From 1912898ec41dca85dc700b86a7418ccbaba6008b921fb2b8d2cb5aba1e840dfc Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Fri, 30 Jul 2010 11:59:59 +0000 Subject: [PATCH 001/991] Accepting request 43879 from Base:System Copy from Base:System/systemd based on submit request 43879 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/43879 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=1 --- ...s390_con3270_disable_ANSI_colour_esc.patch | 180 - ...sh-for-reboot-or-hddown-for-poweroff.patch | 84 - ...network-device-after-NFS-mount-units.patch | 315 - ...id-abort-due-timeout-at-user-service.patch | 21 - 0001-bnc888612-logind-polkit-acpi.patch | 101 - ...systemctl-completion-ignore-at-names.patch | 17 - ...-do-not-allow-overlong-machine-names.patch | 37 - ...XDG_RUNTIME_DIR_of_the_original_user.patch | 43 - ...t-install-sulogin-unit-with-poweroff.patch | 19 - 0014-journald-with-journaling-FS.patch | 75 - ...pletion-smart-to-be-able-to-redirect.patch | 272 - ...ate-by-id-scsi-links-for-ATA-devices.patch | 24 - 1003-udev-netlink-null-rules.patch | 22 - ...fault-links-for-primary-cd_dvd-drive.patch | 24 - 1006-udev-always-rename-network.patch | 77 - 1007-physical-hotplug-cpu-and-memory.patch | 37 - ...kip-btrfs-check-if-devices-are-not-r.patch | 24 - ...device-link-creation-on-multipath-de.patch | 40 - ...-Ignore-devices-with-SYSTEMD_READY-0.patch | 29 - ...dev-exclude-cd-dvd-from-block-device.patch | 20 - ...r-target-name-for-btrfs-device-ready.patch | 45 - ...fault-permissions-for-GenWQE-devices.patch | 15 - ...lity-links-for-truncated-by-id-links.patch | 175 - ...t-ssd-disk-to-use-deadline-scheduler.patch | 33 - 1096-new-udev-root-symlink-generator.patch | 108 - ...-increase-maximum-number-of-children.patch | 26 - ...stemd-networkd-alias-network-service.patch | 14 - Correct_assert_on_unexpected_error_code.patch | 21 - ...es-permissions-to-follow-openSUSE-po.patch | 40 - after-local.service | 17 - allow-multiple-sulogin-to-be-started.patch | 47 - apply-ACL-for-nvidia-device-nodes.patch | 31 - apply-ACL-for-nvidia-uvm-device-node.patch | 23 - avoid-divide-by-zero-sigtrap.patch | 34 - ...andom-hangs-on-timeouts-due-lost-cwd.patch | 29 - baselibs.conf | 8 - boot-local-start.patch | 17 - ...assword-wall-starts-after-getty-tty1.patch | 25 - ...rtname-is-set-as-hostname-bnc-820213.patch | 31 - ...-boot-prefixed-initscript-bnc-746506.patch | 38 - ...plock-and-compose_table-and-kbd_rate.patch | 216 - ...lock-value-in-etc-sysconfig-keyboard.patch | 193 - ...lang-value-in-etc-sysconfig-language.patch | 72 - hostname-NULL.patch | 13 - insserv-generator.patch | 399 - journald-advice-about-use-of-memory.patch | 138 - kbd-model-map.patch | 28 - ...linker-find-libudev-for-libdevmapper.patch | 19 - ...et-properties-only-once-to-copy-them.patch | 84 - libgcrypt.m4 | 123 - macros.systemd.upstream | 105 - ....service-conflict-with-syslog.socket.patch | 25 - nss-myhostname-config | 31 - parse-crypttab-for-noauto-option.patch | 67 - ...-quit-and-wait-for-emergency-service.patch | 46 - portmap-wants-rpcbind-socket.patch | 13 - pre_checkin.sh | 16 - rescue-emergency-target-conflicts.patch | 29 - respect-nfs-bg-option.patch | 22 - ...r-lock-bind-mount-if-they-aren-t-sym.patch | 87 - set-and-use-default-logconsole.patch | 175 - shut-up-rpmlint-on-var-log-journal.patch | 25 - suse-sysv-bootd-support.diff | 80 - systemctl-set-default-target.patch | 30 - systemd-4.tar.bz2 | 3 + systemd-add-user-keep.patch | 92 - systemd-dbus-system-bus-address.patch | 33 - systemd-install-compat_pkgconfig-always.patch | 34 - systemd-mini-rpmlintrc | 29 - systemd-mini.changes | 7278 ----------------- systemd-mini.spec | 1573 ---- systemd-pam_config.patch | 32 - systemd-remount-tmpfs | 15 - systemd-rpmlintrc | 31 +- systemd-sysv-convert | 179 - systemd-sysv-install | 26 - systemd-tmp-safe-defaults.patch | 26 - systemd.changes | 7053 ---------------- systemd.spec | 1571 +--- tomcat6-var-lock-subsys-legacy.patch | 20 - tty-ask-password-agent-on-console.patch | 376 - ...addentropy-ioctl-to-load-random-seed.patch | 155 - v228.tar.gz | 3 - vhangup-on-all-consoles.patch | 40 - watch_resolv.conf_for_become_changed.patch | 153 - 85 files changed, 107 insertions(+), 22889 deletions(-) delete mode 100644 0001-On_s390_con3270_disable_ANSI_colour_esc.patch delete mode 100644 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch delete mode 100644 0001-add-network-device-after-NFS-mount-units.patch delete mode 100644 0001-avoid-abort-due-timeout-at-user-service.patch delete mode 100644 0001-bnc888612-logind-polkit-acpi.patch delete mode 100644 0001-let-systemctl-completion-ignore-at-names.patch delete mode 100644 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch delete mode 100644 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch delete mode 100644 0010-do-not-install-sulogin-unit-with-poweroff.patch delete mode 100644 0014-journald-with-journaling-FS.patch delete mode 100644 0019-make-completion-smart-to-be-able-to-redirect.patch delete mode 100644 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch delete mode 100644 1003-udev-netlink-null-rules.patch delete mode 100644 1005-create-default-links-for-primary-cd_dvd-drive.patch delete mode 100644 1006-udev-always-rename-network.patch delete mode 100644 1007-physical-hotplug-cpu-and-memory.patch delete mode 100644 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch delete mode 100644 1012-Skip-persistent-device-link-creation-on-multipath-de.patch delete mode 100644 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch delete mode 100644 1037-udev-exclude-cd-dvd-from-block-device.patch delete mode 100644 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch delete mode 100644 1062-rules-set-default-permissions-for-GenWQE-devices.patch delete mode 100644 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch delete mode 100644 1095-set-ssd-disk-to-use-deadline-scheduler.patch delete mode 100644 1096-new-udev-root-symlink-generator.patch delete mode 100644 1097-udevd-increase-maximum-number-of-children.patch delete mode 100644 1098-systemd-networkd-alias-network-service.patch delete mode 100644 Correct_assert_on_unexpected_error_code.patch delete mode 100644 Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch delete mode 100644 after-local.service delete mode 100644 allow-multiple-sulogin-to-be-started.patch delete mode 100644 apply-ACL-for-nvidia-device-nodes.patch delete mode 100644 apply-ACL-for-nvidia-uvm-device-node.patch delete mode 100644 avoid-divide-by-zero-sigtrap.patch delete mode 100644 avoid-random-hangs-on-timeouts-due-lost-cwd.patch delete mode 100644 baselibs.conf delete mode 100644 boot-local-start.patch delete mode 100644 ensure-ask-password-wall-starts-after-getty-tty1.patch delete mode 100644 ensure-shortname-is-set-as-hostname-bnc-820213.patch delete mode 100644 fix-support-for-boot-prefixed-initscript-bnc-746506.patch delete mode 100644 handle-disable_caplock-and-compose_table-and-kbd_rate.patch delete mode 100644 handle-numlock-value-in-etc-sysconfig-keyboard.patch delete mode 100644 handle-root_uses_lang-value-in-etc-sysconfig-language.patch delete mode 100644 hostname-NULL.patch delete mode 100644 insserv-generator.patch delete mode 100644 journald-advice-about-use-of-memory.patch delete mode 100644 kbd-model-map.patch delete mode 100644 let-linker-find-libudev-for-libdevmapper.patch delete mode 100644 let-vconsole-setup-get-properties-only-once-to-copy-them.patch delete mode 100644 libgcrypt.m4 delete mode 100644 macros.systemd.upstream delete mode 100644 make-emergency.service-conflict-with-syslog.socket.patch delete mode 100644 nss-myhostname-config delete mode 100644 parse-crypttab-for-noauto-option.patch delete mode 100644 plymouth-quit-and-wait-for-emergency-service.patch delete mode 100644 portmap-wants-rpcbind-socket.patch delete mode 100644 pre_checkin.sh delete mode 100644 rescue-emergency-target-conflicts.patch delete mode 100644 respect-nfs-bg-option.patch delete mode 100644 restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch delete mode 100644 set-and-use-default-logconsole.patch delete mode 100644 shut-up-rpmlint-on-var-log-journal.patch delete mode 100644 suse-sysv-bootd-support.diff delete mode 100644 systemctl-set-default-target.patch create mode 100644 systemd-4.tar.bz2 delete mode 100644 systemd-add-user-keep.patch delete mode 100644 systemd-dbus-system-bus-address.patch delete mode 100644 systemd-install-compat_pkgconfig-always.patch delete mode 100644 systemd-mini-rpmlintrc delete mode 100644 systemd-mini.changes delete mode 100644 systemd-mini.spec delete mode 100644 systemd-pam_config.patch delete mode 100644 systemd-remount-tmpfs delete mode 100644 systemd-sysv-convert delete mode 100644 systemd-sysv-install delete mode 100644 systemd-tmp-safe-defaults.patch delete mode 100644 tomcat6-var-lock-subsys-legacy.patch delete mode 100644 tty-ask-password-agent-on-console.patch delete mode 100644 use-rndaddentropy-ioctl-to-load-random-seed.patch delete mode 100644 v228.tar.gz delete mode 100644 vhangup-on-all-consoles.patch delete mode 100644 watch_resolv.conf_for_become_changed.patch diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch deleted file mode 100644 index 3dd400a3..00000000 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ /dev/null @@ -1,180 +0,0 @@ ---- - rules/99-systemd.rules.in | 2 - - src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++-- - src/basic/terminal-util.h | 1 - src/core/manager.c | 24 +++++++++++++++----- - 4 files changed, 74 insertions(+), 8 deletions(-) - - -Index: systemd-228/rules/99-systemd.rules.in -=================================================================== ---- systemd-228.orig/rules/99-systemd.rules.in -+++ systemd-228/rules/99-systemd.rules.in -@@ -7,7 +7,7 @@ - - ACTION=="remove", GOTO="systemd_end" - --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" -+SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" - - SUBSYSTEM=="block", TAG+="systemd" -Index: systemd-228/src/basic/terminal-util.c -=================================================================== ---- systemd-228.orig/src/basic/terminal-util.c -+++ systemd-228/src/basic/terminal-util.c -@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty) - return tty_is_vc(tty); - } - -+bool ansi_console(int fd) { -+ static int cached_ansi_console = -1; -+ -+ if (_likely_(cached_ansi_console >= 0)) -+ return cached_ansi_console; -+ -+ cached_ansi_console = isatty(fd) > 0; -+#if defined(__s390__) || defined(__s390x__) -+ if (cached_ansi_console) { -+ const char *e = getenv("TERM"); -+ if (e != NULL && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { -+ _cleanup_free_ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, -+ "conmode", &mode, NULL); -+ if (r < 0 || mode == NULL || !streq(mode, "3270")) -+ cached_ansi_console = 0; -+ } -+ } -+#endif -+ return cached_ansi_console; -+} -+ - const char *default_term_for_tty(const char *tty) { - assert(tty); - -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; -+ if (tty_is_vc_resolve(tty)) -+ return "TERM=linux"; -+ if (startswith(tty, "/dev/")) -+ tty += 5; -+#if defined (__s390__) || defined (__s390x__) -+ if (streq(tty, "ttyS0")) { -+ _cleanup_free_ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", -+ &mode, NULL); -+ if (r < 0 || mode == NULL || !streq(mode, "3270")) -+ return "TERM=dumb"; -+ if (streq(mode, "3270")) -+ return "TERM=ibm327x"; -+ } -+#endif -+ return "TERM=vt220"; - } - - int fd_columns(int fd) { -@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu - bool on_tty(void) { - static int cached_on_tty = -1; - -- if (_unlikely_(cached_on_tty < 0)) -+ if (_unlikely_(cached_on_tty < 0)) { - cached_on_tty = isatty(STDOUT_FILENO) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_on_tty) { -+ const char *e = getenv("TERM"); -+ if (!e) -+ return cached_on_tty; -+ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_on_tty = 0; -+ } -+ } -+#endif -+ } - - return cached_on_tty; - } -Index: systemd-228/src/basic/terminal-util.h -=================================================================== ---- systemd-228.orig/src/basic/terminal-util.h -+++ systemd-228/src/basic/terminal-util.h -@@ -78,6 +78,7 @@ unsigned lines(void); - void columns_lines_cache_reset(int _unused_ signum); - - bool on_tty(void); -+bool ansi_console(int fd); - - static inline const char *ansi_underline(void) { - return on_tty() ? ANSI_UNDERLINE : ""; -Index: systemd-228/src/core/manager.c -=================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre - - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1)) - --static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { -+static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { - char *p = buffer; - - assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si - if (pos > 1) { - if (pos > 2) - p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_RED); - *p++ = '*'; - } - - if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED); - *p++ = '*'; - } - -@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si - *p++ = '*'; - if (pos < width-1) - p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_NORMAL); -+ if (ansi_console) -+ strcpy(p, ANSI_NORMAL); - } - } - -@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m - } - - static void manager_print_jobs_in_progress(Manager *m) { -+ static int is_ansi_console = -1; - _cleanup_free_ char *job_of_n = NULL; - Iterator i; - Job *j; -@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre - assert(counter == print_nr + 1); - assert(j); - -+ if (_unlikely_(is_ansi_console < 0)) { -+ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ is_ansi_console = 0; -+ else { -+ is_ansi_console = (int)ansi_console(fd); -+ close(fd); -+ } -+ } -+ - cylon_pos = m->jobs_in_progress_iteration % 14; - if (cylon_pos >= 8) - cylon_pos = 14 - cylon_pos; -- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos); -+ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console); - - m->jobs_in_progress_iteration++; - diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch deleted file mode 100644 index f370239f..00000000 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- - src/core/shutdown.c | 4 ++++ - src/systemctl/systemctl.c | 18 ++++++++++++------ - 2 files changed, 16 insertions(+), 6 deletions(-) - -Index: systemd-227/src/core/shutdown.c -=================================================================== ---- systemd-227.orig/src/core/shutdown.c -+++ systemd-227/src/core/shutdown.c -@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) { - } - - reboot(cmd); -+ -+ if (cmd == (int)RB_POWER_OFF) -+ reboot(RB_HALT_SYSTEM); -+ - if (errno == EPERM && in_container) { - /* If we are in a container, and we lacked - * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-227/src/systemctl/systemctl.c -=================================================================== ---- systemd-227.orig/src/systemctl/systemctl.c -+++ systemd-227/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; - static bool arg_no_wtmp = false; - static bool arg_no_wall = false; - static bool arg_no_reload = false; -+static bool arg_no_sync = false; - static bool arg_show_types = false; - static bool arg_ignore_inhibitors = false; - static bool arg_dry = false; -@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha - { "reboot", no_argument, NULL, ARG_REBOOT }, - { "force", no_argument, NULL, 'f' }, - { "wtmp-only", no_argument, NULL, 'w' }, -+ { "no-sync", no_argument, NULL, 'n' }, - { "no-wtmp", no_argument, NULL, 'd' }, - { "no-wall", no_argument, NULL, ARG_NO_WALL }, - {} -@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha - - case 'i': - case 'h': -- case 'n': - /* Compatibility nops */ - break; - -+ case 'n': -+ arg_no_sync = true; -+ break; -+ - case '?': - return -EINVAL; - -@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) { - /* The kernel will automaticall flush ATA disks and suchlike - * on reboot(), but the file systems need to be synce'd - * explicitly in advance. */ -- (void) sync(); -+ if (!arg_no_sync) -+ (void) sync(); - - /* Make sure C-A-D is handled by the kernel from this point - * on... */ -@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) { - - switch (a) { - -- case ACTION_HALT: -- log_info("Halting."); -- (void) reboot(RB_HALT_SYSTEM); -- return -errno; -- - case ACTION_POWEROFF: - log_info("Powering off."); - (void) reboot(RB_POWER_OFF); -+ /* fall-through */ -+ case ACTION_HALT: -+ log_info("Halting."); -+ (void) reboot(RB_HALT_SYSTEM); - return -errno; - - case ACTION_KEXEC: diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch deleted file mode 100644 index dc30e64f..00000000 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ /dev/null @@ -1,315 +0,0 @@ -Avoid possible race on NFS shares in which may that the network devices disappears -before the associated NFS share becomes unmounted (bug #861489). -To do this make sure that sys-subsystem-net-devices-.device used for the -NFS share is added as "After=" dependency to the .mount. - ---- - Makefile.am | 2 - src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/mount-iface.h | 25 +++++++ - src/core/mount.c | 35 +++++++++ - 4 files changed, 233 insertions(+), 2 deletions(-) - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \ - src/core/machine-id-setup.h \ - src/core/mount-setup.c \ - src/core/mount-setup.h \ -+ src/core/mount-iface.c \ -+ src/core/mount-iface.h \ - src/core/kmod-setup.c \ - src/core/kmod-setup.h \ - src/core/loopback-setup.h \ -Index: systemd-228/src/core/mount-iface.c -=================================================================== ---- /dev/null -+++ systemd-228/src/core/mount-iface.c -@@ -0,0 +1,173 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+/* -+ * Find the name of the network interface to which a IP address belongs to. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "log.h" -+#include "def.h" -+#include "mount-iface.h" -+ -+static struct ifaddrs *ifa_list; -+ -+_pure_ static unsigned int mask2prefix(const void* ipv6) -+{ -+ unsigned int nippels = 0; -+ unsigned int i; -+ -+ assert(ipv6); -+ -+ for (i = 0; i < sizeof(struct in6_addr); i++) { -+ uint8_t byte = ((const uint8_t*)ipv6)[i]; -+ if (byte == 0xFF) { -+ nippels += sizeof(uint8_t); -+ continue; -+ } -+ while (byte & 0x80) { -+ nippels++; -+ byte <<= 1; -+ } -+ break; -+ } -+ -+ return nippels; -+} -+ -+static void netmask(unsigned int prefix, const void* in6, void* out6) -+{ -+ unsigned int nippels; -+ unsigned int i; -+ -+ assert(in6); -+ assert(out6); -+ -+ for (i = 0; i < sizeof(struct in6_addr); i++) { -+ nippels = (prefix < sizeof(uint8_t)) ? prefix : sizeof(uint8_t); -+ ((uint8_t*)out6)[i] = ((const uint8_t*)in6)[i] & (0xFF00>>nippels); -+ prefix -= nippels; -+ } -+} -+ -+char *host2iface(const char *ip) -+{ -+ const struct ifaddrs *ifa; -+ uint32_t ip4 = 0; -+ char *ret = NULL; -+ struct search { -+ union { -+ struct in_addr addr; -+ struct in6_addr addr6; -+ }; -+ int family; -+ } host; -+ int r; -+ -+ if (!ifa_list && (getifaddrs(&ifa_list) < 0)) { -+ log_oom(); -+ goto err; -+ } -+ -+ if (strchr(ip, ':')) { -+ r = inet_pton(AF_INET6, ip, &host.addr6); -+ host.family = AF_INET6; -+ } else { -+ r = inet_pton(AF_INET, ip, &host.addr); -+ host.family = AF_INET; -+ } -+ -+ if (r < 0) { -+ log_error("Failed to convert IP address %s from text to binary: %m", ip); -+ goto err; -+ } -+ -+ for (ifa = ifa_list; ifa != NULL; ifa = ifa->ifa_next) { -+ -+ if (!ifa->ifa_addr) -+ continue; -+ if (ifa->ifa_flags & IFF_POINTOPOINT) -+ continue; -+ if (!ifa->ifa_addr) -+ continue; -+ if (!ifa->ifa_netmask) -+ continue; -+ -+ if (ifa->ifa_addr->sa_family == AF_INET) { -+ uint32_t addr, dest, mask; -+ -+ if (host.family != AF_INET) -+ continue; -+ if (!ifa->ifa_broadaddr) -+ continue; -+ -+ if (!ip4) -+ ip4 = (uint32_t)ntohl(host.addr.s_addr); -+ -+ addr = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr); -+ if ((addr & 0xFF000000) == 0x7F000000) /* IPV4 loopback */ -+ continue; -+ -+ mask = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_netmask)->sin_addr.s_addr); -+ dest = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_broadaddr)->sin_addr.s_addr); -+ if ((ip4 & mask) != (dest & mask)) -+ continue; -+ -+ ret = ifa->ifa_name; -+ break; -+ } else if (ifa->ifa_addr->sa_family == AF_INET6) { -+ struct in6_addr *addr, *mask, dest, ip6; -+ unsigned int prefix; -+ -+ if (host.family != AF_INET6) -+ continue; -+ -+ addr = &((struct sockaddr_in6*)ifa->ifa_addr)->sin6_addr; -+ mask = &((struct sockaddr_in6*)ifa->ifa_netmask)->sin6_addr; -+ prefix = mask2prefix(mask); -+ -+ netmask(prefix, addr, &dest); -+ netmask(prefix, &host.addr6, &ip6); -+ -+ if (memcmp(&dest, &ip6, sizeof(struct in6_addr)) != 0) -+ continue; -+ -+ ret = ifa->ifa_name; -+ break; -+ } -+ } -+err: -+ return ret; -+} -+ -+void freeroutes(void) -+{ -+ if (ifa_list) -+ freeifaddrs(ifa_list); -+ ifa_list = NULL; -+} -Index: systemd-228/src/core/mount-iface.h -=================================================================== ---- /dev/null -+++ systemd-228/src/core/mount-iface.h -@@ -0,0 +1,25 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+#pragma once -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+char *host2iface(const char *ip); -+void freeroutes(void); -Index: systemd-228/src/core/mount.c -=================================================================== ---- systemd-228.orig/src/core/mount.c -+++ systemd-228/src/core/mount.c -@@ -36,6 +36,7 @@ - #include "manager.h" - #include "mkdir.h" - #include "mount-setup.h" -+#include "mount-iface.h" - #include "mount-util.h" - #include "mount.h" - #include "parse-util.h" -@@ -1344,8 +1345,9 @@ static int mount_setup_unit( - _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; - bool load_extras = false; - MountParameters *p; -- bool delete, changed = false; -+ bool delete, changed = false, isnetwork; - Unit *u; -+ char *c; - int r; - - assert(m); -@@ -1370,6 +1372,8 @@ static int mount_setup_unit( - if (r < 0) - return r; - -+ isnetwork = fstype_is_network(fstype); -+ - u = manager_get_unit(m, e); - if (!u) { - delete = true; -@@ -1397,7 +1401,7 @@ static int mount_setup_unit( - if (m->running_as == MANAGER_SYSTEM) { - const char* target; - -- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; -+ target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; - r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); - if (r < 0) - goto fail; -@@ -1483,6 +1487,32 @@ static int mount_setup_unit( - goto fail; - } - -+ if (isnetwork && (c = strrchr(p->what, ':')) && *(c+1) == '/') { -+ _cleanup_free_ char *opt = strdup(p->options); -+ char *addr; -+ -+ if (opt && (addr = strstr(opt, ",addr="))) { -+ char *colon, *iface; -+ -+ addr += 6; -+ if ((colon = strchr(addr, ','))) -+ *colon = '\0'; -+ -+ iface = host2iface(addr); -+ if (iface) { -+ _cleanup_free_ char* target = NULL; -+ if (asprintf(&target, "sys-subsystem-net-devices-%s.device", iface) < 0) -+ log_oom(); -+ else { -+ r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); -+ if (r < 0) -+ log_unit_error(u, "Failed to add dependency on %s, ignoring: %s", -+ target, strerror(-r)); -+ } -+ } -+ } -+ } -+ - if (changed) - unit_add_to_dbus_queue(u); - -@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf - if (r == 0 && k < 0) - r = k; - } -+ freeroutes(); /* Just in case of using the routing table with host2iface() */ - - return r; - } diff --git a/0001-avoid-abort-due-timeout-at-user-service.patch b/0001-avoid-abort-due-timeout-at-user-service.patch deleted file mode 100644 index af7fed5d..00000000 --- a/0001-avoid-abort-due-timeout-at-user-service.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - src/login/logind-session.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: systemd-221/src/login/logind-session.c -=================================================================== ---- systemd-221.orig/src/login/logind-session.c -+++ systemd-221/src/login/logind-session.c -@@ -548,6 +548,12 @@ int session_start(Session *s) { - if (r < 0) - return r; - -+ if (!s->user->slice) { -+ if (errno) -+ return -errno; -+ return -ESTALE; -+ } -+ - /* Create cgroup */ - r = session_start_scope(s); - if (r < 0) diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch deleted file mode 100644 index 8729f452..00000000 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- - src/login/logind-action.c | 5 +++++ - src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- - 2 files changed, 28 insertions(+), 8 deletions(-) - -Index: systemd-227/src/login/logind-action.c -=================================================================== ---- systemd-227.orig/src/login/logind-action.c -+++ systemd-227/src/login/logind-action.c -@@ -85,6 +85,11 @@ int manager_handle_action( - - /* If the key handling is inhibited, don't do anything */ - if (inhibit_key > 0) { -+ if (inhibit_key == INHIBIT_HANDLE_POWER_KEY) { -+ int fd; -+ fd = open("/run/systemd/acpi-shutdown", O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR); -+ close(fd); -+ } - if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { - log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); - return 0; -Index: systemd-227/src/login/logind-dbus.c -=================================================================== ---- systemd-227.orig/src/login/logind-dbus.c -+++ systemd-227/src/login/logind-dbus.c -@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds( - const char *action, - const char *action_multiple_sessions, - const char *action_ignore_inhibit, -- sd_bus_error *error) { -+ sd_bus_error *error, const char *sleep_verb) { - - _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; -- bool multiple_sessions, blocked; -+ bool multiple_sessions, blocked, shutdown_through_acpi; - uid_t uid; -- int r; -+ int r, fd; -+ struct stat buf; - - assert(m); - assert(message); -@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds( - multiple_sessions = r > 0; - blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); - -- if (multiple_sessions && action_multiple_sessions) { -+ fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); -+ if (fd >= 0) { -+ shutdown_through_acpi = fstat(fd, &buf) == 0 && -+ time(NULL) - buf.st_mtime <= 65 && -+ sleep_verb == NULL; -+ close(fd); -+ unlink ("/run/systemd/acpi-shutdown"); -+ } -+ else -+ shutdown_through_acpi = false; -+ -+ if (multiple_sessions && action_multiple_sessions && -+ !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds( - return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - -- if (blocked && action_ignore_inhibit) { -+ if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds( - return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - -- if (!multiple_sessions && !blocked && action) { -+ if (!multiple_sessions && !blocked && action && -+ !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep( - } - - r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, -- action_ignore_inhibit, error); -+ action_ignore_inhibit, error, sleep_verb); - if (r != 0) - return r; - -@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); - - r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, -- action, action_multiple_sessions, action_ignore_inhibit, error); -+ action, action_multiple_sessions, -+ action_ignore_inhibit, error, "UNUSED"); - if (r != 0) - return r; - diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch deleted file mode 100644 index 4159038e..00000000 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - shell-completion/bash/systemctl.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/shell-completion/bash/systemctl.in -=================================================================== ---- systemd-221.orig/shell-completion/bash/systemctl.in -+++ systemd-221/shell-completion/bash/systemctl.in -@@ -43,7 +43,7 @@ __filter_units_by_property () { - local units=("$@") - local props - IFS=$'\n' read -rd '' -a props < \ -- <(__systemctl $mode show --property "$property" -- "${units[@]}") -+ <(__systemctl $mode show --property "$property" -- "${units[@]}" 2> /dev/null) - for ((i=0; $i < ${#units[*]}; i++)); do - if [[ "${props[i]}" = "$property=$value" ]]; then - echo " ${units[i]}" diff --git a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch deleted file mode 100644 index f6af8080..00000000 --- a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 23 Nov 2015 13:59:43 -0500 -Subject: [PATCH] nss-mymachines: do not allow overlong machine names - -https://github.com/systemd/systemd/issues/2002 ---- - src/nss-mymachines/nss-mymachines.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c -index 969fa96..c98a959 100644 ---- a/src/nss-mymachines/nss-mymachines.c -+++ b/src/nss-mymachines/nss-mymachines.c -@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_uid(e + 1, &uid); - if (r < 0) - goto not_found; -@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_gid(e + 1, &gid); - if (r < 0) - goto not_found; --- -2.1.4 - diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch deleted file mode 100644 index 0375d595..00000000 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Werner Fink -Date: Wed Feb 26 14:36:27 UTC 2014 -Subject: Do not clobber XDG_RUNTIME_DIR if su command preserve environment - -Make sure that even if a su command without option -l or with option -m -is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. - -This belongs to BNC#852015 and also to BNC#855160 - ---- - src/login/pam_systemd.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -Index: systemd-221/src/login/pam_systemd.c -=================================================================== ---- systemd-221.orig/src/login/pam_systemd.c -+++ systemd-221/src/login/pam_systemd.c -@@ -445,6 +445,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); - if (r != PAM_SUCCESS) - return r; -+ } else if (getenv("XDG_RUNTIME_DIR")) { -+ _cleanup_free_ char *p = NULL; -+ -+ /* Make sure that after running YaST2 or the xdg-su scripts -+ * the runtime directory is not clobbered. Even a normal su -+ * command without -l or with -m may clobber. */ -+ -+ if ((r = asprintf(&p, "/run/user/%lu", (unsigned long)pw->pw_uid)) < 0) -+ return PAM_BUF_ERR; -+ -+ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", p, 0); -+ if (r != PAM_SUCCESS) { -+ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); -+ return r; -+ } -+ -+ r = export_legacy_dbus_address(handle, pw->pw_uid, p); -+ if (r != PAM_SUCCESS) -+ return r; - } - - if (!isempty(seat)) { diff --git a/0010-do-not-install-sulogin-unit-with-poweroff.patch b/0010-do-not-install-sulogin-unit-with-poweroff.patch deleted file mode 100644 index af9d7f53..00000000 --- a/0010-do-not-install-sulogin-unit-with-poweroff.patch +++ /dev/null @@ -1,19 +0,0 @@ -| -| Belongs to bnc#849071 that is do not install console-shell.service -| in any system target as this will cause automatic poweroff at boot. -| ---- - units/console-shell.service.m4.in | 3 --- - 1 file changed, 3 deletions(-) - -Index: systemd-221/units/console-shell.service.m4.in -=================================================================== ---- systemd-221.orig/units/console-shell.service.m4.in -+++ systemd-221/units/console-shell.service.m4.in -@@ -28,6 +28,3 @@ StandardError=inherit - KillMode=process - IgnoreSIGPIPE=no - SendSIGHUP=yes -- --[Install] --WantedBy=getty.target diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch deleted file mode 100644 index 00577b3d..00000000 --- a/0014-journald-with-journaling-FS.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Augmented description [jengelh@inai.de]: -Disable COW on journal files, as that is naturally leading to a lot -of unwanted fragmentation on btrfs. -No word on compression… ---- - src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -Index: systemd-227/src/journal/journald-server.c -=================================================================== ---- systemd-227.orig/src/journal/journald-server.c -+++ systemd-227/src/journal/journald-server.c -@@ -24,6 +24,7 @@ - #include - #endif - #include -+#include - #include - #include - #include -@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd - dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0); - } - -+/* -+ * On journaling and/or compressing file systems, avoid doubling the efforts -+ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every -+ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like Btrfs does). -+ * -+ * …but src/journal/journal-file.c already sets NOCOW too…⸘ -+ */ -+static void disable_cow(const char *dir, const Server *serv) -+{ -+ unsigned long flags; -+ int fd = open(dir, O_DIRECTORY); -+ -+ if (fd < 0) -+ return; -+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ unsigned long old = flags; -+ if (!(flags & FS_NOATIME_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0) -+ flags |= FS_NOATIME_FL; -+ if (!(flags & FS_NOCOW_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0) -+ flags |= FS_NOCOW_FL; -+ if (!(flags & FS_NOCOMP_FL) && serv->compress) { -+ flags &= ~FS_COMPR_FL; -+ flags |= FS_NOCOMP_FL; -+ } -+ if (old != flags) -+ ioctl(fd, FS_IOC_SETFLAGS, flags); -+ } -+ close(fd); -+} -+ - void server_dispatch_message( - Server *s, - struct iovec *iovec, unsigned n, unsigned m, -@@ -948,6 +982,7 @@ static int system_journal_open(Server *s - - fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s)); - (void) mkdir(fn, 0755); -+ disable_cow(fn, s); - - fn = strjoina(fn, "/system.journal"); - r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch deleted file mode 100644 index c8ab5fa7..00000000 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ /dev/null @@ -1,272 +0,0 @@ ---- - shell-completion/bash/coredumpctl | 6 +++++- - shell-completion/bash/hostnamectl | 6 +++++- - shell-completion/bash/journalctl | 6 +++++- - shell-completion/bash/kernel-install | 13 ++++++++++++- - shell-completion/bash/localectl | 6 +++++- - shell-completion/bash/loginctl | 6 +++++- - shell-completion/bash/systemctl.in | 6 +++++- - shell-completion/bash/systemd-analyze | 6 +++++- - shell-completion/bash/systemd-run | 14 +++++++++++++- - shell-completion/bash/timedatectl | 6 +++++- - shell-completion/bash/udevadm | 6 +++++- - 11 files changed, 70 insertions(+), 11 deletions(-) - -Index: systemd-228/shell-completion/bash/coredumpctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/coredumpctl -+++ systemd-228/shell-completion/bash/coredumpctl -@@ -44,6 +44,10 @@ _coredumpctl() { - [DUMP]='dump gdb' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" '--output -o'; then - comps=$( compgen -A file -- "$cur" ) - compopt -o filenames -@@ -82,4 +86,4 @@ _coredumpctl() { - return 0 - } - --complete -F _coredumpctl coredumpctl -+complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd-228/shell-completion/bash/hostnamectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/hostnamectl -+++ systemd-228/shell-completion/bash/hostnamectl -@@ -30,6 +30,10 @@ _hostnamectl() { - local OPTS='-h --help --version --transient --static --pretty - --no-ask-password -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if [[ $cur = -* ]]; then - COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) - return 0 -@@ -61,4 +65,4 @@ _hostnamectl() { - return 0 - } - --complete -F _hostnamectl hostnamectl -+complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd-228/shell-completion/bash/journalctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/journalctl -+++ systemd-228/shell-completion/bash/journalctl -@@ -56,6 +56,10 @@ _journalctl() { - --root -M --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then - case $prev in - --boot|--this-boot|-b) -@@ -121,4 +125,4 @@ _journalctl() { - fi - } - --complete -F _journalctl journalctl -+complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd-228/shell-completion/bash/kernel-install -=================================================================== ---- systemd-228.orig/shell-completion/bash/kernel-install -+++ systemd-228/shell-completion/bash/kernel-install -@@ -18,11 +18,22 @@ - # You should have received a copy of the GNU Lesser General Public License - # along with systemd; If not, see . - -+__contains_word () { -+ local w word=$1; shift -+ for w in "$@"; do -+ [[ $w = "$word" ]] && return -+ done -+} -+ - _kernel_install() { - local comps - local MACHINE_ID - local cur=${COMP_WORDS[COMP_CWORD]} - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - case $COMP_CWORD in - 1) - comps="add remove" -@@ -47,4 +58,4 @@ _kernel_install() { - return 0 - } - --complete -F _kernel_install kernel-install -+complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd-228/shell-completion/bash/localectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/localectl -+++ systemd-228/shell-completion/bash/localectl -@@ -36,6 +36,10 @@ _localectl() { - local OPTS='-h --help --version --no-convert --no-pager --no-ask-password - -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" $OPTS; then - case $prev in - --host|-H) -@@ -89,4 +93,4 @@ _localectl() { - return 0 - } - --complete -F _localectl localectl -+complete -o default -o bashdefault -F _localectl localectl -Index: systemd-228/shell-completion/bash/loginctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/loginctl -+++ systemd-228/shell-completion/bash/loginctl -@@ -38,6 +38,10 @@ _loginctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" ${OPTS[ARG]}; then - case $prev in - --signal|-s) -@@ -107,4 +111,4 @@ _loginctl () { - return 0 - } - --complete -F _loginctl loginctl -+complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd-228/shell-completion/bash/systemctl.in -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemctl.in -+++ systemd-228/shell-completion/bash/systemctl.in -@@ -104,6 +104,10 @@ _systemctl () { - --preset-mode -n --lines -o --output -M --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "--user" ${COMP_WORDS[*]}; then - mode=--user - elif __contains_word "--global" ${COMP_WORDS[*]}; then -@@ -280,4 +284,4 @@ _systemctl () { - return 0 - } - --complete -F _systemctl systemctl -+complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd-228/shell-completion/bash/systemd-analyze -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-analyze -+++ systemd-228/shell-completion/bash/systemd-analyze -@@ -47,6 +47,10 @@ _systemd_analyze() { - [VERIFY]='verify' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - _init_completion || return - - for ((i=0; i < COMP_CWORD; i++)); do -@@ -114,4 +118,4 @@ _systemd_analyze() { - return 0 - } - --complete -F _systemd_analyze systemd-analyze -+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd-228/shell-completion/bash/systemd-run -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-run -+++ systemd-228/shell-completion/bash/systemd-run -@@ -17,6 +17,13 @@ - # You should have received a copy of the GNU Lesser General Public License - # along with systemd; If not, see . - -+__contains_word () { -+ local w word=$1; shift -+ for w in "$@"; do -+ [[ $w = "$word" ]] && return -+ done -+} -+ - __systemctl() { - local mode=$1; shift 1 - systemctl $mode --full --no-legend "$@" -@@ -40,6 +47,11 @@ _systemd_run() { - - local mode=--system - local i -+ -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - local opts_with_values=( - --unit --description --slice --service-type -H --host -M --machine -p --property --on-active - --on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property -@@ -114,4 +126,4 @@ _systemd_run() { - return 0 - } - --complete -F _systemd_run systemd-run -+complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd-228/shell-completion/bash/timedatectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/timedatectl -+++ systemd-228/shell-completion/bash/timedatectl -@@ -30,6 +30,10 @@ _timedatectl() { - local OPTS='-h --help --version --adjust-system-clock --no-pager - --no-ask-password -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" $OPTS; then - case $prev in - --host|-H) -@@ -73,4 +77,4 @@ _timedatectl() { - return 0 - } - --complete -F _timedatectl timedatectl -+complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd-228/shell-completion/bash/udevadm -=================================================================== ---- systemd-228.orig/shell-completion/bash/udevadm -+++ systemd-228/shell-completion/bash/udevadm -@@ -36,6 +36,10 @@ _udevadm() { - - local verbs=(info trigger settle control monitor hwdb test-builtin test) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - for ((i=0; i < COMP_CWORD; i++)); do - if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" && - ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then -@@ -94,4 +98,4 @@ _udevadm() { - return 0 - } - --complete -F _udevadm udevadm -+complete -o default -o bashdefault -F _udevadm udevadm diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch deleted file mode 100644 index cea9163a..00000000 --- a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Milasan -Date: Wed, 27 Jun 2012 08:55:59 +0000 -Subject: rules create by id scsi links for ATA devices - -Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) ---- - rules/60-persistent-storage.rules | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -36,6 +36,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", - KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" - KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - -+# scsi compat links for ATA devices -+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" -+ - # FireWire - KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" - KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch deleted file mode 100644 index 92bfef99..00000000 --- a/1003-udev-netlink-null-rules.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Robert Milasan -Date: Mon, 6 Aug 2012 13:35:34 +0000 -Subject: udev netlink null rules - -udevd race for netlink events (bnc#774646) ---- - src/udev/udevd.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/src/udev/udevd.c -=================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -917,6 +917,8 @@ static int on_uevent(sd_event_source *s, - dev = udev_monitor_receive_device(manager->monitor); - if (dev) { - udev_device_ensure_usec_initialized(dev, NULL); -+ if (manager->rules == NULL) -+ manager->rules = udev_rules_new(manager->udev, arg_resolve_names); - r = event_queue_insert(manager, dev); - if (r < 0) - udev_device_unref(dev); diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch deleted file mode 100644 index 868247ed..00000000 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Milasan -Date: Tue, 12 Feb 2013 09:16:23 +0000 -Subject: create default links for primary cd_dvd drive - -cdrom_id: created links for the default cd/dvd drive (bnc#783054). ---- - rules/60-cdrom_id.rules | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -Index: systemd-221/rules/60-cdrom_id.rules -=================================================================== ---- systemd-221.orig/rules/60-cdrom_id.rules -+++ systemd-221/rules/60-cdrom_id.rules -@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ - # stale mounts after ejecting - ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" - --KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" - - LABEL="cdrom_end" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch deleted file mode 100644 index 36bb93ba..00000000 --- a/1006-udev-always-rename-network.patch +++ /dev/null @@ -1,77 +0,0 @@ -From: Robert Milasan -Cc: Werner Fink -Subject: udev always rename network - -Date: Thu, 28 Mar 2013 09:24:43 +0000 -udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - -Date: Tue, 4 Mar 2014 10:29:21 +0000 -Port the patch of Robert to systemd v210 and test it out. - ---- - src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - - -Index: systemd-221/src/udev/udev-event.c -=================================================================== ---- systemd-221.orig/src/udev/udev-event.c -+++ systemd-221/src/udev/udev-event.c -@@ -796,20 +796,53 @@ out: - static int rename_netif(struct udev_event *event) { - struct udev_device *dev = event->dev; - char name[IFNAMSIZ]; -+ char interim[IFNAMSIZ], *ptr = &interim[0]; - const char *oldname; -- int r; -+ int r, loop; - - oldname = udev_device_get_sysname(dev); - - strscpy(name, IFNAMSIZ, event->name); - - r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); -- if (r < 0) -+ if (r == 0) { -+ log_info("renamed network interface %s to %s\n", oldname, name); -+ return r; -+ } else if (r != -EEXIST) { - return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name); -+ } - -- log_debug("renamed network interface '%s' to '%s'", oldname, name); -+ /* free our own name, another process may wait for us */ -+ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); - -- return 0; -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim); -+ if (r < 0) { -+ log_error("error changing net interface name %s to %s: %s", -+ oldname, interim, strerror(-r)); -+ return r; -+ } -+ -+ /* log temporary name */ -+ log_info("renamed network interface %s to %s\n", oldname, interim); -+ -+ loop = 90 * 20; -+ while (loop--) { -+ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; -+ nanosleep(&duration, NULL); -+ -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); -+ if (r == 0) { -+ log_info("renamed network interface %s to %s\n", interim, name); -+ break; -+ } -+ -+ if (r != -EEXIST) { -+ log_error("error changing net interface name %s to %s: %s", -+ interim, name, strerror(-r)); -+ break; -+ } -+ } -+ return r; - } - - void udev_event_execute_rules(struct udev_event *event, diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch deleted file mode 100644 index 5365f17c..00000000 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- - Makefile.am | 4 ++++ - rules/80-hotplug-cpu-mem.rules | 12 ++++++++++++ - 2 files changed, 16 insertions(+) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -3841,6 +3841,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/80-hotplug-cpu-mem.rules -+ -+# ------------------------------------------------------------------------------ - mtd_probe_SOURCES = \ - src/udev/mtd_probe/mtd_probe.c \ - src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-221/rules/80-hotplug-cpu-mem.rules -=================================================================== ---- /dev/null -+++ systemd-221/rules/80-hotplug-cpu-mem.rules -@@ -0,0 +1,12 @@ -+# do not edit this file, it will be overwritten on update -+ -+# Hotplug physical CPU -+SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ -+ ATTR{online}="1" -+ -+# Hotplug physical memory -+SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ -+ ATTR{state}="online", TAG+="tmpfs" -+ -+# -+TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" diff --git a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch deleted file mode 100644 index 9d5a39f0..00000000 --- a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 10 Apr 2014 11:10:41 +0200 -Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready - -If any devices are marked with 'SYSTEMD_READY=0' then -we shouldn't run any btrfs check on them. - ---- - rules/64-btrfs.rules | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/rules/64-btrfs.rules -=================================================================== ---- systemd-221.orig/rules/64-btrfs.rules -+++ systemd-221/rules/64-btrfs.rules -@@ -3,6 +3,7 @@ - SUBSYSTEM!="block", GOTO="btrfs_end" - ACTION=="remove", GOTO="btrfs_end" - ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" -+ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" - - # let the kernel know about this btrfs filesystem, and check if it is complete - IMPORT{builtin}="btrfs ready $devnode" diff --git a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch deleted file mode 100644 index c5bd4a13..00000000 --- a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 10 Apr 2014 11:14:20 +0200 -Subject: [PATCH 2/2] Skip persistent device link creation on multipath device - paths - -When a device is marked as a multipath device path by setting -DM_MULTIPATH_DEVICE_PATH="1" udev should not create any -persistent symlinks to that device. -Otherwise systemd will get confused about which device to use. - ---- - rules/60-persistent-storage.rules | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}! - # SCSI devices - KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" - KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" --KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" --KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" -+KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" -+KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - - # scsi compat links for ATA devices - KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -@@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!= - KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ - IMPORT{builtin}="blkid --noraid" - -+# Skip blkid on multipath device paths -+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" -+ - # probe filesystem metadata of disks - KERNEL!="sr*", IMPORT{builtin}="blkid" - diff --git a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch deleted file mode 100644 index 400cd94d..00000000 --- a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c9af1be90db5a29ac86605c67bc2bb4bc5780520 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 12 Jun 2014 12:25:03 +0200 -Subject: [PATCH] 99-systemd.rules: Ignore devices with 'SYSTEMD_READY=0' - -Whenever a rule sets 'SYSTEMD_READY=0' it tries to indicate -that systemd should ignore this device. So we should not -set the 'systemd' tag in these cases; otherwise systemd -will pick up the device. - -References: bnc#881942 - -Signed-off-by: Hannes Reinecke ---- - rules/99-systemd.rules.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/rules/99-systemd.rules.in -=================================================================== ---- systemd-221.orig/rules/99-systemd.rules.in -+++ systemd-221/rules/99-systemd.rules.in -@@ -10,6 +10,7 @@ ACTION=="remove", GOTO="systemd_end" - SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" - -+SUBSYSTEM=="block", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" - SUBSYSTEM=="block", TAG+="systemd" - SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" - diff --git a/1037-udev-exclude-cd-dvd-from-block-device.patch b/1037-udev-exclude-cd-dvd-from-block-device.patch deleted file mode 100644 index 2b001518..00000000 --- a/1037-udev-exclude-cd-dvd-from-block-device.patch +++ /dev/null @@ -1,20 +0,0 @@ -Exclude cd/dvd as well (bnc#882714) - ---- - src/udev/udevd.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/src/udev/udevd.c -=================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -1022,7 +1022,8 @@ static int synthesize_change(struct udev - - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && -- !startswith(udev_device_get_sysname(dev), "dm-")) { -+ !startswith(udev_device_get_sysname(dev), "dm-") && -+ !startswith(udev_device_get_sysname(dev), "sr")) { - bool part_table_read = false; - bool has_partitions = false; - int fd; diff --git a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch deleted file mode 100644 index 02ead8c8..00000000 --- a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Jeff Mahoney -Subject: udev: use device mapper target name for btrfs device ready -References: bnc#888215 - -When udev gets a change event for a block device, it calls the builtin -btrfs helper to scan it for a btrfs file system. If the file system was -mounted using a device mapper node, mount(8) will have looked up the -device mapper table and used the /dev/mapper/ node for mount. - -If something like partprobe runs, and then causes change events to be -handled, the btrfs ready event is handled using /dev/dm-N instead of -the device mapper named node. Btrfs caches the last name passed to -the scanning ioctl and uses that to report the device name for -things like /proc/mounts. - -So, after running partprobe we go from: -/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache) -... to ... -/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache) - -This doesn't apply only to LVM device, but multipath as well. - -If the device is a DM device, udev will have already cached the table name -from sysfs and we can use that to pass /dev/mapper/ to the builtin -so that the correct name is used. - -Signed-off-by: Jeff Mahoney ---- - rules/64-btrfs.rules | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/rules/64-btrfs.rules -=================================================================== ---- systemd-221.orig/rules/64-btrfs.rules -+++ systemd-221/rules/64-btrfs.rules -@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en - ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" - - # let the kernel know about this btrfs filesystem, and check if it is complete --IMPORT{builtin}="btrfs ready $devnode" -+ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode" -+ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}" - - # mark the device as not ready to be used by the system - ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0" diff --git a/1062-rules-set-default-permissions-for-GenWQE-devices.patch b/1062-rules-set-default-permissions-for-GenWQE-devices.patch deleted file mode 100644 index 80c434dc..00000000 --- a/1062-rules-set-default-permissions-for-GenWQE-devices.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - rules/50-udev-default.rules | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/rules/50-udev-default.rules -=================================================================== ---- systemd-221.orig/rules/50-udev-default.rules -+++ systemd-221/rules/50-udev-default.rules -@@ -74,4 +74,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st - - KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" - -+KERNEL=="genwqe*", MODE="0666" -+ - LABEL="default_end" diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch deleted file mode 100644 index 637c2be8..00000000 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ /dev/null @@ -1,175 +0,0 @@ -From: Jeff Mahoney -Subject: udev: add option to generate old 'buggy' serials -References: bnc#886852 - -Prior to udev 184, scsi_id would truncate the last character of the model -string when generating the ID_SERIAL value. If a system was installed -prior to that fix being available in udev, there may be configuration -information that refers to the truncated link. - -This patch adds a --truncated-serial option and a udev rule will created -the old truncated links. - -Signed-off-by: Jeff Mahoney ---- - rules/60-persistent-storage.rules | 4 ++++ - src/udev/scsi_id/scsi_id.c | 15 ++++++++++++++- - src/udev/scsi_id/scsi_id.h | 1 + - src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ - 4 files changed, 32 insertions(+), 7 deletions(-) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -40,6 +40,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par - KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" - KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" - -+# scsi compat links for ATA devices (for compatibility with udev < 184) -+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}" -+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n" -+ - # FireWire - KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" - KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" -Index: systemd-221/src/udev/scsi_id/scsi_id.c -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_id.c -+++ systemd-221/src/udev/scsi_id/scsi_id.c -@@ -43,6 +43,7 @@ static const struct option options[] = { - { "replace-whitespace", no_argument, NULL, 'u' }, - { "sg-version", required_argument, NULL, 's' }, - { "verbose", no_argument, NULL, 'v' }, -+ { "truncated-serial", no_argument, NULL, '9' }, - { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ - { "export", no_argument, NULL, 'x' }, - { "help", no_argument, NULL, 'h' }, -@@ -54,6 +55,7 @@ static bool dev_specified = false; - static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config"; - static enum page_code default_page_code = PAGE_UNSPECIFIED; - static int sg_version = 4; -+static bool compat_truncated = false; - static bool reformat_serial = false; - static bool export = false; - static char vendor_str[64]; -@@ -316,6 +318,7 @@ static void help(void) { - " -g --whitelisted Treat device as whitelisted\n" - " -u --replace-whitespace Replace all whitespace by underscores\n" - " -v --verbose Verbose logging\n" -+ " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" - " -x --export Print values as environment keys\n" - , program_invocation_short_name); - -@@ -387,6 +390,10 @@ static int set_options(struct udev *udev - log_open(); - break; - -+ case '9': -+ compat_truncated = true; -+ break; -+ - case 'V': - printf("%s\n", VERSION); - exit(0); -@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch - util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("ID_SERIAL=%s\n", serial_str); -+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); -+ util_replace_chars(serial_str, NULL); -+ printf("ID_SERIAL_COMPAT=%s\n", serial_str); - util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("ID_SERIAL_SHORT=%s\n", serial_str); -@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch - if (reformat_serial) { - char serial_str[MAX_SERIAL_LEN]; - -- util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); -+ if (compat_truncated) -+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); -+ else -+ util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("%s\n", serial_str); - goto out; -Index: systemd-221/src/udev/scsi_id/scsi_id.h -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_id.h -+++ systemd-221/src/udev/scsi_id/scsi_id.h -@@ -45,6 +45,7 @@ struct scsi_id_device { - char kernel[64]; - char serial[MAX_SERIAL_LEN]; - char serial_short[MAX_SERIAL_LEN]; -+ char serial_compat[MAX_SERIAL_LEN]; - int use_sg; - - /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ -Index: systemd-221/src/udev/scsi_id/scsi_serial.c -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_serial.c -+++ systemd-221/src/udev/scsi_id/scsi_serial.c -@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a - - static int do_scsi_page80_inquiry(struct udev *udev, - struct scsi_id_device *dev_scsi, int fd, -- char *serial, char *serial_short, int max_len); -+ char *serial, char *serial_short, -+ char *serial_compat, int max_len); - - static int sg_err_category_new(struct udev *udev, - int scsi_status, int msg_status, int -@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct - unsigned char page_83[SCSI_INQ_BUFF_LEN]; - - /* also pick up the page 80 serial number */ -- do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, MAX_SERIAL_LEN); -+ do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, NULL, MAX_SERIAL_LEN); - - memzero(page_83, SCSI_INQ_BUFF_LEN); - retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir - /* Get unit serial number VPD page */ - static int do_scsi_page80_inquiry(struct udev *udev, - struct scsi_id_device *dev_scsi, int fd, -- char *serial, char *serial_short, int max_len) -+ char *serial, char *serial_short, -+ char *serial_compat, int max_len) - { - int retval; - int ser_ind; -@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct - ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); - if (ser_ind < 0) - return 1; -+ if (serial_compat) -+ strcpy(serial_compat, serial); - ser_ind++; /* for the leading 'S' */ -- for (i = 4; i < len + 4; i++, ser_ind++) -+ for (i = 4; i < len + 4; i++, ser_ind++) { - serial[ser_ind] = buf[i]; -+ if (serial_compat) -+ serial_compat[ser_ind - 1] = buf[i]; -+ } - } - if (serial_short != NULL) { - memcpy(serial_short, &buf[4], len); -@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, - return 1; - - if (page_code == PAGE_80) { -- if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, len)) { -+ if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { - retval = 1; - goto completed; - } else { -@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, - for (ind = 4; ind <= page0[3] + 3; ind++) - if (page0[ind] == PAGE_80) - if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, -- dev_scsi->serial, dev_scsi->serial_short, len)) { -+ dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { - /* - * Success - */ diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch deleted file mode 100644 index 932ea747..00000000 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - Makefile.am | 1 + - rules/60-ssd-scheduler.rules | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -3501,6 +3501,7 @@ dist_udevrules_DATA += \ - rules/60-persistent-input.rules \ - rules/60-persistent-alsa.rules \ - rules/60-persistent-storage.rules \ -+ rules/60-ssd-scheduler.rules \ - rules/60-serial.rules \ - rules/64-btrfs.rules \ - rules/70-mouse.rules \ -Index: systemd-221/rules/60-ssd-scheduler.rules -=================================================================== ---- /dev/null -+++ systemd-221/rules/60-ssd-scheduler.rules -@@ -0,0 +1,11 @@ -+# do not edit this file, it will be overwritten on update -+ -+ACTION!="add", GOTO="ssd_scheduler_end" -+SUBSYSTEM!="block", GOTO="ssd_scheduler_end" -+ -+IMPORT{cmdline}="elevator" -+ENV{elevator}=="*?", GOTO="ssd_scheduler_end" -+ -+KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" -+ -+LABEL="ssd_scheduler_end" diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch deleted file mode 100644 index e6a0c0de..00000000 --- a/1096-new-udev-root-symlink-generator.patch +++ /dev/null @@ -1,108 +0,0 @@ ---- - Makefile.am | 19 +++++ - src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++ - units/systemd-udev-root-symlink.service | 10 ++ - units/systemd-udev-root-symlink.service.in | 10 ++ - 4 files changed, 96 insertions(+) - ---- systemd-222.orig/Makefile.am -+++ systemd-222/Makefile.am -@@ -3759,6 +3759,25 @@ EXTRA_DIST += \ - test/mocks/fsck - - # ------------------------------------------------------------------------------ -+rootsymlink_generator_SOURCES = \ -+ src/udev/rootsymlink_generator/rootsymlink_generator.c -+ -+rootsymlink_generator_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ rootsymlink-generator -+ -+nodist_systemunit_DATA += \ -+ units/systemd-udev-root-symlink.service -+ -+SYSINIT_TARGET_WANTS += \ -+ systemd-udev-root-symlink.service -+ -+EXTRA_DIST += \ -+ units/systemd-udev-root-symlink.service.in -+ -+# ------------------------------------------------------------------------------ - ata_id_SOURCES = \ - src/udev/ata_id/ata_id.c - ---- /dev/null -+++ systemd-222/src/udev/rootsymlink_generator/rootsymlink_generator.c -@@ -0,0 +1,57 @@ -+/* -+ * Copyright (C) 2014-2015 Robert Milasan -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define BUFFER_SIZE 128 -+ -+#define _ROOTDEV_ "/" -+#define _PATH_ "/run/udev/rules.d" -+#define _FILE_ "10-root-symlink.rules" -+ -+int main(void) -+{ -+ char filename[BUFFER_SIZE], buf[BUFFER_SIZE]; -+ struct stat statbuf; -+ int fd; -+ -+ if (stat(_ROOTDEV_, &statbuf) < 0) -+ return 1; -+ if (major(statbuf.st_dev) <= 0) -+ return 0; -+ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST) -+ return errno; -+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); -+ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644); -+ if (fd < 0) -+ return errno; -+ snprintf(buf, BUFFER_SIZE, -+ "ACTION==\"add|change\", SUBSYSTEM==\"block\", " -+ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", -+ major(statbuf.st_dev), minor(statbuf.st_dev)); -+ if (write(fd, buf, strlen(buf)) < 0) -+ return errno; -+ if (close(fd) < 0) -+ return errno; -+ return 0; -+} ---- /dev/null -+++ systemd-222/units/systemd-udev-root-symlink.service.in -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=@udevlibexecdir@/rootsymlink-generator diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch deleted file mode 100644 index f71c96a4..00000000 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-227/src/udev/udevd.c -=================================================================== ---- systemd-227.orig/src/udev/udevd.c -+++ systemd-227/src/udev/udevd.c -@@ -568,7 +568,7 @@ static void event_run(Manager *manager, - - if (hashmap_size(manager->workers) >= arg_children_max) { - if (arg_children_max > 1) -- log_debug("maximum number (%i) of children reached", hashmap_size(manager->workers)); -+ log_error("maximum number (%i) of children reached", hashmap_size(manager->workers)); - return; - } - -@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) { - arg_children_max = 8; - - if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) -- arg_children_max += CPU_COUNT(&cpu_set) * 2; -+ arg_children_max += CPU_COUNT(&cpu_set) * 64; - - log_debug("set children_max to %u", arg_children_max); - } diff --git a/1098-systemd-networkd-alias-network-service.patch b/1098-systemd-networkd-alias-network-service.patch deleted file mode 100644 index a3c666f4..00000000 --- a/1098-systemd-networkd-alias-network-service.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - units/systemd-networkd.service.m4.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/systemd-networkd.service.m4.in -=================================================================== ---- systemd-221.orig/units/systemd-networkd.service.m4.in -+++ systemd-221/units/systemd-networkd.service.m4.in -@@ -34,4 +34,5 @@ WatchdogSec=1min - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch deleted file mode 100644 index 43e686ca..00000000 --- a/Correct_assert_on_unexpected_error_code.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - src/login/pam_systemd.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: systemd-228/src/login/pam_systemd.c -=================================================================== ---- systemd-228.orig/src/login/pam_systemd.c -+++ systemd-228/src/login/pam_systemd.c -@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL); - if (r != PAM_SUCCESS) { - pam_syslog(handle, LOG_ERR, "Failed to install session fd."); -- safe_close(session_fd); -+ if (session_fd >= 0) { -+ PROTECT_ERRNO; -+ if (_unlikely_(!(close_nointr(session_fd) != -EBADF))) -+ pam_syslog(handle, LOG_ERR, "Unexpected error code on closing session fd: %m"); -+ } - return r; - } - } diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch deleted file mode 100644 index d780d327..00000000 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Frederic Crozat -Date: Wed, 7 Dec 2011 15:15:07 +0000 -Subject: Fix /run/lock directories permissions to follow openSUSE policy - -disable /var/lock/{subsys,lockdev} and change default permissions on -/var/lock (bnc#733523). ---- - tmpfiles.d/legacy.conf | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: systemd-221/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-221.orig/tmpfiles.d/legacy.conf -+++ systemd-221/tmpfiles.d/legacy.conf -@@ -10,13 +10,14 @@ - # These files are considered legacy and are unnecessary on legacy-free - # systems. - --d /run/lock 0755 root root - -+# changed for openSUSE: only /run/lock should be available. -+d /run/lock 0775 root lock - - L /var/lock - - - - ../run/lock - - # /run/lock/subsys is used for serializing SysV service execution, and - # hence without use on SysV-less systems. - --d /run/lock/subsys 0755 root root - -+#d /run/lock/subsys 0755 root root - - - # /run/lock/lockdev is used to serialize access to tty devices via - # LCK..xxx style lock files, For more information see: -@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root - - # On modern systems a BSD file lock is a better choice if - # serialization is needed on those devices. - --d /run/lock/lockdev 0775 root lock - -+#d /run/lock/lockdev 0775 root lock - - - # /forcefsck, /fastboot and /forcequotacheck are deprecated in favor of the - # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and diff --git a/after-local.service b/after-local.service deleted file mode 100644 index 500c2370..00000000 --- a/after-local.service +++ /dev/null @@ -1,17 +0,0 @@ -# This file is part of systemd. -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -[Unit] -Description=/etc/init.d/after.local Compatibility -ConditionFileIsExecutable=/etc/init.d/after.local -After=getty.target - -[Service] -Type=idle -ExecStart=/etc/init.d/after.local -TimeoutSec=0 -RemainAfterExit=yes diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch deleted file mode 100644 index 8bc6e24f..00000000 --- a/allow-multiple-sulogin-to-be-started.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Frederic Crozat -Date: Thu, 10 Jan 2013 15:43:25 +0000 -Subject: allow multiple sulogin to be started - -allows multiple sulogin instance (bnc#793182). ---- - units/getty@.service.m4 | 1 + - units/rescue.target | 1 + - units/serial-getty@.service.m4 | 1 + - 3 files changed, 3 insertions(+) - -Index: systemd-221/units/getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/getty@.service.m4 -+++ systemd-221/units/getty@.service.m4 -@@ -9,6 +9,7 @@ - Description=Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - Documentation=http://0pointer.de/blog/projects/serial-console.html -+Conflicts=rescue.service - After=systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`HAVE_SYSV_COMPAT', - After=rc-local.service -Index: systemd-221/units/rescue.target -=================================================================== ---- systemd-221.orig/units/rescue.target -+++ systemd-221/units/rescue.target -@@ -10,6 +10,7 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service -+Conflicts=getty.target - AllowIsolate=yes - - [Install] -Index: systemd-221/units/serial-getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/serial-getty@.service.m4 -+++ systemd-221/units/serial-getty@.service.m4 -@@ -10,6 +10,7 @@ Description=Serial Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - Documentation=http://0pointer.de/blog/projects/serial-console.html - BindsTo=dev-%i.device -+Conflicts=rescue.service - After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`HAVE_SYSV_COMPAT', - After=rc-local.service diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch deleted file mode 100644 index 257c329b..00000000 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Ludwig Nussel -Date: Mon, 8 Apr 2013 14:51:47 +0200 -Subject: apply ACL for nvidia device nodes - -set ACL on nvidia devices (bnc#808319). ---- - src/login/logind-acl.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -Index: systemd-221/src/login/logind-acl.c -=================================================================== ---- systemd-221.orig/src/login/logind-acl.c -+++ systemd-221/src/login/logind-acl.c -@@ -285,5 +285,17 @@ int devnode_acl_all(struct udev *udev, - r = k; - } - -+ /* only apply ACL on nvidia* if /dev/nvidiactl exists */ -+ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int j; -+ for (j = 0; j <= 256 ; j++) { -+ _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) -+ break; -+ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) -+ break; -+ } -+ } -+ - return r; - } diff --git a/apply-ACL-for-nvidia-uvm-device-node.patch b/apply-ACL-for-nvidia-uvm-device-node.patch deleted file mode 100644 index 00a7c608..00000000 --- a/apply-ACL-for-nvidia-uvm-device-node.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c79437b7967cf5a23faa881bc5da6b88b63a1ada Mon Sep 17 00:00:00 2001 -From: Stefan Dirsch -Date: Tue, 3 Jun 2014 15:05:55 +0200 -Subject: [PATCH] apply ACL for nvidia-uvm device node - -set ACL on nvidia-uvm device (bnc#879767). ---- - src/login/logind-acl.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/src/login/logind-acl.c -=================================================================== ---- systemd-221.orig/src/login/logind-acl.c -+++ systemd-221/src/login/logind-acl.c -@@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev, - if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) - break; - } -+ /* required for additional CUDA support (nvidia-uvm module with appropriate device), bnc#879767 */ -+ devnode_acl("/dev/nvidia-uvm", flush, del, old_uid, add, new_uid); - } - - return r; diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch deleted file mode 100644 index 60e42c9e..00000000 --- a/avoid-divide-by-zero-sigtrap.patch +++ /dev/null @@ -1,34 +0,0 @@ -Nasty bug reported on boo#867663 - ---- - src/basic/def.h | 2 +- - src/core/manager.c | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-228/src/basic/def.h -=================================================================== ---- systemd-228.orig/src/basic/def.h -+++ systemd-228/src/basic/def.h -@@ -40,7 +40,7 @@ - - #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" - --#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT -+#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS - #define SIGNALS_IGNORE SIGPIPE - - #define REBOOT_PARAM_FILE "/run/systemd/reboot-param" -Index: systemd-228/src/core/manager.c -=================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog - assert(m); - assert(source); - -- manager_print_jobs_in_progress(m); -+ if (m->n_running_jobs > 0) -+ manager_print_jobs_in_progress(m); - - next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC; - r = sd_event_source_set_time(source, next); diff --git a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch deleted file mode 100644 index 45208124..00000000 --- a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch +++ /dev/null @@ -1,29 +0,0 @@ -Found this during debugging an other problem. The issue was that -after ``sudo -i'' and a ``cd /usr/lib/systemd/system/'' followed -later by a shutdown may fail with (journalctl -b -1): - - systemd-exit.service: Failed at step CHDIR spawning: /usr/bin/kill - -which then caused the subsequent fault that umounting the users -home directories done by automount are busy. - ---- - units/user/systemd-exit.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-221/units/user/systemd-exit.service.in -=================================================================== ---- systemd-221.orig/units/user/systemd-exit.service.in -+++ systemd-221/units/user/systemd-exit.service.in -@@ -10,8 +10,9 @@ Description=Exit the Session - Documentation=man:systemd.special(7) - DefaultDependencies=no - Requires=shutdown.target --After=shutdown.target -+After=shutdown.target multi-user.target - - [Service] - Type=oneshot --ExecStart=@KILL@ -s 58 $MANAGERPID -+WorkingDirectory=/ -+ExecStart=@KILL@ -s SIGRTMIN+24 $MANAGERPID diff --git a/baselibs.conf b/baselibs.conf deleted file mode 100644 index 5df8c49f..00000000 --- a/baselibs.conf +++ /dev/null @@ -1,8 +0,0 @@ -systemd - supplements "packageand(systemd:pam-)" - -/lib/systemd/system/ - post "%{_sbindir}/pam-config -a --systemd || :" -libsystemd0 -libudev1 -nss-myhostname -nss-mymachines diff --git a/boot-local-start.patch b/boot-local-start.patch deleted file mode 100644 index 67576b9f..00000000 --- a/boot-local-start.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - units/rc-local.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/units/rc-local.service.in -=================================================================== ---- systemd-221.orig/units/rc-local.service.in -+++ systemd-221/units/rc-local.service.in -@@ -10,7 +10,7 @@ - [Unit] - Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility - ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ --After=network.target -+After=basic.target - - [Service] - Type=forking diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch deleted file mode 100644 index eb2fa9a4..00000000 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Frederic Crozat -Cc: Werner Fink -Date: Wed, 24 Aug 2011 13:02:12 +0000 -Subject: ensure ask-password-wall starts after getty@tty1 - -ensure passphrase is handled before starting getty on tty1. - ---- - units/systemd-ask-password-wall.service.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/units/systemd-ask-password-wall.service.in -=================================================================== ---- systemd-221.orig/units/systemd-ask-password-wall.service.in -+++ systemd-221/units/systemd-ask-password-wall.service.in -@@ -8,7 +8,8 @@ - [Unit] - Description=Forward Password Requests to Wall - Documentation=man:systemd-ask-password-console.service(8) --After=systemd-user-sessions.service -+Wants=getty.target -+After=systemd-user-sessions.service getty.target - - [Service] - ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch deleted file mode 100644 index 7771f1c9..00000000 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Frederic Crozat -Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: ensure shortname is set as hostname (bnc#820213) - -strip hostname so the domain part isn't set as part of the hostname ---- - src/core/hostname-setup.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-221/src/core/hostname-setup.c -=================================================================== ---- systemd-221.orig/src/core/hostname-setup.c -+++ systemd-221/src/core/hostname-setup.c -@@ -34,6 +34,7 @@ int hostname_setup(void) { - int r; - _cleanup_free_ char *b = NULL; - const char *hn; -+ char *domain; - bool enoent = false; - - r = read_hostname_config("/etc/hostname", &b); -@@ -46,6 +47,9 @@ int hostname_setup(void) { - hn = NULL; - } else - hn = b; -+ /* strip any leftover of a domain name */ -+ if ((domain = strchr(hn, '.')) != NULL) -+ *domain = '\0'; - - if (isempty(hn)) { - /* Don't override the hostname if it is already set diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch deleted file mode 100644 index ded80983..00000000 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Frederic Crozat -Date: Thu, 23 Aug 2012 11:08:25 +0200 -Subject: fix support for boot prefixed initscript (bnc#746506) - ---- - src/systemctl/systemctl.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -Index: systemd-221/src/systemctl/systemctl.c -=================================================================== ---- systemd-221.orig/src/systemctl/systemctl.c -+++ systemd-221/src/systemctl/systemctl.c -@@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char - - p[strlen(p) - strlen(".service")] = 0; - found_sysv = access(p, F_OK) >= 0; -- if (!found_sysv) -+ if (!found_sysv) { -+#ifdef HAVE_SYSV_COMPAT -+ free(p); -+ p = NULL; -+ if (!isempty(arg_root)) -+ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); -+ else -+ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (!p) -+ return -ENOMEM; -+ p[strlen(p) - sizeof(".service") + 1] = 0; -+ found_sysv = access(p, F_OK) >= 0; -+ if (!found_sysv) -+ continue; -+#else - continue; -+#endif -+ } - - if (found_native) - log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch deleted file mode 100644 index d7c4477f..00000000 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ /dev/null @@ -1,216 +0,0 @@ -Original-From: Frederic Crozat -Original-Date: Fri, 19 Aug 2011 15:29:49 +0000 -Subject: handle disable_caplock and compose_table and kbd_rate -References: https://bugzilla.opensuse.org/746595 -Last-Editor: Jan Engelhardt -Date: Fri Jun 19 21:36:27 CEST 2015 - ---- - src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 147 insertions(+), 4 deletions(-) - -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -34,6 +34,8 @@ - #include "alloc-util.h" - #include "fd-util.h" - #include "fileio.h" -+#include "macro.h" -+#include "strv.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -104,8 +106,10 @@ static int enable_utf8(int fd) { - return r; - } - --static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) { -- const char *args[8]; -+static int keyboard_load_and_wait(const char *vc, const char *map, -+ const char *map_toggle, bool utf8, bool disable_capslock) -+{ -+ const char *args[9]; - int i = 0, r; - pid_t pid; - -@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const - args[i++] = map; - if (map_toggle) - args[i++] = map_toggle; -+ if (disable_capslock) -+ args[i++] = "disable.capslock"; - args[i++] = NULL; - - pid = fork(); -@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd) - } - } - -+#ifdef HAVE_SYSV_COMPAT -+static int compose_load_and_wait(const char *vc, const char *compose_table) -+{ -+ const char *args[1024]; -+ unsigned int i = 0, j = 0; -+ int ret; -+ pid_t pid; -+ char **strv_compose_table = NULL; -+ char *to_free[1024]; -+ -+ if (isempty(compose_table)) -+ /* An empty map means no compose table */ -+ return 1; -+ -+ args[i++] = KBD_LOADKEYS; -+ args[i++] = "-q"; -+ args[i++] = "-C"; -+ args[i++] = vc; -+ -+ strv_compose_table = strv_split(compose_table, WHITESPACE); -+ if (strv_compose_table) { -+ bool compose_loaded = false; -+ bool compose_clear = false; -+ char **name; -+ char *arg; -+ -+ STRV_FOREACH(name, strv_compose_table) { -+ if (streq(*name, "-c") || streq(*name, "clear")) { -+ compose_clear = true; -+ continue; -+ } -+ if (!compose_loaded && compose_clear) -+ args[i++] = "-c"; -+ asprintf(&arg, "compose.%s", *name); -+ compose_loaded = true; -+ args[i++] = to_free[j++] = arg; -+ if (i >= ELEMENTSOF(args) - 1) -+ break; -+ } -+ strv_free(strv_compose_table); -+ } -+ args[i++] = NULL; -+ -+ pid = fork(); -+ if (pid < 0) -+ return log_error_errno(errno, "Failed to fork: %m"); -+ if (pid == 0) { -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } -+ -+ ret = wait_for_terminate_and_warn(args[0], pid, true); -+ for (i = 0; i < j; ++i) -+ free(to_free[i]); -+ if (ret < 0) -+ return ret; -+ return ret == 0; -+} -+#endif -+ -+static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate, -+ const char *kbd_delay) -+{ -+ const char *args[7]; -+ int i = 0, ret; -+ pid_t pid; -+ -+ if (isempty(kbd_rate) && isempty(kbd_delay)) -+ return 1; -+ -+ args[i++] = "/bin/kbdrate"; -+ if (!isempty(kbd_rate)) { -+ args[i++] = "-r"; -+ args[i++] = kbd_rate; -+ } -+ if (!isempty(kbd_delay)) { -+ args[i++] = "-d"; -+ args[i++] = kbd_delay; -+ } -+ args[i++] = "-s"; -+ args[i++] = NULL; -+ -+ pid = fork(); -+ if (pid < 0) -+ return log_error_errno(errno, "Failed to fork: %m"); -+ if (pid == 0) { -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } -+ ret = wait_for_terminate_and_warn(args[0], pid, true); -+ if (ret < 0) -+ return ret; -+ return ret == 0; -+} -+ - int main(int argc, char **argv) { - const char *vc; - _cleanup_free_ char - *vc_keymap = NULL, *vc_keymap_toggle = NULL, - *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char -+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+#endif -+ bool disable_capslock = false; -+ bool comp_ok, rate_ok; - _cleanup_close_ int fd = -1; - bool utf8, font_copy = false, font_ok, keyboard_ok; - int r = EXIT_FAILURE; -@@ -286,6 +398,31 @@ int main(int argc, char **argv) { - - utf8 = is_locale_utf8(); - -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", -+ strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", -+ strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && -+ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#endif /* HAVE_SYSV_COMPAT */ -+ - r = parse_env_file("/etc/vconsole.conf", NEWLINE, - "KEYMAP", &vc_keymap, - "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -317,11 +454,17 @@ int main(int argc, char **argv) { - (void) disable_utf8(fd); - - font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; -- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0; -+ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, -+ utf8, disable_capslock) > 0; -+#ifdef HAVE_SYSV_COMPAT -+ comp_ok = compose_load_and_wait(vc, vc_compose_table); -+ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -+#endif - - /* Only copy the font when we executed setfont successfully */ - if (font_copy && font_ok) - (void) font_copy_to_all_vcs(fd); - -- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE; -+ return font_ok && keyboard_ok && comp_ok && rate_ok ? -+ EXIT_SUCCESS : EXIT_FAILURE; - } diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch deleted file mode 100644 index 18fd4f61..00000000 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ /dev/null @@ -1,193 +0,0 @@ -Set NumLock according to /etc/sysconfig/keyboard. - -https://bugzilla.novell.com/show_bug.cgi?id=746595 - -Authors: -Stanislav Brabec -Cristian Rodríguez - ---- - Makefile.am | 13 ++++++++++ - rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 ++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++-- - units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 95 insertions(+), 3 deletions(-) - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \ - rules/60-persistent-v4l.rules - - # ------------------------------------------------------------------------------ -+numlock_on_SOURCES = \ -+ src/login/numlock-on.c -+ -+numlock_on_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ numlock-on -+ -+dist_udevrules_DATA += \ -+ rules/73-seat-numlock.rules -+ -+# ------------------------------------------------------------------------------ - mtd_probe_SOURCES = \ - src/udev/mtd_probe/mtd_probe.c \ - src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-228/rules/73-seat-numlock.rules -=================================================================== ---- /dev/null -+++ systemd-228/rules/73-seat-numlock.rules -@@ -0,0 +1,8 @@ -+# This file is part of SUSE customization of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-228/src/login/numlock-on.c -=================================================================== ---- /dev/null -+++ systemd-228/src/login/numlock-on.c -@@ -0,0 +1,34 @@ -+/* -+ * numlock-on.c: Turn numlock-on -+ * -+ * This file may be freely copied under the terms of the GNU General -+ * Public License (GPL), version 2, or at your option any later -+ * version. -+ -+ * Copyright (C) 2013 Stanislav Brabec, SUSE -+ * -+ * based on setleds.c, which is -+ * Copyright (C) 1994-1999 Andries E. Brouwer -+ */ -+ -+#include -+#include -+#include -+#include -+ -+int -+main(int argc, char **argv) { -+ char flags; -+ -+ if (ioctl(0, KDGKBLED, &flags)) { -+ perror("KDGKBLED"); -+ exit(1); -+ } -+ -+ if (ioctl(0, KDSKBLED, flags | LED_NUM | (LED_NUM << 4))) { -+ perror("KDSKBLED"); -+ exit(1); -+ } -+ -+ exit(0); -+} -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -36,6 +36,7 @@ - #include "fileio.h" - #include "macro.h" - #include "strv.h" -+#include "fs-util.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -46,6 +47,10 @@ - #include "util.h" - #include "virt.h" - -+#define BIOS_DATA_AREA 0x400 -+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 -+#define BDA_KSF4_NUMLOCK_MASK 0x02 -+ - static bool is_vconsole(int fd) { - unsigned char data[1]; - -@@ -364,9 +369,10 @@ int main(int argc, char **argv) { - #ifdef HAVE_SYSV_COMPAT - _cleanup_free_ char - *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, -+ *vc_kbd_numlock = NULL; - #endif -- bool disable_capslock = false; -+ bool disable_capslock = false, numlock = false; - bool comp_ok, rate_ok; - _cleanup_close_ int fd = -1; - bool utf8, font_copy = false, font_ok, keyboard_ok; -@@ -404,6 +410,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -421,6 +428,32 @@ int main(int argc, char **argv) { - - disable_capslock = vc_kbd_disable_caps_lock && - strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -+#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (read(fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ } -+#endif /* x86 */ - #endif /* HAVE_SYSV_COMPAT */ - - r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +489,10 @@ int main(int argc, char **argv) { - font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; - keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, - utf8, disable_capslock) > 0; -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - #ifdef HAVE_SYSV_COMPAT - comp_ok = compose_load_and_wait(vc, vc_compose_table); - rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -Index: systemd-228/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-228.orig/units/systemd-vconsole-setup.service.in -+++ systemd-228/units/systemd-vconsole-setup.service.in -@@ -10,7 +10,7 @@ Description=Setup Virtual Console - Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) - DefaultDependencies=no - Conflicts=shutdown.target --Before=sysinit.target shutdown.target -+Before=sysinit.target shutdown.target systemd-udev-trigger.service - ConditionPathExists=/dev/tty0 - - [Service] diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch deleted file mode 100644 index 118f333d..00000000 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ /dev/null @@ -1,72 +0,0 @@ -From: Frederic Crozat -Date: Tue, 4 Dec 2012 16:51:32 +0000 -Subject: handle root_uses_lang value in /etc/sysconfig/language - -handle ROOT_USES_LANG=ctype (boo#792182). ---- - src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -Index: systemd-228/src/core/locale-setup.c -=================================================================== ---- systemd-228.orig/src/core/locale-setup.c -+++ systemd-228/src/core/locale-setup.c -@@ -30,11 +30,16 @@ - #include "strv.h" - #include "util.h" - #include "virt.h" -+#include "alloc-util.h" - - int locale_setup(char ***environment) { - char **add; - char *variables[_VARIABLE_LC_MAX] = {}; - int r = 0, i; -+#ifdef HAVE_SYSV_COMPAT -+ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL; -+ char _cleanup_free_ *root_uses_lang = NULL; -+#endif - - if (detect_container() <= 0) { - r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -81,6 +86,41 @@ int locale_setup(char ***environment) { - if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); - } -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/language", NEWLINE, -+ "RC_LANG", &rc_lang, -+ "RC_LC_CTYPE", &rc_lc_ctype, -+ "ROOT_USES_LANG", &root_uses_lang, -+ NULL); -+ -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); -+ -+ /* -+ * Use the values of the interactive locale configuration in /etc/sysconfig/language -+ * as fallback if /etc/locale.conf does not exist and no locale was specified on the -+ * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE -+ * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been -+ * set in /etc/locale.conf and on the kernel's command line. -+ */ -+ if (root_uses_lang) { -+ if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) { -+ variables[VARIABLE_LANG] = rc_lang; -+ rc_lang = NULL; -+ } -+ if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) { -+ if (variables[VARIABLE_LANG]) -+ variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]); -+ else if (rc_lc_ctype && *rc_lc_ctype) { -+ variables[VARIABLE_LC_CTYPE] = rc_lc_ctype; -+ rc_lc_ctype = NULL; -+ } else if (rc_lang && *rc_lang) { -+ variables[VARIABLE_LC_CTYPE] = rc_lang; -+ rc_lang = NULL; -+ } -+ } -+ } -+#endif - - add = NULL; - for (i = 0; i < _VARIABLE_LC_MAX; i++) { diff --git a/hostname-NULL.patch b/hostname-NULL.patch deleted file mode 100644 index ccd9133c..00000000 --- a/hostname-NULL.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-222/src/core/hostname-setup.c -=================================================================== ---- systemd-222.orig/src/core/hostname-setup.c -+++ systemd-222/src/core/hostname-setup.c -@@ -44,7 +44,7 @@ int hostname_setup(void) { - else - log_warning_errno(r, "Failed to read configured hostname: %m"); - -- hn = NULL; -+ hn = strdup("nohostname.set.site"); - } else - hn = b; - /* strip any leftover of a domain name */ diff --git a/insserv-generator.patch b/insserv-generator.patch deleted file mode 100644 index 833d0d66..00000000 --- a/insserv-generator.patch +++ /dev/null @@ -1,399 +0,0 @@ -From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 28 Jun 2013 17:54:41 +0200 -Subject: [PATCH] insserv.conf generator - -parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate -systemd unit drop-in files to add dependencies ---- - Makefile.am | 9 - src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++ - 3 files changed, 355 insertions(+), 1 deletion(-) - create mode 100644 src/insserv-generator/Makefile - create mode 100644 src/insserv-generator/insserv-generator.c - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \ - - systemgenerator_PROGRAMS += \ - systemd-sysv-generator \ -- systemd-rc-local-generator -+ systemd-rc-local-generator \ -+ systemd-insserv-generator - endif - - EXTRA_DIST += \ -@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib) - endif - endif - -+#------------------------------------------------------------------------------- -+systemd_insserv_generator_SOURCES = \ -+ src/insserv-generator/insserv-generator.c -+ -+systemd_insserv_generator_LDADD = libbasic.la -+ - # ------------------------------------------------------------------------------ - stub_headers = \ - src/boot/efi/util.h \ -Index: systemd-228/src/insserv-generator/Makefile -=================================================================== ---- /dev/null -+++ systemd-228/src/insserv-generator/Makefile -@@ -0,0 +1,28 @@ -+# This file is part of systemd. -+# -+# Copyright 2010 Lennart Poettering -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+# -+# systemd is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public License -+# along with systemd; If not, see . -+ -+# This file is a dirty trick to simplify compilation from within -+# emacs. This file is not intended to be distributed. So, don't touch -+# it, even better ignore it! -+ -+all: -+ $(MAKE) -C .. -+ -+clean: -+ $(MAKE) -C .. clean -+ -+.PHONY: all clean -Index: systemd-228/src/insserv-generator/insserv-generator.c -=================================================================== ---- /dev/null -+++ systemd-228/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,319 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2012 Lennart Poettering -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+ ***/ -+ -+#include -+#include -+#include -+#include -+ -+#include "mkdir.h" -+#include "log.h" -+#include "fileio.h" -+#include "unit-name.h" -+#include "special.h" -+#include "path-util.h" -+#include "util.h" -+#include "strv.h" -+#include "alloc-util.h" -+#include "string-util.h" -+#include "fd-util.h" -+ -+static const char *arg_dest = "/tmp"; -+ -+static char *sysv_translate_name(const char *name) { -+ char *r; -+ -+ r = new(char, strlen(name) + sizeof(".service")); -+ if (!r) -+ return NULL; -+ -+ if (endswith(name, ".sh")) -+ /* Drop .sh suffix */ -+ strcpy(stpcpy(r, name) - 3, ".service"); -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ strcpy(stpcpy(r, name + 5), ".service"); -+ else -+ /* Normal init script name */ -+ strcpy(stpcpy(r, name), ".service"); -+ -+ return r; -+} -+ -+static int sysv_translate_facility(const char *name, const char *filename, char **_r) { -+ -+ /* We silently ignore the $ prefix here. According to the LSB -+ * spec it simply indicates whether something is a -+ * standardized name or a distribution-specific one. Since we -+ * just follow what already exists and do not introduce new -+ * uses or names we don't care who introduced a new name. */ -+ -+ static const char * const table[] = { -+ /* LSB defined facilities */ -+ "local_fs", NULL, -+ "network", SPECIAL_NETWORK_ONLINE_TARGET, -+ "named", SPECIAL_NSS_LOOKUP_TARGET, -+ "portmap", SPECIAL_RPCBIND_TARGET, -+ "remote_fs", SPECIAL_REMOTE_FS_TARGET, -+ "syslog", NULL, -+ "time", SPECIAL_TIME_SYNC_TARGET, -+ }; -+ -+ unsigned i; -+ char *r; -+ const char *n; -+ int ret; -+ -+ assert(name); -+ assert(_r); -+ -+ n = *name == '$' ? name + 1 : name; -+ -+ for (i = 0; i < ELEMENTSOF(table); i += 2) { -+ -+ if (!streq(table[i], n)) -+ continue; -+ -+ if (!table[i+1]) -+ return 0; -+ -+ r = strdup(table[i+1]); -+ if (!r) -+ return log_oom(); -+ -+ goto finish; -+ } -+ -+ /* If we don't know this name, fallback heuristics to figure -+ * out whether something is a target or a service alias. */ -+ -+ if (*name == '$') { -+ if (!unit_prefix_is_valid(n)) -+ return -EINVAL; -+ -+ /* Facilities starting with $ are most likely targets */ -+ ret = unit_name_build(n, NULL, ".target", &r); -+ if (ret < 0) -+ return ret; -+ } else if (filename && streq(name, filename)) -+ /* Names equaling the file name of the services are redundant */ -+ return 0; -+ else -+ /* Everything else we assume to be normal service names */ -+ r = sysv_translate_name(n); -+ -+ if (!r) -+ return -ENOMEM; -+ -+finish: -+ *_r = r; -+ -+ return 1; -+} -+ -+ -+ -+static int parse_insserv_conf(const char* filename) { -+ _cleanup_fclose_ FILE *f = NULL; -+ int r; -+ -+ if (!(f = fopen(filename, "re"))) { -+ log_debug("Failed to open file %s", filename); -+ r = errno == ENOENT ? 0 : -errno; -+ return r; -+ } -+ -+ while (!feof(f)) { -+ char l[LINE_MAX], *t; -+ _cleanup_strv_free_ char **parsed = NULL; -+ -+ if (!fgets(l, sizeof(l), f)) { -+ if (feof(f)) -+ break; -+ -+ r = -errno; -+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -+ return -r; -+ } -+ -+ t = strstrip(l); -+ if (*t != '$' && *t != '<') -+ continue; -+ -+ parsed = strv_split(t,WHITESPACE); -+ /* we ignore , not used, equivalent to X-Interactive */ -+ if (parsed && !startswith_no_case (parsed[0], "")) { -+ _cleanup_free_ char *facility = NULL; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) -+ continue; -+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -+ _cleanup_free_ char *unit = NULL; -+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ r = write_string_file(unit, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "Wants=remote-fs-pre.target\n", -+ WRITE_STRING_FILE_CREATE); -+ if (r) -+ return r; -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -+ } -+ if (facility && endswith(facility, ".target")) { -+ char *name, **j; -+ FILE *file = NULL; -+ -+ STRV_FOREACH (j, parsed+1) { -+ _cleanup_free_ char *unit = NULL; -+ _cleanup_free_ char *dep = NULL; -+ -+ if (*j[0] == '+') -+ name = *j+1; -+ else -+ name = *j; -+ if (streq(name, "boot.localfs") || -+ streq(name, "boot.crypto")) -+ continue; -+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -+ continue; -+ -+ unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ file = fopen(unit, "wxe"); -+ if (!file) { -+ if (errno == EEXIST) -+ log_error("Failed to create drop-in file %s", unit); -+ else -+ log_error("Failed to create drop-in file %s: %m", unit); -+ return -errno; -+ } -+ -+ fprintf(file, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "Wants=%s\n" -+ "Before=%s\n", -+ facility, facility); -+ -+ fflush(file); -+ if (ferror(file)) { -+ log_error("Failed to write unit file %s: %m", unit); -+ return -errno; -+ } -+ fclose(file); -+ -+ if (*j[0] != '+') { -+ free (unit); -+ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ file = fopen(unit, "wxe"); -+ if (!file) { -+ if (errno == EEXIST) -+ log_error("Failed to create drop-in file %s, as it already exists", unit); -+ else -+ log_error("Failed to create drop-in file %s: %m", unit); -+ return -errno; -+ } -+ -+ -+ fprintf(file, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "SourcePath=%s\n" -+ "Requires=%s\n", -+ filename, dep); -+ fflush(file); -+ if (ferror(file)) { -+ log_error("Failed to write unit file %s: %m", unit); -+ return -errno; -+ } -+ fclose(file); -+ } -+ } -+ } -+ } -+ } -+ return r; -+} -+ -+static int parse_insserv(void) { -+ DIR *d = NULL; -+ struct dirent *de; -+ int r = 0; -+ -+ if (!(d = opendir("/etc/insserv.conf.d/"))) { -+ if (errno != ENOENT) { -+ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -+ } -+ } else { -+ -+ while ((de = readdir(d))) { -+ char *path = NULL; -+ if (hidden_file(de->d_name)) -+ continue; -+ -+ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); -+ parse_insserv_conf(path); -+ free(path); -+ } -+ closedir (d); -+ } -+ -+ r = parse_insserv_conf("/etc/insserv.conf"); -+ -+ return r; -+} -+ -+int main(int argc, char *argv[]) { -+ int r = 0; -+ -+ if (argc > 1 && argc != 4) { -+ log_error("This program takes three or no arguments."); -+ return EXIT_FAILURE; -+ } -+ -+ if (argc > 1) -+ arg_dest = argv[1]; -+ -+ log_set_target(LOG_TARGET_SAFE); -+ log_parse_environment(); -+ log_open(); -+ -+ umask(0022); -+ -+ r = parse_insserv(); -+ -+ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; -+} diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch deleted file mode 100644 index 46a3e446..00000000 --- a/journald-advice-about-use-of-memory.patch +++ /dev/null @@ -1,138 +0,0 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Notes [jengelh@inai.de]: -MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render -MAP_POPULATE ineffective. Why do we have it? -What is the rationale for MAP_STACK? ---- - src/journal/catalog.c | 12 +++++++++++- - src/journal/journal-authenticate.c | 7 +++++-- - src/journal/journald-kmsg.c | 3 ++- - src/journal/mmap-cache.c | 16 +++++++++++++++- - 4 files changed, 33 insertions(+), 5 deletions(-) - -Index: systemd-221/src/journal/catalog.c -=================================================================== ---- systemd-221.orig/src/journal/catalog.c -+++ systemd-221/src/journal/catalog.c -@@ -469,6 +469,10 @@ finish: - - static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { - const CatalogHeader *h; -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; -+ unsigned int n; -+ size_t psize; - int fd; - void *p; - struct stat st; -@@ -491,12 +495,18 @@ static int open_mmap(const char *databas - return -EINVAL; - } - -- p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); -+ psize = PAGE_ALIGN(st.st_size); -+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, 0); - if (p == MAP_FAILED) { - safe_close(fd); - return -errno; - } - -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) -+ if (madvise(p, psize, advice[n]) < 0) -+ log_warning("Failed to give advice about use of memory: %m"); -+ - h = p; - if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || - le64toh(h->header_size) < sizeof(CatalogHeader) || -Index: systemd-221/src/journal/journal-authenticate.c -=================================================================== ---- systemd-221.orig/src/journal/journal-authenticate.c -+++ systemd-221/src/journal/journal-authenticate.c -@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f - goto finish; - } - -- m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); -+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, -+ MAP_SHARED | MAP_STACK, fd, 0); - if (m == MAP_FAILED) { - m = NULL; - r = -errno; -@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f - goto finish; - } - -- f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), -+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK, -+ fd, 0); - if (f->fss_file == MAP_FAILED) { - f->fss_file = NULL; - r = -errno; -Index: systemd-221/src/journal/journald-kmsg.c -=================================================================== ---- systemd-221.orig/src/journal/journald-kmsg.c -+++ systemd-221/src/journal/journald-kmsg.c -@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) - return 0; - } - -- p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE, -+ MAP_SHARED | MAP_STACK, fd, 0); - if (p == MAP_FAILED) { - log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); - return 0; -Index: systemd-221/src/journal/mmap-cache.c -=================================================================== ---- systemd-221.orig/src/journal/mmap-cache.c -+++ systemd-221/src/journal/mmap-cache.c -@@ -466,11 +466,14 @@ static int add_mmap( - struct stat *st, - void **ret) { - -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; - uint64_t woffset, wsize; - Context *c; - FileDescriptor *f; - Window *w; - void *d; -+ unsigned int n; - int r; - - assert(m); -@@ -509,7 +512,8 @@ static int add_mmap( - } - - for (;;) { -- d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); -+ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, woffset); - if (d != MAP_FAILED) - break; - if (errno != ENOMEM) -@@ -522,6 +526,16 @@ static int add_mmap( - return -ENOMEM; - } - -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) { -+ if (advice[n] == MADV_DONTFORK) { -+ int flags = fcntl(fd, F_GETFD); -+ if (flags < 0 || !(flags & FD_CLOEXEC)) -+ continue; -+ } -+ if (madvise(d, wsize, advice[n]) < 0) -+ log_warning("Failed to give advice about use of memory: %m"); -+ } -+ - c = context_add(m, context); - if (!c) - goto outofmem; diff --git a/kbd-model-map.patch b/kbd-model-map.patch deleted file mode 100644 index f45b0874..00000000 --- a/kbd-model-map.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: werner@suse.de -Date: Tue Jan 20 11:33:59 UTC 2015 - ---- - src/locale/kbd-model-map | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: systemd-221/src/locale/kbd-model-map -=================================================================== ---- systemd-221.orig/src/locale/kbd-model-map -+++ systemd-221/src/locale/kbd-model-map -@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a - lt.l4 lt pc105 - terminate:ctrl_alt_bksp - lt lt pc105 - terminate:ctrl_alt_bksp - khmer kh,us pc105 - terminate:ctrl_alt_bksp -+# Additional layouts offered by YaST -+Pl02 pl pc105 - terminate:ctrl_alt_bksp -+arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle -+cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp -+cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle -+es-cp850 es pc105 - terminate:ctrl_alt_bksp -+khmer us,kh pc105 - terminate:ctrl_alt_bksp,grp:alt_shift_toggle -+korean kr pc105 - terminate:ctrl_alt_bksp -+lt.baltic lt pc105 - terminate:ctrl_alt_bksp -+lt.std lt pc105 std terminate:ctrl_alt_bksp -+no-latin1 no pc105 - terminate:ctrl_alt_bksp -+ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll -+sk-qwertz sk,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch deleted file mode 100644 index 274d103c..00000000 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - configure.ac | 4 ---- - 1 file changed, 4 deletions(-) - -Index: systemd-224/configure.ac -=================================================================== ---- systemd-224.orig/configure.ac -+++ systemd-224/configure.ac -@@ -199,10 +199,6 @@ AS_CASE([$CC], [*clang*], - -Wno-gnu-variable-sized-type-not-at-end \ - ])]) - --AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], -- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto])], -- [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") - - AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch deleted file mode 100644 index b106fc22..00000000 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ /dev/null @@ -1,84 +0,0 @@ -From: Werner Fink -Date: Wed Sep 23 12:37:23 UTC 2015 -Subject: Do not bother vistual console to much with GIO/PIO - -This avoids broken virtual console mapping due stressed ioctl API -for the virtual consoles (boo#904214) - ---- - src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- - 1 file changed, 25 insertions(+), 14 deletions(-) - ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 -@@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) - unsigned short map16[E_TABSZ]; - struct unimapdesc unimapd; - struct unipair unipairs[USHRT_MAX]; -+ struct console_font_op cfo = {}; - int i, r; - -+ bool hasmap8; -+ bool hasmap16; -+ bool hasunimap; -+ - /* get active, and 16 bit mask of used VT numbers */ - r = ioctl(fd, VT_GETSTATE, &vcs); - if (r < 0) { -@@ -211,10 +216,22 @@ static void font_copy_to_all_vcs(int fd) - return; - } - -+ /* copy font from active VT, where the font was uploaded to */ -+ cfo.op = KD_FONT_OP_COPY; -+ cfo.height = vcs.v_active-1; /* tty1 == index 0 */ -+ -+ hasmap8 = (ioctl(fd, GIO_SCRNMAP, map8) >= 0); -+ hasmap16 = (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0); -+ -+ /* unimapd is a ushort count and a pointer to an -+ * array of struct unipair { ushort, ushort } */ -+ unimapd.entries = unipairs; -+ unimapd.entry_ct = USHRT_MAX; -+ hasunimap = (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0); -+ - for (i = 1; i <= 15; i++) { - char vcname[strlen("/dev/vcs") + DECIMAL_STR_MAX(int)]; - _cleanup_close_ int vcfd = -1; -- struct console_font_op cfo = {}; - - if (i == vcs.v_active) - continue; -@@ -229,25 +246,19 @@ static void font_copy_to_all_vcs(int fd) - if (vcfd < 0) - continue; - -- /* copy font from active VT, where the font was uploaded to */ -- cfo.op = KD_FONT_OP_COPY; -- cfo.height = vcs.v_active-1; /* tty1 == index 0 */ -+ /* copy font from active VT to vcs */ - (void) ioctl(vcfd, KDFONTOP, &cfo); - -- /* copy map of 8bit chars */ -- if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) -+ /* copy map of 8bit chars to vcs */ -+ if (hasmap8) - (void) ioctl(vcfd, PIO_SCRNMAP, map8); - -- /* copy map of 8bit chars -> 16bit Unicode values */ -- if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) -+ /* copy map of 8bit chars -> 16bit Unicode values to vcs */ -+ if (hasmap16) - (void) ioctl(vcfd, PIO_UNISCRNMAP, map16); - -- /* copy unicode translation table */ -- /* unimapd is a ushort count and a pointer to an -- array of struct unipair { ushort, ushort } */ -- unimapd.entries = unipairs; -- unimapd.entry_ct = USHRT_MAX; -- if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { -+ /* copy unicode translation table to vcs */ -+ if (hasunimap) { - struct unimapinit adv = { 0, 0, 0 }; - - (void) ioctl(vcfd, PIO_UNIMAPCLR, &adv); diff --git a/libgcrypt.m4 b/libgcrypt.m4 deleted file mode 100644 index b0aeccd2..00000000 --- a/libgcrypt.m4 +++ /dev/null @@ -1,123 +0,0 @@ -dnl Autoconf macros for libgcrypt -dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. -dnl -dnl This file is free software; as a special exception the author gives -dnl unlimited permission to copy and/or distribute it, with or without -dnl modifications, as long as this notice is preserved. -dnl -dnl This file is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. -dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed -dnl with the API version to also check the API compatibility. Example: -dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed -dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using -dnl this features allows to prevent build against newer versions of libgcrypt -dnl with a changed API. -dnl -AC_DEFUN([AM_PATH_LIBGCRYPT], -[ AC_ARG_WITH(libgcrypt-prefix, - AC_HELP_STRING([--with-libgcrypt-prefix=PFX], - [prefix where LIBGCRYPT is installed (optional)]), - libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") - if test x$libgcrypt_config_prefix != x ; then - if test x${LIBGCRYPT_CONFIG+set} != xset ; then - LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config - fi - fi - - AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) - tmp=ifelse([$1], ,1:1.2.0,$1) - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libgcrypt_api=0 - min_libgcrypt_version="$tmp" - fi - - AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) - ok=no - if test "$LIBGCRYPT_CONFIG" != "no" ; then - req_major=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` - major=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - if test $ok = yes; then - AC_MSG_RESULT([yes ($libgcrypt_config_version)]) - else - AC_MSG_RESULT(no) - fi - if test $ok = yes; then - # If we have a recent libgcrypt, we should also check that the - # API is compatible - if test "$req_libgcrypt_api" -gt 0 ; then - tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` - if test "$tmp" -gt 0 ; then - AC_MSG_CHECKING([LIBGCRYPT API version]) - if test "$req_libgcrypt_api" -eq "$tmp" ; then - AC_MSG_RESULT([okay]) - else - ok=no - AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) - fi - fi - fi - fi - if test $ok = yes; then - LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` - LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` - ifelse([$2], , :, [$2]) - if test x"$host" != x ; then - libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` - if test x"$libgcrypt_config_host" != xnone ; then - if test x"$libgcrypt_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script $LIBGCRYPT_CONFIG was -*** built for $libgcrypt_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgcrypt-prefix -*** to specify a matching config script. -***]]) - fi - fi - fi - else - LIBGCRYPT_CFLAGS="" - LIBGCRYPT_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(LIBGCRYPT_CFLAGS) - AC_SUBST(LIBGCRYPT_LIBS) -]) diff --git a/macros.systemd.upstream b/macros.systemd.upstream deleted file mode 100644 index 2ba0ff05..00000000 --- a/macros.systemd.upstream +++ /dev/null @@ -1,105 +0,0 @@ -# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ -# -# This file is part of systemd. -# -# Copyright 2012 Lennart Poettering -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# systemd is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with systemd; If not, see . - -# RPM macros for packages installing systemd unit files - -%_unitdir @systemunitdir@ -%_userunitdir @userunitdir@ -%_presetdir @systempresetdir@ -%_udevhwdbdir @udevhwdbdir@ -%_udevrulesdir @udevrulesdir@ -%_journalcatalogdir @catalogdir@ -%_tmpfilesdir @tmpfilesdir@ -%_sysusersdir @sysusersdir@ -%_sysctldir @sysctldir@ -%_binfmtdir @binfmtdir@ - -%systemd_requires \ -Requires(post): systemd \ -Requires(preun): systemd \ -Requires(postun): systemd \ -%{nil} - -%systemd_post() \ -if [ $1 -eq 1 ] ; then \ - # Initial installation \ - systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_post() %systemd_post --user --global %{?*} - -%systemd_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_postun() %{nil} - -%systemd_user_postun() %{nil} - -%systemd_postun_with_restart() \ -if [ $1 -ge 1 ] ; then \ - # Package upgrade, not uninstall \ - systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_postun_with_restart() %{nil} - -%udev_hwdb_update() \ -udevadm hwdb --update >/dev/null 2>&1 || : \ -%{nil} - -%udev_rules_update() \ -udevadm control --reload >/dev/null 2>&1 || : \ -%{nil} - -%journal_catalog_update() \ -journalctl --update-catalog >/dev/null 2>&1 || : \ -%{nil} - -%tmpfiles_create() \ -systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create() \ -systemd-sysusers %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create_inline() \ -echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \ -%{nil} - -%sysctl_apply() \ -@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%binfmt_apply() \ -@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ -%{nil} diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch deleted file mode 100644 index 808fc9a2..00000000 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ /dev/null @@ -1,25 +0,0 @@ -If after emergency service had been started there is incoming -traffic on syslog.socket emergency.service gets killed due to -implicit dependencies on basic.target => sysinit.target which in -turn conflict with emergency.target. - -As a workaround explicitly stop syslog.socket when entering -emergency.service. - -Reference: bnc#852232 ---- - units/emergency.service.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/emergency.service.in -=================================================================== ---- systemd-221.orig/units/emergency.service.in -+++ systemd-221/units/emergency.service.in -@@ -11,6 +11,7 @@ Documentation=man:sulogin(8) - DefaultDependencies=no - Conflicts=shutdown.target - Conflicts=rescue.service -+Conflicts=syslog.socket - Before=shutdown.target - - [Service] diff --git a/nss-myhostname-config b/nss-myhostname-config deleted file mode 100644 index 110db7a2..00000000 --- a/nss-myhostname-config +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# sed calls copied from fedora package -set -e - -case "$1" in - --help) - echo "$0 [--enable|--disable]" - exit 0 - ;; - --enable) - sed -i.bak -e ' - /^hosts:/ !b - /\/ b - s/[[:blank:]]*$/ myhostname/ - ' /etc/nsswitch.conf - ;; - --disable) - sed -i.bak -e ' - /^hosts:/ !b - s/[[:blank:]]\+myhostname\>// - ' /etc/nsswitch.conf - ;; - "") - if grep -q "^hosts:.*\" /etc/nsswitch.conf; then - echo "enabled" - else - echo "disabled" - fi - ;; - *) echo "invalid argument $1"; exit 1 ;; -esac diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch deleted file mode 100644 index cd65edec..00000000 --- a/parse-crypttab-for-noauto-option.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- - src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- - 1 file changed, 44 insertions(+), 1 deletion(-) - -Index: systemd-221/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-221.orig/src/fstab-generator/fstab-generator.c -+++ systemd-221/src/fstab-generator/fstab-generator.c -@@ -47,6 +47,49 @@ static char *arg_usr_what = NULL; - static char *arg_usr_fstype = NULL; - static char *arg_usr_options = NULL; - -+static int check_crypttab(const char *what) { -+ _cleanup_fclose_ FILE *f = NULL; -+ unsigned n = 0; -+ -+ f = fopen("/etc/crypttab", "re"); -+ if (!f) { -+ if (errno != ENOENT) -+ log_error("Failed to open /etc/crypttab: %m"); -+ -+ return 1; -+ } -+ -+ -+ for (;;) { -+ char line[LINE_MAX], *l; -+ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL; -+ int k; -+ -+ if (!fgets(line, sizeof(line), f)) -+ break; -+ -+ n++; -+ -+ l = strstrip(line); -+ if (*l == '#' || *l == 0) -+ continue; -+ -+ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options); -+ if (k < 2 || k > 4) { -+ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n); -+ continue; -+ } -+ -+ if (strcmp((what + 12), name) == 0) { -+ if (options && strstr(options, "noauto")) -+ return 0; -+ -+ return 1; -+ } -+ } -+ return 1; -+} -+ - static int add_swap( - const char *what, - struct mntent *me, -@@ -108,7 +151,7 @@ static int add_swap( - if (r < 0) - return r; - -- if (!noauto) { -+ if (!noauto && check_crypttab(what) != 0) { - lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET, - nofail ? ".wants/" : ".requires/", name, NULL); - if (!lnk) diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch deleted file mode 100644 index 331034ec..00000000 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- - units/console-shell.service.m4.in | 2 ++ - units/emergency.service.in | 2 +- - units/rescue.service.in | 3 ++- - 3 files changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-224/units/console-shell.service.m4.in -=================================================================== ---- systemd-224.orig/units/console-shell.service.m4.in -+++ systemd-224/units/console-shell.service.m4.in -@@ -17,6 +17,8 @@ Before=getty.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStart=-@SULOGIN@ - ExecStopPost=-@SYSTEMCTL@ poweroff - Type=idle -Index: systemd-224/units/emergency.service.in -=================================================================== ---- systemd-224.orig/units/emergency.service.in -+++ systemd-224/units/emergency.service.in -@@ -17,7 +17,7 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth --wait quit -+ExecStartPre=-/usr/bin/plymouth --wait quit - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" - Type=idle -Index: systemd-224/units/rescue.service.in -=================================================================== ---- systemd-224.orig/units/rescue.service.in -+++ systemd-224/units/rescue.service.in -@@ -16,7 +16,8 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" - Type=idle diff --git a/portmap-wants-rpcbind-socket.patch b/portmap-wants-rpcbind-socket.patch deleted file mode 100644 index 77fb2871..00000000 --- a/portmap-wants-rpcbind-socket.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- - units/rpcbind.target | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/rpcbind.target -=================================================================== ---- systemd-221.orig/units/rpcbind.target -+++ systemd-221/units/rpcbind.target -@@ -12,3 +12,4 @@ - Description=RPC Port Mapper - Documentation=man:systemd.special(7) - RefuseManualStart=yes -+Wants=rpcbind.socket diff --git a/pre_checkin.sh b/pre_checkin.sh deleted file mode 100644 index 80ae3ad6..00000000 --- a/pre_checkin.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz) -# create a -mini spec for systemd for bootstrapping - -ORIG_SPEC=systemd -EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" -sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; - s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; - s/^\(Name:.*\)$/\1-mini/; - s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ - " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec -cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes -cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc - -osc service localrun format_spec_file diff --git a/rescue-emergency-target-conflicts.patch b/rescue-emergency-target-conflicts.patch deleted file mode 100644 index a02e7ed3..00000000 --- a/rescue-emergency-target-conflicts.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - units/emergency.target | 1 + - units/rescue.target | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-221/units/emergency.target -=================================================================== ---- systemd-221.orig/units/emergency.target -+++ systemd-221/units/emergency.target -@@ -10,4 +10,5 @@ Description=Emergency Mode - Documentation=man:systemd.special(7) - Requires=emergency.service - After=emergency.service -+Conflicts=getty.target rescue.target - AllowIsolate=yes -Index: systemd-221/units/rescue.target -=================================================================== ---- systemd-221.orig/units/rescue.target -+++ systemd-221/units/rescue.target -@@ -10,7 +10,8 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service --Conflicts=getty.target -+Conflicts=getty.target emergency.target -+Before=emergency.target - AllowIsolate=yes - - [Install] diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch deleted file mode 100644 index a4a4ba65..00000000 --- a/respect-nfs-bg-option.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- - src/fstab-generator/fstab-generator.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-221/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-221.orig/src/fstab-generator/fstab-generator.c -+++ systemd-221/src/fstab-generator/fstab-generator.c -@@ -289,8 +289,11 @@ static int add_mount( - "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", - source); - -- if (post && !noauto && !nofail && !automount) -- fprintf(f, "Before=%s\n", post); -+ if (post && !noauto && !nofail && !automount) { -+ bool is_nfs = fstype != NULL && streq(fstype, "nfs"); -+ if (!is_nfs || strstr(opts, "bg") == NULL) -+ fprintf(f, "Before=%s\n", post); -+ } - - if (!automount && opts) { - r = write_requires_after(f, opts); diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch deleted file mode 100644 index 37147945..00000000 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Frederic Crozat -Date: Mon, 29 Oct 2012 13:01:20 +0000 -Subject: restore /var/run and /var/lock bind mount if they aren't symlink - ---- - Makefile.am | 9 +++++++++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ - 3 files changed, 47 insertions(+) - create mode 100644 units/var-lock.mount - create mode 100644 units/var-run.mount - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -526,6 +526,12 @@ dist_systemunit_DATA += \ - dist_systemunit_DATA_busnames += \ - units/busnames.target - -+if HAVE_SYSV_COMPAT -+dist_systemunit_DATA += \ -+ units/var-run.mount \ -+ units/var-lock.mount -+endif -+ - nodist_systemunit_DATA = \ - units/getty@.service \ - units/serial-getty@.service \ -@@ -6123,6 +6129,9 @@ GRAPHICAL_TARGET_WANTS += \ - systemd-update-utmp-runlevel.service - RESCUE_TARGET_WANTS += \ - systemd-update-utmp-runlevel.service -+LOCAL_FS_TARGET_WANTS += \ -+ var-run.mount \ -+ var-lock.mount - endif - - SYSINIT_TARGET_WANTS += \ -Index: systemd-221/units/var-lock.mount -=================================================================== ---- /dev/null -+++ systemd-221/units/var-lock.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Lock Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/lock -+ConditionPathIsSymbolicLink=!/var/lock -+ -+[Mount] -+What=/run/lock -+Where=/var/lock -+Type=bind -+Options=bind -Index: systemd-221/units/var-run.mount -=================================================================== ---- /dev/null -+++ systemd-221/units/var-run.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Runtime Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/run -+ConditionPathIsSymbolicLink=!/var/run -+ -+[Mount] -+What=/run -+Where=/var/run -+Type=bind -+Options=bind diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch deleted file mode 100644 index e6474d8d..00000000 --- a/set-and-use-default-logconsole.patch +++ /dev/null @@ -1,175 +0,0 @@ -Use and set default logging console for both journald and kernel messages - ---- - src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ - src/journal/journald-console.h | 3 + - src/journal/journald-server.c | 5 ++ - 3 files changed, 108 insertions(+) - -Index: systemd-228/src/journal/journald-console.c -=================================================================== ---- systemd-228.orig/src/journal/journald-console.c -+++ systemd-228/src/journal/journald-console.c -@@ -22,6 +22,14 @@ - #include - #include - #include -+#ifdef HAVE_SYSV_COMPAT -+# include -+# include -+# include -+# include -+# include -+# include "string-util.h" -+#endif - - #include "alloc-util.h" - #include "fd-util.h" -@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) { - return cached_printk_time; - } - -+void default_tty_path(Server *s) -+{ -+#ifdef HAVE_SYSV_COMPAT -+ static const char list[] = "/dev/tty10\0" "/dev/console\0"; -+ const char *vc; -+ -+ if (s->tty_path) -+ return; -+ -+ NULSTR_FOREACH(vc, list) { -+ _cleanup_close_ int fd = -1; -+ -+ if (access(vc, F_OK) < 0) -+ continue; -+ -+ fd = open_terminal(vc, O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ continue; -+ -+ s->tty_path = strdup(vc); -+ break; -+ } -+#endif -+} -+ -+void klogconsole(Server *s) -+{ -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char *klogconsole_params = NULL; -+ _cleanup_close_ int fd = -1; -+ const char *vc = s->tty_path; -+ const char *num; -+ int tiocl[2]; -+ int r; -+ -+ if (!vc || *vc == 0 || !strneq("/dev/tty", vc, 8)) -+ return; -+ -+ num = vc + strcspn(vc, "0123456789"); -+ if (safe_atoi(num, &r) < 0) -+ return; -+ -+ if (access(vc, F_OK) < 0) -+ return; -+ -+ fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ return; -+ -+ tiocl[0] = TIOCL_SETKMSGREDIRECT; -+ tiocl[1] = r; -+ -+ if (ioctl(fd, TIOCLINUX, tiocl) < 0) -+ return; -+ -+ zero(klogconsole_params); -+ r = parse_env_file("/etc/sysconfig/boot", NEWLINE, -+ "KLOGCONSOLE_PARAMS", &klogconsole_params, -+ NULL); -+ if (r < 0) -+ return; -+ if (!klogconsole_params || *klogconsole_params == 0) -+ return; -+ -+ num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); -+ if (safe_atoi(num, &r) == 0) -+ klogctl(8, 0, r); -+#endif -+} -+ - void server_forward_console( - Server *s, - int priority, -@@ -71,6 +149,12 @@ void server_forward_console( - if (LOG_PRI(priority) > s->max_level_console) - return; - -+#ifdef HAVE_SYSV_COMPAT -+ /* Do not write security/authorization (private) messages to console */ -+ if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) -+ return; -+#endif -+ - /* First: timestamp */ - if (prefix_timestamp()) { - assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -107,7 +191,23 @@ void server_forward_console( - fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); - if (fd < 0) { - log_debug_errno(fd, "Failed to open %s for logging: %m", tty); -+#ifdef HAVE_SYSV_COMPAT -+ if (fd != -ENOENT && fd != -ENODEV) -+ return; -+ if (tty != s->tty_path) -+ return; -+ if (!streq("/dev/console", tty)) { -+ if (s->tty_path) -+ free(s->tty_path); -+ s->tty_path = NULL; -+ tty = "/dev/console"; -+ fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ return; -+ } -+#else - return; -+#endif - } - - if (writev(fd, iovec, n) < 0) -Index: systemd-228/src/journal/journald-console.h -=================================================================== ---- systemd-228.orig/src/journal/journald-console.h -+++ systemd-228/src/journal/journald-console.h -@@ -24,3 +24,6 @@ - #include "journald-server.h" - - void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); -+ -+void klogconsole(Server *s); -+void default_tty_path(Server *s); -Index: systemd-228/src/journal/journald-server.c -=================================================================== ---- systemd-228.orig/src/journal/journald-server.c -+++ systemd-228/src/journal/journald-server.c -@@ -55,6 +55,7 @@ - #include "journald-audit.h" - #include "journald-kmsg.h" - #include "journald-native.h" -+#include "journald-console.h" - #include "journald-rate-limit.h" - #include "journald-server.h" - #include "journald-stream.h" -@@ -1751,6 +1752,10 @@ int server_init(Server *s) { - - server_parse_config_file(s); - server_parse_proc_cmdline(s); -+ default_tty_path(s); -+ -+ if (s->tty_path) -+ klogconsole(s); - - if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { - log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch deleted file mode 100644 index d7ffac19..00000000 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- - Makefile.am | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -4129,11 +4129,11 @@ noinst_LTLIBRARIES += \ - libjournal-core.la - - journal-install-hook: -- -$(MKDIR_P) $(DESTDIR)/var/log/journal -- -chown 0:0 $(DESTDIR)/var/log/journal -- -chmod 755 $(DESTDIR)/var/log/journal -- -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ -- -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ -+ -$(MKDIR_P) $(DESTDIR)/var/log/journal/ -+ -@echo chown 0:0 $(DESTDIR)/var/log/journal/ -+ -chmod 755 $(DESTDIR)/var/log/journal/ -+ -@echo setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ -+ -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ - - journal-uninstall-hook: - -rmdir $(DESTDIR)/var/log/journal/remote diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff deleted file mode 100644 index ce772aac..00000000 --- a/suse-sysv-bootd-support.diff +++ /dev/null @@ -1,80 +0,0 @@ -From: Frederic Crozat -Date: Fri, 12 Apr 2013 16:56:26 +0200 -Subject: Revert "service: drop support for SysV scripts for the early boot" - -This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. - -[Implementation note: currently, the unit is generated, but not -activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] ---- - src/sysv-generator/sysv-generator.c | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -Index: systemd-228/src/sysv-generator/sysv-generator.c -=================================================================== ---- systemd-228.orig/src/sysv-generator/sysv-generator.c -+++ systemd-228/src/sysv-generator/sysv-generator.c -@@ -46,7 +46,8 @@ - - typedef enum RunlevelType { - RUNLEVEL_UP, -- RUNLEVEL_DOWN -+ RUNLEVEL_DOWN, -+ RUNLEVEL_SYSINIT, - } RunlevelType; - - static const struct { -@@ -54,6 +55,9 @@ static const struct { - const char *target; - const RunlevelType type; - } rcnd_table[] = { -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+ - /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, - { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, -@@ -69,10 +73,10 @@ static const struct { - directories in this order, and we want to make sure that - sysv_start_priority is known when we first load the - unit. And that value we only know from S links. Hence -- UP must be read before DOWN */ -+ UP/SYSINIT must be read before DOWN */ - }; - --const char *arg_dest = "/tmp"; -+static const char *arg_dest = "/tmp"; - - typedef struct SysvStub { - char *name; -@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c - _cleanup_free_ char *c = NULL; - char *res; - -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ name += 5; -+ - c = strdup(name); - if (!c) - return NULL; -@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co - - if (de->d_name[0] == 'S') { - -- if (rcnd_table[i].type == RUNLEVEL_UP) -+ if (rcnd_table[i].type == RUNLEVEL_UP || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority); - - r = set_ensure_allocated(&runlevel_services[i], NULL); -@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co - } - - } else if (de->d_name[0] == 'K' && -- (rcnd_table[i].type == RUNLEVEL_DOWN)) { -+ (rcnd_table[i].type == RUNLEVEL_DOWN || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { - - r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) { diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch deleted file mode 100644 index de694a4b..00000000 --- a/systemctl-set-default-target.patch +++ /dev/null @@ -1,30 +0,0 @@ -Mention that --force is required to override an already existing default.target - -This solves the bug bnc#868439 - ---- - man/systemctl.xml | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-221/man/systemctl.xml -=================================================================== ---- systemd-221.orig/man/systemctl.xml -+++ systemd-221/man/systemctl.xml -@@ -439,7 +439,7 @@ - - - -- When used with enable, overwrite -+ When used with enable or set-default, overwrite - any existing conflicting symlinks. - - When used with halt, -@@ -1237,6 +1237,8 @@ kobject-uevent 1 systemd-udevd-kernel.so - Return the default target to boot into. This returns - the target unit name default.target - is aliased (symlinked) to. -+ If combined with , override -+ an already existing symlink for the default target. - - - diff --git a/systemd-4.tar.bz2 b/systemd-4.tar.bz2 new file mode 100644 index 00000000..33cb8239 --- /dev/null +++ b/systemd-4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d569a0624d7ce409cd76ace49d2d853f9e030674e24ea585427b9079f10ba5ba +size 637332 diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch deleted file mode 100644 index bc7985dc..00000000 --- a/systemd-add-user-keep.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- - man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------ - 2 files changed, 43 insertions(+), 6 deletions(-) - -Index: systemd-228/man/tmpfiles.d.xml -=================================================================== ---- systemd-228.orig/man/tmpfiles.d.xml -+++ systemd-228/man/tmpfiles.d.xml -@@ -599,6 +599,9 @@ - f, F, and - w, the argument may be used to specify a short string that - is written to the file, suffixed by a newline. For -+ x, X, a comma separated list of -+ usernames. If given, only paths belonging to these users will be excluded -+ during directory cleanup. Ignored for all other lines. For - C, specifies the source file or - directory. For t and T, - determines extended attributes to be set. For -Index: systemd-228/src/tmpfiles/tmpfiles.c -=================================================================== ---- systemd-228.orig/src/tmpfiles/tmpfiles.c -+++ systemd-228/src/tmpfiles/tmpfiles.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #include "acl-util.h" - #include "alloc-util.h" -@@ -378,6 +379,7 @@ static int dir_cleanup( - struct timespec times[2]; - bool deleted = false; - int r = 0; -+ Item *found = NULL; - - while ((dent = readdir(d))) { - struct stat s; -@@ -428,14 +430,46 @@ static int dir_cleanup( - } - - /* Is there an item configured for this path? */ -- if (ordered_hashmap_get(items, sub_path)) { -- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -- continue; -+ bool found_glob = false; -+ found = ordered_hashmap_get(items, sub_path); -+ if (!found) { -+ found_glob = true; -+ found = find_glob(globs, sub_path); - } - -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -- continue; -+ if (found) { -+ struct passwd *pw; -+ char *userfound = NULL, *args; -+ bool match = false; -+ uid_t uid = -1; -+ -+ /* evaluate username arguments in ignore statements */ -+ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) || -+ !found->argument) { -+ if (found_glob) -+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -+ else -+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -+ continue; -+ } -+ args = strdup(found->argument); -+ assert_se(args != NULL); -+ while ((userfound = strsep(&args, ",")) != NULL) { -+ pw = getpwnam(userfound); -+ if (pw == NULL) { -+ log_error("Unknown user '%s' in ignore statement.", userfound); -+ continue; -+ } -+ uid = pw->pw_uid; -+ if (s.st_uid == uid) { -+ match = true; -+ break; -+ } -+ } -+ if (match) { -+ found = NULL; -+ continue; -+ } - } - - if (S_ISDIR(s.st_mode)) { diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch deleted file mode 100644 index 60b98265..00000000 --- a/systemd-dbus-system-bus-address.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - src/basic/def.h | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -Index: systemd-221/src/basic/def.h -=================================================================== ---- systemd-221.orig/src/basic/def.h -+++ systemd-221/src/basic/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" - #define DEFAULT_SYSTEM_BUS_ADDRESS KERNEL_SYSTEM_BUS_ADDRESS ";" UNIX_SYSTEM_BUS_ADDRESS - #define UNIX_USER_BUS_ADDRESS_FMT "unix:path=%s/bus" -Index: systemd-221/src/libsystemd/sd-bus/sd-bus.c -=================================================================== ---- systemd-221.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-221/src/libsystemd/sd-bus/sd-bus.c -@@ -837,8 +837,8 @@ static int parse_container_unix_address( - b->nspid = 0; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); -+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); - - return 0; - } diff --git a/systemd-install-compat_pkgconfig-always.patch b/systemd-install-compat_pkgconfig-always.patch deleted file mode 100644 index 57fb6129..00000000 --- a/systemd-install-compat_pkgconfig-always.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- - Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -5876,12 +5876,6 @@ lib_LTLIBRARIES += \ - libsystemd-id128.la \ - libsystemd-daemon.la - --pkgconfiglib_DATA += \ -- src/compat-libs/libsystemd-journal.pc \ -- src/compat-libs/libsystemd-login.pc \ -- src/compat-libs/libsystemd-id128.pc \ -- src/compat-libs/libsystemd-daemon.pc -- - # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed - compat-lib-install-hook: - libname=libsystemd-login.so && $(move-to-rootlibdir) -@@ -5899,6 +5893,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install - UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook - endif - -+pkgconfiglib_DATA += \ -+ src/compat-libs/libsystemd-journal.pc \ -+ src/compat-libs/libsystemd-login.pc \ -+ src/compat-libs/libsystemd-id128.pc \ -+ src/compat-libs/libsystemd-daemon.pc -+ - EXTRA_DIST += \ - src/compat-libs/linkwarning.h \ - src/compat-libs/libsystemd-journal.pc.in \ diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc deleted file mode 100644 index a9e12af8..00000000 --- a/systemd-mini-rpmlintrc +++ /dev/null @@ -1,29 +0,0 @@ -addFilter("invalid-pkgconfig-file") -addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") -addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot\.8.*") -addFilter(".*files-duplicate .*/sd_is_socket\.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") -addFilter(".*dbus-policy-allow-receive") -addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") -addFilter(".*dangling-symlink /lib/udev/devices/core.*") -addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot\.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") -addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter(".*libgudev-.*shlib-fixed-dependency.*") -addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") -addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") -addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") -addFilter(".*files-duplicate.*/systemd-logger.*") -addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*missing-call-to-chdir-with-chroot.*") -addFilter(".*systemd-service-without-service.*") -addFilter(".*shlib-policy-missing-suffix.*") -addFilter(".*suse-missing-rclink.*") diff --git a/systemd-mini.changes b/systemd-mini.changes deleted file mode 100644 index a7adef16..00000000 --- a/systemd-mini.changes +++ /dev/null @@ -1,7278 +0,0 @@ -------------------------------------------------------------------- -Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com - -- Make sure we don't use tmpfs on /tmp by default (bsc#940522) - -------------------------------------------------------------------- -Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - -- Avoid enabling readahead services; they have been removed. -- In %install, only process kbd-model-map.xkb-generated if it - exists. Resolves a build failure in 13.2/42.1. - -------------------------------------------------------------------- -Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com - -- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) - Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -------------------------------------------------------------------- -Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 228 -* The various memory-related resource limit settings (such as - LimitAS=) now understand the usual K, M, G, ... suffixes to - the base of 1024 (IEC). Similar, the time-related settings - understand the usual min, h, day, ... suffixes now. -* CPUAffinity= now takes CPU index ranges in addition to just - individual indexes. -* A number of properties previously only settable in unit - files are now also available as properties to set when - creating transient units programmatically via the bus. -- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - (merged upstream) - -------------------------------------------------------------------- -Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru - -- Update to 227. -- Rebase systemd-pam_config.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, - 0014-journald-with-journaling-FS.patch, - 0019-make-completion-smart-to-be-able-to-redirect.patch, - avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, - set-and-use-default-logconsole.patch, - tty-ask-password-agent-on-console.patch, - 0001-bnc888612-logind-polkit-acpi.patch, - watch_resolv.conf_for_become_changed.patch, - 1097-udevd-increase-maximum-number-of-children.patch. -- Remove - 0002-units-enable-waiting-for-unit-termination-in-certain.patch, - 1001-re-enable-by_path-links-for-ata-devices.patch, - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: - fixed upstream. - -------------------------------------------------------------------- -Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de - -- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch - to handle locale at boot time well (boo#927250) -- Be able to use build service environments several times - -------------------------------------------------------------------- -Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de - -- 1096-new-udev-root-symlink-generator.patch: fix substitution in - ExecStart value - -------------------------------------------------------------------- -Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com - -- enable seccomp for aarch64 (fate#318444) - -------------------------------------------------------------------- -Thu Oct 15 14:12:44 UTC 2015 - fbui@suse.com - -- Fix again UEFI for mini package - -------------------------------------------------------------------- -Thu Oct 15 09:07:51 UTC 2015 - jengelh@inai.de - -- Drop one more undesirable Obsoletes/Provides. This should have - been a Conflicts. (There was already a Conflicts, and since - Conflicts go both ways, we won't need a second one.) - -------------------------------------------------------------------- -Thu Oct 15 08:19:00 UTC 2015 - werner@suse.de - -- No UEFI for systemd-mini - -------------------------------------------------------------------- -Mon Oct 12 11:34:13 UTC 2015 - fbui@suse.com - -- Add 2 upstream patches to fix boo#949574 and bsc#932284 - 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - 0002-units-enable-waiting-for-unit-termination-in-certain.patch - -------------------------------------------------------------------- -Fri Oct 9 18:03:02 UTC 2015 - fbui@suse.com - -- Disable systemd-boot on aarch64 since it fails to build. - Error while compiling src/boot/efi/util.o is: - usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory - -------------------------------------------------------------------- -Fri Oct 9 07:16:45 UTC 2015 - fbui@suse.com - -- Fix UEFI detection logic: basically we let configure.ac figure out - if UEFI is supported by the current build environment. No need to - clutter the spec file with a new conditionnal %has_efi. - -- Provide systemd-bootx64.efi (aka gummiboot) - -------------------------------------------------------------------- -Tue Oct 6 15:13:04 UTC 2015 - werner@suse.de - -- Modify patch tty-ask-password-agent-on-console.patch to reflect - the changes done for pull request 1432 - -------------------------------------------------------------------- -Thu Oct 1 15:58:32 UTC 2015 - jengelh@inai.de - -- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle. -- Provide systemd-sysv-install program/link [bnc#948353] - -------------------------------------------------------------------- -Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de - -- Fix patch tty-ask-password-agent-on-console.patch not to crash - away but enable it to ask on all devices of /dev/console - -------------------------------------------------------------------- -Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de - -- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" - waring occurring in %post - -------------------------------------------------------------------- -Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de - -- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch - to avoid broken virtual console mapping due stressed ioctl API - for the virtual consoles (boo#904214) - -------------------------------------------------------------------- -Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de - -- Fix last change that is use the new name for udev packages in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com - -- restore usage of LUA in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de - -- Try to generate the systemd users and groups always in same order - to avoid republish other packages (boo#944660) - -------------------------------------------------------------------- -Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com - -- cleanup specfile by removing commands that were dealing with systemd - pre-generated files: we're now using systemd tarball generated directly - from the git repo which doesn't contain any of these files. -- there's no point in using LUA in %pretrans - -------------------------------------------------------------------- -Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com - -- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch - -This patch was initialy added to workaround bsc#842844. But it -appears that man(1) was fixed (included since 13.2 at least) to -handle manual pages that consist only of a .so directive such as -'.so '. - -------------------------------------------------------------------- -Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de - -- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to - make it work on big endian - -------------------------------------------------------------------- -Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de - -- Use Obsolete/Provides strategy from - windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap - cycle and kick out -mini afterwards. - -------------------------------------------------------------------- -Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 224 -* systemd-networkd gained a number of new configuration options - for DHCP, tunnels and bridges -* systemd-efi-boot-generator functionality was merged into - systemd-gpt-auto-generator. - -------------------------------------------------------------------- -Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com - -- /usr/share/systemd/kbd-model-map: added entries for - xkeyboard-config converted keymaps; mappings, which already - exist in original systemd mapping table are being ignored - though, i.e. not overwritten; needs kbd in buildrequires - (FATE#318426) - -------------------------------------------------------------------- -Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com - -- hostname-NULL.patch: Work around a crash on XEN hosts - in OBS. /etc/hostname is not present and systemd then does - strchr(hostname,soemthing) with hostname NULL. - -------------------------------------------------------------------- -Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de - -- Add Correct_assert_on_unexpected_error_code.patch to work around - a problem of an assert on ENODEV for closing fd on an input - event device (boo#939571) - -------------------------------------------------------------------- -Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de - -- Remove udev-generate-rules.sh, apparently not used by anything in - the systemd nor udev-persistent-ifnames package. - -------------------------------------------------------------------- -Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org - -- Systemd v222, bugfix release. -- Drop upstream patches -0006-pam_systemd-Properly-check-kdbus-availability.patch -0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch -0031-install-fix-bad-memory-access.patch -1032-ata_id-unbotch-format-specifier.patch -- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch - udev does no longer enable USB HID power management at all. -- The udev accelerometer helper was removed, obsoleted by - iio-sensor-proxy package. -- networkd gained a new configuration option IPv6PrivacyExtensions. -- udev does not longer support the WAIT_FOR_SYSFS= key in udev - rules. There are no known issues with current sysfs, - and udev does not need or should be used to work around such bugs. - -------------------------------------------------------------------- -Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de - -- Avoid restarting logind [bnc#934901] -- Do not suppress errors in any case, even if they are ignored - -------------------------------------------------------------------- -Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix devel package requires (both mini and real required real libsystemd0) - -------------------------------------------------------------------- -Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de - -- Rework patch tty-ask-password-agent-on-console.patch to fit the - requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 - -------------------------------------------------------------------- -Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de - -- Rework "-mini" package logic to not conflict with itself and - then add libsystemd0 to mini. - -------------------------------------------------------------------- -Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org - -- remove SysVStartPriority= from after-local.service, - unsupported since v218. - Note that this option was only parsed and that's it. the logic - to give "start priority" was never implemented. - -------------------------------------------------------------------- -Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org - -- change the default fallback ntp servers to the opensuse - pool.ntp.org vendor zone. -- We still need to run systemd-sysctl.service after local-fs.target - otherwise it works only when /boot is in the root filesystem but - not when it is a separate partition. - -------------------------------------------------------------------- -Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com - -- Obsolete pm-utils and suspend (boo#925873). -- Remove pm-utils support - (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). - -------------------------------------------------------------------- -Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org - -- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch - from the filelist. - -------------------------------------------------------------------- -Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org - -- libpcre, glib2 and libusb are not used by systemd, remove - from buildrequires. - -------------------------------------------------------------------- -Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org - -- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id - output. -- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch - fix StopWhenUnneeded=true in combination with a Requisite= - dependency. -- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access -- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if - kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS - must not be exported. -- spec: add a min_kernel_version macro to ensure the package - conflicts with kernel versions in which systemd cannot run. - -------------------------------------------------------------------- -Wed Jun 24 20:06:27 UTC 2015 - crrodriguez@opensuse.org - -- sysctl-handle-boot-sysctl.conf-kernel_release.patch dropped, - replaced by a tmpfiles.d snippet "current-kernel-sysctl.conf" - (feature implemented in v220 just for our usecase) - -------------------------------------------------------------------- -Wed Jun 24 19:45:17 UTC 2015 - crrodriguez@opensuse.org - -- fix build when resolved is enabled -- remove fsck -l test in spec file, systemd requires util-linux - 2.26 or later where this feature is already available. - -------------------------------------------------------------------- -Wed Jun 24 17:43:22 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix bootstrap build by guarding filelists (man pages don't get - built in bootstrap mode) -- Drop commented sections from baselibs.conf, allows format_spec_file - to have a successful run - -------------------------------------------------------------------- -Wed Jun 24 14:17:04 UTC 2015 - mpluskal@suse.com - -- Install 50-coredump.conf as coredumpctl is now installed by - default and does not use journal anymore as default storage - -------------------------------------------------------------------- -Fri Jun 19 20:51:14 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 221 -* From 220: -* libgudev was moved into a package of its own -* Runlevels 2, 3 and 4 are no longer distinct, they all map to - multi-user.target. -* The EFI System Partition mounted to /boot will be unmounted - 2 minutes after boot. -* systemd does not support direct live-upgrades (via `systemctl - daemon-reexec`) from versions older than v44 anymore. -* systemd-nspawn may now be called as part of a shell pipeline. -* systemd-shutdownd has been removed. This service was - previously responsible for implementing scheduled shutdowns - as exposed in /usr/bin/shutdown's time parameter. This - functionality has now been moved into systemd-logind and is - accessible via a bus interface. -* udev will no longer call blkid and create symlinks for all - block devices, but merely those from a whitelist - (cf. 60-persistent-storage.rules). -* /usr/lib/os-release gained a new optional field VARIANT= -* Details at - http://lists.freedesktop.org/archives/systemd-devel/2015-May/032147.html -* From 221: -* New sd-bus and sd-event APIs in libsystemd -* If there is both a systemd unit and a SysV init script for the - same service name, and `systemctl enable` or other operation is - run, both will now be enabled (or execute the related operation - on both), not just the unit. -- Split libsystemd0 to support systemd-less nspawn containers -- Redo manpage file lists without %exclude, tends to hide - unpackaged files. -- hwdb belongs to udev -- Resolve memory leak and add missing _cleanup_free_ to - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -- Remove systemd-powerd-initctl-support.patch - (no longer builds because shutdownd is gone) -- Remove quilt-patches/0001-core-rework-device-state-logic.patch, - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (merged upstream), - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (obsolete) - -------------------------------------------------------------------- -Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de - -- Remove libudev0 from baselibs.conf - -------------------------------------------------------------------- -Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de - -- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - as now upstream code -- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix - bsc#933365 and boo#934077 - -------------------------------------------------------------------- -Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com - -- Add 1098-systemd-networkd-alias-network-service.patch to alias - network.service the same way NetworkManager and wicked does. - This is needed by yast2 and other parts of the system. boo#933092 - -------------------------------------------------------------------- -Mon May 18 14:39:47 UTC 2015 - werner@suse.de - -- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use - the new return values of proc_cmdline() in enable_name_policy() - this should fix boo#931165 - -------------------------------------------------------------------- -Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de - -- Drop 1021-udev-re-add-persistent-net-rules.patch, - 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, - 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, - 1046-fix-duplicated-rules-with-layer3-interfaces.patch, - 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, - 1051-check-if-NAME-has-a-value.patch, - 1053-better-checks-in-write_net_rules.patch, - 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. - 1021 originally broke parsing of net.ifnames=0 [bnc#931165], - and given that neither the kernel command line needs to be - touched nor the source be patched to reach the unpredictable - naming setup for SLE, all these parts are moved to a separate - package. - -------------------------------------------------------------------- -Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de - -- Add upstream patch - 0001-core-don-t-change-removed-devices-to-state-tentative.patch - to fix the fix of the last backport (bsc#921898) - -------------------------------------------------------------------- -Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de - -- Reenable networkd which was silently disabled on Feb 18 - -------------------------------------------------------------------- -Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de - -- Add 0001-core-rework-device-state-logic.patch to fix spurious - automated umount after mount. - -------------------------------------------------------------------- -Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com - -- mark more subpackages as !bootstrap for systemd-mini usage. - -------------------------------------------------------------------- -Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org - -- spec : remove --with-firmware-path, firmware loader was removed in v217 -- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) -- spec: Do not enable systemd-readahead-collect.service and -systemd-readahead-replay.service as these do not exist anymore. -- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch - Yast was fixed to write all timezone changes exactly how timedated expects - things to be done. -- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg - package handles the migration from /etc/HOSTNAME to /etc/hostname - and owns both files. --spec: remove boot.udev and systemd-journald.init as they currently - serve no purpose. -- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we - are in sysvcompat-only codepath, also remove the code targetting other - distributions, never compiled as the TARGET_$DISTRO macros are never defined. -- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT -- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards -- insserv-generator.patch: Only build when sysvcompat is enabled -- vhangup-on-all-consoles.patch add a comment indicating this is a workaround - for a kernel bug. -- spec: Add option to allow disabling sysvinit compat at build time. -- spec: Add option to enable resolved at build time. -- spec: Remove all %ifs for !factory products, current systemd releases can - neither be built nor installed in older products without upgrading - several components of the base system. - (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) -- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when - those init scripts still existed. (dummy localfs.service source: gone) -- systemd-sleep-grub: moved to the grub2 package where it belongs as a - suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) -- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds - config.h everywhere in the preprocessor cmdline. - -------------------------------------------------------------------- -Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 219 -* systemd units can now be "unsupported" (like, for example, - .device in a containers), similar to the "skipped" state in - SUSE's prior sysvinit scripts. -* tmpfiles gained the 'v' type for creating btrfs subvolumes. -* tmpfiles gained the 'a' type for setting ACLs. -* systemd-nspawn gained new switches: --ephemeral, --template -* The /var/lib/containers location is deprecated and replaced by - /var/lib/machines. -* machinectl gained the copy-from and copy-to commands. -* machinectl now knows a "bind" command (for use with nspawn) -* new "systemd-importd" daemon to download container images and run - them as nspawn containers. -* networkd collects LLDP network announcements, if available, and - so shown in networkctl. -* The fallback terminal type was changed from "vt102" to "vt220", - allowing PgUp/PgDn keys to work. -* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, - useful should the regular shutdown hang. -* Removing storage will cause systemd to unmount the associated - mountpoints so that they don't linger around. - -------------------------------------------------------------------- -Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de - -- Add suse-sysv-bootd-support.diff (reinstate old - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) - -------------------------------------------------------------------- -Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de - -- Update to systemd v218-1050-g38ab096 -- Remove patches - use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) -- Reinstate and improve (remove huge indents from) - tty-ask-password-agent-on-console.patch, - 0014-journald-with-journaling-FS.patch, rootsymlink_generator. - -------------------------------------------------------------------- -Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com - -- disable systemd-resolved for now as it interacts not well with - our methods and security has concerns regarding spoofing. bsc#917781 - -------------------------------------------------------------------- -Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - -- Add patch kbd-model-map.patch to add missed keyboard layouts - which are offered by YaST2 (bsc#910643 and boo#897803) - -------------------------------------------------------------------- -Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 218 -* New utilities: systemd-timesyncd (SNTP client), - systemd-resolved, systemd-networkd, networkctl, - systemd-sysusers -* machinectl gained a "poweroff" command for clean container shutdown -* The udev hwdb now contains DPI information for mice. -* Userspace firmware loading support has been removed and - the minimum supported kernel version is thus bumped to 3.7. -- Remove patches: - G=gone locally, is upstream; - D=dropped: no longer needed; - N=no longer applies to source nor is it deemed needed; - K=killed: no longer applicable and too complex to resolve: - ---- - G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch - K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch - K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch - K handle-SYSTEMCTL_OPTIONS-environment-variable.patch - K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - K log-target-null-instead-kmsg.patch - K tty-ask-password-agent-on-console.patch - K 513-nspawn-veth.patch - K 1087-infinit-timeout-for-kmod-loaded-modules.patch - D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - D avoid-leaking-socket-descriptors.patch - D 0001-make-fortify-happy-with-ppoll.patch - N fix-owner-of-var-log-btmp.patch - N disable-nss-myhostname-warning-bnc-783841.patch - N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch - N 0001-make-209-working-on-older-dist.patch - N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - N tmpfiles-do-not-clean-for-mandb-index-files.patch - G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc - G optionally-warn-if-nss-myhostname-is-called.patch - G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - G 0004-getty-generator-properly-escape-instance-names.patch - G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - G 0008-Reset-signal-mask-on-re-exec-to-init.patch - G 0001-login-fix-pos-array-allocation.patch - G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch - G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - G 0005-Replace-var-run-with-run-in-remaining-places.patch - G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch - G 0007-README-document-that-var-run-must-be-a-symlink-run.patch - G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch - G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch - G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - G 0001-Fix-systemd-stdio-bridge-symlink.patch - G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - G 0004-man-document-missing-options-of-systemd-run.patch - G 0005-systemd-run-add-some-extra-safety-checks.patch - G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - G 0007-journal-forget-file-after-encountering-an-error.patch - G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - G 0010-man-update-link-to-LSB.patch - G 0011-man-systemd-bootchart-fix-spacing-in-command.patch - G 0012-man-add-missing-comma.patch - G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - G 0002-manager-flush-memory-stream-before-using-the-buffer.patch - G 0003-busname-don-t-drop-service-from-the-result-string.patch - G 0004-fix-off-by-one-error-in-array-index-assertion.patch - G 0005-logind-fix-policykit-checks.patch - G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - G 0007-networkd-fix-typo.patch - G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - G 0012-journald-remove-stray-reset-of-error-return-value.patch - G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - G 0005-sd-daemon-fix-incorrect-variable-access.patch - G 0006-sd-event-initialization-perturbation-value-right-bef.patch - G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch - G 0001-journal-fix-export-of-messages-containing-newlines.patch - G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - G 0003-tty-ask-password-agent-return-negative-errno.patch - G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - G 0005-systemd-python-fix-failing-assert.patch - G 0007-dbus-suppress-duplicate-and-misleading-messages.patch - G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - G 0001-bash-completion-fix-__get_startable_units.patch - G 0002-sysctl-replaces-some-slashes-with-dots.patch - G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - G 0004-implement-a-union-to-pad-out-file_handle.patch - G shut-up-annoying-assertion-monotonic-clock-message.patch - G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - G 0003-analyze-fix-plot-with-bad-y-size.patch - G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - G 0002-backlight-do-nothing-if-max_brightness-is-0.patch - G 0003-backlight-unify-error-messages.patch - G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - G 0001-core-close-socket-fds-asynchronously.patch - G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - G 0002-logind-fix-printf-format.patch - G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - G 0008-man-update-journald-rate-limit-defaults.patch - G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - G 0010-logind-allow-suspending-if-there-are-no-displays.patch - G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - G 0002-man-note-that-entire-sections-can-now-be-ignored.patch - G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - G 0006-login-add-mir-to-the-list-of-session-types.patch - G 0007-logind-fix-Display-property-of-user-objects.patch - G 0001-hwdb-update.patch - G 0002-hwdb-update.patch - G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - G 0004-hwdb-update.patch - G 0005-hwdb-update.patch - G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - G 0002-journal-properly-detect-language-specified-in-line.patch - G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - G 0002-nspawn-restore-journal-directory-is-empty-check.patch - G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - G 0004-socket-properly-handle-if-our-service-vanished-durin.patch - G 0001-Do-not-unescape-unit-names-in-Install-section.patch - G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - G 0001-virt-rework-container-detection-logic.patch - G 0002-fsck-include-device-name-in-the-message-about-missin.patch - G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - G 0004-util-ignore_file-should-not-allow-files-ending-with.patch - G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch - G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch - G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - G 0001-hwdb-fix-case-sensitive-match.patch - G 0001-sd-event-restore-correct-timeout-behaviour.patch - G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - G 0001-umount-modernizations.patch - G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - G 0003-core-allow-transient-mount-units.patch - G 0004-systemd-detect-virt-only-discover-Xen-domU.patch - G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - G 0001-core-fix-invalid-free-in-killall.patch - G 0003-install-fix-invalid-free-in-unit_file_mask.patch - G 0001-systemd-detect-virt-detect-s390-virtualization.patch - G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - G 0005-po-add-Greek-translation.patch - G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0007-po-add-German-translation.patch - G 0009-core-clean-up-signal-reset-logic-when-reexec.patch - G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - G 0012-core-transaction-avoid-misleading-error-message-when.patch - G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - G 0005-man-fix-path-in-crypttab-5.patch - G 0001-units-order-network-online.target-after-network.targ.patch - G 0001-core-use-correct-format-string-for-UIDs.patch - G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - G 0002-journald-make-MaxFileSec-really-default-to-1month.patch - G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - G 0001-parse_uid-return-ENXIO-for-1-uids.patch - G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - G 0003-localed-consider-an-unset-model-as-a-wildcard.patch - G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - G 0005-bus-close-a-bus-that-failed-to-connect.patch - G 0006-hwdb-update.patch - G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-architecture-Add-tilegx.patch - G 0002-architecture-Add-cris.patch - G 0003-arch-add-crisv32-to-uname-check.patch - G 0004-architecture-remove-cris-from-uname-list.patch - G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - G 0002-namespace-fix-uninitialized-memory-access.patch - G 0001-machine-don-t-return-uninitialized-variable.patch - G 0002-vconsole-setup-run-setfont-before-loadkeys.patch - G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - G 0007-service-flush-status-text-and-errno-values-each-time.patch - G 0001-journal-compress-return-early-in-uncompress_startswi.patch - G 0002-journal-compress-improve-xz-compression-performance.patch - G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch - G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - G 0001-event-pull-in-sd-event.h-from-event-util.h.patch - G 0002-util-fix-has-cc-check-and-add-test.patch - G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - G 0004-fileio-quote-more-shell-characters-in-envfiles.patch - G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - G 0002-units-serial-getty-.service-use-the-default-RestartS.patch - G 0001-po-add-Ukrainian-translation.patch - G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - G 0001-detect-virt-Fix-Xen-domU-discovery.patch - G 0002-Be-more-verbose-when-bind-or-listen-fails.patch - G 0003-Add-quotes-to-warning-message.patch - G 0004-systemd-return-the-first-error-from-manager_startup.patch - G 0001-bash-completion-p-option-for-journalctl.patch - G 0002-journalctl-man-allow-only-between-terms.patch - G 0003-systemd-use-pager-for-test-and-help.patch - G 0001-bus-proxyd-fix-incorrect-comparison.patch - G 0002-shell-completion-prevent-mangling-unit-names.patch - G 0003-Always-check-asprintf-return-code.patch - G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - G 0006-parse_boolean-require-exact-matches.patch - G 0007-drop_duplicates-copy-full-BindMount-struct.patch - G 0008-shell-completion-prevent-mangling-unit-names-bash.patch - G 0009-journald-always-add-syslog-facility-for-messages-com.patch - G 0001-sysv-order-initscripts-which-provide-network-before-.patch - G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - G 0003-keymap-Annotate-all-micmute-workarounds.patch - G 0007-hwdb-update.patch - G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - G 0002-switch-root-umount-the-old-root-correctly.patch - G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - G 0006-login-share-VT-signal-handler-between-sessions.patch - G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - G 0003-keymap-Fix-HP-Pavillon-DV7.patch - G 0004-hwdb-update-format-description-and-document-reloadin.patch - G 0008-hwdb-update.patch - G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - G 0001-login-fix-memory-leak-on-DropController.patch - G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - G 0001-nspawn-fix-network-interface.patch - G 0001-completion-filter-templates-from-restartable-units.patch - G 0002-systemd-fix-error-message.patch - G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - G 0004-config-parser-fix-mem-leak.patch - G 0005-login-fix-mem-leak.patch - G 0001-login-simplify-controller-handling.patch - G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0009-hwdb-update.patch - G 0001-systemctl-allow-to-change-the-default-target-without.patch - G 0001-activate-fix-fd-leak-in-do_accept.patch - G 0002-analyze-avoid-a-null-dereference.patch - G 0003-analyze-fix-mem-leak.patch - G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - G 0006-bus-unref-buscreds-on-failure.patch - G 0007-core-fix-a-potential-mem-leak.patch - G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - G 0009-journal-do-not-leak-mmaps-on-OOM.patch - G 0010-manager-use-correct-cleanup-function.patch - G 0001-core-fix-resource-leak-in-manager_environment_add.patch - G 0002-util-remove-a-unnecessary-check.patch - G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - G 0004-shared-conf-parser.patch - G 0005-logind-fix-typo.patch - G 0006-systemctl-fix-resource-leak-CID-1237747.patch - G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - G 0003-mount-order-options-before-other-arguments-to-mount.patch - G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - G 0005-shared-label.h-add-missing-stdio.h-include.patch - G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - G 0001-login-pause-devices-before-acknowledging-VT-switches.patch - G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - G 0001-socket-introduce-SELinuxContextFromNet-option.patch - G 0002-util-avoid-non-portable-__WORDSIZE.patch - G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - G 0002-bus-remove-unused-check.patch - G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - G 0001-logind-add-support-for-Triton2-Power-Button.patch - G 0002-logind-add-support-for-TPS65217-Power-Button.patch - G 0001-shutdownd-clean-up-initialization-of-struct.patch - G 0003-bootchart-parse-userinput-with-safe_atoi.patch - G 0004-bootchart-check-return-of-strftime.patch - G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - G 0001-journalctl-do-not-output-reboot-markers-when-running.patch - G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - G 0003-fileio-label-return-error-when-writing-fails.patch - G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - G 0004-sd-event-check-the-value-of-received-signal.patch - G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - G 0003-sd-bus-check-return-value-of-vasprintf.patch - G 0004-core-map-the-rescue-argument-to-rescue.target.patch - G 0005-util-avoid-double-close-of-fd.patch - G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - G 0001-tmpfiles-compare-return-against-correct-errno.patch - G 0001-shell-completion-fix-completion-of-inactive-units.patch - G 0002-shell-completion-propose-templates-for-disable-re-en.patch - G 0003-man-we-don-t-have-Wanted-dependency.patch - G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - G 0001-systemd-continue-switch-root-even-if-umount-fails.patch - G 0002-systemd-try-harder-to-bind-to-notify-socket.patch - G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - G 0004-journal-do-server_vacuum-for-sigusr1.patch - G 0005-cryptsetup-fix-an-OOM-check.patch - G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch - G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - G 0005-journalctl-correct-help-text-for-until.patch - G 0006-calendarspec-fix-typo-in-annually.patch - G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - G 0008-util-introduce-sethostname_idempotent.patch - G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch - G 0012-manager-do-not-print-anything-while-passwords-are-be.patch - G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - G 0002-snapshot-return-error-when-snapshot-exists.patch - G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - G 0004-Raise-level-of-Found-dependency.-lines.patch - G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - G 0006-journald-fix-minor-memory-leak.patch - G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - G 0008-journald-fix-memory-leak-on-error-path.patch - G 0009-units-make-systemd-journald.service-Type-notify.patch - G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - G 0001-systemctl-let-list-units-unit-files-honour-type.patch - G 0002-systemctl-obey-state-in-list-unit-files.patch - G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - G 0001-selinux-access-fix-broken-ternary-operator.patch - G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - G 0004-core-fix-transaction-destructiveness-check-once-more.patch - G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch - G 1009-cdrom_id-use-the-old-MMC-fallback.patch - G 1010-udev-increase-result-size-for-programs.patch - G 1014-udev-update-net_id-comments.patch - G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - G 1017-udev-serialize-synchronize-block-device-event-handli.patch - G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - G 1019-udev-avoid-use-of-uninitialized-err.patch - G 1020-udev-keyboard-also-hook-into-change-events.patch - G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - G 1024-udev-always-close-lock-file-descriptor.patch - G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - G 1026-udevd-inotify-modernizations.patch - G 1027-udev-synthesize-change-events-for-partitions-when-to.patch - G 1028-udev-link-config-fix-mem-leak.patch - G 1029-udev-try-first-re-reading-the-partition-table.patch - G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - G 1033-udev-really-exclude-device-mapper-from-block-device.patch - G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - G 1038-udev-fix-invalid-free-in-enable_name_policy.patch - G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch - G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch - G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - G 1044-rules-update-qemu-hid-rules.patch - G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - G 1048-udev-net_setup_link-add-a-bit-more-logging.patch - G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - G 1056-udevd-add-event-timeout-commandline-option.patch - G 1057-udev-unify-event-timeout-handling.patch - G 1058-udev-unify-event-timeout-handling.patch - G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - G 1065-udev-bump-event-timeout-to-60-seconds.patch - G 1067-udev-always-resolve-correctly-database-names-on-chan.patch - G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - G 1070-rules-net-setup-link-remove-stray-linebreak.patch - G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - G 1072-udev-netif_rename-don-t-log-to-kmsg.patch - G 1073-udev-drop-print_kmsg.patch - G 1074-udev-fix-copy-paste-error-in-log-message.patch - G 1075-udev-timeout-increase-timeout.patch - G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1078-udev-remove-userspace-firmware-loading-support.patch - G 1079-udev-remove-userspace-firmware-loading-support.patch - G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - G 1081-udevd-check-return-of-various-functions.patch - G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - G 1083-udev-node-warn-if-chmod-chown-fails.patch - G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - G 1085-udev-fix-typos.patch - G 1086-udevd-don-t-fail-if-run-udev-exists.patch - G 1089-fix-cgroup-device-controller.patch - G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - G 1091-udev-path_id-update-comments.patch - G 1092-libudev-do-not-accept-invalid-log-levels.patch - G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com - -- update set-and-use-default-logconsole.patch - fix comparison of - console log facility that caused journald to skip output to console - (boo#912030) - -------------------------------------------------------------------- -Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de - -- Use Robert's latest patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which drops NAMEPOLICY_KERNEL as this breaks all on current - systems out there - -------------------------------------------------------------------- -Wed Dec 17 14:57:42 UTC 2014 - thomas.blume@suse.com - -- remove 0022-systemd-tmpfiles-ownerkeep.patch since this is now - implemented into the systemd-tmpfiles binary -- add user based ignore statements in tmpfiles removal directives - (bnc#903009) - add systemd-add-user-keep.patch - -------------------------------------------------------------------- -Tue Dec 16 09:45:38 UTC 2014 - thomas.blume@suse.com - -- use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) - add upstream patches: - 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - 0002-man-tmpfiles.d-recommend-using-b-and-c.patch (adapted) - -------------------------------------------------------------------- -Tue Dec 16 08:59:08 UTC 2014 - werner@suse.de - -- Update patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - to Robert's version - -------------------------------------------------------------------- -Mon Dec 15 15:02:22 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-selinux-access-fix-broken-ternary-operator.patch - 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - 0004-core-fix-transaction-destructiveness-check-once-more.patch -- Avoid old net devices naming scheme on openSUSE 13.2 and less - maybe caused by patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com - -- fix systemd-nspawn network-veth support (bnc#906709) - add 513-nspawn-veth.patch - -------------------------------------------------------------------- -Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de - -- Add upstream patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which may solve bsc#907318 - -------------------------------------------------------------------- -Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - -------------------------------------------------------------------- -Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com - -- Change the maximum number of children from CPU_COUNT * 256 to - CPU_COUNT * 64. - Update 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Thu Nov 27 20:30:35 UTC 2014 - rmilasan@suse.com - -- Increase number of children/workers to CPU_COUNT * 256 to avoid - 'maximum number of children reached' (bnc#907393). - Add 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com - -- Fix error return in rootsymlink_generator.c - Update 1096-new-udev-root-symlink-generator.patch - -------------------------------------------------------------------- -Fri Nov 21 13:35:40 UTC 2014 - werner@suse.de - -- Remove upstream patch - 0001-systemd-logind.service-set-Type-notify.patch - as systemd-logind.service is already from DBus type, compare with - upstream commit eab459bc0639b81b32735f36d3e929e4bfa2cb4b - -------------------------------------------------------------------- -Thu Nov 20 13:45:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-logind.service-set-Type-notify.patch - 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - -------------------------------------------------------------------- -Thu Nov 20 12:18:57 UTC 2014 - werner@suse.de - -- Re-add directory /usr/lib/systemd/system/basic.target.wants - -------------------------------------------------------------------- -Wed Nov 19 15:07:43 UTC 2014 - gber@opensuse.org - -- remove pm-utils-hooks-compat.sh again, pm-utils built-in hooks - partially duplicate hooks run by systemd which may potentially - lead to problems, instead temporarily re-enable - Forward-suspend-hibernate-calls-to-pm-utils.patch until - boo#904828 can be addressed properly - -------------------------------------------------------------------- -Wed Nov 19 00:58:00 UTC 2014 - Led - -- fix bashisms in write_net_rules script -- update patches: - * 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Tue Nov 18 10:26:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-let-list-units-unit-files-honour-type.patch - 0002-systemctl-obey-state-in-list-unit-files.patch - which allows to use --type in the systemctl command list-units - and list-unit-files. - -------------------------------------------------------------------- -Tue Nov 18 10:10:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - -------------------------------------------------------------------- -Thu Nov 13 14:47:17 UTC 2014 - rmilasan@suse.com - -- New root symlink rule generator - Add 1096-new-udev-root-symlink-generator.patch -- Remove write_dev_root_rule and systemd-udev-root-symlink - -------------------------------------------------------------------- -Thu Nov 13 12:59:05 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip hdflush as well as hddown but only use halt as fallback - for poweroff as well as synch in systemctl before any reboot command - (compare with commit 4a3ad39957399c4a30fc472a804e72907ecaa4f9) - -------------------------------------------------------------------- -Thu Nov 13 09:54:35 UTC 2014 - rmilasan@suse.com - -- Create rule to set I/O scheduler to deadline if device attribute - 'rotational' equals 0, usually SSDs (bnc#904517). - Add 1095-set-ssd-disk-to-use-deadline-scheduler.patch - -------------------------------------------------------------------- -Thu Nov 13 07:50:49 UTC 2014 - thomas.blume@suse.com - -- fix systemd-fstab-generator crypttab parsing (bnc#903963) - -------------------------------------------------------------------- -Tue Nov 11 19:10:35 UTC 2014 - gber@opensuse.org - -- Add pm-utils-hooks-compat.sh in order to run pm-utils sleep hooks - from systemd (boo#904828) - -------------------------------------------------------------------- -Mon Nov 10 14:23:00 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - -------------------------------------------------------------------- -Mon Nov 10 12:39:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - 0002-snapshot-return-error-when-snapshot-exists.patch - 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - 0004-Raise-level-of-Found-dependency.-lines.patch - 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - 0006-journald-fix-minor-memory-leak.patch - 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - 0008-journald-fix-memory-leak-on-error-path.patch - 0009-units-make-systemd-journald.service-Type-notify.patch - 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Mon Nov 10 12:36:34 UTC 2014 - werner@suse.de - -- Add upstream patches - 1092-libudev-do-not-accept-invalid-log-levels.patch - 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - -------------------------------------------------------------------- -Fri Nov 7 09:45:20 UTC 2014 - werner@suse.de - -- Add patch watch_resolv.conf_for_become_changed.patch to add an - inotify watch on /etc/resolv.conf which enables the reload of - a changed resolver configuration on the fly (bsc#902901) -- Do not apply patch 0022-systemd-tmpfiles-ownerkeep.patch in case - if the script /usr/bin/systemd-tmpfiles-keep is missed - -------------------------------------------------------------------- -Mon Nov 3 14:23:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - -------------------------------------------------------------------- -Mon Nov 3 14:17:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - 1091-udev-path_id-update-comments.patch - which will be applied if patch - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - is applied a this may fix the trouble with iSCSI (bnc#898233) - -------------------------------------------------------------------- -Thu Oct 30 10:45:01 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - 0005-journalctl-correct-help-text-for-until.patch - 0006-calendarspec-fix-typo-in-annually.patch - 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - 0008-util-introduce-sethostname_idempotent.patch - 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -- Replace patch - keep-crypt-password-prompt.patch as this with - upstream patch - 0012-manager-do-not-print-anything-while-passwords-are-be.patch - -------------------------------------------------------------------- -Fri Oct 24 13:02:45 UTC 2014 - werner@suse.de - -- Add upstream patch - 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -- Add patch journald-advice-about-use-of-memory.patch to use mmap() - flags as well as madvise(2) for journal files. - -------------------------------------------------------------------- -Thu Oct 23 14:05:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - 0004-journal-do-server_vacuum-for-sigusr1.patch - 0005-cryptsetup-fix-an-OOM-check.patch - -------------------------------------------------------------------- -Wed Oct 22 13:56:22 UTC 2014 - werner@suse.de - -- Add upstream patch 1089-fix-cgroup-device-controller.patch - to avoid trouble on existing /dev/console with nspawn (bsc#902240) - -------------------------------------------------------------------- -Tue Oct 21 11:03:31 UTC 2014 - werner@suse.de - -- Modify patch avoid-leaking-socket-descriptors.patch to close - file descriptors for incomming connections in pam module in case - of short memory. - -------------------------------------------------------------------- -Mon Oct 20 14:10:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-continue-switch-root-even-if-umount-fails.patch - 0002-systemd-try-harder-to-bind-to-notify-socket.patch -- Add patch avoid-leaking-socket-descriptors.patch to close - file descriptors if an incomming connection can not be handled - due e.g. short memory. Could be related to bsc #901481 - -------------------------------------------------------------------- -Wed Oct 15 12:03:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-shell-completion-fix-completion-of-inactive-units.patch - 0002-shell-completion-propose-templates-for-disable-re-en.patch - 0003-man-we-don-t-have-Wanted-dependency.patch - 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - -------------------------------------------------------------------- -Wed Oct 15 08:48:36 UTC 2014 - werner@suse.de - -- Adapt patch - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - to make it work even with patch #438 and #439 - -------------------------------------------------------------------- -Tue Oct 14 16:23:51 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - 0001-tmpfiles-compare-return-against-correct-errno.patch - -------------------------------------------------------------------- -Tue Oct 14 16:19:42 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - 0003-sd-bus-check-return-value-of-vasprintf.patch - 0004-core-map-the-rescue-argument-to-rescue.target.patch - 0005-util-avoid-double-close-of-fd.patch - -------------------------------------------------------------------- -Tue Oct 14 16:18:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - 0003-fileio-label-return-error-when-writing-fails.patch - 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - 0004-sd-event-check-the-value-of-received-signal.patch - 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - -------------------------------------------------------------------- -Tue Oct 14 14:46:58 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue Oct 14 14:16:52 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journalctl-do-not-output-reboot-markers-when-running.patch - 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - -------------------------------------------------------------------- -Tue Oct 14 13:58:45 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-logind-add-support-for-Triton2-Power-Button.patch - 0002-logind-add-support-for-TPS65217-Power-Button.patch -- Add upstream patches - 0001-shutdownd-clean-up-initialization-of-struct.patch - 0003-bootchart-parse-userinput-with-safe_atoi.patch - 0004-bootchart-check-return-of-strftime.patch - 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - -------------------------------------------------------------------- -Thu Oct 2 07:21:42 PDT 2014 - lduncan@suse.com - -- Revert patch 1063, which incorrectly disallows - /dev/disk/by-path links for iSCSI (and other) - devices. Will be corrected and re-added once - upstream is consulted. (bnc#898233). Disable: - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patc - -------------------------------------------------------------------- -Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - for bsc#893797 - -------------------------------------------------------------------- -Fri Sep 26 09:34:22 UTC 2014 - rmilasan@suse.com - -- Drop renaming virtual interfaces in a guest (bnc#898432). - Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch - -------------------------------------------------------------------- -Thu Sep 25 14:08:35 UTC 2014 - werner@suse.de - -- Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch - to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch - and apply this one - -------------------------------------------------------------------- -Thu Sep 25 13:45:46 UTC 2014 - werner@suse.de - -- Change patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - to fix bsc#898240 - -------------------------------------------------------------------- -Thu Sep 25 09:06:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - 0002-bus-remove-unused-check.patch - -------------------------------------------------------------------- -Wed Sep 24 15:05:49 UTC 2014 - werner@suse.de - -- Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to - be able to avoid killing a running kmod/modprobe (bnc#889297) - -------------------------------------------------------------------- -Wed Sep 24 08:36:42 UTC 2014 - werner@suse.de - -- Update patch 0001-bnc888612-logind-polkit-acpi.patch - -------------------------------------------------------------------- -Wed Sep 24 07:47:54 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-pause-devices-before-acknowledging-VT-switches.patch - May help that history of the shell is saved - 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) - 0002-util-avoid-non-portable-__WORDSIZE.patch - -------------------------------------------------------------------- -Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de - -- Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic - to solve bnc#888612 - AUDIT-0: Power button press at gdm login - should not prompt for credentials - -------------------------------------------------------------------- -Fri Sep 19 11:36:48 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - 0005-shared-label.h-add-missing-stdio.h-include.patch - 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - 1081-udevd-check-return-of-various-functions.patch - 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - 1083-udev-node-warn-if-chmod-chown-fails.patch - 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - 1085-udev-fix-typos.patch - 1086-udevd-don-t-fail-if-run-udev-exists.patch - -------------------------------------------------------------------- -Thu Sep 18 13:21:45 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-core-fix-resource-leak-in-manager_environment_add.patch - 0002-util-remove-a-unnecessary-check.patch - 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - 0004-shared-conf-parser.patch - 0005-logind-fix-typo.patch - 0006-systemctl-fix-resource-leak-CID-1237747.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -- Remove 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch as - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - is the upstream solution - -------------------------------------------------------------------- -Wed Sep 17 16:02:33 UTC 2014 - werner@suse.de - -- Add patch 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch to - fix for the size of the gcc builtin type bool also known as _Bool - from the include header stdbool.h. - -------------------------------------------------------------------- -Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de - -- Add upstream patches as real fixes - 0001-activate-fix-fd-leak-in-do_accept.patch - 0002-analyze-avoid-a-null-dereference.patch - 0003-analyze-fix-mem-leak.patch - 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - 0006-bus-unref-buscreds-on-failure.patch - 0007-core-fix-a-potential-mem-leak.patch - 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - 0009-journal-do-not-leak-mmaps-on-OOM.patch - 0010-manager-use-correct-cleanup-function.patch -- Intergrate the work of Robert and rename the patch - 1068-udev-remove-userspace-firmware-loading-support.patch - to 1078-udev-remove-userspace-firmware-loading-support.patch - Also add patch - 1079-udev-remove-userspace-firmware-loading-support.patch - to apply the same change for opensuse 13.2 and above - -------------------------------------------------------------------- -Tue Sep 16 10:21:02 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemctl-allow-to-change-the-default-target-without.patch - to allow to override default target without --force (bnc#896664) - -------------------------------------------------------------------- -Tue Sep 16 09:10:52 UTC 2014 - werner@suse.de - -- Add upstream patches for udev - 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - 1070-rules-net-setup-link-remove-stray-linebreak.patch - 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - 1072-udev-netif_rename-don-t-log-to-kmsg.patch - 1073-udev-drop-print_kmsg.patch - 1074-udev-fix-copy-paste-error-in-log-message.patch - 1075-udev-timeout-increase-timeout.patch (bnc#889297) - 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - -------------------------------------------------------------------- -Tue Sep 16 07:55:37 UTC 2014 - rmilasan@suse.com - -- udev: remove userspace firmware loading support (bnc#889297). - Add 1068-udev-remove-userspace-firmware-loading-support.patch - -------------------------------------------------------------------- -Sat Sep 13 13:35:33 UTC 2014 - rmilasan@suse.com - -- udev: always resolve correctly database names on 'change' event (bnc#864745). - Add 1067-udev-always-resolve-correctly-database-names-on-chan.patch - -------------------------------------------------------------------- -Tue Sep 9 14:36:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0009-hwdb-update.patch - -------------------------------------------------------------------- -Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de - -- Disable patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - for SLES-12 as well as for openSUSE-13.2 (bnc#895087) - -------------------------------------------------------------------- -Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com - -- udev: add option to generate old 'buggy' serials (bnc#886852) - Add 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch - -------------------------------------------------------------------- -Tue Sep 2 09:14:03 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-login-simplify-controller-handling.patch - -------------------------------------------------------------------- -Mon Sep 1 13:00:29 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-completion-filter-templates-from-restartable-units.patch - 0002-systemd-fix-error-message.patch - 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - 0004-config-parser-fix-mem-leak.patch - 0005-login-fix-mem-leak.patch - 1065-udev-bump-event-timeout-to-60-seconds.patch - -------------------------------------------------------------------- -Fri Aug 29 14:14:06 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-nspawn-fix-network-interface.patch to - make option network-interface of systemd-nspawn work - -------------------------------------------------------------------- -Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-fix-memory-leak-on-DropController.patch - 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -- Add upstream patch - 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - to avoid that hwdb ID's for unrecognised USB device are taken - from the USB hub. - -------------------------------------------------------------------- -Wed Aug 27 16:01:17 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - -------------------------------------------------------------------- -Wed Aug 27 12:52:09 UTC 2014 - werner@suse.de - -- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to - use RNDADDENTROPY ioctl to load random-seed and to increase - entropy count as well (bnc#892096) - -------------------------------------------------------------------- -Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de - -- Add upstream patches for hwdb - 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - 0003-keymap-Fix-HP-Pavillon-DV7.patch - 0004-hwdb-update-format-description-and-document-reloadin.patch - 0008-hwdb-update.patch - -------------------------------------------------------------------- -Tue Aug 26 11:25:57 UTC 2014 - werner@suse.de - -- Port back and add the missed upstream patches from 2014/08/22 - 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - 0006-login-share-VT-signal-handler-between-sessions.patch - -------------------------------------------------------------------- -Fri Aug 22 15:12:23 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - 0002-switch-root-umount-the-old-root-correctly.patch - 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - -------------------------------------------------------------------- -Fri Aug 22 01:29:06 UTC 2014 - crrodriguez@opensuse.org - -- man pages from section 3 are developer docs, move them to - the -devel package. - -------------------------------------------------------------------- -Wed Aug 20 15:06:25 UTC 2014 - werner@suse.de - -- Add patch 0001-let-systemctl-completion-ignore-at-names.patch to - remove error messages for tab completion for systemctl isolate (bnc#892162) - -------------------------------------------------------------------- -Mon Aug 18 14:40:55 UTC 2014 - werner@suse.de - -- Disable the usage of the systemd groups wheel and adm (bnc#892300) - -------------------------------------------------------------------- -Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com - -- Set default permissions for GenWQE device nodes to 0666 (bnc#890977). - Add 1062-rules-set-default-permissions-for-GenWQE-devices.patch - -------------------------------------------------------------------- -Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de - -- Add upstream patches - 0007-hwdb-update.patch - 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - -------------------------------------------------------------------- -Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com - -- Rename: - udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - to - 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 21:10:21 UTC 2014 - jeffm@suse.com - -- udev: use device mapper target name for btrfs device ready (bnc#888215). -- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 12:53:07 UTC 2014 - werner@suse.de - -- Add patch tomcat6-var-lock-subsys-legacy.patch to add the - compatibility directory /var/lock/subsys (bnc#889357) - -------------------------------------------------------------------- -Wed Jul 30 11:45:21 UTC 2014 - werner@suse.de - -- Add portabiltiy patch - 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - -------------------------------------------------------------------- -Wed Jul 30 11:32:23 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-sysv-order-initscripts-which-provide-network-before-.patch - 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - 0003-keymap-Annotate-all-micmute-workarounds.patch - -------------------------------------------------------------------- -Wed Jul 30 11:10:34 UTC 2014 - werner@suse.de - -- Add patch tty-ask-password-agent-on-console.patch that is for system - console do ask passphrases on all devices of the console (bnc#886211) - -------------------------------------------------------------------- -Wed Jul 30 11:02:27 UTC 2014 - werner@suse.de - -- Add former SUSE and/now upstream patches (bnc#889297) - 1056-udevd-add-event-timeout-commandline-option.patch - 1057-udev-unify-event-timeout-handling.patch - 1058-udev-unify-event-timeout-handling.patch (backport for - compatibility if patch 1022 is not applied) - 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - -------------------------------------------------------------------- -Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de - -- Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid - rpmlink warning -- Add upstream patches - 0001-bus-proxyd-fix-incorrect-comparison.patch - 0002-shell-completion-prevent-mangling-unit-names.patch - 0003-Always-check-asprintf-return-code.patch - 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - 0006-parse_boolean-require-exact-matches.patch - 0007-drop_duplicates-copy-full-BindMount-struct.patch - 0008-shell-completion-prevent-mangling-unit-names-bash.patch - 0009-journald-always-add-syslog-facility-for-messages-com.patch - -------------------------------------------------------------------- -Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de - -- Disable blkrrpart for SLES12 and below - -------------------------------------------------------------------- -Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de - -- Add upstream patch - 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch -- Add with condition blkrrpart to be able to disable the patches - 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 - which uses the BLKRRPART ioctl for e.g. synthesize change events - which may interfere with other tools like parted. - -------------------------------------------------------------------- -Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com - -- Update - handle-disable_caplock-and-compose_table-and-kbd_rate.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch: read - /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) - otherwise empty value in /etc/sysconfig/keyboard might override - /etc/vconsole.conf values. -- Update : - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - apply-ACL-for-nvidia-device-nodes.patch - keep-crypt-password-prompt.patch - log-target-null-instead-kmsg.patch - parse-crypttab-for-noauto-option.patch - set-and-use-default-logconsole.patch: fix all warnings in code -- Remove 0001-compress-fix-return-value.patch: not relevant to - systemd v210 code. - -------------------------------------------------------------------- -Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - -- Also change udev-generate-peristent-rule to udev-generate-persistent-rule - in file list - -------------------------------------------------------------------- -Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com - -- Rename (fix typo in script name): - udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh - -------------------------------------------------------------------- -Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com - -- Enable better checks in write_net_rules to skip adding duplicated - entries in the generate rules (bnc#888178). - Add 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de - -- Change patch set-and-use-default-logconsole.patch to avoid to - write security/authorization (private) messages to console - -------------------------------------------------------------------- -Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de - -- Add patch set-and-use-default-logconsole.patch to use and set - the default logging console for both journald and kernel messages - -------------------------------------------------------------------- -Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-bash-completion-p-option-for-journalctl.patch - 0002-journalctl-man-allow-only-between-terms.patch - 0003-systemd-use-pager-for-test-and-help.patch - -------------------------------------------------------------------- -Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de - -- Use verify scripts and add permission files for systemd logger -- Avoid useless warning about static systemd unit files -- Make pam file a config file -- Remove non-break-space from this changelog - -------------------------------------------------------------------- -Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-compress-fix-return-value.patch - 0002-Be-more-verbose-when-bind-or-listen-fails.patch - 0003-Add-quotes-to-warning-message.patch - 0004-systemd-return-the-first-error-from-manager_startup.patch - -------------------------------------------------------------------- -Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de - -- Replace patch 0001-fix-only-discover-Xen-domU.patch with - upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch -- Replace patch 0001-detect-s390-virt.patch with upstream - patch 0001-systemd-detect-virt-detect-s390-virtualization.patch - -------------------------------------------------------------------- -Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-po-add-Ukrainian-translation.patch - 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -- Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream - patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch - -------------------------------------------------------------------- -Thu Jul 17 06:32:51 UTC 2014 - rmilasan@suse.com - -- Check if NAME key has a value before going thru the rule (bnc#885232). - Add 1051-check-if-NAME-has-a-value.patch - -------------------------------------------------------------------- -Wed Jul 16 16:33:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - 0002-units-serial-getty-.service-use-the-default-RestartS.patch - 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - -------------------------------------------------------------------- -Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com - -- Only rename SRIOV-VF devices if device name start with eth (bnc#885232). - Add 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch - -------------------------------------------------------------------- -Tue Jul 15 07:39:40 UTC 2014 - werner@suse.de - -- Add patch vhangup-on-all-consoles.patch that is do a vhangup on - lines (bnc#886599) - -------------------------------------------------------------------- -Tue Jul 15 06:29:54 UTC 2014 - jlee@suse.com - -- Removed %{_libexecdir}/modules-load.d/efivars.conf because the kernel - patch of autoload efivars driver accepted by linux-efi upstream. - (bnc#881559) - https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=be756a5327fe3d4686d74d3e9b273010424e230c - -------------------------------------------------------------------- -Mon Jul 14 14:53:21 UTC 2014 - werner@suse.de - -- Update patch - 1007-physical-hotplug-cpu-and-memory.patch (bnc#869603) -- Add script systemd-remount-tmpfs (bnc#869603) as helper script - for the rule changed in patch 1007-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Mon Jul 14 11:43:12 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-event-pull-in-sd-event.h-from-event-util.h.patch - 0002-util-fix-has-cc-check-and-add-test.patch - 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - 0004-fileio-quote-more-shell-characters-in-envfiles.patch - -------------------------------------------------------------------- -Fri Jul 11 12:21:06 UTC 2014 - werner@suse.de - -- Only on SLES12 seccomp is available on ppc64 and s390x - -------------------------------------------------------------------- -Thu Jul 10 13:33:32 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - -------------------------------------------------------------------- -Wed Jul 9 13:14:02 UTC 2014 - werner@suse.de - -- Add patches - 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -- Port and add upstream patches - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-journal-compress-improve-xz-compression-performance.patch - -------------------------------------------------------------------- -Wed Jul 9 12:41:53 UTC 2014 - meissner@suse.com - -- enable seccomp also for ppc64 and s390x - -------------------------------------------------------------------- -Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - 0007-service-flush-status-text-and-errno-values-each-time.patch - -------------------------------------------------------------------- -Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de - -- Add upstream patch - 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - -------------------------------------------------------------------- -Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-machine-don-t-return-uninitialized-variable.patch -- Port and add upstream patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - -------------------------------------------------------------------- -Mon Jul 7 13:04:00 UTC 2014 - rmilasan@suse.com - -- Rename - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - to - 1048-udev-net_setup_link-add-a-bit-more-logging.patch - -------------------------------------------------------------------- -Fri Jul 4 10:01:07 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - 0002-namespace-fix-uninitialized-memory-access.patch - -------------------------------------------------------------------- -Fri Jul 4 09:43:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-architecture-Add-tilegx.patch - 0002-architecture-Add-cris.patch - 0003-arch-add-crisv32-to-uname-check.patch - 0004-architecture-remove-cris-from-uname-list.patch - -------------------------------------------------------------------- -Fri Jul 4 09:32:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0006-hwdb-update.patch - 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Jul 3 12:48:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-parse_uid-return-ENXIO-for-1-uids.patch - 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - 0003-localed-consider-an-unset-model-as-a-wildcard.patch - 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - 0005-bus-close-a-bus-that-failed-to-connect.patch - 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - -------------------------------------------------------------------- -Wed Jul 2 18:06:32 UTC 2014 - rmilasan@suse.com - -- Fix duplicated rules when having layer3 interfaces (bnc#882714). - Add 1046-fix-duplicated-rules-with-layer3-interfaces.patch - -------------------------------------------------------------------- -Tue Jul 1 14:53:44 UTC 2014 - werner@suse.de - -- Require correct pam-config version overall even for scriptlets (bnc#885288) - -------------------------------------------------------------------- -Tue Jul 1 12:19:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - 0002-journald-make-MaxFileSec-really-default-to-1month.patch - 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - -------------------------------------------------------------------- -Tue Jul 1 09:58:04 UTC 2014 - werner@suse.de - -- Be aware that close_nointr_nofail() may fail whereas safe_close() not - -------------------------------------------------------------------- -Tue Jul 1 08:56:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - 1044-rules-update-qemu-hid-rules.patch - 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - -------------------------------------------------------------------- -Fri Jun 27 12:46:12 UTC 2014 - werner@suse.de - -- Add upstream bug fix patch - 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch (bnc#882714) - -------------------------------------------------------------------- -Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de - -- Update of patch 0001-detect-s390-virt.patch (bnc#880438) - -------------------------------------------------------------------- -Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de - -- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc - -------------------------------------------------------------------- -Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de - -- Add upstream patchs - 0001-core-use-correct-format-string-for-UIDs.patch - 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - -------------------------------------------------------------------- -Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-units-order-network-online.target-after-network.targ.patch - to make sure that etwork-online.target follows network.target - -------------------------------------------------------------------- -Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com - -- rules: re-enable dev_id conditionally in persistent rules - (bnc#884403 and bnc#882714). - Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch - -------------------------------------------------------------------- -Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - 0005-man-fix-path-in-crypttab-5.patch - -------------------------------------------------------------------- -Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de - -- Add upstream patch - 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it - fixes udevadm settle exit code which may had broken dracut scripts - (bnc#884271 comment#18) - -------------------------------------------------------------------- -Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de - -- Temporary disable patch 1022 (bnc#884271 and bnc#882714). - -------------------------------------------------------------------- -Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com - -- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch - to 1038-udev-fix-invalid-free-in-enable_name_policy.patch - -------------------------------------------------------------------- -Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de - -- Replace patches - 0001-systemd-empty-sigmask-on-reexec.patch with - upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch - ensure-sysctl-are-applied-after-modules-are-loaded.patch with - upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - getty-generator-with-serial-3270-tty.patch with - upstream 0004-getty-generator-properly-escape-instance-names.patch -- Add upstream patches - 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - 0005-po-add-Greek-translation.patch - 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0007-po-add-German-translation.patch - 0009-core-clean-up-signal-reset-logic-when-reexec.patch - 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - 0012-core-transaction-avoid-misleading-error-message-when.patch - -------------------------------------------------------------------- -Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de - -- Invert of the boolean for locking scheme of fsck (bnc#881125) -- Remove the ghost entry /etc/hostname and require the netcfg - -------------------------------------------------------------------- -Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com - -- make sure legacy services that depend on network are started after - network is available (bnc#883565) - * 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - * update insserv-generator.patch to translate $network into - network-online.target - -------------------------------------------------------------------- -Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de - -- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438) - to detect the virtualization layers on s390x as well - -------------------------------------------------------------------- -Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de - -- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51) - add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from - Roberts suggestion as well as readd - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-fix-invalid-free-in-killall.patch - 0002-udev-fix-invalid-free-in-enable_name_policy.patch - 0003-install-fix-invalid-free-in-unit_file_mask.patch - -------------------------------------------------------------------- -Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com - -- rules: disable usage of dev_id in persistent rules (bnc#882714). - add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch -- Disable patch (bnc#882714). - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de - -- Add patch - 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch - from Hannes Reinecke to avoid a race condition between variable - 'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942) - -------------------------------------------------------------------- -Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de - -- Add workaround for bnc#882393 by adding the systemd update utmp - runlevel service to the wanted unit of e.g. the graphical target -- Add some later on created files to our file list - -------------------------------------------------------------------- -Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com - -- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars - module at boot time not from udev (bnc#881559). - -------------------------------------------------------------------- -Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org - -- Do not build EFI support code in architectures on which - the kernel does not support CONFIG_EFI, it won't work. - (ia64 also supports it, but that's dead so is not included) - -------------------------------------------------------------------- -Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de - -- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch - there is no need to clean out all 30 days the index data base - files nor the cachedir tags of mandb. Those files are used - for whatis(1) as well as for apropos(1). - -------------------------------------------------------------------- -Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de - -- Do not override predictable names for openSUSE - -------------------------------------------------------------------- -Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de - -- Remove systemd-detect-xendom.patch as it becomes obsolete with - upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -- Add upstream patches - 0001-umount-modernizations.patch - 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - 0003-core-allow-transient-mount-units.patch - 0004-systemd-detect-virt-only-discover-Xen-domU.patch - 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - -------------------------------------------------------------------- -Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1033-udev-really-exclude-device-mapper-from-block-device.patch - 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - -------------------------------------------------------------------- -Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de - -- Change detection of new locking scheme of fsck - -------------------------------------------------------------------- -Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de - -- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent - rules as a default on SLES-12 and predictable rules as a default - otherwise -- Add cflags shell function to check possible flags for the compiler - as well as for the linker - -------------------------------------------------------------------- -Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - 1026-udevd-inotify-modernizations.patch - 1027-udev-synthesize-change-events-for-partitions-when-to.patch - 1028-udev-link-config-fix-mem-leak.patch - 1029-udev-try-first-re-reading-the-partition-table.patch - 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - -------------------------------------------------------------------- -Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-event-restore-correct-timeout-behaviour.patch - 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - -------------------------------------------------------------------- -Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch - -------------------------------------------------------------------- -Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de - -- Add dynamic detection of util-linux version to be able to - disable the fsck option -l for version less than 2.25.0 - -------------------------------------------------------------------- -Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * The patches - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and - ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch - indeed mention unit files which do not exist anymore. -- Make sure that systemd-ask-password-wall.service has a tty as - it is not sure that a tty1 exists -- Avoid broken firmware loading on newer distributions as 13.1 - -------------------------------------------------------------------- -Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de - -- Correct version check for the tcp-devel drop -- Use correct permissions for /var/log/journal -- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) - -------------------------------------------------------------------- -Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org - -- Correct the libseccomp distribution version test must be >= 13.1 -- In order to use unit directive AppArmorProfile= libapparmor-devel - must be present in buildRequires. - -------------------------------------------------------------------- -Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com - -- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm - device (bnc#879767). - -------------------------------------------------------------------- -Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * fix keep-crypt-password-prompt.patch which floods the system - logs with bogus opendir failures, still the wrong thing to do however. - * Use %find_lang to collect locale files - * systemd-no-libattr.patch: systemd does not require libattr - but just sys/xattr.h, therefore drop the dependency. - (from upstream) - * Again, drop tcp-devel from buildRequires, this time it is not a - SUSE specific feature removal, tcpd supportdisappeared in systemd - 212 and we shouldn't keep it around. -- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - that is rename systemd-no-libattr.patch to git format -- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor - for openSUSE 13.1 - -------------------------------------------------------------------- -Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-rework-container-detection-logic.patch - 0002-fsck-include-device-name-in-the-message-about-missin.patch - 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - 0004-util-ignore_file-should-not-allow-files-ending-with.patch - 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -- Add upstream patches to update keyboard data base - 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -- Add upstream patches for udev - 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - 1024-udev-always-close-lock-file-descriptor.patch - -------------------------------------------------------------------- -Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com - -- Fix enabling predictable rules when using net.ifnames=1. - update: 1021-udev-re-add-persistent-net-rules.patch - -------------------------------------------------------------------- -Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com - -- Re-add persistent rules as a default and make predictable rules as - fallback (bnc#880732). - add: 1021-udev-re-add-persistent-net-rules.patch -- udev: remove seqnum API and all assumptions about seqnums - add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue May 27 07:23:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Do-not-unescape-unit-names-in-Install-section.patch - 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - -------------------------------------------------------------------- -Mon May 26 16:34:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 1020-udev-keyboard-also-hook-into-change-events.patch - -------------------------------------------------------------------- -Mon May 26 15:25:28 UTC 2014 - werner@suse.de - -- Add upstream patches to update keyboard data base - 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -- Add upstream patches - 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - 0002-nspawn-restore-journal-directory-is-empty-check.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0004-socket-properly-handle-if-our-service-vanished-durin.patch - -------------------------------------------------------------------- -Wed May 21 19:23:32 UTC 2014 - coolo@suse.com - -- fix file list of systemd.pc - -------------------------------------------------------------------- -Wed May 21 13:24:13 UTC 2014 - werner@suse.de - -- Add a workaround for old distributions like 13.1 to avoid - deadlocks due NFS shares stopped after network - -------------------------------------------------------------------- -Wed May 21 10:23:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - 0002-journal-properly-detect-language-specified-in-line.patch - 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - -------------------------------------------------------------------- -Wed May 21 10:14:32 UTC 2014 - werner@suse.de - -- Add upstream patches to update usb and pci company identifiers - 0001-hwdb-update.patch - 0002-hwdb-update.patch - 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - 0004-hwdb-update.patch - 0005-hwdb-update.patch - -------------------------------------------------------------------- -Wed May 21 08:33:34 UTC 2014 - werner@suse.de - -- Move systemd.pc and udev.pc to their main packages (bnc#876587) - -------------------------------------------------------------------- -Tue May 20 12:13:05 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - 0002-man-note-that-entire-sections-can-now-be-ignored.patch - 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - 0006-login-add-mir-to-the-list-of-session-types.patch - 0007-logind-fix-Display-property-of-user-objects.patch - -------------------------------------------------------------------- -Tue May 20 11:31:46 UTC 2014 - werner@suse.de - -- Add upstream patches to update BluTooth company identifiers - 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue May 20 11:03:54 UTC 2014 - werner@suse.de - -- Add upstream patches to allow processes to serialize block device - events, also do execute the RUN tag if rename of a network device - fails: - 1016-udev-serialize-synchronize-block-device-event-handli.patch - 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - 1018-udev-avoid-use-of-uninitialized-err.patch -- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - -------------------------------------------------------------------- -Mon May 19 13:21:18 UTC 2014 - werner@suse.de - -- Add upstream patches mainly for better lid handling (bnc#878525 - and bnc#868019) - 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - 0002-logind-fix-printf-format.patch - 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - 0008-man-update-journald-rate-limit-defaults.patch - 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - 0010-logind-allow-suspending-if-there-are-no-displays.patch - -------------------------------------------------------------------- -Fri May 16 12:00:12 UTC 2014 - werner@suse.de - -- Make baselibs.conf aware to use the appropiate %post and %postun - scriptlets which includes pam-config (bnc#877674) - -------------------------------------------------------------------- -Fri May 16 11:47:06 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-close-socket-fds-asynchronously.patch - 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - -------------------------------------------------------------------- -Wed May 14 07:37:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - to avoid that in pam session unwanted file descriptors are inherited - -------------------------------------------------------------------- -Tue May 13 08:28:05 UTC 2014 - werner@suse.de - -- Add patch log-target-null-instead-kmsg.patch from Thomas Blume - to enable the kernel developers to see a clean kmsg ring buffer - without any systemd/udev messages included (bnc#877021) - -------------------------------------------------------------------- -Mon May 12 13:35:25 UTC 2014 - werner@suse.de - -- Add upstream patches for backlight - 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - 0002-backlight-do-nothing-if-max_brightness-is-0.patch - 0003-backlight-unify-error-messages.patch - 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - -------------------------------------------------------------------- -Mon May 12 13:28:20 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - 0003-analyze-fix-plot-with-bad-y-size.patch - 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - -------------------------------------------------------------------- -Mon May 12 12:25:13 UTC 2014 - rmilasan@suse.com - -- Drop upstream-net_id-changes.patch and replace them with the correct - patches from upstream and their commits: - add: 1014-udev-update-net_id-comments.patch - add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - -------------------------------------------------------------------- -Wed May 7 10:42:27 UTC 2014 - werner@suse.de - -- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume - to handle the option 'noauto' in /etc/crypttab (bnc#742774) - -------------------------------------------------------------------- -Wed May 7 09:23:01 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to have the correct terminal type used with agetty -- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - to allow users to access systemd user journal (bnc#876694) - -------------------------------------------------------------------- -Mon May 5 14:02:16 UTC 2014 - werner@suse.de - -- Port upstream patch - 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - back to 210 -- Add patch keep-crypt-password-prompt.patch from Thomas Blume - to fix bnc#875502 - fails to boot when swap space is encrypted -- Port upstream patch set for net_id back in patch - upstream-net_id-changes.patch - -------------------------------------------------------------------- -Fri May 2 10:12:26 UTC 2014 - werner@suse.de - -- Add patch shut-up-annoying-assertion-monotonic-clock-message.patch - to avoid annyoing messages on failing dual_timestamp_is_set in the - kernel's message ring buffer - -------------------------------------------------------------------- -Wed Apr 30 12:14:32 UTC 2014 - werner@suse.de - -- Update udev-generate-peristent-rule.sh from latest git - -------------------------------------------------------------------- -Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to avoid also ANSI escape sequences for busy jobs on s390 - -------------------------------------------------------------------- -Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-bash-completion-fix-__get_startable_units.patch - 0002-sysctl-replaces-some-slashes-with-dots.patch - 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - 0004-implement-a-union-to-pad-out-file_handle.patch -- Add patch respect-nfs-bg-option.patch from Thomas Blume: - System fails to boot if nfs mounts get added to fstab (bnc#874665) - -------------------------------------------------------------------- -Wed Apr 23 11:46:41 UTC 2014 - oneukum@suse.com - -- Do not use runtime PM for some IBM consoles (bnc#868931) - 1013-no-runtime-PM-for-IBM-consoles.patch - -------------------------------------------------------------------- -Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de - -- Extend avoid-divide-by-zero-sigtrap.patch to make the crash - handler know about SIGTRAP and SIGSYS - -------------------------------------------------------------------- -Thu Apr 17 13:37:06 UTC 2014 - werner@suse.de - -- Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 - that is a divide by zero on a jobless system - -------------------------------------------------------------------- -Wed Apr 16 10:17:13 UTC 2014 - werner@suse.de - -- Use latest regenerate-initrd rpm macros (fate#313506) -- Add rescue-emergency-target-conflicts.patch to avoid that - emergency and rescue sulogin are fighting on console - -------------------------------------------------------------------- -Tue Apr 15 12:19:24 UTC 2014 - werner@suse.de - -- Modify systemd-sleep-grub to let hybrid-sleep.target work even - on XEN, changes from Thomas Blume (bnc#873432) - -------------------------------------------------------------------- -Mon Apr 14 13:55:36 UTC 2014 - werner@suse.de - -- Add backported upstream patch - 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -- Add patch systemd-detect-xendom.patch from Thomas Blume - to be able to detect XEN dom0 as well as domU -- systemd conflicts with sysvinit, ven if the package systemd-sysvinit - does already conflict with sysvinit-init (bnc#873444) - -------------------------------------------------------------------- -Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de - -- Add two patches from hare@suse.com - 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch - 1012-Skip-persistent-device-link-creation-on-multipath-de.patch - to solve bnc#872929 - -------------------------------------------------------------------- -Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com - -- Increase result size for programs stdout (bnc#867840). - add: 1010-udev-increase-result-size-for-programs.patch -- Update udev-generate-peristent-rule.sh to the latest version. -- Clean-up spec file, re-arange patch to suit the setup, all udev - patches start with 1XXX-*.{patch,diff}. -- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to - 1009-cdrom_id-use-the-old-MMC-fallback.patch -- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to - 0009-make-xsltproc-use-correct-ROFF-links.patch -- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to - 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Rename: 1014-journald-with-journaling-FS.patch to - 0014-journald-with-journaling-FS.patch -- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to - 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to - 0019-make-completion-smart-to-be-able-to-redirect.patch -- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to - 0022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de - -- Add patch portmap-wants-rpcbind-socket.patch to make sure that - rpcbind socket as well as service is up with the target -- Add or port upstream bugfix patches: - 0001-journal-fix-export-of-messages-containing-newlines.patch - 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - 0003-tty-ask-password-agent-return-negative-errno.patch - 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - 0005-systemd-python-fix-failing-assert.patch - -------------------------------------------------------------------- -Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - 0005-sd-daemon-fix-incorrect-variable-access.patch - 0006-sd-event-initialization-perturbation-value-right-bef.patch - 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -- Modify patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to work together with - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - -------------------------------------------------------------------- -Fri Mar 28 08:10:13 UTC 2014 - werner@suse.de - -- Use Robert's revised 1006-udev-always-rename-network.patch - -------------------------------------------------------------------- -Tue Mar 25 17:28:18 UTC 2014 - werner@suse.de - -- Readd patch Forward-suspend-hibernate-calls-to-pm-utils.patch - older code base as 13.1 only -- Add patch avoid-random-hangs-on-timeouts-due-lost-cwd.patch - to be able to terminate the user manager even if cwd of the - user is gone - -------------------------------------------------------------------- -Tue Mar 25 13:08:56 UTC 2014 - thomas.blume@suse.com - -- add prepare-suspend-to-disk.patch - enable suspend conditions check and preparation for systemd-sleep - (fate#316824, bnc#856389, bnc#856392) -- remove Forward-suspend-hibernate-calls-to-pm-utils.patch since it is obsolete - (bnc#856392#c20) -- add boot-local-start.patch - fix startup for /etc/init.d/boot.local (bnc#869142) - -------------------------------------------------------------------- -Mon Mar 24 11:19:38 UTC 2014 - coolo@suse.com - -- also autoreconf in systemd-mini to simplify spec file logic - and fix build in staging:gcc49 - (obsoleting 0002-make-209-working-on-older-dist.patch) - -------------------------------------------------------------------- -Wed Mar 19 13:21:37 UTC 2014 - werner@suse.de - -- Be sure that the refreshed manual pages are installed - -------------------------------------------------------------------- -Wed Mar 19 12:09:31 UTC 2014 - werner@suse.de - -- Add patch systemctl-set-default-target.patch which explain how - to override the default.target by using --force (bnc#868439) - -------------------------------------------------------------------- -Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de - -- Add Robert's udev-generate-peristent-rule shell script to - udev's tool library -- Add or port upstream bugfix patches: - 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - 0007-networkd-fix-typo.patch - 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - 0012-journald-remove-stray-reset-of-error-return-value.patch - 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - -------------------------------------------------------------------- -Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de - -- Add patch getty-generator-with-serial-3270-tty.patch to avoid - harmless error messages on not existing getty@3270 files - -------------------------------------------------------------------- -Fri Mar 14 11:07:29 UTC 2014 - werner@suse.de - -- Replace systemd-big-endian-reply-matching.patch with upstream - 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - to solve broken systemd communication with and over dbus (bnc#866732) - -------------------------------------------------------------------- -Fri Mar 14 08:30:57 UTC 2014 - werner@suse.de - -- Readd patch 1008-add-msft-compability-rules.patch for - older code base as 13.1 -- Modify pre_checkin.sh to throw an error if a patch will be - applied which modifies one of Makefile.am, Makefile.in, or - configiure.ac as this breaks bootstrapping -- Add second version of make-209-working-on-older-dist.patch - to be able to apply for bootstrapping version - -------------------------------------------------------------------- -Thu Mar 13 17:35:11 UTC 2014 - schwab@linux-m68k.org - -- Don't require non-existing binutils-gold - -------------------------------------------------------------------- -Thu Mar 13 15:43:19 UTC 2014 - werner@suse.de - -- Avoid file conflict between udev and systemd (bnc#868230) - -------------------------------------------------------------------- -Wed Mar 12 16:52:09 UTC 2014 - werner@suse.de - -- Modify patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) - -------------------------------------------------------------------- -Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de - -- Add patch systemd-big-endian-reply-matching.patch - make sure that systemd can talk with dbus-daemon even on big - endian systems (bnc#866732) - -------------------------------------------------------------------- -Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com - -- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch -- Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only - needed for quering default DBus directories, which we nowpass to configure. - This also unbreaks libdbus <-> systemd-miniBuild Cycle - -------------------------------------------------------------------- -Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - 0002-manager-flush-memory-stream-before-using-the-buffer.patch - 0003-busname-don-t-drop-service-from-the-result-string.patch - 0004-fix-off-by-one-error-in-array-index-assertion.patch - 0005-logind-fix-policykit-checks.patch - 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - 0007-dbus-suppress-duplicate-and-misleading-messages.patch - 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - -------------------------------------------------------------------- -Tue Mar 11 07:47:55 UTC 2014 - werner@suse.de - -- Make compeletion file parser work (bnc#867664) - -------------------------------------------------------------------- -Fri Mar 7 14:50:39 CET 2014 - hare@suse.de - -- Integrate powerd handling in initctl service - + Remove 1016-support-powerfail-with-powerstatus.patch - + Remove systemd-powerfail - + Add systemd-powerd-initctl-support.patch -- Remove 61-msft.rules; superseded by sg3_utils (bnc#866933) -- Persistent by-path links for ATA devices (FATE#317063) - + Update 1001-re-enable-by_path-links-for-ata-devices.patch - -------------------------------------------------------------------- -Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-Fix-systemd-stdio-bridge-symlink.patch - 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - 0004-man-document-missing-options-of-systemd-run.patch - 0005-systemd-run-add-some-extra-safety-checks.patch - 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - 0007-journal-forget-file-after-encountering-an-error.patch - 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - 0010-man-update-link-to-LSB.patch - 0011-man-systemd-bootchart-fix-spacing-in-command.patch - 0012-man-add-missing-comma.patch - 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - -------------------------------------------------------------------- -Fri Mar 7 08:00:31 UTC 2014 - werner@suse.de - -- Add linker scripts as place holder of the old systemd shared - libraries now all included in libsystemd.so (bnc#867128) - -------------------------------------------------------------------- -Tue Mar 4 10:37:02 UTC 2014 - werner@suse.de - -- Make patch 1006-udev-always-rename-network.patch work again - and add it again. - -------------------------------------------------------------------- -Mon Mar 3 15:23:57 UTC 2014 - thomas.blume@suse.com - -- address missing owner functionality in systemd-tmpfiles (fate#314974) - 1022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Mon Mar 3 14:49:48 UTC 2014 - werner@suse.de - -- Generate the bash completion files on the fly for the case of - not having the package bash-completion around -- Add or port upstream bugfix patches: - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - 0002-cdrom_id-use-the-old-MMC-fallback.patch - 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - 0004-logs-show-fix-corrupt-output-with-empty-messages.patch - 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - 0008-README-document-that-var-run-must-be-a-symlink-run.patch - 0010-Replace-var-run-with-run-in-remaining-places.patch - 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - 0014-login-fix-pos-array-allocation.patch - -------------------------------------------------------------------- -Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de - -- Update to Release v210 - + systemd will now relabel /dev after loading the SMACK policy - according to SMACK rules. - + A new unit file option AppArmoreProfile= has been added to - set the AppArmor profile for the processes of a unit. - + A new condition check ConditionArchitecture= has been added - to conditionalize units based on the system architecture, as - reported by uname()'s "machine" field. - + systemd-networkd now supports matching on the system - virtualization, architecture, kernel command line, host name - and machine ID. - + logind is now a lot more aggressive when suspending the - machine due to a closed laptop lid. - + logind will now watch SW_DOCK switches and inhibit reaction - to the lid switch if it is pressed. - + nspawn will now make use of the devices cgroup controller by - default, and only permit creation of and access to the usual - API device nodes like /dev/null or /dev/random, as well as - access to (but not creation of) the pty devices. - + systemd will now understand the usual M, K, G, T suffixes - according to SI conventions (i.e. to the base 1000) when - referring to throughput and hardware metrics. - + The DeviceAllow= setting in unit files now supports a syntax - to whitelist an entire group of devices node majors at once, - based on the /proc/devices listing. For example, with the - string "char-pts" it is now possible to whitelist all - current and future pseudo-TTYs at once. - + sd-event learned a new "post" event source. Event sources of - this type are triggered by the dispatching of any event - source of a type that is not "post". This is useful for - implementing clean-up and check event sources that are - triggered by other work being done in the program. - + The compatibility libraries for libsystemd-journal.so, - libsystem-id128.so, libsystemd-login.so and - libsystemd-daemon.so do not make use of IFUNC - anymore. -- Dropped systemd patches as those are fixed upstream: - * 0001-units-serial-getty-.service-add-Install-section.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patchc - * 0001-make-tests-with-libseccomp-work.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-units-serial-getty-.service-add-Install-section.patch -- Dropped patches as those do not work anymore - * 1006-udev-always-rename-network.patch -- Renamed systemd patches as seen from git log: - * 0001-cdrom_id-use-the-old-MMC-fallback.patch - become 0002-cdrom_id-use-the-old-MMC-fallback.patch - * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch -- Add several upstream bugfix patches which are missed: - * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - * 0008-README-document-that-var-run-must-be-a-symlink-run.patch - * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - * 0010-Replace-var-run-with-run-in-remaining-places.patch - * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - * 0014-login-fix-pos-array-allocation.patch -- Modified patches to make is build - * 0001-add-network-device-after-NFS-mount-units.patch -- Reenable libseccomp for the architecture for which libseccomp exists - -------------------------------------------------------------------- -Sun Mar 2 15:51:24 CET 2014 - ro@suse.de - -- always install compat pkgconfig files, regardless if - compat libs is enabled or not - -------------------------------------------------------------------- -Sun Mar 2 14:47:23 CET 2014 - ro@suse.de - -- disable use of libseccomp for sle12, library has not been ported - to most architectures -- do not use binutils-gold on s390/s390x, does not exist there -- fix exclude statements for bootstrap case - -------------------------------------------------------------------- -Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de - -- Add upstream patches - + 0001-cdrom_id-use-the-old-MMC-fallback.patch - + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - -------------------------------------------------------------------- -Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de - -- Add patch - 0001-systemd-empty-sigmask-on-reexec.patch - which corrects sigmaks for reexec in initrd (bnc#864904) - -------------------------------------------------------------------- -Fri Feb 28 17:38:06 UTC 2014 - werner@suse.de - -- Add patch - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - to avoid error on not existing file /proc/self/loginuid - -------------------------------------------------------------------- -Fri Feb 28 17:15:38 UTC 2014 - werner@suse.de - -- Make patch - 0001-make-209-working-on-older-dist.patch - more smart that is make configure script les restrictive -- Make patch - apply-ACL-for-nvidia-device-nodes.patch - apply to v209 - -------------------------------------------------------------------- -Fri Feb 28 16:59:25 UTC 2014 - werner@suse.de - -- Update to Release v209 on the base of the work of Stefan Brüns - from declined submit request 223602: - + A new tool "systemd-socket-proxyd" has been added - + Add a new tool to save/restore rfkill state on - shutdown/boot. - + Save/restore state of keyboard backlights in addition to - display backlights on shutdown/boot. - + udev learned a new SECLABEL{} construct to label device - nodes with a specific security label when they appear. For - now, only SECLABEL{selinux} is supported, but the syntax is - prepared for additional security frameworks. - + When the User= switch is used in a unit file, also - initialize $SHELL= based on the user database entry. - + systemd no longer depends on libdbus. All communication is - now done with sd-bus, systemd's low-level bus library - implementation. - + sd-bus: add a light-weight vtable implementation that allows - defining objects on the bus with a simple static const - vtable array of its methods, signals and properties. - + systemd will not generate or install static dbus - introspection data anymore to /usr/share/dbus-1/interfaces, - as the precise format of these files is unclear, and - nothing makes use of it. - + A proxy daemon is now provided to proxy clients connecting - via classic D-Bus AF_UNIX sockets to kdbus, to provide full - compatibility with classic D-Bus. - + A bus driver implementation has been added that supports the - classic D-Bus bus driver calls on kdbus, also for - compatibility purposes. - + A new API "sd-event.h" has been added that implements a - minimal event loop API built around epoll. - + A new API "sd-rntl.h" has been added that provides an API - around the route netlink interface of the kernel, similar in - style to "sd-bus.h". - + A new API "sd-dhcp-client.h" has been added that provides a - small DHCPv4 client-side implementation. This is used by - "systemd-networkd". - + There is a new kernel command line option - "systemd.restore_state=0|1". When set to "0", none of the - systemd tools will restore saved runtime state to hardware - devices. More specifically, the rfkill and backlight states - are not restored. - + The FsckPassNo= compatibility option in mount/service units - has been removed. The fstab generator will now add the - necessary dependencies automatically, and does not require - PID1's support for that anymore. - + journalctl gained a new switch, --list-boots, that lists - recent boots with their times and boot IDs. - + The various tools like systemctl, loginctl, timedatectl, - busctl, systemd-run, ... have gained a new switch "-M" to - connect to a specific, local OS container (as direct - connection, without requiring SSH). - + systemd-run and systemd-analyze also gained support for "-H" - to connect to remote hosts via SSH. This is particularly - useful for systemd-run because it enables queuing of jobs - onto remote systems. - + machinectl gained a new command "login" to open a getty - login in any local container. This works with any container - that is registered with machined (such as those created by - libvirt-lxc or nspawn), and which runs systemd inside. - + machinectl gained a new "reboot" command that may be used to - trigger a reboot on a specific container that is registered - with machined. This works on any container that runs an init - system of some kind. - + systemctl gained a new "list-timers" command to print a nice - listing of installed timer units with the times they elapse - next. - + Alternative reboot() parameters may now be specified on the - "systemctl reboot" command line and are passed to the - reboot() system call. - + systemctl gained a new --job-mode= switch to configure the - mode to queue a job with. This is a more generic version of - --fail, --irreversible, and --ignore-dependencies, which are - still available but not advertised anymore. - + /etc/systemd/system.conf gained new settings to configure - various default timeouts of units, as well as the default - start limit interval and burst. These may still be overridden - within each Unit. - + PID1 will now export on the bus profile data of the security - policy upload process (such as the SELinux policy upload to - the kernel). - + journald: when forwarding logs to the console, include - timestamps (following the setting in - /sys/module/printk/parameters/time). - + OnCalendar= in timer units now understands the special - strings "yearly" and "annually". (Both are equivalent) - + The accuracy of timer units is now configurable with the new - AccuracySec= setting. It defaults to 1min. - + A new dependency type JoinsNamespaceOf= has been added that - allows running two services within the same /tmp and network - namespace, if PrivateNetwork= or PrivateTmp= are used. - + A new command "cat" has been added to systemctl. It outputs - the original unit file of a unit, and concatenates the - contents of additional "drop-in" unit file snippets, so that - the full configuration is shown. - + systemctl now supports globbing on the various "list-xyz" - commands, like "list-units" or "list-sockets", as well as on - those commands which take multiple unit names. - + journalctl's --unit= switch gained support for globbing. - + All systemd daemons now make use of the watchdog logic so - that systemd automatically notices when they hang. - + If the $container_ttys environment variable is set, - getty-generator will automatically spawn a getty for each - listed tty. This is useful for container managers to request - login gettys to be spawned on as many ttys as needed. - + %h, %s, %U specifier support is not available anymore when - used in unit files for PID 1. This is because NSS calls are - not safe from PID 1. They stay available for --user - instances of systemd, and as special case for the root user. - + loginctl gained a new "--no-legend" switch to turn off output - of the legend text. - + The "sd-login.h" API gained three new calls: - sd_session_is_remote(), sd_session_get_remote_user(), - sd_session_get_remote_host() to query information about - remote sessions. - + The udev hardware database now also carries vendor/product - information of SDIO devices. - + The "sd-daemon.h" API gained a new sd_watchdog_enabled() to - determine whether watchdog notifications are requested by - the system manager. - + Socket-activated per-connection services now include a - short description of the connection parameters in the - description. - + tmpfiles gained a new "--boot" option. When this is not used, - only lines where the command character is not suffixed with - "!" are executed. When this option is specified, those - options are executed too. - + systemctl gained a new "import-environment" command which - uploads the caller's environment (or parts thereof) into the - service manager so that it is inherited by services started - by the manager. This is useful to upload variables like - $DISPLAY into the user service manager. - + A new PrivateDevices= switch has been added to service units - which allows running a service with a namespaced /dev - directory that does not contain any device nodes for - physical devices. More specifically, it only includes devices - such as /dev/null, /dev/urandom, and /dev/zero which are API - entry points. - + logind has been extended to support behaviour like VT - switching on seats that do not support a VT. This makes - multi-session available on seats that are not the first seat - (seat0), and on systems where kernel support for VTs has - been disabled at compile-time. - + If a process holds a delay lock for system sleep or shutdown - and fails to release it in time, we will now log its - identity. This makes it easier to identify processes that - cause slow suspends or power-offs. - + When parsing /etc/crypttab, support for a new key-slot= - option as supported by Debian is added. It allows indicating - which LUKS slot to use on disk, speeding up key loading. - + The sd_journald_sendv() API call has been checked and - officially declared to be async-signal-safe so that it may - be invoked from signal handlers for logging purposes. - + Boot-time status output is now enabled automatically after a - short timeout if boot does not progress, in order to give - the user an indication what she or he is waiting for. - + The boot-time output has been improved to show how much time - remains until jobs expire. - + The KillMode= switch in service units gained a new possible - value "mixed". If set, and the unit is shut down, then the - initial SIGTERM signal is sent only to the main daemon - process, while the following SIGKILL signal is sent to - all remaining processes of the service. - + logind will now also track a "Desktop" identifier for each - session which encodes the desktop environment of it. This is - useful for desktop environments that want to identify - multiple running sessions of itself easily. - + A new SELinuxContext= setting for service units has been - added that allows setting a specific SELinux execution - context for a service. - + Most systemd client tools will now honour $SYSTEMD_LESS for - settings of the "less" pager. - + systemd's "seccomp" hook-up has been changed to make use of - the libseccomp library instead of using its own - implementation. This has benefits for portability among - other things. -- Dropped systemd patches as those are fixed upstream: - * 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch - * 0002-fix-lingering-references-to-var-lib-backlight-random.patch - * 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch - * 0004-systemctl-fix-name-mangling-for-sysv-units.patch - * 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch - * 0006-journald-add-missing-error-check.patch - * 0007-bus-fix-potentially-uninitialized-memory-access.patch - * 0008-dbus-fix-return-value-of-dispatch_rqueue.patch - * 0009-modules-load-fix-error-handling.patch - * 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch - * 0011-strv-don-t-access-potentially-NULL-string-arrays.patch - * 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch - * 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch - * 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch - * 0001-gpt-auto-generator-exit-immediately-if-in-container.patch - * 0001-manager-when-verifying-whether-clients-may-change-en.patch - * 0001-logind-fix-bus-introspection-data-for-TakeControl.patch - * 0001-mount-check-for-NULL-before-reading-pm-what.patch - * 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch - * 0001-systemd-serialize-deserialize-forbid_restart-value.patch - * 0001-core-unify-the-way-we-denote-serialization-attribute.patch - * 0001-journald-fix-minor-memory-leak.patch - * 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch - * 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch - * 0001-login-fix-invalid-free-in-sd_session_get_vt.patch - * 0001-login-make-sd_session_get_vt-actually-work.patch - * 0001-Never-call-qsort-on-potentially-NULL-arrays.patch - * 0001-dbus-common-avoid-leak-in-error-path.patch - * 0001-drop-ins-check-return-value.patch - * 0001-shared-util-Fix-glob_extend-argument.patch - * 0001-Fix-bad-assert-in-show_pid_array.patch - * 0001-analyze-set-white-background.patch - * 0001-analyze-set-text-on-side-with-most-space.patch - * analyze-fix-crash-in-command-line-parsing.patch - * 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - * U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * build-sys-make-multi-seat-x-optional.patch - * 1017-skip-native-unit-handling-if-sysv-already-handled.patch - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Dropped backported systemd patches as those are fixed upstream - * 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - * 1011-check-4-valid-kmsg-device.patch - * 0001-logind-garbage-collect-stale-users.patch -- Dropped udev patches as those are fixed fixed upstream: - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch -- Modified patches - * 1006-udev-always-rename-network.patch -- Replaced patches - * the patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - is upstream now but has to be replaced by patch - 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to fix an further issue similar to the upstream patch (bnc#852015) - * the patch - 0001-upstream-systemctl-halt-reboot-error-handling.patch - is upstream now, only the part with the halt after a failed poweroff - has been added to the patch - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - -------------------------------------------------------------------- -Thu Feb 27 15:13:09 UTC 2014 - werner@suse.de - -- Add patch 0001-make-209-working-on-older-dist.patch to make - it usable on older distributions like 13.1 - -------------------------------------------------------------------- -Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de - -- Add patch 0001-add-network-device-after-NFS-mount-units.patch to - add "After" dependency to all NFS shares to the network interface - device as this ensures at shutdown that the NFS share becomes - unmounted before the interface is down (bnc#861489) - -+------------------------------------------------------------------- -------------------------------------------------------------------- -Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de - -- enable compat-libs, BuildRequires binutils-gold - ("old" ld fails on ifunc magic) - -------------------------------------------------------------------- -Sun Feb 23 16:11:22 UTC 2014 - stefan.bruens@rwth-aachen.de - -- add network link configuration for udev - -------------------------------------------------------------------- -Sun Feb 23 15:44:01 UTC 2014 - stefan.bruens@rwth-aachen.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - move to core and link in directly to avoid libudev dep all over -- Disable networkd -- Disable compat-libs, adapt files section -- add and remove some entries in the files section - -------------------------------------------------------------------- -Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de - -- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit - scripts (bnc#863217) - -------------------------------------------------------------------- -Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to do a final sync() and flush the disks - -------------------------------------------------------------------- -Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de - -- Add several upstream bugfix patches which are missed: - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - to avoid potential NULL pointer -- Reorder patches to reflect udev/systemd usage - -------------------------------------------------------------------- -Tue Feb 11 10:53:48 UTC 2014 - coolo@suse.com - -- don't build bash-completions for bootstrap package - -------------------------------------------------------------------- -Tue Feb 11 10:25:26 UTC 2014 - coolo@suse.com - -- add more requires to this-is-only-for-build-envs to avoid - problems in kiwi configs - -------------------------------------------------------------------- -Mon Feb 10 15:15:35 UTC 2014 - werner@suse.de - -- Add patch 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - to be able to kill sessions (bnc#860574) - -------------------------------------------------------------------- -Mon Feb 10 11:19:31 UTC 2014 - werner@suse.de - -- Do not return from main shell script but simply exit (bnc#862789) - -------------------------------------------------------------------- -Sun Feb 9 18:43:38 UTC 2014 - werner@suse.de - -- ... as only the systemd-analyze completion depends on - bash-completion I prefere a without which has to be defined - for SLES 12 - -------------------------------------------------------------------- -Sun Feb 9 11:21:07 UTC 2014 - coolo@suse.com - -- avoid bootstrap cycle with libusb and systemd-mini - -------------------------------------------------------------------- -Sat Feb 8 06:12:55 UTC 2014 - coolo@suse.com - -- split bash-completion support into its own package, - no need for sles_version - -------------------------------------------------------------------- -Fri Feb 7 13:02:28 UTC 2014 - werner@suse.de - -- Split off systemd-rpm-macros as a separate package to avoid - a rebuild of all packages due new systemd package -- Define a sles_version 12 for suse_version 1315 - -------------------------------------------------------------------- -Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to disable the workaround to find /dev/3270/tty1 as this now - should be done by a) the kernel patch - http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html - and the changed udev rule 99-systemd.rules - -------------------------------------------------------------------- -Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com - -- Remove PreReq pidof from udev, nothing in this pkg uses it - -------------------------------------------------------------------- -Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to re-enable colouring if 3270 console was enforced on the kernel - command line as 3270 cna handle colour ANSI escape sequences. - Also let the serial getty generator find the /dev/3270/tty1 - character device (bnc#861316) - -------------------------------------------------------------------- -Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de - -- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to strip the colouring ANSI escape sequences from the console - messages (bnc#860937) - -------------------------------------------------------------------- -Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip already by the kernel managed devices - -------------------------------------------------------------------- -Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com - -- fix timeout stopping user@.service (bnc#841544) - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - -------------------------------------------------------------------- -Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de - -- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch - to be able to detect if the sysctl reboot() returns. -- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - A check for unmaintained disk like devices is added to be able to - flush and maybe shut them down. Also the missing sync() system - call is added for the direct halt/reboot systemctl command. Then - the system halt is used as fallback if poweroff fails for both - the direct poweroff systemctl command as well as for the - systemd-shutdown utility. - -------------------------------------------------------------------- -Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de - -- Make systemd-mini build - -------------------------------------------------------------------- -Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de - -- Make requires bash-completion a recommends - -------------------------------------------------------------------- -Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de - -- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch - to avoid that enabled boot scripts will be handled as unit files - by systemctl status command (bnc#818044) - -------------------------------------------------------------------- -Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de - -- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch - as the original code behaves exactly as the shutdown code of - the old SysVinit (bnc#750845) -- Rename support-powerfail-with-powerstatus.patch to - 1016-support-powerfail-with-powerstatus.patch - -------------------------------------------------------------------- -Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com - -- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in - systemd-analyze (bnc#859365) - -------------------------------------------------------------------- -Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de - -- Add patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to make redirections work with the bash command completions for - for systemd command tools (bnc#856858, bnc#859072) - -------------------------------------------------------------------- -Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de - -- Add patch - 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to support the "+" to tag wanted dependencies as well as make - sure that required dependencies are handles as required ones. - This should fix bnc#858864 and bnc#857204. - -------------------------------------------------------------------- -Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de - -- apply preset also to service files that are new in upgrade - -------------------------------------------------------------------- -Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de - -- Change support-powerfail-with-powerstatus.patch to use BindsTo - instead of BindTo - -------------------------------------------------------------------- -Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de - -- Add patch 1017-enforce-sufficient-shutdown-warnings.patch - Warn once per hour in the last 3 hours, then all 30 minutes in last - hour, all 15 minutes in the last 45 minutes, all 10 minutes in the - last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) - -------------------------------------------------------------------- -Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de - -- Add patch support-powerfail-with-powerstatus.patch and source - file systemd-powerfail to implement SIGPWR support with evaluation - of the file /var/run/powerstatus (bnc#737690) - -------------------------------------------------------------------- -Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de - -- Adapt patch - 1011-check-4-valid-kmsg-device.patch - to fit current upstream version maybe related to bnc#854884 -- Change patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() - may fix bnc#855160 - -------------------------------------------------------------------- -Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com - -- Disable multi-seat-x build, since package xorg-x11-server - currently in Factory no longer needs it. - -------------------------------------------------------------------- -Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com - -- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a - running user manager from garbage-collecting the user. Original - behavior caused bnc#849870 - -------------------------------------------------------------------- -Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com - -- Add build-sys-make-multi-seat-x-optional.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 - * Now systemd-multi-seat-x build can be disabled with configure option - --disable-multi-seat-x. It should be done when xorg-x11-server - no longer needs it (work in progress). - -------------------------------------------------------------------- -Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com - -- Update insserv-generator.patch: fix crash in insserv generator - (bnc#854314). -- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes - for Nvidia cards (bnc#808319). - -------------------------------------------------------------------- -Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de - -- Add patch - 1014-journald-with-journaling-FS.patch - which now uses the file system ioctls for switching off atime, - compression, and copy-on-write of the journal directory of the - the systemd-journald (bnc#838475) -- Let us build require the package config for libpcre (bnc#853293) - -------------------------------------------------------------------- -Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com - -- Add patch - 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - Make sure emergency shell is not killed by attempt to start another unit - (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. -- Add patch - make-emergency.service-conflict-with-syslog.socket.patch - Previous patch did not fix problem if syslog connection request came - after emergency shell was already started. So forcibly stop syslog.socket - when starting emergency.service. (bnc#852232) - -------------------------------------------------------------------- -Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com - -- Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 - -------------------------------------------------------------------- -Tue Nov 26 15:12:58 UTC 2013 - werner@suse.de - -- Add patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to avoid (xdg-)su to set XDG_RUNTIME_DIR to the original user and - avoid that e.g. pulseaudio will create /run/user//pulse owned - by root (bnc#852015) - -------------------------------------------------------------------- -Thu Nov 21 12:27:11 UTC 2013 - werner@suse.de - -- Add patch - 1011-check-4-valid-kmsg-device.patch - to avoid a busy systemd-journald (bnc#851393) - -------------------------------------------------------------------- -Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de - -- Add patch - 1010-do-not-install-sulogin-unit-with-poweroff.patch - that is do not install console-shell.service in any system target - as this will cause automatic poweroff at boot (bnc#849071) - -------------------------------------------------------------------- -Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-text-on-side-with-most-space.patch - to place the text on the side with most space - -------------------------------------------------------------------- -Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-white-background.patch - to make SVG output of systemd analyze readable - -------------------------------------------------------------------- -Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de - -- Add patch - 1009-make-xsltproc-use-correct-ROFF-links.patch - to have valid ROFF links in manual pages working again (bnc#842844) - -------------------------------------------------------------------- -Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com - -- Add - 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: - don't start gpt auto-generator in container (git). -- Add - 0001-manager-when-verifying-whether-clients-may-change-en.patch: - fix reload check in selinux case (git). -- Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: - fix introspection for TakeControl (git). -- Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix - crash when parsing some incorrect unit (git). -- Add - 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: - Fix udev rules parsing (git). -- Add - 0001-systemd-serialize-deserialize-forbid_restart-value.patch: - Fix incorrect deserialization for forbid_restart (git). -- Add - 0001-core-unify-the-way-we-denote-serialization-attribute.patch: - Ensure forbid_restart is named like other attributes (git). -- Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in - journald (git). -- Add - 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: - Improve ACPI firmware performance parsing (git). -- Add - 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: - Fix journal rotation (git). -- Add - 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: - Fix memory corruption in sd_session_get_vt (git). -- Add 0001-login-make-sd_session_get_vt-actually-work.patch: Ensure - sd_session_get_vt returns correct value (git). -- Add 0001-Never-call-qsort-on-potentially-NULL-arrays.patch: Don't - call qsort on NULL arrays (git). -- Add 0001-dbus-common-avoid-leak-in-error-path.patch: Fix memleak - in dbus-common code (git). -- Add 0001-drop-ins-check-return-value.patch: Fix return value for - drop-ins checks (git). -- Add 0001-shared-util-Fix-glob_extend-argument.patch: Fix - glob_extend argument (git). -- Add 0001-Fix-bad-assert-in-show_pid_array.patch: Fix bad assert - in show_pid_array (git). - - -------------------------------------------------------------------- -Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com - -- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: - fix acpi memleak. -- Add - 0002-fix-lingering-references-to-var-lib-backlight-random.patch: - fix invalid path in documentation. -- Add - 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: - fix invalid memory free. -- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix - name mangling for sysv units. -- Add - 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: - fix OOM handling. -- Add 0006-journald-add-missing-error-check.patch: add missing - error check. -- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: - fix uninitialized memory access. -- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix - return value. -- Add 0009-modules-load-fix-error-handling.patch: fix error - handling. -- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: - fix incorrect memory access. -- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: - fix incorrect memory access. -- Add - 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: - fix invalid pointer. -- Add - 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: - fix permission on /run/log/journal. -- Add - 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: - order remote mount points properly before remote-fs.target. - -------------------------------------------------------------------- -Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com - -- Explicitly require pam-config for %post of the main package - -------------------------------------------------------------------- -Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com - -- Release v208: - + logind gained support for facilitating privileged input and drm - devices access for unprivileged clients (helps Wayland / - kmscon). - + New kernel command line luks.options= allows to specify LUKS - options, when used with luks.uuid= - + tmpfileS.d snippets can uses specifier expansion in path names - (%m, %b, %H, %v). - + New tmpfiles.d command "m" introduced to change - owner/group/access mode of a file/directory only if it exists. - + MemorySoftLimit= cgroup settings is no longer supported - (underlying kernel cgroup attribute will disappear in the - future). - + memeory.use_hierarchy cgroup attribute is enabled for all - cgroups systemd creates in memory cgroup hierarchy. - + New filed _SYSTEMD_SLICE= is logged in journal messages related - to a slice. - + systemd-journald will no longer adjust the group of journal - files it creates to "systemd-journal" group. Permissions and - owernship is adjusted when package is upgraded. - + Backlight and random seed files are now stored in - /var/lib/systemd. - + Boot time performance measurements included ACPI 5.0 FPDT - informations if available. -- Drop merged patches: - 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, - 0002-cgroup-correct-the-log-information.patch, - 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, - 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, - 0005-core-cgroup-first-print-then-free.patch, - 0006-swap-fix-reverse-dependencies.patch, - 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, - 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, - Fix-timeout-when-stopping-Type-notify-service.patch, - set-ignoreonisolate-noauto-cryptsetup.patch, - 0001-Fix-buffer-overrun-when-enumerating-files.patch, - 0007-libudev-fix-move_later-comparison.patch. -- Refresh patches - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. -- Own more ghost files. -- Do not run pam-config in systemd-mini %post. -- Add after-local.service to run after.local late during the boot - process (bnc#778715). - -------------------------------------------------------------------- -Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com - -- Update Fix-timeout-when-stopping-Type-notify-service.patch with - upstream fix. -- No longer start ask-password-wall, was causing too much spam on - terminals (bnc#747783). - -------------------------------------------------------------------- -Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com - -- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto - encrypted mounts survives runlevel changes (bnc#843085). -- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix - logind crash when /run/systemd/sessions was too big (bnc#840055, - initial fix from hpj@suse.com). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - only check for /boot/sysctl.conf- presence. -- Add service wrapper for after.local (bnc#778715). - -------------------------------------------------------------------- -Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com - -- Update use-usr-sbin-sulogin-for-emergency-service.patch to apply - to all services using sulogin and remove generated files from - upstream tarball (bnc#841398). - -------------------------------------------------------------------- -Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com - -- Fix-timeout-when-stopping-Type-notify-service.patch - Make sure MAINPID is watched when it becomes known (bnc#841544) - -------------------------------------------------------------------- -Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com - -- Remove output and error redirection to /dev/null in install - script, it might help tracing pam related issue (bnc#841573). - -------------------------------------------------------------------- -Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com - -- Move symlink migration trigger to post (bnc#821800). - -------------------------------------------------------------------- -Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org - -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch - VUL-0: polkit: process subject race condition [bnc#835827] - CVE-2013-4288 - -------------------------------------------------------------------- -Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-ima as the openSUSE kernel - does not support IMA (CONFIG_IMA is not set) - -------------------------------------------------------------------- -Wed Sep 18 23:40:27 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-smack as the openSUSE kernel - does not support smack (CONFIG_SECURITY_SMACK is not set) - -------------------------------------------------------------------- -Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com - -- Don't use a trigger to create symlink for sysctl.conf, always run - the test on %post (bnc#840864). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - ensure /boot is mounted before reading /boot/sysctl.conf-* - (bnc#809420). - -------------------------------------------------------------------- -Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org - -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous - commit & the opensuse-factory mailing list. - -------------------------------------------------------------------- -Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org - -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch - missing important check on return value. -- 0002-cgroup-correct-the-log-information.patch fix misleading - log information. -- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix - setting memory cgroup -- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch - should fail if write fails. -- 0005-core-cgroup-first-print-then-free.patch use-after-free - will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in - opensuse-factory list, topic "swap isn't activated" -- 0007-libudev-fix-move_later-comparison.patch libudev - invalid usage of "move_later". - -------------------------------------------------------------------- -Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - -- while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: - No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of - /run/dbus/system_bus_socket and that does not fly when /var/run - is not yet available. (systemd-dbus-system-bus-address.patch) - -------------------------------------------------------------------- -Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com - -- Enable Predictable Network interface names (bnc#829526). - -------------------------------------------------------------------- -Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org - -- version 207, distribution specific changes follow, for overall - release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: - Operation not permitted - * Fix shutdown hang "a stop job is running for Session 1 of user root" - that was reported in opensuse-factory list. -- systemd-sysctl no longer reads /etc/sysctl.conf however backward - compatbility is to be provides by a symlink created at %post. -- removed previously disabled upstream patches (merged): - 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, - 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, - 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, - 0006-suppress-status-message-output-at-shutdown-when-quie.patch, -- removed upstream merged patches: - exclude-dev-from-tmpfiles.patch, - logind_update_state_file_after_generating_....patch -- Add systemd-pam_config.patch: use correct include name for PAM - configuration on openSUSE. - -------------------------------------------------------------------- -Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com - -- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from - tmpfiles (bnc#835813). - -------------------------------------------------------------------- -Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com - -- Remove - force-lvm-restart-after-cryptsetup-target-is-reached.patch and - remove additional dependencies on LVM in other patches: LVM has - now systemd support, no need to work around it anymore in - systemd. - -------------------------------------------------------------------- -Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com - -- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch - to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 - -------------------------------------------------------------------- -Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de - -- explicitly enable getty@tty1.service instead of getty@.service as - the tty1 alias has been removed from the file (bnc#833494) - -------------------------------------------------------------------- -Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com - -- Ensure /usr/lib/systemd/system/shutdown.target.wants is created - and owned by systemd package. - -------------------------------------------------------------------- -Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com - -- Fix drop-in for getty@tty1.service - -------------------------------------------------------------------- -Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com - -- Move systemd-journal-gateway to subpackage to lower dependencies - in default install. - -------------------------------------------------------------------- -Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org - -- version 206 , highlights: -* Unit files now understand the new %v specifier which - resolves to the kernel version string as returned by "uname-r". -* "journalctl -b" may now be used to look for boot output of a - specific boot. Try "journalctl -b -1" -* Creation of "dead" device nodes has been moved from udev - into kmod and tmpfiles. -* The udev "keymap" data files and tools to apply keyboard - specific mappings of scan to key codes, and force-release - scan code lists have been entirely replaced by a udev - "keyboard" builtin and a hwdb data file. - -- remove patches now in upstream -- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 -- systemd now require the kmod tool in addition to the library. - -------------------------------------------------------------------- -Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com - -- use-usr-sbin-sulogin-for-emergency-service.patch - emergency.service failed to start because sulogin is in /usr/sbin now - -------------------------------------------------------------------- -Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de - -- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, - not a directory - -------------------------------------------------------------------- -Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org - -- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch - fix segfault at shutdown -- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch - disable the cgroups release agent when shutting down. -- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch - remove ancient fallback code; turn connection error into warning -- 006-suppress-status-message-output-at-shutdown-when-quie.patch - make shutdown honour "quiet" kernel cmdline. - -------------------------------------------------------------------- -Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org - -- fix broken symlink, service is called systemd-random-seed now. - -------------------------------------------------------------------- -Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com - -- Update to release 205: - + two new unit types have been introduced: - - Scope units are very similar to service units, however, are - created out of pre-existing processes -- instead of PID 1 - forking off the processes. - - Slice units may be used to partition system resources in an - hierarchial fashion and then assign other units to them. By - default there are now three slices: system.slice (for all - system services), user.slice (for all user sessions), - machine.slice (for VMs and containers). - + new concept of "transient" units, which are created at runtime - using an API and not based on configuration from disk. - + logind has been updated to make use of scope and slice units to - manage user sessions. Logind will no longer create cgroups - hierchies itself but will relying on PID 1. - + A new mini-daemon "systemd-machined" has been added which - may be used by virtualization managers to register local - VMs/containers. machinectl tool has been added to query - meta-data from systemd-machined. - + Low-level cgroup configuration options ControlGroup=, - ControlGroupModify=, ControlGroupPersistent=, - ControlGroupAttribute= have been removed. High-level attribute - settings or slice units should be used instead? - + A new bus call SetUnitProperties() has been added to alter - various runtime parameters of a unit, including cgroup - parameters. systemctl gained set-properties command to wrap - this call. - + A new tool "systemd-run" has been added which can be used to - run arbitrary command lines as transient services or scopes, - while configuring a number of settings via the command - line. - + nspawn will now inform the user explicitly that kernels with - audit enabled break containers, and suggest the user to turn - off audit. - + Support for detecting the IMA and AppArmor security - frameworks with ConditionSecurity= has been added. - + journalctl gained a new "-k" switch for showing only kernel - messages, mimicking dmesg output; in addition to "--user" - and "--system" switches for showing only user's own logs - and system logs. - + systemd-delta can now show information about drop-in - snippets extending unit files. - + systemd will now look for the "debug" argument on the kernel - command line and enable debug logging, similar to - "systemd.log_level=debug" already did before. - + "systemctl set-default", "systemctl get-default" has been - added to configure the default.target symlink, which - controls what to boot into by default. - + "systemctl set-log-level" has been added as a convenient - way to raise and lower systemd logging threshold. - + "systemd-analyze plot" will now show the time the various - generators needed for execution, as well as information - about the unit file loading. - + libsystemd-journal gained a new sd_journal_open_files() call - for opening specific journal files. journactl also gained a - new switch to expose this new functionality (useful for - debugging). - + systemd gained the new DefaultEnvironment= setting in - /etc/systemd/system.conf to set environment variables for - all services. - + If a privileged process logs a journal message with the - OBJECT_PID= field set, then journald will automatically - augment this with additional OBJECT_UID=, OBJECT_GID=, - OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if - system services want to log events about specific client - processes. journactl/systemctl has been updated to make use - of this information if all log messages regarding a specific - unit is requested. -- Remove 0001-journal-letting-interleaved-seqnums-go.patch, - 0002-journal-remember-last-direction-of-search-and-keep-o.patch, - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, - 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, - 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, - 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, - 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, - Start-ctrl-alt-del.target-irreversibly.patch, - systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged - upstream. -- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, - 1008-add-msft-compability-rules.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, - fix-support-for-boot-prefixed-initscript-bnc-746506.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch, - insserv-generator.patch, - optionally-warn-if-nss-myhostname-is-called.patch, - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, - service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. -- Update macros.systemd.upstream with latest upstream revision. - -------------------------------------------------------------------- -Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com - -- Replace - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch - patch with insserv-generator.patch: no longer patch systemd main - binary but generate systemd drop-in files using a generator, for - insserv.conf compatibility. - -------------------------------------------------------------------- -Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com - -- systemd-mini doesn't need dbus-1, only dbus-1-devel - -------------------------------------------------------------------- -Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com - -- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). - add: 1008-add-msft-compability-rules.patch - -------------------------------------------------------------------- -Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com - -- Drop 1007-add-msft-compability-rules.patch, breaks boot and links - in /dev/disk/by-id, will need proper rework (bnc#826528). - -------------------------------------------------------------------- -Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org - -- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another - case where we are trying to umount the root directory at shutdown. -- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch - only attempt to connect to a session bus if one likely exists - -------------------------------------------------------------------- -Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - -- Automatically online CPUs/Memory on CPU/Memory hotplug add events - (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - -- Dropped backward compatibility -- Added check for upstream rpm macros changes - -------------------------------------------------------------------- -Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com - -- Split out RPM macros into separate package to simplify dependencies - -------------------------------------------------------------------- -Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - -- 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 - -------------------------------------------------------------------- -Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de - -- Explicitly list libattr-devel as BuildRequires -- More robust make install call. Remove redundant %clean section. - -------------------------------------------------------------------- -Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz - -- Cleanup NumLock setting code - (handle-numlock-value-in-etc-sysconfig-keyboard.patch). - -------------------------------------------------------------------- -Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com - -- Only apply 1007-add-msft-compability-rules.patch when not - building systemd-mini. - -------------------------------------------------------------------- -Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com - -- Add udev MSFT compability rules (bnc#805059). - add: 1007-add-msft-compability-rules.patch -- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). -- Clean-up spec file, put udev patches after systemd patches. -- Rebase patches so they would apply nicely. - -------------------------------------------------------------------- -Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - -- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch - fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, - ignoring: Invalid argument -- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch - systemctl disable should remove dangling symlinks. -- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch - alien childs are reported as alive when they are really dead. - -------------------------------------------------------------------- -Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com - -- Update to release 204: - + systemd-nspawn creates etc/resolv.conf in container if needed. - + systemd-nspawn will store metadata about container in container - cgroup including its root directory. - + cgroup hierarchy has been reworked, all objects are now suffxed - (with .session for user sessions, .user for users, .nspawn for - containers). All cgroup names are now escaped to preven - collision of object names. - + systemctl list-dependencies gained --plain, --reverse, --after - and --before switches. - + systemd-inhibit shows processes name taking inhibitor lock. - + nss-myhostname will now resolve "localhost" implicitly. - + .include is not allowed recursively anymore and only in unit - files. Drop-in files should be favored in most cases. - + systemd-analyze gained "critical-chain" command, to get slowest - chain of units run during boot-up. - + systemd-nspawn@.service has been added to easily run nspawn - container for system services. Just start - "systemd-nspawn@foobar.service" and container from - /var/lib/container/foobar" will be booted. - + systemd-cgls has new --machine parameter to list processes from - one container. - + ConditionSecurity= can now check for apparmor and SMACK. - + /etc/systemd/sleep.conf has been introduced to configure which - kernel operation will be execute when "suspend", "hibernate" or - "hybrid-sleep" is requrested. It allow new kernel "freeze" - state to be used too. (This setting won't have any effect if - pm-utils is installed). - + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape - passed argument if applicable. -- Regenerate some patches for this new release. -- Rename hostname-setup-shortname.patch to - ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git - format-patch friendly. -- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to - /dev/nvidia* (bnc#808319). -- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a - configure option. -- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids - expansion errors. -- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del - should be irreversible for reliability. - -------------------------------------------------------------------- -Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org - -- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash -support has been removed from the kernel. -- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch -fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 -- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in -Revert-service-drop-support-for-SysV-scripts-for-the-early.patch -use HAVE_SYSV_COMPAT instead. - -------------------------------------------------------------------- -Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com - -- Do no ship defaults for sysctl, they should be part of aaa_base - (currently in procps). -- Add hostname-setup-shortname.patch: ensure shortname is set as - hostname (bnc#820213). - -------------------------------------------------------------------- -Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com - -- Rebase - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to - fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). - -------------------------------------------------------------------- -Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com - -- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure - /boot/sysctl.conf- is handled (bnc#809420). - -------------------------------------------------------------------- -Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com - -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't - free variable whose content is still be used (bnc#819970). - -------------------------------------------------------------------- -Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com - -- Add configure flags to ensure boot.local/halt.local are run on - startup/shutdown. - -------------------------------------------------------------------- -Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com - -- Fix firmware loading by enabling --with-firmware-path (bnc#817551). - -------------------------------------------------------------------- -Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de - -- Fix systemd-sysv-convert, so empty runlevel folders don't lead - to "line 44: [: too many arguments" - -------------------------------------------------------------------- -Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com - -- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup - when using /etc/HOSTNAME. - -------------------------------------------------------------------- -Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - -- Rename remaning udev patches (clean-up). -- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). -- Drop unused patches: - 1001-Reinstate-TIMEOUT-handling.patch - 1005-udev-fix-sg-autoload-regression.patch - 1026-re-add-persistent-net.patch - -------------------------------------------------------------------- -Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com - -- Use drop-in file to fix bnc#804158. - -------------------------------------------------------------------- -Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com - -- add some more conflicts to make bootstrap work - -------------------------------------------------------------------- -Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com - -- Do not provide %{release} for systemd-analyze -- Add more conflicts to -mini packages -- Disable Predictable Network interface names until it has been - reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. -- Don't package /usr/lib/firmware/update (not used) - -------------------------------------------------------------------- -Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org - -- Fix packaging error, there is no syslog.target anymore - do not pretend there is one. - -------------------------------------------------------------------- -Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com - -- Update to release 202: - + 'systemctl list-jobs' got some polishing. '--type=' argument - may now be passed more than once. 'systemctl list-sockets' has - been added. - + systemd gained a new unit 'systemd-static-nodes.service' - that generates static device nodes earlier during boot, and - can run in conjunction with udev. - + systemd-nspawn now places all containers in the new /machine - top-level cgroup directory in the name=systemd hierarchy. - + bootchart can now store its data in the journal. - + journactl can now take multiple --unit= and --user-unit= - switches. - + The cryptsetup logic now understands the "luks.key=" kernel - line switch. If a configured key file is missing, it - will fallback to prompting the user. -- Rebase some patches -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to - properly handle SYSTEMCTL_OPTIONS - -------------------------------------------------------------------- -Fri Apr 19 12:47:13 UTC 2013 - max@suse.com - -- Fix regression in the default for tmp auto-deletion - (systemd-tmp-safe-defaults.patch, FATE#314974). - -------------------------------------------------------------------- -Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com - -- Update to release 201: - + udev now supports different nameng policies for network - interface for predictable names. - + udev gained support for loading additional device properties - from an indexed database. %udev_hwdb_update macro should be - used by packages adding entries to this database. - + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. - %journal_catalog_update macro should be used by packages adding - %entries to this database. - + "age" field for tmpfiles entries can be set to 0, forcing - removal of files matching this entry. - + coredumpctl gained "gdb" verb to invoke gdb on selected - coredump. - + New rpm macros has been added: %udev_rules_update(), - %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, - %_tmpfilesdir, %_sysctldir. - + In service files, %U can be used for configured user name of - the service. - + nspawn can be invoked without a controlling TTY. - + systemd and nspawn can accept socket file descriptors when - started for socket activation. This allow socket activated - nspawn containers. - + logind can now automatically suspend/hibernate/shutdown system - on idle. - + ConditionACPower can be used in unit file to detect if AC power - source is connected or if system is on battery power. - + EnvironmentFile= in unit files supports file globbing. - + Behaviour of PrivateTmp=, ReadWriteDirectories=, - ReadOnlyDirectories= and InaccessibleDirectories= has - changed. The private /tmp and /var/tmp directories are now - shared by all processes of a service (which means - ExecStartPre= may now leave data in /tmp that ExecStart= of - the same service can still access). When a service is - stopped its temporary directories are immediately deleted - (normal clean-up with tmpfiles is still done in addition to - this though). - + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using - "systemctl set-cgroup-attr foobar.server cgroup.attribute - value". Those settings are stored persistenly on disk. - + systemd-vconsole-setup will now copy all fonts settings to all - allocated VTs. - + timedated now exposes CanNTP property to indicate if a local - NTP service is available. - + pstore file system is mounted by default, if available. - + SMACK policies are loaded at early boot, if available. - + Timer units now support calendar time events. - + systemd-detect-virt detect xen PVs. - + Some distributions specific LSB targets has been dropped: - $x-display-manager, $mail-transfer-agent, - $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As - well mail-transfer-agent.target and syslog.target has been - removed. - + systemd-journal-gatewayd gained SSL support and now runs as - unprivileged user/group - "systemd-journal-gateway:systemd-journal-gateway" - + systemd-analyze will read, when available, boot time - performance from EFI variable from boot loader supporting it. - + A new generator for automatically mounting EFI System Partition - (ESP) to /boot (if empty and no other file system has been - configured in fstab for it). - + logind will now send out PrepareForSleep(false) out - unconditionally, after coming back from suspend. - + tmpfiles gained a new "X" line type, that allows - configuration of files and directories (with wildcards) that - shall be excluded from automatic cleanup ("aging"). - + udev default rules set the device node permissions now only - at "add" events, and do not change them any longer with a - later "change" event. - + A new bootctl tool has been added that is an interface for - certain EFI boot loader operations. - + A new tool kernel-install has been added to install kernel - images according to Boot Loader Specification. - + A new tool systemd-activate can be used to test socket - activation. - + A new group "systemd-journal" is now owning journal files, - replacing "adm" group. - + journalctl gained "--reverse" to show output in reverse order, - "--pager-end" to jump at the end of the journal in the - pager (only less is supported) and "--user-unit" to filter for - user units. - + New unit files has been addedto ease for systemd usage in - initrd. - + "systemctl start" now supports "--irreversible" to queue - operations which can be reserved. It is now used to make - shutdown requests more robust. - + Auke Kok's bootchart has been merged and relicensed to - LGPLv2.1+. - + nss-myhostname has been merged in systemd codebase. - + some defaults sysctl values are now set by default: the safe - sysrq options are turned on, IP route verification is turned - on, and source routing disabled. The recently added hardlink - and softlink protection of the kernel is turned on. - + Add support for predictable network naming logic. It can be - turned off with kernel command line switch: net.ifnames=0 - + journald will now explicitly flush journal files to disk at the - latest 5 min after each write and will mark file offline until - next read. This should increase reliability in case of crash. - + remote-fs-setup.target target has been added to pull in - specific services when at least one remote file system is to be - mounted. - + timers.target and paths.target have been added as canonical - targets to pull user timer and path units, similar to - sockets.targets. - + udev daemon now sets default number of worker processes in - parallel based on number of CPUs instead of RAM. - + Most unit file settings which takes likst of items can now be -reset by assigning empty string to them, using drop-in. - + Add support for drop-in configuration file for units. - + Most unit file settings which takes likst of items can now be - reset by assigning empty string to them, using drop-in. - + improve systemg-cgtop output. - + improve 'systemctl status' output for socket, drop-in for units. - + 'hostnamectl set-hostname' allows setting FQDN hostnames. - + fractional time intervals are now parsed properly. - + localectl can list available X11 keymaps. - + systemd-analyze dot can filter for specific units and has been - rewritten in C. - + systemctl gained "list-dependencies" command. - + Inhibitors are now honored no only in GNOME. -- Many patches has been dropped, being merged upstream. -- Many patches has been renamed and regenerated with git, to have - consistent naming, authorship and comments embedded. -- Add - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: - re-add support for boot.* initscripts until they are all migrated - to systemd unit files. -- Merge patches for nss-myhostname package to this package. - -------------------------------------------------------------------- -Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com - -- Add chromebook lid switch as a power switch to logind rule to - enable suspend on lid close - -------------------------------------------------------------------- -Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com - -- Add improve-readahead-spinning.patch: improve readahead - performance on spinning media with ext4. -- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal - (bnc#789589). -- Add fix-lsb-provides.patch: ensure LSB provides are correctly - handled if also referenced as dependencies (bnc#809646). -- Add fix-loopback-mount.patch: ensure udevd is started (and - therefore static devices are created) before mounting - (bnc#809820). -- Update systemd-sysv-convert to search services files in new - location (bnc#809695). -- Add logind-nvidia-acl.diff: set ACL on nvidia devices - (bnc#808319). -- Add do-no-isolate-on-fsck-failure.patch: do not turn off services - if fsck fails (bnc#812874) -- Add wait-for-processes-killed.patch: wait for processes killed by - SIGTERM before killing them with SIGKILL. -- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to - systemctl command (bnc#801878). - -------------------------------------------------------------------- -Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz - -- Fixed disabling CapsLock and enabling NumLock (bnc#746595, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - systemd-numlock-suse.patch). -- Explicitly require libgcrypt-devel to fix build failure. - -------------------------------------------------------------------- -Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - -- udev: ensure that the network interfaces are renamed even if they - exist (bnc#809843). - add: 1027-udev-always-rename-network.patch - -------------------------------------------------------------------- -Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - -- udev: re-add persistent network rules (bnc#809843). - add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. - -------------------------------------------------------------------- -Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com - -- Add rbind-mount.patch: handle rbind mount points correctly - (bnc#804575). - -------------------------------------------------------------------- -Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com - -- Ensure journal is flushed on disk when systemd-logger is - installed for the first time. -- Add improve-journal-perf.patch: improve journal performance on - query. -- Add support-hybrid-suspend.patch: add support for hybrid suspend. -- Add forward-to-pmutils.patch: forward suspend/hibernation calls - to pm-utils, if installed (bnc#790157). - -------------------------------------------------------------------- -Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - -- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer - add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -- udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch - -------------------------------------------------------------------- -Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de - -- Create getty@tty1.service to restore traditional SUSE behavior - of not clearing tty1. (bnc#804158) -- Better use of find -exec - -------------------------------------------------------------------- -Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com - -- Add early-sync-shutdown.patch: start sync just when - shutdown.target is beginning -- Update parse-multiline-env-file.patch to better handle continuing - lines. -- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). -- Add systemctl-print-wall-on-if-successful.patch: only print on - wall if successful. -- Add improve-bash-completion.patch: improve bash completion. - -------------------------------------------------------------------- -Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de - -- disable nss-myhostname warning (bnc#783841) - => disable-nss-myhostname-warning-bnc-783841.diff - -------------------------------------------------------------------- -Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - -- rework patch: - 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- udev: use unique names for temporary files created in /dev. - add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch -- cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch - -------------------------------------------------------------------- -Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com - -- usb_id: ensure we have a valid serial number as a string (bnc#779493). - add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- cdrom_id: created links for the default cd/dvd drive (bnc#783054). - add: 1021-create-default-links-for-primary-cd_dvd-drive.patch - -------------------------------------------------------------------- -Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com - -- Add cryptsetup-accept-read-only.patch: accept "read-only" in - addition to "readonly" in crypttab -- Update parse-multiline-env-file.patch to correctly handle - commented lines (bnc#793411) - -------------------------------------------------------------------- -Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - -- udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch -- keymap: add aditional support for some keyboard keys - add: 1018-keymap-add-aditional-support.patch -- journalctl: require argument for --priority - add: journalctl-require-argument-for-priority -- dropped useless patches: - libudev-validate-argument-udev_enumerate_new.patch - kmod-fix-builtin-typo.patch -- rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for - systemd-udev-root-symlink.service - -------------------------------------------------------------------- -Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com - -- Add tmpfiles-X-type.patch: allow to clean directories with - removing them. -- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with - --ignore-dependencies waiting for dependencies (bnc#800365). -- Update systemd-numlock-suse.patch: udev-trigger.service is now - called systemd-udev-trigger.service. -- Add improve-man-environment.patch: improve manpage regarding - Environment value. - -------------------------------------------------------------------- -Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com - -- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly - (bnc#798620). -- Update crypt-loop-file.patch to correctly detect crypto loop - files (bnc#799514). -- Add journalctl-remove-leftover-message.patch: remove debug - message in systemctl. -- Add job-avoid-recursion-when-cancelling.patch: prevent potential - recursion when cancelling a service. -- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully - parsed. -- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff - max date for journal. -- Add reword-rescue-mode-hints.patch: reword rescue prompt. -- Add improve-overflow-checks.patch: improve time overflow checks. -- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour - with symlinks. -- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure - hostnamectl requires an argument when called with set-hostname - option. -- Add agetty-overrides-term.patch: pass correctly terminal type to - agetty. -- Add check-for-empty-strings-in-strto-conversions.patch: better - check for empty strings in strto* conversions. -- Add strv-cleanup-error-path-loops.patch: cleanup strv on error - path. -- Add cryptsetup-handle-plain.patch: correctly handle "plain" - option in cryptsetup. -- Add fstab-generator-improve-error-message.patch: improve error - message in fstab-generator. -- Add delta-accept-t-option.patch: accept -t option in - systemd-delta. -- Add highlight-ordering-cycle-deletions.patch: highlight ordering - cycle deletions in logs. -- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; - in ExecStart. -- Add hostnamectl-fix-parsing-no-ask-password.patch: accept - no-ask-password in hostnamectl. -- Add systemd-cgls-fix-piping-output.patch: fix piping output of - systemd-cgls. -- Add core-load-fragment-improve-error-message.patch: improve error - message when parsing fragments. -- Add fix-potential-bad-mem-access.patch: fix potential bad memory - access. -- Add socket-improve-error-message.patch: improve error message in - socket handling. -- Add journal-send-always-send-syslog_identifier.patch: always send - syslog_identifier if available for journal. -- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. -- Add crypsetup-generator-state-file-name-in-error-message.patch: - add filename in error message from crypsetup-generator. -- Add fstab-generator-error-message-on-duplicates.patch: improve - error message on duplicate in fstab-generator. -- Add systemctl-verbose-message-on-missing-install.patch: reword - missing install error message in systemctl. -- Add shutdown-improvements.patch: various improvements at - shutdown. -- Add localectl-fix-assertion.patch: fix assertion in localectl. -- Add path-util-fix-potential-crash.patch: fix potential crash in - path-util. -- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. -- Add socket-verbose-error-message.patch: add more verbose error - message in socket handling. -- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: - handle properly ssh-logins without pam tty field. -- Add fstab-generator-properly-detect-bind-mounts.patch: properly - detect bind-mounts in fstab-generator. -- Add localectl-support-systems-without-locale-archive.patch: - localectl now supports systemd without locale-archive file. -- Add logind-capability-making-seats-without-fb.patch: allows - capability of making seats without fb. -- Add service-forking-ignore-exit-status-main-process.patch: ignore - exit-statis of main process when forking, if specified in unit - file. -- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't - assert on reboot if dbus isn't there. -- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: - ignore non tty non-x11 session on shutdown. -- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io - error. -- Add do-not-make-sockets-dependent-on-lo.patch: do not make - sockets dependent on lo interface. -- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't - force MNT_FORCE on final umount at shutdown. -- Add shutdown-ignore-loop-devices-without-backing-file.patch: - ignore loop devices without backing file at shutdown. -- Add fix-bad-mem-access.patch: fix bad memory access -- Add parse-multiline-env-file.patch: correctly parse multiline - environment files (bnc#793411). - -------------------------------------------------------------------- -Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com - -- Add multiple-sulogin.patch: allows multiple sulogin instance - (bnc#793182). - -------------------------------------------------------------------- -Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com - -- udev: path_id - handle Hyper-V devices - add: 1008-udev-path_id-handle-Hyper-V-devices.patch -- keymap: Update the list of Samsung Series 9 models - add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -- keymap: Add Samsung 700T - add: 1010-keymap-Add-Samsung-700T.patch -- libudev: avoid leak during realloc failure - add: 1011-libudev-avoid-leak-during-realloc-failure.patch -- libudev: do not resolve $attr{device} symlinks - add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch -- libudev: validate 'udev' argument to udev_enumerate_new() - add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -- udev: fix whitespace - add: 1014-udev-fix-whitespace.patch -- udev: properly handle symlink removal by 'change' event - add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of - them returns an error - add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -- udev: use usec_t and now() - add: 1017-udev-use-usec_t-and-now.patch - -------------------------------------------------------------------- -Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - -- udevd: add missing ':' to getopt_long 'e'. - add: 1007-udevd-add-missing-to-getopt_long-e.patch -- clean up systemd.spec, make it easy to see which are udev and - systemd patches. -- make 'reload' and 'force-reload' LSB compliant (bnc#793936). - -------------------------------------------------------------------- -Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - -- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. -- timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. - -------------------------------------------------------------------- -Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com - -- add conflicts between udev-mini and udev-mini-devel to libudev1 - -------------------------------------------------------------------- -Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org - -- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: - do not consider failure to umount / and /usr an error. - -------------------------------------------------------------------- -Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com - -- Add fix-devname-prefix.patch: fix modules.devname path, it isn't - in /usr. -- Move post script to fix symlinks in /etc/systemd/system to a - trigger to run it after old systemd is uninstalled. - -------------------------------------------------------------------- -Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com - -- Add fix-debugshell.patch: use /bin/bash if sushell isn't - installed (bnc#789052). -- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype - (bnc#792182). -- Ensure libudev1 and libudev-mini1 conflicts. - -------------------------------------------------------------------- -Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com - -- Fix creation of /dev/root link. - -------------------------------------------------------------------- -Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com - -- Add remount-ro-before-unmount.patch: always remount read-only - before unmounting in final shutdown loop. -- Add switch-root-try-pivot-root.patch: try pivot_root before - overmounting / - -------------------------------------------------------------------- -Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com - -- links more manpages for migrated tools (from Christopher - Yeleighton). -- disable boot.localnet service, ypbind service will do the right - thing now (bnc#716746) -- add xdm-display-manager.patch: pull xdm.service instead of - display-manager.service (needed until xdm initscript is migrated - to native systemd service). -- Add fix-permissions-btmp.patch: ensure btmp is owned only by root - (bnc#777405). -- Have the udev package create a tape group, as referenced by - 50-udev-default.rules and 60-persistent-storage-tape.rules - (DimStar). -- Add fix-bad-memory-access.patch: fix crash in journal rotation. -- Add fix-dbus-crash.patch: fix D-Bus caused crash. -- Add sync-on-shutdown.patch: ensure sync is done when initiating - shutdown. -- Add mount-efivars.patch: mount efivars if booting on UEFI. - - -------------------------------------------------------------------- -Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com - -- Ship a empty systemd-journald initscript in systemd-logger to - stop insserv to complain about missing syslog dependency. -- Update - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch - with bug fixes from Debian. - -------------------------------------------------------------------- -Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com - -- /var/log/journal is now only provided by systemd-logger (journal - won't be persistent for people using another syslog - implementation). -- install README in /var/log (in systemd-logger) and /etc/init.d -- create adm group when installing systemd. -- fix path in udev-root-symlink.systemd. -- Enforce Requires(post) dependency on libudev in main systemd - package (help upgrade). -- Ensure configuration is reloaded when upgrading and save random - seed when installing. -- Create /lib/udev symlink, if we do a fresh install. -- Add fix-build-glibc217.patch: fix build with latest glibc. -- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only - used to bootstrap systemd-mini. - -------------------------------------------------------------------- -Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com - -- adding a package systemd-logger that blocks syslog implementations - from installation to make an installation that only uses the journal - -------------------------------------------------------------------- -Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com - -- Don't hardcode path for systemctl in udev post script. -- Ensure systemd-udevd.service is shadowing boot.udev when booting - under systemd. -- Fix udev daemon upgrade under both systemd and sysvinit. -- Add fix-logind-pty-seat.patch: fix logind complaining when doing - su/sudo in X terminal. - -------------------------------------------------------------------- -Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com - -- add libudev1 to baselibs.conf - -------------------------------------------------------------------- -Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com - -- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) - -------------------------------------------------------------------- -Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com - -- Add var-run-lock.patch: make sure /var/run and /var/lock are - handled as bind mount if they aren't symlinks. -- Update storage-after-cryptsetup.patch with new systemctl path. -- Migrate broken symlinks in /etc/systemd/system due to new systemd - location. - -------------------------------------------------------------------- -Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com - -- Update to release 195: - + journalctl agained --since and --until, as well as filtering - for units with --unit=/-u. - + allow ExecReload properly for Type=oneshot (needed for - iptables.service, rpc-nfsd.service). - + journal daemon supports time-based rotation and vaccuming. - + journalctl -F allow to list all values of a certain field in - journal database. - + new commandline clients for timedated, locald and hostnamed - + new tool systemd-coredumpctl to list and extract coredumps from - journal. - + improve gatewayd: follow mode, filtering, support for - HTML5/JSON Server-Sent-Events. - + reload support in SysV initscripts is now detected when file is - parted. - + "systemctl status --follow" as been removed, use "journalctl -fu - instead" - + journald.conf RuntimeMinSize and PersistentMinSize settings - have been removed. -- Add compatibility symlink for systemd-ask-password and systemctl - in /bin. - -------------------------------------------------------------------- -Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com - -- Create and own more systemd drop-in directories. - -------------------------------------------------------------------- -Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com - -- Improve mini packages for bootstrapping. -- do not mount /tmp as tmpfs by default. - -------------------------------------------------------------------- -Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com - -- Fix install script when there is no inittab - -------------------------------------------------------------------- -Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com - -- Create a systemd-mini specfile to prevent cycle in bootstrapping - -------------------------------------------------------------------- -Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com - -- udev and its subpackages are now generated by systemd source - package. -- migrate udev and systemd to /usr -- Update to version 194: - + if /etc/vconsole.conf is non-existent or empty and if - /etc/sysconfig/console:CONSOLE_FONT (resp - /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp - keymap) is not modified. -- Changes from version 44 to 193: - + journalctl gained --cursor= to show entries starting from a - specified location in journal. - + Size limit enforced to 4K for fields exported with "-o json" in - journalctl. Use --all to disable this behavior. - + Optional journal gateway daemon - (systemd-journal-gatewayd.service) to access journal via HTTP - and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and - 'curl -H"Accept: application/json" - http://localhost:19531/entries' for JSON formatted content. - HTML5 static page is also available as explained on - http://0pointer.de/public/journal-gatewayd - + do not mount cpuset controler, doesn't work well by default - ATM. - + improved nspawn behaviour with /etc/localtime - + journald logs its maximize size on disk - + multi-seat X wrapper (partially merged in upstream X server). - + HandleSleepKey has been splitted into HandleSuspendKey and - HandleHibernateKey. - + systemd and logind now handle system sleep states, in - particular suspending and hibernating. - + new cgroups are mounted by default (cpu, cpuacct, - net_cls, net_pri) - + sync at shutdown is now handled by kernel - + imported journalctl output (colors, filtering, pager, bash - completion). - + suffix ".service" may now be ommited on most systemctl command - involving service unit names. - + much improved nspawn containers support. - + new conditions added : ConditionFileNotEmpty, ConditionHost, - ConditionPathIsReadWrite - + tmpfiles "w" supports file globbing - + logind handles lid switch, power and sleep keys all the time, - unless systemd-inhibit - --what=handle-power-key:handle-sleep-key:handle-lid-switch is - run by Desktop Environments. - + support for reading structured kernel message is used by - default (need kernel >= 3.5). /proc/kmsg is now used only by - classic syslog daemons. - + Forward Secure Sealing is now support for Journal files. - + RestartPrevenExitStatus and SuccessExitStatus allow configure - of exit status (exit code or signal). - + handles keyfile-size and keyfile-offset in /etc/crypttab. - + TimeoutSec settings has been splitted into TimeoutStartSec and - TimeoutStopSec. - + add SystemCallFilters option to add blacklist/whitelist to - system calls, using SECCOMP mode 2 of kernel >= 3.5. - + systemctl udevadm info now takes a /dev or /sys path as argument: - - udevadm info /dev/sda - + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. - + systemd-loginctl and systemd-journalctl have been renamed - to loginctl and journalctl to match systemctl. - + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is - no longer supported. udev_monitor_new_from_netlink() needs to - be used to subscribe to events. - + udev: when udevd is started by systemd, processes which are left - behind by forking them off of udev rules, are unconditionally - cleaned up and killed now after the event handling has finished. - Services or daemons must be started as systemd services. - Services can be pulled-in by udev to get started, but they can - no longer be directly forked by udev rules. - + For almost all files, license is now LGPL2.1+ (from previous - GPL2.0+). Exception are some minor stuff in udev (will be - changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] - library. - + var-run.mount and var-lock.mount are no longer provided - (should be converted to symlinks). - + A new service type Type=idle to avoid ugly interleaving of - getty output and boot status messages. - + systemd-delta has been added, a tool to explore differences - between user/admin configuration and vendor defaults. - + /tmp mouted as tmpfs by default. - + /media is now longer mounted as tmpfs - + GTK tool has been split off to systemd-ui package. - + much improved documentation. -- Merge BuildRequires from udev package: - gobject-introspection-devel, gtk-doc, libsepol-devel, - libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), - pjgconfig(libcryptsetup), pkgconfig(libpci), - pkgconfig(libqrencode), pkgconfig(libselinux), - pkgconfig(usbutils). -- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) -- Merge sources from udev package: boot.udev, write_dev_root.rules, - udev-root-symlink.systemd. -- Merge patches from udev package: numbered started from 1000): - 0001-Reinstate-TIMEOUT-handling.patch, - 0013-re-enable-by_path-links-for-ata-devices.patch, - 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, - 0026-udev-netlink-null-rules.patch, - 0027-udev-fix-sg-autoload-regression.patch. -- Remove following patches, merged upstream: - 0001-util-never-follow-symlinks-in-rm_rf_children.patch, - fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, - fix-swap-priority.patch, improve-restart-behaviour.patch, - fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, - ulimit-support.patch, change-terminal.patch, - fix-tty-startup.patch, fix-write-user-state-file.patch, - fix-analyze-exception.patch, use_localtime.patch, - journalctl-pager-improvement.patch, - avoid-random-seed-cycle.patch, - 0001-add-sparse-support-to-detect-endianness-bug.patch, - drop-timezone.patch. -- Rebase the following patches: - 0001-Add-bootsplash-handling-for-password-dialogs.patch, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, - 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, - crypt-loop-file.patch, - delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, - dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, - fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, - new-lsb-headers.patch, storage-after-cryptsetup.patch, - support-suse-clock-sysconfig.patch, support-sysvinit.patch, - sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. - -------------------------------------------------------------------- -Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com - -- Add use_localtime.patch: use /etc/localtime instead of - /etc/timezone (bnc#773491) -- Add support-suse-clock-sysconfig.patch: read SUSE - /etc/sysconfig/clock file. -- Add drop-timezone.patch: drop support for /etc/timezone, never - supported on openSUSE. -- Add journalctl-pager-improvement.patch: better handle output when - using pager. -- Add fix-enable-disable-boot-initscript.patch: support boot.* - initscripts for systemctl enable /disable (bnc#746506). - -------------------------------------------------------------------- -Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com - -- Ensure systemd macros never fails (if systemd isn't install) - -------------------------------------------------------------------- -Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com - -- Add fix-analyze-exception.patch: prevent exception if running - systemd-analyze before boot is complete (bnc#772506) - -------------------------------------------------------------------- -Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz - -- Fix NumLock detection/set race condition (bnc#746595#c47). - -------------------------------------------------------------------- -Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com - -- Move systemd-analyse to a subpackage, to remove any python - dependencies from systemd main package (bnc#772039). - -------------------------------------------------------------------- -Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com - -- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on - kernel commandline are handled. -- Add fix-write-user-state-file.patch: write logind state file - correctly. -- Disable logind-logout.patch: cause too many issues (bnc#769531). - -------------------------------------------------------------------- -Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com - -- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). - -------------------------------------------------------------------- -Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz - -- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). - -------------------------------------------------------------------- -Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com - -- Add fix-dir-noatime-tmpfiles.patch: do not modify directory - atime, which was preventing removing empty directories - (bnc#751253, rh#810257). -- Add improve-restart-behaviour.patch: prevent deadlock during - try-restart (bnc#743218). -- Add journal-bugfixes.patch: don't crash when rotating journal - (bnc#768953) and prevent memleak at rotation time too. -- Add ulimit-support.patch: add support for system wide ulimit - (bnc#744818). -- Add change-terminal.patch: use vt102 instead of vt100 as terminal - for non-vc tty. -- Package various .wants directories, which were no longer packaged - due to plymouth units being removed from systemd package. -- Fix buildrequires for manpages build. - -------------------------------------------------------------------- -Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com - -- Do not ship plymouth units, they are shipped by plymouth package - now (bnc#769397). -- Fix module loading (bnc#769462) - -------------------------------------------------------------------- -Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com - -- Add fix-swap-priority: fix default swap priority (bnc#731601). - -------------------------------------------------------------------- -Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com - -- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real - fix. - -------------------------------------------------------------------- -Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com - -- Update new-lsb-headers.patch to handle entries written after - description tag (bnc#727771, bnc#747931). - -------------------------------------------------------------------- -Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com - -- Disable logind-logout.patch: it crashes sudo session (if called - after su -l) (bnc#746704). - -------------------------------------------------------------------- -Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com - -- Add fix-getty-isolate.patch: don't quit getty when changing - runlevel (bnc#746594) - -------------------------------------------------------------------- -Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz - -- Implemented SUSE specific sysconfig numlock logic (bnc#746595). - -------------------------------------------------------------------- -Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com - -- Add dbus-1 as BuildRequires to fix build. - -------------------------------------------------------------------- -Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com - -- apply ppc patch to systemd-gtk too (fixes build) - -------------------------------------------------------------------- -Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com - -- Update fixppc.patch with upstream patches -- Add comments from upstream in - 0001-util-never-follow-symlinks-in-rm_rf_children.patch. -- Add logind-logout.patch: it should fix sudo / su with pam_systemd - (bnc#746704). - -------------------------------------------------------------------- -Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix - endianness error, preventing journal to work properly on ppc. -- Add fixppc.patch: fix build and warnings on ppc. - -------------------------------------------------------------------- -Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix - CVE-2012-1174 (bnc#752281). - -------------------------------------------------------------------- -Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + Support optional initialization of the machine ID from the KVM - or container configured UUID. - + Support immediate reboots with "systemctl reboot -ff" - + Show /etc/os-release data in systemd-analyze output - + Many bugfixes for the journal, including endianess fixes and - ensuring that disk space enforcement works - + non-UTF8 strings are refused if used in configuration and unit - files. - + Register Mimo USB Screens as suitable for automatic seat - configuration - + Reorder configuration file lookup order. /etc now always - overrides /run. - + manpages for journal utilities. -- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, - systemd-journald-fix-endianess-bug.patch. -- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). - -------------------------------------------------------------------- -Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com - -- Add fix-c++-compat.patch: fix C++ compatibility error in header. - -------------------------------------------------------------------- -Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com - -- Add systemd-journald-fix-endianess-bug.patch: fix journald not - starting on ppc architecture. -- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth - is correctly called and conflicts with bootsplash. - -------------------------------------------------------------------- -Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com - -- Remove rsyslog listen.conf, handled directly by rsyslog now - (bnc#747871). - -------------------------------------------------------------------- -Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + requires /etc/os-release, support for /etc/SuSE-release is no - longer present. - + Track class of PAM logins to distinguish greeters from normal - user logins. - + Various bug fixes. - -------------------------------------------------------------------- -Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de - -- Use pkgconfig symbols for BuildRequires and specify version - -------------------------------------------------------------------- -Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com - -- Enable Plymouth integration. - * Bootsplash related files will be moved to the bootsplash - package - -------------------------------------------------------------------- -Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com - -- Update to version 42: - + Various bug fixes - + Watchdog support for supervising services is now usable - + Service start rate limiting is now configurable and can be - turned off per service. - + New CanReboot(), CanPowerOff() bus calls in systemd-logind -- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, - is-enabled-non-existing-service.patch (merged upstream) -- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for - manpage generation - -------------------------------------------------------------------- -Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com - -- Update to version 41: - + systemd binary is now installed in /lib/systemd (symlink for - /bin/systemd is available now) - + kernel modules are now loaded through libkmod - + Watchdog support is now useful (not complete) - + new kernel command line available to set system wide - environment variable: systemd.setenv - + journald capabilities set is now limited - + SIGPIPE is ignored by default. This can be disabled with - IgnoreSIGPIPE=no in unit files. -- Add fix-kmod-build.patch: fix build with libkmod -- Drop remote-fs-after-network.patch (merged upstream) -- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm - /dmraid is started before mounting partitions, if fsck was - disabled for them (bnc#733283). -- Update lsb-header patch to correctly disable heuristic if - X-Systemd-RemainAfterExit is specified (whatever its value) -- Add fix-message-after-chkconfig.patch: don't complain if only - sysv services are called in systemctl. -- Add is-enabled-non-existing-service.patch: fix error message when - running is-enabled on non-existing service. - -------------------------------------------------------------------- -Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com - -- Update to version 40: - + reason why a service failed is now exposed in the"Result" D-Bus - property. - + Rudimentary service watchdog support (not complete) - + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. - + Various bug fixes. -- Add remote-fs-after-network.patch and update insserv patch: - ensure remote-fs-pre.target is enabled and started before network - mount points (bnc#744293). -- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. - -------------------------------------------------------------------- -Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com - -- Ensure systemd show service status when started behind bootsplash - (bnc#736225). -- Disable core dump redirection to journal, not stable atm. - -------------------------------------------------------------------- -Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com - -- Update modules_on_boot.patch to not cause failed state for - systemd-modules-load.service (bnc#741481). - -------------------------------------------------------------------- -Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com - -- Update to version 39: - + New systemd-cgtop tool to show control groups by their resource - usage. - + Linking against libacl for ACLs is optional again. - + If a group "adm" exists, journal files are automatically owned - by them, thus allow members of this group full access to the - system journal as well as all user journals. - + The journal now stores the SELinux context of the logging - client for all entries. - + Add C++ inclusion guards to all public headers. - + New output mode "cat" in the journal to print only text - messages, without any meta data like date or time. - + Include tiny X server wrapper as a temporary stop-gap to teach - XOrg udev display enumeration (until XOrg supports udev - hotplugging for display devices). - + Add new systemd-cat tool for executing arbitrary programs with - STDERR/STDOUT connected to the journal. Can also act as BSD - logger replacement, and does so by default. - + Optionally store all locally generated coredumps in the journal - along with meta data. - + systemd-tmpfiles learnt four new commands: n, L, c, b, for - writing short strings to files (for usage for /sys), and for - creating symlinks, character and block device nodes. - + New unit file option ControlGroupPersistent= to make cgroups - persistent. - + Support multiple local RTCs in a sane way. - + No longer monopolize IO when replaying readahead data on - rotating disks. - + Don't show kernel threads in systemd-cgls anymore, unless - requested with new -k switch. -- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. -- Add fdupes to BuildRequires and use it at build time. - -------------------------------------------------------------------- -Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com - -- Make the systemd journal persistent by creating the - /var/log/journal directory - -------------------------------------------------------------------- -Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - -- Update to version 38 : - - Bugfixes - - Implementation of a Journal Utility Library - - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure - syslog socket goes away early during shutdown. -- Add listen.conf for rsyslog. This will ensure that it will still - work fine with rsyslog and the new journal. - -------------------------------------------------------------------- -Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com - -- Add fix-is-enabled.patch: ensure systemctl is-enabled work - properly when systemd isn't running. -- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't - exist (bnc#733022, bnc#735047). -- Add sysctl-modules.patch: ensure sysctl is started after modules - are loaded (bnc#725412). -- Fix warning in insserv patch. -- Update avoid-random-seed-cycle.patch with better upstream - approach. -- Update storage-after-cryptsetup.patch to restart lvm before - local-fs.target, not after it (bnc#740106). -- Increase pam-config dependency (bnc#713319). - -------------------------------------------------------------------- -Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com - -- Remove storage-after-cryptsetup.service, add - storage-after-cryptsetup.patch instead to prevent dependency - cycle (bnc#722539). -- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure - fsck/cryptsetup is run after lvm/md/dmraid have landed - (bnc#724912). -- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). -- Add do_not_warn_pidfile.patch: Fix PID warning in logs - (bnc#732912). -- Add mount-swap-log.patch: Ensure swap and mount output is - redirected to default log target (rhb#750032). -- Add color-on-boot.patch: ensure colored status are displayed at - boot time. -- Update modules_on_boot.patch to fix bnc#732041. -- Replace private_tmp_crash.patch with log_on_close.patch, better - upstream fix for bnc#699829 and fix bnc#731719. -- Update vconsole patch to fix memleaks and crash (bnc#734527). -- Add handle-racy-daemon.patch: fix warnings with sendmail - (bnc#732912). -- Add new-lsb-headers.patch: support PIDFile: and - X-Systemd-RemainAfterExit: header in initscript (bnc#727771). -- Update bootsplash services to not start if vga= is missing from - cmdline (bnc#727771) -- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and - change default permissions on /var/lock (bnc#733523). -- Add garbage_collect_units: ensure error units are correctly - garbage collected (rhb#680122). -- Add crypt-loop-file.patch: add support for crypt file loop - (bnc#730496). - -------------------------------------------------------------------- -Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com - -- add libtool as buildrequire to avoid implicit dependency - -------------------------------------------------------------------- -Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com - -- Fix rpm macros to only call presets on initial install - (bnc#728104). - -------------------------------------------------------------------- -Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com - -- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint - (bnc#726791). - -------------------------------------------------------------------- -Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com - -- Add avoid-random-seed-cycle.patch: fix dependency cycle between - cryptsetup and random-seed-load (bnc#721666). -- Add crash-isolating.patch: fix crash when isolating a service. -- Fix bootsplash being killed too early. -- Fix some manpages not being redirected properly. -- Add storage-after-cryptsetup.service to restart lvm after - cryptsetup. Fixes lvm on top of LUKS (bnc#724238). - -------------------------------------------------------------------- -Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com - -- Recommends dbus-1-python, do not requires python (bnc#716939) -- Add private_tmp_crash.patch: prevent crash in debug mode - (bnc#699829). -- Add systemctl-completion-fix.patch: fix incorrect bash completion - with some commands (git). - -------------------------------------------------------------------- -Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com - -- Shadow single sysv service, it was breaking runlevel 1. -- Add modules_on_boot.patch to handle /etc/sysconfig/kernel - MODULES_ON_BOOT variable (bnc#721662). - -------------------------------------------------------------------- -Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com - -- Update to release 37: - - many bugfixes - - ConditionCapability added, useful for containers. - - locale mechanism got extend to kbd configuration for - both X and the console - - don't try to guess PID for SysV services anymore (bnc#723194) -- Drop detect-non-running.patch, logind-warning.patch. -- Rewrite systemd-sysv-convert in bash (bnc#716939) -------------------------------------------------------------------- -Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com - -- make sure updaters get in the /sbin/init from here - the sub package - of the split package will decide which init wins in update case - -------------------------------------------------------------------- -Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com - -- under openSUSE if it's not systemd, chances are good it's - sysvinit - -------------------------------------------------------------------- -Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com - -- do not list specific sbin_init providers - -------------------------------------------------------------------- -Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com - -- Add logind-warning.patch: fix pam warning (bnc#716384) - -------------------------------------------------------------------- -Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com - -- Update to version 36 : - - many bugfixes - - systemd now requires socket-activated syslog implementations - - After=syslog.target is no longer needed in .service files - - X-Interactive is ignored in LSB headers (was not working) -- Enable back insserv.conf parsing in systemd core and fix added - dependencies (bnc#721428). -- Fix detection of LSB services status when running daemon - (bnc#721426). -- Drop 0001-execute-fix-bus-serialization-for-commands.patch, - fix-reload.patch - -------------------------------------------------------------------- -Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com - -- Add services to stop bootsplash at end of startup and start it at - beginning of shutdown. -- Fix bootsplash call and ensure dependencies are set right. - -------------------------------------------------------------------- -Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com - -- Add detect-non-running.patch: fix assertion when running - systemctl under non systemd system (git). -- Requires presets branding package. -- Improve macros a little bit. - -------------------------------------------------------------------- -Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com - -- Merge migration rpm macros into service_add/service_del macros. -- Use systemd presets in rpm macros -- Add fix-reload.patch: handle daemon-reload and start condition - properly (bnc#719221). - -------------------------------------------------------------------- -Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com - -- Add systemd-splash / bootsplash-startup.service: enable - bootsplash at startup. - -------------------------------------------------------------------- -Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com - -- Create -32bit package (bnc#713319) - -------------------------------------------------------------------- -Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com - -- Do not mask localnet service, it is not yet handled by systemd. - (bnc#716746) - -------------------------------------------------------------------- -Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com - -- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: - remove insserv.conf parsing from systemd and use generator - instead. -- put back default.target creation at package install and remove - inittab generator, Yast2 is now able to create it. - -------------------------------------------------------------------- -Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com - -- Update to version 34: - * Bugfixes - * optionaly apply cgroup attributes to cgroups systemd creates - * honour sticky bit when trimming cgroup trees - * improve readahead -- Add libacl-devel as BuildRequires (needed for systemd-uaccess) -- Add some %{nil} to systemd.macros to fix some build issues. -- Fix dbus assertion -- move gtk part to its own package, to reduce bootstrapping - (bnc#713981). - -------------------------------------------------------------------- -Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com - -- Update compose_table patch to use two separate loadkeys call, - compose table overflows otherwise (spotted by Werner Fink). - -------------------------------------------------------------------- -Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com - -- Add tty1.patch: ensure passphrase are handled before starting - gettty on tty1. -- Add inittab generator, creating default.target at startup based - on /etc/inittab value. -- No longer try to create /etc/systemd/system/default.target at - initial package install (bnc#707418) -- Fix configuration path used for systemd user manager. -- Ensure pam-config output is no display in install script. -- Remove buildrequires on vala, no longer needed. - -------------------------------------------------------------------- -Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com - -- Handle disable_capslock, compose table and kbd_rate -- Add rpm macros.systemd file. -- Do not disable klogd, it has its own service now. -- Handle kexec correctly (bnc#671673). -- Disable preload services, they are conflicting with systemd. - -------------------------------------------------------------------- -Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com - -- enable pam_systemd module, using pam-config. - -------------------------------------------------------------------- -Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de - -- Fix crash with systemctl enable. - -------------------------------------------------------------------- -Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com - -- Fix localfs.service to no cause cycle and starts it after - local-fs.target. - -------------------------------------------------------------------- -Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com - -- Remove root-fsck.patch, mkinitrd will use the same path as - dracut. -- Add systemd-cryptsetup.patch: don't complain on "none" option in - crypttab. -- Add systemd-cryptsetup-query.patch: block boot until passphrase - is typed. - -------------------------------------------------------------------- -Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com - -- Add root-fsck.patch: do not run fsck on / if it is rw -- Ship a non null localfs.service, fixes static mount points not - being mounted properly. - -------------------------------------------------------------------- -Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de - -- Update to version 33: - * optimizations and bugfixes. - * New PrivateNetwork= service setting which allows you to shut off - networking for a specific service (i.e. all routable network - interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch - patches. - -------------------------------------------------------------------- -Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com - -- Add insserv-parsing.patch: read/parse insserv.conf. -- Add bash-completion-restart.patch: fix restart service list - (bnc#704782). - -------------------------------------------------------------------- -Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de - -- Split up devel package. -- restart logind after upgrade. -- Adjust rpmlintrc for changes. - -------------------------------------------------------------------- -Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de - -- Update to version 32: - * bugfixes - * improve selinux setup - -------------------------------------------------------------------- -Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de - -- Update to version 31: - * rewrite of enable/disable code: New features systemctl --runtime, - systemctl mask, systemctl link and presets. - * sd-daemon is now shared library. - -------------------------------------------------------------------- -Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de - -- Update to version 30: - + Logic from pam_systemd has been moved to new systemd-login. - + VT gettys are autospawn only when needed - + Handle boot.local/halt.local on SUSE distribution - + add support for systemctl --root - -------------------------------------------------------------------- -Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com - -- Make sure to not start kbd initscript, it is handled by systemd - natively. - -------------------------------------------------------------------- -Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com - -- version 29: - + enable chkconfig support in systemctl for openSUSE. - + systemctl: plug a leak upon create_symlink mismatch - + mount /run without MS_NOEXEC - + dbus: fix name of capability property - + systemctl: fix double unref of a dbus message - + cryptsetup-generator: fix /etc/cryptsetup options - + selinux: selinuxfs can be mounted on /sys/fs/selinux - + readahead-common: fix total memory size detection - + systemctl: fix 'is-enabled' for native units under /lib - + systemctl: fix a FILE* leak - + pam-module: add debug= parameter - + remote-fs.target: do not order after network.target -- update tarball url. - -------------------------------------------------------------------- -Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de - -- Use RPM macros instead of $RPM_FOO variables -- Don't require %{version}-%{release} of the base package, - %{version} is sufficient - -------------------------------------------------------------------- -Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - mount /run without MS_NOEXEC - - readahead-common: fix total memory size detection - - enable chkconfig support in systemctl for openSUSE - - selinux: selinuxfs can be mounted on /sys/fs/selinux - - cryptsetup-generator: fix /etc/cryptsetup options - - systemctl: fix double unref of a dbus message -- drop merged chkconfig patch - -------------------------------------------------------------------- -Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com - -- Add sysv chkconfig patch to be able to enable / disable sysv - initscripts with systemctl. -- Ensure plymouth support is buildable conditionnally. - -------------------------------------------------------------------- -Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com - -- version 28 - - drop hwclock-save.service - - fix segfault when a DBus message has no interface - - man: update the list of unit search locations - - readahead-collect: ignore EACCES for fanotify - - rtc in localtime: use settimeofday(NULL, tz) - instead of hwclock(8) - -------------------------------------------------------------------- -Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - fix crash in D-Bus code - -------------------------------------------------------------------- -Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values - - util: use new VT ESC sequence to clear scrollback buffer - - sd-daemon: move _sd_hidden_ from .h to .c file - - missing: add IP_TRANSPARENT - -------------------------------------------------------------------- -Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com - -- version 27 - - util: use open_terminal() in chvt() too - - socket: expose SO_BROADCAST - - git: add .mailmap - - exec: expose tty reset options in dbus introspection data - - socket: expose IP_TRANSPARENT - - exec: hangup/reset/deallocate VTs in gettys - - socket: use 666 socket mode by default since neither fifos, - nor sockets, nor mqueues need to be executable - - socket: add POSIX mqueue support - - README: document relation to nss-myhostname - - hostnamed: check that nss-myhostname is installed - -------------------------------------------------------------------- -Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - sysctl: apply /etc/sysctl.conf last - - systemd-analyze: print hostname, kernelversion and arch at - the top of the plot - - pam: downgrade a few log msgs - - hostnamed: SetPrettyHostname() should check PK action - org.freedesktop.hostname1.set-static-hostname - - user-sessions: ignore EROFS when unlinking /etc/nologin if - the file doesn't exist anyway - - unit: make ignoring in snapshots a per unit property, - instead of a per unit type property - - vconsole: use open_terminal() instead of open() - - units: enable automount units only if the kernel supports them - -------------------------------------------------------------------- -Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org - -- remove policy filter - -------------------------------------------------------------------- -Thu May 5 08:59:46 CEST 2011 - meissner@suse.de - -- add missing buildrequires dbus-1-devel, vala, libxslt-devel -- touch vala files for rebuilding to unbreak Factory - -------------------------------------------------------------------- -Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com - -- also delete plymouth files - -------------------------------------------------------------------- -Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com - -- disable plymouth sub-package until plymouth gets into Factory - -------------------------------------------------------------------- -Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - binfmt, modules-load, sysctl, tmpfiles: add missing - ConditionDirectoryNotEmpty= - - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib - and where appropriate /lib directories - -------------------------------------------------------------------- -Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com - -- version 26 - - plymouth: introduce plymouth.enable=0 kernel command line - - util: don't AND cx with cx - - man: typo in sd_daemon reference - - util: conf_files_list() return list as parameter - - dbus: make daemon reexecution synchronous - -------------------------------------------------------------------- -Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - service: properly notice when services with a main process - that isn't a child of init die - - unit: fix assert when trying to load unit instances for - uninstanciable types - - def: lower default timeout to 90s - - manager: fix serialization counter - -------------------------------------------------------------------- -Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't hit assert when dumping properties - - cryptsetup: fix keyfile size option processing - - socket: improve warning message when we get POLLHUP - - mount: failure to mount cgroup hierarchies should not be fatal - - configure: add AC_SYS_LARGEFILE - -------------------------------------------------------------------- -Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run - - sysctl.d, binfmt.d, modules-load.d: switch to stacked config - dirs in /lib, /etc, /run - - manager: mkdir /run/systemd/system when starting up - - man: Spelling fixes - -------------------------------------------------------------------- -Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com - -- version 25 - - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs - and /proc/fs/nfsd. - - socket: support ListeSpecial= sockets - - vconsole: don't set console font/keymap if settings are empty - - nspawn: don't fail when we receive SIGCHLD - - cgroup: don't accidentaly trim on reload - - units: set capability bounding set for syslog services - - socket: log more information about invalid poll events - - man: fix specification of default timeouts - - mount,crypto: rework meaning of noauto/nofail - - fsck: don't fsck against basic.target in order to properly - allow automount /home - - manager: when running in test mode, do not write generated - unit files to /run/systemd/generator - - mount: properly parse timeouts options in the middle of - the string - - hostnamed: drop all caps but CAP_SYS_ADMIN - - execute: when we run as PID 1 the kernel doesn't give us - CAP_SETPCAP by default. Get that temporarily when dropping - capabilities for good - - mount: make device timeout configurable - - cryptsetup: do not order crypto DM devices against the - cryptsetup service - - socket: reuse existing FIFOs - - socket: guarantee order in which sockets are passed to be - the one of the configuration file - - systemctl: always consider unit files with no - [Install] section but stored in /lib enabled - - job: also print status messages when we successfully started - a unit - - hostnamed: add reference to SMBIOS specs - - man: runlevel 5 is usually more comprehensive, so use it - instead of 3 to detect whether a sysv service is enabled - - polkit: follow the usual syntax for polkit actions - - hostnamed: introduce systemd-hostnamed - - units: order quotacheck after remount-rootfs - - hostname: split out hostname validation into util.c - - dbus: split out object management code into dbus-common, - and simplify it - - strv: properly override settings in env_append() - - strv: detect non-assignments in env blocks properly in - env_append() - - strv: handle empty lists in strv_copy() properly - - util: truncate newline inside of read_one_line_file() - - util: modernize get_parent_of_pid() a bit - - crypto: let the cryptsetup binary handles its own - configurable timeouts - - logger,initctl: use global exit timeout - - ask-password: use default timeout - - manager: drop all pending jobs when isolating - - manager: introduce IgnoreOnIsolate flag so that we can keep - systemd-logger around when isolating - - units: never pull in sysinit from utmp, so that we can - shutdown from emergency mode without pulling in sysinit - - manager: downgrade a few log messages - - units: require syslog.socket from the logger because we - simply fail if we don't have it - - logger: adjust socket description to match service - - units: set stdout of kmsg syslogd to /dev/null - - units: add --no-block when starting normal service after - shell exited - - ask-password: use kill(PID, 0) before querying a password - - ask-password: support passwords without timeouts - - ask-password: always send final NUL char - - ask-password: properly accept empty passwords from agent - - unit: skip default cgroup setup if we have no hierarchy - - units: isolate emergency.target instead of emergency.service - when we fail to mount all file systems - - mount: don't pull in stdio logger for root mount unit - - cgroup: be nice to Ingo Molnar - - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL - - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL - - socket: try creating a socket under our own identity if we - have no perms to consult the selinux database - - socket: fix check for SEQPACKET - - execute: don't fail if we cannot fix OOM in a container - - unit: fix dump output - - socket: be a bit more verbose when refusing to start a - socket unit - - socket: support netlink sockets - - local-fs: invoke emergency.service mounting at boot fails - - path: optionally, create watched directories in .path units - - tmpfiles: don't warn if two identical lines are configured - - man: add man page for ask-password - - dbus: expose monotonic timestamps on the bus - - manager: no need to use randomized generator dir when running - as system manager - - don't make up buffer sizes, use standard LINE_MAX instead - - unit: disallow configuration of more than one on_failure - dependencies if OnFailureIsolate= is on - - unit: pull in logger unit only when running in system mode - - manager: serialize/deserialize max job id and /usr taint flag - - manager: don't garbage collect jobs when isolating, to change - global state - - unit: introduce OnFailureIsolate= - - mount: relabel both before and after a mount, just in case - - cmdline: we actually want to parse the kernel cmdline in VMs, - just not in containers - - units: rename rtc-set.target to time-sync.target and pull it - in by hwclock-load.service - - job: fix deserialization of jobs: do not ignore ordering - - systemctl: properly parse JobNew signals - - service: fix units with more than one socket - - systemctl: make most operations NOPs in a chroot - - manager: don't show PID for incoming signals if it is 0 - - man: fix description of systemctl reload-or-try-restart - - mount: block creation of mount units for API file systems - - units: call the logger a bridge too - - build-sys: always place user units in /usr/lib/systemd - - pkgconfig: update .pc file accordingly - - lookup: always also look into /usr/lib for units - - exec: support unlimited resources - - selinux: relabel /run the same way as /dev after loading - the policy since they both come pre-filled and unlabelled - - manager: fd must be int, not char - - change remaining /var/run to /run - - units: move user units from /usr/share to /usr/lib since - they might be arch-dependent - - man: document /etc/sysctl.d/ - - binfmt: add binfmt tool to set up binfmt_misc at boot - - tmpfiles: create leading directories for d/D instructions - - condition: add ConditionSecurity - - load-fragment: unify config_parse_condition_{kernel, virt} - - condition: fix dumping of conditions - - initctl: /dev/initctl is a named pipe, not a socket - - kmsg-syslogd: pass facility value into kmsg - - move /var/lock to HAVE_SYSV_COMPAT - - tmpfiles: split off rules for legacy systems into legacy.conf - - general: replace a few uses of /var/run by /run - - tmpfiles: enforce new /var/lock semantics - - man: document ConditionPathIsDirectory= - - mount: also relabel pre-mounted API dirs - - log: don't strip facility when writing to kmsg - - build-sys: create a number of drop-in config dirs - - random: do not print warning if random seed doesn't exist - - plymouth: use PID file to detect whether ply is running - - build-sys: install systemd-analyze by default - - analyze: improve output - - analyze: add plotter - - unit: when deserializing do reconnect to dbus/syslog when - they show up - - analyze: beautify output a bit - - add systemd-analyze tool - - unit: don't override timestamps due to state changes when - deserializing - - plymouth: don't explicitly enable status message when - plymouth is up - - status: show status messages unconditionally if plymouth - is around - - taint: add missing cgroups taint flag - - locale: don't access misinitialized variable - - quota: do not pull in quota tools for mounts that do not - originate in neither /etc/fstab nor fragment files - - manager: fix taint check for /usr - - unit: never apply /etc/rcN.d/ priority to native services - - unit: fix parsing of condition-result - - unit: don't complain about failed units when deserializing - - exec: drop process group kill mode since it has little use - and confuses the user - - cgroup: explain when we cannot initialize the cgroup stuff - - systemctl: don't truncate description when using pager - - ask-password: also accept Backspace as first keypress as - silent mode switch - - unit: when deserializing jobs, don't pull in dependencies - - locale: fix LC_MESSAGES variable name - - plymouth: Remove the calls to plymouth message - - udev: systemd-tag all ttys - - tmpfiles fix /run/lock permissions - - ask-password: use TAB to disable asterisk password echo - - execute: socket isn't abstract anymore - - use /run instead of /dev/.run - - man: explain a couple of default dependencies - - mount: pull in quota services from local mountpoints with - usr/grpquota options - - service: pull in sysv facility targets from the sysv units, - not the other way round - - units: pull in syslog.target from syslog.socket - - units: don't ever pull in SysV targets from other SysV - targets - - units: document that some targets exists only for compat - with SysV - - man: document pidns containers - - units: deemphesize Names= settings, and explain why nobody - whould use them - - units: on mandriva/fedora create single.service alias via - symlink, not Names= - - units: get rid of runlevel Names=, the symlinks in - /lib/systemd/system are much more useful - - rework syslog detection so that we need no compile-time - option what the name of the syslog implementation is - - man: document .requires/ directories - - special: get rid of dbus.target - - exec: properly apply capability bounding set, add inverted - bounding sets - - dbus: add service D-Bus property "Sockets" - - dbus: consolidate service SysV conditionals - - unit: serialize condition test results - - def: centralize definition of default timeout in one place - - chkconfig: check against runlevel 5 instead of 3, since it is - a superset of the latter - - systemctl: accept condstop as alias for stop - - dbus: allow LoadUnit to unprivileged users - - umount: make sure skip_ro is always correctly initialized -- create /run (link it to /var/run) -- refresh splash password patch -- conflict with old mkinitrd version (we need /run) -- conflict with old udev (we need /run) - -------------------------------------------------------------------- -Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com - -- new snapshot - - man: fix systemctl try-restart description - - Add Frugalware display-manager service - - main: revert recognition of "b" argument - - main: interpret all argv[] arguments unconditionally when - run in a container - - loopback: downgrade an error to warning - - nspawn: bind mount /etc/localtime - - nspawn: make tty code more robust against closed/reopened - /dev/console - - util: make touched files non-writable by default - - nspawn: allocate a new pty instead of passing ours through - to avoid terminal settings chaos - - main: parse the whole arv[] as kernel command line - - main: check if we have a valid PID before getting the name - - ask-password: reset signal mask after we are done - - cgroup: don't recheck all the time whether the systemd - hierarchy is mounted, to make strace outputs nicer and save - a few stat()s - - man: document systemd-nspawn - - cgls: don't strip user processes and kernel threads from - default output - - umount: don't try to remount bind mounts ro during shutdown - - getty: move automatic serial getty logic into generator - - container: skip a few things when we are run in a container - such as accessing /proc/cmdline - - cgls: by default start with group of PID 1 - - pam: determine user cgroup tree from cgroup of PID 1 - - nspawn: move container into its own name=systemd cgroup - - manager: don't show kernel boot-up time for containers - - manager: show who killed us - - units: add console-shell.service which can be used insted of - the gettys to get a shell on /dev/console - -------------------------------------------------------------------- -Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com - -- new snapshot - - build-sys: move remaining tools from sbin/ to bin/ since they - might eventually be useful for user execution - - hostname: don't override the hostname with localhost if it - is already set and /etc/hostname unset - - audit: give up sending auditing messages when it failed due - to EPERM - - nspawn: don't require selinux on if it is compiled in - - main: remove AF_UNIX sockets before binding - - shutdown: print a nice message when terminating a container - - nspawn: mount /selinux if needed - - shutdown: just call exit() if we are in a container - - umount: assume that a non-existing /dev/loop device means it - is already detached - - socket: use 777 as default mode for sockets - - main: log to the console in a container - - main: don't parse /proc/cmdline in containers - - util: add detect_container() - - nspawn: reset environment and load login shell - - core: move abstract namespace sockets to /dev/.run - - nspawn: add simple chroot(1) like tool to execute commands - in a namespace container - - util: return exit status in wait_for_terminate_and_warn() - - util: properly identify pty devices by their major - -------------------------------------------------------------------- -Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com - -- new snapshot - - polkit: autogenerate polkit policy with correct paths - - systemctl: support remote and privileged systemctl access - via SSH and pkexec - - gnome-ask-password-agent: fix path to watch - -------------------------------------------------------------------- -Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com - -- fix broken sysctl.service linking - -------------------------------------------------------------------- -Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: move the last flag files to /dev/.run - - util: close all fds before freezing execution - - dbus: timeout connection setup - - main: properly handle -b boot option - - pam: do not leak file descriptor if flock fails -- disable sysv services natively provided by systemd - -------------------------------------------------------------------- -Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com - -- new snapshot - - main: refuse system to be started in a chroot - - main: don't check if /usr really is a mount point, since it is - fine if it is passed pre-mounted to us from the initrd - - condition: take a timestamp and store last result of conditions - - dev: use /dev/.run/systemd as runtime directory, instead of - /dev/.systemd - - machine-id: move machine-id-setup to /sbin - - pkconfig: export full search path as .pc variable - - selinux: bump up error level when in non-enforcing mode - - dbus: fix dbus assert due to uninitialized error - - dbus: properly generate UnknownInterface, UnknownProperty - and PropertyReadOnly errors - - mount: use /dev/.run as an early boot alias for /var/run - -------------------------------------------------------------------- -Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com - -- version 20 - - service: prefix description with LSB only if script has LSB header, - use 'SysV:' otherwise - - unit: don't accidently create ordering links to targets when - default deps are off for either target and unit - - mount: support less cumbersome x-systemd-xxx mount options - - unit: distuingish mandatory from triggering conditions - - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object - is unknown - - systemctl: when forwarding is-enabled to chkconfig - hardcode runlevel 3 - - job: introduce new job result code 'skipped' to use when pre - conditions of job did not apply - - job: convert job type as early as we can, to simplify things - - Keep emacs configuration in one configuration file. - - syslog: make sure the kmsg bridge is always pulled in and - never terminated automatically - - mount: make /media a tmpfs - -------------------------------------------------------------------- -Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com - -- new snapshot - - add org.freedesktop.DBus.Properies.Set method - - main: introduce /etc/machine-id - - systemctl: fix exit code when directing is-enabled - to chkconfig - - dbus: add 'Tainted' property to Manager object - - dbus: expose distribution name and features on manager - object as properties - - man: document changed EnvironmentFile= behaviour - - main: add link to wiki page with longer explanation of the - /usr madness - - execute: load environment files at time of execution, not - when we load the service configuration - - path: after installing inotify watches, recheck file again - to fix race - - path: don't use IN_ATTRIB on parent dirs when watching a - file, since those cannot be removed without emptying the dir - first anyway and we need IN_ATTRIB only to detect the link - count dropping to 0 - - kill: always send SIGCONT after SIGTERM - - readahead: disable collector automatically on read-only media - - sysctl: use scandir() instead of nftw() to guarantee - systematic ordering - - support DT_UNKNOWN where necessary for compat with reiserfs - - systemctl: always null-terminate the password -- call systemd-machine-id-setup at installation - -------------------------------------------------------------------- -Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com - -- version 19 - - udev: don't ignore non-encrypted block devices with no - superblock - - udev: expose ttyUSB devices too - - udev: mark hvc devices for exposure in systemd - - cryptsetup: add a terse help - - agent: don't print warnings if a password was removed or - timed out - - systemctl: shutdown agent explicitly so that it can reset - the tty properly - - never clean up a service that still has a process in it - - label: udev might be making changes in /dev while we - iterate through it - - systemctl: properly handle job results - - job: also trigger on-failure dependencies when jobs faile - due to dependencies, timeout - - job: when cancelling jobs, make sure to propagate this - properly to depending jobs - - job: start job timeout on enqueuing not when we start to - process a job - - unit: increase default timeout to 3min - - logger: leave the logger longer around and allow it do - handle more connections - - dbus: pass along information why a job failed when it - failed (dbus api change!) - - general: unify error code we generate on timeout - - units: synchronize gettys to plymouth even if plymouth is - killed by gdm - - job: start job timer when we begin running the job, not - already when we add it to the queue of jobs - - cryptsetup: try to show the mount point for a crypto disk - if we can - - rescue: terminate plymouth entirely when going into - rescue mode - - ask-password: fix handling of timeouts when waiting - for password - - ask-password: supported plymouth cached passwords - - main: print warning if /usr is on a seperate partition - - ensure we start not a single getty before plymouth is - gone because we never know which ttys plymouth still controls - - unit: introduce ConditionVirtualization= - -------------------------------------------------------------------- -Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't rely that timer/path units have an initialized - unit field (bnc#671561) - -------------------------------------------------------------------- -Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com - -- new snapshot - - order network mounts after network.target (bnc#672855) - -------------------------------------------------------------------- -Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com - -- new snapshot - - kmsg-syslogd: increase terminate timeout to 5min to generte - less debug spew - - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) - - unit: don't timeout fsck - - man: fixed typo in SyslogIdentifier= - - tmpfiles: never clean up block devices - - main: refuse --test as root - -------------------------------------------------------------------- -Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: order fsck@.service before basic.target - instead of local-fs.target to relax things a little - - readahead: remove misleading error messages - - man: don't do more reloads than necessary in spec files - - util: retry opening a TTY on EIO - - util: beef up logic to find ctty name - - tmpfiles: kill double slashes in unix socket names -- drop vhangup patch, it is fixed in login(3) by forwarding the - SIGHUP to the child process - -------------------------------------------------------------------- -Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com - -- revert back to conflicts: sysvinit - -------------------------------------------------------------------- -Thu Feb 17 15:04:44 CET 2011 - werner@suse.de - -- Add temporary workaround for bnc#652633, that is do a vhangup - to all processes on a tty line used for a getty - -------------------------------------------------------------------- -Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com - -- version 18 - - systemctl: introduce --ignore-dependencies - - systemctl: introduce --failed to show only failed services - - systemctl: introduce --failed to show only failed services - - rescue: make 'systemctl default' fail if there is already - something running when the shell exited - - util: seperate welcome line from other output by empty lines - - manager: don't consider transaction jobs conflicting with - queued jobs redundant - - udev: ignore block devices which no known contents, to avoid - trying of mounts/swapons when devices aren't set up full yet - - swap: handle "nofail" from fstab - - mount,swap: properly add dependencies to logger if needed - - service: change default std output to inherit - - exec: introduce global defaults for the standard output - of services - - udev: use SYSTEMD_READY to mask uninitialized DM devices - - fsck: output to /dev/console by default in addition to syslog - - execute: optionally forward program output to /dev/console in - addition to syslog/kmsg - - socket: refuse socket activation for SysV services - - fsck: do not fail boot if fsck returns with an error code that - hasn't 2 or 6 set - - shutdown: execute all binaries in /lib/systemd/system-shutdown - as last step before invoking reboot() - - job: make status message printing more verbose - - cryptsetup: fix unit file description - - tmpfiles: never delete AF_UNIX sockets that are alive - - getty: don't parse console= anymore, use - /sys/class/tty/console/active instead - - properly resolve /dev/console if more than once console= - argument was passed on the kernel command line - - getty: do not auto-spawn getty's on VC ttys if console=ttyN - - fsck: skip root fsck if dracut already did it - - util: when determining the right TERM for /dev/console - consult /sys/class/tty/console/active - - pam: introduce whitelist and blacklist user list feature - - systemctl: minor optimizations - - systemctl: don't unnecessarily close stdin/stdout/stderr for - tty agent so that locking by tty works - - readahead: disable readahead in virtual machines - - tmpfiles: move binary to /bin to make it publicly available - - tmpfiles: take names of tmpfiles configuration files on the - command line - - tmpfiles: log to stderr if possible - - tmpfiles: support globs - - units: introduce and hook up sound.target - - dbus: allow all clients access to org.freedesktop.DBus.Peer - - consider udev devices with SYSTEMD_READY=0 as unplugged - - systemctl: don't start agent for --user - - systemctl: make sure the tty agent does not retain a copy - of stdio - -------------------------------------------------------------------- -Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com - -- new snapshot - - plymouth: move plymouth out of TARGET_FEDORA - - build-sys: fix AC_COMPILE_IFELSE tests - - build-sys: ensure selinux configure check follows logic of - other optional features - - build-sys: autodetect and use pkg-config for libselinux - - dbus: use ControlGroup as property name to match config option - - pam: optionally reset cgroup memberships for login sessions - - load-fragment: properly parse Nice= value - - automount: use unit_pending_inactive() where appropriate - -------------------------------------------------------------------- -Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de - -- Removed unecessary workaround for plymouth startup. - -------------------------------------------------------------------- -Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de - -- Split plymouth support into systemd-plymouth package. - -------------------------------------------------------------------- -Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com - -- new snapshot - - clang: fix some issues found with clang-analyzer - - gcc: make gcc shut up - -------------------------------------------------------------------- -Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com - -- version 17 - - vala 0.10 seem to work fine - - cryptsetup: fix ordering loop when dealing with encrypted - swap devices - - main: don't warn if /etc/mtab is a symlink to /proc/mounts - - socket: don't crash if the .service unit for a .socket unit - is not found - - mount: ignore if an fsck is requested for a bind mount, - so that we don't wait for the bind 'device' to show up - - automount: fix segfault when shutting down - - man: give an example for vconsole.conf - - dbus: don't try to connect to the system bus before it is - actually up - - service: make chain of main commands and control commands - independent of each other, so that both can be executed - simultaneously and independently - - service: don't allow reload operations for oneshot services - - vala: convert from dbus-glib to gdbus - - systemctl: highlight failed processes in systemctl status - - systemctl: show process type along process exit codes - - service: when reloading a service fails don't fail the entire - service but just the reload job - -------------------------------------------------------------------- -Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com - -- new snapshot - - shutdown: use correct kexec options - - serial-getty: do not invoke /sbin/securetty; recent - pam_securetty looks for console= in /proc/cmdline - - systemctl: before spawning pager cache number of columns - - pam: optionally keep processes of root user around - - service: if a reload operation fails, don't shut down - the service - - execute: make sending of SIGKILL on shutdown optional - - mount: do not translate uuids to lowercase - - man: document missing KillSignal= and swap options -- require recent util-linux -- drop mtab symlink creation which is done in util-linux - -------------------------------------------------------------------- -Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - -- version 16 - - device: don't warn if we cannot bump the udev socket buffer - - logger: when passing on PID info, fall back to our own if - originating process is already gone - - service: don't hit an assert if information in LSB headers is - incorrectly formatted - - execute,util: fix two small memory leaks - - getty: unset locale before execution - - execute: drop empty assignments from env blocks on execution - but keep them around otherwise to make them visible - - umount: don't try to detach the dm device the root dir is on, - to minimize warning messages - - locale: fix variable names - - fragment: allow prefixing of the EnvironmentFile= - path with - to ignore errors - - util: don't pass invalid fd to fdopendir() on error to avoid - corruption of errno - - tmpfiles: nicer message when two or more conflicting lines - are configured for the same file - - fragment: properly handle quotes in assignments in - EnvironmentFile= files - - sysctl: don't warn if sysctls are gone - - readahead: ignore if files are removed during collection or - before replay - - serial: use TERM=vt100 instead of TERM=vt100-nav - - cryptsetup: call mkswap on dm device, not on source device - - mount-setup: mount /dev/pts with mode=620,gid=5 by default - and make GID overridable via configure switch - - systemctl: implement auto-pager a la git - - shutdown: drop redundant sync() invocation - - util: invoke sync() implicitly on freeze() - - tmpfiles: do no follow symlinks when cleaning up dirs - -------------------------------------------------------------------- -Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de - -- Add support for building plymouth support with openSUSE - -------------------------------------------------------------------- -Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com - -- new snapshot - - pam: do not sort user sessions into their own cgroups in - the 'cpu' hierarchy - - mount-setup: drop noexec flag from default mount options - for /dev/shm - - systemd.pc: change 'session' to 'user' - -------------------------------------------------------------------- -Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com - -- new snapshot - - ifdef suse-only sysv script lookup code - -------------------------------------------------------------------- -Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org - -- add bootsplash handling patch to be able to enter e.g. - crypto passphrases (bnc#659885) - -------------------------------------------------------------------- -Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com - -- new snapshot - - add LSB 'smtp' alias for mail-transport-agent.target - -------------------------------------------------------------------- -Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com - -- new snapshot - - path: fix watching the root directory - - update README - -------------------------------------------------------------------- -Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com - -- new snapshot - - gnome-ask-password-agent: also support libnotify < 0.7 for now - - udev: increase event buffer size -- require fsck -l - -------------------------------------------------------------------- -Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com - -- version 15 - - dbus: use the right data slot allocator - - manager: bump up max number of units to 128K - - build-sys: allow cross-compilation -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com - -- new snapshot - - units: simplify shutdown scripts - - logger: fix error handling - - swap: order file-based swap devices after remount-rootfs -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com - -- new snapshot - - systemctl: don't return LSB status error codes for 'show' - - mount: do not try to mount disabled cgroup controllers - - man: document /etc/modules-load.d/, /etc/os-release, - locale.conf, /etc/vconsole.conf, /etc/hostname - - units: move a couple of units from base.target to - sysinit.target - - man: reorder things to follow the same order everywhere -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com - -- version 13 - - cryptsetup: actually show disk name - - cryptsetup: show udev device name when asking for password - - sysctl: implement native tool and support /etc/sysctl.d - - units: enable console ask-password agent by default - - introduce /etc/os-release distro description - - job: make sure we don't fail umount.target if a mount unit - failed to stop - - cgroup: after killing cgroup processes, ensure the group is - really dead gone. wait for 3s at max - - cgroup: if we couldn't remove a cgroup after killing - evertyhing in it then it's fine - - cryptsetup: automatically order crypt partitions before - cryptsetup.target - - man: trivial BindTo description fix - - manager: make list of default controllers configurable - - build: expose libcryptsetup dependency in build string - - pam: document controllers= switch - - cgroup: by default, duplicate service cgroup in the cpu hierarchy - - pam: duplicate cgroup tree in the cpu hierarchy by default, - optionally more -- enable native crypto handling instead of boot.crypto -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com - -- version 12 - - ask-password: add --console mode to ask /dev/console -- revert too new libnotify code/requirement - -------------------------------------------------------------------- -Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com - -- new snapshot - - cryptsetup: reword questions a little - - units: order hwclock after readahead - - path: don't mention too many inotify msgs - - cryptsetup: include device name in password question - - cryptsetup: lock ourselves into memory as long as we deal - with passwords - - plymouth: use updated socket name - - units: set TERM for gettys again, since they acquire a TTY - - units: allow start-up of plymouth ask-password agent very early - - units: enable ask-paswword .path units early enough to be useful - for early mounts - - units: delay getty until logins are allowed - - pam: always rely on loginuid instead of uid to determine cgroup - and XDG_RUNTIME_DIR name - - cgroup: call root cgroup system instead of systemd-1 - - exec: determine right TERM= setting based on tty name - - pam: rename master user cgroup to 'master' - - drop support for MANAGER_SESSION, introduce MANAGER_USER - - units: use ConditionDirectoryNotEmpty= where applicable - - unit: introduce ConditionDirectoryNotEmpty= - - delete tmp.mount which may conflict with an unrelated fstab - entry -- revert too new libnotify code/requirement -- disable native crypto handling - -------------------------------------------------------------------- -Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com - -- new snapshot - - load-dropin: add support for .requires directories - - manager: consider jobs already installed as redundant when - reducing new transactions - - manager: always pull 'following' units into transaction - - util: always highlight distro name - - units: make use of agetty mandatory - - manager: don't fail transaction if adding CONFLICTED_BY job fails - - job: make it possible to wait for devices to be unplugged - - tmpfiles: ignore files marked with the sticky bit - - cryptsetup: handle password=none properly - - cryptsetup: properly parse cipher= switch - - cryptsetup: support non-LUKS crypto partitions - - ask-password: enable password agent - - automatically start cryptsetup when looking for mount source - - log: add automatic log target - - cryptsetup: hook up tool with ask-password - - manager: hookup generators - - split mount_point_is_api() and mount_point_ignore() -- replace boot.crypto job with systemd native crypto handling -- enable readahead (requires 2.6.37+ kernel's fanotify to work) - -------------------------------------------------------------------- -Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com - -- new snapshot - - tmpfiles: include reference to man page in tmpfiles files - - vconsole: support additional keymap for toggling layouts - - main: warn if /etc/mtab is not a symlink - - add bash completion for systemctl --system - - man: minor tmpfiles(5) updates and reindenting - - main: rename process on startup to 'systemd' to avoid confusion - - unit: add ConditionNull= condition - - ac-power: make ac-power a proper binary that scripts can call - - manager: parse RD_TIMESTAMP passed from initrd - - modules-load: fix minor race - - label: use internal utility functions wher epossible - - cryptsetup: minimal cryptsetup unit generator - - selinux: relabel /dev after loading policy - - log: downgrade syslog connection failure message - - service: delay automatic restart if job is pending - - manager: when isolating undo all pending jobs, too - - manager: only minimize impact if we are in fail mode -- replace /etc/mtab with link to /proc/self/mounts - -------------------------------------------------------------------- -Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com - -- new snapshot - - man/tmpfiles.d.xml: add a manpage for tmpfiles - - do not overwrite other udev tags - - readahead: shortcut replay if /.readahead doesn't exist - -------------------------------------------------------------------- -Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fsck: return SUCCESS when we skip the check - - fsck: skip checking / if it is writable - - units: fix variable expansion - - mount: don't pull in nofail mounts by default, but use them - if they are around - - job: recursively fail BoundBy dependencies - - fsck: fix target name to check for - - units: rename fedora/single.service to rescue.service - - units: introduce plymouth-start and plymouth-kexec - - unit: get rid of IgnoreDependencyFailure= - - use util-linux:agetty instead of mingetty - - unit: replace StopRetroactively= by BindTo= dependencies - - automount: show who's triggering an automount - - units: run sysctl only if /etc/sysctl.conf exists - - systemctl: always show what and where for mount units - - shutdown: reword a few messages a little - - manager: show which jobs are actually installed after a transaction - - timer: when deserializing timer state stay elapsed - - device: set recursive_stop=true by default - - unit: suppress incorrect deserialization errors - - swap: there's no reason not order swap after sysinit - - socket: fix IPv6 availability detection - -------------------------------------------------------------------- -Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - create /dev/stderr and friends early on boot - - run sysv related scripts with TERM=linux - - add only swaps listed in /etc/fstab automatically to swap.target - - errors: refer to systemctl status when useful - - swap: add default cgroup to swap exec env - - readahead: bump a device's request_nr when enabling readahead - - shutdown: properly handle sigtimedwait() timing out - - main: fix typo in kernel cmdline parameters help - - ord-tty: properly handle SIGINT/SIGTERM - - systemctl: automatically spawn temporary password agent - - ask-password: properly handle multiple pending passwords - - ask-password: enable plymouth agent by default - - ask-password: add minimal plymouth password agent - -------------------------------------------------------------------- -Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - make sure to pass TERM=linux to all sysv scripts - - don't unset HOME/TERM when run in session mode - - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run - - tmpfiles: Don't clean /var/lock/subsys - - tmpfiles: Make wtmp match utmp perms, and add btmp - - umount: Make sure / is remounted ro on shutdown - - unset HOME and TERM set from the kernel - - activate wall agent automatically - - ask-password: add basic tty agent - -------------------------------------------------------------------- -Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - rename ask-password-agent to gnome-ask-password-agent - - fsck: suppress error message if we cannot change into single - user mode since - - dbus: epose FsckPassNo property for service objects - - man: document systemctl --force - - introduce 'systemctl kill' - -------------------------------------------------------------------- -Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - syslog: enable kmsg bridge by default - - fsck: add initial version of fsck and quotacheck wrappers - - tmpfiles: remove forcefsck/fastboot flag files after boot - - swap: listen for POLLPRI events on /proc/swaps if availabled - - tmpfiles: integrate native tmpwatch - - shutdown: loop only as long as we manage to unmount/detach devices - - umount: disable dm devices by devnode, not by path name - - introduce final.target - - replace distro-specific shutdown scripts with native services - - try to get rid of DM devices - - log to console by default - - introduce kexec.service, kexec.target and exit.target - - hook in fsck@.service instance for all mount points with passno > 0 - - systemctl: warn if user enables unit with no installation instructions - - dbus: add introspection to midlevel paths - - look for dynamic throw-away units in /dev/.systemd/system - - major rework, use /sbin/swapon for setting up swaps - - introduce Restart=on-failure and Restart=on-abort - - units: enable utmp for serial gettys too - - rename 'banned' load state to 'masked' - - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service -- use systemd-native fsck/mount -- use systemd-native tmpfiles.d/ instead of tmpwatch - -------------------------------------------------------------------- -Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com - -new snapshot - - fix 'systemctl enable getty@.service' - - properly support 'banning' of services - - handle nologin - - add native reboot/shutdown implementation - -------------------------------------------------------------------- -Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com - -- version 11 - -------------------------------------------------------------------- -Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - readahead fixes - -------------------------------------------------------------------- -Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de - -- /etc/modules.d was renamed to modules-load.d -- only include tmpfiles.d/*conf files - -------------------------------------------------------------------- -Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com - -- don't create sysv order deps on merged units -- fix Provides: handling in LSB headers (network.target) -- native (optional) readahead - -------------------------------------------------------------------- -Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de - -- Do not package man pages twice. - -------------------------------------------------------------------- -Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - basic services are enabled by default now - -------------------------------------------------------------------- -Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - vconsole and locale setup - - hook up tmpwatch - -------------------------------------------------------------------- -Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - add new utility to initialize the virtual console - - initialize locale from /etc/locale by default - - ask-password: allow services query SSL/harddisk passphrases - -------------------------------------------------------------------- -Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com - -- version 10 - - logger: support SOCK_STREAM /dev/log sockets - - make sure the file system is writable before we write utmp data - - systemctl: use isolate when called as telinit for a runlevel - - initctl: properly use isolate when activating runlevels - - set HOME=/root when running shells - - make sure we don't crash if there's an automount unit without - mount unit - - start logger only after syslog is up - -------------------------------------------------------------------- -Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com - -- version 9 - - units: don't add shutdown conflicts dep to umount.target - - dbus: don't send cgroup agent messages directly to system bus - - dbus: don't accept activation requests anymore if we are going - down anyway - - systemctl: fix return value of systemctl start and friends - - service: wait for process exit only if we actually killed - somebody - -------------------------------------------------------------------- -Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com - -- version 8 - - KERNEL 2.6.36+ REQUIRED! - - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup - - invoke sulogin instead of /bin/sh - - systemctl: show timestamps for state changes - - add global configuration options for handling of auto mounts - -------------------------------------------------------------------- -Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com - -- apply /etc/fstab mount options to all api mounts -- properly handle LABEL="" in fstab -- do not consider LSB exit codes 5 and 6 as failure - -------------------------------------------------------------------- -Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com - -- prefix sysv job descriptions with LSB: -- add native sysctl + hwclock + random seed service files -- properly fallback to rescue.target if default.target is hosed -- rename ValidNoProcess= to RemainAfterExit= -- add systemd-modules-load tool to handle /etc/modules.d/ - -------------------------------------------------------------------- -Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com - -- add support for delayed shutdown, similar to sysv in style -- rename Type=finish to Type=oneshot and allow multiple ExecStart= -- don't show ENOENT for non exitent configuration files -- log build time features on startup -- rearrange structs to make them smaller -- move runlevel[2-5] links to /lib -- create default.target link to /lib not /etc -- handle random-seed -- write utmp record before we kill all processes -- create /var/lock/subsys, /var/run/utmp - -------------------------------------------------------------------- -Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com - -- add audit messages for service changes -- update utmp with external program -- all to refuse manual service starting/stopping - -------------------------------------------------------------------- -Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com - -- version 7 - - hide output if quiet is passed on the kernel cmdline - - fix auto restarting of units after a configuration reload - - don't call bus_path_escape() with NULL unit name - -------------------------------------------------------------------- -Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com - -- version 6 - - man page update - -------------------------------------------------------------------- -Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - downgrade a few log messages - - properly handle devices which are referenced before they exist - -------------------------------------------------------------------- -Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fix dependency cycle of boot.* by splitting fsck.target - - sort boot.* before other sysv services - from sysinint.target - - start getty for serial console - -------------------------------------------------------------------- -Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com - -- add licence to subpackages - -------------------------------------------------------------------- -Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com - -- version 5 - - selinux fixes -- fix hanging 'reboot' started from vc - -------------------------------------------------------------------- -Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com - -- enable getty.target by default - -------------------------------------------------------------------- -Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com - -- at install, read old inittab for the defaul target/runlevel -- disable services on package uninstall - -------------------------------------------------------------------- -Sat Jul 24 09:50:05 CEST 2010 - kay.sievers@novell.com - -- version 4 - - merge systemd-install into systemctl - -------------------------------------------------------------------- -Fri Jul 23 10:39:19 CEST 2010 - kay.sievers@novell.com - -- create config files in /etc in %post -- mark files in /etc as config -- remove nodev from /dev/pts -- add selinux support - -------------------------------------------------------------------- -Thu Jul 22 10:51:16 CEST 2010 - kay.sievers@novell.com - -- version 4 (pre) - - require newer vala - - add [Install] section to getty.target and remote-fs.target -- re-enable post-build check - -------------------------------------------------------------------- -Wed Jul 21 08:51:22 CEST 2010 - kay.sievers@novell.com - -- do not add sysv services that are not enabled in /etc/rcN.d/ -- allow symlinking unit files to /dev/null -- remove only pam sessions we ourselves created -- unit files in /etc/ always take precedence, even over link targets - -------------------------------------------------------------------- -Tue Jul 20 21:20:43 CEST 2010 - kay.sievers@novell.com - -- fix access mode verification of FIFOs - -------------------------------------------------------------------- -Sun Jul 18 11:31:06 CEST 2010 - kay.sievers@novell.com - -- fix default mode of /var/run and /var/lock -- force /var/run and /var/lock to be on tmpfs - -------------------------------------------------------------------- -Wed Jul 14 17:49:57 CEST 2010 - kay.sievers@novell.com - -- always enable udev and dbus until we can require systemd from - packages providing systemd service files - -------------------------------------------------------------------- -Wed Jul 14 01:10:27 CEST 2010 - kay.sievers@novell.com - -- drop systemd-units.rpm - -------------------------------------------------------------------- -Wed Jul 14 00:07:24 CEST 2010 - kay.sievers@novell.com - -- version 3 - - treat non-existing cgroups like empty ones, to deal with races - - replace --running-as= by --session and --system - - always allow stopping of units that failed to load - -------------------------------------------------------------------- -Tue Jul 13 06:22:56 CEST 2010 - kay.sievers@novell.com - -- update - -------------------------------------------------------------------- -Mon Jul 12 18:23:41 CEST 2010 - kay.sievers@novell.com - -- drop libcgroup - -------------------------------------------------------------------- -Mon Jul 12 10:04:26 CEST 2010 - kay.sievers@novell.com - -- trim cgroups for services that are "active" but "exited" -- drop /bin/init hack and require now fixed mkinitrd - -------------------------------------------------------------------- -Sun Jul 11 23:38:45 CEST 2010 - kay.sievers@novell.com - -- fix reboot issue -- fix abstract namespace name handling (needs udev update) -- prefer private D-Bus socket wherever possible - -------------------------------------------------------------------- -Sun Jul 11 00:50:14 CEST 2010 - kay.sievers@novell.com - -- D-Bus 1.3.2 support -- use COLD_BOOT=1 on reboot to skip sysv boot.d/ handling - -------------------------------------------------------------------- -Fri Jul 9 10:05:00 CEST 2010 - kay.sievers@novell.com - -- fix typo in spec file - -------------------------------------------------------------------- -Fri Jul 9 09:09:33 CEST 2010 - kay.sievers@novell.com - -- provide /bin/init to be found by 'too simple' mkinitrd, and work - around mindless relinking of relative links in the buildsystem -- add rpmlintrc to silent warnings about intentional behavior - -------------------------------------------------------------------- -Fri Jul 9 06:18:52 CEST 2010 - kay.sievers@novell.com - -- version 2 - -------------------------------------------------------------------- -Thu Jul 8 23:48:09 CEST 2010 - kay.sievers@novell.com - -- fix 'reboot -w' to skip the actual reboot -- fix segfault in D-Bus code -- use unique instead of multiple keys in config file -- support continuation lines in config files -- support multiple commands in a single key in config files -- adapt log level of some messages - -------------------------------------------------------------------- -Wed Jul 7 06:20:00 CEST 2010 - kay.sievers@novell.com - -- version 1 - - default log level to INFO - - show welcome message - -------------------------------------------------------------------- -Tue Jul 6 08:55:03 CEST 2010 - kay.sievers@novell.com - -- add systemd-install --start option -- add more documentation - -------------------------------------------------------------------- -Mon Jul 5 16:23:28 CEST 2010 - kay.sievers@novell.com - -- new snapshot with extended D-Bus support - -------------------------------------------------------------------- -Sun Jul 4 21:31:49 CEST 2010 - kay.sievers@novell.com - -- new snapshot with default unit dependency handling - -------------------------------------------------------------------- -Sat Jul 3 16:54:19 CEST 2010 - kay.sievers@novell.com - -- new snapshot - -------------------------------------------------------------------- -Fri Jul 2 10:04:26 CEST 2010 - kay.sievers@novell.com - -- add more documentation - -------------------------------------------------------------------- -Thu Jul 1 17:40:28 CEST 2010 - kay.sievers@novell.com - -- new snapshot - -------------------------------------------------------------------- -Fri Jun 25 00:34:03 CEST 2010 - kay.sievers@novell.com - -- split off systemd-units.rpm which can be pulled-in by other - packages without further dependencies - -------------------------------------------------------------------- -Thu Jun 24 09:40:06 CEST 2010 - kay.sievers@novell.com - -- add more documentation - -------------------------------------------------------------------- -Tue Jun 22 22:13:02 CEST 2010 - kay.sievers@novell.com - -- more man pages and documentation - -------------------------------------------------------------------- -Tue Jun 22 18:14:05 CEST 2010 - kay.sievers@novell.com - -- conflict with upstart -- include all installed doc files - -------------------------------------------------------------------- -Tue Jun 22 09:33:44 CEST 2010 - kay.sievers@novell.com - -- provide pam module - -------------------------------------------------------------------- -Mon Jun 21 10:21:20 CEST 2010 - kay.sievers@novell.com - -- use private D-Bus connection -- properly handle replacing a running upstart - -------------------------------------------------------------------- -Fri Jun 18 09:37:46 CEST 2010 - kay.sievers@novell.com - -- implement wall message in halt/reboot/... -- speak /dev/initctl to old /sbin/init after installing - -------------------------------------------------------------------- -Thu Jun 17 23:54:59 CEST 2010 - kay.sievers@novell.com - -- drop no longer needed -fno-strict-aliasing -- add README and examples - -------------------------------------------------------------------- -Thu Jun 17 23:23:42 CEST 2010 - kay.sievers@novell.com - -- enable pam and libwrap - -------------------------------------------------------------------- -Thu Jun 17 23:10:57 CEST 2010 - kay.sievers@novell.com - -- provide systemd-sysvinit.rpm with /sbin/init and friends - -------------------------------------------------------------------- -Thu Jun 17 11:06:14 CEST 2010 - kay.sievers@novell.com - -- libwrap / pam support - -------------------------------------------------------------------- -Wed Jun 16 09:46:15 CEST 2010 - kay.sievers@novell.com - -- initial packaging of experimental version 0 - diff --git a/systemd-mini.spec b/systemd-mini.spec deleted file mode 100644 index 28262652..00000000 --- a/systemd-mini.spec +++ /dev/null @@ -1,1573 +0,0 @@ -# -# spec file for package systemd-mini -# -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define bootstrap 1 -##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define mini -mini -%define real systemd -%define min_kernel_version 3.7 - -%bcond_without bash_completion -%bcond_without networkd -%bcond_without sysvcompat -%bcond_with resolved -%bcond_with python -%bcond_with parentpathid -%if 0%{?suse_version} > 1315 -%bcond_without permission -%bcond_without blkrrpart -%bcond_without udevsettle -%else -%bcond_with permission -%bcond_with blkrrpart -%bcond_with udevsettle -%endif -%bcond_with systemgrps - -Name: systemd-mini -Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 -Release: 0 -Summary: A System and Session Manager -License: LGPL-2.1+ -Group: System/Base -BuildRoot: %{_tmppath}/%{name}-%{version}-build - -Provides: %{real} = %{version}-%{release} - -BuildRequires: acl -BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: kbd -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libsepol-devel -BuildRequires: libtool -BuildRequires: pam-devel -BuildRequires: systemd-rpm-macros -BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(mount) >= 2.26 -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) -%endif -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) -Conflicts: sysvinit -Conflicts: otherproviders(systemd) -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %version-%release -Conflicts: kiwi -%else -BuildRequires: docbook-xsl-stylesheets -BuildRequires: libgcrypt-devel -BuildRequires: libxslt-tools -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 -# the buildignore is important for bootstrapping -#!BuildIgnore: udev -Requires: udev >= 172 -Recommends: %{name}-bash-completion -Requires: dbus-1 >= 1.4.0 -Requires: kbd -Requires: kmod >= 15 -Requires: netcfg -Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 -Requires: pwdutils -Requires: systemd-presets-branding -Requires: sysvinit-tools -Requires: util-linux >= 2.27 -Requires(post): coreutils -Requires(post): findutils -Requires(post): pam-config >= 0.79-5 -%endif -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/awk -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Conflicts: kernel < %{min_kernel_version} -Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} -Obsoletes: pm-utils <= 1.4.1 -Obsoletes: suspend <= 1.0 - -#Git-Clone: git://github.com/systemd/systemd -Source: https://github.com/systemd/systemd/archive/v%version.tar.gz -%if ! 0%{?bootstrap} -Source1: systemd-rpmlintrc -%else -Source1: systemd-mini-rpmlintrc -%endif -Source3: systemd-sysv-convert -Source6: baselibs.conf -Source7: libgcrypt.m4 -Source9: nss-myhostname-config -Source10: macros.systemd.upstream -Source11: after-local.service -Source12: systemd-sysv-install - -Source1065: systemd-remount-tmpfs - -# handle SUSE specific kbd settings -Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch -Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: insserv-generator.patch -Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch -Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - -# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done -Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch -# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices -Patch27: apply-ACL-for-nvidia-device-nodes.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device -Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. -Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch -Patch42: systemd-pam_config.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) -Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty -Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com -Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch -Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch -Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch188: boot-local-start.patch -# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch -# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch190: systemd-install-compat_pkgconfig-always.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch191: systemd-dbus-system-bus-address.patch -# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch192: let-linker-find-libudev-for-libdevmapper.patch -# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console -Patch197: rescue-emergency-target-conflicts.patch -# PATCH-FIX-SUSE Avoid a divide by zero sigtrap -Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) -Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) -Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) -Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-SUSE Shut up rpmlint warning -Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-SUSE -Patch352: set-and-use-default-logconsole.patch -Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) -Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) -Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) -Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) -Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 -Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 -Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch520: systemd-add-user-keep.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch521: kbd-model-map.patch -# PATCH-WORKAROUND-SUSE (boo#939571) -Patch522: Correct_assert_on_unexpected_error_code.patch -# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) -Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -# UDEV PATCHES -# ============ -# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. -# Udev patches mean: patches that affect udev code, src/{udev,libudev} -# nothing else, even if the patch might affect indirectly udev, as long -# as it's not changing the code of udev and libudev, then is not a udev -# patch. Further patches which add and/or changes udev rules. - -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) -Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch -# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) -Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 -Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) -Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) -Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) -Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch -# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch -Patch1096: 1096-new-udev-root-symlink-generator.patch -# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch -Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch -Patch1098: 1098-systemd-networkd-alias-network-service.patch -# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1099: hostname-NULL.patch - -%description -Systemd is a system and service manager, compatible with SysV and LSB -init scripts for Linux. systemd provides aggressive parallelization -capabilities, uses socket and D-Bus activation for starting services, -offers on-demand starting of daemons, keeps track of processes using -Linux cgroups, supports snapshotting and restoring of the system state, -maintains mount and automount points and implements an elaborate -transactional dependency-based service control logic. It can work as a -drop-in replacement for sysvinit. - - -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1+ -Group: System/Base -Requires: bash -%if %{with bash_completion} -Requires: bash-completion -%endif -BuildArch: noarch - -%description bash-completion -Some systemd commands offer bash completion, but it's an optional dependency. - -%package devel -Summary: Development headers for systemd -License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version -Requires: systemd-rpm-macros -%if 0%{?bootstrap} -Provides: systemd-devel = %version-%release -%endif -Conflicts: otherproviders(systemd-devel) - -%description devel -Development headers and auxiliary files for developing applications for systemd. - -%package sysvinit -Summary: System V init tools -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version} -Provides: sbin_init -Conflicts: otherproviders(sbin_init) -Provides: sysvinit:/sbin/init - -%description sysvinit -Drop-in replacement of System V init tools. - -%package -n libsystemd0%{?mini} -Summary: Component library for systemd -License: LGPL-2.1+ -Group: System/Libraries -%if 0%{?bootstrap} -Conflicts: libsystemd0 -Requires: this-is-only-for-build-envs -%endif - -%description -n libsystemd0%{?mini} -This library provides several of the systemd C APIs: - -* sd-bus implements an alternative D-Bus client library that is - relatively easy to use, very efficient and supports both classic - D-Bus as well as kdbus as transport backend. - -* sd-daemon(3): for system services (daemons) to report their status - to systemd and to make easy use of socket-based activation logic - -* sd-event is a generic event loop abstraction that is built around - Linux epoll, but adds features such as event prioritization or - efficient timer handling. - -* sd-id128(3): generation and processing of 128-bit IDs - -* sd-journal(3): API to submit and query journal log entries - -* sd-login(3): APIs to introspect and monitor seat, login session and - user status information on the local system. - -%package -n udev%{?mini} -Summary: A rule-based device node and kernel event manager -License: GPL-2.0 -Group: System/Kernel -Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq -PreReq: /usr/bin/sg_inq -Requires(pre): /usr/bin/stat -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/bin/getent -Requires(post): libudev%{?mini}1 -Requires(post): sed -Requires(post): /usr/bin/systemctl -%if %{defined regenerate_initrd_post} -Requires(post): coreutils -Requires(post): /usr/bin/stat -Requires(postun): coreutils -Requires(posttrans): suse-module-tools -Requires(posttrans): /sbin/mkinitrd -%else -Requires(post): /sbin/mkinitrd -Requires(postun): /sbin/mkinitrd -%endif -Conflicts: systemd < 39 -Conflicts: aaa_base < 11.5 -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Conflicts: util-linux < 2.16 -Conflicts: ConsoleKit < 0.4.1 -Requires: filesystem -%if 0%{?bootstrap} -Provides: udev = %version-%release -Conflicts: kiwi -%endif -Conflicts: otherproviders(udev) - -%description -n udev%{?mini} -Udev creates and removes device nodes in /dev for devices discovered or -removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching -rules may name a device node, create additional symlinks to the node, -call tools to initialize a device, or load needed kernel modules. - - - -%package -n libudev%{?mini}1 -# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ -Summary: Dynamic library to access udev device information -License: LGPL-2.1+ -Group: System/Libraries -%if 0%{?bootstrap} -Conflicts: libudev1 -%endif - -%description -n libudev%{?mini}1 -This package contains the dynamic library libudev, which provides -access to udev device information - -%package -n libudev%{?mini}-devel -Summary: Development files for libudev -License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libudev%{?mini}1 = %version-%release -%if 0%{?bootstrap} -Provides: libudev-devel = %version-%release -%endif -Conflicts: otherproviders(libudev-devel) - -%description -n libudev%{?mini}-devel -This package contains the development files for the library libudev, a -dynamic library, which provides access to udev device information. - -%if ! 0%{?bootstrap} -%package logger -Summary: Journal only logging -License: LGPL-2.1+ -Group: System/Base -Provides: syslog -Provides: sysvinit(syslog) -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl -Requires(post): /usr/bin/systemctl -Requires(post): permissions -Conflicts: otherproviders(syslog) - -%description logger -This package marks the installation to not use syslog but only the journal. - -%package -n nss-myhostname -Summary: Plugin for local system host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-myhostname -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured system hostname as returned by -gethostname(2). Various software relies on an always resolvable local -host name. When using dynamic hostnames this is usually achieved by -patching /etc/hosts at the same time as changing the host name. This -however is not ideal since it requires a writable /etc file system and -is fragile because the file might be edited by the administrator at -the same time. nss-myhostname simply returns all locally -configured public IP addresses, or -- if none are configured -- -the IPv4 address 127.0.0.2 (wich is on the local loopback) and the -IPv6 address ::1 (which is the local host) for whatever system -hostname is configured locally. Patching /etc/hosts is thus no -longer necessary. - -Note that nss-myhostname only provides a workaround for broken -software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that's worth -a bug report then. -This package marks the installation to not use syslog but only the journal. - -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. - -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-resolve - -%package journal-gateway -Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -%description journal-gateway -systemd-journal-gatewayd serves journal events over the network using HTTP. -%endif - -%prep -%setup -q -n systemd-%version -echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in - -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif - -# systemd patches -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch12 -p1 -%patch16 -p1 -%patch17 -p1 -%patch20 -p1 -%patch21 -p1 -# check if this is still needed, or can be derived from fbdev uaccess rule -# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html -%patch27 -p1 -%patch28 -p1 -%patch37 -p1 -%patch39 -p1 -%patch41 -p1 -%patch42 -p1 -%patch84 -p1 -%patch86 -p1 -%patch90 -p1 -%patch91 -p1 -%patch120 -p1 -%patch178 -p1 -%patch179 -p1 -%patch180 -p1 -%patch182 -p1 -%patch183 -p1 -%patch186 -p1 -%patch188 -p1 -%patch189 -p1 -%patch190 -p1 -%patch191 -p1 -%patch192 -p1 -%patch193 -p1 -%patch197 -p1 -%patch198 -p1 -%patch203 -p1 -%patch208 -p1 -%patch338 -p1 -%patch345 -p1 -%patch352 -p1 -%patch362 -p1 -%patch366 -p1 -%patch368 -p1 -%patch386 -p1 -%patch430 -p1 -%patch475 -p1 -%patch490 -p1 -%patch520 -p1 -%patch521 -p1 -%patch522 -p1 -%patch523 -p0 -%patch524 -p1 - -# udev patches -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1035 -p1 -%if %{with blkrrpart} -%patch1037 -p1 -%endif -%patch1060 -p1 -%patch1062 -p1 -%patch1066 -p1 -%patch1095 -p1 -%patch1096 -p1 -%patch1097 -p1 -%patch1098 -p1 -%patch1099 -p1 - -# -# In combination with Patch352 set-and-use-default-logconsole.patch -# Ensure that journald log on tty10 -# -%ifarch %ix86 x86_64 x32 -sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf -%endif - -%build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - -# -# Be sure that fresh build libudev is linked as otherwise no errors are found -# -sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS = \\\ - $(AM_LDFLAGS) \\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ - -}' Makefile.am -sh autogen.sh - -export V=e -export CFLAGS="%{optflags}" -export LDFLAGS -%if 0%{?suse_version} == 1315 - CFLAGS="$CFLAGS -DNET_IFNAMES=1" -%else - CFLAGS="$CFLAGS -DNET_IFNAMES=0" -%endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS -# keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ -%if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ - --disable-machined \ -%else - --enable-manpages \ -%if %{with python} - --with-python \ -%endif - --with-nss-my-hostname-warning \ -%endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ -%if %{without networkd} - --disable-networkd \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ -%endif -%if %{without resolved} - --disable-resolved \ -%endif - --disable-kdbus -make %{?_smp_mflags} -%if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man -%endif - -%install -%make_install -install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" - -# move to %{_lib} -%if ! 0%{?bootstrap} -mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%endif - -mkdir -p %{buildroot}/{sbin,lib,bin} -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - -%if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 -%endif - -%if ! 0%{?bootstrap} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config -%endif - -ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants -rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} - -install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd -ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init -ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot -ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt -ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown -ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff -ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit -ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -rm -rf %{buildroot}/etc/systemd/system/*.target.wants -rm -f %{buildroot}/etc/systemd/system/default.target - -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ - -# don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path - -# create %{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - -# do not ship sysctl defaults in systemd package, will be part of -# aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf - -# remove README file for now -rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -rm -rf %{buildroot}%{_datadir}/bash-completion -%endif - -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done -ln -s /usr/lib/udev %{buildroot}/lib/udev - -# Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal/ - -# Make sure directories in /var exist -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -#create ghost databases -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin - -# Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ - -# Make sure the shutdown/sleep drop-in dirs exist -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ - -# Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants - -# create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -[Service] -# ensure tty1 isn't cleared (bnc#804158) -TTYVTDisallocate=no -EOF - -#ensure we get the running kernel sysctl settings. - -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf -d! /run/sysctl.d -L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v -EOF - -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d - -cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -[Unit] -After=local-fs.target -EOF - -# ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ -ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ - -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -%fdupes -s %{buildroot}%{_mandir} - -%if ! 0%{?bootstrap} -for f in %{buildroot}%{_datadir}/bash-completion/completions/* -do - test -e "$f" || break - grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" -done > files.completion -%else -> files.completion -%endif - -# packaged in systemd-rpm-macros -rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd - -%if %{without compat_libs} -lib=%{_libdir}/libsystemd.so -for lnk in daemon login id128 journal -do - lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so - echo '/* GNU ld script */' > ${lnk} - echo 'INPUT('${lib}')' >> ${lnk} -done -%endif - -# Some files which may created by us or by the admin later on -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ - machine-id machine-info \ - systemd/system/runlevel2.target \ - systemd/system/runlevel3.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel5.target -do - > %{buildroot}%{_sysconfdir}/$ghost -done - -# Workaround for bug #882393 -for runlevel in poweroff rescue multi-user graphical reboot -do - mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants - ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ -done - -# add entries for xkeyboard-config converted keymaps; mappings, -# which already exist in original systemd mapping table are being -# ignored though, i.e. not overwritten -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" -fi - -%find_lang systemd - -%pre -for name in journal timesync network resolve bus-proxy -do - getent group systemd-$name >/dev/null && continue - groupadd -r systemd-$name || : -done -for name in timesync network resolve bus-proxy -do - getent passwd systemd-$name >/dev/null && continue - case "$name" in - timesync) descr="Systemd Time Synchronization" ;; - network) descr="Systemd Network Management" ;; - resolve) descr="Systemd Resolver" ;; - bus-proxy) descr="Systemd Bus Proxy" ;; - esac - useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : -done -exit 0 - -%post -%if ! 0%{?bootstrap} -/usr/sbin/pam-config -a --systemd || : -%endif -/sbin/ldconfig -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup || : -/usr/lib/systemd/systemd-random-seed save || : -/usr/bin/systemctl daemon-reexec || : -/usr/bin/journalctl --update-catalog || : -# Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ || : -chmod g+s %{_localstatedir}/log/journal/ || : -if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : - chmod g+s "%{_localstatedir}/log/journal/$ID" || : -fi -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -systemd-sysusers || : - -# Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) - if [ -n "$runlevel" ] ; then - /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : - fi -fi -# Create default config in /etc at first install. -# Later package updates should not overwrite these settings. -if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done -fi - -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : -fi - -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - -%postun -/sbin/ldconfig -if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload || : - #Avoid restarting logind [bnc#934901] until fixed upstream - #/usr/bin/systemctl try-restart systemd-logind.service || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - /usr/bin/systemctl disable \ - getty@.service \ - remote-fs.target || : - rm -f /etc/systemd/system/default.target 2>&1 || : -fi - -# pretrans section must always use lua -%pretrans -n udev%{?mini} -p -if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") -end - -%pre -n udev%{?mini} -if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev -elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev -fi -# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -getent group tape >/dev/null || groupadd -r tape || : -# kill daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root ; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : - udevadm control --exit || : - fi -fi - -%post -n udev%{?mini} -/usr/bin/udevadm hwdb --update || : -if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then - # add KERNEL name match to existing persistent net rules - sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules || : -fi -# cleanup old stuff -rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/20-cdrom.rules -rm -f /etc/udev/rules.d/55-cdrom.rules -rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload || : -# start daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service; then - /usr/lib/systemd/systemd-udevd --daemon || : - fi - fi -fi - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%postun -n udev%{?mini} -%insserv_cleanup -systemctl daemon-reload || : - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%if %{defined regenerate_initrd_post} -%posttrans -n udev%{?mini} -%regenerate_initrd_posttrans -%endif - -%post -n libsystemd0%{?mini} -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post -n libudev%{?mini}1 -p /sbin/ldconfig -%postun -n libudev%{?mini}1 -p /sbin/ldconfig - -%if ! 0%{?bootstrap} - -%if %{with permission} -%verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal/ -%endif - -%pre logger -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -exit 0 - -%post logger -%if %{with permission} -%set_permissions %{_localstatedir}/log/journal/ -%endif -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -if [ "$1" -eq 1 ]; then -# tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service || : -fi - -%preun -n nss-myhostname -if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then - %{_sbindir}/nss-myhostname-config --disable -fi - -%post -n nss-myhostname -p /sbin/ldconfig - -%postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig - -%pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -exit 0 - -%post journal-gateway -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%preun journal-gateway -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%postun journal-gateway -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%endif - -%files -f systemd.lang -%defattr(-,root,root) -/bin/systemd -/bin/systemd-ask-password -/bin/systemctl -%if %{with networkd} -%{_bindir}/networkctl -%endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl -%if ! 0%{?bootstrap} -%{_bindir}/machinectl -%endif -%{_bindir}/systemctl -%{_bindir}/systemd-analyze -%{_bindir}/coredumpctl -%{_bindir}/systemd-delta -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers -%{_bindir}/systemd-notify -%{_bindir}/systemd-run -%{_bindir}/systemd-journalctl -%{_bindir}/journalctl -%{_bindir}/systemd-ask-password -%{_bindir}/loginctl -%{_bindir}/systemd-loginctl -%{_bindir}/systemd-inhibit -%{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles -%{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-nspawn -%{_bindir}/systemd-stdio-bridge -%{_bindir}/systemd-detect-virt -%{_bindir}/timedatectl -%{_sbindir}/systemd-sysv-convert -%{_bindir}/systemd-cgls -%{_bindir}/systemd-cgtop -%{_bindir}/systemd-cat -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%endif -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket -%exclude %{_prefix}/lib/systemd/systemd-udevd -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%endif -%{_prefix}/lib/systemd/systemd-* -%{_prefix}/lib/systemd/systemd -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%dir %{_prefix}/lib/systemd/system-shutdown -%dir %{_prefix}/lib/systemd/system-preset -%dir %{_prefix}/lib/systemd/user-preset -%dir %{_prefix}/lib/systemd/system-generators -%dir %{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator -%dir %{_prefix}/lib/systemd/ntp-units.d/ -%dir %{_prefix}/lib/systemd/system-shutdown/ -%dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/default.target.wants -%dir %{_prefix}/lib/systemd/system/dbus.target.wants -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d -%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -%if ! 0%{?bootstrap} -%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator -%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator -%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ -/%{_lib}/security/pam_systemd.so -%config /etc/pam.d/systemd-user - -%ifarch %{ix86} x86_64 -%dir %{_prefix}/lib/systemd/boot -%dir %{_prefix}/lib/systemd/boot/efi -%{_prefix}/lib/systemd/boot/efi/*.efi -%{_prefix}/lib/systemd/boot/efi/*.stub -%endif - -%dir %{_libexecdir}/modules-load.d -%dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf - -%dir %{_libexecdir}/tmpfiles.d -%dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf - -%dir %{_libexecdir}/binfmt.d -%dir %{_sysconfdir}/binfmt.d - -%dir %{_libexecdir}/sysctl.d -%dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf - -%dir %{_sysconfdir}/systemd -%dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d -%{_sysconfdir}/xdg/systemd/user -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%endif -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf - -%{_sysconfdir}/X11/xinit/ -# Some files which may created by us -%dir %{_sysconfdir}/X11/xorg.conf.d -%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf -%ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-id -%ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target - -%{_datadir}/factory/ -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname - -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%dir %{_datadir}/polkit-1 -%dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif -%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if ! 0%{?bootstrap} -%exclude %{_datadir}/systemd/gatewayd -%endif -%{_datadir}/systemd - -%if ! 0%{?bootstrap} -%_mandir/man1/[a-rt-z]*ctl.1* -%_mandir/man1/systemc*.1* -%_mandir/man1/systemd*.1* -%_mandir/man5/[a-tv-z]* -%_mandir/man5/user* -%_mandir/man7/[bdfks]* -%_mandir/man8/kern* -%_mandir/man8/pam_* -%_mandir/man8/systemd-[a-gik-tv]* -%_mandir/man8/systemd-h[aioy]* -%_mandir/man8/systemd-journal-remote.* -%_mandir/man8/systemd-journal-upload.* -%_mandir/man8/systemd-journald* -%_mandir/man8/systemd-u[ps]* -%endif -%{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%if ! 0%{?bootstrap} -%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%endif -%{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/numlock-on -%if 0%{suse_version} < 1310 -%{_sysconfdir}/rpm/macros.systemd -%endif -%dir %{_localstatedir}/lib/systemd -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/catalog -%ghost %{_localstatedir}/lib/systemd/catalog/database -%dir %{_localstatedir}/lib/systemd/coredump -%dir %{_datadir}/zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif - -%if ! 0%{?bootstrap} -%files bash-completion -f files.completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* -%endif - -%files devel -%defattr(-,root,root,-) -%{_libdir}/libsystemd.so -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_includedir}/systemd/ -%{_datadir}/pkgconfig/systemd.pc -%{_libdir}/pkgconfig/libsystemd.pc -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%if ! 0%{?bootstrap} -%_mandir/man3/SD*.3* -%_mandir/man3/sd*.3* -%endif - -%files sysvinit -%defattr(-,root,root,-) -/sbin/init -/sbin/reboot -/sbin/halt -/sbin/shutdown -/sbin/poweroff -/sbin/telinit -/sbin/runlevel -%if ! 0%{?bootstrap} -%{_mandir}/man1/init.1* -%{_mandir}/man8/halt.8* -%{_mandir}/man8/reboot.8* -%{_mandir}/man8/shutdown.8* -%{_mandir}/man8/poweroff.8* -%{_mandir}/man8/telinit.8* -%{_mandir}/man8/runlevel.8* -%endif -%dir %_prefix/lib/systemd -%_prefix/lib/systemd/systemd-sysv-install - -%files -n udev%{?mini} -%defattr(-,root,root) -/sbin/udevd -/sbin/udevadm -# keep for compatibility -%ghost /lib/udev -%{_bindir}/udevadm -%if 0%{?suse_version} <= 1310 -%{_prefix}/lib/firmware -%endif -%{_bindir}/systemd-hwdb -%dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/cdrom_id -%{_prefix}/lib/udev/collect -%{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/scsi_id -%{_prefix}/lib/udev/v4l_id -%{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rootsymlink-generator -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ -%dir %{_sysconfdir}/udev/ -%dir %{_sysconfdir}/udev/rules.d/ -%ghost %{_sysconfdir}/udev/hwdb.bin -%config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! 0%{?bootstrap} -%_mandir/man5/udev* -%_mandir/man7/hwdb* -%_mandir/man7/udev* -%_mandir/man8/systemd-hwdb* -%_mandir/man8/systemd-udev* -%_mandir/man8/udev* -%endif -%dir %{_prefix}/lib/systemd/system -%{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/*udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket -%dir %{_prefix}/lib/systemd/network -%{_prefix}/lib/systemd/network/*.link -%{_prefix}/lib/systemd/network/*.network -%if 0%{?suse_version} > 1310 -%{_datadir}/pkgconfig/udev.pc -%endif - -%files -n libsystemd0%{?mini} -%defattr(-,root,root) -%_libdir/libsystemd.so.* -%if %{with compat_libs} -%_libdir/libsystemd-daemon.so.* -%_libdir/libsystemd-login.so.* -%_libdir/libsystemd-id128.so.* -%_libdir/libsystemd-journal.so.* -%endif - -%files -n libudev%{?mini}1 -%defattr(-,root,root) -%{_libdir}/libudev.so.* - -%files -n libudev%{?mini}-devel -%defattr(-,root,root) -%{_includedir}/libudev.h -%{_libdir}/libudev.so -%{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man3/*udev*.3* -%endif - -%if ! 0%{?bootstrap} -%files logger -%defattr(-,root,root) -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif - -%files -n nss-myhostname -%defattr(-, root, root) -%{_sbindir}/nss-myhostname-config -%if !0%{?bootstrap} -%{_mandir}/man8/libnss_myhostname.* -%{_mandir}/man8/nss-myhostname.* -%endif -/%{_lib}/*nss_myhostname* - -%files journal-gateway -%defattr(-, root, root) -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_datadir}/systemd/gatewayd - -%files -n nss-mymachines -%defattr(-,root,root) -%_libdir/libnss_mymachines.so* -%if !0%{?bootstrap} -%_mandir/man8/libnss_mymachines.* -%_mandir/man8/nss-mymachines.* -%endif -%endif - -%changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch deleted file mode 100644 index 7850822e..00000000 --- a/systemd-pam_config.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: systemd-227/factory/etc/pam.d/other -=================================================================== ---- systemd-227.orig/factory/etc/pam.d/other -+++ systemd-227/factory/etc/pam.d/other -@@ -1,6 +1,6 @@ - # This file is part of systemd. - --auth include system-auth --account include system-auth --password include system-auth --session include system-auth -+auth include common-auth -+account include common-account -+password include common-password -+session include common-session -Index: systemd-227/src/login/systemd-user.m4 -=================================================================== ---- systemd-227.orig/src/login/systemd-user.m4 -+++ systemd-227/src/login/systemd-user.m4 -@@ -2,10 +2,10 @@ - # - # Used by systemd --user instances. - --account include system-auth -+account include common-account - - m4_ifdef(`HAVE_SELINUX', - session required pam_selinux.so close - session required pam_selinux.so nottys open - )m4_dnl --session include system-auth -+session include common-session diff --git a/systemd-remount-tmpfs b/systemd-remount-tmpfs deleted file mode 100644 index 2e326469..00000000 --- a/systemd-remount-tmpfs +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -PATH=/usr/bin:/bin:/usr/sbin:/sbin -DIR=$(sed -rn '/^#/d;\@^[[:graph:]]+[[:space:]]+/[[:graph:]]+[[:space:]]+tmpfs[[:space:]]+.*size=[0-9]+[kmg,[:space:]]@{ s@^[[:graph:]]+[[:space:]]+(/[[:graph:]]+).*@\1@p }' /etc/fstab) - -if [ -n "$DIR" ]; then - for i in $DIR; do - echo $i - mount -o remount "$i" >/dev/null 2>&1 - STATE=$? - if [ "$STATE" -gt 0 ]; then - logger "Remount of $i failed with state $STATE" - fi - done -fi diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a9e12af8..32735bde 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,29 +1,4 @@ -addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") -addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot\.8.*") -addFilter(".*files-duplicate .*/sd_is_socket\.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") -addFilter(".*dbus-policy-allow-receive") -addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") -addFilter(".*dangling-symlink /lib/udev/devices/core.*") -addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot\.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") -addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter(".*libgudev-.*shlib-fixed-dependency.*") -addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") -addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") -addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") -addFilter(".*files-duplicate.*/systemd-logger.*") -addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*missing-call-to-chdir-with-chroot.*") -addFilter(".*systemd-service-without-service.*") -addFilter(".*shlib-policy-missing-suffix.*") -addFilter(".*suse-missing-rclink.*") +addFilter(".*devel-file-in-non-devel-package.*systemd.pc.*") +addFilter(".*files-duplicate .*/reboot.8.*") +addFilter(".*files-duplicate .*/sd_is_socket.3.*") diff --git a/systemd-sysv-convert b/systemd-sysv-convert deleted file mode 100644 index 8ba3f211..00000000 --- a/systemd-sysv-convert +++ /dev/null @@ -1,179 +0,0 @@ -#!/bin/bash - -if [ "$UID" != "0" ]; then - echo Need to be root. - exit 1 -fi - -declare -A results_runlevel -declare -A results_priority - -usage() { -cat << EOF -usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] - SERVICE [SERVICE ...] -EOF -} - -help() { -usage -cat << EOF -Save and Restore SysV Service Runlevel Information - -positional arguments: - SERVICE Service names - -optional arguments: - -h, --help show this help message and exit - --save Save SysV runlevel information for one or more services - --show Show saved SysV runlevel information for one or more services - --apply Apply saved SysV runlevel information for one or more services - to systemd counterparts -EOF -} - -find_service() { -local service -local runlevel -declare -i priority -service=$1 -runlevel=$2 -priority=-1 -for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do - initscript=$(basename $l) - if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then - continue - fi - if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then - if [ ${initscript:1:1} == 0 ]; then - priority=${initscript:2:1} - else - priority=${initscript:1:2} - fi - fi -done -if [ $priority -ge 0 ]; then - return $priority -else - return 255 -fi -} - -lookup_database() { -local services -local service -local service_file -local runlevel -local priority -local -i k -declare -a parsed -services=$@ -k=0 -results_runlevel=() -results_priority=() -while read line ; do - k+=1 - parsed=($line) - service=${parsed[0]} - runlevel=${parsed[1]} - priority=${parsed[2]} - if [ $runlevel -lt 2 -o $runlevel -gt 5 ]; then - echo "Runlevel out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - if [ $priority -lt 0 -o $priority -gt 99 ]; then - echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - - declare -i found - found=0 - for s in $services ; do - if [ $s == $service ]; then - found=1 - continue - fi - done - if [ $found -eq 0 ]; then - continue - fi - results_runlevel[$service]+=" $runlevel" - results_priority[$service]+=" $priority" -done < /var/lib/systemd/sysv-convert/database -} - -case "$1" in - -h|--help) - help - exit 0 - ;; - --save) - shift - for service in $@ ; do - if [ ! -r "/etc/init.d/$service" ]; then - echo "SysV service $service does not exist" >/dev/stderr - exit 1 - fi - for runlevel in 2 3 4 5; do - find_service $service $runlevel - priority=$? - if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" >> /var/lib/systemd/sysv-convert/database - fi - done - done - ;; - --show) - shift - services=$@ - lookup_database $services - fail=0 - for service in $services; do - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr - fail=1 - continue - fi - declare -i count - count=0 - priority=(${results_priority[$service]}) - for runlevel in ${results_runlevel[$service]}; do - echo SysV service $service enabled in runlevel $runlevel at priority ${priority[$count]} - count+=1 - done - done - exit $fail - ;; - --apply) - shift - services=$@ - for service in $services; do - if [ ! -f "/lib/systemd/system/$service.service" -a ! -f "/usr/lib/systemd/system/$service.service" ]; then - echo systemd service $service.service does not exist. >/dev/stderr - exit 1 - fi - done - lookup_database $services - for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" - - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr - fail=1 - continue - fi - for runlevel in ${results_runlevel[$service]}; do - echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service - done - - done - ;; - *) usage - exit 2;; -esac - - - diff --git a/systemd-sysv-install b/systemd-sysv-install deleted file mode 100644 index d116728e..00000000 --- a/systemd-sysv-install +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -set -e - -usage() { - echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 - exit 1 -} -eval set -- "$(getopt -o r: --long root: -- "$@")" -while true; do - case "$1" in - -r|--root) - ROOT="$2" - shift 2 ;; - --) shift ; break ;; - *) usage ;; - esac -done -NAME="$2" -ROOT="${ROOT:+--root=$ROOT}" -[ -n "$NAME" ] || usage -case "$1" in - enable) chkconfig $ROOT -a "$NAME" ;; - disable) chkconfig $ROOT -r "$NAME" ;; - is-enabled) chkconfig $ROOT -t "$NAME" ;; - *) usage ;; -esac diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch deleted file mode 100644 index 1233b3b2..00000000 --- a/systemd-tmp-safe-defaults.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Reinhard Max -Date: Fri, 19 Apr 2013 16:12:28 +0200 -Subject: systemd tmp safe defaults - -Fix regression in the default for tmp auto-deletion (FATE#314974). -SUSE policy is to not clean /tmp by default. ---- - tmpfiles.d/tmp.conf | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-228/tmpfiles.d/tmp.conf -=================================================================== ---- systemd-228.orig/tmpfiles.d/tmp.conf -+++ systemd-228/tmpfiles.d/tmp.conf -@@ -8,8 +8,9 @@ - # See tmpfiles.d(5) for details - - # Clear tmp directories separately, to make them easier to override --q /tmp 1777 root root 10d --q /var/tmp 1777 root root 30d -+# SUSE policy: we do not clean these directories -+q /tmp 1777 root root - -+q /var/tmp 1777 root root - - - # Exclude namespace mountpoints created with PrivateTmp=yes - x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index a7adef16..7b38d516 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7056 +1,3 @@ -------------------------------------------------------------------- -Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com - -- Make sure we don't use tmpfs on /tmp by default (bsc#940522) - -------------------------------------------------------------------- -Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - -- Avoid enabling readahead services; they have been removed. -- In %install, only process kbd-model-map.xkb-generated if it - exists. Resolves a build failure in 13.2/42.1. - -------------------------------------------------------------------- -Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com - -- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) - Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -------------------------------------------------------------------- -Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 228 -* The various memory-related resource limit settings (such as - LimitAS=) now understand the usual K, M, G, ... suffixes to - the base of 1024 (IEC). Similar, the time-related settings - understand the usual min, h, day, ... suffixes now. -* CPUAffinity= now takes CPU index ranges in addition to just - individual indexes. -* A number of properties previously only settable in unit - files are now also available as properties to set when - creating transient units programmatically via the bus. -- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - (merged upstream) - -------------------------------------------------------------------- -Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru - -- Update to 227. -- Rebase systemd-pam_config.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, - 0014-journald-with-journaling-FS.patch, - 0019-make-completion-smart-to-be-able-to-redirect.patch, - avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, - set-and-use-default-logconsole.patch, - tty-ask-password-agent-on-console.patch, - 0001-bnc888612-logind-polkit-acpi.patch, - watch_resolv.conf_for_become_changed.patch, - 1097-udevd-increase-maximum-number-of-children.patch. -- Remove - 0002-units-enable-waiting-for-unit-termination-in-certain.patch, - 1001-re-enable-by_path-links-for-ata-devices.patch, - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: - fixed upstream. - -------------------------------------------------------------------- -Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de - -- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch - to handle locale at boot time well (boo#927250) -- Be able to use build service environments several times - -------------------------------------------------------------------- -Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de - -- 1096-new-udev-root-symlink-generator.patch: fix substitution in - ExecStart value - -------------------------------------------------------------------- -Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com - -- enable seccomp for aarch64 (fate#318444) - -------------------------------------------------------------------- -Thu Oct 15 14:12:44 UTC 2015 - fbui@suse.com - -- Fix again UEFI for mini package - -------------------------------------------------------------------- -Thu Oct 15 09:07:51 UTC 2015 - jengelh@inai.de - -- Drop one more undesirable Obsoletes/Provides. This should have - been a Conflicts. (There was already a Conflicts, and since - Conflicts go both ways, we won't need a second one.) - -------------------------------------------------------------------- -Thu Oct 15 08:19:00 UTC 2015 - werner@suse.de - -- No UEFI for systemd-mini - -------------------------------------------------------------------- -Mon Oct 12 11:34:13 UTC 2015 - fbui@suse.com - -- Add 2 upstream patches to fix boo#949574 and bsc#932284 - 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - 0002-units-enable-waiting-for-unit-termination-in-certain.patch - -------------------------------------------------------------------- -Fri Oct 9 18:03:02 UTC 2015 - fbui@suse.com - -- Disable systemd-boot on aarch64 since it fails to build. - Error while compiling src/boot/efi/util.o is: - usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory - -------------------------------------------------------------------- -Fri Oct 9 07:16:45 UTC 2015 - fbui@suse.com - -- Fix UEFI detection logic: basically we let configure.ac figure out - if UEFI is supported by the current build environment. No need to - clutter the spec file with a new conditionnal %has_efi. - -- Provide systemd-bootx64.efi (aka gummiboot) - -------------------------------------------------------------------- -Tue Oct 6 15:13:04 UTC 2015 - werner@suse.de - -- Modify patch tty-ask-password-agent-on-console.patch to reflect - the changes done for pull request 1432 - -------------------------------------------------------------------- -Thu Oct 1 15:58:32 UTC 2015 - jengelh@inai.de - -- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle. -- Provide systemd-sysv-install program/link [bnc#948353] - -------------------------------------------------------------------- -Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de - -- Fix patch tty-ask-password-agent-on-console.patch not to crash - away but enable it to ask on all devices of /dev/console - -------------------------------------------------------------------- -Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de - -- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" - waring occurring in %post - -------------------------------------------------------------------- -Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de - -- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch - to avoid broken virtual console mapping due stressed ioctl API - for the virtual consoles (boo#904214) - -------------------------------------------------------------------- -Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de - -- Fix last change that is use the new name for udev packages in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com - -- restore usage of LUA in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de - -- Try to generate the systemd users and groups always in same order - to avoid republish other packages (boo#944660) - -------------------------------------------------------------------- -Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com - -- cleanup specfile by removing commands that were dealing with systemd - pre-generated files: we're now using systemd tarball generated directly - from the git repo which doesn't contain any of these files. -- there's no point in using LUA in %pretrans - -------------------------------------------------------------------- -Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com - -- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch - -This patch was initialy added to workaround bsc#842844. But it -appears that man(1) was fixed (included since 13.2 at least) to -handle manual pages that consist only of a .so directive such as -'.so '. - -------------------------------------------------------------------- -Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de - -- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to - make it work on big endian - -------------------------------------------------------------------- -Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de - -- Use Obsolete/Provides strategy from - windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap - cycle and kick out -mini afterwards. - -------------------------------------------------------------------- -Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 224 -* systemd-networkd gained a number of new configuration options - for DHCP, tunnels and bridges -* systemd-efi-boot-generator functionality was merged into - systemd-gpt-auto-generator. - -------------------------------------------------------------------- -Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com - -- /usr/share/systemd/kbd-model-map: added entries for - xkeyboard-config converted keymaps; mappings, which already - exist in original systemd mapping table are being ignored - though, i.e. not overwritten; needs kbd in buildrequires - (FATE#318426) - -------------------------------------------------------------------- -Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com - -- hostname-NULL.patch: Work around a crash on XEN hosts - in OBS. /etc/hostname is not present and systemd then does - strchr(hostname,soemthing) with hostname NULL. - -------------------------------------------------------------------- -Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de - -- Add Correct_assert_on_unexpected_error_code.patch to work around - a problem of an assert on ENODEV for closing fd on an input - event device (boo#939571) - -------------------------------------------------------------------- -Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de - -- Remove udev-generate-rules.sh, apparently not used by anything in - the systemd nor udev-persistent-ifnames package. - -------------------------------------------------------------------- -Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org - -- Systemd v222, bugfix release. -- Drop upstream patches -0006-pam_systemd-Properly-check-kdbus-availability.patch -0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch -0031-install-fix-bad-memory-access.patch -1032-ata_id-unbotch-format-specifier.patch -- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch - udev does no longer enable USB HID power management at all. -- The udev accelerometer helper was removed, obsoleted by - iio-sensor-proxy package. -- networkd gained a new configuration option IPv6PrivacyExtensions. -- udev does not longer support the WAIT_FOR_SYSFS= key in udev - rules. There are no known issues with current sysfs, - and udev does not need or should be used to work around such bugs. - -------------------------------------------------------------------- -Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de - -- Avoid restarting logind [bnc#934901] -- Do not suppress errors in any case, even if they are ignored - -------------------------------------------------------------------- -Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix devel package requires (both mini and real required real libsystemd0) - -------------------------------------------------------------------- -Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de - -- Rework patch tty-ask-password-agent-on-console.patch to fit the - requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 - -------------------------------------------------------------------- -Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de - -- Rework "-mini" package logic to not conflict with itself and - then add libsystemd0 to mini. - -------------------------------------------------------------------- -Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org - -- remove SysVStartPriority= from after-local.service, - unsupported since v218. - Note that this option was only parsed and that's it. the logic - to give "start priority" was never implemented. - -------------------------------------------------------------------- -Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org - -- change the default fallback ntp servers to the opensuse - pool.ntp.org vendor zone. -- We still need to run systemd-sysctl.service after local-fs.target - otherwise it works only when /boot is in the root filesystem but - not when it is a separate partition. - -------------------------------------------------------------------- -Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com - -- Obsolete pm-utils and suspend (boo#925873). -- Remove pm-utils support - (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). - -------------------------------------------------------------------- -Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org - -- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch - from the filelist. - -------------------------------------------------------------------- -Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org - -- libpcre, glib2 and libusb are not used by systemd, remove - from buildrequires. - -------------------------------------------------------------------- -Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org - -- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id - output. -- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch - fix StopWhenUnneeded=true in combination with a Requisite= - dependency. -- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access -- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if - kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS - must not be exported. -- spec: add a min_kernel_version macro to ensure the package - conflicts with kernel versions in which systemd cannot run. - -------------------------------------------------------------------- -Wed Jun 24 20:06:27 UTC 2015 - crrodriguez@opensuse.org - -- sysctl-handle-boot-sysctl.conf-kernel_release.patch dropped, - replaced by a tmpfiles.d snippet "current-kernel-sysctl.conf" - (feature implemented in v220 just for our usecase) - -------------------------------------------------------------------- -Wed Jun 24 19:45:17 UTC 2015 - crrodriguez@opensuse.org - -- fix build when resolved is enabled -- remove fsck -l test in spec file, systemd requires util-linux - 2.26 or later where this feature is already available. - -------------------------------------------------------------------- -Wed Jun 24 17:43:22 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix bootstrap build by guarding filelists (man pages don't get - built in bootstrap mode) -- Drop commented sections from baselibs.conf, allows format_spec_file - to have a successful run - -------------------------------------------------------------------- -Wed Jun 24 14:17:04 UTC 2015 - mpluskal@suse.com - -- Install 50-coredump.conf as coredumpctl is now installed by - default and does not use journal anymore as default storage - -------------------------------------------------------------------- -Fri Jun 19 20:51:14 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 221 -* From 220: -* libgudev was moved into a package of its own -* Runlevels 2, 3 and 4 are no longer distinct, they all map to - multi-user.target. -* The EFI System Partition mounted to /boot will be unmounted - 2 minutes after boot. -* systemd does not support direct live-upgrades (via `systemctl - daemon-reexec`) from versions older than v44 anymore. -* systemd-nspawn may now be called as part of a shell pipeline. -* systemd-shutdownd has been removed. This service was - previously responsible for implementing scheduled shutdowns - as exposed in /usr/bin/shutdown's time parameter. This - functionality has now been moved into systemd-logind and is - accessible via a bus interface. -* udev will no longer call blkid and create symlinks for all - block devices, but merely those from a whitelist - (cf. 60-persistent-storage.rules). -* /usr/lib/os-release gained a new optional field VARIANT= -* Details at - http://lists.freedesktop.org/archives/systemd-devel/2015-May/032147.html -* From 221: -* New sd-bus and sd-event APIs in libsystemd -* If there is both a systemd unit and a SysV init script for the - same service name, and `systemctl enable` or other operation is - run, both will now be enabled (or execute the related operation - on both), not just the unit. -- Split libsystemd0 to support systemd-less nspawn containers -- Redo manpage file lists without %exclude, tends to hide - unpackaged files. -- hwdb belongs to udev -- Resolve memory leak and add missing _cleanup_free_ to - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -- Remove systemd-powerd-initctl-support.patch - (no longer builds because shutdownd is gone) -- Remove quilt-patches/0001-core-rework-device-state-logic.patch, - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (merged upstream), - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (obsolete) - -------------------------------------------------------------------- -Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de - -- Remove libudev0 from baselibs.conf - -------------------------------------------------------------------- -Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de - -- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - as now upstream code -- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix - bsc#933365 and boo#934077 - -------------------------------------------------------------------- -Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com - -- Add 1098-systemd-networkd-alias-network-service.patch to alias - network.service the same way NetworkManager and wicked does. - This is needed by yast2 and other parts of the system. boo#933092 - -------------------------------------------------------------------- -Mon May 18 14:39:47 UTC 2015 - werner@suse.de - -- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use - the new return values of proc_cmdline() in enable_name_policy() - this should fix boo#931165 - -------------------------------------------------------------------- -Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de - -- Drop 1021-udev-re-add-persistent-net-rules.patch, - 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, - 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, - 1046-fix-duplicated-rules-with-layer3-interfaces.patch, - 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, - 1051-check-if-NAME-has-a-value.patch, - 1053-better-checks-in-write_net_rules.patch, - 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. - 1021 originally broke parsing of net.ifnames=0 [bnc#931165], - and given that neither the kernel command line needs to be - touched nor the source be patched to reach the unpredictable - naming setup for SLE, all these parts are moved to a separate - package. - -------------------------------------------------------------------- -Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de - -- Add upstream patch - 0001-core-don-t-change-removed-devices-to-state-tentative.patch - to fix the fix of the last backport (bsc#921898) - -------------------------------------------------------------------- -Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de - -- Reenable networkd which was silently disabled on Feb 18 - -------------------------------------------------------------------- -Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de - -- Add 0001-core-rework-device-state-logic.patch to fix spurious - automated umount after mount. - -------------------------------------------------------------------- -Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com - -- mark more subpackages as !bootstrap for systemd-mini usage. - -------------------------------------------------------------------- -Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org - -- spec : remove --with-firmware-path, firmware loader was removed in v217 -- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) -- spec: Do not enable systemd-readahead-collect.service and -systemd-readahead-replay.service as these do not exist anymore. -- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch - Yast was fixed to write all timezone changes exactly how timedated expects - things to be done. -- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg - package handles the migration from /etc/HOSTNAME to /etc/hostname - and owns both files. --spec: remove boot.udev and systemd-journald.init as they currently - serve no purpose. -- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we - are in sysvcompat-only codepath, also remove the code targetting other - distributions, never compiled as the TARGET_$DISTRO macros are never defined. -- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT -- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards -- insserv-generator.patch: Only build when sysvcompat is enabled -- vhangup-on-all-consoles.patch add a comment indicating this is a workaround - for a kernel bug. -- spec: Add option to allow disabling sysvinit compat at build time. -- spec: Add option to enable resolved at build time. -- spec: Remove all %ifs for !factory products, current systemd releases can - neither be built nor installed in older products without upgrading - several components of the base system. - (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) -- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when - those init scripts still existed. (dummy localfs.service source: gone) -- systemd-sleep-grub: moved to the grub2 package where it belongs as a - suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) -- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds - config.h everywhere in the preprocessor cmdline. - -------------------------------------------------------------------- -Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 219 -* systemd units can now be "unsupported" (like, for example, - .device in a containers), similar to the "skipped" state in - SUSE's prior sysvinit scripts. -* tmpfiles gained the 'v' type for creating btrfs subvolumes. -* tmpfiles gained the 'a' type for setting ACLs. -* systemd-nspawn gained new switches: --ephemeral, --template -* The /var/lib/containers location is deprecated and replaced by - /var/lib/machines. -* machinectl gained the copy-from and copy-to commands. -* machinectl now knows a "bind" command (for use with nspawn) -* new "systemd-importd" daemon to download container images and run - them as nspawn containers. -* networkd collects LLDP network announcements, if available, and - so shown in networkctl. -* The fallback terminal type was changed from "vt102" to "vt220", - allowing PgUp/PgDn keys to work. -* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, - useful should the regular shutdown hang. -* Removing storage will cause systemd to unmount the associated - mountpoints so that they don't linger around. - -------------------------------------------------------------------- -Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de - -- Add suse-sysv-bootd-support.diff (reinstate old - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) - -------------------------------------------------------------------- -Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de - -- Update to systemd v218-1050-g38ab096 -- Remove patches - use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) -- Reinstate and improve (remove huge indents from) - tty-ask-password-agent-on-console.patch, - 0014-journald-with-journaling-FS.patch, rootsymlink_generator. - -------------------------------------------------------------------- -Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com - -- disable systemd-resolved for now as it interacts not well with - our methods and security has concerns regarding spoofing. bsc#917781 - -------------------------------------------------------------------- -Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - -- Add patch kbd-model-map.patch to add missed keyboard layouts - which are offered by YaST2 (bsc#910643 and boo#897803) - -------------------------------------------------------------------- -Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 218 -* New utilities: systemd-timesyncd (SNTP client), - systemd-resolved, systemd-networkd, networkctl, - systemd-sysusers -* machinectl gained a "poweroff" command for clean container shutdown -* The udev hwdb now contains DPI information for mice. -* Userspace firmware loading support has been removed and - the minimum supported kernel version is thus bumped to 3.7. -- Remove patches: - G=gone locally, is upstream; - D=dropped: no longer needed; - N=no longer applies to source nor is it deemed needed; - K=killed: no longer applicable and too complex to resolve: - ---- - G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch - K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch - K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch - K handle-SYSTEMCTL_OPTIONS-environment-variable.patch - K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - K log-target-null-instead-kmsg.patch - K tty-ask-password-agent-on-console.patch - K 513-nspawn-veth.patch - K 1087-infinit-timeout-for-kmod-loaded-modules.patch - D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - D avoid-leaking-socket-descriptors.patch - D 0001-make-fortify-happy-with-ppoll.patch - N fix-owner-of-var-log-btmp.patch - N disable-nss-myhostname-warning-bnc-783841.patch - N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch - N 0001-make-209-working-on-older-dist.patch - N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - N tmpfiles-do-not-clean-for-mandb-index-files.patch - G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc - G optionally-warn-if-nss-myhostname-is-called.patch - G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - G 0004-getty-generator-properly-escape-instance-names.patch - G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - G 0008-Reset-signal-mask-on-re-exec-to-init.patch - G 0001-login-fix-pos-array-allocation.patch - G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch - G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - G 0005-Replace-var-run-with-run-in-remaining-places.patch - G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch - G 0007-README-document-that-var-run-must-be-a-symlink-run.patch - G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch - G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch - G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - G 0001-Fix-systemd-stdio-bridge-symlink.patch - G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - G 0004-man-document-missing-options-of-systemd-run.patch - G 0005-systemd-run-add-some-extra-safety-checks.patch - G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - G 0007-journal-forget-file-after-encountering-an-error.patch - G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - G 0010-man-update-link-to-LSB.patch - G 0011-man-systemd-bootchart-fix-spacing-in-command.patch - G 0012-man-add-missing-comma.patch - G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - G 0002-manager-flush-memory-stream-before-using-the-buffer.patch - G 0003-busname-don-t-drop-service-from-the-result-string.patch - G 0004-fix-off-by-one-error-in-array-index-assertion.patch - G 0005-logind-fix-policykit-checks.patch - G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - G 0007-networkd-fix-typo.patch - G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - G 0012-journald-remove-stray-reset-of-error-return-value.patch - G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - G 0005-sd-daemon-fix-incorrect-variable-access.patch - G 0006-sd-event-initialization-perturbation-value-right-bef.patch - G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch - G 0001-journal-fix-export-of-messages-containing-newlines.patch - G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - G 0003-tty-ask-password-agent-return-negative-errno.patch - G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - G 0005-systemd-python-fix-failing-assert.patch - G 0007-dbus-suppress-duplicate-and-misleading-messages.patch - G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - G 0001-bash-completion-fix-__get_startable_units.patch - G 0002-sysctl-replaces-some-slashes-with-dots.patch - G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - G 0004-implement-a-union-to-pad-out-file_handle.patch - G shut-up-annoying-assertion-monotonic-clock-message.patch - G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - G 0003-analyze-fix-plot-with-bad-y-size.patch - G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - G 0002-backlight-do-nothing-if-max_brightness-is-0.patch - G 0003-backlight-unify-error-messages.patch - G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - G 0001-core-close-socket-fds-asynchronously.patch - G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - G 0002-logind-fix-printf-format.patch - G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - G 0008-man-update-journald-rate-limit-defaults.patch - G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - G 0010-logind-allow-suspending-if-there-are-no-displays.patch - G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - G 0002-man-note-that-entire-sections-can-now-be-ignored.patch - G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - G 0006-login-add-mir-to-the-list-of-session-types.patch - G 0007-logind-fix-Display-property-of-user-objects.patch - G 0001-hwdb-update.patch - G 0002-hwdb-update.patch - G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - G 0004-hwdb-update.patch - G 0005-hwdb-update.patch - G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - G 0002-journal-properly-detect-language-specified-in-line.patch - G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - G 0002-nspawn-restore-journal-directory-is-empty-check.patch - G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - G 0004-socket-properly-handle-if-our-service-vanished-durin.patch - G 0001-Do-not-unescape-unit-names-in-Install-section.patch - G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - G 0001-virt-rework-container-detection-logic.patch - G 0002-fsck-include-device-name-in-the-message-about-missin.patch - G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - G 0004-util-ignore_file-should-not-allow-files-ending-with.patch - G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch - G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch - G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - G 0001-hwdb-fix-case-sensitive-match.patch - G 0001-sd-event-restore-correct-timeout-behaviour.patch - G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - G 0001-umount-modernizations.patch - G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - G 0003-core-allow-transient-mount-units.patch - G 0004-systemd-detect-virt-only-discover-Xen-domU.patch - G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - G 0001-core-fix-invalid-free-in-killall.patch - G 0003-install-fix-invalid-free-in-unit_file_mask.patch - G 0001-systemd-detect-virt-detect-s390-virtualization.patch - G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - G 0005-po-add-Greek-translation.patch - G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0007-po-add-German-translation.patch - G 0009-core-clean-up-signal-reset-logic-when-reexec.patch - G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - G 0012-core-transaction-avoid-misleading-error-message-when.patch - G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - G 0005-man-fix-path-in-crypttab-5.patch - G 0001-units-order-network-online.target-after-network.targ.patch - G 0001-core-use-correct-format-string-for-UIDs.patch - G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - G 0002-journald-make-MaxFileSec-really-default-to-1month.patch - G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - G 0001-parse_uid-return-ENXIO-for-1-uids.patch - G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - G 0003-localed-consider-an-unset-model-as-a-wildcard.patch - G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - G 0005-bus-close-a-bus-that-failed-to-connect.patch - G 0006-hwdb-update.patch - G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-architecture-Add-tilegx.patch - G 0002-architecture-Add-cris.patch - G 0003-arch-add-crisv32-to-uname-check.patch - G 0004-architecture-remove-cris-from-uname-list.patch - G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - G 0002-namespace-fix-uninitialized-memory-access.patch - G 0001-machine-don-t-return-uninitialized-variable.patch - G 0002-vconsole-setup-run-setfont-before-loadkeys.patch - G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - G 0007-service-flush-status-text-and-errno-values-each-time.patch - G 0001-journal-compress-return-early-in-uncompress_startswi.patch - G 0002-journal-compress-improve-xz-compression-performance.patch - G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch - G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - G 0001-event-pull-in-sd-event.h-from-event-util.h.patch - G 0002-util-fix-has-cc-check-and-add-test.patch - G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - G 0004-fileio-quote-more-shell-characters-in-envfiles.patch - G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - G 0002-units-serial-getty-.service-use-the-default-RestartS.patch - G 0001-po-add-Ukrainian-translation.patch - G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - G 0001-detect-virt-Fix-Xen-domU-discovery.patch - G 0002-Be-more-verbose-when-bind-or-listen-fails.patch - G 0003-Add-quotes-to-warning-message.patch - G 0004-systemd-return-the-first-error-from-manager_startup.patch - G 0001-bash-completion-p-option-for-journalctl.patch - G 0002-journalctl-man-allow-only-between-terms.patch - G 0003-systemd-use-pager-for-test-and-help.patch - G 0001-bus-proxyd-fix-incorrect-comparison.patch - G 0002-shell-completion-prevent-mangling-unit-names.patch - G 0003-Always-check-asprintf-return-code.patch - G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - G 0006-parse_boolean-require-exact-matches.patch - G 0007-drop_duplicates-copy-full-BindMount-struct.patch - G 0008-shell-completion-prevent-mangling-unit-names-bash.patch - G 0009-journald-always-add-syslog-facility-for-messages-com.patch - G 0001-sysv-order-initscripts-which-provide-network-before-.patch - G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - G 0003-keymap-Annotate-all-micmute-workarounds.patch - G 0007-hwdb-update.patch - G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - G 0002-switch-root-umount-the-old-root-correctly.patch - G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - G 0006-login-share-VT-signal-handler-between-sessions.patch - G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - G 0003-keymap-Fix-HP-Pavillon-DV7.patch - G 0004-hwdb-update-format-description-and-document-reloadin.patch - G 0008-hwdb-update.patch - G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - G 0001-login-fix-memory-leak-on-DropController.patch - G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - G 0001-nspawn-fix-network-interface.patch - G 0001-completion-filter-templates-from-restartable-units.patch - G 0002-systemd-fix-error-message.patch - G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - G 0004-config-parser-fix-mem-leak.patch - G 0005-login-fix-mem-leak.patch - G 0001-login-simplify-controller-handling.patch - G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0009-hwdb-update.patch - G 0001-systemctl-allow-to-change-the-default-target-without.patch - G 0001-activate-fix-fd-leak-in-do_accept.patch - G 0002-analyze-avoid-a-null-dereference.patch - G 0003-analyze-fix-mem-leak.patch - G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - G 0006-bus-unref-buscreds-on-failure.patch - G 0007-core-fix-a-potential-mem-leak.patch - G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - G 0009-journal-do-not-leak-mmaps-on-OOM.patch - G 0010-manager-use-correct-cleanup-function.patch - G 0001-core-fix-resource-leak-in-manager_environment_add.patch - G 0002-util-remove-a-unnecessary-check.patch - G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - G 0004-shared-conf-parser.patch - G 0005-logind-fix-typo.patch - G 0006-systemctl-fix-resource-leak-CID-1237747.patch - G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - G 0003-mount-order-options-before-other-arguments-to-mount.patch - G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - G 0005-shared-label.h-add-missing-stdio.h-include.patch - G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - G 0001-login-pause-devices-before-acknowledging-VT-switches.patch - G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - G 0001-socket-introduce-SELinuxContextFromNet-option.patch - G 0002-util-avoid-non-portable-__WORDSIZE.patch - G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - G 0002-bus-remove-unused-check.patch - G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - G 0001-logind-add-support-for-Triton2-Power-Button.patch - G 0002-logind-add-support-for-TPS65217-Power-Button.patch - G 0001-shutdownd-clean-up-initialization-of-struct.patch - G 0003-bootchart-parse-userinput-with-safe_atoi.patch - G 0004-bootchart-check-return-of-strftime.patch - G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - G 0001-journalctl-do-not-output-reboot-markers-when-running.patch - G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - G 0003-fileio-label-return-error-when-writing-fails.patch - G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - G 0004-sd-event-check-the-value-of-received-signal.patch - G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - G 0003-sd-bus-check-return-value-of-vasprintf.patch - G 0004-core-map-the-rescue-argument-to-rescue.target.patch - G 0005-util-avoid-double-close-of-fd.patch - G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - G 0001-tmpfiles-compare-return-against-correct-errno.patch - G 0001-shell-completion-fix-completion-of-inactive-units.patch - G 0002-shell-completion-propose-templates-for-disable-re-en.patch - G 0003-man-we-don-t-have-Wanted-dependency.patch - G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - G 0001-systemd-continue-switch-root-even-if-umount-fails.patch - G 0002-systemd-try-harder-to-bind-to-notify-socket.patch - G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - G 0004-journal-do-server_vacuum-for-sigusr1.patch - G 0005-cryptsetup-fix-an-OOM-check.patch - G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch - G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - G 0005-journalctl-correct-help-text-for-until.patch - G 0006-calendarspec-fix-typo-in-annually.patch - G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - G 0008-util-introduce-sethostname_idempotent.patch - G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch - G 0012-manager-do-not-print-anything-while-passwords-are-be.patch - G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - G 0002-snapshot-return-error-when-snapshot-exists.patch - G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - G 0004-Raise-level-of-Found-dependency.-lines.patch - G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - G 0006-journald-fix-minor-memory-leak.patch - G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - G 0008-journald-fix-memory-leak-on-error-path.patch - G 0009-units-make-systemd-journald.service-Type-notify.patch - G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - G 0001-systemctl-let-list-units-unit-files-honour-type.patch - G 0002-systemctl-obey-state-in-list-unit-files.patch - G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - G 0001-selinux-access-fix-broken-ternary-operator.patch - G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - G 0004-core-fix-transaction-destructiveness-check-once-more.patch - G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch - G 1009-cdrom_id-use-the-old-MMC-fallback.patch - G 1010-udev-increase-result-size-for-programs.patch - G 1014-udev-update-net_id-comments.patch - G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - G 1017-udev-serialize-synchronize-block-device-event-handli.patch - G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - G 1019-udev-avoid-use-of-uninitialized-err.patch - G 1020-udev-keyboard-also-hook-into-change-events.patch - G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - G 1024-udev-always-close-lock-file-descriptor.patch - G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - G 1026-udevd-inotify-modernizations.patch - G 1027-udev-synthesize-change-events-for-partitions-when-to.patch - G 1028-udev-link-config-fix-mem-leak.patch - G 1029-udev-try-first-re-reading-the-partition-table.patch - G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - G 1033-udev-really-exclude-device-mapper-from-block-device.patch - G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - G 1038-udev-fix-invalid-free-in-enable_name_policy.patch - G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch - G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch - G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - G 1044-rules-update-qemu-hid-rules.patch - G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - G 1048-udev-net_setup_link-add-a-bit-more-logging.patch - G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - G 1056-udevd-add-event-timeout-commandline-option.patch - G 1057-udev-unify-event-timeout-handling.patch - G 1058-udev-unify-event-timeout-handling.patch - G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - G 1065-udev-bump-event-timeout-to-60-seconds.patch - G 1067-udev-always-resolve-correctly-database-names-on-chan.patch - G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - G 1070-rules-net-setup-link-remove-stray-linebreak.patch - G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - G 1072-udev-netif_rename-don-t-log-to-kmsg.patch - G 1073-udev-drop-print_kmsg.patch - G 1074-udev-fix-copy-paste-error-in-log-message.patch - G 1075-udev-timeout-increase-timeout.patch - G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1078-udev-remove-userspace-firmware-loading-support.patch - G 1079-udev-remove-userspace-firmware-loading-support.patch - G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - G 1081-udevd-check-return-of-various-functions.patch - G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - G 1083-udev-node-warn-if-chmod-chown-fails.patch - G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - G 1085-udev-fix-typos.patch - G 1086-udevd-don-t-fail-if-run-udev-exists.patch - G 1089-fix-cgroup-device-controller.patch - G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - G 1091-udev-path_id-update-comments.patch - G 1092-libudev-do-not-accept-invalid-log-levels.patch - G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com - -- update set-and-use-default-logconsole.patch - fix comparison of - console log facility that caused journald to skip output to console - (boo#912030) - -------------------------------------------------------------------- -Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de - -- Use Robert's latest patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which drops NAMEPOLICY_KERNEL as this breaks all on current - systems out there - -------------------------------------------------------------------- -Wed Dec 17 14:57:42 UTC 2014 - thomas.blume@suse.com - -- remove 0022-systemd-tmpfiles-ownerkeep.patch since this is now - implemented into the systemd-tmpfiles binary -- add user based ignore statements in tmpfiles removal directives - (bnc#903009) - add systemd-add-user-keep.patch - -------------------------------------------------------------------- -Tue Dec 16 09:45:38 UTC 2014 - thomas.blume@suse.com - -- use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) - add upstream patches: - 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - 0002-man-tmpfiles.d-recommend-using-b-and-c.patch (adapted) - -------------------------------------------------------------------- -Tue Dec 16 08:59:08 UTC 2014 - werner@suse.de - -- Update patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - to Robert's version - -------------------------------------------------------------------- -Mon Dec 15 15:02:22 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-selinux-access-fix-broken-ternary-operator.patch - 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - 0004-core-fix-transaction-destructiveness-check-once-more.patch -- Avoid old net devices naming scheme on openSUSE 13.2 and less - maybe caused by patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com - -- fix systemd-nspawn network-veth support (bnc#906709) - add 513-nspawn-veth.patch - -------------------------------------------------------------------- -Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de - -- Add upstream patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which may solve bsc#907318 - -------------------------------------------------------------------- -Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - -------------------------------------------------------------------- -Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com - -- Change the maximum number of children from CPU_COUNT * 256 to - CPU_COUNT * 64. - Update 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Thu Nov 27 20:30:35 UTC 2014 - rmilasan@suse.com - -- Increase number of children/workers to CPU_COUNT * 256 to avoid - 'maximum number of children reached' (bnc#907393). - Add 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com - -- Fix error return in rootsymlink_generator.c - Update 1096-new-udev-root-symlink-generator.patch - -------------------------------------------------------------------- -Fri Nov 21 13:35:40 UTC 2014 - werner@suse.de - -- Remove upstream patch - 0001-systemd-logind.service-set-Type-notify.patch - as systemd-logind.service is already from DBus type, compare with - upstream commit eab459bc0639b81b32735f36d3e929e4bfa2cb4b - -------------------------------------------------------------------- -Thu Nov 20 13:45:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-logind.service-set-Type-notify.patch - 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - -------------------------------------------------------------------- -Thu Nov 20 12:18:57 UTC 2014 - werner@suse.de - -- Re-add directory /usr/lib/systemd/system/basic.target.wants - -------------------------------------------------------------------- -Wed Nov 19 15:07:43 UTC 2014 - gber@opensuse.org - -- remove pm-utils-hooks-compat.sh again, pm-utils built-in hooks - partially duplicate hooks run by systemd which may potentially - lead to problems, instead temporarily re-enable - Forward-suspend-hibernate-calls-to-pm-utils.patch until - boo#904828 can be addressed properly - -------------------------------------------------------------------- -Wed Nov 19 00:58:00 UTC 2014 - Led - -- fix bashisms in write_net_rules script -- update patches: - * 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Tue Nov 18 10:26:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-let-list-units-unit-files-honour-type.patch - 0002-systemctl-obey-state-in-list-unit-files.patch - which allows to use --type in the systemctl command list-units - and list-unit-files. - -------------------------------------------------------------------- -Tue Nov 18 10:10:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - -------------------------------------------------------------------- -Thu Nov 13 14:47:17 UTC 2014 - rmilasan@suse.com - -- New root symlink rule generator - Add 1096-new-udev-root-symlink-generator.patch -- Remove write_dev_root_rule and systemd-udev-root-symlink - -------------------------------------------------------------------- -Thu Nov 13 12:59:05 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip hdflush as well as hddown but only use halt as fallback - for poweroff as well as synch in systemctl before any reboot command - (compare with commit 4a3ad39957399c4a30fc472a804e72907ecaa4f9) - -------------------------------------------------------------------- -Thu Nov 13 09:54:35 UTC 2014 - rmilasan@suse.com - -- Create rule to set I/O scheduler to deadline if device attribute - 'rotational' equals 0, usually SSDs (bnc#904517). - Add 1095-set-ssd-disk-to-use-deadline-scheduler.patch - -------------------------------------------------------------------- -Thu Nov 13 07:50:49 UTC 2014 - thomas.blume@suse.com - -- fix systemd-fstab-generator crypttab parsing (bnc#903963) - -------------------------------------------------------------------- -Tue Nov 11 19:10:35 UTC 2014 - gber@opensuse.org - -- Add pm-utils-hooks-compat.sh in order to run pm-utils sleep hooks - from systemd (boo#904828) - -------------------------------------------------------------------- -Mon Nov 10 14:23:00 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - -------------------------------------------------------------------- -Mon Nov 10 12:39:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - 0002-snapshot-return-error-when-snapshot-exists.patch - 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - 0004-Raise-level-of-Found-dependency.-lines.patch - 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - 0006-journald-fix-minor-memory-leak.patch - 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - 0008-journald-fix-memory-leak-on-error-path.patch - 0009-units-make-systemd-journald.service-Type-notify.patch - 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Mon Nov 10 12:36:34 UTC 2014 - werner@suse.de - -- Add upstream patches - 1092-libudev-do-not-accept-invalid-log-levels.patch - 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - -------------------------------------------------------------------- -Fri Nov 7 09:45:20 UTC 2014 - werner@suse.de - -- Add patch watch_resolv.conf_for_become_changed.patch to add an - inotify watch on /etc/resolv.conf which enables the reload of - a changed resolver configuration on the fly (bsc#902901) -- Do not apply patch 0022-systemd-tmpfiles-ownerkeep.patch in case - if the script /usr/bin/systemd-tmpfiles-keep is missed - -------------------------------------------------------------------- -Mon Nov 3 14:23:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - -------------------------------------------------------------------- -Mon Nov 3 14:17:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - 1091-udev-path_id-update-comments.patch - which will be applied if patch - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - is applied a this may fix the trouble with iSCSI (bnc#898233) - -------------------------------------------------------------------- -Thu Oct 30 10:45:01 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - 0005-journalctl-correct-help-text-for-until.patch - 0006-calendarspec-fix-typo-in-annually.patch - 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - 0008-util-introduce-sethostname_idempotent.patch - 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -- Replace patch - keep-crypt-password-prompt.patch as this with - upstream patch - 0012-manager-do-not-print-anything-while-passwords-are-be.patch - -------------------------------------------------------------------- -Fri Oct 24 13:02:45 UTC 2014 - werner@suse.de - -- Add upstream patch - 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -- Add patch journald-advice-about-use-of-memory.patch to use mmap() - flags as well as madvise(2) for journal files. - -------------------------------------------------------------------- -Thu Oct 23 14:05:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - 0004-journal-do-server_vacuum-for-sigusr1.patch - 0005-cryptsetup-fix-an-OOM-check.patch - -------------------------------------------------------------------- -Wed Oct 22 13:56:22 UTC 2014 - werner@suse.de - -- Add upstream patch 1089-fix-cgroup-device-controller.patch - to avoid trouble on existing /dev/console with nspawn (bsc#902240) - -------------------------------------------------------------------- -Tue Oct 21 11:03:31 UTC 2014 - werner@suse.de - -- Modify patch avoid-leaking-socket-descriptors.patch to close - file descriptors for incomming connections in pam module in case - of short memory. - -------------------------------------------------------------------- -Mon Oct 20 14:10:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-continue-switch-root-even-if-umount-fails.patch - 0002-systemd-try-harder-to-bind-to-notify-socket.patch -- Add patch avoid-leaking-socket-descriptors.patch to close - file descriptors if an incomming connection can not be handled - due e.g. short memory. Could be related to bsc #901481 - -------------------------------------------------------------------- -Wed Oct 15 12:03:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-shell-completion-fix-completion-of-inactive-units.patch - 0002-shell-completion-propose-templates-for-disable-re-en.patch - 0003-man-we-don-t-have-Wanted-dependency.patch - 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - -------------------------------------------------------------------- -Wed Oct 15 08:48:36 UTC 2014 - werner@suse.de - -- Adapt patch - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - to make it work even with patch #438 and #439 - -------------------------------------------------------------------- -Tue Oct 14 16:23:51 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - 0001-tmpfiles-compare-return-against-correct-errno.patch - -------------------------------------------------------------------- -Tue Oct 14 16:19:42 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - 0003-sd-bus-check-return-value-of-vasprintf.patch - 0004-core-map-the-rescue-argument-to-rescue.target.patch - 0005-util-avoid-double-close-of-fd.patch - -------------------------------------------------------------------- -Tue Oct 14 16:18:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - 0003-fileio-label-return-error-when-writing-fails.patch - 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - 0004-sd-event-check-the-value-of-received-signal.patch - 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - -------------------------------------------------------------------- -Tue Oct 14 14:46:58 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue Oct 14 14:16:52 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journalctl-do-not-output-reboot-markers-when-running.patch - 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - -------------------------------------------------------------------- -Tue Oct 14 13:58:45 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-logind-add-support-for-Triton2-Power-Button.patch - 0002-logind-add-support-for-TPS65217-Power-Button.patch -- Add upstream patches - 0001-shutdownd-clean-up-initialization-of-struct.patch - 0003-bootchart-parse-userinput-with-safe_atoi.patch - 0004-bootchart-check-return-of-strftime.patch - 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - -------------------------------------------------------------------- -Thu Oct 2 07:21:42 PDT 2014 - lduncan@suse.com - -- Revert patch 1063, which incorrectly disallows - /dev/disk/by-path links for iSCSI (and other) - devices. Will be corrected and re-added once - upstream is consulted. (bnc#898233). Disable: - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patc - -------------------------------------------------------------------- -Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - for bsc#893797 - -------------------------------------------------------------------- -Fri Sep 26 09:34:22 UTC 2014 - rmilasan@suse.com - -- Drop renaming virtual interfaces in a guest (bnc#898432). - Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch - -------------------------------------------------------------------- -Thu Sep 25 14:08:35 UTC 2014 - werner@suse.de - -- Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch - to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch - and apply this one - -------------------------------------------------------------------- -Thu Sep 25 13:45:46 UTC 2014 - werner@suse.de - -- Change patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - to fix bsc#898240 - -------------------------------------------------------------------- -Thu Sep 25 09:06:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - 0002-bus-remove-unused-check.patch - -------------------------------------------------------------------- -Wed Sep 24 15:05:49 UTC 2014 - werner@suse.de - -- Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to - be able to avoid killing a running kmod/modprobe (bnc#889297) - -------------------------------------------------------------------- -Wed Sep 24 08:36:42 UTC 2014 - werner@suse.de - -- Update patch 0001-bnc888612-logind-polkit-acpi.patch - -------------------------------------------------------------------- -Wed Sep 24 07:47:54 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-pause-devices-before-acknowledging-VT-switches.patch - May help that history of the shell is saved - 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) - 0002-util-avoid-non-portable-__WORDSIZE.patch - -------------------------------------------------------------------- -Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de - -- Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic - to solve bnc#888612 - AUDIT-0: Power button press at gdm login - should not prompt for credentials - -------------------------------------------------------------------- -Fri Sep 19 11:36:48 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - 0005-shared-label.h-add-missing-stdio.h-include.patch - 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - 1081-udevd-check-return-of-various-functions.patch - 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - 1083-udev-node-warn-if-chmod-chown-fails.patch - 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - 1085-udev-fix-typos.patch - 1086-udevd-don-t-fail-if-run-udev-exists.patch - -------------------------------------------------------------------- -Thu Sep 18 13:21:45 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-core-fix-resource-leak-in-manager_environment_add.patch - 0002-util-remove-a-unnecessary-check.patch - 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - 0004-shared-conf-parser.patch - 0005-logind-fix-typo.patch - 0006-systemctl-fix-resource-leak-CID-1237747.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -- Remove 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch as - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - is the upstream solution - -------------------------------------------------------------------- -Wed Sep 17 16:02:33 UTC 2014 - werner@suse.de - -- Add patch 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch to - fix for the size of the gcc builtin type bool also known as _Bool - from the include header stdbool.h. - -------------------------------------------------------------------- -Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de - -- Add upstream patches as real fixes - 0001-activate-fix-fd-leak-in-do_accept.patch - 0002-analyze-avoid-a-null-dereference.patch - 0003-analyze-fix-mem-leak.patch - 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - 0006-bus-unref-buscreds-on-failure.patch - 0007-core-fix-a-potential-mem-leak.patch - 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - 0009-journal-do-not-leak-mmaps-on-OOM.patch - 0010-manager-use-correct-cleanup-function.patch -- Intergrate the work of Robert and rename the patch - 1068-udev-remove-userspace-firmware-loading-support.patch - to 1078-udev-remove-userspace-firmware-loading-support.patch - Also add patch - 1079-udev-remove-userspace-firmware-loading-support.patch - to apply the same change for opensuse 13.2 and above - -------------------------------------------------------------------- -Tue Sep 16 10:21:02 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemctl-allow-to-change-the-default-target-without.patch - to allow to override default target without --force (bnc#896664) - -------------------------------------------------------------------- -Tue Sep 16 09:10:52 UTC 2014 - werner@suse.de - -- Add upstream patches for udev - 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - 1070-rules-net-setup-link-remove-stray-linebreak.patch - 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - 1072-udev-netif_rename-don-t-log-to-kmsg.patch - 1073-udev-drop-print_kmsg.patch - 1074-udev-fix-copy-paste-error-in-log-message.patch - 1075-udev-timeout-increase-timeout.patch (bnc#889297) - 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - -------------------------------------------------------------------- -Tue Sep 16 07:55:37 UTC 2014 - rmilasan@suse.com - -- udev: remove userspace firmware loading support (bnc#889297). - Add 1068-udev-remove-userspace-firmware-loading-support.patch - -------------------------------------------------------------------- -Sat Sep 13 13:35:33 UTC 2014 - rmilasan@suse.com - -- udev: always resolve correctly database names on 'change' event (bnc#864745). - Add 1067-udev-always-resolve-correctly-database-names-on-chan.patch - -------------------------------------------------------------------- -Tue Sep 9 14:36:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0009-hwdb-update.patch - -------------------------------------------------------------------- -Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de - -- Disable patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - for SLES-12 as well as for openSUSE-13.2 (bnc#895087) - -------------------------------------------------------------------- -Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com - -- udev: add option to generate old 'buggy' serials (bnc#886852) - Add 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch - -------------------------------------------------------------------- -Tue Sep 2 09:14:03 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-login-simplify-controller-handling.patch - -------------------------------------------------------------------- -Mon Sep 1 13:00:29 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-completion-filter-templates-from-restartable-units.patch - 0002-systemd-fix-error-message.patch - 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - 0004-config-parser-fix-mem-leak.patch - 0005-login-fix-mem-leak.patch - 1065-udev-bump-event-timeout-to-60-seconds.patch - -------------------------------------------------------------------- -Fri Aug 29 14:14:06 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-nspawn-fix-network-interface.patch to - make option network-interface of systemd-nspawn work - -------------------------------------------------------------------- -Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-fix-memory-leak-on-DropController.patch - 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -- Add upstream patch - 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - to avoid that hwdb ID's for unrecognised USB device are taken - from the USB hub. - -------------------------------------------------------------------- -Wed Aug 27 16:01:17 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - -------------------------------------------------------------------- -Wed Aug 27 12:52:09 UTC 2014 - werner@suse.de - -- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to - use RNDADDENTROPY ioctl to load random-seed and to increase - entropy count as well (bnc#892096) - -------------------------------------------------------------------- -Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de - -- Add upstream patches for hwdb - 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - 0003-keymap-Fix-HP-Pavillon-DV7.patch - 0004-hwdb-update-format-description-and-document-reloadin.patch - 0008-hwdb-update.patch - -------------------------------------------------------------------- -Tue Aug 26 11:25:57 UTC 2014 - werner@suse.de - -- Port back and add the missed upstream patches from 2014/08/22 - 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - 0006-login-share-VT-signal-handler-between-sessions.patch - -------------------------------------------------------------------- -Fri Aug 22 15:12:23 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - 0002-switch-root-umount-the-old-root-correctly.patch - 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - -------------------------------------------------------------------- -Fri Aug 22 01:29:06 UTC 2014 - crrodriguez@opensuse.org - -- man pages from section 3 are developer docs, move them to - the -devel package. - -------------------------------------------------------------------- -Wed Aug 20 15:06:25 UTC 2014 - werner@suse.de - -- Add patch 0001-let-systemctl-completion-ignore-at-names.patch to - remove error messages for tab completion for systemctl isolate (bnc#892162) - -------------------------------------------------------------------- -Mon Aug 18 14:40:55 UTC 2014 - werner@suse.de - -- Disable the usage of the systemd groups wheel and adm (bnc#892300) - -------------------------------------------------------------------- -Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com - -- Set default permissions for GenWQE device nodes to 0666 (bnc#890977). - Add 1062-rules-set-default-permissions-for-GenWQE-devices.patch - -------------------------------------------------------------------- -Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de - -- Add upstream patches - 0007-hwdb-update.patch - 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - -------------------------------------------------------------------- -Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com - -- Rename: - udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - to - 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 21:10:21 UTC 2014 - jeffm@suse.com - -- udev: use device mapper target name for btrfs device ready (bnc#888215). -- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 12:53:07 UTC 2014 - werner@suse.de - -- Add patch tomcat6-var-lock-subsys-legacy.patch to add the - compatibility directory /var/lock/subsys (bnc#889357) - -------------------------------------------------------------------- -Wed Jul 30 11:45:21 UTC 2014 - werner@suse.de - -- Add portabiltiy patch - 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - -------------------------------------------------------------------- -Wed Jul 30 11:32:23 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-sysv-order-initscripts-which-provide-network-before-.patch - 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - 0003-keymap-Annotate-all-micmute-workarounds.patch - -------------------------------------------------------------------- -Wed Jul 30 11:10:34 UTC 2014 - werner@suse.de - -- Add patch tty-ask-password-agent-on-console.patch that is for system - console do ask passphrases on all devices of the console (bnc#886211) - -------------------------------------------------------------------- -Wed Jul 30 11:02:27 UTC 2014 - werner@suse.de - -- Add former SUSE and/now upstream patches (bnc#889297) - 1056-udevd-add-event-timeout-commandline-option.patch - 1057-udev-unify-event-timeout-handling.patch - 1058-udev-unify-event-timeout-handling.patch (backport for - compatibility if patch 1022 is not applied) - 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - -------------------------------------------------------------------- -Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de - -- Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid - rpmlink warning -- Add upstream patches - 0001-bus-proxyd-fix-incorrect-comparison.patch - 0002-shell-completion-prevent-mangling-unit-names.patch - 0003-Always-check-asprintf-return-code.patch - 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - 0006-parse_boolean-require-exact-matches.patch - 0007-drop_duplicates-copy-full-BindMount-struct.patch - 0008-shell-completion-prevent-mangling-unit-names-bash.patch - 0009-journald-always-add-syslog-facility-for-messages-com.patch - -------------------------------------------------------------------- -Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de - -- Disable blkrrpart for SLES12 and below - -------------------------------------------------------------------- -Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de - -- Add upstream patch - 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch -- Add with condition blkrrpart to be able to disable the patches - 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 - which uses the BLKRRPART ioctl for e.g. synthesize change events - which may interfere with other tools like parted. - -------------------------------------------------------------------- -Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com - -- Update - handle-disable_caplock-and-compose_table-and-kbd_rate.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch: read - /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) - otherwise empty value in /etc/sysconfig/keyboard might override - /etc/vconsole.conf values. -- Update : - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - apply-ACL-for-nvidia-device-nodes.patch - keep-crypt-password-prompt.patch - log-target-null-instead-kmsg.patch - parse-crypttab-for-noauto-option.patch - set-and-use-default-logconsole.patch: fix all warnings in code -- Remove 0001-compress-fix-return-value.patch: not relevant to - systemd v210 code. - -------------------------------------------------------------------- -Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - -- Also change udev-generate-peristent-rule to udev-generate-persistent-rule - in file list - -------------------------------------------------------------------- -Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com - -- Rename (fix typo in script name): - udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh - -------------------------------------------------------------------- -Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com - -- Enable better checks in write_net_rules to skip adding duplicated - entries in the generate rules (bnc#888178). - Add 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de - -- Change patch set-and-use-default-logconsole.patch to avoid to - write security/authorization (private) messages to console - -------------------------------------------------------------------- -Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de - -- Add patch set-and-use-default-logconsole.patch to use and set - the default logging console for both journald and kernel messages - -------------------------------------------------------------------- -Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-bash-completion-p-option-for-journalctl.patch - 0002-journalctl-man-allow-only-between-terms.patch - 0003-systemd-use-pager-for-test-and-help.patch - -------------------------------------------------------------------- -Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de - -- Use verify scripts and add permission files for systemd logger -- Avoid useless warning about static systemd unit files -- Make pam file a config file -- Remove non-break-space from this changelog - -------------------------------------------------------------------- -Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-compress-fix-return-value.patch - 0002-Be-more-verbose-when-bind-or-listen-fails.patch - 0003-Add-quotes-to-warning-message.patch - 0004-systemd-return-the-first-error-from-manager_startup.patch - -------------------------------------------------------------------- -Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de - -- Replace patch 0001-fix-only-discover-Xen-domU.patch with - upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch -- Replace patch 0001-detect-s390-virt.patch with upstream - patch 0001-systemd-detect-virt-detect-s390-virtualization.patch - -------------------------------------------------------------------- -Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-po-add-Ukrainian-translation.patch - 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -- Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream - patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch - -------------------------------------------------------------------- -Thu Jul 17 06:32:51 UTC 2014 - rmilasan@suse.com - -- Check if NAME key has a value before going thru the rule (bnc#885232). - Add 1051-check-if-NAME-has-a-value.patch - -------------------------------------------------------------------- -Wed Jul 16 16:33:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - 0002-units-serial-getty-.service-use-the-default-RestartS.patch - 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - -------------------------------------------------------------------- -Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com - -- Only rename SRIOV-VF devices if device name start with eth (bnc#885232). - Add 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch - -------------------------------------------------------------------- -Tue Jul 15 07:39:40 UTC 2014 - werner@suse.de - -- Add patch vhangup-on-all-consoles.patch that is do a vhangup on - lines (bnc#886599) - -------------------------------------------------------------------- -Tue Jul 15 06:29:54 UTC 2014 - jlee@suse.com - -- Removed %{_libexecdir}/modules-load.d/efivars.conf because the kernel - patch of autoload efivars driver accepted by linux-efi upstream. - (bnc#881559) - https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=be756a5327fe3d4686d74d3e9b273010424e230c - -------------------------------------------------------------------- -Mon Jul 14 14:53:21 UTC 2014 - werner@suse.de - -- Update patch - 1007-physical-hotplug-cpu-and-memory.patch (bnc#869603) -- Add script systemd-remount-tmpfs (bnc#869603) as helper script - for the rule changed in patch 1007-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Mon Jul 14 11:43:12 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-event-pull-in-sd-event.h-from-event-util.h.patch - 0002-util-fix-has-cc-check-and-add-test.patch - 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - 0004-fileio-quote-more-shell-characters-in-envfiles.patch - -------------------------------------------------------------------- -Fri Jul 11 12:21:06 UTC 2014 - werner@suse.de - -- Only on SLES12 seccomp is available on ppc64 and s390x - -------------------------------------------------------------------- -Thu Jul 10 13:33:32 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - -------------------------------------------------------------------- -Wed Jul 9 13:14:02 UTC 2014 - werner@suse.de - -- Add patches - 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -- Port and add upstream patches - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-journal-compress-improve-xz-compression-performance.patch - -------------------------------------------------------------------- -Wed Jul 9 12:41:53 UTC 2014 - meissner@suse.com - -- enable seccomp also for ppc64 and s390x - -------------------------------------------------------------------- -Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - 0007-service-flush-status-text-and-errno-values-each-time.patch - -------------------------------------------------------------------- -Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de - -- Add upstream patch - 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - -------------------------------------------------------------------- -Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-machine-don-t-return-uninitialized-variable.patch -- Port and add upstream patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - -------------------------------------------------------------------- -Mon Jul 7 13:04:00 UTC 2014 - rmilasan@suse.com - -- Rename - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - to - 1048-udev-net_setup_link-add-a-bit-more-logging.patch - -------------------------------------------------------------------- -Fri Jul 4 10:01:07 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - 0002-namespace-fix-uninitialized-memory-access.patch - -------------------------------------------------------------------- -Fri Jul 4 09:43:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-architecture-Add-tilegx.patch - 0002-architecture-Add-cris.patch - 0003-arch-add-crisv32-to-uname-check.patch - 0004-architecture-remove-cris-from-uname-list.patch - -------------------------------------------------------------------- -Fri Jul 4 09:32:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0006-hwdb-update.patch - 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Jul 3 12:48:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-parse_uid-return-ENXIO-for-1-uids.patch - 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - 0003-localed-consider-an-unset-model-as-a-wildcard.patch - 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - 0005-bus-close-a-bus-that-failed-to-connect.patch - 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - -------------------------------------------------------------------- -Wed Jul 2 18:06:32 UTC 2014 - rmilasan@suse.com - -- Fix duplicated rules when having layer3 interfaces (bnc#882714). - Add 1046-fix-duplicated-rules-with-layer3-interfaces.patch - -------------------------------------------------------------------- -Tue Jul 1 14:53:44 UTC 2014 - werner@suse.de - -- Require correct pam-config version overall even for scriptlets (bnc#885288) - -------------------------------------------------------------------- -Tue Jul 1 12:19:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - 0002-journald-make-MaxFileSec-really-default-to-1month.patch - 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - -------------------------------------------------------------------- -Tue Jul 1 09:58:04 UTC 2014 - werner@suse.de - -- Be aware that close_nointr_nofail() may fail whereas safe_close() not - -------------------------------------------------------------------- -Tue Jul 1 08:56:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - 1044-rules-update-qemu-hid-rules.patch - 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - -------------------------------------------------------------------- -Fri Jun 27 12:46:12 UTC 2014 - werner@suse.de - -- Add upstream bug fix patch - 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch (bnc#882714) - -------------------------------------------------------------------- -Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de - -- Update of patch 0001-detect-s390-virt.patch (bnc#880438) - -------------------------------------------------------------------- -Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de - -- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc - -------------------------------------------------------------------- -Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de - -- Add upstream patchs - 0001-core-use-correct-format-string-for-UIDs.patch - 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - -------------------------------------------------------------------- -Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-units-order-network-online.target-after-network.targ.patch - to make sure that etwork-online.target follows network.target - -------------------------------------------------------------------- -Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com - -- rules: re-enable dev_id conditionally in persistent rules - (bnc#884403 and bnc#882714). - Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch - -------------------------------------------------------------------- -Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - 0005-man-fix-path-in-crypttab-5.patch - -------------------------------------------------------------------- -Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de - -- Add upstream patch - 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it - fixes udevadm settle exit code which may had broken dracut scripts - (bnc#884271 comment#18) - -------------------------------------------------------------------- -Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de - -- Temporary disable patch 1022 (bnc#884271 and bnc#882714). - -------------------------------------------------------------------- -Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com - -- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch - to 1038-udev-fix-invalid-free-in-enable_name_policy.patch - -------------------------------------------------------------------- -Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de - -- Replace patches - 0001-systemd-empty-sigmask-on-reexec.patch with - upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch - ensure-sysctl-are-applied-after-modules-are-loaded.patch with - upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - getty-generator-with-serial-3270-tty.patch with - upstream 0004-getty-generator-properly-escape-instance-names.patch -- Add upstream patches - 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - 0005-po-add-Greek-translation.patch - 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0007-po-add-German-translation.patch - 0009-core-clean-up-signal-reset-logic-when-reexec.patch - 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - 0012-core-transaction-avoid-misleading-error-message-when.patch - -------------------------------------------------------------------- -Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de - -- Invert of the boolean for locking scheme of fsck (bnc#881125) -- Remove the ghost entry /etc/hostname and require the netcfg - -------------------------------------------------------------------- -Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com - -- make sure legacy services that depend on network are started after - network is available (bnc#883565) - * 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - * update insserv-generator.patch to translate $network into - network-online.target - -------------------------------------------------------------------- -Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de - -- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438) - to detect the virtualization layers on s390x as well - -------------------------------------------------------------------- -Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de - -- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51) - add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from - Roberts suggestion as well as readd - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-fix-invalid-free-in-killall.patch - 0002-udev-fix-invalid-free-in-enable_name_policy.patch - 0003-install-fix-invalid-free-in-unit_file_mask.patch - -------------------------------------------------------------------- -Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com - -- rules: disable usage of dev_id in persistent rules (bnc#882714). - add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch -- Disable patch (bnc#882714). - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de - -- Add patch - 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch - from Hannes Reinecke to avoid a race condition between variable - 'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942) - -------------------------------------------------------------------- -Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de - -- Add workaround for bnc#882393 by adding the systemd update utmp - runlevel service to the wanted unit of e.g. the graphical target -- Add some later on created files to our file list - -------------------------------------------------------------------- -Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com - -- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars - module at boot time not from udev (bnc#881559). - -------------------------------------------------------------------- -Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org - -- Do not build EFI support code in architectures on which - the kernel does not support CONFIG_EFI, it won't work. - (ia64 also supports it, but that's dead so is not included) - -------------------------------------------------------------------- -Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de - -- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch - there is no need to clean out all 30 days the index data base - files nor the cachedir tags of mandb. Those files are used - for whatis(1) as well as for apropos(1). - -------------------------------------------------------------------- -Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de - -- Do not override predictable names for openSUSE - -------------------------------------------------------------------- -Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de - -- Remove systemd-detect-xendom.patch as it becomes obsolete with - upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -- Add upstream patches - 0001-umount-modernizations.patch - 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - 0003-core-allow-transient-mount-units.patch - 0004-systemd-detect-virt-only-discover-Xen-domU.patch - 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - -------------------------------------------------------------------- -Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1033-udev-really-exclude-device-mapper-from-block-device.patch - 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - -------------------------------------------------------------------- -Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de - -- Change detection of new locking scheme of fsck - -------------------------------------------------------------------- -Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de - -- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent - rules as a default on SLES-12 and predictable rules as a default - otherwise -- Add cflags shell function to check possible flags for the compiler - as well as for the linker - -------------------------------------------------------------------- -Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - 1026-udevd-inotify-modernizations.patch - 1027-udev-synthesize-change-events-for-partitions-when-to.patch - 1028-udev-link-config-fix-mem-leak.patch - 1029-udev-try-first-re-reading-the-partition-table.patch - 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - -------------------------------------------------------------------- -Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-event-restore-correct-timeout-behaviour.patch - 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - -------------------------------------------------------------------- -Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch - -------------------------------------------------------------------- -Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de - -- Add dynamic detection of util-linux version to be able to - disable the fsck option -l for version less than 2.25.0 - -------------------------------------------------------------------- -Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * The patches - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and - ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch - indeed mention unit files which do not exist anymore. -- Make sure that systemd-ask-password-wall.service has a tty as - it is not sure that a tty1 exists -- Avoid broken firmware loading on newer distributions as 13.1 - -------------------------------------------------------------------- -Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de - -- Correct version check for the tcp-devel drop -- Use correct permissions for /var/log/journal -- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) - -------------------------------------------------------------------- -Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org - -- Correct the libseccomp distribution version test must be >= 13.1 -- In order to use unit directive AppArmorProfile= libapparmor-devel - must be present in buildRequires. - -------------------------------------------------------------------- -Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com - -- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm - device (bnc#879767). - -------------------------------------------------------------------- -Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * fix keep-crypt-password-prompt.patch which floods the system - logs with bogus opendir failures, still the wrong thing to do however. - * Use %find_lang to collect locale files - * systemd-no-libattr.patch: systemd does not require libattr - but just sys/xattr.h, therefore drop the dependency. - (from upstream) - * Again, drop tcp-devel from buildRequires, this time it is not a - SUSE specific feature removal, tcpd supportdisappeared in systemd - 212 and we shouldn't keep it around. -- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - that is rename systemd-no-libattr.patch to git format -- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor - for openSUSE 13.1 - -------------------------------------------------------------------- -Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-rework-container-detection-logic.patch - 0002-fsck-include-device-name-in-the-message-about-missin.patch - 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - 0004-util-ignore_file-should-not-allow-files-ending-with.patch - 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -- Add upstream patches to update keyboard data base - 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -- Add upstream patches for udev - 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - 1024-udev-always-close-lock-file-descriptor.patch - -------------------------------------------------------------------- -Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com - -- Fix enabling predictable rules when using net.ifnames=1. - update: 1021-udev-re-add-persistent-net-rules.patch - -------------------------------------------------------------------- -Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com - -- Re-add persistent rules as a default and make predictable rules as - fallback (bnc#880732). - add: 1021-udev-re-add-persistent-net-rules.patch -- udev: remove seqnum API and all assumptions about seqnums - add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue May 27 07:23:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Do-not-unescape-unit-names-in-Install-section.patch - 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - -------------------------------------------------------------------- -Mon May 26 16:34:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 1020-udev-keyboard-also-hook-into-change-events.patch - -------------------------------------------------------------------- -Mon May 26 15:25:28 UTC 2014 - werner@suse.de - -- Add upstream patches to update keyboard data base - 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -- Add upstream patches - 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - 0002-nspawn-restore-journal-directory-is-empty-check.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0004-socket-properly-handle-if-our-service-vanished-durin.patch - -------------------------------------------------------------------- -Wed May 21 19:23:32 UTC 2014 - coolo@suse.com - -- fix file list of systemd.pc - -------------------------------------------------------------------- -Wed May 21 13:24:13 UTC 2014 - werner@suse.de - -- Add a workaround for old distributions like 13.1 to avoid - deadlocks due NFS shares stopped after network - -------------------------------------------------------------------- -Wed May 21 10:23:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - 0002-journal-properly-detect-language-specified-in-line.patch - 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - -------------------------------------------------------------------- -Wed May 21 10:14:32 UTC 2014 - werner@suse.de - -- Add upstream patches to update usb and pci company identifiers - 0001-hwdb-update.patch - 0002-hwdb-update.patch - 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - 0004-hwdb-update.patch - 0005-hwdb-update.patch - -------------------------------------------------------------------- -Wed May 21 08:33:34 UTC 2014 - werner@suse.de - -- Move systemd.pc and udev.pc to their main packages (bnc#876587) - -------------------------------------------------------------------- -Tue May 20 12:13:05 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - 0002-man-note-that-entire-sections-can-now-be-ignored.patch - 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - 0006-login-add-mir-to-the-list-of-session-types.patch - 0007-logind-fix-Display-property-of-user-objects.patch - -------------------------------------------------------------------- -Tue May 20 11:31:46 UTC 2014 - werner@suse.de - -- Add upstream patches to update BluTooth company identifiers - 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue May 20 11:03:54 UTC 2014 - werner@suse.de - -- Add upstream patches to allow processes to serialize block device - events, also do execute the RUN tag if rename of a network device - fails: - 1016-udev-serialize-synchronize-block-device-event-handli.patch - 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - 1018-udev-avoid-use-of-uninitialized-err.patch -- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - -------------------------------------------------------------------- -Mon May 19 13:21:18 UTC 2014 - werner@suse.de - -- Add upstream patches mainly for better lid handling (bnc#878525 - and bnc#868019) - 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - 0002-logind-fix-printf-format.patch - 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - 0008-man-update-journald-rate-limit-defaults.patch - 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - 0010-logind-allow-suspending-if-there-are-no-displays.patch - -------------------------------------------------------------------- -Fri May 16 12:00:12 UTC 2014 - werner@suse.de - -- Make baselibs.conf aware to use the appropiate %post and %postun - scriptlets which includes pam-config (bnc#877674) - -------------------------------------------------------------------- -Fri May 16 11:47:06 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-close-socket-fds-asynchronously.patch - 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - -------------------------------------------------------------------- -Wed May 14 07:37:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - to avoid that in pam session unwanted file descriptors are inherited - -------------------------------------------------------------------- -Tue May 13 08:28:05 UTC 2014 - werner@suse.de - -- Add patch log-target-null-instead-kmsg.patch from Thomas Blume - to enable the kernel developers to see a clean kmsg ring buffer - without any systemd/udev messages included (bnc#877021) - -------------------------------------------------------------------- -Mon May 12 13:35:25 UTC 2014 - werner@suse.de - -- Add upstream patches for backlight - 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - 0002-backlight-do-nothing-if-max_brightness-is-0.patch - 0003-backlight-unify-error-messages.patch - 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - -------------------------------------------------------------------- -Mon May 12 13:28:20 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - 0003-analyze-fix-plot-with-bad-y-size.patch - 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - -------------------------------------------------------------------- -Mon May 12 12:25:13 UTC 2014 - rmilasan@suse.com - -- Drop upstream-net_id-changes.patch and replace them with the correct - patches from upstream and their commits: - add: 1014-udev-update-net_id-comments.patch - add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - -------------------------------------------------------------------- -Wed May 7 10:42:27 UTC 2014 - werner@suse.de - -- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume - to handle the option 'noauto' in /etc/crypttab (bnc#742774) - -------------------------------------------------------------------- -Wed May 7 09:23:01 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to have the correct terminal type used with agetty -- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - to allow users to access systemd user journal (bnc#876694) - -------------------------------------------------------------------- -Mon May 5 14:02:16 UTC 2014 - werner@suse.de - -- Port upstream patch - 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - back to 210 -- Add patch keep-crypt-password-prompt.patch from Thomas Blume - to fix bnc#875502 - fails to boot when swap space is encrypted -- Port upstream patch set for net_id back in patch - upstream-net_id-changes.patch - -------------------------------------------------------------------- -Fri May 2 10:12:26 UTC 2014 - werner@suse.de - -- Add patch shut-up-annoying-assertion-monotonic-clock-message.patch - to avoid annyoing messages on failing dual_timestamp_is_set in the - kernel's message ring buffer - -------------------------------------------------------------------- -Wed Apr 30 12:14:32 UTC 2014 - werner@suse.de - -- Update udev-generate-peristent-rule.sh from latest git - -------------------------------------------------------------------- -Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to avoid also ANSI escape sequences for busy jobs on s390 - -------------------------------------------------------------------- -Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-bash-completion-fix-__get_startable_units.patch - 0002-sysctl-replaces-some-slashes-with-dots.patch - 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - 0004-implement-a-union-to-pad-out-file_handle.patch -- Add patch respect-nfs-bg-option.patch from Thomas Blume: - System fails to boot if nfs mounts get added to fstab (bnc#874665) - -------------------------------------------------------------------- -Wed Apr 23 11:46:41 UTC 2014 - oneukum@suse.com - -- Do not use runtime PM for some IBM consoles (bnc#868931) - 1013-no-runtime-PM-for-IBM-consoles.patch - -------------------------------------------------------------------- -Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de - -- Extend avoid-divide-by-zero-sigtrap.patch to make the crash - handler know about SIGTRAP and SIGSYS - -------------------------------------------------------------------- -Thu Apr 17 13:37:06 UTC 2014 - werner@suse.de - -- Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 - that is a divide by zero on a jobless system - -------------------------------------------------------------------- -Wed Apr 16 10:17:13 UTC 2014 - werner@suse.de - -- Use latest regenerate-initrd rpm macros (fate#313506) -- Add rescue-emergency-target-conflicts.patch to avoid that - emergency and rescue sulogin are fighting on console - -------------------------------------------------------------------- -Tue Apr 15 12:19:24 UTC 2014 - werner@suse.de - -- Modify systemd-sleep-grub to let hybrid-sleep.target work even - on XEN, changes from Thomas Blume (bnc#873432) - -------------------------------------------------------------------- -Mon Apr 14 13:55:36 UTC 2014 - werner@suse.de - -- Add backported upstream patch - 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -- Add patch systemd-detect-xendom.patch from Thomas Blume - to be able to detect XEN dom0 as well as domU -- systemd conflicts with sysvinit, ven if the package systemd-sysvinit - does already conflict with sysvinit-init (bnc#873444) - -------------------------------------------------------------------- -Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de - -- Add two patches from hare@suse.com - 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch - 1012-Skip-persistent-device-link-creation-on-multipath-de.patch - to solve bnc#872929 - -------------------------------------------------------------------- -Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com - -- Increase result size for programs stdout (bnc#867840). - add: 1010-udev-increase-result-size-for-programs.patch -- Update udev-generate-peristent-rule.sh to the latest version. -- Clean-up spec file, re-arange patch to suit the setup, all udev - patches start with 1XXX-*.{patch,diff}. -- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to - 1009-cdrom_id-use-the-old-MMC-fallback.patch -- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to - 0009-make-xsltproc-use-correct-ROFF-links.patch -- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to - 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Rename: 1014-journald-with-journaling-FS.patch to - 0014-journald-with-journaling-FS.patch -- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to - 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to - 0019-make-completion-smart-to-be-able-to-redirect.patch -- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to - 0022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de - -- Add patch portmap-wants-rpcbind-socket.patch to make sure that - rpcbind socket as well as service is up with the target -- Add or port upstream bugfix patches: - 0001-journal-fix-export-of-messages-containing-newlines.patch - 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - 0003-tty-ask-password-agent-return-negative-errno.patch - 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - 0005-systemd-python-fix-failing-assert.patch - -------------------------------------------------------------------- -Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - 0005-sd-daemon-fix-incorrect-variable-access.patch - 0006-sd-event-initialization-perturbation-value-right-bef.patch - 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -- Modify patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to work together with - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - -------------------------------------------------------------------- -Fri Mar 28 08:10:13 UTC 2014 - werner@suse.de - -- Use Robert's revised 1006-udev-always-rename-network.patch - -------------------------------------------------------------------- -Tue Mar 25 17:28:18 UTC 2014 - werner@suse.de - -- Readd patch Forward-suspend-hibernate-calls-to-pm-utils.patch - older code base as 13.1 only -- Add patch avoid-random-hangs-on-timeouts-due-lost-cwd.patch - to be able to terminate the user manager even if cwd of the - user is gone - -------------------------------------------------------------------- -Tue Mar 25 13:08:56 UTC 2014 - thomas.blume@suse.com - -- add prepare-suspend-to-disk.patch - enable suspend conditions check and preparation for systemd-sleep - (fate#316824, bnc#856389, bnc#856392) -- remove Forward-suspend-hibernate-calls-to-pm-utils.patch since it is obsolete - (bnc#856392#c20) -- add boot-local-start.patch - fix startup for /etc/init.d/boot.local (bnc#869142) - -------------------------------------------------------------------- -Mon Mar 24 11:19:38 UTC 2014 - coolo@suse.com - -- also autoreconf in systemd-mini to simplify spec file logic - and fix build in staging:gcc49 - (obsoleting 0002-make-209-working-on-older-dist.patch) - -------------------------------------------------------------------- -Wed Mar 19 13:21:37 UTC 2014 - werner@suse.de - -- Be sure that the refreshed manual pages are installed - -------------------------------------------------------------------- -Wed Mar 19 12:09:31 UTC 2014 - werner@suse.de - -- Add patch systemctl-set-default-target.patch which explain how - to override the default.target by using --force (bnc#868439) - -------------------------------------------------------------------- -Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de - -- Add Robert's udev-generate-peristent-rule shell script to - udev's tool library -- Add or port upstream bugfix patches: - 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - 0007-networkd-fix-typo.patch - 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - 0012-journald-remove-stray-reset-of-error-return-value.patch - 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - -------------------------------------------------------------------- -Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de - -- Add patch getty-generator-with-serial-3270-tty.patch to avoid - harmless error messages on not existing getty@3270 files - -------------------------------------------------------------------- -Fri Mar 14 11:07:29 UTC 2014 - werner@suse.de - -- Replace systemd-big-endian-reply-matching.patch with upstream - 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - to solve broken systemd communication with and over dbus (bnc#866732) - -------------------------------------------------------------------- -Fri Mar 14 08:30:57 UTC 2014 - werner@suse.de - -- Readd patch 1008-add-msft-compability-rules.patch for - older code base as 13.1 -- Modify pre_checkin.sh to throw an error if a patch will be - applied which modifies one of Makefile.am, Makefile.in, or - configiure.ac as this breaks bootstrapping -- Add second version of make-209-working-on-older-dist.patch - to be able to apply for bootstrapping version - -------------------------------------------------------------------- -Thu Mar 13 17:35:11 UTC 2014 - schwab@linux-m68k.org - -- Don't require non-existing binutils-gold - -------------------------------------------------------------------- -Thu Mar 13 15:43:19 UTC 2014 - werner@suse.de - -- Avoid file conflict between udev and systemd (bnc#868230) - -------------------------------------------------------------------- -Wed Mar 12 16:52:09 UTC 2014 - werner@suse.de - -- Modify patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) - -------------------------------------------------------------------- -Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de - -- Add patch systemd-big-endian-reply-matching.patch - make sure that systemd can talk with dbus-daemon even on big - endian systems (bnc#866732) - -------------------------------------------------------------------- -Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com - -- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch -- Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only - needed for quering default DBus directories, which we nowpass to configure. - This also unbreaks libdbus <-> systemd-miniBuild Cycle - -------------------------------------------------------------------- -Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - 0002-manager-flush-memory-stream-before-using-the-buffer.patch - 0003-busname-don-t-drop-service-from-the-result-string.patch - 0004-fix-off-by-one-error-in-array-index-assertion.patch - 0005-logind-fix-policykit-checks.patch - 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - 0007-dbus-suppress-duplicate-and-misleading-messages.patch - 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - -------------------------------------------------------------------- -Tue Mar 11 07:47:55 UTC 2014 - werner@suse.de - -- Make compeletion file parser work (bnc#867664) - -------------------------------------------------------------------- -Fri Mar 7 14:50:39 CET 2014 - hare@suse.de - -- Integrate powerd handling in initctl service - + Remove 1016-support-powerfail-with-powerstatus.patch - + Remove systemd-powerfail - + Add systemd-powerd-initctl-support.patch -- Remove 61-msft.rules; superseded by sg3_utils (bnc#866933) -- Persistent by-path links for ATA devices (FATE#317063) - + Update 1001-re-enable-by_path-links-for-ata-devices.patch - -------------------------------------------------------------------- -Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-Fix-systemd-stdio-bridge-symlink.patch - 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - 0004-man-document-missing-options-of-systemd-run.patch - 0005-systemd-run-add-some-extra-safety-checks.patch - 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - 0007-journal-forget-file-after-encountering-an-error.patch - 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - 0010-man-update-link-to-LSB.patch - 0011-man-systemd-bootchart-fix-spacing-in-command.patch - 0012-man-add-missing-comma.patch - 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - -------------------------------------------------------------------- -Fri Mar 7 08:00:31 UTC 2014 - werner@suse.de - -- Add linker scripts as place holder of the old systemd shared - libraries now all included in libsystemd.so (bnc#867128) - -------------------------------------------------------------------- -Tue Mar 4 10:37:02 UTC 2014 - werner@suse.de - -- Make patch 1006-udev-always-rename-network.patch work again - and add it again. - -------------------------------------------------------------------- -Mon Mar 3 15:23:57 UTC 2014 - thomas.blume@suse.com - -- address missing owner functionality in systemd-tmpfiles (fate#314974) - 1022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Mon Mar 3 14:49:48 UTC 2014 - werner@suse.de - -- Generate the bash completion files on the fly for the case of - not having the package bash-completion around -- Add or port upstream bugfix patches: - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - 0002-cdrom_id-use-the-old-MMC-fallback.patch - 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - 0004-logs-show-fix-corrupt-output-with-empty-messages.patch - 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - 0008-README-document-that-var-run-must-be-a-symlink-run.patch - 0010-Replace-var-run-with-run-in-remaining-places.patch - 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - 0014-login-fix-pos-array-allocation.patch - -------------------------------------------------------------------- -Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de - -- Update to Release v210 - + systemd will now relabel /dev after loading the SMACK policy - according to SMACK rules. - + A new unit file option AppArmoreProfile= has been added to - set the AppArmor profile for the processes of a unit. - + A new condition check ConditionArchitecture= has been added - to conditionalize units based on the system architecture, as - reported by uname()'s "machine" field. - + systemd-networkd now supports matching on the system - virtualization, architecture, kernel command line, host name - and machine ID. - + logind is now a lot more aggressive when suspending the - machine due to a closed laptop lid. - + logind will now watch SW_DOCK switches and inhibit reaction - to the lid switch if it is pressed. - + nspawn will now make use of the devices cgroup controller by - default, and only permit creation of and access to the usual - API device nodes like /dev/null or /dev/random, as well as - access to (but not creation of) the pty devices. - + systemd will now understand the usual M, K, G, T suffixes - according to SI conventions (i.e. to the base 1000) when - referring to throughput and hardware metrics. - + The DeviceAllow= setting in unit files now supports a syntax - to whitelist an entire group of devices node majors at once, - based on the /proc/devices listing. For example, with the - string "char-pts" it is now possible to whitelist all - current and future pseudo-TTYs at once. - + sd-event learned a new "post" event source. Event sources of - this type are triggered by the dispatching of any event - source of a type that is not "post". This is useful for - implementing clean-up and check event sources that are - triggered by other work being done in the program. - + The compatibility libraries for libsystemd-journal.so, - libsystem-id128.so, libsystemd-login.so and - libsystemd-daemon.so do not make use of IFUNC - anymore. -- Dropped systemd patches as those are fixed upstream: - * 0001-units-serial-getty-.service-add-Install-section.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patchc - * 0001-make-tests-with-libseccomp-work.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-units-serial-getty-.service-add-Install-section.patch -- Dropped patches as those do not work anymore - * 1006-udev-always-rename-network.patch -- Renamed systemd patches as seen from git log: - * 0001-cdrom_id-use-the-old-MMC-fallback.patch - become 0002-cdrom_id-use-the-old-MMC-fallback.patch - * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch -- Add several upstream bugfix patches which are missed: - * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - * 0008-README-document-that-var-run-must-be-a-symlink-run.patch - * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - * 0010-Replace-var-run-with-run-in-remaining-places.patch - * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - * 0014-login-fix-pos-array-allocation.patch -- Modified patches to make is build - * 0001-add-network-device-after-NFS-mount-units.patch -- Reenable libseccomp for the architecture for which libseccomp exists - -------------------------------------------------------------------- -Sun Mar 2 15:51:24 CET 2014 - ro@suse.de - -- always install compat pkgconfig files, regardless if - compat libs is enabled or not - -------------------------------------------------------------------- -Sun Mar 2 14:47:23 CET 2014 - ro@suse.de - -- disable use of libseccomp for sle12, library has not been ported - to most architectures -- do not use binutils-gold on s390/s390x, does not exist there -- fix exclude statements for bootstrap case - -------------------------------------------------------------------- -Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de - -- Add upstream patches - + 0001-cdrom_id-use-the-old-MMC-fallback.patch - + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - -------------------------------------------------------------------- -Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de - -- Add patch - 0001-systemd-empty-sigmask-on-reexec.patch - which corrects sigmaks for reexec in initrd (bnc#864904) - -------------------------------------------------------------------- -Fri Feb 28 17:38:06 UTC 2014 - werner@suse.de - -- Add patch - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - to avoid error on not existing file /proc/self/loginuid - -------------------------------------------------------------------- -Fri Feb 28 17:15:38 UTC 2014 - werner@suse.de - -- Make patch - 0001-make-209-working-on-older-dist.patch - more smart that is make configure script les restrictive -- Make patch - apply-ACL-for-nvidia-device-nodes.patch - apply to v209 - -------------------------------------------------------------------- -Fri Feb 28 16:59:25 UTC 2014 - werner@suse.de - -- Update to Release v209 on the base of the work of Stefan Brüns - from declined submit request 223602: - + A new tool "systemd-socket-proxyd" has been added - + Add a new tool to save/restore rfkill state on - shutdown/boot. - + Save/restore state of keyboard backlights in addition to - display backlights on shutdown/boot. - + udev learned a new SECLABEL{} construct to label device - nodes with a specific security label when they appear. For - now, only SECLABEL{selinux} is supported, but the syntax is - prepared for additional security frameworks. - + When the User= switch is used in a unit file, also - initialize $SHELL= based on the user database entry. - + systemd no longer depends on libdbus. All communication is - now done with sd-bus, systemd's low-level bus library - implementation. - + sd-bus: add a light-weight vtable implementation that allows - defining objects on the bus with a simple static const - vtable array of its methods, signals and properties. - + systemd will not generate or install static dbus - introspection data anymore to /usr/share/dbus-1/interfaces, - as the precise format of these files is unclear, and - nothing makes use of it. - + A proxy daemon is now provided to proxy clients connecting - via classic D-Bus AF_UNIX sockets to kdbus, to provide full - compatibility with classic D-Bus. - + A bus driver implementation has been added that supports the - classic D-Bus bus driver calls on kdbus, also for - compatibility purposes. - + A new API "sd-event.h" has been added that implements a - minimal event loop API built around epoll. - + A new API "sd-rntl.h" has been added that provides an API - around the route netlink interface of the kernel, similar in - style to "sd-bus.h". - + A new API "sd-dhcp-client.h" has been added that provides a - small DHCPv4 client-side implementation. This is used by - "systemd-networkd". - + There is a new kernel command line option - "systemd.restore_state=0|1". When set to "0", none of the - systemd tools will restore saved runtime state to hardware - devices. More specifically, the rfkill and backlight states - are not restored. - + The FsckPassNo= compatibility option in mount/service units - has been removed. The fstab generator will now add the - necessary dependencies automatically, and does not require - PID1's support for that anymore. - + journalctl gained a new switch, --list-boots, that lists - recent boots with their times and boot IDs. - + The various tools like systemctl, loginctl, timedatectl, - busctl, systemd-run, ... have gained a new switch "-M" to - connect to a specific, local OS container (as direct - connection, without requiring SSH). - + systemd-run and systemd-analyze also gained support for "-H" - to connect to remote hosts via SSH. This is particularly - useful for systemd-run because it enables queuing of jobs - onto remote systems. - + machinectl gained a new command "login" to open a getty - login in any local container. This works with any container - that is registered with machined (such as those created by - libvirt-lxc or nspawn), and which runs systemd inside. - + machinectl gained a new "reboot" command that may be used to - trigger a reboot on a specific container that is registered - with machined. This works on any container that runs an init - system of some kind. - + systemctl gained a new "list-timers" command to print a nice - listing of installed timer units with the times they elapse - next. - + Alternative reboot() parameters may now be specified on the - "systemctl reboot" command line and are passed to the - reboot() system call. - + systemctl gained a new --job-mode= switch to configure the - mode to queue a job with. This is a more generic version of - --fail, --irreversible, and --ignore-dependencies, which are - still available but not advertised anymore. - + /etc/systemd/system.conf gained new settings to configure - various default timeouts of units, as well as the default - start limit interval and burst. These may still be overridden - within each Unit. - + PID1 will now export on the bus profile data of the security - policy upload process (such as the SELinux policy upload to - the kernel). - + journald: when forwarding logs to the console, include - timestamps (following the setting in - /sys/module/printk/parameters/time). - + OnCalendar= in timer units now understands the special - strings "yearly" and "annually". (Both are equivalent) - + The accuracy of timer units is now configurable with the new - AccuracySec= setting. It defaults to 1min. - + A new dependency type JoinsNamespaceOf= has been added that - allows running two services within the same /tmp and network - namespace, if PrivateNetwork= or PrivateTmp= are used. - + A new command "cat" has been added to systemctl. It outputs - the original unit file of a unit, and concatenates the - contents of additional "drop-in" unit file snippets, so that - the full configuration is shown. - + systemctl now supports globbing on the various "list-xyz" - commands, like "list-units" or "list-sockets", as well as on - those commands which take multiple unit names. - + journalctl's --unit= switch gained support for globbing. - + All systemd daemons now make use of the watchdog logic so - that systemd automatically notices when they hang. - + If the $container_ttys environment variable is set, - getty-generator will automatically spawn a getty for each - listed tty. This is useful for container managers to request - login gettys to be spawned on as many ttys as needed. - + %h, %s, %U specifier support is not available anymore when - used in unit files for PID 1. This is because NSS calls are - not safe from PID 1. They stay available for --user - instances of systemd, and as special case for the root user. - + loginctl gained a new "--no-legend" switch to turn off output - of the legend text. - + The "sd-login.h" API gained three new calls: - sd_session_is_remote(), sd_session_get_remote_user(), - sd_session_get_remote_host() to query information about - remote sessions. - + The udev hardware database now also carries vendor/product - information of SDIO devices. - + The "sd-daemon.h" API gained a new sd_watchdog_enabled() to - determine whether watchdog notifications are requested by - the system manager. - + Socket-activated per-connection services now include a - short description of the connection parameters in the - description. - + tmpfiles gained a new "--boot" option. When this is not used, - only lines where the command character is not suffixed with - "!" are executed. When this option is specified, those - options are executed too. - + systemctl gained a new "import-environment" command which - uploads the caller's environment (or parts thereof) into the - service manager so that it is inherited by services started - by the manager. This is useful to upload variables like - $DISPLAY into the user service manager. - + A new PrivateDevices= switch has been added to service units - which allows running a service with a namespaced /dev - directory that does not contain any device nodes for - physical devices. More specifically, it only includes devices - such as /dev/null, /dev/urandom, and /dev/zero which are API - entry points. - + logind has been extended to support behaviour like VT - switching on seats that do not support a VT. This makes - multi-session available on seats that are not the first seat - (seat0), and on systems where kernel support for VTs has - been disabled at compile-time. - + If a process holds a delay lock for system sleep or shutdown - and fails to release it in time, we will now log its - identity. This makes it easier to identify processes that - cause slow suspends or power-offs. - + When parsing /etc/crypttab, support for a new key-slot= - option as supported by Debian is added. It allows indicating - which LUKS slot to use on disk, speeding up key loading. - + The sd_journald_sendv() API call has been checked and - officially declared to be async-signal-safe so that it may - be invoked from signal handlers for logging purposes. - + Boot-time status output is now enabled automatically after a - short timeout if boot does not progress, in order to give - the user an indication what she or he is waiting for. - + The boot-time output has been improved to show how much time - remains until jobs expire. - + The KillMode= switch in service units gained a new possible - value "mixed". If set, and the unit is shut down, then the - initial SIGTERM signal is sent only to the main daemon - process, while the following SIGKILL signal is sent to - all remaining processes of the service. - + logind will now also track a "Desktop" identifier for each - session which encodes the desktop environment of it. This is - useful for desktop environments that want to identify - multiple running sessions of itself easily. - + A new SELinuxContext= setting for service units has been - added that allows setting a specific SELinux execution - context for a service. - + Most systemd client tools will now honour $SYSTEMD_LESS for - settings of the "less" pager. - + systemd's "seccomp" hook-up has been changed to make use of - the libseccomp library instead of using its own - implementation. This has benefits for portability among - other things. -- Dropped systemd patches as those are fixed upstream: - * 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch - * 0002-fix-lingering-references-to-var-lib-backlight-random.patch - * 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch - * 0004-systemctl-fix-name-mangling-for-sysv-units.patch - * 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch - * 0006-journald-add-missing-error-check.patch - * 0007-bus-fix-potentially-uninitialized-memory-access.patch - * 0008-dbus-fix-return-value-of-dispatch_rqueue.patch - * 0009-modules-load-fix-error-handling.patch - * 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch - * 0011-strv-don-t-access-potentially-NULL-string-arrays.patch - * 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch - * 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch - * 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch - * 0001-gpt-auto-generator-exit-immediately-if-in-container.patch - * 0001-manager-when-verifying-whether-clients-may-change-en.patch - * 0001-logind-fix-bus-introspection-data-for-TakeControl.patch - * 0001-mount-check-for-NULL-before-reading-pm-what.patch - * 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch - * 0001-systemd-serialize-deserialize-forbid_restart-value.patch - * 0001-core-unify-the-way-we-denote-serialization-attribute.patch - * 0001-journald-fix-minor-memory-leak.patch - * 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch - * 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch - * 0001-login-fix-invalid-free-in-sd_session_get_vt.patch - * 0001-login-make-sd_session_get_vt-actually-work.patch - * 0001-Never-call-qsort-on-potentially-NULL-arrays.patch - * 0001-dbus-common-avoid-leak-in-error-path.patch - * 0001-drop-ins-check-return-value.patch - * 0001-shared-util-Fix-glob_extend-argument.patch - * 0001-Fix-bad-assert-in-show_pid_array.patch - * 0001-analyze-set-white-background.patch - * 0001-analyze-set-text-on-side-with-most-space.patch - * analyze-fix-crash-in-command-line-parsing.patch - * 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - * U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * build-sys-make-multi-seat-x-optional.patch - * 1017-skip-native-unit-handling-if-sysv-already-handled.patch - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Dropped backported systemd patches as those are fixed upstream - * 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - * 1011-check-4-valid-kmsg-device.patch - * 0001-logind-garbage-collect-stale-users.patch -- Dropped udev patches as those are fixed fixed upstream: - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch -- Modified patches - * 1006-udev-always-rename-network.patch -- Replaced patches - * the patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - is upstream now but has to be replaced by patch - 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to fix an further issue similar to the upstream patch (bnc#852015) - * the patch - 0001-upstream-systemctl-halt-reboot-error-handling.patch - is upstream now, only the part with the halt after a failed poweroff - has been added to the patch - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - -------------------------------------------------------------------- -Thu Feb 27 15:13:09 UTC 2014 - werner@suse.de - -- Add patch 0001-make-209-working-on-older-dist.patch to make - it usable on older distributions like 13.1 - -------------------------------------------------------------------- -Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de - -- Add patch 0001-add-network-device-after-NFS-mount-units.patch to - add "After" dependency to all NFS shares to the network interface - device as this ensures at shutdown that the NFS share becomes - unmounted before the interface is down (bnc#861489) - -+------------------------------------------------------------------- -------------------------------------------------------------------- -Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de - -- enable compat-libs, BuildRequires binutils-gold - ("old" ld fails on ifunc magic) - -------------------------------------------------------------------- -Sun Feb 23 16:11:22 UTC 2014 - stefan.bruens@rwth-aachen.de - -- add network link configuration for udev - -------------------------------------------------------------------- -Sun Feb 23 15:44:01 UTC 2014 - stefan.bruens@rwth-aachen.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - move to core and link in directly to avoid libudev dep all over -- Disable networkd -- Disable compat-libs, adapt files section -- add and remove some entries in the files section - -------------------------------------------------------------------- -Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de - -- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit - scripts (bnc#863217) - -------------------------------------------------------------------- -Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to do a final sync() and flush the disks - -------------------------------------------------------------------- -Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de - -- Add several upstream bugfix patches which are missed: - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - to avoid potential NULL pointer -- Reorder patches to reflect udev/systemd usage - -------------------------------------------------------------------- -Tue Feb 11 10:53:48 UTC 2014 - coolo@suse.com - -- don't build bash-completions for bootstrap package - -------------------------------------------------------------------- -Tue Feb 11 10:25:26 UTC 2014 - coolo@suse.com - -- add more requires to this-is-only-for-build-envs to avoid - problems in kiwi configs - -------------------------------------------------------------------- -Mon Feb 10 15:15:35 UTC 2014 - werner@suse.de - -- Add patch 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - to be able to kill sessions (bnc#860574) - -------------------------------------------------------------------- -Mon Feb 10 11:19:31 UTC 2014 - werner@suse.de - -- Do not return from main shell script but simply exit (bnc#862789) - -------------------------------------------------------------------- -Sun Feb 9 18:43:38 UTC 2014 - werner@suse.de - -- ... as only the systemd-analyze completion depends on - bash-completion I prefere a without which has to be defined - for SLES 12 - -------------------------------------------------------------------- -Sun Feb 9 11:21:07 UTC 2014 - coolo@suse.com - -- avoid bootstrap cycle with libusb and systemd-mini - -------------------------------------------------------------------- -Sat Feb 8 06:12:55 UTC 2014 - coolo@suse.com - -- split bash-completion support into its own package, - no need for sles_version - -------------------------------------------------------------------- -Fri Feb 7 13:02:28 UTC 2014 - werner@suse.de - -- Split off systemd-rpm-macros as a separate package to avoid - a rebuild of all packages due new systemd package -- Define a sles_version 12 for suse_version 1315 - -------------------------------------------------------------------- -Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to disable the workaround to find /dev/3270/tty1 as this now - should be done by a) the kernel patch - http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html - and the changed udev rule 99-systemd.rules - -------------------------------------------------------------------- -Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com - -- Remove PreReq pidof from udev, nothing in this pkg uses it - -------------------------------------------------------------------- -Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to re-enable colouring if 3270 console was enforced on the kernel - command line as 3270 cna handle colour ANSI escape sequences. - Also let the serial getty generator find the /dev/3270/tty1 - character device (bnc#861316) - -------------------------------------------------------------------- -Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de - -- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to strip the colouring ANSI escape sequences from the console - messages (bnc#860937) - -------------------------------------------------------------------- -Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip already by the kernel managed devices - -------------------------------------------------------------------- -Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com - -- fix timeout stopping user@.service (bnc#841544) - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - -------------------------------------------------------------------- -Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de - -- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch - to be able to detect if the sysctl reboot() returns. -- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - A check for unmaintained disk like devices is added to be able to - flush and maybe shut them down. Also the missing sync() system - call is added for the direct halt/reboot systemctl command. Then - the system halt is used as fallback if poweroff fails for both - the direct poweroff systemctl command as well as for the - systemd-shutdown utility. - -------------------------------------------------------------------- -Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de - -- Make systemd-mini build - -------------------------------------------------------------------- -Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de - -- Make requires bash-completion a recommends - -------------------------------------------------------------------- -Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de - -- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch - to avoid that enabled boot scripts will be handled as unit files - by systemctl status command (bnc#818044) - -------------------------------------------------------------------- -Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de - -- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch - as the original code behaves exactly as the shutdown code of - the old SysVinit (bnc#750845) -- Rename support-powerfail-with-powerstatus.patch to - 1016-support-powerfail-with-powerstatus.patch - -------------------------------------------------------------------- -Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com - -- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in - systemd-analyze (bnc#859365) - -------------------------------------------------------------------- -Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de - -- Add patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to make redirections work with the bash command completions for - for systemd command tools (bnc#856858, bnc#859072) - -------------------------------------------------------------------- -Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de - -- Add patch - 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to support the "+" to tag wanted dependencies as well as make - sure that required dependencies are handles as required ones. - This should fix bnc#858864 and bnc#857204. - -------------------------------------------------------------------- -Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de - -- apply preset also to service files that are new in upgrade - -------------------------------------------------------------------- -Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de - -- Change support-powerfail-with-powerstatus.patch to use BindsTo - instead of BindTo - -------------------------------------------------------------------- -Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de - -- Add patch 1017-enforce-sufficient-shutdown-warnings.patch - Warn once per hour in the last 3 hours, then all 30 minutes in last - hour, all 15 minutes in the last 45 minutes, all 10 minutes in the - last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) - -------------------------------------------------------------------- -Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de - -- Add patch support-powerfail-with-powerstatus.patch and source - file systemd-powerfail to implement SIGPWR support with evaluation - of the file /var/run/powerstatus (bnc#737690) - -------------------------------------------------------------------- -Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de - -- Adapt patch - 1011-check-4-valid-kmsg-device.patch - to fit current upstream version maybe related to bnc#854884 -- Change patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() - may fix bnc#855160 - -------------------------------------------------------------------- -Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com - -- Disable multi-seat-x build, since package xorg-x11-server - currently in Factory no longer needs it. - -------------------------------------------------------------------- -Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com - -- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a - running user manager from garbage-collecting the user. Original - behavior caused bnc#849870 - -------------------------------------------------------------------- -Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com - -- Add build-sys-make-multi-seat-x-optional.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 - * Now systemd-multi-seat-x build can be disabled with configure option - --disable-multi-seat-x. It should be done when xorg-x11-server - no longer needs it (work in progress). - -------------------------------------------------------------------- -Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com - -- Update insserv-generator.patch: fix crash in insserv generator - (bnc#854314). -- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes - for Nvidia cards (bnc#808319). - -------------------------------------------------------------------- -Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de - -- Add patch - 1014-journald-with-journaling-FS.patch - which now uses the file system ioctls for switching off atime, - compression, and copy-on-write of the journal directory of the - the systemd-journald (bnc#838475) -- Let us build require the package config for libpcre (bnc#853293) - -------------------------------------------------------------------- -Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com - -- Add patch - 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - Make sure emergency shell is not killed by attempt to start another unit - (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. -- Add patch - make-emergency.service-conflict-with-syslog.socket.patch - Previous patch did not fix problem if syslog connection request came - after emergency shell was already started. So forcibly stop syslog.socket - when starting emergency.service. (bnc#852232) - -------------------------------------------------------------------- -Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com - -- Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 - -------------------------------------------------------------------- -Tue Nov 26 15:12:58 UTC 2013 - werner@suse.de - -- Add patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to avoid (xdg-)su to set XDG_RUNTIME_DIR to the original user and - avoid that e.g. pulseaudio will create /run/user//pulse owned - by root (bnc#852015) - -------------------------------------------------------------------- -Thu Nov 21 12:27:11 UTC 2013 - werner@suse.de - -- Add patch - 1011-check-4-valid-kmsg-device.patch - to avoid a busy systemd-journald (bnc#851393) - -------------------------------------------------------------------- -Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de - -- Add patch - 1010-do-not-install-sulogin-unit-with-poweroff.patch - that is do not install console-shell.service in any system target - as this will cause automatic poweroff at boot (bnc#849071) - -------------------------------------------------------------------- -Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-text-on-side-with-most-space.patch - to place the text on the side with most space - -------------------------------------------------------------------- -Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-white-background.patch - to make SVG output of systemd analyze readable - -------------------------------------------------------------------- -Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de - -- Add patch - 1009-make-xsltproc-use-correct-ROFF-links.patch - to have valid ROFF links in manual pages working again (bnc#842844) - -------------------------------------------------------------------- -Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com - -- Add - 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: - don't start gpt auto-generator in container (git). -- Add - 0001-manager-when-verifying-whether-clients-may-change-en.patch: - fix reload check in selinux case (git). -- Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: - fix introspection for TakeControl (git). -- Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix - crash when parsing some incorrect unit (git). -- Add - 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: - Fix udev rules parsing (git). -- Add - 0001-systemd-serialize-deserialize-forbid_restart-value.patch: - Fix incorrect deserialization for forbid_restart (git). -- Add - 0001-core-unify-the-way-we-denote-serialization-attribute.patch: - Ensure forbid_restart is named like other attributes (git). -- Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in - journald (git). -- Add - 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: - Improve ACPI firmware performance parsing (git). -- Add - 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: - Fix journal rotation (git). -- Add - 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: - Fix memory corruption in sd_session_get_vt (git). -- Add 0001-login-make-sd_session_get_vt-actually-work.patch: Ensure - sd_session_get_vt returns correct value (git). -- Add 0001-Never-call-qsort-on-potentially-NULL-arrays.patch: Don't - call qsort on NULL arrays (git). -- Add 0001-dbus-common-avoid-leak-in-error-path.patch: Fix memleak - in dbus-common code (git). -- Add 0001-drop-ins-check-return-value.patch: Fix return value for - drop-ins checks (git). -- Add 0001-shared-util-Fix-glob_extend-argument.patch: Fix - glob_extend argument (git). -- Add 0001-Fix-bad-assert-in-show_pid_array.patch: Fix bad assert - in show_pid_array (git). - - -------------------------------------------------------------------- -Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com - -- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: - fix acpi memleak. -- Add - 0002-fix-lingering-references-to-var-lib-backlight-random.patch: - fix invalid path in documentation. -- Add - 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: - fix invalid memory free. -- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix - name mangling for sysv units. -- Add - 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: - fix OOM handling. -- Add 0006-journald-add-missing-error-check.patch: add missing - error check. -- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: - fix uninitialized memory access. -- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix - return value. -- Add 0009-modules-load-fix-error-handling.patch: fix error - handling. -- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: - fix incorrect memory access. -- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: - fix incorrect memory access. -- Add - 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: - fix invalid pointer. -- Add - 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: - fix permission on /run/log/journal. -- Add - 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: - order remote mount points properly before remote-fs.target. - -------------------------------------------------------------------- -Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com - -- Explicitly require pam-config for %post of the main package - -------------------------------------------------------------------- -Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com - -- Release v208: - + logind gained support for facilitating privileged input and drm - devices access for unprivileged clients (helps Wayland / - kmscon). - + New kernel command line luks.options= allows to specify LUKS - options, when used with luks.uuid= - + tmpfileS.d snippets can uses specifier expansion in path names - (%m, %b, %H, %v). - + New tmpfiles.d command "m" introduced to change - owner/group/access mode of a file/directory only if it exists. - + MemorySoftLimit= cgroup settings is no longer supported - (underlying kernel cgroup attribute will disappear in the - future). - + memeory.use_hierarchy cgroup attribute is enabled for all - cgroups systemd creates in memory cgroup hierarchy. - + New filed _SYSTEMD_SLICE= is logged in journal messages related - to a slice. - + systemd-journald will no longer adjust the group of journal - files it creates to "systemd-journal" group. Permissions and - owernship is adjusted when package is upgraded. - + Backlight and random seed files are now stored in - /var/lib/systemd. - + Boot time performance measurements included ACPI 5.0 FPDT - informations if available. -- Drop merged patches: - 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, - 0002-cgroup-correct-the-log-information.patch, - 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, - 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, - 0005-core-cgroup-first-print-then-free.patch, - 0006-swap-fix-reverse-dependencies.patch, - 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, - 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, - Fix-timeout-when-stopping-Type-notify-service.patch, - set-ignoreonisolate-noauto-cryptsetup.patch, - 0001-Fix-buffer-overrun-when-enumerating-files.patch, - 0007-libudev-fix-move_later-comparison.patch. -- Refresh patches - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. -- Own more ghost files. -- Do not run pam-config in systemd-mini %post. -- Add after-local.service to run after.local late during the boot - process (bnc#778715). - -------------------------------------------------------------------- -Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com - -- Update Fix-timeout-when-stopping-Type-notify-service.patch with - upstream fix. -- No longer start ask-password-wall, was causing too much spam on - terminals (bnc#747783). - -------------------------------------------------------------------- -Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com - -- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto - encrypted mounts survives runlevel changes (bnc#843085). -- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix - logind crash when /run/systemd/sessions was too big (bnc#840055, - initial fix from hpj@suse.com). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - only check for /boot/sysctl.conf- presence. -- Add service wrapper for after.local (bnc#778715). - -------------------------------------------------------------------- -Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com - -- Update use-usr-sbin-sulogin-for-emergency-service.patch to apply - to all services using sulogin and remove generated files from - upstream tarball (bnc#841398). - -------------------------------------------------------------------- -Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com - -- Fix-timeout-when-stopping-Type-notify-service.patch - Make sure MAINPID is watched when it becomes known (bnc#841544) - -------------------------------------------------------------------- -Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com - -- Remove output and error redirection to /dev/null in install - script, it might help tracing pam related issue (bnc#841573). - -------------------------------------------------------------------- -Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com - -- Move symlink migration trigger to post (bnc#821800). - -------------------------------------------------------------------- -Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org - -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch - VUL-0: polkit: process subject race condition [bnc#835827] - CVE-2013-4288 - -------------------------------------------------------------------- -Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-ima as the openSUSE kernel - does not support IMA (CONFIG_IMA is not set) - -------------------------------------------------------------------- -Wed Sep 18 23:40:27 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-smack as the openSUSE kernel - does not support smack (CONFIG_SECURITY_SMACK is not set) - -------------------------------------------------------------------- -Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com - -- Don't use a trigger to create symlink for sysctl.conf, always run - the test on %post (bnc#840864). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - ensure /boot is mounted before reading /boot/sysctl.conf-* - (bnc#809420). - -------------------------------------------------------------------- -Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org - -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous - commit & the opensuse-factory mailing list. - -------------------------------------------------------------------- -Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org - -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch - missing important check on return value. -- 0002-cgroup-correct-the-log-information.patch fix misleading - log information. -- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix - setting memory cgroup -- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch - should fail if write fails. -- 0005-core-cgroup-first-print-then-free.patch use-after-free - will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in - opensuse-factory list, topic "swap isn't activated" -- 0007-libudev-fix-move_later-comparison.patch libudev - invalid usage of "move_later". - -------------------------------------------------------------------- -Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - -- while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: - No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of - /run/dbus/system_bus_socket and that does not fly when /var/run - is not yet available. (systemd-dbus-system-bus-address.patch) - -------------------------------------------------------------------- -Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com - -- Enable Predictable Network interface names (bnc#829526). - -------------------------------------------------------------------- -Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org - -- version 207, distribution specific changes follow, for overall - release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: - Operation not permitted - * Fix shutdown hang "a stop job is running for Session 1 of user root" - that was reported in opensuse-factory list. -- systemd-sysctl no longer reads /etc/sysctl.conf however backward - compatbility is to be provides by a symlink created at %post. -- removed previously disabled upstream patches (merged): - 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, - 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, - 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, - 0006-suppress-status-message-output-at-shutdown-when-quie.patch, -- removed upstream merged patches: - exclude-dev-from-tmpfiles.patch, - logind_update_state_file_after_generating_....patch -- Add systemd-pam_config.patch: use correct include name for PAM - configuration on openSUSE. - -------------------------------------------------------------------- -Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com - -- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from - tmpfiles (bnc#835813). - -------------------------------------------------------------------- -Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com - -- Remove - force-lvm-restart-after-cryptsetup-target-is-reached.patch and - remove additional dependencies on LVM in other patches: LVM has - now systemd support, no need to work around it anymore in - systemd. - -------------------------------------------------------------------- -Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com - -- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch - to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 - -------------------------------------------------------------------- -Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de - -- explicitly enable getty@tty1.service instead of getty@.service as - the tty1 alias has been removed from the file (bnc#833494) - -------------------------------------------------------------------- -Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com - -- Ensure /usr/lib/systemd/system/shutdown.target.wants is created - and owned by systemd package. - -------------------------------------------------------------------- -Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com - -- Fix drop-in for getty@tty1.service - -------------------------------------------------------------------- -Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com - -- Move systemd-journal-gateway to subpackage to lower dependencies - in default install. - -------------------------------------------------------------------- -Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org - -- version 206 , highlights: -* Unit files now understand the new %v specifier which - resolves to the kernel version string as returned by "uname-r". -* "journalctl -b" may now be used to look for boot output of a - specific boot. Try "journalctl -b -1" -* Creation of "dead" device nodes has been moved from udev - into kmod and tmpfiles. -* The udev "keymap" data files and tools to apply keyboard - specific mappings of scan to key codes, and force-release - scan code lists have been entirely replaced by a udev - "keyboard" builtin and a hwdb data file. - -- remove patches now in upstream -- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 -- systemd now require the kmod tool in addition to the library. - -------------------------------------------------------------------- -Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com - -- use-usr-sbin-sulogin-for-emergency-service.patch - emergency.service failed to start because sulogin is in /usr/sbin now - -------------------------------------------------------------------- -Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de - -- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, - not a directory - -------------------------------------------------------------------- -Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org - -- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch - fix segfault at shutdown -- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch - disable the cgroups release agent when shutting down. -- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch - remove ancient fallback code; turn connection error into warning -- 006-suppress-status-message-output-at-shutdown-when-quie.patch - make shutdown honour "quiet" kernel cmdline. - -------------------------------------------------------------------- -Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org - -- fix broken symlink, service is called systemd-random-seed now. - -------------------------------------------------------------------- -Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com - -- Update to release 205: - + two new unit types have been introduced: - - Scope units are very similar to service units, however, are - created out of pre-existing processes -- instead of PID 1 - forking off the processes. - - Slice units may be used to partition system resources in an - hierarchial fashion and then assign other units to them. By - default there are now three slices: system.slice (for all - system services), user.slice (for all user sessions), - machine.slice (for VMs and containers). - + new concept of "transient" units, which are created at runtime - using an API and not based on configuration from disk. - + logind has been updated to make use of scope and slice units to - manage user sessions. Logind will no longer create cgroups - hierchies itself but will relying on PID 1. - + A new mini-daemon "systemd-machined" has been added which - may be used by virtualization managers to register local - VMs/containers. machinectl tool has been added to query - meta-data from systemd-machined. - + Low-level cgroup configuration options ControlGroup=, - ControlGroupModify=, ControlGroupPersistent=, - ControlGroupAttribute= have been removed. High-level attribute - settings or slice units should be used instead? - + A new bus call SetUnitProperties() has been added to alter - various runtime parameters of a unit, including cgroup - parameters. systemctl gained set-properties command to wrap - this call. - + A new tool "systemd-run" has been added which can be used to - run arbitrary command lines as transient services or scopes, - while configuring a number of settings via the command - line. - + nspawn will now inform the user explicitly that kernels with - audit enabled break containers, and suggest the user to turn - off audit. - + Support for detecting the IMA and AppArmor security - frameworks with ConditionSecurity= has been added. - + journalctl gained a new "-k" switch for showing only kernel - messages, mimicking dmesg output; in addition to "--user" - and "--system" switches for showing only user's own logs - and system logs. - + systemd-delta can now show information about drop-in - snippets extending unit files. - + systemd will now look for the "debug" argument on the kernel - command line and enable debug logging, similar to - "systemd.log_level=debug" already did before. - + "systemctl set-default", "systemctl get-default" has been - added to configure the default.target symlink, which - controls what to boot into by default. - + "systemctl set-log-level" has been added as a convenient - way to raise and lower systemd logging threshold. - + "systemd-analyze plot" will now show the time the various - generators needed for execution, as well as information - about the unit file loading. - + libsystemd-journal gained a new sd_journal_open_files() call - for opening specific journal files. journactl also gained a - new switch to expose this new functionality (useful for - debugging). - + systemd gained the new DefaultEnvironment= setting in - /etc/systemd/system.conf to set environment variables for - all services. - + If a privileged process logs a journal message with the - OBJECT_PID= field set, then journald will automatically - augment this with additional OBJECT_UID=, OBJECT_GID=, - OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if - system services want to log events about specific client - processes. journactl/systemctl has been updated to make use - of this information if all log messages regarding a specific - unit is requested. -- Remove 0001-journal-letting-interleaved-seqnums-go.patch, - 0002-journal-remember-last-direction-of-search-and-keep-o.patch, - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, - 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, - 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, - 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, - 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, - Start-ctrl-alt-del.target-irreversibly.patch, - systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged - upstream. -- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, - 1008-add-msft-compability-rules.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, - fix-support-for-boot-prefixed-initscript-bnc-746506.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch, - insserv-generator.patch, - optionally-warn-if-nss-myhostname-is-called.patch, - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, - service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. -- Update macros.systemd.upstream with latest upstream revision. - -------------------------------------------------------------------- -Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com - -- Replace - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch - patch with insserv-generator.patch: no longer patch systemd main - binary but generate systemd drop-in files using a generator, for - insserv.conf compatibility. - -------------------------------------------------------------------- -Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com - -- systemd-mini doesn't need dbus-1, only dbus-1-devel - -------------------------------------------------------------------- -Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com - -- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). - add: 1008-add-msft-compability-rules.patch - -------------------------------------------------------------------- -Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com - -- Drop 1007-add-msft-compability-rules.patch, breaks boot and links - in /dev/disk/by-id, will need proper rework (bnc#826528). - -------------------------------------------------------------------- -Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org - -- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another - case where we are trying to umount the root directory at shutdown. -- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch - only attempt to connect to a session bus if one likely exists - -------------------------------------------------------------------- -Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - -- Automatically online CPUs/Memory on CPU/Memory hotplug add events - (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - -- Dropped backward compatibility -- Added check for upstream rpm macros changes - -------------------------------------------------------------------- -Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com - -- Split out RPM macros into separate package to simplify dependencies - -------------------------------------------------------------------- -Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - -- 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 - -------------------------------------------------------------------- -Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de - -- Explicitly list libattr-devel as BuildRequires -- More robust make install call. Remove redundant %clean section. - -------------------------------------------------------------------- -Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz - -- Cleanup NumLock setting code - (handle-numlock-value-in-etc-sysconfig-keyboard.patch). - -------------------------------------------------------------------- -Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com - -- Only apply 1007-add-msft-compability-rules.patch when not - building systemd-mini. - -------------------------------------------------------------------- -Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com - -- Add udev MSFT compability rules (bnc#805059). - add: 1007-add-msft-compability-rules.patch -- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). -- Clean-up spec file, put udev patches after systemd patches. -- Rebase patches so they would apply nicely. - -------------------------------------------------------------------- -Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - -- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch - fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, - ignoring: Invalid argument -- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch - systemctl disable should remove dangling symlinks. -- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch - alien childs are reported as alive when they are really dead. - -------------------------------------------------------------------- -Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com - -- Update to release 204: - + systemd-nspawn creates etc/resolv.conf in container if needed. - + systemd-nspawn will store metadata about container in container - cgroup including its root directory. - + cgroup hierarchy has been reworked, all objects are now suffxed - (with .session for user sessions, .user for users, .nspawn for - containers). All cgroup names are now escaped to preven - collision of object names. - + systemctl list-dependencies gained --plain, --reverse, --after - and --before switches. - + systemd-inhibit shows processes name taking inhibitor lock. - + nss-myhostname will now resolve "localhost" implicitly. - + .include is not allowed recursively anymore and only in unit - files. Drop-in files should be favored in most cases. - + systemd-analyze gained "critical-chain" command, to get slowest - chain of units run during boot-up. - + systemd-nspawn@.service has been added to easily run nspawn - container for system services. Just start - "systemd-nspawn@foobar.service" and container from - /var/lib/container/foobar" will be booted. - + systemd-cgls has new --machine parameter to list processes from - one container. - + ConditionSecurity= can now check for apparmor and SMACK. - + /etc/systemd/sleep.conf has been introduced to configure which - kernel operation will be execute when "suspend", "hibernate" or - "hybrid-sleep" is requrested. It allow new kernel "freeze" - state to be used too. (This setting won't have any effect if - pm-utils is installed). - + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape - passed argument if applicable. -- Regenerate some patches for this new release. -- Rename hostname-setup-shortname.patch to - ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git - format-patch friendly. -- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to - /dev/nvidia* (bnc#808319). -- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a - configure option. -- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids - expansion errors. -- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del - should be irreversible for reliability. - -------------------------------------------------------------------- -Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org - -- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash -support has been removed from the kernel. -- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch -fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 -- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in -Revert-service-drop-support-for-SysV-scripts-for-the-early.patch -use HAVE_SYSV_COMPAT instead. - -------------------------------------------------------------------- -Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com - -- Do no ship defaults for sysctl, they should be part of aaa_base - (currently in procps). -- Add hostname-setup-shortname.patch: ensure shortname is set as - hostname (bnc#820213). - -------------------------------------------------------------------- -Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com - -- Rebase - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to - fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). - -------------------------------------------------------------------- -Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com - -- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure - /boot/sysctl.conf- is handled (bnc#809420). - -------------------------------------------------------------------- -Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com - -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't - free variable whose content is still be used (bnc#819970). - -------------------------------------------------------------------- -Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com - -- Add configure flags to ensure boot.local/halt.local are run on - startup/shutdown. - -------------------------------------------------------------------- -Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com - -- Fix firmware loading by enabling --with-firmware-path (bnc#817551). - -------------------------------------------------------------------- -Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de - -- Fix systemd-sysv-convert, so empty runlevel folders don't lead - to "line 44: [: too many arguments" - -------------------------------------------------------------------- -Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com - -- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup - when using /etc/HOSTNAME. - -------------------------------------------------------------------- -Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - -- Rename remaning udev patches (clean-up). -- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). -- Drop unused patches: - 1001-Reinstate-TIMEOUT-handling.patch - 1005-udev-fix-sg-autoload-regression.patch - 1026-re-add-persistent-net.patch - -------------------------------------------------------------------- -Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com - -- Use drop-in file to fix bnc#804158. - -------------------------------------------------------------------- -Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com - -- add some more conflicts to make bootstrap work - -------------------------------------------------------------------- -Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com - -- Do not provide %{release} for systemd-analyze -- Add more conflicts to -mini packages -- Disable Predictable Network interface names until it has been - reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. -- Don't package /usr/lib/firmware/update (not used) - -------------------------------------------------------------------- -Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org - -- Fix packaging error, there is no syslog.target anymore - do not pretend there is one. - -------------------------------------------------------------------- -Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com - -- Update to release 202: - + 'systemctl list-jobs' got some polishing. '--type=' argument - may now be passed more than once. 'systemctl list-sockets' has - been added. - + systemd gained a new unit 'systemd-static-nodes.service' - that generates static device nodes earlier during boot, and - can run in conjunction with udev. - + systemd-nspawn now places all containers in the new /machine - top-level cgroup directory in the name=systemd hierarchy. - + bootchart can now store its data in the journal. - + journactl can now take multiple --unit= and --user-unit= - switches. - + The cryptsetup logic now understands the "luks.key=" kernel - line switch. If a configured key file is missing, it - will fallback to prompting the user. -- Rebase some patches -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to - properly handle SYSTEMCTL_OPTIONS - -------------------------------------------------------------------- -Fri Apr 19 12:47:13 UTC 2013 - max@suse.com - -- Fix regression in the default for tmp auto-deletion - (systemd-tmp-safe-defaults.patch, FATE#314974). - -------------------------------------------------------------------- -Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com - -- Update to release 201: - + udev now supports different nameng policies for network - interface for predictable names. - + udev gained support for loading additional device properties - from an indexed database. %udev_hwdb_update macro should be - used by packages adding entries to this database. - + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. - %journal_catalog_update macro should be used by packages adding - %entries to this database. - + "age" field for tmpfiles entries can be set to 0, forcing - removal of files matching this entry. - + coredumpctl gained "gdb" verb to invoke gdb on selected - coredump. - + New rpm macros has been added: %udev_rules_update(), - %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, - %_tmpfilesdir, %_sysctldir. - + In service files, %U can be used for configured user name of - the service. - + nspawn can be invoked without a controlling TTY. - + systemd and nspawn can accept socket file descriptors when - started for socket activation. This allow socket activated - nspawn containers. - + logind can now automatically suspend/hibernate/shutdown system - on idle. - + ConditionACPower can be used in unit file to detect if AC power - source is connected or if system is on battery power. - + EnvironmentFile= in unit files supports file globbing. - + Behaviour of PrivateTmp=, ReadWriteDirectories=, - ReadOnlyDirectories= and InaccessibleDirectories= has - changed. The private /tmp and /var/tmp directories are now - shared by all processes of a service (which means - ExecStartPre= may now leave data in /tmp that ExecStart= of - the same service can still access). When a service is - stopped its temporary directories are immediately deleted - (normal clean-up with tmpfiles is still done in addition to - this though). - + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using - "systemctl set-cgroup-attr foobar.server cgroup.attribute - value". Those settings are stored persistenly on disk. - + systemd-vconsole-setup will now copy all fonts settings to all - allocated VTs. - + timedated now exposes CanNTP property to indicate if a local - NTP service is available. - + pstore file system is mounted by default, if available. - + SMACK policies are loaded at early boot, if available. - + Timer units now support calendar time events. - + systemd-detect-virt detect xen PVs. - + Some distributions specific LSB targets has been dropped: - $x-display-manager, $mail-transfer-agent, - $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As - well mail-transfer-agent.target and syslog.target has been - removed. - + systemd-journal-gatewayd gained SSL support and now runs as - unprivileged user/group - "systemd-journal-gateway:systemd-journal-gateway" - + systemd-analyze will read, when available, boot time - performance from EFI variable from boot loader supporting it. - + A new generator for automatically mounting EFI System Partition - (ESP) to /boot (if empty and no other file system has been - configured in fstab for it). - + logind will now send out PrepareForSleep(false) out - unconditionally, after coming back from suspend. - + tmpfiles gained a new "X" line type, that allows - configuration of files and directories (with wildcards) that - shall be excluded from automatic cleanup ("aging"). - + udev default rules set the device node permissions now only - at "add" events, and do not change them any longer with a - later "change" event. - + A new bootctl tool has been added that is an interface for - certain EFI boot loader operations. - + A new tool kernel-install has been added to install kernel - images according to Boot Loader Specification. - + A new tool systemd-activate can be used to test socket - activation. - + A new group "systemd-journal" is now owning journal files, - replacing "adm" group. - + journalctl gained "--reverse" to show output in reverse order, - "--pager-end" to jump at the end of the journal in the - pager (only less is supported) and "--user-unit" to filter for - user units. - + New unit files has been addedto ease for systemd usage in - initrd. - + "systemctl start" now supports "--irreversible" to queue - operations which can be reserved. It is now used to make - shutdown requests more robust. - + Auke Kok's bootchart has been merged and relicensed to - LGPLv2.1+. - + nss-myhostname has been merged in systemd codebase. - + some defaults sysctl values are now set by default: the safe - sysrq options are turned on, IP route verification is turned - on, and source routing disabled. The recently added hardlink - and softlink protection of the kernel is turned on. - + Add support for predictable network naming logic. It can be - turned off with kernel command line switch: net.ifnames=0 - + journald will now explicitly flush journal files to disk at the - latest 5 min after each write and will mark file offline until - next read. This should increase reliability in case of crash. - + remote-fs-setup.target target has been added to pull in - specific services when at least one remote file system is to be - mounted. - + timers.target and paths.target have been added as canonical - targets to pull user timer and path units, similar to - sockets.targets. - + udev daemon now sets default number of worker processes in - parallel based on number of CPUs instead of RAM. - + Most unit file settings which takes likst of items can now be -reset by assigning empty string to them, using drop-in. - + Add support for drop-in configuration file for units. - + Most unit file settings which takes likst of items can now be - reset by assigning empty string to them, using drop-in. - + improve systemg-cgtop output. - + improve 'systemctl status' output for socket, drop-in for units. - + 'hostnamectl set-hostname' allows setting FQDN hostnames. - + fractional time intervals are now parsed properly. - + localectl can list available X11 keymaps. - + systemd-analyze dot can filter for specific units and has been - rewritten in C. - + systemctl gained "list-dependencies" command. - + Inhibitors are now honored no only in GNOME. -- Many patches has been dropped, being merged upstream. -- Many patches has been renamed and regenerated with git, to have - consistent naming, authorship and comments embedded. -- Add - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: - re-add support for boot.* initscripts until they are all migrated - to systemd unit files. -- Merge patches for nss-myhostname package to this package. - -------------------------------------------------------------------- -Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com - -- Add chromebook lid switch as a power switch to logind rule to - enable suspend on lid close - -------------------------------------------------------------------- -Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com - -- Add improve-readahead-spinning.patch: improve readahead - performance on spinning media with ext4. -- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal - (bnc#789589). -- Add fix-lsb-provides.patch: ensure LSB provides are correctly - handled if also referenced as dependencies (bnc#809646). -- Add fix-loopback-mount.patch: ensure udevd is started (and - therefore static devices are created) before mounting - (bnc#809820). -- Update systemd-sysv-convert to search services files in new - location (bnc#809695). -- Add logind-nvidia-acl.diff: set ACL on nvidia devices - (bnc#808319). -- Add do-no-isolate-on-fsck-failure.patch: do not turn off services - if fsck fails (bnc#812874) -- Add wait-for-processes-killed.patch: wait for processes killed by - SIGTERM before killing them with SIGKILL. -- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to - systemctl command (bnc#801878). - -------------------------------------------------------------------- -Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz - -- Fixed disabling CapsLock and enabling NumLock (bnc#746595, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - systemd-numlock-suse.patch). -- Explicitly require libgcrypt-devel to fix build failure. - -------------------------------------------------------------------- -Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - -- udev: ensure that the network interfaces are renamed even if they - exist (bnc#809843). - add: 1027-udev-always-rename-network.patch - -------------------------------------------------------------------- -Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - -- udev: re-add persistent network rules (bnc#809843). - add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. - -------------------------------------------------------------------- -Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com - -- Add rbind-mount.patch: handle rbind mount points correctly - (bnc#804575). - -------------------------------------------------------------------- -Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com - -- Ensure journal is flushed on disk when systemd-logger is - installed for the first time. -- Add improve-journal-perf.patch: improve journal performance on - query. -- Add support-hybrid-suspend.patch: add support for hybrid suspend. -- Add forward-to-pmutils.patch: forward suspend/hibernation calls - to pm-utils, if installed (bnc#790157). - -------------------------------------------------------------------- -Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - -- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer - add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -- udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch - -------------------------------------------------------------------- -Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de - -- Create getty@tty1.service to restore traditional SUSE behavior - of not clearing tty1. (bnc#804158) -- Better use of find -exec - -------------------------------------------------------------------- -Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com - -- Add early-sync-shutdown.patch: start sync just when - shutdown.target is beginning -- Update parse-multiline-env-file.patch to better handle continuing - lines. -- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). -- Add systemctl-print-wall-on-if-successful.patch: only print on - wall if successful. -- Add improve-bash-completion.patch: improve bash completion. - -------------------------------------------------------------------- -Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de - -- disable nss-myhostname warning (bnc#783841) - => disable-nss-myhostname-warning-bnc-783841.diff - -------------------------------------------------------------------- -Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - -- rework patch: - 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- udev: use unique names for temporary files created in /dev. - add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch -- cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch - -------------------------------------------------------------------- -Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com - -- usb_id: ensure we have a valid serial number as a string (bnc#779493). - add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- cdrom_id: created links for the default cd/dvd drive (bnc#783054). - add: 1021-create-default-links-for-primary-cd_dvd-drive.patch - -------------------------------------------------------------------- -Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com - -- Add cryptsetup-accept-read-only.patch: accept "read-only" in - addition to "readonly" in crypttab -- Update parse-multiline-env-file.patch to correctly handle - commented lines (bnc#793411) - -------------------------------------------------------------------- -Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - -- udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch -- keymap: add aditional support for some keyboard keys - add: 1018-keymap-add-aditional-support.patch -- journalctl: require argument for --priority - add: journalctl-require-argument-for-priority -- dropped useless patches: - libudev-validate-argument-udev_enumerate_new.patch - kmod-fix-builtin-typo.patch -- rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for - systemd-udev-root-symlink.service - -------------------------------------------------------------------- -Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com - -- Add tmpfiles-X-type.patch: allow to clean directories with - removing them. -- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with - --ignore-dependencies waiting for dependencies (bnc#800365). -- Update systemd-numlock-suse.patch: udev-trigger.service is now - called systemd-udev-trigger.service. -- Add improve-man-environment.patch: improve manpage regarding - Environment value. - -------------------------------------------------------------------- -Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com - -- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly - (bnc#798620). -- Update crypt-loop-file.patch to correctly detect crypto loop - files (bnc#799514). -- Add journalctl-remove-leftover-message.patch: remove debug - message in systemctl. -- Add job-avoid-recursion-when-cancelling.patch: prevent potential - recursion when cancelling a service. -- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully - parsed. -- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff - max date for journal. -- Add reword-rescue-mode-hints.patch: reword rescue prompt. -- Add improve-overflow-checks.patch: improve time overflow checks. -- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour - with symlinks. -- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure - hostnamectl requires an argument when called with set-hostname - option. -- Add agetty-overrides-term.patch: pass correctly terminal type to - agetty. -- Add check-for-empty-strings-in-strto-conversions.patch: better - check for empty strings in strto* conversions. -- Add strv-cleanup-error-path-loops.patch: cleanup strv on error - path. -- Add cryptsetup-handle-plain.patch: correctly handle "plain" - option in cryptsetup. -- Add fstab-generator-improve-error-message.patch: improve error - message in fstab-generator. -- Add delta-accept-t-option.patch: accept -t option in - systemd-delta. -- Add highlight-ordering-cycle-deletions.patch: highlight ordering - cycle deletions in logs. -- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; - in ExecStart. -- Add hostnamectl-fix-parsing-no-ask-password.patch: accept - no-ask-password in hostnamectl. -- Add systemd-cgls-fix-piping-output.patch: fix piping output of - systemd-cgls. -- Add core-load-fragment-improve-error-message.patch: improve error - message when parsing fragments. -- Add fix-potential-bad-mem-access.patch: fix potential bad memory - access. -- Add socket-improve-error-message.patch: improve error message in - socket handling. -- Add journal-send-always-send-syslog_identifier.patch: always send - syslog_identifier if available for journal. -- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. -- Add crypsetup-generator-state-file-name-in-error-message.patch: - add filename in error message from crypsetup-generator. -- Add fstab-generator-error-message-on-duplicates.patch: improve - error message on duplicate in fstab-generator. -- Add systemctl-verbose-message-on-missing-install.patch: reword - missing install error message in systemctl. -- Add shutdown-improvements.patch: various improvements at - shutdown. -- Add localectl-fix-assertion.patch: fix assertion in localectl. -- Add path-util-fix-potential-crash.patch: fix potential crash in - path-util. -- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. -- Add socket-verbose-error-message.patch: add more verbose error - message in socket handling. -- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: - handle properly ssh-logins without pam tty field. -- Add fstab-generator-properly-detect-bind-mounts.patch: properly - detect bind-mounts in fstab-generator. -- Add localectl-support-systems-without-locale-archive.patch: - localectl now supports systemd without locale-archive file. -- Add logind-capability-making-seats-without-fb.patch: allows - capability of making seats without fb. -- Add service-forking-ignore-exit-status-main-process.patch: ignore - exit-statis of main process when forking, if specified in unit - file. -- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't - assert on reboot if dbus isn't there. -- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: - ignore non tty non-x11 session on shutdown. -- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io - error. -- Add do-not-make-sockets-dependent-on-lo.patch: do not make - sockets dependent on lo interface. -- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't - force MNT_FORCE on final umount at shutdown. -- Add shutdown-ignore-loop-devices-without-backing-file.patch: - ignore loop devices without backing file at shutdown. -- Add fix-bad-mem-access.patch: fix bad memory access -- Add parse-multiline-env-file.patch: correctly parse multiline - environment files (bnc#793411). - -------------------------------------------------------------------- -Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com - -- Add multiple-sulogin.patch: allows multiple sulogin instance - (bnc#793182). - -------------------------------------------------------------------- -Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com - -- udev: path_id - handle Hyper-V devices - add: 1008-udev-path_id-handle-Hyper-V-devices.patch -- keymap: Update the list of Samsung Series 9 models - add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -- keymap: Add Samsung 700T - add: 1010-keymap-Add-Samsung-700T.patch -- libudev: avoid leak during realloc failure - add: 1011-libudev-avoid-leak-during-realloc-failure.patch -- libudev: do not resolve $attr{device} symlinks - add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch -- libudev: validate 'udev' argument to udev_enumerate_new() - add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -- udev: fix whitespace - add: 1014-udev-fix-whitespace.patch -- udev: properly handle symlink removal by 'change' event - add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of - them returns an error - add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -- udev: use usec_t and now() - add: 1017-udev-use-usec_t-and-now.patch - -------------------------------------------------------------------- -Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - -- udevd: add missing ':' to getopt_long 'e'. - add: 1007-udevd-add-missing-to-getopt_long-e.patch -- clean up systemd.spec, make it easy to see which are udev and - systemd patches. -- make 'reload' and 'force-reload' LSB compliant (bnc#793936). - -------------------------------------------------------------------- -Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - -- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. -- timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. - -------------------------------------------------------------------- -Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com - -- add conflicts between udev-mini and udev-mini-devel to libudev1 - -------------------------------------------------------------------- -Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org - -- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: - do not consider failure to umount / and /usr an error. - -------------------------------------------------------------------- -Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com - -- Add fix-devname-prefix.patch: fix modules.devname path, it isn't - in /usr. -- Move post script to fix symlinks in /etc/systemd/system to a - trigger to run it after old systemd is uninstalled. - -------------------------------------------------------------------- -Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com - -- Add fix-debugshell.patch: use /bin/bash if sushell isn't - installed (bnc#789052). -- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype - (bnc#792182). -- Ensure libudev1 and libudev-mini1 conflicts. - -------------------------------------------------------------------- -Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com - -- Fix creation of /dev/root link. - -------------------------------------------------------------------- -Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com - -- Add remount-ro-before-unmount.patch: always remount read-only - before unmounting in final shutdown loop. -- Add switch-root-try-pivot-root.patch: try pivot_root before - overmounting / - -------------------------------------------------------------------- -Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com - -- links more manpages for migrated tools (from Christopher - Yeleighton). -- disable boot.localnet service, ypbind service will do the right - thing now (bnc#716746) -- add xdm-display-manager.patch: pull xdm.service instead of - display-manager.service (needed until xdm initscript is migrated - to native systemd service). -- Add fix-permissions-btmp.patch: ensure btmp is owned only by root - (bnc#777405). -- Have the udev package create a tape group, as referenced by - 50-udev-default.rules and 60-persistent-storage-tape.rules - (DimStar). -- Add fix-bad-memory-access.patch: fix crash in journal rotation. -- Add fix-dbus-crash.patch: fix D-Bus caused crash. -- Add sync-on-shutdown.patch: ensure sync is done when initiating - shutdown. -- Add mount-efivars.patch: mount efivars if booting on UEFI. - - -------------------------------------------------------------------- -Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com - -- Ship a empty systemd-journald initscript in systemd-logger to - stop insserv to complain about missing syslog dependency. -- Update - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch - with bug fixes from Debian. - -------------------------------------------------------------------- -Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com - -- /var/log/journal is now only provided by systemd-logger (journal - won't be persistent for people using another syslog - implementation). -- install README in /var/log (in systemd-logger) and /etc/init.d -- create adm group when installing systemd. -- fix path in udev-root-symlink.systemd. -- Enforce Requires(post) dependency on libudev in main systemd - package (help upgrade). -- Ensure configuration is reloaded when upgrading and save random - seed when installing. -- Create /lib/udev symlink, if we do a fresh install. -- Add fix-build-glibc217.patch: fix build with latest glibc. -- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only - used to bootstrap systemd-mini. - -------------------------------------------------------------------- -Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com - -- adding a package systemd-logger that blocks syslog implementations - from installation to make an installation that only uses the journal - -------------------------------------------------------------------- -Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com - -- Don't hardcode path for systemctl in udev post script. -- Ensure systemd-udevd.service is shadowing boot.udev when booting - under systemd. -- Fix udev daemon upgrade under both systemd and sysvinit. -- Add fix-logind-pty-seat.patch: fix logind complaining when doing - su/sudo in X terminal. - -------------------------------------------------------------------- -Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com - -- add libudev1 to baselibs.conf - -------------------------------------------------------------------- -Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com - -- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) - -------------------------------------------------------------------- -Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com - -- Add var-run-lock.patch: make sure /var/run and /var/lock are - handled as bind mount if they aren't symlinks. -- Update storage-after-cryptsetup.patch with new systemctl path. -- Migrate broken symlinks in /etc/systemd/system due to new systemd - location. - -------------------------------------------------------------------- -Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com - -- Update to release 195: - + journalctl agained --since and --until, as well as filtering - for units with --unit=/-u. - + allow ExecReload properly for Type=oneshot (needed for - iptables.service, rpc-nfsd.service). - + journal daemon supports time-based rotation and vaccuming. - + journalctl -F allow to list all values of a certain field in - journal database. - + new commandline clients for timedated, locald and hostnamed - + new tool systemd-coredumpctl to list and extract coredumps from - journal. - + improve gatewayd: follow mode, filtering, support for - HTML5/JSON Server-Sent-Events. - + reload support in SysV initscripts is now detected when file is - parted. - + "systemctl status --follow" as been removed, use "journalctl -fu - instead" - + journald.conf RuntimeMinSize and PersistentMinSize settings - have been removed. -- Add compatibility symlink for systemd-ask-password and systemctl - in /bin. - -------------------------------------------------------------------- -Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com - -- Create and own more systemd drop-in directories. - -------------------------------------------------------------------- -Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com - -- Improve mini packages for bootstrapping. -- do not mount /tmp as tmpfs by default. - -------------------------------------------------------------------- -Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com - -- Fix install script when there is no inittab - -------------------------------------------------------------------- -Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com - -- Create a systemd-mini specfile to prevent cycle in bootstrapping - -------------------------------------------------------------------- -Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com - -- udev and its subpackages are now generated by systemd source - package. -- migrate udev and systemd to /usr -- Update to version 194: - + if /etc/vconsole.conf is non-existent or empty and if - /etc/sysconfig/console:CONSOLE_FONT (resp - /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp - keymap) is not modified. -- Changes from version 44 to 193: - + journalctl gained --cursor= to show entries starting from a - specified location in journal. - + Size limit enforced to 4K for fields exported with "-o json" in - journalctl. Use --all to disable this behavior. - + Optional journal gateway daemon - (systemd-journal-gatewayd.service) to access journal via HTTP - and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and - 'curl -H"Accept: application/json" - http://localhost:19531/entries' for JSON formatted content. - HTML5 static page is also available as explained on - http://0pointer.de/public/journal-gatewayd - + do not mount cpuset controler, doesn't work well by default - ATM. - + improved nspawn behaviour with /etc/localtime - + journald logs its maximize size on disk - + multi-seat X wrapper (partially merged in upstream X server). - + HandleSleepKey has been splitted into HandleSuspendKey and - HandleHibernateKey. - + systemd and logind now handle system sleep states, in - particular suspending and hibernating. - + new cgroups are mounted by default (cpu, cpuacct, - net_cls, net_pri) - + sync at shutdown is now handled by kernel - + imported journalctl output (colors, filtering, pager, bash - completion). - + suffix ".service" may now be ommited on most systemctl command - involving service unit names. - + much improved nspawn containers support. - + new conditions added : ConditionFileNotEmpty, ConditionHost, - ConditionPathIsReadWrite - + tmpfiles "w" supports file globbing - + logind handles lid switch, power and sleep keys all the time, - unless systemd-inhibit - --what=handle-power-key:handle-sleep-key:handle-lid-switch is - run by Desktop Environments. - + support for reading structured kernel message is used by - default (need kernel >= 3.5). /proc/kmsg is now used only by - classic syslog daemons. - + Forward Secure Sealing is now support for Journal files. - + RestartPrevenExitStatus and SuccessExitStatus allow configure - of exit status (exit code or signal). - + handles keyfile-size and keyfile-offset in /etc/crypttab. - + TimeoutSec settings has been splitted into TimeoutStartSec and - TimeoutStopSec. - + add SystemCallFilters option to add blacklist/whitelist to - system calls, using SECCOMP mode 2 of kernel >= 3.5. - + systemctl udevadm info now takes a /dev or /sys path as argument: - - udevadm info /dev/sda - + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. - + systemd-loginctl and systemd-journalctl have been renamed - to loginctl and journalctl to match systemctl. - + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is - no longer supported. udev_monitor_new_from_netlink() needs to - be used to subscribe to events. - + udev: when udevd is started by systemd, processes which are left - behind by forking them off of udev rules, are unconditionally - cleaned up and killed now after the event handling has finished. - Services or daemons must be started as systemd services. - Services can be pulled-in by udev to get started, but they can - no longer be directly forked by udev rules. - + For almost all files, license is now LGPL2.1+ (from previous - GPL2.0+). Exception are some minor stuff in udev (will be - changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] - library. - + var-run.mount and var-lock.mount are no longer provided - (should be converted to symlinks). - + A new service type Type=idle to avoid ugly interleaving of - getty output and boot status messages. - + systemd-delta has been added, a tool to explore differences - between user/admin configuration and vendor defaults. - + /tmp mouted as tmpfs by default. - + /media is now longer mounted as tmpfs - + GTK tool has been split off to systemd-ui package. - + much improved documentation. -- Merge BuildRequires from udev package: - gobject-introspection-devel, gtk-doc, libsepol-devel, - libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), - pjgconfig(libcryptsetup), pkgconfig(libpci), - pkgconfig(libqrencode), pkgconfig(libselinux), - pkgconfig(usbutils). -- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) -- Merge sources from udev package: boot.udev, write_dev_root.rules, - udev-root-symlink.systemd. -- Merge patches from udev package: numbered started from 1000): - 0001-Reinstate-TIMEOUT-handling.patch, - 0013-re-enable-by_path-links-for-ata-devices.patch, - 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, - 0026-udev-netlink-null-rules.patch, - 0027-udev-fix-sg-autoload-regression.patch. -- Remove following patches, merged upstream: - 0001-util-never-follow-symlinks-in-rm_rf_children.patch, - fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, - fix-swap-priority.patch, improve-restart-behaviour.patch, - fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, - ulimit-support.patch, change-terminal.patch, - fix-tty-startup.patch, fix-write-user-state-file.patch, - fix-analyze-exception.patch, use_localtime.patch, - journalctl-pager-improvement.patch, - avoid-random-seed-cycle.patch, - 0001-add-sparse-support-to-detect-endianness-bug.patch, - drop-timezone.patch. -- Rebase the following patches: - 0001-Add-bootsplash-handling-for-password-dialogs.patch, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, - 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, - crypt-loop-file.patch, - delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, - dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, - fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, - new-lsb-headers.patch, storage-after-cryptsetup.patch, - support-suse-clock-sysconfig.patch, support-sysvinit.patch, - sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. - -------------------------------------------------------------------- -Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com - -- Add use_localtime.patch: use /etc/localtime instead of - /etc/timezone (bnc#773491) -- Add support-suse-clock-sysconfig.patch: read SUSE - /etc/sysconfig/clock file. -- Add drop-timezone.patch: drop support for /etc/timezone, never - supported on openSUSE. -- Add journalctl-pager-improvement.patch: better handle output when - using pager. -- Add fix-enable-disable-boot-initscript.patch: support boot.* - initscripts for systemctl enable /disable (bnc#746506). - -------------------------------------------------------------------- -Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com - -- Ensure systemd macros never fails (if systemd isn't install) - -------------------------------------------------------------------- -Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com - -- Add fix-analyze-exception.patch: prevent exception if running - systemd-analyze before boot is complete (bnc#772506) - -------------------------------------------------------------------- -Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz - -- Fix NumLock detection/set race condition (bnc#746595#c47). - -------------------------------------------------------------------- -Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com - -- Move systemd-analyse to a subpackage, to remove any python - dependencies from systemd main package (bnc#772039). - -------------------------------------------------------------------- -Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com - -- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on - kernel commandline are handled. -- Add fix-write-user-state-file.patch: write logind state file - correctly. -- Disable logind-logout.patch: cause too many issues (bnc#769531). - -------------------------------------------------------------------- -Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com - -- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). - -------------------------------------------------------------------- -Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz - -- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). - -------------------------------------------------------------------- -Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com - -- Add fix-dir-noatime-tmpfiles.patch: do not modify directory - atime, which was preventing removing empty directories - (bnc#751253, rh#810257). -- Add improve-restart-behaviour.patch: prevent deadlock during - try-restart (bnc#743218). -- Add journal-bugfixes.patch: don't crash when rotating journal - (bnc#768953) and prevent memleak at rotation time too. -- Add ulimit-support.patch: add support for system wide ulimit - (bnc#744818). -- Add change-terminal.patch: use vt102 instead of vt100 as terminal - for non-vc tty. -- Package various .wants directories, which were no longer packaged - due to plymouth units being removed from systemd package. -- Fix buildrequires for manpages build. - -------------------------------------------------------------------- -Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com - -- Do not ship plymouth units, they are shipped by plymouth package - now (bnc#769397). -- Fix module loading (bnc#769462) - -------------------------------------------------------------------- -Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com - -- Add fix-swap-priority: fix default swap priority (bnc#731601). - -------------------------------------------------------------------- -Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com - -- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real - fix. - -------------------------------------------------------------------- -Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com - -- Update new-lsb-headers.patch to handle entries written after - description tag (bnc#727771, bnc#747931). - -------------------------------------------------------------------- -Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com - -- Disable logind-logout.patch: it crashes sudo session (if called - after su -l) (bnc#746704). - -------------------------------------------------------------------- -Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com - -- Add fix-getty-isolate.patch: don't quit getty when changing - runlevel (bnc#746594) - -------------------------------------------------------------------- -Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz - -- Implemented SUSE specific sysconfig numlock logic (bnc#746595). - -------------------------------------------------------------------- -Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com - -- Add dbus-1 as BuildRequires to fix build. - -------------------------------------------------------------------- -Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com - -- apply ppc patch to systemd-gtk too (fixes build) - -------------------------------------------------------------------- -Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com - -- Update fixppc.patch with upstream patches -- Add comments from upstream in - 0001-util-never-follow-symlinks-in-rm_rf_children.patch. -- Add logind-logout.patch: it should fix sudo / su with pam_systemd - (bnc#746704). - -------------------------------------------------------------------- -Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix - endianness error, preventing journal to work properly on ppc. -- Add fixppc.patch: fix build and warnings on ppc. - -------------------------------------------------------------------- -Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix - CVE-2012-1174 (bnc#752281). - -------------------------------------------------------------------- -Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + Support optional initialization of the machine ID from the KVM - or container configured UUID. - + Support immediate reboots with "systemctl reboot -ff" - + Show /etc/os-release data in systemd-analyze output - + Many bugfixes for the journal, including endianess fixes and - ensuring that disk space enforcement works - + non-UTF8 strings are refused if used in configuration and unit - files. - + Register Mimo USB Screens as suitable for automatic seat - configuration - + Reorder configuration file lookup order. /etc now always - overrides /run. - + manpages for journal utilities. -- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, - systemd-journald-fix-endianess-bug.patch. -- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). - -------------------------------------------------------------------- -Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com - -- Add fix-c++-compat.patch: fix C++ compatibility error in header. - -------------------------------------------------------------------- -Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com - -- Add systemd-journald-fix-endianess-bug.patch: fix journald not - starting on ppc architecture. -- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth - is correctly called and conflicts with bootsplash. - -------------------------------------------------------------------- -Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com - -- Remove rsyslog listen.conf, handled directly by rsyslog now - (bnc#747871). - -------------------------------------------------------------------- -Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + requires /etc/os-release, support for /etc/SuSE-release is no - longer present. - + Track class of PAM logins to distinguish greeters from normal - user logins. - + Various bug fixes. - -------------------------------------------------------------------- -Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de - -- Use pkgconfig symbols for BuildRequires and specify version - -------------------------------------------------------------------- -Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com - -- Enable Plymouth integration. - * Bootsplash related files will be moved to the bootsplash - package - -------------------------------------------------------------------- -Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com - -- Update to version 42: - + Various bug fixes - + Watchdog support for supervising services is now usable - + Service start rate limiting is now configurable and can be - turned off per service. - + New CanReboot(), CanPowerOff() bus calls in systemd-logind -- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, - is-enabled-non-existing-service.patch (merged upstream) -- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for - manpage generation - -------------------------------------------------------------------- -Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com - -- Update to version 41: - + systemd binary is now installed in /lib/systemd (symlink for - /bin/systemd is available now) - + kernel modules are now loaded through libkmod - + Watchdog support is now useful (not complete) - + new kernel command line available to set system wide - environment variable: systemd.setenv - + journald capabilities set is now limited - + SIGPIPE is ignored by default. This can be disabled with - IgnoreSIGPIPE=no in unit files. -- Add fix-kmod-build.patch: fix build with libkmod -- Drop remote-fs-after-network.patch (merged upstream) -- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm - /dmraid is started before mounting partitions, if fsck was - disabled for them (bnc#733283). -- Update lsb-header patch to correctly disable heuristic if - X-Systemd-RemainAfterExit is specified (whatever its value) -- Add fix-message-after-chkconfig.patch: don't complain if only - sysv services are called in systemctl. -- Add is-enabled-non-existing-service.patch: fix error message when - running is-enabled on non-existing service. - -------------------------------------------------------------------- -Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com - -- Update to version 40: - + reason why a service failed is now exposed in the"Result" D-Bus - property. - + Rudimentary service watchdog support (not complete) - + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. - + Various bug fixes. -- Add remote-fs-after-network.patch and update insserv patch: - ensure remote-fs-pre.target is enabled and started before network - mount points (bnc#744293). -- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. - -------------------------------------------------------------------- -Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com - -- Ensure systemd show service status when started behind bootsplash - (bnc#736225). -- Disable core dump redirection to journal, not stable atm. - -------------------------------------------------------------------- -Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com - -- Update modules_on_boot.patch to not cause failed state for - systemd-modules-load.service (bnc#741481). - -------------------------------------------------------------------- -Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com - -- Update to version 39: - + New systemd-cgtop tool to show control groups by their resource - usage. - + Linking against libacl for ACLs is optional again. - + If a group "adm" exists, journal files are automatically owned - by them, thus allow members of this group full access to the - system journal as well as all user journals. - + The journal now stores the SELinux context of the logging - client for all entries. - + Add C++ inclusion guards to all public headers. - + New output mode "cat" in the journal to print only text - messages, without any meta data like date or time. - + Include tiny X server wrapper as a temporary stop-gap to teach - XOrg udev display enumeration (until XOrg supports udev - hotplugging for display devices). - + Add new systemd-cat tool for executing arbitrary programs with - STDERR/STDOUT connected to the journal. Can also act as BSD - logger replacement, and does so by default. - + Optionally store all locally generated coredumps in the journal - along with meta data. - + systemd-tmpfiles learnt four new commands: n, L, c, b, for - writing short strings to files (for usage for /sys), and for - creating symlinks, character and block device nodes. - + New unit file option ControlGroupPersistent= to make cgroups - persistent. - + Support multiple local RTCs in a sane way. - + No longer monopolize IO when replaying readahead data on - rotating disks. - + Don't show kernel threads in systemd-cgls anymore, unless - requested with new -k switch. -- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. -- Add fdupes to BuildRequires and use it at build time. - -------------------------------------------------------------------- -Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com - -- Make the systemd journal persistent by creating the - /var/log/journal directory - -------------------------------------------------------------------- -Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - -- Update to version 38 : - - Bugfixes - - Implementation of a Journal Utility Library - - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure - syslog socket goes away early during shutdown. -- Add listen.conf for rsyslog. This will ensure that it will still - work fine with rsyslog and the new journal. - -------------------------------------------------------------------- -Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com - -- Add fix-is-enabled.patch: ensure systemctl is-enabled work - properly when systemd isn't running. -- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't - exist (bnc#733022, bnc#735047). -- Add sysctl-modules.patch: ensure sysctl is started after modules - are loaded (bnc#725412). -- Fix warning in insserv patch. -- Update avoid-random-seed-cycle.patch with better upstream - approach. -- Update storage-after-cryptsetup.patch to restart lvm before - local-fs.target, not after it (bnc#740106). -- Increase pam-config dependency (bnc#713319). - -------------------------------------------------------------------- -Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com - -- Remove storage-after-cryptsetup.service, add - storage-after-cryptsetup.patch instead to prevent dependency - cycle (bnc#722539). -- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure - fsck/cryptsetup is run after lvm/md/dmraid have landed - (bnc#724912). -- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). -- Add do_not_warn_pidfile.patch: Fix PID warning in logs - (bnc#732912). -- Add mount-swap-log.patch: Ensure swap and mount output is - redirected to default log target (rhb#750032). -- Add color-on-boot.patch: ensure colored status are displayed at - boot time. -- Update modules_on_boot.patch to fix bnc#732041. -- Replace private_tmp_crash.patch with log_on_close.patch, better - upstream fix for bnc#699829 and fix bnc#731719. -- Update vconsole patch to fix memleaks and crash (bnc#734527). -- Add handle-racy-daemon.patch: fix warnings with sendmail - (bnc#732912). -- Add new-lsb-headers.patch: support PIDFile: and - X-Systemd-RemainAfterExit: header in initscript (bnc#727771). -- Update bootsplash services to not start if vga= is missing from - cmdline (bnc#727771) -- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and - change default permissions on /var/lock (bnc#733523). -- Add garbage_collect_units: ensure error units are correctly - garbage collected (rhb#680122). -- Add crypt-loop-file.patch: add support for crypt file loop - (bnc#730496). - -------------------------------------------------------------------- -Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com - -- add libtool as buildrequire to avoid implicit dependency - -------------------------------------------------------------------- -Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com - -- Fix rpm macros to only call presets on initial install - (bnc#728104). - -------------------------------------------------------------------- -Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com - -- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint - (bnc#726791). - -------------------------------------------------------------------- -Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com - -- Add avoid-random-seed-cycle.patch: fix dependency cycle between - cryptsetup and random-seed-load (bnc#721666). -- Add crash-isolating.patch: fix crash when isolating a service. -- Fix bootsplash being killed too early. -- Fix some manpages not being redirected properly. -- Add storage-after-cryptsetup.service to restart lvm after - cryptsetup. Fixes lvm on top of LUKS (bnc#724238). - -------------------------------------------------------------------- -Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com - -- Recommends dbus-1-python, do not requires python (bnc#716939) -- Add private_tmp_crash.patch: prevent crash in debug mode - (bnc#699829). -- Add systemctl-completion-fix.patch: fix incorrect bash completion - with some commands (git). - -------------------------------------------------------------------- -Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com - -- Shadow single sysv service, it was breaking runlevel 1. -- Add modules_on_boot.patch to handle /etc/sysconfig/kernel - MODULES_ON_BOOT variable (bnc#721662). - -------------------------------------------------------------------- -Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com - -- Update to release 37: - - many bugfixes - - ConditionCapability added, useful for containers. - - locale mechanism got extend to kbd configuration for - both X and the console - - don't try to guess PID for SysV services anymore (bnc#723194) -- Drop detect-non-running.patch, logind-warning.patch. -- Rewrite systemd-sysv-convert in bash (bnc#716939) -------------------------------------------------------------------- -Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com - -- make sure updaters get in the /sbin/init from here - the sub package - of the split package will decide which init wins in update case - -------------------------------------------------------------------- -Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com - -- under openSUSE if it's not systemd, chances are good it's - sysvinit - -------------------------------------------------------------------- -Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com - -- do not list specific sbin_init providers - -------------------------------------------------------------------- -Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com - -- Add logind-warning.patch: fix pam warning (bnc#716384) - -------------------------------------------------------------------- -Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com - -- Update to version 36 : - - many bugfixes - - systemd now requires socket-activated syslog implementations - - After=syslog.target is no longer needed in .service files - - X-Interactive is ignored in LSB headers (was not working) -- Enable back insserv.conf parsing in systemd core and fix added - dependencies (bnc#721428). -- Fix detection of LSB services status when running daemon - (bnc#721426). -- Drop 0001-execute-fix-bus-serialization-for-commands.patch, - fix-reload.patch - -------------------------------------------------------------------- -Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com - -- Add services to stop bootsplash at end of startup and start it at - beginning of shutdown. -- Fix bootsplash call and ensure dependencies are set right. - -------------------------------------------------------------------- -Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com - -- Add detect-non-running.patch: fix assertion when running - systemctl under non systemd system (git). -- Requires presets branding package. -- Improve macros a little bit. - -------------------------------------------------------------------- -Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com - -- Merge migration rpm macros into service_add/service_del macros. -- Use systemd presets in rpm macros -- Add fix-reload.patch: handle daemon-reload and start condition - properly (bnc#719221). - -------------------------------------------------------------------- -Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com - -- Add systemd-splash / bootsplash-startup.service: enable - bootsplash at startup. - -------------------------------------------------------------------- -Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com - -- Create -32bit package (bnc#713319) - -------------------------------------------------------------------- -Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com - -- Do not mask localnet service, it is not yet handled by systemd. - (bnc#716746) - -------------------------------------------------------------------- -Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com - -- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: - remove insserv.conf parsing from systemd and use generator - instead. -- put back default.target creation at package install and remove - inittab generator, Yast2 is now able to create it. - -------------------------------------------------------------------- -Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com - -- Update to version 34: - * Bugfixes - * optionaly apply cgroup attributes to cgroups systemd creates - * honour sticky bit when trimming cgroup trees - * improve readahead -- Add libacl-devel as BuildRequires (needed for systemd-uaccess) -- Add some %{nil} to systemd.macros to fix some build issues. -- Fix dbus assertion -- move gtk part to its own package, to reduce bootstrapping - (bnc#713981). - -------------------------------------------------------------------- -Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com - -- Update compose_table patch to use two separate loadkeys call, - compose table overflows otherwise (spotted by Werner Fink). - -------------------------------------------------------------------- -Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com - -- Add tty1.patch: ensure passphrase are handled before starting - gettty on tty1. -- Add inittab generator, creating default.target at startup based - on /etc/inittab value. -- No longer try to create /etc/systemd/system/default.target at - initial package install (bnc#707418) -- Fix configuration path used for systemd user manager. -- Ensure pam-config output is no display in install script. -- Remove buildrequires on vala, no longer needed. - -------------------------------------------------------------------- -Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com - -- Handle disable_capslock, compose table and kbd_rate -- Add rpm macros.systemd file. -- Do not disable klogd, it has its own service now. -- Handle kexec correctly (bnc#671673). -- Disable preload services, they are conflicting with systemd. - -------------------------------------------------------------------- -Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com - -- enable pam_systemd module, using pam-config. - -------------------------------------------------------------------- -Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de - -- Fix crash with systemctl enable. - -------------------------------------------------------------------- -Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com - -- Fix localfs.service to no cause cycle and starts it after - local-fs.target. - -------------------------------------------------------------------- -Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com - -- Remove root-fsck.patch, mkinitrd will use the same path as - dracut. -- Add systemd-cryptsetup.patch: don't complain on "none" option in - crypttab. -- Add systemd-cryptsetup-query.patch: block boot until passphrase - is typed. - -------------------------------------------------------------------- -Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com - -- Add root-fsck.patch: do not run fsck on / if it is rw -- Ship a non null localfs.service, fixes static mount points not - being mounted properly. - -------------------------------------------------------------------- -Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de - -- Update to version 33: - * optimizations and bugfixes. - * New PrivateNetwork= service setting which allows you to shut off - networking for a specific service (i.e. all routable network - interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch - patches. - -------------------------------------------------------------------- -Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com - -- Add insserv-parsing.patch: read/parse insserv.conf. -- Add bash-completion-restart.patch: fix restart service list - (bnc#704782). - -------------------------------------------------------------------- -Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de - -- Split up devel package. -- restart logind after upgrade. -- Adjust rpmlintrc for changes. - -------------------------------------------------------------------- -Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de - -- Update to version 32: - * bugfixes - * improve selinux setup - -------------------------------------------------------------------- -Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de - -- Update to version 31: - * rewrite of enable/disable code: New features systemctl --runtime, - systemctl mask, systemctl link and presets. - * sd-daemon is now shared library. - -------------------------------------------------------------------- -Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de - -- Update to version 30: - + Logic from pam_systemd has been moved to new systemd-login. - + VT gettys are autospawn only when needed - + Handle boot.local/halt.local on SUSE distribution - + add support for systemctl --root - -------------------------------------------------------------------- -Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com - -- Make sure to not start kbd initscript, it is handled by systemd - natively. - -------------------------------------------------------------------- -Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com - -- version 29: - + enable chkconfig support in systemctl for openSUSE. - + systemctl: plug a leak upon create_symlink mismatch - + mount /run without MS_NOEXEC - + dbus: fix name of capability property - + systemctl: fix double unref of a dbus message - + cryptsetup-generator: fix /etc/cryptsetup options - + selinux: selinuxfs can be mounted on /sys/fs/selinux - + readahead-common: fix total memory size detection - + systemctl: fix 'is-enabled' for native units under /lib - + systemctl: fix a FILE* leak - + pam-module: add debug= parameter - + remote-fs.target: do not order after network.target -- update tarball url. - -------------------------------------------------------------------- -Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de - -- Use RPM macros instead of $RPM_FOO variables -- Don't require %{version}-%{release} of the base package, - %{version} is sufficient - -------------------------------------------------------------------- -Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - mount /run without MS_NOEXEC - - readahead-common: fix total memory size detection - - enable chkconfig support in systemctl for openSUSE - - selinux: selinuxfs can be mounted on /sys/fs/selinux - - cryptsetup-generator: fix /etc/cryptsetup options - - systemctl: fix double unref of a dbus message -- drop merged chkconfig patch - -------------------------------------------------------------------- -Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com - -- Add sysv chkconfig patch to be able to enable / disable sysv - initscripts with systemctl. -- Ensure plymouth support is buildable conditionnally. - -------------------------------------------------------------------- -Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com - -- version 28 - - drop hwclock-save.service - - fix segfault when a DBus message has no interface - - man: update the list of unit search locations - - readahead-collect: ignore EACCES for fanotify - - rtc in localtime: use settimeofday(NULL, tz) - instead of hwclock(8) - -------------------------------------------------------------------- -Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - fix crash in D-Bus code - -------------------------------------------------------------------- -Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values - - util: use new VT ESC sequence to clear scrollback buffer - - sd-daemon: move _sd_hidden_ from .h to .c file - - missing: add IP_TRANSPARENT - -------------------------------------------------------------------- -Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com - -- version 27 - - util: use open_terminal() in chvt() too - - socket: expose SO_BROADCAST - - git: add .mailmap - - exec: expose tty reset options in dbus introspection data - - socket: expose IP_TRANSPARENT - - exec: hangup/reset/deallocate VTs in gettys - - socket: use 666 socket mode by default since neither fifos, - nor sockets, nor mqueues need to be executable - - socket: add POSIX mqueue support - - README: document relation to nss-myhostname - - hostnamed: check that nss-myhostname is installed - -------------------------------------------------------------------- -Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - sysctl: apply /etc/sysctl.conf last - - systemd-analyze: print hostname, kernelversion and arch at - the top of the plot - - pam: downgrade a few log msgs - - hostnamed: SetPrettyHostname() should check PK action - org.freedesktop.hostname1.set-static-hostname - - user-sessions: ignore EROFS when unlinking /etc/nologin if - the file doesn't exist anyway - - unit: make ignoring in snapshots a per unit property, - instead of a per unit type property - - vconsole: use open_terminal() instead of open() - - units: enable automount units only if the kernel supports them - -------------------------------------------------------------------- -Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org - -- remove policy filter - -------------------------------------------------------------------- -Thu May 5 08:59:46 CEST 2011 - meissner@suse.de - -- add missing buildrequires dbus-1-devel, vala, libxslt-devel -- touch vala files for rebuilding to unbreak Factory - -------------------------------------------------------------------- -Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com - -- also delete plymouth files - -------------------------------------------------------------------- -Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com - -- disable plymouth sub-package until plymouth gets into Factory - -------------------------------------------------------------------- -Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - binfmt, modules-load, sysctl, tmpfiles: add missing - ConditionDirectoryNotEmpty= - - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib - and where appropriate /lib directories - -------------------------------------------------------------------- -Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com - -- version 26 - - plymouth: introduce plymouth.enable=0 kernel command line - - util: don't AND cx with cx - - man: typo in sd_daemon reference - - util: conf_files_list() return list as parameter - - dbus: make daemon reexecution synchronous - -------------------------------------------------------------------- -Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - service: properly notice when services with a main process - that isn't a child of init die - - unit: fix assert when trying to load unit instances for - uninstanciable types - - def: lower default timeout to 90s - - manager: fix serialization counter - -------------------------------------------------------------------- -Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't hit assert when dumping properties - - cryptsetup: fix keyfile size option processing - - socket: improve warning message when we get POLLHUP - - mount: failure to mount cgroup hierarchies should not be fatal - - configure: add AC_SYS_LARGEFILE - -------------------------------------------------------------------- -Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run - - sysctl.d, binfmt.d, modules-load.d: switch to stacked config - dirs in /lib, /etc, /run - - manager: mkdir /run/systemd/system when starting up - - man: Spelling fixes - -------------------------------------------------------------------- -Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com - -- version 25 - - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs - and /proc/fs/nfsd. - - socket: support ListeSpecial= sockets - - vconsole: don't set console font/keymap if settings are empty - - nspawn: don't fail when we receive SIGCHLD - - cgroup: don't accidentaly trim on reload - - units: set capability bounding set for syslog services - - socket: log more information about invalid poll events - - man: fix specification of default timeouts - - mount,crypto: rework meaning of noauto/nofail - - fsck: don't fsck against basic.target in order to properly - allow automount /home - - manager: when running in test mode, do not write generated - unit files to /run/systemd/generator - - mount: properly parse timeouts options in the middle of - the string - - hostnamed: drop all caps but CAP_SYS_ADMIN - - execute: when we run as PID 1 the kernel doesn't give us - CAP_SETPCAP by default. Get that temporarily when dropping - capabilities for good - - mount: make device timeout configurable - - cryptsetup: do not order crypto DM devices against the - cryptsetup service - - socket: reuse existing FIFOs - - socket: guarantee order in which sockets are passed to be - the one of the configuration file - - systemctl: always consider unit files with no - [Install] section but stored in /lib enabled - - job: also print status messages when we successfully started - a unit - - hostnamed: add reference to SMBIOS specs - - man: runlevel 5 is usually more comprehensive, so use it - instead of 3 to detect whether a sysv service is enabled - - polkit: follow the usual syntax for polkit actions - - hostnamed: introduce systemd-hostnamed - - units: order quotacheck after remount-rootfs - - hostname: split out hostname validation into util.c - - dbus: split out object management code into dbus-common, - and simplify it - - strv: properly override settings in env_append() - - strv: detect non-assignments in env blocks properly in - env_append() - - strv: handle empty lists in strv_copy() properly - - util: truncate newline inside of read_one_line_file() - - util: modernize get_parent_of_pid() a bit - - crypto: let the cryptsetup binary handles its own - configurable timeouts - - logger,initctl: use global exit timeout - - ask-password: use default timeout - - manager: drop all pending jobs when isolating - - manager: introduce IgnoreOnIsolate flag so that we can keep - systemd-logger around when isolating - - units: never pull in sysinit from utmp, so that we can - shutdown from emergency mode without pulling in sysinit - - manager: downgrade a few log messages - - units: require syslog.socket from the logger because we - simply fail if we don't have it - - logger: adjust socket description to match service - - units: set stdout of kmsg syslogd to /dev/null - - units: add --no-block when starting normal service after - shell exited - - ask-password: use kill(PID, 0) before querying a password - - ask-password: support passwords without timeouts - - ask-password: always send final NUL char - - ask-password: properly accept empty passwords from agent - - unit: skip default cgroup setup if we have no hierarchy - - units: isolate emergency.target instead of emergency.service - when we fail to mount all file systems - - mount: don't pull in stdio logger for root mount unit - - cgroup: be nice to Ingo Molnar - - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL - - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL - - socket: try creating a socket under our own identity if we - have no perms to consult the selinux database - - socket: fix check for SEQPACKET - - execute: don't fail if we cannot fix OOM in a container - - unit: fix dump output - - socket: be a bit more verbose when refusing to start a - socket unit - - socket: support netlink sockets - - local-fs: invoke emergency.service mounting at boot fails - - path: optionally, create watched directories in .path units - - tmpfiles: don't warn if two identical lines are configured - - man: add man page for ask-password - - dbus: expose monotonic timestamps on the bus - - manager: no need to use randomized generator dir when running - as system manager - - don't make up buffer sizes, use standard LINE_MAX instead - - unit: disallow configuration of more than one on_failure - dependencies if OnFailureIsolate= is on - - unit: pull in logger unit only when running in system mode - - manager: serialize/deserialize max job id and /usr taint flag - - manager: don't garbage collect jobs when isolating, to change - global state - - unit: introduce OnFailureIsolate= - - mount: relabel both before and after a mount, just in case - - cmdline: we actually want to parse the kernel cmdline in VMs, - just not in containers - - units: rename rtc-set.target to time-sync.target and pull it - in by hwclock-load.service - - job: fix deserialization of jobs: do not ignore ordering - - systemctl: properly parse JobNew signals - - service: fix units with more than one socket - - systemctl: make most operations NOPs in a chroot - - manager: don't show PID for incoming signals if it is 0 - - man: fix description of systemctl reload-or-try-restart - - mount: block creation of mount units for API file systems - - units: call the logger a bridge too - - build-sys: always place user units in /usr/lib/systemd - - pkgconfig: update .pc file accordingly - - lookup: always also look into /usr/lib for units - - exec: support unlimited resources - - selinux: relabel /run the same way as /dev after loading - the policy since they both come pre-filled and unlabelled - - manager: fd must be int, not char - - change remaining /var/run to /run - - units: move user units from /usr/share to /usr/lib since - they might be arch-dependent - - man: document /etc/sysctl.d/ - - binfmt: add binfmt tool to set up binfmt_misc at boot - - tmpfiles: create leading directories for d/D instructions - - condition: add ConditionSecurity - - load-fragment: unify config_parse_condition_{kernel, virt} - - condition: fix dumping of conditions - - initctl: /dev/initctl is a named pipe, not a socket - - kmsg-syslogd: pass facility value into kmsg - - move /var/lock to HAVE_SYSV_COMPAT - - tmpfiles: split off rules for legacy systems into legacy.conf - - general: replace a few uses of /var/run by /run - - tmpfiles: enforce new /var/lock semantics - - man: document ConditionPathIsDirectory= - - mount: also relabel pre-mounted API dirs - - log: don't strip facility when writing to kmsg - - build-sys: create a number of drop-in config dirs - - random: do not print warning if random seed doesn't exist - - plymouth: use PID file to detect whether ply is running - - build-sys: install systemd-analyze by default - - analyze: improve output - - analyze: add plotter - - unit: when deserializing do reconnect to dbus/syslog when - they show up - - analyze: beautify output a bit - - add systemd-analyze tool - - unit: don't override timestamps due to state changes when - deserializing - - plymouth: don't explicitly enable status message when - plymouth is up - - status: show status messages unconditionally if plymouth - is around - - taint: add missing cgroups taint flag - - locale: don't access misinitialized variable - - quota: do not pull in quota tools for mounts that do not - originate in neither /etc/fstab nor fragment files - - manager: fix taint check for /usr - - unit: never apply /etc/rcN.d/ priority to native services - - unit: fix parsing of condition-result - - unit: don't complain about failed units when deserializing - - exec: drop process group kill mode since it has little use - and confuses the user - - cgroup: explain when we cannot initialize the cgroup stuff - - systemctl: don't truncate description when using pager - - ask-password: also accept Backspace as first keypress as - silent mode switch - - unit: when deserializing jobs, don't pull in dependencies - - locale: fix LC_MESSAGES variable name - - plymouth: Remove the calls to plymouth message - - udev: systemd-tag all ttys - - tmpfiles fix /run/lock permissions - - ask-password: use TAB to disable asterisk password echo - - execute: socket isn't abstract anymore - - use /run instead of /dev/.run - - man: explain a couple of default dependencies - - mount: pull in quota services from local mountpoints with - usr/grpquota options - - service: pull in sysv facility targets from the sysv units, - not the other way round - - units: pull in syslog.target from syslog.socket - - units: don't ever pull in SysV targets from other SysV - targets - - units: document that some targets exists only for compat - with SysV - - man: document pidns containers - - units: deemphesize Names= settings, and explain why nobody - whould use them - - units: on mandriva/fedora create single.service alias via - symlink, not Names= - - units: get rid of runlevel Names=, the symlinks in - /lib/systemd/system are much more useful - - rework syslog detection so that we need no compile-time - option what the name of the syslog implementation is - - man: document .requires/ directories - - special: get rid of dbus.target - - exec: properly apply capability bounding set, add inverted - bounding sets - - dbus: add service D-Bus property "Sockets" - - dbus: consolidate service SysV conditionals - - unit: serialize condition test results - - def: centralize definition of default timeout in one place - - chkconfig: check against runlevel 5 instead of 3, since it is - a superset of the latter - - systemctl: accept condstop as alias for stop - - dbus: allow LoadUnit to unprivileged users - - umount: make sure skip_ro is always correctly initialized -- create /run (link it to /var/run) -- refresh splash password patch -- conflict with old mkinitrd version (we need /run) -- conflict with old udev (we need /run) - -------------------------------------------------------------------- -Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com - -- new snapshot - - man: fix systemctl try-restart description - - Add Frugalware display-manager service - - main: revert recognition of "b" argument - - main: interpret all argv[] arguments unconditionally when - run in a container - - loopback: downgrade an error to warning - - nspawn: bind mount /etc/localtime - - nspawn: make tty code more robust against closed/reopened - /dev/console - - util: make touched files non-writable by default - - nspawn: allocate a new pty instead of passing ours through - to avoid terminal settings chaos - - main: parse the whole arv[] as kernel command line - - main: check if we have a valid PID before getting the name - - ask-password: reset signal mask after we are done - - cgroup: don't recheck all the time whether the systemd - hierarchy is mounted, to make strace outputs nicer and save - a few stat()s - - man: document systemd-nspawn - - cgls: don't strip user processes and kernel threads from - default output - - umount: don't try to remount bind mounts ro during shutdown - - getty: move automatic serial getty logic into generator - - container: skip a few things when we are run in a container - such as accessing /proc/cmdline - - cgls: by default start with group of PID 1 - - pam: determine user cgroup tree from cgroup of PID 1 - - nspawn: move container into its own name=systemd cgroup - - manager: don't show kernel boot-up time for containers - - manager: show who killed us - - units: add console-shell.service which can be used insted of - the gettys to get a shell on /dev/console - -------------------------------------------------------------------- -Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com - -- new snapshot - - build-sys: move remaining tools from sbin/ to bin/ since they - might eventually be useful for user execution - - hostname: don't override the hostname with localhost if it - is already set and /etc/hostname unset - - audit: give up sending auditing messages when it failed due - to EPERM - - nspawn: don't require selinux on if it is compiled in - - main: remove AF_UNIX sockets before binding - - shutdown: print a nice message when terminating a container - - nspawn: mount /selinux if needed - - shutdown: just call exit() if we are in a container - - umount: assume that a non-existing /dev/loop device means it - is already detached - - socket: use 777 as default mode for sockets - - main: log to the console in a container - - main: don't parse /proc/cmdline in containers - - util: add detect_container() - - nspawn: reset environment and load login shell - - core: move abstract namespace sockets to /dev/.run - - nspawn: add simple chroot(1) like tool to execute commands - in a namespace container - - util: return exit status in wait_for_terminate_and_warn() - - util: properly identify pty devices by their major - -------------------------------------------------------------------- -Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com - -- new snapshot - - polkit: autogenerate polkit policy with correct paths - - systemctl: support remote and privileged systemctl access - via SSH and pkexec - - gnome-ask-password-agent: fix path to watch - -------------------------------------------------------------------- -Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com - -- fix broken sysctl.service linking - -------------------------------------------------------------------- -Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: move the last flag files to /dev/.run - - util: close all fds before freezing execution - - dbus: timeout connection setup - - main: properly handle -b boot option - - pam: do not leak file descriptor if flock fails -- disable sysv services natively provided by systemd - -------------------------------------------------------------------- -Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com - -- new snapshot - - main: refuse system to be started in a chroot - - main: don't check if /usr really is a mount point, since it is - fine if it is passed pre-mounted to us from the initrd - - condition: take a timestamp and store last result of conditions - - dev: use /dev/.run/systemd as runtime directory, instead of - /dev/.systemd - - machine-id: move machine-id-setup to /sbin - - pkconfig: export full search path as .pc variable - - selinux: bump up error level when in non-enforcing mode - - dbus: fix dbus assert due to uninitialized error - - dbus: properly generate UnknownInterface, UnknownProperty - and PropertyReadOnly errors - - mount: use /dev/.run as an early boot alias for /var/run - -------------------------------------------------------------------- -Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com - -- version 20 - - service: prefix description with LSB only if script has LSB header, - use 'SysV:' otherwise - - unit: don't accidently create ordering links to targets when - default deps are off for either target and unit - - mount: support less cumbersome x-systemd-xxx mount options - - unit: distuingish mandatory from triggering conditions - - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object - is unknown - - systemctl: when forwarding is-enabled to chkconfig - hardcode runlevel 3 - - job: introduce new job result code 'skipped' to use when pre - conditions of job did not apply - - job: convert job type as early as we can, to simplify things - - Keep emacs configuration in one configuration file. - - syslog: make sure the kmsg bridge is always pulled in and - never terminated automatically - - mount: make /media a tmpfs - -------------------------------------------------------------------- -Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com - -- new snapshot - - add org.freedesktop.DBus.Properies.Set method - - main: introduce /etc/machine-id - - systemctl: fix exit code when directing is-enabled - to chkconfig - - dbus: add 'Tainted' property to Manager object - - dbus: expose distribution name and features on manager - object as properties - - man: document changed EnvironmentFile= behaviour - - main: add link to wiki page with longer explanation of the - /usr madness - - execute: load environment files at time of execution, not - when we load the service configuration - - path: after installing inotify watches, recheck file again - to fix race - - path: don't use IN_ATTRIB on parent dirs when watching a - file, since those cannot be removed without emptying the dir - first anyway and we need IN_ATTRIB only to detect the link - count dropping to 0 - - kill: always send SIGCONT after SIGTERM - - readahead: disable collector automatically on read-only media - - sysctl: use scandir() instead of nftw() to guarantee - systematic ordering - - support DT_UNKNOWN where necessary for compat with reiserfs - - systemctl: always null-terminate the password -- call systemd-machine-id-setup at installation - -------------------------------------------------------------------- -Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com - -- version 19 - - udev: don't ignore non-encrypted block devices with no - superblock - - udev: expose ttyUSB devices too - - udev: mark hvc devices for exposure in systemd - - cryptsetup: add a terse help - - agent: don't print warnings if a password was removed or - timed out - - systemctl: shutdown agent explicitly so that it can reset - the tty properly - - never clean up a service that still has a process in it - - label: udev might be making changes in /dev while we - iterate through it - - systemctl: properly handle job results - - job: also trigger on-failure dependencies when jobs faile - due to dependencies, timeout - - job: when cancelling jobs, make sure to propagate this - properly to depending jobs - - job: start job timeout on enqueuing not when we start to - process a job - - unit: increase default timeout to 3min - - logger: leave the logger longer around and allow it do - handle more connections - - dbus: pass along information why a job failed when it - failed (dbus api change!) - - general: unify error code we generate on timeout - - units: synchronize gettys to plymouth even if plymouth is - killed by gdm - - job: start job timer when we begin running the job, not - already when we add it to the queue of jobs - - cryptsetup: try to show the mount point for a crypto disk - if we can - - rescue: terminate plymouth entirely when going into - rescue mode - - ask-password: fix handling of timeouts when waiting - for password - - ask-password: supported plymouth cached passwords - - main: print warning if /usr is on a seperate partition - - ensure we start not a single getty before plymouth is - gone because we never know which ttys plymouth still controls - - unit: introduce ConditionVirtualization= - -------------------------------------------------------------------- -Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't rely that timer/path units have an initialized - unit field (bnc#671561) - -------------------------------------------------------------------- -Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com - -- new snapshot - - order network mounts after network.target (bnc#672855) - -------------------------------------------------------------------- -Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com - -- new snapshot - - kmsg-syslogd: increase terminate timeout to 5min to generte - less debug spew - - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) - - unit: don't timeout fsck - - man: fixed typo in SyslogIdentifier= - - tmpfiles: never clean up block devices - - main: refuse --test as root - -------------------------------------------------------------------- -Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: order fsck@.service before basic.target - instead of local-fs.target to relax things a little - - readahead: remove misleading error messages - - man: don't do more reloads than necessary in spec files - - util: retry opening a TTY on EIO - - util: beef up logic to find ctty name - - tmpfiles: kill double slashes in unix socket names -- drop vhangup patch, it is fixed in login(3) by forwarding the - SIGHUP to the child process - -------------------------------------------------------------------- -Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com - -- revert back to conflicts: sysvinit - -------------------------------------------------------------------- -Thu Feb 17 15:04:44 CET 2011 - werner@suse.de - -- Add temporary workaround for bnc#652633, that is do a vhangup - to all processes on a tty line used for a getty - -------------------------------------------------------------------- -Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com - -- version 18 - - systemctl: introduce --ignore-dependencies - - systemctl: introduce --failed to show only failed services - - systemctl: introduce --failed to show only failed services - - rescue: make 'systemctl default' fail if there is already - something running when the shell exited - - util: seperate welcome line from other output by empty lines - - manager: don't consider transaction jobs conflicting with - queued jobs redundant - - udev: ignore block devices which no known contents, to avoid - trying of mounts/swapons when devices aren't set up full yet - - swap: handle "nofail" from fstab - - mount,swap: properly add dependencies to logger if needed - - service: change default std output to inherit - - exec: introduce global defaults for the standard output - of services - - udev: use SYSTEMD_READY to mask uninitialized DM devices - - fsck: output to /dev/console by default in addition to syslog - - execute: optionally forward program output to /dev/console in - addition to syslog/kmsg - - socket: refuse socket activation for SysV services - - fsck: do not fail boot if fsck returns with an error code that - hasn't 2 or 6 set - - shutdown: execute all binaries in /lib/systemd/system-shutdown - as last step before invoking reboot() - - job: make status message printing more verbose - - cryptsetup: fix unit file description - - tmpfiles: never delete AF_UNIX sockets that are alive - - getty: don't parse console= anymore, use - /sys/class/tty/console/active instead - - properly resolve /dev/console if more than once console= - argument was passed on the kernel command line - - getty: do not auto-spawn getty's on VC ttys if console=ttyN - - fsck: skip root fsck if dracut already did it - - util: when determining the right TERM for /dev/console - consult /sys/class/tty/console/active - - pam: introduce whitelist and blacklist user list feature - - systemctl: minor optimizations - - systemctl: don't unnecessarily close stdin/stdout/stderr for - tty agent so that locking by tty works - - readahead: disable readahead in virtual machines - - tmpfiles: move binary to /bin to make it publicly available - - tmpfiles: take names of tmpfiles configuration files on the - command line - - tmpfiles: log to stderr if possible - - tmpfiles: support globs - - units: introduce and hook up sound.target - - dbus: allow all clients access to org.freedesktop.DBus.Peer - - consider udev devices with SYSTEMD_READY=0 as unplugged - - systemctl: don't start agent for --user - - systemctl: make sure the tty agent does not retain a copy - of stdio - -------------------------------------------------------------------- -Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com - -- new snapshot - - plymouth: move plymouth out of TARGET_FEDORA - - build-sys: fix AC_COMPILE_IFELSE tests - - build-sys: ensure selinux configure check follows logic of - other optional features - - build-sys: autodetect and use pkg-config for libselinux - - dbus: use ControlGroup as property name to match config option - - pam: optionally reset cgroup memberships for login sessions - - load-fragment: properly parse Nice= value - - automount: use unit_pending_inactive() where appropriate - -------------------------------------------------------------------- -Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de - -- Removed unecessary workaround for plymouth startup. - -------------------------------------------------------------------- -Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de - -- Split plymouth support into systemd-plymouth package. - -------------------------------------------------------------------- -Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com - -- new snapshot - - clang: fix some issues found with clang-analyzer - - gcc: make gcc shut up - -------------------------------------------------------------------- -Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com - -- version 17 - - vala 0.10 seem to work fine - - cryptsetup: fix ordering loop when dealing with encrypted - swap devices - - main: don't warn if /etc/mtab is a symlink to /proc/mounts - - socket: don't crash if the .service unit for a .socket unit - is not found - - mount: ignore if an fsck is requested for a bind mount, - so that we don't wait for the bind 'device' to show up - - automount: fix segfault when shutting down - - man: give an example for vconsole.conf - - dbus: don't try to connect to the system bus before it is - actually up - - service: make chain of main commands and control commands - independent of each other, so that both can be executed - simultaneously and independently - - service: don't allow reload operations for oneshot services - - vala: convert from dbus-glib to gdbus - - systemctl: highlight failed processes in systemctl status - - systemctl: show process type along process exit codes - - service: when reloading a service fails don't fail the entire - service but just the reload job - -------------------------------------------------------------------- -Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com - -- new snapshot - - shutdown: use correct kexec options - - serial-getty: do not invoke /sbin/securetty; recent - pam_securetty looks for console= in /proc/cmdline - - systemctl: before spawning pager cache number of columns - - pam: optionally keep processes of root user around - - service: if a reload operation fails, don't shut down - the service - - execute: make sending of SIGKILL on shutdown optional - - mount: do not translate uuids to lowercase - - man: document missing KillSignal= and swap options -- require recent util-linux -- drop mtab symlink creation which is done in util-linux - -------------------------------------------------------------------- -Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - -- version 16 - - device: don't warn if we cannot bump the udev socket buffer - - logger: when passing on PID info, fall back to our own if - originating process is already gone - - service: don't hit an assert if information in LSB headers is - incorrectly formatted - - execute,util: fix two small memory leaks - - getty: unset locale before execution - - execute: drop empty assignments from env blocks on execution - but keep them around otherwise to make them visible - - umount: don't try to detach the dm device the root dir is on, - to minimize warning messages - - locale: fix variable names - - fragment: allow prefixing of the EnvironmentFile= - path with - to ignore errors - - util: don't pass invalid fd to fdopendir() on error to avoid - corruption of errno - - tmpfiles: nicer message when two or more conflicting lines - are configured for the same file - - fragment: properly handle quotes in assignments in - EnvironmentFile= files - - sysctl: don't warn if sysctls are gone - - readahead: ignore if files are removed during collection or - before replay - - serial: use TERM=vt100 instead of TERM=vt100-nav - - cryptsetup: call mkswap on dm device, not on source device - - mount-setup: mount /dev/pts with mode=620,gid=5 by default - and make GID overridable via configure switch - - systemctl: implement auto-pager a la git - - shutdown: drop redundant sync() invocation - - util: invoke sync() implicitly on freeze() - - tmpfiles: do no follow symlinks when cleaning up dirs - -------------------------------------------------------------------- -Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de - -- Add support for building plymouth support with openSUSE - -------------------------------------------------------------------- -Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com - -- new snapshot - - pam: do not sort user sessions into their own cgroups in - the 'cpu' hierarchy - - mount-setup: drop noexec flag from default mount options - for /dev/shm - - systemd.pc: change 'session' to 'user' - -------------------------------------------------------------------- -Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com - -- new snapshot - - ifdef suse-only sysv script lookup code - -------------------------------------------------------------------- -Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org - -- add bootsplash handling patch to be able to enter e.g. - crypto passphrases (bnc#659885) - -------------------------------------------------------------------- -Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com - -- new snapshot - - add LSB 'smtp' alias for mail-transport-agent.target - -------------------------------------------------------------------- -Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com - -- new snapshot - - path: fix watching the root directory - - update README - -------------------------------------------------------------------- -Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com - -- new snapshot - - gnome-ask-password-agent: also support libnotify < 0.7 for now - - udev: increase event buffer size -- require fsck -l - -------------------------------------------------------------------- -Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com - -- version 15 - - dbus: use the right data slot allocator - - manager: bump up max number of units to 128K - - build-sys: allow cross-compilation -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com - -- new snapshot - - units: simplify shutdown scripts - - logger: fix error handling - - swap: order file-based swap devices after remount-rootfs -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com - -- new snapshot - - systemctl: don't return LSB status error codes for 'show' - - mount: do not try to mount disabled cgroup controllers - - man: document /etc/modules-load.d/, /etc/os-release, - locale.conf, /etc/vconsole.conf, /etc/hostname - - units: move a couple of units from base.target to - sysinit.target - - man: reorder things to follow the same order everywhere -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com - -- version 13 - - cryptsetup: actually show disk name - - cryptsetup: show udev device name when asking for password - - sysctl: implement native tool and support /etc/sysctl.d - - units: enable console ask-password agent by default - - introduce /etc/os-release distro description - - job: make sure we don't fail umount.target if a mount unit - failed to stop - - cgroup: after killing cgroup processes, ensure the group is - really dead gone. wait for 3s at max - - cgroup: if we couldn't remove a cgroup after killing - evertyhing in it then it's fine - - cryptsetup: automatically order crypt partitions before - cryptsetup.target - - man: trivial BindTo description fix - - manager: make list of default controllers configurable - - build: expose libcryptsetup dependency in build string - - pam: document controllers= switch - - cgroup: by default, duplicate service cgroup in the cpu hierarchy - - pam: duplicate cgroup tree in the cpu hierarchy by default, - optionally more -- enable native crypto handling instead of boot.crypto -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com - -- version 12 - - ask-password: add --console mode to ask /dev/console -- revert too new libnotify code/requirement - -------------------------------------------------------------------- -Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com - -- new snapshot - - cryptsetup: reword questions a little - - units: order hwclock after readahead - - path: don't mention too many inotify msgs - - cryptsetup: include device name in password question - - cryptsetup: lock ourselves into memory as long as we deal - with passwords - - plymouth: use updated socket name - - units: set TERM for gettys again, since they acquire a TTY - - units: allow start-up of plymouth ask-password agent very early - - units: enable ask-paswword .path units early enough to be useful - for early mounts - - units: delay getty until logins are allowed - - pam: always rely on loginuid instead of uid to determine cgroup - and XDG_RUNTIME_DIR name - - cgroup: call root cgroup system instead of systemd-1 - - exec: determine right TERM= setting based on tty name - - pam: rename master user cgroup to 'master' - - drop support for MANAGER_SESSION, introduce MANAGER_USER - - units: use ConditionDirectoryNotEmpty= where applicable - - unit: introduce ConditionDirectoryNotEmpty= - - delete tmp.mount which may conflict with an unrelated fstab - entry -- revert too new libnotify code/requirement -- disable native crypto handling - -------------------------------------------------------------------- -Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com - -- new snapshot - - load-dropin: add support for .requires directories - - manager: consider jobs already installed as redundant when - reducing new transactions - - manager: always pull 'following' units into transaction - - util: always highlight distro name - - units: make use of agetty mandatory - - manager: don't fail transaction if adding CONFLICTED_BY job fails - - job: make it possible to wait for devices to be unplugged - - tmpfiles: ignore files marked with the sticky bit - - cryptsetup: handle password=none properly - - cryptsetup: properly parse cipher= switch - - cryptsetup: support non-LUKS crypto partitions - - ask-password: enable password agent - - automatically start cryptsetup when looking for mount source - - log: add automatic log target - - cryptsetup: hook up tool with ask-password - - manager: hookup generators - - split mount_point_is_api() and mount_point_ignore() -- replace boot.crypto job with systemd native crypto handling -- enable readahead (requires 2.6.37+ kernel's fanotify to work) - -------------------------------------------------------------------- -Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com - -- new snapshot - - tmpfiles: include reference to man page in tmpfiles files - - vconsole: support additional keymap for toggling layouts - - main: warn if /etc/mtab is not a symlink - - add bash completion for systemctl --system - - man: minor tmpfiles(5) updates and reindenting - - main: rename process on startup to 'systemd' to avoid confusion - - unit: add ConditionNull= condition - - ac-power: make ac-power a proper binary that scripts can call - - manager: parse RD_TIMESTAMP passed from initrd - - modules-load: fix minor race - - label: use internal utility functions wher epossible - - cryptsetup: minimal cryptsetup unit generator - - selinux: relabel /dev after loading policy - - log: downgrade syslog connection failure message - - service: delay automatic restart if job is pending - - manager: when isolating undo all pending jobs, too - - manager: only minimize impact if we are in fail mode -- replace /etc/mtab with link to /proc/self/mounts - -------------------------------------------------------------------- -Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com - -- new snapshot - - man/tmpfiles.d.xml: add a manpage for tmpfiles - - do not overwrite other udev tags - - readahead: shortcut replay if /.readahead doesn't exist - -------------------------------------------------------------------- -Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fsck: return SUCCESS when we skip the check - - fsck: skip checking / if it is writable - - units: fix variable expansion - - mount: don't pull in nofail mounts by default, but use them - if they are around - - job: recursively fail BoundBy dependencies - - fsck: fix target name to check for - - units: rename fedora/single.service to rescue.service - - units: introduce plymouth-start and plymouth-kexec - - unit: get rid of IgnoreDependencyFailure= - - use util-linux:agetty instead of mingetty - - unit: replace StopRetroactively= by BindTo= dependencies - - automount: show who's triggering an automount - - units: run sysctl only if /etc/sysctl.conf exists - - systemctl: always show what and where for mount units - - shutdown: reword a few messages a little - - manager: show which jobs are actually installed after a transaction - - timer: when deserializing timer state stay elapsed - - device: set recursive_stop=true by default - - unit: suppress incorrect deserialization errors - - swap: there's no reason not order swap after sysinit - - socket: fix IPv6 availability detection - -------------------------------------------------------------------- -Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - create /dev/stderr and friends early on boot - - run sysv related scripts with TERM=linux - - add only swaps listed in /etc/fstab automatically to swap.target - - errors: refer to systemctl status when useful - - swap: add default cgroup to swap exec env - - readahead: bump a device's request_nr when enabling readahead - - shutdown: properly handle sigtimedwait() timing out - - main: fix typo in kernel cmdline parameters help - - ord-tty: properly handle SIGINT/SIGTERM - - systemctl: automatically spawn temporary password agent - - ask-password: properly handle multiple pending passwords - - ask-password: enable plymouth agent by default - - ask-password: add minimal plymouth password agent - -------------------------------------------------------------------- -Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - make sure to pass TERM=linux to all sysv scripts - - don't unset HOME/TERM when run in session mode - - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run - - tmpfiles: Don't clean /var/lock/subsys - - tmpfiles: Make wtmp match utmp perms, and add btmp - - umount: Make sure / is remounted ro on shutdown - - unset HOME and TERM set from the kernel - - activate wall agent automatically - - ask-password: add basic tty agent - -------------------------------------------------------------------- -Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - rename ask-password-agent to gnome-ask-password-agent - - fsck: suppress error message if we cannot change into single - user mode since - - dbus: epose FsckPassNo property for service objects - - man: document systemctl --force - - introduce 'systemctl kill' - -------------------------------------------------------------------- -Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - syslog: enable kmsg bridge by default - - fsck: add initial version of fsck and quotacheck wrappers - - tmpfiles: remove forcefsck/fastboot flag files after boot - - swap: listen for POLLPRI events on /proc/swaps if availabled - - tmpfiles: integrate native tmpwatch - - shutdown: loop only as long as we manage to unmount/detach devices - - umount: disable dm devices by devnode, not by path name - - introduce final.target - - replace distro-specific shutdown scripts with native services - - try to get rid of DM devices - - log to console by default - - introduce kexec.service, kexec.target and exit.target - - hook in fsck@.service instance for all mount points with passno > 0 - - systemctl: warn if user enables unit with no installation instructions - - dbus: add introspection to midlevel paths - - look for dynamic throw-away units in /dev/.systemd/system - - major rework, use /sbin/swapon for setting up swaps - - introduce Restart=on-failure and Restart=on-abort - - units: enable utmp for serial gettys too - - rename 'banned' load state to 'masked' - - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service -- use systemd-native fsck/mount -- use systemd-native tmpfiles.d/ instead of tmpwatch - -------------------------------------------------------------------- -Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com - -new snapshot - - fix 'systemctl enable getty@.service' - - properly support 'banning' of services - - handle nologin - - add native reboot/shutdown implementation - -------------------------------------------------------------------- -Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com - -- version 11 - -------------------------------------------------------------------- -Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - readahead fixes - -------------------------------------------------------------------- -Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de - -- /etc/modules.d was renamed to modules-load.d -- only include tmpfiles.d/*conf files - -------------------------------------------------------------------- -Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com - -- don't create sysv order deps on merged units -- fix Provides: handling in LSB headers (network.target) -- native (optional) readahead - -------------------------------------------------------------------- -Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de - -- Do not package man pages twice. - -------------------------------------------------------------------- -Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - basic services are enabled by default now - -------------------------------------------------------------------- -Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - vconsole and locale setup - - hook up tmpwatch - -------------------------------------------------------------------- -Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - add new utility to initialize the virtual console - - initialize locale from /etc/locale by default - - ask-password: allow services query SSL/harddisk passphrases - -------------------------------------------------------------------- -Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com - -- version 10 - - logger: support SOCK_STREAM /dev/log sockets - - make sure the file system is writable before we write utmp data - - systemctl: use isolate when called as telinit for a runlevel - - initctl: properly use isolate when activating runlevels - - set HOME=/root when running shells - - make sure we don't crash if there's an automount unit without - mount unit - - start logger only after syslog is up - -------------------------------------------------------------------- -Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com - -- version 9 - - units: don't add shutdown conflicts dep to umount.target - - dbus: don't send cgroup agent messages directly to system bus - - dbus: don't accept activation requests anymore if we are going - down anyway - - systemctl: fix return value of systemctl start and friends - - service: wait for process exit only if we actually killed - somebody - -------------------------------------------------------------------- -Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com - -- version 8 - - KERNEL 2.6.36+ REQUIRED! - - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup - - invoke sulogin instead of /bin/sh - - systemctl: show timestamps for state changes - - add global configuration options for handling of auto mounts - -------------------------------------------------------------------- -Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com - -- apply /etc/fstab mount options to all api mounts -- properly handle LABEL="" in fstab -- do not consider LSB exit codes 5 and 6 as failure - -------------------------------------------------------------------- -Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com - -- prefix sysv job descriptions with LSB: -- add native sysctl + hwclock + random seed service files -- properly fallback to rescue.target if default.target is hosed -- rename ValidNoProcess= to RemainAfterExit= -- add systemd-modules-load tool to handle /etc/modules.d/ - -------------------------------------------------------------------- -Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com - -- add support for delayed shutdown, similar to sysv in style -- rename Type=finish to Type=oneshot and allow multiple ExecStart= -- don't show ENOENT for non exitent configuration files -- log build time features on startup -- rearrange structs to make them smaller -- move runlevel[2-5] links to /lib -- create default.target link to /lib not /etc -- handle random-seed -- write utmp record before we kill all processes -- create /var/lock/subsys, /var/run/utmp - -------------------------------------------------------------------- -Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com - -- add audit messages for service changes -- update utmp with external program -- all to refuse manual service starting/stopping - -------------------------------------------------------------------- -Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com - -- version 7 - - hide output if quiet is passed on the kernel cmdline - - fix auto restarting of units after a configuration reload - - don't call bus_path_escape() with NULL unit name - -------------------------------------------------------------------- -Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com - -- version 6 - - man page update - -------------------------------------------------------------------- -Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - downgrade a few log messages - - properly handle devices which are referenced before they exist - -------------------------------------------------------------------- -Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fix dependency cycle of boot.* by splitting fsck.target - - sort boot.* before other sysv services - from sysinint.target - - start getty for serial console - -------------------------------------------------------------------- -Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com - -- add licence to subpackages - -------------------------------------------------------------------- -Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com - -- version 5 - - selinux fixes -- fix hanging 'reboot' started from vc - -------------------------------------------------------------------- -Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com - -- enable getty.target by default - ------------------------------------------------------------------- Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index e3224592..959e32b8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # -# spec file for package systemd +# spec file for package systemd (Version 4) # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,279 +15,32 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # +# norootforbuild -%define bootstrap 0 -%define mini %nil -%define real systemd -%define min_kernel_version 3.7 - -%bcond_without bash_completion -%bcond_without networkd -%bcond_without sysvcompat -%bcond_with resolved -%bcond_with python -%bcond_with parentpathid -%if 0%{?suse_version} > 1315 -%bcond_without permission -%bcond_without blkrrpart -%bcond_without udevsettle -%else -%bcond_with permission -%bcond_with blkrrpart -%bcond_with udevsettle -%endif -%bcond_with systemgrps Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 -Release: 0 -Summary: A System and Session Manager -License: LGPL-2.1+ +Version: 4 +Release: 1 +License: GPLv2+ Group: System/Base +Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: acl -BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: kbd -BuildRequires: libacl-devel +BuildRequires: libudev-devel udev BuildRequires: libcap-devel -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: tcpd-devel BuildRequires: pam-devel -BuildRequires: systemd-rpm-macros -BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(mount) >= 2.26 -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) -%endif -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) -Conflicts: sysvinit -Conflicts: otherproviders(systemd) -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %version-%release -Conflicts: kiwi -%else -BuildRequires: docbook-xsl-stylesheets -BuildRequires: libgcrypt-devel -BuildRequires: libxslt-tools -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 -# the buildignore is important for bootstrapping -#!BuildIgnore: udev -Requires: udev >= 172 -Recommends: %{name}-bash-completion -Requires: dbus-1 >= 1.4.0 -Requires: kbd -Requires: kmod >= 15 -Requires: netcfg -Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 -Requires: pwdutils -Requires: systemd-presets-branding -Requires: sysvinit-tools -Requires: util-linux >= 2.27 -Requires(post): coreutils -Requires(post): findutils -Requires(post): pam-config >= 0.79-5 -%endif -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/awk -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Conflicts: kernel < %{min_kernel_version} -Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} -Obsoletes: pm-utils <= 1.4.1 -Obsoletes: suspend <= 1.0 - -#Git-Clone: git://github.com/systemd/systemd -Source: https://github.com/systemd/systemd/archive/v%version.tar.gz -%if ! 0%{?bootstrap} +BuildRequires: pkg-config +BuildRequires: dbus-1-glib-devel gtk2-devel +BuildRequires: libselinux-devel libsepol-devel +Requires: udev >= 160 +Requires: dbus-1 >= 1.3.2 +Conflicts: mkinitrd < 2.6.0-5 +Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc -%else -Source1: systemd-mini-rpmlintrc -%endif -Source3: systemd-sysv-convert -Source6: baselibs.conf -Source7: libgcrypt.m4 -Source9: nss-myhostname-config -Source10: macros.systemd.upstream -Source11: after-local.service -Source12: systemd-sysv-install - -Source1065: systemd-remount-tmpfs - -# handle SUSE specific kbd settings -Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch -Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: insserv-generator.patch -Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch -Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - -# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done -Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch -# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices -Patch27: apply-ACL-for-nvidia-device-nodes.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device -Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. -Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch -Patch42: systemd-pam_config.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) -Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty -Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com -Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch -Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch -Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch188: boot-local-start.patch -# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch -# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch190: systemd-install-compat_pkgconfig-always.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch191: systemd-dbus-system-bus-address.patch -# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch192: let-linker-find-libudev-for-libdevmapper.patch -# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console -Patch197: rescue-emergency-target-conflicts.patch -# PATCH-FIX-SUSE Avoid a divide by zero sigtrap -Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) -Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) -Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) -Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-SUSE Shut up rpmlint warning -Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-SUSE -Patch352: set-and-use-default-logconsole.patch -Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) -Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) -Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) -Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) -Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 -Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 -Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch520: systemd-add-user-keep.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch521: kbd-model-map.patch -# PATCH-WORKAROUND-SUSE (boo#939571) -Patch522: Correct_assert_on_unexpected_error_code.patch -# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) -Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -# UDEV PATCHES -# ============ -# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. -# Udev patches mean: patches that affect udev code, src/{udev,libudev} -# nothing else, even if the patch might affect indirectly udev, as long -# as it's not changing the code of udev and libudev, then is not a udev -# patch. Further patches which add and/or changes udev rules. - -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) -Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch -# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) -Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 -Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) -Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) -Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) -Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch -# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch -Patch1096: 1096-new-udev-root-symlink-generator.patch -# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch -Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch -Patch1098: 1098-systemd-networkd-alias-network-service.patch -# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1099: hostname-NULL.patch %description -Systemd is a system and service manager, compatible with SysV and LSB +Systemd is a system and session manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using @@ -296,1142 +49,135 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1+ +%package gtk +License: GPLv2+ Group: System/Base -Requires: bash -%if %{with bash_completion} -Requires: bash-completion -%endif -BuildArch: noarch +Summary: Graphical front-end for systemd +Requires: %{name} = %{version}-%{release} -%description bash-completion -Some systemd commands offer bash completion, but it's an optional dependency. - -%package devel -Summary: Development headers for systemd -License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version -Requires: systemd-rpm-macros -%if 0%{?bootstrap} -Provides: systemd-devel = %version-%release -%endif -Conflicts: otherproviders(systemd-devel) - -%description devel -Development headers and auxiliary files for developing applications for systemd. +%description gtk +Graphical front-end for systemd system and session manager. %package sysvinit -Summary: System V init tools -License: LGPL-2.1+ +License: GPLv2+ Group: System/Base -Requires: %{name} = %{version} +Summary: System V init tools +Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: otherproviders(sbin_init) -Provides: sysvinit:/sbin/init +Conflicts: sysvinit +Conflicts: upstart %description sysvinit Drop-in replacement of System V init tools. -%package -n libsystemd0%{?mini} -Summary: Component library for systemd -License: LGPL-2.1+ -Group: System/Libraries -%if 0%{?bootstrap} -Conflicts: libsystemd0 -Requires: this-is-only-for-build-envs -%endif - -%description -n libsystemd0%{?mini} -This library provides several of the systemd C APIs: - -* sd-bus implements an alternative D-Bus client library that is - relatively easy to use, very efficient and supports both classic - D-Bus as well as kdbus as transport backend. - -* sd-daemon(3): for system services (daemons) to report their status - to systemd and to make easy use of socket-based activation logic - -* sd-event is a generic event loop abstraction that is built around - Linux epoll, but adds features such as event prioritization or - efficient timer handling. - -* sd-id128(3): generation and processing of 128-bit IDs - -* sd-journal(3): API to submit and query journal log entries - -* sd-login(3): APIs to introspect and monitor seat, login session and - user status information on the local system. - -%package -n udev%{?mini} -Summary: A rule-based device node and kernel event manager -License: GPL-2.0 -Group: System/Kernel -Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq -PreReq: /usr/bin/sg_inq -Requires(pre): /usr/bin/stat -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/bin/getent -Requires(post): libudev%{?mini}1 -Requires(post): sed -Requires(post): /usr/bin/systemctl -%if %{defined regenerate_initrd_post} -Requires(post): coreutils -Requires(post): /usr/bin/stat -Requires(postun): coreutils -Requires(posttrans): suse-module-tools -Requires(posttrans): /sbin/mkinitrd -%else -Requires(post): /sbin/mkinitrd -Requires(postun): /sbin/mkinitrd -%endif -Conflicts: systemd < 39 -Conflicts: aaa_base < 11.5 -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Conflicts: util-linux < 2.16 -Conflicts: ConsoleKit < 0.4.1 -Requires: filesystem -%if 0%{?bootstrap} -Provides: udev = %version-%release -Conflicts: kiwi -%endif -Conflicts: otherproviders(udev) - -%description -n udev%{?mini} -Udev creates and removes device nodes in /dev for devices discovered or -removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching -rules may name a device node, create additional symlinks to the node, -call tools to initialize a device, or load needed kernel modules. - - - -%package -n libudev%{?mini}1 -# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ -Summary: Dynamic library to access udev device information -License: LGPL-2.1+ -Group: System/Libraries -%if 0%{?bootstrap} -Conflicts: libudev1 -%endif - -%description -n libudev%{?mini}1 -This package contains the dynamic library libudev, which provides -access to udev device information - -%package -n libudev%{?mini}-devel -Summary: Development files for libudev -License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libudev%{?mini}1 = %version-%release -%if 0%{?bootstrap} -Provides: libudev-devel = %version-%release -%endif -Conflicts: otherproviders(libudev-devel) - -%description -n libudev%{?mini}-devel -This package contains the development files for the library libudev, a -dynamic library, which provides access to udev device information. - -%if ! 0%{?bootstrap} -%package logger -Summary: Journal only logging -License: LGPL-2.1+ -Group: System/Base -Provides: syslog -Provides: sysvinit(syslog) -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl -Requires(post): /usr/bin/systemctl -Requires(post): permissions -Conflicts: otherproviders(syslog) - -%description logger -This package marks the installation to not use syslog but only the journal. - -%package -n nss-myhostname -Summary: Plugin for local system host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-myhostname -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured system hostname as returned by -gethostname(2). Various software relies on an always resolvable local -host name. When using dynamic hostnames this is usually achieved by -patching /etc/hosts at the same time as changing the host name. This -however is not ideal since it requires a writable /etc file system and -is fragile because the file might be edited by the administrator at -the same time. nss-myhostname simply returns all locally -configured public IP addresses, or -- if none are configured -- -the IPv4 address 127.0.0.2 (wich is on the local loopback) and the -IPv6 address ::1 (which is the local host) for whatever system -hostname is configured locally. Patching /etc/hosts is thus no -longer necessary. - -Note that nss-myhostname only provides a workaround for broken -software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that's worth -a bug report then. -This package marks the installation to not use syslog but only the journal. - -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. - -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-resolve - -%package journal-gateway -Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -%description journal-gateway -systemd-journal-gatewayd serves journal events over the network using HTTP. -%endif - %prep -%setup -q -n systemd-%version -echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in - -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif - -# systemd patches -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch12 -p1 -%patch16 -p1 -%patch17 -p1 -%patch20 -p1 -%patch21 -p1 -# check if this is still needed, or can be derived from fbdev uaccess rule -# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html -%patch27 -p1 -%patch28 -p1 -%patch37 -p1 -%patch39 -p1 -%patch41 -p1 -%patch42 -p1 -%patch84 -p1 -%patch86 -p1 -%patch90 -p1 -%patch91 -p1 -%patch120 -p1 -%patch178 -p1 -%patch179 -p1 -%patch180 -p1 -%patch182 -p1 -%patch183 -p1 -%patch186 -p1 -%patch188 -p1 -%patch189 -p1 -%patch190 -p1 -%patch191 -p1 -%patch192 -p1 -%patch193 -p1 -%patch197 -p1 -%patch198 -p1 -%patch203 -p1 -%patch208 -p1 -%patch338 -p1 -%patch345 -p1 -%patch352 -p1 -%patch362 -p1 -%patch366 -p1 -%patch368 -p1 -%patch386 -p1 -%patch430 -p1 -%patch475 -p1 -%patch490 -p1 -%patch520 -p1 -%patch521 -p1 -%patch522 -p1 -%patch523 -p0 -%patch524 -p1 - -# udev patches -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1035 -p1 -%if %{with blkrrpart} -%patch1037 -p1 -%endif -%patch1060 -p1 -%patch1062 -p1 -%patch1066 -p1 -%patch1095 -p1 -%patch1096 -p1 -%patch1097 -p1 -%patch1098 -p1 -%patch1099 -p1 - -# -# In combination with Patch352 set-and-use-default-logconsole.patch -# Ensure that journald log on tty10 -# -%ifarch %ix86 x86_64 x32 -sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf -%endif +%setup -q %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - -# -# Be sure that fresh build libudev is linked as otherwise no errors are found -# -sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS = \\\ - $(AM_LDFLAGS) \\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ - -}' Makefile.am -sh autogen.sh - -export V=e -export CFLAGS="%{optflags}" -export LDFLAGS -%if 0%{?suse_version} == 1315 - CFLAGS="$CFLAGS -DNET_IFNAMES=1" -%else - CFLAGS="$CFLAGS -DNET_IFNAMES=0" -%endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS -# keep split-usr until all packages have moved their systemd rules to /usr +# prevent pre-generated and distributed files from re-building +find . -name "*.[1-8]" -exec touch '{}' \; +touch src/systemadm.c +export V=1 %configure \ - --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ + --with-distro=suse \ --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ -%if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ - --disable-machined \ -%else - --enable-manpages \ -%if %{with python} - --with-python \ -%endif - --with-nss-my-hostname-warning \ -%endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ -%if %{without networkd} - --disable-networkd \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ -%endif -%if %{without resolved} - --disable-resolved \ -%endif - --disable-kdbus + --with-rootdir= \ + CFLAGS="$RPM_OPT_FLAGS" make %{?_smp_mflags} -%if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man -%endif %install -%make_install -install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" - -# move to %{_lib} -%if ! 0%{?bootstrap} -mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%endif - -mkdir -p %{buildroot}/{sbin,lib,bin} -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - -%if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 -%endif - -%if ! 0%{?bootstrap} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config -%endif - -ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants -rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} - -install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd -ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init -ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot -ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt -ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown -ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff -ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit -ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -rm -rf %{buildroot}/etc/systemd/system/*.target.wants -rm -f %{buildroot}/etc/systemd/system/default.target - -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ - -# don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path - -# create %{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - -# do not ship sysctl defaults in systemd package, will be part of -# aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf - -# remove README file for now -rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -rm -rf %{buildroot}%{_datadir}/bash-completion -%endif - -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done -ln -s /usr/lib/udev %{buildroot}/lib/udev - -# Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal/ - -# Make sure directories in /var exist -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -#create ghost databases -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin - -# Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ - -# Make sure the shutdown/sleep drop-in dirs exist -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ - -# Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants - -# create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -[Service] -# ensure tty1 isn't cleared (bnc#804158) -TTYVTDisallocate=no -EOF - -#ensure we get the running kernel sysctl settings. - -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf -d! /run/sysctl.d -L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v -EOF - -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d - -cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -[Unit] -After=local-fs.target -EOF - -# ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ -ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ - -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -%fdupes -s %{buildroot}%{_mandir} - -%if ! 0%{?bootstrap} -for f in %{buildroot}%{_datadir}/bash-completion/completions/* -do - test -e "$f" || break - grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" -done > files.completion -%else -> files.completion -%endif - -# packaged in systemd-rpm-macros -rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd - -%if %{without compat_libs} -lib=%{_libdir}/libsystemd.so -for lnk in daemon login id128 journal -do - lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so - echo '/* GNU ld script */' > ${lnk} - echo 'INPUT('${lib}')' >> ${lnk} -done -%endif - -# Some files which may created by us or by the admin later on -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ - machine-id machine-info \ - systemd/system/runlevel2.target \ - systemd/system/runlevel3.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel5.target -do - > %{buildroot}%{_sysconfdir}/$ghost -done - -# Workaround for bug #882393 -for runlevel in poweroff rescue multi-user graphical reboot -do - mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants - ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ -done - -# add entries for xkeyboard-config converted keymaps; mappings, -# which already exist in original systemd mapping table are being -# ignored though, i.e. not overwritten -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" -fi - -%find_lang systemd +%makeinstall +find $RPM_BUILD_ROOT -type f -name '*.la' -exec rm -f {} ';' +mkdir -p $RPM_BUILD_ROOT/sbin +ln -s ../bin/systemd $RPM_BUILD_ROOT/sbin/init +ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/reboot +ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/halt +ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown +ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/poweroff +ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit +ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel +rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants +rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target %pre -for name in journal timesync network resolve bus-proxy -do - getent group systemd-$name >/dev/null && continue - groupadd -r systemd-$name || : -done -for name in timesync network resolve bus-proxy -do - getent passwd systemd-$name >/dev/null && continue - case "$name" in - timesync) descr="Systemd Time Synchronization" ;; - network) descr="Systemd Network Management" ;; - resolve) descr="Systemd Resolver" ;; - bus-proxy) descr="Systemd Bus Proxy" ;; - esac - useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : -done -exit 0 +# kernel changes are pending to move this to /sys/fs/cgroup +mkdir -p -m 0755 /cgroup || : %post -%if ! 0%{?bootstrap} -/usr/sbin/pam-config -a --systemd || : -%endif -/sbin/ldconfig -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup || : -/usr/lib/systemd/systemd-random-seed save || : -/usr/bin/systemctl daemon-reexec || : -/usr/bin/journalctl --update-catalog || : -# Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ || : -chmod g+s %{_localstatedir}/log/journal/ || : -if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : - chmod g+s "%{_localstatedir}/log/journal/$ID" || : -fi -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -systemd-sysusers || : - -# Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) - if [ -n "$runlevel" ] ; then - /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : - fi -fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done + # Try to read default runlevel from the old inittab if it exists + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + if [ -z "$runlevel" ] ; then + target="/lib/systemd/system/graphical.target" + else + target="/etc/systemd/system/runlevel$runlevel.target" + fi + /bin/ln -sf "$target" /etc/systemd/system/default.target 2>&1 || : + # Enable the services we install by default. + /bin/systemctl enable getty@.service >/dev/null 2>&1 || : + /bin/systemctl enable remote-fs.target >/dev/null 2>&1 || : + /bin/systemctl enable var-run.mount >/dev/null 2>&1 || : + /bin/systemctl enable var-lock.mount >/dev/null 2>&1 || : fi - -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : -fi - -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - -%postun -/sbin/ldconfig -if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload || : - #Avoid restarting logind [bnc#934901] until fixed upstream - #/usr/bin/systemctl try-restart systemd-logind.service || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : -fi -%endif +# Make sure we always enable these basic services, in case something went +# wrong at the time these packages got installed. Usual systems can not +# properly bootup without these services. +/bin/systemctl enable udev.service >/dev/null 2>&1 || : +/bin/systemctl enable dbus.service >/dev/null 2>&1 || : %preun if [ $1 -eq 0 ]; then - /usr/bin/systemctl disable \ - getty@.service \ - remote-fs.target || : + /bin/systemctl disable getty@.service >/dev/null 2>&1 || : + /bin/systemctl disable remote-fs.target >/dev/null 2>&1 || : + /bin/systemctl disable var-run.mount >/dev/null 2>&1 || : + /bin/systemctl disable var-lock.mount >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi -# pretrans section must always use lua -%pretrans -n udev%{?mini} -p -if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") -end +%clean +rm -rf $RPM_BUILD_ROOT -%pre -n udev%{?mini} -if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev -elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev -fi -# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -getent group tape >/dev/null || groupadd -r tape || : -# kill daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root ; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : - udevadm control --exit || : - fi -fi - -%post -n udev%{?mini} -/usr/bin/udevadm hwdb --update || : -if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then - # add KERNEL name match to existing persistent net rules - sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules || : -fi -# cleanup old stuff -rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/20-cdrom.rules -rm -f /etc/udev/rules.d/55-cdrom.rules -rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload || : -# start daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service; then - /usr/lib/systemd/systemd-udevd --daemon || : - fi - fi -fi - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%postun -n udev%{?mini} -%insserv_cleanup -systemctl daemon-reload || : - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%if %{defined regenerate_initrd_post} -%posttrans -n udev%{?mini} -%regenerate_initrd_posttrans -%endif - -%post -n libsystemd0%{?mini} -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post -n libudev%{?mini}1 -p /sbin/ldconfig -%postun -n libudev%{?mini}1 -p /sbin/ldconfig - -%if ! 0%{?bootstrap} - -%if %{with permission} -%verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal/ -%endif - -%pre logger -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -exit 0 - -%post logger -%if %{with permission} -%set_permissions %{_localstatedir}/log/journal/ -%endif -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -if [ "$1" -eq 1 ]; then -# tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service || : -fi - -%preun -n nss-myhostname -if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then - %{_sbindir}/nss-myhostname-config --disable -fi - -%post -n nss-myhostname -p /sbin/ldconfig - -%postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig - -%pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -exit 0 - -%post journal-gateway -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%preun journal-gateway -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%postun journal-gateway -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%endif - -%files -f systemd.lang +%files %defattr(-,root,root) /bin/systemd -/bin/systemd-ask-password /bin/systemctl -%if %{with networkd} -%{_bindir}/networkctl -%endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl -%if ! 0%{?bootstrap} -%{_bindir}/machinectl -%endif -%{_bindir}/systemctl -%{_bindir}/systemd-analyze -%{_bindir}/coredumpctl -%{_bindir}/systemd-delta -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers -%{_bindir}/systemd-notify -%{_bindir}/systemd-run -%{_bindir}/systemd-journalctl -%{_bindir}/journalctl -%{_bindir}/systemd-ask-password -%{_bindir}/loginctl -%{_bindir}/systemd-loginctl -%{_bindir}/systemd-inhibit -%{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles -%{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-nspawn -%{_bindir}/systemd-stdio-bridge -%{_bindir}/systemd-detect-virt -%{_bindir}/timedatectl -%{_sbindir}/systemd-sysv-convert +/bin/systemd-notify %{_bindir}/systemd-cgls -%{_bindir}/systemd-cgtop -%{_bindir}/systemd-cat -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%endif -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket -%exclude %{_prefix}/lib/systemd/systemd-udevd -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%endif -%{_prefix}/lib/systemd/systemd-* -%{_prefix}/lib/systemd/systemd -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%dir %{_prefix}/lib/systemd/system-shutdown -%dir %{_prefix}/lib/systemd/system-preset -%dir %{_prefix}/lib/systemd/user-preset -%dir %{_prefix}/lib/systemd/system-generators -%dir %{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator -%dir %{_prefix}/lib/systemd/ntp-units.d/ -%dir %{_prefix}/lib/systemd/system-shutdown/ -%dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/default.target.wants -%dir %{_prefix}/lib/systemd/system/dbus.target.wants -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d -%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -%if ! 0%{?bootstrap} -%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator -%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator -%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ +/lib/systemd/systemd-* /%{_lib}/security/pam_systemd.so -%config /etc/pam.d/systemd-user - -%ifarch %{ix86} x86_64 -%dir %{_prefix}/lib/systemd/boot -%dir %{_prefix}/lib/systemd/boot/efi -%{_prefix}/lib/systemd/boot/efi/*.efi -%{_prefix}/lib/systemd/boot/efi/*.stub -%endif - -%dir %{_libexecdir}/modules-load.d -%dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf - -%dir %{_libexecdir}/tmpfiles.d -%dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf - -%dir %{_libexecdir}/binfmt.d -%dir %{_sysconfdir}/binfmt.d - -%dir %{_libexecdir}/sysctl.d -%dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf - -%dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d -%{_sysconfdir}/xdg/systemd/user -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%endif -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf +%dir %{_sysconfdir}/systemd/session +%dir %{_sysconfdir}/xdg/systemd/session %config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif +%config(noreplace) %{_sysconfdir}/systemd/system/ctrl-alt-del.target +%config(noreplace) %{_sysconfdir}/systemd/system/kbrequest.target +%config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target +%config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target +%config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target +%config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf - -%{_sysconfdir}/X11/xinit/ -# Some files which may created by us -%dir %{_sysconfdir}/X11/xorg.conf.d -%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf -%ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-id -%ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target - -%{_datadir}/factory/ +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname - -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%dir %{_datadir}/polkit-1 -%dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif -%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if ! 0%{?bootstrap} -%exclude %{_datadir}/systemd/gatewayd -%endif %{_datadir}/systemd - -%if ! 0%{?bootstrap} -%_mandir/man1/[a-rt-z]*ctl.1* -%_mandir/man1/systemc*.1* -%_mandir/man1/systemd*.1* -%_mandir/man5/[a-tv-z]* -%_mandir/man5/user* -%_mandir/man7/[bdfks]* -%_mandir/man8/kern* -%_mandir/man8/pam_* -%_mandir/man8/systemd-[a-gik-tv]* -%_mandir/man8/systemd-h[aioy]* -%_mandir/man8/systemd-journal-remote.* -%_mandir/man8/systemd-journal-upload.* -%_mandir/man8/systemd-journald* -%_mandir/man8/systemd-u[ps]* -%endif -%{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%if ! 0%{?bootstrap} -%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%endif -%{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/numlock-on -%if 0%{suse_version} < 1310 -%{_sysconfdir}/rpm/macros.systemd -%endif -%dir %{_localstatedir}/lib/systemd -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/catalog -%ghost %{_localstatedir}/lib/systemd/catalog/database -%dir %{_localstatedir}/lib/systemd/coredump -%dir %{_datadir}/zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif - -%if ! 0%{?bootstrap} -%files bash-completion -f files.completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* -%endif - -%files devel -%defattr(-,root,root,-) -%{_libdir}/libsystemd.so -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_includedir}/systemd/ %{_datadir}/pkgconfig/systemd.pc -%{_libdir}/pkgconfig/libsystemd.pc -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%if ! 0%{?bootstrap} -%_mandir/man3/SD*.3* -%_mandir/man3/sd*.3* -%endif +%{_mandir}/man1/*.1* +%{_mandir}/man3/*.3* +%{_mandir}/man5/*.5* +%{_mandir}/man7/*.7* +%{_mandir}/man8/*.8* +%{_docdir}/systemd +/lib/udev/rules.d/*.rules +%dir /lib/systemd +/lib/systemd/system +%dir %{_sysconfdir}/systemd + +%files gtk +%defattr(-,root,root,-) +%{_bindir}/systemadm +%{_mandir}/man1/systemadm.1* %files sysvinit %defattr(-,root,root,-) @@ -1442,7 +188,6 @@ exit 0 /sbin/poweroff /sbin/telinit /sbin/runlevel -%if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* %{_mandir}/man8/reboot.8* @@ -1450,119 +195,5 @@ exit 0 %{_mandir}/man8/poweroff.8* %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* -%endif -%dir %_prefix/lib/systemd -%_prefix/lib/systemd/systemd-sysv-install - -%files -n udev%{?mini} -%defattr(-,root,root) -/sbin/udevd -/sbin/udevadm -# keep for compatibility -%ghost /lib/udev -%{_bindir}/udevadm -%if 0%{?suse_version} <= 1310 -%{_prefix}/lib/firmware -%endif -%{_bindir}/systemd-hwdb -%dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/cdrom_id -%{_prefix}/lib/udev/collect -%{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/scsi_id -%{_prefix}/lib/udev/v4l_id -%{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rootsymlink-generator -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ -%dir %{_sysconfdir}/udev/ -%dir %{_sysconfdir}/udev/rules.d/ -%ghost %{_sysconfdir}/udev/hwdb.bin -%config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! 0%{?bootstrap} -%_mandir/man5/udev* -%_mandir/man7/hwdb* -%_mandir/man7/udev* -%_mandir/man8/systemd-hwdb* -%_mandir/man8/systemd-udev* -%_mandir/man8/udev* -%endif -%dir %{_prefix}/lib/systemd/system -%{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/*udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket -%dir %{_prefix}/lib/systemd/network -%{_prefix}/lib/systemd/network/*.link -%{_prefix}/lib/systemd/network/*.network -%if 0%{?suse_version} > 1310 -%{_datadir}/pkgconfig/udev.pc -%endif - -%files -n libsystemd0%{?mini} -%defattr(-,root,root) -%_libdir/libsystemd.so.* -%if %{with compat_libs} -%_libdir/libsystemd-daemon.so.* -%_libdir/libsystemd-login.so.* -%_libdir/libsystemd-id128.so.* -%_libdir/libsystemd-journal.so.* -%endif - -%files -n libudev%{?mini}1 -%defattr(-,root,root) -%{_libdir}/libudev.so.* - -%files -n libudev%{?mini}-devel -%defattr(-,root,root) -%{_includedir}/libudev.h -%{_libdir}/libudev.so -%{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man3/*udev*.3* -%endif - -%if ! 0%{?bootstrap} -%files logger -%defattr(-,root,root) -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif - -%files -n nss-myhostname -%defattr(-, root, root) -%{_sbindir}/nss-myhostname-config -%if !0%{?bootstrap} -%{_mandir}/man8/libnss_myhostname.* -%{_mandir}/man8/nss-myhostname.* -%endif -/%{_lib}/*nss_myhostname* - -%files journal-gateway -%defattr(-, root, root) -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_datadir}/systemd/gatewayd - -%files -n nss-mymachines -%defattr(-,root,root) -%_libdir/libnss_mymachines.so* -%if !0%{?bootstrap} -%_mandir/man8/libnss_mymachines.* -%_mandir/man8/nss-mymachines.* -%endif -%endif %changelog diff --git a/tomcat6-var-lock-subsys-legacy.patch b/tomcat6-var-lock-subsys-legacy.patch deleted file mode 100644 index cf9207ba..00000000 --- a/tomcat6-var-lock-subsys-legacy.patch +++ /dev/null @@ -1,20 +0,0 @@ -Provide /run/lock/subsys directory to be able to provide the -/var/lock/subsys via the symbolic link /var/lock (bnc#889357) - ---- - tmpfiles.d/legacy.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-221.orig/tmpfiles.d/legacy.conf -+++ systemd-221/tmpfiles.d/legacy.conf -@@ -17,7 +17,7 @@ L /var/lock - - - - ../run/lock - # /run/lock/subsys is used for serializing SysV service execution, and - # hence without use on SysV-less systems. - --#d /run/lock/subsys 0755 root root - -+d /run/lock/subsys 0755 root root - - - # /run/lock/lockdev is used to serialize access to tty devices via - # LCK..xxx style lock files, For more information see: diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch deleted file mode 100644 index f96fc24b..00000000 --- a/tty-ask-password-agent-on-console.patch +++ /dev/null @@ -1,376 +0,0 @@ -From 907bc2aa36f58c6050cd4b7b290e0992a4373e49 Mon Sep 17 00:00:00 2001 -From: Werner Fink -Date: Wed, 30 Sep 2015 15:00:41 +0200 -Subject: [PATCH] Ask for passphrases not only on the first console of - /dev/console - -but also on all other consoles. This does help on e.g. mainframes -where often a serial console together with other consoles are -used. Even rack based servers attachted to both a serial console -as well as having a virtual console do sometimes miss a connected -monitor. - -To be able to ask on all terminal devices of /dev/console the devices -are collected. If more than one device are found, then on each of the -terminals a inquiring task for passphrase is forked and do not return -to the caller. - -Every task has its own session and its own controlling terminal. -If one of the tasks does handle a password, the remaining tasks -will be terminated. - -Also let contradictory options on the command of -systemd-tty-ask-password-agent fail. - -Spwan for each device of the system console /dev/console a own process. - -Replace the system call wait() with with system call waitid(). ---- - src/tty-ask-password-agent/tty-ask-password-agent.c | 264 +++++++++++++++++++- - 1 file changed, 254 insertions(+), 10 deletions(-) - -Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd-228.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -4,6 +4,7 @@ - This file is part of systemd. - - Copyright 2010 Lennart Poettering -+ Copyright 2015 Werner Fink - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by -@@ -21,6 +22,9 @@ - - #include - #include -+#include -+#include -+#include - #include - #include - #include -@@ -49,6 +53,8 @@ - #include "terminal-util.h" - #include "util.h" - #include "utmp-wtmp.h" -+#include "fileio.h" -+#include "macro.h" - - static enum { - ACTION_LIST, -@@ -57,8 +63,21 @@ static enum { - ACTION_WALL - } arg_action = ACTION_QUERY; - -+struct console { -+ pid_t pid; -+ char *tty; -+}; -+ -+static volatile sig_atomic_t sigchild; -+ -+static void chld_handler(int sig) { -+ ++sigchild; -+} -+ - static bool arg_plymouth = false; - static bool arg_console = false; -+static bool arg_device = false; -+static const char *current_dev = "/dev/console"; - - static int ask_password_plymouth( - const char *message, -@@ -240,6 +259,80 @@ finish: - return r; - } - -+static void free_consoles(struct console *con, unsigned int num) { -+ unsigned int n; -+ -+ if (!con || num == 0) -+ return; -+ -+ for (n = 0; n < num; n++) -+ free(con[n].tty); -+ -+ free(con); -+} -+ -+static int collect_consoles(struct console **consoles, unsigned int *num) { -+ _cleanup_free_ char *active = NULL; -+ const char *word, *state; -+ struct console *con = NULL; -+ size_t con_len = 0, len; -+ unsigned int count = 0; -+ int ret; -+ -+ assert(num); -+ assert(consoles); -+ -+ ret = read_one_line_file("/sys/class/tty/console/active", &active); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to read /sys/class/tty/console/active: %m"); -+ -+ FOREACH_WORD(word, len, active, state) { -+ _cleanup_free_ char *tty = NULL; -+ -+ if (len == 4 && strneq(word, "tty0", 4)) { -+ -+ ret = read_one_line_file("/sys/class/tty/tty0/active", &tty); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to read /sys/class/tty/tty0/active: %m"); -+ -+ word = tty; -+ len = strlen(tty); -+ } -+ -+ con = GREEDY_REALLOC(con, con_len, 1+count); -+ if (!con) -+ return log_oom(); -+ -+ if (asprintf(&con[count].tty, "/dev/%.*s", (int)len, word) < 0) { -+ free_consoles(con, count); -+ return log_oom(); -+ } -+ -+ con[count].pid = 0; -+ count++; -+ } -+ -+ if (!con) { -+ con = GREEDY_REALLOC(con, con_len, 1); -+ if (!con) -+ return log_oom(); -+ -+ con[0].tty = strdup(current_dev); -+ if (!con[0].tty) { -+ free_consoles(con, 1); -+ return log_oom(); -+ } -+ -+ con[0].pid = 0; -+ count++; -+ } -+ -+ *num = count; -+ *consoles = con; -+ -+ return 0; -+} -+ - static int parse_password(const char *filename, char **wall) { - _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; - bool accept_cached = false, echo = false; -@@ -340,7 +433,7 @@ static int parse_password(const char *fi - int tty_fd = -1; - - if (arg_console) { -- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); -+ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); - if (tty_fd < 0) - return log_error_errno(tty_fd, "Failed to acquire /dev/console: %m"); - -@@ -601,7 +694,7 @@ static int parse_argv(int argc, char *ar - { "watch", no_argument, NULL, ARG_WATCH }, - { "wall", no_argument, NULL, ARG_WALL }, - { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, -- { "console", no_argument, NULL, ARG_CONSOLE }, -+ { "console", optional_argument, NULL, ARG_CONSOLE }, - {} - }; - -@@ -643,6 +736,10 @@ static int parse_argv(int argc, char *ar - - case ARG_CONSOLE: - arg_console = true; -+ if (optarg && *optarg) { -+ current_dev = optarg; -+ arg_device = true; -+ } - break; - - case '?': -@@ -657,9 +754,143 @@ static int parse_argv(int argc, char *ar - return -EINVAL; - } - -+ if (arg_plymouth || arg_console) { -+ -+ if (!IN_SET(arg_action, ACTION_QUERY, ACTION_WATCH)) { -+ log_error("%s conflicting options --query and --watch.", program_invocation_short_name); -+ return -EINVAL; -+ } -+ -+ if (arg_plymouth && arg_console) { -+ log_error("%s conflicting options --plymouth and --console.", program_invocation_short_name); -+ return -EINVAL; -+ } -+ } -+ - return 1; - } - -+/* -+ * To be able to ask on all terminal devices of /dev/console -+ * the devices are collected. If more than one device are found, -+ * then on each of the terminals a inquiring task is forked. -+ * Every task has its own session and its own controlling terminal. -+ * If one of the tasks does handle a password, the remaining tasks -+ * will be terminated. -+ */ -+static int ask_on_consoles(int argc, char *argv[]) { -+ struct console *consoles = NULL; -+ struct sigaction sig = { -+ .sa_handler = chld_handler, -+ .sa_flags = SA_NOCLDSTOP | SA_RESTART, -+ }; -+ struct sigaction oldsig; -+ sigset_t oldset; -+ unsigned int num = 0, id; -+ siginfo_t status = {}; -+ int ret; -+ -+ ret = collect_consoles(&consoles, &num); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to query password: %m"); -+ -+ assert_se(sigprocmask_many(SIG_UNBLOCK, &oldset, SIGHUP, SIGCHLD, -1) >= 0); -+ -+ assert_se(sigemptyset(&sig.sa_mask) >= 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) >= 0); -+ -+ sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) >= 0); -+ -+ for (id = 0; id < num; id++) { -+ consoles[id].pid = fork(); -+ -+ if (consoles[id].pid < 0) -+ return log_error_errno(errno, "Failed to query password: %m"); -+ -+ if (consoles[id].pid == 0) { -+ char *conarg; -+ int ac; -+ -+ conarg = strjoina("--console=", consoles[id].tty); -+ if (!conarg) -+ return log_oom(); -+ -+ free_consoles(consoles, num); /* not used anymore */ -+ -+ assert_se(prctl(PR_SET_PDEATHSIG, SIGHUP) >= 0); -+ -+ zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) >= 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) >= 0); -+ -+ for (ac = 0; ac < argc; ac++) { -+ if (streq(argv[ac], "--console")) { -+ argv[ac] = conarg; -+ break; -+ } -+ } -+ -+ execv(SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH, argv); -+ -+ return log_error_errno(errno, "Failed to execute %s: %m", program_invocation_name); -+ } -+ } -+ -+ ret = 0; -+ while (true) { -+ -+ if ((ret = waitid(P_ALL, 0, &status, WEXITED)) < 0) { -+ -+ if (errno != EINTR) { -+ ret = -errno; -+ if (errno == ECHILD) -+ ret = EXIT_SUCCESS; -+ break; -+ } -+ continue; -+ } -+ -+ for (id = 0; id < num; id++) { -+ struct timespec timeout; -+ sigset_t set; -+ int signum; -+ -+ if (consoles[id].pid == status.si_pid || kill(consoles[id].pid, 0) < 0) -+ consoles[id].pid = -1; -+ -+ if (consoles[id].pid < 0) -+ continue; -+ -+ kill(consoles[id].pid, SIGHUP); -+ -+ assert_se(sigemptyset(&set) >= 0); -+ assert_se(sigaddset(&set, SIGCHLD) >= 0); -+ -+ timespec_store(&timeout, 50 * USEC_PER_MSEC); -+ signum = sigtimedwait(&set, NULL, &timeout); -+ -+ if (signum != SIGCHLD) { -+ -+ if (signum < 0 && errno != EAGAIN) -+ return log_error_errno(errno, "sigtimedwait() failed: %m"); -+ -+ if (signum >= 0) -+ log_warning("sigtimedwait() returned unexpected signal."); -+ } -+ -+ kill(consoles[id].pid, SIGKILL); -+ } -+ -+ if (WIFEXITED(status.si_status) && ret == 0) -+ ret = WEXITSTATUS(status.si_status); -+ } -+ -+ free_consoles(consoles, num); -+ -+ return ret; -+} -+ - int main(int argc, char *argv[]) { - int r; - -@@ -673,16 +904,29 @@ int main(int argc, char *argv[]) { - if (r <= 0) - goto finish; - -- if (arg_console) { -- (void) setsid(); -- (void) release_terminal(); -+ if (arg_console && !arg_device) -+ /* -+ * Spawn for each console device a own process -+ */ -+ r = ask_on_consoles(argc, argv); -+ else { -+ -+ if (arg_device) { -+ /* -+ * Later on a controlling terminal will be will be acquired, -+ * therefore the current process has to become a session -+ * leader and should not have a controlling terminal already. -+ */ -+ (void) setsid(); -+ (void) release_terminal(); -+ } -+ -+ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) -+ r = watch_passwords(); -+ else -+ r = show_passwords(); - } - -- if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) -- r = watch_passwords(); -- else -- r = show_passwords(); -- - finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch deleted file mode 100644 index 2e655400..00000000 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ /dev/null @@ -1,155 +0,0 @@ -Simply writing /var/lib/systemd/random-seed back to /dev/(u)random does not -increase the entropy bit count. Therefore use the RNDADDENTROPY ioctl to -write back the bytes and increase the entropy bit counter. - -Related to bnc#892096 - ---- - src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ - 1 file changed, 61 insertions(+), 10 deletions(-) - -Index: systemd-228/src/random-seed/random-seed.c -=================================================================== ---- systemd-228.orig/src/random-seed/random-seed.c -+++ systemd-228/src/random-seed/random-seed.c -@@ -24,6 +24,8 @@ - #include - #include - #include -+#include -+#include - - #include "alloc-util.h" - #include "fd-util.h" -@@ -36,8 +38,8 @@ - #define POOL_SIZE_MIN 512 - - int main(int argc, char *argv[]) { -- _cleanup_close_ int seed_fd = -1, random_fd = -1; -- _cleanup_free_ void* buf = NULL; -+ _cleanup_close_ int seed_fd = -1, random_fd = -1, entropy_fd = -1; -+ _cleanup_free_ struct rand_pool_info *entropy = NULL; - size_t buf_size = 0; - ssize_t k; - int r; -@@ -68,11 +70,12 @@ int main(int argc, char *argv[]) { - if (buf_size <= POOL_SIZE_MIN) - buf_size = POOL_SIZE_MIN; - -- buf = malloc(buf_size); -- if (!buf) { -+ entropy = (struct rand_pool_info*) malloc(sizeof(struct rand_pool_info) + buf_size); -+ if (!entropy) { - r = log_oom(); - goto finish; - } -+ entropy->buf_size = (typeof(entropy->buf_size)) buf_size; - - r = mkdir_parents_label(RANDOM_SEED, 0755); - if (r < 0) { -@@ -86,6 +89,23 @@ int main(int argc, char *argv[]) { - - if (streq(argv[1], "load")) { - -+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); -+ if (entropy_fd < 0) { -+ entropy->entropy_count = 0; -+ if (errno != ENOENT) { -+ log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } else { -+ r = read(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); -+ if (r < 0) { -+ log_error("Failed to read entropy count file: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } -+ - seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); - if (seed_fd < 0) { - seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -106,7 +126,7 @@ int main(int argc, char *argv[]) { - } - } - -- k = loop_read(seed_fd, buf, buf_size, false); -+ k = loop_read(seed_fd, entropy->buf, (size_t) entropy->buf_size, false); - if (k < 0) - r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); - else if (k == 0) -@@ -114,13 +134,29 @@ int main(int argc, char *argv[]) { - else { - (void) lseek(seed_fd, 0, SEEK_SET); - -- r = loop_write(random_fd, buf, (size_t) k, false); -- if (r < 0) -- log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ if (entropy->entropy_count && (size_t)k == (size_t)entropy->buf_size) { -+ r = ioctl(random_fd, RNDADDENTROPY, entropy); -+ if (r < 0) { -+ log_error_errno(errno, "Failed to write seed to /dev/urandom: %m"); -+ r = -errno; -+ } -+ } else { -+ r = loop_write(random_fd, entropy->buf, (size_t) k, false); -+ if (r < 0) -+ log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ } - } - - } else if (streq(argv[1], "save")) { - -+ /* Read available entropy count, if possible */ -+ f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); -+ if (f) { -+ if (fscanf(f, "%d", &entropy->entropy_count) < 0) -+ entropy->entropy_count = 0; -+ fclose(f); -+ } -+ - seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); - if (seed_fd < 0) { - r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -133,6 +169,21 @@ int main(int argc, char *argv[]) { - goto finish; - } - -+ if (entropy->entropy_count) { -+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); -+ if (seed_fd < 0) { -+ log_error("Failed to open " RANDOM_SEED_DIR "entropy_count: %m"); -+ r = -errno; -+ goto finish; -+ } -+ r = write(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); -+ if (r < 0) { -+ log_error("Failed to write entropy count file: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } -+ - } else { - log_error("Unknown verb '%s'.", argv[1]); - r = -EINVAL; -@@ -147,7 +198,7 @@ int main(int argc, char *argv[]) { - (void) fchmod(seed_fd, 0600); - (void) fchown(seed_fd, 0, 0); - -- k = loop_read(random_fd, buf, buf_size, false); -+ k = loop_read(random_fd, entropy->buf, (size_t) entropy->buf_size, false); - if (k < 0) { - r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); - goto finish; -@@ -158,7 +209,7 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- r = loop_write(seed_fd, buf, (size_t) k, false); -+ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write new random seed file: %m"); - } diff --git a/v228.tar.gz b/v228.tar.gz deleted file mode 100644 index 84f9e59d..00000000 --- a/v228.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 -size 4034401 diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch deleted file mode 100644 index c0f4d74f..00000000 --- a/vhangup-on-all-consoles.patch +++ /dev/null @@ -1,40 +0,0 @@ -Related to bnc#886599 and others. That is use the vhangup(8) tool -to explicit do a virtually hangup on the specified on the terminal -line to give e.g. the bash a few seconds to e.g. safe its history. - -[crrodriguez@opensuse.org: Feb 2015 -This a known kernel bug, no notification from the cgroup subsystem -arrives and the processes in the "scope" units have -to be SIGKILL'ed without delay in order not to hang shutdown -Status: fix not available as of Feb 16 2015 -track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 -] - ---- - units/getty@.service.m4 | 1 + - units/serial-getty@.service.m4 | 1 + - 2 files changed, 2 insertions(+) -Index: systemd-221/units/getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/getty@.service.m4 -+++ systemd-221/units/getty@.service.m4 -@@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 - [Service] - # the VT is cleared by TTYVTDisallocate - ExecStart=-/sbin/agetty --noclear %I $TERM -+ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always - RestartSec=0 -Index: systemd-221/units/serial-getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/serial-getty@.service.m4 -+++ systemd-221/units/serial-getty@.service.m4 -@@ -24,6 +24,7 @@ IgnoreOnIsolate=yes - - [Service] - ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM -+ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always - UtmpIdentifier=%I diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch deleted file mode 100644 index e6df8c6e..00000000 --- a/watch_resolv.conf_for_become_changed.patch +++ /dev/null @@ -1,153 +0,0 @@ ---- - src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/manager.h | 5 ++ - 2 files changed, 98 insertions(+) - -Index: systemd-227/src/core/manager.c -=================================================================== ---- systemd-227.orig/src/core/manager.c -+++ systemd-227/src/core/manager.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_AUDIT - #include -@@ -294,6 +295,91 @@ static int manager_check_ask_password(Ma - return m->have_ask_password; - } - -+static int manager_setup_resolv_conf_change(Manager *); -+ -+static int manager_dispatch_resolv_conf_fd(sd_event_source *source, -+ int fd, uint32_t revents, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(m); -+ assert(m->resolv_conf_inotify_fd == fd); -+ -+ if (revents != EPOLLIN) { -+ log_warning("Got unexpected poll event for notify fd."); -+ return 0; -+ } -+ -+ if (fd >= 0) -+ flush_fd(fd); -+ -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+ manager_setup_resolv_conf_change(m); -+ return m->resolv_conf_noent ? 0 : res_init(); -+} -+ -+static int manager_setup_resolv_conf_change(Manager *m) { -+ int r; -+ -+ assert(m); -+ assert(m->resolv_conf_inotify_fd < 0); -+ -+ m->resolv_conf_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); -+ if (m->resolv_conf_inotify_fd < 0) { -+ log_error("inotify_init1() failed: %m"); -+ r = -errno; -+ goto fail; -+ } -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/resolv.conf", -+ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0) { -+ if (errno == ENOENT) { -+ m->resolv_conf_noent = true; -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc", IN_CREATE|IN_MOVED_TO) < 0) { -+ log_error("Failed to add watch on /etc: %m"); -+ r = -errno; -+ goto fail; -+ } -+ } else { -+ log_error("Failed to add watch on /etc/resolv.conf: %m"); -+ r = -errno; -+ goto fail; -+ } -+ } -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/host.conf", -+ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0 && errno != ENOENT) { -+ log_error("Failed to add watch on /etc/host.conf: %m"); -+ r = -errno; -+ goto fail; -+ } -+ -+ r = sd_event_add_io(m->event, &m->resolv_conf_event_source, -+ m->resolv_conf_inotify_fd, EPOLLIN, -+ manager_dispatch_resolv_conf_fd, m); -+ if (r < 0) { -+ log_error("Failed to add event source for resolver: %s", strerror(-r)); -+ goto fail; -+ } -+ -+ r = sd_event_source_set_priority(m->resolv_conf_event_source, -10); -+ if (r < 0) { -+ log_error("Failed to add event source for resolver: %s", strerror(-r)); -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ goto fail; -+ } -+ -+ return 0; -+fail: -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+ return 0; /* Ignore error here */ -+} -+ -+static void manager_shutdown_resolv_conf_change(Manager *m) { -+ assert(m); -+ -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+} -+ - static int manager_watch_idle_pipe(Manager *m) { - int r; - -@@ -576,6 +662,7 @@ int manager_new(ManagerRunningAs running - - m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ - -+ m->resolv_conf_inotify_fd = -1; - m->ask_password_inotify_fd = -1; - m->have_ask_password = -EINVAL; /* we don't know */ - m->first_boot = -1; -@@ -637,6 +724,10 @@ int manager_new(ManagerRunningAs running - if (r < 0) - goto fail; - -+ r = manager_setup_resolv_conf_change(m); -+ if (r < 0) -+ goto fail; -+ - m->udev = udev_new(); - if (!m->udev) { - r = -ENOMEM; -@@ -914,6 +1005,8 @@ Manager* manager_free(Manager *m) { - if (!m) - return NULL; - -+ manager_shutdown_resolv_conf_change(m); -+ - manager_clear_jobs_and_units(m); - - for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-227/src/core/manager.h -=================================================================== ---- systemd-227.orig/src/core/manager.h -+++ systemd-227/src/core/manager.h -@@ -180,6 +180,11 @@ struct Manager { - struct libmnt_monitor *mount_monitor; - sd_event_source *mount_event_source; - -+ /* Watch out any change of /etc/resolv.conf */ -+ int resolv_conf_inotify_fd; -+ sd_event_source *resolv_conf_event_source; -+ bool resolv_conf_noent; -+ - /* Data specific to the swap filesystem */ - FILE *proc_swaps; - sd_event_source *swap_event_source; From 894558d816c5da10e5fe1826006a6e48bb27f3dbbeb7e456bfd5d790fb1110ac Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Wed, 4 Aug 2010 21:10:35 +0000 Subject: [PATCH 002/991] Accepting request 44548 from Base:System Copy from Base:System/systemd based on submit request 44548 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/44548 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=2 --- systemd-4.tar.bz2 | 3 --- systemd-5.tar.bz2 | 3 +++ systemd.changes | 12 ++++++++++++ systemd.spec | 10 +++++++--- 4 files changed, 22 insertions(+), 6 deletions(-) delete mode 100644 systemd-4.tar.bz2 create mode 100644 systemd-5.tar.bz2 diff --git a/systemd-4.tar.bz2 b/systemd-4.tar.bz2 deleted file mode 100644 index 33cb8239..00000000 --- a/systemd-4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d569a0624d7ce409cd76ace49d2d853f9e030674e24ea585427b9079f10ba5ba -size 637332 diff --git a/systemd-5.tar.bz2 b/systemd-5.tar.bz2 new file mode 100644 index 00000000..49731a83 --- /dev/null +++ b/systemd-5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f7460c4b77172e8eeb124dae0b68fc99f30cfa8d38e52c9e6c441fee2c69d5e +size 638175 diff --git a/systemd.changes b/systemd.changes index 7b38d516..cf7bad2d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com + +- version 5 + - selinux fixes +- fix hanging 'reboot' started from vc + +------------------------------------------------------------------- +Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com + +- enable getty.target by default + ------------------------------------------------------------------- Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 959e32b8..36ab5708 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 4) +# spec file for package systemd (Version 5) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 4 +Version: 5 Release: 1 License: GPLv2+ Group: System/Base @@ -117,19 +117,23 @@ if [ "$1" -eq 1 ]; then /bin/ln -sf "$target" /etc/systemd/system/default.target 2>&1 || : # Enable the services we install by default. /bin/systemctl enable getty@.service >/dev/null 2>&1 || : + /bin/systemctl enable getty.target >/dev/null 2>&1 || : /bin/systemctl enable remote-fs.target >/dev/null 2>&1 || : /bin/systemctl enable var-run.mount >/dev/null 2>&1 || : /bin/systemctl enable var-lock.mount >/dev/null 2>&1 || : fi # Make sure we always enable these basic services, in case something went # wrong at the time these packages got installed. Usual systems can not -# properly bootup without these services. +# properly work without these services. /bin/systemctl enable udev.service >/dev/null 2>&1 || : /bin/systemctl enable dbus.service >/dev/null 2>&1 || : +# temporary fix +/bin/systemctl enable getty.target >/dev/null 2>&1 || : %preun if [ $1 -eq 0 ]; then /bin/systemctl disable getty@.service >/dev/null 2>&1 || : + /bin/systemctl disable getty.target >/dev/null 2>&1 || : /bin/systemctl disable remote-fs.target >/dev/null 2>&1 || : /bin/systemctl disable var-run.mount >/dev/null 2>&1 || : /bin/systemctl disable var-lock.mount >/dev/null 2>&1 || : From 02ee50058d13a68c496e779987a29f8cae136b15c0dea3c5557f40de61f79e8f Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Mon, 9 Aug 2010 00:23:44 +0000 Subject: [PATCH 003/991] Accepting request 44710 from Base:System Copy from Base:System/systemd based on submit request 44710 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/44710 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=3 --- systemd-5.tar.bz2 | 3 --- systemd-6.tar.bz2 | 3 +++ systemd.changes | 27 +++++++++++++++++++++++++++ systemd.spec | 4 ++-- 4 files changed, 32 insertions(+), 5 deletions(-) delete mode 100644 systemd-5.tar.bz2 create mode 100644 systemd-6.tar.bz2 diff --git a/systemd-5.tar.bz2 b/systemd-5.tar.bz2 deleted file mode 100644 index 49731a83..00000000 --- a/systemd-5.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4f7460c4b77172e8eeb124dae0b68fc99f30cfa8d38e52c9e6c441fee2c69d5e -size 638175 diff --git a/systemd-6.tar.bz2 b/systemd-6.tar.bz2 new file mode 100644 index 00000000..280fad5e --- /dev/null +++ b/systemd-6.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7bf2fe66aa9feeb53a05d5c0264981247ddeb68a3b68996032e553eae4963a8 +size 640107 diff --git a/systemd.changes b/systemd.changes index cf7bad2d..80abf244 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com + +- version 6 + - man page update + +------------------------------------------------------------------- +Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - downgrade a few log messages + - properly handle devices which are referenced before they exist + +------------------------------------------------------------------- +Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fix dependency cycle of boot.* by splitting fsck.target + - sort boot.* before other sysv services + from sysinint.target + - start getty for serial console + +------------------------------------------------------------------- +Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com + +- add licence to subpackages + ------------------------------------------------------------------- Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 36ab5708..d5d32d18 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 5) +# spec file for package systemd (Version 6) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 5 +Version: 6 Release: 1 License: GPLv2+ Group: System/Base From 82a8164cd8861c4f95d02c80046d4ac21259eae6c0b71c05a3ce498f60fe9a5d Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Fri, 13 Aug 2010 00:39:56 +0000 Subject: [PATCH 004/991] Accepting request 45392 from Base:System Copy from Base:System/systemd based on submit request 45392 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/45392 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=4 --- systemd-6.tar.bz2 | 3 --- systemd-7.tar.bz2 | 3 +++ systemd.changes | 15 +++++++++++++++ systemd.spec | 5 +++-- 4 files changed, 21 insertions(+), 5 deletions(-) delete mode 100644 systemd-6.tar.bz2 create mode 100644 systemd-7.tar.bz2 diff --git a/systemd-6.tar.bz2 b/systemd-6.tar.bz2 deleted file mode 100644 index 280fad5e..00000000 --- a/systemd-6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a7bf2fe66aa9feeb53a05d5c0264981247ddeb68a3b68996032e553eae4963a8 -size 640107 diff --git a/systemd-7.tar.bz2 b/systemd-7.tar.bz2 new file mode 100644 index 00000000..edfd95d3 --- /dev/null +++ b/systemd-7.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:951cb958080e24b211d4f24d6bf78358295bfda69d5ab301e94c3ccd8f1b90c1 +size 644164 diff --git a/systemd.changes b/systemd.changes index 80abf244..8e7f8b69 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com + +- add audit messages for service changes +- update utmp with external program +- all to refuse manual service starting/stopping + +------------------------------------------------------------------- +Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com + +- version 7 + - hide output if quiet is passed on the kernel cmdline + - fix auto restarting of units after a configuration reload + - don't call bus_path_escape() with NULL unit name + ------------------------------------------------------------------- Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index d5d32d18..763d3667 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 6) +# spec file for package systemd (Version 7) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,13 +20,14 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 6 +Version: 7 Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libudev-devel udev +BuildRequires: audit-devel BuildRequires: libcap-devel BuildRequires: tcpd-devel BuildRequires: pam-devel From 027aca1b211e1172b158b001fa4d994aaf61da5e57a2ad9a031217eda49cde68 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Fri, 10 Sep 2010 14:07:56 +0000 Subject: [PATCH 005/991] Accepting request 47338 from Base:System Copy from Base:System/systemd based on submit request 47338 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/47338 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=5 --- systemd-7.tar.bz2 | 3 --- systemd-9.tar.bz2 | 3 +++ systemd.changes | 52 +++++++++++++++++++++++++++++++++++++ systemd.spec | 66 +++++++++++++++++++++++++---------------------- 4 files changed, 90 insertions(+), 34 deletions(-) delete mode 100644 systemd-7.tar.bz2 create mode 100644 systemd-9.tar.bz2 diff --git a/systemd-7.tar.bz2 b/systemd-7.tar.bz2 deleted file mode 100644 index edfd95d3..00000000 --- a/systemd-7.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:951cb958080e24b211d4f24d6bf78358295bfda69d5ab301e94c3ccd8f1b90c1 -size 644164 diff --git a/systemd-9.tar.bz2 b/systemd-9.tar.bz2 new file mode 100644 index 00000000..dc66f76c --- /dev/null +++ b/systemd-9.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31323d052daff12e86b9971b2ecd20c12f4ac41ed04ee11a1eb2686a2c9bb313 +size 666685 diff --git a/systemd.changes b/systemd.changes index 8e7f8b69..8af63d2d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,55 @@ +------------------------------------------------------------------- +Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com + +- version 9 + - units: don't add shutdown conflicts dep to umount.target + - dbus: don't send cgroup agent messages directly to system bus + - dbus: don't accept activation requests anymore if we are going + down anyway + - systemctl: fix return value of systemctl start and friends + - service: wait for process exit only if we actually killed + somebody + +------------------------------------------------------------------- +Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com + +- version 8 + - KERNEL 2.6.36+ REQUIRED! + - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup + - invoke sulogin instead of /bin/sh + - systemctl: show timestamps for state changes + - add global configuration options for handling of auto mounts + +------------------------------------------------------------------- +Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com + +- apply /etc/fstab mount options to all api mounts +- properly handle LABEL="" in fstab +- do not consider LSB exit codes 5 and 6 as failure + +------------------------------------------------------------------- +Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com + +- prefix sysv job descriptions with LSB: +- add native sysctl + hwclock + random seed service files +- properly fallback to rescue.target if default.target is hosed +- rename ValidNoProcess= to RemainAfterExit= +- add systemd-modules-load tool to handle /etc/modules.d/ + +------------------------------------------------------------------- +Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com + +- add support for delayed shutdown, similar to sysv in style +- rename Type=finish to Type=oneshot and allow multiple ExecStart= +- don't show ENOENT for non exitent configuration files +- log build time features on startup +- rearrange structs to make them smaller +- move runlevel[2-5] links to /lib +- create default.target link to /lib not /etc +- handle random-seed +- write utmp record before we kill all processes +- create /var/lock/subsys, /var/run/utmp + ------------------------------------------------------------------- Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 763d3667..6da472fa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 7) +# spec file for package systemd (Version 9) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 7 +Version: 9 Release: 1 License: GPLv2+ Group: System/Base @@ -34,8 +34,8 @@ BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: dbus-1-glib-devel gtk2-devel BuildRequires: libselinux-devel libsepol-devel -Requires: udev >= 160 -Requires: dbus-1 >= 1.3.2 +Requires: udev >= 162 +Requires: dbus-1 >= 1.4.0 Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc @@ -99,12 +99,14 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target - -%pre -# kernel changes are pending to move this to /sys/fs/cgroup -mkdir -p -m 0755 /cgroup || : +mkdir -p $RPM_BUILD_ROOT/etc/modules.d +# alias for /etc/init.d/* +ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service +ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service %post +/bin/systemctl daemon-reexec >/dev/null 2>&1 || : + # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then @@ -113,31 +115,36 @@ if [ "$1" -eq 1 ]; then if [ -z "$runlevel" ] ; then target="/lib/systemd/system/graphical.target" else - target="/etc/systemd/system/runlevel$runlevel.target" + target="/lib/systemd/system/runlevel$runlevel.target" fi /bin/ln -sf "$target" /etc/systemd/system/default.target 2>&1 || : - # Enable the services we install by default. - /bin/systemctl enable getty@.service >/dev/null 2>&1 || : - /bin/systemctl enable getty.target >/dev/null 2>&1 || : - /bin/systemctl enable remote-fs.target >/dev/null 2>&1 || : - /bin/systemctl enable var-run.mount >/dev/null 2>&1 || : - /bin/systemctl enable var-lock.mount >/dev/null 2>&1 || : + # Enable these services by default. + /bin/systemctl enable \ + getty@.service \ + getty.target \ + remote-fs.target \ + hwclock-save.service \ + sysctl.service \ + systemd-random-seed-load.service \ + systemd-random-seed-save.service \ + systemd-modules-load.service \ + var-run.service \ + var-lock.service >/dev/null 2>&1 || : fi -# Make sure we always enable these basic services, in case something went -# wrong at the time these packages got installed. Usual systems can not -# properly work without these services. -/bin/systemctl enable udev.service >/dev/null 2>&1 || : -/bin/systemctl enable dbus.service >/dev/null 2>&1 || : -# temporary fix -/bin/systemctl enable getty.target >/dev/null 2>&1 || : %preun if [ $1 -eq 0 ]; then - /bin/systemctl disable getty@.service >/dev/null 2>&1 || : - /bin/systemctl disable getty.target >/dev/null 2>&1 || : - /bin/systemctl disable remote-fs.target >/dev/null 2>&1 || : - /bin/systemctl disable var-run.mount >/dev/null 2>&1 || : - /bin/systemctl disable var-lock.mount >/dev/null 2>&1 || : + /bin/systemctl disable \ + getty@.service \ + getty.target \ + remote-fs.target \ + hwclock-save.service \ + sysctl.service \ + systemd-random-seed-load.service \ + systemd-random-seed-save.service \ + systemd-modules-load.service \ + var-run.service \ + var-lock.service >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -155,13 +162,10 @@ rm -rf $RPM_BUILD_ROOT %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/session %dir %{_sysconfdir}/xdg/systemd/session +%dir %{_sysconfdir}/modules.d %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/system/ctrl-alt-del.target %config(noreplace) %{_sysconfdir}/systemd/system/kbrequest.target -%config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service From 1cd7d40c5514a53acda76aab499e91d9bcb031bc1ee65aa6534d87f7247dab1f Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Sun, 26 Sep 2010 22:49:25 +0000 Subject: [PATCH 006/991] Accepting request 49131 from Base:System Copy from Base:System/systemd based on submit request 49131 from user elvigia OBS-URL: https://build.opensuse.org/request/show/49131 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=6 --- systemd-10.tar.bz2 | 3 +++ systemd-9.tar.bz2 | 3 --- systemd.changes | 39 +++++++++++++++++++++++++++++++++++ systemd.spec | 51 +++++++++++++++++++++------------------------- 4 files changed, 65 insertions(+), 31 deletions(-) create mode 100644 systemd-10.tar.bz2 delete mode 100644 systemd-9.tar.bz2 diff --git a/systemd-10.tar.bz2 b/systemd-10.tar.bz2 new file mode 100644 index 00000000..7b9bf091 --- /dev/null +++ b/systemd-10.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dde1144e7ac56da7c022dd1aefe3587c70e92fe8c393039cbf1f02269f8f2265 +size 680700 diff --git a/systemd-9.tar.bz2 b/systemd-9.tar.bz2 deleted file mode 100644 index dc66f76c..00000000 --- a/systemd-9.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31323d052daff12e86b9971b2ecd20c12f4ac41ed04ee11a1eb2686a2c9bb313 -size 666685 diff --git a/systemd.changes b/systemd.changes index 8af63d2d..c5ba6a82 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de + +- Do not package man pages twice. + +------------------------------------------------------------------- +Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - basic services are enabled by default now + +------------------------------------------------------------------- +Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - vconsole and locale setup + - hook up tmpwatch + +------------------------------------------------------------------- +Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - add new utility to initialize the virtual console + - initialize locale from /etc/locale by default + - ask-password: allow services query SSL/harddisk passphrases + +------------------------------------------------------------------- +Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com + +- version 10 + - logger: support SOCK_STREAM /dev/log sockets + - make sure the file system is writable before we write utmp data + - systemctl: use isolate when called as telinit for a runlevel + - initctl: properly use isolate when activating runlevels + - set HOME=/root when running shells + - make sure we don't crash if there's an automount unit without + mount unit + - start logger only after syslog is up + ------------------------------------------------------------------- Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 6da472fa..17c2231c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 9) +# spec file for package systemd (Version 10) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 9 +Version: 10 Release: 1 License: GPLv2+ Group: System/Base @@ -32,10 +32,13 @@ BuildRequires: libcap-devel BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: pkg-config -BuildRequires: dbus-1-glib-devel gtk2-devel +BuildRequires: dbus-1-glib-devel gtk2-devel libnotify-devel BuildRequires: libselinux-devel libsepol-devel Requires: udev >= 162 Requires: dbus-1 >= 1.4.0 +Requires: kbd +Requires: util-linux +Requires: tmpwatch Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc @@ -112,39 +115,20 @@ ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random if [ "$1" -eq 1 ]; then # Try to read default runlevel from the old inittab if it exists runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) - if [ -z "$runlevel" ] ; then - target="/lib/systemd/system/graphical.target" - else - target="/lib/systemd/system/runlevel$runlevel.target" + if [ -n "$runlevel" ] ; then + /bin/ln -sf /lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : fi - /bin/ln -sf "$target" /etc/systemd/system/default.target 2>&1 || : # Enable these services by default. /bin/systemctl enable \ getty@.service \ - getty.target \ - remote-fs.target \ - hwclock-save.service \ - sysctl.service \ - systemd-random-seed-load.service \ - systemd-random-seed-save.service \ - systemd-modules-load.service \ - var-run.service \ - var-lock.service >/dev/null 2>&1 || : + remote-fs.target >/dev/null 2>&1 || : fi %preun if [ $1 -eq 0 ]; then /bin/systemctl disable \ getty@.service \ - getty.target \ - remote-fs.target \ - hwclock-save.service \ - sysctl.service \ - systemd-random-seed-load.service \ - systemd-random-seed-save.service \ - systemd-modules-load.service \ - var-run.service \ - var-lock.service >/dev/null 2>&1 || : + remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -156,6 +140,7 @@ rm -rf $RPM_BUILD_ROOT /bin/systemd /bin/systemctl /bin/systemd-notify +/bin/systemd-ask-password %{_bindir}/systemd-cgls /lib/systemd/systemd-* /%{_lib}/security/pam_systemd.so @@ -164,14 +149,23 @@ rm -rf $RPM_BUILD_ROOT %dir %{_sysconfdir}/xdg/systemd/session %dir %{_sysconfdir}/modules.d %config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/system/ctrl-alt-del.target -%config(noreplace) %{_sysconfdir}/systemd/system/kbrequest.target %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/systemd %{_datadir}/pkgconfig/systemd.pc +# Packaged in gtk subpackage +%exclude %{_mandir}/man1/systemadm.1* +# Packaged in sysvinit subpackage +%exclude %{_mandir}/man1/init.1* +%exclude %{_mandir}/man8/halt.8* +%exclude %{_mandir}/man8/reboot.8* +%exclude %{_mandir}/man8/shutdown.8* +%exclude %{_mandir}/man8/poweroff.8* +%exclude %{_mandir}/man8/telinit.8* +%exclude %{_mandir}/man8/runlevel.8* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -186,6 +180,7 @@ rm -rf $RPM_BUILD_ROOT %files gtk %defattr(-,root,root,-) %{_bindir}/systemadm +%{_bindir}/systemd-ask-password-agent %{_mandir}/man1/systemadm.1* %files sysvinit From 97cf942bc1ec85ce1bc289c03d31b9af59883193bdf921f958d1df2fa7152371 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Sun, 3 Oct 2010 20:36:13 +0000 Subject: [PATCH 007/991] Accepting request 49682 from Base:System Copy from Base:System/systemd based on submit request 49682 from user elvigia OBS-URL: https://build.opensuse.org/request/show/49682 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=7 --- systemd-10.tar.bz2 | 4 ++-- systemd.changes | 13 +++++++++++++ systemd.spec | 8 +++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/systemd-10.tar.bz2 b/systemd-10.tar.bz2 index 7b9bf091..ebfd337b 100644 --- a/systemd-10.tar.bz2 +++ b/systemd-10.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dde1144e7ac56da7c022dd1aefe3587c70e92fe8c393039cbf1f02269f8f2265 -size 680700 +oid sha256:7b66daacfd0716ea2d5292391932a215b6a48f7869e63da73b7a705f9e0ff071 +size 701858 diff --git a/systemd.changes b/systemd.changes index c5ba6a82..9057cb9f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de + +- /etc/modules.d was renamed to modules.load.d +- only include tmpfiles.d/*conf files + +------------------------------------------------------------------- +Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com + +- don't create sysv order deps on merged units +- fix Provides: handling in LSB headers (network.target) +- native (optional) readahead + ------------------------------------------------------------------- Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de diff --git a/systemd.spec b/systemd.spec index 17c2231c..ceb9721a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 10 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -102,7 +102,7 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target -mkdir -p $RPM_BUILD_ROOT/etc/modules.d +mkdir -p $RPM_BUILD_ROOT/etc/modules.load.d # alias for /etc/init.d/* ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service @@ -147,7 +147,9 @@ rm -rf $RPM_BUILD_ROOT %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/session %dir %{_sysconfdir}/xdg/systemd/session -%dir %{_sysconfdir}/modules.d +%dir %{_sysconfdir}/modules.load.d +%dir %{_sysconfdir}/tmpfiles.d +%{_sysconfdir}/tmpfiles.d/*conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml From be0e871d28499c113344e13fcfe0029aae41a881f377fe8d017a8ad25ec9968e Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Mon, 11 Oct 2010 14:32:06 +0000 Subject: [PATCH 008/991] Accepting request 50060 from Base:System Copy from Base:System/systemd based on submit request 50060 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/50060 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=8 --- systemd-10.tar.bz2 | 3 --- systemd-11.tar.bz2 | 3 +++ systemd.changes | 13 ++++++++++++- systemd.spec | 12 ++++++------ 4 files changed, 21 insertions(+), 10 deletions(-) delete mode 100644 systemd-10.tar.bz2 create mode 100644 systemd-11.tar.bz2 diff --git a/systemd-10.tar.bz2 b/systemd-10.tar.bz2 deleted file mode 100644 index ebfd337b..00000000 --- a/systemd-10.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7b66daacfd0716ea2d5292391932a215b6a48f7869e63da73b7a705f9e0ff071 -size 701858 diff --git a/systemd-11.tar.bz2 b/systemd-11.tar.bz2 new file mode 100644 index 00000000..a12a4f93 --- /dev/null +++ b/systemd-11.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cd384721c0c63ebd0086db83dc887d307efe6f3e9234be4156ec0e16baa0ed1 +size 707238 diff --git a/systemd.changes b/systemd.changes index 9057cb9f..02c17862 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7 +1,18 @@ +------------------------------------------------------------------- +Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com + +- version 11 + +------------------------------------------------------------------- +Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - readahead fixes + ------------------------------------------------------------------- Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de -- /etc/modules.d was renamed to modules.load.d +- /etc/modules.d was renamed to modules-load.d - only include tmpfiles.d/*conf files ------------------------------------------------------------------- diff --git a/systemd.spec b/systemd.spec index ceb9721a..d7b66bd6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 10) +# spec file for package systemd (Version 11) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,8 +20,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 10 -Release: 2 +Version: 11 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -102,7 +102,7 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target -mkdir -p $RPM_BUILD_ROOT/etc/modules.load.d +mkdir -p $RPM_BUILD_ROOT/etc/modules-load.d # alias for /etc/init.d/* ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service @@ -147,9 +147,9 @@ rm -rf $RPM_BUILD_ROOT %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/session %dir %{_sysconfdir}/xdg/systemd/session -%dir %{_sysconfdir}/modules.load.d +%dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/tmpfiles.d -%{_sysconfdir}/tmpfiles.d/*conf +%{_sysconfdir}/tmpfiles.d/*.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml From 44e5f2b35fbae370781fe812219d2f3e42d9298f48fbae49a079f2277d3b82c1 Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Thu, 28 Oct 2010 12:40:42 +0000 Subject: [PATCH 009/991] Accepting request 51446 from Base:System Accepted submit request 51446 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/51446 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=9 --- systemd-11.tar.bz2 | 4 +-- systemd-rpmlintrc | 2 ++ systemd.changes | 62 ++++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 10 +++++--- 4 files changed, 73 insertions(+), 5 deletions(-) diff --git a/systemd-11.tar.bz2 b/systemd-11.tar.bz2 index a12a4f93..ceff8feb 100644 --- a/systemd-11.tar.bz2 +++ b/systemd-11.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2cd384721c0c63ebd0086db83dc887d307efe6f3e9234be4156ec0e16baa0ed1 -size 707238 +oid sha256:5aaddd148e3a2eb03cbe3fdca989930ff45632d3c446fb92ad3a51ed51f72a51 +size 736356 diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 32735bde..d7a7e967 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,4 +1,6 @@ addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") +addFilter(".*dangling-symlink .* /dev/null.*") +addFilter(".*suse-dbus-unauthorized-service.*") addFilter(".*devel-file-in-non-devel-package.*systemd.pc.*") addFilter(".*files-duplicate .*/reboot.8.*") addFilter(".*files-duplicate .*/sd_is_socket.3.*") diff --git a/systemd.changes b/systemd.changes index 02c17862..1d128269 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - make sure to pass TERM=linux to all sysv scripts + - don't unset HOME/TERM when run in session mode + - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run + - tmpfiles: Don't clean /var/lock/subsys + - tmpfiles: Make wtmp match utmp perms, and add btmp + - umount: Make sure / is remounted ro on shutdown + - unset HOME and TERM set from the kernel + - activate wall agent automatically + - ask-password: add basic tty agent + +------------------------------------------------------------------- +Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - rename ask-password-agent to gnome-ask-password-agent + - fsck: suppress error message if we cannot change into single + user mode since + - dbus: epose FsckPassNo property for service objects + - man: document systemctl --force + - introduce 'systemctl kill' + +------------------------------------------------------------------- +Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - syslog: enable kmsg bridge by default + - fsck: add initial version of fsck and quotacheck wrappers + - tmpfiles: remove forcefsck/fastboot flag files after boot + - swap: listen for POLLPRI events on /proc/swaps if availabled + - tmpfiles: integrate native tmpwatch + - shutdown: loop only as long as we manage to unmount/detach devices + - umount: disable dm devices by devnode, not by path name + - introduce final.target + - replace distro-specific shutdown scripts with native services + - try to get rid of DM devices + - log to console by default + - introduce kexec.service, kexec.target and exit.target + - hook in fsck@.service instance for all mount points with passno > 0 + - systemctl: warn if user enables unit with no installation instructions + - dbus: add introspection to midlevel paths + - look for dynamic throw-away units in /dev/.systemd/system + - major rework, use /sbin/swapon for setting up swaps + - introduce Restart=on-failure and Restart=on-abort + - units: enable utmp for serial gettys too + - rename 'banned' load state to 'masked' + - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service +- use systemd-native fsck/mount +- use systemd-native tmpfiles.d/ instead of tmpwatch + +------------------------------------------------------------------- +Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com + +new snapshot + - fix 'systemctl enable getty@.service' + - properly support 'banning' of services + - handle nologin + - add native reboot/shutdown implementation + ------------------------------------------------------------------- Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index d7b66bd6..bee1416a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -34,11 +34,10 @@ BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: dbus-1-glib-devel gtk2-devel libnotify-devel BuildRequires: libselinux-devel libsepol-devel -Requires: udev >= 162 +Requires: udev >= 164 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: util-linux -Requires: tmpwatch Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc @@ -106,6 +105,10 @@ mkdir -p $RPM_BUILD_ROOT/etc/modules-load.d # alias for /etc/init.d/* ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service +ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup.service +ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service %post /bin/systemctl daemon-reexec >/dev/null 2>&1 || : @@ -141,6 +144,7 @@ rm -rf $RPM_BUILD_ROOT /bin/systemctl /bin/systemd-notify /bin/systemd-ask-password +/bin/systemd-tty-ask-password-agent %{_bindir}/systemd-cgls /lib/systemd/systemd-* /%{_lib}/security/pam_systemd.so @@ -182,7 +186,7 @@ rm -rf $RPM_BUILD_ROOT %files gtk %defattr(-,root,root,-) %{_bindir}/systemadm -%{_bindir}/systemd-ask-password-agent +%{_bindir}/systemd-gnome-ask-password-agent %{_mandir}/man1/systemadm.1* %files sysvinit From 8fd0a09c28a60d87cc9b01d03004e6d546f5b0b9a3f2ed2b42243b619788e6d1 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Thu, 28 Oct 2010 12:40:49 +0000 Subject: [PATCH 010/991] Autobuild autoformatter for 51446 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=10 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index bee1416a..d4bc5895 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 11 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From ceab99797e60fc1e8b2813f6d6b13d6f2c824c837304dc8eebcf625014afe1df Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Tue, 2 Nov 2010 12:53:20 +0000 Subject: [PATCH 011/991] Accepting request 51667 from Base:System Accepted submit request 51667 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/51667 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=11 --- systemd-11.tar.bz2 | 4 ++-- systemd.changes | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/systemd-11.tar.bz2 b/systemd-11.tar.bz2 index ceff8feb..55c877bb 100644 --- a/systemd-11.tar.bz2 +++ b/systemd-11.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5aaddd148e3a2eb03cbe3fdca989930ff45632d3c446fb92ad3a51ed51f72a51 -size 736356 +oid sha256:f67f8cd3e71b60399d5369e464adfb97f97a04092c8d58ac8c0c04951dba988a +size 739665 diff --git a/systemd.changes b/systemd.changes index 1d128269..93e74970 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fsck: return SUCCESS when we skip the check + - fsck: skip checking / if it is writable + - units: fix variable expansion + - mount: don't pull in nofail mounts by default, but use them + if they are around + - job: recursively fail BoundBy dependencies + - fsck: fix target name to check for + - units: rename fedora/single.service to rescue.service + - units: introduce plymouth-start and plymouth-kexec + - unit: get rid of IgnoreDependencyFailure= + - use util-linux:agetty instead of mingetty + - unit: replace StopRetroactively= by BindTo= dependencies + - automount: show who's triggering an automount + - units: run sysctl only if /etc/sysctl.conf exists + - systemctl: always show what and where for mount units + - shutdown: reword a few messages a little + - manager: show which jobs are actually installed after a transaction + - timer: when deserializing timer state stay elapsed + - device: set recursive_stop=true by default + - unit: suppress incorrect deserialization errors + - swap: there's no reason not order swap after sysinit + - socket: fix IPv6 availability detection + +------------------------------------------------------------------- +Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - create /dev/stderr and friends early on boot + - run sysv related scripts with TERM=linux + - add only swaps listed in /etc/fstab automatically to swap.target + - errors: refer to systemctl status when useful + - swap: add default cgroup to swap exec env + - readahead: bump a device's request_nr when enabling readahead + - shutdown: properly handle sigtimedwait() timing out + - main: fix typo in kernel cmdline parameters help + - ord-tty: properly handle SIGINT/SIGTERM + - systemctl: automatically spawn temporary password agent + - ask-password: properly handle multiple pending passwords + - ask-password: enable plymouth agent by default + - ask-password: add minimal plymouth password agent + ------------------------------------------------------------------- Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com From 5824efe9f65db406a03dd96ad4a8c43d1b8a0bb826833d43a33969f16f546ce1 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Tue, 2 Nov 2010 12:53:25 +0000 Subject: [PATCH 012/991] Autobuild autoformatter for 51667 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=12 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index d4bc5895..9533b5b4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 11 -Release: 2 +Release: 3 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 98de0dd6674e5b625d02b3b44956c00d34a3fde106de8acf1ede6a2bceab319b Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Mon, 15 Nov 2010 17:11:15 +0000 Subject: [PATCH 013/991] Accepting request 52831 from Base:System Accepted submit request 52831 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/52831 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=13 --- systemd-11.tar.bz2 | 4 ++-- systemd.changes | 31 +++++++++++++++++++++++++++++++ systemd.spec | 7 +++++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/systemd-11.tar.bz2 b/systemd-11.tar.bz2 index 55c877bb..03e373ee 100644 --- a/systemd-11.tar.bz2 +++ b/systemd-11.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f67f8cd3e71b60399d5369e464adfb97f97a04092c8d58ac8c0c04951dba988a -size 739665 +oid sha256:788abe068e41eeabc177f519e15d5380daa8d2d8b7de809637fae851a8c27280 +size 748317 diff --git a/systemd.changes b/systemd.changes index 93e74970..9c995676 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com + +- new snapshot + - tmpfiles: include reference to man page in tmpfiles files + - vconsole: support additional keymap for toggling layouts + - main: warn if /etc/mtab is not a symlink + - add bash completion for systemctl --system + - man: minor tmpfiles(5) updates and reindenting + - main: rename process on startup to 'systemd' to avoid confusion + - unit: add ConditionNull= condition + - ac-power: make ac-power a proper binary that scripts can call + - manager: parse RD_TIMESTAMP passed from initrd + - modules-load: fix minor race + - label: use internal utility functions wher epossible + - cryptsetup: minimal cryptsetup unit generator + - selinux: relabel /dev after loading policy + - log: downgrade syslog connection failure message + - service: delay automatic restart if job is pending + - manager: when isolating undo all pending jobs, too + - manager: only minimize impact if we are in fail mode +- replace /etc/mtab with link to /proc/self/mounts + +------------------------------------------------------------------- +Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com + +- new snapshot + - man/tmpfiles.d.xml: add a manpage for tmpfiles + - do not overwrite other udev tags + - readahead: shortcut replay if /.readahead doesn't exist + ------------------------------------------------------------------- Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 9533b5b4..b38cf823 100644 --- a/systemd.spec +++ b/systemd.spec @@ -126,6 +126,8 @@ if [ "$1" -eq 1 ]; then getty@.service \ remote-fs.target >/dev/null 2>&1 || : fi +# regular mtab is not written/cleaned-up/supported +ln -sf /proc/self/mounts /etc/mtab || : %preun if [ $1 -eq 0 ]; then @@ -150,6 +152,7 @@ rm -rf $RPM_BUILD_ROOT /%{_lib}/security/pam_systemd.so %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/session +%dir %{_sysconfdir}/xdg/systemd %dir %{_sysconfdir}/xdg/systemd/session %dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/tmpfiles.d @@ -159,6 +162,8 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/polkit-1 +%{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/systemd %{_datadir}/pkgconfig/systemd.pc @@ -182,6 +187,8 @@ rm -rf $RPM_BUILD_ROOT %dir /lib/systemd /lib/systemd/system %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/bash_completion.d +/etc/bash_completion.d/systemctl-bash-completion.sh %files gtk %defattr(-,root,root,-) From 0e79c92117395cb927fe9cc0dc459c0c397ea8f3542e34be68f93ec64d5d54ee Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Mon, 15 Nov 2010 17:11:22 +0000 Subject: [PATCH 014/991] Autobuild autoformatter for 52831 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=14 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index b38cf823..a842e94a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 11 -Release: 3 +Release: 4 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 46dfeb7ddbb59ea00c1215157e360a864768e6abec797961ac48c8bcb3609211 Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Thu, 18 Nov 2010 15:50:27 +0000 Subject: [PATCH 015/991] Accepting request 53250 from Base:System Accepted submit request 53250 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/53250 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=15 --- systemd-11.tar.bz2 | 3 --- systemd-12.tar.bz2 | 3 +++ systemd.changes | 61 ++++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 23 ++++++++++++----- 4 files changed, 81 insertions(+), 9 deletions(-) delete mode 100644 systemd-11.tar.bz2 create mode 100644 systemd-12.tar.bz2 diff --git a/systemd-11.tar.bz2 b/systemd-11.tar.bz2 deleted file mode 100644 index 03e373ee..00000000 --- a/systemd-11.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:788abe068e41eeabc177f519e15d5380daa8d2d8b7de809637fae851a8c27280 -size 748317 diff --git a/systemd-12.tar.bz2 b/systemd-12.tar.bz2 new file mode 100644 index 00000000..e6a86374 --- /dev/null +++ b/systemd-12.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:870fb4bf129563bd99fd51df73a08c47ea772d73beb26f05238e13cd388cafff +size 753774 diff --git a/systemd.changes b/systemd.changes index 9c995676..693f53ac 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,64 @@ +------------------------------------------------------------------- +Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com + +- version 12 + - ask-password: add --console mode to ask /dev/console +- revert too new libnotify code/requirement + +------------------------------------------------------------------- +Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com + +- new snapshot + - cryptsetup: reword questions a little + - units: order hwclock after readahead + - path: don't mention too many inotify msgs + - cryptsetup: include device name in password question + - cryptsetup: lock ourselves into memory as long as we deal + with passwords + - plymouth: use updated socket name + - units: set TERM for gettys again, since they acquire a TTY + - units: allow start-up of plymouth ask-password agent very early + - units: enable ask-paswword .path units early enough to be useful + for early mounts + - units: delay getty until logins are allowed + - pam: always rely on loginuid instead of uid to determine cgroup + and XDG_RUNTIME_DIR name + - cgroup: call root cgroup system instead of systemd-1 + - exec: determine right TERM= setting based on tty name + - pam: rename master user cgroup to 'master' + - drop support for MANAGER_SESSION, introduce MANAGER_USER + - units: use ConditionDirectoryNotEmpty= where applicable + - unit: introduce ConditionDirectoryNotEmpty= + - delete tmp.mount which may conflict with an unrelated fstab + entry +- revert too new libnotify code/requirement +- disable native crypto handling + +------------------------------------------------------------------- +Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com + +- new snapshot + - load-dropin: add support for .requires directories + - manager: consider jobs already installed as redundant when + reducing new transactions + - manager: always pull 'following' units into transaction + - util: always highlight distro name + - units: make use of agetty mandatory + - manager: don't fail transaction if adding CONFLICTED_BY job fails + - job: make it possible to wait for devices to be unplugged + - tmpfiles: ignore files marked with the sticky bit + - cryptsetup: handle password=none properly + - cryptsetup: properly parse cipher= switch + - cryptsetup: support non-LUKS crypto partitions + - ask-password: enable password agent + - automatically start cryptsetup when looking for mount source + - log: add automatic log target + - cryptsetup: hook up tool with ask-password + - manager: hookup generators + - split mount_point_is_api() and mount_point_ignore() +- replace boot.crypto job with systemd native crypto handling +- enable readahead (requires 2.6.37+ kernel's fanotify to work) + ------------------------------------------------------------------- Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index a842e94a..e3b4a628 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,8 +20,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 11 -Release: 4 +Version: 12 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -31,6 +31,7 @@ BuildRequires: audit-devel BuildRequires: libcap-devel BuildRequires: tcpd-devel BuildRequires: pam-devel +BuildRequires: libcryptsetup-devel BuildRequires: pkg-config BuildRequires: dbus-1-glib-devel gtk2-devel libnotify-devel BuildRequires: libselinux-devel libsepol-devel @@ -43,7 +44,7 @@ Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{v Source1: systemd-rpmlintrc %description -Systemd is a system and session manager, compatible with SysV and LSB +Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using @@ -59,7 +60,7 @@ Summary: Graphical front-end for systemd Requires: %{name} = %{version}-%{release} %description gtk -Graphical front-end for systemd system and session manager. +Graphical front-end for systemd system and service manager. %package sysvinit License: GPLv2+ @@ -101,6 +102,7 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target +rm -f $RPM_BUILD_ROOT/lib/systemd/system-generators/* mkdir -p $RPM_BUILD_ROOT/etc/modules-load.d # alias for /etc/init.d/* ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service @@ -109,6 +111,8 @@ ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup. ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service +#ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service +#ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service %post /bin/systemctl daemon-reexec >/dev/null 2>&1 || : @@ -124,6 +128,9 @@ if [ "$1" -eq 1 ]; then # Enable these services by default. /bin/systemctl enable \ getty@.service \ + hwclock-load.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : fi # regular mtab is not written/cleaned-up/supported @@ -133,6 +140,9 @@ ln -sf /proc/self/mounts /etc/mtab || : if [ $1 -eq 0 ]; then /bin/systemctl disable \ getty@.service \ + hwclock-load.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -151,9 +161,9 @@ rm -rf $RPM_BUILD_ROOT /lib/systemd/systemd-* /%{_lib}/security/pam_systemd.so %dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/session +%dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/xdg/systemd/session +%dir %{_sysconfdir}/xdg/systemd/user %dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/tmpfiles.d %{_sysconfdir}/tmpfiles.d/*.conf @@ -186,6 +196,7 @@ rm -rf $RPM_BUILD_ROOT /lib/udev/rules.d/*.rules %dir /lib/systemd /lib/systemd/system +/lib/systemd/system-generators %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/bash_completion.d /etc/bash_completion.d/systemctl-bash-completion.sh From 78da4aba2d1de1262896df8a49701efcf2bd89b4de72ec59cf56c79b13a7bf54 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Thu, 18 Nov 2010 15:50:36 +0000 Subject: [PATCH 016/991] Autobuild autoformatter for 53250 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=16 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index e3b4a628..219781c4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 11) +# spec file for package systemd (Version 12) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # From 25d65a4bd748559298f3cbfb7b22bbea000cc8d01127cd9147a736bcbfaa0473 Mon Sep 17 00:00:00 2001 From: Berthold Gunreben Date: Tue, 23 Nov 2010 09:35:41 +0000 Subject: [PATCH 017/991] Accepting request 53740 from Base:System Accepted submit request 53740 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/53740 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=17 --- systemd-12.tar.bz2 | 3 --- systemd-13.tar.bz2 | 3 +++ systemd.changes | 42 ++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 8 ++++---- 4 files changed, 49 insertions(+), 7 deletions(-) delete mode 100644 systemd-12.tar.bz2 create mode 100644 systemd-13.tar.bz2 diff --git a/systemd-12.tar.bz2 b/systemd-12.tar.bz2 deleted file mode 100644 index e6a86374..00000000 --- a/systemd-12.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:870fb4bf129563bd99fd51df73a08c47ea772d73beb26f05238e13cd388cafff -size 753774 diff --git a/systemd-13.tar.bz2 b/systemd-13.tar.bz2 new file mode 100644 index 00000000..b51d03a2 --- /dev/null +++ b/systemd-13.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34474765aa0556dfbe1e30dc1fd148a6daddda2a20e47e3283ad88a01ec4db29 +size 762878 diff --git a/systemd.changes b/systemd.changes index 693f53ac..50d69941 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com + +- new snapshot + - systemctl: don't return LSB status error codes for 'show' + - mount: do not try to mount disabled cgroup controllers + - man: document /etc/modules-load.d/, /etc/os-release, + locale.conf, /etc/vconsole.conf, /etc/hostname + - units: move a couple of units from base.target to + sysinit.target + - man: reorder things to follow the same order everywhere +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com + +- version 13 + - cryptsetup: actually show disk name + - cryptsetup: show udev device name when asking for password + - sysctl: implement native tool and support /etc/sysctl.d + - units: enable console ask-password agent by default + - introduce /etc/os-release distro description + - job: make sure we don't fail umount.target if a mount unit + failed to stop + - cgroup: after killing cgroup processes, ensure the group is + really dead gone. wait for 3s at max + - cgroup: if we couldn't remove a cgroup after killing + evertyhing in it then it's fine + - cryptsetup: automatically order crypt partitions before + cryptsetup.target + - man: trivial BindTo description fix + - manager: make list of default controllers configurable + - build: expose libcryptsetup dependency in build string + - pam: document controllers= switch + - cgroup: by default, duplicate service cgroup in the cpu hierarchy + - pam: duplicate cgroup tree in the cpu hierarchy by default, + optionally more +- enable native crypto handling instead of boot.crypto +- revert too new libnotify code/requirement +- revert fsck -l option requirement + ------------------------------------------------------------------- Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 219781c4..1ab9f924 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 12 +Version: 13 Release: 1 License: GPLv2+ Group: System/Base @@ -102,17 +102,17 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target -rm -f $RPM_BUILD_ROOT/lib/systemd/system-generators/* mkdir -p $RPM_BUILD_ROOT/etc/modules-load.d # alias for /etc/init.d/* ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup.service ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service +ln -s systemd-sysctl.service $RPM_BUILD_ROOT/lib/systemd/system/sysctl.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service -#ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service -#ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service %post /bin/systemctl daemon-reexec >/dev/null 2>&1 || : From 84bec253438415260ae5a54f864b0e34efabb51ab4feccac4692a80a325d9f66 Mon Sep 17 00:00:00 2001 From: Berthold Gunreben Date: Tue, 23 Nov 2010 09:35:47 +0000 Subject: [PATCH 018/991] Autobuild autoformatter for 53740 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=18 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 1ab9f924..f5d3aaab 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 12) +# spec file for package systemd (Version 13) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # From 6820b00d0d0cd37c1d43e585c27eedf8b6ecd6ed33328158638736d4a575a0ad Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Tue, 30 Nov 2010 16:15:02 +0000 Subject: [PATCH 019/991] Accepting request 53948 from Base:System Accepted submit request 53948 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/53948 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=19 --- systemd-13.tar.bz2 | 3 --- systemd-15.tar.bz2 | 3 +++ systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) delete mode 100644 systemd-13.tar.bz2 create mode 100644 systemd-15.tar.bz2 diff --git a/systemd-13.tar.bz2 b/systemd-13.tar.bz2 deleted file mode 100644 index b51d03a2..00000000 --- a/systemd-13.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:34474765aa0556dfbe1e30dc1fd148a6daddda2a20e47e3283ad88a01ec4db29 -size 762878 diff --git a/systemd-15.tar.bz2 b/systemd-15.tar.bz2 new file mode 100644 index 00000000..a064c9b9 --- /dev/null +++ b/systemd-15.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4dd001f110a2d05b47ef3dfa65e6689de2b058d2dd5c4c41647b26cf9b95d64 +size 763497 diff --git a/systemd.changes b/systemd.changes index 50d69941..3d0eccaa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com + +- version 15 + - dbus: use the right data slot allocator + - manager: bump up max number of units to 128K + - build-sys: allow cross-compilation +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com + +- new snapshot + - units: simplify shutdown scripts + - logger: fix error handling + - swap: order file-based swap devices after remount-rootfs +- revert too new libnotify code/requirement +- revert fsck -l option requirement + ------------------------------------------------------------------- Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index f5d3aaab..67b9922f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 13 +Version: 15 Release: 1 License: GPLv2+ Group: System/Base From 53cbfb6e624562e5c79fa3b840115976e0c6c1713b97f4fd629d6d8a0bb11e9e Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Tue, 30 Nov 2010 16:15:08 +0000 Subject: [PATCH 020/991] Autobuild autoformatter for 53948 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=20 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 67b9922f..54f91853 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd (Version 13) +# spec file for package systemd (Version 15) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # From 293bf1b3f4829f167ce7d16f1d58984479f46111ed8e0b9bf621ef3cd660e65d Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Thu, 2 Dec 2010 15:26:03 +0000 Subject: [PATCH 021/991] Accepting request 54323 from Base:System Accepted submit request 54323 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/54323 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=21 --- systemd-15.tar.bz2 | 4 ++-- systemd-15.tar.gz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 1 + 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 systemd-15.tar.gz diff --git a/systemd-15.tar.bz2 b/systemd-15.tar.bz2 index a064c9b9..97173f82 100644 --- a/systemd-15.tar.bz2 +++ b/systemd-15.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b4dd001f110a2d05b47ef3dfa65e6689de2b058d2dd5c4c41647b26cf9b95d64 -size 763497 +oid sha256:643108e95e22d11920e0c2f1d24ec4f90f77ee4a8dbf5b1690af9ad319715da4 +size 764673 diff --git a/systemd-15.tar.gz b/systemd-15.tar.gz new file mode 100644 index 00000000..ba1622b8 --- /dev/null +++ b/systemd-15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e100e230779481a854577b385c2093ddb2d0aad570c087f94451ad1c5a2e553d +size 1064632 diff --git a/systemd.changes b/systemd.changes index 3d0eccaa..fb9c0afa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com + +- new snapshot + - gnome-ask-password-agent: also support libnotify < 0.7 for now + - udev: increase event buffer size +- require fsck -l + ------------------------------------------------------------------- Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 54f91853..ceac7678 100644 --- a/systemd.spec +++ b/systemd.spec @@ -39,6 +39,7 @@ Requires: udev >= 164 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: util-linux +Requires: fsck-with-dev-lock Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc From 5b5b7692026715cf308c827ae35cbc6f11c1ab5fc7c621499a1cb43b172edf37 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Thu, 2 Dec 2010 15:26:13 +0000 Subject: [PATCH 022/991] Autobuild autoformatter for 54323 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=22 --- systemd-15.tar.gz | 3 --- systemd.spec | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 systemd-15.tar.gz diff --git a/systemd-15.tar.gz b/systemd-15.tar.gz deleted file mode 100644 index ba1622b8..00000000 --- a/systemd-15.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e100e230779481a854577b385c2093ddb2d0aad570c087f94451ad1c5a2e553d -size 1064632 diff --git a/systemd.spec b/systemd.spec index ceac7678..731d3dff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 15 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From dce47ea954f8cd3c4dcc6d432dcb77bc9092031b1fce6e791d174a926a0bf755 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 10 Dec 2010 17:38:41 +0000 Subject: [PATCH 023/991] Accepting request 55456 from Base:System Accepted submit request 55456 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/55456 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=23 --- systemd-15.tar.bz2 | 4 ++-- systemd.changes | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/systemd-15.tar.bz2 b/systemd-15.tar.bz2 index 97173f82..3d5b9feb 100644 --- a/systemd-15.tar.bz2 +++ b/systemd-15.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:643108e95e22d11920e0c2f1d24ec4f90f77ee4a8dbf5b1690af9ad319715da4 -size 764673 +oid sha256:f16e55e8a39169d609a102129ef05344026b0d5938c954d66309a1e1d767e229 +size 765271 diff --git a/systemd.changes b/systemd.changes index fb9c0afa..bf5b5e83 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com + +- add LSB 'smtp' alias for mail-transport-agent.target + +------------------------------------------------------------------- +Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com + +- new snapshot + - path: fix watching the root directory + - update README + ------------------------------------------------------------------- Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com From 3b7f6ab180221b768e63f9733064b7c34d6926c0fcf42d72d696fc6184a62134 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 10 Dec 2010 17:38:46 +0000 Subject: [PATCH 024/991] Autobuild autoformatter for 55456 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=24 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 731d3dff..16a5a1d3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 15 -Release: 2 +Release: 3 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 1fcc0f789f4c5a9507b09b0826d43ca8af8a82292e633256f70eb266c21a4eb3 Mon Sep 17 00:00:00 2001 From: Berthold Gunreben Date: Mon, 20 Dec 2010 15:03:19 +0000 Subject: [PATCH 025/991] Accepting request 56226 from Base:System Accepted submit request 56226 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/56226 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=25 --- ...splash-handling-for-password-dialogs.patch | 61 +++++++++++++++++++ systemd-15.tar.bz2 | 4 +- systemd.changes | 15 ++++- systemd.spec | 2 + 4 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 0001-Add-bootsplash-handling-for-password-dialogs.patch diff --git a/0001-Add-bootsplash-handling-for-password-dialogs.patch b/0001-Add-bootsplash-handling-for-password-dialogs.patch new file mode 100644 index 00000000..a3907589 --- /dev/null +++ b/0001-Add-bootsplash-handling-for-password-dialogs.patch @@ -0,0 +1,61 @@ +From 81eca00461968aac09f9e8535f4327282698b495 Mon Sep 17 00:00:00 2001 +From: Stefan Seyfried +Date: Thu, 16 Dec 2010 11:30:17 +0100 +Subject: [PATCH] Add bootsplash handling for password dialogs + +openSUSE uses bootsplash.org, so add a crude handling for setting the +splash screen to verbose when a password is asked... +--- + src/ask-password-api.c | 22 ++++++++++++++++++++++ + 1 files changed, 22 insertions(+), 0 deletions(-) + +diff --git a/src/ask-password-api.c b/src/ask-password-api.c +index 9f7023e..2023441 100644 +--- a/src/ask-password-api.c ++++ b/src/ask-password-api.c +@@ -47,6 +47,9 @@ int ask_password_tty( + int r, ttyfd = -1, notify = -1; + struct pollfd pollfd[2]; + bool reset_tty = false; ++ bool splash_silent = false; ++ FILE *procsplash = NULL; ++ char *line = NULL; + enum { + POLL_TTY, + POLL_INOTIFY +@@ -90,6 +93,19 @@ int ask_password_tty( + } + + reset_tty = true; ++ procsplash = fopen("/proc/splash", "r+"); ++ if (procsplash) { ++ getline(&line, &p, procsplash); ++ p = 0; /* reset, just to make sure */ ++ if (line && ++ (strstr(line, "on\n") == line + strlen(line) - 3) && ++ (strstr(line, "silent") != NULL)) { ++ splash_silent = true; ++ rewind(procsplash); ++ fprintf(procsplash, "verbose\n"); ++ fflush(procsplash); ++ } ++ } + } + + zero(pollfd); +@@ -201,6 +217,12 @@ finish: + close_nointr_nofail(ttyfd); + } + ++ if (splash_silent) { /* only set if procsplash != NULL */ ++ rewind(procsplash); ++ fprintf(procsplash, "silent\n"); ++ fclose(procsplash); ++ } ++ + return r; + } + +-- +1.7.3.1 + diff --git a/systemd-15.tar.bz2 b/systemd-15.tar.bz2 index 3d5b9feb..1830f317 100644 --- a/systemd-15.tar.bz2 +++ b/systemd-15.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f16e55e8a39169d609a102129ef05344026b0d5938c954d66309a1e1d767e229 -size 765271 +oid sha256:414f2c94256aebaaceddef8dba1410026f4dd29d3e056be544dd44bcad01d1e8 +size 765361 diff --git a/systemd.changes b/systemd.changes index bf5b5e83..9199183f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7 +1,20 @@ +------------------------------------------------------------------- +Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com + +- new snapshot + - ifdef suse-only sysv script lookup code + +------------------------------------------------------------------- +Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org + +- add bootsplash handling patch to be able to enter e.g. + crypto passphrases (bnc#659885) + ------------------------------------------------------------------- Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com -- add LSB 'smtp' alias for mail-transport-agent.target +- new snapshot + - add LSB 'smtp' alias for mail-transport-agent.target ------------------------------------------------------------------- Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 16a5a1d3..5c47c886 100644 --- a/systemd.spec +++ b/systemd.spec @@ -43,6 +43,7 @@ Requires: fsck-with-dev-lock Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc +Patch42: 0001-Add-bootsplash-handling-for-password-dialogs.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -77,6 +78,7 @@ Drop-in replacement of System V init tools. %prep %setup -q +%patch42 -p1 %build # prevent pre-generated and distributed files from re-building From 0ed9e53fa2ee91ce46b251052a149f6d0bb7502f3952369fc1cbeb47a3928455 Mon Sep 17 00:00:00 2001 From: Berthold Gunreben Date: Mon, 20 Dec 2010 15:03:26 +0000 Subject: [PATCH 026/991] Autobuild autoformatter for 56226 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=26 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 5c47c886..8e3e919e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 15 -Release: 3 +Release: 4 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From fa2f46378ea367a480547274844d8dd4cab5dc244c475602a67a1c8909c09fe0 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 14 Jan 2011 02:32:23 +0000 Subject: [PATCH 027/991] Accepting request 57755 from Base:System Accepted submit request 57755 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/57755 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=27 --- systemd-15.tar.bz2 | 3 --- systemd-16.tar.bz2 | 3 +++ systemd.changes | 46 ++++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 4 ++-- 4 files changed, 51 insertions(+), 5 deletions(-) delete mode 100644 systemd-15.tar.bz2 create mode 100644 systemd-16.tar.bz2 diff --git a/systemd-15.tar.bz2 b/systemd-15.tar.bz2 deleted file mode 100644 index 1830f317..00000000 --- a/systemd-15.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:414f2c94256aebaaceddef8dba1410026f4dd29d3e056be544dd44bcad01d1e8 -size 765361 diff --git a/systemd-16.tar.bz2 b/systemd-16.tar.bz2 new file mode 100644 index 00000000..92d480c1 --- /dev/null +++ b/systemd-16.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e35f25cf6815b7f010718b51abd491fd83ed0ce7d3c7210702e6eb5c0d96873b +size 768175 diff --git a/systemd.changes b/systemd.changes index 9199183f..f886eb74 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com + +- version 16 + - device: don't warn if we cannot bump the udev socket buffer + - logger: when passing on PID info, fall back to our own if + originating process is already gone + - service: don't hit an assert if information in LSB headers is + incorrectly formatted + - execute,util: fix two small memory leaks + - getty: unset locale before execution + - execute: drop empty assignments from env blocks on execution + but keep them around otherwise to make them visible + - umount: don't try to detach the dm device the root dir is on, + to minimize warning messages + - locale: fix variable names + - fragment: allow prefixing of the EnvironmentFile= + path with - to ignore errors + - util: don't pass invalid fd to fdopendir() on error to avoid + corruption of errno + - tmpfiles: nicer message when two or more conflicting lines + are configured for the same file + - fragment: properly handle quotes in assignments in + EnvironmentFile= files + - sysctl: don't warn if sysctls are gone + - readahead: ignore if files are removed during collection or + before replay + - serial: use TERM=vt100 instead of TERM=vt100-nav + - cryptsetup: call mkswap on dm device, not on source device + - mount-setup: mount /dev/pts with mode=620,gid=5 by default + and make GID overridable via configure switch + - systemctl: implement auto-pager a la git + - shutdown: drop redundant sync() invocation + - util: invoke sync() implicitly on freeze() + - tmpfiles: do no follow symlinks when cleaning up dirs + +------------------------------------------------------------------- +Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com + +- new snapshot + - pam: do not sort user sessions into their own cgroups in + the 'cpu' hierarchy + - mount-setup: drop noexec flag from default mount options + for /dev/shm + - systemd.pc: change 'session' to 'user' + ------------------------------------------------------------------- Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 8e3e919e..c72aa8b1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,8 +20,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 15 -Release: 4 +Version: 16 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 6a86e44c3e53c429e848e63674da90b8e5ab7b0c5ff32dd75a8a4f15b90bef05 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 14 Jan 2011 02:32:33 +0000 Subject: [PATCH 028/991] Autobuild autoformatter for 57755 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=28 --- systemd.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.spec b/systemd.spec index c72aa8b1..925aaf5f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # -# spec file for package systemd (Version 15) +# spec file for package systemd # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From dd796311b894e355bbeeee7c26e33cd7bdd3bbe3f8db268dd45d1be42c5a5b00 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Mon, 24 Jan 2011 21:26:17 +0000 Subject: [PATCH 029/991] Accepting request 59002 from Base:System Accepted submit request 59002 from user a_jaeger OBS-URL: https://build.opensuse.org/request/show/59002 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=29 --- systemd-16.tar.bz2 | 3 --- systemd-17.tar.bz2 | 3 +++ systemd.changes | 50 ++++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 9 +++------ 4 files changed, 56 insertions(+), 9 deletions(-) delete mode 100644 systemd-16.tar.bz2 create mode 100644 systemd-17.tar.bz2 diff --git a/systemd-16.tar.bz2 b/systemd-16.tar.bz2 deleted file mode 100644 index 92d480c1..00000000 --- a/systemd-16.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e35f25cf6815b7f010718b51abd491fd83ed0ce7d3c7210702e6eb5c0d96873b -size 768175 diff --git a/systemd-17.tar.bz2 b/systemd-17.tar.bz2 new file mode 100644 index 00000000..44f8b173 --- /dev/null +++ b/systemd-17.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce6db8b30923c2508bd8bcfe957399939b23f958248a6460a6207396f0023fdf +size 755192 diff --git a/systemd.changes b/systemd.changes index f886eb74..c5c7af1d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com + +- new snapshot + - clang: fix some issues found with clang-analyzer + - gcc: make gcc shut up + +------------------------------------------------------------------- +Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com + +- version 17 + - vala 0.10 seem to work fine + - cryptsetup: fix ordering loop when dealing with encrypted + swap devices + - main: don't warn if /etc/mtab is a symlink to /proc/mounts + - socket: don't crash if the .service unit for a .socket unit + is not found + - mount: ignore if an fsck is requested for a bind mount, + so that we don't wait for the bind 'device' to show up + - automount: fix segfault when shutting down + - man: give an example for vconsole.conf + - dbus: don't try to connect to the system bus before it is + actually up + - service: make chain of main commands and control commands + independent of each other, so that both can be executed + simultaneously and independently + - service: don't allow reload operations for oneshot services + - vala: convert from dbus-glib to gdbus + - systemctl: highlight failed processes in systemctl status + - systemctl: show process type along process exit codes + - service: when reloading a service fails don't fail the entire + service but just the reload job + +------------------------------------------------------------------- +Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com + +- new snapshot + - shutdown: use correct kexec options + - serial-getty: do not invoke /sbin/securetty; recent + pam_securetty looks for console= in /proc/cmdline + - systemctl: before spawning pager cache number of columns + - pam: optionally keep processes of root user around + - service: if a reload operation fails, don't shut down + the service + - execute: make sending of SIGKILL on shutdown optional + - mount: do not translate uuids to lowercase + - man: document missing KillSignal= and swap options +- require recent util-linux +- drop mtab symlink creation which is done in util-linux + ------------------------------------------------------------------- Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 925aaf5f..beeab891 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 16 +Version: 17 Release: 1 License: GPLv2+ Group: System/Base @@ -33,13 +33,12 @@ BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel BuildRequires: pkg-config -BuildRequires: dbus-1-glib-devel gtk2-devel libnotify-devel +BuildRequires: gtk2-devel libnotify-devel BuildRequires: libselinux-devel libsepol-devel Requires: udev >= 164 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: util-linux -Requires: fsck-with-dev-lock +Requires: util-linux >= 2.18.91 Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc @@ -136,8 +135,6 @@ if [ "$1" -eq 1 ]; then systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : fi -# regular mtab is not written/cleaned-up/supported -ln -sf /proc/self/mounts /etc/mtab || : %preun if [ $1 -eq 0 ]; then From 55d4a015ef31e674c95b44354fd66c90084fe7136539f1d127b1cd484698b6ec Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Fri, 11 Feb 2011 00:56:22 +0000 Subject: [PATCH 030/991] Accepting request 60463 from Base:System Accepted submit request 60463 from user kay_sievers OBS-URL: https://build.opensuse.org/request/show/60463 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=30 --- systemd-17.tar.bz2 | 4 ++-- systemd.changes | 35 ++++++++++++++++++++++++++++++++--- systemd.spec | 31 +++++++++++++++++++++++++++---- 3 files changed, 61 insertions(+), 9 deletions(-) diff --git a/systemd-17.tar.bz2 b/systemd-17.tar.bz2 index 44f8b173..744f2f5a 100644 --- a/systemd-17.tar.bz2 +++ b/systemd-17.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce6db8b30923c2508bd8bcfe957399939b23f958248a6460a6207396f0023fdf -size 755192 +oid sha256:47448a4380dcff4bfae57c306f1fac6a3d989b233efd6aff013df635a2c7dc06 +size 756049 diff --git a/systemd.changes b/systemd.changes index c5c7af1d..45df97cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com + +- new snapshot + - plymouth: move plymouth out of TARGET_FEDORA + - build-sys: fix AC_COMPILE_IFELSE tests + - build-sys: ensure selinux configure check follows logic of + other optional features + - build-sys: autodetect and use pkg-config for libselinux + - dbus: use ControlGroup as property name to match config option + - pam: optionally reset cgroup memberships for login sessions + - load-fragment: properly parse Nice= value + - automount: use unit_pending_inactive() where appropriate + +------------------------------------------------------------------- +Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de + +- Removed unecessary workaround for plymouth startup. + +------------------------------------------------------------------- +Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de + +- Split plymouth support into systemd-plymouth package. + ------------------------------------------------------------------- Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com @@ -49,7 +73,7 @@ Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com - drop mtab symlink creation which is done in util-linux ------------------------------------------------------------------- -Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com +Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - version 16 - device: don't warn if we cannot bump the udev socket buffer @@ -84,6 +108,11 @@ Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - util: invoke sync() implicitly on freeze() - tmpfiles: do no follow symlinks when cleaning up dirs +------------------------------------------------------------------- +Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de + +- Add support for building plymouth support with openSUSE + ------------------------------------------------------------------- Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com @@ -107,13 +136,13 @@ Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org crypto passphrases (bnc#659885) ------------------------------------------------------------------- -Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com +Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com - new snapshot - add LSB 'smtp' alias for mail-transport-agent.target ------------------------------------------------------------------- -Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com +Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com - new snapshot - path: fix watching the root directory diff --git a/systemd.spec b/systemd.spec index beeab891..b1830323 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 17 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -42,7 +42,7 @@ Requires: util-linux >= 2.18.91 Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc -Patch42: 0001-Add-bootsplash-handling-for-password-dialogs.patch +Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -69,17 +69,28 @@ Group: System/Base Summary: System V init tools Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: sysvinit +Obsoletes: sysvinit Conflicts: upstart %description sysvinit Drop-in replacement of System V init tools. +%package plymouth +License: GPLv2+ +Group: System/Base +Summary: Plymouth support for systemd +Requires: %{name} = %{version}-%{release} +Requires: plymouth + +%description plymouth +Plymouth integration for systemd + %prep %setup -q -%patch42 -p1 +%patch1 -p1 %build +autoreconf -fiv # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' \; touch src/systemadm.c @@ -116,6 +127,8 @@ ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service +(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth + %post /bin/systemctl daemon-reexec >/dev/null 2>&1 || : @@ -177,6 +190,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/systemd %{_datadir}/pkgconfig/systemd.pc +# Packaged in plymouth subpackage +%exclude /lib/systemd/system/plymouth-*.service +%exclude /lib/systemd/system/*.wants/plymouth-*.service +%exclude /lib/systemd/system/systemd-ask-password-plymouth.* # Packaged in gtk subpackage %exclude %{_mandir}/man1/systemadm.1* # Packaged in sysvinit subpackage @@ -207,6 +224,12 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/systemd-gnome-ask-password-agent %{_mandir}/man1/systemadm.1* +%files plymouth +%defattr(-,root,root,-) +/lib/systemd/system/plymouth-*.service +/lib/systemd/system/*.wants/plymouth-*.service +/lib/systemd/system/systemd-ask-password-plymouth.* + %files sysvinit %defattr(-,root,root,-) /sbin/init From 1f54e07f77a474bf7667df5b416c12873d44fb8fab01af32d6a61086e1e9f6d4 Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Fri, 18 Feb 2011 11:31:56 +0000 Subject: [PATCH 031/991] Accepting request 61742 from Base:System Accepted submit request 61742 from user coolo OBS-URL: https://build.opensuse.org/request/show/61742 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=32 --- ...-for-sending-HUP-to-all-procs-on-tty.patch | 12 ++++ systemd-17.tar.bz2 | 3 - systemd-18.tar.bz2 | 3 + systemd.changes | 67 +++++++++++++++++++ systemd.spec | 9 ++- 5 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch delete mode 100644 systemd-17.tar.bz2 create mode 100644 systemd-18.tar.bz2 diff --git a/0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch b/0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch new file mode 100644 index 00000000..1656cb8f --- /dev/null +++ b/0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch @@ -0,0 +1,12 @@ +--- units/getty@.service.m4 ++++ units/getty@.service.m4 2011-02-17 14:02:02.883926195 +0000 +@@ -27,6 +27,9 @@ Before=getty.target + [Service] + Environment=TERM=linux + ExecStart=-/sbin/agetty %I 38400 ++m4_ifdef(`TARGET_SUSE', ++ExecStop=/sbin/vhangup %I ++)m4_dnl + Restart=always + RestartSec=0 + UtmpIdentifier=%I diff --git a/systemd-17.tar.bz2 b/systemd-17.tar.bz2 deleted file mode 100644 index 744f2f5a..00000000 --- a/systemd-17.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47448a4380dcff4bfae57c306f1fac6a3d989b233efd6aff013df635a2c7dc06 -size 756049 diff --git a/systemd-18.tar.bz2 b/systemd-18.tar.bz2 new file mode 100644 index 00000000..9c1e32c0 --- /dev/null +++ b/systemd-18.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5d9921abc036667c3cd0ccaa1d8d64ba5135a7133b93dbdea7d7cb4b76ce242 +size 765009 diff --git a/systemd.changes b/systemd.changes index 45df97cb..a71d3d18 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,70 @@ +------------------------------------------------------------------- +Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com + +- revert back to conflicts: sysvinit + +------------------------------------------------------------------- +Thu Feb 17 15:04:44 CET 2011 - werner@suse.de + +- Add temporary workaround for bnc#652633, that is do a vhangup + to all processes on a tty line used for a getty + +------------------------------------------------------------------- +Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com + +- version 18 + - systemctl: introduce --ignore-dependencies + - systemctl: introduce --failed to show only failed services + - systemctl: introduce --failed to show only failed services + - rescue: make 'systemctl default' fail if there is already + something running when the shell exited + - util: seperate welcome line from other output by empty lines + - manager: don't consider transaction jobs conflicting with + queued jobs redundant + - udev: ignore block devices which no known contents, to avoid + trying of mounts/swapons when devices aren't set up full yet + - swap: handle "nofail" from fstab + - mount,swap: properly add dependencies to logger if needed + - service: change default std output to inherit + - exec: introduce global defaults for the standard output + of services + - udev: use SYSTEMD_READY to mask uninitialized DM devices + - fsck: output to /dev/console by default in addition to syslog + - execute: optionally forward program output to /dev/console in + addition to syslog/kmsg + - socket: refuse socket activation for SysV services + - fsck: do not fail boot if fsck returns with an error code that + hasn't 2 or 6 set + - shutdown: execute all binaries in /lib/systemd/system-shutdown + as last step before invoking reboot() + - job: make status message printing more verbose + - cryptsetup: fix unit file description + - tmpfiles: never delete AF_UNIX sockets that are alive + - getty: don't parse console= anymore, use + /sys/class/tty/console/active instead + - properly resolve /dev/console if more than once console= + argument was passed on the kernel command line + - getty: do not auto-spawn getty's on VC ttys if console=ttyN + - fsck: skip root fsck if dracut already did it + - util: when determining the right TERM for /dev/console + consult /sys/class/tty/console/active + - pam: introduce whitelist and blacklist user list feature + - systemctl: minor optimizations + - systemctl: don't unnecessarily close stdin/stdout/stderr for + tty agent so that locking by tty works + - readahead: disable readahead in virtual machines + - tmpfiles: move binary to /bin to make it publicly available + - tmpfiles: take names of tmpfiles configuration files on the + command line + - tmpfiles: log to stderr if possible + - tmpfiles: support globs + - units: introduce and hook up sound.target + - dbus: allow all clients access to org.freedesktop.DBus.Peer + - consider udev devices with SYSTEMD_READY=0 as unplugged + - systemctl: don't start agent for --user + - systemctl: make sure the tty agent does not retain a copy + of stdio + ------------------------------------------------------------------- Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index b1830323..cf0c8a07 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,8 +20,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 17 -Release: 2 +Version: 18 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -43,6 +43,7 @@ Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch +Patch2: 0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -69,7 +70,7 @@ Group: System/Base Summary: System V init tools Requires: %{name} = %{version}-%{release} Provides: sbin_init -Obsoletes: sysvinit +Conflicts: sysvinit Conflicts: upstart %description sysvinit @@ -88,6 +89,7 @@ Plymouth integration for systemd %prep %setup -q %patch1 -p1 +%patch2 -p0 %build autoreconf -fiv @@ -170,6 +172,7 @@ rm -rf $RPM_BUILD_ROOT /bin/systemd-notify /bin/systemd-ask-password /bin/systemd-tty-ask-password-agent +/bin/systemd-tmpfiles %{_bindir}/systemd-cgls /lib/systemd/systemd-* /%{_lib}/security/pam_systemd.so From c798fced5ffe08d81a1c14eba3e8b96c4a1d06a9db2a6dfe5941913b966af5fa Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 9 Mar 2011 16:37:34 +0000 Subject: [PATCH 032/991] Accepting request 63751 from Base:System Accepted submit request 63751 from user coolo OBS-URL: https://build.opensuse.org/request/show/63751 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=33 --- ...-for-sending-HUP-to-all-procs-on-tty.patch | 12 -- systemd-18.tar.bz2 | 3 - systemd-20.tar.bz2 | 3 + systemd.changes | 136 ++++++++++++++++++ systemd.spec | 6 +- 5 files changed, 142 insertions(+), 18 deletions(-) delete mode 100644 0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch delete mode 100644 systemd-18.tar.bz2 create mode 100644 systemd-20.tar.bz2 diff --git a/0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch b/0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch deleted file mode 100644 index 1656cb8f..00000000 --- a/0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- units/getty@.service.m4 -+++ units/getty@.service.m4 2011-02-17 14:02:02.883926195 +0000 -@@ -27,6 +27,9 @@ Before=getty.target - [Service] - Environment=TERM=linux - ExecStart=-/sbin/agetty %I 38400 -+m4_ifdef(`TARGET_SUSE', -+ExecStop=/sbin/vhangup %I -+)m4_dnl - Restart=always - RestartSec=0 - UtmpIdentifier=%I diff --git a/systemd-18.tar.bz2 b/systemd-18.tar.bz2 deleted file mode 100644 index 9c1e32c0..00000000 --- a/systemd-18.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c5d9921abc036667c3cd0ccaa1d8d64ba5135a7133b93dbdea7d7cb4b76ce242 -size 765009 diff --git a/systemd-20.tar.bz2 b/systemd-20.tar.bz2 new file mode 100644 index 00000000..cbab12db --- /dev/null +++ b/systemd-20.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9267127955ed9afbb41e1568c0db1e7028f6450993876a42e91a621fa04e5b5d +size 754679 diff --git a/systemd.changes b/systemd.changes index a71d3d18..e74823a1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,139 @@ +------------------------------------------------------------------- +Tue Mar 8 19:06:45 UTC 2011 - kasievers@novell.com + +- version 20 + - service: prefix description with LSB only if script has LSB header, + use 'SysV:' otherwise + - unit: don't accidently create ordering links to targets when + default deps are off for either target and unit + - mount: support less cumbersome x-systemd-xxx mount options + - unit: distuingish mandatory from triggering conditions + - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object + is unknown + - systemctl: when forwarding is-enabled to chkconfig + hardcode runlevel 3 + - job: introduce new job result code 'skipped' to use when pre + conditions of job did not apply + - job: convert job type as early as we can, to simplify things + - Keep emacs configuration in one configuration file. + - syslog: make sure the kmsg bridge is always pulled in and + never terminated automatically + - mount: make /media a tmpfs + +------------------------------------------------------------------- +Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com + +- new snapshot + - add org.freedesktop.DBus.Properies.Set method + - main: introduce /etc/machine-id + - systemctl: fix exit code when directing is-enabled + to chkconfig + - dbus: add 'Tainted' property to Manager object + - dbus: expose distribution name and features on manager + object as properties + - man: document changed EnvironmentFile= behaviour + - main: add link to wiki page with longer explanation of the + /usr madness + - execute: load environment files at time of execution, not + when we load the service configuration + - path: after installing inotify watches, recheck file again + to fix race + - path: don't use IN_ATTRIB on parent dirs when watching a + file, since those cannot be removed without emptying the dir + first anyway and we need IN_ATTRIB only to detect the link + count dropping to 0 + - kill: always send SIGCONT after SIGTERM + - readahead: disable collector automatically on read-only media + - sysctl: use scandir() instead of nftw() to guarantee + systematic ordering + - support DT_UNKNOWN where necessary for compat with reiserfs + - systemctl: always null-terminate the password +- call systemd-machine-id-setup at installation + +------------------------------------------------------------------- +Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com + +- version 19 + - udev: don't ignore non-encrypted block devices with no + superblock + - udev: expose ttyUSB devices too + - udev: mark hvc devices for exposure in systemd + - cryptsetup: add a terse help + - agent: don't print warnings if a password was removed or + timed out + - systemctl: shutdown agent explicitly so that it can reset + the tty properly + - never clean up a service that still has a process in it + - label: udev might be making changes in /dev while we + iterate through it + - systemctl: properly handle job results + - job: also trigger on-failure dependencies when jobs faile + due to dependencies, timeout + - job: when cancelling jobs, make sure to propagate this + properly to depending jobs + - job: start job timeout on enqueuing not when we start to + process a job + - unit: increase default timeout to 3min + - logger: leave the logger longer around and allow it do + handle more connections + - dbus: pass along information why a job failed when it + failed (dbus api change!) + - general: unify error code we generate on timeout + - units: synchronize gettys to plymouth even if plymouth is + killed by gdm + - job: start job timer when we begin running the job, not + already when we add it to the queue of jobs + - cryptsetup: try to show the mount point for a crypto disk + if we can + - rescue: terminate plymouth entirely when going into + rescue mode + - ask-password: fix handling of timeouts when waiting + for password + - ask-password: supported plymouth cached passwords + - main: print warning if /usr is on a seperate partition + - ensure we start not a single getty before plymouth is + gone because we never know which ttys plymouth still controls + - unit: introduce ConditionVirtualization= + +------------------------------------------------------------------- +Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't rely that timer/path units have an initialized + unit field (bnc#671561) + +------------------------------------------------------------------- +Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com + +- new snapshot + - order network mounts after network.target (bnc#672855) + +------------------------------------------------------------------- +Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com + +- new snapshot + - kmsg-syslogd: increase terminate timeout to 5min to generte + less debug spew + - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) + - unit: don't timeout fsck + - man: fixed typo in SyslogIdentifier= + - tmpfiles: never clean up block devices + - main: refuse --test as root + +------------------------------------------------------------------- +Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: order fsck@.service before basic.target + instead of local-fs.target to relax things a little + - readahead: remove misleading error messages + - man: don't do more reloads than necessary in spec files + - util: retry opening a TTY on EIO + - util: beef up logic to find ctty name + - tmpfiles: kill double slashes in unix socket names +- drop vhangup patch, it is fixed in login(3) by forwarding the + SIGHUP to the child process + ------------------------------------------------------------------- Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com diff --git a/systemd.spec b/systemd.spec index cf0c8a07..5a6abe08 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 18 +Version: 20 Release: 1 License: GPLv2+ Group: System/Base @@ -43,7 +43,6 @@ Conflicts: mkinitrd < 2.6.0-5 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch -Patch2: 0002-Add-vhangup-for-sending-HUP-to-all-procs-on-tty.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -89,7 +88,6 @@ Plymouth integration for systemd %prep %setup -q %patch1 -p1 -%patch2 -p0 %build autoreconf -fiv @@ -132,6 +130,7 @@ ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service (cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth %post +/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : # Create default config in /etc at first install. @@ -173,6 +172,7 @@ rm -rf $RPM_BUILD_ROOT /bin/systemd-ask-password /bin/systemd-tty-ask-password-agent /bin/systemd-tmpfiles +/bin/systemd-machine-id-setup %{_bindir}/systemd-cgls /lib/systemd/systemd-* /%{_lib}/security/pam_systemd.so From 8665e3aaa90bc486ab5671417a51edd5a077f5e19b8ce74f8583bd560b3b35b8 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 5 May 2011 12:11:45 +0000 Subject: [PATCH 033/991] Accepting request 69643 from Base:System - remove policy filter OBS-URL: https://build.opensuse.org/request/show/69643 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=34 --- ...splash-handling-for-password-dialogs.patch | 18 +- systemd-20.tar.bz2 | 3 - systemd-26.tar.bz2 | 3 + systemd.changes | 393 +++++++++++++++++- systemd.spec | 85 ++-- 5 files changed, 459 insertions(+), 43 deletions(-) delete mode 100644 systemd-20.tar.bz2 create mode 100644 systemd-26.tar.bz2 diff --git a/0001-Add-bootsplash-handling-for-password-dialogs.patch b/0001-Add-bootsplash-handling-for-password-dialogs.patch index a3907589..e4bdce2b 100644 --- a/0001-Add-bootsplash-handling-for-password-dialogs.patch +++ b/0001-Add-bootsplash-handling-for-password-dialogs.patch @@ -6,24 +6,21 @@ Subject: [PATCH] Add bootsplash handling for password dialogs openSUSE uses bootsplash.org, so add a crude handling for setting the splash screen to verbose when a password is asked... --- - src/ask-password-api.c | 22 ++++++++++++++++++++++ - 1 files changed, 22 insertions(+), 0 deletions(-) - diff --git a/src/ask-password-api.c b/src/ask-password-api.c -index 9f7023e..2023441 100644 +index da967ab..b89bcea 100644 --- a/src/ask-password-api.c +++ b/src/ask-password-api.c -@@ -47,6 +47,9 @@ int ask_password_tty( - int r, ttyfd = -1, notify = -1; - struct pollfd pollfd[2]; +@@ -62,6 +62,9 @@ int ask_password_tty( bool reset_tty = false; + bool silent_mode = false; + bool dirty = false; + bool splash_silent = false; + FILE *procsplash = NULL; + char *line = NULL; enum { POLL_TTY, POLL_INOTIFY -@@ -90,6 +93,19 @@ int ask_password_tty( +@@ -105,6 +108,19 @@ int ask_password_tty( } reset_tty = true; @@ -43,7 +40,7 @@ index 9f7023e..2023441 100644 } zero(pollfd); -@@ -201,6 +217,12 @@ finish: +@@ -239,6 +255,12 @@ finish: close_nointr_nofail(ttyfd); } @@ -56,6 +53,3 @@ index 9f7023e..2023441 100644 return r; } --- -1.7.3.1 - diff --git a/systemd-20.tar.bz2 b/systemd-20.tar.bz2 deleted file mode 100644 index cbab12db..00000000 --- a/systemd-20.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9267127955ed9afbb41e1568c0db1e7028f6450993876a42e91a621fa04e5b5d -size 754679 diff --git a/systemd-26.tar.bz2 b/systemd-26.tar.bz2 new file mode 100644 index 00000000..64ff1bc6 --- /dev/null +++ b/systemd-26.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25664ed77371f1c168267b1a3c2c7eb428981acc2a887b267a7deeff626a7c25 +size 816555 diff --git a/systemd.changes b/systemd.changes index e74823a1..4e858eaa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,5 +1,396 @@ ------------------------------------------------------------------- -Tue Mar 8 19:06:45 UTC 2011 - kasievers@novell.com +Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org + +- remove policy filter + +------------------------------------------------------------------- +Thu May 5 08:59:46 CEST 2011 - meissner@suse.de + +- add missing buildrequires dbus-1-devel, vala, libxslt-devel +- touch vala files for rebuilding to unbreak Factory + +------------------------------------------------------------------- +Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com + +- also delete plymouth files + +------------------------------------------------------------------- +Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com + +- disable plymouth sub-package until plymouth gets into Factory + +------------------------------------------------------------------- +Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - binfmt, modules-load, sysctl, tmpfiles: add missing + ConditionDirectoryNotEmpty= + - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib + and where appropriate /lib directories + +------------------------------------------------------------------- +Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com + +- version 26 + - plymouth: introduce plymouth.enable=0 kernel command line + - util: don't AND cx with cx + - man: typo in sd_daemon reference + - util: conf_files_list() return list as parameter + - dbus: make daemon reexecution synchronous + +------------------------------------------------------------------- +Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - service: properly notice when services with a main process + that isn't a child of init die + - unit: fix assert when trying to load unit instances for + uninstanciable types + - def: lower default timeout to 90s + - manager: fix serialization counter + +------------------------------------------------------------------- +Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't hit assert when dumping properties + - cryptsetup: fix keyfile size option processing + - socket: improve warning message when we get POLLHUP + - mount: failure to mount cgroup hierarchies should not be fatal + - configure: add AC_SYS_LARGEFILE + +------------------------------------------------------------------- +Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run + - sysctl.d, binfmt.d, modules-load.d: switch to stacked config + dirs in /lib, /etc, /run + - manager: mkdir /run/systemd/system when starting up + - man: Spelling fixes + +------------------------------------------------------------------- +Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com + +- version 25 + - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs + and /proc/fs/nfsd. + - socket: support ListeSpecial= sockets + - vconsole: don't set console font/keymap if settings are empty + - nspawn: don't fail when we receive SIGCHLD + - cgroup: don't accidentaly trim on reload + - units: set capability bounding set for syslog services + - socket: log more information about invalid poll events + - man: fix specification of default timeouts + - mount,crypto: rework meaning of noauto/nofail + - fsck: don't fsck against basic.target in order to properly + allow automount /home + - manager: when running in test mode, do not write generated + unit files to /run/systemd/generator + - mount: properly parse timeouts options in the middle of + the string + - hostnamed: drop all caps but CAP_SYS_ADMIN + - execute: when we run as PID 1 the kernel doesn't give us + CAP_SETPCAP by default. Get that temporarily when dropping + capabilities for good + - mount: make device timeout configurable + - cryptsetup: do not order crypto DM devices against the + cryptsetup service + - socket: reuse existing FIFOs + - socket: guarantee order in which sockets are passed to be + the one of the configuration file + - systemctl: always consider unit files with no + [Install] section but stored in /lib enabled + - job: also print status messages when we successfully started + a unit + - hostnamed: add reference to SMBIOS specs + - man: runlevel 5 is usually more comprehensive, so use it + instead of 3 to detect whether a sysv service is enabled + - polkit: follow the usual syntax for polkit actions + - hostnamed: introduce systemd-hostnamed + - units: order quotacheck after remount-rootfs + - hostname: split out hostname validation into util.c + - dbus: split out object management code into dbus-common, + and simplify it + - strv: properly override settings in env_append() + - strv: detect non-assignments in env blocks properly in + env_append() + - strv: handle empty lists in strv_copy() properly + - util: truncate newline inside of read_one_line_file() + - util: modernize get_parent_of_pid() a bit + - crypto: let the cryptsetup binary handles its own + configurable timeouts + - logger,initctl: use global exit timeout + - ask-password: use default timeout + - manager: drop all pending jobs when isolating + - manager: introduce IgnoreOnIsolate flag so that we can keep + systemd-logger around when isolating + - units: never pull in sysinit from utmp, so that we can + shutdown from emergency mode without pulling in sysinit + - manager: downgrade a few log messages + - units: require syslog.socket from the logger because we + simply fail if we don't have it + - logger: adjust socket description to match service + - units: set stdout of kmsg syslogd to /dev/null + - units: add --no-block when starting normal service after + shell exited + - ask-password: use kill(PID, 0) before querying a password + - ask-password: support passwords without timeouts + - ask-password: always send final NUL char + - ask-password: properly accept empty passwords from agent + - unit: skip default cgroup setup if we have no hierarchy + - units: isolate emergency.target instead of emergency.service + when we fail to mount all file systems + - mount: don't pull in stdio logger for root mount unit + - cgroup: be nice to Ingo Molnar + - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL + - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL + - socket: try creating a socket under our own identity if we + have no perms to consult the selinux database + - socket: fix check for SEQPACKET + - execute: don't fail if we cannot fix OOM in a container + - unit: fix dump output + - socket: be a bit more verbose when refusing to start a + socket unit + - socket: support netlink sockets + - local-fs: invoke emergency.service mounting at boot fails + - path: optionally, create watched directories in .path units + - tmpfiles: don't warn if two identical lines are configured + - man: add man page for ask-password + - dbus: expose monotonic timestamps on the bus + - manager: no need to use randomized generator dir when running + as system manager + - don't make up buffer sizes, use standard LINE_MAX instead + - unit: disallow configuration of more than one on_failure + dependencies if OnFailureIsolate= is on + - unit: pull in logger unit only when running in system mode + - manager: serialize/deserialize max job id and /usr taint flag + - manager: don't garbage collect jobs when isolating, to change + global state + - unit: introduce OnFailureIsolate= + - mount: relabel both before and after a mount, just in case + - cmdline: we actually want to parse the kernel cmdline in VMs, + just not in containers + - units: rename rtc-set.target to time-sync.target and pull it + in by hwclock-load.service + - job: fix deserialization of jobs: do not ignore ordering + - systemctl: properly parse JobNew signals + - service: fix units with more than one socket + - systemctl: make most operations NOPs in a chroot + - manager: don't show PID for incoming signals if it is 0 + - man: fix description of systemctl reload-or-try-restart + - mount: block creation of mount units for API file systems + - units: call the logger a bridge too + - build-sys: always place user units in /usr/lib/systemd + - pkgconfig: update .pc file accordingly + - lookup: always also look into /usr/lib for units + - exec: support unlimited resources + - selinux: relabel /run the same way as /dev after loading + the policy since they both come pre-filled and unlabelled + - manager: fd must be int, not char + - change remaining /var/run to /run + - units: move user units from /usr/share to /usr/lib since + they might be arch-dependent + - man: document /etc/sysctl.d/ + - binfmt: add binfmt tool to set up binfmt_misc at boot + - tmpfiles: create leading directories for d/D instructions + - condition: add ConditionSecurity + - load-fragment: unify config_parse_condition_{kernel, virt} + - condition: fix dumping of conditions + - initctl: /dev/initctl is a named pipe, not a socket + - kmsg-syslogd: pass facility value into kmsg + - move /var/lock to HAVE_SYSV_COMPAT + - tmpfiles: split off rules for legacy systems into legacy.conf + - general: replace a few uses of /var/run by /run + - tmpfiles: enforce new /var/lock semantics + - man: document ConditionPathIsDirectory= + - mount: also relabel pre-mounted API dirs + - log: don't strip facility when writing to kmsg + - build-sys: create a number of drop-in config dirs + - random: do not print warning if random seed doesn't exist + - plymouth: use PID file to detect whether ply is running + - build-sys: install systemd-analyze by default + - analyze: improve output + - analyze: add plotter + - unit: when deserializing do reconnect to dbus/syslog when + they show up + - analyze: beautify output a bit + - add systemd-analyze tool + - unit: don't override timestamps due to state changes when + deserializing + - plymouth: don't explicitly enable status message when + plymouth is up + - status: show status messages unconditionally if plymouth + is around + - taint: add missing cgroups taint flag + - locale: don't access misinitialized variable + - quota: do not pull in quota tools for mounts that do not + originate in neither /etc/fstab nor fragment files + - manager: fix taint check for /usr + - unit: never apply /etc/rcN.d/ priority to native services + - unit: fix parsing of condition-result + - unit: don't complain about failed units when deserializing + - exec: drop process group kill mode since it has little use + and confuses the user + - cgroup: explain when we cannot initialize the cgroup stuff + - systemctl: don't truncate description when using pager + - ask-password: also accept Backspace as first keypress as + silent mode switch + - unit: when deserializing jobs, don't pull in dependencies + - locale: fix LC_MESSAGES variable name + - plymouth: Remove the calls to plymouth message + - udev: systemd-tag all ttys + - tmpfiles fix /run/lock permissions + - ask-password: use TAB to disable asterisk password echo + - execute: socket isn't abstract anymore + - use /run instead of /dev/.run + - man: explain a couple of default dependencies + - mount: pull in quota services from local mountpoints with + usr/grpquota options + - service: pull in sysv facility targets from the sysv units, + not the other way round + - units: pull in syslog.target from syslog.socket + - units: don't ever pull in SysV targets from other SysV + targets + - units: document that some targets exists only for compat + with SysV + - man: document pidns containers + - units: deemphesize Names= settings, and explain why nobody + whould use them + - units: on mandriva/fedora create single.service alias via + symlink, not Names= + - units: get rid of runlevel Names=, the symlinks in + /lib/systemd/system are much more useful + - rework syslog detection so that we need no compile-time + option what the name of the syslog implementation is + - man: document .requires/ directories + - special: get rid of dbus.target + - exec: properly apply capability bounding set, add inverted + bounding sets + - dbus: add service D-Bus property "Sockets" + - dbus: consolidate service SysV conditionals + - unit: serialize condition test results + - def: centralize definition of default timeout in one place + - chkconfig: check against runlevel 5 instead of 3, since it is + a superset of the latter + - systemctl: accept condstop as alias for stop + - dbus: allow LoadUnit to unprivileged users + - umount: make sure skip_ro is always correctly initialized +- create /run (link it to /var/run) +- refresh splash password patch +- conflict with old mkinitrd version (we need /run) +- conflict with old udev (we need /run) + +------------------------------------------------------------------- +Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com + +- new snapshot + - man: fix systemctl try-restart description + - Add Frugalware display-manager service + - main: revert recognition of "b" argument + - main: interpret all argv[] arguments unconditionally when + run in a container + - loopback: downgrade an error to warning + - nspawn: bind mount /etc/localtime + - nspawn: make tty code more robust against closed/reopened + /dev/console + - util: make touched files non-writable by default + - nspawn: allocate a new pty instead of passing ours through + to avoid terminal settings chaos + - main: parse the whole arv[] as kernel command line + - main: check if we have a valid PID before getting the name + - ask-password: reset signal mask after we are done + - cgroup: don't recheck all the time whether the systemd + hierarchy is mounted, to make strace outputs nicer and save + a few stat()s + - man: document systemd-nspawn + - cgls: don't strip user processes and kernel threads from + default output + - umount: don't try to remount bind mounts ro during shutdown + - getty: move automatic serial getty logic into generator + - container: skip a few things when we are run in a container + such as accessing /proc/cmdline + - cgls: by default start with group of PID 1 + - pam: determine user cgroup tree from cgroup of PID 1 + - nspawn: move container into its own name=systemd cgroup + - manager: don't show kernel boot-up time for containers + - manager: show who killed us + - units: add console-shell.service which can be used insted of + the gettys to get a shell on /dev/console + +------------------------------------------------------------------- +Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com + +- new snapshot + - build-sys: move remaining tools from sbin/ to bin/ since they + might eventually be useful for user execution + - hostname: don't override the hostname with localhost if it + is already set and /etc/hostname unset + - audit: give up sending auditing messages when it failed due + to EPERM + - nspawn: don't require selinux on if it is compiled in + - main: remove AF_UNIX sockets before binding + - shutdown: print a nice message when terminating a container + - nspawn: mount /selinux if needed + - shutdown: just call exit() if we are in a container + - umount: assume that a non-existing /dev/loop device means it + is already detached + - socket: use 777 as default mode for sockets + - main: log to the console in a container + - main: don't parse /proc/cmdline in containers + - util: add detect_container() + - nspawn: reset environment and load login shell + - core: move abstract namespace sockets to /dev/.run + - nspawn: add simple chroot(1) like tool to execute commands + in a namespace container + - util: return exit status in wait_for_terminate_and_warn() + - util: properly identify pty devices by their major + +------------------------------------------------------------------- +Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com + +- new snapshot + - polkit: autogenerate polkit policy with correct paths + - systemctl: support remote and privileged systemctl access + via SSH and pkexec + - gnome-ask-password-agent: fix path to watch + +------------------------------------------------------------------- +Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com + +- fix broken sysctl.service linking + +------------------------------------------------------------------- +Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: move the last flag files to /dev/.run + - util: close all fds before freezing execution + - dbus: timeout connection setup + - main: properly handle -b boot option + - pam: do not leak file descriptor if flock fails +- disable sysv services natively provided by systemd + +------------------------------------------------------------------- +Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com + +- new snapshot + - main: refuse system to be started in a chroot + - main: don't check if /usr really is a mount point, since it is + fine if it is passed pre-mounted to us from the initrd + - condition: take a timestamp and store last result of conditions + - dev: use /dev/.run/systemd as runtime directory, instead of + /dev/.systemd + - machine-id: move machine-id-setup to /sbin + - pkconfig: export full search path as .pc variable + - selinux: bump up error level when in non-enforcing mode + - dbus: fix dbus assert due to uninitialized error + - dbus: properly generate UnknownInterface, UnknownProperty + and PropertyReadOnly errors + - mount: use /dev/.run as an early boot alias for /var/run + +------------------------------------------------------------------- +Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com - version 20 - service: prefix description with LSB only if script has LSB header, diff --git a/systemd.spec b/systemd.spec index 5a6abe08..400233e6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,30 +20,36 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 20 +Version: 26 Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: libudev-devel udev +BuildRequires: libudev-devel udev dbus-1-devel BuildRequires: audit-devel BuildRequires: libcap-devel BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel BuildRequires: pkg-config -BuildRequires: gtk2-devel libnotify-devel +BuildRequires: gtk2-devel libnotify-devel vala libxslt-devel BuildRequires: libselinux-devel libsepol-devel -Requires: udev >= 164 +Requires: udev >= 167 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: util-linux >= 2.18.91 -Conflicts: mkinitrd < 2.6.0-5 +Requires: util-linux >= 2.19 +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch +# Upstream First - Policy: +# Never add any patches to this package without the upstream commit id +# in the patch. Any patches added here without a very good reason to make +# an exception will be silently removed with the next version update. + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -75,15 +81,15 @@ Conflicts: upstart %description sysvinit Drop-in replacement of System V init tools. -%package plymouth -License: GPLv2+ -Group: System/Base -Summary: Plymouth support for systemd -Requires: %{name} = %{version}-%{release} -Requires: plymouth - -%description plymouth -Plymouth integration for systemd +#%package plymouth +#License: GPLv2+ +#Group: System/Base +#Summary: Plymouth support for systemd +#Requires: %{name} = %{version}-%{release} +#Requires: plymouth +# +#%description plymouth +#Plymouth integration for systemd %prep %setup -q @@ -100,6 +106,8 @@ export V=1 --docdir=%{_docdir}/systemd \ --with-rootdir= \ CFLAGS="$RPM_OPT_FLAGS" +# rebuild due to libnotify 0.7 in factory +touch *.vala */*.vala make %{?_smp_mflags} %install @@ -115,7 +123,9 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target -mkdir -p $RPM_BUILD_ROOT/etc/modules-load.d +rm -f $RPM_BUILD_ROOT/lib/systemd/system/plymouth-*.service +rm -f $RPM_BUILD_ROOT/lib/systemd/system/*.wants/plymouth-*.service +rm -f $RPM_BUILD_ROOT/lib/systemd/system/systemd-ask-password-plymouth.* # alias for /etc/init.d/* ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service @@ -126,8 +136,15 @@ ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/cgroup.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/klog.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/ldconfig.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/loadmodules.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localnet.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/proc.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/swap.service -(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth +#(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth %post /bin/systemd-machine-id-setup >/dev/null 2>&1 || : @@ -173,30 +190,42 @@ rm -rf $RPM_BUILD_ROOT /bin/systemd-tty-ask-password-agent /bin/systemd-tmpfiles /bin/systemd-machine-id-setup +/usr/bin/systemd-nspawn +/usr/bin/systemd-stdio-bridge +/usr/bin/systemd-analyze %{_bindir}/systemd-cgls /lib/systemd/systemd-* +%dir /lib/systemd/system-shutdown /%{_lib}/security/pam_systemd.so %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %dir %{_sysconfdir}/xdg/systemd/user + +%dir /usr/lib/modules-load.d %dir %{_sysconfdir}/modules-load.d +%dir /usr/lib/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d -%{_sysconfdir}/tmpfiles.d/*.conf +%dir /usr/lib/binfmt.d +%dir %{_sysconfdir}/binfmt.d +%dir /usr/lib/sysctl.d +%dir %{_sysconfdir}/sysctl.d +/usr/lib/tmpfiles.d/*.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/polkit-1 %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/systemd %{_datadir}/pkgconfig/systemd.pc # Packaged in plymouth subpackage -%exclude /lib/systemd/system/plymouth-*.service -%exclude /lib/systemd/system/*.wants/plymouth-*.service -%exclude /lib/systemd/system/systemd-ask-password-plymouth.* +#%exclude /lib/systemd/system/plymouth-*.service +#%exclude /lib/systemd/system/*.wants/plymouth-*.service +#%exclude /lib/systemd/system/systemd-ask-password-plymouth.* # Packaged in gtk subpackage %exclude %{_mandir}/man1/systemadm.1* # Packaged in sysvinit subpackage @@ -217,6 +246,8 @@ rm -rf $RPM_BUILD_ROOT %dir /lib/systemd /lib/systemd/system /lib/systemd/system-generators +%dir /usr/lib/systemd +/usr/lib/systemd/user %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/bash_completion.d /etc/bash_completion.d/systemctl-bash-completion.sh @@ -227,11 +258,11 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/systemd-gnome-ask-password-agent %{_mandir}/man1/systemadm.1* -%files plymouth -%defattr(-,root,root,-) -/lib/systemd/system/plymouth-*.service -/lib/systemd/system/*.wants/plymouth-*.service -/lib/systemd/system/systemd-ask-password-plymouth.* +#%files plymouth +#%defattr(-,root,root,-) +#/lib/systemd/system/plymouth-*.service +#/lib/systemd/system/*.wants/plymouth-*.service +#/lib/systemd/system/systemd-ask-password-plymouth.* %files sysvinit %defattr(-,root,root,-) From fcb9fd518afc0b76a162f031d1c22bbb945813cb57234f9babbfab88da1ddefa Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 5 May 2011 12:12:00 +0000 Subject: [PATCH 034/991] Autobuild autoformatter for 69643 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=35 --- systemd.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.spec b/systemd.spec index 400233e6..2a210441 100644 --- a/systemd.spec +++ b/systemd.spec @@ -26,14 +26,14 @@ License: GPLv2+ Group: System/Base Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: libudev-devel udev dbus-1-devel +BuildRequires: dbus-1-devel libudev-devel udev BuildRequires: audit-devel BuildRequires: libcap-devel BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel BuildRequires: pkg-config -BuildRequires: gtk2-devel libnotify-devel vala libxslt-devel +BuildRequires: gtk2-devel libnotify-devel libxslt-devel vala BuildRequires: libselinux-devel libsepol-devel Requires: udev >= 167 Requires: dbus-1 >= 1.4.0 From d06ea64b98615c0c0ae810d0fe066049ad57cae71f3828906de5209e4b1fc3b3 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Mon, 30 May 2011 13:48:36 +0000 Subject: [PATCH 035/991] Accepting request 71916 from Base:System Update to 28 OBS-URL: https://build.opensuse.org/request/show/71916 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=36 --- systemd-26.tar.bz2 | 3 --- systemd-28.tar.bz2 | 3 +++ systemd.changes | 59 ++++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 28 ++++++++++------------ 4 files changed, 75 insertions(+), 18 deletions(-) delete mode 100644 systemd-26.tar.bz2 create mode 100644 systemd-28.tar.bz2 diff --git a/systemd-26.tar.bz2 b/systemd-26.tar.bz2 deleted file mode 100644 index 64ff1bc6..00000000 --- a/systemd-26.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25664ed77371f1c168267b1a3c2c7eb428981acc2a887b267a7deeff626a7c25 -size 816555 diff --git a/systemd-28.tar.bz2 b/systemd-28.tar.bz2 new file mode 100644 index 00000000..3057c822 --- /dev/null +++ b/systemd-28.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90691dd21bd9a296ec7cc2e6edaa5bc813c847b3219891afd9f38fb9696ddf70 +size 816801 diff --git a/systemd.changes b/systemd.changes index 4e858eaa..619a1e8e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com + +- version 28 + - drop hwclock-save.service + - fix segfault when a DBus message has no interface + - man: update the list of unit search locations + - readahead-collect: ignore EACCES for fanotify + - rtc in localtime: use settimeofday(NULL, tz) + instead of hwclock(8) + +------------------------------------------------------------------- +Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - fix crash in D-Bus code + +------------------------------------------------------------------- +Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values + - util: use new VT ESC sequence to clear scrollback buffer + - sd-daemon: move _sd_hidden_ from .h to .c file + - missing: add IP_TRANSPARENT + +------------------------------------------------------------------- +Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com + +- version 27 + - util: use open_terminal() in chvt() too + - socket: expose SO_BROADCAST + - git: add .mailmap + - exec: expose tty reset options in dbus introspection data + - socket: expose IP_TRANSPARENT + - exec: hangup/reset/deallocate VTs in gettys + - socket: use 666 socket mode by default since neither fifos, + nor sockets, nor mqueues need to be executable + - socket: add POSIX mqueue support + - README: document relation to nss-myhostname + - hostnamed: check that nss-myhostname is installed + +------------------------------------------------------------------- +Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - sysctl: apply /etc/sysctl.conf last + - systemd-analyze: print hostname, kernelversion and arch at + the top of the plot + - pam: downgrade a few log msgs + - hostnamed: SetPrettyHostname() should check PK action + org.freedesktop.hostname1.set-static-hostname + - user-sessions: ignore EROFS when unlinking /etc/nologin if + the file doesn't exist anyway + - unit: make ignoring in snapshots a per unit property, + instead of a per unit type property + - vconsole: use open_terminal() instead of open() + - units: enable automount units only if the kernel supports them + ------------------------------------------------------------------- Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org diff --git a/systemd.spec b/systemd.spec index 2a210441..f315f60d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,13 +20,14 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 26 +Version: 28 Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: dbus-1-devel libudev-devel udev +BuildRequires: libudev-devel udev +BuildRequires: dbus-1-devel BuildRequires: audit-devel BuildRequires: libcap-devel BuildRequires: tcpd-devel @@ -126,24 +127,23 @@ rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target rm -f $RPM_BUILD_ROOT/lib/systemd/system/plymouth-*.service rm -f $RPM_BUILD_ROOT/lib/systemd/system/*.wants/plymouth-*.service rm -f $RPM_BUILD_ROOT/lib/systemd/system/systemd-ask-password-plymouth.* -# alias for /etc/init.d/* -ln -s hwclock-load.service $RPM_BUILD_ROOT/lib/systemd/system/clock.service -ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service -ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup.service -ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service -ln -s systemd-sysctl.service $RPM_BUILD_ROOT/lib/systemd/system/sysctl.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service +# aliases for /etc/init.d/* ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/clock.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/klog.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/ldconfig.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/loadmodules.service +ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localnet.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/proc.service +ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/swap.service - +ln -s systemd-sysctl.service $RPM_BUILD_ROOT/lib/systemd/system/sysctl.service +ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service #(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth %post @@ -161,7 +161,6 @@ if [ "$1" -eq 1 ]; then # Enable these services by default. /bin/systemctl enable \ getty@.service \ - hwclock-load.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : @@ -171,7 +170,6 @@ fi if [ $1 -eq 0 ]; then /bin/systemctl disable \ getty@.service \ - hwclock-load.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : From 99950c02e54ea99b4b63de2c4d8578fb8795add49011e70bd638a7dd8a0f3c36 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 15 Jun 2011 09:53:36 +0000 Subject: [PATCH 036/991] Accepting request 73658 from Base:System New snapshot OBS-URL: https://build.opensuse.org/request/show/73658 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=37 --- systemd-28.tar.bz2 | 4 ++-- systemd.changes | 19 +++++++++++++++++++ systemd.spec | 47 ++++++++++++++++++++++++++++------------------ 3 files changed, 50 insertions(+), 20 deletions(-) diff --git a/systemd-28.tar.bz2 b/systemd-28.tar.bz2 index 3057c822..4c2dabb2 100644 --- a/systemd-28.tar.bz2 +++ b/systemd-28.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90691dd21bd9a296ec7cc2e6edaa5bc813c847b3219891afd9f38fb9696ddf70 -size 816801 +oid sha256:92e98fe32c7cff50933a3b865e28efba870fbacfa51cd58f2d13f117eb31a2c6 +size 816790 diff --git a/systemd.changes b/systemd.changes index 619a1e8e..c89d0919 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - mount /run without MS_NOEXEC + - readahead-common: fix total memory size detection + - enable chkconfig support in systemctl for openSUSE + - selinux: selinuxfs can be mounted on /sys/fs/selinux + - cryptsetup-generator: fix /etc/cryptsetup options + - systemctl: fix double unref of a dbus message +- drop merged chkconfig patch + +------------------------------------------------------------------- +Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com + +- Add sysv chkconfig patch to be able to enable / disable sysv + initscripts with systemctl. +- Ensure plymouth support is buildable conditionnally. + ------------------------------------------------------------------- Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index f315f60d..0f6a3511 100644 --- a/systemd.spec +++ b/systemd.spec @@ -17,6 +17,7 @@ # norootforbuild +%define build_plymouth 0 Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -82,15 +83,17 @@ Conflicts: upstart %description sysvinit Drop-in replacement of System V init tools. -#%package plymouth -#License: GPLv2+ -#Group: System/Base -#Summary: Plymouth support for systemd -#Requires: %{name} = %{version}-%{release} -#Requires: plymouth -# -#%description plymouth -#Plymouth integration for systemd +%if %{build_plymouth} +%package plymouth +License: GPLv2+ +Group: System/Base +Summary: Plymouth support for systemd +Requires: %{name} = %{version}-%{release} +Requires: plymouth + +%description plymouth +Plymouth integration for systemd +%endif %prep %setup -q @@ -124,9 +127,11 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target +%if !%{build_plymouth} rm -f $RPM_BUILD_ROOT/lib/systemd/system/plymouth-*.service rm -f $RPM_BUILD_ROOT/lib/systemd/system/*.wants/plymouth-*.service rm -f $RPM_BUILD_ROOT/lib/systemd/system/systemd-ask-password-plymouth.* +%endif # aliases for /etc/init.d/* ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/cgroup.service ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup.service @@ -144,7 +149,9 @@ ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/swap.service ln -s systemd-sysctl.service $RPM_BUILD_ROOT/lib/systemd/system/sysctl.service ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service -#(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth +%if %{build_plymouth} +(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth +%endif %post /bin/systemd-machine-id-setup >/dev/null 2>&1 || : @@ -220,10 +227,12 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/pkgconfig/systemd.pc +%if %{build_plymouth} # Packaged in plymouth subpackage -#%exclude /lib/systemd/system/plymouth-*.service -#%exclude /lib/systemd/system/*.wants/plymouth-*.service -#%exclude /lib/systemd/system/systemd-ask-password-plymouth.* +%exclude /lib/systemd/system/plymouth-*.service +%exclude /lib/systemd/system/*.wants/plymouth-*.service +%exclude /lib/systemd/system/systemd-ask-password-plymouth.* +%endif # Packaged in gtk subpackage %exclude %{_mandir}/man1/systemadm.1* # Packaged in sysvinit subpackage @@ -256,11 +265,13 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/systemd-gnome-ask-password-agent %{_mandir}/man1/systemadm.1* -#%files plymouth -#%defattr(-,root,root,-) -#/lib/systemd/system/plymouth-*.service -#/lib/systemd/system/*.wants/plymouth-*.service -#/lib/systemd/system/systemd-ask-password-plymouth.* +%if %{build_plymouth} +%files plymouth +%defattr(-,root,root,-) +/lib/systemd/system/plymouth-*.service +/lib/systemd/system/*.wants/plymouth-*.service +/lib/systemd/system/systemd-ask-password-plymouth.* +%endif %files sysvinit %defattr(-,root,root,-) From 05a6aa08eeeb70fed98da7e311251c9a5e2e01c9f86bbb2913c3545ee037c886 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 15 Jun 2011 09:53:47 +0000 Subject: [PATCH 037/991] Autobuild autoformatter for 73658 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=38 --- systemd.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 0f6a3511..8805480b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 28 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -84,6 +84,7 @@ Conflicts: upstart Drop-in replacement of System V init tools. %if %{build_plymouth} + %package plymouth License: GPLv2+ Group: System/Base @@ -266,6 +267,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/systemadm.1* %if %{build_plymouth} + %files plymouth %defattr(-,root,root,-) /lib/systemd/system/plymouth-*.service From e0791e9971c782bb64c1b520c817f7dc35497bd19e09f765516bd3ed175fe5ea Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 20 Jun 2011 07:39:20 +0000 Subject: [PATCH 038/991] Accepting request 74015 from Base:System - version 29: + enable chkconfig support in systemctl for openSUSE. + systemctl: plug a leak upon create_symlink mismatch + mount /run without MS_NOEXEC + dbus: fix name of capability property + systemctl: fix double unref of a dbus message + cryptsetup-generator: fix /etc/cryptsetup options + selinux: selinuxfs can be mounted on /sys/fs/selinux + readahead-common: fix total memory size detection + systemctl: fix 'is-enabled' for native units under /lib + systemctl: fix a FILE* leak + pam-module: add debug= parameter + remote-fs.target: do not order after network.target - update tarball url. - Use RPM macros instead of $RPM_FOO variables - Don't require %{version}-%{release} of the base package, %{version} is sufficient OBS-URL: https://build.opensuse.org/request/show/74015 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=39 --- systemd-28.tar.bz2 | 3 -- systemd-29.tar.bz2 | 3 ++ systemd.changes | 25 ++++++++++++ systemd.spec | 95 +++++++++++++++++++++++++++------------------- 4 files changed, 84 insertions(+), 42 deletions(-) delete mode 100644 systemd-28.tar.bz2 create mode 100644 systemd-29.tar.bz2 diff --git a/systemd-28.tar.bz2 b/systemd-28.tar.bz2 deleted file mode 100644 index 4c2dabb2..00000000 --- a/systemd-28.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92e98fe32c7cff50933a3b865e28efba870fbacfa51cd58f2d13f117eb31a2c6 -size 816790 diff --git a/systemd-29.tar.bz2 b/systemd-29.tar.bz2 new file mode 100644 index 00000000..b9e21e45 --- /dev/null +++ b/systemd-29.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c41153c3ebab9e25b16fa1670946ce6dfdd1515608a37eedd80d2bbe46629971 +size 810407 diff --git a/systemd.changes b/systemd.changes index c89d0919..00d55141 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com + +- version 29: + + enable chkconfig support in systemctl for openSUSE. + + systemctl: plug a leak upon create_symlink mismatch + + mount /run without MS_NOEXEC + + dbus: fix name of capability property + + systemctl: fix double unref of a dbus message + + cryptsetup-generator: fix /etc/cryptsetup options + + selinux: selinuxfs can be mounted on /sys/fs/selinux + + readahead-common: fix total memory size detection + + systemctl: fix 'is-enabled' for native units under /lib + + systemctl: fix a FILE* leak + + pam-module: add debug= parameter + + remote-fs.target: do not order after network.target +- update tarball url. + +------------------------------------------------------------------- +Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de + +- Use RPM macros instead of $RPM_FOO variables +- Don't require %{version}-%{release} of the base package, + %{version} is sufficient + ------------------------------------------------------------------- Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com diff --git a/systemd.spec b/systemd.spec index 8805480b..c8c2e175 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,8 +21,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 28 -Release: 2 +Version: 29 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -43,7 +43,7 @@ Requires: kbd Requires: util-linux >= 2.19 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Source0: http://www.freedesktop.org/software/systemd/releases/%{name}-%{version}.tar.bz2 +Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch @@ -52,6 +52,7 @@ Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -66,7 +67,8 @@ drop-in replacement for sysvinit. License: GPLv2+ Group: System/Base Summary: Graphical front-end for systemd -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} + %description gtk Graphical front-end for systemd system and service manager. @@ -75,31 +77,36 @@ Graphical front-end for systemd system and service manager. License: GPLv2+ Group: System/Base Summary: System V init tools -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: sysvinit Conflicts: upstart + %description sysvinit Drop-in replacement of System V init tools. %if %{build_plymouth} + %package plymouth License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires: plymouth + %description plymouth Plymouth integration for systemd %endif + %prep %setup -q %patch1 -p1 + %build autoreconf -fiv # prevent pre-generated and distributed files from re-building @@ -110,50 +117,52 @@ export V=1 --with-distro=suse \ --docdir=%{_docdir}/systemd \ --with-rootdir= \ - CFLAGS="$RPM_OPT_FLAGS" + CFLAGS="%{optflags}" # rebuild due to libnotify 0.7 in factory touch *.vala */*.vala make %{?_smp_mflags} + %install %makeinstall -find $RPM_BUILD_ROOT -type f -name '*.la' -exec rm -f {} ';' -mkdir -p $RPM_BUILD_ROOT/sbin -ln -s ../bin/systemd $RPM_BUILD_ROOT/sbin/init -ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/reboot -ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/halt -ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown -ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/poweroff -ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit -ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel -rm -rf $RPM_BUILD_ROOT/etc/systemd/system/*.target.wants -rm -f $RPM_BUILD_ROOT/etc/systemd/system/default.target +find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' +mkdir -p %{buildroot}/sbin +ln -s ../bin/systemd %{buildroot}/sbin/init +ln -s ../bin/systemctl %{buildroot}/sbin/reboot +ln -s ../bin/systemctl %{buildroot}/sbin/halt +ln -s ../bin/systemctl %{buildroot}/sbin/shutdown +ln -s ../bin/systemctl %{buildroot}/sbin/poweroff +ln -s ../bin/systemctl %{buildroot}/sbin/telinit +ln -s ../bin/systemctl %{buildroot}/sbin/runlevel +rm -rf %{buildroot}/etc/systemd/system/*.target.wants +rm -f %{buildroot}/etc/systemd/system/default.target %if !%{build_plymouth} -rm -f $RPM_BUILD_ROOT/lib/systemd/system/plymouth-*.service -rm -f $RPM_BUILD_ROOT/lib/systemd/system/*.wants/plymouth-*.service -rm -f $RPM_BUILD_ROOT/lib/systemd/system/systemd-ask-password-plymouth.* +rm -f %{buildroot}/lib/systemd/system/plymouth-*.service +rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service +rm -f %{buildroot}/lib/systemd/system/systemd-ask-password-plymouth.* %endif # aliases for /etc/init.d/* -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service $RPM_BUILD_ROOT/lib/systemd/system/cleanup.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/clock.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/crypto-early.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/earlysyslog.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/klog.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/ldconfig.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/loadmodules.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localfs.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/localnet.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/proc.service -ln -s fsck-root.service $RPM_BUILD_ROOT/lib/systemd/system/rootfsck.service -ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/swap.service -ln -s systemd-sysctl.service $RPM_BUILD_ROOT/lib/systemd/system/sysctl.service -ln -s systemd-random-seed-load.service $RPM_BUILD_ROOT/lib/systemd/system/random.service +ln -s /dev/null %{buildroot}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/lib/systemd/system/klog.service +ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/lib/systemd/system/loadmodules.service +ln -s /dev/null %{buildroot}/lib/systemd/system/localfs.service +ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/lib/systemd/system/proc.service +ln -s fsck-root.service %{buildroot}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/lib/systemd/system/swap.service +ln -s systemd-sysctl.service %{buildroot}/lib/systemd/system/sysctl.service +ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.service %if %{build_plymouth} -(cd $RPM_BUILD_ROOT && find . -name '*plymouth*') > files.plymouth +(cd %{buildroot} && find . -name '*plymouth*') > files.plymouth %endif + %post /bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : @@ -174,6 +183,7 @@ if [ "$1" -eq 1 ]; then remote-fs.target >/dev/null 2>&1 || : fi + %preun if [ $1 -eq 0 ]; then /bin/systemctl disable \ @@ -184,8 +194,10 @@ if [ $1 -eq 0 ]; then rm -f /etc/systemd/system/default.target 2>&1 || : fi + %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} + %files %defattr(-,root,root) @@ -260,6 +272,7 @@ rm -rf $RPM_BUILD_ROOT %dir %{_sysconfdir}/bash_completion.d /etc/bash_completion.d/systemctl-bash-completion.sh + %files gtk %defattr(-,root,root,-) %{_bindir}/systemadm @@ -268,6 +281,7 @@ rm -rf $RPM_BUILD_ROOT %if %{build_plymouth} + %files plymouth %defattr(-,root,root,-) /lib/systemd/system/plymouth-*.service @@ -275,6 +289,7 @@ rm -rf $RPM_BUILD_ROOT /lib/systemd/system/systemd-ask-password-plymouth.* %endif + %files sysvinit %defattr(-,root,root,-) /sbin/init @@ -292,4 +307,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* + + %changelog From d8bee80cd830f19e4128b313cf4669be02a3275f6eaf2d07f0050c496b7b4a34 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 20 Jun 2011 07:39:29 +0000 Subject: [PATCH 039/991] Autobuild autoformatter for 74015 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=40 --- systemd.spec | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/systemd.spec b/systemd.spec index c8c2e175..a04f0231 100644 --- a/systemd.spec +++ b/systemd.spec @@ -52,7 +52,6 @@ Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -69,7 +68,6 @@ Group: System/Base Summary: Graphical front-end for systemd Requires: %{name} = %{version} - %description gtk Graphical front-end for systemd system and service manager. @@ -82,13 +80,11 @@ Provides: sbin_init Conflicts: sysvinit Conflicts: upstart - %description sysvinit Drop-in replacement of System V init tools. %if %{build_plymouth} - %package plymouth License: GPLv2+ Group: System/Base @@ -96,17 +92,14 @@ Summary: Plymouth support for systemd Requires: %{name} = %{version} Requires: plymouth - %description plymouth Plymouth integration for systemd %endif - %prep %setup -q %patch1 -p1 - %build autoreconf -fiv # prevent pre-generated and distributed files from re-building @@ -122,7 +115,6 @@ export V=1 touch *.vala */*.vala make %{?_smp_mflags} - %install %makeinstall find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' @@ -162,7 +154,6 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se (cd %{buildroot} && find . -name '*plymouth*') > files.plymouth %endif - %post /bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : @@ -183,7 +174,6 @@ if [ "$1" -eq 1 ]; then remote-fs.target >/dev/null 2>&1 || : fi - %preun if [ $1 -eq 0 ]; then /bin/systemctl disable \ @@ -194,11 +184,9 @@ if [ $1 -eq 0 ]; then rm -f /etc/systemd/system/default.target 2>&1 || : fi - %clean rm -rf %{buildroot} - %files %defattr(-,root,root) /bin/systemd @@ -272,7 +260,6 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/bash_completion.d /etc/bash_completion.d/systemctl-bash-completion.sh - %files gtk %defattr(-,root,root,-) %{_bindir}/systemadm @@ -281,7 +268,6 @@ rm -rf %{buildroot} %if %{build_plymouth} - %files plymouth %defattr(-,root,root,-) /lib/systemd/system/plymouth-*.service @@ -289,7 +275,6 @@ rm -rf %{buildroot} /lib/systemd/system/systemd-ask-password-plymouth.* %endif - %files sysvinit %defattr(-,root,root,-) /sbin/init @@ -307,6 +292,4 @@ rm -rf %{buildroot} %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* - - %changelog From 69d14b0d3bb8cefd0ff5f1e6f3c7a5bc0ecfb723f5d83f3cd848bf1e8e38a717 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Fri, 1 Jul 2011 14:18:35 +0000 Subject: [PATCH 040/991] Accepting request 75005 from Base:System - Make sure to not start kbd initscript, it is handled by systemd natively. OBS-URL: https://build.opensuse.org/request/show/75005 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=41 --- systemd.changes | 6 ++++++ systemd.spec | 1 + 2 files changed, 7 insertions(+) diff --git a/systemd.changes b/systemd.changes index 00d55141..27c95cb1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com + +- Make sure to not start kbd initscript, it is handled by systemd + natively. + ------------------------------------------------------------------- Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com diff --git a/systemd.spec b/systemd.spec index a04f0231..31508e04 100644 --- a/systemd.spec +++ b/systemd.spec @@ -140,6 +140,7 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/clock.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto-early.service ln -s /dev/null %{buildroot}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/lib/systemd/system/klog.service ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service ln -s /dev/null %{buildroot}/lib/systemd/system/loadmodules.service From addc4d44e2d6dfbff951cbcdd7c6140ee8aca7cb18114973350e70cf1c4691f2 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Fri, 1 Jul 2011 14:18:45 +0000 Subject: [PATCH 041/991] Autobuild autoformatter for 75005 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=42 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 31508e04..ca79b5ac 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 29 -Release: 1 +Release: 3 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 6ae518ac8ec345bc67cdb18a868eb950996918659a2cb52eed5f5e3b0612517a Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 20 Jul 2011 07:12:35 +0000 Subject: [PATCH 042/991] Accepting request 76463 from Base:System Add changes (forwarded request 76462 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/76463 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=43 --- systemd-29.tar.bz2 | 3 --- systemd-30.tar.bz2 | 3 +++ systemd-rpmlintrc | 3 ++- systemd.changes | 9 +++++++++ systemd.spec | 18 ++++++++++++++++-- 5 files changed, 30 insertions(+), 6 deletions(-) delete mode 100644 systemd-29.tar.bz2 create mode 100644 systemd-30.tar.bz2 diff --git a/systemd-29.tar.bz2 b/systemd-29.tar.bz2 deleted file mode 100644 index b9e21e45..00000000 --- a/systemd-29.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c41153c3ebab9e25b16fa1670946ce6dfdd1515608a37eedd80d2bbe46629971 -size 810407 diff --git a/systemd-30.tar.bz2 b/systemd-30.tar.bz2 new file mode 100644 index 00000000..ddfece5d --- /dev/null +++ b/systemd-30.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10f6fffe45fab4c2985267fad25781eb51aa07a216541443806cf7da7f616bb7 +size 868377 diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index d7a7e967..59cfd1a7 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,6 +1,7 @@ addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*suse-dbus-unauthorized-service.*") addFilter(".*devel-file-in-non-devel-package.*systemd.pc.*") addFilter(".*files-duplicate .*/reboot.8.*") addFilter(".*files-duplicate .*/sd_is_socket.3.*") +addFilter(".*dbus-policy-allow-receive") + diff --git a/systemd.changes b/systemd.changes index 27c95cb1..06bf6e11 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de + +- Update to version 30: + + Logic from pam_systemd has been moved to new systemd-login. + + VT gettys are autospawn only when needed + + Handle boot.local/halt.local on SUSE distribution + + add support for systemctl --root + ------------------------------------------------------------------- Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index ca79b5ac..ea3e11e6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 29 +Version: 30 Release: 3 License: GPLv2+ Group: System/Base @@ -37,7 +37,8 @@ BuildRequires: libcryptsetup-devel BuildRequires: pkg-config BuildRequires: gtk2-devel libnotify-devel libxslt-devel vala BuildRequires: libselinux-devel libsepol-devel -Requires: udev >= 167 +BuildRequires: intltool +Requires: udev >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: util-linux >= 2.19 @@ -194,6 +195,7 @@ rm -rf %{buildroot} /bin/systemctl /bin/systemd-notify /bin/systemd-ask-password +/bin/systemd-loginctl /bin/systemd-tty-ask-password-agent /bin/systemd-tmpfiles /bin/systemd-machine-id-setup @@ -219,12 +221,24 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/sysctl.d /usr/lib/tmpfiles.d/*.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/systemd-logind.conf +%config(noreplace) %{_sysconfdir}/systemd/user.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %{_datadir}/polkit-1 %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy From a8a39286d04bb16c7361da5e16136820da01f4283e48c1be8049bf64941fdb12 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 20 Jul 2011 07:13:18 +0000 Subject: [PATCH 043/991] Autobuild autoformatter for 76463 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=44 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index ea3e11e6..2384823a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 30 -Release: 3 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 463955367e35493b6abce52ae49da9a671dc45ffeb0294ff25a8910b08ec35e4 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 2 Aug 2011 07:39:24 +0000 Subject: [PATCH 044/991] Accepting request 77637 from Base:System Update to v32, split up devel project, adjust rpmlintrc OBS-URL: https://build.opensuse.org/request/show/77637 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=45 --- systemd-30.tar.bz2 | 3 --- systemd-32.tar.bz2 | 3 +++ systemd-rpmlintrc | 5 ++++- systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 35 ++++++++++++++++++++++++++++++++--- 5 files changed, 61 insertions(+), 7 deletions(-) delete mode 100644 systemd-30.tar.bz2 create mode 100644 systemd-32.tar.bz2 diff --git a/systemd-30.tar.bz2 b/systemd-30.tar.bz2 deleted file mode 100644 index ddfece5d..00000000 --- a/systemd-30.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10f6fffe45fab4c2985267fad25781eb51aa07a216541443806cf7da7f616bb7 -size 868377 diff --git a/systemd-32.tar.bz2 b/systemd-32.tar.bz2 new file mode 100644 index 00000000..cf746355 --- /dev/null +++ b/systemd-32.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:714bd00ceb44639a675e8a7b7ee4f6bff42b70a442110c70e64ff41056828dae +size 877943 diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 59cfd1a7..cc21ff25 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,7 +1,10 @@ addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*devel-file-in-non-devel-package.*systemd.pc.*") addFilter(".*files-duplicate .*/reboot.8.*") addFilter(".*files-duplicate .*/sd_is_socket.3.*") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemctl-bash-completion.sh") addFilter(".*dbus-policy-allow-receive") +# Do not enable for submission into openSUSE:Factory, +# just for testing while polkit-default-privs is not checked in +# setBadness('polkit-unauthorized-privilege', 1) diff --git a/systemd.changes b/systemd.changes index 06bf6e11..fc42e955 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de + +- Split up devel package. +- restart logind after upgrade. +- Adjust rpmlintrc for changes. + +------------------------------------------------------------------- +Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de + +- Update to version 32: + * bugfixes + * improve selinux setup + +------------------------------------------------------------------- +Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de + +- Update to version 31: + * rewrite of enable/disable code: New features systemctl --runtime, + systemctl mask, systemctl link and presets. + * sd-daemon is now shared library. + ------------------------------------------------------------------- Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de diff --git a/systemd.spec b/systemd.spec index 2384823a..3a7e6a2a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,8 +21,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 30 -Release: 1 +Version: 32 +Release: 3 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -63,6 +63,16 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%package devel +License: GPLv2+ +Group: Development/Libraries/C and C++ +Summary: Development headers for systemd +Requires: %{name} = %{version} +Requires: pkg-config + +%description devel +Development headers and auxiliary files for developing applications for systemd. + %package gtk License: GPLv2+ Group: System/Base @@ -159,6 +169,7 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se %post /bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/sbin/ldconfig # Create default config in /etc at first install. # Later package updates should not overwrite these settings. @@ -176,6 +187,12 @@ if [ "$1" -eq 1 ]; then remote-fs.target >/dev/null 2>&1 || : fi +%postun +/sbin/ldconfig +if [ $1 -ge 1 ] ; then + /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : +fi + %preun if [ $1 -eq 0 ]; then /bin/systemctl disable \ @@ -202,6 +219,8 @@ rm -rf %{buildroot} /usr/bin/systemd-nspawn /usr/bin/systemd-stdio-bridge /usr/bin/systemd-analyze +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* %{_bindir}/systemd-cgls /lib/systemd/systemd-* %dir /lib/systemd/system-shutdown @@ -242,7 +261,6 @@ rm -rf %{buildroot} %{_datadir}/polkit-1 %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/pkgconfig/systemd.pc %if %{build_plymouth} # Packaged in plymouth subpackage %exclude /lib/systemd/system/plymouth-*.service @@ -281,6 +299,17 @@ rm -rf %{buildroot} %{_bindir}/systemd-gnome-ask-password-agent %{_mandir}/man1/systemadm.1* +%files devel +%defattr(-,root,root,-) +%{_libdir}/libsystemd-daemon.so +%{_libdir}/libsystemd-login.so +%dir %{_includedir}/systemd +%{_includedir}/systemd/sd-login.h +%{_includedir}/systemd/sd-daemon.h +%{_datadir}/pkgconfig/systemd.pc +%{_libdir}/pkgconfig/libsystemd-daemon.pc +%{_libdir}/pkgconfig/libsystemd-login.pc + %if %{build_plymouth} %files plymouth From ddcccda23e8a20058787ec21c4179a7bbfa38116785c0ca5e705265c7e62376a Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 2 Aug 2011 07:39:32 +0000 Subject: [PATCH 045/991] Autobuild autoformatter for 77637 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=46 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 3a7e6a2a..e4720cdf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 32 -Release: 3 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 552a1ab5063dea8dec939783901670d529c7296e33d01b8a5d11b02ec2a44f82 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 2 Aug 2011 11:57:04 +0000 Subject: [PATCH 046/991] Accepting request 77663 from Base:System - Add insserv-parsing.patch: read/parse insserv.conf. - Add bash-completion-restart.patch: fix restart service list (bnc#704782). OBS-URL: https://build.opensuse.org/request/show/77663 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=47 --- bash-completion-restart.patch | 43 +++++++++++++++ insserv-parsing.patch | 100 ++++++++++++++++++++++++++++++++++ systemd.changes | 7 +++ systemd.spec | 6 ++ 4 files changed, 156 insertions(+) create mode 100644 bash-completion-restart.patch create mode 100644 insserv-parsing.patch diff --git a/bash-completion-restart.patch b/bash-completion-restart.patch new file mode 100644 index 00000000..da169c26 --- /dev/null +++ b/bash-completion-restart.patch @@ -0,0 +1,43 @@ +From 54a437057e83ca41f329f010e2a0e968ed3880b2 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 1 Aug 2011 18:43:01 +0200 +Subject: [PATCH] bash: Allow to restart already started service. + +Allow to restart all services, not only inactive one. + +https://bugzilla.novell.com/show_bug.cgi?id=704782 +--- + src/systemctl-bash-completion.sh | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/src/systemctl-bash-completion.sh b/src/systemctl-bash-completion.sh +index acdc086..6369a6c 100644 +--- a/src/systemctl-bash-completion.sh ++++ b/src/systemctl-bash-completion.sh +@@ -79,10 +79,11 @@ _systemctl () { + local -A VERBS=( + [ALL_UNITS]='enable disable is-active is-enabled status show' + [FAILED_UNITS]='reset-failed' +- [STARTABLE_UNITS]='start restart reload-or-restart' ++ [STARTABLE_UNITS]='start' + [STOPPABLE_UNITS]='stop kill try-restart condrestart' + [ISOLATABLE_UNITS]='isolate' + [RELOADABLE_UNITS]='reload reload-or-try-restart force-reload' ++ [RESTARTABLE_UNITS]='restart reload-or-restart' + [JOBS]='cancel' + [SNAPSHOTS]='delete' + [ENVS]='set-environment unset-environment' +@@ -110,6 +111,10 @@ _systemctl () { + comps=$( __filter_units_by_property CanStart yes \ + $( __get_inactive_units | grep -Ev '\.(device|snapshot)$' )) + ++ elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then ++ comps=$( __filter_units_by_property CanStart yes \ ++ $( __get_all_units | grep -Ev '\.(device|snapshot|socket|timer)$' )) ++ + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then + comps=$( __filter_units_by_property CanStop yes \ + $( __get_active_units ) ) +-- +1.7.3.4 + diff --git a/insserv-parsing.patch b/insserv-parsing.patch new file mode 100644 index 00000000..329e3917 --- /dev/null +++ b/insserv-parsing.patch @@ -0,0 +1,100 @@ +From de3910a324aefcb15c26be27033d6917494e5946 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Wed, 29 Jun 2011 13:59:34 +0200 +Subject: [PATCH] service: parse insserv.conf and plugs its system facilities into systemd. + +--- + src/service.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 70 insertions(+), 0 deletions(-) + +diff --git a/src/service.c b/src/service.c +index 4e3b6e7..0464d1e 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -2968,6 +2968,72 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + } + + #ifdef HAVE_SYSV_COMPAT ++ ++#ifdef TARGET_SUSE ++static void sysv_facility_in_insserv_conf(Manager *mgr) { ++ FILE *f=NULL; ++ int r; ++ ++ if (!(f = fopen("/etc/insserv.conf", "re"))) { ++ r = errno == ENOENT ? 0 : -errno; ++ goto finish; ++ } ++ ++ while (!feof(f)) { ++ char l[LINE_MAX], *t; ++ char **parsed = NULL; ++ ++ if (!fgets(l, sizeof(l), f)) { ++ if (feof(f)) ++ break; ++ ++ r = -errno; ++ log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r)); ++ goto finish; ++ } ++ ++ t = strstrip(l); ++ if (*t != '$' && *t != '<') ++ continue; ++ ++ parsed = strv_split(t,WHITESPACE); ++ /* we ignore , not used, equivalent to X-Interactive */ ++ if (parsed && !startswith_no_case (parsed[0], "")) { ++ char *facility; ++ Unit *u; ++ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) ++ continue; ++ if ((u = manager_get_unit(mgr, facility)) && (u->meta.type == UNIT_TARGET)) { ++ UnitDependency e; ++ char *dep = NULL, *name, **j; ++ ++ STRV_FOREACH (j, parsed+1) { ++ if (*j[0]=='+') { ++ e = UNIT_WANTS; ++ name = *j+1; ++ } ++ else { ++ e = UNIT_REQUIRES; ++ name = *j; ++ } ++ if (sysv_translate_facility(name, NULL, &dep) < 0) ++ continue; ++ ++ r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); ++ free(dep); ++ } ++ } ++ free(facility); ++ } ++ strv_free(parsed); ++ } ++finish: ++ if (f) ++ fclose(f); ++ ++} ++#endif ++ + static int service_enumerate(Manager *m) { + char **p; + unsigned i; +@@ -3116,6 +3182,10 @@ static int service_enumerate(Manager *m) { + + r = 0; + ++#ifdef TARGET_SUSE ++ sysv_facility_in_insserv_conf (m); ++#endif ++ + finish: + free(path); + free(fpath); +-- +1.7.3.4 + diff --git a/systemd.changes b/systemd.changes index fc42e955..37ff80fb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com + +- Add insserv-parsing.patch: read/parse insserv.conf. +- Add bash-completion-restart.patch: fix restart service list + (bnc#704782). + ------------------------------------------------------------------- Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de diff --git a/systemd.spec b/systemd.spec index e4720cdf..fcdf4ae8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -52,6 +52,10 @@ Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-UPSTREAM fcrozat@suse.com -- read/parse insserv.conf (git) +Patch2: insserv-parsing.patch +# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc704782 -- fix bash completion for restart command (git) +Patch3: bash-completion-restart.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -110,6 +114,8 @@ Plymouth integration for systemd %prep %setup -q %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build autoreconf -fiv From 6e1d6273a327df9d4034efe639753177d7251c70e6f1e0ad2124d7d2bc3945d3 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 2 Aug 2011 11:57:13 +0000 Subject: [PATCH 047/991] Autobuild autoformatter for 77663 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=48 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index fcdf4ae8..2ec83934 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 32 -Release: 1 +Release: 5 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From f728a2485a826fa0e25826453d9c5115618c401f7d356f82be02262f908782ba Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 4 Aug 2011 07:21:02 +0000 Subject: [PATCH 048/991] Accepting request 77911 from Base:System - Add root-fsck.patch: do not run fsck on / if it is rw - Ship a non null localfs.service, fixes static mount points not being mounted properly. - Update to version 33: * optimizations and bugfixes. * New PrivateNetwork= service setting which allows you to shut off networking for a specific service (i.e. all routable network interfaces will disappear for that service). * Merged insserv-parsing.patch and bash-completion-restart.patch patches. OBS-URL: https://build.opensuse.org/request/show/77911 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=49 --- bash-completion-restart.patch | 43 --------------- gperf-missing.patch | 25 +++++++++ insserv-parsing.patch | 100 ---------------------------------- localfs.service | 6 ++ root-fsck.patch | 25 +++++++++ systemd-32.tar.bz2 | 3 - systemd-33.tar.bz2 | 3 + systemd.changes | 18 ++++++ systemd.spec | 15 +++-- 9 files changed, 86 insertions(+), 152 deletions(-) delete mode 100644 bash-completion-restart.patch create mode 100644 gperf-missing.patch delete mode 100644 insserv-parsing.patch create mode 100644 localfs.service create mode 100644 root-fsck.patch delete mode 100644 systemd-32.tar.bz2 create mode 100644 systemd-33.tar.bz2 diff --git a/bash-completion-restart.patch b/bash-completion-restart.patch deleted file mode 100644 index da169c26..00000000 --- a/bash-completion-restart.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 54a437057e83ca41f329f010e2a0e968ed3880b2 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 1 Aug 2011 18:43:01 +0200 -Subject: [PATCH] bash: Allow to restart already started service. - -Allow to restart all services, not only inactive one. - -https://bugzilla.novell.com/show_bug.cgi?id=704782 ---- - src/systemctl-bash-completion.sh | 7 ++++++- - 1 files changed, 6 insertions(+), 1 deletions(-) - -diff --git a/src/systemctl-bash-completion.sh b/src/systemctl-bash-completion.sh -index acdc086..6369a6c 100644 ---- a/src/systemctl-bash-completion.sh -+++ b/src/systemctl-bash-completion.sh -@@ -79,10 +79,11 @@ _systemctl () { - local -A VERBS=( - [ALL_UNITS]='enable disable is-active is-enabled status show' - [FAILED_UNITS]='reset-failed' -- [STARTABLE_UNITS]='start restart reload-or-restart' -+ [STARTABLE_UNITS]='start' - [STOPPABLE_UNITS]='stop kill try-restart condrestart' - [ISOLATABLE_UNITS]='isolate' - [RELOADABLE_UNITS]='reload reload-or-try-restart force-reload' -+ [RESTARTABLE_UNITS]='restart reload-or-restart' - [JOBS]='cancel' - [SNAPSHOTS]='delete' - [ENVS]='set-environment unset-environment' -@@ -110,6 +111,10 @@ _systemctl () { - comps=$( __filter_units_by_property CanStart yes \ - $( __get_inactive_units | grep -Ev '\.(device|snapshot)$' )) - -+ elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then -+ comps=$( __filter_units_by_property CanStart yes \ -+ $( __get_all_units | grep -Ev '\.(device|snapshot|socket|timer)$' )) -+ - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then - comps=$( __filter_units_by_property CanStop yes \ - $( __get_active_units ) ) --- -1.7.3.4 - diff --git a/gperf-missing.patch b/gperf-missing.patch new file mode 100644 index 00000000..49eb98b5 --- /dev/null +++ b/gperf-missing.patch @@ -0,0 +1,25 @@ +From: Thierry Reding +To: systemd-devel@lists.freedesktop.org +Date: Wed, 3 Aug 2011 08:40:27 +0200 +Subject: [systemd-devel] [PATCH] gperf: Include missing.h. + +Older GNU C libraries don't define RLIMIT_RTTIME, so including the +missing.h is required to fix the build. +--- + src/load-fragment-gperf.gperf.m4 | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/load-fragment-gperf.gperf.m4 b/src/load-fragment-gperf.gperf.m4 +index 650f444..8e52890 100644 +--- a/src/load-fragment-gperf.gperf.m4 ++++ b/src/load-fragment-gperf.gperf.m4 +@@ -2,6 +2,7 @@ + #include + #include "conf-parser.h" + #include "load-fragment.h" ++#include "missing.h" + %} + struct ConfigPerfItem; + %null_strings +-- +1.7.6 diff --git a/insserv-parsing.patch b/insserv-parsing.patch deleted file mode 100644 index 329e3917..00000000 --- a/insserv-parsing.patch +++ /dev/null @@ -1,100 +0,0 @@ -From de3910a324aefcb15c26be27033d6917494e5946 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Wed, 29 Jun 2011 13:59:34 +0200 -Subject: [PATCH] service: parse insserv.conf and plugs its system facilities into systemd. - ---- - src/service.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 files changed, 70 insertions(+), 0 deletions(-) - -diff --git a/src/service.c b/src/service.c -index 4e3b6e7..0464d1e 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -2968,6 +2968,72 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - } - - #ifdef HAVE_SYSV_COMPAT -+ -+#ifdef TARGET_SUSE -+static void sysv_facility_in_insserv_conf(Manager *mgr) { -+ FILE *f=NULL; -+ int r; -+ -+ if (!(f = fopen("/etc/insserv.conf", "re"))) { -+ r = errno == ENOENT ? 0 : -errno; -+ goto finish; -+ } -+ -+ while (!feof(f)) { -+ char l[LINE_MAX], *t; -+ char **parsed = NULL; -+ -+ if (!fgets(l, sizeof(l), f)) { -+ if (feof(f)) -+ break; -+ -+ r = -errno; -+ log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r)); -+ goto finish; -+ } -+ -+ t = strstrip(l); -+ if (*t != '$' && *t != '<') -+ continue; -+ -+ parsed = strv_split(t,WHITESPACE); -+ /* we ignore , not used, equivalent to X-Interactive */ -+ if (parsed && !startswith_no_case (parsed[0], "")) { -+ char *facility; -+ Unit *u; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) -+ continue; -+ if ((u = manager_get_unit(mgr, facility)) && (u->meta.type == UNIT_TARGET)) { -+ UnitDependency e; -+ char *dep = NULL, *name, **j; -+ -+ STRV_FOREACH (j, parsed+1) { -+ if (*j[0]=='+') { -+ e = UNIT_WANTS; -+ name = *j+1; -+ } -+ else { -+ e = UNIT_REQUIRES; -+ name = *j; -+ } -+ if (sysv_translate_facility(name, NULL, &dep) < 0) -+ continue; -+ -+ r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); -+ free(dep); -+ } -+ } -+ free(facility); -+ } -+ strv_free(parsed); -+ } -+finish: -+ if (f) -+ fclose(f); -+ -+} -+#endif -+ - static int service_enumerate(Manager *m) { - char **p; - unsigned i; -@@ -3116,6 +3182,10 @@ static int service_enumerate(Manager *m) { - - r = 0; - -+#ifdef TARGET_SUSE -+ sysv_facility_in_insserv_conf (m); -+#endif -+ - finish: - free(path); - free(fpath); --- -1.7.3.4 - diff --git a/localfs.service b/localfs.service new file mode 100644 index 00000000..d8ff1048 --- /dev/null +++ b/localfs.service @@ -0,0 +1,6 @@ +[Unit] +Description=Shadow /etc/init.d/boot.localfs + +[Service] +RemainAfterExit=true +ExecStart=/bin/true diff --git a/root-fsck.patch b/root-fsck.patch new file mode 100644 index 00000000..f9ca4f00 --- /dev/null +++ b/root-fsck.patch @@ -0,0 +1,25 @@ +From 687d70cc43b34eb2359598d0ca0b69e996aa1b38 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Wed, 3 Aug 2011 16:46:52 +0200 +Subject: [PATCH] units: detect SUSE initrd and do not run fsck on /. + +--- + units/fsck-root.service.in | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/units/fsck-root.service.in b/units/fsck-root.service.in +index 7b3529d..2f8c8f5 100644 +--- a/units/fsck-root.service.in ++++ b/units/fsck-root.service.in +@@ -13,6 +13,8 @@ Before=local-fs.target shutdown.target + + # Dracut informs us with this flag file if the root fsck was already run + ConditionPathExists=!/run/initramfs/root-fsck ++# Detect SUSE initrd too ++ConditionPathExists=!/dev/shm/initrd_exports.sh + + [Service] + Type=oneshot +-- +1.7.3.4 + diff --git a/systemd-32.tar.bz2 b/systemd-32.tar.bz2 deleted file mode 100644 index cf746355..00000000 --- a/systemd-32.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:714bd00ceb44639a675e8a7b7ee4f6bff42b70a442110c70e64ff41056828dae -size 877943 diff --git a/systemd-33.tar.bz2 b/systemd-33.tar.bz2 new file mode 100644 index 00000000..e014b2bd --- /dev/null +++ b/systemd-33.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0de8b842841859b329dec26ecb3d7c10f6616ef80a074192800315893e3d5c3d +size 879459 diff --git a/systemd.changes b/systemd.changes index 37ff80fb..3e8caacd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com + +- Add root-fsck.patch: do not run fsck on / if it is rw +- Ship a non null localfs.service, fixes static mount points not + being mounted properly. + +------------------------------------------------------------------- +Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de + +- Update to version 33: + * optimizations and bugfixes. + * New PrivateNetwork= service setting which allows you to shut off + networking for a specific service (i.e. all routable network + interfaces will disappear for that service). + * Merged insserv-parsing.patch and bash-completion-restart.patch + patches. + ------------------------------------------------------------------- Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 2ec83934..e85217c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 32 +Version: 33 Release: 5 License: GPLv2+ Group: System/Base @@ -30,6 +30,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libudev-devel udev BuildRequires: dbus-1-devel BuildRequires: audit-devel +BuildRequires: gperf BuildRequires: libcap-devel BuildRequires: tcpd-devel BuildRequires: pam-devel @@ -46,16 +47,18 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc +Source2: localfs.service Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- read/parse insserv.conf (git) -Patch2: insserv-parsing.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc704782 -- fix bash completion for restart command (git) -Patch3: bash-completion-restart.patch +# PATCH-FIX-UPSTREAM aj@suse.de gperf: Include missing.h +Patch2: gperf-missing.patch +# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't run fsck on rw / +Patch3: root-fsck.patch + %description Systemd is a system and service manager, compatible with SysV and LSB @@ -161,7 +164,7 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/lib/systemd/system/klog.service ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service ln -s /dev/null %{buildroot}/lib/systemd/system/loadmodules.service -ln -s /dev/null %{buildroot}/lib/systemd/system/localfs.service +install -m644 %{S:2} %{buildroot}/lib/systemd/system/localfs.service ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service ln -s /dev/null %{buildroot}/lib/systemd/system/proc.service ln -s fsck-root.service %{buildroot}/lib/systemd/system/rootfsck.service From ac5c1e026ec980dbae8423f1cddbf6389e5558ba758d8f6e92d06e723b4e158c Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 4 Aug 2011 07:21:13 +0000 Subject: [PATCH 049/991] Autobuild autoformatter for 77911 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=50 --- systemd.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/systemd.spec b/systemd.spec index e85217c7..68c0413f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 5 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -59,7 +59,6 @@ Patch2: gperf-missing.patch # PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't run fsck on rw / Patch3: root-fsck.patch - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization From 899738e284b1a6a9ea82213585f589a4c6ca7734e5d5267c20552517201ec347 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Sat, 6 Aug 2011 17:20:20 +0000 Subject: [PATCH 050/991] Accepting request 78055 from Base:System - Remove root-fsck.patch, mkinitrd will use the same path as dracut. - Add systemd-cryptsetup.patch: don't complain on "none" option in crypttab. - Add systemd-cryptsetup-query.patch: block boot until passphrase is typed. OBS-URL: https://build.opensuse.org/request/show/78055 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=51 --- root-fsck.patch | 25 ------------------------- systemd-cryptsetup-query.patch | 28 ++++++++++++++++++++++++++++ systemd-cryptsetup.patch | 25 +++++++++++++++++++++++++ systemd.changes | 10 ++++++++++ systemd.spec | 7 +++++-- 5 files changed, 68 insertions(+), 27 deletions(-) delete mode 100644 root-fsck.patch create mode 100644 systemd-cryptsetup-query.patch create mode 100644 systemd-cryptsetup.patch diff --git a/root-fsck.patch b/root-fsck.patch deleted file mode 100644 index f9ca4f00..00000000 --- a/root-fsck.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 687d70cc43b34eb2359598d0ca0b69e996aa1b38 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Wed, 3 Aug 2011 16:46:52 +0200 -Subject: [PATCH] units: detect SUSE initrd and do not run fsck on /. - ---- - units/fsck-root.service.in | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/units/fsck-root.service.in b/units/fsck-root.service.in -index 7b3529d..2f8c8f5 100644 ---- a/units/fsck-root.service.in -+++ b/units/fsck-root.service.in -@@ -13,6 +13,8 @@ Before=local-fs.target shutdown.target - - # Dracut informs us with this flag file if the root fsck was already run - ConditionPathExists=!/run/initramfs/root-fsck -+# Detect SUSE initrd too -+ConditionPathExists=!/dev/shm/initrd_exports.sh - - [Service] - Type=oneshot --- -1.7.3.4 - diff --git a/systemd-cryptsetup-query.patch b/systemd-cryptsetup-query.patch new file mode 100644 index 00000000..00f60c87 --- /dev/null +++ b/systemd-cryptsetup-query.patch @@ -0,0 +1,28 @@ +From d58446e4b3217f97baca7961154813a563ccdd19 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 4 Aug 2011 16:46:33 +0200 +Subject: [PATCH] cryptsetup-generator: block boot when querying passphrase. + +Ensure we wait for passphrase before starting tty1 or graphical display. +Needed when not using plymouth. +--- + src/cryptsetup-generator.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c +index a340218..6f3aa78 100644 +--- a/src/cryptsetup-generator.c ++++ b/src/cryptsetup-generator.c +@@ -112,7 +112,8 @@ static int create_disk( + "DefaultDependencies=no\n" + "BindTo=%s dev-mapper-%%i.device\n" + "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" +- "Before=umount.target\n", ++ "Before=umount.target\n" ++ "Before=local-fs.target\n", + d, d); + + if (!nofail) +-- +1.7.3.4 + diff --git a/systemd-cryptsetup.patch b/systemd-cryptsetup.patch new file mode 100644 index 00000000..7e02d279 --- /dev/null +++ b/systemd-cryptsetup.patch @@ -0,0 +1,25 @@ +From aa5f34f2109a02db7887c220c5a35b6a8ee3e6c8 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 4 Aug 2011 16:04:43 +0200 +Subject: [PATCH] cryptsetup: accept "none" option + +--- + src/cryptsetup.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/cryptsetup.c b/src/cryptsetup.c +index cf288de..ac7b6d6 100644 +--- a/src/cryptsetup.c ++++ b/src/cryptsetup.c +@@ -110,7 +110,7 @@ static int parse_one_option(const char *option) { + return 0; + } + +- } else ++ } else if (!streq(option, "none")) + log_error("Encountered unknown /etc/crypttab option '%s', ignoring.", option); + + return 0; +-- +1.7.3.4 + diff --git a/systemd.changes b/systemd.changes index 3e8caacd..c7a7547a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com + +- Remove root-fsck.patch, mkinitrd will use the same path as + dracut. +- Add systemd-cryptsetup.patch: don't complain on "none" option in + crypttab. +- Add systemd-cryptsetup-query.patch: block boot until passphrase + is typed. + ------------------------------------------------------------------- Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 68c0413f..9fe933a0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -56,8 +56,10 @@ Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # an exception will be silently removed with the next version update. # PATCH-FIX-UPSTREAM aj@suse.de gperf: Include missing.h Patch2: gperf-missing.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't run fsck on rw / -Patch3: root-fsck.patch +# PATCH-FIX-UPSTREAM fcrozat@suse.com -- accept none option in crypttab +Patch3: systemd-cryptsetup.patch +# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't set getty before passphrase is typed +Patch4: systemd-cryptsetup-query.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -118,6 +120,7 @@ Plymouth integration for systemd %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build autoreconf -fiv From 82f4b6179ab0937480be330484ecbc14c8d57cfff1b40e645d29d3497c9d6b7a Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Sat, 6 Aug 2011 17:20:31 +0000 Subject: [PATCH 051/991] Autobuild autoformatter for 78055 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=52 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 9fe933a0..0b6a81e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 1 +Release: 7 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From db279886e96e7981121c86d5d30ffd878a2dbc1161134bc40bdf615ad57ec84c Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 17 Aug 2011 08:42:14 +0000 Subject: [PATCH 052/991] Accepting request 79096 from Base:System Fix cycles that broke booting. OBS-URL: https://build.opensuse.org/request/show/79096 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=53 --- localfs.service | 2 ++ systemd.changes | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/localfs.service b/localfs.service index d8ff1048..da3facec 100644 --- a/localfs.service +++ b/localfs.service @@ -1,5 +1,7 @@ [Unit] Description=Shadow /etc/init.d/boot.localfs +DefaultDependencies=no +After=local-fs.target [Service] RemainAfterExit=true diff --git a/systemd.changes b/systemd.changes index c7a7547a..47fc09ae 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com + +- Fix localfs.service to no cause cycle and starts it after + local-fs.target. + ------------------------------------------------------------------- Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com From d3a3b003060cc0d59ed803360159f6b70a56c5dd332671a263e11d06cf9250c7 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 17 Aug 2011 08:42:22 +0000 Subject: [PATCH 053/991] Autobuild autoformatter for 79096 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=54 --- systemd.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 0b6a81e2..eba05e70 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 7 +Release: 9 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -105,6 +105,7 @@ Drop-in replacement of System V init tools. %if %{build_plymouth} %package plymouth + License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd From ba2c6efcabd927d39b98f00d87dec9d5fce0976324f9b07097bb3b3a50411ab1 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 18 Aug 2011 09:48:40 +0000 Subject: [PATCH 054/991] Accepting request 79200 from Base:System Fix crash with systemctl enable. (forwarded request 79198 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/79200 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=55 --- fix-crash.patch | 19 +++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 3 +++ 3 files changed, 27 insertions(+) create mode 100644 fix-crash.patch diff --git a/fix-crash.patch b/fix-crash.patch new file mode 100644 index 00000000..76ee6041 --- /dev/null +++ b/fix-crash.patch @@ -0,0 +1,19 @@ +commit e191553d1dc80cd6d65d05f0cb29f8967fab6983 +Author: Kay Sievers +Date: Wed Aug 17 19:38:07 2011 +0200 + + convert int to boolean for dbus_bool_t + +diff --git a/src/dbus-manager.c b/src/dbus-manager.c +index ae88895..cfc2afc 100644 +--- a/src/dbus-manager.c ++++ b/src/dbus-manager.c +@@ -444,7 +444,7 @@ static DBusMessage *message_from_file_changes( + if (carries_install_info >= 0) { + dbus_bool_t b; + +- b = carries_install_info; ++ b = !!carries_install_info; + if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &b)) + goto oom; + } diff --git a/systemd.changes b/systemd.changes index 47fc09ae..50126bea 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de + +- Fix crash with systemctl enable. + ------------------------------------------------------------------- Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index eba05e70..3292dedf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -60,6 +60,8 @@ Patch2: gperf-missing.patch Patch3: systemd-cryptsetup.patch # PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't set getty before passphrase is typed Patch4: systemd-cryptsetup-query.patch +# PATCH-FIX-UPSTREAM aj@suse.com -- fix crash on systemctl enable +Patch5: fix-crash.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -122,6 +124,7 @@ Plymouth integration for systemd %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build autoreconf -fiv From c636adfb211fff77569fa711153cccd9282b2641b70a48d564f0b30b63e1441f Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 18 Aug 2011 09:48:48 +0000 Subject: [PATCH 055/991] Autobuild autoformatter for 79200 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=56 --- systemd.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 3292dedf..899b1da5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 9 +Release: 11 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -108,6 +108,7 @@ Drop-in replacement of System V init tools. %package plymouth + License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd From ac26c95d2712463e30582936c431262675514dacc79b64fec964eafb6df8214b Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Fri, 19 Aug 2011 10:27:05 +0000 Subject: [PATCH 056/991] Accepting request 79298 from Base:System - enable pam_systemd module, using pam-config. OBS-URL: https://build.opensuse.org/request/show/79298 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=57 --- systemd.changes | 5 +++++ systemd.spec | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 50126bea..54376ba8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com + +- enable pam_systemd module, using pam-config. + ------------------------------------------------------------------- Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de diff --git a/systemd.spec b/systemd.spec index 899b1da5..f126b5e8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -43,6 +43,7 @@ Requires: udev >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: util-linux >= 2.19 +Requires: pam-config Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 @@ -183,6 +184,7 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se %endif %post +/usr/sbin/pam-config -a --systemd || : /bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : /sbin/ldconfig @@ -205,9 +207,12 @@ fi %postun /sbin/ldconfig -if [ $1 -ge 1 ] ; then +if [ $1 -ge 1 ]; then /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi +if [ $1 -eq 0 ]; then + /usr/sbin/pam-config -d --systemd || : +fi %preun if [ $1 -eq 0 ]; then From 0b609519516ca68e9ae2286d7d4993f16a4cbe2ebdd2dc1528ad771f15d41e2d Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Fri, 19 Aug 2011 10:27:15 +0000 Subject: [PATCH 057/991] Autobuild autoformatter for 79298 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=58 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index f126b5e8..2863345e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 11 +Release: 13 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 11df4c4a7c53a524b75d349dd7a51502494a18fea7967982a4a30935b31997c2 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 25 Aug 2011 08:07:26 +0000 Subject: [PATCH 058/991] Accepting request 79689 from Base:System - Add tty1.patch: ensure passphrase are handled before starting gettty on tty1. - Add inittab generator, creating default.target at startup based on /etc/inittab value. - No longer try to create /etc/systemd/system/default.target at initial package install (bnc#707418) - Fix configuration path used for systemd user manager. - Ensure pam-config output is no display in install script. - Remove buildrequires on vala, no longer needed. - Handle disable_capslock, compose table and kbd_rate - Add rpm macros.systemd file. - Do not disable klogd, it has its own service now. - Handle kexec correctly (bnc#671673). - Disable preload services, they are conflicting with systemd. OBS-URL: https://build.opensuse.org/request/show/79689 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=59 --- ...aplock-and-compose_table-and-kbd_rat.patch | 180 ++++++++++++++++++ ...r-kexec_loaded-when-reboot-is-reques.patch | 82 ++++++++ ...tor-etc-systemd-user-for-user-manage.patch | 25 +++ macros.systemd | 99 ++++++++++ systemd-inittab | 8 + systemd-sysv-convert | 148 ++++++++++++++ systemd.changes | 22 +++ systemd.spec | 46 +++-- tty1.patch | 13 ++ 9 files changed, 610 insertions(+), 13 deletions(-) create mode 100644 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch create mode 100644 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch create mode 100644 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch create mode 100644 macros.systemd create mode 100644 systemd-inittab create mode 100644 systemd-sysv-convert create mode 100644 tty1.patch diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch new file mode 100644 index 00000000..0dc96ceb --- /dev/null +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -0,0 +1,180 @@ +From e183dbe195058ef921c4bd9760dc3631b425dd92 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 18 Aug 2011 18:28:01 +0200 +Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate + +--- + src/vconsole-setup.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 files changed, 90 insertions(+), 3 deletions(-) + +diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c +index 4347a20..28dc1d9 100644 +--- a/src/vconsole-setup.c ++++ b/src/vconsole-setup.c +@@ -39,6 +39,7 @@ + #include "util.h" + #include "log.h" + #include "macro.h" ++#include "strv.h" + + static bool is_vconsole(int fd) { + unsigned char data[1]; +@@ -78,8 +79,8 @@ static int disable_utf8(int fd) { + return r; + } + +-static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { +- const char *args[8]; ++static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, const char *compose_table, pid_t *_pid) { ++ const char *args[1024]; + int i = 0; + pid_t pid; + +@@ -98,6 +99,35 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle, + args[i++] = map; + if (map_toggle) + args[i++] = map_toggle; ++ if (disable_capslock) ++ args[i++] = "disable.capslock"; ++ if (compose_table) { ++ char **strv_compose_table = NULL; ++ ++ strv_compose_table = strv_split(compose_table, WHITESPACE); ++ if (strv_compose_table) { ++ bool compose_loaded = false; ++ bool compose_clear = false; ++ char **name; ++ char *arg; ++ ++ STRV_FOREACH (name, strv_compose_table) { ++ if (streq(*name,"-c") || streq(*name,"clear")) { ++ compose_clear = true; ++ continue; ++ } ++ if (!compose_loaded) { ++ if (compose_clear) ++ args[i++] = "-c"; ++ } ++ asprintf(&arg, "compose.%s",*name); ++ compose_loaded = true; ++ args[i++] = arg; ++ ++ } ++ } ++ strv_free(strv_compose_table); ++ } + args[i++] = NULL; + + if ((pid = fork()) < 0) { +@@ -149,6 +179,42 @@ static int load_font(const char *vc, const char *font, const char *map, const ch + return 0; + } + ++#ifdef TARGET_SUSE ++static int set_kbd_rate(const char *vc, const char *kbd_rate, const char *kbd_delay, pid_t *_pid) { ++ const char *args[7]; ++ int i = 0; ++ pid_t pid; ++ ++ if (isempty(kbd_rate) && isempty(kbd_delay)) { ++ *_pid = 0; ++ return 0; ++ } ++ ++ args[i++] = "/bin/kbdrate"; ++ if (!isempty(kbd_rate)) { ++ args[i++] = "-r"; ++ args[i++] = kbd_rate; ++ } ++ if (!isempty(kbd_delay)) { ++ args[i++] = "-d"; ++ args[i++] = kbd_delay; ++ } ++ args[i++] = "-s"; ++ args[i++] = NULL; ++ ++ if ((pid = fork()) < 0) { ++ log_error("Failed to fork: %m"); ++ return -errno; ++ } else if (pid == 0) { ++ execv(args[0], (char **) args); ++ _exit(EXIT_FAILURE); ++ } ++ ++ *_pid = pid; ++ return 0; ++} ++#endif ++ + int main(int argc, char **argv) { + const char *vc; + char *vc_keymap = NULL; +@@ -156,14 +222,22 @@ int main(int argc, char **argv) { + char *vc_font = NULL; + char *vc_font_map = NULL; + char *vc_font_unimap = NULL; ++ char *vc_compose_table = NULL; + #ifdef TARGET_GENTOO + char *vc_unicode = NULL; + #endif + #ifdef TARGET_MANDRIVA + char *vc_keytable = NULL; + #endif ++#ifdef TARGET_SUSE ++ char *vc_kbd_delay = NULL; ++ char *vc_kbd_rate = NULL; ++ char *vc_kbd_disable_caps_lock = NULL; ++ pid_t kbd_rate_pid = 0; ++#endif + int fd = -1; + bool utf8; ++ bool disable_capslock = false; + int r = EXIT_FAILURE; + pid_t font_pid = 0, keymap_pid = 0; + +@@ -268,6 +342,10 @@ int main(int argc, char **argv) { + #elif defined(TARGET_SUSE) + if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, + "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, + NULL)) < 0) { + + if (r != -ENOENT) +@@ -283,6 +361,7 @@ int main(int argc, char **argv) { + if (r != -ENOENT) + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + } ++ disable_capslock = strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + + #elif defined(TARGET_ARCH) + if ((r = parse_env_file("/etc/rc.conf", NEWLINE, +@@ -439,7 +518,10 @@ int main(int argc, char **argv) { + if (!utf8) + disable_utf8(fd); + +- if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && ++ if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, vc_compose_table, &keymap_pid) >= 0 && ++#ifdef TARGET_SUSE ++ set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && ++#endif + load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) + r = EXIT_SUCCESS; + +@@ -447,6 +529,11 @@ finish: + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); + ++#ifdef TARGET_SUSE ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif ++ + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); + +-- +1.7.3.4 + diff --git a/0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch b/0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch new file mode 100644 index 00000000..cda7b578 --- /dev/null +++ b/0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch @@ -0,0 +1,82 @@ +From b1e304bb59e1a80abacfd6f0377ae14c3c1a10cc Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 22 Aug 2011 14:58:50 +0200 +Subject: [PATCH] initctl: check for kexec_loaded when reboot is requested through initctl + +--- + src/initctl.c | 2 ++ + src/systemctl.c | 12 ------------ + src/util.c | 12 ++++++++++++ + src/util.h | 2 ++ + 4 files changed, 16 insertions(+), 12 deletions(-) + +diff --git a/src/initctl.c b/src/initctl.c +index f36f1cc..eaa717a 100644 +--- a/src/initctl.c ++++ b/src/initctl.c +@@ -93,6 +93,8 @@ static const char *translate_runlevel(int runlevel, bool *isolate) { + for (i = 0; i < ELEMENTSOF(table); i++) + if (table[i].runlevel == runlevel) { + *isolate = table[i].isolate; ++ if (runlevel == '6' && kexec_loaded()) ++ return SPECIAL_KEXEC_TARGET; + return table[i].special; + } + +diff --git a/src/systemctl.c b/src/systemctl.c +index bb998d3..0ff9221 100644 +--- a/src/systemctl.c ++++ b/src/systemctl.c +@@ -4403,18 +4403,6 @@ static int parse_time_spec(const char *t, usec_t *_u) { + return 0; + } + +-static bool kexec_loaded(void) { +- bool loaded = false; +- char *s; +- +- if (read_one_line_file("/sys/kernel/kexec_loaded", &s) >= 0) { +- if (s[0] == '1') +- loaded = true; +- free(s); +- } +- return loaded; +-} +- + static int shutdown_parse_argv(int argc, char *argv[]) { + + enum { +diff --git a/src/util.c b/src/util.c +index 8d54049..247156d 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -5680,3 +5680,15 @@ static const char *const signal_table[] = { + }; + + DEFINE_STRING_TABLE_LOOKUP(signal, int); ++ ++bool kexec_loaded(void) { ++ bool loaded = false; ++ char *s; ++ ++ if (read_one_line_file("/sys/kernel/kexec_loaded", &s) >= 0) { ++ if (s[0] == '1') ++ loaded = true; ++ free(s); ++ } ++ return loaded; ++} +diff --git a/src/util.h b/src/util.h +index 407160d..8b31e5b 100644 +--- a/src/util.h ++++ b/src/util.h +@@ -497,4 +497,6 @@ int signal_from_string_try_harder(const char *s); + extern int saved_argc; + extern char **saved_argv; + ++bool kexec_loaded(void); ++ + #endif +-- +1.7.3.4 + diff --git a/0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch b/0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch new file mode 100644 index 00000000..654485f4 --- /dev/null +++ b/0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch @@ -0,0 +1,25 @@ +From 1cf32c016f97b2c99d7df06ce5d5b858f86c507a Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Wed, 24 Aug 2011 13:39:06 +0200 +Subject: [PATCH] path-lookup: monitor /etc/systemd/user for user manager + +--- + src/path-lookup.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/path-lookup.c b/src/path-lookup.c +index bed9175..5f5ad8c 100644 +--- a/src/path-lookup.c ++++ b/src/path-lookup.c +@@ -209,7 +209,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal + * the arrays in user_dirs() above! */ + "/run/systemd/user", + USER_CONFIG_UNIT_PATH, +- "/etc/systemd/system", ++ "/etc/systemd/user", + "/usr/local/lib/systemd/user", + "/usr/local/share/systemd/user", + USER_DATA_UNIT_PATH, +-- +1.7.3.4 + diff --git a/macros.systemd b/macros.systemd new file mode 100644 index 00000000..363fb9ff --- /dev/null +++ b/macros.systemd @@ -0,0 +1,99 @@ +# RPM macros for packages installing systemd unit files +# +### +# +# When a package install systemd unit files, it should use the following macros: +# +# add %systemd_requires in the specfile +# +# %post +# %service_add demo.service demo1.service +# +# %preun +# %service_del_preun demo.service +# +# %postun +# %service_del_postun demo.service +# +# +# when migrating a package from sysvinit to systemd : +# %triggerun -- package_name < version_where_switch_occured +# %service_migrate_to_systemd [ -l run_level ] service_name.service +# foobar.socket +# +# -l is optional +### + +# This is for /bin/systemctl +%systemd_requires \ +Requires(pre): systemd \ +Requires(post): systemd \ +Requires(preun): systemd \ +Requires(postun): systemd \ + +%_unitdir /lib/systemd/system + +# On install, tell systemd to reload its unit files +%service_add() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -eq 1 ]; then \ +# Initial installation \ + /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +fi + +# On uninstall, disable and stop services +%service_del_preun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -eq 0 ]; then \ +# Package removal, not upgrade \ + /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi + +# On uninstall, tell systemd to reload its unit files +%service_del_postun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +if [ $FIRST_ARG -ge 1 ]; then \ +# Package upgrade, not uninstall \ + /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ +fi + +%service_migrate_to_systemd_pre() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +# disable migration if initial install under systemd \ +if [ $FIRST_ARG -eq 1 ]; then \ + for service in %{?*} ; do \ + touch "/var/lib/systemd/migrated/$service" \ + done \ +else \ + for service in %{?*} ; do \ + if [ ! -e "/var/lib/systemd/migrated/$service" ]; then \ + services_to_migrate="$services_to_migrate $service" \ + fi \ + done \ + if [ -n "$services_to_migrate" ]; then \ + /usr/sbin/systemd-sysv-convert --save $services_to_migrate >/dev/null 2>&1 || : \ + fi \ +fi + +%service_migrate_to_systemd_post() \ +for service in %{?*} ; do \ + if [ ! -e "/var/lib/systemd/migrated/$service" ]; then \ + services_to_migrate="$services_to_migrate $service" \ + touch "/var/lib/systemd/migrated/$service" \ + fi \ +done \ +if [ -n "$services_to_migrate" ]; then \ + /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ + /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +fi \ + +%service_migrate_to_systemd_postun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -eq 0 ]; then \ + for service in %{?*} ; do \ + rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null \ + done \ +fi + diff --git a/systemd-inittab b/systemd-inittab new file mode 100644 index 00000000..7fc3de96 --- /dev/null +++ b/systemd-inittab @@ -0,0 +1,8 @@ +#!/bin/bash +# Try to read default runlevel from the old inittab if it exists +runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) +if [ -n "$runlevel" -a -e /lib/systemd/system/runlevel$runlevel.target ] ; then + /bin/ln -sf /lib/systemd/system/runlevel$runlevel.target $1/default.target 2>&1 && exit 0 +fi +#failsafe +/bin/ln -sf /lib/systemd/system/graphical.target $1/default.target diff --git a/systemd-sysv-convert b/systemd-sysv-convert new file mode 100644 index 00000000..1cf2b025 --- /dev/null +++ b/systemd-sysv-convert @@ -0,0 +1,148 @@ +#!/usr/bin/python +# -*- Mode: Python; python-indent: 8; indent-tabs-mode: t -*- + +import sys, os, argparse, errno + +def find_service(service, runlevel): + priority = -1 + + for l in os.listdir("/etc/rc.d/rc%i.d" % runlevel): + if len(l) < 4: + continue + + if l[0] != 'S' or l[3:] != service: + continue + + p = int(l[1:3]) + + if p >= 0 and p <= 99 and p >= priority: + priority = p; + + return priority + +def lookup_database(services): + try: + database = open("/var/lib/systemd/sysv-convert/database", "r") + except IOError, e: + if e.errno != errno.ENOENT: + raise e + + return {} + + found = {} + k = 0 + + for line in database: + service, r, p = line.strip().split("\t", 3) + k += 1 + + try: + runlevel = int(r) + priority = int(p) + except ValueError, e: + sys.stderr.write("Failed to parse database line %i. Ignoring." % k) + continue + + if runlevel not in (2, 3, 4, 5): + sys.stderr.write("Runlevel out of bounds in database line %i. Ignoring." % k) + continue + + if priority < 0 or priority > 99: + sys.stderr.write("Priority out of bounds in database line %i. Ignoring." % k) + continue + + if service not in services: + continue + + if service not in found: + found[service] = {} + + if runlevel not in found[service] or found[service][runlevel] < priority: + found[service][runlevel] = priority + + return found + +def mkdir_p(path): + try: + os.makedirs(path, 0755) + except OSError, e: + if e.errno != errno.EEXIST: + raise e + +if os.geteuid() != 0: + sys.stderr.write("Need to be root.\n") + sys.exit(1) + +parser = argparse.ArgumentParser(description='Save and Restore SysV Service Runlevel Information') + +parser.add_argument('services', metavar='SERVICE', type=str, nargs='+', + help='Service names') + +parser.add_argument('--save', dest='save', action='store_const', + const=True, default=False, + help='Save SysV runlevel information for one or more services') + +parser.add_argument('--show', dest='show', action='store_const', + const=True, default=False, + help='Show saved SysV runlevel information for one or more services') + +parser.add_argument('--apply', dest='apply', action='store_const', + const=True, default=False, + help='Apply saved SysV runlevel information for one or more services to systemd counterparts') + +a = parser.parse_args() + +if a.save: + for service in a.services: + if not os.access("/etc/init.d/%s" % service, os.F_OK): + sys.stderr.write("SysV service %s does not exist.\n" % service) + sys.exit(1) + + mkdir_p("/var/lib/systemd/sysv-convert") + database = open("/var/lib/systemd/sysv-convert/database", "a") + + for runlevel in (2, 3, 4, 5): + priority = find_service(service, runlevel) + + if priority >= 0: + database.write("%s\t%s\t%s\n" % (service, runlevel, priority)) + +elif a.show: + found = lookup_database(a.services) + + if len(found) <= 0: + sys.stderr.write("No information about passed services found.\n") + sys.exit(1) + + for service, data in found.iteritems(): + for runlevel, priority in data.iteritems(): + sys.stdout.write("SysV service %s enabled in runlevel %s at priority %s\n" % (service, runlevel, priority)) + +elif a.apply: + for service in a.services: + if not os.access("/lib/systemd/system/%s.service" % service, os.F_OK): + sys.stderr.write("systemd service %s.service does not exist.\n" % service) + sys.exit(1) + + found = lookup_database(a.services) + + if len(found) <= 0: + sys.stderr.write("No information about passed services found.\n") + sys.exit(1) + + for service, data in found.iteritems(): + for runlevel in data.iterkeys(): + + sys.stderr.write("ln -sf /lib/systemd/system/%s.service /etc/systemd/system/runlevel%i.target.wants/%s.service\n" % (service, runlevel, service)) + + mkdir_p("/etc/systemd/system/runlevel%i.target.wants" % runlevel) + + try: + os.symlink("/lib/systemd/system/%s.service" % service, + "/etc/systemd/system/runlevel%i.target.wants/%s.service" % (runlevel, service)) + except OSError, e: + if e.errno != errno.EEXIST: + raise e + +else: + parser.print_help() diff --git a/systemd.changes b/systemd.changes index 54376ba8..7c1712a7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com + +- Add tty1.patch: ensure passphrase are handled before starting + gettty on tty1. +- Add inittab generator, creating default.target at startup based + on /etc/inittab value. +- No longer try to create /etc/systemd/system/default.target at + initial package install (bnc#707418) +- Fix configuration path used for systemd user manager. +- Ensure pam-config output is no display in install script. +- Remove buildrequires on vala, no longer needed. + +------------------------------------------------------------------- +Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com + +- Handle disable_capslock, compose table and kbd_rate +- Add rpm macros.systemd file. +- Do not disable klogd, it has its own service now. +- Handle kexec correctly (bnc#671673). +- Disable preload services, they are conflicting with systemd. + ------------------------------------------------------------------- Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 2863345e..a47ee755 100644 --- a/systemd.spec +++ b/systemd.spec @@ -36,7 +36,7 @@ BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel BuildRequires: pkg-config -BuildRequires: gtk2-devel libnotify-devel libxslt-devel vala +BuildRequires: gtk2-devel libnotify-devel libxslt-devel BuildRequires: libselinux-devel libsepol-devel BuildRequires: intltool Requires: udev >= 172 @@ -49,7 +49,14 @@ Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 Source1: systemd-rpmlintrc Source2: localfs.service +Source3: systemd-sysv-convert +Source4: macros.systemd +Source5: systemd-inittab Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch +# handle SUSE specific kbd settings +Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +# don't start getty on tty1 until all password request are done +Patch8: tty1.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -63,6 +70,10 @@ Patch3: systemd-cryptsetup.patch Patch4: systemd-cryptsetup-query.patch # PATCH-FIX-UPSTREAM aj@suse.com -- fix crash on systemctl enable Patch5: fix-crash.patch +# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc671673 -- fix kexec support +Patch7: 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch +# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't look for system manager configuration when running user manager +Patch9: 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -127,6 +138,10 @@ Plymouth integration for systemd %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build autoreconf -fiv @@ -139,14 +154,16 @@ export V=1 --docdir=%{_docdir}/systemd \ --with-rootdir= \ CFLAGS="%{optflags}" -# rebuild due to libnotify 0.7 in factory -touch *.vala */*.vala make %{?_smp_mflags} %install %makeinstall +mkdir -p %{buildroot}%{_sysconfdir}/rpm +install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' -mkdir -p %{buildroot}/sbin +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} +install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert +install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators ln -s ../bin/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt @@ -156,6 +173,7 @@ ln -s ../bin/systemctl %{buildroot}/sbin/telinit ln -s ../bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target +rm -f %{buildroot}/lib/systemd/system/default.target %if !%{build_plymouth} rm -f %{buildroot}/lib/systemd/system/plymouth-*.service rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service @@ -169,7 +187,6 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/crypto.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto-early.service ln -s /dev/null %{buildroot}/lib/systemd/system/earlysyslog.service ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/lib/systemd/system/klog.service ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service ln -s /dev/null %{buildroot}/lib/systemd/system/loadmodules.service install -m644 %{S:2} %{buildroot}/lib/systemd/system/localfs.service @@ -177,6 +194,9 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service ln -s /dev/null %{buildroot}/lib/systemd/system/proc.service ln -s fsck-root.service %{buildroot}/lib/systemd/system/rootfsck.service ln -s /dev/null %{buildroot}/lib/systemd/system/swap.service +ln -s /dev/null %{buildroot}/lib/systemd/system/startpreload.service +ln -s /dev/null %{buildroot}/lib/systemd/system/stoppreload.service +ln -s /dev/null %{buildroot}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/lib/systemd/system/sysctl.service ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.service %if %{build_plymouth} @@ -184,19 +204,14 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se %endif %post -/usr/sbin/pam-config -a --systemd || : +/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : +/sbin/ldconfig /bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : -/sbin/ldconfig # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Try to read default runlevel from the old inittab if it exists - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) - if [ -n "$runlevel" ] ; then - /bin/ln -sf /lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : - fi # Enable these services by default. /bin/systemctl enable \ getty@.service \ @@ -211,7 +226,7 @@ if [ $1 -ge 1 ]; then /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : + /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : fi %preun @@ -240,6 +255,7 @@ rm -rf %{buildroot} /usr/bin/systemd-nspawn /usr/bin/systemd-stdio-bridge /usr/bin/systemd-analyze +%{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* %{_bindir}/systemd-cgls @@ -313,6 +329,10 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/bash_completion.d /etc/bash_completion.d/systemctl-bash-completion.sh +/etc/rpm/macros.systemd +%dir /var/lib/systemd +%dir /var/lib/systemd/sysv-convert +%dir /var/lib/systemd/migrated %files gtk %defattr(-,root,root,-) diff --git a/tty1.patch b/tty1.patch new file mode 100644 index 00000000..938066fd --- /dev/null +++ b/tty1.patch @@ -0,0 +1,13 @@ +Index: systemd-29/units/systemd-ask-password-wall.service.in +=================================================================== +--- systemd-29.orig/units/systemd-ask-password-wall.service.in ++++ systemd-29/units/systemd-ask-password-wall.service.in +@@ -7,7 +7,7 @@ + + [Unit] + Description=Forward Password Requests to Wall +-After=systemd-user-sessions.service ++After=systemd-user-sessions.service getty@tty1.service + + [Service] + ExecStartPre=-@rootbindir@/systemctl stop systemd-ask-password-console.path systemd-ask-password-console.service From f6939f6b90d44f2b5b0d53c4ff5a3bbd9530dfcef405456662550d4d46faba12 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 25 Aug 2011 08:07:35 +0000 Subject: [PATCH 059/991] Autobuild autoformatter for 79689 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=60 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index a47ee755..84dda41e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 13 +Release: 15 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From 64328f27d59110cd4c3062430f7d7d01eac9152862e2e9a178d36a63c87549f0 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 29 Aug 2011 07:14:27 +0000 Subject: [PATCH 060/991] Accepting request 79875 from Base:System - Update compose_table patch to use two separate loadkeys call, compose table overflows otherwise (spotted by Werner Fink). OBS-URL: https://build.opensuse.org/request/show/79875 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=61 --- ...aplock-and-compose_table-and-kbd_rat.patch | 123 +++++++++++------- systemd.changes | 6 + 2 files changed, 80 insertions(+), 49 deletions(-) diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch index 0dc96ceb..cfd57c0a 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -1,14 +1,14 @@ -From e183dbe195058ef921c4bd9760dc3631b425dd92 Mon Sep 17 00:00:00 2001 +From 07f0fb4424105c0e90e2add79efe48109b6c9fd1 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Thu, 18 Aug 2011 18:28:01 +0200 Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate --- - src/vconsole-setup.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 files changed, 90 insertions(+), 3 deletions(-) + src/vconsole-setup.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 121 insertions(+), 3 deletions(-) diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c -index 4347a20..28dc1d9 100644 +index 4347a20..af558ef 100644 --- a/src/vconsole-setup.c +++ b/src/vconsole-setup.c @@ -39,6 +39,7 @@ @@ -25,52 +25,79 @@ index 4347a20..28dc1d9 100644 -static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { - const char *args[8]; -+static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, const char *compose_table, pid_t *_pid) { -+ const char *args[1024]; ++static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, pid_t *_pid) { ++ const char *args[9]; int i = 0; pid_t pid; -@@ -98,6 +99,35 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle, +@@ -98,6 +99,8 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle, args[i++] = map; if (map_toggle) args[i++] = map_toggle; + if (disable_capslock) + args[i++] = "disable.capslock"; -+ if (compose_table) { -+ char **strv_compose_table = NULL; -+ -+ strv_compose_table = strv_split(compose_table, WHITESPACE); -+ if (strv_compose_table) { -+ bool compose_loaded = false; -+ bool compose_clear = false; -+ char **name; -+ char *arg; -+ -+ STRV_FOREACH (name, strv_compose_table) { -+ if (streq(*name,"-c") || streq(*name,"clear")) { -+ compose_clear = true; -+ continue; -+ } -+ if (!compose_loaded) { -+ if (compose_clear) -+ args[i++] = "-c"; -+ } -+ asprintf(&arg, "compose.%s",*name); -+ compose_loaded = true; -+ args[i++] = arg; -+ -+ } -+ } -+ strv_free(strv_compose_table); -+ } args[i++] = NULL; if ((pid = fork()) < 0) { -@@ -149,6 +179,42 @@ static int load_font(const char *vc, const char *font, const char *map, const ch +@@ -149,6 +152,96 @@ static int load_font(const char *vc, const char *font, const char *map, const ch return 0; } +#ifdef TARGET_SUSE ++static int load_compose_table(const char *vc, const char *compose_table, pid_t *_pid) { ++ const char *args[1024]; ++ int i = 0; ++ pid_t pid; ++ char **strv_compose_table = NULL; ++ ++ if (isempty(compose_table)) { ++ /* An empty map means no compose table*/ ++ *_pid = 0; ++ return 0; ++ } ++ ++ args[i++] = KBD_LOADKEYS; ++ args[i++] = "-q"; ++ args[i++] = "-C"; ++ args[i++] = vc; ++ ++ strv_compose_table = strv_split(compose_table, WHITESPACE); ++ if (strv_compose_table) { ++ bool compose_loaded = false; ++ bool compose_clear = false; ++ char **name; ++ char *arg; ++ ++ STRV_FOREACH (name, strv_compose_table) { ++ if (streq(*name,"-c") || streq(*name,"clear")) { ++ compose_clear = true; ++ continue; ++ } ++ if (!compose_loaded) { ++ if (compose_clear) ++ args[i++] = "-c"; ++ } ++ asprintf(&arg, "compose.%s",*name); ++ compose_loaded = true; ++ args[i++] = arg; ++ ++ } ++ strv_free(strv_compose_table); ++ } ++ args[i++] = NULL; ++ ++ if ((pid = fork()) < 0) { ++ log_error("Failed to fork: %m"); ++ return -errno; ++ } else if (pid == 0) { ++ execv(args[0], (char **) args); ++ _exit(EXIT_FAILURE); ++ } ++ ++ *_pid = pid; ++ return 0; ++} ++ +static int set_kbd_rate(const char *vc, const char *kbd_rate, const char *kbd_delay, pid_t *_pid) { + const char *args[7]; + int i = 0; @@ -109,14 +136,7 @@ index 4347a20..28dc1d9 100644 int main(int argc, char **argv) { const char *vc; char *vc_keymap = NULL; -@@ -156,14 +222,22 @@ int main(int argc, char **argv) { - char *vc_font = NULL; - char *vc_font_map = NULL; - char *vc_font_unimap = NULL; -+ char *vc_compose_table = NULL; - #ifdef TARGET_GENTOO - char *vc_unicode = NULL; - #endif +@@ -162,8 +255,16 @@ int main(int argc, char **argv) { #ifdef TARGET_MANDRIVA char *vc_keytable = NULL; #endif @@ -124,7 +144,8 @@ index 4347a20..28dc1d9 100644 + char *vc_kbd_delay = NULL; + char *vc_kbd_rate = NULL; + char *vc_kbd_disable_caps_lock = NULL; -+ pid_t kbd_rate_pid = 0; ++ char *vc_compose_table = NULL; ++ pid_t kbd_rate_pid = 0, compose_table_pid = 0; +#endif int fd = -1; bool utf8; @@ -132,7 +153,7 @@ index 4347a20..28dc1d9 100644 int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -268,6 +342,10 @@ int main(int argc, char **argv) { +@@ -268,6 +369,10 @@ int main(int argc, char **argv) { #elif defined(TARGET_SUSE) if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, "KEYTABLE", &vc_keymap, @@ -143,7 +164,7 @@ index 4347a20..28dc1d9 100644 NULL)) < 0) { if (r != -ENOENT) -@@ -283,6 +361,7 @@ int main(int argc, char **argv) { +@@ -283,6 +388,7 @@ int main(int argc, char **argv) { if (r != -ENOENT) log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); } @@ -151,23 +172,27 @@ index 4347a20..28dc1d9 100644 #elif defined(TARGET_ARCH) if ((r = parse_env_file("/etc/rc.conf", NEWLINE, -@@ -439,7 +518,10 @@ int main(int argc, char **argv) { +@@ -439,7 +545,11 @@ int main(int argc, char **argv) { if (!utf8) disable_utf8(fd); - if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && -+ if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, vc_compose_table, &keymap_pid) >= 0 && ++ if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +#ifdef TARGET_SUSE ++ load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && + set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +#endif load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -447,6 +529,11 @@ finish: +@@ -447,6 +557,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +#ifdef TARGET_SUSE ++ if (compose_table_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); ++ + if (kbd_rate_pid > 0) + wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +#endif diff --git a/systemd.changes b/systemd.changes index 7c1712a7..61dccc8e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com + +- Update compose_table patch to use two separate loadkeys call, + compose table overflows otherwise (spotted by Werner Fink). + ------------------------------------------------------------------- Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com From dbab8eef9fa5654d2fab1f28d886eefed4bf569ddc229546a0ac22353ed351cd Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 29 Aug 2011 07:14:34 +0000 Subject: [PATCH 061/991] Autobuild autoformatter for 79875 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=62 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 84dda41e..f7b95c1b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 33 -Release: 15 +Release: 17 License: GPLv2+ Group: System/Base Summary: A System and Session Manager From c1c37027f1c77aaeaba4b8c2181af6cf538daed41fc18337c041f30167fc6182 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Mon, 5 Sep 2011 16:11:40 +0000 Subject: [PATCH 062/991] Accepting request 80666 from Base:System - Update to version 34: * Bugfixes * optionaly apply cgroup attributes to cgroups systemd creates * honour sticky bit when trimming cgroup trees * improve readahead - Add libacl-devel as BuildRequires (needed for systemd-uaccess) - Add some %{nil} to systemd.macros to fix some build issues. - Fix dbus assertion - move gtk part to its own package, to reduce bootstrapping (bnc#713981). old: openSUSE:Factory/systemd new: Base:System/systemd rev NoneIndex: macros.systemd =================================================================== --- macros.systemd (revision 62) +++ macros.systemd (revision 187) @@ -39,7 +39,8 @@ if [ $FIRST_ARG -eq 1 ]; then \ # Initial installation \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -fi +fi \ +%{nil} # On uninstall, disable and stop services %service_del_preun() \ @@ -48,7 +49,8 @@ # Package removal, not upgrade \ /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ -fi +fi \ +%{nil} # On uninstall, tell systemd to reload its unit files %service_del_postun() \ @@ -57,7 +59,8 @@ if [ $FIRST_ARG -ge 1 ]; then \ # Package upgrade, not uninstall \ /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -fi +fi \ +%{nil} %service_migrate_to_systemd_pre() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ @@ -75,7 +78,8 @@ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --save $services_to_migrate >/dev/null 2>&1 || : \ fi \ -fi +fi \ +%{nil} %service_migrate_to_systemd_post() \ for service in %{?*} ; do \ @@ -88,6 +92,7 @@ /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ fi \ +%{nil} %service_migrate_to_systemd_postun() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ @@ -95,5 +100,6 @@ for service in %{?*} ; do \ rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null \ done \ -fi +fi \ +%{nil} Index: systemd.changes =================================================================== --- systemd.changes (revision 62) +++ systemd.changes (revision 187) @@ -1,4 +1,18 @@ ------------------------------------------------------------------- +Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com + +- Update to version 34: + * Bugfixes + * optionaly apply cgroup attributes to cgroups systemd creates + * honour sticky bit when trimming cgroup trees + * improve readahead +- Add libacl-devel as BuildRequires (needed for systemd-uaccess) +- Add some %{nil} to systemd.macros to fix some build issues. +- Fix dbus assertion +- move gtk part to its own package, to reduce bootstrapping + (bnc#713981). + +------------------------------------------------------------------- Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com - Update compose_table patch to use two separate loadkeys call, Index: systemd.spec =================================================================== --- systemd.spec (revision 62) +++ systemd.spec (revision 187) @@ -21,8 +21,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 33 -Release: 17 +Version: 34 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -32,11 +32,11 @@ BuildRequires: audit-devel BuildRequires: gperf BuildRequires: libcap-devel +BuildRequires: libacl-devel BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel BuildRequires: pkg-config -BuildRequires: gtk2-devel libnotify-devel libxslt-devel BuildRequires: libselinux-devel libsepol-devel BuildRequires: intltool Requires: udev >= 172 @@ -62,18 +62,7 @@ # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM aj@suse.de gperf: Include missing.h -Patch2: gperf-missing.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- accept none option in crypttab -Patch3: systemd-cryptsetup.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't set getty before passphrase is typed -Patch4: systemd-cryptsetup-query.patch -# PATCH-FIX-UPSTREAM aj@suse.com -- fix crash on systemctl enable -Patch5: fix-crash.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc671673 -- fix kexec support -Patch7: 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't look for system manager configuration when running user manager -Patch9: 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch +Patch9: 0001-execute-fix-bus-serialization-for-commands.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -95,15 +84,6 @@ %description devel Development headers and auxiliary files for developing applications for systemd. -%package gtk -License: GPLv2+ -Group: System/Base -Summary: Graphical front-end for systemd -Requires: %{name} = %{version} - -%description gtk -Graphical front-end for systemd system and service manager. - %package sysvinit License: GPLv2+ Group: System/Base @@ -134,12 +114,7 @@ %prep %setup -q %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -153,6 +128,7 @@ --with-distro=suse \ --docdir=%{_docdir}/systemd \ --with-rootdir= \ + --disable-gtk \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -185,6 +161,7 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/clock.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/lib/systemd/system/device-mapper.service ln -s /dev/null %{buildroot}/lib/systemd/system/earlysyslog.service ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service @@ -334,11 +311,6 @@ %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated -%files gtk -%defattr(-,root,root,-) -%{_bindir}/systemadm -%{_bindir}/systemd-gnome-ask-password-agent -%{_mandir}/man1/systemadm.1* %files devel %defattr(-,root,root,-) Index: 0001-execute-fix-bus-serialization-for-commands.patch =================================================================== --- 0001-execute-fix-bus-serialization-for-commands.patch (added) +++ 0001-execute-fix-bus-serialization-for-commands.patch (revision 187) @@ -0,0 +1,44 @@ +From 7daa9e6e29b546275566084512ea4e547bc79b91 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 29 Aug 2011 19:44:52 +0200 +Subject: [PATCH] execute: fix bus serialization for commands + +--- + src/dbus-execute.c | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/dbus-execute.c b/src/dbus-execute.c +index 6ceffc5..201f6b5 100644 +--- a/src/dbus-execute.c ++++ b/src/dbus-execute.c +@@ -308,13 +308,14 @@ int bus_execute_append_command(DBusMessageIter *i, const char *property, void *d + assert(i); + assert(property); + +- if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sasbttuii)", &sub)) ++ if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sasbttttuii)", &sub)) + return -ENOMEM; + + LIST_FOREACH(command, c, c) { + char **l; + uint32_t pid; + int32_t code, status; ++ dbus_bool_t b; + + if (!c->path) + continue; +@@ -332,8 +333,10 @@ int bus_execute_append_command(DBusMessageIter *i, const char *property, void *d + code = (int32_t) c->exec_status.code; + status = (int32_t) c->exec_status.status; + ++ b = !!c->ignore; ++ + if (!dbus_message_iter_close_container(&sub2, &sub3) || +- !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &c->ignore) || ++ !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &b) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.realtime) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.monotonic) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.exit_timestamp.realtime) || +-- +1.7.3.4 + Index: pre_checkin.sh =================================================================== --- pre_checkin.sh (added) +++ pre_checkin.sh (revision 187) @@ -0,0 +1,6 @@ +#!/bin/sh + +VERSION=`sed -e '/^Version:/!d' -e 's/Version: *//' systemd.spec` +RELEASE=`sed -e '/^Release:/!d' -e 's/Release: *//' systemd.spec` +sed -i -e "s,^\(Version:[ tab]*\).*,\1$VERSION," -e "s,^\(Release:[ tab]*\).*,\1$RELEASE," systemd-gtk.spec +cp systemd.changes systemd-gtk.changes Index: systemd-34.tar.bz2 =================================================================== Binary files systemd-34.tar.bz2 (revision 187) added Index: systemd-gtk.changes =================================================================== --- systemd-gtk.changes (added) +++ systemd-gtk.changes (revision 187) @@ -0,0 +1,1640 @@ +------------------------------------------------------------------- +Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com + +- Update to version 34: + * Bugfixes + * optionaly apply cgroup attributes to cgroups systemd creates + * honour sticky bit when trimming cgroup trees + * improve readahead +- Add libacl-devel as BuildRequires (needed for systemd-uaccess) +- Add some %{nil} to systemd.macros to fix some build issues. +- Fix dbus assertion +- move gtk part to its own package, to reduce bootstrapping + (bnc#713981). + +------------------------------------------------------------------- +Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com + +- Update compose_table patch to use two separate loadkeys call, + compose table overflows otherwise (spotted by Werner Fink). + +------------------------------------------------------------------- +Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com + +- Add tty1.patch: ensure passphrase are handled before starting + gettty on tty1. +- Add inittab generator, creating default.target at startup based + on /etc/inittab value. +- No longer try to create /etc/systemd/system/default.target at + initial package install (bnc#707418) +- Fix configuration path used for systemd user manager. +- Ensure pam-config output is no display in install script. +- Remove buildrequires on vala, no longer needed. + +------------------------------------------------------------------- +Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com + +- Handle disable_capslock, compose table and kbd_rate +- Add rpm macros.systemd file. +- Do not disable klogd, it has its own service now. +- Handle kexec correctly (bnc#671673). +- Disable preload services, they are conflicting with systemd. + +------------------------------------------------------------------- +Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com + +- enable pam_systemd module, using pam-config. + +------------------------------------------------------------------- +Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de + +- Fix crash with systemctl enable. + +------------------------------------------------------------------- +Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com + +- Fix localfs.service to no cause cycle and starts it after + local-fs.target. + +------------------------------------------------------------------- +Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com + +- Remove root-fsck.patch, mkinitrd will use the same path as + dracut. +- Add systemd-cryptsetup.patch: don't complain on "none" option in + crypttab. +- Add systemd-cryptsetup-query.patch: block boot until passphrase + is typed. + +------------------------------------------------------------------- +Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com + +- Add root-fsck.patch: do not run fsck on / if it is rw +- Ship a non null localfs.service, fixes static mount points not + being mounted properly. + +------------------------------------------------------------------- +Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de + +- Update to version 33: + * optimizations and bugfixes. + * New PrivateNetwork= service setting which allows you to shut off + networking for a specific service (i.e. all routable network + interfaces will disappear for that service). + * Merged insserv-parsing.patch and bash-completion-restart.patch + patches. + +------------------------------------------------------------------- +Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com + +- Add insserv-parsing.patch: read/parse insserv.conf. +- Add bash-completion-restart.patch: fix restart service list + (bnc#704782). + +------------------------------------------------------------------- +Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de + +- Split up devel package. +- restart logind after upgrade. +- Adjust rpmlintrc for changes. + +------------------------------------------------------------------- +Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de + +- Update to version 32: + * bugfixes + * improve selinux setup + +------------------------------------------------------------------- +Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de + +- Update to version 31: + * rewrite of enable/disable code: New features systemctl --runtime, + systemctl mask, systemctl link and presets. + * sd-daemon is now shared library. + +------------------------------------------------------------------- +Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de + +- Update to version 30: + + Logic from pam_systemd has been moved to new systemd-login. + + VT gettys are autospawn only when needed + + Handle boot.local/halt.local on SUSE distribution + + add support for systemctl --root + +------------------------------------------------------------------- +Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com + +- Make sure to not start kbd initscript, it is handled by systemd + natively. + +------------------------------------------------------------------- +Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com + +- version 29: + + enable chkconfig support in systemctl for openSUSE. + + systemctl: plug a leak upon create_symlink mismatch + + mount /run without MS_NOEXEC + + dbus: fix name of capability property + + systemctl: fix double unref of a dbus message + + cryptsetup-generator: fix /etc/cryptsetup options + + selinux: selinuxfs can be mounted on /sys/fs/selinux + + readahead-common: fix total memory size detection + + systemctl: fix 'is-enabled' for native units under /lib + + systemctl: fix a FILE* leak + + pam-module: add debug= parameter + + remote-fs.target: do not order after network.target +- update tarball url. + +------------------------------------------------------------------- +Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de + +- Use RPM macros instead of $RPM_FOO variables +- Don't require %{version}-%{release} of the base package, + %{version} is sufficient + +------------------------------------------------------------------- +Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - mount /run without MS_NOEXEC + - readahead-common: fix total memory size detection + - enable chkconfig support in systemctl for openSUSE + - selinux: selinuxfs can be mounted on /sys/fs/selinux + - cryptsetup-generator: fix /etc/cryptsetup options + - systemctl: fix double unref of a dbus message +- drop merged chkconfig patch + +------------------------------------------------------------------- +Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com + +- Add sysv chkconfig patch to be able to enable / disable sysv + initscripts with systemctl. +- Ensure plymouth support is buildable conditionnally. + +------------------------------------------------------------------- +Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com + +- version 28 + - drop hwclock-save.service + - fix segfault when a DBus message has no interface + - man: update the list of unit search locations + - readahead-collect: ignore EACCES for fanotify + - rtc in localtime: use settimeofday(NULL, tz) + instead of hwclock(8) + +------------------------------------------------------------------- +Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - fix crash in D-Bus code + +------------------------------------------------------------------- +Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values + - util: use new VT ESC sequence to clear scrollback buffer + - sd-daemon: move _sd_hidden_ from .h to .c file + - missing: add IP_TRANSPARENT (1441 more lines skipped) Index: systemd-gtk.spec =================================================================== --- systemd-gtk.spec (added) +++ systemd-gtk.spec (revision 187) @@ -0,0 +1,83 @@ +# +# spec file for package systemd-gtk +# +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: systemd-gtk +Url: http://www.freedesktop.org/wiki/Software/systemd +Version: 34 +Release: 1 +License: GPLv2+ +Group: System/Base +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: libudev-devel udev +BuildRequires: dbus-1-devel +BuildRequires: audit-devel +BuildRequires: gperf +BuildRequires: libcap-devel +BuildRequires: libacl-devel +BuildRequires: tcpd-devel +BuildRequires: pam-devel +BuildRequires: libcryptsetup-devel +BuildRequires: pkg-config +BuildRequires: libselinux-devel libsepol-devel +BuildRequires: intltool +BuildRequires: gtk2-devel libnotify-devel +Summary: Graphical front-end for systemd +Requires: systemd = %{version} +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.bz2 +Source1: systemd-rpmlintrc + +# Upstream First - Policy: +# Never add any patches to this package without the upstream commit id +# in the patch. Any patches added here without a very good reason to make +# an exception will be silently removed with the next version update. + +%description +Graphical front-end for systemd system and service manager. + +%prep +%setup -q -n systemd-%{version} + +%build +autoreconf -fiv +# prevent pre-generated and distributed files from re-building +find . -name "*.[1-8]" -exec touch '{}' \; +touch src/systemadm.c +export V=1 +%configure \ + --with-distro=suse \ + --docdir=%{_docdir}/systemd \ + --with-rootdir= \ + CFLAGS="%{optflags}" +make %{?_smp_mflags} + +%install +%makeinstall +# remove everything but systemadm and password agent +find %{buildroot} -not -type d -not -name 'systemadm*' -not -name systemd-gnome-ask-password-agent -delete + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%{_bindir}/systemadm +%{_bindir}/systemd-gnome-ask-password-agent +%{_mandir}/man1/systemadm.1* + +%changelog Index: 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch =================================================================== --- 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch (revision 62) +++ 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch (deleted) @@ -1,82 +0,0 @@ -From b1e304bb59e1a80abacfd6f0377ae14c3c1a10cc Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 22 Aug 2011 14:58:50 +0200 -Subject: [PATCH] initctl: check for kexec_loaded when reboot is requested through initctl - ---- - src/initctl.c | 2 ++ - src/systemctl.c | 12 ------------ - src/util.c | 12 ++++++++++++ - src/util.h | 2 ++ - 4 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/src/initctl.c b/src/initctl.c -index f36f1cc..eaa717a 100644 ---- a/src/initctl.c -+++ b/src/initctl.c -@@ -93,6 +93,8 @@ static const char *translate_runlevel(int runlevel, bool *isolate) { - for (i = 0; i < ELEMENTSOF(table); i++) - if (table[i].runlevel == runlevel) { - *isolate = table[i].isolate; -+ if (runlevel == '6' && kexec_loaded()) -+ return SPECIAL_KEXEC_TARGET; - return table[i].special; - } - -diff --git a/src/systemctl.c b/src/systemctl.c -index bb998d3..0ff9221 100644 ---- a/src/systemctl.c -+++ b/src/systemctl.c -@@ -4403,18 +4403,6 @@ static int parse_time_spec(const char *t, usec_t *_u) { - return 0; - } - --static bool kexec_loaded(void) { -- bool loaded = false; -- char *s; -- -- if (read_one_line_file("/sys/kernel/kexec_loaded", &s) >= 0) { -- if (s[0] == '1') -- loaded = true; -- free(s); -- } -- return loaded; --} -- - static int shutdown_parse_argv(int argc, char *argv[]) { - - enum { -diff --git a/src/util.c b/src/util.c -index 8d54049..247156d 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -5680,3 +5680,15 @@ static const char *const signal_table[] = { - }; - - DEFINE_STRING_TABLE_LOOKUP(signal, int); -+ -+bool kexec_loaded(void) { -+ bool loaded = false; -+ char *s; -+ -+ if (read_one_line_file("/sys/kernel/kexec_loaded", &s) >= 0) { -+ if (s[0] == '1') -+ loaded = true; -+ free(s); -+ } -+ return loaded; -+} -diff --git a/src/util.h b/src/util.h -index 407160d..8b31e5b 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -497,4 +497,6 @@ int signal_from_string_try_harder(const char *s); - extern int saved_argc; - extern char **saved_argv; - -+bool kexec_loaded(void); -+ - #endif --- -1.7.3.4 - Index: 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch =================================================================== --- 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch (revision 62) +++ 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch (deleted) @@ -1,25 +0,0 @@ -From 1cf32c016f97b2c99d7df06ce5d5b858f86c507a Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Wed, 24 Aug 2011 13:39:06 +0200 -Subject: [PATCH] path-lookup: monitor /etc/systemd/user for user manager - ---- - src/path-lookup.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/path-lookup.c b/src/path-lookup.c -index bed9175..5f5ad8c 100644 ---- a/src/path-lookup.c -+++ b/src/path-lookup.c -@@ -209,7 +209,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal - * the arrays in user_dirs() above! */ - "/run/systemd/user", - USER_CONFIG_UNIT_PATH, -- "/etc/systemd/system", -+ "/etc/systemd/user", - "/usr/local/lib/systemd/user", - "/usr/local/share/systemd/user", - USER_DATA_UNIT_PATH, --- -1.7.3.4 - Index: fix-crash.patch =================================================================== --- fix-crash.patch (revision 62) +++ fix-crash.patch (deleted) @@ -1,19 +0,0 @@ -commit e191553d1dc80cd6d65d05f0cb29f8967fab6983 -Author: Kay Sievers -Date: Wed Aug 17 19:38:07 2011 +0200 - - convert int to boolean for dbus_bool_t - -diff --git a/src/dbus-manager.c b/src/dbus-manager.c -index ae88895..cfc2afc 100644 ---- a/src/dbus-manager.c -+++ b/src/dbus-manager.c -@@ -444,7 +444,7 @@ static DBusMessage *message_from_file_changes( - if (carries_install_info >= 0) { - dbus_bool_t b; - -- b = carries_install_info; -+ b = !!carries_install_info; - if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &b)) - goto oom; - } Index: gperf-missing.patch =================================================================== --- gperf-missing.patch (revision 62) +++ gperf-missing.patch (deleted) @@ -1,25 +0,0 @@ -From: Thierry Reding -To: systemd-devel@lists.freedesktop.org -Date: Wed, 3 Aug 2011 08:40:27 +0200 -Subject: [systemd-devel] [PATCH] gperf: Include missing.h. - -Older GNU C libraries don't define RLIMIT_RTTIME, so including the -missing.h is required to fix the build. ---- - src/load-fragment-gperf.gperf.m4 | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/src/load-fragment-gperf.gperf.m4 b/src/load-fragment-gperf.gperf.m4 -index 650f444..8e52890 100644 ---- a/src/load-fragment-gperf.gperf.m4 -+++ b/src/load-fragment-gperf.gperf.m4 -@@ -2,6 +2,7 @@ - #include - #include "conf-parser.h" - #include "load-fragment.h" -+#include "missing.h" - %} - struct ConfigPerfItem; - %null_strings --- -1.7.6 Index: systemd-33.tar.bz2 =================================================================== Binary files systemd-33.tar.bz2 (revision 62) deleted Index: systemd-cryptsetup-query.patch =================================================================== --- systemd-cryptsetup-query.patch (revision 62) +++ systemd-cryptsetup-query.patch (deleted) @@ -1,28 +0,0 @@ -From d58446e4b3217f97baca7961154813a563ccdd19 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 4 Aug 2011 16:46:33 +0200 -Subject: [PATCH] cryptsetup-generator: block boot when querying passphrase. - -Ensure we wait for passphrase before starting tty1 or graphical display. -Needed when not using plymouth. ---- - src/cryptsetup-generator.c | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c -index a340218..6f3aa78 100644 ---- a/src/cryptsetup-generator.c -+++ b/src/cryptsetup-generator.c -@@ -112,7 +112,8 @@ static int create_disk( - "DefaultDependencies=no\n" - "BindTo=%s dev-mapper-%%i.device\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" -- "Before=umount.target\n", -+ "Before=umount.target\n" -+ "Before=local-fs.target\n", - d, d); - - if (!nofail) --- -1.7.3.4 - Index: systemd-cryptsetup.patch =================================================================== --- systemd-cryptsetup.patch (revision 62) +++ systemd-cryptsetup.patch (deleted) @@ -1,25 +0,0 @@ -From aa5f34f2109a02db7887c220c5a35b6a8ee3e6c8 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 4 Aug 2011 16:04:43 +0200 -Subject: [PATCH] cryptsetup: accept "none" option - ---- - src/cryptsetup.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/cryptsetup.c b/src/cryptsetup.c -index cf288de..ac7b6d6 100644 ---- a/src/cryptsetup.c -+++ b/src/cryptsetup.c -@@ -110,7 +110,7 @@ static int parse_one_option(const char *option) { - return 0; - } - -- } else -+ } else if (!streq(option, "none")) - log_error("Encountered unknown /etc/crypttab option '%s', ignoring.", option); - - return 0; --- -1.7.3.4 - OBS-URL: https://build.opensuse.org/request/show/80666 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=63 --- ...e-fix-bus-serialization-for-commands.patch | 44 + ...r-kexec_loaded-when-reboot-is-reques.patch | 82 - ...tor-etc-systemd-user-for-user-manage.patch | 25 - fix-crash.patch | 19 - gperf-missing.patch | 25 - macros.systemd | 16 +- pre_checkin.sh | 6 + systemd-33.tar.bz2 | 3 - systemd-34.tar.bz2 | 3 + systemd-cryptsetup-query.patch | 28 - systemd-cryptsetup.patch | 25 - systemd-gtk.changes | 1640 +++++++++++++++++ systemd-gtk.spec | 83 + systemd.changes | 14 + systemd.spec | 40 +- 15 files changed, 1807 insertions(+), 246 deletions(-) create mode 100644 0001-execute-fix-bus-serialization-for-commands.patch delete mode 100644 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch delete mode 100644 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch delete mode 100644 fix-crash.patch delete mode 100644 gperf-missing.patch create mode 100644 pre_checkin.sh delete mode 100644 systemd-33.tar.bz2 create mode 100644 systemd-34.tar.bz2 delete mode 100644 systemd-cryptsetup-query.patch delete mode 100644 systemd-cryptsetup.patch create mode 100644 systemd-gtk.changes create mode 100644 systemd-gtk.spec diff --git a/0001-execute-fix-bus-serialization-for-commands.patch b/0001-execute-fix-bus-serialization-for-commands.patch new file mode 100644 index 00000000..5389a3bd --- /dev/null +++ b/0001-execute-fix-bus-serialization-for-commands.patch @@ -0,0 +1,44 @@ +From 7daa9e6e29b546275566084512ea4e547bc79b91 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 29 Aug 2011 19:44:52 +0200 +Subject: [PATCH] execute: fix bus serialization for commands + +--- + src/dbus-execute.c | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/dbus-execute.c b/src/dbus-execute.c +index 6ceffc5..201f6b5 100644 +--- a/src/dbus-execute.c ++++ b/src/dbus-execute.c +@@ -308,13 +308,14 @@ int bus_execute_append_command(DBusMessageIter *i, const char *property, void *d + assert(i); + assert(property); + +- if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sasbttuii)", &sub)) ++ if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sasbttttuii)", &sub)) + return -ENOMEM; + + LIST_FOREACH(command, c, c) { + char **l; + uint32_t pid; + int32_t code, status; ++ dbus_bool_t b; + + if (!c->path) + continue; +@@ -332,8 +333,10 @@ int bus_execute_append_command(DBusMessageIter *i, const char *property, void *d + code = (int32_t) c->exec_status.code; + status = (int32_t) c->exec_status.status; + ++ b = !!c->ignore; ++ + if (!dbus_message_iter_close_container(&sub2, &sub3) || +- !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &c->ignore) || ++ !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &b) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.realtime) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.monotonic) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.exit_timestamp.realtime) || +-- +1.7.3.4 + diff --git a/0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch b/0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch deleted file mode 100644 index cda7b578..00000000 --- a/0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch +++ /dev/null @@ -1,82 +0,0 @@ -From b1e304bb59e1a80abacfd6f0377ae14c3c1a10cc Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 22 Aug 2011 14:58:50 +0200 -Subject: [PATCH] initctl: check for kexec_loaded when reboot is requested through initctl - ---- - src/initctl.c | 2 ++ - src/systemctl.c | 12 ------------ - src/util.c | 12 ++++++++++++ - src/util.h | 2 ++ - 4 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/src/initctl.c b/src/initctl.c -index f36f1cc..eaa717a 100644 ---- a/src/initctl.c -+++ b/src/initctl.c -@@ -93,6 +93,8 @@ static const char *translate_runlevel(int runlevel, bool *isolate) { - for (i = 0; i < ELEMENTSOF(table); i++) - if (table[i].runlevel == runlevel) { - *isolate = table[i].isolate; -+ if (runlevel == '6' && kexec_loaded()) -+ return SPECIAL_KEXEC_TARGET; - return table[i].special; - } - -diff --git a/src/systemctl.c b/src/systemctl.c -index bb998d3..0ff9221 100644 ---- a/src/systemctl.c -+++ b/src/systemctl.c -@@ -4403,18 +4403,6 @@ static int parse_time_spec(const char *t, usec_t *_u) { - return 0; - } - --static bool kexec_loaded(void) { -- bool loaded = false; -- char *s; -- -- if (read_one_line_file("/sys/kernel/kexec_loaded", &s) >= 0) { -- if (s[0] == '1') -- loaded = true; -- free(s); -- } -- return loaded; --} -- - static int shutdown_parse_argv(int argc, char *argv[]) { - - enum { -diff --git a/src/util.c b/src/util.c -index 8d54049..247156d 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -5680,3 +5680,15 @@ static const char *const signal_table[] = { - }; - - DEFINE_STRING_TABLE_LOOKUP(signal, int); -+ -+bool kexec_loaded(void) { -+ bool loaded = false; -+ char *s; -+ -+ if (read_one_line_file("/sys/kernel/kexec_loaded", &s) >= 0) { -+ if (s[0] == '1') -+ loaded = true; -+ free(s); -+ } -+ return loaded; -+} -diff --git a/src/util.h b/src/util.h -index 407160d..8b31e5b 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -497,4 +497,6 @@ int signal_from_string_try_harder(const char *s); - extern int saved_argc; - extern char **saved_argv; - -+bool kexec_loaded(void); -+ - #endif --- -1.7.3.4 - diff --git a/0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch b/0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch deleted file mode 100644 index 654485f4..00000000 --- a/0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1cf32c016f97b2c99d7df06ce5d5b858f86c507a Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Wed, 24 Aug 2011 13:39:06 +0200 -Subject: [PATCH] path-lookup: monitor /etc/systemd/user for user manager - ---- - src/path-lookup.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/path-lookup.c b/src/path-lookup.c -index bed9175..5f5ad8c 100644 ---- a/src/path-lookup.c -+++ b/src/path-lookup.c -@@ -209,7 +209,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal - * the arrays in user_dirs() above! */ - "/run/systemd/user", - USER_CONFIG_UNIT_PATH, -- "/etc/systemd/system", -+ "/etc/systemd/user", - "/usr/local/lib/systemd/user", - "/usr/local/share/systemd/user", - USER_DATA_UNIT_PATH, --- -1.7.3.4 - diff --git a/fix-crash.patch b/fix-crash.patch deleted file mode 100644 index 76ee6041..00000000 --- a/fix-crash.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit e191553d1dc80cd6d65d05f0cb29f8967fab6983 -Author: Kay Sievers -Date: Wed Aug 17 19:38:07 2011 +0200 - - convert int to boolean for dbus_bool_t - -diff --git a/src/dbus-manager.c b/src/dbus-manager.c -index ae88895..cfc2afc 100644 ---- a/src/dbus-manager.c -+++ b/src/dbus-manager.c -@@ -444,7 +444,7 @@ static DBusMessage *message_from_file_changes( - if (carries_install_info >= 0) { - dbus_bool_t b; - -- b = carries_install_info; -+ b = !!carries_install_info; - if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &b)) - goto oom; - } diff --git a/gperf-missing.patch b/gperf-missing.patch deleted file mode 100644 index 49eb98b5..00000000 --- a/gperf-missing.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Thierry Reding -To: systemd-devel@lists.freedesktop.org -Date: Wed, 3 Aug 2011 08:40:27 +0200 -Subject: [systemd-devel] [PATCH] gperf: Include missing.h. - -Older GNU C libraries don't define RLIMIT_RTTIME, so including the -missing.h is required to fix the build. ---- - src/load-fragment-gperf.gperf.m4 | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/src/load-fragment-gperf.gperf.m4 b/src/load-fragment-gperf.gperf.m4 -index 650f444..8e52890 100644 ---- a/src/load-fragment-gperf.gperf.m4 -+++ b/src/load-fragment-gperf.gperf.m4 -@@ -2,6 +2,7 @@ - #include - #include "conf-parser.h" - #include "load-fragment.h" -+#include "missing.h" - %} - struct ConfigPerfItem; - %null_strings --- -1.7.6 diff --git a/macros.systemd b/macros.systemd index 363fb9ff..59a96433 100644 --- a/macros.systemd +++ b/macros.systemd @@ -39,7 +39,8 @@ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ if [ $FIRST_ARG -eq 1 ]; then \ # Initial installation \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -fi +fi \ +%{nil} # On uninstall, disable and stop services %service_del_preun() \ @@ -48,7 +49,8 @@ if [ $FIRST_ARG -eq 0 ]; then \ # Package removal, not upgrade \ /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ -fi +fi \ +%{nil} # On uninstall, tell systemd to reload its unit files %service_del_postun() \ @@ -57,7 +59,8 @@ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ if [ $FIRST_ARG -ge 1 ]; then \ # Package upgrade, not uninstall \ /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -fi +fi \ +%{nil} %service_migrate_to_systemd_pre() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ @@ -75,7 +78,8 @@ else \ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --save $services_to_migrate >/dev/null 2>&1 || : \ fi \ -fi +fi \ +%{nil} %service_migrate_to_systemd_post() \ for service in %{?*} ; do \ @@ -88,6 +92,7 @@ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ fi \ +%{nil} %service_migrate_to_systemd_postun() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ @@ -95,5 +100,6 @@ if [ $FIRST_ARG -eq 0 ]; then \ for service in %{?*} ; do \ rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null \ done \ -fi +fi \ +%{nil} diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 00000000..3f06f653 --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +VERSION=`sed -e '/^Version:/!d' -e 's/Version: *//' systemd.spec` +RELEASE=`sed -e '/^Release:/!d' -e 's/Release: *//' systemd.spec` +sed -i -e "s,^\(Version:[ tab]*\).*,\1$VERSION," -e "s,^\(Release:[ tab]*\).*,\1$RELEASE," systemd-gtk.spec +cp systemd.changes systemd-gtk.changes diff --git a/systemd-33.tar.bz2 b/systemd-33.tar.bz2 deleted file mode 100644 index e014b2bd..00000000 --- a/systemd-33.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0de8b842841859b329dec26ecb3d7c10f6616ef80a074192800315893e3d5c3d -size 879459 diff --git a/systemd-34.tar.bz2 b/systemd-34.tar.bz2 new file mode 100644 index 00000000..75e28471 --- /dev/null +++ b/systemd-34.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046b9f23a3e24f481877fdb552638c61b558c7f306cbbec137204cc4e074e614 +size 899705 diff --git a/systemd-cryptsetup-query.patch b/systemd-cryptsetup-query.patch deleted file mode 100644 index 00f60c87..00000000 --- a/systemd-cryptsetup-query.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d58446e4b3217f97baca7961154813a563ccdd19 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 4 Aug 2011 16:46:33 +0200 -Subject: [PATCH] cryptsetup-generator: block boot when querying passphrase. - -Ensure we wait for passphrase before starting tty1 or graphical display. -Needed when not using plymouth. ---- - src/cryptsetup-generator.c | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c -index a340218..6f3aa78 100644 ---- a/src/cryptsetup-generator.c -+++ b/src/cryptsetup-generator.c -@@ -112,7 +112,8 @@ static int create_disk( - "DefaultDependencies=no\n" - "BindTo=%s dev-mapper-%%i.device\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" -- "Before=umount.target\n", -+ "Before=umount.target\n" -+ "Before=local-fs.target\n", - d, d); - - if (!nofail) --- -1.7.3.4 - diff --git a/systemd-cryptsetup.patch b/systemd-cryptsetup.patch deleted file mode 100644 index 7e02d279..00000000 --- a/systemd-cryptsetup.patch +++ /dev/null @@ -1,25 +0,0 @@ -From aa5f34f2109a02db7887c220c5a35b6a8ee3e6c8 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 4 Aug 2011 16:04:43 +0200 -Subject: [PATCH] cryptsetup: accept "none" option - ---- - src/cryptsetup.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/cryptsetup.c b/src/cryptsetup.c -index cf288de..ac7b6d6 100644 ---- a/src/cryptsetup.c -+++ b/src/cryptsetup.c -@@ -110,7 +110,7 @@ static int parse_one_option(const char *option) { - return 0; - } - -- } else -+ } else if (!streq(option, "none")) - log_error("Encountered unknown /etc/crypttab option '%s', ignoring.", option); - - return 0; --- -1.7.3.4 - diff --git a/systemd-gtk.changes b/systemd-gtk.changes new file mode 100644 index 00000000..59ee88b4 --- /dev/null +++ b/systemd-gtk.changes @@ -0,0 +1,1640 @@ +------------------------------------------------------------------- +Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com + +- Update to version 34: + * Bugfixes + * optionaly apply cgroup attributes to cgroups systemd creates + * honour sticky bit when trimming cgroup trees + * improve readahead +- Add libacl-devel as BuildRequires (needed for systemd-uaccess) +- Add some %{nil} to systemd.macros to fix some build issues. +- Fix dbus assertion +- move gtk part to its own package, to reduce bootstrapping + (bnc#713981). + +------------------------------------------------------------------- +Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com + +- Update compose_table patch to use two separate loadkeys call, + compose table overflows otherwise (spotted by Werner Fink). + +------------------------------------------------------------------- +Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com + +- Add tty1.patch: ensure passphrase are handled before starting + gettty on tty1. +- Add inittab generator, creating default.target at startup based + on /etc/inittab value. +- No longer try to create /etc/systemd/system/default.target at + initial package install (bnc#707418) +- Fix configuration path used for systemd user manager. +- Ensure pam-config output is no display in install script. +- Remove buildrequires on vala, no longer needed. + +------------------------------------------------------------------- +Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com + +- Handle disable_capslock, compose table and kbd_rate +- Add rpm macros.systemd file. +- Do not disable klogd, it has its own service now. +- Handle kexec correctly (bnc#671673). +- Disable preload services, they are conflicting with systemd. + +------------------------------------------------------------------- +Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com + +- enable pam_systemd module, using pam-config. + +------------------------------------------------------------------- +Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de + +- Fix crash with systemctl enable. + +------------------------------------------------------------------- +Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com + +- Fix localfs.service to no cause cycle and starts it after + local-fs.target. + +------------------------------------------------------------------- +Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com + +- Remove root-fsck.patch, mkinitrd will use the same path as + dracut. +- Add systemd-cryptsetup.patch: don't complain on "none" option in + crypttab. +- Add systemd-cryptsetup-query.patch: block boot until passphrase + is typed. + +------------------------------------------------------------------- +Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com + +- Add root-fsck.patch: do not run fsck on / if it is rw +- Ship a non null localfs.service, fixes static mount points not + being mounted properly. + +------------------------------------------------------------------- +Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de + +- Update to version 33: + * optimizations and bugfixes. + * New PrivateNetwork= service setting which allows you to shut off + networking for a specific service (i.e. all routable network + interfaces will disappear for that service). + * Merged insserv-parsing.patch and bash-completion-restart.patch + patches. + +------------------------------------------------------------------- +Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com + +- Add insserv-parsing.patch: read/parse insserv.conf. +- Add bash-completion-restart.patch: fix restart service list + (bnc#704782). + +------------------------------------------------------------------- +Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de + +- Split up devel package. +- restart logind after upgrade. +- Adjust rpmlintrc for changes. + +------------------------------------------------------------------- +Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de + +- Update to version 32: + * bugfixes + * improve selinux setup + +------------------------------------------------------------------- +Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de + +- Update to version 31: + * rewrite of enable/disable code: New features systemctl --runtime, + systemctl mask, systemctl link and presets. + * sd-daemon is now shared library. + +------------------------------------------------------------------- +Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de + +- Update to version 30: + + Logic from pam_systemd has been moved to new systemd-login. + + VT gettys are autospawn only when needed + + Handle boot.local/halt.local on SUSE distribution + + add support for systemctl --root + +------------------------------------------------------------------- +Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com + +- Make sure to not start kbd initscript, it is handled by systemd + natively. + +------------------------------------------------------------------- +Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com + +- version 29: + + enable chkconfig support in systemctl for openSUSE. + + systemctl: plug a leak upon create_symlink mismatch + + mount /run without MS_NOEXEC + + dbus: fix name of capability property + + systemctl: fix double unref of a dbus message + + cryptsetup-generator: fix /etc/cryptsetup options + + selinux: selinuxfs can be mounted on /sys/fs/selinux + + readahead-common: fix total memory size detection + + systemctl: fix 'is-enabled' for native units under /lib + + systemctl: fix a FILE* leak + + pam-module: add debug= parameter + + remote-fs.target: do not order after network.target +- update tarball url. + +------------------------------------------------------------------- +Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de + +- Use RPM macros instead of $RPM_FOO variables +- Don't require %{version}-%{release} of the base package, + %{version} is sufficient + +------------------------------------------------------------------- +Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - mount /run without MS_NOEXEC + - readahead-common: fix total memory size detection + - enable chkconfig support in systemctl for openSUSE + - selinux: selinuxfs can be mounted on /sys/fs/selinux + - cryptsetup-generator: fix /etc/cryptsetup options + - systemctl: fix double unref of a dbus message +- drop merged chkconfig patch + +------------------------------------------------------------------- +Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com + +- Add sysv chkconfig patch to be able to enable / disable sysv + initscripts with systemctl. +- Ensure plymouth support is buildable conditionnally. + +------------------------------------------------------------------- +Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com + +- version 28 + - drop hwclock-save.service + - fix segfault when a DBus message has no interface + - man: update the list of unit search locations + - readahead-collect: ignore EACCES for fanotify + - rtc in localtime: use settimeofday(NULL, tz) + instead of hwclock(8) + +------------------------------------------------------------------- +Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - fix crash in D-Bus code + +------------------------------------------------------------------- +Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values + - util: use new VT ESC sequence to clear scrollback buffer + - sd-daemon: move _sd_hidden_ from .h to .c file + - missing: add IP_TRANSPARENT + +------------------------------------------------------------------- +Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com + +- version 27 + - util: use open_terminal() in chvt() too + - socket: expose SO_BROADCAST + - git: add .mailmap + - exec: expose tty reset options in dbus introspection data + - socket: expose IP_TRANSPARENT + - exec: hangup/reset/deallocate VTs in gettys + - socket: use 666 socket mode by default since neither fifos, + nor sockets, nor mqueues need to be executable + - socket: add POSIX mqueue support + - README: document relation to nss-myhostname + - hostnamed: check that nss-myhostname is installed + +------------------------------------------------------------------- +Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - sysctl: apply /etc/sysctl.conf last + - systemd-analyze: print hostname, kernelversion and arch at + the top of the plot + - pam: downgrade a few log msgs + - hostnamed: SetPrettyHostname() should check PK action + org.freedesktop.hostname1.set-static-hostname + - user-sessions: ignore EROFS when unlinking /etc/nologin if + the file doesn't exist anyway + - unit: make ignoring in snapshots a per unit property, + instead of a per unit type property + - vconsole: use open_terminal() instead of open() + - units: enable automount units only if the kernel supports them + +------------------------------------------------------------------- +Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org + +- remove policy filter + +------------------------------------------------------------------- +Thu May 5 08:59:46 CEST 2011 - meissner@suse.de + +- add missing buildrequires dbus-1-devel, vala, libxslt-devel +- touch vala files for rebuilding to unbreak Factory + +------------------------------------------------------------------- +Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com + +- also delete plymouth files + +------------------------------------------------------------------- +Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com + +- disable plymouth sub-package until plymouth gets into Factory + +------------------------------------------------------------------- +Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - binfmt, modules-load, sysctl, tmpfiles: add missing + ConditionDirectoryNotEmpty= + - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib + and where appropriate /lib directories + +------------------------------------------------------------------- +Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com + +- version 26 + - plymouth: introduce plymouth.enable=0 kernel command line + - util: don't AND cx with cx + - man: typo in sd_daemon reference + - util: conf_files_list() return list as parameter + - dbus: make daemon reexecution synchronous + +------------------------------------------------------------------- +Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - service: properly notice when services with a main process + that isn't a child of init die + - unit: fix assert when trying to load unit instances for + uninstanciable types + - def: lower default timeout to 90s + - manager: fix serialization counter + +------------------------------------------------------------------- +Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't hit assert when dumping properties + - cryptsetup: fix keyfile size option processing + - socket: improve warning message when we get POLLHUP + - mount: failure to mount cgroup hierarchies should not be fatal + - configure: add AC_SYS_LARGEFILE + +------------------------------------------------------------------- +Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run + - sysctl.d, binfmt.d, modules-load.d: switch to stacked config + dirs in /lib, /etc, /run + - manager: mkdir /run/systemd/system when starting up + - man: Spelling fixes + +------------------------------------------------------------------- +Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com + +- version 25 + - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs + and /proc/fs/nfsd. + - socket: support ListeSpecial= sockets + - vconsole: don't set console font/keymap if settings are empty + - nspawn: don't fail when we receive SIGCHLD + - cgroup: don't accidentaly trim on reload + - units: set capability bounding set for syslog services + - socket: log more information about invalid poll events + - man: fix specification of default timeouts + - mount,crypto: rework meaning of noauto/nofail + - fsck: don't fsck against basic.target in order to properly + allow automount /home + - manager: when running in test mode, do not write generated + unit files to /run/systemd/generator + - mount: properly parse timeouts options in the middle of + the string + - hostnamed: drop all caps but CAP_SYS_ADMIN + - execute: when we run as PID 1 the kernel doesn't give us + CAP_SETPCAP by default. Get that temporarily when dropping + capabilities for good + - mount: make device timeout configurable + - cryptsetup: do not order crypto DM devices against the + cryptsetup service + - socket: reuse existing FIFOs + - socket: guarantee order in which sockets are passed to be + the one of the configuration file + - systemctl: always consider unit files with no + [Install] section but stored in /lib enabled + - job: also print status messages when we successfully started + a unit + - hostnamed: add reference to SMBIOS specs + - man: runlevel 5 is usually more comprehensive, so use it + instead of 3 to detect whether a sysv service is enabled + - polkit: follow the usual syntax for polkit actions + - hostnamed: introduce systemd-hostnamed + - units: order quotacheck after remount-rootfs + - hostname: split out hostname validation into util.c + - dbus: split out object management code into dbus-common, + and simplify it + - strv: properly override settings in env_append() + - strv: detect non-assignments in env blocks properly in + env_append() + - strv: handle empty lists in strv_copy() properly + - util: truncate newline inside of read_one_line_file() + - util: modernize get_parent_of_pid() a bit + - crypto: let the cryptsetup binary handles its own + configurable timeouts + - logger,initctl: use global exit timeout + - ask-password: use default timeout + - manager: drop all pending jobs when isolating + - manager: introduce IgnoreOnIsolate flag so that we can keep + systemd-logger around when isolating + - units: never pull in sysinit from utmp, so that we can + shutdown from emergency mode without pulling in sysinit + - manager: downgrade a few log messages + - units: require syslog.socket from the logger because we + simply fail if we don't have it + - logger: adjust socket description to match service + - units: set stdout of kmsg syslogd to /dev/null + - units: add --no-block when starting normal service after + shell exited + - ask-password: use kill(PID, 0) before querying a password + - ask-password: support passwords without timeouts + - ask-password: always send final NUL char + - ask-password: properly accept empty passwords from agent + - unit: skip default cgroup setup if we have no hierarchy + - units: isolate emergency.target instead of emergency.service + when we fail to mount all file systems + - mount: don't pull in stdio logger for root mount unit + - cgroup: be nice to Ingo Molnar + - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL + - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL + - socket: try creating a socket under our own identity if we + have no perms to consult the selinux database + - socket: fix check for SEQPACKET + - execute: don't fail if we cannot fix OOM in a container + - unit: fix dump output + - socket: be a bit more verbose when refusing to start a + socket unit + - socket: support netlink sockets + - local-fs: invoke emergency.service mounting at boot fails + - path: optionally, create watched directories in .path units + - tmpfiles: don't warn if two identical lines are configured + - man: add man page for ask-password + - dbus: expose monotonic timestamps on the bus + - manager: no need to use randomized generator dir when running + as system manager + - don't make up buffer sizes, use standard LINE_MAX instead + - unit: disallow configuration of more than one on_failure + dependencies if OnFailureIsolate= is on + - unit: pull in logger unit only when running in system mode + - manager: serialize/deserialize max job id and /usr taint flag + - manager: don't garbage collect jobs when isolating, to change + global state + - unit: introduce OnFailureIsolate= + - mount: relabel both before and after a mount, just in case + - cmdline: we actually want to parse the kernel cmdline in VMs, + just not in containers + - units: rename rtc-set.target to time-sync.target and pull it + in by hwclock-load.service + - job: fix deserialization of jobs: do not ignore ordering + - systemctl: properly parse JobNew signals + - service: fix units with more than one socket + - systemctl: make most operations NOPs in a chroot + - manager: don't show PID for incoming signals if it is 0 + - man: fix description of systemctl reload-or-try-restart + - mount: block creation of mount units for API file systems + - units: call the logger a bridge too + - build-sys: always place user units in /usr/lib/systemd + - pkgconfig: update .pc file accordingly + - lookup: always also look into /usr/lib for units + - exec: support unlimited resources + - selinux: relabel /run the same way as /dev after loading + the policy since they both come pre-filled and unlabelled + - manager: fd must be int, not char + - change remaining /var/run to /run + - units: move user units from /usr/share to /usr/lib since + they might be arch-dependent + - man: document /etc/sysctl.d/ + - binfmt: add binfmt tool to set up binfmt_misc at boot + - tmpfiles: create leading directories for d/D instructions + - condition: add ConditionSecurity + - load-fragment: unify config_parse_condition_{kernel, virt} + - condition: fix dumping of conditions + - initctl: /dev/initctl is a named pipe, not a socket + - kmsg-syslogd: pass facility value into kmsg + - move /var/lock to HAVE_SYSV_COMPAT + - tmpfiles: split off rules for legacy systems into legacy.conf + - general: replace a few uses of /var/run by /run + - tmpfiles: enforce new /var/lock semantics + - man: document ConditionPathIsDirectory= + - mount: also relabel pre-mounted API dirs + - log: don't strip facility when writing to kmsg + - build-sys: create a number of drop-in config dirs + - random: do not print warning if random seed doesn't exist + - plymouth: use PID file to detect whether ply is running + - build-sys: install systemd-analyze by default + - analyze: improve output + - analyze: add plotter + - unit: when deserializing do reconnect to dbus/syslog when + they show up + - analyze: beautify output a bit + - add systemd-analyze tool + - unit: don't override timestamps due to state changes when + deserializing + - plymouth: don't explicitly enable status message when + plymouth is up + - status: show status messages unconditionally if plymouth + is around + - taint: add missing cgroups taint flag + - locale: don't access misinitialized variable + - quota: do not pull in quota tools for mounts that do not + originate in neither /etc/fstab nor fragment files + - manager: fix taint check for /usr + - unit: never apply /etc/rcN.d/ priority to native services + - unit: fix parsing of condition-result + - unit: don't complain about failed units when deserializing + - exec: drop process group kill mode since it has little use + and confuses the user + - cgroup: explain when we cannot initialize the cgroup stuff + - systemctl: don't truncate description when using pager + - ask-password: also accept Backspace as first keypress as + silent mode switch + - unit: when deserializing jobs, don't pull in dependencies + - locale: fix LC_MESSAGES variable name + - plymouth: Remove the calls to plymouth message + - udev: systemd-tag all ttys + - tmpfiles fix /run/lock permissions + - ask-password: use TAB to disable asterisk password echo + - execute: socket isn't abstract anymore + - use /run instead of /dev/.run + - man: explain a couple of default dependencies + - mount: pull in quota services from local mountpoints with + usr/grpquota options + - service: pull in sysv facility targets from the sysv units, + not the other way round + - units: pull in syslog.target from syslog.socket + - units: don't ever pull in SysV targets from other SysV + targets + - units: document that some targets exists only for compat + with SysV + - man: document pidns containers + - units: deemphesize Names= settings, and explain why nobody + whould use them + - units: on mandriva/fedora create single.service alias via + symlink, not Names= + - units: get rid of runlevel Names=, the symlinks in + /lib/systemd/system are much more useful + - rework syslog detection so that we need no compile-time + option what the name of the syslog implementation is + - man: document .requires/ directories + - special: get rid of dbus.target + - exec: properly apply capability bounding set, add inverted + bounding sets + - dbus: add service D-Bus property "Sockets" + - dbus: consolidate service SysV conditionals + - unit: serialize condition test results + - def: centralize definition of default timeout in one place + - chkconfig: check against runlevel 5 instead of 3, since it is + a superset of the latter + - systemctl: accept condstop as alias for stop + - dbus: allow LoadUnit to unprivileged users + - umount: make sure skip_ro is always correctly initialized +- create /run (link it to /var/run) +- refresh splash password patch +- conflict with old mkinitrd version (we need /run) +- conflict with old udev (we need /run) + +------------------------------------------------------------------- +Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com + +- new snapshot + - man: fix systemctl try-restart description + - Add Frugalware display-manager service + - main: revert recognition of "b" argument + - main: interpret all argv[] arguments unconditionally when + run in a container + - loopback: downgrade an error to warning + - nspawn: bind mount /etc/localtime + - nspawn: make tty code more robust against closed/reopened + /dev/console + - util: make touched files non-writable by default + - nspawn: allocate a new pty instead of passing ours through + to avoid terminal settings chaos + - main: parse the whole arv[] as kernel command line + - main: check if we have a valid PID before getting the name + - ask-password: reset signal mask after we are done + - cgroup: don't recheck all the time whether the systemd + hierarchy is mounted, to make strace outputs nicer and save + a few stat()s + - man: document systemd-nspawn + - cgls: don't strip user processes and kernel threads from + default output + - umount: don't try to remount bind mounts ro during shutdown + - getty: move automatic serial getty logic into generator + - container: skip a few things when we are run in a container + such as accessing /proc/cmdline + - cgls: by default start with group of PID 1 + - pam: determine user cgroup tree from cgroup of PID 1 + - nspawn: move container into its own name=systemd cgroup + - manager: don't show kernel boot-up time for containers + - manager: show who killed us + - units: add console-shell.service which can be used insted of + the gettys to get a shell on /dev/console + +------------------------------------------------------------------- +Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com + +- new snapshot + - build-sys: move remaining tools from sbin/ to bin/ since they + might eventually be useful for user execution + - hostname: don't override the hostname with localhost if it + is already set and /etc/hostname unset + - audit: give up sending auditing messages when it failed due + to EPERM + - nspawn: don't require selinux on if it is compiled in + - main: remove AF_UNIX sockets before binding + - shutdown: print a nice message when terminating a container + - nspawn: mount /selinux if needed + - shutdown: just call exit() if we are in a container + - umount: assume that a non-existing /dev/loop device means it + is already detached + - socket: use 777 as default mode for sockets + - main: log to the console in a container + - main: don't parse /proc/cmdline in containers + - util: add detect_container() + - nspawn: reset environment and load login shell + - core: move abstract namespace sockets to /dev/.run + - nspawn: add simple chroot(1) like tool to execute commands + in a namespace container + - util: return exit status in wait_for_terminate_and_warn() + - util: properly identify pty devices by their major + +------------------------------------------------------------------- +Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com + +- new snapshot + - polkit: autogenerate polkit policy with correct paths + - systemctl: support remote and privileged systemctl access + via SSH and pkexec + - gnome-ask-password-agent: fix path to watch + +------------------------------------------------------------------- +Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com + +- fix broken sysctl.service linking + +------------------------------------------------------------------- +Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: move the last flag files to /dev/.run + - util: close all fds before freezing execution + - dbus: timeout connection setup + - main: properly handle -b boot option + - pam: do not leak file descriptor if flock fails +- disable sysv services natively provided by systemd + +------------------------------------------------------------------- +Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com + +- new snapshot + - main: refuse system to be started in a chroot + - main: don't check if /usr really is a mount point, since it is + fine if it is passed pre-mounted to us from the initrd + - condition: take a timestamp and store last result of conditions + - dev: use /dev/.run/systemd as runtime directory, instead of + /dev/.systemd + - machine-id: move machine-id-setup to /sbin + - pkconfig: export full search path as .pc variable + - selinux: bump up error level when in non-enforcing mode + - dbus: fix dbus assert due to uninitialized error + - dbus: properly generate UnknownInterface, UnknownProperty + and PropertyReadOnly errors + - mount: use /dev/.run as an early boot alias for /var/run + +------------------------------------------------------------------- +Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com + +- version 20 + - service: prefix description with LSB only if script has LSB header, + use 'SysV:' otherwise + - unit: don't accidently create ordering links to targets when + default deps are off for either target and unit + - mount: support less cumbersome x-systemd-xxx mount options + - unit: distuingish mandatory from triggering conditions + - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object + is unknown + - systemctl: when forwarding is-enabled to chkconfig + hardcode runlevel 3 + - job: introduce new job result code 'skipped' to use when pre + conditions of job did not apply + - job: convert job type as early as we can, to simplify things + - Keep emacs configuration in one configuration file. + - syslog: make sure the kmsg bridge is always pulled in and + never terminated automatically + - mount: make /media a tmpfs + +------------------------------------------------------------------- +Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com + +- new snapshot + - add org.freedesktop.DBus.Properies.Set method + - main: introduce /etc/machine-id + - systemctl: fix exit code when directing is-enabled + to chkconfig + - dbus: add 'Tainted' property to Manager object + - dbus: expose distribution name and features on manager + object as properties + - man: document changed EnvironmentFile= behaviour + - main: add link to wiki page with longer explanation of the + /usr madness + - execute: load environment files at time of execution, not + when we load the service configuration + - path: after installing inotify watches, recheck file again + to fix race + - path: don't use IN_ATTRIB on parent dirs when watching a + file, since those cannot be removed without emptying the dir + first anyway and we need IN_ATTRIB only to detect the link + count dropping to 0 + - kill: always send SIGCONT after SIGTERM + - readahead: disable collector automatically on read-only media + - sysctl: use scandir() instead of nftw() to guarantee + systematic ordering + - support DT_UNKNOWN where necessary for compat with reiserfs + - systemctl: always null-terminate the password +- call systemd-machine-id-setup at installation + +------------------------------------------------------------------- +Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com + +- version 19 + - udev: don't ignore non-encrypted block devices with no + superblock + - udev: expose ttyUSB devices too + - udev: mark hvc devices for exposure in systemd + - cryptsetup: add a terse help + - agent: don't print warnings if a password was removed or + timed out + - systemctl: shutdown agent explicitly so that it can reset + the tty properly + - never clean up a service that still has a process in it + - label: udev might be making changes in /dev while we + iterate through it + - systemctl: properly handle job results + - job: also trigger on-failure dependencies when jobs faile + due to dependencies, timeout + - job: when cancelling jobs, make sure to propagate this + properly to depending jobs + - job: start job timeout on enqueuing not when we start to + process a job + - unit: increase default timeout to 3min + - logger: leave the logger longer around and allow it do + handle more connections + - dbus: pass along information why a job failed when it + failed (dbus api change!) + - general: unify error code we generate on timeout + - units: synchronize gettys to plymouth even if plymouth is + killed by gdm + - job: start job timer when we begin running the job, not + already when we add it to the queue of jobs + - cryptsetup: try to show the mount point for a crypto disk + if we can + - rescue: terminate plymouth entirely when going into + rescue mode + - ask-password: fix handling of timeouts when waiting + for password + - ask-password: supported plymouth cached passwords + - main: print warning if /usr is on a seperate partition + - ensure we start not a single getty before plymouth is + gone because we never know which ttys plymouth still controls + - unit: introduce ConditionVirtualization= + +------------------------------------------------------------------- +Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't rely that timer/path units have an initialized + unit field (bnc#671561) + +------------------------------------------------------------------- +Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com + +- new snapshot + - order network mounts after network.target (bnc#672855) + +------------------------------------------------------------------- +Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com + +- new snapshot + - kmsg-syslogd: increase terminate timeout to 5min to generte + less debug spew + - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) + - unit: don't timeout fsck + - man: fixed typo in SyslogIdentifier= + - tmpfiles: never clean up block devices + - main: refuse --test as root + +------------------------------------------------------------------- +Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: order fsck@.service before basic.target + instead of local-fs.target to relax things a little + - readahead: remove misleading error messages + - man: don't do more reloads than necessary in spec files + - util: retry opening a TTY on EIO + - util: beef up logic to find ctty name + - tmpfiles: kill double slashes in unix socket names +- drop vhangup patch, it is fixed in login(3) by forwarding the + SIGHUP to the child process + +------------------------------------------------------------------- +Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com + +- revert back to conflicts: sysvinit + +------------------------------------------------------------------- +Thu Feb 17 15:04:44 CET 2011 - werner@suse.de + +- Add temporary workaround for bnc#652633, that is do a vhangup + to all processes on a tty line used for a getty + +------------------------------------------------------------------- +Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com + +- version 18 + - systemctl: introduce --ignore-dependencies + - systemctl: introduce --failed to show only failed services + - systemctl: introduce --failed to show only failed services + - rescue: make 'systemctl default' fail if there is already + something running when the shell exited + - util: seperate welcome line from other output by empty lines + - manager: don't consider transaction jobs conflicting with + queued jobs redundant + - udev: ignore block devices which no known contents, to avoid + trying of mounts/swapons when devices aren't set up full yet + - swap: handle "nofail" from fstab + - mount,swap: properly add dependencies to logger if needed + - service: change default std output to inherit + - exec: introduce global defaults for the standard output + of services + - udev: use SYSTEMD_READY to mask uninitialized DM devices + - fsck: output to /dev/console by default in addition to syslog + - execute: optionally forward program output to /dev/console in + addition to syslog/kmsg + - socket: refuse socket activation for SysV services + - fsck: do not fail boot if fsck returns with an error code that + hasn't 2 or 6 set + - shutdown: execute all binaries in /lib/systemd/system-shutdown + as last step before invoking reboot() + - job: make status message printing more verbose + - cryptsetup: fix unit file description + - tmpfiles: never delete AF_UNIX sockets that are alive + - getty: don't parse console= anymore, use + /sys/class/tty/console/active instead + - properly resolve /dev/console if more than once console= + argument was passed on the kernel command line + - getty: do not auto-spawn getty's on VC ttys if console=ttyN + - fsck: skip root fsck if dracut already did it + - util: when determining the right TERM for /dev/console + consult /sys/class/tty/console/active + - pam: introduce whitelist and blacklist user list feature + - systemctl: minor optimizations + - systemctl: don't unnecessarily close stdin/stdout/stderr for + tty agent so that locking by tty works + - readahead: disable readahead in virtual machines + - tmpfiles: move binary to /bin to make it publicly available + - tmpfiles: take names of tmpfiles configuration files on the + command line + - tmpfiles: log to stderr if possible + - tmpfiles: support globs + - units: introduce and hook up sound.target + - dbus: allow all clients access to org.freedesktop.DBus.Peer + - consider udev devices with SYSTEMD_READY=0 as unplugged + - systemctl: don't start agent for --user + - systemctl: make sure the tty agent does not retain a copy + of stdio + +------------------------------------------------------------------- +Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com + +- new snapshot + - plymouth: move plymouth out of TARGET_FEDORA + - build-sys: fix AC_COMPILE_IFELSE tests + - build-sys: ensure selinux configure check follows logic of + other optional features + - build-sys: autodetect and use pkg-config for libselinux + - dbus: use ControlGroup as property name to match config option + - pam: optionally reset cgroup memberships for login sessions + - load-fragment: properly parse Nice= value + - automount: use unit_pending_inactive() where appropriate + +------------------------------------------------------------------- +Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de + +- Removed unecessary workaround for plymouth startup. + +------------------------------------------------------------------- +Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de + +- Split plymouth support into systemd-plymouth package. + +------------------------------------------------------------------- +Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com + +- new snapshot + - clang: fix some issues found with clang-analyzer + - gcc: make gcc shut up + +------------------------------------------------------------------- +Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com + +- version 17 + - vala 0.10 seem to work fine + - cryptsetup: fix ordering loop when dealing with encrypted + swap devices + - main: don't warn if /etc/mtab is a symlink to /proc/mounts + - socket: don't crash if the .service unit for a .socket unit + is not found + - mount: ignore if an fsck is requested for a bind mount, + so that we don't wait for the bind 'device' to show up + - automount: fix segfault when shutting down + - man: give an example for vconsole.conf + - dbus: don't try to connect to the system bus before it is + actually up + - service: make chain of main commands and control commands + independent of each other, so that both can be executed + simultaneously and independently + - service: don't allow reload operations for oneshot services + - vala: convert from dbus-glib to gdbus + - systemctl: highlight failed processes in systemctl status + - systemctl: show process type along process exit codes + - service: when reloading a service fails don't fail the entire + service but just the reload job + +------------------------------------------------------------------- +Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com + +- new snapshot + - shutdown: use correct kexec options + - serial-getty: do not invoke /sbin/securetty; recent + pam_securetty looks for console= in /proc/cmdline + - systemctl: before spawning pager cache number of columns + - pam: optionally keep processes of root user around + - service: if a reload operation fails, don't shut down + the service + - execute: make sending of SIGKILL on shutdown optional + - mount: do not translate uuids to lowercase + - man: document missing KillSignal= and swap options +- require recent util-linux +- drop mtab symlink creation which is done in util-linux + +------------------------------------------------------------------- +Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com + +- version 16 + - device: don't warn if we cannot bump the udev socket buffer + - logger: when passing on PID info, fall back to our own if + originating process is already gone + - service: don't hit an assert if information in LSB headers is + incorrectly formatted + - execute,util: fix two small memory leaks + - getty: unset locale before execution + - execute: drop empty assignments from env blocks on execution + but keep them around otherwise to make them visible + - umount: don't try to detach the dm device the root dir is on, + to minimize warning messages + - locale: fix variable names + - fragment: allow prefixing of the EnvironmentFile= + path with - to ignore errors + - util: don't pass invalid fd to fdopendir() on error to avoid + corruption of errno + - tmpfiles: nicer message when two or more conflicting lines + are configured for the same file + - fragment: properly handle quotes in assignments in + EnvironmentFile= files + - sysctl: don't warn if sysctls are gone + - readahead: ignore if files are removed during collection or + before replay + - serial: use TERM=vt100 instead of TERM=vt100-nav + - cryptsetup: call mkswap on dm device, not on source device + - mount-setup: mount /dev/pts with mode=620,gid=5 by default + and make GID overridable via configure switch + - systemctl: implement auto-pager a la git + - shutdown: drop redundant sync() invocation + - util: invoke sync() implicitly on freeze() + - tmpfiles: do no follow symlinks when cleaning up dirs + +------------------------------------------------------------------- +Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de + +- Add support for building plymouth support with openSUSE + +------------------------------------------------------------------- +Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com + +- new snapshot + - pam: do not sort user sessions into their own cgroups in + the 'cpu' hierarchy + - mount-setup: drop noexec flag from default mount options + for /dev/shm + - systemd.pc: change 'session' to 'user' + +------------------------------------------------------------------- +Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com + +- new snapshot + - ifdef suse-only sysv script lookup code + +------------------------------------------------------------------- +Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org + +- add bootsplash handling patch to be able to enter e.g. + crypto passphrases (bnc#659885) + +------------------------------------------------------------------- +Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com + +- new snapshot + - add LSB 'smtp' alias for mail-transport-agent.target + +------------------------------------------------------------------- +Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com + +- new snapshot + - path: fix watching the root directory + - update README + +------------------------------------------------------------------- +Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com + +- new snapshot + - gnome-ask-password-agent: also support libnotify < 0.7 for now + - udev: increase event buffer size +- require fsck -l + +------------------------------------------------------------------- +Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com + +- version 15 + - dbus: use the right data slot allocator + - manager: bump up max number of units to 128K + - build-sys: allow cross-compilation +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com + +- new snapshot + - units: simplify shutdown scripts + - logger: fix error handling + - swap: order file-based swap devices after remount-rootfs +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com + +- new snapshot + - systemctl: don't return LSB status error codes for 'show' + - mount: do not try to mount disabled cgroup controllers + - man: document /etc/modules-load.d/, /etc/os-release, + locale.conf, /etc/vconsole.conf, /etc/hostname + - units: move a couple of units from base.target to + sysinit.target + - man: reorder things to follow the same order everywhere +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com + +- version 13 + - cryptsetup: actually show disk name + - cryptsetup: show udev device name when asking for password + - sysctl: implement native tool and support /etc/sysctl.d + - units: enable console ask-password agent by default + - introduce /etc/os-release distro description + - job: make sure we don't fail umount.target if a mount unit + failed to stop + - cgroup: after killing cgroup processes, ensure the group is + really dead gone. wait for 3s at max + - cgroup: if we couldn't remove a cgroup after killing + evertyhing in it then it's fine + - cryptsetup: automatically order crypt partitions before + cryptsetup.target + - man: trivial BindTo description fix + - manager: make list of default controllers configurable + - build: expose libcryptsetup dependency in build string + - pam: document controllers= switch + - cgroup: by default, duplicate service cgroup in the cpu hierarchy + - pam: duplicate cgroup tree in the cpu hierarchy by default, + optionally more +- enable native crypto handling instead of boot.crypto +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com + +- version 12 + - ask-password: add --console mode to ask /dev/console +- revert too new libnotify code/requirement + +------------------------------------------------------------------- +Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com + +- new snapshot + - cryptsetup: reword questions a little + - units: order hwclock after readahead + - path: don't mention too many inotify msgs + - cryptsetup: include device name in password question + - cryptsetup: lock ourselves into memory as long as we deal + with passwords + - plymouth: use updated socket name + - units: set TERM for gettys again, since they acquire a TTY + - units: allow start-up of plymouth ask-password agent very early + - units: enable ask-paswword .path units early enough to be useful + for early mounts + - units: delay getty until logins are allowed + - pam: always rely on loginuid instead of uid to determine cgroup + and XDG_RUNTIME_DIR name + - cgroup: call root cgroup system instead of systemd-1 + - exec: determine right TERM= setting based on tty name + - pam: rename master user cgroup to 'master' + - drop support for MANAGER_SESSION, introduce MANAGER_USER + - units: use ConditionDirectoryNotEmpty= where applicable + - unit: introduce ConditionDirectoryNotEmpty= + - delete tmp.mount which may conflict with an unrelated fstab + entry +- revert too new libnotify code/requirement +- disable native crypto handling + +------------------------------------------------------------------- +Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com + +- new snapshot + - load-dropin: add support for .requires directories + - manager: consider jobs already installed as redundant when + reducing new transactions + - manager: always pull 'following' units into transaction + - util: always highlight distro name + - units: make use of agetty mandatory + - manager: don't fail transaction if adding CONFLICTED_BY job fails + - job: make it possible to wait for devices to be unplugged + - tmpfiles: ignore files marked with the sticky bit + - cryptsetup: handle password=none properly + - cryptsetup: properly parse cipher= switch + - cryptsetup: support non-LUKS crypto partitions + - ask-password: enable password agent + - automatically start cryptsetup when looking for mount source + - log: add automatic log target + - cryptsetup: hook up tool with ask-password + - manager: hookup generators + - split mount_point_is_api() and mount_point_ignore() +- replace boot.crypto job with systemd native crypto handling +- enable readahead (requires 2.6.37+ kernel's fanotify to work) + +------------------------------------------------------------------- +Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com + +- new snapshot + - tmpfiles: include reference to man page in tmpfiles files + - vconsole: support additional keymap for toggling layouts + - main: warn if /etc/mtab is not a symlink + - add bash completion for systemctl --system + - man: minor tmpfiles(5) updates and reindenting + - main: rename process on startup to 'systemd' to avoid confusion + - unit: add ConditionNull= condition + - ac-power: make ac-power a proper binary that scripts can call + - manager: parse RD_TIMESTAMP passed from initrd + - modules-load: fix minor race + - label: use internal utility functions wher epossible + - cryptsetup: minimal cryptsetup unit generator + - selinux: relabel /dev after loading policy + - log: downgrade syslog connection failure message + - service: delay automatic restart if job is pending + - manager: when isolating undo all pending jobs, too + - manager: only minimize impact if we are in fail mode +- replace /etc/mtab with link to /proc/self/mounts + +------------------------------------------------------------------- +Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com + +- new snapshot + - man/tmpfiles.d.xml: add a manpage for tmpfiles + - do not overwrite other udev tags + - readahead: shortcut replay if /.readahead doesn't exist + +------------------------------------------------------------------- +Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fsck: return SUCCESS when we skip the check + - fsck: skip checking / if it is writable + - units: fix variable expansion + - mount: don't pull in nofail mounts by default, but use them + if they are around + - job: recursively fail BoundBy dependencies + - fsck: fix target name to check for + - units: rename fedora/single.service to rescue.service + - units: introduce plymouth-start and plymouth-kexec + - unit: get rid of IgnoreDependencyFailure= + - use util-linux:agetty instead of mingetty + - unit: replace StopRetroactively= by BindTo= dependencies + - automount: show who's triggering an automount + - units: run sysctl only if /etc/sysctl.conf exists + - systemctl: always show what and where for mount units + - shutdown: reword a few messages a little + - manager: show which jobs are actually installed after a transaction + - timer: when deserializing timer state stay elapsed + - device: set recursive_stop=true by default + - unit: suppress incorrect deserialization errors + - swap: there's no reason not order swap after sysinit + - socket: fix IPv6 availability detection + +------------------------------------------------------------------- +Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - create /dev/stderr and friends early on boot + - run sysv related scripts with TERM=linux + - add only swaps listed in /etc/fstab automatically to swap.target + - errors: refer to systemctl status when useful + - swap: add default cgroup to swap exec env + - readahead: bump a device's request_nr when enabling readahead + - shutdown: properly handle sigtimedwait() timing out + - main: fix typo in kernel cmdline parameters help + - ord-tty: properly handle SIGINT/SIGTERM + - systemctl: automatically spawn temporary password agent + - ask-password: properly handle multiple pending passwords + - ask-password: enable plymouth agent by default + - ask-password: add minimal plymouth password agent + +------------------------------------------------------------------- +Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - make sure to pass TERM=linux to all sysv scripts + - don't unset HOME/TERM when run in session mode + - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run + - tmpfiles: Don't clean /var/lock/subsys + - tmpfiles: Make wtmp match utmp perms, and add btmp + - umount: Make sure / is remounted ro on shutdown + - unset HOME and TERM set from the kernel + - activate wall agent automatically + - ask-password: add basic tty agent + +------------------------------------------------------------------- +Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - rename ask-password-agent to gnome-ask-password-agent + - fsck: suppress error message if we cannot change into single + user mode since + - dbus: epose FsckPassNo property for service objects + - man: document systemctl --force + - introduce 'systemctl kill' + +------------------------------------------------------------------- +Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - syslog: enable kmsg bridge by default + - fsck: add initial version of fsck and quotacheck wrappers + - tmpfiles: remove forcefsck/fastboot flag files after boot + - swap: listen for POLLPRI events on /proc/swaps if availabled + - tmpfiles: integrate native tmpwatch + - shutdown: loop only as long as we manage to unmount/detach devices + - umount: disable dm devices by devnode, not by path name + - introduce final.target + - replace distro-specific shutdown scripts with native services + - try to get rid of DM devices + - log to console by default + - introduce kexec.service, kexec.target and exit.target + - hook in fsck@.service instance for all mount points with passno > 0 + - systemctl: warn if user enables unit with no installation instructions + - dbus: add introspection to midlevel paths + - look for dynamic throw-away units in /dev/.systemd/system + - major rework, use /sbin/swapon for setting up swaps + - introduce Restart=on-failure and Restart=on-abort + - units: enable utmp for serial gettys too + - rename 'banned' load state to 'masked' + - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service +- use systemd-native fsck/mount +- use systemd-native tmpfiles.d/ instead of tmpwatch + +------------------------------------------------------------------- +Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com + +new snapshot + - fix 'systemctl enable getty@.service' + - properly support 'banning' of services + - handle nologin + - add native reboot/shutdown implementation + +------------------------------------------------------------------- +Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com + +- version 11 + +------------------------------------------------------------------- +Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - readahead fixes + +------------------------------------------------------------------- +Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de + +- /etc/modules.d was renamed to modules-load.d +- only include tmpfiles.d/*conf files + +------------------------------------------------------------------- +Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com + +- don't create sysv order deps on merged units +- fix Provides: handling in LSB headers (network.target) +- native (optional) readahead + +------------------------------------------------------------------- +Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de + +- Do not package man pages twice. + +------------------------------------------------------------------- +Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - basic services are enabled by default now + +------------------------------------------------------------------- +Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - vconsole and locale setup + - hook up tmpwatch + +------------------------------------------------------------------- +Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - add new utility to initialize the virtual console + - initialize locale from /etc/locale by default + - ask-password: allow services query SSL/harddisk passphrases + +------------------------------------------------------------------- +Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com + +- version 10 + - logger: support SOCK_STREAM /dev/log sockets + - make sure the file system is writable before we write utmp data + - systemctl: use isolate when called as telinit for a runlevel + - initctl: properly use isolate when activating runlevels + - set HOME=/root when running shells + - make sure we don't crash if there's an automount unit without + mount unit + - start logger only after syslog is up + +------------------------------------------------------------------- +Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com + +- version 9 + - units: don't add shutdown conflicts dep to umount.target + - dbus: don't send cgroup agent messages directly to system bus + - dbus: don't accept activation requests anymore if we are going + down anyway + - systemctl: fix return value of systemctl start and friends + - service: wait for process exit only if we actually killed + somebody + +------------------------------------------------------------------- +Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com + +- version 8 + - KERNEL 2.6.36+ REQUIRED! + - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup + - invoke sulogin instead of /bin/sh + - systemctl: show timestamps for state changes + - add global configuration options for handling of auto mounts + +------------------------------------------------------------------- +Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com + +- apply /etc/fstab mount options to all api mounts +- properly handle LABEL="" in fstab +- do not consider LSB exit codes 5 and 6 as failure + +------------------------------------------------------------------- +Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com + +- prefix sysv job descriptions with LSB: +- add native sysctl + hwclock + random seed service files +- properly fallback to rescue.target if default.target is hosed +- rename ValidNoProcess= to RemainAfterExit= +- add systemd-modules-load tool to handle /etc/modules.d/ + +------------------------------------------------------------------- +Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com + +- add support for delayed shutdown, similar to sysv in style +- rename Type=finish to Type=oneshot and allow multiple ExecStart= +- don't show ENOENT for non exitent configuration files +- log build time features on startup +- rearrange structs to make them smaller +- move runlevel[2-5] links to /lib +- create default.target link to /lib not /etc +- handle random-seed +- write utmp record before we kill all processes +- create /var/lock/subsys, /var/run/utmp + +------------------------------------------------------------------- +Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com + +- add audit messages for service changes +- update utmp with external program +- all to refuse manual service starting/stopping + +------------------------------------------------------------------- +Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com + +- version 7 + - hide output if quiet is passed on the kernel cmdline + - fix auto restarting of units after a configuration reload + - don't call bus_path_escape() with NULL unit name + +------------------------------------------------------------------- +Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com + +- version 6 + - man page update + +------------------------------------------------------------------- +Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - downgrade a few log messages + - properly handle devices which are referenced before they exist + +------------------------------------------------------------------- +Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fix dependency cycle of boot.* by splitting fsck.target + - sort boot.* before other sysv services + from sysinint.target + - start getty for serial console + +------------------------------------------------------------------- +Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com + +- add licence to subpackages + +------------------------------------------------------------------- +Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com + +- version 5 + - selinux fixes +- fix hanging 'reboot' started from vc + +------------------------------------------------------------------- +Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com + +- enable getty.target by default + +------------------------------------------------------------------- +Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com + +- at install, read old inittab for the defaul target/runlevel +- disable services on package uninstall + +------------------------------------------------------------------- +Sat Jul 24 09:50:05 CEST 2010 - kay.sievers@novell.com + +- version 4 + - merge systemd-install into systemctl + +------------------------------------------------------------------- +Fri Jul 23 10:39:19 CEST 2010 - kay.sievers@novell.com + +- create config files in /etc in %post +- mark files in /etc as config +- remove nodev from /dev/pts +- add selinux support + +------------------------------------------------------------------- +Thu Jul 22 10:51:16 CEST 2010 - kay.sievers@novell.com + +- version 4 (pre) + - require newer vala + - add [Install] section to getty.target and remote-fs.target +- re-enable post-build check + +------------------------------------------------------------------- +Wed Jul 21 08:51:22 CEST 2010 - kay.sievers@novell.com + +- do not add sysv services that are not enabled in /etc/rcN.d/ +- allow symlinking unit files to /dev/null +- remove only pam sessions we ourselves created +- unit files in /etc/ always take precedence, even over link targets + +------------------------------------------------------------------- +Tue Jul 20 21:20:43 CEST 2010 - kay.sievers@novell.com + +- fix access mode verification of FIFOs + +------------------------------------------------------------------- +Sun Jul 18 11:31:06 CEST 2010 - kay.sievers@novell.com + +- fix default mode of /var/run and /var/lock +- force /var/run and /var/lock to be on tmpfs + +------------------------------------------------------------------- +Wed Jul 14 17:49:57 CEST 2010 - kay.sievers@novell.com + +- always enable udev and dbus until we can require systemd from + packages providing systemd service files + +------------------------------------------------------------------- +Wed Jul 14 01:10:27 CEST 2010 - kay.sievers@novell.com + +- drop systemd-units.rpm + +------------------------------------------------------------------- +Wed Jul 14 00:07:24 CEST 2010 - kay.sievers@novell.com + +- version 3 + - treat non-existing cgroups like empty ones, to deal with races + - replace --running-as= by --session and --system + - always allow stopping of units that failed to load + +------------------------------------------------------------------- +Tue Jul 13 06:22:56 CEST 2010 - kay.sievers@novell.com + +- update + +------------------------------------------------------------------- +Mon Jul 12 18:23:41 CEST 2010 - kay.sievers@novell.com + +- drop libcgroup + +------------------------------------------------------------------- +Mon Jul 12 10:04:26 CEST 2010 - kay.sievers@novell.com + +- trim cgroups for services that are "active" but "exited" +- drop /bin/init hack and require now fixed mkinitrd + +------------------------------------------------------------------- +Sun Jul 11 23:38:45 CEST 2010 - kay.sievers@novell.com + +- fix reboot issue +- fix abstract namespace name handling (needs udev update) +- prefer private D-Bus socket wherever possible + +------------------------------------------------------------------- +Sun Jul 11 00:50:14 CEST 2010 - kay.sievers@novell.com + +- D-Bus 1.3.2 support +- use COLD_BOOT=1 on reboot to skip sysv boot.d/ handling + +------------------------------------------------------------------- +Fri Jul 9 10:05:00 CEST 2010 - kay.sievers@novell.com + +- fix typo in spec file + +------------------------------------------------------------------- +Fri Jul 9 09:09:33 CEST 2010 - kay.sievers@novell.com + +- provide /bin/init to be found by 'too simple' mkinitrd, and work + around mindless relinking of relative links in the buildsystem +- add rpmlintrc to silent warnings about intentional behavior + +------------------------------------------------------------------- +Fri Jul 9 06:18:52 CEST 2010 - kay.sievers@novell.com + +- version 2 + +------------------------------------------------------------------- +Thu Jul 8 23:48:09 CEST 2010 - kay.sievers@novell.com + +- fix 'reboot -w' to skip the actual reboot +- fix segfault in D-Bus code +- use unique instead of multiple keys in config file +- support continuation lines in config files +- support multiple commands in a single key in config files +- adapt log level of some messages + +------------------------------------------------------------------- +Wed Jul 7 06:20:00 CEST 2010 - kay.sievers@novell.com + +- version 1 + - default log level to INFO + - show welcome message + +------------------------------------------------------------------- +Tue Jul 6 08:55:03 CEST 2010 - kay.sievers@novell.com + +- add systemd-install --start option +- add more documentation + +------------------------------------------------------------------- +Mon Jul 5 16:23:28 CEST 2010 - kay.sievers@novell.com + +- new snapshot with extended D-Bus support + +------------------------------------------------------------------- +Sun Jul 4 21:31:49 CEST 2010 - kay.sievers@novell.com + +- new snapshot with default unit dependency handling + +------------------------------------------------------------------- +Sat Jul 3 16:54:19 CEST 2010 - kay.sievers@novell.com + +- new snapshot + +------------------------------------------------------------------- +Fri Jul 2 10:04:26 CEST 2010 - kay.sievers@novell.com + +- add more documentation + +------------------------------------------------------------------- +Thu Jul 1 17:40:28 CEST 2010 - kay.sievers@novell.com + +- new snapshot + +------------------------------------------------------------------- +Fri Jun 25 00:34:03 CEST 2010 - kay.sievers@novell.com + +- split off systemd-units.rpm which can be pulled-in by other + packages without further dependencies + +------------------------------------------------------------------- +Thu Jun 24 09:40:06 CEST 2010 - kay.sievers@novell.com + +- add more documentation + +------------------------------------------------------------------- +Tue Jun 22 22:13:02 CEST 2010 - kay.sievers@novell.com + +- more man pages and documentation + +------------------------------------------------------------------- +Tue Jun 22 18:14:05 CEST 2010 - kay.sievers@novell.com + +- conflict with upstart +- include all installed doc files + +------------------------------------------------------------------- +Tue Jun 22 09:33:44 CEST 2010 - kay.sievers@novell.com + +- provide pam module + +------------------------------------------------------------------- +Mon Jun 21 10:21:20 CEST 2010 - kay.sievers@novell.com + +- use private D-Bus connection +- properly handle replacing a running upstart + +------------------------------------------------------------------- +Fri Jun 18 09:37:46 CEST 2010 - kay.sievers@novell.com + +- implement wall message in halt/reboot/... +- speak /dev/initctl to old /sbin/init after installing + +------------------------------------------------------------------- +Thu Jun 17 23:54:59 CEST 2010 - kay.sievers@novell.com + +- drop no longer needed -fno-strict-aliasing +- add README and examples + +------------------------------------------------------------------- +Thu Jun 17 23:23:42 CEST 2010 - kay.sievers@novell.com + +- enable pam and libwrap + +------------------------------------------------------------------- +Thu Jun 17 23:10:57 CEST 2010 - kay.sievers@novell.com + +- provide systemd-sysvinit.rpm with /sbin/init and friends + +------------------------------------------------------------------- +Thu Jun 17 11:06:14 CEST 2010 - kay.sievers@novell.com + +- libwrap / pam support + +------------------------------------------------------------------- +Wed Jun 16 09:46:15 CEST 2010 - kay.sievers@novell.com + +- initial packaging of experimental version 0 + diff --git a/systemd-gtk.spec b/systemd-gtk.spec new file mode 100644 index 00000000..284c6913 --- /dev/null +++ b/systemd-gtk.spec @@ -0,0 +1,83 @@ +# +# spec file for package systemd-gtk +# +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: systemd-gtk +Url: http://www.freedesktop.org/wiki/Software/systemd +Version: 34 +Release: 1 +License: GPLv2+ +Group: System/Base +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: libudev-devel udev +BuildRequires: dbus-1-devel +BuildRequires: audit-devel +BuildRequires: gperf +BuildRequires: libcap-devel +BuildRequires: libacl-devel +BuildRequires: tcpd-devel +BuildRequires: pam-devel +BuildRequires: libcryptsetup-devel +BuildRequires: pkg-config +BuildRequires: libselinux-devel libsepol-devel +BuildRequires: intltool +BuildRequires: gtk2-devel libnotify-devel +Summary: Graphical front-end for systemd +Requires: systemd = %{version} +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.bz2 +Source1: systemd-rpmlintrc + +# Upstream First - Policy: +# Never add any patches to this package without the upstream commit id +# in the patch. Any patches added here without a very good reason to make +# an exception will be silently removed with the next version update. + +%description +Graphical front-end for systemd system and service manager. + +%prep +%setup -q -n systemd-%{version} + +%build +autoreconf -fiv +# prevent pre-generated and distributed files from re-building +find . -name "*.[1-8]" -exec touch '{}' \; +touch src/systemadm.c +export V=1 +%configure \ + --with-distro=suse \ + --docdir=%{_docdir}/systemd \ + --with-rootdir= \ + CFLAGS="%{optflags}" +make %{?_smp_mflags} + +%install +%makeinstall +# remove everything but systemadm and password agent +find %{buildroot} -not -type d -not -name 'systemadm*' -not -name systemd-gnome-ask-password-agent -delete + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%{_bindir}/systemadm +%{_bindir}/systemd-gnome-ask-password-agent +%{_mandir}/man1/systemadm.1* + +%changelog diff --git a/systemd.changes b/systemd.changes index 61dccc8e..59ee88b4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com + +- Update to version 34: + * Bugfixes + * optionaly apply cgroup attributes to cgroups systemd creates + * honour sticky bit when trimming cgroup trees + * improve readahead +- Add libacl-devel as BuildRequires (needed for systemd-uaccess) +- Add some %{nil} to systemd.macros to fix some build issues. +- Fix dbus assertion +- move gtk part to its own package, to reduce bootstrapping + (bnc#713981). + ------------------------------------------------------------------- Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index f7b95c1b..bd651be2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,8 +21,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 33 -Release: 17 +Version: 34 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -32,11 +32,11 @@ BuildRequires: dbus-1-devel BuildRequires: audit-devel BuildRequires: gperf BuildRequires: libcap-devel +BuildRequires: libacl-devel BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel BuildRequires: pkg-config -BuildRequires: gtk2-devel libnotify-devel libxslt-devel BuildRequires: libselinux-devel libsepol-devel BuildRequires: intltool Requires: udev >= 172 @@ -62,18 +62,7 @@ Patch8: tty1.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM aj@suse.de gperf: Include missing.h -Patch2: gperf-missing.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- accept none option in crypttab -Patch3: systemd-cryptsetup.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't set getty before passphrase is typed -Patch4: systemd-cryptsetup-query.patch -# PATCH-FIX-UPSTREAM aj@suse.com -- fix crash on systemctl enable -Patch5: fix-crash.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com bnc671673 -- fix kexec support -Patch7: 0001-initctl-check-for-kexec_loaded-when-reboot-is-reques.patch -# PATCH-FIX-UPSTREAM fcrozat@suse.com -- don't look for system manager configuration when running user manager -Patch9: 0001-path-lookup-monitor-etc-systemd-user-for-user-manage.patch +Patch9: 0001-execute-fix-bus-serialization-for-commands.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -95,15 +84,6 @@ Requires: pkg-config %description devel Development headers and auxiliary files for developing applications for systemd. -%package gtk -License: GPLv2+ -Group: System/Base -Summary: Graphical front-end for systemd -Requires: %{name} = %{version} - -%description gtk -Graphical front-end for systemd system and service manager. - %package sysvinit License: GPLv2+ Group: System/Base @@ -134,12 +114,7 @@ Plymouth integration for systemd %prep %setup -q %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -153,6 +128,7 @@ export V=1 --with-distro=suse \ --docdir=%{_docdir}/systemd \ --with-rootdir= \ + --disable-gtk \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -185,6 +161,7 @@ ln -s systemd-tmpfiles-setup.service %{buildroot}/lib/systemd/system/cleanup.ser ln -s /dev/null %{buildroot}/lib/systemd/system/clock.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto.service ln -s /dev/null %{buildroot}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/lib/systemd/system/device-mapper.service ln -s /dev/null %{buildroot}/lib/systemd/system/earlysyslog.service ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service @@ -334,11 +311,6 @@ rm -rf %{buildroot} %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated -%files gtk -%defattr(-,root,root,-) -%{_bindir}/systemadm -%{_bindir}/systemd-gnome-ask-password-agent -%{_mandir}/man1/systemadm.1* %files devel %defattr(-,root,root,-) From 46e2c8a6138edc22fa9081655a52853b0fb96220507e3712f18d8315282cc922 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Mon, 5 Sep 2011 16:12:00 +0000 Subject: [PATCH 063/991] Autobuild autoformatter for 80666 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=64 --- systemd-gtk.spec | 1 + systemd.spec | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 284c6913..5a5d1025 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -17,6 +17,7 @@ # norootforbuild + Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd Version: 34 diff --git a/systemd.spec b/systemd.spec index bd651be2..665fe7ee 100644 --- a/systemd.spec +++ b/systemd.spec @@ -311,7 +311,6 @@ rm -rf %{buildroot} %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated - %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd-daemon.so From 27ab9ee58f30c347fa47715b4e0d2b486f13f96f894d9f3d4d4477c591c626fa Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Sun, 11 Sep 2011 17:42:54 +0000 Subject: [PATCH 064/991] Accepting request 81718 from Base:System - Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: remove insserv.conf parsing from systemd and use generator instead. - put back default.target creation at package install and remove inittab generator, Yast2 is now able to create it. - Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: remove insserv.conf parsing from systemd and use generator instead. - put back default.target creation at package install and remove inittab generator, Yast2 is now able to create it. (forwarded request 81717 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/81718 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=65 --- revert_insserv_conf_parsing.patch | 103 ++++++++++++++++++++++++++++++ systemd-gtk.changes | 9 +++ systemd-inittab | 8 --- systemd-insserv_conf | 34 ++++++++++ systemd.changes | 9 +++ systemd.spec | 13 +++- 6 files changed, 165 insertions(+), 11 deletions(-) create mode 100644 revert_insserv_conf_parsing.patch delete mode 100644 systemd-inittab create mode 100644 systemd-insserv_conf diff --git a/revert_insserv_conf_parsing.patch b/revert_insserv_conf_parsing.patch new file mode 100644 index 00000000..3279bd1d --- /dev/null +++ b/revert_insserv_conf_parsing.patch @@ -0,0 +1,103 @@ +From b0ff66c6e92ca9d9458f3236ee37397635bb0f0e Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 9 Sep 2011 11:19:26 +0200 +Subject: [PATCH] Revert "service: parse insserv.conf and plugs its system facilities into systemd." + +Let's use a generator instead + +This reverts commit de3910a324aefcb15c26be27033d6917494e5946. +--- + src/service.c | 70 --------------------------------------------------------- + 1 files changed, 0 insertions(+), 70 deletions(-) + +diff --git a/src/service.c b/src/service.c +index abd8f36..37cb0bc 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -2969,72 +2969,6 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + } + + #ifdef HAVE_SYSV_COMPAT +- +-#ifdef TARGET_SUSE +-static void sysv_facility_in_insserv_conf(Manager *mgr) { +- FILE *f=NULL; +- int r; +- +- if (!(f = fopen("/etc/insserv.conf", "re"))) { +- r = errno == ENOENT ? 0 : -errno; +- goto finish; +- } +- +- while (!feof(f)) { +- char l[LINE_MAX], *t; +- char **parsed = NULL; +- +- if (!fgets(l, sizeof(l), f)) { +- if (feof(f)) +- break; +- +- r = -errno; +- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r)); +- goto finish; +- } +- +- t = strstrip(l); +- if (*t != '$' && *t != '<') +- continue; +- +- parsed = strv_split(t,WHITESPACE); +- /* we ignore , not used, equivalent to X-Interactive */ +- if (parsed && !startswith_no_case (parsed[0], "")) { +- char *facility; +- Unit *u; +- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) +- continue; +- if ((u = manager_get_unit(mgr, facility)) && (u->meta.type == UNIT_TARGET)) { +- UnitDependency e; +- char *dep = NULL, *name, **j; +- +- STRV_FOREACH (j, parsed+1) { +- if (*j[0]=='+') { +- e = UNIT_WANTS; +- name = *j+1; +- } +- else { +- e = UNIT_REQUIRES; +- name = *j; +- } +- if (sysv_translate_facility(name, NULL, &dep) < 0) +- continue; +- +- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); +- free(dep); +- } +- } +- free(facility); +- } +- strv_free(parsed); +- } +-finish: +- if (f) +- fclose(f); +- +-} +-#endif +- + static int service_enumerate(Manager *m) { + char **p; + unsigned i; +@@ -3183,10 +3117,6 @@ static int service_enumerate(Manager *m) { + + r = 0; + +-#ifdef TARGET_SUSE +- sysv_facility_in_insserv_conf (m); +-#endif +- + finish: + free(path); + free(fpath); +-- +1.7.3.4 + diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 59ee88b4..079c1cca 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com + +- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: + remove insserv.conf parsing from systemd and use generator + instead. +- put back default.target creation at package install and remove + inittab generator, Yast2 is now able to create it. + ------------------------------------------------------------------- Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com diff --git a/systemd-inittab b/systemd-inittab deleted file mode 100644 index 7fc3de96..00000000 --- a/systemd-inittab +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -# Try to read default runlevel from the old inittab if it exists -runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) -if [ -n "$runlevel" -a -e /lib/systemd/system/runlevel$runlevel.target ] ; then - /bin/ln -sf /lib/systemd/system/runlevel$runlevel.target $1/default.target 2>&1 && exit 0 -fi -#failsafe -/bin/ln -sf /lib/systemd/system/graphical.target $1/default.target diff --git a/systemd-insserv_conf b/systemd-insserv_conf new file mode 100644 index 00000000..f77de73a --- /dev/null +++ b/systemd-insserv_conf @@ -0,0 +1,34 @@ +#!/bin/bash + +[ -r /etc/insserv.conf ] || exit 0 + +declare -A facilities +facilities["local_fs"]="local-fs.target" +facilities["localfs"]="local-fs.target" +facilities["named"]="nss-lookup.target" +facilities["network"]="network.target" +# done in systemd code +#facilities["portmap"]="rpcbind.target" +facilities["remote_fs"]="remote-fs.target" +facilities["syslog"]="syslog.target" +facilities["time"]="time-sync.target" + +while read line ; do + case "$line" in + \#*|"" ) continue;; + \<* ) continue;; + \$*) t=${line%% *} + target=${facilities[${t:1}]} + [ -z $target ] && continue + mkdir -p $1/$target.{requires,wants} + for dep in ${line##* } ; do + stripped_dep=${dep/boot./} + case "$stripped_dep" in + +*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:2}]:-${stripped_dep:1}.service} $1/$target.wants/ ;; + *) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.wants/ ;; + esac + done + ;; + esac +done < /etc/insserv.conf + diff --git a/systemd.changes b/systemd.changes index 59ee88b4..079c1cca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com + +- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: + remove insserv.conf parsing from systemd and use generator + instead. +- put back default.target creation at package install and remove + inittab generator, Yast2 is now able to create it. + ------------------------------------------------------------------- Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com diff --git a/systemd.spec b/systemd.spec index 665fe7ee..f4eddd49 100644 --- a/systemd.spec +++ b/systemd.spec @@ -51,12 +51,13 @@ Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd -Source5: systemd-inittab +Source5: systemd-insserv_conf Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch # don't start getty on tty1 until all password request are done Patch8: tty1.patch +Patch10: revert_insserv_conf_parsing.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -100,7 +101,6 @@ Drop-in replacement of System V init tools. %package plymouth - License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd @@ -117,6 +117,7 @@ Plymouth integration for systemd %patch6 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %build autoreconf -fiv @@ -149,7 +150,6 @@ ln -s ../bin/systemctl %{buildroot}/sbin/telinit ln -s ../bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -rm -f %{buildroot}/lib/systemd/system/default.target %if !%{build_plymouth} rm -f %{buildroot}/lib/systemd/system/plymouth-*.service rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service @@ -186,6 +186,13 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se /bin/systemd-machine-id-setup >/dev/null 2>&1 || : /bin/systemctl daemon-reexec >/dev/null 2>&1 || : +# Try to read default runlevel from the old inittab if it exists +if [ ! -e /etc/systemd/system/default.target ]; then + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + if [ -n "$runlevel" ] ; then + /bin/ln -sf /lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + fi +fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then From 8534619c8c2d442dc95d9b3770d5236eb75633c4bbb2bbc5df59bccdb5005417 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Sun, 11 Sep 2011 17:43:32 +0000 Subject: [PATCH 065/991] Autobuild autoformatter for 81718 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=66 --- systemd-gtk.spec | 2 +- systemd.spec | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 5a5d1025..715856ca 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -21,7 +21,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd Version: 34 -Release: 1 +Release: 2 License: GPLv2+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/systemd.spec b/systemd.spec index f4eddd49..8e03ed9c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 34 -Release: 1 +Release: 3 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -101,6 +101,7 @@ Drop-in replacement of System V init tools. %package plymouth + License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd From a28caebf3e75cc67c2b5609f18f029334fce2085dcca860e895bc2fbd9255380 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 13 Sep 2011 10:33:24 +0000 Subject: [PATCH 066/991] Accepting request 81891 from Base:System - Do not mask localnet service, it is not yet handled by systemd. (bnc#716746) - Do not mask localnet service, it is not yet handled by systemd. (bnc#716746) OBS-URL: https://build.opensuse.org/request/show/81891 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=67 --- systemd-gtk.changes | 6 ++++++ systemd-gtk.spec | 2 +- systemd.changes | 6 ++++++ systemd.spec | 4 ++-- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 079c1cca..0d245b9c 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com + +- Do not mask localnet service, it is not yet handled by systemd. + (bnc#716746) + ------------------------------------------------------------------- Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 715856ca..7046fa6e 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -21,7 +21,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd Version: 34 -Release: 2 +Release: 3 License: GPLv2+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/systemd.changes b/systemd.changes index 079c1cca..0d245b9c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com + +- Do not mask localnet service, it is not yet handled by systemd. + (bnc#716746) + ------------------------------------------------------------------- Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 8e03ed9c..d716adb3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -101,7 +101,6 @@ Drop-in replacement of System V init tools. %package plymouth - License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd @@ -168,7 +167,8 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service ln -s /dev/null %{buildroot}/lib/systemd/system/loadmodules.service install -m644 %{S:2} %{buildroot}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service +# need to be implemented in systemd directly +#ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service ln -s /dev/null %{buildroot}/lib/systemd/system/proc.service ln -s fsck-root.service %{buildroot}/lib/systemd/system/rootfsck.service ln -s /dev/null %{buildroot}/lib/systemd/system/swap.service From e40d6976ed6de9cae0b538755ad2f5ee8a21b6fd6c369ac1bad8fab1162522a3 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 13 Sep 2011 10:33:34 +0000 Subject: [PATCH 067/991] Autobuild autoformatter for 81891 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=68 --- systemd.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index d716adb3..ea15225f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 34 -Release: 3 +Release: 5 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -101,6 +101,7 @@ Drop-in replacement of System V init tools. %package plymouth + License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd From c59834472bb2388e1f0a603efab12f2e46aaebd8fc12ddf8dacb46b7c88ce446 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Mon, 19 Sep 2011 16:05:32 +0000 Subject: [PATCH 068/991] Accepting request 82495 from Base:System - Create -32bit package (bnc#713319) (forwarded request 82494 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/82495 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=69 --- baselibs.conf | 3 +++ systemd-gtk.changes | 5 +++++ systemd-gtk.spec | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 baselibs.conf diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 00000000..e0865a24 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,3 @@ +systemd + supplements "packageand(systemd:pam-)" + -/lib/systemd/system/ diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 0d245b9c..0a375c0a 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com + +- Create -32bit package (bnc#713319) + ------------------------------------------------------------------- Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 7046fa6e..2ec7b288 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -21,7 +21,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd Version: 34 -Release: 3 +Release: 5 License: GPLv2+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/systemd.changes b/systemd.changes index 0d245b9c..0a375c0a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com + +- Create -32bit package (bnc#713319) + ------------------------------------------------------------------- Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index ea15225f..7d036375 100644 --- a/systemd.spec +++ b/systemd.spec @@ -52,6 +52,7 @@ Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf +Source6: baselibs.conf Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -101,7 +102,6 @@ Drop-in replacement of System V init tools. %package plymouth - License: GPLv2+ Group: System/Base Summary: Plymouth support for systemd From 45e73fd3a1d5599fc9d114548b31b2d9fff60da32924c534fcac75757e4145ff Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 26 Sep 2011 08:20:30 +0000 Subject: [PATCH 069/991] Accepting request 84643 from Base:System - Add systemd-splash / bootsplash-startup.service: enable bootsplash at startup. (forwarded request 84642 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/84643 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=70 --- bootsplash-startup.service | 9 +++++++++ systemd-bootsplash | 3 +++ systemd-gtk.changes | 6 ++++++ systemd.changes | 6 ++++++ systemd.spec | 4 ++++ 5 files changed, 28 insertions(+) create mode 100644 bootsplash-startup.service create mode 100644 systemd-bootsplash diff --git a/bootsplash-startup.service b/bootsplash-startup.service new file mode 100644 index 00000000..8ed061fe --- /dev/null +++ b/bootsplash-startup.service @@ -0,0 +1,9 @@ +[Unit] +Description=Start bootsplash +DefaultDependencies=no +ConditionKernelCommandLine=splash=silent + +[Service] +ExecStart=/lib/system/systemd-bootsplash B +Type=oneshot +RemainAfterExit=true diff --git a/systemd-bootsplash b/systemd-bootsplash new file mode 100644 index 00000000..653cbe7d --- /dev/null +++ b/systemd-bootsplash @@ -0,0 +1,3 @@ +#! /bin/bash +. /etc/rc.splash $1 +splashtrigger "rlchange $1" diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 0a375c0a..0a3b1e3f 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com + +- Add systemd-splash / bootsplash-startup.service: enable + bootsplash at startup. + ------------------------------------------------------------------- Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 0a375c0a..0a3b1e3f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com + +- Add systemd-splash / bootsplash-startup.service: enable + bootsplash at startup. + ------------------------------------------------------------------- Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 7d036375..1e9dca3e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -53,6 +53,8 @@ Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf Source6: baselibs.conf +Source7: systemd-bootsplash +Source8: bootsplash-startup.service Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -142,6 +144,8 @@ find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators +install -m755 %{S:7} %{buildroot}/lib/systemd/ +install -m644 %{S:8} %{buildroot}/lib/systemd/system/ ln -s ../bin/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt From 189e99161d82134a826956e5b0b59b6314afa2cead6b7a08f03aa09e4a0f4636 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 27 Sep 2011 14:06:18 +0000 Subject: [PATCH 070/991] Accepting request 84932 from Base:System - Merge migration rpm macros into service_add/service_del macros. - Use systemd presets in rpm macros - Add fix-reload.patch: handle daemon-reload and start condition properly (bnc#719221). OBS-URL: https://build.opensuse.org/request/show/84932 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=71 --- fix-reload.patch | 43 ++++++++++++++++++ macros.systemd | 107 ++++++++++++++++++++------------------------ systemd-gtk.changes | 8 ++++ systemd.changes | 8 ++++ systemd.spec | 7 ++- 5 files changed, 113 insertions(+), 60 deletions(-) create mode 100644 fix-reload.patch diff --git a/fix-reload.patch b/fix-reload.patch new file mode 100644 index 00000000..46462058 --- /dev/null +++ b/fix-reload.patch @@ -0,0 +1,43 @@ +From a82e5507a6e03766957d43ca8818112ae9766288 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 Sep 2011 21:32:18 +0200 +Subject: [PATCH] unit: don't recheck conditions when a unit is already starting but unit_start() is invoked + +--- + src/unit.c | 16 ++++++++++------ + 1 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/src/unit.c b/src/unit.c +index 3ce87ea..0b435cb 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -888,16 +888,20 @@ int unit_start(Unit *u) { + if (u->meta.load_state != UNIT_LOADED) + return -EINVAL; + +- /* If this is already (being) started, then this will +- * succeed. Note that this will even succeed if this unit is +- * not startable by the user. This is relied on to detect when +- * we need to wait for units and when waiting is finished. */ ++ /* If this is already started, then this will succeed. Note ++ * that this will even succeed if this unit is not startable ++ * by the user. This is relied on to detect when we need to ++ * wait for units and when waiting is finished. */ + state = unit_active_state(u); + if (UNIT_IS_ACTIVE_OR_RELOADING(state)) + return -EALREADY; + +- /* If the conditions failed, don't do anything at all */ +- if (!unit_condition_test(u)) { ++ /* If the conditions failed, don't do anything at all. If we ++ * already are activating this call might still be useful to ++ * speed up activation in case there is some hold-off time, ++ * but we don't want to recheck the condition in that case. */ ++ if (state != UNIT_ACTIVATING && ++ !unit_condition_test(u)) { + log_debug("Starting of %s requested but condition failed. Ignoring.", u->meta.id); + return -EALREADY; + } +-- +1.7.3.4 + diff --git a/macros.systemd b/macros.systemd index 59a96433..8995a9a7 100644 --- a/macros.systemd +++ b/macros.systemd @@ -6,8 +6,11 @@ # # add %systemd_requires in the specfile # +# %pre +# %service_add_pre demo.service demo1.service +# # %post -# %service_add demo.service demo1.service +# %service_add_post demo.service demo1.service # # %preun # %service_del_preun demo.service @@ -15,64 +18,30 @@ # %postun # %service_del_postun demo.service # -# -# when migrating a package from sysvinit to systemd : -# %triggerun -- package_name < version_where_switch_occured -# %service_migrate_to_systemd [ -l run_level ] service_name.service -# foobar.socket -# -# -l is optional ### # This is for /bin/systemctl -%systemd_requires \ -Requires(pre): systemd \ -Requires(post): systemd \ -Requires(preun): systemd \ -Requires(postun): systemd \ +%systemd_requires \ +Requires(pre): systemd \ +Requires(post): systemd \ +Requires(preun): systemd \ +Requires(postun): systemd \ %_unitdir /lib/systemd/system -# On install, tell systemd to reload its unit files -%service_add() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -if [ $FIRST_ARG -eq 1 ]; then \ -# Initial installation \ - /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -fi \ -%{nil} - -# On uninstall, disable and stop services -%service_del_preun() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -if [ $FIRST_ARG -eq 0 ]; then \ -# Package removal, not upgrade \ - /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -# On uninstall, tell systemd to reload its unit files -%service_del_postun() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -if [ $FIRST_ARG -ge 1 ]; then \ -# Package upgrade, not uninstall \ - /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%service_migrate_to_systemd_pre() \ +%service_add_pre() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ # disable migration if initial install under systemd \ if [ $FIRST_ARG -eq 1 ]; then \ for service in %{?*} ; do \ - touch "/var/lib/systemd/migrated/$service" \ + sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + touch "/var/lib/systemd/migrated/$sysv_service" \ done \ else \ for service in %{?*} ; do \ - if [ ! -e "/var/lib/systemd/migrated/$service" ]; then \ - services_to_migrate="$services_to_migrate $service" \ + sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ + services_to_migrate="$services_to_migrate $sysv_service" \ fi \ done \ if [ -n "$services_to_migrate" ]; then \ @@ -81,25 +50,45 @@ else \ fi \ %{nil} -%service_migrate_to_systemd_post() \ +# On install, tell systemd to reload its unit files +%service_add_post() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ for service in %{?*} ; do \ - if [ ! -e "/var/lib/systemd/migrated/$service" ]; then \ - services_to_migrate="$services_to_migrate $service" \ - touch "/var/lib/systemd/migrated/$service" \ + sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ + services_to_migrate="$services_to_migrate $sysv_service" \ + touch "/var/lib/systemd/migrated/$sysv_service" \ fi \ done \ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ +fi \ +/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ +%{nil} + +# On uninstall, disable and stop services +%service_del_preun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -eq 0 ]; then \ +# Package removal, not upgrade \ + /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi \ +%{nil} + +# On uninstall, tell systemd to reload its unit files +%service_del_postun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -ge 1 ]; then \ +# Package upgrade, not uninstall \ + /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ +else # package uninstall \ + for service in %{?*} ; do \ + sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null \ + done \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ fi \ %{nil} -%service_migrate_to_systemd_postun() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -if [ $FIRST_ARG -eq 0 ]; then \ - for service in %{?*} ; do \ - rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null \ - done \ -fi \ -%{nil} - diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 0a3b1e3f..7f8c2257 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com + +- Merge migration rpm macros into service_add/service_del macros. +- Use systemd presets in rpm macros +- Add fix-reload.patch: handle daemon-reload and start condition + properly (bnc#719221). + ------------------------------------------------------------------- Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 0a3b1e3f..7f8c2257 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com + +- Merge migration rpm macros into service_add/service_del macros. +- Use systemd presets in rpm macros +- Add fix-reload.patch: handle daemon-reload and start condition + properly (bnc#719221). + ------------------------------------------------------------------- Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 1e9dca3e..3b98d1f4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,6 +67,8 @@ Patch10: revert_insserv_conf_parsing.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch9: 0001-execute-fix-bus-serialization-for-commands.patch +# PATCH-FIX-UPSTREAM fix-reload.patch fcrozat@suse.com bnc#719221 -- Fix daemon-reload and conditions when service is starting +Patch11: fix-reload.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -121,6 +123,7 @@ Plymouth integration for systemd %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %build autoreconf -fiv @@ -141,7 +144,7 @@ make %{?_smp_mflags} mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/lib/systemd/{system.preset,user.preset} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators install -m755 %{S:7} %{buildroot}/lib/systemd/ @@ -251,6 +254,8 @@ rm -rf %{buildroot} %{_bindir}/systemd-cgls /lib/systemd/systemd-* %dir /lib/systemd/system-shutdown +%dir /lib/systemd/system.preset +%dir /lib/systemd/user.preset /%{_lib}/security/pam_systemd.so %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user From 7d34008a224cbf4228994ada99f8a189b4f327aaeb7c90e6f606a9aee7cd7c91 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Sun, 2 Oct 2011 09:16:05 +0000 Subject: [PATCH 071/991] Accepting request 85490 from Base:System - Add services to stop bootsplash at end of startup and start it at beginning of shutdown. - Fix bootsplash call and ensure dependencies are set right. - Add services to stop bootsplash at end of startup and start it at beginning of shutdown. - Fix bootsplash call and ensure dependencies are set right. (forwarded request 85489 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/85490 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=72 --- bootsplash-quit.service | 10 ++++++++++ bootsplash-shutdown.service | 10 ++++++++++ bootsplash-startup.service | 2 +- detect-non-running.patch | 30 ++++++++++++++++++++++++++++++ macros.systemd | 8 ++++---- systemd-bootsplash | 9 ++++++++- systemd-gtk.changes | 15 +++++++++++++++ systemd.changes | 15 +++++++++++++++ systemd.spec | 11 ++++++++++- 9 files changed, 103 insertions(+), 7 deletions(-) create mode 100644 bootsplash-quit.service create mode 100644 bootsplash-shutdown.service create mode 100644 detect-non-running.patch diff --git a/bootsplash-quit.service b/bootsplash-quit.service new file mode 100644 index 00000000..b2908458 --- /dev/null +++ b/bootsplash-quit.service @@ -0,0 +1,10 @@ +[Unit] +Description=Terminate bootsplash +After=xdm.service rc-local.service bootsplash-startup.service +DefaultDependencies=no +Names=plymout-quit-wait.service + +[Service] +ExecStart=/lib/systemd/systemd-bootsplash 5 +Type=oneshot +RemainAfterExit=true diff --git a/bootsplash-shutdown.service b/bootsplash-shutdown.service new file mode 100644 index 00000000..76d4344c --- /dev/null +++ b/bootsplash-shutdown.service @@ -0,0 +1,10 @@ +[Unit] +Description=Start bootsplash for shutdown/reboot +Before=shutdown.service halt.service +DefaultDependencies=no +ConditionKernelCommandLine=splash=silent + +[Service] +ExecStart=/lib/systemd/systemd-bootsplash 0 +Type=oneshot +RemainAfterExit=true diff --git a/bootsplash-startup.service b/bootsplash-startup.service index 8ed061fe..a10976c6 100644 --- a/bootsplash-startup.service +++ b/bootsplash-startup.service @@ -4,6 +4,6 @@ DefaultDependencies=no ConditionKernelCommandLine=splash=silent [Service] -ExecStart=/lib/system/systemd-bootsplash B +ExecStart=/lib/systemd/systemd-bootsplash 0 Type=oneshot RemainAfterExit=true diff --git a/detect-non-running.patch b/detect-non-running.patch new file mode 100644 index 00000000..eedcac3c --- /dev/null +++ b/detect-non-running.patch @@ -0,0 +1,30 @@ +From 8185a5090a34531b9ef0a65ed3e948e7b6839754 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 29 Sep 2011 15:31:53 +0200 +Subject: [PATCH] systemctl: fix detection whether the dbus connection is available + +--- + src/systemctl.c | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/src/systemctl.c b/src/systemctl.c +index 848d6a8..7af0f73 100644 +--- a/src/systemctl.c ++++ b/src/systemctl.c +@@ -4989,6 +4989,13 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError + return 0; + } + ++ if (!bus) { ++ log_error("Failed to get D-Bus connection: %s", error->message); ++ return -EIO; ++ } ++ ++ } else { ++ + if (!bus && !avoid_bus()) { + log_error("Failed to get D-Bus connection: %s", error->message); + return -EIO; +-- +1.7.3.4 + diff --git a/macros.systemd b/macros.systemd index 8995a9a7..87621abe 100644 --- a/macros.systemd +++ b/macros.systemd @@ -34,12 +34,12 @@ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ # disable migration if initial install under systemd \ if [ $FIRST_ARG -eq 1 ]; then \ for service in %{?*} ; do \ - sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + sysv_service=${service%.*} \ touch "/var/lib/systemd/migrated/$sysv_service" \ done \ else \ for service in %{?*} ; do \ - sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + sysv_service=${service%.*} \ if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ services_to_migrate="$services_to_migrate $sysv_service" \ fi \ @@ -54,7 +54,7 @@ fi \ %service_add_post() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ for service in %{?*} ; do \ - sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + sysv_service=${service%.*} \ if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ services_to_migrate="$services_to_migrate $sysv_service" \ touch "/var/lib/systemd/migrated/$sysv_service" \ @@ -85,7 +85,7 @@ if [ $FIRST_ARG -ge 1 ]; then \ /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ else # package uninstall \ for service in %{?*} ; do \ - sysv_service=`echo $service | sed -e 's/\\.[a-z]*//g'` \ + sysv_service=${service%.*} \ rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null \ done \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ diff --git a/systemd-bootsplash b/systemd-bootsplash index 653cbe7d..1f5839a5 100644 --- a/systemd-bootsplash +++ b/systemd-bootsplash @@ -1,3 +1,10 @@ #! /bin/bash . /etc/rc.splash $1 -splashtrigger "rlchange $1" +export RUNLEVEL=$1 +export PREVLEVEL=N +if [ "$1" == "5" ]; then + splashtrigger "rlreached $1" +else + splashtrigger "rlchange $1" + splashtrigger "coolo" +fi diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 7f8c2257..81c87426 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com + +- Add services to stop bootsplash at end of startup and start it at + beginning of shutdown. +- Fix bootsplash call and ensure dependencies are set right. + +------------------------------------------------------------------- +Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com + +- Add detect-non-running.patch: fix assertion when running + systemctl under non systemd system (git). +- Requires presets branding package. +- Improve macros a little bit. + ------------------------------------------------------------------- Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 7f8c2257..81c87426 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com + +- Add services to stop bootsplash at end of startup and start it at + beginning of shutdown. +- Fix bootsplash call and ensure dependencies are set right. + +------------------------------------------------------------------- +Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com + +- Add detect-non-running.patch: fix assertion when running + systemctl under non systemd system (git). +- Requires presets branding package. +- Improve macros a little bit. + ------------------------------------------------------------------- Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 3b98d1f4..f9f02fc6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -44,6 +44,7 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: util-linux >= 2.19 Requires: pam-config +Requires: systemd-presets-branding Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 @@ -55,6 +56,8 @@ Source5: systemd-insserv_conf Source6: baselibs.conf Source7: systemd-bootsplash Source8: bootsplash-startup.service +Source9: bootsplash-quit.service +Source10: bootsplash-shutdown.service Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -69,6 +72,7 @@ Patch10: revert_insserv_conf_parsing.patch Patch9: 0001-execute-fix-bus-serialization-for-commands.patch # PATCH-FIX-UPSTREAM fix-reload.patch fcrozat@suse.com bnc#719221 -- Fix daemon-reload and conditions when service is starting Patch11: fix-reload.patch +Patch12: detect-non-running.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -124,6 +128,7 @@ Plymouth integration for systemd %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build autoreconf -fiv @@ -148,7 +153,11 @@ mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrate install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators install -m755 %{S:7} %{buildroot}/lib/systemd/ -install -m644 %{S:8} %{buildroot}/lib/systemd/system/ +install -m644 %{S:8} %{S:9} %{S:10} %{buildroot}/lib/systemd/system/ +ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target.wants/ +ln -s ../bootsplash-quit.service %{buildroot}/lib/systemd/system/multi-user.target.wants/ +ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/shutdown.target.wants/ +ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/reboot.target.wants/ ln -s ../bin/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt From fc5292bb65cab5f9076fdcc635f06be9317974da304e9661da0e06f0aa471de3 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Sat, 8 Oct 2011 09:44:34 +0000 Subject: [PATCH 072/991] Accepting request 87081 from Base:System - Add logind-warning.patch: fix pam warning (bnc#716384) (forwarded request 87080 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/87081 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=73 --- ...e-fix-bus-serialization-for-commands.patch | 44 -------- ...aplock-and-compose_table-and-kbd_rat.patch | 24 ++-- ...ndencies-added-when-parsing-insserv..patch | 44 ++++++++ ...sv-service-with-detected-pid-as-Rema.patch | 38 +++++++ fix-reload.patch | 43 -------- logind-warning.patch | 35 ++++++ revert_insserv_conf_parsing.patch | 103 ------------------ systemd-34.tar.bz2 | 3 - systemd-36.tar.bz2 | 3 + systemd-gtk.changes | 20 ++++ systemd-gtk.spec | 4 +- systemd-insserv_conf | 2 +- systemd.changes | 20 ++++ systemd.spec | 18 +-- 14 files changed, 184 insertions(+), 217 deletions(-) delete mode 100644 0001-execute-fix-bus-serialization-for-commands.patch create mode 100644 0001-service-Fix-dependencies-added-when-parsing-insserv..patch create mode 100644 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch delete mode 100644 fix-reload.patch create mode 100644 logind-warning.patch delete mode 100644 revert_insserv_conf_parsing.patch delete mode 100644 systemd-34.tar.bz2 create mode 100644 systemd-36.tar.bz2 diff --git a/0001-execute-fix-bus-serialization-for-commands.patch b/0001-execute-fix-bus-serialization-for-commands.patch deleted file mode 100644 index 5389a3bd..00000000 --- a/0001-execute-fix-bus-serialization-for-commands.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 7daa9e6e29b546275566084512ea4e547bc79b91 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 29 Aug 2011 19:44:52 +0200 -Subject: [PATCH] execute: fix bus serialization for commands - ---- - src/dbus-execute.c | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/dbus-execute.c b/src/dbus-execute.c -index 6ceffc5..201f6b5 100644 ---- a/src/dbus-execute.c -+++ b/src/dbus-execute.c -@@ -308,13 +308,14 @@ int bus_execute_append_command(DBusMessageIter *i, const char *property, void *d - assert(i); - assert(property); - -- if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sasbttuii)", &sub)) -+ if (!dbus_message_iter_open_container(i, DBUS_TYPE_ARRAY, "(sasbttttuii)", &sub)) - return -ENOMEM; - - LIST_FOREACH(command, c, c) { - char **l; - uint32_t pid; - int32_t code, status; -+ dbus_bool_t b; - - if (!c->path) - continue; -@@ -332,8 +333,10 @@ int bus_execute_append_command(DBusMessageIter *i, const char *property, void *d - code = (int32_t) c->exec_status.code; - status = (int32_t) c->exec_status.status; - -+ b = !!c->ignore; -+ - if (!dbus_message_iter_close_container(&sub2, &sub3) || -- !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &c->ignore) || -+ !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &b) || - !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.realtime) || - !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.monotonic) || - !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.exit_timestamp.realtime) || --- -1.7.3.4 - diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch index cfd57c0a..7b91b90f 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -1,4 +1,4 @@ -From 07f0fb4424105c0e90e2add79efe48109b6c9fd1 Mon Sep 17 00:00:00 2001 +From 5c894bc1e45f7c34bf7fc4ca0d20bf1c3b679bef Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Thu, 18 Aug 2011 18:28:01 +0200 Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate @@ -8,18 +8,18 @@ Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate 1 files changed, 121 insertions(+), 3 deletions(-) diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c -index 4347a20..af558ef 100644 +index c5f3628..6603a75 100644 --- a/src/vconsole-setup.c +++ b/src/vconsole-setup.c -@@ -39,6 +39,7 @@ - #include "util.h" +@@ -40,6 +40,7 @@ #include "log.h" #include "macro.h" + #include "virt.h" +#include "strv.h" static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -78,8 +79,8 @@ static int disable_utf8(int fd) { +@@ -79,8 +80,8 @@ static int disable_utf8(int fd) { return r; } @@ -30,7 +30,7 @@ index 4347a20..af558ef 100644 int i = 0; pid_t pid; -@@ -98,6 +99,8 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle, +@@ -99,6 +100,8 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle, args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +39,7 @@ index 4347a20..af558ef 100644 args[i++] = NULL; if ((pid = fork()) < 0) { -@@ -149,6 +152,96 @@ static int load_font(const char *vc, const char *font, const char *map, const ch +@@ -150,6 +153,96 @@ static int load_font(const char *vc, const char *font, const char *map, const ch return 0; } @@ -136,7 +136,7 @@ index 4347a20..af558ef 100644 int main(int argc, char **argv) { const char *vc; char *vc_keymap = NULL; -@@ -162,8 +255,16 @@ int main(int argc, char **argv) { +@@ -163,8 +256,16 @@ int main(int argc, char **argv) { #ifdef TARGET_MANDRIVA char *vc_keytable = NULL; #endif @@ -153,7 +153,7 @@ index 4347a20..af558ef 100644 int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -268,6 +369,10 @@ int main(int argc, char **argv) { +@@ -265,6 +366,10 @@ int main(int argc, char **argv) { #elif defined(TARGET_SUSE) if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, "KEYTABLE", &vc_keymap, @@ -164,7 +164,7 @@ index 4347a20..af558ef 100644 NULL)) < 0) { if (r != -ENOENT) -@@ -283,6 +388,7 @@ int main(int argc, char **argv) { +@@ -280,6 +385,7 @@ int main(int argc, char **argv) { if (r != -ENOENT) log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); } @@ -172,7 +172,7 @@ index 4347a20..af558ef 100644 #elif defined(TARGET_ARCH) if ((r = parse_env_file("/etc/rc.conf", NEWLINE, -@@ -439,7 +545,11 @@ int main(int argc, char **argv) { +@@ -436,7 +542,11 @@ int main(int argc, char **argv) { if (!utf8) disable_utf8(fd); @@ -185,7 +185,7 @@ index 4347a20..af558ef 100644 load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -447,6 +557,14 @@ finish: +@@ -444,6 +554,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch new file mode 100644 index 00000000..28910fc4 --- /dev/null +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -0,0 +1,44 @@ +From 6620bceb7233a830be3635a4f7a7dc75c13a9c8e Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 30 Sep 2011 14:12:45 +0200 +Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf + +--- + src/service.c | 16 +++++++++------- + 1 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/src/service.c b/src/service.c +index c2053ce..4abc7e7 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -3031,18 +3031,20 @@ static void sysv_facility_in_insserv_conf(Manager *mgr) { + char *dep = NULL, *name, **j; + + STRV_FOREACH (j, parsed+1) { +- if (*j[0]=='+') { +- e = UNIT_WANTS; ++ if (*j[0]=='+') + name = *j+1; +- } +- else { +- e = UNIT_REQUIRES; ++ else + name = *j; +- } ++ if (streq(name, "boot.localfs") || ++ streq(name, "boot.crypto")) ++ continue; ++ + if (sysv_translate_facility(name, NULL, &dep) < 0) + continue; + +- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); ++ r = unit_add_dependency_by_name_inverse(u, UNIT_BEFORE, dep, NULL, true); ++ if (*j[0]!='+') ++ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true); + free(dep); + } + } +-- +1.7.3.4 + diff --git a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch new file mode 100644 index 00000000..a71df5c4 --- /dev/null +++ b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch @@ -0,0 +1,38 @@ +From 700b1261115a67392014ff2c887a9cffc28108ab Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 30 Sep 2011 12:58:17 +0200 +Subject: [PATCH] service: flags sysv service with detected pid as RemainAfterExit=false + +LSB header doesn't give pidfile, so all LSB initscripts have +RemainAfterExit=false, causing daemon termination to not be reported as +such by systemd. Checking at startup if daemon is still running for +sysv initscript to disable RemainAfterExit helps a lot. +Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 +--- + src/service.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletions(-) + +diff --git a/src/service.c b/src/service.c +index 6b7064a..eb2699c 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -2012,9 +2012,15 @@ static void service_enter_running(Service *s, bool success) { + main_pid_ok = main_pid_good(s); + cgroup_ok = cgroup_good(s); + ++ + if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && +- (s->bus_name_good || s->type != SERVICE_DBUS)) ++ (s->bus_name_good || s->type != SERVICE_DBUS)) { ++#ifdef HAVE_SYSV_COMPAT ++ if (s->sysv_enabled && !s->pid_file) ++ s->remain_after_exit = false; ++#endif + service_set_state(s, SERVICE_RUNNING); ++ } + else if (s->remain_after_exit) + service_set_state(s, SERVICE_EXITED); + else +-- +1.7.3.4 + diff --git a/fix-reload.patch b/fix-reload.patch deleted file mode 100644 index 46462058..00000000 --- a/fix-reload.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a82e5507a6e03766957d43ca8818112ae9766288 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 Sep 2011 21:32:18 +0200 -Subject: [PATCH] unit: don't recheck conditions when a unit is already starting but unit_start() is invoked - ---- - src/unit.c | 16 ++++++++++------ - 1 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/src/unit.c b/src/unit.c -index 3ce87ea..0b435cb 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -888,16 +888,20 @@ int unit_start(Unit *u) { - if (u->meta.load_state != UNIT_LOADED) - return -EINVAL; - -- /* If this is already (being) started, then this will -- * succeed. Note that this will even succeed if this unit is -- * not startable by the user. This is relied on to detect when -- * we need to wait for units and when waiting is finished. */ -+ /* If this is already started, then this will succeed. Note -+ * that this will even succeed if this unit is not startable -+ * by the user. This is relied on to detect when we need to -+ * wait for units and when waiting is finished. */ - state = unit_active_state(u); - if (UNIT_IS_ACTIVE_OR_RELOADING(state)) - return -EALREADY; - -- /* If the conditions failed, don't do anything at all */ -- if (!unit_condition_test(u)) { -+ /* If the conditions failed, don't do anything at all. If we -+ * already are activating this call might still be useful to -+ * speed up activation in case there is some hold-off time, -+ * but we don't want to recheck the condition in that case. */ -+ if (state != UNIT_ACTIVATING && -+ !unit_condition_test(u)) { - log_debug("Starting of %s requested but condition failed. Ignoring.", u->meta.id); - return -EALREADY; - } --- -1.7.3.4 - diff --git a/logind-warning.patch b/logind-warning.patch new file mode 100644 index 00000000..4ccf2f67 --- /dev/null +++ b/logind-warning.patch @@ -0,0 +1,35 @@ +From 3887b5abcb3870db9ed53de3875a465c230ddd3f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Oct 2011 01:38:13 +0200 +Subject: [PATCH] logind: properly generate session creation response on dbus + +This fixes the various reported issues with dbus message parsing when +running su. +--- + src/logind-dbus.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/src/logind-dbus.c b/src/logind-dbus.c +index b33a096..bc1e49d 100644 +--- a/src/logind-dbus.c ++++ b/src/logind-dbus.c +@@ -405,12 +405,16 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess + goto fail; + } + ++ seat = session->seat ? session->seat->id : ""; ++ vtnr = session->vtnr; + b = dbus_message_append_args( + reply, + DBUS_TYPE_STRING, &session->id, + DBUS_TYPE_OBJECT_PATH, &p, + DBUS_TYPE_STRING, &session->user->runtime_path, + DBUS_TYPE_UNIX_FD, &fifo_fd, ++ DBUS_TYPE_STRING, &seat, ++ DBUS_TYPE_UINT32, &vtnr, + DBUS_TYPE_INVALID); + free(p); + +-- +1.7.3.4 + diff --git a/revert_insserv_conf_parsing.patch b/revert_insserv_conf_parsing.patch deleted file mode 100644 index 3279bd1d..00000000 --- a/revert_insserv_conf_parsing.patch +++ /dev/null @@ -1,103 +0,0 @@ -From b0ff66c6e92ca9d9458f3236ee37397635bb0f0e Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 9 Sep 2011 11:19:26 +0200 -Subject: [PATCH] Revert "service: parse insserv.conf and plugs its system facilities into systemd." - -Let's use a generator instead - -This reverts commit de3910a324aefcb15c26be27033d6917494e5946. ---- - src/service.c | 70 --------------------------------------------------------- - 1 files changed, 0 insertions(+), 70 deletions(-) - -diff --git a/src/service.c b/src/service.c -index abd8f36..37cb0bc 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -2969,72 +2969,6 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - } - - #ifdef HAVE_SYSV_COMPAT -- --#ifdef TARGET_SUSE --static void sysv_facility_in_insserv_conf(Manager *mgr) { -- FILE *f=NULL; -- int r; -- -- if (!(f = fopen("/etc/insserv.conf", "re"))) { -- r = errno == ENOENT ? 0 : -errno; -- goto finish; -- } -- -- while (!feof(f)) { -- char l[LINE_MAX], *t; -- char **parsed = NULL; -- -- if (!fgets(l, sizeof(l), f)) { -- if (feof(f)) -- break; -- -- r = -errno; -- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r)); -- goto finish; -- } -- -- t = strstrip(l); -- if (*t != '$' && *t != '<') -- continue; -- -- parsed = strv_split(t,WHITESPACE); -- /* we ignore , not used, equivalent to X-Interactive */ -- if (parsed && !startswith_no_case (parsed[0], "")) { -- char *facility; -- Unit *u; -- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) -- continue; -- if ((u = manager_get_unit(mgr, facility)) && (u->meta.type == UNIT_TARGET)) { -- UnitDependency e; -- char *dep = NULL, *name, **j; -- -- STRV_FOREACH (j, parsed+1) { -- if (*j[0]=='+') { -- e = UNIT_WANTS; -- name = *j+1; -- } -- else { -- e = UNIT_REQUIRES; -- name = *j; -- } -- if (sysv_translate_facility(name, NULL, &dep) < 0) -- continue; -- -- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); -- free(dep); -- } -- } -- free(facility); -- } -- strv_free(parsed); -- } --finish: -- if (f) -- fclose(f); -- --} --#endif -- - static int service_enumerate(Manager *m) { - char **p; - unsigned i; -@@ -3183,10 +3117,6 @@ static int service_enumerate(Manager *m) { - - r = 0; - --#ifdef TARGET_SUSE -- sysv_facility_in_insserv_conf (m); --#endif -- - finish: - free(path); - free(fpath); --- -1.7.3.4 - diff --git a/systemd-34.tar.bz2 b/systemd-34.tar.bz2 deleted file mode 100644 index 75e28471..00000000 --- a/systemd-34.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:046b9f23a3e24f481877fdb552638c61b558c7f306cbbec137204cc4e074e614 -size 899705 diff --git a/systemd-36.tar.bz2 b/systemd-36.tar.bz2 new file mode 100644 index 00000000..45d542d5 --- /dev/null +++ b/systemd-36.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693cd0a8ad63c5e22c0fc45115e05180f0d33f60118972c0d5d080957fc69774 +size 921952 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 81c87426..9891b612 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com + +- Add logind-warning.patch: fix pam warning (bnc#716384) + +------------------------------------------------------------------- +Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com + +- Update to version 36 : + - many bugfixes + - systemd now requires socket-activated syslog implementations + - After=syslog.target is no longer needed in .service files + - X-Interactive is ignored in LSB headers (was not working) +- Enable back insserv.conf parsing in systemd core and fix added + dependencies (bnc#721428). +- Fix detection of LSB services status when running daemon + (bnc#721426). +- Drop 0001-execute-fix-bus-serialization-for-commands.patch, + fix-reload.patch + ------------------------------------------------------------------- Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 2ec7b288..6cc184cf 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -20,8 +20,8 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 34 -Release: 5 +Version: 36 +Release: 1 License: GPLv2+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/systemd-insserv_conf b/systemd-insserv_conf index f77de73a..5bdebd1b 100644 --- a/systemd-insserv_conf +++ b/systemd-insserv_conf @@ -25,7 +25,7 @@ while read line ; do stripped_dep=${dep/boot./} case "$stripped_dep" in +*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:2}]:-${stripped_dep:1}.service} $1/$target.wants/ ;; - *) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.wants/ ;; + *) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.requires/ ;; esac done ;; diff --git a/systemd.changes b/systemd.changes index 81c87426..9891b612 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com + +- Add logind-warning.patch: fix pam warning (bnc#716384) + +------------------------------------------------------------------- +Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com + +- Update to version 36 : + - many bugfixes + - systemd now requires socket-activated syslog implementations + - After=syslog.target is no longer needed in .service files + - X-Interactive is ignored in LSB headers (was not working) +- Enable back insserv.conf parsing in systemd core and fix added + dependencies (bnc#721428). +- Fix detection of LSB services status when running daemon + (bnc#721426). +- Drop 0001-execute-fix-bus-serialization-for-commands.patch, + fix-reload.patch + ------------------------------------------------------------------- Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index f9f02fc6..33a01022 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,8 +21,8 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 34 -Release: 5 +Version: 36 +Release: 1 License: GPLv2+ Group: System/Base Summary: A System and Session Manager @@ -63,16 +63,15 @@ Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch # don't start getty on tty1 until all password request are done Patch8: tty1.patch -Patch10: revert_insserv_conf_parsing.patch +Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch +Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -Patch9: 0001-execute-fix-bus-serialization-for-commands.patch -# PATCH-FIX-UPSTREAM fix-reload.patch fcrozat@suse.com bnc#719221 -- Fix daemon-reload and conditions when service is starting -Patch11: fix-reload.patch Patch12: detect-non-running.patch +Patch14: logind-warning.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -125,10 +124,10 @@ Plymouth integration for systemd %patch1 -p1 %patch6 -p1 %patch8 -p1 -%patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch12 -p1 +%patch13 -p1 +%patch14 -p1 %build autoreconf -fiv @@ -151,7 +150,8 @@ install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/lib/systemd/{system.preset,user.preset} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators +# do not install, code has been fixed, might be useful in the future +#install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators install -m755 %{S:7} %{buildroot}/lib/systemd/ install -m644 %{S:8} %{S:9} %{S:10} %{buildroot}/lib/systemd/system/ ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target.wants/ From 135fa85fb7e456363f5fa560abaa3269a23b62c304094a64b15cf25c7968e988 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Tue, 11 Oct 2011 15:59:42 +0000 Subject: [PATCH 073/991] Accepting request 87397 from Base:System - make sure updaters get in the /sbin/init from here - the sub package of the split package will decide which init wins in update case - under openSUSE if it's not systemd, chances are good it's sysvinit - do not list specific sbin_init providers OBS-URL: https://build.opensuse.org/request/show/87397 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=74 --- support-sysvinit.patch | 21 +++++++++++++++++++++ systemd.changes | 17 +++++++++++++++++ systemd.spec | 12 ++++-------- 3 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 support-sysvinit.patch diff --git a/support-sysvinit.patch b/support-sysvinit.patch new file mode 100644 index 00000000..627a3082 --- /dev/null +++ b/support-sysvinit.patch @@ -0,0 +1,21 @@ +Index: systemd-36/src/systemctl.c +=================================================================== +--- systemd-36.orig/src/systemctl.c ++++ systemd-36/src/systemctl.c +@@ -4672,10 +4672,13 @@ static int parse_argv(int argc, char *ar + /* Hmm, so some other init system is + * running, we need to forward this + * request to it. For now we simply +- * guess that it is Upstart. */ +- +- execv("/lib/upstart/telinit", argv); ++ * guess that it is Sysvinit or Upstart. */ + ++ if (!access("/lib/sysvinit/telinit", X_OK)) { ++ execv("/lib/sysvinit/telinit", argv); ++ } else { ++ execv("/lib/upstart/telinit", argv); ++ } + log_error("Couldn't find an alternative telinit implementation to spawn."); + return -EIO; + } diff --git a/systemd.changes b/systemd.changes index 9891b612..b45fab37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com + +- make sure updaters get in the /sbin/init from here - the sub package + of the split package will decide which init wins in update case + +------------------------------------------------------------------- +Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com + +- under openSUSE if it's not systemd, chances are good it's + sysvinit + +------------------------------------------------------------------- +Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com + +- do not list specific sbin_init providers + ------------------------------------------------------------------- Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 33a01022..bec7ce20 100644 --- a/systemd.spec +++ b/systemd.spec @@ -65,6 +65,7 @@ Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch Patch8: tty1.patch Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +Patch15: support-sysvinit.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -84,7 +85,6 @@ transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. %package devel -License: GPLv2+ Group: Development/Libraries/C and C++ Summary: Development headers for systemd Requires: %{name} = %{version} @@ -94,13 +94,11 @@ Requires: pkg-config Development headers and auxiliary files for developing applications for systemd. %package sysvinit -License: GPLv2+ -Group: System/Base Summary: System V init tools Requires: %{name} = %{version} Provides: sbin_init -Conflicts: sysvinit -Conflicts: upstart +Conflicts: otherproviders(sbin_init) +Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. @@ -108,9 +106,6 @@ Drop-in replacement of System V init tools. %if %{build_plymouth} %package plymouth - -License: GPLv2+ -Group: System/Base Summary: Plymouth support for systemd Requires: %{name} = %{version} Requires: plymouth @@ -128,6 +123,7 @@ Plymouth integration for systemd %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build autoreconf -fiv From d0dc7c30237eee85965f0c3e5e4b8dc39aef1b4ffb1108c40147536021b82f4d Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Wed, 12 Oct 2011 22:02:20 +0000 Subject: [PATCH 074/991] Accepting request 87532 from Base:System - Shadow single sysv service, it was breaking runlevel 1. - Add modules_on_boot.patch to handle /etc/sysconfig/kernel MODULES_ON_BOOT variable (bnc#721662). (forwarded request 87530 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/87532 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=75 --- detect-non-running.patch | 30 ---- logind-warning.patch | 35 ----- modules_on_boot.patch | 79 ++++++++++ systemd-36.tar.bz2 | 3 - systemd-37.tar.bz2 | 3 + systemd-gtk.changes | 35 +++++ systemd-gtk.spec | 2 +- systemd-sysv-convert | 301 +++++++++++++++++++++------------------ systemd.changes | 18 +++ systemd.spec | 10 +- 10 files changed, 305 insertions(+), 211 deletions(-) delete mode 100644 detect-non-running.patch delete mode 100644 logind-warning.patch create mode 100644 modules_on_boot.patch delete mode 100644 systemd-36.tar.bz2 create mode 100644 systemd-37.tar.bz2 diff --git a/detect-non-running.patch b/detect-non-running.patch deleted file mode 100644 index eedcac3c..00000000 --- a/detect-non-running.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8185a5090a34531b9ef0a65ed3e948e7b6839754 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 29 Sep 2011 15:31:53 +0200 -Subject: [PATCH] systemctl: fix detection whether the dbus connection is available - ---- - src/systemctl.c | 7 +++++++ - 1 files changed, 7 insertions(+), 0 deletions(-) - -diff --git a/src/systemctl.c b/src/systemctl.c -index 848d6a8..7af0f73 100644 ---- a/src/systemctl.c -+++ b/src/systemctl.c -@@ -4989,6 +4989,13 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError - return 0; - } - -+ if (!bus) { -+ log_error("Failed to get D-Bus connection: %s", error->message); -+ return -EIO; -+ } -+ -+ } else { -+ - if (!bus && !avoid_bus()) { - log_error("Failed to get D-Bus connection: %s", error->message); - return -EIO; --- -1.7.3.4 - diff --git a/logind-warning.patch b/logind-warning.patch deleted file mode 100644 index 4ccf2f67..00000000 --- a/logind-warning.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3887b5abcb3870db9ed53de3875a465c230ddd3f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Oct 2011 01:38:13 +0200 -Subject: [PATCH] logind: properly generate session creation response on dbus - -This fixes the various reported issues with dbus message parsing when -running su. ---- - src/logind-dbus.c | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/src/logind-dbus.c b/src/logind-dbus.c -index b33a096..bc1e49d 100644 ---- a/src/logind-dbus.c -+++ b/src/logind-dbus.c -@@ -405,12 +405,16 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess - goto fail; - } - -+ seat = session->seat ? session->seat->id : ""; -+ vtnr = session->vtnr; - b = dbus_message_append_args( - reply, - DBUS_TYPE_STRING, &session->id, - DBUS_TYPE_OBJECT_PATH, &p, - DBUS_TYPE_STRING, &session->user->runtime_path, - DBUS_TYPE_UNIX_FD, &fifo_fd, -+ DBUS_TYPE_STRING, &seat, -+ DBUS_TYPE_UINT32, &vtnr, - DBUS_TYPE_INVALID); - free(p); - --- -1.7.3.4 - diff --git a/modules_on_boot.patch b/modules_on_boot.patch new file mode 100644 index 00000000..929a2caa --- /dev/null +++ b/modules_on_boot.patch @@ -0,0 +1,79 @@ +From 051e407e1af70e779c092c81733a98832c29d6b4 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Wed, 12 Oct 2011 15:18:29 +0200 +Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list + +--- + src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 42 insertions(+), 0 deletions(-) + +diff --git a/src/modules-load.c b/src/modules-load.c +index 8dd98f7..73ef5f5 100644 +--- a/src/modules-load.c ++++ b/src/modules-load.c +@@ -36,6 +36,9 @@ int main(int argc, char *argv[]) { + char **arguments = NULL; + unsigned n_arguments = 0, n_allocated = 0; + char **files, **fn; ++#if defined(TARGET_SUSE) ++ char *modules_on_boot = NULL; ++#endif + + if (argc > 1) { + log_error("This program takes no argument."); +@@ -126,6 +129,42 @@ int main(int argc, char *argv[]) { + } + + strv_free(files); ++#if defined(TARGET_SUSE) ++ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, ++ "MODULES_LOADED_ON_BOOT", &modules_on_boot, ++ NULL)) < 0) { ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); ++ } ++ if (modules_on_boot) { ++ char **modules = strv_split(modules_on_boot,WHITESPACE); ++ char **module; ++ if (modules) { ++ STRV_FOREACH(module, modules) { ++ if (n_arguments >= n_allocated) { ++ char **a; ++ unsigned m; ++ ++ m = MAX(16U, n_arguments*2); ++ ++ if (!(a = realloc(arguments, sizeof(char*) * (m+1)))) { ++ log_error("Failed to increase module array size."); ++ free(*module); ++ r = EXIT_FAILURE; ++ continue; ++ } ++ ++ arguments = a; ++ n_allocated = m; ++ } ++ log_debug("adding module: %s\n", *module); ++ arguments[n_arguments++] = strdup(*module); ++ } ++ } ++ strv_free(modules); ++ } ++#endif ++ + finish: + + if (n_arguments > 3) { +@@ -138,6 +177,9 @@ finish: + } + + strv_free(arguments); ++#if defined(TARGET_SUSE) ++ free(modules_on_boot); ++#endif + + return r; + } +-- +1.7.3.4 + diff --git a/systemd-36.tar.bz2 b/systemd-36.tar.bz2 deleted file mode 100644 index 45d542d5..00000000 --- a/systemd-36.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:693cd0a8ad63c5e22c0fc45115e05180f0d33f60118972c0d5d080957fc69774 -size 921952 diff --git a/systemd-37.tar.bz2 b/systemd-37.tar.bz2 new file mode 100644 index 00000000..6c1ba106 --- /dev/null +++ b/systemd-37.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b38492bde73649cc3520953354ef446c268169c1d342614183655e9ee1a1bbc5 +size 931101 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 9891b612..2391e022 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com + +- Shadow single sysv service, it was breaking runlevel 1. +- Add modules_on_boot.patch to handle /etc/sysconfig/kernel + MODULES_ON_BOOT variable (bnc#721662). + +------------------------------------------------------------------- +Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com + +- Update to release 37: + - many bugfixes + - ConditionCapability added, useful for containers. + - locale mechanism got extend to kbd configuration for + both X and the console + - don't try to guess PID for SysV services anymore (bnc#723194) +- Drop detect-non-running.patch, logind-warning.patch. +- Rewrite systemd-sysv-convert in bash (bnc#716939) +------------------------------------------------------------------- +Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com + +- make sure updaters get in the /sbin/init from here - the sub package + of the split package will decide which init wins in update case + +------------------------------------------------------------------- +Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com + +- under openSUSE if it's not systemd, chances are good it's + sysvinit + +------------------------------------------------------------------- +Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com + +- do not list specific sbin_init providers + ------------------------------------------------------------------- Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 6cc184cf..900f4dba 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -20,7 +20,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 36 +Version: 37 Release: 1 License: GPLv2+ Group: System/Base diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 1cf2b025..3645f435 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -1,148 +1,175 @@ -#!/usr/bin/python -# -*- Mode: Python; python-indent: 8; indent-tabs-mode: t -*- +#!/bin/bash -import sys, os, argparse, errno +if [ "$UID" != "0" ]; then + echo Need to be root. + exit 1 +fi -def find_service(service, runlevel): - priority = -1 +declare -A results_runlevel +declare -A results_priority - for l in os.listdir("/etc/rc.d/rc%i.d" % runlevel): - if len(l) < 4: +usage() { +cat << EOF +usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] + SERVICE [SERVICE ...] +EOF +} + +help() { +usage +cat << EOF +Save and Restore SusV Service Runlevel Information + +positional arguments: + SERVICE Service names + +optional arguments: + -h, --help show this help message and exit + --save Save SysV runlevel information for one or more services + --show Show saved SysV runlevel information for one or more services + --apply Apply saved SysV runlevel information for one or more services + to systemd counterparts +EOF +} + +find_service() { +local service +local runlevel +declare -i priority +service=$1 +runlevel=$2 +priority=-1 +for l in /etc/rc.d/rc$runlevel.d/* ; do + initscript=$(basename $l) + if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then + continue + fi + if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then + if [ ${initscript:1:1} == 0 ]; then + priority=${initscript:2:1} + else + priority=${initscript:1:2} + fi + fi +done +if [ $priority -ge 0 ]; then + return $priority +else + return 255 +fi +} + +lookup_database() { +local services +local service +local runlevel +local priority +local -i k +declare -a parsed +services=$@ +k=0 +results_runlevel=() +results_priority=() +while read line ; do + k+=1 + parsed=($line) + service=${parsed[0]} + runlevel=${parsed[1]} + priority=${parsed[2]} + if [ $runlevel -lt 2 -o $runlevel -gt 5 ]; then + echo "Runlevel out of bounds in database line $k. Ignoring" >/dev/stderr continue - - if l[0] != 'S' or l[3:] != service: + fi + if [ $priority -lt 0 -o $priority -gt 99 ]; then + echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr continue - - p = int(l[1:3]) - - if p >= 0 and p <= 99 and p >= priority: - priority = p; - - return priority - -def lookup_database(services): - try: - database = open("/var/lib/systemd/sysv-convert/database", "r") - except IOError, e: - if e.errno != errno.ENOENT: - raise e - - return {} - - found = {} - k = 0 - - for line in database: - service, r, p = line.strip().split("\t", 3) - k += 1 - - try: - runlevel = int(r) - priority = int(p) - except ValueError, e: - sys.stderr.write("Failed to parse database line %i. Ignoring." % k) + fi + + declare -i found + found=0 + for s in $services ; do + if [ $s == $service ]; then + found=1 + continue + fi + done + if [ $found -eq 0 ]; then continue + fi + results_runlevel[$service]+=" $runlevel" + results_priority[$service]+=" $priority" +done < /var/lib/systemd/sysv-convert/database +} - if runlevel not in (2, 3, 4, 5): - sys.stderr.write("Runlevel out of bounds in database line %i. Ignoring." % k) - continue +case "$1" in + -h|--help) + help + exit 0 + ;; + --save) + shift + for service in $@ ; do + if [ ! -r "/etc/init.d/$service" ]; then + echo "SysV service $service does not exist" >/dev/stderr + exit 1 + fi + for runlevel in 2 3 4 5; do + find_service $service $runlevel + priority=$? + if [ $priority -lt 255 ]; then + echo "$service $runlevel $priority" >> /var/lib/systemd/sysv-convert/database + fi + done + done + ;; + --show) + shift + services=$@ + lookup_database $services + fail=0 + for service in $services; do + if [ -z "${results_runlevel[$service]}" ]; then + echo No information found about service $service found. >/dev/stderr + fail=1 + continue + fi + declare -i count + count=0 + priority=(${results_priority[$service]}) + for runlevel in ${results_runlevel[$service]}; do + echo SysV service $service enabled in runlevel $runlevel at priority ${priority[$count]} + count+=1 + done + done + exit $fail + ;; + --apply) + shift + services=$@ + for service in $services; do + if [ ! -f "/lib/systemd/system/$service.service" ]; then + echo systemd service $service.service does not exist. >/dev/stderr + exit 1 + fi + done + lookup_database $services + for service in $services; do + if [ -z "${results_runlevel[$service]}" ]; then + echo No information found about service $service found. >/dev/stderr + fail=1 + continue + fi + for runlevel in ${results_runlevel[$service]}; do + echo ln -sf /lib/systemd/system/$service.service /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" + /bin/ln -sf /lib/systemd/system/$service.service /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + done - if priority < 0 or priority > 99: - sys.stderr.write("Priority out of bounds in database line %i. Ignoring." % k) - continue + done + ;; + *) usage + exit 2;; +esac - if service not in services: - continue - if service not in found: - found[service] = {} - if runlevel not in found[service] or found[service][runlevel] < priority: - found[service][runlevel] = priority - - return found - -def mkdir_p(path): - try: - os.makedirs(path, 0755) - except OSError, e: - if e.errno != errno.EEXIST: - raise e - -if os.geteuid() != 0: - sys.stderr.write("Need to be root.\n") - sys.exit(1) - -parser = argparse.ArgumentParser(description='Save and Restore SysV Service Runlevel Information') - -parser.add_argument('services', metavar='SERVICE', type=str, nargs='+', - help='Service names') - -parser.add_argument('--save', dest='save', action='store_const', - const=True, default=False, - help='Save SysV runlevel information for one or more services') - -parser.add_argument('--show', dest='show', action='store_const', - const=True, default=False, - help='Show saved SysV runlevel information for one or more services') - -parser.add_argument('--apply', dest='apply', action='store_const', - const=True, default=False, - help='Apply saved SysV runlevel information for one or more services to systemd counterparts') - -a = parser.parse_args() - -if a.save: - for service in a.services: - if not os.access("/etc/init.d/%s" % service, os.F_OK): - sys.stderr.write("SysV service %s does not exist.\n" % service) - sys.exit(1) - - mkdir_p("/var/lib/systemd/sysv-convert") - database = open("/var/lib/systemd/sysv-convert/database", "a") - - for runlevel in (2, 3, 4, 5): - priority = find_service(service, runlevel) - - if priority >= 0: - database.write("%s\t%s\t%s\n" % (service, runlevel, priority)) - -elif a.show: - found = lookup_database(a.services) - - if len(found) <= 0: - sys.stderr.write("No information about passed services found.\n") - sys.exit(1) - - for service, data in found.iteritems(): - for runlevel, priority in data.iteritems(): - sys.stdout.write("SysV service %s enabled in runlevel %s at priority %s\n" % (service, runlevel, priority)) - -elif a.apply: - for service in a.services: - if not os.access("/lib/systemd/system/%s.service" % service, os.F_OK): - sys.stderr.write("systemd service %s.service does not exist.\n" % service) - sys.exit(1) - - found = lookup_database(a.services) - - if len(found) <= 0: - sys.stderr.write("No information about passed services found.\n") - sys.exit(1) - - for service, data in found.iteritems(): - for runlevel in data.iterkeys(): - - sys.stderr.write("ln -sf /lib/systemd/system/%s.service /etc/systemd/system/runlevel%i.target.wants/%s.service\n" % (service, runlevel, service)) - - mkdir_p("/etc/systemd/system/runlevel%i.target.wants" % runlevel) - - try: - os.symlink("/lib/systemd/system/%s.service" % service, - "/etc/systemd/system/runlevel%i.target.wants/%s.service" % (runlevel, service)) - except OSError, e: - if e.errno != errno.EEXIST: - raise e - -else: - parser.print_help() diff --git a/systemd.changes b/systemd.changes index b45fab37..2391e022 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,4 +1,22 @@ ------------------------------------------------------------------- +Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com + +- Shadow single sysv service, it was breaking runlevel 1. +- Add modules_on_boot.patch to handle /etc/sysconfig/kernel + MODULES_ON_BOOT variable (bnc#721662). + +------------------------------------------------------------------- +Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com + +- Update to release 37: + - many bugfixes + - ConditionCapability added, useful for containers. + - locale mechanism got extend to kbd configuration for + both X and the console + - don't try to guess PID for SysV services anymore (bnc#723194) +- Drop detect-non-running.patch, logind-warning.patch. +- Rewrite systemd-sysv-convert in bash (bnc#716939) +------------------------------------------------------------------- Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com - make sure updaters get in the /sbin/init from here - the sub package diff --git a/systemd.spec b/systemd.spec index bec7ce20..6c973dc4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 36 +Version: 37 Release: 1 License: GPLv2+ Group: System/Base @@ -66,13 +66,12 @@ Patch8: tty1.patch Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch Patch15: support-sysvinit.patch +Patch16: modules_on_boot.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -Patch12: detect-non-running.patch -Patch14: logind-warning.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -120,10 +119,9 @@ Plymouth integration for systemd %patch6 -p1 %patch8 -p1 %patch10 -p1 -%patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 +%patch16 -p1 %build autoreconf -fiv @@ -184,6 +182,7 @@ install -m644 %{S:2} %{buildroot}/lib/systemd/system/localfs.service #ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service ln -s /dev/null %{buildroot}/lib/systemd/system/proc.service ln -s fsck-root.service %{buildroot}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/lib/systemd/system/single.service ln -s /dev/null %{buildroot}/lib/systemd/system/swap.service ln -s /dev/null %{buildroot}/lib/systemd/system/startpreload.service ln -s /dev/null %{buildroot}/lib/systemd/system/stoppreload.service @@ -298,6 +297,7 @@ rm -rf %{buildroot} %{_datadir}/polkit-1 %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/systemd %if %{build_plymouth} # Packaged in plymouth subpackage %exclude /lib/systemd/system/plymouth-*.service From d34c2a9aaef03886c72cb7a57ba694e5e774b642f6d05807556e0d9cbf79321e Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Sun, 16 Oct 2011 10:58:13 +0000 Subject: [PATCH 075/991] Accepting request 87884 from Base:System - Recommends dbus-1-python, do not requires python (bnc#716939) - Add private_tmp_crash.patch: prevent crash in debug mode (bnc#699829). - Add systemctl-completion-fix.patch: fix incorrect bash completion with some commands (git). (forwarded request 87882 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/87884 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=76 --- private_tmp_crash.patch | 12 ++++++ systemctl-completion-fix.patch | 77 ++++++++++++++++++++++++++++++++++ systemd-gtk.changes | 9 ++++ systemd.changes | 9 ++++ systemd.spec | 12 +++++- 5 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 private_tmp_crash.patch create mode 100644 systemctl-completion-fix.patch diff --git a/private_tmp_crash.patch b/private_tmp_crash.patch new file mode 100644 index 00000000..c7bb783b --- /dev/null +++ b/private_tmp_crash.patch @@ -0,0 +1,12 @@ +Index: systemd-37/src/namespace.c +=================================================================== +--- systemd-37.orig/src/namespace.c ++++ systemd-37/src/namespace.c +@@ -157,7 +157,6 @@ static int apply_mount(Path *p, const ch + } + + if ((r = mount(what, where, NULL, MS_BIND|MS_REC, NULL)) >= 0) { +- log_debug("Successfully mounted %s to %s", what, where); + + /* The bind mount will always inherit the original + * flags. If we want to set any flag we need diff --git a/systemctl-completion-fix.patch b/systemctl-completion-fix.patch new file mode 100644 index 00000000..3f5b2e37 --- /dev/null +++ b/systemctl-completion-fix.patch @@ -0,0 +1,77 @@ +In the case of completion for the 'restart' verb, passing the invalid +unit name (the colums header) causes completion to cease functioning +entirely, with the error: + + Failed to issue method call: Unit name UNIT is not valid. + +This adds a small wrapper function for systemctl which can have common +options added to it. + +--- + src/systemctl-bash-completion.sh | 20 ++++++++++++-------- + 1 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/src/systemctl-bash-completion.sh b/src/systemctl-bash-completion.sh +index 6369a6c..6ebb792 100644 +--- a/src/systemctl-bash-completion.sh ++++ b/src/systemctl-bash-completion.sh +@@ -15,6 +15,10 @@ + # You should have received a copy of the GNU General Public License + # along with systemd; If not, see . + ++__systemctl() { ++ systemctl --no-legend "$@" ++} ++ + __contains_word () { + local word=$1; shift + for w in $*; do [[ $w = $word ]] && return 0; done +@@ -24,7 +28,7 @@ __contains_word () { + __filter_units_by_property () { + local property=$1 value=$2 ; shift ; shift + local -a units=( $* ) +- local -a props=( $(systemctl show --property "$property" -- ${units[*]} | grep -v ^$) ) ++ local -a props=( $(__systemctl show --property "$property" -- ${units[*]} | grep -v ^$) ) + for ((i=0; $i < ${#units[*]}; i++)); do + if [[ "${props[i]}" = "$property=$value" ]]; then + echo "${units[i]}" +@@ -32,10 +36,10 @@ __filter_units_by_property () { + done + } + +-__get_all_units () { systemctl list-units --full --all | awk ' {print $1}' ; } +-__get_active_units () { systemctl list-units --full | awk ' {print $1}' ; } +-__get_inactive_units () { systemctl list-units --full --all | awk '$3 == "inactive" {print $1}' ; } +-__get_failed_units () { systemctl list-units --full | awk '$3 == "failed" {print $1}' ; } ++__get_all_units () { __systemctl list-units --full --all | awk ' {print $1}' ; } ++__get_active_units () { __systemctl list-units --full | awk ' {print $1}' ; } ++__get_inactive_units () { __systemctl list-units --full --all | awk '$3 == "inactive" {print $1}' ; } ++__get_failed_units () { __systemctl list-units --full | awk '$3 == "failed" {print $1}' ; } + + _systemctl () { + local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} +@@ -134,13 +138,13 @@ _systemctl () { + comps='' + + elif __contains_word "$verb" ${VERBS[JOBS]}; then +- comps=$( systemctl list-jobs | awk '{print $1}' ) ++ comps=$( __systemctl list-jobs | awk '{print $1}' ) + + elif __contains_word "$verb" ${VERBS[SNAPSHOTS]}; then +- comps=$( systemctl list-units --type snapshot --full --all | awk '{print $1}' ) ++ comps=$( __systemctl list-units --type snapshot --full --all | awk '{print $1}' ) + + elif __contains_word "$verb" ${VERBS[ENVS]}; then +- comps=$( systemctl show-environment | sed 's_\([^=]\+=\).*_\1_' ) ++ comps=$( __systemctl show-environment | sed 's_\([^=]\+=\).*_\1_' ) + compopt -o nospace + fi + +-- +1.7.7 + +_______________________________________________ +systemd-devel mailing list +systemd-devel@lists.freedesktop.org +http://lists.freedesktop.org/mailman/listinfo/systemd-devel + diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 2391e022..e807819c 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com + +- Recommends dbus-1-python, do not requires python (bnc#716939) +- Add private_tmp_crash.patch: prevent crash in debug mode + (bnc#699829). +- Add systemctl-completion-fix.patch: fix incorrect bash completion + with some commands (git). + ------------------------------------------------------------------- Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 2391e022..e807819c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com + +- Recommends dbus-1-python, do not requires python (bnc#716939) +- Add private_tmp_crash.patch: prevent crash in debug mode + (bnc#699829). +- Add systemctl-completion-fix.patch: fix incorrect bash completion + with some commands (git). + ------------------------------------------------------------------- Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 6c973dc4..3cccecbf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,6 +19,8 @@ %define build_plymouth 0 +#don't require python, use recommends (bnc#716939) + Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 37 @@ -45,6 +47,7 @@ Requires: kbd Requires: util-linux >= 2.19 Requires: pam-config Requires: systemd-presets-branding +Recommends: dbus-1-python Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 @@ -67,6 +70,8 @@ Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch Patch15: support-sysvinit.patch Patch16: modules_on_boot.patch +Patch17: private_tmp_crash.patch +Patch18: systemctl-completion-fix.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -122,6 +127,8 @@ Plymouth integration for systemd %patch13 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 %build autoreconf -fiv @@ -139,6 +146,9 @@ make %{?_smp_mflags} %install %makeinstall + +#workaround for 716939 +chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' @@ -251,7 +261,7 @@ rm -rf %{buildroot} /bin/systemd-machine-id-setup /usr/bin/systemd-nspawn /usr/bin/systemd-stdio-bridge -/usr/bin/systemd-analyze +%attr(0755,root,root) /usr/bin/systemd-analyze %{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* From dc86215535b2be221bb6d9c0135bb157a8e424bdf82f62bc8bddcc0acc9dfc33 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 26 Oct 2011 13:48:17 +0000 Subject: [PATCH 076/991] Accepting request 89338 from Base:System - Add avoid-random-seed-cycle.patch: fix dependency cycle between cryptsetup and random-seed-load (bnc#721666). - Add crash-isolating.patch: fix crash when isolating a service. - Fix bootsplash being killed too early. - Fix some manpages not being redirected properly. - Add storage-after-cryptsetup.service to restart lvm after cryptsetup. Fixes lvm on top of LUKS (bnc#724238). - Add avoid-random-seed-cycle.patch: fix dependency cycle between cryptsetup and random-seed-load (bnc#721666). - Add crash-isolating.patch: fix crash when isolating a service. - Fix bootsplash being killed too early. - Fix some manpages not being redirected properly. - Add storage-after-cryptsetup.service to restart lvm after cryptsetup. Fixes lvm on top of LUKS (bnc#724238). (forwarded request 89336 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/89338 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=78 --- avoid-random-seed-cycle.patch | 40 +++++++++++ bootsplash-quit.service | 1 + crash-isolating.patch | 117 +++++++++++++++++++++++++++++++ storage-after-cryptsetup.service | 12 ++++ systemd-bootsplash | 11 +++ systemd-gtk.changes | 11 +++ systemd.changes | 11 +++ systemd.spec | 11 ++- 8 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 avoid-random-seed-cycle.patch create mode 100644 crash-isolating.patch create mode 100644 storage-after-cryptsetup.service diff --git a/avoid-random-seed-cycle.patch b/avoid-random-seed-cycle.patch new file mode 100644 index 00000000..1490674c --- /dev/null +++ b/avoid-random-seed-cycle.patch @@ -0,0 +1,40 @@ + +Devices with random keys (swap), should not be ordered before local-fs.target, +as this creates a cycle with systemd-load-random-seed.service (and also it +does not make sense, a swap device is not a local-fs). +--- + src/cryptsetup-generator.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c +index 6f3aa78..a48b7a4 100644 +--- a/src/cryptsetup-generator.c ++++ b/src/cryptsetup-generator.c +@@ -112,8 +112,7 @@ static int create_disk( + "DefaultDependencies=no\n" + "BindTo=%s dev-mapper-%%i.device\n" + "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" +- "Before=umount.target\n" +- "Before=local-fs.target\n", ++ "Before=umount.target\n", + d, d); + + if (!nofail) +@@ -125,6 +124,9 @@ static int create_disk( + streq(password, "/dev/hw_random"))) + fprintf(f, + "After=systemd-random-seed-load.service\n"); ++ else ++ fprintf(f, ++ "Before=local-fs.target\n"); + + fprintf(f, + "\n[Service]\n" +-- +1.7.7 + +_______________________________________________ +systemd-devel mailing list +systemd-devel@lists.freedesktop.org +http://lists.freedesktop.org/mailman/listinfo/systemd-devel + diff --git a/bootsplash-quit.service b/bootsplash-quit.service index b2908458..6e20630d 100644 --- a/bootsplash-quit.service +++ b/bootsplash-quit.service @@ -1,6 +1,7 @@ [Unit] Description=Terminate bootsplash After=xdm.service rc-local.service bootsplash-startup.service +Before=getty@tty1.service DefaultDependencies=no Names=plymout-quit-wait.service diff --git a/crash-isolating.patch b/crash-isolating.patch new file mode 100644 index 00000000..fded4f32 --- /dev/null +++ b/crash-isolating.patch @@ -0,0 +1,117 @@ +From 563ba9ea6e60774086555998b957edf923e24b46 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Mon, 17 Oct 2011 11:12:12 +0200 +Subject: [PATCH] manager: fix a crash in isolating + +HASHMAP_FOREACH is safe against the removal of the current entry, but +not against the removal of other entries. job_finish_and_invalidate() +can recursively remove other entries. + +It triggered an assertion failure: + Assertion 'j->installed' failed at src/manager.c:1218, function + transaction_apply(). Aborting. + +Fix the crash by iterating from the beginning when there is a +possibility that the iterator could be invalid. + +It is O(n^2) in the worst case, but that's better than a crash. + +https://bugzilla.redhat.com/show_bug.cgi?id=717325 +--- + src/job.c | 19 ++++++++++++++----- + src/manager.c | 7 ++++++- + 2 files changed, 20 insertions(+), 6 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 5c0913b..20971da 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -527,6 +527,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + Unit *other; + JobType t; + Iterator i; ++ bool recursed = false; + + assert(j); + assert(j->installed); +@@ -573,23 +574,29 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + if (other->meta.job && + (other->meta.job->type == JOB_START || + other->meta.job->type == JOB_VERIFY_ACTIVE || +- other->meta.job->type == JOB_RELOAD_OR_START)) ++ other->meta.job->type == JOB_RELOAD_OR_START)) { + job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); ++ recursed = true; ++ } + + SET_FOREACH(other, u->meta.dependencies[UNIT_BOUND_BY], i) + if (other->meta.job && + (other->meta.job->type == JOB_START || + other->meta.job->type == JOB_VERIFY_ACTIVE || +- other->meta.job->type == JOB_RELOAD_OR_START)) ++ other->meta.job->type == JOB_RELOAD_OR_START)) { + job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); ++ recursed = true; ++ } + + SET_FOREACH(other, u->meta.dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) + if (other->meta.job && + !other->meta.job->override && + (other->meta.job->type == JOB_START || + other->meta.job->type == JOB_VERIFY_ACTIVE || +- other->meta.job->type == JOB_RELOAD_OR_START)) ++ other->meta.job->type == JOB_RELOAD_OR_START)) { + job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); ++ recursed = true; ++ } + + } else if (t == JOB_STOP) { + +@@ -597,8 +604,10 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + if (other->meta.job && + (other->meta.job->type == JOB_START || + other->meta.job->type == JOB_VERIFY_ACTIVE || +- other->meta.job->type == JOB_RELOAD_OR_START)) ++ other->meta.job->type == JOB_RELOAD_OR_START)) { + job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); ++ recursed = true; ++ } + } + } + +@@ -626,7 +635,7 @@ finish: + + manager_check_finished(u->meta.manager); + +- return 0; ++ return recursed; + } + + int job_start_timer(Job *j) { +diff --git a/src/manager.c b/src/manager.c +index e626347..6d20258 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -1214,13 +1214,18 @@ static int transaction_apply(Manager *m, JobMode mode) { + + /* When isolating first kill all installed jobs which + * aren't part of the new transaction */ ++ rescan: + HASHMAP_FOREACH(j, m->jobs, i) { + assert(j->installed); + + if (hashmap_get(m->transaction_jobs, j->unit)) + continue; + +- job_finish_and_invalidate(j, JOB_CANCELED); ++ /* 'j' itself is safe to remove, but if other jobs ++ are invalidated recursively, our iterator may become ++ invalid and we need to start over. */ ++ if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) ++ goto rescan; + } + } + +-- +1.7.3.4 + diff --git a/storage-after-cryptsetup.service b/storage-after-cryptsetup.service new file mode 100644 index 00000000..d47acc63 --- /dev/null +++ b/storage-after-cryptsetup.service @@ -0,0 +1,12 @@ +[Unit] +Description=Restart storage after crypsetup +DefaultDependencies=no +Before=local-fs.target shutdown.target +After=cryptsetup.target +Wants=cryptsetup.target + +[Service] +RemainAfterExit=true +Type=oneshot +TimeoutSec=0 +ExecStart=/bin/systemctl restart lvm.service diff --git a/systemd-bootsplash b/systemd-bootsplash index 1f5839a5..3cf8438d 100644 --- a/systemd-bootsplash +++ b/systemd-bootsplash @@ -3,6 +3,17 @@ export RUNLEVEL=$1 export PREVLEVEL=N if [ "$1" == "5" ]; then + /bin/systemctl status --no-pager default.target | grep -q graphical.target + if [ $? -eq 0 ]; then + declare -i timeout + timeout=0 + console=`fgconsole` + while [ $console -eq 1 -a $timeout -lt 30 ] ; do + sleep 1 + timeout+=1 + console=`fgconsole` + done + fi splashtrigger "rlreached $1" else splashtrigger "rlchange $1" diff --git a/systemd-gtk.changes b/systemd-gtk.changes index e807819c..3c1b5e6e 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com + +- Add avoid-random-seed-cycle.patch: fix dependency cycle between + cryptsetup and random-seed-load (bnc#721666). +- Add crash-isolating.patch: fix crash when isolating a service. +- Fix bootsplash being killed too early. +- Fix some manpages not being redirected properly. +- Add storage-after-cryptsetup.service to restart lvm after + cryptsetup. Fixes lvm on top of LUKS (bnc#724238). + ------------------------------------------------------------------- Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index e807819c..3c1b5e6e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com + +- Add avoid-random-seed-cycle.patch: fix dependency cycle between + cryptsetup and random-seed-load (bnc#721666). +- Add crash-isolating.patch: fix crash when isolating a service. +- Fix bootsplash being killed too early. +- Fix some manpages not being redirected properly. +- Add storage-after-cryptsetup.service to restart lvm after + cryptsetup. Fixes lvm on top of LUKS (bnc#724238). + ------------------------------------------------------------------- Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 3cccecbf..529a6404 100644 --- a/systemd.spec +++ b/systemd.spec @@ -61,6 +61,7 @@ Source7: systemd-bootsplash Source8: bootsplash-startup.service Source9: bootsplash-quit.service Source10: bootsplash-shutdown.service +Source11: storage-after-cryptsetup.service Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -72,11 +73,13 @@ Patch15: support-sysvinit.patch Patch16: modules_on_boot.patch Patch17: private_tmp_crash.patch Patch18: systemctl-completion-fix.patch +Patch19: avoid-random-seed-cycle.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +Patch20: crash-isolating.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -129,6 +132,8 @@ Plymouth integration for systemd %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 +%patch20 -p1 %build autoreconf -fiv @@ -147,6 +152,9 @@ make %{?_smp_mflags} %install %makeinstall +#fix manpages +sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/* + #workaround for 716939 chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm @@ -157,11 +165,12 @@ install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future #install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators install -m755 %{S:7} %{buildroot}/lib/systemd/ -install -m644 %{S:8} %{S:9} %{S:10} %{buildroot}/lib/systemd/system/ +install -m644 %{S:8} %{S:9} %{S:10} %{S:11} %{buildroot}/lib/systemd/system/ ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target.wants/ ln -s ../bootsplash-quit.service %{buildroot}/lib/systemd/system/multi-user.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/shutdown.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/reboot.target.wants/ +ln -s ../storage-after-cryptsetup.service %{buildroot}/lib/systemd/system/local-fs.target.wants/ ln -s ../bin/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt From 17e0c6ab9808cb5f8c6c582fe674280f41c6320d15e547365c877e6349c3bead Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 27 Oct 2011 17:34:45 +0000 Subject: [PATCH 077/991] Accepting request 89556 from Base:System - Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint (bnc#726791). (forwarded request 89555 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/89556 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=79 --- no-tmpfs-fsck.patch | 25 +++++++++++++++++++++++++ systemd-gtk.changes | 6 ++++++ systemd.changes | 6 ++++++ systemd.spec | 2 ++ 4 files changed, 39 insertions(+) create mode 100644 no-tmpfs-fsck.patch diff --git a/no-tmpfs-fsck.patch b/no-tmpfs-fsck.patch new file mode 100644 index 00000000..cfa7bda3 --- /dev/null +++ b/no-tmpfs-fsck.patch @@ -0,0 +1,25 @@ +From cca125c2758b48ba8f1afdc4b5751b104f0bd809 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 27 Oct 2011 15:36:57 +0200 +Subject: [PATCH] mount: do not try to fsck tmpfs mountpoint with non-null + passno. + +--- + src/mount.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/mount.c b/src/mount.c +index ef953f0..5da4047 100644 +--- a/src/mount.c ++++ b/src/mount.c +@@ -434,6 +434,7 @@ static int mount_add_device_links(Mount *m) { + + if (p->passno > 0 && + !mount_is_bind(p) && ++ !streq(p->fstype,"tmpfs") && + UNIT(m)->meta.manager->running_as == MANAGER_SYSTEM && + !path_equal(m->where, "/")) { + char *name; +-- +1.7.7 + diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 3c1b5e6e..b900778c 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com + +- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint + (bnc#726791). + ------------------------------------------------------------------- Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 3c1b5e6e..b900778c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com + +- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint + (bnc#726791). + ------------------------------------------------------------------- Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 529a6404..053814af 100644 --- a/systemd.spec +++ b/systemd.spec @@ -80,6 +80,7 @@ Patch19: avoid-random-seed-cycle.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch20: crash-isolating.patch +Patch21: no-tmpfs-fsck.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -134,6 +135,7 @@ Plymouth integration for systemd %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 %build autoreconf -fiv From 9f338aa7f4ccaa8b5b9bb946585500e8f8b440364578489074edc71309141118 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 5 Nov 2011 10:27:37 +0000 Subject: [PATCH 078/991] Accepting request 90129 from Base:System - Fix rpm macros to only call presets on initial install (bnc#728104). (forwarded request 90127 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/90129 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=80 --- macros.systemd | 5 +++-- systemd-gtk.changes | 6 ++++++ systemd.changes | 6 ++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/macros.systemd b/macros.systemd index 87621abe..9cb43928 100644 --- a/macros.systemd +++ b/macros.systemd @@ -60,11 +60,12 @@ for service in %{?*} ; do \ touch "/var/lib/systemd/migrated/$sysv_service" \ fi \ done \ +/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ +elif [ $FIRST_ARG -eq 1 ]; then \ + /bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ fi \ -/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ %{nil} # On uninstall, disable and stop services diff --git a/systemd-gtk.changes b/systemd-gtk.changes index b900778c..b6076ad4 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com + +- Fix rpm macros to only call presets on initial install + (bnc#728104). + ------------------------------------------------------------------- Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index b900778c..b6076ad4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com + +- Fix rpm macros to only call presets on initial install + (bnc#728104). + ------------------------------------------------------------------- Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com From 7ad544279784f592b339abf5fbb6bd7b90ec621c2649f3656239285274948db7 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 21 Nov 2011 14:50:15 +0000 Subject: [PATCH 079/991] Accepting request 92813 from Base:System - add libtool as buildrequire to avoid implicit dependency (forwarded request 92485 from coolo) OBS-URL: https://build.opensuse.org/request/show/92813 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=81 --- systemd.changes | 5 +++++ systemd.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/systemd.changes b/systemd.changes index b6076ad4..cf784743 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + ------------------------------------------------------------------- Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 053814af..d5fba46c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -35,6 +35,7 @@ BuildRequires: audit-devel BuildRequires: gperf BuildRequires: libcap-devel BuildRequires: libacl-devel +BuildRequires: libtool BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel From 15e9898ef68cb37d8230b42f2711aa092b53ac4110f04caaa5331f701be085ef Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 6 Dec 2011 18:06:58 +0000 Subject: [PATCH 080/991] replace license with spdx.org variant OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=82 --- systemd-gtk.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 900f4dba..1c0e06d5 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -22,7 +22,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd Version: 37 Release: 1 -License: GPLv2+ +License: GPL-2.0+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libudev-devel udev From 021c08f8c630f46007a40a4fe90c8622d1be8f3280c92592fc58ce26da8b412d Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 6 Dec 2011 18:07:00 +0000 Subject: [PATCH 081/991] replace license with spdx.org variant OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=83 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index d5fba46c..94c5cb89 100644 --- a/systemd.spec +++ b/systemd.spec @@ -25,7 +25,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 37 Release: 1 -License: GPLv2+ +License: GPL-2.0+ Group: System/Base Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build From fd27f5b8ab5795e5d2465279c2d9c239aaba92d1dd2a2d62f94a9142f17322cd Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 12 Dec 2011 15:59:25 +0000 Subject: [PATCH 082/991] Accepting request 96193 from Base:System - Remove storage-after-cryptsetup.service, add storage-after-cryptsetup.patch instead to prevent dependency cycle (bnc#722539). - Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure fsck/cryptsetup is run after lvm/md/dmraid have landed (bnc#724912). - Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). - Add do_not_warn_pidfile.patch: Fix PID warning in logs (bnc#732912). - Add mount-swap-log.patch: Ensure swap and mount output is redirected to default log target (rhb#750032). - Add color-on-boot.patch: ensure colored status are displayed at boot time. - Update modules_on_boot.patch to fix bnc#732041. - Replace private_tmp_crash.patch with log_on_close.patch, better upstream fix for bnc#699829 and fix bnc#731719. - Update vconsole patch to fix memleaks and crash (bnc#734527). - Add handle-racy-daemon.patch: fix warnings with sendmail (bnc#732912). - Add new-lsb-headers.patch: support PIDFile: and X-Systemd-RemainAfterExit: header in initscript (bnc#727771). - Update bootsplash services to not start if vga= is missing from cmdline (bnc#727771) - Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). - Add garbage_collect_units: ensure error units are correctly garbage collected (rhb#680122). - Add crypt-loop-file.patch: add support for crypt file loop (bnc#730496). OBS-URL: https://build.opensuse.org/request/show/96193 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=84 --- ...aplock-and-compose_table-and-kbd_rat.patch | 49 +- bootsplash-quit.service | 4 +- bootsplash-startup.service | 1 + color-on-boot.patch | 131 ++ cron-tty-pam.patch | 81 ++ crypt-loop-file.patch | 76 ++ ...-fsck-cryptsetup-after-md-lvm-dmraid.patch | 38 + do_not_warn_pidfile.patch | 60 + garbage_collect_units.patch | 29 + handle-racy-daemon.patch | 1066 +++++++++++++++++ lock-opensuse.patch | 16 + log_on_close.patch | 586 +++++++++ modules_on_boot.patch | 23 +- mount-swap-log.patch | 54 + new-lsb-headers.patch | 65 + private_tmp_crash.patch | 12 - storage-after-cryptsetup.patch | 132 ++ storage-after-cryptsetup.service | 12 - systemd-gtk.changes | 38 + systemd-gtk.spec | 1 + systemd.changes | 33 + systemd.spec | 30 +- 22 files changed, 2483 insertions(+), 54 deletions(-) create mode 100644 color-on-boot.patch create mode 100644 cron-tty-pam.patch create mode 100644 crypt-loop-file.patch create mode 100644 delay-fsck-cryptsetup-after-md-lvm-dmraid.patch create mode 100644 do_not_warn_pidfile.patch create mode 100644 garbage_collect_units.patch create mode 100644 handle-racy-daemon.patch create mode 100644 lock-opensuse.patch create mode 100644 log_on_close.patch create mode 100644 mount-swap-log.patch create mode 100644 new-lsb-headers.patch delete mode 100644 private_tmp_crash.patch create mode 100644 storage-after-cryptsetup.patch delete mode 100644 storage-after-cryptsetup.service diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch index 7b91b90f..9d981f20 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -7,10 +7,10 @@ Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate src/vconsole-setup.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 121 insertions(+), 3 deletions(-) -diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c -index c5f3628..6603a75 100644 ---- a/src/vconsole-setup.c -+++ b/src/vconsole-setup.c +Index: systemd-37/src/vconsole-setup.c +=================================================================== +--- systemd-37.orig/src/vconsole-setup.c ++++ systemd-37/src/vconsole-setup.c @@ -40,6 +40,7 @@ #include "log.h" #include "macro.h" @@ -30,7 +30,7 @@ index c5f3628..6603a75 100644 int i = 0; pid_t pid; -@@ -99,6 +100,8 @@ static int load_keymap(const char *vc, const char *map, const char *map_toggle, +@@ -99,6 +100,8 @@ static int load_keymap(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,16 +39,17 @@ index c5f3628..6603a75 100644 args[i++] = NULL; if ((pid = fork()) < 0) { -@@ -150,6 +153,96 @@ static int load_font(const char *vc, const char *font, const char *map, const ch +@@ -150,6 +153,101 @@ static int load_font(const char *vc, con return 0; } +#ifdef TARGET_SUSE +static int load_compose_table(const char *vc, const char *compose_table, pid_t *_pid) { + const char *args[1024]; -+ int i = 0; ++ int i = 0, j = 0; + pid_t pid; + char **strv_compose_table = NULL; ++ char *to_free[1024]; + + if (isempty(compose_table)) { + /* An empty map means no compose table*/ @@ -79,7 +80,7 @@ index c5f3628..6603a75 100644 + } + asprintf(&arg, "compose.%s",*name); + compose_loaded = true; -+ args[i++] = arg; ++ args[i++] = to_free[j++] = arg; + + } + strv_free(strv_compose_table); @@ -95,6 +96,10 @@ index c5f3628..6603a75 100644 + } + + *_pid = pid; ++ ++ for (i=0 ; i < j ; i++) ++ free (to_free[i]); ++ + return 0; +} + @@ -136,7 +141,7 @@ index c5f3628..6603a75 100644 int main(int argc, char **argv) { const char *vc; char *vc_keymap = NULL; -@@ -163,8 +256,16 @@ int main(int argc, char **argv) { +@@ -163,8 +261,16 @@ int main(int argc, char **argv) { #ifdef TARGET_MANDRIVA char *vc_keytable = NULL; #endif @@ -153,7 +158,7 @@ index c5f3628..6603a75 100644 int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -265,6 +366,10 @@ int main(int argc, char **argv) { +@@ -265,6 +371,10 @@ int main(int argc, char **argv) { #elif defined(TARGET_SUSE) if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, "KEYTABLE", &vc_keymap, @@ -164,15 +169,15 @@ index c5f3628..6603a75 100644 NULL)) < 0) { if (r != -ENOENT) -@@ -280,6 +385,7 @@ int main(int argc, char **argv) { +@@ -280,6 +390,7 @@ int main(int argc, char **argv) { if (r != -ENOENT) log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); } -+ disable_capslock = strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; #elif defined(TARGET_ARCH) if ((r = parse_env_file("/etc/rc.conf", NEWLINE, -@@ -436,7 +542,11 @@ int main(int argc, char **argv) { +@@ -436,7 +547,11 @@ int main(int argc, char **argv) { if (!utf8) disable_utf8(fd); @@ -185,7 +190,7 @@ index c5f3628..6603a75 100644 load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -444,6 +554,14 @@ finish: +@@ -444,6 +559,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -200,6 +205,16 @@ index c5f3628..6603a75 100644 if (font_pid > 0) wait_for_terminate_and_warn(KBD_SETFONT, font_pid); --- -1.7.3.4 - +@@ -451,6 +574,12 @@ finish: + free(vc_font); + free(vc_font_map); + free(vc_font_unimap); ++#ifdef TARGET_SUSE ++ free(vc_kbd_delay); ++ free(vc_kbd_rate); ++ free(vc_kbd_disable_caps_lock); ++ free(vc_compose_table); ++#endif + + if (fd >= 0) + close_nointr_nofail(fd); diff --git a/bootsplash-quit.service b/bootsplash-quit.service index 6e20630d..272deb89 100644 --- a/bootsplash-quit.service +++ b/bootsplash-quit.service @@ -3,7 +3,9 @@ Description=Terminate bootsplash After=xdm.service rc-local.service bootsplash-startup.service Before=getty@tty1.service DefaultDependencies=no -Names=plymout-quit-wait.service +Names=plymouth-quit-wait.service +ConditionKernelCommandLine=splash=silent +ConditionKernelCommandLine=vga [Service] ExecStart=/lib/systemd/systemd-bootsplash 5 diff --git a/bootsplash-startup.service b/bootsplash-startup.service index a10976c6..9f70d06b 100644 --- a/bootsplash-startup.service +++ b/bootsplash-startup.service @@ -2,6 +2,7 @@ Description=Start bootsplash DefaultDependencies=no ConditionKernelCommandLine=splash=silent +ConditionKernelCommandLine=vga [Service] ExecStart=/lib/systemd/systemd-bootsplash 0 diff --git a/color-on-boot.patch b/color-on-boot.patch new file mode 100644 index 00000000..8be6e081 --- /dev/null +++ b/color-on-boot.patch @@ -0,0 +1,131 @@ +From 5831e9b726ab6e76b28a94861a014d3bc2aa3015 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 10 Nov 2011 12:53:39 +0100 +Subject: [PATCH] job: colored status messages on boot + +The lack or green/red status marks on boot has been described by some +users as "critical", "dramatic", "dealbreaker", "showstopper". Seriously. +--- + src/job.c | 13 +++++++------ + src/unit.c | 24 ++++++++++++++++++++---- + src/unit.h | 2 +- + 3 files changed, 28 insertions(+), 11 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 20971da..1520d81 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -484,19 +484,20 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { + switch (result) { + + case JOB_DONE: +- unit_status_printf(u, "Started %s.\n", unit_description(u)); ++ unit_status_printf(u, ANSI_HIGHLIGHT_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, "Started %s", unit_description(u)); + break; + + case JOB_FAILED: +- unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "failed" ANSI_HIGHLIGHT_OFF ", see 'systemctl status %s' for details.\n", unit_description(u), u->meta.id); ++ unit_status_printf(u, ANSI_HIGHLIGHT_ON "FAILED" ANSI_HIGHLIGHT_OFF, "Failed to start %s", unit_description(u)); ++ unit_status_printf(u, NULL, "See 'systemctl status %s' for details.", u->meta.id); + break; + + case JOB_DEPENDENCY: +- unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "aborted" ANSI_HIGHLIGHT_OFF " because a dependency failed.\n", unit_description(u)); ++ unit_status_printf(u, ANSI_HIGHLIGHT_ON " ABORT" ANSI_HIGHLIGHT_OFF, "Dependency failed. Aborted start of %s", unit_description(u)); + break; + + case JOB_TIMEOUT: +- unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "timed out" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u), u->meta.id); ++ unit_status_printf(u, ANSI_HIGHLIGHT_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out starting %s", unit_description(u)); + break; + + default: +@@ -508,12 +509,12 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { + switch (result) { + + case JOB_TIMEOUT: +- unit_status_printf(u, "Stopping %s " ANSI_HIGHLIGHT_ON "timed out" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u), u->meta.id); ++ unit_status_printf(u, ANSI_HIGHLIGHT_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out stopping %s", unit_description(u)); + break; + + case JOB_DONE: + case JOB_FAILED: +- unit_status_printf(u, "Stopped %s.\n", unit_description(u)); ++ unit_status_printf(u, ANSI_HIGHLIGHT_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, "Stopped %s", unit_description(u)); + break; + + default: +diff --git a/src/unit.c b/src/unit.c +index 903a8e4..ad4063b 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -924,7 +924,7 @@ int unit_start(Unit *u) { + + unit_add_to_dbus_queue(u); + +- unit_status_printf(u, "Starting %s...\n", unit_description(u)); ++ unit_status_printf(u, NULL, "Starting %s...", unit_description(u)); + return UNIT_VTABLE(u)->start(u); + } + +@@ -966,7 +966,7 @@ int unit_stop(Unit *u) { + + unit_add_to_dbus_queue(u); + +- unit_status_printf(u, "Stopping %s...\n", unit_description(u)); ++ unit_status_printf(u, NULL, "Stopping %s...", unit_description(u)); + return UNIT_VTABLE(u)->stop(u); + } + +@@ -2426,8 +2426,11 @@ int unit_coldplug(Unit *u) { + return 0; + } + +-void unit_status_printf(Unit *u, const char *format, ...) { ++void unit_status_printf(Unit *u, const char *status, const char *format, ...) { + va_list ap; ++ char *s, *e; ++ int err; ++ const unsigned emax = status ? 80 - (sizeof("[ OK ]")-1) : 80; + + assert(u); + assert(format); +@@ -2442,8 +2445,21 @@ void unit_status_printf(Unit *u, const char *format, ...) { + return; + + va_start(ap, format); +- status_vprintf(format, ap); ++ err = vasprintf(&s, format, ap); + va_end(ap); ++ if (err < 0) ++ return; ++ ++ e = ellipsize(s, emax, 100); ++ free(s); ++ if (!e) ++ return; ++ ++ if (status) ++ status_printf("%s%*s[%s]\n", e, emax - strlen(e), "", status); ++ else ++ status_printf("%s\n", e); ++ free(e); + } + + bool unit_need_daemon_reload(Unit *u) { +diff --git a/src/unit.h b/src/unit.h +index 7da5723..b32c1a7 100644 +--- a/src/unit.h ++++ b/src/unit.h +@@ -512,7 +512,7 @@ int unit_add_node_link(Unit *u, const char *what, bool wants); + + int unit_coldplug(Unit *u); + +-void unit_status_printf(Unit *u, const char *format, ...); ++void unit_status_printf(Unit *u, const char *status, const char *format, ...); + + bool unit_need_daemon_reload(Unit *u); + +-- +1.7.7 + diff --git a/cron-tty-pam.patch b/cron-tty-pam.patch new file mode 100644 index 00000000..ecacaf35 --- /dev/null +++ b/cron-tty-pam.patch @@ -0,0 +1,81 @@ +From 1dc995370987660ff045ff4d7cf512da0390cf96 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 19 Nov 2011 01:14:11 +0100 +Subject: [PATCH 1/2] pam-module: use the correct session type "unspecified" + +logind does not understand "other". +--- + src/pam-module.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/pam-module.c b/src/pam-module.c +index dd05f93..e650886 100644 +--- a/src/pam-module.c ++++ b/src/pam-module.c +@@ -472,7 +472,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( + get_seat_from_display(display, &seat, &vtnr); + + type = !isempty(display) ? "x11" : +- !isempty(tty) ? "tty" : "other"; ++ !isempty(tty) ? "tty" : "unspecified"; + + remote = !isempty(remote_host) && !streq(remote_host, "localhost") && !streq(remote_host, "localhost.localdomain"); + +-- +1.7.7 + + +From 1a4459d63323cdfdb8751077e555ddbbf80564b1 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 19 Nov 2011 01:17:46 +0100 +Subject: [PATCH 2/2] pam-module: treat "cron" in PAM_TTY as empty tty + +cron sets PAM_TTY to "cron" and it has been doing it for a long time. +It cannot be changed because user configurations may depend on it. + +https://bugzilla.redhat.com/show_bug.cgi?id=727315 +--- + src/logind-session.c | 4 ++-- + src/pam-module.c | 4 ++++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/logind-session.c b/src/logind-session.c +index b0a09e3..63ee758 100644 +--- a/src/logind-session.c ++++ b/src/logind-session.c +@@ -536,7 +536,7 @@ int session_start(Session *s) { + if (r < 0) + return r; + +- log_full(s->display || s->tty ? LOG_INFO : LOG_DEBUG, ++ log_full(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG, + "New session %s of user %s.", s->id, s->user->name); + + /* Create cgroup */ +@@ -659,7 +659,7 @@ int session_stop(Session *s) { + assert(s); + + if (s->started) +- log_full(s->display || s->tty ? LOG_INFO : LOG_DEBUG, ++ log_full(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG, + "Removed session %s.", s->id); + + /* Kill cgroup */ +diff --git a/src/pam-module.c b/src/pam-module.c +index e650886..46b7bec 100644 +--- a/src/pam-module.c ++++ b/src/pam-module.c +@@ -463,6 +463,10 @@ _public_ PAM_EXTERN int pam_sm_open_session( + if (isempty(display)) + display = tty; + tty = ""; ++ } else if (streq(tty, "cron")) { ++ /* cron has been setting PAM_TTY to "cron" for a very long time ++ * and it cannot stop doing that for compatibility reasons. */ ++ tty = ""; + } + + if (!isempty(cvtnr)) +-- +1.7.7 + diff --git a/crypt-loop-file.patch b/crypt-loop-file.patch new file mode 100644 index 00000000..7869601b --- /dev/null +++ b/crypt-loop-file.patch @@ -0,0 +1,76 @@ +Index: systemd-37/src/cryptsetup-generator.c +=================================================================== +--- systemd-37.orig/src/cryptsetup-generator.c ++++ systemd-37/src/cryptsetup-generator.c +@@ -138,7 +138,7 @@ static int create_disk( + const char *password, + const char *options) { + +- char *p = NULL, *n = NULL, *d = NULL, *u = NULL, *from = NULL, *to = NULL, *e = NULL; ++ char *p = NULL, *n = NULL, *d = NULL, *u = NULL, *from = NULL, *to = NULL, *e = NULL, *path_file = NULL; + int r; + FILE *f = NULL; + bool noauto, nofail; +@@ -167,10 +167,50 @@ static int create_disk( + goto fail; + } + +- if (!(d = unit_name_from_path(u, ".device"))) { +- r = -ENOMEM; +- log_error("Failed to allocate device name."); +- goto fail; ++ if (!startswith(device,"/dev/")) { ++ ++ if (!(d = unit_name_build_escape("cryptsetup", name, ".path"))) { ++ r = -ENOMEM; ++ log_error("Failed to allocate path name."); ++ goto fail; ++ } ++ ++ if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) { ++ r = -ENOMEM; ++ log_error("Failed to allocate unit file name."); ++ goto fail; ++ } ++ ++ if (!(f = fopen(path_file, "wxe"))) { ++ r = -errno; ++ log_error("Failed to create unit file: %m"); ++ goto fail; ++ } ++ ++ fprintf(f, ++ "[Unit]\n" ++ "Description=Cryptography Setup for %s\n" ++ "DefaultDependencies=no\n" ++ "[Path]\n" ++ "PathExists=%s\n", ++ device, device); ++ ++ fflush(f); ++ ++ if (ferror(f)) { ++ r = -errno; ++ log_error("Failed to write file: %m"); ++ goto fail; ++ } ++ ++ f = NULL; ++ } else { ++ ++ if (!(d = unit_name_from_path(u, ".device"))) { ++ r = -ENOMEM; ++ log_error("Failed to allocate device name."); ++ goto fail; ++ } + } + + if (!(f = fopen(p, "wxe"))) { +@@ -300,6 +340,7 @@ fail: + free(n); + free(d); + free(e); ++ free(path_file); + + free(from); + free(to); diff --git a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch new file mode 100644 index 00000000..403c9ed0 --- /dev/null +++ b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch @@ -0,0 +1,38 @@ +From c6170719e7afbcecc04e8939e93e9678529e6391 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Wed, 9 Nov 2011 11:10:49 +0100 +Subject: [PATCH] delay fsck / cryptsetup after md / dmraid / lvm are started + +--- + src/cryptsetup-generator.c | 1 + + units/fsck@.service.in | 2 +- + 2 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c +index 14fcce8..e62f0e0 100644 +--- a/src/cryptsetup-generator.c ++++ b/src/cryptsetup-generator.c +@@ -186,6 +186,7 @@ static int create_disk( + "DefaultDependencies=no\n" + "BindTo=%s dev-mapper-%%i.device\n" + "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" ++ "After=md.service dmraid.service lvm.service\n" + "Before=umount.target\n", + d, d); + +diff --git a/units/fsck@.service.in b/units/fsck@.service.in +index e1f7736..c1870ce 100644 +--- a/units/fsck@.service.in ++++ b/units/fsck@.service.in +@@ -9,7 +9,7 @@ + Description=File System Check on %f + DefaultDependencies=no + BindTo=%i.device +-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service + Before=shutdown.target + + [Service] +-- +1.7.7 + diff --git a/do_not_warn_pidfile.patch b/do_not_warn_pidfile.patch new file mode 100644 index 00000000..83002c89 --- /dev/null +++ b/do_not_warn_pidfile.patch @@ -0,0 +1,60 @@ +From c5419d4239ceb4c3bd0263a0a810cf24a072b3c0 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 10 Nov 2011 09:55:47 +0100 +Subject: [PATCH] service: don't warn if the pidfile still exists after + SIGCHLD + +A service that drops its privileges may not be able to remove it when it +exits. The stale pidfile is not a problem as long as the service +carefully recognizes it on its next start. + +systemd would produce a warning after the service exits: + PID ... read from file ... does not exist. Your service or init + script might be broken. + +Silence the warning in this case. Still warn if this error is detected +when loading the pidfile after service start. + +Noticed by Miroslav Lichvar in + https://bugzilla.redhat.com/show_bug.cgi?id=752396 +--- + src/service.c | 9 +++++---- + 1 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/src/service.c b/src/service.c +index eb475d9..6fc2484 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -1290,7 +1290,7 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) { + free(p2); + } + +-static int service_load_pid_file(Service *s, bool warn_if_missing) { ++static int service_load_pid_file(Service *s, bool may_warn) { + char *k; + int r; + pid_t pid; +@@ -1301,7 +1301,7 @@ static int service_load_pid_file(Service *s, bool warn_if_missing) { + return -ENOENT; + + if ((r = read_one_line_file(s->pid_file, &k)) < 0) { +- if (warn_if_missing) ++ if (may_warn) + log_warning("Failed to read PID file %s after %s. The service might be broken.", + s->pid_file, service_state_to_string(s->state)); + return r; +@@ -1314,8 +1314,9 @@ static int service_load_pid_file(Service *s, bool warn_if_missing) { + return r; + + if (kill(pid, 0) < 0 && errno != EPERM) { +- log_warning("PID %lu read from file %s does not exist. Your service or init script might be broken.", +- (unsigned long) pid, s->pid_file); ++ if (may_warn) ++ log_warning("PID %lu read from file %s does not exist. Your service or init script might be broken.", ++ (unsigned long) pid, s->pid_file); + return -ESRCH; + } + +-- +1.7.7 + diff --git a/garbage_collect_units.patch b/garbage_collect_units.patch new file mode 100644 index 00000000..3ea2bd2e --- /dev/null +++ b/garbage_collect_units.patch @@ -0,0 +1,29 @@ +From 9a46fc3b9014de1bf0ed1f3004a536b08a19ebb3 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 6 Dec 2011 00:47:28 +0100 +Subject: [PATCH] unit: garbage collect units with load error + +Units that failed to load were never cleaned up. It was possible to +reach the 128K limit of units by attempting to load a bunch of nonsense. + +Bug observed by Reartes Guillermo in +https://bugzilla.redhat.com/show_bug.cgi?id=680122 +--- + src/unit.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/unit.c b/src/unit.c +index 2a549e2..018e986 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -858,6 +858,7 @@ fail: + u->meta.load_state = UNIT_ERROR; + u->meta.load_error = r; + unit_add_to_dbus_queue(u); ++ unit_add_to_gc_queue(u); + + log_debug("Failed to load configuration for %s: %s", u->meta.id, strerror(-r)); + +-- +1.7.7 + diff --git a/handle-racy-daemon.patch b/handle-racy-daemon.patch new file mode 100644 index 00000000..4a8a07f1 --- /dev/null +++ b/handle-racy-daemon.patch @@ -0,0 +1,1066 @@ +From 35d50f55f346c71fd5e957d35ebcae1c50b1f9ce Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 3 Dec 2011 00:41:34 +0100 +Subject: [PATCH 1/5] util: fix error checking after fgets() + +fgets() does not set errno on EOF. +--- + src/util.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/util.c b/src/util.c +index e93e6f6..da71e4d 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -516,7 +516,7 @@ int get_parent_of_pid(pid_t pid, pid_t *_ppid) { + return -errno; + + if (!(fgets(line, sizeof(line), f))) { +- r = -errno; ++ r = feof(f) ? -EIO : -errno; + fclose(f); + return r; + } +@@ -561,7 +561,7 @@ int get_starttime_of_pid(pid_t pid, unsigned long long *st) { + return -errno; + + if (!(fgets(line, sizeof(line), f))) { +- r = -errno; ++ r = feof(f) ? -EIO : -errno; + fclose(f); + return r; + } +@@ -708,7 +708,7 @@ int read_one_line_file(const char *fn, char **line) { + return -errno; + + if (!(fgets(t, sizeof(t), f))) { +- r = -errno; ++ r = feof(f) ? -EIO : -errno; + goto finish; + } + +@@ -3266,7 +3266,7 @@ int get_ctty_devnr(pid_t pid, dev_t *d) { + return -errno; + + if (!fgets(line, sizeof(line), f)) { +- k = -errno; ++ k = feof(f) ? -EIO : -errno; + fclose(f); + return k; + } +-- +1.7.7 + + +From 768147d13d0877a4c3e5f6f986c3064de62ff4f1 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 3 Dec 2011 01:36:05 +0100 +Subject: [PATCH 2/5] path: use %m instead of strerror(errno) + +and strerror(-errno) was just wrong. +--- + src/path.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/path.c b/src/path.c +index f15c921..142fd2d 100644 +--- a/src/path.c ++++ b/src/path.c +@@ -556,7 +556,7 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + } + + if (ioctl(fd, FIONREAD, &l) < 0) { +- log_error("FIONREAD failed: %s", strerror(errno)); ++ log_error("FIONREAD failed: %m"); + goto fail; + } + +@@ -568,7 +568,7 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + } + + if ((k = read(fd, buf, l)) < 0) { +- log_error("Failed to read inotify event: %s", strerror(-errno)); ++ log_error("Failed to read inotify event: %m"); + goto fail; + } + +-- +1.7.7 + + +From 4b562198c79e4ebfc3d84b69a1dae374bc6cf9f5 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 3 Dec 2011 01:38:30 +0100 +Subject: [PATCH 3/5] path: refactor PathSpec usage + +path_*() functions operate on "Path *p" and they do not touch PathSpec +internals directly. + +pathspec_*() functions operate on "PathSpec *s". The PathSpec class will +be useful outside of path.c. +--- + src/path.c | 356 +++++++++++++++++++++++++++++++++--------------------------- + src/path.h | 8 ++ + 2 files changed, 203 insertions(+), 161 deletions(-) + +diff --git a/src/path.c b/src/path.c +index 142fd2d..db6f873 100644 +--- a/src/path.c ++++ b/src/path.c +@@ -39,26 +39,202 @@ static const UnitActiveState state_translation_table[_PATH_STATE_MAX] = { + [PATH_FAILED] = UNIT_FAILED + }; + +-static void path_init(Unit *u) { +- Path *p = PATH(u); ++int pathspec_watch(PathSpec *s, Unit *u) { ++ static const int flags_table[_PATH_TYPE_MAX] = { ++ [PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, ++ [PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, ++ [PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO, ++ [PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO ++ }; ++ ++ bool exists = false; ++ char *k, *slash; ++ int r; + + assert(u); +- assert(u->meta.load_state == UNIT_STUB); ++ assert(s); + +- p->directory_mode = 0755; ++ pathspec_unwatch(s, u); ++ ++ if (!(k = strdup(s->path))) ++ return -ENOMEM; ++ ++ if ((s->inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC)) < 0) { ++ r = -errno; ++ goto fail; ++ } ++ ++ if (unit_watch_fd(u, s->inotify_fd, EPOLLIN, &s->watch) < 0) { ++ r = -errno; ++ goto fail; ++ } ++ ++ if ((s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type])) >= 0) ++ exists = true; ++ ++ do { ++ int flags; ++ ++ /* This assumes the path was passed through path_kill_slashes()! */ ++ if (!(slash = strrchr(k, '/'))) ++ break; ++ ++ /* Trim the path at the last slash. Keep the slash if it's the root dir. */ ++ slash[slash == k] = 0; ++ ++ flags = IN_MOVE_SELF; ++ if (!exists) ++ flags |= IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO; ++ ++ if (inotify_add_watch(s->inotify_fd, k, flags) >= 0) ++ exists = true; ++ } while (slash != k); ++ ++ return 0; ++ ++fail: ++ free(k); ++ ++ pathspec_unwatch(s, u); ++ return r; + } + +-static void path_unwatch_one(Path *p, PathSpec *s) { ++void pathspec_unwatch(PathSpec *s, Unit *u) { + + if (s->inotify_fd < 0) + return; + +- unit_unwatch_fd(UNIT(p), &s->watch); ++ unit_unwatch_fd(u, &s->watch); + + close_nointr_nofail(s->inotify_fd); + s->inotify_fd = -1; + } + ++int pathspec_fd_event(PathSpec *s, uint32_t events) { ++ uint8_t *buf = NULL; ++ struct inotify_event *e; ++ ssize_t k; ++ int l; ++ int r = 0; ++ ++ if (events != EPOLLIN) { ++ log_error("Got Invalid poll event on inotify."); ++ r = -EINVAL; ++ goto out; ++ } ++ ++ if (ioctl(s->inotify_fd, FIONREAD, &l) < 0) { ++ log_error("FIONREAD failed: %m"); ++ r = -errno; ++ goto out; ++ } ++ ++ assert(l > 0); ++ ++ if (!(buf = malloc(l))) { ++ log_error("Failed to allocate buffer: %m"); ++ r = -errno; ++ goto out; ++ } ++ ++ if ((k = read(s->inotify_fd, buf, l)) < 0) { ++ log_error("Failed to read inotify event: %m"); ++ r = -errno; ++ goto out; ++ } ++ ++ e = (struct inotify_event*) buf; ++ ++ while (k > 0) { ++ size_t step; ++ ++ if (s->type == PATH_CHANGED && s->primary_wd == e->wd) ++ r = 1; ++ ++ step = sizeof(struct inotify_event) + e->len; ++ assert(step <= (size_t) k); ++ ++ e = (struct inotify_event*) ((uint8_t*) e + step); ++ k -= step; ++ } ++out: ++ free(buf); ++ return r; ++} ++ ++static bool pathspec_check_good(PathSpec *s, bool initial) { ++ bool good = false; ++ ++ switch (s->type) { ++ ++ case PATH_EXISTS: ++ good = access(s->path, F_OK) >= 0; ++ break; ++ ++ case PATH_EXISTS_GLOB: ++ good = glob_exists(s->path) > 0; ++ break; ++ ++ case PATH_DIRECTORY_NOT_EMPTY: { ++ int k; ++ ++ k = dir_is_empty(s->path); ++ good = !(k == -ENOENT || k > 0); ++ break; ++ } ++ ++ case PATH_CHANGED: { ++ bool b; ++ ++ b = access(s->path, F_OK) >= 0; ++ good = !initial && b != s->previous_exists; ++ s->previous_exists = b; ++ break; ++ } ++ ++ default: ++ ; ++ } ++ ++ return good; ++} ++ ++static bool pathspec_startswith(PathSpec *s, const char *what) { ++ return path_startswith(s->path, what); ++} ++ ++static void pathspec_mkdir(PathSpec *s, mode_t mode) { ++ int r; ++ ++ if (s->type == PATH_EXISTS || s->type == PATH_EXISTS_GLOB) ++ return; ++ ++ if ((r = mkdir_p(s->path, mode)) < 0) ++ log_warning("mkdir(%s) failed: %s", s->path, strerror(-r)); ++} ++ ++static void pathspec_dump(PathSpec *s, FILE *f, const char *prefix) { ++ fprintf(f, ++ "%s%s: %s\n", ++ prefix, ++ path_type_to_string(s->type), ++ s->path); ++} ++ ++void pathspec_done(PathSpec *s) { ++ assert(s->inotify_fd == -1); ++ free(s->path); ++} ++ ++static void path_init(Unit *u) { ++ Path *p = PATH(u); ++ ++ assert(u); ++ assert(u->meta.load_state == UNIT_STUB); ++ ++ p->directory_mode = 0755; ++} ++ + static void path_done(Unit *u) { + Path *p = PATH(u); + PathSpec *s; +@@ -66,9 +242,9 @@ static void path_done(Unit *u) { + assert(p); + + while ((s = p->specs)) { +- path_unwatch_one(p, s); ++ pathspec_unwatch(s, u); + LIST_REMOVE(PathSpec, spec, p->specs, s); +- free(s->path); ++ pathspec_done(s); + free(s); + } + } +@@ -86,7 +262,7 @@ int path_add_one_mount_link(Path *p, Mount *m) { + + LIST_FOREACH(spec, s, p->specs) { + +- if (!path_startswith(s->path, m->where)) ++ if (!pathspec_startswith(s, m->where)) + continue; + + if ((r = unit_add_two_dependencies(UNIT(p), UNIT_AFTER, UNIT_REQUIRES, UNIT(m), true)) < 0) +@@ -187,71 +363,7 @@ static void path_dump(Unit *u, FILE *f, const char *prefix) { + prefix, p->directory_mode); + + LIST_FOREACH(spec, s, p->specs) +- fprintf(f, +- "%s%s: %s\n", +- prefix, +- path_type_to_string(s->type), +- s->path); +-} +- +-static int path_watch_one(Path *p, PathSpec *s) { +- static const int flags_table[_PATH_TYPE_MAX] = { +- [PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, +- [PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, +- [PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO, +- [PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO +- }; +- +- bool exists = false; +- char *k, *slash; +- int r; +- +- assert(p); +- assert(s); +- +- path_unwatch_one(p, s); +- +- if (!(k = strdup(s->path))) +- return -ENOMEM; +- +- if ((s->inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC)) < 0) { +- r = -errno; +- goto fail; +- } +- +- if (unit_watch_fd(UNIT(p), s->inotify_fd, EPOLLIN, &s->watch) < 0) { +- r = -errno; +- goto fail; +- } +- +- if ((s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type])) >= 0) +- exists = true; +- +- do { +- int flags; +- +- /* This assumes the path was passed through path_kill_slashes()! */ +- if (!(slash = strrchr(k, '/'))) +- break; +- +- /* Trim the path at the last slash. Keep the slash if it's the root dir. */ +- slash[slash == k] = 0; +- +- flags = IN_MOVE_SELF; +- if (!exists) +- flags |= IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO; +- +- if (inotify_add_watch(s->inotify_fd, k, flags) >= 0) +- exists = true; +- } while (slash != k); +- +- return 0; +- +-fail: +- free(k); +- +- path_unwatch_one(p, s); +- return r; ++ pathspec_dump(s, f, prefix); + } + + static void path_unwatch(Path *p) { +@@ -260,7 +372,7 @@ static void path_unwatch(Path *p) { + assert(p); + + LIST_FOREACH(spec, s, p->specs) +- path_unwatch_one(p, s); ++ pathspec_unwatch(s, UNIT(p)); + } + + static int path_watch(Path *p) { +@@ -270,7 +382,7 @@ static int path_watch(Path *p) { + assert(p); + + LIST_FOREACH(spec, s, p->specs) +- if ((r = path_watch_one(p, s)) < 0) ++ if ((r = pathspec_watch(s, UNIT(p))) < 0) + return r; + + return 0; +@@ -361,37 +473,7 @@ static bool path_check_good(Path *p, bool initial) { + assert(p); + + LIST_FOREACH(spec, s, p->specs) { +- +- switch (s->type) { +- +- case PATH_EXISTS: +- good = access(s->path, F_OK) >= 0; +- break; +- +- case PATH_EXISTS_GLOB: +- good = glob_exists(s->path) > 0; +- break; +- +- case PATH_DIRECTORY_NOT_EMPTY: { +- int k; +- +- k = dir_is_empty(s->path); +- good = !(k == -ENOENT || k > 0); +- break; +- } +- +- case PATH_CHANGED: { +- bool b; +- +- b = access(s->path, F_OK) >= 0; +- good = !initial && b != s->previous_exists; +- s->previous_exists = b; +- break; +- } +- +- default: +- ; +- } ++ good = pathspec_check_good(s, initial); + + if (good) + break; +@@ -440,15 +522,8 @@ static void path_mkdir(Path *p) { + if (!p->make_directory) + return; + +- LIST_FOREACH(spec, s, p->specs) { +- int r; +- +- if (s->type == PATH_EXISTS || s->type == PATH_EXISTS_GLOB) +- continue; +- +- if ((r = mkdir_p(s->path, p->directory_mode)) < 0) +- log_warning("mkdir(%s) failed: %s", s->path, strerror(-r)); +- } ++ LIST_FOREACH(spec, s, p->specs) ++ pathspec_mkdir(s, p->directory_mode); + } + + static int path_start(Unit *u) { +@@ -525,12 +600,8 @@ static const char *path_sub_state_to_string(Unit *u) { + + static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + Path *p = PATH(u); +- int l; +- ssize_t k; +- uint8_t *buf = NULL; +- struct inotify_event *e; + PathSpec *s; +- bool changed; ++ int changed; + + assert(p); + assert(fd >= 0); +@@ -541,13 +612,8 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + + /* log_debug("inotify wakeup on %s.", u->meta.id); */ + +- if (events != EPOLLIN) { +- log_error("Got Invalid poll event on inotify."); +- goto fail; +- } +- + LIST_FOREACH(spec, s, p->specs) +- if (s->inotify_fd == fd) ++ if (pathspec_owns_inotify_fd(s, fd)) + break; + + if (!s) { +@@ -555,55 +621,23 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + goto fail; + } + +- if (ioctl(fd, FIONREAD, &l) < 0) { +- log_error("FIONREAD failed: %m"); +- goto fail; +- } +- +- assert(l > 0); +- +- if (!(buf = malloc(l))) { +- log_error("Failed to allocate buffer: %s", strerror(ENOMEM)); +- goto fail; +- } +- +- if ((k = read(fd, buf, l)) < 0) { +- log_error("Failed to read inotify event: %m"); ++ changed = pathspec_fd_event(s, events); ++ if (changed < 0) + goto fail; +- } + + /* If we are already running, then remember that one event was + * dispatched so that we restart the service only if something + * actually changed on disk */ + p->inotify_triggered = true; + +- e = (struct inotify_event*) buf; +- +- changed = false; +- while (k > 0) { +- size_t step; +- +- if (s->type == PATH_CHANGED && s->primary_wd == e->wd) +- changed = true; +- +- step = sizeof(struct inotify_event) + e->len; +- assert(step <= (size_t) k); +- +- e = (struct inotify_event*) ((uint8_t*) e + step); +- k -= step; +- } +- + if (changed) + path_enter_running(p); + else + path_enter_waiting(p, false, true); + +- free(buf); +- + return; + + fail: +- free(buf); + path_enter_dead(p, false); + } + +diff --git a/src/path.h b/src/path.h +index 116fc63..4e6ccf5 100644 +--- a/src/path.h ++++ b/src/path.h +@@ -60,6 +60,14 @@ typedef struct PathSpec { + + } PathSpec; + ++int pathspec_watch(PathSpec *s, Unit *u); ++void pathspec_unwatch(PathSpec *s, Unit *u); ++int pathspec_fd_event(PathSpec *s, uint32_t events); ++void pathspec_done(PathSpec *s); ++static inline bool pathspec_owns_inotify_fd(PathSpec *s, int fd) { ++ return s->inotify_fd == fd; ++} ++ + struct Path { + Meta meta; + +-- +1.7.7 + + +From e92238567b9fc83ef77e359588d7b005ecae3d70 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 3 Dec 2011 10:22:26 +0100 +Subject: [PATCH 4/5] path: add PathModified (= PathChanged + IN_MODIFY) + +--- + man/systemd.path.xml | 17 ++++++++++------- + src/path.c | 2 ++ + src/path.h | 1 + + 3 files changed, 13 insertions(+), 7 deletions(-) + +diff --git a/man/systemd.path.xml b/man/systemd.path.xml +index 10d8f73..5b1ff75 100644 +--- a/man/systemd.path.xml ++++ b/man/systemd.path.xml +@@ -113,6 +113,7 @@ + PathExists= + PathExistsGlob= + PathChanged= ++ PathModified= + DirectoryNotEmpty= + + Defines paths to +@@ -129,8 +130,14 @@ + specified. PathChanged= + may be used to watch a file or + directory and activate the configured +- unit whenever it changes or is +- modified. DirectoryNotEmpty= ++ unit whenever it changes. It is not activated ++ on every write to the watched file but it is ++ activated if the file which was open for writing ++ gets closed. PathModified= ++ is similar, but additionally it is activated ++ also on simple writes to the watched file. ++ ++ DirectoryNotEmpty= + may be used to watch a directory and + activate the configured unit whenever + it contains at least one file. +@@ -154,11 +161,7 @@ + activated, then the configured unit is + immediately activated as + well. Something similar does not apply +- to +- PathChanged=. The +- latter is not activated on simple +- writes but only if files with were +- opened for writing are closed. ++ to PathChanged=. + + + +diff --git a/src/path.c b/src/path.c +index db6f873..1e5d825 100644 +--- a/src/path.c ++++ b/src/path.c +@@ -44,6 +44,7 @@ int pathspec_watch(PathSpec *s, Unit *u) { + [PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, + [PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, + [PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO, ++ [PATH_MODIFIED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO|IN_MODIFY, + [PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO + }; + +@@ -713,6 +714,7 @@ static const char* const path_type_table[_PATH_TYPE_MAX] = { + [PATH_EXISTS] = "PathExists", + [PATH_EXISTS_GLOB] = "PathExistsGlob", + [PATH_CHANGED] = "PathChanged", ++ [PATH_MODIFIED] = "PathModified", + [PATH_DIRECTORY_NOT_EMPTY] = "DirectoryNotEmpty" + }; + +diff --git a/src/path.h b/src/path.h +index 4e6ccf5..1d78fe4 100644 +--- a/src/path.h ++++ b/src/path.h +@@ -41,6 +41,7 @@ typedef enum PathType { + PATH_EXISTS_GLOB, + PATH_DIRECTORY_NOT_EMPTY, + PATH_CHANGED, ++ PATH_MODIFIED, + _PATH_TYPE_MAX, + _PATH_TYPE_INVALID = -1 + } PathType; +-- +1.7.7 + + +From 3a11183858af30bc9b4e9dac430dd7541deec19b Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 3 Dec 2011 02:13:30 +0100 +Subject: [PATCH 5/5] service: handle services with racy daemonization + gracefully + +There are a lot of forking daemons that do not exactly follow the +initialization steps as described in daemon(7). It is common that they +do not bother waiting in the parent process for the child to write the +PID file before exiting. The daemons' developers often do not perceive +this as a bug and they're unwilling to change. + +Currently systemd warns about the missing PID file and falls back to +guessing the main PID. Being not quite deterministic, the guess can be +wrong with bad consequences. If the guessing is disabled, determinism is +achieved at the cost of losing the ability of noticing when the main +process of the service dies. + +As long as it does not negatively affect properly written services, +systemd should strive for compatibility even with services with racy +daemonization. It is possible to provide determinism _and_ main process +supervision to them. + +If the PID file is not there, rather than guessing and considering the +service running immediately after getting the SIGCHLD from the ExecStart +(or ExecStartPost) process, we can keep the service in the activating +state for a bit longer. We can use inotify to wait for the PID file to +appear. Only when it finally does appear and we read a valid PID from +it, we'll move the service to the running state. If the PID file never +appears, the usual timeout kicks in and the service fails. +--- + src/service.c | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++------- + src/service.h | 3 + + 2 files changed, 157 insertions(+), 21 deletions(-) + +diff --git a/src/service.c b/src/service.c +index 6fc2484..07137d2 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -1302,8 +1302,8 @@ static int service_load_pid_file(Service *s, bool may_warn) { + + if ((r = read_one_line_file(s->pid_file, &k)) < 0) { + if (may_warn) +- log_warning("Failed to read PID file %s after %s. The service might be broken.", +- s->pid_file, service_state_to_string(s->state)); ++ log_info("PID file %s not readable (yet?) after %s.", ++ s->pid_file, service_state_to_string(s->state)); + return r; + } + +@@ -1315,8 +1315,8 @@ static int service_load_pid_file(Service *s, bool may_warn) { + + if (kill(pid, 0) < 0 && errno != EPERM) { + if (may_warn) +- log_warning("PID %lu read from file %s does not exist. Your service or init script might be broken.", +- (unsigned long) pid, s->pid_file); ++ log_info("PID %lu read from file %s does not exist.", ++ (unsigned long) pid, s->pid_file); + return -ESRCH; + } + +@@ -1328,7 +1328,8 @@ static int service_load_pid_file(Service *s, bool may_warn) { + (unsigned long) s->main_pid, (unsigned long) pid); + service_unwatch_main_pid(s); + s->main_pid_known = false; +- } ++ } else ++ log_debug("Main PID loaded: %lu", (unsigned long) pid); + + if ((r = service_set_main_pid(s, pid)) < 0) + return r; +@@ -1359,6 +1360,7 @@ static int service_search_main_pid(Service *s) { + if ((pid = cgroup_bonding_search_main_pid_list(s->meta.cgroup_bondings)) <= 0) + return -ENOENT; + ++ log_debug("Main PID guessed: %lu", (unsigned long) pid); + if ((r = service_set_main_pid(s, pid)) < 0) + return r; + +@@ -1451,6 +1453,17 @@ static int service_notify_sockets_dead(Service *s) { + return 0; + } + ++static void service_unwatch_pid_file(Service *s) { ++ if (!s->pid_file_pathspec) ++ return; ++ ++ log_debug("Stopping watch for %s's PID file %s", s->meta.id, s->pid_file_pathspec->path); ++ pathspec_unwatch(s->pid_file_pathspec, UNIT(s)); ++ pathspec_done(s->pid_file_pathspec); ++ free(s->pid_file_pathspec); ++ s->pid_file_pathspec = NULL; ++} ++ + static void service_set_state(Service *s, ServiceState state) { + ServiceState old_state; + assert(s); +@@ -1458,6 +1471,8 @@ static void service_set_state(Service *s, ServiceState state) { + old_state = s->state; + s->state = state; + ++ service_unwatch_pid_file(s); ++ + if (state != SERVICE_START_PRE && + state != SERVICE_START && + state != SERVICE_START_POST && +@@ -2602,6 +2617,95 @@ static bool service_check_snapshot(Unit *u) { + return !s->got_socket_fd; + } + ++static int service_retry_pid_file(Service *s) { ++ int r; ++ ++ assert(s->pid_file); ++ assert(s->state == SERVICE_START || s->state == SERVICE_START_POST); ++ ++ r = service_load_pid_file(s, false); ++ if (r < 0) ++ return r; ++ ++ service_unwatch_pid_file(s); ++ ++ service_enter_running(s, true); ++ return 0; ++} ++ ++static int service_watch_pid_file(Service *s) { ++ int r; ++ ++ log_debug("Setting watch for %s's PID file %s", s->meta.id, s->pid_file_pathspec->path); ++ r = pathspec_watch(s->pid_file_pathspec, UNIT(s)); ++ if (r < 0) ++ goto fail; ++ ++ /* the pidfile might have appeared just before we set the watch */ ++ service_retry_pid_file(s); ++ ++ return 0; ++fail: ++ log_error("Failed to set a watch for %s's PID file %s: %s", ++ s->meta.id, s->pid_file_pathspec->path, strerror(-r)); ++ service_unwatch_pid_file(s); ++ return r; ++} ++ ++static int service_demand_pid_file(Service *s) { ++ PathSpec *ps; ++ ++ assert(s->pid_file); ++ assert(!s->pid_file_pathspec); ++ ++ ps = new0(PathSpec, 1); ++ if (!ps) ++ return -ENOMEM; ++ ++ ps->path = strdup(s->pid_file); ++ if (!ps->path) { ++ free(ps); ++ return -ENOMEM; ++ } ++ ++ path_kill_slashes(ps->path); ++ ++ /* PATH_CHANGED would not be enough. There are daemons (sendmail) that ++ * keep their PID file open all the time. */ ++ ps->type = PATH_MODIFIED; ++ ps->inotify_fd = -1; ++ ++ s->pid_file_pathspec = ps; ++ ++ return service_watch_pid_file(s); ++} ++ ++static void service_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { ++ Service *s = SERVICE(u); ++ ++ assert(s); ++ assert(fd >= 0); ++ assert(s->state == SERVICE_START || s->state == SERVICE_START_POST); ++ assert(s->pid_file_pathspec); ++ assert(pathspec_owns_inotify_fd(s->pid_file_pathspec, fd)); ++ ++ log_debug("inotify event for %s", u->meta.id); ++ ++ if (pathspec_fd_event(s->pid_file_pathspec, events) < 0) ++ goto fail; ++ ++ if (service_retry_pid_file(s) == 0) ++ return; ++ ++ if (service_watch_pid_file(s) < 0) ++ goto fail; ++ ++ return; ++fail: ++ service_unwatch_pid_file(s); ++ service_enter_signal(s, SERVICE_STOP_SIGTERM, false); ++} ++ + static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { + Service *s = SERVICE(u); + bool success; +@@ -2707,7 +2811,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { + success = true; + } + +- log_full(success ? LOG_DEBUG : LOG_NOTICE, ++ log_full(success ? LOG_DEBUG : LOG_NOTICE, + "%s: control process exited, code=%s status=%i", u->meta.id, sigchld_code_to_string(code), status); + s->failure = s->failure || !success; + +@@ -2742,27 +2846,41 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { + case SERVICE_START: + assert(s->type == SERVICE_FORKING); + +- /* Let's try to load the pid +- * file here if we can. We +- * ignore the return value, +- * since the PID file might +- * actually be created by a +- * START_POST script */ +- +- if (success) { +- service_load_pid_file(s, !s->exec_command[SERVICE_EXEC_START_POST]); +- service_search_main_pid(s); ++ if (!success) { ++ service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); ++ break; ++ } + +- service_enter_start_post(s); ++ if (s->pid_file) { ++ /* Let's try to load the pid file here if we can. ++ * The PID file might actually be created by a START_POST ++ * script. In that case don't worry if the loading fails. */ ++ bool has_start_post = !!s->exec_command[SERVICE_EXEC_START_POST]; ++ int r = service_load_pid_file(s, !has_start_post); ++ if (!has_start_post && r < 0) { ++ r = service_demand_pid_file(s); ++ if (r < 0 || !cgroup_good(s)) ++ service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); ++ break; ++ } + } else +- service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); ++ service_search_main_pid(s); + ++ service_enter_start_post(s); + break; + + case SERVICE_START_POST: + if (success) { +- service_load_pid_file(s, true); +- service_search_main_pid(s); ++ if (s->pid_file) { ++ int r = service_load_pid_file(s, true); ++ if (r < 0) { ++ r = service_demand_pid_file(s); ++ if (r < 0 || !cgroup_good(s)) ++ service_enter_stop(s, false); ++ break; ++ } ++ } else ++ service_search_main_pid(s); + } + + s->reload_failure = !success; +@@ -2907,6 +3025,20 @@ static void service_cgroup_notify_event(Unit *u) { + * except when we don't know pid which to expect the + * SIGCHLD for. */ + ++ case SERVICE_START: ++ case SERVICE_START_POST: ++ /* If we were hoping for the daemon to write its PID file, ++ * we can give up now. */ ++ if (s->pid_file_pathspec) { ++ log_warning("%s never wrote its PID file. Failing.", s->meta.id); ++ service_unwatch_pid_file(s); ++ if (s->state == SERVICE_START) ++ service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); ++ else ++ service_enter_stop(s, false); ++ } ++ break; ++ + case SERVICE_RUNNING: + service_enter_running(s, true); + break; +@@ -3216,7 +3348,7 @@ static int service_enumerate(Manager *m) { + r = 0; + + #ifdef TARGET_SUSE +- sysv_facility_in_insserv_conf (m); ++ sysv_facility_in_insserv_conf (m); + #endif + + finish: +@@ -3511,6 +3643,7 @@ const UnitVTable service_vtable = { + + .sigchld_event = service_sigchld_event, + .timer_event = service_timer_event, ++ .fd_event = service_fd_event, + + .reset_failed = service_reset_failed, + +diff --git a/src/service.h b/src/service.h +index e28f74b..15d58cc 100644 +--- a/src/service.h ++++ b/src/service.h +@@ -86,6 +86,8 @@ typedef enum NotifyAccess { + _NOTIFY_ACCESS_INVALID = -1 + } NotifyAccess; + ++typedef struct PathSpec PathSpec; ++ + struct Service { + Meta meta; + +@@ -157,6 +159,7 @@ struct Service { + Set *configured_sockets; + + Watch timer_watch; ++ PathSpec *pid_file_pathspec; + + NotifyAccess notify_access; + }; +-- +1.7.7 + +From 714d943f72417f53bcb98ed45d002aa270e793c4 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 8 Dec 2011 12:09:10 +0100 +Subject: [PATCH] path: add missing pieces for PathModified + +PATH_MODIFIED worked internally for PID files detection, but was unusable +in units. +--- + src/load-fragment-gperf.gperf.m4 | 1 + + src/path.c | 6 ++++-- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/load-fragment-gperf.gperf.m4 b/src/load-fragment-gperf.gperf.m4 +index 84ae28c..35ec005 100644 +--- a/src/load-fragment-gperf.gperf.m4 ++++ b/src/load-fragment-gperf.gperf.m4 +@@ -210,6 +210,7 @@ m4_dnl + Path.PathExists, config_parse_path_spec, 0, 0 + Path.PathExistsGlob, config_parse_path_spec, 0, 0 + Path.PathChanged, config_parse_path_spec, 0, 0 ++Path.PathModified, config_parse_path_spec, 0, 0 + Path.DirectoryNotEmpty, config_parse_path_spec, 0, 0 + Path.Unit, config_parse_path_unit, 0, 0 + Path.MakeDirectory, config_parse_bool, 0, offsetof(Path, make_directory) +diff --git a/src/path.c b/src/path.c +index 1e5d825..3fee247 100644 +--- a/src/path.c ++++ b/src/path.c +@@ -149,7 +149,8 @@ int pathspec_fd_event(PathSpec *s, uint32_t events) { + while (k > 0) { + size_t step; + +- if (s->type == PATH_CHANGED && s->primary_wd == e->wd) ++ if ((s->type == PATH_CHANGED || s->type == PATH_MODIFIED) && ++ s->primary_wd == e->wd) + r = 1; + + step = sizeof(struct inotify_event) + e->len; +@@ -184,7 +185,8 @@ static bool pathspec_check_good(PathSpec *s, bool initial) { + break; + } + +- case PATH_CHANGED: { ++ case PATH_CHANGED: ++ case PATH_MODIFIED: { + bool b; + + b = access(s->path, F_OK) >= 0; +-- +1.7.7 + diff --git a/lock-opensuse.patch b/lock-opensuse.patch new file mode 100644 index 00000000..0fa59df5 --- /dev/null +++ b/lock-opensuse.patch @@ -0,0 +1,16 @@ +Index: systemd-37/tmpfiles.d/legacy.conf +=================================================================== +--- systemd-37.orig/tmpfiles.d/legacy.conf ++++ systemd-37/tmpfiles.d/legacy.conf +@@ -17,6 +17,8 @@ + # On modern systems a BSD file lock is a better choice if + # serialization is needed on those devices. + +-d /run/lock 0755 root root - +-d /run/lock/subsys 0755 root root - +-d /run/lock/lockdev 0775 root lock - ++# changed for openSUSE : only /run/lock should be available ++ ++d /run/lock 0775 root lock - ++#d /run/lock/subsys 0755 root root - ++#d /run/lock/lockdev 0775 root lock - diff --git a/log_on_close.patch b/log_on_close.patch new file mode 100644 index 00000000..eee0eda3 --- /dev/null +++ b/log_on_close.patch @@ -0,0 +1,586 @@ +From 4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 16 Nov 2011 23:45:01 +0100 +Subject: [PATCH 1/3] execute: avoid logging to closed fds + +Several functions called from the "sd(EXEC)" process try to log messages +when all the file descriptors are already closed, including the logging +ones. The logging functions do not expect their fds to be closed and +they hit an assertion failure. The failure wants to be logged too, +so there is an infinite recursion, ended by a SIGSEGV. + +When we close all fds, we must let log.c know about it. +--- + src/execute.c | 1 + + src/log.c | 4 ++++ + src/log.h | 1 + + 3 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/src/execute.c b/src/execute.c +index 250d53a..0651014 100644 +--- a/src/execute.c ++++ b/src/execute.c +@@ -1016,6 +1016,7 @@ int exec_spawn(ExecCommand *command, + /* Close sockets very early to make sure we don't + * block init reexecution because it cannot bind its + * sockets */ ++ log_forget_fds(); + if (close_all_fds(socket_fd >= 0 ? &socket_fd : fds, + socket_fd >= 0 ? 1 : n_fds) < 0) { + r = EXIT_FDS; +diff --git a/src/log.c b/src/log.c +index b8ce122..5c5b734 100644 +--- a/src/log.c ++++ b/src/log.c +@@ -237,6 +237,10 @@ void log_close(void) { + log_close_syslog(); + } + ++void log_forget_fds(void) { ++ console_fd = kmsg_fd = syslog_fd = -1; ++} ++ + void log_set_max_level(int level) { + assert((level & LOG_PRIMASK) == level); + +diff --git a/src/log.h b/src/log.h +index c402afb..9942e3e 100644 +--- a/src/log.h ++++ b/src/log.h +@@ -57,6 +57,7 @@ int log_get_max_level(void); + + int log_open(void); + void log_close(void); ++void log_forget_fds(void); + + void log_close_syslog(void); + void log_close_kmsg(void); +-- +1.7.7 + + +From 9ba353983adc026b75a503c1381f6e5c8062f3e0 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 17 Nov 2011 00:16:22 +0100 +Subject: [PATCH 2/3] execute: make setup_pam() return -errno when possible + +The only caller currently checks if the result is non-zero, +so nothing changes there. +--- + src/execute.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletions(-) + +diff --git a/src/execute.c b/src/execute.c +index 0651014..2039861 100644 +--- a/src/execute.c ++++ b/src/execute.c +@@ -716,6 +716,7 @@ static int setup_pam( + pam_handle_t *handle = NULL; + sigset_t ss, old_ss; + int pam_code = PAM_SUCCESS; ++ int err; + char **e = NULL; + bool close_session = false; + pid_t pam_pid = 0, parent_pid; +@@ -835,6 +836,11 @@ static int setup_pam( + return 0; + + fail: ++ if (pam_code != PAM_SUCCESS) ++ err = -EPERM; /* PAM errors do not map to errno */ ++ else ++ err = -errno; ++ + if (handle) { + if (close_session) + pam_code = pam_close_session(handle, PAM_DATA_SILENT); +@@ -851,7 +857,7 @@ fail: + kill(pam_pid, SIGCONT); + } + +- return EXIT_PAM; ++ return err; + } + #endif + +-- +1.7.7 + + +From 4c2630ebf23b6348174f0bdf1110e90efe45259c Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 17 Nov 2011 00:21:16 +0100 +Subject: [PATCH 3/3] execute: log errors from "sd(EXEC)" + +To give the administrator more hints about failures occuring in spawning +of commands than just the exit code, log the strerror. +All fds are closed, so reopen the log. + +Related-to: https://bugzilla.redhat.com/show_bug.cgi?id=752901 +--- + src/execute.c | 138 +++++++++++++++++++++++++++++++++++++++-------------- + src/exit-status.c | 3 + + src/exit-status.h | 3 +- + 3 files changed, 107 insertions(+), 37 deletions(-) + +diff --git a/src/execute.c b/src/execute.c +index 2039861..481725d 100644 +--- a/src/execute.c ++++ b/src/execute.c +@@ -989,7 +989,7 @@ int exec_spawn(ExecCommand *command, + } + + if (pid == 0) { +- int i; ++ int i, err; + sigset_t ss; + const char *username = NULL, *home = NULL; + uid_t uid = (uid_t) -1; +@@ -1015,6 +1015,7 @@ int exec_spawn(ExecCommand *command, + + if (sigemptyset(&ss) < 0 || + sigprocmask(SIG_SETMASK, &ss, NULL) < 0) { ++ err = -errno; + r = EXIT_SIGNAL_MASK; + goto fail_child; + } +@@ -1023,14 +1024,16 @@ int exec_spawn(ExecCommand *command, + * block init reexecution because it cannot bind its + * sockets */ + log_forget_fds(); +- if (close_all_fds(socket_fd >= 0 ? &socket_fd : fds, +- socket_fd >= 0 ? 1 : n_fds) < 0) { ++ err = close_all_fds(socket_fd >= 0 ? &socket_fd : fds, ++ socket_fd >= 0 ? 1 : n_fds); ++ if (err < 0) { + r = EXIT_FDS; + goto fail_child; + } + + if (!context->same_pgrp) + if (setsid() < 0) { ++ err = -errno; + r = EXIT_SETSID; + goto fail_child; + } +@@ -1038,12 +1041,14 @@ int exec_spawn(ExecCommand *command, + if (context->tcpwrap_name) { + if (socket_fd >= 0) + if (!socket_tcpwrap(socket_fd, context->tcpwrap_name)) { ++ err = -EACCES; + r = EXIT_TCPWRAP; + goto fail_child; + } + + for (i = 0; i < (int) n_fds; i++) { + if (!socket_tcpwrap(fds[i], context->tcpwrap_name)) { ++ err = -EACCES; + r = EXIT_TCPWRAP; + goto fail_child; + } +@@ -1059,11 +1064,14 @@ int exec_spawn(ExecCommand *command, + + /* Set up terminal for the question */ + if ((r = setup_confirm_stdio(context, +- &saved_stdin, &saved_stdout))) ++ &saved_stdin, &saved_stdout))) { ++ err = -errno; + goto fail_child; ++ } + + /* Now ask the question. */ + if (!(line = exec_command_line(argv))) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } +@@ -1072,18 +1080,21 @@ int exec_spawn(ExecCommand *command, + free(line); + + if (r < 0 || response == 'n') { ++ err = -ECANCELED; + r = EXIT_CONFIRM; + goto fail_child; + } else if (response == 's') { +- r = 0; ++ err = r = 0; + goto fail_child; + } + + /* Release terminal for the question */ + if ((r = restore_confirm_stdio(context, + &saved_stdin, &saved_stdout, +- &keep_stdin, &keep_stdout))) ++ &keep_stdin, &keep_stdout))) { ++ err = -errno; + goto fail_child; ++ } + } + + /* If a socket is connected to STDIN/STDOUT/STDERR, we +@@ -1091,28 +1102,35 @@ int exec_spawn(ExecCommand *command, + if (socket_fd >= 0) + fd_nonblock(socket_fd, false); + +- if (!keep_stdin) +- if (setup_input(context, socket_fd, apply_tty_stdin) < 0) { ++ if (!keep_stdin) { ++ err = setup_input(context, socket_fd, apply_tty_stdin); ++ if (err < 0) { + r = EXIT_STDIN; + goto fail_child; + } ++ } + +- if (!keep_stdout) +- if (setup_output(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin) < 0) { ++ if (!keep_stdout) { ++ err = setup_output(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin); ++ if (err < 0) { + r = EXIT_STDOUT; + goto fail_child; + } ++ } + +- if (setup_error(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin) < 0) { ++ err = setup_error(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin); ++ if (err < 0) { + r = EXIT_STDERR; + goto fail_child; + } + +- if (cgroup_bondings) +- if (cgroup_bonding_install_list(cgroup_bondings, 0) < 0) { ++ if (cgroup_bondings) { ++ err = cgroup_bonding_install_list(cgroup_bondings, 0); ++ if (err < 0) { + r = EXIT_CGROUP; + goto fail_child; + } ++ } + + if (context->oom_score_adjust_set) { + char t[16]; +@@ -1133,6 +1151,7 @@ int exec_spawn(ExecCommand *command, + + if (write_one_line_file("/proc/self/oom_adj", t) < 0 + && errno != EACCES) { ++ err = -errno; + r = EXIT_OOM_ADJUST; + goto fail_child; + } +@@ -1141,6 +1160,7 @@ int exec_spawn(ExecCommand *command, + + if (context->nice_set) + if (setpriority(PRIO_PROCESS, 0, context->nice) < 0) { ++ err = -errno; + r = EXIT_NICE; + goto fail_child; + } +@@ -1153,6 +1173,7 @@ int exec_spawn(ExecCommand *command, + + if (sched_setscheduler(0, context->cpu_sched_policy | + (context->cpu_sched_reset_on_fork ? SCHED_RESET_ON_FORK : 0), ¶m) < 0) { ++ err = -errno; + r = EXIT_SETSCHEDULER; + goto fail_child; + } +@@ -1160,18 +1181,21 @@ int exec_spawn(ExecCommand *command, + + if (context->cpuset) + if (sched_setaffinity(0, CPU_ALLOC_SIZE(context->cpuset_ncpus), context->cpuset) < 0) { ++ err = -errno; + r = EXIT_CPUAFFINITY; + goto fail_child; + } + + if (context->ioprio_set) + if (ioprio_set(IOPRIO_WHO_PROCESS, 0, context->ioprio) < 0) { ++ err = -errno; + r = EXIT_IOPRIO; + goto fail_child; + } + + if (context->timer_slack_nsec_set) + if (prctl(PR_SET_TIMERSLACK, context->timer_slack_nsec) < 0) { ++ err = -errno; + r = EXIT_TIMERSLACK; + goto fail_child; + } +@@ -1181,36 +1205,45 @@ int exec_spawn(ExecCommand *command, + + if (context->user) { + username = context->user; +- if (get_user_creds(&username, &uid, &gid, &home) < 0) { ++ err = get_user_creds(&username, &uid, &gid, &home); ++ if (err < 0) { + r = EXIT_USER; + goto fail_child; + } + +- if (is_terminal_input(context->std_input)) +- if (chown_terminal(STDIN_FILENO, uid) < 0) { ++ if (is_terminal_input(context->std_input)) { ++ err = chown_terminal(STDIN_FILENO, uid); ++ if (err < 0) { + r = EXIT_STDIN; + goto fail_child; + } ++ } + +- if (cgroup_bondings && context->control_group_modify) +- if (cgroup_bonding_set_group_access_list(cgroup_bondings, 0755, uid, gid) < 0 || +- cgroup_bonding_set_task_access_list(cgroup_bondings, 0644, uid, gid) < 0) { ++ if (cgroup_bondings && context->control_group_modify) { ++ err = cgroup_bonding_set_group_access_list(cgroup_bondings, 0755, uid, gid); ++ if (err >= 0) ++ err = cgroup_bonding_set_task_access_list(cgroup_bondings, 0644, uid, gid); ++ if (err < 0) { + r = EXIT_CGROUP; + goto fail_child; + } ++ } + } + +- if (apply_permissions) +- if (enforce_groups(context, username, gid) < 0) { ++ if (apply_permissions) { ++ err = enforce_groups(context, username, gid); ++ if (err < 0) { + r = EXIT_GROUP; + goto fail_child; + } ++ } + + umask(context->umask); + + #ifdef HAVE_PAM + if (context->pam_name && username) { +- if (setup_pam(context->pam_name, username, context->tty_path, &pam_env, fds, n_fds) != 0) { ++ err = setup_pam(context->pam_name, username, context->tty_path, &pam_env, fds, n_fds); ++ if (err < 0) { + r = EXIT_PAM; + goto fail_child; + } +@@ -1218,6 +1251,7 @@ int exec_spawn(ExecCommand *command, + #endif + if (context->private_network) { + if (unshare(CLONE_NEWNET) < 0) { ++ err = -errno; + r = EXIT_NETWORK; + goto fail_child; + } +@@ -1229,23 +1263,28 @@ int exec_spawn(ExecCommand *command, + strv_length(context->read_only_dirs) > 0 || + strv_length(context->inaccessible_dirs) > 0 || + context->mount_flags != MS_SHARED || +- context->private_tmp) +- if ((r = setup_namespace( +- context->read_write_dirs, +- context->read_only_dirs, +- context->inaccessible_dirs, +- context->private_tmp, +- context->mount_flags)) < 0) ++ context->private_tmp) { ++ err = setup_namespace(context->read_write_dirs, ++ context->read_only_dirs, ++ context->inaccessible_dirs, ++ context->private_tmp, ++ context->mount_flags); ++ if (err < 0) { ++ r = EXIT_NAMESPACE; + goto fail_child; ++ } ++ } + + if (apply_chroot) { + if (context->root_directory) + if (chroot(context->root_directory) < 0) { ++ err = -errno; + r = EXIT_CHROOT; + goto fail_child; + } + + if (chdir(context->working_directory ? context->working_directory : "/") < 0) { ++ err = -errno; + r = EXIT_CHDIR; + goto fail_child; + } +@@ -1256,11 +1295,13 @@ int exec_spawn(ExecCommand *command, + if (asprintf(&d, "%s/%s", + context->root_directory ? context->root_directory : "", + context->working_directory ? context->working_directory : "") < 0) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } + + if (chdir(d) < 0) { ++ err = -errno; + free(d); + r = EXIT_CHDIR; + goto fail_child; +@@ -1271,9 +1312,12 @@ int exec_spawn(ExecCommand *command, + + /* We repeat the fd closing here, to make sure that + * nothing is leaked from the PAM modules */ +- if (close_all_fds(fds, n_fds) < 0 || +- shift_fds(fds, n_fds) < 0 || +- flags_fds(fds, n_fds, context->non_blocking) < 0) { ++ err = close_all_fds(fds, n_fds); ++ if (err >= 0) ++ err = shift_fds(fds, n_fds); ++ if (err >= 0) ++ err = flags_fds(fds, n_fds, context->non_blocking); ++ if (err < 0) { + r = EXIT_FDS; + goto fail_child; + } +@@ -1285,22 +1329,27 @@ int exec_spawn(ExecCommand *command, + continue; + + if (setrlimit(i, context->rlimit[i]) < 0) { ++ err = -errno; + r = EXIT_LIMITS; + goto fail_child; + } + } + +- if (context->capability_bounding_set_drop) +- if (do_capability_bounding_set_drop(context->capability_bounding_set_drop) < 0) { ++ if (context->capability_bounding_set_drop) { ++ err = do_capability_bounding_set_drop(context->capability_bounding_set_drop); ++ if (err < 0) { + r = EXIT_CAPABILITIES; + goto fail_child; + } ++ } + +- if (context->user) +- if (enforce_user(context, uid) < 0) { ++ if (context->user) { ++ err = enforce_user(context, uid); ++ if (err < 0) { + r = EXIT_USER; + goto fail_child; + } ++ } + + /* PR_GET_SECUREBITS is not privileged, while + * PR_SET_SECUREBITS is. So to suppress +@@ -1308,18 +1357,21 @@ int exec_spawn(ExecCommand *command, + * PR_SET_SECUREBITS unless necessary. */ + if (prctl(PR_GET_SECUREBITS) != context->secure_bits) + if (prctl(PR_SET_SECUREBITS, context->secure_bits) < 0) { ++ err = -errno; + r = EXIT_SECUREBITS; + goto fail_child; + } + + if (context->capabilities) + if (cap_set_proc(context->capabilities) < 0) { ++ err = -errno; + r = EXIT_CAPABILITIES; + goto fail_child; + } + } + + if (!(our_env = new0(char*, 7))) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } +@@ -1327,12 +1379,14 @@ int exec_spawn(ExecCommand *command, + if (n_fds > 0) + if (asprintf(our_env + n_env++, "LISTEN_PID=%lu", (unsigned long) getpid()) < 0 || + asprintf(our_env + n_env++, "LISTEN_FDS=%u", n_fds) < 0) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } + + if (home) + if (asprintf(our_env + n_env++, "HOME=%s", home) < 0) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } +@@ -1340,6 +1394,7 @@ int exec_spawn(ExecCommand *command, + if (username) + if (asprintf(our_env + n_env++, "LOGNAME=%s", username) < 0 || + asprintf(our_env + n_env++, "USER=%s", username) < 0) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } +@@ -1348,6 +1403,7 @@ int exec_spawn(ExecCommand *command, + context->std_output == EXEC_OUTPUT_TTY || + context->std_error == EXEC_OUTPUT_TTY) + if (!(our_env[n_env++] = strdup(default_term_for_tty(tty_path(context))))) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } +@@ -1362,11 +1418,13 @@ int exec_spawn(ExecCommand *command, + files_env, + pam_env, + NULL))) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } + + if (!(final_argv = replace_env_argv(argv, final_env))) { ++ err = -ENOMEM; + r = EXIT_MEMORY; + goto fail_child; + } +@@ -1374,9 +1432,17 @@ int exec_spawn(ExecCommand *command, + final_env = strv_env_clean(final_env); + + execve(command->path, final_argv, final_env); ++ err = -errno; + r = EXIT_EXEC; + + fail_child: ++ if (r != 0) { ++ log_open(); ++ log_warning("Failed at step %s spawning %s: %s", ++ exit_status_to_string(r, EXIT_STATUS_SYSTEMD), ++ command->path, strerror(-err)); ++ } ++ + strv_free(our_env); + strv_free(final_env); + strv_free(pam_env); +diff --git a/src/exit-status.c b/src/exit-status.c +index 8ed1a0e..ab8907d 100644 +--- a/src/exit-status.c ++++ b/src/exit-status.c +@@ -119,6 +119,9 @@ const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) { + + case EXIT_NETWORK: + return "NETWORK"; ++ ++ case EXIT_NAMESPACE: ++ return "NAMESPACE"; + } + } + +diff --git a/src/exit-status.h b/src/exit-status.h +index 3e977b1..44ef879 100644 +--- a/src/exit-status.h ++++ b/src/exit-status.h +@@ -65,7 +65,8 @@ typedef enum ExitStatus { + EXIT_STDERR, + EXIT_TCPWRAP, + EXIT_PAM, +- EXIT_NETWORK ++ EXIT_NETWORK, ++ EXIT_NAMESPACE + + } ExitStatus; + +-- +1.7.7 + diff --git a/modules_on_boot.patch b/modules_on_boot.patch index 929a2caa..5158a716 100644 --- a/modules_on_boot.patch +++ b/modules_on_boot.patch @@ -7,10 +7,10 @@ Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) -diff --git a/src/modules-load.c b/src/modules-load.c -index 8dd98f7..73ef5f5 100644 ---- a/src/modules-load.c -+++ b/src/modules-load.c +Index: systemd-37/src/modules-load.c +=================================================================== +--- systemd-37.orig/src/modules-load.c ++++ systemd-37/src/modules-load.c @@ -36,6 +36,9 @@ int main(int argc, char *argv[]) { char **arguments = NULL; unsigned n_arguments = 0, n_allocated = 0; @@ -74,6 +74,15 @@ index 8dd98f7..73ef5f5 100644 return r; } --- -1.7.3.4 - +Index: systemd-37/units/systemd-modules-load.service.in +=================================================================== +--- systemd-37.orig/units/systemd-modules-load.service.in ++++ systemd-37/units/systemd-modules-load.service.in +@@ -11,6 +11,7 @@ DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service + Before=sysinit.target shutdown.target ++ConditionPathExists=|/etc/sysconfig/kernel + ConditionDirectoryNotEmpty=|/lib/modules-load.d + ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d + ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d diff --git a/mount-swap-log.patch b/mount-swap-log.patch new file mode 100644 index 00000000..9117adfe --- /dev/null +++ b/mount-swap-log.patch @@ -0,0 +1,54 @@ +From f6cebb3bd5a00d79c8131637c0f6796a75e6af99 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 19 Nov 2011 02:47:09 +0100 +Subject: [PATCH] let mount and swap units log to the configured defaults + +Related-to: https://bugzilla.redhat.com/show_bug.cgi?id=750032 +--- + src/mount.c | 6 ++++-- + src/swap.c | 5 +++-- + 2 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/src/mount.c b/src/mount.c +index f9cfe91..47422cc 100644 +--- a/src/mount.c ++++ b/src/mount.c +@@ -68,8 +68,10 @@ static void mount_init(Unit *u) { + + /* The stdio/kmsg bridge socket is on /, in order to avoid a + * dep loop, don't use kmsg logging for -.mount */ +- if (!unit_has_name(u, "-.mount")) +- m->exec_context.std_output = EXEC_OUTPUT_KMSG; ++ if (!unit_has_name(u, "-.mount")) { ++ m->exec_context.std_output = u->meta.manager->default_std_output; ++ m->exec_context.std_error = u->meta.manager->default_std_error; ++ } + + /* We need to make sure that /bin/mount is always called in + * the same process group as us, so that the autofs kernel +diff --git a/src/swap.c b/src/swap.c +index 54a8640..4fa30a3 100644 +--- a/src/swap.c ++++ b/src/swap.c +@@ -74,7 +74,7 @@ static void swap_unset_proc_swaps(Swap *s) { + s->parameters_proc_swaps.what = NULL; + } + +- static void swap_init(Unit *u) { ++static void swap_init(Unit *u) { + Swap *s = SWAP(u); + + assert(s); +@@ -83,7 +83,8 @@ static void swap_unset_proc_swaps(Swap *s) { + s->timeout_usec = DEFAULT_TIMEOUT_USEC; + + exec_context_init(&s->exec_context); +- s->exec_context.std_output = EXEC_OUTPUT_KMSG; ++ s->exec_context.std_output = u->meta.manager->default_std_output; ++ s->exec_context.std_error = u->meta.manager->default_std_error; + + s->parameters_etc_fstab.priority = s->parameters_proc_swaps.priority = s->parameters_fragment.priority = -1; + +-- +1.7.7 + diff --git a/new-lsb-headers.patch b/new-lsb-headers.patch new file mode 100644 index 00000000..7565c00f --- /dev/null +++ b/new-lsb-headers.patch @@ -0,0 +1,65 @@ +Index: systemd-37/src/service.c +=================================================================== +--- systemd-37.orig/src/service.c ++++ systemd-37/src/service.c +@@ -116,6 +116,7 @@ static void service_init(Unit *u) { + #ifdef HAVE_SYSV_COMPAT + s->sysv_start_priority = -1; + s->sysv_start_priority_from_rcnd = -1; ++ s->sysv_remain_after_exit_heuristic = true; + #endif + s->socket_fd = -1; + s->guess_main_pid = true; +@@ -805,6 +806,31 @@ static int service_load_sysv_path(Servic + + } else + state = LSB; ++ } else if (startswith_no_case(t, "PIDFile:")) { ++ char *fn; ++ ++ state = LSB; ++ ++ fn = strstrip(t+8); ++ if (!path_is_absolute(fn)) { ++ log_warning("[%s:%u] PID file not absolute. Ignoring.", path, line); ++ continue; ++ } ++ ++ if (!(fn = strdup(fn))) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ free(s->pid_file); ++ s->pid_file = fn; ++ s->sysv_remain_after_exit_heuristic = false; ++ } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { ++ char *j; ++ ++ state = LSB; ++ if ((j = strstrip(t+26)) && *j) ++ s->sysv_remain_after_exit_heuristic = !parse_boolean(j); + } + } + } +@@ -2017,7 +2043,7 @@ static void service_enter_running(Servic + if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && + (s->bus_name_good || s->type != SERVICE_DBUS)) { + #ifdef HAVE_SYSV_COMPAT +- if (s->sysv_enabled && !s->pid_file) ++ if (s->sysv_enabled && !s->pid_file && s->sysv_remain_after_exit_heuristic) + s->remain_after_exit = false; + #endif + service_set_state(s, SERVICE_RUNNING); +Index: systemd-37/src/service.h +=================================================================== +--- systemd-37.orig/src/service.h ++++ systemd-37/src/service.h +@@ -139,6 +139,7 @@ struct Service { + #ifdef HAVE_SYSV_COMPAT + bool sysv_has_lsb:1; + bool sysv_enabled:1; ++ bool sysv_remain_after_exit_heuristic:1; + int sysv_start_priority_from_rcnd; + int sysv_start_priority; + diff --git a/private_tmp_crash.patch b/private_tmp_crash.patch deleted file mode 100644 index c7bb783b..00000000 --- a/private_tmp_crash.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: systemd-37/src/namespace.c -=================================================================== ---- systemd-37.orig/src/namespace.c -+++ systemd-37/src/namespace.c -@@ -157,7 +157,6 @@ static int apply_mount(Path *p, const ch - } - - if ((r = mount(what, where, NULL, MS_BIND|MS_REC, NULL)) >= 0) { -- log_debug("Successfully mounted %s to %s", what, where); - - /* The bind mount will always inherit the original - * flags. If we want to set any flag we need diff --git a/storage-after-cryptsetup.patch b/storage-after-cryptsetup.patch new file mode 100644 index 00000000..a317015e --- /dev/null +++ b/storage-after-cryptsetup.patch @@ -0,0 +1,132 @@ +From b9841589cf16950af7d123ecd128b84464d15a1d Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 7 Nov 2011 18:04:20 +0100 +Subject: [PATCH] force lvm restart after cryptsetup target is reached + +--- + src/cryptsetup-generator.c | 80 ++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 80 insertions(+), 0 deletions(-) + +diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c +index a48b7a4..14fcce8 100644 +--- a/src/cryptsetup-generator.c ++++ b/src/cryptsetup-generator.c +@@ -22,12 +22,14 @@ + #include + #include + #include ++#include + + #include "log.h" + #include "util.h" + #include "unit-name.h" + + const char *arg_dest = "/tmp"; ++bool random_seed = false; + + static bool has_option(const char *haystack, const char *needle) { + const char *f = haystack; +@@ -58,6 +60,78 @@ static bool has_option(const char *haystack, const char *needle) { + return false; + } + ++static int create_storage_after_cryptsetup (void) { ++ int r; ++ char *to = NULL, *p = NULL; ++ FILE *f = NULL; ++ ++ if (asprintf(&p, "%s/storage-after-cryptsetup.service", arg_dest) < 0) { ++ r = -ENOMEM; ++ log_error("Failed to allocate unit file name."); ++ goto fail; ++ } ++ ++ if (!(f = fopen(p, "wxe"))) { ++ r = -errno; ++ log_error("Failed to create unit file: %m"); ++ goto fail; ++ } ++ ++ fprintf(f, ++ "[Unit]\n" ++ "Description=Restart storage after cryptsetup\n" ++ "DefaultDependencies=no\n" ++ "After=cryptsetup.target\n" ++ "Wants=cryptsetup.target\n" ++ "Before=shutdown.target\n"); ++ if (!random_seed) { ++ fprintf(f, "After=local-fs.target\n"); ++ } ++ ++ fprintf(f, ++ "\n[Service]\n" ++ "RemainAfterExit=true\n" ++ "Type=oneshot\n" ++ "TimeoutSec=0\n" ++ "ExecStart=/bin/systemctl restart lvm.service\n"); ++ ++ fflush(f); ++ ++ if (ferror(f)) { ++ r = -errno; ++ log_error("Failed to write file: %m"); ++ goto fail; ++ } ++ ++ if (asprintf(&to, "%s/local-fs.target.wants/storage-after-cryptsetup.service", arg_dest) < 0) { ++ r = -ENOMEM; ++ goto fail; ++ } ++ ++ mkdir_parents(to, 0755); ++ ++ if (symlink("../storage-after-cryptsetup.service", to) < 0) { ++ log_error("Failed to create symlink ../storage-after-cryptsetup.service to '%s': %m", to); ++ r = -errno; ++ goto fail; ++ } ++ ++ free(to); ++ to = NULL; ++ ++ r = 0; ++ system ("TMPDIR=/run /usr/bin/sed -e 's/\\(After=.*\\) local-fs.target\\(.*\\)/\\1\\2/g' /lib/systemd/system/systemd-random-seed-load.service > /etc/systemd/system/systemd-random-seed-load.service "); ++fail: ++ ++ free(p); ++ free(to); ++ ++ if (f) ++ fclose(f); ++ ++ return r; ++} ++ + static int create_disk( + const char *name, + const char *device, +@@ -122,8 +196,11 @@ static int create_disk( + if (password && (streq(password, "/dev/urandom") || + streq(password, "/dev/random") || + streq(password, "/dev/hw_random"))) ++ { + fprintf(f, + "After=systemd-random-seed-load.service\n"); ++ random_seed = true; ++ } + else + fprintf(f, + "Before=local-fs.target\n"); +@@ -293,6 +370,9 @@ int main(int argc, char *argv[]) { + free(options); + } + ++ if (create_storage_after_cryptsetup () < 0) ++ r = EXIT_FAILURE; ++ + finish: + return r; + } +-- +1.7.7 + diff --git a/storage-after-cryptsetup.service b/storage-after-cryptsetup.service deleted file mode 100644 index d47acc63..00000000 --- a/storage-after-cryptsetup.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Restart storage after crypsetup -DefaultDependencies=no -Before=local-fs.target shutdown.target -After=cryptsetup.target -Wants=cryptsetup.target - -[Service] -RemainAfterExit=true -Type=oneshot -TimeoutSec=0 -ExecStart=/bin/systemctl restart lvm.service diff --git a/systemd-gtk.changes b/systemd-gtk.changes index b6076ad4..6127a51d 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com + +- Remove storage-after-cryptsetup.service, add + storage-after-cryptsetup.patch instead to prevent dependency + cycle (bnc#722539). +- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure + fsck/cryptsetup is run after lvm/md/dmraid have landed + (bnc#724912). +- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). +- Add do_not_warn_pidfile.patch: Fix PID warning in logs + (bnc#732912). +- Add mount-swap-log.patch: Ensure swap and mount output is + redirected to default log target (rhb#750032). +- Add color-on-boot.patch: ensure colored status are displayed at + boot time. +- Update modules_on_boot.patch to fix bnc#732041. +- Replace private_tmp_crash.patch with log_on_close.patch, better + upstream fix for bnc#699829 and fix bnc#731719. +- Update vconsole patch to fix memleaks and crash (bnc#734527). +- Add handle-racy-daemon.patch: fix warnings with sendmail + (bnc#732912). +- Add new-lsb-headers.patch: support PIDFile: and + X-Systemd-RemainAfterExit: header in initscript (bnc#727771). +- Update bootsplash services to not start if vga= is missing from + cmdline (bnc#727771) +- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and + change default permissions on /var/lock (bnc#733523). +- Add garbage_collect_units: ensure error units are correctly + garbage collected (rhb#680122). +- Add crypt-loop-file.patch: add support for crypt file loop + (bnc#730496). + +------------------------------------------------------------------- +Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + ------------------------------------------------------------------- Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 1c0e06d5..7db95558 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -31,6 +31,7 @@ BuildRequires: audit-devel BuildRequires: gperf BuildRequires: libcap-devel BuildRequires: libacl-devel +BuildRequires: libtool BuildRequires: tcpd-devel BuildRequires: pam-devel BuildRequires: libcryptsetup-devel diff --git a/systemd.changes b/systemd.changes index cf784743..6127a51d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com + +- Remove storage-after-cryptsetup.service, add + storage-after-cryptsetup.patch instead to prevent dependency + cycle (bnc#722539). +- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure + fsck/cryptsetup is run after lvm/md/dmraid have landed + (bnc#724912). +- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). +- Add do_not_warn_pidfile.patch: Fix PID warning in logs + (bnc#732912). +- Add mount-swap-log.patch: Ensure swap and mount output is + redirected to default log target (rhb#750032). +- Add color-on-boot.patch: ensure colored status are displayed at + boot time. +- Update modules_on_boot.patch to fix bnc#732041. +- Replace private_tmp_crash.patch with log_on_close.patch, better + upstream fix for bnc#699829 and fix bnc#731719. +- Update vconsole patch to fix memleaks and crash (bnc#734527). +- Add handle-racy-daemon.patch: fix warnings with sendmail + (bnc#732912). +- Add new-lsb-headers.patch: support PIDFile: and + X-Systemd-RemainAfterExit: header in initscript (bnc#727771). +- Update bootsplash services to not start if vga= is missing from + cmdline (bnc#727771) +- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and + change default permissions on /var/lock (bnc#733523). +- Add garbage_collect_units: ensure error units are correctly + garbage collected (rhb#680122). +- Add crypt-loop-file.patch: add support for crypt file loop + (bnc#730496). + ------------------------------------------------------------------- Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index 94c5cb89..733be9ee 100644 --- a/systemd.spec +++ b/systemd.spec @@ -62,7 +62,6 @@ Source7: systemd-bootsplash Source8: bootsplash-startup.service Source9: bootsplash-quit.service Source10: bootsplash-shutdown.service -Source11: storage-after-cryptsetup.service Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -72,9 +71,13 @@ Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch Patch15: support-sysvinit.patch Patch16: modules_on_boot.patch -Patch17: private_tmp_crash.patch Patch18: systemctl-completion-fix.patch Patch19: avoid-random-seed-cycle.patch +Patch22: new-lsb-headers.patch +Patch23: storage-after-cryptsetup.patch +Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch +Patch31: lock-opensuse.patch +Patch33: crypt-loop-file.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -82,6 +85,13 @@ Patch19: avoid-random-seed-cycle.patch # an exception will be silently removed with the next version update. Patch20: crash-isolating.patch Patch21: no-tmpfs-fsck.patch +Patch25: cron-tty-pam.patch +Patch26: do_not_warn_pidfile.patch +Patch27: mount-swap-log.patch +Patch28: color-on-boot.patch +Patch29: log_on_close.patch +Patch30: handle-racy-daemon.patch +Patch32: garbage_collect_units.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -132,11 +142,22 @@ Plymouth integration for systemd %patch13 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 %build autoreconf -fiv @@ -168,12 +189,11 @@ install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future #install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators install -m755 %{S:7} %{buildroot}/lib/systemd/ -install -m644 %{S:8} %{S:9} %{S:10} %{S:11} %{buildroot}/lib/systemd/system/ +install -m644 %{S:8} %{S:9} %{S:10} %{buildroot}/lib/systemd/system/ ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target.wants/ ln -s ../bootsplash-quit.service %{buildroot}/lib/systemd/system/multi-user.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/shutdown.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/reboot.target.wants/ -ln -s ../storage-after-cryptsetup.service %{buildroot}/lib/systemd/system/local-fs.target.wants/ ln -s ../bin/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt From 85f340d6afb636fe2e5b02a52456f231dc3768a29cb00ebc497bade6a24ef683 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 26 Jan 2012 15:00:42 +0000 Subject: [PATCH 083/991] Accepting request 101505 from Base:System - Update to version 39: + New systemd-cgtop tool to show control groups by their resource usage. + Linking against libacl for ACLs is optional again. + If a group "adm" exists, journal files are automatically owned by them, thus allow members of this group full access to the system journal as well as all user journals. + The journal now stores the SELinux context of the logging client for all entries. + Add C++ inclusion guards to all public headers. + New output mode "cat" in the journal to print only text messages, without any meta data like date or time. + Include tiny X server wrapper as a temporary stop-gap to teach XOrg udev display enumeration (until XOrg supports udev hotplugging for display devices). + Add new systemd-cat tool for executing arbitrary programs with STDERR/STDOUT connected to the journal. Can also act as BSD logger replacement, and does so by default. + Optionally store all locally generated coredumps in the journal along with meta data. + systemd-tmpfiles learnt four new commands: n, L, c, b, for writing short strings to files (for usage for /sys), and for creating symlinks, character and block device nodes. + New unit file option ControlGroupPersistent= to make cgroups persistent. + Support multiple local RTCs in a sane way. + No longer monopolize IO when replaying readahead data on rotating disks. + Don't show kernel threads in systemd-cgls anymore, unless requested with new -k switch. (forwarded request 101496 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/101505 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=85 --- ...aplock-and-compose_table-and-kbd_rat.patch | 27 +- ...ndencies-added-when-parsing-insserv..patch | 18 +- avoid-random-seed-cycle.patch | 133 +- color-on-boot.patch | 131 -- crash-isolating.patch | 117 -- cron-tty-pam.patch | 81 -- crypt-loop-file.patch | 6 +- ...-fsck-cryptsetup-after-md-lvm-dmraid.patch | 21 +- do_not_warn_pidfile.patch | 60 - garbage_collect_units.patch | 29 - handle-racy-daemon.patch | 1066 ----------------- listen.conf | 1 + log_on_close.patch | 586 --------- mount-swap-log.patch | 54 - no-tmpfs-fsck.patch | 15 +- storage-after-cryptsetup.patch | 47 +- sysctl-modules.patch | 12 + systemctl-completion-fix.patch | 77 -- systemd-37.tar.bz2 | 3 - systemd-39.tar.xz | 3 + systemd-gtk.changes | 71 ++ systemd-gtk.spec | 50 +- systemd.changes | 71 ++ systemd.spec | 96 +- 24 files changed, 395 insertions(+), 2380 deletions(-) delete mode 100644 color-on-boot.patch delete mode 100644 crash-isolating.patch delete mode 100644 cron-tty-pam.patch delete mode 100644 do_not_warn_pidfile.patch delete mode 100644 garbage_collect_units.patch delete mode 100644 handle-racy-daemon.patch create mode 100644 listen.conf delete mode 100644 log_on_close.patch delete mode 100644 mount-swap-log.patch create mode 100644 sysctl-modules.patch delete mode 100644 systemctl-completion-fix.patch delete mode 100644 systemd-37.tar.bz2 create mode 100644 systemd-39.tar.xz diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch index 9d981f20..af4e4fb0 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -1,4 +1,4 @@ -From 5c894bc1e45f7c34bf7fc4ca0d20bf1c3b679bef Mon Sep 17 00:00:00 2001 +m 5c894bc1e45f7c34bf7fc4ca0d20bf1c3b679bef Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Thu, 18 Aug 2011 18:28:01 +0200 Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate @@ -9,8 +9,8 @@ Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate Index: systemd-37/src/vconsole-setup.c =================================================================== ---- systemd-37.orig/src/vconsole-setup.c -+++ systemd-37/src/vconsole-setup.c +--- systemd-37.orig/src/vconsole/vconsole-setup.c ++++ systemd-37/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "log.h" #include "macro.h" @@ -19,7 +19,7 @@ Index: systemd-37/src/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -79,8 +80,8 @@ static int disable_utf8(int fd) { +@@ -79,8 +80,8 @@ return r; } @@ -30,7 +30,7 @@ Index: systemd-37/src/vconsole-setup.c int i = 0; pid_t pid; -@@ -99,6 +100,8 @@ static int load_keymap(const char *vc, c +@@ -99,6 +100,8 @@ args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +39,7 @@ Index: systemd-37/src/vconsole-setup.c args[i++] = NULL; if ((pid = fork()) < 0) { -@@ -150,6 +153,101 @@ static int load_font(const char *vc, con +@@ -150,6 +153,101 @@ return 0; } @@ -141,8 +141,8 @@ Index: systemd-37/src/vconsole-setup.c int main(int argc, char **argv) { const char *vc; char *vc_keymap = NULL; -@@ -163,8 +261,16 @@ int main(int argc, char **argv) { - #ifdef TARGET_MANDRIVA +@@ -163,8 +261,16 @@ + #if defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) char *vc_keytable = NULL; #endif +#ifdef TARGET_SUSE @@ -158,7 +158,7 @@ Index: systemd-37/src/vconsole-setup.c int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -265,6 +371,10 @@ int main(int argc, char **argv) { +@@ -265,6 +371,10 @@ #elif defined(TARGET_SUSE) if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, "KEYTABLE", &vc_keymap, @@ -169,7 +169,7 @@ Index: systemd-37/src/vconsole-setup.c NULL)) < 0) { if (r != -ENOENT) -@@ -280,6 +390,7 @@ int main(int argc, char **argv) { +@@ -280,6 +390,7 @@ if (r != -ENOENT) log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); } @@ -177,7 +177,7 @@ Index: systemd-37/src/vconsole-setup.c #elif defined(TARGET_ARCH) if ((r = parse_env_file("/etc/rc.conf", NEWLINE, -@@ -436,7 +547,11 @@ int main(int argc, char **argv) { +@@ -436,7 +547,11 @@ if (!utf8) disable_utf8(fd); @@ -190,7 +190,7 @@ Index: systemd-37/src/vconsole-setup.c load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -444,6 +559,14 @@ finish: +@@ -444,6 +559,14 @@ if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -205,7 +205,7 @@ Index: systemd-37/src/vconsole-setup.c if (font_pid > 0) wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -@@ -451,6 +574,12 @@ finish: +@@ -451,6 +574,12 @@ free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -218,3 +218,4 @@ Index: systemd-37/src/vconsole-setup.c if (fd >= 0) close_nointr_nofail(fd); +Only in new/src/vconsole: vconsole-setup.c.orig diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch index 28910fc4..fd4b2219 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -7,11 +7,15 @@ Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf src/service.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) -diff --git a/src/service.c b/src/service.c -index c2053ce..4abc7e7 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -3031,18 +3031,20 @@ static void sysv_facility_in_insserv_conf(Manager *mgr) { +Index: systemd-39/src/service.c +=================================================================== +--- systemd-39.orig/src/service.c ++++ systemd-39/src/service.c +@@ -3111,22 +3111,22 @@ static void sysv_facility_in_insserv_con + if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) + continue; + if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { +- UnitDependency e; char *dep = NULL, *name, **j; STRV_FOREACH (j, parsed+1) { @@ -28,7 +32,6 @@ index c2053ce..4abc7e7 100644 + if (streq(name, "boot.localfs") || + streq(name, "boot.crypto")) + continue; -+ if (sysv_translate_facility(name, NULL, &dep) < 0) continue; @@ -39,6 +42,3 @@ index c2053ce..4abc7e7 100644 free(dep); } } --- -1.7.3.4 - diff --git a/avoid-random-seed-cycle.patch b/avoid-random-seed-cycle.patch index 1490674c..daada87f 100644 --- a/avoid-random-seed-cycle.patch +++ b/avoid-random-seed-cycle.patch @@ -1,40 +1,109 @@ -Devices with random keys (swap), should not be ordered before local-fs.target, -as this creates a cycle with systemd-load-random-seed.service (and also it -does not make sense, a swap device is not a local-fs). +Rather than ordering systemd-random-seed-load.service after local-fs.target, +start it by path-activation. + +We need write access to the seed, so we order the path unit after +remount-rootfs.service (in case /var is on the root fs). + +A better solution might be to introduce PathIsWritable=, but that is not +necessary in order to solve the problem, and I don't know of any other +usecases for it. + +Cc: Frederic Crozat +Cc: Michal Schmidt --- - src/cryptsetup-generator.c | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) -diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c -index 6f3aa78..a48b7a4 100644 ---- a/src/cryptsetup-generator.c -+++ b/src/cryptsetup-generator.c -@@ -112,8 +112,7 @@ static int create_disk( - "DefaultDependencies=no\n" - "BindTo=%s dev-mapper-%%i.device\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" -- "Before=umount.target\n" -- "Before=local-fs.target\n", -+ "Before=umount.target\n", - d, d); +This is my second attempt at solving this problem. The first one had +some issues as pointed out by Frederic and Michael. + + Makefile.am | 7 +++++-- + TODO | 2 -- + units/.gitignore | 1 + + units/systemd-random-seed-load.path.in | 18 ++++++++++++++++++ + units/systemd-random-seed-load.service.in | 3 +-- + 5 files changed, 25 insertions(+), 6 deletions(-) + create mode 100644 units/systemd-random-seed-load.path.in + +diff -urB systemd-38/Makefile.am new/Makefile.am +--- systemd-38/Makefile.am 2012-01-11 04:01:36.734404653 +0100 ++++ new/Makefile.am 2012-01-18 09:53:12.763115731 +0100 +@@ -1530,11 +1530,14 @@ - if (!nofail) -@@ -125,6 +124,9 @@ static int create_disk( - streq(password, "/dev/hw_random"))) - fprintf(f, - "After=systemd-random-seed-load.service\n"); -+ else -+ fprintf(f, -+ "Before=local-fs.target\n"); + nodist_systemunit_DATA += \ + units/systemd-random-seed-save.service \ +- units/systemd-random-seed-load.service ++ units/systemd-random-seed-load.service \ ++ units/systemd-random-seed-load.path ++ - fprintf(f, - "\n[Service]\n" + EXTRA_DIST += \ + units/systemd-random-seed-save.service.in \ +- units/systemd-random-seed-load.service.in ++ units/systemd-random-seed-load.service.in \ ++ units/systemd-random-seed-load.path.in + + systemd_random_seed_SOURCES = \ + src/random-seed.c +@@ -1550,8 +1553,8 @@ + rm -f systemd-random-seed-save.service && \ + $(LN_S) ../systemd-random-seed-save.service systemd-random-seed-save.service ) + ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \ +- rm -f systemd-random-seed-load.service && \ +- $(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service ) ++ rm -f systemd-random-seed-load.path && \ ++ $(LN_S) ../systemd-random-seed-load.path systemd-random-seed-load.path ) + + INSTALL_DATA_HOOKS += \ + randomseed-install-data-hook +@@ -2052,6 +2055,7 @@ + -e 's,@exec_prefix\@,$(exec_prefix),g' \ + -e 's,@libdir\@,$(libdir),g' \ + -e 's,@includedir\@,$(includedir),g' \ ++ -e 's,@localstatedir\@,$(localstatedir),g' \ + < $< > $@ || rm $@ + + units/%: units/%.in Makefile +diff --git a/units/systemd-random-seed-load.path.in b/units/systemd-random-seed-load.path.in +new file mode 100644 +index 0000000..614c1d4 +--- /dev/null ++++ b/units/systemd-random-seed-load.path.in +@@ -0,0 +1,18 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Random Seed ++DefaultDependencies=no ++Conflicts=shutdown.target ++Before=basic.target shutdown.target ++# in case the seed is on the rootfs, we must ++# wait for the rootfs to be remonuted rw ++After=remount-rootfs.service ++ ++[Path] ++PathExists=@localstatedir@/lib/random-seed +diff --git a/units/systemd-random-seed-load.service.in b/units/systemd-random-seed-load.service.in +index a2b6a55..2bcf1aa 100644 +--- a/units/systemd-random-seed-load.service.in ++++ b/units/systemd-random-seed-load.service.in +@@ -8,9 +8,8 @@ + [Unit] + Description=Load Random Seed + DefaultDependencies=no +-Wants=local-fs.target + Conflicts=shutdown.target +-After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target ++After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-random-seed-load.path + Before=sysinit.target shutdown.target + + [Service] -- -1.7.7 +1.7.8 + -_______________________________________________ -systemd-devel mailing list -systemd-devel@lists.freedesktop.org -http://lists.freedesktop.org/mailman/listinfo/systemd-devel diff --git a/color-on-boot.patch b/color-on-boot.patch deleted file mode 100644 index 8be6e081..00000000 --- a/color-on-boot.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 5831e9b726ab6e76b28a94861a014d3bc2aa3015 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 10 Nov 2011 12:53:39 +0100 -Subject: [PATCH] job: colored status messages on boot - -The lack or green/red status marks on boot has been described by some -users as "critical", "dramatic", "dealbreaker", "showstopper". Seriously. ---- - src/job.c | 13 +++++++------ - src/unit.c | 24 ++++++++++++++++++++---- - src/unit.h | 2 +- - 3 files changed, 28 insertions(+), 11 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 20971da..1520d81 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -484,19 +484,20 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { - switch (result) { - - case JOB_DONE: -- unit_status_printf(u, "Started %s.\n", unit_description(u)); -+ unit_status_printf(u, ANSI_HIGHLIGHT_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, "Started %s", unit_description(u)); - break; - - case JOB_FAILED: -- unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "failed" ANSI_HIGHLIGHT_OFF ", see 'systemctl status %s' for details.\n", unit_description(u), u->meta.id); -+ unit_status_printf(u, ANSI_HIGHLIGHT_ON "FAILED" ANSI_HIGHLIGHT_OFF, "Failed to start %s", unit_description(u)); -+ unit_status_printf(u, NULL, "See 'systemctl status %s' for details.", u->meta.id); - break; - - case JOB_DEPENDENCY: -- unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "aborted" ANSI_HIGHLIGHT_OFF " because a dependency failed.\n", unit_description(u)); -+ unit_status_printf(u, ANSI_HIGHLIGHT_ON " ABORT" ANSI_HIGHLIGHT_OFF, "Dependency failed. Aborted start of %s", unit_description(u)); - break; - - case JOB_TIMEOUT: -- unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "timed out" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u), u->meta.id); -+ unit_status_printf(u, ANSI_HIGHLIGHT_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out starting %s", unit_description(u)); - break; - - default: -@@ -508,12 +509,12 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { - switch (result) { - - case JOB_TIMEOUT: -- unit_status_printf(u, "Stopping %s " ANSI_HIGHLIGHT_ON "timed out" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u), u->meta.id); -+ unit_status_printf(u, ANSI_HIGHLIGHT_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out stopping %s", unit_description(u)); - break; - - case JOB_DONE: - case JOB_FAILED: -- unit_status_printf(u, "Stopped %s.\n", unit_description(u)); -+ unit_status_printf(u, ANSI_HIGHLIGHT_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, "Stopped %s", unit_description(u)); - break; - - default: -diff --git a/src/unit.c b/src/unit.c -index 903a8e4..ad4063b 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -924,7 +924,7 @@ int unit_start(Unit *u) { - - unit_add_to_dbus_queue(u); - -- unit_status_printf(u, "Starting %s...\n", unit_description(u)); -+ unit_status_printf(u, NULL, "Starting %s...", unit_description(u)); - return UNIT_VTABLE(u)->start(u); - } - -@@ -966,7 +966,7 @@ int unit_stop(Unit *u) { - - unit_add_to_dbus_queue(u); - -- unit_status_printf(u, "Stopping %s...\n", unit_description(u)); -+ unit_status_printf(u, NULL, "Stopping %s...", unit_description(u)); - return UNIT_VTABLE(u)->stop(u); - } - -@@ -2426,8 +2426,11 @@ int unit_coldplug(Unit *u) { - return 0; - } - --void unit_status_printf(Unit *u, const char *format, ...) { -+void unit_status_printf(Unit *u, const char *status, const char *format, ...) { - va_list ap; -+ char *s, *e; -+ int err; -+ const unsigned emax = status ? 80 - (sizeof("[ OK ]")-1) : 80; - - assert(u); - assert(format); -@@ -2442,8 +2445,21 @@ void unit_status_printf(Unit *u, const char *format, ...) { - return; - - va_start(ap, format); -- status_vprintf(format, ap); -+ err = vasprintf(&s, format, ap); - va_end(ap); -+ if (err < 0) -+ return; -+ -+ e = ellipsize(s, emax, 100); -+ free(s); -+ if (!e) -+ return; -+ -+ if (status) -+ status_printf("%s%*s[%s]\n", e, emax - strlen(e), "", status); -+ else -+ status_printf("%s\n", e); -+ free(e); - } - - bool unit_need_daemon_reload(Unit *u) { -diff --git a/src/unit.h b/src/unit.h -index 7da5723..b32c1a7 100644 ---- a/src/unit.h -+++ b/src/unit.h -@@ -512,7 +512,7 @@ int unit_add_node_link(Unit *u, const char *what, bool wants); - - int unit_coldplug(Unit *u); - --void unit_status_printf(Unit *u, const char *format, ...); -+void unit_status_printf(Unit *u, const char *status, const char *format, ...); - - bool unit_need_daemon_reload(Unit *u); - --- -1.7.7 - diff --git a/crash-isolating.patch b/crash-isolating.patch deleted file mode 100644 index fded4f32..00000000 --- a/crash-isolating.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 563ba9ea6e60774086555998b957edf923e24b46 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Mon, 17 Oct 2011 11:12:12 +0200 -Subject: [PATCH] manager: fix a crash in isolating - -HASHMAP_FOREACH is safe against the removal of the current entry, but -not against the removal of other entries. job_finish_and_invalidate() -can recursively remove other entries. - -It triggered an assertion failure: - Assertion 'j->installed' failed at src/manager.c:1218, function - transaction_apply(). Aborting. - -Fix the crash by iterating from the beginning when there is a -possibility that the iterator could be invalid. - -It is O(n^2) in the worst case, but that's better than a crash. - -https://bugzilla.redhat.com/show_bug.cgi?id=717325 ---- - src/job.c | 19 ++++++++++++++----- - src/manager.c | 7 ++++++- - 2 files changed, 20 insertions(+), 6 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 5c0913b..20971da 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -527,6 +527,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - Unit *other; - JobType t; - Iterator i; -+ bool recursed = false; - - assert(j); - assert(j->installed); -@@ -573,23 +574,29 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - if (other->meta.job && - (other->meta.job->type == JOB_START || - other->meta.job->type == JOB_VERIFY_ACTIVE || -- other->meta.job->type == JOB_RELOAD_OR_START)) -+ other->meta.job->type == JOB_RELOAD_OR_START)) { - job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); -+ recursed = true; -+ } - - SET_FOREACH(other, u->meta.dependencies[UNIT_BOUND_BY], i) - if (other->meta.job && - (other->meta.job->type == JOB_START || - other->meta.job->type == JOB_VERIFY_ACTIVE || -- other->meta.job->type == JOB_RELOAD_OR_START)) -+ other->meta.job->type == JOB_RELOAD_OR_START)) { - job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); -+ recursed = true; -+ } - - SET_FOREACH(other, u->meta.dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) - if (other->meta.job && - !other->meta.job->override && - (other->meta.job->type == JOB_START || - other->meta.job->type == JOB_VERIFY_ACTIVE || -- other->meta.job->type == JOB_RELOAD_OR_START)) -+ other->meta.job->type == JOB_RELOAD_OR_START)) { - job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); -+ recursed = true; -+ } - - } else if (t == JOB_STOP) { - -@@ -597,8 +604,10 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - if (other->meta.job && - (other->meta.job->type == JOB_START || - other->meta.job->type == JOB_VERIFY_ACTIVE || -- other->meta.job->type == JOB_RELOAD_OR_START)) -+ other->meta.job->type == JOB_RELOAD_OR_START)) { - job_finish_and_invalidate(other->meta.job, JOB_DEPENDENCY); -+ recursed = true; -+ } - } - } - -@@ -626,7 +635,7 @@ finish: - - manager_check_finished(u->meta.manager); - -- return 0; -+ return recursed; - } - - int job_start_timer(Job *j) { -diff --git a/src/manager.c b/src/manager.c -index e626347..6d20258 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -1214,13 +1214,18 @@ static int transaction_apply(Manager *m, JobMode mode) { - - /* When isolating first kill all installed jobs which - * aren't part of the new transaction */ -+ rescan: - HASHMAP_FOREACH(j, m->jobs, i) { - assert(j->installed); - - if (hashmap_get(m->transaction_jobs, j->unit)) - continue; - -- job_finish_and_invalidate(j, JOB_CANCELED); -+ /* 'j' itself is safe to remove, but if other jobs -+ are invalidated recursively, our iterator may become -+ invalid and we need to start over. */ -+ if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) -+ goto rescan; - } - } - --- -1.7.3.4 - diff --git a/cron-tty-pam.patch b/cron-tty-pam.patch deleted file mode 100644 index ecacaf35..00000000 --- a/cron-tty-pam.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 1dc995370987660ff045ff4d7cf512da0390cf96 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 19 Nov 2011 01:14:11 +0100 -Subject: [PATCH 1/2] pam-module: use the correct session type "unspecified" - -logind does not understand "other". ---- - src/pam-module.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/pam-module.c b/src/pam-module.c -index dd05f93..e650886 100644 ---- a/src/pam-module.c -+++ b/src/pam-module.c -@@ -472,7 +472,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( - get_seat_from_display(display, &seat, &vtnr); - - type = !isempty(display) ? "x11" : -- !isempty(tty) ? "tty" : "other"; -+ !isempty(tty) ? "tty" : "unspecified"; - - remote = !isempty(remote_host) && !streq(remote_host, "localhost") && !streq(remote_host, "localhost.localdomain"); - --- -1.7.7 - - -From 1a4459d63323cdfdb8751077e555ddbbf80564b1 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 19 Nov 2011 01:17:46 +0100 -Subject: [PATCH 2/2] pam-module: treat "cron" in PAM_TTY as empty tty - -cron sets PAM_TTY to "cron" and it has been doing it for a long time. -It cannot be changed because user configurations may depend on it. - -https://bugzilla.redhat.com/show_bug.cgi?id=727315 ---- - src/logind-session.c | 4 ++-- - src/pam-module.c | 4 ++++ - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/logind-session.c b/src/logind-session.c -index b0a09e3..63ee758 100644 ---- a/src/logind-session.c -+++ b/src/logind-session.c -@@ -536,7 +536,7 @@ int session_start(Session *s) { - if (r < 0) - return r; - -- log_full(s->display || s->tty ? LOG_INFO : LOG_DEBUG, -+ log_full(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG, - "New session %s of user %s.", s->id, s->user->name); - - /* Create cgroup */ -@@ -659,7 +659,7 @@ int session_stop(Session *s) { - assert(s); - - if (s->started) -- log_full(s->display || s->tty ? LOG_INFO : LOG_DEBUG, -+ log_full(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG, - "Removed session %s.", s->id); - - /* Kill cgroup */ -diff --git a/src/pam-module.c b/src/pam-module.c -index e650886..46b7bec 100644 ---- a/src/pam-module.c -+++ b/src/pam-module.c -@@ -463,6 +463,10 @@ _public_ PAM_EXTERN int pam_sm_open_session( - if (isempty(display)) - display = tty; - tty = ""; -+ } else if (streq(tty, "cron")) { -+ /* cron has been setting PAM_TTY to "cron" for a very long time -+ * and it cannot stop doing that for compatibility reasons. */ -+ tty = ""; - } - - if (!isempty(cvtnr)) --- -1.7.7 - diff --git a/crypt-loop-file.patch b/crypt-loop-file.patch index 7869601b..317bec7f 100644 --- a/crypt-loop-file.patch +++ b/crypt-loop-file.patch @@ -1,7 +1,7 @@ -Index: systemd-37/src/cryptsetup-generator.c +Index: systemd-37/src/cryptsetup/cryptsetup-generator.c =================================================================== ---- systemd-37.orig/src/cryptsetup-generator.c -+++ systemd-37/src/cryptsetup-generator.c +--- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-37/src/cryptsetup/cryptsetup-generator.c @@ -138,7 +138,7 @@ static int create_disk( const char *password, const char *options) { diff --git a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch index 403c9ed0..52d4c46e 100644 --- a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch +++ b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch @@ -8,11 +8,11 @@ Subject: [PATCH] delay fsck / cryptsetup after md / dmraid / lvm are started units/fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) -diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c -index 14fcce8..e62f0e0 100644 ---- a/src/cryptsetup-generator.c -+++ b/src/cryptsetup-generator.c -@@ -186,6 +186,7 @@ static int create_disk( +Index: systemd-37/src/cryptsetup/cryptsetup-generator.c +=================================================================== +--- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-37/src/cryptsetup/cryptsetup-generator.c +@@ -112,6 +112,7 @@ static int create_disk( "DefaultDependencies=no\n" "BindTo=%s dev-mapper-%%i.device\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" @@ -20,10 +20,10 @@ index 14fcce8..e62f0e0 100644 "Before=umount.target\n", d, d); -diff --git a/units/fsck@.service.in b/units/fsck@.service.in -index e1f7736..c1870ce 100644 ---- a/units/fsck@.service.in -+++ b/units/fsck@.service.in +Index: systemd-37/units/fsck@.service.in +=================================================================== +--- systemd-37.orig/units/fsck@.service.in ++++ systemd-37/units/fsck@.service.in @@ -9,7 +9,7 @@ Description=File System Check on %f DefaultDependencies=no @@ -33,6 +33,3 @@ index e1f7736..c1870ce 100644 Before=shutdown.target [Service] --- -1.7.7 - diff --git a/do_not_warn_pidfile.patch b/do_not_warn_pidfile.patch deleted file mode 100644 index 83002c89..00000000 --- a/do_not_warn_pidfile.patch +++ /dev/null @@ -1,60 +0,0 @@ -From c5419d4239ceb4c3bd0263a0a810cf24a072b3c0 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 10 Nov 2011 09:55:47 +0100 -Subject: [PATCH] service: don't warn if the pidfile still exists after - SIGCHLD - -A service that drops its privileges may not be able to remove it when it -exits. The stale pidfile is not a problem as long as the service -carefully recognizes it on its next start. - -systemd would produce a warning after the service exits: - PID ... read from file ... does not exist. Your service or init - script might be broken. - -Silence the warning in this case. Still warn if this error is detected -when loading the pidfile after service start. - -Noticed by Miroslav Lichvar in - https://bugzilla.redhat.com/show_bug.cgi?id=752396 ---- - src/service.c | 9 +++++---- - 1 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/src/service.c b/src/service.c -index eb475d9..6fc2484 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -1290,7 +1290,7 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) { - free(p2); - } - --static int service_load_pid_file(Service *s, bool warn_if_missing) { -+static int service_load_pid_file(Service *s, bool may_warn) { - char *k; - int r; - pid_t pid; -@@ -1301,7 +1301,7 @@ static int service_load_pid_file(Service *s, bool warn_if_missing) { - return -ENOENT; - - if ((r = read_one_line_file(s->pid_file, &k)) < 0) { -- if (warn_if_missing) -+ if (may_warn) - log_warning("Failed to read PID file %s after %s. The service might be broken.", - s->pid_file, service_state_to_string(s->state)); - return r; -@@ -1314,8 +1314,9 @@ static int service_load_pid_file(Service *s, bool warn_if_missing) { - return r; - - if (kill(pid, 0) < 0 && errno != EPERM) { -- log_warning("PID %lu read from file %s does not exist. Your service or init script might be broken.", -- (unsigned long) pid, s->pid_file); -+ if (may_warn) -+ log_warning("PID %lu read from file %s does not exist. Your service or init script might be broken.", -+ (unsigned long) pid, s->pid_file); - return -ESRCH; - } - --- -1.7.7 - diff --git a/garbage_collect_units.patch b/garbage_collect_units.patch deleted file mode 100644 index 3ea2bd2e..00000000 --- a/garbage_collect_units.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9a46fc3b9014de1bf0ed1f3004a536b08a19ebb3 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 6 Dec 2011 00:47:28 +0100 -Subject: [PATCH] unit: garbage collect units with load error - -Units that failed to load were never cleaned up. It was possible to -reach the 128K limit of units by attempting to load a bunch of nonsense. - -Bug observed by Reartes Guillermo in -https://bugzilla.redhat.com/show_bug.cgi?id=680122 ---- - src/unit.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/src/unit.c b/src/unit.c -index 2a549e2..018e986 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -858,6 +858,7 @@ fail: - u->meta.load_state = UNIT_ERROR; - u->meta.load_error = r; - unit_add_to_dbus_queue(u); -+ unit_add_to_gc_queue(u); - - log_debug("Failed to load configuration for %s: %s", u->meta.id, strerror(-r)); - --- -1.7.7 - diff --git a/handle-racy-daemon.patch b/handle-racy-daemon.patch deleted file mode 100644 index 4a8a07f1..00000000 --- a/handle-racy-daemon.patch +++ /dev/null @@ -1,1066 +0,0 @@ -From 35d50f55f346c71fd5e957d35ebcae1c50b1f9ce Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 3 Dec 2011 00:41:34 +0100 -Subject: [PATCH 1/5] util: fix error checking after fgets() - -fgets() does not set errno on EOF. ---- - src/util.c | 8 ++++---- - 1 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/util.c b/src/util.c -index e93e6f6..da71e4d 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -516,7 +516,7 @@ int get_parent_of_pid(pid_t pid, pid_t *_ppid) { - return -errno; - - if (!(fgets(line, sizeof(line), f))) { -- r = -errno; -+ r = feof(f) ? -EIO : -errno; - fclose(f); - return r; - } -@@ -561,7 +561,7 @@ int get_starttime_of_pid(pid_t pid, unsigned long long *st) { - return -errno; - - if (!(fgets(line, sizeof(line), f))) { -- r = -errno; -+ r = feof(f) ? -EIO : -errno; - fclose(f); - return r; - } -@@ -708,7 +708,7 @@ int read_one_line_file(const char *fn, char **line) { - return -errno; - - if (!(fgets(t, sizeof(t), f))) { -- r = -errno; -+ r = feof(f) ? -EIO : -errno; - goto finish; - } - -@@ -3266,7 +3266,7 @@ int get_ctty_devnr(pid_t pid, dev_t *d) { - return -errno; - - if (!fgets(line, sizeof(line), f)) { -- k = -errno; -+ k = feof(f) ? -EIO : -errno; - fclose(f); - return k; - } --- -1.7.7 - - -From 768147d13d0877a4c3e5f6f986c3064de62ff4f1 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 3 Dec 2011 01:36:05 +0100 -Subject: [PATCH 2/5] path: use %m instead of strerror(errno) - -and strerror(-errno) was just wrong. ---- - src/path.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/path.c b/src/path.c -index f15c921..142fd2d 100644 ---- a/src/path.c -+++ b/src/path.c -@@ -556,7 +556,7 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { - } - - if (ioctl(fd, FIONREAD, &l) < 0) { -- log_error("FIONREAD failed: %s", strerror(errno)); -+ log_error("FIONREAD failed: %m"); - goto fail; - } - -@@ -568,7 +568,7 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { - } - - if ((k = read(fd, buf, l)) < 0) { -- log_error("Failed to read inotify event: %s", strerror(-errno)); -+ log_error("Failed to read inotify event: %m"); - goto fail; - } - --- -1.7.7 - - -From 4b562198c79e4ebfc3d84b69a1dae374bc6cf9f5 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 3 Dec 2011 01:38:30 +0100 -Subject: [PATCH 3/5] path: refactor PathSpec usage - -path_*() functions operate on "Path *p" and they do not touch PathSpec -internals directly. - -pathspec_*() functions operate on "PathSpec *s". The PathSpec class will -be useful outside of path.c. ---- - src/path.c | 356 +++++++++++++++++++++++++++++++++--------------------------- - src/path.h | 8 ++ - 2 files changed, 203 insertions(+), 161 deletions(-) - -diff --git a/src/path.c b/src/path.c -index 142fd2d..db6f873 100644 ---- a/src/path.c -+++ b/src/path.c -@@ -39,26 +39,202 @@ static const UnitActiveState state_translation_table[_PATH_STATE_MAX] = { - [PATH_FAILED] = UNIT_FAILED - }; - --static void path_init(Unit *u) { -- Path *p = PATH(u); -+int pathspec_watch(PathSpec *s, Unit *u) { -+ static const int flags_table[_PATH_TYPE_MAX] = { -+ [PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, -+ [PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, -+ [PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO, -+ [PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO -+ }; -+ -+ bool exists = false; -+ char *k, *slash; -+ int r; - - assert(u); -- assert(u->meta.load_state == UNIT_STUB); -+ assert(s); - -- p->directory_mode = 0755; -+ pathspec_unwatch(s, u); -+ -+ if (!(k = strdup(s->path))) -+ return -ENOMEM; -+ -+ if ((s->inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC)) < 0) { -+ r = -errno; -+ goto fail; -+ } -+ -+ if (unit_watch_fd(u, s->inotify_fd, EPOLLIN, &s->watch) < 0) { -+ r = -errno; -+ goto fail; -+ } -+ -+ if ((s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type])) >= 0) -+ exists = true; -+ -+ do { -+ int flags; -+ -+ /* This assumes the path was passed through path_kill_slashes()! */ -+ if (!(slash = strrchr(k, '/'))) -+ break; -+ -+ /* Trim the path at the last slash. Keep the slash if it's the root dir. */ -+ slash[slash == k] = 0; -+ -+ flags = IN_MOVE_SELF; -+ if (!exists) -+ flags |= IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO; -+ -+ if (inotify_add_watch(s->inotify_fd, k, flags) >= 0) -+ exists = true; -+ } while (slash != k); -+ -+ return 0; -+ -+fail: -+ free(k); -+ -+ pathspec_unwatch(s, u); -+ return r; - } - --static void path_unwatch_one(Path *p, PathSpec *s) { -+void pathspec_unwatch(PathSpec *s, Unit *u) { - - if (s->inotify_fd < 0) - return; - -- unit_unwatch_fd(UNIT(p), &s->watch); -+ unit_unwatch_fd(u, &s->watch); - - close_nointr_nofail(s->inotify_fd); - s->inotify_fd = -1; - } - -+int pathspec_fd_event(PathSpec *s, uint32_t events) { -+ uint8_t *buf = NULL; -+ struct inotify_event *e; -+ ssize_t k; -+ int l; -+ int r = 0; -+ -+ if (events != EPOLLIN) { -+ log_error("Got Invalid poll event on inotify."); -+ r = -EINVAL; -+ goto out; -+ } -+ -+ if (ioctl(s->inotify_fd, FIONREAD, &l) < 0) { -+ log_error("FIONREAD failed: %m"); -+ r = -errno; -+ goto out; -+ } -+ -+ assert(l > 0); -+ -+ if (!(buf = malloc(l))) { -+ log_error("Failed to allocate buffer: %m"); -+ r = -errno; -+ goto out; -+ } -+ -+ if ((k = read(s->inotify_fd, buf, l)) < 0) { -+ log_error("Failed to read inotify event: %m"); -+ r = -errno; -+ goto out; -+ } -+ -+ e = (struct inotify_event*) buf; -+ -+ while (k > 0) { -+ size_t step; -+ -+ if (s->type == PATH_CHANGED && s->primary_wd == e->wd) -+ r = 1; -+ -+ step = sizeof(struct inotify_event) + e->len; -+ assert(step <= (size_t) k); -+ -+ e = (struct inotify_event*) ((uint8_t*) e + step); -+ k -= step; -+ } -+out: -+ free(buf); -+ return r; -+} -+ -+static bool pathspec_check_good(PathSpec *s, bool initial) { -+ bool good = false; -+ -+ switch (s->type) { -+ -+ case PATH_EXISTS: -+ good = access(s->path, F_OK) >= 0; -+ break; -+ -+ case PATH_EXISTS_GLOB: -+ good = glob_exists(s->path) > 0; -+ break; -+ -+ case PATH_DIRECTORY_NOT_EMPTY: { -+ int k; -+ -+ k = dir_is_empty(s->path); -+ good = !(k == -ENOENT || k > 0); -+ break; -+ } -+ -+ case PATH_CHANGED: { -+ bool b; -+ -+ b = access(s->path, F_OK) >= 0; -+ good = !initial && b != s->previous_exists; -+ s->previous_exists = b; -+ break; -+ } -+ -+ default: -+ ; -+ } -+ -+ return good; -+} -+ -+static bool pathspec_startswith(PathSpec *s, const char *what) { -+ return path_startswith(s->path, what); -+} -+ -+static void pathspec_mkdir(PathSpec *s, mode_t mode) { -+ int r; -+ -+ if (s->type == PATH_EXISTS || s->type == PATH_EXISTS_GLOB) -+ return; -+ -+ if ((r = mkdir_p(s->path, mode)) < 0) -+ log_warning("mkdir(%s) failed: %s", s->path, strerror(-r)); -+} -+ -+static void pathspec_dump(PathSpec *s, FILE *f, const char *prefix) { -+ fprintf(f, -+ "%s%s: %s\n", -+ prefix, -+ path_type_to_string(s->type), -+ s->path); -+} -+ -+void pathspec_done(PathSpec *s) { -+ assert(s->inotify_fd == -1); -+ free(s->path); -+} -+ -+static void path_init(Unit *u) { -+ Path *p = PATH(u); -+ -+ assert(u); -+ assert(u->meta.load_state == UNIT_STUB); -+ -+ p->directory_mode = 0755; -+} -+ - static void path_done(Unit *u) { - Path *p = PATH(u); - PathSpec *s; -@@ -66,9 +242,9 @@ static void path_done(Unit *u) { - assert(p); - - while ((s = p->specs)) { -- path_unwatch_one(p, s); -+ pathspec_unwatch(s, u); - LIST_REMOVE(PathSpec, spec, p->specs, s); -- free(s->path); -+ pathspec_done(s); - free(s); - } - } -@@ -86,7 +262,7 @@ int path_add_one_mount_link(Path *p, Mount *m) { - - LIST_FOREACH(spec, s, p->specs) { - -- if (!path_startswith(s->path, m->where)) -+ if (!pathspec_startswith(s, m->where)) - continue; - - if ((r = unit_add_two_dependencies(UNIT(p), UNIT_AFTER, UNIT_REQUIRES, UNIT(m), true)) < 0) -@@ -187,71 +363,7 @@ static void path_dump(Unit *u, FILE *f, const char *prefix) { - prefix, p->directory_mode); - - LIST_FOREACH(spec, s, p->specs) -- fprintf(f, -- "%s%s: %s\n", -- prefix, -- path_type_to_string(s->type), -- s->path); --} -- --static int path_watch_one(Path *p, PathSpec *s) { -- static const int flags_table[_PATH_TYPE_MAX] = { -- [PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, -- [PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, -- [PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO, -- [PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO -- }; -- -- bool exists = false; -- char *k, *slash; -- int r; -- -- assert(p); -- assert(s); -- -- path_unwatch_one(p, s); -- -- if (!(k = strdup(s->path))) -- return -ENOMEM; -- -- if ((s->inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC)) < 0) { -- r = -errno; -- goto fail; -- } -- -- if (unit_watch_fd(UNIT(p), s->inotify_fd, EPOLLIN, &s->watch) < 0) { -- r = -errno; -- goto fail; -- } -- -- if ((s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type])) >= 0) -- exists = true; -- -- do { -- int flags; -- -- /* This assumes the path was passed through path_kill_slashes()! */ -- if (!(slash = strrchr(k, '/'))) -- break; -- -- /* Trim the path at the last slash. Keep the slash if it's the root dir. */ -- slash[slash == k] = 0; -- -- flags = IN_MOVE_SELF; -- if (!exists) -- flags |= IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO; -- -- if (inotify_add_watch(s->inotify_fd, k, flags) >= 0) -- exists = true; -- } while (slash != k); -- -- return 0; -- --fail: -- free(k); -- -- path_unwatch_one(p, s); -- return r; -+ pathspec_dump(s, f, prefix); - } - - static void path_unwatch(Path *p) { -@@ -260,7 +372,7 @@ static void path_unwatch(Path *p) { - assert(p); - - LIST_FOREACH(spec, s, p->specs) -- path_unwatch_one(p, s); -+ pathspec_unwatch(s, UNIT(p)); - } - - static int path_watch(Path *p) { -@@ -270,7 +382,7 @@ static int path_watch(Path *p) { - assert(p); - - LIST_FOREACH(spec, s, p->specs) -- if ((r = path_watch_one(p, s)) < 0) -+ if ((r = pathspec_watch(s, UNIT(p))) < 0) - return r; - - return 0; -@@ -361,37 +473,7 @@ static bool path_check_good(Path *p, bool initial) { - assert(p); - - LIST_FOREACH(spec, s, p->specs) { -- -- switch (s->type) { -- -- case PATH_EXISTS: -- good = access(s->path, F_OK) >= 0; -- break; -- -- case PATH_EXISTS_GLOB: -- good = glob_exists(s->path) > 0; -- break; -- -- case PATH_DIRECTORY_NOT_EMPTY: { -- int k; -- -- k = dir_is_empty(s->path); -- good = !(k == -ENOENT || k > 0); -- break; -- } -- -- case PATH_CHANGED: { -- bool b; -- -- b = access(s->path, F_OK) >= 0; -- good = !initial && b != s->previous_exists; -- s->previous_exists = b; -- break; -- } -- -- default: -- ; -- } -+ good = pathspec_check_good(s, initial); - - if (good) - break; -@@ -440,15 +522,8 @@ static void path_mkdir(Path *p) { - if (!p->make_directory) - return; - -- LIST_FOREACH(spec, s, p->specs) { -- int r; -- -- if (s->type == PATH_EXISTS || s->type == PATH_EXISTS_GLOB) -- continue; -- -- if ((r = mkdir_p(s->path, p->directory_mode)) < 0) -- log_warning("mkdir(%s) failed: %s", s->path, strerror(-r)); -- } -+ LIST_FOREACH(spec, s, p->specs) -+ pathspec_mkdir(s, p->directory_mode); - } - - static int path_start(Unit *u) { -@@ -525,12 +600,8 @@ static const char *path_sub_state_to_string(Unit *u) { - - static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { - Path *p = PATH(u); -- int l; -- ssize_t k; -- uint8_t *buf = NULL; -- struct inotify_event *e; - PathSpec *s; -- bool changed; -+ int changed; - - assert(p); - assert(fd >= 0); -@@ -541,13 +612,8 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { - - /* log_debug("inotify wakeup on %s.", u->meta.id); */ - -- if (events != EPOLLIN) { -- log_error("Got Invalid poll event on inotify."); -- goto fail; -- } -- - LIST_FOREACH(spec, s, p->specs) -- if (s->inotify_fd == fd) -+ if (pathspec_owns_inotify_fd(s, fd)) - break; - - if (!s) { -@@ -555,55 +621,23 @@ static void path_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { - goto fail; - } - -- if (ioctl(fd, FIONREAD, &l) < 0) { -- log_error("FIONREAD failed: %m"); -- goto fail; -- } -- -- assert(l > 0); -- -- if (!(buf = malloc(l))) { -- log_error("Failed to allocate buffer: %s", strerror(ENOMEM)); -- goto fail; -- } -- -- if ((k = read(fd, buf, l)) < 0) { -- log_error("Failed to read inotify event: %m"); -+ changed = pathspec_fd_event(s, events); -+ if (changed < 0) - goto fail; -- } - - /* If we are already running, then remember that one event was - * dispatched so that we restart the service only if something - * actually changed on disk */ - p->inotify_triggered = true; - -- e = (struct inotify_event*) buf; -- -- changed = false; -- while (k > 0) { -- size_t step; -- -- if (s->type == PATH_CHANGED && s->primary_wd == e->wd) -- changed = true; -- -- step = sizeof(struct inotify_event) + e->len; -- assert(step <= (size_t) k); -- -- e = (struct inotify_event*) ((uint8_t*) e + step); -- k -= step; -- } -- - if (changed) - path_enter_running(p); - else - path_enter_waiting(p, false, true); - -- free(buf); -- - return; - - fail: -- free(buf); - path_enter_dead(p, false); - } - -diff --git a/src/path.h b/src/path.h -index 116fc63..4e6ccf5 100644 ---- a/src/path.h -+++ b/src/path.h -@@ -60,6 +60,14 @@ typedef struct PathSpec { - - } PathSpec; - -+int pathspec_watch(PathSpec *s, Unit *u); -+void pathspec_unwatch(PathSpec *s, Unit *u); -+int pathspec_fd_event(PathSpec *s, uint32_t events); -+void pathspec_done(PathSpec *s); -+static inline bool pathspec_owns_inotify_fd(PathSpec *s, int fd) { -+ return s->inotify_fd == fd; -+} -+ - struct Path { - Meta meta; - --- -1.7.7 - - -From e92238567b9fc83ef77e359588d7b005ecae3d70 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 3 Dec 2011 10:22:26 +0100 -Subject: [PATCH 4/5] path: add PathModified (= PathChanged + IN_MODIFY) - ---- - man/systemd.path.xml | 17 ++++++++++------- - src/path.c | 2 ++ - src/path.h | 1 + - 3 files changed, 13 insertions(+), 7 deletions(-) - -diff --git a/man/systemd.path.xml b/man/systemd.path.xml -index 10d8f73..5b1ff75 100644 ---- a/man/systemd.path.xml -+++ b/man/systemd.path.xml -@@ -113,6 +113,7 @@ - PathExists= - PathExistsGlob= - PathChanged= -+ PathModified= - DirectoryNotEmpty= - - Defines paths to -@@ -129,8 +130,14 @@ - specified. PathChanged= - may be used to watch a file or - directory and activate the configured -- unit whenever it changes or is -- modified. DirectoryNotEmpty= -+ unit whenever it changes. It is not activated -+ on every write to the watched file but it is -+ activated if the file which was open for writing -+ gets closed. PathModified= -+ is similar, but additionally it is activated -+ also on simple writes to the watched file. -+ -+ DirectoryNotEmpty= - may be used to watch a directory and - activate the configured unit whenever - it contains at least one file. -@@ -154,11 +161,7 @@ - activated, then the configured unit is - immediately activated as - well. Something similar does not apply -- to -- PathChanged=. The -- latter is not activated on simple -- writes but only if files with were -- opened for writing are closed. -+ to PathChanged=. - - - -diff --git a/src/path.c b/src/path.c -index db6f873..1e5d825 100644 ---- a/src/path.c -+++ b/src/path.c -@@ -44,6 +44,7 @@ int pathspec_watch(PathSpec *s, Unit *u) { - [PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, - [PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB, - [PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO, -+ [PATH_MODIFIED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO|IN_MODIFY, - [PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO - }; - -@@ -713,6 +714,7 @@ static const char* const path_type_table[_PATH_TYPE_MAX] = { - [PATH_EXISTS] = "PathExists", - [PATH_EXISTS_GLOB] = "PathExistsGlob", - [PATH_CHANGED] = "PathChanged", -+ [PATH_MODIFIED] = "PathModified", - [PATH_DIRECTORY_NOT_EMPTY] = "DirectoryNotEmpty" - }; - -diff --git a/src/path.h b/src/path.h -index 4e6ccf5..1d78fe4 100644 ---- a/src/path.h -+++ b/src/path.h -@@ -41,6 +41,7 @@ typedef enum PathType { - PATH_EXISTS_GLOB, - PATH_DIRECTORY_NOT_EMPTY, - PATH_CHANGED, -+ PATH_MODIFIED, - _PATH_TYPE_MAX, - _PATH_TYPE_INVALID = -1 - } PathType; --- -1.7.7 - - -From 3a11183858af30bc9b4e9dac430dd7541deec19b Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 3 Dec 2011 02:13:30 +0100 -Subject: [PATCH 5/5] service: handle services with racy daemonization - gracefully - -There are a lot of forking daemons that do not exactly follow the -initialization steps as described in daemon(7). It is common that they -do not bother waiting in the parent process for the child to write the -PID file before exiting. The daemons' developers often do not perceive -this as a bug and they're unwilling to change. - -Currently systemd warns about the missing PID file and falls back to -guessing the main PID. Being not quite deterministic, the guess can be -wrong with bad consequences. If the guessing is disabled, determinism is -achieved at the cost of losing the ability of noticing when the main -process of the service dies. - -As long as it does not negatively affect properly written services, -systemd should strive for compatibility even with services with racy -daemonization. It is possible to provide determinism _and_ main process -supervision to them. - -If the PID file is not there, rather than guessing and considering the -service running immediately after getting the SIGCHLD from the ExecStart -(or ExecStartPost) process, we can keep the service in the activating -state for a bit longer. We can use inotify to wait for the PID file to -appear. Only when it finally does appear and we read a valid PID from -it, we'll move the service to the running state. If the PID file never -appears, the usual timeout kicks in and the service fails. ---- - src/service.c | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++------- - src/service.h | 3 + - 2 files changed, 157 insertions(+), 21 deletions(-) - -diff --git a/src/service.c b/src/service.c -index 6fc2484..07137d2 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -1302,8 +1302,8 @@ static int service_load_pid_file(Service *s, bool may_warn) { - - if ((r = read_one_line_file(s->pid_file, &k)) < 0) { - if (may_warn) -- log_warning("Failed to read PID file %s after %s. The service might be broken.", -- s->pid_file, service_state_to_string(s->state)); -+ log_info("PID file %s not readable (yet?) after %s.", -+ s->pid_file, service_state_to_string(s->state)); - return r; - } - -@@ -1315,8 +1315,8 @@ static int service_load_pid_file(Service *s, bool may_warn) { - - if (kill(pid, 0) < 0 && errno != EPERM) { - if (may_warn) -- log_warning("PID %lu read from file %s does not exist. Your service or init script might be broken.", -- (unsigned long) pid, s->pid_file); -+ log_info("PID %lu read from file %s does not exist.", -+ (unsigned long) pid, s->pid_file); - return -ESRCH; - } - -@@ -1328,7 +1328,8 @@ static int service_load_pid_file(Service *s, bool may_warn) { - (unsigned long) s->main_pid, (unsigned long) pid); - service_unwatch_main_pid(s); - s->main_pid_known = false; -- } -+ } else -+ log_debug("Main PID loaded: %lu", (unsigned long) pid); - - if ((r = service_set_main_pid(s, pid)) < 0) - return r; -@@ -1359,6 +1360,7 @@ static int service_search_main_pid(Service *s) { - if ((pid = cgroup_bonding_search_main_pid_list(s->meta.cgroup_bondings)) <= 0) - return -ENOENT; - -+ log_debug("Main PID guessed: %lu", (unsigned long) pid); - if ((r = service_set_main_pid(s, pid)) < 0) - return r; - -@@ -1451,6 +1453,17 @@ static int service_notify_sockets_dead(Service *s) { - return 0; - } - -+static void service_unwatch_pid_file(Service *s) { -+ if (!s->pid_file_pathspec) -+ return; -+ -+ log_debug("Stopping watch for %s's PID file %s", s->meta.id, s->pid_file_pathspec->path); -+ pathspec_unwatch(s->pid_file_pathspec, UNIT(s)); -+ pathspec_done(s->pid_file_pathspec); -+ free(s->pid_file_pathspec); -+ s->pid_file_pathspec = NULL; -+} -+ - static void service_set_state(Service *s, ServiceState state) { - ServiceState old_state; - assert(s); -@@ -1458,6 +1471,8 @@ static void service_set_state(Service *s, ServiceState state) { - old_state = s->state; - s->state = state; - -+ service_unwatch_pid_file(s); -+ - if (state != SERVICE_START_PRE && - state != SERVICE_START && - state != SERVICE_START_POST && -@@ -2602,6 +2617,95 @@ static bool service_check_snapshot(Unit *u) { - return !s->got_socket_fd; - } - -+static int service_retry_pid_file(Service *s) { -+ int r; -+ -+ assert(s->pid_file); -+ assert(s->state == SERVICE_START || s->state == SERVICE_START_POST); -+ -+ r = service_load_pid_file(s, false); -+ if (r < 0) -+ return r; -+ -+ service_unwatch_pid_file(s); -+ -+ service_enter_running(s, true); -+ return 0; -+} -+ -+static int service_watch_pid_file(Service *s) { -+ int r; -+ -+ log_debug("Setting watch for %s's PID file %s", s->meta.id, s->pid_file_pathspec->path); -+ r = pathspec_watch(s->pid_file_pathspec, UNIT(s)); -+ if (r < 0) -+ goto fail; -+ -+ /* the pidfile might have appeared just before we set the watch */ -+ service_retry_pid_file(s); -+ -+ return 0; -+fail: -+ log_error("Failed to set a watch for %s's PID file %s: %s", -+ s->meta.id, s->pid_file_pathspec->path, strerror(-r)); -+ service_unwatch_pid_file(s); -+ return r; -+} -+ -+static int service_demand_pid_file(Service *s) { -+ PathSpec *ps; -+ -+ assert(s->pid_file); -+ assert(!s->pid_file_pathspec); -+ -+ ps = new0(PathSpec, 1); -+ if (!ps) -+ return -ENOMEM; -+ -+ ps->path = strdup(s->pid_file); -+ if (!ps->path) { -+ free(ps); -+ return -ENOMEM; -+ } -+ -+ path_kill_slashes(ps->path); -+ -+ /* PATH_CHANGED would not be enough. There are daemons (sendmail) that -+ * keep their PID file open all the time. */ -+ ps->type = PATH_MODIFIED; -+ ps->inotify_fd = -1; -+ -+ s->pid_file_pathspec = ps; -+ -+ return service_watch_pid_file(s); -+} -+ -+static void service_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { -+ Service *s = SERVICE(u); -+ -+ assert(s); -+ assert(fd >= 0); -+ assert(s->state == SERVICE_START || s->state == SERVICE_START_POST); -+ assert(s->pid_file_pathspec); -+ assert(pathspec_owns_inotify_fd(s->pid_file_pathspec, fd)); -+ -+ log_debug("inotify event for %s", u->meta.id); -+ -+ if (pathspec_fd_event(s->pid_file_pathspec, events) < 0) -+ goto fail; -+ -+ if (service_retry_pid_file(s) == 0) -+ return; -+ -+ if (service_watch_pid_file(s) < 0) -+ goto fail; -+ -+ return; -+fail: -+ service_unwatch_pid_file(s); -+ service_enter_signal(s, SERVICE_STOP_SIGTERM, false); -+} -+ - static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { - Service *s = SERVICE(u); - bool success; -@@ -2707,7 +2811,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { - success = true; - } - -- log_full(success ? LOG_DEBUG : LOG_NOTICE, -+ log_full(success ? LOG_DEBUG : LOG_NOTICE, - "%s: control process exited, code=%s status=%i", u->meta.id, sigchld_code_to_string(code), status); - s->failure = s->failure || !success; - -@@ -2742,27 +2846,41 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { - case SERVICE_START: - assert(s->type == SERVICE_FORKING); - -- /* Let's try to load the pid -- * file here if we can. We -- * ignore the return value, -- * since the PID file might -- * actually be created by a -- * START_POST script */ -- -- if (success) { -- service_load_pid_file(s, !s->exec_command[SERVICE_EXEC_START_POST]); -- service_search_main_pid(s); -+ if (!success) { -+ service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); -+ break; -+ } - -- service_enter_start_post(s); -+ if (s->pid_file) { -+ /* Let's try to load the pid file here if we can. -+ * The PID file might actually be created by a START_POST -+ * script. In that case don't worry if the loading fails. */ -+ bool has_start_post = !!s->exec_command[SERVICE_EXEC_START_POST]; -+ int r = service_load_pid_file(s, !has_start_post); -+ if (!has_start_post && r < 0) { -+ r = service_demand_pid_file(s); -+ if (r < 0 || !cgroup_good(s)) -+ service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); -+ break; -+ } - } else -- service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); -+ service_search_main_pid(s); - -+ service_enter_start_post(s); - break; - - case SERVICE_START_POST: - if (success) { -- service_load_pid_file(s, true); -- service_search_main_pid(s); -+ if (s->pid_file) { -+ int r = service_load_pid_file(s, true); -+ if (r < 0) { -+ r = service_demand_pid_file(s); -+ if (r < 0 || !cgroup_good(s)) -+ service_enter_stop(s, false); -+ break; -+ } -+ } else -+ service_search_main_pid(s); - } - - s->reload_failure = !success; -@@ -2907,6 +3025,20 @@ static void service_cgroup_notify_event(Unit *u) { - * except when we don't know pid which to expect the - * SIGCHLD for. */ - -+ case SERVICE_START: -+ case SERVICE_START_POST: -+ /* If we were hoping for the daemon to write its PID file, -+ * we can give up now. */ -+ if (s->pid_file_pathspec) { -+ log_warning("%s never wrote its PID file. Failing.", s->meta.id); -+ service_unwatch_pid_file(s); -+ if (s->state == SERVICE_START) -+ service_enter_signal(s, SERVICE_FINAL_SIGTERM, false); -+ else -+ service_enter_stop(s, false); -+ } -+ break; -+ - case SERVICE_RUNNING: - service_enter_running(s, true); - break; -@@ -3216,7 +3348,7 @@ static int service_enumerate(Manager *m) { - r = 0; - - #ifdef TARGET_SUSE -- sysv_facility_in_insserv_conf (m); -+ sysv_facility_in_insserv_conf (m); - #endif - - finish: -@@ -3511,6 +3643,7 @@ const UnitVTable service_vtable = { - - .sigchld_event = service_sigchld_event, - .timer_event = service_timer_event, -+ .fd_event = service_fd_event, - - .reset_failed = service_reset_failed, - -diff --git a/src/service.h b/src/service.h -index e28f74b..15d58cc 100644 ---- a/src/service.h -+++ b/src/service.h -@@ -86,6 +86,8 @@ typedef enum NotifyAccess { - _NOTIFY_ACCESS_INVALID = -1 - } NotifyAccess; - -+typedef struct PathSpec PathSpec; -+ - struct Service { - Meta meta; - -@@ -157,6 +159,7 @@ struct Service { - Set *configured_sockets; - - Watch timer_watch; -+ PathSpec *pid_file_pathspec; - - NotifyAccess notify_access; - }; --- -1.7.7 - -From 714d943f72417f53bcb98ed45d002aa270e793c4 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 8 Dec 2011 12:09:10 +0100 -Subject: [PATCH] path: add missing pieces for PathModified - -PATH_MODIFIED worked internally for PID files detection, but was unusable -in units. ---- - src/load-fragment-gperf.gperf.m4 | 1 + - src/path.c | 6 ++++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/load-fragment-gperf.gperf.m4 b/src/load-fragment-gperf.gperf.m4 -index 84ae28c..35ec005 100644 ---- a/src/load-fragment-gperf.gperf.m4 -+++ b/src/load-fragment-gperf.gperf.m4 -@@ -210,6 +210,7 @@ m4_dnl - Path.PathExists, config_parse_path_spec, 0, 0 - Path.PathExistsGlob, config_parse_path_spec, 0, 0 - Path.PathChanged, config_parse_path_spec, 0, 0 -+Path.PathModified, config_parse_path_spec, 0, 0 - Path.DirectoryNotEmpty, config_parse_path_spec, 0, 0 - Path.Unit, config_parse_path_unit, 0, 0 - Path.MakeDirectory, config_parse_bool, 0, offsetof(Path, make_directory) -diff --git a/src/path.c b/src/path.c -index 1e5d825..3fee247 100644 ---- a/src/path.c -+++ b/src/path.c -@@ -149,7 +149,8 @@ int pathspec_fd_event(PathSpec *s, uint32_t events) { - while (k > 0) { - size_t step; - -- if (s->type == PATH_CHANGED && s->primary_wd == e->wd) -+ if ((s->type == PATH_CHANGED || s->type == PATH_MODIFIED) && -+ s->primary_wd == e->wd) - r = 1; - - step = sizeof(struct inotify_event) + e->len; -@@ -184,7 +185,8 @@ static bool pathspec_check_good(PathSpec *s, bool initial) { - break; - } - -- case PATH_CHANGED: { -+ case PATH_CHANGED: -+ case PATH_MODIFIED: { - bool b; - - b = access(s->path, F_OK) >= 0; --- -1.7.7 - diff --git a/listen.conf b/listen.conf new file mode 100644 index 00000000..0abbb418 --- /dev/null +++ b/listen.conf @@ -0,0 +1 @@ +$SystemLogSocketName /run/systemd/journal/syslog diff --git a/log_on_close.patch b/log_on_close.patch deleted file mode 100644 index eee0eda3..00000000 --- a/log_on_close.patch +++ /dev/null @@ -1,586 +0,0 @@ -From 4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 16 Nov 2011 23:45:01 +0100 -Subject: [PATCH 1/3] execute: avoid logging to closed fds - -Several functions called from the "sd(EXEC)" process try to log messages -when all the file descriptors are already closed, including the logging -ones. The logging functions do not expect their fds to be closed and -they hit an assertion failure. The failure wants to be logged too, -so there is an infinite recursion, ended by a SIGSEGV. - -When we close all fds, we must let log.c know about it. ---- - src/execute.c | 1 + - src/log.c | 4 ++++ - src/log.h | 1 + - 3 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/src/execute.c b/src/execute.c -index 250d53a..0651014 100644 ---- a/src/execute.c -+++ b/src/execute.c -@@ -1016,6 +1016,7 @@ int exec_spawn(ExecCommand *command, - /* Close sockets very early to make sure we don't - * block init reexecution because it cannot bind its - * sockets */ -+ log_forget_fds(); - if (close_all_fds(socket_fd >= 0 ? &socket_fd : fds, - socket_fd >= 0 ? 1 : n_fds) < 0) { - r = EXIT_FDS; -diff --git a/src/log.c b/src/log.c -index b8ce122..5c5b734 100644 ---- a/src/log.c -+++ b/src/log.c -@@ -237,6 +237,10 @@ void log_close(void) { - log_close_syslog(); - } - -+void log_forget_fds(void) { -+ console_fd = kmsg_fd = syslog_fd = -1; -+} -+ - void log_set_max_level(int level) { - assert((level & LOG_PRIMASK) == level); - -diff --git a/src/log.h b/src/log.h -index c402afb..9942e3e 100644 ---- a/src/log.h -+++ b/src/log.h -@@ -57,6 +57,7 @@ int log_get_max_level(void); - - int log_open(void); - void log_close(void); -+void log_forget_fds(void); - - void log_close_syslog(void); - void log_close_kmsg(void); --- -1.7.7 - - -From 9ba353983adc026b75a503c1381f6e5c8062f3e0 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 17 Nov 2011 00:16:22 +0100 -Subject: [PATCH 2/3] execute: make setup_pam() return -errno when possible - -The only caller currently checks if the result is non-zero, -so nothing changes there. ---- - src/execute.c | 8 +++++++- - 1 files changed, 7 insertions(+), 1 deletions(-) - -diff --git a/src/execute.c b/src/execute.c -index 0651014..2039861 100644 ---- a/src/execute.c -+++ b/src/execute.c -@@ -716,6 +716,7 @@ static int setup_pam( - pam_handle_t *handle = NULL; - sigset_t ss, old_ss; - int pam_code = PAM_SUCCESS; -+ int err; - char **e = NULL; - bool close_session = false; - pid_t pam_pid = 0, parent_pid; -@@ -835,6 +836,11 @@ static int setup_pam( - return 0; - - fail: -+ if (pam_code != PAM_SUCCESS) -+ err = -EPERM; /* PAM errors do not map to errno */ -+ else -+ err = -errno; -+ - if (handle) { - if (close_session) - pam_code = pam_close_session(handle, PAM_DATA_SILENT); -@@ -851,7 +857,7 @@ fail: - kill(pam_pid, SIGCONT); - } - -- return EXIT_PAM; -+ return err; - } - #endif - --- -1.7.7 - - -From 4c2630ebf23b6348174f0bdf1110e90efe45259c Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 17 Nov 2011 00:21:16 +0100 -Subject: [PATCH 3/3] execute: log errors from "sd(EXEC)" - -To give the administrator more hints about failures occuring in spawning -of commands than just the exit code, log the strerror. -All fds are closed, so reopen the log. - -Related-to: https://bugzilla.redhat.com/show_bug.cgi?id=752901 ---- - src/execute.c | 138 +++++++++++++++++++++++++++++++++++++++-------------- - src/exit-status.c | 3 + - src/exit-status.h | 3 +- - 3 files changed, 107 insertions(+), 37 deletions(-) - -diff --git a/src/execute.c b/src/execute.c -index 2039861..481725d 100644 ---- a/src/execute.c -+++ b/src/execute.c -@@ -989,7 +989,7 @@ int exec_spawn(ExecCommand *command, - } - - if (pid == 0) { -- int i; -+ int i, err; - sigset_t ss; - const char *username = NULL, *home = NULL; - uid_t uid = (uid_t) -1; -@@ -1015,6 +1015,7 @@ int exec_spawn(ExecCommand *command, - - if (sigemptyset(&ss) < 0 || - sigprocmask(SIG_SETMASK, &ss, NULL) < 0) { -+ err = -errno; - r = EXIT_SIGNAL_MASK; - goto fail_child; - } -@@ -1023,14 +1024,16 @@ int exec_spawn(ExecCommand *command, - * block init reexecution because it cannot bind its - * sockets */ - log_forget_fds(); -- if (close_all_fds(socket_fd >= 0 ? &socket_fd : fds, -- socket_fd >= 0 ? 1 : n_fds) < 0) { -+ err = close_all_fds(socket_fd >= 0 ? &socket_fd : fds, -+ socket_fd >= 0 ? 1 : n_fds); -+ if (err < 0) { - r = EXIT_FDS; - goto fail_child; - } - - if (!context->same_pgrp) - if (setsid() < 0) { -+ err = -errno; - r = EXIT_SETSID; - goto fail_child; - } -@@ -1038,12 +1041,14 @@ int exec_spawn(ExecCommand *command, - if (context->tcpwrap_name) { - if (socket_fd >= 0) - if (!socket_tcpwrap(socket_fd, context->tcpwrap_name)) { -+ err = -EACCES; - r = EXIT_TCPWRAP; - goto fail_child; - } - - for (i = 0; i < (int) n_fds; i++) { - if (!socket_tcpwrap(fds[i], context->tcpwrap_name)) { -+ err = -EACCES; - r = EXIT_TCPWRAP; - goto fail_child; - } -@@ -1059,11 +1064,14 @@ int exec_spawn(ExecCommand *command, - - /* Set up terminal for the question */ - if ((r = setup_confirm_stdio(context, -- &saved_stdin, &saved_stdout))) -+ &saved_stdin, &saved_stdout))) { -+ err = -errno; - goto fail_child; -+ } - - /* Now ask the question. */ - if (!(line = exec_command_line(argv))) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } -@@ -1072,18 +1080,21 @@ int exec_spawn(ExecCommand *command, - free(line); - - if (r < 0 || response == 'n') { -+ err = -ECANCELED; - r = EXIT_CONFIRM; - goto fail_child; - } else if (response == 's') { -- r = 0; -+ err = r = 0; - goto fail_child; - } - - /* Release terminal for the question */ - if ((r = restore_confirm_stdio(context, - &saved_stdin, &saved_stdout, -- &keep_stdin, &keep_stdout))) -+ &keep_stdin, &keep_stdout))) { -+ err = -errno; - goto fail_child; -+ } - } - - /* If a socket is connected to STDIN/STDOUT/STDERR, we -@@ -1091,28 +1102,35 @@ int exec_spawn(ExecCommand *command, - if (socket_fd >= 0) - fd_nonblock(socket_fd, false); - -- if (!keep_stdin) -- if (setup_input(context, socket_fd, apply_tty_stdin) < 0) { -+ if (!keep_stdin) { -+ err = setup_input(context, socket_fd, apply_tty_stdin); -+ if (err < 0) { - r = EXIT_STDIN; - goto fail_child; - } -+ } - -- if (!keep_stdout) -- if (setup_output(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin) < 0) { -+ if (!keep_stdout) { -+ err = setup_output(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin); -+ if (err < 0) { - r = EXIT_STDOUT; - goto fail_child; - } -+ } - -- if (setup_error(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin) < 0) { -+ err = setup_error(context, socket_fd, file_name_from_path(command->path), apply_tty_stdin); -+ if (err < 0) { - r = EXIT_STDERR; - goto fail_child; - } - -- if (cgroup_bondings) -- if (cgroup_bonding_install_list(cgroup_bondings, 0) < 0) { -+ if (cgroup_bondings) { -+ err = cgroup_bonding_install_list(cgroup_bondings, 0); -+ if (err < 0) { - r = EXIT_CGROUP; - goto fail_child; - } -+ } - - if (context->oom_score_adjust_set) { - char t[16]; -@@ -1133,6 +1151,7 @@ int exec_spawn(ExecCommand *command, - - if (write_one_line_file("/proc/self/oom_adj", t) < 0 - && errno != EACCES) { -+ err = -errno; - r = EXIT_OOM_ADJUST; - goto fail_child; - } -@@ -1141,6 +1160,7 @@ int exec_spawn(ExecCommand *command, - - if (context->nice_set) - if (setpriority(PRIO_PROCESS, 0, context->nice) < 0) { -+ err = -errno; - r = EXIT_NICE; - goto fail_child; - } -@@ -1153,6 +1173,7 @@ int exec_spawn(ExecCommand *command, - - if (sched_setscheduler(0, context->cpu_sched_policy | - (context->cpu_sched_reset_on_fork ? SCHED_RESET_ON_FORK : 0), ¶m) < 0) { -+ err = -errno; - r = EXIT_SETSCHEDULER; - goto fail_child; - } -@@ -1160,18 +1181,21 @@ int exec_spawn(ExecCommand *command, - - if (context->cpuset) - if (sched_setaffinity(0, CPU_ALLOC_SIZE(context->cpuset_ncpus), context->cpuset) < 0) { -+ err = -errno; - r = EXIT_CPUAFFINITY; - goto fail_child; - } - - if (context->ioprio_set) - if (ioprio_set(IOPRIO_WHO_PROCESS, 0, context->ioprio) < 0) { -+ err = -errno; - r = EXIT_IOPRIO; - goto fail_child; - } - - if (context->timer_slack_nsec_set) - if (prctl(PR_SET_TIMERSLACK, context->timer_slack_nsec) < 0) { -+ err = -errno; - r = EXIT_TIMERSLACK; - goto fail_child; - } -@@ -1181,36 +1205,45 @@ int exec_spawn(ExecCommand *command, - - if (context->user) { - username = context->user; -- if (get_user_creds(&username, &uid, &gid, &home) < 0) { -+ err = get_user_creds(&username, &uid, &gid, &home); -+ if (err < 0) { - r = EXIT_USER; - goto fail_child; - } - -- if (is_terminal_input(context->std_input)) -- if (chown_terminal(STDIN_FILENO, uid) < 0) { -+ if (is_terminal_input(context->std_input)) { -+ err = chown_terminal(STDIN_FILENO, uid); -+ if (err < 0) { - r = EXIT_STDIN; - goto fail_child; - } -+ } - -- if (cgroup_bondings && context->control_group_modify) -- if (cgroup_bonding_set_group_access_list(cgroup_bondings, 0755, uid, gid) < 0 || -- cgroup_bonding_set_task_access_list(cgroup_bondings, 0644, uid, gid) < 0) { -+ if (cgroup_bondings && context->control_group_modify) { -+ err = cgroup_bonding_set_group_access_list(cgroup_bondings, 0755, uid, gid); -+ if (err >= 0) -+ err = cgroup_bonding_set_task_access_list(cgroup_bondings, 0644, uid, gid); -+ if (err < 0) { - r = EXIT_CGROUP; - goto fail_child; - } -+ } - } - -- if (apply_permissions) -- if (enforce_groups(context, username, gid) < 0) { -+ if (apply_permissions) { -+ err = enforce_groups(context, username, gid); -+ if (err < 0) { - r = EXIT_GROUP; - goto fail_child; - } -+ } - - umask(context->umask); - - #ifdef HAVE_PAM - if (context->pam_name && username) { -- if (setup_pam(context->pam_name, username, context->tty_path, &pam_env, fds, n_fds) != 0) { -+ err = setup_pam(context->pam_name, username, context->tty_path, &pam_env, fds, n_fds); -+ if (err < 0) { - r = EXIT_PAM; - goto fail_child; - } -@@ -1218,6 +1251,7 @@ int exec_spawn(ExecCommand *command, - #endif - if (context->private_network) { - if (unshare(CLONE_NEWNET) < 0) { -+ err = -errno; - r = EXIT_NETWORK; - goto fail_child; - } -@@ -1229,23 +1263,28 @@ int exec_spawn(ExecCommand *command, - strv_length(context->read_only_dirs) > 0 || - strv_length(context->inaccessible_dirs) > 0 || - context->mount_flags != MS_SHARED || -- context->private_tmp) -- if ((r = setup_namespace( -- context->read_write_dirs, -- context->read_only_dirs, -- context->inaccessible_dirs, -- context->private_tmp, -- context->mount_flags)) < 0) -+ context->private_tmp) { -+ err = setup_namespace(context->read_write_dirs, -+ context->read_only_dirs, -+ context->inaccessible_dirs, -+ context->private_tmp, -+ context->mount_flags); -+ if (err < 0) { -+ r = EXIT_NAMESPACE; - goto fail_child; -+ } -+ } - - if (apply_chroot) { - if (context->root_directory) - if (chroot(context->root_directory) < 0) { -+ err = -errno; - r = EXIT_CHROOT; - goto fail_child; - } - - if (chdir(context->working_directory ? context->working_directory : "/") < 0) { -+ err = -errno; - r = EXIT_CHDIR; - goto fail_child; - } -@@ -1256,11 +1295,13 @@ int exec_spawn(ExecCommand *command, - if (asprintf(&d, "%s/%s", - context->root_directory ? context->root_directory : "", - context->working_directory ? context->working_directory : "") < 0) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } - - if (chdir(d) < 0) { -+ err = -errno; - free(d); - r = EXIT_CHDIR; - goto fail_child; -@@ -1271,9 +1312,12 @@ int exec_spawn(ExecCommand *command, - - /* We repeat the fd closing here, to make sure that - * nothing is leaked from the PAM modules */ -- if (close_all_fds(fds, n_fds) < 0 || -- shift_fds(fds, n_fds) < 0 || -- flags_fds(fds, n_fds, context->non_blocking) < 0) { -+ err = close_all_fds(fds, n_fds); -+ if (err >= 0) -+ err = shift_fds(fds, n_fds); -+ if (err >= 0) -+ err = flags_fds(fds, n_fds, context->non_blocking); -+ if (err < 0) { - r = EXIT_FDS; - goto fail_child; - } -@@ -1285,22 +1329,27 @@ int exec_spawn(ExecCommand *command, - continue; - - if (setrlimit(i, context->rlimit[i]) < 0) { -+ err = -errno; - r = EXIT_LIMITS; - goto fail_child; - } - } - -- if (context->capability_bounding_set_drop) -- if (do_capability_bounding_set_drop(context->capability_bounding_set_drop) < 0) { -+ if (context->capability_bounding_set_drop) { -+ err = do_capability_bounding_set_drop(context->capability_bounding_set_drop); -+ if (err < 0) { - r = EXIT_CAPABILITIES; - goto fail_child; - } -+ } - -- if (context->user) -- if (enforce_user(context, uid) < 0) { -+ if (context->user) { -+ err = enforce_user(context, uid); -+ if (err < 0) { - r = EXIT_USER; - goto fail_child; - } -+ } - - /* PR_GET_SECUREBITS is not privileged, while - * PR_SET_SECUREBITS is. So to suppress -@@ -1308,18 +1357,21 @@ int exec_spawn(ExecCommand *command, - * PR_SET_SECUREBITS unless necessary. */ - if (prctl(PR_GET_SECUREBITS) != context->secure_bits) - if (prctl(PR_SET_SECUREBITS, context->secure_bits) < 0) { -+ err = -errno; - r = EXIT_SECUREBITS; - goto fail_child; - } - - if (context->capabilities) - if (cap_set_proc(context->capabilities) < 0) { -+ err = -errno; - r = EXIT_CAPABILITIES; - goto fail_child; - } - } - - if (!(our_env = new0(char*, 7))) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } -@@ -1327,12 +1379,14 @@ int exec_spawn(ExecCommand *command, - if (n_fds > 0) - if (asprintf(our_env + n_env++, "LISTEN_PID=%lu", (unsigned long) getpid()) < 0 || - asprintf(our_env + n_env++, "LISTEN_FDS=%u", n_fds) < 0) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } - - if (home) - if (asprintf(our_env + n_env++, "HOME=%s", home) < 0) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } -@@ -1340,6 +1394,7 @@ int exec_spawn(ExecCommand *command, - if (username) - if (asprintf(our_env + n_env++, "LOGNAME=%s", username) < 0 || - asprintf(our_env + n_env++, "USER=%s", username) < 0) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } -@@ -1348,6 +1403,7 @@ int exec_spawn(ExecCommand *command, - context->std_output == EXEC_OUTPUT_TTY || - context->std_error == EXEC_OUTPUT_TTY) - if (!(our_env[n_env++] = strdup(default_term_for_tty(tty_path(context))))) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } -@@ -1362,11 +1418,13 @@ int exec_spawn(ExecCommand *command, - files_env, - pam_env, - NULL))) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } - - if (!(final_argv = replace_env_argv(argv, final_env))) { -+ err = -ENOMEM; - r = EXIT_MEMORY; - goto fail_child; - } -@@ -1374,9 +1432,17 @@ int exec_spawn(ExecCommand *command, - final_env = strv_env_clean(final_env); - - execve(command->path, final_argv, final_env); -+ err = -errno; - r = EXIT_EXEC; - - fail_child: -+ if (r != 0) { -+ log_open(); -+ log_warning("Failed at step %s spawning %s: %s", -+ exit_status_to_string(r, EXIT_STATUS_SYSTEMD), -+ command->path, strerror(-err)); -+ } -+ - strv_free(our_env); - strv_free(final_env); - strv_free(pam_env); -diff --git a/src/exit-status.c b/src/exit-status.c -index 8ed1a0e..ab8907d 100644 ---- a/src/exit-status.c -+++ b/src/exit-status.c -@@ -119,6 +119,9 @@ const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) { - - case EXIT_NETWORK: - return "NETWORK"; -+ -+ case EXIT_NAMESPACE: -+ return "NAMESPACE"; - } - } - -diff --git a/src/exit-status.h b/src/exit-status.h -index 3e977b1..44ef879 100644 ---- a/src/exit-status.h -+++ b/src/exit-status.h -@@ -65,7 +65,8 @@ typedef enum ExitStatus { - EXIT_STDERR, - EXIT_TCPWRAP, - EXIT_PAM, -- EXIT_NETWORK -+ EXIT_NETWORK, -+ EXIT_NAMESPACE - - } ExitStatus; - --- -1.7.7 - diff --git a/mount-swap-log.patch b/mount-swap-log.patch deleted file mode 100644 index 9117adfe..00000000 --- a/mount-swap-log.patch +++ /dev/null @@ -1,54 +0,0 @@ -From f6cebb3bd5a00d79c8131637c0f6796a75e6af99 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 19 Nov 2011 02:47:09 +0100 -Subject: [PATCH] let mount and swap units log to the configured defaults - -Related-to: https://bugzilla.redhat.com/show_bug.cgi?id=750032 ---- - src/mount.c | 6 ++++-- - src/swap.c | 5 +++-- - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/src/mount.c b/src/mount.c -index f9cfe91..47422cc 100644 ---- a/src/mount.c -+++ b/src/mount.c -@@ -68,8 +68,10 @@ static void mount_init(Unit *u) { - - /* The stdio/kmsg bridge socket is on /, in order to avoid a - * dep loop, don't use kmsg logging for -.mount */ -- if (!unit_has_name(u, "-.mount")) -- m->exec_context.std_output = EXEC_OUTPUT_KMSG; -+ if (!unit_has_name(u, "-.mount")) { -+ m->exec_context.std_output = u->meta.manager->default_std_output; -+ m->exec_context.std_error = u->meta.manager->default_std_error; -+ } - - /* We need to make sure that /bin/mount is always called in - * the same process group as us, so that the autofs kernel -diff --git a/src/swap.c b/src/swap.c -index 54a8640..4fa30a3 100644 ---- a/src/swap.c -+++ b/src/swap.c -@@ -74,7 +74,7 @@ static void swap_unset_proc_swaps(Swap *s) { - s->parameters_proc_swaps.what = NULL; - } - -- static void swap_init(Unit *u) { -+static void swap_init(Unit *u) { - Swap *s = SWAP(u); - - assert(s); -@@ -83,7 +83,8 @@ static void swap_unset_proc_swaps(Swap *s) { - s->timeout_usec = DEFAULT_TIMEOUT_USEC; - - exec_context_init(&s->exec_context); -- s->exec_context.std_output = EXEC_OUTPUT_KMSG; -+ s->exec_context.std_output = u->meta.manager->default_std_output; -+ s->exec_context.std_error = u->meta.manager->default_std_error; - - s->parameters_etc_fstab.priority = s->parameters_proc_swaps.priority = s->parameters_fragment.priority = -1; - --- -1.7.7 - diff --git a/no-tmpfs-fsck.patch b/no-tmpfs-fsck.patch index cfa7bda3..a5946686 100644 --- a/no-tmpfs-fsck.patch +++ b/no-tmpfs-fsck.patch @@ -8,18 +8,15 @@ Subject: [PATCH] mount: do not try to fsck tmpfs mountpoint with non-null src/mount.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) -diff --git a/src/mount.c b/src/mount.c -index ef953f0..5da4047 100644 ---- a/src/mount.c -+++ b/src/mount.c -@@ -434,6 +434,7 @@ static int mount_add_device_links(Mount *m) { +Index: systemd-39/src/mount.c +=================================================================== +--- systemd-39.orig/src/mount.c ++++ systemd-39/src/mount.c +@@ -428,6 +428,7 @@ static int mount_add_device_links(Mount if (p->passno > 0 && !mount_is_bind(p) && + !streq(p->fstype,"tmpfs") && - UNIT(m)->meta.manager->running_as == MANAGER_SYSTEM && + UNIT(m)->manager->running_as == MANAGER_SYSTEM && !path_equal(m->where, "/")) { char *name; --- -1.7.7 - diff --git a/storage-after-cryptsetup.patch b/storage-after-cryptsetup.patch index a317015e..1716fd6d 100644 --- a/storage-after-cryptsetup.patch +++ b/storage-after-cryptsetup.patch @@ -7,11 +7,11 @@ Subject: [PATCH] force lvm restart after cryptsetup target is reached src/cryptsetup-generator.c | 80 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 0 deletions(-) -diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c -index a48b7a4..14fcce8 100644 ---- a/src/cryptsetup-generator.c -+++ b/src/cryptsetup-generator.c -@@ -22,12 +22,14 @@ +Index: systemd-37/src/cryptsetup/cryptsetup-generator.c +=================================================================== +--- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-37/src/cryptsetup/cryptsetup-generator.c +@@ -22,6 +22,7 @@ #include #include #include @@ -19,14 +19,7 @@ index a48b7a4..14fcce8 100644 #include "log.h" #include "util.h" - #include "unit-name.h" - - const char *arg_dest = "/tmp"; -+bool random_seed = false; - - static bool has_option(const char *haystack, const char *needle) { - const char *f = haystack; -@@ -58,6 +60,78 @@ static bool has_option(const char *haystack, const char *needle) { +@@ -58,6 +59,71 @@ static bool has_option(const char *hayst return false; } @@ -53,10 +46,8 @@ index a48b7a4..14fcce8 100644 + "DefaultDependencies=no\n" + "After=cryptsetup.target\n" + "Wants=cryptsetup.target\n" ++ "Before=local-fs.target\n" + "Before=shutdown.target\n"); -+ if (!random_seed) { -+ fprintf(f, "After=local-fs.target\n"); -+ } + + fprintf(f, + "\n[Service]\n" @@ -86,13 +77,8 @@ index a48b7a4..14fcce8 100644 + goto fail; + } + -+ free(to); -+ to = NULL; -+ -+ r = 0; -+ system ("TMPDIR=/run /usr/bin/sed -e 's/\\(After=.*\\) local-fs.target\\(.*\\)/\\1\\2/g' /lib/systemd/system/systemd-random-seed-load.service > /etc/systemd/system/systemd-random-seed-load.service "); ++ r=0; +fail: -+ + free(p); + free(to); + @@ -105,19 +91,7 @@ index a48b7a4..14fcce8 100644 static int create_disk( const char *name, const char *device, -@@ -122,8 +196,11 @@ static int create_disk( - if (password && (streq(password, "/dev/urandom") || - streq(password, "/dev/random") || - streq(password, "/dev/hw_random"))) -+ { - fprintf(f, - "After=systemd-random-seed-load.service\n"); -+ random_seed = true; -+ } - else - fprintf(f, - "Before=local-fs.target\n"); -@@ -293,6 +370,9 @@ int main(int argc, char *argv[]) { +@@ -291,6 +357,9 @@ int main(int argc, char *argv[]) { free(options); } @@ -127,6 +101,3 @@ index a48b7a4..14fcce8 100644 finish: return r; } --- -1.7.7 - diff --git a/sysctl-modules.patch b/sysctl-modules.patch new file mode 100644 index 00000000..9348df0d --- /dev/null +++ b/sysctl-modules.patch @@ -0,0 +1,12 @@ +Index: systemd-37/units/systemd-sysctl.service.in +=================================================================== +--- systemd-37.orig/units/systemd-sysctl.service.in ++++ systemd-37/units/systemd-sysctl.service.in +@@ -10,6 +10,7 @@ Description=Apply Kernel Variables + DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service ++After=systemd-modules-load.service + Before=sysinit.target shutdown.target + ConditionPathExists=|/etc/sysctl.conf + ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/systemctl-completion-fix.patch b/systemctl-completion-fix.patch deleted file mode 100644 index 3f5b2e37..00000000 --- a/systemctl-completion-fix.patch +++ /dev/null @@ -1,77 +0,0 @@ -In the case of completion for the 'restart' verb, passing the invalid -unit name (the colums header) causes completion to cease functioning -entirely, with the error: - - Failed to issue method call: Unit name UNIT is not valid. - -This adds a small wrapper function for systemctl which can have common -options added to it. - ---- - src/systemctl-bash-completion.sh | 20 ++++++++++++-------- - 1 files changed, 12 insertions(+), 8 deletions(-) - -diff --git a/src/systemctl-bash-completion.sh b/src/systemctl-bash-completion.sh -index 6369a6c..6ebb792 100644 ---- a/src/systemctl-bash-completion.sh -+++ b/src/systemctl-bash-completion.sh -@@ -15,6 +15,10 @@ - # You should have received a copy of the GNU General Public License - # along with systemd; If not, see . - -+__systemctl() { -+ systemctl --no-legend "$@" -+} -+ - __contains_word () { - local word=$1; shift - for w in $*; do [[ $w = $word ]] && return 0; done -@@ -24,7 +28,7 @@ __contains_word () { - __filter_units_by_property () { - local property=$1 value=$2 ; shift ; shift - local -a units=( $* ) -- local -a props=( $(systemctl show --property "$property" -- ${units[*]} | grep -v ^$) ) -+ local -a props=( $(__systemctl show --property "$property" -- ${units[*]} | grep -v ^$) ) - for ((i=0; $i < ${#units[*]}; i++)); do - if [[ "${props[i]}" = "$property=$value" ]]; then - echo "${units[i]}" -@@ -32,10 +36,10 @@ __filter_units_by_property () { - done - } - --__get_all_units () { systemctl list-units --full --all | awk ' {print $1}' ; } --__get_active_units () { systemctl list-units --full | awk ' {print $1}' ; } --__get_inactive_units () { systemctl list-units --full --all | awk '$3 == "inactive" {print $1}' ; } --__get_failed_units () { systemctl list-units --full | awk '$3 == "failed" {print $1}' ; } -+__get_all_units () { __systemctl list-units --full --all | awk ' {print $1}' ; } -+__get_active_units () { __systemctl list-units --full | awk ' {print $1}' ; } -+__get_inactive_units () { __systemctl list-units --full --all | awk '$3 == "inactive" {print $1}' ; } -+__get_failed_units () { __systemctl list-units --full | awk '$3 == "failed" {print $1}' ; } - - _systemctl () { - local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} -@@ -134,13 +138,13 @@ _systemctl () { - comps='' - - elif __contains_word "$verb" ${VERBS[JOBS]}; then -- comps=$( systemctl list-jobs | awk '{print $1}' ) -+ comps=$( __systemctl list-jobs | awk '{print $1}' ) - - elif __contains_word "$verb" ${VERBS[SNAPSHOTS]}; then -- comps=$( systemctl list-units --type snapshot --full --all | awk '{print $1}' ) -+ comps=$( __systemctl list-units --type snapshot --full --all | awk '{print $1}' ) - - elif __contains_word "$verb" ${VERBS[ENVS]}; then -- comps=$( systemctl show-environment | sed 's_\([^=]\+=\).*_\1_' ) -+ comps=$( __systemctl show-environment | sed 's_\([^=]\+=\).*_\1_' ) - compopt -o nospace - fi - --- -1.7.7 - -_______________________________________________ -systemd-devel mailing list -systemd-devel@lists.freedesktop.org -http://lists.freedesktop.org/mailman/listinfo/systemd-devel - diff --git a/systemd-37.tar.bz2 b/systemd-37.tar.bz2 deleted file mode 100644 index 6c1ba106..00000000 --- a/systemd-37.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b38492bde73649cc3520953354ef446c268169c1d342614183655e9ee1a1bbc5 -size 931101 diff --git a/systemd-39.tar.xz b/systemd-39.tar.xz new file mode 100644 index 00000000..f8b5c292 --- /dev/null +++ b/systemd-39.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd053f97ab0ed4261ec44f247ec582566319339f523dbe79b79c68cfe5ad677f +size 890892 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 6127a51d..32be4c38 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,74 @@ +------------------------------------------------------------------- +Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com + +- Update to version 39: + + New systemd-cgtop tool to show control groups by their resource + usage. + + Linking against libacl for ACLs is optional again. + + If a group "adm" exists, journal files are automatically owned + by them, thus allow members of this group full access to the + system journal as well as all user journals. + + The journal now stores the SELinux context of the logging + client for all entries. + + Add C++ inclusion guards to all public headers. + + New output mode "cat" in the journal to print only text + messages, without any meta data like date or time. + + Include tiny X server wrapper as a temporary stop-gap to teach + XOrg udev display enumeration (until XOrg supports udev + hotplugging for display devices). + + Add new systemd-cat tool for executing arbitrary programs with + STDERR/STDOUT connected to the journal. Can also act as BSD + logger replacement, and does so by default. + + Optionally store all locally generated coredumps in the journal + along with meta data. + + systemd-tmpfiles learnt four new commands: n, L, c, b, for + writing short strings to files (for usage for /sys), and for + creating symlinks, character and block device nodes. + + New unit file option ControlGroupPersistent= to make cgroups + persistent. + + Support multiple local RTCs in a sane way. + + No longer monopolize IO when replaying readahead data on + rotating disks. + + Don't show kernel threads in systemd-cgls anymore, unless + requested with new -k switch. +- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. +- Add fdupes to BuildRequires and use it at build time. + +------------------------------------------------------------------- +Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com + +- Make the systemd journal persistent by creating the + /var/log/journal directory + +------------------------------------------------------------------- +Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com + +- Update to version 38 : + - Bugfixes + - Implementation of a Journal Utility Library + - Implementation of a 128 Bit ID Utility Library +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure + syslog socket goes away early during shutdown. +- Add listen.conf for rsyslog. This will ensure that it will still + work fine with rsyslog and the new journal. + +------------------------------------------------------------------- +Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com + +- Add fix-is-enabled.patch: ensure systemctl is-enabled work + properly when systemd isn't running. +- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't + exist (bnc#733022, bnc#735047). +- Add sysctl-modules.patch: ensure sysctl is started after modules + are loaded (bnc#725412). +- Fix warning in insserv patch. +- Update avoid-random-seed-cycle.patch with better upstream + approach. +- Update storage-after-cryptsetup.patch to restart lvm before + local-fs.target, not after it (bnc#740106). +- Increase pam-config dependency (bnc#713319). + ------------------------------------------------------------------- Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 7db95558..4a146aeb 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-gtk # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,33 +15,39 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 37 -Release: 1 +Version: 39 +Release: 0 +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: audit-devel +BuildRequires: dbus-1-devel +BuildRequires: glib2-devel +BuildRequires: gperf +BuildRequires: gtk2-devel +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libcryptsetup-devel +BuildRequires: libgee-devel +BuildRequires: libnotify-devel +BuildRequires: libselinux-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: libudev-devel +BuildRequires: pam-devel +BuildRequires: pkg-config +BuildRequires: tcpd-devel +BuildRequires: udev +BuildRequires: xz +BuildRequires: xz-devel +Summary: Graphical front-end for systemd License: GPL-2.0+ Group: System/Base -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: libudev-devel udev -BuildRequires: dbus-1-devel -BuildRequires: audit-devel -BuildRequires: gperf -BuildRequires: libcap-devel -BuildRequires: libacl-devel -BuildRequires: libtool -BuildRequires: tcpd-devel -BuildRequires: pam-devel -BuildRequires: libcryptsetup-devel -BuildRequires: pkg-config -BuildRequires: libselinux-devel libsepol-devel -BuildRequires: intltool -BuildRequires: gtk2-devel libnotify-devel -Summary: Graphical front-end for systemd Requires: systemd = %{version} -Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.bz2 +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz Source1: systemd-rpmlintrc # Upstream First - Policy: @@ -64,7 +70,7 @@ export V=1 %configure \ --with-distro=suse \ --docdir=%{_docdir}/systemd \ - --with-rootdir= \ + --with-rootprefix= \ CFLAGS="%{optflags}" make %{?_smp_mflags} diff --git a/systemd.changes b/systemd.changes index 6127a51d..32be4c38 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,74 @@ +------------------------------------------------------------------- +Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com + +- Update to version 39: + + New systemd-cgtop tool to show control groups by their resource + usage. + + Linking against libacl for ACLs is optional again. + + If a group "adm" exists, journal files are automatically owned + by them, thus allow members of this group full access to the + system journal as well as all user journals. + + The journal now stores the SELinux context of the logging + client for all entries. + + Add C++ inclusion guards to all public headers. + + New output mode "cat" in the journal to print only text + messages, without any meta data like date or time. + + Include tiny X server wrapper as a temporary stop-gap to teach + XOrg udev display enumeration (until XOrg supports udev + hotplugging for display devices). + + Add new systemd-cat tool for executing arbitrary programs with + STDERR/STDOUT connected to the journal. Can also act as BSD + logger replacement, and does so by default. + + Optionally store all locally generated coredumps in the journal + along with meta data. + + systemd-tmpfiles learnt four new commands: n, L, c, b, for + writing short strings to files (for usage for /sys), and for + creating symlinks, character and block device nodes. + + New unit file option ControlGroupPersistent= to make cgroups + persistent. + + Support multiple local RTCs in a sane way. + + No longer monopolize IO when replaying readahead data on + rotating disks. + + Don't show kernel threads in systemd-cgls anymore, unless + requested with new -k switch. +- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. +- Add fdupes to BuildRequires and use it at build time. + +------------------------------------------------------------------- +Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com + +- Make the systemd journal persistent by creating the + /var/log/journal directory + +------------------------------------------------------------------- +Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com + +- Update to version 38 : + - Bugfixes + - Implementation of a Journal Utility Library + - Implementation of a 128 Bit ID Utility Library +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure + syslog socket goes away early during shutdown. +- Add listen.conf for rsyslog. This will ensure that it will still + work fine with rsyslog and the new journal. + +------------------------------------------------------------------- +Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com + +- Add fix-is-enabled.patch: ensure systemctl is-enabled work + properly when systemd isn't running. +- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't + exist (bnc#733022, bnc#735047). +- Add sysctl-modules.patch: ensure sysctl is started after modules + are loaded (bnc#725412). +- Fix warning in insserv patch. +- Update avoid-random-seed-cycle.patch with better upstream + approach. +- Update storage-after-cryptsetup.patch to restart lvm before + local-fs.target, not after it (bnc#740106). +- Increase pam-config dependency (bnc#713319). + ------------------------------------------------------------------- Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 733be9ee..39c85882 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild %define build_plymouth 0 @@ -23,35 +22,40 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 37 -Release: 1 +Version: 39 +Release: 0 +Summary: A System and Session Manager License: GPL-2.0+ Group: System/Base -Summary: A System and Session Manager BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: libudev-devel udev -BuildRequires: dbus-1-devel BuildRequires: audit-devel +BuildRequires: dbus-1-devel +BuildRequires: fdupes BuildRequires: gperf -BuildRequires: libcap-devel -BuildRequires: libacl-devel -BuildRequires: libtool -BuildRequires: tcpd-devel -BuildRequires: pam-devel -BuildRequires: libcryptsetup-devel -BuildRequires: pkg-config -BuildRequires: libselinux-devel libsepol-devel BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libcryptsetup-devel +BuildRequires: libselinux-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: libudev-devel +BuildRequires: pam-devel +BuildRequires: pkg-config +BuildRequires: tcpd-devel +BuildRequires: udev +BuildRequires: xz +BuildRequires: xz-devel Requires: udev >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: util-linux >= 2.19 -Requires: pam-config +Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding Recommends: dbus-1-python Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2 +Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert @@ -62,6 +66,8 @@ Source7: systemd-bootsplash Source8: bootsplash-startup.service Source9: bootsplash-quit.service Source10: bootsplash-shutdown.service +# Stop-gap, just to ensure things work fine with rsyslog without having to change the package right-away +Source11: listen.conf Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -71,27 +77,19 @@ Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch Patch15: support-sysvinit.patch Patch16: modules_on_boot.patch -Patch18: systemctl-completion-fix.patch Patch19: avoid-random-seed-cycle.patch Patch22: new-lsb-headers.patch Patch23: storage-after-cryptsetup.patch Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch Patch31: lock-opensuse.patch Patch33: crypt-loop-file.patch +Patch36: sysctl-modules.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -Patch20: crash-isolating.patch Patch21: no-tmpfs-fsck.patch -Patch25: cron-tty-pam.patch -Patch26: do_not_warn_pidfile.patch -Patch27: mount-swap-log.patch -Patch28: color-on-boot.patch -Patch29: log_on_close.patch -Patch30: handle-racy-daemon.patch -Patch32: garbage_collect_units.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -104,8 +102,8 @@ transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. %package devel -Group: Development/Libraries/C and C++ Summary: Development headers for systemd +Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: pkg-config @@ -114,6 +112,7 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools +Group: System/Base Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -126,6 +125,7 @@ Drop-in replacement of System V init tools. %package plymouth Summary: Plymouth support for systemd +Group: System/Base Requires: %{name} = %{version} Requires: plymouth @@ -142,22 +142,14 @@ Plymouth integration for systemd %patch13 -p1 %patch15 -p1 %patch16 -p1 -%patch18 -p1 %patch19 -p1 -%patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 %patch31 -p1 -%patch32 -p1 %patch33 -p1 +%patch36 -p1 %build autoreconf -fiv @@ -168,7 +160,8 @@ export V=1 %configure \ --with-distro=suse \ --docdir=%{_docdir}/systemd \ - --with-rootdir= \ + --with-rootprefix= \ + --with-pamlibdir=/%{_lib}/security \ --disable-gtk \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -231,10 +224,20 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/stoppreload.service ln -s /dev/null %{buildroot}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/lib/systemd/system/sysctl.service ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.service + +# Install rsyslog fragment +mkdir -p %{buildroot}%{_sysconfdir}/rsyslog.d/ +install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/rsyslog.d/ + +# Create the /var/log/journal directory to change the volatile journal to a persistent one +mkdir -p %{buildroot}/var/log/journal + %if %{build_plymouth} (cd %{buildroot} && find . -name '*plymouth*') > files.plymouth %endif +%fdupes $RPM_BUILD_ROOT + %post /usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : /sbin/ldconfig @@ -286,6 +289,7 @@ rm -rf %{buildroot} /bin/systemd /bin/systemctl /bin/systemd-notify +/bin/systemd-journalctl /bin/systemd-ask-password /bin/systemd-loginctl /bin/systemd-tty-ask-password-agent @@ -297,7 +301,11 @@ rm -rf %{buildroot} %{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* %{_bindir}/systemd-cgls +%{_bindir}/systemd-cgtop +%{_bindir}/systemd-cat /lib/systemd/systemd-* %dir /lib/systemd/system-shutdown %dir /lib/systemd/system.preset @@ -315,10 +323,13 @@ rm -rf %{buildroot} %dir /usr/lib/binfmt.d %dir %{_sysconfdir}/binfmt.d %dir /usr/lib/sysctl.d +/usr/lib/sysctl.d/coredump.conf %dir %{_sysconfdir}/sysctl.d +%dir %{_sysconfdir}/rsyslog.d /usr/lib/tmpfiles.d/*.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/systemd-logind.conf +%config(noreplace) %{_sysconfdir}/systemd/systemd-journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf @@ -326,6 +337,7 @@ rm -rf %{buildroot} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%config(noreplace) %{_sysconfdir}/rsyslog.d/listen.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml @@ -370,22 +382,30 @@ rm -rf %{buildroot} /usr/lib/systemd/user %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/bash_completion.d -/etc/bash_completion.d/systemctl-bash-completion.sh +/etc/bash_completion.d/systemd-bash-completion.sh /etc/rpm/macros.systemd %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated +%dir /var/log/journal %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so +%{_libdir}/libsystemd-id128.so +%{_libdir}/libsystemd-journal.so %dir %{_includedir}/systemd %{_includedir}/systemd/sd-login.h %{_includedir}/systemd/sd-daemon.h +%{_includedir}/systemd/sd-id128.h +%{_includedir}/systemd/sd-journal.h +%{_includedir}/systemd/sd-messages.h %{_datadir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc +%{_libdir}/pkgconfig/libsystemd-id128.pc +%{_libdir}/pkgconfig/libsystemd-journal.pc %if %{build_plymouth} From 6604e39280ba967c4b8a00c9d317b5c643bbbd815f578d0336de28fe8ea059df Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 3 Feb 2012 09:26:59 +0000 Subject: [PATCH 084/991] Accepting request 102201 from Base:System - Ensure systemd show service status when started behind bootsplash (bnc#736225). - Disable core dump redirection to journal, not stable atm. - Update modules_on_boot.patch to not cause failed state for systemd-modules-load.service (bnc#741481). OBS-URL: https://build.opensuse.org/request/show/102201 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=86 --- bootsplash-quit.service | 1 + bootsplash-shutdown.service | 1 + bootsplash-startup.service | 1 + modules_on_boot.patch | 11 ++++++----- systemd-gtk.changes | 13 +++++++++++++ systemd.changes | 13 +++++++++++++ systemd.spec | 7 ++++++- 7 files changed, 41 insertions(+), 6 deletions(-) diff --git a/bootsplash-quit.service b/bootsplash-quit.service index 272deb89..2cbdf369 100644 --- a/bootsplash-quit.service +++ b/bootsplash-quit.service @@ -9,5 +9,6 @@ ConditionKernelCommandLine=vga [Service] ExecStart=/lib/systemd/systemd-bootsplash 5 +ExecStartPost=-/bin/kill -SIGRTMIN+21 1 Type=oneshot RemainAfterExit=true diff --git a/bootsplash-shutdown.service b/bootsplash-shutdown.service index 76d4344c..c1d4ed01 100644 --- a/bootsplash-shutdown.service +++ b/bootsplash-shutdown.service @@ -5,6 +5,7 @@ DefaultDependencies=no ConditionKernelCommandLine=splash=silent [Service] +ExecStartPre=-/bin/kill -SIGRTMIN+20 1 ExecStart=/lib/systemd/systemd-bootsplash 0 Type=oneshot RemainAfterExit=true diff --git a/bootsplash-startup.service b/bootsplash-startup.service index 9f70d06b..465b8bba 100644 --- a/bootsplash-startup.service +++ b/bootsplash-startup.service @@ -5,6 +5,7 @@ ConditionKernelCommandLine=splash=silent ConditionKernelCommandLine=vga [Service] +ExecStartPre=-/bin/kill -SIGRTMIN+20 1 ExecStart=/lib/systemd/systemd-bootsplash 0 Type=oneshot RemainAfterExit=true diff --git a/modules_on_boot.patch b/modules_on_boot.patch index 5158a716..9638b27c 100644 --- a/modules_on_boot.patch +++ b/modules_on_boot.patch @@ -21,7 +21,7 @@ Index: systemd-37/src/modules-load.c if (argc > 1) { log_error("This program takes no argument."); -@@ -126,6 +129,42 @@ int main(int argc, char *argv[]) { +@@ -126,6 +129,43 @@ int main(int argc, char *argv[]) { } strv_free(files); @@ -29,9 +29,10 @@ Index: systemd-37/src/modules-load.c + if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, + "MODULES_LOADED_ON_BOOT", &modules_on_boot, + NULL)) < 0) { -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); -+ } ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); ++ } else ++ r = EXIT_SUCCESS; + if (modules_on_boot) { + char **modules = strv_split(modules_on_boot,WHITESPACE); + char **module; @@ -64,7 +65,7 @@ Index: systemd-37/src/modules-load.c finish: if (n_arguments > 3) { -@@ -138,6 +177,9 @@ finish: +@@ -138,6 +178,9 @@ finish: } strv_free(arguments); diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 32be4c38..6929b332 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com + +- Ensure systemd show service status when started behind bootsplash + (bnc#736225). +- Disable core dump redirection to journal, not stable atm. + +------------------------------------------------------------------- +Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com + +- Update modules_on_boot.patch to not cause failed state for + systemd-modules-load.service (bnc#741481). + ------------------------------------------------------------------- Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 32be4c38..6929b332 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com + +- Ensure systemd show service status when started behind bootsplash + (bnc#736225). +- Disable core dump redirection to journal, not stable atm. + +------------------------------------------------------------------- +Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com + +- Update modules_on_boot.patch to not cause failed state for + systemd-modules-load.service (bnc#741481). + ------------------------------------------------------------------- Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 39c85882..1aba2128 100644 --- a/systemd.spec +++ b/systemd.spec @@ -225,6 +225,12 @@ ln -s /dev/null %{buildroot}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/lib/systemd/system/sysctl.service ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.service +# To avoid making life hard for Factory developers, don't package the +# kernel.core_pattern setting until systemd-coredump is a part of an actual +# systemd release and it's made clear how to get the core dumps out of the +# journal. +rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf + # Install rsyslog fragment mkdir -p %{buildroot}%{_sysconfdir}/rsyslog.d/ install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/rsyslog.d/ @@ -323,7 +329,6 @@ rm -rf %{buildroot} %dir /usr/lib/binfmt.d %dir %{_sysconfdir}/binfmt.d %dir /usr/lib/sysctl.d -/usr/lib/sysctl.d/coredump.conf %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/rsyslog.d /usr/lib/tmpfiles.d/*.conf From 6974c336927ff68cce6accfb08da425f411e1e91b3747f50b644fb25c0f3ec47 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 10 Feb 2012 16:20:20 +0000 Subject: [PATCH 085/991] Accepting request 103083 from Base:System - Update to version 40: + reason why a service failed is now exposed in the"Result" D-Bus property. + Rudimentary service watchdog support (not complete) + Improve bootcharts, by immediatly changing argv[0] after forking to to reflect which process will be executed. + Various bug fixes. - Add remote-fs-after-network.patch and update insserv patch: ensure remote-fs-pre.target is enabled and started before network mount points (bnc#744293). - Ensure journald doesn't prevent syslogs to read from /proc/kmsg. OBS-URL: https://build.opensuse.org/request/show/103083 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=87 --- ...ndencies-added-when-parsing-insserv..patch | 18 ++++- bootsplash-quit.service | 1 + bootsplash-shutdown.service | 2 + bootsplash-startup.service | 1 + remote-fs-after-network.patch | 74 +++++++++++++++++++ systemd-39.tar.xz | 3 - systemd-40.tar.xz | 3 + systemd-gtk.changes | 15 ++++ systemd-gtk.spec | 2 +- systemd.changes | 15 ++++ systemd.spec | 7 +- 11 files changed, 132 insertions(+), 9 deletions(-) create mode 100644 remote-fs-after-network.patch delete mode 100644 systemd-39.tar.xz create mode 100644 systemd-40.tar.xz diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch index fd4b2219..1a1ef4da 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -7,13 +7,23 @@ Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf src/service.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) -Index: systemd-39/src/service.c +Index: systemd-40/src/service.c =================================================================== ---- systemd-39.orig/src/service.c -+++ systemd-39/src/service.c -@@ -3111,22 +3111,22 @@ static void sysv_facility_in_insserv_con +--- systemd-40.orig/src/service.c ++++ systemd-40/src/service.c +@@ -3162,23 +3162,32 @@ static void sysv_facility_in_insserv_con + Unit *u; if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) continue; ++ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { ++ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ ++ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); ++ unit_add_dependency_by_name(u, UNIT_WANTS, ++ SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); ++ free (facility); ++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ } ++ if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { - UnitDependency e; char *dep = NULL, *name, **j; diff --git a/bootsplash-quit.service b/bootsplash-quit.service index 2cbdf369..6fd9b0a1 100644 --- a/bootsplash-quit.service +++ b/bootsplash-quit.service @@ -4,6 +4,7 @@ After=xdm.service rc-local.service bootsplash-startup.service Before=getty@tty1.service DefaultDependencies=no Names=plymouth-quit-wait.service +ConditionFileIsExecutable=/sbin/splash ConditionKernelCommandLine=splash=silent ConditionKernelCommandLine=vga diff --git a/bootsplash-shutdown.service b/bootsplash-shutdown.service index c1d4ed01..a1a483ec 100644 --- a/bootsplash-shutdown.service +++ b/bootsplash-shutdown.service @@ -2,7 +2,9 @@ Description=Start bootsplash for shutdown/reboot Before=shutdown.service halt.service DefaultDependencies=no +ConditionFileIsExecutable=/sbin/splash ConditionKernelCommandLine=splash=silent +ConditionKernelCommandLine=vga [Service] ExecStartPre=-/bin/kill -SIGRTMIN+20 1 diff --git a/bootsplash-startup.service b/bootsplash-startup.service index 465b8bba..9d94d9ff 100644 --- a/bootsplash-startup.service +++ b/bootsplash-startup.service @@ -1,6 +1,7 @@ [Unit] Description=Start bootsplash DefaultDependencies=no +ConditionFileIsExecutable=/sbin/splash ConditionKernelCommandLine=splash=silent ConditionKernelCommandLine=vga diff --git a/remote-fs-after-network.patch b/remote-fs-after-network.patch new file mode 100644 index 00000000..e3cbb521 --- /dev/null +++ b/remote-fs-after-network.patch @@ -0,0 +1,74 @@ +From db1355b1c181a4b1ac277064918d7c794dfb6edd Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 7 Feb 2012 11:05:18 +0100 +Subject: [PATCH] mount: adjust dependencies for remote filesystems + +Currently remote mounts automatically get: + After=remote-fs-pre.target network.target + +remote-fs-pre.target is already After=network.target. Just make sure +remote-fs-pre.target is pulled in by remote-fs.target if any remote +filesystems are configured. +For the mount units it is then sufficient to get: + After=remote-fs-pre.target + +Later NetworkManager will hook its NM-wait-online.service into +remote-fs-pre.target.wants in order to remove the need for the administrator +to enable the service manually when he has any remote filesystems. + +https://bugzilla.redhat.com/show_bug.cgi?id=787314 +--- + src/mount.c | 20 ++++++++++++-------- + 1 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/src/mount.c b/src/mount.c +index 3411b73..0ae964b 100644 +--- a/src/mount.c ++++ b/src/mount.c +@@ -320,7 +320,7 @@ static bool needs_quota(MountParameters *p) { + } + + static int mount_add_fstab_links(Mount *m) { +- const char *target, *after = NULL, *after2 = NULL; ++ const char *target, *after, *tu_wants = NULL; + MountParameters *p; + Unit *tu; + int r; +@@ -350,23 +350,27 @@ static int mount_add_fstab_links(Mount *m) { + + if (mount_is_network(p)) { + target = SPECIAL_REMOTE_FS_TARGET; +- after = SPECIAL_REMOTE_FS_PRE_TARGET; +- after2 = SPECIAL_NETWORK_TARGET; ++ after = tu_wants = SPECIAL_REMOTE_FS_PRE_TARGET; + } else { + target = SPECIAL_LOCAL_FS_TARGET; + after = SPECIAL_LOCAL_FS_PRE_TARGET; + } + +- if ((r = manager_load_unit(UNIT(m)->manager, target, NULL, NULL, &tu)) < 0) ++ r = manager_load_unit(UNIT(m)->manager, target, NULL, NULL, &tu); ++ if (r < 0) + return r; + +- if (after) +- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true)) < 0) ++ if (tu_wants) { ++ r = unit_add_dependency_by_name(tu, UNIT_WANTS, tu_wants, NULL, true); ++ if (r < 0) + return r; ++ } + +- if (after2) +- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true)) < 0) ++ if (after) { ++ r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true); ++ if (r < 0) + return r; ++ } + + if (automount) { + Unit *am; +-- +1.7.7 + diff --git a/systemd-39.tar.xz b/systemd-39.tar.xz deleted file mode 100644 index f8b5c292..00000000 --- a/systemd-39.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd053f97ab0ed4261ec44f247ec582566319339f523dbe79b79c68cfe5ad677f -size 890892 diff --git a/systemd-40.tar.xz b/systemd-40.tar.xz new file mode 100644 index 00000000..670d6da4 --- /dev/null +++ b/systemd-40.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f0c04e45e593c0903698f3ab3eb3e565d68de26a91858c470675a090a05cab5 +size 896004 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 6929b332..07d5a062 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com + +- Update to version 40: + + reason why a service failed is now exposed in the"Result" D-Bus + property. + + Rudimentary service watchdog support (not complete) + + Improve bootcharts, by immediatly changing argv[0] after + forking to to reflect which process will be executed. + + Various bug fixes. +- Add remote-fs-after-network.patch and update insserv patch: + ensure remote-fs-pre.target is enabled and started before network + mount points (bnc#744293). +- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. + ------------------------------------------------------------------- Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 4a146aeb..6adbdc19 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -19,7 +19,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 39 +Version: 40 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd.changes b/systemd.changes index 6929b332..07d5a062 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com + +- Update to version 40: + + reason why a service failed is now exposed in the"Result" D-Bus + property. + + Rudimentary service watchdog support (not complete) + + Improve bootcharts, by immediatly changing argv[0] after + forking to to reflect which process will be executed. + + Various bug fixes. +- Add remote-fs-after-network.patch and update insserv patch: + ensure remote-fs-pre.target is enabled and started before network + mount points (bnc#744293). +- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. + ------------------------------------------------------------------- Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 1aba2128..39a8f560 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 39 +Version: 40 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -90,6 +90,7 @@ Patch36: sysctl-modules.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch21: no-tmpfs-fsck.patch +Patch37: remote-fs-after-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -150,6 +151,7 @@ Plymouth integration for systemd %patch31 -p1 %patch33 -p1 %patch36 -p1 +%patch37 -p1 %build autoreconf -fiv @@ -231,6 +233,9 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf +# Let rsyslog read from /proc/kmsg for now +sed -i -e 's/\#ImportKernel=yes/ImportKernel=no/' %{buildroot}%{_sysconfdir}/systemd/systemd-journald.conf + # Install rsyslog fragment mkdir -p %{buildroot}%{_sysconfdir}/rsyslog.d/ install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/rsyslog.d/ From 4980fb3c01b18d2c0fece96d841bbb2f61f182591eedd600c32b5d877f630989 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 16 Feb 2012 15:24:03 +0000 Subject: [PATCH 086/991] Accepting request 104941 from Base:System - Update to version 42: + Various bug fixes + Watchdog support for supervising services is now usable + Service start rate limiting is now configurable and can be turned off per service. + New CanReboot(), CanPowerOff() bus calls in systemd-logind - Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, is-enabled-non-existing-service.patch (merged upstream) - Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for manpage generation - Update to version 41: + systemd binary is now installed in /lib/systemd (symlink for /bin/systemd is available now) + kernel modules are now loaded through libkmod + Watchdog support is now useful (not complete) + new kernel command line available to set system wide environment variable: systemd.setenv + journald capabilities set is now limited + SIGPIPE is ignored by default. This can be disabled with IgnoreSIGPIPE=no in unit files. - Add fix-kmod-build.patch: fix build with libkmod - Drop remote-fs-after-network.patch (merged upstream) - Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm /dmraid is started before mounting partitions, if fsck was disabled for them (bnc#733283). - Update lsb-header patch to correctly disable heuristic if X-Systemd-RemainAfterExit is specified (whatever its value) - Add fix-message-after-chkconfig.patch: don't complain if only sysv services are called in systemctl. OBS-URL: https://build.opensuse.org/request/show/104941 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=88 --- ...ndencies-added-when-parsing-insserv..patch | 12 ++- ...sv-service-with-detected-pid-as-Rema.patch | 15 ++-- dm-lvm-after-local-fs-pre-target.patch | 9 +++ modules_on_boot.patch | 75 ++++++++++--------- new-lsb-headers.patch | 37 ++++++--- remote-fs-after-network.patch | 74 ------------------ systemd-40.tar.xz | 3 - systemd-42.tar.xz | 3 + systemd-gtk.changes | 39 ++++++++++ systemd-gtk.spec | 3 +- systemd.changes | 39 ++++++++++ systemd.spec | 14 +++- 12 files changed, 176 insertions(+), 147 deletions(-) create mode 100644 dm-lvm-after-local-fs-pre-target.patch delete mode 100644 remote-fs-after-network.patch delete mode 100644 systemd-40.tar.xz create mode 100644 systemd-42.tar.xz diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch index 1a1ef4da..67197942 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -7,23 +7,21 @@ Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf src/service.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) -Index: systemd-40/src/service.c +Index: systemd-41/src/service.c =================================================================== ---- systemd-40.orig/src/service.c -+++ systemd-40/src/service.c -@@ -3162,23 +3162,32 @@ static void sysv_facility_in_insserv_con +--- systemd-41.orig/src/service.c ++++ systemd-41/src/service.c +@@ -3210,23 +3210,30 @@ static void sysv_facility_in_insserv_con Unit *u; if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) continue; + if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { + /* insert also a Wants dependency from remote-fs-pre on remote-fs */ + u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); -+ unit_add_dependency_by_name(u, UNIT_WANTS, -+ SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); ++ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); + free (facility); + facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); + } -+ if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { - UnitDependency e; char *dep = NULL, *name, **j; diff --git a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch index a71df5c4..3f1770f1 100644 --- a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +++ b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch @@ -12,15 +12,13 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/service.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) -diff --git a/src/service.c b/src/service.c -index 6b7064a..eb2699c 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -2012,9 +2012,15 @@ static void service_enter_running(Service *s, bool success) { - main_pid_ok = main_pid_good(s); +Index: systemd-37/src/service.c +=================================================================== +--- systemd-37.orig/src/service.c ++++ systemd-37/src/service.c +@@ -2014,8 +2014,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); -+ if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && - (s->bus_name_good || s->type != SERVICE_DBUS)) + (s->bus_name_good || s->type != SERVICE_DBUS)) { @@ -33,6 +31,3 @@ index 6b7064a..eb2699c 100644 else if (s->remain_after_exit) service_set_state(s, SERVICE_EXITED); else --- -1.7.3.4 - diff --git a/dm-lvm-after-local-fs-pre-target.patch b/dm-lvm-after-local-fs-pre-target.patch new file mode 100644 index 00000000..2e4c0463 --- /dev/null +++ b/dm-lvm-after-local-fs-pre-target.patch @@ -0,0 +1,9 @@ +Index: systemd-37/units/local-fs-pre.target +=================================================================== +--- systemd-37.orig/units/local-fs-pre.target ++++ systemd-37/units/local-fs-pre.target +@@ -9,3 +9,4 @@ + + [Unit] + Description=Local File Systems (Pre) ++After=md.service lvm.service dmraid.service diff --git a/modules_on_boot.patch b/modules_on_boot.patch index 9638b27c..739c2f92 100644 --- a/modules_on_boot.patch +++ b/modules_on_boot.patch @@ -7,25 +7,26 @@ Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) -Index: systemd-37/src/modules-load.c +Index: systemd-41/src/modules-load.c =================================================================== ---- systemd-37.orig/src/modules-load.c -+++ systemd-37/src/modules-load.c -@@ -36,6 +36,9 @@ int main(int argc, char *argv[]) { - char **arguments = NULL; - unsigned n_arguments = 0, n_allocated = 0; +--- systemd-41.orig/src/modules-load.c ++++ systemd-41/src/modules-load.c +@@ -44,6 +44,9 @@ static void systemd_kmod_log(void *data, + int main(int argc, char *argv[]) { + int r = EXIT_FAILURE; char **files, **fn; +#if defined(TARGET_SUSE) + char *modules_on_boot = NULL; +#endif + struct kmod_ctx *ctx; + const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST|KMOD_PROBE_IGNORE_LOADED; - if (argc > 1) { - log_error("This program takes no argument."); -@@ -126,6 +129,43 @@ int main(int argc, char *argv[]) { +@@ -141,9 +144,58 @@ int main(int argc, char *argv[]) { + + fclose(f); } - - strv_free(files); +#if defined(TARGET_SUSE) ++ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); + if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, + "MODULES_LOADED_ON_BOOT", &modules_on_boot, + NULL)) < 0) { @@ -36,49 +37,53 @@ Index: systemd-37/src/modules-load.c + if (modules_on_boot) { + char **modules = strv_split(modules_on_boot,WHITESPACE); + char **module; ++ struct kmod_list *itr, *modlist = NULL; ++ int err; ++ + if (modules) { + STRV_FOREACH(module, modules) { -+ if (n_arguments >= n_allocated) { -+ char **a; -+ unsigned m; ++ err = kmod_module_new_from_lookup(ctx, *module, &modlist); ++ if (err < 0) { ++ log_error("Failed to lookup alias '%s'", *module); ++ r = EXIT_FAILURE; ++ continue; ++ } ++ kmod_list_foreach(itr, modlist) { ++ struct kmod_module *mod = kmod_module_get_module(itr); ++ err = kmod_module_probe_insert_module(mod, probe_flags, ++ NULL, NULL, NULL, NULL); + -+ m = MAX(16U, n_arguments*2); -+ -+ if (!(a = realloc(arguments, sizeof(char*) * (m+1)))) { -+ log_error("Failed to increase module array size."); -+ free(*module); ++ if (err == 0) ++ log_info("Inserted module '%s'", kmod_module_get_name(mod)); ++ else if (err == KMOD_PROBE_APPLY_BLACKLIST) ++ log_info("Module '%s' is blacklisted", kmod_module_get_name(mod)); ++ else { ++ log_error("Failed to insert '%s': %s", kmod_module_get_name(mod), ++ strerror(-err)); + r = EXIT_FAILURE; -+ continue; + } + -+ arguments = a; -+ n_allocated = m; ++ kmod_module_unref(mod); + } -+ log_debug("adding module: %s\n", *module); -+ arguments[n_arguments++] = strdup(*module); + ++ kmod_module_unref_list(modlist); + } + } + strv_free(modules); + } +#endif -+ finish: - - if (n_arguments > 3) { -@@ -138,6 +178,9 @@ finish: - } - - strv_free(arguments); + strv_free(files); +#if defined(TARGET_SUSE) + free(modules_on_boot); +#endif + kmod_unref(ctx); return r; - } -Index: systemd-37/units/systemd-modules-load.service.in +Index: systemd-41/units/systemd-modules-load.service.in =================================================================== ---- systemd-37.orig/units/systemd-modules-load.service.in -+++ systemd-37/units/systemd-modules-load.service.in +--- systemd-41.orig/units/systemd-modules-load.service.in ++++ systemd-41/units/systemd-modules-load.service.in @@ -11,6 +11,7 @@ DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service diff --git a/new-lsb-headers.patch b/new-lsb-headers.patch index 7565c00f..fbf46ede 100644 --- a/new-lsb-headers.patch +++ b/new-lsb-headers.patch @@ -1,8 +1,8 @@ -Index: systemd-37/src/service.c +Index: systemd-41/src/service.c =================================================================== ---- systemd-37.orig/src/service.c -+++ systemd-37/src/service.c -@@ -116,6 +116,7 @@ static void service_init(Unit *u) { +--- systemd-41.orig/src/service.c ++++ systemd-41/src/service.c +@@ -119,6 +119,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; s->sysv_start_priority_from_rcnd = -1; @@ -10,7 +10,7 @@ Index: systemd-37/src/service.c #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -805,6 +806,31 @@ static int service_load_sysv_path(Servic +@@ -861,6 +862,34 @@ static int service_load_sysv_path(Servic } else state = LSB; @@ -33,16 +33,29 @@ Index: systemd-37/src/service.c + free(s->pid_file); + s->pid_file = fn; + s->sysv_remain_after_exit_heuristic = false; ++ s->remain_after_exit = false; + } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { + char *j; + + state = LSB; -+ if ((j = strstrip(t+26)) && *j) -+ s->sysv_remain_after_exit_heuristic = !parse_boolean(j); ++ if ((j = strstrip(t+26)) && *j) { ++ s->remain_after_exit = parse_boolean(j); ++ s->sysv_remain_after_exit_heuristic = false; ++ } } } } -@@ -2017,7 +2043,7 @@ static void service_enter_running(Servic +@@ -891,7 +920,8 @@ static int service_load_sysv_path(Servic + + /* Special setting for all SysV services */ + s->type = SERVICE_FORKING; +- s->remain_after_exit = !s->pid_file; ++ if (s->sysv_remain_after_exit_heuristic) ++ s->remain_after_exit = !s->pid_file; + s->guess_main_pid = false; + s->restart = SERVICE_RESTART_NO; + s->exec_context.ignore_sigpipe = false; +@@ -2030,7 +2060,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -51,11 +64,11 @@ Index: systemd-37/src/service.c s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -Index: systemd-37/src/service.h +Index: systemd-41/src/service.h =================================================================== ---- systemd-37.orig/src/service.h -+++ systemd-37/src/service.h -@@ -139,6 +139,7 @@ struct Service { +--- systemd-41.orig/src/service.h ++++ systemd-41/src/service.h +@@ -157,6 +157,7 @@ struct Service { #ifdef HAVE_SYSV_COMPAT bool sysv_has_lsb:1; bool sysv_enabled:1; diff --git a/remote-fs-after-network.patch b/remote-fs-after-network.patch deleted file mode 100644 index e3cbb521..00000000 --- a/remote-fs-after-network.patch +++ /dev/null @@ -1,74 +0,0 @@ -From db1355b1c181a4b1ac277064918d7c794dfb6edd Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 7 Feb 2012 11:05:18 +0100 -Subject: [PATCH] mount: adjust dependencies for remote filesystems - -Currently remote mounts automatically get: - After=remote-fs-pre.target network.target - -remote-fs-pre.target is already After=network.target. Just make sure -remote-fs-pre.target is pulled in by remote-fs.target if any remote -filesystems are configured. -For the mount units it is then sufficient to get: - After=remote-fs-pre.target - -Later NetworkManager will hook its NM-wait-online.service into -remote-fs-pre.target.wants in order to remove the need for the administrator -to enable the service manually when he has any remote filesystems. - -https://bugzilla.redhat.com/show_bug.cgi?id=787314 ---- - src/mount.c | 20 ++++++++++++-------- - 1 files changed, 12 insertions(+), 8 deletions(-) - -diff --git a/src/mount.c b/src/mount.c -index 3411b73..0ae964b 100644 ---- a/src/mount.c -+++ b/src/mount.c -@@ -320,7 +320,7 @@ static bool needs_quota(MountParameters *p) { - } - - static int mount_add_fstab_links(Mount *m) { -- const char *target, *after = NULL, *after2 = NULL; -+ const char *target, *after, *tu_wants = NULL; - MountParameters *p; - Unit *tu; - int r; -@@ -350,23 +350,27 @@ static int mount_add_fstab_links(Mount *m) { - - if (mount_is_network(p)) { - target = SPECIAL_REMOTE_FS_TARGET; -- after = SPECIAL_REMOTE_FS_PRE_TARGET; -- after2 = SPECIAL_NETWORK_TARGET; -+ after = tu_wants = SPECIAL_REMOTE_FS_PRE_TARGET; - } else { - target = SPECIAL_LOCAL_FS_TARGET; - after = SPECIAL_LOCAL_FS_PRE_TARGET; - } - -- if ((r = manager_load_unit(UNIT(m)->manager, target, NULL, NULL, &tu)) < 0) -+ r = manager_load_unit(UNIT(m)->manager, target, NULL, NULL, &tu); -+ if (r < 0) - return r; - -- if (after) -- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true)) < 0) -+ if (tu_wants) { -+ r = unit_add_dependency_by_name(tu, UNIT_WANTS, tu_wants, NULL, true); -+ if (r < 0) - return r; -+ } - -- if (after2) -- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true)) < 0) -+ if (after) { -+ r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true); -+ if (r < 0) - return r; -+ } - - if (automount) { - Unit *am; --- -1.7.7 - diff --git a/systemd-40.tar.xz b/systemd-40.tar.xz deleted file mode 100644 index 670d6da4..00000000 --- a/systemd-40.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f0c04e45e593c0903698f3ab3eb3e565d68de26a91858c470675a090a05cab5 -size 896004 diff --git a/systemd-42.tar.xz b/systemd-42.tar.xz new file mode 100644 index 00000000..b54e5fff --- /dev/null +++ b/systemd-42.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dc107d488d823eb2203b6f1567096749ea37c1cf9022a6b0507ec07691e0ec2 +size 854808 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 07d5a062..e1d0ade6 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com + +- Update to version 42: + + Various bug fixes + + Watchdog support for supervising services is now usable + + Service start rate limiting is now configurable and can be + turned off per service. + + New CanReboot(), CanPowerOff() bus calls in systemd-logind +- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, + is-enabled-non-existing-service.patch (merged upstream) +- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for + manpage generation + +------------------------------------------------------------------- +Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com + +- Update to version 41: + + systemd binary is now installed in /lib/systemd (symlink for + /bin/systemd is available now) + + kernel modules are now loaded through libkmod + + Watchdog support is now useful (not complete) + + new kernel command line available to set system wide + environment variable: systemd.setenv + + journald capabilities set is now limited + + SIGPIPE is ignored by default. This can be disabled with + IgnoreSIGPIPE=no in unit files. +- Add fix-kmod-build.patch: fix build with libkmod +- Drop remote-fs-after-network.patch (merged upstream) +- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm + /dmraid is started before mounting partitions, if fsck was + disabled for them (bnc#733283). +- Update lsb-header patch to correctly disable heuristic if + X-Systemd-RemainAfterExit is specified (whatever its value) +- Add fix-message-after-chkconfig.patch: don't complain if only + sysv services are called in systemctl. +- Add is-enabled-non-existing-service.patch: fix error message when + running is-enabled on non-existing service. + ------------------------------------------------------------------- Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 6adbdc19..217ce042 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -16,10 +16,9 @@ # - Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 40 +Version: 42 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd.changes b/systemd.changes index 07d5a062..e1d0ade6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com + +- Update to version 42: + + Various bug fixes + + Watchdog support for supervising services is now usable + + Service start rate limiting is now configurable and can be + turned off per service. + + New CanReboot(), CanPowerOff() bus calls in systemd-logind +- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, + is-enabled-non-existing-service.patch (merged upstream) +- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for + manpage generation + +------------------------------------------------------------------- +Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com + +- Update to version 41: + + systemd binary is now installed in /lib/systemd (symlink for + /bin/systemd is available now) + + kernel modules are now loaded through libkmod + + Watchdog support is now useful (not complete) + + new kernel command line available to set system wide + environment variable: systemd.setenv + + journald capabilities set is now limited + + SIGPIPE is ignored by default. This can be disabled with + IgnoreSIGPIPE=no in unit files. +- Add fix-kmod-build.patch: fix build with libkmod +- Drop remote-fs-after-network.patch (merged upstream) +- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm + /dmraid is started before mounting partitions, if fsck was + disabled for them (bnc#733283). +- Update lsb-header patch to correctly disable heuristic if + X-Systemd-RemainAfterExit is specified (whatever its value) +- Add fix-message-after-chkconfig.patch: don't complain if only + sysv services are called in systemctl. +- Add is-enabled-non-existing-service.patch: fix error message when + running is-enabled on non-existing service. + ------------------------------------------------------------------- Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 39a8f560..2d84f46e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 40 +Version: 42 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -30,16 +30,19 @@ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel BuildRequires: dbus-1-devel +BuildRequires: docbook-xsl-stylesheets BuildRequires: fdupes BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libcryptsetup-devel +BuildRequires: libkmod-devel BuildRequires: libselinux-devel BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: libudev-devel +BuildRequires: libxslt1 BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: tcpd-devel @@ -84,13 +87,13 @@ Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch Patch31: lock-opensuse.patch Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch +Patch38: dm-lvm-after-local-fs-pre-target.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch21: no-tmpfs-fsck.patch -Patch37: remote-fs-after-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -151,7 +154,7 @@ Plymouth integration for systemd %patch31 -p1 %patch33 -p1 %patch36 -p1 -%patch37 -p1 +%patch38 -p1 %build autoreconf -fiv @@ -164,6 +167,7 @@ export V=1 --docdir=%{_docdir}/systemd \ --with-rootprefix= \ --with-pamlibdir=/%{_lib}/security \ + --enable-split-usr \ --disable-gtk \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -189,7 +193,8 @@ ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target ln -s ../bootsplash-quit.service %{buildroot}/lib/systemd/system/multi-user.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/shutdown.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/reboot.target.wants/ -ln -s ../bin/systemd %{buildroot}/sbin/init +ln -s ../lib/systemd/systemd %{buildroot}/bin/systemd +ln -s ../lib/systemd/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt ln -s ../bin/systemctl %{buildroot}/sbin/shutdown @@ -388,6 +393,7 @@ rm -rf %{buildroot} %dir /lib/systemd /lib/systemd/system /lib/systemd/system-generators +/lib/systemd/systemd %dir /usr/lib/systemd /usr/lib/systemd/user %dir %{_sysconfdir}/systemd From 996a97b28d4091ad660b6330439dece5d14b43d5e13049e268f68689fc2c802b Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 21 Feb 2012 06:32:50 +0000 Subject: [PATCH 087/991] Accepting request 106010 from Base:System - Use pkgconfig symbols for BuildRequires and specify version - Add missing kmod BuildRequires for systemd-gtk (forwarded request 105839 from jengelh) OBS-URL: https://build.opensuse.org/request/show/106010 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=89 --- bootsplash-quit.service | 15 ------------ bootsplash-shutdown.service | 13 ----------- bootsplash-startup.service | 12 ---------- systemd-bootsplash | 21 ----------------- systemd-gtk.changes | 6 +++++ systemd-gtk.spec | 23 ++++++++++--------- systemd.changes | 12 ++++++++++ systemd.spec | 46 ++++++++----------------------------- 8 files changed, 39 insertions(+), 109 deletions(-) delete mode 100644 bootsplash-quit.service delete mode 100644 bootsplash-shutdown.service delete mode 100644 bootsplash-startup.service delete mode 100644 systemd-bootsplash diff --git a/bootsplash-quit.service b/bootsplash-quit.service deleted file mode 100644 index 6fd9b0a1..00000000 --- a/bootsplash-quit.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Terminate bootsplash -After=xdm.service rc-local.service bootsplash-startup.service -Before=getty@tty1.service -DefaultDependencies=no -Names=plymouth-quit-wait.service -ConditionFileIsExecutable=/sbin/splash -ConditionKernelCommandLine=splash=silent -ConditionKernelCommandLine=vga - -[Service] -ExecStart=/lib/systemd/systemd-bootsplash 5 -ExecStartPost=-/bin/kill -SIGRTMIN+21 1 -Type=oneshot -RemainAfterExit=true diff --git a/bootsplash-shutdown.service b/bootsplash-shutdown.service deleted file mode 100644 index a1a483ec..00000000 --- a/bootsplash-shutdown.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Start bootsplash for shutdown/reboot -Before=shutdown.service halt.service -DefaultDependencies=no -ConditionFileIsExecutable=/sbin/splash -ConditionKernelCommandLine=splash=silent -ConditionKernelCommandLine=vga - -[Service] -ExecStartPre=-/bin/kill -SIGRTMIN+20 1 -ExecStart=/lib/systemd/systemd-bootsplash 0 -Type=oneshot -RemainAfterExit=true diff --git a/bootsplash-startup.service b/bootsplash-startup.service deleted file mode 100644 index 9d94d9ff..00000000 --- a/bootsplash-startup.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Start bootsplash -DefaultDependencies=no -ConditionFileIsExecutable=/sbin/splash -ConditionKernelCommandLine=splash=silent -ConditionKernelCommandLine=vga - -[Service] -ExecStartPre=-/bin/kill -SIGRTMIN+20 1 -ExecStart=/lib/systemd/systemd-bootsplash 0 -Type=oneshot -RemainAfterExit=true diff --git a/systemd-bootsplash b/systemd-bootsplash deleted file mode 100644 index 3cf8438d..00000000 --- a/systemd-bootsplash +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/bash -. /etc/rc.splash $1 -export RUNLEVEL=$1 -export PREVLEVEL=N -if [ "$1" == "5" ]; then - /bin/systemctl status --no-pager default.target | grep -q graphical.target - if [ $? -eq 0 ]; then - declare -i timeout - timeout=0 - console=`fgconsole` - while [ $console -eq 1 -a $timeout -lt 30 ] ; do - sleep 1 - timeout+=1 - console=`fgconsole` - done - fi - splashtrigger "rlreached $1" -else - splashtrigger "rlchange $1" - splashtrigger "coolo" -fi diff --git a/systemd-gtk.changes b/systemd-gtk.changes index e1d0ade6..16e4a504 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de + +- Use pkgconfig symbols for BuildRequires and specify version +- Add missing kmod BuildRequires for systemd-gtk + ------------------------------------------------------------------- Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 217ce042..7e026fa1 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -15,33 +15,34 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd Version: 42 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel -BuildRequires: dbus-1-devel -BuildRequires: glib2-devel BuildRequires: gperf -BuildRequires: gtk2-devel BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libcryptsetup-devel -BuildRequires: libgee-devel -BuildRequires: libnotify-devel -BuildRequires: libselinux-devel -BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: libudev-devel BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: tcpd-devel BuildRequires: udev BuildRequires: xz -BuildRequires: xz-devel +BuildRequires: pkgconfig(dbus-1) >= 1.5.2 +BuildRequires: pkgconfig(gee-1.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) > 2.26 +BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pkgconfig(libcryptsetup) +BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libselinux) +BuildRequires: pkgconfig(libsepol) +BuildRequires: pkgconfig(udev) >= 172 Summary: Graphical front-end for systemd License: GPL-2.0+ Group: System/Base diff --git a/systemd.changes b/systemd.changes index e1d0ade6..7f6e8373 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de + +- Use pkgconfig symbols for BuildRequires and specify version + +------------------------------------------------------------------- +Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com + +- Enable Plymouth integration. + * Bootsplash related files will be moved to the bootsplash + package + ------------------------------------------------------------------- Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 2d84f46e..19bfe47b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -15,9 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - -%define build_plymouth 0 - #don't require python, use recommends (bnc#716939) Name: systemd @@ -29,26 +26,26 @@ License: GPL-2.0+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel -BuildRequires: dbus-1-devel BuildRequires: docbook-xsl-stylesheets BuildRequires: fdupes BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libcryptsetup-devel -BuildRequires: libkmod-devel -BuildRequires: libselinux-devel -BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: libudev-devel BuildRequires: libxslt1 BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: tcpd-devel BuildRequires: udev BuildRequires: xz -BuildRequires: xz-devel +BuildRequires: pkgconfig(dbus-1) >= 1.3.2 +BuildRequires: pkgconfig(libcryptsetup) +BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libselinux) +BuildRequires: pkgconfig(libsepol) +BuildRequires: pkgconfig(udev) >= 172 Requires: udev >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -65,10 +62,6 @@ Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf Source6: baselibs.conf -Source7: systemd-bootsplash -Source8: bootsplash-startup.service -Source9: bootsplash-quit.service -Source10: bootsplash-shutdown.service # Stop-gap, just to ensure things work fine with rsyslog without having to change the package right-away Source11: listen.conf Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch @@ -125,8 +118,6 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. -%if %{build_plymouth} - %package plymouth Summary: Plymouth support for systemd Group: System/Base @@ -135,7 +126,6 @@ Requires: plymouth %description plymouth Plymouth integration for systemd -%endif %prep %setup -q @@ -187,12 +177,6 @@ mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrate install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future #install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators -install -m755 %{S:7} %{buildroot}/lib/systemd/ -install -m644 %{S:8} %{S:9} %{S:10} %{buildroot}/lib/systemd/system/ -ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target.wants/ -ln -s ../bootsplash-quit.service %{buildroot}/lib/systemd/system/multi-user.target.wants/ -ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/shutdown.target.wants/ -ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/reboot.target.wants/ ln -s ../lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../lib/systemd/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot @@ -203,11 +187,8 @@ ln -s ../bin/systemctl %{buildroot}/sbin/telinit ln -s ../bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -%if !%{build_plymouth} -rm -f %{buildroot}/lib/systemd/system/plymouth-*.service -rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service -rm -f %{buildroot}/lib/systemd/system/systemd-ask-password-plymouth.* -%endif +# Don't activate the plymouth-quit services in order to get a smooth transistion to the DM +rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-quit*.service # aliases for /etc/init.d/* ln -s /dev/null %{buildroot}/lib/systemd/system/cgroup.service ln -s systemd-tmpfiles-setup.service %{buildroot}/lib/systemd/system/cleanup.service @@ -248,10 +229,6 @@ install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/rsyslog.d/ # Create the /var/log/journal directory to change the volatile journal to a persistent one mkdir -p %{buildroot}/var/log/journal -%if %{build_plymouth} -(cd %{buildroot} && find . -name '*plymouth*') > files.plymouth -%endif - %fdupes $RPM_BUILD_ROOT %post @@ -367,12 +344,10 @@ rm -rf %{buildroot} %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/systemd -%if %{build_plymouth} # Packaged in plymouth subpackage %exclude /lib/systemd/system/plymouth-*.service %exclude /lib/systemd/system/*.wants/plymouth-*.service %exclude /lib/systemd/system/systemd-ask-password-plymouth.* -%endif # Packaged in gtk subpackage %exclude %{_mandir}/man1/systemadm.1* # Packaged in sysvinit subpackage @@ -423,14 +398,11 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc -%if %{build_plymouth} - %files plymouth %defattr(-,root,root,-) /lib/systemd/system/plymouth-*.service /lib/systemd/system/*.wants/plymouth-*.service /lib/systemd/system/systemd-ask-password-plymouth.* -%endif %files sysvinit %defattr(-,root,root,-) From 3fcc55196d094385c9dd3a4ce79d32830567ac7e34f7fc7cb7f19fcb550e6151 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 7 Mar 2012 19:10:29 +0000 Subject: [PATCH 088/991] Accepting request 106439 from Base:System Added a patch to correct the path to the plymouth binaries (changed to /usr/...) and also to make the two plymouth-quit*.services conflicting with the graphical.target. This would quit plymouth when running in runlevel 3 (non-graphical), but leaves the killing of plymouth up to the displaymanager when running in the graphical target. (forwarded request 106382 from tittiatcoke) OBS-URL: https://build.opensuse.org/request/show/106439 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=90 --- correct_plymouth_paths_and_conflicts.patch | 90 ++++++++++++++++++++++ listen.conf | 1 - systemd-42.tar.xz | 3 - systemd-43.tar.xz | 3 + systemd-gtk.changes | 24 +++++- systemd-gtk.spec | 3 +- systemd.changes | 16 ++++ systemd.spec | 19 ++--- 8 files changed, 140 insertions(+), 19 deletions(-) create mode 100644 correct_plymouth_paths_and_conflicts.patch delete mode 100644 listen.conf delete mode 100644 systemd-42.tar.xz create mode 100644 systemd-43.tar.xz diff --git a/correct_plymouth_paths_and_conflicts.patch b/correct_plymouth_paths_and_conflicts.patch new file mode 100644 index 00000000..b6635875 --- /dev/null +++ b/correct_plymouth_paths_and_conflicts.patch @@ -0,0 +1,90 @@ +--- systemd-43/units/plymouth-halt.service 2012-02-15 04:27:59.626029851 +0100 ++++ new/units/plymouth-halt.service 2012-02-21 18:28:16.225983153 +0100 +@@ -13,6 +13,6 @@ + ConditionKernelCommandLine=!plymouth.enable=0 + + [Service] +-ExecStart=/sbin/plymouthd --mode=shutdown +-ExecStartPost=-/bin/plymouth --show-splash ++ExecStart=/usr/sbin/plymouthd --mode=shutdown ++ExecStartPost=-/usr/bin/plymouth --show-splash + Type=forking +--- systemd-43/units/plymouth-kexec.service 2012-02-15 04:27:59.452029843 +0100 ++++ new/units/plymouth-kexec.service 2012-02-21 18:28:36.056981567 +0100 +@@ -13,6 +13,6 @@ + ConditionKernelCommandLine=!plymouth.enable=0 + + [Service] +-ExecStart=/sbin/plymouthd --mode=shutdown +-ExecStartPost=-/bin/plymouth --show-splash ++ExecStart=/usr/sbin/plymouthd --mode=shutdown ++ExecStartPost=-/usr/bin/plymouth --show-splash + Type=forking +--- systemd-43/units/plymouth-poweroff.service 2012-02-15 04:28:00.144029876 +0100 ++++ new/units/plymouth-poweroff.service 2012-02-21 18:28:45.495981246 +0100 +@@ -13,6 +13,6 @@ + ConditionKernelCommandLine=!plymouth.enable=0 + + [Service] +-ExecStart=/sbin/plymouthd --mode=shutdown +-ExecStartPost=-/bin/plymouth --show-splash ++ExecStart=/usr/sbin/plymouthd --mode=shutdown ++ExecStartPost=-/usr/bin/plymouth --show-splash + Type=forking +--- systemd-43/units/plymouth-quit.service 2012-02-15 04:28:00.134029876 +0100 ++++ new/units/plymouth-quit.service 2012-02-21 18:29:00.855980323 +0100 +@@ -8,8 +8,9 @@ + [Unit] + Description=Terminate Plymouth Boot Screen + After=rc-local.service plymouth-start.service ++Conflicts=graphical.target + + [Service] +-ExecStart=-/bin/plymouth quit ++ExecStart=-/usr/bin/plymouth quit + Type=oneshot + TimeoutSec=20 +--- systemd-43/units/plymouth-quit-wait.service 2012-02-15 04:27:59.894029864 +0100 ++++ new/units/plymouth-quit-wait.service 2012-02-21 18:29:14.904979438 +0100 +@@ -8,8 +8,9 @@ + [Unit] + Description=Wait for Plymouth Boot Screen to Quit + After=rc-local.service plymouth-start.service ++Conflicts=graphical.target + + [Service] +-ExecStart=-/bin/plymouth --wait ++ExecStart=-/usr/bin/plymouth --wait + Type=oneshot + TimeoutSec=20 +--- systemd-43/units/plymouth-read-write.service 2012-02-15 04:27:59.457029843 +0100 ++++ new/units/plymouth-read-write.service 2012-02-21 18:29:29.439978464 +0100 +@@ -12,5 +12,5 @@ + Before=sysinit.target + + [Service] +-ExecStart=-/bin/plymouth update-root-fs --read-write ++ExecStart=-/usr/bin/plymouth update-root-fs --read-write + Type=oneshot +--- systemd-43/units/plymouth-reboot.service 2012-02-15 04:28:00.149029877 +0100 ++++ new/units/plymouth-reboot.service 2012-02-21 18:29:43.718977613 +0100 +@@ -13,6 +13,6 @@ + ConditionKernelCommandLine=!plymouth.enable=0 + + [Service] +-ExecStart=/sbin/plymouthd --mode=shutdown +-ExecStartPost=-/bin/plymouth --show-splash ++ExecStart=/usr/sbin/plymouthd --mode=shutdown ++ExecStartPost=-/usr/bin/plymouth --show-splash + Type=forking +--- systemd-43/units/plymouth-start.service 2012-02-15 04:28:00.174029878 +0100 ++++ new/units/plymouth-start.service 2012-02-21 18:30:01.994976517 +0100 +@@ -17,6 +17,6 @@ + ConditionKernelCommandLine=!plymouth.enable=0 + + [Service] +-ExecStart=/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid +-ExecStartPost=-/bin/plymouth --show-splash ++ExecStart=/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid ++ExecStartPost=-/usr/bin/plymouth --show-splash + Type=forking diff --git a/listen.conf b/listen.conf deleted file mode 100644 index 0abbb418..00000000 --- a/listen.conf +++ /dev/null @@ -1 +0,0 @@ -$SystemLogSocketName /run/systemd/journal/syslog diff --git a/systemd-42.tar.xz b/systemd-42.tar.xz deleted file mode 100644 index b54e5fff..00000000 --- a/systemd-42.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5dc107d488d823eb2203b6f1567096749ea37c1cf9022a6b0507ec07691e0ec2 -size 854808 diff --git a/systemd-43.tar.xz b/systemd-43.tar.xz new file mode 100644 index 00000000..ba1c51e9 --- /dev/null +++ b/systemd-43.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3070e48e43bc0811fa8da5ba4832a11dac73b1625db94d42d4c15dc279335dd7 +size 852432 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 16e4a504..65182444 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,8 +1,30 @@ +------------------------------------------------------------------- +Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com + +- Remove rsyslog listen.conf, handled directly by rsyslog now + (bnc#747871). + +------------------------------------------------------------------- +Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + requires /etc/os-release, support for /etc/SuSE-release is no + longer present. + + Track class of PAM logins to distinguish greeters from normal + user logins. + + Various bug fixes. + ------------------------------------------------------------------- Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de - Use pkgconfig symbols for BuildRequires and specify version -- Add missing kmod BuildRequires for systemd-gtk + +------------------------------------------------------------------- +Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com + +- Enable Plymouth integration. + * Bootsplash related files will be moved to the bootsplash + package ------------------------------------------------------------------- Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 7e026fa1..5b46113e 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -15,9 +15,10 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 42 +Version: 43 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd.changes b/systemd.changes index 7f6e8373..65182444 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com + +- Remove rsyslog listen.conf, handled directly by rsyslog now + (bnc#747871). + +------------------------------------------------------------------- +Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + requires /etc/os-release, support for /etc/SuSE-release is no + longer present. + + Track class of PAM logins to distinguish greeters from normal + user logins. + + Various bug fixes. + ------------------------------------------------------------------- Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de diff --git a/systemd.spec b/systemd.spec index 19bfe47b..c455758c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -15,11 +15,12 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + #don't require python, use recommends (bnc#716939) Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 42 +Version: 43 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -46,12 +47,12 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libselinux) BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(udev) >= 172 -Requires: udev >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: util-linux >= 2.19 Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding +Requires: udev >= 172 +Requires: util-linux >= 2.19 Recommends: dbus-1-python Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -62,8 +63,6 @@ Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf Source6: baselibs.conf -# Stop-gap, just to ensure things work fine with rsyslog without having to change the package right-away -Source11: listen.conf Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -81,6 +80,7 @@ Patch31: lock-opensuse.patch Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch +Patch39: correct_plymouth_paths_and_conflicts.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -145,6 +145,7 @@ Plymouth integration for systemd %patch33 -p1 %patch36 -p1 %patch38 -p1 +%patch39 -p1 %build autoreconf -fiv @@ -187,8 +188,6 @@ ln -s ../bin/systemctl %{buildroot}/sbin/telinit ln -s ../bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# Don't activate the plymouth-quit services in order to get a smooth transistion to the DM -rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-quit*.service # aliases for /etc/init.d/* ln -s /dev/null %{buildroot}/lib/systemd/system/cgroup.service ln -s systemd-tmpfiles-setup.service %{buildroot}/lib/systemd/system/cleanup.service @@ -222,10 +221,6 @@ rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf # Let rsyslog read from /proc/kmsg for now sed -i -e 's/\#ImportKernel=yes/ImportKernel=no/' %{buildroot}%{_sysconfdir}/systemd/systemd-journald.conf -# Install rsyslog fragment -mkdir -p %{buildroot}%{_sysconfdir}/rsyslog.d/ -install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/rsyslog.d/ - # Create the /var/log/journal directory to change the volatile journal to a persistent one mkdir -p %{buildroot}/var/log/journal @@ -317,7 +312,6 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/binfmt.d %dir /usr/lib/sysctl.d %dir %{_sysconfdir}/sysctl.d -%dir %{_sysconfdir}/rsyslog.d /usr/lib/tmpfiles.d/*.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/systemd-logind.conf @@ -329,7 +323,6 @@ rm -rf %{buildroot} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%config(noreplace) %{_sysconfdir}/rsyslog.d/listen.conf %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml From 6861897da1453c309213e6f55946a6022b3e9081ef3775fe15c12e359fff410a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 9 Mar 2012 20:28:31 +0000 Subject: [PATCH 089/991] Accepting request 108532 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/108532 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=91 --- systemd-gtk.changes | 8 ++++++++ systemd-journald-fix-endianess-bug.patch | 25 ++++++++++++++++++++++++ systemd.changes | 8 ++++++++ systemd.spec | 2 ++ 4 files changed, 43 insertions(+) create mode 100644 systemd-journald-fix-endianess-bug.patch diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 65182444..9b996461 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com + +- Add systemd-journald-fix-endianess-bug.patch: fix journald not + starting on ppc architecture. +- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth + is correctly called and conflicts with bootsplash. + ------------------------------------------------------------------- Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com diff --git a/systemd-journald-fix-endianess-bug.patch b/systemd-journald-fix-endianess-bug.patch new file mode 100644 index 00000000..7cb48067 --- /dev/null +++ b/systemd-journald-fix-endianess-bug.patch @@ -0,0 +1,25 @@ +From 8dc6b88fd2dad113d7dab776d623d7b301e4b754 Mon Sep 17 00:00:00 2001 +From: Dirk Eibach +Date: Wed, 29 Feb 2012 12:45:46 +0100 +Subject: [PATCH] systemd-journald: fix endianess bug + +--- + src/journal/journal-file.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 20ca3f6..275caea 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -238,7 +238,7 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) + if (fstat(f->fd, &f->last_stat) < 0) + return -errno; + +- f->header->arena_size = new_size - htole64(f->header->arena_offset); ++ f->header->arena_size = htole64(new_size - le64toh(f->header->arena_offset)); + + return 0; + } +-- +1.7.7 + diff --git a/systemd.changes b/systemd.changes index 65182444..9b996461 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com + +- Add systemd-journald-fix-endianess-bug.patch: fix journald not + starting on ppc architecture. +- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth + is correctly called and conflicts with bootsplash. + ------------------------------------------------------------------- Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index c455758c..6d6a0362 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,6 +87,7 @@ Patch39: correct_plymouth_paths_and_conflicts.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch21: no-tmpfs-fsck.patch +Patch40: systemd-journald-fix-endianess-bug.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -146,6 +147,7 @@ Plymouth integration for systemd %patch36 -p1 %patch38 -p1 %patch39 -p1 +%patch40 -p1 %build autoreconf -fiv From 1a31b163ba19a6d99dc210ea9175a4e78197f3dbcd0cb25e761f38e332554bcc Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 12 Mar 2012 19:17:08 +0000 Subject: [PATCH 090/991] Accepting request 108835 from Base:System - Add fix-c++-compat.patch: fix C++ compatibility error in header. OBS-URL: https://build.opensuse.org/request/show/108835 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=92 --- fix-c++-compat.patch | 25 +++++++++++++++++++++++++ systemd-gtk.changes | 5 +++++ systemd.changes | 5 +++++ systemd.spec | 2 ++ 4 files changed, 37 insertions(+) create mode 100644 fix-c++-compat.patch diff --git a/fix-c++-compat.patch b/fix-c++-compat.patch new file mode 100644 index 00000000..85f78d8d --- /dev/null +++ b/fix-c++-compat.patch @@ -0,0 +1,25 @@ +From e09a9a35a1fdb4e849e63bdaf47d936c272b5e82 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 5 Mar 2012 15:16:10 +0100 +Subject: [PATCH] sd-login: c++ compatibility + +--- + src/systemd/sd-login.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h +index 2f3c90c..6e99cfc 100644 +--- a/src/systemd/sd-login.h ++++ b/src/systemd/sd-login.h +@@ -94,7 +94,7 @@ int sd_session_get_service(const char *session, char **service); + int sd_session_get_type(const char *session, char **type); + + /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ +-int sd_session_get_class(const char *session, char **class); ++int sd_session_get_class(const char *session, char **clazz); + + /* Determine the X11 display of this session. */ + int sd_session_get_display(const char *session, char **display); +-- +1.7.7 + diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 9b996461..c065d07d 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com + +- Add fix-c++-compat.patch: fix C++ compatibility error in header. + ------------------------------------------------------------------- Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 9b996461..c065d07d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com + +- Add fix-c++-compat.patch: fix C++ compatibility error in header. + ------------------------------------------------------------------- Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 6d6a0362..04f53eda 100644 --- a/systemd.spec +++ b/systemd.spec @@ -88,6 +88,7 @@ Patch39: correct_plymouth_paths_and_conflicts.patch # an exception will be silently removed with the next version update. Patch21: no-tmpfs-fsck.patch Patch40: systemd-journald-fix-endianess-bug.patch +Patch41: fix-c++-compat.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -148,6 +149,7 @@ Plymouth integration for systemd %patch38 -p1 %patch39 -p1 %patch40 -p1 +%patch41 -p1 %build autoreconf -fiv From 2222e2f7b59a565a2d24b1c26baf6f401b794d1b6c463662294e581550496100 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 20 Mar 2012 11:04:45 +0000 Subject: [PATCH 091/991] Accepting request 109922 from Base:System - Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix CVE-2012-1174 (bnc#752281). - Update to version 43: + Support optional initialization of the machine ID from the KVM or container configured UUID. + Support immediate reboots with "systemctl reboot -ff" + Show /etc/os-release data in systemd-analyze output + Many bugfixes for the journal, including endianess fixes and ensuring that disk space enforcement works + non-UTF8 strings are refused if used in configuration and unit files. + Register Mimo USB Screens as suitable for automatic seat configuration + Reorder configuration file lookup order. /etc now always overrides /run. + manpages for journal utilities. - Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, systemd-journald-fix-endianess-bug.patch. - Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). old: openSUSE:Factory/systemd new: Base:System/systemd rev NoneIndex: systemd-gtk.changes =================================================================== --- systemd-gtk.changes (revision 92) +++ systemd-gtk.changes (revision 260) @@ -1,4 +1,31 @@ ------------------------------------------------------------------- +Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix + CVE-2012-1174 (bnc#752281). + +------------------------------------------------------------------- +Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + Support optional initialization of the machine ID from the KVM + or container configured UUID. + + Support immediate reboots with "systemctl reboot -ff" + + Show /etc/os-release data in systemd-analyze output + + Many bugfixes for the journal, including endianess fixes and + ensuring that disk space enforcement works + + non-UTF8 strings are refused if used in configuration and unit + files. + + Register Mimo USB Screens as suitable for automatic seat + configuration + + Reorder configuration file lookup order. /etc now always + overrides /run. + + manpages for journal utilities. +- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, + systemd-journald-fix-endianess-bug.patch. +- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). + +------------------------------------------------------------------- Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com - Add fix-c++-compat.patch: fix C++ compatibility error in header. Index: systemd-gtk.spec =================================================================== --- systemd-gtk.spec (revision 92) +++ systemd-gtk.spec (revision 260) @@ -18,7 +18,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 43 +Version: 44 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel Index: systemd.changes =================================================================== --- systemd.changes (revision 92) +++ systemd.changes (revision 260) @@ -1,4 +1,31 @@ ------------------------------------------------------------------- +Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix + CVE-2012-1174 (bnc#752281). + +------------------------------------------------------------------- +Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + Support optional initialization of the machine ID from the KVM + or container configured UUID. + + Support immediate reboots with "systemctl reboot -ff" + + Show /etc/os-release data in systemd-analyze output + + Many bugfixes for the journal, including endianess fixes and + ensuring that disk space enforcement works + + non-UTF8 strings are refused if used in configuration and unit + files. + + Register Mimo USB Screens as suitable for automatic seat + configuration + + Reorder configuration file lookup order. /etc now always + overrides /run. + + manpages for journal utilities. +- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, + systemd-journald-fix-endianess-bug.patch. +- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). + +------------------------------------------------------------------- Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com - Add fix-c++-compat.patch: fix C++ compatibility error in header. Index: systemd.spec =================================================================== --- systemd.spec (revision 92) +++ systemd.spec (revision 260) @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 43 +Version: 44 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -52,7 +52,7 @@ Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding Requires: udev >= 172 -Requires: util-linux >= 2.19 +Requires: util-linux >= 2.21 Recommends: dbus-1-python Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -86,9 +86,7 @@ # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -Patch21: no-tmpfs-fsck.patch -Patch40: systemd-journald-fix-endianess-bug.patch -Patch41: fix-c++-compat.patch +Patch40: 0001-util-never-follow-symlinks-in-rm_rf_children.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -139,7 +137,6 @@ %patch15 -p1 %patch16 -p1 %patch19 -p1 -%patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 @@ -149,7 +146,6 @@ %patch38 -p1 %patch39 -p1 %patch40 -p1 -%patch41 -p1 %build autoreconf -fiv Index: 0001-util-never-follow-symlinks-in-rm_rf_children.patch =================================================================== --- 0001-util-never-follow-symlinks-in-rm_rf_children.patch (added) +++ 0001-util-never-follow-symlinks-in-rm_rf_children.patch (revision 260) @@ -0,0 +1,32 @@ +From 5ebff5337594d690b322078c512eb222d34aaa82 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 2 Mar 2012 10:39:10 +0100 +Subject: [PATCH] util: never follow symlinks in rm_rf_children() + +The function checks if the entry is a directory before recursing, but +there is a window between the check and the open, during which the +directory could be replaced with a symlink. + +CVE-2012-1174 +https://bugzilla.redhat.com/show_bug.cgi?id=803358 +--- + src/util.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/util.c b/src/util.c +index 20cbc2b..dfc1dc6 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -3593,7 +3593,8 @@ static int rm_rf_children(int fd, bool only_dirs, bool honour_sticky) { + if (is_dir) { + int subdir_fd; + +- if ((subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)) < 0) { ++ subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); ++ if (subdir_fd < 0) { + if (ret == 0 && errno != ENOENT) + ret = -errno; + continue; +-- +1.7.7 + Index: systemd-44.tar.xz =================================================================== Binary files systemd-44.tar.xz (revision 260) added Index: fix-c++-compat.patch =================================================================== --- fix-c++-compat.patch (revision 92) +++ fix-c++-compat.patch (deleted) @@ -1,25 +0,0 @@ -From e09a9a35a1fdb4e849e63bdaf47d936c272b5e82 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 5 Mar 2012 15:16:10 +0100 -Subject: [PATCH] sd-login: c++ compatibility - ---- - src/systemd/sd-login.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h -index 2f3c90c..6e99cfc 100644 ---- a/src/systemd/sd-login.h -+++ b/src/systemd/sd-login.h -@@ -94,7 +94,7 @@ int sd_session_get_service(const char *session, char **service); - int sd_session_get_type(const char *session, char **type); - - /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ --int sd_session_get_class(const char *session, char **class); -+int sd_session_get_class(const char *session, char **clazz); - - /* Determine the X11 display of this session. */ - int sd_session_get_display(const char *session, char **display); --- -1.7.7 - Index: no-tmpfs-fsck.patch =================================================================== --- no-tmpfs-fsck.patch (revision 92) +++ no-tmpfs-fsck.patch (deleted) @@ -1,22 +0,0 @@ -From cca125c2758b48ba8f1afdc4b5751b104f0bd809 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 27 Oct 2011 15:36:57 +0200 -Subject: [PATCH] mount: do not try to fsck tmpfs mountpoint with non-null - passno. - ---- - src/mount.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -Index: systemd-39/src/mount.c -=================================================================== ---- systemd-39.orig/src/mount.c -+++ systemd-39/src/mount.c -@@ -428,6 +428,7 @@ static int mount_add_device_links(Mount - - if (p->passno > 0 && - !mount_is_bind(p) && -+ !streq(p->fstype,"tmpfs") && - UNIT(m)->manager->running_as == MANAGER_SYSTEM && - !path_equal(m->where, "/")) { - char *name; Index: systemd-43.tar.xz =================================================================== Binary files systemd-43.tar.xz (revision 92) deleted Index: systemd-journald-fix-endianess-bug.patch =================================================================== --- systemd-journald-fix-endianess-bug.patch (revision 92) +++ systemd-journald-fix-endianess-bug.patch (deleted) @@ -1,25 +0,0 @@ -From 8dc6b88fd2dad113d7dab776d623d7b301e4b754 Mon Sep 17 00:00:00 2001 -From: Dirk Eibach -Date: Wed, 29 Feb 2012 12:45:46 +0100 -Subject: [PATCH] systemd-journald: fix endianess bug - ---- - src/journal/journal-file.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 20ca3f6..275caea 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -238,7 +238,7 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - if (fstat(f->fd, &f->last_stat) < 0) - return -errno; - -- f->header->arena_size = new_size - htole64(f->header->arena_offset); -+ f->header->arena_size = htole64(new_size - le64toh(f->header->arena_offset)); - - return 0; - } --- -1.7.7 - OBS-URL: https://build.opensuse.org/request/show/109922 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=93 --- ...er-follow-symlinks-in-rm_rf_children.patch | 32 +++++++++++++++++++ fix-c++-compat.patch | 25 --------------- no-tmpfs-fsck.patch | 22 ------------- systemd-43.tar.xz | 3 -- systemd-44.tar.xz | 3 ++ systemd-gtk.changes | 27 ++++++++++++++++ systemd-gtk.spec | 2 +- systemd-journald-fix-endianess-bug.patch | 25 --------------- systemd.changes | 27 ++++++++++++++++ systemd.spec | 10 ++---- 10 files changed, 93 insertions(+), 83 deletions(-) create mode 100644 0001-util-never-follow-symlinks-in-rm_rf_children.patch delete mode 100644 fix-c++-compat.patch delete mode 100644 no-tmpfs-fsck.patch delete mode 100644 systemd-43.tar.xz create mode 100644 systemd-44.tar.xz delete mode 100644 systemd-journald-fix-endianess-bug.patch diff --git a/0001-util-never-follow-symlinks-in-rm_rf_children.patch b/0001-util-never-follow-symlinks-in-rm_rf_children.patch new file mode 100644 index 00000000..8f12746b --- /dev/null +++ b/0001-util-never-follow-symlinks-in-rm_rf_children.patch @@ -0,0 +1,32 @@ +From 5ebff5337594d690b322078c512eb222d34aaa82 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 2 Mar 2012 10:39:10 +0100 +Subject: [PATCH] util: never follow symlinks in rm_rf_children() + +The function checks if the entry is a directory before recursing, but +there is a window between the check and the open, during which the +directory could be replaced with a symlink. + +CVE-2012-1174 +https://bugzilla.redhat.com/show_bug.cgi?id=803358 +--- + src/util.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/util.c b/src/util.c +index 20cbc2b..dfc1dc6 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -3593,7 +3593,8 @@ static int rm_rf_children(int fd, bool only_dirs, bool honour_sticky) { + if (is_dir) { + int subdir_fd; + +- if ((subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)) < 0) { ++ subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); ++ if (subdir_fd < 0) { + if (ret == 0 && errno != ENOENT) + ret = -errno; + continue; +-- +1.7.7 + diff --git a/fix-c++-compat.patch b/fix-c++-compat.patch deleted file mode 100644 index 85f78d8d..00000000 --- a/fix-c++-compat.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e09a9a35a1fdb4e849e63bdaf47d936c272b5e82 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 5 Mar 2012 15:16:10 +0100 -Subject: [PATCH] sd-login: c++ compatibility - ---- - src/systemd/sd-login.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h -index 2f3c90c..6e99cfc 100644 ---- a/src/systemd/sd-login.h -+++ b/src/systemd/sd-login.h -@@ -94,7 +94,7 @@ int sd_session_get_service(const char *session, char **service); - int sd_session_get_type(const char *session, char **type); - - /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ --int sd_session_get_class(const char *session, char **class); -+int sd_session_get_class(const char *session, char **clazz); - - /* Determine the X11 display of this session. */ - int sd_session_get_display(const char *session, char **display); --- -1.7.7 - diff --git a/no-tmpfs-fsck.patch b/no-tmpfs-fsck.patch deleted file mode 100644 index a5946686..00000000 --- a/no-tmpfs-fsck.patch +++ /dev/null @@ -1,22 +0,0 @@ -From cca125c2758b48ba8f1afdc4b5751b104f0bd809 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 27 Oct 2011 15:36:57 +0200 -Subject: [PATCH] mount: do not try to fsck tmpfs mountpoint with non-null - passno. - ---- - src/mount.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -Index: systemd-39/src/mount.c -=================================================================== ---- systemd-39.orig/src/mount.c -+++ systemd-39/src/mount.c -@@ -428,6 +428,7 @@ static int mount_add_device_links(Mount - - if (p->passno > 0 && - !mount_is_bind(p) && -+ !streq(p->fstype,"tmpfs") && - UNIT(m)->manager->running_as == MANAGER_SYSTEM && - !path_equal(m->where, "/")) { - char *name; diff --git a/systemd-43.tar.xz b/systemd-43.tar.xz deleted file mode 100644 index ba1c51e9..00000000 --- a/systemd-43.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3070e48e43bc0811fa8da5ba4832a11dac73b1625db94d42d4c15dc279335dd7 -size 852432 diff --git a/systemd-44.tar.xz b/systemd-44.tar.xz new file mode 100644 index 00000000..2f31a608 --- /dev/null +++ b/systemd-44.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a5aac4b4b8b3a82bf59292f10e43d8f2c2d7039f34e95714f81d8edcb42233c +size 885636 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index c065d07d..1a6c23fa 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix + CVE-2012-1174 (bnc#752281). + +------------------------------------------------------------------- +Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + Support optional initialization of the machine ID from the KVM + or container configured UUID. + + Support immediate reboots with "systemctl reboot -ff" + + Show /etc/os-release data in systemd-analyze output + + Many bugfixes for the journal, including endianess fixes and + ensuring that disk space enforcement works + + non-UTF8 strings are refused if used in configuration and unit + files. + + Register Mimo USB Screens as suitable for automatic seat + configuration + + Reorder configuration file lookup order. /etc now always + overrides /run. + + manpages for journal utilities. +- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, + systemd-journald-fix-endianess-bug.patch. +- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). + ------------------------------------------------------------------- Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 5b46113e..7e1beeab 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -18,7 +18,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 43 +Version: 44 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd-journald-fix-endianess-bug.patch b/systemd-journald-fix-endianess-bug.patch deleted file mode 100644 index 7cb48067..00000000 --- a/systemd-journald-fix-endianess-bug.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8dc6b88fd2dad113d7dab776d623d7b301e4b754 Mon Sep 17 00:00:00 2001 -From: Dirk Eibach -Date: Wed, 29 Feb 2012 12:45:46 +0100 -Subject: [PATCH] systemd-journald: fix endianess bug - ---- - src/journal/journal-file.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 20ca3f6..275caea 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -238,7 +238,7 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - if (fstat(f->fd, &f->last_stat) < 0) - return -errno; - -- f->header->arena_size = new_size - htole64(f->header->arena_offset); -+ f->header->arena_size = htole64(new_size - le64toh(f->header->arena_offset)); - - return 0; - } --- -1.7.7 - diff --git a/systemd.changes b/systemd.changes index c065d07d..1a6c23fa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix + CVE-2012-1174 (bnc#752281). + +------------------------------------------------------------------- +Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + Support optional initialization of the machine ID from the KVM + or container configured UUID. + + Support immediate reboots with "systemctl reboot -ff" + + Show /etc/os-release data in systemd-analyze output + + Many bugfixes for the journal, including endianess fixes and + ensuring that disk space enforcement works + + non-UTF8 strings are refused if used in configuration and unit + files. + + Register Mimo USB Screens as suitable for automatic seat + configuration + + Reorder configuration file lookup order. /etc now always + overrides /run. + + manpages for journal utilities. +- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, + systemd-journald-fix-endianess-bug.patch. +- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). + ------------------------------------------------------------------- Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 04f53eda..81eb8803 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,7 +20,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 43 +Version: 44 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -52,7 +52,7 @@ Requires: kbd Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding Requires: udev >= 172 -Requires: util-linux >= 2.19 +Requires: util-linux >= 2.21 Recommends: dbus-1-python Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -86,9 +86,7 @@ Patch39: correct_plymouth_paths_and_conflicts.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -Patch21: no-tmpfs-fsck.patch -Patch40: systemd-journald-fix-endianess-bug.patch -Patch41: fix-c++-compat.patch +Patch40: 0001-util-never-follow-symlinks-in-rm_rf_children.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -139,7 +137,6 @@ Plymouth integration for systemd %patch15 -p1 %patch16 -p1 %patch19 -p1 -%patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 @@ -149,7 +146,6 @@ Plymouth integration for systemd %patch38 -p1 %patch39 -p1 %patch40 -p1 -%patch41 -p1 %build autoreconf -fiv From 7063139ce7510b7586184ed9bb7fc2a388d62e4a5e956a58b6628d1884b73d80 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 23 Mar 2012 11:11:16 +0000 Subject: [PATCH 092/991] Accepting request 110375 from Base:System - Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix endianness error, preventing journal to work properly on ppc. - Add fixppc.patch: fix build and warnings on ppc. OBS-URL: https://build.opensuse.org/request/show/110375 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=94 --- ...rse-support-to-detect-endianness-bug.patch | 368 ++++++++++++++++++ fixppc.patch | 26 ++ systemd-gtk.changes | 7 + systemd.changes | 7 + systemd.spec | 4 + 5 files changed, 412 insertions(+) create mode 100644 0001-add-sparse-support-to-detect-endianness-bug.patch create mode 100644 fixppc.patch diff --git a/0001-add-sparse-support-to-detect-endianness-bug.patch b/0001-add-sparse-support-to-detect-endianness-bug.patch new file mode 100644 index 00000000..d4c084d2 --- /dev/null +++ b/0001-add-sparse-support-to-detect-endianness-bug.patch @@ -0,0 +1,368 @@ +From 7644bc8665f39a6428049e81e8c04e4d755e55a1 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 16 Mar 2012 11:59:04 +0100 +Subject: [PATCH] add sparse support to detect endianness bug + +le16/32/64_t type should be used when storing little-endian value + +header to integrate with sparse from Josh Triplett +--- + src/journal/journal-def.h | 74 +++++++++++++++++----------------- + src/journal/journal-file.c | 15 ++++--- + src/journal/journal-internal.h | 2 +- + src/journal/journald.c | 5 +- + src/journal/sd-journal.c | 10 +++-- + src/journal/sparse-endian.h | 87 ++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 142 insertions(+), 51 deletions(-) + create mode 100644 src/journal/sparse-endian.h + +diff --git a/src/journal/journal-def.h b/src/journal/journal-def.h +index 964e0c2..9cb8051 100644 +--- a/src/journal/journal-def.h ++++ b/src/journal/journal-def.h +@@ -22,7 +22,7 @@ + along with systemd; If not, see . + ***/ + +-#include ++#include "sparse-endian.h" + + #include + +@@ -60,48 +60,48 @@ _packed_ struct ObjectHeader { + uint8_t type; + uint8_t flags; + uint8_t reserved[6]; +- uint64_t size; ++ le64_t size; + uint8_t payload[]; + }; + + _packed_ struct DataObject { + ObjectHeader object; +- uint64_t hash; +- uint64_t next_hash_offset; +- uint64_t next_field_offset; +- uint64_t entry_offset; /* the first array entry we store inline */ +- uint64_t entry_array_offset; +- uint64_t n_entries; ++ le64_t hash; ++ le64_t next_hash_offset; ++ le64_t next_field_offset; ++ le64_t entry_offset; /* the first array entry we store inline */ ++ le64_t entry_array_offset; ++ le64_t n_entries; + uint8_t payload[]; + }; + + _packed_ struct FieldObject { + ObjectHeader object; +- uint64_t hash; +- uint64_t next_hash_offset; +- uint64_t head_data_offset; +- uint64_t tail_data_offset; ++ le64_t hash; ++ le64_t next_hash_offset; ++ le64_t head_data_offset; ++ le64_t tail_data_offset; + uint8_t payload[]; + }; + + _packed_ struct EntryItem { +- uint64_t object_offset; +- uint64_t hash; ++ le64_t object_offset; ++ le64_t hash; + }; + + _packed_ struct EntryObject { + ObjectHeader object; +- uint64_t seqnum; +- uint64_t realtime; +- uint64_t monotonic; ++ le64_t seqnum; ++ le64_t realtime; ++ le64_t monotonic; + sd_id128_t boot_id; +- uint64_t xor_hash; ++ le64_t xor_hash; + EntryItem items[]; + }; + + _packed_ struct HashItem { +- uint64_t head_hash_offset; +- uint64_t tail_hash_offset; ++ le64_t head_hash_offset; ++ le64_t tail_hash_offset; + }; + + _packed_ struct HashTableObject { +@@ -111,8 +111,8 @@ _packed_ struct HashTableObject { + + _packed_ struct EntryArrayObject { + ObjectHeader object; +- uint64_t next_entry_array_offset; +- uint64_t items[]; ++ le64_t next_entry_array_offset; ++ le64_t items[]; + }; + + union Object { +@@ -145,21 +145,21 @@ _packed_ struct Header { + sd_id128_t machine_id; + sd_id128_t boot_id; + sd_id128_t seqnum_id; +- uint64_t arena_offset; +- uint64_t arena_size; +- uint64_t data_hash_table_offset; /* for looking up data objects */ +- uint64_t data_hash_table_size; +- uint64_t field_hash_table_offset; /* for looking up field objects */ +- uint64_t field_hash_table_size; +- uint64_t tail_object_offset; +- uint64_t n_objects; +- uint64_t n_entries; +- uint64_t seqnum; +- uint64_t first_seqnum; +- uint64_t entry_array_offset; +- uint64_t head_entry_realtime; +- uint64_t tail_entry_realtime; +- uint64_t tail_entry_monotonic; ++ le64_t arena_offset; ++ le64_t arena_size; ++ le64_t data_hash_table_offset; /* for looking up data objects */ ++ le64_t data_hash_table_size; ++ le64_t field_hash_table_offset; /* for looking up field objects */ ++ le64_t field_hash_table_size; ++ le64_t tail_object_offset; ++ le64_t n_objects; ++ le64_t n_entries; ++ le64_t seqnum; ++ le64_t first_seqnum; ++ le64_t entry_array_offset; ++ le64_t head_entry_realtime; ++ le64_t tail_entry_realtime; ++ le64_t tail_entry_monotonic; + }; + + #endif +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 474dd5c..e803cec 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -793,8 +793,8 @@ static uint64_t journal_file_entry_array_n_items(Object *o) { + } + + static int link_entry_into_array(JournalFile *f, +- uint64_t *first, +- uint64_t *idx, ++ le64_t *first, ++ le64_t *idx, + uint64_t p) { + int r; + uint64_t n = 0, ap = 0, q, i, a, hidx; +@@ -857,9 +857,9 @@ static int link_entry_into_array(JournalFile *f, + } + + static int link_entry_into_array_plus_one(JournalFile *f, +- uint64_t *extra, +- uint64_t *first, +- uint64_t *idx, ++ le64_t *extra, ++ le64_t *first, ++ le64_t *idx, + uint64_t p) { + + int r; +@@ -873,7 +873,7 @@ static int link_entry_into_array_plus_one(JournalFile *f, + if (*idx == 0) + *extra = htole64(p); + else { +- uint64_t i; ++ le64_t i; + + i = htole64(le64toh(*idx) - 1); + r = link_entry_into_array(f, first, &i, p); +@@ -2141,7 +2141,8 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6 + items = alloca(sizeof(EntryItem) * n); + + for (i = 0; i < n; i++) { +- uint64_t le_hash, l, h; ++ uint64_t l, h; ++ le64_t le_hash; + size_t t; + void *data; + Object *u; +diff --git a/src/journal/journal-internal.h b/src/journal/journal-internal.h +index e5914bf..17f1d31 100644 +--- a/src/journal/journal-internal.h ++++ b/src/journal/journal-internal.h +@@ -35,7 +35,7 @@ typedef struct Match Match; + struct Match { + char *data; + size_t size; +- uint64_t le_hash; ++ le64_t le_hash; + + LIST_FIELDS(Match, matches); + }; +diff --git a/src/journal/journald.c b/src/journal/journald.c +index baad3ab..ebb4275 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -1251,6 +1251,7 @@ static void process_native_message( + p = e + 1; + continue; + } else { ++ le64_t l_le; + uint64_t l; + char *k; + +@@ -1259,8 +1260,8 @@ static void process_native_message( + break; + } + +- memcpy(&l, e + 1, sizeof(uint64_t)); +- l = le64toh(l); ++ memcpy(&l_le, e + 1, sizeof(uint64_t)); ++ l = le64toh(l_le); + + if (remaining < e - p + 1 + sizeof(uint64_t) + l + 1 || + e[1+sizeof(uint64_t)+l] != '\n') { +diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c +index 86ac267..e9cd26e 100644 +--- a/src/journal/sd-journal.c ++++ b/src/journal/sd-journal.c +@@ -108,7 +108,7 @@ static int same_field(const void *_a, size_t s, const void *_b, size_t t) { + + _public_ int sd_journal_add_match(sd_journal *j, const void *data, size_t size) { + Match *m, *after = NULL; +- uint64_t le_hash; ++ le64_t le_hash; + + if (!j) + return -EINVAL; +@@ -356,7 +356,7 @@ static int find_location(sd_journal *j, JournalFile *f, direction_t direction, O + Object *c, *d; + uint64_t cp, dp; + +- r = journal_file_find_data_object_with_hash(f, m->data, m->size, m->le_hash, &d, &dp); ++ r = journal_file_find_data_object_with_hash(f, m->data, m->size, le64toh(m->le_hash), &d, &dp); + if (r <= 0) + return r; + +@@ -1349,7 +1349,8 @@ _public_ int sd_journal_get_data(sd_journal *j, const char *field, const void ** + + n = journal_file_entry_n_items(o); + for (i = 0; i < n; i++) { +- uint64_t p, l, le_hash; ++ uint64_t p, l; ++ le64_t le_hash; + size_t t; + + p = le64toh(o->entry.items[i].object_offset); +@@ -1410,7 +1411,8 @@ _public_ int sd_journal_get_data(sd_journal *j, const char *field, const void ** + + _public_ int sd_journal_enumerate_data(sd_journal *j, const void **data, size_t *size) { + JournalFile *f; +- uint64_t p, l, n, le_hash; ++ uint64_t p, l, n; ++ le64_t le_hash; + int r; + Object *o; + size_t t; +diff --git a/src/journal/sparse-endian.h b/src/journal/sparse-endian.h +new file mode 100644 +index 0000000..eb4dbf3 +--- /dev/null ++++ b/src/journal/sparse-endian.h +@@ -0,0 +1,87 @@ ++/* Copyright (c) 2012 Josh Triplett ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to ++ * deal in the Software without restriction, including without limitation the ++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ++ * IN THE SOFTWARE. ++ */ ++#ifndef SPARSE_ENDIAN_H ++#define SPARSE_ENDIAN_H ++ ++#include ++#include ++ ++#ifdef __CHECKER__ ++#define __bitwise __attribute__((bitwise)) ++#define __force __attribute__((force)) ++#else ++#define __bitwise ++#define __force ++#endif ++ ++typedef uint16_t __bitwise le16_t; ++typedef uint16_t __bitwise be16_t; ++typedef uint32_t __bitwise le32_t; ++typedef uint32_t __bitwise be32_t; ++typedef uint64_t __bitwise le64_t; ++typedef uint64_t __bitwise be64_t; ++ ++#undef htobe16 ++#undef htole16 ++#undef be16toh ++#undef le16toh ++#undef htobe32 ++#undef htole32 ++#undef be32toh ++#undef le32toh ++#undef htobe64 ++#undef htole64 ++#undef be64toh ++#undef le64toh ++ ++#if __BYTE_ORDER == __LITTLE_ENDIAN ++#define bswap_16_on_le(x) __bswap_16(x) ++#define bswap_32_on_le(x) __bswap_32(x) ++#define bswap_64_on_le(x) __bswap_64(x) ++#define bswap_16_on_be(x) (x) ++#define bswap_32_on_be(x) (x) ++#define bswap_64_on_be(x) (x) ++#elif __BYTE_ORDER == __BIG_ENDIAN ++#define bswap_16_on_le(x) (x) ++#define bswap_32_on_le(x) (x) ++#define bswap_64_on_le(x) (x) ++#define bswap_16_on_be(x) __bswap_16(x) ++#define bswap_32_on_be(x) __bswap_32(x) ++#define bswap_64_on_be(x) __bswap_64(x) ++#endif ++ ++static inline le16_t htole16(uint16_t value) { return (le16_t __force) bswap_16_on_be(value); } ++static inline le32_t htole32(uint32_t value) { return (le32_t __force) bswap_32_on_be(value); } ++static inline le64_t htole64(uint64_t value) { return (le64_t __force) bswap_64_on_be(value); } ++ ++static inline be16_t htobe16(uint16_t value) { return (be16_t __force) bswap_16_on_le(value); } ++static inline be32_t htobe32(uint32_t value) { return (be32_t __force) bswap_32_on_le(value); } ++static inline be64_t htobe64(uint64_t value) { return (be64_t __force) bswap_64_on_le(value); } ++ ++static inline uint16_t le16toh(le16_t value) { return bswap_16_on_be((uint16_t __force)value); } ++static inline uint32_t le32toh(le32_t value) { return bswap_32_on_be((uint32_t __force)value); } ++static inline uint64_t le64toh(le64_t value) { return bswap_64_on_be((uint64_t __force)value); } ++ ++static inline uint16_t be16toh(be16_t value) { return bswap_16_on_le((uint16_t __force)value); } ++static inline uint32_t be32toh(be32_t value) { return bswap_32_on_le((uint32_t __force)value); } ++static inline uint64_t be64toh(be64_t value) { return bswap_64_on_le((uint64_t __force)value); } ++ ++#endif /* SPARSE_ENDIAN_H */ +-- +1.7.7 + diff --git a/fixppc.patch b/fixppc.patch new file mode 100644 index 00000000..e087f608 --- /dev/null +++ b/fixppc.patch @@ -0,0 +1,26 @@ +diff --git a/src/journal/cat.c b/src/journal/cat.c +index 31d76f3..8a51fb7 100644 +--- a/src/journal/cat.c ++++ b/src/journal/cat.c +@@ -33,7 +33,7 @@ + #include "build.h" + + static char *arg_identifier = NULL; +-static char arg_priority = LOG_INFO; ++static int8_t arg_priority = LOG_INFO; + static bool arg_level_prefix = true; + + static int help(void) { +diff --git a/src/journal/journald.c b/src/journal/journald.c +index baad3ab..1899ad6 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -2144,7 +2144,7 @@ static int process_event(Server *s, struct epoll_event *ev) { + uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + + CMSG_SPACE(sizeof(struct timeval)) + + CMSG_SPACE(sizeof(int)) + +- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ ++ CMSG_SPACE(PATH_MAX)]; /* selinux label */ + } control; + ssize_t n; + int v; diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 1a6c23fa..1119cb17 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix + endianness error, preventing journal to work properly on ppc. +- Add fixppc.patch: fix build and warnings on ppc. + ------------------------------------------------------------------- Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com diff --git a/systemd.changes b/systemd.changes index 1a6c23fa..1119cb17 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix + endianness error, preventing journal to work properly on ppc. +- Add fixppc.patch: fix build and warnings on ppc. + ------------------------------------------------------------------- Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 81eb8803..2f9371fd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,6 +81,8 @@ Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch Patch39: correct_plymouth_paths_and_conflicts.patch +Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch +Patch42: fixppc.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -146,6 +148,8 @@ Plymouth integration for systemd %patch38 -p1 %patch39 -p1 %patch40 -p1 +%patch41 -p1 +%patch42 -p1 %build autoreconf -fiv From ca5811d78d50aeed88c1ffbcb0fef2506b7c98b5711420e6fa099e40192558c4 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 3 Apr 2012 15:38:59 +0000 Subject: [PATCH 093/991] Accepting request 112342 from Base:System - apply ppc patch to systemd-gtk too (fixes build) - apply ppc patch to systemd-gtk too (fixes build) (forwarded request 112340 from k0da) OBS-URL: https://build.opensuse.org/request/show/112342 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=95 --- ...er-follow-symlinks-in-rm_rf_children.patch | 27 +++ fixppc.patch | 73 ++++++-- logind-logout.patch | 156 ++++++++++++++++++ systemd-gtk.changes | 14 ++ systemd-gtk.spec | 2 + systemd.changes | 14 ++ systemd.spec | 4 +- 7 files changed, 276 insertions(+), 14 deletions(-) create mode 100644 logind-logout.patch diff --git a/0001-util-never-follow-symlinks-in-rm_rf_children.patch b/0001-util-never-follow-symlinks-in-rm_rf_children.patch index 8f12746b..38579dee 100644 --- a/0001-util-never-follow-symlinks-in-rm_rf_children.patch +++ b/0001-util-never-follow-symlinks-in-rm_rf_children.patch @@ -30,3 +30,30 @@ index 20cbc2b..dfc1dc6 100644 -- 1.7.7 +From c9d8629baa09f853fbcc44972c9748e70562270c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 Mar 2012 01:43:36 +0100 +Subject: [PATCH] logind: extend comment about X11 socket symlink + +--- + src/login/logind-session.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/src/login/logind-session.c b/src/login/logind-session.c +index af9c12d..4e0af86 100644 +--- a/src/login/logind-session.c ++++ b/src/login/logind-session.c +@@ -391,6 +391,10 @@ static int session_link_x11_socket(Session *s) { + return -ENOENT; + } + ++ /* Note that this cannot be in a subdir to avoid ++ * vulnerabilities since we are privileged but the runtime ++ * path is owned by the user */ ++ + t = strappend(s->user->runtime_path, "/X11-display"); + if (!t) { + log_error("Out of memory"); +-- +1.7.7 + diff --git a/fixppc.patch b/fixppc.patch index e087f608..eeb7ce56 100644 --- a/fixppc.patch +++ b/fixppc.patch @@ -1,3 +1,60 @@ +From 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 21 Mar 2012 23:47:44 +0100 +Subject: [PATCH] journal: PAGE_SIZE is not known on ppc and other archs + +Let's use NAME_MAX, as suggested by Dan Walsh +--- + src/journal/journald.c | 15 ++++++++++++--- + 1 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/journal/journald.c b/src/journal/journald.c +index d27cb60..87390bd 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -29,7 +29,6 @@ + #include + #include + #include +-#include + + #include + #include +@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) { + size_t label_len = 0; + union { + struct cmsghdr cmsghdr; ++ ++ /* We use NAME_MAX space for the ++ * SELinux label here. The kernel ++ * currently enforces no limit, but ++ * according to suggestions from the ++ * SELinux people this will change and ++ * it will probably be identical to ++ * NAME_MAX. For now we use that, but ++ * this should be updated one day when ++ * the final limit is known.*/ + uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + + CMSG_SPACE(sizeof(struct timeval)) + +- CMSG_SPACE(sizeof(int)) + +- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ ++ CMSG_SPACE(sizeof(int)) + /* fd */ ++ CMSG_SPACE(NAME_MAX)]; /* selinux label */ + } control; + ssize_t n; + int v; +-- +1.7.7 + +From dd1e3d5a396284d1afdb2828991a543eb80c8040 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 22 Mar 2012 09:39:54 +0100 +Subject: [PATCH] journal: char is unsigned on ppc, use int8_t instead. + +--- + src/journal/cat.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + diff --git a/src/journal/cat.c b/src/journal/cat.c index 31d76f3..8a51fb7 100644 --- a/src/journal/cat.c @@ -11,16 +68,6 @@ index 31d76f3..8a51fb7 100644 static bool arg_level_prefix = true; static int help(void) { -diff --git a/src/journal/journald.c b/src/journal/journald.c -index baad3ab..1899ad6 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -2144,7 +2144,7 @@ static int process_event(Server *s, struct epoll_event *ev) { - uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + - CMSG_SPACE(sizeof(struct timeval)) + - CMSG_SPACE(sizeof(int)) + -- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ -+ CMSG_SPACE(PATH_MAX)]; /* selinux label */ - } control; - ssize_t n; - int v; +-- +1.7.7 + diff --git a/logind-logout.patch b/logind-logout.patch new file mode 100644 index 00000000..5949223a --- /dev/null +++ b/logind-logout.patch @@ -0,0 +1,156 @@ +From 75c8e3cffd7da8eede614cf61384957af2c82a29 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 Mar 2012 02:06:40 +0100 +Subject: [PATCH] logind: close FIFO before ending sessions cleanly + +For clean session endings ask logind explicitly to get rid of the FIFO +before closing it so that the FIFO logic doesn't result in su/sudo to be +terminated immediately. +--- + src/login/logind-dbus.c | 30 ++++++++++++++++++++ + src/login/pam-module.c | 71 +++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 98 insertions(+), 3 deletions(-) + +diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c +index d8f4d89..ea6b89f 100644 +--- a/src/login/logind-dbus.c ++++ b/src/login/logind-dbus.c +@@ -80,6 +80,9 @@ + " \n" \ + " \n" \ + " \n" \ ++ " \n" \ ++ " \n" \ ++ " \n" \ + " \n" \ + " \n" \ + " \n" \ +@@ -1075,6 +1078,33 @@ static DBusHandlerResult manager_message_handler( + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); + ++ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ReleaseSession")) { ++ const char *name; ++ Session *session; ++ ++ if (!dbus_message_get_args( ++ message, ++ &error, ++ DBUS_TYPE_STRING, &name, ++ DBUS_TYPE_INVALID)) ++ return bus_send_error_reply(connection, message, &error, -EINVAL); ++ ++ session = hashmap_get(m->sessions, name); ++ if (!session) ++ return bus_send_error_reply(connection, message, &error, -ENOENT); ++ ++ /* We use the FIFO to detect stray sessions where the ++ process invoking PAM dies abnormally. We need to make ++ sure that that process is not killed if at the clean ++ end of the session it closes the FIFO. Hence, with ++ this call explicitly turn off the FIFO logic, so that ++ the PAM code can finish clean up on its own */ ++ session_remove_fifo(session); ++ ++ reply = dbus_message_new_method_return(message); ++ if (!reply) ++ goto oom; ++ + } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ActivateSession")) { + const char *name; + Session *session; +diff --git a/src/login/pam-module.c b/src/login/pam-module.c +index 8544413..4106d2b 100644 +--- a/src/login/pam-module.c ++++ b/src/login/pam-module.c +@@ -414,7 +414,6 @@ _public_ PAM_EXTERN int pam_sm_open_session( + "/org/freedesktop/login1", + "org.freedesktop.login1.Manager", + "CreateSession"); +- + if (!m) { + pam_syslog(handle, LOG_ERR, "Could not allocate create session message."); + r = PAM_BUF_ERR; +@@ -620,11 +619,77 @@ _public_ PAM_EXTERN int pam_sm_close_session( + int argc, const char **argv) { + + const void *p = NULL; ++ const char *id; ++ DBusConnection *bus = NULL; ++ DBusMessage *m = NULL, *reply = NULL; ++ DBusError error; ++ int r; + +- pam_get_data(handle, "systemd.session-fd", &p); ++ assert(handle); ++ ++ dbus_error_init(&error); ++ ++ id = pam_getenv(handle, "XDG_SESSION_ID"); ++ if (id) { ++ ++ /* Before we go and close the FIFO we need to tell ++ * logind that this is a clean session shutdown, so ++ * that it doesn't just go and slaughter us ++ * immediately after closing the fd */ ++ ++ bus = dbus_bus_get_private(DBUS_BUS_SYSTEM, &error); ++ if (!bus) { ++ pam_syslog(handle, LOG_ERR, "Failed to connect to system bus: %s", bus_error_message(&error)); ++ r = PAM_SESSION_ERR; ++ goto finish; ++ } ++ ++ m = dbus_message_new_method_call( ++ "org.freedesktop.login1", ++ "/org/freedesktop/login1", ++ "org.freedesktop.login1.Manager", ++ "ReleaseSession"); ++ if (!m) { ++ pam_syslog(handle, LOG_ERR, "Could not allocate release session message."); ++ r = PAM_BUF_ERR; ++ goto finish; ++ } ++ ++ if (!dbus_message_append_args(m, ++ DBUS_TYPE_STRING, &id, ++ DBUS_TYPE_INVALID)) { ++ pam_syslog(handle, LOG_ERR, "Could not attach parameters to message."); ++ r = PAM_BUF_ERR; ++ goto finish; ++ } + ++ reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); ++ if (!reply) { ++ pam_syslog(handle, LOG_ERR, "Failed to release session: %s", bus_error_message(&error)); ++ r = PAM_SESSION_ERR; ++ goto finish; ++ } ++ } ++ ++ r = PAM_SUCCESS; ++ ++finish: ++ pam_get_data(handle, "systemd.session-fd", &p); + if (p) + close_nointr(PTR_TO_INT(p) - 1); + +- return PAM_SUCCESS; ++ dbus_error_free(&error); ++ ++ if (bus) { ++ dbus_connection_close(bus); ++ dbus_connection_unref(bus); ++ } ++ ++ if (m) ++ dbus_message_unref(m); ++ ++ if (reply) ++ dbus_message_unref(reply); ++ ++ return r; + } +-- +1.7.7 + diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 1119cb17..e40aeb84 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com + +- apply ppc patch to systemd-gtk too (fixes build) + +------------------------------------------------------------------- +Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com + +- Update fixppc.patch with upstream patches +- Add comments from upstream in + 0001-util-never-follow-symlinks-in-rm_rf_children.patch. +- Add logind-logout.patch: it should fix sudo / su with pam_systemd + (bnc#746704). + ------------------------------------------------------------------- Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 7e1beeab..1cc8b141 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -50,6 +50,7 @@ Group: System/Base Requires: systemd = %{version} Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz Source1: systemd-rpmlintrc +Patch0: fixppc.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -61,6 +62,7 @@ Graphical front-end for systemd system and service manager. %prep %setup -q -n systemd-%{version} +%patch0 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 1119cb17..e40aeb84 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com + +- apply ppc patch to systemd-gtk too (fixes build) + +------------------------------------------------------------------- +Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com + +- Update fixppc.patch with upstream patches +- Add comments from upstream in + 0001-util-never-follow-symlinks-in-rm_rf_children.patch. +- Add logind-logout.patch: it should fix sudo / su with pam_systemd + (bnc#746704). + ------------------------------------------------------------------- Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 2f9371fd..d424e471 100644 --- a/systemd.spec +++ b/systemd.spec @@ -82,13 +82,14 @@ Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch Patch39: correct_plymouth_paths_and_conflicts.patch Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch -Patch42: fixppc.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch40: 0001-util-never-follow-symlinks-in-rm_rf_children.patch +Patch42: fixppc.patch +Patch43: logind-logout.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -150,6 +151,7 @@ Plymouth integration for systemd %patch40 -p1 %patch41 -p1 %patch42 -p1 +%patch43 -p1 %build autoreconf -fiv From 79c9f0f60482d4c851f46433549a2b515045a8bf6e53c2dc58844dd3c00a0ee0 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 20 Apr 2012 13:20:18 +0000 Subject: [PATCH 094/991] Accepting request 114575 from Base:System - Add dbus-1 as BuildRequires to fix build. OBS-URL: https://build.opensuse.org/request/show/114575 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=96 --- systemd.changes | 5 +++++ systemd.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/systemd.changes b/systemd.changes index e40aeb84..440b804e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com + +- Add dbus-1 as BuildRequires to fix build. + ------------------------------------------------------------------- Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com diff --git a/systemd.spec b/systemd.spec index d424e471..43bb3cf2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,6 +27,7 @@ License: GPL-2.0+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel +BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets BuildRequires: fdupes BuildRequires: gperf From 15b91769ecc47c9dabd864b11a2fb1d92a48ea4dc40da9582e695aabc85f4b18 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 23 Apr 2012 14:13:33 +0000 Subject: [PATCH 095/991] Accepting request 114876 from Base:System - Implemented SUSE specific sysconfig numlock logic (bnc#746595). (forwarded request 114873 from sbrabec) OBS-URL: https://build.opensuse.org/request/show/114876 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=97 --- systemd-numlock-suse.patch | 144 +++++++++++++++++++++++++++++++++++++ systemd.changes | 5 ++ systemd.spec | 2 + 3 files changed, 151 insertions(+) create mode 100644 systemd-numlock-suse.patch diff --git a/systemd-numlock-suse.patch b/systemd-numlock-suse.patch new file mode 100644 index 00000000..63a8818b --- /dev/null +++ b/systemd-numlock-suse.patch @@ -0,0 +1,144 @@ +Index: systemd-44/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-44.orig/src/vconsole/vconsole-setup.c ++++ systemd-44/src/vconsole/vconsole-setup.c +@@ -265,12 +265,14 @@ int main(int argc, char **argv) { + char *vc_kbd_delay = NULL; + char *vc_kbd_rate = NULL; + char *vc_kbd_disable_caps_lock = NULL; ++ char *vc_kbd_numlock = NULL; + char *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; + #endif + int fd = -1; + bool utf8; + bool disable_capslock = false; ++ bool numlock = false; + int r = EXIT_FAILURE; + pid_t font_pid = 0, keymap_pid = 0; + +@@ -374,6 +376,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL)) < 0) { + +@@ -391,6 +394,37 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + } + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ if (vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "BIOS") == 0) { ++ int hwinfo_fd[2]; ++ pid_t hwinfo_pid; ++ ++ pipe(hwinfo_fd); ++ if ((hwinfo_pid = fork()) < 0) { ++ log_error("Failed to fork: %m"); ++ _exit(EXIT_FAILURE); ++ } else if (hwinfo_pid == 0) { ++ const char *args[3]; ++ int i = 0; ++ args[i++] = HWINFO; ++ args[i++] = "--bios"; ++ args[i++] = NULL; ++ close(hwinfo_fd[0]); ++ fclose(stdout); ++ dup2(hwinfo_fd[1], STDOUT_FILENO); ++ execv(args[0], (char **) args); ++ _exit(EXIT_FAILURE); ++ } else { ++ char line[17]; ++ FILE *hwinfo_file = fdopen(hwinfo_fd[0], "r"); ++ close(hwinfo_fd[1]); ++ while (fgets(line, 17, hwinfo_file)) ++ if (strstr(line, "Num Lock: on")) ++ numlock = true; ++ close(hwinfo_fd[0]); ++ fclose(hwinfo_file); ++ } ++ } else ++ numlock = vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "YES") == 0; + + #elif defined(TARGET_ARCH) + if ((r = parse_env_file("/etc/rc.conf", NEWLINE, +@@ -558,6 +592,10 @@ int main(int argc, char **argv) { + finish: + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ if (numlock) ++ close(open("/run/numlock-on", O_WRONLY|O_CREAT, 0644)); ++ else ++ unlink("/run/numlock-on"); + + #ifdef TARGET_SUSE + if (compose_table_pid > 0) +Index: systemd-44/Makefile.am +=================================================================== +--- systemd-44.orig/Makefile.am ++++ systemd-44/Makefile.am +@@ -2043,7 +2043,8 @@ dist_udevrules_DATA += \ + src/login/71-seat.rules + + nodist_udevrules_DATA += \ +- src/login/73-seat-late.rules ++ src/login/73-seat-late.rules \ ++ src/login/73-seat-numlock.rules + + MANPAGES += \ + man/systemd-logind.conf.5 \ +@@ -2106,12 +2107,14 @@ EXTRA_DIST += \ + src/login/logind-user.h \ + src/login/logind-acl.h \ + src/login/73-seat-late.rules.in \ ++ src/login/73-seat-numlock.rules.in \ + units/systemd-logind.service.in \ + units/systemd-user-sessions.service.in + + CLEANFILES += \ + src/login/logind-gperf.c \ +- src/login/73-seat-late.rules ++ src/login/73-seat-late.rules \ ++ src/login/73-seat-numlock.rules + endif + # ------------------------------------------------------------------------------ + +@@ -2121,6 +2124,7 @@ SED_PROCESS = \ + -e 's,@rootbindir\@,$(rootbindir),g' \ + -e 's,@bindir\@,$(bindir),g' \ + -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \ ++ -e 's,@SETLEDS\@,$(SETLEDS),g' \ + -e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \ + -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \ + -e 's,@pkgdatadir\@,$(pkgdatadir),g' \ +Index: systemd-44/configure.ac +=================================================================== +--- systemd-44.orig/configure.ac ++++ systemd-44/configure.ac +@@ -410,6 +410,12 @@ fi + with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` + AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution]) + ++if test z"$with_distro" = z"suse" ; then ++ AC_PATH_PROG([HWINFO], [hwinfo], [/usr/sbin/hwinfo], [/sbin:/usr/sbin:/usr/bin:/bin]) ++ AC_DEFINE_UNQUOTED([HWINFO], ["${HWINFO}"], [Path to hwinfo binary. (SUSE)]) ++fi ++AC_PATH_PROG([SETLEDS], [setleds], [/bin/setleds], [/sbin:/usr/sbin:/usr/bin:/bin]) ++ + # Location of the init scripts as mandated by LSB + SYSTEM_SYSVINIT_PATH=/etc/init.d + SYSTEM_SYSVRCND_PATH=/etc/rc.d +Index: systemd-44/src/login/73-seat-numlock.rules.in +=================================================================== +--- /dev/null ++++ systemd-44/src/login/73-seat-numlock.rules.in +@@ -0,0 +1,8 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TAG=="systemd", TEST=="/run/numlock-on", RUN+="@SETLEDS@ -D +num <$env{DEVNAME}" diff --git a/systemd.changes b/systemd.changes index 440b804e..10da2aa9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz + +- Implemented SUSE specific sysconfig numlock logic (bnc#746595). + ------------------------------------------------------------------- Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 43bb3cf2..7262e9c5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,6 +67,7 @@ Source6: baselibs.conf Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +Patch7: systemd-numlock-suse.patch # don't start getty on tty1 until all password request are done Patch8: tty1.patch Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -135,6 +136,7 @@ Plymouth integration for systemd %setup -q %patch1 -p1 %patch6 -p1 +%patch7 -p1 %patch8 -p1 %patch10 -p1 %patch13 -p1 From 3dfa2c97cfd5b0d77f2b66c62346bdd5791f9a8ef2697aac8bfc36e225cce601 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 8 May 2012 04:48:51 +0000 Subject: [PATCH 096/991] Accepting request 116331 from Base:System - Disable logind-logout.patch: it crashes sudo session (if called after su -l) (bnc#746704). - Add fix-getty-isolate.patch: don't quit getty when changing runlevel (bnc#746594) OBS-URL: https://build.opensuse.org/request/show/116331 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=98 --- fix-getty-isolate.patch | 51 +++++++++++++++++++++++++++++++++++++++++ systemd.changes | 12 ++++++++++ systemd.spec | 5 +++- 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 fix-getty-isolate.patch diff --git a/fix-getty-isolate.patch b/fix-getty-isolate.patch new file mode 100644 index 00000000..4cf794ad --- /dev/null +++ b/fix-getty-isolate.patch @@ -0,0 +1,51 @@ +From 4771148bb92ace55eaa6759a53d04a0f2de9b0d2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 11 Apr 2012 21:58:33 +0200 +Subject: [PATCH] units: exclude gettys from isolate requests + +gettys are nowadays mostly autospawned and hence usually subject to +being shut down on isolate requests, since they are no dependency of any +other unit. This is a bad idea if the user isolates between +multi-user.graphical and graphical.target, hence exclude them from the +isolation. + +This has the effect that gettys no longer cleaned up when +emergency.target is isolated, which might actualy be considered a +feature, even though it is a change from previous behaviour... + +Note that the one getty that really matters (the one on tty1) is still +removed when isolating to emergency.target since it conflicts with +emergency.service. +--- + TODO | 4 ++-- + units/getty@.service.m4 | 1 + + units/serial-getty@.service.m4 | 1 + + 3 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index a02838d..6b931fb 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -32,6 +32,7 @@ After=rc-local.service + # sure that this is synchronized before getty.target, even though + # getty.target didn't actually pull it in. + Before=getty.target ++IgnoreOnIsolate=yes + + [Service] + Environment=TERM=linux +diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 +index fc8b57b..d1d14d3 100644 +--- a/units/serial-getty@.service.m4 ++++ b/units/serial-getty@.service.m4 +@@ -32,6 +32,7 @@ After=rc-local.service + # sure that this is synchronized before getty.target, even though + # getty.target didn't actually pull it in. + Before=getty.target ++IgnoreOnIsolate=yes + + [Service] + Environment=TERM=vt100 +-- +1.7.7 + diff --git a/systemd.changes b/systemd.changes index 10da2aa9..f1a5ed61 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com + +- Disable logind-logout.patch: it crashes sudo session (if called + after su -l) (bnc#746704). + +------------------------------------------------------------------- +Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com + +- Add fix-getty-isolate.patch: don't quit getty when changing + runlevel (bnc#746594) + ------------------------------------------------------------------- Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz diff --git a/systemd.spec b/systemd.spec index 7262e9c5..0ebba0b4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -92,6 +92,7 @@ Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch Patch40: 0001-util-never-follow-symlinks-in-rm_rf_children.patch Patch42: fixppc.patch Patch43: logind-logout.patch +Patch44: fix-getty-isolate.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -154,7 +155,9 @@ Plymouth integration for systemd %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch43 -p1 +# disabled for now, cause sudo session to terminate +#patch43 -p1 +%patch44 -p1 %build autoreconf -fiv From 17b4f0e86720ba575f15c6af79054c099d8ed24797d589236f7822b387c8c8b8 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 26 May 2012 11:00:31 +0000 Subject: [PATCH 097/991] Accepting request 122369 from Base:System - Re-enable logind-logout.patch, fix in xdm-np PAM file is the real fix. - Update new-lsb-headers.patch to handle entries written after description tag (bnc#727771, bnc#747931). OBS-URL: https://build.opensuse.org/request/show/122369 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=99 --- new-lsb-headers.patch | 32 ++++++++++++++++---------------- systemd.changes | 12 ++++++++++++ systemd.spec | 3 +-- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/new-lsb-headers.patch b/new-lsb-headers.patch index fbf46ede..e0b07870 100644 --- a/new-lsb-headers.patch +++ b/new-lsb-headers.patch @@ -1,8 +1,8 @@ -Index: systemd-41/src/service.c +Index: systemd-44/src/service.c =================================================================== ---- systemd-41.orig/src/service.c -+++ systemd-41/src/service.c -@@ -119,6 +119,7 @@ static void service_init(Unit *u) { +--- systemd-44.orig/src/service.c ++++ systemd-44/src/service.c +@@ -122,6 +122,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; s->sysv_start_priority_from_rcnd = -1; @@ -10,10 +10,10 @@ Index: systemd-41/src/service.c #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -861,6 +862,34 @@ static int service_load_sysv_path(Servic +@@ -840,6 +841,34 @@ static int service_load_sysv_path(Servic + free(short_description); + short_description = d; - } else - state = LSB; + } else if (startswith_no_case(t, "PIDFile:")) { + char *fn; + @@ -42,10 +42,10 @@ Index: systemd-41/src/service.c + s->remain_after_exit = parse_boolean(j); + s->sysv_remain_after_exit_heuristic = false; + } - } - } - } -@@ -891,7 +920,8 @@ static int service_load_sysv_path(Servic + } else if (state == LSB_DESCRIPTION) { + + if (startswith(l, "#\t") || startswith(l, "# ")) { +@@ -894,7 +923,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -55,7 +55,7 @@ Index: systemd-41/src/service.c s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2030,7 +2060,7 @@ static void service_enter_running(Servic +@@ -2036,7 +2066,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -64,11 +64,11 @@ Index: systemd-41/src/service.c s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -Index: systemd-41/src/service.h +Index: systemd-44/src/service.h =================================================================== ---- systemd-41.orig/src/service.h -+++ systemd-41/src/service.h -@@ -157,6 +157,7 @@ struct Service { +--- systemd-44.orig/src/service.h ++++ systemd-44/src/service.h +@@ -166,6 +166,7 @@ struct Service { #ifdef HAVE_SYSV_COMPAT bool sysv_has_lsb:1; bool sysv_enabled:1; diff --git a/systemd.changes b/systemd.changes index f1a5ed61..b77412ed 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com + +- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real + fix. + +------------------------------------------------------------------- +Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com + +- Update new-lsb-headers.patch to handle entries written after + description tag (bnc#727771, bnc#747931). + ------------------------------------------------------------------- Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 0ebba0b4..f67da68a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -155,8 +155,7 @@ Plymouth integration for systemd %patch40 -p1 %patch41 -p1 %patch42 -p1 -# disabled for now, cause sudo session to terminate -#patch43 -p1 +%patch43 -p1 %patch44 -p1 %build From 3d49faeb9384fbff0b12f56a78fbc7b776adc38e84474847b69b68b1f77fc011 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 10 Jun 2012 21:18:43 +0000 Subject: [PATCH 098/991] Accepting request 124228 from Base:System - Add fix-swap-priority: fix default swap priority (bnc#731601). OBS-URL: https://build.opensuse.org/request/show/124228 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=100 --- fix-swap-priority.patch | 36 ++++++++++++++++++++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 2 ++ 3 files changed, 43 insertions(+) create mode 100644 fix-swap-priority.patch diff --git a/fix-swap-priority.patch b/fix-swap-priority.patch new file mode 100644 index 00000000..2c3fd5f1 --- /dev/null +++ b/fix-swap-priority.patch @@ -0,0 +1,36 @@ +Index: systemd-37/src/mount.c +=================================================================== +--- systemd-37.orig/src/mount.c ++++ systemd-37/src/mount.c +@@ -1485,7 +1485,7 @@ fail: + return r; + } + +-static int mount_find_pri(char *options) { ++static int mount_find_pri(char *options, int *ret) { + char *end, *pri; + unsigned long r; + +@@ -1503,7 +1503,8 @@ static int mount_find_pri(char *options) + if (end == pri || (*end != ',' && *end != 0)) + return -EINVAL; + +- return (int) r; ++ *ret = (int) r; ++ return 1; + } + + static int mount_load_etc_fstab(Manager *m) { +@@ -1539,9 +1540,10 @@ static int mount_load_etc_fstab(Manager + path_kill_slashes(where); + + if (streq(me->mnt_type, "swap")) { +- int pri; ++ int r, pri = -1; + +- if ((pri = mount_find_pri(me->mnt_opts)) < 0) ++ r = mount_find_pri(me->mnt_opts,&pri); ++ if (r < 0) + k = pri; + else + k = swap_add_one(m, diff --git a/systemd.changes b/systemd.changes index b77412ed..102a346e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com + +- Add fix-swap-priority: fix default swap priority (bnc#731601). + ------------------------------------------------------------------- Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index f67da68a..cace4967 100644 --- a/systemd.spec +++ b/systemd.spec @@ -93,6 +93,7 @@ Patch40: 0001-util-never-follow-symlinks-in-rm_rf_children.patch Patch42: fixppc.patch Patch43: logind-logout.patch Patch44: fix-getty-isolate.patch +Patch45: fix-swap-priority.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -157,6 +158,7 @@ Plymouth integration for systemd %patch42 -p1 %patch43 -p1 %patch44 -p1 +%patch45 -p1 %build autoreconf -fiv From df735c7bb5891041499729a7a30c5ab927b85b2a04cdb5536554ee29d43bddcb Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 3 Jul 2012 12:13:12 +0000 Subject: [PATCH 099/991] Accepting request 126920 from Base:System - Do not ship plymouth units, they are shipped by plymouth package now (bnc#769397). - Fix module loading (bnc#769462) OBS-URL: https://build.opensuse.org/request/show/126920 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=102 --- correct_plymouth_paths_and_conflicts.patch | 90 ---------------------- modules_on_boot.patch | 15 ++-- systemd.changes | 7 ++ systemd.spec | 23 +----- 4 files changed, 17 insertions(+), 118 deletions(-) delete mode 100644 correct_plymouth_paths_and_conflicts.patch diff --git a/correct_plymouth_paths_and_conflicts.patch b/correct_plymouth_paths_and_conflicts.patch deleted file mode 100644 index b6635875..00000000 --- a/correct_plymouth_paths_and_conflicts.patch +++ /dev/null @@ -1,90 +0,0 @@ ---- systemd-43/units/plymouth-halt.service 2012-02-15 04:27:59.626029851 +0100 -+++ new/units/plymouth-halt.service 2012-02-21 18:28:16.225983153 +0100 -@@ -13,6 +13,6 @@ - ConditionKernelCommandLine=!plymouth.enable=0 - - [Service] --ExecStart=/sbin/plymouthd --mode=shutdown --ExecStartPost=-/bin/plymouth --show-splash -+ExecStart=/usr/sbin/plymouthd --mode=shutdown -+ExecStartPost=-/usr/bin/plymouth --show-splash - Type=forking ---- systemd-43/units/plymouth-kexec.service 2012-02-15 04:27:59.452029843 +0100 -+++ new/units/plymouth-kexec.service 2012-02-21 18:28:36.056981567 +0100 -@@ -13,6 +13,6 @@ - ConditionKernelCommandLine=!plymouth.enable=0 - - [Service] --ExecStart=/sbin/plymouthd --mode=shutdown --ExecStartPost=-/bin/plymouth --show-splash -+ExecStart=/usr/sbin/plymouthd --mode=shutdown -+ExecStartPost=-/usr/bin/plymouth --show-splash - Type=forking ---- systemd-43/units/plymouth-poweroff.service 2012-02-15 04:28:00.144029876 +0100 -+++ new/units/plymouth-poweroff.service 2012-02-21 18:28:45.495981246 +0100 -@@ -13,6 +13,6 @@ - ConditionKernelCommandLine=!plymouth.enable=0 - - [Service] --ExecStart=/sbin/plymouthd --mode=shutdown --ExecStartPost=-/bin/plymouth --show-splash -+ExecStart=/usr/sbin/plymouthd --mode=shutdown -+ExecStartPost=-/usr/bin/plymouth --show-splash - Type=forking ---- systemd-43/units/plymouth-quit.service 2012-02-15 04:28:00.134029876 +0100 -+++ new/units/plymouth-quit.service 2012-02-21 18:29:00.855980323 +0100 -@@ -8,8 +8,9 @@ - [Unit] - Description=Terminate Plymouth Boot Screen - After=rc-local.service plymouth-start.service -+Conflicts=graphical.target - - [Service] --ExecStart=-/bin/plymouth quit -+ExecStart=-/usr/bin/plymouth quit - Type=oneshot - TimeoutSec=20 ---- systemd-43/units/plymouth-quit-wait.service 2012-02-15 04:27:59.894029864 +0100 -+++ new/units/plymouth-quit-wait.service 2012-02-21 18:29:14.904979438 +0100 -@@ -8,8 +8,9 @@ - [Unit] - Description=Wait for Plymouth Boot Screen to Quit - After=rc-local.service plymouth-start.service -+Conflicts=graphical.target - - [Service] --ExecStart=-/bin/plymouth --wait -+ExecStart=-/usr/bin/plymouth --wait - Type=oneshot - TimeoutSec=20 ---- systemd-43/units/plymouth-read-write.service 2012-02-15 04:27:59.457029843 +0100 -+++ new/units/plymouth-read-write.service 2012-02-21 18:29:29.439978464 +0100 -@@ -12,5 +12,5 @@ - Before=sysinit.target - - [Service] --ExecStart=-/bin/plymouth update-root-fs --read-write -+ExecStart=-/usr/bin/plymouth update-root-fs --read-write - Type=oneshot ---- systemd-43/units/plymouth-reboot.service 2012-02-15 04:28:00.149029877 +0100 -+++ new/units/plymouth-reboot.service 2012-02-21 18:29:43.718977613 +0100 -@@ -13,6 +13,6 @@ - ConditionKernelCommandLine=!plymouth.enable=0 - - [Service] --ExecStart=/sbin/plymouthd --mode=shutdown --ExecStartPost=-/bin/plymouth --show-splash -+ExecStart=/usr/sbin/plymouthd --mode=shutdown -+ExecStartPost=-/usr/bin/plymouth --show-splash - Type=forking ---- systemd-43/units/plymouth-start.service 2012-02-15 04:28:00.174029878 +0100 -+++ new/units/plymouth-start.service 2012-02-21 18:30:01.994976517 +0100 -@@ -17,6 +17,6 @@ - ConditionKernelCommandLine=!plymouth.enable=0 - - [Service] --ExecStart=/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --ExecStartPost=-/bin/plymouth --show-splash -+ExecStart=/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid -+ExecStartPost=-/usr/bin/plymouth --show-splash - Type=forking diff --git a/modules_on_boot.patch b/modules_on_boot.patch index 739c2f92..f1b6fdb4 100644 --- a/modules_on_boot.patch +++ b/modules_on_boot.patch @@ -7,10 +7,10 @@ Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) -Index: systemd-41/src/modules-load.c +Index: systemd-44/src/modules-load.c =================================================================== ---- systemd-41.orig/src/modules-load.c -+++ systemd-41/src/modules-load.c +--- systemd-44.orig/src/modules-load.c ++++ systemd-44/src/modules-load.c @@ -44,6 +44,9 @@ static void systemd_kmod_log(void *data, int main(int argc, char *argv[]) { int r = EXIT_FAILURE; @@ -21,7 +21,7 @@ Index: systemd-41/src/modules-load.c struct kmod_ctx *ctx; const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST|KMOD_PROBE_IGNORE_LOADED; -@@ -141,9 +144,58 @@ int main(int argc, char *argv[]) { +@@ -141,9 +144,59 @@ int main(int argc, char *argv[]) { fclose(f); } @@ -67,6 +67,7 @@ Index: systemd-41/src/modules-load.c + } + kmod_module_unref_list(modlist); ++ modlist = NULL; + } + } + strv_free(modules); @@ -80,10 +81,10 @@ Index: systemd-41/src/modules-load.c kmod_unref(ctx); return r; -Index: systemd-41/units/systemd-modules-load.service.in +Index: systemd-44/units/systemd-modules-load.service.in =================================================================== ---- systemd-41.orig/units/systemd-modules-load.service.in -+++ systemd-41/units/systemd-modules-load.service.in +--- systemd-44.orig/units/systemd-modules-load.service.in ++++ systemd-44/units/systemd-modules-load.service.in @@ -11,6 +11,7 @@ DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service diff --git a/systemd.changes b/systemd.changes index 102a346e..a6f9884b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com + +- Do not ship plymouth units, they are shipped by plymouth package + now (bnc#769397). +- Fix module loading (bnc#769462) + ------------------------------------------------------------------- Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index cace4967..f670c1a5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -82,7 +82,6 @@ Patch31: lock-opensuse.patch Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch -Patch39: correct_plymouth_paths_and_conflicts.patch Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch # Upstream First - Policy: @@ -125,15 +124,6 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. -%package plymouth -Summary: Plymouth support for systemd -Group: System/Base -Requires: %{name} = %{version} -Requires: plymouth - -%description plymouth -Plymouth integration for systemd - %prep %setup -q %patch1 -p1 @@ -152,7 +142,6 @@ Plymouth integration for systemd %patch33 -p1 %patch36 -p1 %patch38 -p1 -%patch39 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 @@ -166,6 +155,7 @@ autoreconf -fiv find . -name "*.[1-8]" -exec touch '{}' \; touch src/systemadm.c export V=1 +# disable plymouth at configure time, units are shipped in plymouth package now %configure \ --with-distro=suse \ --docdir=%{_docdir}/systemd \ @@ -173,6 +163,7 @@ export V=1 --with-pamlibdir=/%{_lib}/security \ --enable-split-usr \ --disable-gtk \ + --disable-plymouth \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -350,10 +341,6 @@ rm -rf %{buildroot} %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/systemd -# Packaged in plymouth subpackage -%exclude /lib/systemd/system/plymouth-*.service -%exclude /lib/systemd/system/*.wants/plymouth-*.service -%exclude /lib/systemd/system/systemd-ask-password-plymouth.* # Packaged in gtk subpackage %exclude %{_mandir}/man1/systemadm.1* # Packaged in sysvinit subpackage @@ -404,12 +391,6 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc -%files plymouth -%defattr(-,root,root,-) -/lib/systemd/system/plymouth-*.service -/lib/systemd/system/*.wants/plymouth-*.service -/lib/systemd/system/systemd-ask-password-plymouth.* - %files sysvinit %defattr(-,root,root,-) /sbin/init From 742890720c5f9b4cdf346abbd6b7ff64fb90c530cc5354f729bb321d1a989ffe Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 3 Jul 2012 19:42:50 +0000 Subject: [PATCH 100/991] Accepting request 127019 from Base:System - Add fix-dir-noatime-tmpfiles.patch: do not modify directory atime, which was preventing removing empty directories (bnc#751253, rh#810257). - Add improve-restart-behaviour.patch: prevent deadlock during try-restart (bnc#743218). - Add journal-bugfixes.patch: don't crash when rotating journal (bnc#768953) and prevent memleak at rotation time too. - Add ulimit-support.patch: add support for system wide ulimit (bnc#744818). - Add change-terminal.patch: use vt102 instead of vt100 as terminal for non-vc tty. - Package various .wants directories, which were no longer packaged due to plymouth units being removed from systemd package. - Fix buildrequires for manpages build. (forwarded request 127017 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/127019 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=103 --- change-terminal.patch | 37 + fix-dir-noatime-tmpfiles.patch | 41 + improve-restart-behaviour.patch | 7661 +++++++++++++++++++++++++++++++ journal-bugfixes.patch | 186 + systemd.changes | 18 + systemd.spec | 19 +- ulimit-support.patch | 253 + 7 files changed, 8213 insertions(+), 2 deletions(-) create mode 100644 change-terminal.patch create mode 100644 fix-dir-noatime-tmpfiles.patch create mode 100644 improve-restart-behaviour.patch create mode 100644 journal-bugfixes.patch create mode 100644 ulimit-support.patch diff --git a/change-terminal.patch b/change-terminal.patch new file mode 100644 index 00000000..93d877c0 --- /dev/null +++ b/change-terminal.patch @@ -0,0 +1,37 @@ +From 1505a61772a6e697f2aabdbb0e827a88b0d7ee6b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 22 Apr 2012 02:45:39 +0200 +Subject: [PATCH] default to v102 everywhere, instead of vt100, to synchronize + with agetty + +--- + src/util.c | 2 +- + units/serial-getty@.service.m4 | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-44/src/util.c +=================================================================== +--- systemd-44.orig/src/util.c ++++ systemd-44/src/util.c +@@ -4425,7 +4425,7 @@ bool tty_is_vc_resolve(const char *tty) + const char *default_term_for_tty(const char *tty) { + assert(tty); + +- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt100"; ++ return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102"; + } + + bool dirent_is_file(const struct dirent *de) { +Index: systemd-44/units/serial-getty@.service.m4 +=================================================================== +--- systemd-44.orig/units/serial-getty@.service.m4 ++++ systemd-44/units/serial-getty@.service.m4 +@@ -35,7 +35,7 @@ Before=getty.target + IgnoreOnIsolate=yes + + [Service] +-Environment=TERM=vt100 ++Environment=TERM=vt102 + ExecStart=-/sbin/agetty -s %I 115200,38400,9600 + Restart=always + RestartSec=0 diff --git a/fix-dir-noatime-tmpfiles.patch b/fix-dir-noatime-tmpfiles.patch new file mode 100644 index 00000000..714ada2f --- /dev/null +++ b/fix-dir-noatime-tmpfiles.patch @@ -0,0 +1,41 @@ +From de49f6dd99aca059da24c9afc672782f1768abd2 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 11 Apr 2012 21:33:12 +0200 +Subject: [PATCH] tmpfiles: open directories with O_NOATIME to preserve + timestamp + +Before: + # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' + Access: 2012-04-11 21:32:48.444920237 +0200 + # systemd-tmpfiles --clean + # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' + Access: 2012-04-11 21:36:27.628925459 +0200 + +After: + # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' + Access: 2012-04-11 21:32:48.444920237 +0200 + # ./systemd-tmpfiles --clean + # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' + Access: 2012-04-11 21:32:48.444920237 +0200 + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=810257 +--- + src/tmpfiles.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/tmpfiles.c b/src/tmpfiles.c +index 21bf44d..09eefcf 100644 +--- a/src/tmpfiles.c ++++ b/src/tmpfiles.c +@@ -250,7 +250,7 @@ static int dir_cleanup( + DIR *sub_dir; + int q; + +- sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW); ++ sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW|O_NOATIME); + if (sub_dir == NULL) { + if (errno != ENOENT) { + log_error("opendir(%s/%s) failed: %m", p, dent->d_name); +-- +1.7.7 + diff --git a/improve-restart-behaviour.patch b/improve-restart-behaviour.patch new file mode 100644 index 00000000..28521824 --- /dev/null +++ b/improve-restart-behaviour.patch @@ -0,0 +1,7661 @@ +From 4cbb803c2197b6be6be709a11911bde00f6853f6 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 28 Mar 2012 00:42:27 +0200 +Subject: [PATCH 01/30] job: fix loss of ordering with restart jobs + +Suppose that foo.service/start is a job waiting on other job bar.service/start +to finish. And then foo.service/restart is enqueued (not using +--ignore-dependencies). + +Currently this makes foo.service start immediately, forgetting about the +ordering to bar.service. + +The runnability check for JOB_RESTART jobs looks only at dependencies for +stopping. That's actually correct, because restart jobs should be treated the +same as stop jobs at first. The bug is that job_run_and_invalidate() does not +treat them exactly the same as stop jobs. unit_start() gets called without +checking for the runnability of the converted JOB_START job. + +The fix is to simplify the switch in job_run_and_invalidate(). Handle +JOB_RESTART identically to JOB_STOP. +Also simplify the handling of JOB_TRY_RESTART - just convert it to JOB_RESTART +if the unit is active and let it fall through to the JOB_RESTART case. +Similarly for JOB_RELOAD_OR_START - have a fall through to JOB_START. + +In job_finish_and_invalidate() it's not necessary to check for JOB_TRY_RESTART +with JOB_DONE, because JOB_TRY_RESTART jobs will have been converted to +JOB_RESTART already. + +Speeding up the restart of services in "auto-restart" state still works as +before. + +Improves: https://bugzilla.redhat.com/show_bug.cgi?id=753586 +but it's still not perfect. With this fix the try-restart action will wait for +the restart to complete in the right order, but the optimal behaviour would be +to finish quickly (without disturbing the start job). +--- + src/job.c | 64 ++++++++++++++++++++----------------------------------------- + 1 files changed, 21 insertions(+), 43 deletions(-) + +diff --git a/src/job.c b/src/job.c +index e57286f..d43ce8e 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -387,14 +387,21 @@ int job_run_and_invalidate(Job *j) { + + switch (j->type) { + ++ case JOB_RELOAD_OR_START: ++ if (unit_active_state(j->unit) == UNIT_ACTIVE) { ++ j->type = JOB_RELOAD; ++ r = unit_reload(j->unit); ++ break; ++ } ++ j->type = JOB_START; ++ /* fall through */ ++ + case JOB_START: + r = unit_start(j->unit); + +- /* If this unit cannot be started, then simply +- * wait */ ++ /* If this unit cannot be started, then simply wait */ + if (r == -EBADR) + r = 0; +- + break; + + case JOB_VERIFY_ACTIVE: { +@@ -408,11 +415,19 @@ int job_run_and_invalidate(Job *j) { + break; + } + ++ case JOB_TRY_RESTART: ++ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(j->unit))) { ++ r = -ENOEXEC; ++ break; ++ } ++ j->type = JOB_RESTART; ++ /* fall through */ ++ + case JOB_STOP: ++ case JOB_RESTART: + r = unit_stop(j->unit); + +- /* If this unit cannot stopped, then simply +- * wait. */ ++ /* If this unit cannot stopped, then simply wait. */ + if (r == -EBADR) + r = 0; + break; +@@ -421,43 +436,6 @@ int job_run_and_invalidate(Job *j) { + r = unit_reload(j->unit); + break; + +- case JOB_RELOAD_OR_START: +- if (unit_active_state(j->unit) == UNIT_ACTIVE) { +- j->type = JOB_RELOAD; +- r = unit_reload(j->unit); +- } else { +- j->type = JOB_START; +- r = unit_start(j->unit); +- +- if (r == -EBADR) +- r = 0; +- } +- break; +- +- case JOB_RESTART: { +- UnitActiveState t = unit_active_state(j->unit); +- if (t == UNIT_INACTIVE || t == UNIT_FAILED || t == UNIT_ACTIVATING) { +- j->type = JOB_START; +- r = unit_start(j->unit); +- } else +- r = unit_stop(j->unit); +- break; +- } +- +- case JOB_TRY_RESTART: { +- UnitActiveState t = unit_active_state(j->unit); +- if (t == UNIT_INACTIVE || t == UNIT_FAILED || t == UNIT_DEACTIVATING) +- r = -ENOEXEC; +- else if (t == UNIT_ACTIVATING) { +- j->type = JOB_START; +- r = unit_start(j->unit); +- } else { +- j->type = JOB_RESTART; +- r = unit_stop(j->unit); +- } +- break; +- } +- + default: + assert_not_reached("Unknown job type"); + } +@@ -536,7 +514,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + job_add_to_dbus_queue(j); + + /* Patch restart jobs so that they become normal start jobs */ +- if (result == JOB_DONE && (j->type == JOB_RESTART || j->type == JOB_TRY_RESTART)) { ++ if (result == JOB_DONE && j->type == JOB_RESTART) { + + log_debug("Converting job %s/%s -> %s/%s", + j->unit->id, job_type_to_string(j->type), +-- +1.7.7 + + +From 8166db595346260a3e36206249f7e82bc9ad7406 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 28 Mar 2012 01:26:04 +0200 +Subject: [PATCH 02/30] job: add debug prints where job type gets changed + +Conflicts: + + src/job.c +--- + src/job.c | 14 +++++++++----- + 1 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/src/job.c b/src/job.c +index d43ce8e..6a4d8a7 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -355,6 +355,14 @@ bool job_is_runnable(Job *j) { + return true; + } + ++static void job_change_type(Job *j, JobType newtype) { ++ log_debug("Converting job %s/%s -> %s/%s", ++ j->unit->id, job_type_to_string(j->type), ++ j->unit->id, job_type_to_string(newtype)); ++ ++ j->type = newtype; ++} ++ + int job_run_and_invalidate(Job *j) { + int r; + uint32_t id; +@@ -516,12 +524,8 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + /* Patch restart jobs so that they become normal start jobs */ + if (result == JOB_DONE && j->type == JOB_RESTART) { + +- log_debug("Converting job %s/%s -> %s/%s", +- j->unit->id, job_type_to_string(j->type), +- j->unit->id, job_type_to_string(JOB_START)); +- ++ job_change_type(j, JOB_START); + j->state = JOB_WAITING; +- j->type = JOB_START; + + job_add_to_run_queue(j); + +-- +1.7.7 + + +From b0055c992aefe7512ad0f53d7c6e202d4db2bf53 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 5 Apr 2012 08:34:05 +0200 +Subject: [PATCH 03/30] job: use a lookup table for merging of job types + +It is easier to see what job_type_merge() is doing when the merging +rules are written in the form of a table. + +job_type_is_superset() contained redundant information. It can be +simplified to a simple rule: Type A is a superset of B iff merging A +with B gives A. + +Two job types are conflicting iff they are not mergeable. + +Make job_type_lookup_merge() the core function to decide the type +merging. All other job_type_*() are just short wrappers around it. +They can be inline. + +test-job-type gives the same results as before. +btw, the systemd binary is smaller by almost 1 KB. +(cherry picked from commit 348e27fedfd4cdd2238ff31a46785a70b9dc6fc0) +--- + src/job.c | 123 +++++++++++++++++------------------------------------------- + src/job.h | 29 ++++++++++++-- + 2 files changed, 60 insertions(+), 92 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 6a4d8a7..da939fb 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -164,100 +164,47 @@ bool job_is_anchor(Job *j) { + return false; + } + +-static bool types_match(JobType a, JobType b, JobType c, JobType d) { +- return +- (a == c && b == d) || +- (a == d && b == c); +-} +- +-int job_type_merge(JobType *a, JobType b) { +- if (*a == b) +- return 0; +- +- /* Merging is associative! a merged with b merged with c is +- * the same as a merged with c merged with b. */ +- +- /* Mergeability is transitive! if a can be merged with b and b +- * with c then a also with c */ +- +- /* Also, if a merged with b cannot be merged with c, then +- * either a or b cannot be merged with c either */ +- +- if (types_match(*a, b, JOB_START, JOB_VERIFY_ACTIVE)) +- *a = JOB_START; +- else if (types_match(*a, b, JOB_START, JOB_RELOAD) || +- types_match(*a, b, JOB_START, JOB_RELOAD_OR_START) || +- types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_RELOAD_OR_START) || +- types_match(*a, b, JOB_RELOAD, JOB_RELOAD_OR_START)) +- *a = JOB_RELOAD_OR_START; +- else if (types_match(*a, b, JOB_START, JOB_RESTART) || +- types_match(*a, b, JOB_START, JOB_TRY_RESTART) || +- types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_RESTART) || +- types_match(*a, b, JOB_RELOAD, JOB_RESTART) || +- types_match(*a, b, JOB_RELOAD_OR_START, JOB_RESTART) || +- types_match(*a, b, JOB_RELOAD_OR_START, JOB_TRY_RESTART) || +- types_match(*a, b, JOB_RESTART, JOB_TRY_RESTART)) +- *a = JOB_RESTART; +- else if (types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_RELOAD)) +- *a = JOB_RELOAD; +- else if (types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_TRY_RESTART) || +- types_match(*a, b, JOB_RELOAD, JOB_TRY_RESTART)) +- *a = JOB_TRY_RESTART; +- else +- return -EEXIST; +- +- return 0; +-} +- +-bool job_type_is_mergeable(JobType a, JobType b) { +- return job_type_merge(&a, b) >= 0; +-} +- +-bool job_type_is_superset(JobType a, JobType b) { ++/* ++ * Merging is commutative, so imagine the matrix as symmetric. We store only ++ * its lower triangle to avoid duplication. We don't store the main diagonal, ++ * because A merged with A is simply A. ++ * ++ * Merging is associative! A merged with B merged with C is the same as ++ * A merged with C merged with B. ++ * ++ * Mergeability is transitive! If A can be merged with B and B with C then ++ * A also with C. ++ * ++ * Also, if A merged with B cannot be merged with C, then either A or B cannot ++ * be merged with C either. ++ */ ++static const JobType job_merging_table[] = { ++/* What \ With * JOB_START JOB_VERIFY_ACTIVE JOB_STOP JOB_RELOAD JOB_RELOAD_OR_START JOB_RESTART JOB_TRY_RESTART */ ++/************************************************************************************************************************************/ ++/*JOB_START */ ++/*JOB_VERIFY_ACTIVE */ JOB_START, ++/*JOB_STOP */ -1, -1, ++/*JOB_RELOAD */ JOB_RELOAD_OR_START, JOB_RELOAD, -1, ++/*JOB_RELOAD_OR_START*/ JOB_RELOAD_OR_START, JOB_RELOAD_OR_START, -1, JOB_RELOAD_OR_START, ++/*JOB_RESTART */ JOB_RESTART, JOB_RESTART, -1, JOB_RESTART, JOB_RESTART, ++/*JOB_TRY_RESTART */ JOB_RESTART, JOB_TRY_RESTART, -1, JOB_TRY_RESTART, JOB_RESTART, JOB_RESTART, ++}; + +- /* Checks whether operation a is a "superset" of b in its +- * actions */ ++JobType job_type_lookup_merge(JobType a, JobType b) { ++ assert_cc(ELEMENTSOF(job_merging_table) == _JOB_TYPE_MAX * (_JOB_TYPE_MAX - 1) / 2); ++ assert(a >= 0 && a < _JOB_TYPE_MAX); ++ assert(b >= 0 && b < _JOB_TYPE_MAX); + + if (a == b) +- return true; +- +- switch (a) { +- case JOB_START: +- return b == JOB_VERIFY_ACTIVE; +- +- case JOB_RELOAD: +- return +- b == JOB_VERIFY_ACTIVE; +- +- case JOB_RELOAD_OR_START: +- return +- b == JOB_RELOAD || +- b == JOB_START || +- b == JOB_VERIFY_ACTIVE; +- +- case JOB_RESTART: +- return +- b == JOB_START || +- b == JOB_VERIFY_ACTIVE || +- b == JOB_RELOAD || +- b == JOB_RELOAD_OR_START || +- b == JOB_TRY_RESTART; +- +- case JOB_TRY_RESTART: +- return +- b == JOB_VERIFY_ACTIVE || +- b == JOB_RELOAD; +- default: +- return false; ++ return a; + ++ if (a < b) { ++ JobType tmp = a; ++ a = b; ++ b = tmp; + } +-} +- +-bool job_type_is_conflicting(JobType a, JobType b) { +- assert(a >= 0 && a < _JOB_TYPE_MAX); +- assert(b >= 0 && b < _JOB_TYPE_MAX); + +- return (a == JOB_STOP) != (b == JOB_STOP); ++ return job_merging_table[(a - 1) * a / 2 + b]; + } + + bool job_type_is_redundant(JobType a, UnitActiveState b) { +diff --git a/src/job.h b/src/job.h +index 2121426..60a43e0 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -24,6 +24,7 @@ + + #include + #include ++#include + + typedef struct Job Job; + typedef struct JobDependency JobDependency; +@@ -37,6 +38,7 @@ typedef enum JobResult JobResult; + #include "hashmap.h" + #include "list.h" + ++/* Be careful when changing the job types! Adjust job_merging_table[] accordingly! */ + enum JobType { + JOB_START, /* if a unit does not support being started, we'll just wait until it becomes active */ + JOB_VERIFY_ACTIVE, +@@ -145,10 +147,29 @@ bool job_is_anchor(Job *j); + + int job_merge(Job *j, Job *other); + +-int job_type_merge(JobType *a, JobType b); +-bool job_type_is_mergeable(JobType a, JobType b); +-bool job_type_is_superset(JobType a, JobType b); +-bool job_type_is_conflicting(JobType a, JobType b); ++JobType job_type_lookup_merge(JobType a, JobType b); ++ ++static inline int job_type_merge(JobType *a, JobType b) { ++ JobType t = job_type_lookup_merge(*a, b); ++ if (t < 0) ++ return -EEXIST; ++ *a = t; ++ return 0; ++} ++ ++static inline bool job_type_is_mergeable(JobType a, JobType b) { ++ return job_type_lookup_merge(a, b) >= 0; ++} ++ ++static inline bool job_type_is_conflicting(JobType a, JobType b) { ++ return !job_type_is_mergeable(a, b); ++} ++ ++static inline bool job_type_is_superset(JobType a, JobType b) { ++ /* Checks whether operation a is a "superset" of b in its actions */ ++ return a == job_type_lookup_merge(a, b); ++} ++ + bool job_type_is_redundant(JobType a, UnitActiveState b); + + bool job_is_runnable(Job *j); +-- +1.7.7 + + +From 5503c3419fbcceebb6f8e94c291457adb260537b Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 19 Apr 2012 23:20:34 +0200 +Subject: [PATCH 04/30] job: allow job_free() only on already unlinked jobs + +job_free() is IMO too helpful when it unlinks the job from the transaction. +The callers should ensure the job is already unlinked before freeing. +The added assertions check if anyone gets it wrong. +(cherry picked from commit 02a3bcc6b4372ca50c0a62b193f9a75b988ffa69) +--- + src/job.c | 6 ++++-- + src/manager.c | 11 ++++++++--- + src/manager.h | 2 -- + 3 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/src/job.c b/src/job.c +index da939fb..8e4d93e 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -71,8 +71,10 @@ void job_free(Job *j) { + j->installed = false; + } + +- /* Detach from next 'smaller' objects */ +- manager_transaction_unlink_job(j->manager, j, true); ++ assert(!j->transaction_prev); ++ assert(!j->transaction_next); ++ assert(!j->subject_list); ++ assert(!j->object_list); + + if (j->in_run_queue) + LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); +diff --git a/src/manager.c b/src/manager.c +index 74bd740..c77b5d2 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -637,13 +637,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + return r; + } + ++static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies); ++ + static void transaction_delete_job(Manager *m, Job *j, bool delete_dependencies) { + assert(m); + assert(j); + + /* Deletes one job from the transaction */ + +- manager_transaction_unlink_job(m, j, delete_dependencies); ++ transaction_unlink_job(m, j, delete_dependencies); + + if (!j->installed) + job_free(j); +@@ -685,8 +687,10 @@ static void transaction_abort(Manager *m) { + while ((j = hashmap_first(m->transaction_jobs))) + if (j->installed) + transaction_delete_job(m, j, true); +- else ++ else { ++ transaction_unlink_job(m, j, true); + job_free(j); ++ } + + assert(hashmap_isempty(m->transaction_jobs)); + +@@ -1415,6 +1419,7 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o + LIST_PREPEND(Job, transaction, f, j); + + if (hashmap_replace(m->transaction_jobs, unit, f) < 0) { ++ LIST_REMOVE(Job, transaction, f, j); + job_free(j); + return NULL; + } +@@ -1427,7 +1432,7 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o + return j; + } + +-void manager_transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) { ++static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) { + assert(m); + assert(j); + +diff --git a/src/manager.h b/src/manager.h +index a9d08f0..64d8d0e 100644 +--- a/src/manager.h ++++ b/src/manager.h +@@ -254,8 +254,6 @@ int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode + void manager_dump_units(Manager *s, FILE *f, const char *prefix); + void manager_dump_jobs(Manager *s, FILE *f, const char *prefix); + +-void manager_transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies); +- + void manager_clear_jobs(Manager *m); + + unsigned manager_dispatch_load_queue(Manager *m); +-- +1.7.7 + + +From c2c46edd09f2d0eefc127d22fd38312bf2bed01a Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 19 Apr 2012 23:23:04 +0200 +Subject: [PATCH 05/30] manager: simplify transaction_abort() + +This is equivalent. +(cherry picked from commit 121b3b318042b7fd67ac96601971c1c2f9b77be5) +--- + src/manager.c | 7 +------ + 1 files changed, 1 insertions(+), 6 deletions(-) + +diff --git a/src/manager.c b/src/manager.c +index c77b5d2..cac1fe8 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -685,12 +685,7 @@ static void transaction_abort(Manager *m) { + assert(m); + + while ((j = hashmap_first(m->transaction_jobs))) +- if (j->installed) +- transaction_delete_job(m, j, true); +- else { +- transaction_unlink_job(m, j, true); +- job_free(j); +- } ++ transaction_delete_job(m, j, true); + + assert(hashmap_isempty(m->transaction_jobs)); + +-- +1.7.7 + + +From 4eb87c1148bd48b5d121297f72aa47eb39482ad3 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 10:21:37 +0200 +Subject: [PATCH 06/30] job: job_uninstall() + +Split the uninstallation of the job from job_free() into a separate function. +Adjust the callers. + +job_free() now only works on unlinked and uninstalled jobs. This enforces clear +thinking about job lifetimes. +(cherry picked from commit 97e7d748d1bf26790fc3b2607885f4ac8c4ecf3a) +--- + src/job.c | 25 ++++++++++++++----------- + src/job.h | 1 + + src/manager.c | 8 ++++++-- + src/unit.c | 7 +++++-- + 4 files changed, 26 insertions(+), 15 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 8e4d93e..35e358d 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -55,22 +55,24 @@ Job* job_new(Manager *m, JobType type, Unit *unit) { + return j; + } + +-void job_free(Job *j) { +- assert(j); +- ++void job_uninstall(Job *j) { ++ assert(j->installed); + /* Detach from next 'bigger' objects */ +- if (j->installed) { +- bus_job_send_removed_signal(j); + +- if (j->unit->job == j) { +- j->unit->job = NULL; +- unit_add_to_gc_queue(j->unit); +- } ++ bus_job_send_removed_signal(j); + +- hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); +- j->installed = false; ++ if (j->unit->job == j) { ++ j->unit->job = NULL; ++ unit_add_to_gc_queue(j->unit); + } + ++ hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); ++ j->installed = false; ++} ++ ++void job_free(Job *j) { ++ assert(j); ++ assert(!j->installed); + assert(!j->transaction_prev); + assert(!j->transaction_next); + assert(!j->subject_list); +@@ -491,6 +493,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + + u = j->unit; + t = j->type; ++ job_uninstall(j); + job_free(j); + + job_print_status_message(u, t, result); +diff --git a/src/job.h b/src/job.h +index 60a43e0..ed375fa 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -137,6 +137,7 @@ struct Job { + }; + + Job* job_new(Manager *m, JobType type, Unit *unit); ++void job_uninstall(Job *j); + void job_free(Job *job); + void job_dump(Job *j, FILE*f, const char *prefix); + +diff --git a/src/manager.c b/src/manager.c +index cac1fe8..f8e5d64 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -1249,13 +1249,17 @@ static int transaction_apply(Manager *m, JobMode mode) { + } + + while ((j = hashmap_steal_first(m->transaction_jobs))) { ++ Job *uj; + if (j->installed) { + /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ + continue; + } + +- if (j->unit->job) +- job_free(j->unit->job); ++ uj = j->unit->job; ++ if (uj) { ++ job_uninstall(uj); ++ job_free(uj); ++ } + + j->unit->job = j; + j->installed = true; +diff --git a/src/unit.c b/src/unit.c +index 9e33701..1949995 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -352,8 +352,11 @@ void unit_free(Unit *u) { + SET_FOREACH(t, u->names, i) + hashmap_remove_value(u->manager->units, t, u); + +- if (u->job) +- job_free(u->job); ++ if (u->job) { ++ Job *j = u->job; ++ job_uninstall(j); ++ job_free(j); ++ } + + for (d = 0; d < _UNIT_DEPENDENCY_MAX; d++) + bidi_set_free(u, u->dependencies[d]); +-- +1.7.7 + + +From b95d521e3816800bf43d5e11cef58b69b360233d Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 10:22:07 +0200 +Subject: [PATCH 07/30] manager: Transaction as an object + +This makes it obvious that transactions are short-lived. They are created in +manager_add_job() and destroyed after the application of jobs. +It also prepares for a split of the transaction code to a new source. +(cherry picked from commit 7527cb527598aaabf0ed9b38a352edb28536392a) +--- + src/job.c | 8 +- + src/job.h | 4 +- + src/manager.c | 390 +++++++++++++++++++++++++++++++-------------------------- + src/manager.h | 11 +- + 4 files changed, 225 insertions(+), 188 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 35e358d..6d48748 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -97,7 +97,7 @@ void job_free(Job *j) { + free(j); + } + +-JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { ++JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr) { + JobDependency *l; + + assert(object); +@@ -118,20 +118,20 @@ JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool + if (subject) + LIST_PREPEND(JobDependency, subject, subject->subject_list, l); + else +- LIST_PREPEND(JobDependency, subject, object->manager->transaction_anchor, l); ++ LIST_PREPEND(JobDependency, subject, tr->anchor, l); + + LIST_PREPEND(JobDependency, object, object->object_list, l); + + return l; + } + +-void job_dependency_free(JobDependency *l) { ++void job_dependency_free(JobDependency *l, Transaction *tr) { + assert(l); + + if (l->subject) + LIST_REMOVE(JobDependency, subject, l->subject->subject_list, l); + else +- LIST_REMOVE(JobDependency, subject, l->object->manager->transaction_anchor, l); ++ LIST_REMOVE(JobDependency, subject, tr->anchor, l); + + LIST_REMOVE(JobDependency, object, l->object->object_list, l); + +diff --git a/src/job.h b/src/job.h +index ed375fa..18ba64f 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -141,8 +141,8 @@ void job_uninstall(Job *j); + void job_free(Job *job); + void job_dump(Job *j, FILE*f, const char *prefix); + +-JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); +-void job_dependency_free(JobDependency *l); ++JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr); ++void job_dependency_free(JobDependency *l, Transaction *tr); + + bool job_is_anchor(Job *j); + +diff --git a/src/manager.c b/src/manager.c +index f8e5d64..ff4249d 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -259,9 +259,6 @@ int manager_new(ManagerRunningAs running_as, Manager **_m) { + if (!(m->jobs = hashmap_new(trivial_hash_func, trivial_compare_func))) + goto fail; + +- if (!(m->transaction_jobs = hashmap_new(trivial_hash_func, trivial_compare_func))) +- goto fail; +- + if (!(m->watch_pids = hashmap_new(trivial_hash_func, trivial_compare_func))) + goto fail; + +@@ -429,14 +426,10 @@ static unsigned manager_dispatch_gc_queue(Manager *m) { + } + + static void manager_clear_jobs_and_units(Manager *m) { +- Job *j; + Unit *u; + + assert(m); + +- while ((j = hashmap_first(m->transaction_jobs))) +- job_free(j); +- + while ((u = hashmap_first(m->units))) + unit_free(u); + +@@ -449,7 +442,6 @@ static void manager_clear_jobs_and_units(Manager *m) { + assert(!m->cleanup_queue); + assert(!m->gc_queue); + +- assert(hashmap_isempty(m->transaction_jobs)); + assert(hashmap_isempty(m->jobs)); + assert(hashmap_isempty(m->units)); + } +@@ -475,7 +467,6 @@ void manager_free(Manager *m) { + + hashmap_free(m->units); + hashmap_free(m->jobs); +- hashmap_free(m->transaction_jobs); + hashmap_free(m->watch_pids); + hashmap_free(m->watch_bus); + +@@ -637,65 +628,47 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + return r; + } + +-static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies); ++static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies); + +-static void transaction_delete_job(Manager *m, Job *j, bool delete_dependencies) { +- assert(m); ++static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependencies) { ++ assert(tr); + assert(j); + + /* Deletes one job from the transaction */ + +- transaction_unlink_job(m, j, delete_dependencies); ++ transaction_unlink_job(tr, j, delete_dependencies); + + if (!j->installed) + job_free(j); + } + +-static void transaction_delete_unit(Manager *m, Unit *u) { ++static void transaction_delete_unit(Transaction *tr, Unit *u) { + Job *j; + + /* Deletes all jobs associated with a certain unit from the + * transaction */ + +- while ((j = hashmap_get(m->transaction_jobs, u))) +- transaction_delete_job(m, j, true); +-} +- +-static void transaction_clean_dependencies(Manager *m) { +- Iterator i; +- Job *j; +- +- assert(m); +- +- /* Drops all dependencies of all installed jobs */ +- +- HASHMAP_FOREACH(j, m->jobs, i) { +- while (j->subject_list) +- job_dependency_free(j->subject_list); +- while (j->object_list) +- job_dependency_free(j->object_list); +- } +- +- assert(!m->transaction_anchor); ++ while ((j = hashmap_get(tr->jobs, u))) ++ transaction_delete_job(tr, j, true); + } + +-static void transaction_abort(Manager *m) { ++static void transaction_abort(Transaction *tr) { + Job *j; + +- assert(m); ++ assert(tr); + +- while ((j = hashmap_first(m->transaction_jobs))) +- transaction_delete_job(m, j, true); ++ while ((j = hashmap_first(tr->jobs))) ++ transaction_delete_job(tr, j, true); + +- assert(hashmap_isempty(m->transaction_jobs)); ++ assert(hashmap_isempty(tr->jobs)); + +- transaction_clean_dependencies(m); ++ assert(!tr->anchor); + } + +-static void transaction_find_jobs_that_matter_to_anchor(Manager *m, Job *j, unsigned generation) { ++static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { + JobDependency *l; + +- assert(m); ++ assert(tr); + + /* A recursive sweep through the graph that marks all units + * that matter to the anchor job, i.e. are directly or +@@ -705,7 +678,7 @@ static void transaction_find_jobs_that_matter_to_anchor(Manager *m, Job *j, unsi + if (j) + l = j->subject_list; + else +- l = m->transaction_anchor; ++ l = tr->anchor; + + LIST_FOREACH(subject, l, l) { + +@@ -720,11 +693,11 @@ static void transaction_find_jobs_that_matter_to_anchor(Manager *m, Job *j, unsi + l->object->matters_to_anchor = true; + l->object->generation = generation; + +- transaction_find_jobs_that_matter_to_anchor(m, l->object, generation); ++ transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); + } + } + +-static void transaction_merge_and_delete_job(Manager *m, Job *j, Job *other, JobType t) { ++static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other, JobType t) { + JobDependency *l, *last; + + assert(j); +@@ -775,7 +748,7 @@ static void transaction_merge_and_delete_job(Manager *m, Job *j, Job *other, Job + /* Kill the other job */ + other->subject_list = NULL; + other->object_list = NULL; +- transaction_delete_job(m, other, true); ++ transaction_delete_job(tr, other, true); + } + static bool job_is_conflicted_by(Job *j) { + JobDependency *l; +@@ -792,7 +765,7 @@ static bool job_is_conflicted_by(Job *j) { + return false; + } + +-static int delete_one_unmergeable_job(Manager *m, Job *j) { ++static int delete_one_unmergeable_job(Transaction *tr, Job *j) { + Job *k; + + assert(j); +@@ -853,23 +826,23 @@ static int delete_one_unmergeable_job(Manager *m, Job *j) { + + /* Ok, we can drop one, so let's do so. */ + log_debug("Fixing conflicting jobs by deleting job %s/%s", d->unit->id, job_type_to_string(d->type)); +- transaction_delete_job(m, d, true); ++ transaction_delete_job(tr, d, true); + return 0; + } + + return -EINVAL; + } + +-static int transaction_merge_jobs(Manager *m, DBusError *e) { ++static int transaction_merge_jobs(Transaction *tr, DBusError *e) { + Job *j; + Iterator i; + int r; + +- assert(m); ++ assert(tr); + + /* First step, check whether any of the jobs for one specific + * task conflict. If so, try to drop one of them. */ +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + JobType t; + Job *k; + +@@ -882,7 +855,8 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { + * action. Let's see if we can get rid of one + * of them */ + +- if ((r = delete_one_unmergeable_job(m, j)) >= 0) ++ r = delete_one_unmergeable_job(tr, j); ++ if (r >= 0) + /* Ok, we managed to drop one, now + * let's ask our callers to call us + * again after garbage collecting */ +@@ -896,7 +870,7 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { + } + + /* Second step, merge the jobs. */ +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + JobType t = j->type; + Job *k; + +@@ -910,14 +884,14 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { + + while ((k = j->transaction_next)) { + if (j->installed) { +- transaction_merge_and_delete_job(m, k, j, t); ++ transaction_merge_and_delete_job(tr, k, j, t); + j = k; + } else +- transaction_merge_and_delete_job(m, j, k, t); ++ transaction_merge_and_delete_job(tr, j, k, t); + } + + if (j->unit->job && !j->installed) +- transaction_merge_and_delete_job(m, j, j->unit->job, t); ++ transaction_merge_and_delete_job(tr, j, j->unit->job, t); + + assert(!j->transaction_next); + assert(!j->transaction_prev); +@@ -926,10 +900,10 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { + return 0; + } + +-static void transaction_drop_redundant(Manager *m) { ++static void transaction_drop_redundant(Transaction *tr) { + bool again; + +- assert(m); ++ assert(tr); + + /* Goes through the transaction and removes all jobs that are + * a noop */ +@@ -940,7 +914,7 @@ static void transaction_drop_redundant(Manager *m) { + + again = false; + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + bool changes_something = false; + Job *k; + +@@ -959,7 +933,7 @@ static void transaction_drop_redundant(Manager *m) { + continue; + + /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ +- transaction_delete_job(m, j, false); ++ transaction_delete_job(tr, j, false); + again = true; + break; + } +@@ -981,12 +955,12 @@ static bool unit_matters_to_anchor(Unit *u, Job *j) { + return false; + } + +-static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned generation, DBusError *e) { ++static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsigned generation, DBusError *e) { + Iterator i; + Unit *u; + int r; + +- assert(m); ++ assert(tr); + assert(j); + assert(!j->transaction_prev); + +@@ -1033,7 +1007,7 @@ static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned + + if (delete) { + log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); +- transaction_delete_unit(m, delete->unit); ++ transaction_delete_unit(tr, delete->unit); + return -EAGAIN; + } + +@@ -1056,15 +1030,18 @@ static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned + Job *o; + + /* Is there a job for this unit? */ +- if (!(o = hashmap_get(m->transaction_jobs, u))) +- ++ o = hashmap_get(tr->jobs, u); ++ if (!o) { + /* Ok, there is no job for this in the + * transaction, but maybe there is already one + * running? */ +- if (!(o = u->job)) ++ o = u->job; ++ if (!o) + continue; ++ } + +- if ((r = transaction_verify_order_one(m, o, j, generation, e)) < 0) ++ r = transaction_verify_order_one(tr, o, j, generation, e); ++ if (r < 0) + return r; + } + +@@ -1075,13 +1052,13 @@ static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned + return 0; + } + +-static int transaction_verify_order(Manager *m, unsigned *generation, DBusError *e) { ++static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusError *e) { + Job *j; + int r; + Iterator i; + unsigned g; + +- assert(m); ++ assert(tr); + assert(generation); + + /* Check if the ordering graph is cyclic. If it is, try to fix +@@ -1089,17 +1066,17 @@ static int transaction_verify_order(Manager *m, unsigned *generation, DBusError + + g = (*generation)++; + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) +- if ((r = transaction_verify_order_one(m, j, NULL, g, e)) < 0) ++ HASHMAP_FOREACH(j, tr->jobs, i) ++ if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0) + return r; + + return 0; + } + +-static void transaction_collect_garbage(Manager *m) { ++static void transaction_collect_garbage(Transaction *tr) { + bool again; + +- assert(m); ++ assert(tr); + + /* Drop jobs that are not required by any other job */ + +@@ -1109,7 +1086,7 @@ static void transaction_collect_garbage(Manager *m) { + + again = false; + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + if (j->object_list) { + /* log_debug("Keeping job %s/%s because of %s/%s", */ + /* j->unit->id, job_type_to_string(j->type), */ +@@ -1119,7 +1096,7 @@ static void transaction_collect_garbage(Manager *m) { + } + + /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ +- transaction_delete_job(m, j, true); ++ transaction_delete_job(tr, j, true); + again = true; + break; + } +@@ -1127,16 +1104,16 @@ static void transaction_collect_garbage(Manager *m) { + } while (again); + } + +-static int transaction_is_destructive(Manager *m, DBusError *e) { ++static int transaction_is_destructive(Transaction *tr, DBusError *e) { + Iterator i; + Job *j; + +- assert(m); ++ assert(tr); + + /* Checks whether applying this transaction means that + * existing jobs would be replaced */ + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + + /* Assume merged */ + assert(!j->transaction_prev); +@@ -1154,9 +1131,9 @@ static int transaction_is_destructive(Manager *m, DBusError *e) { + return 0; + } + +-static void transaction_minimize_impact(Manager *m) { ++static void transaction_minimize_impact(Transaction *tr) { + bool again; +- assert(m); ++ assert(tr); + + /* Drops all unnecessary jobs that reverse already active jobs + * or that stop a running service. */ +@@ -1167,7 +1144,7 @@ static void transaction_minimize_impact(Manager *m) { + + again = false; + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + LIST_FOREACH(transaction, j, j) { + bool stops_running_service, changes_existing_job; + +@@ -1198,7 +1175,7 @@ static void transaction_minimize_impact(Manager *m) { + /* Ok, let's get rid of this */ + log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); + +- transaction_delete_job(m, j, true); ++ transaction_delete_job(tr, j, true); + again = true; + break; + } +@@ -1210,7 +1187,7 @@ static void transaction_minimize_impact(Manager *m) { + } while (again); + } + +-static int transaction_apply(Manager *m, JobMode mode) { ++static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + Iterator i; + Job *j; + int r; +@@ -1225,7 +1202,7 @@ static int transaction_apply(Manager *m, JobMode mode) { + HASHMAP_FOREACH(j, m->jobs, i) { + assert(j->installed); + +- if (hashmap_get(m->transaction_jobs, j->unit)) ++ if (hashmap_get(tr->jobs, j->unit)) + continue; + + /* 'j' itself is safe to remove, but if other jobs +@@ -1236,7 +1213,7 @@ static int transaction_apply(Manager *m, JobMode mode) { + } + } + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + /* Assume merged */ + assert(!j->transaction_prev); + assert(!j->transaction_next); +@@ -1244,11 +1221,12 @@ static int transaction_apply(Manager *m, JobMode mode) { + if (j->installed) + continue; + +- if ((r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j)) < 0) ++ r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); ++ if (r < 0) + goto rollback; + } + +- while ((j = hashmap_steal_first(m->transaction_jobs))) { ++ while ((j = hashmap_steal_first(tr->jobs))) { + Job *uj; + if (j->installed) { + /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ +@@ -1271,6 +1249,9 @@ static int transaction_apply(Manager *m, JobMode mode) { + assert(!j->transaction_next); + assert(!j->transaction_prev); + ++ /* Clean the job dependencies */ ++ transaction_unlink_job(tr, j, false); ++ + job_add_to_run_queue(j); + job_add_to_dbus_queue(j); + job_start_timer(j); +@@ -1278,14 +1259,13 @@ static int transaction_apply(Manager *m, JobMode mode) { + log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); + } + +- /* As last step, kill all remaining job dependencies. */ +- transaction_clean_dependencies(m); ++ assert(!tr->anchor); + + return 0; + + rollback: + +- HASHMAP_FOREACH(j, m->transaction_jobs, i) { ++ HASHMAP_FOREACH(j, tr->jobs, i) { + if (j->installed) + continue; + +@@ -1295,41 +1275,42 @@ rollback: + return r; + } + +-static int transaction_activate(Manager *m, JobMode mode, DBusError *e) { ++static int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { + int r; + unsigned generation = 1; + +- assert(m); ++ assert(tr); + +- /* This applies the changes recorded in transaction_jobs to ++ /* This applies the changes recorded in tr->jobs to + * the actual list of jobs, if possible. */ + + /* First step: figure out which jobs matter */ +- transaction_find_jobs_that_matter_to_anchor(m, NULL, generation++); ++ transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); + + /* Second step: Try not to stop any running services if + * we don't have to. Don't try to reverse running + * jobs if we don't have to. */ + if (mode == JOB_FAIL) +- transaction_minimize_impact(m); ++ transaction_minimize_impact(tr); + + /* Third step: Drop redundant jobs */ +- transaction_drop_redundant(m); ++ transaction_drop_redundant(tr); + + for (;;) { + /* Fourth step: Let's remove unneeded jobs that might + * be lurking. */ + if (mode != JOB_ISOLATE) +- transaction_collect_garbage(m); ++ transaction_collect_garbage(tr); + + /* Fifth step: verify order makes sense and correct + * cycles if necessary and possible */ +- if ((r = transaction_verify_order(m, &generation, e)) >= 0) ++ r = transaction_verify_order(tr, &generation, e); ++ if (r >= 0) + break; + + if (r != -EAGAIN) { + log_warning("Requested transaction contains an unfixable cyclic ordering dependency: %s", bus_error(e, r)); +- goto rollback; ++ return r; + } + + /* Let's see if the resulting transaction ordering +@@ -1340,60 +1321,60 @@ static int transaction_activate(Manager *m, JobMode mode, DBusError *e) { + /* Sixth step: let's drop unmergeable entries if + * necessary and possible, merge entries we can + * merge */ +- if ((r = transaction_merge_jobs(m, e)) >= 0) ++ r = transaction_merge_jobs(tr, e); ++ if (r >= 0) + break; + + if (r != -EAGAIN) { + log_warning("Requested transaction contains unmergeable jobs: %s", bus_error(e, r)); +- goto rollback; ++ return r; + } + + /* Seventh step: an entry got dropped, let's garbage + * collect its dependencies. */ + if (mode != JOB_ISOLATE) +- transaction_collect_garbage(m); ++ transaction_collect_garbage(tr); + + /* Let's see if the resulting transaction still has + * unmergeable entries ... */ + } + + /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ +- transaction_drop_redundant(m); ++ transaction_drop_redundant(tr); + + /* Ninth step: check whether we can actually apply this */ +- if (mode == JOB_FAIL) +- if ((r = transaction_is_destructive(m, e)) < 0) { ++ if (mode == JOB_FAIL) { ++ r = transaction_is_destructive(tr, e); ++ if (r < 0) { + log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r)); +- goto rollback; ++ return r; + } ++ } + + /* Tenth step: apply changes */ +- if ((r = transaction_apply(m, mode)) < 0) { ++ r = transaction_apply(tr, m, mode); ++ if (r < 0) { + log_warning("Failed to apply transaction: %s", strerror(-r)); +- goto rollback; ++ return r; + } + +- assert(hashmap_isempty(m->transaction_jobs)); +- assert(!m->transaction_anchor); ++ assert(hashmap_isempty(tr->jobs)); ++ assert(!tr->anchor); + + return 0; +- +-rollback: +- transaction_abort(m); +- return r; + } + +-static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool override, bool *is_new) { ++static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, bool override, bool *is_new) { + Job *j, *f; + +- assert(m); ++ assert(tr); + assert(unit); + + /* Looks for an existing prospective job and returns that. If + * it doesn't exist it is created and added to the prospective + * jobs list. */ + +- f = hashmap_get(m->transaction_jobs, unit); ++ f = hashmap_get(tr->jobs, unit); + + LIST_FOREACH(transaction, j, f) { + assert(j->unit == unit); +@@ -1407,8 +1388,11 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o + + if (unit->job && unit->job->type == type) + j = unit->job; +- else if (!(j = job_new(m, type, unit))) +- return NULL; ++ else { ++ j = job_new(unit->manager, type, unit); ++ if (!j) ++ return NULL; ++ } + + j->generation = 0; + j->marker = NULL; +@@ -1417,7 +1401,7 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o + + LIST_PREPEND(Job, transaction, f, j); + +- if (hashmap_replace(m->transaction_jobs, unit, f) < 0) { ++ if (hashmap_replace(tr->jobs, unit, f) < 0) { + LIST_REMOVE(Job, transaction, f, j); + job_free(j); + return NULL; +@@ -1431,16 +1415,16 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o + return j; + } + +-static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) { +- assert(m); ++static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { ++ assert(tr); + assert(j); + + if (j->transaction_prev) + j->transaction_prev->transaction_next = j->transaction_next; + else if (j->transaction_next) +- hashmap_replace(m->transaction_jobs, j->unit, j->transaction_next); ++ hashmap_replace(tr->jobs, j->unit, j->transaction_next); + else +- hashmap_remove_value(m->transaction_jobs, j->unit, j); ++ hashmap_remove_value(tr->jobs, j->unit, j); + + if (j->transaction_next) + j->transaction_next->transaction_prev = j->transaction_prev; +@@ -1448,24 +1432,24 @@ static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) + j->transaction_prev = j->transaction_next = NULL; + + while (j->subject_list) +- job_dependency_free(j->subject_list); ++ job_dependency_free(j->subject_list, tr); + + while (j->object_list) { + Job *other = j->object_list->matters ? j->object_list->subject : NULL; + +- job_dependency_free(j->object_list); ++ job_dependency_free(j->object_list, tr); + + if (other && delete_dependencies) { + log_debug("Deleting job %s/%s as dependency of job %s/%s", + other->unit->id, job_type_to_string(other->type), + j->unit->id, job_type_to_string(j->type)); +- transaction_delete_job(m, other, delete_dependencies); ++ transaction_delete_job(tr, other, delete_dependencies); + } + } + } + + static int transaction_add_job_and_dependencies( +- Manager *m, ++ Transaction *tr, + JobType type, + Unit *unit, + Job *by, +@@ -1482,7 +1466,7 @@ static int transaction_add_job_and_dependencies( + int r; + bool is_new; + +- assert(m); ++ assert(tr); + assert(type < _JOB_TYPE_MAX); + assert(unit); + +@@ -1519,13 +1503,14 @@ static int transaction_add_job_and_dependencies( + } + + /* First add the job. */ +- if (!(ret = transaction_add_one_job(m, type, unit, override, &is_new))) ++ ret = transaction_add_one_job(tr, type, unit, override, &is_new); ++ if (!ret) + return -ENOMEM; + + ret->ignore_order = ret->ignore_order || ignore_order; + + /* Then, add a link to the job. */ +- if (!job_dependency_new(by, ret, matters, conflicts)) ++ if (!job_dependency_new(by, ret, matters, conflicts, tr)) + return -ENOMEM; + + if (is_new && !ignore_requirements) { +@@ -1534,120 +1519,136 @@ static int transaction_add_job_and_dependencies( + /* If we are following some other unit, make sure we + * add all dependencies of everybody following. */ + if (unit_following_set(ret->unit, &following) > 0) { +- SET_FOREACH(dep, following, i) +- if ((r = transaction_add_job_and_dependencies(m, type, dep, ret, false, override, false, false, ignore_order, e, NULL)) < 0) { ++ SET_FOREACH(dep, following, i) { ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); + } ++ } + + set_free(following); + } + + /* Finally, recursively add in all dependencies. */ + if (type == JOB_START || type == JOB_RELOAD_OR_START) { +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { +- ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL)) < 0) { ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL)) < 0) { ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); ++ if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { +- ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL)) < 0) { ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL)) < 0) { +- ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); ++ if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) +- if ((r = transaction_add_job_and_dependencies(m, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL)) < 0) { ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); + } ++ } + + } + + if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) +- if ((r = transaction_add_job_and_dependencies(m, type, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { +- ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } ++ } + +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) +- if ((r = transaction_add_job_and_dependencies(m, type, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { +- ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } ++ } + } + + if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { +- r = transaction_add_job_and_dependencies(m, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); +- ++ r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); + if (r < 0) { + log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -1669,12 +1670,13 @@ fail: + return r; + } + +-static int transaction_add_isolate_jobs(Manager *m) { ++static int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { + Iterator i; + Unit *u; + char *k; + int r; + ++ assert(tr); + assert(m); + + HASHMAP_FOREACH_KEY(u, k, m->units, i) { +@@ -1691,19 +1693,43 @@ static int transaction_add_isolate_jobs(Manager *m) { + continue; + + /* Is there already something listed for this? */ +- if (hashmap_get(m->transaction_jobs, u)) ++ if (hashmap_get(tr->jobs, u)) + continue; + +- if ((r = transaction_add_job_and_dependencies(m, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL)) < 0) ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); ++ if (r < 0) + log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); + } + + return 0; + } + ++static Transaction *transaction_new(void) { ++ Transaction *tr; ++ ++ tr = new0(Transaction, 1); ++ if (!tr) ++ return NULL; ++ ++ tr->jobs = hashmap_new(trivial_hash_func, trivial_compare_func); ++ if (!tr->jobs) { ++ free(tr); ++ return NULL; ++ } ++ ++ return tr; ++} ++ ++static void transaction_free(Transaction *tr) { ++ assert(hashmap_isempty(tr->jobs)); ++ hashmap_free(tr->jobs); ++ free(tr); ++} ++ + int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { + int r; + Job *ret; ++ Transaction *tr; + + assert(m); + assert(type < _JOB_TYPE_MAX); +@@ -1722,28 +1748,38 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove + + log_debug("Trying to enqueue job %s/%s/%s", unit->id, job_type_to_string(type), job_mode_to_string(mode)); + +- if ((r = transaction_add_job_and_dependencies(m, type, unit, NULL, true, override, false, +- mode == JOB_IGNORE_DEPENDENCIES || mode == JOB_IGNORE_REQUIREMENTS, +- mode == JOB_IGNORE_DEPENDENCIES, e, &ret)) < 0) { +- transaction_abort(m); +- return r; +- } ++ tr = transaction_new(); ++ if (!tr) ++ return -ENOMEM; + +- if (mode == JOB_ISOLATE) +- if ((r = transaction_add_isolate_jobs(m)) < 0) { +- transaction_abort(m); +- return r; +- } ++ r = transaction_add_job_and_dependencies(tr, type, unit, NULL, true, override, false, ++ mode == JOB_IGNORE_DEPENDENCIES || mode == JOB_IGNORE_REQUIREMENTS, ++ mode == JOB_IGNORE_DEPENDENCIES, e, &ret); ++ if (r < 0) ++ goto tr_abort; + +- if ((r = transaction_activate(m, mode, e)) < 0) +- return r; ++ if (mode == JOB_ISOLATE) { ++ r = transaction_add_isolate_jobs(tr, m); ++ if (r < 0) ++ goto tr_abort; ++ } ++ ++ r = transaction_activate(tr, m, mode, e); ++ if (r < 0) ++ goto tr_abort; + + log_debug("Enqueued job %s/%s as %u", unit->id, job_type_to_string(type), (unsigned) ret->id); + + if (_ret) + *_ret = ret; + ++ transaction_free(tr); + return 0; ++ ++tr_abort: ++ transaction_abort(tr); ++ transaction_free(tr); ++ return r; + } + + int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, bool override, DBusError *e, Job **_ret) { +@@ -1907,8 +1943,6 @@ void manager_clear_jobs(Manager *m) { + + assert(m); + +- transaction_abort(m); +- + while ((j = hashmap_first(m->jobs))) + job_finish_and_invalidate(j, JOB_CANCELED); + } +diff --git a/src/manager.h b/src/manager.h +index 64d8d0e..b982d7e 100644 +--- a/src/manager.h ++++ b/src/manager.h +@@ -33,6 +33,7 @@ + #define MANAGER_MAX_NAMES 131072 /* 128K */ + + typedef struct Manager Manager; ++typedef struct Transaction Transaction; + typedef enum WatchType WatchType; + typedef struct Watch Watch; + +@@ -91,6 +92,12 @@ struct Watch { + #include "dbus.h" + #include "path-lookup.h" + ++struct Transaction { ++ /* Jobs to be added */ ++ Hashmap *jobs; /* Unit object => Job object list 1:1 */ ++ JobDependency *anchor; ++}; ++ + struct Manager { + /* Note that the set of units we know of is allowed to be + * inconsistent. However the subset of it that is loaded may +@@ -123,10 +130,6 @@ struct Manager { + /* Units to check when doing GC */ + LIST_HEAD(Unit, gc_queue); + +- /* Jobs to be added */ +- Hashmap *transaction_jobs; /* Unit object => Job object list 1:1 */ +- JobDependency *transaction_anchor; +- + Hashmap *watch_pids; /* pid => Unit object n:1 */ + + char *notify_socket; +-- +1.7.7 + + +From e617c9a330b60d070e3db57c1f86f3c579e03f0c Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 19 Apr 2012 23:54:11 +0200 +Subject: [PATCH 08/30] manager: split transaction.[ch] + +manager.c takes care of the main loop, unit management, signal handling, ... +transaction.c computes transactions. + +After split: +manager.c: 65 KB +transaction.c: 40 KB +(cherry picked from commit 75778e21dfeee51036d24501e39ea7398fabe502) + +Conflicts: + + Makefile.am + src/manager.c +--- + Makefile.am | 2 + + src/job.h | 1 + + src/manager.c | 1099 +---------------------------------------------------- + src/manager.h | 7 - + src/transaction.c | 1101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/transaction.h | 36 ++ + 6 files changed, 1141 insertions(+), 1105 deletions(-) + create mode 100644 src/transaction.c + create mode 100644 src/transaction.h + +diff --git a/Makefile.am b/Makefile.am +index 079c118..45a0b10 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -483,6 +483,7 @@ libsystemd_core_la_SOURCES = \ + src/unit.c \ + src/job.c \ + src/manager.c \ ++ src/transaction.c \ + src/path-lookup.c \ + src/load-fragment.c \ + src/service.c \ +@@ -579,6 +580,7 @@ EXTRA_DIST += \ + src/unit.h \ + src/job.h \ + src/manager.h \ ++ src/transaction.h \ + src/path-lookup.h \ + src/load-fragment.h \ + src/service.h \ +diff --git a/src/job.h b/src/job.h +index 18ba64f..efb0af9 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -34,6 +34,7 @@ typedef enum JobMode JobMode; + typedef enum JobResult JobResult; + + #include "manager.h" ++#include "transaction.h" + #include "unit.h" + #include "hashmap.h" + #include "list.h" +diff --git a/src/manager.c b/src/manager.c +index ff4249d..a129b88 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -44,6 +44,7 @@ + #include + + #include "manager.h" ++#include "transaction.h" + #include "hashmap.h" + #include "macro.h" + #include "strv.h" +@@ -628,1104 +629,6 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + return r; + } + +-static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies); +- +-static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependencies) { +- assert(tr); +- assert(j); +- +- /* Deletes one job from the transaction */ +- +- transaction_unlink_job(tr, j, delete_dependencies); +- +- if (!j->installed) +- job_free(j); +-} +- +-static void transaction_delete_unit(Transaction *tr, Unit *u) { +- Job *j; +- +- /* Deletes all jobs associated with a certain unit from the +- * transaction */ +- +- while ((j = hashmap_get(tr->jobs, u))) +- transaction_delete_job(tr, j, true); +-} +- +-static void transaction_abort(Transaction *tr) { +- Job *j; +- +- assert(tr); +- +- while ((j = hashmap_first(tr->jobs))) +- transaction_delete_job(tr, j, true); +- +- assert(hashmap_isempty(tr->jobs)); +- +- assert(!tr->anchor); +-} +- +-static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { +- JobDependency *l; +- +- assert(tr); +- +- /* A recursive sweep through the graph that marks all units +- * that matter to the anchor job, i.e. are directly or +- * indirectly a dependency of the anchor job via paths that +- * are fully marked as mattering. */ +- +- if (j) +- l = j->subject_list; +- else +- l = tr->anchor; +- +- LIST_FOREACH(subject, l, l) { +- +- /* This link does not matter */ +- if (!l->matters) +- continue; +- +- /* This unit has already been marked */ +- if (l->object->generation == generation) +- continue; +- +- l->object->matters_to_anchor = true; +- l->object->generation = generation; +- +- transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); +- } +-} +- +-static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other, JobType t) { +- JobDependency *l, *last; +- +- assert(j); +- assert(other); +- assert(j->unit == other->unit); +- assert(!j->installed); +- +- /* Merges 'other' into 'j' and then deletes j. */ +- +- j->type = t; +- j->state = JOB_WAITING; +- j->override = j->override || other->override; +- +- j->matters_to_anchor = j->matters_to_anchor || other->matters_to_anchor; +- +- /* Patch us in as new owner of the JobDependency objects */ +- last = NULL; +- LIST_FOREACH(subject, l, other->subject_list) { +- assert(l->subject == other); +- l->subject = j; +- last = l; +- } +- +- /* Merge both lists */ +- if (last) { +- last->subject_next = j->subject_list; +- if (j->subject_list) +- j->subject_list->subject_prev = last; +- j->subject_list = other->subject_list; +- } +- +- /* Patch us in as new owner of the JobDependency objects */ +- last = NULL; +- LIST_FOREACH(object, l, other->object_list) { +- assert(l->object == other); +- l->object = j; +- last = l; +- } +- +- /* Merge both lists */ +- if (last) { +- last->object_next = j->object_list; +- if (j->object_list) +- j->object_list->object_prev = last; +- j->object_list = other->object_list; +- } +- +- /* Kill the other job */ +- other->subject_list = NULL; +- other->object_list = NULL; +- transaction_delete_job(tr, other, true); +-} +-static bool job_is_conflicted_by(Job *j) { +- JobDependency *l; +- +- assert(j); +- +- /* Returns true if this job is pulled in by a least one +- * ConflictedBy dependency. */ +- +- LIST_FOREACH(object, l, j->object_list) +- if (l->conflicts) +- return true; +- +- return false; +-} +- +-static int delete_one_unmergeable_job(Transaction *tr, Job *j) { +- Job *k; +- +- assert(j); +- +- /* Tries to delete one item in the linked list +- * j->transaction_next->transaction_next->... that conflicts +- * with another one, in an attempt to make an inconsistent +- * transaction work. */ +- +- /* We rely here on the fact that if a merged with b does not +- * merge with c, either a or b merge with c neither */ +- LIST_FOREACH(transaction, j, j) +- LIST_FOREACH(transaction, k, j->transaction_next) { +- Job *d; +- +- /* Is this one mergeable? Then skip it */ +- if (job_type_is_mergeable(j->type, k->type)) +- continue; +- +- /* Ok, we found two that conflict, let's see if we can +- * drop one of them */ +- if (!j->matters_to_anchor && !k->matters_to_anchor) { +- +- /* Both jobs don't matter, so let's +- * find the one that is smarter to +- * remove. Let's think positive and +- * rather remove stops then starts -- +- * except if something is being +- * stopped because it is conflicted by +- * another unit in which case we +- * rather remove the start. */ +- +- log_debug("Looking at job %s/%s conflicted_by=%s", j->unit->id, job_type_to_string(j->type), yes_no(j->type == JOB_STOP && job_is_conflicted_by(j))); +- log_debug("Looking at job %s/%s conflicted_by=%s", k->unit->id, job_type_to_string(k->type), yes_no(k->type == JOB_STOP && job_is_conflicted_by(k))); +- +- if (j->type == JOB_STOP) { +- +- if (job_is_conflicted_by(j)) +- d = k; +- else +- d = j; +- +- } else if (k->type == JOB_STOP) { +- +- if (job_is_conflicted_by(k)) +- d = j; +- else +- d = k; +- } else +- d = j; +- +- } else if (!j->matters_to_anchor) +- d = j; +- else if (!k->matters_to_anchor) +- d = k; +- else +- return -ENOEXEC; +- +- /* Ok, we can drop one, so let's do so. */ +- log_debug("Fixing conflicting jobs by deleting job %s/%s", d->unit->id, job_type_to_string(d->type)); +- transaction_delete_job(tr, d, true); +- return 0; +- } +- +- return -EINVAL; +-} +- +-static int transaction_merge_jobs(Transaction *tr, DBusError *e) { +- Job *j; +- Iterator i; +- int r; +- +- assert(tr); +- +- /* First step, check whether any of the jobs for one specific +- * task conflict. If so, try to drop one of them. */ +- HASHMAP_FOREACH(j, tr->jobs, i) { +- JobType t; +- Job *k; +- +- t = j->type; +- LIST_FOREACH(transaction, k, j->transaction_next) { +- if (job_type_merge(&t, k->type) >= 0) +- continue; +- +- /* OK, we could not merge all jobs for this +- * action. Let's see if we can get rid of one +- * of them */ +- +- r = delete_one_unmergeable_job(tr, j); +- if (r >= 0) +- /* Ok, we managed to drop one, now +- * let's ask our callers to call us +- * again after garbage collecting */ +- return -EAGAIN; +- +- /* We couldn't merge anything. Failure */ +- dbus_set_error(e, BUS_ERROR_TRANSACTION_JOBS_CONFLICTING, "Transaction contains conflicting jobs '%s' and '%s' for %s. Probably contradicting requirement dependencies configured.", +- job_type_to_string(t), job_type_to_string(k->type), k->unit->id); +- return r; +- } +- } +- +- /* Second step, merge the jobs. */ +- HASHMAP_FOREACH(j, tr->jobs, i) { +- JobType t = j->type; +- Job *k; +- +- /* Merge all transactions */ +- LIST_FOREACH(transaction, k, j->transaction_next) +- assert_se(job_type_merge(&t, k->type) == 0); +- +- /* If an active job is mergeable, merge it too */ +- if (j->unit->job) +- job_type_merge(&t, j->unit->job->type); /* Might fail. Which is OK */ +- +- while ((k = j->transaction_next)) { +- if (j->installed) { +- transaction_merge_and_delete_job(tr, k, j, t); +- j = k; +- } else +- transaction_merge_and_delete_job(tr, j, k, t); +- } +- +- if (j->unit->job && !j->installed) +- transaction_merge_and_delete_job(tr, j, j->unit->job, t); +- +- assert(!j->transaction_next); +- assert(!j->transaction_prev); +- } +- +- return 0; +-} +- +-static void transaction_drop_redundant(Transaction *tr) { +- bool again; +- +- assert(tr); +- +- /* Goes through the transaction and removes all jobs that are +- * a noop */ +- +- do { +- Job *j; +- Iterator i; +- +- again = false; +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- bool changes_something = false; +- Job *k; +- +- LIST_FOREACH(transaction, k, j) { +- +- if (!job_is_anchor(k) && +- (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && +- (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) +- continue; +- +- changes_something = true; +- break; +- } +- +- if (changes_something) +- continue; +- +- /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ +- transaction_delete_job(tr, j, false); +- again = true; +- break; +- } +- +- } while (again); +-} +- +-static bool unit_matters_to_anchor(Unit *u, Job *j) { +- assert(u); +- assert(!j->transaction_prev); +- +- /* Checks whether at least one of the jobs for this unit +- * matters to the anchor. */ +- +- LIST_FOREACH(transaction, j, j) +- if (j->matters_to_anchor) +- return true; +- +- return false; +-} +- +-static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsigned generation, DBusError *e) { +- Iterator i; +- Unit *u; +- int r; +- +- assert(tr); +- assert(j); +- assert(!j->transaction_prev); +- +- /* Does a recursive sweep through the ordering graph, looking +- * for a cycle. If we find cycle we try to break it. */ +- +- /* Have we seen this before? */ +- if (j->generation == generation) { +- Job *k, *delete; +- +- /* If the marker is NULL we have been here already and +- * decided the job was loop-free from here. Hence +- * shortcut things and return right-away. */ +- if (!j->marker) +- return 0; +- +- /* So, the marker is not NULL and we already have been +- * here. We have a cycle. Let's try to break it. We go +- * backwards in our path and try to find a suitable +- * job to remove. We use the marker to find our way +- * back, since smart how we are we stored our way back +- * in there. */ +- log_warning("Found ordering cycle on %s/%s", j->unit->id, job_type_to_string(j->type)); +- +- delete = NULL; +- for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { +- +- log_info("Walked on cycle path to %s/%s", k->unit->id, job_type_to_string(k->type)); +- +- if (!delete && +- !k->installed && +- !unit_matters_to_anchor(k->unit, k)) { +- /* Ok, we can drop this one, so let's +- * do so. */ +- delete = k; +- } +- +- /* Check if this in fact was the beginning of +- * the cycle */ +- if (k == j) +- break; +- } +- +- +- if (delete) { +- log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); +- transaction_delete_unit(tr, delete->unit); +- return -EAGAIN; +- } +- +- log_error("Unable to break cycle"); +- +- dbus_set_error(e, BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC, "Transaction order is cyclic. See system logs for details."); +- return -ENOEXEC; +- } +- +- /* Make the marker point to where we come from, so that we can +- * find our way backwards if we want to break a cycle. We use +- * a special marker for the beginning: we point to +- * ourselves. */ +- j->marker = from ? from : j; +- j->generation = generation; +- +- /* We assume that the the dependencies are bidirectional, and +- * hence can ignore UNIT_AFTER */ +- SET_FOREACH(u, j->unit->dependencies[UNIT_BEFORE], i) { +- Job *o; +- +- /* Is there a job for this unit? */ +- o = hashmap_get(tr->jobs, u); +- if (!o) { +- /* Ok, there is no job for this in the +- * transaction, but maybe there is already one +- * running? */ +- o = u->job; +- if (!o) +- continue; +- } +- +- r = transaction_verify_order_one(tr, o, j, generation, e); +- if (r < 0) +- return r; +- } +- +- /* Ok, let's backtrack, and remember that this entry is not on +- * our path anymore. */ +- j->marker = NULL; +- +- return 0; +-} +- +-static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusError *e) { +- Job *j; +- int r; +- Iterator i; +- unsigned g; +- +- assert(tr); +- assert(generation); +- +- /* Check if the ordering graph is cyclic. If it is, try to fix +- * that up by dropping one of the jobs. */ +- +- g = (*generation)++; +- +- HASHMAP_FOREACH(j, tr->jobs, i) +- if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0) +- return r; +- +- return 0; +-} +- +-static void transaction_collect_garbage(Transaction *tr) { +- bool again; +- +- assert(tr); +- +- /* Drop jobs that are not required by any other job */ +- +- do { +- Iterator i; +- Job *j; +- +- again = false; +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- if (j->object_list) { +- /* log_debug("Keeping job %s/%s because of %s/%s", */ +- /* j->unit->id, job_type_to_string(j->type), */ +- /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ +- /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ +- continue; +- } +- +- /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ +- transaction_delete_job(tr, j, true); +- again = true; +- break; +- } +- +- } while (again); +-} +- +-static int transaction_is_destructive(Transaction *tr, DBusError *e) { +- Iterator i; +- Job *j; +- +- assert(tr); +- +- /* Checks whether applying this transaction means that +- * existing jobs would be replaced */ +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- +- /* Assume merged */ +- assert(!j->transaction_prev); +- assert(!j->transaction_next); +- +- if (j->unit->job && +- j->unit->job != j && +- !job_type_is_superset(j->type, j->unit->job->type)) { +- +- dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); +- return -EEXIST; +- } +- } +- +- return 0; +-} +- +-static void transaction_minimize_impact(Transaction *tr) { +- bool again; +- assert(tr); +- +- /* Drops all unnecessary jobs that reverse already active jobs +- * or that stop a running service. */ +- +- do { +- Job *j; +- Iterator i; +- +- again = false; +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- LIST_FOREACH(transaction, j, j) { +- bool stops_running_service, changes_existing_job; +- +- /* If it matters, we shouldn't drop it */ +- if (j->matters_to_anchor) +- continue; +- +- /* Would this stop a running service? +- * Would this change an existing job? +- * If so, let's drop this entry */ +- +- stops_running_service = +- j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); +- +- changes_existing_job = +- j->unit->job && +- job_type_is_conflicting(j->type, j->unit->job->type); +- +- if (!stops_running_service && !changes_existing_job) +- continue; +- +- if (stops_running_service) +- log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); +- +- if (changes_existing_job) +- log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); +- +- /* Ok, let's get rid of this */ +- log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); +- +- transaction_delete_job(tr, j, true); +- again = true; +- break; +- } +- +- if (again) +- break; +- } +- +- } while (again); +-} +- +-static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { +- Iterator i; +- Job *j; +- int r; +- +- /* Moves the transaction jobs to the set of active jobs */ +- +- if (mode == JOB_ISOLATE) { +- +- /* When isolating first kill all installed jobs which +- * aren't part of the new transaction */ +- rescan: +- HASHMAP_FOREACH(j, m->jobs, i) { +- assert(j->installed); +- +- if (hashmap_get(tr->jobs, j->unit)) +- continue; +- +- /* 'j' itself is safe to remove, but if other jobs +- are invalidated recursively, our iterator may become +- invalid and we need to start over. */ +- if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) +- goto rescan; +- } +- } +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- /* Assume merged */ +- assert(!j->transaction_prev); +- assert(!j->transaction_next); +- +- if (j->installed) +- continue; +- +- r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); +- if (r < 0) +- goto rollback; +- } +- +- while ((j = hashmap_steal_first(tr->jobs))) { +- Job *uj; +- if (j->installed) { +- /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ +- continue; +- } +- +- uj = j->unit->job; +- if (uj) { +- job_uninstall(uj); +- job_free(uj); +- } +- +- j->unit->job = j; +- j->installed = true; +- m->n_installed_jobs ++; +- +- /* We're fully installed. Now let's free data we don't +- * need anymore. */ +- +- assert(!j->transaction_next); +- assert(!j->transaction_prev); +- +- /* Clean the job dependencies */ +- transaction_unlink_job(tr, j, false); +- +- job_add_to_run_queue(j); +- job_add_to_dbus_queue(j); +- job_start_timer(j); +- +- log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); +- } +- +- assert(!tr->anchor); +- +- return 0; +- +-rollback: +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- if (j->installed) +- continue; +- +- hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); +- } +- +- return r; +-} +- +-static int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { +- int r; +- unsigned generation = 1; +- +- assert(tr); +- +- /* This applies the changes recorded in tr->jobs to +- * the actual list of jobs, if possible. */ +- +- /* First step: figure out which jobs matter */ +- transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); +- +- /* Second step: Try not to stop any running services if +- * we don't have to. Don't try to reverse running +- * jobs if we don't have to. */ +- if (mode == JOB_FAIL) +- transaction_minimize_impact(tr); +- +- /* Third step: Drop redundant jobs */ +- transaction_drop_redundant(tr); +- +- for (;;) { +- /* Fourth step: Let's remove unneeded jobs that might +- * be lurking. */ +- if (mode != JOB_ISOLATE) +- transaction_collect_garbage(tr); +- +- /* Fifth step: verify order makes sense and correct +- * cycles if necessary and possible */ +- r = transaction_verify_order(tr, &generation, e); +- if (r >= 0) +- break; +- +- if (r != -EAGAIN) { +- log_warning("Requested transaction contains an unfixable cyclic ordering dependency: %s", bus_error(e, r)); +- return r; +- } +- +- /* Let's see if the resulting transaction ordering +- * graph is still cyclic... */ +- } +- +- for (;;) { +- /* Sixth step: let's drop unmergeable entries if +- * necessary and possible, merge entries we can +- * merge */ +- r = transaction_merge_jobs(tr, e); +- if (r >= 0) +- break; +- +- if (r != -EAGAIN) { +- log_warning("Requested transaction contains unmergeable jobs: %s", bus_error(e, r)); +- return r; +- } +- +- /* Seventh step: an entry got dropped, let's garbage +- * collect its dependencies. */ +- if (mode != JOB_ISOLATE) +- transaction_collect_garbage(tr); +- +- /* Let's see if the resulting transaction still has +- * unmergeable entries ... */ +- } +- +- /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ +- transaction_drop_redundant(tr); +- +- /* Ninth step: check whether we can actually apply this */ +- if (mode == JOB_FAIL) { +- r = transaction_is_destructive(tr, e); +- if (r < 0) { +- log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r)); +- return r; +- } +- } +- +- /* Tenth step: apply changes */ +- r = transaction_apply(tr, m, mode); +- if (r < 0) { +- log_warning("Failed to apply transaction: %s", strerror(-r)); +- return r; +- } +- +- assert(hashmap_isempty(tr->jobs)); +- assert(!tr->anchor); +- +- return 0; +-} +- +-static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, bool override, bool *is_new) { +- Job *j, *f; +- +- assert(tr); +- assert(unit); +- +- /* Looks for an existing prospective job and returns that. If +- * it doesn't exist it is created and added to the prospective +- * jobs list. */ +- +- f = hashmap_get(tr->jobs, unit); +- +- LIST_FOREACH(transaction, j, f) { +- assert(j->unit == unit); +- +- if (j->type == type) { +- if (is_new) +- *is_new = false; +- return j; +- } +- } +- +- if (unit->job && unit->job->type == type) +- j = unit->job; +- else { +- j = job_new(unit->manager, type, unit); +- if (!j) +- return NULL; +- } +- +- j->generation = 0; +- j->marker = NULL; +- j->matters_to_anchor = false; +- j->override = override; +- +- LIST_PREPEND(Job, transaction, f, j); +- +- if (hashmap_replace(tr->jobs, unit, f) < 0) { +- LIST_REMOVE(Job, transaction, f, j); +- job_free(j); +- return NULL; +- } +- +- if (is_new) +- *is_new = true; +- +- /* log_debug("Added job %s/%s to transaction.", unit->id, job_type_to_string(type)); */ +- +- return j; +-} +- +-static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { +- assert(tr); +- assert(j); +- +- if (j->transaction_prev) +- j->transaction_prev->transaction_next = j->transaction_next; +- else if (j->transaction_next) +- hashmap_replace(tr->jobs, j->unit, j->transaction_next); +- else +- hashmap_remove_value(tr->jobs, j->unit, j); +- +- if (j->transaction_next) +- j->transaction_next->transaction_prev = j->transaction_prev; +- +- j->transaction_prev = j->transaction_next = NULL; +- +- while (j->subject_list) +- job_dependency_free(j->subject_list, tr); +- +- while (j->object_list) { +- Job *other = j->object_list->matters ? j->object_list->subject : NULL; +- +- job_dependency_free(j->object_list, tr); +- +- if (other && delete_dependencies) { +- log_debug("Deleting job %s/%s as dependency of job %s/%s", +- other->unit->id, job_type_to_string(other->type), +- j->unit->id, job_type_to_string(j->type)); +- transaction_delete_job(tr, other, delete_dependencies); +- } +- } +-} +- +-static int transaction_add_job_and_dependencies( +- Transaction *tr, +- JobType type, +- Unit *unit, +- Job *by, +- bool matters, +- bool override, +- bool conflicts, +- bool ignore_requirements, +- bool ignore_order, +- DBusError *e, +- Job **_ret) { +- Job *ret; +- Iterator i; +- Unit *dep; +- int r; +- bool is_new; +- +- assert(tr); +- assert(type < _JOB_TYPE_MAX); +- assert(unit); +- +- /* log_debug("Pulling in %s/%s from %s/%s", */ +- /* unit->id, job_type_to_string(type), */ +- /* by ? by->unit->id : "NA", */ +- /* by ? job_type_to_string(by->type) : "NA"); */ +- +- if (unit->load_state != UNIT_LOADED && +- unit->load_state != UNIT_ERROR && +- unit->load_state != UNIT_MASKED) { +- dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s is not loaded properly.", unit->id); +- return -EINVAL; +- } +- +- if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { +- dbus_set_error(e, BUS_ERROR_LOAD_FAILED, +- "Unit %s failed to load: %s. " +- "See system logs and 'systemctl status %s' for details.", +- unit->id, +- strerror(-unit->load_error), +- unit->id); +- return -EINVAL; +- } +- +- if (type != JOB_STOP && unit->load_state == UNIT_MASKED) { +- dbus_set_error(e, BUS_ERROR_MASKED, "Unit %s is masked.", unit->id); +- return -EINVAL; +- } +- +- if (!unit_job_is_applicable(unit, type)) { +- dbus_set_error(e, BUS_ERROR_JOB_TYPE_NOT_APPLICABLE, "Job type %s is not applicable for unit %s.", job_type_to_string(type), unit->id); +- return -EBADR; +- } +- +- /* First add the job. */ +- ret = transaction_add_one_job(tr, type, unit, override, &is_new); +- if (!ret) +- return -ENOMEM; +- +- ret->ignore_order = ret->ignore_order || ignore_order; +- +- /* Then, add a link to the job. */ +- if (!job_dependency_new(by, ret, matters, conflicts, tr)) +- return -ENOMEM; +- +- if (is_new && !ignore_requirements) { +- Set *following; +- +- /* If we are following some other unit, make sure we +- * add all dependencies of everybody following. */ +- if (unit_following_set(ret->unit, &following) > 0) { +- SET_FOREACH(dep, following, i) { +- r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- set_free(following); +- } +- +- /* Finally, recursively add in all dependencies. */ +- if (type == JOB_START || type == JOB_RELOAD_OR_START) { +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- if (r != -EBADR) +- goto fail; +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- if (r != -EBADR) +- goto fail; +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); +- if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- if (r != -EBADR) +- goto fail; +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); +- if (r < 0) { +- if (r != -EBADR) +- goto fail; +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- } +- +- if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { +- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- if (r != -EBADR) +- goto fail; +- +- if (e) +- dbus_error_free(e); +- } +- } +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { +- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- if (r != -EBADR) +- goto fail; +- +- if (e) +- dbus_error_free(e); +- } +- } +- } +- +- if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { +- +- SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); +- if (r < 0) { +- log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); +- +- if (e) +- dbus_error_free(e); +- } +- } +- } +- +- /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ +- } +- +- if (_ret) +- *_ret = ret; +- +- return 0; +- +-fail: +- return r; +-} +- +-static int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { +- Iterator i; +- Unit *u; +- char *k; +- int r; +- +- assert(tr); +- assert(m); +- +- HASHMAP_FOREACH_KEY(u, k, m->units, i) { +- +- /* ignore aliases */ +- if (u->id != k) +- continue; +- +- if (u->ignore_on_isolate) +- continue; +- +- /* No need to stop inactive jobs */ +- if (UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(u)) && !u->job) +- continue; +- +- /* Is there already something listed for this? */ +- if (hashmap_get(tr->jobs, u)) +- continue; +- +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); +- if (r < 0) +- log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); +- } +- +- return 0; +-} +- +-static Transaction *transaction_new(void) { +- Transaction *tr; +- +- tr = new0(Transaction, 1); +- if (!tr) +- return NULL; +- +- tr->jobs = hashmap_new(trivial_hash_func, trivial_compare_func); +- if (!tr->jobs) { +- free(tr); +- return NULL; +- } +- +- return tr; +-} +- +-static void transaction_free(Transaction *tr) { +- assert(hashmap_isempty(tr->jobs)); +- hashmap_free(tr->jobs); +- free(tr); +-} +- + int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { + int r; + Job *ret; +diff --git a/src/manager.h b/src/manager.h +index b982d7e..915f6fc 100644 +--- a/src/manager.h ++++ b/src/manager.h +@@ -33,7 +33,6 @@ + #define MANAGER_MAX_NAMES 131072 /* 128K */ + + typedef struct Manager Manager; +-typedef struct Transaction Transaction; + typedef enum WatchType WatchType; + typedef struct Watch Watch; + +@@ -92,12 +91,6 @@ struct Watch { + #include "dbus.h" + #include "path-lookup.h" + +-struct Transaction { +- /* Jobs to be added */ +- Hashmap *jobs; /* Unit object => Job object list 1:1 */ +- JobDependency *anchor; +-}; +- + struct Manager { + /* Note that the set of units we know of is allowed to be + * inconsistent. However the subset of it that is loaded may +diff --git a/src/transaction.c b/src/transaction.c +new file mode 100644 +index 0000000..8fa89a7 +--- /dev/null ++++ b/src/transaction.c +@@ -0,0 +1,1101 @@ ++#include "transaction.h" ++#include "bus-errors.h" ++ ++static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies); ++ ++static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependencies) { ++ assert(tr); ++ assert(j); ++ ++ /* Deletes one job from the transaction */ ++ ++ transaction_unlink_job(tr, j, delete_dependencies); ++ ++ if (!j->installed) ++ job_free(j); ++} ++ ++static void transaction_delete_unit(Transaction *tr, Unit *u) { ++ Job *j; ++ ++ /* Deletes all jobs associated with a certain unit from the ++ * transaction */ ++ ++ while ((j = hashmap_get(tr->jobs, u))) ++ transaction_delete_job(tr, j, true); ++} ++ ++void transaction_abort(Transaction *tr) { ++ Job *j; ++ ++ assert(tr); ++ ++ while ((j = hashmap_first(tr->jobs))) ++ transaction_delete_job(tr, j, true); ++ ++ assert(hashmap_isempty(tr->jobs)); ++ ++ assert(!tr->anchor); ++} ++ ++static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { ++ JobDependency *l; ++ ++ assert(tr); ++ ++ /* A recursive sweep through the graph that marks all units ++ * that matter to the anchor job, i.e. are directly or ++ * indirectly a dependency of the anchor job via paths that ++ * are fully marked as mattering. */ ++ ++ if (j) ++ l = j->subject_list; ++ else ++ l = tr->anchor; ++ ++ LIST_FOREACH(subject, l, l) { ++ ++ /* This link does not matter */ ++ if (!l->matters) ++ continue; ++ ++ /* This unit has already been marked */ ++ if (l->object->generation == generation) ++ continue; ++ ++ l->object->matters_to_anchor = true; ++ l->object->generation = generation; ++ ++ transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); ++ } ++} ++ ++static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other, JobType t) { ++ JobDependency *l, *last; ++ ++ assert(j); ++ assert(other); ++ assert(j->unit == other->unit); ++ assert(!j->installed); ++ ++ /* Merges 'other' into 'j' and then deletes 'other'. */ ++ ++ j->type = t; ++ j->state = JOB_WAITING; ++ j->override = j->override || other->override; ++ ++ j->matters_to_anchor = j->matters_to_anchor || other->matters_to_anchor; ++ ++ /* Patch us in as new owner of the JobDependency objects */ ++ last = NULL; ++ LIST_FOREACH(subject, l, other->subject_list) { ++ assert(l->subject == other); ++ l->subject = j; ++ last = l; ++ } ++ ++ /* Merge both lists */ ++ if (last) { ++ last->subject_next = j->subject_list; ++ if (j->subject_list) ++ j->subject_list->subject_prev = last; ++ j->subject_list = other->subject_list; ++ } ++ ++ /* Patch us in as new owner of the JobDependency objects */ ++ last = NULL; ++ LIST_FOREACH(object, l, other->object_list) { ++ assert(l->object == other); ++ l->object = j; ++ last = l; ++ } ++ ++ /* Merge both lists */ ++ if (last) { ++ last->object_next = j->object_list; ++ if (j->object_list) ++ j->object_list->object_prev = last; ++ j->object_list = other->object_list; ++ } ++ ++ /* Kill the other job */ ++ other->subject_list = NULL; ++ other->object_list = NULL; ++ transaction_delete_job(tr, other, true); ++} ++ ++static bool job_is_conflicted_by(Job *j) { ++ JobDependency *l; ++ ++ assert(j); ++ ++ /* Returns true if this job is pulled in by a least one ++ * ConflictedBy dependency. */ ++ ++ LIST_FOREACH(object, l, j->object_list) ++ if (l->conflicts) ++ return true; ++ ++ return false; ++} ++ ++static int delete_one_unmergeable_job(Transaction *tr, Job *j) { ++ Job *k; ++ ++ assert(j); ++ ++ /* Tries to delete one item in the linked list ++ * j->transaction_next->transaction_next->... that conflicts ++ * with another one, in an attempt to make an inconsistent ++ * transaction work. */ ++ ++ /* We rely here on the fact that if a merged with b does not ++ * merge with c, either a or b merge with c neither */ ++ LIST_FOREACH(transaction, j, j) ++ LIST_FOREACH(transaction, k, j->transaction_next) { ++ Job *d; ++ ++ /* Is this one mergeable? Then skip it */ ++ if (job_type_is_mergeable(j->type, k->type)) ++ continue; ++ ++ /* Ok, we found two that conflict, let's see if we can ++ * drop one of them */ ++ if (!j->matters_to_anchor && !k->matters_to_anchor) { ++ ++ /* Both jobs don't matter, so let's ++ * find the one that is smarter to ++ * remove. Let's think positive and ++ * rather remove stops then starts -- ++ * except if something is being ++ * stopped because it is conflicted by ++ * another unit in which case we ++ * rather remove the start. */ ++ ++ log_debug("Looking at job %s/%s conflicted_by=%s", j->unit->id, job_type_to_string(j->type), yes_no(j->type == JOB_STOP && job_is_conflicted_by(j))); ++ log_debug("Looking at job %s/%s conflicted_by=%s", k->unit->id, job_type_to_string(k->type), yes_no(k->type == JOB_STOP && job_is_conflicted_by(k))); ++ ++ if (j->type == JOB_STOP) { ++ ++ if (job_is_conflicted_by(j)) ++ d = k; ++ else ++ d = j; ++ ++ } else if (k->type == JOB_STOP) { ++ ++ if (job_is_conflicted_by(k)) ++ d = j; ++ else ++ d = k; ++ } else ++ d = j; ++ ++ } else if (!j->matters_to_anchor) ++ d = j; ++ else if (!k->matters_to_anchor) ++ d = k; ++ else ++ return -ENOEXEC; ++ ++ /* Ok, we can drop one, so let's do so. */ ++ log_debug("Fixing conflicting jobs by deleting job %s/%s", d->unit->id, job_type_to_string(d->type)); ++ transaction_delete_job(tr, d, true); ++ return 0; ++ } ++ ++ return -EINVAL; ++} ++ ++static int transaction_merge_jobs(Transaction *tr, DBusError *e) { ++ Job *j; ++ Iterator i; ++ int r; ++ ++ assert(tr); ++ ++ /* First step, check whether any of the jobs for one specific ++ * task conflict. If so, try to drop one of them. */ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ JobType t; ++ Job *k; ++ ++ t = j->type; ++ LIST_FOREACH(transaction, k, j->transaction_next) { ++ if (job_type_merge(&t, k->type) >= 0) ++ continue; ++ ++ /* OK, we could not merge all jobs for this ++ * action. Let's see if we can get rid of one ++ * of them */ ++ ++ r = delete_one_unmergeable_job(tr, j); ++ if (r >= 0) ++ /* Ok, we managed to drop one, now ++ * let's ask our callers to call us ++ * again after garbage collecting */ ++ return -EAGAIN; ++ ++ /* We couldn't merge anything. Failure */ ++ dbus_set_error(e, BUS_ERROR_TRANSACTION_JOBS_CONFLICTING, "Transaction contains conflicting jobs '%s' and '%s' for %s. Probably contradicting requirement dependencies configured.", ++ job_type_to_string(t), job_type_to_string(k->type), k->unit->id); ++ return r; ++ } ++ } ++ ++ /* Second step, merge the jobs. */ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ JobType t = j->type; ++ Job *k; ++ ++ /* Merge all transactions */ ++ LIST_FOREACH(transaction, k, j->transaction_next) ++ assert_se(job_type_merge(&t, k->type) == 0); ++ ++ /* If an active job is mergeable, merge it too */ ++ if (j->unit->job) ++ job_type_merge(&t, j->unit->job->type); /* Might fail. Which is OK */ ++ ++ while ((k = j->transaction_next)) { ++ if (j->installed) { ++ transaction_merge_and_delete_job(tr, k, j, t); ++ j = k; ++ } else ++ transaction_merge_and_delete_job(tr, j, k, t); ++ } ++ ++ if (j->unit->job && !j->installed) ++ transaction_merge_and_delete_job(tr, j, j->unit->job, t); ++ ++ assert(!j->transaction_next); ++ assert(!j->transaction_prev); ++ } ++ ++ return 0; ++} ++ ++static void transaction_drop_redundant(Transaction *tr) { ++ bool again; ++ ++ assert(tr); ++ ++ /* Goes through the transaction and removes all jobs that are ++ * a noop */ ++ ++ do { ++ Job *j; ++ Iterator i; ++ ++ again = false; ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ bool changes_something = false; ++ Job *k; ++ ++ LIST_FOREACH(transaction, k, j) { ++ ++ if (!job_is_anchor(k) && ++ (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && ++ (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) ++ continue; ++ ++ changes_something = true; ++ break; ++ } ++ ++ if (changes_something) ++ continue; ++ ++ /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ ++ transaction_delete_job(tr, j, false); ++ again = true; ++ break; ++ } ++ ++ } while (again); ++} ++ ++static bool unit_matters_to_anchor(Unit *u, Job *j) { ++ assert(u); ++ assert(!j->transaction_prev); ++ ++ /* Checks whether at least one of the jobs for this unit ++ * matters to the anchor. */ ++ ++ LIST_FOREACH(transaction, j, j) ++ if (j->matters_to_anchor) ++ return true; ++ ++ return false; ++} ++ ++static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsigned generation, DBusError *e) { ++ Iterator i; ++ Unit *u; ++ int r; ++ ++ assert(tr); ++ assert(j); ++ assert(!j->transaction_prev); ++ ++ /* Does a recursive sweep through the ordering graph, looking ++ * for a cycle. If we find cycle we try to break it. */ ++ ++ /* Have we seen this before? */ ++ if (j->generation == generation) { ++ Job *k, *delete; ++ ++ /* If the marker is NULL we have been here already and ++ * decided the job was loop-free from here. Hence ++ * shortcut things and return right-away. */ ++ if (!j->marker) ++ return 0; ++ ++ /* So, the marker is not NULL and we already have been ++ * here. We have a cycle. Let's try to break it. We go ++ * backwards in our path and try to find a suitable ++ * job to remove. We use the marker to find our way ++ * back, since smart how we are we stored our way back ++ * in there. */ ++ log_warning("Found ordering cycle on %s/%s", j->unit->id, job_type_to_string(j->type)); ++ ++ delete = NULL; ++ for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { ++ ++ log_info("Walked on cycle path to %s/%s", k->unit->id, job_type_to_string(k->type)); ++ ++ if (!delete && ++ !k->installed && ++ !unit_matters_to_anchor(k->unit, k)) { ++ /* Ok, we can drop this one, so let's ++ * do so. */ ++ delete = k; ++ } ++ ++ /* Check if this in fact was the beginning of ++ * the cycle */ ++ if (k == j) ++ break; ++ } ++ ++ ++ if (delete) { ++ log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); ++ transaction_delete_unit(tr, delete->unit); ++ return -EAGAIN; ++ } ++ ++ log_error("Unable to break cycle"); ++ ++ dbus_set_error(e, BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC, "Transaction order is cyclic. See system logs for details."); ++ return -ENOEXEC; ++ } ++ ++ /* Make the marker point to where we come from, so that we can ++ * find our way backwards if we want to break a cycle. We use ++ * a special marker for the beginning: we point to ++ * ourselves. */ ++ j->marker = from ? from : j; ++ j->generation = generation; ++ ++ /* We assume that the the dependencies are bidirectional, and ++ * hence can ignore UNIT_AFTER */ ++ SET_FOREACH(u, j->unit->dependencies[UNIT_BEFORE], i) { ++ Job *o; ++ ++ /* Is there a job for this unit? */ ++ o = hashmap_get(tr->jobs, u); ++ if (!o) { ++ /* Ok, there is no job for this in the ++ * transaction, but maybe there is already one ++ * running? */ ++ o = u->job; ++ if (!o) ++ continue; ++ } ++ ++ r = transaction_verify_order_one(tr, o, j, generation, e); ++ if (r < 0) ++ return r; ++ } ++ ++ /* Ok, let's backtrack, and remember that this entry is not on ++ * our path anymore. */ ++ j->marker = NULL; ++ ++ return 0; ++} ++ ++static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusError *e) { ++ Job *j; ++ int r; ++ Iterator i; ++ unsigned g; ++ ++ assert(tr); ++ assert(generation); ++ ++ /* Check if the ordering graph is cyclic. If it is, try to fix ++ * that up by dropping one of the jobs. */ ++ ++ g = (*generation)++; ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) ++ if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0) ++ return r; ++ ++ return 0; ++} ++ ++static void transaction_collect_garbage(Transaction *tr) { ++ bool again; ++ ++ assert(tr); ++ ++ /* Drop jobs that are not required by any other job */ ++ ++ do { ++ Iterator i; ++ Job *j; ++ ++ again = false; ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ if (j->object_list) { ++ /* log_debug("Keeping job %s/%s because of %s/%s", */ ++ /* j->unit->id, job_type_to_string(j->type), */ ++ /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ ++ /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ ++ continue; ++ } ++ ++ /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ ++ transaction_delete_job(tr, j, true); ++ again = true; ++ break; ++ } ++ ++ } while (again); ++} ++ ++static int transaction_is_destructive(Transaction *tr, DBusError *e) { ++ Iterator i; ++ Job *j; ++ ++ assert(tr); ++ ++ /* Checks whether applying this transaction means that ++ * existing jobs would be replaced */ ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ ++ /* Assume merged */ ++ assert(!j->transaction_prev); ++ assert(!j->transaction_next); ++ ++ if (j->unit->job && ++ j->unit->job != j && ++ !job_type_is_superset(j->type, j->unit->job->type)) { ++ ++ dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); ++ return -EEXIST; ++ } ++ } ++ ++ return 0; ++} ++ ++static void transaction_minimize_impact(Transaction *tr) { ++ bool again; ++ assert(tr); ++ ++ /* Drops all unnecessary jobs that reverse already active jobs ++ * or that stop a running service. */ ++ ++ do { ++ Job *j; ++ Iterator i; ++ ++ again = false; ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ LIST_FOREACH(transaction, j, j) { ++ bool stops_running_service, changes_existing_job; ++ ++ /* If it matters, we shouldn't drop it */ ++ if (j->matters_to_anchor) ++ continue; ++ ++ /* Would this stop a running service? ++ * Would this change an existing job? ++ * If so, let's drop this entry */ ++ ++ stops_running_service = ++ j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); ++ ++ changes_existing_job = ++ j->unit->job && ++ job_type_is_conflicting(j->type, j->unit->job->type); ++ ++ if (!stops_running_service && !changes_existing_job) ++ continue; ++ ++ if (stops_running_service) ++ log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); ++ ++ if (changes_existing_job) ++ log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); ++ ++ /* Ok, let's get rid of this */ ++ log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); ++ ++ transaction_delete_job(tr, j, true); ++ again = true; ++ break; ++ } ++ ++ if (again) ++ break; ++ } ++ ++ } while (again); ++} ++ ++static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { ++ Iterator i; ++ Job *j; ++ int r; ++ ++ /* Moves the transaction jobs to the set of active jobs */ ++ ++ if (mode == JOB_ISOLATE) { ++ ++ /* When isolating first kill all installed jobs which ++ * aren't part of the new transaction */ ++ rescan: ++ HASHMAP_FOREACH(j, m->jobs, i) { ++ assert(j->installed); ++ ++ if (hashmap_get(tr->jobs, j->unit)) ++ continue; ++ ++ /* 'j' itself is safe to remove, but if other jobs ++ are invalidated recursively, our iterator may become ++ invalid and we need to start over. */ ++ if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) ++ goto rescan; ++ } ++ } ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ /* Assume merged */ ++ assert(!j->transaction_prev); ++ assert(!j->transaction_next); ++ ++ if (j->installed) ++ continue; ++ ++ r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); ++ if (r < 0) ++ goto rollback; ++ } ++ ++ while ((j = hashmap_steal_first(tr->jobs))) { ++ Job *uj; ++ if (j->installed) { ++ /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ ++ continue; ++ } ++ ++ uj = j->unit->job; ++ if (uj) { ++ job_uninstall(uj); ++ job_free(uj); ++ } ++ ++ j->unit->job = j; ++ j->installed = true; ++ m->n_installed_jobs ++; ++ ++ /* We're fully installed. Now let's free data we don't ++ * need anymore. */ ++ ++ assert(!j->transaction_next); ++ assert(!j->transaction_prev); ++ ++ /* Clean the job dependencies */ ++ transaction_unlink_job(tr, j, false); ++ ++ job_add_to_run_queue(j); ++ job_add_to_dbus_queue(j); ++ job_start_timer(j); ++ ++ log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); ++ } ++ ++ assert(!tr->anchor); ++ ++ return 0; ++ ++rollback: ++ ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ if (j->installed) ++ continue; ++ ++ hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); ++ } ++ ++ return r; ++} ++ ++int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { ++ int r; ++ unsigned generation = 1; ++ ++ assert(tr); ++ ++ /* This applies the changes recorded in tr->jobs to ++ * the actual list of jobs, if possible. */ ++ ++ /* First step: figure out which jobs matter */ ++ transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); ++ ++ /* Second step: Try not to stop any running services if ++ * we don't have to. Don't try to reverse running ++ * jobs if we don't have to. */ ++ if (mode == JOB_FAIL) ++ transaction_minimize_impact(tr); ++ ++ /* Third step: Drop redundant jobs */ ++ transaction_drop_redundant(tr); ++ ++ for (;;) { ++ /* Fourth step: Let's remove unneeded jobs that might ++ * be lurking. */ ++ if (mode != JOB_ISOLATE) ++ transaction_collect_garbage(tr); ++ ++ /* Fifth step: verify order makes sense and correct ++ * cycles if necessary and possible */ ++ r = transaction_verify_order(tr, &generation, e); ++ if (r >= 0) ++ break; ++ ++ if (r != -EAGAIN) { ++ log_warning("Requested transaction contains an unfixable cyclic ordering dependency: %s", bus_error(e, r)); ++ return r; ++ } ++ ++ /* Let's see if the resulting transaction ordering ++ * graph is still cyclic... */ ++ } ++ ++ for (;;) { ++ /* Sixth step: let's drop unmergeable entries if ++ * necessary and possible, merge entries we can ++ * merge */ ++ r = transaction_merge_jobs(tr, e); ++ if (r >= 0) ++ break; ++ ++ if (r != -EAGAIN) { ++ log_warning("Requested transaction contains unmergeable jobs: %s", bus_error(e, r)); ++ return r; ++ } ++ ++ /* Seventh step: an entry got dropped, let's garbage ++ * collect its dependencies. */ ++ if (mode != JOB_ISOLATE) ++ transaction_collect_garbage(tr); ++ ++ /* Let's see if the resulting transaction still has ++ * unmergeable entries ... */ ++ } ++ ++ /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ ++ transaction_drop_redundant(tr); ++ ++ /* Ninth step: check whether we can actually apply this */ ++ if (mode == JOB_FAIL) { ++ r = transaction_is_destructive(tr, e); ++ if (r < 0) { ++ log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r)); ++ return r; ++ } ++ } ++ ++ /* Tenth step: apply changes */ ++ r = transaction_apply(tr, m, mode); ++ if (r < 0) { ++ log_warning("Failed to apply transaction: %s", strerror(-r)); ++ return r; ++ } ++ ++ assert(hashmap_isempty(tr->jobs)); ++ assert(!tr->anchor); ++ ++ return 0; ++} ++ ++static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, bool override, bool *is_new) { ++ Job *j, *f; ++ ++ assert(tr); ++ assert(unit); ++ ++ /* Looks for an existing prospective job and returns that. If ++ * it doesn't exist it is created and added to the prospective ++ * jobs list. */ ++ ++ f = hashmap_get(tr->jobs, unit); ++ ++ LIST_FOREACH(transaction, j, f) { ++ assert(j->unit == unit); ++ ++ if (j->type == type) { ++ if (is_new) ++ *is_new = false; ++ return j; ++ } ++ } ++ ++ if (unit->job && unit->job->type == type) ++ j = unit->job; ++ else { ++ j = job_new(unit->manager, type, unit); ++ if (!j) ++ return NULL; ++ } ++ ++ j->generation = 0; ++ j->marker = NULL; ++ j->matters_to_anchor = false; ++ j->override = override; ++ ++ LIST_PREPEND(Job, transaction, f, j); ++ ++ if (hashmap_replace(tr->jobs, unit, f) < 0) { ++ LIST_REMOVE(Job, transaction, f, j); ++ job_free(j); ++ return NULL; ++ } ++ ++ if (is_new) ++ *is_new = true; ++ ++ /* log_debug("Added job %s/%s to transaction.", unit->id, job_type_to_string(type)); */ ++ ++ return j; ++} ++ ++static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { ++ assert(tr); ++ assert(j); ++ ++ if (j->transaction_prev) ++ j->transaction_prev->transaction_next = j->transaction_next; ++ else if (j->transaction_next) ++ hashmap_replace(tr->jobs, j->unit, j->transaction_next); ++ else ++ hashmap_remove_value(tr->jobs, j->unit, j); ++ ++ if (j->transaction_next) ++ j->transaction_next->transaction_prev = j->transaction_prev; ++ ++ j->transaction_prev = j->transaction_next = NULL; ++ ++ while (j->subject_list) ++ job_dependency_free(j->subject_list, tr); ++ ++ while (j->object_list) { ++ Job *other = j->object_list->matters ? j->object_list->subject : NULL; ++ ++ job_dependency_free(j->object_list, tr); ++ ++ if (other && delete_dependencies) { ++ log_debug("Deleting job %s/%s as dependency of job %s/%s", ++ other->unit->id, job_type_to_string(other->type), ++ j->unit->id, job_type_to_string(j->type)); ++ transaction_delete_job(tr, other, delete_dependencies); ++ } ++ } ++} ++ ++int transaction_add_job_and_dependencies( ++ Transaction *tr, ++ JobType type, ++ Unit *unit, ++ Job *by, ++ bool matters, ++ bool override, ++ bool conflicts, ++ bool ignore_requirements, ++ bool ignore_order, ++ DBusError *e, ++ Job **_ret) { ++ Job *ret; ++ Iterator i; ++ Unit *dep; ++ int r; ++ bool is_new; ++ ++ assert(tr); ++ assert(type < _JOB_TYPE_MAX); ++ assert(unit); ++ ++ /* log_debug("Pulling in %s/%s from %s/%s", */ ++ /* unit->id, job_type_to_string(type), */ ++ /* by ? by->unit->id : "NA", */ ++ /* by ? job_type_to_string(by->type) : "NA"); */ ++ ++ if (unit->load_state != UNIT_LOADED && ++ unit->load_state != UNIT_ERROR && ++ unit->load_state != UNIT_MASKED) { ++ dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s is not loaded properly.", unit->id); ++ return -EINVAL; ++ } ++ ++ if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { ++ dbus_set_error(e, BUS_ERROR_LOAD_FAILED, ++ "Unit %s failed to load: %s. " ++ "See system logs and 'systemctl status %s' for details.", ++ unit->id, ++ strerror(-unit->load_error), ++ unit->id); ++ return -EINVAL; ++ } ++ ++ if (type != JOB_STOP && unit->load_state == UNIT_MASKED) { ++ dbus_set_error(e, BUS_ERROR_MASKED, "Unit %s is masked.", unit->id); ++ return -EINVAL; ++ } ++ ++ if (!unit_job_is_applicable(unit, type)) { ++ dbus_set_error(e, BUS_ERROR_JOB_TYPE_NOT_APPLICABLE, "Job type %s is not applicable for unit %s.", job_type_to_string(type), unit->id); ++ return -EBADR; ++ } ++ ++ /* First add the job. */ ++ ret = transaction_add_one_job(tr, type, unit, override, &is_new); ++ if (!ret) ++ return -ENOMEM; ++ ++ ret->ignore_order = ret->ignore_order || ignore_order; ++ ++ /* Then, add a link to the job. */ ++ if (!job_dependency_new(by, ret, matters, conflicts, tr)) ++ return -ENOMEM; ++ ++ if (is_new && !ignore_requirements) { ++ Set *following; ++ ++ /* If we are following some other unit, make sure we ++ * add all dependencies of everybody following. */ ++ if (unit_following_set(ret->unit, &following) > 0) { ++ SET_FOREACH(dep, following, i) { ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ set_free(following); ++ } ++ ++ /* Finally, recursively add in all dependencies. */ ++ if (type == JOB_START || type == JOB_RELOAD_OR_START) { ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ if (r != -EBADR) ++ goto fail; ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ if (r != -EBADR) ++ goto fail; ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ if (r != -EBADR) ++ goto fail; ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); ++ if (r < 0) { ++ if (r != -EBADR) ++ goto fail; ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ } ++ ++ if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ if (r != -EBADR) ++ goto fail; ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ if (r != -EBADR) ++ goto fail; ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ } ++ ++ if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { ++ ++ SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { ++ r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ if (r < 0) { ++ log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ ++ if (e) ++ dbus_error_free(e); ++ } ++ } ++ } ++ ++ /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ ++ } ++ ++ if (_ret) ++ *_ret = ret; ++ ++ return 0; ++ ++fail: ++ return r; ++} ++ ++int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { ++ Iterator i; ++ Unit *u; ++ char *k; ++ int r; ++ ++ assert(tr); ++ assert(m); ++ ++ HASHMAP_FOREACH_KEY(u, k, m->units, i) { ++ ++ /* ignore aliases */ ++ if (u->id != k) ++ continue; ++ ++ if (u->ignore_on_isolate) ++ continue; ++ ++ /* No need to stop inactive jobs */ ++ if (UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(u)) && !u->job) ++ continue; ++ ++ /* Is there already something listed for this? */ ++ if (hashmap_get(tr->jobs, u)) ++ continue; ++ ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); ++ if (r < 0) ++ log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); ++ } ++ ++ return 0; ++} ++ ++Transaction *transaction_new(void) { ++ Transaction *tr; ++ ++ tr = new0(Transaction, 1); ++ if (!tr) ++ return NULL; ++ ++ tr->jobs = hashmap_new(trivial_hash_func, trivial_compare_func); ++ if (!tr->jobs) { ++ free(tr); ++ return NULL; ++ } ++ ++ return tr; ++} ++ ++void transaction_free(Transaction *tr) { ++ assert(hashmap_isempty(tr->jobs)); ++ hashmap_free(tr->jobs); ++ free(tr); ++} +diff --git a/src/transaction.h b/src/transaction.h +new file mode 100644 +index 0000000..d519ffb +--- /dev/null ++++ b/src/transaction.h +@@ -0,0 +1,36 @@ ++#ifndef footransactionhfoo ++#define footransactionhfoo ++ ++typedef struct Transaction Transaction; ++ ++#include "unit.h" ++#include "manager.h" ++#include "job.h" ++#include "hashmap.h" ++ ++struct Transaction { ++ /* Jobs to be added */ ++ Hashmap *jobs; /* Unit object => Job object list 1:1 */ ++ JobDependency *anchor; ++}; ++ ++Transaction *transaction_new(void); ++void transaction_free(Transaction *tr); ++ ++int transaction_add_job_and_dependencies( ++ Transaction *tr, ++ JobType type, ++ Unit *unit, ++ Job *by, ++ bool matters, ++ bool override, ++ bool conflicts, ++ bool ignore_requirements, ++ bool ignore_order, ++ DBusError *e, ++ Job **_ret); ++int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e); ++int transaction_add_isolate_jobs(Transaction *tr, Manager *m); ++void transaction_abort(Transaction *tr); ++ ++#endif +-- +1.7.7 + + +From bd61057f3d44d7bb4e279310a16646eb8ab9bb8c Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 18 Apr 2012 01:39:20 +0200 +Subject: [PATCH 09/30] job: job_new() can find the manager from the unit + (cherry picked from commit + 668ad332a404736474749cbcc8404af3e4447170) + +--- + src/job.c | 7 +++---- + src/job.h | 2 +- + src/transaction.c | 2 +- + 3 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 6d48748..c30bfda 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -33,18 +33,17 @@ + #include "log.h" + #include "dbus-job.h" + +-Job* job_new(Manager *m, JobType type, Unit *unit) { ++Job* job_new(Unit *unit, JobType type) { + Job *j; + +- assert(m); + assert(type < _JOB_TYPE_MAX); + assert(unit); + + if (!(j = new0(Job, 1))) + return NULL; + +- j->manager = m; +- j->id = m->current_job_id++; ++ j->manager = unit->manager; ++ j->id = j->manager->current_job_id++; + j->type = type; + j->unit = unit; + +diff --git a/src/job.h b/src/job.h +index efb0af9..faa10e3 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -137,7 +137,7 @@ struct Job { + bool ignore_order:1; + }; + +-Job* job_new(Manager *m, JobType type, Unit *unit); ++Job* job_new(Unit *unit, JobType type); + void job_uninstall(Job *j); + void job_free(Job *job); + void job_dump(Job *j, FILE*f, const char *prefix); +diff --git a/src/transaction.c b/src/transaction.c +index 8fa89a7..1344e2f 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -763,7 +763,7 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b + if (unit->job && unit->job->type == type) + j = unit->job; + else { +- j = job_new(unit->manager, type, unit); ++ j = job_new(unit, type); + if (!j) + return NULL; + } +-- +1.7.7 + + +From 0d6df78cb48dfbd1c37444ee3702ba59d87ca352 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 18 Apr 2012 15:21:24 +0200 +Subject: [PATCH 10/30] job: jobs shouldn't need to know about transaction + anchors + +Let the transactions maintain their own anchor links. +(cherry picked from commit 1da4264fbd0fa5e6b1bd5e0ac4674a3503774369) +--- + src/job.c | 8 ++------ + src/job.h | 5 ++--- + src/transaction.c | 18 +++++++++++++++--- + 3 files changed, 19 insertions(+), 12 deletions(-) + +diff --git a/src/job.c b/src/job.c +index c30bfda..a5ce2d4 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -96,7 +96,7 @@ void job_free(Job *j) { + free(j); + } + +-JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr) { ++JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { + JobDependency *l; + + assert(object); +@@ -116,21 +116,17 @@ JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool + + if (subject) + LIST_PREPEND(JobDependency, subject, subject->subject_list, l); +- else +- LIST_PREPEND(JobDependency, subject, tr->anchor, l); + + LIST_PREPEND(JobDependency, object, object->object_list, l); + + return l; + } + +-void job_dependency_free(JobDependency *l, Transaction *tr) { ++void job_dependency_free(JobDependency *l) { + assert(l); + + if (l->subject) + LIST_REMOVE(JobDependency, subject, l->subject->subject_list, l); +- else +- LIST_REMOVE(JobDependency, subject, tr->anchor, l); + + LIST_REMOVE(JobDependency, object, l->object->object_list, l); + +diff --git a/src/job.h b/src/job.h +index faa10e3..cbd10c5 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -34,7 +34,6 @@ typedef enum JobMode JobMode; + typedef enum JobResult JobResult; + + #include "manager.h" +-#include "transaction.h" + #include "unit.h" + #include "hashmap.h" + #include "list.h" +@@ -142,8 +141,8 @@ void job_uninstall(Job *j); + void job_free(Job *job); + void job_dump(Job *j, FILE*f, const char *prefix); + +-JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr); +-void job_dependency_free(JobDependency *l, Transaction *tr); ++JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); ++void job_dependency_free(JobDependency *l); + + bool job_is_anchor(Job *j); + +diff --git a/src/transaction.c b/src/transaction.c +index 1344e2f..2a6f1de 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -789,6 +789,12 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b + return j; + } + ++static void transaction_job_dependency_free(Transaction *tr, JobDependency *l) { ++ if (!l->subject) ++ LIST_REMOVE(JobDependency, subject, tr->anchor, l); ++ job_dependency_free(l); ++} ++ + static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { + assert(tr); + assert(j); +@@ -806,12 +812,12 @@ static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependen + j->transaction_prev = j->transaction_next = NULL; + + while (j->subject_list) +- job_dependency_free(j->subject_list, tr); ++ transaction_job_dependency_free(tr, j->subject_list); + + while (j->object_list) { + Job *other = j->object_list->matters ? j->object_list->subject : NULL; + +- job_dependency_free(j->object_list, tr); ++ transaction_job_dependency_free(tr, j->object_list); + + if (other && delete_dependencies) { + log_debug("Deleting job %s/%s as dependency of job %s/%s", +@@ -835,6 +841,7 @@ int transaction_add_job_and_dependencies( + DBusError *e, + Job **_ret) { + Job *ret; ++ JobDependency *l; + Iterator i; + Unit *dep; + int r; +@@ -884,9 +891,14 @@ int transaction_add_job_and_dependencies( + ret->ignore_order = ret->ignore_order || ignore_order; + + /* Then, add a link to the job. */ +- if (!job_dependency_new(by, ret, matters, conflicts, tr)) ++ l = job_dependency_new(by, ret, matters, conflicts); ++ if (!l) + return -ENOMEM; + ++ /* If the link has no subject job, it's the anchor link. */ ++ if (!by) ++ LIST_PREPEND(JobDependency, subject, tr->anchor, l); ++ + if (is_new && !ignore_requirements) { + Set *following; + +-- +1.7.7 + + +From 0799fe0aa4a9e74a0a11cedeb76a630c6db853d5 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 18 Apr 2012 18:15:49 +0200 +Subject: [PATCH 11/30] transaction: do not add installed jobs to the + transaction + +Do not attempt to optimize away the job creation by refering to installed jobs. +We do not want to disturb installed jobs until commiting the transaction. + +(A later patch to job merging will make the separation of transaction jobs and +installed jobs complete.) +(cherry picked from commit 3c956cfee29fe2642fbe257f55adb3583a4af878) +--- + src/transaction.c | 10 +++------- + 1 files changed, 3 insertions(+), 7 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index 2a6f1de..c00dd45 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -760,13 +760,9 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b + } + } + +- if (unit->job && unit->job->type == type) +- j = unit->job; +- else { +- j = job_new(unit, type); +- if (!j) +- return NULL; +- } ++ j = job_new(unit, type); ++ if (!j) ++ return NULL; + + j->generation = 0; + j->marker = NULL; +-- +1.7.7 + + +From 7f60fce10d4c111bcd274d0fcd83a0139b53a9bc Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 00:33:26 +0200 +Subject: [PATCH 12/30] transaction: maintain anchor_job + +Track which job is the anchor in the transaction. +(cherry picked from commit b94fbd30781d7533492cec65bf7d86fa19a1a074) +--- + src/manager.c | 7 +++---- + src/transaction.c | 37 ++++++++++++++++++------------------- + src/transaction.h | 4 ++-- + 3 files changed, 23 insertions(+), 25 deletions(-) + +diff --git a/src/manager.c b/src/manager.c +index a129b88..86ec858 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -631,7 +631,6 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + + int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { + int r; +- Job *ret; + Transaction *tr; + + assert(m); +@@ -657,7 +656,7 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove + + r = transaction_add_job_and_dependencies(tr, type, unit, NULL, true, override, false, + mode == JOB_IGNORE_DEPENDENCIES || mode == JOB_IGNORE_REQUIREMENTS, +- mode == JOB_IGNORE_DEPENDENCIES, e, &ret); ++ mode == JOB_IGNORE_DEPENDENCIES, e); + if (r < 0) + goto tr_abort; + +@@ -671,10 +670,10 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove + if (r < 0) + goto tr_abort; + +- log_debug("Enqueued job %s/%s as %u", unit->id, job_type_to_string(type), (unsigned) ret->id); ++ log_debug("Enqueued job %s/%s as %u", unit->id, job_type_to_string(type), (unsigned) tr->anchor_job->id); + + if (_ret) +- *_ret = ret; ++ *_ret = tr->anchor_job; + + transaction_free(tr); + return 0; +diff --git a/src/transaction.c b/src/transaction.c +index c00dd45..d7ecfdb 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -834,8 +834,7 @@ int transaction_add_job_and_dependencies( + bool conflicts, + bool ignore_requirements, + bool ignore_order, +- DBusError *e, +- Job **_ret) { ++ DBusError *e) { + Job *ret; + JobDependency *l; + Iterator i; +@@ -892,8 +891,11 @@ int transaction_add_job_and_dependencies( + return -ENOMEM; + + /* If the link has no subject job, it's the anchor link. */ +- if (!by) ++ if (!by) { + LIST_PREPEND(JobDependency, subject, tr->anchor, l); ++ if (!tr->anchor_job) ++ tr->anchor_job = ret; ++ } + + if (is_new && !ignore_requirements) { + Set *following; +@@ -902,7 +904,7 @@ int transaction_add_job_and_dependencies( + * add all dependencies of everybody following. */ + if (unit_following_set(ret->unit, &following) > 0) { + SET_FOREACH(dep, following, i) { +- r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e); + if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -917,7 +919,7 @@ int transaction_add_job_and_dependencies( + /* Finally, recursively add in all dependencies. */ + if (type == JOB_START || type == JOB_RELOAD_OR_START) { + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; +@@ -928,7 +930,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; +@@ -939,7 +941,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e); + if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -949,7 +951,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e); + if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -959,7 +961,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; +@@ -970,7 +972,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e); + if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -980,7 +982,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; +@@ -991,7 +993,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e); + if (r < 0) { + log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -1005,7 +1007,7 @@ int transaction_add_job_and_dependencies( + if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { +- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; +@@ -1016,7 +1018,7 @@ int transaction_add_job_and_dependencies( + } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { +- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; +@@ -1030,7 +1032,7 @@ int transaction_add_job_and_dependencies( + if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { +- r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e); + if (r < 0) { + log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + +@@ -1043,9 +1045,6 @@ int transaction_add_job_and_dependencies( + /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ + } + +- if (_ret) +- *_ret = ret; +- + return 0; + + fail: +@@ -1078,7 +1077,7 @@ int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { + if (hashmap_get(tr->jobs, u)) + continue; + +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL); + if (r < 0) + log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); + } +diff --git a/src/transaction.h b/src/transaction.h +index d519ffb..4818cea 100644 +--- a/src/transaction.h ++++ b/src/transaction.h +@@ -12,6 +12,7 @@ struct Transaction { + /* Jobs to be added */ + Hashmap *jobs; /* Unit object => Job object list 1:1 */ + JobDependency *anchor; ++ Job *anchor_job; /* the job the user asked for */ + }; + + Transaction *transaction_new(void); +@@ -27,8 +28,7 @@ int transaction_add_job_and_dependencies( + bool conflicts, + bool ignore_requirements, + bool ignore_order, +- DBusError *e, +- Job **_ret); ++ DBusError *e); + int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e); + int transaction_add_isolate_jobs(Transaction *tr, Manager *m); + void transaction_abort(Transaction *tr); +-- +1.7.7 + + +From 3020dc5e2b840b8732cfdb81c322a47120a0a42f Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 10:33:37 +0200 +Subject: [PATCH 13/30] transaction: change the linking of isolate jobs to the + anchor + +When isolating, the JOB_STOP jobs have no parent job, so they are all peers +of the real anchor job. This is a bit odd. + +Link them from the anchor job. +(cherry picked from commit 4483f694983382b4092e3e295ffb59926cff96d9) +--- + src/transaction.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index d7ecfdb..09abe00 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -893,8 +893,8 @@ int transaction_add_job_and_dependencies( + /* If the link has no subject job, it's the anchor link. */ + if (!by) { + LIST_PREPEND(JobDependency, subject, tr->anchor, l); +- if (!tr->anchor_job) +- tr->anchor_job = ret; ++ assert(!tr->anchor_job); ++ tr->anchor_job = ret; + } + + if (is_new && !ignore_requirements) { +@@ -1077,7 +1077,7 @@ int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { + if (hashmap_get(tr->jobs, u)) + continue; + +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL); ++ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, tr->anchor_job, true, false, false, false, false, NULL); + if (r < 0) + log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); + } +-- +1.7.7 + + +From 1ceeee2cf56d60ac37199ba9ebbe02144200857c Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 01:20:14 +0200 +Subject: [PATCH 14/30] transaction: simplify + transaction_find_jobs_that_matter_to_anchor() (cherry + picked from commit + 0d9989aa68963037a18fb7ed4f309f6155927d70) + +--- + src/transaction.c | 19 ++++++------------- + 1 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index 09abe00..cac58e6 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -38,22 +38,18 @@ void transaction_abort(Transaction *tr) { + assert(!tr->anchor); + } + +-static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { ++static void transaction_find_jobs_that_matter_to_anchor(Job *j, unsigned generation) { + JobDependency *l; + +- assert(tr); +- + /* A recursive sweep through the graph that marks all units + * that matter to the anchor job, i.e. are directly or + * indirectly a dependency of the anchor job via paths that + * are fully marked as mattering. */ + +- if (j) +- l = j->subject_list; +- else +- l = tr->anchor; ++ j->matters_to_anchor = true; ++ j->generation = generation; + +- LIST_FOREACH(subject, l, l) { ++ LIST_FOREACH(subject, l, j->subject_list) { + + /* This link does not matter */ + if (!l->matters) +@@ -63,10 +59,7 @@ static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, + if (l->object->generation == generation) + continue; + +- l->object->matters_to_anchor = true; +- l->object->generation = generation; +- +- transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); ++ transaction_find_jobs_that_matter_to_anchor(l->object, generation); + } + } + +@@ -659,7 +652,7 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e + * the actual list of jobs, if possible. */ + + /* First step: figure out which jobs matter */ +- transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); ++ transaction_find_jobs_that_matter_to_anchor(tr->anchor_job, generation++); + + /* Second step: Try not to stop any running services if + * we don't have to. Don't try to reverse running +-- +1.7.7 + + +From ba088fafbe639c1a8e859406e9f82d0d8bffc804 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 02:48:24 +0200 +Subject: [PATCH 15/30] transaction: avoid garbage collecting the anchor job + +Make sure the anchor job is never considered garbage, even if it has no links +leading to it (this will be allowed in the next patch). +(cherry picked from commit 38809d9dfed4c75d9e97c4e5da2ff957723c4cad) +--- + src/transaction.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index cac58e6..ddb02c0 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -454,7 +454,7 @@ static void transaction_collect_garbage(Transaction *tr) { + again = false; + + HASHMAP_FOREACH(j, tr->jobs, i) { +- if (j->object_list) { ++ if (tr->anchor_job == j || j->object_list) { + /* log_debug("Keeping job %s/%s because of %s/%s", */ + /* j->unit->id, job_type_to_string(j->type), */ + /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ +-- +1.7.7 + + +From 436271253850ec21fccfaa435fa2c6ce445721ac Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 02:11:14 +0200 +Subject: [PATCH 16/30] transaction: remove the anchor link + +tr->anchor_job is sufficient. +(cherry picked from commit e6eda1f23efab618bb26e7015230d8552b401dc6) +--- + src/job.c | 12 ------------ + src/job.h | 2 -- + src/transaction.c | 31 ++++++++----------------------- + src/transaction.h | 1 - + 4 files changed, 8 insertions(+), 38 deletions(-) + +diff --git a/src/job.c b/src/job.c +index a5ce2d4..6b93b63 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -151,18 +151,6 @@ void job_dump(Job *j, FILE*f, const char *prefix) { + prefix, yes_no(j->override)); + } + +-bool job_is_anchor(Job *j) { +- JobDependency *l; +- +- assert(j); +- +- LIST_FOREACH(object, l, j->object_list) +- if (!l->subject) +- return true; +- +- return false; +-} +- + /* + * Merging is commutative, so imagine the matrix as symmetric. We store only + * its lower triangle to avoid duplication. We don't store the main diagonal, +diff --git a/src/job.h b/src/job.h +index cbd10c5..6b06c2a 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -144,8 +144,6 @@ void job_dump(Job *j, FILE*f, const char *prefix); + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); + void job_dependency_free(JobDependency *l); + +-bool job_is_anchor(Job *j); +- + int job_merge(Job *j, Job *other); + + JobType job_type_lookup_merge(JobType a, JobType b); +diff --git a/src/transaction.c b/src/transaction.c +index ddb02c0..39cfe54 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -34,8 +34,6 @@ void transaction_abort(Transaction *tr) { + transaction_delete_job(tr, j, true); + + assert(hashmap_isempty(tr->jobs)); +- +- assert(!tr->anchor); + } + + static void transaction_find_jobs_that_matter_to_anchor(Job *j, unsigned generation) { +@@ -287,7 +285,7 @@ static void transaction_drop_redundant(Transaction *tr) { + + LIST_FOREACH(transaction, k, j) { + +- if (!job_is_anchor(k) && ++ if (tr->anchor_job != k && + (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && + (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) + continue; +@@ -626,8 +624,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); + } + +- assert(!tr->anchor); +- + return 0; + + rollback: +@@ -726,7 +722,6 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e + } + + assert(hashmap_isempty(tr->jobs)); +- assert(!tr->anchor); + + return 0; + } +@@ -778,12 +773,6 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b + return j; + } + +-static void transaction_job_dependency_free(Transaction *tr, JobDependency *l) { +- if (!l->subject) +- LIST_REMOVE(JobDependency, subject, tr->anchor, l); +- job_dependency_free(l); +-} +- + static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { + assert(tr); + assert(j); +@@ -801,12 +790,12 @@ static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependen + j->transaction_prev = j->transaction_next = NULL; + + while (j->subject_list) +- transaction_job_dependency_free(tr, j->subject_list); ++ job_dependency_free(j->subject_list); + + while (j->object_list) { + Job *other = j->object_list->matters ? j->object_list->subject : NULL; + +- transaction_job_dependency_free(tr, j->object_list); ++ job_dependency_free(j->object_list); + + if (other && delete_dependencies) { + log_debug("Deleting job %s/%s as dependency of job %s/%s", +@@ -829,7 +818,6 @@ int transaction_add_job_and_dependencies( + bool ignore_order, + DBusError *e) { + Job *ret; +- JobDependency *l; + Iterator i; + Unit *dep; + int r; +@@ -879,17 +867,14 @@ int transaction_add_job_and_dependencies( + ret->ignore_order = ret->ignore_order || ignore_order; + + /* Then, add a link to the job. */ +- l = job_dependency_new(by, ret, matters, conflicts); +- if (!l) +- return -ENOMEM; +- +- /* If the link has no subject job, it's the anchor link. */ +- if (!by) { +- LIST_PREPEND(JobDependency, subject, tr->anchor, l); ++ if (by) { ++ if (!job_dependency_new(by, ret, matters, conflicts)) ++ return -ENOMEM; ++ } else { ++ /* If the job has no parent job, it is the anchor job. */ + assert(!tr->anchor_job); + tr->anchor_job = ret; + } +- + if (is_new && !ignore_requirements) { + Set *following; + +diff --git a/src/transaction.h b/src/transaction.h +index 4818cea..74d7461 100644 +--- a/src/transaction.h ++++ b/src/transaction.h +@@ -11,7 +11,6 @@ typedef struct Transaction Transaction; + struct Transaction { + /* Jobs to be added */ + Hashmap *jobs; /* Unit object => Job object list 1:1 */ +- JobDependency *anchor; + Job *anchor_job; /* the job the user asked for */ + }; + +-- +1.7.7 + + +From cdfe041c84fb813d883de58003e4a986ebde35e6 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 19 Apr 2012 23:56:26 +0200 +Subject: [PATCH 17/30] transaction: remove a couple of asserts + +We already asserted these facts in the previous loop. +(cherry picked from commit f1c2bdca422dba1bc5615f72662dee5ce69c147b) +--- + src/transaction.c | 3 --- + 1 files changed, 0 insertions(+), 3 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index 39cfe54..41f7b82 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -611,9 +611,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + /* We're fully installed. Now let's free data we don't + * need anymore. */ + +- assert(!j->transaction_next); +- assert(!j->transaction_prev); +- + /* Clean the job dependencies */ + transaction_unlink_job(tr, j, false); + +-- +1.7.7 + + +From ff3ec7f35ab49a1e306f90b33866f4dc7fba282f Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 02:04:01 +0200 +Subject: [PATCH 18/30] job: separate job_install() + +Let the jobs install themselves. +(cherry picked from commit 05d576f1f77699ea5c2e5ed0e04451b14dfc45a0) +--- + src/job.c | 44 +++++++++++++++++++++++++++++--------------- + src/job.h | 3 ++- + src/transaction.c | 18 ++---------------- + 3 files changed, 33 insertions(+), 32 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 6b93b63..c5bf9cd 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -54,21 +54,6 @@ Job* job_new(Unit *unit, JobType type) { + return j; + } + +-void job_uninstall(Job *j) { +- assert(j->installed); +- /* Detach from next 'bigger' objects */ +- +- bus_job_send_removed_signal(j); +- +- if (j->unit->job == j) { +- j->unit->job = NULL; +- unit_add_to_gc_queue(j->unit); +- } +- +- hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); +- j->installed = false; +-} +- + void job_free(Job *j) { + assert(j); + assert(!j->installed); +@@ -96,6 +81,35 @@ void job_free(Job *j) { + free(j); + } + ++void job_uninstall(Job *j) { ++ assert(j->installed); ++ /* Detach from next 'bigger' objects */ ++ ++ bus_job_send_removed_signal(j); ++ ++ if (j->unit->job == j) { ++ j->unit->job = NULL; ++ unit_add_to_gc_queue(j->unit); ++ } ++ ++ hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); ++ j->installed = false; ++} ++ ++void job_install(Job *j) { ++ Job *uj = j->unit->job; ++ ++ if (uj) { ++ job_uninstall(uj); ++ job_free(uj); ++ } ++ ++ j->unit->job = j; ++ j->installed = true; ++ j->manager->n_installed_jobs ++; ++ log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); ++} ++ + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { + JobDependency *l; + +diff --git a/src/job.h b/src/job.h +index 6b06c2a..8fa9046 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -137,8 +137,9 @@ struct Job { + }; + + Job* job_new(Unit *unit, JobType type); +-void job_uninstall(Job *j); + void job_free(Job *job); ++void job_install(Job *j); ++void job_uninstall(Job *j); + void job_dump(Job *j, FILE*f, const char *prefix); + + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); +diff --git a/src/transaction.c b/src/transaction.c +index 41f7b82..d495cbd 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -592,33 +592,19 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + } + + while ((j = hashmap_steal_first(tr->jobs))) { +- Job *uj; + if (j->installed) { + /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ + continue; + } + +- uj = j->unit->job; +- if (uj) { +- job_uninstall(uj); +- job_free(uj); +- } +- +- j->unit->job = j; +- j->installed = true; +- m->n_installed_jobs ++; +- +- /* We're fully installed. Now let's free data we don't +- * need anymore. */ +- + /* Clean the job dependencies */ + transaction_unlink_job(tr, j, false); + ++ job_install(j); ++ + job_add_to_run_queue(j); + job_add_to_dbus_queue(j); + job_start_timer(j); +- +- log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); + } + + return 0; +-- +1.7.7 + + +From 78c1339da1446bac0f4a5fbb0f1add66a6246bec Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 09:38:43 +0200 +Subject: [PATCH 19/30] transaction: rework merging with installed jobs + +Previously transactions could reference installed jobs. It made some issues +difficult to fix. + +This sets new rules for jobs: +A job cannot be both a member of a transaction and installed. When jobs are +created, they are linked to a transaction. The whole transaction is constructed +(with merging of jobs within, etc.). When it's complete, all the jobs are +unlinked from it one by one and let to install themselves. It is during the +installation when merging with previously installed jobs (from older +transactions) is contemplated. + +Merging with installed jobs has different rules than merging within a +transaction: + - An installed conflicting job gets cancelled. It cannot be simply deleted, + because someone might be waiting for its completion on DBus. + - An installed, but still waiting, job can be safely merged into. + - An installed and running job can be tricky. For some job types it is safe to + just merge. For the other types we merge anyway, but put the job back into + JOB_WAITING to allow it to run again. This may be suboptimal, but it is not + currently possible to have more than one installed job for a unit. + +Note this also fixes a bug where the anchor job could be deleted during merging +within the transaction. +(cherry picked from commit 656bbffc6c45bdd8d5c28a96ca948ba16c546547) +--- + src/job.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++-- + src/job.h | 2 +- + src/transaction.c | 21 +++++++++++-------- + 3 files changed, 68 insertions(+), 13 deletions(-) + +diff --git a/src/job.c b/src/job.c +index c5bf9cd..e6737df 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -96,18 +96,70 @@ void job_uninstall(Job *j) { + j->installed = false; + } + +-void job_install(Job *j) { ++static bool job_type_allows_late_merge(JobType t) { ++ /* Tells whether it is OK to merge a job of type 't' with an already ++ * running job. ++ * Reloads cannot be merged this way. Think of the sequence: ++ * 1. Reload of a daemon is in progress; the daemon has already loaded ++ * its config file, but hasn't completed the reload operation yet. ++ * 2. Edit foo's config file. ++ * 3. Trigger another reload to have the daemon use the new config. ++ * Should the second reload job be merged into the first one, the daemon ++ * would not know about the new config. ++ * JOB_RESTART jobs on the other hand can be merged, because they get ++ * patched into JOB_START after stopping the unit. So if we see a ++ * JOB_RESTART running, it means the unit hasn't stopped yet and at ++ * this time the merge is still allowed. */ ++ return !(t == JOB_RELOAD || t == JOB_RELOAD_OR_START); ++} ++ ++static void job_merge_into_installed(Job *j, Job *other) { ++ assert(j->installed); ++ assert(j->unit == other->unit); ++ ++ j->type = job_type_lookup_merge(j->type, other->type); ++ assert(j->type >= 0); ++ ++ j->override = j->override || other->override; ++} ++ ++Job* job_install(Job *j) { + Job *uj = j->unit->job; + ++ assert(!j->installed); ++ + if (uj) { +- job_uninstall(uj); +- job_free(uj); ++ if (job_type_is_conflicting(uj->type, j->type)) ++ job_finish_and_invalidate(uj, JOB_CANCELED); ++ else { ++ /* not conflicting, i.e. mergeable */ ++ ++ if (uj->state == JOB_WAITING || ++ (job_type_allows_late_merge(j->type) && job_type_is_superset(uj->type, j->type))) { ++ job_merge_into_installed(uj, j); ++ log_debug("Merged into installed job %s/%s as %u", ++ uj->unit->id, job_type_to_string(uj->type), (unsigned) uj->id); ++ return uj; ++ } else { ++ /* already running and not safe to merge into */ ++ /* Patch uj to become a merged job and re-run it. */ ++ /* XXX It should be safer to queue j to run after uj finishes, but it is ++ * not currently possible to have more than one installed job per unit. */ ++ job_merge_into_installed(uj, j); ++ log_debug("Merged into running job, re-running: %s/%s as %u", ++ uj->unit->id, job_type_to_string(uj->type), (unsigned) uj->id); ++ uj->state = JOB_WAITING; ++ return uj; ++ } ++ } + } + ++ /* Install the job */ + j->unit->job = j; + j->installed = true; + j->manager->n_installed_jobs ++; + log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); ++ return j; + } + + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { +diff --git a/src/job.h b/src/job.h +index 8fa9046..eab0e07 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -138,7 +138,7 @@ struct Job { + + Job* job_new(Unit *unit, JobType type); + void job_free(Job *job); +-void job_install(Job *j); ++Job* job_install(Job *j); + void job_uninstall(Job *j); + void job_dump(Job *j, FILE*f, const char *prefix); + +diff --git a/src/transaction.c b/src/transaction.c +index d495cbd..aa0cedf 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -243,21 +243,14 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { + LIST_FOREACH(transaction, k, j->transaction_next) + assert_se(job_type_merge(&t, k->type) == 0); + +- /* If an active job is mergeable, merge it too */ +- if (j->unit->job) +- job_type_merge(&t, j->unit->job->type); /* Might fail. Which is OK */ +- + while ((k = j->transaction_next)) { +- if (j->installed) { ++ if (tr->anchor_job == k) { + transaction_merge_and_delete_job(tr, k, j, t); + j = k; + } else + transaction_merge_and_delete_job(tr, j, k, t); + } + +- if (j->unit->job && !j->installed) +- transaction_merge_and_delete_job(tr, j, j->unit->job, t); +- + assert(!j->transaction_next); + assert(!j->transaction_prev); + } +@@ -592,6 +585,8 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + } + + while ((j = hashmap_steal_first(tr->jobs))) { ++ Job *installed_job; ++ + if (j->installed) { + /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ + continue; +@@ -600,7 +595,15 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + /* Clean the job dependencies */ + transaction_unlink_job(tr, j, false); + +- job_install(j); ++ installed_job = job_install(j); ++ if (installed_job != j) { ++ /* j has been merged into a previously installed job */ ++ if (tr->anchor_job == j) ++ tr->anchor_job = installed_job; ++ hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); ++ job_free(j); ++ j = installed_job; ++ } + + job_add_to_run_queue(j); + job_add_to_dbus_queue(j); +-- +1.7.7 + + +From 3d47dab6ed99778f9812ec4039135feb950f02da Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 10:02:05 +0200 +Subject: [PATCH 20/30] transaction: remove checks for installed + +Transactions cannot contain installed jobs anymore. Remove the now pointless +checks. +(cherry picked from commit d6a093d098054b6fe866441251ad9485c9e31584) +--- + src/job.c | 7 +++---- + src/transaction.c | 21 +++------------------ + 2 files changed, 6 insertions(+), 22 deletions(-) + +diff --git a/src/job.c b/src/job.c +index e6737df..fb759a5 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -83,14 +83,13 @@ void job_free(Job *j) { + + void job_uninstall(Job *j) { + assert(j->installed); ++ assert(j->unit->job == j); + /* Detach from next 'bigger' objects */ + + bus_job_send_removed_signal(j); + +- if (j->unit->job == j) { +- j->unit->job = NULL; +- unit_add_to_gc_queue(j->unit); +- } ++ j->unit->job = NULL; ++ unit_add_to_gc_queue(j->unit); + + hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); + j->installed = false; +diff --git a/src/transaction.c b/src/transaction.c +index aa0cedf..c3e1e13 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -11,8 +11,7 @@ static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependen + + transaction_unlink_job(tr, j, delete_dependencies); + +- if (!j->installed) +- job_free(j); ++ job_free(j); + } + + static void transaction_delete_unit(Transaction *tr, Unit *u) { +@@ -279,7 +278,7 @@ static void transaction_drop_redundant(Transaction *tr) { + LIST_FOREACH(transaction, k, j) { + + if (tr->anchor_job != k && +- (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && ++ job_type_is_redundant(k->type, unit_active_state(k->unit)) && + (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) + continue; + +@@ -349,7 +348,6 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + log_info("Walked on cycle path to %s/%s", k->unit->id, job_type_to_string(k->type)); + + if (!delete && +- !k->installed && + !unit_matters_to_anchor(k->unit, k)) { + /* Ok, we can drop this one, so let's + * do so. */ +@@ -478,7 +476,6 @@ static int transaction_is_destructive(Transaction *tr, DBusError *e) { + assert(!j->transaction_next); + + if (j->unit->job && +- j->unit->job != j && + !job_type_is_superset(j->type, j->unit->job->type)) { + + dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); +@@ -576,9 +573,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + assert(!j->transaction_prev); + assert(!j->transaction_next); + +- if (j->installed) +- continue; +- + r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); + if (r < 0) + goto rollback; +@@ -587,11 +581,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + while ((j = hashmap_steal_first(tr->jobs))) { + Job *installed_job; + +- if (j->installed) { +- /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ +- continue; +- } +- + /* Clean the job dependencies */ + transaction_unlink_job(tr, j, false); + +@@ -614,12 +603,8 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + + rollback: + +- HASHMAP_FOREACH(j, tr->jobs, i) { +- if (j->installed) +- continue; +- ++ HASHMAP_FOREACH(j, tr->jobs, i) + hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); +- } + + return r; + } +-- +1.7.7 + + +From 55284fc0ba28bf10d4fa535a86921bad23505c96 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 12:28:31 +0200 +Subject: [PATCH 21/30] dbus-job: allow multiple bus clients + +Merging of jobs can result in more than one client being interested in a job. +(cherry picked from commit 97e6a11996855800f68dc41c13537784198c8b61) +--- + src/dbus-job.c | 146 +++++++++++++++++++++++++++++++--------------------- + src/dbus-manager.c | 6 ++- + src/dbus.c | 14 +++-- + src/job.c | 21 +++++++- + src/job.h | 15 ++++- + 5 files changed, 131 insertions(+), 71 deletions(-) + +diff --git a/src/dbus-job.c b/src/dbus-job.c +index ab6d610..aa1b4eb 100644 +--- a/src/dbus-job.c ++++ b/src/dbus-job.c +@@ -225,61 +225,71 @@ const DBusObjectPathVTable bus_job_vtable = { + .message_function = bus_job_message_handler + }; + +-static int job_send_message(Job *j, DBusMessage *m) { ++static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) { ++ DBusMessage *m = NULL; + int r; + + assert(j); +- assert(m); ++ assert(new_message); + + if (bus_has_subscriber(j->manager)) { +- if ((r = bus_broadcast(j->manager, m)) < 0) ++ m = new_message(j); ++ if (!m) ++ goto oom; ++ r = bus_broadcast(j->manager, m); ++ dbus_message_unref(m); ++ if (r < 0) + return r; + +- } else if (j->bus_client) { ++ } else { + /* If nobody is subscribed, we just send the message +- * to the client which created the job */ ++ * to the client(s) which created the job */ ++ JobBusClient *cl; ++ assert(j->bus_client_list); ++ LIST_FOREACH(client, cl, j->bus_client_list) { ++ assert(cl->bus); + +- assert(j->bus); ++ m = new_message(j); ++ if (!m) ++ goto oom; + +- if (!dbus_message_set_destination(m, j->bus_client)) +- return -ENOMEM; ++ if (!dbus_message_set_destination(m, cl->name)) ++ goto oom; ++ ++ if (!dbus_connection_send(cl->bus, m, NULL)) ++ goto oom; + +- if (!dbus_connection_send(j->bus, m, NULL)) +- return -ENOMEM; ++ dbus_message_unref(m); ++ m = NULL; ++ } + } + + return 0; ++oom: ++ if (m) ++ dbus_message_unref(m); ++ return -ENOMEM; + } + +-void bus_job_send_change_signal(Job *j) { +- char *p = NULL; ++static DBusMessage* new_change_signal_message(Job *j) { + DBusMessage *m = NULL; ++ char *p = NULL; + +- assert(j); +- +- if (j->in_dbus_queue) { +- LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j); +- j->in_dbus_queue = false; +- } +- +- if (!bus_has_subscriber(j->manager) && !j->bus_client) { +- j->sent_dbus_new_signal = true; +- return; +- } +- +- if (!(p = job_dbus_path(j))) ++ p = job_dbus_path(j); ++ if (!p) + goto oom; + + if (j->sent_dbus_new_signal) { + /* Send a properties changed signal */ +- +- if (!(m = bus_properties_changed_new(p, "org.freedesktop.systemd1.Job", INVALIDATING_PROPERTIES))) ++ m = bus_properties_changed_new(p, "org.freedesktop.systemd1.Job", INVALIDATING_PROPERTIES); ++ if (!m) + goto oom; + + } else { + /* Send a new signal */ + +- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobNew"))) ++ m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobNew"); ++ if (!m) + goto oom; + + if (!dbus_message_append_args(m, +@@ -289,42 +299,26 @@ void bus_job_send_change_signal(Job *j) { + goto oom; + } + +- if (job_send_message(j, m) < 0) +- goto oom; +- +- free(p); +- dbus_message_unref(m); +- +- j->sent_dbus_new_signal = true; +- +- return; ++ return m; + + oom: +- free(p); +- + if (m) + dbus_message_unref(m); +- +- log_error("Failed to allocate job change signal."); ++ free(p); ++ return NULL; + } + +-void bus_job_send_removed_signal(Job *j) { +- char *p = NULL; ++static DBusMessage* new_removed_signal_message(Job *j) { + DBusMessage *m = NULL; ++ char *p = NULL; + const char *r; + +- assert(j); +- +- if (!bus_has_subscriber(j->manager) && !j->bus_client) +- return; +- +- if (!j->sent_dbus_new_signal) +- bus_job_send_change_signal(j); +- +- if (!(p = job_dbus_path(j))) ++ p = job_dbus_path(j); ++ if (!p) + goto oom; + +- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobRemoved"))) ++ m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobRemoved"); ++ if (!m) + goto oom; + + r = job_result_to_string(j->result); +@@ -336,19 +330,53 @@ void bus_job_send_removed_signal(Job *j) { + DBUS_TYPE_INVALID)) + goto oom; + +- if (job_send_message(j, m) < 0) +- goto oom; ++ return m; + ++oom: ++ if (m) ++ dbus_message_unref(m); + free(p); +- dbus_message_unref(m); ++ return NULL; ++} ++ ++void bus_job_send_change_signal(Job *j) { ++ assert(j); ++ ++ if (j->in_dbus_queue) { ++ LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j); ++ j->in_dbus_queue = false; ++ } ++ ++ if (!bus_has_subscriber(j->manager) && !j->bus_client_list) { ++ j->sent_dbus_new_signal = true; ++ return; ++ } ++ ++ if (job_send_message(j, new_change_signal_message) < 0) ++ goto oom; ++ ++ j->sent_dbus_new_signal = true; + + return; + + oom: +- free(p); ++ log_error("Failed to allocate job change signal."); ++} + +- if (m) +- dbus_message_unref(m); ++void bus_job_send_removed_signal(Job *j) { ++ assert(j); ++ ++ if (!bus_has_subscriber(j->manager) && !j->bus_client_list) ++ return; ++ ++ if (!j->sent_dbus_new_signal) ++ bus_job_send_change_signal(j); + ++ if (job_send_message(j, new_removed_signal_message) < 0) ++ goto oom; ++ ++ return; ++ ++oom: + log_error("Failed to allocate job remove signal."); + } +diff --git a/src/dbus-manager.c b/src/dbus-manager.c +index 6d272cb..0b78375 100644 +--- a/src/dbus-manager.c ++++ b/src/dbus-manager.c +@@ -1435,6 +1435,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, + const char *name, *smode, *old_name = NULL; + JobMode mode; + Job *j; ++ JobBusClient *cl; + Unit *u; + bool b; + +@@ -1492,10 +1493,11 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, + if ((r = manager_add_job(m, job_type, u, mode, true, &error, &j)) < 0) + return bus_send_error_reply(connection, message, &error, r); + +- if (!(j->bus_client = strdup(message_get_sender_with_fallback(message)))) ++ cl = job_bus_client_new(connection, message_get_sender_with_fallback(message)); ++ if (!cl) + goto oom; + +- j->bus = connection; ++ LIST_PREPEND(JobBusClient, client, j->bus_client_list, cl); + + if (!(reply = dbus_message_new_method_return(message))) + goto oom; +diff --git a/src/dbus.c b/src/dbus.c +index 8e6e9fd..50e8c9c 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -1166,13 +1166,15 @@ static void shutdown_connection(Manager *m, DBusConnection *c) { + Job *j; + Iterator i; + +- HASHMAP_FOREACH(j, m->jobs, i) +- if (j->bus == c) { +- free(j->bus_client); +- j->bus_client = NULL; +- +- j->bus = NULL; ++ HASHMAP_FOREACH(j, m->jobs, i) { ++ JobBusClient *cl, *nextcl; ++ LIST_FOREACH_SAFE(client, cl, nextcl, j->bus_client_list) { ++ if (cl->bus == c) { ++ LIST_REMOVE(JobBusClient, client, j->bus_client_list, cl); ++ free(cl); ++ } + } ++ } + + set_remove(m->bus_connections, c); + set_remove(m->bus_connections_for_dispatch, c); +diff --git a/src/job.c b/src/job.c +index fb759a5..de74751 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -33,6 +33,20 @@ + #include "log.h" + #include "dbus-job.h" + ++JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) { ++ JobBusClient *cl; ++ size_t name_len; ++ ++ name_len = strlen(name); ++ cl = malloc0(sizeof(JobBusClient) + name_len + 1); ++ if (!cl) ++ return NULL; ++ ++ cl->bus = connection; ++ memcpy(cl->name, name, name_len + 1); ++ return cl; ++} ++ + Job* job_new(Unit *unit, JobType type) { + Job *j; + +@@ -55,6 +69,8 @@ Job* job_new(Unit *unit, JobType type) { + } + + void job_free(Job *j) { ++ JobBusClient *cl; ++ + assert(j); + assert(!j->installed); + assert(!j->transaction_prev); +@@ -77,7 +93,10 @@ void job_free(Job *j) { + close_nointr_nofail(j->timer_watch.fd); + } + +- free(j->bus_client); ++ while ((cl = j->bus_client_list)) { ++ LIST_REMOVE(JobBusClient, client, j->bus_client_list, cl); ++ free(cl); ++ } + free(j); + } + +diff --git a/src/job.h b/src/job.h +index eab0e07..2025b5b 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -28,6 +28,7 @@ + + typedef struct Job Job; + typedef struct JobDependency JobDependency; ++typedef struct JobBusClient JobBusClient; + typedef enum JobType JobType; + typedef enum JobState JobState; + typedef enum JobMode JobMode; +@@ -99,6 +100,13 @@ struct JobDependency { + bool conflicts; + }; + ++struct JobBusClient { ++ LIST_FIELDS(JobBusClient, client); ++ /* Note that this bus object is not ref counted here. */ ++ DBusConnection *bus; ++ char name[0]; ++}; ++ + struct Job { + Manager *manager; + Unit *unit; +@@ -121,9 +129,8 @@ struct Job { + + Watch timer_watch; + +- /* Note that this bus object is not ref counted here. */ +- DBusConnection *bus; +- char *bus_client; ++ /* There can be more than one client, because of job merging. */ ++ LIST_HEAD(JobBusClient, bus_client_list); + + JobResult result; + +@@ -136,6 +143,8 @@ struct Job { + bool ignore_order:1; + }; + ++JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name); ++ + Job* job_new(Unit *unit, JobType type); + void job_free(Job *job); + Job* job_install(Job *j); +-- +1.7.7 + + +From 45aca411e44be019c9ba1bc1500e0b7df73bbf75 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 20 Apr 2012 14:44:00 +0200 +Subject: [PATCH 22/30] transaction: add starting requirements for JOB_RESTART + +While having a Requires= dependency between units, the dependency is started +automatically on "systemctl start", but it's not started on "systemctl +restart". + +JOB_RESTART jobs did not pull the dependencies for starting into the +transaction. + +https://bugzilla.redhat.com/show_bug.cgi?id=802770 + +Note that the other bug noted in comment #2 has been fixed already by avoiding +the deletion of anchor jobs. +(cherry picked from commit 65304075249449a713b4e4842b8538ef4aa1c725) +--- + src/transaction.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index c3e1e13..a2efcbc 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -866,7 +866,7 @@ int transaction_add_job_and_dependencies( + } + + /* Finally, recursively add in all dependencies. */ +- if (type == JOB_START || type == JOB_RELOAD_OR_START) { ++ if (type == JOB_START || type == JOB_RELOAD_OR_START || type == JOB_RESTART) { + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { + r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { +-- +1.7.7 + + +From 029699f2de954461054efb21e91994ca6e9df46a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 22 Apr 2012 15:22:52 +0200 +Subject: [PATCH 23/30] transaction: downgrade warnings about masked units + (cherry picked from commit + 59e132a7f416d7c4a33a46d791f250e03d2c2cd0) + +--- + src/transaction.c | 11 +++++++---- + 1 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index a2efcbc..a36f1df 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -822,7 +822,7 @@ int transaction_add_job_and_dependencies( + + if (type != JOB_STOP && unit->load_state == UNIT_MASKED) { + dbus_set_error(e, BUS_ERROR_MASKED, "Unit %s is masked.", unit->id); +- return -EINVAL; ++ return -EADDRNOTAVAIL; + } + + if (!unit_job_is_applicable(unit, type)) { +@@ -892,7 +892,8 @@ int transaction_add_job_and_dependencies( + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { + r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e); + if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ log_full(r == -EADDRNOTAVAIL ? LOG_DEBUG : LOG_WARNING, ++ "Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); +@@ -902,7 +903,8 @@ int transaction_add_job_and_dependencies( + SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { + r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e); + if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ log_full(r == -EADDRNOTAVAIL ? LOG_DEBUG : LOG_WARNING, ++ "Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); +@@ -923,7 +925,8 @@ int transaction_add_job_and_dependencies( + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { + r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e); + if (r < 0) { +- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); ++ log_full(r == -EADDRNOTAVAIL ? LOG_DEBUG : LOG_WARNING, ++ "Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); + + if (e) + dbus_error_free(e); +-- +1.7.7 + + +From 0ee2f52343ed0da6dc9006be54c9de57b762e563 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 21 Apr 2012 21:40:40 +0200 +Subject: [PATCH 24/30] transaction: improve readability + +The functions looked complicated with the nested loops with breaks, +continues, and "while (again)". +Here using goto actually makes them easier to understand. + +Also correcting the comment about redundant jobs. +(cherry picked from commit 055163ad15a5ca1eb5626c63fa7163e152698e2b) +--- + src/transaction.c | 152 ++++++++++++++++++++++------------------------------- + 1 files changed, 62 insertions(+), 90 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index a36f1df..2bd6541 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -258,44 +258,32 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { + } + + static void transaction_drop_redundant(Transaction *tr) { +- bool again; +- +- assert(tr); +- +- /* Goes through the transaction and removes all jobs that are +- * a noop */ +- +- do { +- Job *j; +- Iterator i; +- +- again = false; +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- bool changes_something = false; +- Job *k; ++ Job *j; ++ Iterator i; + +- LIST_FOREACH(transaction, k, j) { ++ /* Goes through the transaction and removes all jobs of the units ++ * whose jobs are all noops. If not all of a unit's jobs are ++ * redundant, they are kept. */ + +- if (tr->anchor_job != k && +- job_type_is_redundant(k->type, unit_active_state(k->unit)) && +- (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) +- continue; ++ assert(tr); + +- changes_something = true; +- break; +- } ++rescan: ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ Job *k; + +- if (changes_something) +- continue; ++ LIST_FOREACH(transaction, k, j) { + +- /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ +- transaction_delete_job(tr, j, false); +- again = true; +- break; ++ if (tr->anchor_job == k || ++ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || ++ (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) ++ goto next_unit; + } + +- } while (again); ++ /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ ++ transaction_delete_job(tr, j, false); ++ goto rescan; ++ next_unit:; ++ } + } + + static bool unit_matters_to_anchor(Unit *u, Job *j) { +@@ -430,34 +418,27 @@ static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusE + } + + static void transaction_collect_garbage(Transaction *tr) { +- bool again; ++ Iterator i; ++ Job *j; + + assert(tr); + + /* Drop jobs that are not required by any other job */ + +- do { +- Iterator i; +- Job *j; +- +- again = false; +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- if (tr->anchor_job == j || j->object_list) { +- /* log_debug("Keeping job %s/%s because of %s/%s", */ +- /* j->unit->id, job_type_to_string(j->type), */ +- /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ +- /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ +- continue; +- } +- +- /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ +- transaction_delete_job(tr, j, true); +- again = true; +- break; ++rescan: ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ if (tr->anchor_job == j || j->object_list) { ++ /* log_debug("Keeping job %s/%s because of %s/%s", */ ++ /* j->unit->id, job_type_to_string(j->type), */ ++ /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ ++ /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ ++ continue; + } + +- } while (again); ++ /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ ++ transaction_delete_job(tr, j, true); ++ goto rescan; ++ } + } + + static int transaction_is_destructive(Transaction *tr, DBusError *e) { +@@ -487,59 +468,50 @@ static int transaction_is_destructive(Transaction *tr, DBusError *e) { + } + + static void transaction_minimize_impact(Transaction *tr) { +- bool again; ++ Job *j; ++ Iterator i; ++ + assert(tr); + + /* Drops all unnecessary jobs that reverse already active jobs + * or that stop a running service. */ + +- do { +- Job *j; +- Iterator i; +- +- again = false; +- +- HASHMAP_FOREACH(j, tr->jobs, i) { +- LIST_FOREACH(transaction, j, j) { +- bool stops_running_service, changes_existing_job; ++rescan: ++ HASHMAP_FOREACH(j, tr->jobs, i) { ++ LIST_FOREACH(transaction, j, j) { ++ bool stops_running_service, changes_existing_job; + +- /* If it matters, we shouldn't drop it */ +- if (j->matters_to_anchor) +- continue; ++ /* If it matters, we shouldn't drop it */ ++ if (j->matters_to_anchor) ++ continue; + +- /* Would this stop a running service? +- * Would this change an existing job? +- * If so, let's drop this entry */ ++ /* Would this stop a running service? ++ * Would this change an existing job? ++ * If so, let's drop this entry */ + +- stops_running_service = +- j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); ++ stops_running_service = ++ j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); + +- changes_existing_job = +- j->unit->job && +- job_type_is_conflicting(j->type, j->unit->job->type); ++ changes_existing_job = ++ j->unit->job && ++ job_type_is_conflicting(j->type, j->unit->job->type); + +- if (!stops_running_service && !changes_existing_job) +- continue; ++ if (!stops_running_service && !changes_existing_job) ++ continue; + +- if (stops_running_service) +- log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); ++ if (stops_running_service) ++ log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); + +- if (changes_existing_job) +- log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); ++ if (changes_existing_job) ++ log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); + +- /* Ok, let's get rid of this */ +- log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); ++ /* Ok, let's get rid of this */ ++ log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); + +- transaction_delete_job(tr, j, true); +- again = true; +- break; +- } +- +- if (again) +- break; ++ transaction_delete_job(tr, j, true); ++ goto rescan; + } +- +- } while (again); ++ } + } + + static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { +-- +1.7.7 + + +From f613fa87549229f257444c41f5155fb1f5f30f44 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sun, 22 Apr 2012 02:09:04 +0200 +Subject: [PATCH 25/30] transaction: fix detection of cycles involving + installed jobs + +A transaction can be acyclic, but when it's added to installed jobs, +a cycle may result. + +transaction_verify_order_one() attempts to detect these cases, but it +fails because the installed jobs often have the exact generation number +that makes them look as if they were walked already. + +Fix it by resetting the generation numbers of all installed jobs before +detecting cycles. + +An alternative fix could be to add the generation counter to the +Manager and use it instead of starting always from 1 in +transaction_activate(). But I prefer not having to worry about it +wrapping around. +(cherry picked from commit 4e7bd268ae1f39675988b9ac61b9378a67e3ae3e) +--- + src/transaction.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index 2bd6541..9676b57 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -582,6 +582,8 @@ rollback: + } + + int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { ++ Iterator i; ++ Job *j; + int r; + unsigned generation = 1; + +@@ -590,6 +592,12 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e + /* This applies the changes recorded in tr->jobs to + * the actual list of jobs, if possible. */ + ++ /* Reset the generation counter of all installed jobs. The detection of cycles ++ * looks at installed jobs. If they had a non-zero generation from some previous ++ * walk of the graph, the algorithm would break. */ ++ HASHMAP_FOREACH(j, m->jobs, i) ++ j->generation = 0; ++ + /* First step: figure out which jobs matter */ + transaction_find_jobs_that_matter_to_anchor(tr->anchor_job, generation++); + +-- +1.7.7 + + +From 374998cf2930534951bc0dace5025468cdf3c247 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sun, 22 Apr 2012 10:54:58 +0200 +Subject: [PATCH 26/30] transaction: abort does not need to use recursive + deletion + +Recursion is unnecessary, because we're deleting all transaction jobs +anyway. And the recursive deletion produces debug messages that are +pointless in transaction abort. +(cherry picked from commit 1b9cea0caa85dce6d9f117638a296b141c49a8fd) +--- + src/transaction.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/transaction.c b/src/transaction.c +index 9676b57..b0a26f2 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -30,7 +30,7 @@ void transaction_abort(Transaction *tr) { + assert(tr); + + while ((j = hashmap_first(tr->jobs))) +- transaction_delete_job(tr, j, true); ++ transaction_delete_job(tr, j, false); + + assert(hashmap_isempty(tr->jobs)); + } +-- +1.7.7 + + +From 0d806f0c0bebf755867cfe0b3cc41d55aebea66a Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Mon, 23 Apr 2012 01:24:04 +0200 +Subject: [PATCH 27/30] job: serialize jobs properly + +Jobs were not preserved correctly over a daemon-reload operation. +A systemctl process waiting for a job completion received a job removal +signal. The job itself changed its id. The job timeout started ticking all +over again. + +This fixes the deficiencies. +(cherry picked from commit 39a18c60d07319ebfcfd476556729c2cadd616d6) +--- + src/dbus-job.c | 6 +- + src/job.c | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- + src/job.h | 6 ++ + src/unit.c | 45 ++++++++++++--- + src/unit.h | 4 +- + 5 files changed, 203 insertions(+), 20 deletions(-) + +diff --git a/src/dbus-job.c b/src/dbus-job.c +index aa1b4eb..63e5846 100644 +--- a/src/dbus-job.c ++++ b/src/dbus-job.c +@@ -232,7 +232,7 @@ static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) { + assert(j); + assert(new_message); + +- if (bus_has_subscriber(j->manager)) { ++ if (bus_has_subscriber(j->manager) || j->forgot_bus_clients) { + m = new_message(j); + if (!m) + goto oom; +@@ -347,7 +347,7 @@ void bus_job_send_change_signal(Job *j) { + j->in_dbus_queue = false; + } + +- if (!bus_has_subscriber(j->manager) && !j->bus_client_list) { ++ if (!bus_has_subscriber(j->manager) && !j->bus_client_list && !j->forgot_bus_clients) { + j->sent_dbus_new_signal = true; + return; + } +@@ -366,7 +366,7 @@ oom: + void bus_job_send_removed_signal(Job *j) { + assert(j); + +- if (!bus_has_subscriber(j->manager) && !j->bus_client_list) ++ if (!bus_has_subscriber(j->manager) && !j->bus_client_list && !j->forgot_bus_clients) + return; + + if (!j->sent_dbus_new_signal) +diff --git a/src/job.c b/src/job.c +index de74751..69df024 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -47,22 +47,36 @@ JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) { + return cl; + } + +-Job* job_new(Unit *unit, JobType type) { ++Job* job_new_raw(Unit *unit) { + Job *j; + +- assert(type < _JOB_TYPE_MAX); ++ /* used for deserialization */ ++ + assert(unit); + +- if (!(j = new0(Job, 1))) ++ j = new0(Job, 1); ++ if (!j) + return NULL; + + j->manager = unit->manager; +- j->id = j->manager->current_job_id++; +- j->type = type; + j->unit = unit; +- + j->timer_watch.type = WATCH_INVALID; + ++ return j; ++} ++ ++Job* job_new(Unit *unit, JobType type) { ++ Job *j; ++ ++ assert(type < _JOB_TYPE_MAX); ++ ++ j = job_new_raw(unit); ++ if (!j) ++ return NULL; ++ ++ j->id = j->manager->current_job_id++; ++ j->type = type; ++ + /* We don't link it here, that's what job_dependency() is for */ + + return j; +@@ -105,7 +119,9 @@ void job_uninstall(Job *j) { + assert(j->unit->job == j); + /* Detach from next 'bigger' objects */ + +- bus_job_send_removed_signal(j); ++ /* daemon-reload should be transparent to job observers */ ++ if (j->manager->n_reloading <= 0) ++ bus_job_send_removed_signal(j); + + j->unit->job = NULL; + unit_add_to_gc_queue(j->unit); +@@ -180,6 +196,18 @@ Job* job_install(Job *j) { + return j; + } + ++void job_install_deserialized(Job *j) { ++ assert(!j->installed); ++ ++ if (j->unit->job) { ++ log_debug("Unit %s already has a job installed. Not installing deserialized job.", j->unit->id); ++ return; ++ } ++ j->unit->job = j; ++ j->installed = true; ++ log_debug("Reinstalled deserialized job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); ++} ++ + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { + JobDependency *l; + +@@ -732,6 +760,126 @@ void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w) { + job_finish_and_invalidate(j, JOB_TIMEOUT); + } + ++int job_serialize(Job *j, FILE *f, FDSet *fds) { ++ fprintf(f, "job-id=%u\n", j->id); ++ fprintf(f, "job-type=%s\n", job_type_to_string(j->type)); ++ fprintf(f, "job-state=%s\n", job_state_to_string(j->state)); ++ fprintf(f, "job-override=%s\n", yes_no(j->override)); ++ fprintf(f, "job-sent-dbus-new-signal=%s\n", yes_no(j->sent_dbus_new_signal)); ++ fprintf(f, "job-ignore-order=%s\n", yes_no(j->ignore_order)); ++ /* Cannot save bus clients. Just note the fact that we're losing ++ * them. job_send_message() will fallback to broadcasting. */ ++ fprintf(f, "job-forgot-bus-clients=%s\n", ++ yes_no(j->forgot_bus_clients || j->bus_client_list)); ++ if (j->timer_watch.type == WATCH_JOB_TIMER) { ++ int copy = fdset_put_dup(fds, j->timer_watch.fd); ++ if (copy < 0) ++ return copy; ++ fprintf(f, "job-timer-watch-fd=%d\n", copy); ++ } ++ ++ /* End marker */ ++ fputc('\n', f); ++ return 0; ++} ++ ++int job_deserialize(Job *j, FILE *f, FDSet *fds) { ++ for (;;) { ++ char line[LINE_MAX], *l, *v; ++ size_t k; ++ ++ if (!fgets(line, sizeof(line), f)) { ++ if (feof(f)) ++ return 0; ++ return -errno; ++ } ++ ++ char_array_0(line); ++ l = strstrip(line); ++ ++ /* End marker */ ++ if (l[0] == 0) ++ return 0; ++ ++ k = strcspn(l, "="); ++ ++ if (l[k] == '=') { ++ l[k] = 0; ++ v = l+k+1; ++ } else ++ v = l+k; ++ ++ if (streq(l, "job-id")) { ++ if (safe_atou32(v, &j->id) < 0) ++ log_debug("Failed to parse job id value %s", v); ++ } else if (streq(l, "job-type")) { ++ JobType t = job_type_from_string(v); ++ if (t < 0) ++ log_debug("Failed to parse job type %s", v); ++ else ++ j->type = t; ++ } else if (streq(l, "job-state")) { ++ JobState s = job_state_from_string(v); ++ if (s < 0) ++ log_debug("Failed to parse job state %s", v); ++ else ++ j->state = s; ++ } else if (streq(l, "job-override")) { ++ int b = parse_boolean(v); ++ if (b < 0) ++ log_debug("Failed to parse job override flag %s", v); ++ else ++ j->override = j->override || b; ++ } else if (streq(l, "job-sent-dbus-new-signal")) { ++ int b = parse_boolean(v); ++ if (b < 0) ++ log_debug("Failed to parse job sent_dbus_new_signal flag %s", v); ++ else ++ j->sent_dbus_new_signal = j->sent_dbus_new_signal || b; ++ } else if (streq(l, "job-ignore-order")) { ++ int b = parse_boolean(v); ++ if (b < 0) ++ log_debug("Failed to parse job ignore_order flag %s", v); ++ else ++ j->ignore_order = j->ignore_order || b; ++ } else if (streq(l, "job-forgot-bus-clients")) { ++ int b = parse_boolean(v); ++ if (b < 0) ++ log_debug("Failed to parse job forgot_bus_clients flag %s", v); ++ else ++ j->forgot_bus_clients = j->forgot_bus_clients || b; ++ } else if (streq(l, "job-timer-watch-fd")) { ++ int fd; ++ if (safe_atoi(v, &fd) < 0 || fd < 0 || !fdset_contains(fds, fd)) ++ log_debug("Failed to parse job-timer-watch-fd value %s", v); ++ else { ++ if (j->timer_watch.type == WATCH_JOB_TIMER) ++ close_nointr_nofail(j->timer_watch.fd); ++ ++ j->timer_watch.type = WATCH_JOB_TIMER; ++ j->timer_watch.fd = fdset_remove(fds, fd); ++ j->timer_watch.data.job = j; ++ } ++ } ++ } ++} ++ ++int job_coldplug(Job *j) { ++ struct epoll_event ev; ++ ++ if (j->timer_watch.type != WATCH_JOB_TIMER) ++ return 0; ++ ++ zero(ev); ++ ev.data.ptr = &j->timer_watch; ++ ev.events = EPOLLIN; ++ ++ if (epoll_ctl(j->manager->epoll_fd, EPOLL_CTL_ADD, j->timer_watch.fd, &ev) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + static const char* const job_state_table[_JOB_STATE_MAX] = { + [JOB_WAITING] = "waiting", + [JOB_RUNNING] = "running" +diff --git a/src/job.h b/src/job.h +index 2025b5b..eea8242 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -141,15 +141,21 @@ struct Job { + bool in_dbus_queue:1; + bool sent_dbus_new_signal:1; + bool ignore_order:1; ++ bool forgot_bus_clients:1; + }; + + JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name); + + Job* job_new(Unit *unit, JobType type); ++Job* job_new_raw(Unit *unit); + void job_free(Job *job); + Job* job_install(Job *j); ++void job_install_deserialized(Job *j); + void job_uninstall(Job *j); + void job_dump(Job *j, FILE*f, const char *prefix); ++int job_serialize(Job *j, FILE *f, FDSet *fds); ++int job_deserialize(Job *j, FILE *f, FDSet *fds); ++int job_coldplug(Job *j); + + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); + void job_dependency_free(JobDependency *l); +diff --git a/src/unit.c b/src/unit.c +index 1949995..c203a31 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -2288,8 +2288,10 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds) { + if ((r = UNIT_VTABLE(u)->serialize(u, f, fds)) < 0) + return r; + +- if (u->job) +- unit_serialize_item(u, f, "job", job_type_to_string(u->job->type)); ++ if (u->job) { ++ fprintf(f, "job\n"); ++ job_serialize(u->job, f, fds); ++ } + + dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); + dual_timestamp_serialize(f, "active-enter-timestamp", &u->active_enter_timestamp); +@@ -2368,13 +2370,32 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { + v = l+k; + + if (streq(l, "job")) { +- JobType type; ++ if (v[0] == '\0') { ++ /* new-style serialized job */ ++ Job *j = job_new_raw(u); ++ if (!j) ++ return -ENOMEM; + +- if ((type = job_type_from_string(v)) < 0) +- log_debug("Failed to parse job type value %s", v); +- else +- u->deserialized_job = type; ++ r = job_deserialize(j, f, fds); ++ if (r < 0) { ++ job_free(j); ++ return r; ++ } + ++ job_install_deserialized(j); ++ r = hashmap_put(u->manager->jobs, UINT32_TO_PTR(j->id), j); ++ if (r < 0) { ++ job_free(j); ++ return r; ++ } ++ } else { ++ /* legacy */ ++ JobType type = job_type_from_string(v); ++ if (type < 0) ++ log_debug("Failed to parse job type value %s", v); ++ else ++ u->deserialized_job = type; ++ } + continue; + } else if (streq(l, "inactive-exit-timestamp")) { + dual_timestamp_deserialize(v, &u->inactive_exit_timestamp); +@@ -2450,8 +2471,14 @@ int unit_coldplug(Unit *u) { + if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0) + return r; + +- if (u->deserialized_job >= 0) { +- if ((r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL)) < 0) ++ if (u->job) { ++ r = job_coldplug(u->job); ++ if (r < 0) ++ return r; ++ } else if (u->deserialized_job >= 0) { ++ /* legacy */ ++ r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL); ++ if (r < 0) + return r; + + u->deserialized_job = _JOB_TYPE_INVALID; +diff --git a/src/unit.h b/src/unit.h +index 756f465..5fceabb 100644 +--- a/src/unit.h ++++ b/src/unit.h +@@ -200,7 +200,9 @@ struct Unit { + unsigned gc_marker; + + /* When deserializing, temporarily store the job type for this +- * unit here, if there was a job scheduled */ ++ * unit here, if there was a job scheduled. ++ * Only for deserializing from a legacy version. New style uses full ++ * serialized jobs. */ + int deserialized_job; /* This is actually of type JobType */ + + /* Error code when we didn't manage to load the unit (negative) */ +-- +1.7.7 + + +From f2e0e5d5c80c8a489faa584539d7010b056dee7b Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 24 Apr 2012 11:21:03 +0200 +Subject: [PATCH 28/30] transaction: cancel jobs non-recursively on isolate + +Recursive cancellation of jobs would trigger OnFailure actions of +dependent jobs. This is not desirable when isolating. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=798328 +(cherry picked from commit 5273510e9f228a300ec6207d4502f1c6253aed5e) +--- + src/dbus-job.c | 2 +- + src/job.c | 41 ++++++++++++++++------------------------- + src/job.h | 2 +- + src/manager.c | 3 ++- + src/transaction.c | 10 ++++------ + src/unit.c | 12 ++++++------ + 6 files changed, 30 insertions(+), 40 deletions(-) + +diff --git a/src/dbus-job.c b/src/dbus-job.c +index 63e5846..8474138 100644 +--- a/src/dbus-job.c ++++ b/src/dbus-job.c +@@ -100,7 +100,7 @@ static DBusHandlerResult bus_job_message_dispatch(Job *j, DBusConnection *connec + if (!(reply = dbus_message_new_method_return(message))) + goto oom; + +- job_finish_and_invalidate(j, JOB_CANCELED); ++ job_finish_and_invalidate(j, JOB_CANCELED, true); + + } else { + const BusBoundProperties bps[] = { +diff --git a/src/job.c b/src/job.c +index 69df024..e8e0264 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -164,7 +164,7 @@ Job* job_install(Job *j) { + + if (uj) { + if (job_type_is_conflicting(uj->type, j->type)) +- job_finish_and_invalidate(uj, JOB_CANCELED); ++ job_finish_and_invalidate(uj, JOB_CANCELED, true); + else { + /* not conflicting, i.e. mergeable */ + +@@ -496,13 +496,13 @@ int job_run_and_invalidate(Job *j) { + + if ((j = manager_get_job(m, id))) { + if (r == -EALREADY) +- r = job_finish_and_invalidate(j, JOB_DONE); ++ r = job_finish_and_invalidate(j, JOB_DONE, true); + else if (r == -ENOEXEC) +- r = job_finish_and_invalidate(j, JOB_SKIPPED); ++ r = job_finish_and_invalidate(j, JOB_SKIPPED, true); + else if (r == -EAGAIN) + j->state = JOB_WAITING; + else if (r < 0) +- r = job_finish_and_invalidate(j, JOB_FAILED); ++ r = job_finish_and_invalidate(j, JOB_FAILED, true); + } + + return r; +@@ -555,12 +555,11 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { + } + } + +-int job_finish_and_invalidate(Job *j, JobResult result) { ++int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { + Unit *u; + Unit *other; + JobType t; + Iterator i; +- bool recursed = false; + + assert(j); + assert(j->installed); +@@ -594,7 +593,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + job_print_status_message(u, t, result); + + /* Fail depending jobs on failure */ +- if (result != JOB_DONE) { ++ if (result != JOB_DONE && recursive) { + + if (t == JOB_START || + t == JOB_VERIFY_ACTIVE || +@@ -604,29 +603,23 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + if (other->job && + (other->job->type == JOB_START || + other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) { +- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); +- recursed = true; +- } ++ other->job->type == JOB_RELOAD_OR_START)) ++ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + + SET_FOREACH(other, u->dependencies[UNIT_BOUND_BY], i) + if (other->job && + (other->job->type == JOB_START || + other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) { +- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); +- recursed = true; +- } ++ other->job->type == JOB_RELOAD_OR_START)) ++ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + + SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) + if (other->job && + !other->job->override && + (other->job->type == JOB_START || + other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) { +- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); +- recursed = true; +- } ++ other->job->type == JOB_RELOAD_OR_START)) ++ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + + } else if (t == JOB_STOP) { + +@@ -634,10 +627,8 @@ int job_finish_and_invalidate(Job *j, JobResult result) { + if (other->job && + (other->job->type == JOB_START || + other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) { +- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); +- recursed = true; +- } ++ other->job->type == JOB_RELOAD_OR_START)) ++ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + } + } + +@@ -665,7 +656,7 @@ finish: + + manager_check_finished(u->manager); + +- return recursed; ++ return 0; + } + + int job_start_timer(Job *j) { +@@ -757,7 +748,7 @@ void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w) { + assert(w == &j->timer_watch); + + log_warning("Job %s/%s timed out.", j->unit->id, job_type_to_string(j->type)); +- job_finish_and_invalidate(j, JOB_TIMEOUT); ++ job_finish_and_invalidate(j, JOB_TIMEOUT, true); + } + + int job_serialize(Job *j, FILE *f, FDSet *fds) { +diff --git a/src/job.h b/src/job.h +index eea8242..5b326ef 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -196,7 +196,7 @@ int job_start_timer(Job *j); + void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w); + + int job_run_and_invalidate(Job *j); +-int job_finish_and_invalidate(Job *j, JobResult result); ++int job_finish_and_invalidate(Job *j, JobResult result, bool recursive); + + char *job_dbus_path(Job *j); + +diff --git a/src/manager.c b/src/manager.c +index 86ec858..7bff456 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -846,7 +846,8 @@ void manager_clear_jobs(Manager *m) { + assert(m); + + while ((j = hashmap_first(m->jobs))) +- job_finish_and_invalidate(j, JOB_CANCELED); ++ /* No need to recurse. We're cancelling all jobs. */ ++ job_finish_and_invalidate(j, JOB_CANCELED, false); + } + + unsigned manager_dispatch_run_queue(Manager *m) { +diff --git a/src/transaction.c b/src/transaction.c +index b0a26f2..f687539 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -525,18 +525,16 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { + + /* When isolating first kill all installed jobs which + * aren't part of the new transaction */ +- rescan: + HASHMAP_FOREACH(j, m->jobs, i) { + assert(j->installed); + + if (hashmap_get(tr->jobs, j->unit)) + continue; + +- /* 'j' itself is safe to remove, but if other jobs +- are invalidated recursively, our iterator may become +- invalid and we need to start over. */ +- if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) +- goto rescan; ++ /* Not invalidating recursively. Avoids triggering ++ * OnFailure= actions of dependent jobs. Also avoids ++ * invalidating our iterator. */ ++ job_finish_and_invalidate(j, JOB_CANCELED, false); + } + } + +diff --git a/src/unit.c b/src/unit.c +index c203a31..ff8331c 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -1226,12 +1226,12 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + case JOB_VERIFY_ACTIVE: + + if (UNIT_IS_ACTIVE_OR_RELOADING(ns)) +- job_finish_and_invalidate(u->job, JOB_DONE); ++ job_finish_and_invalidate(u->job, JOB_DONE, true); + else if (u->job->state == JOB_RUNNING && ns != UNIT_ACTIVATING) { + unexpected = true; + + if (UNIT_IS_INACTIVE_OR_FAILED(ns)) +- job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE); ++ job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE, true); + } + + break; +@@ -1241,12 +1241,12 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + + if (u->job->state == JOB_RUNNING) { + if (ns == UNIT_ACTIVE) +- job_finish_and_invalidate(u->job, reload_success ? JOB_DONE : JOB_FAILED); ++ job_finish_and_invalidate(u->job, reload_success ? JOB_DONE : JOB_FAILED, true); + else if (ns != UNIT_ACTIVATING && ns != UNIT_RELOADING) { + unexpected = true; + + if (UNIT_IS_INACTIVE_OR_FAILED(ns)) +- job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE); ++ job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE, true); + } + } + +@@ -1257,10 +1257,10 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + case JOB_TRY_RESTART: + + if (UNIT_IS_INACTIVE_OR_FAILED(ns)) +- job_finish_and_invalidate(u->job, JOB_DONE); ++ job_finish_and_invalidate(u->job, JOB_DONE, true); + else if (u->job->state == JOB_RUNNING && ns != UNIT_DEACTIVATING) { + unexpected = true; +- job_finish_and_invalidate(u->job, JOB_FAILED); ++ job_finish_and_invalidate(u->job, JOB_FAILED, true); + } + + break; +-- +1.7.7 + + +From 38a2f4227415ebf3519369d27a23750948f6dddf Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 25 Apr 2012 11:58:27 +0200 +Subject: [PATCH 29/30] core: add NOP jobs, job type collapsing + +Two of our current job types are special: +JOB_TRY_RESTART, JOB_RELOAD_OR_START. + +They differ from other job types by being sensitive to the unit active state. +They perform some action when the unit is active and some other action +otherwise. This raises a question: when exactly should the unit state be +checked to make the decision? + +Currently the unit state is checked when the job becomes runnable. It's more +sensible to check the state immediately when the job is added by the user. +When the user types "systemctl try-restart foo.service", he really intends +to restart the service if it's running right now. If it isn't running right +now, the restart is pointless. + +Consider the example (from Bugzilla[1]): + +sleep.service takes some time to start. +hello.service has After=sleep.service. +Both services get started. Two jobs will appear: + hello.service/start waiting + sleep.service/start running +Then someone runs "systemctl try-restart hello.service". + +Currently the try-restart operation will block and wait for +sleep.service/start to complete. + +The correct result is to complete the try-restart operation immediately +with success, because hello.service is not running. The two original +jobs must not be disturbed by this. + +To fix this we introduce two new concepts: +- a new job type: JOB_NOP + A JOB_NOP job does not do anything to the unit. It does not pull in any + dependencies. It is always immediately runnable. When installed to a unit, + it sits in a special slot (u->nop_job) where it never conflicts with + the installed job (u->job) of a different type. It never merges with jobs + of other types, but it can merge into an already installed JOB_NOP job. + +- "collapsing" of job types + When a job of one of the two special types is added, the state of the unit + is checked immediately and the job type changes: + JOB_TRY_RESTART -> JOB_RESTART or JOB_NOP + JOB_RELOAD_OR_START -> JOB_RELOAD or JOB_START + Should a job type JOB_RELOAD_OR_START appear later during job merging, it + collapses immediately afterwards. + Collapsing actually makes some things simpler, because there are now fewer + job types that are allowed in the transaction. + +[1] Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=753586 +(cherry picked from commit e0209d83e7b30153f43b1a633c955f66eb2c2e4a) + +Conflicts: + + Makefile.am + src/job.c +--- + src/job.c | 163 ++++++++++++++++++++++++++++++++------------------- + src/job.h | 44 ++++++++++---- + src/manager.c | 2 + + src/test-job-type.c | 85 +++++++++++++++++---------- + src/transaction.c | 18 +++--- + src/unit.c | 29 +++++++++- + src/unit.h | 6 +- + 7 files changed, 230 insertions(+), 117 deletions(-) + +diff --git a/src/job.c b/src/job.c +index e8e0264..2438f39 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -60,6 +60,7 @@ Job* job_new_raw(Unit *unit) { + + j->manager = unit->manager; + j->unit = unit; ++ j->type = _JOB_TYPE_INVALID; + j->timer_watch.type = WATCH_INVALID; + + return j; +@@ -115,15 +116,21 @@ void job_free(Job *j) { + } + + void job_uninstall(Job *j) { ++ Job **pj; ++ + assert(j->installed); +- assert(j->unit->job == j); ++ ++ pj = (j->type == JOB_NOP) ? &j->unit->nop_job : &j->unit->job; ++ assert(*pj == j); ++ + /* Detach from next 'bigger' objects */ + + /* daemon-reload should be transparent to job observers */ + if (j->manager->n_reloading <= 0) + bus_job_send_removed_signal(j); + +- j->unit->job = NULL; ++ *pj = NULL; ++ + unit_add_to_gc_queue(j->unit); + + hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); +@@ -144,31 +151,38 @@ static bool job_type_allows_late_merge(JobType t) { + * patched into JOB_START after stopping the unit. So if we see a + * JOB_RESTART running, it means the unit hasn't stopped yet and at + * this time the merge is still allowed. */ +- return !(t == JOB_RELOAD || t == JOB_RELOAD_OR_START); ++ return t != JOB_RELOAD; + } + + static void job_merge_into_installed(Job *j, Job *other) { + assert(j->installed); + assert(j->unit == other->unit); + +- j->type = job_type_lookup_merge(j->type, other->type); +- assert(j->type >= 0); ++ if (j->type != JOB_NOP) ++ job_type_merge_and_collapse(&j->type, other->type, j->unit); ++ else ++ assert(other->type == JOB_NOP); + + j->override = j->override || other->override; + } + + Job* job_install(Job *j) { +- Job *uj = j->unit->job; ++ Job **pj; ++ Job *uj; + + assert(!j->installed); ++ assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); ++ ++ pj = (j->type == JOB_NOP) ? &j->unit->nop_job : &j->unit->job; ++ uj = *pj; + + if (uj) { +- if (job_type_is_conflicting(uj->type, j->type)) ++ if (j->type != JOB_NOP && job_type_is_conflicting(uj->type, j->type)) + job_finish_and_invalidate(uj, JOB_CANCELED, true); + else { + /* not conflicting, i.e. mergeable */ + +- if (uj->state == JOB_WAITING || ++ if (j->type == JOB_NOP || uj->state == JOB_WAITING || + (job_type_allows_late_merge(j->type) && job_type_is_superset(uj->type, j->type))) { + job_merge_into_installed(uj, j); + log_debug("Merged into installed job %s/%s as %u", +@@ -189,23 +203,33 @@ Job* job_install(Job *j) { + } + + /* Install the job */ +- j->unit->job = j; ++ *pj = j; + j->installed = true; + j->manager->n_installed_jobs ++; + log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); + return j; + } + +-void job_install_deserialized(Job *j) { ++int job_install_deserialized(Job *j) { ++ Job **pj; ++ + assert(!j->installed); + +- if (j->unit->job) { ++ if (j->type < 0 || j->type >= _JOB_TYPE_MAX_IN_TRANSACTION) { ++ log_debug("Invalid job type %s in deserialization.", strna(job_type_to_string(j->type))); ++ return -EINVAL; ++ } ++ ++ pj = (j->type == JOB_NOP) ? &j->unit->nop_job : &j->unit->job; ++ ++ if (*pj) { + log_debug("Unit %s already has a job installed. Not installing deserialized job.", j->unit->id); +- return; ++ return -EEXIST; + } +- j->unit->job = j; ++ *pj = j; + j->installed = true; + log_debug("Reinstalled deserialized job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); ++ return 0; + } + + JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { +@@ -268,6 +292,10 @@ void job_dump(Job *j, FILE*f, const char *prefix) { + * its lower triangle to avoid duplication. We don't store the main diagonal, + * because A merged with A is simply A. + * ++ * If the resulting type is collapsed immediately afterwards (to get rid of ++ * the JOB_RELOAD_OR_START, which lies outside the lookup function's domain), ++ * the following properties hold: ++ * + * Merging is associative! A merged with B merged with C is the same as + * A merged with C merged with B. + * +@@ -278,21 +306,19 @@ void job_dump(Job *j, FILE*f, const char *prefix) { + * be merged with C either. + */ + static const JobType job_merging_table[] = { +-/* What \ With * JOB_START JOB_VERIFY_ACTIVE JOB_STOP JOB_RELOAD JOB_RELOAD_OR_START JOB_RESTART JOB_TRY_RESTART */ +-/************************************************************************************************************************************/ ++/* What \ With * JOB_START JOB_VERIFY_ACTIVE JOB_STOP JOB_RELOAD */ ++/*********************************************************************************/ + /*JOB_START */ + /*JOB_VERIFY_ACTIVE */ JOB_START, + /*JOB_STOP */ -1, -1, + /*JOB_RELOAD */ JOB_RELOAD_OR_START, JOB_RELOAD, -1, +-/*JOB_RELOAD_OR_START*/ JOB_RELOAD_OR_START, JOB_RELOAD_OR_START, -1, JOB_RELOAD_OR_START, +-/*JOB_RESTART */ JOB_RESTART, JOB_RESTART, -1, JOB_RESTART, JOB_RESTART, +-/*JOB_TRY_RESTART */ JOB_RESTART, JOB_TRY_RESTART, -1, JOB_TRY_RESTART, JOB_RESTART, JOB_RESTART, ++/*JOB_RESTART */ JOB_RESTART, JOB_RESTART, -1, JOB_RESTART, + }; + + JobType job_type_lookup_merge(JobType a, JobType b) { +- assert_cc(ELEMENTSOF(job_merging_table) == _JOB_TYPE_MAX * (_JOB_TYPE_MAX - 1) / 2); +- assert(a >= 0 && a < _JOB_TYPE_MAX); +- assert(b >= 0 && b < _JOB_TYPE_MAX); ++ assert_cc(ELEMENTSOF(job_merging_table) == _JOB_TYPE_MAX_MERGING * (_JOB_TYPE_MAX_MERGING - 1) / 2); ++ assert(a >= 0 && a < _JOB_TYPE_MAX_MERGING); ++ assert(b >= 0 && b < _JOB_TYPE_MAX_MERGING); + + if (a == b) + return a; +@@ -328,24 +354,50 @@ bool job_type_is_redundant(JobType a, UnitActiveState b) { + return + b == UNIT_RELOADING; + +- case JOB_RELOAD_OR_START: +- return +- b == UNIT_ACTIVATING || +- b == UNIT_RELOADING; +- + case JOB_RESTART: + return + b == UNIT_ACTIVATING; + ++ default: ++ assert_not_reached("Invalid job type"); ++ } ++} ++ ++void job_type_collapse(JobType *t, Unit *u) { ++ UnitActiveState s; ++ ++ switch (*t) { ++ + case JOB_TRY_RESTART: +- return +- b == UNIT_ACTIVATING; ++ s = unit_active_state(u); ++ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(s)) ++ *t = JOB_NOP; ++ else ++ *t = JOB_RESTART; ++ break; ++ ++ case JOB_RELOAD_OR_START: ++ s = unit_active_state(u); ++ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(s)) ++ *t = JOB_START; ++ else ++ *t = JOB_RELOAD; ++ break; + + default: +- assert_not_reached("Invalid job type"); ++ ; + } + } + ++int job_type_merge_and_collapse(JobType *a, JobType b, Unit *u) { ++ JobType t = job_type_lookup_merge(*a, b); ++ if (t < 0) ++ return -EEXIST; ++ *a = t; ++ job_type_collapse(a, u); ++ return 0; ++} ++ + bool job_is_runnable(Job *j) { + Iterator i; + Unit *other; +@@ -362,10 +414,12 @@ bool job_is_runnable(Job *j) { + if (j->ignore_order) + return true; + ++ if (j->type == JOB_NOP) ++ return true; ++ + if (j->type == JOB_START || + j->type == JOB_VERIFY_ACTIVE || +- j->type == JOB_RELOAD || +- j->type == JOB_RELOAD_OR_START) { ++ j->type == JOB_RELOAD) { + + /* Immediate result is that the job is or might be + * started. In this case lets wait for the +@@ -383,8 +437,7 @@ bool job_is_runnable(Job *j) { + SET_FOREACH(other, j->unit->dependencies[UNIT_BEFORE], i) + if (other->job && + (other->job->type == JOB_STOP || +- other->job->type == JOB_RESTART || +- other->job->type == JOB_TRY_RESTART)) ++ other->job->type == JOB_RESTART)) + return false; + + /* This means that for a service a and a service b where b +@@ -416,6 +469,7 @@ int job_run_and_invalidate(Job *j) { + + assert(j); + assert(j->installed); ++ assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); + + if (j->in_run_queue) { + LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); +@@ -441,15 +495,6 @@ int job_run_and_invalidate(Job *j) { + + switch (j->type) { + +- case JOB_RELOAD_OR_START: +- if (unit_active_state(j->unit) == UNIT_ACTIVE) { +- j->type = JOB_RELOAD; +- r = unit_reload(j->unit); +- break; +- } +- j->type = JOB_START; +- /* fall through */ +- + case JOB_START: + r = unit_start(j->unit); + +@@ -469,14 +514,6 @@ int job_run_and_invalidate(Job *j) { + break; + } + +- case JOB_TRY_RESTART: +- if (UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(j->unit))) { +- r = -ENOEXEC; +- break; +- } +- j->type = JOB_RESTART; +- /* fall through */ +- + case JOB_STOP: + case JOB_RESTART: + r = unit_stop(j->unit); +@@ -490,11 +527,16 @@ int job_run_and_invalidate(Job *j) { + r = unit_reload(j->unit); + break; + ++ case JOB_NOP: ++ r = -EALREADY; ++ break; ++ + default: + assert_not_reached("Unknown job type"); + } + +- if ((j = manager_get_job(m, id))) { ++ j = manager_get_job(m, id); ++ if (j) { + if (r == -EALREADY) + r = job_finish_and_invalidate(j, JOB_DONE, true); + else if (r == -ENOEXEC) +@@ -563,6 +605,7 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { + + assert(j); + assert(j->installed); ++ assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); + + job_add_to_dbus_queue(j); + +@@ -596,29 +639,25 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { + if (result != JOB_DONE && recursive) { + + if (t == JOB_START || +- t == JOB_VERIFY_ACTIVE || +- t == JOB_RELOAD_OR_START) { ++ t == JOB_VERIFY_ACTIVE) { + + SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY], i) + if (other->job && + (other->job->type == JOB_START || +- other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) ++ other->job->type == JOB_VERIFY_ACTIVE)) + job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + + SET_FOREACH(other, u->dependencies[UNIT_BOUND_BY], i) + if (other->job && + (other->job->type == JOB_START || +- other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) ++ other->job->type == JOB_VERIFY_ACTIVE)) + job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + + SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) + if (other->job && + !other->job->override && + (other->job->type == JOB_START || +- other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) ++ other->job->type == JOB_VERIFY_ACTIVE)) + job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + + } else if (t == JOB_STOP) { +@@ -626,8 +665,7 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { + SET_FOREACH(other, u->dependencies[UNIT_CONFLICTED_BY], i) + if (other->job && + (other->job->type == JOB_START || +- other->job->type == JOB_VERIFY_ACTIVE || +- other->job->type == JOB_RELOAD_OR_START)) ++ other->job->type == JOB_VERIFY_ACTIVE)) + job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); + } + } +@@ -807,6 +845,8 @@ int job_deserialize(Job *j, FILE *f, FDSet *fds) { + JobType t = job_type_from_string(v); + if (t < 0) + log_debug("Failed to parse job type %s", v); ++ else if (t >= _JOB_TYPE_MAX_IN_TRANSACTION) ++ log_debug("Cannot deserialize job of type %s", v); + else + j->type = t; + } else if (streq(l, "job-state")) { +@@ -886,6 +926,7 @@ static const char* const job_type_table[_JOB_TYPE_MAX] = { + [JOB_RELOAD_OR_START] = "reload-or-start", + [JOB_RESTART] = "restart", + [JOB_TRY_RESTART] = "try-restart", ++ [JOB_NOP] = "nop", + }; + + DEFINE_STRING_TABLE_LOOKUP(job_type, JobType); +diff --git a/src/job.h b/src/job.h +index 5b326ef..4edf3b9 100644 +--- a/src/job.h ++++ b/src/job.h +@@ -46,14 +46,34 @@ enum JobType { + + JOB_STOP, + +- JOB_RELOAD, /* if running reload */ +- JOB_RELOAD_OR_START, /* if running reload, if not running start */ ++ JOB_RELOAD, /* if running, reload */ + + /* Note that restarts are first treated like JOB_STOP, but + * then instead of finishing are patched to become + * JOB_START. */ +- JOB_RESTART, /* if running stop, then start unconditionally */ +- JOB_TRY_RESTART, /* if running stop and then start */ ++ JOB_RESTART, /* If running, stop. Then start unconditionally. */ ++ ++ _JOB_TYPE_MAX_MERGING, ++ ++ /* JOB_NOP can enter into a transaction, but as it won't pull in ++ * any dependencies, it won't have to merge with anything. ++ * job_install() avoids the problem of merging JOB_NOP too (it's ++ * special-cased, only merges with other JOB_NOPs). */ ++ JOB_NOP = _JOB_TYPE_MAX_MERGING, /* do nothing */ ++ ++ _JOB_TYPE_MAX_IN_TRANSACTION, ++ ++ /* JOB_TRY_RESTART can never appear in a transaction, because ++ * it always collapses into JOB_RESTART or JOB_NOP before entering. ++ * Thus we never need to merge it with anything. */ ++ JOB_TRY_RESTART = _JOB_TYPE_MAX_IN_TRANSACTION, /* if running, stop and then start */ ++ ++ /* JOB_RELOAD_OR_START won't enter into a transaction and cannot result ++ * from transaction merging (there's no way for JOB_RELOAD and ++ * JOB_START to meet in one transaction). It can result from a merge ++ * during job installation, but then it will immediately collapse into ++ * one of the two simpler types. */ ++ JOB_RELOAD_OR_START, /* if running, reload, otherwise start */ + + _JOB_TYPE_MAX, + _JOB_TYPE_INVALID = -1 +@@ -150,7 +170,7 @@ Job* job_new(Unit *unit, JobType type); + Job* job_new_raw(Unit *unit); + void job_free(Job *job); + Job* job_install(Job *j); +-void job_install_deserialized(Job *j); ++int job_install_deserialized(Job *j); + void job_uninstall(Job *j); + void job_dump(Job *j, FILE*f, const char *prefix); + int job_serialize(Job *j, FILE *f, FDSet *fds); +@@ -164,14 +184,6 @@ int job_merge(Job *j, Job *other); + + JobType job_type_lookup_merge(JobType a, JobType b); + +-static inline int job_type_merge(JobType *a, JobType b) { +- JobType t = job_type_lookup_merge(*a, b); +- if (t < 0) +- return -EEXIST; +- *a = t; +- return 0; +-} +- + static inline bool job_type_is_mergeable(JobType a, JobType b) { + return job_type_lookup_merge(a, b) >= 0; + } +@@ -187,6 +199,12 @@ static inline bool job_type_is_superset(JobType a, JobType b) { + + bool job_type_is_redundant(JobType a, UnitActiveState b); + ++/* Collapses a state-dependent job type into a simpler type by observing ++ * the state of the unit which it is going to be applied to. */ ++void job_type_collapse(JobType *t, Unit *u); ++ ++int job_type_merge_and_collapse(JobType *a, JobType b, Unit *u); ++ + bool job_is_runnable(Job *j); + + void job_add_to_run_queue(Job *j); +diff --git a/src/manager.c b/src/manager.c +index 7bff456..0f87e9f 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -650,6 +650,8 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove + + log_debug("Trying to enqueue job %s/%s/%s", unit->id, job_type_to_string(type), job_mode_to_string(mode)); + ++ job_type_collapse(&type, unit); ++ + tr = transaction_new(); + if (!tr) + return -ENOMEM; +diff --git a/src/test-job-type.c b/src/test-job-type.c +index 9de21e1..c7a9b5a 100644 +--- a/src/test-job-type.c ++++ b/src/test-job-type.c +@@ -25,59 +25,80 @@ + #include + + #include "job.h" ++#include "unit.h" ++#include "service.h" + + int main(int argc, char*argv[]) { +- JobType a, b, c, d, e, f, g; ++ JobType a, b, c, ab, bc, ab_c, bc_a, a_bc; ++ const ServiceState test_states[] = { SERVICE_DEAD, SERVICE_RUNNING }; ++ unsigned i; ++ bool merged_ab; + +- for (a = 0; a < _JOB_TYPE_MAX; a++) +- for (b = 0; b < _JOB_TYPE_MAX; b++) { ++ /* fake a unit */ ++ static Service s = { ++ .meta.load_state = UNIT_LOADED, ++ .type = UNIT_SERVICE ++ }; ++ Unit *u = UNIT(&s); + +- if (!job_type_is_mergeable(a, b)) +- printf("Not mergeable: %s + %s\n", job_type_to_string(a), job_type_to_string(b)); ++ for (i = 0; i < ELEMENTSOF(test_states); i++) { ++ s.state = test_states[i]; ++ printf("\nWith collapsing for service state %s\n" ++ "=========================================\n", service_state_to_string(s.state)); ++ for (a = 0; a < _JOB_TYPE_MAX_MERGING; a++) { ++ for (b = 0; b < _JOB_TYPE_MAX_MERGING; b++) { + +- for (c = 0; c < _JOB_TYPE_MAX; c++) { ++ ab = a; ++ merged_ab = (job_type_merge_and_collapse(&ab, b, u) >= 0); + +- /* Verify transitivity of mergeability +- * of job types */ +- assert(!job_type_is_mergeable(a, b) || +- !job_type_is_mergeable(b, c) || +- job_type_is_mergeable(a, c)); ++ if (!job_type_is_mergeable(a, b)) { ++ assert(!merged_ab); ++ printf("Not mergeable: %s + %s\n", job_type_to_string(a), job_type_to_string(b)); ++ continue; ++ } ++ ++ assert(merged_ab); ++ printf("%s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(ab)); + +- d = a; +- if (job_type_merge(&d, b) >= 0) { ++ for (c = 0; c < _JOB_TYPE_MAX_MERGING; c++) { + +- printf("%s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(d)); ++ /* Verify transitivity of mergeability of job types */ ++ assert(!job_type_is_mergeable(a, b) || ++ !job_type_is_mergeable(b, c) || ++ job_type_is_mergeable(a, c)); + +- /* Verify that merged entries can be +- * merged with the same entries they +- * can be merged with separately */ +- assert(!job_type_is_mergeable(a, c) || job_type_is_mergeable(d, c)); +- assert(!job_type_is_mergeable(b, c) || job_type_is_mergeable(d, c)); ++ /* Verify that merged entries can be merged with the same entries ++ * they can be merged with separately */ ++ assert(!job_type_is_mergeable(a, c) || job_type_is_mergeable(ab, c)); ++ assert(!job_type_is_mergeable(b, c) || job_type_is_mergeable(ab, c)); + +- /* Verify that if a merged +- * with b is not mergeable with +- * c then either a or b is not +- * mergeable with c either. */ +- assert(job_type_is_mergeable(d, c) || !job_type_is_mergeable(a, c) || !job_type_is_mergeable(b, c)); ++ /* Verify that if a merged with b is not mergeable with c, then ++ * either a or b is not mergeable with c either. */ ++ assert(job_type_is_mergeable(ab, c) || !job_type_is_mergeable(a, c) || !job_type_is_mergeable(b, c)); + +- e = b; +- if (job_type_merge(&e, c) >= 0) { ++ bc = b; ++ if (job_type_merge_and_collapse(&bc, c, u) >= 0) { + + /* Verify associativity */ + +- f = d; +- assert(job_type_merge(&f, c) == 0); ++ ab_c = ab; ++ assert(job_type_merge_and_collapse(&ab_c, c, u) == 0); ++ ++ bc_a = bc; ++ assert(job_type_merge_and_collapse(&bc_a, a, u) == 0); + +- g = e; +- assert(job_type_merge(&g, a) == 0); ++ a_bc = a; ++ assert(job_type_merge_and_collapse(&a_bc, bc, u) == 0); + +- assert(f == g); ++ assert(ab_c == bc_a); ++ assert(ab_c == a_bc); + +- printf("%s + %s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(c), job_type_to_string(d)); ++ printf("%s + %s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(c), job_type_to_string(ab_c)); + } + } + } + } ++ } + + + return 0; +diff --git a/src/transaction.c b/src/transaction.c +index f687539..ceac5a6 100644 +--- a/src/transaction.c ++++ b/src/transaction.c +@@ -212,7 +212,7 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { + + t = j->type; + LIST_FOREACH(transaction, k, j->transaction_next) { +- if (job_type_merge(&t, k->type) >= 0) ++ if (job_type_merge_and_collapse(&t, k->type, j->unit) >= 0) + continue; + + /* OK, we could not merge all jobs for this +@@ -238,9 +238,9 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { + JobType t = j->type; + Job *k; + +- /* Merge all transactions */ ++ /* Merge all transaction jobs for j->unit */ + LIST_FOREACH(transaction, k, j->transaction_next) +- assert_se(job_type_merge(&t, k->type) == 0); ++ assert_se(job_type_merge_and_collapse(&t, k->type, j->unit) == 0); + + while ((k = j->transaction_next)) { + if (tr->anchor_job == k) { +@@ -774,6 +774,7 @@ int transaction_add_job_and_dependencies( + + assert(tr); + assert(type < _JOB_TYPE_MAX); ++ assert(type < _JOB_TYPE_MAX_IN_TRANSACTION); + assert(unit); + + /* log_debug("Pulling in %s/%s from %s/%s", */ +@@ -824,7 +825,8 @@ int transaction_add_job_and_dependencies( + assert(!tr->anchor_job); + tr->anchor_job = ret; + } +- if (is_new && !ignore_requirements) { ++ ++ if (is_new && !ignore_requirements && type != JOB_NOP) { + Set *following; + + /* If we are following some other unit, make sure we +@@ -844,7 +846,7 @@ int transaction_add_job_and_dependencies( + } + + /* Finally, recursively add in all dependencies. */ +- if (type == JOB_START || type == JOB_RELOAD_OR_START || type == JOB_RESTART) { ++ if (type == JOB_START || type == JOB_RESTART) { + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { + r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { +@@ -934,7 +936,7 @@ int transaction_add_job_and_dependencies( + + } + +- if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { ++ if (type == JOB_STOP || type == JOB_RESTART) { + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { + r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); +@@ -959,7 +961,7 @@ int transaction_add_job_and_dependencies( + } + } + +- if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { ++ if (type == JOB_RELOAD) { + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { + r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e); +@@ -972,7 +974,7 @@ int transaction_add_job_and_dependencies( + } + } + +- /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ ++ /* JOB_VERIFY_STARTED require no dependency handling */ + } + + return 0; +diff --git a/src/unit.c b/src/unit.c +index ff8331c..3625ed2 100644 +--- a/src/unit.c ++++ b/src/unit.c +@@ -249,6 +249,9 @@ bool unit_check_gc(Unit *u) { + if (u->job) + return true; + ++ if (u->nop_job) ++ return true; ++ + if (unit_active_state(u) != UNIT_INACTIVE) + return true; + +@@ -358,6 +361,12 @@ void unit_free(Unit *u) { + job_free(j); + } + ++ if (u->nop_job) { ++ Job *j = u->nop_job; ++ job_uninstall(j); ++ job_free(j); ++ } ++ + for (d = 0; d < _UNIT_DEPENDENCY_MAX; d++) + bidi_set_free(u, u->dependencies[d]); + +@@ -501,6 +510,9 @@ int unit_merge(Unit *u, Unit *other) { + if (other->job) + return -EEXIST; + ++ if (other->nop_job) ++ return -EEXIST; ++ + if (!UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) + return -EEXIST; + +@@ -729,6 +741,9 @@ void unit_dump(Unit *u, FILE *f, const char *prefix) { + if (u->job) + job_dump(u->job, f, prefix2); + ++ if (u->nop_job) ++ job_dump(u->nop_job, f, prefix2); ++ + free(p2); + } + +@@ -1507,6 +1522,7 @@ bool unit_job_is_applicable(Unit *u, JobType j) { + case JOB_VERIFY_ACTIVE: + case JOB_START: + case JOB_STOP: ++ case JOB_NOP: + return true; + + case JOB_RESTART: +@@ -2293,6 +2309,11 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds) { + job_serialize(u->job, f, fds); + } + ++ if (u->nop_job) { ++ fprintf(f, "job\n"); ++ job_serialize(u->nop_job, f, fds); ++ } ++ + dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); + dual_timestamp_serialize(f, "active-enter-timestamp", &u->active_enter_timestamp); + dual_timestamp_serialize(f, "active-exit-timestamp", &u->active_exit_timestamp); +@@ -2382,12 +2403,18 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { + return r; + } + +- job_install_deserialized(j); + r = hashmap_put(u->manager->jobs, UINT32_TO_PTR(j->id), j); + if (r < 0) { + job_free(j); + return r; + } ++ ++ r = job_install_deserialized(j); ++ if (r < 0) { ++ hashmap_remove(u->manager->jobs, UINT32_TO_PTR(j->id)); ++ job_free(j); ++ return r; ++ } + } else { + /* legacy */ + JobType type = job_type_from_string(v); +diff --git a/src/unit.h b/src/unit.h +index 5fceabb..62b82bc 100644 +--- a/src/unit.h ++++ b/src/unit.h +@@ -158,10 +158,12 @@ struct Unit { + char *fragment_path; /* if loaded from a config file this is the primary path to it */ + usec_t fragment_mtime; + +- /* If there is something to do with this unit, then this is +- * the job for it */ ++ /* If there is something to do with this unit, then this is the installed job for it */ + Job *job; + ++ /* JOB_NOP jobs are special and can be installed without disturbing the real job. */ ++ Job *nop_job; ++ + usec_t job_timeout; + + /* References to this */ +-- +1.7.7 + + +From ad1ece751b204c21424b6bf1de265fec406ba2e4 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sat, 12 May 2012 21:06:27 +0200 +Subject: [PATCH 30/30] job: only jobs on the runqueue can be run + +--- + src/job.c | 7 +++---- + 1 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/job.c b/src/job.c +index 2438f39..d6e7cb1 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -470,11 +470,10 @@ int job_run_and_invalidate(Job *j) { + assert(j); + assert(j->installed); + assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); ++ assert(j->in_run_queue); + +- if (j->in_run_queue) { +- LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); +- j->in_run_queue = false; +- } ++ LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); ++ j->in_run_queue = false; + + if (j->state != JOB_WAITING) + return 0; +-- +1.7.7 + diff --git a/journal-bugfixes.patch b/journal-bugfixes.patch new file mode 100644 index 00000000..428d165b --- /dev/null +++ b/journal-bugfixes.patch @@ -0,0 +1,186 @@ +From 911efc97f9bfe2ad4f4d021f5e76d05c8d5d81ac Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 12 Apr 2012 12:57:41 +0200 +Subject: [PATCH 1/4] journald: add missing flag to open() + +--- + src/journal/journald.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/journal/journald.c b/src/journal/journald.c +index baad3ab..c8b400a 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -2461,7 +2461,7 @@ static int open_proc_kmsg(Server *s) { + return 0; + + +- s->proc_kmsg_fd = open("/proc/kmsg", O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ s->proc_kmsg_fd = open("/proc/kmsg", O_RDONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); + if (s->proc_kmsg_fd < 0) { + log_warning("Failed to open /proc/kmsg, ignoring: %m"); + return 0; +-- +1.7.7 + + +From 94b8299358fd743137857bc0f28ab62bcf6eec92 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 13 Apr 2012 13:58:50 +0200 +Subject: [PATCH 2/4] fix a couple of things found with the llvm static + analyzer + +--- + src/journal/journal-file.c | 2 +- + src/journal/journald.c | 2 +- + src/logs-show.c | 2 +- + src/manager.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 474dd5c..5255c3b 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -1974,7 +1974,7 @@ int journal_directory_vacuum(const char *directory, uint64_t max_use, uint64_t m + size_t q; + struct stat st; + char *p; +- unsigned long long seqnum, realtime; ++ unsigned long long seqnum = 0, realtime; + sd_id128_t seqnum_id; + bool have_seqnum; + +diff --git a/src/journal/journald.c b/src/journal/journald.c +index c8b400a..1118b7e 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -1140,7 +1140,7 @@ static void process_native_message( + char *identifier = NULL, *message = NULL; + + assert(s); +- assert(buffer || n == 0); ++ assert(buffer || buffer_size == 0); + + p = buffer; + remaining = buffer_size; +diff --git a/src/logs-show.c b/src/logs-show.c +index f71c6b0..eb9a902 100644 +--- a/src/logs-show.c ++++ b/src/logs-show.c +@@ -541,7 +541,7 @@ int show_journal_by_unit( + bool follow) { + + char *m = NULL; +- sd_journal *j; ++ sd_journal *j = NULL; + int r; + int fd; + unsigned line = 0; +diff --git a/src/manager.c b/src/manager.c +index 74bd740..3e592b6 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -2979,7 +2979,7 @@ bool manager_unit_pending_inactive(Manager *m, const char *name) { + + void manager_check_finished(Manager *m) { + char userspace[FORMAT_TIMESPAN_MAX], initrd[FORMAT_TIMESPAN_MAX], kernel[FORMAT_TIMESPAN_MAX], sum[FORMAT_TIMESPAN_MAX]; +- usec_t kernel_usec = 0, initrd_usec = 0, userspace_usec = 0, total_usec = 0; ++ usec_t kernel_usec, initrd_usec, userspace_usec, total_usec; + + assert(m); + +-- +1.7.7 + + +From f83fa045b967478a80ca55477dfe6a5be5f0b4a8 Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Sat, 14 Apr 2012 14:11:08 +0200 +Subject: [PATCH 3/4] journal: crash when filesystem is low on space + +When space is getting too low on a file system rotating the journal file +will fail after the rotation, as opening the new logfile will fail. + +Recognize this when logging the error and don't try to dereference a +NULL JournalFile pointer. +--- + src/journal/journald.c | 16 +++++++++++++--- + 1 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/src/journal/journald.c b/src/journal/journald.c +index 1118b7e..9180656 100644 +--- a/src/journal/journald.c ++++ b/src/journal/journald.c +@@ -330,7 +330,10 @@ static void server_rotate(Server *s) { + if (s->runtime_journal) { + r = journal_file_rotate(&s->runtime_journal); + if (r < 0) +- log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); ++ if (s->runtime_journal) ++ log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); ++ else ++ log_error("Failed to create new runtime journal: %s", strerror(-r)); + else + server_fix_perms(s, s->runtime_journal, 0); + } +@@ -338,7 +341,11 @@ static void server_rotate(Server *s) { + if (s->system_journal) { + r = journal_file_rotate(&s->system_journal); + if (r < 0) +- log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); ++ if (s->system_journal) ++ log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); ++ else ++ log_error("Failed to create new system journal: %s", strerror(-r)); ++ + else + server_fix_perms(s, s->system_journal, 0); + } +@@ -346,7 +353,10 @@ static void server_rotate(Server *s) { + HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) { + r = journal_file_rotate(&f); + if (r < 0) +- log_error("Failed to rotate %s: %s", f->path, strerror(-r)); ++ if (f->path) ++ log_error("Failed to rotate %s: %s", f->path, strerror(-r)); ++ else ++ log_error("Failed to create user journal: %s", strerror(-r)); + else { + hashmap_replace(s->user_journals, k, f); + server_fix_perms(s, s->system_journal, PTR_TO_UINT32(k)); +-- +1.7.7 + + +From d80e2f5c26aae25c0773042bcd1599d3c583bf6a Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 12 Jun 2012 16:45:09 +0200 +Subject: [PATCH 4/4] journal-file: fix mmap leak + +https://bugzilla.redhat.com/show_bug.cgi?id=831132 +--- + src/journal/journal-file.c | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 5255c3b..e242fa2 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -67,9 +67,12 @@ void journal_file_close(JournalFile *f) { + + assert(f); + +- if (f->header && f->writable) +- f->header->state = STATE_OFFLINE; ++ if (f->header) { ++ if (f->writable) ++ f->header->state = STATE_OFFLINE; + ++ munmap(f->header, PAGE_ALIGN(sizeof(Header))); ++ } + + for (t = 0; t < _WINDOW_MAX; t++) + if (f->windows[t].ptr) +-- +1.7.7 + diff --git a/systemd.changes b/systemd.changes index a6f9884b..4937dd83 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com + +- Add fix-dir-noatime-tmpfiles.patch: do not modify directory + atime, which was preventing removing empty directories + (bnc#751253, rh#810257). +- Add improve-restart-behaviour.patch: prevent deadlock during + try-restart (bnc#743218). +- Add journal-bugfixes.patch: don't crash when rotating journal + (bnc#768953) and prevent memleak at rotation time too. +- Add ulimit-support.patch: add support for system wide ulimit + (bnc#744818). +- Add change-terminal.patch: use vt102 instead of vt100 as terminal + for non-vc tty. +- Package various .wants directories, which were no longer packaged + due to plymouth units being removed from systemd package. +- Fix buildrequires for manpages build. + ------------------------------------------------------------------- Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index f670c1a5..85c002ec 100644 --- a/systemd.spec +++ b/systemd.spec @@ -35,7 +35,7 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libtool -BuildRequires: libxslt1 +BuildRequires: libxslt-tools BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: tcpd-devel @@ -93,6 +93,11 @@ Patch42: fixppc.patch Patch43: logind-logout.patch Patch44: fix-getty-isolate.patch Patch45: fix-swap-priority.patch +Patch46: improve-restart-behaviour.patch +Patch47: fix-dir-noatime-tmpfiles.patch +Patch48: journal-bugfixes.patch +Patch49: ulimit-support.patch +Patch50: change-terminal.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -148,6 +153,14 @@ Drop-in replacement of System V init tools. %patch43 -p1 %patch44 -p1 %patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 + +#needed by patch49 +rm man/systemd.conf.5 %build autoreconf -fiv @@ -163,6 +176,7 @@ export V=1 --with-pamlibdir=/%{_lib}/security \ --enable-split-usr \ --disable-gtk \ + --enable-manpages \ --disable-plymouth \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -178,7 +192,8 @@ chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/lib/systemd/{system.preset,user.preset} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/lib/systemd/{system.preset,user.preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} + install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future #install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators diff --git a/ulimit-support.patch b/ulimit-support.patch new file mode 100644 index 00000000..ae6d355c --- /dev/null +++ b/ulimit-support.patch @@ -0,0 +1,253 @@ +From 03854532d39613723dc8b85c424737ecf2e46f74 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 16 Apr 2012 18:54:45 +0200 +Subject: [PATCH 1/3] util: introduce memdup() + +--- + src/util.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/src/util.h b/src/util.h +index b1af6db..06c9933 100644 +--- a/src/util.h ++++ b/src/util.h +@@ -99,6 +99,8 @@ bool streq_ptr(const char *a, const char *b); + + #define new0(t, n) ((t*) calloc((n), sizeof(t))) + ++#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n)) ++ + #define malloc0(n) (calloc((n), 1)) + + static inline const char* yes_no(bool b) { +-- +1.7.7 + + +From f60b5d436f502152415b08758737f200113ce4bc Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 21 May 2012 16:53:18 +0200 +Subject: [PATCH 2/3] util: fix typo in newdup + +Conflicts: + + src/util.h +--- + src/util.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/util.h b/src/util.h +index 06c9933..41b4c9f 100644 +--- a/src/util.h ++++ b/src/util.h +@@ -99,7 +99,7 @@ bool streq_ptr(const char *a, const char *b); + + #define new0(t, n) ((t*) calloc((n), sizeof(t))) + +-#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n)) ++#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n))) + + #define malloc0(n) (calloc((n), 1)) + +-- +1.7.7 + + +From 8e7fa2b3e68b691c522cf2b60ed920452c146c2e Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Wed, 27 Jun 2012 14:12:44 +0200 +Subject: [PATCH 3/3] main: allow system wide limits for services + +--- + man/systemd.conf.xml | 27 +++++++++++++++++++++++++++ + src/main.c | 22 ++++++++++++++++++++++ + src/manager.c | 22 ++++++++++++++++++++++ + src/manager.h | 3 +++ + src/service.c | 4 ++++ + 5 files changed, 78 insertions(+), 0 deletions(-) + +diff --git a/man/systemd.conf.xml b/man/systemd.conf.xml +index ba144da..ee461e3 100644 +--- a/man/systemd.conf.xml ++++ b/man/systemd.conf.xml +@@ -149,6 +149,33 @@ + controllers in separate + hierarchies. + ++ ++ ++ DefaultLimitCPU= ++ DefaultLimitFSIZE= ++ DefaultLimitDATA= ++ DefaultLimitSTACK= ++ DefaultLimitCORE= ++ DefaultLimitRSS= ++ DefaultLimitNOFILE= ++ DefaultLimitAS= ++ DefaultLimitNPROC= ++ DefaultLimitMEMLOCK= ++ DefaultLimitLOCKS= ++ DefaultLimitSIGPENDING= ++ DefaultLimitMSGQUEUE= ++ DefaultLimitNICE= ++ DefaultLimitRTPRIO= ++ DefaultLimitRTTIME= ++ These settings control ++ various default resource limits for units. See ++ setrlimit2 ++ for details. Use the string ++ infinity to ++ configure no limit on a specific ++ resource. They can be overriden in units files ++ using corresponding LimitXXXX parameter. ++ + + + +diff --git a/src/main.c b/src/main.c +index ed317b4..3f5f3d7 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -79,6 +79,7 @@ static char **arg_default_controllers = NULL; + static char ***arg_join_controllers = NULL; + static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; + static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; ++static struct rlimit *arg_default_rlimit[RLIMIT_NLIMITS] = {}; + + static FILE* serialization = NULL; + +@@ -659,6 +660,22 @@ static int parse_config_file(void) { + { "Manager", "DefaultStandardOutput", config_parse_output, 0, &arg_default_std_output }, + { "Manager", "DefaultStandardError", config_parse_output, 0, &arg_default_std_error }, + { "Manager", "JoinControllers", config_parse_join_controllers, 0, &arg_join_controllers }, ++ { "Manager", "DefaultLimitCPU", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_CPU]}, ++ { "Manager", "DefaultLimitFSIZE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_FSIZE]}, ++ { "Manager", "DefaultLimitDATA", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_DATA]}, ++ { "Manager", "DefaultLimitSTACK", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_STACK]}, ++ { "Manager", "DefaultLimitCORE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_CORE]}, ++ { "Manager", "DefaultLimitRSS", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_RSS]}, ++ { "Manager", "DefaultLimitNOFILE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_NOFILE]}, ++ { "Manager", "DefaultLimitAS", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_AS]}, ++ { "Manager", "DefaultLimitNPROC", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_NPROC]}, ++ { "Manager", "DefaultLimitMEMLOCK", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_MEMLOCK]}, ++ { "Manager", "DefaultLimitLOCKS", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_LOCKS]}, ++ { "Manager", "DefaultLimitSIGPENDING",config_parse_limit, 0, &arg_default_rlimit[RLIMIT_SIGPENDING]}, ++ { "Manager", "DefaultLimitMSGQUEUE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_MSGQUEUE]}, ++ { "Manager", "DefaultLimitNICE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_NICE]}, ++ { "Manager", "DefaultLimitRTPRIO", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_RTPRIO]}, ++ { "Manager", "DefaultLimitRTTIME", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_RTTIME]}, + { NULL, NULL, NULL, 0, NULL } + }; + +@@ -1401,6 +1418,8 @@ int main(int argc, char *argv[]) { + m->default_std_output = arg_default_std_output; + m->default_std_error = arg_default_std_error; + ++ manager_set_default_rlimits(m, arg_default_rlimit); ++ + if (dual_timestamp_is_set(&initrd_timestamp)) + m->initrd_timestamp = initrd_timestamp; + +@@ -1539,6 +1558,9 @@ finish: + if (m) + manager_free(m); + ++ for (j = 0; j < RLIMIT_NLIMITS; j++) ++ free (arg_default_rlimit[j]); ++ + free(arg_default_unit); + strv_free(arg_default_controllers); + free_join_controllers(); +diff --git a/src/manager.c b/src/manager.c +index 3e592b6..c6cd06c 100644 +--- a/src/manager.c ++++ b/src/manager.c +@@ -456,6 +456,7 @@ static void manager_clear_jobs_and_units(Manager *m) { + + void manager_free(Manager *m) { + UnitType c; ++ int i; + + assert(m); + +@@ -501,6 +502,9 @@ void manager_free(Manager *m) { + hashmap_free(m->cgroup_bondings); + set_free_free(m->unit_path_cache); + ++ for (i = 0; i < RLIMIT_NLIMITS; i++) ++ free(m->rlimit[i]); ++ + free(m); + } + +@@ -3137,6 +3141,24 @@ int manager_set_default_controllers(Manager *m, char **controllers) { + return 0; + } + ++int manager_set_default_rlimits(Manager *m, struct rlimit **default_rlimit) { ++ int i; ++ ++ assert(m); ++ ++ for (i = 0; i < RLIMIT_NLIMITS; i++) { ++ if (default_rlimit[i]) { ++ m->rlimit[i] = newdup(struct rlimit, default_rlimit[i], 1); ++ ++ if (!m->rlimit[i]) ++ return -ENOMEM; ++ } ++ } ++ ++ return 0; ++} ++ ++ + void manager_recheck_journal(Manager *m) { + Unit *u; + +diff --git a/src/manager.h b/src/manager.h +index a9d08f0..5f5de8e 100644 +--- a/src/manager.h ++++ b/src/manager.h +@@ -225,6 +225,8 @@ struct Manager { + + ExecOutput default_std_output, default_std_error; + ++ struct rlimit *rlimit[RLIMIT_NLIMITS]; ++ + /* non-zero if we are reloading or reexecuting, */ + int n_reloading; + +@@ -263,6 +265,7 @@ unsigned manager_dispatch_run_queue(Manager *m); + unsigned manager_dispatch_dbus_queue(Manager *m); + + int manager_set_default_controllers(Manager *m, char **controllers); ++int manager_set_default_rlimits(Manager *m, struct rlimit **default_rlimit); + + int manager_loop(Manager *m); + +diff --git a/src/service.c b/src/service.c +index 8b5c0b0..892392d 100644 +--- a/src/service.c ++++ b/src/service.c +@@ -109,6 +109,7 @@ static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { + + static void service_init(Unit *u) { + Service *s = SERVICE(u); ++ int i; + + assert(u); + assert(u->load_state == UNIT_STUB); +@@ -127,6 +128,9 @@ static void service_init(Unit *u) { + s->guess_main_pid = true; + + exec_context_init(&s->exec_context); ++ for (i = 0; i < RLIMIT_NLIMITS; i++) ++ if (UNIT(s)->manager->rlimit[i]) ++ s->exec_context.rlimit[i] = newdup(struct rlimit, UNIT(s)->manager->rlimit[i], 1); + + RATELIMIT_INIT(s->start_limit, 10*USEC_PER_SEC, 5); + +-- +1.7.7 + From d176b67690d20187291e4321527d19ab5ec5381f5d499f1ba7f85bf8ec6cbf25 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 4 Jul 2012 11:56:46 +0000 Subject: [PATCH 101/991] Accepting request 127074 from Base:System - Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). (forwarded request 127025 from sbrabec) OBS-URL: https://build.opensuse.org/request/show/127074 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=104 --- systemd-numlock-suse.patch | 147 ++++++++++++++++++++++++++++--------- systemd.changes | 5 ++ systemd.spec | 1 + 3 files changed, 118 insertions(+), 35 deletions(-) diff --git a/systemd-numlock-suse.patch b/systemd-numlock-suse.patch index 63a8818b..66a36866 100644 --- a/systemd-numlock-suse.patch +++ b/systemd-numlock-suse.patch @@ -78,45 +78,52 @@ Index: systemd-44/Makefile.am =================================================================== --- systemd-44.orig/Makefile.am +++ systemd-44/Makefile.am -@@ -2043,7 +2043,8 @@ dist_udevrules_DATA += \ - src/login/71-seat.rules +@@ -42,6 +42,7 @@ dbussessionservicedir=@dbussessionservic + dbussystemservicedir=@dbussystemservicedir@ + dbusinterfacedir=@dbusinterfacedir@ + udevrulesdir=@udevrulesdir@ ++udevhelperdir=@udevhelperdir@ + pamlibdir=@pamlibdir@ + pkgconfigdatadir=$(datadir)/pkgconfig + pkgconfiglibdir=$(libdir)/pkgconfig +@@ -202,6 +203,9 @@ rootlibexec_PROGRAMS = \ + systemgenerator_PROGRAMS = \ + systemd-getty-generator + ++udevhelper_PROGRAMS = \ ++ numlock-on ++ + noinst_PROGRAMS = \ + test-engine \ + test-job-type \ +@@ -2033,6 +2037,12 @@ systemd_uaccess_LDADD = \ + $(UDEV_LIBS) \ + $(ACL_LIBS) + ++numlock_on_SOURCES = \ ++ src/login/numlock-on.c ++ ++numlock_on_CFLAGS = \ ++ $(AM_CFLAGS) ++ + rootlibexec_PROGRAMS += \ + systemd-uaccess + +@@ -2040,7 +2050,8 @@ dist_udevrules_DATA += \ + src/login/70-uaccess.rules + + dist_udevrules_DATA += \ +- src/login/71-seat.rules ++ src/login/71-seat.rules \ ++ src/login/73-seat-numlock.rules nodist_udevrules_DATA += \ -- src/login/73-seat-late.rules -+ src/login/73-seat-late.rules \ -+ src/login/73-seat-numlock.rules - - MANPAGES += \ - man/systemd-logind.conf.5 \ -@@ -2106,12 +2107,14 @@ EXTRA_DIST += \ - src/login/logind-user.h \ - src/login/logind-acl.h \ - src/login/73-seat-late.rules.in \ -+ src/login/73-seat-numlock.rules.in \ - units/systemd-logind.service.in \ - units/systemd-user-sessions.service.in - - CLEANFILES += \ - src/login/logind-gperf.c \ -- src/login/73-seat-late.rules -+ src/login/73-seat-late.rules \ -+ src/login/73-seat-numlock.rules - endif - # ------------------------------------------------------------------------------ - -@@ -2121,6 +2124,7 @@ SED_PROCESS = \ - -e 's,@rootbindir\@,$(rootbindir),g' \ - -e 's,@bindir\@,$(bindir),g' \ - -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \ -+ -e 's,@SETLEDS\@,$(SETLEDS),g' \ - -e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \ - -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \ - -e 's,@pkgdatadir\@,$(pkgdatadir),g' \ + src/login/73-seat-late.rules Index: systemd-44/configure.ac =================================================================== --- systemd-44.orig/configure.ac +++ systemd-44/configure.ac -@@ -410,6 +410,12 @@ fi +@@ -410,6 +410,13 @@ fi with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution]) @@ -125,14 +132,43 @@ Index: systemd-44/configure.ac + AC_DEFINE_UNQUOTED([HWINFO], ["${HWINFO}"], [Path to hwinfo binary. (SUSE)]) +fi +AC_PATH_PROG([SETLEDS], [setleds], [/bin/setleds], [/sbin:/usr/sbin:/usr/bin:/bin]) ++AC_DEFINE_UNQUOTED([SETLEDS], ["${SETLEDS}"], [Path to setleds binary.]) + # Location of the init scripts as mandated by LSB SYSTEM_SYSVINIT_PATH=/etc/init.d SYSTEM_SYSVRCND_PATH=/etc/rc.d +@@ -579,6 +586,11 @@ AC_ARG_WITH([udevrulesdir], + [], + [with_udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d]) + ++AC_ARG_WITH([udevhelperdir], ++ AS_HELP_STRING([--with-udevhelperdir=DIR], [Directory for udev helpers]), ++ [], ++ [with_udevhelperdir=`pkg-config --variable=udevdir udev`]) ++ + AC_ARG_WITH([rootprefix], + AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), + [], [with_rootprefix=${ac_default_prefix}]) +@@ -611,6 +623,7 @@ AC_SUBST([dbussessionservicedir], [$with + AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir]) + AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir]) + AC_SUBST([udevrulesdir], [$with_udevrulesdir]) ++AC_SUBST([udevhelperdir], [$with_udevhelperdir]) + AC_SUBST([pamlibdir], [$with_pamlibdir]) + AC_SUBST([rootprefix], [$with_rootprefix]) + AC_SUBST([rootlibdir], [$with_rootlibdir]) +@@ -650,6 +663,7 @@ AC_MSG_RESULT([ + rootlib dir: ${with_rootlibdir} + PAM modules dir: ${with_pamlibdir} + udev rules dir: ${with_udevrulesdir} ++ udev hepler dir: ${with_udevhelperdir} + D-Bus policy dir: ${with_dbuspolicydir} + D-Bus session dir: ${with_dbussessionservicedir} + D-Bus system dir: ${with_dbussystemservicedir} Index: systemd-44/src/login/73-seat-numlock.rules.in =================================================================== --- /dev/null -+++ systemd-44/src/login/73-seat-numlock.rules.in ++++ systemd-44/src/login/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of systemd. +# @@ -141,4 +177,45 @@ Index: systemd-44/src/login/73-seat-numlock.rules.in +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + -+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TAG=="systemd", TEST=="/run/numlock-on", RUN+="@SETLEDS@ -D +num <$env{DEVNAME}" ++SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-44/src/login/numlock-on.c +=================================================================== +--- /dev/null ++++ systemd-44/src/login/numlock-on.c +@@ -0,0 +1,36 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2012 Stanislav Brabec ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with systemd; If not, see . ++***/ ++ ++#include "config.h" ++#include ++#include ++#include ++ ++int main (int argc, char *argv[]) { ++ static char *args[] = { SETLEDS, "-D", "+num", NULL }; ++ ++ if (argc != 2) ++ return EX_USAGE; ++ close (STDIN_FILENO); ++ if (open (argv[1], O_RDONLY) != STDIN_FILENO) ++ return EX_IOERR; ++ return execv(args[0], args); ++} diff --git a/systemd.changes b/systemd.changes index 4937dd83..b18c52f6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz + +- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). + ------------------------------------------------------------------- Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 85c002ec..27e80066 100644 --- a/systemd.spec +++ b/systemd.spec @@ -373,6 +373,7 @@ rm -rf %{buildroot} %{_mandir}/man8/*.8* %{_docdir}/systemd /lib/udev/rules.d/*.rules +/lib/udev/numlock-on %dir /lib/systemd /lib/systemd/system /lib/systemd/system-generators From c23e91c026b077ef9b15cb43b4d6ec3602e9ff21d9e5c04904c9058eb2635a5a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 14 Jul 2012 11:16:17 +0000 Subject: [PATCH 102/991] Accepting request 127853 from Base:System - Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on kernel commandline are handled. - Add fix-write-user-state-file.patch: write logind state file correctly. - Disable logind-logout.patch: cause too many issues (bnc#769531). - Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). (forwarded request 127840 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/127853 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=105 --- fastboot-forcefsck.patch | 13 +++++ fix-tty-startup.patch | 40 +++++++++++++ fix-write-user-state-file.patch | 99 +++++++++++++++++++++++++++++++++ systemd.changes | 14 +++++ systemd.spec | 9 ++- 5 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 fastboot-forcefsck.patch create mode 100644 fix-tty-startup.patch create mode 100644 fix-write-user-state-file.patch diff --git a/fastboot-forcefsck.patch b/fastboot-forcefsck.patch new file mode 100644 index 00000000..4d76eb23 --- /dev/null +++ b/fastboot-forcefsck.patch @@ -0,0 +1,13 @@ +Index: systemd-44/src/fsck.c +=================================================================== +--- systemd-44.orig/src/fsck.c ++++ systemd-44/src/fsck.c +@@ -127,7 +127,7 @@ static int parse_proc_cmdline(void) { + arg_skip = true; + else if (startswith(w, "fsck.mode")) + log_warning("Invalid fsck.mode= parameter. Ignoring."); +-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) ++#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) || defined(TARGET_SUSE) + else if (strneq(w, "fastboot", l)) + arg_skip = true; + else if (strneq(w, "forcefsck", l)) diff --git a/fix-tty-startup.patch b/fix-tty-startup.patch new file mode 100644 index 00000000..293839c7 --- /dev/null +++ b/fix-tty-startup.patch @@ -0,0 +1,40 @@ +From d55248d6a6f69f3b6c86cfc0d11aff8831590a4f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 12 Apr 2012 17:29:42 +0200 +Subject: [PATCH] getty: VC devices are always available, we don't need to + wait until they show up + +--- + src/99-systemd.rules.in | 1 - + units/getty@.service.m4 | 3 +-- + 2 files changed, 1 insertions(+), 3 deletions(-) + +diff --git a/src/99-systemd.rules.in b/src/99-systemd.rules.in +index d306f71..8cc7523 100644 +--- a/src/99-systemd.rules.in ++++ b/src/99-systemd.rules.in +@@ -7,7 +7,6 @@ + + ACTION=="remove", GOTO="systemd_end" + +-SUBSYSTEM=="tty", KERNEL=="tty[0-9]|tty1[0-2]", TAG+="systemd" + SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd" + + KERNEL=="vport*", TAG+="systemd" +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index a02838d..c397a4d 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -7,8 +7,7 @@ + + [Unit] + Description=Getty on %I +-BindTo=dev-%i.device +-After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service ++After=systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`TARGET_FEDORA', + After=rc-local.service + )m4_dnl +-- +1.7.7 + diff --git a/fix-write-user-state-file.patch b/fix-write-user-state-file.patch new file mode 100644 index 00000000..e0cd289e --- /dev/null +++ b/fix-write-user-state-file.patch @@ -0,0 +1,99 @@ +From 0753f9b016f144a6ebe11cd8a2c377e5a0345443 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 22 May 2012 16:46:11 +0200 +Subject: [PATCH] logind: fix write out of user state file + +--- + src/login/logind-user.c | 65 ++++++++++++++++++++++++++++++---------------- + 1 files changed, 42 insertions(+), 23 deletions(-) + +diff --git a/src/login/logind-user.c b/src/login/logind-user.c +index 717f0e2..b7f579c 100644 +--- a/src/login/logind-user.c ++++ b/src/login/logind-user.c +@@ -136,40 +136,59 @@ int user_save(User *u) { + + if (u->sessions) { + Session *i; ++ bool first; + + fputs("SESSIONS=", f); ++ first = true; + LIST_FOREACH(sessions_by_user, i, u->sessions) { +- fprintf(f, +- "%s%c", +- i->id, +- i->sessions_by_user_next ? ' ' : '\n'); ++ if (first) ++ first = false; ++ else ++ fputc(' ', f); ++ ++ fputs(i->id, f); + } + +- fputs("SEATS=", f); ++ fputs("\nSEATS=", f); ++ first = true; + LIST_FOREACH(sessions_by_user, i, u->sessions) { +- if (i->seat) +- fprintf(f, +- "%s%c", +- i->seat->id, +- i->sessions_by_user_next ? ' ' : '\n'); ++ if (!i->seat) ++ continue; ++ ++ if (first) ++ first = false; ++ else ++ fputc(' ', f); ++ ++ fputs(i->seat->id, f); + } + +- fputs("ACTIVE_SESSIONS=", f); +- LIST_FOREACH(sessions_by_user, i, u->sessions) +- if (session_is_active(i)) +- fprintf(f, +- "%lu%c", +- (unsigned long) i->user->uid, +- i->sessions_by_user_next ? ' ' : '\n'); ++ fputs("\nACTIVE_SESSIONS=", f); ++ first = true; ++ LIST_FOREACH(sessions_by_user, i, u->sessions) { ++ if (!session_is_active(i)) ++ continue; ++ ++ if (first) ++ first = false; ++ else ++ fputc(' ', f); ++ ++ fputs(i->id, f); ++ } + +- fputs("ACTIVE_SEATS=", f); ++ fputs("\nACTIVE_SEATS=", f); ++ first = true; + LIST_FOREACH(sessions_by_user, i, u->sessions) { +- if (session_is_active(i) && i->seat) +- fprintf(f, +- "%s%c", +- i->seat->id, +- i->sessions_by_user_next ? ' ' : '\n'); ++ if (!session_is_active(i) || !i->seat) ++ continue; ++ ++ if (first) ++ first = false; ++ else ++ fputs(i->seat->id, f); + } ++ fputc('\n', f); + } + + fflush(f); +-- +1.7.7 + diff --git a/systemd.changes b/systemd.changes index b18c52f6..87a604d6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com + +- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on + kernel commandline are handled. +- Add fix-write-user-state-file.patch: write logind state file + correctly. +- Disable logind-logout.patch: cause too many issues (bnc#769531). + +------------------------------------------------------------------- +Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com + +- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). + ------------------------------------------------------------------- Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz diff --git a/systemd.spec b/systemd.spec index 27e80066..b377ded1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -83,6 +83,7 @@ Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch +Patch53: fastboot-forcefsck.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -98,6 +99,8 @@ Patch47: fix-dir-noatime-tmpfiles.patch Patch48: journal-bugfixes.patch Patch49: ulimit-support.patch Patch50: change-terminal.patch +Patch51: fix-tty-startup.patch +Patch52: fix-write-user-state-file.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -150,7 +153,8 @@ Drop-in replacement of System V init tools. %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch43 -p1 +# this one causes too many trouble for now, disabling (bnc#769531) +#patch43 -p1 %patch44 -p1 %patch45 -p1 %patch46 -p1 @@ -158,6 +162,9 @@ Drop-in replacement of System V init tools. %patch48 -p1 %patch49 -p1 %patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 #needed by patch49 rm man/systemd.conf.5 From c250d6b5ce201c4513f152d9185bcb96b237307d15926b100c20cb76ebbaffe5 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 19 Jul 2012 16:00:29 +0000 Subject: [PATCH 103/991] Accepting request 128231 from Base:System - Move systemd-analyse to a subpackage, to remove any python dependencies from systemd main package (bnc#772039). (forwarded request 128224 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/128231 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=106 --- systemd.changes | 6 ++++++ systemd.spec | 22 ++++++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index 87a604d6..4e2ebe83 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com + +- Move systemd-analyse to a subpackage, to remove any python + dependencies from systemd main package (bnc#772039). + ------------------------------------------------------------------- Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index b377ded1..79a06231 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,8 +16,6 @@ # -#don't require python, use recommends (bnc#716939) - Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 44 @@ -54,7 +52,6 @@ Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding Requires: udev >= 172 Requires: util-linux >= 2.21 -Recommends: dbus-1-python Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz @@ -132,6 +129,21 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. +%package analyze +Summary: Tool for processing systemd profiling information +Group: System/Base +Requires: %{name} = %{version} +Requires: dbus-1-python +Requires: python-cairo +# for the systemd-analyze split: +Conflicts: systemd < 44-10 + +%description analyze +'systemd-analyze blame' lists which systemd unit needed how much time to finish +initialization at boot. +'systemd-analyze plot' renders an SVG visualizing the parallel start of units +at boot. + %prep %setup -q %patch1 -p1 @@ -311,7 +323,6 @@ rm -rf %{buildroot} /bin/systemd-machine-id-setup /usr/bin/systemd-nspawn /usr/bin/systemd-stdio-bridge -%attr(0755,root,root) /usr/bin/systemd-analyze %{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* @@ -431,4 +442,7 @@ rm -rf %{buildroot} %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* +%files analyze +%attr(0755,root,root) /usr/bin/systemd-analyze + %changelog From 3efaa84d7aad963d0fdfae0f5f36447f65ad446bed93285ded1c4009fdd67c40 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 23 Jul 2012 08:41:36 +0000 Subject: [PATCH 104/991] Accepting request 128596 from Base:System - Fix NumLock detection/set race condition (bnc#746595#c47). (forwarded request 128498 from sbrabec) OBS-URL: https://build.opensuse.org/request/show/128596 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=107 --- systemd-numlock-suse.patch | 15 ++++++++++++++- systemd.changes | 5 +++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/systemd-numlock-suse.patch b/systemd-numlock-suse.patch index 66a36866..3c7d9c9c 100644 --- a/systemd-numlock-suse.patch +++ b/systemd-numlock-suse.patch @@ -165,7 +165,7 @@ Index: systemd-44/configure.ac D-Bus policy dir: ${with_dbuspolicydir} D-Bus session dir: ${with_dbussessionservicedir} D-Bus system dir: ${with_dbussystemservicedir} -Index: systemd-44/src/login/73-seat-numlock.rules.in +Index: systemd-44/src/login/73-seat-numlock.rules =================================================================== --- /dev/null +++ systemd-44/src/login/73-seat-numlock.rules @@ -219,3 +219,16 @@ Index: systemd-44/src/login/numlock-on.c + return EX_IOERR; + return execv(args[0], args); +} +Index: systemd-44/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-44.orig/units/systemd-vconsole-setup.service.in ++++ systemd-44/units/systemd-vconsole-setup.service.in +@@ -10,7 +10,7 @@ Description=Setup Virtual Console + DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service +-Before=sysinit.target shutdown.target ++Before=sysinit.target shutdown.target udev-trigger.service + + [Service] + Type=oneshot diff --git a/systemd.changes b/systemd.changes index 4e2ebe83..cb5e5c8c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz + +- Fix NumLock detection/set race condition (bnc#746595#c47). + ------------------------------------------------------------------- Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com From cd30f49f733b7d471ab890cf458d35638761cdc238221c1eb63904b017870695 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 25 Jul 2012 08:44:48 +0000 Subject: [PATCH 105/991] Accepting request 128831 from Base:System - Add fix-analyze-exception.patch: prevent exception if running systemd-analyze before boot is complete (bnc#772506) (forwarded request 128829 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/128831 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=108 --- fix-analyze-exception.patch | 29 +++++++++++++++++++++++++++++ systemd.changes | 6 ++++++ systemd.spec | 2 ++ 3 files changed, 37 insertions(+) create mode 100644 fix-analyze-exception.patch diff --git a/fix-analyze-exception.patch b/fix-analyze-exception.patch new file mode 100644 index 00000000..00699858 --- /dev/null +++ b/fix-analyze-exception.patch @@ -0,0 +1,29 @@ +From 6070fe66ac2f317e7e85e5685f0916d1e2b73a28 Mon Sep 17 00:00:00 2001 +From: Colin Guthrie +Date: Mon, 2 Apr 2012 11:08:20 +0100 +Subject: [PATCH] analyze: Cosmetic exit when the bootup is not yet complete + when plotting. + +This is just a nicer message than a python traceback. +--- + src/systemd-analyze | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/systemd-analyze b/src/systemd-analyze +index 8148bfb..a49fbb7 100755 +--- a/src/systemd-analyze ++++ b/src/systemd-analyze +@@ -31,6 +31,10 @@ def acquire_start_time(): + startup_time = int(properties.Get('org.freedesktop.systemd1.Manager', 'StartupTimestampMonotonic')) + finish_time = int(properties.Get('org.freedesktop.systemd1.Manager', 'FinishTimestampMonotonic')) + ++ if finish_time == 0: ++ sys.stderr.write("Bootup is not yet finished. Please try again later.\n") ++ sys.exit(1) ++ + assert initrd_time <= startup_time + assert startup_time <= finish_time + +-- +1.7.10.4 + diff --git a/systemd.changes b/systemd.changes index cb5e5c8c..2ed4bd0a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com + +- Add fix-analyze-exception.patch: prevent exception if running + systemd-analyze before boot is complete (bnc#772506) + ------------------------------------------------------------------- Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz diff --git a/systemd.spec b/systemd.spec index 79a06231..f5933311 100644 --- a/systemd.spec +++ b/systemd.spec @@ -98,6 +98,7 @@ Patch49: ulimit-support.patch Patch50: change-terminal.patch Patch51: fix-tty-startup.patch Patch52: fix-write-user-state-file.patch +Patch54: fix-analyze-exception.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -177,6 +178,7 @@ at boot. %patch51 -p1 %patch52 -p1 %patch53 -p1 +%patch54 -p1 #needed by patch49 rm man/systemd.conf.5 From b2b6bd71799506f9a9e2778e2bed9f37a789be6f59587778ac6f4c1fc6ff8f3a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 30 Jul 2012 18:40:53 +0000 Subject: [PATCH 106/991] Accepting request 129288 from Base:System - Ensure systemd macros never fails (if systemd isn't install) (forwarded request 129285 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/129288 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=109 --- macros.systemd | 8 +++++--- systemd.changes | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/macros.systemd b/macros.systemd index 9cb43928..802380da 100644 --- a/macros.systemd +++ b/macros.systemd @@ -32,10 +32,11 @@ Requires(postun): systemd \ %service_add_pre() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ # disable migration if initial install under systemd \ +[ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : \ if [ $FIRST_ARG -eq 1 ]; then \ for service in %{?*} ; do \ sysv_service=${service%.*} \ - touch "/var/lib/systemd/migrated/$sysv_service" \ + touch "/var/lib/systemd/migrated/$sysv_service" || : \ done \ else \ for service in %{?*} ; do \ @@ -53,11 +54,12 @@ fi \ # On install, tell systemd to reload its unit files %service_add_post() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +[ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : \ for service in %{?*} ; do \ sysv_service=${service%.*} \ if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ services_to_migrate="$services_to_migrate $sysv_service" \ - touch "/var/lib/systemd/migrated/$sysv_service" \ + touch "/var/lib/systemd/migrated/$sysv_service" || : \ fi \ done \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ @@ -87,7 +89,7 @@ if [ $FIRST_ARG -ge 1 ]; then \ else # package uninstall \ for service in %{?*} ; do \ sysv_service=${service%.*} \ - rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null \ + rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null || : \ done \ /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ fi \ diff --git a/systemd.changes b/systemd.changes index 2ed4bd0a..4cff8ff9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com + +- Ensure systemd macros never fails (if systemd isn't install) + ------------------------------------------------------------------- Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com From 50622b176885197020114ea22cb0fb866a70172ed849fe6a4103c5e1e8867ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Sun, 26 Aug 2012 09:35:18 +0000 Subject: [PATCH 107/991] Accepting request 131610 from Base:System - Add use_localtime.patch: use /etc/localtime instead of /etc/timezone (bnc#773491) - Add support-suse-clock-sysconfig.patch: read SUSE /etc/sysconfig/clock file. - Add drop-timezone.patch: drop support for /etc/timezone, never supported on openSUSE. - Add journalctl-pager-improvement.patch: better handle output when using pager. - Add fix-enable-disable-boot-initscript.patch: support boot.* initscripts for systemctl enable /disable (bnc#746506). (forwarded request 131520 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/131610 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=110 --- drop-timezone.patch | 48 +++ fix-enable-disable-boot-initscript.patch | 44 +++ journalctl-pager-improvement.patch | 448 +++++++++++++++++++++++ support-suse-clock-sysconfig.patch | 32 ++ systemd.changes | 14 + systemd.spec | 10 + use_localtime.patch | 397 ++++++++++++++++++++ 7 files changed, 993 insertions(+) create mode 100644 drop-timezone.patch create mode 100644 fix-enable-disable-boot-initscript.patch create mode 100644 journalctl-pager-improvement.patch create mode 100644 support-suse-clock-sysconfig.patch create mode 100644 use_localtime.patch diff --git a/drop-timezone.patch b/drop-timezone.patch new file mode 100644 index 00000000..02298075 --- /dev/null +++ b/drop-timezone.patch @@ -0,0 +1,48 @@ +Index: systemd-44/src/timedate/timedated.c +=================================================================== +--- systemd-44.orig/src/timedate/timedated.c ++++ systemd-44/src/timedate/timedated.c +@@ -203,24 +203,18 @@ static int read_data(void) { + + free(t); + +- r = read_one_line_file("/etc/timezone", &tz.zone); +- if (r < 0) { +- if (r != -ENOENT) +- log_warning("Failed to read /etc/timezone: %s", strerror(-r)); +- + #if defined(TARGET_FEDORA) || defined(TARGET_SUSE) +- r = parse_env_file("/etc/sysconfig/clock", NEWLINE, ++ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, + #ifdef TARGET_FEDORA +- "ZONE", &tz.zone, ++ "ZONE", &tz.zone, + #else /* TARGET_SUSE */ +- "TIMEZONE", &tz.zone, ++ "TIMEZONE", &tz.zone, + #endif +- NULL); ++ NULL); + +- if (r < 0 && r != -ENOENT) +- log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); + #endif +- } + + have_timezone: + if (isempty(tz.zone)) { +@@ -263,12 +257,6 @@ static int write_data_timezone(void) { + if (r < 0) + return -errno; + +- if (stat("/etc/timezone", &st) == 0 && S_ISREG(st.st_mode)) { +- r = write_one_line_file_atomic("/etc/timezone", tz.zone); +- if (r < 0) +- return r; +- } +- + return 0; + } + diff --git a/fix-enable-disable-boot-initscript.patch b/fix-enable-disable-boot-initscript.patch new file mode 100644 index 00000000..1f4fe5cf --- /dev/null +++ b/fix-enable-disable-boot-initscript.patch @@ -0,0 +1,44 @@ +From f9d333f8d202fd853f2553ee6c3196b041ccfba5 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 23 Aug 2012 11:08:25 +0200 +Subject: [PATCH] fix support for boot prefixed initscript (bnc#746506) + +--- + src/systemctl.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/src/systemctl.c b/src/systemctl.c +index e94e024..1a98599 100644 +--- a/src/systemctl.c ++++ b/src/systemctl.c +@@ -3669,7 +3669,27 @@ static int enable_sysv_units(char **args) { + + if (!found_sysv) { + free(p); ++#if defined(TARGET_SUSE) ++ p = NULL; ++ if (!isempty(arg_root)) ++ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); ++ else ++ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); ++ if (!p) { ++ log_error("No memory"); ++ r = -ENOMEM; ++ goto finish; ++ } ++ p[strlen(p) - sizeof(".service") + 1] = 0; ++ found_sysv = access(p, F_OK) >= 0; ++ ++ if (!found_sysv) { ++ free(p); ++ continue; ++ } ++#else + continue; ++#endif + } + + /* Mark this entry, so that we don't try enabling it as native unit */ +-- +1.7.10.4 + diff --git a/journalctl-pager-improvement.patch b/journalctl-pager-improvement.patch new file mode 100644 index 00000000..81be11e4 --- /dev/null +++ b/journalctl-pager-improvement.patch @@ -0,0 +1,448 @@ +From 1682c4bf5b993b956b0367aedc9f0638055540f4 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Thu, 19 Jul 2012 21:12:16 +0000 +Subject: [PATCH 1/3] journalctl: fix assertion failure in ellipsize_mem() + +When showing the journal through "journalctl --no-pager", if the +prefix of the log message (i.e. the date and syslog identifier) is +less than 3 characters shorter than the width of the terminal, you +get: + +Assertion 'new_length >= 3' failed at src/shared/util.c:3859, function ellipsize_mem(). Aborting. + +because there is not enough space for the "...". This patch add the +necessary check. +--- + src/logs-show.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/logs-show.c b/src/logs-show.c +index eb9a902..72367f2 100644 +--- a/src/logs-show.c ++++ b/src/logs-show.c +@@ -230,7 +230,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s + printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len)); + } else if (message_len + n < n_columns) + printf(": %.*s\n", (int) message_len, message); +- else if (n < n_columns) { ++ else if (n < n_columns && n_columns - n - 2 >= 3) { + char *e; + + e = ellipsize_mem(message, message_len, n_columns - n - 2, 90); +-- +1.7.10.4 + + +From ee385756e10862a8bcc0e5c7a3776135af84c750 Mon Sep 17 00:00:00 2001 +From: Zbigniew Jedrzejewski-Szmek +Date: Fri, 20 Jul 2012 09:06:26 +0200 +Subject: [PATCH 2/3] journalctl: fix ellipsization with PAGER=cat + +There are other reasons for not opening the pager then the --no-pager +or --follow options (described below). If the pager is not used, +messages must be ellipsized. + +On Fri, Jul 20, 2012 at 05:42:44AM +0000, Shawn Landen wrote: +> "Pager to use when --no-pager is not given; overrides $PAGER. +> Setting this to an empty string or the value cat is equivalent to passing --no-pager." + +Conflicts: + src/journal/journalctl.c +--- + src/journal/journalctl.c | 5 +---- + src/pager.c | 17 ++++++++++------- + src/pager.h | 4 +++- + 3 files changed, 14 insertions(+), 12 deletions(-) + +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index f90b2dd..3a3b043 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -259,10 +259,7 @@ int main(int argc, char *argv[]) { + goto finish; + } + +- if (!arg_no_pager && !arg_follow) { +- columns(); +- pager_open(); +- } ++ have_pager = !arg_no_pager && !arg_follow && pager_open(); + + if (arg_output == OUTPUT_JSON) { + fputc('[', stdout); +diff --git a/src/pager.c b/src/pager.c +index 3fc8182..8065841 100644 +--- a/src/pager.c ++++ b/src/pager.c +@@ -44,20 +44,20 @@ _noreturn_ static void pager_fallback(void) { + _exit(EXIT_SUCCESS); + } + +-void pager_open(void) { ++bool pager_open(void) { + int fd[2]; + const char *pager; + pid_t parent_pid; + + if (pager_pid > 0) +- return; ++ return false; + + if ((pager = getenv("SYSTEMD_PAGER")) || (pager = getenv("PAGER"))) + if (!*pager || streq(pager, "cat")) +- return; ++ return false; + + if (isatty(STDOUT_FILENO) <= 0) +- return; ++ return false; + + /* Determine and cache number of columns before we spawn the + * pager so that we get the value from the actual tty */ +@@ -65,7 +65,7 @@ void pager_open(void) { + + if (pipe(fd) < 0) { + log_error("Failed to create pager pipe: %m"); +- return; ++ return false; + } + + parent_pid = getpid(); +@@ -74,7 +74,7 @@ void pager_open(void) { + if (pager_pid < 0) { + log_error("Failed to fork pager: %m"); + close_pipe(fd); +- return; ++ return false; + } + + /* In the child start the pager */ +@@ -115,10 +115,13 @@ void pager_open(void) { + } + + /* Return in the parent */ +- if (dup2(fd[1], STDOUT_FILENO) < 0) ++ if (dup2(fd[1], STDOUT_FILENO) < 0) { + log_error("Failed to duplicate pager pipe: %m"); ++ return false; ++ } + + close_pipe(fd); ++ return true; + } + + void pager_close(void) { +diff --git a/src/pager.h b/src/pager.h +index b5b4998..bd1a983 100644 +--- a/src/pager.h ++++ b/src/pager.h +@@ -22,7 +22,9 @@ + along with systemd; If not, see . + ***/ + +-void pager_open(void); ++#include ++ ++bool pager_open(void); + void pager_close(void); + + #endif +-- +1.7.10.4 + + +From ae88e07aec6280e90582703f7950468604182a4b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 17 Jul 2012 07:35:08 +0200 +Subject: [PATCH 3/3] journalctl: do not ellipsize when using pager +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If a pager is used, ellipsization is redundant — the pager does +that better by hiding the part that cannot be shown. Pager's advantage +is that the user can press → to view the hidden part of a message, +and then ← to return. + +cherry-picked from 92a1fd9e95954a557d6fe27b56f5ef1b89fc2f5e and 25277cd7fbd77e4c8b20572570aa77c7da9abcc2 +--- + src/journal/journalctl.c | 7 ++++- + src/logs-show.c | 66 ++++++++++++++++++++++++++++------------------ + src/logs-show.h | 14 +++++++--- + src/systemctl.c | 8 +++++- + 4 files changed, 64 insertions(+), 31 deletions(-) + +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index 3a3b043..197af71 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -198,6 +198,7 @@ int main(int argc, char *argv[]) { + sd_journal *j = NULL; + unsigned line = 0; + bool need_seek = false; ++ bool have_pager; + + log_parse_environment(); + log_open(); +@@ -268,6 +269,10 @@ int main(int argc, char *argv[]) { + + for (;;) { + for (;;) { ++ int flags = ++ arg_show_all * OUTPUT_SHOW_ALL | ++ have_pager * OUTPUT_FULL_WIDTH; ++ + if (need_seek) { + r = sd_journal_next(j); + if (r < 0) { +@@ -281,7 +286,7 @@ int main(int argc, char *argv[]) { + + line ++; + +- r = output_journal(j, arg_output, line, 0, arg_show_all); ++ r = output_journal(j, arg_output, line, 0, flags); + if (r < 0) + goto finish; + +diff --git a/src/logs-show.c b/src/logs-show.c +index 72367f2..06ba569 100644 +--- a/src/logs-show.c ++++ b/src/logs-show.c +@@ -86,7 +86,8 @@ static bool shall_print(bool show_all, char *p, size_t l) { + return true; + } + +-static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool show_all, bool monotonic_mode) { ++static int output_short(sd_journal *j, unsigned line, unsigned n_columns, ++ OutputFlags flags) { + int r; + const void *data; + size_t length; +@@ -150,7 +151,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s + goto finish; + } + +- if (monotonic_mode) { ++ if (flags & OUTPUT_MONOTONIC_MODE) { + uint64_t t; + sd_id128_t boot_id; + +@@ -202,33 +203,39 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s + n += strlen(buf); + } + +- if (hostname && shall_print(show_all, hostname, hostname_len)) { ++ if (hostname && shall_print(flags & OUTPUT_SHOW_ALL, ++ hostname, hostname_len)) { + printf(" %.*s", (int) hostname_len, hostname); + n += hostname_len + 1; + } + +- if (identifier && shall_print(show_all, identifier, identifier_len)) { ++ if (identifier && shall_print(flags & OUTPUT_SHOW_ALL, ++ identifier, identifier_len)) { + printf(" %.*s", (int) identifier_len, identifier); + n += identifier_len + 1; +- } else if (comm && shall_print(show_all, comm, comm_len)) { ++ } else if (comm && shall_print(flags & OUTPUT_SHOW_ALL, ++ comm, comm_len)) { + printf(" %.*s", (int) comm_len, comm); + n += comm_len + 1; +- } ++ } else ++ putchar(' '); + +- if (pid && shall_print(show_all, pid, pid_len)) { ++ if (pid && shall_print(flags & OUTPUT_SHOW_ALL, pid, pid_len)) { + printf("[%.*s]", (int) pid_len, pid); + n += pid_len + 2; +- } else if (fake_pid && shall_print(show_all, fake_pid, fake_pid_len)) { ++ } else if (fake_pid && shall_print(flags & OUTPUT_SHOW_ALL, ++ fake_pid, fake_pid_len)) { + printf("[%.*s]", (int) fake_pid_len, fake_pid); + n += fake_pid_len + 2; + } + +- if (show_all) ++ if (flags & OUTPUT_SHOW_ALL) + printf(": %.*s\n", (int) message_len, message); + else if (contains_unprintable(message, message_len)) { + char bytes[FORMAT_BYTES_MAX]; + printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len)); +- } else if (message_len + n < n_columns) ++ } else if ((flags & OUTPUT_FULL_WIDTH) || ++ (message_len + n + 1 < n_columns)) + printf(": %.*s\n", (int) message_len, message); + else if (n < n_columns && n_columns - n - 2 >= 3) { + char *e; +@@ -259,15 +266,18 @@ finish: + return r; + } + +-static int output_short_realtime(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { +- return output_short(j, line, n_columns, show_all, false); ++static int output_short_realtime(sd_journal *j, unsigned line, ++ unsigned n_columns, OutputFlags flags) { ++ return output_short(j, line, n_columns, flags & ~OUTPUT_MONOTONIC_MODE); + } + +-static int output_short_monotonic(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { +- return output_short(j, line, n_columns, show_all, true); ++static int output_short_monotonic(sd_journal *j, unsigned line, ++ unsigned n_columns, OutputFlags flags) { ++ return output_short(j, line, n_columns, flags | OUTPUT_MONOTONIC_MODE); + } + +-static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { ++static int output_verbose(sd_journal *j, unsigned line, ++ unsigned n_columns, OutputFlags flags) { + const void *data; + size_t length; + char *cursor; +@@ -296,7 +306,7 @@ static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool + free(cursor); + + SD_JOURNAL_FOREACH_DATA(j, data, length) { +- if (!show_all && (length > PRINT_THRESHOLD || ++ if (!(flags & OUTPUT_SHOW_ALL) && (length > PRINT_THRESHOLD || + contains_unprintable(data, length))) { + const char *c; + char bytes[FORMAT_BYTES_MAX]; +@@ -318,7 +328,8 @@ static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool + return 0; + } + +-static int output_export(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { ++static int output_export(sd_journal *j, unsigned line, ++ unsigned n_columns, OutputFlags flags) { + sd_id128_t boot_id; + char sid[33]; + int r; +@@ -424,7 +435,8 @@ static void json_escape(const char* p, size_t l) { + } + } + +-static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { ++static int output_json(sd_journal *j, unsigned line, ++ unsigned n_columns, OutputFlags flags) { + uint64_t realtime, monotonic; + char *cursor; + const void *data; +@@ -491,7 +503,8 @@ static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool sh + return 0; + } + +-static int output_cat(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { ++static int output_cat(sd_journal *j, unsigned line, ++ unsigned n_columns, OutputFlags flags) { + const void *data; + size_t l; + int r; +@@ -512,7 +525,8 @@ static int output_cat(sd_journal *j, unsigned line, unsigned n_columns, bool sho + return 0; + } + +-static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, unsigned n_columns, bool show_all) = { ++static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, ++ unsigned n_columns, OutputFlags flags) = { + [OUTPUT_SHORT] = output_short_realtime, + [OUTPUT_SHORT_MONOTONIC] = output_short_monotonic, + [OUTPUT_VERBOSE] = output_verbose, +@@ -521,14 +535,15 @@ static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, unsign + [OUTPUT_CAT] = output_cat + }; + +-int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all) { ++int output_journal(sd_journal *j, OutputMode mode, unsigned line, ++ unsigned n_columns, OutputFlags flags) { + assert(mode >= 0); + assert(mode < _OUTPUT_MODE_MAX); + + if (n_columns <= 0) + n_columns = columns(); + +- return output_funcs[mode](j, line, n_columns, show_all); ++ return output_funcs[mode](j, line, n_columns, flags); + } + + int show_journal_by_unit( +@@ -537,8 +552,7 @@ int show_journal_by_unit( + unsigned n_columns, + usec_t not_before, + unsigned how_many, +- bool show_all, +- bool follow) { ++ OutputFlags flags) { + + char *m = NULL; + sd_journal *j = NULL; +@@ -621,12 +635,12 @@ int show_journal_by_unit( + + line ++; + +- r = output_journal(j, mode, line, n_columns, show_all); ++ r = output_journal(j, mode, line, n_columns, flags); + if (r < 0) + goto finish; + } + +- if (!follow) ++ if (!(flags & OUTPUT_FOLLOW)) + break; + + r = fd_wait_for_event(fd, POLLIN, (usec_t) -1); +diff --git a/src/logs-show.h b/src/logs-show.h +index db9c7e3..e8c6b03 100644 +--- a/src/logs-show.h ++++ b/src/logs-show.h +@@ -39,7 +39,16 @@ typedef enum OutputMode { + _OUTPUT_MODE_INVALID = -1 + } OutputMode; + +-int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all); ++typedef enum OutputFlags { ++ OUTPUT_SHOW_ALL = 1 << 0, ++ OUTPUT_MONOTONIC_MODE = 1 << 1, ++ OUTPUT_FOLLOW = 1 << 2, ++ OUTPUT_WARN_CUTOFF = 1 << 3, ++ OUTPUT_FULL_WIDTH = 1 << 4, ++} OutputFlags; ++ ++int output_journal(sd_journal *j, OutputMode mode, unsigned line, ++ unsigned n_columns, OutputFlags flags); + + int show_journal_by_unit( + const char *unit, +@@ -47,8 +56,7 @@ int show_journal_by_unit( + unsigned n_columns, + usec_t not_before, + unsigned how_many, +- bool show_all, +- bool follow); ++ OutputFlags flags); + + const char* output_mode_to_string(OutputMode m); + OutputMode output_mode_from_string(const char *s); +diff --git a/src/systemctl.c b/src/systemctl.c +index f51085f..e94e024 100644 +--- a/src/systemctl.c ++++ b/src/systemctl.c +@@ -2374,8 +2374,14 @@ static void print_status_info(UnitStatusInfo *i) { + } + + if (i->id && arg_transport != TRANSPORT_SSH) { ++ int flags = ++ arg_lines * OUTPUT_SHOW_ALL | ++ arg_follow * OUTPUT_FOLLOW; ++ + printf("\n"); +- show_journal_by_unit(i->id, arg_output, 0, i->inactive_exit_timestamp_monotonic, arg_lines, arg_all, arg_follow); ++ show_journal_by_unit(i->id, arg_output, 0, ++ i->inactive_exit_timestamp_monotonic, ++ arg_lines, flags); + } + + if (i->need_daemon_reload) +-- +1.7.10.4 + diff --git a/support-suse-clock-sysconfig.patch b/support-suse-clock-sysconfig.patch new file mode 100644 index 00000000..de3992a3 --- /dev/null +++ b/support-suse-clock-sysconfig.patch @@ -0,0 +1,32 @@ +From 64ddc0bfa995041196fd0b9c61756d64578f925c Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Tue, 14 Aug 2012 14:26:16 +0200 +Subject: [PATCH] timedate: add support for openSUSE version of + /etc/sysconfig/clock + +--- + src/timedate/timedated.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c +index 6a7d980..fbebc1d 100644 +--- a/src/timedate/timedated.c ++++ b/src/timedate/timedated.c +@@ -180,9 +180,13 @@ static int read_data(void) { + if (r != -ENOENT) + log_warning("Failed to read /etc/timezone: %s", strerror(-r)); + +-#ifdef TARGET_FEDORA ++#if defined(TARGET_FEDORA) || defined(TARGET_SUSE) + r = parse_env_file("/etc/sysconfig/clock", NEWLINE, ++#ifdef TARGET_FEDORA + "ZONE", &tz.zone, ++#else /* TARGET_SUSE */ ++ "TIMEZONE", &tz.zone, ++#endif + NULL); + + if (r < 0 && r != -ENOENT) +-- +1.7.10.4 + diff --git a/systemd.changes b/systemd.changes index 4cff8ff9..7b07e1cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com + +- Add use_localtime.patch: use /etc/localtime instead of + /etc/timezone (bnc#773491) +- Add support-suse-clock-sysconfig.patch: read SUSE + /etc/sysconfig/clock file. +- Add drop-timezone.patch: drop support for /etc/timezone, never + supported on openSUSE. +- Add journalctl-pager-improvement.patch: better handle output when + using pager. +- Add fix-enable-disable-boot-initscript.patch: support boot.* + initscripts for systemctl enable /disable (bnc#746506). + ------------------------------------------------------------------- Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index f5933311..90324d8c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,6 +81,9 @@ Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch Patch53: fastboot-forcefsck.patch +Patch56: support-suse-clock-sysconfig.patch +Patch57: drop-timezone.patch +Patch59: fix-enable-disable-boot-initscript.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -99,6 +102,8 @@ Patch50: change-terminal.patch Patch51: fix-tty-startup.patch Patch52: fix-write-user-state-file.patch Patch54: fix-analyze-exception.patch +Patch55: use_localtime.patch +Patch58: journalctl-pager-improvement.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -179,6 +184,11 @@ at boot. %patch52 -p1 %patch53 -p1 %patch54 -p1 +%patch55 -p1 +%patch56 -p1 +%patch57 -p1 +%patch58 -p1 +%patch59 -p1 #needed by patch49 rm man/systemd.conf.5 diff --git a/use_localtime.patch b/use_localtime.patch new file mode 100644 index 00000000..f078561c --- /dev/null +++ b/use_localtime.patch @@ -0,0 +1,397 @@ +unlike symlink_or_copy_atomic(), this function creates a symlink even if the +oldname and newname (from and to) are on differn't devices. (stat.st_dev) +--- + src/shared/util.c | 19 +++++++++++++++++-- + src/shared/util.h | 1 + + 2 files changed, 18 insertions(+), 2 deletions(-) + +Index: systemd-44/src/util.c +=================================================================== +--- systemd-44.orig/src/util.c ++++ systemd-44/src/util.c +@@ -5352,7 +5352,7 @@ finish: + return r; + } + +-int symlink_or_copy_atomic(const char *from, const char *to) { ++static int symlink_atomic_raw(const char *from, const char *to, bool allow_copy) { + char *t, *x; + const char *fn; + size_t k; +@@ -5381,7 +5381,14 @@ int symlink_or_copy_atomic(const char *f + + *x = 0; + +- r = symlink_or_copy(from, t); ++ if (allow_copy) ++ r = symlink_or_copy(from, t); ++ else { ++ r = symlink(from, t); ++ if (r < 0) ++ r = -errno; ++ } ++ + if (r < 0) { + unlink(t); + free(t); +@@ -5482,6 +5489,14 @@ int audit_loginuid_from_pid(pid_t pid, u + return 0; + } + ++int symlink_or_copy_atomic(const char *from, const char *to) { ++ return symlink_atomic_raw(from, to, true); ++} ++ ++int symlink_atomic(const char *from, const char *to) { ++ return symlink_atomic_raw(from, to, false); ++} ++ + bool display_is_local(const char *display) { + assert(display); + +Index: systemd-44/src/util.h +=================================================================== +--- systemd-44.orig/src/util.h ++++ systemd-44/src/util.h +@@ -448,6 +448,7 @@ int vt_disallocate(const char *name); + int copy_file(const char *from, const char *to); + int symlink_or_copy(const char *from, const char *to); + int symlink_or_copy_atomic(const char *from, const char *to); ++int symlink_atomic(const char *from, const char *to); + + int fchmod_umask(int fd, mode_t mode); + +Index: systemd-44/Makefile.am +=================================================================== +--- systemd-44.orig/Makefile.am ++++ systemd-44/Makefile.am +@@ -690,7 +690,7 @@ MANPAGES = \ + man/systemd.conf.5 \ + man/tmpfiles.d.5 \ + man/hostname.5 \ +- man/timezone.5 \ ++ man/localtime.5 \ + man/machine-id.5 \ + man/locale.conf.5 \ + man/os-release.5 \ +Index: systemd-44/man/timezone.xml +=================================================================== +--- systemd-44.orig/man/timezone.xml ++++ /dev/null +@@ -1,90 +0,0 @@ +- +- +- +- +- +- +- +- +- /etc/timezone +- systemd +- +- +- +- Developer +- Lennart +- Poettering +- lennart@poettering.net +- +- +- +- +- +- timezone +- 5 +- +- +- +- timezone +- Local time zone configuration file +- +- +- +- /etc/timezone +- +- +- +- Description +- +- The /etc/timezone file +- configures the system-wide time zone of the local +- system that is used by applications for presentation +- to the user. It should contain a single +- newline-terminated line consisting of a time zone +- identifier such as +- Europe/Berlin. The file +- /etc/localtime corresponds with +- /etc/timezone and contains the +- binary time zone data for the time zone. These files +- should always be changed simultaneously and kept in +- sync. +- +- The time zone may be overridden for individual +- programs by using the TZ environment variable. See +- environ7. +- +- +- +- History +- +- The simple configuration file format of +- /etc/timezone originates from +- Debian GNU/Linux. +- +- +- +- See Also +- +- systemd1 +- +- +- +- +Index: systemd-44/man/localtime.xml +=================================================================== +--- /dev/null ++++ systemd-44/man/localtime.xml +@@ -0,0 +1,93 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ /etc/localtime ++ systemd ++ ++ ++ ++ Developer ++ Lennart ++ Poettering ++ lennart@poettering.net ++ ++ ++ Developer ++ Shawn ++ Landden ++ shawnlandden@gmail.com ++ ++ ++ ++ ++ ++ localtime ++ 5 ++ ++ ++ ++ localtime ++ Local time zone configuration file ++ ++ ++ ++ /etc/localtime -> /usr/share/zoneinfo/… ++ ++ ++ ++ Description ++ ++ The /etc/localtime file ++ configures the system-wide time zone of the local ++ system that is used by applications for presentation ++ to the user. It should be an absolute symbolic link ++ with a destination of /usr/share/zoneinfo/, ++ fallowed by a time zone identifier such as ++ Europe/Berlin or Etc/UTC. ++ The resulting link should point to the corresponding binary ++ tzfile5 ++ time zone data for the configured time zone. ++ ++ As the time zone identifier is extracted from the name of ++ the target of /etc/localtime this file may ++ not be a normal file or hardlink. ++ ++ The time zone may be overridden for individual ++ programs by using the TZ environment variable. See ++ environ7. ++ ++ ++ ++ See Also ++ ++ tzset3 ++ localtime3 ++ systemd1 ++ ++ ++ ++ +Index: systemd-44/src/timedate/timedated.c +=================================================================== +--- systemd-44.orig/src/timedate/timedated.c ++++ systemd-44/src/timedate/timedated.c +@@ -72,6 +72,9 @@ + BUS_GENERIC_INTERFACES_LIST \ + "org.freedesktop.timedate1\0" + ++/* Must start and end with '/' */ ++#define ZONEINFO_PATH "/usr/share/zoneinfo/" ++ + const char timedate_interface[] _introspect_("timedate1") = INTERFACE; + + typedef struct TZ { +@@ -125,7 +128,7 @@ static bool valid_timezone(const char *n + if (slash) + return false; + +- t = strappend("/usr/share/zoneinfo/", name); ++ t = strappend(ZONEINFO_PATH, name); + if (!t) + return false; + +@@ -149,17 +152,17 @@ static void verify_timezone(void) { + if (!tz.zone) + return; + +- p = strappend("/usr/share/zoneinfo/", tz.zone); ++ p = strappend(ZONEINFO_PATH, tz.zone); + if (!p) { + log_error("Out of memory"); + return; + } + +- j = read_full_file("/etc/localtime", &a, &l); + k = read_full_file(p, &b, &q); +- + free(p); + ++ j = read_full_file("/etc/localtime", &a, &l); ++ + if (j < 0 || k < 0 || l != q || memcmp(a, b, l)) { + log_warning("/etc/localtime and /etc/timezone out of sync."); + free(tz.zone); +@@ -172,9 +175,36 @@ static void verify_timezone(void) { + + static int read_data(void) { + int r; ++ char *t = NULL; + + free_data(); + ++ r = readlink_malloc("/etc/localtime", &t); ++ if (r < 0) { ++ if (r == -EINVAL) ++ log_warning("/etc/localtime should be a symbolic link to a timezone data file in " ZONEINFO_PATH); ++ else ++ log_warning("Failed to get target of %s: %s", "/etc/localtime", strerror(-r)); ++ } else { ++ /* we only support the trivial relative link of (/etc/)..$ABSOLUTE */ ++ int rel_link_offset = startswith(t, "..") ? strlen("..") : 0; ++ ++ if (!startswith(t + rel_link_offset, ZONEINFO_PATH)) ++ log_warning("/etc/localtime should be a symbolic link to a timezone data file in " ZONEINFO_PATH); ++ else { ++ tz.zone = strdup(t + rel_link_offset + strlen(ZONEINFO_PATH)); ++ free(t); ++ if (!tz.zone) { ++ log_error("Out of memory"); ++ return -ENOMEM; ++ } ++ ++ goto have_timezone; ++ } ++ } ++ ++ free(t); ++ + r = read_one_line_file("/etc/timezone", &tz.zone); + if (r < 0) { + if (r != -ENOENT) +@@ -190,6 +220,7 @@ static int read_data(void) { + #endif + } + ++have_timezone: + if (isempty(tz.zone)) { + free(tz.zone); + tz.zone = NULL; +@@ -205,6 +236,7 @@ static int read_data(void) { + static int write_data_timezone(void) { + int r = 0; + char *p; ++ struct stat st; + + if (!tz.zone) { + if (unlink("/etc/timezone") < 0 && errno != ENOENT) +@@ -216,21 +248,24 @@ static int write_data_timezone(void) { + return r; + } + +- p = strappend("/usr/share/zoneinfo/", tz.zone); ++ p = strappend(ZONEINFO_PATH, tz.zone); + if (!p) { + log_error("Out of memory"); + return -ENOMEM; + } + +- r = symlink_or_copy_atomic(p, "/etc/localtime"); ++ r = symlink_atomic(p, "/etc/localtime"); ++ + free(p); + + if (r < 0) +- return r; ++ return -errno; + +- r = write_one_line_file_atomic("/etc/timezone", tz.zone); +- if (r < 0) +- return r; ++ if (stat("/etc/timezone", &st) == 0 && S_ISREG(st.st_mode)) { ++ r = write_one_line_file_atomic("/etc/timezone", tz.zone); ++ if (r < 0) ++ return r; ++ } + + return 0; + } From 6dd417b7106b3e73944a8618066106b25471dd7544362267cf772d68feaacb16 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 2 Nov 2012 16:30:32 +0000 Subject: [PATCH 108/991] Accepting request 139993 from Base:System - udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) OBS-URL: https://build.opensuse.org/request/show/139993 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=111 --- ...splash-handling-for-password-dialogs.patch | 4 +- 0001-Reinstate-TIMEOUT-handling.patch | 130 + ...rse-support-to-detect-endianness-bug.patch | 368 - ...aplock-and-compose_table-and-kbd_rat.patch | 54 +- ...ndencies-added-when-parsing-insserv..patch | 4 +- ...sv-service-with-detected-pid-as-Rema.patch | 4 +- ...er-follow-symlinks-in-rm_rf_children.patch | 59 - ...enable-by_path-links-for-ata-devices.patch | 108 + ...ate-by-id-scsi-links-for-ATA-devices.patch | 15 + 0026-udev-netlink-null-rules.patch | 13 + 0027-udev-fix-sg-autoload-regression.patch | 12 + avoid-random-seed-cycle.patch | 109 - baselibs.conf | 3 + boot.udev | 81 + change-terminal.patch | 37 - crypt-loop-file.patch | 90 +- ...-fsck-cryptsetup-after-md-lvm-dmraid.patch | 22 +- dm-lvm-after-local-fs-pre-target.patch | 10 +- drop-timezone.patch | 48 - fastboot-forcefsck.patch | 12 +- fix-analyze-exception.patch | 29 - fix-dir-noatime-tmpfiles.patch | 41 - fix-enable-disable-boot-initscript.patch | 13 +- fix-getty-isolate.patch | 51 - fix-swap-priority.patch | 36 - fix-tty-startup.patch | 40 - fix-write-user-state-file.patch | 99 - fixppc.patch | 73 - improve-restart-behaviour.patch | 7661 ----------------- journal-bugfixes.patch | 186 - journalctl-pager-improvement.patch | 448 - logind-logout.patch | 156 - macros.systemd | 16 +- modules_on_boot.patch | 62 +- new-lsb-headers.patch | 24 +- pre_checkin.sh | 18 +- storage-after-cryptsetup.patch | 18 +- support-suse-clock-sysconfig.patch | 36 +- support-sysvinit.patch | 4 +- sysctl-modules.patch | 10 +- systemd-195.tar.xz | 3 + systemd-44.tar.xz | 3 - systemd-gtk.spec | 94 - systemd-mini-rpmlintrc | 17 + systemd-gtk.changes => systemd-mini.changes | 306 + systemd-mini.spec | 834 ++ systemd-numlock-suse.patch | 141 +- systemd-rpmlintrc | 17 +- systemd.changes | 187 + systemd.spec | 645 +- tty1.patch | 12 +- udev-root-symlink.systemd | 9 + ulimit-support.patch | 253 - use_localtime.patch | 397 - var-run-lock.patch | 97 + write_dev_root_rule | 13 + 56 files changed, 2588 insertions(+), 10644 deletions(-) create mode 100644 0001-Reinstate-TIMEOUT-handling.patch delete mode 100644 0001-add-sparse-support-to-detect-endianness-bug.patch delete mode 100644 0001-util-never-follow-symlinks-in-rm_rf_children.patch create mode 100644 0013-re-enable-by_path-links-for-ata-devices.patch create mode 100644 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch create mode 100644 0026-udev-netlink-null-rules.patch create mode 100644 0027-udev-fix-sg-autoload-regression.patch delete mode 100644 avoid-random-seed-cycle.patch create mode 100644 boot.udev delete mode 100644 change-terminal.patch delete mode 100644 drop-timezone.patch delete mode 100644 fix-analyze-exception.patch delete mode 100644 fix-dir-noatime-tmpfiles.patch delete mode 100644 fix-getty-isolate.patch delete mode 100644 fix-swap-priority.patch delete mode 100644 fix-tty-startup.patch delete mode 100644 fix-write-user-state-file.patch delete mode 100644 fixppc.patch delete mode 100644 improve-restart-behaviour.patch delete mode 100644 journal-bugfixes.patch delete mode 100644 journalctl-pager-improvement.patch delete mode 100644 logind-logout.patch create mode 100644 systemd-195.tar.xz delete mode 100644 systemd-44.tar.xz delete mode 100644 systemd-gtk.spec create mode 100644 systemd-mini-rpmlintrc rename systemd-gtk.changes => systemd-mini.changes (86%) create mode 100644 systemd-mini.spec create mode 100644 udev-root-symlink.systemd delete mode 100644 ulimit-support.patch delete mode 100644 use_localtime.patch create mode 100644 var-run-lock.patch create mode 100644 write_dev_root_rule diff --git a/0001-Add-bootsplash-handling-for-password-dialogs.patch b/0001-Add-bootsplash-handling-for-password-dialogs.patch index e4bdce2b..7338d212 100644 --- a/0001-Add-bootsplash-handling-for-password-dialogs.patch +++ b/0001-Add-bootsplash-handling-for-password-dialogs.patch @@ -8,8 +8,8 @@ splash screen to verbose when a password is asked... --- diff --git a/src/ask-password-api.c b/src/ask-password-api.c index da967ab..b89bcea 100644 ---- a/src/ask-password-api.c -+++ b/src/ask-password-api.c +--- a/src/shared/ask-password-api.c ++++ b/src/shared/ask-password-api.c @@ -62,6 +62,9 @@ int ask_password_tty( bool reset_tty = false; bool silent_mode = false; diff --git a/0001-Reinstate-TIMEOUT-handling.patch b/0001-Reinstate-TIMEOUT-handling.patch new file mode 100644 index 00000000..9e451f4b --- /dev/null +++ b/0001-Reinstate-TIMEOUT-handling.patch @@ -0,0 +1,130 @@ +Without treating events with timeouts specially some drivers would +cause a 30 seconds stall on boot: . + +I also received reports of some drivers not working at all, even +after the timeout. + +We will remove this patch when more drivers have been fixed in +the kernel (3.4?). + +This reverts 43d5c5f03645c4b842659f9b5bd0ae465e885e92 and +57c6f8ae5f52a6e8ffc66a54966346f733dded39. +--- + +Note: this is mostly a FYI, and whether or not it makes sense +to apply this upstream depends on how big problems other report +regarding this issue. + + src/libudev-device.c | 19 +++++++++++++++++++ + src/libudev-private.h | 1 + + src/udevd.c | 13 ++++++++++--- + 4 files changed, 32 insertions(+), 3 deletions(-) + +Index: systemd-190/src/libudev/libudev-device.c +=================================================================== +--- systemd-190.orig/src/libudev/libudev-device.c ++++ systemd-190/src/libudev/libudev-device.c +@@ -68,6 +68,7 @@ struct udev_device { + struct udev_list tags_list; + unsigned long long int seqnum; + unsigned long long int usec_initialized; ++ int timeout; + int devlink_priority; + int refcount; + dev_t devnum; +@@ -162,6 +163,21 @@ static int udev_device_set_devnum(struct + return 0; + } + ++int udev_device_get_timeout(struct udev_device *udev_device) ++{ ++ return udev_device->timeout; ++} ++ ++static int udev_device_set_timeout(struct udev_device *udev_device, int timeout) ++{ ++ char num[32]; ++ ++ udev_device->timeout = timeout; ++ snprintf(num, sizeof(num), "%u", timeout); ++ udev_device_add_property(udev_device, "TIMEOUT", num); ++ return 0; ++} ++ + const char *udev_device_get_devpath_old(struct udev_device *udev_device) + { + return udev_device->devpath_old; +@@ -418,6 +434,8 @@ void udev_device_add_property_from_strin + udev_device_set_devpath_old(udev_device, &property[12]); + } else if (startswith(property, "SEQNUM=")) { + udev_device_set_seqnum(udev_device, strtoull(&property[7], NULL, 10)); ++ } else if (startswith(property, "TIMEOUT=")) { ++ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10)); + } else if (startswith(property, "IFINDEX=")) { + udev_device_set_ifindex(udev_device, strtoull(&property[8], NULL, 10)); + } else if (startswith(property, "DEVMODE=")) { +@@ -605,6 +623,7 @@ struct udev_device *udev_device_new(stru + udev_list_init(udev, &udev_device->sysattr_value_list, true); + udev_list_init(udev, &udev_device->sysattr_list, false); + udev_list_init(udev, &udev_device->tags_list, true); ++ udev_device->timeout = -1; + udev_device->watch_handle = -1; + /* copy global properties */ + udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) +Index: systemd-190/src/libudev/libudev-private.h +=================================================================== +--- systemd-190.orig/src/libudev/libudev-private.h ++++ systemd-190/src/libudev/libudev-private.h +@@ -65,6 +65,7 @@ const char *udev_device_get_id_filename( + void udev_device_set_is_initialized(struct udev_device *udev_device); + int udev_device_add_tag(struct udev_device *udev_device, const char *tag); + void udev_device_cleanup_tags_list(struct udev_device *udev_device); ++int udev_device_get_timeout(struct udev_device *udev_device); + unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); + void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); + int udev_device_get_devlink_priority(struct udev_device *udev_device); +Index: systemd-190/src/udev/udevd.c +=================================================================== +--- systemd-190.orig/src/udev/udevd.c ++++ systemd-190/src/udev/udevd.c +@@ -387,7 +387,7 @@ out: + } + } + +-static void event_run(struct event *event) ++static void event_run(struct event *event, bool force) + { + struct udev_list_node *loop; + +@@ -413,7 +413,7 @@ static void event_run(struct event *even + return; + } + +- if (children >= children_max) { ++ if (!force && children >= children_max) { + if (children_max > 1) + log_debug("maximum number (%i) of children reached\n", children); + return; +@@ -447,6 +447,13 @@ static int event_queue_insert(struct ude + + event->state = EVENT_QUEUED; + udev_list_node_append(&event->node, &event_list); ++ ++ /* run all events with a timeout set immediately */ ++ if (udev_device_get_timeout(dev) > 0) { ++ event_run(event, true); ++ return 0; ++ } ++ + return 0; + } + +@@ -552,7 +559,7 @@ static void event_queue_start(struct ude + if (is_devpath_busy(event)) + continue; + +- event_run(event); ++ event_run(event, false); + } + } + diff --git a/0001-add-sparse-support-to-detect-endianness-bug.patch b/0001-add-sparse-support-to-detect-endianness-bug.patch deleted file mode 100644 index d4c084d2..00000000 --- a/0001-add-sparse-support-to-detect-endianness-bug.patch +++ /dev/null @@ -1,368 +0,0 @@ -From 7644bc8665f39a6428049e81e8c04e4d755e55a1 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 16 Mar 2012 11:59:04 +0100 -Subject: [PATCH] add sparse support to detect endianness bug - -le16/32/64_t type should be used when storing little-endian value - -header to integrate with sparse from Josh Triplett ---- - src/journal/journal-def.h | 74 +++++++++++++++++----------------- - src/journal/journal-file.c | 15 ++++--- - src/journal/journal-internal.h | 2 +- - src/journal/journald.c | 5 +- - src/journal/sd-journal.c | 10 +++-- - src/journal/sparse-endian.h | 87 ++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 142 insertions(+), 51 deletions(-) - create mode 100644 src/journal/sparse-endian.h - -diff --git a/src/journal/journal-def.h b/src/journal/journal-def.h -index 964e0c2..9cb8051 100644 ---- a/src/journal/journal-def.h -+++ b/src/journal/journal-def.h -@@ -22,7 +22,7 @@ - along with systemd; If not, see . - ***/ - --#include -+#include "sparse-endian.h" - - #include - -@@ -60,48 +60,48 @@ _packed_ struct ObjectHeader { - uint8_t type; - uint8_t flags; - uint8_t reserved[6]; -- uint64_t size; -+ le64_t size; - uint8_t payload[]; - }; - - _packed_ struct DataObject { - ObjectHeader object; -- uint64_t hash; -- uint64_t next_hash_offset; -- uint64_t next_field_offset; -- uint64_t entry_offset; /* the first array entry we store inline */ -- uint64_t entry_array_offset; -- uint64_t n_entries; -+ le64_t hash; -+ le64_t next_hash_offset; -+ le64_t next_field_offset; -+ le64_t entry_offset; /* the first array entry we store inline */ -+ le64_t entry_array_offset; -+ le64_t n_entries; - uint8_t payload[]; - }; - - _packed_ struct FieldObject { - ObjectHeader object; -- uint64_t hash; -- uint64_t next_hash_offset; -- uint64_t head_data_offset; -- uint64_t tail_data_offset; -+ le64_t hash; -+ le64_t next_hash_offset; -+ le64_t head_data_offset; -+ le64_t tail_data_offset; - uint8_t payload[]; - }; - - _packed_ struct EntryItem { -- uint64_t object_offset; -- uint64_t hash; -+ le64_t object_offset; -+ le64_t hash; - }; - - _packed_ struct EntryObject { - ObjectHeader object; -- uint64_t seqnum; -- uint64_t realtime; -- uint64_t monotonic; -+ le64_t seqnum; -+ le64_t realtime; -+ le64_t monotonic; - sd_id128_t boot_id; -- uint64_t xor_hash; -+ le64_t xor_hash; - EntryItem items[]; - }; - - _packed_ struct HashItem { -- uint64_t head_hash_offset; -- uint64_t tail_hash_offset; -+ le64_t head_hash_offset; -+ le64_t tail_hash_offset; - }; - - _packed_ struct HashTableObject { -@@ -111,8 +111,8 @@ _packed_ struct HashTableObject { - - _packed_ struct EntryArrayObject { - ObjectHeader object; -- uint64_t next_entry_array_offset; -- uint64_t items[]; -+ le64_t next_entry_array_offset; -+ le64_t items[]; - }; - - union Object { -@@ -145,21 +145,21 @@ _packed_ struct Header { - sd_id128_t machine_id; - sd_id128_t boot_id; - sd_id128_t seqnum_id; -- uint64_t arena_offset; -- uint64_t arena_size; -- uint64_t data_hash_table_offset; /* for looking up data objects */ -- uint64_t data_hash_table_size; -- uint64_t field_hash_table_offset; /* for looking up field objects */ -- uint64_t field_hash_table_size; -- uint64_t tail_object_offset; -- uint64_t n_objects; -- uint64_t n_entries; -- uint64_t seqnum; -- uint64_t first_seqnum; -- uint64_t entry_array_offset; -- uint64_t head_entry_realtime; -- uint64_t tail_entry_realtime; -- uint64_t tail_entry_monotonic; -+ le64_t arena_offset; -+ le64_t arena_size; -+ le64_t data_hash_table_offset; /* for looking up data objects */ -+ le64_t data_hash_table_size; -+ le64_t field_hash_table_offset; /* for looking up field objects */ -+ le64_t field_hash_table_size; -+ le64_t tail_object_offset; -+ le64_t n_objects; -+ le64_t n_entries; -+ le64_t seqnum; -+ le64_t first_seqnum; -+ le64_t entry_array_offset; -+ le64_t head_entry_realtime; -+ le64_t tail_entry_realtime; -+ le64_t tail_entry_monotonic; - }; - - #endif -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 474dd5c..e803cec 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -793,8 +793,8 @@ static uint64_t journal_file_entry_array_n_items(Object *o) { - } - - static int link_entry_into_array(JournalFile *f, -- uint64_t *first, -- uint64_t *idx, -+ le64_t *first, -+ le64_t *idx, - uint64_t p) { - int r; - uint64_t n = 0, ap = 0, q, i, a, hidx; -@@ -857,9 +857,9 @@ static int link_entry_into_array(JournalFile *f, - } - - static int link_entry_into_array_plus_one(JournalFile *f, -- uint64_t *extra, -- uint64_t *first, -- uint64_t *idx, -+ le64_t *extra, -+ le64_t *first, -+ le64_t *idx, - uint64_t p) { - - int r; -@@ -873,7 +873,7 @@ static int link_entry_into_array_plus_one(JournalFile *f, - if (*idx == 0) - *extra = htole64(p); - else { -- uint64_t i; -+ le64_t i; - - i = htole64(le64toh(*idx) - 1); - r = link_entry_into_array(f, first, &i, p); -@@ -2141,7 +2141,8 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6 - items = alloca(sizeof(EntryItem) * n); - - for (i = 0; i < n; i++) { -- uint64_t le_hash, l, h; -+ uint64_t l, h; -+ le64_t le_hash; - size_t t; - void *data; - Object *u; -diff --git a/src/journal/journal-internal.h b/src/journal/journal-internal.h -index e5914bf..17f1d31 100644 ---- a/src/journal/journal-internal.h -+++ b/src/journal/journal-internal.h -@@ -35,7 +35,7 @@ typedef struct Match Match; - struct Match { - char *data; - size_t size; -- uint64_t le_hash; -+ le64_t le_hash; - - LIST_FIELDS(Match, matches); - }; -diff --git a/src/journal/journald.c b/src/journal/journald.c -index baad3ab..ebb4275 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -1251,6 +1251,7 @@ static void process_native_message( - p = e + 1; - continue; - } else { -+ le64_t l_le; - uint64_t l; - char *k; - -@@ -1259,8 +1260,8 @@ static void process_native_message( - break; - } - -- memcpy(&l, e + 1, sizeof(uint64_t)); -- l = le64toh(l); -+ memcpy(&l_le, e + 1, sizeof(uint64_t)); -+ l = le64toh(l_le); - - if (remaining < e - p + 1 + sizeof(uint64_t) + l + 1 || - e[1+sizeof(uint64_t)+l] != '\n') { -diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c -index 86ac267..e9cd26e 100644 ---- a/src/journal/sd-journal.c -+++ b/src/journal/sd-journal.c -@@ -108,7 +108,7 @@ static int same_field(const void *_a, size_t s, const void *_b, size_t t) { - - _public_ int sd_journal_add_match(sd_journal *j, const void *data, size_t size) { - Match *m, *after = NULL; -- uint64_t le_hash; -+ le64_t le_hash; - - if (!j) - return -EINVAL; -@@ -356,7 +356,7 @@ static int find_location(sd_journal *j, JournalFile *f, direction_t direction, O - Object *c, *d; - uint64_t cp, dp; - -- r = journal_file_find_data_object_with_hash(f, m->data, m->size, m->le_hash, &d, &dp); -+ r = journal_file_find_data_object_with_hash(f, m->data, m->size, le64toh(m->le_hash), &d, &dp); - if (r <= 0) - return r; - -@@ -1349,7 +1349,8 @@ _public_ int sd_journal_get_data(sd_journal *j, const char *field, const void ** - - n = journal_file_entry_n_items(o); - for (i = 0; i < n; i++) { -- uint64_t p, l, le_hash; -+ uint64_t p, l; -+ le64_t le_hash; - size_t t; - - p = le64toh(o->entry.items[i].object_offset); -@@ -1410,7 +1411,8 @@ _public_ int sd_journal_get_data(sd_journal *j, const char *field, const void ** - - _public_ int sd_journal_enumerate_data(sd_journal *j, const void **data, size_t *size) { - JournalFile *f; -- uint64_t p, l, n, le_hash; -+ uint64_t p, l, n; -+ le64_t le_hash; - int r; - Object *o; - size_t t; -diff --git a/src/journal/sparse-endian.h b/src/journal/sparse-endian.h -new file mode 100644 -index 0000000..eb4dbf3 ---- /dev/null -+++ b/src/journal/sparse-endian.h -@@ -0,0 +1,87 @@ -+/* Copyright (c) 2012 Josh Triplett -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to -+ * deal in the Software without restriction, including without limitation the -+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+ * IN THE SOFTWARE. -+ */ -+#ifndef SPARSE_ENDIAN_H -+#define SPARSE_ENDIAN_H -+ -+#include -+#include -+ -+#ifdef __CHECKER__ -+#define __bitwise __attribute__((bitwise)) -+#define __force __attribute__((force)) -+#else -+#define __bitwise -+#define __force -+#endif -+ -+typedef uint16_t __bitwise le16_t; -+typedef uint16_t __bitwise be16_t; -+typedef uint32_t __bitwise le32_t; -+typedef uint32_t __bitwise be32_t; -+typedef uint64_t __bitwise le64_t; -+typedef uint64_t __bitwise be64_t; -+ -+#undef htobe16 -+#undef htole16 -+#undef be16toh -+#undef le16toh -+#undef htobe32 -+#undef htole32 -+#undef be32toh -+#undef le32toh -+#undef htobe64 -+#undef htole64 -+#undef be64toh -+#undef le64toh -+ -+#if __BYTE_ORDER == __LITTLE_ENDIAN -+#define bswap_16_on_le(x) __bswap_16(x) -+#define bswap_32_on_le(x) __bswap_32(x) -+#define bswap_64_on_le(x) __bswap_64(x) -+#define bswap_16_on_be(x) (x) -+#define bswap_32_on_be(x) (x) -+#define bswap_64_on_be(x) (x) -+#elif __BYTE_ORDER == __BIG_ENDIAN -+#define bswap_16_on_le(x) (x) -+#define bswap_32_on_le(x) (x) -+#define bswap_64_on_le(x) (x) -+#define bswap_16_on_be(x) __bswap_16(x) -+#define bswap_32_on_be(x) __bswap_32(x) -+#define bswap_64_on_be(x) __bswap_64(x) -+#endif -+ -+static inline le16_t htole16(uint16_t value) { return (le16_t __force) bswap_16_on_be(value); } -+static inline le32_t htole32(uint32_t value) { return (le32_t __force) bswap_32_on_be(value); } -+static inline le64_t htole64(uint64_t value) { return (le64_t __force) bswap_64_on_be(value); } -+ -+static inline be16_t htobe16(uint16_t value) { return (be16_t __force) bswap_16_on_le(value); } -+static inline be32_t htobe32(uint32_t value) { return (be32_t __force) bswap_32_on_le(value); } -+static inline be64_t htobe64(uint64_t value) { return (be64_t __force) bswap_64_on_le(value); } -+ -+static inline uint16_t le16toh(le16_t value) { return bswap_16_on_be((uint16_t __force)value); } -+static inline uint32_t le32toh(le32_t value) { return bswap_32_on_be((uint32_t __force)value); } -+static inline uint64_t le64toh(le64_t value) { return bswap_64_on_be((uint64_t __force)value); } -+ -+static inline uint16_t be16toh(be16_t value) { return bswap_16_on_le((uint16_t __force)value); } -+static inline uint32_t be32toh(be32_t value) { return bswap_32_on_le((uint32_t __force)value); } -+static inline uint64_t be64toh(be64_t value) { return bswap_64_on_le((uint64_t __force)value); } -+ -+#endif /* SPARSE_ENDIAN_H */ --- -1.7.7 - diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch index af4e4fb0..8376c34c 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -7,10 +7,10 @@ Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate src/vconsole-setup.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 121 insertions(+), 3 deletions(-) -Index: systemd-37/src/vconsole-setup.c +Index: systemd-189/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-37.orig/src/vconsole/vconsole-setup.c -+++ systemd-37/src/vconsole/vconsole-setup.c +--- systemd-189.orig/src/vconsole/vconsole-setup.c ++++ systemd-189/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "log.h" #include "macro.h" @@ -19,7 +19,7 @@ Index: systemd-37/src/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -79,8 +80,8 @@ +@@ -99,8 +100,8 @@ static int enable_utf8(int fd) { return r; } @@ -30,7 +30,7 @@ Index: systemd-37/src/vconsole-setup.c int i = 0; pid_t pid; -@@ -99,6 +100,8 @@ +@@ -119,6 +120,8 @@ static int load_keymap(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -38,8 +38,8 @@ Index: systemd-37/src/vconsole-setup.c + args[i++] = "disable.capslock"; args[i++] = NULL; - if ((pid = fork()) < 0) { -@@ -150,6 +153,101 @@ + pid = fork(); +@@ -172,6 +175,101 @@ static int load_font(const char *vc, con return 0; } @@ -141,7 +141,7 @@ Index: systemd-37/src/vconsole-setup.c int main(int argc, char **argv) { const char *vc; char *vc_keymap = NULL; -@@ -163,8 +261,16 @@ +@@ -185,8 +283,16 @@ int main(int argc, char **argv) { #if defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) char *vc_keytable = NULL; #endif @@ -158,29 +158,26 @@ Index: systemd-37/src/vconsole-setup.c int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -265,6 +371,10 @@ - #elif defined(TARGET_SUSE) - if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, - "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, - NULL)) < 0) { - - if (r != -ENOENT) -@@ -280,6 +390,7 @@ - if (r != -ENOENT) - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -281,10 +387,15 @@ int main(int argc, char **argv) { + free(vc_keymap); + vc_keymap = t; } + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; - #elif defined(TARGET_ARCH) - if ((r = parse_env_file("/etc/rc.conf", NEWLINE, -@@ -436,7 +547,11 @@ - if (!utf8) + #elif defined(TARGET_SUSE) + r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, + "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); +@@ -443,7 +554,11 @@ int main(int argc, char **argv) { disable_utf8(fd); + - if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && + if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +#ifdef TARGET_SUSE @@ -190,7 +187,7 @@ Index: systemd-37/src/vconsole-setup.c load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -444,6 +559,14 @@ +@@ -451,6 +566,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -205,7 +202,7 @@ Index: systemd-37/src/vconsole-setup.c if (font_pid > 0) wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -@@ -451,6 +574,12 @@ +@@ -458,6 +581,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -218,4 +215,3 @@ Index: systemd-37/src/vconsole-setup.c if (fd >= 0) close_nointr_nofail(fd); -Only in new/src/vconsole: vconsole-setup.c.orig diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch index 67197942..36ca5a76 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -9,8 +9,8 @@ Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf Index: systemd-41/src/service.c =================================================================== ---- systemd-41.orig/src/service.c -+++ systemd-41/src/service.c +--- systemd-41.orig/src/core/service.c ++++ systemd-41/src/core/service.c @@ -3210,23 +3210,30 @@ static void sysv_facility_in_insserv_con Unit *u; if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) diff --git a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch index 3f1770f1..eebd73f5 100644 --- a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +++ b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch @@ -14,8 +14,8 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 Index: systemd-37/src/service.c =================================================================== ---- systemd-37.orig/src/service.c -+++ systemd-37/src/service.c +--- systemd-37.orig/src/core/service.c ++++ systemd-37/src/core/service.c @@ -2014,8 +2014,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); diff --git a/0001-util-never-follow-symlinks-in-rm_rf_children.patch b/0001-util-never-follow-symlinks-in-rm_rf_children.patch deleted file mode 100644 index 38579dee..00000000 --- a/0001-util-never-follow-symlinks-in-rm_rf_children.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5ebff5337594d690b322078c512eb222d34aaa82 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 2 Mar 2012 10:39:10 +0100 -Subject: [PATCH] util: never follow symlinks in rm_rf_children() - -The function checks if the entry is a directory before recursing, but -there is a window between the check and the open, during which the -directory could be replaced with a symlink. - -CVE-2012-1174 -https://bugzilla.redhat.com/show_bug.cgi?id=803358 ---- - src/util.c | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/src/util.c b/src/util.c -index 20cbc2b..dfc1dc6 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -3593,7 +3593,8 @@ static int rm_rf_children(int fd, bool only_dirs, bool honour_sticky) { - if (is_dir) { - int subdir_fd; - -- if ((subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)) < 0) { -+ subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); -+ if (subdir_fd < 0) { - if (ret == 0 && errno != ENOENT) - ret = -errno; - continue; --- -1.7.7 - -From c9d8629baa09f853fbcc44972c9748e70562270c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 Mar 2012 01:43:36 +0100 -Subject: [PATCH] logind: extend comment about X11 socket symlink - ---- - src/login/logind-session.c | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/src/login/logind-session.c b/src/login/logind-session.c -index af9c12d..4e0af86 100644 ---- a/src/login/logind-session.c -+++ b/src/login/logind-session.c -@@ -391,6 +391,10 @@ static int session_link_x11_socket(Session *s) { - return -ENOENT; - } - -+ /* Note that this cannot be in a subdir to avoid -+ * vulnerabilities since we are privileged but the runtime -+ * path is owned by the user */ -+ - t = strappend(s->user->runtime_path, "/X11-display"); - if (!t) { - log_error("Out of memory"); --- -1.7.7 - diff --git a/0013-re-enable-by_path-links-for-ata-devices.patch b/0013-re-enable-by_path-links-for-ata-devices.patch new file mode 100644 index 00000000..41242f3b --- /dev/null +++ b/0013-re-enable-by_path-links-for-ata-devices.patch @@ -0,0 +1,108 @@ +Index: udev-182/src/udev-builtin-path_id.c +=================================================================== +--- udev-182.orig/src/udev/udev-builtin-path_id.c ++++ udev-182/src/udev/udev-builtin-path_id.c +@@ -286,6 +286,85 @@ out: + return hostdev; + } + ++static struct udev_device *handle_ata(struct udev_device *parent, char **path) ++{ ++ struct udev_device *hostdev; ++ int host, bus, target, lun; ++ const char *name; ++ char *base; ++ char *pos; ++ DIR *dir; ++ struct dirent *dent; ++ int basenum, len; ++ ++ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); ++ if (hostdev == NULL) ++ return NULL; ++ ++ name = udev_device_get_sysname(parent); ++ if (sscanf(name, "%d:%d:%d:%d", &host, &bus, &target, &lun) != 4) ++ return NULL; ++ ++ /* rebase ata offset to get the local relative number */ ++ basenum = -1; ++ base = strdup(udev_device_get_syspath(hostdev)); ++ if (base == NULL) ++ return NULL; ++ pos = strrchr(base, '/'); ++ if (pos == NULL) { ++ parent = NULL; ++ goto out; ++ } ++ pos[0] = '\0'; ++ len = strlen(base) - 5; ++ if (len <= 0) { ++ parent = NULL; ++ goto out; ++ } ++ base[len] = '\0'; ++ dir = opendir(base); ++ if (dir == NULL) { ++ parent = NULL; ++ goto out; ++ } ++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { ++ char *rest; ++ int i; ++ ++ if (dent->d_name[0] == '.') ++ continue; ++ if (dent->d_type != DT_DIR && dent->d_type != DT_LNK) ++ continue; ++ if (strncmp(dent->d_name, "ata", 3) != 0) ++ continue; ++ i = strtoul(&dent->d_name[3], &rest, 10); ++ ++ /* ata devices start with 1, so decrease by 1 if i is bigger then 0 */ ++ if (i > 0) ++ i--; ++ if (rest[0] != '\0') ++ continue; ++ /* ++ * find the smallest number; the host really needs to export its ++ * own instance number per parent device; relying on the global host ++ * enumeration and plainly rebasing the numbers sounds unreliable ++ */ ++ if (basenum == -1 || i < basenum) ++ basenum = i; ++ } ++ closedir(dir); ++ if (basenum == -1) { ++ parent = NULL; ++ goto out; ++ } ++ host -= basenum; ++ ++ path_prepend(path, "scsi-%u:%u:%u:%u", host, bus, target, lun); ++out: ++ free(base); ++ return hostdev; ++} ++ + static struct udev_device *handle_scsi(struct udev_device *parent, char **path) + { + const char *devtype; +@@ -322,16 +401,8 @@ static struct udev_device *handle_scsi(s + goto out; + } + +- /* +- * We do not support the ATA transport class, it creates duplicated link +- * names as the fake SCSI host adapters are all separated, they are all +- * re-based as host == 0. ATA should just stop faking two duplicated +- * hierarchies for a single topology and leave the SCSI stuff alone; +- * until that happens, there are no by-path/ links for ATA devices behind +- * an ATA transport class. +- */ + if (strstr(name, "/ata") != NULL) { +- parent = NULL; ++ parent = handle_ata(parent, path); + goto out; + } + diff --git a/0014-rules-create-by-id-scsi-links-for-ATA-devices.patch b/0014-rules-create-by-id-scsi-links-for-ATA-devices.patch new file mode 100644 index 00000000..240d8200 --- /dev/null +++ b/0014-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -0,0 +1,15 @@ +Index: udev-182/rules/60-persistent-storage.rules +=================================================================== +--- udev-182.orig/rules/60-persistent-storage.rules ++++ udev-182/rules/60-persistent-storage.rules +@@ -44,6 +44,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", + KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" + KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" + ++# scsi compat links for ATA devices ++KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" ++KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" ++ + # firewire + KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" + KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" diff --git a/0026-udev-netlink-null-rules.patch b/0026-udev-netlink-null-rules.patch new file mode 100644 index 00000000..c0b7d44a --- /dev/null +++ b/0026-udev-netlink-null-rules.patch @@ -0,0 +1,13 @@ +Index: udev-182/src/udevd.c +=================================================================== +--- udev-182.orig/src/udev/udevd.c ++++ udev-182/src/udev/udevd.c +@@ -1683,6 +1683,8 @@ int main(int argc, char *argv[]) + dev = udev_monitor_receive_device(monitor); + if (dev != NULL) { + udev_device_set_usec_initialized(dev, now_usec()); ++ if (rules == NULL) ++ rules = udev_rules_new(udev, resolve_names); + if (event_queue_insert(dev) < 0) + udev_device_unref(dev); + } diff --git a/0027-udev-fix-sg-autoload-regression.patch b/0027-udev-fix-sg-autoload-regression.patch new file mode 100644 index 00000000..642f4faf --- /dev/null +++ b/0027-udev-fix-sg-autoload-regression.patch @@ -0,0 +1,12 @@ +Index: systemd-190/rules/80-drivers.rules +=================================================================== +--- systemd-190.orig/rules/80-drivers.rules ++++ systemd-190/rules/80-drivers.rules +@@ -7,6 +7,7 @@ SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}== + SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", IMPORT{builtin}="kmod load tifm_ms" + SUBSYSTEM=="memstick", IMPORT{builtin}="kmod load ms_block mspro_block" + SUBSYSTEM=="i2o", IMPORT{builtin}="kmod load i2o_block" ++SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", IMPORT{builtin}="kmod load sg" + SUBSYSTEM=="module", KERNEL=="parport_pc", RUN{builtin}="kmod load ppdev" + + LABEL="drivers_end" diff --git a/avoid-random-seed-cycle.patch b/avoid-random-seed-cycle.patch deleted file mode 100644 index daada87f..00000000 --- a/avoid-random-seed-cycle.patch +++ /dev/null @@ -1,109 +0,0 @@ - -Rather than ordering systemd-random-seed-load.service after local-fs.target, -start it by path-activation. - -We need write access to the seed, so we order the path unit after -remount-rootfs.service (in case /var is on the root fs). - -A better solution might be to introduce PathIsWritable=, but that is not -necessary in order to solve the problem, and I don't know of any other -usecases for it. - -Cc: Frederic Crozat -Cc: Michal Schmidt ---- - -This is my second attempt at solving this problem. The first one had -some issues as pointed out by Frederic and Michael. - - Makefile.am | 7 +++++-- - TODO | 2 -- - units/.gitignore | 1 + - units/systemd-random-seed-load.path.in | 18 ++++++++++++++++++ - units/systemd-random-seed-load.service.in | 3 +-- - 5 files changed, 25 insertions(+), 6 deletions(-) - create mode 100644 units/systemd-random-seed-load.path.in - -diff -urB systemd-38/Makefile.am new/Makefile.am ---- systemd-38/Makefile.am 2012-01-11 04:01:36.734404653 +0100 -+++ new/Makefile.am 2012-01-18 09:53:12.763115731 +0100 -@@ -1530,11 +1530,14 @@ - - nodist_systemunit_DATA += \ - units/systemd-random-seed-save.service \ -- units/systemd-random-seed-load.service -+ units/systemd-random-seed-load.service \ -+ units/systemd-random-seed-load.path -+ - - EXTRA_DIST += \ - units/systemd-random-seed-save.service.in \ -- units/systemd-random-seed-load.service.in -+ units/systemd-random-seed-load.service.in \ -+ units/systemd-random-seed-load.path.in - - systemd_random_seed_SOURCES = \ - src/random-seed.c -@@ -1550,8 +1553,8 @@ - rm -f systemd-random-seed-save.service && \ - $(LN_S) ../systemd-random-seed-save.service systemd-random-seed-save.service ) - ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \ -- rm -f systemd-random-seed-load.service && \ -- $(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service ) -+ rm -f systemd-random-seed-load.path && \ -+ $(LN_S) ../systemd-random-seed-load.path systemd-random-seed-load.path ) - - INSTALL_DATA_HOOKS += \ - randomseed-install-data-hook -@@ -2052,6 +2055,7 @@ - -e 's,@exec_prefix\@,$(exec_prefix),g' \ - -e 's,@libdir\@,$(libdir),g' \ - -e 's,@includedir\@,$(includedir),g' \ -+ -e 's,@localstatedir\@,$(localstatedir),g' \ - < $< > $@ || rm $@ - - units/%: units/%.in Makefile -diff --git a/units/systemd-random-seed-load.path.in b/units/systemd-random-seed-load.path.in -new file mode 100644 -index 0000000..614c1d4 ---- /dev/null -+++ b/units/systemd-random-seed-load.path.in -@@ -0,0 +1,18 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Random Seed -+DefaultDependencies=no -+Conflicts=shutdown.target -+Before=basic.target shutdown.target -+# in case the seed is on the rootfs, we must -+# wait for the rootfs to be remonuted rw -+After=remount-rootfs.service -+ -+[Path] -+PathExists=@localstatedir@/lib/random-seed -diff --git a/units/systemd-random-seed-load.service.in b/units/systemd-random-seed-load.service.in -index a2b6a55..2bcf1aa 100644 ---- a/units/systemd-random-seed-load.service.in -+++ b/units/systemd-random-seed-load.service.in -@@ -8,9 +8,8 @@ - [Unit] - Description=Load Random Seed - DefaultDependencies=no --Wants=local-fs.target - Conflicts=shutdown.target --After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target -+After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-random-seed-load.path - Before=sysinit.target shutdown.target - - [Service] --- -1.7.8 - - - diff --git a/baselibs.conf b/baselibs.conf index e0865a24..ea8c7e15 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,3 +1,6 @@ systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ +libudev0 +libgudev-1_0-0 + diff --git a/boot.udev b/boot.udev new file mode 100644 index 00000000..82ea2399 --- /dev/null +++ b/boot.udev @@ -0,0 +1,81 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: boot.udev +# Required-Start: +# Required-Stop: +# Should-Start: +# Should-Stop: +# Default-Start: B +# Default-Stop: +# Short-Description: manage /dev and kernel device-events +# Description: udevd daemon to manage /dev and kernel device events +### END INIT INFO + +. /etc/rc.status + +PATH="/sbin:/bin" +udev_timeout=180 + +case "$1" in + start) + # create /dev/root symlink with dynamic rule + if [ -x /lib/udev/write_dev_root_rule ]; then + /lib/udev/write_dev_root_rule + fi + + # start udevd + echo -n "Starting udevd: " + /sbin/udevd --daemon + if [ $? -ne 0 ]; then + rc_status -v + rc_exit + fi + rc_status -v + + # trigger events for all devices + echo -n "Loading drivers, configuring devices: " + /sbin/udevadm trigger --type=subsystems --action=add + /sbin/udevadm trigger --type=devices --action=add + + # wait for events to finish + /sbin/udevadm settle --timeout=$udev_timeout + rc_status -v + ;; + stop) + echo -n "Stopping udevd: " + killproc /sbin/udevd + rc_status -v + ;; + restart) + echo -n "Restarting udevd: " + killproc /sbin/udevd + /sbin/udevd --daemon + rc_status -v + ;; + status) + echo -n "Checking for udevd: " + checkproc /sbin/udevd + rc_status -v + ;; + reload) + echo -n "Reloading udev rules: " + /sbin/udevadm control --reload-rules + rc_status -v + ;; + force-reload) + echo -n "Restarting udev and reconfiguring all devices: " + killproc /sbin/udevd + rm -rf /dev/.udev /dev/disk + root_symlink_rule + /sbin/udevd --daemon + /sbin/udevadm trigger --action=add + /sbin/udevadm settle --timeout=$udev_timeout + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart|status|reload|force-reload}" + exit 1 + ;; +esac +rc_exit diff --git a/change-terminal.patch b/change-terminal.patch deleted file mode 100644 index 93d877c0..00000000 --- a/change-terminal.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1505a61772a6e697f2aabdbb0e827a88b0d7ee6b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 22 Apr 2012 02:45:39 +0200 -Subject: [PATCH] default to v102 everywhere, instead of vt100, to synchronize - with agetty - ---- - src/util.c | 2 +- - units/serial-getty@.service.m4 | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-44/src/util.c -=================================================================== ---- systemd-44.orig/src/util.c -+++ systemd-44/src/util.c -@@ -4425,7 +4425,7 @@ bool tty_is_vc_resolve(const char *tty) - const char *default_term_for_tty(const char *tty) { - assert(tty); - -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt100"; -+ return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102"; - } - - bool dirent_is_file(const struct dirent *de) { -Index: systemd-44/units/serial-getty@.service.m4 -=================================================================== ---- systemd-44.orig/units/serial-getty@.service.m4 -+++ systemd-44/units/serial-getty@.service.m4 -@@ -35,7 +35,7 @@ Before=getty.target - IgnoreOnIsolate=yes - - [Service] --Environment=TERM=vt100 -+Environment=TERM=vt102 - ExecStart=-/sbin/agetty -s %I 115200,38400,9600 - Restart=always - RestartSec=0 diff --git a/crypt-loop-file.patch b/crypt-loop-file.patch index 317bec7f..70785520 100644 --- a/crypt-loop-file.patch +++ b/crypt-loop-file.patch @@ -1,8 +1,8 @@ -Index: systemd-37/src/cryptsetup/cryptsetup-generator.c +Index: systemd-190/src/cryptsetup/cryptsetup-generator.c =================================================================== ---- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-37/src/cryptsetup/cryptsetup-generator.c -@@ -138,7 +138,7 @@ static int create_disk( +--- systemd-190.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-190/src/cryptsetup/cryptsetup-generator.c +@@ -136,7 +136,7 @@ static int create_disk( const char *password, const char *options) { @@ -11,62 +11,64 @@ Index: systemd-37/src/cryptsetup/cryptsetup-generator.c int r; FILE *f = NULL; bool noauto, nofail; -@@ -167,10 +167,50 @@ static int create_disk( +@@ -168,11 +168,51 @@ static int create_disk( goto fail; } -- if (!(d = unit_name_from_path(u, ".device"))) { +- d = unit_name_from_path(u, ".device"); +- if (!d) { - r = -ENOMEM; - log_error("Failed to allocate device name."); - goto fail; + if (!startswith(device,"/dev/")) { ++ d = unit_name_from_path_instance("cryptsetup", name, ".path"); ++ if (!d) { ++ r = -ENOMEM; ++ log_error("Failed to allocate path name."); ++ goto fail; ++ } + -+ if (!(d = unit_name_build_escape("cryptsetup", name, ".path"))) { -+ r = -ENOMEM; -+ log_error("Failed to allocate path name."); -+ goto fail; -+ } ++ if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) { ++ r = -ENOMEM; ++ log_error("Failed to allocate unit file name."); ++ goto fail; ++ } + -+ if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) { -+ r = -ENOMEM; -+ log_error("Failed to allocate unit file name."); -+ goto fail; -+ } ++ f = fopen(path_file, "wxe"); ++ if (!f) { ++ r = -errno; ++ log_error("Failed to create unit file: %m"); ++ goto fail; ++ } + -+ if (!(f = fopen(path_file, "wxe"))) { -+ r = -errno; -+ log_error("Failed to create unit file: %m"); -+ goto fail; -+ } ++ fprintf(f, ++ "[Unit]\n" ++ "Description=Cryptography Setup for %s\n" ++ "DefaultDependencies=no\n" ++ "[Path]\n" ++ "PathExists=%s\n", ++ device, device); + -+ fprintf(f, -+ "[Unit]\n" -+ "Description=Cryptography Setup for %s\n" -+ "DefaultDependencies=no\n" -+ "[Path]\n" -+ "PathExists=%s\n", -+ device, device); ++ fflush(f); + -+ fflush(f); ++ if (ferror(f)) { ++ r = -errno; ++ log_error("Failed to write file: %m"); ++ goto fail; ++ } + -+ if (ferror(f)) { -+ r = -errno; -+ log_error("Failed to write file: %m"); -+ goto fail; -+ } -+ -+ f = NULL; ++ f = NULL; + } else { -+ -+ if (!(d = unit_name_from_path(u, ".device"))) { -+ r = -ENOMEM; -+ log_error("Failed to allocate device name."); -+ goto fail; -+ } ++ d = unit_name_from_path(u, ".device"); ++ if (!d) { ++ r = -ENOMEM; ++ log_error("Failed to allocate device name."); ++ goto fail; ++ } } - if (!(f = fopen(p, "wxe"))) { -@@ -300,6 +340,7 @@ fail: + f = fopen(p, "wxe"); +@@ -298,6 +338,7 @@ fail: free(n); free(d); free(e); diff --git a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch index 52d4c46e..58a4f924 100644 --- a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch +++ b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch @@ -8,26 +8,26 @@ Subject: [PATCH] delay fsck / cryptsetup after md / dmraid / lvm are started units/fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) -Index: systemd-37/src/cryptsetup/cryptsetup-generator.c +Index: systemd-189/src/cryptsetup/cryptsetup-generator.c =================================================================== ---- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-37/src/cryptsetup/cryptsetup-generator.c -@@ -112,6 +112,7 @@ static int create_disk( +--- systemd-189.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-189/src/cryptsetup/cryptsetup-generator.c +@@ -192,6 +192,7 @@ static int create_disk( "DefaultDependencies=no\n" - "BindTo=%s dev-mapper-%%i.device\n" + "BindsTo=%s dev-mapper-%%i.device\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" + "After=md.service dmraid.service lvm.service\n" "Before=umount.target\n", d, d); -Index: systemd-37/units/fsck@.service.in +Index: systemd-189/units/systemd-fsck@.service.in =================================================================== ---- systemd-37.orig/units/fsck@.service.in -+++ systemd-37/units/fsck@.service.in -@@ -9,7 +9,7 @@ - Description=File System Check on %f +--- systemd-189.orig/units/systemd-fsck@.service.in ++++ systemd-189/units/systemd-fsck@.service.in +@@ -10,7 +10,7 @@ Description=File System Check on %f + Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no - BindTo=%i.device + BindsTo=%i.device -After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device +After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service Before=shutdown.target diff --git a/dm-lvm-after-local-fs-pre-target.patch b/dm-lvm-after-local-fs-pre-target.patch index 2e4c0463..d3467af1 100644 --- a/dm-lvm-after-local-fs-pre-target.patch +++ b/dm-lvm-after-local-fs-pre-target.patch @@ -1,9 +1,9 @@ -Index: systemd-37/units/local-fs-pre.target +Index: systemd-189/units/local-fs-pre.target =================================================================== ---- systemd-37.orig/units/local-fs-pre.target -+++ systemd-37/units/local-fs-pre.target -@@ -9,3 +9,4 @@ - +--- systemd-189.orig/units/local-fs-pre.target ++++ systemd-189/units/local-fs-pre.target +@@ -8,3 +8,4 @@ [Unit] Description=Local File Systems (Pre) + Documentation=man:systemd.special(7) +After=md.service lvm.service dmraid.service diff --git a/drop-timezone.patch b/drop-timezone.patch deleted file mode 100644 index 02298075..00000000 --- a/drop-timezone.patch +++ /dev/null @@ -1,48 +0,0 @@ -Index: systemd-44/src/timedate/timedated.c -=================================================================== ---- systemd-44.orig/src/timedate/timedated.c -+++ systemd-44/src/timedate/timedated.c -@@ -203,24 +203,18 @@ static int read_data(void) { - - free(t); - -- r = read_one_line_file("/etc/timezone", &tz.zone); -- if (r < 0) { -- if (r != -ENOENT) -- log_warning("Failed to read /etc/timezone: %s", strerror(-r)); -- - #if defined(TARGET_FEDORA) || defined(TARGET_SUSE) -- r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, - #ifdef TARGET_FEDORA -- "ZONE", &tz.zone, -+ "ZONE", &tz.zone, - #else /* TARGET_SUSE */ -- "TIMEZONE", &tz.zone, -+ "TIMEZONE", &tz.zone, - #endif -- NULL); -+ NULL); - -- if (r < 0 && r != -ENOENT) -- log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); - #endif -- } - - have_timezone: - if (isempty(tz.zone)) { -@@ -263,12 +257,6 @@ static int write_data_timezone(void) { - if (r < 0) - return -errno; - -- if (stat("/etc/timezone", &st) == 0 && S_ISREG(st.st_mode)) { -- r = write_one_line_file_atomic("/etc/timezone", tz.zone); -- if (r < 0) -- return r; -- } -- - return 0; - } - diff --git a/fastboot-forcefsck.patch b/fastboot-forcefsck.patch index 4d76eb23..f0898e86 100644 --- a/fastboot-forcefsck.patch +++ b/fastboot-forcefsck.patch @@ -1,11 +1,11 @@ -Index: systemd-44/src/fsck.c +Index: systemd-189/src/fsck/fsck.c =================================================================== ---- systemd-44.orig/src/fsck.c -+++ systemd-44/src/fsck.c -@@ -127,7 +127,7 @@ static int parse_proc_cmdline(void) { +--- systemd-189.orig/src/fsck/fsck.c ++++ systemd-189/src/fsck/fsck.c +@@ -128,7 +128,7 @@ static int parse_proc_cmdline(void) { arg_skip = true; - else if (startswith(w, "fsck.mode")) - log_warning("Invalid fsck.mode= parameter. Ignoring."); + else if (startswith(w, "fsck")) + log_warning("Invalid fsck parameter. Ignoring."); -#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) +#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) || defined(TARGET_SUSE) else if (strneq(w, "fastboot", l)) diff --git a/fix-analyze-exception.patch b/fix-analyze-exception.patch deleted file mode 100644 index 00699858..00000000 --- a/fix-analyze-exception.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6070fe66ac2f317e7e85e5685f0916d1e2b73a28 Mon Sep 17 00:00:00 2001 -From: Colin Guthrie -Date: Mon, 2 Apr 2012 11:08:20 +0100 -Subject: [PATCH] analyze: Cosmetic exit when the bootup is not yet complete - when plotting. - -This is just a nicer message than a python traceback. ---- - src/systemd-analyze | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/systemd-analyze b/src/systemd-analyze -index 8148bfb..a49fbb7 100755 ---- a/src/systemd-analyze -+++ b/src/systemd-analyze -@@ -31,6 +31,10 @@ def acquire_start_time(): - startup_time = int(properties.Get('org.freedesktop.systemd1.Manager', 'StartupTimestampMonotonic')) - finish_time = int(properties.Get('org.freedesktop.systemd1.Manager', 'FinishTimestampMonotonic')) - -+ if finish_time == 0: -+ sys.stderr.write("Bootup is not yet finished. Please try again later.\n") -+ sys.exit(1) -+ - assert initrd_time <= startup_time - assert startup_time <= finish_time - --- -1.7.10.4 - diff --git a/fix-dir-noatime-tmpfiles.patch b/fix-dir-noatime-tmpfiles.patch deleted file mode 100644 index 714ada2f..00000000 --- a/fix-dir-noatime-tmpfiles.patch +++ /dev/null @@ -1,41 +0,0 @@ -From de49f6dd99aca059da24c9afc672782f1768abd2 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 11 Apr 2012 21:33:12 +0200 -Subject: [PATCH] tmpfiles: open directories with O_NOATIME to preserve - timestamp - -Before: - # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' - Access: 2012-04-11 21:32:48.444920237 +0200 - # systemd-tmpfiles --clean - # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' - Access: 2012-04-11 21:36:27.628925459 +0200 - -After: - # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' - Access: 2012-04-11 21:32:48.444920237 +0200 - # ./systemd-tmpfiles --clean - # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20' - Access: 2012-04-11 21:32:48.444920237 +0200 - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=810257 ---- - src/tmpfiles.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/tmpfiles.c b/src/tmpfiles.c -index 21bf44d..09eefcf 100644 ---- a/src/tmpfiles.c -+++ b/src/tmpfiles.c -@@ -250,7 +250,7 @@ static int dir_cleanup( - DIR *sub_dir; - int q; - -- sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW); -+ sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW|O_NOATIME); - if (sub_dir == NULL) { - if (errno != ENOENT) { - log_error("opendir(%s/%s) failed: %m", p, dent->d_name); --- -1.7.7 - diff --git a/fix-enable-disable-boot-initscript.patch b/fix-enable-disable-boot-initscript.patch index 1f4fe5cf..a89b5955 100644 --- a/fix-enable-disable-boot-initscript.patch +++ b/fix-enable-disable-boot-initscript.patch @@ -7,11 +7,11 @@ Subject: [PATCH] fix support for boot prefixed initscript (bnc#746506) src/systemctl.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -diff --git a/src/systemctl.c b/src/systemctl.c -index e94e024..1a98599 100644 ---- a/src/systemctl.c -+++ b/src/systemctl.c -@@ -3669,7 +3669,27 @@ static int enable_sysv_units(char **args) { +Index: systemd-195/src/systemctl/systemctl.c +=================================================================== +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -3453,7 +3453,27 @@ static int enable_sysv_units(char **args if (!found_sysv) { free(p); @@ -39,6 +39,3 @@ index e94e024..1a98599 100644 } /* Mark this entry, so that we don't try enabling it as native unit */ --- -1.7.10.4 - diff --git a/fix-getty-isolate.patch b/fix-getty-isolate.patch deleted file mode 100644 index 4cf794ad..00000000 --- a/fix-getty-isolate.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 4771148bb92ace55eaa6759a53d04a0f2de9b0d2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 11 Apr 2012 21:58:33 +0200 -Subject: [PATCH] units: exclude gettys from isolate requests - -gettys are nowadays mostly autospawned and hence usually subject to -being shut down on isolate requests, since they are no dependency of any -other unit. This is a bad idea if the user isolates between -multi-user.graphical and graphical.target, hence exclude them from the -isolation. - -This has the effect that gettys no longer cleaned up when -emergency.target is isolated, which might actualy be considered a -feature, even though it is a change from previous behaviour... - -Note that the one getty that really matters (the one on tty1) is still -removed when isolating to emergency.target since it conflicts with -emergency.service. ---- - TODO | 4 ++-- - units/getty@.service.m4 | 1 + - units/serial-getty@.service.m4 | 1 + - 3 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 -index a02838d..6b931fb 100644 ---- a/units/getty@.service.m4 -+++ b/units/getty@.service.m4 -@@ -32,6 +32,7 @@ After=rc-local.service - # sure that this is synchronized before getty.target, even though - # getty.target didn't actually pull it in. - Before=getty.target -+IgnoreOnIsolate=yes - - [Service] - Environment=TERM=linux -diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 -index fc8b57b..d1d14d3 100644 ---- a/units/serial-getty@.service.m4 -+++ b/units/serial-getty@.service.m4 -@@ -32,6 +32,7 @@ After=rc-local.service - # sure that this is synchronized before getty.target, even though - # getty.target didn't actually pull it in. - Before=getty.target -+IgnoreOnIsolate=yes - - [Service] - Environment=TERM=vt100 --- -1.7.7 - diff --git a/fix-swap-priority.patch b/fix-swap-priority.patch deleted file mode 100644 index 2c3fd5f1..00000000 --- a/fix-swap-priority.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: systemd-37/src/mount.c -=================================================================== ---- systemd-37.orig/src/mount.c -+++ systemd-37/src/mount.c -@@ -1485,7 +1485,7 @@ fail: - return r; - } - --static int mount_find_pri(char *options) { -+static int mount_find_pri(char *options, int *ret) { - char *end, *pri; - unsigned long r; - -@@ -1503,7 +1503,8 @@ static int mount_find_pri(char *options) - if (end == pri || (*end != ',' && *end != 0)) - return -EINVAL; - -- return (int) r; -+ *ret = (int) r; -+ return 1; - } - - static int mount_load_etc_fstab(Manager *m) { -@@ -1539,9 +1540,10 @@ static int mount_load_etc_fstab(Manager - path_kill_slashes(where); - - if (streq(me->mnt_type, "swap")) { -- int pri; -+ int r, pri = -1; - -- if ((pri = mount_find_pri(me->mnt_opts)) < 0) -+ r = mount_find_pri(me->mnt_opts,&pri); -+ if (r < 0) - k = pri; - else - k = swap_add_one(m, diff --git a/fix-tty-startup.patch b/fix-tty-startup.patch deleted file mode 100644 index 293839c7..00000000 --- a/fix-tty-startup.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d55248d6a6f69f3b6c86cfc0d11aff8831590a4f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 12 Apr 2012 17:29:42 +0200 -Subject: [PATCH] getty: VC devices are always available, we don't need to - wait until they show up - ---- - src/99-systemd.rules.in | 1 - - units/getty@.service.m4 | 3 +-- - 2 files changed, 1 insertions(+), 3 deletions(-) - -diff --git a/src/99-systemd.rules.in b/src/99-systemd.rules.in -index d306f71..8cc7523 100644 ---- a/src/99-systemd.rules.in -+++ b/src/99-systemd.rules.in -@@ -7,7 +7,6 @@ - - ACTION=="remove", GOTO="systemd_end" - --SUBSYSTEM=="tty", KERNEL=="tty[0-9]|tty1[0-2]", TAG+="systemd" - SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd" - - KERNEL=="vport*", TAG+="systemd" -diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 -index a02838d..c397a4d 100644 ---- a/units/getty@.service.m4 -+++ b/units/getty@.service.m4 -@@ -7,8 +7,7 @@ - - [Unit] - Description=Getty on %I --BindTo=dev-%i.device --After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service -+After=systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`TARGET_FEDORA', - After=rc-local.service - )m4_dnl --- -1.7.7 - diff --git a/fix-write-user-state-file.patch b/fix-write-user-state-file.patch deleted file mode 100644 index e0cd289e..00000000 --- a/fix-write-user-state-file.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 0753f9b016f144a6ebe11cd8a2c377e5a0345443 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 22 May 2012 16:46:11 +0200 -Subject: [PATCH] logind: fix write out of user state file - ---- - src/login/logind-user.c | 65 ++++++++++++++++++++++++++++++---------------- - 1 files changed, 42 insertions(+), 23 deletions(-) - -diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index 717f0e2..b7f579c 100644 ---- a/src/login/logind-user.c -+++ b/src/login/logind-user.c -@@ -136,40 +136,59 @@ int user_save(User *u) { - - if (u->sessions) { - Session *i; -+ bool first; - - fputs("SESSIONS=", f); -+ first = true; - LIST_FOREACH(sessions_by_user, i, u->sessions) { -- fprintf(f, -- "%s%c", -- i->id, -- i->sessions_by_user_next ? ' ' : '\n'); -+ if (first) -+ first = false; -+ else -+ fputc(' ', f); -+ -+ fputs(i->id, f); - } - -- fputs("SEATS=", f); -+ fputs("\nSEATS=", f); -+ first = true; - LIST_FOREACH(sessions_by_user, i, u->sessions) { -- if (i->seat) -- fprintf(f, -- "%s%c", -- i->seat->id, -- i->sessions_by_user_next ? ' ' : '\n'); -+ if (!i->seat) -+ continue; -+ -+ if (first) -+ first = false; -+ else -+ fputc(' ', f); -+ -+ fputs(i->seat->id, f); - } - -- fputs("ACTIVE_SESSIONS=", f); -- LIST_FOREACH(sessions_by_user, i, u->sessions) -- if (session_is_active(i)) -- fprintf(f, -- "%lu%c", -- (unsigned long) i->user->uid, -- i->sessions_by_user_next ? ' ' : '\n'); -+ fputs("\nACTIVE_SESSIONS=", f); -+ first = true; -+ LIST_FOREACH(sessions_by_user, i, u->sessions) { -+ if (!session_is_active(i)) -+ continue; -+ -+ if (first) -+ first = false; -+ else -+ fputc(' ', f); -+ -+ fputs(i->id, f); -+ } - -- fputs("ACTIVE_SEATS=", f); -+ fputs("\nACTIVE_SEATS=", f); -+ first = true; - LIST_FOREACH(sessions_by_user, i, u->sessions) { -- if (session_is_active(i) && i->seat) -- fprintf(f, -- "%s%c", -- i->seat->id, -- i->sessions_by_user_next ? ' ' : '\n'); -+ if (!session_is_active(i) || !i->seat) -+ continue; -+ -+ if (first) -+ first = false; -+ else -+ fputs(i->seat->id, f); - } -+ fputc('\n', f); - } - - fflush(f); --- -1.7.7 - diff --git a/fixppc.patch b/fixppc.patch deleted file mode 100644 index eeb7ce56..00000000 --- a/fixppc.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 21 Mar 2012 23:47:44 +0100 -Subject: [PATCH] journal: PAGE_SIZE is not known on ppc and other archs - -Let's use NAME_MAX, as suggested by Dan Walsh ---- - src/journal/journald.c | 15 ++++++++++++--- - 1 files changed, 12 insertions(+), 3 deletions(-) - -diff --git a/src/journal/journald.c b/src/journal/journald.c -index d27cb60..87390bd 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - - #include - #include -@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) { - size_t label_len = 0; - union { - struct cmsghdr cmsghdr; -+ -+ /* We use NAME_MAX space for the -+ * SELinux label here. The kernel -+ * currently enforces no limit, but -+ * according to suggestions from the -+ * SELinux people this will change and -+ * it will probably be identical to -+ * NAME_MAX. For now we use that, but -+ * this should be updated one day when -+ * the final limit is known.*/ - uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + - CMSG_SPACE(sizeof(struct timeval)) + -- CMSG_SPACE(sizeof(int)) + -- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ -+ CMSG_SPACE(sizeof(int)) + /* fd */ -+ CMSG_SPACE(NAME_MAX)]; /* selinux label */ - } control; - ssize_t n; - int v; --- -1.7.7 - -From dd1e3d5a396284d1afdb2828991a543eb80c8040 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 22 Mar 2012 09:39:54 +0100 -Subject: [PATCH] journal: char is unsigned on ppc, use int8_t instead. - ---- - src/journal/cat.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/journal/cat.c b/src/journal/cat.c -index 31d76f3..8a51fb7 100644 ---- a/src/journal/cat.c -+++ b/src/journal/cat.c -@@ -33,7 +33,7 @@ - #include "build.h" - - static char *arg_identifier = NULL; --static char arg_priority = LOG_INFO; -+static int8_t arg_priority = LOG_INFO; - static bool arg_level_prefix = true; - - static int help(void) { --- -1.7.7 - diff --git a/improve-restart-behaviour.patch b/improve-restart-behaviour.patch deleted file mode 100644 index 28521824..00000000 --- a/improve-restart-behaviour.patch +++ /dev/null @@ -1,7661 +0,0 @@ -From 4cbb803c2197b6be6be709a11911bde00f6853f6 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 28 Mar 2012 00:42:27 +0200 -Subject: [PATCH 01/30] job: fix loss of ordering with restart jobs - -Suppose that foo.service/start is a job waiting on other job bar.service/start -to finish. And then foo.service/restart is enqueued (not using ---ignore-dependencies). - -Currently this makes foo.service start immediately, forgetting about the -ordering to bar.service. - -The runnability check for JOB_RESTART jobs looks only at dependencies for -stopping. That's actually correct, because restart jobs should be treated the -same as stop jobs at first. The bug is that job_run_and_invalidate() does not -treat them exactly the same as stop jobs. unit_start() gets called without -checking for the runnability of the converted JOB_START job. - -The fix is to simplify the switch in job_run_and_invalidate(). Handle -JOB_RESTART identically to JOB_STOP. -Also simplify the handling of JOB_TRY_RESTART - just convert it to JOB_RESTART -if the unit is active and let it fall through to the JOB_RESTART case. -Similarly for JOB_RELOAD_OR_START - have a fall through to JOB_START. - -In job_finish_and_invalidate() it's not necessary to check for JOB_TRY_RESTART -with JOB_DONE, because JOB_TRY_RESTART jobs will have been converted to -JOB_RESTART already. - -Speeding up the restart of services in "auto-restart" state still works as -before. - -Improves: https://bugzilla.redhat.com/show_bug.cgi?id=753586 -but it's still not perfect. With this fix the try-restart action will wait for -the restart to complete in the right order, but the optimal behaviour would be -to finish quickly (without disturbing the start job). ---- - src/job.c | 64 ++++++++++++++++++++----------------------------------------- - 1 files changed, 21 insertions(+), 43 deletions(-) - -diff --git a/src/job.c b/src/job.c -index e57286f..d43ce8e 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -387,14 +387,21 @@ int job_run_and_invalidate(Job *j) { - - switch (j->type) { - -+ case JOB_RELOAD_OR_START: -+ if (unit_active_state(j->unit) == UNIT_ACTIVE) { -+ j->type = JOB_RELOAD; -+ r = unit_reload(j->unit); -+ break; -+ } -+ j->type = JOB_START; -+ /* fall through */ -+ - case JOB_START: - r = unit_start(j->unit); - -- /* If this unit cannot be started, then simply -- * wait */ -+ /* If this unit cannot be started, then simply wait */ - if (r == -EBADR) - r = 0; -- - break; - - case JOB_VERIFY_ACTIVE: { -@@ -408,11 +415,19 @@ int job_run_and_invalidate(Job *j) { - break; - } - -+ case JOB_TRY_RESTART: -+ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(j->unit))) { -+ r = -ENOEXEC; -+ break; -+ } -+ j->type = JOB_RESTART; -+ /* fall through */ -+ - case JOB_STOP: -+ case JOB_RESTART: - r = unit_stop(j->unit); - -- /* If this unit cannot stopped, then simply -- * wait. */ -+ /* If this unit cannot stopped, then simply wait. */ - if (r == -EBADR) - r = 0; - break; -@@ -421,43 +436,6 @@ int job_run_and_invalidate(Job *j) { - r = unit_reload(j->unit); - break; - -- case JOB_RELOAD_OR_START: -- if (unit_active_state(j->unit) == UNIT_ACTIVE) { -- j->type = JOB_RELOAD; -- r = unit_reload(j->unit); -- } else { -- j->type = JOB_START; -- r = unit_start(j->unit); -- -- if (r == -EBADR) -- r = 0; -- } -- break; -- -- case JOB_RESTART: { -- UnitActiveState t = unit_active_state(j->unit); -- if (t == UNIT_INACTIVE || t == UNIT_FAILED || t == UNIT_ACTIVATING) { -- j->type = JOB_START; -- r = unit_start(j->unit); -- } else -- r = unit_stop(j->unit); -- break; -- } -- -- case JOB_TRY_RESTART: { -- UnitActiveState t = unit_active_state(j->unit); -- if (t == UNIT_INACTIVE || t == UNIT_FAILED || t == UNIT_DEACTIVATING) -- r = -ENOEXEC; -- else if (t == UNIT_ACTIVATING) { -- j->type = JOB_START; -- r = unit_start(j->unit); -- } else { -- j->type = JOB_RESTART; -- r = unit_stop(j->unit); -- } -- break; -- } -- - default: - assert_not_reached("Unknown job type"); - } -@@ -536,7 +514,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - job_add_to_dbus_queue(j); - - /* Patch restart jobs so that they become normal start jobs */ -- if (result == JOB_DONE && (j->type == JOB_RESTART || j->type == JOB_TRY_RESTART)) { -+ if (result == JOB_DONE && j->type == JOB_RESTART) { - - log_debug("Converting job %s/%s -> %s/%s", - j->unit->id, job_type_to_string(j->type), --- -1.7.7 - - -From 8166db595346260a3e36206249f7e82bc9ad7406 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 28 Mar 2012 01:26:04 +0200 -Subject: [PATCH 02/30] job: add debug prints where job type gets changed - -Conflicts: - - src/job.c ---- - src/job.c | 14 +++++++++----- - 1 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/src/job.c b/src/job.c -index d43ce8e..6a4d8a7 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -355,6 +355,14 @@ bool job_is_runnable(Job *j) { - return true; - } - -+static void job_change_type(Job *j, JobType newtype) { -+ log_debug("Converting job %s/%s -> %s/%s", -+ j->unit->id, job_type_to_string(j->type), -+ j->unit->id, job_type_to_string(newtype)); -+ -+ j->type = newtype; -+} -+ - int job_run_and_invalidate(Job *j) { - int r; - uint32_t id; -@@ -516,12 +524,8 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - /* Patch restart jobs so that they become normal start jobs */ - if (result == JOB_DONE && j->type == JOB_RESTART) { - -- log_debug("Converting job %s/%s -> %s/%s", -- j->unit->id, job_type_to_string(j->type), -- j->unit->id, job_type_to_string(JOB_START)); -- -+ job_change_type(j, JOB_START); - j->state = JOB_WAITING; -- j->type = JOB_START; - - job_add_to_run_queue(j); - --- -1.7.7 - - -From b0055c992aefe7512ad0f53d7c6e202d4db2bf53 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 5 Apr 2012 08:34:05 +0200 -Subject: [PATCH 03/30] job: use a lookup table for merging of job types - -It is easier to see what job_type_merge() is doing when the merging -rules are written in the form of a table. - -job_type_is_superset() contained redundant information. It can be -simplified to a simple rule: Type A is a superset of B iff merging A -with B gives A. - -Two job types are conflicting iff they are not mergeable. - -Make job_type_lookup_merge() the core function to decide the type -merging. All other job_type_*() are just short wrappers around it. -They can be inline. - -test-job-type gives the same results as before. -btw, the systemd binary is smaller by almost 1 KB. -(cherry picked from commit 348e27fedfd4cdd2238ff31a46785a70b9dc6fc0) ---- - src/job.c | 123 +++++++++++++++++------------------------------------------- - src/job.h | 29 ++++++++++++-- - 2 files changed, 60 insertions(+), 92 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 6a4d8a7..da939fb 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -164,100 +164,47 @@ bool job_is_anchor(Job *j) { - return false; - } - --static bool types_match(JobType a, JobType b, JobType c, JobType d) { -- return -- (a == c && b == d) || -- (a == d && b == c); --} -- --int job_type_merge(JobType *a, JobType b) { -- if (*a == b) -- return 0; -- -- /* Merging is associative! a merged with b merged with c is -- * the same as a merged with c merged with b. */ -- -- /* Mergeability is transitive! if a can be merged with b and b -- * with c then a also with c */ -- -- /* Also, if a merged with b cannot be merged with c, then -- * either a or b cannot be merged with c either */ -- -- if (types_match(*a, b, JOB_START, JOB_VERIFY_ACTIVE)) -- *a = JOB_START; -- else if (types_match(*a, b, JOB_START, JOB_RELOAD) || -- types_match(*a, b, JOB_START, JOB_RELOAD_OR_START) || -- types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_RELOAD_OR_START) || -- types_match(*a, b, JOB_RELOAD, JOB_RELOAD_OR_START)) -- *a = JOB_RELOAD_OR_START; -- else if (types_match(*a, b, JOB_START, JOB_RESTART) || -- types_match(*a, b, JOB_START, JOB_TRY_RESTART) || -- types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_RESTART) || -- types_match(*a, b, JOB_RELOAD, JOB_RESTART) || -- types_match(*a, b, JOB_RELOAD_OR_START, JOB_RESTART) || -- types_match(*a, b, JOB_RELOAD_OR_START, JOB_TRY_RESTART) || -- types_match(*a, b, JOB_RESTART, JOB_TRY_RESTART)) -- *a = JOB_RESTART; -- else if (types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_RELOAD)) -- *a = JOB_RELOAD; -- else if (types_match(*a, b, JOB_VERIFY_ACTIVE, JOB_TRY_RESTART) || -- types_match(*a, b, JOB_RELOAD, JOB_TRY_RESTART)) -- *a = JOB_TRY_RESTART; -- else -- return -EEXIST; -- -- return 0; --} -- --bool job_type_is_mergeable(JobType a, JobType b) { -- return job_type_merge(&a, b) >= 0; --} -- --bool job_type_is_superset(JobType a, JobType b) { -+/* -+ * Merging is commutative, so imagine the matrix as symmetric. We store only -+ * its lower triangle to avoid duplication. We don't store the main diagonal, -+ * because A merged with A is simply A. -+ * -+ * Merging is associative! A merged with B merged with C is the same as -+ * A merged with C merged with B. -+ * -+ * Mergeability is transitive! If A can be merged with B and B with C then -+ * A also with C. -+ * -+ * Also, if A merged with B cannot be merged with C, then either A or B cannot -+ * be merged with C either. -+ */ -+static const JobType job_merging_table[] = { -+/* What \ With * JOB_START JOB_VERIFY_ACTIVE JOB_STOP JOB_RELOAD JOB_RELOAD_OR_START JOB_RESTART JOB_TRY_RESTART */ -+/************************************************************************************************************************************/ -+/*JOB_START */ -+/*JOB_VERIFY_ACTIVE */ JOB_START, -+/*JOB_STOP */ -1, -1, -+/*JOB_RELOAD */ JOB_RELOAD_OR_START, JOB_RELOAD, -1, -+/*JOB_RELOAD_OR_START*/ JOB_RELOAD_OR_START, JOB_RELOAD_OR_START, -1, JOB_RELOAD_OR_START, -+/*JOB_RESTART */ JOB_RESTART, JOB_RESTART, -1, JOB_RESTART, JOB_RESTART, -+/*JOB_TRY_RESTART */ JOB_RESTART, JOB_TRY_RESTART, -1, JOB_TRY_RESTART, JOB_RESTART, JOB_RESTART, -+}; - -- /* Checks whether operation a is a "superset" of b in its -- * actions */ -+JobType job_type_lookup_merge(JobType a, JobType b) { -+ assert_cc(ELEMENTSOF(job_merging_table) == _JOB_TYPE_MAX * (_JOB_TYPE_MAX - 1) / 2); -+ assert(a >= 0 && a < _JOB_TYPE_MAX); -+ assert(b >= 0 && b < _JOB_TYPE_MAX); - - if (a == b) -- return true; -- -- switch (a) { -- case JOB_START: -- return b == JOB_VERIFY_ACTIVE; -- -- case JOB_RELOAD: -- return -- b == JOB_VERIFY_ACTIVE; -- -- case JOB_RELOAD_OR_START: -- return -- b == JOB_RELOAD || -- b == JOB_START || -- b == JOB_VERIFY_ACTIVE; -- -- case JOB_RESTART: -- return -- b == JOB_START || -- b == JOB_VERIFY_ACTIVE || -- b == JOB_RELOAD || -- b == JOB_RELOAD_OR_START || -- b == JOB_TRY_RESTART; -- -- case JOB_TRY_RESTART: -- return -- b == JOB_VERIFY_ACTIVE || -- b == JOB_RELOAD; -- default: -- return false; -+ return a; - -+ if (a < b) { -+ JobType tmp = a; -+ a = b; -+ b = tmp; - } --} -- --bool job_type_is_conflicting(JobType a, JobType b) { -- assert(a >= 0 && a < _JOB_TYPE_MAX); -- assert(b >= 0 && b < _JOB_TYPE_MAX); - -- return (a == JOB_STOP) != (b == JOB_STOP); -+ return job_merging_table[(a - 1) * a / 2 + b]; - } - - bool job_type_is_redundant(JobType a, UnitActiveState b) { -diff --git a/src/job.h b/src/job.h -index 2121426..60a43e0 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -24,6 +24,7 @@ - - #include - #include -+#include - - typedef struct Job Job; - typedef struct JobDependency JobDependency; -@@ -37,6 +38,7 @@ typedef enum JobResult JobResult; - #include "hashmap.h" - #include "list.h" - -+/* Be careful when changing the job types! Adjust job_merging_table[] accordingly! */ - enum JobType { - JOB_START, /* if a unit does not support being started, we'll just wait until it becomes active */ - JOB_VERIFY_ACTIVE, -@@ -145,10 +147,29 @@ bool job_is_anchor(Job *j); - - int job_merge(Job *j, Job *other); - --int job_type_merge(JobType *a, JobType b); --bool job_type_is_mergeable(JobType a, JobType b); --bool job_type_is_superset(JobType a, JobType b); --bool job_type_is_conflicting(JobType a, JobType b); -+JobType job_type_lookup_merge(JobType a, JobType b); -+ -+static inline int job_type_merge(JobType *a, JobType b) { -+ JobType t = job_type_lookup_merge(*a, b); -+ if (t < 0) -+ return -EEXIST; -+ *a = t; -+ return 0; -+} -+ -+static inline bool job_type_is_mergeable(JobType a, JobType b) { -+ return job_type_lookup_merge(a, b) >= 0; -+} -+ -+static inline bool job_type_is_conflicting(JobType a, JobType b) { -+ return !job_type_is_mergeable(a, b); -+} -+ -+static inline bool job_type_is_superset(JobType a, JobType b) { -+ /* Checks whether operation a is a "superset" of b in its actions */ -+ return a == job_type_lookup_merge(a, b); -+} -+ - bool job_type_is_redundant(JobType a, UnitActiveState b); - - bool job_is_runnable(Job *j); --- -1.7.7 - - -From 5503c3419fbcceebb6f8e94c291457adb260537b Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 19 Apr 2012 23:20:34 +0200 -Subject: [PATCH 04/30] job: allow job_free() only on already unlinked jobs - -job_free() is IMO too helpful when it unlinks the job from the transaction. -The callers should ensure the job is already unlinked before freeing. -The added assertions check if anyone gets it wrong. -(cherry picked from commit 02a3bcc6b4372ca50c0a62b193f9a75b988ffa69) ---- - src/job.c | 6 ++++-- - src/manager.c | 11 ++++++++--- - src/manager.h | 2 -- - 3 files changed, 12 insertions(+), 7 deletions(-) - -diff --git a/src/job.c b/src/job.c -index da939fb..8e4d93e 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -71,8 +71,10 @@ void job_free(Job *j) { - j->installed = false; - } - -- /* Detach from next 'smaller' objects */ -- manager_transaction_unlink_job(j->manager, j, true); -+ assert(!j->transaction_prev); -+ assert(!j->transaction_next); -+ assert(!j->subject_list); -+ assert(!j->object_list); - - if (j->in_run_queue) - LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); -diff --git a/src/manager.c b/src/manager.c -index 74bd740..c77b5d2 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -637,13 +637,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - return r; - } - -+static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies); -+ - static void transaction_delete_job(Manager *m, Job *j, bool delete_dependencies) { - assert(m); - assert(j); - - /* Deletes one job from the transaction */ - -- manager_transaction_unlink_job(m, j, delete_dependencies); -+ transaction_unlink_job(m, j, delete_dependencies); - - if (!j->installed) - job_free(j); -@@ -685,8 +687,10 @@ static void transaction_abort(Manager *m) { - while ((j = hashmap_first(m->transaction_jobs))) - if (j->installed) - transaction_delete_job(m, j, true); -- else -+ else { -+ transaction_unlink_job(m, j, true); - job_free(j); -+ } - - assert(hashmap_isempty(m->transaction_jobs)); - -@@ -1415,6 +1419,7 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o - LIST_PREPEND(Job, transaction, f, j); - - if (hashmap_replace(m->transaction_jobs, unit, f) < 0) { -+ LIST_REMOVE(Job, transaction, f, j); - job_free(j); - return NULL; - } -@@ -1427,7 +1432,7 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o - return j; - } - --void manager_transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) { -+static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) { - assert(m); - assert(j); - -diff --git a/src/manager.h b/src/manager.h -index a9d08f0..64d8d0e 100644 ---- a/src/manager.h -+++ b/src/manager.h -@@ -254,8 +254,6 @@ int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode - void manager_dump_units(Manager *s, FILE *f, const char *prefix); - void manager_dump_jobs(Manager *s, FILE *f, const char *prefix); - --void manager_transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies); -- - void manager_clear_jobs(Manager *m); - - unsigned manager_dispatch_load_queue(Manager *m); --- -1.7.7 - - -From c2c46edd09f2d0eefc127d22fd38312bf2bed01a Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 19 Apr 2012 23:23:04 +0200 -Subject: [PATCH 05/30] manager: simplify transaction_abort() - -This is equivalent. -(cherry picked from commit 121b3b318042b7fd67ac96601971c1c2f9b77be5) ---- - src/manager.c | 7 +------ - 1 files changed, 1 insertions(+), 6 deletions(-) - -diff --git a/src/manager.c b/src/manager.c -index c77b5d2..cac1fe8 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -685,12 +685,7 @@ static void transaction_abort(Manager *m) { - assert(m); - - while ((j = hashmap_first(m->transaction_jobs))) -- if (j->installed) -- transaction_delete_job(m, j, true); -- else { -- transaction_unlink_job(m, j, true); -- job_free(j); -- } -+ transaction_delete_job(m, j, true); - - assert(hashmap_isempty(m->transaction_jobs)); - --- -1.7.7 - - -From 4eb87c1148bd48b5d121297f72aa47eb39482ad3 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 10:21:37 +0200 -Subject: [PATCH 06/30] job: job_uninstall() - -Split the uninstallation of the job from job_free() into a separate function. -Adjust the callers. - -job_free() now only works on unlinked and uninstalled jobs. This enforces clear -thinking about job lifetimes. -(cherry picked from commit 97e7d748d1bf26790fc3b2607885f4ac8c4ecf3a) ---- - src/job.c | 25 ++++++++++++++----------- - src/job.h | 1 + - src/manager.c | 8 ++++++-- - src/unit.c | 7 +++++-- - 4 files changed, 26 insertions(+), 15 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 8e4d93e..35e358d 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -55,22 +55,24 @@ Job* job_new(Manager *m, JobType type, Unit *unit) { - return j; - } - --void job_free(Job *j) { -- assert(j); -- -+void job_uninstall(Job *j) { -+ assert(j->installed); - /* Detach from next 'bigger' objects */ -- if (j->installed) { -- bus_job_send_removed_signal(j); - -- if (j->unit->job == j) { -- j->unit->job = NULL; -- unit_add_to_gc_queue(j->unit); -- } -+ bus_job_send_removed_signal(j); - -- hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); -- j->installed = false; -+ if (j->unit->job == j) { -+ j->unit->job = NULL; -+ unit_add_to_gc_queue(j->unit); - } - -+ hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); -+ j->installed = false; -+} -+ -+void job_free(Job *j) { -+ assert(j); -+ assert(!j->installed); - assert(!j->transaction_prev); - assert(!j->transaction_next); - assert(!j->subject_list); -@@ -491,6 +493,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - - u = j->unit; - t = j->type; -+ job_uninstall(j); - job_free(j); - - job_print_status_message(u, t, result); -diff --git a/src/job.h b/src/job.h -index 60a43e0..ed375fa 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -137,6 +137,7 @@ struct Job { - }; - - Job* job_new(Manager *m, JobType type, Unit *unit); -+void job_uninstall(Job *j); - void job_free(Job *job); - void job_dump(Job *j, FILE*f, const char *prefix); - -diff --git a/src/manager.c b/src/manager.c -index cac1fe8..f8e5d64 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -1249,13 +1249,17 @@ static int transaction_apply(Manager *m, JobMode mode) { - } - - while ((j = hashmap_steal_first(m->transaction_jobs))) { -+ Job *uj; - if (j->installed) { - /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ - continue; - } - -- if (j->unit->job) -- job_free(j->unit->job); -+ uj = j->unit->job; -+ if (uj) { -+ job_uninstall(uj); -+ job_free(uj); -+ } - - j->unit->job = j; - j->installed = true; -diff --git a/src/unit.c b/src/unit.c -index 9e33701..1949995 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -352,8 +352,11 @@ void unit_free(Unit *u) { - SET_FOREACH(t, u->names, i) - hashmap_remove_value(u->manager->units, t, u); - -- if (u->job) -- job_free(u->job); -+ if (u->job) { -+ Job *j = u->job; -+ job_uninstall(j); -+ job_free(j); -+ } - - for (d = 0; d < _UNIT_DEPENDENCY_MAX; d++) - bidi_set_free(u, u->dependencies[d]); --- -1.7.7 - - -From b95d521e3816800bf43d5e11cef58b69b360233d Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 10:22:07 +0200 -Subject: [PATCH 07/30] manager: Transaction as an object - -This makes it obvious that transactions are short-lived. They are created in -manager_add_job() and destroyed after the application of jobs. -It also prepares for a split of the transaction code to a new source. -(cherry picked from commit 7527cb527598aaabf0ed9b38a352edb28536392a) ---- - src/job.c | 8 +- - src/job.h | 4 +- - src/manager.c | 390 +++++++++++++++++++++++++++++++-------------------------- - src/manager.h | 11 +- - 4 files changed, 225 insertions(+), 188 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 35e358d..6d48748 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -97,7 +97,7 @@ void job_free(Job *j) { - free(j); - } - --JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { -+JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr) { - JobDependency *l; - - assert(object); -@@ -118,20 +118,20 @@ JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool - if (subject) - LIST_PREPEND(JobDependency, subject, subject->subject_list, l); - else -- LIST_PREPEND(JobDependency, subject, object->manager->transaction_anchor, l); -+ LIST_PREPEND(JobDependency, subject, tr->anchor, l); - - LIST_PREPEND(JobDependency, object, object->object_list, l); - - return l; - } - --void job_dependency_free(JobDependency *l) { -+void job_dependency_free(JobDependency *l, Transaction *tr) { - assert(l); - - if (l->subject) - LIST_REMOVE(JobDependency, subject, l->subject->subject_list, l); - else -- LIST_REMOVE(JobDependency, subject, l->object->manager->transaction_anchor, l); -+ LIST_REMOVE(JobDependency, subject, tr->anchor, l); - - LIST_REMOVE(JobDependency, object, l->object->object_list, l); - -diff --git a/src/job.h b/src/job.h -index ed375fa..18ba64f 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -141,8 +141,8 @@ void job_uninstall(Job *j); - void job_free(Job *job); - void job_dump(Job *j, FILE*f, const char *prefix); - --JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); --void job_dependency_free(JobDependency *l); -+JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr); -+void job_dependency_free(JobDependency *l, Transaction *tr); - - bool job_is_anchor(Job *j); - -diff --git a/src/manager.c b/src/manager.c -index f8e5d64..ff4249d 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -259,9 +259,6 @@ int manager_new(ManagerRunningAs running_as, Manager **_m) { - if (!(m->jobs = hashmap_new(trivial_hash_func, trivial_compare_func))) - goto fail; - -- if (!(m->transaction_jobs = hashmap_new(trivial_hash_func, trivial_compare_func))) -- goto fail; -- - if (!(m->watch_pids = hashmap_new(trivial_hash_func, trivial_compare_func))) - goto fail; - -@@ -429,14 +426,10 @@ static unsigned manager_dispatch_gc_queue(Manager *m) { - } - - static void manager_clear_jobs_and_units(Manager *m) { -- Job *j; - Unit *u; - - assert(m); - -- while ((j = hashmap_first(m->transaction_jobs))) -- job_free(j); -- - while ((u = hashmap_first(m->units))) - unit_free(u); - -@@ -449,7 +442,6 @@ static void manager_clear_jobs_and_units(Manager *m) { - assert(!m->cleanup_queue); - assert(!m->gc_queue); - -- assert(hashmap_isempty(m->transaction_jobs)); - assert(hashmap_isempty(m->jobs)); - assert(hashmap_isempty(m->units)); - } -@@ -475,7 +467,6 @@ void manager_free(Manager *m) { - - hashmap_free(m->units); - hashmap_free(m->jobs); -- hashmap_free(m->transaction_jobs); - hashmap_free(m->watch_pids); - hashmap_free(m->watch_bus); - -@@ -637,65 +628,47 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - return r; - } - --static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies); -+static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies); - --static void transaction_delete_job(Manager *m, Job *j, bool delete_dependencies) { -- assert(m); -+static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependencies) { -+ assert(tr); - assert(j); - - /* Deletes one job from the transaction */ - -- transaction_unlink_job(m, j, delete_dependencies); -+ transaction_unlink_job(tr, j, delete_dependencies); - - if (!j->installed) - job_free(j); - } - --static void transaction_delete_unit(Manager *m, Unit *u) { -+static void transaction_delete_unit(Transaction *tr, Unit *u) { - Job *j; - - /* Deletes all jobs associated with a certain unit from the - * transaction */ - -- while ((j = hashmap_get(m->transaction_jobs, u))) -- transaction_delete_job(m, j, true); --} -- --static void transaction_clean_dependencies(Manager *m) { -- Iterator i; -- Job *j; -- -- assert(m); -- -- /* Drops all dependencies of all installed jobs */ -- -- HASHMAP_FOREACH(j, m->jobs, i) { -- while (j->subject_list) -- job_dependency_free(j->subject_list); -- while (j->object_list) -- job_dependency_free(j->object_list); -- } -- -- assert(!m->transaction_anchor); -+ while ((j = hashmap_get(tr->jobs, u))) -+ transaction_delete_job(tr, j, true); - } - --static void transaction_abort(Manager *m) { -+static void transaction_abort(Transaction *tr) { - Job *j; - -- assert(m); -+ assert(tr); - -- while ((j = hashmap_first(m->transaction_jobs))) -- transaction_delete_job(m, j, true); -+ while ((j = hashmap_first(tr->jobs))) -+ transaction_delete_job(tr, j, true); - -- assert(hashmap_isempty(m->transaction_jobs)); -+ assert(hashmap_isempty(tr->jobs)); - -- transaction_clean_dependencies(m); -+ assert(!tr->anchor); - } - --static void transaction_find_jobs_that_matter_to_anchor(Manager *m, Job *j, unsigned generation) { -+static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { - JobDependency *l; - -- assert(m); -+ assert(tr); - - /* A recursive sweep through the graph that marks all units - * that matter to the anchor job, i.e. are directly or -@@ -705,7 +678,7 @@ static void transaction_find_jobs_that_matter_to_anchor(Manager *m, Job *j, unsi - if (j) - l = j->subject_list; - else -- l = m->transaction_anchor; -+ l = tr->anchor; - - LIST_FOREACH(subject, l, l) { - -@@ -720,11 +693,11 @@ static void transaction_find_jobs_that_matter_to_anchor(Manager *m, Job *j, unsi - l->object->matters_to_anchor = true; - l->object->generation = generation; - -- transaction_find_jobs_that_matter_to_anchor(m, l->object, generation); -+ transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); - } - } - --static void transaction_merge_and_delete_job(Manager *m, Job *j, Job *other, JobType t) { -+static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other, JobType t) { - JobDependency *l, *last; - - assert(j); -@@ -775,7 +748,7 @@ static void transaction_merge_and_delete_job(Manager *m, Job *j, Job *other, Job - /* Kill the other job */ - other->subject_list = NULL; - other->object_list = NULL; -- transaction_delete_job(m, other, true); -+ transaction_delete_job(tr, other, true); - } - static bool job_is_conflicted_by(Job *j) { - JobDependency *l; -@@ -792,7 +765,7 @@ static bool job_is_conflicted_by(Job *j) { - return false; - } - --static int delete_one_unmergeable_job(Manager *m, Job *j) { -+static int delete_one_unmergeable_job(Transaction *tr, Job *j) { - Job *k; - - assert(j); -@@ -853,23 +826,23 @@ static int delete_one_unmergeable_job(Manager *m, Job *j) { - - /* Ok, we can drop one, so let's do so. */ - log_debug("Fixing conflicting jobs by deleting job %s/%s", d->unit->id, job_type_to_string(d->type)); -- transaction_delete_job(m, d, true); -+ transaction_delete_job(tr, d, true); - return 0; - } - - return -EINVAL; - } - --static int transaction_merge_jobs(Manager *m, DBusError *e) { -+static int transaction_merge_jobs(Transaction *tr, DBusError *e) { - Job *j; - Iterator i; - int r; - -- assert(m); -+ assert(tr); - - /* First step, check whether any of the jobs for one specific - * task conflict. If so, try to drop one of them. */ -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - JobType t; - Job *k; - -@@ -882,7 +855,8 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { - * action. Let's see if we can get rid of one - * of them */ - -- if ((r = delete_one_unmergeable_job(m, j)) >= 0) -+ r = delete_one_unmergeable_job(tr, j); -+ if (r >= 0) - /* Ok, we managed to drop one, now - * let's ask our callers to call us - * again after garbage collecting */ -@@ -896,7 +870,7 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { - } - - /* Second step, merge the jobs. */ -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - JobType t = j->type; - Job *k; - -@@ -910,14 +884,14 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { - - while ((k = j->transaction_next)) { - if (j->installed) { -- transaction_merge_and_delete_job(m, k, j, t); -+ transaction_merge_and_delete_job(tr, k, j, t); - j = k; - } else -- transaction_merge_and_delete_job(m, j, k, t); -+ transaction_merge_and_delete_job(tr, j, k, t); - } - - if (j->unit->job && !j->installed) -- transaction_merge_and_delete_job(m, j, j->unit->job, t); -+ transaction_merge_and_delete_job(tr, j, j->unit->job, t); - - assert(!j->transaction_next); - assert(!j->transaction_prev); -@@ -926,10 +900,10 @@ static int transaction_merge_jobs(Manager *m, DBusError *e) { - return 0; - } - --static void transaction_drop_redundant(Manager *m) { -+static void transaction_drop_redundant(Transaction *tr) { - bool again; - -- assert(m); -+ assert(tr); - - /* Goes through the transaction and removes all jobs that are - * a noop */ -@@ -940,7 +914,7 @@ static void transaction_drop_redundant(Manager *m) { - - again = false; - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - bool changes_something = false; - Job *k; - -@@ -959,7 +933,7 @@ static void transaction_drop_redundant(Manager *m) { - continue; - - /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ -- transaction_delete_job(m, j, false); -+ transaction_delete_job(tr, j, false); - again = true; - break; - } -@@ -981,12 +955,12 @@ static bool unit_matters_to_anchor(Unit *u, Job *j) { - return false; - } - --static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned generation, DBusError *e) { -+static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsigned generation, DBusError *e) { - Iterator i; - Unit *u; - int r; - -- assert(m); -+ assert(tr); - assert(j); - assert(!j->transaction_prev); - -@@ -1033,7 +1007,7 @@ static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned - - if (delete) { - log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); -- transaction_delete_unit(m, delete->unit); -+ transaction_delete_unit(tr, delete->unit); - return -EAGAIN; - } - -@@ -1056,15 +1030,18 @@ static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned - Job *o; - - /* Is there a job for this unit? */ -- if (!(o = hashmap_get(m->transaction_jobs, u))) -- -+ o = hashmap_get(tr->jobs, u); -+ if (!o) { - /* Ok, there is no job for this in the - * transaction, but maybe there is already one - * running? */ -- if (!(o = u->job)) -+ o = u->job; -+ if (!o) - continue; -+ } - -- if ((r = transaction_verify_order_one(m, o, j, generation, e)) < 0) -+ r = transaction_verify_order_one(tr, o, j, generation, e); -+ if (r < 0) - return r; - } - -@@ -1075,13 +1052,13 @@ static int transaction_verify_order_one(Manager *m, Job *j, Job *from, unsigned - return 0; - } - --static int transaction_verify_order(Manager *m, unsigned *generation, DBusError *e) { -+static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusError *e) { - Job *j; - int r; - Iterator i; - unsigned g; - -- assert(m); -+ assert(tr); - assert(generation); - - /* Check if the ordering graph is cyclic. If it is, try to fix -@@ -1089,17 +1066,17 @@ static int transaction_verify_order(Manager *m, unsigned *generation, DBusError - - g = (*generation)++; - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) -- if ((r = transaction_verify_order_one(m, j, NULL, g, e)) < 0) -+ HASHMAP_FOREACH(j, tr->jobs, i) -+ if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0) - return r; - - return 0; - } - --static void transaction_collect_garbage(Manager *m) { -+static void transaction_collect_garbage(Transaction *tr) { - bool again; - -- assert(m); -+ assert(tr); - - /* Drop jobs that are not required by any other job */ - -@@ -1109,7 +1086,7 @@ static void transaction_collect_garbage(Manager *m) { - - again = false; - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - if (j->object_list) { - /* log_debug("Keeping job %s/%s because of %s/%s", */ - /* j->unit->id, job_type_to_string(j->type), */ -@@ -1119,7 +1096,7 @@ static void transaction_collect_garbage(Manager *m) { - } - - /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ -- transaction_delete_job(m, j, true); -+ transaction_delete_job(tr, j, true); - again = true; - break; - } -@@ -1127,16 +1104,16 @@ static void transaction_collect_garbage(Manager *m) { - } while (again); - } - --static int transaction_is_destructive(Manager *m, DBusError *e) { -+static int transaction_is_destructive(Transaction *tr, DBusError *e) { - Iterator i; - Job *j; - -- assert(m); -+ assert(tr); - - /* Checks whether applying this transaction means that - * existing jobs would be replaced */ - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - - /* Assume merged */ - assert(!j->transaction_prev); -@@ -1154,9 +1131,9 @@ static int transaction_is_destructive(Manager *m, DBusError *e) { - return 0; - } - --static void transaction_minimize_impact(Manager *m) { -+static void transaction_minimize_impact(Transaction *tr) { - bool again; -- assert(m); -+ assert(tr); - - /* Drops all unnecessary jobs that reverse already active jobs - * or that stop a running service. */ -@@ -1167,7 +1144,7 @@ static void transaction_minimize_impact(Manager *m) { - - again = false; - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - LIST_FOREACH(transaction, j, j) { - bool stops_running_service, changes_existing_job; - -@@ -1198,7 +1175,7 @@ static void transaction_minimize_impact(Manager *m) { - /* Ok, let's get rid of this */ - log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); - -- transaction_delete_job(m, j, true); -+ transaction_delete_job(tr, j, true); - again = true; - break; - } -@@ -1210,7 +1187,7 @@ static void transaction_minimize_impact(Manager *m) { - } while (again); - } - --static int transaction_apply(Manager *m, JobMode mode) { -+static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - Iterator i; - Job *j; - int r; -@@ -1225,7 +1202,7 @@ static int transaction_apply(Manager *m, JobMode mode) { - HASHMAP_FOREACH(j, m->jobs, i) { - assert(j->installed); - -- if (hashmap_get(m->transaction_jobs, j->unit)) -+ if (hashmap_get(tr->jobs, j->unit)) - continue; - - /* 'j' itself is safe to remove, but if other jobs -@@ -1236,7 +1213,7 @@ static int transaction_apply(Manager *m, JobMode mode) { - } - } - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - /* Assume merged */ - assert(!j->transaction_prev); - assert(!j->transaction_next); -@@ -1244,11 +1221,12 @@ static int transaction_apply(Manager *m, JobMode mode) { - if (j->installed) - continue; - -- if ((r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j)) < 0) -+ r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); -+ if (r < 0) - goto rollback; - } - -- while ((j = hashmap_steal_first(m->transaction_jobs))) { -+ while ((j = hashmap_steal_first(tr->jobs))) { - Job *uj; - if (j->installed) { - /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ -@@ -1271,6 +1249,9 @@ static int transaction_apply(Manager *m, JobMode mode) { - assert(!j->transaction_next); - assert(!j->transaction_prev); - -+ /* Clean the job dependencies */ -+ transaction_unlink_job(tr, j, false); -+ - job_add_to_run_queue(j); - job_add_to_dbus_queue(j); - job_start_timer(j); -@@ -1278,14 +1259,13 @@ static int transaction_apply(Manager *m, JobMode mode) { - log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); - } - -- /* As last step, kill all remaining job dependencies. */ -- transaction_clean_dependencies(m); -+ assert(!tr->anchor); - - return 0; - - rollback: - -- HASHMAP_FOREACH(j, m->transaction_jobs, i) { -+ HASHMAP_FOREACH(j, tr->jobs, i) { - if (j->installed) - continue; - -@@ -1295,41 +1275,42 @@ rollback: - return r; - } - --static int transaction_activate(Manager *m, JobMode mode, DBusError *e) { -+static int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { - int r; - unsigned generation = 1; - -- assert(m); -+ assert(tr); - -- /* This applies the changes recorded in transaction_jobs to -+ /* This applies the changes recorded in tr->jobs to - * the actual list of jobs, if possible. */ - - /* First step: figure out which jobs matter */ -- transaction_find_jobs_that_matter_to_anchor(m, NULL, generation++); -+ transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); - - /* Second step: Try not to stop any running services if - * we don't have to. Don't try to reverse running - * jobs if we don't have to. */ - if (mode == JOB_FAIL) -- transaction_minimize_impact(m); -+ transaction_minimize_impact(tr); - - /* Third step: Drop redundant jobs */ -- transaction_drop_redundant(m); -+ transaction_drop_redundant(tr); - - for (;;) { - /* Fourth step: Let's remove unneeded jobs that might - * be lurking. */ - if (mode != JOB_ISOLATE) -- transaction_collect_garbage(m); -+ transaction_collect_garbage(tr); - - /* Fifth step: verify order makes sense and correct - * cycles if necessary and possible */ -- if ((r = transaction_verify_order(m, &generation, e)) >= 0) -+ r = transaction_verify_order(tr, &generation, e); -+ if (r >= 0) - break; - - if (r != -EAGAIN) { - log_warning("Requested transaction contains an unfixable cyclic ordering dependency: %s", bus_error(e, r)); -- goto rollback; -+ return r; - } - - /* Let's see if the resulting transaction ordering -@@ -1340,60 +1321,60 @@ static int transaction_activate(Manager *m, JobMode mode, DBusError *e) { - /* Sixth step: let's drop unmergeable entries if - * necessary and possible, merge entries we can - * merge */ -- if ((r = transaction_merge_jobs(m, e)) >= 0) -+ r = transaction_merge_jobs(tr, e); -+ if (r >= 0) - break; - - if (r != -EAGAIN) { - log_warning("Requested transaction contains unmergeable jobs: %s", bus_error(e, r)); -- goto rollback; -+ return r; - } - - /* Seventh step: an entry got dropped, let's garbage - * collect its dependencies. */ - if (mode != JOB_ISOLATE) -- transaction_collect_garbage(m); -+ transaction_collect_garbage(tr); - - /* Let's see if the resulting transaction still has - * unmergeable entries ... */ - } - - /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ -- transaction_drop_redundant(m); -+ transaction_drop_redundant(tr); - - /* Ninth step: check whether we can actually apply this */ -- if (mode == JOB_FAIL) -- if ((r = transaction_is_destructive(m, e)) < 0) { -+ if (mode == JOB_FAIL) { -+ r = transaction_is_destructive(tr, e); -+ if (r < 0) { - log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r)); -- goto rollback; -+ return r; - } -+ } - - /* Tenth step: apply changes */ -- if ((r = transaction_apply(m, mode)) < 0) { -+ r = transaction_apply(tr, m, mode); -+ if (r < 0) { - log_warning("Failed to apply transaction: %s", strerror(-r)); -- goto rollback; -+ return r; - } - -- assert(hashmap_isempty(m->transaction_jobs)); -- assert(!m->transaction_anchor); -+ assert(hashmap_isempty(tr->jobs)); -+ assert(!tr->anchor); - - return 0; -- --rollback: -- transaction_abort(m); -- return r; - } - --static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool override, bool *is_new) { -+static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, bool override, bool *is_new) { - Job *j, *f; - -- assert(m); -+ assert(tr); - assert(unit); - - /* Looks for an existing prospective job and returns that. If - * it doesn't exist it is created and added to the prospective - * jobs list. */ - -- f = hashmap_get(m->transaction_jobs, unit); -+ f = hashmap_get(tr->jobs, unit); - - LIST_FOREACH(transaction, j, f) { - assert(j->unit == unit); -@@ -1407,8 +1388,11 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o - - if (unit->job && unit->job->type == type) - j = unit->job; -- else if (!(j = job_new(m, type, unit))) -- return NULL; -+ else { -+ j = job_new(unit->manager, type, unit); -+ if (!j) -+ return NULL; -+ } - - j->generation = 0; - j->marker = NULL; -@@ -1417,7 +1401,7 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o - - LIST_PREPEND(Job, transaction, f, j); - -- if (hashmap_replace(m->transaction_jobs, unit, f) < 0) { -+ if (hashmap_replace(tr->jobs, unit, f) < 0) { - LIST_REMOVE(Job, transaction, f, j); - job_free(j); - return NULL; -@@ -1431,16 +1415,16 @@ static Job* transaction_add_one_job(Manager *m, JobType type, Unit *unit, bool o - return j; - } - --static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) { -- assert(m); -+static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { -+ assert(tr); - assert(j); - - if (j->transaction_prev) - j->transaction_prev->transaction_next = j->transaction_next; - else if (j->transaction_next) -- hashmap_replace(m->transaction_jobs, j->unit, j->transaction_next); -+ hashmap_replace(tr->jobs, j->unit, j->transaction_next); - else -- hashmap_remove_value(m->transaction_jobs, j->unit, j); -+ hashmap_remove_value(tr->jobs, j->unit, j); - - if (j->transaction_next) - j->transaction_next->transaction_prev = j->transaction_prev; -@@ -1448,24 +1432,24 @@ static void transaction_unlink_job(Manager *m, Job *j, bool delete_dependencies) - j->transaction_prev = j->transaction_next = NULL; - - while (j->subject_list) -- job_dependency_free(j->subject_list); -+ job_dependency_free(j->subject_list, tr); - - while (j->object_list) { - Job *other = j->object_list->matters ? j->object_list->subject : NULL; - -- job_dependency_free(j->object_list); -+ job_dependency_free(j->object_list, tr); - - if (other && delete_dependencies) { - log_debug("Deleting job %s/%s as dependency of job %s/%s", - other->unit->id, job_type_to_string(other->type), - j->unit->id, job_type_to_string(j->type)); -- transaction_delete_job(m, other, delete_dependencies); -+ transaction_delete_job(tr, other, delete_dependencies); - } - } - } - - static int transaction_add_job_and_dependencies( -- Manager *m, -+ Transaction *tr, - JobType type, - Unit *unit, - Job *by, -@@ -1482,7 +1466,7 @@ static int transaction_add_job_and_dependencies( - int r; - bool is_new; - -- assert(m); -+ assert(tr); - assert(type < _JOB_TYPE_MAX); - assert(unit); - -@@ -1519,13 +1503,14 @@ static int transaction_add_job_and_dependencies( - } - - /* First add the job. */ -- if (!(ret = transaction_add_one_job(m, type, unit, override, &is_new))) -+ ret = transaction_add_one_job(tr, type, unit, override, &is_new); -+ if (!ret) - return -ENOMEM; - - ret->ignore_order = ret->ignore_order || ignore_order; - - /* Then, add a link to the job. */ -- if (!job_dependency_new(by, ret, matters, conflicts)) -+ if (!job_dependency_new(by, ret, matters, conflicts, tr)) - return -ENOMEM; - - if (is_new && !ignore_requirements) { -@@ -1534,120 +1519,136 @@ static int transaction_add_job_and_dependencies( - /* If we are following some other unit, make sure we - * add all dependencies of everybody following. */ - if (unit_following_set(ret->unit, &following) > 0) { -- SET_FOREACH(dep, following, i) -- if ((r = transaction_add_job_and_dependencies(m, type, dep, ret, false, override, false, false, ignore_order, e, NULL)) < 0) { -+ SET_FOREACH(dep, following, i) { -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); - } -+ } - - set_free(following); - } - - /* Finally, recursively add in all dependencies. */ - if (type == JOB_START || type == JOB_RELOAD_OR_START) { -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - if (r != -EBADR) - goto fail; - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { -- -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - if (r != -EBADR) - goto fail; - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL)) < 0) { -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL)) < 0) { -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); -+ if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { -- -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - if (r != -EBADR) - goto fail; - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL)) < 0) { -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL)) < 0) { -- -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); -+ if (r < 0) { - if (r != -EBADR) - goto fail; - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) -- if ((r = transaction_add_job_and_dependencies(m, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL)) < 0) { -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); - } -+ } - - } - - if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) -- if ((r = transaction_add_job_and_dependencies(m, type, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { -- -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - if (r != -EBADR) - goto fail; - - if (e) - dbus_error_free(e); - } -+ } - -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) -- if ((r = transaction_add_job_and_dependencies(m, type, dep, ret, true, override, false, false, ignore_order, e, NULL)) < 0) { -- -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { - if (r != -EBADR) - goto fail; - - if (e) - dbus_error_free(e); - } -+ } - } - - if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { -- r = transaction_add_job_and_dependencies(m, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); -- -+ r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); - if (r < 0) { - log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -1669,12 +1670,13 @@ fail: - return r; - } - --static int transaction_add_isolate_jobs(Manager *m) { -+static int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { - Iterator i; - Unit *u; - char *k; - int r; - -+ assert(tr); - assert(m); - - HASHMAP_FOREACH_KEY(u, k, m->units, i) { -@@ -1691,19 +1693,43 @@ static int transaction_add_isolate_jobs(Manager *m) { - continue; - - /* Is there already something listed for this? */ -- if (hashmap_get(m->transaction_jobs, u)) -+ if (hashmap_get(tr->jobs, u)) - continue; - -- if ((r = transaction_add_job_and_dependencies(m, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL)) < 0) -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); -+ if (r < 0) - log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); - } - - return 0; - } - -+static Transaction *transaction_new(void) { -+ Transaction *tr; -+ -+ tr = new0(Transaction, 1); -+ if (!tr) -+ return NULL; -+ -+ tr->jobs = hashmap_new(trivial_hash_func, trivial_compare_func); -+ if (!tr->jobs) { -+ free(tr); -+ return NULL; -+ } -+ -+ return tr; -+} -+ -+static void transaction_free(Transaction *tr) { -+ assert(hashmap_isempty(tr->jobs)); -+ hashmap_free(tr->jobs); -+ free(tr); -+} -+ - int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { - int r; - Job *ret; -+ Transaction *tr; - - assert(m); - assert(type < _JOB_TYPE_MAX); -@@ -1722,28 +1748,38 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove - - log_debug("Trying to enqueue job %s/%s/%s", unit->id, job_type_to_string(type), job_mode_to_string(mode)); - -- if ((r = transaction_add_job_and_dependencies(m, type, unit, NULL, true, override, false, -- mode == JOB_IGNORE_DEPENDENCIES || mode == JOB_IGNORE_REQUIREMENTS, -- mode == JOB_IGNORE_DEPENDENCIES, e, &ret)) < 0) { -- transaction_abort(m); -- return r; -- } -+ tr = transaction_new(); -+ if (!tr) -+ return -ENOMEM; - -- if (mode == JOB_ISOLATE) -- if ((r = transaction_add_isolate_jobs(m)) < 0) { -- transaction_abort(m); -- return r; -- } -+ r = transaction_add_job_and_dependencies(tr, type, unit, NULL, true, override, false, -+ mode == JOB_IGNORE_DEPENDENCIES || mode == JOB_IGNORE_REQUIREMENTS, -+ mode == JOB_IGNORE_DEPENDENCIES, e, &ret); -+ if (r < 0) -+ goto tr_abort; - -- if ((r = transaction_activate(m, mode, e)) < 0) -- return r; -+ if (mode == JOB_ISOLATE) { -+ r = transaction_add_isolate_jobs(tr, m); -+ if (r < 0) -+ goto tr_abort; -+ } -+ -+ r = transaction_activate(tr, m, mode, e); -+ if (r < 0) -+ goto tr_abort; - - log_debug("Enqueued job %s/%s as %u", unit->id, job_type_to_string(type), (unsigned) ret->id); - - if (_ret) - *_ret = ret; - -+ transaction_free(tr); - return 0; -+ -+tr_abort: -+ transaction_abort(tr); -+ transaction_free(tr); -+ return r; - } - - int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, bool override, DBusError *e, Job **_ret) { -@@ -1907,8 +1943,6 @@ void manager_clear_jobs(Manager *m) { - - assert(m); - -- transaction_abort(m); -- - while ((j = hashmap_first(m->jobs))) - job_finish_and_invalidate(j, JOB_CANCELED); - } -diff --git a/src/manager.h b/src/manager.h -index 64d8d0e..b982d7e 100644 ---- a/src/manager.h -+++ b/src/manager.h -@@ -33,6 +33,7 @@ - #define MANAGER_MAX_NAMES 131072 /* 128K */ - - typedef struct Manager Manager; -+typedef struct Transaction Transaction; - typedef enum WatchType WatchType; - typedef struct Watch Watch; - -@@ -91,6 +92,12 @@ struct Watch { - #include "dbus.h" - #include "path-lookup.h" - -+struct Transaction { -+ /* Jobs to be added */ -+ Hashmap *jobs; /* Unit object => Job object list 1:1 */ -+ JobDependency *anchor; -+}; -+ - struct Manager { - /* Note that the set of units we know of is allowed to be - * inconsistent. However the subset of it that is loaded may -@@ -123,10 +130,6 @@ struct Manager { - /* Units to check when doing GC */ - LIST_HEAD(Unit, gc_queue); - -- /* Jobs to be added */ -- Hashmap *transaction_jobs; /* Unit object => Job object list 1:1 */ -- JobDependency *transaction_anchor; -- - Hashmap *watch_pids; /* pid => Unit object n:1 */ - - char *notify_socket; --- -1.7.7 - - -From e617c9a330b60d070e3db57c1f86f3c579e03f0c Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 19 Apr 2012 23:54:11 +0200 -Subject: [PATCH 08/30] manager: split transaction.[ch] - -manager.c takes care of the main loop, unit management, signal handling, ... -transaction.c computes transactions. - -After split: -manager.c: 65 KB -transaction.c: 40 KB -(cherry picked from commit 75778e21dfeee51036d24501e39ea7398fabe502) - -Conflicts: - - Makefile.am - src/manager.c ---- - Makefile.am | 2 + - src/job.h | 1 + - src/manager.c | 1099 +---------------------------------------------------- - src/manager.h | 7 - - src/transaction.c | 1101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/transaction.h | 36 ++ - 6 files changed, 1141 insertions(+), 1105 deletions(-) - create mode 100644 src/transaction.c - create mode 100644 src/transaction.h - -diff --git a/Makefile.am b/Makefile.am -index 079c118..45a0b10 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -483,6 +483,7 @@ libsystemd_core_la_SOURCES = \ - src/unit.c \ - src/job.c \ - src/manager.c \ -+ src/transaction.c \ - src/path-lookup.c \ - src/load-fragment.c \ - src/service.c \ -@@ -579,6 +580,7 @@ EXTRA_DIST += \ - src/unit.h \ - src/job.h \ - src/manager.h \ -+ src/transaction.h \ - src/path-lookup.h \ - src/load-fragment.h \ - src/service.h \ -diff --git a/src/job.h b/src/job.h -index 18ba64f..efb0af9 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -34,6 +34,7 @@ typedef enum JobMode JobMode; - typedef enum JobResult JobResult; - - #include "manager.h" -+#include "transaction.h" - #include "unit.h" - #include "hashmap.h" - #include "list.h" -diff --git a/src/manager.c b/src/manager.c -index ff4249d..a129b88 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -44,6 +44,7 @@ - #include - - #include "manager.h" -+#include "transaction.h" - #include "hashmap.h" - #include "macro.h" - #include "strv.h" -@@ -628,1104 +629,6 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - return r; - } - --static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies); -- --static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependencies) { -- assert(tr); -- assert(j); -- -- /* Deletes one job from the transaction */ -- -- transaction_unlink_job(tr, j, delete_dependencies); -- -- if (!j->installed) -- job_free(j); --} -- --static void transaction_delete_unit(Transaction *tr, Unit *u) { -- Job *j; -- -- /* Deletes all jobs associated with a certain unit from the -- * transaction */ -- -- while ((j = hashmap_get(tr->jobs, u))) -- transaction_delete_job(tr, j, true); --} -- --static void transaction_abort(Transaction *tr) { -- Job *j; -- -- assert(tr); -- -- while ((j = hashmap_first(tr->jobs))) -- transaction_delete_job(tr, j, true); -- -- assert(hashmap_isempty(tr->jobs)); -- -- assert(!tr->anchor); --} -- --static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { -- JobDependency *l; -- -- assert(tr); -- -- /* A recursive sweep through the graph that marks all units -- * that matter to the anchor job, i.e. are directly or -- * indirectly a dependency of the anchor job via paths that -- * are fully marked as mattering. */ -- -- if (j) -- l = j->subject_list; -- else -- l = tr->anchor; -- -- LIST_FOREACH(subject, l, l) { -- -- /* This link does not matter */ -- if (!l->matters) -- continue; -- -- /* This unit has already been marked */ -- if (l->object->generation == generation) -- continue; -- -- l->object->matters_to_anchor = true; -- l->object->generation = generation; -- -- transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); -- } --} -- --static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other, JobType t) { -- JobDependency *l, *last; -- -- assert(j); -- assert(other); -- assert(j->unit == other->unit); -- assert(!j->installed); -- -- /* Merges 'other' into 'j' and then deletes j. */ -- -- j->type = t; -- j->state = JOB_WAITING; -- j->override = j->override || other->override; -- -- j->matters_to_anchor = j->matters_to_anchor || other->matters_to_anchor; -- -- /* Patch us in as new owner of the JobDependency objects */ -- last = NULL; -- LIST_FOREACH(subject, l, other->subject_list) { -- assert(l->subject == other); -- l->subject = j; -- last = l; -- } -- -- /* Merge both lists */ -- if (last) { -- last->subject_next = j->subject_list; -- if (j->subject_list) -- j->subject_list->subject_prev = last; -- j->subject_list = other->subject_list; -- } -- -- /* Patch us in as new owner of the JobDependency objects */ -- last = NULL; -- LIST_FOREACH(object, l, other->object_list) { -- assert(l->object == other); -- l->object = j; -- last = l; -- } -- -- /* Merge both lists */ -- if (last) { -- last->object_next = j->object_list; -- if (j->object_list) -- j->object_list->object_prev = last; -- j->object_list = other->object_list; -- } -- -- /* Kill the other job */ -- other->subject_list = NULL; -- other->object_list = NULL; -- transaction_delete_job(tr, other, true); --} --static bool job_is_conflicted_by(Job *j) { -- JobDependency *l; -- -- assert(j); -- -- /* Returns true if this job is pulled in by a least one -- * ConflictedBy dependency. */ -- -- LIST_FOREACH(object, l, j->object_list) -- if (l->conflicts) -- return true; -- -- return false; --} -- --static int delete_one_unmergeable_job(Transaction *tr, Job *j) { -- Job *k; -- -- assert(j); -- -- /* Tries to delete one item in the linked list -- * j->transaction_next->transaction_next->... that conflicts -- * with another one, in an attempt to make an inconsistent -- * transaction work. */ -- -- /* We rely here on the fact that if a merged with b does not -- * merge with c, either a or b merge with c neither */ -- LIST_FOREACH(transaction, j, j) -- LIST_FOREACH(transaction, k, j->transaction_next) { -- Job *d; -- -- /* Is this one mergeable? Then skip it */ -- if (job_type_is_mergeable(j->type, k->type)) -- continue; -- -- /* Ok, we found two that conflict, let's see if we can -- * drop one of them */ -- if (!j->matters_to_anchor && !k->matters_to_anchor) { -- -- /* Both jobs don't matter, so let's -- * find the one that is smarter to -- * remove. Let's think positive and -- * rather remove stops then starts -- -- * except if something is being -- * stopped because it is conflicted by -- * another unit in which case we -- * rather remove the start. */ -- -- log_debug("Looking at job %s/%s conflicted_by=%s", j->unit->id, job_type_to_string(j->type), yes_no(j->type == JOB_STOP && job_is_conflicted_by(j))); -- log_debug("Looking at job %s/%s conflicted_by=%s", k->unit->id, job_type_to_string(k->type), yes_no(k->type == JOB_STOP && job_is_conflicted_by(k))); -- -- if (j->type == JOB_STOP) { -- -- if (job_is_conflicted_by(j)) -- d = k; -- else -- d = j; -- -- } else if (k->type == JOB_STOP) { -- -- if (job_is_conflicted_by(k)) -- d = j; -- else -- d = k; -- } else -- d = j; -- -- } else if (!j->matters_to_anchor) -- d = j; -- else if (!k->matters_to_anchor) -- d = k; -- else -- return -ENOEXEC; -- -- /* Ok, we can drop one, so let's do so. */ -- log_debug("Fixing conflicting jobs by deleting job %s/%s", d->unit->id, job_type_to_string(d->type)); -- transaction_delete_job(tr, d, true); -- return 0; -- } -- -- return -EINVAL; --} -- --static int transaction_merge_jobs(Transaction *tr, DBusError *e) { -- Job *j; -- Iterator i; -- int r; -- -- assert(tr); -- -- /* First step, check whether any of the jobs for one specific -- * task conflict. If so, try to drop one of them. */ -- HASHMAP_FOREACH(j, tr->jobs, i) { -- JobType t; -- Job *k; -- -- t = j->type; -- LIST_FOREACH(transaction, k, j->transaction_next) { -- if (job_type_merge(&t, k->type) >= 0) -- continue; -- -- /* OK, we could not merge all jobs for this -- * action. Let's see if we can get rid of one -- * of them */ -- -- r = delete_one_unmergeable_job(tr, j); -- if (r >= 0) -- /* Ok, we managed to drop one, now -- * let's ask our callers to call us -- * again after garbage collecting */ -- return -EAGAIN; -- -- /* We couldn't merge anything. Failure */ -- dbus_set_error(e, BUS_ERROR_TRANSACTION_JOBS_CONFLICTING, "Transaction contains conflicting jobs '%s' and '%s' for %s. Probably contradicting requirement dependencies configured.", -- job_type_to_string(t), job_type_to_string(k->type), k->unit->id); -- return r; -- } -- } -- -- /* Second step, merge the jobs. */ -- HASHMAP_FOREACH(j, tr->jobs, i) { -- JobType t = j->type; -- Job *k; -- -- /* Merge all transactions */ -- LIST_FOREACH(transaction, k, j->transaction_next) -- assert_se(job_type_merge(&t, k->type) == 0); -- -- /* If an active job is mergeable, merge it too */ -- if (j->unit->job) -- job_type_merge(&t, j->unit->job->type); /* Might fail. Which is OK */ -- -- while ((k = j->transaction_next)) { -- if (j->installed) { -- transaction_merge_and_delete_job(tr, k, j, t); -- j = k; -- } else -- transaction_merge_and_delete_job(tr, j, k, t); -- } -- -- if (j->unit->job && !j->installed) -- transaction_merge_and_delete_job(tr, j, j->unit->job, t); -- -- assert(!j->transaction_next); -- assert(!j->transaction_prev); -- } -- -- return 0; --} -- --static void transaction_drop_redundant(Transaction *tr) { -- bool again; -- -- assert(tr); -- -- /* Goes through the transaction and removes all jobs that are -- * a noop */ -- -- do { -- Job *j; -- Iterator i; -- -- again = false; -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- bool changes_something = false; -- Job *k; -- -- LIST_FOREACH(transaction, k, j) { -- -- if (!job_is_anchor(k) && -- (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && -- (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) -- continue; -- -- changes_something = true; -- break; -- } -- -- if (changes_something) -- continue; -- -- /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ -- transaction_delete_job(tr, j, false); -- again = true; -- break; -- } -- -- } while (again); --} -- --static bool unit_matters_to_anchor(Unit *u, Job *j) { -- assert(u); -- assert(!j->transaction_prev); -- -- /* Checks whether at least one of the jobs for this unit -- * matters to the anchor. */ -- -- LIST_FOREACH(transaction, j, j) -- if (j->matters_to_anchor) -- return true; -- -- return false; --} -- --static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsigned generation, DBusError *e) { -- Iterator i; -- Unit *u; -- int r; -- -- assert(tr); -- assert(j); -- assert(!j->transaction_prev); -- -- /* Does a recursive sweep through the ordering graph, looking -- * for a cycle. If we find cycle we try to break it. */ -- -- /* Have we seen this before? */ -- if (j->generation == generation) { -- Job *k, *delete; -- -- /* If the marker is NULL we have been here already and -- * decided the job was loop-free from here. Hence -- * shortcut things and return right-away. */ -- if (!j->marker) -- return 0; -- -- /* So, the marker is not NULL and we already have been -- * here. We have a cycle. Let's try to break it. We go -- * backwards in our path and try to find a suitable -- * job to remove. We use the marker to find our way -- * back, since smart how we are we stored our way back -- * in there. */ -- log_warning("Found ordering cycle on %s/%s", j->unit->id, job_type_to_string(j->type)); -- -- delete = NULL; -- for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { -- -- log_info("Walked on cycle path to %s/%s", k->unit->id, job_type_to_string(k->type)); -- -- if (!delete && -- !k->installed && -- !unit_matters_to_anchor(k->unit, k)) { -- /* Ok, we can drop this one, so let's -- * do so. */ -- delete = k; -- } -- -- /* Check if this in fact was the beginning of -- * the cycle */ -- if (k == j) -- break; -- } -- -- -- if (delete) { -- log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); -- transaction_delete_unit(tr, delete->unit); -- return -EAGAIN; -- } -- -- log_error("Unable to break cycle"); -- -- dbus_set_error(e, BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC, "Transaction order is cyclic. See system logs for details."); -- return -ENOEXEC; -- } -- -- /* Make the marker point to where we come from, so that we can -- * find our way backwards if we want to break a cycle. We use -- * a special marker for the beginning: we point to -- * ourselves. */ -- j->marker = from ? from : j; -- j->generation = generation; -- -- /* We assume that the the dependencies are bidirectional, and -- * hence can ignore UNIT_AFTER */ -- SET_FOREACH(u, j->unit->dependencies[UNIT_BEFORE], i) { -- Job *o; -- -- /* Is there a job for this unit? */ -- o = hashmap_get(tr->jobs, u); -- if (!o) { -- /* Ok, there is no job for this in the -- * transaction, but maybe there is already one -- * running? */ -- o = u->job; -- if (!o) -- continue; -- } -- -- r = transaction_verify_order_one(tr, o, j, generation, e); -- if (r < 0) -- return r; -- } -- -- /* Ok, let's backtrack, and remember that this entry is not on -- * our path anymore. */ -- j->marker = NULL; -- -- return 0; --} -- --static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusError *e) { -- Job *j; -- int r; -- Iterator i; -- unsigned g; -- -- assert(tr); -- assert(generation); -- -- /* Check if the ordering graph is cyclic. If it is, try to fix -- * that up by dropping one of the jobs. */ -- -- g = (*generation)++; -- -- HASHMAP_FOREACH(j, tr->jobs, i) -- if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0) -- return r; -- -- return 0; --} -- --static void transaction_collect_garbage(Transaction *tr) { -- bool again; -- -- assert(tr); -- -- /* Drop jobs that are not required by any other job */ -- -- do { -- Iterator i; -- Job *j; -- -- again = false; -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- if (j->object_list) { -- /* log_debug("Keeping job %s/%s because of %s/%s", */ -- /* j->unit->id, job_type_to_string(j->type), */ -- /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ -- /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ -- continue; -- } -- -- /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ -- transaction_delete_job(tr, j, true); -- again = true; -- break; -- } -- -- } while (again); --} -- --static int transaction_is_destructive(Transaction *tr, DBusError *e) { -- Iterator i; -- Job *j; -- -- assert(tr); -- -- /* Checks whether applying this transaction means that -- * existing jobs would be replaced */ -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- -- /* Assume merged */ -- assert(!j->transaction_prev); -- assert(!j->transaction_next); -- -- if (j->unit->job && -- j->unit->job != j && -- !job_type_is_superset(j->type, j->unit->job->type)) { -- -- dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); -- return -EEXIST; -- } -- } -- -- return 0; --} -- --static void transaction_minimize_impact(Transaction *tr) { -- bool again; -- assert(tr); -- -- /* Drops all unnecessary jobs that reverse already active jobs -- * or that stop a running service. */ -- -- do { -- Job *j; -- Iterator i; -- -- again = false; -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- LIST_FOREACH(transaction, j, j) { -- bool stops_running_service, changes_existing_job; -- -- /* If it matters, we shouldn't drop it */ -- if (j->matters_to_anchor) -- continue; -- -- /* Would this stop a running service? -- * Would this change an existing job? -- * If so, let's drop this entry */ -- -- stops_running_service = -- j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); -- -- changes_existing_job = -- j->unit->job && -- job_type_is_conflicting(j->type, j->unit->job->type); -- -- if (!stops_running_service && !changes_existing_job) -- continue; -- -- if (stops_running_service) -- log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); -- -- if (changes_existing_job) -- log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); -- -- /* Ok, let's get rid of this */ -- log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); -- -- transaction_delete_job(tr, j, true); -- again = true; -- break; -- } -- -- if (again) -- break; -- } -- -- } while (again); --} -- --static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { -- Iterator i; -- Job *j; -- int r; -- -- /* Moves the transaction jobs to the set of active jobs */ -- -- if (mode == JOB_ISOLATE) { -- -- /* When isolating first kill all installed jobs which -- * aren't part of the new transaction */ -- rescan: -- HASHMAP_FOREACH(j, m->jobs, i) { -- assert(j->installed); -- -- if (hashmap_get(tr->jobs, j->unit)) -- continue; -- -- /* 'j' itself is safe to remove, but if other jobs -- are invalidated recursively, our iterator may become -- invalid and we need to start over. */ -- if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) -- goto rescan; -- } -- } -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- /* Assume merged */ -- assert(!j->transaction_prev); -- assert(!j->transaction_next); -- -- if (j->installed) -- continue; -- -- r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); -- if (r < 0) -- goto rollback; -- } -- -- while ((j = hashmap_steal_first(tr->jobs))) { -- Job *uj; -- if (j->installed) { -- /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ -- continue; -- } -- -- uj = j->unit->job; -- if (uj) { -- job_uninstall(uj); -- job_free(uj); -- } -- -- j->unit->job = j; -- j->installed = true; -- m->n_installed_jobs ++; -- -- /* We're fully installed. Now let's free data we don't -- * need anymore. */ -- -- assert(!j->transaction_next); -- assert(!j->transaction_prev); -- -- /* Clean the job dependencies */ -- transaction_unlink_job(tr, j, false); -- -- job_add_to_run_queue(j); -- job_add_to_dbus_queue(j); -- job_start_timer(j); -- -- log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); -- } -- -- assert(!tr->anchor); -- -- return 0; -- --rollback: -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- if (j->installed) -- continue; -- -- hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); -- } -- -- return r; --} -- --static int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { -- int r; -- unsigned generation = 1; -- -- assert(tr); -- -- /* This applies the changes recorded in tr->jobs to -- * the actual list of jobs, if possible. */ -- -- /* First step: figure out which jobs matter */ -- transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); -- -- /* Second step: Try not to stop any running services if -- * we don't have to. Don't try to reverse running -- * jobs if we don't have to. */ -- if (mode == JOB_FAIL) -- transaction_minimize_impact(tr); -- -- /* Third step: Drop redundant jobs */ -- transaction_drop_redundant(tr); -- -- for (;;) { -- /* Fourth step: Let's remove unneeded jobs that might -- * be lurking. */ -- if (mode != JOB_ISOLATE) -- transaction_collect_garbage(tr); -- -- /* Fifth step: verify order makes sense and correct -- * cycles if necessary and possible */ -- r = transaction_verify_order(tr, &generation, e); -- if (r >= 0) -- break; -- -- if (r != -EAGAIN) { -- log_warning("Requested transaction contains an unfixable cyclic ordering dependency: %s", bus_error(e, r)); -- return r; -- } -- -- /* Let's see if the resulting transaction ordering -- * graph is still cyclic... */ -- } -- -- for (;;) { -- /* Sixth step: let's drop unmergeable entries if -- * necessary and possible, merge entries we can -- * merge */ -- r = transaction_merge_jobs(tr, e); -- if (r >= 0) -- break; -- -- if (r != -EAGAIN) { -- log_warning("Requested transaction contains unmergeable jobs: %s", bus_error(e, r)); -- return r; -- } -- -- /* Seventh step: an entry got dropped, let's garbage -- * collect its dependencies. */ -- if (mode != JOB_ISOLATE) -- transaction_collect_garbage(tr); -- -- /* Let's see if the resulting transaction still has -- * unmergeable entries ... */ -- } -- -- /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ -- transaction_drop_redundant(tr); -- -- /* Ninth step: check whether we can actually apply this */ -- if (mode == JOB_FAIL) { -- r = transaction_is_destructive(tr, e); -- if (r < 0) { -- log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r)); -- return r; -- } -- } -- -- /* Tenth step: apply changes */ -- r = transaction_apply(tr, m, mode); -- if (r < 0) { -- log_warning("Failed to apply transaction: %s", strerror(-r)); -- return r; -- } -- -- assert(hashmap_isempty(tr->jobs)); -- assert(!tr->anchor); -- -- return 0; --} -- --static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, bool override, bool *is_new) { -- Job *j, *f; -- -- assert(tr); -- assert(unit); -- -- /* Looks for an existing prospective job and returns that. If -- * it doesn't exist it is created and added to the prospective -- * jobs list. */ -- -- f = hashmap_get(tr->jobs, unit); -- -- LIST_FOREACH(transaction, j, f) { -- assert(j->unit == unit); -- -- if (j->type == type) { -- if (is_new) -- *is_new = false; -- return j; -- } -- } -- -- if (unit->job && unit->job->type == type) -- j = unit->job; -- else { -- j = job_new(unit->manager, type, unit); -- if (!j) -- return NULL; -- } -- -- j->generation = 0; -- j->marker = NULL; -- j->matters_to_anchor = false; -- j->override = override; -- -- LIST_PREPEND(Job, transaction, f, j); -- -- if (hashmap_replace(tr->jobs, unit, f) < 0) { -- LIST_REMOVE(Job, transaction, f, j); -- job_free(j); -- return NULL; -- } -- -- if (is_new) -- *is_new = true; -- -- /* log_debug("Added job %s/%s to transaction.", unit->id, job_type_to_string(type)); */ -- -- return j; --} -- --static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { -- assert(tr); -- assert(j); -- -- if (j->transaction_prev) -- j->transaction_prev->transaction_next = j->transaction_next; -- else if (j->transaction_next) -- hashmap_replace(tr->jobs, j->unit, j->transaction_next); -- else -- hashmap_remove_value(tr->jobs, j->unit, j); -- -- if (j->transaction_next) -- j->transaction_next->transaction_prev = j->transaction_prev; -- -- j->transaction_prev = j->transaction_next = NULL; -- -- while (j->subject_list) -- job_dependency_free(j->subject_list, tr); -- -- while (j->object_list) { -- Job *other = j->object_list->matters ? j->object_list->subject : NULL; -- -- job_dependency_free(j->object_list, tr); -- -- if (other && delete_dependencies) { -- log_debug("Deleting job %s/%s as dependency of job %s/%s", -- other->unit->id, job_type_to_string(other->type), -- j->unit->id, job_type_to_string(j->type)); -- transaction_delete_job(tr, other, delete_dependencies); -- } -- } --} -- --static int transaction_add_job_and_dependencies( -- Transaction *tr, -- JobType type, -- Unit *unit, -- Job *by, -- bool matters, -- bool override, -- bool conflicts, -- bool ignore_requirements, -- bool ignore_order, -- DBusError *e, -- Job **_ret) { -- Job *ret; -- Iterator i; -- Unit *dep; -- int r; -- bool is_new; -- -- assert(tr); -- assert(type < _JOB_TYPE_MAX); -- assert(unit); -- -- /* log_debug("Pulling in %s/%s from %s/%s", */ -- /* unit->id, job_type_to_string(type), */ -- /* by ? by->unit->id : "NA", */ -- /* by ? job_type_to_string(by->type) : "NA"); */ -- -- if (unit->load_state != UNIT_LOADED && -- unit->load_state != UNIT_ERROR && -- unit->load_state != UNIT_MASKED) { -- dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s is not loaded properly.", unit->id); -- return -EINVAL; -- } -- -- if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { -- dbus_set_error(e, BUS_ERROR_LOAD_FAILED, -- "Unit %s failed to load: %s. " -- "See system logs and 'systemctl status %s' for details.", -- unit->id, -- strerror(-unit->load_error), -- unit->id); -- return -EINVAL; -- } -- -- if (type != JOB_STOP && unit->load_state == UNIT_MASKED) { -- dbus_set_error(e, BUS_ERROR_MASKED, "Unit %s is masked.", unit->id); -- return -EINVAL; -- } -- -- if (!unit_job_is_applicable(unit, type)) { -- dbus_set_error(e, BUS_ERROR_JOB_TYPE_NOT_APPLICABLE, "Job type %s is not applicable for unit %s.", job_type_to_string(type), unit->id); -- return -EBADR; -- } -- -- /* First add the job. */ -- ret = transaction_add_one_job(tr, type, unit, override, &is_new); -- if (!ret) -- return -ENOMEM; -- -- ret->ignore_order = ret->ignore_order || ignore_order; -- -- /* Then, add a link to the job. */ -- if (!job_dependency_new(by, ret, matters, conflicts, tr)) -- return -ENOMEM; -- -- if (is_new && !ignore_requirements) { -- Set *following; -- -- /* If we are following some other unit, make sure we -- * add all dependencies of everybody following. */ -- if (unit_following_set(ret->unit, &following) > 0) { -- SET_FOREACH(dep, following, i) { -- r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- set_free(following); -- } -- -- /* Finally, recursively add in all dependencies. */ -- if (type == JOB_START || type == JOB_RELOAD_OR_START) { -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- if (r != -EBADR) -- goto fail; -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- if (r != -EBADR) -- goto fail; -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); -- if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- if (r != -EBADR) -- goto fail; -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); -- if (r < 0) { -- if (r != -EBADR) -- goto fail; -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- } -- -- if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { -- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- if (r != -EBADR) -- goto fail; -- -- if (e) -- dbus_error_free(e); -- } -- } -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { -- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- if (r != -EBADR) -- goto fail; -- -- if (e) -- dbus_error_free(e); -- } -- } -- } -- -- if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { -- -- SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); -- if (r < 0) { -- log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -- -- if (e) -- dbus_error_free(e); -- } -- } -- } -- -- /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ -- } -- -- if (_ret) -- *_ret = ret; -- -- return 0; -- --fail: -- return r; --} -- --static int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { -- Iterator i; -- Unit *u; -- char *k; -- int r; -- -- assert(tr); -- assert(m); -- -- HASHMAP_FOREACH_KEY(u, k, m->units, i) { -- -- /* ignore aliases */ -- if (u->id != k) -- continue; -- -- if (u->ignore_on_isolate) -- continue; -- -- /* No need to stop inactive jobs */ -- if (UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(u)) && !u->job) -- continue; -- -- /* Is there already something listed for this? */ -- if (hashmap_get(tr->jobs, u)) -- continue; -- -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); -- if (r < 0) -- log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); -- } -- -- return 0; --} -- --static Transaction *transaction_new(void) { -- Transaction *tr; -- -- tr = new0(Transaction, 1); -- if (!tr) -- return NULL; -- -- tr->jobs = hashmap_new(trivial_hash_func, trivial_compare_func); -- if (!tr->jobs) { -- free(tr); -- return NULL; -- } -- -- return tr; --} -- --static void transaction_free(Transaction *tr) { -- assert(hashmap_isempty(tr->jobs)); -- hashmap_free(tr->jobs); -- free(tr); --} -- - int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { - int r; - Job *ret; -diff --git a/src/manager.h b/src/manager.h -index b982d7e..915f6fc 100644 ---- a/src/manager.h -+++ b/src/manager.h -@@ -33,7 +33,6 @@ - #define MANAGER_MAX_NAMES 131072 /* 128K */ - - typedef struct Manager Manager; --typedef struct Transaction Transaction; - typedef enum WatchType WatchType; - typedef struct Watch Watch; - -@@ -92,12 +91,6 @@ struct Watch { - #include "dbus.h" - #include "path-lookup.h" - --struct Transaction { -- /* Jobs to be added */ -- Hashmap *jobs; /* Unit object => Job object list 1:1 */ -- JobDependency *anchor; --}; -- - struct Manager { - /* Note that the set of units we know of is allowed to be - * inconsistent. However the subset of it that is loaded may -diff --git a/src/transaction.c b/src/transaction.c -new file mode 100644 -index 0000000..8fa89a7 ---- /dev/null -+++ b/src/transaction.c -@@ -0,0 +1,1101 @@ -+#include "transaction.h" -+#include "bus-errors.h" -+ -+static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies); -+ -+static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependencies) { -+ assert(tr); -+ assert(j); -+ -+ /* Deletes one job from the transaction */ -+ -+ transaction_unlink_job(tr, j, delete_dependencies); -+ -+ if (!j->installed) -+ job_free(j); -+} -+ -+static void transaction_delete_unit(Transaction *tr, Unit *u) { -+ Job *j; -+ -+ /* Deletes all jobs associated with a certain unit from the -+ * transaction */ -+ -+ while ((j = hashmap_get(tr->jobs, u))) -+ transaction_delete_job(tr, j, true); -+} -+ -+void transaction_abort(Transaction *tr) { -+ Job *j; -+ -+ assert(tr); -+ -+ while ((j = hashmap_first(tr->jobs))) -+ transaction_delete_job(tr, j, true); -+ -+ assert(hashmap_isempty(tr->jobs)); -+ -+ assert(!tr->anchor); -+} -+ -+static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { -+ JobDependency *l; -+ -+ assert(tr); -+ -+ /* A recursive sweep through the graph that marks all units -+ * that matter to the anchor job, i.e. are directly or -+ * indirectly a dependency of the anchor job via paths that -+ * are fully marked as mattering. */ -+ -+ if (j) -+ l = j->subject_list; -+ else -+ l = tr->anchor; -+ -+ LIST_FOREACH(subject, l, l) { -+ -+ /* This link does not matter */ -+ if (!l->matters) -+ continue; -+ -+ /* This unit has already been marked */ -+ if (l->object->generation == generation) -+ continue; -+ -+ l->object->matters_to_anchor = true; -+ l->object->generation = generation; -+ -+ transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); -+ } -+} -+ -+static void transaction_merge_and_delete_job(Transaction *tr, Job *j, Job *other, JobType t) { -+ JobDependency *l, *last; -+ -+ assert(j); -+ assert(other); -+ assert(j->unit == other->unit); -+ assert(!j->installed); -+ -+ /* Merges 'other' into 'j' and then deletes 'other'. */ -+ -+ j->type = t; -+ j->state = JOB_WAITING; -+ j->override = j->override || other->override; -+ -+ j->matters_to_anchor = j->matters_to_anchor || other->matters_to_anchor; -+ -+ /* Patch us in as new owner of the JobDependency objects */ -+ last = NULL; -+ LIST_FOREACH(subject, l, other->subject_list) { -+ assert(l->subject == other); -+ l->subject = j; -+ last = l; -+ } -+ -+ /* Merge both lists */ -+ if (last) { -+ last->subject_next = j->subject_list; -+ if (j->subject_list) -+ j->subject_list->subject_prev = last; -+ j->subject_list = other->subject_list; -+ } -+ -+ /* Patch us in as new owner of the JobDependency objects */ -+ last = NULL; -+ LIST_FOREACH(object, l, other->object_list) { -+ assert(l->object == other); -+ l->object = j; -+ last = l; -+ } -+ -+ /* Merge both lists */ -+ if (last) { -+ last->object_next = j->object_list; -+ if (j->object_list) -+ j->object_list->object_prev = last; -+ j->object_list = other->object_list; -+ } -+ -+ /* Kill the other job */ -+ other->subject_list = NULL; -+ other->object_list = NULL; -+ transaction_delete_job(tr, other, true); -+} -+ -+static bool job_is_conflicted_by(Job *j) { -+ JobDependency *l; -+ -+ assert(j); -+ -+ /* Returns true if this job is pulled in by a least one -+ * ConflictedBy dependency. */ -+ -+ LIST_FOREACH(object, l, j->object_list) -+ if (l->conflicts) -+ return true; -+ -+ return false; -+} -+ -+static int delete_one_unmergeable_job(Transaction *tr, Job *j) { -+ Job *k; -+ -+ assert(j); -+ -+ /* Tries to delete one item in the linked list -+ * j->transaction_next->transaction_next->... that conflicts -+ * with another one, in an attempt to make an inconsistent -+ * transaction work. */ -+ -+ /* We rely here on the fact that if a merged with b does not -+ * merge with c, either a or b merge with c neither */ -+ LIST_FOREACH(transaction, j, j) -+ LIST_FOREACH(transaction, k, j->transaction_next) { -+ Job *d; -+ -+ /* Is this one mergeable? Then skip it */ -+ if (job_type_is_mergeable(j->type, k->type)) -+ continue; -+ -+ /* Ok, we found two that conflict, let's see if we can -+ * drop one of them */ -+ if (!j->matters_to_anchor && !k->matters_to_anchor) { -+ -+ /* Both jobs don't matter, so let's -+ * find the one that is smarter to -+ * remove. Let's think positive and -+ * rather remove stops then starts -- -+ * except if something is being -+ * stopped because it is conflicted by -+ * another unit in which case we -+ * rather remove the start. */ -+ -+ log_debug("Looking at job %s/%s conflicted_by=%s", j->unit->id, job_type_to_string(j->type), yes_no(j->type == JOB_STOP && job_is_conflicted_by(j))); -+ log_debug("Looking at job %s/%s conflicted_by=%s", k->unit->id, job_type_to_string(k->type), yes_no(k->type == JOB_STOP && job_is_conflicted_by(k))); -+ -+ if (j->type == JOB_STOP) { -+ -+ if (job_is_conflicted_by(j)) -+ d = k; -+ else -+ d = j; -+ -+ } else if (k->type == JOB_STOP) { -+ -+ if (job_is_conflicted_by(k)) -+ d = j; -+ else -+ d = k; -+ } else -+ d = j; -+ -+ } else if (!j->matters_to_anchor) -+ d = j; -+ else if (!k->matters_to_anchor) -+ d = k; -+ else -+ return -ENOEXEC; -+ -+ /* Ok, we can drop one, so let's do so. */ -+ log_debug("Fixing conflicting jobs by deleting job %s/%s", d->unit->id, job_type_to_string(d->type)); -+ transaction_delete_job(tr, d, true); -+ return 0; -+ } -+ -+ return -EINVAL; -+} -+ -+static int transaction_merge_jobs(Transaction *tr, DBusError *e) { -+ Job *j; -+ Iterator i; -+ int r; -+ -+ assert(tr); -+ -+ /* First step, check whether any of the jobs for one specific -+ * task conflict. If so, try to drop one of them. */ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ JobType t; -+ Job *k; -+ -+ t = j->type; -+ LIST_FOREACH(transaction, k, j->transaction_next) { -+ if (job_type_merge(&t, k->type) >= 0) -+ continue; -+ -+ /* OK, we could not merge all jobs for this -+ * action. Let's see if we can get rid of one -+ * of them */ -+ -+ r = delete_one_unmergeable_job(tr, j); -+ if (r >= 0) -+ /* Ok, we managed to drop one, now -+ * let's ask our callers to call us -+ * again after garbage collecting */ -+ return -EAGAIN; -+ -+ /* We couldn't merge anything. Failure */ -+ dbus_set_error(e, BUS_ERROR_TRANSACTION_JOBS_CONFLICTING, "Transaction contains conflicting jobs '%s' and '%s' for %s. Probably contradicting requirement dependencies configured.", -+ job_type_to_string(t), job_type_to_string(k->type), k->unit->id); -+ return r; -+ } -+ } -+ -+ /* Second step, merge the jobs. */ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ JobType t = j->type; -+ Job *k; -+ -+ /* Merge all transactions */ -+ LIST_FOREACH(transaction, k, j->transaction_next) -+ assert_se(job_type_merge(&t, k->type) == 0); -+ -+ /* If an active job is mergeable, merge it too */ -+ if (j->unit->job) -+ job_type_merge(&t, j->unit->job->type); /* Might fail. Which is OK */ -+ -+ while ((k = j->transaction_next)) { -+ if (j->installed) { -+ transaction_merge_and_delete_job(tr, k, j, t); -+ j = k; -+ } else -+ transaction_merge_and_delete_job(tr, j, k, t); -+ } -+ -+ if (j->unit->job && !j->installed) -+ transaction_merge_and_delete_job(tr, j, j->unit->job, t); -+ -+ assert(!j->transaction_next); -+ assert(!j->transaction_prev); -+ } -+ -+ return 0; -+} -+ -+static void transaction_drop_redundant(Transaction *tr) { -+ bool again; -+ -+ assert(tr); -+ -+ /* Goes through the transaction and removes all jobs that are -+ * a noop */ -+ -+ do { -+ Job *j; -+ Iterator i; -+ -+ again = false; -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ bool changes_something = false; -+ Job *k; -+ -+ LIST_FOREACH(transaction, k, j) { -+ -+ if (!job_is_anchor(k) && -+ (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && -+ (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) -+ continue; -+ -+ changes_something = true; -+ break; -+ } -+ -+ if (changes_something) -+ continue; -+ -+ /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ -+ transaction_delete_job(tr, j, false); -+ again = true; -+ break; -+ } -+ -+ } while (again); -+} -+ -+static bool unit_matters_to_anchor(Unit *u, Job *j) { -+ assert(u); -+ assert(!j->transaction_prev); -+ -+ /* Checks whether at least one of the jobs for this unit -+ * matters to the anchor. */ -+ -+ LIST_FOREACH(transaction, j, j) -+ if (j->matters_to_anchor) -+ return true; -+ -+ return false; -+} -+ -+static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsigned generation, DBusError *e) { -+ Iterator i; -+ Unit *u; -+ int r; -+ -+ assert(tr); -+ assert(j); -+ assert(!j->transaction_prev); -+ -+ /* Does a recursive sweep through the ordering graph, looking -+ * for a cycle. If we find cycle we try to break it. */ -+ -+ /* Have we seen this before? */ -+ if (j->generation == generation) { -+ Job *k, *delete; -+ -+ /* If the marker is NULL we have been here already and -+ * decided the job was loop-free from here. Hence -+ * shortcut things and return right-away. */ -+ if (!j->marker) -+ return 0; -+ -+ /* So, the marker is not NULL and we already have been -+ * here. We have a cycle. Let's try to break it. We go -+ * backwards in our path and try to find a suitable -+ * job to remove. We use the marker to find our way -+ * back, since smart how we are we stored our way back -+ * in there. */ -+ log_warning("Found ordering cycle on %s/%s", j->unit->id, job_type_to_string(j->type)); -+ -+ delete = NULL; -+ for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { -+ -+ log_info("Walked on cycle path to %s/%s", k->unit->id, job_type_to_string(k->type)); -+ -+ if (!delete && -+ !k->installed && -+ !unit_matters_to_anchor(k->unit, k)) { -+ /* Ok, we can drop this one, so let's -+ * do so. */ -+ delete = k; -+ } -+ -+ /* Check if this in fact was the beginning of -+ * the cycle */ -+ if (k == j) -+ break; -+ } -+ -+ -+ if (delete) { -+ log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); -+ transaction_delete_unit(tr, delete->unit); -+ return -EAGAIN; -+ } -+ -+ log_error("Unable to break cycle"); -+ -+ dbus_set_error(e, BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC, "Transaction order is cyclic. See system logs for details."); -+ return -ENOEXEC; -+ } -+ -+ /* Make the marker point to where we come from, so that we can -+ * find our way backwards if we want to break a cycle. We use -+ * a special marker for the beginning: we point to -+ * ourselves. */ -+ j->marker = from ? from : j; -+ j->generation = generation; -+ -+ /* We assume that the the dependencies are bidirectional, and -+ * hence can ignore UNIT_AFTER */ -+ SET_FOREACH(u, j->unit->dependencies[UNIT_BEFORE], i) { -+ Job *o; -+ -+ /* Is there a job for this unit? */ -+ o = hashmap_get(tr->jobs, u); -+ if (!o) { -+ /* Ok, there is no job for this in the -+ * transaction, but maybe there is already one -+ * running? */ -+ o = u->job; -+ if (!o) -+ continue; -+ } -+ -+ r = transaction_verify_order_one(tr, o, j, generation, e); -+ if (r < 0) -+ return r; -+ } -+ -+ /* Ok, let's backtrack, and remember that this entry is not on -+ * our path anymore. */ -+ j->marker = NULL; -+ -+ return 0; -+} -+ -+static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusError *e) { -+ Job *j; -+ int r; -+ Iterator i; -+ unsigned g; -+ -+ assert(tr); -+ assert(generation); -+ -+ /* Check if the ordering graph is cyclic. If it is, try to fix -+ * that up by dropping one of the jobs. */ -+ -+ g = (*generation)++; -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) -+ if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0) -+ return r; -+ -+ return 0; -+} -+ -+static void transaction_collect_garbage(Transaction *tr) { -+ bool again; -+ -+ assert(tr); -+ -+ /* Drop jobs that are not required by any other job */ -+ -+ do { -+ Iterator i; -+ Job *j; -+ -+ again = false; -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ if (j->object_list) { -+ /* log_debug("Keeping job %s/%s because of %s/%s", */ -+ /* j->unit->id, job_type_to_string(j->type), */ -+ /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ -+ /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ -+ continue; -+ } -+ -+ /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ -+ transaction_delete_job(tr, j, true); -+ again = true; -+ break; -+ } -+ -+ } while (again); -+} -+ -+static int transaction_is_destructive(Transaction *tr, DBusError *e) { -+ Iterator i; -+ Job *j; -+ -+ assert(tr); -+ -+ /* Checks whether applying this transaction means that -+ * existing jobs would be replaced */ -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ -+ /* Assume merged */ -+ assert(!j->transaction_prev); -+ assert(!j->transaction_next); -+ -+ if (j->unit->job && -+ j->unit->job != j && -+ !job_type_is_superset(j->type, j->unit->job->type)) { -+ -+ dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); -+ return -EEXIST; -+ } -+ } -+ -+ return 0; -+} -+ -+static void transaction_minimize_impact(Transaction *tr) { -+ bool again; -+ assert(tr); -+ -+ /* Drops all unnecessary jobs that reverse already active jobs -+ * or that stop a running service. */ -+ -+ do { -+ Job *j; -+ Iterator i; -+ -+ again = false; -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ LIST_FOREACH(transaction, j, j) { -+ bool stops_running_service, changes_existing_job; -+ -+ /* If it matters, we shouldn't drop it */ -+ if (j->matters_to_anchor) -+ continue; -+ -+ /* Would this stop a running service? -+ * Would this change an existing job? -+ * If so, let's drop this entry */ -+ -+ stops_running_service = -+ j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); -+ -+ changes_existing_job = -+ j->unit->job && -+ job_type_is_conflicting(j->type, j->unit->job->type); -+ -+ if (!stops_running_service && !changes_existing_job) -+ continue; -+ -+ if (stops_running_service) -+ log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); -+ -+ if (changes_existing_job) -+ log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); -+ -+ /* Ok, let's get rid of this */ -+ log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); -+ -+ transaction_delete_job(tr, j, true); -+ again = true; -+ break; -+ } -+ -+ if (again) -+ break; -+ } -+ -+ } while (again); -+} -+ -+static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { -+ Iterator i; -+ Job *j; -+ int r; -+ -+ /* Moves the transaction jobs to the set of active jobs */ -+ -+ if (mode == JOB_ISOLATE) { -+ -+ /* When isolating first kill all installed jobs which -+ * aren't part of the new transaction */ -+ rescan: -+ HASHMAP_FOREACH(j, m->jobs, i) { -+ assert(j->installed); -+ -+ if (hashmap_get(tr->jobs, j->unit)) -+ continue; -+ -+ /* 'j' itself is safe to remove, but if other jobs -+ are invalidated recursively, our iterator may become -+ invalid and we need to start over. */ -+ if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) -+ goto rescan; -+ } -+ } -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ /* Assume merged */ -+ assert(!j->transaction_prev); -+ assert(!j->transaction_next); -+ -+ if (j->installed) -+ continue; -+ -+ r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); -+ if (r < 0) -+ goto rollback; -+ } -+ -+ while ((j = hashmap_steal_first(tr->jobs))) { -+ Job *uj; -+ if (j->installed) { -+ /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ -+ continue; -+ } -+ -+ uj = j->unit->job; -+ if (uj) { -+ job_uninstall(uj); -+ job_free(uj); -+ } -+ -+ j->unit->job = j; -+ j->installed = true; -+ m->n_installed_jobs ++; -+ -+ /* We're fully installed. Now let's free data we don't -+ * need anymore. */ -+ -+ assert(!j->transaction_next); -+ assert(!j->transaction_prev); -+ -+ /* Clean the job dependencies */ -+ transaction_unlink_job(tr, j, false); -+ -+ job_add_to_run_queue(j); -+ job_add_to_dbus_queue(j); -+ job_start_timer(j); -+ -+ log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); -+ } -+ -+ assert(!tr->anchor); -+ -+ return 0; -+ -+rollback: -+ -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ if (j->installed) -+ continue; -+ -+ hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); -+ } -+ -+ return r; -+} -+ -+int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { -+ int r; -+ unsigned generation = 1; -+ -+ assert(tr); -+ -+ /* This applies the changes recorded in tr->jobs to -+ * the actual list of jobs, if possible. */ -+ -+ /* First step: figure out which jobs matter */ -+ transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); -+ -+ /* Second step: Try not to stop any running services if -+ * we don't have to. Don't try to reverse running -+ * jobs if we don't have to. */ -+ if (mode == JOB_FAIL) -+ transaction_minimize_impact(tr); -+ -+ /* Third step: Drop redundant jobs */ -+ transaction_drop_redundant(tr); -+ -+ for (;;) { -+ /* Fourth step: Let's remove unneeded jobs that might -+ * be lurking. */ -+ if (mode != JOB_ISOLATE) -+ transaction_collect_garbage(tr); -+ -+ /* Fifth step: verify order makes sense and correct -+ * cycles if necessary and possible */ -+ r = transaction_verify_order(tr, &generation, e); -+ if (r >= 0) -+ break; -+ -+ if (r != -EAGAIN) { -+ log_warning("Requested transaction contains an unfixable cyclic ordering dependency: %s", bus_error(e, r)); -+ return r; -+ } -+ -+ /* Let's see if the resulting transaction ordering -+ * graph is still cyclic... */ -+ } -+ -+ for (;;) { -+ /* Sixth step: let's drop unmergeable entries if -+ * necessary and possible, merge entries we can -+ * merge */ -+ r = transaction_merge_jobs(tr, e); -+ if (r >= 0) -+ break; -+ -+ if (r != -EAGAIN) { -+ log_warning("Requested transaction contains unmergeable jobs: %s", bus_error(e, r)); -+ return r; -+ } -+ -+ /* Seventh step: an entry got dropped, let's garbage -+ * collect its dependencies. */ -+ if (mode != JOB_ISOLATE) -+ transaction_collect_garbage(tr); -+ -+ /* Let's see if the resulting transaction still has -+ * unmergeable entries ... */ -+ } -+ -+ /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ -+ transaction_drop_redundant(tr); -+ -+ /* Ninth step: check whether we can actually apply this */ -+ if (mode == JOB_FAIL) { -+ r = transaction_is_destructive(tr, e); -+ if (r < 0) { -+ log_notice("Requested transaction contradicts existing jobs: %s", bus_error(e, r)); -+ return r; -+ } -+ } -+ -+ /* Tenth step: apply changes */ -+ r = transaction_apply(tr, m, mode); -+ if (r < 0) { -+ log_warning("Failed to apply transaction: %s", strerror(-r)); -+ return r; -+ } -+ -+ assert(hashmap_isempty(tr->jobs)); -+ assert(!tr->anchor); -+ -+ return 0; -+} -+ -+static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, bool override, bool *is_new) { -+ Job *j, *f; -+ -+ assert(tr); -+ assert(unit); -+ -+ /* Looks for an existing prospective job and returns that. If -+ * it doesn't exist it is created and added to the prospective -+ * jobs list. */ -+ -+ f = hashmap_get(tr->jobs, unit); -+ -+ LIST_FOREACH(transaction, j, f) { -+ assert(j->unit == unit); -+ -+ if (j->type == type) { -+ if (is_new) -+ *is_new = false; -+ return j; -+ } -+ } -+ -+ if (unit->job && unit->job->type == type) -+ j = unit->job; -+ else { -+ j = job_new(unit->manager, type, unit); -+ if (!j) -+ return NULL; -+ } -+ -+ j->generation = 0; -+ j->marker = NULL; -+ j->matters_to_anchor = false; -+ j->override = override; -+ -+ LIST_PREPEND(Job, transaction, f, j); -+ -+ if (hashmap_replace(tr->jobs, unit, f) < 0) { -+ LIST_REMOVE(Job, transaction, f, j); -+ job_free(j); -+ return NULL; -+ } -+ -+ if (is_new) -+ *is_new = true; -+ -+ /* log_debug("Added job %s/%s to transaction.", unit->id, job_type_to_string(type)); */ -+ -+ return j; -+} -+ -+static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { -+ assert(tr); -+ assert(j); -+ -+ if (j->transaction_prev) -+ j->transaction_prev->transaction_next = j->transaction_next; -+ else if (j->transaction_next) -+ hashmap_replace(tr->jobs, j->unit, j->transaction_next); -+ else -+ hashmap_remove_value(tr->jobs, j->unit, j); -+ -+ if (j->transaction_next) -+ j->transaction_next->transaction_prev = j->transaction_prev; -+ -+ j->transaction_prev = j->transaction_next = NULL; -+ -+ while (j->subject_list) -+ job_dependency_free(j->subject_list, tr); -+ -+ while (j->object_list) { -+ Job *other = j->object_list->matters ? j->object_list->subject : NULL; -+ -+ job_dependency_free(j->object_list, tr); -+ -+ if (other && delete_dependencies) { -+ log_debug("Deleting job %s/%s as dependency of job %s/%s", -+ other->unit->id, job_type_to_string(other->type), -+ j->unit->id, job_type_to_string(j->type)); -+ transaction_delete_job(tr, other, delete_dependencies); -+ } -+ } -+} -+ -+int transaction_add_job_and_dependencies( -+ Transaction *tr, -+ JobType type, -+ Unit *unit, -+ Job *by, -+ bool matters, -+ bool override, -+ bool conflicts, -+ bool ignore_requirements, -+ bool ignore_order, -+ DBusError *e, -+ Job **_ret) { -+ Job *ret; -+ Iterator i; -+ Unit *dep; -+ int r; -+ bool is_new; -+ -+ assert(tr); -+ assert(type < _JOB_TYPE_MAX); -+ assert(unit); -+ -+ /* log_debug("Pulling in %s/%s from %s/%s", */ -+ /* unit->id, job_type_to_string(type), */ -+ /* by ? by->unit->id : "NA", */ -+ /* by ? job_type_to_string(by->type) : "NA"); */ -+ -+ if (unit->load_state != UNIT_LOADED && -+ unit->load_state != UNIT_ERROR && -+ unit->load_state != UNIT_MASKED) { -+ dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s is not loaded properly.", unit->id); -+ return -EINVAL; -+ } -+ -+ if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { -+ dbus_set_error(e, BUS_ERROR_LOAD_FAILED, -+ "Unit %s failed to load: %s. " -+ "See system logs and 'systemctl status %s' for details.", -+ unit->id, -+ strerror(-unit->load_error), -+ unit->id); -+ return -EINVAL; -+ } -+ -+ if (type != JOB_STOP && unit->load_state == UNIT_MASKED) { -+ dbus_set_error(e, BUS_ERROR_MASKED, "Unit %s is masked.", unit->id); -+ return -EINVAL; -+ } -+ -+ if (!unit_job_is_applicable(unit, type)) { -+ dbus_set_error(e, BUS_ERROR_JOB_TYPE_NOT_APPLICABLE, "Job type %s is not applicable for unit %s.", job_type_to_string(type), unit->id); -+ return -EBADR; -+ } -+ -+ /* First add the job. */ -+ ret = transaction_add_one_job(tr, type, unit, override, &is_new); -+ if (!ret) -+ return -ENOMEM; -+ -+ ret->ignore_order = ret->ignore_order || ignore_order; -+ -+ /* Then, add a link to the job. */ -+ if (!job_dependency_new(by, ret, matters, conflicts, tr)) -+ return -ENOMEM; -+ -+ if (is_new && !ignore_requirements) { -+ Set *following; -+ -+ /* If we are following some other unit, make sure we -+ * add all dependencies of everybody following. */ -+ if (unit_following_set(ret->unit, &following) > 0) { -+ SET_FOREACH(dep, following, i) { -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ set_free(following); -+ } -+ -+ /* Finally, recursively add in all dependencies. */ -+ if (type == JOB_START || type == JOB_RELOAD_OR_START) { -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ if (r != -EBADR) -+ goto fail; -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ if (r != -EBADR) -+ goto fail; -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ if (r != -EBADR) -+ goto fail; -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); -+ if (r < 0) { -+ if (r != -EBADR) -+ goto fail; -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ } -+ -+ if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ if (r != -EBADR) -+ goto fail; -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ if (r != -EBADR) -+ goto fail; -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ } -+ -+ if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { -+ -+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { -+ r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ if (r < 0) { -+ log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ -+ if (e) -+ dbus_error_free(e); -+ } -+ } -+ } -+ -+ /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ -+ } -+ -+ if (_ret) -+ *_ret = ret; -+ -+ return 0; -+ -+fail: -+ return r; -+} -+ -+int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { -+ Iterator i; -+ Unit *u; -+ char *k; -+ int r; -+ -+ assert(tr); -+ assert(m); -+ -+ HASHMAP_FOREACH_KEY(u, k, m->units, i) { -+ -+ /* ignore aliases */ -+ if (u->id != k) -+ continue; -+ -+ if (u->ignore_on_isolate) -+ continue; -+ -+ /* No need to stop inactive jobs */ -+ if (UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(u)) && !u->job) -+ continue; -+ -+ /* Is there already something listed for this? */ -+ if (hashmap_get(tr->jobs, u)) -+ continue; -+ -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); -+ if (r < 0) -+ log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); -+ } -+ -+ return 0; -+} -+ -+Transaction *transaction_new(void) { -+ Transaction *tr; -+ -+ tr = new0(Transaction, 1); -+ if (!tr) -+ return NULL; -+ -+ tr->jobs = hashmap_new(trivial_hash_func, trivial_compare_func); -+ if (!tr->jobs) { -+ free(tr); -+ return NULL; -+ } -+ -+ return tr; -+} -+ -+void transaction_free(Transaction *tr) { -+ assert(hashmap_isempty(tr->jobs)); -+ hashmap_free(tr->jobs); -+ free(tr); -+} -diff --git a/src/transaction.h b/src/transaction.h -new file mode 100644 -index 0000000..d519ffb ---- /dev/null -+++ b/src/transaction.h -@@ -0,0 +1,36 @@ -+#ifndef footransactionhfoo -+#define footransactionhfoo -+ -+typedef struct Transaction Transaction; -+ -+#include "unit.h" -+#include "manager.h" -+#include "job.h" -+#include "hashmap.h" -+ -+struct Transaction { -+ /* Jobs to be added */ -+ Hashmap *jobs; /* Unit object => Job object list 1:1 */ -+ JobDependency *anchor; -+}; -+ -+Transaction *transaction_new(void); -+void transaction_free(Transaction *tr); -+ -+int transaction_add_job_and_dependencies( -+ Transaction *tr, -+ JobType type, -+ Unit *unit, -+ Job *by, -+ bool matters, -+ bool override, -+ bool conflicts, -+ bool ignore_requirements, -+ bool ignore_order, -+ DBusError *e, -+ Job **_ret); -+int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e); -+int transaction_add_isolate_jobs(Transaction *tr, Manager *m); -+void transaction_abort(Transaction *tr); -+ -+#endif --- -1.7.7 - - -From bd61057f3d44d7bb4e279310a16646eb8ab9bb8c Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 18 Apr 2012 01:39:20 +0200 -Subject: [PATCH 09/30] job: job_new() can find the manager from the unit - (cherry picked from commit - 668ad332a404736474749cbcc8404af3e4447170) - ---- - src/job.c | 7 +++---- - src/job.h | 2 +- - src/transaction.c | 2 +- - 3 files changed, 5 insertions(+), 6 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 6d48748..c30bfda 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -33,18 +33,17 @@ - #include "log.h" - #include "dbus-job.h" - --Job* job_new(Manager *m, JobType type, Unit *unit) { -+Job* job_new(Unit *unit, JobType type) { - Job *j; - -- assert(m); - assert(type < _JOB_TYPE_MAX); - assert(unit); - - if (!(j = new0(Job, 1))) - return NULL; - -- j->manager = m; -- j->id = m->current_job_id++; -+ j->manager = unit->manager; -+ j->id = j->manager->current_job_id++; - j->type = type; - j->unit = unit; - -diff --git a/src/job.h b/src/job.h -index efb0af9..faa10e3 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -137,7 +137,7 @@ struct Job { - bool ignore_order:1; - }; - --Job* job_new(Manager *m, JobType type, Unit *unit); -+Job* job_new(Unit *unit, JobType type); - void job_uninstall(Job *j); - void job_free(Job *job); - void job_dump(Job *j, FILE*f, const char *prefix); -diff --git a/src/transaction.c b/src/transaction.c -index 8fa89a7..1344e2f 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -763,7 +763,7 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b - if (unit->job && unit->job->type == type) - j = unit->job; - else { -- j = job_new(unit->manager, type, unit); -+ j = job_new(unit, type); - if (!j) - return NULL; - } --- -1.7.7 - - -From 0d6df78cb48dfbd1c37444ee3702ba59d87ca352 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 18 Apr 2012 15:21:24 +0200 -Subject: [PATCH 10/30] job: jobs shouldn't need to know about transaction - anchors - -Let the transactions maintain their own anchor links. -(cherry picked from commit 1da4264fbd0fa5e6b1bd5e0ac4674a3503774369) ---- - src/job.c | 8 ++------ - src/job.h | 5 ++--- - src/transaction.c | 18 +++++++++++++++--- - 3 files changed, 19 insertions(+), 12 deletions(-) - -diff --git a/src/job.c b/src/job.c -index c30bfda..a5ce2d4 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -96,7 +96,7 @@ void job_free(Job *j) { - free(j); - } - --JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr) { -+JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { - JobDependency *l; - - assert(object); -@@ -116,21 +116,17 @@ JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool - - if (subject) - LIST_PREPEND(JobDependency, subject, subject->subject_list, l); -- else -- LIST_PREPEND(JobDependency, subject, tr->anchor, l); - - LIST_PREPEND(JobDependency, object, object->object_list, l); - - return l; - } - --void job_dependency_free(JobDependency *l, Transaction *tr) { -+void job_dependency_free(JobDependency *l) { - assert(l); - - if (l->subject) - LIST_REMOVE(JobDependency, subject, l->subject->subject_list, l); -- else -- LIST_REMOVE(JobDependency, subject, tr->anchor, l); - - LIST_REMOVE(JobDependency, object, l->object->object_list, l); - -diff --git a/src/job.h b/src/job.h -index faa10e3..cbd10c5 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -34,7 +34,6 @@ typedef enum JobMode JobMode; - typedef enum JobResult JobResult; - - #include "manager.h" --#include "transaction.h" - #include "unit.h" - #include "hashmap.h" - #include "list.h" -@@ -142,8 +141,8 @@ void job_uninstall(Job *j); - void job_free(Job *job); - void job_dump(Job *j, FILE*f, const char *prefix); - --JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts, Transaction *tr); --void job_dependency_free(JobDependency *l, Transaction *tr); -+JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); -+void job_dependency_free(JobDependency *l); - - bool job_is_anchor(Job *j); - -diff --git a/src/transaction.c b/src/transaction.c -index 1344e2f..2a6f1de 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -789,6 +789,12 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b - return j; - } - -+static void transaction_job_dependency_free(Transaction *tr, JobDependency *l) { -+ if (!l->subject) -+ LIST_REMOVE(JobDependency, subject, tr->anchor, l); -+ job_dependency_free(l); -+} -+ - static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { - assert(tr); - assert(j); -@@ -806,12 +812,12 @@ static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependen - j->transaction_prev = j->transaction_next = NULL; - - while (j->subject_list) -- job_dependency_free(j->subject_list, tr); -+ transaction_job_dependency_free(tr, j->subject_list); - - while (j->object_list) { - Job *other = j->object_list->matters ? j->object_list->subject : NULL; - -- job_dependency_free(j->object_list, tr); -+ transaction_job_dependency_free(tr, j->object_list); - - if (other && delete_dependencies) { - log_debug("Deleting job %s/%s as dependency of job %s/%s", -@@ -835,6 +841,7 @@ int transaction_add_job_and_dependencies( - DBusError *e, - Job **_ret) { - Job *ret; -+ JobDependency *l; - Iterator i; - Unit *dep; - int r; -@@ -884,9 +891,14 @@ int transaction_add_job_and_dependencies( - ret->ignore_order = ret->ignore_order || ignore_order; - - /* Then, add a link to the job. */ -- if (!job_dependency_new(by, ret, matters, conflicts, tr)) -+ l = job_dependency_new(by, ret, matters, conflicts); -+ if (!l) - return -ENOMEM; - -+ /* If the link has no subject job, it's the anchor link. */ -+ if (!by) -+ LIST_PREPEND(JobDependency, subject, tr->anchor, l); -+ - if (is_new && !ignore_requirements) { - Set *following; - --- -1.7.7 - - -From 0799fe0aa4a9e74a0a11cedeb76a630c6db853d5 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 18 Apr 2012 18:15:49 +0200 -Subject: [PATCH 11/30] transaction: do not add installed jobs to the - transaction - -Do not attempt to optimize away the job creation by refering to installed jobs. -We do not want to disturb installed jobs until commiting the transaction. - -(A later patch to job merging will make the separation of transaction jobs and -installed jobs complete.) -(cherry picked from commit 3c956cfee29fe2642fbe257f55adb3583a4af878) ---- - src/transaction.c | 10 +++------- - 1 files changed, 3 insertions(+), 7 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index 2a6f1de..c00dd45 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -760,13 +760,9 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b - } - } - -- if (unit->job && unit->job->type == type) -- j = unit->job; -- else { -- j = job_new(unit, type); -- if (!j) -- return NULL; -- } -+ j = job_new(unit, type); -+ if (!j) -+ return NULL; - - j->generation = 0; - j->marker = NULL; --- -1.7.7 - - -From 7f60fce10d4c111bcd274d0fcd83a0139b53a9bc Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 00:33:26 +0200 -Subject: [PATCH 12/30] transaction: maintain anchor_job - -Track which job is the anchor in the transaction. -(cherry picked from commit b94fbd30781d7533492cec65bf7d86fa19a1a074) ---- - src/manager.c | 7 +++---- - src/transaction.c | 37 ++++++++++++++++++------------------- - src/transaction.h | 4 ++-- - 3 files changed, 23 insertions(+), 25 deletions(-) - -diff --git a/src/manager.c b/src/manager.c -index a129b88..86ec858 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -631,7 +631,6 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - - int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { - int r; -- Job *ret; - Transaction *tr; - - assert(m); -@@ -657,7 +656,7 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove - - r = transaction_add_job_and_dependencies(tr, type, unit, NULL, true, override, false, - mode == JOB_IGNORE_DEPENDENCIES || mode == JOB_IGNORE_REQUIREMENTS, -- mode == JOB_IGNORE_DEPENDENCIES, e, &ret); -+ mode == JOB_IGNORE_DEPENDENCIES, e); - if (r < 0) - goto tr_abort; - -@@ -671,10 +670,10 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove - if (r < 0) - goto tr_abort; - -- log_debug("Enqueued job %s/%s as %u", unit->id, job_type_to_string(type), (unsigned) ret->id); -+ log_debug("Enqueued job %s/%s as %u", unit->id, job_type_to_string(type), (unsigned) tr->anchor_job->id); - - if (_ret) -- *_ret = ret; -+ *_ret = tr->anchor_job; - - transaction_free(tr); - return 0; -diff --git a/src/transaction.c b/src/transaction.c -index c00dd45..d7ecfdb 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -834,8 +834,7 @@ int transaction_add_job_and_dependencies( - bool conflicts, - bool ignore_requirements, - bool ignore_order, -- DBusError *e, -- Job **_ret) { -+ DBusError *e) { - Job *ret; - JobDependency *l; - Iterator i; -@@ -892,8 +891,11 @@ int transaction_add_job_and_dependencies( - return -ENOMEM; - - /* If the link has no subject job, it's the anchor link. */ -- if (!by) -+ if (!by) { - LIST_PREPEND(JobDependency, subject, tr->anchor, l); -+ if (!tr->anchor_job) -+ tr->anchor_job = ret; -+ } - - if (is_new && !ignore_requirements) { - Set *following; -@@ -902,7 +904,7 @@ int transaction_add_job_and_dependencies( - * add all dependencies of everybody following. */ - if (unit_following_set(ret->unit, &following) > 0) { - SET_FOREACH(dep, following, i) { -- r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, false, override, false, false, ignore_order, e); - if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -917,7 +919,7 @@ int transaction_add_job_and_dependencies( - /* Finally, recursively add in all dependencies. */ - if (type == JOB_START || type == JOB_RELOAD_OR_START) { - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) - goto fail; -@@ -928,7 +930,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_BIND_TO], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) - goto fail; -@@ -939,7 +941,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e); - if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -949,7 +951,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e); - if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -959,7 +961,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) - goto fail; -@@ -970,7 +972,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e); - if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -980,7 +982,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTS], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, override, true, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) - goto fail; -@@ -991,7 +993,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONFLICTED_BY], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, false, override, false, false, ignore_order, e); - if (r < 0) { - log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -1005,7 +1007,7 @@ int transaction_add_job_and_dependencies( - if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { -- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) - goto fail; -@@ -1016,7 +1018,7 @@ int transaction_add_job_and_dependencies( - } - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_BOUND_BY], i) { -- r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) - goto fail; -@@ -1030,7 +1032,7 @@ int transaction_add_job_and_dependencies( - if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { -- r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e); - if (r < 0) { - log_warning("Cannot add dependency reload job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - -@@ -1043,9 +1045,6 @@ int transaction_add_job_and_dependencies( - /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ - } - -- if (_ret) -- *_ret = ret; -- - return 0; - - fail: -@@ -1078,7 +1077,7 @@ int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { - if (hashmap_get(tr->jobs, u)) - continue; - -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL); - if (r < 0) - log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); - } -diff --git a/src/transaction.h b/src/transaction.h -index d519ffb..4818cea 100644 ---- a/src/transaction.h -+++ b/src/transaction.h -@@ -12,6 +12,7 @@ struct Transaction { - /* Jobs to be added */ - Hashmap *jobs; /* Unit object => Job object list 1:1 */ - JobDependency *anchor; -+ Job *anchor_job; /* the job the user asked for */ - }; - - Transaction *transaction_new(void); -@@ -27,8 +28,7 @@ int transaction_add_job_and_dependencies( - bool conflicts, - bool ignore_requirements, - bool ignore_order, -- DBusError *e, -- Job **_ret); -+ DBusError *e); - int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e); - int transaction_add_isolate_jobs(Transaction *tr, Manager *m); - void transaction_abort(Transaction *tr); --- -1.7.7 - - -From 3020dc5e2b840b8732cfdb81c322a47120a0a42f Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 10:33:37 +0200 -Subject: [PATCH 13/30] transaction: change the linking of isolate jobs to the - anchor - -When isolating, the JOB_STOP jobs have no parent job, so they are all peers -of the real anchor job. This is a bit odd. - -Link them from the anchor job. -(cherry picked from commit 4483f694983382b4092e3e295ffb59926cff96d9) ---- - src/transaction.c | 6 +++--- - 1 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index d7ecfdb..09abe00 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -893,8 +893,8 @@ int transaction_add_job_and_dependencies( - /* If the link has no subject job, it's the anchor link. */ - if (!by) { - LIST_PREPEND(JobDependency, subject, tr->anchor, l); -- if (!tr->anchor_job) -- tr->anchor_job = ret; -+ assert(!tr->anchor_job); -+ tr->anchor_job = ret; - } - - if (is_new && !ignore_requirements) { -@@ -1077,7 +1077,7 @@ int transaction_add_isolate_jobs(Transaction *tr, Manager *m) { - if (hashmap_get(tr->jobs, u)) - continue; - -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, NULL, true, false, false, false, false, NULL); -+ r = transaction_add_job_and_dependencies(tr, JOB_STOP, u, tr->anchor_job, true, false, false, false, false, NULL); - if (r < 0) - log_warning("Cannot add isolate job for unit %s, ignoring: %s", u->id, strerror(-r)); - } --- -1.7.7 - - -From 1ceeee2cf56d60ac37199ba9ebbe02144200857c Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 01:20:14 +0200 -Subject: [PATCH 14/30] transaction: simplify - transaction_find_jobs_that_matter_to_anchor() (cherry - picked from commit - 0d9989aa68963037a18fb7ed4f309f6155927d70) - ---- - src/transaction.c | 19 ++++++------------- - 1 files changed, 6 insertions(+), 13 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index 09abe00..cac58e6 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -38,22 +38,18 @@ void transaction_abort(Transaction *tr) { - assert(!tr->anchor); - } - --static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, unsigned generation) { -+static void transaction_find_jobs_that_matter_to_anchor(Job *j, unsigned generation) { - JobDependency *l; - -- assert(tr); -- - /* A recursive sweep through the graph that marks all units - * that matter to the anchor job, i.e. are directly or - * indirectly a dependency of the anchor job via paths that - * are fully marked as mattering. */ - -- if (j) -- l = j->subject_list; -- else -- l = tr->anchor; -+ j->matters_to_anchor = true; -+ j->generation = generation; - -- LIST_FOREACH(subject, l, l) { -+ LIST_FOREACH(subject, l, j->subject_list) { - - /* This link does not matter */ - if (!l->matters) -@@ -63,10 +59,7 @@ static void transaction_find_jobs_that_matter_to_anchor(Transaction *tr, Job *j, - if (l->object->generation == generation) - continue; - -- l->object->matters_to_anchor = true; -- l->object->generation = generation; -- -- transaction_find_jobs_that_matter_to_anchor(tr, l->object, generation); -+ transaction_find_jobs_that_matter_to_anchor(l->object, generation); - } - } - -@@ -659,7 +652,7 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e - * the actual list of jobs, if possible. */ - - /* First step: figure out which jobs matter */ -- transaction_find_jobs_that_matter_to_anchor(tr, NULL, generation++); -+ transaction_find_jobs_that_matter_to_anchor(tr->anchor_job, generation++); - - /* Second step: Try not to stop any running services if - * we don't have to. Don't try to reverse running --- -1.7.7 - - -From ba088fafbe639c1a8e859406e9f82d0d8bffc804 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 02:48:24 +0200 -Subject: [PATCH 15/30] transaction: avoid garbage collecting the anchor job - -Make sure the anchor job is never considered garbage, even if it has no links -leading to it (this will be allowed in the next patch). -(cherry picked from commit 38809d9dfed4c75d9e97c4e5da2ff957723c4cad) ---- - src/transaction.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index cac58e6..ddb02c0 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -454,7 +454,7 @@ static void transaction_collect_garbage(Transaction *tr) { - again = false; - - HASHMAP_FOREACH(j, tr->jobs, i) { -- if (j->object_list) { -+ if (tr->anchor_job == j || j->object_list) { - /* log_debug("Keeping job %s/%s because of %s/%s", */ - /* j->unit->id, job_type_to_string(j->type), */ - /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ --- -1.7.7 - - -From 436271253850ec21fccfaa435fa2c6ce445721ac Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 02:11:14 +0200 -Subject: [PATCH 16/30] transaction: remove the anchor link - -tr->anchor_job is sufficient. -(cherry picked from commit e6eda1f23efab618bb26e7015230d8552b401dc6) ---- - src/job.c | 12 ------------ - src/job.h | 2 -- - src/transaction.c | 31 ++++++++----------------------- - src/transaction.h | 1 - - 4 files changed, 8 insertions(+), 38 deletions(-) - -diff --git a/src/job.c b/src/job.c -index a5ce2d4..6b93b63 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -151,18 +151,6 @@ void job_dump(Job *j, FILE*f, const char *prefix) { - prefix, yes_no(j->override)); - } - --bool job_is_anchor(Job *j) { -- JobDependency *l; -- -- assert(j); -- -- LIST_FOREACH(object, l, j->object_list) -- if (!l->subject) -- return true; -- -- return false; --} -- - /* - * Merging is commutative, so imagine the matrix as symmetric. We store only - * its lower triangle to avoid duplication. We don't store the main diagonal, -diff --git a/src/job.h b/src/job.h -index cbd10c5..6b06c2a 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -144,8 +144,6 @@ void job_dump(Job *j, FILE*f, const char *prefix); - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); - void job_dependency_free(JobDependency *l); - --bool job_is_anchor(Job *j); -- - int job_merge(Job *j, Job *other); - - JobType job_type_lookup_merge(JobType a, JobType b); -diff --git a/src/transaction.c b/src/transaction.c -index ddb02c0..39cfe54 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -34,8 +34,6 @@ void transaction_abort(Transaction *tr) { - transaction_delete_job(tr, j, true); - - assert(hashmap_isempty(tr->jobs)); -- -- assert(!tr->anchor); - } - - static void transaction_find_jobs_that_matter_to_anchor(Job *j, unsigned generation) { -@@ -287,7 +285,7 @@ static void transaction_drop_redundant(Transaction *tr) { - - LIST_FOREACH(transaction, k, j) { - -- if (!job_is_anchor(k) && -+ if (tr->anchor_job != k && - (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && - (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) - continue; -@@ -626,8 +624,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); - } - -- assert(!tr->anchor); -- - return 0; - - rollback: -@@ -726,7 +722,6 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e - } - - assert(hashmap_isempty(tr->jobs)); -- assert(!tr->anchor); - - return 0; - } -@@ -778,12 +773,6 @@ static Job* transaction_add_one_job(Transaction *tr, JobType type, Unit *unit, b - return j; - } - --static void transaction_job_dependency_free(Transaction *tr, JobDependency *l) { -- if (!l->subject) -- LIST_REMOVE(JobDependency, subject, tr->anchor, l); -- job_dependency_free(l); --} -- - static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies) { - assert(tr); - assert(j); -@@ -801,12 +790,12 @@ static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependen - j->transaction_prev = j->transaction_next = NULL; - - while (j->subject_list) -- transaction_job_dependency_free(tr, j->subject_list); -+ job_dependency_free(j->subject_list); - - while (j->object_list) { - Job *other = j->object_list->matters ? j->object_list->subject : NULL; - -- transaction_job_dependency_free(tr, j->object_list); -+ job_dependency_free(j->object_list); - - if (other && delete_dependencies) { - log_debug("Deleting job %s/%s as dependency of job %s/%s", -@@ -829,7 +818,6 @@ int transaction_add_job_and_dependencies( - bool ignore_order, - DBusError *e) { - Job *ret; -- JobDependency *l; - Iterator i; - Unit *dep; - int r; -@@ -879,17 +867,14 @@ int transaction_add_job_and_dependencies( - ret->ignore_order = ret->ignore_order || ignore_order; - - /* Then, add a link to the job. */ -- l = job_dependency_new(by, ret, matters, conflicts); -- if (!l) -- return -ENOMEM; -- -- /* If the link has no subject job, it's the anchor link. */ -- if (!by) { -- LIST_PREPEND(JobDependency, subject, tr->anchor, l); -+ if (by) { -+ if (!job_dependency_new(by, ret, matters, conflicts)) -+ return -ENOMEM; -+ } else { -+ /* If the job has no parent job, it is the anchor job. */ - assert(!tr->anchor_job); - tr->anchor_job = ret; - } -- - if (is_new && !ignore_requirements) { - Set *following; - -diff --git a/src/transaction.h b/src/transaction.h -index 4818cea..74d7461 100644 ---- a/src/transaction.h -+++ b/src/transaction.h -@@ -11,7 +11,6 @@ typedef struct Transaction Transaction; - struct Transaction { - /* Jobs to be added */ - Hashmap *jobs; /* Unit object => Job object list 1:1 */ -- JobDependency *anchor; - Job *anchor_job; /* the job the user asked for */ - }; - --- -1.7.7 - - -From cdfe041c84fb813d883de58003e4a986ebde35e6 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 19 Apr 2012 23:56:26 +0200 -Subject: [PATCH 17/30] transaction: remove a couple of asserts - -We already asserted these facts in the previous loop. -(cherry picked from commit f1c2bdca422dba1bc5615f72662dee5ce69c147b) ---- - src/transaction.c | 3 --- - 1 files changed, 0 insertions(+), 3 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index 39cfe54..41f7b82 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -611,9 +611,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - /* We're fully installed. Now let's free data we don't - * need anymore. */ - -- assert(!j->transaction_next); -- assert(!j->transaction_prev); -- - /* Clean the job dependencies */ - transaction_unlink_job(tr, j, false); - --- -1.7.7 - - -From ff3ec7f35ab49a1e306f90b33866f4dc7fba282f Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 02:04:01 +0200 -Subject: [PATCH 18/30] job: separate job_install() - -Let the jobs install themselves. -(cherry picked from commit 05d576f1f77699ea5c2e5ed0e04451b14dfc45a0) ---- - src/job.c | 44 +++++++++++++++++++++++++++++--------------- - src/job.h | 3 ++- - src/transaction.c | 18 ++---------------- - 3 files changed, 33 insertions(+), 32 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 6b93b63..c5bf9cd 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -54,21 +54,6 @@ Job* job_new(Unit *unit, JobType type) { - return j; - } - --void job_uninstall(Job *j) { -- assert(j->installed); -- /* Detach from next 'bigger' objects */ -- -- bus_job_send_removed_signal(j); -- -- if (j->unit->job == j) { -- j->unit->job = NULL; -- unit_add_to_gc_queue(j->unit); -- } -- -- hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); -- j->installed = false; --} -- - void job_free(Job *j) { - assert(j); - assert(!j->installed); -@@ -96,6 +81,35 @@ void job_free(Job *j) { - free(j); - } - -+void job_uninstall(Job *j) { -+ assert(j->installed); -+ /* Detach from next 'bigger' objects */ -+ -+ bus_job_send_removed_signal(j); -+ -+ if (j->unit->job == j) { -+ j->unit->job = NULL; -+ unit_add_to_gc_queue(j->unit); -+ } -+ -+ hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); -+ j->installed = false; -+} -+ -+void job_install(Job *j) { -+ Job *uj = j->unit->job; -+ -+ if (uj) { -+ job_uninstall(uj); -+ job_free(uj); -+ } -+ -+ j->unit->job = j; -+ j->installed = true; -+ j->manager->n_installed_jobs ++; -+ log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); -+} -+ - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { - JobDependency *l; - -diff --git a/src/job.h b/src/job.h -index 6b06c2a..8fa9046 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -137,8 +137,9 @@ struct Job { - }; - - Job* job_new(Unit *unit, JobType type); --void job_uninstall(Job *j); - void job_free(Job *job); -+void job_install(Job *j); -+void job_uninstall(Job *j); - void job_dump(Job *j, FILE*f, const char *prefix); - - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); -diff --git a/src/transaction.c b/src/transaction.c -index 41f7b82..d495cbd 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -592,33 +592,19 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - } - - while ((j = hashmap_steal_first(tr->jobs))) { -- Job *uj; - if (j->installed) { - /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ - continue; - } - -- uj = j->unit->job; -- if (uj) { -- job_uninstall(uj); -- job_free(uj); -- } -- -- j->unit->job = j; -- j->installed = true; -- m->n_installed_jobs ++; -- -- /* We're fully installed. Now let's free data we don't -- * need anymore. */ -- - /* Clean the job dependencies */ - transaction_unlink_job(tr, j, false); - -+ job_install(j); -+ - job_add_to_run_queue(j); - job_add_to_dbus_queue(j); - job_start_timer(j); -- -- log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); - } - - return 0; --- -1.7.7 - - -From 78c1339da1446bac0f4a5fbb0f1add66a6246bec Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 09:38:43 +0200 -Subject: [PATCH 19/30] transaction: rework merging with installed jobs - -Previously transactions could reference installed jobs. It made some issues -difficult to fix. - -This sets new rules for jobs: -A job cannot be both a member of a transaction and installed. When jobs are -created, they are linked to a transaction. The whole transaction is constructed -(with merging of jobs within, etc.). When it's complete, all the jobs are -unlinked from it one by one and let to install themselves. It is during the -installation when merging with previously installed jobs (from older -transactions) is contemplated. - -Merging with installed jobs has different rules than merging within a -transaction: - - An installed conflicting job gets cancelled. It cannot be simply deleted, - because someone might be waiting for its completion on DBus. - - An installed, but still waiting, job can be safely merged into. - - An installed and running job can be tricky. For some job types it is safe to - just merge. For the other types we merge anyway, but put the job back into - JOB_WAITING to allow it to run again. This may be suboptimal, but it is not - currently possible to have more than one installed job for a unit. - -Note this also fixes a bug where the anchor job could be deleted during merging -within the transaction. -(cherry picked from commit 656bbffc6c45bdd8d5c28a96ca948ba16c546547) ---- - src/job.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++-- - src/job.h | 2 +- - src/transaction.c | 21 +++++++++++-------- - 3 files changed, 68 insertions(+), 13 deletions(-) - -diff --git a/src/job.c b/src/job.c -index c5bf9cd..e6737df 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -96,18 +96,70 @@ void job_uninstall(Job *j) { - j->installed = false; - } - --void job_install(Job *j) { -+static bool job_type_allows_late_merge(JobType t) { -+ /* Tells whether it is OK to merge a job of type 't' with an already -+ * running job. -+ * Reloads cannot be merged this way. Think of the sequence: -+ * 1. Reload of a daemon is in progress; the daemon has already loaded -+ * its config file, but hasn't completed the reload operation yet. -+ * 2. Edit foo's config file. -+ * 3. Trigger another reload to have the daemon use the new config. -+ * Should the second reload job be merged into the first one, the daemon -+ * would not know about the new config. -+ * JOB_RESTART jobs on the other hand can be merged, because they get -+ * patched into JOB_START after stopping the unit. So if we see a -+ * JOB_RESTART running, it means the unit hasn't stopped yet and at -+ * this time the merge is still allowed. */ -+ return !(t == JOB_RELOAD || t == JOB_RELOAD_OR_START); -+} -+ -+static void job_merge_into_installed(Job *j, Job *other) { -+ assert(j->installed); -+ assert(j->unit == other->unit); -+ -+ j->type = job_type_lookup_merge(j->type, other->type); -+ assert(j->type >= 0); -+ -+ j->override = j->override || other->override; -+} -+ -+Job* job_install(Job *j) { - Job *uj = j->unit->job; - -+ assert(!j->installed); -+ - if (uj) { -- job_uninstall(uj); -- job_free(uj); -+ if (job_type_is_conflicting(uj->type, j->type)) -+ job_finish_and_invalidate(uj, JOB_CANCELED); -+ else { -+ /* not conflicting, i.e. mergeable */ -+ -+ if (uj->state == JOB_WAITING || -+ (job_type_allows_late_merge(j->type) && job_type_is_superset(uj->type, j->type))) { -+ job_merge_into_installed(uj, j); -+ log_debug("Merged into installed job %s/%s as %u", -+ uj->unit->id, job_type_to_string(uj->type), (unsigned) uj->id); -+ return uj; -+ } else { -+ /* already running and not safe to merge into */ -+ /* Patch uj to become a merged job and re-run it. */ -+ /* XXX It should be safer to queue j to run after uj finishes, but it is -+ * not currently possible to have more than one installed job per unit. */ -+ job_merge_into_installed(uj, j); -+ log_debug("Merged into running job, re-running: %s/%s as %u", -+ uj->unit->id, job_type_to_string(uj->type), (unsigned) uj->id); -+ uj->state = JOB_WAITING; -+ return uj; -+ } -+ } - } - -+ /* Install the job */ - j->unit->job = j; - j->installed = true; - j->manager->n_installed_jobs ++; - log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); -+ return j; - } - - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { -diff --git a/src/job.h b/src/job.h -index 8fa9046..eab0e07 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -138,7 +138,7 @@ struct Job { - - Job* job_new(Unit *unit, JobType type); - void job_free(Job *job); --void job_install(Job *j); -+Job* job_install(Job *j); - void job_uninstall(Job *j); - void job_dump(Job *j, FILE*f, const char *prefix); - -diff --git a/src/transaction.c b/src/transaction.c -index d495cbd..aa0cedf 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -243,21 +243,14 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { - LIST_FOREACH(transaction, k, j->transaction_next) - assert_se(job_type_merge(&t, k->type) == 0); - -- /* If an active job is mergeable, merge it too */ -- if (j->unit->job) -- job_type_merge(&t, j->unit->job->type); /* Might fail. Which is OK */ -- - while ((k = j->transaction_next)) { -- if (j->installed) { -+ if (tr->anchor_job == k) { - transaction_merge_and_delete_job(tr, k, j, t); - j = k; - } else - transaction_merge_and_delete_job(tr, j, k, t); - } - -- if (j->unit->job && !j->installed) -- transaction_merge_and_delete_job(tr, j, j->unit->job, t); -- - assert(!j->transaction_next); - assert(!j->transaction_prev); - } -@@ -592,6 +585,8 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - } - - while ((j = hashmap_steal_first(tr->jobs))) { -+ Job *installed_job; -+ - if (j->installed) { - /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ - continue; -@@ -600,7 +595,15 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - /* Clean the job dependencies */ - transaction_unlink_job(tr, j, false); - -- job_install(j); -+ installed_job = job_install(j); -+ if (installed_job != j) { -+ /* j has been merged into a previously installed job */ -+ if (tr->anchor_job == j) -+ tr->anchor_job = installed_job; -+ hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); -+ job_free(j); -+ j = installed_job; -+ } - - job_add_to_run_queue(j); - job_add_to_dbus_queue(j); --- -1.7.7 - - -From 3d47dab6ed99778f9812ec4039135feb950f02da Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 10:02:05 +0200 -Subject: [PATCH 20/30] transaction: remove checks for installed - -Transactions cannot contain installed jobs anymore. Remove the now pointless -checks. -(cherry picked from commit d6a093d098054b6fe866441251ad9485c9e31584) ---- - src/job.c | 7 +++---- - src/transaction.c | 21 +++------------------ - 2 files changed, 6 insertions(+), 22 deletions(-) - -diff --git a/src/job.c b/src/job.c -index e6737df..fb759a5 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -83,14 +83,13 @@ void job_free(Job *j) { - - void job_uninstall(Job *j) { - assert(j->installed); -+ assert(j->unit->job == j); - /* Detach from next 'bigger' objects */ - - bus_job_send_removed_signal(j); - -- if (j->unit->job == j) { -- j->unit->job = NULL; -- unit_add_to_gc_queue(j->unit); -- } -+ j->unit->job = NULL; -+ unit_add_to_gc_queue(j->unit); - - hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); - j->installed = false; -diff --git a/src/transaction.c b/src/transaction.c -index aa0cedf..c3e1e13 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -11,8 +11,7 @@ static void transaction_delete_job(Transaction *tr, Job *j, bool delete_dependen - - transaction_unlink_job(tr, j, delete_dependencies); - -- if (!j->installed) -- job_free(j); -+ job_free(j); - } - - static void transaction_delete_unit(Transaction *tr, Unit *u) { -@@ -279,7 +278,7 @@ static void transaction_drop_redundant(Transaction *tr) { - LIST_FOREACH(transaction, k, j) { - - if (tr->anchor_job != k && -- (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) && -+ job_type_is_redundant(k->type, unit_active_state(k->unit)) && - (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) - continue; - -@@ -349,7 +348,6 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi - log_info("Walked on cycle path to %s/%s", k->unit->id, job_type_to_string(k->type)); - - if (!delete && -- !k->installed && - !unit_matters_to_anchor(k->unit, k)) { - /* Ok, we can drop this one, so let's - * do so. */ -@@ -478,7 +476,6 @@ static int transaction_is_destructive(Transaction *tr, DBusError *e) { - assert(!j->transaction_next); - - if (j->unit->job && -- j->unit->job != j && - !job_type_is_superset(j->type, j->unit->job->type)) { - - dbus_set_error(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); -@@ -576,9 +573,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - assert(!j->transaction_prev); - assert(!j->transaction_next); - -- if (j->installed) -- continue; -- - r = hashmap_put(m->jobs, UINT32_TO_PTR(j->id), j); - if (r < 0) - goto rollback; -@@ -587,11 +581,6 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - while ((j = hashmap_steal_first(tr->jobs))) { - Job *installed_job; - -- if (j->installed) { -- /* log_debug("Skipping already installed job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); */ -- continue; -- } -- - /* Clean the job dependencies */ - transaction_unlink_job(tr, j, false); - -@@ -614,12 +603,8 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - - rollback: - -- HASHMAP_FOREACH(j, tr->jobs, i) { -- if (j->installed) -- continue; -- -+ HASHMAP_FOREACH(j, tr->jobs, i) - hashmap_remove(m->jobs, UINT32_TO_PTR(j->id)); -- } - - return r; - } --- -1.7.7 - - -From 55284fc0ba28bf10d4fa535a86921bad23505c96 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 12:28:31 +0200 -Subject: [PATCH 21/30] dbus-job: allow multiple bus clients - -Merging of jobs can result in more than one client being interested in a job. -(cherry picked from commit 97e6a11996855800f68dc41c13537784198c8b61) ---- - src/dbus-job.c | 146 +++++++++++++++++++++++++++++++--------------------- - src/dbus-manager.c | 6 ++- - src/dbus.c | 14 +++-- - src/job.c | 21 +++++++- - src/job.h | 15 ++++- - 5 files changed, 131 insertions(+), 71 deletions(-) - -diff --git a/src/dbus-job.c b/src/dbus-job.c -index ab6d610..aa1b4eb 100644 ---- a/src/dbus-job.c -+++ b/src/dbus-job.c -@@ -225,61 +225,71 @@ const DBusObjectPathVTable bus_job_vtable = { - .message_function = bus_job_message_handler - }; - --static int job_send_message(Job *j, DBusMessage *m) { -+static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) { -+ DBusMessage *m = NULL; - int r; - - assert(j); -- assert(m); -+ assert(new_message); - - if (bus_has_subscriber(j->manager)) { -- if ((r = bus_broadcast(j->manager, m)) < 0) -+ m = new_message(j); -+ if (!m) -+ goto oom; -+ r = bus_broadcast(j->manager, m); -+ dbus_message_unref(m); -+ if (r < 0) - return r; - -- } else if (j->bus_client) { -+ } else { - /* If nobody is subscribed, we just send the message -- * to the client which created the job */ -+ * to the client(s) which created the job */ -+ JobBusClient *cl; -+ assert(j->bus_client_list); -+ LIST_FOREACH(client, cl, j->bus_client_list) { -+ assert(cl->bus); - -- assert(j->bus); -+ m = new_message(j); -+ if (!m) -+ goto oom; - -- if (!dbus_message_set_destination(m, j->bus_client)) -- return -ENOMEM; -+ if (!dbus_message_set_destination(m, cl->name)) -+ goto oom; -+ -+ if (!dbus_connection_send(cl->bus, m, NULL)) -+ goto oom; - -- if (!dbus_connection_send(j->bus, m, NULL)) -- return -ENOMEM; -+ dbus_message_unref(m); -+ m = NULL; -+ } - } - - return 0; -+oom: -+ if (m) -+ dbus_message_unref(m); -+ return -ENOMEM; - } - --void bus_job_send_change_signal(Job *j) { -- char *p = NULL; -+static DBusMessage* new_change_signal_message(Job *j) { - DBusMessage *m = NULL; -+ char *p = NULL; - -- assert(j); -- -- if (j->in_dbus_queue) { -- LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j); -- j->in_dbus_queue = false; -- } -- -- if (!bus_has_subscriber(j->manager) && !j->bus_client) { -- j->sent_dbus_new_signal = true; -- return; -- } -- -- if (!(p = job_dbus_path(j))) -+ p = job_dbus_path(j); -+ if (!p) - goto oom; - - if (j->sent_dbus_new_signal) { - /* Send a properties changed signal */ -- -- if (!(m = bus_properties_changed_new(p, "org.freedesktop.systemd1.Job", INVALIDATING_PROPERTIES))) -+ m = bus_properties_changed_new(p, "org.freedesktop.systemd1.Job", INVALIDATING_PROPERTIES); -+ if (!m) - goto oom; - - } else { - /* Send a new signal */ - -- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobNew"))) -+ m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobNew"); -+ if (!m) - goto oom; - - if (!dbus_message_append_args(m, -@@ -289,42 +299,26 @@ void bus_job_send_change_signal(Job *j) { - goto oom; - } - -- if (job_send_message(j, m) < 0) -- goto oom; -- -- free(p); -- dbus_message_unref(m); -- -- j->sent_dbus_new_signal = true; -- -- return; -+ return m; - - oom: -- free(p); -- - if (m) - dbus_message_unref(m); -- -- log_error("Failed to allocate job change signal."); -+ free(p); -+ return NULL; - } - --void bus_job_send_removed_signal(Job *j) { -- char *p = NULL; -+static DBusMessage* new_removed_signal_message(Job *j) { - DBusMessage *m = NULL; -+ char *p = NULL; - const char *r; - -- assert(j); -- -- if (!bus_has_subscriber(j->manager) && !j->bus_client) -- return; -- -- if (!j->sent_dbus_new_signal) -- bus_job_send_change_signal(j); -- -- if (!(p = job_dbus_path(j))) -+ p = job_dbus_path(j); -+ if (!p) - goto oom; - -- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobRemoved"))) -+ m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobRemoved"); -+ if (!m) - goto oom; - - r = job_result_to_string(j->result); -@@ -336,19 +330,53 @@ void bus_job_send_removed_signal(Job *j) { - DBUS_TYPE_INVALID)) - goto oom; - -- if (job_send_message(j, m) < 0) -- goto oom; -+ return m; - -+oom: -+ if (m) -+ dbus_message_unref(m); - free(p); -- dbus_message_unref(m); -+ return NULL; -+} -+ -+void bus_job_send_change_signal(Job *j) { -+ assert(j); -+ -+ if (j->in_dbus_queue) { -+ LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j); -+ j->in_dbus_queue = false; -+ } -+ -+ if (!bus_has_subscriber(j->manager) && !j->bus_client_list) { -+ j->sent_dbus_new_signal = true; -+ return; -+ } -+ -+ if (job_send_message(j, new_change_signal_message) < 0) -+ goto oom; -+ -+ j->sent_dbus_new_signal = true; - - return; - - oom: -- free(p); -+ log_error("Failed to allocate job change signal."); -+} - -- if (m) -- dbus_message_unref(m); -+void bus_job_send_removed_signal(Job *j) { -+ assert(j); -+ -+ if (!bus_has_subscriber(j->manager) && !j->bus_client_list) -+ return; -+ -+ if (!j->sent_dbus_new_signal) -+ bus_job_send_change_signal(j); - -+ if (job_send_message(j, new_removed_signal_message) < 0) -+ goto oom; -+ -+ return; -+ -+oom: - log_error("Failed to allocate job remove signal."); - } -diff --git a/src/dbus-manager.c b/src/dbus-manager.c -index 6d272cb..0b78375 100644 ---- a/src/dbus-manager.c -+++ b/src/dbus-manager.c -@@ -1435,6 +1435,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - const char *name, *smode, *old_name = NULL; - JobMode mode; - Job *j; -+ JobBusClient *cl; - Unit *u; - bool b; - -@@ -1492,10 +1493,11 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - if ((r = manager_add_job(m, job_type, u, mode, true, &error, &j)) < 0) - return bus_send_error_reply(connection, message, &error, r); - -- if (!(j->bus_client = strdup(message_get_sender_with_fallback(message)))) -+ cl = job_bus_client_new(connection, message_get_sender_with_fallback(message)); -+ if (!cl) - goto oom; - -- j->bus = connection; -+ LIST_PREPEND(JobBusClient, client, j->bus_client_list, cl); - - if (!(reply = dbus_message_new_method_return(message))) - goto oom; -diff --git a/src/dbus.c b/src/dbus.c -index 8e6e9fd..50e8c9c 100644 ---- a/src/dbus.c -+++ b/src/dbus.c -@@ -1166,13 +1166,15 @@ static void shutdown_connection(Manager *m, DBusConnection *c) { - Job *j; - Iterator i; - -- HASHMAP_FOREACH(j, m->jobs, i) -- if (j->bus == c) { -- free(j->bus_client); -- j->bus_client = NULL; -- -- j->bus = NULL; -+ HASHMAP_FOREACH(j, m->jobs, i) { -+ JobBusClient *cl, *nextcl; -+ LIST_FOREACH_SAFE(client, cl, nextcl, j->bus_client_list) { -+ if (cl->bus == c) { -+ LIST_REMOVE(JobBusClient, client, j->bus_client_list, cl); -+ free(cl); -+ } - } -+ } - - set_remove(m->bus_connections, c); - set_remove(m->bus_connections_for_dispatch, c); -diff --git a/src/job.c b/src/job.c -index fb759a5..de74751 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -33,6 +33,20 @@ - #include "log.h" - #include "dbus-job.h" - -+JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) { -+ JobBusClient *cl; -+ size_t name_len; -+ -+ name_len = strlen(name); -+ cl = malloc0(sizeof(JobBusClient) + name_len + 1); -+ if (!cl) -+ return NULL; -+ -+ cl->bus = connection; -+ memcpy(cl->name, name, name_len + 1); -+ return cl; -+} -+ - Job* job_new(Unit *unit, JobType type) { - Job *j; - -@@ -55,6 +69,8 @@ Job* job_new(Unit *unit, JobType type) { - } - - void job_free(Job *j) { -+ JobBusClient *cl; -+ - assert(j); - assert(!j->installed); - assert(!j->transaction_prev); -@@ -77,7 +93,10 @@ void job_free(Job *j) { - close_nointr_nofail(j->timer_watch.fd); - } - -- free(j->bus_client); -+ while ((cl = j->bus_client_list)) { -+ LIST_REMOVE(JobBusClient, client, j->bus_client_list, cl); -+ free(cl); -+ } - free(j); - } - -diff --git a/src/job.h b/src/job.h -index eab0e07..2025b5b 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -28,6 +28,7 @@ - - typedef struct Job Job; - typedef struct JobDependency JobDependency; -+typedef struct JobBusClient JobBusClient; - typedef enum JobType JobType; - typedef enum JobState JobState; - typedef enum JobMode JobMode; -@@ -99,6 +100,13 @@ struct JobDependency { - bool conflicts; - }; - -+struct JobBusClient { -+ LIST_FIELDS(JobBusClient, client); -+ /* Note that this bus object is not ref counted here. */ -+ DBusConnection *bus; -+ char name[0]; -+}; -+ - struct Job { - Manager *manager; - Unit *unit; -@@ -121,9 +129,8 @@ struct Job { - - Watch timer_watch; - -- /* Note that this bus object is not ref counted here. */ -- DBusConnection *bus; -- char *bus_client; -+ /* There can be more than one client, because of job merging. */ -+ LIST_HEAD(JobBusClient, bus_client_list); - - JobResult result; - -@@ -136,6 +143,8 @@ struct Job { - bool ignore_order:1; - }; - -+JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name); -+ - Job* job_new(Unit *unit, JobType type); - void job_free(Job *job); - Job* job_install(Job *j); --- -1.7.7 - - -From 45aca411e44be019c9ba1bc1500e0b7df73bbf75 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 20 Apr 2012 14:44:00 +0200 -Subject: [PATCH 22/30] transaction: add starting requirements for JOB_RESTART - -While having a Requires= dependency between units, the dependency is started -automatically on "systemctl start", but it's not started on "systemctl -restart". - -JOB_RESTART jobs did not pull the dependencies for starting into the -transaction. - -https://bugzilla.redhat.com/show_bug.cgi?id=802770 - -Note that the other bug noted in comment #2 has been fixed already by avoiding -the deletion of anchor jobs. -(cherry picked from commit 65304075249449a713b4e4842b8538ef4aa1c725) ---- - src/transaction.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index c3e1e13..a2efcbc 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -866,7 +866,7 @@ int transaction_add_job_and_dependencies( - } - - /* Finally, recursively add in all dependencies. */ -- if (type == JOB_START || type == JOB_RELOAD_OR_START) { -+ if (type == JOB_START || type == JOB_RELOAD_OR_START || type == JOB_RESTART) { - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { - r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { --- -1.7.7 - - -From 029699f2de954461054efb21e91994ca6e9df46a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 22 Apr 2012 15:22:52 +0200 -Subject: [PATCH 23/30] transaction: downgrade warnings about masked units - (cherry picked from commit - 59e132a7f416d7c4a33a46d791f250e03d2c2cd0) - ---- - src/transaction.c | 11 +++++++---- - 1 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index a2efcbc..a36f1df 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -822,7 +822,7 @@ int transaction_add_job_and_dependencies( - - if (type != JOB_STOP && unit->load_state == UNIT_MASKED) { - dbus_set_error(e, BUS_ERROR_MASKED, "Unit %s is masked.", unit->id); -- return -EINVAL; -+ return -EADDRNOTAVAIL; - } - - if (!unit_job_is_applicable(unit, type)) { -@@ -892,7 +892,8 @@ int transaction_add_job_and_dependencies( - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES_OVERRIDABLE], i) { - r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, !override, override, false, false, ignore_order, e); - if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ log_full(r == -EADDRNOTAVAIL ? LOG_DEBUG : LOG_WARNING, -+ "Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); -@@ -902,7 +903,8 @@ int transaction_add_job_and_dependencies( - SET_FOREACH(dep, ret->unit->dependencies[UNIT_WANTS], i) { - r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, false, false, false, false, ignore_order, e); - if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ log_full(r == -EADDRNOTAVAIL ? LOG_DEBUG : LOG_WARNING, -+ "Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); -@@ -923,7 +925,8 @@ int transaction_add_job_and_dependencies( - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUISITE_OVERRIDABLE], i) { - r = transaction_add_job_and_dependencies(tr, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, false, ignore_order, e); - if (r < 0) { -- log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); -+ log_full(r == -EADDRNOTAVAIL ? LOG_DEBUG : LOG_WARNING, -+ "Cannot add dependency job for unit %s, ignoring: %s", dep->id, bus_error(e, r)); - - if (e) - dbus_error_free(e); --- -1.7.7 - - -From 0ee2f52343ed0da6dc9006be54c9de57b762e563 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 21 Apr 2012 21:40:40 +0200 -Subject: [PATCH 24/30] transaction: improve readability - -The functions looked complicated with the nested loops with breaks, -continues, and "while (again)". -Here using goto actually makes them easier to understand. - -Also correcting the comment about redundant jobs. -(cherry picked from commit 055163ad15a5ca1eb5626c63fa7163e152698e2b) ---- - src/transaction.c | 152 ++++++++++++++++++++++------------------------------- - 1 files changed, 62 insertions(+), 90 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index a36f1df..2bd6541 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -258,44 +258,32 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { - } - - static void transaction_drop_redundant(Transaction *tr) { -- bool again; -- -- assert(tr); -- -- /* Goes through the transaction and removes all jobs that are -- * a noop */ -- -- do { -- Job *j; -- Iterator i; -- -- again = false; -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- bool changes_something = false; -- Job *k; -+ Job *j; -+ Iterator i; - -- LIST_FOREACH(transaction, k, j) { -+ /* Goes through the transaction and removes all jobs of the units -+ * whose jobs are all noops. If not all of a unit's jobs are -+ * redundant, they are kept. */ - -- if (tr->anchor_job != k && -- job_type_is_redundant(k->type, unit_active_state(k->unit)) && -- (!k->unit->job || !job_type_is_conflicting(k->type, k->unit->job->type))) -- continue; -+ assert(tr); - -- changes_something = true; -- break; -- } -+rescan: -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ Job *k; - -- if (changes_something) -- continue; -+ LIST_FOREACH(transaction, k, j) { - -- /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ -- transaction_delete_job(tr, j, false); -- again = true; -- break; -+ if (tr->anchor_job == k || -+ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || -+ (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) -+ goto next_unit; - } - -- } while (again); -+ /* log_debug("Found redundant job %s/%s, dropping.", j->unit->id, job_type_to_string(j->type)); */ -+ transaction_delete_job(tr, j, false); -+ goto rescan; -+ next_unit:; -+ } - } - - static bool unit_matters_to_anchor(Unit *u, Job *j) { -@@ -430,34 +418,27 @@ static int transaction_verify_order(Transaction *tr, unsigned *generation, DBusE - } - - static void transaction_collect_garbage(Transaction *tr) { -- bool again; -+ Iterator i; -+ Job *j; - - assert(tr); - - /* Drop jobs that are not required by any other job */ - -- do { -- Iterator i; -- Job *j; -- -- again = false; -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- if (tr->anchor_job == j || j->object_list) { -- /* log_debug("Keeping job %s/%s because of %s/%s", */ -- /* j->unit->id, job_type_to_string(j->type), */ -- /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ -- /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ -- continue; -- } -- -- /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ -- transaction_delete_job(tr, j, true); -- again = true; -- break; -+rescan: -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ if (tr->anchor_job == j || j->object_list) { -+ /* log_debug("Keeping job %s/%s because of %s/%s", */ -+ /* j->unit->id, job_type_to_string(j->type), */ -+ /* j->object_list->subject ? j->object_list->subject->unit->id : "root", */ -+ /* j->object_list->subject ? job_type_to_string(j->object_list->subject->type) : "root"); */ -+ continue; - } - -- } while (again); -+ /* log_debug("Garbage collecting job %s/%s", j->unit->id, job_type_to_string(j->type)); */ -+ transaction_delete_job(tr, j, true); -+ goto rescan; -+ } - } - - static int transaction_is_destructive(Transaction *tr, DBusError *e) { -@@ -487,59 +468,50 @@ static int transaction_is_destructive(Transaction *tr, DBusError *e) { - } - - static void transaction_minimize_impact(Transaction *tr) { -- bool again; -+ Job *j; -+ Iterator i; -+ - assert(tr); - - /* Drops all unnecessary jobs that reverse already active jobs - * or that stop a running service. */ - -- do { -- Job *j; -- Iterator i; -- -- again = false; -- -- HASHMAP_FOREACH(j, tr->jobs, i) { -- LIST_FOREACH(transaction, j, j) { -- bool stops_running_service, changes_existing_job; -+rescan: -+ HASHMAP_FOREACH(j, tr->jobs, i) { -+ LIST_FOREACH(transaction, j, j) { -+ bool stops_running_service, changes_existing_job; - -- /* If it matters, we shouldn't drop it */ -- if (j->matters_to_anchor) -- continue; -+ /* If it matters, we shouldn't drop it */ -+ if (j->matters_to_anchor) -+ continue; - -- /* Would this stop a running service? -- * Would this change an existing job? -- * If so, let's drop this entry */ -+ /* Would this stop a running service? -+ * Would this change an existing job? -+ * If so, let's drop this entry */ - -- stops_running_service = -- j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); -+ stops_running_service = -+ j->type == JOB_STOP && UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(j->unit)); - -- changes_existing_job = -- j->unit->job && -- job_type_is_conflicting(j->type, j->unit->job->type); -+ changes_existing_job = -+ j->unit->job && -+ job_type_is_conflicting(j->type, j->unit->job->type); - -- if (!stops_running_service && !changes_existing_job) -- continue; -+ if (!stops_running_service && !changes_existing_job) -+ continue; - -- if (stops_running_service) -- log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); -+ if (stops_running_service) -+ log_debug("%s/%s would stop a running service.", j->unit->id, job_type_to_string(j->type)); - -- if (changes_existing_job) -- log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); -+ if (changes_existing_job) -+ log_debug("%s/%s would change existing job.", j->unit->id, job_type_to_string(j->type)); - -- /* Ok, let's get rid of this */ -- log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); -+ /* Ok, let's get rid of this */ -+ log_debug("Deleting %s/%s to minimize impact.", j->unit->id, job_type_to_string(j->type)); - -- transaction_delete_job(tr, j, true); -- again = true; -- break; -- } -- -- if (again) -- break; -+ transaction_delete_job(tr, j, true); -+ goto rescan; - } -- -- } while (again); -+ } - } - - static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { --- -1.7.7 - - -From f613fa87549229f257444c41f5155fb1f5f30f44 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sun, 22 Apr 2012 02:09:04 +0200 -Subject: [PATCH 25/30] transaction: fix detection of cycles involving - installed jobs - -A transaction can be acyclic, but when it's added to installed jobs, -a cycle may result. - -transaction_verify_order_one() attempts to detect these cases, but it -fails because the installed jobs often have the exact generation number -that makes them look as if they were walked already. - -Fix it by resetting the generation numbers of all installed jobs before -detecting cycles. - -An alternative fix could be to add the generation counter to the -Manager and use it instead of starting always from 1 in -transaction_activate(). But I prefer not having to worry about it -wrapping around. -(cherry picked from commit 4e7bd268ae1f39675988b9ac61b9378a67e3ae3e) ---- - src/transaction.c | 8 ++++++++ - 1 files changed, 8 insertions(+), 0 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index 2bd6541..9676b57 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -582,6 +582,8 @@ rollback: - } - - int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e) { -+ Iterator i; -+ Job *j; - int r; - unsigned generation = 1; - -@@ -590,6 +592,12 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e - /* This applies the changes recorded in tr->jobs to - * the actual list of jobs, if possible. */ - -+ /* Reset the generation counter of all installed jobs. The detection of cycles -+ * looks at installed jobs. If they had a non-zero generation from some previous -+ * walk of the graph, the algorithm would break. */ -+ HASHMAP_FOREACH(j, m->jobs, i) -+ j->generation = 0; -+ - /* First step: figure out which jobs matter */ - transaction_find_jobs_that_matter_to_anchor(tr->anchor_job, generation++); - --- -1.7.7 - - -From 374998cf2930534951bc0dace5025468cdf3c247 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sun, 22 Apr 2012 10:54:58 +0200 -Subject: [PATCH 26/30] transaction: abort does not need to use recursive - deletion - -Recursion is unnecessary, because we're deleting all transaction jobs -anyway. And the recursive deletion produces debug messages that are -pointless in transaction abort. -(cherry picked from commit 1b9cea0caa85dce6d9f117638a296b141c49a8fd) ---- - src/transaction.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/transaction.c b/src/transaction.c -index 9676b57..b0a26f2 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -30,7 +30,7 @@ void transaction_abort(Transaction *tr) { - assert(tr); - - while ((j = hashmap_first(tr->jobs))) -- transaction_delete_job(tr, j, true); -+ transaction_delete_job(tr, j, false); - - assert(hashmap_isempty(tr->jobs)); - } --- -1.7.7 - - -From 0d806f0c0bebf755867cfe0b3cc41d55aebea66a Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Mon, 23 Apr 2012 01:24:04 +0200 -Subject: [PATCH 27/30] job: serialize jobs properly - -Jobs were not preserved correctly over a daemon-reload operation. -A systemctl process waiting for a job completion received a job removal -signal. The job itself changed its id. The job timeout started ticking all -over again. - -This fixes the deficiencies. -(cherry picked from commit 39a18c60d07319ebfcfd476556729c2cadd616d6) ---- - src/dbus-job.c | 6 +- - src/job.c | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- - src/job.h | 6 ++ - src/unit.c | 45 ++++++++++++--- - src/unit.h | 4 +- - 5 files changed, 203 insertions(+), 20 deletions(-) - -diff --git a/src/dbus-job.c b/src/dbus-job.c -index aa1b4eb..63e5846 100644 ---- a/src/dbus-job.c -+++ b/src/dbus-job.c -@@ -232,7 +232,7 @@ static int job_send_message(Job *j, DBusMessage* (*new_message)(Job *j)) { - assert(j); - assert(new_message); - -- if (bus_has_subscriber(j->manager)) { -+ if (bus_has_subscriber(j->manager) || j->forgot_bus_clients) { - m = new_message(j); - if (!m) - goto oom; -@@ -347,7 +347,7 @@ void bus_job_send_change_signal(Job *j) { - j->in_dbus_queue = false; - } - -- if (!bus_has_subscriber(j->manager) && !j->bus_client_list) { -+ if (!bus_has_subscriber(j->manager) && !j->bus_client_list && !j->forgot_bus_clients) { - j->sent_dbus_new_signal = true; - return; - } -@@ -366,7 +366,7 @@ oom: - void bus_job_send_removed_signal(Job *j) { - assert(j); - -- if (!bus_has_subscriber(j->manager) && !j->bus_client_list) -+ if (!bus_has_subscriber(j->manager) && !j->bus_client_list && !j->forgot_bus_clients) - return; - - if (!j->sent_dbus_new_signal) -diff --git a/src/job.c b/src/job.c -index de74751..69df024 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -47,22 +47,36 @@ JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) { - return cl; - } - --Job* job_new(Unit *unit, JobType type) { -+Job* job_new_raw(Unit *unit) { - Job *j; - -- assert(type < _JOB_TYPE_MAX); -+ /* used for deserialization */ -+ - assert(unit); - -- if (!(j = new0(Job, 1))) -+ j = new0(Job, 1); -+ if (!j) - return NULL; - - j->manager = unit->manager; -- j->id = j->manager->current_job_id++; -- j->type = type; - j->unit = unit; -- - j->timer_watch.type = WATCH_INVALID; - -+ return j; -+} -+ -+Job* job_new(Unit *unit, JobType type) { -+ Job *j; -+ -+ assert(type < _JOB_TYPE_MAX); -+ -+ j = job_new_raw(unit); -+ if (!j) -+ return NULL; -+ -+ j->id = j->manager->current_job_id++; -+ j->type = type; -+ - /* We don't link it here, that's what job_dependency() is for */ - - return j; -@@ -105,7 +119,9 @@ void job_uninstall(Job *j) { - assert(j->unit->job == j); - /* Detach from next 'bigger' objects */ - -- bus_job_send_removed_signal(j); -+ /* daemon-reload should be transparent to job observers */ -+ if (j->manager->n_reloading <= 0) -+ bus_job_send_removed_signal(j); - - j->unit->job = NULL; - unit_add_to_gc_queue(j->unit); -@@ -180,6 +196,18 @@ Job* job_install(Job *j) { - return j; - } - -+void job_install_deserialized(Job *j) { -+ assert(!j->installed); -+ -+ if (j->unit->job) { -+ log_debug("Unit %s already has a job installed. Not installing deserialized job.", j->unit->id); -+ return; -+ } -+ j->unit->job = j; -+ j->installed = true; -+ log_debug("Reinstalled deserialized job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); -+} -+ - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { - JobDependency *l; - -@@ -732,6 +760,126 @@ void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w) { - job_finish_and_invalidate(j, JOB_TIMEOUT); - } - -+int job_serialize(Job *j, FILE *f, FDSet *fds) { -+ fprintf(f, "job-id=%u\n", j->id); -+ fprintf(f, "job-type=%s\n", job_type_to_string(j->type)); -+ fprintf(f, "job-state=%s\n", job_state_to_string(j->state)); -+ fprintf(f, "job-override=%s\n", yes_no(j->override)); -+ fprintf(f, "job-sent-dbus-new-signal=%s\n", yes_no(j->sent_dbus_new_signal)); -+ fprintf(f, "job-ignore-order=%s\n", yes_no(j->ignore_order)); -+ /* Cannot save bus clients. Just note the fact that we're losing -+ * them. job_send_message() will fallback to broadcasting. */ -+ fprintf(f, "job-forgot-bus-clients=%s\n", -+ yes_no(j->forgot_bus_clients || j->bus_client_list)); -+ if (j->timer_watch.type == WATCH_JOB_TIMER) { -+ int copy = fdset_put_dup(fds, j->timer_watch.fd); -+ if (copy < 0) -+ return copy; -+ fprintf(f, "job-timer-watch-fd=%d\n", copy); -+ } -+ -+ /* End marker */ -+ fputc('\n', f); -+ return 0; -+} -+ -+int job_deserialize(Job *j, FILE *f, FDSet *fds) { -+ for (;;) { -+ char line[LINE_MAX], *l, *v; -+ size_t k; -+ -+ if (!fgets(line, sizeof(line), f)) { -+ if (feof(f)) -+ return 0; -+ return -errno; -+ } -+ -+ char_array_0(line); -+ l = strstrip(line); -+ -+ /* End marker */ -+ if (l[0] == 0) -+ return 0; -+ -+ k = strcspn(l, "="); -+ -+ if (l[k] == '=') { -+ l[k] = 0; -+ v = l+k+1; -+ } else -+ v = l+k; -+ -+ if (streq(l, "job-id")) { -+ if (safe_atou32(v, &j->id) < 0) -+ log_debug("Failed to parse job id value %s", v); -+ } else if (streq(l, "job-type")) { -+ JobType t = job_type_from_string(v); -+ if (t < 0) -+ log_debug("Failed to parse job type %s", v); -+ else -+ j->type = t; -+ } else if (streq(l, "job-state")) { -+ JobState s = job_state_from_string(v); -+ if (s < 0) -+ log_debug("Failed to parse job state %s", v); -+ else -+ j->state = s; -+ } else if (streq(l, "job-override")) { -+ int b = parse_boolean(v); -+ if (b < 0) -+ log_debug("Failed to parse job override flag %s", v); -+ else -+ j->override = j->override || b; -+ } else if (streq(l, "job-sent-dbus-new-signal")) { -+ int b = parse_boolean(v); -+ if (b < 0) -+ log_debug("Failed to parse job sent_dbus_new_signal flag %s", v); -+ else -+ j->sent_dbus_new_signal = j->sent_dbus_new_signal || b; -+ } else if (streq(l, "job-ignore-order")) { -+ int b = parse_boolean(v); -+ if (b < 0) -+ log_debug("Failed to parse job ignore_order flag %s", v); -+ else -+ j->ignore_order = j->ignore_order || b; -+ } else if (streq(l, "job-forgot-bus-clients")) { -+ int b = parse_boolean(v); -+ if (b < 0) -+ log_debug("Failed to parse job forgot_bus_clients flag %s", v); -+ else -+ j->forgot_bus_clients = j->forgot_bus_clients || b; -+ } else if (streq(l, "job-timer-watch-fd")) { -+ int fd; -+ if (safe_atoi(v, &fd) < 0 || fd < 0 || !fdset_contains(fds, fd)) -+ log_debug("Failed to parse job-timer-watch-fd value %s", v); -+ else { -+ if (j->timer_watch.type == WATCH_JOB_TIMER) -+ close_nointr_nofail(j->timer_watch.fd); -+ -+ j->timer_watch.type = WATCH_JOB_TIMER; -+ j->timer_watch.fd = fdset_remove(fds, fd); -+ j->timer_watch.data.job = j; -+ } -+ } -+ } -+} -+ -+int job_coldplug(Job *j) { -+ struct epoll_event ev; -+ -+ if (j->timer_watch.type != WATCH_JOB_TIMER) -+ return 0; -+ -+ zero(ev); -+ ev.data.ptr = &j->timer_watch; -+ ev.events = EPOLLIN; -+ -+ if (epoll_ctl(j->manager->epoll_fd, EPOLL_CTL_ADD, j->timer_watch.fd, &ev) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - static const char* const job_state_table[_JOB_STATE_MAX] = { - [JOB_WAITING] = "waiting", - [JOB_RUNNING] = "running" -diff --git a/src/job.h b/src/job.h -index 2025b5b..eea8242 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -141,15 +141,21 @@ struct Job { - bool in_dbus_queue:1; - bool sent_dbus_new_signal:1; - bool ignore_order:1; -+ bool forgot_bus_clients:1; - }; - - JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name); - - Job* job_new(Unit *unit, JobType type); -+Job* job_new_raw(Unit *unit); - void job_free(Job *job); - Job* job_install(Job *j); -+void job_install_deserialized(Job *j); - void job_uninstall(Job *j); - void job_dump(Job *j, FILE*f, const char *prefix); -+int job_serialize(Job *j, FILE *f, FDSet *fds); -+int job_deserialize(Job *j, FILE *f, FDSet *fds); -+int job_coldplug(Job *j); - - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts); - void job_dependency_free(JobDependency *l); -diff --git a/src/unit.c b/src/unit.c -index 1949995..c203a31 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -2288,8 +2288,10 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds) { - if ((r = UNIT_VTABLE(u)->serialize(u, f, fds)) < 0) - return r; - -- if (u->job) -- unit_serialize_item(u, f, "job", job_type_to_string(u->job->type)); -+ if (u->job) { -+ fprintf(f, "job\n"); -+ job_serialize(u->job, f, fds); -+ } - - dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); - dual_timestamp_serialize(f, "active-enter-timestamp", &u->active_enter_timestamp); -@@ -2368,13 +2370,32 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { - v = l+k; - - if (streq(l, "job")) { -- JobType type; -+ if (v[0] == '\0') { -+ /* new-style serialized job */ -+ Job *j = job_new_raw(u); -+ if (!j) -+ return -ENOMEM; - -- if ((type = job_type_from_string(v)) < 0) -- log_debug("Failed to parse job type value %s", v); -- else -- u->deserialized_job = type; -+ r = job_deserialize(j, f, fds); -+ if (r < 0) { -+ job_free(j); -+ return r; -+ } - -+ job_install_deserialized(j); -+ r = hashmap_put(u->manager->jobs, UINT32_TO_PTR(j->id), j); -+ if (r < 0) { -+ job_free(j); -+ return r; -+ } -+ } else { -+ /* legacy */ -+ JobType type = job_type_from_string(v); -+ if (type < 0) -+ log_debug("Failed to parse job type value %s", v); -+ else -+ u->deserialized_job = type; -+ } - continue; - } else if (streq(l, "inactive-exit-timestamp")) { - dual_timestamp_deserialize(v, &u->inactive_exit_timestamp); -@@ -2450,8 +2471,14 @@ int unit_coldplug(Unit *u) { - if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0) - return r; - -- if (u->deserialized_job >= 0) { -- if ((r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL)) < 0) -+ if (u->job) { -+ r = job_coldplug(u->job); -+ if (r < 0) -+ return r; -+ } else if (u->deserialized_job >= 0) { -+ /* legacy */ -+ r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL); -+ if (r < 0) - return r; - - u->deserialized_job = _JOB_TYPE_INVALID; -diff --git a/src/unit.h b/src/unit.h -index 756f465..5fceabb 100644 ---- a/src/unit.h -+++ b/src/unit.h -@@ -200,7 +200,9 @@ struct Unit { - unsigned gc_marker; - - /* When deserializing, temporarily store the job type for this -- * unit here, if there was a job scheduled */ -+ * unit here, if there was a job scheduled. -+ * Only for deserializing from a legacy version. New style uses full -+ * serialized jobs. */ - int deserialized_job; /* This is actually of type JobType */ - - /* Error code when we didn't manage to load the unit (negative) */ --- -1.7.7 - - -From f2e0e5d5c80c8a489faa584539d7010b056dee7b Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 24 Apr 2012 11:21:03 +0200 -Subject: [PATCH 28/30] transaction: cancel jobs non-recursively on isolate - -Recursive cancellation of jobs would trigger OnFailure actions of -dependent jobs. This is not desirable when isolating. - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=798328 -(cherry picked from commit 5273510e9f228a300ec6207d4502f1c6253aed5e) ---- - src/dbus-job.c | 2 +- - src/job.c | 41 ++++++++++++++++------------------------- - src/job.h | 2 +- - src/manager.c | 3 ++- - src/transaction.c | 10 ++++------ - src/unit.c | 12 ++++++------ - 6 files changed, 30 insertions(+), 40 deletions(-) - -diff --git a/src/dbus-job.c b/src/dbus-job.c -index 63e5846..8474138 100644 ---- a/src/dbus-job.c -+++ b/src/dbus-job.c -@@ -100,7 +100,7 @@ static DBusHandlerResult bus_job_message_dispatch(Job *j, DBusConnection *connec - if (!(reply = dbus_message_new_method_return(message))) - goto oom; - -- job_finish_and_invalidate(j, JOB_CANCELED); -+ job_finish_and_invalidate(j, JOB_CANCELED, true); - - } else { - const BusBoundProperties bps[] = { -diff --git a/src/job.c b/src/job.c -index 69df024..e8e0264 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -164,7 +164,7 @@ Job* job_install(Job *j) { - - if (uj) { - if (job_type_is_conflicting(uj->type, j->type)) -- job_finish_and_invalidate(uj, JOB_CANCELED); -+ job_finish_and_invalidate(uj, JOB_CANCELED, true); - else { - /* not conflicting, i.e. mergeable */ - -@@ -496,13 +496,13 @@ int job_run_and_invalidate(Job *j) { - - if ((j = manager_get_job(m, id))) { - if (r == -EALREADY) -- r = job_finish_and_invalidate(j, JOB_DONE); -+ r = job_finish_and_invalidate(j, JOB_DONE, true); - else if (r == -ENOEXEC) -- r = job_finish_and_invalidate(j, JOB_SKIPPED); -+ r = job_finish_and_invalidate(j, JOB_SKIPPED, true); - else if (r == -EAGAIN) - j->state = JOB_WAITING; - else if (r < 0) -- r = job_finish_and_invalidate(j, JOB_FAILED); -+ r = job_finish_and_invalidate(j, JOB_FAILED, true); - } - - return r; -@@ -555,12 +555,11 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { - } - } - --int job_finish_and_invalidate(Job *j, JobResult result) { -+int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { - Unit *u; - Unit *other; - JobType t; - Iterator i; -- bool recursed = false; - - assert(j); - assert(j->installed); -@@ -594,7 +593,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - job_print_status_message(u, t, result); - - /* Fail depending jobs on failure */ -- if (result != JOB_DONE) { -+ if (result != JOB_DONE && recursive) { - - if (t == JOB_START || - t == JOB_VERIFY_ACTIVE || -@@ -604,29 +603,23 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - if (other->job && - (other->job->type == JOB_START || - other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) { -- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); -- recursed = true; -- } -+ other->job->type == JOB_RELOAD_OR_START)) -+ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - - SET_FOREACH(other, u->dependencies[UNIT_BOUND_BY], i) - if (other->job && - (other->job->type == JOB_START || - other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) { -- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); -- recursed = true; -- } -+ other->job->type == JOB_RELOAD_OR_START)) -+ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - - SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) - if (other->job && - !other->job->override && - (other->job->type == JOB_START || - other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) { -- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); -- recursed = true; -- } -+ other->job->type == JOB_RELOAD_OR_START)) -+ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - - } else if (t == JOB_STOP) { - -@@ -634,10 +627,8 @@ int job_finish_and_invalidate(Job *j, JobResult result) { - if (other->job && - (other->job->type == JOB_START || - other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) { -- job_finish_and_invalidate(other->job, JOB_DEPENDENCY); -- recursed = true; -- } -+ other->job->type == JOB_RELOAD_OR_START)) -+ job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - } - } - -@@ -665,7 +656,7 @@ finish: - - manager_check_finished(u->manager); - -- return recursed; -+ return 0; - } - - int job_start_timer(Job *j) { -@@ -757,7 +748,7 @@ void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w) { - assert(w == &j->timer_watch); - - log_warning("Job %s/%s timed out.", j->unit->id, job_type_to_string(j->type)); -- job_finish_and_invalidate(j, JOB_TIMEOUT); -+ job_finish_and_invalidate(j, JOB_TIMEOUT, true); - } - - int job_serialize(Job *j, FILE *f, FDSet *fds) { -diff --git a/src/job.h b/src/job.h -index eea8242..5b326ef 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -196,7 +196,7 @@ int job_start_timer(Job *j); - void job_timer_event(Job *j, uint64_t n_elapsed, Watch *w); - - int job_run_and_invalidate(Job *j); --int job_finish_and_invalidate(Job *j, JobResult result); -+int job_finish_and_invalidate(Job *j, JobResult result, bool recursive); - - char *job_dbus_path(Job *j); - -diff --git a/src/manager.c b/src/manager.c -index 86ec858..7bff456 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -846,7 +846,8 @@ void manager_clear_jobs(Manager *m) { - assert(m); - - while ((j = hashmap_first(m->jobs))) -- job_finish_and_invalidate(j, JOB_CANCELED); -+ /* No need to recurse. We're cancelling all jobs. */ -+ job_finish_and_invalidate(j, JOB_CANCELED, false); - } - - unsigned manager_dispatch_run_queue(Manager *m) { -diff --git a/src/transaction.c b/src/transaction.c -index b0a26f2..f687539 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -525,18 +525,16 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { - - /* When isolating first kill all installed jobs which - * aren't part of the new transaction */ -- rescan: - HASHMAP_FOREACH(j, m->jobs, i) { - assert(j->installed); - - if (hashmap_get(tr->jobs, j->unit)) - continue; - -- /* 'j' itself is safe to remove, but if other jobs -- are invalidated recursively, our iterator may become -- invalid and we need to start over. */ -- if (job_finish_and_invalidate(j, JOB_CANCELED) > 0) -- goto rescan; -+ /* Not invalidating recursively. Avoids triggering -+ * OnFailure= actions of dependent jobs. Also avoids -+ * invalidating our iterator. */ -+ job_finish_and_invalidate(j, JOB_CANCELED, false); - } - } - -diff --git a/src/unit.c b/src/unit.c -index c203a31..ff8331c 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -1226,12 +1226,12 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - case JOB_VERIFY_ACTIVE: - - if (UNIT_IS_ACTIVE_OR_RELOADING(ns)) -- job_finish_and_invalidate(u->job, JOB_DONE); -+ job_finish_and_invalidate(u->job, JOB_DONE, true); - else if (u->job->state == JOB_RUNNING && ns != UNIT_ACTIVATING) { - unexpected = true; - - if (UNIT_IS_INACTIVE_OR_FAILED(ns)) -- job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE); -+ job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE, true); - } - - break; -@@ -1241,12 +1241,12 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - - if (u->job->state == JOB_RUNNING) { - if (ns == UNIT_ACTIVE) -- job_finish_and_invalidate(u->job, reload_success ? JOB_DONE : JOB_FAILED); -+ job_finish_and_invalidate(u->job, reload_success ? JOB_DONE : JOB_FAILED, true); - else if (ns != UNIT_ACTIVATING && ns != UNIT_RELOADING) { - unexpected = true; - - if (UNIT_IS_INACTIVE_OR_FAILED(ns)) -- job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE); -+ job_finish_and_invalidate(u->job, ns == UNIT_FAILED ? JOB_FAILED : JOB_DONE, true); - } - } - -@@ -1257,10 +1257,10 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - case JOB_TRY_RESTART: - - if (UNIT_IS_INACTIVE_OR_FAILED(ns)) -- job_finish_and_invalidate(u->job, JOB_DONE); -+ job_finish_and_invalidate(u->job, JOB_DONE, true); - else if (u->job->state == JOB_RUNNING && ns != UNIT_DEACTIVATING) { - unexpected = true; -- job_finish_and_invalidate(u->job, JOB_FAILED); -+ job_finish_and_invalidate(u->job, JOB_FAILED, true); - } - - break; --- -1.7.7 - - -From 38a2f4227415ebf3519369d27a23750948f6dddf Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 25 Apr 2012 11:58:27 +0200 -Subject: [PATCH 29/30] core: add NOP jobs, job type collapsing - -Two of our current job types are special: -JOB_TRY_RESTART, JOB_RELOAD_OR_START. - -They differ from other job types by being sensitive to the unit active state. -They perform some action when the unit is active and some other action -otherwise. This raises a question: when exactly should the unit state be -checked to make the decision? - -Currently the unit state is checked when the job becomes runnable. It's more -sensible to check the state immediately when the job is added by the user. -When the user types "systemctl try-restart foo.service", he really intends -to restart the service if it's running right now. If it isn't running right -now, the restart is pointless. - -Consider the example (from Bugzilla[1]): - -sleep.service takes some time to start. -hello.service has After=sleep.service. -Both services get started. Two jobs will appear: - hello.service/start waiting - sleep.service/start running -Then someone runs "systemctl try-restart hello.service". - -Currently the try-restart operation will block and wait for -sleep.service/start to complete. - -The correct result is to complete the try-restart operation immediately -with success, because hello.service is not running. The two original -jobs must not be disturbed by this. - -To fix this we introduce two new concepts: -- a new job type: JOB_NOP - A JOB_NOP job does not do anything to the unit. It does not pull in any - dependencies. It is always immediately runnable. When installed to a unit, - it sits in a special slot (u->nop_job) where it never conflicts with - the installed job (u->job) of a different type. It never merges with jobs - of other types, but it can merge into an already installed JOB_NOP job. - -- "collapsing" of job types - When a job of one of the two special types is added, the state of the unit - is checked immediately and the job type changes: - JOB_TRY_RESTART -> JOB_RESTART or JOB_NOP - JOB_RELOAD_OR_START -> JOB_RELOAD or JOB_START - Should a job type JOB_RELOAD_OR_START appear later during job merging, it - collapses immediately afterwards. - Collapsing actually makes some things simpler, because there are now fewer - job types that are allowed in the transaction. - -[1] Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=753586 -(cherry picked from commit e0209d83e7b30153f43b1a633c955f66eb2c2e4a) - -Conflicts: - - Makefile.am - src/job.c ---- - src/job.c | 163 ++++++++++++++++++++++++++++++++------------------- - src/job.h | 44 ++++++++++---- - src/manager.c | 2 + - src/test-job-type.c | 85 +++++++++++++++++---------- - src/transaction.c | 18 +++--- - src/unit.c | 29 +++++++++- - src/unit.h | 6 +- - 7 files changed, 230 insertions(+), 117 deletions(-) - -diff --git a/src/job.c b/src/job.c -index e8e0264..2438f39 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -60,6 +60,7 @@ Job* job_new_raw(Unit *unit) { - - j->manager = unit->manager; - j->unit = unit; -+ j->type = _JOB_TYPE_INVALID; - j->timer_watch.type = WATCH_INVALID; - - return j; -@@ -115,15 +116,21 @@ void job_free(Job *j) { - } - - void job_uninstall(Job *j) { -+ Job **pj; -+ - assert(j->installed); -- assert(j->unit->job == j); -+ -+ pj = (j->type == JOB_NOP) ? &j->unit->nop_job : &j->unit->job; -+ assert(*pj == j); -+ - /* Detach from next 'bigger' objects */ - - /* daemon-reload should be transparent to job observers */ - if (j->manager->n_reloading <= 0) - bus_job_send_removed_signal(j); - -- j->unit->job = NULL; -+ *pj = NULL; -+ - unit_add_to_gc_queue(j->unit); - - hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); -@@ -144,31 +151,38 @@ static bool job_type_allows_late_merge(JobType t) { - * patched into JOB_START after stopping the unit. So if we see a - * JOB_RESTART running, it means the unit hasn't stopped yet and at - * this time the merge is still allowed. */ -- return !(t == JOB_RELOAD || t == JOB_RELOAD_OR_START); -+ return t != JOB_RELOAD; - } - - static void job_merge_into_installed(Job *j, Job *other) { - assert(j->installed); - assert(j->unit == other->unit); - -- j->type = job_type_lookup_merge(j->type, other->type); -- assert(j->type >= 0); -+ if (j->type != JOB_NOP) -+ job_type_merge_and_collapse(&j->type, other->type, j->unit); -+ else -+ assert(other->type == JOB_NOP); - - j->override = j->override || other->override; - } - - Job* job_install(Job *j) { -- Job *uj = j->unit->job; -+ Job **pj; -+ Job *uj; - - assert(!j->installed); -+ assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); -+ -+ pj = (j->type == JOB_NOP) ? &j->unit->nop_job : &j->unit->job; -+ uj = *pj; - - if (uj) { -- if (job_type_is_conflicting(uj->type, j->type)) -+ if (j->type != JOB_NOP && job_type_is_conflicting(uj->type, j->type)) - job_finish_and_invalidate(uj, JOB_CANCELED, true); - else { - /* not conflicting, i.e. mergeable */ - -- if (uj->state == JOB_WAITING || -+ if (j->type == JOB_NOP || uj->state == JOB_WAITING || - (job_type_allows_late_merge(j->type) && job_type_is_superset(uj->type, j->type))) { - job_merge_into_installed(uj, j); - log_debug("Merged into installed job %s/%s as %u", -@@ -189,23 +203,33 @@ Job* job_install(Job *j) { - } - - /* Install the job */ -- j->unit->job = j; -+ *pj = j; - j->installed = true; - j->manager->n_installed_jobs ++; - log_debug("Installed new job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); - return j; - } - --void job_install_deserialized(Job *j) { -+int job_install_deserialized(Job *j) { -+ Job **pj; -+ - assert(!j->installed); - -- if (j->unit->job) { -+ if (j->type < 0 || j->type >= _JOB_TYPE_MAX_IN_TRANSACTION) { -+ log_debug("Invalid job type %s in deserialization.", strna(job_type_to_string(j->type))); -+ return -EINVAL; -+ } -+ -+ pj = (j->type == JOB_NOP) ? &j->unit->nop_job : &j->unit->job; -+ -+ if (*pj) { - log_debug("Unit %s already has a job installed. Not installing deserialized job.", j->unit->id); -- return; -+ return -EEXIST; - } -- j->unit->job = j; -+ *pj = j; - j->installed = true; - log_debug("Reinstalled deserialized job %s/%s as %u", j->unit->id, job_type_to_string(j->type), (unsigned) j->id); -+ return 0; - } - - JobDependency* job_dependency_new(Job *subject, Job *object, bool matters, bool conflicts) { -@@ -268,6 +292,10 @@ void job_dump(Job *j, FILE*f, const char *prefix) { - * its lower triangle to avoid duplication. We don't store the main diagonal, - * because A merged with A is simply A. - * -+ * If the resulting type is collapsed immediately afterwards (to get rid of -+ * the JOB_RELOAD_OR_START, which lies outside the lookup function's domain), -+ * the following properties hold: -+ * - * Merging is associative! A merged with B merged with C is the same as - * A merged with C merged with B. - * -@@ -278,21 +306,19 @@ void job_dump(Job *j, FILE*f, const char *prefix) { - * be merged with C either. - */ - static const JobType job_merging_table[] = { --/* What \ With * JOB_START JOB_VERIFY_ACTIVE JOB_STOP JOB_RELOAD JOB_RELOAD_OR_START JOB_RESTART JOB_TRY_RESTART */ --/************************************************************************************************************************************/ -+/* What \ With * JOB_START JOB_VERIFY_ACTIVE JOB_STOP JOB_RELOAD */ -+/*********************************************************************************/ - /*JOB_START */ - /*JOB_VERIFY_ACTIVE */ JOB_START, - /*JOB_STOP */ -1, -1, - /*JOB_RELOAD */ JOB_RELOAD_OR_START, JOB_RELOAD, -1, --/*JOB_RELOAD_OR_START*/ JOB_RELOAD_OR_START, JOB_RELOAD_OR_START, -1, JOB_RELOAD_OR_START, --/*JOB_RESTART */ JOB_RESTART, JOB_RESTART, -1, JOB_RESTART, JOB_RESTART, --/*JOB_TRY_RESTART */ JOB_RESTART, JOB_TRY_RESTART, -1, JOB_TRY_RESTART, JOB_RESTART, JOB_RESTART, -+/*JOB_RESTART */ JOB_RESTART, JOB_RESTART, -1, JOB_RESTART, - }; - - JobType job_type_lookup_merge(JobType a, JobType b) { -- assert_cc(ELEMENTSOF(job_merging_table) == _JOB_TYPE_MAX * (_JOB_TYPE_MAX - 1) / 2); -- assert(a >= 0 && a < _JOB_TYPE_MAX); -- assert(b >= 0 && b < _JOB_TYPE_MAX); -+ assert_cc(ELEMENTSOF(job_merging_table) == _JOB_TYPE_MAX_MERGING * (_JOB_TYPE_MAX_MERGING - 1) / 2); -+ assert(a >= 0 && a < _JOB_TYPE_MAX_MERGING); -+ assert(b >= 0 && b < _JOB_TYPE_MAX_MERGING); - - if (a == b) - return a; -@@ -328,24 +354,50 @@ bool job_type_is_redundant(JobType a, UnitActiveState b) { - return - b == UNIT_RELOADING; - -- case JOB_RELOAD_OR_START: -- return -- b == UNIT_ACTIVATING || -- b == UNIT_RELOADING; -- - case JOB_RESTART: - return - b == UNIT_ACTIVATING; - -+ default: -+ assert_not_reached("Invalid job type"); -+ } -+} -+ -+void job_type_collapse(JobType *t, Unit *u) { -+ UnitActiveState s; -+ -+ switch (*t) { -+ - case JOB_TRY_RESTART: -- return -- b == UNIT_ACTIVATING; -+ s = unit_active_state(u); -+ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(s)) -+ *t = JOB_NOP; -+ else -+ *t = JOB_RESTART; -+ break; -+ -+ case JOB_RELOAD_OR_START: -+ s = unit_active_state(u); -+ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(s)) -+ *t = JOB_START; -+ else -+ *t = JOB_RELOAD; -+ break; - - default: -- assert_not_reached("Invalid job type"); -+ ; - } - } - -+int job_type_merge_and_collapse(JobType *a, JobType b, Unit *u) { -+ JobType t = job_type_lookup_merge(*a, b); -+ if (t < 0) -+ return -EEXIST; -+ *a = t; -+ job_type_collapse(a, u); -+ return 0; -+} -+ - bool job_is_runnable(Job *j) { - Iterator i; - Unit *other; -@@ -362,10 +414,12 @@ bool job_is_runnable(Job *j) { - if (j->ignore_order) - return true; - -+ if (j->type == JOB_NOP) -+ return true; -+ - if (j->type == JOB_START || - j->type == JOB_VERIFY_ACTIVE || -- j->type == JOB_RELOAD || -- j->type == JOB_RELOAD_OR_START) { -+ j->type == JOB_RELOAD) { - - /* Immediate result is that the job is or might be - * started. In this case lets wait for the -@@ -383,8 +437,7 @@ bool job_is_runnable(Job *j) { - SET_FOREACH(other, j->unit->dependencies[UNIT_BEFORE], i) - if (other->job && - (other->job->type == JOB_STOP || -- other->job->type == JOB_RESTART || -- other->job->type == JOB_TRY_RESTART)) -+ other->job->type == JOB_RESTART)) - return false; - - /* This means that for a service a and a service b where b -@@ -416,6 +469,7 @@ int job_run_and_invalidate(Job *j) { - - assert(j); - assert(j->installed); -+ assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); - - if (j->in_run_queue) { - LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); -@@ -441,15 +495,6 @@ int job_run_and_invalidate(Job *j) { - - switch (j->type) { - -- case JOB_RELOAD_OR_START: -- if (unit_active_state(j->unit) == UNIT_ACTIVE) { -- j->type = JOB_RELOAD; -- r = unit_reload(j->unit); -- break; -- } -- j->type = JOB_START; -- /* fall through */ -- - case JOB_START: - r = unit_start(j->unit); - -@@ -469,14 +514,6 @@ int job_run_and_invalidate(Job *j) { - break; - } - -- case JOB_TRY_RESTART: -- if (UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(j->unit))) { -- r = -ENOEXEC; -- break; -- } -- j->type = JOB_RESTART; -- /* fall through */ -- - case JOB_STOP: - case JOB_RESTART: - r = unit_stop(j->unit); -@@ -490,11 +527,16 @@ int job_run_and_invalidate(Job *j) { - r = unit_reload(j->unit); - break; - -+ case JOB_NOP: -+ r = -EALREADY; -+ break; -+ - default: - assert_not_reached("Unknown job type"); - } - -- if ((j = manager_get_job(m, id))) { -+ j = manager_get_job(m, id); -+ if (j) { - if (r == -EALREADY) - r = job_finish_and_invalidate(j, JOB_DONE, true); - else if (r == -ENOEXEC) -@@ -563,6 +605,7 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { - - assert(j); - assert(j->installed); -+ assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); - - job_add_to_dbus_queue(j); - -@@ -596,29 +639,25 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { - if (result != JOB_DONE && recursive) { - - if (t == JOB_START || -- t == JOB_VERIFY_ACTIVE || -- t == JOB_RELOAD_OR_START) { -+ t == JOB_VERIFY_ACTIVE) { - - SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY], i) - if (other->job && - (other->job->type == JOB_START || -- other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) -+ other->job->type == JOB_VERIFY_ACTIVE)) - job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - - SET_FOREACH(other, u->dependencies[UNIT_BOUND_BY], i) - if (other->job && - (other->job->type == JOB_START || -- other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) -+ other->job->type == JOB_VERIFY_ACTIVE)) - job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - - SET_FOREACH(other, u->dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) - if (other->job && - !other->job->override && - (other->job->type == JOB_START || -- other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) -+ other->job->type == JOB_VERIFY_ACTIVE)) - job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - - } else if (t == JOB_STOP) { -@@ -626,8 +665,7 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { - SET_FOREACH(other, u->dependencies[UNIT_CONFLICTED_BY], i) - if (other->job && - (other->job->type == JOB_START || -- other->job->type == JOB_VERIFY_ACTIVE || -- other->job->type == JOB_RELOAD_OR_START)) -+ other->job->type == JOB_VERIFY_ACTIVE)) - job_finish_and_invalidate(other->job, JOB_DEPENDENCY, true); - } - } -@@ -807,6 +845,8 @@ int job_deserialize(Job *j, FILE *f, FDSet *fds) { - JobType t = job_type_from_string(v); - if (t < 0) - log_debug("Failed to parse job type %s", v); -+ else if (t >= _JOB_TYPE_MAX_IN_TRANSACTION) -+ log_debug("Cannot deserialize job of type %s", v); - else - j->type = t; - } else if (streq(l, "job-state")) { -@@ -886,6 +926,7 @@ static const char* const job_type_table[_JOB_TYPE_MAX] = { - [JOB_RELOAD_OR_START] = "reload-or-start", - [JOB_RESTART] = "restart", - [JOB_TRY_RESTART] = "try-restart", -+ [JOB_NOP] = "nop", - }; - - DEFINE_STRING_TABLE_LOOKUP(job_type, JobType); -diff --git a/src/job.h b/src/job.h -index 5b326ef..4edf3b9 100644 ---- a/src/job.h -+++ b/src/job.h -@@ -46,14 +46,34 @@ enum JobType { - - JOB_STOP, - -- JOB_RELOAD, /* if running reload */ -- JOB_RELOAD_OR_START, /* if running reload, if not running start */ -+ JOB_RELOAD, /* if running, reload */ - - /* Note that restarts are first treated like JOB_STOP, but - * then instead of finishing are patched to become - * JOB_START. */ -- JOB_RESTART, /* if running stop, then start unconditionally */ -- JOB_TRY_RESTART, /* if running stop and then start */ -+ JOB_RESTART, /* If running, stop. Then start unconditionally. */ -+ -+ _JOB_TYPE_MAX_MERGING, -+ -+ /* JOB_NOP can enter into a transaction, but as it won't pull in -+ * any dependencies, it won't have to merge with anything. -+ * job_install() avoids the problem of merging JOB_NOP too (it's -+ * special-cased, only merges with other JOB_NOPs). */ -+ JOB_NOP = _JOB_TYPE_MAX_MERGING, /* do nothing */ -+ -+ _JOB_TYPE_MAX_IN_TRANSACTION, -+ -+ /* JOB_TRY_RESTART can never appear in a transaction, because -+ * it always collapses into JOB_RESTART or JOB_NOP before entering. -+ * Thus we never need to merge it with anything. */ -+ JOB_TRY_RESTART = _JOB_TYPE_MAX_IN_TRANSACTION, /* if running, stop and then start */ -+ -+ /* JOB_RELOAD_OR_START won't enter into a transaction and cannot result -+ * from transaction merging (there's no way for JOB_RELOAD and -+ * JOB_START to meet in one transaction). It can result from a merge -+ * during job installation, but then it will immediately collapse into -+ * one of the two simpler types. */ -+ JOB_RELOAD_OR_START, /* if running, reload, otherwise start */ - - _JOB_TYPE_MAX, - _JOB_TYPE_INVALID = -1 -@@ -150,7 +170,7 @@ Job* job_new(Unit *unit, JobType type); - Job* job_new_raw(Unit *unit); - void job_free(Job *job); - Job* job_install(Job *j); --void job_install_deserialized(Job *j); -+int job_install_deserialized(Job *j); - void job_uninstall(Job *j); - void job_dump(Job *j, FILE*f, const char *prefix); - int job_serialize(Job *j, FILE *f, FDSet *fds); -@@ -164,14 +184,6 @@ int job_merge(Job *j, Job *other); - - JobType job_type_lookup_merge(JobType a, JobType b); - --static inline int job_type_merge(JobType *a, JobType b) { -- JobType t = job_type_lookup_merge(*a, b); -- if (t < 0) -- return -EEXIST; -- *a = t; -- return 0; --} -- - static inline bool job_type_is_mergeable(JobType a, JobType b) { - return job_type_lookup_merge(a, b) >= 0; - } -@@ -187,6 +199,12 @@ static inline bool job_type_is_superset(JobType a, JobType b) { - - bool job_type_is_redundant(JobType a, UnitActiveState b); - -+/* Collapses a state-dependent job type into a simpler type by observing -+ * the state of the unit which it is going to be applied to. */ -+void job_type_collapse(JobType *t, Unit *u); -+ -+int job_type_merge_and_collapse(JobType *a, JobType b, Unit *u); -+ - bool job_is_runnable(Job *j); - - void job_add_to_run_queue(Job *j); -diff --git a/src/manager.c b/src/manager.c -index 7bff456..0f87e9f 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -650,6 +650,8 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove - - log_debug("Trying to enqueue job %s/%s/%s", unit->id, job_type_to_string(type), job_mode_to_string(mode)); - -+ job_type_collapse(&type, unit); -+ - tr = transaction_new(); - if (!tr) - return -ENOMEM; -diff --git a/src/test-job-type.c b/src/test-job-type.c -index 9de21e1..c7a9b5a 100644 ---- a/src/test-job-type.c -+++ b/src/test-job-type.c -@@ -25,59 +25,80 @@ - #include - - #include "job.h" -+#include "unit.h" -+#include "service.h" - - int main(int argc, char*argv[]) { -- JobType a, b, c, d, e, f, g; -+ JobType a, b, c, ab, bc, ab_c, bc_a, a_bc; -+ const ServiceState test_states[] = { SERVICE_DEAD, SERVICE_RUNNING }; -+ unsigned i; -+ bool merged_ab; - -- for (a = 0; a < _JOB_TYPE_MAX; a++) -- for (b = 0; b < _JOB_TYPE_MAX; b++) { -+ /* fake a unit */ -+ static Service s = { -+ .meta.load_state = UNIT_LOADED, -+ .type = UNIT_SERVICE -+ }; -+ Unit *u = UNIT(&s); - -- if (!job_type_is_mergeable(a, b)) -- printf("Not mergeable: %s + %s\n", job_type_to_string(a), job_type_to_string(b)); -+ for (i = 0; i < ELEMENTSOF(test_states); i++) { -+ s.state = test_states[i]; -+ printf("\nWith collapsing for service state %s\n" -+ "=========================================\n", service_state_to_string(s.state)); -+ for (a = 0; a < _JOB_TYPE_MAX_MERGING; a++) { -+ for (b = 0; b < _JOB_TYPE_MAX_MERGING; b++) { - -- for (c = 0; c < _JOB_TYPE_MAX; c++) { -+ ab = a; -+ merged_ab = (job_type_merge_and_collapse(&ab, b, u) >= 0); - -- /* Verify transitivity of mergeability -- * of job types */ -- assert(!job_type_is_mergeable(a, b) || -- !job_type_is_mergeable(b, c) || -- job_type_is_mergeable(a, c)); -+ if (!job_type_is_mergeable(a, b)) { -+ assert(!merged_ab); -+ printf("Not mergeable: %s + %s\n", job_type_to_string(a), job_type_to_string(b)); -+ continue; -+ } -+ -+ assert(merged_ab); -+ printf("%s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(ab)); - -- d = a; -- if (job_type_merge(&d, b) >= 0) { -+ for (c = 0; c < _JOB_TYPE_MAX_MERGING; c++) { - -- printf("%s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(d)); -+ /* Verify transitivity of mergeability of job types */ -+ assert(!job_type_is_mergeable(a, b) || -+ !job_type_is_mergeable(b, c) || -+ job_type_is_mergeable(a, c)); - -- /* Verify that merged entries can be -- * merged with the same entries they -- * can be merged with separately */ -- assert(!job_type_is_mergeable(a, c) || job_type_is_mergeable(d, c)); -- assert(!job_type_is_mergeable(b, c) || job_type_is_mergeable(d, c)); -+ /* Verify that merged entries can be merged with the same entries -+ * they can be merged with separately */ -+ assert(!job_type_is_mergeable(a, c) || job_type_is_mergeable(ab, c)); -+ assert(!job_type_is_mergeable(b, c) || job_type_is_mergeable(ab, c)); - -- /* Verify that if a merged -- * with b is not mergeable with -- * c then either a or b is not -- * mergeable with c either. */ -- assert(job_type_is_mergeable(d, c) || !job_type_is_mergeable(a, c) || !job_type_is_mergeable(b, c)); -+ /* Verify that if a merged with b is not mergeable with c, then -+ * either a or b is not mergeable with c either. */ -+ assert(job_type_is_mergeable(ab, c) || !job_type_is_mergeable(a, c) || !job_type_is_mergeable(b, c)); - -- e = b; -- if (job_type_merge(&e, c) >= 0) { -+ bc = b; -+ if (job_type_merge_and_collapse(&bc, c, u) >= 0) { - - /* Verify associativity */ - -- f = d; -- assert(job_type_merge(&f, c) == 0); -+ ab_c = ab; -+ assert(job_type_merge_and_collapse(&ab_c, c, u) == 0); -+ -+ bc_a = bc; -+ assert(job_type_merge_and_collapse(&bc_a, a, u) == 0); - -- g = e; -- assert(job_type_merge(&g, a) == 0); -+ a_bc = a; -+ assert(job_type_merge_and_collapse(&a_bc, bc, u) == 0); - -- assert(f == g); -+ assert(ab_c == bc_a); -+ assert(ab_c == a_bc); - -- printf("%s + %s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(c), job_type_to_string(d)); -+ printf("%s + %s + %s = %s\n", job_type_to_string(a), job_type_to_string(b), job_type_to_string(c), job_type_to_string(ab_c)); - } - } - } - } -+ } - - - return 0; -diff --git a/src/transaction.c b/src/transaction.c -index f687539..ceac5a6 100644 ---- a/src/transaction.c -+++ b/src/transaction.c -@@ -212,7 +212,7 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { - - t = j->type; - LIST_FOREACH(transaction, k, j->transaction_next) { -- if (job_type_merge(&t, k->type) >= 0) -+ if (job_type_merge_and_collapse(&t, k->type, j->unit) >= 0) - continue; - - /* OK, we could not merge all jobs for this -@@ -238,9 +238,9 @@ static int transaction_merge_jobs(Transaction *tr, DBusError *e) { - JobType t = j->type; - Job *k; - -- /* Merge all transactions */ -+ /* Merge all transaction jobs for j->unit */ - LIST_FOREACH(transaction, k, j->transaction_next) -- assert_se(job_type_merge(&t, k->type) == 0); -+ assert_se(job_type_merge_and_collapse(&t, k->type, j->unit) == 0); - - while ((k = j->transaction_next)) { - if (tr->anchor_job == k) { -@@ -774,6 +774,7 @@ int transaction_add_job_and_dependencies( - - assert(tr); - assert(type < _JOB_TYPE_MAX); -+ assert(type < _JOB_TYPE_MAX_IN_TRANSACTION); - assert(unit); - - /* log_debug("Pulling in %s/%s from %s/%s", */ -@@ -824,7 +825,8 @@ int transaction_add_job_and_dependencies( - assert(!tr->anchor_job); - tr->anchor_job = ret; - } -- if (is_new && !ignore_requirements) { -+ -+ if (is_new && !ignore_requirements && type != JOB_NOP) { - Set *following; - - /* If we are following some other unit, make sure we -@@ -844,7 +846,7 @@ int transaction_add_job_and_dependencies( - } - - /* Finally, recursively add in all dependencies. */ -- if (type == JOB_START || type == JOB_RELOAD_OR_START || type == JOB_RESTART) { -+ if (type == JOB_START || type == JOB_RESTART) { - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) { - r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e); - if (r < 0) { -@@ -934,7 +936,7 @@ int transaction_add_job_and_dependencies( - - } - -- if (type == JOB_STOP || type == JOB_RESTART || type == JOB_TRY_RESTART) { -+ if (type == JOB_STOP || type == JOB_RESTART) { - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRED_BY], i) { - r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); -@@ -959,7 +961,7 @@ int transaction_add_job_and_dependencies( - } - } - -- if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START) { -+ if (type == JOB_RELOAD) { - - SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATE_RELOAD_TO], i) { - r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, override, false, false, ignore_order, e); -@@ -972,7 +974,7 @@ int transaction_add_job_and_dependencies( - } - } - -- /* JOB_VERIFY_STARTED, JOB_RELOAD require no dependency handling */ -+ /* JOB_VERIFY_STARTED require no dependency handling */ - } - - return 0; -diff --git a/src/unit.c b/src/unit.c -index ff8331c..3625ed2 100644 ---- a/src/unit.c -+++ b/src/unit.c -@@ -249,6 +249,9 @@ bool unit_check_gc(Unit *u) { - if (u->job) - return true; - -+ if (u->nop_job) -+ return true; -+ - if (unit_active_state(u) != UNIT_INACTIVE) - return true; - -@@ -358,6 +361,12 @@ void unit_free(Unit *u) { - job_free(j); - } - -+ if (u->nop_job) { -+ Job *j = u->nop_job; -+ job_uninstall(j); -+ job_free(j); -+ } -+ - for (d = 0; d < _UNIT_DEPENDENCY_MAX; d++) - bidi_set_free(u, u->dependencies[d]); - -@@ -501,6 +510,9 @@ int unit_merge(Unit *u, Unit *other) { - if (other->job) - return -EEXIST; - -+ if (other->nop_job) -+ return -EEXIST; -+ - if (!UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) - return -EEXIST; - -@@ -729,6 +741,9 @@ void unit_dump(Unit *u, FILE *f, const char *prefix) { - if (u->job) - job_dump(u->job, f, prefix2); - -+ if (u->nop_job) -+ job_dump(u->nop_job, f, prefix2); -+ - free(p2); - } - -@@ -1507,6 +1522,7 @@ bool unit_job_is_applicable(Unit *u, JobType j) { - case JOB_VERIFY_ACTIVE: - case JOB_START: - case JOB_STOP: -+ case JOB_NOP: - return true; - - case JOB_RESTART: -@@ -2293,6 +2309,11 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds) { - job_serialize(u->job, f, fds); - } - -+ if (u->nop_job) { -+ fprintf(f, "job\n"); -+ job_serialize(u->nop_job, f, fds); -+ } -+ - dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); - dual_timestamp_serialize(f, "active-enter-timestamp", &u->active_enter_timestamp); - dual_timestamp_serialize(f, "active-exit-timestamp", &u->active_exit_timestamp); -@@ -2382,12 +2403,18 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { - return r; - } - -- job_install_deserialized(j); - r = hashmap_put(u->manager->jobs, UINT32_TO_PTR(j->id), j); - if (r < 0) { - job_free(j); - return r; - } -+ -+ r = job_install_deserialized(j); -+ if (r < 0) { -+ hashmap_remove(u->manager->jobs, UINT32_TO_PTR(j->id)); -+ job_free(j); -+ return r; -+ } - } else { - /* legacy */ - JobType type = job_type_from_string(v); -diff --git a/src/unit.h b/src/unit.h -index 5fceabb..62b82bc 100644 ---- a/src/unit.h -+++ b/src/unit.h -@@ -158,10 +158,12 @@ struct Unit { - char *fragment_path; /* if loaded from a config file this is the primary path to it */ - usec_t fragment_mtime; - -- /* If there is something to do with this unit, then this is -- * the job for it */ -+ /* If there is something to do with this unit, then this is the installed job for it */ - Job *job; - -+ /* JOB_NOP jobs are special and can be installed without disturbing the real job. */ -+ Job *nop_job; -+ - usec_t job_timeout; - - /* References to this */ --- -1.7.7 - - -From ad1ece751b204c21424b6bf1de265fec406ba2e4 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Sat, 12 May 2012 21:06:27 +0200 -Subject: [PATCH 30/30] job: only jobs on the runqueue can be run - ---- - src/job.c | 7 +++---- - 1 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/job.c b/src/job.c -index 2438f39..d6e7cb1 100644 ---- a/src/job.c -+++ b/src/job.c -@@ -470,11 +470,10 @@ int job_run_and_invalidate(Job *j) { - assert(j); - assert(j->installed); - assert(j->type < _JOB_TYPE_MAX_IN_TRANSACTION); -+ assert(j->in_run_queue); - -- if (j->in_run_queue) { -- LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); -- j->in_run_queue = false; -- } -+ LIST_REMOVE(Job, run_queue, j->manager->run_queue, j); -+ j->in_run_queue = false; - - if (j->state != JOB_WAITING) - return 0; --- -1.7.7 - diff --git a/journal-bugfixes.patch b/journal-bugfixes.patch deleted file mode 100644 index 428d165b..00000000 --- a/journal-bugfixes.patch +++ /dev/null @@ -1,186 +0,0 @@ -From 911efc97f9bfe2ad4f4d021f5e76d05c8d5d81ac Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 12 Apr 2012 12:57:41 +0200 -Subject: [PATCH 1/4] journald: add missing flag to open() - ---- - src/journal/journald.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/journal/journald.c b/src/journal/journald.c -index baad3ab..c8b400a 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -2461,7 +2461,7 @@ static int open_proc_kmsg(Server *s) { - return 0; - - -- s->proc_kmsg_fd = open("/proc/kmsg", O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ s->proc_kmsg_fd = open("/proc/kmsg", O_RDONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); - if (s->proc_kmsg_fd < 0) { - log_warning("Failed to open /proc/kmsg, ignoring: %m"); - return 0; --- -1.7.7 - - -From 94b8299358fd743137857bc0f28ab62bcf6eec92 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 13 Apr 2012 13:58:50 +0200 -Subject: [PATCH 2/4] fix a couple of things found with the llvm static - analyzer - ---- - src/journal/journal-file.c | 2 +- - src/journal/journald.c | 2 +- - src/logs-show.c | 2 +- - src/manager.c | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 474dd5c..5255c3b 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -1974,7 +1974,7 @@ int journal_directory_vacuum(const char *directory, uint64_t max_use, uint64_t m - size_t q; - struct stat st; - char *p; -- unsigned long long seqnum, realtime; -+ unsigned long long seqnum = 0, realtime; - sd_id128_t seqnum_id; - bool have_seqnum; - -diff --git a/src/journal/journald.c b/src/journal/journald.c -index c8b400a..1118b7e 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -1140,7 +1140,7 @@ static void process_native_message( - char *identifier = NULL, *message = NULL; - - assert(s); -- assert(buffer || n == 0); -+ assert(buffer || buffer_size == 0); - - p = buffer; - remaining = buffer_size; -diff --git a/src/logs-show.c b/src/logs-show.c -index f71c6b0..eb9a902 100644 ---- a/src/logs-show.c -+++ b/src/logs-show.c -@@ -541,7 +541,7 @@ int show_journal_by_unit( - bool follow) { - - char *m = NULL; -- sd_journal *j; -+ sd_journal *j = NULL; - int r; - int fd; - unsigned line = 0; -diff --git a/src/manager.c b/src/manager.c -index 74bd740..3e592b6 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -2979,7 +2979,7 @@ bool manager_unit_pending_inactive(Manager *m, const char *name) { - - void manager_check_finished(Manager *m) { - char userspace[FORMAT_TIMESPAN_MAX], initrd[FORMAT_TIMESPAN_MAX], kernel[FORMAT_TIMESPAN_MAX], sum[FORMAT_TIMESPAN_MAX]; -- usec_t kernel_usec = 0, initrd_usec = 0, userspace_usec = 0, total_usec = 0; -+ usec_t kernel_usec, initrd_usec, userspace_usec, total_usec; - - assert(m); - --- -1.7.7 - - -From f83fa045b967478a80ca55477dfe6a5be5f0b4a8 Mon Sep 17 00:00:00 2001 -From: Sjoerd Simons -Date: Sat, 14 Apr 2012 14:11:08 +0200 -Subject: [PATCH 3/4] journal: crash when filesystem is low on space - -When space is getting too low on a file system rotating the journal file -will fail after the rotation, as opening the new logfile will fail. - -Recognize this when logging the error and don't try to dereference a -NULL JournalFile pointer. ---- - src/journal/journald.c | 16 +++++++++++++--- - 1 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/src/journal/journald.c b/src/journal/journald.c -index 1118b7e..9180656 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -330,7 +330,10 @@ static void server_rotate(Server *s) { - if (s->runtime_journal) { - r = journal_file_rotate(&s->runtime_journal); - if (r < 0) -- log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); -+ if (s->runtime_journal) -+ log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); -+ else -+ log_error("Failed to create new runtime journal: %s", strerror(-r)); - else - server_fix_perms(s, s->runtime_journal, 0); - } -@@ -338,7 +341,11 @@ static void server_rotate(Server *s) { - if (s->system_journal) { - r = journal_file_rotate(&s->system_journal); - if (r < 0) -- log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); -+ if (s->system_journal) -+ log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); -+ else -+ log_error("Failed to create new system journal: %s", strerror(-r)); -+ - else - server_fix_perms(s, s->system_journal, 0); - } -@@ -346,7 +353,10 @@ static void server_rotate(Server *s) { - HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) { - r = journal_file_rotate(&f); - if (r < 0) -- log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -+ if (f->path) -+ log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -+ else -+ log_error("Failed to create user journal: %s", strerror(-r)); - else { - hashmap_replace(s->user_journals, k, f); - server_fix_perms(s, s->system_journal, PTR_TO_UINT32(k)); --- -1.7.7 - - -From d80e2f5c26aae25c0773042bcd1599d3c583bf6a Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 12 Jun 2012 16:45:09 +0200 -Subject: [PATCH 4/4] journal-file: fix mmap leak - -https://bugzilla.redhat.com/show_bug.cgi?id=831132 ---- - src/journal/journal-file.c | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 5255c3b..e242fa2 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -67,9 +67,12 @@ void journal_file_close(JournalFile *f) { - - assert(f); - -- if (f->header && f->writable) -- f->header->state = STATE_OFFLINE; -+ if (f->header) { -+ if (f->writable) -+ f->header->state = STATE_OFFLINE; - -+ munmap(f->header, PAGE_ALIGN(sizeof(Header))); -+ } - - for (t = 0; t < _WINDOW_MAX; t++) - if (f->windows[t].ptr) --- -1.7.7 - diff --git a/journalctl-pager-improvement.patch b/journalctl-pager-improvement.patch deleted file mode 100644 index 81be11e4..00000000 --- a/journalctl-pager-improvement.patch +++ /dev/null @@ -1,448 +0,0 @@ -From 1682c4bf5b993b956b0367aedc9f0638055540f4 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Thu, 19 Jul 2012 21:12:16 +0000 -Subject: [PATCH 1/3] journalctl: fix assertion failure in ellipsize_mem() - -When showing the journal through "journalctl --no-pager", if the -prefix of the log message (i.e. the date and syslog identifier) is -less than 3 characters shorter than the width of the terminal, you -get: - -Assertion 'new_length >= 3' failed at src/shared/util.c:3859, function ellipsize_mem(). Aborting. - -because there is not enough space for the "...". This patch add the -necessary check. ---- - src/logs-show.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/logs-show.c b/src/logs-show.c -index eb9a902..72367f2 100644 ---- a/src/logs-show.c -+++ b/src/logs-show.c -@@ -230,7 +230,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s - printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len)); - } else if (message_len + n < n_columns) - printf(": %.*s\n", (int) message_len, message); -- else if (n < n_columns) { -+ else if (n < n_columns && n_columns - n - 2 >= 3) { - char *e; - - e = ellipsize_mem(message, message_len, n_columns - n - 2, 90); --- -1.7.10.4 - - -From ee385756e10862a8bcc0e5c7a3776135af84c750 Mon Sep 17 00:00:00 2001 -From: Zbigniew Jedrzejewski-Szmek -Date: Fri, 20 Jul 2012 09:06:26 +0200 -Subject: [PATCH 2/3] journalctl: fix ellipsization with PAGER=cat - -There are other reasons for not opening the pager then the --no-pager -or --follow options (described below). If the pager is not used, -messages must be ellipsized. - -On Fri, Jul 20, 2012 at 05:42:44AM +0000, Shawn Landen wrote: -> "Pager to use when --no-pager is not given; overrides $PAGER. -> Setting this to an empty string or the value cat is equivalent to passing --no-pager." - -Conflicts: - src/journal/journalctl.c ---- - src/journal/journalctl.c | 5 +---- - src/pager.c | 17 ++++++++++------- - src/pager.h | 4 +++- - 3 files changed, 14 insertions(+), 12 deletions(-) - -diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c -index f90b2dd..3a3b043 100644 ---- a/src/journal/journalctl.c -+++ b/src/journal/journalctl.c -@@ -259,10 +259,7 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- if (!arg_no_pager && !arg_follow) { -- columns(); -- pager_open(); -- } -+ have_pager = !arg_no_pager && !arg_follow && pager_open(); - - if (arg_output == OUTPUT_JSON) { - fputc('[', stdout); -diff --git a/src/pager.c b/src/pager.c -index 3fc8182..8065841 100644 ---- a/src/pager.c -+++ b/src/pager.c -@@ -44,20 +44,20 @@ _noreturn_ static void pager_fallback(void) { - _exit(EXIT_SUCCESS); - } - --void pager_open(void) { -+bool pager_open(void) { - int fd[2]; - const char *pager; - pid_t parent_pid; - - if (pager_pid > 0) -- return; -+ return false; - - if ((pager = getenv("SYSTEMD_PAGER")) || (pager = getenv("PAGER"))) - if (!*pager || streq(pager, "cat")) -- return; -+ return false; - - if (isatty(STDOUT_FILENO) <= 0) -- return; -+ return false; - - /* Determine and cache number of columns before we spawn the - * pager so that we get the value from the actual tty */ -@@ -65,7 +65,7 @@ void pager_open(void) { - - if (pipe(fd) < 0) { - log_error("Failed to create pager pipe: %m"); -- return; -+ return false; - } - - parent_pid = getpid(); -@@ -74,7 +74,7 @@ void pager_open(void) { - if (pager_pid < 0) { - log_error("Failed to fork pager: %m"); - close_pipe(fd); -- return; -+ return false; - } - - /* In the child start the pager */ -@@ -115,10 +115,13 @@ void pager_open(void) { - } - - /* Return in the parent */ -- if (dup2(fd[1], STDOUT_FILENO) < 0) -+ if (dup2(fd[1], STDOUT_FILENO) < 0) { - log_error("Failed to duplicate pager pipe: %m"); -+ return false; -+ } - - close_pipe(fd); -+ return true; - } - - void pager_close(void) { -diff --git a/src/pager.h b/src/pager.h -index b5b4998..bd1a983 100644 ---- a/src/pager.h -+++ b/src/pager.h -@@ -22,7 +22,9 @@ - along with systemd; If not, see . - ***/ - --void pager_open(void); -+#include -+ -+bool pager_open(void); - void pager_close(void); - - #endif --- -1.7.10.4 - - -From ae88e07aec6280e90582703f7950468604182a4b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 17 Jul 2012 07:35:08 +0200 -Subject: [PATCH 3/3] journalctl: do not ellipsize when using pager -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If a pager is used, ellipsization is redundant — the pager does -that better by hiding the part that cannot be shown. Pager's advantage -is that the user can press → to view the hidden part of a message, -and then ← to return. - -cherry-picked from 92a1fd9e95954a557d6fe27b56f5ef1b89fc2f5e and 25277cd7fbd77e4c8b20572570aa77c7da9abcc2 ---- - src/journal/journalctl.c | 7 ++++- - src/logs-show.c | 66 ++++++++++++++++++++++++++++------------------ - src/logs-show.h | 14 +++++++--- - src/systemctl.c | 8 +++++- - 4 files changed, 64 insertions(+), 31 deletions(-) - -diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c -index 3a3b043..197af71 100644 ---- a/src/journal/journalctl.c -+++ b/src/journal/journalctl.c -@@ -198,6 +198,7 @@ int main(int argc, char *argv[]) { - sd_journal *j = NULL; - unsigned line = 0; - bool need_seek = false; -+ bool have_pager; - - log_parse_environment(); - log_open(); -@@ -268,6 +269,10 @@ int main(int argc, char *argv[]) { - - for (;;) { - for (;;) { -+ int flags = -+ arg_show_all * OUTPUT_SHOW_ALL | -+ have_pager * OUTPUT_FULL_WIDTH; -+ - if (need_seek) { - r = sd_journal_next(j); - if (r < 0) { -@@ -281,7 +286,7 @@ int main(int argc, char *argv[]) { - - line ++; - -- r = output_journal(j, arg_output, line, 0, arg_show_all); -+ r = output_journal(j, arg_output, line, 0, flags); - if (r < 0) - goto finish; - -diff --git a/src/logs-show.c b/src/logs-show.c -index 72367f2..06ba569 100644 ---- a/src/logs-show.c -+++ b/src/logs-show.c -@@ -86,7 +86,8 @@ static bool shall_print(bool show_all, char *p, size_t l) { - return true; - } - --static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool show_all, bool monotonic_mode) { -+static int output_short(sd_journal *j, unsigned line, unsigned n_columns, -+ OutputFlags flags) { - int r; - const void *data; - size_t length; -@@ -150,7 +151,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s - goto finish; - } - -- if (monotonic_mode) { -+ if (flags & OUTPUT_MONOTONIC_MODE) { - uint64_t t; - sd_id128_t boot_id; - -@@ -202,33 +203,39 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s - n += strlen(buf); - } - -- if (hostname && shall_print(show_all, hostname, hostname_len)) { -+ if (hostname && shall_print(flags & OUTPUT_SHOW_ALL, -+ hostname, hostname_len)) { - printf(" %.*s", (int) hostname_len, hostname); - n += hostname_len + 1; - } - -- if (identifier && shall_print(show_all, identifier, identifier_len)) { -+ if (identifier && shall_print(flags & OUTPUT_SHOW_ALL, -+ identifier, identifier_len)) { - printf(" %.*s", (int) identifier_len, identifier); - n += identifier_len + 1; -- } else if (comm && shall_print(show_all, comm, comm_len)) { -+ } else if (comm && shall_print(flags & OUTPUT_SHOW_ALL, -+ comm, comm_len)) { - printf(" %.*s", (int) comm_len, comm); - n += comm_len + 1; -- } -+ } else -+ putchar(' '); - -- if (pid && shall_print(show_all, pid, pid_len)) { -+ if (pid && shall_print(flags & OUTPUT_SHOW_ALL, pid, pid_len)) { - printf("[%.*s]", (int) pid_len, pid); - n += pid_len + 2; -- } else if (fake_pid && shall_print(show_all, fake_pid, fake_pid_len)) { -+ } else if (fake_pid && shall_print(flags & OUTPUT_SHOW_ALL, -+ fake_pid, fake_pid_len)) { - printf("[%.*s]", (int) fake_pid_len, fake_pid); - n += fake_pid_len + 2; - } - -- if (show_all) -+ if (flags & OUTPUT_SHOW_ALL) - printf(": %.*s\n", (int) message_len, message); - else if (contains_unprintable(message, message_len)) { - char bytes[FORMAT_BYTES_MAX]; - printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len)); -- } else if (message_len + n < n_columns) -+ } else if ((flags & OUTPUT_FULL_WIDTH) || -+ (message_len + n + 1 < n_columns)) - printf(": %.*s\n", (int) message_len, message); - else if (n < n_columns && n_columns - n - 2 >= 3) { - char *e; -@@ -259,15 +266,18 @@ finish: - return r; - } - --static int output_short_realtime(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { -- return output_short(j, line, n_columns, show_all, false); -+static int output_short_realtime(sd_journal *j, unsigned line, -+ unsigned n_columns, OutputFlags flags) { -+ return output_short(j, line, n_columns, flags & ~OUTPUT_MONOTONIC_MODE); - } - --static int output_short_monotonic(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { -- return output_short(j, line, n_columns, show_all, true); -+static int output_short_monotonic(sd_journal *j, unsigned line, -+ unsigned n_columns, OutputFlags flags) { -+ return output_short(j, line, n_columns, flags | OUTPUT_MONOTONIC_MODE); - } - --static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { -+static int output_verbose(sd_journal *j, unsigned line, -+ unsigned n_columns, OutputFlags flags) { - const void *data; - size_t length; - char *cursor; -@@ -296,7 +306,7 @@ static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool - free(cursor); - - SD_JOURNAL_FOREACH_DATA(j, data, length) { -- if (!show_all && (length > PRINT_THRESHOLD || -+ if (!(flags & OUTPUT_SHOW_ALL) && (length > PRINT_THRESHOLD || - contains_unprintable(data, length))) { - const char *c; - char bytes[FORMAT_BYTES_MAX]; -@@ -318,7 +328,8 @@ static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool - return 0; - } - --static int output_export(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { -+static int output_export(sd_journal *j, unsigned line, -+ unsigned n_columns, OutputFlags flags) { - sd_id128_t boot_id; - char sid[33]; - int r; -@@ -424,7 +435,8 @@ static void json_escape(const char* p, size_t l) { - } - } - --static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { -+static int output_json(sd_journal *j, unsigned line, -+ unsigned n_columns, OutputFlags flags) { - uint64_t realtime, monotonic; - char *cursor; - const void *data; -@@ -491,7 +503,8 @@ static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool sh - return 0; - } - --static int output_cat(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) { -+static int output_cat(sd_journal *j, unsigned line, -+ unsigned n_columns, OutputFlags flags) { - const void *data; - size_t l; - int r; -@@ -512,7 +525,8 @@ static int output_cat(sd_journal *j, unsigned line, unsigned n_columns, bool sho - return 0; - } - --static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, unsigned n_columns, bool show_all) = { -+static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, -+ unsigned n_columns, OutputFlags flags) = { - [OUTPUT_SHORT] = output_short_realtime, - [OUTPUT_SHORT_MONOTONIC] = output_short_monotonic, - [OUTPUT_VERBOSE] = output_verbose, -@@ -521,14 +535,15 @@ static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, unsign - [OUTPUT_CAT] = output_cat - }; - --int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all) { -+int output_journal(sd_journal *j, OutputMode mode, unsigned line, -+ unsigned n_columns, OutputFlags flags) { - assert(mode >= 0); - assert(mode < _OUTPUT_MODE_MAX); - - if (n_columns <= 0) - n_columns = columns(); - -- return output_funcs[mode](j, line, n_columns, show_all); -+ return output_funcs[mode](j, line, n_columns, flags); - } - - int show_journal_by_unit( -@@ -537,8 +552,7 @@ int show_journal_by_unit( - unsigned n_columns, - usec_t not_before, - unsigned how_many, -- bool show_all, -- bool follow) { -+ OutputFlags flags) { - - char *m = NULL; - sd_journal *j = NULL; -@@ -621,12 +635,12 @@ int show_journal_by_unit( - - line ++; - -- r = output_journal(j, mode, line, n_columns, show_all); -+ r = output_journal(j, mode, line, n_columns, flags); - if (r < 0) - goto finish; - } - -- if (!follow) -+ if (!(flags & OUTPUT_FOLLOW)) - break; - - r = fd_wait_for_event(fd, POLLIN, (usec_t) -1); -diff --git a/src/logs-show.h b/src/logs-show.h -index db9c7e3..e8c6b03 100644 ---- a/src/logs-show.h -+++ b/src/logs-show.h -@@ -39,7 +39,16 @@ typedef enum OutputMode { - _OUTPUT_MODE_INVALID = -1 - } OutputMode; - --int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all); -+typedef enum OutputFlags { -+ OUTPUT_SHOW_ALL = 1 << 0, -+ OUTPUT_MONOTONIC_MODE = 1 << 1, -+ OUTPUT_FOLLOW = 1 << 2, -+ OUTPUT_WARN_CUTOFF = 1 << 3, -+ OUTPUT_FULL_WIDTH = 1 << 4, -+} OutputFlags; -+ -+int output_journal(sd_journal *j, OutputMode mode, unsigned line, -+ unsigned n_columns, OutputFlags flags); - - int show_journal_by_unit( - const char *unit, -@@ -47,8 +56,7 @@ int show_journal_by_unit( - unsigned n_columns, - usec_t not_before, - unsigned how_many, -- bool show_all, -- bool follow); -+ OutputFlags flags); - - const char* output_mode_to_string(OutputMode m); - OutputMode output_mode_from_string(const char *s); -diff --git a/src/systemctl.c b/src/systemctl.c -index f51085f..e94e024 100644 ---- a/src/systemctl.c -+++ b/src/systemctl.c -@@ -2374,8 +2374,14 @@ static void print_status_info(UnitStatusInfo *i) { - } - - if (i->id && arg_transport != TRANSPORT_SSH) { -+ int flags = -+ arg_lines * OUTPUT_SHOW_ALL | -+ arg_follow * OUTPUT_FOLLOW; -+ - printf("\n"); -- show_journal_by_unit(i->id, arg_output, 0, i->inactive_exit_timestamp_monotonic, arg_lines, arg_all, arg_follow); -+ show_journal_by_unit(i->id, arg_output, 0, -+ i->inactive_exit_timestamp_monotonic, -+ arg_lines, flags); - } - - if (i->need_daemon_reload) --- -1.7.10.4 - diff --git a/logind-logout.patch b/logind-logout.patch deleted file mode 100644 index 5949223a..00000000 --- a/logind-logout.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 75c8e3cffd7da8eede614cf61384957af2c82a29 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 Mar 2012 02:06:40 +0100 -Subject: [PATCH] logind: close FIFO before ending sessions cleanly - -For clean session endings ask logind explicitly to get rid of the FIFO -before closing it so that the FIFO logic doesn't result in su/sudo to be -terminated immediately. ---- - src/login/logind-dbus.c | 30 ++++++++++++++++++++ - src/login/pam-module.c | 71 +++++++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 98 insertions(+), 3 deletions(-) - -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index d8f4d89..ea6b89f 100644 ---- a/src/login/logind-dbus.c -+++ b/src/login/logind-dbus.c -@@ -80,6 +80,9 @@ - " \n" \ - " \n" \ - " \n" \ -+ " \n" \ -+ " \n" \ -+ " \n" \ - " \n" \ - " \n" \ - " \n" \ -@@ -1075,6 +1078,33 @@ static DBusHandlerResult manager_message_handler( - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); - -+ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ReleaseSession")) { -+ const char *name; -+ Session *session; -+ -+ if (!dbus_message_get_args( -+ message, -+ &error, -+ DBUS_TYPE_STRING, &name, -+ DBUS_TYPE_INVALID)) -+ return bus_send_error_reply(connection, message, &error, -EINVAL); -+ -+ session = hashmap_get(m->sessions, name); -+ if (!session) -+ return bus_send_error_reply(connection, message, &error, -ENOENT); -+ -+ /* We use the FIFO to detect stray sessions where the -+ process invoking PAM dies abnormally. We need to make -+ sure that that process is not killed if at the clean -+ end of the session it closes the FIFO. Hence, with -+ this call explicitly turn off the FIFO logic, so that -+ the PAM code can finish clean up on its own */ -+ session_remove_fifo(session); -+ -+ reply = dbus_message_new_method_return(message); -+ if (!reply) -+ goto oom; -+ - } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ActivateSession")) { - const char *name; - Session *session; -diff --git a/src/login/pam-module.c b/src/login/pam-module.c -index 8544413..4106d2b 100644 ---- a/src/login/pam-module.c -+++ b/src/login/pam-module.c -@@ -414,7 +414,6 @@ _public_ PAM_EXTERN int pam_sm_open_session( - "/org/freedesktop/login1", - "org.freedesktop.login1.Manager", - "CreateSession"); -- - if (!m) { - pam_syslog(handle, LOG_ERR, "Could not allocate create session message."); - r = PAM_BUF_ERR; -@@ -620,11 +619,77 @@ _public_ PAM_EXTERN int pam_sm_close_session( - int argc, const char **argv) { - - const void *p = NULL; -+ const char *id; -+ DBusConnection *bus = NULL; -+ DBusMessage *m = NULL, *reply = NULL; -+ DBusError error; -+ int r; - -- pam_get_data(handle, "systemd.session-fd", &p); -+ assert(handle); -+ -+ dbus_error_init(&error); -+ -+ id = pam_getenv(handle, "XDG_SESSION_ID"); -+ if (id) { -+ -+ /* Before we go and close the FIFO we need to tell -+ * logind that this is a clean session shutdown, so -+ * that it doesn't just go and slaughter us -+ * immediately after closing the fd */ -+ -+ bus = dbus_bus_get_private(DBUS_BUS_SYSTEM, &error); -+ if (!bus) { -+ pam_syslog(handle, LOG_ERR, "Failed to connect to system bus: %s", bus_error_message(&error)); -+ r = PAM_SESSION_ERR; -+ goto finish; -+ } -+ -+ m = dbus_message_new_method_call( -+ "org.freedesktop.login1", -+ "/org/freedesktop/login1", -+ "org.freedesktop.login1.Manager", -+ "ReleaseSession"); -+ if (!m) { -+ pam_syslog(handle, LOG_ERR, "Could not allocate release session message."); -+ r = PAM_BUF_ERR; -+ goto finish; -+ } -+ -+ if (!dbus_message_append_args(m, -+ DBUS_TYPE_STRING, &id, -+ DBUS_TYPE_INVALID)) { -+ pam_syslog(handle, LOG_ERR, "Could not attach parameters to message."); -+ r = PAM_BUF_ERR; -+ goto finish; -+ } - -+ reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); -+ if (!reply) { -+ pam_syslog(handle, LOG_ERR, "Failed to release session: %s", bus_error_message(&error)); -+ r = PAM_SESSION_ERR; -+ goto finish; -+ } -+ } -+ -+ r = PAM_SUCCESS; -+ -+finish: -+ pam_get_data(handle, "systemd.session-fd", &p); - if (p) - close_nointr(PTR_TO_INT(p) - 1); - -- return PAM_SUCCESS; -+ dbus_error_free(&error); -+ -+ if (bus) { -+ dbus_connection_close(bus); -+ dbus_connection_unref(bus); -+ } -+ -+ if (m) -+ dbus_message_unref(m); -+ -+ if (reply) -+ dbus_message_unref(reply); -+ -+ return r; - } --- -1.7.7 - diff --git a/macros.systemd b/macros.systemd index 802380da..68ff8780 100644 --- a/macros.systemd +++ b/macros.systemd @@ -20,14 +20,14 @@ # ### -# This is for /bin/systemctl +# This is for systemctl %systemd_requires \ Requires(pre): systemd \ Requires(post): systemd \ Requires(preun): systemd \ Requires(postun): systemd \ -%_unitdir /lib/systemd/system +%_unitdir /usr/lib/systemd/system %service_add_pre() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ @@ -62,11 +62,11 @@ for service in %{?*} ; do \ touch "/var/lib/systemd/migrated/$sysv_service" || : \ fi \ done \ -/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ elif [ $FIRST_ARG -eq 1 ]; then \ - /bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ + /usr/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} @@ -75,8 +75,8 @@ fi \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ if [ $FIRST_ARG -eq 0 ]; then \ # Package removal, not upgrade \ - /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ + /usr/bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + /usr/bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} @@ -85,13 +85,13 @@ fi \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ if [ $FIRST_ARG -ge 1 ]; then \ # Package upgrade, not uninstall \ - /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ + /usr/bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ else # package uninstall \ for service in %{?*} ; do \ sysv_service=${service%.*} \ rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null || : \ done \ - /bin/systemctl daemon-reload >/dev/null 2>&1 || : \ + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ fi \ %{nil} diff --git a/modules_on_boot.patch b/modules_on_boot.patch index f1b6fdb4..8257954e 100644 --- a/modules_on_boot.patch +++ b/modules_on_boot.patch @@ -7,24 +7,25 @@ Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) -Index: systemd-44/src/modules-load.c +Index: systemd-191/src/modules-load/modules-load.c =================================================================== ---- systemd-44.orig/src/modules-load.c -+++ systemd-44/src/modules-load.c -@@ -44,6 +44,9 @@ static void systemd_kmod_log(void *data, - int main(int argc, char *argv[]) { - int r = EXIT_FAILURE; - char **files, **fn; +--- systemd-191.orig/src/modules-load/modules-load.c ++++ systemd-191/src/modules-load/modules-load.c +@@ -173,6 +173,9 @@ int main(int argc, char *argv[]) { + int r = EXIT_FAILURE, k; + char **files = NULL, **fn, **i; + struct kmod_ctx *ctx; +#if defined(TARGET_SUSE) + char *modules_on_boot = NULL; +#endif - struct kmod_ctx *ctx; - const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST|KMOD_PROBE_IGNORE_LOADED; -@@ -141,9 +144,59 @@ int main(int argc, char *argv[]) { + if (argc > 1) { + log_error("This program takes no argument."); +@@ -256,9 +259,34 @@ int main(int argc, char *argv[]) { fclose(f); } +- +#if defined(TARGET_SUSE) + log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); + if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, @@ -37,37 +38,12 @@ Index: systemd-44/src/modules-load.c + if (modules_on_boot) { + char **modules = strv_split(modules_on_boot,WHITESPACE); + char **module; -+ struct kmod_list *itr, *modlist = NULL; -+ int err; + + if (modules) { + STRV_FOREACH(module, modules) { -+ err = kmod_module_new_from_lookup(ctx, *module, &modlist); -+ if (err < 0) { -+ log_error("Failed to lookup alias '%s'", *module); ++ k = load_module(ctx, *module); ++ if (k < 0) + r = EXIT_FAILURE; -+ continue; -+ } -+ kmod_list_foreach(itr, modlist) { -+ struct kmod_module *mod = kmod_module_get_module(itr); -+ err = kmod_module_probe_insert_module(mod, probe_flags, -+ NULL, NULL, NULL, NULL); -+ -+ if (err == 0) -+ log_info("Inserted module '%s'", kmod_module_get_name(mod)); -+ else if (err == KMOD_PROBE_APPLY_BLACKLIST) -+ log_info("Module '%s' is blacklisted", kmod_module_get_name(mod)); -+ else { -+ log_error("Failed to insert '%s': %s", kmod_module_get_name(mod), -+ strerror(-err)); -+ r = EXIT_FAILURE; -+ } -+ -+ kmod_module_unref(mod); -+ } - -+ kmod_module_unref_list(modlist); -+ modlist = NULL; + } + } + strv_free(modules); @@ -79,16 +55,16 @@ Index: systemd-44/src/modules-load.c + free(modules_on_boot); +#endif kmod_unref(ctx); + strv_free(arg_proc_cmdline_modules); - return r; -Index: systemd-44/units/systemd-modules-load.service.in +Index: systemd-191/units/systemd-modules-load.service.in =================================================================== ---- systemd-44.orig/units/systemd-modules-load.service.in -+++ systemd-44/units/systemd-modules-load.service.in -@@ -11,6 +11,7 @@ DefaultDependencies=no - Conflicts=shutdown.target +--- systemd-191.orig/units/systemd-modules-load.service.in ++++ systemd-191/units/systemd-modules-load.service.in +@@ -13,6 +13,7 @@ Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service Before=sysinit.target shutdown.target + ConditionCapability=CAP_SYS_MODULE +ConditionPathExists=|/etc/sysconfig/kernel ConditionDirectoryNotEmpty=|/lib/modules-load.d ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d diff --git a/new-lsb-headers.patch b/new-lsb-headers.patch index e0b07870..2c20a481 100644 --- a/new-lsb-headers.patch +++ b/new-lsb-headers.patch @@ -1,8 +1,8 @@ -Index: systemd-44/src/service.c +Index: systemd-189/src/core/service.c =================================================================== ---- systemd-44.orig/src/service.c -+++ systemd-44/src/service.c -@@ -122,6 +122,7 @@ static void service_init(Unit *u) { +--- systemd-189.orig/src/core/service.c ++++ systemd-189/src/core/service.c +@@ -145,6 +145,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; s->sysv_start_priority_from_rcnd = -1; @@ -10,7 +10,7 @@ Index: systemd-44/src/service.c #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -840,6 +841,34 @@ static int service_load_sysv_path(Servic +@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -45,7 +45,7 @@ Index: systemd-44/src/service.c } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -894,7 +923,8 @@ static int service_load_sysv_path(Servic +@@ -935,7 +964,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -55,7 +55,7 @@ Index: systemd-44/src/service.c s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2036,7 +2066,7 @@ static void service_enter_running(Servic +@@ -2107,7 +2137,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -64,12 +64,12 @@ Index: systemd-44/src/service.c s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -Index: systemd-44/src/service.h +Index: systemd-189/src/core/service.h =================================================================== ---- systemd-44.orig/src/service.h -+++ systemd-44/src/service.h -@@ -166,6 +166,7 @@ struct Service { - #ifdef HAVE_SYSV_COMPAT +--- systemd-189.orig/src/core/service.h ++++ systemd-189/src/core/service.h +@@ -176,6 +176,7 @@ struct Service { + bool is_sysv:1; bool sysv_has_lsb:1; bool sysv_enabled:1; + bool sysv_remain_after_exit_heuristic:1; diff --git a/pre_checkin.sh b/pre_checkin.sh index 3f06f653..18706301 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -1,6 +1,16 @@ #!/bin/sh -VERSION=`sed -e '/^Version:/!d' -e 's/Version: *//' systemd.spec` -RELEASE=`sed -e '/^Release:/!d' -e 's/Release: *//' systemd.spec` -sed -i -e "s,^\(Version:[ tab]*\).*,\1$VERSION," -e "s,^\(Release:[ tab]*\).*,\1$RELEASE," systemd-gtk.spec -cp systemd.changes systemd-gtk.changes +# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz) +# create a -mini spec for systemd for bootstrapping + +ORIG_SPEC=systemd +EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" +sed "s/^%define bootstrap.*$/${EDIT_WARNING}%define bootstrap 1/; + s/^%define udevpkgname.*$/${EDIT_WARNING}%define udevpkgname udev-mini/; + s/^\(Name:.*\)$/\1-mini/; + s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ + " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec +cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes +cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc + +osc service localrun format_spec_file diff --git a/storage-after-cryptsetup.patch b/storage-after-cryptsetup.patch index 1716fd6d..3f92ecbf 100644 --- a/storage-after-cryptsetup.patch +++ b/storage-after-cryptsetup.patch @@ -7,10 +7,10 @@ Subject: [PATCH] force lvm restart after cryptsetup target is reached src/cryptsetup-generator.c | 80 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 0 deletions(-) -Index: systemd-37/src/cryptsetup/cryptsetup-generator.c +Index: systemd-194/src/cryptsetup/cryptsetup-generator.c =================================================================== ---- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-37/src/cryptsetup/cryptsetup-generator.c +--- systemd-194.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-194/src/cryptsetup/cryptsetup-generator.c @@ -22,6 +22,7 @@ #include #include @@ -19,7 +19,7 @@ Index: systemd-37/src/cryptsetup/cryptsetup-generator.c #include "log.h" #include "util.h" -@@ -58,6 +59,71 @@ static bool has_option(const char *hayst +@@ -64,6 +65,71 @@ static bool has_option(const char *hayst return false; } @@ -54,7 +54,7 @@ Index: systemd-37/src/cryptsetup/cryptsetup-generator.c + "RemainAfterExit=true\n" + "Type=oneshot\n" + "TimeoutSec=0\n" -+ "ExecStart=/bin/systemctl restart lvm.service\n"); ++ "ExecStart=/usr/bin/systemctl restart lvm.service\n"); + + fflush(f); + @@ -91,13 +91,13 @@ Index: systemd-37/src/cryptsetup/cryptsetup-generator.c static int create_disk( const char *name, const char *device, -@@ -291,6 +357,9 @@ int main(int argc, char *argv[]) { +@@ -439,6 +505,9 @@ int main(int argc, char *argv[]) { free(options); } -+ if (create_storage_after_cryptsetup () < 0) ++ if ((r == EXIT_SUCCESS) && (create_storage_after_cryptsetup () < 0)) + r = EXIT_FAILURE; + finish: - return r; - } + if (f) + fclose(f); diff --git a/support-suse-clock-sysconfig.patch b/support-suse-clock-sysconfig.patch index de3992a3..0df12081 100644 --- a/support-suse-clock-sysconfig.patch +++ b/support-suse-clock-sysconfig.patch @@ -8,25 +8,21 @@ Subject: [PATCH] timedate: add support for openSUSE version of src/timedate/timedated.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c -index 6a7d980..fbebc1d 100644 ---- a/src/timedate/timedated.c -+++ b/src/timedate/timedated.c -@@ -180,9 +180,13 @@ static int read_data(void) { - if (r != -ENOENT) - log_warning("Failed to read /etc/timezone: %s", strerror(-r)); - --#ifdef TARGET_FEDORA -+#if defined(TARGET_FEDORA) || defined(TARGET_SUSE) - r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+#ifdef TARGET_FEDORA - "ZONE", &tz.zone, -+#else /* TARGET_SUSE */ -+ "TIMEZONE", &tz.zone, +Index: systemd-190/src/timedate/timedated.c +=================================================================== +--- systemd-190.orig/src/timedate/timedated.c ++++ systemd-190/src/timedate/timedated.c +@@ -175,6 +175,13 @@ static int read_data(void) { + goto have_timezone; + } + } ++#ifdef TARGET_SUSE ++ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, ++ "TIMEZONE", &tz.zone, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); +#endif - NULL); - if (r < 0 && r != -ENOENT) --- -1.7.10.4 - + #ifdef HAVE_DEBIAN + r = read_one_line_file("/etc/timezone", &tz.zone); diff --git a/support-sysvinit.patch b/support-sysvinit.patch index 627a3082..98c91ce2 100644 --- a/support-sysvinit.patch +++ b/support-sysvinit.patch @@ -1,7 +1,7 @@ Index: systemd-36/src/systemctl.c =================================================================== ---- systemd-36.orig/src/systemctl.c -+++ systemd-36/src/systemctl.c +--- systemd-36.orig/src/systemctl/systemctl.c ++++ systemd-36/src/systemctl/systemctl.c @@ -4672,10 +4672,13 @@ static int parse_argv(int argc, char *ar /* Hmm, so some other init system is * running, we need to forward this diff --git a/sysctl-modules.patch b/sysctl-modules.patch index 9348df0d..c6d4058d 100644 --- a/sysctl-modules.patch +++ b/sysctl-modules.patch @@ -1,12 +1,12 @@ -Index: systemd-37/units/systemd-sysctl.service.in +Index: systemd-189/units/systemd-sysctl.service.in =================================================================== ---- systemd-37.orig/units/systemd-sysctl.service.in -+++ systemd-37/units/systemd-sysctl.service.in -@@ -10,6 +10,7 @@ Description=Apply Kernel Variables +--- systemd-189.orig/units/systemd-sysctl.service.in ++++ systemd-189/units/systemd-sysctl.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service +After=systemd-modules-load.service Before=sysinit.target shutdown.target + ConditionPathIsReadWrite=/proc/sys/ ConditionPathExists=|/etc/sysctl.conf - ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/systemd-195.tar.xz b/systemd-195.tar.xz new file mode 100644 index 00000000..c1ce2202 --- /dev/null +++ b/systemd-195.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9041a8b84ed971d08df2b96f1b7dbb1d49b788e275c7cc39912f656bd826303 +size 1441308 diff --git a/systemd-44.tar.xz b/systemd-44.tar.xz deleted file mode 100644 index 2f31a608..00000000 --- a/systemd-44.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a5aac4b4b8b3a82bf59292f10e43d8f2c2d7039f34e95714f81d8edcb42233c -size 885636 diff --git a/systemd-gtk.spec b/systemd-gtk.spec deleted file mode 100644 index 1cc8b141..00000000 --- a/systemd-gtk.spec +++ /dev/null @@ -1,94 +0,0 @@ -# -# spec file for package systemd-gtk -# -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -Name: systemd-gtk -Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 44 -Release: 0 -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: audit-devel -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libtool -BuildRequires: pam-devel -BuildRequires: pkg-config -BuildRequires: tcpd-devel -BuildRequires: udev -BuildRequires: xz -BuildRequires: pkgconfig(dbus-1) >= 1.5.2 -BuildRequires: pkgconfig(gee-1.0) -BuildRequires: pkgconfig(gio-unix-2.0) -BuildRequires: pkgconfig(glib-2.0) > 2.26 -BuildRequires: pkgconfig(gtk+-2.0) -BuildRequires: pkgconfig(libcryptsetup) -BuildRequires: pkgconfig(libkmod) >= 5 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libnotify) -BuildRequires: pkgconfig(libselinux) -BuildRequires: pkgconfig(libsepol) -BuildRequires: pkgconfig(udev) >= 172 -Summary: Graphical front-end for systemd -License: GPL-2.0+ -Group: System/Base -Requires: systemd = %{version} -Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz -Source1: systemd-rpmlintrc -Patch0: fixppc.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. - -%description -Graphical front-end for systemd system and service manager. - -%prep -%setup -q -n systemd-%{version} -%patch0 -p1 - -%build -autoreconf -fiv -# prevent pre-generated and distributed files from re-building -find . -name "*.[1-8]" -exec touch '{}' \; -touch src/systemadm.c -export V=1 -%configure \ - --with-distro=suse \ - --docdir=%{_docdir}/systemd \ - --with-rootprefix= \ - CFLAGS="%{optflags}" -make %{?_smp_mflags} - -%install -%makeinstall -# remove everything but systemadm and password agent -find %{buildroot} -not -type d -not -name 'systemadm*' -not -name systemd-gnome-ask-password-agent -delete - -%clean -rm -rf %{buildroot} - -%files -%defattr(-,root,root,-) -%{_bindir}/systemadm -%{_bindir}/systemd-gnome-ask-password-agent -%{_mandir}/man1/systemadm.1* - -%changelog diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc new file mode 100644 index 00000000..a9db8b52 --- /dev/null +++ b/systemd-mini-rpmlintrc @@ -0,0 +1,17 @@ +addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") +addFilter(".*dangling-symlink .* /dev/null.*") +addFilter(".*files-duplicate .*/reboot.8.*") +addFilter(".*files-duplicate .*/sd_is_socket.3.*") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh") +addFilter("non-conffile-in-etc /etc/rpm/macros.systemd") +addFilter(".*dbus-policy-allow-receive") +addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") +addFilter(".*dangling-symlink /lib/udev/devices/core.*") +addFilter(".*dangling-symlink /lib/udev/devices/fd.*") +addFilter(".*incoherent-init-script-name boot.udev.*") +addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev") +addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev") +addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") +addFilter(".*libgudev-.*shlib-fixed-dependency.*") +addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") +addFilter("libudev-mini.*shlib-policy-name-error.*") diff --git a/systemd-gtk.changes b/systemd-mini.changes similarity index 86% rename from systemd-gtk.changes rename to systemd-mini.changes index e40aeb84..c7585b8e 100644 --- a/systemd-gtk.changes +++ b/systemd-mini.changes @@ -1,3 +1,309 @@ +------------------------------------------------------------------- +Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com + +- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) + +------------------------------------------------------------------- +Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com + +- Add var-run-lock.patch: make sure /var/run and /var/lock are + handled as bind mount if they aren't symlinks. +- Update storage-after-cryptsetup.patch with new systemctl path. +- Migrate broken symlinks in /etc/systemd/system due to new systemd + location. + +------------------------------------------------------------------- +Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com + +- Update to release 195: + + journalctl agained --since and --until, as well as filtering + for units with --unit=/-u. + + allow ExecReload properly for Type=oneshot (needed for + iptables.service, rpc-nfsd.service). + + journal daemon supports time-based rotation and vaccuming. + + journalctl -F allow to list all values of a certain field in + journal database. + + new commandline clients for timedated, locald and hostnamed + + new tool systemd-coredumpctl to list and extract coredumps from + journal. + + improve gatewayd: follow mode, filtering, support for + HTML5/JSON Server-Sent-Events. + + reload support in SysV initscripts is now detected when file is + parted. + + "systemctl status --follow" as been removed, use "journalctl -fu + instead" + + journald.conf RuntimeMinSize and PersistentMinSize settings + have been removed. +- Add compatibility symlink for systemd-ask-password and systemctl + in /bin. + +------------------------------------------------------------------- +Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com + +- Create and own more systemd drop-in directories. + +------------------------------------------------------------------- +Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com + +- Improve mini packages for bootstrapping. +- do not mount /tmp as tmpfs by default. + +------------------------------------------------------------------- +Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com + +- Fix install script when there is no inittab + +------------------------------------------------------------------- +Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com + +- Create a systemd-mini specfile to prevent cycle in bootstrapping + +------------------------------------------------------------------- +Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + +- udev and its subpackages are now generated by systemd source + package. +- migrate udev and systemd to /usr +- Update to version 194: + + if /etc/vconsole.conf is non-existent or empty and if + /etc/sysconfig/console:CONSOLE_FONT (resp + /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp + keymap) is not modified. +- Changes from version 44 to 193: + + journalctl gained --cursor= to show entries starting from a + specified location in journal. + + Size limit enforced to 4K for fields exported with "-o json" in + journalctl. Use --all to disable this behavior. + + Optional journal gateway daemon + (systemd-journal-gatewayd.service) to access journal via HTTP + and JSON. Use "wget http://localhost:19531/entries" to get + /var/log/messages compatible format and + 'curl -H"Accept: application/json" + http://localhost:19531/entries' for JSON formatted content. + HTML5 static page is also available as explained on + http://0pointer.de/public/journal-gatewayd + + do not mount cpuset controler, doesn't work well by default + ATM. + + improved nspawn behaviour with /etc/localtime + + journald logs its maximize size on disk + + multi-seat X wrapper (partially merged in upstream X server). + + HandleSleepKey has been splitted into HandleSuspendKey and + HandleHibernateKey. + + systemd and logind now handle system sleep states, in + particular suspending and hibernating. + + new cgroups are mounted by default (cpu, cpuacct, + net_cls, net_pri) + + sync at shutdown is now handled by kernel + + imported journalctl output (colors, filtering, pager, bash + completion). + + suffix ".service" may now be ommited on most systemctl command + involving service unit names. + + much improved nspawn containers support. + + new conditions added : ConditionFileNotEmpty, ConditionHost, + ConditionPathIsReadWrite + + tmpfiles "w" supports file globbing + + logind handles lid switch, power and sleep keys all the time, + unless systemd-inhibit + --what=handle-power-key:handle-sleep-key:handle-lid-switch is + run by Desktop Environments. + + support for reading structured kernel message is used by + default (need kernel >= 3.5). /proc/kmsg is now used only by + classic syslog daemons. + + Forward Secure Sealing is now support for Journal files. + + RestartPrevenExitStatus and SuccessExitStatus allow configure + of exit status (exit code or signal). + + handles keyfile-size and keyfile-offset in /etc/crypttab. + + TimeoutSec settings has been splitted into TimeoutStartSec and + TimeoutStopSec. + + add SystemCallFilters option to add blacklist/whitelist to + system calls, using SECCOMP mode 2 of kernel >= 3.5. + + systemctl udevadm info now takes a /dev or /sys path as argument: + - udevadm info /dev/sda + + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. + + systemd-loginctl and systemd-journalctl have been renamed + to loginctl and journalctl to match systemctl. + + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is + no longer supported. udev_monitor_new_from_netlink() needs to + be used to subscribe to events. + + udev: when udevd is started by systemd, processes which are left + behind by forking them off of udev rules, are unconditionally + cleaned up and killed now after the event handling has finished. + Services or daemons must be started as systemd services. + Services can be pulled-in by udev to get started, but they can + no longer be directly forked by udev rules. + + For almost all files, license is now LGPL2.1+ (from previous + GPL2.0+). Exception are some minor stuff in udev (will be + changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] + library. + + var-run.mount and var-lock.mount are no longer provided + (should be converted to symlinks). + + A new service type Type=idle to avoid ugly interleaving of + getty output and boot status messages. + + systemd-delta has been added, a tool to explore differences + between user/admin configuration and vendor defaults. + + /tmp mouted as tmpfs by default. + + /media is now longer mounted as tmpfs + + GTK tool has been split off to systemd-ui package. + + much improved documentation. +- Merge BuildRequires from udev package: + gobject-introspection-devel, gtk-doc, libsepol-devel, + libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), + pjgconfig(libcryptsetup), pkgconfig(libpci), + pkgconfig(libqrencode), pkgconfig(libselinux), + pkgconfig(usbutils). +- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) +- Merge sources from udev package: boot.udev, write_dev_root.rules, + udev-root-symlink.systemd. +- Merge patches from udev package: numbered started from 1000): + 0001-Reinstate-TIMEOUT-handling.patch, + 0013-re-enable-by_path-links-for-ata-devices.patch, + 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, + 0026-udev-netlink-null-rules.patch, + 0027-udev-fix-sg-autoload-regression.patch. +- Remove following patches, merged upstream: + 0001-util-never-follow-symlinks-in-rm_rf_children.patch, + fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, + fix-swap-priority.patch, improve-restart-behaviour.patch, + fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, + ulimit-support.patch, change-terminal.patch, + fix-tty-startup.patch, fix-write-user-state-file.patch, + fix-analyze-exception.patch, use_localtime.patch, + journalctl-pager-improvement.patch, + avoid-random-seed-cycle.patch, + 0001-add-sparse-support-to-detect-endianness-bug.patch, + drop-timezone.patch. +- Rebase the following patches: + 0001-Add-bootsplash-handling-for-password-dialogs.patch, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, + 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, + crypt-loop-file.patch, + delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, + dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, + fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, + new-lsb-headers.patch, storage-after-cryptsetup.patch, + support-suse-clock-sysconfig.patch, support-sysvinit.patch, + sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. + +------------------------------------------------------------------- +Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com + +- Add use_localtime.patch: use /etc/localtime instead of + /etc/timezone (bnc#773491) +- Add support-suse-clock-sysconfig.patch: read SUSE + /etc/sysconfig/clock file. +- Add drop-timezone.patch: drop support for /etc/timezone, never + supported on openSUSE. +- Add journalctl-pager-improvement.patch: better handle output when + using pager. +- Add fix-enable-disable-boot-initscript.patch: support boot.* + initscripts for systemctl enable /disable (bnc#746506). + +------------------------------------------------------------------- +Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com + +- Ensure systemd macros never fails (if systemd isn't install) + +------------------------------------------------------------------- +Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com + +- Add fix-analyze-exception.patch: prevent exception if running + systemd-analyze before boot is complete (bnc#772506) + +------------------------------------------------------------------- +Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz + +- Fix NumLock detection/set race condition (bnc#746595#c47). + +------------------------------------------------------------------- +Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com + +- Move systemd-analyse to a subpackage, to remove any python + dependencies from systemd main package (bnc#772039). + +------------------------------------------------------------------- +Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com + +- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on + kernel commandline are handled. +- Add fix-write-user-state-file.patch: write logind state file + correctly. +- Disable logind-logout.patch: cause too many issues (bnc#769531). + +------------------------------------------------------------------- +Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com + +- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). + +------------------------------------------------------------------- +Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz + +- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). + +------------------------------------------------------------------- +Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com + +- Add fix-dir-noatime-tmpfiles.patch: do not modify directory + atime, which was preventing removing empty directories + (bnc#751253, rh#810257). +- Add improve-restart-behaviour.patch: prevent deadlock during + try-restart (bnc#743218). +- Add journal-bugfixes.patch: don't crash when rotating journal + (bnc#768953) and prevent memleak at rotation time too. +- Add ulimit-support.patch: add support for system wide ulimit + (bnc#744818). +- Add change-terminal.patch: use vt102 instead of vt100 as terminal + for non-vc tty. +- Package various .wants directories, which were no longer packaged + due to plymouth units being removed from systemd package. +- Fix buildrequires for manpages build. + +------------------------------------------------------------------- +Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com + +- Do not ship plymouth units, they are shipped by plymouth package + now (bnc#769397). +- Fix module loading (bnc#769462) + +------------------------------------------------------------------- +Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com + +- Add fix-swap-priority: fix default swap priority (bnc#731601). + +------------------------------------------------------------------- +Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com + +- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real + fix. + +------------------------------------------------------------------- +Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com + +- Update new-lsb-headers.patch to handle entries written after + description tag (bnc#727771, bnc#747931). + +------------------------------------------------------------------- +Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com + +- Disable logind-logout.patch: it crashes sudo session (if called + after su -l) (bnc#746704). + +------------------------------------------------------------------- +Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com + +- Add fix-getty-isolate.patch: don't quit getty when changing + runlevel (bnc#746594) + +------------------------------------------------------------------- +Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz + +- Implemented SUSE specific sysconfig numlock logic (bnc#746595). + +------------------------------------------------------------------- +Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com + +- Add dbus-1 as BuildRequires to fix build. + ------------------------------------------------------------------- Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec new file mode 100644 index 00000000..e9fe70eb --- /dev/null +++ b/systemd-mini.spec @@ -0,0 +1,834 @@ +# +# spec file for package systemd-mini +# +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### +%define bootstrap 1 +%define real systemd +##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### +%define udevpkgname udev-mini +%define udev_major 1 + +Name: systemd-mini +Url: http://www.freedesktop.org/wiki/Software/systemd +Version: 195 +Release: 0 +Summary: A System and Session Manager +License: LGPL-2.1+ +Group: System/Base +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +Provides: %{real} = %{version}-%{release} + +BuildRequires: audit-devel +BuildRequires: dbus-1 +%if ! 0%{?bootstrap} +BuildRequires: docbook-xsl-stylesheets +%endif +BuildRequires: fdupes +%if ! 0%{?bootstrap} +BuildRequires: gobject-introspection-devel +%endif +BuildRequires: gperf +%if ! 0%{?bootstrap} +BuildRequires: gtk-doc +%endif +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: libusb-devel +%if ! 0%{?bootstrap} +BuildRequires: libxslt-tools +%endif +BuildRequires: pam-devel +BuildRequires: tcpd-devel +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.20 +BuildRequires: pkgconfig(dbus-1) >= 1.3.2 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 +%endif +BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(liblzma) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libmicrohttpd) +%endif +BuildRequires: pkgconfig(libpci) >= 3 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libqrencode) +%endif +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +BuildRequires: pkgconfig(usbutils) >= 0.82 +%if 0%{?bootstrap} +Requires: this-is-only-for-build-envs +%else +# the buildignore is important for bootstrapping +#!BuildIgnore: udev +Requires: %{udevpkgname} >= 172 +Requires: dbus-1 >= 1.4.0 +Requires: kbd +Requires: pam-config >= 0.79-5 +Requires: systemd-presets-branding +Requires: util-linux >= 2.21 +Requires(post): coreutils +Requires(post): findutils +%endif +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz +Source1: systemd-rpmlintrc +Source2: localfs.service +Source3: systemd-sysv-convert +Source4: macros.systemd +Source5: systemd-insserv_conf +Source6: baselibs.conf + +Source1060: boot.udev +Source1061: write_dev_root_rule +Source1062: udev-root-symlink.systemd + +Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch +# handle SUSE specific kbd settings +Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +Patch7: systemd-numlock-suse.patch +# don't start getty on tty1 until all password request are done +Patch8: tty1.patch +Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch +Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +Patch15: support-sysvinit.patch +Patch16: modules_on_boot.patch +Patch22: new-lsb-headers.patch +Patch23: storage-after-cryptsetup.patch +Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch +Patch31: lock-opensuse.patch +Patch33: crypt-loop-file.patch +Patch36: sysctl-modules.patch +Patch38: dm-lvm-after-local-fs-pre-target.patch +Patch53: fastboot-forcefsck.patch +Patch56: support-suse-clock-sysconfig.patch +Patch59: fix-enable-disable-boot-initscript.patch +Patch60: var-run-lock.patch + +# Upstream First - Policy: +# Never add any patches to this package without the upstream commit id +# in the patch. Any patches added here without a very good reason to make +# an exception will be silently removed with the next version update. + +# udev patches +# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch +Patch1001: 0001-Reinstate-TIMEOUT-handling.patch +# PATCH-FIX-OPENSUSE 0013-re-enable-by_path-links-for-ata-devices.patch +Patch1013: 0013-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1014: 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch + +# PATCH-FIX-OPENSUSE 0026-udev-netlink-null-rules.patch +Patch1026: 0026-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch +Patch1027: 0027-udev-fix-sg-autoload-regression.patch + +# systemd patches + +%description +Systemd is a system and service manager, compatible with SysV and LSB +init scripts for Linux. systemd provides aggressive parallelization +capabilities, uses socket and D-Bus activation for starting services, +offers on-demand starting of daemons, keeps track of processes using +Linux cgroups, supports snapshotting and restoring of the system state, +maintains mount and automount points and implements an elaborate +transactional dependency-based service control logic. It can work as a +drop-in replacement for sysvinit. + + + +%package devel +Summary: Development headers for systemd +License: LGPL-2.1+ +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} + +%description devel +Development headers and auxiliary files for developing applications for systemd. + +%package sysvinit +Summary: System V init tools +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version} +Provides: sbin_init +Conflicts: otherproviders(sbin_init) +Provides: sysvinit:/sbin/init + +%description sysvinit +Drop-in replacement of System V init tools. + +%package analyze +Summary: Tool for processing systemd profiling information +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version} +Requires: dbus-1-python +Requires: python-cairo +# for the systemd-analyze split: +Conflicts: systemd < 44-10 + +%description analyze +'systemd-analyze blame' lists which systemd unit needed how much time to finish +initialization at boot. +'systemd-analyze plot' renders an SVG visualizing the parallel start of units +at boot. + +%package -n %{udevpkgname} +Summary: A rule-based device node and kernel event manager +License: GPL-2.0 +Group: System/Kernel +Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd +Conflicts: systemd < 39 +Conflicts: aaa_base < 11.5 +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Conflicts: util-linux < 2.16 +Conflicts: ConsoleKit < 0.4.1 +Requires: filesystem +%if 0%{?bootstrap} +Provides: udev = %{version} +%endif + +%description -n %{udevpkgname} +Udev creates and removes device nodes in /dev for devices discovered or +removed from the system. It receives events via kernel netlink messages +and dispatches them according to rules in /lib/udev/rules.d/. Matching +rules may name a device node, create additional symlinks to the node, +call tools to initialize a device, or load needed kernel modules. + + + +%package -n lib%{udevpkgname}%{udev_major} +Summary: Dynamic library to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{udevpkgname} >= %{version}-%{release} + +%description -n lib%{udevpkgname}%{udev_major} +This package contains the dynamic library libudev, which provides +access to udev device information + +%package -n lib%{udevpkgname}-devel +Summary: Development files for libudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} +%if 0%{?bootstrap} +Provides: libudev-devel = %{version} +%endif + +%description -n lib%{udevpkgname}-devel +This package contains the development files for the library libudev, a +dynamic library, which provides access to udev device information. + +%if ! 0%{?bootstrap} +%package -n libgudev-1_0-0 +Summary: GObject library, to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} + +%description -n libgudev-1_0-0 +This package contains the GObject library libgudev, which provides +access to udev device information. + +%package -n typelib-1_0-GUdev-1_0 +Summary: GObject library, to access udev device information -- Introspection bindings +License: LGPL-2.1+ +Group: System/Libraries + +%description -n typelib-1_0-GUdev-1_0 +This package provides the GObject Introspection bindings for libgudev, which +provides access to udev device information. + +%package -n libgudev-1_0-devel +Summary: Devel package for libgudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: glib2-devel +Requires: libgudev-1_0-0 = %{version}-%{release} +Requires: libudev-devel = %{version}-%{release} +Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} + +%description -n libgudev-1_0-devel +This is the devel package for the GObject library libgudev, which +provides GObject access to udev device information. +%endif + +%prep +%setup -q -n systemd-%{version} + +#udev +%patch1001 -p1 +%patch1013 -p1 +%patch1014 -p1 +%patch1026 -p1 +%patch1027 -p1 + +%patch1 -p1 +%patch6 -p1 +# don't apply when bootstrapping to not modify configure.in +%if ! 0%{?bootstrap} +%patch7 -p1 +%endif +%patch8 -p1 +%patch10 -p1 +%patch13 -p1 +%patch15 -p1 +%patch16 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch31 -p1 +%patch33 -p1 +%patch36 -p1 +%patch38 -p1 +%patch53 -p1 +%patch56 -p1 +%patch59 -p1 +%patch60 -p1 + +%build +%if ! 0%{?bootstrap} +autoreconf -fiv +%endif +# prevent pre-generated and distributed files from re-building +find . -name "*.[1-8]" -exec touch '{}' \; +export V=1 +# keep split-usr until all packages have moved their systemd rules to /usr +%configure \ + --with-distro=suse \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ +%if 0%{?bootstrap} + --disable-gudev \ +%else + --enable-manpages \ + --enable-gtk-doc \ +%endif + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + CFLAGS="%{optflags}" +make %{?_smp_mflags} + +%install +%makeinstall + +mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} +ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl +ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates +ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware + +install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev +install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service +mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants +ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants + +#fix manpages +%if ! 0%{?bootstrap} +sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/* +%endif + +#workaround for 716939 +chmod 644 %{buildroot}%{_bindir}/systemd-analyze +mkdir -p %{buildroot}%{_sysconfdir}/rpm +install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm +find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} + +install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert +# do not install, code has been fixed, might be useful in the future +#install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators +ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd +ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init +ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot +ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt +ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown +ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit +ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +rm -rf %{buildroot}/etc/systemd/system/*.target.wants +rm -f %{buildroot}/etc/systemd/system/default.target +# aliases for /etc/init.d/* +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service +install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service +# need to be implemented in systemd directly +#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service +ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service +ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service +ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service +# don't mount /tmp as tmpfs for now +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount + +# To avoid making life hard for Factory developers, don't package the +# kernel.core_pattern setting until systemd-coredump is a part of an actual +# systemd release and it's made clear how to get the core dumps out of the +# journal. +rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf + +# remove README files for now +rm -f %{buildroot}/var/log/README %{buildroot}/etc/init.d/README + +# legacy links +ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl +ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl +ln -s /usr/lib/udev %{buildroot}/lib/udev + +# Create the /var/log/journal directory to change the volatile journal to a persistent one +mkdir -p %{buildroot}/var/log/journal + +# Make sure the NTP units dir exists +mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ + +# Make sure the shutdown/sleep drop-in dirs exist +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ + +# Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants + +%fdupes -s %{buildroot}%{_mandir} + +%post +/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : +/sbin/ldconfig +/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : + +# Try to read default runlevel from the old inittab if it exists +if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + if [ -n "$runlevel" ] ; then + /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + fi +fi +# Create default config in /etc at first install. +# Later package updates should not overwrite these settings. +if [ "$1" -eq 1 ]; then + # Enable these services by default. + /usr/bin/systemctl enable \ + getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target >/dev/null 2>&1 || : +else +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + +fi + +%postun +/sbin/ldconfig +if [ $1 -ge 1 ]; then + /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : +fi +if [ $1 -eq 0 ]; then + /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : +fi + +%preun +if [ $1 -eq 0 ]; then + /usr/bin/systemctl disable \ + getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target >/dev/null 2>&1 || : + rm -f /etc/systemd/system/default.target 2>&1 || : +fi + +%pretrans -n %{udevpkgname} -p +if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then + posix.symlink("/lib/udev", "/usr/lib/udev") +end + +%pre -n %{udevpkgname} +if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev +fi + +%post -n %{udevpkgname} +%{fillup_and_insserv -Y boot.udev} +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : +# cleanup old stuff +rm -f /etc/sysconfig/udev +rm -f /etc/udev/rules.d/20-cdrom.rules +rm -f /etc/udev/rules.d/55-cdrom.rules +rm -f /etc/udev/rules.d/65-cdrom.rules +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +# start daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + /usr/bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + fi +fi + +[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup +if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" +elif [ -x /sbin/mkinitrd ]; then + /sbin/mkinitrd +fi + +%postun -n %{udevpkgname} +%insserv_cleanup +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : + +[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup +if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" +elif [ -x /sbin/mkinitrd ]; then + /sbin/mkinitrd +fi + +%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%if ! 0%{?bootstrap} + +%post -n libgudev-1_0-0 -p /sbin/ldconfig + +%postun -n libgudev-1_0-0 -p /sbin/ldconfig +%endif + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root) +/bin/systemd +/bin/systemd-ask-password +/bin/systemctl +%{_bindir}/hostnamectl +%{_bindir}/localectl +%{_bindir}/systemctl +%{_bindir}/systemd-coredumpctl +%{_bindir}/systemd-delta +%{_bindir}/systemd-notify +%{_bindir}/systemd-journalctl +%{_bindir}/journalctl +%{_bindir}/systemd-ask-password +%{_bindir}/loginctl +%{_bindir}/systemd-loginctl +%{_bindir}/systemd-inhibit +%{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-tmpfiles +%{_bindir}/systemd-machine-id-setup +%{_bindir}/systemd-nspawn +%{_bindir}/systemd-stdio-bridge +%{_bindir}/systemd-detect-virt +%{_bindir}/timedatectl +%{_sbindir}/systemd-sysv-convert +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* +%{_bindir}/systemd-cgls +%{_bindir}/systemd-cgtop +%{_bindir}/systemd-cat +%dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/user +%dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/basic.target.wants/udev-root-symlink.service +%{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.target +%{_prefix}/lib/systemd/system/*.mount +%{_prefix}/lib/systemd/system/*.timer +%{_prefix}/lib/systemd/system/*.socket +%{_prefix}/lib/systemd/system/*.wants +%{_prefix}/lib/systemd/system/*.path +%{_prefix}/lib/systemd/user/*.target +%{_prefix}/lib/systemd/user/*.service +%exclude %{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/systemd-* +%{_prefix}/lib/systemd/systemd +%dir %{_prefix}/lib/systemd/system-shutdown +%dir %{_prefix}/lib/systemd/system-preset +%dir %{_prefix}/lib/systemd/user-preset +%dir %{_prefix}/lib/systemd/system-generators +%dir %{_prefix}/lib/systemd/user-generators +%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_prefix}/lib/systemd/system-shutdown/ +%dir %{_prefix}/lib/systemd/system-sleep/ +%dir %{_prefix}/lib/systemd/system/default.target.wants +%dir %{_prefix}/lib/systemd/system/dbus.target.wants +%dir %{_prefix}/lib/systemd/system/syslog.target.wants +%if ! 0%{?bootstrap} +%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator +%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +/%{_lib}/security/pam_systemd.so + +%dir %{_libexecdir}/modules-load.d +%dir %{_sysconfdir}/modules-load.d + +%dir %{_libexecdir}/tmpfiles.d +%dir %{_sysconfdir}/tmpfiles.d +%{_libexecdir}/tmpfiles.d/*.conf + +%dir %{_libexecdir}/binfmt.d +%dir %{_sysconfdir}/binfmt.d + +%dir %{_libexecdir}/sysctl.d +%dir %{_sysconfdir}/sysctl.d + +%dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/system +%dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/xdg/systemd +%dir %{_sysconfdir}/xdg/systemd/user +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/user.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions +%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%{_datadir}/systemd + +%if ! 0%{?bootstrap} +# Packaged in sysvinit subpackage +%exclude %{_mandir}/man1/init.1* +%exclude %{_mandir}/man8/halt.8* +%exclude %{_mandir}/man8/reboot.8* +%exclude %{_mandir}/man8/shutdown.8* +%exclude %{_mandir}/man8/poweroff.8* +%exclude %{_mandir}/man8/telinit.8* +%exclude %{_mandir}/man8/runlevel.8* +%exclude %{_mandir}/man*/*udev*.[0-9]* +%{_mandir}/man1/*.1* +%{_mandir}/man3/*.3* +%{_mandir}/man5/*.5* +%{_mandir}/man7/*.7* +%{_mandir}/man8/*.8* +%endif +%{_docdir}/systemd +%{_prefix}/lib/udev/rules.d/70-uaccess.rules +%{_prefix}/lib/udev/rules.d/71-seat.rules +%{_prefix}/lib/udev/rules.d/73-seat-late.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%endif +%{_prefix}/lib/udev/rules.d/99-systemd.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/numlock-on +%endif +%dir %{_sysconfdir}/bash_completion.d +%{_sysconfdir}/bash_completion.d/systemd-bash-completion.sh +%{_sysconfdir}/rpm/macros.systemd +%dir /var/lib/systemd +%dir /var/lib/systemd/sysv-convert +%dir /var/lib/systemd/migrated +%dir /var/log/journal + +%files devel +%defattr(-,root,root,-) +%{_libdir}/libsystemd-daemon.so +%{_libdir}/libsystemd-login.so +%{_libdir}/libsystemd-id128.so +%{_libdir}/libsystemd-journal.so +%dir %{_includedir}/systemd +%{_includedir}/systemd/sd-login.h +%{_includedir}/systemd/sd-daemon.h +%{_includedir}/systemd/sd-id128.h +%{_includedir}/systemd/sd-journal.h +%{_includedir}/systemd/sd-messages.h +%{_includedir}/systemd/sd-shutdown.h +%{_datadir}/pkgconfig/systemd.pc +%{_libdir}/pkgconfig/libsystemd-daemon.pc +%{_libdir}/pkgconfig/libsystemd-login.pc +%{_libdir}/pkgconfig/libsystemd-id128.pc +%{_libdir}/pkgconfig/libsystemd-journal.pc + +%files sysvinit +%defattr(-,root,root,-) +/sbin/init +/sbin/reboot +/sbin/halt +/sbin/shutdown +/sbin/poweroff +/sbin/telinit +/sbin/runlevel +%if ! 0%{?bootstrap} +%{_mandir}/man1/init.1* +%{_mandir}/man8/halt.8* +%{_mandir}/man8/reboot.8* +%{_mandir}/man8/shutdown.8* +%{_mandir}/man8/poweroff.8* +%{_mandir}/man8/telinit.8* +%{_mandir}/man8/runlevel.8* +%endif + +%files analyze +%attr(0755,root,root) /usr/bin/systemd-analyze + +%files -n %{udevpkgname} +%defattr(-,root,root) +/sbin/udevd +/sbin/udevadm +# keep for compatibility +%ghost /lib/udev +%{_bindir}/udevadm +%{_prefix}/lib/firmware +%dir %{_prefix}/lib/udev/ +%{_prefix}/lib/udev/accelerometer +%{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/collect +%{_prefix}/lib/udev/findkeyboards +%{_prefix}/lib/udev/keymap +%{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/scsi_id +%{_prefix}/lib/udev/v4l_id +%{_prefix}/lib/udev/write_dev_root_rule +%dir %{_prefix}/lib/udev/keymaps +%{_prefix}/lib/udev/keymaps/* +%{_prefix}/lib/udev/keyboard-force-release.sh +%dir %{_prefix}/lib/udev/rules.d/ +%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules +%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules +%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules +%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_prefix}/lib/udev/rules.d/*.rules +%{_sysconfdir}/init.d/boot.udev +%dir %{_sysconfdir}/udev/ +%dir %{_sysconfdir}/udev/rules.d/ +%config(noreplace) %{_sysconfdir}/udev/udev.conf +%if ! 0%{?bootstrap} +%{_mandir}/man?/*udev*.[0-9]* +%endif +%dir %{_prefix}/lib/systemd/system +%{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/system/udev-root-symlink.service +%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udevd*.socket +%dir %{_prefix}/lib/systemd/system/sysinit.target.wants +%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service +%dir %{_prefix}/lib/systemd/system/sockets.target.wants +%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket + +%files -n lib%{udevpkgname}%{udev_major} +%defattr(-,root,root) +%{_libdir}/libudev.so.* + +%files -n lib%{udevpkgname}-devel +%defattr(-,root,root) +%{_includedir}/libudev.h +%{_libdir}/libudev.so +%{_datadir}/pkgconfig/udev.pc +%{_libdir}/pkgconfig/libudev.pc +%if ! 0%{?bootstrap} +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/libudev +%{_datadir}/gtk-doc/html/libudev/* +%endif + +%if ! 0%{?bootstrap} +%files -n libgudev-1_0-0 +%defattr(-,root,root) +%{_libdir}/libgudev-1.0.so.* + +%files -n typelib-1_0-GUdev-1_0 +%defattr(-,root,root) +%{_libdir}/girepository-1.0/GUdev-1.0.typelib + +%files -n libgudev-1_0-devel +%defattr(-,root,root) +%dir %{_includedir}/gudev-1.0 +%dir %{_includedir}/gudev-1.0/gudev +%{_includedir}/gudev-1.0/gudev/*.h +%{_libdir}/libgudev-1.0.so +%{_libdir}/pkgconfig/gudev-1.0.pc +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/gudev +%{_datadir}/gtk-doc/html/gudev/* +%{_datadir}/gir-1.0/GUdev-1.0.gir +%endif + +%changelog diff --git a/systemd-numlock-suse.patch b/systemd-numlock-suse.patch index 3c7d9c9c..2c90cde4 100644 --- a/systemd-numlock-suse.patch +++ b/systemd-numlock-suse.patch @@ -1,8 +1,8 @@ -Index: systemd-44/src/vconsole/vconsole-setup.c +Index: systemd-190/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-44.orig/src/vconsole/vconsole-setup.c -+++ systemd-44/src/vconsole/vconsole-setup.c -@@ -265,12 +265,14 @@ int main(int argc, char **argv) { +--- systemd-190.orig/src/vconsole/vconsole-setup.c ++++ systemd-190/src/vconsole/vconsole-setup.c +@@ -287,12 +287,14 @@ int main(int argc, char **argv) { char *vc_kbd_delay = NULL; char *vc_kbd_rate = NULL; char *vc_kbd_disable_caps_lock = NULL; @@ -17,16 +17,8 @@ Index: systemd-44/src/vconsole/vconsole-setup.c int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -374,6 +376,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL)) < 0) { - -@@ -391,6 +394,37 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -388,6 +390,37 @@ int main(int argc, char **argv) { + vc_keymap = t; } disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + if (vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "BIOS") == 0) { @@ -61,9 +53,17 @@ Index: systemd-44/src/vconsole/vconsole-setup.c + } else + numlock = vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "YES") == 0; - #elif defined(TARGET_ARCH) - if ((r = parse_env_file("/etc/rc.conf", NEWLINE, -@@ -558,6 +592,10 @@ int main(int argc, char **argv) { + #elif defined(TARGET_SUSE) + r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, +@@ -395,6 +428,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -565,6 +599,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -74,56 +74,35 @@ Index: systemd-44/src/vconsole/vconsole-setup.c #ifdef TARGET_SUSE if (compose_table_pid > 0) -Index: systemd-44/Makefile.am +Index: systemd-190/Makefile.am =================================================================== ---- systemd-44.orig/Makefile.am -+++ systemd-44/Makefile.am -@@ -42,6 +42,7 @@ dbussessionservicedir=@dbussessionservic - dbussystemservicedir=@dbussystemservicedir@ - dbusinterfacedir=@dbusinterfacedir@ - udevrulesdir=@udevrulesdir@ -+udevhelperdir=@udevhelperdir@ - pamlibdir=@pamlibdir@ - pkgconfigdatadir=$(datadir)/pkgconfig - pkgconfiglibdir=$(libdir)/pkgconfig -@@ -202,6 +203,9 @@ rootlibexec_PROGRAMS = \ - systemgenerator_PROGRAMS = \ - systemd-getty-generator - -+udevhelper_PROGRAMS = \ -+ numlock-on -+ - noinst_PROGRAMS = \ - test-engine \ - test-job-type \ -@@ -2033,6 +2037,12 @@ systemd_uaccess_LDADD = \ - $(UDEV_LIBS) \ - $(ACL_LIBS) +--- systemd-190.orig/Makefile.am ++++ systemd-190/Makefile.am +@@ -1989,6 +1989,19 @@ dist_udevrules_DATA += \ + rules/61-accelerometer.rules + # ------------------------------------------------------------------------------ +numlock_on_SOURCES = \ + src/login/numlock-on.c + +numlock_on_CFLAGS = \ + $(AM_CFLAGS) + - rootlibexec_PROGRAMS += \ - systemd-uaccess - -@@ -2040,7 +2050,8 @@ dist_udevrules_DATA += \ - src/login/70-uaccess.rules - - dist_udevrules_DATA += \ -- src/login/71-seat.rules -+ src/login/71-seat.rules \ -+ src/login/73-seat-numlock.rules - - nodist_udevrules_DATA += \ - src/login/73-seat-late.rules -Index: systemd-44/configure.ac ++udevlibexec_PROGRAMS += \ ++ numlock-on ++ ++dist_udevrules_DATA += \ ++ rules/73-seat-numlock.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +Index: systemd-190/configure.ac =================================================================== ---- systemd-44.orig/configure.ac -+++ systemd-44/configure.ac -@@ -410,6 +410,13 @@ fi +--- systemd-190.orig/configure.ac ++++ systemd-190/configure.ac +@@ -598,6 +598,13 @@ fi with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution]) @@ -137,38 +116,10 @@ Index: systemd-44/configure.ac # Location of the init scripts as mandated by LSB SYSTEM_SYSVINIT_PATH=/etc/init.d SYSTEM_SYSVRCND_PATH=/etc/rc.d -@@ -579,6 +586,11 @@ AC_ARG_WITH([udevrulesdir], - [], - [with_udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d]) - -+AC_ARG_WITH([udevhelperdir], -+ AS_HELP_STRING([--with-udevhelperdir=DIR], [Directory for udev helpers]), -+ [], -+ [with_udevhelperdir=`pkg-config --variable=udevdir udev`]) -+ - AC_ARG_WITH([rootprefix], - AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), - [], [with_rootprefix=${ac_default_prefix}]) -@@ -611,6 +623,7 @@ AC_SUBST([dbussessionservicedir], [$with - AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir]) - AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir]) - AC_SUBST([udevrulesdir], [$with_udevrulesdir]) -+AC_SUBST([udevhelperdir], [$with_udevhelperdir]) - AC_SUBST([pamlibdir], [$with_pamlibdir]) - AC_SUBST([rootprefix], [$with_rootprefix]) - AC_SUBST([rootlibdir], [$with_rootlibdir]) -@@ -650,6 +663,7 @@ AC_MSG_RESULT([ - rootlib dir: ${with_rootlibdir} - PAM modules dir: ${with_pamlibdir} - udev rules dir: ${with_udevrulesdir} -+ udev hepler dir: ${with_udevhelperdir} - D-Bus policy dir: ${with_dbuspolicydir} - D-Bus session dir: ${with_dbussessionservicedir} - D-Bus system dir: ${with_dbussystemservicedir} -Index: systemd-44/src/login/73-seat-numlock.rules +Index: systemd-190/rules/73-seat-numlock.rules =================================================================== --- /dev/null -+++ systemd-44/src/login/73-seat-numlock.rules ++++ systemd-190/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of systemd. +# @@ -178,10 +129,10 @@ Index: systemd-44/src/login/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-44/src/login/numlock-on.c +Index: systemd-190/src/login/numlock-on.c =================================================================== --- /dev/null -+++ systemd-44/src/login/numlock-on.c ++++ systemd-190/src/login/numlock-on.c @@ -0,0 +1,36 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -219,16 +170,16 @@ Index: systemd-44/src/login/numlock-on.c + return EX_IOERR; + return execv(args[0], args); +} -Index: systemd-44/units/systemd-vconsole-setup.service.in +Index: systemd-190/units/systemd-vconsole-setup.service.in =================================================================== ---- systemd-44.orig/units/systemd-vconsole-setup.service.in -+++ systemd-44/units/systemd-vconsole-setup.service.in -@@ -10,7 +10,7 @@ Description=Setup Virtual Console +--- systemd-190.orig/units/systemd-vconsole-setup.service.in ++++ systemd-190/units/systemd-vconsole-setup.service.in +@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service -Before=sysinit.target shutdown.target +Before=sysinit.target shutdown.target udev-trigger.service + ConditionPathExists=/dev/tty0 [Service] - Type=oneshot diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index cc21ff25..a9db8b52 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -2,9 +2,16 @@ addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runleve addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot.8.*") addFilter(".*files-duplicate .*/sd_is_socket.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemctl-bash-completion.sh") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh") +addFilter("non-conffile-in-etc /etc/rpm/macros.systemd") addFilter(".*dbus-policy-allow-receive") -# Do not enable for submission into openSUSE:Factory, -# just for testing while polkit-default-privs is not checked in -# setBadness('polkit-unauthorized-privilege', 1) - +addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") +addFilter(".*dangling-symlink /lib/udev/devices/core.*") +addFilter(".*dangling-symlink /lib/udev/devices/fd.*") +addFilter(".*incoherent-init-script-name boot.udev.*") +addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev") +addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev") +addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") +addFilter(".*libgudev-.*shlib-fixed-dependency.*") +addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") +addFilter("libudev-mini.*shlib-policy-name-error.*") diff --git a/systemd.changes b/systemd.changes index 7b07e1cb..c7585b8e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,190 @@ +------------------------------------------------------------------- +Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com + +- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) + +------------------------------------------------------------------- +Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com + +- Add var-run-lock.patch: make sure /var/run and /var/lock are + handled as bind mount if they aren't symlinks. +- Update storage-after-cryptsetup.patch with new systemctl path. +- Migrate broken symlinks in /etc/systemd/system due to new systemd + location. + +------------------------------------------------------------------- +Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com + +- Update to release 195: + + journalctl agained --since and --until, as well as filtering + for units with --unit=/-u. + + allow ExecReload properly for Type=oneshot (needed for + iptables.service, rpc-nfsd.service). + + journal daemon supports time-based rotation and vaccuming. + + journalctl -F allow to list all values of a certain field in + journal database. + + new commandline clients for timedated, locald and hostnamed + + new tool systemd-coredumpctl to list and extract coredumps from + journal. + + improve gatewayd: follow mode, filtering, support for + HTML5/JSON Server-Sent-Events. + + reload support in SysV initscripts is now detected when file is + parted. + + "systemctl status --follow" as been removed, use "journalctl -fu + instead" + + journald.conf RuntimeMinSize and PersistentMinSize settings + have been removed. +- Add compatibility symlink for systemd-ask-password and systemctl + in /bin. + +------------------------------------------------------------------- +Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com + +- Create and own more systemd drop-in directories. + +------------------------------------------------------------------- +Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com + +- Improve mini packages for bootstrapping. +- do not mount /tmp as tmpfs by default. + +------------------------------------------------------------------- +Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com + +- Fix install script when there is no inittab + +------------------------------------------------------------------- +Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com + +- Create a systemd-mini specfile to prevent cycle in bootstrapping + +------------------------------------------------------------------- +Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + +- udev and its subpackages are now generated by systemd source + package. +- migrate udev and systemd to /usr +- Update to version 194: + + if /etc/vconsole.conf is non-existent or empty and if + /etc/sysconfig/console:CONSOLE_FONT (resp + /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp + keymap) is not modified. +- Changes from version 44 to 193: + + journalctl gained --cursor= to show entries starting from a + specified location in journal. + + Size limit enforced to 4K for fields exported with "-o json" in + journalctl. Use --all to disable this behavior. + + Optional journal gateway daemon + (systemd-journal-gatewayd.service) to access journal via HTTP + and JSON. Use "wget http://localhost:19531/entries" to get + /var/log/messages compatible format and + 'curl -H"Accept: application/json" + http://localhost:19531/entries' for JSON formatted content. + HTML5 static page is also available as explained on + http://0pointer.de/public/journal-gatewayd + + do not mount cpuset controler, doesn't work well by default + ATM. + + improved nspawn behaviour with /etc/localtime + + journald logs its maximize size on disk + + multi-seat X wrapper (partially merged in upstream X server). + + HandleSleepKey has been splitted into HandleSuspendKey and + HandleHibernateKey. + + systemd and logind now handle system sleep states, in + particular suspending and hibernating. + + new cgroups are mounted by default (cpu, cpuacct, + net_cls, net_pri) + + sync at shutdown is now handled by kernel + + imported journalctl output (colors, filtering, pager, bash + completion). + + suffix ".service" may now be ommited on most systemctl command + involving service unit names. + + much improved nspawn containers support. + + new conditions added : ConditionFileNotEmpty, ConditionHost, + ConditionPathIsReadWrite + + tmpfiles "w" supports file globbing + + logind handles lid switch, power and sleep keys all the time, + unless systemd-inhibit + --what=handle-power-key:handle-sleep-key:handle-lid-switch is + run by Desktop Environments. + + support for reading structured kernel message is used by + default (need kernel >= 3.5). /proc/kmsg is now used only by + classic syslog daemons. + + Forward Secure Sealing is now support for Journal files. + + RestartPrevenExitStatus and SuccessExitStatus allow configure + of exit status (exit code or signal). + + handles keyfile-size and keyfile-offset in /etc/crypttab. + + TimeoutSec settings has been splitted into TimeoutStartSec and + TimeoutStopSec. + + add SystemCallFilters option to add blacklist/whitelist to + system calls, using SECCOMP mode 2 of kernel >= 3.5. + + systemctl udevadm info now takes a /dev or /sys path as argument: + - udevadm info /dev/sda + + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. + + systemd-loginctl and systemd-journalctl have been renamed + to loginctl and journalctl to match systemctl. + + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is + no longer supported. udev_monitor_new_from_netlink() needs to + be used to subscribe to events. + + udev: when udevd is started by systemd, processes which are left + behind by forking them off of udev rules, are unconditionally + cleaned up and killed now after the event handling has finished. + Services or daemons must be started as systemd services. + Services can be pulled-in by udev to get started, but they can + no longer be directly forked by udev rules. + + For almost all files, license is now LGPL2.1+ (from previous + GPL2.0+). Exception are some minor stuff in udev (will be + changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] + library. + + var-run.mount and var-lock.mount are no longer provided + (should be converted to symlinks). + + A new service type Type=idle to avoid ugly interleaving of + getty output and boot status messages. + + systemd-delta has been added, a tool to explore differences + between user/admin configuration and vendor defaults. + + /tmp mouted as tmpfs by default. + + /media is now longer mounted as tmpfs + + GTK tool has been split off to systemd-ui package. + + much improved documentation. +- Merge BuildRequires from udev package: + gobject-introspection-devel, gtk-doc, libsepol-devel, + libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), + pjgconfig(libcryptsetup), pkgconfig(libpci), + pkgconfig(libqrencode), pkgconfig(libselinux), + pkgconfig(usbutils). +- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) +- Merge sources from udev package: boot.udev, write_dev_root.rules, + udev-root-symlink.systemd. +- Merge patches from udev package: numbered started from 1000): + 0001-Reinstate-TIMEOUT-handling.patch, + 0013-re-enable-by_path-links-for-ata-devices.patch, + 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, + 0026-udev-netlink-null-rules.patch, + 0027-udev-fix-sg-autoload-regression.patch. +- Remove following patches, merged upstream: + 0001-util-never-follow-symlinks-in-rm_rf_children.patch, + fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, + fix-swap-priority.patch, improve-restart-behaviour.patch, + fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, + ulimit-support.patch, change-terminal.patch, + fix-tty-startup.patch, fix-write-user-state-file.patch, + fix-analyze-exception.patch, use_localtime.patch, + journalctl-pager-improvement.patch, + avoid-random-seed-cycle.patch, + 0001-add-sparse-support-to-detect-endianness-bug.patch, + drop-timezone.patch. +- Rebase the following patches: + 0001-Add-bootsplash-handling-for-password-dialogs.patch, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, + 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, + crypt-loop-file.patch, + delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, + dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, + fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, + new-lsb-headers.patch, storage-after-cryptsetup.patch, + support-suse-clock-sysconfig.patch, support-sysvinit.patch, + sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. + ------------------------------------------------------------------- Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 90324d8c..11af0d92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,51 +16,90 @@ # +%define bootstrap 0 +%define real systemd +%define udevpkgname udev +%define udev_major 1 + Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 44 +Version: 195 Release: 0 Summary: A System and Session Manager -License: GPL-2.0+ +License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel BuildRequires: dbus-1 +%if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets +%endif BuildRequires: fdupes +%if ! 0%{?bootstrap} +BuildRequires: gobject-introspection-devel +%endif BuildRequires: gperf +%if ! 0%{?bootstrap} +BuildRequires: gtk-doc +%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel +BuildRequires: libsepol-devel BuildRequires: libtool +BuildRequires: libusb-devel +%if ! 0%{?bootstrap} BuildRequires: libxslt-tools +%endif BuildRequires: pam-devel -BuildRequires: pkg-config BuildRequires: tcpd-devel -BuildRequires: udev BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.20 BuildRequires: pkgconfig(dbus-1) >= 1.3.2 -BuildRequires: pkgconfig(libcryptsetup) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 +%endif BuildRequires: pkgconfig(libkmod) >= 5 BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libselinux) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libmicrohttpd) +%endif +BuildRequires: pkgconfig(libpci) >= 3 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libqrencode) +%endif +BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -BuildRequires: pkgconfig(udev) >= 172 +BuildRequires: pkgconfig(usbutils) >= 0.82 +%if 0%{?bootstrap} +Requires: this-is-only-for-build-envs +%else +# the buildignore is important for bootstrapping +#!BuildIgnore: udev +Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: pam-config >= 0.79-5 Requires: systemd-presets-branding -Requires: udev >= 172 Requires: util-linux >= 2.21 +Requires(post): coreutils +Requires(post): findutils +%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf Source6: baselibs.conf + +Source1060: boot.udev +Source1061: write_dev_root_rule +Source1062: udev-root-symlink.systemd + Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -71,7 +110,6 @@ Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch Patch15: support-sysvinit.patch Patch16: modules_on_boot.patch -Patch19: avoid-random-seed-cycle.patch Patch22: new-lsb-headers.patch Patch23: storage-after-cryptsetup.patch Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch @@ -79,31 +117,30 @@ Patch31: lock-opensuse.patch Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch Patch38: dm-lvm-after-local-fs-pre-target.patch -Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch Patch53: fastboot-forcefsck.patch Patch56: support-suse-clock-sysconfig.patch -Patch57: drop-timezone.patch Patch59: fix-enable-disable-boot-initscript.patch +Patch60: var-run-lock.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -Patch40: 0001-util-never-follow-symlinks-in-rm_rf_children.patch -Patch42: fixppc.patch -Patch43: logind-logout.patch -Patch44: fix-getty-isolate.patch -Patch45: fix-swap-priority.patch -Patch46: improve-restart-behaviour.patch -Patch47: fix-dir-noatime-tmpfiles.patch -Patch48: journal-bugfixes.patch -Patch49: ulimit-support.patch -Patch50: change-terminal.patch -Patch51: fix-tty-startup.patch -Patch52: fix-write-user-state-file.patch -Patch54: fix-analyze-exception.patch -Patch55: use_localtime.patch -Patch58: journalctl-pager-improvement.patch + +# udev patches +# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch +Patch1001: 0001-Reinstate-TIMEOUT-handling.patch +# PATCH-FIX-OPENSUSE 0013-re-enable-by_path-links-for-ata-devices.patch +Patch1013: 0013-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1014: 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch + +# PATCH-FIX-OPENSUSE 0026-udev-netlink-null-rules.patch +Patch1026: 0026-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch +Patch1027: 0027-udev-fix-sg-autoload-regression.patch + +# systemd patches %description Systemd is a system and service manager, compatible with SysV and LSB @@ -115,17 +152,20 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. + + %package devel Summary: Development headers for systemd +License: LGPL-2.1+ Group: Development/Libraries/C and C++ Requires: %{name} = %{version} -Requires: pkg-config %description devel Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools +License: LGPL-2.1+ Group: System/Base Requires: %{name} = %{version} Provides: sbin_init @@ -137,6 +177,7 @@ Drop-in replacement of System V init tools. %package analyze Summary: Tool for processing systemd profiling information +License: LGPL-2.1+ Group: System/Base Requires: %{name} = %{version} Requires: dbus-1-python @@ -150,17 +191,110 @@ initialization at boot. 'systemd-analyze plot' renders an SVG visualizing the parallel start of units at boot. +%package -n %{udevpkgname} +Summary: A rule-based device node and kernel event manager +License: GPL-2.0 +Group: System/Kernel +Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd +Conflicts: systemd < 39 +Conflicts: aaa_base < 11.5 +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Conflicts: util-linux < 2.16 +Conflicts: ConsoleKit < 0.4.1 +Requires: filesystem +%if 0%{?bootstrap} +Provides: udev = %{version} +%endif + +%description -n %{udevpkgname} +Udev creates and removes device nodes in /dev for devices discovered or +removed from the system. It receives events via kernel netlink messages +and dispatches them according to rules in /lib/udev/rules.d/. Matching +rules may name a device node, create additional symlinks to the node, +call tools to initialize a device, or load needed kernel modules. + + + +%package -n lib%{udevpkgname}%{udev_major} +Summary: Dynamic library to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{udevpkgname} >= %{version}-%{release} + +%description -n lib%{udevpkgname}%{udev_major} +This package contains the dynamic library libudev, which provides +access to udev device information + +%package -n lib%{udevpkgname}-devel +Summary: Development files for libudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} +%if 0%{?bootstrap} +Provides: libudev-devel = %{version} +%endif + +%description -n lib%{udevpkgname}-devel +This package contains the development files for the library libudev, a +dynamic library, which provides access to udev device information. + +%if ! 0%{?bootstrap} +%package -n libgudev-1_0-0 +Summary: GObject library, to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} + +%description -n libgudev-1_0-0 +This package contains the GObject library libgudev, which provides +access to udev device information. + +%package -n typelib-1_0-GUdev-1_0 +Summary: GObject library, to access udev device information -- Introspection bindings +License: LGPL-2.1+ +Group: System/Libraries + +%description -n typelib-1_0-GUdev-1_0 +This package provides the GObject Introspection bindings for libgudev, which +provides access to udev device information. + +%package -n libgudev-1_0-devel +Summary: Devel package for libgudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: glib2-devel +Requires: libgudev-1_0-0 = %{version}-%{release} +Requires: libudev-devel = %{version}-%{release} +Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} + +%description -n libgudev-1_0-devel +This is the devel package for the GObject library libgudev, which +provides GObject access to udev device information. +%endif + %prep -%setup -q +%setup -q -n systemd-%{version} + +#udev +%patch1001 -p1 +%patch1013 -p1 +%patch1014 -p1 +%patch1026 -p1 +%patch1027 -p1 + %patch1 -p1 %patch6 -p1 +# don't apply when bootstrapping to not modify configure.in +%if ! 0%{?bootstrap} %patch7 -p1 +%endif %patch8 -p1 %patch10 -p1 %patch13 -p1 %patch15 -p1 %patch16 -p1 -%patch19 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 @@ -168,99 +302,102 @@ at boot. %patch33 -p1 %patch36 -p1 %patch38 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -# this one causes too many trouble for now, disabling (bnc#769531) -#patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 %patch53 -p1 -%patch54 -p1 -%patch55 -p1 %patch56 -p1 -%patch57 -p1 -%patch58 -p1 %patch59 -p1 - -#needed by patch49 -rm man/systemd.conf.5 +%patch60 -p1 %build +%if ! 0%{?bootstrap} autoreconf -fiv +%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' \; -touch src/systemadm.c export V=1 -# disable plymouth at configure time, units are shipped in plymouth package now +# keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-distro=suse \ --docdir=%{_docdir}/systemd \ - --with-rootprefix= \ --with-pamlibdir=/%{_lib}/security \ - --enable-split-usr \ - --disable-gtk \ +%if 0%{?bootstrap} + --disable-gudev \ +%else --enable-manpages \ - --disable-plymouth \ + --enable-gtk-doc \ +%endif + --enable-selinux \ + --enable-split-usr \ + --disable-static \ CFLAGS="%{optflags}" make %{?_smp_mflags} %install %makeinstall +mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} +ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl +ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates +ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware + +install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev +install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service +mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants +ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants + #fix manpages +%if ! 0%{?bootstrap} sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/* +%endif #workaround for 716939 chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/lib/systemd/{system.preset,user.preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future #install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators -ln -s ../lib/systemd/systemd %{buildroot}/bin/systemd -ln -s ../lib/systemd/systemd %{buildroot}/sbin/init -ln -s ../bin/systemctl %{buildroot}/sbin/reboot -ln -s ../bin/systemctl %{buildroot}/sbin/halt -ln -s ../bin/systemctl %{buildroot}/sbin/shutdown -ln -s ../bin/systemctl %{buildroot}/sbin/poweroff -ln -s ../bin/systemctl %{buildroot}/sbin/telinit -ln -s ../bin/systemctl %{buildroot}/sbin/runlevel +ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd +ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init +ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot +ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt +ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown +ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit +ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target # aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/lib/systemd/system/ldconfig.service -ln -s /dev/null %{buildroot}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/lib/systemd/system/localfs.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service +install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service # need to be implemented in systemd directly -#ln -s /dev/null %{buildroot}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/lib/systemd/system/proc.service -ln -s fsck-root.service %{buildroot}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.service +#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service +ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service +ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service +ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service +# don't mount /tmp as tmpfs for now +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual @@ -268,42 +405,66 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf -# Let rsyslog read from /proc/kmsg for now -sed -i -e 's/\#ImportKernel=yes/ImportKernel=no/' %{buildroot}%{_sysconfdir}/systemd/systemd-journald.conf +# remove README files for now +rm -f %{buildroot}/var/log/README %{buildroot}/etc/init.d/README + +# legacy links +ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl +ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl +ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one mkdir -p %{buildroot}/var/log/journal -%fdupes $RPM_BUILD_ROOT +# Make sure the NTP units dir exists +mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ + +# Make sure the shutdown/sleep drop-in dirs exist +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ + +# Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants + +%fdupes -s %{buildroot}%{_mandir} %post /usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : /sbin/ldconfig -/bin/systemd-machine-id-setup >/dev/null 2>&1 || : -/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target ]; then +if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) if [ -n "$runlevel" ] ; then - /bin/ln -sf /lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : fi fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then # Enable these services by default. - /bin/systemctl enable \ + /usr/bin/systemctl enable \ getty@.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : +else +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + fi %postun /sbin/ldconfig if [ $1 -ge 1 ]; then - /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : + /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : @@ -311,7 +472,7 @@ fi %preun if [ $1 -eq 0 ]; then - /bin/systemctl disable \ + /usr/bin/systemctl disable \ getty@.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ @@ -319,22 +480,95 @@ if [ $1 -eq 0 ]; then rm -f /etc/systemd/system/default.target 2>&1 || : fi +%pretrans -n %{udevpkgname} -p +if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then + posix.symlink("/lib/udev", "/usr/lib/udev") +end + +%pre -n %{udevpkgname} +if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev +fi + +%post -n %{udevpkgname} +%{fillup_and_insserv -Y boot.udev} +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : +# cleanup old stuff +rm -f /etc/sysconfig/udev +rm -f /etc/udev/rules.d/20-cdrom.rules +rm -f /etc/udev/rules.d/55-cdrom.rules +rm -f /etc/udev/rules.d/65-cdrom.rules +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +# start daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + /usr/bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + fi +fi + +[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup +if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" +elif [ -x /sbin/mkinitrd ]; then + /sbin/mkinitrd +fi + +%postun -n %{udevpkgname} +%insserv_cleanup +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : + +[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup +if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" +elif [ -x /sbin/mkinitrd ]; then + /sbin/mkinitrd +fi + +%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%if ! 0%{?bootstrap} + +%post -n libgudev-1_0-0 -p /sbin/ldconfig + +%postun -n libgudev-1_0-0 -p /sbin/ldconfig +%endif + %clean rm -rf %{buildroot} %files %defattr(-,root,root) /bin/systemd -/bin/systemctl -/bin/systemd-notify -/bin/systemd-journalctl /bin/systemd-ask-password -/bin/systemd-loginctl -/bin/systemd-tty-ask-password-agent -/bin/systemd-tmpfiles -/bin/systemd-machine-id-setup -/usr/bin/systemd-nspawn -/usr/bin/systemd-stdio-bridge +/bin/systemctl +%{_bindir}/hostnamectl +%{_bindir}/localectl +%{_bindir}/systemctl +%{_bindir}/systemd-coredumpctl +%{_bindir}/systemd-delta +%{_bindir}/systemd-notify +%{_bindir}/systemd-journalctl +%{_bindir}/journalctl +%{_bindir}/systemd-ask-password +%{_bindir}/loginctl +%{_bindir}/systemd-loginctl +%{_bindir}/systemd-inhibit +%{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-tmpfiles +%{_bindir}/systemd-machine-id-setup +%{_bindir}/systemd-nspawn +%{_bindir}/systemd-stdio-bridge +%{_bindir}/systemd-detect-virt +%{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* @@ -343,35 +577,74 @@ rm -rf %{buildroot} %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat -/lib/systemd/systemd-* -%dir /lib/systemd/system-shutdown -%dir /lib/systemd/system.preset -%dir /lib/systemd/user.preset +%dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/user +%dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/basic.target.wants/udev-root-symlink.service +%{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.target +%{_prefix}/lib/systemd/system/*.mount +%{_prefix}/lib/systemd/system/*.timer +%{_prefix}/lib/systemd/system/*.socket +%{_prefix}/lib/systemd/system/*.wants +%{_prefix}/lib/systemd/system/*.path +%{_prefix}/lib/systemd/user/*.target +%{_prefix}/lib/systemd/user/*.service +%exclude %{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/systemd-* +%{_prefix}/lib/systemd/systemd +%dir %{_prefix}/lib/systemd/system-shutdown +%dir %{_prefix}/lib/systemd/system-preset +%dir %{_prefix}/lib/systemd/user-preset +%dir %{_prefix}/lib/systemd/system-generators +%dir %{_prefix}/lib/systemd/user-generators +%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_prefix}/lib/systemd/system-shutdown/ +%dir %{_prefix}/lib/systemd/system-sleep/ +%dir %{_prefix}/lib/systemd/system/default.target.wants +%dir %{_prefix}/lib/systemd/system/dbus.target.wants +%dir %{_prefix}/lib/systemd/system/syslog.target.wants +%if ! 0%{?bootstrap} +%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator +%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator /%{_lib}/security/pam_systemd.so + +%dir %{_libexecdir}/modules-load.d +%dir %{_sysconfdir}/modules-load.d + +%dir %{_libexecdir}/tmpfiles.d +%dir %{_sysconfdir}/tmpfiles.d +%{_libexecdir}/tmpfiles.d/*.conf + +%dir %{_libexecdir}/binfmt.d +%dir %{_sysconfdir}/binfmt.d + +%dir %{_libexecdir}/sysctl.d +%dir %{_sysconfdir}/sysctl.d + +%dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %dir %{_sysconfdir}/xdg/systemd/user - -%dir /usr/lib/modules-load.d -%dir %{_sysconfdir}/modules-load.d -%dir /usr/lib/tmpfiles.d -%dir %{_sysconfdir}/tmpfiles.d -%dir /usr/lib/binfmt.d -%dir %{_sysconfdir}/binfmt.d -%dir /usr/lib/sysctl.d -%dir %{_sysconfdir}/sysctl.d -/usr/lib/tmpfiles.d/*.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/systemd-logind.conf -%config(noreplace) %{_sysconfdir}/systemd/systemd-journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml @@ -382,12 +655,16 @@ rm -rf %{buildroot} %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%{_datadir}/polkit-1 -%{_datadir}/polkit-1/actions +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %{_datadir}/systemd -# Packaged in gtk subpackage -%exclude %{_mandir}/man1/systemadm.1* + +%if ! 0%{?bootstrap} # Packaged in sysvinit subpackage %exclude %{_mandir}/man1/init.1* %exclude %{_mandir}/man8/halt.8* @@ -396,24 +673,27 @@ rm -rf %{buildroot} %exclude %{_mandir}/man8/poweroff.8* %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* +%exclude %{_mandir}/man*/*udev*.[0-9]* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* %{_mandir}/man7/*.7* %{_mandir}/man8/*.8* +%endif %{_docdir}/systemd -/lib/udev/rules.d/*.rules -/lib/udev/numlock-on -%dir /lib/systemd -/lib/systemd/system -/lib/systemd/system-generators -/lib/systemd/systemd -%dir /usr/lib/systemd -/usr/lib/systemd/user -%dir %{_sysconfdir}/systemd +%{_prefix}/lib/udev/rules.d/70-uaccess.rules +%{_prefix}/lib/udev/rules.d/71-seat.rules +%{_prefix}/lib/udev/rules.d/73-seat-late.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%endif +%{_prefix}/lib/udev/rules.d/99-systemd.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/numlock-on +%endif %dir %{_sysconfdir}/bash_completion.d -/etc/bash_completion.d/systemd-bash-completion.sh -/etc/rpm/macros.systemd +%{_sysconfdir}/bash_completion.d/systemd-bash-completion.sh +%{_sysconfdir}/rpm/macros.systemd %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated @@ -431,6 +711,7 @@ rm -rf %{buildroot} %{_includedir}/systemd/sd-id128.h %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h +%{_includedir}/systemd/sd-shutdown.h %{_datadir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -446,6 +727,7 @@ rm -rf %{buildroot} /sbin/poweroff /sbin/telinit /sbin/runlevel +%if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* %{_mandir}/man8/reboot.8* @@ -453,8 +735,95 @@ rm -rf %{buildroot} %{_mandir}/man8/poweroff.8* %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* +%endif %files analyze %attr(0755,root,root) /usr/bin/systemd-analyze +%files -n %{udevpkgname} +%defattr(-,root,root) +/sbin/udevd +/sbin/udevadm +# keep for compatibility +%ghost /lib/udev +%{_bindir}/udevadm +%{_prefix}/lib/firmware +%dir %{_prefix}/lib/udev/ +%{_prefix}/lib/udev/accelerometer +%{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/collect +%{_prefix}/lib/udev/findkeyboards +%{_prefix}/lib/udev/keymap +%{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/scsi_id +%{_prefix}/lib/udev/v4l_id +%{_prefix}/lib/udev/write_dev_root_rule +%dir %{_prefix}/lib/udev/keymaps +%{_prefix}/lib/udev/keymaps/* +%{_prefix}/lib/udev/keyboard-force-release.sh +%dir %{_prefix}/lib/udev/rules.d/ +%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules +%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules +%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules +%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_prefix}/lib/udev/rules.d/*.rules +%{_sysconfdir}/init.d/boot.udev +%dir %{_sysconfdir}/udev/ +%dir %{_sysconfdir}/udev/rules.d/ +%config(noreplace) %{_sysconfdir}/udev/udev.conf +%if ! 0%{?bootstrap} +%{_mandir}/man?/*udev*.[0-9]* +%endif +%dir %{_prefix}/lib/systemd/system +%{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/system/udev-root-symlink.service +%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udevd*.socket +%dir %{_prefix}/lib/systemd/system/sysinit.target.wants +%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service +%dir %{_prefix}/lib/systemd/system/sockets.target.wants +%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket + +%files -n lib%{udevpkgname}%{udev_major} +%defattr(-,root,root) +%{_libdir}/libudev.so.* + +%files -n lib%{udevpkgname}-devel +%defattr(-,root,root) +%{_includedir}/libudev.h +%{_libdir}/libudev.so +%{_datadir}/pkgconfig/udev.pc +%{_libdir}/pkgconfig/libudev.pc +%if ! 0%{?bootstrap} +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/libudev +%{_datadir}/gtk-doc/html/libudev/* +%endif + +%if ! 0%{?bootstrap} +%files -n libgudev-1_0-0 +%defattr(-,root,root) +%{_libdir}/libgudev-1.0.so.* + +%files -n typelib-1_0-GUdev-1_0 +%defattr(-,root,root) +%{_libdir}/girepository-1.0/GUdev-1.0.typelib + +%files -n libgudev-1_0-devel +%defattr(-,root,root) +%dir %{_includedir}/gudev-1.0 +%dir %{_includedir}/gudev-1.0/gudev +%{_includedir}/gudev-1.0/gudev/*.h +%{_libdir}/libgudev-1.0.so +%{_libdir}/pkgconfig/gudev-1.0.pc +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/gudev +%{_datadir}/gtk-doc/html/gudev/* +%{_datadir}/gir-1.0/GUdev-1.0.gir +%endif + %changelog diff --git a/tty1.patch b/tty1.patch index 938066fd..79145db5 100644 --- a/tty1.patch +++ b/tty1.patch @@ -1,13 +1,13 @@ -Index: systemd-29/units/systemd-ask-password-wall.service.in +Index: systemd-189/units/systemd-ask-password-wall.service.in =================================================================== ---- systemd-29.orig/units/systemd-ask-password-wall.service.in -+++ systemd-29/units/systemd-ask-password-wall.service.in -@@ -7,7 +7,7 @@ - +--- systemd-189.orig/units/systemd-ask-password-wall.service.in ++++ systemd-189/units/systemd-ask-password-wall.service.in +@@ -8,7 +8,7 @@ [Unit] Description=Forward Password Requests to Wall + Documentation=man:systemd-ask-password-console.service(8) -After=systemd-user-sessions.service +After=systemd-user-sessions.service getty@tty1.service [Service] - ExecStartPre=-@rootbindir@/systemctl stop systemd-ask-password-console.path systemd-ask-password-console.service + ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/udev-root-symlink.systemd b/udev-root-symlink.systemd new file mode 100644 index 00000000..145a7fcc --- /dev/null +++ b/udev-root-symlink.systemd @@ -0,0 +1,9 @@ +[Unit] +Description=create /dev/root symlink with dynamic rule +Before=udev.service +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/lib/udev/write_dev_root_rule diff --git a/ulimit-support.patch b/ulimit-support.patch deleted file mode 100644 index ae6d355c..00000000 --- a/ulimit-support.patch +++ /dev/null @@ -1,253 +0,0 @@ -From 03854532d39613723dc8b85c424737ecf2e46f74 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 16 Apr 2012 18:54:45 +0200 -Subject: [PATCH 1/3] util: introduce memdup() - ---- - src/util.h | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/util.h b/src/util.h -index b1af6db..06c9933 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -99,6 +99,8 @@ bool streq_ptr(const char *a, const char *b); - - #define new0(t, n) ((t*) calloc((n), sizeof(t))) - -+#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n)) -+ - #define malloc0(n) (calloc((n), 1)) - - static inline const char* yes_no(bool b) { --- -1.7.7 - - -From f60b5d436f502152415b08758737f200113ce4bc Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 21 May 2012 16:53:18 +0200 -Subject: [PATCH 2/3] util: fix typo in newdup - -Conflicts: - - src/util.h ---- - src/util.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/util.h b/src/util.h -index 06c9933..41b4c9f 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -99,7 +99,7 @@ bool streq_ptr(const char *a, const char *b); - - #define new0(t, n) ((t*) calloc((n), sizeof(t))) - --#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n)) -+#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n))) - - #define malloc0(n) (calloc((n), 1)) - --- -1.7.7 - - -From 8e7fa2b3e68b691c522cf2b60ed920452c146c2e Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Wed, 27 Jun 2012 14:12:44 +0200 -Subject: [PATCH 3/3] main: allow system wide limits for services - ---- - man/systemd.conf.xml | 27 +++++++++++++++++++++++++++ - src/main.c | 22 ++++++++++++++++++++++ - src/manager.c | 22 ++++++++++++++++++++++ - src/manager.h | 3 +++ - src/service.c | 4 ++++ - 5 files changed, 78 insertions(+), 0 deletions(-) - -diff --git a/man/systemd.conf.xml b/man/systemd.conf.xml -index ba144da..ee461e3 100644 ---- a/man/systemd.conf.xml -+++ b/man/systemd.conf.xml -@@ -149,6 +149,33 @@ - controllers in separate - hierarchies. - -+ -+ -+ DefaultLimitCPU= -+ DefaultLimitFSIZE= -+ DefaultLimitDATA= -+ DefaultLimitSTACK= -+ DefaultLimitCORE= -+ DefaultLimitRSS= -+ DefaultLimitNOFILE= -+ DefaultLimitAS= -+ DefaultLimitNPROC= -+ DefaultLimitMEMLOCK= -+ DefaultLimitLOCKS= -+ DefaultLimitSIGPENDING= -+ DefaultLimitMSGQUEUE= -+ DefaultLimitNICE= -+ DefaultLimitRTPRIO= -+ DefaultLimitRTTIME= -+ These settings control -+ various default resource limits for units. See -+ setrlimit2 -+ for details. Use the string -+ infinity to -+ configure no limit on a specific -+ resource. They can be overriden in units files -+ using corresponding LimitXXXX parameter. -+ - - - -diff --git a/src/main.c b/src/main.c -index ed317b4..3f5f3d7 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -79,6 +79,7 @@ static char **arg_default_controllers = NULL; - static char ***arg_join_controllers = NULL; - static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; - static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; -+static struct rlimit *arg_default_rlimit[RLIMIT_NLIMITS] = {}; - - static FILE* serialization = NULL; - -@@ -659,6 +660,22 @@ static int parse_config_file(void) { - { "Manager", "DefaultStandardOutput", config_parse_output, 0, &arg_default_std_output }, - { "Manager", "DefaultStandardError", config_parse_output, 0, &arg_default_std_error }, - { "Manager", "JoinControllers", config_parse_join_controllers, 0, &arg_join_controllers }, -+ { "Manager", "DefaultLimitCPU", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_CPU]}, -+ { "Manager", "DefaultLimitFSIZE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_FSIZE]}, -+ { "Manager", "DefaultLimitDATA", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_DATA]}, -+ { "Manager", "DefaultLimitSTACK", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_STACK]}, -+ { "Manager", "DefaultLimitCORE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_CORE]}, -+ { "Manager", "DefaultLimitRSS", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_RSS]}, -+ { "Manager", "DefaultLimitNOFILE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_NOFILE]}, -+ { "Manager", "DefaultLimitAS", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_AS]}, -+ { "Manager", "DefaultLimitNPROC", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_NPROC]}, -+ { "Manager", "DefaultLimitMEMLOCK", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_MEMLOCK]}, -+ { "Manager", "DefaultLimitLOCKS", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_LOCKS]}, -+ { "Manager", "DefaultLimitSIGPENDING",config_parse_limit, 0, &arg_default_rlimit[RLIMIT_SIGPENDING]}, -+ { "Manager", "DefaultLimitMSGQUEUE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_MSGQUEUE]}, -+ { "Manager", "DefaultLimitNICE", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_NICE]}, -+ { "Manager", "DefaultLimitRTPRIO", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_RTPRIO]}, -+ { "Manager", "DefaultLimitRTTIME", config_parse_limit, 0, &arg_default_rlimit[RLIMIT_RTTIME]}, - { NULL, NULL, NULL, 0, NULL } - }; - -@@ -1401,6 +1418,8 @@ int main(int argc, char *argv[]) { - m->default_std_output = arg_default_std_output; - m->default_std_error = arg_default_std_error; - -+ manager_set_default_rlimits(m, arg_default_rlimit); -+ - if (dual_timestamp_is_set(&initrd_timestamp)) - m->initrd_timestamp = initrd_timestamp; - -@@ -1539,6 +1558,9 @@ finish: - if (m) - manager_free(m); - -+ for (j = 0; j < RLIMIT_NLIMITS; j++) -+ free (arg_default_rlimit[j]); -+ - free(arg_default_unit); - strv_free(arg_default_controllers); - free_join_controllers(); -diff --git a/src/manager.c b/src/manager.c -index 3e592b6..c6cd06c 100644 ---- a/src/manager.c -+++ b/src/manager.c -@@ -456,6 +456,7 @@ static void manager_clear_jobs_and_units(Manager *m) { - - void manager_free(Manager *m) { - UnitType c; -+ int i; - - assert(m); - -@@ -501,6 +502,9 @@ void manager_free(Manager *m) { - hashmap_free(m->cgroup_bondings); - set_free_free(m->unit_path_cache); - -+ for (i = 0; i < RLIMIT_NLIMITS; i++) -+ free(m->rlimit[i]); -+ - free(m); - } - -@@ -3137,6 +3141,24 @@ int manager_set_default_controllers(Manager *m, char **controllers) { - return 0; - } - -+int manager_set_default_rlimits(Manager *m, struct rlimit **default_rlimit) { -+ int i; -+ -+ assert(m); -+ -+ for (i = 0; i < RLIMIT_NLIMITS; i++) { -+ if (default_rlimit[i]) { -+ m->rlimit[i] = newdup(struct rlimit, default_rlimit[i], 1); -+ -+ if (!m->rlimit[i]) -+ return -ENOMEM; -+ } -+ } -+ -+ return 0; -+} -+ -+ - void manager_recheck_journal(Manager *m) { - Unit *u; - -diff --git a/src/manager.h b/src/manager.h -index a9d08f0..5f5de8e 100644 ---- a/src/manager.h -+++ b/src/manager.h -@@ -225,6 +225,8 @@ struct Manager { - - ExecOutput default_std_output, default_std_error; - -+ struct rlimit *rlimit[RLIMIT_NLIMITS]; -+ - /* non-zero if we are reloading or reexecuting, */ - int n_reloading; - -@@ -263,6 +265,7 @@ unsigned manager_dispatch_run_queue(Manager *m); - unsigned manager_dispatch_dbus_queue(Manager *m); - - int manager_set_default_controllers(Manager *m, char **controllers); -+int manager_set_default_rlimits(Manager *m, struct rlimit **default_rlimit); - - int manager_loop(Manager *m); - -diff --git a/src/service.c b/src/service.c -index 8b5c0b0..892392d 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -109,6 +109,7 @@ static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { - - static void service_init(Unit *u) { - Service *s = SERVICE(u); -+ int i; - - assert(u); - assert(u->load_state == UNIT_STUB); -@@ -127,6 +128,9 @@ static void service_init(Unit *u) { - s->guess_main_pid = true; - - exec_context_init(&s->exec_context); -+ for (i = 0; i < RLIMIT_NLIMITS; i++) -+ if (UNIT(s)->manager->rlimit[i]) -+ s->exec_context.rlimit[i] = newdup(struct rlimit, UNIT(s)->manager->rlimit[i], 1); - - RATELIMIT_INIT(s->start_limit, 10*USEC_PER_SEC, 5); - --- -1.7.7 - diff --git a/use_localtime.patch b/use_localtime.patch deleted file mode 100644 index f078561c..00000000 --- a/use_localtime.patch +++ /dev/null @@ -1,397 +0,0 @@ -unlike symlink_or_copy_atomic(), this function creates a symlink even if the -oldname and newname (from and to) are on differn't devices. (stat.st_dev) ---- - src/shared/util.c | 19 +++++++++++++++++-- - src/shared/util.h | 1 + - 2 files changed, 18 insertions(+), 2 deletions(-) - -Index: systemd-44/src/util.c -=================================================================== ---- systemd-44.orig/src/util.c -+++ systemd-44/src/util.c -@@ -5352,7 +5352,7 @@ finish: - return r; - } - --int symlink_or_copy_atomic(const char *from, const char *to) { -+static int symlink_atomic_raw(const char *from, const char *to, bool allow_copy) { - char *t, *x; - const char *fn; - size_t k; -@@ -5381,7 +5381,14 @@ int symlink_or_copy_atomic(const char *f - - *x = 0; - -- r = symlink_or_copy(from, t); -+ if (allow_copy) -+ r = symlink_or_copy(from, t); -+ else { -+ r = symlink(from, t); -+ if (r < 0) -+ r = -errno; -+ } -+ - if (r < 0) { - unlink(t); - free(t); -@@ -5482,6 +5489,14 @@ int audit_loginuid_from_pid(pid_t pid, u - return 0; - } - -+int symlink_or_copy_atomic(const char *from, const char *to) { -+ return symlink_atomic_raw(from, to, true); -+} -+ -+int symlink_atomic(const char *from, const char *to) { -+ return symlink_atomic_raw(from, to, false); -+} -+ - bool display_is_local(const char *display) { - assert(display); - -Index: systemd-44/src/util.h -=================================================================== ---- systemd-44.orig/src/util.h -+++ systemd-44/src/util.h -@@ -448,6 +448,7 @@ int vt_disallocate(const char *name); - int copy_file(const char *from, const char *to); - int symlink_or_copy(const char *from, const char *to); - int symlink_or_copy_atomic(const char *from, const char *to); -+int symlink_atomic(const char *from, const char *to); - - int fchmod_umask(int fd, mode_t mode); - -Index: systemd-44/Makefile.am -=================================================================== ---- systemd-44.orig/Makefile.am -+++ systemd-44/Makefile.am -@@ -690,7 +690,7 @@ MANPAGES = \ - man/systemd.conf.5 \ - man/tmpfiles.d.5 \ - man/hostname.5 \ -- man/timezone.5 \ -+ man/localtime.5 \ - man/machine-id.5 \ - man/locale.conf.5 \ - man/os-release.5 \ -Index: systemd-44/man/timezone.xml -=================================================================== ---- systemd-44.orig/man/timezone.xml -+++ /dev/null -@@ -1,90 +0,0 @@ -- -- -- -- -- -- -- -- -- /etc/timezone -- systemd -- -- -- -- Developer -- Lennart -- Poettering -- lennart@poettering.net -- -- -- -- -- -- timezone -- 5 -- -- -- -- timezone -- Local time zone configuration file -- -- -- -- /etc/timezone -- -- -- -- Description -- -- The /etc/timezone file -- configures the system-wide time zone of the local -- system that is used by applications for presentation -- to the user. It should contain a single -- newline-terminated line consisting of a time zone -- identifier such as -- Europe/Berlin. The file -- /etc/localtime corresponds with -- /etc/timezone and contains the -- binary time zone data for the time zone. These files -- should always be changed simultaneously and kept in -- sync. -- -- The time zone may be overridden for individual -- programs by using the TZ environment variable. See -- environ7. -- -- -- -- History -- -- The simple configuration file format of -- /etc/timezone originates from -- Debian GNU/Linux. -- -- -- -- See Also -- -- systemd1 -- -- -- -- -Index: systemd-44/man/localtime.xml -=================================================================== ---- /dev/null -+++ systemd-44/man/localtime.xml -@@ -0,0 +1,93 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ /etc/localtime -+ systemd -+ -+ -+ -+ Developer -+ Lennart -+ Poettering -+ lennart@poettering.net -+ -+ -+ Developer -+ Shawn -+ Landden -+ shawnlandden@gmail.com -+ -+ -+ -+ -+ -+ localtime -+ 5 -+ -+ -+ -+ localtime -+ Local time zone configuration file -+ -+ -+ -+ /etc/localtime -> /usr/share/zoneinfo/… -+ -+ -+ -+ Description -+ -+ The /etc/localtime file -+ configures the system-wide time zone of the local -+ system that is used by applications for presentation -+ to the user. It should be an absolute symbolic link -+ with a destination of /usr/share/zoneinfo/, -+ fallowed by a time zone identifier such as -+ Europe/Berlin or Etc/UTC. -+ The resulting link should point to the corresponding binary -+ tzfile5 -+ time zone data for the configured time zone. -+ -+ As the time zone identifier is extracted from the name of -+ the target of /etc/localtime this file may -+ not be a normal file or hardlink. -+ -+ The time zone may be overridden for individual -+ programs by using the TZ environment variable. See -+ environ7. -+ -+ -+ -+ See Also -+ -+ tzset3 -+ localtime3 -+ systemd1 -+ -+ -+ -+ -Index: systemd-44/src/timedate/timedated.c -=================================================================== ---- systemd-44.orig/src/timedate/timedated.c -+++ systemd-44/src/timedate/timedated.c -@@ -72,6 +72,9 @@ - BUS_GENERIC_INTERFACES_LIST \ - "org.freedesktop.timedate1\0" - -+/* Must start and end with '/' */ -+#define ZONEINFO_PATH "/usr/share/zoneinfo/" -+ - const char timedate_interface[] _introspect_("timedate1") = INTERFACE; - - typedef struct TZ { -@@ -125,7 +128,7 @@ static bool valid_timezone(const char *n - if (slash) - return false; - -- t = strappend("/usr/share/zoneinfo/", name); -+ t = strappend(ZONEINFO_PATH, name); - if (!t) - return false; - -@@ -149,17 +152,17 @@ static void verify_timezone(void) { - if (!tz.zone) - return; - -- p = strappend("/usr/share/zoneinfo/", tz.zone); -+ p = strappend(ZONEINFO_PATH, tz.zone); - if (!p) { - log_error("Out of memory"); - return; - } - -- j = read_full_file("/etc/localtime", &a, &l); - k = read_full_file(p, &b, &q); -- - free(p); - -+ j = read_full_file("/etc/localtime", &a, &l); -+ - if (j < 0 || k < 0 || l != q || memcmp(a, b, l)) { - log_warning("/etc/localtime and /etc/timezone out of sync."); - free(tz.zone); -@@ -172,9 +175,36 @@ static void verify_timezone(void) { - - static int read_data(void) { - int r; -+ char *t = NULL; - - free_data(); - -+ r = readlink_malloc("/etc/localtime", &t); -+ if (r < 0) { -+ if (r == -EINVAL) -+ log_warning("/etc/localtime should be a symbolic link to a timezone data file in " ZONEINFO_PATH); -+ else -+ log_warning("Failed to get target of %s: %s", "/etc/localtime", strerror(-r)); -+ } else { -+ /* we only support the trivial relative link of (/etc/)..$ABSOLUTE */ -+ int rel_link_offset = startswith(t, "..") ? strlen("..") : 0; -+ -+ if (!startswith(t + rel_link_offset, ZONEINFO_PATH)) -+ log_warning("/etc/localtime should be a symbolic link to a timezone data file in " ZONEINFO_PATH); -+ else { -+ tz.zone = strdup(t + rel_link_offset + strlen(ZONEINFO_PATH)); -+ free(t); -+ if (!tz.zone) { -+ log_error("Out of memory"); -+ return -ENOMEM; -+ } -+ -+ goto have_timezone; -+ } -+ } -+ -+ free(t); -+ - r = read_one_line_file("/etc/timezone", &tz.zone); - if (r < 0) { - if (r != -ENOENT) -@@ -190,6 +220,7 @@ static int read_data(void) { - #endif - } - -+have_timezone: - if (isempty(tz.zone)) { - free(tz.zone); - tz.zone = NULL; -@@ -205,6 +236,7 @@ static int read_data(void) { - static int write_data_timezone(void) { - int r = 0; - char *p; -+ struct stat st; - - if (!tz.zone) { - if (unlink("/etc/timezone") < 0 && errno != ENOENT) -@@ -216,21 +248,24 @@ static int write_data_timezone(void) { - return r; - } - -- p = strappend("/usr/share/zoneinfo/", tz.zone); -+ p = strappend(ZONEINFO_PATH, tz.zone); - if (!p) { - log_error("Out of memory"); - return -ENOMEM; - } - -- r = symlink_or_copy_atomic(p, "/etc/localtime"); -+ r = symlink_atomic(p, "/etc/localtime"); -+ - free(p); - - if (r < 0) -- return r; -+ return -errno; - -- r = write_one_line_file_atomic("/etc/timezone", tz.zone); -- if (r < 0) -- return r; -+ if (stat("/etc/timezone", &st) == 0 && S_ISREG(st.st_mode)) { -+ r = write_one_line_file_atomic("/etc/timezone", tz.zone); -+ if (r < 0) -+ return r; -+ } - - return 0; - } diff --git a/var-run-lock.patch b/var-run-lock.patch new file mode 100644 index 00000000..8d645de9 --- /dev/null +++ b/var-run-lock.patch @@ -0,0 +1,97 @@ +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -294,6 +294,7 @@ dist_systemunit_DATA = \ + units/sys-kernel-config.mount \ + units/sys-kernel-debug.mount \ + units/sys-fs-fuse-connections.mount \ ++ units/var-run.mount \ + units/tmp.mount \ + units/printer.target \ + units/sound.target \ +@@ -308,6 +309,11 @@ dist_systemunit_DATA = \ + units/systemd-udevd-kernel.socket \ + units/system-update.target + ++if HAVE_SYSV_COMPAT ++dist_systemunit_DATA += \ ++ units/var-lock.mount ++endif ++ + nodist_systemunit_DATA = \ + units/getty@.service \ + units/serial-getty@.service \ +@@ -3864,9 +3870,11 @@ systemd-install-data-hook: + ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ + rm -f systemd-remount-fs.service \ + systemd-fsck-root.service \ ++ var-run.mount \ + tmp.mount && \ + $(LN_S) ../systemd-remount-fs.service systemd-remount-fs.service && \ + $(LN_S) ../systemd-fsck-root.service systemd-fsck-root.service && \ ++ $(LN_S) ../var-run.mount var-run.mount && \ + $(LN_S) ../tmp.mount tmp.mount ) + ( cd $(DESTDIR)$(userunitdir) && \ + rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \ +@@ -3954,6 +3962,12 @@ if TARGET_MAGEIA + rm -f display-manager.service ) + endif + ++if HAVE_SYSV_COMPAT ++ ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ ++ rm -f var-lock.mount && \ ++ $(LN_S) ../var-lock.mount var-lock.mount ) ++endif ++ + install-exec-hook: $(INSTALL_EXEC_HOOKS) + + uninstall-hook: $(UNINSTALL_EXEC_HOOKS) +Index: systemd-195/units/var-lock.mount +=================================================================== +--- /dev/null ++++ systemd-195/units/var-lock.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Lock Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/lock ++ConditionPathIsSymbolicLink=!/var/lock ++ ++[Mount] ++What=/run/lock ++Where=/var/lock ++Type=bind ++Options=bind +Index: systemd-195/units/var-run.mount +=================================================================== +--- /dev/null ++++ systemd-195/units/var-run.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Runtime Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/run ++ConditionPathIsSymbolicLink=!/var/run ++ ++[Mount] ++What=/run ++Where=/var/run ++Type=bind ++Options=bind diff --git a/write_dev_root_rule b/write_dev_root_rule new file mode 100644 index 00000000..9555789b --- /dev/null +++ b/write_dev_root_rule @@ -0,0 +1,13 @@ +#!/bin/sh + +eval $(/sbin/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/) + +[ "$ROOT_MAJOR" -gt 0 ] || return +mkdir -m 0755 -p /run/udev/rules.d >/dev/null 2>&1 +ln -sf /run/udev /dev/.udev 2>/dev/null || : + +echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", \ +ENV{MAJOR}==\"$ROOT_MAJOR\", ENV{MINOR}==\"$ROOT_MINOR\", \ +SYMLINK+=\"root\"" > /run/udev/rules.d/10-root-symlink.rules + +exit 0 From 87fde291e2518bb72aa69459311e2ba1957de3ef60487ff24f1b2e5b20704eb2 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 3 Nov 2012 07:37:41 +0000 Subject: [PATCH 109/991] Accepting request 140035 from Base:System - add libudev1 to baselibs.conf OBS-URL: https://build.opensuse.org/request/show/140035 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=112 --- baselibs.conf | 2 +- systemd-mini.changes | 5 +++++ systemd.changes | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/baselibs.conf b/baselibs.conf index ea8c7e15..e1e7047d 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -3,4 +3,4 @@ systemd -/lib/systemd/system/ libudev0 libgudev-1_0-0 - +libudev1 diff --git a/systemd-mini.changes b/systemd-mini.changes index c7585b8e..ad7eb901 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com + +- add libudev1 to baselibs.conf + ------------------------------------------------------------------- Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com diff --git a/systemd.changes b/systemd.changes index c7585b8e..ad7eb901 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com + +- add libudev1 to baselibs.conf + ------------------------------------------------------------------- Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com From 7564493967e56e8cf366f22aa8746b078702f5822e94b41d4c99bc5496c07ba8 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 5 Nov 2012 19:55:01 +0000 Subject: [PATCH 110/991] Accepting request 140248 from Base:System - Don't hardcode path for systemctl in udev post script. - Ensure systemd-udevd.service is shadowing boot.udev when booting under systemd. - Fix udev daemon upgrade under both systemd and sysvinit. - Add fix-logind-pty-seat.patch: fix logind complaining when doing su/sudo in X terminal. (forwarded request 140247 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/140248 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=113 --- fix-logind-pty-seat.patch | 29 +++++++++++++++++++++++++++++ systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 21 +++++++++++++++++---- systemd.changes | 10 ++++++++++ systemd.spec | 21 +++++++++++++++++---- 5 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 fix-logind-pty-seat.patch diff --git a/fix-logind-pty-seat.patch b/fix-logind-pty-seat.patch new file mode 100644 index 00000000..50b3a3da --- /dev/null +++ b/fix-logind-pty-seat.patch @@ -0,0 +1,29 @@ +From 978cf3c75fbd94fd0e046206ada6169b35edd919 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 28 Oct 2012 17:37:16 +0100 +Subject: [PATCH] logind: it's OK if a process on an pty requests a session + for seat0 + +After all, if a sudo/su inside an X terminal should get added to the +same session as the X session itself. +--- + src/login/logind-dbus.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c +index 4326e5b..8b6021d 100644 +--- a/src/login/logind-dbus.c ++++ b/src/login/logind-dbus.c +@@ -415,8 +415,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess + if (vtnr != 0) + return -EINVAL; + +- } else if (!isempty(tty) && s && seat_is_vtconsole(s)) +- return -EINVAL; ++ } + + if (s) { + if (seat_can_multi_session(s)) { +-- +1.7.10.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index ad7eb901..349b3bbb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com + +- Don't hardcode path for systemctl in udev post script. +- Ensure systemd-udevd.service is shadowing boot.udev when booting + under systemd. +- Fix udev daemon upgrade under both systemd and sysvinit. +- Add fix-logind-pty-seat.patch: fix logind complaining when doing + su/sudo in X terminal. + ------------------------------------------------------------------- Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index e9fe70eb..44f13d24 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -131,6 +131,8 @@ Patch60: var-run-lock.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal +Patch61: fix-logind-pty-seat.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -311,6 +313,7 @@ provides GObject access to udev device information. %patch56 -p1 %patch59 -p1 %patch60 -p1 +%patch61 -p1 %build %if ! 0%{?bootstrap} @@ -348,6 +351,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev +ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants @@ -496,6 +500,13 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then mv /lib/udev /usr/lib ln -s /usr/lib/udev /lib/udev fi +# kill daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root ; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || : + udevadm control --exit 2>&1 || : + fi +fi %post -n %{udevpkgname} %{fillup_and_insserv -Y boot.udev} @@ -507,12 +518,13 @@ rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/20-cdrom.rules rm -f /etc/udev/rules.d/55-cdrom.rules rm -f /etc/udev/rules.d/65-cdrom.rules -/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload >/dev/null 2>&1 || : # start daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - /usr/bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : - /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + fi fi fi @@ -526,7 +538,7 @@ fi %postun -n %{udevpkgname} %insserv_cleanup -/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload >/dev/null 2>&1 || : [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then @@ -586,6 +598,7 @@ rm -rf %{buildroot} %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/udev.service %exclude %{_prefix}/lib/systemd/system/udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/udev-root-symlink.service diff --git a/systemd.changes b/systemd.changes index ad7eb901..349b3bbb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com + +- Don't hardcode path for systemctl in udev post script. +- Ensure systemd-udevd.service is shadowing boot.udev when booting + under systemd. +- Fix udev daemon upgrade under both systemd and sysvinit. +- Add fix-logind-pty-seat.patch: fix logind complaining when doing + su/sudo in X terminal. + ------------------------------------------------------------------- Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index 11af0d92..86df1703 100644 --- a/systemd.spec +++ b/systemd.spec @@ -126,6 +126,8 @@ Patch60: var-run-lock.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal +Patch61: fix-logind-pty-seat.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -306,6 +308,7 @@ provides GObject access to udev device information. %patch56 -p1 %patch59 -p1 %patch60 -p1 +%patch61 -p1 %build %if ! 0%{?bootstrap} @@ -343,6 +346,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev +ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants @@ -491,6 +495,13 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then mv /lib/udev /usr/lib ln -s /usr/lib/udev /lib/udev fi +# kill daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root ; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || : + udevadm control --exit 2>&1 || : + fi +fi %post -n %{udevpkgname} %{fillup_and_insserv -Y boot.udev} @@ -502,12 +513,13 @@ rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/20-cdrom.rules rm -f /etc/udev/rules.d/55-cdrom.rules rm -f /etc/udev/rules.d/65-cdrom.rules -/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload >/dev/null 2>&1 || : # start daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - /usr/bin/systemctl start systemd-udevd.service >/dev/null 2>&1 || : - /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + fi fi fi @@ -521,7 +533,7 @@ fi %postun -n %{udevpkgname} %insserv_cleanup -/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload >/dev/null 2>&1 || : [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then @@ -581,6 +593,7 @@ rm -rf %{buildroot} %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/udev.service %exclude %{_prefix}/lib/systemd/system/udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/udev-root-symlink.service From 4009500bd307d11ff204ed0e9bfb85f98a44d9520631a3a39044bc8b74eadd32 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 6 Nov 2012 14:52:46 +0000 Subject: [PATCH 111/991] Accepting request 140354 from Base:System - adding a package systemd-logger that blocks syslog implementations from installation to make an installation that only uses the journal OBS-URL: https://build.opensuse.org/request/show/140354 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=114 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 17 +++++++++++++++++ systemd.changes | 6 ++++++ systemd.spec | 17 +++++++++++++++++ 4 files changed, 46 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 349b3bbb..6ad12c11 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com + +- adding a package systemd-logger that blocks syslog implementations + from installation to make an installation that only uses the journal + ------------------------------------------------------------------- Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 44f13d24..99f43196 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -279,6 +279,18 @@ Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} %description -n libgudev-1_0-devel This is the devel package for the GObject library libgudev, which provides GObject access to udev device information. + +%package logger +Summary: Journal only logging +License: LGPL-2.1+ +Group: System/Base +Provides: syslog +Provides: sysvinit(syslog) +Conflicts: otherproviders(syslog) + +%description logger +This package marks the installation to not use syslog but only the journal. + %endif %prep @@ -842,6 +854,11 @@ rm -rf %{buildroot} %dir %{_datadir}/gtk-doc/html/gudev %{_datadir}/gtk-doc/html/gudev/* %{_datadir}/gir-1.0/GUdev-1.0.gir + +%files logger +%defattr(-,root,root) +%dir /var/log/journal + %endif %changelog diff --git a/systemd.changes b/systemd.changes index 349b3bbb..6ad12c11 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com + +- adding a package systemd-logger that blocks syslog implementations + from installation to make an installation that only uses the journal + ------------------------------------------------------------------- Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 86df1703..abcc5caf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -274,6 +274,18 @@ Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} %description -n libgudev-1_0-devel This is the devel package for the GObject library libgudev, which provides GObject access to udev device information. + +%package logger +Summary: Journal only logging +License: LGPL-2.1+ +Group: System/Base +Provides: syslog +Provides: sysvinit(syslog) +Conflicts: otherproviders(syslog) + +%description logger +This package marks the installation to not use syslog but only the journal. + %endif %prep @@ -837,6 +849,11 @@ rm -rf %{buildroot} %dir %{_datadir}/gtk-doc/html/gudev %{_datadir}/gtk-doc/html/gudev/* %{_datadir}/gir-1.0/GUdev-1.0.gir + +%files logger +%defattr(-,root,root) +%dir /var/log/journal + %endif %changelog From 16ef4de12ed08670193ac5ca8df284947bc75c690236ea530fe454239c5f4661 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 26 Nov 2012 18:58:02 +0000 Subject: [PATCH 112/991] Accepting request 142568 from Base:System - Fix creation of /dev/root link. - Add remount-ro-before-unmount.patch: always remount read-only before unmounting in final shutdown loop. - Add switch-root-try-pivot-root.patch: try pivot_root before overmounting / - links more manpages for migrated tools (from Christopher Yeleighton). - disable boot.localnet service, ypbind service will do the right thing now (bnc#716746) - add xdm-display-manager.patch: pull xdm.service instead of display-manager.service (needed until xdm initscript is migrated to native systemd service). - Add fix-permissions-btmp.patch: ensure btmp is owned only by root (bnc#777405). - Have the udev package create a tape group, as referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules (DimStar). - Add fix-bad-memory-access.patch: fix crash in journal rotation. - Add fix-dbus-crash.patch: fix D-Bus caused crash. - Add sync-on-shutdown.patch: ensure sync is done when initiating shutdown. - Add mount-efivars.patch: mount efivars if booting on UEFI. - Ship a empty systemd-journald initscript in systemd-logger to stop insserv to complain about missing syslog dependency. - Update 0001-service-Fix-dependencies-added-when-parsing-insserv..patch with bug fixes from Debian. OBS-URL: https://build.opensuse.org/request/show/142568 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=115 --- ...ndencies-added-when-parsing-insserv..patch | 97 ++++- fix-bad-memory-access.patch | 23 ++ fix-build-glibc217.patch | 32 ++ fix-dbus-crash.patch | 32 ++ fix-permissions-btmp.patch | 13 + libgcrypt.m4 | 123 +++++++ mount-efivars.patch | 336 ++++++++++++++++++ remount-ro-before-unmount.patch | 95 +++++ switch-root-try-pivot-root.patch | 81 +++++ sync-on-shutdown.patch | 49 +++ systemd-journald.init | 33 ++ systemd-mini.changes | 62 ++++ systemd-mini.spec | 123 +++++-- systemd.changes | 62 ++++ systemd.spec | 123 +++++-- udev-root-symlink.systemd | 2 +- write_dev_root_rule | 2 +- xdm-display-manager.patch | 13 + 18 files changed, 1222 insertions(+), 79 deletions(-) create mode 100644 fix-bad-memory-access.patch create mode 100644 fix-build-glibc217.patch create mode 100644 fix-dbus-crash.patch create mode 100644 fix-permissions-btmp.patch create mode 100644 libgcrypt.m4 create mode 100644 mount-efivars.patch create mode 100644 remount-ro-before-unmount.patch create mode 100644 switch-root-try-pivot-root.patch create mode 100644 sync-on-shutdown.patch create mode 100644 systemd-journald.init create mode 100644 xdm-display-manager.patch diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch index 36ca5a76..17c4a2bd 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -1,17 +1,35 @@ -From 6620bceb7233a830be3635a4f7a7dc75c13a9c8e Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 30 Sep 2011 14:12:45 +0200 -Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf - ---- - src/service.c | 16 +++++++++------- - 1 files changed, 9 insertions(+), 7 deletions(-) - -Index: systemd-41/src/service.c +Index: systemd-195/src/core/service.c =================================================================== ---- systemd-41.orig/src/core/service.c -+++ systemd-41/src/core/service.c -@@ -3210,23 +3210,30 @@ static void sysv_facility_in_insserv_con +--- systemd-195.orig/src/core/service.c ++++ systemd-195/src/core/service.c +@@ -3391,12 +3391,13 @@ static void service_notify_message(Unit + + #ifdef HAVE_SYSV_COMPAT + +-#ifdef TARGET_SUSE +-static void sysv_facility_in_insserv_conf(Manager *mgr) { +- FILE *f=NULL; ++#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN) ++static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) { ++ FILE *f = NULL; + int r; + +- if (!(f = fopen("/etc/insserv.conf", "re"))) { ++ if (!(f = fopen(filename, "re"))) { ++ log_error("Failed to open file %s", filename); + r = errno == ENOENT ? 0 : -errno; + goto finish; + } +@@ -3410,7 +3411,7 @@ static void sysv_facility_in_insserv_con + break; + + r = -errno; +- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r)); ++ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); + goto finish; + } + +@@ -3425,23 +3426,30 @@ static void sysv_facility_in_insserv_con Unit *u; if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) continue; @@ -29,12 +47,12 @@ Index: systemd-41/src/service.c STRV_FOREACH (j, parsed+1) { - if (*j[0]=='+') { - e = UNIT_WANTS; -+ if (*j[0]=='+') ++ if (*j[0] == '+') name = *j+1; - } - else { - e = UNIT_REQUIRES; -+ else ++ else name = *j; - } + if (streq(name, "boot.localfs") || @@ -44,9 +62,54 @@ Index: systemd-41/src/service.c continue; - r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); -+ r = unit_add_dependency_by_name_inverse(u, UNIT_BEFORE, dep, NULL, true); -+ if (*j[0]!='+') ++ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true); ++ if (*j[0] != '+') + r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true); free(dep); } } +@@ -3454,6 +3462,35 @@ finish: + fclose(f); + + } ++ ++static void sysv_facility_in_insserv_conf(Manager *mgr) { ++ DIR *d =NULL; ++ struct dirent *de; ++ ++#ifdef TARGET_DEBIAN ++ if (!(d = opendir("/etc/insserv.conf.d/"))) ++ if (errno != ENOENT) { ++ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); ++ goto finish; ++ } ++ ++ while ((de = readdir(d))) { ++ char *path = NULL; ++ if (ignore_file(de->d_name)) ++ continue; ++ ++ path = join("/etc/insserv.conf.d/", de->d_name, NULL); ++ sysv_parse_insserv_conf(mgr, path); ++ free(path); ++ } ++finish: ++ if (d) ++ closedir(d); ++#endif ++ ++ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf"); ++} ++ + #endif + + static int service_enumerate(Manager *m) { +@@ -3604,7 +3641,7 @@ static int service_enumerate(Manager *m) + + r = 0; + +-#ifdef TARGET_SUSE ++#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN) + sysv_facility_in_insserv_conf (m); + #endif + diff --git a/fix-bad-memory-access.patch b/fix-bad-memory-access.patch new file mode 100644 index 00000000..2109977a --- /dev/null +++ b/fix-bad-memory-access.patch @@ -0,0 +1,23 @@ +From 7d73c1343be02a59b17de0cd34375deeb815d89c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 20 Nov 2012 00:19:27 +0100 +Subject: [PATCH] journald: fix bad memory access + +https://bugzilla.redhat.com/show_bug.cgi?id=875653 +--- + src/journal/journald-server.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-195/src/journal/journald.c +=================================================================== +--- systemd-195.orig/src/journal/journald.c ++++ systemd-195/src/journal/journald.c +@@ -342,7 +342,7 @@ static void server_rotate(Server *s) { + HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) { + r = journal_file_rotate(&f, s->compress, s->seal); + if (r < 0) +- if (f->path) ++ if (f) + log_error("Failed to rotate %s: %s", f->path, strerror(-r)); + else + log_error("Failed to create user journal: %s", strerror(-r)); diff --git a/fix-build-glibc217.patch b/fix-build-glibc217.patch new file mode 100644 index 00000000..fe35a571 --- /dev/null +++ b/fix-build-glibc217.patch @@ -0,0 +1,32 @@ +From e17187091d463ad008c0b74eb04de5078b2abb96 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 14 Nov 2012 14:44:05 +0100 +Subject: [PATCH] configure.ac: fix FTBFS with new glibc + +glibc moved clock_* functions from librt to the core libc. As a result, +clock_gettime is no more a suitable symbol to use when finding librt. +Look for mq_open instead. +Reference: +http://www.sourceware.org/git/gitweb.cgi?p=glibc.git&h=6e6249d0b461b952d0f544792372663feb6d792a + +Fixes a FTBFS in Fedora Rawhide. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c4638d1..71ea6ad 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -171,7 +171,7 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ + -Wl,-z,now]) + AC_SUBST([OUR_LDFLAGS], $with_ldflags) + +-AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) ++AC_SEARCH_LIBS([mq_open], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) + AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])]) + + save_LIBS="$LIBS" +-- +1.7.10.4 + diff --git a/fix-dbus-crash.patch b/fix-dbus-crash.patch new file mode 100644 index 00000000..caf53645 --- /dev/null +++ b/fix-dbus-crash.patch @@ -0,0 +1,32 @@ +From 645a9e5a2bbb06464a3fba1a3501e9d79e5bbad8 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Wed, 31 Oct 2012 11:53:56 +0100 +Subject: [PATCH] dbus-manager: fix a fatal dbus abort in + bus_manager_message_handler() + +If ListUnitFiles fails, or an OOM occurs, then dbus_message_unref() +will be called twice on "reply", causing systemd to crash. So remove +the call to dbus_message_unref(); it is unnecessary because of +the cleanup attribute on "reply". + +[zj: modified to leave one dbus_message_unref() alone, per Colin +Walters' comment.] +--- + src/core/dbus-manager.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c +index 2010241..3cf3e90 100644 +--- a/src/core/dbus-manager.c ++++ b/src/core/dbus-manager.c +@@ -1436,7 +1436,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, + r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h); + if (r < 0) { + unit_file_list_free(h); +- dbus_message_unref(reply); + return bus_send_error_reply(connection, message, NULL, r); + } + +-- +1.7.10.4 + diff --git a/fix-permissions-btmp.patch b/fix-permissions-btmp.patch new file mode 100644 index 00000000..4a7a1122 --- /dev/null +++ b/fix-permissions-btmp.patch @@ -0,0 +1,13 @@ +Index: systemd-44/tmpfiles.d/systemd.conf +=================================================================== +--- systemd-44.orig/tmpfiles.d/systemd.conf ++++ systemd-44/tmpfiles.d/systemd.conf +@@ -11,7 +11,7 @@ d /run/user 0755 root root 10d + F /run/utmp 0664 root utmp - + + f /var/log/wtmp 0664 root utmp - +-f /var/log/btmp 0600 root utmp - ++f /var/log/btmp 0600 root root - + + d /var/cache/man - - - 30d + diff --git a/libgcrypt.m4 b/libgcrypt.m4 new file mode 100644 index 00000000..b0aeccd2 --- /dev/null +++ b/libgcrypt.m4 @@ -0,0 +1,123 @@ +dnl Autoconf macros for libgcrypt +dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. +dnl +dnl This file is free software; as a special exception the author gives +dnl unlimited permission to copy and/or distribute it, with or without +dnl modifications, as long as this notice is preserved. +dnl +dnl This file is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. +dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed +dnl with the API version to also check the API compatibility. Example: +dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed +dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using +dnl this features allows to prevent build against newer versions of libgcrypt +dnl with a changed API. +dnl +AC_DEFUN([AM_PATH_LIBGCRYPT], +[ AC_ARG_WITH(libgcrypt-prefix, + AC_HELP_STRING([--with-libgcrypt-prefix=PFX], + [prefix where LIBGCRYPT is installed (optional)]), + libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") + if test x$libgcrypt_config_prefix != x ; then + if test x${LIBGCRYPT_CONFIG+set} != xset ; then + LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config + fi + fi + + AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) + tmp=ifelse([$1], ,1:1.2.0,$1) + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` + min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` + else + req_libgcrypt_api=0 + min_libgcrypt_version="$tmp" + fi + + AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) + ok=no + if test "$LIBGCRYPT_CONFIG" != "no" ; then + req_major=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + req_minor=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + req_micro=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` + libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` + major=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + micro=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` + if test "$major" -gt "$req_major"; then + ok=yes + else + if test "$major" -eq "$req_major"; then + if test "$minor" -gt "$req_minor"; then + ok=yes + else + if test "$minor" -eq "$req_minor"; then + if test "$micro" -ge "$req_micro"; then + ok=yes + fi + fi + fi + fi + fi + fi + if test $ok = yes; then + AC_MSG_RESULT([yes ($libgcrypt_config_version)]) + else + AC_MSG_RESULT(no) + fi + if test $ok = yes; then + # If we have a recent libgcrypt, we should also check that the + # API is compatible + if test "$req_libgcrypt_api" -gt 0 ; then + tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + AC_MSG_CHECKING([LIBGCRYPT API version]) + if test "$req_libgcrypt_api" -eq "$tmp" ; then + AC_MSG_RESULT([okay]) + else + ok=no + AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) + fi + fi + fi + fi + if test $ok = yes; then + LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` + LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` + ifelse([$2], , :, [$2]) + if test x"$host" != x ; then + libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` + if test x"$libgcrypt_config_host" != xnone ; then + if test x"$libgcrypt_config_host" != x"$host" ; then + AC_MSG_WARN([[ +*** +*** The config script $LIBGCRYPT_CONFIG was +*** built for $libgcrypt_config_host and thus may not match the +*** used host $host. +*** You may want to use the configure option --with-libgcrypt-prefix +*** to specify a matching config script. +***]]) + fi + fi + fi + else + LIBGCRYPT_CFLAGS="" + LIBGCRYPT_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(LIBGCRYPT_CFLAGS) + AC_SUBST(LIBGCRYPT_LIBS) +]) diff --git a/mount-efivars.patch b/mount-efivars.patch new file mode 100644 index 00000000..e13e52d1 --- /dev/null +++ b/mount-efivars.patch @@ -0,0 +1,336 @@ +From f271dd97622b656c1c013d181ea615c671cc2438 Mon Sep 17 00:00:00 2001 +From: "Lee, Chun-Yi" +Date: Sat, 27 Oct 2012 11:23:22 +0800 +Subject: [PATCH] systemd: mount the EFI variable filesystem +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add efivarfs to the mount_table in mount-setup.c, so the EFI variable +filesystem will be mounted when systemd executed. + +The EFI variable filesystem will merge in v3.7 or v3.8 linux kernel. + +Cc: Kay Sievers +Cc: Lennart Poettering +Cc: Mantas Mikulėnas +Cc: Zbigniew Jędrzejewski-Szmek +Cc: Matt Fleming +Cc: Jeremy Kerr +Cc: Matthew Garrett +Signed-off-by: Lee, Chun-Yi +--- + src/core/kmod-setup.c | 7 ++++--- + src/core/mount-setup.c | 1 + + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c +index cc2a2d9..ce8a8e7 100644 +--- a/src/core/kmod-setup.c ++++ b/src/core/kmod-setup.c +@@ -31,9 +31,10 @@ + #include "kmod-setup.h" + + static const char * const kmod_table[] = { +- "autofs4", "/sys/class/misc/autofs", +- "ipv6", "/sys/module/ipv6", +- "unix", "/proc/net/unix" ++ "autofs4", "/sys/class/misc/autofs", ++ "ipv6", "/sys/module/ipv6", ++ "efivarfs", "/sys/firmware/efi/efivars", ++ "unix", "/proc/net/unix" + }; + + #pragma GCC diagnostic push +diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c +index 0fd112f..9894c7f 100644 +--- a/src/core/mount-setup.c ++++ b/src/core/mount-setup.c +@@ -66,6 +66,7 @@ static const MountPoint mount_table[] = { + { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, + { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true }, + { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, ++ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, + { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, + { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true }, + { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, +-- +1.7.10.4 + +From c1e5704657315b436c0409e8172c1fcb76adccad Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 4 Nov 2012 16:06:27 +0100 +Subject: [PATCH] shared: add is_efiboot() + +--- + src/shared/util.c | 4 ++++ + src/shared/util.h | 2 ++ + 2 files changed, 6 insertions(+) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 2a8afae..9983695 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -77,6 +77,10 @@ char **saved_argv = NULL; + static volatile unsigned cached_columns = 0; + static volatile unsigned cached_lines = 0; + ++bool is_efiboot(void) { ++ return access("/sys/firmware/efi", F_OK) >= 0; ++} ++ + size_t page_size(void) { + static __thread size_t pgsz = 0; + long r; +diff --git a/src/shared/util.h b/src/shared/util.h +index e387b12..99972cc 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -90,6 +90,8 @@ union dirent_storage { + #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m" + #define ANSI_HIGHLIGHT_OFF "\x1B[0m" + ++bool is_efiboot(void); ++ + usec_t now(clockid_t clock); + + dual_timestamp* dual_timestamp_get(dual_timestamp *ts); +-- +1.7.10.4 + +From 1022373284b7562431fb0a6dba45db8af089a0e3 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 4 Nov 2012 16:54:19 +0100 +Subject: [PATCH] kmod-setup: add conditional module loading callback + +--- + src/core/kmod-setup.c | 32 ++++++++++++++++++++------------ + 1 file changed, 20 insertions(+), 12 deletions(-) + +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c +index ce8a8e7..383a6b2 100644 +--- a/src/core/kmod-setup.c ++++ b/src/core/kmod-setup.c +@@ -30,11 +30,17 @@ + + #include "kmod-setup.h" + +-static const char * const kmod_table[] = { +- "autofs4", "/sys/class/misc/autofs", +- "ipv6", "/sys/module/ipv6", +- "efivarfs", "/sys/firmware/efi/efivars", +- "unix", "/proc/net/unix" ++typedef struct Kmodule { ++ const char *name; ++ const char *directory; ++ bool (*condition_fn)(void); ++} KModule; ++ ++static const KModule kmod_table[] = { ++ { "autofs4", "/sys/class/misc/autofs", NULL } , ++ { "ipv6", "/sys/module/ipv6", NULL }, ++ { "efivarfs", "/sys/firmware/efi/efivars", NULL }, ++ { "unix", "/proc/net/unix", NULL } , + }; + + #pragma GCC diagnostic push +@@ -42,7 +48,8 @@ static const char * const kmod_table[] = { + static void systemd_kmod_log(void *data, int priority, const char *file, int line, + const char *fn, const char *format, va_list args) + { +- log_metav(priority, file, line, fn, format, args); ++ /* library logging is enabled at debug only */ ++ log_metav(LOG_DEBUG, file, line, fn, format, args); + } + #pragma GCC diagnostic pop + +@@ -53,13 +60,15 @@ int kmod_setup(void) { + int err; + + for (i = 0; i < ELEMENTSOF(kmod_table); i += 2) { ++ if (kmod_table[i].condition_fn && !kmod_table[i].condition_fn()) ++ continue; + +- if (access(kmod_table[i+1], F_OK) >= 0) ++ if (access(kmod_table[i].directory, F_OK) >= 0) + continue; + + log_debug("Your kernel apparently lacks built-in %s support. Might be a good idea to compile it in. " + "We'll now try to work around this by loading the module...", +- kmod_table[i]); ++ kmod_table[i].name); + + if (!ctx) { + ctx = kmod_new(NULL, NULL); +@@ -69,13 +78,12 @@ int kmod_setup(void) { + } + + kmod_set_log_fn(ctx, systemd_kmod_log, NULL); +- + kmod_load_resources(ctx); + } + +- err = kmod_module_new_from_name(ctx, kmod_table[i], &mod); ++ err = kmod_module_new_from_name(ctx, kmod_table[i].name, &mod); + if (err < 0) { +- log_error("Failed to load module '%s'", kmod_table[i]); ++ log_error("Failed to lookup module '%s'", kmod_table[i].name); + continue; + } + +@@ -85,7 +93,7 @@ int kmod_setup(void) { + else if (err == KMOD_PROBE_APPLY_BLACKLIST) + log_info("Module '%s' is blacklisted", kmod_module_get_name(mod)); + else +- log_error("Failed to insert '%s'", kmod_module_get_name(mod)); ++ log_error("Failed to insert module '%s'", kmod_module_get_name(mod)); + + kmod_module_unref(mod); + } +-- +1.7.10.4 + +From 3dfb265083347cb5700dc38f7cc0f479f378e6e9 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 4 Nov 2012 16:55:23 +0100 +Subject: [PATCH] kmod-setup: mounting efivarfs, *after* we tried to mount it, + is pointless + +The mount() system call, which we issue before loading modules, will trigger +a modprobe by the kernel and block until it returns. Trying to load it again +later, will have exactly the same result as the first time. +--- + src/core/kmod-setup.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c +index 383a6b2..20ab232 100644 +--- a/src/core/kmod-setup.c ++++ b/src/core/kmod-setup.c +@@ -39,7 +39,6 @@ typedef struct Kmodule { + static const KModule kmod_table[] = { + { "autofs4", "/sys/class/misc/autofs", NULL } , + { "ipv6", "/sys/module/ipv6", NULL }, +- { "efivarfs", "/sys/firmware/efi/efivars", NULL }, + { "unix", "/proc/net/unix", NULL } , + }; + +-- +1.7.10.4 + +From 6aa220e019f9dffd96590b06b68f937985204109 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 4 Nov 2012 17:03:48 +0100 +Subject: [PATCH] mount-setup: try mounting 'efivarfs' only if the system + bootet with EFI + +--- + TODO | 3 --- + src/core/mount-setup.c | 50 ++++++++++++++++++++++++++++++++---------------- + 2 files changed, 34 insertions(+), 19 deletions(-) + +diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c +index 9894c7f..98614d0 100644 +--- a/src/core/mount-setup.c ++++ b/src/core/mount-setup.c +@@ -46,14 +46,20 @@ + #define TTY_GID 5 + #endif + ++typedef enum MountMode { ++ MNT_NONE = 0, ++ MNT_FATAL = 1 << 0, ++ MNT_IN_CONTAINER = 1 << 1, ++} MountMode; ++ + typedef struct MountPoint { + const char *what; + const char *where; + const char *type; + const char *options; + unsigned long flags; +- bool fatal; +- bool in_container; ++ bool (*condition_fn)(void); ++ MountMode mode; + } MountPoint; + + /* The first three entries we might need before SELinux is up. The +@@ -62,16 +68,26 @@ typedef struct MountPoint { + #define N_EARLY_MOUNT 4 + + static const MountPoint mount_table[] = { +- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, +- { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, +- { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true }, +- { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, +- { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, +- { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, +- { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true }, +- { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, +- { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, false, true }, +- { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, false, true }, ++ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_NONE }, ++ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ is_efiboot, MNT_NONE }, ++ { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, ++ NULL, MNT_IN_CONTAINER }, ++ { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, ++ NULL, MNT_IN_CONTAINER }, ++ { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_IN_CONTAINER }, + }; + + /* These are API file systems that might be mounted by other software, +@@ -119,6 +135,9 @@ static int mount_one(const MountPoint *p, bool relabel) { + + assert(p); + ++ if (p->condition_fn && !p->condition_fn()) ++ return 0; ++ + /* Relabel first, just in case */ + if (relabel) + label_fix(p->where, true, true); +@@ -131,7 +150,7 @@ static int mount_one(const MountPoint *p, bool relabel) { + return 0; + + /* Skip securityfs in a container */ +- if (!p->in_container && detect_container(NULL) > 0) ++ if (!(p->mode & MNT_IN_CONTAINER) && detect_container(NULL) > 0) + return 0; + + /* The access mode here doesn't really matter too much, since +@@ -149,8 +168,8 @@ static int mount_one(const MountPoint *p, bool relabel) { + p->type, + p->flags, + p->options) < 0) { +- log_full(p->fatal ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno)); +- return p->fatal ? -errno : 0; ++ log_full((p->mode & MNT_FATAL) ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno)); ++ return (p->mode & MNT_FATAL) ? -errno : 0; + } + + /* Relabel again, since we now mounted something fresh here */ +@@ -289,7 +308,6 @@ int mount_cgroup_controllers(char ***join_controllers) { + p.type = "cgroup"; + p.options = options; + p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV; +- p.fatal = false; + + r = mount_one(&p, true); + free(controller); +-- +1.7.10.4 + diff --git a/remount-ro-before-unmount.patch b/remount-ro-before-unmount.patch new file mode 100644 index 00000000..d634afff --- /dev/null +++ b/remount-ro-before-unmount.patch @@ -0,0 +1,95 @@ +From 93bd157722c76b47d80742f290373c1ce2865070 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 Nov 2012 18:36:28 +0100 +Subject: [PATCH] umount: always remount read-only before unmounting in final + shutdown loop + +--- + src/core/umount.c | 57 +++++++++++++++++++++++++---------------------------- + 1 file changed, 27 insertions(+), 30 deletions(-) + +diff --git a/src/core/umount.c b/src/core/umount.c +index 83c9de3..e794057 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -407,6 +407,33 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e + assert(head); + + LIST_FOREACH_SAFE(mount_point, m, n, *head) { ++ ++ /* If we are in a container, don't attempt to ++ read-only mount anything as that brings no real ++ benefits, but might confuse the host, as we remount ++ the superblock here, not the bind mound. */ ++ if (detect_container(NULL) <= 0) { ++ /* We always try to remount directories ++ * read-only first, before we go on and umount ++ * them. ++ * ++ * Mount points can be stacked. If a mount ++ * point is stacked below / or /usr, we ++ * cannnot umount or remount it directly, ++ * since there is no way to refer to the ++ * underlying mount. There's nothing we can do ++ * about it for the general case, but we can ++ * do something about it if it is aliased ++ * somehwere else via a bind mount. If we ++ * explicitly remount the super block of that ++ * alias read-only we hence should be ++ * relatively safe regarding keeping the fs we ++ * can otherwise not see dirty. */ ++ mount(NULL, m->path, NULL, MS_REMOUNT|MS_RDONLY, NULL); ++ } ++ ++ /* Skip / and /usr since we cannot unmount that ++ * anyway, since we are running from it */ + if (path_equal(m->path, "/") + #ifndef HAVE_SPLIT_USR + || path_equal(m->path, "/usr") +@@ -432,29 +459,6 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e + return n_failed; + } + +-static int mount_points_list_remount_read_only(MountPoint **head, bool *changed) { +- MountPoint *m, *n; +- int n_failed = 0; +- +- assert(head); +- +- LIST_FOREACH_SAFE(mount_point, m, n, *head) { +- +- /* Trying to remount read-only */ +- if (mount(NULL, m->path, NULL, MS_REMOUNT|MS_RDONLY, NULL) == 0) { +- if (changed) +- *changed = true; +- +- mount_point_free(head, m); +- } else { +- log_warning("Could not remount as read-only %s: %m", m->path); +- n_failed++; +- } +- } +- +- return n_failed; +-} +- + static int swap_points_list_off(MountPoint **head, bool *changed) { + MountPoint *m, *n; + int n_failed = 0; +@@ -571,13 +575,6 @@ int umount_all(bool *changed) { + if (r <= 0) + goto end; + +- /* If we are in a container, don't attempt to read-only mount +- anything as that brings no real benefits, but might confuse +- the host, as we remount the superblock here, not the bind +- mound. */ +- if (detect_container(NULL) <= 0) +- r = mount_points_list_remount_read_only(&mp_list_head, changed); +- + end: + mount_points_list_free(&mp_list_head); + +-- +1.7.10.4 + diff --git a/switch-root-try-pivot-root.patch b/switch-root-try-pivot-root.patch new file mode 100644 index 00000000..d2347eda --- /dev/null +++ b/switch-root-try-pivot-root.patch @@ -0,0 +1,81 @@ +From 891a4918ef75fa81e22691156c050d061bd53dd3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 Nov 2012 18:15:30 +0100 +Subject: [PATCH] switch-root: try pivot_root() before overmounting / + +We should always try to umount the old root dir if possible, instead of +overmounting it -- if that's possible. + +The initial ("first") kernel rootfs can never be umounted, hence +for the usual nitrd case we never bothered using pivot_root() and +hence with fully unmounting it. However, fedup now tranisitions twice +during boot, and in that case it is highly desirable that the "second" +root dir is entirely unmounted when we switch to the "third". This patch +makes that possible. + +The pivot_root() needs a directory in the "third" root dir, to move the +"second" root dir to. We use /mnt for that, under the assumption that +this directory is likely to exist, and is not itself a mount point. +--- + src/core/switch-root.c | 27 ++++++++++++++++++++++++++- + 1 file changed, 26 insertions(+), 1 deletion(-) + +diff --git a/src/core/switch-root.c b/src/core/switch-root.c +index 150332a..ce0e41d 100644 +--- a/src/core/switch-root.c ++++ b/src/core/switch-root.c +@@ -30,6 +30,7 @@ + #include "util.h" + #include "path-util.h" + #include "switch-root.h" ++#include "missing.h" + + int switch_root(const char *new_root) { + +@@ -44,10 +45,21 @@ int switch_root(const char *new_root) { + struct stat new_root_stat; + bool old_root_remove; + const char *i; ++ _cleanup_free_ char *temporary_old_root = NULL; + + if (path_equal(new_root, "/")) + return 0; + ++ /* When using pivot_root() we assume that /mnt exists as place ++ * we can temporarily move the old root to. As we immediately ++ * unmount it from there it doesn't matter much which ++ * directory we choose for this, but it should be more likely ++ * than not that /mnt exists and is suitable as mount point ++ * and is on the same fs as the old root dir */ ++ temporary_old_root = strappend(new_root, "/mnt"); ++ if (!temporary_old_root) ++ return -ENOMEM; ++ + old_root_remove = in_initrd(); + + if (stat(new_root, &new_root_stat) < 0) { +@@ -103,7 +115,20 @@ int switch_root(const char *new_root) { + log_warning("Failed to open root directory: %m"); + } + +- if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { ++ /* We first try a pivot_root() so that we can umount the old ++ * root dir. In many cases (i.e. where rootfs is /), that's ++ * not possible however, and hence we simply overmount root */ ++ if (pivot_root(new_root, temporary_old_root) >= 0) { ++ ++ /* Immediately get rid of the old root. Since we are ++ * running off it we need to do this lazily. */ ++ if (umount2(temporary_old_root, MNT_DETACH) < 0) { ++ r = -errno; ++ log_error("Failed to umount old root dir %s: %m", temporary_old_root); ++ goto fail; ++ } ++ ++ } else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { + r = -errno; + log_error("Failed to mount moving %s to /: %m", new_root); + goto fail; +-- +1.7.10.4 + diff --git a/sync-on-shutdown.patch b/sync-on-shutdown.patch new file mode 100644 index 00000000..04537ea9 --- /dev/null +++ b/sync-on-shutdown.patch @@ -0,0 +1,49 @@ +From 0049f05a8bb82c3e084bacc5945596761d706c55 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 Nov 2012 01:30:29 +0100 +Subject: [PATCH] shutdown: readd explicit sync() when shutting down + +As it turns out reboot() doesn't actually imply a file system sync, but +only a disk sync. Accordingly, readd explicit sync() invocations +immediately before we invoke reboot(). + +This is much less dramatic than it might sounds as we umount all +disks/read-only remount them anyway before going down. +--- + src/core/service.c | 1 + + src/core/shutdown.c | 7 +++++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/core/service.c b/src/core/service.c +index cf08485..df72aba 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2485,6 +2485,7 @@ static int service_start_limit_test(Service *s) { + + case SERVICE_START_LIMIT_REBOOT_IMMEDIATE: + log_warning("%s start request repeated too quickly, rebooting immediately.", UNIT(s)->id); ++ sync(); + reboot(RB_AUTOBOOT); + break; + +diff --git a/src/core/shutdown.c b/src/core/shutdown.c +index cc8c57b..b59aef1 100644 +--- a/src/core/shutdown.c ++++ b/src/core/shutdown.c +@@ -273,6 +273,13 @@ int main(int argc, char *argv[]) { + } + } + ++ /* The kernel will automaticall flush ATA disks and suchlike ++ * on reboot(), but the file systems need to be synce'd ++ * explicitly in advance. So let's do this here, but not ++ * needlessly slow down containers. */ ++ if (!in_container) ++ sync(); ++ + if (cmd == LINUX_REBOOT_CMD_KEXEC) { + + if (!in_container) { +-- +1.7.10.4 + diff --git a/systemd-journald.init b/systemd-journald.init new file mode 100644 index 00000000..0b8d5081 --- /dev/null +++ b/systemd-journald.init @@ -0,0 +1,33 @@ +#! /bin/sh +# +# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. +# +# /etc/init.d/systemd-journald +# +### BEGIN INIT INFO +# Provides: syslog +# Required-Start: $null +# Required-Stop: $null +# Default-Start: 2 3 5 +# Default-Stop: +# Short-Description: compat wrapper for journald +# Description: compat wrapper for journald +### END INIT INFO + +. /etc/rc.status + +rc_reset + +case "$1" in + start|stop|restart) + rc_failed 3 + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +rc_exit diff --git a/systemd-mini.changes b/systemd-mini.changes index 6ad12c11..48743ca7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com + +- Fix creation of /dev/root link. + +------------------------------------------------------------------- +Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com + +- Add remount-ro-before-unmount.patch: always remount read-only + before unmounting in final shutdown loop. +- Add switch-root-try-pivot-root.patch: try pivot_root before + overmounting / + +------------------------------------------------------------------- +Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com + +- links more manpages for migrated tools (from Christopher + Yeleighton). +- disable boot.localnet service, ypbind service will do the right + thing now (bnc#716746) +- add xdm-display-manager.patch: pull xdm.service instead of + display-manager.service (needed until xdm initscript is migrated + to native systemd service). +- Add fix-permissions-btmp.patch: ensure btmp is owned only by root + (bnc#777405). +- Have the udev package create a tape group, as referenced by + 50-udev-default.rules and 60-persistent-storage-tape.rules + (DimStar). +- Add fix-bad-memory-access.patch: fix crash in journal rotation. +- Add fix-dbus-crash.patch: fix D-Bus caused crash. +- Add sync-on-shutdown.patch: ensure sync is done when initiating + shutdown. +- Add mount-efivars.patch: mount efivars if booting on UEFI. + + +------------------------------------------------------------------- +Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com + +- Ship a empty systemd-journald initscript in systemd-logger to + stop insserv to complain about missing syslog dependency. +- Update + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch + with bug fixes from Debian. + +------------------------------------------------------------------- +Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com + +- /var/log/journal is now only provided by systemd-logger (journal + won't be persistent for people using another syslog + implementation). +- install README in /var/log (in systemd-logger) and /etc/init.d +- create adm group when installing systemd. +- fix path in udev-root-symlink.systemd. +- Enforce Requires(post) dependency on libudev in main systemd + package (help upgrade). +- Ensure configuration is reloaded when upgrading and save random + seed when installing. +- Create /lib/udev symlink, if we do a fresh install. +- Add fix-build-glibc217.patch: fix build with latest glibc. +- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only + used to bootstrap systemd-mini. + ------------------------------------------------------------------- Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 99f43196..6a408acd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -86,6 +86,7 @@ Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: pam-config >= 0.79-5 +Requires: pwdutils Requires: systemd-presets-branding Requires: util-linux >= 2.21 Requires(post): coreutils @@ -100,6 +101,8 @@ Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf Source6: baselibs.conf +Source7: libgcrypt.m4 +Source8: systemd-journald.init Source1060: boot.udev Source1061: write_dev_root_rule @@ -126,6 +129,8 @@ Patch53: fastboot-forcefsck.patch Patch56: support-suse-clock-sysconfig.patch Patch59: fix-enable-disable-boot-initscript.patch Patch60: var-run-lock.patch +Patch63: xdm-display-manager.patch +Patch64: fix-permissions-btmp.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -133,6 +138,20 @@ Patch60: var-run-lock.patch # an exception will be silently removed with the next version update. # PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal Patch61: fix-logind-pty-seat.patch +# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc +Patch62: fix-build-glibc217.patch +# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access +Patch65: fix-bad-memory-access.patch +# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash +Patch66: fix-dbus-crash.patch +# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown +Patch67: sync-on-shutdown.patch +# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI +Patch68: mount-efivars.patch +# PATCH-FIX-UPSTREAM switch-root-try-pivot-root.patch fcrozat@suse.com -- try pivot_root before overmounting / +Patch69: switch-root-try-pivot-root.patch +# PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop +Patch70: remount-ro-before-unmount.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -147,8 +166,6 @@ Patch1026: 0026-udev-netlink-null-rules.patch # PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch Patch1027: 0027-udev-fix-sg-autoload-regression.patch -# systemd patches - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -204,6 +221,7 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd +Requires(post): lib%{udevpkgname}%{udev_major} Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -296,6 +314,11 @@ This package marks the installation to not use syslog but only the journal. %prep %setup -q -n systemd-%{version} +# only needed for bootstrap +%if 0%{?bootstrap} +cp %{SOURCE7} m4/ +%endif + #udev %patch1001 -p1 %patch1013 -p1 @@ -303,6 +326,7 @@ This package marks the installation to not use syslog but only the journal. %patch1026 -p1 %patch1027 -p1 +#systemd %patch1 -p1 %patch6 -p1 # don't apply when bootstrapping to not modify configure.in @@ -326,11 +350,18 @@ This package marks the installation to not use syslog but only the journal. %patch59 -p1 %patch60 -p1 %patch61 -p1 +%patch62 -p1 +%patch63 -p1 +%patch64 -p1 +%patch65 -p1 +%patch66 -p1 +%patch67 -p1 +%patch68 -p1 +%patch69 -p1 +%patch70 -p1 %build -%if ! 0%{?bootstrap} autoreconf -fiv -%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' \; export V=1 @@ -359,21 +390,24 @@ ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +%if ! 0%{?bootstrap} +ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 +%endif mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware +%if ! 0%{?bootstrap} +install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +%endif install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service +sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -#fix manpages -%if ! 0%{?bootstrap} -sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/* -%endif - #workaround for 716939 chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm @@ -383,7 +417,7 @@ mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrate install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future -#install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators +#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -406,8 +440,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -# need to be implemented in systemd directly -#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service @@ -426,12 +459,19 @@ rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf -# remove README files for now -rm -f %{buildroot}/var/log/README %{buildroot}/etc/init.d/README +# remove README file for now +rm -f %{buildroot}/etc/init.d/README +%if 0%{?bootstrap} +rm -f %{buildroot}/var/log/README +%endif # legacy links -ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl -ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl +for f in loginctl journalctl ; do + ln -s $f %{buildroot}%{_bindir}/systemd-$f +%if ! 0%{?bootstrap} + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 +%endif +done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one @@ -451,10 +491,15 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants %fdupes -s %{buildroot}%{_mandir} +%pre +getent group adm >/dev/null || groupadd -r adm +exit 0 + %post /usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : /sbin/ldconfig /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists @@ -485,6 +530,7 @@ fi %postun /sbin/ldconfig if [ $1 -ge 1 ]; then + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then @@ -511,7 +557,11 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib ln -s /usr/lib/udev /lib/udev +elif [ ! -e /lib/udev ]; then + ln -s /usr/lib/udev /lib/udev fi +# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules +/usr/sbin/groupadd -r tape 2> /dev/null || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then @@ -540,24 +590,28 @@ if test -f /proc/1/exe -a -d /proc/1/root; then fi fi -[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup -if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" -elif [ -x /sbin/mkinitrd ]; then - /sbin/mkinitrd +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi fi %postun -n %{udevpkgname} %insserv_cleanup systemctl daemon-reload >/dev/null 2>&1 || : -[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup -if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" -elif [ -x /sbin/mkinitrd ]; then - /sbin/mkinitrd +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi fi %post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig @@ -572,7 +626,7 @@ fi %endif %clean -rm -rf %{buildroot} +# rm -rf %{buildroot} %files %defattr(-,root,root) @@ -704,6 +758,10 @@ rm -rf %{buildroot} %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* + +# Packaged in analyze subpackage +%exclude %{_mandir}/man1/systemd-analyze.1* + %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -727,7 +785,6 @@ rm -rf %{buildroot} %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated -%dir /var/log/journal %files devel %defattr(-,root,root,-) @@ -768,7 +825,11 @@ rm -rf %{buildroot} %endif %files analyze +%defattr(-,root,root) %attr(0755,root,root) /usr/bin/systemd-analyze +%if ! 0%{?bootstrap} +%{_mandir}/man1/systemd-analyze.1* +%endif %files -n %{udevpkgname} %defattr(-,root,root) @@ -858,6 +919,8 @@ rm -rf %{buildroot} %files logger %defattr(-,root,root) %dir /var/log/journal +/var/log/README +/etc/init.d/systemd-journald %endif diff --git a/systemd.changes b/systemd.changes index 6ad12c11..48743ca7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com + +- Fix creation of /dev/root link. + +------------------------------------------------------------------- +Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com + +- Add remount-ro-before-unmount.patch: always remount read-only + before unmounting in final shutdown loop. +- Add switch-root-try-pivot-root.patch: try pivot_root before + overmounting / + +------------------------------------------------------------------- +Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com + +- links more manpages for migrated tools (from Christopher + Yeleighton). +- disable boot.localnet service, ypbind service will do the right + thing now (bnc#716746) +- add xdm-display-manager.patch: pull xdm.service instead of + display-manager.service (needed until xdm initscript is migrated + to native systemd service). +- Add fix-permissions-btmp.patch: ensure btmp is owned only by root + (bnc#777405). +- Have the udev package create a tape group, as referenced by + 50-udev-default.rules and 60-persistent-storage-tape.rules + (DimStar). +- Add fix-bad-memory-access.patch: fix crash in journal rotation. +- Add fix-dbus-crash.patch: fix D-Bus caused crash. +- Add sync-on-shutdown.patch: ensure sync is done when initiating + shutdown. +- Add mount-efivars.patch: mount efivars if booting on UEFI. + + +------------------------------------------------------------------- +Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com + +- Ship a empty systemd-journald initscript in systemd-logger to + stop insserv to complain about missing syslog dependency. +- Update + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch + with bug fixes from Debian. + +------------------------------------------------------------------- +Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com + +- /var/log/journal is now only provided by systemd-logger (journal + won't be persistent for people using another syslog + implementation). +- install README in /var/log (in systemd-logger) and /etc/init.d +- create adm group when installing systemd. +- fix path in udev-root-symlink.systemd. +- Enforce Requires(post) dependency on libudev in main systemd + package (help upgrade). +- Ensure configuration is reloaded when upgrading and save random + seed when installing. +- Create /lib/udev symlink, if we do a fresh install. +- Add fix-build-glibc217.patch: fix build with latest glibc. +- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only + used to bootstrap systemd-mini. + ------------------------------------------------------------------- Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index abcc5caf..6a6325bb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,6 +81,7 @@ Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: pam-config >= 0.79-5 +Requires: pwdutils Requires: systemd-presets-branding Requires: util-linux >= 2.21 Requires(post): coreutils @@ -95,6 +96,8 @@ Source3: systemd-sysv-convert Source4: macros.systemd Source5: systemd-insserv_conf Source6: baselibs.conf +Source7: libgcrypt.m4 +Source8: systemd-journald.init Source1060: boot.udev Source1061: write_dev_root_rule @@ -121,6 +124,8 @@ Patch53: fastboot-forcefsck.patch Patch56: support-suse-clock-sysconfig.patch Patch59: fix-enable-disable-boot-initscript.patch Patch60: var-run-lock.patch +Patch63: xdm-display-manager.patch +Patch64: fix-permissions-btmp.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -128,6 +133,20 @@ Patch60: var-run-lock.patch # an exception will be silently removed with the next version update. # PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal Patch61: fix-logind-pty-seat.patch +# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc +Patch62: fix-build-glibc217.patch +# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access +Patch65: fix-bad-memory-access.patch +# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash +Patch66: fix-dbus-crash.patch +# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown +Patch67: sync-on-shutdown.patch +# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI +Patch68: mount-efivars.patch +# PATCH-FIX-UPSTREAM switch-root-try-pivot-root.patch fcrozat@suse.com -- try pivot_root before overmounting / +Patch69: switch-root-try-pivot-root.patch +# PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop +Patch70: remount-ro-before-unmount.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -142,8 +161,6 @@ Patch1026: 0026-udev-netlink-null-rules.patch # PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch Patch1027: 0027-udev-fix-sg-autoload-regression.patch -# systemd patches - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -199,6 +216,7 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd +Requires(post): lib%{udevpkgname}%{udev_major} Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -291,6 +309,11 @@ This package marks the installation to not use syslog but only the journal. %prep %setup -q -n systemd-%{version} +# only needed for bootstrap +%if 0%{?bootstrap} +cp %{SOURCE7} m4/ +%endif + #udev %patch1001 -p1 %patch1013 -p1 @@ -298,6 +321,7 @@ This package marks the installation to not use syslog but only the journal. %patch1026 -p1 %patch1027 -p1 +#systemd %patch1 -p1 %patch6 -p1 # don't apply when bootstrapping to not modify configure.in @@ -321,11 +345,18 @@ This package marks the installation to not use syslog but only the journal. %patch59 -p1 %patch60 -p1 %patch61 -p1 +%patch62 -p1 +%patch63 -p1 +%patch64 -p1 +%patch65 -p1 +%patch66 -p1 +%patch67 -p1 +%patch68 -p1 +%patch69 -p1 +%patch70 -p1 %build -%if ! 0%{?bootstrap} autoreconf -fiv -%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' \; export V=1 @@ -354,21 +385,24 @@ ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +%if ! 0%{?bootstrap} +ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 +%endif mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware +%if ! 0%{?bootstrap} +install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +%endif install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service +sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -#fix manpages -%if ! 0%{?bootstrap} -sed -i -e 's,^\(\.so \)\(.*\.\)\([0-9]\),\1man\3/\2\3,g' %{buildroot}/%{_mandir}/*/* -%endif - #workaround for 716939 chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm @@ -378,7 +412,7 @@ mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrate install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert # do not install, code has been fixed, might be useful in the future -#install -m755 %{S:5} %{buildroot}/lib/systemd/system-generators +#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -401,8 +435,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -# need to be implemented in systemd directly -#ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service @@ -421,12 +454,19 @@ rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf -# remove README files for now -rm -f %{buildroot}/var/log/README %{buildroot}/etc/init.d/README +# remove README file for now +rm -f %{buildroot}/etc/init.d/README +%if 0%{?bootstrap} +rm -f %{buildroot}/var/log/README +%endif # legacy links -ln -s loginctl %{buildroot}%{_bindir}/systemd-loginctl -ln -s journalctl %{buildroot}%{_bindir}/systemd-journalctl +for f in loginctl journalctl ; do + ln -s $f %{buildroot}%{_bindir}/systemd-$f +%if ! 0%{?bootstrap} + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 +%endif +done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one @@ -446,10 +486,15 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants %fdupes -s %{buildroot}%{_mandir} +%pre +getent group adm >/dev/null || groupadd -r adm +exit 0 + %post /usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : /sbin/ldconfig /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists @@ -480,6 +525,7 @@ fi %postun /sbin/ldconfig if [ $1 -ge 1 ]; then + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then @@ -506,7 +552,11 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib ln -s /usr/lib/udev /lib/udev +elif [ ! -e /lib/udev ]; then + ln -s /usr/lib/udev /lib/udev fi +# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules +/usr/sbin/groupadd -r tape 2> /dev/null || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then @@ -535,24 +585,28 @@ if test -f /proc/1/exe -a -d /proc/1/root; then fi fi -[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup -if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" -elif [ -x /sbin/mkinitrd ]; then - /sbin/mkinitrd +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi fi %postun -n %{udevpkgname} %insserv_cleanup systemctl daemon-reload >/dev/null 2>&1 || : -[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup -if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" -elif [ -x /sbin/mkinitrd ]; then - /sbin/mkinitrd +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi fi %post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig @@ -567,7 +621,7 @@ fi %endif %clean -rm -rf %{buildroot} +# rm -rf %{buildroot} %files %defattr(-,root,root) @@ -699,6 +753,10 @@ rm -rf %{buildroot} %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* + +# Packaged in analyze subpackage +%exclude %{_mandir}/man1/systemd-analyze.1* + %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -722,7 +780,6 @@ rm -rf %{buildroot} %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated -%dir /var/log/journal %files devel %defattr(-,root,root,-) @@ -763,7 +820,11 @@ rm -rf %{buildroot} %endif %files analyze +%defattr(-,root,root) %attr(0755,root,root) /usr/bin/systemd-analyze +%if ! 0%{?bootstrap} +%{_mandir}/man1/systemd-analyze.1* +%endif %files -n %{udevpkgname} %defattr(-,root,root) @@ -853,6 +914,8 @@ rm -rf %{buildroot} %files logger %defattr(-,root,root) %dir /var/log/journal +/var/log/README +/etc/init.d/systemd-journald %endif diff --git a/udev-root-symlink.systemd b/udev-root-symlink.systemd index 145a7fcc..b92d081a 100644 --- a/udev-root-symlink.systemd +++ b/udev-root-symlink.systemd @@ -6,4 +6,4 @@ DefaultDependencies=no [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/lib/udev/write_dev_root_rule +ExecStart=@@PREFIX@@/write_dev_root_rule diff --git a/write_dev_root_rule b/write_dev_root_rule index 9555789b..5011aa3f 100644 --- a/write_dev_root_rule +++ b/write_dev_root_rule @@ -1,6 +1,6 @@ #!/bin/sh -eval $(/sbin/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/) +eval $(@@PREFIX@@/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/) [ "$ROOT_MAJOR" -gt 0 ] || return mkdir -m 0755 -p /run/udev/rules.d >/dev/null 2>&1 diff --git a/xdm-display-manager.patch b/xdm-display-manager.patch new file mode 100644 index 00000000..e7e1c191 --- /dev/null +++ b/xdm-display-manager.patch @@ -0,0 +1,13 @@ +Index: systemd-195/units/graphical.target +=================================================================== +--- systemd-195.orig/units/graphical.target ++++ systemd-195/units/graphical.target +@@ -11,7 +11,7 @@ Documentation=man:systemd.special(7) + Requires=multi-user.target + After=multi-user.target + Conflicts=rescue.target +-Wants=display-manager.service ++Wants=xdm.service + AllowIsolate=yes + + [Install] From 1a1dacce06ac0b742cd2703d1523dbbe229fd0c602c9e5a7bf95ff6a6904cc4d Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 10 Dec 2012 13:28:39 +0000 Subject: [PATCH 113/991] Accepting request 144473 from Base:System (forwarded request 144458 from elvigia) OBS-URL: https://build.opensuse.org/request/show/144473 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=116 --- fix-debugshell.patch | 13 +++++ fix-devname-prefix.patch | 13 +++++ handle-root-uses-lang.patch | 48 +++++++++++++++++++ ...749b84cc87c7830280b7895a48bed03c9429.patch | 44 +++++++++++++++++ systemd-mini.changes | 23 +++++++++ systemd-mini.spec | 21 ++++++-- systemd.changes | 23 +++++++++ systemd.spec | 21 ++++++-- 8 files changed, 200 insertions(+), 6 deletions(-) create mode 100644 fix-debugshell.patch create mode 100644 fix-devname-prefix.patch create mode 100644 handle-root-uses-lang.patch create mode 100644 revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch diff --git a/fix-debugshell.patch b/fix-debugshell.patch new file mode 100644 index 00000000..5a1e8405 --- /dev/null +++ b/fix-debugshell.patch @@ -0,0 +1,13 @@ +Index: systemd-195/units/debug-shell.service.in +=================================================================== +--- systemd-195.orig/units/debug-shell.service.in ++++ systemd-195/units/debug-shell.service.in +@@ -13,7 +13,7 @@ IgnoreOnIsolate=yes + + [Service] + Environment=TERM=linux +-ExecStart=@sushell@ ++ExecStart=/bin/bash -c '[ -x @sushell@ ] && exec @sushell@ || exec /bin/bash' + Restart=always + RestartSec=0 + StandardInput=tty diff --git a/fix-devname-prefix.patch b/fix-devname-prefix.patch new file mode 100644 index 00000000..7fbc160a --- /dev/null +++ b/fix-devname-prefix.patch @@ -0,0 +1,13 @@ +Index: systemd-195/src/udev/udevd.c +=================================================================== +--- systemd-195.orig/src/udev/udevd.c ++++ systemd-195/src/udev/udevd.c +@@ -820,7 +820,7 @@ static void static_dev_create_from_modul + FILE *f; + + uname(&kernel); +- util_strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL); ++ util_strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL); + f = fopen(modules, "re"); + if (f == NULL) + return; diff --git a/handle-root-uses-lang.patch b/handle-root-uses-lang.patch new file mode 100644 index 00000000..21af5038 --- /dev/null +++ b/handle-root-uses-lang.patch @@ -0,0 +1,48 @@ +Index: systemd-195/src/core/locale-setup.c +=================================================================== +--- systemd-195.orig/src/core/locale-setup.c ++++ systemd-195/src/core/locale-setup.c +@@ -69,6 +69,11 @@ static const char * const variable_names + int locale_setup(void) { + char *variables[_VARIABLE_MAX]; + int r = 0, i; ++#if defined(TARGET_SUSE) ++ char *root_uses_lang; ++ ++ zero(root_uses_lang); ++#endif + + zero(variables); + +@@ -134,11 +139,21 @@ int locale_setup(void) { + #elif defined(TARGET_SUSE) + if (r <= 0 && + (r = parse_env_file("/etc/sysconfig/language", NEWLINE, ++ "ROOT_USES_LANG", &root_uses_lang, + "RC_LANG", &variables[VARIABLE_LANG], + NULL)) < 0) { + + if (r != -ENOENT) + log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); ++ } else { ++ if (!root_uses_lang || root_uses_lang && strcasecmp(root_uses_lang,"yes") != 0) { ++ if (root_uses_lang && strcasecmp(root_uses_lang,"ctype") == 0) ++ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; ++ else ++ free(variables[VARIABLE_LANG]); ++ ++ variables[VARIABLE_LANG]=strdup("POSIX"); ++ } + } + + #elif defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) +@@ -247,5 +262,9 @@ finish: + for (i = 0; i < _VARIABLE_MAX; i++) + free(variables[i]); + ++#if defined(TARGET_SUSE) ++ free(root_uses_lang); ++#endif ++ + return r; + } diff --git a/revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch b/revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch new file mode 100644 index 00000000..8d9d574c --- /dev/null +++ b/revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch @@ -0,0 +1,44 @@ +commit 140883405e429d9f8d3480a2701d8904f97e4a98 +Author: Tom Gundersen +Date: Wed Nov 28 18:08:54 2012 +0100 + + shutdown: don't consider umounting of / and /usr failed + + In the words of Homer: If you don't try, you can't fail. + + This is a revert of 9279749b84cc87c7830280b7895a48bed03c9429. + + It used to be necessary to consider the umounting failed to make sure / + and /usr were remounted read-only, but that is no longer necessary as + everything is now remounted read-only anyway. + + Moreover, this avoids a warning at shutdown saying a filesystem was not + unmounted. As the umounting of / is never attempted there was no + corresponding warning message saying which fs that failed. This caused some + spurious bug-reports from concerned users. + + Cc: Michael Biebl + +diff --git a/src/core/umount.c b/src/core/umount.c +index e794057..5989a4c 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -433,15 +433,14 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e + } + + /* Skip / and /usr since we cannot unmount that +- * anyway, since we are running from it */ ++ * anyway, since we are running from it. They have already been ++ * remounte ro. */ + if (path_equal(m->path, "/") + #ifndef HAVE_SPLIT_USR + || path_equal(m->path, "/usr") + #endif +- ) { +- n_failed++; ++ ) + continue; +- } + + /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */ + if (umount2(m->path, MNT_FORCE) == 0) { diff --git a/systemd-mini.changes b/systemd-mini.changes index 48743ca7..1b6d3a2c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org + +- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: + do not consider failure to umount / and /usr an error. + +------------------------------------------------------------------- +Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com + +- Add fix-devname-prefix.patch: fix modules.devname path, it isn't + in /usr. +- Move post script to fix symlinks in /etc/systemd/system to a + trigger to run it after old systemd is uninstalled. + +------------------------------------------------------------------- +Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com + +- Add fix-debugshell.patch: use /bin/bash if sushell isn't + installed (bnc#789052). +- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype + (bnc#792182). +- Ensure libudev1 and libudev-mini1 conflicts. + ------------------------------------------------------------------- Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 6a408acd..c4033294 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -131,6 +131,10 @@ Patch59: fix-enable-disable-boot-initscript.patch Patch60: var-run-lock.patch Patch63: xdm-display-manager.patch Patch64: fix-permissions-btmp.patch +# PATCH-FIX-UPSTREAM fix-debugshell.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available +Patch71: fix-debugshell.patch +# PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype +Patch72: handle-root-uses-lang.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -152,6 +156,8 @@ Patch68: mount-efivars.patch Patch69: switch-root-try-pivot-root.patch # PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop Patch70: remount-ro-before-unmount.patch +# PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error. +Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -165,6 +171,8 @@ Patch1014: 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1026: 0026-udev-netlink-null-rules.patch # PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch Patch1027: 0027-udev-fix-sg-autoload-regression.patch +# PATCH-FIX-OPENSUSE fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr +Patch1028: fix-devname-prefix.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -247,6 +255,9 @@ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries Requires: %{udevpkgname} >= %{version}-%{release} +%if 0%{?bootstrap} +Conflicts: libudev%{udev_major} +%endif %description -n lib%{udevpkgname}%{udev_major} This package contains the dynamic library libudev, which provides @@ -325,6 +336,7 @@ cp %{SOURCE7} m4/ %patch1014 -p1 %patch1026 -p1 %patch1027 -p1 +%patch1028 -p1 #systemd %patch1 -p1 @@ -359,6 +371,9 @@ cp %{SOURCE7} m4/ %patch68 -p1 %patch69 -p1 %patch70 -p1 +%patch71 -p1 +%patch72 -p1 +%patch73 -p1 %build autoreconf -fiv @@ -518,15 +533,15 @@ if [ "$1" -eq 1 ]; then systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : -else +fi + +%triggerpostun -- systemd < 194 # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do new_target="/usr$(readlink $f)" [ -f "$new_target" ] && ln -s -f $new_target $f || : done -fi - %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/systemd.changes b/systemd.changes index 48743ca7..1b6d3a2c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org + +- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: + do not consider failure to umount / and /usr an error. + +------------------------------------------------------------------- +Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com + +- Add fix-devname-prefix.patch: fix modules.devname path, it isn't + in /usr. +- Move post script to fix symlinks in /etc/systemd/system to a + trigger to run it after old systemd is uninstalled. + +------------------------------------------------------------------- +Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com + +- Add fix-debugshell.patch: use /bin/bash if sushell isn't + installed (bnc#789052). +- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype + (bnc#792182). +- Ensure libudev1 and libudev-mini1 conflicts. + ------------------------------------------------------------------- Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 6a6325bb..8cf0b455 100644 --- a/systemd.spec +++ b/systemd.spec @@ -126,6 +126,10 @@ Patch59: fix-enable-disable-boot-initscript.patch Patch60: var-run-lock.patch Patch63: xdm-display-manager.patch Patch64: fix-permissions-btmp.patch +# PATCH-FIX-UPSTREAM fix-debugshell.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available +Patch71: fix-debugshell.patch +# PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype +Patch72: handle-root-uses-lang.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -147,6 +151,8 @@ Patch68: mount-efivars.patch Patch69: switch-root-try-pivot-root.patch # PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop Patch70: remount-ro-before-unmount.patch +# PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error. +Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -160,6 +166,8 @@ Patch1014: 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1026: 0026-udev-netlink-null-rules.patch # PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch Patch1027: 0027-udev-fix-sg-autoload-regression.patch +# PATCH-FIX-OPENSUSE fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr +Patch1028: fix-devname-prefix.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -242,6 +250,9 @@ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries Requires: %{udevpkgname} >= %{version}-%{release} +%if 0%{?bootstrap} +Conflicts: libudev%{udev_major} +%endif %description -n lib%{udevpkgname}%{udev_major} This package contains the dynamic library libudev, which provides @@ -320,6 +331,7 @@ cp %{SOURCE7} m4/ %patch1014 -p1 %patch1026 -p1 %patch1027 -p1 +%patch1028 -p1 #systemd %patch1 -p1 @@ -354,6 +366,9 @@ cp %{SOURCE7} m4/ %patch68 -p1 %patch69 -p1 %patch70 -p1 +%patch71 -p1 +%patch72 -p1 +%patch73 -p1 %build autoreconf -fiv @@ -513,15 +528,15 @@ if [ "$1" -eq 1 ]; then systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : -else +fi + +%triggerpostun -- systemd < 194 # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do new_target="/usr$(readlink $f)" [ -f "$new_target" ] && ln -s -f $new_target $f || : done -fi - %postun /sbin/ldconfig if [ $1 -ge 1 ]; then From b9a25b255fe30d414c9367f6fee7e395af287b9568a3fd35bc85dedbf52a0cb1 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 10 Dec 2012 16:22:08 +0000 Subject: [PATCH 114/991] Accepting request 144997 from Base:System - add conflicts between udev-mini and udev-mini-devel to libudev1 - add conflicts between udev-mini and udev-mini-devel to libudev1 OBS-URL: https://build.opensuse.org/request/show/144997 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=117 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 ++ systemd.changes | 5 +++++ systemd.spec | 2 ++ 4 files changed, 14 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 1b6d3a2c..036dd8c0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com + +- add conflicts between udev-mini and udev-mini-devel to libudev1 + ------------------------------------------------------------------- Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index c4033294..810469bf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -239,6 +239,7 @@ Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version} +Conflicts: libudev%{udev_major} = %{version} %endif %description -n %{udevpkgname} @@ -270,6 +271,7 @@ Group: Development/Libraries/Other Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version} +Conflicts: libudev%{udev_major} = %{version} %endif %description -n lib%{udevpkgname}-devel diff --git a/systemd.changes b/systemd.changes index 1b6d3a2c..036dd8c0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com + +- add conflicts between udev-mini and udev-mini-devel to libudev1 + ------------------------------------------------------------------- Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index 8cf0b455..4ab279c3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -234,6 +234,7 @@ Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version} +Conflicts: libudev%{udev_major} = %{version} %endif %description -n %{udevpkgname} @@ -265,6 +266,7 @@ Group: Development/Libraries/Other Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version} +Conflicts: libudev%{udev_major} = %{version} %endif %description -n lib%{udevpkgname}-devel From 963624c00db90d99088669ecb8a5c29d89ead95298a937452c231fb4bb5b2fd1 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 17 Dec 2012 08:39:59 +0000 Subject: [PATCH 115/991] Accepting request 145257 from Base:System (forwarded request 145035 from elvigia) OBS-URL: https://build.opensuse.org/request/show/145257 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=118 --- detect-btrfs-ssd.patch | 97 +++++++++++++++++++ systemd-mini.changes | 8 ++ systemd-mini.spec | 6 ++ systemd.changes | 8 ++ systemd.spec | 6 ++ ...ed-donot-close-bogus-dbus-connection.patch | 36 +++++++ 6 files changed, 161 insertions(+) create mode 100644 detect-btrfs-ssd.patch create mode 100644 timedated-donot-close-bogus-dbus-connection.patch diff --git a/detect-btrfs-ssd.patch b/detect-btrfs-ssd.patch new file mode 100644 index 00000000..4bd64690 --- /dev/null +++ b/detect-btrfs-ssd.patch @@ -0,0 +1,97 @@ +commit d7228cb8529de83115af04bf653b4d204dad8fae +Author: Lennart Poettering +Date: Thu Nov 22 01:51:06 2012 +0100 + + readahead: properly detect btrfs on SSD + +diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c +index 10b0ccc..41aaff0 100644 +--- a/src/readahead/readahead-common.c ++++ b/src/readahead/readahead-common.c +@@ -32,6 +32,7 @@ + #include "log.h" + #include "readahead-common.h" + #include "util.h" ++#include "missing.h" + + int file_verify(int fd, const char *fn, off_t file_size_max, struct stat *st) { + assert(fd >= 0); +@@ -62,14 +63,63 @@ int fs_on_ssd(const char *p) { + struct udev_device *udev_device = NULL, *look_at = NULL; + bool b = false; + const char *devtype, *rotational, *model, *id; ++ int r; + + assert(p); + + if (stat(p, &st) < 0) + return -errno; + +- if (major(st.st_dev) == 0) ++ if (major(st.st_dev) == 0) { ++ _cleanup_fclose_ FILE *f = NULL; ++ int mount_id; ++ struct file_handle *h; ++ ++ /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. ++ * ++ * We first determine the mount ID here, if we can, ++ * and then lookup the mount ID in mountinfo to find ++ * the mount options. */ ++ ++ h = alloca(MAX_HANDLE_SZ); ++ h->handle_bytes = MAX_HANDLE_SZ; ++ r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); ++ if (r < 0) ++ return false; ++ ++ f = fopen("/proc/self/mountinfo", "re"); ++ if (!f) ++ return false; ++ ++ for (;;) { ++ char line[LINE_MAX], *e; ++ _cleanup_free_ char *opts = NULL; ++ int mid; ++ ++ if (!fgets(line, sizeof(line), f)) ++ return false; ++ ++ truncate_nl(line); ++ ++ if (sscanf(line, "%i", &mid) != 1) ++ continue; ++ ++ if (mid != mount_id) ++ continue; ++ ++ e = strstr(line, " - "); ++ if (!e) ++ continue; ++ ++ if (sscanf(e+3, "%*s %*s %ms", &opts) != 1) ++ continue; ++ ++ if (streq(opts, "ssd") || startswith(opts, "ssd,") || endswith(opts, ",ssd") || strstr(opts, ",ssd,")) ++ return true; ++ } ++ + return false; ++ } + + udev = udev_new(); + if (!udev) +@@ -97,9 +147,10 @@ int fs_on_ssd(const char *p) { + + /* Second, try kernel attribute */ + rotational = udev_device_get_sysattr_value(look_at, "queue/rotational"); +- if (rotational) +- if ((b = streq(rotational, "0"))) +- goto finish; ++ if (rotational) { ++ b = streq(rotational, "0"); ++ goto finish; ++ } + + /* Finally, fallback to heuristics */ + look_at = udev_device_get_parent(look_at); diff --git a/systemd-mini.changes b/systemd-mini.changes index 036dd8c0..7b9830f6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org + +- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. +- timedated-donot-close-bogus-dbus-connection.patch: Avoid + closing an non-existent dbus connection and getting assertion + failures. + ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 810469bf..dac1ea23 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -158,6 +158,10 @@ Patch69: switch-root-try-pivot-root.patch Patch70: remount-ro-before-unmount.patch # PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error. Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch +# PATCH-FIX-UPSTREAM detect-btrfs-ssd.patch crrodriguez@opensuse.org -- fix BTRFS detection on systemd-readhead +Patch74: detect-btrfs-ssd.patch +# PATCH-FIX-UPSTREAM timedated-donot-close-bogus-dbus-connection.patch crrodriguez@opensuse.org -- Fix assertion failure when dbus is gone. +Patch75: timedated-donot-close-bogus-dbus-connection.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -376,6 +380,8 @@ cp %{SOURCE7} m4/ %patch71 -p1 %patch72 -p1 %patch73 -p1 +%patch74 -p1 +%patch75 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 036dd8c0..7b9830f6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org + +- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. +- timedated-donot-close-bogus-dbus-connection.patch: Avoid + closing an non-existent dbus connection and getting assertion + failures. + ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index 4ab279c3..05c3fcd3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -153,6 +153,10 @@ Patch69: switch-root-try-pivot-root.patch Patch70: remount-ro-before-unmount.patch # PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error. Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch +# PATCH-FIX-UPSTREAM detect-btrfs-ssd.patch crrodriguez@opensuse.org -- fix BTRFS detection on systemd-readhead +Patch74: detect-btrfs-ssd.patch +# PATCH-FIX-UPSTREAM timedated-donot-close-bogus-dbus-connection.patch crrodriguez@opensuse.org -- Fix assertion failure when dbus is gone. +Patch75: timedated-donot-close-bogus-dbus-connection.patch # udev patches # PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch @@ -371,6 +375,8 @@ cp %{SOURCE7} m4/ %patch71 -p1 %patch72 -p1 %patch73 -p1 +%patch74 -p1 +%patch75 -p1 %build autoreconf -fiv diff --git a/timedated-donot-close-bogus-dbus-connection.patch b/timedated-donot-close-bogus-dbus-connection.patch new file mode 100644 index 00000000..6ee6f3bc --- /dev/null +++ b/timedated-donot-close-bogus-dbus-connection.patch @@ -0,0 +1,36 @@ +commit b779821b8fdcb3f2bdd0c362bceaae3c76ed9678 +Author: Shawn Landden +Date: Mon Dec 3 00:50:55 2012 +0000 + + timedated: do not incorrectly close non-opened dbus connection + + Fix the fallowing error when no system dbus available: + + Failed to get system D-Bus connection: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory + process 14920: arguments to dbus_connection_close() were incorrect, assertion "connection != NULL" failed in file ../../dbus/dbus-connection.c line 2889. + This is normally a bug in some application using the D-Bus library. + process 14920: arguments to dbus_connection_unref() were incorrect, assertion "connection != NULL" failed in file ../../dbus/dbus-connection.c line 2776. + This is normally a bug in some application using the D-Bus library. + +diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c +index 40ba255..784dadc 100644 +--- a/src/timedate/timedated.c ++++ b/src/timedate/timedated.c +@@ -936,7 +936,7 @@ static int connect_bus(DBusConnection **_bus) { + if (!bus) { + log_error("Failed to get system D-Bus connection: %s", bus_error_message(&error)); + r = -ECONNREFUSED; +- goto fail; ++ goto fail2; + } + + dbus_connection_set_exit_on_disconnect(bus, FALSE); +@@ -968,7 +968,7 @@ static int connect_bus(DBusConnection **_bus) { + fail: + dbus_connection_close(bus); + dbus_connection_unref(bus); +- ++fail2: + dbus_error_free(&error); + + return r; From a4cc02351c0a42041dcaae4c69c8125e6d642aee46adea65f64df446b0b0a29f Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 8 Jan 2013 20:14:07 +0000 Subject: [PATCH 116/991] Accepting request 147543 from Base:System - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). OBS-URL: https://build.opensuse.org/request/show/147543 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=119 --- ...h => 1001-Reinstate-TIMEOUT-handling.patch | 0 ...enable-by_path-links-for-ata-devices.patch | 0 ...ate-by-id-scsi-links-for-ATA-devices.patch | 0 ...atch => 1004-udev-netlink-null-rules.patch | 0 ...1005-udev-fix-sg-autoload-regression.patch | 0 ...fix.patch => 1006-fix-devname-prefix.patch | 0 1007-udevd-add-missing-to-getopt_long-e.patch | 27 +++++++++++ boot.udev | 41 +++++++---------- systemd-mini.changes | 9 ++++ systemd-mini.spec | 45 ++++++++++--------- systemd.changes | 9 ++++ systemd.spec | 45 ++++++++++--------- 12 files changed, 112 insertions(+), 64 deletions(-) rename 0001-Reinstate-TIMEOUT-handling.patch => 1001-Reinstate-TIMEOUT-handling.patch (100%) rename 0013-re-enable-by_path-links-for-ata-devices.patch => 1002-re-enable-by_path-links-for-ata-devices.patch (100%) rename 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch => 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch (100%) rename 0026-udev-netlink-null-rules.patch => 1004-udev-netlink-null-rules.patch (100%) rename 0027-udev-fix-sg-autoload-regression.patch => 1005-udev-fix-sg-autoload-regression.patch (100%) rename fix-devname-prefix.patch => 1006-fix-devname-prefix.patch (100%) create mode 100644 1007-udevd-add-missing-to-getopt_long-e.patch diff --git a/0001-Reinstate-TIMEOUT-handling.patch b/1001-Reinstate-TIMEOUT-handling.patch similarity index 100% rename from 0001-Reinstate-TIMEOUT-handling.patch rename to 1001-Reinstate-TIMEOUT-handling.patch diff --git a/0013-re-enable-by_path-links-for-ata-devices.patch b/1002-re-enable-by_path-links-for-ata-devices.patch similarity index 100% rename from 0013-re-enable-by_path-links-for-ata-devices.patch rename to 1002-re-enable-by_path-links-for-ata-devices.patch diff --git a/0014-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch similarity index 100% rename from 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch rename to 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch diff --git a/0026-udev-netlink-null-rules.patch b/1004-udev-netlink-null-rules.patch similarity index 100% rename from 0026-udev-netlink-null-rules.patch rename to 1004-udev-netlink-null-rules.patch diff --git a/0027-udev-fix-sg-autoload-regression.patch b/1005-udev-fix-sg-autoload-regression.patch similarity index 100% rename from 0027-udev-fix-sg-autoload-regression.patch rename to 1005-udev-fix-sg-autoload-regression.patch diff --git a/fix-devname-prefix.patch b/1006-fix-devname-prefix.patch similarity index 100% rename from fix-devname-prefix.patch rename to 1006-fix-devname-prefix.patch diff --git a/1007-udevd-add-missing-to-getopt_long-e.patch b/1007-udevd-add-missing-to-getopt_long-e.patch new file mode 100644 index 00000000..209f5d86 --- /dev/null +++ b/1007-udevd-add-missing-to-getopt_long-e.patch @@ -0,0 +1,27 @@ +From 5bbbe461fd4d133eac49f41210e2fd4846f577d8 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 19 Dec 2012 13:12:26 +0100 +Subject: [PATCH] udevd: add missing ':' to getopt_long 'e' + +Parameter -e is set without additional argument in getopt +and this leads to segfault when calling 'systemd-udevd -e'. +--- + src/udev/udevd.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index ebd601e..ffc48a0 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -1097,7 +1097,7 @@ int main(int argc, char *argv[]) + for (;;) { + int option; + +- option = getopt_long(argc, argv, "c:deDtN:hV", options, NULL); ++ option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); + if (option == -1) + break; + +-- +1.7.7 + diff --git a/boot.udev b/boot.udev index 82ea2399..4fa0bd63 100644 --- a/boot.udev +++ b/boot.udev @@ -14,19 +14,22 @@ . /etc/rc.status -PATH="/sbin:/bin" +PATH="/sbin:/bin:/usr/sbin:/usr/bin" +DAEMON="@@SYSTEMD@@/systemd-udevd" +UDEVADM="@@BINDIR@@/udevadm" +WRITERULE="@@PREFIX@@/write_dev_root_rule" udev_timeout=180 case "$1" in start) # create /dev/root symlink with dynamic rule - if [ -x /lib/udev/write_dev_root_rule ]; then - /lib/udev/write_dev_root_rule + if [ -x ${WRITERULE} ]; then + ${WRITERULE} >/dev/null 2>&1 || true fi # start udevd echo -n "Starting udevd: " - /sbin/udevd --daemon + ${DAEMON} --daemon if [ $? -ne 0 ]; then rc_status -v rc_exit @@ -35,42 +38,32 @@ case "$1" in # trigger events for all devices echo -n "Loading drivers, configuring devices: " - /sbin/udevadm trigger --type=subsystems --action=add - /sbin/udevadm trigger --type=devices --action=add + ${UDEVADM} trigger --type=subsystems --action=add + ${UDEVADM} trigger --type=devices --action=add # wait for events to finish - /sbin/udevadm settle --timeout=$udev_timeout + ${UDEVADM} settle --timeout=$udev_timeout rc_status -v ;; stop) echo -n "Stopping udevd: " - killproc /sbin/udevd + killproc ${DAEMON} rc_status -v ;; restart) echo -n "Restarting udevd: " - killproc /sbin/udevd - /sbin/udevd --daemon + killproc ${DAEMON} + ${DAEMON} --daemon rc_status -v ;; status) echo -n "Checking for udevd: " - checkproc /sbin/udevd + checkproc ${DAEMON} rc_status -v ;; - reload) - echo -n "Reloading udev rules: " - /sbin/udevadm control --reload-rules - rc_status -v - ;; - force-reload) - echo -n "Restarting udev and reconfiguring all devices: " - killproc /sbin/udevd - rm -rf /dev/.udev /dev/disk - root_symlink_rule - /sbin/udevd --daemon - /sbin/udevadm trigger --action=add - /sbin/udevadm settle --timeout=$udev_timeout + reload|force-reload) + echo -n "Reloading udevd: " + killproc -G -HUP ${DAEMON} rc_status -v ;; *) diff --git a/systemd-mini.changes b/systemd-mini.changes index 7b9830f6..27ae0040 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com + +- udevd: add missing ':' to getopt_long 'e'. + add: 1007-udevd-add-missing-to-getopt_long-e.patch +- clean up systemd.spec, make it easy to see which are udev and + systemd patches. +- make 'reload' and 'force-reload' LSB compliant (bnc#793936). + ------------------------------------------------------------------- Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index dac1ea23..b7be3679 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -164,19 +164,20 @@ Patch74: detect-btrfs-ssd.patch Patch75: timedated-donot-close-bogus-dbus-connection.patch # udev patches -# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch -Patch1001: 0001-Reinstate-TIMEOUT-handling.patch -# PATCH-FIX-OPENSUSE 0013-re-enable-by_path-links-for-ata-devices.patch -Patch1013: 0013-re-enable-by_path-links-for-ata-devices.patch -# PATCH-FIX-OPENSUSE 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1014: 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch - -# PATCH-FIX-OPENSUSE 0026-udev-netlink-null-rules.patch -Patch1026: 0026-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch -Patch1027: 0027-udev-fix-sg-autoload-regression.patch -# PATCH-FIX-OPENSUSE fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1028: fix-devname-prefix.patch +# PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch +Patch1001: 1001-Reinstate-TIMEOUT-handling.patch +# PATCH-FIX-OPENSUSE 1002-re-enable-by_path-links-for-ata-devices.patch +Patch1002: 1002-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1003: 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1004-udev-netlink-null-rules.patch +Patch1004: 1004-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 1005-udev-fix-sg-autoload-regression.patch +Patch1005: 1005-udev-fix-sg-autoload-regression.patch +# PATCH-FIX-OPENSUSE 1007-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr +Patch1006: 1006-fix-devname-prefix.patch +# PATCH-FIX-UPSTREAM 1007-udevd-add-missing-to-getopt_long-e.patch +Patch1007: 1007-udevd-add-missing-to-getopt_long-e.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -338,11 +339,12 @@ cp %{SOURCE7} m4/ #udev %patch1001 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1026 -p1 -%patch1027 -p1 -%patch1028 -p1 +%patch1002 -p1 +%patch1003 -p1 +%patch1004 -p1 +%patch1005 -p1 +%patch1006 -p1 +%patch1007 -p1 #systemd %patch1 -p1 @@ -422,13 +424,16 @@ ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald %endif +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} +sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} +sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants +mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants #workaround for 716939 diff --git a/systemd.changes b/systemd.changes index 7b9830f6..3d94cc4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com + +- udevd: add missing ':' to getopt_long 'e'. + add: 1007-udevd-add-missing-to-getopt_long-e.patch +- clean up systemd.spec, make it easy to see which are udev and + systemd patches. +- make 'reload' and 'force-reload' LSB compliant (bnc#793936). + ------------------------------------------------------------------- Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index 05c3fcd3..55c77bdb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -159,19 +159,20 @@ Patch74: detect-btrfs-ssd.patch Patch75: timedated-donot-close-bogus-dbus-connection.patch # udev patches -# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch -Patch1001: 0001-Reinstate-TIMEOUT-handling.patch -# PATCH-FIX-OPENSUSE 0013-re-enable-by_path-links-for-ata-devices.patch -Patch1013: 0013-re-enable-by_path-links-for-ata-devices.patch -# PATCH-FIX-OPENSUSE 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1014: 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch - -# PATCH-FIX-OPENSUSE 0026-udev-netlink-null-rules.patch -Patch1026: 0026-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch -Patch1027: 0027-udev-fix-sg-autoload-regression.patch -# PATCH-FIX-OPENSUSE fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1028: fix-devname-prefix.patch +# PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch +Patch1001: 1001-Reinstate-TIMEOUT-handling.patch +# PATCH-FIX-OPENSUSE 1002-re-enable-by_path-links-for-ata-devices.patch +Patch1002: 1002-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1003: 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1004-udev-netlink-null-rules.patch +Patch1004: 1004-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 1005-udev-fix-sg-autoload-regression.patch +Patch1005: 1005-udev-fix-sg-autoload-regression.patch +# PATCH-FIX-OPENSUSE 1007-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr +Patch1006: 1006-fix-devname-prefix.patch +# PATCH-FIX-UPSTREAM 1007-udevd-add-missing-to-getopt_long-e.patch +Patch1007: 1007-udevd-add-missing-to-getopt_long-e.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -333,11 +334,12 @@ cp %{SOURCE7} m4/ #udev %patch1001 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1026 -p1 -%patch1027 -p1 -%patch1028 -p1 +%patch1002 -p1 +%patch1003 -p1 +%patch1004 -p1 +%patch1005 -p1 +%patch1006 -p1 +%patch1007 -p1 #systemd %patch1 -p1 @@ -417,13 +419,16 @@ ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald %endif +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} +sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} +sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants +mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants #workaround for 716939 From 48af67da26a3e570e98350c2944a2e172515be9b7669c3f98c88cdb4cd014717 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 10 Jan 2013 14:20:01 +0000 Subject: [PATCH 117/991] Accepting request 147673 from Base:System - udev: path_id - handle Hyper-V devices add: 1008-udev-path_id-handle-Hyper-V-devices.patch - keymap: Update the list of Samsung Series 9 models add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch - keymap: Add Samsung 700T add: 1010-keymap-Add-Samsung-700T.patch - libudev: avoid leak during realloc failure add: 1011-libudev-avoid-leak-during-realloc-failure.patch - libudev: do not resolve $attr{device} symlinks add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch - libudev: validate 'udev' argument to udev_enumerate_new() add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch - udev: fix whitespace add: 1014-udev-fix-whitespace.patch - udev: properly handle symlink removal by 'change' event add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch - udev: builtin - do not fail builtin initialization if one of them returns an error add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch - udev: use usec_t and now() add: 1017-udev-use-usec_t-and-now.patch closing an non-existent dbus connection and getting assertion failures. - udev: path_id - handle Hyper-V devices add: 1008-udev-path_id-handle-Hyper-V-devices.patch - keymap: Update the list of Samsung Series 9 models add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch - keymap: Add Samsung 700T add: 1010-keymap-Add-Samsung-700T.patch OBS-URL: https://build.opensuse.org/request/show/147673 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=120 --- ...splash-handling-for-password-dialogs.patch | 14 +- ...aplock-and-compose_table-and-kbd_rat.patch | 14 +- ...sv-service-with-detected-pid-as-Rema.patch | 8 +- 1001-Reinstate-TIMEOUT-handling.patch | 26 +- ...enable-by_path-links-for-ata-devices.patch | 10 +- ...ate-by-id-scsi-links-for-ATA-devices.patch | 6 +- 1004-udev-netlink-null-rules.patch | 8 +- 1007-udevd-add-missing-to-getopt_long-e.patch | 13 +- ...-udev-path_id-handle-Hyper-V-devices.patch | 72 ++++ ...-the-list-of-Samsung-Series-9-models.patch | 136 +++++++ 1010-keymap-Add-Samsung-700T.patch | 22 ++ ...ev-avoid-leak-during-realloc-failure.patch | 36 ++ ...-do-not-resolve-attr-device-symlinks.patch | 40 +++ ...-udev-argument-to-udev_enumerate_new.patch | 23 ++ 1014-udev-fix-whitespace.patch | 56 +++ ...ndle-symlink-removal-by-change-event.patch | 69 ++++ ...not-fail-builtin-initialization-if-o.patch | 64 ++++ 1017-udev-use-usec_t-and-now.patch | 335 ++++++++++++++++++ fix-build-glibc217.patch | 13 +- fix-dbus-crash.patch | 13 +- fix-logind-pty-seat.patch | 13 +- mount-efivars.patch | 201 +++-------- new-lsb-headers.patch | 20 +- support-sysvinit.patch | 8 +- sync-on-shutdown.patch | 21 +- systemd-mini.changes | 29 +- systemd-mini.spec | 30 ++ systemd-numlock-suse.patch | 42 +-- systemd.changes | 29 +- systemd.spec | 30 ++ ...ed-donot-close-bogus-dbus-connection.patch | 12 +- 31 files changed, 1129 insertions(+), 284 deletions(-) create mode 100644 1008-udev-path_id-handle-Hyper-V-devices.patch create mode 100644 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch create mode 100644 1010-keymap-Add-Samsung-700T.patch create mode 100644 1011-libudev-avoid-leak-during-realloc-failure.patch create mode 100644 1012-libudev-do-not-resolve-attr-device-symlinks.patch create mode 100644 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch create mode 100644 1014-udev-fix-whitespace.patch create mode 100644 1015-udev-properly-handle-symlink-removal-by-change-event.patch create mode 100644 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch create mode 100644 1017-udev-use-usec_t-and-now.patch diff --git a/0001-Add-bootsplash-handling-for-password-dialogs.patch b/0001-Add-bootsplash-handling-for-password-dialogs.patch index 7338d212..957757ae 100644 --- a/0001-Add-bootsplash-handling-for-password-dialogs.patch +++ b/0001-Add-bootsplash-handling-for-password-dialogs.patch @@ -6,11 +6,11 @@ Subject: [PATCH] Add bootsplash handling for password dialogs openSUSE uses bootsplash.org, so add a crude handling for setting the splash screen to verbose when a password is asked... --- -diff --git a/src/ask-password-api.c b/src/ask-password-api.c -index da967ab..b89bcea 100644 ---- a/src/shared/ask-password-api.c -+++ b/src/shared/ask-password-api.c -@@ -62,6 +62,9 @@ int ask_password_tty( +Index: systemd-195/src/shared/ask-password-api.c +=================================================================== +--- systemd-195.orig/src/shared/ask-password-api.c ++++ systemd-195/src/shared/ask-password-api.c +@@ -63,6 +63,9 @@ int ask_password_tty( bool reset_tty = false; bool silent_mode = false; bool dirty = false; @@ -20,7 +20,7 @@ index da967ab..b89bcea 100644 enum { POLL_TTY, POLL_INOTIFY -@@ -105,6 +108,19 @@ int ask_password_tty( +@@ -106,6 +109,19 @@ int ask_password_tty( } reset_tty = true; @@ -40,7 +40,7 @@ index da967ab..b89bcea 100644 } zero(pollfd); -@@ -239,6 +255,12 @@ finish: +@@ -240,6 +256,12 @@ finish: close_nointr_nofail(ttyfd); } diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch index 8376c34c..d04cb888 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch @@ -7,10 +7,10 @@ Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate src/vconsole-setup.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 121 insertions(+), 3 deletions(-) -Index: systemd-189/src/vconsole/vconsole-setup.c +Index: systemd-195/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-189.orig/src/vconsole/vconsole-setup.c -+++ systemd-189/src/vconsole/vconsole-setup.c +--- systemd-195.orig/src/vconsole/vconsole-setup.c ++++ systemd-195/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "log.h" #include "macro.h" @@ -158,7 +158,7 @@ Index: systemd-189/src/vconsole/vconsole-setup.c int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -281,10 +387,15 @@ int main(int argc, char **argv) { +@@ -273,10 +379,15 @@ int main(int argc, char **argv) { free(vc_keymap); vc_keymap = t; } @@ -174,7 +174,7 @@ Index: systemd-189/src/vconsole/vconsole-setup.c NULL); if (r < 0 && r != -ENOENT) log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -@@ -443,7 +554,11 @@ int main(int argc, char **argv) { +@@ -435,7 +546,11 @@ int main(int argc, char **argv) { disable_utf8(fd); @@ -187,7 +187,7 @@ Index: systemd-189/src/vconsole/vconsole-setup.c load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -451,6 +566,14 @@ finish: +@@ -443,6 +558,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -202,7 +202,7 @@ Index: systemd-189/src/vconsole/vconsole-setup.c if (font_pid > 0) wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -@@ -458,6 +581,12 @@ finish: +@@ -450,6 +573,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); diff --git a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch index eebd73f5..0f665022 100644 --- a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +++ b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch @@ -12,11 +12,11 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/service.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) -Index: systemd-37/src/service.c +Index: systemd-195/src/core/service.c =================================================================== ---- systemd-37.orig/src/core/service.c -+++ systemd-37/src/core/service.c -@@ -2014,8 +2014,13 @@ static void service_enter_running(Servic +--- systemd-195.orig/src/core/service.c ++++ systemd-195/src/core/service.c +@@ -2136,8 +2136,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && diff --git a/1001-Reinstate-TIMEOUT-handling.patch b/1001-Reinstate-TIMEOUT-handling.patch index 9e451f4b..f90c265a 100644 --- a/1001-Reinstate-TIMEOUT-handling.patch +++ b/1001-Reinstate-TIMEOUT-handling.patch @@ -20,10 +20,10 @@ regarding this issue. src/udevd.c | 13 ++++++++++--- 4 files changed, 32 insertions(+), 3 deletions(-) -Index: systemd-190/src/libudev/libudev-device.c +Index: systemd-195/src/libudev/libudev-device.c =================================================================== ---- systemd-190.orig/src/libudev/libudev-device.c -+++ systemd-190/src/libudev/libudev-device.c +--- systemd-195.orig/src/libudev/libudev-device.c ++++ systemd-195/src/libudev/libudev-device.c @@ -68,6 +68,7 @@ struct udev_device { struct udev_list tags_list; unsigned long long int seqnum; @@ -71,10 +71,10 @@ Index: systemd-190/src/libudev/libudev-device.c udev_device->watch_handle = -1; /* copy global properties */ udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) -Index: systemd-190/src/libudev/libudev-private.h +Index: systemd-195/src/libudev/libudev-private.h =================================================================== ---- systemd-190.orig/src/libudev/libudev-private.h -+++ systemd-190/src/libudev/libudev-private.h +--- systemd-195.orig/src/libudev/libudev-private.h ++++ systemd-195/src/libudev/libudev-private.h @@ -65,6 +65,7 @@ const char *udev_device_get_id_filename( void udev_device_set_is_initialized(struct udev_device *udev_device); int udev_device_add_tag(struct udev_device *udev_device, const char *tag); @@ -83,11 +83,11 @@ Index: systemd-190/src/libudev/libudev-private.h unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); int udev_device_get_devlink_priority(struct udev_device *udev_device); -Index: systemd-190/src/udev/udevd.c +Index: systemd-195/src/udev/udevd.c =================================================================== ---- systemd-190.orig/src/udev/udevd.c -+++ systemd-190/src/udev/udevd.c -@@ -387,7 +387,7 @@ out: +--- systemd-195.orig/src/udev/udevd.c ++++ systemd-195/src/udev/udevd.c +@@ -388,7 +388,7 @@ out: } } @@ -96,7 +96,7 @@ Index: systemd-190/src/udev/udevd.c { struct udev_list_node *loop; -@@ -413,7 +413,7 @@ static void event_run(struct event *even +@@ -414,7 +414,7 @@ static void event_run(struct event *even return; } @@ -105,7 +105,7 @@ Index: systemd-190/src/udev/udevd.c if (children_max > 1) log_debug("maximum number (%i) of children reached\n", children); return; -@@ -447,6 +447,13 @@ static int event_queue_insert(struct ude +@@ -450,6 +450,13 @@ static int event_queue_insert(struct ude event->state = EVENT_QUEUED; udev_list_node_append(&event->node, &event_list); @@ -119,7 +119,7 @@ Index: systemd-190/src/udev/udevd.c return 0; } -@@ -552,7 +559,7 @@ static void event_queue_start(struct ude +@@ -559,7 +566,7 @@ static void event_queue_start(struct ude if (is_devpath_busy(event)) continue; diff --git a/1002-re-enable-by_path-links-for-ata-devices.patch b/1002-re-enable-by_path-links-for-ata-devices.patch index 41242f3b..9250624f 100644 --- a/1002-re-enable-by_path-links-for-ata-devices.patch +++ b/1002-re-enable-by_path-links-for-ata-devices.patch @@ -1,8 +1,8 @@ -Index: udev-182/src/udev-builtin-path_id.c +Index: systemd-195/src/udev/udev-builtin-path_id.c =================================================================== ---- udev-182.orig/src/udev/udev-builtin-path_id.c -+++ udev-182/src/udev/udev-builtin-path_id.c -@@ -286,6 +286,85 @@ out: +--- systemd-195.orig/src/udev/udev-builtin-path_id.c ++++ systemd-195/src/udev/udev-builtin-path_id.c +@@ -302,6 +302,85 @@ out: return hostdev; } @@ -88,7 +88,7 @@ Index: udev-182/src/udev-builtin-path_id.c static struct udev_device *handle_scsi(struct udev_device *parent, char **path) { const char *devtype; -@@ -322,16 +401,8 @@ static struct udev_device *handle_scsi(s +@@ -338,16 +417,8 @@ static struct udev_device *handle_scsi(s goto out; } diff --git a/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch index 240d8200..c7b3b1cd 100644 --- a/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ b/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -1,7 +1,7 @@ -Index: udev-182/rules/60-persistent-storage.rules +Index: systemd-195/rules/60-persistent-storage.rules =================================================================== ---- udev-182.orig/rules/60-persistent-storage.rules -+++ udev-182/rules/60-persistent-storage.rules +--- systemd-195.orig/rules/60-persistent-storage.rules ++++ systemd-195/rules/60-persistent-storage.rules @@ -44,6 +44,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" diff --git a/1004-udev-netlink-null-rules.patch b/1004-udev-netlink-null-rules.patch index c0b7d44a..e5fd1b7e 100644 --- a/1004-udev-netlink-null-rules.patch +++ b/1004-udev-netlink-null-rules.patch @@ -1,8 +1,8 @@ -Index: udev-182/src/udevd.c +Index: systemd-195/src/udev/udevd.c =================================================================== ---- udev-182.orig/src/udev/udevd.c -+++ udev-182/src/udev/udevd.c -@@ -1683,6 +1683,8 @@ int main(int argc, char *argv[]) +--- systemd-195.orig/src/udev/udevd.c ++++ systemd-195/src/udev/udevd.c +@@ -1513,6 +1513,8 @@ int main(int argc, char *argv[]) dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now_usec()); diff --git a/1007-udevd-add-missing-to-getopt_long-e.patch b/1007-udevd-add-missing-to-getopt_long-e.patch index 209f5d86..59cba6ae 100644 --- a/1007-udevd-add-missing-to-getopt_long-e.patch +++ b/1007-udevd-add-missing-to-getopt_long-e.patch @@ -9,11 +9,11 @@ and this leads to segfault when calling 'systemd-udevd -e'. src/udev/udevd.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index ebd601e..ffc48a0 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -1097,7 +1097,7 @@ int main(int argc, char *argv[]) +Index: systemd-195/src/udev/udevd.c +=================================================================== +--- systemd-195.orig/src/udev/udevd.c ++++ systemd-195/src/udev/udevd.c +@@ -1104,7 +1104,7 @@ int main(int argc, char *argv[]) for (;;) { int option; @@ -22,6 +22,3 @@ index ebd601e..ffc48a0 100644 if (option == -1) break; --- -1.7.7 - diff --git a/1008-udev-path_id-handle-Hyper-V-devices.patch b/1008-udev-path_id-handle-Hyper-V-devices.patch new file mode 100644 index 00000000..b4273dd7 --- /dev/null +++ b/1008-udev-path_id-handle-Hyper-V-devices.patch @@ -0,0 +1,72 @@ +From a24d03b8ee2ca62cd1273e27cf4e79ddcc0fbb1c Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Fri, 23 Nov 2012 14:12:39 +0100 +Subject: [PATCH] udev: path_id - handle Hyper-V devices + +Hyper-V has an abstract bus, which gets renumbered on guest +startup. So instead of the bus numbers we should be using +the device GUIDs, which can be retrieved from the 'device_id' +sysfs attribute. +--- + src/udev/udev-builtin-path_id.c | 41 +++++++++++++++++++++++++++++++++++++++ + 1 files changed, 41 insertions(+), 0 deletions(-) + +Index: systemd-195/src/udev/udev-builtin-path_id.c +=================================================================== +--- systemd-195.orig/src/udev/udev-builtin-path_id.c ++++ systemd-195/src/udev/udev-builtin-path_id.c +@@ -381,6 +381,42 @@ out: + return hostdev; + } + ++static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char **path) { ++ struct udev_device *hostdev; ++ struct udev_device *vmbusdev; ++ const char *guid_str; ++ char *lun = NULL; ++ char guid[38]; ++ size_t i, k; ++ ++ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); ++ if (!hostdev) ++ return NULL; ++ ++ vmbusdev = udev_device_get_parent(hostdev); ++ if (!vmbusdev) ++ return NULL; ++ ++ guid_str = udev_device_get_sysattr_value(vmbusdev, "device_id"); ++ if (!guid_str) ++ return NULL; ++ ++ if (strlen(guid_str) < 37 || guid_str[0] != '{' || guid_str[36] != '}') ++ return NULL; ++ ++ for (i = 1, k = 0; i < 36; i++) { ++ if (guid_str[i] == '-') ++ continue; ++ guid[k++] = guid_str[i]; ++ } ++ guid[k] = '\0'; ++ ++ format_lun_number(parent, &lun); ++ path_prepend(path, "vmbus-%s-%s", guid, lun); ++ free(lun); ++ return parent; ++} ++ + static struct udev_device *handle_scsi(struct udev_device *parent, char **path) + { + const char *devtype; +@@ -422,6 +458,11 @@ static struct udev_device *handle_scsi(s + goto out; + } + ++ if (strstr(name, "/vmbus_") != NULL) { ++ parent = handle_scsi_hyperv(parent, path); ++ goto out; ++ } ++ + parent = handle_scsi_default(parent, path); + out: + return parent; diff --git a/1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch b/1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch new file mode 100644 index 00000000..58bf335c --- /dev/null +++ b/1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch @@ -0,0 +1,136 @@ +From 68c77c2f6168dca0ce7b5edb81612cd6be39e63d Mon Sep 17 00:00:00 2001 +From: Alessandro Crismani +Date: Wed, 8 Aug 2012 14:19:32 +0200 +Subject: [PATCH] keymap: Update the list of Samsung Series 9 models + +Currently, keymaps are provided only for the NP90X3A laptop. Samsung +introduced updated models, codenamed 900X3B, 900X3C, 900X4B, 900X4C, +which are currently not matched by udev rules. This patch includes the +newer modules in udev rules and move the samsung-n90x3a file defining +keys to a more generic samsung-series-9 file. + +The patch was tested on a 900X4C laptop, and other people reported +that the rules also work for 900X3B and 900X3C ones. +--- + delete mode 100644 keymaps-force-release/samsung-90x3a + create mode 100644 keymaps-force-release/samsung-series-9 + delete mode 100644 keymaps/samsung-90x3a + create mode 100644 keymaps/samsung-series-9 + +From 68c77c2f6168dca0ce7b5edb81612cd6be39e63d Mon Sep 17 00:00:00 2001 +From: Alessandro Crismani +Date: Wed, 8 Aug 2012 14:19:32 +0200 +Subject: [PATCH] keymap: Update the list of Samsung Series 9 models + +Currently, keymaps are provided only for the NP90X3A laptop. Samsung +introduced updated models, codenamed 900X3B, 900X3C, 900X4B, 900X4C, +which are currently not matched by udev rules. This patch includes the +newer modules in udev rules and move the samsung-n90x3a file defining +keys to a more generic samsung-series-9 file. + +The patch was tested on a 900X4C laptop, and other people reported +that the rules also work for 900X3B and 900X3C ones. +--- + Makefile.am | 4 ++-- + keymaps-force-release/samsung-90x3a | 6 ------ + keymaps-force-release/samsung-series-9 | 6 ++++++ + keymaps/samsung-90x3a | 5 ----- + keymaps/samsung-series-9 | 5 +++++ + src/udev/keymap/95-keyboard-force-release.rules | 2 +- + src/udev/keymap/95-keymap.rules | 2 +- + 7 files changed, 15 insertions(+), 15 deletions(-) + delete mode 100644 keymaps-force-release/samsung-90x3a + create mode 100644 keymaps-force-release/samsung-series-9 + delete mode 100644 keymaps/samsung-90x3a + create mode 100644 keymaps/samsung-series-9 + +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -2272,7 +2272,7 @@ dist_udevkeymap_DATA = \ + keymaps/onkyo \ + keymaps/oqo-model2 \ + keymaps/samsung-other \ +- keymaps/samsung-90x3a \ ++ keymaps/samsung-series-9 \ + keymaps/samsung-sq1us \ + keymaps/samsung-sx20s \ + keymaps/toshiba-satellite_a100 \ +@@ -2286,7 +2286,7 @@ dist_udevkeymapforcerel_DATA = \ + keymaps-force-release/dell-xps \ + keymaps-force-release/hp-other \ + keymaps-force-release/samsung-other \ +- keymaps-force-release/samsung-90x3a \ ++ keymaps-force-release/samsung-series-9 \ + keymaps-force-release/common-volume-keys + + src/udev/keymap/keys.txt: Makefile +Index: systemd-195/keymaps-force-release/samsung-90x3a +=================================================================== +--- systemd-195.orig/keymaps-force-release/samsung-90x3a ++++ /dev/null +@@ -1,6 +0,0 @@ +-# list of scancodes (hex or decimal), optional comment +-0xCE # Fn+F8 keyboard backlit up +-0x8D # Fn+F7 keyboard backlit down +-0x97 # Fn+F12 wifi on/off +-0x96 # Fn+F1 performance mode (?) +-0xD5 # Fn+F6 battery life extender +Index: systemd-195/keymaps-force-release/samsung-series-9 +=================================================================== +--- /dev/null ++++ systemd-195/keymaps-force-release/samsung-series-9 +@@ -0,0 +1,6 @@ ++# list of scancodes (hex or decimal), optional comment ++0xCE # Fn+F8 keyboard backlit up ++0x8D # Fn+F7 keyboard backlit down ++0x97 # Fn+F12 wifi on/off ++0x96 # Fn+F1 performance mode (?) ++0xD5 # Fn+F6 battery life extender +Index: systemd-195/keymaps/samsung-90x3a +=================================================================== +--- systemd-195.orig/keymaps/samsung-90x3a ++++ /dev/null +@@ -1,5 +0,0 @@ +-0x96 kbdillumup # Fn+F8 keyboard backlit up +-0x97 kbdillumdown # Fn+F7 keyboard backlit down +-0xD5 wlan # Fn+F12 wifi on/off +-0xCE prog1 # Fn+F1 performance mode +-0x8D prog2 # Fn+F6 battery life extender +Index: systemd-195/keymaps/samsung-series-9 +=================================================================== +--- /dev/null ++++ systemd-195/keymaps/samsung-series-9 +@@ -0,0 +1,5 @@ ++0x96 kbdillumup # Fn+F8 keyboard backlit up ++0x97 kbdillumdown # Fn+F7 keyboard backlit down ++0xD5 wlan # Fn+F12 wifi on/off ++0xCE prog1 # Fn+F1 performance mode ++0x8D prog2 # Fn+F6 battery life extender +Index: systemd-195/src/udev/keymap/95-keyboard-force-release.rules +=================================================================== +--- systemd-195.orig/src/udev/keymap/95-keyboard-force-release.rules ++++ systemd-195/src/udev/keymap/95-keyboard-force-release.rules +@@ -19,7 +19,7 @@ DRIVER!="atkbd", GOTO="force_release_end + ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}" + + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", RUN+="keyboard-force-release.sh $devpath samsung-other" +-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keyboard-force-release.sh $devpath samsung-90x3a" ++ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*|*900X3*|*900X4*", RUN+="keyboard-force-release.sh $devpath samsung-series-9" + + ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Studio 1557|Studio 1558", RUN+="keyboard-force-release.sh $devpath common-volume-keys" + ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Latitude E*|Latitude *U|Precision M*", RUN+="keyboard-force-release.sh $devpath dell-touchpad" +Index: systemd-195/src/udev/keymap/95-keymap.rules +=================================================================== +--- systemd-195.orig/src/udev/keymap/95-keymap.rules ++++ systemd-195/src/udev/keymap/95-keymap.rules +@@ -147,7 +147,7 @@ ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][n + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s" + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us" + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*700Z*", RUN+="keymap $name 0xBA ejectcd 0x96 keyboardbrightnessup 0x97 keyboardbrightnessdown" +-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keymap $name samsung-90x3a" ++ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*|*900X3*|*900X4*", RUN+="keymap $name samsung-series-9" + + ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="SATELLITE A100", RUN+="keymap $name toshiba-satellite_a100" + ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite A110", RUN+="keymap $name toshiba-satellite_a110" diff --git a/1010-keymap-Add-Samsung-700T.patch b/1010-keymap-Add-Samsung-700T.patch new file mode 100644 index 00000000..860da9ad --- /dev/null +++ b/1010-keymap-Add-Samsung-700T.patch @@ -0,0 +1,22 @@ +From a5dea3d43b3866b48c66d6bef9663cf8372fd96c Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Wed, 28 Nov 2012 21:33:26 +0100 +Subject: [PATCH] keymap: Add Samsung 700T + +https://bugzilla.redhat.com/show_bug.cgi?id=879691 +--- + src/udev/keymap/95-keymap.rules | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +Index: systemd-195/src/udev/keymap/95-keymap.rules +=================================================================== +--- systemd-195.orig/src/udev/keymap/95-keymap.rules ++++ systemd-195/src/udev/keymap/95-keymap.rules +@@ -147,6 +147,7 @@ ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][n + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s" + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us" + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*700Z*", RUN+="keymap $name 0xBA ejectcd 0x96 keyboardbrightnessup 0x97 keyboardbrightnessdown" ++ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*700T*", RUN+="keymap $name 0xAD leftmeta" + ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*|*900X3*|*900X4*", RUN+="keymap $name samsung-series-9" + + ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="SATELLITE A100", RUN+="keymap $name toshiba-satellite_a100" diff --git a/1011-libudev-avoid-leak-during-realloc-failure.patch b/1011-libudev-avoid-leak-during-realloc-failure.patch new file mode 100644 index 00000000..6b5d1907 --- /dev/null +++ b/1011-libudev-avoid-leak-during-realloc-failure.patch @@ -0,0 +1,36 @@ +From cf2292f5ac87087f57dbd632a25a332c9d194ebf Mon Sep 17 00:00:00 2001 +From: Mauro Dreissig +Date: Sun, 11 Nov 2012 22:07:51 -0200 +Subject: [PATCH] libudev: avoid leak during realloc failure + +--- + src/libudev/libudev-list.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +Index: systemd-195/src/libudev/libudev-list.c +=================================================================== +--- systemd-195.orig/src/libudev/libudev-list.c ++++ systemd-195/src/libudev/libudev-list.c +@@ -177,18 +177,20 @@ struct udev_list_entry *udev_list_entry_ + if (list->unique) { + /* allocate or enlarge sorted array if needed */ + if (list->entries_cur >= list->entries_max) { ++ struct udev_list_entry **entries; + unsigned int add; + + add = list->entries_max; + if (add < 1) + add = 64; +- list->entries = realloc(list->entries, (list->entries_max + add) * sizeof(struct udev_list_entry *)); +- if (list->entries == NULL) { ++ entries = realloc(list->entries, (list->entries_max + add) * sizeof(struct udev_list_entry *)); ++ if (entries == NULL) { + free(entry->name); + free(entry->value); + free(entry); + return NULL; + } ++ list->entries = entries; + list->entries_max += add; + } + diff --git a/1012-libudev-do-not-resolve-attr-device-symlinks.patch b/1012-libudev-do-not-resolve-attr-device-symlinks.patch new file mode 100644 index 00000000..9e48bc52 --- /dev/null +++ b/1012-libudev-do-not-resolve-attr-device-symlinks.patch @@ -0,0 +1,40 @@ +From 5ae18ddc0d86673520c0dd6b59ccac8afc8aa605 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 20 Nov 2012 18:07:57 +0100 +Subject: [PATCH] libudev: do not resolve $attr{device} symlinks + +--- + src/libudev/libudev-device.c | 19 ++++++++++--------- + 1 files changed, 10 insertions(+), 9 deletions(-) + +Index: systemd-195/src/libudev/libudev-device.c +=================================================================== +--- systemd-195.orig/src/libudev/libudev-device.c ++++ systemd-195/src/libudev/libudev-device.c +@@ -1369,16 +1369,17 @@ _public_ const char *udev_device_get_sys + goto out; + } + +- /* resolve link to a device and return its syspath */ +- util_strscpyl(path, sizeof(path), udev_device->syspath, "/", sysattr, NULL); +- dev = udev_device_new_from_syspath(udev_device->udev, path); +- if (dev != NULL) { +- list_entry = udev_list_entry_add(&udev_device->sysattr_value_list, sysattr, +- udev_device_get_syspath(dev)); +- val = udev_list_entry_get_value(list_entry); +- udev_device_unref(dev); ++ /* resolve custom link to a device and return its syspath */ ++ if (!streq(sysattr, "device")) { ++ util_strscpyl(path, sizeof(path), udev_device->syspath, "/", sysattr, NULL); ++ dev = udev_device_new_from_syspath(udev_device->udev, path); ++ if (dev != NULL) { ++ list_entry = udev_list_entry_add(&udev_device->sysattr_value_list, sysattr, ++ udev_device_get_syspath(dev)); ++ val = udev_list_entry_get_value(list_entry); ++ udev_device_unref(dev); ++ } + } +- + goto out; + } + diff --git a/1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch b/1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch new file mode 100644 index 00000000..a93c2272 --- /dev/null +++ b/1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch @@ -0,0 +1,23 @@ +From e68893075083a7461b1572233d23fdb23541d630 Mon Sep 17 00:00:00 2001 +From: Michael Terry +Date: Fri, 14 Dec 2012 09:02:13 -0500 +Subject: [PATCH] libudev: validate 'udev' argument to udev_enumerate_new() + +https://bugs.freedesktop.org/show_bug.cgi?id=58289 +--- + src/libudev/libudev-enumerate.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +Index: systemd-195/src/libudev/libudev-enumerate.c +=================================================================== +--- systemd-195.orig/src/libudev/libudev-enumerate.c ++++ systemd-195/src/libudev/libudev-enumerate.c +@@ -73,6 +73,8 @@ _public_ struct udev_enumerate *udev_enu + { + struct udev_enumerate *udev_enumerate; + ++ if (udev == NULL) ++ return NULL; + udev_enumerate = calloc(1, sizeof(struct udev_enumerate)); + if (udev_enumerate == NULL) + return NULL; diff --git a/1014-udev-fix-whitespace.patch b/1014-udev-fix-whitespace.patch new file mode 100644 index 00000000..fcccc037 --- /dev/null +++ b/1014-udev-fix-whitespace.patch @@ -0,0 +1,56 @@ +From 3fd0c4c66df45ee457cfb5e4ca8e285914ebc32f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 20 Nov 2012 18:07:14 +0100 +Subject: [PATCH] udev: fix whitespace + +--- + src/udev/udev-event.c | 36 ++++++++++++++++++------------------ + 1 files changed, 18 insertions(+), 18 deletions(-) + +Index: systemd-195/src/udev/udev-event.c +=================================================================== +--- systemd-195.orig/src/udev/udev-event.c ++++ systemd-195/src/udev/udev-event.c +@@ -90,24 +90,24 @@ size_t udev_event_apply_format(struct ud + const char fmt; + enum subst_type type; + } map[] = { +- { .name = "devnode", .fmt = 'N', .type = SUBST_DEVNODE }, +- { .name = "tempnode", .fmt = 'N', .type = SUBST_DEVNODE }, +- { .name = "attr", .fmt = 's', .type = SUBST_ATTR }, +- { .name = "sysfs", .fmt = 's', .type = SUBST_ATTR }, +- { .name = "env", .fmt = 'E', .type = SUBST_ENV }, +- { .name = "kernel", .fmt = 'k', .type = SUBST_KERNEL }, +- { .name = "number", .fmt = 'n', .type = SUBST_KERNEL_NUMBER }, +- { .name = "driver", .fmt = 'd', .type = SUBST_DRIVER }, +- { .name = "devpath", .fmt = 'p', .type = SUBST_DEVPATH }, +- { .name = "id", .fmt = 'b', .type = SUBST_ID }, +- { .name = "major", .fmt = 'M', .type = SUBST_MAJOR }, +- { .name = "minor", .fmt = 'm', .type = SUBST_MINOR }, +- { .name = "result", .fmt = 'c', .type = SUBST_RESULT }, +- { .name = "parent", .fmt = 'P', .type = SUBST_PARENT }, +- { .name = "name", .fmt = 'D', .type = SUBST_NAME }, +- { .name = "links", .fmt = 'L', .type = SUBST_LINKS }, +- { .name = "root", .fmt = 'r', .type = SUBST_ROOT }, +- { .name = "sys", .fmt = 'S', .type = SUBST_SYS }, ++ { .name = "devnode", .fmt = 'N', .type = SUBST_DEVNODE }, ++ { .name = "tempnode", .fmt = 'N', .type = SUBST_DEVNODE }, ++ { .name = "attr", .fmt = 's', .type = SUBST_ATTR }, ++ { .name = "sysfs", .fmt = 's', .type = SUBST_ATTR }, ++ { .name = "env", .fmt = 'E', .type = SUBST_ENV }, ++ { .name = "kernel", .fmt = 'k', .type = SUBST_KERNEL }, ++ { .name = "number", .fmt = 'n', .type = SUBST_KERNEL_NUMBER }, ++ { .name = "driver", .fmt = 'd', .type = SUBST_DRIVER }, ++ { .name = "devpath", .fmt = 'p', .type = SUBST_DEVPATH }, ++ { .name = "id", .fmt = 'b', .type = SUBST_ID }, ++ { .name = "major", .fmt = 'M', .type = SUBST_MAJOR }, ++ { .name = "minor", .fmt = 'm', .type = SUBST_MINOR }, ++ { .name = "result", .fmt = 'c', .type = SUBST_RESULT }, ++ { .name = "parent", .fmt = 'P', .type = SUBST_PARENT }, ++ { .name = "name", .fmt = 'D', .type = SUBST_NAME }, ++ { .name = "links", .fmt = 'L', .type = SUBST_LINKS }, ++ { .name = "root", .fmt = 'r', .type = SUBST_ROOT }, ++ { .name = "sys", .fmt = 'S', .type = SUBST_SYS }, + }; + const char *from; + char *s; diff --git a/1015-udev-properly-handle-symlink-removal-by-change-event.patch b/1015-udev-properly-handle-symlink-removal-by-change-event.patch new file mode 100644 index 00000000..e579a466 --- /dev/null +++ b/1015-udev-properly-handle-symlink-removal-by-change-event.patch @@ -0,0 +1,69 @@ +From bf9d233f781f27841be6638ee745e9c80bda5f4d Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 13 Nov 2012 02:05:06 +0100 +Subject: [PATCH] udev: properly handle symlink removal by 'change' event + +If a 'change' event is supposed to remove created symlinks, we create +a new device structure from the sysfs device and fill it with the list +of links, to compute the delta of the old and new list of links to apply. +If the device is already 'remove'd by the kernel though, udev fails to +create the device structure, so the links are not removed properly. + +> From: Neil Brown +> Date: Thu, 8 Nov 2012 10:39:06 +0100 +> Subject: [PATCH] If a 'change' event does not get handled by udev until +> after the device has subsequently disappeared, udev mis-handles +> it. This can happen with 'md' devices which emit a change +> event and then a remove event when they are stopped. It is +> normally only noticed if udev is very busy (lots of arrays +> being stopped at once) or the machine is otherwise loaded +> and reponding slowly. +> +> There are two problems. +> +> 1/ udev_device_new_from_syspath() will refuse to create the device +> structure if the device does not exist in /sys, and particularly if +> the uevent file does not exist. +> If a 'db' file does exist, that is sufficient evidence that the device +> is genuine and should be created. Equally if we have just received an +> event from the kernel about the device, it must be real. +> +> This patch just disabled the test for the 'uevent' file, it doesn't +> try imposing any other tests - it isn't clear that they are really +> needed. +> +> 2/ udev_event_execute_rules() calls udev_device_read_db() on a 'device' +> structure that is largely uninitialised and in particular does not +> have the 'subsystem' set. udev_device_read_db() needs the subsystem +> so it tries to read the 'subsystem' symlink out of sysfs. If the +> device is already deleted, this naturally fails. +> udev_event_execute_rules() knows the subsystem (as it was in the +> event message) so this patch simply sets the subsystem for the device +> structure to be loaded to match the subsystem of the device structure +> that is handling the event. +> +> With these two changes, deleted handling of change events will still +> correctly remove any symlinks that are not needed any more. + +Use udev_device_new() instead of allowing udev_device_new_from_syspath() +to proceed without a sysfs device. +--- + src/udev/udev-event.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +Index: systemd-195/src/udev/udev-event.c +=================================================================== +--- systemd-195.orig/src/udev/udev-event.c ++++ systemd-195/src/udev/udev-event.c +@@ -797,8 +797,10 @@ int udev_event_execute_rules(struct udev + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); + } else { +- event->dev_db = udev_device_new_from_syspath(event->udev, udev_device_get_syspath(dev)); ++ event->dev_db = udev_device_new(event->udev); + if (event->dev_db != NULL) { ++ udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); ++ udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); + udev_device_read_db(event->dev_db, NULL); + udev_device_set_info_loaded(event->dev_db); + diff --git a/1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch b/1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch new file mode 100644 index 00000000..bf6d799e --- /dev/null +++ b/1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch @@ -0,0 +1,64 @@ +Index: systemd-195/src/udev/udev-builtin.c +=================================================================== +--- systemd-195.orig/src/udev/udev-builtin.c ++++ systemd-195/src/udev/udev-builtin.c +@@ -42,24 +42,18 @@ static const struct udev_builtin *builti + #endif + }; + +-int udev_builtin_init(struct udev *udev) ++void udev_builtin_init(struct udev *udev) + { + unsigned int i; +- int err = 0; + + if (initialized) +- return 0; ++ return; + +- for (i = 0; i < ELEMENTSOF(builtins); i++) { +- if (builtins[i]->init) { +- err = builtins[i]->init(udev); +- if (err < 0) +- break; +- } +- } ++ for (i = 0; i < ELEMENTSOF(builtins); i++) ++ if (builtins[i]->init) ++ builtins[i]->init(udev); + + initialized = true; +- return err; + } + + void udev_builtin_exit(struct udev *udev) +@@ -79,13 +73,11 @@ void udev_builtin_exit(struct udev *udev + bool udev_builtin_validate(struct udev *udev) + { + unsigned int i; +- bool change = false; + + for (i = 0; i < ELEMENTSOF(builtins); i++) +- if (builtins[i]->validate) +- if (builtins[i]->validate(udev)) +- change = true; +- return change; ++ if (builtins[i]->validate && builtins[i]->validate(udev)) ++ return true; ++ return false; + } + + void udev_builtin_list(struct udev *udev) +Index: systemd-195/src/udev/udev.h +=================================================================== +--- systemd-195.orig/src/udev/udev.h ++++ systemd-195/src/udev/udev.h +@@ -167,7 +167,7 @@ extern const struct udev_builtin udev_bu + extern const struct udev_builtin udev_builtin_usb_db; + extern const struct udev_builtin udev_builtin_usb_id; + extern const struct udev_builtin udev_builtin_uaccess; +-int udev_builtin_init(struct udev *udev); ++void udev_builtin_init(struct udev *udev); + void udev_builtin_exit(struct udev *udev); + enum udev_builtin_cmd udev_builtin_lookup(const char *command); + const char *udev_builtin_name(enum udev_builtin_cmd cmd); diff --git a/1017-udev-use-usec_t-and-now.patch b/1017-udev-use-usec_t-and-now.patch new file mode 100644 index 00000000..ca0b0131 --- /dev/null +++ b/1017-udev-use-usec_t-and-now.patch @@ -0,0 +1,335 @@ +Index: systemd-195/src/libudev/libudev-device-private.c +=================================================================== +--- systemd-195.orig/src/libudev/libudev-device-private.c ++++ systemd-195/src/libudev/libudev-device-private.c +@@ -147,7 +147,7 @@ int udev_device_update_db(struct udev_de + } + + if (udev_device_get_usec_initialized(udev_device) > 0) +- fprintf(f, "I:%llu\n", udev_device_get_usec_initialized(udev_device)); ++ fprintf(f, "I:%llu\n", (unsigned long long)udev_device_get_usec_initialized(udev_device)); + + udev_list_entry_foreach(list_entry, udev_device_get_properties_list_entry(udev_device)) { + if (!udev_list_entry_get_num(list_entry)) +Index: systemd-195/src/libudev/libudev-device.c +=================================================================== +--- systemd-195.orig/src/libudev/libudev-device.c ++++ systemd-195/src/libudev/libudev-device.c +@@ -67,7 +67,7 @@ struct udev_device { + struct udev_list sysattr_list; + struct udev_list tags_list; + unsigned long long int seqnum; +- unsigned long long int usec_initialized; ++ usec_t usec_initialized; + int timeout; + int devlink_priority; + int refcount; +@@ -262,7 +262,7 @@ static int udev_device_set_devtype(struc + return 0; + } + +-static int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem) ++int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem) + { + free(udev_device->subsystem); + udev_device->subsystem = strdup(subsystem); +@@ -1286,7 +1286,7 @@ _public_ const char *udev_device_get_act + **/ + _public_ unsigned long long int udev_device_get_usec_since_initialized(struct udev_device *udev_device) + { +- unsigned long long now_ts; ++ usec_t now_ts; + + if (udev_device == NULL) + return 0; +@@ -1294,23 +1294,23 @@ _public_ unsigned long long int udev_dev + udev_device_read_db(udev_device, NULL); + if (udev_device->usec_initialized == 0) + return 0; +- now_ts = now_usec(); ++ now_ts = now(CLOCK_MONOTONIC); + if (now_ts == 0) + return 0; + return now_ts - udev_device->usec_initialized; + } + +-unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device) ++usec_t udev_device_get_usec_initialized(struct udev_device *udev_device) + { + return udev_device->usec_initialized; + } + +-void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized) ++void udev_device_set_usec_initialized(struct udev_device *udev_device, usec_t usec_initialized) + { + char num[32]; + + udev_device->usec_initialized = usec_initialized; +- snprintf(num, sizeof(num), "%llu", usec_initialized); ++ snprintf(num, sizeof(num), "%llu", (unsigned long long)usec_initialized); + udev_device_add_property(udev_device, "USEC_INITIALIZED", num); + } + +Index: systemd-195/src/libudev/libudev-private.h +=================================================================== +--- systemd-195.orig/src/libudev/libudev-private.h ++++ systemd-195/src/libudev/libudev-private.h +@@ -48,6 +48,7 @@ struct udev_list_entry *udev_get_propert + /* libudev-device.c */ + struct udev_device *udev_device_new(struct udev *udev); + mode_t udev_device_get_devnode_mode(struct udev_device *udev_device); ++int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); + int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); + int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode); + int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); +@@ -66,8 +67,8 @@ void udev_device_set_is_initialized(stru + int udev_device_add_tag(struct udev_device *udev_device, const char *tag); + void udev_device_cleanup_tags_list(struct udev_device *udev_device); + int udev_device_get_timeout(struct udev_device *udev_device); +-unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); +-void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); ++usec_t udev_device_get_usec_initialized(struct udev_device *udev_device); ++void udev_device_set_usec_initialized(struct udev_device *udev_device, usec_t usec_initialized); + int udev_device_get_devlink_priority(struct udev_device *udev_device); + int udev_device_set_devlink_priority(struct udev_device *udev_device, int prio); + int udev_device_get_watch_handle(struct udev_device *udev_device); +@@ -166,7 +167,5 @@ uid_t util_lookup_user(struct udev *udev + gid_t util_lookup_group(struct udev *udev, const char *group); + int util_resolve_subsys_kernel(struct udev *udev, const char *string, + char *result, size_t maxsize, int read_value); +-unsigned long long ts_usec(const struct timespec *ts); +-unsigned long long now_usec(void); + ssize_t print_kmsg(const char *fmt, ...) __attribute__((format(printf, 1, 2))); + #endif +Index: systemd-195/src/libudev/libudev-util.c +=================================================================== +--- systemd-195.orig/src/libudev/libudev-util.c ++++ systemd-195/src/libudev/libudev-util.c +@@ -691,23 +691,6 @@ uint64_t util_string_bloom64(const char + return bits; + } + +-#define USEC_PER_SEC 1000000ULL +-#define NSEC_PER_USEC 1000ULL +-unsigned long long ts_usec(const struct timespec *ts) +-{ +- return (unsigned long long) ts->tv_sec * USEC_PER_SEC + +- (unsigned long long) ts->tv_nsec / NSEC_PER_USEC; +-} +- +-unsigned long long now_usec(void) +-{ +- struct timespec ts; +- +- if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) +- return 0; +- return ts_usec(&ts); +-} +- + ssize_t print_kmsg(const char *fmt, ...) + { + int fd; +Index: systemd-195/src/udev/udev-event.c +=================================================================== +--- systemd-195.orig/src/udev/udev-event.c ++++ systemd-195/src/udev/udev-event.c +@@ -48,7 +48,7 @@ struct udev_event *udev_event_new(struct + event->udev = udev; + udev_list_init(udev, &event->run_list, false); + event->fd_signal = -1; +- event->birth_usec = now_usec(); ++ event->birth_usec = now(CLOCK_MONOTONIC); + event->timeout_usec = 30 * 1000 * 1000; + return event; + } +@@ -466,9 +466,9 @@ static void spawn_read(struct udev_event + int i; + + if (event->timeout_usec > 0) { +- unsigned long long age_usec; ++ usec_t age_usec; + +- age_usec = now_usec() - event->birth_usec; ++ age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; + if (age_usec >= event->timeout_usec) { + log_error("timeout '%s'\n", cmd); + goto out; +@@ -554,9 +554,9 @@ static int spawn_wait(struct udev_event + int fdcount; + + if (event->timeout_usec > 0) { +- unsigned long long age_usec; ++ usec_t age_usec; + +- age_usec = now_usec() - event->birth_usec; ++ age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; + if (age_usec >= event->timeout_usec) + timeout = 1000; + else +@@ -862,7 +862,7 @@ int udev_event_execute_rules(struct udev + if (event->dev_db != NULL && udev_device_get_usec_initialized(event->dev_db) > 0) + udev_device_set_usec_initialized(event->dev, udev_device_get_usec_initialized(event->dev_db)); + else if (udev_device_get_usec_initialized(event->dev) == 0) +- udev_device_set_usec_initialized(event->dev, now_usec()); ++ udev_device_set_usec_initialized(event->dev, now(CLOCK_MONOTONIC)); + + /* (re)write database file */ + udev_device_update_db(dev); +Index: systemd-195/src/udev/udev-rules.c +=================================================================== +--- systemd-195.orig/src/udev/udev-rules.c ++++ systemd-195/src/udev/udev-rules.c +@@ -47,7 +47,7 @@ struct uid_gid { + struct udev_rules { + struct udev *udev; + char **dirs; +- unsigned long long *dirs_ts_usec; ++ usec_t *dirs_ts_usec; + int resolve_names; + + /* every key in the rules file becomes a token */ +@@ -1691,7 +1691,7 @@ bool udev_rules_check_timestamp(struct u + if (stat(rules->dirs[i], &stats) < 0) + continue; + +- if (rules->dirs_ts_usec[i] == ts_usec(&stats.st_mtim)) ++ if (rules->dirs_ts_usec[i] == timespec_load(&stats.st_mtim)) + continue; + + /* first check */ +@@ -1701,7 +1701,7 @@ bool udev_rules_check_timestamp(struct u + } + + /* update timestamp */ +- rules->dirs_ts_usec[i] = ts_usec(&stats.st_mtim); ++ rules->dirs_ts_usec[i] = timespec_load(&stats.st_mtim); + } + out: + return changed; +Index: systemd-195/src/udev/udev.h +=================================================================== +--- systemd-195.orig/src/udev/udev.h ++++ systemd-195/src/udev/udev.h +@@ -41,8 +41,8 @@ struct udev_event { + gid_t gid; + struct udev_list run_list; + int exec_delay; +- unsigned long long birth_usec; +- unsigned long long timeout_usec; ++ usec_t birth_usec; ++ usec_t timeout_usec; + int fd_signal; + unsigned int builtin_run; + unsigned int builtin_ret; +Index: systemd-195/src/udev/udevadm-settle.c +=================================================================== +--- systemd-195.orig/src/udev/udevadm-settle.c ++++ systemd-195/src/udev/udevadm-settle.c +@@ -47,9 +47,9 @@ static int adm_settle(struct udev *udev, + { "help", no_argument, NULL, 'h' }, + {} + }; +- unsigned long long start_usec = now_usec(); +- unsigned long long start = 0; +- unsigned long long end = 0; ++ usec_t start_usec = now(CLOCK_MONOTONIC); ++ usec_t start = 0; ++ usec_t end = 0; + int quiet = 0; + const char *exists = NULL; + unsigned int timeout = 120; +@@ -123,7 +123,7 @@ static int adm_settle(struct udev *udev, + start = 0; + end = 0; + } +- log_debug("start=%llu end=%llu current=%llu\n", start, end, kernel_seq); ++ log_debug("start=%llu end=%llu current=%llu\n", (unsigned long long)start, (unsigned long long)end, kernel_seq); + } else { + if (end > 0) { + log_error("seq-end needs seq-start parameter, ignoring\n"); +@@ -199,9 +199,9 @@ static int adm_settle(struct udev *udev, + } + + if (timeout > 0) { +- unsigned long long age_usec; ++ usec_t age_usec; + +- age_usec = now_usec() - start_usec; ++ age_usec = now(CLOCK_MONOTONIC) - start_usec; + if (age_usec / (1000 * 1000) >= timeout) { + struct udev_list_entry *list_entry; + +Index: systemd-195/src/udev/udevd.c +=================================================================== +--- systemd-195.orig/src/udev/udevd.c ++++ systemd-195/src/udev/udevd.c +@@ -122,7 +122,7 @@ struct worker { + struct udev_monitor *monitor; + enum worker_state state; + struct event *event; +- unsigned long long event_start_usec; ++ usec_t event_start_usec; + }; + + /* passed from worker to main process */ +@@ -378,7 +378,7 @@ out: + worker->monitor = worker_monitor; + worker->pid = pid; + worker->state = WORKER_RUNNING; +- worker->event_start_usec = now_usec(); ++ worker->event_start_usec = now(CLOCK_MONOTONIC); + worker->event = event; + event->state = EVENT_RUNNING; + udev_list_node_append(&worker->node, &worker_list); +@@ -409,7 +409,7 @@ static void event_run(struct event *even + worker_ref(worker); + worker->event = event; + worker->state = WORKER_RUNNING; +- worker->event_start_usec = now_usec(); ++ worker->event_start_usec = now(CLOCK_MONOTONIC); + event->state = EVENT_RUNNING; + return; + } +@@ -1381,7 +1381,7 @@ int main(int argc, char *argv[]) + udev_list_node_init(&worker_list); + + for (;;) { +- static unsigned long long last_usec; ++ static usec_t last_usec; + struct epoll_event ev[8]; + int fdcount; + int timeout; +@@ -1452,7 +1452,7 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now_usec() - worker->event_start_usec) > 30 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { + log_error("worker [%u] %s timeout; kill it\n", worker->pid, + worker->event ? worker->event->devpath : ""); + kill(worker->pid, SIGKILL); +@@ -1486,13 +1486,13 @@ int main(int argc, char *argv[]) + } + + /* check for changed config, every 3 seconds at most */ +- if ((now_usec() - last_usec) > 3 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * 1000 * 1000) { + if (udev_rules_check_timestamp(rules)) + reload = true; + if (udev_builtin_validate(udev)) + reload = true; + +- last_usec = now_usec(); ++ last_usec = now(CLOCK_MONOTONIC); + } + + /* reload requested, HUP signal received, rules changed, builtin changed */ +@@ -1512,7 +1512,7 @@ int main(int argc, char *argv[]) + + dev = udev_monitor_receive_device(monitor); + if (dev != NULL) { +- udev_device_set_usec_initialized(dev, now_usec()); ++ udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); + if (rules == NULL) + rules = udev_rules_new(udev, resolve_names); + if (event_queue_insert(dev) < 0) diff --git a/fix-build-glibc217.patch b/fix-build-glibc217.patch index fe35a571..d4a2d8ec 100644 --- a/fix-build-glibc217.patch +++ b/fix-build-glibc217.patch @@ -14,11 +14,11 @@ Fixes a FTBFS in Fedora Rawhide. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/configure.ac b/configure.ac -index c4638d1..71ea6ad 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -171,7 +171,7 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ +Index: systemd-195/configure.ac +=================================================================== +--- systemd-195.orig/configure.ac ++++ systemd-195/configure.ac +@@ -172,7 +172,7 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [L -Wl,-z,now]) AC_SUBST([OUR_LDFLAGS], $with_ldflags) @@ -27,6 +27,3 @@ index c4638d1..71ea6ad 100644 AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])]) save_LIBS="$LIBS" --- -1.7.10.4 - diff --git a/fix-dbus-crash.patch b/fix-dbus-crash.patch index caf53645..dcf6c8f1 100644 --- a/fix-dbus-crash.patch +++ b/fix-dbus-crash.patch @@ -15,11 +15,11 @@ Walters' comment.] src/core/dbus-manager.c | 1 - 1 file changed, 1 deletion(-) -diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c -index 2010241..3cf3e90 100644 ---- a/src/core/dbus-manager.c -+++ b/src/core/dbus-manager.c -@@ -1436,7 +1436,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, +Index: systemd-195/src/core/dbus-manager.c +=================================================================== +--- systemd-195.orig/src/core/dbus-manager.c ++++ systemd-195/src/core/dbus-manager.c +@@ -1432,7 +1432,6 @@ static DBusHandlerResult bus_manager_mes r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h); if (r < 0) { unit_file_list_free(h); @@ -27,6 +27,3 @@ index 2010241..3cf3e90 100644 return bus_send_error_reply(connection, message, NULL, r); } --- -1.7.10.4 - diff --git a/fix-logind-pty-seat.patch b/fix-logind-pty-seat.patch index 50b3a3da..079c5baf 100644 --- a/fix-logind-pty-seat.patch +++ b/fix-logind-pty-seat.patch @@ -10,11 +10,11 @@ same session as the X session itself. src/login/logind-dbus.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index 4326e5b..8b6021d 100644 ---- a/src/login/logind-dbus.c -+++ b/src/login/logind-dbus.c -@@ -415,8 +415,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess +Index: systemd-195/src/login/logind-dbus.c +=================================================================== +--- systemd-195.orig/src/login/logind-dbus.c ++++ systemd-195/src/login/logind-dbus.c +@@ -409,8 +409,7 @@ static int bus_manager_create_session(Ma if (vtnr != 0) return -EINVAL; @@ -24,6 +24,3 @@ index 4326e5b..8b6021d 100644 if (s) { if (seat_can_multi_session(s)) { --- -1.7.10.4 - diff --git a/mount-efivars.patch b/mount-efivars.patch index e13e52d1..23cb3a8c 100644 --- a/mount-efivars.patch +++ b/mount-efivars.patch @@ -24,102 +24,18 @@ Signed-off-by: Lee, Chun-Yi src/core/mount-setup.c | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) -diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c -index cc2a2d9..ce8a8e7 100644 ---- a/src/core/kmod-setup.c -+++ b/src/core/kmod-setup.c -@@ -31,9 +31,10 @@ - #include "kmod-setup.h" - - static const char * const kmod_table[] = { -- "autofs4", "/sys/class/misc/autofs", -- "ipv6", "/sys/module/ipv6", -- "unix", "/proc/net/unix" -+ "autofs4", "/sys/class/misc/autofs", -+ "ipv6", "/sys/module/ipv6", -+ "efivarfs", "/sys/firmware/efi/efivars", -+ "unix", "/proc/net/unix" - }; - - #pragma GCC diagnostic push -diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c -index 0fd112f..9894c7f 100644 ---- a/src/core/mount-setup.c -+++ b/src/core/mount-setup.c -@@ -66,6 +66,7 @@ static const MountPoint mount_table[] = { - { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, - { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true }, - { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, -+ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, - { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, - { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true }, - { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, --- -1.7.10.4 - -From c1e5704657315b436c0409e8172c1fcb76adccad Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 4 Nov 2012 16:06:27 +0100 -Subject: [PATCH] shared: add is_efiboot() - ---- - src/shared/util.c | 4 ++++ - src/shared/util.h | 2 ++ - 2 files changed, 6 insertions(+) - -diff --git a/src/shared/util.c b/src/shared/util.c -index 2a8afae..9983695 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -77,6 +77,10 @@ char **saved_argv = NULL; - static volatile unsigned cached_columns = 0; - static volatile unsigned cached_lines = 0; - -+bool is_efiboot(void) { -+ return access("/sys/firmware/efi", F_OK) >= 0; -+} -+ - size_t page_size(void) { - static __thread size_t pgsz = 0; - long r; -diff --git a/src/shared/util.h b/src/shared/util.h -index e387b12..99972cc 100644 ---- a/src/shared/util.h -+++ b/src/shared/util.h -@@ -90,6 +90,8 @@ union dirent_storage { - #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m" - #define ANSI_HIGHLIGHT_OFF "\x1B[0m" - -+bool is_efiboot(void); -+ - usec_t now(clockid_t clock); - - dual_timestamp* dual_timestamp_get(dual_timestamp *ts); --- -1.7.10.4 - -From 1022373284b7562431fb0a6dba45db8af089a0e3 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 4 Nov 2012 16:54:19 +0100 -Subject: [PATCH] kmod-setup: add conditional module loading callback - ---- - src/core/kmod-setup.c | 32 ++++++++++++++++++++------------ - 1 file changed, 20 insertions(+), 12 deletions(-) - -diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c -index ce8a8e7..383a6b2 100644 ---- a/src/core/kmod-setup.c -+++ b/src/core/kmod-setup.c -@@ -30,11 +30,17 @@ +Index: systemd-195/src/core/kmod-setup.c +=================================================================== +--- systemd-195.orig/src/core/kmod-setup.c ++++ systemd-195/src/core/kmod-setup.c +@@ -30,10 +30,16 @@ #include "kmod-setup.h" -static const char * const kmod_table[] = { -- "autofs4", "/sys/class/misc/autofs", -- "ipv6", "/sys/module/ipv6", -- "efivarfs", "/sys/firmware/efi/efivars", -- "unix", "/proc/net/unix" +- "autofs4", "/sys/class/misc/autofs", +- "ipv6", "/sys/module/ipv6", +- "unix", "/proc/net/unix" +typedef struct Kmodule { + const char *name; + const char *directory; @@ -129,12 +45,11 @@ index ce8a8e7..383a6b2 100644 +static const KModule kmod_table[] = { + { "autofs4", "/sys/class/misc/autofs", NULL } , + { "ipv6", "/sys/module/ipv6", NULL }, -+ { "efivarfs", "/sys/firmware/efi/efivars", NULL }, + { "unix", "/proc/net/unix", NULL } , }; #pragma GCC diagnostic push -@@ -42,7 +48,8 @@ static const char * const kmod_table[] = { +@@ -41,7 +47,8 @@ static const char * const kmod_table[] = static void systemd_kmod_log(void *data, int priority, const char *file, int line, const char *fn, const char *format, va_list args) { @@ -144,7 +59,7 @@ index ce8a8e7..383a6b2 100644 } #pragma GCC diagnostic pop -@@ -53,13 +60,15 @@ int kmod_setup(void) { +@@ -52,13 +59,15 @@ int kmod_setup(void) { int err; for (i = 0; i < ELEMENTSOF(kmod_table); i += 2) { @@ -162,7 +77,7 @@ index ce8a8e7..383a6b2 100644 if (!ctx) { ctx = kmod_new(NULL, NULL); -@@ -69,13 +78,12 @@ int kmod_setup(void) { +@@ -68,13 +77,12 @@ int kmod_setup(void) { } kmod_set_log_fn(ctx, systemd_kmod_log, NULL); @@ -178,7 +93,7 @@ index ce8a8e7..383a6b2 100644 continue; } -@@ -85,7 +93,7 @@ int kmod_setup(void) { +@@ -84,7 +92,7 @@ int kmod_setup(void) { else if (err == KMOD_PROBE_APPLY_BLACKLIST) log_info("Module '%s' is blacklisted", kmod_module_get_name(mod)); else @@ -187,52 +102,10 @@ index ce8a8e7..383a6b2 100644 kmod_module_unref(mod); } --- -1.7.10.4 - -From 3dfb265083347cb5700dc38f7cc0f479f378e6e9 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 4 Nov 2012 16:55:23 +0100 -Subject: [PATCH] kmod-setup: mounting efivarfs, *after* we tried to mount it, - is pointless - -The mount() system call, which we issue before loading modules, will trigger -a modprobe by the kernel and block until it returns. Trying to load it again -later, will have exactly the same result as the first time. ---- - src/core/kmod-setup.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c -index 383a6b2..20ab232 100644 ---- a/src/core/kmod-setup.c -+++ b/src/core/kmod-setup.c -@@ -39,7 +39,6 @@ typedef struct Kmodule { - static const KModule kmod_table[] = { - { "autofs4", "/sys/class/misc/autofs", NULL } , - { "ipv6", "/sys/module/ipv6", NULL }, -- { "efivarfs", "/sys/firmware/efi/efivars", NULL }, - { "unix", "/proc/net/unix", NULL } , - }; - --- -1.7.10.4 - -From 6aa220e019f9dffd96590b06b68f937985204109 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 4 Nov 2012 17:03:48 +0100 -Subject: [PATCH] mount-setup: try mounting 'efivarfs' only if the system - bootet with EFI - ---- - TODO | 3 --- - src/core/mount-setup.c | 50 ++++++++++++++++++++++++++++++++---------------- - 2 files changed, 34 insertions(+), 19 deletions(-) - -diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c -index 9894c7f..98614d0 100644 ---- a/src/core/mount-setup.c -+++ b/src/core/mount-setup.c +Index: systemd-195/src/core/mount-setup.c +=================================================================== +--- systemd-195.orig/src/core/mount-setup.c ++++ systemd-195/src/core/mount-setup.c @@ -46,14 +46,20 @@ #define TTY_GID 5 #endif @@ -256,7 +129,7 @@ index 9894c7f..98614d0 100644 } MountPoint; /* The first three entries we might need before SELinux is up. The -@@ -62,16 +68,26 @@ typedef struct MountPoint { +@@ -62,15 +68,26 @@ typedef struct MountPoint { #define N_EARLY_MOUNT 4 static const MountPoint mount_table[] = { @@ -264,7 +137,6 @@ index 9894c7f..98614d0 100644 - { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, - { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true }, - { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, -- { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, - { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, - { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true }, - { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, @@ -293,7 +165,7 @@ index 9894c7f..98614d0 100644 }; /* These are API file systems that might be mounted by other software, -@@ -119,6 +135,9 @@ static int mount_one(const MountPoint *p, bool relabel) { +@@ -118,6 +135,9 @@ static int mount_one(const MountPoint *p assert(p); @@ -303,7 +175,7 @@ index 9894c7f..98614d0 100644 /* Relabel first, just in case */ if (relabel) label_fix(p->where, true, true); -@@ -131,7 +150,7 @@ static int mount_one(const MountPoint *p, bool relabel) { +@@ -130,7 +150,7 @@ static int mount_one(const MountPoint *p return 0; /* Skip securityfs in a container */ @@ -312,7 +184,7 @@ index 9894c7f..98614d0 100644 return 0; /* The access mode here doesn't really matter too much, since -@@ -149,8 +168,8 @@ static int mount_one(const MountPoint *p, bool relabel) { +@@ -148,8 +168,8 @@ static int mount_one(const MountPoint *p p->type, p->flags, p->options) < 0) { @@ -323,7 +195,7 @@ index 9894c7f..98614d0 100644 } /* Relabel again, since we now mounted something fresh here */ -@@ -289,7 +308,6 @@ int mount_cgroup_controllers(char ***join_controllers) { +@@ -288,7 +308,6 @@ int mount_cgroup_controllers(char ***joi p.type = "cgroup"; p.options = options; p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV; @@ -331,6 +203,31 @@ index 9894c7f..98614d0 100644 r = mount_one(&p, true); free(controller); --- -1.7.10.4 - +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -75,6 +75,10 @@ char **saved_argv = NULL; + static volatile unsigned cached_columns = 0; + static volatile unsigned cached_lines = 0; + ++bool is_efiboot(void) { ++ return access("/sys/firmware/efi", F_OK) >= 0; ++} ++ + size_t page_size(void) { + static __thread size_t pgsz = 0; + long r; +Index: systemd-195/src/shared/util.h +=================================================================== +--- systemd-195.orig/src/shared/util.h ++++ systemd-195/src/shared/util.h +@@ -90,6 +90,8 @@ union dirent_storage { + #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m" + #define ANSI_HIGHLIGHT_OFF "\x1B[0m" + ++bool is_efiboot(void); ++ + usec_t now(clockid_t clock); + + dual_timestamp* dual_timestamp_get(dual_timestamp *ts); diff --git a/new-lsb-headers.patch b/new-lsb-headers.patch index 2c20a481..e48728fb 100644 --- a/new-lsb-headers.patch +++ b/new-lsb-headers.patch @@ -1,8 +1,8 @@ -Index: systemd-189/src/core/service.c +Index: systemd-195/src/core/service.c =================================================================== ---- systemd-189.orig/src/core/service.c -+++ systemd-189/src/core/service.c -@@ -145,6 +145,7 @@ static void service_init(Unit *u) { +--- systemd-195.orig/src/core/service.c ++++ systemd-195/src/core/service.c +@@ -146,6 +146,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; s->sysv_start_priority_from_rcnd = -1; @@ -10,7 +10,7 @@ Index: systemd-189/src/core/service.c #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic +@@ -906,6 +907,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -45,7 +45,7 @@ Index: systemd-189/src/core/service.c } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -935,7 +964,8 @@ static int service_load_sysv_path(Servic +@@ -963,7 +992,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -55,7 +55,7 @@ Index: systemd-189/src/core/service.c s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2107,7 +2137,7 @@ static void service_enter_running(Servic +@@ -2138,7 +2168,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -64,10 +64,10 @@ Index: systemd-189/src/core/service.c s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -Index: systemd-189/src/core/service.h +Index: systemd-195/src/core/service.h =================================================================== ---- systemd-189.orig/src/core/service.h -+++ systemd-189/src/core/service.h +--- systemd-195.orig/src/core/service.h ++++ systemd-195/src/core/service.h @@ -176,6 +176,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; diff --git a/support-sysvinit.patch b/support-sysvinit.patch index 98c91ce2..2057a634 100644 --- a/support-sysvinit.patch +++ b/support-sysvinit.patch @@ -1,8 +1,8 @@ -Index: systemd-36/src/systemctl.c +Index: systemd-195/src/systemctl/systemctl.c =================================================================== ---- systemd-36.orig/src/systemctl/systemctl.c -+++ systemd-36/src/systemctl/systemctl.c -@@ -4672,10 +4672,13 @@ static int parse_argv(int argc, char *ar +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -4678,10 +4678,13 @@ static int parse_argv(int argc, char *ar /* Hmm, so some other init system is * running, we need to forward this * request to it. For now we simply diff --git a/sync-on-shutdown.patch b/sync-on-shutdown.patch index 04537ea9..6443fb48 100644 --- a/sync-on-shutdown.patch +++ b/sync-on-shutdown.patch @@ -14,11 +14,11 @@ disks/read-only remount them anyway before going down. src/core/shutdown.c | 7 +++++++ 2 files changed, 8 insertions(+) -diff --git a/src/core/service.c b/src/core/service.c -index cf08485..df72aba 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2485,6 +2485,7 @@ static int service_start_limit_test(Service *s) { +Index: systemd-195/src/core/service.c +=================================================================== +--- systemd-195.orig/src/core/service.c ++++ systemd-195/src/core/service.c +@@ -2526,6 +2526,7 @@ static int service_start_limit_test(Serv case SERVICE_START_LIMIT_REBOOT_IMMEDIATE: log_warning("%s start request repeated too quickly, rebooting immediately.", UNIT(s)->id); @@ -26,10 +26,10 @@ index cf08485..df72aba 100644 reboot(RB_AUTOBOOT); break; -diff --git a/src/core/shutdown.c b/src/core/shutdown.c -index cc8c57b..b59aef1 100644 ---- a/src/core/shutdown.c -+++ b/src/core/shutdown.c +Index: systemd-195/src/core/shutdown.c +=================================================================== +--- systemd-195.orig/src/core/shutdown.c ++++ systemd-195/src/core/shutdown.c @@ -273,6 +273,13 @@ int main(int argc, char *argv[]) { } } @@ -44,6 +44,3 @@ index cc8c57b..b59aef1 100644 if (cmd == LINUX_REBOOT_CMD_KEXEC) { if (!in_container) { --- -1.7.10.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 27ae0040..a0a94445 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Wed Jan 9 09:43:15 UTC 2013 - rmilasan@suse.com + +- udev: path_id - handle Hyper-V devices + add: 1008-udev-path_id-handle-Hyper-V-devices.patch +- keymap: Update the list of Samsung Series 9 models + add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +- keymap: Add Samsung 700T + add: 1010-keymap-Add-Samsung-700T.patch +- libudev: avoid leak during realloc failure + add: 1011-libudev-avoid-leak-during-realloc-failure.patch +- libudev: do not resolve $attr{device} symlinks + add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch +- libudev: validate 'udev' argument to udev_enumerate_new() + add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +- udev: fix whitespace + add: 1014-udev-fix-whitespace.patch +- udev: properly handle symlink removal by 'change' event + add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch +- udev: builtin - do not fail builtin initialization if one of + them returns an error + add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +- udev: use usec_t and now() + add: 1017-udev-use-usec_t-and-now.patch + ------------------------------------------------------------------- Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com @@ -12,8 +37,8 @@ Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - detect-btrfs-ssd.patch: Fix btrfs detection on SSD. - timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. + closing an non-existent dbus connection and getting assertion + failures. ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index b7be3679..2b491b12 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -178,6 +178,26 @@ Patch1005: 1005-udev-fix-sg-autoload-regression.patch Patch1006: 1006-fix-devname-prefix.patch # PATCH-FIX-UPSTREAM 1007-udevd-add-missing-to-getopt_long-e.patch Patch1007: 1007-udevd-add-missing-to-getopt_long-e.patch +# PATCH-FIX-UPSTREAM 1008-udev-path_id-handle-Hyper-V-devices.patch +Patch1008: 1008-udev-path_id-handle-Hyper-V-devices.patch +# PATCH-FIX-UPSTREAM 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +Patch1009: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +# PATCH-FIX-UPSTREAM 1010-keymap-Add-Samsung-700T.patch +Patch1010: 1010-keymap-Add-Samsung-700T.patch +# PATCH-FIX-UPSTREAM 1011-libudev-avoid-leak-during-realloc-failure.patch +Patch1011: 1011-libudev-avoid-leak-during-realloc-failure.patch +# PATCH-FIX-UPSTREAM 1012-libudev-do-not-resolve-attr-device-symlinks.patch +Patch1012: 1012-libudev-do-not-resolve-attr-device-symlinks.patch +# PATCH-FIX-UPSTREAM 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +Patch1013: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +# PATCH-FIX-UPSTREAM 1014-udev-fix-whitespace.patch +Patch1014: 1014-udev-fix-whitespace.patch +# PATCH-FIX-UPSTREAM 1015-udev-properly-handle-symlink-removal-by-change-event.patch +Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch +# PATCH-FIX-UPSTREAM 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +# PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch +Patch1017: 1017-udev-use-usec_t-and-now.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -345,6 +365,16 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 +%patch1008 -p1 +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 +%patch1013 -p1 +%patch1014 -p1 +%patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 #systemd %patch1 -p1 diff --git a/systemd-numlock-suse.patch b/systemd-numlock-suse.patch index 2c90cde4..245a4bc3 100644 --- a/systemd-numlock-suse.patch +++ b/systemd-numlock-suse.patch @@ -1,7 +1,7 @@ -Index: systemd-190/src/vconsole/vconsole-setup.c +Index: systemd-195/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-190.orig/src/vconsole/vconsole-setup.c -+++ systemd-190/src/vconsole/vconsole-setup.c +--- systemd-195.orig/src/vconsole/vconsole-setup.c ++++ systemd-195/src/vconsole/vconsole-setup.c @@ -287,12 +287,14 @@ int main(int argc, char **argv) { char *vc_kbd_delay = NULL; char *vc_kbd_rate = NULL; @@ -17,7 +17,7 @@ Index: systemd-190/src/vconsole/vconsole-setup.c int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; -@@ -388,6 +390,37 @@ int main(int argc, char **argv) { +@@ -380,6 +382,37 @@ int main(int argc, char **argv) { vc_keymap = t; } disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -55,7 +55,7 @@ Index: systemd-190/src/vconsole/vconsole-setup.c #elif defined(TARGET_SUSE) r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -@@ -395,6 +428,7 @@ int main(int argc, char **argv) { +@@ -387,6 +420,7 @@ int main(int argc, char **argv) { "KBD_DELAY", &vc_kbd_delay, "KBD_RATE", &vc_kbd_rate, "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, @@ -63,7 +63,7 @@ Index: systemd-190/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -565,6 +599,10 @@ int main(int argc, char **argv) { +@@ -557,6 +591,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -74,11 +74,11 @@ Index: systemd-190/src/vconsole/vconsole-setup.c #ifdef TARGET_SUSE if (compose_table_pid > 0) -Index: systemd-190/Makefile.am +Index: systemd-195/Makefile.am =================================================================== ---- systemd-190.orig/Makefile.am -+++ systemd-190/Makefile.am -@@ -1989,6 +1989,19 @@ dist_udevrules_DATA += \ +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -2017,6 +2017,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -98,11 +98,11 @@ Index: systemd-190/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-190/configure.ac +Index: systemd-195/configure.ac =================================================================== ---- systemd-190.orig/configure.ac -+++ systemd-190/configure.ac -@@ -598,6 +598,13 @@ fi +--- systemd-195.orig/configure.ac ++++ systemd-195/configure.ac +@@ -660,6 +660,13 @@ fi with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution]) @@ -116,10 +116,10 @@ Index: systemd-190/configure.ac # Location of the init scripts as mandated by LSB SYSTEM_SYSVINIT_PATH=/etc/init.d SYSTEM_SYSVRCND_PATH=/etc/rc.d -Index: systemd-190/rules/73-seat-numlock.rules +Index: systemd-195/rules/73-seat-numlock.rules =================================================================== --- /dev/null -+++ systemd-190/rules/73-seat-numlock.rules ++++ systemd-195/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of systemd. +# @@ -129,10 +129,10 @@ Index: systemd-190/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-190/src/login/numlock-on.c +Index: systemd-195/src/login/numlock-on.c =================================================================== --- /dev/null -+++ systemd-190/src/login/numlock-on.c ++++ systemd-195/src/login/numlock-on.c @@ -0,0 +1,36 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -170,10 +170,10 @@ Index: systemd-190/src/login/numlock-on.c + return EX_IOERR; + return execv(args[0], args); +} -Index: systemd-190/units/systemd-vconsole-setup.service.in +Index: systemd-195/units/systemd-vconsole-setup.service.in =================================================================== ---- systemd-190.orig/units/systemd-vconsole-setup.service.in -+++ systemd-190/units/systemd-vconsole-setup.service.in +--- systemd-195.orig/units/systemd-vconsole-setup.service.in ++++ systemd-195/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target diff --git a/systemd.changes b/systemd.changes index 3d94cc4f..a5a1a686 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com + +- udev: path_id - handle Hyper-V devices + add: 1008-udev-path_id-handle-Hyper-V-devices.patch +- keymap: Update the list of Samsung Series 9 models + add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +- keymap: Add Samsung 700T + add: 1010-keymap-Add-Samsung-700T.patch +- libudev: avoid leak during realloc failure + add: 1011-libudev-avoid-leak-during-realloc-failure.patch +- libudev: do not resolve $attr{device} symlinks + add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch +- libudev: validate 'udev' argument to udev_enumerate_new() + add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +- udev: fix whitespace + add: 1014-udev-fix-whitespace.patch +- udev: properly handle symlink removal by 'change' event + add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch +- udev: builtin - do not fail builtin initialization if one of + them returns an error + add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +- udev: use usec_t and now() + add: 1017-udev-use-usec_t-and-now.patch + ------------------------------------------------------------------- Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com @@ -12,8 +37,8 @@ Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - detect-btrfs-ssd.patch: Fix btrfs detection on SSD. - timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. + closing an non-existent dbus connection and getting assertion + failures. ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index 55c77bdb..1e0e3def 100644 --- a/systemd.spec +++ b/systemd.spec @@ -173,6 +173,26 @@ Patch1005: 1005-udev-fix-sg-autoload-regression.patch Patch1006: 1006-fix-devname-prefix.patch # PATCH-FIX-UPSTREAM 1007-udevd-add-missing-to-getopt_long-e.patch Patch1007: 1007-udevd-add-missing-to-getopt_long-e.patch +# PATCH-FIX-UPSTREAM 1008-udev-path_id-handle-Hyper-V-devices.patch +Patch1008: 1008-udev-path_id-handle-Hyper-V-devices.patch +# PATCH-FIX-UPSTREAM 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +Patch1009: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +# PATCH-FIX-UPSTREAM 1010-keymap-Add-Samsung-700T.patch +Patch1010: 1010-keymap-Add-Samsung-700T.patch +# PATCH-FIX-UPSTREAM 1011-libudev-avoid-leak-during-realloc-failure.patch +Patch1011: 1011-libudev-avoid-leak-during-realloc-failure.patch +# PATCH-FIX-UPSTREAM 1012-libudev-do-not-resolve-attr-device-symlinks.patch +Patch1012: 1012-libudev-do-not-resolve-attr-device-symlinks.patch +# PATCH-FIX-UPSTREAM 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +Patch1013: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +# PATCH-FIX-UPSTREAM 1014-udev-fix-whitespace.patch +Patch1014: 1014-udev-fix-whitespace.patch +# PATCH-FIX-UPSTREAM 1015-udev-properly-handle-symlink-removal-by-change-event.patch +Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch +# PATCH-FIX-UPSTREAM 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +# PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch +Patch1017: 1017-udev-use-usec_t-and-now.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -340,6 +360,16 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 +%patch1008 -p1 +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 +%patch1013 -p1 +%patch1014 -p1 +%patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 #systemd %patch1 -p1 diff --git a/timedated-donot-close-bogus-dbus-connection.patch b/timedated-donot-close-bogus-dbus-connection.patch index 6ee6f3bc..7757c346 100644 --- a/timedated-donot-close-bogus-dbus-connection.patch +++ b/timedated-donot-close-bogus-dbus-connection.patch @@ -12,11 +12,11 @@ Date: Mon Dec 3 00:50:55 2012 +0000 process 14920: arguments to dbus_connection_unref() were incorrect, assertion "connection != NULL" failed in file ../../dbus/dbus-connection.c line 2776. This is normally a bug in some application using the D-Bus library. -diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c -index 40ba255..784dadc 100644 ---- a/src/timedate/timedated.c -+++ b/src/timedate/timedated.c -@@ -936,7 +936,7 @@ static int connect_bus(DBusConnection **_bus) { +Index: systemd-195/src/timedate/timedated.c +=================================================================== +--- systemd-195.orig/src/timedate/timedated.c ++++ systemd-195/src/timedate/timedated.c +@@ -943,7 +943,7 @@ static int connect_bus(DBusConnection ** if (!bus) { log_error("Failed to get system D-Bus connection: %s", bus_error_message(&error)); r = -ECONNREFUSED; @@ -25,7 +25,7 @@ index 40ba255..784dadc 100644 } dbus_connection_set_exit_on_disconnect(bus, FALSE); -@@ -968,7 +968,7 @@ static int connect_bus(DBusConnection **_bus) { +@@ -975,7 +975,7 @@ static int connect_bus(DBusConnection ** fail: dbus_connection_close(bus); dbus_connection_unref(bus); From 51f7dde607e88bb97b9c6677f150bb7e57076c2837b3a3d2ea13a5d87dc5eca6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 10 Jan 2013 21:35:19 +0000 Subject: [PATCH 118/991] Accepting request 147967 from Base:System - Add multiple-sulogin.patch: allows multiple sulogin instance (bnc#793182). (please forward to Factory) (forwarded request 147937 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/147967 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=121 --- multiple-sulogin.patch | 36 ++++++++++++++++++++++++++++++++++++ systemd-mini.changes | 12 +++++++++--- systemd-mini.spec | 5 ++++- systemd.changes | 6 ++++++ systemd.spec | 3 +++ 5 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 multiple-sulogin.patch diff --git a/multiple-sulogin.patch b/multiple-sulogin.patch new file mode 100644 index 00000000..96619d43 --- /dev/null +++ b/multiple-sulogin.patch @@ -0,0 +1,36 @@ +Index: systemd-195/units/getty@.service.m4 +=================================================================== +--- systemd-195.orig/units/getty@.service.m4 ++++ systemd-195/units/getty@.service.m4 +@@ -8,6 +8,7 @@ + [Unit] + Description=Getty on %I + Documentation=man:agetty(8) ++Conflicts=rescue.service + After=systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`TARGET_FEDORA', + After=rc-local.service +Index: systemd-195/units/rescue.target +=================================================================== +--- systemd-195.orig/units/rescue.target ++++ systemd-195/units/rescue.target +@@ -10,6 +10,7 @@ Description=Rescue Mode + Documentation=man:systemd.special(7) + Requires=sysinit.target rescue.service + After=sysinit.target rescue.service ++Conflicts=getty.target + AllowIsolate=yes + + [Install] +Index: systemd-195/units/serial-getty@.service.m4 +=================================================================== +--- systemd-195.orig/units/serial-getty@.service.m4 ++++ systemd-195/units/serial-getty@.service.m4 +@@ -9,6 +9,7 @@ + Description=Serial Getty on %I + Documentation=man:agetty(8) man:systemd-getty-generator(8) + BindsTo=dev-%i.device ++Conflicts=rescue.service + After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`TARGET_FEDORA', + After=rc-local.service diff --git a/systemd-mini.changes b/systemd-mini.changes index a0a94445..236dff45 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,5 +1,11 @@ ------------------------------------------------------------------- -Wed Jan 9 09:43:15 UTC 2013 - rmilasan@suse.com +Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com + +- Add multiple-sulogin.patch: allows multiple sulogin instance + (bnc#793182). + +------------------------------------------------------------------- +Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com - udev: path_id - handle Hyper-V devices add: 1008-udev-path_id-handle-Hyper-V-devices.patch @@ -21,7 +27,7 @@ Wed Jan 9 09:43:15 UTC 2013 - rmilasan@suse.com them returns an error add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch - udev: use usec_t and now() - add: 1017-udev-use-usec_t-and-now.patch + add: 1017-udev-use-usec_t-and-now.patch ------------------------------------------------------------------- Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com @@ -29,7 +35,7 @@ Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and - systemd patches. + systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). ------------------------------------------------------------------- diff --git a/systemd-mini.spec b/systemd-mini.spec index 2b491b12..cd7f7422 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -135,6 +135,8 @@ Patch64: fix-permissions-btmp.patch Patch71: fix-debugshell.patch # PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype Patch72: handle-root-uses-lang.patch +# PATCH-FIX-OPENSUSE multiple-sulogin.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin +Patch76: multiple-sulogin.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -197,7 +199,7 @@ Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch # PATCH-FIX-UPSTREAM 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch # PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch -Patch1017: 1017-udev-use-usec_t-and-now.patch +Patch1017: 1017-udev-use-usec_t-and-now.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -414,6 +416,7 @@ cp %{SOURCE7} m4/ %patch73 -p1 %patch74 -p1 %patch75 -p1 +%patch76 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index a5a1a686..236dff45 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com + +- Add multiple-sulogin.patch: allows multiple sulogin instance + (bnc#793182). + ------------------------------------------------------------------- Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 1e0e3def..36fe8f60 100644 --- a/systemd.spec +++ b/systemd.spec @@ -130,6 +130,8 @@ Patch64: fix-permissions-btmp.patch Patch71: fix-debugshell.patch # PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype Patch72: handle-root-uses-lang.patch +# PATCH-FIX-OPENSUSE multiple-sulogin.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin +Patch76: multiple-sulogin.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -409,6 +411,7 @@ cp %{SOURCE7} m4/ %patch73 -p1 %patch74 -p1 %patch75 -p1 +%patch76 -p1 %build autoreconf -fiv From 22e9bed03aab27f45c87bb26e0301715aa949a2eeb7e711caa6b0072e28d54d9 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 24 Jan 2013 09:41:58 +0000 Subject: [PATCH 119/991] Accepting request 149704 from Base:System - Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly (bnc#798620). - Update crypt-loop-file.patch to correctly detect crypto loop files (bnc#799514). - Add journalctl-remove-leftover-message.patch: remove debug message in systemctl. - Add job-avoid-recursion-when-cancelling.patch: prevent potential recursion when cancelling a service. - Add sysctl-parse-all-keys.patch: ensure sysctl file is fully parsed. - Add journal-fix-cutoff-max-date.patch: fix computation of cutoff max date for journal. - Add reword-rescue-mode-hints.patch: reword rescue prompt. - Add improve-overflow-checks.patch: improve time overflow checks. - Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour with symlinks. - Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure hostnamectl requires an argument when called with set-hostname option. - Add agetty-overrides-term.patch: pass correctly terminal type to agetty. - Add check-for-empty-strings-in-strto-conversions.patch: better check for empty strings in strto* conversions. - Add strv-cleanup-error-path-loops.patch: cleanup strv on error path. - Add cryptsetup-handle-plain.patch: correctly handle "plain" option in cryptsetup. - Add fstab-generator-improve-error-message.patch: improve error message in fstab-generator. - Add delta-accept-t-option.patch: accept -t option in (forwarded request 149703 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/149704 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=122 --- agetty-overrides-term.patch | 47 +++ ...r-empty-strings-in-strto-conversions.patch | 95 ++++++ ...terpret-escaped-semicolon-as-escaped.patch | 30 ++ ...-load-fragment-improve-error-message.patch | 210 ++++++++++++++ coredumpctl-fix-crash.patch | 22 ++ ...tor-state-file-name-in-error-message.patch | 34 +++ crypsetup-handle-nofail.patch | 29 ++ crypt-loop-file.patch | 26 +- cryptsetup-handle-plain.patch | 71 +++++ delta-accept-t-option.patch | 27 ++ do-not-make-sockets-dependent-on-lo.patch | 27 ++ fix-bad-mem-access.patch | 24 ++ fix-potential-bad-mem-access.patch | 48 +++ fix-swap-behaviour-with-symlinks.patch | 33 +++ ...enerator-error-message-on-duplicates.patch | 50 ++++ fstab-generator-improve-error-message.patch | 115 ++++++++ ...enerator-properly-detect-bind-mounts.patch | 25 ++ highlight-ordering-cycle-deletions.patch | 32 ++ hostnamectl-fix-parsing-no-ask-password.patch | 27 ++ ...tl-fix-set-hostname-with-no-argument.patch | 26 ++ improve-overflow-checks.patch | 105 +++++++ job-avoid-recursion-when-cancelling.patch | 48 +++ journal-fix-cutoff-max-date.patch | 34 +++ ...l-send-always-send-syslog_identifier.patch | 65 +++++ journalctl-quit-on-io-error.patch | 38 +++ journalctl-remove-leftover-message.patch | 25 ++ journalctl-require-argument-for-priority | 27 ++ kmod-fix-builtin-typo.patch | 25 ++ ...validate-argument-udev_enumerate_new.patch | 26 ++ localectl-fix-assertion.patch | 27 ++ ...pport-systems-without-locale-archive.patch | 163 +++++++++++ ...d-capability-making-seats-without-fb.patch | 59 ++++ ...-non-tty-non-x11-session-on-shutdown.patch | 33 +++ ...dle-ssh-logins-without-pam-tty-field.patch | 57 ++++ parse-multiline-env-file.patch | 157 ++++++++++ path-util-fix-potential-crash.patch | 27 ++ reword-rescue-mode-hints.patch | 30 ++ ...king-ignore-exit-status-main-process.patch | 48 +++ ...dont-force-mnt-force-on-final-umount.patch | 35 +++ ...re-loop-devices-without-backing-file.patch | 37 +++ shutdown-improvements.patch | 273 ++++++++++++++++++ socket-improve-error-message.patch | 26 ++ socket-verbose-error-message.patch | 32 ++ strv-cleanup-error-path-loops.patch | 238 +++++++++++++++ sysctl-parse-all-keys.patch | 26 ++ ...ctl-no-assert-on-reboot-without-dbus.patch | 28 ++ systemctl-options.patch | 49 ++++ ...l-verbose-message-on-missing-install.patch | 39 +++ systemd-cgls-fix-piping-output.patch | 37 +++ systemd-mini.changes | 92 ++++++ systemd-mini.spec | 135 +++++++++ systemd.changes | 92 ++++++ systemd.spec | 135 +++++++++ 53 files changed, 3259 insertions(+), 7 deletions(-) create mode 100644 agetty-overrides-term.patch create mode 100644 check-for-empty-strings-in-strto-conversions.patch create mode 100644 core-interpret-escaped-semicolon-as-escaped.patch create mode 100644 core-load-fragment-improve-error-message.patch create mode 100644 coredumpctl-fix-crash.patch create mode 100644 crypsetup-generator-state-file-name-in-error-message.patch create mode 100644 crypsetup-handle-nofail.patch create mode 100644 cryptsetup-handle-plain.patch create mode 100644 delta-accept-t-option.patch create mode 100644 do-not-make-sockets-dependent-on-lo.patch create mode 100644 fix-bad-mem-access.patch create mode 100644 fix-potential-bad-mem-access.patch create mode 100644 fix-swap-behaviour-with-symlinks.patch create mode 100644 fstab-generator-error-message-on-duplicates.patch create mode 100644 fstab-generator-improve-error-message.patch create mode 100644 fstab-generator-properly-detect-bind-mounts.patch create mode 100644 highlight-ordering-cycle-deletions.patch create mode 100644 hostnamectl-fix-parsing-no-ask-password.patch create mode 100644 hostnamectl-fix-set-hostname-with-no-argument.patch create mode 100644 improve-overflow-checks.patch create mode 100644 job-avoid-recursion-when-cancelling.patch create mode 100644 journal-fix-cutoff-max-date.patch create mode 100644 journal-send-always-send-syslog_identifier.patch create mode 100644 journalctl-quit-on-io-error.patch create mode 100644 journalctl-remove-leftover-message.patch create mode 100644 journalctl-require-argument-for-priority create mode 100644 kmod-fix-builtin-typo.patch create mode 100644 libudev-validate-argument-udev_enumerate_new.patch create mode 100644 localectl-fix-assertion.patch create mode 100644 localectl-support-systems-without-locale-archive.patch create mode 100644 logind-capability-making-seats-without-fb.patch create mode 100644 logind-ignore-non-tty-non-x11-session-on-shutdown.patch create mode 100644 pam-properly-handle-ssh-logins-without-pam-tty-field.patch create mode 100644 parse-multiline-env-file.patch create mode 100644 path-util-fix-potential-crash.patch create mode 100644 reword-rescue-mode-hints.patch create mode 100644 service-forking-ignore-exit-status-main-process.patch create mode 100644 shutdown-dont-force-mnt-force-on-final-umount.patch create mode 100644 shutdown-ignore-loop-devices-without-backing-file.patch create mode 100644 shutdown-improvements.patch create mode 100644 socket-improve-error-message.patch create mode 100644 socket-verbose-error-message.patch create mode 100644 strv-cleanup-error-path-loops.patch create mode 100644 sysctl-parse-all-keys.patch create mode 100644 systemctl-no-assert-on-reboot-without-dbus.patch create mode 100644 systemctl-options.patch create mode 100644 systemctl-verbose-message-on-missing-install.patch create mode 100644 systemd-cgls-fix-piping-output.patch diff --git a/agetty-overrides-term.patch b/agetty-overrides-term.patch new file mode 100644 index 00000000..62aee284 --- /dev/null +++ b/agetty-overrides-term.patch @@ -0,0 +1,47 @@ +From 2161de72c517d34d1ceb9b4c1a300f0b54ce5a9c Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Mon, 29 Oct 2012 21:59:34 +0100 +Subject: [PATCH] units: agetty overrides TERM + +Environment=TERM=... has no effect on agetty who sets it by itself. To +really set TERM to a specified value, it has to be given on the command +line. + +https://bugzilla.redhat.com/show_bug.cgi?id=870622 +--- + units/getty@.service.m4 | 3 +-- + units/serial-getty@.service.m4 | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index b5875ce..810c23f 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -43,9 +43,8 @@ IgnoreOnIsolate=yes + ConditionPathExists=/dev/tty0 + + [Service] +-Environment=TERM=linux + # the VT is cleared by TTYVTDisallocate +-ExecStart=-/sbin/agetty --noclear %I 38400 ++ExecStart=-/sbin/agetty --noclear %I 38400 linux + Type=idle + Restart=always + RestartSec=0 +diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 +index a6bbd71..c411dc1 100644 +--- a/units/serial-getty@.service.m4 ++++ b/units/serial-getty@.service.m4 +@@ -39,8 +39,7 @@ Before=getty.target + IgnoreOnIsolate=yes + + [Service] +-Environment=TERM=vt102 +-ExecStart=-/sbin/agetty -s %I 115200,38400,9600 ++ExecStart=-/sbin/agetty -s %I 115200,38400,9600 vt102 + Type=idle + Restart=always + RestartSec=0 +-- +1.7.10.4 + diff --git a/check-for-empty-strings-in-strto-conversions.patch b/check-for-empty-strings-in-strto-conversions.patch new file mode 100644 index 00000000..a0aff571 --- /dev/null +++ b/check-for-empty-strings-in-strto-conversions.patch @@ -0,0 +1,95 @@ +From f3910003bce32ebdc1dbb71fd9ca2d4b8352b563 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 30 Oct 2012 10:29:40 +0100 +Subject: [PATCH] shared, libsystemd-daemon: check for empty strings in + strto*l conversions + +strtol() and friends may set EINVAL if no conversion was performed, but +they are not required to do so. In practice they don't. We need to check +for it. + +https://bugzilla.redhat.com/show_bug.cgi?id=870577 +--- + src/libsystemd-daemon/sd-daemon.c | 4 ++-- + src/shared/conf-parser.c | 2 +- + src/shared/util.c | 8 ++++---- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/libsystemd-daemon/sd-daemon.c b/src/libsystemd-daemon/sd-daemon.c +index 863ac75..480db3b 100644 +--- a/src/libsystemd-daemon/sd-daemon.c ++++ b/src/libsystemd-daemon/sd-daemon.c +@@ -88,7 +88,7 @@ _sd_export_ int sd_listen_fds(int unset_environment) { + goto finish; + } + +- if (!p || *p || l <= 0) { ++ if (!p || p == e || *p || l <= 0) { + r = -EINVAL; + goto finish; + } +@@ -112,7 +112,7 @@ _sd_export_ int sd_listen_fds(int unset_environment) { + goto finish; + } + +- if (!p || *p) { ++ if (!p || p == e || *p) { + r = -EINVAL; + goto finish; + } +diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c +index 4bf3147..9f5c07c 100644 +--- a/src/shared/conf-parser.c ++++ b/src/shared/conf-parser.c +@@ -865,7 +865,7 @@ int config_parse_mode( + + errno = 0; + l = strtol(rvalue, &x, 8); +- if (!x || *x || errno) { ++ if (!x || x == rvalue || *x || errno) { + log_error("[%s:%u] Failed to parse mode value, ignoring: %s", filename, line, rvalue); + return 0; + } +diff --git a/src/shared/util.c b/src/shared/util.c +index 8ec83e4..23832fe 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -377,7 +377,7 @@ int safe_atou(const char *s, unsigned *ret_u) { + errno = 0; + l = strtoul(s, &x, 0); + +- if (!x || *x || errno) ++ if (!x || x == s || *x || errno) + return errno ? -errno : -EINVAL; + + if ((unsigned long) (unsigned) l != l) +@@ -397,7 +397,7 @@ int safe_atoi(const char *s, int *ret_i) { + errno = 0; + l = strtol(s, &x, 0); + +- if (!x || *x || errno) ++ if (!x || x == s || *x || errno) + return errno ? -errno : -EINVAL; + + if ((long) (int) l != l) +@@ -417,7 +417,7 @@ int safe_atollu(const char *s, long long unsigned *ret_llu) { + errno = 0; + l = strtoull(s, &x, 0); + +- if (!x || *x || errno) ++ if (!x || x == s || *x || errno) + return errno ? -errno : -EINVAL; + + *ret_llu = l; +@@ -434,7 +434,7 @@ int safe_atolli(const char *s, long long int *ret_lli) { + errno = 0; + l = strtoll(s, &x, 0); + +- if (!x || *x || errno) ++ if (!x || x == s || *x || errno) + return errno ? -errno : -EINVAL; + + *ret_lli = l; +-- +1.7.10.4 + diff --git a/core-interpret-escaped-semicolon-as-escaped.patch b/core-interpret-escaped-semicolon-as-escaped.patch new file mode 100644 index 00000000..945514a7 --- /dev/null +++ b/core-interpret-escaped-semicolon-as-escaped.patch @@ -0,0 +1,30 @@ +From 7e1a84f55244ca78093b1dabc58683bc0e7f4304 Mon Sep 17 00:00:00 2001 +From: Oleksii Shevchuk +Date: Sat, 3 Nov 2012 21:52:02 +0200 +Subject: [PATCH] core: interpret \; token in ExecStart as escaped ; + +Some commands (like 'find') take a semicolon as separate arg. With +current parser implementation there is no way to pass one. + +Patch adds token \; +--- + src/core/load-fragment.c | 2 ++ + src/test/test-unit-file.c | 10 ++++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c +index 5803044..4dc5c52 100644 +--- a/src/core/load-fragment.c ++++ b/src/core/load-fragment.c +@@ -483,6 +483,8 @@ int config_parse_exec( + FOREACH_WORD_QUOTED(w, l, rvalue, state) { + if (strncmp(w, ";", MAX(l, 1U)) == 0) + break; ++ else if (strncmp(w, "\\;", MAX(l, 1U)) == 0) ++ w ++; + + if (honour_argv0 && w == rvalue) { + assert(!path); +-- +1.7.10.4 + diff --git a/core-load-fragment-improve-error-message.patch b/core-load-fragment-improve-error-message.patch new file mode 100644 index 00000000..f860a4cb --- /dev/null +++ b/core-load-fragment-improve-error-message.patch @@ -0,0 +1,210 @@ +From c040936be2a4c77e9465cffae47d77d5ec14fb49 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 19 Nov 2012 16:02:45 +0100 +Subject: [PATCH] core/load-fragment: be more precise in error messages + +Whenever a message fails, mention the offending word, instead +of just giving the whole line. If one bad word causes just this +word to be rejected, print only the word. If one bad word causes +the whole line to be rejected, print the whole line too. + +https://bugs.freedesktop.org/show_bug.cgi?id=56874 +--- + src/core/load-fragment.c | 69 +++++++++++++++++++++------------------------- + 1 file changed, 31 insertions(+), 38 deletions(-) + +diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c +index 6759255..01f9484 100644 +--- a/src/core/load-fragment.c ++++ b/src/core/load-fragment.c +@@ -86,7 +86,7 @@ int config_parse_unit_deps( + assert(rvalue); + + FOREACH_WORD_QUOTED(w, l, rvalue, state) { +- char *t, *k; ++ char _cleanup_free_ *t = NULL, *k = NULL; + int r; + + t = strndup(w, l); +@@ -94,15 +94,13 @@ int config_parse_unit_deps( + return -ENOMEM; + + k = unit_name_printf(u, t); +- free(t); + if (!k) + return -ENOMEM; + + r = unit_add_dependency_by_name(u, d, k, NULL, true); + if (r < 0) +- log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", filename, line, k, strerror(-r)); +- +- free(k); ++ log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", ++ filename, line, k, strerror(-r)); + } + + return 0; +@@ -757,22 +755,25 @@ int config_parse_exec_cpu_affinity( + assert(data); + + FOREACH_WORD_QUOTED(w, l, rvalue, state) { +- char *t; ++ char _cleanup_free_ *t = NULL; + int r; + unsigned cpu; + +- if (!(t = strndup(w, l))) ++ t = strndup(w, l); ++ if (!t) + return -ENOMEM; + + r = safe_atou(t, &cpu); +- free(t); + +- if (!(c->cpuset)) +- if (!(c->cpuset = cpu_set_malloc(&c->cpuset_ncpus))) ++ if (!c->cpuset) { ++ c->cpuset = cpu_set_malloc(&c->cpuset_ncpus); ++ if (!c->cpuset) + return -ENOMEM; ++ } + + if (r < 0 || cpu >= c->cpuset_ncpus) { +- log_error("[%s:%u] Failed to parse CPU affinity, ignoring: %s", filename, line, rvalue); ++ log_error("[%s:%u] Failed to parse CPU affinity %s, ignoring: %s", ++ filename, line, t, rvalue); + return 0; + } + +@@ -849,7 +850,8 @@ int config_parse_exec_secure_bits( + else if (first_word(w, "noroot-locked")) + c->secure_bits |= SECURE_NOROOT_LOCKED; + else { +- log_error("[%s:%u] Failed to parse secure bits, ignoring: %s", filename, line, rvalue); ++ log_error("[%s:%u] Failed to parse secure bits, ignoring: %s", ++ filename, line, rvalue); + return 0; + } + } +@@ -890,7 +892,7 @@ int config_parse_bounding_set( + * interface. */ + + FOREACH_WORD_QUOTED(w, l, rvalue, state) { +- char *t; ++ char _cleanup_free_ *t = NULL; + int r; + cap_value_t cap; + +@@ -899,10 +901,9 @@ int config_parse_bounding_set( + return -ENOMEM; + + r = cap_from_name(t, &cap); +- free(t); +- + if (r < 0) { +- log_error("[%s:%u] Failed to parse capability bounding set, ignoring: %s", filename, line, rvalue); ++ log_error("[%s:%u] Failed to parse capability in bounding set, ignoring: %s", ++ filename, line, t); + continue; + } + +@@ -968,7 +969,7 @@ int config_parse_unit_cgroup( + char *state; + + FOREACH_WORD_QUOTED(w, l, rvalue, state) { +- char *t, *k; ++ char _cleanup_free_ *t = NULL, *k = NULL, *ku = NULL; + int r; + + t = strndup(w, l); +@@ -976,22 +977,17 @@ int config_parse_unit_cgroup( + return -ENOMEM; + + k = unit_full_printf(u, t); +- free(t); +- + if (!k) + return -ENOMEM; + +- t = cunescape(k); +- free(k); +- +- if (!t) ++ ku = cunescape(k); ++ if (!ku) + return -ENOMEM; + +- r = unit_add_cgroup_from_text(u, t); +- free(t); +- ++ r = unit_add_cgroup_from_text(u, ku); + if (r < 0) { +- log_error("[%s:%u] Failed to parse cgroup value, ignoring: %s", filename, line, rvalue); ++ log_error("[%s:%u] Failed to parse cgroup value %s, ignoring: %s", ++ filename, line, k, rvalue); + return 0; + } + } +@@ -1351,33 +1347,30 @@ int config_parse_service_sockets( + assert(data); + + FOREACH_WORD_QUOTED(w, l, rvalue, state) { +- char *t, *k; ++ char _cleanup_free_ *t = NULL, *k = NULL; + + t = strndup(w, l); + if (!t) + return -ENOMEM; + + k = unit_name_printf(UNIT(s), t); +- free(t); +- + if (!k) + return -ENOMEM; + + if (!endswith(k, ".socket")) { +- log_error("[%s:%u] Unit must be of type socket, ignoring: %s", filename, line, rvalue); +- free(k); ++ log_error("[%s:%u] Unit must be of type socket, ignoring: %s", ++ filename, line, k); + continue; + } + + r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_WANTS, UNIT_AFTER, k, NULL, true); + if (r < 0) +- log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", filename, line, k, strerror(-r)); ++ log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", ++ filename, line, k, strerror(-r)); + + r = unit_add_dependency_by_name(UNIT(s), UNIT_TRIGGERED_BY, k, NULL, true); + if (r < 0) + return r; +- +- free(k); + } + + return 0; +@@ -2105,17 +2098,17 @@ int config_parse_syscall_filter( + + FOREACH_WORD_QUOTED(w, l, rvalue, state) { + int id; +- char *t; ++ char _cleanup_free_ *t = NULL; + + t = strndup(w, l); + if (!t) + return -ENOMEM; + + id = syscall_from_name(t); +- free(t); + + if (id < 0) { +- log_error("[%s:%u] Failed to parse syscall, ignoring: %s", filename, line, rvalue); ++ log_error("[%s:%u] Failed to parse syscall, ignoring: %s", ++ filename, line, t); + continue; + } + +-- +1.7.10.4 + diff --git a/coredumpctl-fix-crash.patch b/coredumpctl-fix-crash.patch new file mode 100644 index 00000000..6874e9c1 --- /dev/null +++ b/coredumpctl-fix-crash.patch @@ -0,0 +1,22 @@ +From 348a25edbb87ee4e67aa79fcb97a2bc1b5c11c7b Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 19 Dec 2012 14:38:53 +0100 +Subject: [PATCH] coredumpctl: check return of strndup + +--- + src/journal/coredumpctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-195/src/journal/coredumpctl.c +=================================================================== +--- systemd-195.orig/src/journal/coredumpctl.c ++++ systemd-195/src/journal/coredumpctl.c +@@ -222,7 +222,7 @@ static int retrieve(sd_journal *j, const + assert(len >= field); + + *var = strndup((const char*)data + field, len - field); +- if (!var) ++ if (!*var) + return log_oom(); + + return 0; diff --git a/crypsetup-generator-state-file-name-in-error-message.patch b/crypsetup-generator-state-file-name-in-error-message.patch new file mode 100644 index 00000000..890c6e29 --- /dev/null +++ b/crypsetup-generator-state-file-name-in-error-message.patch @@ -0,0 +1,34 @@ +From 1cda32b8a29750720872d3525084ac67b88e066f Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 23 Nov 2012 14:16:39 +0100 +Subject: [PATCH] cryptsetup-generator: state file name in error messages + +--- + src/cryptsetup/cryptsetup-generator.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c +index ef16fbc..6e7b707 100644 +--- a/src/cryptsetup/cryptsetup-generator.c ++++ b/src/cryptsetup/cryptsetup-generator.c +@@ -108,7 +108,7 @@ static int create_disk( + f = fopen(p, "wxe"); + if (!f) { + r = -errno; +- log_error("Failed to create unit file: %m"); ++ log_error("Failed to create unit file %s: %m", p); + goto fail; + } + +@@ -160,7 +160,7 @@ static int create_disk( + + if (ferror(f)) { + r = -errno; +- log_error("Failed to write file: %m"); ++ log_error("Failed to write file %s: %m", p); + goto fail; + } + +-- +1.7.10.4 + diff --git a/crypsetup-handle-nofail.patch b/crypsetup-handle-nofail.patch new file mode 100644 index 00000000..872c14c1 --- /dev/null +++ b/crypsetup-handle-nofail.patch @@ -0,0 +1,29 @@ +From adc40dc2f670a6298cce918fb318ba6a4b80c306 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 21 Nov 2012 12:30:47 +0100 +Subject: [PATCH] cryptsetup: fix nofail support + +This was documented in the man page and supported in the generator, +but systemd-cryptestup itself would fail with this option. + +systemd-cryptsetup should ignore 'nofail', as it does with 'noauto'. +--- + src/cryptsetup/cryptsetup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index 56a3b50..f332843 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -62,7 +62,7 @@ static int parse_one_option(const char *option) { + assert(option); + + /* Handled outside of this tool */ +- if (streq(option, "noauto")) ++ if (streq(option, "noauto") || streq(option, "nofail")) + return 0; + + if (startswith(option, "cipher=")) { +-- +1.7.10.4 + diff --git a/crypt-loop-file.patch b/crypt-loop-file.patch index 70785520..81491c67 100644 --- a/crypt-loop-file.patch +++ b/crypt-loop-file.patch @@ -1,7 +1,7 @@ -Index: systemd-190/src/cryptsetup/cryptsetup-generator.c +Index: systemd-195/src/cryptsetup/cryptsetup-generator.c =================================================================== ---- systemd-190.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-190/src/cryptsetup/cryptsetup-generator.c +--- systemd-195.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-195/src/cryptsetup/cryptsetup-generator.c @@ -136,7 +136,7 @@ static int create_disk( const char *password, const char *options) { @@ -11,7 +11,7 @@ Index: systemd-190/src/cryptsetup/cryptsetup-generator.c int r; FILE *f = NULL; bool noauto, nofail; -@@ -168,11 +168,51 @@ static int create_disk( +@@ -168,11 +168,63 @@ static int create_disk( goto fail; } @@ -21,13 +21,25 @@ Index: systemd-190/src/cryptsetup/cryptsetup-generator.c - log_error("Failed to allocate device name."); - goto fail; + if (!startswith(device,"/dev/")) { -+ d = unit_name_from_path_instance("cryptsetup", name, ".path"); ++ char *e; ++ ++ d = strdup(n); + if (!d) { + r = -ENOMEM; + log_error("Failed to allocate path name."); + goto fail; + } + ++ e = endswith(d,".service"); ++ if (!e) { ++ r = -ENOMEM; ++ log_error("Failed to modify path name."); ++ goto fail; ++ } ++ ++ *e = 0; ++ ++ d = strcat(d,".path"); + if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) { + r = -ENOMEM; + log_error("Failed to allocate unit file name."); @@ -37,7 +49,7 @@ Index: systemd-190/src/cryptsetup/cryptsetup-generator.c + f = fopen(path_file, "wxe"); + if (!f) { + r = -errno; -+ log_error("Failed to create unit file: %m"); ++ log_error("Failed to create unit file %s: %m", path_file); + goto fail; + } + @@ -68,7 +80,7 @@ Index: systemd-190/src/cryptsetup/cryptsetup-generator.c } f = fopen(p, "wxe"); -@@ -298,6 +338,7 @@ fail: +@@ -298,6 +350,7 @@ fail: free(n); free(d); free(e); diff --git a/cryptsetup-handle-plain.patch b/cryptsetup-handle-plain.patch new file mode 100644 index 00000000..002605f3 --- /dev/null +++ b/cryptsetup-handle-plain.patch @@ -0,0 +1,71 @@ +From 65343c749441322d1e65e8bb5d433b6fee8c28bf Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Tue, 6 Nov 2012 09:49:27 -0500 +Subject: [PATCH] cryptsetup: hash=plain means don't use a hash + +"plain" is a semantic value that cryptsetup(8) uses to describe a plain +dm-crypt volume that does not use a hash. Catch this value earlier and +ensure that a NULL params.hash is passed to crypt_format to avoid +passing an invalid hash type to the libcryptsetup backend. + +FDO bug #56593. +--- + src/cryptsetup/cryptsetup.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index 916509a..e8ba3f0 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -342,7 +342,12 @@ int main(int argc, char *argv[]) { + + opt_tries = opt_tries > 0 ? opt_tries : 3; + opt_key_size = (opt_key_size > 0 ? opt_key_size : 256); +- hash = opt_hash ? opt_hash : "ripemd160"; ++ if (opt_hash) { ++ /* plain isn't a real hash type. it just means "use no hash" */ ++ if (!streq(opt_hash, "plain")) ++ hash = opt_hash; ++ } else ++ hash = "ripemd160"; + + if (opt_cipher) { + size_t l; +@@ -463,7 +468,7 @@ int main(int argc, char *argv[]) { + opt_keyfile_size, + ¶ms); + +- pass_volume_key = streq(hash, "plain"); ++ pass_volume_key = !!hash; + } + + if (k < 0) { +-- +1.7.10.4 + +From 8db9d8c2a4ef9806c286e258f9932a0972dc2375 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Tue, 6 Nov 2012 10:17:18 -0500 +Subject: [PATCH] cryptsetup: fix inverted comparison in pass_volume_key + +--- + src/cryptsetup/cryptsetup.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index e8ba3f0..56a3b50 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -468,7 +468,8 @@ int main(int argc, char *argv[]) { + opt_keyfile_size, + ¶ms); + +- pass_volume_key = !!hash; ++ /* hash == NULL implies the user passed "plain" */ ++ pass_volume_key = (hash == NULL); + } + + if (k < 0) { +-- +1.7.10.4 + diff --git a/delta-accept-t-option.patch b/delta-accept-t-option.patch new file mode 100644 index 00000000..d0554b0a --- /dev/null +++ b/delta-accept-t-option.patch @@ -0,0 +1,27 @@ +From 377ec8bf1907a1a227d195cc3721c4acbad19213 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Wed, 14 Nov 2012 00:18:02 +0100 +Subject: [PATCH] delta.c: fix option '-t' + +Both the help and man page claims that it accepts -t with an argument +so let's do that. +--- + src/delta/delta.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/delta/delta.c b/src/delta/delta.c +index cc34208..a65cea5 100644 +--- a/src/delta/delta.c ++++ b/src/delta/delta.c +@@ -352,7 +352,7 @@ static int parse_argv(int argc, char *argv[]) { + assert(argc >= 1); + assert(argv); + +- while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0) { ++ while ((c = getopt_long(argc, argv, "ht:", options, NULL)) >= 0) { + + switch (c) { + +-- +1.7.10.4 + diff --git a/do-not-make-sockets-dependent-on-lo.patch b/do-not-make-sockets-dependent-on-lo.patch new file mode 100644 index 00000000..247a7c80 --- /dev/null +++ b/do-not-make-sockets-dependent-on-lo.patch @@ -0,0 +1,27 @@ +From 7d0c710d72f8a6e5c6909c65700aa088c53aebc6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= +Date: Sat, 12 Jan 2013 23:05:52 +0100 +Subject: [PATCH] core: do not make sockets dependent on lo + +/sys/subsystem/net/devices/lo is never considered active, so sockets +with BindToDevice=lo would never be activated. +--- + src/core/socket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/socket.c b/src/core/socket.c +index fcbcdbe..d755040 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -308,7 +308,7 @@ static int socket_add_device_link(Socket *s) { + + assert(s); + +- if (!s->bind_to_device) ++ if (!s->bind_to_device || streq(s->bind_to_device, "lo")) + return 0; + + if (asprintf(&t, "/sys/subsystem/net/devices/%s", s->bind_to_device) < 0) +-- +1.7.10.4 + diff --git a/fix-bad-mem-access.patch b/fix-bad-mem-access.patch new file mode 100644 index 00000000..18cf4aa2 --- /dev/null +++ b/fix-bad-mem-access.patch @@ -0,0 +1,24 @@ +From 86ed7ec58b9b6a0907bbb3b8d07c930e52915de0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 17 Jan 2013 17:38:00 +0100 +Subject: [PATCH] util: fix bad memory access + +--- + src/shared/util.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 0161f3e..8e14096 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -439,7 +439,6 @@ int get_parent_of_pid(pid_t pid, pid_t *_ppid) { + + if (!fgets(line, sizeof(line), f)) { + r = feof(f) ? -EIO : -errno; +- fclose(f); + return r; + } + +-- +1.7.10.4 + diff --git a/fix-potential-bad-mem-access.patch b/fix-potential-bad-mem-access.patch new file mode 100644 index 00000000..db90af84 --- /dev/null +++ b/fix-potential-bad-mem-access.patch @@ -0,0 +1,48 @@ +From ac97e2c559f5d386a332aba4a24bf9930cdb1c51 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 19 Nov 2012 16:36:38 +0100 +Subject: [PATCH] core/load-fragment: fix (potential) bad memory access + +strncmp() could be used with size bigger then the size of the string, +because MAX was used instead of MIN. + +If failing, print just the offending mount flag. +--- + src/core/load-fragment.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c +index 01f9484..6933e1a 100644 +--- a/src/core/load-fragment.c ++++ b/src/core/load-fragment.c +@@ -1101,15 +1101,22 @@ int config_parse_exec_mount_flags( + assert(rvalue); + assert(data); + +- FOREACH_WORD_QUOTED(w, l, rvalue, state) { +- if (strncmp(w, "shared", MAX(l, 6U)) == 0) ++ FOREACH_WORD_SEPARATOR(w, l, rvalue, ", ", state) { ++ char _cleanup_free_ *t; ++ ++ t = strndup(w, l); ++ if (!t) ++ return -ENOMEM; ++ ++ if (streq(t, "shared")) + flags |= MS_SHARED; +- else if (strncmp(w, "slave", MAX(l, 5U)) == 0) ++ else if (streq(t, "slave")) + flags |= MS_SLAVE; +- else if (strncmp(w, "private", MAX(l, 7U)) == 0) ++ else if (streq(w, "private")) + flags |= MS_PRIVATE; + else { +- log_error("[%s:%u] Failed to parse mount flags, ignoring: %s", filename, line, rvalue); ++ log_error("[%s:%u] Failed to parse mount flag %s, ignoring: %s", ++ filename, line, t, rvalue); + return 0; + } + } +-- +1.7.10.4 + diff --git a/fix-swap-behaviour-with-symlinks.patch b/fix-swap-behaviour-with-symlinks.patch new file mode 100644 index 00000000..f9ee5fab --- /dev/null +++ b/fix-swap-behaviour-with-symlinks.patch @@ -0,0 +1,33 @@ +From b61e88162a6ce0c30da6984b0120959701283daa Mon Sep 17 00:00:00 2001 +From: Olivier Brunel +Date: Sat, 13 Oct 2012 14:24:15 +0200 +Subject: [PATCH] swap: fix swap behaviour with symlinks + +Starting a swap unit pointing to (What) a symlink (e.g. /dev/mapper/swap +or /dev/disk/by-uuid/...) would have said unit marked active, following +the one using the "actual" device (/dev/{dm-1,sda3}), but that new unit +would be seen as inactive. +Since all requests to stop swap units would follow/redirect to it, +and it is seen inactive, nothing would be done (swapoff never called). + +This is because this unit would be treated twice in +swap_process_new_swap, the second call to swap_add_one causing it to +eventually be marked inactive. +--- + src/core/swap.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: systemd-195/src/core/swap.c +=================================================================== +--- systemd-195.orig/src/core/swap.c ++++ systemd-195/src/core/swap.c +@@ -415,7 +415,8 @@ static int swap_process_new_swap(Manager + return -ENOMEM; + + dn = udev_device_get_devnode(d); +- if (dn) ++ /* Skip dn==device, since that case will be handled below */ ++ if (dn && !streq(dn, device)) + r = swap_add_one(m, dn, device, prio, false, false, set_flags); + + /* Add additional units for all symlinks */ diff --git a/fstab-generator-error-message-on-duplicates.patch b/fstab-generator-error-message-on-duplicates.patch new file mode 100644 index 00000000..ecc43782 --- /dev/null +++ b/fstab-generator-error-message-on-duplicates.patch @@ -0,0 +1,50 @@ +From 67ab5f761f9b854d8ce85f9ee47b298e497f8bd9 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 27 Nov 2012 01:09:28 +0100 +Subject: [PATCH] fstab-generator: make error more helpful in case of + duplicates in fstab + +Traditional sysvinit systems would not complain about duplicates in +fstab. Rather it (through monut -a) would mount one fs on top of another, +in effect the last entry taking precedent. + +In systemd, the first entry takes precedent, all subsequent ones are +ignored and an error is printed. + +The change of behavior and the source of this error message was causing +some confusion, so give a hint what migt be wrong. +--- + src/fstab-generator/fstab-generator.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index 7b3bf11..ba55f2c 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -111,7 +111,10 @@ static int add_swap(const char *what, struct mntent *me) { + f = fopen(unit, "wxe"); + if (!f) { + r = -errno; +- log_error("Failed to create unit file %s: %m", unit); ++ if (errno == EEXIST) ++ log_error("Failed to create swap unit file %s, as it already exists. Duplicate entry in /etc/fstab?", unit); ++ else ++ log_error("Failed to create unit file %s: %m", unit); + goto finish; + } + +@@ -254,7 +257,10 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + f = fopen(unit, "wxe"); + if (!f) { + r = -errno; +- log_error("Failed to create unit file %s: %m", unit); ++ if (errno == EEXIST) ++ log_error("Failed to create mount unit file %s, as it already exists. Duplicate entry in /etc/fstab?", unit); ++ else ++ log_error("Failed to create unit file %s: %m", unit); + goto finish; + } + +-- +1.7.10.4 + diff --git a/fstab-generator-improve-error-message.patch b/fstab-generator-improve-error-message.patch new file mode 100644 index 00000000..f1de5734 --- /dev/null +++ b/fstab-generator-improve-error-message.patch @@ -0,0 +1,115 @@ +From 40b8acd039cf1ea00167017e63d9c0a773002f0e Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 9 Nov 2012 12:00:46 +0100 +Subject: [PATCH] fstab-generator: more specific error messages + +--- + src/fstab-generator/fstab-generator.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index 251a346..62053b7 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -111,7 +111,7 @@ static int add_swap(const char *what, struct mntent *me) { + f = fopen(unit, "wxe"); + if (!f) { + r = -errno; +- log_error("Failed to create unit file: %m"); ++ log_error("Failed to create unit file %s: %m", unit); + goto finish; + } + +@@ -138,7 +138,7 @@ static int add_swap(const char *what, struct mntent *me) { + + fflush(f); + if (ferror(f)) { +- log_error("Failed to write unit file: %m"); ++ log_error("Failed to write unit file %s: %m", unit); + r = -errno; + goto finish; + } +@@ -152,7 +152,7 @@ static int add_swap(const char *what, struct mntent *me) { + + mkdir_parents_label(lnk, 0755); + if (symlink(unit, lnk) < 0) { +- log_error("Failed to create symlink: %m"); ++ log_error("Failed to create symlink %s: %m", lnk); + r = -errno; + goto finish; + } +@@ -171,7 +171,7 @@ static int add_swap(const char *what, struct mntent *me) { + + mkdir_parents_label(lnk, 0755); + if (symlink(unit, lnk) < 0) { +- log_error("Failed to create symlink: %m"); ++ log_error("Failed to create symlink %s: %m", lnk); + r = -errno; + goto finish; + } +@@ -262,7 +262,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + f = fopen(unit, "wxe"); + if (!f) { + r = -errno; +- log_error("Failed to create unit file: %m"); ++ log_error("Failed to create unit file %s: %m", unit); + goto finish; + } + +@@ -306,7 +306,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + + fflush(f); + if (ferror(f)) { +- log_error("Failed to write unit file: %m"); ++ log_error("Failed to write unit file %s: %m", unit); + r = -errno; + goto finish; + } +@@ -320,7 +320,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + + mkdir_parents_label(lnk, 0755); + if (symlink(unit, lnk) < 0) { +- log_error("Failed to create symlink: %m"); ++ log_error("Failed to create symlink %s: %m", lnk); + r = -errno; + goto finish; + } +@@ -342,7 +342,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + + mkdir_parents_label(lnk, 0755); + if (symlink(unit, lnk) < 0) { +- log_error("Failed to create symlink: %m"); ++ log_error("Failed to create symlink %s: %m", lnk); + r = -errno; + goto finish; + } +@@ -367,7 +367,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + f = fopen(automount_unit, "wxe"); + if (!f) { + r = -errno; +- log_error("Failed to create unit file: %m"); ++ log_error("Failed to create unit file %s: %m", automount_unit); + goto finish; + } + +@@ -386,7 +386,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + + fflush(f); + if (ferror(f)) { +- log_error("Failed to write unit file: %m"); ++ log_error("Failed to write unit file %s: %m", automount_unit); + r = -errno; + goto finish; + } +@@ -400,7 +400,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { + + mkdir_parents_label(lnk, 0755); + if (symlink(automount_unit, lnk) < 0) { +- log_error("Failed to create symlink: %m"); ++ log_error("Failed to create symlink %s: %m", lnk); + r = -errno; + goto finish; + } +-- +1.7.10.4 + diff --git a/fstab-generator-properly-detect-bind-mounts.patch b/fstab-generator-properly-detect-bind-mounts.patch new file mode 100644 index 00000000..d6461abb --- /dev/null +++ b/fstab-generator-properly-detect-bind-mounts.patch @@ -0,0 +1,25 @@ +From f9ea108e7c3544c03822277a1112a48dc62f6ed4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Dec 2012 13:01:00 +0100 +Subject: [PATCH] fstab-generator: properly detect bind mounts + +This kinda undoes a83cbaccd03c3f28e47e9330f4a22ff65ce4b561 and +1d634e21b453f3c80d7c6c4bd90a6b84e42a3d2a but corrects the original code +to compare the mount type with "bind" rather than the mount options. +--- + src/fstab-generator/fstab-generator.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +Index: systemd-195/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-195.orig/src/fstab-generator/fstab-generator.c ++++ systemd-195/src/fstab-generator/fstab-generator.c +@@ -199,7 +199,7 @@ static bool mount_is_bind(struct mntent + + return + hasmntopt(me, "bind") || +- streq(me->mnt_opts, "bind"); ++ streq(me->mnt_type, "bind"); + } + + static bool mount_is_network(struct mntent *me) { diff --git a/highlight-ordering-cycle-deletions.patch b/highlight-ordering-cycle-deletions.patch new file mode 100644 index 00000000..296fdc61 --- /dev/null +++ b/highlight-ordering-cycle-deletions.patch @@ -0,0 +1,32 @@ +From f09a7d25545b5e3a2dd3dfc1ff7ebc8560a3354c Mon Sep 17 00:00:00 2001 +From: Olivier Brunel +Date: Mon, 5 Nov 2012 00:28:45 +0100 +Subject: [PATCH] systemd: highlight ordering cycle deletions + +Having unit(s) removed/not started, even if it solved the issue and allowed +to boot successfully, should still be considered an error, as something +clearly isn't right. + +This patch elevates the log message from warning to error, and adds a status +message to make things more obvious. +--- + src/core/transaction.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 4bce942..ee6992a 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -374,7 +374,8 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + + + if (delete) { +- log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); ++ log_error("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); ++ status_printf(ANSI_HIGHLIGHT_RED_ON " SKIP " ANSI_HIGHLIGHT_OFF, true, "Ordering cycle found, skip %s", unit_description(delete->unit)); + transaction_delete_unit(tr, delete->unit); + return -EAGAIN; + } +-- +1.7.10.4 + diff --git a/hostnamectl-fix-parsing-no-ask-password.patch b/hostnamectl-fix-parsing-no-ask-password.patch new file mode 100644 index 00000000..490724d0 --- /dev/null +++ b/hostnamectl-fix-parsing-no-ask-password.patch @@ -0,0 +1,27 @@ +From 59f432ea6d6d441d0af7c76c37e80730c8df473a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 15 Nov 2012 22:47:04 +0100 +Subject: [PATCH] hostnamectl: fix parsing of --no-ask-password + +--- + src/hostname/hostnamectl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c +index b7ae5cc..265c7ec 100644 +--- a/src/hostname/hostnamectl.c ++++ b/src/hostname/hostnamectl.c +@@ -403,6 +403,10 @@ static int parse_argv(int argc, char *argv[]) { + arg_set_static = true; + break; + ++ case ARG_NO_ASK_PASSWORD: ++ arg_ask_password = false; ++ break; ++ + case '?': + return -EINVAL; + +-- +1.7.10.4 + diff --git a/hostnamectl-fix-set-hostname-with-no-argument.patch b/hostnamectl-fix-set-hostname-with-no-argument.patch new file mode 100644 index 00000000..15181308 --- /dev/null +++ b/hostnamectl-fix-set-hostname-with-no-argument.patch @@ -0,0 +1,26 @@ +From f36d7992ef9588e24feaae5bb3d103ca63af71bd Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 29 Oct 2012 20:54:26 +0100 +Subject: [PATCH] hostnamectl: do not choke on set-hostname with no argument + +https://bugzilla.redhat.com/show_bug.cgi?id=871172 +--- + src/hostname/hostnamectl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c +index 1d448bd..e7b2b49 100644 +--- a/src/hostname/hostnamectl.c ++++ b/src/hostname/hostnamectl.c +@@ -430,7 +430,7 @@ static int hostnamectl_main(DBusConnection *bus, int argc, char *argv[], DBusErr + int (* const dispatch)(DBusConnection *bus, char **args, unsigned n); + } verbs[] = { + { "status", LESS, 1, show_status }, +- { "set-hostname", LESS, 2, set_hostname }, ++ { "set-hostname", EQUAL, 2, set_hostname }, + { "set-icon-name", EQUAL, 2, set_icon_name }, + }; + +-- +1.7.10.4 + diff --git a/improve-overflow-checks.patch b/improve-overflow-checks.patch new file mode 100644 index 00000000..7a3a1787 --- /dev/null +++ b/improve-overflow-checks.patch @@ -0,0 +1,105 @@ +From 3dd8ee8fa693597663b0338235becbb0b7a9520c Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Thu, 25 Oct 2012 16:16:17 +0200 +Subject: [PATCH] util: fix possible integer overflows + +--- + src/shared/util.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 2d4a4c1..e2f8b1f 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -148,6 +148,9 @@ usec_t timespec_load(const struct timespec *ts) { + ts->tv_nsec == (long) -1) + return (usec_t) -1; + ++ if (USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) ++ return (usec_t) -1; ++ + return + (usec_t) ts->tv_sec * USEC_PER_SEC + + (usec_t) ts->tv_nsec / NSEC_PER_USEC; +@@ -175,6 +178,9 @@ usec_t timeval_load(const struct timeval *tv) { + tv->tv_usec == (suseconds_t) -1) + return (usec_t) -1; + ++ if (USEC_PER_SEC > (UINT64_MAX - tv->tv_usec) / (usec_t) tv->tv_sec) ++ return (usec_t) -1; ++ + return + (usec_t) tv->tv_sec * USEC_PER_SEC + + (usec_t) tv->tv_usec; +-- +1.7.10.4 + +From 49371bb50e0fe6e9e90309a20006bcfd9e2fa8f4 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Mon, 29 Oct 2012 15:49:34 -0400 +Subject: [PATCH] util: avoid divide by zero FPE + +In early userspace, if kernel initialization happens extremely quickly, +a call to systemd-timestamp can potentially result in division by zero. +Ensure that the check in timespec_load, which only makes sense if tv_sec +is greater than zero, is guarded by this condition. +--- + src/shared/util.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/shared/util.c b/src/shared/util.c +index e2f8b1f..9a45e60 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -148,7 +148,8 @@ usec_t timespec_load(const struct timespec *ts) { + ts->tv_nsec == (long) -1) + return (usec_t) -1; + +- if (USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) ++ if (ts->tv_sec > 0 && ++ USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) + return (usec_t) -1; + + return +-- +1.7.10.4 + +From fd09c93de9337c3df566180d04368353bb3662e7 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Mon, 29 Oct 2012 21:04:47 +0100 +Subject: [PATCH] util: improve overflow checks + +commit 49371bb fixed the observed division by zero, but missed another +occurrence of the same bug. It was also not the optimal fix. We can +simply make the divisor a constant by swapping it with the compared +value. +--- + src/shared/util.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 9a45e60..8ec83e4 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -148,8 +148,7 @@ usec_t timespec_load(const struct timespec *ts) { + ts->tv_nsec == (long) -1) + return (usec_t) -1; + +- if (ts->tv_sec > 0 && +- USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) ++ if ((usec_t) ts->tv_sec > (UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / USEC_PER_SEC) + return (usec_t) -1; + + return +@@ -179,7 +178,7 @@ usec_t timeval_load(const struct timeval *tv) { + tv->tv_usec == (suseconds_t) -1) + return (usec_t) -1; + +- if (USEC_PER_SEC > (UINT64_MAX - tv->tv_usec) / (usec_t) tv->tv_sec) ++ if ((usec_t) tv->tv_sec > (UINT64_MAX - tv->tv_usec) / USEC_PER_SEC) + return (usec_t) -1; + + return +-- +1.7.10.4 + diff --git a/job-avoid-recursion-when-cancelling.patch b/job-avoid-recursion-when-cancelling.patch new file mode 100644 index 00000000..a87dff39 --- /dev/null +++ b/job-avoid-recursion-when-cancelling.patch @@ -0,0 +1,48 @@ +From 1abc85b8d026a2d72442b0edaee5213d0ee73c1f Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 25 Oct 2012 02:31:49 +0200 +Subject: [PATCH] job: avoid recursion into transaction code from job + cancelation + +I hit an "assert(j->installed)" failure in transaction_apply(). Looking +into the backtrace I saw what happened: +1. The system was booting. var.mount/start was an installed job. +2. I pressed Ctrl+Alt+Del. +3. reboot.target was going to be isolated. +4. transaction_apply() proceeded to install a var.mount/stop job. +5. job_install() canceled the conflicting start job. +6. Depending jobs ended recursively with JOB_DEPENDENCY, among them was + local-fs.target/start. +7. Its OnFailure action triggered - emergency.target was now going to be + isolated. +8. We recursed back into transaction_apply() where the half-installed + var.mount/stop job confused us. + +Recursing from job installation back into the transaction code cannot be +a good idea. Avoid the problem by canceling the conflicting job +non-recursively in job_install(). I don't think we'll miss anything by +not recursing here. After all, we are called from transaction_apply(). +We will not be installing just this one job, but all jobs from a +transaction. All requirement dependencies will be included in it and +will be installed separately. Every transaction job will get a chance +to cancel its own conflicting installed job. +--- + src/core/job.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/job.c b/src/core/job.c +index cb5674b..f08b8cb 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -180,7 +180,7 @@ Job* job_install(Job *j) { + + if (uj) { + if (j->type != JOB_NOP && job_type_is_conflicting(uj->type, j->type)) +- job_finish_and_invalidate(uj, JOB_CANCELED, true); ++ job_finish_and_invalidate(uj, JOB_CANCELED, false); + else { + /* not conflicting, i.e. mergeable */ + +-- +1.7.10.4 + diff --git a/journal-fix-cutoff-max-date.patch b/journal-fix-cutoff-max-date.patch new file mode 100644 index 00000000..c939a61e --- /dev/null +++ b/journal-fix-cutoff-max-date.patch @@ -0,0 +1,34 @@ +From 0f91dd8749c1a1ec308cc645269be92166413e38 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 26 Oct 2012 01:07:41 +0200 +Subject: [PATCH] journal: properly determine cutoff max date + +--- + src/journal/sd-journal.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c +index 09b0eb8..d5d2d78 100644 +--- a/src/journal/sd-journal.c ++++ b/src/journal/sd-journal.c +@@ -2121,7 +2121,7 @@ _public_ int sd_journal_get_cutoff_realtime_usec(sd_journal *j, uint64_t *from, + if (from) + *from = MIN(fr, *from); + if (to) +- *to = MIN(t, *to); ++ *to = MAX(t, *to); + } + } + +@@ -2160,7 +2160,7 @@ _public_ int sd_journal_get_cutoff_monotonic_usec(sd_journal *j, sd_id128_t boot + if (from) + *from = MIN(fr, *from); + if (to) +- *to = MIN(t, *to); ++ *to = MAX(t, *to); + } + } + +-- +1.7.10.4 + diff --git a/journal-send-always-send-syslog_identifier.patch b/journal-send-always-send-syslog_identifier.patch new file mode 100644 index 00000000..2a29345b --- /dev/null +++ b/journal-send-always-send-syslog_identifier.patch @@ -0,0 +1,65 @@ +From ee55db41442ad8055f5a84a339b1e0e22bc037c4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 20 Nov 2012 21:25:26 +0100 +Subject: [PATCH] journal-send: always send SYSLOG_IDENTIFIER, if we have it + +https://bugzilla.redhat.com/show_bug.cgi?id=872193 +--- + src/journal/journal-send.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c +index 7a91569..bd8f887 100644 +--- a/src/journal/journal-send.c ++++ b/src/journal/journal-send.c +@@ -219,6 +219,7 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { + * be a tmpfs, and one that is available from early boot on + * and where unprivileged users can create files. */ + char path[] = "/dev/shm/journal.XXXXXX"; ++ bool have_syslog_identifier = false; + + if (_unlikely_(!iov)) + return -EINVAL; +@@ -228,7 +229,7 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { + + saved_errno = errno; + +- w = alloca(sizeof(struct iovec) * n * 5); ++ w = alloca(sizeof(struct iovec) * n * 5 + 3); + l = alloca(sizeof(uint64_t) * n); + + for (i = 0; i < n; i++) { +@@ -245,6 +246,9 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { + goto finish; + } + ++ have_syslog_identifier = ++ have_syslog_identifier || (c == iov[i].iov_base + 17 && memcmp(iov[i].iov_base, "SYSLOG_IDENTIFIER", 17) == 0); ++ + nl = memchr(iov[i].iov_base, '\n', iov[i].iov_len); + if (nl) { + if (_unlikely_(nl < c)) { +@@ -280,6 +284,20 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { + IOVEC_SET_STRING(w[j++], "\n"); + } + ++ if (!have_syslog_identifier && ++ string_is_safe(program_invocation_short_name)) { ++ ++ /* Implicitly add program_invocation_short_name, if it ++ * is not set explicitly. We only do this for ++ * program_invocation_short_name, and nothing else ++ * since everything else is much nicer to retrieve ++ * from the outside. */ ++ ++ IOVEC_SET_STRING(w[j++], "SYSLOG_IDENTIFIER="); ++ IOVEC_SET_STRING(w[j++], program_invocation_short_name); ++ IOVEC_SET_STRING(w[j++], "\n"); ++ } ++ + fd = journal_fd(); + if (_unlikely_(fd < 0)) { + r = fd; +-- +1.7.10.4 + diff --git a/journalctl-quit-on-io-error.patch b/journalctl-quit-on-io-error.patch new file mode 100644 index 00000000..56d2dd18 --- /dev/null +++ b/journalctl-quit-on-io-error.patch @@ -0,0 +1,38 @@ +From 244692cbfb46df5ff79d07da8fb848a1165bd2fb Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Sun, 13 Jan 2013 12:28:38 +0100 +Subject: [PATCH] journalctl: quit on I/O error + +This makes journalctl quit on ferror() conditions on stdout. It fixes an +annoying bug if you pipe its output through 'less' and press 'q'. Without +this fix journalctl will continue reading all journal data until EOF which +can take quite some time. For instance on my machine: + + david-nb ~ # time journalctl | wc -l + 327240 + + real 1m13.039s + user 1m0.217s + sys 0m10.467s + +However, expected behavior is journalctl to quit when its pager closed the +output pipe. + +Signed-off-by: David Herrmann +--- + src/journal/journalctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-195/src/journal/journalctl.c +=================================================================== +--- systemd-195.orig/src/journal/journalctl.c ++++ systemd-195/src/journal/journalctl.c +@@ -1035,7 +1035,7 @@ int main(int argc, char *argv[]) { + on_tty() * OUTPUT_COLOR; + + r = output_journal(stdout, j, arg_output, 0, flags); +- if (r < 0) ++ if (r < 0 || ferror(stdout)) + goto finish; + + need_seek = true; diff --git a/journalctl-remove-leftover-message.patch b/journalctl-remove-leftover-message.patch new file mode 100644 index 00000000..5ba122fa --- /dev/null +++ b/journalctl-remove-leftover-message.patch @@ -0,0 +1,25 @@ +From db87a36e74ff26d1046a451ee086c9a2c4113d12 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 24 Oct 2012 01:05:55 +0200 +Subject: [PATCH] journalctl: remove left-over log message + +--- + src/journal/journalctl.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index d1338d2..0f20448 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -547,8 +547,6 @@ static int add_priorities(sd_journal *j) { + if (arg_priorities & (1 << i)) { + match[sizeof(match)-2] = '0' + i; + +- log_info("adding match %s", match); +- + r = sd_journal_add_match(j, match, strlen(match)); + if (r < 0) { + log_error("Failed to add match: %s", strerror(-r)); +-- +1.7.10.4 + diff --git a/journalctl-require-argument-for-priority b/journalctl-require-argument-for-priority new file mode 100644 index 00000000..2ecfcbef --- /dev/null +++ b/journalctl-require-argument-for-priority @@ -0,0 +1,27 @@ +From 71c015969233c21ea38b1e63993d02fe171df672 Mon Sep 17 00:00:00 2001 +From: Lekensteyn +Date: Thu, 15 Nov 2012 12:17:03 +0100 +Subject: [PATCH] journalctl: require argument for --priority + +This fixes a segfault due to a missing value for --priority. -p is +unaffected because it is specified in the getopt_long parameter list. +--- + src/journal/journalctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index cccd8a7..011a11b 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -157,7 +157,7 @@ static int parse_argv(int argc, char *argv[]) { + { "this-boot", no_argument, NULL, 'b' }, + { "directory", required_argument, NULL, 'D' }, + { "header", no_argument, NULL, ARG_HEADER }, +- { "priority", no_argument, NULL, 'p' }, ++ { "priority", required_argument, NULL, 'p' }, + { "setup-keys", no_argument, NULL, ARG_SETUP_KEYS }, + { "interval", required_argument, NULL, ARG_INTERVAL }, + { "verify", no_argument, NULL, ARG_VERIFY }, +-- +1.7.10.4 + diff --git a/kmod-fix-builtin-typo.patch b/kmod-fix-builtin-typo.patch new file mode 100644 index 00000000..77853c54 --- /dev/null +++ b/kmod-fix-builtin-typo.patch @@ -0,0 +1,25 @@ +From a9f4815da56b8efc519595c3d8a78fe064fa8d69 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 26 Oct 2012 00:28:23 +0200 +Subject: [PATCH] udev: kmod - fix typo + +--- + src/udev/udev-builtin-kmod.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c +index 1df055b..aacdff8 100644 +--- a/src/udev/udev-builtin-kmod.c ++++ b/src/udev/udev-builtin-kmod.c +@@ -75,7 +75,7 @@ static int builtin_kmod(struct udev_device *dev, int argc, char *argv[], bool te + struct udev *udev = udev_device_get_udev(dev); + int i; + +- if (ctx) ++ if (!ctx) + return 0; + + if (argc < 3 || strcmp(argv[1], "load")) { +-- +1.7.10.4 + diff --git a/libudev-validate-argument-udev_enumerate_new.patch b/libudev-validate-argument-udev_enumerate_new.patch new file mode 100644 index 00000000..9f14aa05 --- /dev/null +++ b/libudev-validate-argument-udev_enumerate_new.patch @@ -0,0 +1,26 @@ +From e68893075083a7461b1572233d23fdb23541d630 Mon Sep 17 00:00:00 2001 +From: Michael Terry +Date: Fri, 14 Dec 2012 09:02:13 -0500 +Subject: [PATCH] libudev: validate 'udev' argument to udev_enumerate_new() + +https://bugs.freedesktop.org/show_bug.cgi?id=58289 +--- + src/libudev/libudev-enumerate.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c +index 1729655..6a5f4e0 100644 +--- a/src/libudev/libudev-enumerate.c ++++ b/src/libudev/libudev-enumerate.c +@@ -81,6 +81,8 @@ _public_ struct udev_enumerate *udev_enumerate_new(struct udev *udev) + { + struct udev_enumerate *udev_enumerate; + ++ if (udev == NULL) ++ return NULL; + udev_enumerate = calloc(1, sizeof(struct udev_enumerate)); + if (udev_enumerate == NULL) + return NULL; +-- +1.7.10.4 + diff --git a/localectl-fix-assertion.patch b/localectl-fix-assertion.patch new file mode 100644 index 00000000..08ce257e --- /dev/null +++ b/localectl-fix-assertion.patch @@ -0,0 +1,27 @@ +From 6b2b6f30e38d67b032d6bdc6b47ae05e143e96c5 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 12 Dec 2012 22:24:04 +0100 +Subject: [PATCH] localectl: fix dbus call arguments in set_x11_keymap + +Fixes an assertion failure in the dbus lib. +https://bugzilla.redhat.com/show_bug.cgi?id=882212 +--- + src/locale/localectl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/locale/localectl.c b/src/locale/localectl.c +index fa73bca..383a17d 100644 +--- a/src/locale/localectl.c ++++ b/src/locale/localectl.c +@@ -537,7 +537,7 @@ static int set_x11_keymap(DBusConnection *bus, char **args, unsigned n) { + layout = args[1]; + model = n > 2 ? args[2] : ""; + variant = n > 3 ? args[3] : ""; +- options = n > 3 ? args[4] : ""; ++ options = n > 4 ? args[4] : ""; + b = arg_convert; + + return bus_method_call_with_reply( +-- +1.7.10.4 + diff --git a/localectl-support-systems-without-locale-archive.patch b/localectl-support-systems-without-locale-archive.patch new file mode 100644 index 00000000..d5498fe9 --- /dev/null +++ b/localectl-support-systems-without-locale-archive.patch @@ -0,0 +1,163 @@ +From 17d33cecaa762f7e43200307328af5e9135e2091 Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna +Date: Sat, 5 Jan 2013 01:29:53 +0100 +Subject: [PATCH] localectl: support systems without locale-archive + +Not all systems ships with locales inside /usr/lib/locale-archive, some +prefer to have locale data as individual subdirectories of /usr/lib/locale. +(A notable example of this is OpenEmbeddded, and OSes deriving from it +like gnome-ostree). +Given that glibc supports both ways, localectl should too. +--- + src/locale/localectl.c | 101 ++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 85 insertions(+), 16 deletions(-) + +diff --git a/src/locale/localectl.c b/src/locale/localectl.c +index 5d35f9c..b3acb3e 100644 +--- a/src/locale/localectl.c ++++ b/src/locale/localectl.c +@@ -266,7 +266,7 @@ finish: + return r; + } + +-static int list_locales(DBusConnection *bus, char **args, unsigned n) { ++static int add_locales_from_archive(Set *locales) { + /* Stolen from glibc... */ + + struct locarhead { +@@ -304,21 +304,15 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { + const struct namehashent *e; + const void *p = MAP_FAILED; + _cleanup_close_ int fd = -1; +- _cleanup_strv_free_ char **l = NULL; +- char **j; +- Set *locales; + size_t sz = 0; + struct stat st; + unsigned i; + int r; + +- locales = set_new(string_hash_func, string_compare_func); +- if (!locales) +- return log_oom(); +- + fd = open("/usr/lib/locale/locale-archive", O_RDONLY|O_NOCTTY|O_CLOEXEC); + if (fd < 0) { +- log_error("Failed to open locale archive: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open locale archive: %m"); + r = -errno; + goto finish; + } +@@ -380,15 +374,93 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { + } + } + ++ r = 0; ++ ++ finish: ++ if (p != MAP_FAILED) ++ munmap((void*) p, sz); ++ ++ return r; ++} ++ ++static int add_locales_from_libdir (Set *locales) { ++ DIR *dir; ++ struct dirent *entry; ++ int r; ++ ++ dir = opendir("/usr/lib/locale"); ++ if (!dir) { ++ log_error("Failed to open locale directory: %m"); ++ r = -errno; ++ goto finish; ++ } ++ ++ errno = 0; ++ while ((entry = readdir(dir))) { ++ char *z; ++ ++ if (entry->d_type != DT_DIR) ++ continue; ++ ++ if (ignore_file(entry->d_name)) ++ continue; ++ ++ z = strdup(entry->d_name); ++ if (!z) { ++ r = log_oom(); ++ goto finish; ++ } ++ ++ r = set_put(locales, z); ++ if (r < 0) { ++ free(z); ++ ++ if (r != -EEXIST) { ++ log_error("Failed to add locale: %s", strerror(-r)); ++ goto finish; ++ } ++ } ++ ++ errno = 0; ++ } ++ ++ if (errno != 0) { ++ log_error("Failed to read locale directory: %m"); ++ r = -errno; ++ goto finish; ++ } ++ ++ r = 0; ++ ++ finish: ++ closedir(dir); ++ return r; ++} ++ ++static int list_locales(DBusConnection *bus, char **args, unsigned n) { ++ Set *locales; ++ _cleanup_strv_free_ char **l = NULL; ++ char **j; ++ int r; ++ ++ locales = set_new(string_hash_func, string_compare_func); ++ if (!locales) ++ return log_oom(); ++ ++ r = add_locales_from_archive(locales); ++ if (r < 0 && r != -ENOENT) ++ goto finish; ++ ++ r = add_locales_from_libdir(locales); ++ if (r < 0) ++ goto finish; ++ + l = set_get_strv(locales); + if (!l) { + r = log_oom(); + goto finish; + } + +- set_free(locales); +- locales = NULL; +- + strv_sort(l); + + pager_open_if_enabled(); +@@ -399,10 +471,7 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { + r = 0; + + finish: +- if (p != MAP_FAILED) +- munmap((void*) p, sz); +- +- set_free_free(locales); ++ set_free(locales); + + return r; + } +-- +1.7.10.4 + diff --git a/logind-capability-making-seats-without-fb.patch b/logind-capability-making-seats-without-fb.patch new file mode 100644 index 00000000..3bb260cb --- /dev/null +++ b/logind-capability-making-seats-without-fb.patch @@ -0,0 +1,59 @@ +From 955f9bde9ba6d9f0a7364d5cb7c0cee951d5caab Mon Sep 17 00:00:00 2001 +From: Oleg Samarin +Date: Sat, 5 Jan 2013 20:33:37 +0400 +Subject: [PATCH] logind: Capability of making seats without framebuffer + devices + +file logind.c: The seat is now activated by any device with udev tag "seat-master" +file 71-seat.rules.in: All framebuffer devices have this tag +--- + src/login/71-seat.rules.in | 2 +- + src/login/logind.c | 12 ++---------- + 2 files changed, 3 insertions(+), 11 deletions(-) + +diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in +index f554d7f..4f1a9a5 100644 +--- a/src/login/71-seat.rules.in ++++ b/src/login/71-seat.rules.in +@@ -10,7 +10,7 @@ ACTION=="remove", GOTO="seat_end" + TAG=="uaccess", SUBSYSTEM!="sound", TAG+="seat" + SUBSYSTEM=="sound", KERNEL=="card*", TAG+="seat" + SUBSYSTEM=="input", KERNEL=="input*", TAG+="seat" +-SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat" ++SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="seat-master" + SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat" + + # 'Plugable' USB hub, sound, network, graphics adapter +diff --git a/src/login/logind.c b/src/login/logind.c +index 6438631..6776229 100644 +--- a/src/login/logind.c ++++ b/src/login/logind.c +@@ -459,11 +459,7 @@ int manager_enumerate_devices(Manager *m) { + goto finish; + } + +- r = udev_enumerate_add_match_subsystem(e, "graphics"); +- if (r < 0) +- goto finish; +- +- r = udev_enumerate_add_match_tag(e, "seat"); ++ r = udev_enumerate_add_match_tag(e, "seat-master"); + if (r < 0) + goto finish; + +@@ -1295,11 +1291,7 @@ static int manager_connect_udev(Manager *m) { + if (!m->udev_seat_monitor) + return -ENOMEM; + +- r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat"); +- if (r < 0) +- return r; +- +- r = udev_monitor_filter_add_match_subsystem_devtype(m->udev_seat_monitor, "graphics", NULL); ++ r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat-master"); + if (r < 0) + return r; + +-- +1.7.10.4 + diff --git a/logind-ignore-non-tty-non-x11-session-on-shutdown.patch b/logind-ignore-non-tty-non-x11-session-on-shutdown.patch new file mode 100644 index 00000000..163f41d6 --- /dev/null +++ b/logind-ignore-non-tty-non-x11-session-on-shutdown.patch @@ -0,0 +1,33 @@ +From 1ca04b87979b2add53ebb8a7fdf13c34fb6c2743 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 14 Jan 2013 21:40:38 +0100 +Subject: [PATCH] logind: ignore non-tty/non-x11 session when checking if + there are other sessions before shutting down + +https://bugzilla.redhat.com/show_bug.cgi?id=890827 +--- + src/login/logind-dbus.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c +index 77a06f2..d64debe 100644 +--- a/src/login/logind-dbus.c ++++ b/src/login/logind-dbus.c +@@ -979,9 +979,12 @@ static int have_multiple_sessions( + + assert(m); + +- /* Check for other users' sessions. Greeter sessions do not count. */ ++ /* Check for other users' sessions. Greeter sessions do not ++ * count, and non-login sessions do not count either. */ + HASHMAP_FOREACH(session, m->sessions, i) +- if (session->class == SESSION_USER && session->user->uid != uid) ++ if (session->class == SESSION_USER && ++ (session->type == SESSION_TTY || session->type == SESSION_X11) && ++ session->user->uid != uid) + return true; + + return false; +-- +1.7.10.4 + diff --git a/pam-properly-handle-ssh-logins-without-pam-tty-field.patch b/pam-properly-handle-ssh-logins-without-pam-tty-field.patch new file mode 100644 index 00000000..87595784 --- /dev/null +++ b/pam-properly-handle-ssh-logins-without-pam-tty-field.patch @@ -0,0 +1,57 @@ +From 0ad1271f564b9c956685938167f7ea8c301e835e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 23 Dec 2012 22:31:17 +0100 +Subject: [PATCH] pam: properly handle SSH logins lacking the PAM tty field + +--- + src/login/pam-module.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/src/login/pam-module.c b/src/login/pam-module.c +index 08a9328..e6764a1 100644 +--- a/src/login/pam-module.c ++++ b/src/login/pam-module.c +@@ -322,7 +322,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( + + struct passwd *pw; + bool kill_processes = false, debug = false; +- const char *username, *id, *object_path, *runtime_path, *service = NULL, *tty = NULL, *display = NULL, *remote_user = NULL, *remote_host = NULL, *seat = NULL, *type, *class, *cvtnr = NULL; ++ const char *username, *id, *object_path, *runtime_path, *service = NULL, *tty = NULL, *display = NULL, *remote_user = NULL, *remote_host = NULL, *seat = NULL, *type = NULL, *class, *cvtnr = NULL; + char **controllers = NULL, **reset_controllers = NULL, **kill_only_users = NULL, **kill_exclude_users = NULL; + DBusError error; + uint32_t uid, pid; +@@ -453,9 +453,17 @@ _public_ PAM_EXTERN int pam_sm_open_session( + display = tty; + tty = ""; + } else if (streq(tty, "cron")) { +- /* cron has been setting PAM_TTY to "cron" for a very long time +- * and it cannot stop doing that for compatibility reasons. */ ++ /* cron has been setting PAM_TTY to "cron" for a very ++ * long time and it probably shouldn't stop doing that ++ * for compatibility reasons. */ + tty = ""; ++ type = "unspecified"; ++ } else if (streq(tty, "ssh")) { ++ /* ssh has been setting PAM_TTY to "ssh" for a very ++ * long time and probably shouldn't stop doing that ++ * for compatibility reasons. */ ++ tty = ""; ++ type ="tty"; + } + + /* If this fails vtnr will be 0, that's intended */ +@@ -469,8 +477,9 @@ _public_ PAM_EXTERN int pam_sm_open_session( + get_seat_from_display(display, NULL, &vtnr); + } + +- type = !isempty(display) ? "x11" : +- !isempty(tty) ? "tty" : "unspecified"; ++ if (!type) ++ type = !isempty(display) ? "x11" : ++ !isempty(tty) ? "tty" : "unspecified"; + + class = pam_getenv(handle, "XDG_SESSION_CLASS"); + if (isempty(class)) +-- +1.7.10.4 + diff --git a/parse-multiline-env-file.patch b/parse-multiline-env-file.patch new file mode 100644 index 00000000..c0369e3f --- /dev/null +++ b/parse-multiline-env-file.patch @@ -0,0 +1,157 @@ +From 565d91fdf198b88f7c2d72c67cfc6c30341a3596 Mon Sep 17 00:00:00 2001 +From: Michal Vyskocil +Date: Fri, 18 Jan 2013 10:05:10 +0100 +Subject: [PATCH] util: continuation support for load_env_file + +Variable definitions can be written on more than one line - if each ends +with a backslash, then is concatenated with a previous one. Only +backslash and unix end of line (\n) are treated as a continuation. + +Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58083 + +[zj: squashed two patches together; cleaned up grammar; removed + comment about ignoring trailing backslash -- it is not ignored.] + +Document continuation support in systemd.exec +--- + man/systemd.exec.xml | 8 +++++--- + src/shared/util.c | 43 ++++++++++++++++++++++++++++++++++++++----- + 2 files changed, 43 insertions(+), 8 deletions(-) + +Index: systemd-195/man/systemd.exec.xml +=================================================================== +--- systemd-195.orig/man/systemd.exec.xml ++++ systemd-195/man/systemd.exec.xml +@@ -282,9 +282,11 @@ + contain new-line separated variable + assignments. Empty lines and lines + starting with ; or # will be ignored, +- which may be used for commenting. The +- parser strips leading and +- trailing whitespace from the values ++ which may be used for commenting. A line ++ ending with a backslash will be concatenated ++ with the following one, allowing multiline variable ++ definitions. The parser strips leading ++ and trailing whitespace from the values + of assignments, unless you use + double quotes ("). + The +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -876,33 +876,55 @@ fail: + return r; + } + +-int load_env_file( +- const char *fname, +- char ***rl) { +- +- FILE *f; +- char **m = NULL; +- int r; ++int load_env_file(const char *fname, ++ char ***rl) { ++ ++ FILE _cleanup_fclose_ *f; ++ char *b; ++ char _cleanup_free_ *c = NULL; ++ char _cleanup_strv_free_ **m = NULL; + + assert(fname); + assert(rl); + +- if (!(f = fopen(fname, "re"))) ++ f = fopen(fname, "re"); ++ if (!f) + return -errno; + + while (!feof(f)) { +- char l[LINE_MAX], *p, *u; ++ char l[LINE_MAX], *p, *u, *cs; + char **t; + + if (!fgets(l, sizeof(l), f)) { +- if (feof(f)) ++ if (!feof(f)) ++ return -errno; ++ else if (!c) + break; ++ } + +- r = -errno; +- goto finish; ++ cs = endswith(l, "\\\n"); ++ if (cs) { ++ *cs = '\0'; ++ b = strappend(c, l); ++ if (!b) ++ return log_oom(); ++ ++ free(c); ++ c = b; ++ *l = '\0'; ++ continue; + } + +- p = strstrip(l); ++ if (c) { ++ b = strappend(c, l); ++ if (!b) ++ return log_oom(); ++ ++ free(c); ++ c = b; ++ } ++ ++ p = strstrip(c ? c : l); + + if (!*p) + continue; +@@ -910,35 +932,27 @@ int load_env_file( + if (strchr(COMMENTS, *p)) + continue; + +- if (!(u = normalize_env_assignment(p))) { +- r = log_oom(); +- goto finish; +- } ++ u = normalize_env_assignment(p); ++ if (!u) ++ return log_oom(); ++ ++ free(c); ++ c = NULL; + + t = strv_append(m, u); + free(u); + +- if (!t) { +- r = log_oom(); +- goto finish; +- } ++ if (!t) ++ return log_oom(); + + strv_free(m); + m = t; + } + +- r = 0; +- + *rl = m; + m = NULL; + +-finish: +- if (f) +- fclose(f); +- +- strv_free(m); +- +- return r; ++ return 0; + } + + int write_env_file(const char *fname, char **l) { diff --git a/path-util-fix-potential-crash.patch b/path-util-fix-potential-crash.patch new file mode 100644 index 00000000..9399e947 --- /dev/null +++ b/path-util-fix-potential-crash.patch @@ -0,0 +1,27 @@ +From c9c7aef24f9750bbd51d2c13beff66473d96bf3c Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Thu, 13 Dec 2012 14:59:39 +0100 +Subject: [PATCH] path-util: set pointer to null after calling free() + +In cases where path_strv_canonicalize() returns NULL, strv_free() is +called afterwards and it will call free() on pointers which were freed +already in path_strv_canonicalize() +--- + src/shared/path-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/shared/path-util.c b/src/shared/path-util.c +index 70c8a8a..dd12d3d 100644 +--- a/src/shared/path-util.c ++++ b/src/shared/path-util.c +@@ -181,6 +181,7 @@ char **path_strv_canonicalize(char **l) { + + t = path_make_absolute_cwd(*s); + free(*s); ++ *s = NULL; + + if (!t) { + enomem = true; +-- +1.7.10.4 + diff --git a/reword-rescue-mode-hints.patch b/reword-rescue-mode-hints.patch new file mode 100644 index 00000000..e6e7db87 --- /dev/null +++ b/reword-rescue-mode-hints.patch @@ -0,0 +1,30 @@ +From aa6eba407be2c23882bf41a1beafbbd1352f7ab3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Oct 2012 16:32:12 +0200 +Subject: [PATCH] units: reword rescue mode hints + +Do not suggest to the user that commands can be issued before +logging in. + +sulogin prints it own message, which mentions ^D, so there's no need +to repeat it here. +--- + units/emergency.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/emergency.service.in b/units/emergency.service.in +index 1815f9d..129a831 100644 +--- a/units/emergency.service.in ++++ b/units/emergency.service.in +@@ -16,7 +16,7 @@ Before=shutdown.target + Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit +-ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -b" to view system logs. Type "systemctl reboot" to reboot.' ++ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -b" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' + ExecStart=-/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default + Type=idle +-- +1.7.10.4 + diff --git a/service-forking-ignore-exit-status-main-process.patch b/service-forking-ignore-exit-status-main-process.patch new file mode 100644 index 00000000..da4c695f --- /dev/null +++ b/service-forking-ignore-exit-status-main-process.patch @@ -0,0 +1,48 @@ +From fbeefb45ac1a257a0c5af975ad26d68ed6c39fda Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 14 Jan 2013 21:05:17 +0100 +Subject: [PATCH] service: for Type=forking services, ignore exit status of + main process depending on ExecStart's ignore setting + +https://bugzilla.redhat.com/show_bug.cgi?id=860464 +--- + src/core/service.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 8e9e112..7eaac0d 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2926,15 +2926,25 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { + s->main_pid = 0; + exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status); + +- /* If this is not a forking service than the main +- * process got started and hence we copy the exit +- * status so that it is recorded both as main and as +- * control process exit status */ + if (s->main_command) { ++ /* If this is not a forking service than the ++ * main process got started and hence we copy ++ * the exit status so that it is recorded both ++ * as main and as control process exit ++ * status */ ++ + s->main_command->exec_status = s->main_exec_status; + + if (s->main_command->ignore) + f = SERVICE_SUCCESS; ++ } else if (s->exec_command[SERVICE_EXEC_START]) { ++ ++ /* If this is a forked process, then we should ++ * ignore the return value if this was ++ * configured for the starter process */ ++ ++ if (s->exec_command[SERVICE_EXEC_START]->ignore) ++ f = SERVICE_SUCCESS; + } + + log_struct(f == SERVICE_SUCCESS ? LOG_DEBUG : LOG_NOTICE, +-- +1.7.10.4 + diff --git a/shutdown-dont-force-mnt-force-on-final-umount.patch b/shutdown-dont-force-mnt-force-on-final-umount.patch new file mode 100644 index 00000000..cd95df86 --- /dev/null +++ b/shutdown-dont-force-mnt-force-on-final-umount.patch @@ -0,0 +1,35 @@ +From 0c08f5cde749bd2818475e487109cd0d413452df Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 16 Jan 2013 03:51:56 +0100 +Subject: [PATCH] shutdown: in the final umount loop don't use MNT_FORCE + +MNT_FORCE is honoured by NFS and FUSE and allows unmounting of the FS +even if consumers still use it. For our brute-force loop we rely on +EBUSY being reported as long as a file system is still used by a +loopback device or suchlike. Hence, drop MNT_FORCE to make EBUSY +reliable. +--- + src/core/umount.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/core/umount.c b/src/core/umount.c +index 96232d3..c7b6cee 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -442,9 +442,11 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e + ) + continue; + +- /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */ ++ /* Trying to umount. We don't force here since we rely ++ * on busy NFS and FUSE file systems to return EBUSY ++ * until we closed everything on top of them. */ + log_info("Unmounting %s.", m->path); +- if (umount2(m->path, MNT_FORCE) == 0) { ++ if (umount2(m->path, 0) == 0) { + if (changed) + *changed = true; + +-- +1.7.10.4 + diff --git a/shutdown-ignore-loop-devices-without-backing-file.patch b/shutdown-ignore-loop-devices-without-backing-file.patch new file mode 100644 index 00000000..44992a7f --- /dev/null +++ b/shutdown-ignore-loop-devices-without-backing-file.patch @@ -0,0 +1,37 @@ +From bdffb521d01a2e2bc342154d74cb519755c52c25 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 16 Jan 2013 04:35:54 +0100 +Subject: [PATCH] shutdown: ignore loop devices without a backing file + +--- + src/core/umount.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/core/umount.c b/src/core/umount.c +index c7b6cee..f0f2711 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -233,6 +233,7 @@ static int loopback_list_get(MountPoint **head) { + udev_list_entry_foreach(item, first) { + MountPoint *lb; + struct udev_device *d; ++ const char *backing; + char *loop; + const char *dn; + +@@ -241,6 +242,12 @@ static int loopback_list_get(MountPoint **head) { + goto finish; + } + ++ backing = udev_device_get_sysattr_value(d, "loop/backing_file"); ++ if (!backing) { ++ udev_device_unref(d); ++ continue; ++ } ++ + if (!(dn = udev_device_get_devnode(d))) { + udev_device_unref(d); + continue; +-- +1.7.10.4 + diff --git a/shutdown-improvements.patch b/shutdown-improvements.patch new file mode 100644 index 00000000..8d09881e --- /dev/null +++ b/shutdown-improvements.patch @@ -0,0 +1,273 @@ +From 2569a5ce16638d99f1ebaaa7774d183496d8b8e8 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 7 Dec 2012 17:28:30 +0100 +Subject: [PATCH] shutdown: downgrade a warning + +All messages of the kind "not all done, %d left" are log_info, except +the one for DM devices. Make it info too. +--- + src/core/shutdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/shutdown.c b/src/core/shutdown.c +index 4bb4b4d..192746a 100644 +--- a/src/core/shutdown.c ++++ b/src/core/shutdown.c +@@ -233,7 +233,7 @@ int main(int argc, char *argv[]) { + if (r == 0) + need_dm_detach = false; + else if (r > 0) +- log_warning("Not all DM devices detached, %d left.", r); ++ log_info("Not all DM devices detached, %d left.", r); + else + log_error("Failed to detach DM devices: %s", strerror(-r)); + } +-- +1.7.10.4 + +From c678406681d32d56730b9e9c002d5500d7aa7f8b Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 7 Dec 2012 17:34:21 +0100 +Subject: [PATCH] umount: fix check for DM changed + +delete_dm() returns 0 on success. The check for "r > 0" was likely +a copy&paste error from the loopback code where "r > 0" makes sense. +--- + src/core/umount.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/umount.c b/src/core/umount.c +index f6c520e..8776807 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -536,7 +536,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { + + if ((r = delete_dm(m->devnum)) >= 0) { + +- if (r > 0 && changed) ++ if (changed) + *changed = true; + + mount_point_free(head, m); +-- +1.7.10.4 + +From bce93b7ac7642426039863493694d8c12812e2a7 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 7 Dec 2012 17:44:50 +0100 +Subject: [PATCH] shutdown, umount: logging improvements + +In bugreports about hangs during the late shutdown we are often missing +important information - what were we trying to unmount/detach when it hung. + +Instead of printing what we successfully unmounted, print what we are +going to unmount/detach. And add messages to mark the completion of +categories (mount/swap/loop/DM). +--- + src/core/shutdown.c | 20 ++++++++++++-------- + src/core/umount.c | 15 +++++++++------ + 2 files changed, 21 insertions(+), 14 deletions(-) + +diff --git a/src/core/shutdown.c b/src/core/shutdown.c +index 192746a..6783008 100644 +--- a/src/core/shutdown.c ++++ b/src/core/shutdown.c +@@ -197,9 +197,10 @@ int main(int argc, char *argv[]) { + if (need_umount) { + log_info("Unmounting file systems."); + r = umount_all(&changed); +- if (r == 0) ++ if (r == 0) { + need_umount = false; +- else if (r > 0) ++ log_info("All filesystems unmounted."); ++ } else if (r > 0) + log_info("Not all file systems unmounted, %d left.", r); + else + log_error("Failed to unmount file systems: %s", strerror(-r)); +@@ -208,9 +209,10 @@ int main(int argc, char *argv[]) { + if (need_swapoff) { + log_info("Disabling swaps."); + r = swapoff_all(&changed); +- if (r == 0) ++ if (r == 0) { + need_swapoff = false; +- else if (r > 0) ++ log_info("All swaps disabled."); ++ } else if (r > 0) + log_info("Not all swaps are turned off, %d left.", r); + else + log_error("Failed to turn off swaps: %s", strerror(-r)); +@@ -219,9 +221,10 @@ int main(int argc, char *argv[]) { + if (need_loop_detach) { + log_info("Detaching loop devices."); + r = loopback_detach_all(&changed); +- if (r == 0) ++ if (r == 0) { + need_loop_detach = false; +- else if (r > 0) ++ log_info("All loop devices detached."); ++ } else if (r > 0) + log_info("Not all loop devices detached, %d left.", r); + else + log_error("Failed to detach loop devices: %s", strerror(-r)); +@@ -230,9 +233,10 @@ int main(int argc, char *argv[]) { + if (need_dm_detach) { + log_info("Detaching DM devices."); + r = dm_detach_all(&changed); +- if (r == 0) ++ if (r == 0) { + need_dm_detach = false; +- else if (r > 0) ++ log_info("All DM devices detached."); ++ } else if (r > 0) + log_info("Not all DM devices detached, %d left.", r); + else + log_error("Failed to detach DM devices: %s", strerror(-r)); +diff --git a/src/core/umount.c b/src/core/umount.c +index 8776807..fd90d9f 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -443,8 +443,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e + continue; + + /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */ ++ log_info("Unmounting %s.", m->path); + if (umount2(m->path, MNT_FORCE) == 0) { +- log_info("Unmounted %s.", m->path); + if (changed) + *changed = true; + +@@ -465,6 +465,7 @@ static int swap_points_list_off(MountPoint **head, bool *changed) { + assert(head); + + LIST_FOREACH_SAFE(mount_point, m, n, *head) { ++ log_info("Disabling swap %s.", m->path); + if (swapoff(m->path) == 0) { + if (changed) + *changed = true; +@@ -500,8 +501,9 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) { + continue; + } + +- if ((r = delete_loopback(m->path)) >= 0) { +- ++ log_info("Deleting loopback %s.", m->path); ++ r = delete_loopback(m->path); ++ if (r >= 0) { + if (r > 0 && changed) + *changed = true; + +@@ -534,14 +536,15 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { + continue; + } + +- if ((r = delete_dm(m->devnum)) >= 0) { +- ++ log_info("Deleting DM %u:%u.", major(m->devnum), minor(m->devnum)); ++ r = delete_dm(m->devnum); ++ if (r >= 0) { + if (changed) + *changed = true; + + mount_point_free(head, m); + } else { +- log_warning("Could not delete dm %s: %m", m->path); ++ log_warning("Could not delete DM %s: %m", m->path); + n_failed++; + } + } +-- +1.7.10.4 + +From 735e0712710a1dc26da0febafb91b242b2687f3f Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 7 Dec 2012 18:02:43 +0100 +Subject: [PATCH] shutdown, umount: use verbs consistently + +Mounts are "unmounted". +Swaps are "deactivated", not "turned off" nor "disabled". +Loop and DM devices are "detached", not "deleted". + +Especially the deleting sounded a bit scary. +--- + src/core/shutdown.c | 8 ++++---- + src/core/umount.c | 10 +++++----- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/core/shutdown.c b/src/core/shutdown.c +index 6783008..0b0e0c3 100644 +--- a/src/core/shutdown.c ++++ b/src/core/shutdown.c +@@ -207,15 +207,15 @@ int main(int argc, char *argv[]) { + } + + if (need_swapoff) { +- log_info("Disabling swaps."); ++ log_info("Deactivating swaps."); + r = swapoff_all(&changed); + if (r == 0) { + need_swapoff = false; +- log_info("All swaps disabled."); ++ log_info("All swaps deactivated."); + } else if (r > 0) +- log_info("Not all swaps are turned off, %d left.", r); ++ log_info("Not all swaps deactivated, %d left.", r); + else +- log_error("Failed to turn off swaps: %s", strerror(-r)); ++ log_error("Failed to deactivate swaps: %s", strerror(-r)); + } + + if (need_loop_detach) { +diff --git a/src/core/umount.c b/src/core/umount.c +index fd90d9f..96232d3 100644 +--- a/src/core/umount.c ++++ b/src/core/umount.c +@@ -465,7 +465,7 @@ static int swap_points_list_off(MountPoint **head, bool *changed) { + assert(head); + + LIST_FOREACH_SAFE(mount_point, m, n, *head) { +- log_info("Disabling swap %s.", m->path); ++ log_info("Deactivating swap %s.", m->path); + if (swapoff(m->path) == 0) { + if (changed) + *changed = true; +@@ -501,7 +501,7 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) { + continue; + } + +- log_info("Deleting loopback %s.", m->path); ++ log_info("Detaching loopback %s.", m->path); + r = delete_loopback(m->path); + if (r >= 0) { + if (r > 0 && changed) +@@ -509,7 +509,7 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) { + + mount_point_free(head, m); + } else { +- log_warning("Could not delete loopback %s: %m", m->path); ++ log_warning("Could not detach loopback %s: %m", m->path); + n_failed++; + } + } +@@ -536,7 +536,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { + continue; + } + +- log_info("Deleting DM %u:%u.", major(m->devnum), minor(m->devnum)); ++ log_info("Detaching DM %u:%u.", major(m->devnum), minor(m->devnum)); + r = delete_dm(m->devnum); + if (r >= 0) { + if (changed) +@@ -544,7 +544,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { + + mount_point_free(head, m); + } else { +- log_warning("Could not delete DM %s: %m", m->path); ++ log_warning("Could not detach DM %s: %m", m->path); + n_failed++; + } + } +-- +1.7.10.4 + diff --git a/socket-improve-error-message.patch b/socket-improve-error-message.patch new file mode 100644 index 00000000..cb0f735a --- /dev/null +++ b/socket-improve-error-message.patch @@ -0,0 +1,26 @@ +From 10f70492aea211981e4bdbe58dd7ea110e05cd16 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 20 Nov 2012 00:19:00 +0100 +Subject: [PATCH] socket: improve error message when we cannot spawn the + socket's service unit + +--- + src/core/socket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/socket.c b/src/core/socket.c +index c095981..f4f40af 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -1542,7 +1542,7 @@ static void socket_enter_running(Socket *s, int cfd) { + return; + + fail: +- log_warning("%s failed to queue socket startup job: %s", UNIT(s)->id, bus_error(&error, r)); ++ log_warning("%s failed to queue service startup job (Maybe the service file is missing or not a %s unit?): %s", UNIT(s)->id, cfd >= 0 ? "template" : "non-template", bus_error(&error, r)); + socket_enter_stop_pre(s, SOCKET_FAILURE_RESOURCES); + + if (cfd >= 0) +-- +1.7.10.4 + diff --git a/socket-verbose-error-message.patch b/socket-verbose-error-message.patch new file mode 100644 index 00000000..6d3d6f62 --- /dev/null +++ b/socket-verbose-error-message.patch @@ -0,0 +1,32 @@ +From 80cba3795da3a43b27cbb219d7daf7d6f049b079 Mon Sep 17 00:00:00 2001 +From: Dimitrios Apostolou +Date: Wed, 19 Dec 2012 22:32:52 +0100 +Subject: [PATCH] socket: Too many incoming connections + +Hello list, + +some socket activated service gave me the error message you can see on +the subject, maybe systemd should be more verbose in that case. + +Thanks, +Dimitris +--- + src/core/socket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/socket.c b/src/core/socket.c +index 9b5bcb6..49e795e 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -1484,7 +1484,7 @@ static void socket_enter_running(Socket *s, int cfd) { + Service *service; + + if (s->n_connections >= s->max_connections) { +- log_warning("Too many incoming connections (%u)", s->n_connections); ++ log_warning("%s: Too many incoming connections (%u)", UNIT(s)->id, s->n_connections); + close_nointr_nofail(cfd); + return; + } +-- +1.7.10.4 + diff --git a/strv-cleanup-error-path-loops.patch b/strv-cleanup-error-path-loops.patch new file mode 100644 index 00000000..8a8c728d --- /dev/null +++ b/strv-cleanup-error-path-loops.patch @@ -0,0 +1,238 @@ +From 1fd8d04e384ae2066c02129b033c6be509edfd67 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 30 Oct 2012 18:29:45 +0100 +Subject: [PATCH] strv: cleanup error path loops + +https://bugzilla.redhat.com/show_bug.cgi?id=858799 +--- + src/shared/strv.c | 100 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 49 insertions(+), 51 deletions(-) + +diff --git a/src/shared/strv.c b/src/shared/strv.c +index 1b8e27b..6b76d0e 100644 +--- a/src/shared/strv.c ++++ b/src/shared/strv.c +@@ -75,25 +75,21 @@ void strv_freep(char ***l) { + char **strv_copy(char **l) { + char **r, **k; + +- k = r = new(char*, strv_length(l)+1); +- if (!k) ++ k = r = new(char*, strv_length(l) + 1); ++ if (!r) + return NULL; + + if (l) +- for (; *l; k++, l++) +- if (!(*k = strdup(*l))) +- goto fail; ++ for (; *l; k++, l++) { ++ *k = strdup(*l); ++ if (!*k) { ++ strv_free(r); ++ return NULL; ++ } ++ } + + *k = NULL; + return r; +- +-fail: +- for (k--; k >= r; k--) +- free(*k); +- +- free(r); +- +- return NULL; + } + + unsigned strv_length(char **l) { +@@ -163,13 +159,7 @@ char **strv_new_ap(const char *x, va_list ap) { + return a; + + fail: +- +- for (; i > 0; i--) +- if (a[i-1]) +- free(a[i-1]); +- +- free(a); +- ++ strv_free(a); + return NULL; + } + +@@ -265,16 +255,21 @@ char **strv_split(const char *s, const char *separator) { + FOREACH_WORD_SEPARATOR(w, l, s, separator, state) + n++; + +- if (!(r = new(char*, n+1))) ++ r = new(char*, n+1); ++ if (!r) + return NULL; + + i = 0; +- FOREACH_WORD_SEPARATOR(w, l, s, separator, state) +- if (!(r[i++] = strndup(w, l))) { ++ FOREACH_WORD_SEPARATOR(w, l, s, separator, state) { ++ r[i] = strndup(w, l); ++ if (!r[i]) { + strv_free(r); + return NULL; + } + ++ i++; ++ } ++ + r[i] = NULL; + return r; + } +@@ -292,15 +287,19 @@ char **strv_split_quoted(const char *s) { + FOREACH_WORD_QUOTED(w, l, s, state) + n++; + +- if (!(r = new(char*, n+1))) ++ r = new(char*, n+1); ++ if (!r) + return NULL; + + i = 0; +- FOREACH_WORD_QUOTED(w, l, s, state) +- if (!(r[i++] = cunescape_length(w, l))) { ++ FOREACH_WORD_QUOTED(w, l, s, state) { ++ r[i] = cunescape_length(w, l); ++ if (!r[i]) { + strv_free(r); + return NULL; + } ++ i++; ++ } + + r[i] = NULL; + return r; +@@ -323,7 +322,8 @@ char *strv_join(char **l, const char *separator) { + n += strlen(*s); + } + +- if (!(r = new(char, n+1))) ++ r = new(char, n+1); ++ if (!r) + return NULL; + + e = r; +@@ -352,22 +352,21 @@ char **strv_append(char **l, const char *s) { + if (!r) + return NULL; + +- for (k = r; *l; k++, l++) +- if (!(*k = strdup(*l))) ++ for (k = r; *l; k++, l++) { ++ *k = strdup(*l); ++ if (!*k) + goto fail; ++ } + +- if (!(*(k++) = strdup(s))) ++ k[0] = strdup(s); ++ if (!k[0]) + goto fail; + +- *k = NULL; ++ k[1] = NULL; + return r; + + fail: +- for (k--; k >= r; k--) +- free(*k); +- +- free(r); +- ++ strv_free(r); + return NULL; + } + +@@ -462,7 +461,8 @@ static int env_append(char **r, char ***k, char **a) { + else + free(*j); + +- if (!(*j = strdup(*a))) ++ *j = strdup(*a); ++ if (!*j) + return -ENOMEM; + } + +@@ -484,7 +484,8 @@ char **strv_env_merge(unsigned n_lists, ...) { + } + va_end(ap); + +- if (!(r = new(char*, n+1))) ++ r = new(char*, n+1); ++ if (!r) + return NULL; + + k = r; +@@ -503,11 +504,7 @@ char **strv_env_merge(unsigned n_lists, ...) { + + fail: + va_end(ap); +- +- for (k--; k >= r; k--) +- free(*k); +- +- free(r); ++ strv_free(r); + + return NULL; + } +@@ -619,7 +616,8 @@ char **strv_env_set(char **x, const char *p) { + + /* Overrides the env var setting of p, returns a new copy */ + +- if (!(r = new(char*, strv_length(x)+2))) ++ r = new(char*, strv_length(x)+2); ++ if (!r) + return NULL; + + k = r; +@@ -634,11 +632,7 @@ char **strv_env_set(char **x, const char *p) { + return r; + + fail: +- for (k--; k >= r; k--) +- free(*k); +- +- free(r); +- ++ strv_free(r); + return NULL; + + } +@@ -698,7 +692,8 @@ char **strv_parse_nulstr(const char *s, size_t l) { + if (s[l-1] != 0) + c++; + +- if (!(v = new0(char*, c+1))) ++ v = new0(char*, c+1); ++ if (!v) + return NULL; + + p = s; +@@ -707,11 +702,14 @@ char **strv_parse_nulstr(const char *s, size_t l) { + + e = memchr(p, 0, s + l - p); + +- if (!(v[i++] = strndup(p, e ? e - p : s + l - p))) { ++ v[i] = strndup(p, e ? e - p : s + l - p); ++ if (!v[i]) { + strv_free(v); + return NULL; + } + ++ i++; ++ + if (!e) + break; + +-- +1.7.10.4 + diff --git a/sysctl-parse-all-keys.patch b/sysctl-parse-all-keys.patch new file mode 100644 index 00000000..4a8110ca --- /dev/null +++ b/sysctl-parse-all-keys.patch @@ -0,0 +1,26 @@ +From 91b32fa987a4a50faf3d8561b28b6c9d5150adef Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Thu, 25 Oct 2012 16:16:19 +0200 +Subject: [PATCH] sysctl: parse all keys in a config file + +https://bugzilla.redhat.com/show_bug.cgi?id=869779 +--- + src/sysctl/sysctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c +index a68d67f..035e0ec 100644 +--- a/src/sysctl/sysctl.c ++++ b/src/sysctl/sysctl.c +@@ -178,7 +178,7 @@ static int parse_file(const char *path, bool ignore_enoent) { + + free(property); + free(new_value); +- if (r != -EEXIST) ++ if (r != 0) + goto finish; + } + } +-- +1.7.10.4 + diff --git a/systemctl-no-assert-on-reboot-without-dbus.patch b/systemctl-no-assert-on-reboot-without-dbus.patch new file mode 100644 index 00000000..9b8412fb --- /dev/null +++ b/systemctl-no-assert-on-reboot-without-dbus.patch @@ -0,0 +1,28 @@ +From d255133d8edc84662d2370a77414505a800d1922 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sat, 12 Jan 2013 00:00:22 +0100 +Subject: [PATCH] systemctl: don't hit an assert if we try to reboot and dbus + is dead + +https://bugzilla.redhat.com/show_bug.cgi?id=889624 +--- + src/systemctl/systemctl.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 0def1a2..bfa4d45 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -1738,6 +1738,9 @@ static int reboot_with_logind(DBusConnection *bus, enum action a) { + const char *method; + dbus_bool_t interactive = true; + ++ if (!bus) ++ return -EIO; ++ + polkit_agent_open_if_enabled(); + + switch (a) { +-- +1.7.10.4 + diff --git a/systemctl-options.patch b/systemctl-options.patch new file mode 100644 index 00000000..0b100b2f --- /dev/null +++ b/systemctl-options.patch @@ -0,0 +1,49 @@ +Index: systemd-195/src/systemctl/systemctl.c +=================================================================== +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -5239,6 +5239,7 @@ static int runlevel_main(void) { + + int main(int argc, char*argv[]) { + int r, retval = EXIT_FAILURE; ++ char **to_free = NULL; + DBusConnection *bus = NULL; + DBusError error; + +@@ -5247,6 +5248,27 @@ int main(int argc, char*argv[]) { + log_parse_environment(); + log_open(); + ++ if (secure_getenv("SYSTEMCTL_OPTIONS")) { ++ char **parsed_systemctl_options = strv_split_quoted(getenv("SYSTEMCTL_OPTIONS")); ++ ++ if (*parsed_systemctl_options && **parsed_systemctl_options) { ++ char **k,**a; ++ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); ++ new_argv[0] = strdup(argv[0]); ++ for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { ++ *k = strdup(*a); ++ } ++ for (a = argv+1; *a; k++, a++) { ++ *k = strdup(*a); ++ } ++ *k = NULL; ++ argv = new_argv; ++ argc = strv_length(new_argv); ++ strv_free (parsed_systemctl_options); ++ to_free = new_argv; ++ } ++ } ++ + r = parse_argv(argc, argv); + if (r < 0) + goto finish; +@@ -5348,6 +5370,8 @@ finish: + + strv_free(arg_property); + ++ strv_free(to_free); ++ + pager_close(); + ask_password_agent_close(); + polkit_agent_close(); diff --git a/systemctl-verbose-message-on-missing-install.patch b/systemctl-verbose-message-on-missing-install.patch new file mode 100644 index 00000000..e6e88ac1 --- /dev/null +++ b/systemctl-verbose-message-on-missing-install.patch @@ -0,0 +1,39 @@ +From 4b9d3dc9748ec3f52a71b06f851f4398462a1c60 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 6 Dec 2012 16:20:10 +0100 +Subject: [PATCH] systemctl: verbose message on missing [Install] + +People still don't understand what the message implies. +We have to be more verbose (or more intelligent and detect some of the +cases automatically, but that's not so easy). + +https://bugzilla.redhat.com/show_bug.cgi?id=884438 +--- + src/systemctl/systemctl.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 6d01756..3abd7dc 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -3782,7 +3782,16 @@ static int enable_unit(DBusConnection *bus, char **args) { + } + + if (carries_install_info == 0) +- log_warning("The unit files have no [Install] section. They are not meant to be enabled using systemctl."); ++ log_warning( ++"The unit files have no [Install] section. They are not meant to be enabled\n" ++"using systemctl.\n" ++"Possible reasons for having this kind of units are:\n" ++"1) A unit may be statically enabled by being symlinked from another unit's\n" ++" .wants/ or .requires/ directory.\n" ++"2) A unit's purpose may be to act as a helper for some other unit which has\n" ++" a requirement dependency on it.\n" ++"3) A unit may be started when needed via activation (socket, path, timer,\n" ++" D-Bus, udev, scripted systemctl call, ...).\n"); + + finish: + if (m) +-- +1.7.10.4 + diff --git a/systemd-cgls-fix-piping-output.patch b/systemd-cgls-fix-piping-output.patch new file mode 100644 index 00000000..8c09be4e --- /dev/null +++ b/systemd-cgls-fix-piping-output.patch @@ -0,0 +1,37 @@ +From 7009eec20823add711e0aa452bdf9dfdd677fa4f Mon Sep 17 00:00:00 2001 +From: Anders Olofsson +Date: Mon, 19 Nov 2012 15:25:36 +0100 +Subject: [PATCH] shared/utils: systemd-cgls shows 'n/a' when piping output + +-1 was used to signal failure, but the type was unsigned. + +https://bugs.freedesktop.org/show_bug.cgi?id=56644 +--- + src/shared/util.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 4cf928f..d771d32 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -3803,7 +3803,7 @@ int fd_columns(int fd) { + + unsigned columns(void) { + const char *e; +- unsigned c; ++ int c; + + if (_likely_(cached_columns > 0)) + return cached_columns; +@@ -3811,7 +3811,7 @@ unsigned columns(void) { + c = 0; + e = getenv("COLUMNS"); + if (e) +- safe_atou(e, &c); ++ safe_atoi(e, &c); + + if (c <= 0) + c = fd_columns(STDOUT_FILENO); +-- +1.7.10.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 236dff45..130639ed 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,95 @@ +------------------------------------------------------------------- +Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com + +- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly + (bnc#798620). +- Update crypt-loop-file.patch to correctly detect crypto loop + files (bnc#799514). +- Add journalctl-remove-leftover-message.patch: remove debug + message in systemctl. +- Add job-avoid-recursion-when-cancelling.patch: prevent potential + recursion when cancelling a service. +- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully + parsed. +- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff + max date for journal. +- Add reword-rescue-mode-hints.patch: reword rescue prompt. +- Add improve-overflow-checks.patch: improve time overflow checks. +- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour + with symlinks. +- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure + hostnamectl requires an argument when called with set-hostname + option. +- Add agetty-overrides-term.patch: pass correctly terminal type to + agetty. +- Add check-for-empty-strings-in-strto-conversions.patch: better + check for empty strings in strto* conversions. +- Add strv-cleanup-error-path-loops.patch: cleanup strv on error + path. +- Add cryptsetup-handle-plain.patch: correctly handle "plain" + option in cryptsetup. +- Add fstab-generator-improve-error-message.patch: improve error + message in fstab-generator. +- Add delta-accept-t-option.patch: accept -t option in + systemd-delta. +- Add highlight-ordering-cycle-deletions.patch: highlight ordering + cycle deletions in logs. +- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; + in ExecStart. +- Add hostnamectl-fix-parsing-no-ask-password.patch: accept + no-ask-password in hostnamectl. +- Add systemd-cgls-fix-piping-output.patch: fix piping output of + systemd-cgls. +- Add core-load-fragment-improve-error-message.patch: improve error + message when parsing fragments. +- Add fix-potential-bad-mem-access.patch: fix potential bad memory + access. +- Add socket-improve-error-message.patch: improve error message in + socket handling. +- Add journal-send-always-send-syslog_identifier.patch: always send + syslog_identifier if available for journal. +- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. +- Add crypsetup-generator-state-file-name-in-error-message.patch: + add filename in error message from crypsetup-generator. +- Add fstab-generator-error-message-on-duplicates.patch: improve + error message on duplicate in fstab-generator. +- Add systemctl-verbose-message-on-missing-install.patch: reword + missing install error message in systemctl. +- Add shutdown-improvements.patch: various improvements at + shutdown. +- Add localectl-fix-assertion.patch: fix assertion in localectl. +- Add path-util-fix-potential-crash.patch: fix potential crash in + path-util. +- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. +- Add socket-verbose-error-message.patch: add more verbose error + message in socket handling. +- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: + handle properly ssh-logins without pam tty field. +- Add fstab-generator-properly-detect-bind-mounts.patch: properly + detect bind-mounts in fstab-generator. +- Add localectl-support-systems-without-locale-archive.patch: + localectl now supports systemd without locale-archive file. +- Add logind-capability-making-seats-without-fb.patch: allows + capability of making seats without fb. +- Add service-forking-ignore-exit-status-main-process.patch: ignore + exit-statis of main process when forking, if specified in unit + file. +- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't + assert on reboot if dbus isn't there. +- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: + ignore non tty non-x11 session on shutdown. +- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io + error. +- Add do-not-make-sockets-dependent-on-lo.patch: do not make + sockets dependent on lo interface. +- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't + force MNT_FORCE on final umount at shutdown. +- Add shutdown-ignore-loop-devices-without-backing-file.patch: + ignore loop devices without backing file at shutdown. +- Add fix-bad-mem-access.patch: fix bad memory access +- Add parse-multiline-env-file.patch: correctly parse multiline + environment files (bnc#793411). + ------------------------------------------------------------------- Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index cd7f7422..568f40f8 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -137,6 +137,8 @@ Patch71: fix-debugshell.patch Patch72: handle-root-uses-lang.patch # PATCH-FIX-OPENSUSE multiple-sulogin.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch76: multiple-sulogin.patch +# PATCH-FIX-OPENSUSE systemctl-options.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch77: systemctl-options.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -164,6 +166,94 @@ Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch Patch74: detect-btrfs-ssd.patch # PATCH-FIX-UPSTREAM timedated-donot-close-bogus-dbus-connection.patch crrodriguez@opensuse.org -- Fix assertion failure when dbus is gone. Patch75: timedated-donot-close-bogus-dbus-connection.patch +# PATCH-FIX-UPSTREAM journalctl-remove-leftover-message.patch fcrozat@suse.com -- remove debug message in systemctl +Patch78: journalctl-remove-leftover-message.patch +# PATCH-FIX-UPSTREAM job-avoid-recursion-when-cancelling.patch fcrozat@suse.com -- prevent potential recursion when cancelling a service +Patch79: job-avoid-recursion-when-cancelling.patch +# PATCH-FIX-UPSTREAM sysctl-parse-all-keys.patch fcrozat@suse.com -- ensure sysctl file is fully parsed +Patch80: sysctl-parse-all-keys.patch +# PATCH-FIX-UPSTREAM journal-fix-cutoff-max-date.patch fcrozat@suse.com -- fix computation of cutoff max date for journal +Patch81: journal-fix-cutoff-max-date.patch +# PATCH-FIX-UPSTREAM reword-rescue-mode-hints.patch fcrozat@suse.com -- reword rescue prompt +Patch82: reword-rescue-mode-hints.patch +# PATCH-FIX-UPSTREAM improve-overflow-checks.patch fcrozat@suse.com -- improve time overflow checks +Patch83: improve-overflow-checks.patch +# PATCH-FIX-UPSTREAM fix-swap-behaviour-with-symlinks.patch fcrozat@suse.com -- fix swap behaviour with symlinks +Patch84: fix-swap-behaviour-with-symlinks.patch +# PATCH-FIX-UPSTREAM hostnamectl-fix-set-hostname-with-no-argument.patch fcrozat@suse.com -- ensure hostnamectl requires an argument when called with set-hostname option +Patch85: hostnamectl-fix-set-hostname-with-no-argument.patch +# PATCH-FIX-UPSTREAM agetty-overrides-term.patch fcrozat@suse.com -- pass correctly terminal type to agetty +Patch86: agetty-overrides-term.patch +# PATCH-FIX-UPSTREAM check-for-empty-strings-in-strto-conversions.patch fcrozat@suse.com -- better check for empty strings in strto* conversions +Patch87: check-for-empty-strings-in-strto-conversions.patch +# PATCH-FIX-UPSTREAM strv-cleanup-error-path-loops.patch fcrozat@suse.com -- cleanup strv on error path +Patch88: strv-cleanup-error-path-loops.patch +# PATCH-FIX-UPSTREAM cryptsetup-handle-plain.patch fcrozat@suse.com -- correctly handle "plain" option in cryptsetup +Patch89: cryptsetup-handle-plain.patch +# PATCH-FIX-UPSTREAM fstab-generator-improve-error-message.patch fcrozat@suse.com -- improve error message in fstab-generator +Patch90: fstab-generator-improve-error-message.patch +# PATCH-FIX-UPSTREAM delta-accept-t-option.patch fcrozat@suse.com -- accept -t option in systemd-delta +Patch91: delta-accept-t-option.patch +# PATCH-FIX-UPSTREAM highlight-ordering-cycle-deletions.patch fcrozat@suse.com -- highlight ordering cycle deletions in logs +Patch92: highlight-ordering-cycle-deletions.patch +# PATCH-FIX-UPSTREAM core-interpret-escaped-semicolon-as-escaped.patch fcrozat@suse.com -- accept \; in ExecStart +Patch93: core-interpret-escaped-semicolon-as-escaped.patch +# PATCH-FIX-UPSTREAM hostnamectl-fix-parsing-no-ask-password.patch fcrozat@suse.com -- accept no-ask-password in hostnamectl +Patch94: hostnamectl-fix-parsing-no-ask-password.patch +# PATCH-FIX-UPSTREAM systemd-cgls-fix-piping-output.patch fcrozat@suse.com -- fix piping output of systemd-cgls +Patch95: systemd-cgls-fix-piping-output.patch +# PATCH-FIX-UPSTREAM core-load-fragment-improve-error-message.patch fcrozat@suse.com -- improve error message when parsing fragments +Patch96: core-load-fragment-improve-error-message.patch +# PATCH-FIX-UPSTREAM fix-potential-bad-mem-access.patch fcrozat@suse.com -- fix potential bad memory access +Patch97: fix-potential-bad-mem-access.patch +# PATCH-FIX-UPSTREAM socket-improve-error-message.patch fcrozat@suse.com -- improve error message in socket handling +Patch98: socket-improve-error-message.patch +# PATCH-FIX-UPSTREAM journal-send-always-send-syslog_identifier.patch fcrozat@suse.com -- always send syslog_identifier if available for journal +Patch99: journal-send-always-send-syslog_identifier.patch +# PATCH-FIX-UPSTREAM crypsetup-handle-nofail.patch fcrozat@suse.com -- handle nofail in cryptsetup +Patch100: crypsetup-handle-nofail.patch +# PATCH-FIX-UPSTREAM crypsetup-generator-state-file-name-in-error-message.patch fcrozat@suse.com -- add filename in error message from crypsetup-generator +Patch101: crypsetup-generator-state-file-name-in-error-message.patch +# PATCH-FIX-UPSTREAM fstab-generator-error-message-on-duplicates.patch fcrozat@suse.com -- improve error message on duplicate in fstab-generator +Patch102: fstab-generator-error-message-on-duplicates.patch +# PATCH-FIX-UPSTREAM systemctl-verbose-message-on-missing-install.patch fcrozat@suse.com -- reword missing install error message in systemctl +Patch103: systemctl-verbose-message-on-missing-install.patch +# PATCH-FIX-UPSTREAM shutdown-improvements.patch fcrozat@suse.com -- various improvements at shutdown +Patch104: shutdown-improvements.patch +# PATCH-FIX-UPSTREAM localectl-fix-assertion.patch fcrozat@suse.com -- fix assertion in localectl +Patch105: localectl-fix-assertion.patch +# PATCH-FIX-UPSTREAM path-util-fix-potential-crash.patch fcrozat@suse.com -- fix potential crash in path-util +Patch106: path-util-fix-potential-crash.patch +# PATCH-FIX-UPSTREAM coredumpctl-fix-crash.patch fcrozat@suse.com -- fix crash in coredumpctl +Patch107: coredumpctl-fix-crash.patch +# PATCH-FIX-UPSTREAM socket-verbose-error-message.patch fcrozat@suse.com -- add more verbose error message in socket handling +Patch108: socket-verbose-error-message.patch +# PATCH-FIX-UPSTREAM pam-properly-handle-ssh-logins-without-pam-tty-field.patch fcrozat@suse.com -- handle properly ssh-logins without pam tty field +Patch109: pam-properly-handle-ssh-logins-without-pam-tty-field.patch +# PATCH-FIX-UPSTREAM fstab-generator-properly-detect-bind-mounts.patch fcrozat@suse.com -- properly detect bind-mounts in fstab-generator +Patch110: fstab-generator-properly-detect-bind-mounts.patch +# PATCH-FIX-UPSTREAM localectl-support-systems-without-locale-archive.patch fcrozat@suse.com -- localectl now supports systemd without locale-archive file +Patch111: localectl-support-systems-without-locale-archive.patch +# PATCH-FIX-UPSTREAM logind-capability-making-seats-without-fb.patch fcrozat@suse.com -- allows capability of making seats without fb +Patch112: logind-capability-making-seats-without-fb.patch +# PATCH-FIX-UPSTREAM service-forking-ignore-exit-status-main-process.patch fcrozat@suse.com -- ignore exit-statis of main process when forking, if specified in unit file +Patch113: service-forking-ignore-exit-status-main-process.patch +# PATCH-FIX-UPSTREAM systemctl-no-assert-on-reboot-without-dbus.patch fcrozat@suse.com -- don't assert on reboot if dbus isn't there +Patch114: systemctl-no-assert-on-reboot-without-dbus.patch +# PATCH-FIX-UPSTREAM logind-ignore-non-tty-non-x11-session-on-shutdown.patch fcrozat@suse.com -- ignore non tty non-x11 session on shutdown +Patch115: logind-ignore-non-tty-non-x11-session-on-shutdown.patch +# PATCH-FIX-UPSTREAM journalctl-quit-on-io-error.patch fcrozat@suse.com -- fix journalctl quit on io error +Patch116: journalctl-quit-on-io-error.patch +# PATCH-FIX-UPSTREAM do-not-make-sockets-dependent-on-lo.patch fcrozat@suse.com -- do not make sockets dependent on lo interface +Patch117: do-not-make-sockets-dependent-on-lo.patch +# PATCH-FIX-UPSTREAM shutdown-dont-force-mnt-force-on-final-umount.patch fcrozat@suse.com -- don't force MNT_FORCE on final umount at shutdown +Patch118: shutdown-dont-force-mnt-force-on-final-umount.patch +# PATCH-FIX-UPSTREAM shutdown-ignore-loop-devices-without-backing-file.patch fcrozat@suse.com -- ignore loop devices without backing file at shutdown +Patch119: shutdown-ignore-loop-devices-without-backing-file.patch +# PATCH-FIX-UPSTREAM fix-bad-mem-access.patch fcrozat@suse.com -- fix bad memory access +Patch120: fix-bad-mem-access.patch +# PATCH-FIX-UPSTREAM parse-multiline-env-file.patch fcrozat@suse.com bnc#793411 -- correctly parse multiline environment files +Patch121: parse-multiline-env-file.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -417,6 +507,51 @@ cp %{SOURCE7} m4/ %patch74 -p1 %patch75 -p1 %patch76 -p1 +%patch77 -p1 +%patch78 -p1 +%patch79 -p1 +%patch80 -p1 +%patch81 -p1 +%patch82 -p1 +%patch83 -p1 +%patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 +%patch88 -p1 +%patch89 -p1 +%patch90 -p1 +%patch91 -p1 +%patch92 -p1 +%patch93 -p1 +%patch94 -p1 +%patch95 -p1 +%patch96 -p1 +%patch97 -p1 +%patch98 -p1 +%patch99 -p1 +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 +%patch105 -p1 +%patch106 -p1 +%patch107 -p1 +%patch108 -p1 +%patch109 -p1 +%patch110 -p1 +%patch111 -p1 +%patch112 -p1 +%patch113 -p1 +%patch114 -p1 +%patch115 -p1 +%patch116 -p1 +%patch117 -p1 +%patch118 -p1 +%patch119 -p1 +%patch120 -p1 +%patch121 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 236dff45..130639ed 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,95 @@ +------------------------------------------------------------------- +Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com + +- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly + (bnc#798620). +- Update crypt-loop-file.patch to correctly detect crypto loop + files (bnc#799514). +- Add journalctl-remove-leftover-message.patch: remove debug + message in systemctl. +- Add job-avoid-recursion-when-cancelling.patch: prevent potential + recursion when cancelling a service. +- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully + parsed. +- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff + max date for journal. +- Add reword-rescue-mode-hints.patch: reword rescue prompt. +- Add improve-overflow-checks.patch: improve time overflow checks. +- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour + with symlinks. +- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure + hostnamectl requires an argument when called with set-hostname + option. +- Add agetty-overrides-term.patch: pass correctly terminal type to + agetty. +- Add check-for-empty-strings-in-strto-conversions.patch: better + check for empty strings in strto* conversions. +- Add strv-cleanup-error-path-loops.patch: cleanup strv on error + path. +- Add cryptsetup-handle-plain.patch: correctly handle "plain" + option in cryptsetup. +- Add fstab-generator-improve-error-message.patch: improve error + message in fstab-generator. +- Add delta-accept-t-option.patch: accept -t option in + systemd-delta. +- Add highlight-ordering-cycle-deletions.patch: highlight ordering + cycle deletions in logs. +- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; + in ExecStart. +- Add hostnamectl-fix-parsing-no-ask-password.patch: accept + no-ask-password in hostnamectl. +- Add systemd-cgls-fix-piping-output.patch: fix piping output of + systemd-cgls. +- Add core-load-fragment-improve-error-message.patch: improve error + message when parsing fragments. +- Add fix-potential-bad-mem-access.patch: fix potential bad memory + access. +- Add socket-improve-error-message.patch: improve error message in + socket handling. +- Add journal-send-always-send-syslog_identifier.patch: always send + syslog_identifier if available for journal. +- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. +- Add crypsetup-generator-state-file-name-in-error-message.patch: + add filename in error message from crypsetup-generator. +- Add fstab-generator-error-message-on-duplicates.patch: improve + error message on duplicate in fstab-generator. +- Add systemctl-verbose-message-on-missing-install.patch: reword + missing install error message in systemctl. +- Add shutdown-improvements.patch: various improvements at + shutdown. +- Add localectl-fix-assertion.patch: fix assertion in localectl. +- Add path-util-fix-potential-crash.patch: fix potential crash in + path-util. +- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. +- Add socket-verbose-error-message.patch: add more verbose error + message in socket handling. +- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: + handle properly ssh-logins without pam tty field. +- Add fstab-generator-properly-detect-bind-mounts.patch: properly + detect bind-mounts in fstab-generator. +- Add localectl-support-systems-without-locale-archive.patch: + localectl now supports systemd without locale-archive file. +- Add logind-capability-making-seats-without-fb.patch: allows + capability of making seats without fb. +- Add service-forking-ignore-exit-status-main-process.patch: ignore + exit-statis of main process when forking, if specified in unit + file. +- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't + assert on reboot if dbus isn't there. +- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: + ignore non tty non-x11 session on shutdown. +- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io + error. +- Add do-not-make-sockets-dependent-on-lo.patch: do not make + sockets dependent on lo interface. +- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't + force MNT_FORCE on final umount at shutdown. +- Add shutdown-ignore-loop-devices-without-backing-file.patch: + ignore loop devices without backing file at shutdown. +- Add fix-bad-mem-access.patch: fix bad memory access +- Add parse-multiline-env-file.patch: correctly parse multiline + environment files (bnc#793411). + ------------------------------------------------------------------- Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 36fe8f60..e62ea2ec 100644 --- a/systemd.spec +++ b/systemd.spec @@ -132,6 +132,8 @@ Patch71: fix-debugshell.patch Patch72: handle-root-uses-lang.patch # PATCH-FIX-OPENSUSE multiple-sulogin.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch76: multiple-sulogin.patch +# PATCH-FIX-OPENSUSE systemctl-options.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch77: systemctl-options.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -159,6 +161,94 @@ Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch Patch74: detect-btrfs-ssd.patch # PATCH-FIX-UPSTREAM timedated-donot-close-bogus-dbus-connection.patch crrodriguez@opensuse.org -- Fix assertion failure when dbus is gone. Patch75: timedated-donot-close-bogus-dbus-connection.patch +# PATCH-FIX-UPSTREAM journalctl-remove-leftover-message.patch fcrozat@suse.com -- remove debug message in systemctl +Patch78: journalctl-remove-leftover-message.patch +# PATCH-FIX-UPSTREAM job-avoid-recursion-when-cancelling.patch fcrozat@suse.com -- prevent potential recursion when cancelling a service +Patch79: job-avoid-recursion-when-cancelling.patch +# PATCH-FIX-UPSTREAM sysctl-parse-all-keys.patch fcrozat@suse.com -- ensure sysctl file is fully parsed +Patch80: sysctl-parse-all-keys.patch +# PATCH-FIX-UPSTREAM journal-fix-cutoff-max-date.patch fcrozat@suse.com -- fix computation of cutoff max date for journal +Patch81: journal-fix-cutoff-max-date.patch +# PATCH-FIX-UPSTREAM reword-rescue-mode-hints.patch fcrozat@suse.com -- reword rescue prompt +Patch82: reword-rescue-mode-hints.patch +# PATCH-FIX-UPSTREAM improve-overflow-checks.patch fcrozat@suse.com -- improve time overflow checks +Patch83: improve-overflow-checks.patch +# PATCH-FIX-UPSTREAM fix-swap-behaviour-with-symlinks.patch fcrozat@suse.com -- fix swap behaviour with symlinks +Patch84: fix-swap-behaviour-with-symlinks.patch +# PATCH-FIX-UPSTREAM hostnamectl-fix-set-hostname-with-no-argument.patch fcrozat@suse.com -- ensure hostnamectl requires an argument when called with set-hostname option +Patch85: hostnamectl-fix-set-hostname-with-no-argument.patch +# PATCH-FIX-UPSTREAM agetty-overrides-term.patch fcrozat@suse.com -- pass correctly terminal type to agetty +Patch86: agetty-overrides-term.patch +# PATCH-FIX-UPSTREAM check-for-empty-strings-in-strto-conversions.patch fcrozat@suse.com -- better check for empty strings in strto* conversions +Patch87: check-for-empty-strings-in-strto-conversions.patch +# PATCH-FIX-UPSTREAM strv-cleanup-error-path-loops.patch fcrozat@suse.com -- cleanup strv on error path +Patch88: strv-cleanup-error-path-loops.patch +# PATCH-FIX-UPSTREAM cryptsetup-handle-plain.patch fcrozat@suse.com -- correctly handle "plain" option in cryptsetup +Patch89: cryptsetup-handle-plain.patch +# PATCH-FIX-UPSTREAM fstab-generator-improve-error-message.patch fcrozat@suse.com -- improve error message in fstab-generator +Patch90: fstab-generator-improve-error-message.patch +# PATCH-FIX-UPSTREAM delta-accept-t-option.patch fcrozat@suse.com -- accept -t option in systemd-delta +Patch91: delta-accept-t-option.patch +# PATCH-FIX-UPSTREAM highlight-ordering-cycle-deletions.patch fcrozat@suse.com -- highlight ordering cycle deletions in logs +Patch92: highlight-ordering-cycle-deletions.patch +# PATCH-FIX-UPSTREAM core-interpret-escaped-semicolon-as-escaped.patch fcrozat@suse.com -- accept \; in ExecStart +Patch93: core-interpret-escaped-semicolon-as-escaped.patch +# PATCH-FIX-UPSTREAM hostnamectl-fix-parsing-no-ask-password.patch fcrozat@suse.com -- accept no-ask-password in hostnamectl +Patch94: hostnamectl-fix-parsing-no-ask-password.patch +# PATCH-FIX-UPSTREAM systemd-cgls-fix-piping-output.patch fcrozat@suse.com -- fix piping output of systemd-cgls +Patch95: systemd-cgls-fix-piping-output.patch +# PATCH-FIX-UPSTREAM core-load-fragment-improve-error-message.patch fcrozat@suse.com -- improve error message when parsing fragments +Patch96: core-load-fragment-improve-error-message.patch +# PATCH-FIX-UPSTREAM fix-potential-bad-mem-access.patch fcrozat@suse.com -- fix potential bad memory access +Patch97: fix-potential-bad-mem-access.patch +# PATCH-FIX-UPSTREAM socket-improve-error-message.patch fcrozat@suse.com -- improve error message in socket handling +Patch98: socket-improve-error-message.patch +# PATCH-FIX-UPSTREAM journal-send-always-send-syslog_identifier.patch fcrozat@suse.com -- always send syslog_identifier if available for journal +Patch99: journal-send-always-send-syslog_identifier.patch +# PATCH-FIX-UPSTREAM crypsetup-handle-nofail.patch fcrozat@suse.com -- handle nofail in cryptsetup +Patch100: crypsetup-handle-nofail.patch +# PATCH-FIX-UPSTREAM crypsetup-generator-state-file-name-in-error-message.patch fcrozat@suse.com -- add filename in error message from crypsetup-generator +Patch101: crypsetup-generator-state-file-name-in-error-message.patch +# PATCH-FIX-UPSTREAM fstab-generator-error-message-on-duplicates.patch fcrozat@suse.com -- improve error message on duplicate in fstab-generator +Patch102: fstab-generator-error-message-on-duplicates.patch +# PATCH-FIX-UPSTREAM systemctl-verbose-message-on-missing-install.patch fcrozat@suse.com -- reword missing install error message in systemctl +Patch103: systemctl-verbose-message-on-missing-install.patch +# PATCH-FIX-UPSTREAM shutdown-improvements.patch fcrozat@suse.com -- various improvements at shutdown +Patch104: shutdown-improvements.patch +# PATCH-FIX-UPSTREAM localectl-fix-assertion.patch fcrozat@suse.com -- fix assertion in localectl +Patch105: localectl-fix-assertion.patch +# PATCH-FIX-UPSTREAM path-util-fix-potential-crash.patch fcrozat@suse.com -- fix potential crash in path-util +Patch106: path-util-fix-potential-crash.patch +# PATCH-FIX-UPSTREAM coredumpctl-fix-crash.patch fcrozat@suse.com -- fix crash in coredumpctl +Patch107: coredumpctl-fix-crash.patch +# PATCH-FIX-UPSTREAM socket-verbose-error-message.patch fcrozat@suse.com -- add more verbose error message in socket handling +Patch108: socket-verbose-error-message.patch +# PATCH-FIX-UPSTREAM pam-properly-handle-ssh-logins-without-pam-tty-field.patch fcrozat@suse.com -- handle properly ssh-logins without pam tty field +Patch109: pam-properly-handle-ssh-logins-without-pam-tty-field.patch +# PATCH-FIX-UPSTREAM fstab-generator-properly-detect-bind-mounts.patch fcrozat@suse.com -- properly detect bind-mounts in fstab-generator +Patch110: fstab-generator-properly-detect-bind-mounts.patch +# PATCH-FIX-UPSTREAM localectl-support-systems-without-locale-archive.patch fcrozat@suse.com -- localectl now supports systemd without locale-archive file +Patch111: localectl-support-systems-without-locale-archive.patch +# PATCH-FIX-UPSTREAM logind-capability-making-seats-without-fb.patch fcrozat@suse.com -- allows capability of making seats without fb +Patch112: logind-capability-making-seats-without-fb.patch +# PATCH-FIX-UPSTREAM service-forking-ignore-exit-status-main-process.patch fcrozat@suse.com -- ignore exit-statis of main process when forking, if specified in unit file +Patch113: service-forking-ignore-exit-status-main-process.patch +# PATCH-FIX-UPSTREAM systemctl-no-assert-on-reboot-without-dbus.patch fcrozat@suse.com -- don't assert on reboot if dbus isn't there +Patch114: systemctl-no-assert-on-reboot-without-dbus.patch +# PATCH-FIX-UPSTREAM logind-ignore-non-tty-non-x11-session-on-shutdown.patch fcrozat@suse.com -- ignore non tty non-x11 session on shutdown +Patch115: logind-ignore-non-tty-non-x11-session-on-shutdown.patch +# PATCH-FIX-UPSTREAM journalctl-quit-on-io-error.patch fcrozat@suse.com -- fix journalctl quit on io error +Patch116: journalctl-quit-on-io-error.patch +# PATCH-FIX-UPSTREAM do-not-make-sockets-dependent-on-lo.patch fcrozat@suse.com -- do not make sockets dependent on lo interface +Patch117: do-not-make-sockets-dependent-on-lo.patch +# PATCH-FIX-UPSTREAM shutdown-dont-force-mnt-force-on-final-umount.patch fcrozat@suse.com -- don't force MNT_FORCE on final umount at shutdown +Patch118: shutdown-dont-force-mnt-force-on-final-umount.patch +# PATCH-FIX-UPSTREAM shutdown-ignore-loop-devices-without-backing-file.patch fcrozat@suse.com -- ignore loop devices without backing file at shutdown +Patch119: shutdown-ignore-loop-devices-without-backing-file.patch +# PATCH-FIX-UPSTREAM fix-bad-mem-access.patch fcrozat@suse.com -- fix bad memory access +Patch120: fix-bad-mem-access.patch +# PATCH-FIX-UPSTREAM parse-multiline-env-file.patch fcrozat@suse.com bnc#793411 -- correctly parse multiline environment files +Patch121: parse-multiline-env-file.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -412,6 +502,51 @@ cp %{SOURCE7} m4/ %patch74 -p1 %patch75 -p1 %patch76 -p1 +%patch77 -p1 +%patch78 -p1 +%patch79 -p1 +%patch80 -p1 +%patch81 -p1 +%patch82 -p1 +%patch83 -p1 +%patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 +%patch88 -p1 +%patch89 -p1 +%patch90 -p1 +%patch91 -p1 +%patch92 -p1 +%patch93 -p1 +%patch94 -p1 +%patch95 -p1 +%patch96 -p1 +%patch97 -p1 +%patch98 -p1 +%patch99 -p1 +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 +%patch105 -p1 +%patch106 -p1 +%patch107 -p1 +%patch108 -p1 +%patch109 -p1 +%patch110 -p1 +%patch111 -p1 +%patch112 -p1 +%patch113 -p1 +%patch114 -p1 +%patch115 -p1 +%patch116 -p1 +%patch117 -p1 +%patch118 -p1 +%patch119 -p1 +%patch120 -p1 +%patch121 -p1 %build autoreconf -fiv From 4795c51b74e189d8e93d5dd14617c004af6520f3b7bc237c8452886ff214e2f0 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 29 Jan 2013 06:05:16 +0000 Subject: [PATCH 120/991] Accepting request 150160 from Base:System - Add tmpfiles-X-type.patch: allow to clean directories with removing them. - Add systemd-fix-merge-ignore-dependencies.patch: fix merging with --ignore-dependencies waiting for dependencies (bnc#800365). - Update systemd-numlock-suse.patch: udev-trigger.service is now called systemd-udev-trigger.service. - Add improve-man-environment.patch: improve manpage regarding Environment value. (forwarded request 150151 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/150160 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=124 --- improve-man-environment.patch | 44 +++ systemd-fix-merge-ignore-dependencies.patch | 26 ++ systemd-mini.changes | 12 + systemd-mini.spec | 9 + systemd-numlock-suse.patch | 2 +- systemd.changes | 12 + systemd.spec | 9 + tmpfiles-X-type.patch | 369 ++++++++++++++++++++ 8 files changed, 482 insertions(+), 1 deletion(-) create mode 100644 improve-man-environment.patch create mode 100644 systemd-fix-merge-ignore-dependencies.patch create mode 100644 tmpfiles-X-type.patch diff --git a/improve-man-environment.patch b/improve-man-environment.patch new file mode 100644 index 00000000..a5fa5967 --- /dev/null +++ b/improve-man-environment.patch @@ -0,0 +1,44 @@ +From 2cfd1ed4d853be4a22cc102037347c9041bf5ced Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 24 Jan 2013 17:55:42 +0100 +Subject: [PATCH] man: systemd.exec - explicit Environment assignment + +Be more verbose about using space in Environment field and not +using value of other variables + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=840260 +--- + man/systemd.exec.xml | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +Index: systemd-195/man/systemd.exec.xml +=================================================================== +--- systemd-195.orig/man/systemd.exec.xml ++++ systemd-195/man/systemd.exec.xml +@@ -269,9 +269,24 @@ + in which case all listed variables + will be set. If the same variable is + set twice the later setting will +- override the earlier setting. See ++ override the earlier setting. ++ Variable expansion is not performed ++ inside the strings, and $ has no special ++ meaning. ++ If you need to assign a value containing spaces ++ to a variable, use double quotes (") ++ for the assignment. ++ ++ Example: ++ Environment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6" ++ gives three variables VAR1, ++ VAR2, VAR3. ++ ++ ++ ++ See + environ7 +- for details. ++ for details about environment variables. + + + EnvironmentFile= diff --git a/systemd-fix-merge-ignore-dependencies.patch b/systemd-fix-merge-ignore-dependencies.patch new file mode 100644 index 00000000..3e9f9454 --- /dev/null +++ b/systemd-fix-merge-ignore-dependencies.patch @@ -0,0 +1,26 @@ +From e45460d666512db4f908f86e8722d7932dcf0f82 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Fri, 25 Jan 2013 19:54:21 +0100 +Subject: [PATCH] job: fix merging with --ignore-dependencies + +This fixes a bug where a job with --ignore-dependencies would wait for +other jobs because it merged into a previously queued job. +--- + src/core/job.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/core/job.c b/src/core/job.c +index e381ea2..6a03d17 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -166,6 +166,7 @@ static void job_merge_into_installed(Job *j, Job *other) { + assert(other->type == JOB_NOP); + + j->override = j->override || other->override; ++ j->ignore_order = j->ignore_order || other->ignore_order; + } + + Job* job_install(Job *j) { +-- +1.7.10.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 130639ed..25bdb532 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com + +- Add tmpfiles-X-type.patch: allow to clean directories with + removing them. +- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with + --ignore-dependencies waiting for dependencies (bnc#800365). +- Update systemd-numlock-suse.patch: udev-trigger.service is now + called systemd-udev-trigger.service. +- Add improve-man-environment.patch: improve manpage regarding + Environment value. + ------------------------------------------------------------------- Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 568f40f8..f18c5a44 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -254,6 +254,12 @@ Patch119: shutdown-ignore-loop-devices-without-backing-file.patch Patch120: fix-bad-mem-access.patch # PATCH-FIX-UPSTREAM parse-multiline-env-file.patch fcrozat@suse.com bnc#793411 -- correctly parse multiline environment files Patch121: parse-multiline-env-file.patch +# PATCH-FIX-UPSTREAM improve-man-environment.patch fcrozat@suse.com -- improve Environment section in manpage +Patch122: improve-man-environment.patch +# PATCH-FIX-UPSTREAM tmpfiles-X-type.patch fcrozat@suse.com -- allow to clean directories with removing them +Patch123: tmpfiles-X-type.patch +# PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies +Patch124: systemd-fix-merge-ignore-dependencies.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -552,6 +558,9 @@ cp %{SOURCE7} m4/ %patch119 -p1 %patch120 -p1 %patch121 -p1 +%patch122 -p1 +%patch123 -p1 +%patch124 -p1 %build autoreconf -fiv diff --git a/systemd-numlock-suse.patch b/systemd-numlock-suse.patch index 245a4bc3..1e89d398 100644 --- a/systemd-numlock-suse.patch +++ b/systemd-numlock-suse.patch @@ -179,7 +179,7 @@ Index: systemd-195/units/systemd-vconsole-setup.service.in Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service -Before=sysinit.target shutdown.target -+Before=sysinit.target shutdown.target udev-trigger.service ++Before=sysinit.target shutdown.target systemd-udev-trigger.service ConditionPathExists=/dev/tty0 [Service] diff --git a/systemd.changes b/systemd.changes index 130639ed..25bdb532 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com + +- Add tmpfiles-X-type.patch: allow to clean directories with + removing them. +- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with + --ignore-dependencies waiting for dependencies (bnc#800365). +- Update systemd-numlock-suse.patch: udev-trigger.service is now + called systemd-udev-trigger.service. +- Add improve-man-environment.patch: improve manpage regarding + Environment value. + ------------------------------------------------------------------- Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index e62ea2ec..9546bb7b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -249,6 +249,12 @@ Patch119: shutdown-ignore-loop-devices-without-backing-file.patch Patch120: fix-bad-mem-access.patch # PATCH-FIX-UPSTREAM parse-multiline-env-file.patch fcrozat@suse.com bnc#793411 -- correctly parse multiline environment files Patch121: parse-multiline-env-file.patch +# PATCH-FIX-UPSTREAM improve-man-environment.patch fcrozat@suse.com -- improve Environment section in manpage +Patch122: improve-man-environment.patch +# PATCH-FIX-UPSTREAM tmpfiles-X-type.patch fcrozat@suse.com -- allow to clean directories with removing them +Patch123: tmpfiles-X-type.patch +# PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies +Patch124: systemd-fix-merge-ignore-dependencies.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -547,6 +553,9 @@ cp %{SOURCE7} m4/ %patch119 -p1 %patch120 -p1 %patch121 -p1 +%patch122 -p1 +%patch123 -p1 +%patch124 -p1 %build autoreconf -fiv diff --git a/tmpfiles-X-type.patch b/tmpfiles-X-type.patch new file mode 100644 index 00000000..40d9940e --- /dev/null +++ b/tmpfiles-X-type.patch @@ -0,0 +1,369 @@ +From 78a92a5a2306709e4587e332728a76901323ade9 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Fri, 18 Jan 2013 16:13:08 +0100 +Subject: [PATCH] tmpfiles: introduce type X + +Type X will exclude path itself from clean-up. However, if the path is a +directory systemd-tmpfiles will clean-up its content. + +In contrast to type x, where path is ignored completely, type X needs some +Age parameter. In order to determine Age parameter, we will look for config +entries of type d or D and pick the best match. Best match is either +exact match or longest prefix match. +--- + man/tmpfiles.d.xml | 15 ++++ + src/tmpfiles/tmpfiles.c | 192 ++++++++++++++++++++++++++++++----------------- + 2 files changed, 138 insertions(+), 69 deletions(-) + +Index: systemd-195/man/tmpfiles.d.xml +=================================================================== +--- systemd-195.orig/man/tmpfiles.d.xml ++++ systemd-195/man/tmpfiles.d.xml +@@ -166,6 +166,21 @@ L /tmp/foobar - - - - /dev + + + ++ X ++ Ignore a path ++ during cleanup. Use this type ++ to prevent path removal as ++ controlled with the Age parameter. ++ Note that if path is a directory, ++ content of a directory is not ++ excluded from clean-up, only ++ directory itself. Lines of this ++ type accept shell-style globs ++ in place of normal path ++ names. ++ ++ ++ + r + Remove a file + or directory if it +Index: systemd-195/src/tmpfiles/tmpfiles.c +=================================================================== +--- systemd-195.orig/src/tmpfiles/tmpfiles.c ++++ systemd-195/src/tmpfiles/tmpfiles.c +@@ -70,6 +70,7 @@ typedef enum ItemType { + + /* These ones take globs */ + IGNORE_PATH = 'x', ++ IGNORE_DIRECTORY_PATH = 'X', + REMOVE_PATH = 'r', + RECURSIVE_REMOVE_PATH = 'R', + RELABEL_PATH = 'z', +@@ -119,7 +120,7 @@ static const char * const conf_file_dirs + #define MAX_DEPTH 256 + + static bool needs_glob(ItemType t) { +- return t == IGNORE_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH || t == RELABEL_PATH || t == RECURSIVE_RELABEL_PATH; ++ return t == IGNORE_PATH || t == IGNORE_DIRECTORY_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH || t == RELABEL_PATH || t == RECURSIVE_RELABEL_PATH; + } + + static struct Item* find_glob(Hashmap *h, const char *match) { +@@ -218,6 +219,7 @@ static bool unix_socket_alive(const char + } + + static int dir_cleanup( ++ Item *i, + const char *p, + DIR *d, + const struct stat *ds, +@@ -297,7 +299,7 @@ static int dir_cleanup( + continue; + } + +- q = dir_cleanup(sub_path, sub_dir, &s, cutoff, rootdev, false, maxdepth-1, false); ++ q = dir_cleanup(i, sub_path, sub_dir, &s, cutoff, rootdev, false, maxdepth-1, false); + closedir(sub_dir); + + if (q < 0) +@@ -320,12 +322,14 @@ static int dir_cleanup( + if (age >= cutoff) + continue; + +- log_debug("rmdir '%s'\n", sub_path); ++ if (!i->type == IGNORE_DIRECTORY_PATH || !streq(dent->d_name, p)) { ++ log_debug("rmdir '%s'\n", sub_path); + +- if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) { +- if (errno != ENOENT && errno != ENOTEMPTY) { +- log_error("rmdir(%s): %m", sub_path); +- r = -errno; ++ if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) { ++ if (errno != ENOENT && errno != ENOTEMPTY) { ++ log_error("rmdir(%s): %m", sub_path); ++ r = -errno; ++ } + } + } + +@@ -395,68 +399,6 @@ finish: + return r; + } + +-static int clean_item(Item *i) { +- DIR *d; +- struct stat s, ps; +- bool mountpoint; +- int r; +- usec_t cutoff, n; +- +- assert(i); +- +- if (i->type != CREATE_DIRECTORY && +- i->type != TRUNCATE_DIRECTORY && +- i->type != IGNORE_PATH) +- return 0; +- +- if (!i->age_set || i->age <= 0) +- return 0; +- +- n = now(CLOCK_REALTIME); +- if (n < i->age) +- return 0; +- +- cutoff = n - i->age; +- +- d = opendir(i->path); +- if (!d) { +- if (errno == ENOENT) +- return 0; +- +- log_error("Failed to open directory %s: %m", i->path); +- return -errno; +- } +- +- if (fstat(dirfd(d), &s) < 0) { +- log_error("stat(%s) failed: %m", i->path); +- r = -errno; +- goto finish; +- } +- +- if (!S_ISDIR(s.st_mode)) { +- log_error("%s is not a directory.", i->path); +- r = -ENOTDIR; +- goto finish; +- } +- +- if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) { +- log_error("stat(%s/..) failed: %m", i->path); +- r = -errno; +- goto finish; +- } +- +- mountpoint = s.st_dev != ps.st_dev || +- (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino); +- +- r = dir_cleanup(i->path, d, &s, cutoff, s.st_dev, mountpoint, MAX_DEPTH, i->keep_first_level); +- +-finish: +- if (d) +- closedir(d); +- +- return r; +-} +- + static int item_set_perms(Item *i, const char *path) { + /* not using i->path directly because it may be a glob */ + if (i->mode_set) +@@ -667,6 +609,7 @@ static int create_item(Item *i) { + switch (i->type) { + + case IGNORE_PATH: ++ case IGNORE_DIRECTORY_PATH: + case REMOVE_PATH: + case RECURSIVE_REMOVE_PATH: + return 0; +@@ -850,6 +793,7 @@ static int remove_item_instance(Item *i, + case CREATE_BLOCK_DEVICE: + case CREATE_CHAR_DEVICE: + case IGNORE_PATH: ++ case IGNORE_DIRECTORY_PATH: + case RELABEL_PATH: + case RECURSIVE_RELABEL_PATH: + case WRITE_FILE: +@@ -894,6 +838,7 @@ static int remove_item(Item *i) { + case CREATE_CHAR_DEVICE: + case CREATE_BLOCK_DEVICE: + case IGNORE_PATH: ++ case IGNORE_DIRECTORY_PATH: + case RELABEL_PATH: + case RECURSIVE_RELABEL_PATH: + case WRITE_FILE: +@@ -909,6 +854,84 @@ static int remove_item(Item *i) { + return r; + } + ++static int clean_item_instance(Item *i, const char* instance) { ++ DIR *d; ++ struct stat s, ps; ++ bool mountpoint; ++ int r; ++ usec_t cutoff, n; ++ ++ assert(i); ++ ++ if (!i->age_set) ++ return 0; ++ ++ n = now(CLOCK_REALTIME); ++ if (n < i->age) ++ return 0; ++ ++ cutoff = n - i->age; ++ ++ d = opendir(instance); ++ if (!d) { ++ if (errno == ENOENT || errno == ENOTDIR) ++ return 0; ++ ++ log_error("Failed to open directory %s: %m", i->path); ++ return -errno; ++ } ++ ++ if (fstat(dirfd(d), &s) < 0) { ++ log_error("stat(%s) failed: %m", i->path); ++ r = -errno; ++ goto finish; ++ } ++ ++ if (!S_ISDIR(s.st_mode)) { ++ log_error("%s is not a directory.", i->path); ++ r = -ENOTDIR; ++ goto finish; ++ } ++ ++ if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) { ++ log_error("stat(%s/..) failed: %m", i->path); ++ r = -errno; ++ goto finish; ++ } ++ ++ mountpoint = s.st_dev != ps.st_dev || ++ (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino); ++ ++ r = dir_cleanup(i, instance, d, &s, cutoff, s.st_dev, mountpoint, MAX_DEPTH, i->keep_first_level); ++ ++finish: ++ if (d) ++ closedir(d); ++ ++ return r; ++} ++ ++static int clean_item(Item *i) { ++ int r = 0; ++ ++ assert(i); ++ ++ switch (i->type) { ++ case CREATE_DIRECTORY: ++ case TRUNCATE_DIRECTORY: ++ case IGNORE_PATH: ++ clean_item_instance(i, i->path); ++ break; ++ case IGNORE_DIRECTORY_PATH: ++ r = glob_item(i, clean_item_instance); ++ break; ++ default: ++ break; ++ } ++ ++ return r; ++} ++ + static int process_item(Item *i) { + int r, q, p; + +@@ -1028,6 +1051,7 @@ static int parse_line(const char *fname, + case TRUNCATE_DIRECTORY: + case CREATE_FIFO: + case IGNORE_PATH: ++ case IGNORE_DIRECTORY_PATH: + case REMOVE_PATH: + case RECURSIVE_REMOVE_PATH: + case RELABEL_PATH: +@@ -1264,6 +1288,8 @@ static int read_config_file(const char * + FILE *f; + unsigned v = 0; + int r = 0; ++ Iterator iterator; ++ Item *i; + + assert(fn); + +@@ -1296,6 +1322,34 @@ static int read_config_file(const char * + r = k; + } + ++ /* we have to determine age parameter for each entry of type X */ ++ HASHMAP_FOREACH(i, globs, iterator) { ++ Iterator iter; ++ Item *j, *candidate_item = NULL; ++ ++ if (i->type != IGNORE_DIRECTORY_PATH) ++ continue; ++ ++ HASHMAP_FOREACH(j, items, iter) { ++ if (j->type != CREATE_DIRECTORY && j->type != TRUNCATE_DIRECTORY) ++ continue; ++ ++ if (path_equal(j->path, i->path)) { ++ candidate_item = j; ++ break; ++ } ++ ++ if ((!candidate_item && path_startswith(i->path, j->path)) || ++ (candidate_item && path_startswith(j->path, candidate_item->path) && (fnmatch(i->path, j->path, FNM_PATHNAME | FNM_PERIOD) == 0))) ++ candidate_item = j; ++ } ++ ++ if (candidate_item) { ++ i->age = candidate_item->age; ++ i->age_set = true; ++ } ++ } ++ + if (ferror(f)) { + log_error("Failed to read from file %s: %m", fn); + if (r == 0) +Index: systemd-195/tmpfiles.d/tmp.conf +=================================================================== +--- systemd-195.orig/tmpfiles.d/tmp.conf ++++ systemd-195/tmpfiles.d/tmp.conf +@@ -10,3 +10,7 @@ + # Clear tmp directories separately, to make them easier to override + d /tmp 1777 root root 10d + d /var/tmp 1777 root root 30d ++ ++# Exclude namespace mountpoints created with PrivateTmp=yes ++X /tmp/systemd-private-* ++X /var/tmp/systemd-private-* +Index: systemd-195/man/systemd.exec.xml +=================================================================== +--- systemd-195.orig/man/systemd.exec.xml ++++ systemd-195/man/systemd.exec.xml +@@ -1022,15 +1022,17 @@ + Takes a boolean + argument. If true sets up a new file + system namespace for the executed +- processes and mounts a private +- /tmp directory +- inside it, that is not shared by ++ processes and mounts private ++ /tmp and ++ /var/tmp directories ++ inside it, that are not shared by + processes outside of the + namespace. This is useful to secure + access to temporary files of the + process, but makes sharing between + processes via +- /tmp ++ /tmp or ++ /var/tmp + impossible. Defaults to + false. + From da382a74702e8f8101b02ea85d0b605e1b280be7cc432bc2a7f62c519d3146c7 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 30 Jan 2013 10:20:34 +0000 Subject: [PATCH 121/991] Accepting request 150304 from Base:System - udev: Fix device matching in the accelerometer add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch - keymap: add aditional support for some keyboard keys add: 1018-keymap-add-aditional-support.patch - journalctl: require argument for --priority add: journalctl-require-argument-for-priority - dropped useless patches: libudev-validate-argument-udev_enumerate_new.patch kmod-fix-builtin-typo.patch - rename udev-root-symlink.service to systemd-udev-root-symlink.service. - fix in udev package missing link in basic.target.wants for systemd-udev-root-symlink.service - udev: Fix device matching in the accelerometer add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch - keymap: add aditional support for some keyboard keys add: 1018-keymap-add-aditional-support.patch - journalctl: require argument for --priority add: journalctl-require-argument-for-priority - dropped useless patches: libudev-validate-argument-udev_enumerate_new.patch kmod-fix-builtin-typo.patch - rename udev-root-symlink.service to systemd-udev-root-symlink.service. - fix in udev package missing link in basic.target.wants for systemd-udev-root-symlink.service OBS-URL: https://build.opensuse.org/request/show/150304 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=125 --- 1018-keymap-add-aditional-support.patch | 59 +++++++++++++++++++ ...device-matching-in-the-accelerometer.patch | 51 ++++++++++++++++ journalctl-require-argument-for-priority | 13 ++-- kmod-fix-builtin-typo.patch | 25 -------- ...validate-argument-udev_enumerate_new.patch | 26 -------- systemd-mini.changes | 16 +++++ systemd-mini.spec | 22 +++++-- ...mlink.systemd => systemd-udev-root-symlink | 2 +- systemd.changes | 16 +++++ systemd.spec | 22 +++++-- 10 files changed, 180 insertions(+), 72 deletions(-) create mode 100644 1018-keymap-add-aditional-support.patch create mode 100644 1019-udev-Fix-device-matching-in-the-accelerometer.patch delete mode 100644 kmod-fix-builtin-typo.patch delete mode 100644 libudev-validate-argument-udev_enumerate_new.patch rename udev-root-symlink.systemd => systemd-udev-root-symlink (71%) diff --git a/1018-keymap-add-aditional-support.patch b/1018-keymap-add-aditional-support.patch new file mode 100644 index 00000000..b9e39f5f --- /dev/null +++ b/1018-keymap-add-aditional-support.patch @@ -0,0 +1,59 @@ +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -2265,6 +2265,8 @@ dist_udevkeymap_DATA = \ + keymaps/hewlett-packard-presario-2100 \ + keymaps/hewlett-packard-tablet \ + keymaps/hewlett-packard-tx2 \ ++ keymaps/hewlett-packard_elitebook-8440p \ ++ keymaps/hewlett-packard-hdx9494nr \ + keymaps/ibm-thinkpad-usb-keyboard-trackpoint \ + keymaps/inventec-symphony_6.0_7.0 \ + keymaps/lenovo-3000 \ +Index: systemd-195/keymaps/hewlett-packard-hdx9494nr +=================================================================== +--- /dev/null ++++ systemd-195/keymaps/hewlett-packard-hdx9494nr +@@ -0,0 +1,3 @@ ++0xB2 www # FnF3 ++0xD8 f23 # touchpad off ++0xD9 f22 # touchpad on +Index: systemd-195/keymaps/hewlett-packard_elitebook-8440p +=================================================================== +--- /dev/null ++++ systemd-195/keymaps/hewlett-packard_elitebook-8440p +@@ -0,0 +1,5 @@ ++0x88 www ++0xA0 mute ++0xAE volumedown ++0xB0 volumeup ++0xEC mail +Index: systemd-195/src/udev/keymap/95-keyboard-force-release.rules +=================================================================== +--- systemd-195.orig/src/udev/keymap/95-keyboard-force-release.rules ++++ systemd-195/src/udev/keymap/95-keyboard-force-release.rules +@@ -42,7 +42,7 @@ ENV{DMI_VENDOR}=="Viooo Corporation", AT + # These are all the HP laptops that setup a touchpad toggle key + ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[pP][aA][vV][iI][lL][iI][oO][nN]*", RUN+="keyboard-force-release.sh $devpath hp-other" + ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keyboard-force-release.sh $devpath hp-other" +-ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC", RUN+="keyboard-force-release.sh $devpath hp-other" ++ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC|HDX9494NR", RUN+="keyboard-force-release.sh $devpath hp-other" + + ENV{DMI_VENDOR}=="Zepto", ATTR{[dmi/id]product_name}=="Znote 6615WD", RUN+="keyboard-force-release.sh $devpath common-volume-keys" + +Index: systemd-195/src/udev/keymap/95-keymap.rules +=================================================================== +--- systemd-195.orig/src/udev/keymap/95-keymap.rules ++++ systemd-195/src/udev/keymap/95-keymap.rules +@@ -96,7 +96,9 @@ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATT + ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keymap $name hewlett-packard-tx2" + ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="Presario 2100*", RUN+="keymap $name hewlett-packard-presario-2100" + ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP G62 Notebook PC", RUN+="keymap $name 0xB2 www" +-ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill" ++ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill 0xB2 www" ++ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP EliteBook 8440p", RUN+="keymap $name hewlett-packard_elitebook-8440p" ++ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HDX9494NR", RUN+="keymap $name hewlett-packard-hdx9494nr" + # HP Pavillion dv6315ea has empty DMI_VENDOR + ATTR{[dmi/id]board_vendor}=="Quanta", ATTR{[dmi/id]board_name}=="30B7", ATTR{[dmi/id]board_version}=="65.2B", RUN+="keymap $name 0x88 media" # "quick play + diff --git a/1019-udev-Fix-device-matching-in-the-accelerometer.patch b/1019-udev-Fix-device-matching-in-the-accelerometer.patch new file mode 100644 index 00000000..16f930a4 --- /dev/null +++ b/1019-udev-Fix-device-matching-in-the-accelerometer.patch @@ -0,0 +1,51 @@ +From 1d010426c01044350b2b32d8b3af5d064f7dfe27 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Thu, 10 Jan 2013 14:23:23 +0100 +Subject: [PATCH] udev: Fix device matching in the accelerometer + +As we were searching by ID_PATH, it would have been possible +for us to find a sibling device instead of the device we were +looking for. + +This fixes device matching on the WeTab with the upstream kernel, +as it was trying to use the "Asus Laptop extra buttons" device +instead of the accelerometer. +--- + src/udev/accelerometer/accelerometer.c | 11 +---------- + 1 files changed, 1 insertions(+), 10 deletions(-) + +diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c +index 21f5193..2fea388 100644 +--- a/src/udev/accelerometer/accelerometer.c ++++ b/src/udev/accelerometer/accelerometer.c +@@ -257,7 +257,6 @@ int main (int argc, char** argv) + + char devpath[PATH_MAX]; + char *devnode; +- const char *id_path; + struct udev_enumerate *enumerate; + struct udev_list_entry *list_entry; + +@@ -303,18 +302,10 @@ int main (int argc, char** argv) + return 1; + } + +- id_path = udev_device_get_property_value(dev, "ID_PATH"); +- if (id_path == NULL) { +- fprintf (stderr, "unable to get property ID_PATH for '%s'", devpath); +- return 0; +- } +- + /* Get the children devices and find the devnode */ +- /* FIXME: use udev_enumerate_add_match_parent() instead */ + devnode = NULL; + enumerate = udev_enumerate_new(udev); +- udev_enumerate_add_match_property(enumerate, "ID_PATH", id_path); +- udev_enumerate_add_match_subsystem(enumerate, "input"); ++ udev_enumerate_add_match_parent(enumerate, dev); + udev_enumerate_scan_devices(enumerate); + udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(enumerate)) { + struct udev_device *device; +-- +1.7.7 + diff --git a/journalctl-require-argument-for-priority b/journalctl-require-argument-for-priority index 2ecfcbef..871ac96e 100644 --- a/journalctl-require-argument-for-priority +++ b/journalctl-require-argument-for-priority @@ -9,11 +9,11 @@ unaffected because it is specified in the getopt_long parameter list. src/journal/journalctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c -index cccd8a7..011a11b 100644 ---- a/src/journal/journalctl.c -+++ b/src/journal/journalctl.c -@@ -157,7 +157,7 @@ static int parse_argv(int argc, char *argv[]) { +Index: systemd-195/src/journal/journalctl.c +=================================================================== +--- systemd-195.orig/src/journal/journalctl.c ++++ systemd-195/src/journal/journalctl.c +@@ -158,7 +158,7 @@ static int parse_argv(int argc, char *ar { "this-boot", no_argument, NULL, 'b' }, { "directory", required_argument, NULL, 'D' }, { "header", no_argument, NULL, ARG_HEADER }, @@ -22,6 +22,3 @@ index cccd8a7..011a11b 100644 { "setup-keys", no_argument, NULL, ARG_SETUP_KEYS }, { "interval", required_argument, NULL, ARG_INTERVAL }, { "verify", no_argument, NULL, ARG_VERIFY }, --- -1.7.10.4 - diff --git a/kmod-fix-builtin-typo.patch b/kmod-fix-builtin-typo.patch deleted file mode 100644 index 77853c54..00000000 --- a/kmod-fix-builtin-typo.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a9f4815da56b8efc519595c3d8a78fe064fa8d69 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 26 Oct 2012 00:28:23 +0200 -Subject: [PATCH] udev: kmod - fix typo - ---- - src/udev/udev-builtin-kmod.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c -index 1df055b..aacdff8 100644 ---- a/src/udev/udev-builtin-kmod.c -+++ b/src/udev/udev-builtin-kmod.c -@@ -75,7 +75,7 @@ static int builtin_kmod(struct udev_device *dev, int argc, char *argv[], bool te - struct udev *udev = udev_device_get_udev(dev); - int i; - -- if (ctx) -+ if (!ctx) - return 0; - - if (argc < 3 || strcmp(argv[1], "load")) { --- -1.7.10.4 - diff --git a/libudev-validate-argument-udev_enumerate_new.patch b/libudev-validate-argument-udev_enumerate_new.patch deleted file mode 100644 index 9f14aa05..00000000 --- a/libudev-validate-argument-udev_enumerate_new.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e68893075083a7461b1572233d23fdb23541d630 Mon Sep 17 00:00:00 2001 -From: Michael Terry -Date: Fri, 14 Dec 2012 09:02:13 -0500 -Subject: [PATCH] libudev: validate 'udev' argument to udev_enumerate_new() - -https://bugs.freedesktop.org/show_bug.cgi?id=58289 ---- - src/libudev/libudev-enumerate.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c -index 1729655..6a5f4e0 100644 ---- a/src/libudev/libudev-enumerate.c -+++ b/src/libudev/libudev-enumerate.c -@@ -81,6 +81,8 @@ _public_ struct udev_enumerate *udev_enumerate_new(struct udev *udev) - { - struct udev_enumerate *udev_enumerate; - -+ if (udev == NULL) -+ return NULL; - udev_enumerate = calloc(1, sizeof(struct udev_enumerate)); - if (udev_enumerate == NULL) - return NULL; --- -1.7.10.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 25bdb532..2d31a58c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com + +- udev: Fix device matching in the accelerometer + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch +- keymap: add aditional support for some keyboard keys + add: 1018-keymap-add-aditional-support.patch +- journalctl: require argument for --priority + add: journalctl-require-argument-for-priority +- dropped useless patches: + libudev-validate-argument-udev_enumerate_new.patch + kmod-fix-builtin-typo.patch +- rename udev-root-symlink.service to systemd-udev-root-symlink.service. +- fix in udev package missing link in basic.target.wants for + systemd-udev-root-symlink.service + ------------------------------------------------------------------- Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f18c5a44..2c6d46c9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -106,7 +106,7 @@ Source8: systemd-journald.init Source1060: boot.udev Source1061: write_dev_root_rule -Source1062: udev-root-symlink.systemd +Source1062: systemd-udev-root-symlink Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings @@ -260,6 +260,8 @@ Patch122: improve-man-environment.patch Patch123: tmpfiles-X-type.patch # PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies Patch124: systemd-fix-merge-ignore-dependencies.patch +# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority +Patch125: journalctl-require-argument-for-priority # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -296,6 +298,10 @@ Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch # PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch Patch1017: 1017-udev-use-usec_t-and-now.patch +# PATCH-FIX-UPSTREAM 1018-keymap-add-aditional-support.patch +Patch1018: 1018-keymap-add-aditional-support.patch +# PATCH-FIX-UPSTREAM 1019-udev-Fix-device-matching-in-the-accelerometer.patch +Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -473,6 +479,8 @@ cp %{SOURCE7} m4/ %patch1015 -p1 %patch1016 -p1 %patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 #systemd %patch1 -p1 @@ -561,6 +569,7 @@ cp %{SOURCE7} m4/ %patch122 -p1 %patch123 -p1 %patch124 -p1 +%patch125 -p1 %build autoreconf -fiv @@ -609,9 +618,9 @@ ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.s sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} -install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service +install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants +ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants #workaround for 716939 chmod 644 %{buildroot}%{_bindir}/systemd-analyze @@ -870,9 +879,9 @@ fi %dir %{_prefix}/lib/systemd/system %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/basic.target.wants/udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.target @@ -1074,7 +1083,8 @@ fi %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/udev-root-symlink.service +%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_prefix}/lib/systemd/system/*udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket %dir %{_prefix}/lib/systemd/system/sysinit.target.wants diff --git a/udev-root-symlink.systemd b/systemd-udev-root-symlink similarity index 71% rename from udev-root-symlink.systemd rename to systemd-udev-root-symlink index b92d081a..8cbe87e9 100644 --- a/udev-root-symlink.systemd +++ b/systemd-udev-root-symlink @@ -1,5 +1,5 @@ [Unit] -Description=create /dev/root symlink with dynamic rule +Description=Create dynamic rule for /dev/root link Before=udev.service DefaultDependencies=no diff --git a/systemd.changes b/systemd.changes index 25bdb532..2d31a58c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com + +- udev: Fix device matching in the accelerometer + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch +- keymap: add aditional support for some keyboard keys + add: 1018-keymap-add-aditional-support.patch +- journalctl: require argument for --priority + add: journalctl-require-argument-for-priority +- dropped useless patches: + libudev-validate-argument-udev_enumerate_new.patch + kmod-fix-builtin-typo.patch +- rename udev-root-symlink.service to systemd-udev-root-symlink.service. +- fix in udev package missing link in basic.target.wants for + systemd-udev-root-symlink.service + ------------------------------------------------------------------- Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 9546bb7b..7d0e568e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -101,7 +101,7 @@ Source8: systemd-journald.init Source1060: boot.udev Source1061: write_dev_root_rule -Source1062: udev-root-symlink.systemd +Source1062: systemd-udev-root-symlink Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings @@ -255,6 +255,8 @@ Patch122: improve-man-environment.patch Patch123: tmpfiles-X-type.patch # PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies Patch124: systemd-fix-merge-ignore-dependencies.patch +# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority +Patch125: journalctl-require-argument-for-priority # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -291,6 +293,10 @@ Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch # PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch Patch1017: 1017-udev-use-usec_t-and-now.patch +# PATCH-FIX-UPSTREAM 1018-keymap-add-aditional-support.patch +Patch1018: 1018-keymap-add-aditional-support.patch +# PATCH-FIX-UPSTREAM 1019-udev-Fix-device-matching-in-the-accelerometer.patch +Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -468,6 +474,8 @@ cp %{SOURCE7} m4/ %patch1015 -p1 %patch1016 -p1 %patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 #systemd %patch1 -p1 @@ -556,6 +564,7 @@ cp %{SOURCE7} m4/ %patch122 -p1 %patch123 -p1 %patch124 -p1 +%patch125 -p1 %build autoreconf -fiv @@ -604,9 +613,9 @@ ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.s sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} -install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev-root-symlink.service +install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants +ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants #workaround for 716939 chmod 644 %{buildroot}%{_bindir}/systemd-analyze @@ -865,9 +874,9 @@ fi %dir %{_prefix}/lib/systemd/system %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/basic.target.wants/udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.target @@ -1069,7 +1078,8 @@ fi %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/udev-root-symlink.service +%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_prefix}/lib/systemd/system/*udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket %dir %{_prefix}/lib/systemd/system/sysinit.target.wants From 6f225480678252f699bee599e0025caa5bd2449bc18e9000130bc0dadeb8aca9 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 2 Feb 2013 18:36:30 +0000 Subject: [PATCH 122/991] Accepting request 150761 from Base:System - Add cryptsetup-accept-read-only.patch: accept "read-only" in addition to "readonly" in crypttab - Update parse-multiline-env-file.patch to correctly handle commented lines (bnc#793411) (forwarded request 150752 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/150761 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=126 --- cryptsetup-accept-read-only.patch | 47 +++++++++++++++++++++++++++++++ parse-multiline-env-file.patch | 24 ++++++++++------ systemd.changes | 8 ++++++ systemd.spec | 5 +++- 4 files changed, 75 insertions(+), 9 deletions(-) create mode 100644 cryptsetup-accept-read-only.patch diff --git a/cryptsetup-accept-read-only.patch b/cryptsetup-accept-read-only.patch new file mode 100644 index 00000000..279b4482 --- /dev/null +++ b/cryptsetup-accept-read-only.patch @@ -0,0 +1,47 @@ +From 18cf1a1be5ae6985f211ec6f02504506da36b223 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 31 Jan 2013 11:03:09 +0100 +Subject: [PATCH] cryptsetup: accept both "read-only" and "readonly" spellings + +Mukund Sivaraman pointed out that cryptsetup(5) mentions the "read-only" +option, while the code understands "readonly". + +We could just fix the manpage, but for consistency in naming of +multi-word options it would be prettier to have "read-only". So let's +accept both spellings. + +BZ: https://bugzilla.redhat.com/show_bug.cgi?id=903463 +--- + man/crypttab.xml | 2 +- + src/cryptsetup/cryptsetup.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/man/crypttab.xml b/man/crypttab.xml +index 2379fc0..f976bda 100644 +--- a/man/crypttab.xml ++++ b/man/crypttab.xml +@@ -182,7 +182,7 @@ + + + +- read-only ++ read-onlyreadonly + + Set up the encrypted + block device in read-only +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index f332843..a8cdf10 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -111,7 +111,7 @@ static int parse_one_option(const char *option) { + return 0; + } + +- } else if (streq(option, "readonly")) ++ } else if (streq(option, "readonly") || streq(option, "read-only")) + opt_readonly = true; + else if (streq(option, "verify")) + opt_verify = true; +-- +1.7.10.4 + diff --git a/parse-multiline-env-file.patch b/parse-multiline-env-file.patch index c0369e3f..6a6ad986 100644 --- a/parse-multiline-env-file.patch +++ b/parse-multiline-env-file.patch @@ -41,7 +41,7 @@ Index: systemd-195/src/shared/util.c =================================================================== --- systemd-195.orig/src/shared/util.c +++ systemd-195/src/shared/util.c -@@ -876,33 +876,55 @@ fail: +@@ -876,69 +876,89 @@ fail: return r; } @@ -101,30 +101,38 @@ Index: systemd-195/src/shared/util.c + b = strappend(c, l); + if (!b) + return log_oom(); -+ + +- if (!*p) +- continue; + free(c); + c = b; + } + + p = strstrip(c ? c : l); - if (!*p) - continue; -@@ -910,35 +932,27 @@ int load_env_file( - if (strchr(COMMENTS, *p)) +- if (strchr(COMMENTS, *p)) ++ if (!*p) { ++ free(c); ++ c = NULL; continue; ++ } - if (!(u = normalize_env_assignment(p))) { - r = log_oom(); - goto finish; -- } ++ if (strchr(COMMENTS, *p)) { ++ free(c); ++ c = NULL; ++ continue; + } + + u = normalize_env_assignment(p); + if (!u) + return log_oom(); + + free(c); + c = NULL; - ++ t = strv_append(m, u); free(u); diff --git a/systemd.changes b/systemd.changes index 2d31a58c..bb00736a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com + +- Add cryptsetup-accept-read-only.patch: accept "read-only" in + addition to "readonly" in crypttab +- Update parse-multiline-env-file.patch to correctly handle + commented lines (bnc#793411) + ------------------------------------------------------------------- Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 7d0e568e..f0731945 100644 --- a/systemd.spec +++ b/systemd.spec @@ -255,8 +255,10 @@ Patch122: improve-man-environment.patch Patch123: tmpfiles-X-type.patch # PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies Patch124: systemd-fix-merge-ignore-dependencies.patch -# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority +# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority Patch125: journalctl-require-argument-for-priority +# PATCH-FIX-UPSTREAM cryptsetup-accept-read-only.patch fcrozat@suse.com -- Accept read-only as well as readonly as parameters for crypttab +Patch126: cryptsetup-accept-read-only.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -565,6 +567,7 @@ cp %{SOURCE7} m4/ %patch123 -p1 %patch124 -p1 %patch125 -p1 +%patch126 -p1 %build autoreconf -fiv From 98354dd2e0c6e2cc5e100a0c83b66fe0ea3ef1ed4e8e9add4358b2788cca2d84 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 12 Feb 2013 15:45:47 +0000 Subject: [PATCH 123/991] Accepting request 155190 from Base:System - usb_id: ensure we have a valid serial number as a string (bnc#779493). add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch - cdrom_id: created links for the default cd/dvd drive (bnc#783054). add: 1021-create-default-links-for-primary-cd_dvd-drive.patch - Add cryptsetup-accept-read-only.patch: accept "read-only" in addition to "readonly" in crypttab - Update parse-multiline-env-file.patch to correctly handle commented lines (bnc#793411) - usb_id: ensure we have a valid serial number as a string (bnc#779493). add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch - cdrom_id: created links for the default cd/dvd drive (bnc#783054). add: 1021-create-default-links-for-primary-cd_dvd-drive.patch (forwarded request 155189 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/155190 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=127 --- ...s-have-a-very-bogus-or-strage-serial.patch | 62 +++++++++++++++++++ ...fault-links-for-primary-cd_dvd-drive.patch | 15 +++++ systemd-mini.changes | 16 +++++ systemd-mini.spec | 11 +++- systemd.changes | 8 +++ systemd.spec | 6 ++ 6 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch create mode 100644 1021-create-default-links-for-primary-cd_dvd-drive.patch diff --git a/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch b/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch new file mode 100644 index 00000000..4832bbb5 --- /dev/null +++ b/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch @@ -0,0 +1,62 @@ +From 2ffcfb9b45262271019d1751cafc895c3dae8f0e Mon Sep 17 00:00:00 2001 +From: Robert Milasan +Date: Sun, 10 Feb 2013 11:00:20 +0100 +Subject: [PATCH] usb_id: some strange devices have a very bogus or strange serial + numer, making a mess in /dev/disk/by-id. Let's check if the + serial number is a valid, otherwise don't use it. + +--- + src/udev/udev-builtin-usb_id.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/src/udev/udev-builtin-usb_id.c b/src/udev/udev-builtin-usb_id.c +index 7ce401d..9e407c5 100644 +--- a/src/udev/udev-builtin-usb_id.c ++++ b/src/udev/udev-builtin-usb_id.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -31,6 +32,26 @@ + + #include "udev.h" + ++static bool validate_string(const char *str) ++{ ++ const char *s; ++ ++ if (!str) ++ return false; ++ ++ for (s = str; *s != '\0'; s++) { ++ if ((*s >= 'a' && *s <= 'z') || ++ (*s >= 'A' && *s <= 'Z') || ++ (*s >= '0' && *s <= '9') || ++ *s == '-' || *s == '_') ++ continue; ++ else ++ return false; ++ } ++ ++ return true; ++} ++ + static void set_usb_iftype(char *to, int if_class_num, size_t len) + { + const char *type = "generic"; +@@ -431,6 +452,8 @@ fallback: + const char *usb_serial; + + usb_serial = udev_device_get_sysattr_value(dev_usb, "serial"); ++ if (!validate_string(usb_serial)) ++ usb_serial = NULL; + if (usb_serial) { + util_replace_whitespace(usb_serial, serial_str, sizeof(serial_str)-1); + util_replace_chars(serial_str, NULL); +-- +1.7.10.4 + diff --git a/1021-create-default-links-for-primary-cd_dvd-drive.patch b/1021-create-default-links-for-primary-cd_dvd-drive.patch new file mode 100644 index 00000000..d44af024 --- /dev/null +++ b/1021-create-default-links-for-primary-cd_dvd-drive.patch @@ -0,0 +1,15 @@ +Index: systemd-195/rules/60-cdrom_id.rules +=================================================================== +--- systemd-195.orig/rules/60-cdrom_id.rules ++++ systemd-195/rules/60-cdrom_id.rules +@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr + # enable the receiving of media eject button events + IMPORT{program}="cdrom_id --lock-media $devnode" + +-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" + + LABEL="cdrom_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index 2d31a58c..748aea63 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com + +- usb_id: ensure we have a valid serial number as a string (bnc#779493). + add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- cdrom_id: created links for the default cd/dvd drive (bnc#783054). + add: 1021-create-default-links-for-primary-cd_dvd-drive.patch + +------------------------------------------------------------------- +Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com + +- Add cryptsetup-accept-read-only.patch: accept "read-only" in + addition to "readonly" in crypttab +- Update parse-multiline-env-file.patch to correctly handle + commented lines (bnc#793411) + ------------------------------------------------------------------- Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 2c6d46c9..701b42db 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -260,8 +260,10 @@ Patch122: improve-man-environment.patch Patch123: tmpfiles-X-type.patch # PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies Patch124: systemd-fix-merge-ignore-dependencies.patch -# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority +# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority Patch125: journalctl-require-argument-for-priority +# PATCH-FIX-UPSTREAM cryptsetup-accept-read-only.patch fcrozat@suse.com -- Accept read-only as well as readonly as parameters for crypttab +Patch126: cryptsetup-accept-read-only.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -302,6 +304,10 @@ Patch1017: 1017-udev-use-usec_t-and-now.patch Patch1018: 1018-keymap-add-aditional-support.patch # PATCH-FIX-UPSTREAM 1019-udev-Fix-device-matching-in-the-accelerometer.patch Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch +# PATCH-FIX-OPENSUSE 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +Patch1020: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +# PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch +Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -481,6 +487,8 @@ cp %{SOURCE7} m4/ %patch1017 -p1 %patch1018 -p1 %patch1019 -p1 +%patch1020 -p1 +%patch1021 -p1 #systemd %patch1 -p1 @@ -570,6 +578,7 @@ cp %{SOURCE7} m4/ %patch123 -p1 %patch124 -p1 %patch125 -p1 +%patch126 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index bb00736a..748aea63 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com + +- usb_id: ensure we have a valid serial number as a string (bnc#779493). + add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- cdrom_id: created links for the default cd/dvd drive (bnc#783054). + add: 1021-create-default-links-for-primary-cd_dvd-drive.patch + ------------------------------------------------------------------- Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index f0731945..54acc848 100644 --- a/systemd.spec +++ b/systemd.spec @@ -299,6 +299,10 @@ Patch1017: 1017-udev-use-usec_t-and-now.patch Patch1018: 1018-keymap-add-aditional-support.patch # PATCH-FIX-UPSTREAM 1019-udev-Fix-device-matching-in-the-accelerometer.patch Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch +# PATCH-FIX-OPENSUSE 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +Patch1020: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +# PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch +Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -478,6 +482,8 @@ cp %{SOURCE7} m4/ %patch1017 -p1 %patch1018 -p1 %patch1019 -p1 +%patch1020 -p1 +%patch1021 -p1 #systemd %patch1 -p1 From 8456f90f729bf2085c30f95b6acb1ef90ea9046d9eea041adc3195217c96ccbb Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 13 Feb 2013 13:39:37 +0000 Subject: [PATCH 124/991] Accepting request 155320 from Base:System - rework patch: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch - udev: use unique names for temporary files created in /dev. add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch - cdrom_id: add data track count for bad virtual drive. add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch - rework patch: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch - udev: use unique names for temporary files created in /dev. add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch - cdrom_id: add data track count for bad virtual drive. add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch (forwarded request 155319 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/155320 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=128 --- 1018-keymap-add-aditional-support.patch | 2 +- ...s-have-a-very-bogus-or-strage-serial.patch | 27 ++++----- ...names-for-temporary-files-created-in.patch | 57 +++++++++++++++++++ ...ta-track-count-for-bad-virtual-drive.patch | 51 +++++++++++++++++ systemd-mini.changes | 10 ++++ systemd-mini.spec | 6 ++ systemd.changes | 10 ++++ systemd.spec | 6 ++ 8 files changed, 155 insertions(+), 14 deletions(-) create mode 100644 1022-udev-use-unique-names-for-temporary-files-created-in.patch create mode 100644 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch diff --git a/1018-keymap-add-aditional-support.patch b/1018-keymap-add-aditional-support.patch index b9e39f5f..f277245b 100644 --- a/1018-keymap-add-aditional-support.patch +++ b/1018-keymap-add-aditional-support.patch @@ -2,7 +2,7 @@ Index: systemd-195/Makefile.am =================================================================== --- systemd-195.orig/Makefile.am +++ systemd-195/Makefile.am -@@ -2265,6 +2265,8 @@ dist_udevkeymap_DATA = \ +@@ -2246,6 +2246,8 @@ dist_udevkeymap_DATA = \ keymaps/hewlett-packard-presario-2100 \ keymaps/hewlett-packard-tablet \ keymaps/hewlett-packard-tx2 \ diff --git a/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch b/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch index 4832bbb5..ad6d27b2 100644 --- a/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +++ b/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch @@ -9,10 +9,10 @@ Subject: [PATCH] usb_id: some strange devices have a very bogus or strange seria src/udev/udev-builtin-usb_id.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) -diff --git a/src/udev/udev-builtin-usb_id.c b/src/udev/udev-builtin-usb_id.c -index 7ce401d..9e407c5 100644 ---- a/src/udev/udev-builtin-usb_id.c -+++ b/src/udev/udev-builtin-usb_id.c +Index: systemd-195/src/udev/udev-builtin-usb_id.c +=================================================================== +--- systemd-195.orig/src/udev/udev-builtin-usb_id.c ++++ systemd-195/src/udev/udev-builtin-usb_id.c @@ -23,6 +23,7 @@ #include #include @@ -25,7 +25,7 @@ index 7ce401d..9e407c5 100644 #include "udev.h" -+static bool validate_string(const char *str) ++static bool valid_string(const char *str) +{ + const char *s; + @@ -48,15 +48,16 @@ index 7ce401d..9e407c5 100644 static void set_usb_iftype(char *to, int if_class_num, size_t len) { const char *type = "generic"; -@@ -431,6 +452,8 @@ fallback: - const char *usb_serial; +@@ -428,10 +449,10 @@ fallback: + } + + if (serial_str[0] == '\0') { +- const char *usb_serial; ++ const char *usb_serial = NULL; usb_serial = udev_device_get_sysattr_value(dev_usb, "serial"); -+ if (!validate_string(usb_serial)) -+ usb_serial = NULL; - if (usb_serial) { +- if (usb_serial) { ++ if (valid_string(usb_serial)) { util_replace_whitespace(usb_serial, serial_str, sizeof(serial_str)-1); util_replace_chars(serial_str, NULL); --- -1.7.10.4 - + } diff --git a/1022-udev-use-unique-names-for-temporary-files-created-in.patch b/1022-udev-use-unique-names-for-temporary-files-created-in.patch new file mode 100644 index 00000000..a3516edb --- /dev/null +++ b/1022-udev-use-unique-names-for-temporary-files-created-in.patch @@ -0,0 +1,57 @@ +Index: systemd-195/src/udev/udev-node.c +=================================================================== +--- systemd-195.orig/src/udev/udev-node.c ++++ systemd-195/src/udev/udev-node.c +@@ -31,15 +31,13 @@ + + #include "udev.h" + +-#define TMP_FILE_EXT ".udev-tmp" +- +-static int node_symlink(struct udev *udev, const char *node, const char *slink) ++static int node_symlink(struct udev_device *dev, const char *node, const char *slink) + { + struct stat stats; + char target[UTIL_PATH_SIZE]; + char *s; + size_t l; +- char slink_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)]; ++ char slink_tmp[UTIL_PATH_SIZE + 32]; + int i = 0; + int tail = 0; + int err = 0; +@@ -101,7 +99,7 @@ static int node_symlink(struct udev *ude + } + + log_debug("atomically replace '%s'\n", slink); +- util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, TMP_FILE_EXT, NULL); ++ util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, ".tmp-", udev_device_get_id_filename(dev), NULL); + unlink(slink_tmp); + do { + err = mkdir_parents_label(slink_tmp, 0755); +@@ -204,7 +202,7 @@ static void link_update(struct udev_devi + util_delete_path(udev, slink); + } else { + log_debug("creating link '%s' to '%s'\n", slink, target); +- node_symlink(udev, target, slink); ++ node_symlink(dev, target, slink); + } + + if (add) { +@@ -304,7 +302,6 @@ out: + + void udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid) + { +- struct udev *udev = udev_device_get_udev(dev); + char filename[UTIL_PATH_SIZE]; + struct udev_list_entry *list_entry; + +@@ -318,7 +315,7 @@ void udev_node_add(struct udev_device *d + snprintf(filename, sizeof(filename), "/dev/%s/%u:%u", + strcmp(udev_device_get_subsystem(dev), "block") == 0 ? "block" : "char", + major(udev_device_get_devnum(dev)), minor(udev_device_get_devnum(dev))); +- node_symlink(udev, udev_device_get_devnode(dev), filename); ++ node_symlink(dev, udev_device_get_devnode(dev), filename); + + /* create/update symlinks, add symlinks to name index */ + udev_list_entry_foreach(list_entry, udev_device_get_devlinks_list_entry(dev)) diff --git a/1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch b/1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch new file mode 100644 index 00000000..54036570 --- /dev/null +++ b/1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch @@ -0,0 +1,51 @@ +From a0ec302b9309bc56f6bed6162e47ad6c27165747 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 12 Feb 2013 15:19:38 +0100 +Subject: [PATCH] cdrom_id: add data track count for bad virtual drive + implementations +Organization: SUSE Linux + +/# /lib/udev/cdrom_id --debug /dev/sr0 +probing: '/dev/sr0' +INQUIRY: [AMI ][Virtual CDROM ][1.00] +GET CONFIGURATION failed with SK=5h/ASC=20h/ACQ=00h +drive is pre-MMC2 and does not support 46h get configuration command +trying to work around the problem +READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h +no current profile, but disc is present; assuming CD-ROM +READ TOC: len: 12, start track: 1, end track: 1 +last track 1 starts at block 0 +READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h +ID_CDROM=1 +ID_CDROM_MEDIA=1 +ID_CDROM_MEDIA_CD=1 + +What is missing here is ID_CDROM_MEDIA_TRACK_COUNT_DATA to trigger +blkid in /lib/udev/rules.d/60-persistent-storage.rules + +KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", + ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", + ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ + IMPORT{builtin}="blkid --noraid" + +Signed-off-by: Robert Milasan +--- + src/udev/cdrom_id/cdrom_id.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c +index 1056536..b659cc3 100644 +--- a/src/udev/cdrom_id/cdrom_id.c ++++ b/src/udev/cdrom_id/cdrom_id.c +@@ -513,6 +513,8 @@ static int cd_profiles_old_mmc(struct udev *udev, int fd) + if (cd_media == 1) { + log_debug("no current profile, but disc is present; assuming CD-ROM\n"); + cd_media_cd_rom = 1; ++ cd_media_track_count = 1; ++ cd_media_track_count_data = 1; + return 0; + } else { + log_debug("no current profile, assuming no media\n"); +-- +1.7.7 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 748aea63..bb106d87 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com + +- rework patch: + 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- udev: use unique names for temporary files created in /dev. + add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch +- cdrom_id: add data track count for bad virtual drive. + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + ------------------------------------------------------------------- Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 701b42db..3370583a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -308,6 +308,10 @@ Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch Patch1020: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch # PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch +# PATCH-FIX-UPSTREAM 1022-udev-use-unique-names-for-temporary-files-created-in.patch +Patch1022: 1022-udev-use-unique-names-for-temporary-files-created-in.patch +# PATCH-FIX-UPSTREAM 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch +Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -489,6 +493,8 @@ cp %{SOURCE7} m4/ %patch1019 -p1 %patch1020 -p1 %patch1021 -p1 +%patch1022 -p1 +%patch1023 -p1 #systemd %patch1 -p1 diff --git a/systemd.changes b/systemd.changes index 748aea63..bb106d87 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com + +- rework patch: + 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- udev: use unique names for temporary files created in /dev. + add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch +- cdrom_id: add data track count for bad virtual drive. + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + ------------------------------------------------------------------- Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 54acc848..34bf7b73 100644 --- a/systemd.spec +++ b/systemd.spec @@ -303,6 +303,10 @@ Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch Patch1020: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch # PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch +# PATCH-FIX-UPSTREAM 1022-udev-use-unique-names-for-temporary-files-created-in.patch +Patch1022: 1022-udev-use-unique-names-for-temporary-files-created-in.patch +# PATCH-FIX-UPSTREAM 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch +Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -484,6 +488,8 @@ cp %{SOURCE7} m4/ %patch1019 -p1 %patch1020 -p1 %patch1021 -p1 +%patch1022 -p1 +%patch1023 -p1 #systemd %patch1 -p1 From 43573dfddefe8c7fe08b329d53af6677457a9e07ee5442bc883ac18d681684c1 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 15 Feb 2013 17:51:51 +0000 Subject: [PATCH 125/991] Accepting request 155545 from Base:System - disable nss-myhostname warning (bnc#783841) => disable-nss-myhostname-warning-bnc-783841.diff - disable nss-myhostname warning (bnc#783841) => disable-nss-myhostname-warning-bnc-783841.diff (forwarded request 155543 from lnussel) OBS-URL: https://build.opensuse.org/request/show/155545 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=129 --- ...ble-nss-myhostname-warning-bnc-783841.diff | 21 +++++++++++++++++++ systemd-mini.changes | 6 ++++++ systemd-mini.spec | 4 ++++ systemd.changes | 6 ++++++ systemd.spec | 3 +++ 5 files changed, 40 insertions(+) create mode 100644 disable-nss-myhostname-warning-bnc-783841.diff diff --git a/disable-nss-myhostname-warning-bnc-783841.diff b/disable-nss-myhostname-warning-bnc-783841.diff new file mode 100644 index 00000000..2d085696 --- /dev/null +++ b/disable-nss-myhostname-warning-bnc-783841.diff @@ -0,0 +1,21 @@ +From 33db05b6bd6151c482f5efe01f2a6118efc82fde Mon Sep 17 00:00:00 2001 +From: Ludwig Nussel +Date: Tue, 12 Feb 2013 17:24:35 +0100 +Subject: [PATCH] disable nss-myhostname warning (bnc#783841) + +--- + src/hostname/hostnamed.c | 1 + + 1 Datei geändert, 1 Zeile hinzugefügt(+) + +Index: systemd-195/src/hostname/hostnamed.c +=================================================================== +--- systemd-195.orig/src/hostname/hostnamed.c ++++ systemd-195/src/hostname/hostnamed.c +@@ -124,6 +124,7 @@ static int read_data(void) { + static bool check_nss(void) { + + void *dl; ++ return true; + + if ((dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY))) { + dlclose(dl); diff --git a/systemd-mini.changes b/systemd-mini.changes index bb106d87..26c4bc94 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de + +- disable nss-myhostname warning (bnc#783841) + => disable-nss-myhostname-warning-bnc-783841.diff + ------------------------------------------------------------------- Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 3370583a..62088835 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -264,6 +264,8 @@ Patch124: systemd-fix-merge-ignore-dependencies.patch Patch125: journalctl-require-argument-for-priority # PATCH-FIX-UPSTREAM cryptsetup-accept-read-only.patch fcrozat@suse.com -- Accept read-only as well as readonly as parameters for crypttab Patch126: cryptsetup-accept-read-only.patch +# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) +Patch127: disable-nss-myhostname-warning-bnc-783841.diff # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -495,6 +497,7 @@ cp %{SOURCE7} m4/ %patch1021 -p1 %patch1022 -p1 %patch1023 -p1 +%patch1024 -p1 #systemd %patch1 -p1 @@ -585,6 +588,7 @@ cp %{SOURCE7} m4/ %patch124 -p1 %patch125 -p1 %patch126 -p1 +%patch127 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index bb106d87..26c4bc94 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de + +- disable nss-myhostname warning (bnc#783841) + => disable-nss-myhostname-warning-bnc-783841.diff + ------------------------------------------------------------------- Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 34bf7b73..a2d4638a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -259,6 +259,8 @@ Patch124: systemd-fix-merge-ignore-dependencies.patch Patch125: journalctl-require-argument-for-priority # PATCH-FIX-UPSTREAM cryptsetup-accept-read-only.patch fcrozat@suse.com -- Accept read-only as well as readonly as parameters for crypttab Patch126: cryptsetup-accept-read-only.patch +# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) +Patch127: disable-nss-myhostname-warning-bnc-783841.diff # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -580,6 +582,7 @@ cp %{SOURCE7} m4/ %patch124 -p1 %patch125 -p1 %patch126 -p1 +%patch127 -p1 %build autoreconf -fiv From bee26a514eff5de3d528057d0f149c1d8e684ba10a5dafb65082c281ba8403d6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 17 Feb 2013 16:13:58 +0000 Subject: [PATCH 126/991] Accepting request 155589 from Base:System - Add early-sync-shutdown.patch: start sync just when shutdown.target is beginning - Update parse-multiline-env-file.patch to better handle continuing lines. - Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). - Add systemctl-print-wall-on-if-successful.patch: only print on wall if successful. - Add improve-bash-completion.patch: improve bash completion. (forwarded request 155556 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/155589 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=130 --- early-sync-shutdown.patch | 209 ++++++++++++++++++++ handle-HOSTNAME.patch | 36 ++++ improve-bash-completion.patch | 173 ++++++++++++++++ parse-multiline-env-file.patch | 157 ++++++++++----- systemctl-print-wall-on-if-successful.patch | 25 +++ systemd-mini.changes | 12 ++ systemd-mini.spec | 13 +- systemd.changes | 12 ++ systemd.spec | 12 ++ 9 files changed, 596 insertions(+), 53 deletions(-) create mode 100644 early-sync-shutdown.patch create mode 100644 handle-HOSTNAME.patch create mode 100644 improve-bash-completion.patch create mode 100644 systemctl-print-wall-on-if-successful.patch diff --git a/early-sync-shutdown.patch b/early-sync-shutdown.patch new file mode 100644 index 00000000..87d4a555 --- /dev/null +++ b/early-sync-shutdown.patch @@ -0,0 +1,209 @@ +From c65eb8365344eeb72ee2c0b333ab54d925263b3f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 25 Jan 2013 22:33:33 +0100 +Subject: [PATCH] shutdown: issue a sync() as soon as shutdown.target is queued + +--- + Makefile.am | 7 ++++-- + src/core/job.c | 26 ++++++++++++++++++++ + src/core/job.h | 2 ++ + src/core/sync.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/sync.h | 24 +++++++++++++++++++ + src/core/transaction.c | 1 + + 6 files changed, 123 insertions(+), 2 deletions(-) + create mode 100644 src/core/sync.c + create mode 100644 src/core/sync.h + +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -1038,7 +1038,9 @@ libsystemd_core_la_SOURCES = \ + src/core/syscall-list.c \ + src/core/syscall-list.h \ + src/core/audit-fd.c \ +- src/core/audit-fd.h ++ src/core/audit-fd.h \ ++ src/core/sync.c \ ++ src/core/sync.h + + nodist_libsystemd_core_la_SOURCES = \ + src/core/load-fragment-gperf.c \ +@@ -1052,7 +1054,8 @@ libsystemd_core_la_CFLAGS = \ + $(LIBWRAP_CFLAGS) \ + $(PAM_CFLAGS) \ + $(AUDIT_CFLAGS) \ +- $(KMOD_CFLAGS) ++ $(KMOD_CFLAGS) \ ++ -pthread + + libsystemd_core_la_LIBADD = \ + libsystemd-capability.la \ +Index: systemd-195/src/core/job.c +=================================================================== +--- systemd-195.orig/src/core/job.c ++++ systemd-195/src/core/job.c +@@ -34,6 +34,9 @@ + #include "load-dropin.h" + #include "log.h" + #include "dbus-job.h" ++#include "special.h" ++#include "sync.h" ++#include "virt.h" + + JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) { + JobBusClient *cl; +@@ -1045,6 +1048,29 @@ int job_coldplug(Job *j) { + return 0; + } + ++void job_shutdown_magic(Job *j) { ++ assert(j); ++ ++ /* The shutdown target gets some special treatment here: we ++ * tell the kernel to begin with flushing its disk caches, to ++ * optimize shutdown time a bit. Ideally we wouldn't hardcode ++ * this magic into PID 1. However all other processes aren't ++ * options either since they'd exit much sooner than PID 1 and ++ * asynchronous sync() would cause their exit to be ++ * delayed. */ ++ ++ if (!unit_has_name(j->unit, SPECIAL_SHUTDOWN_TARGET)) ++ return; ++ ++ if (j->type != JOB_START) ++ return; ++ ++ if (detect_container(NULL) > 0) ++ return; ++ ++ asynchronous_sync(); ++} ++ + static const char* const job_state_table[_JOB_STATE_MAX] = { + [JOB_WAITING] = "waiting", + [JOB_RUNNING] = "running" +Index: systemd-195/src/core/job.h +=================================================================== +--- systemd-195.orig/src/core/job.h ++++ systemd-195/src/core/job.h +@@ -217,6 +217,8 @@ int job_finish_and_invalidate(Job *j, Jo + + char *job_dbus_path(Job *j); + ++void job_shutdown_magic(Job *j); ++ + const char* job_type_to_string(JobType t); + JobType job_type_from_string(const char *s); + +Index: systemd-195/src/core/sync.c +=================================================================== +--- /dev/null ++++ systemd-195/src/core/sync.c +@@ -0,0 +1,65 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2013 Lennart Poettering ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++#include ++#include ++ ++#include "sync.h" ++ ++static void *sync_thread(void *p) { ++ sync(); ++ return NULL; ++} ++ ++int asynchronous_sync(void) { ++ pthread_attr_t a; ++ pthread_t t; ++ int r; ++ ++ /* It kinda sucks that we have to resort to threads to ++ * implement an asynchronous sync(), but well, such is ++ * life. ++ * ++ * Note that issuing this command right before exiting a ++ * process will cause the process to wait for the sync() to ++ * complete. This function hence is nicely asynchronous really ++ * only in long running processes. */ ++ ++ r = pthread_attr_init(&a); ++ if (r != 0) ++ return -r; ++ ++ r = pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED); ++ if (r != 0) { ++ r = -r; ++ goto finish; ++ } ++ ++ r = pthread_create(&t, &a, sync_thread, NULL); ++ if (r != 0) { ++ r = -r; ++ goto finish; ++ } ++ ++finish: ++ pthread_attr_destroy(&a); ++ return r; ++} +Index: systemd-195/src/core/sync.h +=================================================================== +--- /dev/null ++++ systemd-195/src/core/sync.h +@@ -0,0 +1,24 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++#pragma once ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2013 Lennart Poettering ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++int asynchronous_sync(void); +Index: systemd-195/src/core/transaction.c +=================================================================== +--- systemd-195.orig/src/core/transaction.c ++++ systemd-195/src/core/transaction.c +@@ -592,6 +592,7 @@ static int transaction_apply(Transaction + job_add_to_run_queue(j); + job_add_to_dbus_queue(j); + job_start_timer(j); ++ job_shutdown_magic(j); + } + + return 0; diff --git a/handle-HOSTNAME.patch b/handle-HOSTNAME.patch new file mode 100644 index 00000000..b2bf4825 --- /dev/null +++ b/handle-HOSTNAME.patch @@ -0,0 +1,36 @@ +Index: systemd-195/src/hostname/hostnamed.c +=================================================================== +--- systemd-195.orig/src/hostname/hostnamed.c ++++ systemd-195/src/hostname/hostnamed.c +@@ -118,6 +118,10 @@ static int read_data(void) { + if (r < 0 && r != -ENOENT) + return r; + ++ r = read_one_line_file("/etc/HOSTNAME", &data[PROP_STATIC_HOSTNAME]); ++ if (r < 0 && r != -ENOENT) ++ return r; ++ + return 0; + } + +@@ -203,6 +207,7 @@ static int write_data_hostname(void) { + + static int write_data_static_hostname(void) { + ++ int r; + if (isempty(data[PROP_STATIC_HOSTNAME])) { + + if (unlink("/etc/hostname") < 0) +@@ -211,7 +216,11 @@ static int write_data_static_hostname(vo + return 0; + } + +- return write_one_line_file_atomic("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ r = write_one_line_file_atomic("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ if (!r) { ++ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); ++ } ++ return r; + } + + static int write_data_other(void) { diff --git a/improve-bash-completion.patch b/improve-bash-completion.patch new file mode 100644 index 00000000..4621e3fd --- /dev/null +++ b/improve-bash-completion.patch @@ -0,0 +1,173 @@ +Index: systemd-195/bash-completion/systemd-bash-completion.sh +=================================================================== +--- systemd-195.orig/bash-completion/systemd-bash-completion.sh ++++ systemd-195/bash-completion/systemd-bash-completion.sh +@@ -114,15 +114,15 @@ _systemctl () { + [SNAPSHOTS]='delete' + [ENVS]='set-environment unset-environment' + [STANDALONE]='daemon-reexec daemon-reload default dot dump +- emergency exit halt kexec list-jobs list-units +- list-unit-files poweroff reboot rescue show-environment' ++ emergency exit halt hibernate kexec list-jobs list-units ++ list-unit-files poweroff reboot rescue show-environment suspend' + [NAME]='snapshot load' + [FILE]='link' + ) + + for ((i=0; $i <= $COMP_CWORD; i++)); do + if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && +- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG}]}; then ++ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then + verb=${COMP_WORDS[i]} + break + fi +@@ -245,7 +245,7 @@ _loginctl () { + + for ((i=0; $i <= $COMP_CWORD; i++)); do + if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && +- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG}]}; then ++ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then + verb=${COMP_WORDS[i]} + break + fi +@@ -280,10 +280,21 @@ _loginctl () { + } + complete -F _loginctl loginctl + ++__journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} ++ ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} ++ _{P,U,G}ID _COMM _EXE _CMDLINE ++ _AUDIT_{SESSION,LOGINUID} ++ _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID} ++ _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP ++ _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT ++ _KERNEL_{DEVICE,SUBSYSTEM} ++ _UDEV_{SYSNAME,DEVNODE,DEVLINK} ++ __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) ++ + _journalctl() { + local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} + local -A OPTS=( +- [STANDALONE]='-a --all -b --this-boot -f --follow --header ++ [STANDALONE]='-a --all -b --this-boot --disk-usage -f --follow --header + -h --help -l --local --new-id128 -m --merge --no-pager + --no-tail -q --quiet --setup-keys --this-boot --verify + --version' +@@ -291,17 +302,6 @@ _journalctl() { + [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until + --verify-key' + ) +- local journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} +- ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} +- _{P,U,G}ID _COMM _EXE _CMDLINE +- _AUDIT_{SESSION,LOGINUID} +- _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID} +- _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP +- _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT +- _KERNEL_{DEVICE,SUBSYSTEM} +- _UDEV_{SYSNAME,DEVNODE,DEVLINK} +- __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) +- + + if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then + case $prev in +@@ -313,7 +313,7 @@ _journalctl() { + comps='short short-monotonic verbose export json cat' + ;; + --field|-F) +- comps=${journal_fields[*]} ++ comps=${__journal_fields[*]} + ;; + --unit|-u) + comps=$(journalctl -F '_SYSTEMD_UNIT') +@@ -337,7 +337,7 @@ _journalctl() { + COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "$cur") ) + else + compopt -o nospace +- COMPREPLY=( $(compgen -W '${journal_fields[*]}' -S= -- "$cur") ) ++ COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") ) + fi + } + complete -F _journalctl journalctl +@@ -476,3 +476,81 @@ _hostnamectl() { + return 0 + } + complete -F _hostnamectl hostnamectl ++ ++__get_all_sysdevs() { ++ local -a devs=(/sys/bus/*/devices/*/ /sys/class/*/*/) ++ printf '%s\n' "${devs[@]%/}" ++} ++ ++_udevadm() { ++ local i verb comps ++ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} ++ local OPTS='-h --help --version --debug' ++ ++ local -A VERBS=( ++ [INFO]='info' ++ [TRIGGER]='trigger' ++ [SETTLE]='settle' ++ [CONTROL]='control' ++ [MONITOR]='monitor' ++ [HWDB]='hwdb' ++ [TESTBUILTIN]='test-builtin' ++ [TEST]='test' ++ ) ++ ++ for ((i=0; $i <= $COMP_CWORD; i++)); do ++ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && ++ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then ++ verb=${COMP_WORDS[i]} ++ break ++ fi ++ done ++ ++ if [[ -z $verb && $cur = -* ]]; then ++ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) ++ return 0 ++ fi ++ ++ if [[ -z $verb ]]; then ++ comps=${VERBS[*]} ++ ++ elif __contains_word "$verb" ${VERBS[INFO]}; then ++ if [[ $cur = -* ]]; then ++ comps='--help --query= --path= --name= --root --attribute-walk --export-db --cleanup-db' ++ else ++ comps=$( __get_all_sysdevs ) ++ fi ++ ++ elif __contains_word "$verb" ${VERBS[TRIGGER]}; then ++ comps='--help --verbose --dry-run --type= --action= --subsystem-match= ++ --subsystem-nomatch= --attr-match= --attr-nomatch= --property-match= ++ --tag-match= --sysname-match= --parent-match=' ++ ++ elif __contains_word "$verb" ${VERBS[SETTLE]}; then ++ comps='--help --timeout= --seq-start= --seq-end= --exit-if-exists= --quiet' ++ ++ elif __contains_word "$verb" ${VERBS[CONTROL]}; then ++ comps='--help --exit --log-priority= --stop-exec-queue --start-exec-queue ++ --reload --property= --children-max= --timeout=' ++ ++ elif __contains_word "$verb" ${VERBS[MONITOR]}; then ++ comps='--help --kernel --udev --property --subsystem-match= --tag-match=' ++ ++ elif __contains_word "$verb" ${VERBS[HWDB]}; then ++ comps='--help --update --test=' ++ ++ elif __contains_word "$verb" ${VERBS[TEST]}; then ++ if [[ $cur = -* ]]; then ++ comps='--help --action=' ++ else ++ comps=$( __get_all_sysdevs ) ++ fi ++ ++ elif __contains_word "$verb" ${VERBS[TESTBUILTIN]}; then ++ comps='blkid btrfs firmware hwdb input_id kmod net_id path_id usb_id uaccess' ++ fi ++ ++ COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) ++ return 0 ++} ++complete -F _udevadm udevadm diff --git a/parse-multiline-env-file.patch b/parse-multiline-env-file.patch index 6a6ad986..7772ba8b 100644 --- a/parse-multiline-env-file.patch +++ b/parse-multiline-env-file.patch @@ -41,7 +41,7 @@ Index: systemd-195/src/shared/util.c =================================================================== --- systemd-195.orig/src/shared/util.c +++ systemd-195/src/shared/util.c -@@ -876,69 +876,89 @@ fail: +@@ -876,69 +876,88 @@ fail: return r; } @@ -52,99 +52,103 @@ Index: systemd-195/src/shared/util.c - FILE *f; - char **m = NULL; - int r; -+int load_env_file(const char *fname, -+ char ***rl) { ++int load_env_file(const char *fname, char ***rl) { + -+ FILE _cleanup_fclose_ *f; -+ char *b; -+ char _cleanup_free_ *c = NULL; -+ char _cleanup_strv_free_ **m = NULL; ++ _cleanup_fclose_ FILE *f; ++ _cleanup_strv_free_ char **m = NULL; ++ _cleanup_free_ char *c = NULL; assert(fname); assert(rl); - if (!(f = fopen(fname, "re"))) ++ /* This reads an environment file, but will not complain about ++ * any invalid assignments, that needs to be done by the ++ * caller */ ++ + f = fopen(fname, "re"); + if (!f) return -errno; while (!feof(f)) { - char l[LINE_MAX], *p, *u; -+ char l[LINE_MAX], *p, *u, *cs; - char **t; +- char **t; ++ char l[LINE_MAX], *p, *cs, *b; if (!fgets(l, sizeof(l), f)) { - if (feof(f)) -+ if (!feof(f)) +- break; ++ if (ferror(f)) + return -errno; -+ else if (!c) - break; -+ } ++ ++ /* The previous line was a continuation line? ++ * Let's process it now, before we leave the ++ * loop */ ++ if (c) ++ goto process; - r = -errno; - goto finish; ++ break; + } + +- p = strstrip(l); ++ /* Is this a continuation line? If so, just append ++ * this to c, and go to next line right-away */ + cs = endswith(l, "\\\n"); + if (cs) { + *cs = '\0'; + b = strappend(c, l); + if (!b) -+ return log_oom(); -+ ++ return -ENOMEM; + +- if (!*p) + free(c); + c = b; -+ *l = '\0'; -+ continue; - } + continue; ++ } -- p = strstrip(l); +- if (strchr(COMMENTS, *p)) +- continue; ++ /* If the previous line was a continuation line, ++ * append the current line to it */ + if (c) { + b = strappend(c, l); + if (!b) -+ return log_oom(); - -- if (!*p) -- continue; -+ free(c); -+ c = b; -+ } -+ -+ p = strstrip(c ? c : l); - -- if (strchr(COMMENTS, *p)) -+ if (!*p) { -+ free(c); -+ c = NULL; - continue; -+ } ++ return -ENOMEM; - if (!(u = normalize_env_assignment(p))) { - r = log_oom(); - goto finish; -+ if (strchr(COMMENTS, *p)) { + free(c); -+ c = NULL; -+ continue; ++ c = b; } -+ u = normalize_env_assignment(p); -+ if (!u) -+ return log_oom(); -+ -+ free(c); -+ c = NULL; -+ - t = strv_append(m, u); - free(u); +- t = strv_append(m, u); +- free(u); ++ process: ++ p = strstrip(c ? c : l); - if (!t) { - r = log_oom(); - goto finish; -- } -+ if (!t) -+ return log_oom(); ++ if (*p && !strchr(COMMENTS, *p)) { ++ _cleanup_free_ char *u; ++ int k; ++ ++ u = normalize_env_assignment(p); ++ if (!u) ++ return -ENOMEM; ++ ++ k = strv_extend(&m, u); ++ if (k < 0) ++ return -ENOMEM; + } - strv_free(m); - m = t; +- strv_free(m); +- m = t; ++ free(c); ++ c = NULL; } - r = 0; @@ -163,3 +167,52 @@ Index: systemd-195/src/shared/util.c } int write_env_file(const char *fname, char **l) { +Index: systemd-195/src/shared/strv.c +=================================================================== +--- systemd-195.orig/src/shared/strv.c ++++ systemd-195/src/shared/strv.c +@@ -370,6 +370,32 @@ fail: + return NULL; + } + ++int strv_extend(char ***l, const char *value) { ++ char **c; ++ char *v; ++ unsigned n; ++ ++ if (!value) ++ return 0; ++ ++ v = strdup(value); ++ if (!v) ++ return -ENOMEM; ++ ++ n = strv_length(*l); ++ c = realloc(*l, sizeof(char*) * (n + 2)); ++ if (!c) { ++ free(v); ++ return -ENOMEM; ++ } ++ ++ c[n] = v; ++ c[n+1] = NULL; ++ ++ *l = c; ++ return 0; ++} ++ + char **strv_uniq(char **l) { + char **i; + +Index: systemd-195/src/shared/strv.h +=================================================================== +--- systemd-195.orig/src/shared/strv.h ++++ systemd-195/src/shared/strv.h +@@ -37,6 +37,7 @@ unsigned strv_length(char **l); + char **strv_merge(char **a, char **b); + char **strv_merge_concat(char **a, char **b, const char *suffix); + char **strv_append(char **l, const char *s); ++int strv_extend(char ***l, const char *value); + + char **strv_remove(char **l, const char *s); + char **strv_remove_prefix(char **l, const char *s); diff --git a/systemctl-print-wall-on-if-successful.patch b/systemctl-print-wall-on-if-successful.patch new file mode 100644 index 00000000..f056ef87 --- /dev/null +++ b/systemctl-print-wall-on-if-successful.patch @@ -0,0 +1,25 @@ +From f6bb13ab8db51aaedc825fec2f0458b60309b27a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 14 Feb 2013 14:08:09 -0500 +Subject: [PATCH] systemctl: print wall message only if successful + +systemctl would write to the wall even if unsuccessful. + +https://bugs.freedesktop.org/show_bug.cgi?id=60393 +--- + src/systemctl/systemctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-195/src/systemctl/systemctl.c +=================================================================== +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -1825,7 +1825,7 @@ static int start_special(DBusConnection + } + + r = start_unit(bus, args); +- if (r >= 0) ++ if (r == EXIT_SUCCESS) + warn_wall(a); + + return r; diff --git a/systemd-mini.changes b/systemd-mini.changes index 26c4bc94..d5bdae3e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com + +- Add early-sync-shutdown.patch: start sync just when + shutdown.target is beginning +- Update parse-multiline-env-file.patch to better handle continuing + lines. +- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). +- Add systemctl-print-wall-on-if-successful.patch: only print on + wall if successful. +- Add improve-bash-completion.patch: improve bash completion. + ------------------------------------------------------------------- Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 62088835..791ba417 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -266,6 +266,14 @@ Patch125: journalctl-require-argument-for-priority Patch126: cryptsetup-accept-read-only.patch # PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) Patch127: disable-nss-myhostname-warning-bnc-783841.diff +# PATCH-FIX-UPSTREAM early-sync-shutdown.patch fcrozat@suse.com -- Start sync on shutdown early +Patch128: early-sync-shutdown.patch +# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) +Patch129: handle-HOSTNAME.patch +# PATCH-FIX-UPSTREAM systemctl-print-wall-on-if-successful.patch fcrozat@suse.com -- Only print on wall if successful +Patch130: systemctl-print-wall-on-if-successful.patch +# PATCH-FIX-UPSTREAM improve-bash-completion.patch fcrozat@suse.com -- improve bash completion +Patch131: improve-bash-completion.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -497,7 +505,6 @@ cp %{SOURCE7} m4/ %patch1021 -p1 %patch1022 -p1 %patch1023 -p1 -%patch1024 -p1 #systemd %patch1 -p1 @@ -589,6 +596,10 @@ cp %{SOURCE7} m4/ %patch125 -p1 %patch126 -p1 %patch127 -p1 +%patch128 -p1 +%patch129 -p1 +%patch130 -p1 +%patch131 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 26c4bc94..d5bdae3e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com + +- Add early-sync-shutdown.patch: start sync just when + shutdown.target is beginning +- Update parse-multiline-env-file.patch to better handle continuing + lines. +- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). +- Add systemctl-print-wall-on-if-successful.patch: only print on + wall if successful. +- Add improve-bash-completion.patch: improve bash completion. + ------------------------------------------------------------------- Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de diff --git a/systemd.spec b/systemd.spec index a2d4638a..d067c932 100644 --- a/systemd.spec +++ b/systemd.spec @@ -261,6 +261,14 @@ Patch125: journalctl-require-argument-for-priority Patch126: cryptsetup-accept-read-only.patch # PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) Patch127: disable-nss-myhostname-warning-bnc-783841.diff +# PATCH-FIX-UPSTREAM early-sync-shutdown.patch fcrozat@suse.com -- Start sync on shutdown early +Patch128: early-sync-shutdown.patch +# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) +Patch129: handle-HOSTNAME.patch +# PATCH-FIX-UPSTREAM systemctl-print-wall-on-if-successful.patch fcrozat@suse.com -- Only print on wall if successful +Patch130: systemctl-print-wall-on-if-successful.patch +# PATCH-FIX-UPSTREAM improve-bash-completion.patch fcrozat@suse.com -- improve bash completion +Patch131: improve-bash-completion.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -583,6 +591,10 @@ cp %{SOURCE7} m4/ %patch125 -p1 %patch126 -p1 %patch127 -p1 +%patch128 -p1 +%patch129 -p1 +%patch130 -p1 +%patch131 -p1 %build autoreconf -fiv From 262bc65aad63f559ae724d92e5294bec006fe831b377586919c6eb86d94d0a49 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 19 Feb 2013 12:50:22 +0000 Subject: [PATCH 127/991] Accepting request 155791 from Base:System - udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch - udev: expose new ISO9660 properties from libblkid add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch - udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch - udev: expose new ISO9660 properties from libblkid add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch (forwarded request 155790 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/155791 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=131 --- ...e-only-size-bytes-of-the-descriptors.patch | 24 ++++++++++++ ...new-ISO9660-properties-from-libblkid.patch | 37 +++++++++++++++++++ systemd-mini.changes | 15 ++++++++ systemd-mini.spec | 15 +++++++- systemd.changes | 15 ++++++++ systemd.spec | 15 +++++++- 6 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch create mode 100644 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch diff --git a/1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch b/1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch new file mode 100644 index 00000000..08ace924 --- /dev/null +++ b/1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch @@ -0,0 +1,24 @@ +From 7962afbba9016ea03d9f2987fee341443fcde39d Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 17 Feb 2013 21:16:56 +0100 +Subject: [PATCH] udev: usb_id: parse only 'size' bytes of the 'descriptors' + buffer + +Signed-off-by: Robert Milasan +--- + src/udev/udev-builtin-usb_id.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +Index: systemd-195/src/udev/udev-builtin-usb_id.c +=================================================================== +--- systemd-195.orig/src/udev/udev-builtin-usb_id.c ++++ systemd-195/src/udev/udev-builtin-usb_id.c +@@ -210,7 +210,7 @@ static int dev_if_packed_info(struct ude + pos = 0; + strpos = 0; + ifs_str[0] = '\0'; +- while (pos < sizeof(buf) && strpos+7 < len-2) { ++ while (pos < size && strpos+7 < len-2) { + struct usb_interface_descriptor *desc; + char if_str[8]; + diff --git a/1025-udev-expose-new-ISO9660-properties-from-libblkid.patch b/1025-udev-expose-new-ISO9660-properties-from-libblkid.patch new file mode 100644 index 00000000..173b3431 --- /dev/null +++ b/1025-udev-expose-new-ISO9660-properties-from-libblkid.patch @@ -0,0 +1,37 @@ +From ddb5bee15a6ad71e5b596c035c1ee4dc04d5fd2e Mon Sep 17 00:00:00 2001 +From: "Zeeshan Ali (Khattak)" +Date: Sun, 17 Feb 2013 03:21:27 +0200 +Subject: [PATCH] udev: expose new ISO9660 properties from libblkid + +Signed-off-by: Robert Milasan +--- + src/udev/udev-builtin-blkid.c | 16 ++++++++++++++++ + 1 files changed, 16 insertions(+), 0 deletions(-) + +Index: systemd-195/src/udev/udev-builtin-blkid.c +=================================================================== +--- systemd-195.orig/src/udev/udev-builtin-blkid.c ++++ systemd-195/src/udev/udev-builtin-blkid.c +@@ -78,6 +78,22 @@ static void print_property(struct udev_d + } else if (startswith(name, "PART_ENTRY_")) { + util_strscpyl(s, sizeof(s), "ID_", name, NULL); + udev_builtin_add_property(dev, test, s, value); ++ ++ } else if (streq(name, "SYSTEM_ID")) { ++ blkid_encode_string(value, s, sizeof(s)); ++ udev_builtin_add_property(dev, test, "ID_FS_SYSTEM_ID", s); ++ ++ } else if (streq(name, "PUBLISHER_ID")) { ++ blkid_encode_string(value, s, sizeof(s)); ++ udev_builtin_add_property(dev, test, "ID_FS_PUBLISHER_ID", s); ++ ++ } else if (streq(name, "APPLICATION_ID")) { ++ blkid_encode_string(value, s, sizeof(s)); ++ udev_builtin_add_property(dev, test, "ID_FS_APPLICATION_ID", s); ++ ++ } else if (streq(name, "BOOT_SYSTEM_ID")) { ++ blkid_encode_string(value, s, sizeof(s)); ++ udev_builtin_add_property(dev, test, "ID_FS_BOOT_SYSTEM_ID", s); + } + } + diff --git a/systemd-mini.changes b/systemd-mini.changes index d5bdae3e..5368f4e7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com + +- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer + add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +- udev: expose new ISO9660 properties from libblkid + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + +------------------------------------------------------------------- +Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de + +- Create getty@tty1.service to restore traditional SUSE behavior + of not clearing tty1. (bnc#804158) +- Better use of find -exec + ------------------------------------------------------------------- Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 791ba417..aed80312 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -322,6 +322,10 @@ Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch Patch1022: 1022-udev-use-unique-names-for-temporary-files-created-in.patch # PATCH-FIX-UPSTREAM 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch +# PATCH-FIX-UPSTREAM 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +Patch1024: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +# PATCH-FIX-UPSTREAM 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch +Patch1025: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -505,6 +509,8 @@ cp %{SOURCE7} m4/ %patch1021 -p1 %patch1022 -p1 %patch1023 -p1 +%patch1024 -p1 +%patch1025 -p1 #systemd %patch1 -p1 @@ -604,7 +610,7 @@ cp %{SOURCE7} m4/ %build autoreconf -fiv # prevent pre-generated and distributed files from re-building -find . -name "*.[1-8]" -exec touch '{}' \; +find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 # keep split-usr until all packages have moved their systemd rules to /usr %configure \ @@ -656,7 +662,7 @@ ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/syste chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' +find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert @@ -733,6 +739,11 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants +src="%buildroot/%_libexecdir/systemd/system/getty@.service" +dst="${src/@/@tty1}" +cp "$src" "$dst" +perl -i -pe 's{^# the VT is cleared.*}{}i;s{(^TTYVTDisallocate=.*)}{}' "$dst" + %fdupes -s %{buildroot}%{_mandir} %pre diff --git a/systemd.changes b/systemd.changes index d5bdae3e..5368f4e7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com + +- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer + add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +- udev: expose new ISO9660 properties from libblkid + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + +------------------------------------------------------------------- +Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de + +- Create getty@tty1.service to restore traditional SUSE behavior + of not clearing tty1. (bnc#804158) +- Better use of find -exec + ------------------------------------------------------------------- Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index d067c932..9e0f143a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -317,6 +317,10 @@ Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch Patch1022: 1022-udev-use-unique-names-for-temporary-files-created-in.patch # PATCH-FIX-UPSTREAM 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch +# PATCH-FIX-UPSTREAM 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +Patch1024: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +# PATCH-FIX-UPSTREAM 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch +Patch1025: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -500,6 +504,8 @@ cp %{SOURCE7} m4/ %patch1021 -p1 %patch1022 -p1 %patch1023 -p1 +%patch1024 -p1 +%patch1025 -p1 #systemd %patch1 -p1 @@ -599,7 +605,7 @@ cp %{SOURCE7} m4/ %build autoreconf -fiv # prevent pre-generated and distributed files from re-building -find . -name "*.[1-8]" -exec touch '{}' \; +find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 # keep split-usr until all packages have moved their systemd rules to /usr %configure \ @@ -651,7 +657,7 @@ ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/syste chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' +find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert @@ -728,6 +734,11 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants +src="%buildroot/%_libexecdir/systemd/system/getty@.service" +dst="${src/@/@tty1}" +cp "$src" "$dst" +perl -i -pe 's{^# the VT is cleared.*}{}i;s{(^TTYVTDisallocate=.*)}{}' "$dst" + %fdupes -s %{buildroot}%{_mandir} %pre From 96aa32bb596c96dee4f6445db50ab312fd82b08c81e69a41646cb17eee0d3c6c Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 20 Feb 2013 16:46:33 +0000 Subject: [PATCH 128/991] Accepting request 155884 from Base:System - Ensure journal is flushed on disk when systemd-logger is installed for the first time. - Add improve-journal-perf.patch: improve journal performance on query. - Add support-hybrid-suspend.patch: add support for hybrid suspend. - Add forward-to-pmutils.patch: forward suspend/hibernation calls to pm-utils, if installed (bnc#790157). (forwarded request 155834 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/155884 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=132 --- forward-to-pmutils.patch | 93 +++++ improve-bash-completion.patch | 2 +- improve-journal-perf.patch | 304 +++++++++++++++ support-hybrid-suspend.patch | 680 ++++++++++++++++++++++++++++++++++ systemd-mini.changes | 11 + systemd-mini.spec | 19 + systemd.changes | 11 + systemd.spec | 19 + 8 files changed, 1138 insertions(+), 1 deletion(-) create mode 100644 forward-to-pmutils.patch create mode 100644 improve-journal-perf.patch create mode 100644 support-hybrid-suspend.patch diff --git a/forward-to-pmutils.patch b/forward-to-pmutils.patch new file mode 100644 index 00000000..2a40213d --- /dev/null +++ b/forward-to-pmutils.patch @@ -0,0 +1,93 @@ +Index: systemd-195/src/sleep/sleep.c +=================================================================== +--- systemd-195.orig/src/sleep/sleep.c ++++ systemd-195/src/sleep/sleep.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include "log.h" + #include "util.h" +@@ -31,6 +32,9 @@ + int main(int argc, char *argv[]) { + const char *verb; + char* arguments[4]; ++ const char *pmtools; ++ bool delegate_to_pmutils = false; ++ struct stat buf; + int r; + FILE *f; + +@@ -44,17 +48,27 @@ int main(int argc, char *argv[]) { + goto finish; + } + +- if (streq(argv[1], "suspend")) ++ if (streq(argv[1], "suspend")) { + verb = "mem"; +- else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) ++ pmtools = "/usr/sbin/pm-suspend"; ++ } ++ else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) { + verb = "disk"; ++ if (streq(argv[1], "hibernate")) ++ pmtools = "/usr/sbin/pm-hibernate"; ++ else ++ pmtools = "/usr/sbin/pm-suspend-hybrid"; ++ } + else { + log_error("Unknown action '%s'.", argv[1]); + r = -EINVAL; + goto finish; + } + ++ delegate_to_pmutils = (stat(pmtools, &buf) >= 0 && S_ISREG(buf.st_mode) && (buf.st_mode & 0111)); ++ + /* Configure the hibernation mode */ ++ if (!delegate_to_pmutils) { + if (streq(argv[1], "hibernate")) { + if (write_one_line_file("/sys/power/disk", "platform") < 0) + write_one_line_file("/sys/power/disk", "shutdown"); +@@ -64,13 +78,14 @@ int main(int argc, char *argv[]) { + write_one_line_file("/sys/power/disk", "shutdown"); + } + ++ + f = fopen("/sys/power/state", "we"); + if (!f) { + log_error("Failed to open /sys/power/state: %m"); + r = -errno; + goto finish; + } +- ++ } + arguments[0] = NULL; + arguments[1] = (char*) "pre"; + arguments[2] = argv[1]; +@@ -96,11 +111,16 @@ int main(int argc, char *argv[]) { + "SLEEP=hybrid-sleep", + NULL); + ++ if (delegate_to_pmutils) { ++ r = -system(pmtools); ++ } ++ else { + fputs(verb, f); + fputc('\n', f); + fflush(f); + + r = ferror(f) ? -errno : 0; ++ } + + if (streq(argv[1], "suspend")) + log_struct(LOG_INFO, +@@ -118,6 +138,7 @@ int main(int argc, char *argv[]) { + arguments[1] = (char*) "post"; + execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments); + ++ if (!delegate_to_pmutils) + fclose(f); + + finish: diff --git a/improve-bash-completion.patch b/improve-bash-completion.patch index 4621e3fd..b3580f99 100644 --- a/improve-bash-completion.patch +++ b/improve-bash-completion.patch @@ -8,7 +8,7 @@ Index: systemd-195/bash-completion/systemd-bash-completion.sh [STANDALONE]='daemon-reexec daemon-reload default dot dump - emergency exit halt kexec list-jobs list-units - list-unit-files poweroff reboot rescue show-environment' -+ emergency exit halt hibernate kexec list-jobs list-units ++ emergency exit halt hybrid-sleep hibernate kexec list-jobs list-units + list-unit-files poweroff reboot rescue show-environment suspend' [NAME]='snapshot load' [FILE]='link' diff --git a/improve-journal-perf.patch b/improve-journal-perf.patch new file mode 100644 index 00000000..8f0eb8f7 --- /dev/null +++ b/improve-journal-perf.patch @@ -0,0 +1,304 @@ +From a4bcff5ba36115495994e9f9ba66074471de76ab Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 26 Oct 2012 03:24:03 +0200 +Subject: [PATCH] journal: introduce entry array chain cache + +When traversing entry array chains for a bisection or for retrieving an +item by index we previously always started at the beginning of the +chain. Since we tend to look at the same chains repeatedly, let's cache +where we have been the last time, and maybe we can skip ahead with this +the next time. + +This turns most bisections and index lookups from O(log(n)*log(n)) into +O(log(n)). More importantly however, we seek around on disk much less, +which is good to reduce buffer cache and seek times on rotational disks. +--- + .gitignore | 1 + + Makefile.am | 9 ++++ + src/journal/journal-file.c | 109 +++++++++++++++++++++++++++++++++++++--- + src/journal/journal-file.h | 3 ++ + src/journal/test-journal-enum.c | 53 +++++++++++++++++++ + src/shared/hashmap.c | 19 +++++++ + src/shared/hashmap.h | 3 ++ + 7 files changed, 189 insertions(+), 8 deletions(-) + create mode 100644 src/journal/test-journal-enum.c + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index edf8e7d..6c9deac 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -65,6 +65,9 @@ + /* n_data was the first entry we added after the initial file format design */ + #define HEADER_SIZE_MIN ALIGN64(offsetof(Header, n_data)) + ++/* How many entries to keep in the entry array chain cache at max */ ++#define CHAIN_CACHE_MAX 20 ++ + void journal_file_close(JournalFile *f) { + assert(f); + +@@ -97,6 +100,8 @@ void journal_file_close(JournalFile *f) { + if (f->mmap) + mmap_cache_unref(f->mmap); + ++ hashmap_free_free(f->chain_cache); ++ + #ifdef HAVE_XZ + free(f->compress_buffer); + #endif +@@ -1307,37 +1312,89 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st + return r; + } + ++typedef struct ChainCacheItem { ++ uint64_t first; /* the array at the begin of the chain */ ++ uint64_t array; /* the cached array */ ++ uint64_t begin; /* the first item in the cached array */ ++ uint64_t total; /* the total number of items in all arrays before this one in the chain */ ++} ChainCacheItem; ++ ++static void chain_cache_put( ++ Hashmap *h, ++ ChainCacheItem *ci, ++ uint64_t first, ++ uint64_t array, ++ uint64_t begin, ++ uint64_t total) { ++ ++ if (!ci) { ++ if (hashmap_size(h) >= CHAIN_CACHE_MAX) ++ ci = hashmap_steal_first(h); ++ else { ++ ci = new(ChainCacheItem, 1); ++ if (!ci) ++ return; ++ } ++ ++ ci->first = first; ++ ++ if (hashmap_put(h, &ci->first, ci) < 0) { ++ free(ci); ++ return; ++ } ++ } else ++ assert(ci->first == first); ++ ++ ci->array = array; ++ ci->begin = begin; ++ ci->total = total; ++} ++ + static int generic_array_get(JournalFile *f, + uint64_t first, + uint64_t i, + Object **ret, uint64_t *offset) { + + Object *o; +- uint64_t p = 0, a; ++ uint64_t p = 0, a, t = 0; + int r; ++ ChainCacheItem *ci; + + assert(f); + + a = first; ++ ++ /* Try the chain cache first */ ++ ci = hashmap_get(f->chain_cache, &first); ++ if (ci && i > ci->total) { ++ a = ci->array; ++ i -= ci->total; ++ t = ci->total; ++ } ++ + while (a > 0) { +- uint64_t n; ++ uint64_t k; + + r = journal_file_move_to_object(f, OBJECT_ENTRY_ARRAY, a, &o); + if (r < 0) + return r; + +- n = journal_file_entry_array_n_items(o); +- if (i < n) { ++ k = journal_file_entry_array_n_items(o); ++ if (i < k) { + p = le64toh(o->entry_array.items[i]); +- break; ++ goto found; + } + +- i -= n; ++ i -= k; ++ t += k; + a = le64toh(o->entry_array.next_entry_array_offset); + } + +- if (a <= 0 || p <= 0) +- return 0; ++ return 0; ++ ++found: ++ /* Let's cache this item for the next invocation */ ++ chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t); + + r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o); + if (r < 0) +@@ -1401,11 +1458,38 @@ static int generic_array_bisect(JournalFile *f, + bool subtract_one = false; + Object *o, *array = NULL; + int r; ++ ChainCacheItem *ci; + + assert(f); + assert(test_object); + ++ /* Start with the first array in the chain */ + a = first; ++ ++ ci = hashmap_get(f->chain_cache, &first); ++ if (ci && n > ci->total) { ++ /* Ah, we have iterated this bisection array chain ++ * previously! Let's see if we can skip ahead in the ++ * chain, as far as the last time. But we can't jump ++ * backwards in the chain, so let's check that ++ * first. */ ++ ++ r = test_object(f, ci->begin, needle); ++ if (r < 0) ++ return r; ++ ++ if (r == TEST_LEFT) { ++ /* OK, what we are looking for is right of th ++ * begin of this EntryArray, so let's jump ++ * straight to previously cached array in the ++ * chain */ ++ ++ a = ci->array; ++ n -= ci->total; ++ t = ci->total; ++ } ++ } ++ + while (a > 0) { + uint64_t left, right, k, lp; + +@@ -1486,6 +1570,9 @@ found: + if (subtract_one && t == 0 && i == 0) + return 0; + ++ /* Let's cache this item for the next invocation */ ++ chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t); ++ + if (subtract_one && i == 0) + p = last_p; + else if (subtract_one) +@@ -2265,6 +2352,12 @@ int journal_file_open( + goto fail; + } + ++ f->chain_cache = hashmap_new(uint64_hash_func, uint64_compare_func); ++ if (!f->chain_cache) { ++ r = -ENOMEM; ++ goto fail; ++ } ++ + f->fd = open(f->path, f->flags|O_CLOEXEC, f->mode); + if (f->fd < 0) { + r = -errno; +diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h +index d87cbe4..cdbc8e4 100644 +--- a/src/journal/journal-file.h ++++ b/src/journal/journal-file.h +@@ -33,6 +33,7 @@ + #include "journal-def.h" + #include "util.h" + #include "mmap-cache.h" ++#include "hashmap.h" + + typedef struct JournalMetrics { + uint64_t max_use; +@@ -64,6 +65,8 @@ typedef struct JournalFile { + JournalMetrics metrics; + MMapCache *mmap; + ++ Hashmap *chain_cache; ++ + #ifdef HAVE_XZ + void *compress_buffer; + uint64_t compress_buffer_size; +diff --git a/src/shared/hashmap.c b/src/shared/hashmap.c +index ef78070..dcfbb67 100644 +--- a/src/shared/hashmap.c ++++ b/src/shared/hashmap.c +@@ -147,6 +147,25 @@ int trivial_compare_func(const void *a, const void *b) { + return a < b ? -1 : (a > b ? 1 : 0); + } + ++unsigned uint64_hash_func(const void *p) { ++ uint64_t u; ++ ++ assert_cc(sizeof(uint64_t) == 2*sizeof(unsigned)); ++ ++ u = *(const uint64_t*) p; ++ ++ return (unsigned) ((u >> 32) ^ u); ++} ++ ++int uint64_compare_func(const void *_a, const void *_b) { ++ uint64_t a, b; ++ ++ a = *(const uint64_t*) _a; ++ b = *(const uint64_t*) _b; ++ ++ return a < b ? -1 : (a > b ? 1 : 0); ++} ++ + Hashmap *hashmap_new(hash_func_t hash_func, compare_func_t compare_func) { + bool b; + Hashmap *h; +diff --git a/src/shared/hashmap.h b/src/shared/hashmap.h +index 55dea0a..6fd71cf 100644 +--- a/src/shared/hashmap.h ++++ b/src/shared/hashmap.h +@@ -44,6 +44,9 @@ int string_compare_func(const void *a, const void *b); + unsigned trivial_hash_func(const void *p); + int trivial_compare_func(const void *a, const void *b); + ++unsigned uint64_hash_func(const void *p); ++int uint64_compare_func(const void *a, const void *b); ++ + Hashmap *hashmap_new(hash_func_t hash_func, compare_func_t compare_func); + void hashmap_free(Hashmap *h); + void hashmap_free_free(Hashmap *h); +-- +1.8.1.1 + +From 34741aa3e2ee1e67a4cc735b7492aec13f0d822c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 26 Oct 2012 20:25:36 +0200 +Subject: [PATCH] journal: special case the trivial cache chain cache entry + +--- + src/journal/journal-file.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 6c9deac..3df099d 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -1328,6 +1328,11 @@ static void chain_cache_put( + uint64_t total) { + + if (!ci) { ++ /* If the chain item to cache for this chain is the ++ * first one it's not worth caching anything */ ++ if (array == first) ++ return; ++ + if (hashmap_size(h) >= CHAIN_CACHE_MAX) + ci = hashmap_steal_first(h); + else { +-- +1.8.1.1 + diff --git a/support-hybrid-suspend.patch b/support-hybrid-suspend.patch new file mode 100644 index 00000000..ad6b2bda --- /dev/null +++ b/support-hybrid-suspend.patch @@ -0,0 +1,680 @@ +From 6524990fdc98370ecba5d9f73e67161e8798c010 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 28 Oct 2012 00:49:04 +0200 +Subject: [PATCH] logind: support for hybrid sleep (i.e. suspend+hibernate at + the same time) + +--- + .gitignore | 1 + + Makefile.am | 17 ++++++++- + man/logind.conf.xml | 5 ++- + man/systemctl.xml | 5 +++ + man/systemd-suspend.service.xml | 42 +++++++++++++-------- + man/systemd.special.xml | 15 ++++++-- + src/core/special.h | 1 + + src/login/logind-button.c | 21 ++++++----- + src/login/logind-button.h | 1 + + src/login/logind-dbus.c | 69 +++++++++++++++++++++++++++++++---- + src/shared/util.c | 24 ++++++++++++ + src/shared/util.h | 1 + + src/sleep/sleep.c | 20 +++++++++- + src/systemctl/systemctl.c | 17 +++++++-- + src/test/test-sleep.c | 39 ++++++++++++++++++++ + units/.gitignore | 1 + + units/hybrid-sleep.target | 13 +++++++ + units/systemd-hybrid-sleep.service.in | 17 +++++++++ + 18 files changed, 264 insertions(+), 45 deletions(-) + create mode 100644 src/test/test-sleep.c + create mode 100644 units/hybrid-sleep.target + create mode 100644 units/systemd-hybrid-sleep.service.in + +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -272,6 +272,7 @@ dist_systemunit_DATA = \ + units/nss-user-lookup.target \ + units/mail-transfer-agent.target \ + units/hibernate.target \ ++ units/hybrid-sleep.target \ + units/http-daemon.target \ + units/poweroff.target \ + units/reboot.target \ +@@ -334,6 +335,7 @@ nodist_systemunit_DATA = \ + units/rescue.service \ + units/user@.service \ + units/systemd-hibernate.service \ ++ units/systemd-hybrid-sleep.service \ + units/systemd-suspend.service \ + units/systemd-halt.service \ + units/systemd-poweroff.service \ +@@ -384,6 +386,7 @@ EXTRA_DIST += \ + units/systemd-udev-settle.service \ + units/debug-shell.service.in \ + units/systemd-hibernate.service.in \ ++ units/systemd-hybrid-sleep.service.in \ + units/systemd-suspend.service.in \ + units/quotaon.service.in \ + introspect.awk \ +@@ -539,6 +542,7 @@ MANPAGES_ALIAS = \ + man/systemd-shutdownd.socket.8 \ + man/systemd-shutdownd.8 \ + man/systemd-hibernate.service.8 \ ++ man/systemd-hybrid-sleep.service.8 \ + man/systemd-sleep.8 \ + man/systemd-shutdown.8 \ + man/systemd-poweroff.service.8 \ +@@ -612,6 +616,7 @@ man/systemd-initctl.8: man/systemd-initc + man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8 + man/systemd-shutdownd.8: man/systemd-shutdownd.service.8 + man/systemd-hibernate.service.8: man/systemd-suspend.service.8 ++man/systemd-hybrid-sleep.service.8: man/systemd-suspend.service.8 + man/systemd-sleep.8: man/systemd-suspend.service.8 + man/systemd-shutdown.8: man/systemd-halt.service.8 + man/systemd-poweroff.service.8: man/systemd-halt.service.8 +Index: systemd-195/man/logind.conf.xml +=================================================================== +--- systemd-195.orig/man/logind.conf.xml ++++ systemd-195/man/logind.conf.xml +@@ -211,8 +211,10 @@ + poweroff, + reboot, + halt, +- kexec and +- hibernate. If ++ kexec, ++ suspend, ++ hibernate, and ++ hybrid-sleep. If + ignore logind will + never handle these keys. Otherwise the + specified action will be taken in the +Index: systemd-195/man/systemctl.xml +=================================================================== +--- systemd-195.orig/man/systemctl.xml ++++ systemd-195/man/systemctl.xml +@@ -1181,6 +1181,11 @@ + Hibernate the system. + + ++ hybrid-sleep ++ ++ Hibernate and suspend the system. ++ ++ + switch-root [ROOT] [INIT] + + Switches to a +Index: systemd-195/man/systemd-suspend.service.xml +=================================================================== +--- systemd-195.orig/man/systemd-suspend.service.xml ++++ systemd-195/man/systemd-suspend.service.xml +@@ -45,6 +45,7 @@ + + systemd-suspend.service + systemd-hibernate.service ++ systemd-hybrid-sleep.service + systemd-sleep + System sleep state logic + +@@ -52,6 +53,7 @@ + + systemd-suspend.service + systemd-hibernate.service ++ systemd-hybrid-sleep.service + /usr/lib/systemd/systemd-sleep + + +@@ -63,20 +65,26 @@ + suspend.target and is responsible + for the actual system suspend. Similar, + systemd-hibernate.service is +- pulled in by hibernate.target to +- executed the actual hibernation. +- +- Immediately before entering system suspend and +- hibernation +- systemd-suspend.service will run +- all executables in ++ pulled in by hibernate.target to ++ execute the actual hibernation. Finally, ++ systemd-hybrid-sleep.service is ++ pulled in by hybrid-sleep.target ++ to execute hybrid hibernation with system ++ suspend. ++ ++ Immediately before entering system suspend ++ and/or hibernation ++ systemd-suspend.service (and the ++ other mentioned units, respectively) will run all ++ executables in + /usr/lib/systemd/system-sleep/ + and pass two arguments to them. The first argument + will be "pre", the second either +- "suspend" or +- "hibernate", depending on the ++ "suspend", ++ "hibernate", or ++ "hybrid-sleep" depending on the + chosen action. Immediately after leaving system +- suspend and hibernation the same executables are run, ++ suspend and/or hibernation the same executables are run, + but the first argument is now + "post". All executables in this + directory are executed in parallel, and execution of +@@ -87,15 +95,17 @@ + /usr/lib/systemd/system-sleep/ + are intended for local use only and should be + considered hacks. If applications want to be notified +- of system suspend and resume there are much nicer +- interfaces available. ++ of system suspend/hibernation and resume there are ++ much nicer interfaces available. + + Note that +- systemd-suspend.service and +- systemd-hibernate.service should +- never be executed directly. Instead, trigger system +- sleep states with a command such as "systemctl +- suspend" or suchlike. ++ systemd-suspend.service, ++ systemd-hibernate.service and ++ systemd-hybrid-sleep.service ++ should never be executed directly. Instead, trigger ++ system sleep states with a command such as ++ "systemctl suspend" or ++ similar. + + + +Index: systemd-195/man/systemd.special.xml +=================================================================== +--- systemd-195.orig/man/systemd.special.xml ++++ systemd-195/man/systemd.special.xml +@@ -63,6 +63,7 @@ + graphical.target, + hibernate.target, + http-daemon.target, ++ hybrid-sleep.target, + halt.target, + kbrequest.target, + kexec.target, +@@ -303,6 +304,15 @@ + + + ++ hybrid-sleep.target ++ ++ A special target unit ++ for hibernating and suspending the ++ system at the same time. This pulls in ++ sleep.target. ++ ++ ++ + halt.target + + A special target unit +@@ -652,9 +662,8 @@ + + A special target unit + that is pulled in by +- suspend.target +- and +- hibernate.target ++ suspend.target, ++ hibernate.target and hybrid-sleep.target + and may be used to hook units + into the sleep state + logic. +Index: systemd-195/src/core/special.h +=================================================================== +--- systemd-195.orig/src/core/special.h ++++ systemd-195/src/core/special.h +@@ -37,6 +37,7 @@ + #define SPECIAL_EXIT_TARGET "exit.target" + #define SPECIAL_SUSPEND_TARGET "suspend.target" + #define SPECIAL_HIBERNATE_TARGET "hibernate.target" ++#define SPECIAL_HYBRID_SLEEP_TARGET "hybrid-sleep.target" + + /* Special boot targets */ + #define SPECIAL_RESCUE_TARGET "rescue.target" +Index: systemd-195/src/login/logind-button.c +=================================================================== +--- systemd-195.orig/src/login/logind-button.c ++++ systemd-195/src/login/logind-button.c +@@ -163,16 +163,18 @@ static int button_handle( + [HANDLE_HALT] = "Halting...", + [HANDLE_KEXEC] = "Rebooting via kexec...", + [HANDLE_SUSPEND] = "Suspending...", +- [HANDLE_HIBERNATE] = "Hibernating..." ++ [HANDLE_HIBERNATE] = "Hibernating...", ++ [HANDLE_HYBRID_SLEEP] = "Hibernating and suspend...", + }; + + static const char * const target_table[_HANDLE_BUTTON_MAX] = { +- [HANDLE_POWEROFF] = "poweroff.target", +- [HANDLE_REBOOT] = "reboot.target", +- [HANDLE_HALT] = "halt.target", +- [HANDLE_KEXEC] = "kexec.target", +- [HANDLE_SUSPEND] = "suspend.target", +- [HANDLE_HIBERNATE] = "hibernate.target" ++ [HANDLE_POWEROFF] = SPECIAL_POWEROFF_TARGET, ++ [HANDLE_REBOOT] = SPECIAL_REBOOT_TARGET, ++ [HANDLE_HALT] = SPECIAL_HALT_TARGET, ++ [HANDLE_KEXEC] = SPECIAL_KEXEC_TARGET, ++ [HANDLE_SUSPEND] = SPECIAL_SUSPEND_TARGET, ++ [HANDLE_HIBERNATE] = SPECIAL_HIBERNATE_TARGET, ++ [HANDLE_HYBRID_SLEEP] = SPECIAL_HYBRID_SLEEP_TARGET + }; + + DBusError error; +@@ -193,7 +195,7 @@ static int button_handle( + return 0; + } + +- inhibit_operation = handle == HANDLE_SUSPEND || handle == HANDLE_HIBERNATE ? INHIBIT_SLEEP : INHIBIT_SHUTDOWN; ++ inhibit_operation = handle == HANDLE_SUSPEND || handle == HANDLE_HIBERNATE || handle == HANDLE_HYBRID_SLEEP ? INHIBIT_SLEEP : INHIBIT_SHUTDOWN; + + /* If the actual operation is inhibited, warn and fail */ + if (!ignore_inhibited && +@@ -305,7 +307,8 @@ static const char* const handle_button_t + [HANDLE_HALT] = "halt", + [HANDLE_KEXEC] = "kexec", + [HANDLE_SUSPEND] = "suspend", +- [HANDLE_HIBERNATE] = "hibernate" ++ [HANDLE_HIBERNATE] = "hibernate", ++ [HANDLE_HYBRID_SLEEP] = "hybrid-sleep", + }; + DEFINE_STRING_TABLE_LOOKUP(handle_button, HandleButton); + DEFINE_CONFIG_PARSE_ENUM(config_parse_handle_button, handle_button, HandleButton, "Failed to parse handle button setting"); +Index: systemd-195/src/login/logind-button.h +=================================================================== +--- systemd-195.orig/src/login/logind-button.h ++++ systemd-195/src/login/logind-button.h +@@ -32,6 +32,7 @@ typedef enum HandleButton { + HANDLE_KEXEC, + HANDLE_SUSPEND, + HANDLE_HIBERNATE, ++ HANDLE_HYBRID_SLEEP, + _HANDLE_BUTTON_MAX, + _HANDLE_BUTTON_INVALID = -1 + } HandleButton; +Index: systemd-195/src/login/logind-dbus.c +=================================================================== +--- systemd-195.orig/src/login/logind-dbus.c ++++ systemd-195/src/login/logind-dbus.c +@@ -145,6 +145,9 @@ + " \n" \ + " \n" \ + " \n" \ ++ " \n" \ ++ " \n" \ ++ " \n" \ + " \n" \ + " \n" \ + " \n" \ +@@ -157,6 +160,9 @@ + " \n" \ + " \n" \ + " \n" \ ++ " \n" \ ++ " \n" \ ++ " \n" \ + " \n" \ + " \n" \ + " \n" \ +@@ -1056,6 +1062,7 @@ static int bus_manager_can_shutdown_or_s + const char *action_multiple_sessions, + const char *action_ignore_inhibit, + const char *sleep_type, ++ const char *sleep_disk_type, + DBusError *error, + DBusMessage **_reply) { + +@@ -1087,6 +1094,17 @@ static int bus_manager_can_shutdown_or_s + } + } + ++ if (sleep_disk_type) { ++ r = can_sleep_disk(sleep_disk_type); ++ if (r < 0) ++ return r; ++ ++ if (r == 0) { ++ result = "na"; ++ goto finish; ++ } ++ } ++ + ul = dbus_bus_get_unix_user(connection, dbus_message_get_sender(message), error); + if (ul == (unsigned long) -1) + return -EIO; +@@ -1236,6 +1254,7 @@ static int bus_manager_do_shutdown_or_sl + const char *action_multiple_sessions, + const char *action_ignore_inhibit, + const char *sleep_type, ++ const char *sleep_disk_type, + DBusError *error, + DBusMessage **_reply) { + +@@ -1273,6 +1292,15 @@ static int bus_manager_do_shutdown_or_sl + return -ENOTSUP; + } + ++ if (sleep_disk_type) { ++ r = can_sleep_disk(sleep_disk_type); ++ if (r < 0) ++ return r; ++ ++ if (r == 0) ++ return -ENOTSUP; ++ } ++ + ul = dbus_bus_get_unix_user(connection, dbus_message_get_sender(message), error); + if (ul == (unsigned long) -1) + return -EIO; +@@ -2067,7 +2095,7 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.power-off", + "org.freedesktop.login1.power-off-multiple-sessions", + "org.freedesktop.login1.power-off-ignore-inhibit", +- NULL, ++ NULL, NULL, + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2079,7 +2107,7 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.reboot", + "org.freedesktop.login1.reboot-multiple-sessions", + "org.freedesktop.login1.reboot-ignore-inhibit", +- NULL, ++ NULL, NULL, + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2092,7 +2120,7 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.suspend", + "org.freedesktop.login1.suspend-multiple-sessions", + "org.freedesktop.login1.suspend-ignore-inhibit", +- "mem", ++ "mem", NULL, + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2104,7 +2132,20 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.hibernate", + "org.freedesktop.login1.hibernate-multiple-sessions", + "org.freedesktop.login1.hibernate-ignore-inhibit", +- "disk", ++ "disk", NULL, ++ &error, &reply); ++ if (r < 0) ++ return bus_send_error_reply(connection, message, &error, r); ++ ++ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "HybridSleep")) { ++ r = bus_manager_do_shutdown_or_sleep( ++ m, connection, message, ++ SPECIAL_HYBRID_SLEEP_TARGET, ++ INHIBIT_SLEEP, ++ "org.freedesktop.login1.hibernate", ++ "org.freedesktop.login1.hibernate-multiple-sessions", ++ "org.freedesktop.login1.hibernate-ignore-inhibit", ++ "disk", "suspend", + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2117,7 +2158,7 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.power-off", + "org.freedesktop.login1.power-off-multiple-sessions", + "org.freedesktop.login1.power-off-ignore-inhibit", +- NULL, ++ NULL, NULL, + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2128,7 +2169,7 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.reboot", + "org.freedesktop.login1.reboot-multiple-sessions", + "org.freedesktop.login1.reboot-ignore-inhibit", +- NULL, ++ NULL, NULL, + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2140,7 +2181,7 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.suspend", + "org.freedesktop.login1.suspend-multiple-sessions", + "org.freedesktop.login1.suspend-ignore-inhibit", +- "mem", ++ "mem", NULL, + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +@@ -2152,7 +2193,19 @@ static DBusHandlerResult manager_message + "org.freedesktop.login1.hibernate", + "org.freedesktop.login1.hibernate-multiple-sessions", + "org.freedesktop.login1.hibernate-ignore-inhibit", +- "disk", ++ "disk", NULL, ++ &error, &reply); ++ if (r < 0) ++ return bus_send_error_reply(connection, message, &error, r); ++ ++ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "CanHybridSleep")) { ++ r = bus_manager_can_shutdown_or_sleep( ++ m, connection, message, ++ INHIBIT_SLEEP, ++ "org.freedesktop.login1.hibernate", ++ "org.freedesktop.login1.hibernate-multiple-sessions", ++ "org.freedesktop.login1.hibernate-ignore-inhibit", ++ "disk", "suspend", + &error, &reply); + if (r < 0) + return bus_send_error_reply(connection, message, &error, r); +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -5726,6 +5726,30 @@ int can_sleep(const char *type) { + return false; + } + ++int can_sleep_disk(const char *type) { ++ char *w, *state; ++ size_t l, k; ++ int r; ++ _cleanup_free_ char *p = NULL; ++ ++ assert(type); ++ ++ r = read_one_line_file("/sys/power/disk", &p); ++ if (r < 0) ++ return r == -ENOENT ? 0 : r; ++ ++ k = strlen(type); ++ FOREACH_WORD_SEPARATOR(w, l, p, WHITESPACE, state) { ++ if (l == k && memcmp(w, type, l) == 0) ++ return true; ++ ++ if (l == k + 2 && w[0] == '[' && memcmp(w + 1, type, l - 2) == 0 && w[l-1] == ']') ++ return true; ++ } ++ ++ return false; ++} ++ + bool is_valid_documentation_url(const char *url) { + assert(url); + +Index: systemd-195/src/shared/util.h +=================================================================== +--- systemd-195.orig/src/shared/util.h ++++ systemd-195/src/shared/util.h +@@ -531,6 +531,7 @@ int setrlimit_closest(int resource, cons + int getenv_for_pid(pid_t pid, const char *field, char **_value); + + int can_sleep(const char *type); ++int can_sleep_disk(const char *type); + + bool is_valid_documentation_url(const char *url); + +Index: systemd-195/src/sleep/sleep.c +=================================================================== +--- systemd-195.orig/src/sleep/sleep.c ++++ systemd-195/src/sleep/sleep.c +@@ -46,7 +46,7 @@ int main(int argc, char *argv[]) { + + if (streq(argv[1], "suspend")) + verb = "mem"; +- else if (streq(argv[1], "hibernate")) ++ else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) + verb = "disk"; + else { + log_error("Unknown action '%s'.", argv[1]); +@@ -54,6 +54,16 @@ int main(int argc, char *argv[]) { + goto finish; + } + ++ /* Configure the hibernation mode */ ++ if (streq(argv[1], "hibernate")) { ++ if (write_one_line_file("/sys/power/disk", "platform") < 0) ++ write_one_line_file("/sys/power/disk", "shutdown"); ++ } else if (streq(argv[1], "hybrid-sleep")) { ++ if (write_one_line_file("/sys/power/disk", "suspend") < 0) ++ if (write_one_line_file("/sys/power/disk", "platform") < 0) ++ write_one_line_file("/sys/power/disk", "shutdown"); ++ } ++ + f = fopen("/sys/power/state", "we"); + if (!f) { + log_error("Failed to open /sys/power/state: %m"); +@@ -73,12 +83,18 @@ int main(int argc, char *argv[]) { + "MESSAGE=Suspending system...", + "SLEEP=suspend", + NULL); +- else ++ else if (streq(argv[1], "hibernate")) + log_struct(LOG_INFO, + MESSAGE_ID(SD_MESSAGE_SLEEP_START), + "MESSAGE=Hibernating system...", + "SLEEP=hibernate", + NULL); ++ else ++ log_struct(LOG_INFO, ++ MESSAGE_ID(SD_MESSAGE_SLEEP_START), ++ "MESSAGE=Hibernating and suspending system...", ++ "SLEEP=hybrid-sleep", ++ NULL); + + fputs(verb, f); + fputc('\n', f); +Index: systemd-195/src/systemctl/systemctl.c +=================================================================== +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -99,6 +99,7 @@ static enum action { + ACTION_EXIT, + ACTION_SUSPEND, + ACTION_HIBERNATE, ++ ACTION_HYBRID_SLEEP, + ACTION_RUNLEVEL2, + ACTION_RUNLEVEL3, + ACTION_RUNLEVEL4, +@@ -1608,6 +1609,8 @@ static enum action verb_to_action(const + return ACTION_SUSPEND; + else if (streq(verb, "hibernate")) + return ACTION_HIBERNATE; ++ else if (streq(verb, "hybrid-sleep")) ++ return ACTION_HYBRID_SLEEP; + else + return ACTION_INVALID; + } +@@ -1628,7 +1631,8 @@ static int start_unit(DBusConnection *bu + [ACTION_DEFAULT] = SPECIAL_DEFAULT_TARGET, + [ACTION_EXIT] = SPECIAL_EXIT_TARGET, + [ACTION_SUSPEND] = SPECIAL_SUSPEND_TARGET, +- [ACTION_HIBERNATE] = SPECIAL_HIBERNATE_TARGET ++ [ACTION_HIBERNATE] = SPECIAL_HIBERNATE_TARGET, ++ [ACTION_HYBRID_SLEEP] = SPECIAL_HYBRID_SLEEP_TARGET + }; + + int r, ret = 0; +@@ -1767,6 +1771,10 @@ static int reboot_with_logind(DBusConnec + method = "Hibernate"; + break; + ++ case ACTION_HYBRID_SLEEP: ++ method = "HybridSleep"; ++ break; ++ + default: + return -EINVAL; + } +@@ -1818,7 +1826,8 @@ static int start_special(DBusConnection + (a == ACTION_POWEROFF || + a == ACTION_REBOOT || + a == ACTION_SUSPEND || +- a == ACTION_HIBERNATE)) { ++ a == ACTION_HIBERNATE || ++ a == ACTION_HYBRID_SLEEP)) { + r = reboot_with_logind(bus, a); + if (r >= 0) + return r; +@@ -3999,7 +4008,8 @@ static int systemctl_help(void) { + " exit Request user instance exit\n" + " switch-root [ROOT] [INIT] Change to a different root file system\n" + " suspend Suspend the system\n" +- " hibernate Hibernate the system\n", ++ " hibernate Hibernate the system\n" ++ " hybrid-sleep Hibernate and suspend the system\n", + program_invocation_short_name); + + return 0; +@@ -4931,6 +4941,7 @@ static int systemctl_main(DBusConnection + { "kexec", EQUAL, 1, start_special }, + { "suspend", EQUAL, 1, start_special }, + { "hibernate", EQUAL, 1, start_special }, ++ { "hybrid-sleep", EQUAL, 1, start_special }, + { "default", EQUAL, 1, start_special }, + { "rescue", EQUAL, 1, start_special }, + { "emergency", EQUAL, 1, start_special }, +Index: systemd-195/units/hybrid-sleep.target +=================================================================== +--- /dev/null ++++ systemd-195/units/hybrid-sleep.target +@@ -0,0 +1,13 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Hybrid Suspend+Hibernate ++Documentation=man:systemd.special(7) ++DefaultDependencies=no ++BindsTo=systemd-hybrid-sleep.service ++After=systemd-hybrid-sleep.service +Index: systemd-195/units/systemd-hybrid-sleep.service.in +=================================================================== +--- /dev/null ++++ systemd-195/units/systemd-hybrid-sleep.service.in +@@ -0,0 +1,17 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Hybrid Suspend+Hibernate ++Documentation=man:systemd-suspend.service(8) ++DefaultDependencies=no ++Requires=sleep.target ++After=sleep.target ++ ++[Service] ++Type=oneshot ++ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep diff --git a/systemd-mini.changes b/systemd-mini.changes index 5368f4e7..dfca29b1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com + +- Ensure journal is flushed on disk when systemd-logger is + installed for the first time. +- Add improve-journal-perf.patch: improve journal performance on + query. +- Add support-hybrid-suspend.patch: add support for hybrid suspend. +- Add forward-to-pmutils.patch: forward suspend/hibernation calls + to pm-utils, if installed (bnc#790157). + ------------------------------------------------------------------- Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index aed80312..61f18349 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -274,6 +274,12 @@ Patch129: handle-HOSTNAME.patch Patch130: systemctl-print-wall-on-if-successful.patch # PATCH-FIX-UPSTREAM improve-bash-completion.patch fcrozat@suse.com -- improve bash completion Patch131: improve-bash-completion.patch +# PATCH-FIX-UPSTREAM improve-journal-perf.patch fcrozat@suse.com -- improve journal performance +Patch132: improve-journal-perf.patch +# PATCH-FIX-UPSTREAM support-hybrid-suspend.patch fcrozat@suse.com -- support hybrid suspend +Patch133: support-hybrid-suspend.patch +# PATCH-FIX-OPENSUSE forward-to-pmutils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +Patch134: forward-to-pmutils.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -606,9 +612,15 @@ cp %{SOURCE7} m4/ %patch129 -p1 %patch130 -p1 %patch131 -p1 +%patch132 -p1 +%patch133 -p1 +%patch134 -p1 %build autoreconf -fiv +# to remove after upgrading to systemd 196+ +rm -f man/{systemd.exec.5,logind.conf.5,systemctl.1,systemd-suspend.service.8,systemd.special.7,tmpfiles.d.5} + # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -878,6 +890,13 @@ fi %post -n libgudev-1_0-0 -p /sbin/ldconfig %postun -n libgudev-1_0-0 -p /sbin/ldconfig + +%post logger +if [ "$1" -eq 1 ]; then +# tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : +fi + %endif %clean diff --git a/systemd.changes b/systemd.changes index 5368f4e7..dfca29b1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com + +- Ensure journal is flushed on disk when systemd-logger is + installed for the first time. +- Add improve-journal-perf.patch: improve journal performance on + query. +- Add support-hybrid-suspend.patch: add support for hybrid suspend. +- Add forward-to-pmutils.patch: forward suspend/hibernation calls + to pm-utils, if installed (bnc#790157). + ------------------------------------------------------------------- Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 9e0f143a..eb88b5b7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -269,6 +269,12 @@ Patch129: handle-HOSTNAME.patch Patch130: systemctl-print-wall-on-if-successful.patch # PATCH-FIX-UPSTREAM improve-bash-completion.patch fcrozat@suse.com -- improve bash completion Patch131: improve-bash-completion.patch +# PATCH-FIX-UPSTREAM improve-journal-perf.patch fcrozat@suse.com -- improve journal performance +Patch132: improve-journal-perf.patch +# PATCH-FIX-UPSTREAM support-hybrid-suspend.patch fcrozat@suse.com -- support hybrid suspend +Patch133: support-hybrid-suspend.patch +# PATCH-FIX-OPENSUSE forward-to-pmutils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +Patch134: forward-to-pmutils.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -601,9 +607,15 @@ cp %{SOURCE7} m4/ %patch129 -p1 %patch130 -p1 %patch131 -p1 +%patch132 -p1 +%patch133 -p1 +%patch134 -p1 %build autoreconf -fiv +# to remove after upgrading to systemd 196+ +rm -f man/{systemd.exec.5,logind.conf.5,systemctl.1,systemd-suspend.service.8,systemd.special.7,tmpfiles.d.5} + # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -873,6 +885,13 @@ fi %post -n libgudev-1_0-0 -p /sbin/ldconfig %postun -n libgudev-1_0-0 -p /sbin/ldconfig + +%post logger +if [ "$1" -eq 1 ]; then +# tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : +fi + %endif %clean From 33265be21585e5433f0d9beafe6dda192991345de3bc5e14286d1bbe02f6c192 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 22 Feb 2013 16:23:15 +0000 Subject: [PATCH 129/991] Accepting request 156091 from Base:System - Add rbind-mount.patch: handle rbind mount points correctly (bnc#804575). (forwarded request 156080 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/156091 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=133 --- rbind-mount.patch | 47 ++++++++++++++++++++++++++++++++++++++++++++ systemd-mini.changes | 6 ++++++ systemd-mini.spec | 3 +++ systemd.changes | 6 ++++++ systemd.spec | 3 +++ 5 files changed, 65 insertions(+) create mode 100644 rbind-mount.patch diff --git a/rbind-mount.patch b/rbind-mount.patch new file mode 100644 index 00000000..c2eb6b4f --- /dev/null +++ b/rbind-mount.patch @@ -0,0 +1,47 @@ +From df77b11852d6b3495848c4123e7cbd9f099910f9 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 21 Feb 2013 15:40:52 +0100 +Subject: [PATCH] detect rbind as bind mount + +Correctly detect rbind mount option as bind mount. +Fixes https://bugzilla.novell.com/show_bug.cgi?id=804575. +--- + src/core/mount.c | 6 ++++++ + src/fstab-generator/fstab-generator.c | 4 +++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index e3d298e..419cf27 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -329,6 +329,12 @@ static bool mount_is_bind(MountParameters *p) { + if (p->fstype && streq(p->fstype, "bind")) + return true; + ++ if (mount_test_option(p->options, "rbind")) ++ return true; ++ ++ if (p->fstype && streq(p->fstype, "rbind")) ++ return true; ++ + return false; + } + +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index bfedded..9db4123 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -178,7 +178,9 @@ static bool mount_is_bind(struct mntent *me) { + + return + hasmntopt(me, "bind") || +- streq(me->mnt_type, "bind"); ++ streq(me->mnt_type, "bind") || ++ hasmntopt(me, "rbind") || ++ streq(me->mnt_type, "rbind"); + } + + static bool mount_is_network(struct mntent *me) { +-- +1.8.1.1 + diff --git a/systemd-mini.changes b/systemd-mini.changes index dfca29b1..bad5b461 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com + +- Add rbind-mount.patch: handle rbind mount points correctly + (bnc#804575). + ------------------------------------------------------------------- Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 61f18349..f8e9e65e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -280,6 +280,8 @@ Patch132: improve-journal-perf.patch Patch133: support-hybrid-suspend.patch # PATCH-FIX-OPENSUSE forward-to-pmutils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils Patch134: forward-to-pmutils.patch +# PATCH-FIX-UPSTREAM rbind-mount.patch fcrozat@suse.com bnc#804575 -- Handle rbind mount point correctly +Patch135: rbind-mount.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -615,6 +617,7 @@ cp %{SOURCE7} m4/ %patch132 -p1 %patch133 -p1 %patch134 -p1 +%patch135 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index dfca29b1..bad5b461 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com + +- Add rbind-mount.patch: handle rbind mount points correctly + (bnc#804575). + ------------------------------------------------------------------- Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index eb88b5b7..8ad72466 100644 --- a/systemd.spec +++ b/systemd.spec @@ -275,6 +275,8 @@ Patch132: improve-journal-perf.patch Patch133: support-hybrid-suspend.patch # PATCH-FIX-OPENSUSE forward-to-pmutils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils Patch134: forward-to-pmutils.patch +# PATCH-FIX-UPSTREAM rbind-mount.patch fcrozat@suse.com bnc#804575 -- Handle rbind mount point correctly +Patch135: rbind-mount.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -610,6 +612,7 @@ cp %{SOURCE7} m4/ %patch132 -p1 %patch133 -p1 %patch134 -p1 +%patch135 -p1 %build autoreconf -fiv From 0b12bae9431f359886f678e069cb29ce0f384e46080a13031f87060279a3e172 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 22 Mar 2013 11:08:23 +0000 Subject: [PATCH 130/991] Accepting request 160211 from Base:System Please checkin also to openSUSE 12.3 - udev: re-add persistent network rules (bnc#809843). add: 1026-re-add-persistent-net.patch - rebase all patches, ensure that they apply properly. OBS-URL: https://build.opensuse.org/request/show/160211 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=134 --- 1026-re-add-persistent-net.patch | 428 ++++++++++++++++++ agetty-overrides-term.patch | 23 +- ...r-empty-strings-in-strto-conversions.patch | 39 +- ...-load-fragment-improve-error-message.patch | 31 +- ...tor-state-file-name-in-error-message.patch | 15 +- delta-accept-t-option.patch | 13 +- do-not-make-sockets-dependent-on-lo.patch | 13 +- fix-bad-mem-access.patch | 13 +- fix-potential-bad-mem-access.patch | 13 +- ...enerator-error-message-on-duplicates.patch | 15 +- handle-HOSTNAME.patch | 4 +- hostnamectl-fix-parsing-no-ask-password.patch | 13 +- improve-overflow-checks.patch | 88 +--- ...l-send-always-send-syslog_identifier.patch | 19 +- localectl-fix-assertion.patch | 13 +- ...pport-systems-without-locale-archive.patch | 19 +- ...d-capability-making-seats-without-fb.patch | 23 +- ...-non-tty-non-x11-session-on-shutdown.patch | 13 +- rbind-mount.patch | 23 +- ...king-ignore-exit-status-main-process.patch | 13 +- socket-improve-error-message.patch | 13 +- socket-verbose-error-message.patch | 13 +- ...ctl-no-assert-on-reboot-without-dbus.patch | 13 +- ...l-verbose-message-on-missing-install.patch | 13 +- systemd-cgls-fix-piping-output.patch | 15 +- systemd.changes | 7 + systemd.spec | 5 + var-run-lock.patch | 4 +- 28 files changed, 608 insertions(+), 306 deletions(-) create mode 100644 1026-re-add-persistent-net.patch diff --git a/1026-re-add-persistent-net.patch b/1026-re-add-persistent-net.patch new file mode 100644 index 00000000..1b05d5ee --- /dev/null +++ b/1026-re-add-persistent-net.patch @@ -0,0 +1,428 @@ +Index: systemd-195/src/udev/rule_generator/75-persistent-net-generator.rules +=================================================================== +--- /dev/null ++++ systemd-195/src/udev/rule_generator/75-persistent-net-generator.rules +@@ -0,0 +1,102 @@ ++# do not edit this file, it will be overwritten on update ++ ++# these rules generate rules for persistent network device naming ++# ++# variables used to communicate: ++# MATCHADDR MAC address used for the match ++# MATCHID bus_id used for the match ++# MATCHDRV driver name used for the match ++# MATCHIFTYPE interface type match ++# COMMENT comment to add to the generated rule ++# INTERFACE_NAME requested name supplied by external tool ++# INTERFACE_NEW new interface name returned by rule writer ++ ++ACTION!="add", GOTO="persistent_net_generator_end" ++SUBSYSTEM!="net", GOTO="persistent_net_generator_end" ++ ++# ignore the interface if a name has already been set ++NAME=="?*", GOTO="persistent_net_generator_end" ++ ++# device name whitelist ++KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" ++ ++# ignore Xen virtual interfaces ++SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end" ++ ++# read MAC address ++ENV{MATCHADDR}="$attr{address}" ++ ++# match interface type ++ENV{MATCHIFTYPE}="$attr{type}" ++ ++# ignore KVM virtual interfaces ++ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end" ++# ignore VMWare virtual interfaces ++ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end" ++# ignore Hyper-V virtual interfaces ++ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end" ++ ++# These vendors are known to violate the local MAC address assignment scheme ++# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom ++ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist" ++# 3Com ++ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist" ++# 3Com IBM PC; Imagen; Valid; Cisco; Apple ++ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist" ++# Intel ++ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist" ++# Olivetti ++ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist" ++# CMC Masscomp; Silicon Graphics; Prime EXL ++ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist" ++# Prominet Corporation Gigabit Ethernet Switch ++ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist" ++# BTI (Bus-Tech, Inc.) IBM Mainframes ++ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist" ++# Realtek ++ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist" ++# Novell 2000 ++ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist" ++# Realtec ++ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist" ++# Kingston Technologies ++ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist" ++# Xensource ++ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" ++ ++# match interface dev_id ++ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" ++ ++# do not use "locally administered" MAC address ++ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" ++ ++# do not use empty address ++ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}="" ++ ++LABEL="globally_administered_whitelist" ++ ++# build comment line for generated rule: ++SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)" ++SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)" ++SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)" ++SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})" ++ ++# ibmveth likes to use "locally administered" MAC addresses ++DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)" ++ ++# S/390 uses id matches only, do not use MAC address match ++SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}="" ++ ++# see if we got enough data to create a rule ++ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end" ++ ++# default comment ++ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})" ++ ++# write rule ++DRIVERS=="?*", IMPORT{program}="write_net_rules" ++ ++# rename interface if needed ++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" ++ ++LABEL="persistent_net_generator_end" +Index: systemd-195/src/udev/rule_generator/rule_generator.functions +=================================================================== +--- /dev/null ++++ systemd-195/src/udev/rule_generator/rule_generator.functions +@@ -0,0 +1,113 @@ ++# functions used by the udev rule generator ++ ++# Copyright (C) 2006 Marco d'Itri ++ ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 2 of the License, or ++# (at your option) any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++PATH='/usr/bin:/bin:/usr/sbin:/sbin' ++ ++# Read a single line from file $1 in the $DEVPATH directory. ++# The function must not return an error even if the file does not exist. ++sysread() { ++ local file="$1" ++ [ -e "/sys$DEVPATH/$file" ] || return 0 ++ local value ++ read value < "/sys$DEVPATH/$file" || return 0 ++ echo "$value" ++} ++ ++sysreadlink() { ++ local file="$1" ++ [ -e "/sys$DEVPATH/$file" ] || return 0 ++ readlink -f /sys$DEVPATH/$file 2> /dev/null || true ++} ++ ++# Return true if a directory is writeable. ++writeable() { ++ if ln -s test-link $1/.is-writeable 2> /dev/null; then ++ rm -f $1/.is-writeable ++ return 0 ++ else ++ return 1 ++ fi ++} ++ ++# Create a lock file for the current rules file. ++lock_rules_file() { ++ RUNDIR="/run/udev" ++ [ -e "$RUNDIR" ] || return 0 ++ ++ RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}" ++ ++ retry=30 ++ while ! mkdir $RULES_LOCK 2> /dev/null; do ++ if [ $retry -eq 0 ]; then ++ echo "Cannot lock $RULES_FILE!" >&2 ++ exit 2 ++ fi ++ sleep 1 ++ retry=$(($retry - 1)) ++ done ++} ++ ++unlock_rules_file() { ++ [ "$RULES_LOCK" ] || return 0 ++ rmdir $RULES_LOCK || true ++} ++ ++# Choose the real rules file if it is writeable or a temporary file if not. ++# Both files should be checked later when looking for existing rules. ++choose_rules_file() { ++ RUNDIR="/run/udev" ++ local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}" ++ [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1 ++ ++ if writeable ${RULES_FILE%/*}; then ++ RO_RULES_FILE='/dev/null' ++ else ++ RO_RULES_FILE=$RULES_FILE ++ RULES_FILE=$tmp_rules_file ++ fi ++} ++ ++# Return the name of the first free device. ++raw_find_next_available() { ++ local links="$1" ++ ++ local basename=${links%%[ 0-9]*} ++ local max=-1 ++ for name in $links; do ++ local num=${name#$basename} ++ [ "$num" ] || num=0 ++ [ $num -gt $max ] && max=$num ++ done ++ ++ local max=$(($max + 1)) ++ # "name0" actually is just "name" ++ [ $max -eq 0 ] && return ++ echo "$max" ++} ++ ++# Find all rules matching a key (with action) and a pattern. ++find_all_rules() { ++ local key="$1" ++ local linkre="$2" ++ local match="$3" ++ ++ local search='.*[[:space:],]'"$key"'"('"$linkre"')".*' ++ echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \ ++ $RO_RULES_FILE \ ++ $([ -e $RULES_FILE ] && echo $RULES_FILE) \ ++ 2>/dev/null) ++} +Index: systemd-195/Makefile.in +=================================================================== +--- systemd-195.orig/Makefile.in ++++ systemd-195/Makefile.in +@@ -1743,7 +1743,9 @@ am_v4l_id_OBJECTS = src/udev/v4l_id/v4l_ + v4l_id_OBJECTS = $(am_v4l_id_OBJECTS) + v4l_id_DEPENDENCIES = libudev.la + am__dist_udevhome_SCRIPTS_DIST = src/udev/keymap/findkeyboards \ +- src/udev/keymap/keyboard-force-release.sh ++ src/udev/keymap/keyboard-force-release.sh \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules + SCRIPTS = $(dist_bin_SCRIPTS) $(dist_udevhome_SCRIPTS) + AM_V_P = $(am__v_P_@AM_V@) + am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +@@ -2051,7 +2053,8 @@ am__dist_udevrules_DATA_DIST = rules/99- + src/udev/keymap/95-keymap.rules \ + src/udev/keymap/95-keyboard-force-release.rules \ + rules/75-probe_mtd.rules src/login/70-uaccess.rules \ +- src/login/70-power-switch.rules ++ src/login/70-power-switch.rules \ ++ src/udev/rule_generator/75-persistent-net-generator.rules + DATA = $(dbusinterface_DATA) $(dist_bashcompletion_DATA) \ + $(dist_dbuspolicy_DATA) $(dist_dbussystemservice_DATA) \ + $(dist_doc_DATA) $(dist_gatewayddocumentroot_DATA) \ +Index: systemd-195/Makefile.am +=================================================================== +--- systemd-195.orig/Makefile.am ++++ systemd-195/Makefile.am +@@ -2179,6 +2179,14 @@ EXTRA_DIST += \ + + + # ------------------------------------------------------------------------------ ++dist_udevhome_SCRIPTS = \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules ++ ++dist_udevrules_DATA += \ ++ src/udev/rule_generator/75-persistent-net-generator.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_KEYMAP + keymap_SOURCES = \ + src/udev/keymap/keymap.c +@@ -2206,7 +2214,7 @@ dist_udevrules_DATA += \ + src/udev/keymap/95-keymap.rules \ + src/udev/keymap/95-keyboard-force-release.rules + +-dist_udevhome_SCRIPTS = \ ++dist_udevhome_SCRIPTS += \ + src/udev/keymap/findkeyboards \ + src/udev/keymap/keyboard-force-release.sh + +Index: systemd-195/src/udev/rule_generator/write_net_rules +=================================================================== +--- /dev/null ++++ systemd-195/src/udev/rule_generator/write_net_rules +@@ -0,0 +1,145 @@ ++#!/bin/sh -e ++ ++# This script is run to create persistent network device naming rules ++# based on properties of the device. ++# If the interface needs to be renamed, INTERFACE_NEW= will be printed ++# on stdout to allow udev to IMPORT it. ++ ++# variables used to communicate: ++# MATCHADDR MAC address used for the match ++# MATCHID bus_id used for the match ++# MATCHDEVID dev_id used for the match ++# MATCHDRV driver name used for the match ++# MATCHIFTYPE interface type match ++# COMMENT comment to add to the generated rule ++# INTERFACE_NAME requested name supplied by external tool ++# INTERFACE_NEW new interface name returned by rule writer ++ ++# Copyright (C) 2006 Marco d'Itri ++# Copyright (C) 2007 Kay Sievers ++# ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# debug, if UDEV_LOG= ++if [ -n "$UDEV_LOG" ]; then ++ if [ "$UDEV_LOG" -ge 7 ]; then ++ set -x ++ fi ++fi ++ ++RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' ++ ++if [ -e /usr/lib/udev/rule_generator.functions ]; then ++ . /usr/lib/udev/rule_generator.functions ++else ++ . /lib/udev/rule_generator.functions ++fi ++ ++interface_name_taken() { ++ local value="$(find_all_rules 'NAME=' $INTERFACE)" ++ if [ "$value" ]; then ++ return 0 ++ else ++ return 1 ++ fi ++} ++ ++find_next_available() { ++ raw_find_next_available "$(find_all_rules 'NAME=' "$1")" ++} ++ ++write_rule() { ++ local match="$1" ++ local name="$2" ++ local comment="$3" ++ ++ { ++ if [ "$PRINT_HEADER" ]; then ++ PRINT_HEADER= ++ echo "# This file was automatically generated by the $0" ++ echo "# program, run by the persistent-net-generator.rules rules file." ++ echo "#" ++ echo "# You can modify it, as long as you keep each rule on a single" ++ echo "# line, and change only the value of the NAME= key." ++ fi ++ ++ echo "" ++ [ "$comment" ] && echo "# $comment" ++ echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\"" ++ } >> $RULES_FILE ++} ++ ++if [ -z "$INTERFACE" ]; then ++ echo "missing \$INTERFACE" >&2 ++ exit 1 ++fi ++ ++# Prevent concurrent processes from modifying the file at the same time. ++lock_rules_file ++ ++# Check if the rules file is writeable. ++choose_rules_file ++ ++# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces ++if [ "$MATCHADDR" ]; then ++ match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\"" ++fi ++ ++if [ "$MATCHDRV" ]; then ++ match="$match, DRIVERS==\"$MATCHDRV\"" ++fi ++ ++if [ "$MATCHDEVID" ]; then ++ match="$match, ATTR{dev_id}==\"$MATCHDEVID\"" ++fi ++ ++if [ "$MATCHID" ]; then ++ match="$match, KERNELS==\"$MATCHID\"" ++fi ++ ++if [ "$MATCHIFTYPE" ]; then ++ match="$match, ATTR{type}==\"$MATCHIFTYPE\"" ++fi ++ ++if [ -z "$match" ]; then ++ echo "missing valid match" >&2 ++ unlock_rules_file ++ exit 1 ++fi ++ ++basename=${INTERFACE%%[0-9]*} ++match="$match, KERNEL==\"$basename*\"" ++ ++if [ "$INTERFACE_NAME" ]; then ++ # external tools may request a custom name ++ COMMENT="$COMMENT (custom name provided by external tool)" ++ if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then ++ INTERFACE=$INTERFACE_NAME; ++ echo "INTERFACE_NEW=$INTERFACE" ++ fi ++else ++ # if a rule using the current name already exists, find a new name ++ if interface_name_taken; then ++ INTERFACE="$basename$(find_next_available "$basename[0-9]*")" ++ # prevent INTERFACE from being "eth" instead of "eth0" ++ [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0 ++ echo "INTERFACE_NEW=$INTERFACE" ++ fi ++fi ++ ++write_rule "$match" "$INTERFACE" "$COMMENT" ++ ++unlock_rules_file ++ ++exit 0 diff --git a/agetty-overrides-term.patch b/agetty-overrides-term.patch index 62aee284..84f3ff26 100644 --- a/agetty-overrides-term.patch +++ b/agetty-overrides-term.patch @@ -13,11 +13,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=870622 units/serial-getty@.service.m4 | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) -diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 -index b5875ce..810c23f 100644 ---- a/units/getty@.service.m4 -+++ b/units/getty@.service.m4 -@@ -43,9 +43,8 @@ IgnoreOnIsolate=yes +Index: systemd-195/units/getty@.service.m4 +=================================================================== +--- systemd-195.orig/units/getty@.service.m4 ++++ systemd-195/units/getty@.service.m4 +@@ -41,9 +41,8 @@ IgnoreOnIsolate=yes ConditionPathExists=/dev/tty0 [Service] @@ -28,11 +28,11 @@ index b5875ce..810c23f 100644 Type=idle Restart=always RestartSec=0 -diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 -index a6bbd71..c411dc1 100644 ---- a/units/serial-getty@.service.m4 -+++ b/units/serial-getty@.service.m4 -@@ -39,8 +39,7 @@ Before=getty.target +Index: systemd-195/units/serial-getty@.service.m4 +=================================================================== +--- systemd-195.orig/units/serial-getty@.service.m4 ++++ systemd-195/units/serial-getty@.service.m4 +@@ -37,8 +37,7 @@ Before=getty.target IgnoreOnIsolate=yes [Service] @@ -42,6 +42,3 @@ index a6bbd71..c411dc1 100644 Type=idle Restart=always RestartSec=0 --- -1.7.10.4 - diff --git a/check-for-empty-strings-in-strto-conversions.patch b/check-for-empty-strings-in-strto-conversions.patch index a0aff571..ce49372e 100644 --- a/check-for-empty-strings-in-strto-conversions.patch +++ b/check-for-empty-strings-in-strto-conversions.patch @@ -15,11 +15,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=870577 src/shared/util.c | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) -diff --git a/src/libsystemd-daemon/sd-daemon.c b/src/libsystemd-daemon/sd-daemon.c -index 863ac75..480db3b 100644 ---- a/src/libsystemd-daemon/sd-daemon.c -+++ b/src/libsystemd-daemon/sd-daemon.c -@@ -88,7 +88,7 @@ _sd_export_ int sd_listen_fds(int unset_environment) { +Index: systemd-195/src/libsystemd-daemon/sd-daemon.c +=================================================================== +--- systemd-195.orig/src/libsystemd-daemon/sd-daemon.c ++++ systemd-195/src/libsystemd-daemon/sd-daemon.c +@@ -88,7 +88,7 @@ _sd_export_ int sd_listen_fds(int unset_ goto finish; } @@ -28,7 +28,7 @@ index 863ac75..480db3b 100644 r = -EINVAL; goto finish; } -@@ -112,7 +112,7 @@ _sd_export_ int sd_listen_fds(int unset_environment) { +@@ -112,7 +112,7 @@ _sd_export_ int sd_listen_fds(int unset_ goto finish; } @@ -37,10 +37,10 @@ index 863ac75..480db3b 100644 r = -EINVAL; goto finish; } -diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 4bf3147..9f5c07c 100644 ---- a/src/shared/conf-parser.c -+++ b/src/shared/conf-parser.c +Index: systemd-195/src/shared/conf-parser.c +=================================================================== +--- systemd-195.orig/src/shared/conf-parser.c ++++ systemd-195/src/shared/conf-parser.c @@ -865,7 +865,7 @@ int config_parse_mode( errno = 0; @@ -50,11 +50,11 @@ index 4bf3147..9f5c07c 100644 log_error("[%s:%u] Failed to parse mode value, ignoring: %s", filename, line, rvalue); return 0; } -diff --git a/src/shared/util.c b/src/shared/util.c -index 8ec83e4..23832fe 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -377,7 +377,7 @@ int safe_atou(const char *s, unsigned *ret_u) { +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -388,7 +388,7 @@ int safe_atou(const char *s, unsigned *r errno = 0; l = strtoul(s, &x, 0); @@ -63,7 +63,7 @@ index 8ec83e4..23832fe 100644 return errno ? -errno : -EINVAL; if ((unsigned long) (unsigned) l != l) -@@ -397,7 +397,7 @@ int safe_atoi(const char *s, int *ret_i) { +@@ -408,7 +408,7 @@ int safe_atoi(const char *s, int *ret_i) errno = 0; l = strtol(s, &x, 0); @@ -72,7 +72,7 @@ index 8ec83e4..23832fe 100644 return errno ? -errno : -EINVAL; if ((long) (int) l != l) -@@ -417,7 +417,7 @@ int safe_atollu(const char *s, long long unsigned *ret_llu) { +@@ -428,7 +428,7 @@ int safe_atollu(const char *s, long long errno = 0; l = strtoull(s, &x, 0); @@ -81,7 +81,7 @@ index 8ec83e4..23832fe 100644 return errno ? -errno : -EINVAL; *ret_llu = l; -@@ -434,7 +434,7 @@ int safe_atolli(const char *s, long long int *ret_lli) { +@@ -445,7 +445,7 @@ int safe_atolli(const char *s, long long errno = 0; l = strtoll(s, &x, 0); @@ -90,6 +90,3 @@ index 8ec83e4..23832fe 100644 return errno ? -errno : -EINVAL; *ret_lli = l; --- -1.7.10.4 - diff --git a/core-load-fragment-improve-error-message.patch b/core-load-fragment-improve-error-message.patch index f860a4cb..850698dd 100644 --- a/core-load-fragment-improve-error-message.patch +++ b/core-load-fragment-improve-error-message.patch @@ -13,11 +13,11 @@ https://bugs.freedesktop.org/show_bug.cgi?id=56874 src/core/load-fragment.c | 69 +++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 38 deletions(-) -diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c -index 6759255..01f9484 100644 ---- a/src/core/load-fragment.c -+++ b/src/core/load-fragment.c -@@ -86,7 +86,7 @@ int config_parse_unit_deps( +Index: systemd-195/src/core/load-fragment.c +=================================================================== +--- systemd-195.orig/src/core/load-fragment.c ++++ systemd-195/src/core/load-fragment.c +@@ -85,7 +85,7 @@ int config_parse_unit_deps( assert(rvalue); FOREACH_WORD_QUOTED(w, l, rvalue, state) { @@ -26,7 +26,7 @@ index 6759255..01f9484 100644 int r; t = strndup(w, l); -@@ -94,15 +94,13 @@ int config_parse_unit_deps( +@@ -93,15 +93,13 @@ int config_parse_unit_deps( return -ENOMEM; k = unit_name_printf(u, t); @@ -44,7 +44,7 @@ index 6759255..01f9484 100644 } return 0; -@@ -757,22 +755,25 @@ int config_parse_exec_cpu_affinity( +@@ -739,22 +737,25 @@ int config_parse_exec_cpu_affinity( assert(data); FOREACH_WORD_QUOTED(w, l, rvalue, state) { @@ -76,7 +76,7 @@ index 6759255..01f9484 100644 return 0; } -@@ -849,7 +850,8 @@ int config_parse_exec_secure_bits( +@@ -831,7 +832,8 @@ int config_parse_exec_secure_bits( else if (first_word(w, "noroot-locked")) c->secure_bits |= SECURE_NOROOT_LOCKED; else { @@ -86,7 +86,7 @@ index 6759255..01f9484 100644 return 0; } } -@@ -890,7 +892,7 @@ int config_parse_bounding_set( +@@ -872,7 +874,7 @@ int config_parse_bounding_set( * interface. */ FOREACH_WORD_QUOTED(w, l, rvalue, state) { @@ -95,7 +95,7 @@ index 6759255..01f9484 100644 int r; cap_value_t cap; -@@ -899,10 +901,9 @@ int config_parse_bounding_set( +@@ -881,10 +883,9 @@ int config_parse_bounding_set( return -ENOMEM; r = cap_from_name(t, &cap); @@ -108,7 +108,7 @@ index 6759255..01f9484 100644 continue; } -@@ -968,7 +969,7 @@ int config_parse_unit_cgroup( +@@ -950,7 +951,7 @@ int config_parse_unit_cgroup( char *state; FOREACH_WORD_QUOTED(w, l, rvalue, state) { @@ -117,7 +117,7 @@ index 6759255..01f9484 100644 int r; t = strndup(w, l); -@@ -976,22 +977,17 @@ int config_parse_unit_cgroup( +@@ -958,22 +959,17 @@ int config_parse_unit_cgroup( return -ENOMEM; k = unit_full_printf(u, t); @@ -145,7 +145,7 @@ index 6759255..01f9484 100644 return 0; } } -@@ -1351,33 +1347,30 @@ int config_parse_service_sockets( +@@ -1333,33 +1329,30 @@ int config_parse_service_sockets( assert(data); FOREACH_WORD_QUOTED(w, l, rvalue, state) { @@ -184,7 +184,7 @@ index 6759255..01f9484 100644 } return 0; -@@ -2105,17 +2098,17 @@ int config_parse_syscall_filter( +@@ -2087,17 +2080,17 @@ int config_parse_syscall_filter( FOREACH_WORD_QUOTED(w, l, rvalue, state) { int id; @@ -205,6 +205,3 @@ index 6759255..01f9484 100644 continue; } --- -1.7.10.4 - diff --git a/crypsetup-generator-state-file-name-in-error-message.patch b/crypsetup-generator-state-file-name-in-error-message.patch index 890c6e29..ccb1c895 100644 --- a/crypsetup-generator-state-file-name-in-error-message.patch +++ b/crypsetup-generator-state-file-name-in-error-message.patch @@ -7,11 +7,11 @@ Subject: [PATCH] cryptsetup-generator: state file name in error messages src/cryptsetup/cryptsetup-generator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index ef16fbc..6e7b707 100644 ---- a/src/cryptsetup/cryptsetup-generator.c -+++ b/src/cryptsetup/cryptsetup-generator.c -@@ -108,7 +108,7 @@ static int create_disk( +Index: systemd-195/src/cryptsetup/cryptsetup-generator.c +=================================================================== +--- systemd-195.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-195/src/cryptsetup/cryptsetup-generator.c +@@ -230,7 +230,7 @@ static int create_disk( f = fopen(p, "wxe"); if (!f) { r = -errno; @@ -20,7 +20,7 @@ index ef16fbc..6e7b707 100644 goto fail; } -@@ -160,7 +160,7 @@ static int create_disk( +@@ -283,7 +283,7 @@ static int create_disk( if (ferror(f)) { r = -errno; @@ -29,6 +29,3 @@ index ef16fbc..6e7b707 100644 goto fail; } --- -1.7.10.4 - diff --git a/delta-accept-t-option.patch b/delta-accept-t-option.patch index d0554b0a..4717c018 100644 --- a/delta-accept-t-option.patch +++ b/delta-accept-t-option.patch @@ -9,11 +9,11 @@ so let's do that. src/delta/delta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/delta/delta.c b/src/delta/delta.c -index cc34208..a65cea5 100644 ---- a/src/delta/delta.c -+++ b/src/delta/delta.c -@@ -352,7 +352,7 @@ static int parse_argv(int argc, char *argv[]) { +Index: systemd-195/src/delta/delta.c +=================================================================== +--- systemd-195.orig/src/delta/delta.c ++++ systemd-195/src/delta/delta.c +@@ -375,7 +375,7 @@ static int parse_argv(int argc, char *ar assert(argc >= 1); assert(argv); @@ -22,6 +22,3 @@ index cc34208..a65cea5 100644 switch (c) { --- -1.7.10.4 - diff --git a/do-not-make-sockets-dependent-on-lo.patch b/do-not-make-sockets-dependent-on-lo.patch index 247a7c80..7c5e78b8 100644 --- a/do-not-make-sockets-dependent-on-lo.patch +++ b/do-not-make-sockets-dependent-on-lo.patch @@ -9,11 +9,11 @@ with BindToDevice=lo would never be activated. src/core/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/core/socket.c b/src/core/socket.c -index fcbcdbe..d755040 100644 ---- a/src/core/socket.c -+++ b/src/core/socket.c -@@ -308,7 +308,7 @@ static int socket_add_device_link(Socket *s) { +Index: systemd-195/src/core/socket.c +=================================================================== +--- systemd-195.orig/src/core/socket.c ++++ systemd-195/src/core/socket.c +@@ -293,7 +293,7 @@ static int socket_add_device_link(Socket assert(s); @@ -22,6 +22,3 @@ index fcbcdbe..d755040 100644 return 0; if (asprintf(&t, "/sys/subsystem/net/devices/%s", s->bind_to_device) < 0) --- -1.7.10.4 - diff --git a/fix-bad-mem-access.patch b/fix-bad-mem-access.patch index 18cf4aa2..878ed0a9 100644 --- a/fix-bad-mem-access.patch +++ b/fix-bad-mem-access.patch @@ -7,11 +7,11 @@ Subject: [PATCH] util: fix bad memory access src/shared/util.c | 1 - 1 file changed, 1 deletion(-) -diff --git a/src/shared/util.c b/src/shared/util.c -index 0161f3e..8e14096 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -439,7 +439,6 @@ int get_parent_of_pid(pid_t pid, pid_t *_ppid) { +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -543,7 +543,6 @@ int get_parent_of_pid(pid_t pid, pid_t * if (!fgets(line, sizeof(line), f)) { r = feof(f) ? -EIO : -errno; @@ -19,6 +19,3 @@ index 0161f3e..8e14096 100644 return r; } --- -1.7.10.4 - diff --git a/fix-potential-bad-mem-access.patch b/fix-potential-bad-mem-access.patch index db90af84..3c3e0c98 100644 --- a/fix-potential-bad-mem-access.patch +++ b/fix-potential-bad-mem-access.patch @@ -11,11 +11,11 @@ If failing, print just the offending mount flag. src/core/load-fragment.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) -diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c -index 01f9484..6933e1a 100644 ---- a/src/core/load-fragment.c -+++ b/src/core/load-fragment.c -@@ -1101,15 +1101,22 @@ int config_parse_exec_mount_flags( +Index: systemd-195/src/core/load-fragment.c +=================================================================== +--- systemd-195.orig/src/core/load-fragment.c ++++ systemd-195/src/core/load-fragment.c +@@ -1083,15 +1083,22 @@ int config_parse_exec_mount_flags( assert(rvalue); assert(data); @@ -43,6 +43,3 @@ index 01f9484..6933e1a 100644 return 0; } } --- -1.7.10.4 - diff --git a/fstab-generator-error-message-on-duplicates.patch b/fstab-generator-error-message-on-duplicates.patch index ecc43782..33ec3f26 100644 --- a/fstab-generator-error-message-on-duplicates.patch +++ b/fstab-generator-error-message-on-duplicates.patch @@ -17,11 +17,11 @@ some confusion, so give a hint what migt be wrong. src/fstab-generator/fstab-generator.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index 7b3bf11..ba55f2c 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -111,7 +111,10 @@ static int add_swap(const char *what, struct mntent *me) { +Index: systemd-195/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-195.orig/src/fstab-generator/fstab-generator.c ++++ systemd-195/src/fstab-generator/fstab-generator.c +@@ -111,7 +111,10 @@ static int add_swap(const char *what, st f = fopen(unit, "wxe"); if (!f) { r = -errno; @@ -33,7 +33,7 @@ index 7b3bf11..ba55f2c 100644 goto finish; } -@@ -254,7 +257,10 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { +@@ -262,7 +265,10 @@ static int add_mount(const char *what, c f = fopen(unit, "wxe"); if (!f) { r = -errno; @@ -45,6 +45,3 @@ index 7b3bf11..ba55f2c 100644 goto finish; } --- -1.7.10.4 - diff --git a/handle-HOSTNAME.patch b/handle-HOSTNAME.patch index b2bf4825..56aa50f3 100644 --- a/handle-HOSTNAME.patch +++ b/handle-HOSTNAME.patch @@ -13,7 +13,7 @@ Index: systemd-195/src/hostname/hostnamed.c return 0; } -@@ -203,6 +207,7 @@ static int write_data_hostname(void) { +@@ -204,6 +208,7 @@ static int write_data_hostname(void) { static int write_data_static_hostname(void) { @@ -21,7 +21,7 @@ Index: systemd-195/src/hostname/hostnamed.c if (isempty(data[PROP_STATIC_HOSTNAME])) { if (unlink("/etc/hostname") < 0) -@@ -211,7 +216,11 @@ static int write_data_static_hostname(vo +@@ -212,7 +217,11 @@ static int write_data_static_hostname(vo return 0; } diff --git a/hostnamectl-fix-parsing-no-ask-password.patch b/hostnamectl-fix-parsing-no-ask-password.patch index 490724d0..ac629848 100644 --- a/hostnamectl-fix-parsing-no-ask-password.patch +++ b/hostnamectl-fix-parsing-no-ask-password.patch @@ -7,11 +7,11 @@ Subject: [PATCH] hostnamectl: fix parsing of --no-ask-password src/hostname/hostnamectl.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c -index b7ae5cc..265c7ec 100644 ---- a/src/hostname/hostnamectl.c -+++ b/src/hostname/hostnamectl.c -@@ -403,6 +403,10 @@ static int parse_argv(int argc, char *argv[]) { +Index: systemd-195/src/hostname/hostnamectl.c +=================================================================== +--- systemd-195.orig/src/hostname/hostnamectl.c ++++ systemd-195/src/hostname/hostnamectl.c +@@ -402,6 +402,10 @@ static int parse_argv(int argc, char *ar arg_set_static = true; break; @@ -22,6 +22,3 @@ index b7ae5cc..265c7ec 100644 case '?': return -EINVAL; --- -1.7.10.4 - diff --git a/improve-overflow-checks.patch b/improve-overflow-checks.patch index 7a3a1787..c4952082 100644 --- a/improve-overflow-checks.patch +++ b/improve-overflow-checks.patch @@ -7,99 +7,27 @@ Subject: [PATCH] util: fix possible integer overflows src/shared/util.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/src/shared/util.c b/src/shared/util.c -index 2d4a4c1..e2f8b1f 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -148,6 +148,9 @@ usec_t timespec_load(const struct timespec *ts) { +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -152,6 +152,9 @@ usec_t timespec_load(const struct timesp ts->tv_nsec == (long) -1) return (usec_t) -1; -+ if (USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) ++ if ((usec_t) ts->tv_sec > (UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / USEC_PER_SEC) + return (usec_t) -1; + return (usec_t) ts->tv_sec * USEC_PER_SEC + (usec_t) ts->tv_nsec / NSEC_PER_USEC; -@@ -175,6 +178,9 @@ usec_t timeval_load(const struct timeval *tv) { +@@ -179,6 +182,9 @@ usec_t timeval_load(const struct timeval tv->tv_usec == (suseconds_t) -1) return (usec_t) -1; -+ if (USEC_PER_SEC > (UINT64_MAX - tv->tv_usec) / (usec_t) tv->tv_sec) ++ if ((usec_t) tv->tv_sec > (UINT64_MAX - tv->tv_usec) / USEC_PER_SEC) + return (usec_t) -1; + return (usec_t) tv->tv_sec * USEC_PER_SEC + (usec_t) tv->tv_usec; --- -1.7.10.4 - -From 49371bb50e0fe6e9e90309a20006bcfd9e2fa8f4 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Mon, 29 Oct 2012 15:49:34 -0400 -Subject: [PATCH] util: avoid divide by zero FPE - -In early userspace, if kernel initialization happens extremely quickly, -a call to systemd-timestamp can potentially result in division by zero. -Ensure that the check in timespec_load, which only makes sense if tv_sec -is greater than zero, is guarded by this condition. ---- - src/shared/util.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/shared/util.c b/src/shared/util.c -index e2f8b1f..9a45e60 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -148,7 +148,8 @@ usec_t timespec_load(const struct timespec *ts) { - ts->tv_nsec == (long) -1) - return (usec_t) -1; - -- if (USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) -+ if (ts->tv_sec > 0 && -+ USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) - return (usec_t) -1; - - return --- -1.7.10.4 - -From fd09c93de9337c3df566180d04368353bb3662e7 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Mon, 29 Oct 2012 21:04:47 +0100 -Subject: [PATCH] util: improve overflow checks - -commit 49371bb fixed the observed division by zero, but missed another -occurrence of the same bug. It was also not the optimal fix. We can -simply make the divisor a constant by swapping it with the compared -value. ---- - src/shared/util.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/shared/util.c b/src/shared/util.c -index 9a45e60..8ec83e4 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -148,8 +148,7 @@ usec_t timespec_load(const struct timespec *ts) { - ts->tv_nsec == (long) -1) - return (usec_t) -1; - -- if (ts->tv_sec > 0 && -- USEC_PER_SEC > ((UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / (usec_t) ts->tv_sec)) -+ if ((usec_t) ts->tv_sec > (UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / USEC_PER_SEC) - return (usec_t) -1; - - return -@@ -179,7 +178,7 @@ usec_t timeval_load(const struct timeval *tv) { - tv->tv_usec == (suseconds_t) -1) - return (usec_t) -1; - -- if (USEC_PER_SEC > (UINT64_MAX - tv->tv_usec) / (usec_t) tv->tv_sec) -+ if ((usec_t) tv->tv_sec > (UINT64_MAX - tv->tv_usec) / USEC_PER_SEC) - return (usec_t) -1; - - return --- -1.7.10.4 - diff --git a/journal-send-always-send-syslog_identifier.patch b/journal-send-always-send-syslog_identifier.patch index 2a29345b..37af56fd 100644 --- a/journal-send-always-send-syslog_identifier.patch +++ b/journal-send-always-send-syslog_identifier.patch @@ -8,11 +8,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=872193 src/journal/journal-send.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c -index 7a91569..bd8f887 100644 ---- a/src/journal/journal-send.c -+++ b/src/journal/journal-send.c -@@ -219,6 +219,7 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { +Index: systemd-195/src/journal/journal-send.c +=================================================================== +--- systemd-195.orig/src/journal/journal-send.c ++++ systemd-195/src/journal/journal-send.c +@@ -208,6 +208,7 @@ _public_ int sd_journal_sendv(const stru * be a tmpfs, and one that is available from early boot on * and where unprivileged users can create files. */ char path[] = "/dev/shm/journal.XXXXXX"; @@ -20,7 +20,7 @@ index 7a91569..bd8f887 100644 if (_unlikely_(!iov)) return -EINVAL; -@@ -228,7 +229,7 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { +@@ -217,7 +218,7 @@ _public_ int sd_journal_sendv(const stru saved_errno = errno; @@ -29,7 +29,7 @@ index 7a91569..bd8f887 100644 l = alloca(sizeof(uint64_t) * n); for (i = 0; i < n; i++) { -@@ -245,6 +246,9 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { +@@ -234,6 +235,9 @@ _public_ int sd_journal_sendv(const stru goto finish; } @@ -39,7 +39,7 @@ index 7a91569..bd8f887 100644 nl = memchr(iov[i].iov_base, '\n', iov[i].iov_len); if (nl) { if (_unlikely_(nl < c)) { -@@ -280,6 +284,20 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { +@@ -269,6 +273,20 @@ _public_ int sd_journal_sendv(const stru IOVEC_SET_STRING(w[j++], "\n"); } @@ -60,6 +60,3 @@ index 7a91569..bd8f887 100644 fd = journal_fd(); if (_unlikely_(fd < 0)) { r = fd; --- -1.7.10.4 - diff --git a/localectl-fix-assertion.patch b/localectl-fix-assertion.patch index 08ce257e..6b1dac55 100644 --- a/localectl-fix-assertion.patch +++ b/localectl-fix-assertion.patch @@ -9,11 +9,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=882212 src/locale/localectl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/locale/localectl.c b/src/locale/localectl.c -index fa73bca..383a17d 100644 ---- a/src/locale/localectl.c -+++ b/src/locale/localectl.c -@@ -537,7 +537,7 @@ static int set_x11_keymap(DBusConnection *bus, char **args, unsigned n) { +Index: systemd-195/src/locale/localectl.c +=================================================================== +--- systemd-195.orig/src/locale/localectl.c ++++ systemd-195/src/locale/localectl.c +@@ -535,7 +535,7 @@ static int set_x11_keymap(DBusConnection layout = args[1]; model = n > 2 ? args[2] : ""; variant = n > 3 ? args[3] : ""; @@ -22,6 +22,3 @@ index fa73bca..383a17d 100644 b = arg_convert; return bus_method_call_with_reply( --- -1.7.10.4 - diff --git a/localectl-support-systems-without-locale-archive.patch b/localectl-support-systems-without-locale-archive.patch index d5498fe9..fffba30d 100644 --- a/localectl-support-systems-without-locale-archive.patch +++ b/localectl-support-systems-without-locale-archive.patch @@ -12,11 +12,11 @@ Given that glibc supports both ways, localectl should too. src/locale/localectl.c | 101 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 85 insertions(+), 16 deletions(-) -diff --git a/src/locale/localectl.c b/src/locale/localectl.c -index 5d35f9c..b3acb3e 100644 ---- a/src/locale/localectl.c -+++ b/src/locale/localectl.c -@@ -266,7 +266,7 @@ finish: +Index: systemd-195/src/locale/localectl.c +=================================================================== +--- systemd-195.orig/src/locale/localectl.c ++++ systemd-195/src/locale/localectl.c +@@ -265,7 +265,7 @@ finish: return r; } @@ -25,7 +25,7 @@ index 5d35f9c..b3acb3e 100644 /* Stolen from glibc... */ struct locarhead { -@@ -304,21 +304,15 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { +@@ -303,21 +303,15 @@ static int list_locales(DBusConnection * const struct namehashent *e; const void *p = MAP_FAILED; _cleanup_close_ int fd = -1; @@ -49,7 +49,7 @@ index 5d35f9c..b3acb3e 100644 r = -errno; goto finish; } -@@ -380,15 +374,93 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { +@@ -378,15 +372,93 @@ static int list_locales(DBusConnection * } } @@ -146,7 +146,7 @@ index 5d35f9c..b3acb3e 100644 strv_sort(l); pager_open_if_enabled(); -@@ -399,10 +471,7 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { +@@ -397,10 +469,7 @@ static int list_locales(DBusConnection * r = 0; finish: @@ -158,6 +158,3 @@ index 5d35f9c..b3acb3e 100644 return r; } --- -1.7.10.4 - diff --git a/logind-capability-making-seats-without-fb.patch b/logind-capability-making-seats-without-fb.patch index 3bb260cb..a74de2a5 100644 --- a/logind-capability-making-seats-without-fb.patch +++ b/logind-capability-making-seats-without-fb.patch @@ -11,10 +11,10 @@ file 71-seat.rules.in: All framebuffer devices have this tag src/login/logind.c | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) -diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in -index f554d7f..4f1a9a5 100644 ---- a/src/login/71-seat.rules.in -+++ b/src/login/71-seat.rules.in +Index: systemd-195/src/login/71-seat.rules.in +=================================================================== +--- systemd-195.orig/src/login/71-seat.rules.in ++++ systemd-195/src/login/71-seat.rules.in @@ -10,7 +10,7 @@ ACTION=="remove", GOTO="seat_end" TAG=="uaccess", SUBSYSTEM!="sound", TAG+="seat" SUBSYSTEM=="sound", KERNEL=="card*", TAG+="seat" @@ -24,11 +24,11 @@ index f554d7f..4f1a9a5 100644 SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat" # 'Plugable' USB hub, sound, network, graphics adapter -diff --git a/src/login/logind.c b/src/login/logind.c -index 6438631..6776229 100644 ---- a/src/login/logind.c -+++ b/src/login/logind.c -@@ -459,11 +459,7 @@ int manager_enumerate_devices(Manager *m) { +Index: systemd-195/src/login/logind.c +=================================================================== +--- systemd-195.orig/src/login/logind.c ++++ systemd-195/src/login/logind.c +@@ -450,11 +450,7 @@ int manager_enumerate_devices(Manager *m goto finish; } @@ -41,7 +41,7 @@ index 6438631..6776229 100644 if (r < 0) goto finish; -@@ -1295,11 +1291,7 @@ static int manager_connect_udev(Manager *m) { +@@ -1286,11 +1282,7 @@ static int manager_connect_udev(Manager if (!m->udev_seat_monitor) return -ENOMEM; @@ -54,6 +54,3 @@ index 6438631..6776229 100644 if (r < 0) return r; --- -1.7.10.4 - diff --git a/logind-ignore-non-tty-non-x11-session-on-shutdown.patch b/logind-ignore-non-tty-non-x11-session-on-shutdown.patch index 163f41d6..116d101a 100644 --- a/logind-ignore-non-tty-non-x11-session-on-shutdown.patch +++ b/logind-ignore-non-tty-non-x11-session-on-shutdown.patch @@ -9,11 +9,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=890827 src/login/logind-dbus.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index 77a06f2..d64debe 100644 ---- a/src/login/logind-dbus.c -+++ b/src/login/logind-dbus.c -@@ -979,9 +979,12 @@ static int have_multiple_sessions( +Index: systemd-195/src/login/logind-dbus.c +=================================================================== +--- systemd-195.orig/src/login/logind-dbus.c ++++ systemd-195/src/login/logind-dbus.c +@@ -971,9 +971,12 @@ static int have_multiple_sessions( assert(m); @@ -28,6 +28,3 @@ index 77a06f2..d64debe 100644 return true; return false; --- -1.7.10.4 - diff --git a/rbind-mount.patch b/rbind-mount.patch index c2eb6b4f..8d8bb148 100644 --- a/rbind-mount.patch +++ b/rbind-mount.patch @@ -10,11 +10,11 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=804575. src/fstab-generator/fstab-generator.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) -diff --git a/src/core/mount.c b/src/core/mount.c -index e3d298e..419cf27 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -329,6 +329,12 @@ static bool mount_is_bind(MountParameters *p) { +Index: systemd-195/src/core/mount.c +=================================================================== +--- systemd-195.orig/src/core/mount.c ++++ systemd-195/src/core/mount.c +@@ -320,6 +320,12 @@ static bool mount_is_bind(MountParameter if (p->fstype && streq(p->fstype, "bind")) return true; @@ -27,11 +27,11 @@ index e3d298e..419cf27 100644 return false; } -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index bfedded..9db4123 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -178,7 +178,9 @@ static bool mount_is_bind(struct mntent *me) { +Index: systemd-195/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-195.orig/src/fstab-generator/fstab-generator.c ++++ systemd-195/src/fstab-generator/fstab-generator.c +@@ -199,7 +199,9 @@ static bool mount_is_bind(struct mntent return hasmntopt(me, "bind") || @@ -42,6 +42,3 @@ index bfedded..9db4123 100644 } static bool mount_is_network(struct mntent *me) { --- -1.8.1.1 - diff --git a/service-forking-ignore-exit-status-main-process.patch b/service-forking-ignore-exit-status-main-process.patch index da4c695f..b9681f3f 100644 --- a/service-forking-ignore-exit-status-main-process.patch +++ b/service-forking-ignore-exit-status-main-process.patch @@ -9,11 +9,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=860464 src/core/service.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) -diff --git a/src/core/service.c b/src/core/service.c -index 8e9e112..7eaac0d 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2926,15 +2926,25 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { +Index: systemd-195/src/core/service.c +=================================================================== +--- systemd-195.orig/src/core/service.c ++++ systemd-195/src/core/service.c +@@ -2978,15 +2978,25 @@ static void service_sigchld_event(Unit * s->main_pid = 0; exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status); @@ -43,6 +43,3 @@ index 8e9e112..7eaac0d 100644 } log_struct(f == SERVICE_SUCCESS ? LOG_DEBUG : LOG_NOTICE, --- -1.7.10.4 - diff --git a/socket-improve-error-message.patch b/socket-improve-error-message.patch index cb0f735a..506c4dcd 100644 --- a/socket-improve-error-message.patch +++ b/socket-improve-error-message.patch @@ -8,11 +8,11 @@ Subject: [PATCH] socket: improve error message when we cannot spawn the src/core/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/core/socket.c b/src/core/socket.c -index c095981..f4f40af 100644 ---- a/src/core/socket.c -+++ b/src/core/socket.c -@@ -1542,7 +1542,7 @@ static void socket_enter_running(Socket *s, int cfd) { +Index: systemd-195/src/core/socket.c +=================================================================== +--- systemd-195.orig/src/core/socket.c ++++ systemd-195/src/core/socket.c +@@ -1510,7 +1510,7 @@ static void socket_enter_running(Socket return; fail: @@ -21,6 +21,3 @@ index c095981..f4f40af 100644 socket_enter_stop_pre(s, SOCKET_FAILURE_RESOURCES); if (cfd >= 0) --- -1.7.10.4 - diff --git a/socket-verbose-error-message.patch b/socket-verbose-error-message.patch index 6d3d6f62..6a36c5ef 100644 --- a/socket-verbose-error-message.patch +++ b/socket-verbose-error-message.patch @@ -14,11 +14,11 @@ Dimitris src/core/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/core/socket.c b/src/core/socket.c -index 9b5bcb6..49e795e 100644 ---- a/src/core/socket.c -+++ b/src/core/socket.c -@@ -1484,7 +1484,7 @@ static void socket_enter_running(Socket *s, int cfd) { +Index: systemd-195/src/core/socket.c +=================================================================== +--- systemd-195.orig/src/core/socket.c ++++ systemd-195/src/core/socket.c +@@ -1441,7 +1441,7 @@ static void socket_enter_running(Socket Service *service; if (s->n_connections >= s->max_connections) { @@ -27,6 +27,3 @@ index 9b5bcb6..49e795e 100644 close_nointr_nofail(cfd); return; } --- -1.7.10.4 - diff --git a/systemctl-no-assert-on-reboot-without-dbus.patch b/systemctl-no-assert-on-reboot-without-dbus.patch index 9b8412fb..c2f9afe6 100644 --- a/systemctl-no-assert-on-reboot-without-dbus.patch +++ b/systemctl-no-assert-on-reboot-without-dbus.patch @@ -9,11 +9,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=889624 src/systemctl/systemctl.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 0def1a2..bfa4d45 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -1738,6 +1738,9 @@ static int reboot_with_logind(DBusConnection *bus, enum action a) { +Index: systemd-195/src/systemctl/systemctl.c +=================================================================== +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -1744,6 +1744,9 @@ static int reboot_with_logind(DBusConnec const char *method; dbus_bool_t interactive = true; @@ -23,6 +23,3 @@ index 0def1a2..bfa4d45 100644 polkit_agent_open_if_enabled(); switch (a) { --- -1.7.10.4 - diff --git a/systemctl-verbose-message-on-missing-install.patch b/systemctl-verbose-message-on-missing-install.patch index e6e88ac1..93383820 100644 --- a/systemctl-verbose-message-on-missing-install.patch +++ b/systemctl-verbose-message-on-missing-install.patch @@ -12,11 +12,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=884438 src/systemctl/systemctl.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 6d01756..3abd7dc 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -3782,7 +3782,16 @@ static int enable_unit(DBusConnection *bus, char **args) { +Index: systemd-195/src/systemctl/systemctl.c +=================================================================== +--- systemd-195.orig/src/systemctl/systemctl.c ++++ systemd-195/src/systemctl/systemctl.c +@@ -3783,7 +3783,16 @@ static int enable_unit(DBusConnection *b } if (carries_install_info == 0) @@ -34,6 +34,3 @@ index 6d01756..3abd7dc 100644 finish: if (m) --- -1.7.10.4 - diff --git a/systemd-cgls-fix-piping-output.patch b/systemd-cgls-fix-piping-output.patch index 8c09be4e..b7871980 100644 --- a/systemd-cgls-fix-piping-output.patch +++ b/systemd-cgls-fix-piping-output.patch @@ -10,11 +10,11 @@ https://bugs.freedesktop.org/show_bug.cgi?id=56644 src/shared/util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/shared/util.c b/src/shared/util.c -index 4cf928f..d771d32 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -3803,7 +3803,7 @@ int fd_columns(int fd) { +Index: systemd-195/src/shared/util.c +=================================================================== +--- systemd-195.orig/src/shared/util.c ++++ systemd-195/src/shared/util.c +@@ -3806,7 +3806,7 @@ int fd_columns(int fd) { unsigned columns(void) { const char *e; @@ -23,7 +23,7 @@ index 4cf928f..d771d32 100644 if (_likely_(cached_columns > 0)) return cached_columns; -@@ -3811,7 +3811,7 @@ unsigned columns(void) { +@@ -3814,7 +3814,7 @@ unsigned columns(void) { c = 0; e = getenv("COLUMNS"); if (e) @@ -32,6 +32,3 @@ index 4cf928f..d771d32 100644 if (c <= 0) c = fd_columns(STDOUT_FILENO); --- -1.7.10.4 - diff --git a/systemd.changes b/systemd.changes index bad5b461..83663a86 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com + +- udev: re-add persistent network rules (bnc#809843). + add: 1026-re-add-persistent-net.patch +- rebase all patches, ensure that they apply properly. + ------------------------------------------------------------------- Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 8ad72466..efa76c0a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -329,6 +329,8 @@ Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch Patch1024: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch # PATCH-FIX-UPSTREAM 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch Patch1025: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch +# PATCH-FIX-OPENSUSE 1026-re-add-persistent-net.patch +Patch1026: 1026-re-add-persistent-net.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -514,6 +516,7 @@ cp %{SOURCE7} m4/ %patch1023 -p1 %patch1024 -p1 %patch1025 -p1 +%patch1026 -p1 #systemd %patch1 -p1 @@ -1122,6 +1125,8 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule +%{_prefix}/lib/udev/write_net_rules +%{_prefix}/lib/udev/rule_generator.functions %dir %{_prefix}/lib/udev/keymaps %{_prefix}/lib/udev/keymaps/* %{_prefix}/lib/udev/keyboard-force-release.sh diff --git a/var-run-lock.patch b/var-run-lock.patch index 8d645de9..3f87b078 100644 --- a/var-run-lock.patch +++ b/var-run-lock.patch @@ -22,7 +22,7 @@ Index: systemd-195/Makefile.am nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -3864,9 +3870,11 @@ systemd-install-data-hook: +@@ -3874,9 +3880,11 @@ systemd-install-data-hook: ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ rm -f systemd-remount-fs.service \ systemd-fsck-root.service \ @@ -34,7 +34,7 @@ Index: systemd-195/Makefile.am $(LN_S) ../tmp.mount tmp.mount ) ( cd $(DESTDIR)$(userunitdir) && \ rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \ -@@ -3954,6 +3962,12 @@ if TARGET_MAGEIA +@@ -3964,6 +3972,12 @@ if TARGET_MAGEIA rm -f display-manager.service ) endif From a699b1ca34236d314676004a417be75fabd5d044555ee7b5004ddb1560ef7030 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 23 Apr 2013 09:39:56 +0000 Subject: [PATCH 131/991] Accepting request 172873 from Base:System - Do not provide %{release} for systemd-analyze - Add more conflicts to -mini packages - Disable Predictable Network interface names until it has been reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. - Don't package /usr/lib/firmware/update (not used) (forwarded request 172848 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/172873 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=135 --- ...ndencies-added-when-parsing-insserv..patch | 115 --- 1001-Reinstate-TIMEOUT-handling.patch | 65 +- ...enable-by_path-links-for-ata-devices.patch | 38 +- ...ate-by-id-scsi-links-for-ATA-devices.patch | 19 +- 1004-udev-netlink-null-rules.patch | 21 +- 1005-udev-fix-sg-autoload-regression.patch | 28 +- 1006-fix-devname-prefix.patch | 13 - 1007-fix-devname-prefix.patch | 22 + 1007-udevd-add-missing-to-getopt_long-e.patch | 24 - ...-udev-path_id-handle-Hyper-V-devices.patch | 72 -- ...-the-list-of-Samsung-Series-9-models.patch | 136 ---- 1010-keymap-Add-Samsung-700T.patch | 22 - ...ev-avoid-leak-during-realloc-failure.patch | 36 - ...-do-not-resolve-attr-device-symlinks.patch | 40 -- ...-udev-argument-to-udev_enumerate_new.patch | 23 - 1014-udev-fix-whitespace.patch | 56 -- ...ndle-symlink-removal-by-change-event.patch | 69 -- ...not-fail-builtin-initialization-if-o.patch | 64 -- 1017-udev-use-usec_t-and-now.patch | 335 --------- 1018-keymap-add-aditional-support.patch | 59 -- ...device-matching-in-the-accelerometer.patch | 51 -- ...s-have-a-very-bogus-or-strage-serial.patch | 63 -- ...fault-links-for-primary-cd_dvd-drive.patch | 19 +- ...names-for-temporary-files-created-in.patch | 57 -- ...ta-track-count-for-bad-virtual-drive.patch | 51 -- ...e-only-size-bytes-of-the-descriptors.patch | 24 - ...new-ISO9660-properties-from-libblkid.patch | 37 - 1026-re-add-persistent-net.patch | 117 ++- 1027-udev-always-rename-network.patch | 77 ++ ...splash-handling-for-password-dialogs.patch | 16 +- Ensure-debugshell-has-a-correct-value.patch | 22 + ...es-permissions-to-follow-openSUSE-po.patch | 39 + ...-suspend-hibernate-calls-to-pm-utils.patch | 33 +- ...pport-for-SysV-scripts-for-the-early.patch | 140 ++++ agetty-overrides-term.patch | 44 -- allow-multiple-sulogin-to-be-started.patch | 47 ++ apply-ACL-for-nvidia-device-nodes.patch | 23 + ...alid-address-familily-is-passed-to-g.patch | 38 + baselibs.conf | 1 + ...r-empty-strings-in-strto-conversions.patch | 92 --- ...terpret-escaped-semicolon-as-escaped.patch | 30 - ...-load-fragment-improve-error-message.patch | 207 ------ coredumpctl-fix-crash.patch | 22 - ...tor-state-file-name-in-error-message.patch | 31 - crypsetup-handle-nofail.patch | 29 - crypt-loop-file.patch | 90 --- cryptsetup-accept-read-only.patch | 47 -- cryptsetup-handle-plain.patch | 71 -- ...etup-after-md-dmraid-lvm-are-started.patch | 34 + ...-fsck-cryptsetup-after-md-lvm-dmraid.patch | 35 - delta-accept-t-option.patch | 24 - detect-btrfs-ssd.patch | 97 --- ...ble-nss-myhostname-warning-bnc-783841.diff | 21 - ...le-nss-myhostname-warning-bnc-783841.patch | 20 + dm-lvm-after-local-fs-pre-target.patch | 9 - do-not-make-sockets-dependent-on-lo.patch | 24 - early-sync-shutdown.patch | 209 ------ ...e-started-before-local-fs-pre-target.patch | 19 + ...assword-wall-starts-after-getty-tty1.patch | 22 + ...are-applied-after-modules-are-loaded.patch | 21 + ...s-started-before-local-fs-pre-for-lo.patch | 21 + fastboot-forcefsck.patch | 13 - fix-bad-mem-access.patch | 21 - fix-bad-memory-access.patch | 23 - fix-build-glibc217.patch | 29 - fix-dbus-crash.patch | 29 - fix-debugshell.patch | 13 - fix-logind-pty-seat.patch | 26 - fix-owner-of-var-log-btmp.patch | 22 + fix-permissions-btmp.patch | 13 - fix-potential-bad-mem-access.patch | 45 -- ...-boot-prefixed-initscript-bnc-746506.patch | 33 +- fix-swap-behaviour-with-symlinks.patch | 33 - ...t-after-cryptsetup-target-is-reached.patch | 104 +++ ...enerator-error-message-on-duplicates.patch | 47 -- fstab-generator-improve-error-message.patch | 115 --- ...enerator-properly-detect-bind-mounts.patch | 25 - handle-HOSTNAME.patch | 36 - ...STEMCTL_OPTIONS-environment-variable.patch | 43 +- ...plock-and-compose_table-and-kbd_rate.patch | 110 +-- handle-etc-HOSTNAME.patch | 46 ++ ...lock-value-in-etc-sysconfig-keyboard.patch | 261 +++---- handle-root-uses-lang.patch | 48 -- ...lang-value-in-etc-sysconfig-language.patch | 54 ++ highlight-ordering-cycle-deletions.patch | 32 - hostnamectl-fix-parsing-no-ask-password.patch | 24 - ...tl-fix-set-hostname-with-no-argument.patch | 26 - improve-bash-completion.patch | 173 ----- improve-journal-perf.patch | 304 -------- improve-man-environment.patch | 44 -- improve-overflow-checks.patch | 33 - job-avoid-recursion-when-cancelling.patch | 48 -- journal-fix-cutoff-max-date.patch | 34 - ...l-send-always-send-syslog_identifier.patch | 62 -- journalctl-quit-on-io-error.patch | 38 - journalctl-remove-leftover-message.patch | 25 - journalctl-require-argument-for-priority | 24 - localectl-fix-assertion.patch | 24 - ...pport-systems-without-locale-archive.patch | 160 ----- lock-opensuse.patch | 16 - ...d-capability-making-seats-without-fb.patch | 56 -- ...-non-tty-non-x11-session-on-shutdown.patch | 30 - macros.systemd | 18 + ...USE-etc-sysconfig-kernel-module-list.patch | 51 +- mount-efivars.patch | 233 ------ multiple-sulogin.patch | 36 - nss-myhostname-config | 31 + ...lly-warn-if-nss-myhostname-is-called.patch | 109 +++ ...dle-ssh-logins-without-pam-tty-field.patch | 57 -- ...nf-and-adds-dependencies-accordingly.patch | 128 ++++ parse-multiline-env-file.patch | 218 ------ path-util-fix-potential-crash.patch | 27 - rbind-mount.patch | 44 -- ...script-heuristic-and-add-new-LSB-hea.patch | 37 +- remount-ro-before-unmount.patch | 95 --- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 89 +++ ...749b84cc87c7830280b7895a48bed03c9429.patch | 44 -- reword-rescue-mode-hints.patch | 30 - ...f-ARM-based-Chromebook-as-a-power-sw.patch | 20 + ...vice-with-detected-pid-as-RemainAfte.patch | 18 +- ...king-ignore-exit-status-main-process.patch | 45 -- ...dont-force-mnt-force-on-final-umount.patch | 35 - ...re-loop-devices-without-backing-file.patch | 37 - shutdown-improvements.patch | 273 ------- socket-improve-error-message.patch | 23 - socket-verbose-error-message.patch | 29 - storage-after-cryptsetup.patch | 103 --- strv-cleanup-error-path-loops.patch | 238 ------ support-hybrid-suspend.patch | 680 ------------------ support-suse-clock-sysconfig.patch | 28 - support-sysvinit.patch | 21 - switch-root-try-pivot-root.patch | 81 --- sync-on-shutdown.patch | 46 -- sysctl-modules.patch | 12 - sysctl-parse-all-keys.patch | 26 - ...ctl-no-assert-on-reboot-without-dbus.patch | 25 - systemctl-print-wall-on-if-successful.patch | 25 - ...l-verbose-message-on-missing-install.patch | 36 - systemd-195.tar.xz | 3 - systemd-202.tar.xz | 3 + systemd-cgls-fix-piping-output.patch | 34 - systemd-fix-merge-ignore-dependencies.patch | 26 - systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 227 ++++++ systemd-mini.spec | 513 +++++-------- systemd-rpmlintrc | 1 + systemd-sysv-convert | 12 +- systemd-tmp-safe-defaults.patch | 26 + systemd.changes | 220 ++++++ systemd.spec | 508 +++++-------- ...or-openSUSE-version-of-etc-sysconfig.patch | 26 + ...ed-donot-close-bogus-dbus-connection.patch | 36 - tmpfiles-X-type.patch | 369 ---------- tty1.patch | 13 - var-run-lock.patch | 97 --- xdm-display-manager.patch | 13 - 156 files changed, 2510 insertions(+), 8339 deletions(-) delete mode 100644 0001-service-Fix-dependencies-added-when-parsing-insserv..patch delete mode 100644 1006-fix-devname-prefix.patch create mode 100644 1007-fix-devname-prefix.patch delete mode 100644 1007-udevd-add-missing-to-getopt_long-e.patch delete mode 100644 1008-udev-path_id-handle-Hyper-V-devices.patch delete mode 100644 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch delete mode 100644 1010-keymap-Add-Samsung-700T.patch delete mode 100644 1011-libudev-avoid-leak-during-realloc-failure.patch delete mode 100644 1012-libudev-do-not-resolve-attr-device-symlinks.patch delete mode 100644 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch delete mode 100644 1014-udev-fix-whitespace.patch delete mode 100644 1015-udev-properly-handle-symlink-removal-by-change-event.patch delete mode 100644 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch delete mode 100644 1017-udev-use-usec_t-and-now.patch delete mode 100644 1018-keymap-add-aditional-support.patch delete mode 100644 1019-udev-Fix-device-matching-in-the-accelerometer.patch delete mode 100644 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch delete mode 100644 1022-udev-use-unique-names-for-temporary-files-created-in.patch delete mode 100644 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch delete mode 100644 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch delete mode 100644 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch create mode 100644 1027-udev-always-rename-network.patch rename 0001-Add-bootsplash-handling-for-password-dialogs.patch => Add-bootsplash-handling-for-password-dialogs.patch (81%) create mode 100644 Ensure-debugshell-has-a-correct-value.patch create mode 100644 Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch rename forward-to-pmutils.patch => Forward-suspend-hibernate-calls-to-pm-utils.patch (71%) create mode 100644 Revert-service-drop-support-for-SysV-scripts-for-the-early.patch delete mode 100644 agetty-overrides-term.patch create mode 100644 allow-multiple-sulogin-to-be-started.patch create mode 100644 apply-ACL-for-nvidia-device-nodes.patch create mode 100644 avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch delete mode 100644 check-for-empty-strings-in-strto-conversions.patch delete mode 100644 core-interpret-escaped-semicolon-as-escaped.patch delete mode 100644 core-load-fragment-improve-error-message.patch delete mode 100644 coredumpctl-fix-crash.patch delete mode 100644 crypsetup-generator-state-file-name-in-error-message.patch delete mode 100644 crypsetup-handle-nofail.patch delete mode 100644 crypt-loop-file.patch delete mode 100644 cryptsetup-accept-read-only.patch delete mode 100644 cryptsetup-handle-plain.patch create mode 100644 delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch delete mode 100644 delay-fsck-cryptsetup-after-md-lvm-dmraid.patch delete mode 100644 delta-accept-t-option.patch delete mode 100644 detect-btrfs-ssd.patch delete mode 100644 disable-nss-myhostname-warning-bnc-783841.diff create mode 100644 disable-nss-myhostname-warning-bnc-783841.patch delete mode 100644 dm-lvm-after-local-fs-pre-target.patch delete mode 100644 do-not-make-sockets-dependent-on-lo.patch delete mode 100644 early-sync-shutdown.patch create mode 100644 ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch create mode 100644 ensure-ask-password-wall-starts-after-getty-tty1.patch create mode 100644 ensure-sysctl-are-applied-after-modules-are-loaded.patch create mode 100644 ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch delete mode 100644 fastboot-forcefsck.patch delete mode 100644 fix-bad-mem-access.patch delete mode 100644 fix-bad-memory-access.patch delete mode 100644 fix-build-glibc217.patch delete mode 100644 fix-dbus-crash.patch delete mode 100644 fix-debugshell.patch delete mode 100644 fix-logind-pty-seat.patch create mode 100644 fix-owner-of-var-log-btmp.patch delete mode 100644 fix-permissions-btmp.patch delete mode 100644 fix-potential-bad-mem-access.patch rename fix-enable-disable-boot-initscript.patch => fix-support-for-boot-prefixed-initscript-bnc-746506.patch (54%) delete mode 100644 fix-swap-behaviour-with-symlinks.patch create mode 100644 force-lvm-restart-after-cryptsetup-target-is-reached.patch delete mode 100644 fstab-generator-error-message-on-duplicates.patch delete mode 100644 fstab-generator-improve-error-message.patch delete mode 100644 fstab-generator-properly-detect-bind-mounts.patch delete mode 100644 handle-HOSTNAME.patch rename systemctl-options.patch => handle-SYSTEMCTL_OPTIONS-environment-variable.patch (51%) rename 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch => handle-disable_caplock-and-compose_table-and-kbd_rate.patch (69%) create mode 100644 handle-etc-HOSTNAME.patch rename systemd-numlock-suse.patch => handle-numlock-value-in-etc-sysconfig-keyboard.patch (67%) delete mode 100644 handle-root-uses-lang.patch create mode 100644 handle-root_uses_lang-value-in-etc-sysconfig-language.patch delete mode 100644 highlight-ordering-cycle-deletions.patch delete mode 100644 hostnamectl-fix-parsing-no-ask-password.patch delete mode 100644 hostnamectl-fix-set-hostname-with-no-argument.patch delete mode 100644 improve-bash-completion.patch delete mode 100644 improve-journal-perf.patch delete mode 100644 improve-man-environment.patch delete mode 100644 improve-overflow-checks.patch delete mode 100644 job-avoid-recursion-when-cancelling.patch delete mode 100644 journal-fix-cutoff-max-date.patch delete mode 100644 journal-send-always-send-syslog_identifier.patch delete mode 100644 journalctl-quit-on-io-error.patch delete mode 100644 journalctl-remove-leftover-message.patch delete mode 100644 journalctl-require-argument-for-priority delete mode 100644 localectl-fix-assertion.patch delete mode 100644 localectl-support-systems-without-locale-archive.patch delete mode 100644 lock-opensuse.patch delete mode 100644 logind-capability-making-seats-without-fb.patch delete mode 100644 logind-ignore-non-tty-non-x11-session-on-shutdown.patch rename modules_on_boot.patch => module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch (56%) delete mode 100644 mount-efivars.patch delete mode 100644 multiple-sulogin.patch create mode 100644 nss-myhostname-config create mode 100644 optionally-warn-if-nss-myhostname-is-called.patch delete mode 100644 pam-properly-handle-ssh-logins-without-pam-tty-field.patch create mode 100644 parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch delete mode 100644 parse-multiline-env-file.patch delete mode 100644 path-util-fix-potential-crash.patch delete mode 100644 rbind-mount.patch rename new-lsb-headers.patch => remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch (74%) delete mode 100644 remount-ro-before-unmount.patch create mode 100644 restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch delete mode 100644 revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch delete mode 100644 reword-rescue-mode-hints.patch create mode 100644 rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rename 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch => service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch (66%) delete mode 100644 service-forking-ignore-exit-status-main-process.patch delete mode 100644 shutdown-dont-force-mnt-force-on-final-umount.patch delete mode 100644 shutdown-ignore-loop-devices-without-backing-file.patch delete mode 100644 shutdown-improvements.patch delete mode 100644 socket-improve-error-message.patch delete mode 100644 socket-verbose-error-message.patch delete mode 100644 storage-after-cryptsetup.patch delete mode 100644 strv-cleanup-error-path-loops.patch delete mode 100644 support-hybrid-suspend.patch delete mode 100644 support-suse-clock-sysconfig.patch delete mode 100644 support-sysvinit.patch delete mode 100644 switch-root-try-pivot-root.patch delete mode 100644 sync-on-shutdown.patch delete mode 100644 sysctl-modules.patch delete mode 100644 sysctl-parse-all-keys.patch delete mode 100644 systemctl-no-assert-on-reboot-without-dbus.patch delete mode 100644 systemctl-print-wall-on-if-successful.patch delete mode 100644 systemctl-verbose-message-on-missing-install.patch delete mode 100644 systemd-195.tar.xz create mode 100644 systemd-202.tar.xz delete mode 100644 systemd-cgls-fix-piping-output.patch delete mode 100644 systemd-fix-merge-ignore-dependencies.patch create mode 100644 systemd-tmp-safe-defaults.patch create mode 100644 timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch delete mode 100644 timedated-donot-close-bogus-dbus-connection.patch delete mode 100644 tmpfiles-X-type.patch delete mode 100644 tty1.patch delete mode 100644 var-run-lock.patch delete mode 100644 xdm-display-manager.patch diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch deleted file mode 100644 index 17c4a2bd..00000000 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ /dev/null @@ -1,115 +0,0 @@ -Index: systemd-195/src/core/service.c -=================================================================== ---- systemd-195.orig/src/core/service.c -+++ systemd-195/src/core/service.c -@@ -3391,12 +3391,13 @@ static void service_notify_message(Unit - - #ifdef HAVE_SYSV_COMPAT - --#ifdef TARGET_SUSE --static void sysv_facility_in_insserv_conf(Manager *mgr) { -- FILE *f=NULL; -+#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN) -+static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) { -+ FILE *f = NULL; - int r; - -- if (!(f = fopen("/etc/insserv.conf", "re"))) { -+ if (!(f = fopen(filename, "re"))) { -+ log_error("Failed to open file %s", filename); - r = errno == ENOENT ? 0 : -errno; - goto finish; - } -@@ -3410,7 +3411,7 @@ static void sysv_facility_in_insserv_con - break; - - r = -errno; -- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r)); -+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); - goto finish; - } - -@@ -3425,23 +3426,30 @@ static void sysv_facility_in_insserv_con - Unit *u; - if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) - continue; -+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); -+ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -+ } - if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { -- UnitDependency e; - char *dep = NULL, *name, **j; - - STRV_FOREACH (j, parsed+1) { -- if (*j[0]=='+') { -- e = UNIT_WANTS; -+ if (*j[0] == '+') - name = *j+1; -- } -- else { -- e = UNIT_REQUIRES; -+ else - name = *j; -- } -+ if (streq(name, "boot.localfs") || -+ streq(name, "boot.crypto")) -+ continue; - if (sysv_translate_facility(name, NULL, &dep) < 0) - continue; - -- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true); -+ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true); -+ if (*j[0] != '+') -+ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true); - free(dep); - } - } -@@ -3454,6 +3462,35 @@ finish: - fclose(f); - - } -+ -+static void sysv_facility_in_insserv_conf(Manager *mgr) { -+ DIR *d =NULL; -+ struct dirent *de; -+ -+#ifdef TARGET_DEBIAN -+ if (!(d = opendir("/etc/insserv.conf.d/"))) -+ if (errno != ENOENT) { -+ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -+ goto finish; -+ } -+ -+ while ((de = readdir(d))) { -+ char *path = NULL; -+ if (ignore_file(de->d_name)) -+ continue; -+ -+ path = join("/etc/insserv.conf.d/", de->d_name, NULL); -+ sysv_parse_insserv_conf(mgr, path); -+ free(path); -+ } -+finish: -+ if (d) -+ closedir(d); -+#endif -+ -+ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf"); -+} -+ - #endif - - static int service_enumerate(Manager *m) { -@@ -3604,7 +3641,7 @@ static int service_enumerate(Manager *m) - - r = 0; - --#ifdef TARGET_SUSE -+#if defined(TARGET_SUSE) || defined(TARGET_DEBIAN) - sysv_facility_in_insserv_conf (m); - #endif - diff --git a/1001-Reinstate-TIMEOUT-handling.patch b/1001-Reinstate-TIMEOUT-handling.patch index f90c265a..775c0a07 100644 --- a/1001-Reinstate-TIMEOUT-handling.patch +++ b/1001-Reinstate-TIMEOUT-handling.patch @@ -1,3 +1,7 @@ +From: Robert Milasan +Date: Thu, 11 Apr 2013 15:39:39 +0200 +Subject: Reinstate TIMEOUT handling + Without treating events with timeouts specially some drivers would cause a 30 seconds stall on boot: . @@ -10,29 +14,24 @@ the kernel (3.4?). This reverts 43d5c5f03645c4b842659f9b5bd0ae465e885e92 and 57c6f8ae5f52a6e8ffc66a54966346f733dded39. --- + src/libudev/libudev-device.c | 19 +++++++++++++++++++ + src/libudev/libudev-private.h | 1 + + src/udev/udevd.c | 13 ++++++++++--- + 3 files changed, 30 insertions(+), 3 deletions(-) -Note: this is mostly a FYI, and whether or not it makes sense -to apply this upstream depends on how big problems other report -regarding this issue. - - src/libudev-device.c | 19 +++++++++++++++++++ - src/libudev-private.h | 1 + - src/udevd.c | 13 ++++++++++--- - 4 files changed, 32 insertions(+), 3 deletions(-) - -Index: systemd-195/src/libudev/libudev-device.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-device.c -+++ systemd-195/src/libudev/libudev-device.c -@@ -68,6 +68,7 @@ struct udev_device { +diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c +index 6bb2e41..4fdd242 100644 +--- a/src/libudev/libudev-device.c ++++ b/src/libudev/libudev-device.c +@@ -78,6 +78,7 @@ struct udev_device { struct udev_list tags_list; unsigned long long int seqnum; - unsigned long long int usec_initialized; + usec_t usec_initialized; + int timeout; int devlink_priority; int refcount; dev_t devnum; -@@ -162,6 +163,21 @@ static int udev_device_set_devnum(struct +@@ -172,6 +173,21 @@ static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) return 0; } @@ -54,7 +53,7 @@ Index: systemd-195/src/libudev/libudev-device.c const char *udev_device_get_devpath_old(struct udev_device *udev_device) { return udev_device->devpath_old; -@@ -418,6 +434,8 @@ void udev_device_add_property_from_strin +@@ -462,6 +478,8 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device, udev_device_set_devpath_old(udev_device, &property[12]); } else if (startswith(property, "SEQNUM=")) { udev_device_set_seqnum(udev_device, strtoull(&property[7], NULL, 10)); @@ -63,7 +62,7 @@ Index: systemd-195/src/libudev/libudev-device.c } else if (startswith(property, "IFINDEX=")) { udev_device_set_ifindex(udev_device, strtoull(&property[8], NULL, 10)); } else if (startswith(property, "DEVMODE=")) { -@@ -605,6 +623,7 @@ struct udev_device *udev_device_new(stru +@@ -653,6 +671,7 @@ struct udev_device *udev_device_new(struct udev *udev) udev_list_init(udev, &udev_device->sysattr_value_list, true); udev_list_init(udev, &udev_device->sysattr_list, false); udev_list_init(udev, &udev_device->tags_list, true); @@ -71,23 +70,23 @@ Index: systemd-195/src/libudev/libudev-device.c udev_device->watch_handle = -1; /* copy global properties */ udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) -Index: systemd-195/src/libudev/libudev-private.h -=================================================================== ---- systemd-195.orig/src/libudev/libudev-private.h -+++ systemd-195/src/libudev/libudev-private.h -@@ -65,6 +65,7 @@ const char *udev_device_get_id_filename( +diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h +index 54c51ac..d2124ea 100644 +--- a/src/libudev/libudev-private.h ++++ b/src/libudev/libudev-private.h +@@ -77,6 +77,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device); void udev_device_set_is_initialized(struct udev_device *udev_device); int udev_device_add_tag(struct udev_device *udev_device, const char *tag); void udev_device_cleanup_tags_list(struct udev_device *udev_device); +int udev_device_get_timeout(struct udev_device *udev_device); - unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); - void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); + usec_t udev_device_get_usec_initialized(struct udev_device *udev_device); + void udev_device_set_usec_initialized(struct udev_device *udev_device, usec_t usec_initialized); int udev_device_get_devlink_priority(struct udev_device *udev_device); -Index: systemd-195/src/udev/udevd.c -=================================================================== ---- systemd-195.orig/src/udev/udevd.c -+++ systemd-195/src/udev/udevd.c -@@ -388,7 +388,7 @@ out: +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 7d13b4f..9be1931 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -391,7 +391,7 @@ out: } } @@ -96,7 +95,7 @@ Index: systemd-195/src/udev/udevd.c { struct udev_list_node *loop; -@@ -414,7 +414,7 @@ static void event_run(struct event *even +@@ -417,7 +417,7 @@ static void event_run(struct event *event) return; } @@ -105,7 +104,7 @@ Index: systemd-195/src/udev/udevd.c if (children_max > 1) log_debug("maximum number (%i) of children reached\n", children); return; -@@ -450,6 +450,13 @@ static int event_queue_insert(struct ude +@@ -455,6 +455,13 @@ static int event_queue_insert(struct udev_device *dev) event->state = EVENT_QUEUED; udev_list_node_append(&event->node, &event_list); @@ -119,7 +118,7 @@ Index: systemd-195/src/udev/udevd.c return 0; } -@@ -559,7 +566,7 @@ static void event_queue_start(struct ude +@@ -566,7 +573,7 @@ static void event_queue_start(struct udev *udev) if (is_devpath_busy(event)) continue; diff --git a/1002-re-enable-by_path-links-for-ata-devices.patch b/1002-re-enable-by_path-links-for-ata-devices.patch index 9250624f..64f01c1f 100644 --- a/1002-re-enable-by_path-links-for-ata-devices.patch +++ b/1002-re-enable-by_path-links-for-ata-devices.patch @@ -1,9 +1,18 @@ -Index: systemd-195/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-195.orig/src/udev/udev-builtin-path_id.c -+++ systemd-195/src/udev/udev-builtin-path_id.c -@@ -302,6 +302,85 @@ out: - return hostdev; +From: Robert Milasan +Date: Thu, 12 Jul 2012 15:56:34 +0000 +Subject: re-enable by_path links for ata devices + +Fix by-path links for ATA transport (bnc#770910) +--- + src/udev/udev-builtin-path_id.c | 92 +++++++++++++++++++++++++++++++++++------ + 1 file changed, 80 insertions(+), 12 deletions(-) + +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c +index da02731..a77d4e8 100644 +--- a/src/udev/udev-builtin-path_id.c ++++ b/src/udev/udev-builtin-path_id.c +@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * + return parent; } +static struct udev_device *handle_ata(struct udev_device *parent, char **path) @@ -88,17 +97,20 @@ Index: systemd-195/src/udev/udev-builtin-path_id.c static struct udev_device *handle_scsi(struct udev_device *parent, char **path) { const char *devtype; -@@ -338,16 +417,8 @@ static struct udev_device *handle_scsi(s +@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) goto out; } - /* -- * We do not support the ATA transport class, it creates duplicated link -- * names as the fake SCSI host adapters are all separated, they are all -- * re-based as host == 0. ATA should just stop faking two duplicated -- * hierarchies for a single topology and leave the SCSI stuff alone; -- * until that happens, there are no by-path/ links for ATA devices behind -- * an ATA transport class. +- * We do not support the ATA transport class, it uses global counters +- * to name the ata devices which numbers spread across multiple +- * controllers. +- * +- * The real link numbers are not exported. Also, possible chains of ports +- * behind port multipliers cannot be composed that way. +- * +- * Until all that is solved at the kernel level, there are no by-path/ +- * links for ATA devices. - */ if (strstr(name, "/ata") != NULL) { - parent = NULL; diff --git a/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch index c7b3b1cd..c2f3186c 100644 --- a/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ b/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -1,8 +1,17 @@ -Index: systemd-195/rules/60-persistent-storage.rules -=================================================================== ---- systemd-195.orig/rules/60-persistent-storage.rules -+++ systemd-195/rules/60-persistent-storage.rules -@@ -44,6 +44,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", +From: Robert Milasan +Date: Wed, 27 Jun 2012 08:55:59 +0000 +Subject: rules create by id scsi links for ATA devices + +Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) +--- + rules/60-persistent-storage.rules | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules +index a4d009a..f720c7e 100644 +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules +@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="s KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" diff --git a/1004-udev-netlink-null-rules.patch b/1004-udev-netlink-null-rules.patch index e5fd1b7e..8634d39d 100644 --- a/1004-udev-netlink-null-rules.patch +++ b/1004-udev-netlink-null-rules.patch @@ -1,11 +1,20 @@ -Index: systemd-195/src/udev/udevd.c -=================================================================== ---- systemd-195.orig/src/udev/udevd.c -+++ systemd-195/src/udev/udevd.c -@@ -1513,6 +1513,8 @@ int main(int argc, char *argv[]) +From: Robert Milasan +Date: Mon, 6 Aug 2012 13:35:34 +0000 +Subject: udev netlink null rules + +udevd race for netlink events (bnc#774646) +--- + src/udev/udevd.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 9be1931..d0c4c72 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -1414,6 +1414,8 @@ int main(int argc, char *argv[]) dev = udev_monitor_receive_device(monitor); if (dev != NULL) { - udev_device_set_usec_initialized(dev, now_usec()); + udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); + if (rules == NULL) + rules = udev_rules_new(udev, resolve_names); if (event_queue_insert(dev) < 0) diff --git a/1005-udev-fix-sg-autoload-regression.patch b/1005-udev-fix-sg-autoload-regression.patch index 642f4faf..1e79d84e 100644 --- a/1005-udev-fix-sg-autoload-regression.patch +++ b/1005-udev-fix-sg-autoload-regression.patch @@ -1,12 +1,22 @@ -Index: systemd-190/rules/80-drivers.rules -=================================================================== ---- systemd-190.orig/rules/80-drivers.rules -+++ systemd-190/rules/80-drivers.rules -@@ -7,6 +7,7 @@ SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}== - SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", IMPORT{builtin}="kmod load tifm_ms" - SUBSYSTEM=="memstick", IMPORT{builtin}="kmod load ms_block mspro_block" - SUBSYSTEM=="i2o", IMPORT{builtin}="kmod load i2o_block" +From: Robert Milasan +Date: Tue, 7 Aug 2012 08:34:49 +0000 +Subject: udev fix sg autoload regression + +Fix regression in udev where sg driver is no longer loaded for disc +events. Will need a non-udev solution for 12.3 (bnc#761109). +--- + rules/80-drivers.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rules/80-drivers.rules b/rules/80-drivers.rules +index 50523e4..b863532 100644 +--- a/rules/80-drivers.rules ++++ b/rules/80-drivers.rules +@@ -7,6 +7,7 @@ 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" + SUBSYSTEM=="i2o", RUN{builtin}="kmod load i2o_block" +SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", IMPORT{builtin}="kmod load sg" SUBSYSTEM=="module", KERNEL=="parport_pc", RUN{builtin}="kmod load ppdev" + KERNEL=="mtd*ro", ENV{MTD_FTL}=="smartmedia", RUN{builtin}="kmod load sm_ftl" - LABEL="drivers_end" diff --git a/1006-fix-devname-prefix.patch b/1006-fix-devname-prefix.patch deleted file mode 100644 index 7fbc160a..00000000 --- a/1006-fix-devname-prefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-195/src/udev/udevd.c -=================================================================== ---- systemd-195.orig/src/udev/udevd.c -+++ systemd-195/src/udev/udevd.c -@@ -820,7 +820,7 @@ static void static_dev_create_from_modul - FILE *f; - - uname(&kernel); -- util_strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL); -+ util_strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL); - f = fopen(modules, "re"); - if (f == NULL) - return; diff --git a/1007-fix-devname-prefix.patch b/1007-fix-devname-prefix.patch new file mode 100644 index 00000000..55fb3d90 --- /dev/null +++ b/1007-fix-devname-prefix.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +Date: Wed, 5 Dec 2012 15:13:27 +0000 +Subject: fix devname prefix + +fix modules.devname path, it isn't in /usr. +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index d0c4c72..599cd3b 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -831,7 +831,7 @@ static void static_dev_create_from_modules(struct udev *udev) + return; + } + +- strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL); ++ strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL); + f = fopen(modules, "re"); + if (f == NULL) + return; diff --git a/1007-udevd-add-missing-to-getopt_long-e.patch b/1007-udevd-add-missing-to-getopt_long-e.patch deleted file mode 100644 index 59cba6ae..00000000 --- a/1007-udevd-add-missing-to-getopt_long-e.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 5bbbe461fd4d133eac49f41210e2fd4846f577d8 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 19 Dec 2012 13:12:26 +0100 -Subject: [PATCH] udevd: add missing ':' to getopt_long 'e' - -Parameter -e is set without additional argument in getopt -and this leads to segfault when calling 'systemd-udevd -e'. ---- - src/udev/udevd.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -Index: systemd-195/src/udev/udevd.c -=================================================================== ---- systemd-195.orig/src/udev/udevd.c -+++ systemd-195/src/udev/udevd.c -@@ -1104,7 +1104,7 @@ int main(int argc, char *argv[]) - for (;;) { - int option; - -- option = getopt_long(argc, argv, "c:deDtN:hV", options, NULL); -+ option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); - if (option == -1) - break; - diff --git a/1008-udev-path_id-handle-Hyper-V-devices.patch b/1008-udev-path_id-handle-Hyper-V-devices.patch deleted file mode 100644 index b4273dd7..00000000 --- a/1008-udev-path_id-handle-Hyper-V-devices.patch +++ /dev/null @@ -1,72 +0,0 @@ -From a24d03b8ee2ca62cd1273e27cf4e79ddcc0fbb1c Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Fri, 23 Nov 2012 14:12:39 +0100 -Subject: [PATCH] udev: path_id - handle Hyper-V devices - -Hyper-V has an abstract bus, which gets renumbered on guest -startup. So instead of the bus numbers we should be using -the device GUIDs, which can be retrieved from the 'device_id' -sysfs attribute. ---- - src/udev/udev-builtin-path_id.c | 41 +++++++++++++++++++++++++++++++++++++++ - 1 files changed, 41 insertions(+), 0 deletions(-) - -Index: systemd-195/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-195.orig/src/udev/udev-builtin-path_id.c -+++ systemd-195/src/udev/udev-builtin-path_id.c -@@ -381,6 +381,42 @@ out: - return hostdev; - } - -+static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char **path) { -+ struct udev_device *hostdev; -+ struct udev_device *vmbusdev; -+ const char *guid_str; -+ char *lun = NULL; -+ char guid[38]; -+ size_t i, k; -+ -+ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); -+ if (!hostdev) -+ return NULL; -+ -+ vmbusdev = udev_device_get_parent(hostdev); -+ if (!vmbusdev) -+ return NULL; -+ -+ guid_str = udev_device_get_sysattr_value(vmbusdev, "device_id"); -+ if (!guid_str) -+ return NULL; -+ -+ if (strlen(guid_str) < 37 || guid_str[0] != '{' || guid_str[36] != '}') -+ return NULL; -+ -+ for (i = 1, k = 0; i < 36; i++) { -+ if (guid_str[i] == '-') -+ continue; -+ guid[k++] = guid_str[i]; -+ } -+ guid[k] = '\0'; -+ -+ format_lun_number(parent, &lun); -+ path_prepend(path, "vmbus-%s-%s", guid, lun); -+ free(lun); -+ return parent; -+} -+ - static struct udev_device *handle_scsi(struct udev_device *parent, char **path) - { - const char *devtype; -@@ -422,6 +458,11 @@ static struct udev_device *handle_scsi(s - goto out; - } - -+ if (strstr(name, "/vmbus_") != NULL) { -+ parent = handle_scsi_hyperv(parent, path); -+ goto out; -+ } -+ - parent = handle_scsi_default(parent, path); - out: - return parent; diff --git a/1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch b/1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch deleted file mode 100644 index 58bf335c..00000000 --- a/1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 68c77c2f6168dca0ce7b5edb81612cd6be39e63d Mon Sep 17 00:00:00 2001 -From: Alessandro Crismani -Date: Wed, 8 Aug 2012 14:19:32 +0200 -Subject: [PATCH] keymap: Update the list of Samsung Series 9 models - -Currently, keymaps are provided only for the NP90X3A laptop. Samsung -introduced updated models, codenamed 900X3B, 900X3C, 900X4B, 900X4C, -which are currently not matched by udev rules. This patch includes the -newer modules in udev rules and move the samsung-n90x3a file defining -keys to a more generic samsung-series-9 file. - -The patch was tested on a 900X4C laptop, and other people reported -that the rules also work for 900X3B and 900X3C ones. ---- - delete mode 100644 keymaps-force-release/samsung-90x3a - create mode 100644 keymaps-force-release/samsung-series-9 - delete mode 100644 keymaps/samsung-90x3a - create mode 100644 keymaps/samsung-series-9 - -From 68c77c2f6168dca0ce7b5edb81612cd6be39e63d Mon Sep 17 00:00:00 2001 -From: Alessandro Crismani -Date: Wed, 8 Aug 2012 14:19:32 +0200 -Subject: [PATCH] keymap: Update the list of Samsung Series 9 models - -Currently, keymaps are provided only for the NP90X3A laptop. Samsung -introduced updated models, codenamed 900X3B, 900X3C, 900X4B, 900X4C, -which are currently not matched by udev rules. This patch includes the -newer modules in udev rules and move the samsung-n90x3a file defining -keys to a more generic samsung-series-9 file. - -The patch was tested on a 900X4C laptop, and other people reported -that the rules also work for 900X3B and 900X3C ones. ---- - Makefile.am | 4 ++-- - keymaps-force-release/samsung-90x3a | 6 ------ - keymaps-force-release/samsung-series-9 | 6 ++++++ - keymaps/samsung-90x3a | 5 ----- - keymaps/samsung-series-9 | 5 +++++ - src/udev/keymap/95-keyboard-force-release.rules | 2 +- - src/udev/keymap/95-keymap.rules | 2 +- - 7 files changed, 15 insertions(+), 15 deletions(-) - delete mode 100644 keymaps-force-release/samsung-90x3a - create mode 100644 keymaps-force-release/samsung-series-9 - delete mode 100644 keymaps/samsung-90x3a - create mode 100644 keymaps/samsung-series-9 - -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -2272,7 +2272,7 @@ dist_udevkeymap_DATA = \ - keymaps/onkyo \ - keymaps/oqo-model2 \ - keymaps/samsung-other \ -- keymaps/samsung-90x3a \ -+ keymaps/samsung-series-9 \ - keymaps/samsung-sq1us \ - keymaps/samsung-sx20s \ - keymaps/toshiba-satellite_a100 \ -@@ -2286,7 +2286,7 @@ dist_udevkeymapforcerel_DATA = \ - keymaps-force-release/dell-xps \ - keymaps-force-release/hp-other \ - keymaps-force-release/samsung-other \ -- keymaps-force-release/samsung-90x3a \ -+ keymaps-force-release/samsung-series-9 \ - keymaps-force-release/common-volume-keys - - src/udev/keymap/keys.txt: Makefile -Index: systemd-195/keymaps-force-release/samsung-90x3a -=================================================================== ---- systemd-195.orig/keymaps-force-release/samsung-90x3a -+++ /dev/null -@@ -1,6 +0,0 @@ --# list of scancodes (hex or decimal), optional comment --0xCE # Fn+F8 keyboard backlit up --0x8D # Fn+F7 keyboard backlit down --0x97 # Fn+F12 wifi on/off --0x96 # Fn+F1 performance mode (?) --0xD5 # Fn+F6 battery life extender -Index: systemd-195/keymaps-force-release/samsung-series-9 -=================================================================== ---- /dev/null -+++ systemd-195/keymaps-force-release/samsung-series-9 -@@ -0,0 +1,6 @@ -+# list of scancodes (hex or decimal), optional comment -+0xCE # Fn+F8 keyboard backlit up -+0x8D # Fn+F7 keyboard backlit down -+0x97 # Fn+F12 wifi on/off -+0x96 # Fn+F1 performance mode (?) -+0xD5 # Fn+F6 battery life extender -Index: systemd-195/keymaps/samsung-90x3a -=================================================================== ---- systemd-195.orig/keymaps/samsung-90x3a -+++ /dev/null -@@ -1,5 +0,0 @@ --0x96 kbdillumup # Fn+F8 keyboard backlit up --0x97 kbdillumdown # Fn+F7 keyboard backlit down --0xD5 wlan # Fn+F12 wifi on/off --0xCE prog1 # Fn+F1 performance mode --0x8D prog2 # Fn+F6 battery life extender -Index: systemd-195/keymaps/samsung-series-9 -=================================================================== ---- /dev/null -+++ systemd-195/keymaps/samsung-series-9 -@@ -0,0 +1,5 @@ -+0x96 kbdillumup # Fn+F8 keyboard backlit up -+0x97 kbdillumdown # Fn+F7 keyboard backlit down -+0xD5 wlan # Fn+F12 wifi on/off -+0xCE prog1 # Fn+F1 performance mode -+0x8D prog2 # Fn+F6 battery life extender -Index: systemd-195/src/udev/keymap/95-keyboard-force-release.rules -=================================================================== ---- systemd-195.orig/src/udev/keymap/95-keyboard-force-release.rules -+++ systemd-195/src/udev/keymap/95-keyboard-force-release.rules -@@ -19,7 +19,7 @@ DRIVER!="atkbd", GOTO="force_release_end - ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}" - - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", RUN+="keyboard-force-release.sh $devpath samsung-other" --ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keyboard-force-release.sh $devpath samsung-90x3a" -+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*|*900X3*|*900X4*", RUN+="keyboard-force-release.sh $devpath samsung-series-9" - - ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Studio 1557|Studio 1558", RUN+="keyboard-force-release.sh $devpath common-volume-keys" - ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Latitude E*|Latitude *U|Precision M*", RUN+="keyboard-force-release.sh $devpath dell-touchpad" -Index: systemd-195/src/udev/keymap/95-keymap.rules -=================================================================== ---- systemd-195.orig/src/udev/keymap/95-keymap.rules -+++ systemd-195/src/udev/keymap/95-keymap.rules -@@ -147,7 +147,7 @@ ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][n - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s" - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us" - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*700Z*", RUN+="keymap $name 0xBA ejectcd 0x96 keyboardbrightnessup 0x97 keyboardbrightnessdown" --ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keymap $name samsung-90x3a" -+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*|*900X3*|*900X4*", RUN+="keymap $name samsung-series-9" - - ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="SATELLITE A100", RUN+="keymap $name toshiba-satellite_a100" - ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite A110", RUN+="keymap $name toshiba-satellite_a110" diff --git a/1010-keymap-Add-Samsung-700T.patch b/1010-keymap-Add-Samsung-700T.patch deleted file mode 100644 index 860da9ad..00000000 --- a/1010-keymap-Add-Samsung-700T.patch +++ /dev/null @@ -1,22 +0,0 @@ -From a5dea3d43b3866b48c66d6bef9663cf8372fd96c Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Wed, 28 Nov 2012 21:33:26 +0100 -Subject: [PATCH] keymap: Add Samsung 700T - -https://bugzilla.redhat.com/show_bug.cgi?id=879691 ---- - src/udev/keymap/95-keymap.rules | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -Index: systemd-195/src/udev/keymap/95-keymap.rules -=================================================================== ---- systemd-195.orig/src/udev/keymap/95-keymap.rules -+++ systemd-195/src/udev/keymap/95-keymap.rules -@@ -147,6 +147,7 @@ ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][n - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s" - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us" - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*700Z*", RUN+="keymap $name 0xBA ejectcd 0x96 keyboardbrightnessup 0x97 keyboardbrightnessdown" -+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*700T*", RUN+="keymap $name 0xAD leftmeta" - ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*|*900X3*|*900X4*", RUN+="keymap $name samsung-series-9" - - ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="SATELLITE A100", RUN+="keymap $name toshiba-satellite_a100" diff --git a/1011-libudev-avoid-leak-during-realloc-failure.patch b/1011-libudev-avoid-leak-during-realloc-failure.patch deleted file mode 100644 index 6b5d1907..00000000 --- a/1011-libudev-avoid-leak-during-realloc-failure.patch +++ /dev/null @@ -1,36 +0,0 @@ -From cf2292f5ac87087f57dbd632a25a332c9d194ebf Mon Sep 17 00:00:00 2001 -From: Mauro Dreissig -Date: Sun, 11 Nov 2012 22:07:51 -0200 -Subject: [PATCH] libudev: avoid leak during realloc failure - ---- - src/libudev/libudev-list.c | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) - -Index: systemd-195/src/libudev/libudev-list.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-list.c -+++ systemd-195/src/libudev/libudev-list.c -@@ -177,18 +177,20 @@ struct udev_list_entry *udev_list_entry_ - if (list->unique) { - /* allocate or enlarge sorted array if needed */ - if (list->entries_cur >= list->entries_max) { -+ struct udev_list_entry **entries; - unsigned int add; - - add = list->entries_max; - if (add < 1) - add = 64; -- list->entries = realloc(list->entries, (list->entries_max + add) * sizeof(struct udev_list_entry *)); -- if (list->entries == NULL) { -+ entries = realloc(list->entries, (list->entries_max + add) * sizeof(struct udev_list_entry *)); -+ if (entries == NULL) { - free(entry->name); - free(entry->value); - free(entry); - return NULL; - } -+ list->entries = entries; - list->entries_max += add; - } - diff --git a/1012-libudev-do-not-resolve-attr-device-symlinks.patch b/1012-libudev-do-not-resolve-attr-device-symlinks.patch deleted file mode 100644 index 9e48bc52..00000000 --- a/1012-libudev-do-not-resolve-attr-device-symlinks.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5ae18ddc0d86673520c0dd6b59ccac8afc8aa605 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 20 Nov 2012 18:07:57 +0100 -Subject: [PATCH] libudev: do not resolve $attr{device} symlinks - ---- - src/libudev/libudev-device.c | 19 ++++++++++--------- - 1 files changed, 10 insertions(+), 9 deletions(-) - -Index: systemd-195/src/libudev/libudev-device.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-device.c -+++ systemd-195/src/libudev/libudev-device.c -@@ -1369,16 +1369,17 @@ _public_ const char *udev_device_get_sys - goto out; - } - -- /* resolve link to a device and return its syspath */ -- util_strscpyl(path, sizeof(path), udev_device->syspath, "/", sysattr, NULL); -- dev = udev_device_new_from_syspath(udev_device->udev, path); -- if (dev != NULL) { -- list_entry = udev_list_entry_add(&udev_device->sysattr_value_list, sysattr, -- udev_device_get_syspath(dev)); -- val = udev_list_entry_get_value(list_entry); -- udev_device_unref(dev); -+ /* resolve custom link to a device and return its syspath */ -+ if (!streq(sysattr, "device")) { -+ util_strscpyl(path, sizeof(path), udev_device->syspath, "/", sysattr, NULL); -+ dev = udev_device_new_from_syspath(udev_device->udev, path); -+ if (dev != NULL) { -+ list_entry = udev_list_entry_add(&udev_device->sysattr_value_list, sysattr, -+ udev_device_get_syspath(dev)); -+ val = udev_list_entry_get_value(list_entry); -+ udev_device_unref(dev); -+ } - } -- - goto out; - } - diff --git a/1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch b/1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch deleted file mode 100644 index a93c2272..00000000 --- a/1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +++ /dev/null @@ -1,23 +0,0 @@ -From e68893075083a7461b1572233d23fdb23541d630 Mon Sep 17 00:00:00 2001 -From: Michael Terry -Date: Fri, 14 Dec 2012 09:02:13 -0500 -Subject: [PATCH] libudev: validate 'udev' argument to udev_enumerate_new() - -https://bugs.freedesktop.org/show_bug.cgi?id=58289 ---- - src/libudev/libudev-enumerate.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -Index: systemd-195/src/libudev/libudev-enumerate.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-enumerate.c -+++ systemd-195/src/libudev/libudev-enumerate.c -@@ -73,6 +73,8 @@ _public_ struct udev_enumerate *udev_enu - { - struct udev_enumerate *udev_enumerate; - -+ if (udev == NULL) -+ return NULL; - udev_enumerate = calloc(1, sizeof(struct udev_enumerate)); - if (udev_enumerate == NULL) - return NULL; diff --git a/1014-udev-fix-whitespace.patch b/1014-udev-fix-whitespace.patch deleted file mode 100644 index fcccc037..00000000 --- a/1014-udev-fix-whitespace.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 3fd0c4c66df45ee457cfb5e4ca8e285914ebc32f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 20 Nov 2012 18:07:14 +0100 -Subject: [PATCH] udev: fix whitespace - ---- - src/udev/udev-event.c | 36 ++++++++++++++++++------------------ - 1 files changed, 18 insertions(+), 18 deletions(-) - -Index: systemd-195/src/udev/udev-event.c -=================================================================== ---- systemd-195.orig/src/udev/udev-event.c -+++ systemd-195/src/udev/udev-event.c -@@ -90,24 +90,24 @@ size_t udev_event_apply_format(struct ud - const char fmt; - enum subst_type type; - } map[] = { -- { .name = "devnode", .fmt = 'N', .type = SUBST_DEVNODE }, -- { .name = "tempnode", .fmt = 'N', .type = SUBST_DEVNODE }, -- { .name = "attr", .fmt = 's', .type = SUBST_ATTR }, -- { .name = "sysfs", .fmt = 's', .type = SUBST_ATTR }, -- { .name = "env", .fmt = 'E', .type = SUBST_ENV }, -- { .name = "kernel", .fmt = 'k', .type = SUBST_KERNEL }, -- { .name = "number", .fmt = 'n', .type = SUBST_KERNEL_NUMBER }, -- { .name = "driver", .fmt = 'd', .type = SUBST_DRIVER }, -- { .name = "devpath", .fmt = 'p', .type = SUBST_DEVPATH }, -- { .name = "id", .fmt = 'b', .type = SUBST_ID }, -- { .name = "major", .fmt = 'M', .type = SUBST_MAJOR }, -- { .name = "minor", .fmt = 'm', .type = SUBST_MINOR }, -- { .name = "result", .fmt = 'c', .type = SUBST_RESULT }, -- { .name = "parent", .fmt = 'P', .type = SUBST_PARENT }, -- { .name = "name", .fmt = 'D', .type = SUBST_NAME }, -- { .name = "links", .fmt = 'L', .type = SUBST_LINKS }, -- { .name = "root", .fmt = 'r', .type = SUBST_ROOT }, -- { .name = "sys", .fmt = 'S', .type = SUBST_SYS }, -+ { .name = "devnode", .fmt = 'N', .type = SUBST_DEVNODE }, -+ { .name = "tempnode", .fmt = 'N', .type = SUBST_DEVNODE }, -+ { .name = "attr", .fmt = 's', .type = SUBST_ATTR }, -+ { .name = "sysfs", .fmt = 's', .type = SUBST_ATTR }, -+ { .name = "env", .fmt = 'E', .type = SUBST_ENV }, -+ { .name = "kernel", .fmt = 'k', .type = SUBST_KERNEL }, -+ { .name = "number", .fmt = 'n', .type = SUBST_KERNEL_NUMBER }, -+ { .name = "driver", .fmt = 'd', .type = SUBST_DRIVER }, -+ { .name = "devpath", .fmt = 'p', .type = SUBST_DEVPATH }, -+ { .name = "id", .fmt = 'b', .type = SUBST_ID }, -+ { .name = "major", .fmt = 'M', .type = SUBST_MAJOR }, -+ { .name = "minor", .fmt = 'm', .type = SUBST_MINOR }, -+ { .name = "result", .fmt = 'c', .type = SUBST_RESULT }, -+ { .name = "parent", .fmt = 'P', .type = SUBST_PARENT }, -+ { .name = "name", .fmt = 'D', .type = SUBST_NAME }, -+ { .name = "links", .fmt = 'L', .type = SUBST_LINKS }, -+ { .name = "root", .fmt = 'r', .type = SUBST_ROOT }, -+ { .name = "sys", .fmt = 'S', .type = SUBST_SYS }, - }; - const char *from; - char *s; diff --git a/1015-udev-properly-handle-symlink-removal-by-change-event.patch b/1015-udev-properly-handle-symlink-removal-by-change-event.patch deleted file mode 100644 index e579a466..00000000 --- a/1015-udev-properly-handle-symlink-removal-by-change-event.patch +++ /dev/null @@ -1,69 +0,0 @@ -From bf9d233f781f27841be6638ee745e9c80bda5f4d Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 13 Nov 2012 02:05:06 +0100 -Subject: [PATCH] udev: properly handle symlink removal by 'change' event - -If a 'change' event is supposed to remove created symlinks, we create -a new device structure from the sysfs device and fill it with the list -of links, to compute the delta of the old and new list of links to apply. -If the device is already 'remove'd by the kernel though, udev fails to -create the device structure, so the links are not removed properly. - -> From: Neil Brown -> Date: Thu, 8 Nov 2012 10:39:06 +0100 -> Subject: [PATCH] If a 'change' event does not get handled by udev until -> after the device has subsequently disappeared, udev mis-handles -> it. This can happen with 'md' devices which emit a change -> event and then a remove event when they are stopped. It is -> normally only noticed if udev is very busy (lots of arrays -> being stopped at once) or the machine is otherwise loaded -> and reponding slowly. -> -> There are two problems. -> -> 1/ udev_device_new_from_syspath() will refuse to create the device -> structure if the device does not exist in /sys, and particularly if -> the uevent file does not exist. -> If a 'db' file does exist, that is sufficient evidence that the device -> is genuine and should be created. Equally if we have just received an -> event from the kernel about the device, it must be real. -> -> This patch just disabled the test for the 'uevent' file, it doesn't -> try imposing any other tests - it isn't clear that they are really -> needed. -> -> 2/ udev_event_execute_rules() calls udev_device_read_db() on a 'device' -> structure that is largely uninitialised and in particular does not -> have the 'subsystem' set. udev_device_read_db() needs the subsystem -> so it tries to read the 'subsystem' symlink out of sysfs. If the -> device is already deleted, this naturally fails. -> udev_event_execute_rules() knows the subsystem (as it was in the -> event message) so this patch simply sets the subsystem for the device -> structure to be loaded to match the subsystem of the device structure -> that is handling the event. -> -> With these two changes, deleted handling of change events will still -> correctly remove any symlinks that are not needed any more. - -Use udev_device_new() instead of allowing udev_device_new_from_syspath() -to proceed without a sysfs device. ---- - src/udev/udev-event.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -Index: systemd-195/src/udev/udev-event.c -=================================================================== ---- systemd-195.orig/src/udev/udev-event.c -+++ systemd-195/src/udev/udev-event.c -@@ -797,8 +797,10 @@ int udev_event_execute_rules(struct udev - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); - } else { -- event->dev_db = udev_device_new_from_syspath(event->udev, udev_device_get_syspath(dev)); -+ event->dev_db = udev_device_new(event->udev); - if (event->dev_db != NULL) { -+ udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); -+ udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); - udev_device_read_db(event->dev_db, NULL); - udev_device_set_info_loaded(event->dev_db); - diff --git a/1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch b/1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch deleted file mode 100644 index bf6d799e..00000000 --- a/1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +++ /dev/null @@ -1,64 +0,0 @@ -Index: systemd-195/src/udev/udev-builtin.c -=================================================================== ---- systemd-195.orig/src/udev/udev-builtin.c -+++ systemd-195/src/udev/udev-builtin.c -@@ -42,24 +42,18 @@ static const struct udev_builtin *builti - #endif - }; - --int udev_builtin_init(struct udev *udev) -+void udev_builtin_init(struct udev *udev) - { - unsigned int i; -- int err = 0; - - if (initialized) -- return 0; -+ return; - -- for (i = 0; i < ELEMENTSOF(builtins); i++) { -- if (builtins[i]->init) { -- err = builtins[i]->init(udev); -- if (err < 0) -- break; -- } -- } -+ for (i = 0; i < ELEMENTSOF(builtins); i++) -+ if (builtins[i]->init) -+ builtins[i]->init(udev); - - initialized = true; -- return err; - } - - void udev_builtin_exit(struct udev *udev) -@@ -79,13 +73,11 @@ void udev_builtin_exit(struct udev *udev - bool udev_builtin_validate(struct udev *udev) - { - unsigned int i; -- bool change = false; - - for (i = 0; i < ELEMENTSOF(builtins); i++) -- if (builtins[i]->validate) -- if (builtins[i]->validate(udev)) -- change = true; -- return change; -+ if (builtins[i]->validate && builtins[i]->validate(udev)) -+ return true; -+ return false; - } - - void udev_builtin_list(struct udev *udev) -Index: systemd-195/src/udev/udev.h -=================================================================== ---- systemd-195.orig/src/udev/udev.h -+++ systemd-195/src/udev/udev.h -@@ -167,7 +167,7 @@ extern const struct udev_builtin udev_bu - extern const struct udev_builtin udev_builtin_usb_db; - extern const struct udev_builtin udev_builtin_usb_id; - extern const struct udev_builtin udev_builtin_uaccess; --int udev_builtin_init(struct udev *udev); -+void udev_builtin_init(struct udev *udev); - void udev_builtin_exit(struct udev *udev); - enum udev_builtin_cmd udev_builtin_lookup(const char *command); - const char *udev_builtin_name(enum udev_builtin_cmd cmd); diff --git a/1017-udev-use-usec_t-and-now.patch b/1017-udev-use-usec_t-and-now.patch deleted file mode 100644 index ca0b0131..00000000 --- a/1017-udev-use-usec_t-and-now.patch +++ /dev/null @@ -1,335 +0,0 @@ -Index: systemd-195/src/libudev/libudev-device-private.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-device-private.c -+++ systemd-195/src/libudev/libudev-device-private.c -@@ -147,7 +147,7 @@ int udev_device_update_db(struct udev_de - } - - if (udev_device_get_usec_initialized(udev_device) > 0) -- fprintf(f, "I:%llu\n", udev_device_get_usec_initialized(udev_device)); -+ fprintf(f, "I:%llu\n", (unsigned long long)udev_device_get_usec_initialized(udev_device)); - - udev_list_entry_foreach(list_entry, udev_device_get_properties_list_entry(udev_device)) { - if (!udev_list_entry_get_num(list_entry)) -Index: systemd-195/src/libudev/libudev-device.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-device.c -+++ systemd-195/src/libudev/libudev-device.c -@@ -67,7 +67,7 @@ struct udev_device { - struct udev_list sysattr_list; - struct udev_list tags_list; - unsigned long long int seqnum; -- unsigned long long int usec_initialized; -+ usec_t usec_initialized; - int timeout; - int devlink_priority; - int refcount; -@@ -262,7 +262,7 @@ static int udev_device_set_devtype(struc - return 0; - } - --static int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem) -+int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem) - { - free(udev_device->subsystem); - udev_device->subsystem = strdup(subsystem); -@@ -1286,7 +1286,7 @@ _public_ const char *udev_device_get_act - **/ - _public_ unsigned long long int udev_device_get_usec_since_initialized(struct udev_device *udev_device) - { -- unsigned long long now_ts; -+ usec_t now_ts; - - if (udev_device == NULL) - return 0; -@@ -1294,23 +1294,23 @@ _public_ unsigned long long int udev_dev - udev_device_read_db(udev_device, NULL); - if (udev_device->usec_initialized == 0) - return 0; -- now_ts = now_usec(); -+ now_ts = now(CLOCK_MONOTONIC); - if (now_ts == 0) - return 0; - return now_ts - udev_device->usec_initialized; - } - --unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device) -+usec_t udev_device_get_usec_initialized(struct udev_device *udev_device) - { - return udev_device->usec_initialized; - } - --void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized) -+void udev_device_set_usec_initialized(struct udev_device *udev_device, usec_t usec_initialized) - { - char num[32]; - - udev_device->usec_initialized = usec_initialized; -- snprintf(num, sizeof(num), "%llu", usec_initialized); -+ snprintf(num, sizeof(num), "%llu", (unsigned long long)usec_initialized); - udev_device_add_property(udev_device, "USEC_INITIALIZED", num); - } - -Index: systemd-195/src/libudev/libudev-private.h -=================================================================== ---- systemd-195.orig/src/libudev/libudev-private.h -+++ systemd-195/src/libudev/libudev-private.h -@@ -48,6 +48,7 @@ struct udev_list_entry *udev_get_propert - /* libudev-device.c */ - struct udev_device *udev_device_new(struct udev *udev); - mode_t udev_device_get_devnode_mode(struct udev_device *udev_device); -+int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); - int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); - int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode); - int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); -@@ -66,8 +67,8 @@ void udev_device_set_is_initialized(stru - int udev_device_add_tag(struct udev_device *udev_device, const char *tag); - void udev_device_cleanup_tags_list(struct udev_device *udev_device); - int udev_device_get_timeout(struct udev_device *udev_device); --unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); --void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); -+usec_t udev_device_get_usec_initialized(struct udev_device *udev_device); -+void udev_device_set_usec_initialized(struct udev_device *udev_device, usec_t usec_initialized); - int udev_device_get_devlink_priority(struct udev_device *udev_device); - int udev_device_set_devlink_priority(struct udev_device *udev_device, int prio); - int udev_device_get_watch_handle(struct udev_device *udev_device); -@@ -166,7 +167,5 @@ uid_t util_lookup_user(struct udev *udev - gid_t util_lookup_group(struct udev *udev, const char *group); - int util_resolve_subsys_kernel(struct udev *udev, const char *string, - char *result, size_t maxsize, int read_value); --unsigned long long ts_usec(const struct timespec *ts); --unsigned long long now_usec(void); - ssize_t print_kmsg(const char *fmt, ...) __attribute__((format(printf, 1, 2))); - #endif -Index: systemd-195/src/libudev/libudev-util.c -=================================================================== ---- systemd-195.orig/src/libudev/libudev-util.c -+++ systemd-195/src/libudev/libudev-util.c -@@ -691,23 +691,6 @@ uint64_t util_string_bloom64(const char - return bits; - } - --#define USEC_PER_SEC 1000000ULL --#define NSEC_PER_USEC 1000ULL --unsigned long long ts_usec(const struct timespec *ts) --{ -- return (unsigned long long) ts->tv_sec * USEC_PER_SEC + -- (unsigned long long) ts->tv_nsec / NSEC_PER_USEC; --} -- --unsigned long long now_usec(void) --{ -- struct timespec ts; -- -- if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) -- return 0; -- return ts_usec(&ts); --} -- - ssize_t print_kmsg(const char *fmt, ...) - { - int fd; -Index: systemd-195/src/udev/udev-event.c -=================================================================== ---- systemd-195.orig/src/udev/udev-event.c -+++ systemd-195/src/udev/udev-event.c -@@ -48,7 +48,7 @@ struct udev_event *udev_event_new(struct - event->udev = udev; - udev_list_init(udev, &event->run_list, false); - event->fd_signal = -1; -- event->birth_usec = now_usec(); -+ event->birth_usec = now(CLOCK_MONOTONIC); - event->timeout_usec = 30 * 1000 * 1000; - return event; - } -@@ -466,9 +466,9 @@ static void spawn_read(struct udev_event - int i; - - if (event->timeout_usec > 0) { -- unsigned long long age_usec; -+ usec_t age_usec; - -- age_usec = now_usec() - event->birth_usec; -+ age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; - if (age_usec >= event->timeout_usec) { - log_error("timeout '%s'\n", cmd); - goto out; -@@ -554,9 +554,9 @@ static int spawn_wait(struct udev_event - int fdcount; - - if (event->timeout_usec > 0) { -- unsigned long long age_usec; -+ usec_t age_usec; - -- age_usec = now_usec() - event->birth_usec; -+ age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; - if (age_usec >= event->timeout_usec) - timeout = 1000; - else -@@ -862,7 +862,7 @@ int udev_event_execute_rules(struct udev - if (event->dev_db != NULL && udev_device_get_usec_initialized(event->dev_db) > 0) - udev_device_set_usec_initialized(event->dev, udev_device_get_usec_initialized(event->dev_db)); - else if (udev_device_get_usec_initialized(event->dev) == 0) -- udev_device_set_usec_initialized(event->dev, now_usec()); -+ udev_device_set_usec_initialized(event->dev, now(CLOCK_MONOTONIC)); - - /* (re)write database file */ - udev_device_update_db(dev); -Index: systemd-195/src/udev/udev-rules.c -=================================================================== ---- systemd-195.orig/src/udev/udev-rules.c -+++ systemd-195/src/udev/udev-rules.c -@@ -47,7 +47,7 @@ struct uid_gid { - struct udev_rules { - struct udev *udev; - char **dirs; -- unsigned long long *dirs_ts_usec; -+ usec_t *dirs_ts_usec; - int resolve_names; - - /* every key in the rules file becomes a token */ -@@ -1691,7 +1691,7 @@ bool udev_rules_check_timestamp(struct u - if (stat(rules->dirs[i], &stats) < 0) - continue; - -- if (rules->dirs_ts_usec[i] == ts_usec(&stats.st_mtim)) -+ if (rules->dirs_ts_usec[i] == timespec_load(&stats.st_mtim)) - continue; - - /* first check */ -@@ -1701,7 +1701,7 @@ bool udev_rules_check_timestamp(struct u - } - - /* update timestamp */ -- rules->dirs_ts_usec[i] = ts_usec(&stats.st_mtim); -+ rules->dirs_ts_usec[i] = timespec_load(&stats.st_mtim); - } - out: - return changed; -Index: systemd-195/src/udev/udev.h -=================================================================== ---- systemd-195.orig/src/udev/udev.h -+++ systemd-195/src/udev/udev.h -@@ -41,8 +41,8 @@ struct udev_event { - gid_t gid; - struct udev_list run_list; - int exec_delay; -- unsigned long long birth_usec; -- unsigned long long timeout_usec; -+ usec_t birth_usec; -+ usec_t timeout_usec; - int fd_signal; - unsigned int builtin_run; - unsigned int builtin_ret; -Index: systemd-195/src/udev/udevadm-settle.c -=================================================================== ---- systemd-195.orig/src/udev/udevadm-settle.c -+++ systemd-195/src/udev/udevadm-settle.c -@@ -47,9 +47,9 @@ static int adm_settle(struct udev *udev, - { "help", no_argument, NULL, 'h' }, - {} - }; -- unsigned long long start_usec = now_usec(); -- unsigned long long start = 0; -- unsigned long long end = 0; -+ usec_t start_usec = now(CLOCK_MONOTONIC); -+ usec_t start = 0; -+ usec_t end = 0; - int quiet = 0; - const char *exists = NULL; - unsigned int timeout = 120; -@@ -123,7 +123,7 @@ static int adm_settle(struct udev *udev, - start = 0; - end = 0; - } -- log_debug("start=%llu end=%llu current=%llu\n", start, end, kernel_seq); -+ log_debug("start=%llu end=%llu current=%llu\n", (unsigned long long)start, (unsigned long long)end, kernel_seq); - } else { - if (end > 0) { - log_error("seq-end needs seq-start parameter, ignoring\n"); -@@ -199,9 +199,9 @@ static int adm_settle(struct udev *udev, - } - - if (timeout > 0) { -- unsigned long long age_usec; -+ usec_t age_usec; - -- age_usec = now_usec() - start_usec; -+ age_usec = now(CLOCK_MONOTONIC) - start_usec; - if (age_usec / (1000 * 1000) >= timeout) { - struct udev_list_entry *list_entry; - -Index: systemd-195/src/udev/udevd.c -=================================================================== ---- systemd-195.orig/src/udev/udevd.c -+++ systemd-195/src/udev/udevd.c -@@ -122,7 +122,7 @@ struct worker { - struct udev_monitor *monitor; - enum worker_state state; - struct event *event; -- unsigned long long event_start_usec; -+ usec_t event_start_usec; - }; - - /* passed from worker to main process */ -@@ -378,7 +378,7 @@ out: - worker->monitor = worker_monitor; - worker->pid = pid; - worker->state = WORKER_RUNNING; -- worker->event_start_usec = now_usec(); -+ worker->event_start_usec = now(CLOCK_MONOTONIC); - worker->event = event; - event->state = EVENT_RUNNING; - udev_list_node_append(&worker->node, &worker_list); -@@ -409,7 +409,7 @@ static void event_run(struct event *even - worker_ref(worker); - worker->event = event; - worker->state = WORKER_RUNNING; -- worker->event_start_usec = now_usec(); -+ worker->event_start_usec = now(CLOCK_MONOTONIC); - event->state = EVENT_RUNNING; - return; - } -@@ -1381,7 +1381,7 @@ int main(int argc, char *argv[]) - udev_list_node_init(&worker_list); - - for (;;) { -- static unsigned long long last_usec; -+ static usec_t last_usec; - struct epoll_event ev[8]; - int fdcount; - int timeout; -@@ -1452,7 +1452,7 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now_usec() - worker->event_start_usec) > 30 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { - log_error("worker [%u] %s timeout; kill it\n", worker->pid, - worker->event ? worker->event->devpath : ""); - kill(worker->pid, SIGKILL); -@@ -1486,13 +1486,13 @@ int main(int argc, char *argv[]) - } - - /* check for changed config, every 3 seconds at most */ -- if ((now_usec() - last_usec) > 3 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * 1000 * 1000) { - if (udev_rules_check_timestamp(rules)) - reload = true; - if (udev_builtin_validate(udev)) - reload = true; - -- last_usec = now_usec(); -+ last_usec = now(CLOCK_MONOTONIC); - } - - /* reload requested, HUP signal received, rules changed, builtin changed */ -@@ -1512,7 +1512,7 @@ int main(int argc, char *argv[]) - - dev = udev_monitor_receive_device(monitor); - if (dev != NULL) { -- udev_device_set_usec_initialized(dev, now_usec()); -+ udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); - if (rules == NULL) - rules = udev_rules_new(udev, resolve_names); - if (event_queue_insert(dev) < 0) diff --git a/1018-keymap-add-aditional-support.patch b/1018-keymap-add-aditional-support.patch deleted file mode 100644 index f277245b..00000000 --- a/1018-keymap-add-aditional-support.patch +++ /dev/null @@ -1,59 +0,0 @@ -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -2246,6 +2246,8 @@ dist_udevkeymap_DATA = \ - keymaps/hewlett-packard-presario-2100 \ - keymaps/hewlett-packard-tablet \ - keymaps/hewlett-packard-tx2 \ -+ keymaps/hewlett-packard_elitebook-8440p \ -+ keymaps/hewlett-packard-hdx9494nr \ - keymaps/ibm-thinkpad-usb-keyboard-trackpoint \ - keymaps/inventec-symphony_6.0_7.0 \ - keymaps/lenovo-3000 \ -Index: systemd-195/keymaps/hewlett-packard-hdx9494nr -=================================================================== ---- /dev/null -+++ systemd-195/keymaps/hewlett-packard-hdx9494nr -@@ -0,0 +1,3 @@ -+0xB2 www # FnF3 -+0xD8 f23 # touchpad off -+0xD9 f22 # touchpad on -Index: systemd-195/keymaps/hewlett-packard_elitebook-8440p -=================================================================== ---- /dev/null -+++ systemd-195/keymaps/hewlett-packard_elitebook-8440p -@@ -0,0 +1,5 @@ -+0x88 www -+0xA0 mute -+0xAE volumedown -+0xB0 volumeup -+0xEC mail -Index: systemd-195/src/udev/keymap/95-keyboard-force-release.rules -=================================================================== ---- systemd-195.orig/src/udev/keymap/95-keyboard-force-release.rules -+++ systemd-195/src/udev/keymap/95-keyboard-force-release.rules -@@ -42,7 +42,7 @@ ENV{DMI_VENDOR}=="Viooo Corporation", AT - # These are all the HP laptops that setup a touchpad toggle key - ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[pP][aA][vV][iI][lL][iI][oO][nN]*", RUN+="keyboard-force-release.sh $devpath hp-other" - ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keyboard-force-release.sh $devpath hp-other" --ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC", RUN+="keyboard-force-release.sh $devpath hp-other" -+ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC|HDX9494NR", RUN+="keyboard-force-release.sh $devpath hp-other" - - ENV{DMI_VENDOR}=="Zepto", ATTR{[dmi/id]product_name}=="Znote 6615WD", RUN+="keyboard-force-release.sh $devpath common-volume-keys" - -Index: systemd-195/src/udev/keymap/95-keymap.rules -=================================================================== ---- systemd-195.orig/src/udev/keymap/95-keymap.rules -+++ systemd-195/src/udev/keymap/95-keymap.rules -@@ -96,7 +96,9 @@ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATT - ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keymap $name hewlett-packard-tx2" - ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="Presario 2100*", RUN+="keymap $name hewlett-packard-presario-2100" - ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP G62 Notebook PC", RUN+="keymap $name 0xB2 www" --ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill" -+ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill 0xB2 www" -+ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP EliteBook 8440p", RUN+="keymap $name hewlett-packard_elitebook-8440p" -+ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HDX9494NR", RUN+="keymap $name hewlett-packard-hdx9494nr" - # HP Pavillion dv6315ea has empty DMI_VENDOR - ATTR{[dmi/id]board_vendor}=="Quanta", ATTR{[dmi/id]board_name}=="30B7", ATTR{[dmi/id]board_version}=="65.2B", RUN+="keymap $name 0x88 media" # "quick play - diff --git a/1019-udev-Fix-device-matching-in-the-accelerometer.patch b/1019-udev-Fix-device-matching-in-the-accelerometer.patch deleted file mode 100644 index 16f930a4..00000000 --- a/1019-udev-Fix-device-matching-in-the-accelerometer.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 1d010426c01044350b2b32d8b3af5d064f7dfe27 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Thu, 10 Jan 2013 14:23:23 +0100 -Subject: [PATCH] udev: Fix device matching in the accelerometer - -As we were searching by ID_PATH, it would have been possible -for us to find a sibling device instead of the device we were -looking for. - -This fixes device matching on the WeTab with the upstream kernel, -as it was trying to use the "Asus Laptop extra buttons" device -instead of the accelerometer. ---- - src/udev/accelerometer/accelerometer.c | 11 +---------- - 1 files changed, 1 insertions(+), 10 deletions(-) - -diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c -index 21f5193..2fea388 100644 ---- a/src/udev/accelerometer/accelerometer.c -+++ b/src/udev/accelerometer/accelerometer.c -@@ -257,7 +257,6 @@ int main (int argc, char** argv) - - char devpath[PATH_MAX]; - char *devnode; -- const char *id_path; - struct udev_enumerate *enumerate; - struct udev_list_entry *list_entry; - -@@ -303,18 +302,10 @@ int main (int argc, char** argv) - return 1; - } - -- id_path = udev_device_get_property_value(dev, "ID_PATH"); -- if (id_path == NULL) { -- fprintf (stderr, "unable to get property ID_PATH for '%s'", devpath); -- return 0; -- } -- - /* Get the children devices and find the devnode */ -- /* FIXME: use udev_enumerate_add_match_parent() instead */ - devnode = NULL; - enumerate = udev_enumerate_new(udev); -- udev_enumerate_add_match_property(enumerate, "ID_PATH", id_path); -- udev_enumerate_add_match_subsystem(enumerate, "input"); -+ udev_enumerate_add_match_parent(enumerate, dev); - udev_enumerate_scan_devices(enumerate); - udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(enumerate)) { - struct udev_device *device; --- -1.7.7 - diff --git a/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch b/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch deleted file mode 100644 index ad6d27b2..00000000 --- a/1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 2ffcfb9b45262271019d1751cafc895c3dae8f0e Mon Sep 17 00:00:00 2001 -From: Robert Milasan -Date: Sun, 10 Feb 2013 11:00:20 +0100 -Subject: [PATCH] usb_id: some strange devices have a very bogus or strange serial - numer, making a mess in /dev/disk/by-id. Let's check if the - serial number is a valid, otherwise don't use it. - ---- - src/udev/udev-builtin-usb_id.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -Index: systemd-195/src/udev/udev-builtin-usb_id.c -=================================================================== ---- systemd-195.orig/src/udev/udev-builtin-usb_id.c -+++ systemd-195/src/udev/udev-builtin-usb_id.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -31,6 +32,26 @@ - - #include "udev.h" - -+static bool valid_string(const char *str) -+{ -+ const char *s; -+ -+ if (!str) -+ return false; -+ -+ for (s = str; *s != '\0'; s++) { -+ if ((*s >= 'a' && *s <= 'z') || -+ (*s >= 'A' && *s <= 'Z') || -+ (*s >= '0' && *s <= '9') || -+ *s == '-' || *s == '_') -+ continue; -+ else -+ return false; -+ } -+ -+ return true; -+} -+ - static void set_usb_iftype(char *to, int if_class_num, size_t len) - { - const char *type = "generic"; -@@ -428,10 +449,10 @@ fallback: - } - - if (serial_str[0] == '\0') { -- const char *usb_serial; -+ const char *usb_serial = NULL; - - usb_serial = udev_device_get_sysattr_value(dev_usb, "serial"); -- if (usb_serial) { -+ if (valid_string(usb_serial)) { - util_replace_whitespace(usb_serial, serial_str, sizeof(serial_str)-1); - util_replace_chars(serial_str, NULL); - } diff --git a/1021-create-default-links-for-primary-cd_dvd-drive.patch b/1021-create-default-links-for-primary-cd_dvd-drive.patch index d44af024..c66a9da0 100644 --- a/1021-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1021-create-default-links-for-primary-cd_dvd-drive.patch @@ -1,8 +1,17 @@ -Index: systemd-195/rules/60-cdrom_id.rules -=================================================================== ---- systemd-195.orig/rules/60-cdrom_id.rules -+++ systemd-195/rules/60-cdrom_id.rules -@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr +From: Robert Milasan +Date: Tue, 12 Feb 2013 09:16:23 +0000 +Subject: create default links for primary cd_dvd drive + +cdrom_id: created links for the default cd/dvd drive (bnc#783054). +--- + rules/60-cdrom_id.rules | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/rules/60-cdrom_id.rules b/rules/60-cdrom_id.rules +index 6eaf76a..ec0b19a 100644 +--- a/rules/60-cdrom_id.rules ++++ b/rules/60-cdrom_id.rules +@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr # enable the receiving of media eject button events IMPORT{program}="cdrom_id --lock-media $devnode" diff --git a/1022-udev-use-unique-names-for-temporary-files-created-in.patch b/1022-udev-use-unique-names-for-temporary-files-created-in.patch deleted file mode 100644 index a3516edb..00000000 --- a/1022-udev-use-unique-names-for-temporary-files-created-in.patch +++ /dev/null @@ -1,57 +0,0 @@ -Index: systemd-195/src/udev/udev-node.c -=================================================================== ---- systemd-195.orig/src/udev/udev-node.c -+++ systemd-195/src/udev/udev-node.c -@@ -31,15 +31,13 @@ - - #include "udev.h" - --#define TMP_FILE_EXT ".udev-tmp" -- --static int node_symlink(struct udev *udev, const char *node, const char *slink) -+static int node_symlink(struct udev_device *dev, const char *node, const char *slink) - { - struct stat stats; - char target[UTIL_PATH_SIZE]; - char *s; - size_t l; -- char slink_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)]; -+ char slink_tmp[UTIL_PATH_SIZE + 32]; - int i = 0; - int tail = 0; - int err = 0; -@@ -101,7 +99,7 @@ static int node_symlink(struct udev *ude - } - - log_debug("atomically replace '%s'\n", slink); -- util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, TMP_FILE_EXT, NULL); -+ util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, ".tmp-", udev_device_get_id_filename(dev), NULL); - unlink(slink_tmp); - do { - err = mkdir_parents_label(slink_tmp, 0755); -@@ -204,7 +202,7 @@ static void link_update(struct udev_devi - util_delete_path(udev, slink); - } else { - log_debug("creating link '%s' to '%s'\n", slink, target); -- node_symlink(udev, target, slink); -+ node_symlink(dev, target, slink); - } - - if (add) { -@@ -304,7 +302,6 @@ out: - - void udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid) - { -- struct udev *udev = udev_device_get_udev(dev); - char filename[UTIL_PATH_SIZE]; - struct udev_list_entry *list_entry; - -@@ -318,7 +315,7 @@ void udev_node_add(struct udev_device *d - snprintf(filename, sizeof(filename), "/dev/%s/%u:%u", - strcmp(udev_device_get_subsystem(dev), "block") == 0 ? "block" : "char", - major(udev_device_get_devnum(dev)), minor(udev_device_get_devnum(dev))); -- node_symlink(udev, udev_device_get_devnode(dev), filename); -+ node_symlink(dev, udev_device_get_devnode(dev), filename); - - /* create/update symlinks, add symlinks to name index */ - udev_list_entry_foreach(list_entry, udev_device_get_devlinks_list_entry(dev)) diff --git a/1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch b/1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch deleted file mode 100644 index 54036570..00000000 --- a/1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a0ec302b9309bc56f6bed6162e47ad6c27165747 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 12 Feb 2013 15:19:38 +0100 -Subject: [PATCH] cdrom_id: add data track count for bad virtual drive - implementations -Organization: SUSE Linux - -/# /lib/udev/cdrom_id --debug /dev/sr0 -probing: '/dev/sr0' -INQUIRY: [AMI ][Virtual CDROM ][1.00] -GET CONFIGURATION failed with SK=5h/ASC=20h/ACQ=00h -drive is pre-MMC2 and does not support 46h get configuration command -trying to work around the problem -READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h -no current profile, but disc is present; assuming CD-ROM -READ TOC: len: 12, start track: 1, end track: 1 -last track 1 starts at block 0 -READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h -ID_CDROM=1 -ID_CDROM_MEDIA=1 -ID_CDROM_MEDIA_CD=1 - -What is missing here is ID_CDROM_MEDIA_TRACK_COUNT_DATA to trigger -blkid in /lib/udev/rules.d/60-persistent-storage.rules - -KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", - ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", - ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ - IMPORT{builtin}="blkid --noraid" - -Signed-off-by: Robert Milasan ---- - src/udev/cdrom_id/cdrom_id.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c -index 1056536..b659cc3 100644 ---- a/src/udev/cdrom_id/cdrom_id.c -+++ b/src/udev/cdrom_id/cdrom_id.c -@@ -513,6 +513,8 @@ static int cd_profiles_old_mmc(struct udev *udev, int fd) - if (cd_media == 1) { - log_debug("no current profile, but disc is present; assuming CD-ROM\n"); - cd_media_cd_rom = 1; -+ cd_media_track_count = 1; -+ cd_media_track_count_data = 1; - return 0; - } else { - log_debug("no current profile, assuming no media\n"); --- -1.7.7 - diff --git a/1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch b/1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch deleted file mode 100644 index 08ace924..00000000 --- a/1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 7962afbba9016ea03d9f2987fee341443fcde39d Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 17 Feb 2013 21:16:56 +0100 -Subject: [PATCH] udev: usb_id: parse only 'size' bytes of the 'descriptors' - buffer - -Signed-off-by: Robert Milasan ---- - src/udev/udev-builtin-usb_id.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -Index: systemd-195/src/udev/udev-builtin-usb_id.c -=================================================================== ---- systemd-195.orig/src/udev/udev-builtin-usb_id.c -+++ systemd-195/src/udev/udev-builtin-usb_id.c -@@ -210,7 +210,7 @@ static int dev_if_packed_info(struct ude - pos = 0; - strpos = 0; - ifs_str[0] = '\0'; -- while (pos < sizeof(buf) && strpos+7 < len-2) { -+ while (pos < size && strpos+7 < len-2) { - struct usb_interface_descriptor *desc; - char if_str[8]; - diff --git a/1025-udev-expose-new-ISO9660-properties-from-libblkid.patch b/1025-udev-expose-new-ISO9660-properties-from-libblkid.patch deleted file mode 100644 index 173b3431..00000000 --- a/1025-udev-expose-new-ISO9660-properties-from-libblkid.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ddb5bee15a6ad71e5b596c035c1ee4dc04d5fd2e Mon Sep 17 00:00:00 2001 -From: "Zeeshan Ali (Khattak)" -Date: Sun, 17 Feb 2013 03:21:27 +0200 -Subject: [PATCH] udev: expose new ISO9660 properties from libblkid - -Signed-off-by: Robert Milasan ---- - src/udev/udev-builtin-blkid.c | 16 ++++++++++++++++ - 1 files changed, 16 insertions(+), 0 deletions(-) - -Index: systemd-195/src/udev/udev-builtin-blkid.c -=================================================================== ---- systemd-195.orig/src/udev/udev-builtin-blkid.c -+++ systemd-195/src/udev/udev-builtin-blkid.c -@@ -78,6 +78,22 @@ static void print_property(struct udev_d - } else if (startswith(name, "PART_ENTRY_")) { - util_strscpyl(s, sizeof(s), "ID_", name, NULL); - udev_builtin_add_property(dev, test, s, value); -+ -+ } else if (streq(name, "SYSTEM_ID")) { -+ blkid_encode_string(value, s, sizeof(s)); -+ udev_builtin_add_property(dev, test, "ID_FS_SYSTEM_ID", s); -+ -+ } else if (streq(name, "PUBLISHER_ID")) { -+ blkid_encode_string(value, s, sizeof(s)); -+ udev_builtin_add_property(dev, test, "ID_FS_PUBLISHER_ID", s); -+ -+ } else if (streq(name, "APPLICATION_ID")) { -+ blkid_encode_string(value, s, sizeof(s)); -+ udev_builtin_add_property(dev, test, "ID_FS_APPLICATION_ID", s); -+ -+ } else if (streq(name, "BOOT_SYSTEM_ID")) { -+ blkid_encode_string(value, s, sizeof(s)); -+ udev_builtin_add_property(dev, test, "ID_FS_BOOT_SYSTEM_ID", s); - } - } - diff --git a/1026-re-add-persistent-net.patch b/1026-re-add-persistent-net.patch index 1b05d5ee..dd82550b 100644 --- a/1026-re-add-persistent-net.patch +++ b/1026-re-add-persistent-net.patch @@ -1,7 +1,51 @@ -Index: systemd-195/src/udev/rule_generator/75-persistent-net-generator.rules -=================================================================== +From: Robert Milasan +Date: Wed, 20 Mar 2013 10:14:59 +0000 +Subject: re-add persistent net + +udev: re-add persistent network rules (bnc#809843). +--- + Makefile.am | 10 +- + .../75-persistent-net-generator.rules | 102 +++++++++++++++ + src/udev/rule_generator/rule_generator.functions | 113 ++++++++++++++++ + src/udev/rule_generator/write_net_rules | 145 +++++++++++++++++++++ + 4 files changed, 369 insertions(+), 1 deletion(-) + create mode 100644 src/udev/rule_generator/75-persistent-net-generator.rules + create mode 100644 src/udev/rule_generator/rule_generator.functions + create mode 100644 src/udev/rule_generator/write_net_rules + +diff --git a/Makefile.am b/Makefile.am +index 10609f3..f5e4159 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2287,6 +2287,14 @@ EXTRA_DIST += \ + src/gudev/seed-example.js + + # ------------------------------------------------------------------------------ ++dist_udevhome_SCRIPTS = \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules ++ ++dist_udevrules_DATA += \ ++ src/udev/rule_generator/75-persistent-net-generator.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_KEYMAP + keymap_SOURCES = \ + src/udev/keymap/keymap.c +@@ -2314,7 +2322,7 @@ dist_udevrules_DATA += \ + src/udev/keymap/95-keymap.rules \ + src/udev/keymap/95-keyboard-force-release.rules + +-dist_udevhome_SCRIPTS = \ ++dist_udevhome_SCRIPTS += \ + src/udev/keymap/findkeyboards \ + src/udev/keymap/keyboard-force-release.sh + +diff --git a/src/udev/rule_generator/75-persistent-net-generator.rules b/src/udev/rule_generator/75-persistent-net-generator.rules +new file mode 100644 +index 0000000..4f80573 --- /dev/null -+++ systemd-195/src/udev/rule_generator/75-persistent-net-generator.rules ++++ b/src/udev/rule_generator/75-persistent-net-generator.rules @@ -0,0 +1,102 @@ +# do not edit this file, it will be overwritten on update + @@ -105,10 +149,11 @@ Index: systemd-195/src/udev/rule_generator/75-persistent-net-generator.rules +ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" + +LABEL="persistent_net_generator_end" -Index: systemd-195/src/udev/rule_generator/rule_generator.functions -=================================================================== +diff --git a/src/udev/rule_generator/rule_generator.functions b/src/udev/rule_generator/rule_generator.functions +new file mode 100644 +index 0000000..087bc34 --- /dev/null -+++ systemd-195/src/udev/rule_generator/rule_generator.functions ++++ b/src/udev/rule_generator/rule_generator.functions @@ -0,0 +1,113 @@ +# functions used by the udev rule generator + @@ -223,63 +268,11 @@ Index: systemd-195/src/udev/rule_generator/rule_generator.functions + $([ -e $RULES_FILE ] && echo $RULES_FILE) \ + 2>/dev/null) +} -Index: systemd-195/Makefile.in -=================================================================== ---- systemd-195.orig/Makefile.in -+++ systemd-195/Makefile.in -@@ -1743,7 +1743,9 @@ am_v4l_id_OBJECTS = src/udev/v4l_id/v4l_ - v4l_id_OBJECTS = $(am_v4l_id_OBJECTS) - v4l_id_DEPENDENCIES = libudev.la - am__dist_udevhome_SCRIPTS_DIST = src/udev/keymap/findkeyboards \ -- src/udev/keymap/keyboard-force-release.sh -+ src/udev/keymap/keyboard-force-release.sh \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules - SCRIPTS = $(dist_bin_SCRIPTS) $(dist_udevhome_SCRIPTS) - AM_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -@@ -2051,7 +2053,8 @@ am__dist_udevrules_DATA_DIST = rules/99- - src/udev/keymap/95-keymap.rules \ - src/udev/keymap/95-keyboard-force-release.rules \ - rules/75-probe_mtd.rules src/login/70-uaccess.rules \ -- src/login/70-power-switch.rules -+ src/login/70-power-switch.rules \ -+ src/udev/rule_generator/75-persistent-net-generator.rules - DATA = $(dbusinterface_DATA) $(dist_bashcompletion_DATA) \ - $(dist_dbuspolicy_DATA) $(dist_dbussystemservice_DATA) \ - $(dist_doc_DATA) $(dist_gatewayddocumentroot_DATA) \ -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -2179,6 +2179,14 @@ EXTRA_DIST += \ - - - # ------------------------------------------------------------------------------ -+dist_udevhome_SCRIPTS = \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules -+ -+dist_udevrules_DATA += \ -+ src/udev/rule_generator/75-persistent-net-generator.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_KEYMAP - keymap_SOURCES = \ - src/udev/keymap/keymap.c -@@ -2206,7 +2214,7 @@ dist_udevrules_DATA += \ - src/udev/keymap/95-keymap.rules \ - src/udev/keymap/95-keyboard-force-release.rules - --dist_udevhome_SCRIPTS = \ -+dist_udevhome_SCRIPTS += \ - src/udev/keymap/findkeyboards \ - src/udev/keymap/keyboard-force-release.sh - -Index: systemd-195/src/udev/rule_generator/write_net_rules -=================================================================== +diff --git a/src/udev/rule_generator/write_net_rules b/src/udev/rule_generator/write_net_rules +new file mode 100644 +index 0000000..fad1cc5 --- /dev/null -+++ systemd-195/src/udev/rule_generator/write_net_rules ++++ b/src/udev/rule_generator/write_net_rules @@ -0,0 +1,145 @@ +#!/bin/sh -e + diff --git a/1027-udev-always-rename-network.patch b/1027-udev-always-rename-network.patch new file mode 100644 index 00000000..d6d56edd --- /dev/null +++ b/1027-udev-always-rename-network.patch @@ -0,0 +1,77 @@ +From: Robert Milasan +Date: Thu, 28 Mar 2013 09:24:43 +0000 +Subject: udev always rename network + +udev: ensure that the network interfaces are renamed even if they exist +(bnc#809843). +--- + src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 43 insertions(+), 3 deletions(-) + +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index 3db2cb7..3ee9039 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -750,6 +750,7 @@ static int rename_netif(struct udev_event *event) + struct udev_device *dev = event->dev; + int sk; + struct ifreq ifr; ++ int loop; + int err; + + log_debug("changing net interface name from '%s' to '%s'\n", +@@ -766,12 +767,51 @@ static int rename_netif(struct udev_event *event) + strscpy(ifr.ifr_name, IFNAMSIZ, udev_device_get_sysname(dev)); + strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); + err = ioctl(sk, SIOCSIFNAME, &ifr); +- if (err >= 0) { ++ if (err == 0) { + print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); +- } else { ++ goto out; ++ } ++ ++ /* keep trying if the destination interface name already exists */ ++ err = -errno; ++ if (err != -EEXIST) { ++ goto out; ++ } ++ ++ /* free our own name, another process may wait for us */ ++ snprintf(ifr.ifr_newname, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); ++ err = ioctl(sk, SIOCSIFNAME, &ifr); ++ if (err < 0) { + err = -errno; +- log_error("error changing net interface name %s to %s: %m\n", ifr.ifr_name, ifr.ifr_newname); ++ goto out; + } ++ ++ /* log temporary name */ ++ print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); ++ ++ /* wait a maximum of 90 seconds for our target to become available */ ++ strscpy(ifr.ifr_name, IFNAMSIZ, ifr.ifr_newname); ++ strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); ++ loop = 90 * 20; ++ while (loop--) { ++ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; ++ ++ log_debug("wait for netif '%s' to become free, loop=%i\n", event->name, (90 * 20) - loop); ++ nanosleep(&duration, NULL); ++ ++ err = ioctl(sk, SIOCSIFNAME, &ifr); ++ if (err == 0) { ++ print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); ++ break; ++ } ++ err = -errno; ++ if (err != -EEXIST) ++ break; ++ } ++ ++out: ++ if (err < 0) ++ log_error("error changing net interface name %s to %s: %m\n", ifr.ifr_name, ifr.ifr_newname); + close(sk); + return err; + } diff --git a/0001-Add-bootsplash-handling-for-password-dialogs.patch b/Add-bootsplash-handling-for-password-dialogs.patch similarity index 81% rename from 0001-Add-bootsplash-handling-for-password-dialogs.patch rename to Add-bootsplash-handling-for-password-dialogs.patch index 957757ae..bf97901b 100644 --- a/0001-Add-bootsplash-handling-for-password-dialogs.patch +++ b/Add-bootsplash-handling-for-password-dialogs.patch @@ -1,15 +1,17 @@ -From 81eca00461968aac09f9e8535f4327282698b495 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Thu, 16 Dec 2010 11:30:17 +0100 -Subject: [PATCH] Add bootsplash handling for password dialogs +Subject: Add bootsplash handling for password dialogs openSUSE uses bootsplash.org, so add a crude handling for setting the splash screen to verbose when a password is asked... --- -Index: systemd-195/src/shared/ask-password-api.c -=================================================================== ---- systemd-195.orig/src/shared/ask-password-api.c -+++ systemd-195/src/shared/ask-password-api.c + src/shared/ask-password-api.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c +index 4557155..3750f64 100644 +--- a/src/shared/ask-password-api.c ++++ b/src/shared/ask-password-api.c @@ -63,6 +63,9 @@ int ask_password_tty( bool reset_tty = false; bool silent_mode = false; @@ -40,7 +42,7 @@ Index: systemd-195/src/shared/ask-password-api.c } zero(pollfd); -@@ -240,6 +256,12 @@ finish: +@@ -239,6 +255,12 @@ finish: close_nointr_nofail(ttyfd); } diff --git a/Ensure-debugshell-has-a-correct-value.patch b/Ensure-debugshell-has-a-correct-value.patch new file mode 100644 index 00000000..0babbb0d --- /dev/null +++ b/Ensure-debugshell-has-a-correct-value.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +Date: Tue, 4 Dec 2012 16:51:32 +0000 +Subject: Ensure debugshell has a correct value + +use /bin/bash if sushell isn't installed (bnc#789052). +--- + units/debug-shell.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/debug-shell.service.in b/units/debug-shell.service.in +index a6acad3..64b5e0d 100644 +--- a/units/debug-shell.service.in ++++ b/units/debug-shell.service.in +@@ -13,7 +13,7 @@ IgnoreOnIsolate=yes + + [Service] + Environment=TERM=linux +-ExecStart=@SUSHELL@ ++ExecStart=/bin/bash -c '[ -x @SUSHELL@ ] && exec @SUSHELL@ || exec /bin/bash' + Restart=always + RestartSec=0 + StandardInput=tty diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch new file mode 100644 index 00000000..2cc1bb48 --- /dev/null +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -0,0 +1,39 @@ +From: Frederic Crozat +Date: Wed, 7 Dec 2011 15:15:07 +0000 +Subject: Fix /run/lock directories permissions to follow openSUSE policy + +disable /var/lock/{subsys,lockdev} and change default permissions on +/var/lock (bnc#733523). +--- + tmpfiles.d/legacy.conf | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf +index 3fff347..81d5e47 100644 +--- a/tmpfiles.d/legacy.conf ++++ b/tmpfiles.d/legacy.conf +@@ -10,12 +10,13 @@ + # These files are considered legacy and are unnecessary on legacy-free + # systems. + +-d /run/lock 0755 root root - ++# changed for openSUSE : only /run/lock should be available ++d /run/lock 0775 root lock - + + # /run/lock/subsys is used for serializing SysV service execution, and + # hence without use on SysV-less systems. + +-d /run/lock/subsys 0755 root root - ++#d /run/lock/subsys 0755 root root - + + # /run/lock/lockdev is used to serialize access to tty devices via + # LCK..xxx style lock files, For more information see: +@@ -23,7 +24,7 @@ d /run/lock/subsys 0755 root root - + # On modern systems a BSD file lock is a better choice if + # serialization is needed on those devices. + +-d /run/lock/lockdev 0775 root lock - ++#d /run/lock/lockdev 0775 root lock - + + # /forcefsck, /fastboot and /forcequotecheck are deprecated in favor of the + # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and diff --git a/forward-to-pmutils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch similarity index 71% rename from forward-to-pmutils.patch rename to Forward-suspend-hibernate-calls-to-pm-utils.patch index 2a40213d..8abce1db 100644 --- a/forward-to-pmutils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -1,7 +1,16 @@ -Index: systemd-195/src/sleep/sleep.c -=================================================================== ---- systemd-195.orig/src/sleep/sleep.c -+++ systemd-195/src/sleep/sleep.c +From: Frederic Crozat +Date: Tue, 19 Feb 2013 11:20:31 +0100 +Subject: Forward suspend / hibernate calls to pm-utils + +forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) +--- + src/sleep/sleep.c | 27 ++++++++++++++++++++++++--- + 1 file changed, 24 insertions(+), 3 deletions(-) + +diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c +index f5e78c1..8d91117 100644 +--- a/src/sleep/sleep.c ++++ b/src/sleep/sleep.c @@ -22,6 +22,7 @@ #include #include @@ -10,7 +19,7 @@ Index: systemd-195/src/sleep/sleep.c #include "log.h" #include "util.h" -@@ -31,6 +32,9 @@ +@@ -32,6 +33,9 @@ int main(int argc, char *argv[]) { const char *verb; char* arguments[4]; @@ -20,7 +29,7 @@ Index: systemd-195/src/sleep/sleep.c int r; FILE *f; -@@ -44,17 +48,27 @@ int main(int argc, char *argv[]) { +@@ -45,17 +49,27 @@ int main(int argc, char *argv[]) { goto finish; } @@ -48,10 +57,10 @@ Index: systemd-195/src/sleep/sleep.c /* Configure the hibernation mode */ + if (!delegate_to_pmutils) { if (streq(argv[1], "hibernate")) { - if (write_one_line_file("/sys/power/disk", "platform") < 0) - write_one_line_file("/sys/power/disk", "shutdown"); -@@ -64,13 +78,14 @@ int main(int argc, char *argv[]) { - write_one_line_file("/sys/power/disk", "shutdown"); + if (write_string_file("/sys/power/disk", "platform") < 0) + write_string_file("/sys/power/disk", "shutdown"); +@@ -65,13 +79,14 @@ int main(int argc, char *argv[]) { + write_string_file("/sys/power/disk", "shutdown"); } + @@ -66,7 +75,7 @@ Index: systemd-195/src/sleep/sleep.c arguments[0] = NULL; arguments[1] = (char*) "pre"; arguments[2] = argv[1]; -@@ -96,11 +111,16 @@ int main(int argc, char *argv[]) { +@@ -97,11 +112,16 @@ int main(int argc, char *argv[]) { "SLEEP=hybrid-sleep", NULL); @@ -83,7 +92,7 @@ Index: systemd-195/src/sleep/sleep.c if (streq(argv[1], "suspend")) log_struct(LOG_INFO, -@@ -118,6 +138,7 @@ int main(int argc, char *argv[]) { +@@ -119,6 +139,7 @@ int main(int argc, char *argv[]) { arguments[1] = (char*) "post"; execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments); diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch new file mode 100644 index 00000000..2432288a --- /dev/null +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -0,0 +1,140 @@ +From: Frederic Crozat +Date: Fri, 12 Apr 2013 16:56:26 +0200 +Subject: Revert "service: drop support for SysV scripts for the early boot" + +This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. + +Conflicts: + src/core/service.c +--- + src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 46 insertions(+), 5 deletions(-) + +diff --git a/src/core/service.c b/src/core/service.c +index c13ff35..0b39ec6 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -51,7 +51,8 @@ + + typedef enum RunlevelType { + RUNLEVEL_UP, +- RUNLEVEL_DOWN ++ RUNLEVEL_DOWN, ++ RUNLEVEL_SYSINIT + } RunlevelType; + + static const struct { +@@ -66,6 +67,16 @@ static const struct { + { "rc4.d", SPECIAL_RUNLEVEL4_TARGET, RUNLEVEL_UP }, + { "rc5.d", SPECIAL_RUNLEVEL5_TARGET, RUNLEVEL_UP }, + ++#ifdef TARGET_SUSE ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++#endif ++ ++#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) ++ /* Debian style rcS.d */ ++ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++#endif ++ + /* Standard SysV runlevels for shutdown */ + { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN }, + { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN } +@@ -74,10 +85,12 @@ static const struct { + directories in this order, and we want to make sure that + sysv_start_priority is known when we first load the + unit. And that value we only know from S links. Hence +- UP must be read before DOWN */ ++ UP/SYSINIT must be read before DOWN */ + }; + + #define RUNLEVELS_UP "12345" ++/* #define RUNLEVELS_DOWN "06" */ ++#define RUNLEVELS_BOOT "bBsS" + #endif + + static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { +@@ -332,6 +345,9 @@ static char *sysv_translate_name(const char *name) { + if (endswith(name, ".sh")) + /* Drop .sh suffix */ + strcpy(stpcpy(r, name) - 3, ".service"); ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ strcpy(stpcpy(r, name + 5), ".service"); + else + /* Normal init script name */ + strcpy(stpcpy(r, name), ".service"); +@@ -934,6 +950,13 @@ static int service_load_sysv_path(Service *s, const char *path) { + + if ((r = sysv_exec_commands(s, supports_reload)) < 0) + goto finish; ++ if (s->sysv_runlevels && ++ chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels) && ++ chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { ++ /* Service has both boot and "up" runlevels ++ configured. Kill the "up" ones. */ ++ delete_chars(s->sysv_runlevels, RUNLEVELS_UP); ++ } + + if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { + /* If there a runlevels configured for this service +@@ -1015,6 +1038,9 @@ static int service_load_sysv_name(Service *s, const char *name) { + if (endswith(name, ".sh.service")) + return -ENOENT; + ++ if (startswith(name, "boot.")) ++ return -ENOENT; ++ + STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { + char *path; + int r; +@@ -1035,6 +1061,18 @@ static int service_load_sysv_name(Service *s, const char *name) { + } + free(path); + ++ if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) { ++ /* Try SUSE style boot.* init scripts */ ++ ++ path = strjoin(*p, "/boot.", name, NULL); ++ if (!path) ++ return -ENOMEM; ++ ++ /* Drop .service suffix */ ++ path[strlen(path)-8] = 0; ++ r = service_load_sysv_path(s, path); ++ free(path); ++ } + if (r < 0) + return r; + +@@ -3661,7 +3699,7 @@ static int service_enumerate(Manager *m) { + + if (de->d_name[0] == 'S') { + +- if (rcnd_table[i].type == RUNLEVEL_UP) { ++ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) { + SERVICE(service)->sysv_start_priority_from_rcnd = + MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); + +@@ -3678,7 +3716,8 @@ static int service_enumerate(Manager *m) { + goto finish; + + } else if (de->d_name[0] == 'K' && +- (rcnd_table[i].type == RUNLEVEL_DOWN)) { ++ (rcnd_table[i].type == RUNLEVEL_DOWN || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { + + r = set_ensure_allocated(&shutdown_services, + trivial_hash_func, trivial_compare_func); +@@ -3718,7 +3757,9 @@ static int service_enumerate(Manager *m) { + * runlevels we assume the stop jobs will be implicitly added + * by the core logic. Also, we don't really distinguish here + * between the runlevels 0 and 6 and just add them to the +- * special shutdown target. */ ++ * special shutdown target. On SUSE the boot.d/ runlevel is ++ * also used for shutdown, so we add links for that too to the ++ * shutdown target.*/ + SET_FOREACH(service, shutdown_services, j) { + service = unit_follow_merge(service); + diff --git a/agetty-overrides-term.patch b/agetty-overrides-term.patch deleted file mode 100644 index 84f3ff26..00000000 --- a/agetty-overrides-term.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2161de72c517d34d1ceb9b4c1a300f0b54ce5a9c Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Mon, 29 Oct 2012 21:59:34 +0100 -Subject: [PATCH] units: agetty overrides TERM - -Environment=TERM=... has no effect on agetty who sets it by itself. To -really set TERM to a specified value, it has to be given on the command -line. - -https://bugzilla.redhat.com/show_bug.cgi?id=870622 ---- - units/getty@.service.m4 | 3 +-- - units/serial-getty@.service.m4 | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -Index: systemd-195/units/getty@.service.m4 -=================================================================== ---- systemd-195.orig/units/getty@.service.m4 -+++ systemd-195/units/getty@.service.m4 -@@ -41,9 +41,8 @@ IgnoreOnIsolate=yes - ConditionPathExists=/dev/tty0 - - [Service] --Environment=TERM=linux - # the VT is cleared by TTYVTDisallocate --ExecStart=-/sbin/agetty --noclear %I 38400 -+ExecStart=-/sbin/agetty --noclear %I 38400 linux - Type=idle - Restart=always - RestartSec=0 -Index: systemd-195/units/serial-getty@.service.m4 -=================================================================== ---- systemd-195.orig/units/serial-getty@.service.m4 -+++ systemd-195/units/serial-getty@.service.m4 -@@ -37,8 +37,7 @@ Before=getty.target - IgnoreOnIsolate=yes - - [Service] --Environment=TERM=vt102 --ExecStart=-/sbin/agetty -s %I 115200,38400,9600 -+ExecStart=-/sbin/agetty -s %I 115200,38400,9600 vt102 - Type=idle - Restart=always - RestartSec=0 diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch new file mode 100644 index 00000000..297b5792 --- /dev/null +++ b/allow-multiple-sulogin-to-be-started.patch @@ -0,0 +1,47 @@ +From: Frederic Crozat +Date: Thu, 10 Jan 2013 15:43:25 +0000 +Subject: allow multiple sulogin to be started + +allows multiple sulogin instance (bnc#793182). +--- + units/getty@.service.m4 | 1 + + units/rescue.target | 1 + + units/serial-getty@.service.m4 | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index 083eb97..243fea5 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -9,6 +9,7 @@ + Description=Getty on %I + Documentation=man:agetty(8) man:systemd-getty-generator(8) + Documentation=http://0pointer.de/blog/projects/serial-console.html ++Conflicts=rescue.service + After=systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`HAVE_SYSV_COMPAT', + After=rc-local.service +diff --git a/units/rescue.target b/units/rescue.target +index 3f59b14..20f6841 100644 +--- a/units/rescue.target ++++ b/units/rescue.target +@@ -10,6 +10,7 @@ Description=Rescue Mode + Documentation=man:systemd.special(7) + Requires=sysinit.target rescue.service + After=sysinit.target rescue.service ++Conflicts=getty.target + AllowIsolate=yes + + [Install] +diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 +index 60d7737..2b18dbf 100644 +--- a/units/serial-getty@.service.m4 ++++ b/units/serial-getty@.service.m4 +@@ -10,6 +10,7 @@ Description=Serial Getty on %I + Documentation=man:agetty(8) man:systemd-getty-generator(8) + Documentation=http://0pointer.de/blog/projects/serial-console.html + BindsTo=dev-%i.device ++Conflicts=rescue.service + After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`HAVE_SYSV_COMPAT', + After=rc-local.service diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch new file mode 100644 index 00000000..5d5f7b83 --- /dev/null +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -0,0 +1,23 @@ +From: Ludwig Nussel +Date: Mon, 8 Apr 2013 14:51:47 +0200 +Subject: apply ACL for nvidia device nodes + +set ACL on nvidia devices (bnc#808319). +--- + src/login/logind-acl.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c +index cb045a9..51093f2 100644 +--- a/src/login/logind-acl.c ++++ b/src/login/logind-acl.c +@@ -240,6 +240,9 @@ int devnode_acl_all(struct udev *udev, + goto finish; + } + ++ devnode_acl("/dev/nvidia0", flush, del, old_uid, add, new_uid); ++ devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid); ++ + finish: + if (e) + udev_enumerate_unref(e); diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch new file mode 100644 index 00000000..b184dde6 --- /dev/null +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -0,0 +1,38 @@ +From: Ludwig Nussel +Date: Mon, 26 Nov 2012 09:49:42 +0100 +Subject: avoid assertion if invalid address familily is passed to + gethostbyaddr_r (bnc#791101) + +--- + src/nss-myhostname/nss-myhostname.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c +index 16ccb3e..884eb99 100644 +--- a/src/nss-myhostname/nss-myhostname.c ++++ b/src/nss-myhostname/nss-myhostname.c +@@ -383,6 +383,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( + struct address *a; + unsigned n_addresses = 0, n; + ++ if (af != AF_INET && af != AF_INET6) { ++ *errnop = EAFNOSUPPORT; ++ *h_errnop = NO_DATA; ++ return NSS_STATUS_UNAVAIL; ++ } ++ + if (len != PROTO_ADDRESS_SIZE(af)) { + *errnop = EINVAL; + *h_errnop = NO_RECOVERY; +@@ -398,11 +404,6 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( + + if (memcmp(addr, LOCALADDRESS_IPV6, 16) == 0) + goto found; +- +- } else { +- *errnop = EAFNOSUPPORT; +- *h_errnop = NO_DATA; +- return NSS_STATUS_UNAVAIL; + } + + ifconf_acquire_addresses(&addresses, &n_addresses); diff --git a/baselibs.conf b/baselibs.conf index e1e7047d..c06fbf45 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -4,3 +4,4 @@ systemd libudev0 libgudev-1_0-0 libudev1 +nss-myhostname diff --git a/check-for-empty-strings-in-strto-conversions.patch b/check-for-empty-strings-in-strto-conversions.patch deleted file mode 100644 index ce49372e..00000000 --- a/check-for-empty-strings-in-strto-conversions.patch +++ /dev/null @@ -1,92 +0,0 @@ -From f3910003bce32ebdc1dbb71fd9ca2d4b8352b563 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 30 Oct 2012 10:29:40 +0100 -Subject: [PATCH] shared, libsystemd-daemon: check for empty strings in - strto*l conversions - -strtol() and friends may set EINVAL if no conversion was performed, but -they are not required to do so. In practice they don't. We need to check -for it. - -https://bugzilla.redhat.com/show_bug.cgi?id=870577 ---- - src/libsystemd-daemon/sd-daemon.c | 4 ++-- - src/shared/conf-parser.c | 2 +- - src/shared/util.c | 8 ++++---- - 3 files changed, 7 insertions(+), 7 deletions(-) - -Index: systemd-195/src/libsystemd-daemon/sd-daemon.c -=================================================================== ---- systemd-195.orig/src/libsystemd-daemon/sd-daemon.c -+++ systemd-195/src/libsystemd-daemon/sd-daemon.c -@@ -88,7 +88,7 @@ _sd_export_ int sd_listen_fds(int unset_ - goto finish; - } - -- if (!p || *p || l <= 0) { -+ if (!p || p == e || *p || l <= 0) { - r = -EINVAL; - goto finish; - } -@@ -112,7 +112,7 @@ _sd_export_ int sd_listen_fds(int unset_ - goto finish; - } - -- if (!p || *p) { -+ if (!p || p == e || *p) { - r = -EINVAL; - goto finish; - } -Index: systemd-195/src/shared/conf-parser.c -=================================================================== ---- systemd-195.orig/src/shared/conf-parser.c -+++ systemd-195/src/shared/conf-parser.c -@@ -865,7 +865,7 @@ int config_parse_mode( - - errno = 0; - l = strtol(rvalue, &x, 8); -- if (!x || *x || errno) { -+ if (!x || x == rvalue || *x || errno) { - log_error("[%s:%u] Failed to parse mode value, ignoring: %s", filename, line, rvalue); - return 0; - } -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -388,7 +388,7 @@ int safe_atou(const char *s, unsigned *r - errno = 0; - l = strtoul(s, &x, 0); - -- if (!x || *x || errno) -+ if (!x || x == s || *x || errno) - return errno ? -errno : -EINVAL; - - if ((unsigned long) (unsigned) l != l) -@@ -408,7 +408,7 @@ int safe_atoi(const char *s, int *ret_i) - errno = 0; - l = strtol(s, &x, 0); - -- if (!x || *x || errno) -+ if (!x || x == s || *x || errno) - return errno ? -errno : -EINVAL; - - if ((long) (int) l != l) -@@ -428,7 +428,7 @@ int safe_atollu(const char *s, long long - errno = 0; - l = strtoull(s, &x, 0); - -- if (!x || *x || errno) -+ if (!x || x == s || *x || errno) - return errno ? -errno : -EINVAL; - - *ret_llu = l; -@@ -445,7 +445,7 @@ int safe_atolli(const char *s, long long - errno = 0; - l = strtoll(s, &x, 0); - -- if (!x || *x || errno) -+ if (!x || x == s || *x || errno) - return errno ? -errno : -EINVAL; - - *ret_lli = l; diff --git a/core-interpret-escaped-semicolon-as-escaped.patch b/core-interpret-escaped-semicolon-as-escaped.patch deleted file mode 100644 index 945514a7..00000000 --- a/core-interpret-escaped-semicolon-as-escaped.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 7e1a84f55244ca78093b1dabc58683bc0e7f4304 Mon Sep 17 00:00:00 2001 -From: Oleksii Shevchuk -Date: Sat, 3 Nov 2012 21:52:02 +0200 -Subject: [PATCH] core: interpret \; token in ExecStart as escaped ; - -Some commands (like 'find') take a semicolon as separate arg. With -current parser implementation there is no way to pass one. - -Patch adds token \; ---- - src/core/load-fragment.c | 2 ++ - src/test/test-unit-file.c | 10 ++++++++++ - 2 files changed, 12 insertions(+) - -diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c -index 5803044..4dc5c52 100644 ---- a/src/core/load-fragment.c -+++ b/src/core/load-fragment.c -@@ -483,6 +483,8 @@ int config_parse_exec( - FOREACH_WORD_QUOTED(w, l, rvalue, state) { - if (strncmp(w, ";", MAX(l, 1U)) == 0) - break; -+ else if (strncmp(w, "\\;", MAX(l, 1U)) == 0) -+ w ++; - - if (honour_argv0 && w == rvalue) { - assert(!path); --- -1.7.10.4 - diff --git a/core-load-fragment-improve-error-message.patch b/core-load-fragment-improve-error-message.patch deleted file mode 100644 index 850698dd..00000000 --- a/core-load-fragment-improve-error-message.patch +++ /dev/null @@ -1,207 +0,0 @@ -From c040936be2a4c77e9465cffae47d77d5ec14fb49 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 19 Nov 2012 16:02:45 +0100 -Subject: [PATCH] core/load-fragment: be more precise in error messages - -Whenever a message fails, mention the offending word, instead -of just giving the whole line. If one bad word causes just this -word to be rejected, print only the word. If one bad word causes -the whole line to be rejected, print the whole line too. - -https://bugs.freedesktop.org/show_bug.cgi?id=56874 ---- - src/core/load-fragment.c | 69 +++++++++++++++++++++------------------------- - 1 file changed, 31 insertions(+), 38 deletions(-) - -Index: systemd-195/src/core/load-fragment.c -=================================================================== ---- systemd-195.orig/src/core/load-fragment.c -+++ systemd-195/src/core/load-fragment.c -@@ -85,7 +85,7 @@ int config_parse_unit_deps( - assert(rvalue); - - FOREACH_WORD_QUOTED(w, l, rvalue, state) { -- char *t, *k; -+ char _cleanup_free_ *t = NULL, *k = NULL; - int r; - - t = strndup(w, l); -@@ -93,15 +93,13 @@ int config_parse_unit_deps( - return -ENOMEM; - - k = unit_name_printf(u, t); -- free(t); - if (!k) - return -ENOMEM; - - r = unit_add_dependency_by_name(u, d, k, NULL, true); - if (r < 0) -- log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", filename, line, k, strerror(-r)); -- -- free(k); -+ log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", -+ filename, line, k, strerror(-r)); - } - - return 0; -@@ -739,22 +737,25 @@ int config_parse_exec_cpu_affinity( - assert(data); - - FOREACH_WORD_QUOTED(w, l, rvalue, state) { -- char *t; -+ char _cleanup_free_ *t = NULL; - int r; - unsigned cpu; - -- if (!(t = strndup(w, l))) -+ t = strndup(w, l); -+ if (!t) - return -ENOMEM; - - r = safe_atou(t, &cpu); -- free(t); - -- if (!(c->cpuset)) -- if (!(c->cpuset = cpu_set_malloc(&c->cpuset_ncpus))) -+ if (!c->cpuset) { -+ c->cpuset = cpu_set_malloc(&c->cpuset_ncpus); -+ if (!c->cpuset) - return -ENOMEM; -+ } - - if (r < 0 || cpu >= c->cpuset_ncpus) { -- log_error("[%s:%u] Failed to parse CPU affinity, ignoring: %s", filename, line, rvalue); -+ log_error("[%s:%u] Failed to parse CPU affinity %s, ignoring: %s", -+ filename, line, t, rvalue); - return 0; - } - -@@ -831,7 +832,8 @@ int config_parse_exec_secure_bits( - else if (first_word(w, "noroot-locked")) - c->secure_bits |= SECURE_NOROOT_LOCKED; - else { -- log_error("[%s:%u] Failed to parse secure bits, ignoring: %s", filename, line, rvalue); -+ log_error("[%s:%u] Failed to parse secure bits, ignoring: %s", -+ filename, line, rvalue); - return 0; - } - } -@@ -872,7 +874,7 @@ int config_parse_bounding_set( - * interface. */ - - FOREACH_WORD_QUOTED(w, l, rvalue, state) { -- char *t; -+ char _cleanup_free_ *t = NULL; - int r; - cap_value_t cap; - -@@ -881,10 +883,9 @@ int config_parse_bounding_set( - return -ENOMEM; - - r = cap_from_name(t, &cap); -- free(t); -- - if (r < 0) { -- log_error("[%s:%u] Failed to parse capability bounding set, ignoring: %s", filename, line, rvalue); -+ log_error("[%s:%u] Failed to parse capability in bounding set, ignoring: %s", -+ filename, line, t); - continue; - } - -@@ -950,7 +951,7 @@ int config_parse_unit_cgroup( - char *state; - - FOREACH_WORD_QUOTED(w, l, rvalue, state) { -- char *t, *k; -+ char _cleanup_free_ *t = NULL, *k = NULL, *ku = NULL; - int r; - - t = strndup(w, l); -@@ -958,22 +959,17 @@ int config_parse_unit_cgroup( - return -ENOMEM; - - k = unit_full_printf(u, t); -- free(t); -- - if (!k) - return -ENOMEM; - -- t = cunescape(k); -- free(k); -- -- if (!t) -+ ku = cunescape(k); -+ if (!ku) - return -ENOMEM; - -- r = unit_add_cgroup_from_text(u, t); -- free(t); -- -+ r = unit_add_cgroup_from_text(u, ku); - if (r < 0) { -- log_error("[%s:%u] Failed to parse cgroup value, ignoring: %s", filename, line, rvalue); -+ log_error("[%s:%u] Failed to parse cgroup value %s, ignoring: %s", -+ filename, line, k, rvalue); - return 0; - } - } -@@ -1333,33 +1329,30 @@ int config_parse_service_sockets( - assert(data); - - FOREACH_WORD_QUOTED(w, l, rvalue, state) { -- char *t, *k; -+ char _cleanup_free_ *t = NULL, *k = NULL; - - t = strndup(w, l); - if (!t) - return -ENOMEM; - - k = unit_name_printf(UNIT(s), t); -- free(t); -- - if (!k) - return -ENOMEM; - - if (!endswith(k, ".socket")) { -- log_error("[%s:%u] Unit must be of type socket, ignoring: %s", filename, line, rvalue); -- free(k); -+ log_error("[%s:%u] Unit must be of type socket, ignoring: %s", -+ filename, line, k); - continue; - } - - r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_WANTS, UNIT_AFTER, k, NULL, true); - if (r < 0) -- log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", filename, line, k, strerror(-r)); -+ log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", -+ filename, line, k, strerror(-r)); - - r = unit_add_dependency_by_name(UNIT(s), UNIT_TRIGGERED_BY, k, NULL, true); - if (r < 0) - return r; -- -- free(k); - } - - return 0; -@@ -2087,17 +2080,17 @@ int config_parse_syscall_filter( - - FOREACH_WORD_QUOTED(w, l, rvalue, state) { - int id; -- char *t; -+ char _cleanup_free_ *t = NULL; - - t = strndup(w, l); - if (!t) - return -ENOMEM; - - id = syscall_from_name(t); -- free(t); - - if (id < 0) { -- log_error("[%s:%u] Failed to parse syscall, ignoring: %s", filename, line, rvalue); -+ log_error("[%s:%u] Failed to parse syscall, ignoring: %s", -+ filename, line, t); - continue; - } - diff --git a/coredumpctl-fix-crash.patch b/coredumpctl-fix-crash.patch deleted file mode 100644 index 6874e9c1..00000000 --- a/coredumpctl-fix-crash.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 348a25edbb87ee4e67aa79fcb97a2bc1b5c11c7b Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 19 Dec 2012 14:38:53 +0100 -Subject: [PATCH] coredumpctl: check return of strndup - ---- - src/journal/coredumpctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/journal/coredumpctl.c -=================================================================== ---- systemd-195.orig/src/journal/coredumpctl.c -+++ systemd-195/src/journal/coredumpctl.c -@@ -222,7 +222,7 @@ static int retrieve(sd_journal *j, const - assert(len >= field); - - *var = strndup((const char*)data + field, len - field); -- if (!var) -+ if (!*var) - return log_oom(); - - return 0; diff --git a/crypsetup-generator-state-file-name-in-error-message.patch b/crypsetup-generator-state-file-name-in-error-message.patch deleted file mode 100644 index ccb1c895..00000000 --- a/crypsetup-generator-state-file-name-in-error-message.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1cda32b8a29750720872d3525084ac67b88e066f Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 23 Nov 2012 14:16:39 +0100 -Subject: [PATCH] cryptsetup-generator: state file name in error messages - ---- - src/cryptsetup/cryptsetup-generator.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-195/src/cryptsetup/cryptsetup-generator.c -=================================================================== ---- systemd-195.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-195/src/cryptsetup/cryptsetup-generator.c -@@ -230,7 +230,7 @@ static int create_disk( - f = fopen(p, "wxe"); - if (!f) { - r = -errno; -- log_error("Failed to create unit file: %m"); -+ log_error("Failed to create unit file %s: %m", p); - goto fail; - } - -@@ -283,7 +283,7 @@ static int create_disk( - - if (ferror(f)) { - r = -errno; -- log_error("Failed to write file: %m"); -+ log_error("Failed to write file %s: %m", p); - goto fail; - } - diff --git a/crypsetup-handle-nofail.patch b/crypsetup-handle-nofail.patch deleted file mode 100644 index 872c14c1..00000000 --- a/crypsetup-handle-nofail.patch +++ /dev/null @@ -1,29 +0,0 @@ -From adc40dc2f670a6298cce918fb318ba6a4b80c306 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 21 Nov 2012 12:30:47 +0100 -Subject: [PATCH] cryptsetup: fix nofail support - -This was documented in the man page and supported in the generator, -but systemd-cryptestup itself would fail with this option. - -systemd-cryptsetup should ignore 'nofail', as it does with 'noauto'. ---- - src/cryptsetup/cryptsetup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c -index 56a3b50..f332843 100644 ---- a/src/cryptsetup/cryptsetup.c -+++ b/src/cryptsetup/cryptsetup.c -@@ -62,7 +62,7 @@ static int parse_one_option(const char *option) { - assert(option); - - /* Handled outside of this tool */ -- if (streq(option, "noauto")) -+ if (streq(option, "noauto") || streq(option, "nofail")) - return 0; - - if (startswith(option, "cipher=")) { --- -1.7.10.4 - diff --git a/crypt-loop-file.patch b/crypt-loop-file.patch deleted file mode 100644 index 81491c67..00000000 --- a/crypt-loop-file.patch +++ /dev/null @@ -1,90 +0,0 @@ -Index: systemd-195/src/cryptsetup/cryptsetup-generator.c -=================================================================== ---- systemd-195.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-195/src/cryptsetup/cryptsetup-generator.c -@@ -136,7 +136,7 @@ static int create_disk( - const char *password, - const char *options) { - -- char *p = NULL, *n = NULL, *d = NULL, *u = NULL, *from = NULL, *to = NULL, *e = NULL; -+ char *p = NULL, *n = NULL, *d = NULL, *u = NULL, *from = NULL, *to = NULL, *e = NULL, *path_file = NULL; - int r; - FILE *f = NULL; - bool noauto, nofail; -@@ -168,11 +168,63 @@ static int create_disk( - goto fail; - } - -- d = unit_name_from_path(u, ".device"); -- if (!d) { -- r = -ENOMEM; -- log_error("Failed to allocate device name."); -- goto fail; -+ if (!startswith(device,"/dev/")) { -+ char *e; -+ -+ d = strdup(n); -+ if (!d) { -+ r = -ENOMEM; -+ log_error("Failed to allocate path name."); -+ goto fail; -+ } -+ -+ e = endswith(d,".service"); -+ if (!e) { -+ r = -ENOMEM; -+ log_error("Failed to modify path name."); -+ goto fail; -+ } -+ -+ *e = 0; -+ -+ d = strcat(d,".path"); -+ if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) { -+ r = -ENOMEM; -+ log_error("Failed to allocate unit file name."); -+ goto fail; -+ } -+ -+ f = fopen(path_file, "wxe"); -+ if (!f) { -+ r = -errno; -+ log_error("Failed to create unit file %s: %m", path_file); -+ goto fail; -+ } -+ -+ fprintf(f, -+ "[Unit]\n" -+ "Description=Cryptography Setup for %s\n" -+ "DefaultDependencies=no\n" -+ "[Path]\n" -+ "PathExists=%s\n", -+ device, device); -+ -+ fflush(f); -+ -+ if (ferror(f)) { -+ r = -errno; -+ log_error("Failed to write file: %m"); -+ goto fail; -+ } -+ -+ f = NULL; -+ } else { -+ d = unit_name_from_path(u, ".device"); -+ if (!d) { -+ r = -ENOMEM; -+ log_error("Failed to allocate device name."); -+ goto fail; -+ } - } - - f = fopen(p, "wxe"); -@@ -298,6 +350,7 @@ fail: - free(n); - free(d); - free(e); -+ free(path_file); - - free(from); - free(to); diff --git a/cryptsetup-accept-read-only.patch b/cryptsetup-accept-read-only.patch deleted file mode 100644 index 279b4482..00000000 --- a/cryptsetup-accept-read-only.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 18cf1a1be5ae6985f211ec6f02504506da36b223 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 31 Jan 2013 11:03:09 +0100 -Subject: [PATCH] cryptsetup: accept both "read-only" and "readonly" spellings - -Mukund Sivaraman pointed out that cryptsetup(5) mentions the "read-only" -option, while the code understands "readonly". - -We could just fix the manpage, but for consistency in naming of -multi-word options it would be prettier to have "read-only". So let's -accept both spellings. - -BZ: https://bugzilla.redhat.com/show_bug.cgi?id=903463 ---- - man/crypttab.xml | 2 +- - src/cryptsetup/cryptsetup.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/man/crypttab.xml b/man/crypttab.xml -index 2379fc0..f976bda 100644 ---- a/man/crypttab.xml -+++ b/man/crypttab.xml -@@ -182,7 +182,7 @@ - - - -- read-only -+ read-onlyreadonly - - Set up the encrypted - block device in read-only -diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c -index f332843..a8cdf10 100644 ---- a/src/cryptsetup/cryptsetup.c -+++ b/src/cryptsetup/cryptsetup.c -@@ -111,7 +111,7 @@ static int parse_one_option(const char *option) { - return 0; - } - -- } else if (streq(option, "readonly")) -+ } else if (streq(option, "readonly") || streq(option, "read-only")) - opt_readonly = true; - else if (streq(option, "verify")) - opt_verify = true; --- -1.7.10.4 - diff --git a/cryptsetup-handle-plain.patch b/cryptsetup-handle-plain.patch deleted file mode 100644 index 002605f3..00000000 --- a/cryptsetup-handle-plain.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 65343c749441322d1e65e8bb5d433b6fee8c28bf Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Tue, 6 Nov 2012 09:49:27 -0500 -Subject: [PATCH] cryptsetup: hash=plain means don't use a hash - -"plain" is a semantic value that cryptsetup(8) uses to describe a plain -dm-crypt volume that does not use a hash. Catch this value earlier and -ensure that a NULL params.hash is passed to crypt_format to avoid -passing an invalid hash type to the libcryptsetup backend. - -FDO bug #56593. ---- - src/cryptsetup/cryptsetup.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c -index 916509a..e8ba3f0 100644 ---- a/src/cryptsetup/cryptsetup.c -+++ b/src/cryptsetup/cryptsetup.c -@@ -342,7 +342,12 @@ int main(int argc, char *argv[]) { - - opt_tries = opt_tries > 0 ? opt_tries : 3; - opt_key_size = (opt_key_size > 0 ? opt_key_size : 256); -- hash = opt_hash ? opt_hash : "ripemd160"; -+ if (opt_hash) { -+ /* plain isn't a real hash type. it just means "use no hash" */ -+ if (!streq(opt_hash, "plain")) -+ hash = opt_hash; -+ } else -+ hash = "ripemd160"; - - if (opt_cipher) { - size_t l; -@@ -463,7 +468,7 @@ int main(int argc, char *argv[]) { - opt_keyfile_size, - ¶ms); - -- pass_volume_key = streq(hash, "plain"); -+ pass_volume_key = !!hash; - } - - if (k < 0) { --- -1.7.10.4 - -From 8db9d8c2a4ef9806c286e258f9932a0972dc2375 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Tue, 6 Nov 2012 10:17:18 -0500 -Subject: [PATCH] cryptsetup: fix inverted comparison in pass_volume_key - ---- - src/cryptsetup/cryptsetup.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c -index e8ba3f0..56a3b50 100644 ---- a/src/cryptsetup/cryptsetup.c -+++ b/src/cryptsetup/cryptsetup.c -@@ -468,7 +468,8 @@ int main(int argc, char *argv[]) { - opt_keyfile_size, - ¶ms); - -- pass_volume_key = !!hash; -+ /* hash == NULL implies the user passed "plain" */ -+ pass_volume_key = (hash == NULL); - } - - if (k < 0) { --- -1.7.10.4 - diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch new file mode 100644 index 00000000..4cf66998 --- /dev/null +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -0,0 +1,34 @@ +From: Frederic Crozat +Date: Wed, 9 Nov 2011 11:10:49 +0100 +Subject: delay fsck / cryptsetup after md / dmraid / lvm are started + +--- + src/cryptsetup/cryptsetup-generator.c | 1 + + units/systemd-fsck@.service.in | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c +index 9b8e229..0949287 100644 +--- a/src/cryptsetup/cryptsetup-generator.c ++++ b/src/cryptsetup/cryptsetup-generator.c +@@ -160,6 +160,7 @@ static int create_disk( + "Conflicts=umount.target\n" + "DefaultDependencies=no\n" + "BindsTo=dev-mapper-%i.device\n" ++ "After=md.service dmraid.service lvm.service\n" + "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", + f); + +diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in +index b3c71eb..c66a411 100644 +--- a/units/systemd-fsck@.service.in ++++ b/units/systemd-fsck@.service.in +@@ -10,7 +10,7 @@ Description=File System Check on %f + Documentation=man:systemd-fsck@.service(8) + DefaultDependencies=no + BindsTo=%i.device +-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service + Before=shutdown.target + + [Service] diff --git a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch b/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch deleted file mode 100644 index 58a4f924..00000000 --- a/delay-fsck-cryptsetup-after-md-lvm-dmraid.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c6170719e7afbcecc04e8939e93e9678529e6391 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Wed, 9 Nov 2011 11:10:49 +0100 -Subject: [PATCH] delay fsck / cryptsetup after md / dmraid / lvm are started - ---- - src/cryptsetup-generator.c | 1 + - units/fsck@.service.in | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - -Index: systemd-189/src/cryptsetup/cryptsetup-generator.c -=================================================================== ---- systemd-189.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-189/src/cryptsetup/cryptsetup-generator.c -@@ -192,6 +192,7 @@ static int create_disk( - "DefaultDependencies=no\n" - "BindsTo=%s dev-mapper-%%i.device\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n" -+ "After=md.service dmraid.service lvm.service\n" - "Before=umount.target\n", - d, d); - -Index: systemd-189/units/systemd-fsck@.service.in -=================================================================== ---- systemd-189.orig/units/systemd-fsck@.service.in -+++ systemd-189/units/systemd-fsck@.service.in -@@ -10,7 +10,7 @@ Description=File System Check on %f - Documentation=man:systemd-fsck@.service(8) - DefaultDependencies=no - BindsTo=%i.device --After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service - Before=shutdown.target - - [Service] diff --git a/delta-accept-t-option.patch b/delta-accept-t-option.patch deleted file mode 100644 index 4717c018..00000000 --- a/delta-accept-t-option.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 377ec8bf1907a1a227d195cc3721c4acbad19213 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Wed, 14 Nov 2012 00:18:02 +0100 -Subject: [PATCH] delta.c: fix option '-t' - -Both the help and man page claims that it accepts -t with an argument -so let's do that. ---- - src/delta/delta.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/delta/delta.c -=================================================================== ---- systemd-195.orig/src/delta/delta.c -+++ systemd-195/src/delta/delta.c -@@ -375,7 +375,7 @@ static int parse_argv(int argc, char *ar - assert(argc >= 1); - assert(argv); - -- while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0) { -+ while ((c = getopt_long(argc, argv, "ht:", options, NULL)) >= 0) { - - switch (c) { - diff --git a/detect-btrfs-ssd.patch b/detect-btrfs-ssd.patch deleted file mode 100644 index 4bd64690..00000000 --- a/detect-btrfs-ssd.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit d7228cb8529de83115af04bf653b4d204dad8fae -Author: Lennart Poettering -Date: Thu Nov 22 01:51:06 2012 +0100 - - readahead: properly detect btrfs on SSD - -diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c -index 10b0ccc..41aaff0 100644 ---- a/src/readahead/readahead-common.c -+++ b/src/readahead/readahead-common.c -@@ -32,6 +32,7 @@ - #include "log.h" - #include "readahead-common.h" - #include "util.h" -+#include "missing.h" - - int file_verify(int fd, const char *fn, off_t file_size_max, struct stat *st) { - assert(fd >= 0); -@@ -62,14 +63,63 @@ int fs_on_ssd(const char *p) { - struct udev_device *udev_device = NULL, *look_at = NULL; - bool b = false; - const char *devtype, *rotational, *model, *id; -+ int r; - - assert(p); - - if (stat(p, &st) < 0) - return -errno; - -- if (major(st.st_dev) == 0) -+ if (major(st.st_dev) == 0) { -+ _cleanup_fclose_ FILE *f = NULL; -+ int mount_id; -+ struct file_handle *h; -+ -+ /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. -+ * -+ * We first determine the mount ID here, if we can, -+ * and then lookup the mount ID in mountinfo to find -+ * the mount options. */ -+ -+ h = alloca(MAX_HANDLE_SZ); -+ h->handle_bytes = MAX_HANDLE_SZ; -+ r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); -+ if (r < 0) -+ return false; -+ -+ f = fopen("/proc/self/mountinfo", "re"); -+ if (!f) -+ return false; -+ -+ for (;;) { -+ char line[LINE_MAX], *e; -+ _cleanup_free_ char *opts = NULL; -+ int mid; -+ -+ if (!fgets(line, sizeof(line), f)) -+ return false; -+ -+ truncate_nl(line); -+ -+ if (sscanf(line, "%i", &mid) != 1) -+ continue; -+ -+ if (mid != mount_id) -+ continue; -+ -+ e = strstr(line, " - "); -+ if (!e) -+ continue; -+ -+ if (sscanf(e+3, "%*s %*s %ms", &opts) != 1) -+ continue; -+ -+ if (streq(opts, "ssd") || startswith(opts, "ssd,") || endswith(opts, ",ssd") || strstr(opts, ",ssd,")) -+ return true; -+ } -+ - return false; -+ } - - udev = udev_new(); - if (!udev) -@@ -97,9 +147,10 @@ int fs_on_ssd(const char *p) { - - /* Second, try kernel attribute */ - rotational = udev_device_get_sysattr_value(look_at, "queue/rotational"); -- if (rotational) -- if ((b = streq(rotational, "0"))) -- goto finish; -+ if (rotational) { -+ b = streq(rotational, "0"); -+ goto finish; -+ } - - /* Finally, fallback to heuristics */ - look_at = udev_device_get_parent(look_at); diff --git a/disable-nss-myhostname-warning-bnc-783841.diff b/disable-nss-myhostname-warning-bnc-783841.diff deleted file mode 100644 index 2d085696..00000000 --- a/disable-nss-myhostname-warning-bnc-783841.diff +++ /dev/null @@ -1,21 +0,0 @@ -From 33db05b6bd6151c482f5efe01f2a6118efc82fde Mon Sep 17 00:00:00 2001 -From: Ludwig Nussel -Date: Tue, 12 Feb 2013 17:24:35 +0100 -Subject: [PATCH] disable nss-myhostname warning (bnc#783841) - ---- - src/hostname/hostnamed.c | 1 + - 1 Datei geändert, 1 Zeile hinzugefügt(+) - -Index: systemd-195/src/hostname/hostnamed.c -=================================================================== ---- systemd-195.orig/src/hostname/hostnamed.c -+++ systemd-195/src/hostname/hostnamed.c -@@ -124,6 +124,7 @@ static int read_data(void) { - static bool check_nss(void) { - - void *dl; -+ return true; - - if ((dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY))) { - dlclose(dl); diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch new file mode 100644 index 00000000..c0365d7c --- /dev/null +++ b/disable-nss-myhostname-warning-bnc-783841.patch @@ -0,0 +1,20 @@ +From: Ludwig Nussel +Date: Tue, 12 Feb 2013 17:24:35 +0100 +Subject: disable nss-myhostname warning (bnc#783841) + +--- + src/hostname/hostnamed.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c +index 0437e33..c7f454c 100644 +--- a/src/hostname/hostnamed.c ++++ b/src/hostname/hostnamed.c +@@ -134,6 +134,7 @@ static int read_data(void) { + + static bool check_nss(void) { + void *dl; ++ return true; + + dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY); + if (dl) { diff --git a/dm-lvm-after-local-fs-pre-target.patch b/dm-lvm-after-local-fs-pre-target.patch deleted file mode 100644 index d3467af1..00000000 --- a/dm-lvm-after-local-fs-pre-target.patch +++ /dev/null @@ -1,9 +0,0 @@ -Index: systemd-189/units/local-fs-pre.target -=================================================================== ---- systemd-189.orig/units/local-fs-pre.target -+++ systemd-189/units/local-fs-pre.target -@@ -8,3 +8,4 @@ - [Unit] - Description=Local File Systems (Pre) - Documentation=man:systemd.special(7) -+After=md.service lvm.service dmraid.service diff --git a/do-not-make-sockets-dependent-on-lo.patch b/do-not-make-sockets-dependent-on-lo.patch deleted file mode 100644 index 7c5e78b8..00000000 --- a/do-not-make-sockets-dependent-on-lo.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 7d0c710d72f8a6e5c6909c65700aa088c53aebc6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= -Date: Sat, 12 Jan 2013 23:05:52 +0100 -Subject: [PATCH] core: do not make sockets dependent on lo - -/sys/subsystem/net/devices/lo is never considered active, so sockets -with BindToDevice=lo would never be activated. ---- - src/core/socket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/core/socket.c -=================================================================== ---- systemd-195.orig/src/core/socket.c -+++ systemd-195/src/core/socket.c -@@ -293,7 +293,7 @@ static int socket_add_device_link(Socket - - assert(s); - -- if (!s->bind_to_device) -+ if (!s->bind_to_device || streq(s->bind_to_device, "lo")) - return 0; - - if (asprintf(&t, "/sys/subsystem/net/devices/%s", s->bind_to_device) < 0) diff --git a/early-sync-shutdown.patch b/early-sync-shutdown.patch deleted file mode 100644 index 87d4a555..00000000 --- a/early-sync-shutdown.patch +++ /dev/null @@ -1,209 +0,0 @@ -From c65eb8365344eeb72ee2c0b333ab54d925263b3f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 25 Jan 2013 22:33:33 +0100 -Subject: [PATCH] shutdown: issue a sync() as soon as shutdown.target is queued - ---- - Makefile.am | 7 ++++-- - src/core/job.c | 26 ++++++++++++++++++++ - src/core/job.h | 2 ++ - src/core/sync.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/sync.h | 24 +++++++++++++++++++ - src/core/transaction.c | 1 + - 6 files changed, 123 insertions(+), 2 deletions(-) - create mode 100644 src/core/sync.c - create mode 100644 src/core/sync.h - -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -1038,7 +1038,9 @@ libsystemd_core_la_SOURCES = \ - src/core/syscall-list.c \ - src/core/syscall-list.h \ - src/core/audit-fd.c \ -- src/core/audit-fd.h -+ src/core/audit-fd.h \ -+ src/core/sync.c \ -+ src/core/sync.h - - nodist_libsystemd_core_la_SOURCES = \ - src/core/load-fragment-gperf.c \ -@@ -1052,7 +1054,8 @@ libsystemd_core_la_CFLAGS = \ - $(LIBWRAP_CFLAGS) \ - $(PAM_CFLAGS) \ - $(AUDIT_CFLAGS) \ -- $(KMOD_CFLAGS) -+ $(KMOD_CFLAGS) \ -+ -pthread - - libsystemd_core_la_LIBADD = \ - libsystemd-capability.la \ -Index: systemd-195/src/core/job.c -=================================================================== ---- systemd-195.orig/src/core/job.c -+++ systemd-195/src/core/job.c -@@ -34,6 +34,9 @@ - #include "load-dropin.h" - #include "log.h" - #include "dbus-job.h" -+#include "special.h" -+#include "sync.h" -+#include "virt.h" - - JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name) { - JobBusClient *cl; -@@ -1045,6 +1048,29 @@ int job_coldplug(Job *j) { - return 0; - } - -+void job_shutdown_magic(Job *j) { -+ assert(j); -+ -+ /* The shutdown target gets some special treatment here: we -+ * tell the kernel to begin with flushing its disk caches, to -+ * optimize shutdown time a bit. Ideally we wouldn't hardcode -+ * this magic into PID 1. However all other processes aren't -+ * options either since they'd exit much sooner than PID 1 and -+ * asynchronous sync() would cause their exit to be -+ * delayed. */ -+ -+ if (!unit_has_name(j->unit, SPECIAL_SHUTDOWN_TARGET)) -+ return; -+ -+ if (j->type != JOB_START) -+ return; -+ -+ if (detect_container(NULL) > 0) -+ return; -+ -+ asynchronous_sync(); -+} -+ - static const char* const job_state_table[_JOB_STATE_MAX] = { - [JOB_WAITING] = "waiting", - [JOB_RUNNING] = "running" -Index: systemd-195/src/core/job.h -=================================================================== ---- systemd-195.orig/src/core/job.h -+++ systemd-195/src/core/job.h -@@ -217,6 +217,8 @@ int job_finish_and_invalidate(Job *j, Jo - - char *job_dbus_path(Job *j); - -+void job_shutdown_magic(Job *j); -+ - const char* job_type_to_string(JobType t); - JobType job_type_from_string(const char *s); - -Index: systemd-195/src/core/sync.c -=================================================================== ---- /dev/null -+++ systemd-195/src/core/sync.c -@@ -0,0 +1,65 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2013 Lennart Poettering -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+#include -+#include -+ -+#include "sync.h" -+ -+static void *sync_thread(void *p) { -+ sync(); -+ return NULL; -+} -+ -+int asynchronous_sync(void) { -+ pthread_attr_t a; -+ pthread_t t; -+ int r; -+ -+ /* It kinda sucks that we have to resort to threads to -+ * implement an asynchronous sync(), but well, such is -+ * life. -+ * -+ * Note that issuing this command right before exiting a -+ * process will cause the process to wait for the sync() to -+ * complete. This function hence is nicely asynchronous really -+ * only in long running processes. */ -+ -+ r = pthread_attr_init(&a); -+ if (r != 0) -+ return -r; -+ -+ r = pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED); -+ if (r != 0) { -+ r = -r; -+ goto finish; -+ } -+ -+ r = pthread_create(&t, &a, sync_thread, NULL); -+ if (r != 0) { -+ r = -r; -+ goto finish; -+ } -+ -+finish: -+ pthread_attr_destroy(&a); -+ return r; -+} -Index: systemd-195/src/core/sync.h -=================================================================== ---- /dev/null -+++ systemd-195/src/core/sync.h -@@ -0,0 +1,24 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+#pragma once -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2013 Lennart Poettering -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+int asynchronous_sync(void); -Index: systemd-195/src/core/transaction.c -=================================================================== ---- systemd-195.orig/src/core/transaction.c -+++ systemd-195/src/core/transaction.c -@@ -592,6 +592,7 @@ static int transaction_apply(Transaction - job_add_to_run_queue(j); - job_add_to_dbus_queue(j); - job_start_timer(j); -+ job_shutdown_magic(j); - } - - return 0; diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch new file mode 100644 index 00000000..c4e313aa --- /dev/null +++ b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch @@ -0,0 +1,19 @@ +From: Frederic Crozat +Date: Thu, 9 Feb 2012 16:19:38 +0000 +Subject: ensure DM and LVM are started before local-fs-pre-target + +ensure md / lvm /dmraid is started before mounting partitions, +if fsck was disabled for them (bnc#733283). +--- + units/local-fs-pre.target | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target +index 809f2ed..05fcbd4 100644 +--- a/units/local-fs-pre.target ++++ b/units/local-fs-pre.target +@@ -9,3 +9,4 @@ + Description=Local File Systems (Pre) + Documentation=man:systemd.special(7) + RefuseManualStart=yes ++After=md.service lvm.service dmraid.service diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch new file mode 100644 index 00000000..a0c005f8 --- /dev/null +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +Date: Wed, 24 Aug 2011 13:02:12 +0000 +Subject: ensure ask-password-wall starts after getty@tty1 + +ensure passphrase is handled before starting getty on tty1. +--- + units/systemd-ask-password-wall.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in +index 0eaa274..ca51e4e 100644 +--- a/units/systemd-ask-password-wall.service.in ++++ b/units/systemd-ask-password-wall.service.in +@@ -8,7 +8,7 @@ + [Unit] + Description=Forward Password Requests to Wall + Documentation=man:systemd-ask-password-console.service(8) +-After=systemd-user-sessions.service ++After=systemd-user-sessions.service getty@tty1.service + + [Service] + ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/ensure-sysctl-are-applied-after-modules-are-loaded.patch b/ensure-sysctl-are-applied-after-modules-are-loaded.patch new file mode 100644 index 00000000..186e09e0 --- /dev/null +++ b/ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -0,0 +1,21 @@ +From: Frederic Crozat +Date: Mon, 9 Jan 2012 17:01:22 +0000 +Subject: ensure sysctl are applied after modules are loaded + +(bnc#725412) +--- + units/systemd-sysctl.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in +index 45e1ceb..caaaa9a 100644 +--- a/units/systemd-sysctl.service.in ++++ b/units/systemd-sysctl.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5) + DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service ++After=systemd-modules-load.service + Before=sysinit.target shutdown.target + ConditionPathIsReadWrite=/proc/sys/ + ConditionPathExists=|/etc/sysctl.conf diff --git a/ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch b/ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch new file mode 100644 index 00000000..795980bd --- /dev/null +++ b/ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch @@ -0,0 +1,21 @@ +From: Frederic Crozat +Date: Mon, 8 Apr 2013 14:51:47 +0200 +Subject: ensure systemd-udevd is started before local-fs-pre for loopback + mount + +ensure udevd is started (and therefore static devices are created) +before mounting (bnc#809820). +--- + units/local-fs-pre.target | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target +index 05fcbd4..7f13907 100644 +--- a/units/local-fs-pre.target ++++ b/units/local-fs-pre.target +@@ -9,4 +9,4 @@ + Description=Local File Systems (Pre) + Documentation=man:systemd.special(7) + RefuseManualStart=yes +-After=md.service lvm.service dmraid.service ++After=md.service lvm.service dmraid.service systemd-udevd.service diff --git a/fastboot-forcefsck.patch b/fastboot-forcefsck.patch deleted file mode 100644 index f0898e86..00000000 --- a/fastboot-forcefsck.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-189/src/fsck/fsck.c -=================================================================== ---- systemd-189.orig/src/fsck/fsck.c -+++ systemd-189/src/fsck/fsck.c -@@ -128,7 +128,7 @@ static int parse_proc_cmdline(void) { - arg_skip = true; - else if (startswith(w, "fsck")) - log_warning("Invalid fsck parameter. Ignoring."); --#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) -+#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) || defined(TARGET_SUSE) - else if (strneq(w, "fastboot", l)) - arg_skip = true; - else if (strneq(w, "forcefsck", l)) diff --git a/fix-bad-mem-access.patch b/fix-bad-mem-access.patch deleted file mode 100644 index 878ed0a9..00000000 --- a/fix-bad-mem-access.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 86ed7ec58b9b6a0907bbb3b8d07c930e52915de0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 17 Jan 2013 17:38:00 +0100 -Subject: [PATCH] util: fix bad memory access - ---- - src/shared/util.c | 1 - - 1 file changed, 1 deletion(-) - -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -543,7 +543,6 @@ int get_parent_of_pid(pid_t pid, pid_t * - - if (!fgets(line, sizeof(line), f)) { - r = feof(f) ? -EIO : -errno; -- fclose(f); - return r; - } - diff --git a/fix-bad-memory-access.patch b/fix-bad-memory-access.patch deleted file mode 100644 index 2109977a..00000000 --- a/fix-bad-memory-access.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 7d73c1343be02a59b17de0cd34375deeb815d89c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 20 Nov 2012 00:19:27 +0100 -Subject: [PATCH] journald: fix bad memory access - -https://bugzilla.redhat.com/show_bug.cgi?id=875653 ---- - src/journal/journald-server.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/journal/journald.c -=================================================================== ---- systemd-195.orig/src/journal/journald.c -+++ systemd-195/src/journal/journald.c -@@ -342,7 +342,7 @@ static void server_rotate(Server *s) { - HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) { - r = journal_file_rotate(&f, s->compress, s->seal); - if (r < 0) -- if (f->path) -+ if (f) - log_error("Failed to rotate %s: %s", f->path, strerror(-r)); - else - log_error("Failed to create user journal: %s", strerror(-r)); diff --git a/fix-build-glibc217.patch b/fix-build-glibc217.patch deleted file mode 100644 index d4a2d8ec..00000000 --- a/fix-build-glibc217.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e17187091d463ad008c0b74eb04de5078b2abb96 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 14 Nov 2012 14:44:05 +0100 -Subject: [PATCH] configure.ac: fix FTBFS with new glibc - -glibc moved clock_* functions from librt to the core libc. As a result, -clock_gettime is no more a suitable symbol to use when finding librt. -Look for mq_open instead. -Reference: -http://www.sourceware.org/git/gitweb.cgi?p=glibc.git&h=6e6249d0b461b952d0f544792372663feb6d792a - -Fixes a FTBFS in Fedora Rawhide. ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/configure.ac -=================================================================== ---- systemd-195.orig/configure.ac -+++ systemd-195/configure.ac -@@ -172,7 +172,7 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [L - -Wl,-z,now]) - AC_SUBST([OUR_LDFLAGS], $with_ldflags) - --AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) -+AC_SEARCH_LIBS([mq_open], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) - AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])]) - - save_LIBS="$LIBS" diff --git a/fix-dbus-crash.patch b/fix-dbus-crash.patch deleted file mode 100644 index dcf6c8f1..00000000 --- a/fix-dbus-crash.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 645a9e5a2bbb06464a3fba1a3501e9d79e5bbad8 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Wed, 31 Oct 2012 11:53:56 +0100 -Subject: [PATCH] dbus-manager: fix a fatal dbus abort in - bus_manager_message_handler() - -If ListUnitFiles fails, or an OOM occurs, then dbus_message_unref() -will be called twice on "reply", causing systemd to crash. So remove -the call to dbus_message_unref(); it is unnecessary because of -the cleanup attribute on "reply". - -[zj: modified to leave one dbus_message_unref() alone, per Colin -Walters' comment.] ---- - src/core/dbus-manager.c | 1 - - 1 file changed, 1 deletion(-) - -Index: systemd-195/src/core/dbus-manager.c -=================================================================== ---- systemd-195.orig/src/core/dbus-manager.c -+++ systemd-195/src/core/dbus-manager.c -@@ -1432,7 +1432,6 @@ static DBusHandlerResult bus_manager_mes - r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h); - if (r < 0) { - unit_file_list_free(h); -- dbus_message_unref(reply); - return bus_send_error_reply(connection, message, NULL, r); - } - diff --git a/fix-debugshell.patch b/fix-debugshell.patch deleted file mode 100644 index 5a1e8405..00000000 --- a/fix-debugshell.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-195/units/debug-shell.service.in -=================================================================== ---- systemd-195.orig/units/debug-shell.service.in -+++ systemd-195/units/debug-shell.service.in -@@ -13,7 +13,7 @@ IgnoreOnIsolate=yes - - [Service] - Environment=TERM=linux --ExecStart=@sushell@ -+ExecStart=/bin/bash -c '[ -x @sushell@ ] && exec @sushell@ || exec /bin/bash' - Restart=always - RestartSec=0 - StandardInput=tty diff --git a/fix-logind-pty-seat.patch b/fix-logind-pty-seat.patch deleted file mode 100644 index 079c5baf..00000000 --- a/fix-logind-pty-seat.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 978cf3c75fbd94fd0e046206ada6169b35edd919 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 28 Oct 2012 17:37:16 +0100 -Subject: [PATCH] logind: it's OK if a process on an pty requests a session - for seat0 - -After all, if a sudo/su inside an X terminal should get added to the -same session as the X session itself. ---- - src/login/logind-dbus.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -Index: systemd-195/src/login/logind-dbus.c -=================================================================== ---- systemd-195.orig/src/login/logind-dbus.c -+++ systemd-195/src/login/logind-dbus.c -@@ -409,8 +409,7 @@ static int bus_manager_create_session(Ma - if (vtnr != 0) - return -EINVAL; - -- } else if (!isempty(tty) && s && seat_is_vtconsole(s)) -- return -EINVAL; -+ } - - if (s) { - if (seat_can_multi_session(s)) { diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch new file mode 100644 index 00000000..a28f4937 --- /dev/null +++ b/fix-owner-of-var-log-btmp.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +Date: Tue, 20 Nov 2012 09:36:43 +0000 +Subject: fix owner of /var/log/btmp + +ensure btmp is owned only by root (bnc#777405). +--- + tmpfiles.d/systemd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf +index ee86f2e..29d6e97 100644 +--- a/tmpfiles.d/systemd.conf ++++ b/tmpfiles.d/systemd.conf +@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d + F /run/utmp 0664 root utmp - + + f /var/log/wtmp 0664 root utmp - +-f /var/log/btmp 0600 root utmp - ++f /var/log/btmp 0600 root root - + + d /var/cache/man - - - 30d + diff --git a/fix-permissions-btmp.patch b/fix-permissions-btmp.patch deleted file mode 100644 index 4a7a1122..00000000 --- a/fix-permissions-btmp.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-44/tmpfiles.d/systemd.conf -=================================================================== ---- systemd-44.orig/tmpfiles.d/systemd.conf -+++ systemd-44/tmpfiles.d/systemd.conf -@@ -11,7 +11,7 @@ d /run/user 0755 root root 10d - F /run/utmp 0664 root utmp - - - f /var/log/wtmp 0664 root utmp - --f /var/log/btmp 0600 root utmp - -+f /var/log/btmp 0600 root root - - - d /var/cache/man - - - 30d - diff --git a/fix-potential-bad-mem-access.patch b/fix-potential-bad-mem-access.patch deleted file mode 100644 index 3c3e0c98..00000000 --- a/fix-potential-bad-mem-access.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ac97e2c559f5d386a332aba4a24bf9930cdb1c51 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 19 Nov 2012 16:36:38 +0100 -Subject: [PATCH] core/load-fragment: fix (potential) bad memory access - -strncmp() could be used with size bigger then the size of the string, -because MAX was used instead of MIN. - -If failing, print just the offending mount flag. ---- - src/core/load-fragment.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -Index: systemd-195/src/core/load-fragment.c -=================================================================== ---- systemd-195.orig/src/core/load-fragment.c -+++ systemd-195/src/core/load-fragment.c -@@ -1083,15 +1083,22 @@ int config_parse_exec_mount_flags( - assert(rvalue); - assert(data); - -- FOREACH_WORD_QUOTED(w, l, rvalue, state) { -- if (strncmp(w, "shared", MAX(l, 6U)) == 0) -+ FOREACH_WORD_SEPARATOR(w, l, rvalue, ", ", state) { -+ char _cleanup_free_ *t; -+ -+ t = strndup(w, l); -+ if (!t) -+ return -ENOMEM; -+ -+ if (streq(t, "shared")) - flags |= MS_SHARED; -- else if (strncmp(w, "slave", MAX(l, 5U)) == 0) -+ else if (streq(t, "slave")) - flags |= MS_SLAVE; -- else if (strncmp(w, "private", MAX(l, 7U)) == 0) -+ else if (streq(w, "private")) - flags |= MS_PRIVATE; - else { -- log_error("[%s:%u] Failed to parse mount flags, ignoring: %s", filename, line, rvalue); -+ log_error("[%s:%u] Failed to parse mount flag %s, ignoring: %s", -+ filename, line, t, rvalue); - return 0; - } - } diff --git a/fix-enable-disable-boot-initscript.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch similarity index 54% rename from fix-enable-disable-boot-initscript.patch rename to fix-support-for-boot-prefixed-initscript-bnc-746506.patch index a89b5955..189576cc 100644 --- a/fix-enable-disable-boot-initscript.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -1,41 +1,42 @@ -From f9d333f8d202fd853f2553ee6c3196b041ccfba5 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Thu, 23 Aug 2012 11:08:25 +0200 -Subject: [PATCH] fix support for boot prefixed initscript (bnc#746506) +Subject: fix support for boot prefixed initscript (bnc#746506) --- - src/systemctl.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) + src/systemctl/systemctl.c | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -3453,7 +3453,27 @@ static int enable_sysv_units(char **args +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index c2b1749..84ce87c 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -4060,8 +4060,28 @@ static int enable_sysv_units(char **args) { + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; - if (!found_sysv) { - free(p); -+#if defined(TARGET_SUSE) +- if (!found_sysv) ++ if (!found_sysv) { ++#ifdef HAVE_SYSV_COMPAT ++ free(p); + p = NULL; + if (!isempty(arg_root)) + asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else + asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); + if (!p) { -+ log_error("No memory"); -+ r = -ENOMEM; ++ r = log_oom(); + goto finish; + } + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; + + if (!found_sysv) { -+ free(p); + continue; + } +#else continue; +#endif - } ++ } /* Mark this entry, so that we don't try enabling it as native unit */ + args[f] = (char*) ""; diff --git a/fix-swap-behaviour-with-symlinks.patch b/fix-swap-behaviour-with-symlinks.patch deleted file mode 100644 index f9ee5fab..00000000 --- a/fix-swap-behaviour-with-symlinks.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b61e88162a6ce0c30da6984b0120959701283daa Mon Sep 17 00:00:00 2001 -From: Olivier Brunel -Date: Sat, 13 Oct 2012 14:24:15 +0200 -Subject: [PATCH] swap: fix swap behaviour with symlinks - -Starting a swap unit pointing to (What) a symlink (e.g. /dev/mapper/swap -or /dev/disk/by-uuid/...) would have said unit marked active, following -the one using the "actual" device (/dev/{dm-1,sda3}), but that new unit -would be seen as inactive. -Since all requests to stop swap units would follow/redirect to it, -and it is seen inactive, nothing would be done (swapoff never called). - -This is because this unit would be treated twice in -swap_process_new_swap, the second call to swap_add_one causing it to -eventually be marked inactive. ---- - src/core/swap.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-195/src/core/swap.c -=================================================================== ---- systemd-195.orig/src/core/swap.c -+++ systemd-195/src/core/swap.c -@@ -415,7 +415,8 @@ static int swap_process_new_swap(Manager - return -ENOMEM; - - dn = udev_device_get_devnode(d); -- if (dn) -+ /* Skip dn==device, since that case will be handled below */ -+ if (dn && !streq(dn, device)) - r = swap_add_one(m, dn, device, prio, false, false, set_flags); - - /* Add additional units for all symlinks */ diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch new file mode 100644 index 00000000..ccfaf3f0 --- /dev/null +++ b/force-lvm-restart-after-cryptsetup-target-is-reached.patch @@ -0,0 +1,104 @@ +From: Frederic Crozat +Date: Mon, 7 Nov 2011 18:04:20 +0100 +Subject: force lvm restart after cryptsetup target is reached + +--- + src/cryptsetup/cryptsetup-generator.c | 57 ++++++++++++++++++++++++++++++++++- + 1 file changed, 56 insertions(+), 1 deletion(-) + +diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c +index ac0ed58..9b8e229 100644 +--- a/src/cryptsetup/cryptsetup-generator.c ++++ b/src/cryptsetup/cryptsetup-generator.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include "log.h" + #include "util.h" +@@ -64,6 +65,54 @@ static bool has_option(const char *haystack, const char *needle) { + return false; + } + ++static int create_storage_after_cryptsetup (void) { ++ _cleanup_free_ char *to = NULL, *p = NULL; ++ _cleanup_fclose_ FILE *f = NULL; ++ ++ if (asprintf(&p, "%s/storage-after-cryptsetup.service", arg_dest) < 0) ++ return log_oom(); ++ ++ if (!(f = fopen(p, "wxe"))) { ++ log_error("Failed to create unit file: %m"); ++ return -errno; ++ } ++ ++ fprintf(f, ++ "[Unit]\n" ++ "Description=Restart storage after cryptsetup\n" ++ "DefaultDependencies=no\n" ++ "After=cryptsetup.target\n" ++ "Wants=cryptsetup.target\n" ++ "Before=local-fs.target\n" ++ "Before=shutdown.target\n"); ++ ++ fprintf(f, ++ "\n[Service]\n" ++ "RemainAfterExit=true\n" ++ "Type=oneshot\n" ++ "TimeoutSec=0\n" ++ "ExecStart=/usr/bin/systemctl restart lvm.service\n"); ++ ++ fflush(f); ++ ++ if (ferror(f)) { ++ log_error("Failed to write file: %m"); ++ return -errno; ++ } ++ ++ if (asprintf(&to, "%s/local-fs.target.wants/storage-after-cryptsetup.service", arg_dest) < 0) ++ return log_oom(); ++ ++ mkdir_parents(to, 0755); ++ ++ if (symlink("../storage-after-cryptsetup.service", to) < 0) { ++ log_error("Failed to create symlink ../storage-after-cryptsetup.service to '%s': %m", to); ++ return -errno; ++ } ++ ++ return 0; ++} ++ + static int create_disk( + const char *name, + const char *device, +@@ -331,6 +380,7 @@ int main(int argc, char *argv[]) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; + int r = EXIT_SUCCESS; ++ bool no_crypttab = false; + char **i; + _cleanup_strv_free_ char **arg_proc_cmdline_disks_done = NULL; + _cleanup_strv_free_ char **arg_proc_cmdline_disks = NULL; +@@ -360,8 +410,10 @@ int main(int argc, char *argv[]) { + f = fopen("/etc/crypttab", "re"); + + if (!f) { +- if (errno == ENOENT) ++ if (errno == ENOENT) { ++ no_crypttab = true; + r = EXIT_SUCCESS; ++ } + else { + r = EXIT_FAILURE; + log_error("Failed to open /etc/crypttab: %m"); +@@ -445,5 +497,8 @@ int main(int argc, char *argv[]) { + r = EXIT_FAILURE; + } + ++ if ((r == EXIT_SUCCESS && !no_crypttab) && (create_storage_after_cryptsetup () < 0)) ++ r = EXIT_FAILURE; ++ + return r; + } diff --git a/fstab-generator-error-message-on-duplicates.patch b/fstab-generator-error-message-on-duplicates.patch deleted file mode 100644 index 33ec3f26..00000000 --- a/fstab-generator-error-message-on-duplicates.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 67ab5f761f9b854d8ce85f9ee47b298e497f8bd9 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 27 Nov 2012 01:09:28 +0100 -Subject: [PATCH] fstab-generator: make error more helpful in case of - duplicates in fstab - -Traditional sysvinit systems would not complain about duplicates in -fstab. Rather it (through monut -a) would mount one fs on top of another, -in effect the last entry taking precedent. - -In systemd, the first entry takes precedent, all subsequent ones are -ignored and an error is printed. - -The change of behavior and the source of this error message was causing -some confusion, so give a hint what migt be wrong. ---- - src/fstab-generator/fstab-generator.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -Index: systemd-195/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-195.orig/src/fstab-generator/fstab-generator.c -+++ systemd-195/src/fstab-generator/fstab-generator.c -@@ -111,7 +111,10 @@ static int add_swap(const char *what, st - f = fopen(unit, "wxe"); - if (!f) { - r = -errno; -- log_error("Failed to create unit file %s: %m", unit); -+ if (errno == EEXIST) -+ log_error("Failed to create swap unit file %s, as it already exists. Duplicate entry in /etc/fstab?", unit); -+ else -+ log_error("Failed to create unit file %s: %m", unit); - goto finish; - } - -@@ -262,7 +265,10 @@ static int add_mount(const char *what, c - f = fopen(unit, "wxe"); - if (!f) { - r = -errno; -- log_error("Failed to create unit file %s: %m", unit); -+ if (errno == EEXIST) -+ log_error("Failed to create mount unit file %s, as it already exists. Duplicate entry in /etc/fstab?", unit); -+ else -+ log_error("Failed to create unit file %s: %m", unit); - goto finish; - } - diff --git a/fstab-generator-improve-error-message.patch b/fstab-generator-improve-error-message.patch deleted file mode 100644 index f1de5734..00000000 --- a/fstab-generator-improve-error-message.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 40b8acd039cf1ea00167017e63d9c0a773002f0e Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 9 Nov 2012 12:00:46 +0100 -Subject: [PATCH] fstab-generator: more specific error messages - ---- - src/fstab-generator/fstab-generator.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index 251a346..62053b7 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -111,7 +111,7 @@ static int add_swap(const char *what, struct mntent *me) { - f = fopen(unit, "wxe"); - if (!f) { - r = -errno; -- log_error("Failed to create unit file: %m"); -+ log_error("Failed to create unit file %s: %m", unit); - goto finish; - } - -@@ -138,7 +138,7 @@ static int add_swap(const char *what, struct mntent *me) { - - fflush(f); - if (ferror(f)) { -- log_error("Failed to write unit file: %m"); -+ log_error("Failed to write unit file %s: %m", unit); - r = -errno; - goto finish; - } -@@ -152,7 +152,7 @@ static int add_swap(const char *what, struct mntent *me) { - - mkdir_parents_label(lnk, 0755); - if (symlink(unit, lnk) < 0) { -- log_error("Failed to create symlink: %m"); -+ log_error("Failed to create symlink %s: %m", lnk); - r = -errno; - goto finish; - } -@@ -171,7 +171,7 @@ static int add_swap(const char *what, struct mntent *me) { - - mkdir_parents_label(lnk, 0755); - if (symlink(unit, lnk) < 0) { -- log_error("Failed to create symlink: %m"); -+ log_error("Failed to create symlink %s: %m", lnk); - r = -errno; - goto finish; - } -@@ -262,7 +262,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - f = fopen(unit, "wxe"); - if (!f) { - r = -errno; -- log_error("Failed to create unit file: %m"); -+ log_error("Failed to create unit file %s: %m", unit); - goto finish; - } - -@@ -306,7 +306,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - - fflush(f); - if (ferror(f)) { -- log_error("Failed to write unit file: %m"); -+ log_error("Failed to write unit file %s: %m", unit); - r = -errno; - goto finish; - } -@@ -320,7 +320,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - - mkdir_parents_label(lnk, 0755); - if (symlink(unit, lnk) < 0) { -- log_error("Failed to create symlink: %m"); -+ log_error("Failed to create symlink %s: %m", lnk); - r = -errno; - goto finish; - } -@@ -342,7 +342,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - - mkdir_parents_label(lnk, 0755); - if (symlink(unit, lnk) < 0) { -- log_error("Failed to create symlink: %m"); -+ log_error("Failed to create symlink %s: %m", lnk); - r = -errno; - goto finish; - } -@@ -367,7 +367,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - f = fopen(automount_unit, "wxe"); - if (!f) { - r = -errno; -- log_error("Failed to create unit file: %m"); -+ log_error("Failed to create unit file %s: %m", automount_unit); - goto finish; - } - -@@ -386,7 +386,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - - fflush(f); - if (ferror(f)) { -- log_error("Failed to write unit file: %m"); -+ log_error("Failed to write unit file %s: %m", automount_unit); - r = -errno; - goto finish; - } -@@ -400,7 +400,7 @@ static int add_mount(const char *what, const char *where, struct mntent *me) { - - mkdir_parents_label(lnk, 0755); - if (symlink(automount_unit, lnk) < 0) { -- log_error("Failed to create symlink: %m"); -+ log_error("Failed to create symlink %s: %m", lnk); - r = -errno; - goto finish; - } --- -1.7.10.4 - diff --git a/fstab-generator-properly-detect-bind-mounts.patch b/fstab-generator-properly-detect-bind-mounts.patch deleted file mode 100644 index d6461abb..00000000 --- a/fstab-generator-properly-detect-bind-mounts.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f9ea108e7c3544c03822277a1112a48dc62f6ed4 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Dec 2012 13:01:00 +0100 -Subject: [PATCH] fstab-generator: properly detect bind mounts - -This kinda undoes a83cbaccd03c3f28e47e9330f4a22ff65ce4b561 and -1d634e21b453f3c80d7c6c4bd90a6b84e42a3d2a but corrects the original code -to compare the mount type with "bind" rather than the mount options. ---- - src/fstab-generator/fstab-generator.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -Index: systemd-195/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-195.orig/src/fstab-generator/fstab-generator.c -+++ systemd-195/src/fstab-generator/fstab-generator.c -@@ -199,7 +199,7 @@ static bool mount_is_bind(struct mntent - - return - hasmntopt(me, "bind") || -- streq(me->mnt_opts, "bind"); -+ streq(me->mnt_type, "bind"); - } - - static bool mount_is_network(struct mntent *me) { diff --git a/handle-HOSTNAME.patch b/handle-HOSTNAME.patch deleted file mode 100644 index 56aa50f3..00000000 --- a/handle-HOSTNAME.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: systemd-195/src/hostname/hostnamed.c -=================================================================== ---- systemd-195.orig/src/hostname/hostnamed.c -+++ systemd-195/src/hostname/hostnamed.c -@@ -118,6 +118,10 @@ static int read_data(void) { - if (r < 0 && r != -ENOENT) - return r; - -+ r = read_one_line_file("/etc/HOSTNAME", &data[PROP_STATIC_HOSTNAME]); -+ if (r < 0 && r != -ENOENT) -+ return r; -+ - return 0; - } - -@@ -204,6 +208,7 @@ static int write_data_hostname(void) { - - static int write_data_static_hostname(void) { - -+ int r; - if (isempty(data[PROP_STATIC_HOSTNAME])) { - - if (unlink("/etc/hostname") < 0) -@@ -212,7 +217,11 @@ static int write_data_static_hostname(vo - return 0; - } - -- return write_one_line_file_atomic("/etc/hostname", data[PROP_STATIC_HOSTNAME]); -+ r = write_one_line_file_atomic("/etc/hostname", data[PROP_STATIC_HOSTNAME]); -+ if (!r) { -+ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); -+ } -+ return r; - } - - static int write_data_other(void) { diff --git a/systemctl-options.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch similarity index 51% rename from systemctl-options.patch rename to handle-SYSTEMCTL_OPTIONS-environment-variable.patch index 0b100b2f..1ed955b9 100644 --- a/systemctl-options.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -1,25 +1,28 @@ -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -5239,6 +5239,7 @@ static int runlevel_main(void) { - - int main(int argc, char*argv[]) { - int r, retval = EXIT_FAILURE; -+ char **to_free = NULL; - DBusConnection *bus = NULL; - DBusError error; - -@@ -5247,6 +5248,27 @@ int main(int argc, char*argv[]) { +From: Frederic Crozat +Date: Tue, 22 Jan 2013 17:02:04 +0000 +Subject: handle SYSTEMCTL_OPTIONS environment variable + +(bnc#798620) +--- + src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 84ce87c..cceafc9 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -5926,6 +5926,28 @@ int main(int argc, char*argv[]) { log_parse_environment(); log_open(); -+ if (secure_getenv("SYSTEMCTL_OPTIONS")) { ++ if (secure_getenv("SYSTEMCTL_OPTIONS") && ++ (!program_invocation_short_name || ++ (program_invocation_short_name && strstr(program_invocation_short_name, "systemctl")))) { + char **parsed_systemctl_options = strv_split_quoted(getenv("SYSTEMCTL_OPTIONS")); + + if (*parsed_systemctl_options && **parsed_systemctl_options) { + char **k,**a; -+ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); ++ _cleanup_strv_free_ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); + new_argv[0] = strdup(argv[0]); + for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { + *k = strdup(*a); @@ -31,19 +34,9 @@ Index: systemd-195/src/systemctl/systemctl.c + argv = new_argv; + argc = strv_length(new_argv); + strv_free (parsed_systemctl_options); -+ to_free = new_argv; + } + } + r = parse_argv(argc, argv); if (r < 0) goto finish; -@@ -5348,6 +5370,8 @@ finish: - - strv_free(arg_property); - -+ strv_free(to_free); -+ - pager_close(); - ask_password_agent_close(); - polkit_agent_close(); diff --git a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch similarity index 69% rename from 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch rename to handle-disable_caplock-and-compose_table-and-kbd_rate.patch index d04cb888..050f9216 100644 --- a/0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -1,20 +1,20 @@ -m 5c894bc1e45f7c34bf7fc4ca0d20bf1c3b679bef Mon Sep 17 00:00:00 2001 From: Frederic Crozat -Date: Thu, 18 Aug 2011 18:28:01 +0200 -Subject: [PATCH] handle disable_caplock and compose_table and kbd_rate +Date: Fri, 19 Aug 2011 15:29:49 +0000 +Subject: handle disable_caplock and compose_table and kbd_rate +(bnc#746595) --- - src/vconsole-setup.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++- - 1 files changed, 121 insertions(+), 3 deletions(-) + src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 153 insertions(+), 3 deletions(-) -Index: systemd-195/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-195.orig/src/vconsole/vconsole-setup.c -+++ systemd-195/src/vconsole/vconsole-setup.c +diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c +index 1bbf737..384f936 100644 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ - #include "log.h" #include "macro.h" #include "virt.h" + #include "fileio.h" +#include "strv.h" static bool is_vconsole(int fd) { @@ -23,14 +23,14 @@ Index: systemd-195/src/vconsole/vconsole-setup.c return r; } --static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { +-static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { - const char *args[8]; -+static int load_keymap(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, pid_t *_pid) { ++static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, pid_t *_pid) { + const char *args[9]; int i = 0; pid_t pid; -@@ -119,6 +120,8 @@ static int load_keymap(const char *vc, c +@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle, args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,11 +39,11 @@ Index: systemd-195/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -172,6 +175,101 @@ static int load_font(const char *vc, con - return 0; +@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) { + } } -+#ifdef TARGET_SUSE ++#ifdef HAVE_SYSV_COMPAT +static int load_compose_table(const char *vc, const char *compose_table, pid_t *_pid) { + const char *args[1024]; + int i = 0, j = 0; @@ -102,6 +102,7 @@ Index: systemd-195/src/vconsole/vconsole-setup.c + + return 0; +} ++#endif + +static int set_kbd_rate(const char *vc, const char *kbd_rate, const char *kbd_delay, pid_t *_pid) { + const char *args[7]; @@ -136,16 +137,15 @@ Index: systemd-195/src/vconsole/vconsole-setup.c + *_pid = pid; + return 0; +} -+#endif + int main(int argc, char **argv) { const char *vc; char *vc_keymap = NULL; -@@ -185,8 +283,16 @@ int main(int argc, char **argv) { - #if defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) - char *vc_keytable = NULL; - #endif -+#ifdef TARGET_SUSE +@@ -219,8 +317,16 @@ int main(int argc, char **argv) { + char *vc_font = NULL; + char *vc_font_map = NULL; + char *vc_font_unimap = NULL; ++#ifdef HAVE_SYSV_COMPAT + char *vc_kbd_delay = NULL; + char *vc_kbd_rate = NULL; + char *vc_kbd_disable_caps_lock = NULL; @@ -155,43 +155,59 @@ Index: systemd-195/src/vconsole/vconsole-setup.c int fd = -1; bool utf8; + bool disable_capslock = false; - int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -276,13 +382,43 @@ int main(int argc, char **argv) { + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); + } -@@ -273,10 +379,15 @@ int main(int argc, char **argv) { - free(vc_keymap); - vc_keymap = t; - } -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; - - #elif defined(TARGET_SUSE) - r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, - "KEYTABLE", &vc_keymap, ++ if (r <= 0) { ++#ifdef HAVE_SYSV_COMPAT ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, + "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) - log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -@@ -435,7 +546,11 @@ int main(int argc, char **argv) { ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); ++ ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ ++#endif ++ } ++ + if (utf8) + enable_utf8(fd); + else disable_utf8(fd); - -- if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && -+ if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && -+#ifdef TARGET_SUSE + r = EXIT_FAILURE; +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && ++ ++ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && ++#ifdef HAVE_SYSV_COMPAT + load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && + set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +#endif - load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) + font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -443,6 +558,14 @@ finish: +@@ -290,6 +426,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+#ifdef TARGET_SUSE ++#ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + @@ -199,14 +215,14 @@ Index: systemd-195/src/vconsole/vconsole-setup.c + wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +#endif + - if (font_pid > 0) + if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - -@@ -450,6 +573,12 @@ finish: + if (font_copy) +@@ -300,6 +444,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); -+#ifdef TARGET_SUSE ++#ifdef HAVE_SYSV_COMPAT + free(vc_kbd_delay); + free(vc_kbd_rate); + free(vc_kbd_disable_caps_lock); diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch new file mode 100644 index 00000000..2688e851 --- /dev/null +++ b/handle-etc-HOSTNAME.patch @@ -0,0 +1,46 @@ +From: Frederic Crozat +Date: Fri, 15 Feb 2013 16:04:39 +0000 +Subject: handle /etc/HOSTNAME + +(bnc#803653) +--- + src/hostname/hostnamed.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c +index c7f454c..cfbd706 100644 +--- a/src/hostname/hostnamed.c ++++ b/src/hostname/hostnamed.c +@@ -129,6 +129,10 @@ static int read_data(void) { + if (r < 0 && r != -ENOENT) + return r; + ++ r = read_one_line_file("/etc/HOSTNAME", &data[PROP_STATIC_HOSTNAME]); ++ if (r < 0 && r != -ENOENT) ++ return r; ++ + return 0; + } + +@@ -283,6 +287,7 @@ static int write_data_hostname(void) { + + static int write_data_static_hostname(void) { + ++ int r; + if (isempty(data[PROP_STATIC_HOSTNAME])) { + + if (unlink("/etc/hostname") < 0) +@@ -290,7 +295,12 @@ static int write_data_static_hostname(void) { + + return 0; + } +- return write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ ++ r = write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ if (!r) { ++ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); ++ } ++ return r; + } + + static int write_data_other(void) { diff --git a/systemd-numlock-suse.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch similarity index 67% rename from systemd-numlock-suse.patch rename to handle-numlock-value-in-etc-sysconfig-keyboard.patch index 1e89d398..00c10673 100644 --- a/systemd-numlock-suse.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -1,8 +1,121 @@ -Index: systemd-195/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-195.orig/src/vconsole/vconsole-setup.c -+++ systemd-195/src/vconsole/vconsole-setup.c -@@ -287,12 +287,14 @@ int main(int argc, char **argv) { +From: Stanislav Brabec +Date: Fri, 20 Apr 2012 17:16:37 +0200 +Subject: handle numlock value in /etc/sysconfig/keyboard + +(bnc#746595) +--- + Makefile.am | 13 +++++++++++ + configure.ac | 5 +++++ + rules/73-seat-numlock.rules | 8 +++++++ + src/login/numlock-on.c | 37 ++++++++++++++++++++++++++++++++ + src/vconsole/vconsole-setup.c | 38 +++++++++++++++++++++++++++++++++ + units/systemd-vconsole-setup.service.in | 2 +- + 6 files changed, 102 insertions(+), 1 deletion(-) + create mode 100644 rules/73-seat-numlock.rules + create mode 100644 src/login/numlock-on.c + +diff --git a/Makefile.am b/Makefile.am +index d594a3d..e82d092 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2205,6 +2205,19 @@ dist_udevrules_DATA += \ + rules/61-accelerometer.rules + + # ------------------------------------------------------------------------------ ++numlock_on_SOURCES = \ ++ src/login/numlock-on.c ++ ++numlock_on_CFLAGS = \ ++ $(AM_CFLAGS) ++ ++udevlibexec_PROGRAMS += \ ++ numlock-on ++ ++dist_udevrules_DATA += \ ++ rules/73-seat-numlock.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +diff --git a/configure.ac b/configure.ac +index e58d694..222ed22 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -789,6 +789,11 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"]) + + # ------------------------------------------------------------------------------ + ++AC_PATH_PROG([HWINFO], [hwinfo], [/usr/sbin/hwinfo], [/sbin:/usr/sbin:/usr/bin:/bin]) ++AC_DEFINE_UNQUOTED([HWINFO], ["${HWINFO}"], [Path to hwinfo binary. (SUSE)]) ++AC_PATH_PROG([SETLEDS], [setleds], [/bin/setleds], [/sbin:/usr/sbin:/usr/bin:/bin]) ++AC_DEFINE_UNQUOTED([SETLEDS], ["${SETLEDS}"], [Path to setleds binary.]) ++ + # Location of the init scripts as mandated by LSB + SYSTEM_SYSVINIT_PATH=/etc/init.d + SYSTEM_SYSVRCND_PATH=/etc/rc.d +diff --git a/rules/73-seat-numlock.rules b/rules/73-seat-numlock.rules +new file mode 100644 +index 0000000..e0061ed +--- /dev/null ++++ b/rules/73-seat-numlock.rules +@@ -0,0 +1,8 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +diff --git a/src/login/numlock-on.c b/src/login/numlock-on.c +new file mode 100644 +index 0000000..77a8368 +--- /dev/null ++++ b/src/login/numlock-on.c +@@ -0,0 +1,37 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2012 Stanislav Brabec ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with systemd; If not, see . ++***/ ++ ++#include "config.h" ++#include ++#include ++#include ++ ++int main (int argc, char *argv[]) { ++ static const char *args[] = { SETLEDS, "-D", "+num", NULL }; ++ ++ if (argc != 2) ++ return EX_USAGE; ++ close (STDIN_FILENO); ++ if (open (argv[1], O_RDONLY) != STDIN_FILENO) ++ return EX_IOERR; ++ /* add cast to prevent warning caused by -Wwrite-strings */ ++ return execv(args[0], (char * const*) args); ++} +diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c +index 384f936..e1f8868 100644 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c +@@ -321,12 +321,14 @@ int main(int argc, char **argv) { char *vc_kbd_delay = NULL; char *vc_kbd_rate = NULL; char *vc_kbd_disable_caps_lock = NULL; @@ -14,12 +127,20 @@ Index: systemd-195/src/vconsole/vconsole-setup.c bool utf8; bool disable_capslock = false; + bool numlock = false; - int r = EXIT_FAILURE; pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -389,6 +391,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -403,6 +406,37 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -@@ -380,6 +382,37 @@ int main(int argc, char **argv) { - vc_keymap = t; - } disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + if (vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "BIOS") == 0) { + int hwinfo_fd[2]; @@ -53,17 +174,9 @@ Index: systemd-195/src/vconsole/vconsole-setup.c + } else + numlock = vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "YES") == 0; - #elif defined(TARGET_SUSE) - r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -@@ -387,6 +420,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -557,6 +591,10 @@ int main(int argc, char **argv) { + #endif + } +@@ -425,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -72,109 +185,13 @@ Index: systemd-195/src/vconsole/vconsole-setup.c + else + unlink("/run/numlock-on"); - #ifdef TARGET_SUSE + #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -2017,6 +2017,19 @@ dist_udevrules_DATA += \ - rules/61-accelerometer.rules - - # ------------------------------------------------------------------------------ -+numlock_on_SOURCES = \ -+ src/login/numlock-on.c -+ -+numlock_on_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ numlock-on -+ -+dist_udevrules_DATA += \ -+ rules/73-seat-numlock.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ -Index: systemd-195/configure.ac -=================================================================== ---- systemd-195.orig/configure.ac -+++ systemd-195/configure.ac -@@ -660,6 +660,13 @@ fi - with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` - AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution]) - -+if test z"$with_distro" = z"suse" ; then -+ AC_PATH_PROG([HWINFO], [hwinfo], [/usr/sbin/hwinfo], [/sbin:/usr/sbin:/usr/bin:/bin]) -+ AC_DEFINE_UNQUOTED([HWINFO], ["${HWINFO}"], [Path to hwinfo binary. (SUSE)]) -+fi -+AC_PATH_PROG([SETLEDS], [setleds], [/bin/setleds], [/sbin:/usr/sbin:/usr/bin:/bin]) -+AC_DEFINE_UNQUOTED([SETLEDS], ["${SETLEDS}"], [Path to setleds binary.]) -+ - # Location of the init scripts as mandated by LSB - SYSTEM_SYSVINIT_PATH=/etc/init.d - SYSTEM_SYSVRCND_PATH=/etc/rc.d -Index: systemd-195/rules/73-seat-numlock.rules -=================================================================== ---- /dev/null -+++ systemd-195/rules/73-seat-numlock.rules -@@ -0,0 +1,8 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-195/src/login/numlock-on.c -=================================================================== ---- /dev/null -+++ systemd-195/src/login/numlock-on.c -@@ -0,0 +1,36 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2012 Stanislav Brabec -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with systemd; If not, see . -+***/ -+ -+#include "config.h" -+#include -+#include -+#include -+ -+int main (int argc, char *argv[]) { -+ static char *args[] = { SETLEDS, "-D", "+num", NULL }; -+ -+ if (argc != 2) -+ return EX_USAGE; -+ close (STDIN_FILENO); -+ if (open (argv[1], O_RDONLY) != STDIN_FILENO) -+ return EX_IOERR; -+ return execv(args[0], args); -+} -Index: systemd-195/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-195.orig/units/systemd-vconsole-setup.service.in -+++ systemd-195/units/systemd-vconsole-setup.service.in -@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup +diff --git a/units/systemd-vconsole-setup.service.in b/units/systemd-vconsole-setup.service.in +index 18faa63..44ebbd0 100644 +--- a/units/systemd-vconsole-setup.service.in ++++ b/units/systemd-vconsole-setup.service.in +@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service diff --git a/handle-root-uses-lang.patch b/handle-root-uses-lang.patch deleted file mode 100644 index 21af5038..00000000 --- a/handle-root-uses-lang.patch +++ /dev/null @@ -1,48 +0,0 @@ -Index: systemd-195/src/core/locale-setup.c -=================================================================== ---- systemd-195.orig/src/core/locale-setup.c -+++ systemd-195/src/core/locale-setup.c -@@ -69,6 +69,11 @@ static const char * const variable_names - int locale_setup(void) { - char *variables[_VARIABLE_MAX]; - int r = 0, i; -+#if defined(TARGET_SUSE) -+ char *root_uses_lang; -+ -+ zero(root_uses_lang); -+#endif - - zero(variables); - -@@ -134,11 +139,21 @@ int locale_setup(void) { - #elif defined(TARGET_SUSE) - if (r <= 0 && - (r = parse_env_file("/etc/sysconfig/language", NEWLINE, -+ "ROOT_USES_LANG", &root_uses_lang, - "RC_LANG", &variables[VARIABLE_LANG], - NULL)) < 0) { - - if (r != -ENOENT) - log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); -+ } else { -+ if (!root_uses_lang || root_uses_lang && strcasecmp(root_uses_lang,"yes") != 0) { -+ if (root_uses_lang && strcasecmp(root_uses_lang,"ctype") == 0) -+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; -+ else -+ free(variables[VARIABLE_LANG]); -+ -+ variables[VARIABLE_LANG]=strdup("POSIX"); -+ } - } - - #elif defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) -@@ -247,5 +262,9 @@ finish: - for (i = 0; i < _VARIABLE_MAX; i++) - free(variables[i]); - -+#if defined(TARGET_SUSE) -+ free(root_uses_lang); -+#endif -+ - return r; - } diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch new file mode 100644 index 00000000..e2ac6c77 --- /dev/null +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -0,0 +1,54 @@ +From: Frederic Crozat +Date: Tue, 4 Dec 2012 16:51:32 +0000 +Subject: handle root_uses_lang value in /etc/sysconfig/language + +handle ROOT_USES_LANG=ctype (bnc#792182). +--- + src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c +index d7113b9..b3fb603 100644 +--- a/src/core/locale-setup.c ++++ b/src/core/locale-setup.c +@@ -70,6 +70,11 @@ static const char * const variable_names[_VARIABLE_MAX] = { + int locale_setup(void) { + char *variables[_VARIABLE_MAX] = {}; + int r = 0, i; ++#ifdef HAVE_SYSV_COMPAT ++ char _cleanup_free_ *root_uses_lang; ++ ++ zero(root_uses_lang); ++#endif + + if (detect_container(NULL) <= 0) { + r = parse_env_file("/proc/cmdline", WHITESPACE, +@@ -117,6 +122,28 @@ int locale_setup(void) { + log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); + } + ++#ifdef HAVE_SYSV_COMPAT ++ if (r <= 0 && ++ (r = parse_env_file("/etc/sysconfig/language", NEWLINE, ++ "ROOT_USES_LANG", &root_uses_lang, ++ "RC_LANG", &variables[VARIABLE_LANG], ++ NULL)) < 0) { ++ ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); ++ } else { ++ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) { ++ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype")) ++ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; ++ else ++ free(variables[VARIABLE_LANG]); ++ ++ variables[VARIABLE_LANG]=strdup("POSIX"); ++ } ++ } ++ ++#endif ++ + if (!variables[VARIABLE_LANG]) { + variables[VARIABLE_LANG] = strdup("C"); + if (!variables[VARIABLE_LANG]) { diff --git a/highlight-ordering-cycle-deletions.patch b/highlight-ordering-cycle-deletions.patch deleted file mode 100644 index 296fdc61..00000000 --- a/highlight-ordering-cycle-deletions.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f09a7d25545b5e3a2dd3dfc1ff7ebc8560a3354c Mon Sep 17 00:00:00 2001 -From: Olivier Brunel -Date: Mon, 5 Nov 2012 00:28:45 +0100 -Subject: [PATCH] systemd: highlight ordering cycle deletions - -Having unit(s) removed/not started, even if it solved the issue and allowed -to boot successfully, should still be considered an error, as something -clearly isn't right. - -This patch elevates the log message from warning to error, and adds a status -message to make things more obvious. ---- - src/core/transaction.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/core/transaction.c b/src/core/transaction.c -index 4bce942..ee6992a 100644 ---- a/src/core/transaction.c -+++ b/src/core/transaction.c -@@ -374,7 +374,8 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi - - - if (delete) { -- log_warning("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); -+ log_error("Breaking ordering cycle by deleting job %s/%s", delete->unit->id, job_type_to_string(delete->type)); -+ status_printf(ANSI_HIGHLIGHT_RED_ON " SKIP " ANSI_HIGHLIGHT_OFF, true, "Ordering cycle found, skip %s", unit_description(delete->unit)); - transaction_delete_unit(tr, delete->unit); - return -EAGAIN; - } --- -1.7.10.4 - diff --git a/hostnamectl-fix-parsing-no-ask-password.patch b/hostnamectl-fix-parsing-no-ask-password.patch deleted file mode 100644 index ac629848..00000000 --- a/hostnamectl-fix-parsing-no-ask-password.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 59f432ea6d6d441d0af7c76c37e80730c8df473a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 15 Nov 2012 22:47:04 +0100 -Subject: [PATCH] hostnamectl: fix parsing of --no-ask-password - ---- - src/hostname/hostnamectl.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-195/src/hostname/hostnamectl.c -=================================================================== ---- systemd-195.orig/src/hostname/hostnamectl.c -+++ systemd-195/src/hostname/hostnamectl.c -@@ -402,6 +402,10 @@ static int parse_argv(int argc, char *ar - arg_set_static = true; - break; - -+ case ARG_NO_ASK_PASSWORD: -+ arg_ask_password = false; -+ break; -+ - case '?': - return -EINVAL; - diff --git a/hostnamectl-fix-set-hostname-with-no-argument.patch b/hostnamectl-fix-set-hostname-with-no-argument.patch deleted file mode 100644 index 15181308..00000000 --- a/hostnamectl-fix-set-hostname-with-no-argument.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f36d7992ef9588e24feaae5bb3d103ca63af71bd Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 29 Oct 2012 20:54:26 +0100 -Subject: [PATCH] hostnamectl: do not choke on set-hostname with no argument - -https://bugzilla.redhat.com/show_bug.cgi?id=871172 ---- - src/hostname/hostnamectl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c -index 1d448bd..e7b2b49 100644 ---- a/src/hostname/hostnamectl.c -+++ b/src/hostname/hostnamectl.c -@@ -430,7 +430,7 @@ static int hostnamectl_main(DBusConnection *bus, int argc, char *argv[], DBusErr - int (* const dispatch)(DBusConnection *bus, char **args, unsigned n); - } verbs[] = { - { "status", LESS, 1, show_status }, -- { "set-hostname", LESS, 2, set_hostname }, -+ { "set-hostname", EQUAL, 2, set_hostname }, - { "set-icon-name", EQUAL, 2, set_icon_name }, - }; - --- -1.7.10.4 - diff --git a/improve-bash-completion.patch b/improve-bash-completion.patch deleted file mode 100644 index b3580f99..00000000 --- a/improve-bash-completion.patch +++ /dev/null @@ -1,173 +0,0 @@ -Index: systemd-195/bash-completion/systemd-bash-completion.sh -=================================================================== ---- systemd-195.orig/bash-completion/systemd-bash-completion.sh -+++ systemd-195/bash-completion/systemd-bash-completion.sh -@@ -114,15 +114,15 @@ _systemctl () { - [SNAPSHOTS]='delete' - [ENVS]='set-environment unset-environment' - [STANDALONE]='daemon-reexec daemon-reload default dot dump -- emergency exit halt kexec list-jobs list-units -- list-unit-files poweroff reboot rescue show-environment' -+ emergency exit halt hybrid-sleep hibernate kexec list-jobs list-units -+ list-unit-files poweroff reboot rescue show-environment suspend' - [NAME]='snapshot load' - [FILE]='link' - ) - - for ((i=0; $i <= $COMP_CWORD; i++)); do - if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && -- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG}]}; then -+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then - verb=${COMP_WORDS[i]} - break - fi -@@ -245,7 +245,7 @@ _loginctl () { - - for ((i=0; $i <= $COMP_CWORD; i++)); do - if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && -- ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG}]}; then -+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then - verb=${COMP_WORDS[i]} - break - fi -@@ -280,10 +280,21 @@ _loginctl () { - } - complete -F _loginctl loginctl - -+__journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} -+ ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} -+ _{P,U,G}ID _COMM _EXE _CMDLINE -+ _AUDIT_{SESSION,LOGINUID} -+ _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID} -+ _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP -+ _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT -+ _KERNEL_{DEVICE,SUBSYSTEM} -+ _UDEV_{SYSNAME,DEVNODE,DEVLINK} -+ __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) -+ - _journalctl() { - local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} - local -A OPTS=( -- [STANDALONE]='-a --all -b --this-boot -f --follow --header -+ [STANDALONE]='-a --all -b --this-boot --disk-usage -f --follow --header - -h --help -l --local --new-id128 -m --merge --no-pager - --no-tail -q --quiet --setup-keys --this-boot --verify - --version' -@@ -291,17 +302,6 @@ _journalctl() { - [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until - --verify-key' - ) -- local journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} -- ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} -- _{P,U,G}ID _COMM _EXE _CMDLINE -- _AUDIT_{SESSION,LOGINUID} -- _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID} -- _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP -- _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT -- _KERNEL_{DEVICE,SUBSYSTEM} -- _UDEV_{SYSNAME,DEVNODE,DEVLINK} -- __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) -- - - if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then - case $prev in -@@ -313,7 +313,7 @@ _journalctl() { - comps='short short-monotonic verbose export json cat' - ;; - --field|-F) -- comps=${journal_fields[*]} -+ comps=${__journal_fields[*]} - ;; - --unit|-u) - comps=$(journalctl -F '_SYSTEMD_UNIT') -@@ -337,7 +337,7 @@ _journalctl() { - COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "$cur") ) - else - compopt -o nospace -- COMPREPLY=( $(compgen -W '${journal_fields[*]}' -S= -- "$cur") ) -+ COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") ) - fi - } - complete -F _journalctl journalctl -@@ -476,3 +476,81 @@ _hostnamectl() { - return 0 - } - complete -F _hostnamectl hostnamectl -+ -+__get_all_sysdevs() { -+ local -a devs=(/sys/bus/*/devices/*/ /sys/class/*/*/) -+ printf '%s\n' "${devs[@]%/}" -+} -+ -+_udevadm() { -+ local i verb comps -+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} -+ local OPTS='-h --help --version --debug' -+ -+ local -A VERBS=( -+ [INFO]='info' -+ [TRIGGER]='trigger' -+ [SETTLE]='settle' -+ [CONTROL]='control' -+ [MONITOR]='monitor' -+ [HWDB]='hwdb' -+ [TESTBUILTIN]='test-builtin' -+ [TEST]='test' -+ ) -+ -+ for ((i=0; $i <= $COMP_CWORD; i++)); do -+ if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && -+ ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then -+ verb=${COMP_WORDS[i]} -+ break -+ fi -+ done -+ -+ if [[ -z $verb && $cur = -* ]]; then -+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) -+ return 0 -+ fi -+ -+ if [[ -z $verb ]]; then -+ comps=${VERBS[*]} -+ -+ elif __contains_word "$verb" ${VERBS[INFO]}; then -+ if [[ $cur = -* ]]; then -+ comps='--help --query= --path= --name= --root --attribute-walk --export-db --cleanup-db' -+ else -+ comps=$( __get_all_sysdevs ) -+ fi -+ -+ elif __contains_word "$verb" ${VERBS[TRIGGER]}; then -+ comps='--help --verbose --dry-run --type= --action= --subsystem-match= -+ --subsystem-nomatch= --attr-match= --attr-nomatch= --property-match= -+ --tag-match= --sysname-match= --parent-match=' -+ -+ elif __contains_word "$verb" ${VERBS[SETTLE]}; then -+ comps='--help --timeout= --seq-start= --seq-end= --exit-if-exists= --quiet' -+ -+ elif __contains_word "$verb" ${VERBS[CONTROL]}; then -+ comps='--help --exit --log-priority= --stop-exec-queue --start-exec-queue -+ --reload --property= --children-max= --timeout=' -+ -+ elif __contains_word "$verb" ${VERBS[MONITOR]}; then -+ comps='--help --kernel --udev --property --subsystem-match= --tag-match=' -+ -+ elif __contains_word "$verb" ${VERBS[HWDB]}; then -+ comps='--help --update --test=' -+ -+ elif __contains_word "$verb" ${VERBS[TEST]}; then -+ if [[ $cur = -* ]]; then -+ comps='--help --action=' -+ else -+ comps=$( __get_all_sysdevs ) -+ fi -+ -+ elif __contains_word "$verb" ${VERBS[TESTBUILTIN]}; then -+ comps='blkid btrfs firmware hwdb input_id kmod net_id path_id usb_id uaccess' -+ fi -+ -+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) -+ return 0 -+} -+complete -F _udevadm udevadm diff --git a/improve-journal-perf.patch b/improve-journal-perf.patch deleted file mode 100644 index 8f0eb8f7..00000000 --- a/improve-journal-perf.patch +++ /dev/null @@ -1,304 +0,0 @@ -From a4bcff5ba36115495994e9f9ba66074471de76ab Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 26 Oct 2012 03:24:03 +0200 -Subject: [PATCH] journal: introduce entry array chain cache - -When traversing entry array chains for a bisection or for retrieving an -item by index we previously always started at the beginning of the -chain. Since we tend to look at the same chains repeatedly, let's cache -where we have been the last time, and maybe we can skip ahead with this -the next time. - -This turns most bisections and index lookups from O(log(n)*log(n)) into -O(log(n)). More importantly however, we seek around on disk much less, -which is good to reduce buffer cache and seek times on rotational disks. ---- - .gitignore | 1 + - Makefile.am | 9 ++++ - src/journal/journal-file.c | 109 +++++++++++++++++++++++++++++++++++++--- - src/journal/journal-file.h | 3 ++ - src/journal/test-journal-enum.c | 53 +++++++++++++++++++ - src/shared/hashmap.c | 19 +++++++ - src/shared/hashmap.h | 3 ++ - 7 files changed, 189 insertions(+), 8 deletions(-) - create mode 100644 src/journal/test-journal-enum.c - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index edf8e7d..6c9deac 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -65,6 +65,9 @@ - /* n_data was the first entry we added after the initial file format design */ - #define HEADER_SIZE_MIN ALIGN64(offsetof(Header, n_data)) - -+/* How many entries to keep in the entry array chain cache at max */ -+#define CHAIN_CACHE_MAX 20 -+ - void journal_file_close(JournalFile *f) { - assert(f); - -@@ -97,6 +100,8 @@ void journal_file_close(JournalFile *f) { - if (f->mmap) - mmap_cache_unref(f->mmap); - -+ hashmap_free_free(f->chain_cache); -+ - #ifdef HAVE_XZ - free(f->compress_buffer); - #endif -@@ -1307,37 +1312,89 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st - return r; - } - -+typedef struct ChainCacheItem { -+ uint64_t first; /* the array at the begin of the chain */ -+ uint64_t array; /* the cached array */ -+ uint64_t begin; /* the first item in the cached array */ -+ uint64_t total; /* the total number of items in all arrays before this one in the chain */ -+} ChainCacheItem; -+ -+static void chain_cache_put( -+ Hashmap *h, -+ ChainCacheItem *ci, -+ uint64_t first, -+ uint64_t array, -+ uint64_t begin, -+ uint64_t total) { -+ -+ if (!ci) { -+ if (hashmap_size(h) >= CHAIN_CACHE_MAX) -+ ci = hashmap_steal_first(h); -+ else { -+ ci = new(ChainCacheItem, 1); -+ if (!ci) -+ return; -+ } -+ -+ ci->first = first; -+ -+ if (hashmap_put(h, &ci->first, ci) < 0) { -+ free(ci); -+ return; -+ } -+ } else -+ assert(ci->first == first); -+ -+ ci->array = array; -+ ci->begin = begin; -+ ci->total = total; -+} -+ - static int generic_array_get(JournalFile *f, - uint64_t first, - uint64_t i, - Object **ret, uint64_t *offset) { - - Object *o; -- uint64_t p = 0, a; -+ uint64_t p = 0, a, t = 0; - int r; -+ ChainCacheItem *ci; - - assert(f); - - a = first; -+ -+ /* Try the chain cache first */ -+ ci = hashmap_get(f->chain_cache, &first); -+ if (ci && i > ci->total) { -+ a = ci->array; -+ i -= ci->total; -+ t = ci->total; -+ } -+ - while (a > 0) { -- uint64_t n; -+ uint64_t k; - - r = journal_file_move_to_object(f, OBJECT_ENTRY_ARRAY, a, &o); - if (r < 0) - return r; - -- n = journal_file_entry_array_n_items(o); -- if (i < n) { -+ k = journal_file_entry_array_n_items(o); -+ if (i < k) { - p = le64toh(o->entry_array.items[i]); -- break; -+ goto found; - } - -- i -= n; -+ i -= k; -+ t += k; - a = le64toh(o->entry_array.next_entry_array_offset); - } - -- if (a <= 0 || p <= 0) -- return 0; -+ return 0; -+ -+found: -+ /* Let's cache this item for the next invocation */ -+ chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t); - - r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o); - if (r < 0) -@@ -1401,11 +1458,38 @@ static int generic_array_bisect(JournalFile *f, - bool subtract_one = false; - Object *o, *array = NULL; - int r; -+ ChainCacheItem *ci; - - assert(f); - assert(test_object); - -+ /* Start with the first array in the chain */ - a = first; -+ -+ ci = hashmap_get(f->chain_cache, &first); -+ if (ci && n > ci->total) { -+ /* Ah, we have iterated this bisection array chain -+ * previously! Let's see if we can skip ahead in the -+ * chain, as far as the last time. But we can't jump -+ * backwards in the chain, so let's check that -+ * first. */ -+ -+ r = test_object(f, ci->begin, needle); -+ if (r < 0) -+ return r; -+ -+ if (r == TEST_LEFT) { -+ /* OK, what we are looking for is right of th -+ * begin of this EntryArray, so let's jump -+ * straight to previously cached array in the -+ * chain */ -+ -+ a = ci->array; -+ n -= ci->total; -+ t = ci->total; -+ } -+ } -+ - while (a > 0) { - uint64_t left, right, k, lp; - -@@ -1486,6 +1570,9 @@ found: - if (subtract_one && t == 0 && i == 0) - return 0; - -+ /* Let's cache this item for the next invocation */ -+ chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t); -+ - if (subtract_one && i == 0) - p = last_p; - else if (subtract_one) -@@ -2265,6 +2352,12 @@ int journal_file_open( - goto fail; - } - -+ f->chain_cache = hashmap_new(uint64_hash_func, uint64_compare_func); -+ if (!f->chain_cache) { -+ r = -ENOMEM; -+ goto fail; -+ } -+ - f->fd = open(f->path, f->flags|O_CLOEXEC, f->mode); - if (f->fd < 0) { - r = -errno; -diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h -index d87cbe4..cdbc8e4 100644 ---- a/src/journal/journal-file.h -+++ b/src/journal/journal-file.h -@@ -33,6 +33,7 @@ - #include "journal-def.h" - #include "util.h" - #include "mmap-cache.h" -+#include "hashmap.h" - - typedef struct JournalMetrics { - uint64_t max_use; -@@ -64,6 +65,8 @@ typedef struct JournalFile { - JournalMetrics metrics; - MMapCache *mmap; - -+ Hashmap *chain_cache; -+ - #ifdef HAVE_XZ - void *compress_buffer; - uint64_t compress_buffer_size; -diff --git a/src/shared/hashmap.c b/src/shared/hashmap.c -index ef78070..dcfbb67 100644 ---- a/src/shared/hashmap.c -+++ b/src/shared/hashmap.c -@@ -147,6 +147,25 @@ int trivial_compare_func(const void *a, const void *b) { - return a < b ? -1 : (a > b ? 1 : 0); - } - -+unsigned uint64_hash_func(const void *p) { -+ uint64_t u; -+ -+ assert_cc(sizeof(uint64_t) == 2*sizeof(unsigned)); -+ -+ u = *(const uint64_t*) p; -+ -+ return (unsigned) ((u >> 32) ^ u); -+} -+ -+int uint64_compare_func(const void *_a, const void *_b) { -+ uint64_t a, b; -+ -+ a = *(const uint64_t*) _a; -+ b = *(const uint64_t*) _b; -+ -+ return a < b ? -1 : (a > b ? 1 : 0); -+} -+ - Hashmap *hashmap_new(hash_func_t hash_func, compare_func_t compare_func) { - bool b; - Hashmap *h; -diff --git a/src/shared/hashmap.h b/src/shared/hashmap.h -index 55dea0a..6fd71cf 100644 ---- a/src/shared/hashmap.h -+++ b/src/shared/hashmap.h -@@ -44,6 +44,9 @@ int string_compare_func(const void *a, const void *b); - unsigned trivial_hash_func(const void *p); - int trivial_compare_func(const void *a, const void *b); - -+unsigned uint64_hash_func(const void *p); -+int uint64_compare_func(const void *a, const void *b); -+ - Hashmap *hashmap_new(hash_func_t hash_func, compare_func_t compare_func); - void hashmap_free(Hashmap *h); - void hashmap_free_free(Hashmap *h); --- -1.8.1.1 - -From 34741aa3e2ee1e67a4cc735b7492aec13f0d822c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 26 Oct 2012 20:25:36 +0200 -Subject: [PATCH] journal: special case the trivial cache chain cache entry - ---- - src/journal/journal-file.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 6c9deac..3df099d 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -1328,6 +1328,11 @@ static void chain_cache_put( - uint64_t total) { - - if (!ci) { -+ /* If the chain item to cache for this chain is the -+ * first one it's not worth caching anything */ -+ if (array == first) -+ return; -+ - if (hashmap_size(h) >= CHAIN_CACHE_MAX) - ci = hashmap_steal_first(h); - else { --- -1.8.1.1 - diff --git a/improve-man-environment.patch b/improve-man-environment.patch deleted file mode 100644 index a5fa5967..00000000 --- a/improve-man-environment.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2cfd1ed4d853be4a22cc102037347c9041bf5ced Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 24 Jan 2013 17:55:42 +0100 -Subject: [PATCH] man: systemd.exec - explicit Environment assignment - -Be more verbose about using space in Environment field and not -using value of other variables - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=840260 ---- - man/systemd.exec.xml | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -Index: systemd-195/man/systemd.exec.xml -=================================================================== ---- systemd-195.orig/man/systemd.exec.xml -+++ systemd-195/man/systemd.exec.xml -@@ -269,9 +269,24 @@ - in which case all listed variables - will be set. If the same variable is - set twice the later setting will -- override the earlier setting. See -+ override the earlier setting. -+ Variable expansion is not performed -+ inside the strings, and $ has no special -+ meaning. -+ If you need to assign a value containing spaces -+ to a variable, use double quotes (") -+ for the assignment. -+ -+ Example: -+ Environment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6" -+ gives three variables VAR1, -+ VAR2, VAR3. -+ -+ -+ -+ See - environ7 -- for details. -+ for details about environment variables. - - - EnvironmentFile= diff --git a/improve-overflow-checks.patch b/improve-overflow-checks.patch deleted file mode 100644 index c4952082..00000000 --- a/improve-overflow-checks.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 3dd8ee8fa693597663b0338235becbb0b7a9520c Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 25 Oct 2012 16:16:17 +0200 -Subject: [PATCH] util: fix possible integer overflows - ---- - src/shared/util.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -152,6 +152,9 @@ usec_t timespec_load(const struct timesp - ts->tv_nsec == (long) -1) - return (usec_t) -1; - -+ if ((usec_t) ts->tv_sec > (UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / USEC_PER_SEC) -+ return (usec_t) -1; -+ - return - (usec_t) ts->tv_sec * USEC_PER_SEC + - (usec_t) ts->tv_nsec / NSEC_PER_USEC; -@@ -179,6 +182,9 @@ usec_t timeval_load(const struct timeval - tv->tv_usec == (suseconds_t) -1) - return (usec_t) -1; - -+ if ((usec_t) tv->tv_sec > (UINT64_MAX - tv->tv_usec) / USEC_PER_SEC) -+ return (usec_t) -1; -+ - return - (usec_t) tv->tv_sec * USEC_PER_SEC + - (usec_t) tv->tv_usec; diff --git a/job-avoid-recursion-when-cancelling.patch b/job-avoid-recursion-when-cancelling.patch deleted file mode 100644 index a87dff39..00000000 --- a/job-avoid-recursion-when-cancelling.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 1abc85b8d026a2d72442b0edaee5213d0ee73c1f Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 25 Oct 2012 02:31:49 +0200 -Subject: [PATCH] job: avoid recursion into transaction code from job - cancelation - -I hit an "assert(j->installed)" failure in transaction_apply(). Looking -into the backtrace I saw what happened: -1. The system was booting. var.mount/start was an installed job. -2. I pressed Ctrl+Alt+Del. -3. reboot.target was going to be isolated. -4. transaction_apply() proceeded to install a var.mount/stop job. -5. job_install() canceled the conflicting start job. -6. Depending jobs ended recursively with JOB_DEPENDENCY, among them was - local-fs.target/start. -7. Its OnFailure action triggered - emergency.target was now going to be - isolated. -8. We recursed back into transaction_apply() where the half-installed - var.mount/stop job confused us. - -Recursing from job installation back into the transaction code cannot be -a good idea. Avoid the problem by canceling the conflicting job -non-recursively in job_install(). I don't think we'll miss anything by -not recursing here. After all, we are called from transaction_apply(). -We will not be installing just this one job, but all jobs from a -transaction. All requirement dependencies will be included in it and -will be installed separately. Every transaction job will get a chance -to cancel its own conflicting installed job. ---- - src/core/job.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/job.c b/src/core/job.c -index cb5674b..f08b8cb 100644 ---- a/src/core/job.c -+++ b/src/core/job.c -@@ -180,7 +180,7 @@ Job* job_install(Job *j) { - - if (uj) { - if (j->type != JOB_NOP && job_type_is_conflicting(uj->type, j->type)) -- job_finish_and_invalidate(uj, JOB_CANCELED, true); -+ job_finish_and_invalidate(uj, JOB_CANCELED, false); - else { - /* not conflicting, i.e. mergeable */ - --- -1.7.10.4 - diff --git a/journal-fix-cutoff-max-date.patch b/journal-fix-cutoff-max-date.patch deleted file mode 100644 index c939a61e..00000000 --- a/journal-fix-cutoff-max-date.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0f91dd8749c1a1ec308cc645269be92166413e38 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 26 Oct 2012 01:07:41 +0200 -Subject: [PATCH] journal: properly determine cutoff max date - ---- - src/journal/sd-journal.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c -index 09b0eb8..d5d2d78 100644 ---- a/src/journal/sd-journal.c -+++ b/src/journal/sd-journal.c -@@ -2121,7 +2121,7 @@ _public_ int sd_journal_get_cutoff_realtime_usec(sd_journal *j, uint64_t *from, - if (from) - *from = MIN(fr, *from); - if (to) -- *to = MIN(t, *to); -+ *to = MAX(t, *to); - } - } - -@@ -2160,7 +2160,7 @@ _public_ int sd_journal_get_cutoff_monotonic_usec(sd_journal *j, sd_id128_t boot - if (from) - *from = MIN(fr, *from); - if (to) -- *to = MIN(t, *to); -+ *to = MAX(t, *to); - } - } - --- -1.7.10.4 - diff --git a/journal-send-always-send-syslog_identifier.patch b/journal-send-always-send-syslog_identifier.patch deleted file mode 100644 index 37af56fd..00000000 --- a/journal-send-always-send-syslog_identifier.patch +++ /dev/null @@ -1,62 +0,0 @@ -From ee55db41442ad8055f5a84a339b1e0e22bc037c4 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 20 Nov 2012 21:25:26 +0100 -Subject: [PATCH] journal-send: always send SYSLOG_IDENTIFIER, if we have it - -https://bugzilla.redhat.com/show_bug.cgi?id=872193 ---- - src/journal/journal-send.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -Index: systemd-195/src/journal/journal-send.c -=================================================================== ---- systemd-195.orig/src/journal/journal-send.c -+++ systemd-195/src/journal/journal-send.c -@@ -208,6 +208,7 @@ _public_ int sd_journal_sendv(const stru - * be a tmpfs, and one that is available from early boot on - * and where unprivileged users can create files. */ - char path[] = "/dev/shm/journal.XXXXXX"; -+ bool have_syslog_identifier = false; - - if (_unlikely_(!iov)) - return -EINVAL; -@@ -217,7 +218,7 @@ _public_ int sd_journal_sendv(const stru - - saved_errno = errno; - -- w = alloca(sizeof(struct iovec) * n * 5); -+ w = alloca(sizeof(struct iovec) * n * 5 + 3); - l = alloca(sizeof(uint64_t) * n); - - for (i = 0; i < n; i++) { -@@ -234,6 +235,9 @@ _public_ int sd_journal_sendv(const stru - goto finish; - } - -+ have_syslog_identifier = -+ have_syslog_identifier || (c == iov[i].iov_base + 17 && memcmp(iov[i].iov_base, "SYSLOG_IDENTIFIER", 17) == 0); -+ - nl = memchr(iov[i].iov_base, '\n', iov[i].iov_len); - if (nl) { - if (_unlikely_(nl < c)) { -@@ -269,6 +273,20 @@ _public_ int sd_journal_sendv(const stru - IOVEC_SET_STRING(w[j++], "\n"); - } - -+ if (!have_syslog_identifier && -+ string_is_safe(program_invocation_short_name)) { -+ -+ /* Implicitly add program_invocation_short_name, if it -+ * is not set explicitly. We only do this for -+ * program_invocation_short_name, and nothing else -+ * since everything else is much nicer to retrieve -+ * from the outside. */ -+ -+ IOVEC_SET_STRING(w[j++], "SYSLOG_IDENTIFIER="); -+ IOVEC_SET_STRING(w[j++], program_invocation_short_name); -+ IOVEC_SET_STRING(w[j++], "\n"); -+ } -+ - fd = journal_fd(); - if (_unlikely_(fd < 0)) { - r = fd; diff --git a/journalctl-quit-on-io-error.patch b/journalctl-quit-on-io-error.patch deleted file mode 100644 index 56d2dd18..00000000 --- a/journalctl-quit-on-io-error.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 244692cbfb46df5ff79d07da8fb848a1165bd2fb Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Sun, 13 Jan 2013 12:28:38 +0100 -Subject: [PATCH] journalctl: quit on I/O error - -This makes journalctl quit on ferror() conditions on stdout. It fixes an -annoying bug if you pipe its output through 'less' and press 'q'. Without -this fix journalctl will continue reading all journal data until EOF which -can take quite some time. For instance on my machine: - - david-nb ~ # time journalctl | wc -l - 327240 - - real 1m13.039s - user 1m0.217s - sys 0m10.467s - -However, expected behavior is journalctl to quit when its pager closed the -output pipe. - -Signed-off-by: David Herrmann ---- - src/journal/journalctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/journal/journalctl.c -=================================================================== ---- systemd-195.orig/src/journal/journalctl.c -+++ systemd-195/src/journal/journalctl.c -@@ -1035,7 +1035,7 @@ int main(int argc, char *argv[]) { - on_tty() * OUTPUT_COLOR; - - r = output_journal(stdout, j, arg_output, 0, flags); -- if (r < 0) -+ if (r < 0 || ferror(stdout)) - goto finish; - - need_seek = true; diff --git a/journalctl-remove-leftover-message.patch b/journalctl-remove-leftover-message.patch deleted file mode 100644 index 5ba122fa..00000000 --- a/journalctl-remove-leftover-message.patch +++ /dev/null @@ -1,25 +0,0 @@ -From db87a36e74ff26d1046a451ee086c9a2c4113d12 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 24 Oct 2012 01:05:55 +0200 -Subject: [PATCH] journalctl: remove left-over log message - ---- - src/journal/journalctl.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c -index d1338d2..0f20448 100644 ---- a/src/journal/journalctl.c -+++ b/src/journal/journalctl.c -@@ -547,8 +547,6 @@ static int add_priorities(sd_journal *j) { - if (arg_priorities & (1 << i)) { - match[sizeof(match)-2] = '0' + i; - -- log_info("adding match %s", match); -- - r = sd_journal_add_match(j, match, strlen(match)); - if (r < 0) { - log_error("Failed to add match: %s", strerror(-r)); --- -1.7.10.4 - diff --git a/journalctl-require-argument-for-priority b/journalctl-require-argument-for-priority deleted file mode 100644 index 871ac96e..00000000 --- a/journalctl-require-argument-for-priority +++ /dev/null @@ -1,24 +0,0 @@ -From 71c015969233c21ea38b1e63993d02fe171df672 Mon Sep 17 00:00:00 2001 -From: Lekensteyn -Date: Thu, 15 Nov 2012 12:17:03 +0100 -Subject: [PATCH] journalctl: require argument for --priority - -This fixes a segfault due to a missing value for --priority. -p is -unaffected because it is specified in the getopt_long parameter list. ---- - src/journal/journalctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/journal/journalctl.c -=================================================================== ---- systemd-195.orig/src/journal/journalctl.c -+++ systemd-195/src/journal/journalctl.c -@@ -158,7 +158,7 @@ static int parse_argv(int argc, char *ar - { "this-boot", no_argument, NULL, 'b' }, - { "directory", required_argument, NULL, 'D' }, - { "header", no_argument, NULL, ARG_HEADER }, -- { "priority", no_argument, NULL, 'p' }, -+ { "priority", required_argument, NULL, 'p' }, - { "setup-keys", no_argument, NULL, ARG_SETUP_KEYS }, - { "interval", required_argument, NULL, ARG_INTERVAL }, - { "verify", no_argument, NULL, ARG_VERIFY }, diff --git a/localectl-fix-assertion.patch b/localectl-fix-assertion.patch deleted file mode 100644 index 6b1dac55..00000000 --- a/localectl-fix-assertion.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 6b2b6f30e38d67b032d6bdc6b47ae05e143e96c5 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Wed, 12 Dec 2012 22:24:04 +0100 -Subject: [PATCH] localectl: fix dbus call arguments in set_x11_keymap - -Fixes an assertion failure in the dbus lib. -https://bugzilla.redhat.com/show_bug.cgi?id=882212 ---- - src/locale/localectl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/locale/localectl.c -=================================================================== ---- systemd-195.orig/src/locale/localectl.c -+++ systemd-195/src/locale/localectl.c -@@ -535,7 +535,7 @@ static int set_x11_keymap(DBusConnection - layout = args[1]; - model = n > 2 ? args[2] : ""; - variant = n > 3 ? args[3] : ""; -- options = n > 3 ? args[4] : ""; -+ options = n > 4 ? args[4] : ""; - b = arg_convert; - - return bus_method_call_with_reply( diff --git a/localectl-support-systems-without-locale-archive.patch b/localectl-support-systems-without-locale-archive.patch deleted file mode 100644 index fffba30d..00000000 --- a/localectl-support-systems-without-locale-archive.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 17d33cecaa762f7e43200307328af5e9135e2091 Mon Sep 17 00:00:00 2001 -From: Giovanni Campagna -Date: Sat, 5 Jan 2013 01:29:53 +0100 -Subject: [PATCH] localectl: support systems without locale-archive - -Not all systems ships with locales inside /usr/lib/locale-archive, some -prefer to have locale data as individual subdirectories of /usr/lib/locale. -(A notable example of this is OpenEmbeddded, and OSes deriving from it -like gnome-ostree). -Given that glibc supports both ways, localectl should too. ---- - src/locale/localectl.c | 101 ++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 85 insertions(+), 16 deletions(-) - -Index: systemd-195/src/locale/localectl.c -=================================================================== ---- systemd-195.orig/src/locale/localectl.c -+++ systemd-195/src/locale/localectl.c -@@ -265,7 +265,7 @@ finish: - return r; - } - --static int list_locales(DBusConnection *bus, char **args, unsigned n) { -+static int add_locales_from_archive(Set *locales) { - /* Stolen from glibc... */ - - struct locarhead { -@@ -303,21 +303,15 @@ static int list_locales(DBusConnection * - const struct namehashent *e; - const void *p = MAP_FAILED; - _cleanup_close_ int fd = -1; -- _cleanup_strv_free_ char **l = NULL; -- char **j; -- Set *locales; - size_t sz = 0; - struct stat st; - unsigned i; - int r; - -- locales = set_new(string_hash_func, string_compare_func); -- if (!locales) -- return log_oom(); -- - fd = open("/usr/lib/locale/locale-archive", O_RDONLY|O_NOCTTY|O_CLOEXEC); - if (fd < 0) { -- log_error("Failed to open locale archive: %m"); -+ if (errno != ENOENT) -+ log_error("Failed to open locale archive: %m"); - r = -errno; - goto finish; - } -@@ -378,15 +372,93 @@ static int list_locales(DBusConnection * - } - } - -+ r = 0; -+ -+ finish: -+ if (p != MAP_FAILED) -+ munmap((void*) p, sz); -+ -+ return r; -+} -+ -+static int add_locales_from_libdir (Set *locales) { -+ DIR *dir; -+ struct dirent *entry; -+ int r; -+ -+ dir = opendir("/usr/lib/locale"); -+ if (!dir) { -+ log_error("Failed to open locale directory: %m"); -+ r = -errno; -+ goto finish; -+ } -+ -+ errno = 0; -+ while ((entry = readdir(dir))) { -+ char *z; -+ -+ if (entry->d_type != DT_DIR) -+ continue; -+ -+ if (ignore_file(entry->d_name)) -+ continue; -+ -+ z = strdup(entry->d_name); -+ if (!z) { -+ r = log_oom(); -+ goto finish; -+ } -+ -+ r = set_put(locales, z); -+ if (r < 0) { -+ free(z); -+ -+ if (r != -EEXIST) { -+ log_error("Failed to add locale: %s", strerror(-r)); -+ goto finish; -+ } -+ } -+ -+ errno = 0; -+ } -+ -+ if (errno != 0) { -+ log_error("Failed to read locale directory: %m"); -+ r = -errno; -+ goto finish; -+ } -+ -+ r = 0; -+ -+ finish: -+ closedir(dir); -+ return r; -+} -+ -+static int list_locales(DBusConnection *bus, char **args, unsigned n) { -+ Set *locales; -+ _cleanup_strv_free_ char **l = NULL; -+ char **j; -+ int r; -+ -+ locales = set_new(string_hash_func, string_compare_func); -+ if (!locales) -+ return log_oom(); -+ -+ r = add_locales_from_archive(locales); -+ if (r < 0 && r != -ENOENT) -+ goto finish; -+ -+ r = add_locales_from_libdir(locales); -+ if (r < 0) -+ goto finish; -+ - l = set_get_strv(locales); - if (!l) { - r = log_oom(); - goto finish; - } - -- set_free(locales); -- locales = NULL; -- - strv_sort(l); - - pager_open_if_enabled(); -@@ -397,10 +469,7 @@ static int list_locales(DBusConnection * - r = 0; - - finish: -- if (p != MAP_FAILED) -- munmap((void*) p, sz); -- -- set_free_free(locales); -+ set_free(locales); - - return r; - } diff --git a/lock-opensuse.patch b/lock-opensuse.patch deleted file mode 100644 index 0fa59df5..00000000 --- a/lock-opensuse.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: systemd-37/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-37.orig/tmpfiles.d/legacy.conf -+++ systemd-37/tmpfiles.d/legacy.conf -@@ -17,6 +17,8 @@ - # On modern systems a BSD file lock is a better choice if - # serialization is needed on those devices. - --d /run/lock 0755 root root - --d /run/lock/subsys 0755 root root - --d /run/lock/lockdev 0775 root lock - -+# changed for openSUSE : only /run/lock should be available -+ -+d /run/lock 0775 root lock - -+#d /run/lock/subsys 0755 root root - -+#d /run/lock/lockdev 0775 root lock - diff --git a/logind-capability-making-seats-without-fb.patch b/logind-capability-making-seats-without-fb.patch deleted file mode 100644 index a74de2a5..00000000 --- a/logind-capability-making-seats-without-fb.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 955f9bde9ba6d9f0a7364d5cb7c0cee951d5caab Mon Sep 17 00:00:00 2001 -From: Oleg Samarin -Date: Sat, 5 Jan 2013 20:33:37 +0400 -Subject: [PATCH] logind: Capability of making seats without framebuffer - devices - -file logind.c: The seat is now activated by any device with udev tag "seat-master" -file 71-seat.rules.in: All framebuffer devices have this tag ---- - src/login/71-seat.rules.in | 2 +- - src/login/logind.c | 12 ++---------- - 2 files changed, 3 insertions(+), 11 deletions(-) - -Index: systemd-195/src/login/71-seat.rules.in -=================================================================== ---- systemd-195.orig/src/login/71-seat.rules.in -+++ systemd-195/src/login/71-seat.rules.in -@@ -10,7 +10,7 @@ ACTION=="remove", GOTO="seat_end" - TAG=="uaccess", SUBSYSTEM!="sound", TAG+="seat" - SUBSYSTEM=="sound", KERNEL=="card*", TAG+="seat" - SUBSYSTEM=="input", KERNEL=="input*", TAG+="seat" --SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat" -+SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="seat-master" - SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat" - - # 'Plugable' USB hub, sound, network, graphics adapter -Index: systemd-195/src/login/logind.c -=================================================================== ---- systemd-195.orig/src/login/logind.c -+++ systemd-195/src/login/logind.c -@@ -450,11 +450,7 @@ int manager_enumerate_devices(Manager *m - goto finish; - } - -- r = udev_enumerate_add_match_subsystem(e, "graphics"); -- if (r < 0) -- goto finish; -- -- r = udev_enumerate_add_match_tag(e, "seat"); -+ r = udev_enumerate_add_match_tag(e, "seat-master"); - if (r < 0) - goto finish; - -@@ -1286,11 +1282,7 @@ static int manager_connect_udev(Manager - if (!m->udev_seat_monitor) - return -ENOMEM; - -- r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat"); -- if (r < 0) -- return r; -- -- r = udev_monitor_filter_add_match_subsystem_devtype(m->udev_seat_monitor, "graphics", NULL); -+ r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat-master"); - if (r < 0) - return r; - diff --git a/logind-ignore-non-tty-non-x11-session-on-shutdown.patch b/logind-ignore-non-tty-non-x11-session-on-shutdown.patch deleted file mode 100644 index 116d101a..00000000 --- a/logind-ignore-non-tty-non-x11-session-on-shutdown.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 1ca04b87979b2add53ebb8a7fdf13c34fb6c2743 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 14 Jan 2013 21:40:38 +0100 -Subject: [PATCH] logind: ignore non-tty/non-x11 session when checking if - there are other sessions before shutting down - -https://bugzilla.redhat.com/show_bug.cgi?id=890827 ---- - src/login/logind-dbus.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-195/src/login/logind-dbus.c -=================================================================== ---- systemd-195.orig/src/login/logind-dbus.c -+++ systemd-195/src/login/logind-dbus.c -@@ -971,9 +971,12 @@ static int have_multiple_sessions( - - assert(m); - -- /* Check for other users' sessions. Greeter sessions do not count. */ -+ /* Check for other users' sessions. Greeter sessions do not -+ * count, and non-login sessions do not count either. */ - HASHMAP_FOREACH(session, m->sessions, i) -- if (session->class == SESSION_USER && session->user->uid != uid) -+ if (session->class == SESSION_USER && -+ (session->type == SESSION_TTY || session->type == SESSION_X11) && -+ session->user->uid != uid) - return true; - - return false; diff --git a/macros.systemd b/macros.systemd index 68ff8780..dc70ceb7 100644 --- a/macros.systemd +++ b/macros.systemd @@ -1,3 +1,4 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- */ # RPM macros for packages installing systemd unit files # ### @@ -28,6 +29,12 @@ Requires(preun): systemd \ Requires(postun): systemd \ %_unitdir /usr/lib/systemd/system +%_presetdir /usr/lib/systemd/system-preset +%_udevhwdbdir /usr/lib/udev/hwdb.d +%_udevrulesdir /usr/lib/udev/rules.d +%_journalcatalogdir /usr/lib/systemd/catalog +%_tmpfilesdir /usr/lib/tmpfiles.d +%_sysctldir /usr/lib/sysctl.d %service_add_pre() \ test -n "$FIRST_ARG" || FIRST_ARG=$1 \ @@ -95,3 +102,14 @@ else # package uninstall \ fi \ %{nil} +%udev_hwdb_update() \ +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : \ +%{nil} + +%udev_rules_update() \ +/usr/bin/udevadm control --reload >/dev/null 2>&1 || : \ +%{nil} + +%journal_catalog_update() \ +/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : \ +%{nil} diff --git a/modules_on_boot.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch similarity index 56% rename from modules_on_boot.patch rename to module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch index 8257954e..238d23be 100644 --- a/modules_on_boot.patch +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -1,32 +1,32 @@ -From 051e407e1af70e779c092c81733a98832c29d6b4 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Wed, 12 Oct 2011 15:18:29 +0200 -Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list +Subject: module-load: handle SUSE /etc/sysconfig/kernel module list --- - src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - 1 files changed, 42 insertions(+), 0 deletions(-) + src/modules-load/modules-load.c | 27 ++++++++++++++++++++++++++- + units/systemd-modules-load.service.in | 1 + + 2 files changed, 27 insertions(+), 1 deletion(-) -Index: systemd-191/src/modules-load/modules-load.c -=================================================================== ---- systemd-191.orig/src/modules-load/modules-load.c -+++ systemd-191/src/modules-load/modules-load.c -@@ -173,6 +173,9 @@ int main(int argc, char *argv[]) { - int r = EXIT_FAILURE, k; - char **files = NULL, **fn, **i; +diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c +index 7b19ee0..36b1a68 100644 +--- a/src/modules-load/modules-load.c ++++ b/src/modules-load/modules-load.c +@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *argv[]) { + int main(int argc, char *argv[]) { + int r, k; struct kmod_ctx *ctx; -+#if defined(TARGET_SUSE) -+ char *modules_on_boot = NULL; ++#ifdef HAVE_SYSV_COMPAT ++ _cleanup_free_ char *modules_on_boot = NULL; +#endif - if (argc > 1) { - log_error("This program takes no argument."); -@@ -256,9 +259,34 @@ int main(int argc, char *argv[]) { - - fclose(f); + r = parse_argv(argc, argv); + if (r <= 0) +@@ -318,7 +321,29 @@ int main(int argc, char *argv[]) { + r = k; + } } - -+#if defined(TARGET_SUSE) ++#ifdef HAVE_SYSV_COMPAT + log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); + if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, + "MODULES_LOADED_ON_BOOT", &modules_on_boot, @@ -50,17 +50,12 @@ Index: systemd-191/src/modules-load/modules-load.c + } +#endif finish: - strv_free(files); -+#if defined(TARGET_SUSE) -+ free(modules_on_boot); -+#endif kmod_unref(ctx); strv_free(arg_proc_cmdline_modules); - -Index: systemd-191/units/systemd-modules-load.service.in -=================================================================== ---- systemd-191.orig/units/systemd-modules-load.service.in -+++ systemd-191/units/systemd-modules-load.service.in +diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in +index 32deb52..2e26d2f 100644 +--- a/units/systemd-modules-load.service.in ++++ b/units/systemd-modules-load.service.in @@ -13,6 +13,7 @@ Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service Before=sysinit.target shutdown.target diff --git a/mount-efivars.patch b/mount-efivars.patch deleted file mode 100644 index 23cb3a8c..00000000 --- a/mount-efivars.patch +++ /dev/null @@ -1,233 +0,0 @@ -From f271dd97622b656c1c013d181ea615c671cc2438 Mon Sep 17 00:00:00 2001 -From: "Lee, Chun-Yi" -Date: Sat, 27 Oct 2012 11:23:22 +0800 -Subject: [PATCH] systemd: mount the EFI variable filesystem -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add efivarfs to the mount_table in mount-setup.c, so the EFI variable -filesystem will be mounted when systemd executed. - -The EFI variable filesystem will merge in v3.7 or v3.8 linux kernel. - -Cc: Kay Sievers -Cc: Lennart Poettering -Cc: Mantas Mikulėnas -Cc: Zbigniew Jędrzejewski-Szmek -Cc: Matt Fleming -Cc: Jeremy Kerr -Cc: Matthew Garrett -Signed-off-by: Lee, Chun-Yi ---- - src/core/kmod-setup.c | 7 ++++--- - src/core/mount-setup.c | 1 + - 2 files changed, 5 insertions(+), 3 deletions(-) - -Index: systemd-195/src/core/kmod-setup.c -=================================================================== ---- systemd-195.orig/src/core/kmod-setup.c -+++ systemd-195/src/core/kmod-setup.c -@@ -30,10 +30,16 @@ - - #include "kmod-setup.h" - --static const char * const kmod_table[] = { -- "autofs4", "/sys/class/misc/autofs", -- "ipv6", "/sys/module/ipv6", -- "unix", "/proc/net/unix" -+typedef struct Kmodule { -+ const char *name; -+ const char *directory; -+ bool (*condition_fn)(void); -+} KModule; -+ -+static const KModule kmod_table[] = { -+ { "autofs4", "/sys/class/misc/autofs", NULL } , -+ { "ipv6", "/sys/module/ipv6", NULL }, -+ { "unix", "/proc/net/unix", NULL } , - }; - - #pragma GCC diagnostic push -@@ -41,7 +47,8 @@ static const char * const kmod_table[] = - static void systemd_kmod_log(void *data, int priority, const char *file, int line, - const char *fn, const char *format, va_list args) - { -- log_metav(priority, file, line, fn, format, args); -+ /* library logging is enabled at debug only */ -+ log_metav(LOG_DEBUG, file, line, fn, format, args); - } - #pragma GCC diagnostic pop - -@@ -52,13 +59,15 @@ int kmod_setup(void) { - int err; - - for (i = 0; i < ELEMENTSOF(kmod_table); i += 2) { -+ if (kmod_table[i].condition_fn && !kmod_table[i].condition_fn()) -+ continue; - -- if (access(kmod_table[i+1], F_OK) >= 0) -+ if (access(kmod_table[i].directory, F_OK) >= 0) - continue; - - log_debug("Your kernel apparently lacks built-in %s support. Might be a good idea to compile it in. " - "We'll now try to work around this by loading the module...", -- kmod_table[i]); -+ kmod_table[i].name); - - if (!ctx) { - ctx = kmod_new(NULL, NULL); -@@ -68,13 +77,12 @@ int kmod_setup(void) { - } - - kmod_set_log_fn(ctx, systemd_kmod_log, NULL); -- - kmod_load_resources(ctx); - } - -- err = kmod_module_new_from_name(ctx, kmod_table[i], &mod); -+ err = kmod_module_new_from_name(ctx, kmod_table[i].name, &mod); - if (err < 0) { -- log_error("Failed to load module '%s'", kmod_table[i]); -+ log_error("Failed to lookup module '%s'", kmod_table[i].name); - continue; - } - -@@ -84,7 +92,7 @@ int kmod_setup(void) { - else if (err == KMOD_PROBE_APPLY_BLACKLIST) - log_info("Module '%s' is blacklisted", kmod_module_get_name(mod)); - else -- log_error("Failed to insert '%s'", kmod_module_get_name(mod)); -+ log_error("Failed to insert module '%s'", kmod_module_get_name(mod)); - - kmod_module_unref(mod); - } -Index: systemd-195/src/core/mount-setup.c -=================================================================== ---- systemd-195.orig/src/core/mount-setup.c -+++ systemd-195/src/core/mount-setup.c -@@ -46,14 +46,20 @@ - #define TTY_GID 5 - #endif - -+typedef enum MountMode { -+ MNT_NONE = 0, -+ MNT_FATAL = 1 << 0, -+ MNT_IN_CONTAINER = 1 << 1, -+} MountMode; -+ - typedef struct MountPoint { - const char *what; - const char *where; - const char *type; - const char *options; - unsigned long flags; -- bool fatal; -- bool in_container; -+ bool (*condition_fn)(void); -+ MountMode mode; - } MountPoint; - - /* The first three entries we might need before SELinux is up. The -@@ -62,15 +68,26 @@ typedef struct MountPoint { - #define N_EARLY_MOUNT 4 - - static const MountPoint mount_table[] = { -- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, -- { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, true, true }, -- { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, true, true }, -- { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false }, -- { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, -- { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false, true }, -- { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, true, true }, -- { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, false, true }, -- { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, false, true }, -+ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ NULL, MNT_NONE }, -+ { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ is_efiboot, MNT_NONE }, -+ { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, -+ NULL, MNT_IN_CONTAINER }, -+ { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, -+ NULL, MNT_IN_CONTAINER }, -+ { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ NULL, MNT_IN_CONTAINER }, - }; - - /* These are API file systems that might be mounted by other software, -@@ -118,6 +135,9 @@ static int mount_one(const MountPoint *p - - assert(p); - -+ if (p->condition_fn && !p->condition_fn()) -+ return 0; -+ - /* Relabel first, just in case */ - if (relabel) - label_fix(p->where, true, true); -@@ -130,7 +150,7 @@ static int mount_one(const MountPoint *p - return 0; - - /* Skip securityfs in a container */ -- if (!p->in_container && detect_container(NULL) > 0) -+ if (!(p->mode & MNT_IN_CONTAINER) && detect_container(NULL) > 0) - return 0; - - /* The access mode here doesn't really matter too much, since -@@ -148,8 +168,8 @@ static int mount_one(const MountPoint *p - p->type, - p->flags, - p->options) < 0) { -- log_full(p->fatal ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno)); -- return p->fatal ? -errno : 0; -+ log_full((p->mode & MNT_FATAL) ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno)); -+ return (p->mode & MNT_FATAL) ? -errno : 0; - } - - /* Relabel again, since we now mounted something fresh here */ -@@ -288,7 +308,6 @@ int mount_cgroup_controllers(char ***joi - p.type = "cgroup"; - p.options = options; - p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV; -- p.fatal = false; - - r = mount_one(&p, true); - free(controller); -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -75,6 +75,10 @@ char **saved_argv = NULL; - static volatile unsigned cached_columns = 0; - static volatile unsigned cached_lines = 0; - -+bool is_efiboot(void) { -+ return access("/sys/firmware/efi", F_OK) >= 0; -+} -+ - size_t page_size(void) { - static __thread size_t pgsz = 0; - long r; -Index: systemd-195/src/shared/util.h -=================================================================== ---- systemd-195.orig/src/shared/util.h -+++ systemd-195/src/shared/util.h -@@ -90,6 +90,8 @@ union dirent_storage { - #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m" - #define ANSI_HIGHLIGHT_OFF "\x1B[0m" - -+bool is_efiboot(void); -+ - usec_t now(clockid_t clock); - - dual_timestamp* dual_timestamp_get(dual_timestamp *ts); diff --git a/multiple-sulogin.patch b/multiple-sulogin.patch deleted file mode 100644 index 96619d43..00000000 --- a/multiple-sulogin.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: systemd-195/units/getty@.service.m4 -=================================================================== ---- systemd-195.orig/units/getty@.service.m4 -+++ systemd-195/units/getty@.service.m4 -@@ -8,6 +8,7 @@ - [Unit] - Description=Getty on %I - Documentation=man:agetty(8) -+Conflicts=rescue.service - After=systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`TARGET_FEDORA', - After=rc-local.service -Index: systemd-195/units/rescue.target -=================================================================== ---- systemd-195.orig/units/rescue.target -+++ systemd-195/units/rescue.target -@@ -10,6 +10,7 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service -+Conflicts=getty.target - AllowIsolate=yes - - [Install] -Index: systemd-195/units/serial-getty@.service.m4 -=================================================================== ---- systemd-195.orig/units/serial-getty@.service.m4 -+++ systemd-195/units/serial-getty@.service.m4 -@@ -9,6 +9,7 @@ - Description=Serial Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - BindsTo=dev-%i.device -+Conflicts=rescue.service - After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`TARGET_FEDORA', - After=rc-local.service diff --git a/nss-myhostname-config b/nss-myhostname-config new file mode 100644 index 00000000..110db7a2 --- /dev/null +++ b/nss-myhostname-config @@ -0,0 +1,31 @@ +#!/bin/bash +# sed calls copied from fedora package +set -e + +case "$1" in + --help) + echo "$0 [--enable|--disable]" + exit 0 + ;; + --enable) + sed -i.bak -e ' + /^hosts:/ !b + /\/ b + s/[[:blank:]]*$/ myhostname/ + ' /etc/nsswitch.conf + ;; + --disable) + sed -i.bak -e ' + /^hosts:/ !b + s/[[:blank:]]\+myhostname\>// + ' /etc/nsswitch.conf + ;; + "") + if grep -q "^hosts:.*\" /etc/nsswitch.conf; then + echo "enabled" + else + echo "disabled" + fi + ;; + *) echo "invalid argument $1"; exit 1 ;; +esac diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch new file mode 100644 index 00000000..7a75fad5 --- /dev/null +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -0,0 +1,109 @@ +From: Ludwig Nussel +Date: Fri, 20 May 2011 15:38:46 +0200 +Subject: optionally warn if nss-myhostname is called + +--- + configure.ac | 11 +++++++++++ + src/nss-myhostname/nss-myhostname.c | 35 +++++++++++++++++++++++++++++++++++ + 2 files changed, 46 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 5173783..e58d694 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -714,6 +714,17 @@ if test "x$enable_myhostname" != "xno"; then + fi + AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) + ++if test "x$have_myhostname" != "xno"; then ++ AC_MSG_CHECKING([log warning messages for nss-myhostname]) ++ AC_ARG_WITH(nss-my-hostname-warning, AS_HELP_STRING([--with-nss-my-hostname-warning], [log warning to syslog when nss-myhostname is called (default=no)]),[],[with_nss_my_hostname_warning=no]) ++ AC_MSG_RESULT([$with_nss_my_hostname_warning]) ++ ++ if test x$with_nss_my_hostname_warning != xno; then ++ AC_CHECK_HEADERS([syslog.h]) ++ AC_DEFINE([LOG_NSS_MY_HOSTNAME_WARNING],[1],[whether to log warning message for nss-myhostname]) ++ fi ++fi ++ + # ------------------------------------------------------------------------------ + AC_ARG_WITH(firmware-path, + AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], +diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c +index 884eb99..dbd9a2d 100644 +--- a/src/nss-myhostname/nss-myhostname.c ++++ b/src/nss-myhostname/nss-myhostname.c +@@ -30,6 +30,9 @@ + #include + #include + #include ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++#include ++#endif + + #include "ifconf.h" + #include "macro.h" +@@ -44,6 +47,10 @@ + #define LOCALADDRESS_IPV6 &in6addr_loopback + #define LOOPBACK_INTERFACE "lo" + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++static void warn(const char* hn); ++#endif ++ + enum nss_status _nss_myhostname_gethostbyname4_r( + const char *name, + struct gaih_addrtuple **pat, +@@ -115,6 +122,10 @@ enum nss_status _nss_myhostname_gethostbyname4_r( + return NSS_STATUS_NOTFOUND; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif ++ + /* If this fails, n_addresses is 0. Which is fine */ + ifconf_acquire_addresses(&addresses, &n_addresses); + +@@ -334,6 +345,10 @@ enum nss_status _nss_myhostname_gethostbyname3_r( + return NSS_STATUS_NOTFOUND; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif ++ + return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, canonp); + } + +@@ -429,6 +444,10 @@ found: + return NSS_STATUS_UNAVAIL; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif ++ + return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, NULL); + + } +@@ -448,3 +467,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( + errnop, h_errnop, + NULL); + } ++ ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++static void warn(const char* hn) { ++ if (strstr(program_invocation_short_name, "nscd")) { ++ syslog(LOG_WARNING, ++ "Some application tried to resolve hostname \"%s\" which is not in DNS. Stop nscd to find out which one.\n", ++ hn); ++ } else { ++ syslog(LOG_WARNING, ++ "%s(%u) tried to resolve hostname \"%s\" which is not in DNS. This might be the reason for the delays you experience.\n", ++ program_invocation_short_name, ++ getpid(), ++ hn); ++ } ++} ++#endif diff --git a/pam-properly-handle-ssh-logins-without-pam-tty-field.patch b/pam-properly-handle-ssh-logins-without-pam-tty-field.patch deleted file mode 100644 index 87595784..00000000 --- a/pam-properly-handle-ssh-logins-without-pam-tty-field.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0ad1271f564b9c956685938167f7ea8c301e835e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 23 Dec 2012 22:31:17 +0100 -Subject: [PATCH] pam: properly handle SSH logins lacking the PAM tty field - ---- - src/login/pam-module.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/src/login/pam-module.c b/src/login/pam-module.c -index 08a9328..e6764a1 100644 ---- a/src/login/pam-module.c -+++ b/src/login/pam-module.c -@@ -322,7 +322,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( - - struct passwd *pw; - bool kill_processes = false, debug = false; -- const char *username, *id, *object_path, *runtime_path, *service = NULL, *tty = NULL, *display = NULL, *remote_user = NULL, *remote_host = NULL, *seat = NULL, *type, *class, *cvtnr = NULL; -+ const char *username, *id, *object_path, *runtime_path, *service = NULL, *tty = NULL, *display = NULL, *remote_user = NULL, *remote_host = NULL, *seat = NULL, *type = NULL, *class, *cvtnr = NULL; - char **controllers = NULL, **reset_controllers = NULL, **kill_only_users = NULL, **kill_exclude_users = NULL; - DBusError error; - uint32_t uid, pid; -@@ -453,9 +453,17 @@ _public_ PAM_EXTERN int pam_sm_open_session( - display = tty; - tty = ""; - } else if (streq(tty, "cron")) { -- /* cron has been setting PAM_TTY to "cron" for a very long time -- * and it cannot stop doing that for compatibility reasons. */ -+ /* cron has been setting PAM_TTY to "cron" for a very -+ * long time and it probably shouldn't stop doing that -+ * for compatibility reasons. */ - tty = ""; -+ type = "unspecified"; -+ } else if (streq(tty, "ssh")) { -+ /* ssh has been setting PAM_TTY to "ssh" for a very -+ * long time and probably shouldn't stop doing that -+ * for compatibility reasons. */ -+ tty = ""; -+ type ="tty"; - } - - /* If this fails vtnr will be 0, that's intended */ -@@ -469,8 +477,9 @@ _public_ PAM_EXTERN int pam_sm_open_session( - get_seat_from_display(display, NULL, &vtnr); - } - -- type = !isempty(display) ? "x11" : -- !isempty(tty) ? "tty" : "unspecified"; -+ if (!type) -+ type = !isempty(display) ? "x11" : -+ !isempty(tty) ? "tty" : "unspecified"; - - class = pam_getenv(handle, "XDG_SESSION_CLASS"); - if (isempty(class)) --- -1.7.10.4 - diff --git a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch new file mode 100644 index 00000000..f3e12f27 --- /dev/null +++ b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch @@ -0,0 +1,128 @@ +From: Frederic Crozat +Date: Fri, 30 Sep 2011 13:55:31 +0000 +Subject: parse /etc/insserv.conf and adds dependencies accordingly + +(bnc#721428) +--- + src/core/service.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 101 insertions(+) + +diff --git a/src/core/service.c b/src/core/service.c +index cf0bbe0..08fc97c 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -3440,6 +3440,105 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + } + + #ifdef HAVE_SYSV_COMPAT ++static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) { ++ FILE *f = NULL; ++ int r; ++ ++ if (!(f = fopen(filename, "re"))) { ++ log_debug("Failed to open file %s", filename); ++ r = errno == ENOENT ? 0 : -errno; ++ goto finish; ++ } ++ ++ while (!feof(f)) { ++ char l[LINE_MAX], *t; ++ char **parsed = NULL; ++ ++ if (!fgets(l, sizeof(l), f)) { ++ if (feof(f)) ++ break; ++ ++ r = -errno; ++ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); ++ goto finish; ++ } ++ ++ t = strstrip(l); ++ if (*t != '$' && *t != '<') ++ continue; ++ ++ parsed = strv_split(t,WHITESPACE); ++ /* we ignore , not used, equivalent to X-Interactive */ ++ if (parsed && !startswith_no_case (parsed[0], "")) { ++ char *facility; ++ Unit *u; ++ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) ++ continue; ++ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { ++ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ ++ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); ++ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); ++ free (facility); ++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ } ++ if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { ++ char *dep = NULL, *name, **j; ++ ++ STRV_FOREACH (j, parsed+1) { ++ if (*j[0] == '+') ++ name = *j+1; ++ else ++ name = *j; ++ if (streq(name, "boot.localfs") || ++ streq(name, "boot.crypto")) ++ continue; ++ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) ++ continue; ++ ++ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true); ++ if (*j[0] != '+') ++ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true); ++ free(dep); ++ } ++ } ++ free(facility); ++ } ++ strv_free(parsed); ++ } ++finish: ++ if (f) ++ fclose(f); ++ ++} ++ ++static void sysv_facility_in_insserv_conf(Manager *mgr) { ++ DIR *d =NULL; ++ struct dirent *de; ++ ++#ifdef TARGET_DEBIAN ++ if (!(d = opendir("/etc/insserv.conf.d/"))) ++ if (errno != ENOENT) { ++ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); ++ goto finish; ++ } ++ ++ while ((de = readdir(d))) { ++ char *path = NULL; ++ if (ignore_file(de->d_name)) ++ continue; ++ ++ path = join("/etc/insserv.conf.d/", de->d_name, NULL); ++ sysv_parse_insserv_conf(mgr, path); ++ free(path); ++ } ++finish: ++ if (d) ++ closedir(d); ++#endif ++ ++ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf"); ++} ++ + + static int service_enumerate(Manager *m) { + char **p; +@@ -3600,6 +3699,8 @@ static int service_enumerate(Manager *m) { + + r = 0; + ++ sysv_facility_in_insserv_conf (m); ++ + finish: + + for (i = 0; i < ELEMENTSOF(rcnd_table); i++) diff --git a/parse-multiline-env-file.patch b/parse-multiline-env-file.patch deleted file mode 100644 index 7772ba8b..00000000 --- a/parse-multiline-env-file.patch +++ /dev/null @@ -1,218 +0,0 @@ -From 565d91fdf198b88f7c2d72c67cfc6c30341a3596 Mon Sep 17 00:00:00 2001 -From: Michal Vyskocil -Date: Fri, 18 Jan 2013 10:05:10 +0100 -Subject: [PATCH] util: continuation support for load_env_file - -Variable definitions can be written on more than one line - if each ends -with a backslash, then is concatenated with a previous one. Only -backslash and unix end of line (\n) are treated as a continuation. - -Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58083 - -[zj: squashed two patches together; cleaned up grammar; removed - comment about ignoring trailing backslash -- it is not ignored.] - -Document continuation support in systemd.exec ---- - man/systemd.exec.xml | 8 +++++--- - src/shared/util.c | 43 ++++++++++++++++++++++++++++++++++++++----- - 2 files changed, 43 insertions(+), 8 deletions(-) - -Index: systemd-195/man/systemd.exec.xml -=================================================================== ---- systemd-195.orig/man/systemd.exec.xml -+++ systemd-195/man/systemd.exec.xml -@@ -282,9 +282,11 @@ - contain new-line separated variable - assignments. Empty lines and lines - starting with ; or # will be ignored, -- which may be used for commenting. The -- parser strips leading and -- trailing whitespace from the values -+ which may be used for commenting. A line -+ ending with a backslash will be concatenated -+ with the following one, allowing multiline variable -+ definitions. The parser strips leading -+ and trailing whitespace from the values - of assignments, unless you use - double quotes ("). - The -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -876,69 +876,88 @@ fail: - return r; - } - --int load_env_file( -- const char *fname, -- char ***rl) { -- -- FILE *f; -- char **m = NULL; -- int r; -+int load_env_file(const char *fname, char ***rl) { -+ -+ _cleanup_fclose_ FILE *f; -+ _cleanup_strv_free_ char **m = NULL; -+ _cleanup_free_ char *c = NULL; - - assert(fname); - assert(rl); - -- if (!(f = fopen(fname, "re"))) -+ /* This reads an environment file, but will not complain about -+ * any invalid assignments, that needs to be done by the -+ * caller */ -+ -+ f = fopen(fname, "re"); -+ if (!f) - return -errno; - - while (!feof(f)) { -- char l[LINE_MAX], *p, *u; -- char **t; -+ char l[LINE_MAX], *p, *cs, *b; - - if (!fgets(l, sizeof(l), f)) { -- if (feof(f)) -- break; -+ if (ferror(f)) -+ return -errno; -+ -+ /* The previous line was a continuation line? -+ * Let's process it now, before we leave the -+ * loop */ -+ if (c) -+ goto process; - -- r = -errno; -- goto finish; -+ break; - } - -- p = strstrip(l); -+ /* Is this a continuation line? If so, just append -+ * this to c, and go to next line right-away */ -+ cs = endswith(l, "\\\n"); -+ if (cs) { -+ *cs = '\0'; -+ b = strappend(c, l); -+ if (!b) -+ return -ENOMEM; - -- if (!*p) -+ free(c); -+ c = b; - continue; -+ } - -- if (strchr(COMMENTS, *p)) -- continue; -+ /* If the previous line was a continuation line, -+ * append the current line to it */ -+ if (c) { -+ b = strappend(c, l); -+ if (!b) -+ return -ENOMEM; - -- if (!(u = normalize_env_assignment(p))) { -- r = log_oom(); -- goto finish; -+ free(c); -+ c = b; - } - -- t = strv_append(m, u); -- free(u); -+ process: -+ p = strstrip(c ? c : l); - -- if (!t) { -- r = log_oom(); -- goto finish; -+ if (*p && !strchr(COMMENTS, *p)) { -+ _cleanup_free_ char *u; -+ int k; -+ -+ u = normalize_env_assignment(p); -+ if (!u) -+ return -ENOMEM; -+ -+ k = strv_extend(&m, u); -+ if (k < 0) -+ return -ENOMEM; - } - -- strv_free(m); -- m = t; -+ free(c); -+ c = NULL; - } - -- r = 0; -- - *rl = m; - m = NULL; - --finish: -- if (f) -- fclose(f); -- -- strv_free(m); -- -- return r; -+ return 0; - } - - int write_env_file(const char *fname, char **l) { -Index: systemd-195/src/shared/strv.c -=================================================================== ---- systemd-195.orig/src/shared/strv.c -+++ systemd-195/src/shared/strv.c -@@ -370,6 +370,32 @@ fail: - return NULL; - } - -+int strv_extend(char ***l, const char *value) { -+ char **c; -+ char *v; -+ unsigned n; -+ -+ if (!value) -+ return 0; -+ -+ v = strdup(value); -+ if (!v) -+ return -ENOMEM; -+ -+ n = strv_length(*l); -+ c = realloc(*l, sizeof(char*) * (n + 2)); -+ if (!c) { -+ free(v); -+ return -ENOMEM; -+ } -+ -+ c[n] = v; -+ c[n+1] = NULL; -+ -+ *l = c; -+ return 0; -+} -+ - char **strv_uniq(char **l) { - char **i; - -Index: systemd-195/src/shared/strv.h -=================================================================== ---- systemd-195.orig/src/shared/strv.h -+++ systemd-195/src/shared/strv.h -@@ -37,6 +37,7 @@ unsigned strv_length(char **l); - char **strv_merge(char **a, char **b); - char **strv_merge_concat(char **a, char **b, const char *suffix); - char **strv_append(char **l, const char *s); -+int strv_extend(char ***l, const char *value); - - char **strv_remove(char **l, const char *s); - char **strv_remove_prefix(char **l, const char *s); diff --git a/path-util-fix-potential-crash.patch b/path-util-fix-potential-crash.patch deleted file mode 100644 index 9399e947..00000000 --- a/path-util-fix-potential-crash.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c9c7aef24f9750bbd51d2c13beff66473d96bf3c Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 13 Dec 2012 14:59:39 +0100 -Subject: [PATCH] path-util: set pointer to null after calling free() - -In cases where path_strv_canonicalize() returns NULL, strv_free() is -called afterwards and it will call free() on pointers which were freed -already in path_strv_canonicalize() ---- - src/shared/path-util.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/shared/path-util.c b/src/shared/path-util.c -index 70c8a8a..dd12d3d 100644 ---- a/src/shared/path-util.c -+++ b/src/shared/path-util.c -@@ -181,6 +181,7 @@ char **path_strv_canonicalize(char **l) { - - t = path_make_absolute_cwd(*s); - free(*s); -+ *s = NULL; - - if (!t) { - enomem = true; --- -1.7.10.4 - diff --git a/rbind-mount.patch b/rbind-mount.patch deleted file mode 100644 index 8d8bb148..00000000 --- a/rbind-mount.patch +++ /dev/null @@ -1,44 +0,0 @@ -From df77b11852d6b3495848c4123e7cbd9f099910f9 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 21 Feb 2013 15:40:52 +0100 -Subject: [PATCH] detect rbind as bind mount - -Correctly detect rbind mount option as bind mount. -Fixes https://bugzilla.novell.com/show_bug.cgi?id=804575. ---- - src/core/mount.c | 6 ++++++ - src/fstab-generator/fstab-generator.c | 4 +++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -Index: systemd-195/src/core/mount.c -=================================================================== ---- systemd-195.orig/src/core/mount.c -+++ systemd-195/src/core/mount.c -@@ -320,6 +320,12 @@ static bool mount_is_bind(MountParameter - if (p->fstype && streq(p->fstype, "bind")) - return true; - -+ if (mount_test_option(p->options, "rbind")) -+ return true; -+ -+ if (p->fstype && streq(p->fstype, "rbind")) -+ return true; -+ - return false; - } - -Index: systemd-195/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-195.orig/src/fstab-generator/fstab-generator.c -+++ systemd-195/src/fstab-generator/fstab-generator.c -@@ -199,7 +199,9 @@ static bool mount_is_bind(struct mntent - - return - hasmntopt(me, "bind") || -- streq(me->mnt_type, "bind"); -+ streq(me->mnt_type, "bind") || -+ hasmntopt(me, "rbind") || -+ streq(me->mnt_type, "rbind"); - } - - static bool mount_is_network(struct mntent *me) { diff --git a/new-lsb-headers.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch similarity index 74% rename from new-lsb-headers.patch rename to remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index e48728fb..3efed705 100644 --- a/new-lsb-headers.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -1,8 +1,21 @@ -Index: systemd-195/src/core/service.c -=================================================================== ---- systemd-195.orig/src/core/service.c -+++ systemd-195/src/core/service.c -@@ -146,6 +146,7 @@ static void service_init(Unit *u) { +From: Frederic Crozat +Date: Wed, 7 Dec 2011 15:15:07 +0000 +Subject: remain_after_exit initscript heuristic and add new LSB headers + +Add remain_after_exit heuristic for initscripts and add LSB headers +PIDFile: and X-Systemd-RemainAfterExit to control it. + +(bnc#721426) (bnc#727771) +--- + src/core/service.c | 34 ++++++++++++++++++++++++++++++++-- + src/core/service.h | 1 + + 2 files changed, 33 insertions(+), 2 deletions(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 5118b06..c13ff35 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -135,6 +135,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; s->sysv_start_priority_from_rcnd = -1; @@ -10,7 +23,7 @@ Index: systemd-195/src/core/service.c #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -906,6 +907,34 @@ static int service_load_sysv_path(Servic +@@ -875,6 +876,34 @@ static int service_load_sysv_path(Service *s, const char *path) { free(short_description); short_description = d; @@ -45,7 +58,7 @@ Index: systemd-195/src/core/service.c } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -963,7 +992,8 @@ static int service_load_sysv_path(Servic +@@ -925,7 +954,8 @@ static int service_load_sysv_path(Service *s, const char *path) { /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -55,7 +68,7 @@ Index: systemd-195/src/core/service.c s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2138,7 +2168,7 @@ static void service_enter_running(Servic +@@ -2074,7 +2104,7 @@ static void service_enter_running(Service *s, ServiceResult f) { if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -64,10 +77,10 @@ Index: systemd-195/src/core/service.c s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -Index: systemd-195/src/core/service.h -=================================================================== ---- systemd-195.orig/src/core/service.h -+++ systemd-195/src/core/service.h +diff --git a/src/core/service.h b/src/core/service.h +index d1e53bf..4cd1a79 100644 +--- a/src/core/service.h ++++ b/src/core/service.h @@ -176,6 +176,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; diff --git a/remount-ro-before-unmount.patch b/remount-ro-before-unmount.patch deleted file mode 100644 index d634afff..00000000 --- a/remount-ro-before-unmount.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 93bd157722c76b47d80742f290373c1ce2865070 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 Nov 2012 18:36:28 +0100 -Subject: [PATCH] umount: always remount read-only before unmounting in final - shutdown loop - ---- - src/core/umount.c | 57 +++++++++++++++++++++++++---------------------------- - 1 file changed, 27 insertions(+), 30 deletions(-) - -diff --git a/src/core/umount.c b/src/core/umount.c -index 83c9de3..e794057 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -407,6 +407,33 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e - assert(head); - - LIST_FOREACH_SAFE(mount_point, m, n, *head) { -+ -+ /* If we are in a container, don't attempt to -+ read-only mount anything as that brings no real -+ benefits, but might confuse the host, as we remount -+ the superblock here, not the bind mound. */ -+ if (detect_container(NULL) <= 0) { -+ /* We always try to remount directories -+ * read-only first, before we go on and umount -+ * them. -+ * -+ * Mount points can be stacked. If a mount -+ * point is stacked below / or /usr, we -+ * cannnot umount or remount it directly, -+ * since there is no way to refer to the -+ * underlying mount. There's nothing we can do -+ * about it for the general case, but we can -+ * do something about it if it is aliased -+ * somehwere else via a bind mount. If we -+ * explicitly remount the super block of that -+ * alias read-only we hence should be -+ * relatively safe regarding keeping the fs we -+ * can otherwise not see dirty. */ -+ mount(NULL, m->path, NULL, MS_REMOUNT|MS_RDONLY, NULL); -+ } -+ -+ /* Skip / and /usr since we cannot unmount that -+ * anyway, since we are running from it */ - if (path_equal(m->path, "/") - #ifndef HAVE_SPLIT_USR - || path_equal(m->path, "/usr") -@@ -432,29 +459,6 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e - return n_failed; - } - --static int mount_points_list_remount_read_only(MountPoint **head, bool *changed) { -- MountPoint *m, *n; -- int n_failed = 0; -- -- assert(head); -- -- LIST_FOREACH_SAFE(mount_point, m, n, *head) { -- -- /* Trying to remount read-only */ -- if (mount(NULL, m->path, NULL, MS_REMOUNT|MS_RDONLY, NULL) == 0) { -- if (changed) -- *changed = true; -- -- mount_point_free(head, m); -- } else { -- log_warning("Could not remount as read-only %s: %m", m->path); -- n_failed++; -- } -- } -- -- return n_failed; --} -- - static int swap_points_list_off(MountPoint **head, bool *changed) { - MountPoint *m, *n; - int n_failed = 0; -@@ -571,13 +575,6 @@ int umount_all(bool *changed) { - if (r <= 0) - goto end; - -- /* If we are in a container, don't attempt to read-only mount -- anything as that brings no real benefits, but might confuse -- the host, as we remount the superblock here, not the bind -- mound. */ -- if (detect_container(NULL) <= 0) -- r = mount_points_list_remount_read_only(&mp_list_head, changed); -- - end: - mount_points_list_free(&mp_list_head); - --- -1.7.10.4 - diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch new file mode 100644 index 00000000..f57a2748 --- /dev/null +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -0,0 +1,89 @@ +From: Frederic Crozat +Date: Mon, 29 Oct 2012 13:01:20 +0000 +Subject: restore /var/run and /var/lock bind mount if they aren't symlink + +--- + Makefile.am | 9 +++++++++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ + 3 files changed, 47 insertions(+) + create mode 100644 units/var-lock.mount + create mode 100644 units/var-run.mount + +diff --git a/Makefile.am b/Makefile.am +index e82d092..38309a9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -406,6 +406,12 @@ dist_systemunit_DATA = \ + units/system-update.target \ + units/initrd-switch-root.target + ++if HAVE_SYSV_COMPAT ++dist_systemunit_DATA += \ ++ units/var-run.mount \ ++ units/var-lock.mount ++endif ++ + nodist_systemunit_DATA = \ + units/getty@.service \ + units/serial-getty@.service \ +@@ -4018,6 +4024,9 @@ RUNLEVEL4_TARGET_WANTS += \ + systemd-update-utmp-runlevel.service + RUNLEVEL5_TARGET_WANTS += \ + systemd-update-utmp-runlevel.service ++LOCAL_FS_TARGET_WANTS += \ ++ var-run.mount \ ++ var-lock.mount + endif + SHUTDOWN_TARGET_WANTS += \ + systemd-update-utmp-shutdown.service +diff --git a/units/var-lock.mount b/units/var-lock.mount +new file mode 100644 +index 0000000..07277ad +--- /dev/null ++++ b/units/var-lock.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Lock Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/lock ++ConditionPathIsSymbolicLink=!/var/lock ++ ++[Mount] ++What=/run/lock ++Where=/var/lock ++Type=bind ++Options=bind +diff --git a/units/var-run.mount b/units/var-run.mount +new file mode 100644 +index 0000000..ab4da42 +--- /dev/null ++++ b/units/var-run.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Runtime Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/run ++ConditionPathIsSymbolicLink=!/var/run ++ ++[Mount] ++What=/run ++Where=/var/run ++Type=bind ++Options=bind diff --git a/revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch b/revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch deleted file mode 100644 index 8d9d574c..00000000 --- a/revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit 140883405e429d9f8d3480a2701d8904f97e4a98 -Author: Tom Gundersen -Date: Wed Nov 28 18:08:54 2012 +0100 - - shutdown: don't consider umounting of / and /usr failed - - In the words of Homer: If you don't try, you can't fail. - - This is a revert of 9279749b84cc87c7830280b7895a48bed03c9429. - - It used to be necessary to consider the umounting failed to make sure / - and /usr were remounted read-only, but that is no longer necessary as - everything is now remounted read-only anyway. - - Moreover, this avoids a warning at shutdown saying a filesystem was not - unmounted. As the umounting of / is never attempted there was no - corresponding warning message saying which fs that failed. This caused some - spurious bug-reports from concerned users. - - Cc: Michael Biebl - -diff --git a/src/core/umount.c b/src/core/umount.c -index e794057..5989a4c 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -433,15 +433,14 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e - } - - /* Skip / and /usr since we cannot unmount that -- * anyway, since we are running from it */ -+ * anyway, since we are running from it. They have already been -+ * remounte ro. */ - if (path_equal(m->path, "/") - #ifndef HAVE_SPLIT_USR - || path_equal(m->path, "/usr") - #endif -- ) { -- n_failed++; -+ ) - continue; -- } - - /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */ - if (umount2(m->path, MNT_FORCE) == 0) { diff --git a/reword-rescue-mode-hints.patch b/reword-rescue-mode-hints.patch deleted file mode 100644 index e6e7db87..00000000 --- a/reword-rescue-mode-hints.patch +++ /dev/null @@ -1,30 +0,0 @@ -From aa6eba407be2c23882bf41a1beafbbd1352f7ab3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Oct 2012 16:32:12 +0200 -Subject: [PATCH] units: reword rescue mode hints - -Do not suggest to the user that commands can be issued before -logging in. - -sulogin prints it own message, which mentions ^D, so there's no need -to repeat it here. ---- - units/emergency.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/emergency.service.in b/units/emergency.service.in -index 1815f9d..129a831 100644 ---- a/units/emergency.service.in -+++ b/units/emergency.service.in -@@ -16,7 +16,7 @@ Before=shutdown.target - Environment=HOME=/root - WorkingDirectory=/root - ExecStartPre=-/bin/plymouth quit --ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -b" to view system logs. Type "systemctl reboot" to reboot.' -+ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -b" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' - ExecStart=-/sbin/sulogin - ExecStopPost=@SYSTEMCTL@ --fail --no-block default - Type=idle --- -1.7.10.4 - diff --git a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch new file mode 100644 index 00000000..52fe82ea --- /dev/null +++ b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -0,0 +1,20 @@ +From: Robert Schweikert +Date: Fri, 12 Apr 2013 12:08:16 -0400 +Subject: rules: add lid switch of ARM based Chromebook as a power switch to + logind + +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/login/70-power-switch.rules b/src/login/70-power-switch.rules +index 36fb827..d925ab7 100644 +--- a/src/login/70-power-switch.rules ++++ b/src/login/70-power-switch.rules +@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" + + SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="gpio-keys.8", TAG+="power-switch" + + LABEL="power_switch_end" diff --git a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch similarity index 66% rename from 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch rename to service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch index 0f665022..91cd2eab 100644 --- a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -1,7 +1,7 @@ -From 700b1261115a67392014ff2c887a9cffc28108ab Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Fri, 30 Sep 2011 12:58:17 +0200 -Subject: [PATCH] service: flags sysv service with detected pid as RemainAfterExit=false +Subject: service: flags sysv service with detected pid as + RemainAfterExit=false LSB header doesn't give pidfile, so all LSB initscripts have RemainAfterExit=false, causing daemon termination to not be reported as @@ -9,14 +9,14 @@ such by systemd. Checking at startup if daemon is still running for sysv initscript to disable RemainAfterExit helps a lot. Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 --- - src/service.c | 8 +++++++- - 1 files changed, 7 insertions(+), 1 deletions(-) + src/core/service.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) -Index: systemd-195/src/core/service.c -=================================================================== ---- systemd-195.orig/src/core/service.c -+++ systemd-195/src/core/service.c -@@ -2136,8 +2136,13 @@ static void service_enter_running(Servic +diff --git a/src/core/service.c b/src/core/service.c +index 08fc97c..5118b06 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2072,8 +2072,13 @@ static void service_enter_running(Service *s, ServiceResult f) { cgroup_ok = cgroup_good(s); if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && diff --git a/service-forking-ignore-exit-status-main-process.patch b/service-forking-ignore-exit-status-main-process.patch deleted file mode 100644 index b9681f3f..00000000 --- a/service-forking-ignore-exit-status-main-process.patch +++ /dev/null @@ -1,45 +0,0 @@ -From fbeefb45ac1a257a0c5af975ad26d68ed6c39fda Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 14 Jan 2013 21:05:17 +0100 -Subject: [PATCH] service: for Type=forking services, ignore exit status of - main process depending on ExecStart's ignore setting - -https://bugzilla.redhat.com/show_bug.cgi?id=860464 ---- - src/core/service.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -Index: systemd-195/src/core/service.c -=================================================================== ---- systemd-195.orig/src/core/service.c -+++ systemd-195/src/core/service.c -@@ -2978,15 +2978,25 @@ static void service_sigchld_event(Unit * - s->main_pid = 0; - exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status); - -- /* If this is not a forking service than the main -- * process got started and hence we copy the exit -- * status so that it is recorded both as main and as -- * control process exit status */ - if (s->main_command) { -+ /* If this is not a forking service than the -+ * main process got started and hence we copy -+ * the exit status so that it is recorded both -+ * as main and as control process exit -+ * status */ -+ - s->main_command->exec_status = s->main_exec_status; - - if (s->main_command->ignore) - f = SERVICE_SUCCESS; -+ } else if (s->exec_command[SERVICE_EXEC_START]) { -+ -+ /* If this is a forked process, then we should -+ * ignore the return value if this was -+ * configured for the starter process */ -+ -+ if (s->exec_command[SERVICE_EXEC_START]->ignore) -+ f = SERVICE_SUCCESS; - } - - log_struct(f == SERVICE_SUCCESS ? LOG_DEBUG : LOG_NOTICE, diff --git a/shutdown-dont-force-mnt-force-on-final-umount.patch b/shutdown-dont-force-mnt-force-on-final-umount.patch deleted file mode 100644 index cd95df86..00000000 --- a/shutdown-dont-force-mnt-force-on-final-umount.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0c08f5cde749bd2818475e487109cd0d413452df Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 16 Jan 2013 03:51:56 +0100 -Subject: [PATCH] shutdown: in the final umount loop don't use MNT_FORCE - -MNT_FORCE is honoured by NFS and FUSE and allows unmounting of the FS -even if consumers still use it. For our brute-force loop we rely on -EBUSY being reported as long as a file system is still used by a -loopback device or suchlike. Hence, drop MNT_FORCE to make EBUSY -reliable. ---- - src/core/umount.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/core/umount.c b/src/core/umount.c -index 96232d3..c7b6cee 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -442,9 +442,11 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e - ) - continue; - -- /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */ -+ /* Trying to umount. We don't force here since we rely -+ * on busy NFS and FUSE file systems to return EBUSY -+ * until we closed everything on top of them. */ - log_info("Unmounting %s.", m->path); -- if (umount2(m->path, MNT_FORCE) == 0) { -+ if (umount2(m->path, 0) == 0) { - if (changed) - *changed = true; - --- -1.7.10.4 - diff --git a/shutdown-ignore-loop-devices-without-backing-file.patch b/shutdown-ignore-loop-devices-without-backing-file.patch deleted file mode 100644 index 44992a7f..00000000 --- a/shutdown-ignore-loop-devices-without-backing-file.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bdffb521d01a2e2bc342154d74cb519755c52c25 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 16 Jan 2013 04:35:54 +0100 -Subject: [PATCH] shutdown: ignore loop devices without a backing file - ---- - src/core/umount.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/core/umount.c b/src/core/umount.c -index c7b6cee..f0f2711 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -233,6 +233,7 @@ static int loopback_list_get(MountPoint **head) { - udev_list_entry_foreach(item, first) { - MountPoint *lb; - struct udev_device *d; -+ const char *backing; - char *loop; - const char *dn; - -@@ -241,6 +242,12 @@ static int loopback_list_get(MountPoint **head) { - goto finish; - } - -+ backing = udev_device_get_sysattr_value(d, "loop/backing_file"); -+ if (!backing) { -+ udev_device_unref(d); -+ continue; -+ } -+ - if (!(dn = udev_device_get_devnode(d))) { - udev_device_unref(d); - continue; --- -1.7.10.4 - diff --git a/shutdown-improvements.patch b/shutdown-improvements.patch deleted file mode 100644 index 8d09881e..00000000 --- a/shutdown-improvements.patch +++ /dev/null @@ -1,273 +0,0 @@ -From 2569a5ce16638d99f1ebaaa7774d183496d8b8e8 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 7 Dec 2012 17:28:30 +0100 -Subject: [PATCH] shutdown: downgrade a warning - -All messages of the kind "not all done, %d left" are log_info, except -the one for DM devices. Make it info too. ---- - src/core/shutdown.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/shutdown.c b/src/core/shutdown.c -index 4bb4b4d..192746a 100644 ---- a/src/core/shutdown.c -+++ b/src/core/shutdown.c -@@ -233,7 +233,7 @@ int main(int argc, char *argv[]) { - if (r == 0) - need_dm_detach = false; - else if (r > 0) -- log_warning("Not all DM devices detached, %d left.", r); -+ log_info("Not all DM devices detached, %d left.", r); - else - log_error("Failed to detach DM devices: %s", strerror(-r)); - } --- -1.7.10.4 - -From c678406681d32d56730b9e9c002d5500d7aa7f8b Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 7 Dec 2012 17:34:21 +0100 -Subject: [PATCH] umount: fix check for DM changed - -delete_dm() returns 0 on success. The check for "r > 0" was likely -a copy&paste error from the loopback code where "r > 0" makes sense. ---- - src/core/umount.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/umount.c b/src/core/umount.c -index f6c520e..8776807 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -536,7 +536,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { - - if ((r = delete_dm(m->devnum)) >= 0) { - -- if (r > 0 && changed) -+ if (changed) - *changed = true; - - mount_point_free(head, m); --- -1.7.10.4 - -From bce93b7ac7642426039863493694d8c12812e2a7 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 7 Dec 2012 17:44:50 +0100 -Subject: [PATCH] shutdown, umount: logging improvements - -In bugreports about hangs during the late shutdown we are often missing -important information - what were we trying to unmount/detach when it hung. - -Instead of printing what we successfully unmounted, print what we are -going to unmount/detach. And add messages to mark the completion of -categories (mount/swap/loop/DM). ---- - src/core/shutdown.c | 20 ++++++++++++-------- - src/core/umount.c | 15 +++++++++------ - 2 files changed, 21 insertions(+), 14 deletions(-) - -diff --git a/src/core/shutdown.c b/src/core/shutdown.c -index 192746a..6783008 100644 ---- a/src/core/shutdown.c -+++ b/src/core/shutdown.c -@@ -197,9 +197,10 @@ int main(int argc, char *argv[]) { - if (need_umount) { - log_info("Unmounting file systems."); - r = umount_all(&changed); -- if (r == 0) -+ if (r == 0) { - need_umount = false; -- else if (r > 0) -+ log_info("All filesystems unmounted."); -+ } else if (r > 0) - log_info("Not all file systems unmounted, %d left.", r); - else - log_error("Failed to unmount file systems: %s", strerror(-r)); -@@ -208,9 +209,10 @@ int main(int argc, char *argv[]) { - if (need_swapoff) { - log_info("Disabling swaps."); - r = swapoff_all(&changed); -- if (r == 0) -+ if (r == 0) { - need_swapoff = false; -- else if (r > 0) -+ log_info("All swaps disabled."); -+ } else if (r > 0) - log_info("Not all swaps are turned off, %d left.", r); - else - log_error("Failed to turn off swaps: %s", strerror(-r)); -@@ -219,9 +221,10 @@ int main(int argc, char *argv[]) { - if (need_loop_detach) { - log_info("Detaching loop devices."); - r = loopback_detach_all(&changed); -- if (r == 0) -+ if (r == 0) { - need_loop_detach = false; -- else if (r > 0) -+ log_info("All loop devices detached."); -+ } else if (r > 0) - log_info("Not all loop devices detached, %d left.", r); - else - log_error("Failed to detach loop devices: %s", strerror(-r)); -@@ -230,9 +233,10 @@ int main(int argc, char *argv[]) { - if (need_dm_detach) { - log_info("Detaching DM devices."); - r = dm_detach_all(&changed); -- if (r == 0) -+ if (r == 0) { - need_dm_detach = false; -- else if (r > 0) -+ log_info("All DM devices detached."); -+ } else if (r > 0) - log_info("Not all DM devices detached, %d left.", r); - else - log_error("Failed to detach DM devices: %s", strerror(-r)); -diff --git a/src/core/umount.c b/src/core/umount.c -index 8776807..fd90d9f 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -443,8 +443,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e - continue; - - /* Trying to umount. Forcing to umount if busy (only for NFS mounts) */ -+ log_info("Unmounting %s.", m->path); - if (umount2(m->path, MNT_FORCE) == 0) { -- log_info("Unmounted %s.", m->path); - if (changed) - *changed = true; - -@@ -465,6 +465,7 @@ static int swap_points_list_off(MountPoint **head, bool *changed) { - assert(head); - - LIST_FOREACH_SAFE(mount_point, m, n, *head) { -+ log_info("Disabling swap %s.", m->path); - if (swapoff(m->path) == 0) { - if (changed) - *changed = true; -@@ -500,8 +501,9 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) { - continue; - } - -- if ((r = delete_loopback(m->path)) >= 0) { -- -+ log_info("Deleting loopback %s.", m->path); -+ r = delete_loopback(m->path); -+ if (r >= 0) { - if (r > 0 && changed) - *changed = true; - -@@ -534,14 +536,15 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { - continue; - } - -- if ((r = delete_dm(m->devnum)) >= 0) { -- -+ log_info("Deleting DM %u:%u.", major(m->devnum), minor(m->devnum)); -+ r = delete_dm(m->devnum); -+ if (r >= 0) { - if (changed) - *changed = true; - - mount_point_free(head, m); - } else { -- log_warning("Could not delete dm %s: %m", m->path); -+ log_warning("Could not delete DM %s: %m", m->path); - n_failed++; - } - } --- -1.7.10.4 - -From 735e0712710a1dc26da0febafb91b242b2687f3f Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 7 Dec 2012 18:02:43 +0100 -Subject: [PATCH] shutdown, umount: use verbs consistently - -Mounts are "unmounted". -Swaps are "deactivated", not "turned off" nor "disabled". -Loop and DM devices are "detached", not "deleted". - -Especially the deleting sounded a bit scary. ---- - src/core/shutdown.c | 8 ++++---- - src/core/umount.c | 10 +++++----- - 2 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/core/shutdown.c b/src/core/shutdown.c -index 6783008..0b0e0c3 100644 ---- a/src/core/shutdown.c -+++ b/src/core/shutdown.c -@@ -207,15 +207,15 @@ int main(int argc, char *argv[]) { - } - - if (need_swapoff) { -- log_info("Disabling swaps."); -+ log_info("Deactivating swaps."); - r = swapoff_all(&changed); - if (r == 0) { - need_swapoff = false; -- log_info("All swaps disabled."); -+ log_info("All swaps deactivated."); - } else if (r > 0) -- log_info("Not all swaps are turned off, %d left.", r); -+ log_info("Not all swaps deactivated, %d left.", r); - else -- log_error("Failed to turn off swaps: %s", strerror(-r)); -+ log_error("Failed to deactivate swaps: %s", strerror(-r)); - } - - if (need_loop_detach) { -diff --git a/src/core/umount.c b/src/core/umount.c -index fd90d9f..96232d3 100644 ---- a/src/core/umount.c -+++ b/src/core/umount.c -@@ -465,7 +465,7 @@ static int swap_points_list_off(MountPoint **head, bool *changed) { - assert(head); - - LIST_FOREACH_SAFE(mount_point, m, n, *head) { -- log_info("Disabling swap %s.", m->path); -+ log_info("Deactivating swap %s.", m->path); - if (swapoff(m->path) == 0) { - if (changed) - *changed = true; -@@ -501,7 +501,7 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) { - continue; - } - -- log_info("Deleting loopback %s.", m->path); -+ log_info("Detaching loopback %s.", m->path); - r = delete_loopback(m->path); - if (r >= 0) { - if (r > 0 && changed) -@@ -509,7 +509,7 @@ static int loopback_points_list_detach(MountPoint **head, bool *changed) { - - mount_point_free(head, m); - } else { -- log_warning("Could not delete loopback %s: %m", m->path); -+ log_warning("Could not detach loopback %s: %m", m->path); - n_failed++; - } - } -@@ -536,7 +536,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { - continue; - } - -- log_info("Deleting DM %u:%u.", major(m->devnum), minor(m->devnum)); -+ log_info("Detaching DM %u:%u.", major(m->devnum), minor(m->devnum)); - r = delete_dm(m->devnum); - if (r >= 0) { - if (changed) -@@ -544,7 +544,7 @@ static int dm_points_list_detach(MountPoint **head, bool *changed) { - - mount_point_free(head, m); - } else { -- log_warning("Could not delete DM %s: %m", m->path); -+ log_warning("Could not detach DM %s: %m", m->path); - n_failed++; - } - } --- -1.7.10.4 - diff --git a/socket-improve-error-message.patch b/socket-improve-error-message.patch deleted file mode 100644 index 506c4dcd..00000000 --- a/socket-improve-error-message.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 10f70492aea211981e4bdbe58dd7ea110e05cd16 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 20 Nov 2012 00:19:00 +0100 -Subject: [PATCH] socket: improve error message when we cannot spawn the - socket's service unit - ---- - src/core/socket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/core/socket.c -=================================================================== ---- systemd-195.orig/src/core/socket.c -+++ systemd-195/src/core/socket.c -@@ -1510,7 +1510,7 @@ static void socket_enter_running(Socket - return; - - fail: -- log_warning("%s failed to queue socket startup job: %s", UNIT(s)->id, bus_error(&error, r)); -+ log_warning("%s failed to queue service startup job (Maybe the service file is missing or not a %s unit?): %s", UNIT(s)->id, cfd >= 0 ? "template" : "non-template", bus_error(&error, r)); - socket_enter_stop_pre(s, SOCKET_FAILURE_RESOURCES); - - if (cfd >= 0) diff --git a/socket-verbose-error-message.patch b/socket-verbose-error-message.patch deleted file mode 100644 index 6a36c5ef..00000000 --- a/socket-verbose-error-message.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 80cba3795da3a43b27cbb219d7daf7d6f049b079 Mon Sep 17 00:00:00 2001 -From: Dimitrios Apostolou -Date: Wed, 19 Dec 2012 22:32:52 +0100 -Subject: [PATCH] socket: Too many incoming connections - -Hello list, - -some socket activated service gave me the error message you can see on -the subject, maybe systemd should be more verbose in that case. - -Thanks, -Dimitris ---- - src/core/socket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/core/socket.c -=================================================================== ---- systemd-195.orig/src/core/socket.c -+++ systemd-195/src/core/socket.c -@@ -1441,7 +1441,7 @@ static void socket_enter_running(Socket - Service *service; - - if (s->n_connections >= s->max_connections) { -- log_warning("Too many incoming connections (%u)", s->n_connections); -+ log_warning("%s: Too many incoming connections (%u)", UNIT(s)->id, s->n_connections); - close_nointr_nofail(cfd); - return; - } diff --git a/storage-after-cryptsetup.patch b/storage-after-cryptsetup.patch deleted file mode 100644 index 3f92ecbf..00000000 --- a/storage-after-cryptsetup.patch +++ /dev/null @@ -1,103 +0,0 @@ -From b9841589cf16950af7d123ecd128b84464d15a1d Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 7 Nov 2011 18:04:20 +0100 -Subject: [PATCH] force lvm restart after cryptsetup target is reached - ---- - src/cryptsetup-generator.c | 80 ++++++++++++++++++++++++++++++++++++++++++++ - 1 files changed, 80 insertions(+), 0 deletions(-) - -Index: systemd-194/src/cryptsetup/cryptsetup-generator.c -=================================================================== ---- systemd-194.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-194/src/cryptsetup/cryptsetup-generator.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include "log.h" - #include "util.h" -@@ -64,6 +65,71 @@ static bool has_option(const char *hayst - return false; - } - -+static int create_storage_after_cryptsetup (void) { -+ int r; -+ char *to = NULL, *p = NULL; -+ FILE *f = NULL; -+ -+ if (asprintf(&p, "%s/storage-after-cryptsetup.service", arg_dest) < 0) { -+ r = -ENOMEM; -+ log_error("Failed to allocate unit file name."); -+ goto fail; -+ } -+ -+ if (!(f = fopen(p, "wxe"))) { -+ r = -errno; -+ log_error("Failed to create unit file: %m"); -+ goto fail; -+ } -+ -+ fprintf(f, -+ "[Unit]\n" -+ "Description=Restart storage after cryptsetup\n" -+ "DefaultDependencies=no\n" -+ "After=cryptsetup.target\n" -+ "Wants=cryptsetup.target\n" -+ "Before=local-fs.target\n" -+ "Before=shutdown.target\n"); -+ -+ fprintf(f, -+ "\n[Service]\n" -+ "RemainAfterExit=true\n" -+ "Type=oneshot\n" -+ "TimeoutSec=0\n" -+ "ExecStart=/usr/bin/systemctl restart lvm.service\n"); -+ -+ fflush(f); -+ -+ if (ferror(f)) { -+ r = -errno; -+ log_error("Failed to write file: %m"); -+ goto fail; -+ } -+ -+ if (asprintf(&to, "%s/local-fs.target.wants/storage-after-cryptsetup.service", arg_dest) < 0) { -+ r = -ENOMEM; -+ goto fail; -+ } -+ -+ mkdir_parents(to, 0755); -+ -+ if (symlink("../storage-after-cryptsetup.service", to) < 0) { -+ log_error("Failed to create symlink ../storage-after-cryptsetup.service to '%s': %m", to); -+ r = -errno; -+ goto fail; -+ } -+ -+ r=0; -+fail: -+ free(p); -+ free(to); -+ -+ if (f) -+ fclose(f); -+ -+ return r; -+} -+ - static int create_disk( - const char *name, - const char *device, -@@ -439,6 +505,9 @@ int main(int argc, char *argv[]) { - free(options); - } - -+ if ((r == EXIT_SUCCESS) && (create_storage_after_cryptsetup () < 0)) -+ r = EXIT_FAILURE; -+ - finish: - if (f) - fclose(f); diff --git a/strv-cleanup-error-path-loops.patch b/strv-cleanup-error-path-loops.patch deleted file mode 100644 index 8a8c728d..00000000 --- a/strv-cleanup-error-path-loops.patch +++ /dev/null @@ -1,238 +0,0 @@ -From 1fd8d04e384ae2066c02129b033c6be509edfd67 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 30 Oct 2012 18:29:45 +0100 -Subject: [PATCH] strv: cleanup error path loops - -https://bugzilla.redhat.com/show_bug.cgi?id=858799 ---- - src/shared/strv.c | 100 ++++++++++++++++++++++++++--------------------------- - 1 file changed, 49 insertions(+), 51 deletions(-) - -diff --git a/src/shared/strv.c b/src/shared/strv.c -index 1b8e27b..6b76d0e 100644 ---- a/src/shared/strv.c -+++ b/src/shared/strv.c -@@ -75,25 +75,21 @@ void strv_freep(char ***l) { - char **strv_copy(char **l) { - char **r, **k; - -- k = r = new(char*, strv_length(l)+1); -- if (!k) -+ k = r = new(char*, strv_length(l) + 1); -+ if (!r) - return NULL; - - if (l) -- for (; *l; k++, l++) -- if (!(*k = strdup(*l))) -- goto fail; -+ for (; *l; k++, l++) { -+ *k = strdup(*l); -+ if (!*k) { -+ strv_free(r); -+ return NULL; -+ } -+ } - - *k = NULL; - return r; -- --fail: -- for (k--; k >= r; k--) -- free(*k); -- -- free(r); -- -- return NULL; - } - - unsigned strv_length(char **l) { -@@ -163,13 +159,7 @@ char **strv_new_ap(const char *x, va_list ap) { - return a; - - fail: -- -- for (; i > 0; i--) -- if (a[i-1]) -- free(a[i-1]); -- -- free(a); -- -+ strv_free(a); - return NULL; - } - -@@ -265,16 +255,21 @@ char **strv_split(const char *s, const char *separator) { - FOREACH_WORD_SEPARATOR(w, l, s, separator, state) - n++; - -- if (!(r = new(char*, n+1))) -+ r = new(char*, n+1); -+ if (!r) - return NULL; - - i = 0; -- FOREACH_WORD_SEPARATOR(w, l, s, separator, state) -- if (!(r[i++] = strndup(w, l))) { -+ FOREACH_WORD_SEPARATOR(w, l, s, separator, state) { -+ r[i] = strndup(w, l); -+ if (!r[i]) { - strv_free(r); - return NULL; - } - -+ i++; -+ } -+ - r[i] = NULL; - return r; - } -@@ -292,15 +287,19 @@ char **strv_split_quoted(const char *s) { - FOREACH_WORD_QUOTED(w, l, s, state) - n++; - -- if (!(r = new(char*, n+1))) -+ r = new(char*, n+1); -+ if (!r) - return NULL; - - i = 0; -- FOREACH_WORD_QUOTED(w, l, s, state) -- if (!(r[i++] = cunescape_length(w, l))) { -+ FOREACH_WORD_QUOTED(w, l, s, state) { -+ r[i] = cunescape_length(w, l); -+ if (!r[i]) { - strv_free(r); - return NULL; - } -+ i++; -+ } - - r[i] = NULL; - return r; -@@ -323,7 +322,8 @@ char *strv_join(char **l, const char *separator) { - n += strlen(*s); - } - -- if (!(r = new(char, n+1))) -+ r = new(char, n+1); -+ if (!r) - return NULL; - - e = r; -@@ -352,22 +352,21 @@ char **strv_append(char **l, const char *s) { - if (!r) - return NULL; - -- for (k = r; *l; k++, l++) -- if (!(*k = strdup(*l))) -+ for (k = r; *l; k++, l++) { -+ *k = strdup(*l); -+ if (!*k) - goto fail; -+ } - -- if (!(*(k++) = strdup(s))) -+ k[0] = strdup(s); -+ if (!k[0]) - goto fail; - -- *k = NULL; -+ k[1] = NULL; - return r; - - fail: -- for (k--; k >= r; k--) -- free(*k); -- -- free(r); -- -+ strv_free(r); - return NULL; - } - -@@ -462,7 +461,8 @@ static int env_append(char **r, char ***k, char **a) { - else - free(*j); - -- if (!(*j = strdup(*a))) -+ *j = strdup(*a); -+ if (!*j) - return -ENOMEM; - } - -@@ -484,7 +484,8 @@ char **strv_env_merge(unsigned n_lists, ...) { - } - va_end(ap); - -- if (!(r = new(char*, n+1))) -+ r = new(char*, n+1); -+ if (!r) - return NULL; - - k = r; -@@ -503,11 +504,7 @@ char **strv_env_merge(unsigned n_lists, ...) { - - fail: - va_end(ap); -- -- for (k--; k >= r; k--) -- free(*k); -- -- free(r); -+ strv_free(r); - - return NULL; - } -@@ -619,7 +616,8 @@ char **strv_env_set(char **x, const char *p) { - - /* Overrides the env var setting of p, returns a new copy */ - -- if (!(r = new(char*, strv_length(x)+2))) -+ r = new(char*, strv_length(x)+2); -+ if (!r) - return NULL; - - k = r; -@@ -634,11 +632,7 @@ char **strv_env_set(char **x, const char *p) { - return r; - - fail: -- for (k--; k >= r; k--) -- free(*k); -- -- free(r); -- -+ strv_free(r); - return NULL; - - } -@@ -698,7 +692,8 @@ char **strv_parse_nulstr(const char *s, size_t l) { - if (s[l-1] != 0) - c++; - -- if (!(v = new0(char*, c+1))) -+ v = new0(char*, c+1); -+ if (!v) - return NULL; - - p = s; -@@ -707,11 +702,14 @@ char **strv_parse_nulstr(const char *s, size_t l) { - - e = memchr(p, 0, s + l - p); - -- if (!(v[i++] = strndup(p, e ? e - p : s + l - p))) { -+ v[i] = strndup(p, e ? e - p : s + l - p); -+ if (!v[i]) { - strv_free(v); - return NULL; - } - -+ i++; -+ - if (!e) - break; - --- -1.7.10.4 - diff --git a/support-hybrid-suspend.patch b/support-hybrid-suspend.patch deleted file mode 100644 index ad6b2bda..00000000 --- a/support-hybrid-suspend.patch +++ /dev/null @@ -1,680 +0,0 @@ -From 6524990fdc98370ecba5d9f73e67161e8798c010 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 28 Oct 2012 00:49:04 +0200 -Subject: [PATCH] logind: support for hybrid sleep (i.e. suspend+hibernate at - the same time) - ---- - .gitignore | 1 + - Makefile.am | 17 ++++++++- - man/logind.conf.xml | 5 ++- - man/systemctl.xml | 5 +++ - man/systemd-suspend.service.xml | 42 +++++++++++++-------- - man/systemd.special.xml | 15 ++++++-- - src/core/special.h | 1 + - src/login/logind-button.c | 21 ++++++----- - src/login/logind-button.h | 1 + - src/login/logind-dbus.c | 69 +++++++++++++++++++++++++++++++---- - src/shared/util.c | 24 ++++++++++++ - src/shared/util.h | 1 + - src/sleep/sleep.c | 20 +++++++++- - src/systemctl/systemctl.c | 17 +++++++-- - src/test/test-sleep.c | 39 ++++++++++++++++++++ - units/.gitignore | 1 + - units/hybrid-sleep.target | 13 +++++++ - units/systemd-hybrid-sleep.service.in | 17 +++++++++ - 18 files changed, 264 insertions(+), 45 deletions(-) - create mode 100644 src/test/test-sleep.c - create mode 100644 units/hybrid-sleep.target - create mode 100644 units/systemd-hybrid-sleep.service.in - -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -272,6 +272,7 @@ dist_systemunit_DATA = \ - units/nss-user-lookup.target \ - units/mail-transfer-agent.target \ - units/hibernate.target \ -+ units/hybrid-sleep.target \ - units/http-daemon.target \ - units/poweroff.target \ - units/reboot.target \ -@@ -334,6 +335,7 @@ nodist_systemunit_DATA = \ - units/rescue.service \ - units/user@.service \ - units/systemd-hibernate.service \ -+ units/systemd-hybrid-sleep.service \ - units/systemd-suspend.service \ - units/systemd-halt.service \ - units/systemd-poweroff.service \ -@@ -384,6 +386,7 @@ EXTRA_DIST += \ - units/systemd-udev-settle.service \ - units/debug-shell.service.in \ - units/systemd-hibernate.service.in \ -+ units/systemd-hybrid-sleep.service.in \ - units/systemd-suspend.service.in \ - units/quotaon.service.in \ - introspect.awk \ -@@ -539,6 +542,7 @@ MANPAGES_ALIAS = \ - man/systemd-shutdownd.socket.8 \ - man/systemd-shutdownd.8 \ - man/systemd-hibernate.service.8 \ -+ man/systemd-hybrid-sleep.service.8 \ - man/systemd-sleep.8 \ - man/systemd-shutdown.8 \ - man/systemd-poweroff.service.8 \ -@@ -612,6 +616,7 @@ man/systemd-initctl.8: man/systemd-initc - man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8 - man/systemd-shutdownd.8: man/systemd-shutdownd.service.8 - man/systemd-hibernate.service.8: man/systemd-suspend.service.8 -+man/systemd-hybrid-sleep.service.8: man/systemd-suspend.service.8 - man/systemd-sleep.8: man/systemd-suspend.service.8 - man/systemd-shutdown.8: man/systemd-halt.service.8 - man/systemd-poweroff.service.8: man/systemd-halt.service.8 -Index: systemd-195/man/logind.conf.xml -=================================================================== ---- systemd-195.orig/man/logind.conf.xml -+++ systemd-195/man/logind.conf.xml -@@ -211,8 +211,10 @@ - poweroff, - reboot, - halt, -- kexec and -- hibernate. If -+ kexec, -+ suspend, -+ hibernate, and -+ hybrid-sleep. If - ignore logind will - never handle these keys. Otherwise the - specified action will be taken in the -Index: systemd-195/man/systemctl.xml -=================================================================== ---- systemd-195.orig/man/systemctl.xml -+++ systemd-195/man/systemctl.xml -@@ -1181,6 +1181,11 @@ - Hibernate the system. - - -+ hybrid-sleep -+ -+ Hibernate and suspend the system. -+ -+ - switch-root [ROOT] [INIT] - - Switches to a -Index: systemd-195/man/systemd-suspend.service.xml -=================================================================== ---- systemd-195.orig/man/systemd-suspend.service.xml -+++ systemd-195/man/systemd-suspend.service.xml -@@ -45,6 +45,7 @@ - - systemd-suspend.service - systemd-hibernate.service -+ systemd-hybrid-sleep.service - systemd-sleep - System sleep state logic - -@@ -52,6 +53,7 @@ - - systemd-suspend.service - systemd-hibernate.service -+ systemd-hybrid-sleep.service - /usr/lib/systemd/systemd-sleep - - -@@ -63,20 +65,26 @@ - suspend.target and is responsible - for the actual system suspend. Similar, - systemd-hibernate.service is -- pulled in by hibernate.target to -- executed the actual hibernation. -- -- Immediately before entering system suspend and -- hibernation -- systemd-suspend.service will run -- all executables in -+ pulled in by hibernate.target to -+ execute the actual hibernation. Finally, -+ systemd-hybrid-sleep.service is -+ pulled in by hybrid-sleep.target -+ to execute hybrid hibernation with system -+ suspend. -+ -+ Immediately before entering system suspend -+ and/or hibernation -+ systemd-suspend.service (and the -+ other mentioned units, respectively) will run all -+ executables in - /usr/lib/systemd/system-sleep/ - and pass two arguments to them. The first argument - will be "pre", the second either -- "suspend" or -- "hibernate", depending on the -+ "suspend", -+ "hibernate", or -+ "hybrid-sleep" depending on the - chosen action. Immediately after leaving system -- suspend and hibernation the same executables are run, -+ suspend and/or hibernation the same executables are run, - but the first argument is now - "post". All executables in this - directory are executed in parallel, and execution of -@@ -87,15 +95,17 @@ - /usr/lib/systemd/system-sleep/ - are intended for local use only and should be - considered hacks. If applications want to be notified -- of system suspend and resume there are much nicer -- interfaces available. -+ of system suspend/hibernation and resume there are -+ much nicer interfaces available. - - Note that -- systemd-suspend.service and -- systemd-hibernate.service should -- never be executed directly. Instead, trigger system -- sleep states with a command such as "systemctl -- suspend" or suchlike. -+ systemd-suspend.service, -+ systemd-hibernate.service and -+ systemd-hybrid-sleep.service -+ should never be executed directly. Instead, trigger -+ system sleep states with a command such as -+ "systemctl suspend" or -+ similar. - - - -Index: systemd-195/man/systemd.special.xml -=================================================================== ---- systemd-195.orig/man/systemd.special.xml -+++ systemd-195/man/systemd.special.xml -@@ -63,6 +63,7 @@ - graphical.target, - hibernate.target, - http-daemon.target, -+ hybrid-sleep.target, - halt.target, - kbrequest.target, - kexec.target, -@@ -303,6 +304,15 @@ - - - -+ hybrid-sleep.target -+ -+ A special target unit -+ for hibernating and suspending the -+ system at the same time. This pulls in -+ sleep.target. -+ -+ -+ - halt.target - - A special target unit -@@ -652,9 +662,8 @@ - - A special target unit - that is pulled in by -- suspend.target -- and -- hibernate.target -+ suspend.target, -+ hibernate.target and hybrid-sleep.target - and may be used to hook units - into the sleep state - logic. -Index: systemd-195/src/core/special.h -=================================================================== ---- systemd-195.orig/src/core/special.h -+++ systemd-195/src/core/special.h -@@ -37,6 +37,7 @@ - #define SPECIAL_EXIT_TARGET "exit.target" - #define SPECIAL_SUSPEND_TARGET "suspend.target" - #define SPECIAL_HIBERNATE_TARGET "hibernate.target" -+#define SPECIAL_HYBRID_SLEEP_TARGET "hybrid-sleep.target" - - /* Special boot targets */ - #define SPECIAL_RESCUE_TARGET "rescue.target" -Index: systemd-195/src/login/logind-button.c -=================================================================== ---- systemd-195.orig/src/login/logind-button.c -+++ systemd-195/src/login/logind-button.c -@@ -163,16 +163,18 @@ static int button_handle( - [HANDLE_HALT] = "Halting...", - [HANDLE_KEXEC] = "Rebooting via kexec...", - [HANDLE_SUSPEND] = "Suspending...", -- [HANDLE_HIBERNATE] = "Hibernating..." -+ [HANDLE_HIBERNATE] = "Hibernating...", -+ [HANDLE_HYBRID_SLEEP] = "Hibernating and suspend...", - }; - - static const char * const target_table[_HANDLE_BUTTON_MAX] = { -- [HANDLE_POWEROFF] = "poweroff.target", -- [HANDLE_REBOOT] = "reboot.target", -- [HANDLE_HALT] = "halt.target", -- [HANDLE_KEXEC] = "kexec.target", -- [HANDLE_SUSPEND] = "suspend.target", -- [HANDLE_HIBERNATE] = "hibernate.target" -+ [HANDLE_POWEROFF] = SPECIAL_POWEROFF_TARGET, -+ [HANDLE_REBOOT] = SPECIAL_REBOOT_TARGET, -+ [HANDLE_HALT] = SPECIAL_HALT_TARGET, -+ [HANDLE_KEXEC] = SPECIAL_KEXEC_TARGET, -+ [HANDLE_SUSPEND] = SPECIAL_SUSPEND_TARGET, -+ [HANDLE_HIBERNATE] = SPECIAL_HIBERNATE_TARGET, -+ [HANDLE_HYBRID_SLEEP] = SPECIAL_HYBRID_SLEEP_TARGET - }; - - DBusError error; -@@ -193,7 +195,7 @@ static int button_handle( - return 0; - } - -- inhibit_operation = handle == HANDLE_SUSPEND || handle == HANDLE_HIBERNATE ? INHIBIT_SLEEP : INHIBIT_SHUTDOWN; -+ inhibit_operation = handle == HANDLE_SUSPEND || handle == HANDLE_HIBERNATE || handle == HANDLE_HYBRID_SLEEP ? INHIBIT_SLEEP : INHIBIT_SHUTDOWN; - - /* If the actual operation is inhibited, warn and fail */ - if (!ignore_inhibited && -@@ -305,7 +307,8 @@ static const char* const handle_button_t - [HANDLE_HALT] = "halt", - [HANDLE_KEXEC] = "kexec", - [HANDLE_SUSPEND] = "suspend", -- [HANDLE_HIBERNATE] = "hibernate" -+ [HANDLE_HIBERNATE] = "hibernate", -+ [HANDLE_HYBRID_SLEEP] = "hybrid-sleep", - }; - DEFINE_STRING_TABLE_LOOKUP(handle_button, HandleButton); - DEFINE_CONFIG_PARSE_ENUM(config_parse_handle_button, handle_button, HandleButton, "Failed to parse handle button setting"); -Index: systemd-195/src/login/logind-button.h -=================================================================== ---- systemd-195.orig/src/login/logind-button.h -+++ systemd-195/src/login/logind-button.h -@@ -32,6 +32,7 @@ typedef enum HandleButton { - HANDLE_KEXEC, - HANDLE_SUSPEND, - HANDLE_HIBERNATE, -+ HANDLE_HYBRID_SLEEP, - _HANDLE_BUTTON_MAX, - _HANDLE_BUTTON_INVALID = -1 - } HandleButton; -Index: systemd-195/src/login/logind-dbus.c -=================================================================== ---- systemd-195.orig/src/login/logind-dbus.c -+++ systemd-195/src/login/logind-dbus.c -@@ -145,6 +145,9 @@ - " \n" \ - " \n" \ - " \n" \ -+ " \n" \ -+ " \n" \ -+ " \n" \ - " \n" \ - " \n" \ - " \n" \ -@@ -157,6 +160,9 @@ - " \n" \ - " \n" \ - " \n" \ -+ " \n" \ -+ " \n" \ -+ " \n" \ - " \n" \ - " \n" \ - " \n" \ -@@ -1056,6 +1062,7 @@ static int bus_manager_can_shutdown_or_s - const char *action_multiple_sessions, - const char *action_ignore_inhibit, - const char *sleep_type, -+ const char *sleep_disk_type, - DBusError *error, - DBusMessage **_reply) { - -@@ -1087,6 +1094,17 @@ static int bus_manager_can_shutdown_or_s - } - } - -+ if (sleep_disk_type) { -+ r = can_sleep_disk(sleep_disk_type); -+ if (r < 0) -+ return r; -+ -+ if (r == 0) { -+ result = "na"; -+ goto finish; -+ } -+ } -+ - ul = dbus_bus_get_unix_user(connection, dbus_message_get_sender(message), error); - if (ul == (unsigned long) -1) - return -EIO; -@@ -1236,6 +1254,7 @@ static int bus_manager_do_shutdown_or_sl - const char *action_multiple_sessions, - const char *action_ignore_inhibit, - const char *sleep_type, -+ const char *sleep_disk_type, - DBusError *error, - DBusMessage **_reply) { - -@@ -1273,6 +1292,15 @@ static int bus_manager_do_shutdown_or_sl - return -ENOTSUP; - } - -+ if (sleep_disk_type) { -+ r = can_sleep_disk(sleep_disk_type); -+ if (r < 0) -+ return r; -+ -+ if (r == 0) -+ return -ENOTSUP; -+ } -+ - ul = dbus_bus_get_unix_user(connection, dbus_message_get_sender(message), error); - if (ul == (unsigned long) -1) - return -EIO; -@@ -2067,7 +2095,7 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.power-off", - "org.freedesktop.login1.power-off-multiple-sessions", - "org.freedesktop.login1.power-off-ignore-inhibit", -- NULL, -+ NULL, NULL, - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2079,7 +2107,7 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.reboot", - "org.freedesktop.login1.reboot-multiple-sessions", - "org.freedesktop.login1.reboot-ignore-inhibit", -- NULL, -+ NULL, NULL, - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2092,7 +2120,7 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.suspend", - "org.freedesktop.login1.suspend-multiple-sessions", - "org.freedesktop.login1.suspend-ignore-inhibit", -- "mem", -+ "mem", NULL, - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2104,7 +2132,20 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.hibernate", - "org.freedesktop.login1.hibernate-multiple-sessions", - "org.freedesktop.login1.hibernate-ignore-inhibit", -- "disk", -+ "disk", NULL, -+ &error, &reply); -+ if (r < 0) -+ return bus_send_error_reply(connection, message, &error, r); -+ -+ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "HybridSleep")) { -+ r = bus_manager_do_shutdown_or_sleep( -+ m, connection, message, -+ SPECIAL_HYBRID_SLEEP_TARGET, -+ INHIBIT_SLEEP, -+ "org.freedesktop.login1.hibernate", -+ "org.freedesktop.login1.hibernate-multiple-sessions", -+ "org.freedesktop.login1.hibernate-ignore-inhibit", -+ "disk", "suspend", - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2117,7 +2158,7 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.power-off", - "org.freedesktop.login1.power-off-multiple-sessions", - "org.freedesktop.login1.power-off-ignore-inhibit", -- NULL, -+ NULL, NULL, - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2128,7 +2169,7 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.reboot", - "org.freedesktop.login1.reboot-multiple-sessions", - "org.freedesktop.login1.reboot-ignore-inhibit", -- NULL, -+ NULL, NULL, - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2140,7 +2181,7 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.suspend", - "org.freedesktop.login1.suspend-multiple-sessions", - "org.freedesktop.login1.suspend-ignore-inhibit", -- "mem", -+ "mem", NULL, - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -@@ -2152,7 +2193,19 @@ static DBusHandlerResult manager_message - "org.freedesktop.login1.hibernate", - "org.freedesktop.login1.hibernate-multiple-sessions", - "org.freedesktop.login1.hibernate-ignore-inhibit", -- "disk", -+ "disk", NULL, -+ &error, &reply); -+ if (r < 0) -+ return bus_send_error_reply(connection, message, &error, r); -+ -+ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "CanHybridSleep")) { -+ r = bus_manager_can_shutdown_or_sleep( -+ m, connection, message, -+ INHIBIT_SLEEP, -+ "org.freedesktop.login1.hibernate", -+ "org.freedesktop.login1.hibernate-multiple-sessions", -+ "org.freedesktop.login1.hibernate-ignore-inhibit", -+ "disk", "suspend", - &error, &reply); - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -5726,6 +5726,30 @@ int can_sleep(const char *type) { - return false; - } - -+int can_sleep_disk(const char *type) { -+ char *w, *state; -+ size_t l, k; -+ int r; -+ _cleanup_free_ char *p = NULL; -+ -+ assert(type); -+ -+ r = read_one_line_file("/sys/power/disk", &p); -+ if (r < 0) -+ return r == -ENOENT ? 0 : r; -+ -+ k = strlen(type); -+ FOREACH_WORD_SEPARATOR(w, l, p, WHITESPACE, state) { -+ if (l == k && memcmp(w, type, l) == 0) -+ return true; -+ -+ if (l == k + 2 && w[0] == '[' && memcmp(w + 1, type, l - 2) == 0 && w[l-1] == ']') -+ return true; -+ } -+ -+ return false; -+} -+ - bool is_valid_documentation_url(const char *url) { - assert(url); - -Index: systemd-195/src/shared/util.h -=================================================================== ---- systemd-195.orig/src/shared/util.h -+++ systemd-195/src/shared/util.h -@@ -531,6 +531,7 @@ int setrlimit_closest(int resource, cons - int getenv_for_pid(pid_t pid, const char *field, char **_value); - - int can_sleep(const char *type); -+int can_sleep_disk(const char *type); - - bool is_valid_documentation_url(const char *url); - -Index: systemd-195/src/sleep/sleep.c -=================================================================== ---- systemd-195.orig/src/sleep/sleep.c -+++ systemd-195/src/sleep/sleep.c -@@ -46,7 +46,7 @@ int main(int argc, char *argv[]) { - - if (streq(argv[1], "suspend")) - verb = "mem"; -- else if (streq(argv[1], "hibernate")) -+ else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) - verb = "disk"; - else { - log_error("Unknown action '%s'.", argv[1]); -@@ -54,6 +54,16 @@ int main(int argc, char *argv[]) { - goto finish; - } - -+ /* Configure the hibernation mode */ -+ if (streq(argv[1], "hibernate")) { -+ if (write_one_line_file("/sys/power/disk", "platform") < 0) -+ write_one_line_file("/sys/power/disk", "shutdown"); -+ } else if (streq(argv[1], "hybrid-sleep")) { -+ if (write_one_line_file("/sys/power/disk", "suspend") < 0) -+ if (write_one_line_file("/sys/power/disk", "platform") < 0) -+ write_one_line_file("/sys/power/disk", "shutdown"); -+ } -+ - f = fopen("/sys/power/state", "we"); - if (!f) { - log_error("Failed to open /sys/power/state: %m"); -@@ -73,12 +83,18 @@ int main(int argc, char *argv[]) { - "MESSAGE=Suspending system...", - "SLEEP=suspend", - NULL); -- else -+ else if (streq(argv[1], "hibernate")) - log_struct(LOG_INFO, - MESSAGE_ID(SD_MESSAGE_SLEEP_START), - "MESSAGE=Hibernating system...", - "SLEEP=hibernate", - NULL); -+ else -+ log_struct(LOG_INFO, -+ MESSAGE_ID(SD_MESSAGE_SLEEP_START), -+ "MESSAGE=Hibernating and suspending system...", -+ "SLEEP=hybrid-sleep", -+ NULL); - - fputs(verb, f); - fputc('\n', f); -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -99,6 +99,7 @@ static enum action { - ACTION_EXIT, - ACTION_SUSPEND, - ACTION_HIBERNATE, -+ ACTION_HYBRID_SLEEP, - ACTION_RUNLEVEL2, - ACTION_RUNLEVEL3, - ACTION_RUNLEVEL4, -@@ -1608,6 +1609,8 @@ static enum action verb_to_action(const - return ACTION_SUSPEND; - else if (streq(verb, "hibernate")) - return ACTION_HIBERNATE; -+ else if (streq(verb, "hybrid-sleep")) -+ return ACTION_HYBRID_SLEEP; - else - return ACTION_INVALID; - } -@@ -1628,7 +1631,8 @@ static int start_unit(DBusConnection *bu - [ACTION_DEFAULT] = SPECIAL_DEFAULT_TARGET, - [ACTION_EXIT] = SPECIAL_EXIT_TARGET, - [ACTION_SUSPEND] = SPECIAL_SUSPEND_TARGET, -- [ACTION_HIBERNATE] = SPECIAL_HIBERNATE_TARGET -+ [ACTION_HIBERNATE] = SPECIAL_HIBERNATE_TARGET, -+ [ACTION_HYBRID_SLEEP] = SPECIAL_HYBRID_SLEEP_TARGET - }; - - int r, ret = 0; -@@ -1767,6 +1771,10 @@ static int reboot_with_logind(DBusConnec - method = "Hibernate"; - break; - -+ case ACTION_HYBRID_SLEEP: -+ method = "HybridSleep"; -+ break; -+ - default: - return -EINVAL; - } -@@ -1818,7 +1826,8 @@ static int start_special(DBusConnection - (a == ACTION_POWEROFF || - a == ACTION_REBOOT || - a == ACTION_SUSPEND || -- a == ACTION_HIBERNATE)) { -+ a == ACTION_HIBERNATE || -+ a == ACTION_HYBRID_SLEEP)) { - r = reboot_with_logind(bus, a); - if (r >= 0) - return r; -@@ -3999,7 +4008,8 @@ static int systemctl_help(void) { - " exit Request user instance exit\n" - " switch-root [ROOT] [INIT] Change to a different root file system\n" - " suspend Suspend the system\n" -- " hibernate Hibernate the system\n", -+ " hibernate Hibernate the system\n" -+ " hybrid-sleep Hibernate and suspend the system\n", - program_invocation_short_name); - - return 0; -@@ -4931,6 +4941,7 @@ static int systemctl_main(DBusConnection - { "kexec", EQUAL, 1, start_special }, - { "suspend", EQUAL, 1, start_special }, - { "hibernate", EQUAL, 1, start_special }, -+ { "hybrid-sleep", EQUAL, 1, start_special }, - { "default", EQUAL, 1, start_special }, - { "rescue", EQUAL, 1, start_special }, - { "emergency", EQUAL, 1, start_special }, -Index: systemd-195/units/hybrid-sleep.target -=================================================================== ---- /dev/null -+++ systemd-195/units/hybrid-sleep.target -@@ -0,0 +1,13 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Hybrid Suspend+Hibernate -+Documentation=man:systemd.special(7) -+DefaultDependencies=no -+BindsTo=systemd-hybrid-sleep.service -+After=systemd-hybrid-sleep.service -Index: systemd-195/units/systemd-hybrid-sleep.service.in -=================================================================== ---- /dev/null -+++ systemd-195/units/systemd-hybrid-sleep.service.in -@@ -0,0 +1,17 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Hybrid Suspend+Hibernate -+Documentation=man:systemd-suspend.service(8) -+DefaultDependencies=no -+Requires=sleep.target -+After=sleep.target -+ -+[Service] -+Type=oneshot -+ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep diff --git a/support-suse-clock-sysconfig.patch b/support-suse-clock-sysconfig.patch deleted file mode 100644 index 0df12081..00000000 --- a/support-suse-clock-sysconfig.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 64ddc0bfa995041196fd0b9c61756d64578f925c Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Tue, 14 Aug 2012 14:26:16 +0200 -Subject: [PATCH] timedate: add support for openSUSE version of - /etc/sysconfig/clock - ---- - src/timedate/timedated.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: systemd-190/src/timedate/timedated.c -=================================================================== ---- systemd-190.orig/src/timedate/timedated.c -+++ systemd-190/src/timedate/timedated.c -@@ -175,6 +175,13 @@ static int read_data(void) { - goto have_timezone; - } - } -+#ifdef TARGET_SUSE -+ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+ "TIMEZONE", &tz.zone, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); -+#endif - - #ifdef HAVE_DEBIAN - r = read_one_line_file("/etc/timezone", &tz.zone); diff --git a/support-sysvinit.patch b/support-sysvinit.patch deleted file mode 100644 index 2057a634..00000000 --- a/support-sysvinit.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -4678,10 +4678,13 @@ static int parse_argv(int argc, char *ar - /* Hmm, so some other init system is - * running, we need to forward this - * request to it. For now we simply -- * guess that it is Upstart. */ -- -- execv("/lib/upstart/telinit", argv); -+ * guess that it is Sysvinit or Upstart. */ - -+ if (!access("/lib/sysvinit/telinit", X_OK)) { -+ execv("/lib/sysvinit/telinit", argv); -+ } else { -+ execv("/lib/upstart/telinit", argv); -+ } - log_error("Couldn't find an alternative telinit implementation to spawn."); - return -EIO; - } diff --git a/switch-root-try-pivot-root.patch b/switch-root-try-pivot-root.patch deleted file mode 100644 index d2347eda..00000000 --- a/switch-root-try-pivot-root.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 891a4918ef75fa81e22691156c050d061bd53dd3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 Nov 2012 18:15:30 +0100 -Subject: [PATCH] switch-root: try pivot_root() before overmounting / - -We should always try to umount the old root dir if possible, instead of -overmounting it -- if that's possible. - -The initial ("first") kernel rootfs can never be umounted, hence -for the usual nitrd case we never bothered using pivot_root() and -hence with fully unmounting it. However, fedup now tranisitions twice -during boot, and in that case it is highly desirable that the "second" -root dir is entirely unmounted when we switch to the "third". This patch -makes that possible. - -The pivot_root() needs a directory in the "third" root dir, to move the -"second" root dir to. We use /mnt for that, under the assumption that -this directory is likely to exist, and is not itself a mount point. ---- - src/core/switch-root.c | 27 ++++++++++++++++++++++++++- - 1 file changed, 26 insertions(+), 1 deletion(-) - -diff --git a/src/core/switch-root.c b/src/core/switch-root.c -index 150332a..ce0e41d 100644 ---- a/src/core/switch-root.c -+++ b/src/core/switch-root.c -@@ -30,6 +30,7 @@ - #include "util.h" - #include "path-util.h" - #include "switch-root.h" -+#include "missing.h" - - int switch_root(const char *new_root) { - -@@ -44,10 +45,21 @@ int switch_root(const char *new_root) { - struct stat new_root_stat; - bool old_root_remove; - const char *i; -+ _cleanup_free_ char *temporary_old_root = NULL; - - if (path_equal(new_root, "/")) - return 0; - -+ /* When using pivot_root() we assume that /mnt exists as place -+ * we can temporarily move the old root to. As we immediately -+ * unmount it from there it doesn't matter much which -+ * directory we choose for this, but it should be more likely -+ * than not that /mnt exists and is suitable as mount point -+ * and is on the same fs as the old root dir */ -+ temporary_old_root = strappend(new_root, "/mnt"); -+ if (!temporary_old_root) -+ return -ENOMEM; -+ - old_root_remove = in_initrd(); - - if (stat(new_root, &new_root_stat) < 0) { -@@ -103,7 +115,20 @@ int switch_root(const char *new_root) { - log_warning("Failed to open root directory: %m"); - } - -- if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { -+ /* We first try a pivot_root() so that we can umount the old -+ * root dir. In many cases (i.e. where rootfs is /), that's -+ * not possible however, and hence we simply overmount root */ -+ if (pivot_root(new_root, temporary_old_root) >= 0) { -+ -+ /* Immediately get rid of the old root. Since we are -+ * running off it we need to do this lazily. */ -+ if (umount2(temporary_old_root, MNT_DETACH) < 0) { -+ r = -errno; -+ log_error("Failed to umount old root dir %s: %m", temporary_old_root); -+ goto fail; -+ } -+ -+ } else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { - r = -errno; - log_error("Failed to mount moving %s to /: %m", new_root); - goto fail; --- -1.7.10.4 - diff --git a/sync-on-shutdown.patch b/sync-on-shutdown.patch deleted file mode 100644 index 6443fb48..00000000 --- a/sync-on-shutdown.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0049f05a8bb82c3e084bacc5945596761d706c55 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 Nov 2012 01:30:29 +0100 -Subject: [PATCH] shutdown: readd explicit sync() when shutting down - -As it turns out reboot() doesn't actually imply a file system sync, but -only a disk sync. Accordingly, readd explicit sync() invocations -immediately before we invoke reboot(). - -This is much less dramatic than it might sounds as we umount all -disks/read-only remount them anyway before going down. ---- - src/core/service.c | 1 + - src/core/shutdown.c | 7 +++++++ - 2 files changed, 8 insertions(+) - -Index: systemd-195/src/core/service.c -=================================================================== ---- systemd-195.orig/src/core/service.c -+++ systemd-195/src/core/service.c -@@ -2526,6 +2526,7 @@ static int service_start_limit_test(Serv - - case SERVICE_START_LIMIT_REBOOT_IMMEDIATE: - log_warning("%s start request repeated too quickly, rebooting immediately.", UNIT(s)->id); -+ sync(); - reboot(RB_AUTOBOOT); - break; - -Index: systemd-195/src/core/shutdown.c -=================================================================== ---- systemd-195.orig/src/core/shutdown.c -+++ systemd-195/src/core/shutdown.c -@@ -273,6 +273,13 @@ int main(int argc, char *argv[]) { - } - } - -+ /* The kernel will automaticall flush ATA disks and suchlike -+ * on reboot(), but the file systems need to be synce'd -+ * explicitly in advance. So let's do this here, but not -+ * needlessly slow down containers. */ -+ if (!in_container) -+ sync(); -+ - if (cmd == LINUX_REBOOT_CMD_KEXEC) { - - if (!in_container) { diff --git a/sysctl-modules.patch b/sysctl-modules.patch deleted file mode 100644 index c6d4058d..00000000 --- a/sysctl-modules.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: systemd-189/units/systemd-sysctl.service.in -=================================================================== ---- systemd-189.orig/units/systemd-sysctl.service.in -+++ systemd-189/units/systemd-sysctl.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service - DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service -+After=systemd-modules-load.service - Before=sysinit.target shutdown.target - ConditionPathIsReadWrite=/proc/sys/ - ConditionPathExists=|/etc/sysctl.conf diff --git a/sysctl-parse-all-keys.patch b/sysctl-parse-all-keys.patch deleted file mode 100644 index 4a8110ca..00000000 --- a/sysctl-parse-all-keys.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 91b32fa987a4a50faf3d8561b28b6c9d5150adef Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 25 Oct 2012 16:16:19 +0200 -Subject: [PATCH] sysctl: parse all keys in a config file - -https://bugzilla.redhat.com/show_bug.cgi?id=869779 ---- - src/sysctl/sysctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c -index a68d67f..035e0ec 100644 ---- a/src/sysctl/sysctl.c -+++ b/src/sysctl/sysctl.c -@@ -178,7 +178,7 @@ static int parse_file(const char *path, bool ignore_enoent) { - - free(property); - free(new_value); -- if (r != -EEXIST) -+ if (r != 0) - goto finish; - } - } --- -1.7.10.4 - diff --git a/systemctl-no-assert-on-reboot-without-dbus.patch b/systemctl-no-assert-on-reboot-without-dbus.patch deleted file mode 100644 index c2f9afe6..00000000 --- a/systemctl-no-assert-on-reboot-without-dbus.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d255133d8edc84662d2370a77414505a800d1922 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sat, 12 Jan 2013 00:00:22 +0100 -Subject: [PATCH] systemctl: don't hit an assert if we try to reboot and dbus - is dead - -https://bugzilla.redhat.com/show_bug.cgi?id=889624 ---- - src/systemctl/systemctl.c | 3 +++ - 1 file changed, 3 insertions(+) - -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -1744,6 +1744,9 @@ static int reboot_with_logind(DBusConnec - const char *method; - dbus_bool_t interactive = true; - -+ if (!bus) -+ return -EIO; -+ - polkit_agent_open_if_enabled(); - - switch (a) { diff --git a/systemctl-print-wall-on-if-successful.patch b/systemctl-print-wall-on-if-successful.patch deleted file mode 100644 index f056ef87..00000000 --- a/systemctl-print-wall-on-if-successful.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f6bb13ab8db51aaedc825fec2f0458b60309b27a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 14 Feb 2013 14:08:09 -0500 -Subject: [PATCH] systemctl: print wall message only if successful - -systemctl would write to the wall even if unsuccessful. - -https://bugs.freedesktop.org/show_bug.cgi?id=60393 ---- - src/systemctl/systemctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -1825,7 +1825,7 @@ static int start_special(DBusConnection - } - - r = start_unit(bus, args); -- if (r >= 0) -+ if (r == EXIT_SUCCESS) - warn_wall(a); - - return r; diff --git a/systemctl-verbose-message-on-missing-install.patch b/systemctl-verbose-message-on-missing-install.patch deleted file mode 100644 index 93383820..00000000 --- a/systemctl-verbose-message-on-missing-install.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4b9d3dc9748ec3f52a71b06f851f4398462a1c60 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 6 Dec 2012 16:20:10 +0100 -Subject: [PATCH] systemctl: verbose message on missing [Install] - -People still don't understand what the message implies. -We have to be more verbose (or more intelligent and detect some of the -cases automatically, but that's not so easy). - -https://bugzilla.redhat.com/show_bug.cgi?id=884438 ---- - src/systemctl/systemctl.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -Index: systemd-195/src/systemctl/systemctl.c -=================================================================== ---- systemd-195.orig/src/systemctl/systemctl.c -+++ systemd-195/src/systemctl/systemctl.c -@@ -3783,7 +3783,16 @@ static int enable_unit(DBusConnection *b - } - - if (carries_install_info == 0) -- log_warning("The unit files have no [Install] section. They are not meant to be enabled using systemctl."); -+ log_warning( -+"The unit files have no [Install] section. They are not meant to be enabled\n" -+"using systemctl.\n" -+"Possible reasons for having this kind of units are:\n" -+"1) A unit may be statically enabled by being symlinked from another unit's\n" -+" .wants/ or .requires/ directory.\n" -+"2) A unit's purpose may be to act as a helper for some other unit which has\n" -+" a requirement dependency on it.\n" -+"3) A unit may be started when needed via activation (socket, path, timer,\n" -+" D-Bus, udev, scripted systemctl call, ...).\n"); - - finish: - if (m) diff --git a/systemd-195.tar.xz b/systemd-195.tar.xz deleted file mode 100644 index c1ce2202..00000000 --- a/systemd-195.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9041a8b84ed971d08df2b96f1b7dbb1d49b788e275c7cc39912f656bd826303 -size 1441308 diff --git a/systemd-202.tar.xz b/systemd-202.tar.xz new file mode 100644 index 00000000..a2ff6a2e --- /dev/null +++ b/systemd-202.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c43073252a52eb9f9ab9bd698be0192bcb2175ba5daba6057250083dd64e059 +size 2149860 diff --git a/systemd-cgls-fix-piping-output.patch b/systemd-cgls-fix-piping-output.patch deleted file mode 100644 index b7871980..00000000 --- a/systemd-cgls-fix-piping-output.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7009eec20823add711e0aa452bdf9dfdd677fa4f Mon Sep 17 00:00:00 2001 -From: Anders Olofsson -Date: Mon, 19 Nov 2012 15:25:36 +0100 -Subject: [PATCH] shared/utils: systemd-cgls shows 'n/a' when piping output - --1 was used to signal failure, but the type was unsigned. - -https://bugs.freedesktop.org/show_bug.cgi?id=56644 ---- - src/shared/util.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-195/src/shared/util.c -=================================================================== ---- systemd-195.orig/src/shared/util.c -+++ systemd-195/src/shared/util.c -@@ -3806,7 +3806,7 @@ int fd_columns(int fd) { - - unsigned columns(void) { - const char *e; -- unsigned c; -+ int c; - - if (_likely_(cached_columns > 0)) - return cached_columns; -@@ -3814,7 +3814,7 @@ unsigned columns(void) { - c = 0; - e = getenv("COLUMNS"); - if (e) -- safe_atou(e, &c); -+ safe_atoi(e, &c); - - if (c <= 0) - c = fd_columns(STDOUT_FILENO); diff --git a/systemd-fix-merge-ignore-dependencies.patch b/systemd-fix-merge-ignore-dependencies.patch deleted file mode 100644 index 3e9f9454..00000000 --- a/systemd-fix-merge-ignore-dependencies.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e45460d666512db4f908f86e8722d7932dcf0f82 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Fri, 25 Jan 2013 19:54:21 +0100 -Subject: [PATCH] job: fix merging with --ignore-dependencies - -This fixes a bug where a job with --ignore-dependencies would wait for -other jobs because it merged into a previously queued job. ---- - src/core/job.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/core/job.c b/src/core/job.c -index e381ea2..6a03d17 100644 ---- a/src/core/job.c -+++ b/src/core/job.c -@@ -166,6 +166,7 @@ static void job_merge_into_installed(Job *j, Job *other) { - assert(other->type == JOB_NOP); - - j->override = j->override || other->override; -+ j->ignore_order = j->ignore_order || other->ignore_order; - } - - Job* job_install(Job *j) { --- -1.7.10.4 - diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a9db8b52..219445d9 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -15,3 +15,4 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-myhostname.*shlib-policy-name-error.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index bad5b461..6de94b11 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,230 @@ +------------------------------------------------------------------- +Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com + +- Do not provide %{release} for systemd-analyze +- Add more conflicts to -mini packages +- Disable Predictable Network interface names until it has been + reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. +- Don't package /usr/lib/firmware/update (not used) + +------------------------------------------------------------------- +Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org + +- Fix packaging error, there is no syslog.target anymore + do not pretend there is one. + +------------------------------------------------------------------- +Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com + +- Update to release 202: + + 'systemctl list-jobs' got some polishing. '--type=' argument + may now be passed more than once. 'systemctl list-sockets' has + been added. + + systemd gained a new unit 'systemd-static-nodes.service' +    that generates static device nodes earlier during boot, and +    can run in conjunction with udev. + + systemd-nspawn now places all containers in the new /machine +    top-level cgroup directory in the name=systemd hierarchy. + + bootchart can now store its data in the journal. + + journactl can now take multiple --unit= and --user-unit= +    switches. + + The cryptsetup logic now understands the "luks.key=" kernel +    command line switch. If a configured key file is missing, it + will fallback to prompting the user. +- Rebase some patches +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to + properly handle SYSTEMCTL_OPTIONS + +------------------------------------------------------------------- +Fri Apr 19 12:47:13 UTC 2013 - max@suse.com + +- Fix regression in the default for tmp auto-deletion + (systemd-tmp-safe-defaults.patch, FATE#314974). + +------------------------------------------------------------------- +Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com + +- Update to release 201: + + udev now supports different nameng policies for network + interface for predictable names. + + udev gained support for loading additional device properties + from an indexed database. %udev_hwdb_update macro should be + used by packages adding entries to this database. + + Journal gained support for "Message Catalog", indexed database + to link up additional information with journal entries. + %journal_catalog_update macro should be used by packages adding + %entries to this database. + + "age" field for tmpfiles entries can be set to 0, forcing + removal of files matching this entry. + + coredumpctl gained "gdb" verb to invoke gdb on selected + coredump. + + New rpm macros has been added: %udev_rules_update(), + %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, + %_tmpfilesdir, %_sysctldir. + + In service files, %U can be used for configured user name of + the service. + + nspawn can be invoked without a controlling TTY. + + systemd and nspawn can accept socket file descriptors when + started for socket activation. This allow socket activated + nspawn containers. + + logind can now automatically suspend/hibernate/shutdown system + on idle. + + ConditionACPower can be used in unit file to detect if AC power + source is connected or if system is on battery power. + + EnvironmentFile= in unit files supports file globbing. + + Behaviour of PrivateTmp=, ReadWriteDirectories=, + ReadOnlyDirectories= and InaccessibleDirectories= has + changed. The private /tmp and /var/tmp directories are now + shared by all processes of a service (which means + ExecStartPre= may now leave data in /tmp that ExecStart= of + the same service can still access). When a service is + stopped its temporary directories are immediately deleted + (normal clean-up with tmpfiles is still done in addition to + this though). + + Resource limits (as exposed by cgroup controlers) can be + controlled dynamically at runtime for all units, using + "systemctl set-cgroup-attr foobar.server cgroup.attribute + value". Those settings are stored persistenly on disk. + + systemd-vconsole-setup will now copy all fonts settings to all + allocated VTs. + + timedated now exposes CanNTP property to indicate if a local + NTP service is available. + + pstore file system is mounted by default, if available. + + SMACK policies are loaded at early boot, if available. + + Timer units now support calendar time events. + + systemd-detect-virt detect xen PVs. + + Some distributions specific LSB targets has been dropped: + $x-display-manager, $mail-transfer-agent, + $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As + well mail-transfer-agent.target and syslog.target has been + removed. + + systemd-journal-gatewayd gained SSL support and now runs as + unprivileged user/group + "systemd-journal-gateway:systemd-journal-gateway" + + systemd-analyze will read, when available, boot time + performance from EFI variable from boot loader supporting it. + + A new generator for automatically mounting EFI System Partition + (ESP) to /boot (if empty and no other file system has been + configured in fstab for it). + + logind will now send out PrepareForSleep(false) out + unconditionally, after coming back from suspend. + + tmpfiles gained a new "X" line type, that allows + configuration of files and directories (with wildcards) that + shall be excluded from automatic cleanup ("aging"). + + udev default rules set the device node permissions now only + at "add" events, and do not change them any longer with a + later "change" event. + + A new bootctl tool has been added that is an interface for + certain EFI boot loader operations. + + A new tool kernel-install has been added to install kernel + images according to Boot Loader Specification. + + A new tool systemd-activate can be used to test socket + activation. + + A new group "systemd-journal" is now owning journal files, + replacing "adm" group. + + journalctl gained "--reverse" to show output in reverse order, + "--pager-end" to jump at the end of the journal in the + pager (only less is supported) and "--user-unit" to filter for + user units. + + New unit files has been addedto ease for systemd usage in + initrd. + + "systemctl start" now supports "--irreversible" to queue + operations which can be reserved. It is now used to make + shutdown requests more robust. + + Auke Kok's bootchart has been merged and relicensed to + LGPLv2.1+. + + nss-myhostname has been merged in systemd codebase. + + some defaults sysctl values are now set by default: the safe + sysrq options are turned on, IP route verification is turned + on, and source routing disabled. The recently added hardlink + and softlink protection of the kernel is turned on. + + Add support for predictable network naming logic. It can be + turned off with kernel command line switch: net.ifnames=0 + + journald will now explicitly flush journal files to disk at the + latest 5 min after each write and will mark file offline until + next read. This should increase reliability in case of crash. + + remote-fs-setup.target target has been added to pull in + specific services when at least one remote file system is to be + mounted. + + timers.target and paths.target have been added as canonical + targets to pull user timer and path units, similar to + sockets.targets. + + udev daemon now sets default number of worker processes in + parallel based on number of CPUs instead of RAM. + + Most unit file settings which takes likst of items can now be +reset by assigning empty string to them, using drop-in. + + Add support for drop-in configuration file for units. + + Most unit file settings which takes likst of items can now be + reset by assigning empty string to them, using drop-in. + + improve systemg-cgtop output. + + improve 'systemctl status' output for socket, drop-in for units. + + 'hostnamectl set-hostname' allows setting FQDN hostnames. + + fractional time intervals are now parsed properly. + + localectl can list available X11 keymaps. + + systemd-analyze dot can filter for specific units and has been + rewritten in C. + + systemctl gained "list-dependencies" command. + + Inhibitors are now honored no only in GNOME. +- Many patches has been dropped, being merged upstream. +- Many patches has been renamed and regenerated with git, to have + consistent naming, authorship and comments embedded. +- Add + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: + re-add support for boot.* initscripts until they are all migrated + to systemd unit files. +- Merge patches for nss-myhostname package to this package. + +------------------------------------------------------------------- +Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com + +- Add chromebook lid switch as a power switch to logind rule to + enable suspend on lid close + +------------------------------------------------------------------- +Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com + +- Add improve-readahead-spinning.patch: improve readahead + performance on spinning media with ext4. +- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal + (bnc#789589). +- Add fix-lsb-provides.patch: ensure LSB provides are correctly + handled if also referenced as dependencies (bnc#809646). +- Add fix-loopback-mount.patch: ensure udevd is started (and + therefore static devices are created) before mounting + (bnc#809820). +- Update systemd-sysv-convert to search services files in new + location (bnc#809695). +- Add logind-nvidia-acl.diff: set ACL on nvidia devices + (bnc#808319). +- Add do-no-isolate-on-fsck-failure.patch: do not turn off services + if fsck fails (bnc#812874) +- Add wait-for-processes-killed.patch: wait for processes killed by + SIGTERM before killing them with SIGKILL. +- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to + systemctl command (bnc#801878). + +------------------------------------------------------------------- +Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz + +- Fixed disabling CapsLock and enabling NumLock (bnc#746595, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + systemd-numlock-suse.patch). +- Explicitly require libgcrypt-devel to fix build failure. + +------------------------------------------------------------------- +Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com + +- udev: ensure that the network interfaces are renamed even if they + exist (bnc#809843). + add: 1027-udev-always-rename-network.patch + +------------------------------------------------------------------- +Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com + +- udev: re-add persistent network rules (bnc#809843). + add: 1026-re-add-persistent-net.patch +- rebase all patches, ensure that they apply properly. + ------------------------------------------------------------------- Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f8e9e65e..30827d23 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 195 +Version: 202 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -62,6 +62,7 @@ BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} +BuildRequires: libgcrypt-devel BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 %endif @@ -79,6 +80,7 @@ BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} Requires: this-is-only-for-build-envs +Conflicts: systemd %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -94,6 +96,8 @@ Requires(post): findutils %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Obsoletes: systemd-analyze < 201 +Provides: systemd-analyze = %{version} Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz Source1: systemd-rpmlintrc Source2: localfs.service @@ -103,185 +107,66 @@ Source5: systemd-insserv_conf Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init +Source9: nss-myhostname-config Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink +# Patches auto-generated by git-buildpackage: -Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch +# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r +Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +# PATCH-FIX-UPSTREAM ptionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +Patch1: optionally-warn-if-nss-myhostname-is-called.patch +Patch2: Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings -Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch -Patch7: systemd-numlock-suse.patch -# don't start getty on tty1 until all password request are done -Patch8: tty1.patch -Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch -Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch -Patch15: support-sysvinit.patch -Patch16: modules_on_boot.patch -Patch22: new-lsb-headers.patch -Patch23: storage-after-cryptsetup.patch -Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch -Patch31: lock-opensuse.patch -Patch33: crypt-loop-file.patch -Patch36: sysctl-modules.patch -Patch38: dm-lvm-after-local-fs-pre-target.patch -Patch53: fastboot-forcefsck.patch -Patch56: support-suse-clock-sysconfig.patch -Patch59: fix-enable-disable-boot-initscript.patch -Patch60: var-run-lock.patch -Patch63: xdm-display-manager.patch -Patch64: fix-permissions-btmp.patch -# PATCH-FIX-UPSTREAM fix-debugshell.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available -Patch71: fix-debugshell.patch -# PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch72: handle-root-uses-lang.patch -# PATCH-FIX-OPENSUSE multiple-sulogin.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch76: multiple-sulogin.patch -# PATCH-FIX-OPENSUSE systemctl-options.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable -Patch77: systemctl-options.patch +Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch +Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch +Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch +Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch +Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch +Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +Patch18: fix-owner-of-var-log-btmp.patch + +# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done +Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch +# PATCH-FIX-OPENSUSE Ensure-debugshell-has-a-correct-value.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available +Patch19: Ensure-debugshell-has-a-correct-value.patch +# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype +Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch +# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin +Patch21: allow-multiple-sulogin-to-be-started.patch +# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch +# PATCH-FIX-UPSTREAM ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch bnc#809820 fcrozat@suse.com -- loopback mount should be started after /dev/loop-control is available +Patch26: ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices +Patch27: apply-ACL-for-nvidia-device-nodes.patch +# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts +Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch -- FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. +Patch39: systemd-tmp-safe-defaults.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal -Patch61: fix-logind-pty-seat.patch -# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc -Patch62: fix-build-glibc217.patch -# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access -Patch65: fix-bad-memory-access.patch -# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash -Patch66: fix-dbus-crash.patch -# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown -Patch67: sync-on-shutdown.patch -# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI -Patch68: mount-efivars.patch -# PATCH-FIX-UPSTREAM switch-root-try-pivot-root.patch fcrozat@suse.com -- try pivot_root before overmounting / -Patch69: switch-root-try-pivot-root.patch -# PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop -Patch70: remount-ro-before-unmount.patch -# PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error. -Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch -# PATCH-FIX-UPSTREAM detect-btrfs-ssd.patch crrodriguez@opensuse.org -- fix BTRFS detection on systemd-readhead -Patch74: detect-btrfs-ssd.patch -# PATCH-FIX-UPSTREAM timedated-donot-close-bogus-dbus-connection.patch crrodriguez@opensuse.org -- Fix assertion failure when dbus is gone. -Patch75: timedated-donot-close-bogus-dbus-connection.patch -# PATCH-FIX-UPSTREAM journalctl-remove-leftover-message.patch fcrozat@suse.com -- remove debug message in systemctl -Patch78: journalctl-remove-leftover-message.patch -# PATCH-FIX-UPSTREAM job-avoid-recursion-when-cancelling.patch fcrozat@suse.com -- prevent potential recursion when cancelling a service -Patch79: job-avoid-recursion-when-cancelling.patch -# PATCH-FIX-UPSTREAM sysctl-parse-all-keys.patch fcrozat@suse.com -- ensure sysctl file is fully parsed -Patch80: sysctl-parse-all-keys.patch -# PATCH-FIX-UPSTREAM journal-fix-cutoff-max-date.patch fcrozat@suse.com -- fix computation of cutoff max date for journal -Patch81: journal-fix-cutoff-max-date.patch -# PATCH-FIX-UPSTREAM reword-rescue-mode-hints.patch fcrozat@suse.com -- reword rescue prompt -Patch82: reword-rescue-mode-hints.patch -# PATCH-FIX-UPSTREAM improve-overflow-checks.patch fcrozat@suse.com -- improve time overflow checks -Patch83: improve-overflow-checks.patch -# PATCH-FIX-UPSTREAM fix-swap-behaviour-with-symlinks.patch fcrozat@suse.com -- fix swap behaviour with symlinks -Patch84: fix-swap-behaviour-with-symlinks.patch -# PATCH-FIX-UPSTREAM hostnamectl-fix-set-hostname-with-no-argument.patch fcrozat@suse.com -- ensure hostnamectl requires an argument when called with set-hostname option -Patch85: hostnamectl-fix-set-hostname-with-no-argument.patch -# PATCH-FIX-UPSTREAM agetty-overrides-term.patch fcrozat@suse.com -- pass correctly terminal type to agetty -Patch86: agetty-overrides-term.patch -# PATCH-FIX-UPSTREAM check-for-empty-strings-in-strto-conversions.patch fcrozat@suse.com -- better check for empty strings in strto* conversions -Patch87: check-for-empty-strings-in-strto-conversions.patch -# PATCH-FIX-UPSTREAM strv-cleanup-error-path-loops.patch fcrozat@suse.com -- cleanup strv on error path -Patch88: strv-cleanup-error-path-loops.patch -# PATCH-FIX-UPSTREAM cryptsetup-handle-plain.patch fcrozat@suse.com -- correctly handle "plain" option in cryptsetup -Patch89: cryptsetup-handle-plain.patch -# PATCH-FIX-UPSTREAM fstab-generator-improve-error-message.patch fcrozat@suse.com -- improve error message in fstab-generator -Patch90: fstab-generator-improve-error-message.patch -# PATCH-FIX-UPSTREAM delta-accept-t-option.patch fcrozat@suse.com -- accept -t option in systemd-delta -Patch91: delta-accept-t-option.patch -# PATCH-FIX-UPSTREAM highlight-ordering-cycle-deletions.patch fcrozat@suse.com -- highlight ordering cycle deletions in logs -Patch92: highlight-ordering-cycle-deletions.patch -# PATCH-FIX-UPSTREAM core-interpret-escaped-semicolon-as-escaped.patch fcrozat@suse.com -- accept \; in ExecStart -Patch93: core-interpret-escaped-semicolon-as-escaped.patch -# PATCH-FIX-UPSTREAM hostnamectl-fix-parsing-no-ask-password.patch fcrozat@suse.com -- accept no-ask-password in hostnamectl -Patch94: hostnamectl-fix-parsing-no-ask-password.patch -# PATCH-FIX-UPSTREAM systemd-cgls-fix-piping-output.patch fcrozat@suse.com -- fix piping output of systemd-cgls -Patch95: systemd-cgls-fix-piping-output.patch -# PATCH-FIX-UPSTREAM core-load-fragment-improve-error-message.patch fcrozat@suse.com -- improve error message when parsing fragments -Patch96: core-load-fragment-improve-error-message.patch -# PATCH-FIX-UPSTREAM fix-potential-bad-mem-access.patch fcrozat@suse.com -- fix potential bad memory access -Patch97: fix-potential-bad-mem-access.patch -# PATCH-FIX-UPSTREAM socket-improve-error-message.patch fcrozat@suse.com -- improve error message in socket handling -Patch98: socket-improve-error-message.patch -# PATCH-FIX-UPSTREAM journal-send-always-send-syslog_identifier.patch fcrozat@suse.com -- always send syslog_identifier if available for journal -Patch99: journal-send-always-send-syslog_identifier.patch -# PATCH-FIX-UPSTREAM crypsetup-handle-nofail.patch fcrozat@suse.com -- handle nofail in cryptsetup -Patch100: crypsetup-handle-nofail.patch -# PATCH-FIX-UPSTREAM crypsetup-generator-state-file-name-in-error-message.patch fcrozat@suse.com -- add filename in error message from crypsetup-generator -Patch101: crypsetup-generator-state-file-name-in-error-message.patch -# PATCH-FIX-UPSTREAM fstab-generator-error-message-on-duplicates.patch fcrozat@suse.com -- improve error message on duplicate in fstab-generator -Patch102: fstab-generator-error-message-on-duplicates.patch -# PATCH-FIX-UPSTREAM systemctl-verbose-message-on-missing-install.patch fcrozat@suse.com -- reword missing install error message in systemctl -Patch103: systemctl-verbose-message-on-missing-install.patch -# PATCH-FIX-UPSTREAM shutdown-improvements.patch fcrozat@suse.com -- various improvements at shutdown -Patch104: shutdown-improvements.patch -# PATCH-FIX-UPSTREAM localectl-fix-assertion.patch fcrozat@suse.com -- fix assertion in localectl -Patch105: localectl-fix-assertion.patch -# PATCH-FIX-UPSTREAM path-util-fix-potential-crash.patch fcrozat@suse.com -- fix potential crash in path-util -Patch106: path-util-fix-potential-crash.patch -# PATCH-FIX-UPSTREAM coredumpctl-fix-crash.patch fcrozat@suse.com -- fix crash in coredumpctl -Patch107: coredumpctl-fix-crash.patch -# PATCH-FIX-UPSTREAM socket-verbose-error-message.patch fcrozat@suse.com -- add more verbose error message in socket handling -Patch108: socket-verbose-error-message.patch -# PATCH-FIX-UPSTREAM pam-properly-handle-ssh-logins-without-pam-tty-field.patch fcrozat@suse.com -- handle properly ssh-logins without pam tty field -Patch109: pam-properly-handle-ssh-logins-without-pam-tty-field.patch -# PATCH-FIX-UPSTREAM fstab-generator-properly-detect-bind-mounts.patch fcrozat@suse.com -- properly detect bind-mounts in fstab-generator -Patch110: fstab-generator-properly-detect-bind-mounts.patch -# PATCH-FIX-UPSTREAM localectl-support-systems-without-locale-archive.patch fcrozat@suse.com -- localectl now supports systemd without locale-archive file -Patch111: localectl-support-systems-without-locale-archive.patch -# PATCH-FIX-UPSTREAM logind-capability-making-seats-without-fb.patch fcrozat@suse.com -- allows capability of making seats without fb -Patch112: logind-capability-making-seats-without-fb.patch -# PATCH-FIX-UPSTREAM service-forking-ignore-exit-status-main-process.patch fcrozat@suse.com -- ignore exit-statis of main process when forking, if specified in unit file -Patch113: service-forking-ignore-exit-status-main-process.patch -# PATCH-FIX-UPSTREAM systemctl-no-assert-on-reboot-without-dbus.patch fcrozat@suse.com -- don't assert on reboot if dbus isn't there -Patch114: systemctl-no-assert-on-reboot-without-dbus.patch -# PATCH-FIX-UPSTREAM logind-ignore-non-tty-non-x11-session-on-shutdown.patch fcrozat@suse.com -- ignore non tty non-x11 session on shutdown -Patch115: logind-ignore-non-tty-non-x11-session-on-shutdown.patch -# PATCH-FIX-UPSTREAM journalctl-quit-on-io-error.patch fcrozat@suse.com -- fix journalctl quit on io error -Patch116: journalctl-quit-on-io-error.patch -# PATCH-FIX-UPSTREAM do-not-make-sockets-dependent-on-lo.patch fcrozat@suse.com -- do not make sockets dependent on lo interface -Patch117: do-not-make-sockets-dependent-on-lo.patch -# PATCH-FIX-UPSTREAM shutdown-dont-force-mnt-force-on-final-umount.patch fcrozat@suse.com -- don't force MNT_FORCE on final umount at shutdown -Patch118: shutdown-dont-force-mnt-force-on-final-umount.patch -# PATCH-FIX-UPSTREAM shutdown-ignore-loop-devices-without-backing-file.patch fcrozat@suse.com -- ignore loop devices without backing file at shutdown -Patch119: shutdown-ignore-loop-devices-without-backing-file.patch -# PATCH-FIX-UPSTREAM fix-bad-mem-access.patch fcrozat@suse.com -- fix bad memory access -Patch120: fix-bad-mem-access.patch -# PATCH-FIX-UPSTREAM parse-multiline-env-file.patch fcrozat@suse.com bnc#793411 -- correctly parse multiline environment files -Patch121: parse-multiline-env-file.patch -# PATCH-FIX-UPSTREAM improve-man-environment.patch fcrozat@suse.com -- improve Environment section in manpage -Patch122: improve-man-environment.patch -# PATCH-FIX-UPSTREAM tmpfiles-X-type.patch fcrozat@suse.com -- allow to clean directories with removing them -Patch123: tmpfiles-X-type.patch -# PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies -Patch124: systemd-fix-merge-ignore-dependencies.patch -# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority -Patch125: journalctl-require-argument-for-priority -# PATCH-FIX-UPSTREAM cryptsetup-accept-read-only.patch fcrozat@suse.com -- Accept read-only as well as readonly as parameters for crypttab -Patch126: cryptsetup-accept-read-only.patch # PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) -Patch127: disable-nss-myhostname-warning-bnc-783841.diff -# PATCH-FIX-UPSTREAM early-sync-shutdown.patch fcrozat@suse.com -- Start sync on shutdown early -Patch128: early-sync-shutdown.patch +Patch23: disable-nss-myhostname-warning-bnc-783841.patch # PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch129: handle-HOSTNAME.patch -# PATCH-FIX-UPSTREAM systemctl-print-wall-on-if-successful.patch fcrozat@suse.com -- Only print on wall if successful -Patch130: systemctl-print-wall-on-if-successful.patch -# PATCH-FIX-UPSTREAM improve-bash-completion.patch fcrozat@suse.com -- improve bash completion -Patch131: improve-bash-completion.patch -# PATCH-FIX-UPSTREAM improve-journal-perf.patch fcrozat@suse.com -- improve journal performance -Patch132: improve-journal-perf.patch -# PATCH-FIX-UPSTREAM support-hybrid-suspend.patch fcrozat@suse.com -- support hybrid suspend -Patch133: support-hybrid-suspend.patch -# PATCH-FIX-OPENSUSE forward-to-pmutils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils -Patch134: forward-to-pmutils.patch -# PATCH-FIX-UPSTREAM rbind-mount.patch fcrozat@suse.com bnc#804575 -- Handle rbind mount point correctly -Patch135: rbind-mount.patch +Patch24: handle-etc-HOSTNAME.patch +# PATCH-FIX-OPENSUSE Forward-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch +# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind +Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -295,45 +180,13 @@ Patch1004: 1004-udev-netlink-null-rules.patch # PATCH-FIX-OPENSUSE 1005-udev-fix-sg-autoload-regression.patch Patch1005: 1005-udev-fix-sg-autoload-regression.patch # PATCH-FIX-OPENSUSE 1007-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1006: 1006-fix-devname-prefix.patch -# PATCH-FIX-UPSTREAM 1007-udevd-add-missing-to-getopt_long-e.patch -Patch1007: 1007-udevd-add-missing-to-getopt_long-e.patch -# PATCH-FIX-UPSTREAM 1008-udev-path_id-handle-Hyper-V-devices.patch -Patch1008: 1008-udev-path_id-handle-Hyper-V-devices.patch -# PATCH-FIX-UPSTREAM 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -Patch1009: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -# PATCH-FIX-UPSTREAM 1010-keymap-Add-Samsung-700T.patch -Patch1010: 1010-keymap-Add-Samsung-700T.patch -# PATCH-FIX-UPSTREAM 1011-libudev-avoid-leak-during-realloc-failure.patch -Patch1011: 1011-libudev-avoid-leak-during-realloc-failure.patch -# PATCH-FIX-UPSTREAM 1012-libudev-do-not-resolve-attr-device-symlinks.patch -Patch1012: 1012-libudev-do-not-resolve-attr-device-symlinks.patch -# PATCH-FIX-UPSTREAM 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -Patch1013: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -# PATCH-FIX-UPSTREAM 1014-udev-fix-whitespace.patch -Patch1014: 1014-udev-fix-whitespace.patch -# PATCH-FIX-UPSTREAM 1015-udev-properly-handle-symlink-removal-by-change-event.patch -Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -# PATCH-FIX-UPSTREAM 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -# PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch -Patch1017: 1017-udev-use-usec_t-and-now.patch -# PATCH-FIX-UPSTREAM 1018-keymap-add-aditional-support.patch -Patch1018: 1018-keymap-add-aditional-support.patch -# PATCH-FIX-UPSTREAM 1019-udev-Fix-device-matching-in-the-accelerometer.patch -Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch -# PATCH-FIX-OPENSUSE 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -Patch1020: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +Patch1007: 1007-fix-devname-prefix.patch # PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-UPSTREAM 1022-udev-use-unique-names-for-temporary-files-created-in.patch -Patch1022: 1022-udev-use-unique-names-for-temporary-files-created-in.patch -# PATCH-FIX-UPSTREAM 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch -Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch -# PATCH-FIX-UPSTREAM 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -Patch1024: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -# PATCH-FIX-UPSTREAM 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch -Patch1025: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch +# PATCH-FIX-OPENSUSE 1026-re-add-persistent-net.patch +Patch1026: 1026-re-add-persistent-net.patch +# PATCH-FIX-OPENSUSE 1027-udev-always-rename-network.patch +Patch1027: 1027-udev-always-rename-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -368,22 +221,6 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. -%package analyze -Summary: Tool for processing systemd profiling information -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version} -Requires: dbus-1-python -Requires: python-cairo -# for the systemd-analyze split: -Conflicts: systemd < 44-10 - -%description analyze -'systemd-analyze blame' lists which systemd unit needed how much time to finish -initialization at boot. -'systemd-analyze plot' renders an SVG visualizing the parallel start of units -at boot. - %package -n %{udevpkgname} Summary: A rule-based device node and kernel event manager License: GPL-2.0 @@ -401,6 +238,7 @@ Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version} Conflicts: libudev%{udev_major} = %{version} +Conflicts: udev %endif %description -n %{udevpkgname} @@ -433,6 +271,7 @@ Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version} Conflicts: libudev%{udev_major} = %{version} +Conflicts: libudev-devel %endif %description -n lib%{udevpkgname}-devel @@ -483,6 +322,33 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-myhostname +Summary: Plugin for local system host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-myhostname +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured system hostname as returned by +gethostname(2). Various software relies on an always resolvable local +host name. When using dynamic hostnames this is usually achieved by +patching /etc/hosts at the same time as changing the host name. This +however is not ideal since it requires a writable /etc file system and +is fragile because the file might be edited by the administrator at +the same time. nss-myhostname simply returns all locally +configured public IP addresses, or -- if none are configured -- +the IPv4 address 127.0.0.2 (wich is on the local loopback) and the +IPv6 address ::1 (which is the local host) for whatever system +hostname is configured locally. Patching /etc/hosts is thus no +longer necessary. + +Note that nss-myhostname only provides a workaround for broken +software. If nss-myhostname is trigged by an application a message +is logged to /var/log/messages. Please check whether that's worth +a bug report then. +This package marks the installation to not use syslog but only the journal. + %endif %prep @@ -499,144 +365,64 @@ cp %{SOURCE7} m4/ %patch1003 -p1 %patch1004 -p1 %patch1005 -p1 -%patch1006 -p1 %patch1007 -p1 -%patch1008 -p1 -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p1 -%patch1017 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 %patch1021 -p1 -%patch1022 -p1 -%patch1023 -p1 -%patch1024 -p1 -%patch1025 -p1 +%patch1026 -p1 +%patch1027 -p1 #systemd +%patch0 -p1 %patch1 -p1 -%patch6 -p1 +%patch2 -p1 +%patch3 -p1 # don't apply when bootstrapping to not modify configure.in %if ! 0%{?bootstrap} -%patch7 -p1 +%patch4 -p1 %endif +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch10 -p1 +%patch11 -p1 +%patch12 -p1 %patch13 -p1 +%patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 -%patch31 -p1 -%patch33 -p1 -%patch36 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch37 -p1 %patch38 -p1 -%patch53 -p1 -%patch56 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 -%patch86 -p1 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 -%patch90 -p1 -%patch91 -p1 -%patch92 -p1 -%patch93 -p1 -%patch94 -p1 -%patch95 -p1 -%patch96 -p1 -%patch97 -p1 -%patch98 -p1 -%patch99 -p1 -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 -%patch127 -p1 -%patch128 -p1 -%patch129 -p1 -%patch130 -p1 -%patch131 -p1 -%patch132 -p1 -%patch133 -p1 -%patch134 -p1 -%patch135 -p1 +%patch39 -p1 %build autoreconf -fiv -# to remove after upgrading to systemd 196+ -rm -f man/{systemd.exec.5,logind.conf.5,systemctl.1,systemd-suspend.service.8,systemd.special.7,tmpfiles.d.5} # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --with-distro=suse \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ %if 0%{?bootstrap} --disable-gudev \ + --disable-myhostname \ %else --enable-manpages \ --enable-gtk-doc \ + --with-nss-my-hostname-warning \ %endif --enable-selinux \ --enable-split-usr \ @@ -647,6 +433,11 @@ make %{?_smp_mflags} %install %makeinstall +# move to %{_lib} +%if ! 0%{?bootstrap} +mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib} +%endif + mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password @@ -655,10 +446,10 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 %endif -mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware %if ! 0%{?bootstrap} install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} @@ -673,8 +464,6 @@ install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -#workaround for 716939 -chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete @@ -722,7 +511,7 @@ rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the # journal. -rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf +rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/50-coredump.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README @@ -742,6 +531,13 @@ ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one mkdir -p %{buildroot}/var/log/journal +# Make sure directories in /var exist +mkdir -p %{buildroot}/var/lib/systemd/coredump +mkdir -p %{buildroot}/var/lib/systemd/catalog +#create ghost databases +touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin + # Make sure the NTP units dir exists mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ @@ -752,7 +548,6 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants src="%buildroot/%_libexecdir/systemd/system/getty@.service" dst="${src/@/@tty1}" @@ -761,8 +556,15 @@ perl -i -pe 's{^# the VT is cleared.*}{}i;s{(^TTYVTDisallocate=.*)}{}' "$dst" %fdupes -s %{buildroot}%{_mandir} +# disable predictable network interface naming until it has been reviewed by network team +cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf +F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" +EOF + %pre -getent group adm >/dev/null || groupadd -r adm +getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : exit 0 %post @@ -771,6 +573,7 @@ exit 0 /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -841,6 +644,7 @@ if test -f /proc/1/exe -a -d /proc/1/root ; then fi %post -n %{udevpkgname} +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : %{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ @@ -900,6 +704,15 @@ if [ "$1" -eq 1 ]; then systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : fi +%preun -n nss-myhostname +if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then + %{_sbindir}/nss-myhostname-config --disable +fi + +%post -n nss-myhostname -p /sbin/ldconfig + +%postun -n nss-myhostname -p /sbin/ldconfig + %endif %clean @@ -910,9 +723,12 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/bootctl +%{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl %{_bindir}/systemctl +%{_bindir}/systemd-analyze %{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify @@ -958,6 +774,9 @@ fi %exclude %{_prefix}/lib/systemd/systemd-udevd %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%dir %{_prefix}/lib/systemd/catalog +%{_prefix}/lib/systemd/catalog/systemd.catalog +%dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-preset %dir %{_prefix}/lib/systemd/user-preset @@ -968,10 +787,10 @@ fi %dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system/default.target.wants %dir %{_prefix}/lib/systemd/system/dbus.target.wants -%dir %{_prefix}/lib/systemd/system/syslog.target.wants %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif +%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator @@ -989,6 +808,7 @@ fi %dir %{_sysconfdir}/binfmt.d %dir %{_libexecdir}/sysctl.d +%{_libexecdir}/sysctl.d/50-default.conf %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd @@ -996,6 +816,7 @@ fi %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %dir %{_sysconfdir}/xdg/systemd/user +%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf @@ -1036,9 +857,6 @@ fi %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* -# Packaged in analyze subpackage -%exclude %{_mandir}/man1/systemd-analyze.1* - %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -1056,12 +874,16 @@ fi %if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on %endif -%dir %{_sysconfdir}/bash_completion.d -%{_sysconfdir}/bash_completion.d/systemd-bash-completion.sh +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%ghost /var/lib/systemd/catalog/database +%{_datadir}/bash-completion/completions/* %{_sysconfdir}/rpm/macros.systemd %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated +%dir /var/lib/systemd/catalog +%dir /var/lib/systemd/coredump %files devel %defattr(-,root,root,-) @@ -1101,13 +923,6 @@ fi %{_mandir}/man8/runlevel.8* %endif -%files analyze -%defattr(-,root,root) -%attr(0755,root,root) /usr/bin/systemd-analyze -%if ! 0%{?bootstrap} -%{_mandir}/man1/systemd-analyze.1* -%endif - %files -n %{udevpkgname} %defattr(-,root,root) /sbin/udevd @@ -1127,6 +942,8 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule +%{_prefix}/lib/udev/write_net_rules +%{_prefix}/lib/udev/rule_generator.functions %dir %{_prefix}/lib/udev/keymaps %{_prefix}/lib/udev/keymaps/* %{_prefix}/lib/udev/keyboard-force-release.sh @@ -1137,9 +954,12 @@ fi %exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules +%dir %{_prefix}/lib/udev/hwdb.d +%{_prefix}/lib/udev/hwdb.d/* %{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ +%ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} %{_mandir}/man?/*udev*.[0-9]* @@ -1200,6 +1020,11 @@ fi /var/log/README /etc/init.d/systemd-journald +%files -n nss-myhostname +%defattr(-, root, root) +%{_sbindir}/nss-myhostname-config +/%{_lib}/*nss_myhostname* + %endif %changelog diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a9db8b52..219445d9 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -15,3 +15,4 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-myhostname.*shlib-policy-name-error.*") diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 3645f435..ef38cbff 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -18,7 +18,7 @@ EOF help() { usage cat << EOF -Save and Restore SusV Service Runlevel Information +Save and Restore SysV Service Runlevel Information positional arguments: SERVICE Service names @@ -62,6 +62,7 @@ fi lookup_database() { local services local service +local service_file local runlevel local priority local -i k @@ -147,22 +148,25 @@ case "$1" in shift services=$@ for service in $services; do - if [ ! -f "/lib/systemd/system/$service.service" ]; then + if [ ! -f "/lib/systemd/system/$service.service" -a ! -f "/usr/lib/systemd/system/$service.service" ]; then echo systemd service $service.service does not exist. >/dev/stderr exit 1 fi done lookup_database $services for service in $services; do + [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + if [ -z "${results_runlevel[$service]}" ]; then echo No information found about service $service found. >/dev/stderr fail=1 continue fi for runlevel in ${results_runlevel[$service]}; do - echo ln -sf /lib/systemd/system/$service.service /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr + echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf /lib/systemd/system/$service.service /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service done done diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch new file mode 100644 index 00000000..4c957df7 --- /dev/null +++ b/systemd-tmp-safe-defaults.patch @@ -0,0 +1,26 @@ +From: Reinhard Max +Date: Fri, 19 Apr 2013 16:12:28 +0200 +Subject: systemd tmp safe defaults + +Fix regression in the default for tmp auto-deletion (FATE#314974). +SUSE policy is to not clean /tmp by default. +--- + tmpfiles.d/tmp.conf | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf +index 3b534a1..99eb6f2 100644 +--- a/tmpfiles.d/tmp.conf ++++ b/tmpfiles.d/tmp.conf +@@ -8,8 +8,9 @@ + # See tmpfiles.d(5) for details + + # Clear tmp directories separately, to make them easier to override +-d /tmp 1777 root root 10d +-d /var/tmp 1777 root root 30d ++# SUSE policy: we don't clean those directories ++d /tmp 1777 root root - ++d /var/tmp 1777 root root - + + # Exclude namespace mountpoints created with PrivateTmp=yes + x /tmp/systemd-private-* diff --git a/systemd.changes b/systemd.changes index 83663a86..6de94b11 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,223 @@ +------------------------------------------------------------------- +Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com + +- Do not provide %{release} for systemd-analyze +- Add more conflicts to -mini packages +- Disable Predictable Network interface names until it has been + reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. +- Don't package /usr/lib/firmware/update (not used) + +------------------------------------------------------------------- +Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org + +- Fix packaging error, there is no syslog.target anymore + do not pretend there is one. + +------------------------------------------------------------------- +Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com + +- Update to release 202: + + 'systemctl list-jobs' got some polishing. '--type=' argument + may now be passed more than once. 'systemctl list-sockets' has + been added. + + systemd gained a new unit 'systemd-static-nodes.service' +    that generates static device nodes earlier during boot, and +    can run in conjunction with udev. + + systemd-nspawn now places all containers in the new /machine +    top-level cgroup directory in the name=systemd hierarchy. + + bootchart can now store its data in the journal. + + journactl can now take multiple --unit= and --user-unit= +    switches. + + The cryptsetup logic now understands the "luks.key=" kernel +    command line switch. If a configured key file is missing, it + will fallback to prompting the user. +- Rebase some patches +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to + properly handle SYSTEMCTL_OPTIONS + +------------------------------------------------------------------- +Fri Apr 19 12:47:13 UTC 2013 - max@suse.com + +- Fix regression in the default for tmp auto-deletion + (systemd-tmp-safe-defaults.patch, FATE#314974). + +------------------------------------------------------------------- +Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com + +- Update to release 201: + + udev now supports different nameng policies for network + interface for predictable names. + + udev gained support for loading additional device properties + from an indexed database. %udev_hwdb_update macro should be + used by packages adding entries to this database. + + Journal gained support for "Message Catalog", indexed database + to link up additional information with journal entries. + %journal_catalog_update macro should be used by packages adding + %entries to this database. + + "age" field for tmpfiles entries can be set to 0, forcing + removal of files matching this entry. + + coredumpctl gained "gdb" verb to invoke gdb on selected + coredump. + + New rpm macros has been added: %udev_rules_update(), + %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, + %_tmpfilesdir, %_sysctldir. + + In service files, %U can be used for configured user name of + the service. + + nspawn can be invoked without a controlling TTY. + + systemd and nspawn can accept socket file descriptors when + started for socket activation. This allow socket activated + nspawn containers. + + logind can now automatically suspend/hibernate/shutdown system + on idle. + + ConditionACPower can be used in unit file to detect if AC power + source is connected or if system is on battery power. + + EnvironmentFile= in unit files supports file globbing. + + Behaviour of PrivateTmp=, ReadWriteDirectories=, + ReadOnlyDirectories= and InaccessibleDirectories= has + changed. The private /tmp and /var/tmp directories are now + shared by all processes of a service (which means + ExecStartPre= may now leave data in /tmp that ExecStart= of + the same service can still access). When a service is + stopped its temporary directories are immediately deleted + (normal clean-up with tmpfiles is still done in addition to + this though). + + Resource limits (as exposed by cgroup controlers) can be + controlled dynamically at runtime for all units, using + "systemctl set-cgroup-attr foobar.server cgroup.attribute + value". Those settings are stored persistenly on disk. + + systemd-vconsole-setup will now copy all fonts settings to all + allocated VTs. + + timedated now exposes CanNTP property to indicate if a local + NTP service is available. + + pstore file system is mounted by default, if available. + + SMACK policies are loaded at early boot, if available. + + Timer units now support calendar time events. + + systemd-detect-virt detect xen PVs. + + Some distributions specific LSB targets has been dropped: + $x-display-manager, $mail-transfer-agent, + $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As + well mail-transfer-agent.target and syslog.target has been + removed. + + systemd-journal-gatewayd gained SSL support and now runs as + unprivileged user/group + "systemd-journal-gateway:systemd-journal-gateway" + + systemd-analyze will read, when available, boot time + performance from EFI variable from boot loader supporting it. + + A new generator for automatically mounting EFI System Partition + (ESP) to /boot (if empty and no other file system has been + configured in fstab for it). + + logind will now send out PrepareForSleep(false) out + unconditionally, after coming back from suspend. + + tmpfiles gained a new "X" line type, that allows + configuration of files and directories (with wildcards) that + shall be excluded from automatic cleanup ("aging"). + + udev default rules set the device node permissions now only + at "add" events, and do not change them any longer with a + later "change" event. + + A new bootctl tool has been added that is an interface for + certain EFI boot loader operations. + + A new tool kernel-install has been added to install kernel + images according to Boot Loader Specification. + + A new tool systemd-activate can be used to test socket + activation. + + A new group "systemd-journal" is now owning journal files, + replacing "adm" group. + + journalctl gained "--reverse" to show output in reverse order, + "--pager-end" to jump at the end of the journal in the + pager (only less is supported) and "--user-unit" to filter for + user units. + + New unit files has been addedto ease for systemd usage in + initrd. + + "systemctl start" now supports "--irreversible" to queue + operations which can be reserved. It is now used to make + shutdown requests more robust. + + Auke Kok's bootchart has been merged and relicensed to + LGPLv2.1+. + + nss-myhostname has been merged in systemd codebase. + + some defaults sysctl values are now set by default: the safe + sysrq options are turned on, IP route verification is turned + on, and source routing disabled. The recently added hardlink + and softlink protection of the kernel is turned on. + + Add support for predictable network naming logic. It can be + turned off with kernel command line switch: net.ifnames=0 + + journald will now explicitly flush journal files to disk at the + latest 5 min after each write and will mark file offline until + next read. This should increase reliability in case of crash. + + remote-fs-setup.target target has been added to pull in + specific services when at least one remote file system is to be + mounted. + + timers.target and paths.target have been added as canonical + targets to pull user timer and path units, similar to + sockets.targets. + + udev daemon now sets default number of worker processes in + parallel based on number of CPUs instead of RAM. + + Most unit file settings which takes likst of items can now be +reset by assigning empty string to them, using drop-in. + + Add support for drop-in configuration file for units. + + Most unit file settings which takes likst of items can now be + reset by assigning empty string to them, using drop-in. + + improve systemg-cgtop output. + + improve 'systemctl status' output for socket, drop-in for units. + + 'hostnamectl set-hostname' allows setting FQDN hostnames. + + fractional time intervals are now parsed properly. + + localectl can list available X11 keymaps. + + systemd-analyze dot can filter for specific units and has been + rewritten in C. + + systemctl gained "list-dependencies" command. + + Inhibitors are now honored no only in GNOME. +- Many patches has been dropped, being merged upstream. +- Many patches has been renamed and regenerated with git, to have + consistent naming, authorship and comments embedded. +- Add + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: + re-add support for boot.* initscripts until they are all migrated + to systemd unit files. +- Merge patches for nss-myhostname package to this package. + +------------------------------------------------------------------- +Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com + +- Add chromebook lid switch as a power switch to logind rule to + enable suspend on lid close + +------------------------------------------------------------------- +Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com + +- Add improve-readahead-spinning.patch: improve readahead + performance on spinning media with ext4. +- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal + (bnc#789589). +- Add fix-lsb-provides.patch: ensure LSB provides are correctly + handled if also referenced as dependencies (bnc#809646). +- Add fix-loopback-mount.patch: ensure udevd is started (and + therefore static devices are created) before mounting + (bnc#809820). +- Update systemd-sysv-convert to search services files in new + location (bnc#809695). +- Add logind-nvidia-acl.diff: set ACL on nvidia devices + (bnc#808319). +- Add do-no-isolate-on-fsck-failure.patch: do not turn off services + if fsck fails (bnc#812874) +- Add wait-for-processes-killed.patch: wait for processes killed by + SIGTERM before killing them with SIGKILL. +- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to + systemctl command (bnc#801878). + +------------------------------------------------------------------- +Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz + +- Fixed disabling CapsLock and enabling NumLock (bnc#746595, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + systemd-numlock-suse.patch). +- Explicitly require libgcrypt-devel to fix build failure. + +------------------------------------------------------------------- +Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com + +- udev: ensure that the network interfaces are renamed even if they + exist (bnc#809843). + add: 1027-udev-always-rename-network.patch + ------------------------------------------------------------------- Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index efa76c0a..298a3c97 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 195 +Version: 202 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -57,6 +57,7 @@ BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} +BuildRequires: libgcrypt-devel BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 %endif @@ -74,6 +75,7 @@ BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} Requires: this-is-only-for-build-envs +Conflicts: systemd %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -89,6 +91,8 @@ Requires(post): findutils %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Obsoletes: systemd-analyze < 201 +Provides: systemd-analyze = %{version} Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz Source1: systemd-rpmlintrc Source2: localfs.service @@ -98,185 +102,66 @@ Source5: systemd-insserv_conf Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init +Source9: nss-myhostname-config Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink +# Patches auto-generated by git-buildpackage: -Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch +# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r +Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +# PATCH-FIX-UPSTREAM ptionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +Patch1: optionally-warn-if-nss-myhostname-is-called.patch +Patch2: Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings -Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch -Patch7: systemd-numlock-suse.patch -# don't start getty on tty1 until all password request are done -Patch8: tty1.patch -Patch10: 0001-service-Fix-dependencies-added-when-parsing-insserv..patch -Patch13: 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch -Patch15: support-sysvinit.patch -Patch16: modules_on_boot.patch -Patch22: new-lsb-headers.patch -Patch23: storage-after-cryptsetup.patch -Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch -Patch31: lock-opensuse.patch -Patch33: crypt-loop-file.patch -Patch36: sysctl-modules.patch -Patch38: dm-lvm-after-local-fs-pre-target.patch -Patch53: fastboot-forcefsck.patch -Patch56: support-suse-clock-sysconfig.patch -Patch59: fix-enable-disable-boot-initscript.patch -Patch60: var-run-lock.patch -Patch63: xdm-display-manager.patch -Patch64: fix-permissions-btmp.patch -# PATCH-FIX-UPSTREAM fix-debugshell.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available -Patch71: fix-debugshell.patch -# PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch72: handle-root-uses-lang.patch -# PATCH-FIX-OPENSUSE multiple-sulogin.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch76: multiple-sulogin.patch -# PATCH-FIX-OPENSUSE systemctl-options.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable -Patch77: systemctl-options.patch +Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch +Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch +Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch +Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch +Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch +Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +Patch18: fix-owner-of-var-log-btmp.patch + +# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done +Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch +# PATCH-FIX-OPENSUSE Ensure-debugshell-has-a-correct-value.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available +Patch19: Ensure-debugshell-has-a-correct-value.patch +# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype +Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch +# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin +Patch21: allow-multiple-sulogin-to-be-started.patch +# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch +# PATCH-FIX-UPSTREAM ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch bnc#809820 fcrozat@suse.com -- loopback mount should be started after /dev/loop-control is available +Patch26: ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices +Patch27: apply-ACL-for-nvidia-device-nodes.patch +# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts +Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch -- FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. +Patch39: systemd-tmp-safe-defaults.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal -Patch61: fix-logind-pty-seat.patch -# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc -Patch62: fix-build-glibc217.patch -# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access -Patch65: fix-bad-memory-access.patch -# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash -Patch66: fix-dbus-crash.patch -# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown -Patch67: sync-on-shutdown.patch -# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI -Patch68: mount-efivars.patch -# PATCH-FIX-UPSTREAM switch-root-try-pivot-root.patch fcrozat@suse.com -- try pivot_root before overmounting / -Patch69: switch-root-try-pivot-root.patch -# PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop -Patch70: remount-ro-before-unmount.patch -# PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error. -Patch73: revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch -# PATCH-FIX-UPSTREAM detect-btrfs-ssd.patch crrodriguez@opensuse.org -- fix BTRFS detection on systemd-readhead -Patch74: detect-btrfs-ssd.patch -# PATCH-FIX-UPSTREAM timedated-donot-close-bogus-dbus-connection.patch crrodriguez@opensuse.org -- Fix assertion failure when dbus is gone. -Patch75: timedated-donot-close-bogus-dbus-connection.patch -# PATCH-FIX-UPSTREAM journalctl-remove-leftover-message.patch fcrozat@suse.com -- remove debug message in systemctl -Patch78: journalctl-remove-leftover-message.patch -# PATCH-FIX-UPSTREAM job-avoid-recursion-when-cancelling.patch fcrozat@suse.com -- prevent potential recursion when cancelling a service -Patch79: job-avoid-recursion-when-cancelling.patch -# PATCH-FIX-UPSTREAM sysctl-parse-all-keys.patch fcrozat@suse.com -- ensure sysctl file is fully parsed -Patch80: sysctl-parse-all-keys.patch -# PATCH-FIX-UPSTREAM journal-fix-cutoff-max-date.patch fcrozat@suse.com -- fix computation of cutoff max date for journal -Patch81: journal-fix-cutoff-max-date.patch -# PATCH-FIX-UPSTREAM reword-rescue-mode-hints.patch fcrozat@suse.com -- reword rescue prompt -Patch82: reword-rescue-mode-hints.patch -# PATCH-FIX-UPSTREAM improve-overflow-checks.patch fcrozat@suse.com -- improve time overflow checks -Patch83: improve-overflow-checks.patch -# PATCH-FIX-UPSTREAM fix-swap-behaviour-with-symlinks.patch fcrozat@suse.com -- fix swap behaviour with symlinks -Patch84: fix-swap-behaviour-with-symlinks.patch -# PATCH-FIX-UPSTREAM hostnamectl-fix-set-hostname-with-no-argument.patch fcrozat@suse.com -- ensure hostnamectl requires an argument when called with set-hostname option -Patch85: hostnamectl-fix-set-hostname-with-no-argument.patch -# PATCH-FIX-UPSTREAM agetty-overrides-term.patch fcrozat@suse.com -- pass correctly terminal type to agetty -Patch86: agetty-overrides-term.patch -# PATCH-FIX-UPSTREAM check-for-empty-strings-in-strto-conversions.patch fcrozat@suse.com -- better check for empty strings in strto* conversions -Patch87: check-for-empty-strings-in-strto-conversions.patch -# PATCH-FIX-UPSTREAM strv-cleanup-error-path-loops.patch fcrozat@suse.com -- cleanup strv on error path -Patch88: strv-cleanup-error-path-loops.patch -# PATCH-FIX-UPSTREAM cryptsetup-handle-plain.patch fcrozat@suse.com -- correctly handle "plain" option in cryptsetup -Patch89: cryptsetup-handle-plain.patch -# PATCH-FIX-UPSTREAM fstab-generator-improve-error-message.patch fcrozat@suse.com -- improve error message in fstab-generator -Patch90: fstab-generator-improve-error-message.patch -# PATCH-FIX-UPSTREAM delta-accept-t-option.patch fcrozat@suse.com -- accept -t option in systemd-delta -Patch91: delta-accept-t-option.patch -# PATCH-FIX-UPSTREAM highlight-ordering-cycle-deletions.patch fcrozat@suse.com -- highlight ordering cycle deletions in logs -Patch92: highlight-ordering-cycle-deletions.patch -# PATCH-FIX-UPSTREAM core-interpret-escaped-semicolon-as-escaped.patch fcrozat@suse.com -- accept \; in ExecStart -Patch93: core-interpret-escaped-semicolon-as-escaped.patch -# PATCH-FIX-UPSTREAM hostnamectl-fix-parsing-no-ask-password.patch fcrozat@suse.com -- accept no-ask-password in hostnamectl -Patch94: hostnamectl-fix-parsing-no-ask-password.patch -# PATCH-FIX-UPSTREAM systemd-cgls-fix-piping-output.patch fcrozat@suse.com -- fix piping output of systemd-cgls -Patch95: systemd-cgls-fix-piping-output.patch -# PATCH-FIX-UPSTREAM core-load-fragment-improve-error-message.patch fcrozat@suse.com -- improve error message when parsing fragments -Patch96: core-load-fragment-improve-error-message.patch -# PATCH-FIX-UPSTREAM fix-potential-bad-mem-access.patch fcrozat@suse.com -- fix potential bad memory access -Patch97: fix-potential-bad-mem-access.patch -# PATCH-FIX-UPSTREAM socket-improve-error-message.patch fcrozat@suse.com -- improve error message in socket handling -Patch98: socket-improve-error-message.patch -# PATCH-FIX-UPSTREAM journal-send-always-send-syslog_identifier.patch fcrozat@suse.com -- always send syslog_identifier if available for journal -Patch99: journal-send-always-send-syslog_identifier.patch -# PATCH-FIX-UPSTREAM crypsetup-handle-nofail.patch fcrozat@suse.com -- handle nofail in cryptsetup -Patch100: crypsetup-handle-nofail.patch -# PATCH-FIX-UPSTREAM crypsetup-generator-state-file-name-in-error-message.patch fcrozat@suse.com -- add filename in error message from crypsetup-generator -Patch101: crypsetup-generator-state-file-name-in-error-message.patch -# PATCH-FIX-UPSTREAM fstab-generator-error-message-on-duplicates.patch fcrozat@suse.com -- improve error message on duplicate in fstab-generator -Patch102: fstab-generator-error-message-on-duplicates.patch -# PATCH-FIX-UPSTREAM systemctl-verbose-message-on-missing-install.patch fcrozat@suse.com -- reword missing install error message in systemctl -Patch103: systemctl-verbose-message-on-missing-install.patch -# PATCH-FIX-UPSTREAM shutdown-improvements.patch fcrozat@suse.com -- various improvements at shutdown -Patch104: shutdown-improvements.patch -# PATCH-FIX-UPSTREAM localectl-fix-assertion.patch fcrozat@suse.com -- fix assertion in localectl -Patch105: localectl-fix-assertion.patch -# PATCH-FIX-UPSTREAM path-util-fix-potential-crash.patch fcrozat@suse.com -- fix potential crash in path-util -Patch106: path-util-fix-potential-crash.patch -# PATCH-FIX-UPSTREAM coredumpctl-fix-crash.patch fcrozat@suse.com -- fix crash in coredumpctl -Patch107: coredumpctl-fix-crash.patch -# PATCH-FIX-UPSTREAM socket-verbose-error-message.patch fcrozat@suse.com -- add more verbose error message in socket handling -Patch108: socket-verbose-error-message.patch -# PATCH-FIX-UPSTREAM pam-properly-handle-ssh-logins-without-pam-tty-field.patch fcrozat@suse.com -- handle properly ssh-logins without pam tty field -Patch109: pam-properly-handle-ssh-logins-without-pam-tty-field.patch -# PATCH-FIX-UPSTREAM fstab-generator-properly-detect-bind-mounts.patch fcrozat@suse.com -- properly detect bind-mounts in fstab-generator -Patch110: fstab-generator-properly-detect-bind-mounts.patch -# PATCH-FIX-UPSTREAM localectl-support-systems-without-locale-archive.patch fcrozat@suse.com -- localectl now supports systemd without locale-archive file -Patch111: localectl-support-systems-without-locale-archive.patch -# PATCH-FIX-UPSTREAM logind-capability-making-seats-without-fb.patch fcrozat@suse.com -- allows capability of making seats without fb -Patch112: logind-capability-making-seats-without-fb.patch -# PATCH-FIX-UPSTREAM service-forking-ignore-exit-status-main-process.patch fcrozat@suse.com -- ignore exit-statis of main process when forking, if specified in unit file -Patch113: service-forking-ignore-exit-status-main-process.patch -# PATCH-FIX-UPSTREAM systemctl-no-assert-on-reboot-without-dbus.patch fcrozat@suse.com -- don't assert on reboot if dbus isn't there -Patch114: systemctl-no-assert-on-reboot-without-dbus.patch -# PATCH-FIX-UPSTREAM logind-ignore-non-tty-non-x11-session-on-shutdown.patch fcrozat@suse.com -- ignore non tty non-x11 session on shutdown -Patch115: logind-ignore-non-tty-non-x11-session-on-shutdown.patch -# PATCH-FIX-UPSTREAM journalctl-quit-on-io-error.patch fcrozat@suse.com -- fix journalctl quit on io error -Patch116: journalctl-quit-on-io-error.patch -# PATCH-FIX-UPSTREAM do-not-make-sockets-dependent-on-lo.patch fcrozat@suse.com -- do not make sockets dependent on lo interface -Patch117: do-not-make-sockets-dependent-on-lo.patch -# PATCH-FIX-UPSTREAM shutdown-dont-force-mnt-force-on-final-umount.patch fcrozat@suse.com -- don't force MNT_FORCE on final umount at shutdown -Patch118: shutdown-dont-force-mnt-force-on-final-umount.patch -# PATCH-FIX-UPSTREAM shutdown-ignore-loop-devices-without-backing-file.patch fcrozat@suse.com -- ignore loop devices without backing file at shutdown -Patch119: shutdown-ignore-loop-devices-without-backing-file.patch -# PATCH-FIX-UPSTREAM fix-bad-mem-access.patch fcrozat@suse.com -- fix bad memory access -Patch120: fix-bad-mem-access.patch -# PATCH-FIX-UPSTREAM parse-multiline-env-file.patch fcrozat@suse.com bnc#793411 -- correctly parse multiline environment files -Patch121: parse-multiline-env-file.patch -# PATCH-FIX-UPSTREAM improve-man-environment.patch fcrozat@suse.com -- improve Environment section in manpage -Patch122: improve-man-environment.patch -# PATCH-FIX-UPSTREAM tmpfiles-X-type.patch fcrozat@suse.com -- allow to clean directories with removing them -Patch123: tmpfiles-X-type.patch -# PATCH-FIX-UPSTREAM systemd-fix-merge-ignore-dependencies.patch fcrozat@suse.com bnc#800365 -- fix merging with --ignore-dependencies waiting for dependencies -Patch124: systemd-fix-merge-ignore-dependencies.patch -# PATCH-FIX-UPSTREAM journalctl-require-argument-for-priority -Patch125: journalctl-require-argument-for-priority -# PATCH-FIX-UPSTREAM cryptsetup-accept-read-only.patch fcrozat@suse.com -- Accept read-only as well as readonly as parameters for crypttab -Patch126: cryptsetup-accept-read-only.patch # PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) -Patch127: disable-nss-myhostname-warning-bnc-783841.diff -# PATCH-FIX-UPSTREAM early-sync-shutdown.patch fcrozat@suse.com -- Start sync on shutdown early -Patch128: early-sync-shutdown.patch +Patch23: disable-nss-myhostname-warning-bnc-783841.patch # PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch129: handle-HOSTNAME.patch -# PATCH-FIX-UPSTREAM systemctl-print-wall-on-if-successful.patch fcrozat@suse.com -- Only print on wall if successful -Patch130: systemctl-print-wall-on-if-successful.patch -# PATCH-FIX-UPSTREAM improve-bash-completion.patch fcrozat@suse.com -- improve bash completion -Patch131: improve-bash-completion.patch -# PATCH-FIX-UPSTREAM improve-journal-perf.patch fcrozat@suse.com -- improve journal performance -Patch132: improve-journal-perf.patch -# PATCH-FIX-UPSTREAM support-hybrid-suspend.patch fcrozat@suse.com -- support hybrid suspend -Patch133: support-hybrid-suspend.patch -# PATCH-FIX-OPENSUSE forward-to-pmutils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils -Patch134: forward-to-pmutils.patch -# PATCH-FIX-UPSTREAM rbind-mount.patch fcrozat@suse.com bnc#804575 -- Handle rbind mount point correctly -Patch135: rbind-mount.patch +Patch24: handle-etc-HOSTNAME.patch +# PATCH-FIX-OPENSUSE Forward-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch +# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind +Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # udev patches # PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch @@ -290,47 +175,13 @@ Patch1004: 1004-udev-netlink-null-rules.patch # PATCH-FIX-OPENSUSE 1005-udev-fix-sg-autoload-regression.patch Patch1005: 1005-udev-fix-sg-autoload-regression.patch # PATCH-FIX-OPENSUSE 1007-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1006: 1006-fix-devname-prefix.patch -# PATCH-FIX-UPSTREAM 1007-udevd-add-missing-to-getopt_long-e.patch -Patch1007: 1007-udevd-add-missing-to-getopt_long-e.patch -# PATCH-FIX-UPSTREAM 1008-udev-path_id-handle-Hyper-V-devices.patch -Patch1008: 1008-udev-path_id-handle-Hyper-V-devices.patch -# PATCH-FIX-UPSTREAM 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -Patch1009: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -# PATCH-FIX-UPSTREAM 1010-keymap-Add-Samsung-700T.patch -Patch1010: 1010-keymap-Add-Samsung-700T.patch -# PATCH-FIX-UPSTREAM 1011-libudev-avoid-leak-during-realloc-failure.patch -Patch1011: 1011-libudev-avoid-leak-during-realloc-failure.patch -# PATCH-FIX-UPSTREAM 1012-libudev-do-not-resolve-attr-device-symlinks.patch -Patch1012: 1012-libudev-do-not-resolve-attr-device-symlinks.patch -# PATCH-FIX-UPSTREAM 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -Patch1013: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -# PATCH-FIX-UPSTREAM 1014-udev-fix-whitespace.patch -Patch1014: 1014-udev-fix-whitespace.patch -# PATCH-FIX-UPSTREAM 1015-udev-properly-handle-symlink-removal-by-change-event.patch -Patch1015: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -# PATCH-FIX-UPSTREAM 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -Patch1016: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -# PATCH-FIX-UPSTREAM 1017-udev-use-usec_t-and-now.patch -Patch1017: 1017-udev-use-usec_t-and-now.patch -# PATCH-FIX-UPSTREAM 1018-keymap-add-aditional-support.patch -Patch1018: 1018-keymap-add-aditional-support.patch -# PATCH-FIX-UPSTREAM 1019-udev-Fix-device-matching-in-the-accelerometer.patch -Patch1019: 1019-udev-Fix-device-matching-in-the-accelerometer.patch -# PATCH-FIX-OPENSUSE 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -Patch1020: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +Patch1007: 1007-fix-devname-prefix.patch # PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-UPSTREAM 1022-udev-use-unique-names-for-temporary-files-created-in.patch -Patch1022: 1022-udev-use-unique-names-for-temporary-files-created-in.patch -# PATCH-FIX-UPSTREAM 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch -Patch1023: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch -# PATCH-FIX-UPSTREAM 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -Patch1024: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -# PATCH-FIX-UPSTREAM 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch -Patch1025: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch # PATCH-FIX-OPENSUSE 1026-re-add-persistent-net.patch Patch1026: 1026-re-add-persistent-net.patch +# PATCH-FIX-OPENSUSE 1027-udev-always-rename-network.patch +Patch1027: 1027-udev-always-rename-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -365,22 +216,6 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. -%package analyze -Summary: Tool for processing systemd profiling information -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version} -Requires: dbus-1-python -Requires: python-cairo -# for the systemd-analyze split: -Conflicts: systemd < 44-10 - -%description analyze -'systemd-analyze blame' lists which systemd unit needed how much time to finish -initialization at boot. -'systemd-analyze plot' renders an SVG visualizing the parallel start of units -at boot. - %package -n %{udevpkgname} Summary: A rule-based device node and kernel event manager License: GPL-2.0 @@ -398,6 +233,7 @@ Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version} Conflicts: libudev%{udev_major} = %{version} +Conflicts: udev %endif %description -n %{udevpkgname} @@ -430,6 +266,7 @@ Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version} Conflicts: libudev%{udev_major} = %{version} +Conflicts: libudev-devel %endif %description -n lib%{udevpkgname}-devel @@ -480,6 +317,33 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-myhostname +Summary: Plugin for local system host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-myhostname +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured system hostname as returned by +gethostname(2). Various software relies on an always resolvable local +host name. When using dynamic hostnames this is usually achieved by +patching /etc/hosts at the same time as changing the host name. This +however is not ideal since it requires a writable /etc file system and +is fragile because the file might be edited by the administrator at +the same time. nss-myhostname simply returns all locally +configured public IP addresses, or -- if none are configured -- +the IPv4 address 127.0.0.2 (wich is on the local loopback) and the +IPv6 address ::1 (which is the local host) for whatever system +hostname is configured locally. Patching /etc/hosts is thus no +longer necessary. + +Note that nss-myhostname only provides a workaround for broken +software. If nss-myhostname is trigged by an application a message +is logged to /var/log/messages. Please check whether that's worth +a bug report then. +This package marks the installation to not use syslog but only the journal. + %endif %prep @@ -496,145 +360,64 @@ cp %{SOURCE7} m4/ %patch1003 -p1 %patch1004 -p1 %patch1005 -p1 -%patch1006 -p1 %patch1007 -p1 -%patch1008 -p1 -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p1 -%patch1017 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 %patch1021 -p1 -%patch1022 -p1 -%patch1023 -p1 -%patch1024 -p1 -%patch1025 -p1 %patch1026 -p1 +%patch1027 -p1 #systemd +%patch0 -p1 %patch1 -p1 -%patch6 -p1 +%patch2 -p1 +%patch3 -p1 # don't apply when bootstrapping to not modify configure.in %if ! 0%{?bootstrap} -%patch7 -p1 +%patch4 -p1 %endif +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch10 -p1 +%patch11 -p1 +%patch12 -p1 %patch13 -p1 +%patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 -%patch31 -p1 -%patch33 -p1 -%patch36 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch37 -p1 %patch38 -p1 -%patch53 -p1 -%patch56 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 -%patch86 -p1 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 -%patch90 -p1 -%patch91 -p1 -%patch92 -p1 -%patch93 -p1 -%patch94 -p1 -%patch95 -p1 -%patch96 -p1 -%patch97 -p1 -%patch98 -p1 -%patch99 -p1 -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 -%patch127 -p1 -%patch128 -p1 -%patch129 -p1 -%patch130 -p1 -%patch131 -p1 -%patch132 -p1 -%patch133 -p1 -%patch134 -p1 -%patch135 -p1 +%patch39 -p1 %build autoreconf -fiv -# to remove after upgrading to systemd 196+ -rm -f man/{systemd.exec.5,logind.conf.5,systemctl.1,systemd-suspend.service.8,systemd.special.7,tmpfiles.d.5} # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --with-distro=suse \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ %if 0%{?bootstrap} --disable-gudev \ + --disable-myhostname \ %else --enable-manpages \ --enable-gtk-doc \ + --with-nss-my-hostname-warning \ %endif --enable-selinux \ --enable-split-usr \ @@ -645,6 +428,11 @@ make %{?_smp_mflags} %install %makeinstall +# move to %{_lib} +%if ! 0%{?bootstrap} +mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib} +%endif + mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password @@ -653,10 +441,10 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 %endif -mkdir -p $RPM_BUILD_ROOT/%{_prefix}/usr/lib/firmware/updates ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware %if ! 0%{?bootstrap} install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} @@ -671,8 +459,6 @@ install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -#workaround for 716939 -chmod 644 %{buildroot}%{_bindir}/systemd-analyze mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete @@ -720,7 +506,7 @@ rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the # journal. -rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf +rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/50-coredump.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README @@ -740,6 +526,13 @@ ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one mkdir -p %{buildroot}/var/log/journal +# Make sure directories in /var exist +mkdir -p %{buildroot}/var/lib/systemd/coredump +mkdir -p %{buildroot}/var/lib/systemd/catalog +#create ghost databases +touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin + # Make sure the NTP units dir exists mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ @@ -750,7 +543,6 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/syslog.target.wants src="%buildroot/%_libexecdir/systemd/system/getty@.service" dst="${src/@/@tty1}" @@ -759,8 +551,15 @@ perl -i -pe 's{^# the VT is cleared.*}{}i;s{(^TTYVTDisallocate=.*)}{}' "$dst" %fdupes -s %{buildroot}%{_mandir} +# disable predictable network interface naming until it has been reviewed by network team +cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf +F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" +EOF + %pre -getent group adm >/dev/null || groupadd -r adm +getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : exit 0 %post @@ -769,6 +568,7 @@ exit 0 /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -839,6 +639,7 @@ if test -f /proc/1/exe -a -d /proc/1/root ; then fi %post -n %{udevpkgname} +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : %{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ @@ -898,6 +699,15 @@ if [ "$1" -eq 1 ]; then systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : fi +%preun -n nss-myhostname +if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then + %{_sbindir}/nss-myhostname-config --disable +fi + +%post -n nss-myhostname -p /sbin/ldconfig + +%postun -n nss-myhostname -p /sbin/ldconfig + %endif %clean @@ -908,9 +718,12 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/bootctl +%{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl %{_bindir}/systemctl +%{_bindir}/systemd-analyze %{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify @@ -956,6 +769,9 @@ fi %exclude %{_prefix}/lib/systemd/systemd-udevd %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%dir %{_prefix}/lib/systemd/catalog +%{_prefix}/lib/systemd/catalog/systemd.catalog +%dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-preset %dir %{_prefix}/lib/systemd/user-preset @@ -966,10 +782,10 @@ fi %dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system/default.target.wants %dir %{_prefix}/lib/systemd/system/dbus.target.wants -%dir %{_prefix}/lib/systemd/system/syslog.target.wants %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif +%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator @@ -987,6 +803,7 @@ fi %dir %{_sysconfdir}/binfmt.d %dir %{_libexecdir}/sysctl.d +%{_libexecdir}/sysctl.d/50-default.conf %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd @@ -994,6 +811,7 @@ fi %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %dir %{_sysconfdir}/xdg/systemd/user +%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf @@ -1034,9 +852,6 @@ fi %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* -# Packaged in analyze subpackage -%exclude %{_mandir}/man1/systemd-analyze.1* - %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -1054,12 +869,16 @@ fi %if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on %endif -%dir %{_sysconfdir}/bash_completion.d -%{_sysconfdir}/bash_completion.d/systemd-bash-completion.sh +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%ghost /var/lib/systemd/catalog/database +%{_datadir}/bash-completion/completions/* %{_sysconfdir}/rpm/macros.systemd %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated +%dir /var/lib/systemd/catalog +%dir /var/lib/systemd/coredump %files devel %defattr(-,root,root,-) @@ -1099,13 +918,6 @@ fi %{_mandir}/man8/runlevel.8* %endif -%files analyze -%defattr(-,root,root) -%attr(0755,root,root) /usr/bin/systemd-analyze -%if ! 0%{?bootstrap} -%{_mandir}/man1/systemd-analyze.1* -%endif - %files -n %{udevpkgname} %defattr(-,root,root) /sbin/udevd @@ -1137,9 +949,12 @@ fi %exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules +%dir %{_prefix}/lib/udev/hwdb.d +%{_prefix}/lib/udev/hwdb.d/* %{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ +%ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} %{_mandir}/man?/*udev*.[0-9]* @@ -1200,6 +1015,11 @@ fi /var/log/README /etc/init.d/systemd-journald +%files -n nss-myhostname +%defattr(-, root, root) +%{_sbindir}/nss-myhostname-config +/%{_lib}/*nss_myhostname* + %endif %changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch new file mode 100644 index 00000000..8a67df99 --- /dev/null +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -0,0 +1,26 @@ +From: Frederic Crozat +Date: Tue, 14 Aug 2012 14:26:16 +0200 +Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock + +--- + src/timedate/timedated.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c +index cdb6e5b..7246452 100644 +--- a/src/timedate/timedated.c ++++ b/src/timedate/timedated.c +@@ -182,6 +182,13 @@ static int read_data(void) { + goto have_timezone; + } + } ++#ifdef HAVE_SYSV_COMPAT ++ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, ++ "TIMEZONE", &tz.zone, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); ++#endif + + have_timezone: + if (isempty(tz.zone)) { diff --git a/timedated-donot-close-bogus-dbus-connection.patch b/timedated-donot-close-bogus-dbus-connection.patch deleted file mode 100644 index 7757c346..00000000 --- a/timedated-donot-close-bogus-dbus-connection.patch +++ /dev/null @@ -1,36 +0,0 @@ -commit b779821b8fdcb3f2bdd0c362bceaae3c76ed9678 -Author: Shawn Landden -Date: Mon Dec 3 00:50:55 2012 +0000 - - timedated: do not incorrectly close non-opened dbus connection - - Fix the fallowing error when no system dbus available: - - Failed to get system D-Bus connection: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory - process 14920: arguments to dbus_connection_close() were incorrect, assertion "connection != NULL" failed in file ../../dbus/dbus-connection.c line 2889. - This is normally a bug in some application using the D-Bus library. - process 14920: arguments to dbus_connection_unref() were incorrect, assertion "connection != NULL" failed in file ../../dbus/dbus-connection.c line 2776. - This is normally a bug in some application using the D-Bus library. - -Index: systemd-195/src/timedate/timedated.c -=================================================================== ---- systemd-195.orig/src/timedate/timedated.c -+++ systemd-195/src/timedate/timedated.c -@@ -943,7 +943,7 @@ static int connect_bus(DBusConnection ** - if (!bus) { - log_error("Failed to get system D-Bus connection: %s", bus_error_message(&error)); - r = -ECONNREFUSED; -- goto fail; -+ goto fail2; - } - - dbus_connection_set_exit_on_disconnect(bus, FALSE); -@@ -975,7 +975,7 @@ static int connect_bus(DBusConnection ** - fail: - dbus_connection_close(bus); - dbus_connection_unref(bus); -- -+fail2: - dbus_error_free(&error); - - return r; diff --git a/tmpfiles-X-type.patch b/tmpfiles-X-type.patch deleted file mode 100644 index 40d9940e..00000000 --- a/tmpfiles-X-type.patch +++ /dev/null @@ -1,369 +0,0 @@ -From 78a92a5a2306709e4587e332728a76901323ade9 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 18 Jan 2013 16:13:08 +0100 -Subject: [PATCH] tmpfiles: introduce type X - -Type X will exclude path itself from clean-up. However, if the path is a -directory systemd-tmpfiles will clean-up its content. - -In contrast to type x, where path is ignored completely, type X needs some -Age parameter. In order to determine Age parameter, we will look for config -entries of type d or D and pick the best match. Best match is either -exact match or longest prefix match. ---- - man/tmpfiles.d.xml | 15 ++++ - src/tmpfiles/tmpfiles.c | 192 ++++++++++++++++++++++++++++++----------------- - 2 files changed, 138 insertions(+), 69 deletions(-) - -Index: systemd-195/man/tmpfiles.d.xml -=================================================================== ---- systemd-195.orig/man/tmpfiles.d.xml -+++ systemd-195/man/tmpfiles.d.xml -@@ -166,6 +166,21 @@ L /tmp/foobar - - - - /dev - - - -+ X -+ Ignore a path -+ during cleanup. Use this type -+ to prevent path removal as -+ controlled with the Age parameter. -+ Note that if path is a directory, -+ content of a directory is not -+ excluded from clean-up, only -+ directory itself. Lines of this -+ type accept shell-style globs -+ in place of normal path -+ names. -+ -+ -+ - r - Remove a file - or directory if it -Index: systemd-195/src/tmpfiles/tmpfiles.c -=================================================================== ---- systemd-195.orig/src/tmpfiles/tmpfiles.c -+++ systemd-195/src/tmpfiles/tmpfiles.c -@@ -70,6 +70,7 @@ typedef enum ItemType { - - /* These ones take globs */ - IGNORE_PATH = 'x', -+ IGNORE_DIRECTORY_PATH = 'X', - REMOVE_PATH = 'r', - RECURSIVE_REMOVE_PATH = 'R', - RELABEL_PATH = 'z', -@@ -119,7 +120,7 @@ static const char * const conf_file_dirs - #define MAX_DEPTH 256 - - static bool needs_glob(ItemType t) { -- return t == IGNORE_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH || t == RELABEL_PATH || t == RECURSIVE_RELABEL_PATH; -+ return t == IGNORE_PATH || t == IGNORE_DIRECTORY_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH || t == RELABEL_PATH || t == RECURSIVE_RELABEL_PATH; - } - - static struct Item* find_glob(Hashmap *h, const char *match) { -@@ -218,6 +219,7 @@ static bool unix_socket_alive(const char - } - - static int dir_cleanup( -+ Item *i, - const char *p, - DIR *d, - const struct stat *ds, -@@ -297,7 +299,7 @@ static int dir_cleanup( - continue; - } - -- q = dir_cleanup(sub_path, sub_dir, &s, cutoff, rootdev, false, maxdepth-1, false); -+ q = dir_cleanup(i, sub_path, sub_dir, &s, cutoff, rootdev, false, maxdepth-1, false); - closedir(sub_dir); - - if (q < 0) -@@ -320,12 +322,14 @@ static int dir_cleanup( - if (age >= cutoff) - continue; - -- log_debug("rmdir '%s'\n", sub_path); -+ if (!i->type == IGNORE_DIRECTORY_PATH || !streq(dent->d_name, p)) { -+ log_debug("rmdir '%s'\n", sub_path); - -- if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) { -- if (errno != ENOENT && errno != ENOTEMPTY) { -- log_error("rmdir(%s): %m", sub_path); -- r = -errno; -+ if (unlinkat(dirfd(d), dent->d_name, AT_REMOVEDIR) < 0) { -+ if (errno != ENOENT && errno != ENOTEMPTY) { -+ log_error("rmdir(%s): %m", sub_path); -+ r = -errno; -+ } - } - } - -@@ -395,68 +399,6 @@ finish: - return r; - } - --static int clean_item(Item *i) { -- DIR *d; -- struct stat s, ps; -- bool mountpoint; -- int r; -- usec_t cutoff, n; -- -- assert(i); -- -- if (i->type != CREATE_DIRECTORY && -- i->type != TRUNCATE_DIRECTORY && -- i->type != IGNORE_PATH) -- return 0; -- -- if (!i->age_set || i->age <= 0) -- return 0; -- -- n = now(CLOCK_REALTIME); -- if (n < i->age) -- return 0; -- -- cutoff = n - i->age; -- -- d = opendir(i->path); -- if (!d) { -- if (errno == ENOENT) -- return 0; -- -- log_error("Failed to open directory %s: %m", i->path); -- return -errno; -- } -- -- if (fstat(dirfd(d), &s) < 0) { -- log_error("stat(%s) failed: %m", i->path); -- r = -errno; -- goto finish; -- } -- -- if (!S_ISDIR(s.st_mode)) { -- log_error("%s is not a directory.", i->path); -- r = -ENOTDIR; -- goto finish; -- } -- -- if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) { -- log_error("stat(%s/..) failed: %m", i->path); -- r = -errno; -- goto finish; -- } -- -- mountpoint = s.st_dev != ps.st_dev || -- (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino); -- -- r = dir_cleanup(i->path, d, &s, cutoff, s.st_dev, mountpoint, MAX_DEPTH, i->keep_first_level); -- --finish: -- if (d) -- closedir(d); -- -- return r; --} -- - static int item_set_perms(Item *i, const char *path) { - /* not using i->path directly because it may be a glob */ - if (i->mode_set) -@@ -667,6 +609,7 @@ static int create_item(Item *i) { - switch (i->type) { - - case IGNORE_PATH: -+ case IGNORE_DIRECTORY_PATH: - case REMOVE_PATH: - case RECURSIVE_REMOVE_PATH: - return 0; -@@ -850,6 +793,7 @@ static int remove_item_instance(Item *i, - case CREATE_BLOCK_DEVICE: - case CREATE_CHAR_DEVICE: - case IGNORE_PATH: -+ case IGNORE_DIRECTORY_PATH: - case RELABEL_PATH: - case RECURSIVE_RELABEL_PATH: - case WRITE_FILE: -@@ -894,6 +838,7 @@ static int remove_item(Item *i) { - case CREATE_CHAR_DEVICE: - case CREATE_BLOCK_DEVICE: - case IGNORE_PATH: -+ case IGNORE_DIRECTORY_PATH: - case RELABEL_PATH: - case RECURSIVE_RELABEL_PATH: - case WRITE_FILE: -@@ -909,6 +854,84 @@ static int remove_item(Item *i) { - return r; - } - -+static int clean_item_instance(Item *i, const char* instance) { -+ DIR *d; -+ struct stat s, ps; -+ bool mountpoint; -+ int r; -+ usec_t cutoff, n; -+ -+ assert(i); -+ -+ if (!i->age_set) -+ return 0; -+ -+ n = now(CLOCK_REALTIME); -+ if (n < i->age) -+ return 0; -+ -+ cutoff = n - i->age; -+ -+ d = opendir(instance); -+ if (!d) { -+ if (errno == ENOENT || errno == ENOTDIR) -+ return 0; -+ -+ log_error("Failed to open directory %s: %m", i->path); -+ return -errno; -+ } -+ -+ if (fstat(dirfd(d), &s) < 0) { -+ log_error("stat(%s) failed: %m", i->path); -+ r = -errno; -+ goto finish; -+ } -+ -+ if (!S_ISDIR(s.st_mode)) { -+ log_error("%s is not a directory.", i->path); -+ r = -ENOTDIR; -+ goto finish; -+ } -+ -+ if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) { -+ log_error("stat(%s/..) failed: %m", i->path); -+ r = -errno; -+ goto finish; -+ } -+ -+ mountpoint = s.st_dev != ps.st_dev || -+ (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino); -+ -+ r = dir_cleanup(i, instance, d, &s, cutoff, s.st_dev, mountpoint, MAX_DEPTH, i->keep_first_level); -+ -+finish: -+ if (d) -+ closedir(d); -+ -+ return r; -+} -+ -+static int clean_item(Item *i) { -+ int r = 0; -+ -+ assert(i); -+ -+ switch (i->type) { -+ case CREATE_DIRECTORY: -+ case TRUNCATE_DIRECTORY: -+ case IGNORE_PATH: -+ clean_item_instance(i, i->path); -+ break; -+ case IGNORE_DIRECTORY_PATH: -+ r = glob_item(i, clean_item_instance); -+ break; -+ default: -+ break; -+ } -+ -+ return r; -+} -+ - static int process_item(Item *i) { - int r, q, p; - -@@ -1028,6 +1051,7 @@ static int parse_line(const char *fname, - case TRUNCATE_DIRECTORY: - case CREATE_FIFO: - case IGNORE_PATH: -+ case IGNORE_DIRECTORY_PATH: - case REMOVE_PATH: - case RECURSIVE_REMOVE_PATH: - case RELABEL_PATH: -@@ -1264,6 +1288,8 @@ static int read_config_file(const char * - FILE *f; - unsigned v = 0; - int r = 0; -+ Iterator iterator; -+ Item *i; - - assert(fn); - -@@ -1296,6 +1322,34 @@ static int read_config_file(const char * - r = k; - } - -+ /* we have to determine age parameter for each entry of type X */ -+ HASHMAP_FOREACH(i, globs, iterator) { -+ Iterator iter; -+ Item *j, *candidate_item = NULL; -+ -+ if (i->type != IGNORE_DIRECTORY_PATH) -+ continue; -+ -+ HASHMAP_FOREACH(j, items, iter) { -+ if (j->type != CREATE_DIRECTORY && j->type != TRUNCATE_DIRECTORY) -+ continue; -+ -+ if (path_equal(j->path, i->path)) { -+ candidate_item = j; -+ break; -+ } -+ -+ if ((!candidate_item && path_startswith(i->path, j->path)) || -+ (candidate_item && path_startswith(j->path, candidate_item->path) && (fnmatch(i->path, j->path, FNM_PATHNAME | FNM_PERIOD) == 0))) -+ candidate_item = j; -+ } -+ -+ if (candidate_item) { -+ i->age = candidate_item->age; -+ i->age_set = true; -+ } -+ } -+ - if (ferror(f)) { - log_error("Failed to read from file %s: %m", fn); - if (r == 0) -Index: systemd-195/tmpfiles.d/tmp.conf -=================================================================== ---- systemd-195.orig/tmpfiles.d/tmp.conf -+++ systemd-195/tmpfiles.d/tmp.conf -@@ -10,3 +10,7 @@ - # Clear tmp directories separately, to make them easier to override - d /tmp 1777 root root 10d - d /var/tmp 1777 root root 30d -+ -+# Exclude namespace mountpoints created with PrivateTmp=yes -+X /tmp/systemd-private-* -+X /var/tmp/systemd-private-* -Index: systemd-195/man/systemd.exec.xml -=================================================================== ---- systemd-195.orig/man/systemd.exec.xml -+++ systemd-195/man/systemd.exec.xml -@@ -1022,15 +1022,17 @@ - Takes a boolean - argument. If true sets up a new file - system namespace for the executed -- processes and mounts a private -- /tmp directory -- inside it, that is not shared by -+ processes and mounts private -+ /tmp and -+ /var/tmp directories -+ inside it, that are not shared by - processes outside of the - namespace. This is useful to secure - access to temporary files of the - process, but makes sharing between - processes via -- /tmp -+ /tmp or -+ /var/tmp - impossible. Defaults to - false. - diff --git a/tty1.patch b/tty1.patch deleted file mode 100644 index 79145db5..00000000 --- a/tty1.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-189/units/systemd-ask-password-wall.service.in -=================================================================== ---- systemd-189.orig/units/systemd-ask-password-wall.service.in -+++ systemd-189/units/systemd-ask-password-wall.service.in -@@ -8,7 +8,7 @@ - [Unit] - Description=Forward Password Requests to Wall - Documentation=man:systemd-ask-password-console.service(8) --After=systemd-user-sessions.service -+After=systemd-user-sessions.service getty@tty1.service - - [Service] - ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/var-run-lock.patch b/var-run-lock.patch deleted file mode 100644 index 3f87b078..00000000 --- a/var-run-lock.patch +++ /dev/null @@ -1,97 +0,0 @@ -Index: systemd-195/Makefile.am -=================================================================== ---- systemd-195.orig/Makefile.am -+++ systemd-195/Makefile.am -@@ -294,6 +294,7 @@ dist_systemunit_DATA = \ - units/sys-kernel-config.mount \ - units/sys-kernel-debug.mount \ - units/sys-fs-fuse-connections.mount \ -+ units/var-run.mount \ - units/tmp.mount \ - units/printer.target \ - units/sound.target \ -@@ -308,6 +309,11 @@ dist_systemunit_DATA = \ - units/systemd-udevd-kernel.socket \ - units/system-update.target - -+if HAVE_SYSV_COMPAT -+dist_systemunit_DATA += \ -+ units/var-lock.mount -+endif -+ - nodist_systemunit_DATA = \ - units/getty@.service \ - units/serial-getty@.service \ -@@ -3874,9 +3880,11 @@ systemd-install-data-hook: - ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ - rm -f systemd-remount-fs.service \ - systemd-fsck-root.service \ -+ var-run.mount \ - tmp.mount && \ - $(LN_S) ../systemd-remount-fs.service systemd-remount-fs.service && \ - $(LN_S) ../systemd-fsck-root.service systemd-fsck-root.service && \ -+ $(LN_S) ../var-run.mount var-run.mount && \ - $(LN_S) ../tmp.mount tmp.mount ) - ( cd $(DESTDIR)$(userunitdir) && \ - rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \ -@@ -3964,6 +3972,12 @@ if TARGET_MAGEIA - rm -f display-manager.service ) - endif - -+if HAVE_SYSV_COMPAT -+ ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ -+ rm -f var-lock.mount && \ -+ $(LN_S) ../var-lock.mount var-lock.mount ) -+endif -+ - install-exec-hook: $(INSTALL_EXEC_HOOKS) - - uninstall-hook: $(UNINSTALL_EXEC_HOOKS) -Index: systemd-195/units/var-lock.mount -=================================================================== ---- /dev/null -+++ systemd-195/units/var-lock.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Lock Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/lock -+ConditionPathIsSymbolicLink=!/var/lock -+ -+[Mount] -+What=/run/lock -+Where=/var/lock -+Type=bind -+Options=bind -Index: systemd-195/units/var-run.mount -=================================================================== ---- /dev/null -+++ systemd-195/units/var-run.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Runtime Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/run -+ConditionPathIsSymbolicLink=!/var/run -+ -+[Mount] -+What=/run -+Where=/var/run -+Type=bind -+Options=bind diff --git a/xdm-display-manager.patch b/xdm-display-manager.patch deleted file mode 100644 index e7e1c191..00000000 --- a/xdm-display-manager.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-195/units/graphical.target -=================================================================== ---- systemd-195.orig/units/graphical.target -+++ systemd-195/units/graphical.target -@@ -11,7 +11,7 @@ Documentation=man:systemd.special(7) - Requires=multi-user.target - After=multi-user.target - Conflicts=rescue.target --Wants=display-manager.service -+Wants=xdm.service - AllowIsolate=yes - - [Install] From a0eb8a1c64cdc1f25cff39aaf8efe6d44ac993c6e405bca8e7f3b5eaa4f8dc9b Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 26 Apr 2013 17:21:58 +0000 Subject: [PATCH 132/991] Accepting request 173533 from Base:System - Fix handle-etc-HOSTNAME.patch to properly set hostname at startup when using /etc/HOSTNAME. (forwarded request 173532 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/173533 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=136 --- 1001-Reinstate-TIMEOUT-handling.patch | 129 ------ ...enable-by_path-links-for-ata-devices.patch | 0 ...ate-by-id-scsi-links-for-ATA-devices.patch | 0 ...atch => 1003-udev-netlink-null-rules.patch | 10 +- ...fix.patch => 1004-fix-devname-prefix.patch | 10 +- ...fault-links-for-primary-cd_dvd-drive.patch | 0 1005-udev-fix-sg-autoload-regression.patch | 22 - ...h => 1006-udev-always-rename-network.patch | 0 1026-re-add-persistent-net.patch | 421 ------------------ handle-etc-HOSTNAME.patch | 39 +- systemd-mini.changes | 27 ++ systemd-mini.spec | 67 +-- systemd.changes | 27 ++ systemd.spec | 67 +-- 14 files changed, 175 insertions(+), 644 deletions(-) delete mode 100644 1001-Reinstate-TIMEOUT-handling.patch rename 1002-re-enable-by_path-links-for-ata-devices.patch => 1001-re-enable-by_path-links-for-ata-devices.patch (100%) rename 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch => 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch (100%) rename 1004-udev-netlink-null-rules.patch => 1003-udev-netlink-null-rules.patch (75%) rename 1007-fix-devname-prefix.patch => 1004-fix-devname-prefix.patch (70%) rename 1021-create-default-links-for-primary-cd_dvd-drive.patch => 1005-create-default-links-for-primary-cd_dvd-drive.patch (100%) delete mode 100644 1005-udev-fix-sg-autoload-regression.patch rename 1027-udev-always-rename-network.patch => 1006-udev-always-rename-network.patch (100%) delete mode 100644 1026-re-add-persistent-net.patch diff --git a/1001-Reinstate-TIMEOUT-handling.patch b/1001-Reinstate-TIMEOUT-handling.patch deleted file mode 100644 index 775c0a07..00000000 --- a/1001-Reinstate-TIMEOUT-handling.patch +++ /dev/null @@ -1,129 +0,0 @@ -From: Robert Milasan -Date: Thu, 11 Apr 2013 15:39:39 +0200 -Subject: Reinstate TIMEOUT handling - -Without treating events with timeouts specially some drivers would -cause a 30 seconds stall on boot: . - -I also received reports of some drivers not working at all, even -after the timeout. - -We will remove this patch when more drivers have been fixed in -the kernel (3.4?). - -This reverts 43d5c5f03645c4b842659f9b5bd0ae465e885e92 and -57c6f8ae5f52a6e8ffc66a54966346f733dded39. ---- - src/libudev/libudev-device.c | 19 +++++++++++++++++++ - src/libudev/libudev-private.h | 1 + - src/udev/udevd.c | 13 ++++++++++--- - 3 files changed, 30 insertions(+), 3 deletions(-) - -diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c -index 6bb2e41..4fdd242 100644 ---- a/src/libudev/libudev-device.c -+++ b/src/libudev/libudev-device.c -@@ -78,6 +78,7 @@ struct udev_device { - struct udev_list tags_list; - unsigned long long int seqnum; - usec_t usec_initialized; -+ int timeout; - int devlink_priority; - int refcount; - dev_t devnum; -@@ -172,6 +173,21 @@ static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) - return 0; - } - -+int udev_device_get_timeout(struct udev_device *udev_device) -+{ -+ return udev_device->timeout; -+} -+ -+static int udev_device_set_timeout(struct udev_device *udev_device, int timeout) -+{ -+ char num[32]; -+ -+ udev_device->timeout = timeout; -+ snprintf(num, sizeof(num), "%u", timeout); -+ udev_device_add_property(udev_device, "TIMEOUT", num); -+ return 0; -+} -+ - const char *udev_device_get_devpath_old(struct udev_device *udev_device) - { - return udev_device->devpath_old; -@@ -462,6 +478,8 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device, - udev_device_set_devpath_old(udev_device, &property[12]); - } else if (startswith(property, "SEQNUM=")) { - udev_device_set_seqnum(udev_device, strtoull(&property[7], NULL, 10)); -+ } else if (startswith(property, "TIMEOUT=")) { -+ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10)); - } else if (startswith(property, "IFINDEX=")) { - udev_device_set_ifindex(udev_device, strtoull(&property[8], NULL, 10)); - } else if (startswith(property, "DEVMODE=")) { -@@ -653,6 +671,7 @@ struct udev_device *udev_device_new(struct udev *udev) - udev_list_init(udev, &udev_device->sysattr_value_list, true); - udev_list_init(udev, &udev_device->sysattr_list, false); - udev_list_init(udev, &udev_device->tags_list, true); -+ udev_device->timeout = -1; - udev_device->watch_handle = -1; - /* copy global properties */ - udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) -diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h -index 54c51ac..d2124ea 100644 ---- a/src/libudev/libudev-private.h -+++ b/src/libudev/libudev-private.h -@@ -77,6 +77,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device); - void udev_device_set_is_initialized(struct udev_device *udev_device); - int udev_device_add_tag(struct udev_device *udev_device, const char *tag); - void udev_device_cleanup_tags_list(struct udev_device *udev_device); -+int udev_device_get_timeout(struct udev_device *udev_device); - usec_t udev_device_get_usec_initialized(struct udev_device *udev_device); - void udev_device_set_usec_initialized(struct udev_device *udev_device, usec_t usec_initialized); - int udev_device_get_devlink_priority(struct udev_device *udev_device); -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index 7d13b4f..9be1931 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -391,7 +391,7 @@ out: - } - } - --static void event_run(struct event *event) -+static void event_run(struct event *event, bool force) - { - struct udev_list_node *loop; - -@@ -417,7 +417,7 @@ static void event_run(struct event *event) - return; - } - -- if (children >= children_max) { -+ if (!force && children >= children_max) { - if (children_max > 1) - log_debug("maximum number (%i) of children reached\n", children); - return; -@@ -455,6 +455,13 @@ static int event_queue_insert(struct udev_device *dev) - - event->state = EVENT_QUEUED; - udev_list_node_append(&event->node, &event_list); -+ -+ /* run all events with a timeout set immediately */ -+ if (udev_device_get_timeout(dev) > 0) { -+ event_run(event, true); -+ return 0; -+ } -+ - return 0; - } - -@@ -566,7 +573,7 @@ static void event_queue_start(struct udev *udev) - if (is_devpath_busy(event)) - continue; - -- event_run(event); -+ event_run(event, false); - } - } - diff --git a/1002-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch similarity index 100% rename from 1002-re-enable-by_path-links-for-ata-devices.patch rename to 1001-re-enable-by_path-links-for-ata-devices.patch diff --git a/1003-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch similarity index 100% rename from 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch rename to 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch diff --git a/1004-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch similarity index 75% rename from 1004-udev-netlink-null-rules.patch rename to 1003-udev-netlink-null-rules.patch index 8634d39d..f486a13f 100644 --- a/1004-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -7,11 +7,11 @@ udevd race for netlink events (bnc#774646) src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index 9be1931..d0c4c72 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -1414,6 +1414,8 @@ int main(int argc, char *argv[]) +Index: systemd-202/src/udev/udevd.c +=================================================================== +--- systemd-202.orig/src/udev/udevd.c ++++ systemd-202/src/udev/udevd.c +@@ -1407,6 +1407,8 @@ int main(int argc, char *argv[]) dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); diff --git a/1007-fix-devname-prefix.patch b/1004-fix-devname-prefix.patch similarity index 70% rename from 1007-fix-devname-prefix.patch rename to 1004-fix-devname-prefix.patch index 55fb3d90..7ab99e97 100644 --- a/1007-fix-devname-prefix.patch +++ b/1004-fix-devname-prefix.patch @@ -7,11 +7,11 @@ fix modules.devname path, it isn't in /usr. src/udev/udevd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index d0c4c72..599cd3b 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -831,7 +831,7 @@ static void static_dev_create_from_modules(struct udev *udev) +Index: systemd-202/src/udev/udevd.c +=================================================================== +--- systemd-202.orig/src/udev/udevd.c ++++ systemd-202/src/udev/udevd.c +@@ -824,7 +824,7 @@ static void static_dev_create_from_modul return; } diff --git a/1021-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch similarity index 100% rename from 1021-create-default-links-for-primary-cd_dvd-drive.patch rename to 1005-create-default-links-for-primary-cd_dvd-drive.patch diff --git a/1005-udev-fix-sg-autoload-regression.patch b/1005-udev-fix-sg-autoload-regression.patch deleted file mode 100644 index 1e79d84e..00000000 --- a/1005-udev-fix-sg-autoload-regression.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Robert Milasan -Date: Tue, 7 Aug 2012 08:34:49 +0000 -Subject: udev fix sg autoload regression - -Fix regression in udev where sg driver is no longer loaded for disc -events. Will need a non-udev solution for 12.3 (bnc#761109). ---- - rules/80-drivers.rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/rules/80-drivers.rules b/rules/80-drivers.rules -index 50523e4..b863532 100644 ---- a/rules/80-drivers.rules -+++ b/rules/80-drivers.rules -@@ -7,6 +7,7 @@ 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" - SUBSYSTEM=="i2o", RUN{builtin}="kmod load i2o_block" -+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", IMPORT{builtin}="kmod load sg" - SUBSYSTEM=="module", KERNEL=="parport_pc", RUN{builtin}="kmod load ppdev" - KERNEL=="mtd*ro", ENV{MTD_FTL}=="smartmedia", RUN{builtin}="kmod load sm_ftl" - diff --git a/1027-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch similarity index 100% rename from 1027-udev-always-rename-network.patch rename to 1006-udev-always-rename-network.patch diff --git a/1026-re-add-persistent-net.patch b/1026-re-add-persistent-net.patch deleted file mode 100644 index dd82550b..00000000 --- a/1026-re-add-persistent-net.patch +++ /dev/null @@ -1,421 +0,0 @@ -From: Robert Milasan -Date: Wed, 20 Mar 2013 10:14:59 +0000 -Subject: re-add persistent net - -udev: re-add persistent network rules (bnc#809843). ---- - Makefile.am | 10 +- - .../75-persistent-net-generator.rules | 102 +++++++++++++++ - src/udev/rule_generator/rule_generator.functions | 113 ++++++++++++++++ - src/udev/rule_generator/write_net_rules | 145 +++++++++++++++++++++ - 4 files changed, 369 insertions(+), 1 deletion(-) - create mode 100644 src/udev/rule_generator/75-persistent-net-generator.rules - create mode 100644 src/udev/rule_generator/rule_generator.functions - create mode 100644 src/udev/rule_generator/write_net_rules - -diff --git a/Makefile.am b/Makefile.am -index 10609f3..f5e4159 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2287,6 +2287,14 @@ EXTRA_DIST += \ - src/gudev/seed-example.js - - # ------------------------------------------------------------------------------ -+dist_udevhome_SCRIPTS = \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules -+ -+dist_udevrules_DATA += \ -+ src/udev/rule_generator/75-persistent-net-generator.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_KEYMAP - keymap_SOURCES = \ - src/udev/keymap/keymap.c -@@ -2314,7 +2322,7 @@ dist_udevrules_DATA += \ - src/udev/keymap/95-keymap.rules \ - src/udev/keymap/95-keyboard-force-release.rules - --dist_udevhome_SCRIPTS = \ -+dist_udevhome_SCRIPTS += \ - src/udev/keymap/findkeyboards \ - src/udev/keymap/keyboard-force-release.sh - -diff --git a/src/udev/rule_generator/75-persistent-net-generator.rules b/src/udev/rule_generator/75-persistent-net-generator.rules -new file mode 100644 -index 0000000..4f80573 ---- /dev/null -+++ b/src/udev/rule_generator/75-persistent-net-generator.rules -@@ -0,0 +1,102 @@ -+# do not edit this file, it will be overwritten on update -+ -+# these rules generate rules for persistent network device naming -+# -+# variables used to communicate: -+# MATCHADDR MAC address used for the match -+# MATCHID bus_id used for the match -+# MATCHDRV driver name used for the match -+# MATCHIFTYPE interface type match -+# COMMENT comment to add to the generated rule -+# INTERFACE_NAME requested name supplied by external tool -+# INTERFACE_NEW new interface name returned by rule writer -+ -+ACTION!="add", GOTO="persistent_net_generator_end" -+SUBSYSTEM!="net", GOTO="persistent_net_generator_end" -+ -+# ignore the interface if a name has already been set -+NAME=="?*", GOTO="persistent_net_generator_end" -+ -+# device name whitelist -+KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" -+ -+# ignore Xen virtual interfaces -+SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end" -+ -+# read MAC address -+ENV{MATCHADDR}="$attr{address}" -+ -+# match interface type -+ENV{MATCHIFTYPE}="$attr{type}" -+ -+# ignore KVM virtual interfaces -+ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end" -+# ignore VMWare virtual interfaces -+ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end" -+# ignore Hyper-V virtual interfaces -+ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end" -+ -+# These vendors are known to violate the local MAC address assignment scheme -+# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom -+ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist" -+# 3Com -+ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist" -+# 3Com IBM PC; Imagen; Valid; Cisco; Apple -+ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist" -+# Intel -+ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist" -+# Olivetti -+ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist" -+# CMC Masscomp; Silicon Graphics; Prime EXL -+ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist" -+# Prominet Corporation Gigabit Ethernet Switch -+ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist" -+# BTI (Bus-Tech, Inc.) IBM Mainframes -+ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist" -+# Realtek -+ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist" -+# Novell 2000 -+ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist" -+# Realtec -+ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist" -+# Kingston Technologies -+ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist" -+# Xensource -+ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" -+ -+# match interface dev_id -+ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" -+ -+# do not use "locally administered" MAC address -+ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" -+ -+# do not use empty address -+ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}="" -+ -+LABEL="globally_administered_whitelist" -+ -+# build comment line for generated rule: -+SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)" -+SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)" -+SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)" -+SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})" -+ -+# ibmveth likes to use "locally administered" MAC addresses -+DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)" -+ -+# S/390 uses id matches only, do not use MAC address match -+SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}="" -+ -+# see if we got enough data to create a rule -+ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end" -+ -+# default comment -+ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})" -+ -+# write rule -+DRIVERS=="?*", IMPORT{program}="write_net_rules" -+ -+# rename interface if needed -+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" -+ -+LABEL="persistent_net_generator_end" -diff --git a/src/udev/rule_generator/rule_generator.functions b/src/udev/rule_generator/rule_generator.functions -new file mode 100644 -index 0000000..087bc34 ---- /dev/null -+++ b/src/udev/rule_generator/rule_generator.functions -@@ -0,0 +1,113 @@ -+# functions used by the udev rule generator -+ -+# Copyright (C) 2006 Marco d'Itri -+ -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation, either version 2 of the License, or -+# (at your option) any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+PATH='/usr/bin:/bin:/usr/sbin:/sbin' -+ -+# Read a single line from file $1 in the $DEVPATH directory. -+# The function must not return an error even if the file does not exist. -+sysread() { -+ local file="$1" -+ [ -e "/sys$DEVPATH/$file" ] || return 0 -+ local value -+ read value < "/sys$DEVPATH/$file" || return 0 -+ echo "$value" -+} -+ -+sysreadlink() { -+ local file="$1" -+ [ -e "/sys$DEVPATH/$file" ] || return 0 -+ readlink -f /sys$DEVPATH/$file 2> /dev/null || true -+} -+ -+# Return true if a directory is writeable. -+writeable() { -+ if ln -s test-link $1/.is-writeable 2> /dev/null; then -+ rm -f $1/.is-writeable -+ return 0 -+ else -+ return 1 -+ fi -+} -+ -+# Create a lock file for the current rules file. -+lock_rules_file() { -+ RUNDIR="/run/udev" -+ [ -e "$RUNDIR" ] || return 0 -+ -+ RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}" -+ -+ retry=30 -+ while ! mkdir $RULES_LOCK 2> /dev/null; do -+ if [ $retry -eq 0 ]; then -+ echo "Cannot lock $RULES_FILE!" >&2 -+ exit 2 -+ fi -+ sleep 1 -+ retry=$(($retry - 1)) -+ done -+} -+ -+unlock_rules_file() { -+ [ "$RULES_LOCK" ] || return 0 -+ rmdir $RULES_LOCK || true -+} -+ -+# Choose the real rules file if it is writeable or a temporary file if not. -+# Both files should be checked later when looking for existing rules. -+choose_rules_file() { -+ RUNDIR="/run/udev" -+ local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}" -+ [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1 -+ -+ if writeable ${RULES_FILE%/*}; then -+ RO_RULES_FILE='/dev/null' -+ else -+ RO_RULES_FILE=$RULES_FILE -+ RULES_FILE=$tmp_rules_file -+ fi -+} -+ -+# Return the name of the first free device. -+raw_find_next_available() { -+ local links="$1" -+ -+ local basename=${links%%[ 0-9]*} -+ local max=-1 -+ for name in $links; do -+ local num=${name#$basename} -+ [ "$num" ] || num=0 -+ [ $num -gt $max ] && max=$num -+ done -+ -+ local max=$(($max + 1)) -+ # "name0" actually is just "name" -+ [ $max -eq 0 ] && return -+ echo "$max" -+} -+ -+# Find all rules matching a key (with action) and a pattern. -+find_all_rules() { -+ local key="$1" -+ local linkre="$2" -+ local match="$3" -+ -+ local search='.*[[:space:],]'"$key"'"('"$linkre"')".*' -+ echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \ -+ $RO_RULES_FILE \ -+ $([ -e $RULES_FILE ] && echo $RULES_FILE) \ -+ 2>/dev/null) -+} -diff --git a/src/udev/rule_generator/write_net_rules b/src/udev/rule_generator/write_net_rules -new file mode 100644 -index 0000000..fad1cc5 ---- /dev/null -+++ b/src/udev/rule_generator/write_net_rules -@@ -0,0 +1,145 @@ -+#!/bin/sh -e -+ -+# This script is run to create persistent network device naming rules -+# based on properties of the device. -+# If the interface needs to be renamed, INTERFACE_NEW= will be printed -+# on stdout to allow udev to IMPORT it. -+ -+# variables used to communicate: -+# MATCHADDR MAC address used for the match -+# MATCHID bus_id used for the match -+# MATCHDEVID dev_id used for the match -+# MATCHDRV driver name used for the match -+# MATCHIFTYPE interface type match -+# COMMENT comment to add to the generated rule -+# INTERFACE_NAME requested name supplied by external tool -+# INTERFACE_NEW new interface name returned by rule writer -+ -+# Copyright (C) 2006 Marco d'Itri -+# Copyright (C) 2007 Kay Sievers -+# -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation, either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# debug, if UDEV_LOG= -+if [ -n "$UDEV_LOG" ]; then -+ if [ "$UDEV_LOG" -ge 7 ]; then -+ set -x -+ fi -+fi -+ -+RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' -+ -+if [ -e /usr/lib/udev/rule_generator.functions ]; then -+ . /usr/lib/udev/rule_generator.functions -+else -+ . /lib/udev/rule_generator.functions -+fi -+ -+interface_name_taken() { -+ local value="$(find_all_rules 'NAME=' $INTERFACE)" -+ if [ "$value" ]; then -+ return 0 -+ else -+ return 1 -+ fi -+} -+ -+find_next_available() { -+ raw_find_next_available "$(find_all_rules 'NAME=' "$1")" -+} -+ -+write_rule() { -+ local match="$1" -+ local name="$2" -+ local comment="$3" -+ -+ { -+ if [ "$PRINT_HEADER" ]; then -+ PRINT_HEADER= -+ echo "# This file was automatically generated by the $0" -+ echo "# program, run by the persistent-net-generator.rules rules file." -+ echo "#" -+ echo "# You can modify it, as long as you keep each rule on a single" -+ echo "# line, and change only the value of the NAME= key." -+ fi -+ -+ echo "" -+ [ "$comment" ] && echo "# $comment" -+ echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\"" -+ } >> $RULES_FILE -+} -+ -+if [ -z "$INTERFACE" ]; then -+ echo "missing \$INTERFACE" >&2 -+ exit 1 -+fi -+ -+# Prevent concurrent processes from modifying the file at the same time. -+lock_rules_file -+ -+# Check if the rules file is writeable. -+choose_rules_file -+ -+# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces -+if [ "$MATCHADDR" ]; then -+ match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\"" -+fi -+ -+if [ "$MATCHDRV" ]; then -+ match="$match, DRIVERS==\"$MATCHDRV\"" -+fi -+ -+if [ "$MATCHDEVID" ]; then -+ match="$match, ATTR{dev_id}==\"$MATCHDEVID\"" -+fi -+ -+if [ "$MATCHID" ]; then -+ match="$match, KERNELS==\"$MATCHID\"" -+fi -+ -+if [ "$MATCHIFTYPE" ]; then -+ match="$match, ATTR{type}==\"$MATCHIFTYPE\"" -+fi -+ -+if [ -z "$match" ]; then -+ echo "missing valid match" >&2 -+ unlock_rules_file -+ exit 1 -+fi -+ -+basename=${INTERFACE%%[0-9]*} -+match="$match, KERNEL==\"$basename*\"" -+ -+if [ "$INTERFACE_NAME" ]; then -+ # external tools may request a custom name -+ COMMENT="$COMMENT (custom name provided by external tool)" -+ if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then -+ INTERFACE=$INTERFACE_NAME; -+ echo "INTERFACE_NEW=$INTERFACE" -+ fi -+else -+ # if a rule using the current name already exists, find a new name -+ if interface_name_taken; then -+ INTERFACE="$basename$(find_next_available "$basename[0-9]*")" -+ # prevent INTERFACE from being "eth" instead of "eth0" -+ [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0 -+ echo "INTERFACE_NEW=$INTERFACE" -+ fi -+fi -+ -+write_rule "$match" "$INTERFACE" "$COMMENT" -+ -+unlock_rules_file -+ -+exit 0 diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch index 2688e851..a547f9f3 100644 --- a/handle-etc-HOSTNAME.patch +++ b/handle-etc-HOSTNAME.patch @@ -4,9 +4,44 @@ Subject: handle /etc/HOSTNAME (bnc#803653) --- - src/hostname/hostnamed.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) + src/core/hostname-setup.c | 22 +++++++++++++++++----- + src/hostname/hostnamed.c | 12 +++++++++++- + 2 files changed, 28 insertions(+), 6 deletions(-) +diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c +index ac508af..15d206c 100644 +--- a/src/core/hostname-setup.c ++++ b/src/core/hostname-setup.c +@@ -61,12 +61,24 @@ int hostname_setup(void) { + + r = read_and_strip_hostname("/etc/hostname", &b); + if (r < 0) { +- if (r == -ENOENT) +- enoent = true; +- else ++ if (r == -ENOENT) { ++ /* use SUSE fallback */ ++ r = read_and_strip_hostname("/etc/HOSTNAME", &b); ++ if (r < 0) { ++ if (r == -ENOENT) ++ enoent = true; ++ else ++ log_warning("Failed to read configured hostname: %s", strerror(-r)); ++ hn = NULL; ++ } ++ else ++ hn = b; ++ ++ } ++ else { + log_warning("Failed to read configured hostname: %s", strerror(-r)); +- +- hn = NULL; ++ hn = NULL; ++ } + } else + hn = b; + diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index c7f454c..cfbd706 100644 --- a/src/hostname/hostnamed.c diff --git a/systemd-mini.changes b/systemd-mini.changes index 6de94b11..6cc8c273 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com + +- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup + when using /etc/HOSTNAME. + +------------------------------------------------------------------- +Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com + +- Rename remaning udev patches (clean-up). +- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at + boot time not from udev (bnc#761109). +- Drop unused patches: + 1001-Reinstate-TIMEOUT-handling.patch + 1005-udev-fix-sg-autoload-regression.patch + 1026-re-add-persistent-net.patch + +------------------------------------------------------------------- +Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com + +- Use drop-in file to fix bnc#804158. + +------------------------------------------------------------------- +Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com + +- add some more conflicts to make bootstrap work + ------------------------------------------------------------------- Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 30827d23..a65bb80c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -81,6 +81,7 @@ BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} Requires: this-is-only-for-build-envs Conflicts: systemd +Conflicts: kiwi %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -169,24 +170,18 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # udev patches -# PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch -Patch1001: 1001-Reinstate-TIMEOUT-handling.patch -# PATCH-FIX-OPENSUSE 1002-re-enable-by_path-links-for-ata-devices.patch -Patch1002: 1002-re-enable-by_path-links-for-ata-devices.patch -# PATCH-FIX-OPENSUSE 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1003: 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1004-udev-netlink-null-rules.patch -Patch1004: 1004-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-udev-fix-sg-autoload-regression.patch -Patch1005: 1005-udev-fix-sg-autoload-regression.patch -# PATCH-FIX-OPENSUSE 1007-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1007: 1007-fix-devname-prefix.patch -# PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch -Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1026-re-add-persistent-net.patch -Patch1026: 1026-re-add-persistent-net.patch -# PATCH-FIX-OPENSUSE 1027-udev-always-rename-network.patch -Patch1027: 1027-udev-always-rename-network.patch +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch +Patch1003: 1003-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr +Patch1004: 1004-fix-devname-prefix.patch +# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch +Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch +# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch +Patch1006: 1006-udev-always-rename-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -205,6 +200,9 @@ Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ Requires: %{name} = %{version} +%if 0%{?bootstrap} +Conflicts: systemd-devel +%endif %description devel Development headers and auxiliary files for developing applications for systemd. @@ -237,7 +235,7 @@ Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version} -Conflicts: libudev%{udev_major} = %{version} +Conflicts: libudev%{udev_major} Conflicts: udev %endif @@ -257,6 +255,7 @@ Group: System/Libraries Requires: %{udevpkgname} >= %{version}-%{release} %if 0%{?bootstrap} Conflicts: libudev%{udev_major} +Conflicts: kiwi %endif %description -n lib%{udevpkgname}%{udev_major} @@ -365,10 +364,7 @@ cp %{SOURCE7} m4/ %patch1003 -p1 %patch1004 -p1 %patch1005 -p1 -%patch1007 -p1 -%patch1021 -p1 -%patch1026 -p1 -%patch1027 -p1 +%patch1006 -p1 #systemd %patch0 -p1 @@ -507,6 +503,13 @@ ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/syste # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +# create %{_libexecdir}/modules-load.d +mkdir -p %{buildroot}%{_libexecdir}/modules-load.d +cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf +# load sg module at boot time +sg +EOF + # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the @@ -549,10 +552,13 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -src="%buildroot/%_libexecdir/systemd/system/getty@.service" -dst="${src/@/@tty1}" -cp "$src" "$dst" -perl -i -pe 's{^# the VT is cleared.*}{}i;s{(^TTYVTDisallocate=.*)}{}' "$dst" +# create drop-in to prevent tty1 to be cleared (bnc#804158) +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ +echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +[Service] +# ensure tty1 isn't cleared (bnc#804158) +TTYVTDisallocate=no +EOF %fdupes -s %{buildroot}%{_mandir} @@ -716,7 +722,7 @@ fi %endif %clean -# rm -rf %{buildroot} +rm -rf %{buildroot} %files %defattr(-,root,root) @@ -787,6 +793,8 @@ fi %dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system/default.target.wants %dir %{_prefix}/lib/systemd/system/dbus.target.wants +%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif @@ -799,6 +807,7 @@ fi %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d +%{_libexecdir}/modules-load.d/sg.conf %dir %{_libexecdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d @@ -942,8 +951,6 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%{_prefix}/lib/udev/write_net_rules -%{_prefix}/lib/udev/rule_generator.functions %dir %{_prefix}/lib/udev/keymaps %{_prefix}/lib/udev/keymaps/* %{_prefix}/lib/udev/keyboard-force-release.sh diff --git a/systemd.changes b/systemd.changes index 6de94b11..6cc8c273 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com + +- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup + when using /etc/HOSTNAME. + +------------------------------------------------------------------- +Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com + +- Rename remaning udev patches (clean-up). +- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at + boot time not from udev (bnc#761109). +- Drop unused patches: + 1001-Reinstate-TIMEOUT-handling.patch + 1005-udev-fix-sg-autoload-regression.patch + 1026-re-add-persistent-net.patch + +------------------------------------------------------------------- +Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com + +- Use drop-in file to fix bnc#804158. + +------------------------------------------------------------------- +Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com + +- add some more conflicts to make bootstrap work + ------------------------------------------------------------------- Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 298a3c97..4d1f6bd2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -76,6 +76,7 @@ BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} Requires: this-is-only-for-build-envs Conflicts: systemd +Conflicts: kiwi %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -164,24 +165,18 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # udev patches -# PATCH-FIX-OPENSUSE 1001-Reinstate-TIMEOUT-handling.patch -Patch1001: 1001-Reinstate-TIMEOUT-handling.patch -# PATCH-FIX-OPENSUSE 1002-re-enable-by_path-links-for-ata-devices.patch -Patch1002: 1002-re-enable-by_path-links-for-ata-devices.patch -# PATCH-FIX-OPENSUSE 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1003: 1003-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1004-udev-netlink-null-rules.patch -Patch1004: 1004-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-udev-fix-sg-autoload-regression.patch -Patch1005: 1005-udev-fix-sg-autoload-regression.patch -# PATCH-FIX-OPENSUSE 1007-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1007: 1007-fix-devname-prefix.patch -# PATCH-FIX-OPENSUSE 1021-create-default-links-for-primary-cd_dvd-drive.patch -Patch1021: 1021-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1026-re-add-persistent-net.patch -Patch1026: 1026-re-add-persistent-net.patch -# PATCH-FIX-OPENSUSE 1027-udev-always-rename-network.patch -Patch1027: 1027-udev-always-rename-network.patch +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch +Patch1003: 1003-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr +Patch1004: 1004-fix-devname-prefix.patch +# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch +Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch +# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch +Patch1006: 1006-udev-always-rename-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -200,6 +195,9 @@ Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ Requires: %{name} = %{version} +%if 0%{?bootstrap} +Conflicts: systemd-devel +%endif %description devel Development headers and auxiliary files for developing applications for systemd. @@ -232,7 +230,7 @@ Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version} -Conflicts: libudev%{udev_major} = %{version} +Conflicts: libudev%{udev_major} Conflicts: udev %endif @@ -252,6 +250,7 @@ Group: System/Libraries Requires: %{udevpkgname} >= %{version}-%{release} %if 0%{?bootstrap} Conflicts: libudev%{udev_major} +Conflicts: kiwi %endif %description -n lib%{udevpkgname}%{udev_major} @@ -360,10 +359,7 @@ cp %{SOURCE7} m4/ %patch1003 -p1 %patch1004 -p1 %patch1005 -p1 -%patch1007 -p1 -%patch1021 -p1 -%patch1026 -p1 -%patch1027 -p1 +%patch1006 -p1 #systemd %patch0 -p1 @@ -502,6 +498,13 @@ ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/syste # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +# create %{_libexecdir}/modules-load.d +mkdir -p %{buildroot}%{_libexecdir}/modules-load.d +cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf +# load sg module at boot time +sg +EOF + # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the @@ -544,10 +547,13 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -src="%buildroot/%_libexecdir/systemd/system/getty@.service" -dst="${src/@/@tty1}" -cp "$src" "$dst" -perl -i -pe 's{^# the VT is cleared.*}{}i;s{(^TTYVTDisallocate=.*)}{}' "$dst" +# create drop-in to prevent tty1 to be cleared (bnc#804158) +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ +echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +[Service] +# ensure tty1 isn't cleared (bnc#804158) +TTYVTDisallocate=no +EOF %fdupes -s %{buildroot}%{_mandir} @@ -711,7 +717,7 @@ fi %endif %clean -# rm -rf %{buildroot} +rm -rf %{buildroot} %files %defattr(-,root,root) @@ -782,6 +788,8 @@ fi %dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system/default.target.wants %dir %{_prefix}/lib/systemd/system/dbus.target.wants +%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif @@ -794,6 +802,7 @@ fi %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d +%{_libexecdir}/modules-load.d/sg.conf %dir %{_libexecdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d @@ -937,8 +946,6 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%{_prefix}/lib/udev/write_net_rules -%{_prefix}/lib/udev/rule_generator.functions %dir %{_prefix}/lib/udev/keymaps %{_prefix}/lib/udev/keymaps/* %{_prefix}/lib/udev/keyboard-force-release.sh From 239b75e388458d2b0e9dc8180318a694b3a090c818aad00e767b99569034e7fe Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 3 May 2013 11:48:49 +0000 Subject: [PATCH 133/991] Accepting request 174398 from Base:System Otherwise, an empty folder will produce an error: > for l in /etc/rc.d/rc4.d/*; do echo $l; done /etc/rc.d/rc4.d/* > systemd-sysv-convert --save iscsid /usr/sbin/systemd-sysv-convert: line 44: [: too many arguments /usr/sbin/systemd-sysv-convert: line 47: [: too many arguments (resubmit of request 173801) (forwarded request 174108 from chkpnt) OBS-URL: https://build.opensuse.org/request/show/174398 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=137 --- systemd-mini.changes | 6 ++++++ systemd-sysv-convert | 2 +- systemd.changes | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 6cc8c273..c804edbb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de + +- Fix systemd-sysv-convert, so empty runlevel folders don't lead + to "line 44: [: too many arguments" + ------------------------------------------------------------------- Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com diff --git a/systemd-sysv-convert b/systemd-sysv-convert index ef38cbff..8ba3f211 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -39,7 +39,7 @@ declare -i priority service=$1 runlevel=$2 priority=-1 -for l in /etc/rc.d/rc$runlevel.d/* ; do +for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do initscript=$(basename $l) if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then continue diff --git a/systemd.changes b/systemd.changes index 6cc8c273..c804edbb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de + +- Fix systemd-sysv-convert, so empty runlevel folders don't lead + to "line 44: [: too many arguments" + ------------------------------------------------------------------- Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com From 4d1cc33148844e1da4661fe4c36614a068336b2266ba7d1f3281e9bd48e2ea6d Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 13 May 2013 20:50:06 +0000 Subject: [PATCH 134/991] Accepting request 175317 from Base:System missing backslash (forwarded request 175316 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/175317 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=138 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index c804edbb..18c65cef 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com + +- Fix firmware loading by enabling --with-firmware-path (bnc#817551). + ------------------------------------------------------------------- Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de diff --git a/systemd-mini.spec b/systemd-mini.spec index a65bb80c..6407bfc8 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -423,6 +423,7 @@ export V=1 --enable-selinux \ --enable-split-usr \ --disable-static \ + --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ CFLAGS="%{optflags}" make %{?_smp_mflags} diff --git a/systemd.changes b/systemd.changes index c804edbb..18c65cef 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com + +- Fix firmware loading by enabling --with-firmware-path (bnc#817551). + ------------------------------------------------------------------- Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de diff --git a/systemd.spec b/systemd.spec index 4d1f6bd2..3f6814c5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -418,6 +418,7 @@ export V=1 --enable-selinux \ --enable-split-usr \ --disable-static \ + --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ CFLAGS="%{optflags}" make %{?_smp_mflags} From 19a506be6044a23f4ebdf441163116b582cca2c7ed241ca6fc51696002318f60 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 15 May 2013 14:10:43 +0000 Subject: [PATCH 135/991] Accepting request 175749 from Base:System - Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't free variable whose content is still be used (bnc#819970). (forwarded request 175744 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/175749 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=139 --- handle-SYSTEMCTL_OPTIONS-environment-variable.patch | 2 +- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 2 ++ systemd.changes | 12 ++++++++++++ systemd.spec | 2 ++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index 1ed955b9..f139b0fb 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -22,7 +22,7 @@ index 84ce87c..cceafc9 100644 + + if (*parsed_systemctl_options && **parsed_systemctl_options) { + char **k,**a; -+ _cleanup_strv_free_ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); ++ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); + new_argv[0] = strdup(argv[0]); + for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { + *k = strdup(*a); diff --git a/systemd-mini.changes b/systemd-mini.changes index 18c65cef..085a2d34 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com + +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't + free variable whose content is still be used (bnc#819970). + +------------------------------------------------------------------- +Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com + +- Add configure flags to ensure boot.local/halt.local are run on + startup/shutdown. + ------------------------------------------------------------------- Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 6407bfc8..72ac98e9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -424,6 +424,8 @@ export V=1 --enable-split-usr \ --disable-static \ --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ CFLAGS="%{optflags}" make %{?_smp_mflags} diff --git a/systemd.changes b/systemd.changes index 18c65cef..085a2d34 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com + +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't + free variable whose content is still be used (bnc#819970). + +------------------------------------------------------------------- +Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com + +- Add configure flags to ensure boot.local/halt.local are run on + startup/shutdown. + ------------------------------------------------------------------- Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 3f6814c5..180253b1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -419,6 +419,8 @@ export V=1 --enable-split-usr \ --disable-static \ --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ CFLAGS="%{optflags}" make %{?_smp_mflags} From e552eedb6c81e8b9e687fa5f71abef17fe75da4290638a2540c787b8199de171 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 27 May 2013 08:03:19 +0000 Subject: [PATCH 136/991] Accepting request 176241 from Base:System - Rebase parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). (forwarded request 176236 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/176241 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=140 --- ...nf-and-adds-dependencies-accordingly.patch | 27 ++++++---- ...ndle-boot-sysctl.conf-kernel_release.patch | 53 +++++++++++++++++++ systemd-mini.changes | 13 +++++ systemd-mini.spec | 8 +-- systemd.changes | 13 +++++ systemd.spec | 8 +-- 6 files changed, 106 insertions(+), 16 deletions(-) create mode 100644 sysctl-handle-boot-sysctl.conf-kernel_release.patch diff --git a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch index f3e12f27..e1f7405e 100644 --- a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +++ b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch @@ -1,17 +1,18 @@ +From 0d4db3c514f1fe3fe13acb7a34a5a517db9ccb2d Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Fri, 30 Sep 2011 13:55:31 +0000 -Subject: parse /etc/insserv.conf and adds dependencies accordingly +Subject: [PATCH] parse /etc/insserv.conf and adds dependencies accordingly (bnc#721428) --- - src/core/service.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 101 insertions(+) + src/core/service.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 104 insertions(+) diff --git a/src/core/service.c b/src/core/service.c -index cf0bbe0..08fc97c 100644 +index cf0bbe0..471ce8d 100644 --- a/src/core/service.c +++ b/src/core/service.c -@@ -3440,6 +3440,105 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { +@@ -3440,6 +3440,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { } #ifdef HAVE_SYSV_COMPAT @@ -52,11 +53,14 @@ index cf0bbe0..08fc97c 100644 + if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { + /* insert also a Wants dependency from remote-fs-pre on remote-fs */ + u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); -+ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ if (u) { ++ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); ++ free (facility); ++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ } + } -+ if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { ++ u = manager_get_unit(mgr, facility); ++ if (u && (u->type == UNIT_TARGET)) { + char *dep = NULL, *name, **j; + + STRV_FOREACH (j, parsed+1) { @@ -117,7 +121,7 @@ index cf0bbe0..08fc97c 100644 static int service_enumerate(Manager *m) { char **p; -@@ -3600,6 +3699,8 @@ static int service_enumerate(Manager *m) { +@@ -3600,6 +3702,8 @@ static int service_enumerate(Manager *m) { r = 0; @@ -126,3 +130,6 @@ index cf0bbe0..08fc97c 100644 finish: for (i = 0; i < ELEMENTSOF(rcnd_table); i++) +-- +1.8.1.4 + diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch new file mode 100644 index 00000000..9213a508 --- /dev/null +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -0,0 +1,53 @@ +From 752a4370ecb5643a432ad73b1e22c80cd304948f Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 17 May 2013 13:31:46 +0200 +Subject: [PATCH] sysctl: handle /boot/sysctl.conf- + +Add support for kernel release sysctl.conf files (for per-flavor +configuration), needed by openSUSE (bnc#809420). +--- + src/sysctl/sysctl.c | 8 ++++++++ + units/systemd-sysctl.service.in | 1 + + 2 files changed, 9 insertions(+) + +diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c +index db18dd9..aa10b79 100644 +--- a/src/sysctl/sysctl.c ++++ b/src/sysctl/sysctl.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include "log.h" + #include "strv.h" +@@ -297,6 +298,13 @@ int main(int argc, char *argv[]) { + } else { + _cleanup_strv_free_ char **files = NULL; + char **f; ++ char kernel_sysctl[PATH_MAX]; ++ struct utsname uts; ++ ++ assert_se(uname(&uts) >= 0); ++ ++ snprintf(kernel_sysctl, sizeof(kernel_sysctl), "/boot/sysctl.conf-%s", uts.release); ++ r = parse_file(sysctl_options, kernel_sysctl, true); + + r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); + if (r < 0) { +diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in +index 45e1ceb..61d13c9 100644 +--- a/units/systemd-sysctl.service.in ++++ b/units/systemd-sysctl.service.in +@@ -19,6 +19,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sysctl.d + ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d + ConditionDirectoryNotEmpty=|/etc/sysctl.d + ConditionDirectoryNotEmpty=|/run/sysctl.d ++ConditionPathExistsGlob=|/boot/sysctl.conf-* + + [Service] + Type=oneshot +-- +1.8.1.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 085a2d34..a92519aa 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com + +- Rebase + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to + fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). + +------------------------------------------------------------------- +Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com + +- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure + /boot/sysctl.conf- is handled (bnc#809420). + ------------------------------------------------------------------- Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 72ac98e9..999bce16 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -113,11 +113,10 @@ Source9: nss-myhostname-config Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink -# Patches auto-generated by git-buildpackage: # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch -# PATCH-FIX-UPSTREAM ptionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called Patch1: optionally-warn-if-nss-myhostname-is-called.patch Patch2: Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings @@ -153,8 +152,10 @@ Patch26: ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch -- FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. +# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch +# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file +Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -401,6 +402,7 @@ cp %{SOURCE7} m4/ %patch37 -p1 %patch38 -p1 %patch39 -p1 +%patch40 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 085a2d34..a92519aa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com + +- Rebase + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to + fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). + +------------------------------------------------------------------- +Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com + +- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure + /boot/sysctl.conf- is handled (bnc#809420). + ------------------------------------------------------------------- Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 180253b1..ff03d454 100644 --- a/systemd.spec +++ b/systemd.spec @@ -108,11 +108,10 @@ Source9: nss-myhostname-config Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink -# Patches auto-generated by git-buildpackage: # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch -# PATCH-FIX-UPSTREAM ptionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called Patch1: optionally-warn-if-nss-myhostname-is-called.patch Patch2: Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings @@ -148,8 +147,10 @@ Patch26: ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch -- FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. +# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch +# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file +Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -396,6 +397,7 @@ cp %{SOURCE7} m4/ %patch37 -p1 %patch38 -p1 %patch39 -p1 +%patch40 -p1 %build autoreconf -fiv From f2f0016f9805b97d436faf4bfc9abf7041c19cf84538f20e2adb4b843ad75000 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 28 May 2013 05:43:35 +0000 Subject: [PATCH 137/991] Accepting request 176682 from Base:System - Do no ship defaults for sysctl, they should be part of aaa_base (currently in procps). - Add hostname-setup-shortname.patch: ensure shortname is set as hostname (bnc#820213). (forwarded request 176648 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/176682 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=141 --- hostname-setup-shortname.patch | 25 +++++++++++++++++++++++++ systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 10 ++++++++-- systemd.changes | 8 ++++++++ systemd.spec | 10 ++++++++-- 5 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 hostname-setup-shortname.patch diff --git a/hostname-setup-shortname.patch b/hostname-setup-shortname.patch new file mode 100644 index 00000000..37f7440e --- /dev/null +++ b/hostname-setup-shortname.patch @@ -0,0 +1,25 @@ +Index: systemd-202/src/core/hostname-setup.c +=================================================================== +--- systemd-202.orig/src/core/hostname-setup.c ++++ systemd-202/src/core/hostname-setup.c +@@ -32,7 +32,7 @@ + #include "fileio.h" + + static int read_and_strip_hostname(const char *path, char **hn) { +- char *s; ++ char *s, *domain; + int r; + + assert(path); +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const + return -ENOENT; + } + ++ /* strip any leftover of a domain name */ ++ if (domain = strchr(s, '.')) { ++ *domain = NULL; ++ } ++ + *hn = s; + return 0; + } diff --git a/systemd-mini.changes b/systemd-mini.changes index a92519aa..cb74ecbc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com + +- Do no ship defaults for sysctl, they should be part of aaa_base + (currently in procps). +- Add hostname-setup-shortname.patch: ensure shortname is set as + hostname (bnc#820213). + ------------------------------------------------------------------- Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 999bce16..628686af 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -156,6 +156,8 @@ Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch +# PATCH-FIX-OPENSUSE hostname-setup-shortname.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname +Patch41: hostname-setup-shortname.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -403,6 +405,7 @@ cp %{SOURCE7} m4/ %patch38 -p1 %patch39 -p1 %patch40 -p1 +%patch41 -p1 %build autoreconf -fiv @@ -519,7 +522,11 @@ EOF # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the # journal. -rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/50-coredump.conf +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf + +# do not ship sysctl defaults in systemd package, will be part of +# aaa_base (in procps for now) +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README @@ -822,7 +829,6 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/binfmt.d %dir %{_libexecdir}/sysctl.d -%{_libexecdir}/sysctl.d/50-default.conf %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd diff --git a/systemd.changes b/systemd.changes index a92519aa..cb74ecbc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com + +- Do no ship defaults for sysctl, they should be part of aaa_base + (currently in procps). +- Add hostname-setup-shortname.patch: ensure shortname is set as + hostname (bnc#820213). + ------------------------------------------------------------------- Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index ff03d454..65273b41 100644 --- a/systemd.spec +++ b/systemd.spec @@ -151,6 +151,8 @@ Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch +# PATCH-FIX-OPENSUSE hostname-setup-shortname.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname +Patch41: hostname-setup-shortname.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -398,6 +400,7 @@ cp %{SOURCE7} m4/ %patch38 -p1 %patch39 -p1 %patch40 -p1 +%patch41 -p1 %build autoreconf -fiv @@ -514,7 +517,11 @@ EOF # kernel.core_pattern setting until systemd-coredump is a part of an actual # systemd release and it's made clear how to get the core dumps out of the # journal. -rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/50-coredump.conf +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf + +# do not ship sysctl defaults in systemd package, will be part of +# aaa_base (in procps for now) +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README @@ -817,7 +824,6 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/binfmt.d %dir %{_libexecdir}/sysctl.d -%{_libexecdir}/sysctl.d/50-default.conf %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd From f2b41b08570cc0f442c7e05cfcbfd8000f7b492cde0bf83ed34c9c21207cf9e9 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 5 Jun 2013 11:16:22 +0000 Subject: [PATCH 138/991] Accepting request 176958 from Base:System - Update to release 204: + systemd-nspawn creates etc/resolv.conf in container if needed. + systemd-nspawn will store metadata about container in container cgroup including its root directory. + cgroup hierarchy has been reworked, all objects are now suffxed (with .session for user sessions, .user for users, .nspawn for containers). All cgroup names are now escaped to preven collision of object names. + systemctl list-dependencies gained --plain, --reverse, --after and --before switches. + systemd-inhibit shows processes name taking inhibitor lock. + nss-myhostname will now resolve "localhost" implicitly. + .include is not allowed recursively anymore and only in unit files. Drop-in files should be favored in most cases. + systemd-analyze gained "critical-chain" command, to get slowest chain of units run during boot-up. + systemd-nspawn@.service has been added to easily run nspawn container for system services. Just start "systemd-nspawn@foobar.service" and container from /var/lib/container/foobar" will be booted. + systemd-cgls has new --machine parameter to list processes from one container. + ConditionSecurity= can now check for apparmor and SMACK. + /etc/systemd/sleep.conf has been introduced to configure which kernel operation will be execute when "suspend", "hibernate" or "hybrid-sleep" is requrested. It allow new kernel "freeze" state to be used too. (This setting won't have any effect if pm-utils is installed). + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape passed argument if applicable. (forwarded request 176957 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/176958 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=142 --- ...splash-handling-for-password-dialogs.patch | 57 ------- Ensure-debugshell-has-a-correct-value.patch | 22 --- ...-suspend-hibernate-calls-to-pm-utils.patch | 146 +++++++++--------- ...pport-for-SysV-scripts-for-the-early.patch | 2 +- Start-ctrl-alt-del.target-irreversibly.patch | 27 ++++ apply-ACL-for-nvidia-device-nodes.patch | 27 +++- ...alid-address-familily-is-passed-to-g.patch | 24 +-- ...rtname-is-set-as-hostname-bnc-820213.patch | 34 ++++ ...s-started-before-local-fs-pre-for-lo.patch | 21 --- ...t-after-cryptsetup-target-is-reached.patch | 14 +- handle-etc-HOSTNAME.patch | 2 +- hostname-setup-shortname.patch | 25 --- ...lly-warn-if-nss-myhostname-is-called.patch | 59 ++++--- ...nf-and-adds-dependencies-accordingly.patch | 12 +- ...script-heuristic-and-add-new-LSB-hea.patch | 6 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 6 +- ...oes-not-expand-u-so-revert-back-to-I.patch | 27 ++++ systemd-202.tar.xz | 3 - systemd-204.tar.xz | 3 + systemd-mini.changes | 59 +++++++ systemd-mini.spec | 27 ++-- systemd.changes | 59 +++++++ systemd.spec | 27 ++-- 23 files changed, 388 insertions(+), 301 deletions(-) delete mode 100644 Add-bootsplash-handling-for-password-dialogs.patch delete mode 100644 Ensure-debugshell-has-a-correct-value.patch create mode 100644 Start-ctrl-alt-del.target-irreversibly.patch create mode 100644 ensure-shortname-is-set-as-hostname-bnc-820213.patch delete mode 100644 ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch delete mode 100644 hostname-setup-shortname.patch create mode 100644 systemctl-does-not-expand-u-so-revert-back-to-I.patch delete mode 100644 systemd-202.tar.xz create mode 100644 systemd-204.tar.xz diff --git a/Add-bootsplash-handling-for-password-dialogs.patch b/Add-bootsplash-handling-for-password-dialogs.patch deleted file mode 100644 index bf97901b..00000000 --- a/Add-bootsplash-handling-for-password-dialogs.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Stefan Seyfried -Date: Thu, 16 Dec 2010 11:30:17 +0100 -Subject: Add bootsplash handling for password dialogs - -openSUSE uses bootsplash.org, so add a crude handling for setting the -splash screen to verbose when a password is asked... ---- - src/shared/ask-password-api.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c -index 4557155..3750f64 100644 ---- a/src/shared/ask-password-api.c -+++ b/src/shared/ask-password-api.c -@@ -63,6 +63,9 @@ int ask_password_tty( - bool reset_tty = false; - bool silent_mode = false; - bool dirty = false; -+ bool splash_silent = false; -+ FILE *procsplash = NULL; -+ char *line = NULL; - enum { - POLL_TTY, - POLL_INOTIFY -@@ -106,6 +109,19 @@ int ask_password_tty( - } - - reset_tty = true; -+ procsplash = fopen("/proc/splash", "r+"); -+ if (procsplash) { -+ getline(&line, &p, procsplash); -+ p = 0; /* reset, just to make sure */ -+ if (line && -+ (strstr(line, "on\n") == line + strlen(line) - 3) && -+ (strstr(line, "silent") != NULL)) { -+ splash_silent = true; -+ rewind(procsplash); -+ fprintf(procsplash, "verbose\n"); -+ fflush(procsplash); -+ } -+ } - } - - zero(pollfd); -@@ -239,6 +255,12 @@ finish: - close_nointr_nofail(ttyfd); - } - -+ if (splash_silent) { /* only set if procsplash != NULL */ -+ rewind(procsplash); -+ fprintf(procsplash, "silent\n"); -+ fclose(procsplash); -+ } -+ - return r; - } - diff --git a/Ensure-debugshell-has-a-correct-value.patch b/Ensure-debugshell-has-a-correct-value.patch deleted file mode 100644 index 0babbb0d..00000000 --- a/Ensure-debugshell-has-a-correct-value.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Frederic Crozat -Date: Tue, 4 Dec 2012 16:51:32 +0000 -Subject: Ensure debugshell has a correct value - -use /bin/bash if sushell isn't installed (bnc#789052). ---- - units/debug-shell.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/debug-shell.service.in b/units/debug-shell.service.in -index a6acad3..64b5e0d 100644 ---- a/units/debug-shell.service.in -+++ b/units/debug-shell.service.in -@@ -13,7 +13,7 @@ IgnoreOnIsolate=yes - - [Service] - Environment=TERM=linux --ExecStart=@SUSHELL@ -+ExecStart=/bin/bash -c '[ -x @SUSHELL@ ] && exec @SUSHELL@ || exec /bin/bash' - Restart=always - RestartSec=0 - StandardInput=tty diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 8abce1db..7e6b7b44 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -4,99 +4,93 @@ Subject: Forward suspend / hibernate calls to pm-utils forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) --- - src/sleep/sleep.c | 27 ++++++++++++++++++++++++--- - 1 file changed, 24 insertions(+), 3 deletions(-) + src/sleep/sleep.c | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index f5e78c1..8d91117 100644 +index a56ab89..232ab67 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c -@@ -22,6 +22,7 @@ - #include +@@ -24,6 +24,7 @@ #include #include + #include +#include - #include "log.h" - #include "util.h" -@@ -32,6 +33,9 @@ - int main(int argc, char *argv[]) { - const char *verb; - char* arguments[4]; -+ const char *pmtools; -+ bool delegate_to_pmutils = false; -+ struct stat buf; - int r; - FILE *f; + #include "systemd/sd-id128.h" + #include "systemd/sd-messages.h" +@@ -35,6 +36,8 @@ + #include "sleep-config.h" -@@ -45,17 +49,27 @@ int main(int argc, char *argv[]) { - goto finish; + static char* arg_verb = NULL; ++static bool delegate_to_pmutils = false; ++static const char *pmtools; + + static int write_mode(char **modes) { + int r = 0; +@@ -50,9 +53,6 @@ static int write_mode(char **modes) { + r = k; } -- if (streq(argv[1], "suspend")) -+ if (streq(argv[1], "suspend")) { - verb = "mem"; -- else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) +- if (r < 0) +- log_error("Failed to write mode to /sys/power/disk: %s", +- strerror(-r)); + + return r; + } +@@ -90,6 +90,8 @@ static int execute(char **modes, char **states) { + FILE *f; + const char* note = strappenda("SLEEP=", arg_verb); + ++ if (!delegate_to_pmutils) { ++ + /* This file is opened first, so that if we hit an error, + * we can abort before modyfing any state. */ + f = fopen("/sys/power/state", "we"); +@@ -102,6 +104,7 @@ static int execute(char **modes, char **states) { + r = write_mode(modes); + if (r < 0) + return r; ++ } + + arguments[0] = NULL; + arguments[1] = (char*) "pre"; +@@ -114,8 +117,10 @@ static int execute(char **modes, char **states) { + "MESSAGE=Suspending system...", + note, + NULL); +- ++ if (!delegate_to_pmutils) + r = write_state(f, states); ++ else ++ r = -system(pmtools); + if (r < 0) + return r; + +@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *argv[]) { + }; + + int c; ++ struct stat buf; + + assert(argc >= 0); + assert(argv); +@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *argv[]) { + return -EINVAL; + } + ++ if (streq(arg_verb, "suspend")) { + pmtools = "/usr/sbin/pm-suspend"; + } -+ else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) { - verb = "disk"; -+ if (streq(argv[1], "hibernate")) ++ else if (streq(arg_verb, "hibernate") || streq(arg_verb, "hybrid-sleep")) { ++ if (streq(arg_verb, "hibernate")) + pmtools = "/usr/sbin/pm-hibernate"; + else + pmtools = "/usr/sbin/pm-suspend-hybrid"; + } - else { - log_error("Unknown action '%s'.", argv[1]); - r = -EINVAL; - goto finish; - } - ++ + delegate_to_pmutils = (stat(pmtools, &buf) >= 0 && S_ISREG(buf.st_mode) && (buf.st_mode & 0111)); + - /* Configure the hibernation mode */ -+ if (!delegate_to_pmutils) { - if (streq(argv[1], "hibernate")) { - if (write_string_file("/sys/power/disk", "platform") < 0) - write_string_file("/sys/power/disk", "shutdown"); -@@ -65,13 +79,14 @@ int main(int argc, char *argv[]) { - write_string_file("/sys/power/disk", "shutdown"); - } + return 1 /* work to do */; + } -+ - f = fopen("/sys/power/state", "we"); - if (!f) { - log_error("Failed to open /sys/power/state: %m"); - r = -errno; - goto finish; - } -- -+ } - arguments[0] = NULL; - arguments[1] = (char*) "pre"; - arguments[2] = argv[1]; -@@ -97,11 +112,16 @@ int main(int argc, char *argv[]) { - "SLEEP=hybrid-sleep", - NULL); - -+ if (delegate_to_pmutils) { -+ r = -system(pmtools); -+ } -+ else { - fputs(verb, f); - fputc('\n', f); - fflush(f); - - r = ferror(f) ? -errno : 0; -+ } - - if (streq(argv[1], "suspend")) - log_struct(LOG_INFO, -@@ -119,6 +139,7 @@ int main(int argc, char *argv[]) { - arguments[1] = (char*) "post"; - execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments); - -+ if (!delegate_to_pmutils) - fclose(f); - - finish: diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch index 2432288a..eeb004a2 100644 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -28,7 +28,7 @@ index c13ff35..0b39ec6 100644 { "rc4.d", SPECIAL_RUNLEVEL4_TARGET, RUNLEVEL_UP }, { "rc5.d", SPECIAL_RUNLEVEL5_TARGET, RUNLEVEL_UP }, -+#ifdef TARGET_SUSE ++#ifdef HAVE_SYSV_COMPAT + /* SUSE style boot.d */ + { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, +#endif diff --git a/Start-ctrl-alt-del.target-irreversibly.patch b/Start-ctrl-alt-del.target-irreversibly.patch new file mode 100644 index 00000000..68a94293 --- /dev/null +++ b/Start-ctrl-alt-del.target-irreversibly.patch @@ -0,0 +1,27 @@ +From f49fd1d57a429d4a05ac86352c017a845f8185b3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 7 May 2013 14:16:53 +0200 +Subject: [PATCH] Start ctrl-alt-del.target irreversibly + +This makes ctrl-alt-del reboots more robust, just like "systemctl +reboot". +--- + src/core/manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index c7f8f20..0508628 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) { + + case SIGINT: + if (m->running_as == SYSTEMD_SYSTEM) { +- manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE); ++ manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY); + break; + } + +-- +1.8.1.4 + diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index 5d5f7b83..e89708a3 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -11,12 +11,33 @@ diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c index cb045a9..51093f2 100644 --- a/src/login/logind-acl.c +++ b/src/login/logind-acl.c -@@ -240,6 +240,9 @@ int devnode_acl_all(struct udev *udev, +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include "logind-acl.h" + #include "util.h" +@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev, goto finish; } -+ devnode_acl("/dev/nvidia0", flush, del, old_uid, add, new_uid); -+ devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid); ++ /* only search for nvidia* if /dev/nvidiactl exists */ ++ if (!devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid)) { ++ char** directory; ++ char **f, *resolved; ++ ++ if (get_files_in_directory ("/dev", &directory)) { ++ STRV_FOREACH(f,directory) ++ if (startswith(*f,"nvidia")) { ++ resolved = strjoin("/dev/", *f, NULL); ++ devnode_acl(resolved, flush, del, old_uid, add, new_uid); ++ free(resolved); ++ } ++ } ++ strv_free(directory); ++ } + finish: if (e) diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch index b184dde6..b33c5589 100644 --- a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -4,16 +4,16 @@ Subject: avoid assertion if invalid address familily is passed to gethostbyaddr_r (bnc#791101) --- - src/nss-myhostname/nss-myhostname.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) + src/nss-myhostname/nss-myhostname.c | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c -index 16ccb3e..884eb99 100644 +index 60e256d..e97d4e5 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c -@@ -383,6 +383,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( - struct address *a; - unsigned n_addresses = 0, n; +@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( + uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; + const char *canonical = NULL, *additional = NULL; + if (af != AF_INET && af != AF_INET6) { + *errnop = EAFNOSUPPORT; @@ -24,15 +24,3 @@ index 16ccb3e..884eb99 100644 if (len != PROTO_ADDRESS_SIZE(af)) { *errnop = EINVAL; *h_errnop = NO_RECOVERY; -@@ -398,11 +404,6 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( - - if (memcmp(addr, LOCALADDRESS_IPV6, 16) == 0) - goto found; -- -- } else { -- *errnop = EAFNOSUPPORT; -- *h_errnop = NO_DATA; -- return NSS_STATUS_UNAVAIL; - } - - ifconf_acquire_addresses(&addresses, &n_addresses); diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch new file mode 100644 index 00000000..007e6010 --- /dev/null +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -0,0 +1,34 @@ +From: Frederic Crozat +Date: Tue, 28 May 2013 15:17:35 +0200 +Subject: ensure shortname is set as hostname (bnc#820213) + +strip hostname so the domain part isn't set as part of the hostname +--- + src/core/hostname-setup.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c +index 0ce683b..1c8e555 100644 +--- a/src/core/hostname-setup.c ++++ b/src/core/hostname-setup.c +@@ -32,7 +32,7 @@ + #include "fileio.h" + + static int read_and_strip_hostname(const char *path, char **hn) { +- char *s; ++ char *s, *domain; + int r; + + assert(path); +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const char *path, char **hn) { + return -ENOENT; + } + ++ /* strip any leftover of a domain name */ ++ if (domain = strchr(s, '.')) { ++ *domain = NULL; ++ } ++ + *hn = s; + return 0; + } diff --git a/ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch b/ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch deleted file mode 100644 index 795980bd..00000000 --- a/ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Frederic Crozat -Date: Mon, 8 Apr 2013 14:51:47 +0200 -Subject: ensure systemd-udevd is started before local-fs-pre for loopback - mount - -ensure udevd is started (and therefore static devices are created) -before mounting (bnc#809820). ---- - units/local-fs-pre.target | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target -index 05fcbd4..7f13907 100644 ---- a/units/local-fs-pre.target -+++ b/units/local-fs-pre.target -@@ -9,4 +9,4 @@ - Description=Local File Systems (Pre) - Documentation=man:systemd.special(7) - RefuseManualStart=yes --After=md.service lvm.service dmraid.service -+After=md.service lvm.service dmraid.service systemd-udevd.service diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch index ccfaf3f0..8b4f879c 100644 --- a/force-lvm-restart-after-cryptsetup-target-is-reached.patch +++ b/force-lvm-restart-after-cryptsetup-target-is-reached.patch @@ -7,7 +7,7 @@ Subject: force lvm restart after cryptsetup target is reached 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index ac0ed58..9b8e229 100644 +index 81b7708..1940985 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -22,6 +22,7 @@ @@ -73,17 +73,17 @@ index ac0ed58..9b8e229 100644 static int create_disk( const char *name, const char *device, -@@ -331,6 +380,7 @@ int main(int argc, char *argv[]) { +@@ -334,6 +383,7 @@ int main(int argc, char *argv[]) { _cleanup_fclose_ FILE *f = NULL; unsigned n = 0; int r = EXIT_SUCCESS; + bool no_crypttab = false; char **i; - _cleanup_strv_free_ char **arg_proc_cmdline_disks_done = NULL; - _cleanup_strv_free_ char **arg_proc_cmdline_disks = NULL; -@@ -360,8 +410,10 @@ int main(int argc, char *argv[]) { - f = fopen("/etc/crypttab", "re"); + if (argc > 1 && argc != 4) { +@@ -361,8 +411,10 @@ int main(int argc, char *argv[]) { + + f = fopen("/etc/crypttab", "re"); if (!f) { - if (errno == ENOENT) + if (errno == ENOENT) { @@ -93,7 +93,7 @@ index ac0ed58..9b8e229 100644 else { r = EXIT_FAILURE; log_error("Failed to open /etc/crypttab: %m"); -@@ -445,5 +497,8 @@ int main(int argc, char *argv[]) { +@@ -464,5 +516,8 @@ next: r = EXIT_FAILURE; } diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch index a547f9f3..075d67d8 100644 --- a/handle-etc-HOSTNAME.patch +++ b/handle-etc-HOSTNAME.patch @@ -9,7 +9,7 @@ Subject: handle /etc/HOSTNAME 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index ac508af..15d206c 100644 +index 8aa1cff..0ce683b 100644 --- a/src/core/hostname-setup.c +++ b/src/core/hostname-setup.c @@ -61,12 +61,24 @@ int hostname_setup(void) { diff --git a/hostname-setup-shortname.patch b/hostname-setup-shortname.patch deleted file mode 100644 index 37f7440e..00000000 --- a/hostname-setup-shortname.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: systemd-202/src/core/hostname-setup.c -=================================================================== ---- systemd-202.orig/src/core/hostname-setup.c -+++ systemd-202/src/core/hostname-setup.c -@@ -32,7 +32,7 @@ - #include "fileio.h" - - static int read_and_strip_hostname(const char *path, char **hn) { -- char *s; -+ char *s, *domain; - int r; - - assert(path); -@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const - return -ENOENT; - } - -+ /* strip any leftover of a domain name */ -+ if (domain = strchr(s, '.')) { -+ *domain = NULL; -+ } -+ - *hn = s; - return 0; - } diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch index 7a75fad5..93f8c8bf 100644 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -4,14 +4,14 @@ Subject: optionally warn if nss-myhostname is called --- configure.ac | 11 +++++++++++ - src/nss-myhostname/nss-myhostname.c | 35 +++++++++++++++++++++++++++++++++++ - 2 files changed, 46 insertions(+) + src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ + 2 files changed, 43 insertions(+) diff --git a/configure.ac b/configure.ac -index 5173783..e58d694 100644 +index e1278e8..06eb98d 100644 --- a/configure.ac +++ b/configure.ac -@@ -714,6 +714,17 @@ if test "x$enable_myhostname" != "xno"; then +@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then fi AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) @@ -30,10 +30,10 @@ index 5173783..e58d694 100644 AC_ARG_WITH(firmware-path, AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c -index 884eb99..dbd9a2d 100644 +index e97d4e5..a2a6de8 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c -@@ -30,6 +30,9 @@ +@@ -29,6 +29,9 @@ #include #include #include @@ -43,7 +43,7 @@ index 884eb99..dbd9a2d 100644 #include "ifconf.h" #include "macro.h" -@@ -44,6 +47,10 @@ +@@ -47,6 +50,10 @@ #define LOCALADDRESS_IPV6 &in6addr_loopback #define LOOPBACK_INTERFACE "lo" @@ -54,40 +54,37 @@ index 884eb99..dbd9a2d 100644 enum nss_status _nss_myhostname_gethostbyname4_r( const char *name, struct gaih_addrtuple **pat, -@@ -115,6 +122,10 @@ enum nss_status _nss_myhostname_gethostbyname4_r( - return NSS_STATUS_NOTFOUND; +@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostbyname4_r( + return NSS_STATUS_NOTFOUND; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + /* If this fails, n_addresses is 0. Which is fine */ + ifconf_acquire_addresses(&addresses, &n_addresses); + +@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostbyname3_r( + local_address_ipv4 = LOCALADDRESS_IPV4; } +#ifdef LOG_NSS_MY_HOSTNAME_WARNING + warn(hn); +#endif -+ - /* If this fails, n_addresses is 0. Which is fine */ - ifconf_acquire_addresses(&addresses, &n_addresses); - -@@ -334,6 +345,10 @@ enum nss_status _nss_myhostname_gethostbyname3_r( - return NSS_STATUS_NOTFOUND; + return fill_in_hostent( + canonical, additional, + af, +@@ -509,6 +522,9 @@ found: + canonical = hn; } +#ifdef LOG_NSS_MY_HOSTNAME_WARNING + warn(hn); +#endif -+ - return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, canonp); - } - -@@ -429,6 +444,10 @@ found: - return NSS_STATUS_UNAVAIL; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif -+ - return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, NULL); - - } -@@ -448,3 +467,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( + return fill_in_hostent( + canonical, additional, + af, +@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( errnop, h_errnop, NULL); } diff --git a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch index e1f7405e..ec213871 100644 --- a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +++ b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch @@ -1,7 +1,6 @@ -From 0d4db3c514f1fe3fe13acb7a34a5a517db9ccb2d Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Fri, 30 Sep 2011 13:55:31 +0000 -Subject: [PATCH] parse /etc/insserv.conf and adds dependencies accordingly +Subject: parse /etc/insserv.conf and adds dependencies accordingly (bnc#721428) --- @@ -9,10 +8,10 @@ Subject: [PATCH] parse /etc/insserv.conf and adds dependencies accordingly 1 file changed, 104 insertions(+) diff --git a/src/core/service.c b/src/core/service.c -index cf0bbe0..471ce8d 100644 +index 3617c24..3c66cdb 100644 --- a/src/core/service.c +++ b/src/core/service.c -@@ -3440,6 +3440,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { +@@ -3443,6 +3443,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { } #ifdef HAVE_SYSV_COMPAT @@ -121,7 +120,7 @@ index cf0bbe0..471ce8d 100644 static int service_enumerate(Manager *m) { char **p; -@@ -3600,6 +3702,8 @@ static int service_enumerate(Manager *m) { +@@ -3603,6 +3705,8 @@ static int service_enumerate(Manager *m) { r = 0; @@ -130,6 +129,3 @@ index cf0bbe0..471ce8d 100644 finish: for (i = 0; i < ELEMENTSOF(rcnd_table); i++) --- -1.8.1.4 - diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 3efed705..2e13936d 100644 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -12,7 +12,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/core/service.c b/src/core/service.c -index 5118b06..c13ff35 100644 +index a8b0d9d..c357b33 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { @@ -68,7 +68,7 @@ index 5118b06..c13ff35 100644 s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2074,7 +2104,7 @@ static void service_enter_running(Service *s, ServiceResult f) { +@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) { if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -78,7 +78,7 @@ index 5118b06..c13ff35 100644 #endif service_set_state(s, SERVICE_RUNNING); diff --git a/src/core/service.h b/src/core/service.h -index d1e53bf..4cd1a79 100644 +index 703d3fa..dc52e8c 100644 --- a/src/core/service.h +++ b/src/core/service.h @@ -176,6 +176,7 @@ struct Service { diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index f57a2748..e5c85f0c 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -11,10 +11,10 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink create mode 100644 units/var-run.mount diff --git a/Makefile.am b/Makefile.am -index e82d092..38309a9 100644 +index 8730f66..b8cf696 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -406,6 +406,12 @@ dist_systemunit_DATA = \ +@@ -409,6 +409,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target @@ -27,7 +27,7 @@ index e82d092..38309a9 100644 nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4018,6 +4024,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service diff --git a/systemctl-does-not-expand-u-so-revert-back-to-I.patch b/systemctl-does-not-expand-u-so-revert-back-to-I.patch new file mode 100644 index 00000000..6502fa49 --- /dev/null +++ b/systemctl-does-not-expand-u-so-revert-back-to-I.patch @@ -0,0 +1,27 @@ +From 9541fe6adff9941e487084c718ff2d46ed2929c6 Mon Sep 17 00:00:00 2001 +From: Auke Kok +Date: Thu, 9 May 2013 09:39:15 -0700 +Subject: [PATCH] systemctl does not expand %u, so revert back to %I + +The description field is only displayed by systemctl, and +it can't expand %u properly (it will always display "root"). +--- + units/user@.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/user@.service.in b/units/user@.service.in +index 3cf1347..ece671d 100644 +--- a/units/user@.service.in ++++ b/units/user@.service.in +@@ -6,7 +6,7 @@ + # (at your option) any later version. + + [Unit] +-Description=User Manager for %u ++Description=User Manager for %I + After=systemd-user-sessions.service + + [Service] +-- +1.8.1.4 + diff --git a/systemd-202.tar.xz b/systemd-202.tar.xz deleted file mode 100644 index a2ff6a2e..00000000 --- a/systemd-202.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c43073252a52eb9f9ab9bd698be0192bcb2175ba5daba6057250083dd64e059 -size 2149860 diff --git a/systemd-204.tar.xz b/systemd-204.tar.xz new file mode 100644 index 00000000..ae11dd5d --- /dev/null +++ b/systemd-204.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b +size 2186264 diff --git a/systemd-mini.changes b/systemd-mini.changes index cb74ecbc..8e060a7a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com + +- Update to release 204: + + systemd-nspawn creates etc/resolv.conf in container if needed. + + systemd-nspawn will store metadata about container in container + cgroup including its root directory. + + cgroup hierarchy has been reworked, all objects are now suffxed + (with .session for user sessions, .user for users, .nspawn for + containers). All cgroup names are now escaped to preven + collision of object names. + + systemctl list-dependencies gained --plain, --reverse, --after + and --before switches. + + systemd-inhibit shows processes name taking inhibitor lock. + + nss-myhostname will now resolve "localhost" implicitly. + + .include is not allowed recursively anymore and only in unit + files. Drop-in files should be favored in most cases. + + systemd-analyze gained "critical-chain" command, to get slowest + chain of units run during boot-up. + + systemd-nspawn@.service has been added to easily run nspawn + container for system services. Just start + "systemd-nspawn@foobar.service" and container from + /var/lib/container/foobar" will be booted. + + systemd-cgls has new --machine parameter to list processes from + one container. + + ConditionSecurity= can now check for apparmor and SMACK. + + /etc/systemd/sleep.conf has been introduced to configure which + kernel operation will be execute when "suspend", "hibernate" or + "hybrid-sleep" is requrested. It allow new kernel "freeze" + state to be used too. (This setting won't have any effect if + pm-utils is installed). + + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape + passed argument if applicable. +- Regenerate some patches for this new release. +- Rename hostname-setup-shortname.patch to + ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git + format-patch friendly. +- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to + /dev/nvidia* (bnc#808319). +- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a + configure option. +- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids + expansion errors. +- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del + should be irreversible for reliability. + +------------------------------------------------------------------- +Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org + +- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash +support has been removed from the kernel. +- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 +- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +only on ARM, patch rejected upstream because is too generic. +- no such define TARGET_SUSE exists but it is used in +Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +use HAVE_SYSV_COMPAT instead. + ------------------------------------------------------------------- Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 628686af..63e1a7ba 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 202 +Version: 204 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -118,7 +118,6 @@ Source1062: systemd-udev-root-symlink Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch # PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called Patch1: optionally-warn-if-nss-myhostname-is-called.patch -Patch2: Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -138,16 +137,12 @@ Patch18: fix-owner-of-var-log-btmp.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE Ensure-debugshell-has-a-correct-value.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available -Patch19: Ensure-debugshell-has-a-correct-value.patch # PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch # PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch -# PATCH-FIX-UPSTREAM ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch bnc#809820 fcrozat@suse.com -- loopback mount should be started after /dev/loop-control is available -Patch26: ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts @@ -156,8 +151,8 @@ Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch -# PATCH-FIX-OPENSUSE hostname-setup-shortname.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: hostname-setup-shortname.patch +# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname +Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -171,6 +166,10 @@ Patch24: handle-etc-HOSTNAME.patch Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors. +Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch +# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. +Patch43: Start-ctrl-alt-del.target-irreversibly.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -372,7 +371,6 @@ cp %{SOURCE7} m4/ #systemd %patch0 -p1 %patch1 -p1 -%patch2 -p1 %patch3 -p1 # don't apply when bootstrapping to not modify configure.in %if ! 0%{?bootstrap} @@ -392,20 +390,22 @@ cp %{SOURCE7} m4/ %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 -%patch26 -p1 %patch27 -p1 %patch37 -p1 +%ifarch %arm %patch38 -p1 +%endif %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 +%patch43 -p1 %build autoreconf -fiv @@ -431,6 +431,7 @@ export V=1 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -771,6 +772,10 @@ rm -rf %{buildroot} %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system diff --git a/systemd.changes b/systemd.changes index cb74ecbc..8e060a7a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com + +- Update to release 204: + + systemd-nspawn creates etc/resolv.conf in container if needed. + + systemd-nspawn will store metadata about container in container + cgroup including its root directory. + + cgroup hierarchy has been reworked, all objects are now suffxed + (with .session for user sessions, .user for users, .nspawn for + containers). All cgroup names are now escaped to preven + collision of object names. + + systemctl list-dependencies gained --plain, --reverse, --after + and --before switches. + + systemd-inhibit shows processes name taking inhibitor lock. + + nss-myhostname will now resolve "localhost" implicitly. + + .include is not allowed recursively anymore and only in unit + files. Drop-in files should be favored in most cases. + + systemd-analyze gained "critical-chain" command, to get slowest + chain of units run during boot-up. + + systemd-nspawn@.service has been added to easily run nspawn + container for system services. Just start + "systemd-nspawn@foobar.service" and container from + /var/lib/container/foobar" will be booted. + + systemd-cgls has new --machine parameter to list processes from + one container. + + ConditionSecurity= can now check for apparmor and SMACK. + + /etc/systemd/sleep.conf has been introduced to configure which + kernel operation will be execute when "suspend", "hibernate" or + "hybrid-sleep" is requrested. It allow new kernel "freeze" + state to be used too. (This setting won't have any effect if + pm-utils is installed). + + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape + passed argument if applicable. +- Regenerate some patches for this new release. +- Rename hostname-setup-shortname.patch to + ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git + format-patch friendly. +- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to + /dev/nvidia* (bnc#808319). +- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a + configure option. +- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids + expansion errors. +- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del + should be irreversible for reliability. + +------------------------------------------------------------------- +Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org + +- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash +support has been removed from the kernel. +- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 +- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +only on ARM, patch rejected upstream because is too generic. +- no such define TARGET_SUSE exists but it is used in +Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +use HAVE_SYSV_COMPAT instead. + ------------------------------------------------------------------- Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 65273b41..ace3191d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 202 +Version: 204 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -113,7 +113,6 @@ Source1062: systemd-udev-root-symlink Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch # PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called Patch1: optionally-warn-if-nss-myhostname-is-called.patch -Patch2: Add-bootsplash-handling-for-password-dialogs.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -133,16 +132,12 @@ Patch18: fix-owner-of-var-log-btmp.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE Ensure-debugshell-has-a-correct-value.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available -Patch19: Ensure-debugshell-has-a-correct-value.patch # PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch # PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch -# PATCH-FIX-UPSTREAM ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch bnc#809820 fcrozat@suse.com -- loopback mount should be started after /dev/loop-control is available -Patch26: ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts @@ -151,8 +146,8 @@ Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch -# PATCH-FIX-OPENSUSE hostname-setup-shortname.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: hostname-setup-shortname.patch +# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname +Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -166,6 +161,10 @@ Patch24: handle-etc-HOSTNAME.patch Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors. +Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch +# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. +Patch43: Start-ctrl-alt-del.target-irreversibly.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -367,7 +366,6 @@ cp %{SOURCE7} m4/ #systemd %patch0 -p1 %patch1 -p1 -%patch2 -p1 %patch3 -p1 # don't apply when bootstrapping to not modify configure.in %if ! 0%{?bootstrap} @@ -387,20 +385,22 @@ cp %{SOURCE7} m4/ %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 -%patch26 -p1 %patch27 -p1 %patch37 -p1 +%ifarch %arm %patch38 -p1 +%endif %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 +%patch43 -p1 %build autoreconf -fiv @@ -426,6 +426,7 @@ export V=1 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -766,6 +767,10 @@ rm -rf %{buildroot} %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system From 5392bf0c447ddad801b11eef100a22394932359dd2cc01b9e6be15be90c19b90 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 14 Jun 2013 14:48:02 +0000 Subject: [PATCH 139/991] Accepting request 178890 from Base:System - Cleanup NumLock setting code (handle-numlock-value-in-etc-sysconfig-keyboard.patch). (forwarded request 178889 from sbrabec) OBS-URL: https://build.opensuse.org/request/show/178890 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=143 --- ...lculate-the-ACL-mask-but-only-if-it-.patch | 87 +++++ ...llow-nuking-of-symlinks-to-removed-u.patch | 36 +++ ...port-alien-child-as-alive-when-it-s-.patch | 29 ++ 1006-udev-always-rename-network.patch | 12 +- 1007-add-msft-compability-rules.patch | 29 ++ ...pport-for-SysV-scripts-for-the-early.patch | 22 +- ...-boot-prefixed-initscript-bnc-746506.patch | 10 +- ...STEMCTL_OPTIONS-environment-variable.patch | 10 +- ...lock-value-in-etc-sysconfig-keyboard.patch | 301 +++++++++--------- ...vice-with-detected-pid-as-RemainAfte.patch | 10 +- ...ndle-boot-sysctl.conf-kernel_release.patch | 21 +- systemd-mini.changes | 34 ++ systemd-mini.spec | 35 +- systemd.changes | 34 ++ systemd.spec | 35 +- 15 files changed, 485 insertions(+), 220 deletions(-) create mode 100644 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch create mode 100644 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch create mode 100644 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch create mode 100644 1007-add-msft-compability-rules.patch diff --git a/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch b/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch new file mode 100644 index 00000000..cb24f70e --- /dev/null +++ b/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch @@ -0,0 +1,87 @@ +From 7f20c71497ec7c78c6d2572a0d7075f78b14548a Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 28 May 2013 20:45:34 +0200 +Subject: [PATCH 4/8] journald: DO recalculate the ACL mask, but only if it + doesn't exist + +Since 11ec7ce, journald isn't setting the ACLs properly anymore if +the files had no ACLs to begin with: acl_set_fd fails with EINVAL. + +An ACL with ACL_USER or ACL_GROUP entries but no ACL_MASK entry is +invalid, so make sure a mask exists before trying to set the ACL. +--- + src/journal/journald-server.c | 6 ++++-- + src/shared/acl-util.c | 28 ++++++++++++++++++++++++++++ + src/shared/acl-util.h | 1 + + 3 files changed, 33 insertions(+), 2 deletions(-) + +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index cc52b8a..01f23ce 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -227,9 +227,11 @@ void server_fix_perms(Server *s, JournalFile *f, uid_t uid) { + } + } + +- /* We do not recalculate the mask here, so that the fchmod() mask above stays intact. */ ++ /* We do not recalculate the mask unconditionally here, ++ * so that the fchmod() mask above stays intact. */ + if (acl_get_permset(entry, &permset) < 0 || +- acl_add_perm(permset, ACL_READ) < 0) { ++ acl_add_perm(permset, ACL_READ) < 0 || ++ calc_acl_mask_if_needed(&acl) < 0) { + log_warning("Failed to patch ACL on %s, ignoring: %m", f->path); + goto finish; + } +diff --git a/src/shared/acl-util.c b/src/shared/acl-util.c +index 48bb12f..fb04e49 100644 +--- a/src/shared/acl-util.c ++++ b/src/shared/acl-util.c +@@ -69,6 +69,34 @@ int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry) { + return 0; + } + ++int calc_acl_mask_if_needed(acl_t *acl_p) { ++ acl_entry_t i; ++ int found; ++ ++ assert(acl_p); ++ ++ for (found = acl_get_entry(*acl_p, ACL_FIRST_ENTRY, &i); ++ found > 0; ++ found = acl_get_entry(*acl_p, ACL_NEXT_ENTRY, &i)) { ++ ++ acl_tag_t tag; ++ ++ if (acl_get_tag_type(i, &tag) < 0) ++ return -errno; ++ ++ if (tag == ACL_MASK) ++ return 0; ++ } ++ ++ if (found < 0) ++ return -errno; ++ ++ if (acl_calc_mask(acl_p) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + int search_acl_groups(char*** dst, const char* path, bool* belong) { + acl_t acl; + +diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h +index 23090d9..36ef490 100644 +--- a/src/shared/acl-util.h ++++ b/src/shared/acl-util.h +@@ -24,4 +24,5 @@ + #include + + 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.1.4 + diff --git a/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch b/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch new file mode 100644 index 00000000..4c39c957 --- /dev/null +++ b/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch @@ -0,0 +1,36 @@ +From 3b1680e04cb0ff0e4cf180dbacd067f1f99316a2 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 6/8] 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; + +-- +1.8.1.4 + 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 new file mode 100644 index 00000000..c99f2428 --- /dev/null +++ b/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch @@ -0,0 +1,29 @@ +From 3608595751f62bbc6d37eb78b746ab6fecfa2d45 Mon Sep 17 00:00:00 2001 +From: Ross Lagerwall +Date: Sun, 9 Jun 2013 17:28:44 +0100 +Subject: [PATCH 8/8] service: don't report alien child as alive when it's not + +When a sigchld is received from an alien child, main_pid is set to +0 then service_enter_running calls main_pid_good to check if the +child is running. This incorrectly returned true because +kill(main_pid, 0) would return >= 0. + +This fixes an error where a service would die and the cgroup would +become empty but the service would still report as active (running). +--- + src/core/service.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-204/src/core/service.c +=================================================================== +--- systemd-204.orig/src/core/service.c ++++ systemd-204/src/core/service.c +@@ -1933,7 +1933,7 @@ static int main_pid_good(Service *s) { + + /* If it's an alien child let's check if it is still + * alive ... */ +- if (s->main_pid_alien) ++ if (s->main_pid_alien && s->main_pid > 0) + return kill(s->main_pid, 0) >= 0 || errno != ESRCH; + + /* .. otherwise assume we'll get a SIGCHLD for it, diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index d6d56edd..d1c61d05 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -8,11 +8,11 @@ udev: ensure that the network interfaces are renamed even if they exist src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) -diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c -index 3db2cb7..3ee9039 100644 ---- a/src/udev/udev-event.c -+++ b/src/udev/udev-event.c -@@ -750,6 +750,7 @@ static int rename_netif(struct udev_event *event) +Index: systemd-204/src/udev/udev-event.c +=================================================================== +--- systemd-204.orig/src/udev/udev-event.c ++++ systemd-204/src/udev/udev-event.c +@@ -750,6 +750,7 @@ static int rename_netif(struct udev_even struct udev_device *dev = event->dev; int sk; struct ifreq ifr; @@ -20,7 +20,7 @@ index 3db2cb7..3ee9039 100644 int err; log_debug("changing net interface name from '%s' to '%s'\n", -@@ -766,12 +767,51 @@ static int rename_netif(struct udev_event *event) +@@ -766,12 +767,51 @@ static int rename_netif(struct udev_even strscpy(ifr.ifr_name, IFNAMSIZ, udev_device_get_sysname(dev)); strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); err = ioctl(sk, SIOCSIFNAME, &ifr); diff --git a/1007-add-msft-compability-rules.patch b/1007-add-msft-compability-rules.patch new file mode 100644 index 00000000..d24b7694 --- /dev/null +++ b/1007-add-msft-compability-rules.patch @@ -0,0 +1,29 @@ +Index: systemd-204/Makefile.am +=================================================================== +--- systemd-204.orig/Makefile.am ++++ systemd-204/Makefile.am +@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \ + rules/73-seat-numlock.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/61-msft.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +Index: systemd-204/rules/61-msft.rules +=================================================================== +--- /dev/null ++++ systemd-204/rules/61-msft.rules +@@ -0,0 +1,9 @@ ++# MSFT compability rules ++ACTION!="add|change", GOTO="msft_end" ++ ++ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" ++KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode", ENV{ID_BUS}="scsi" ++KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}" ++KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}-part%n" ++ ++LABEL="msft_end" diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch index eeb004a2..de856e1f 100644 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -10,10 +10,10 @@ Conflicts: src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) -diff --git a/src/core/service.c b/src/core/service.c -index c13ff35..0b39ec6 100644 ---- a/src/core/service.c -+++ b/src/core/service.c +Index: systemd-204/src/core/service.c +=================================================================== +--- systemd-204.orig/src/core/service.c ++++ systemd-204/src/core/service.c @@ -51,7 +51,8 @@ typedef enum RunlevelType { @@ -55,7 +55,7 @@ index c13ff35..0b39ec6 100644 #endif static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -332,6 +345,9 @@ static char *sysv_translate_name(const char *name) { +@@ -332,6 +345,9 @@ static char *sysv_translate_name(const c if (endswith(name, ".sh")) /* Drop .sh suffix */ strcpy(stpcpy(r, name) - 3, ".service"); @@ -65,7 +65,7 @@ index c13ff35..0b39ec6 100644 else /* Normal init script name */ strcpy(stpcpy(r, name), ".service"); -@@ -934,6 +950,13 @@ static int service_load_sysv_path(Service *s, const char *path) { +@@ -934,6 +950,13 @@ static int service_load_sysv_path(Servic if ((r = sysv_exec_commands(s, supports_reload)) < 0) goto finish; @@ -79,7 +79,7 @@ index c13ff35..0b39ec6 100644 if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { /* If there a runlevels configured for this service -@@ -1015,6 +1038,9 @@ static int service_load_sysv_name(Service *s, const char *name) { +@@ -1015,6 +1038,9 @@ static int service_load_sysv_name(Servic if (endswith(name, ".sh.service")) return -ENOENT; @@ -89,7 +89,7 @@ index c13ff35..0b39ec6 100644 STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { char *path; int r; -@@ -1035,6 +1061,18 @@ static int service_load_sysv_name(Service *s, const char *name) { +@@ -1035,6 +1061,18 @@ static int service_load_sysv_name(Servic } free(path); @@ -108,7 +108,7 @@ index c13ff35..0b39ec6 100644 if (r < 0) return r; -@@ -3661,7 +3699,7 @@ static int service_enumerate(Manager *m) { +@@ -3667,7 +3705,7 @@ static int service_enumerate(Manager *m) if (de->d_name[0] == 'S') { @@ -117,7 +117,7 @@ index c13ff35..0b39ec6 100644 SERVICE(service)->sysv_start_priority_from_rcnd = MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); -@@ -3678,7 +3716,8 @@ static int service_enumerate(Manager *m) { +@@ -3684,7 +3722,8 @@ static int service_enumerate(Manager *m) goto finish; } else if (de->d_name[0] == 'K' && @@ -127,7 +127,7 @@ index c13ff35..0b39ec6 100644 r = set_ensure_allocated(&shutdown_services, trivial_hash_func, trivial_compare_func); -@@ -3718,7 +3757,9 @@ static int service_enumerate(Manager *m) { +@@ -3724,7 +3763,9 @@ static int service_enumerate(Manager *m) * runlevels we assume the stop jobs will be implicitly added * by the core logic. Also, we don't really distinguish here * between the runlevels 0 and 6 and just add them to the diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index 189576cc..77a2e6b7 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -6,11 +6,11 @@ Subject: fix support for boot prefixed initscript (bnc#746506) src/systemctl/systemctl.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index c2b1749..84ce87c 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -4060,8 +4060,28 @@ static int enable_sysv_units(char **args) { +Index: systemd-204/src/systemctl/systemctl.c +=================================================================== +--- systemd-204.orig/src/systemctl/systemctl.c ++++ systemd-204/src/systemctl/systemctl.c +@@ -4082,8 +4082,28 @@ static int enable_sysv_units(char **args p[strlen(p) - sizeof(".service") + 1] = 0; found_sysv = access(p, F_OK) >= 0; diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index f139b0fb..d66c24fc 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -7,11 +7,11 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 84ce87c..cceafc9 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -5926,6 +5926,28 @@ int main(int argc, char*argv[]) { +Index: systemd-204/src/systemctl/systemctl.c +=================================================================== +--- systemd-204.orig/src/systemctl/systemctl.c ++++ systemd-204/src/systemctl/systemctl.c +@@ -5974,6 +5974,28 @@ int main(int argc, char*argv[]) { log_parse_environment(); log_open(); diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 00c10673..67fe0155 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -1,24 +1,110 @@ -From: Stanislav Brabec -Date: Fri, 20 Apr 2012 17:16:37 +0200 -Subject: handle numlock value in /etc/sysconfig/keyboard +Set NumLock according to /etc/sysconfig/keyboard. -(bnc#746595) ---- - Makefile.am | 13 +++++++++++ - configure.ac | 5 +++++ - rules/73-seat-numlock.rules | 8 +++++++ - src/login/numlock-on.c | 37 ++++++++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 38 +++++++++++++++++++++++++++++++++ - units/systemd-vconsole-setup.service.in | 2 +- - 6 files changed, 102 insertions(+), 1 deletion(-) - create mode 100644 rules/73-seat-numlock.rules - create mode 100644 src/login/numlock-on.c +https://bugzilla.novell.com/show_bug.cgi?id=746595 -diff --git a/Makefile.am b/Makefile.am -index d594a3d..e82d092 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2205,6 +2205,19 @@ dist_udevrules_DATA += \ +Authors: +Stanislav Brabec +Cristian Rodríguez + +Index: systemd-204/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-204.orig/src/vconsole/vconsole-setup.c ++++ systemd-204/src/vconsole/vconsole-setup.c +@@ -42,6 +42,10 @@ + #include "fileio.h" + #include "strv.h" + ++#define BIOS_DATA_AREA 0x400 ++#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 ++#define BDA_KSF4_NUMLOCK_MASK 0x02 ++ + static bool is_vconsole(int fd) { + unsigned char data[1]; + +@@ -321,12 +325,14 @@ int main(int argc, char **argv) { + char *vc_kbd_delay = NULL; + char *vc_kbd_rate = NULL; + char *vc_kbd_disable_caps_lock = NULL; ++ char *vc_kbd_numlock = NULL; + char *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; + #endif + int fd = -1; + bool utf8; + bool disable_capslock = false; ++ bool numlock = false; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -389,6 +395,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -403,6 +410,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#if defined(__i386__) || defined(__x86_64__) ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; ++ ++ fdmem = open ("/dev/mem", O_RDONLY); ++ ++ if(fdmem < 0) { ++ r = EXIT_FAILURE; ++ log_error("Failed to open /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if(lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ r = EXIT_FAILURE; ++ log_error("Failed to seek /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if(read (fdmem, &c, sizeof(char)) == -1) { ++ r = EXIT_FAILURE; ++ log_error("Failed to read /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } else ++#endif ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); + + #endif + } +@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + finish: + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + + #ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) +@@ -444,6 +485,7 @@ finish: + free(vc_font); + free(vc_font_map); + free(vc_font_unimap); ++ free(vc_kbd_numlock); + #ifdef HAVE_SYSV_COMPAT + free(vc_kbd_delay); + free(vc_kbd_rate); +Index: systemd-204/Makefile.am +=================================================================== +--- systemd-204.orig/Makefile.am ++++ systemd-204/Makefile.am +@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -38,29 +124,12 @@ index d594a3d..e82d092 100644 if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -diff --git a/configure.ac b/configure.ac -index e58d694..222ed22 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -789,6 +789,11 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"]) - - # ------------------------------------------------------------------------------ - -+AC_PATH_PROG([HWINFO], [hwinfo], [/usr/sbin/hwinfo], [/sbin:/usr/sbin:/usr/bin:/bin]) -+AC_DEFINE_UNQUOTED([HWINFO], ["${HWINFO}"], [Path to hwinfo binary. (SUSE)]) -+AC_PATH_PROG([SETLEDS], [setleds], [/bin/setleds], [/sbin:/usr/sbin:/usr/bin:/bin]) -+AC_DEFINE_UNQUOTED([SETLEDS], ["${SETLEDS}"], [Path to setleds binary.]) -+ - # Location of the init scripts as mandated by LSB - SYSTEM_SYSVINIT_PATH=/etc/init.d - SYSTEM_SYSVRCND_PATH=/etc/rc.d -diff --git a/rules/73-seat-numlock.rules b/rules/73-seat-numlock.rules -new file mode 100644 -index 0000000..e0061ed +Index: systemd-204/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ b/rules/73-seat-numlock.rules ++++ systemd-204/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ -+# This file is part of systemd. ++# This file is part of SUSE customization of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by @@ -68,130 +137,50 @@ index 0000000..e0061ed +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -diff --git a/src/login/numlock-on.c b/src/login/numlock-on.c -new file mode 100644 -index 0000000..77a8368 +Index: systemd-204/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ b/src/login/numlock-on.c -@@ -0,0 +1,37 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++++ systemd-204/src/login/numlock-on.c +@@ -0,0 +1,34 @@ ++/* ++ * numlock-on.c: Turn numlock-on ++ * ++ * This file may be freely copied under the terms of the GNU General ++ * Public License (GPL), version 2, or at your option any later ++ * version. + -+/*** -+ This file is part of systemd. ++ * Copyright (C) 2013 Stanislav Brabec, SUSE ++ * ++ * based on setleds.c, which is ++ * Copyright (C) 1994-1999 Andries E. Brouwer ++ */ + -+ Copyright 2012 Stanislav Brabec ++#include ++#include ++#include ++#include + -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. ++int ++main(int argc, char **argv) { ++ char flags; + -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. ++ if (ioctl(0, KDGKBLED, &flags)) { ++ perror("KDGKBLED"); ++ exit(1); ++ } + -+ You should have received a copy of the GNU General Public License -+ along with systemd; If not, see . -+***/ ++ if (ioctl(0, KDSKBLED, flags | LED_NUM | (LED_NUM << 4))) { ++ perror("KDSKBLED"); ++ exit(1); ++ } + -+#include "config.h" -+#include -+#include -+#include -+ -+int main (int argc, char *argv[]) { -+ static const char *args[] = { SETLEDS, "-D", "+num", NULL }; -+ -+ if (argc != 2) -+ return EX_USAGE; -+ close (STDIN_FILENO); -+ if (open (argv[1], O_RDONLY) != STDIN_FILENO) -+ return EX_IOERR; -+ /* add cast to prevent warning caused by -Wwrite-strings */ -+ return execv(args[0], (char * const*) args); ++ exit(0); +} -diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c -index 384f936..e1f8868 100644 ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c -@@ -321,12 +321,14 @@ int main(int argc, char **argv) { - char *vc_kbd_delay = NULL; - char *vc_kbd_rate = NULL; - char *vc_kbd_disable_caps_lock = NULL; -+ char *vc_kbd_numlock = NULL; - char *vc_compose_table = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; - #endif - int fd = -1; - bool utf8; - bool disable_capslock = false; -+ bool numlock = false; - pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -389,6 +391,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +406,37 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+ if (vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "BIOS") == 0) { -+ int hwinfo_fd[2]; -+ pid_t hwinfo_pid; -+ -+ pipe(hwinfo_fd); -+ if ((hwinfo_pid = fork()) < 0) { -+ log_error("Failed to fork: %m"); -+ _exit(EXIT_FAILURE); -+ } else if (hwinfo_pid == 0) { -+ const char *args[3]; -+ int i = 0; -+ args[i++] = HWINFO; -+ args[i++] = "--bios"; -+ args[i++] = NULL; -+ close(hwinfo_fd[0]); -+ fclose(stdout); -+ dup2(hwinfo_fd[1], STDOUT_FILENO); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } else { -+ char line[17]; -+ FILE *hwinfo_file = fdopen(hwinfo_fd[0], "r"); -+ close(hwinfo_fd[1]); -+ while (fgets(line, 17, hwinfo_file)) -+ if (strstr(line, "Num Lock: on")) -+ numlock = true; -+ close(hwinfo_fd[0]); -+ fclose(hwinfo_file); -+ } -+ } else -+ numlock = vc_kbd_numlock && strcasecmp(vc_kbd_numlock, "YES") == 0; - - #endif - } -@@ -425,6 +459,10 @@ int main(int argc, char **argv) { - finish: - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ if (numlock) -+ close(open("/run/numlock-on", O_WRONLY|O_CREAT, 0644)); -+ else -+ unlink("/run/numlock-on"); - - #ifdef HAVE_SYSV_COMPAT - if (compose_table_pid > 0) -diff --git a/units/systemd-vconsole-setup.service.in b/units/systemd-vconsole-setup.service.in -index 18faa63..44ebbd0 100644 ---- a/units/systemd-vconsole-setup.service.in -+++ b/units/systemd-vconsole-setup.service.in -@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) +Index: systemd-204/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-204.orig/units/systemd-vconsole-setup.service.in ++++ systemd-204/units/systemd-vconsole-setup.service.in +@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch index 91cd2eab..fb00b6d8 100644 --- a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -12,11 +12,11 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/core/service.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/src/core/service.c b/src/core/service.c -index 08fc97c..5118b06 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2072,8 +2072,13 @@ static void service_enter_running(Service *s, ServiceResult f) { +Index: systemd-204/src/core/service.c +=================================================================== +--- systemd-204.orig/src/core/service.c ++++ systemd-204/src/core/service.c +@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 9213a508..3ca7dc2a 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -10,10 +10,10 @@ configuration), needed by openSUSE (bnc#809420). units/systemd-sysctl.service.in | 1 + 2 files changed, 9 insertions(+) -diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c -index db18dd9..aa10b79 100644 ---- a/src/sysctl/sysctl.c -+++ b/src/sysctl/sysctl.c +Index: systemd-204/src/sysctl/sysctl.c +=================================================================== +--- systemd-204.orig/src/sysctl/sysctl.c ++++ systemd-204/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -36,11 +36,11 @@ index db18dd9..aa10b79 100644 r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { -diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in -index 45e1ceb..61d13c9 100644 ---- a/units/systemd-sysctl.service.in -+++ b/units/systemd-sysctl.service.in -@@ -19,6 +19,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sysctl.d +Index: systemd-204/units/systemd-sysctl.service.in +=================================================================== +--- systemd-204.orig/units/systemd-sysctl.service.in ++++ systemd-204/units/systemd-sysctl.service.in +@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d ConditionDirectoryNotEmpty=|/run/sysctl.d @@ -48,6 +48,3 @@ index 45e1ceb..61d13c9 100644 [Service] Type=oneshot --- -1.8.1.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 8e060a7a..9d15ea4f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz + +- Cleanup NumLock setting code + (handle-numlock-value-in-etc-sysconfig-keyboard.patch). + +------------------------------------------------------------------- +Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com + +- Only apply 1007-add-msft-compability-rules.patch when not + building systemd-mini. + +------------------------------------------------------------------- +Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com + +- Add udev MSFT compability rules (bnc#805059). + add: 1007-add-msft-compability-rules.patch +- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). +- Clean-up spec file, put udev patches after systemd patches. +- Rebase patches so they would apply nicely. + +------------------------------------------------------------------- +Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org + +- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch + fixes : + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + ignoring: Invalid argument +- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch + systemctl disable should remove dangling symlinks. +- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch + alien childs are reported as alive when they are really dead. + ------------------------------------------------------------------- Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 63e1a7ba..48a2ed0b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -170,6 +170,12 @@ Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch # PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. Patch43: Start-ctrl-alt-del.target-irreversibly.patch +# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument +Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch +# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks +Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch +# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. +Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -184,6 +190,8 @@ Patch1004: 1004-fix-devname-prefix.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch Patch1006: 1006-udev-always-rename-network.patch +# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch +Patch1007: 1007-add-msft-compability-rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -226,7 +234,7 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd +PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq Requires(post): lib%{udevpkgname}%{udev_major} Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 @@ -360,15 +368,7 @@ This package marks the installation to not use syslog but only the journal. cp %{SOURCE7} m4/ %endif -#udev -%patch1001 -p1 -%patch1002 -p1 -%patch1003 -p1 -%patch1004 -p1 -%patch1005 -p1 -%patch1006 -p1 - -#systemd +# systemd patches %patch0 -p1 %patch1 -p1 %patch3 -p1 @@ -406,6 +406,21 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 + +# udev patches +%patch1001 -p1 +%patch1002 -p1 +%patch1003 -p1 +%patch1004 -p1 +%patch1005 -p1 +%patch1006 -p1 +# don't apply when bootstrapping to not modify Makefile.am +%if ! 0%{?bootstrap} +%patch1007 -p1 +%endif %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 8e060a7a..9d15ea4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz + +- Cleanup NumLock setting code + (handle-numlock-value-in-etc-sysconfig-keyboard.patch). + +------------------------------------------------------------------- +Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com + +- Only apply 1007-add-msft-compability-rules.patch when not + building systemd-mini. + +------------------------------------------------------------------- +Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com + +- Add udev MSFT compability rules (bnc#805059). + add: 1007-add-msft-compability-rules.patch +- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). +- Clean-up spec file, put udev patches after systemd patches. +- Rebase patches so they would apply nicely. + +------------------------------------------------------------------- +Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org + +- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch + fixes : + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + ignoring: Invalid argument +- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch + systemctl disable should remove dangling symlinks. +- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch + alien childs are reported as alive when they are really dead. + ------------------------------------------------------------------- Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index ace3191d..d4413e2b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -165,6 +165,12 @@ Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch # PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. Patch43: Start-ctrl-alt-del.target-irreversibly.patch +# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument +Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch +# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks +Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch +# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. +Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -179,6 +185,8 @@ Patch1004: 1004-fix-devname-prefix.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch Patch1006: 1006-udev-always-rename-network.patch +# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch +Patch1007: 1007-add-msft-compability-rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -221,7 +229,7 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd +PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq Requires(post): lib%{udevpkgname}%{udev_major} Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 @@ -355,15 +363,7 @@ This package marks the installation to not use syslog but only the journal. cp %{SOURCE7} m4/ %endif -#udev -%patch1001 -p1 -%patch1002 -p1 -%patch1003 -p1 -%patch1004 -p1 -%patch1005 -p1 -%patch1006 -p1 - -#systemd +# systemd patches %patch0 -p1 %patch1 -p1 %patch3 -p1 @@ -401,6 +401,21 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 + +# udev patches +%patch1001 -p1 +%patch1002 -p1 +%patch1003 -p1 +%patch1004 -p1 +%patch1005 -p1 +%patch1006 -p1 +# don't apply when bootstrapping to not modify Makefile.am +%if ! 0%{?bootstrap} +%patch1007 -p1 +%endif %build autoreconf -fiv From d1a9680b7c9b960431effdd189487bbd3de2ed97c8e92fb9596436e2c4969fd2 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 18 Jun 2013 13:36:22 +0000 Subject: [PATCH 140/991] Accepting request 179380 from Base:System - 0001-journal-letting-interleaved-seqnums-go.patch and 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 - 0001-journal-letting-interleaved-seqnums-go.patch and 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 (forwarded request 179367 from elvigia) (forwarded request 179368 from elvigia) OBS-URL: https://build.opensuse.org/request/show/179380 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=144 --- ...urnal-letting-interleaved-seqnums-go.patch | 74 +++++++++++ ...-last-direction-of-search-and-keep-o.patch | 122 ++++++++++++++++++ systemd-mini.changes | 14 ++ systemd-mini.spec | 12 +- systemd.changes | 14 ++ systemd.spec | 12 +- 6 files changed, 240 insertions(+), 8 deletions(-) create mode 100644 0001-journal-letting-interleaved-seqnums-go.patch create mode 100644 0002-journal-remember-last-direction-of-search-and-keep-o.patch diff --git a/0001-journal-letting-interleaved-seqnums-go.patch b/0001-journal-letting-interleaved-seqnums-go.patch new file mode 100644 index 00000000..a3c6054a --- /dev/null +++ b/0001-journal-letting-interleaved-seqnums-go.patch @@ -0,0 +1,74 @@ +From 53113dc8254cae9a27e321e539d2d876677e61b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 7 Jun 2013 22:01:03 -0400 +Subject: [PATCH] journal: letting (interleaved) seqnums go + +In the following scenario: + server creates system.journal + server creates user-1000.journal +both journals share the same seqnum_id. +Then + server writes to user-1000.journal first, + and server writes to system.journal a bit later, +and everything is fine. +The server then terminates (crash, reboot, rsyslog testing, +whatever), and user-1000.journal has entries which end with +a lower seqnum than system.journal. Now + server is restarted + server opens user-1000.journal and writes entries to it... +BAM! duplicate seqnums for the same seqnum_id. + +Now, we usually don't see that happen, because system.journal +is closed last, and opened first. Since usually at least one +message is written during boot and lands in the system.journal, +the seqnum is initialized from it, and is set to a number higher +than than anything found in user journals. Nevertheless, if +system.journal is corrupted and is rotated, it can happen that +an entry is written to the user journal with a seqnum that is +a duplicate with an entry found in the corrupted system.journal~. +When browsing the journal, journalctl can fall into a loop +where it tries to follow the seqnums, and tries to go the +next location by seqnum, and is transported back in time to +to the older duplicate seqnum. There is not way to find +out the maximum seqnum used in a multiple files, without +actually looking at all of them. But we don't want to do +that because it would be slow, and actually it isn't really +possible, because a file might e.g. be temporarily unaccessible. + +Fix the problem by using different seqnum series for user +journals. Using the same seqnum series for rotated journals +is still fine, because we know that nothing will write +to the rotated journal anymore. + +Likely related: +https://bugs.freedesktop.org/show_bug.cgi?id=64566 +https://bugs.freedesktop.org/show_bug.cgi?id=59856 +https://bugs.freedesktop.org/show_bug.cgi?id=64296 +https://bugs.archlinux.org/task/35581 +https://bugzilla.novell.com/show_bug.cgi?id=817778 + +Possibly related: +https://bugs.freedesktop.org/show_bug.cgi?id=64293 + +Conflicts: + src/journal/journald-server.c +--- + src/journal/journald-server.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index cc52b8a..cde63c8 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -280,7 +280,7 @@ static JournalFile* find_journal(Server *s, uid_t uid) { + journal_file_close(f); + } + +- r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, s->system_journal, &f); ++ r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &f); + free(p); + + if (r < 0) +-- +1.8.2.1 + diff --git a/0002-journal-remember-last-direction-of-search-and-keep-o.patch b/0002-journal-remember-last-direction-of-search-and-keep-o.patch new file mode 100644 index 00000000..b710d55c --- /dev/null +++ b/0002-journal-remember-last-direction-of-search-and-keep-o.patch @@ -0,0 +1,122 @@ +From 87011c25d96e9fbcd8a465ba758fa037c7d08203 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Jun 2013 22:28:05 -0400 +Subject: [PATCH 01/13] journal: remember last direction of search and keep + offset cache + +The fields in JournalFile are moved around to avoid wasting +7 bytes because of alignment. +--- + TODO | 3 --- + src/journal/journal-file.h | 18 +++++++++++------- + src/journal/sd-journal.c | 11 +++++------ + 3 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/TODO b/TODO +index 0dd19a0..1dc585c 100644 +--- a/TODO ++++ b/TODO +@@ -77,9 +77,6 @@ Features: + + * investigate endianess issues of UUID vs. GUID + +-* see if we can fix https://bugs.freedesktop.org/show_bug.cgi?id=63672 +- without dropping the location cache entirely. +- + * dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we + should be able to safely try another attempt when the bus call LoadUnit() is invoked. + +diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h +index 7b1cd42..5cc2c2d 100644 +--- a/src/journal/journal-file.h ++++ b/src/journal/journal-file.h +@@ -42,10 +42,14 @@ typedef struct JournalMetrics { + uint64_t keep_free; + } JournalMetrics; + ++typedef enum direction { ++ DIRECTION_UP, ++ DIRECTION_DOWN ++} direction_t; ++ + typedef struct JournalFile { + int fd; +- char *path; +- struct stat last_stat; ++ + mode_t mode; + + int flags; +@@ -56,6 +60,11 @@ typedef struct JournalFile { + + bool tail_entry_monotonic_valid; + ++ direction_t last_direction; ++ ++ char *path; ++ struct stat last_stat; ++ + Header *header; + HashItem *data_hash_table; + HashItem *field_hash_table; +@@ -90,11 +99,6 @@ typedef struct JournalFile { + #endif + } JournalFile; + +-typedef enum direction { +- DIRECTION_UP, +- DIRECTION_DOWN +-} direction_t; +- + int journal_file_open( + const char *fname, + int flags, +diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c +index 3aa9ed4..4c4cc2d 100644 +--- a/src/journal/sd-journal.c ++++ b/src/journal/sd-journal.c +@@ -102,7 +102,8 @@ static void init_location(Location *l, LocationType type, JournalFile *f, Object + l->seqnum_set = l->realtime_set = l->monotonic_set = l->xor_hash_set = true; + } + +-static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, uint64_t offset) { ++static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, ++ direction_t direction, uint64_t offset) { + assert(j); + assert(type == LOCATION_DISCRETE || type == LOCATION_SEEK); + assert(f); +@@ -110,12 +111,10 @@ static void set_location(sd_journal *j, LocationType type, JournalFile *f, Objec + + init_location(&j->current_location, type, f, o); + +- if (j->current_file) +- j->current_file->current_offset = 0; +- + j->current_file = f; + j->current_field = 0; + ++ f->last_direction = direction; + f->current_offset = offset; + } + +@@ -811,7 +810,7 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc + assert(j); + assert(f); + +- if (f->current_offset > 0) { ++ if (f->last_direction == direction && f->current_offset > 0) { + cp = f->current_offset; + + r = journal_file_move_to_object(f, OBJECT_ENTRY, cp, &c); +@@ -908,7 +907,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { + if (r < 0) + return r; + +- set_location(j, LOCATION_DISCRETE, new_file, o, new_offset); ++ set_location(j, LOCATION_DISCRETE, new_file, o, direction, new_offset); + + return 1; + } +-- +1.8.2.1 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 9d15ea4f..11123c97 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org + +- 0001-journal-letting-interleaved-seqnums-go.patch and + 0002-journal-remember-last-direction-of-search-and-keep-o.patch + fix possible infinite loops in the journal code, related to + bnc #817778 + +------------------------------------------------------------------- +Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de + +- Explicitly list libattr-devel as BuildRequires +- More robust make install call. Remove redundant %clean section. + ------------------------------------------------------------------- Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz diff --git a/systemd-mini.spec b/systemd-mini.spec index 48a2ed0b..d1e49afe 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,6 +49,7 @@ BuildRequires: gtk-doc %endif BuildRequires: intltool BuildRequires: libacl-devel +BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libsepol-devel BuildRequires: libtool @@ -176,6 +177,10 @@ Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch # PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch +# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops +Patch47: 0001-journal-letting-interleaved-seqnums-go.patch +# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops +Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -409,6 +414,8 @@ cp %{SOURCE7} m4/ %patch44 -p1 %patch45 -p1 %patch46 -p1 +%patch47 -p1 +%patch48 -p1 # udev patches %patch1001 -p1 @@ -451,7 +458,7 @@ export V=1 make %{?_smp_mflags} %install -%makeinstall +make install DESTDIR="%buildroot" # move to %{_lib} %if ! 0%{?bootstrap} @@ -749,9 +756,6 @@ fi %endif -%clean -rm -rf %{buildroot} - %files %defattr(-,root,root) /bin/systemd diff --git a/systemd.changes b/systemd.changes index 9d15ea4f..11123c97 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org + +- 0001-journal-letting-interleaved-seqnums-go.patch and + 0002-journal-remember-last-direction-of-search-and-keep-o.patch + fix possible infinite loops in the journal code, related to + bnc #817778 + +------------------------------------------------------------------- +Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de + +- Explicitly list libattr-devel as BuildRequires +- More robust make install call. Remove redundant %clean section. + ------------------------------------------------------------------- Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz diff --git a/systemd.spec b/systemd.spec index d4413e2b..0c475aa2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -44,6 +44,7 @@ BuildRequires: gtk-doc %endif BuildRequires: intltool BuildRequires: libacl-devel +BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libsepol-devel BuildRequires: libtool @@ -171,6 +172,10 @@ Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch # PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch +# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops +Patch47: 0001-journal-letting-interleaved-seqnums-go.patch +# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops +Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -404,6 +409,8 @@ cp %{SOURCE7} m4/ %patch44 -p1 %patch45 -p1 %patch46 -p1 +%patch47 -p1 +%patch48 -p1 # udev patches %patch1001 -p1 @@ -446,7 +453,7 @@ export V=1 make %{?_smp_mflags} %install -%makeinstall +make install DESTDIR="%buildroot" # move to %{_lib} %if ! 0%{?bootstrap} @@ -744,9 +751,6 @@ fi %endif -%clean -rm -rf %{buildroot} - %files %defattr(-,root,root) /bin/systemd From 2d6394d7ee33bd988e256792c3efa900ab14be8577c3bbb73be4e2fc5ccc5575 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 20 Jun 2013 13:00:58 +0000 Subject: [PATCH 141/991] Accepting request 179651 from Base:System We talked about using %patch, but in that case I would need a tarball of systemd in rpm-macros package which depends on xz which is part of many circles. (forwarded request 179649 from -miska-) OBS-URL: https://build.opensuse.org/request/show/179651 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=145 --- macros.systemd.upstream | 73 ++++++++++++++++++++++++++++++++++++++ systemd-mini.changes | 11 ++++++ systemd-mini.spec | 10 ++++-- systemd-rpm-macros.changes | 6 ++++ systemd-rpm-macros.spec | 57 +++++++++++++++++++++++++++++ systemd.changes | 11 ++++++ systemd.spec | 10 ++++-- 7 files changed, 172 insertions(+), 6 deletions(-) create mode 100644 macros.systemd.upstream create mode 100644 systemd-rpm-macros.changes create mode 100644 systemd-rpm-macros.spec diff --git a/macros.systemd.upstream b/macros.systemd.upstream new file mode 100644 index 00000000..dc19f937 --- /dev/null +++ b/macros.systemd.upstream @@ -0,0 +1,73 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- */ +# +# This file is part of systemd. +# +# Copyright 2012 Lennart Poettering +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# systemd is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with systemd; If not, see . + +# RPM macros for packages installing systemd unit files + +%_unitdir @systemunitdir@ +%_presetdir @systempresetdir@ +%_udevhwdbdir @udevhwdbdir@ +%_udevrulesdir @udevrulesdir@ +%_journalcatalogdir @catalogdir@ +%_tmpfilesdir @tmpfilesdir@ +%_sysctldir @sysctldir@ + +%systemd_requires \ +Requires(post): systemd \ +Requires(preun): systemd \ +Requires(postun): systemd \ +%{nil} + +%systemd_post() \ +if [ $1 -eq 1 ] ; then \ + # Initial installation \ + @rootbindir@/systemctl preset %{?*} >/dev/null 2>&1 || : \ +fi \ +%{nil} + +%systemd_preun() \ +if [ $1 -eq 0 ] ; then \ + # Package removal, not upgrade \ + @rootbindir@/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + @rootbindir@/systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi \ +%{nil} + +%systemd_postun() \ +@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +%{nil} + +%systemd_postun_with_restart() \ +@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +if [ $1 -ge 1 ] ; then \ + # Package upgrade, not uninstall \ + @rootbindir@/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ +fi \ +%{nil} + +%udev_hwdb_update() \ +@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \ +%{nil} + +%udev_rules_update() \ +@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \ +%{nil} + +%journal_catalog_update() \ +@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ +%{nil} diff --git a/systemd-mini.changes b/systemd-mini.changes index 11123c97..0a35d39c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jun 19 08:44:52 UTC 2013 - mhrusecky@suse.com + +- Dropped backward compatibility +- Added check for upstream rpm macros changes + +------------------------------------------------------------------- +Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com + +- Split out RPM macros into separate package to simplify dependencies + ------------------------------------------------------------------- Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index d1e49afe..024ccfed 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -110,6 +110,7 @@ Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init Source9: nss-myhostname-config +Source10: macros.systemd.upstream Source1060: boot.udev Source1061: write_dev_root_rule @@ -215,6 +216,7 @@ Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ Requires: %{name} = %{version} +Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel %endif @@ -367,6 +369,8 @@ This package marks the installation to not use syslog but only the journal. %prep %setup -q -n systemd-%{version} +echo "Checking whether upstream rpm macros changed..." +[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -490,9 +494,7 @@ sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants - -mkdir -p %{buildroot}%{_sysconfdir}/rpm -install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm +rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} @@ -922,7 +924,9 @@ fi %dir %{_datadir}/bash-completion/completions %ghost /var/lib/systemd/catalog/database %{_datadir}/bash-completion/completions/* +%if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd +%endif %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated diff --git a/systemd-rpm-macros.changes b/systemd-rpm-macros.changes new file mode 100644 index 00000000..3d222ce2 --- /dev/null +++ b/systemd-rpm-macros.changes @@ -0,0 +1,6 @@ +------------------------------------------------------------------- +Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com + +- New package with systemd rpm macros to avoid unnecessary build time + dependencies + diff --git a/systemd-rpm-macros.spec b/systemd-rpm-macros.spec new file mode 100644 index 00000000..0268d064 --- /dev/null +++ b/systemd-rpm-macros.spec @@ -0,0 +1,57 @@ +# +# spec file for package systemd-rpm-macros +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +#!BuildIgnore: util-linux + +Name: systemd-rpm-macros +Version: 1 +Release: 0 +Summary: RPM macros for systemd +License: LGPL-2.1+ +Group: System/Base +Url: http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines +Source0: macros.systemd +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildArch: noarch + +%description +Starting with openSUSE 12.1, several RPM macros must be used to package systemd +services files. This package provides these macros. + +%prep + +%build + +%install +mkdir -p %{buildroot}%{_sysconfdir}/rpm +install -m644 %{S:0} %{buildroot}%{_sysconfdir}/rpm +UNITDIR="`cat %{S:0} | sed -n 's|.*_unitdir[[:blank:]]*||p'`" +for i in $UNITDIR `dirname $UNITDIR`; do + mkdir -p %{buildroot}$i + echo $i >> unitdir +done + +%post + +%postun + +%files -f unitdir +%defattr(-,root,root) +%{_sysconfdir}/rpm/macros.systemd + +%changelog diff --git a/systemd.changes b/systemd.changes index 11123c97..702cc8d2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com + +- Dropped backward compatibility +- Added check for upstream rpm macros changes + +------------------------------------------------------------------- +Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com + +- Split out RPM macros into separate package to simplify dependencies + ------------------------------------------------------------------- Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index 0c475aa2..daba57f1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -105,6 +105,7 @@ Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init Source9: nss-myhostname-config +Source10: macros.systemd.upstream Source1060: boot.udev Source1061: write_dev_root_rule @@ -210,6 +211,7 @@ Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ Requires: %{name} = %{version} +Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel %endif @@ -362,6 +364,8 @@ This package marks the installation to not use syslog but only the journal. %prep %setup -q -n systemd-%{version} +echo "Checking whether upstream rpm macros changed..." +[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -485,9 +489,7 @@ sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants - -mkdir -p %{buildroot}%{_sysconfdir}/rpm -install -m644 %{S:4} %{buildroot}%{_sysconfdir}/rpm +rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} @@ -917,7 +919,9 @@ fi %dir %{_datadir}/bash-completion/completions %ghost /var/lib/systemd/catalog/database %{_datadir}/bash-completion/completions/* +%if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd +%endif %dir /var/lib/systemd %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated From fb13db080f102d7f8dab447bf45fc581986d0b1a7b513bc70f82988a6c62f260 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 24 Jun 2013 07:46:00 +0000 Subject: [PATCH 142/991] Accepting request 180434 from Base:System - Automatically online CPUs/Memory on CPU/Memory hotplug add events (bnc#703100, fate#311831). add: 1008-physical-hotplug-cpu-and-memory.patch 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 - Automatically online CPUs/Memory on CPU/Memory hotplug add events (bnc#703100, fate#311831). add: 1008-physical-hotplug-cpu-and-memory.patch 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 (forwarded request 180433 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/180434 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=146 --- 1008-physical-hotplug-cpu-and-memory.patch | 29 ++++++++++++++++++++++ systemd-mini.changes | 15 ++++++++--- systemd-mini.spec | 3 +++ systemd.changes | 13 +++++++--- systemd.spec | 3 +++ 5 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 1008-physical-hotplug-cpu-and-memory.patch diff --git a/1008-physical-hotplug-cpu-and-memory.patch b/1008-physical-hotplug-cpu-and-memory.patch new file mode 100644 index 00000000..fa88318f --- /dev/null +++ b/1008-physical-hotplug-cpu-and-memory.patch @@ -0,0 +1,29 @@ +Index: systemd-204/Makefile.am +=================================================================== +--- systemd-204.orig/Makefile.am ++++ systemd-204/Makefile.am +@@ -2242,6 +2242,10 @@ dist_udevrules_DATA += \ + rules/61-msft.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/80-hotplug-cpu-mem.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +Index: systemd-204/rules/80-hotplug-cpu-mem.rules +=================================================================== +--- /dev/null ++++ systemd-204/rules/80-hotplug-cpu-mem.rules +@@ -0,0 +1,9 @@ ++# do not edit this file, it will be overwritten on update ++ ++# Hotplug physical CPU ++SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ ++ ATTR{online}="1" ++ ++# Hotplug physical memory ++SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ ++ ATTR{state}="online" diff --git a/systemd-mini.changes b/systemd-mini.changes index 0a35d39c..8a20c41e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,5 +1,12 @@ ------------------------------------------------------------------- -Wed Jun 19 08:44:52 UTC 2013 - mhrusecky@suse.com +Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com + +- Automatically online CPUs/Memory on CPU/Memory hotplug add events + (bnc#703100, fate#311831). + add: 1008-physical-hotplug-cpu-and-memory.patch + +------------------------------------------------------------------- +Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - Dropped backward compatibility - Added check for upstream rpm macros changes @@ -13,9 +20,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 + 0002-journal-remember-last-direction-of-search-and-keep-o.patch + fix possible infinite loops in the journal code, related to + bnc #817778 ------------------------------------------------------------------- Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 024ccfed..30a76b85 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -198,6 +198,8 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch Patch1007: 1007-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1008-physical-hotplug-cpu-and-memory.patch +Patch1008: 1008-physical-hotplug-cpu-and-memory.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -431,6 +433,7 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%patch1008 -p1 %endif %build diff --git a/systemd.changes b/systemd.changes index 702cc8d2..8a20c41e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com + +- Automatically online CPUs/Memory on CPU/Memory hotplug add events + (bnc#703100, fate#311831). + add: 1008-physical-hotplug-cpu-and-memory.patch + ------------------------------------------------------------------- Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com @@ -13,9 +20,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 + 0002-journal-remember-last-direction-of-search-and-keep-o.patch + fix possible infinite loops in the journal code, related to + bnc #817778 ------------------------------------------------------------------- Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index daba57f1..4cccbb5b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -193,6 +193,8 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch Patch1007: 1007-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1008-physical-hotplug-cpu-and-memory.patch +Patch1008: 1008-physical-hotplug-cpu-and-memory.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -426,6 +428,7 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%patch1008 -p1 %endif %build From c7abdaf63fed61c4aafe41acfb91e1ad6ea9bb23bc999e6afcf0f656ee16e93a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 25 Jun 2013 15:20:13 +0000 Subject: [PATCH 143/991] Accepting request 180843 from Base:System (forwarded request 180699 from elvigia) OBS-URL: https://build.opensuse.org/request/show/180843 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=147 --- ...ing-about-the-root-mount-from-mounti.patch | 33 ++++++++++++++++++ ...t-to-connect-to-a-session-bus-if-one.patch | 34 +++++++++++++++++++ systemd-mini.changes | 8 +++++ systemd-mini.spec | 8 +++-- systemd.changes | 8 +++++ systemd.spec | 8 +++-- 6 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 0160-mount-when-learning-about-the-root-mount-from-mounti.patch create mode 100644 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch diff --git a/0160-mount-when-learning-about-the-root-mount-from-mounti.patch b/0160-mount-when-learning-about-the-root-mount-from-mounti.patch new file mode 100644 index 00000000..eb523ba7 --- /dev/null +++ b/0160-mount-when-learning-about-the-root-mount-from-mounti.patch @@ -0,0 +1,33 @@ +From 602c0e740f8290cc9c4f13f2eb4b23fbbd7a8d2b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 17 Jun 2013 21:12:53 +0200 +Subject: [PATCH 160/197] mount: when learning about the root mount from + mountinfo, don't add conflicting dep for umount.target + +That way systemd won't try to umount it at shutdown. +--- + src/core/mount.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 10073b5..0ad3d95 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1538,9 +1538,11 @@ static int mount_add_one( + if (r < 0) + goto fail; + +- r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); +- if (r < 0) +- goto fail; ++ if (!path_equal(where, "/")) { ++ r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); ++ if (r < 0) ++ goto fail; ++ } + + unit_add_to_load_queue(u); + } else { +-- +1.8.3.1 + diff --git a/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch b/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch new file mode 100644 index 00000000..571d5755 --- /dev/null +++ b/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch @@ -0,0 +1,34 @@ +From ed002560a1945fb8765c5559c293a19bc9e132d8 Mon Sep 17 00:00:00 2001 +From: Auke Kok +Date: Thu, 20 Jun 2013 13:36:33 -0700 +Subject: [PATCH 185/197] core: only attempt to connect to a session bus if one + likely exists. + +--- + src/core/manager.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 5c3a2c7..2416dd0 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -509,9 +509,13 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { + goto fail; + + /* Try to connect to the busses, if possible. */ +- r = bus_init(m, running_as != SYSTEMD_SYSTEM); +- if (r < 0) +- goto fail; ++ if ((running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS")) || ++ running_as == SYSTEMD_SYSTEM) { ++ r = bus_init(m, running_as != SYSTEMD_SYSTEM); ++ if (r < 0) ++ goto fail; ++ } else ++ log_debug("Skipping DBus session bus connection attempt - no DBUS_SESSION_BUS_ADDRESS set..."); + + m->taint_usr = dir_is_empty("/usr") > 0; + +-- +1.8.3.1 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 8a20c41e..7475c095 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org + +-0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another case where + we are trying to umount the root directory at shutdown. +-0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + only attempt to connect to a session bus if one likely exists + ------------------------------------------------------------------- Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 30a76b85..f083bce2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -182,7 +182,10 @@ Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch Patch47: 0001-journal-letting-interleaved-seqnums-go.patch # PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch - +# PATCH-FIX-UPSTREAM 0160-mount-when-learning-about-the-root-mount-from-mounti.patch crrodriguez@opensuse.org another case where / is attempted to umount at shutdown +Patch49: 0160-mount-when-learning-about-the-root-mount-from-mounti.patch +# PATCH-FIX-UPSTREAM 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch crrodriguez@opensuse.org only attempt to connect to a session bus if one likely exists. +Patch50: 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -422,7 +425,8 @@ cp %{SOURCE7} m4/ %patch46 -p1 %patch47 -p1 %patch48 -p1 - +%patch49 -p1 +%patch50 -p1 # udev patches %patch1001 -p1 %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 8a20c41e..7475c095 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org + +-0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another case where + we are trying to umount the root directory at shutdown. +-0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + only attempt to connect to a session bus if one likely exists + ------------------------------------------------------------------- Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 4cccbb5b..10121ad8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -177,7 +177,10 @@ Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch Patch47: 0001-journal-letting-interleaved-seqnums-go.patch # PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch - +# PATCH-FIX-UPSTREAM 0160-mount-when-learning-about-the-root-mount-from-mounti.patch crrodriguez@opensuse.org another case where / is attempted to umount at shutdown +Patch49: 0160-mount-when-learning-about-the-root-mount-from-mounti.patch +# PATCH-FIX-UPSTREAM 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch crrodriguez@opensuse.org only attempt to connect to a session bus if one likely exists. +Patch50: 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -417,7 +420,8 @@ cp %{SOURCE7} m4/ %patch46 -p1 %patch47 -p1 %patch48 -p1 - +%patch49 -p1 +%patch50 -p1 # udev patches %patch1001 -p1 %patch1002 -p1 From 55f6ad2cc116e51f48af83deeaaab7902bab2872cc4e0054f47e3bcd58673456 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 26 Jun 2013 09:08:48 +0000 Subject: [PATCH 144/991] Accepting request 180966 from Base:System - Drop 1007-add-msft-compability-rules.patch, breaks boot and links in /dev/disk/by-id, will need proper rework (bnc#826528). - 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another case where we are trying to umount the root directory at shutdown. - 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch only attempt to connect to a session bus if one likely exists - Drop 1007-add-msft-compability-rules.patch, breaks boot and links in /dev/disk/by-id, will need proper rework (bnc#826528). - 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another case where we are trying to umount the root directory at shutdown. - 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch only attempt to connect to a session bus if one likely exists (forwarded request 180965 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/180966 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=148 --- 1007-add-msft-compability-rules.patch | 29 ------------------ ...1007-physical-hotplug-cpu-and-memory.patch | 30 +++++++++---------- systemd-mini.changes | 14 ++++++--- systemd-mini.spec | 7 ++--- systemd.changes | 14 ++++++--- systemd.spec | 7 ++--- 6 files changed, 39 insertions(+), 62 deletions(-) delete mode 100644 1007-add-msft-compability-rules.patch rename 1008-physical-hotplug-cpu-and-memory.patch => 1007-physical-hotplug-cpu-and-memory.patch (92%) diff --git a/1007-add-msft-compability-rules.patch b/1007-add-msft-compability-rules.patch deleted file mode 100644 index d24b7694..00000000 --- a/1007-add-msft-compability-rules.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/61-msft.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ -Index: systemd-204/rules/61-msft.rules -=================================================================== ---- /dev/null -+++ systemd-204/rules/61-msft.rules -@@ -0,0 +1,9 @@ -+# MSFT compability rules -+ACTION!="add|change", GOTO="msft_end" -+ -+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" -+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode", ENV{ID_BUS}="scsi" -+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}" -+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}-part%n" -+ -+LABEL="msft_end" diff --git a/1008-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch similarity index 92% rename from 1008-physical-hotplug-cpu-and-memory.patch rename to 1007-physical-hotplug-cpu-and-memory.patch index fa88318f..cd956a0c 100644 --- a/1008-physical-hotplug-cpu-and-memory.patch +++ b/1007-physical-hotplug-cpu-and-memory.patch @@ -1,18 +1,3 @@ -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2242,6 +2242,10 @@ dist_udevrules_DATA += \ - rules/61-msft.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/80-hotplug-cpu-mem.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ Index: systemd-204/rules/80-hotplug-cpu-mem.rules =================================================================== --- /dev/null @@ -27,3 +12,18 @@ Index: systemd-204/rules/80-hotplug-cpu-mem.rules +# Hotplug physical memory +SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ + ATTR{state}="online" +Index: systemd-204/Makefile.am +=================================================================== +--- systemd-204.orig/Makefile.am ++++ systemd-204/Makefile.am +@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \ + rules/73-seat-numlock.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/80-hotplug-cpu-mem.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ diff --git a/systemd-mini.changes b/systemd-mini.changes index 7475c095..93f18dd0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,10 +1,16 @@ +------------------------------------------------------------------- +Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com + +- Drop 1007-add-msft-compability-rules.patch, breaks boot and links + in /dev/disk/by-id, will need proper rework (bnc#826528). + ------------------------------------------------------------------- Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org --0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another case where - we are trying to umount the root directory at shutdown. --0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch - only attempt to connect to a session bus if one likely exists +- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another + case where we are trying to umount the root directory at shutdown. +- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + only attempt to connect to a session bus if one likely exists ------------------------------------------------------------------- Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f083bce2..294894f7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -199,10 +199,8 @@ Patch1004: 1004-fix-devname-prefix.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch -Patch1007: 1007-add-msft-compability-rules.patch -# PATCH-FIX-OPENSUSE 1008-physical-hotplug-cpu-and-memory.patch -Patch1008: 1008-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch +Patch1007: 1007-physical-hotplug-cpu-and-memory.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -437,7 +435,6 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 -%patch1008 -p1 %endif %build diff --git a/systemd.changes b/systemd.changes index 7475c095..93f18dd0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,10 +1,16 @@ +------------------------------------------------------------------- +Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com + +- Drop 1007-add-msft-compability-rules.patch, breaks boot and links + in /dev/disk/by-id, will need proper rework (bnc#826528). + ------------------------------------------------------------------- Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org --0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another case where - we are trying to umount the root directory at shutdown. --0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch - only attempt to connect to a session bus if one likely exists +- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another + case where we are trying to umount the root directory at shutdown. +- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + only attempt to connect to a session bus if one likely exists ------------------------------------------------------------------- Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 10121ad8..d5edcf32 100644 --- a/systemd.spec +++ b/systemd.spec @@ -194,10 +194,8 @@ Patch1004: 1004-fix-devname-prefix.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch -Patch1007: 1007-add-msft-compability-rules.patch -# PATCH-FIX-OPENSUSE 1008-physical-hotplug-cpu-and-memory.patch -Patch1008: 1008-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch +Patch1007: 1007-physical-hotplug-cpu-and-memory.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -432,7 +430,6 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 -%patch1008 -p1 %endif %build From ce0774c47b38a3bab5bc761025fb613feacda39a2b06982bacf25b6d690b0065 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 2 Jul 2013 10:29:43 +0000 Subject: [PATCH 145/991] Accepting request 181612 from Base:System - systemd-mini doesn't need dbus-1, only dbus-1-devel (forwarded request 181585 from coolo) OBS-URL: https://build.opensuse.org/request/show/181612 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=149 --- 1008-add-msft-compability-rules.patch | 29 +++++++++++++++++++++++++++ systemd-mini.changes | 11 ++++++++++ systemd-mini.spec | 6 +++++- systemd.changes | 11 ++++++++++ systemd.spec | 6 +++++- 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 1008-add-msft-compability-rules.patch diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch new file mode 100644 index 00000000..41d6e698 --- /dev/null +++ b/1008-add-msft-compability-rules.patch @@ -0,0 +1,29 @@ +Index: systemd-204/Makefile.am +=================================================================== +--- systemd-204.orig/Makefile.am ++++ systemd-204/Makefile.am +@@ -2242,6 +2242,10 @@ dist_udevrules_DATA += \ + rules/80-hotplug-cpu-mem.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/61-msft.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +Index: systemd-204/rules/61-msft.rules +=================================================================== +--- /dev/null ++++ systemd-204/rules/61-msft.rules +@@ -0,0 +1,9 @@ ++# MSFT compability rules ++ACTION!="add|change", GOTO="msft_end" ++ ++ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" ++KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode" ++KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}" ++KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n" ++ ++LABEL="msft_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index 93f18dd0..c3814085 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com + +- systemd-mini doesn't need dbus-1, only dbus-1-devel + +------------------------------------------------------------------- +Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com + +- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). + add: 1008-add-msft-compability-rules.patch + ------------------------------------------------------------------- Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 294894f7..2acc148c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -35,8 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: %{real} = %{version}-%{release} BuildRequires: audit-devel -BuildRequires: dbus-1 %if ! 0%{?bootstrap} +BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets %endif BuildRequires: fdupes @@ -80,6 +80,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} +#!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi @@ -201,6 +202,8 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +Patch1008: 1008-add-msft-compability-rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -435,6 +438,7 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%patch1008 -p1 %endif %build diff --git a/systemd.changes b/systemd.changes index 93f18dd0..c3814085 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com + +- systemd-mini doesn't need dbus-1, only dbus-1-devel + +------------------------------------------------------------------- +Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com + +- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). + add: 1008-add-msft-compability-rules.patch + ------------------------------------------------------------------- Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index d5edcf32..ac3929f1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -30,8 +30,8 @@ License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel -BuildRequires: dbus-1 %if ! 0%{?bootstrap} +BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets %endif BuildRequires: fdupes @@ -75,6 +75,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} +#!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi @@ -196,6 +197,8 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +Patch1008: 1008-add-msft-compability-rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -430,6 +433,7 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%patch1008 -p1 %endif %build From 37062d5aaa8528fd0779284303a33a3b1e7e895fc26a10192f00ef53740f5d49 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 3 Jul 2013 14:53:50 +0000 Subject: [PATCH 146/991] Accepting request 181817 from Base:System - Replace parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch patch with insserv-generator.patch: no longer patch systemd main binary but generate systemd drop-in files using a generator, for insserv.conf compatibility. (forwarded request 181647 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/181817 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=150 --- insserv-generator.patch | 394 ++++++++++++++++++ ...nf-and-adds-dependencies-accordingly.patch | 131 ------ systemd-mini.changes | 9 + systemd-mini.spec | 6 +- systemd.changes | 9 + systemd.spec | 6 +- 6 files changed, 416 insertions(+), 139 deletions(-) create mode 100644 insserv-generator.patch delete mode 100644 parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch diff --git a/insserv-generator.patch b/insserv-generator.patch new file mode 100644 index 00000000..582098ea --- /dev/null +++ b/insserv-generator.patch @@ -0,0 +1,394 @@ +From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 28 Jun 2013 17:54:41 +0200 +Subject: [PATCH] insserv.conf generator + +parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate +systemd unit drop-in files to add dependencies +--- + Makefile.am | 9 + + src/insserv-generator/Makefile | 28 +++ + src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++ + 3 files changed, 346 insertions(+) + create mode 100644 src/insserv-generator/Makefile + create mode 100644 src/insserv-generator/insserv-generator.c + +diff --git a/Makefile.am b/Makefile.am +index 016d7da..9f8319d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -315,6 +315,7 @@ rootlibexec_PROGRAMS = \ + systemd-sleep + + systemgenerator_PROGRAMS = \ ++ systemd-insserv-generator \ + systemd-getty-generator \ + systemd-fstab-generator \ + systemd-system-update-generator +@@ -1549,6 +1550,14 @@ systemd_delta_LDADD = \ + libsystemd-shared.la + + # ------------------------------------------------------------------------------ ++systemd_insserv_generator_SOURCES = \ ++ src/insserv-generator/insserv-generator.c ++ ++systemd_insserv_generator_LDADD = \ ++ libsystemd-label.la \ ++ libsystemd-shared.la ++ ++# ------------------------------------------------------------------------------ + systemd_getty_generator_SOURCES = \ + src/getty-generator/getty-generator.c + +diff --git a/src/insserv-generator/Makefile b/src/insserv-generator/Makefile +new file mode 100644 +index 0000000..9d07505 +--- /dev/null ++++ b/src/insserv-generator/Makefile +@@ -0,0 +1,28 @@ ++# This file is part of systemd. ++# ++# Copyright 2010 Lennart Poettering ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++# ++# systemd is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public License ++# along with systemd; If not, see . ++ ++# This file is a dirty trick to simplify compilation from within ++# emacs. This file is not intended to be distributed. So, don't touch ++# it, even better ignore it! ++ ++all: ++ $(MAKE) -C .. ++ ++clean: ++ $(MAKE) -C .. clean ++ ++.PHONY: all clean +diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c +new file mode 100644 +index 0000000..067ee2f +--- /dev/null ++++ b/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,309 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2012 Lennart Poettering ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++ ***/ ++ ++#include ++#include ++#include ++#include ++ ++#include "mkdir.h" ++#include "log.h" ++#include "fileio.h" ++#include "unit-name.h" ++#include "special.h" ++#include "path-util.h" ++#include "util.h" ++#include "strv.h" ++ ++static const char *arg_dest = "/tmp"; ++ ++static char *sysv_translate_name(const char *name) { ++ char *r; ++ ++ r = new(char, strlen(name) + sizeof(".service")); ++ if (!r) ++ return NULL; ++ ++ if (endswith(name, ".sh")) ++ /* Drop .sh suffix */ ++ strcpy(stpcpy(r, name) - 3, ".service"); ++ else ++ /* Normal init script name */ ++ strcpy(stpcpy(r, name), ".service"); ++ ++ return r; ++} ++ ++static int sysv_translate_facility(const char *name, const char *filename, char **_r) { ++ ++ /* We silently ignore the $ prefix here. According to the LSB ++ * spec it simply indicates whether something is a ++ * standardized name or a distribution-specific one. Since we ++ * just follow what already exists and do not introduce new ++ * uses or names we don't care who introduced a new name. */ ++ ++ static const char * const table[] = { ++ /* LSB defined facilities */ ++ "local_fs", NULL, ++ "network", SPECIAL_NETWORK_TARGET, ++ "named", SPECIAL_NSS_LOOKUP_TARGET, ++ "portmap", SPECIAL_RPCBIND_TARGET, ++ "remote_fs", SPECIAL_REMOTE_FS_TARGET, ++ "syslog", NULL, ++ "time", SPECIAL_TIME_SYNC_TARGET, ++ }; ++ ++ unsigned i; ++ char *r; ++ const char *n; ++ ++ assert(name); ++ assert(_r); ++ ++ n = *name == '$' ? name + 1 : name; ++ ++ for (i = 0; i < ELEMENTSOF(table); i += 2) { ++ ++ if (!streq(table[i], n)) ++ continue; ++ ++ if (!table[i+1]) ++ return 0; ++ ++ r = strdup(table[i+1]); ++ if (!r) ++ return log_oom(); ++ ++ goto finish; ++ } ++ ++ /* If we don't know this name, fallback heuristics to figure ++ * out whether something is a target or a service alias. */ ++ ++ if (*name == '$') { ++ if (!unit_prefix_is_valid(n)) ++ return -EINVAL; ++ ++ /* Facilities starting with $ are most likely targets */ ++ r = unit_name_build(n, NULL, ".target"); ++ } else if (filename && streq(name, filename)) ++ /* Names equaling the file name of the services are redundant */ ++ return 0; ++ else ++ /* Everything else we assume to be normal service names */ ++ r = sysv_translate_name(n); ++ ++ if (!r) ++ return -ENOMEM; ++ ++finish: ++ *_r = r; ++ ++ return 1; ++} ++ ++ ++ ++static int parse_insserv_conf(const char* filename) { ++ _cleanup_fclose_ FILE *f = NULL; ++ int r; ++ ++ if (!(f = fopen(filename, "re"))) { ++ log_debug("Failed to open file %s", filename); ++ r = errno == ENOENT ? 0 : -errno; ++ return r; ++ } ++ ++ while (!feof(f)) { ++ char l[LINE_MAX], *t; ++ _cleanup_strv_free_ char **parsed = NULL; ++ ++ if (!fgets(l, sizeof(l), f)) { ++ if (feof(f)) ++ break; ++ ++ r = -errno; ++ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); ++ return -r; ++ } ++ ++ t = strstrip(l); ++ if (*t != '$' && *t != '<') ++ continue; ++ ++ parsed = strv_split(t,WHITESPACE); ++ /* we ignore , not used, equivalent to X-Interactive */ ++ if (parsed && !startswith_no_case (parsed[0], "")) { ++ _cleanup_free_ char *facility = NULL; ++ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) ++ continue; ++ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { ++ _cleanup_free_ char *unit = NULL; ++ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ ++ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",path_get_file_name(filename),".conf", NULL); ++ if (!unit) ++ return log_oom(); ++ ++ mkdir_parents_label(unit, 0755); ++ ++ r = write_string_file(unit, ++ "# Automatically generated by systemd-insserv-generator\n\n" ++ "[Unit]\n" ++ "Wants=remote-fs-pre.target\n"); ++ if (r) ++ return r; ++ free (facility); ++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ } ++ if (facility && endswith(facility, ".target")) { ++ char *name, **j; ++ FILE *file = NULL; ++ ++ STRV_FOREACH (j, parsed+1) { ++ _cleanup_free_ char *unit = NULL; ++ _cleanup_free_ char *dep = NULL; ++ ++ if (*j[0] == '+') ++ name = *j+1; ++ else ++ name = *j; ++ if (streq(name, "boot.localfs") || ++ streq(name, "boot.crypto")) ++ continue; ++ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) ++ continue; ++ ++ unit = strjoin(arg_dest, "/", dep, ".d/50-",path_get_file_name(filename),"-",parsed[0],".conf", NULL); ++ if (!unit) ++ return log_oom(); ++ ++ mkdir_parents_label(unit, 0755); ++ ++ file = fopen(unit, "wxe"); ++ if (!file) { ++ if (errno == EEXIST) ++ log_error("Failed to create drop-in file %s", unit); ++ else ++ log_error("Failed to create drop-in file %s: %m", unit); ++ return -errno; ++ } ++ ++ fprintf(file, ++ "# Automatically generated by systemd-insserv-generator\n\n" ++ "[Unit]\n" ++ "Wants=%s\n" ++ "Before=%s\n", ++ facility, facility); ++ ++ fflush(file); ++ if (ferror(file)) { ++ log_error("Failed to write unit file %s: %m", unit); ++ return -errno; ++ } ++ fclose(file); ++ ++ if (*j[0] != '+') { ++ free (unit); ++ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",path_get_file_name(filename),"-",parsed[0],".conf", NULL); ++ if (!unit) ++ return log_oom(); ++ ++ mkdir_parents_label(unit, 0755); ++ ++ file = fopen(unit, "wxe"); ++ if (!file) { ++ if (errno == EEXIST) ++ log_error("Failed to create drop-in file %s, as it already exists", unit); ++ else ++ log_error("Failed to create drop-in file %s: %m", unit); ++ return -errno; ++ } ++ ++ ++ fprintf(file, ++ "# Automatically generated by systemd-insserv-generator\n\n" ++ "[Unit]\n" ++ "SourcePath=%s\n" ++ "Requires=%s\n", ++ filename, dep); ++ fflush(file); ++ if (ferror(file)) { ++ log_error("Failed to write unit file %s: %m", unit); ++ return -errno; ++ } ++ fclose(file); ++ } ++ } ++ } ++ } ++ } ++ return r; ++} ++ ++static int parse_insserv(void) { ++ DIR *d = NULL; ++ struct dirent *de; ++ int r = 0; ++ ++ if (!(d = opendir("/etc/insserv.conf.d/"))) { ++ if (errno != ENOENT) { ++ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); ++ } ++ } else { ++ ++ while ((de = readdir(d))) { ++ char *path = NULL; ++ if (ignore_file(de->d_name)) ++ continue; ++ ++ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); ++ parse_insserv_conf(path); ++ free(path); ++ } ++ closedir (d); ++ } ++ ++ r = parse_insserv_conf("/etc/insserv.conf"); ++ ++ return r; ++} ++ ++int main(int argc, char *argv[]) { ++ int r = 0; ++ ++ if (argc > 1 && argc != 4) { ++ log_error("This program takes three or no arguments."); ++ return EXIT_FAILURE; ++ } ++ ++ if (argc > 1) ++ arg_dest = argv[1]; ++ ++ log_set_target(LOG_TARGET_SAFE); ++ log_parse_environment(); ++ log_open(); ++ ++ umask(0022); ++ ++ r = parse_insserv(); ++ ++ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; ++} +-- +1.8.1.4 + diff --git a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch deleted file mode 100644 index ec213871..00000000 --- a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +++ /dev/null @@ -1,131 +0,0 @@ -From: Frederic Crozat -Date: Fri, 30 Sep 2011 13:55:31 +0000 -Subject: parse /etc/insserv.conf and adds dependencies accordingly - -(bnc#721428) ---- - src/core/service.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 104 insertions(+) - -diff --git a/src/core/service.c b/src/core/service.c -index 3617c24..3c66cdb 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -3443,6 +3443,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - } - - #ifdef HAVE_SYSV_COMPAT -+static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) { -+ FILE *f = NULL; -+ int r; -+ -+ if (!(f = fopen(filename, "re"))) { -+ log_debug("Failed to open file %s", filename); -+ r = errno == ENOENT ? 0 : -errno; -+ goto finish; -+ } -+ -+ while (!feof(f)) { -+ char l[LINE_MAX], *t; -+ char **parsed = NULL; -+ -+ if (!fgets(l, sizeof(l), f)) { -+ if (feof(f)) -+ break; -+ -+ r = -errno; -+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -+ goto finish; -+ } -+ -+ t = strstrip(l); -+ if (*t != '$' && *t != '<') -+ continue; -+ -+ parsed = strv_split(t,WHITESPACE); -+ /* we ignore , not used, equivalent to X-Interactive */ -+ if (parsed && !startswith_no_case (parsed[0], "")) { -+ char *facility; -+ Unit *u; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) -+ continue; -+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); -+ if (u) { -+ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -+ } -+ } -+ u = manager_get_unit(mgr, facility); -+ if (u && (u->type == UNIT_TARGET)) { -+ char *dep = NULL, *name, **j; -+ -+ STRV_FOREACH (j, parsed+1) { -+ if (*j[0] == '+') -+ name = *j+1; -+ else -+ name = *j; -+ if (streq(name, "boot.localfs") || -+ streq(name, "boot.crypto")) -+ continue; -+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -+ continue; -+ -+ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true); -+ if (*j[0] != '+') -+ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true); -+ free(dep); -+ } -+ } -+ free(facility); -+ } -+ strv_free(parsed); -+ } -+finish: -+ if (f) -+ fclose(f); -+ -+} -+ -+static void sysv_facility_in_insserv_conf(Manager *mgr) { -+ DIR *d =NULL; -+ struct dirent *de; -+ -+#ifdef TARGET_DEBIAN -+ if (!(d = opendir("/etc/insserv.conf.d/"))) -+ if (errno != ENOENT) { -+ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -+ goto finish; -+ } -+ -+ while ((de = readdir(d))) { -+ char *path = NULL; -+ if (ignore_file(de->d_name)) -+ continue; -+ -+ path = join("/etc/insserv.conf.d/", de->d_name, NULL); -+ sysv_parse_insserv_conf(mgr, path); -+ free(path); -+ } -+finish: -+ if (d) -+ closedir(d); -+#endif -+ -+ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf"); -+} -+ - - static int service_enumerate(Manager *m) { - char **p; -@@ -3603,6 +3705,8 @@ static int service_enumerate(Manager *m) { - - r = 0; - -+ sysv_facility_in_insserv_conf (m); -+ - finish: - - for (i = 0; i < ELEMENTSOF(rcnd_table); i++) diff --git a/systemd-mini.changes b/systemd-mini.changes index c3814085..1900e582 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com + +- Replace + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch + patch with insserv-generator.patch: no longer patch systemd main + binary but generate systemd drop-in files using a generator, for + insserv.conf compatibility. + ------------------------------------------------------------------- Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 2acc148c..e0be549a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -106,7 +106,6 @@ Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd -Source5: systemd-insserv_conf Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init @@ -124,7 +123,7 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -507,8 +506,6 @@ find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -# do not install, code has been fixed, might be useful in the future -#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -849,6 +846,7 @@ fi %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator /%{_lib}/security/pam_systemd.so %dir %{_libexecdir}/modules-load.d diff --git a/systemd.changes b/systemd.changes index c3814085..1900e582 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com + +- Replace + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch + patch with insserv-generator.patch: no longer patch systemd main + binary but generate systemd drop-in files using a generator, for + insserv.conf compatibility. + ------------------------------------------------------------------- Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index ac3929f1..8bb25aa8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -101,7 +101,6 @@ Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd -Source5: systemd-insserv_conf Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init @@ -119,7 +118,7 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -502,8 +501,6 @@ find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -# do not install, code has been fixed, might be useful in the future -#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -844,6 +841,7 @@ fi %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator /%{_lib}/security/pam_systemd.so %dir %{_libexecdir}/modules-load.d From 2ce609fe247e1bc6d87bf5b52dcac7286be1bc0949ed12ae666e39008a98698b Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 2 Aug 2013 05:26:48 +0000 Subject: [PATCH 147/991] Accepting request 185496 from Base:System - Ensure /usr/lib/systemd/system/shutdown.target.wants is created and owned by systemd package. (forwarded request 185494 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/185496 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=151 --- ...urnal-letting-interleaved-seqnums-go.patch | 74 -------- ...nt_dump-don-t-segfault-if-mount-is-n.patch | 34 ++++ ...-last-direction-of-search-and-keep-o.patch | 122 -------------- ...ups-release-agent-when-shutting-down.patch | 74 ++++++++ ...lculate-the-ACL-mask-but-only-if-it-.patch | 87 ---------- ...move-ancient-fallback-code-turn-conn.patch | 53 ++++++ ...message-output-at-shutdown-when-quie.patch | 69 ++++++++ ...llow-nuking-of-symlinks-to-removed-u.patch | 36 ---- ...port-alien-child-as-alive-when-it-s-.patch | 29 ---- ...ing-about-the-root-mount-from-mounti.patch | 33 ---- ...t-to-connect-to-a-session-bus-if-one.patch | 34 ---- ...enable-by_path-links-for-ata-devices.patch | 10 +- ...ate-by-id-scsi-links-for-ATA-devices.patch | 8 +- 1003-udev-netlink-null-rules.patch | 8 +- 1004-fix-devname-prefix.patch | 22 --- ...fault-links-for-primary-cd_dvd-drive.patch | 8 +- 1006-udev-always-rename-network.patch | 6 +- 1007-physical-hotplug-cpu-and-memory.patch | 12 +- 1008-add-msft-compability-rules.patch | 12 +- ...es-permissions-to-follow-openSUSE-po.patch | 6 +- ...-suspend-hibernate-calls-to-pm-utils.patch | 16 +- ...pport-for-SysV-scripts-for-the-early.patch | 20 +-- Start-ctrl-alt-del.target-irreversibly.patch | 27 --- allow-multiple-sulogin-to-be-started.patch | 18 +- apply-ACL-for-nvidia-device-nodes.patch | 14 +- ...alid-address-familily-is-passed-to-g.patch | 8 +- ...etup-after-md-dmraid-lvm-are-started.patch | 12 +- ...le-nss-myhostname-warning-bnc-783841.patch | 6 +- ...e-started-before-local-fs-pre-target.patch | 6 +- ...assword-wall-starts-after-getty-tty1.patch | 6 +- ...rtname-is-set-as-hostname-bnc-820213.patch | 8 +- ...are-applied-after-modules-are-loaded.patch | 8 +- fix-owner-of-var-log-btmp.patch | 6 +- ...-boot-prefixed-initscript-bnc-746506.patch | 8 +- ...t-after-cryptsetup-target-is-reached.patch | 8 +- ...STEMCTL_OPTIONS-environment-variable.patch | 8 +- ...plock-and-compose_table-and-kbd_rate.patch | 10 +- handle-etc-HOSTNAME.patch | 22 +-- ...lock-value-in-etc-sysconfig-keyboard.patch | 28 +-- ...lang-value-in-etc-sysconfig-language.patch | 41 +++-- insserv-generator.patch | 23 +-- macros.systemd.upstream | 5 + ...USE-etc-sysconfig-kernel-module-list.patch | 14 +- ...lly-warn-if-nss-myhostname-is-called.patch | 20 +-- ...script-heuristic-and-add-new-LSB-hea.patch | 20 +-- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 24 +-- ...vice-with-detected-pid-as-RemainAfte.patch | 8 +- ...ndle-boot-sysctl.conf-kernel_release.patch | 12 +- ...oes-not-expand-u-so-revert-back-to-I.patch | 27 --- systemd-204.tar.xz | 3 - systemd-206.tar.xz | 3 + systemd-insserv_conf | 34 ---- systemd-mini-rpmlintrc | 2 + systemd-mini.changes | 159 ++++++++++++++++++ systemd-mini.spec | 101 ++++++----- systemd-rpm-macros.changes | 5 + systemd-rpm-macros.spec | 2 +- systemd-rpmlintrc | 2 + systemd-tmp-safe-defaults.patch | 6 +- systemd.changes | 159 ++++++++++++++++++ systemd.spec | 101 ++++++----- ...or-openSUSE-version-of-etc-sysconfig.patch | 6 +- ...r-sbin-sulogin-for-emergency-service.patch | 27 +++ 63 files changed, 877 insertions(+), 903 deletions(-) delete mode 100644 0001-journal-letting-interleaved-seqnums-go.patch create mode 100644 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch delete mode 100644 0002-journal-remember-last-direction-of-search-and-keep-o.patch create mode 100644 0004-disable-the-cgroups-release-agent-when-shutting-down.patch delete mode 100644 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch create mode 100644 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch create mode 100644 0006-suppress-status-message-output-at-shutdown-when-quie.patch delete mode 100644 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch delete mode 100644 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch delete mode 100644 0160-mount-when-learning-about-the-root-mount-from-mounti.patch delete mode 100644 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch delete mode 100644 1004-fix-devname-prefix.patch delete mode 100644 Start-ctrl-alt-del.target-irreversibly.patch delete mode 100644 systemctl-does-not-expand-u-so-revert-back-to-I.patch delete mode 100644 systemd-204.tar.xz create mode 100644 systemd-206.tar.xz delete mode 100644 systemd-insserv_conf create mode 100644 use-usr-sbin-sulogin-for-emergency-service.patch diff --git a/0001-journal-letting-interleaved-seqnums-go.patch b/0001-journal-letting-interleaved-seqnums-go.patch deleted file mode 100644 index a3c6054a..00000000 --- a/0001-journal-letting-interleaved-seqnums-go.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 53113dc8254cae9a27e321e539d2d876677e61b9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 7 Jun 2013 22:01:03 -0400 -Subject: [PATCH] journal: letting (interleaved) seqnums go - -In the following scenario: - server creates system.journal - server creates user-1000.journal -both journals share the same seqnum_id. -Then - server writes to user-1000.journal first, - and server writes to system.journal a bit later, -and everything is fine. -The server then terminates (crash, reboot, rsyslog testing, -whatever), and user-1000.journal has entries which end with -a lower seqnum than system.journal. Now - server is restarted - server opens user-1000.journal and writes entries to it... -BAM! duplicate seqnums for the same seqnum_id. - -Now, we usually don't see that happen, because system.journal -is closed last, and opened first. Since usually at least one -message is written during boot and lands in the system.journal, -the seqnum is initialized from it, and is set to a number higher -than than anything found in user journals. Nevertheless, if -system.journal is corrupted and is rotated, it can happen that -an entry is written to the user journal with a seqnum that is -a duplicate with an entry found in the corrupted system.journal~. -When browsing the journal, journalctl can fall into a loop -where it tries to follow the seqnums, and tries to go the -next location by seqnum, and is transported back in time to -to the older duplicate seqnum. There is not way to find -out the maximum seqnum used in a multiple files, without -actually looking at all of them. But we don't want to do -that because it would be slow, and actually it isn't really -possible, because a file might e.g. be temporarily unaccessible. - -Fix the problem by using different seqnum series for user -journals. Using the same seqnum series for rotated journals -is still fine, because we know that nothing will write -to the rotated journal anymore. - -Likely related: -https://bugs.freedesktop.org/show_bug.cgi?id=64566 -https://bugs.freedesktop.org/show_bug.cgi?id=59856 -https://bugs.freedesktop.org/show_bug.cgi?id=64296 -https://bugs.archlinux.org/task/35581 -https://bugzilla.novell.com/show_bug.cgi?id=817778 - -Possibly related: -https://bugs.freedesktop.org/show_bug.cgi?id=64293 - -Conflicts: - src/journal/journald-server.c ---- - src/journal/journald-server.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index cc52b8a..cde63c8 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -280,7 +280,7 @@ static JournalFile* find_journal(Server *s, uid_t uid) { - journal_file_close(f); - } - -- r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, s->system_journal, &f); -+ r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &f); - free(p); - - if (r < 0) --- -1.8.2.1 - diff --git a/0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch b/0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch new file mode 100644 index 00000000..7db90f64 --- /dev/null +++ b/0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch @@ -0,0 +1,34 @@ +From 1e4fc9b1d8449e87474b3af8a4ddab09fab27cd5 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 4 Jul 2013 11:01:47 +0200 +Subject: [PATCH 2/6] core/mount.c:mount_dump(): don't segfault, if mount is + not mounted anymore + +Don't segfault, if m->from_proc_self_mountinfo and m->from_fragment is +false. + +https://bugzilla.redhat.com/show_bug.cgi?id=957783#c9 +--- + src/core/mount.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 3cc3e65..58a3f11 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -822,9 +822,9 @@ static void mount_dump(Unit *u, FILE *f, const char *prefix) { + prefix, mount_state_to_string(m->state), + prefix, mount_result_to_string(m->result), + prefix, m->where, +- prefix, strna(p->what), +- prefix, strna(p->fstype), +- prefix, strna(p->options), ++ prefix, p ? strna(p->what) : "n/a", ++ prefix, p ? strna(p->fstype) : "n/a", ++ prefix, p ? strna(p->options) : "n/a", + prefix, yes_no(m->from_proc_self_mountinfo), + prefix, yes_no(m->from_fragment), + prefix, m->directory_mode); +-- +1.8.1.4 + diff --git a/0002-journal-remember-last-direction-of-search-and-keep-o.patch b/0002-journal-remember-last-direction-of-search-and-keep-o.patch deleted file mode 100644 index b710d55c..00000000 --- a/0002-journal-remember-last-direction-of-search-and-keep-o.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 87011c25d96e9fbcd8a465ba758fa037c7d08203 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 6 Jun 2013 22:28:05 -0400 -Subject: [PATCH 01/13] journal: remember last direction of search and keep - offset cache - -The fields in JournalFile are moved around to avoid wasting -7 bytes because of alignment. ---- - TODO | 3 --- - src/journal/journal-file.h | 18 +++++++++++------- - src/journal/sd-journal.c | 11 +++++------ - 3 files changed, 16 insertions(+), 16 deletions(-) - -diff --git a/TODO b/TODO -index 0dd19a0..1dc585c 100644 ---- a/TODO -+++ b/TODO -@@ -77,9 +77,6 @@ Features: - - * investigate endianess issues of UUID vs. GUID - --* see if we can fix https://bugs.freedesktop.org/show_bug.cgi?id=63672 -- without dropping the location cache entirely. -- - * dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we - should be able to safely try another attempt when the bus call LoadUnit() is invoked. - -diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h -index 7b1cd42..5cc2c2d 100644 ---- a/src/journal/journal-file.h -+++ b/src/journal/journal-file.h -@@ -42,10 +42,14 @@ typedef struct JournalMetrics { - uint64_t keep_free; - } JournalMetrics; - -+typedef enum direction { -+ DIRECTION_UP, -+ DIRECTION_DOWN -+} direction_t; -+ - typedef struct JournalFile { - int fd; -- char *path; -- struct stat last_stat; -+ - mode_t mode; - - int flags; -@@ -56,6 +60,11 @@ typedef struct JournalFile { - - bool tail_entry_monotonic_valid; - -+ direction_t last_direction; -+ -+ char *path; -+ struct stat last_stat; -+ - Header *header; - HashItem *data_hash_table; - HashItem *field_hash_table; -@@ -90,11 +99,6 @@ typedef struct JournalFile { - #endif - } JournalFile; - --typedef enum direction { -- DIRECTION_UP, -- DIRECTION_DOWN --} direction_t; -- - int journal_file_open( - const char *fname, - int flags, -diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c -index 3aa9ed4..4c4cc2d 100644 ---- a/src/journal/sd-journal.c -+++ b/src/journal/sd-journal.c -@@ -102,7 +102,8 @@ static void init_location(Location *l, LocationType type, JournalFile *f, Object - l->seqnum_set = l->realtime_set = l->monotonic_set = l->xor_hash_set = true; - } - --static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, uint64_t offset) { -+static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, -+ direction_t direction, uint64_t offset) { - assert(j); - assert(type == LOCATION_DISCRETE || type == LOCATION_SEEK); - assert(f); -@@ -110,12 +111,10 @@ static void set_location(sd_journal *j, LocationType type, JournalFile *f, Objec - - init_location(&j->current_location, type, f, o); - -- if (j->current_file) -- j->current_file->current_offset = 0; -- - j->current_file = f; - j->current_field = 0; - -+ f->last_direction = direction; - f->current_offset = offset; - } - -@@ -811,7 +810,7 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc - assert(j); - assert(f); - -- if (f->current_offset > 0) { -+ if (f->last_direction == direction && f->current_offset > 0) { - cp = f->current_offset; - - r = journal_file_move_to_object(f, OBJECT_ENTRY, cp, &c); -@@ -908,7 +907,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { - if (r < 0) - return r; - -- set_location(j, LOCATION_DISCRETE, new_file, o, new_offset); -+ set_location(j, LOCATION_DISCRETE, new_file, o, direction, new_offset); - - return 1; - } --- -1.8.2.1 - diff --git a/0004-disable-the-cgroups-release-agent-when-shutting-down.patch b/0004-disable-the-cgroups-release-agent-when-shutting-down.patch new file mode 100644 index 00000000..52f7b574 --- /dev/null +++ b/0004-disable-the-cgroups-release-agent-when-shutting-down.patch @@ -0,0 +1,74 @@ +From ad929bcc27e2c6c1aa731053e45882686e9babab Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 4 Jul 2013 20:31:18 +0200 +Subject: [PATCH 4/6] disable the cgroups release agent when shutting down + +During shutdown, when we try to clean up all remaining processes, the +kernel will fork new agents every time a cgroup runs empty. These +new processes cause delays in the final SIGTERM, SIGKILL logic. + +Apart from that, this should also avoid that the kernel-forked binaries +cause unpredictably timed access to the filesystem which we might need to +unmount. +--- + src/core/main.c | 4 ++++ + src/shared/cgroup-util.c | 15 +++++++++++++++ + src/shared/cgroup-util.h | 1 + + 3 files changed, 20 insertions(+) + +diff --git a/src/core/main.c b/src/core/main.c +index 8b8e110..ada0f9d 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -1942,6 +1942,10 @@ finish: + watchdog_close(true); + } + ++ /* avoid the creation of new processes forked by the kernel; at this ++ * point, we will not listen to the signals anyway */ ++ cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); ++ + execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block); + free(env_block); + log_error("Failed to execute shutdown binary, freezing: %m"); +diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c +index 390259e..73013d1 100644 +--- a/src/shared/cgroup-util.c ++++ b/src/shared/cgroup-util.c +@@ -790,6 +790,21 @@ int cg_install_release_agent(const char *controller, const char *agent) { + return 0; + } + ++int cg_uninstall_release_agent(const char *controller) { ++ _cleanup_free_ char *fs = NULL; ++ int r; ++ ++ r = cg_get_path(controller, NULL, "release_agent", &fs); ++ if (r < 0) ++ return r; ++ ++ r = write_string_file(fs, ""); ++ if (r < 0) ++ return r; ++ ++ return 0; ++} ++ + int cg_is_empty(const char *controller, const char *path, bool ignore_self) { + _cleanup_fclose_ FILE *f = NULL; + pid_t pid = 0, self_pid; +diff --git a/src/shared/cgroup-util.h b/src/shared/cgroup-util.h +index c781aab..0fc93c1 100644 +--- a/src/shared/cgroup-util.h ++++ b/src/shared/cgroup-util.h +@@ -89,6 +89,7 @@ int cg_set_group_access(const char *controller, const char *path, mode_t mode, u + int cg_set_task_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid); + + int cg_install_release_agent(const char *controller, const char *agent); ++int cg_uninstall_release_agent(const char *controller); + + int cg_is_empty(const char *controller, const char *path, bool ignore_self); + int cg_is_empty_by_spec(const char *spec, bool ignore_self); +-- +1.8.1.4 + diff --git a/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch b/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch deleted file mode 100644 index cb24f70e..00000000 --- a/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 7f20c71497ec7c78c6d2572a0d7075f78b14548a Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Tue, 28 May 2013 20:45:34 +0200 -Subject: [PATCH 4/8] journald: DO recalculate the ACL mask, but only if it - doesn't exist - -Since 11ec7ce, journald isn't setting the ACLs properly anymore if -the files had no ACLs to begin with: acl_set_fd fails with EINVAL. - -An ACL with ACL_USER or ACL_GROUP entries but no ACL_MASK entry is -invalid, so make sure a mask exists before trying to set the ACL. ---- - src/journal/journald-server.c | 6 ++++-- - src/shared/acl-util.c | 28 ++++++++++++++++++++++++++++ - src/shared/acl-util.h | 1 + - 3 files changed, 33 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index cc52b8a..01f23ce 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -227,9 +227,11 @@ void server_fix_perms(Server *s, JournalFile *f, uid_t uid) { - } - } - -- /* We do not recalculate the mask here, so that the fchmod() mask above stays intact. */ -+ /* We do not recalculate the mask unconditionally here, -+ * so that the fchmod() mask above stays intact. */ - if (acl_get_permset(entry, &permset) < 0 || -- acl_add_perm(permset, ACL_READ) < 0) { -+ acl_add_perm(permset, ACL_READ) < 0 || -+ calc_acl_mask_if_needed(&acl) < 0) { - log_warning("Failed to patch ACL on %s, ignoring: %m", f->path); - goto finish; - } -diff --git a/src/shared/acl-util.c b/src/shared/acl-util.c -index 48bb12f..fb04e49 100644 ---- a/src/shared/acl-util.c -+++ b/src/shared/acl-util.c -@@ -69,6 +69,34 @@ int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry) { - return 0; - } - -+int calc_acl_mask_if_needed(acl_t *acl_p) { -+ acl_entry_t i; -+ int found; -+ -+ assert(acl_p); -+ -+ for (found = acl_get_entry(*acl_p, ACL_FIRST_ENTRY, &i); -+ found > 0; -+ found = acl_get_entry(*acl_p, ACL_NEXT_ENTRY, &i)) { -+ -+ acl_tag_t tag; -+ -+ if (acl_get_tag_type(i, &tag) < 0) -+ return -errno; -+ -+ if (tag == ACL_MASK) -+ return 0; -+ } -+ -+ if (found < 0) -+ return -errno; -+ -+ if (acl_calc_mask(acl_p) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - int search_acl_groups(char*** dst, const char* path, bool* belong) { - acl_t acl; - -diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h -index 23090d9..36ef490 100644 ---- a/src/shared/acl-util.h -+++ b/src/shared/acl-util.h -@@ -24,4 +24,5 @@ - #include - - 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.1.4 - diff --git a/0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch b/0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch new file mode 100644 index 00000000..2f4b7254 --- /dev/null +++ b/0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch @@ -0,0 +1,53 @@ +From c1eba3008cac9e625b8bb774e9b44ceec8465980 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 4 Jul 2013 20:54:40 +0200 +Subject: [PATCH 5/6] cgroups-agent: remove ancient fallback code; turn + connection error into warning + +During re-execution and shutdown cgroups agents might not be able +to connect to systemd's private D-Bus socket, the printed error to +the console is misleding in that case, so turn it into a warning. +--- + src/cgroups-agent/cgroups-agent.c | 19 ++++++------------- + 1 file changed, 6 insertions(+), 13 deletions(-) + +diff --git a/src/cgroups-agent/cgroups-agent.c b/src/cgroups-agent/cgroups-agent.c +index 0e3d2b7..a47949a 100644 +--- a/src/cgroups-agent/cgroups-agent.c ++++ b/src/cgroups-agent/cgroups-agent.c +@@ -48,26 +48,19 @@ int main(int argc, char *argv[]) { + * this to avoid an activation loop when we start dbus when we + * are called when the dbus service is shut down. */ + +- if (!(bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error))) { +-#ifndef NOLEGACY +- dbus_error_free(&error); +- +- /* Retry with the pre v21 socket name, to ease upgrades */ +- if (!(bus = dbus_connection_open_private("unix:abstract=/org/freedesktop/systemd1/private", &error))) { +-#endif +- log_error("Failed to get D-Bus connection: %s", bus_error_message(&error)); +- goto finish; +- } +-#ifndef NOLEGACY ++ bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error); ++ if (!bus) { ++ log_warning("Failed to get D-Bus connection: %s", bus_error_message(&error)); ++ goto finish; + } +-#endif + + if (bus_check_peercred(bus) < 0) { + log_error("Bus owner not root."); + goto finish; + } + +- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released"))) { ++ m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released"); ++ if (!m) { + log_error("Could not allocate signal message."); + goto finish; + } +-- +1.8.1.4 + diff --git a/0006-suppress-status-message-output-at-shutdown-when-quie.patch b/0006-suppress-status-message-output-at-shutdown-when-quie.patch new file mode 100644 index 00000000..8fb7ba23 --- /dev/null +++ b/0006-suppress-status-message-output-at-shutdown-when-quie.patch @@ -0,0 +1,69 @@ +From ec26be514ff3c5367b21f9881369080bda54fd2d Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 5 Jul 2013 00:32:05 +0200 +Subject: [PATCH 6/6] suppress status message output at shutdown when 'quiet' + is given + +--- + src/core/main.c | 4 ++-- + src/core/shutdown.c | 15 +++++++++++++++ + 2 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/src/core/main.c b/src/core/main.c +index ada0f9d..243855f 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -1942,9 +1942,9 @@ finish: + watchdog_close(true); + } + +- /* avoid the creation of new processes forked by the kernel; at this ++ /* avoid the creation of new processes forked by the kernel; at this + * point, we will not listen to the signals anyway */ +- cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); ++ cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); + + execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block); + free(env_block); +diff --git a/src/core/shutdown.c b/src/core/shutdown.c +index 2db761d..c02a14d 100644 +--- a/src/core/shutdown.c ++++ b/src/core/shutdown.c +@@ -39,6 +39,7 @@ + + #include "missing.h" + #include "log.h" ++#include "fileio.h" + #include "umount.h" + #include "util.h" + #include "mkdir.h" +@@ -130,12 +131,26 @@ static int pivot_to_new_root(void) { + } + + int main(int argc, char *argv[]) { ++ _cleanup_free_ char *line = NULL; + int cmd, r; + unsigned retries; + bool need_umount = true, need_swapoff = true, need_loop_detach = true, need_dm_detach = true; + bool in_container, use_watchdog = false; + char *arguments[3]; + ++ /* suppress shutdown status output if 'quiet' is used */ ++ r = read_one_line_file("/proc/cmdline", &line); ++ if (r >= 0) { ++ char *w, *state; ++ size_t l; ++ ++ FOREACH_WORD_QUOTED(w, l, line, state) ++ if (streq(w, "quiet")) { ++ log_set_max_level(LOG_WARNING); ++ break; ++ } ++ } ++ + log_parse_environment(); + log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */ + log_open(); +-- +1.8.1.4 + diff --git a/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch b/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch deleted file mode 100644 index 4c39c957..00000000 --- a/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3b1680e04cb0ff0e4cf180dbacd067f1f99316a2 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 6/8] 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; - --- -1.8.1.4 - 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 deleted file mode 100644 index c99f2428..00000000 --- a/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3608595751f62bbc6d37eb78b746ab6fecfa2d45 Mon Sep 17 00:00:00 2001 -From: Ross Lagerwall -Date: Sun, 9 Jun 2013 17:28:44 +0100 -Subject: [PATCH 8/8] service: don't report alien child as alive when it's not - -When a sigchld is received from an alien child, main_pid is set to -0 then service_enter_running calls main_pid_good to check if the -child is running. This incorrectly returned true because -kill(main_pid, 0) would return >= 0. - -This fixes an error where a service would die and the cgroup would -become empty but the service would still report as active (running). ---- - src/core/service.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-204/src/core/service.c -=================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c -@@ -1933,7 +1933,7 @@ static int main_pid_good(Service *s) { - - /* If it's an alien child let's check if it is still - * alive ... */ -- if (s->main_pid_alien) -+ if (s->main_pid_alien && s->main_pid > 0) - return kill(s->main_pid, 0) >= 0 || errno != ESRCH; - - /* .. otherwise assume we'll get a SIGCHLD for it, diff --git a/0160-mount-when-learning-about-the-root-mount-from-mounti.patch b/0160-mount-when-learning-about-the-root-mount-from-mounti.patch deleted file mode 100644 index eb523ba7..00000000 --- a/0160-mount-when-learning-about-the-root-mount-from-mounti.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 602c0e740f8290cc9c4f13f2eb4b23fbbd7a8d2b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 17 Jun 2013 21:12:53 +0200 -Subject: [PATCH 160/197] mount: when learning about the root mount from - mountinfo, don't add conflicting dep for umount.target - -That way systemd won't try to umount it at shutdown. ---- - src/core/mount.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index 10073b5..0ad3d95 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1538,9 +1538,11 @@ static int mount_add_one( - if (r < 0) - goto fail; - -- r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); -- if (r < 0) -- goto fail; -+ if (!path_equal(where, "/")) { -+ r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); -+ if (r < 0) -+ goto fail; -+ } - - unit_add_to_load_queue(u); - } else { --- -1.8.3.1 - diff --git a/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch b/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch deleted file mode 100644 index 571d5755..00000000 --- a/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ed002560a1945fb8765c5559c293a19bc9e132d8 Mon Sep 17 00:00:00 2001 -From: Auke Kok -Date: Thu, 20 Jun 2013 13:36:33 -0700 -Subject: [PATCH 185/197] core: only attempt to connect to a session bus if one - likely exists. - ---- - src/core/manager.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 5c3a2c7..2416dd0 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -509,9 +509,13 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { - goto fail; - - /* Try to connect to the busses, if possible. */ -- r = bus_init(m, running_as != SYSTEMD_SYSTEM); -- if (r < 0) -- goto fail; -+ if ((running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS")) || -+ running_as == SYSTEMD_SYSTEM) { -+ r = bus_init(m, running_as != SYSTEMD_SYSTEM); -+ if (r < 0) -+ goto fail; -+ } else -+ log_debug("Skipping DBus session bus connection attempt - no DBUS_SESSION_BUS_ADDRESS set..."); - - m->taint_usr = dir_is_empty("/usr") > 0; - --- -1.8.3.1 - diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index 64f01c1f..8d9594ad 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -7,11 +7,9 @@ Fix by-path links for ATA transport (bnc#770910) src/udev/udev-builtin-path_id.c | 92 +++++++++++++++++++++++++++++++++++------ 1 file changed, 80 insertions(+), 12 deletions(-) -diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c -index da02731..a77d4e8 100644 ---- a/src/udev/udev-builtin-path_id.c -+++ b/src/udev/udev-builtin-path_id.c -@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * +--- systemd-206.orig/src/udev/udev-builtin-path_id.c ++++ systemd-206/src/udev/udev-builtin-path_id.c +@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_h return parent; } @@ -97,7 +95,7 @@ index da02731..a77d4e8 100644 static struct udev_device *handle_scsi(struct udev_device *parent, char **path) { const char *devtype; -@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) +@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(s goto out; } diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch index c2f3186c..bd7904c6 100644 --- a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -7,11 +7,9 @@ Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) rules/60-persistent-storage.rules | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index a4d009a..f720c7e 100644 ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="s +--- systemd-206.orig/rules/60-persistent-storage.rules ++++ systemd-206/rules/60-persistent-storage.rules +@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch index f486a13f..93756c5a 100644 --- a/1003-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -7,11 +7,9 @@ udevd race for netlink events (bnc#774646) src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) -Index: systemd-202/src/udev/udevd.c -=================================================================== ---- systemd-202.orig/src/udev/udevd.c -+++ systemd-202/src/udev/udevd.c -@@ -1407,6 +1407,8 @@ int main(int argc, char *argv[]) +--- systemd-206.orig/src/udev/udevd.c ++++ systemd-206/src/udev/udevd.c +@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[]) dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); diff --git a/1004-fix-devname-prefix.patch b/1004-fix-devname-prefix.patch deleted file mode 100644 index 7ab99e97..00000000 --- a/1004-fix-devname-prefix.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Frederic Crozat -Date: Wed, 5 Dec 2012 15:13:27 +0000 -Subject: fix devname prefix - -fix modules.devname path, it isn't in /usr. ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-202/src/udev/udevd.c -=================================================================== ---- systemd-202.orig/src/udev/udevd.c -+++ systemd-202/src/udev/udevd.c -@@ -824,7 +824,7 @@ static void static_dev_create_from_modul - return; - } - -- strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL); -+ strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL); - f = fopen(modules, "re"); - if (f == NULL) - return; diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch index c66a9da0..e70b5758 100644 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -7,11 +7,9 @@ cdrom_id: created links for the default cd/dvd drive (bnc#783054). rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/rules/60-cdrom_id.rules b/rules/60-cdrom_id.rules -index 6eaf76a..ec0b19a 100644 ---- a/rules/60-cdrom_id.rules -+++ b/rules/60-cdrom_id.rules -@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr +--- systemd-206.orig/rules/60-cdrom_id.rules ++++ systemd-206/rules/60-cdrom_id.rules +@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr # enable the receiving of media eject button events IMPORT{program}="cdrom_id --lock-media $devnode" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index d1c61d05..4f91c928 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -8,10 +8,8 @@ udev: ensure that the network interfaces are renamed even if they exist src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) -Index: systemd-204/src/udev/udev-event.c -=================================================================== ---- systemd-204.orig/src/udev/udev-event.c -+++ systemd-204/src/udev/udev-event.c +--- systemd-206.orig/src/udev/udev-event.c ++++ systemd-206/src/udev/udev-event.c @@ -750,6 +750,7 @@ static int rename_netif(struct udev_even struct udev_device *dev = event->dev; int sk; diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch index cd956a0c..7daebb20 100644 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ b/1007-physical-hotplug-cpu-and-memory.patch @@ -1,7 +1,5 @@ -Index: systemd-204/rules/80-hotplug-cpu-mem.rules -=================================================================== --- /dev/null -+++ systemd-204/rules/80-hotplug-cpu-mem.rules ++++ systemd-206/rules/80-hotplug-cpu-mem.rules @@ -0,0 +1,9 @@ +# do not edit this file, it will be overwritten on update + @@ -12,11 +10,9 @@ Index: systemd-204/rules/80-hotplug-cpu-mem.rules +# Hotplug physical memory +SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ + ATTR{state}="online" -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \ rules/73-seat-numlock.rules # ------------------------------------------------------------------------------ diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch index 41d6e698..d0117371 100644 --- a/1008-add-msft-compability-rules.patch +++ b/1008-add-msft-compability-rules.patch @@ -1,8 +1,6 @@ -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2242,6 +2242,10 @@ dist_udevrules_DATA += \ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \ rules/80-hotplug-cpu-mem.rules # ------------------------------------------------------------------------------ @@ -13,10 +11,8 @@ Index: systemd-204/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-204/rules/61-msft.rules -=================================================================== --- /dev/null -+++ systemd-204/rules/61-msft.rules ++++ systemd-206/rules/61-msft.rules @@ -0,0 +1,9 @@ +# MSFT compability rules +ACTION!="add|change", GOTO="msft_end" diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index 2cc1bb48..db366fca 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -8,10 +8,8 @@ disable /var/lock/{subsys,lockdev} and change default permissions on tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf -index 3fff347..81d5e47 100644 ---- a/tmpfiles.d/legacy.conf -+++ b/tmpfiles.d/legacy.conf +--- systemd-206.orig/tmpfiles.d/legacy.conf ++++ systemd-206/tmpfiles.d/legacy.conf @@ -10,12 +10,13 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 7e6b7b44..3b50d50b 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -7,10 +7,8 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) src/sleep/sleep.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) -diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index a56ab89..232ab67 100644 ---- a/src/sleep/sleep.c -+++ b/src/sleep/sleep.c +--- systemd-206.orig/src/sleep/sleep.c ++++ systemd-206/src/sleep/sleep.c @@ -24,6 +24,7 @@ #include #include @@ -38,7 +36,7 @@ index a56ab89..232ab67 100644 return r; } -@@ -90,6 +90,8 @@ static int execute(char **modes, char **states) { +@@ -90,6 +90,8 @@ static int execute(char **modes, char ** FILE *f; const char* note = strappenda("SLEEP=", arg_verb); @@ -47,7 +45,7 @@ index a56ab89..232ab67 100644 /* This file is opened first, so that if we hit an error, * we can abort before modyfing any state. */ f = fopen("/sys/power/state", "we"); -@@ -102,6 +104,7 @@ static int execute(char **modes, char **states) { +@@ -102,6 +104,7 @@ static int execute(char **modes, char ** r = write_mode(modes); if (r < 0) return r; @@ -55,7 +53,7 @@ index a56ab89..232ab67 100644 arguments[0] = NULL; arguments[1] = (char*) "pre"; -@@ -114,8 +117,10 @@ static int execute(char **modes, char **states) { +@@ -114,8 +117,10 @@ static int execute(char **modes, char ** "MESSAGE=Suspending system...", note, NULL); @@ -67,7 +65,7 @@ index a56ab89..232ab67 100644 if (r < 0) return r; -@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *argv[]) { +@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar }; int c; @@ -75,7 +73,7 @@ index a56ab89..232ab67 100644 assert(argc >= 0); assert(argv); -@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *argv[]) { +@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar return -EINVAL; } diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch index de856e1f..137a4824 100644 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -10,10 +10,8 @@ Conflicts: src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) -Index: systemd-204/src/core/service.c -=================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c +--- systemd-206.orig/src/core/service.c ++++ systemd-206/src/core/service.c @@ -51,7 +51,8 @@ typedef enum RunlevelType { @@ -55,7 +53,7 @@ Index: systemd-204/src/core/service.c #endif static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -332,6 +345,9 @@ static char *sysv_translate_name(const c +@@ -334,6 +347,9 @@ static char *sysv_translate_name(const c if (endswith(name, ".sh")) /* Drop .sh suffix */ strcpy(stpcpy(r, name) - 3, ".service"); @@ -65,7 +63,7 @@ Index: systemd-204/src/core/service.c else /* Normal init script name */ strcpy(stpcpy(r, name), ".service"); -@@ -934,6 +950,13 @@ static int service_load_sysv_path(Servic +@@ -936,6 +952,13 @@ static int service_load_sysv_path(Servic if ((r = sysv_exec_commands(s, supports_reload)) < 0) goto finish; @@ -79,7 +77,7 @@ Index: systemd-204/src/core/service.c if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { /* If there a runlevels configured for this service -@@ -1015,6 +1038,9 @@ static int service_load_sysv_name(Servic +@@ -1017,6 +1040,9 @@ static int service_load_sysv_name(Servic if (endswith(name, ".sh.service")) return -ENOENT; @@ -89,7 +87,7 @@ Index: systemd-204/src/core/service.c STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { char *path; int r; -@@ -1035,6 +1061,18 @@ static int service_load_sysv_name(Servic +@@ -1037,6 +1063,18 @@ static int service_load_sysv_name(Servic } free(path); @@ -108,7 +106,7 @@ Index: systemd-204/src/core/service.c if (r < 0) return r; -@@ -3667,7 +3705,7 @@ static int service_enumerate(Manager *m) +@@ -3587,7 +3625,7 @@ static int service_enumerate(Manager *m) if (de->d_name[0] == 'S') { @@ -117,7 +115,7 @@ Index: systemd-204/src/core/service.c SERVICE(service)->sysv_start_priority_from_rcnd = MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); -@@ -3684,7 +3722,8 @@ static int service_enumerate(Manager *m) +@@ -3604,7 +3642,8 @@ static int service_enumerate(Manager *m) goto finish; } else if (de->d_name[0] == 'K' && @@ -127,7 +125,7 @@ Index: systemd-204/src/core/service.c r = set_ensure_allocated(&shutdown_services, trivial_hash_func, trivial_compare_func); -@@ -3724,7 +3763,9 @@ static int service_enumerate(Manager *m) +@@ -3644,7 +3683,9 @@ static int service_enumerate(Manager *m) * runlevels we assume the stop jobs will be implicitly added * by the core logic. Also, we don't really distinguish here * between the runlevels 0 and 6 and just add them to the diff --git a/Start-ctrl-alt-del.target-irreversibly.patch b/Start-ctrl-alt-del.target-irreversibly.patch deleted file mode 100644 index 68a94293..00000000 --- a/Start-ctrl-alt-del.target-irreversibly.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f49fd1d57a429d4a05ac86352c017a845f8185b3 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Tue, 7 May 2013 14:16:53 +0200 -Subject: [PATCH] Start ctrl-alt-del.target irreversibly - -This makes ctrl-alt-del reboots more robust, just like "systemctl -reboot". ---- - src/core/manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index c7f8f20..0508628 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) { - - case SIGINT: - if (m->running_as == SYSTEMD_SYSTEM) { -- manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE); -+ manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY); - break; - } - --- -1.8.1.4 - diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch index 297b5792..507d8fc2 100644 --- a/allow-multiple-sulogin-to-be-started.patch +++ b/allow-multiple-sulogin-to-be-started.patch @@ -9,10 +9,8 @@ allows multiple sulogin instance (bnc#793182). units/serial-getty@.service.m4 | 1 + 3 files changed, 3 insertions(+) -diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 -index 083eb97..243fea5 100644 ---- a/units/getty@.service.m4 -+++ b/units/getty@.service.m4 +--- systemd-206.orig/units/getty@.service.m4 ++++ systemd-206/units/getty@.service.m4 @@ -9,6 +9,7 @@ Description=Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) @@ -21,10 +19,8 @@ index 083eb97..243fea5 100644 After=systemd-user-sessions.service plymouth-quit-wait.service m4_ifdef(`HAVE_SYSV_COMPAT', After=rc-local.service -diff --git a/units/rescue.target b/units/rescue.target -index 3f59b14..20f6841 100644 ---- a/units/rescue.target -+++ b/units/rescue.target +--- systemd-206.orig/units/rescue.target ++++ systemd-206/units/rescue.target @@ -10,6 +10,7 @@ Description=Rescue Mode Documentation=man:systemd.special(7) Requires=sysinit.target rescue.service @@ -33,10 +29,8 @@ index 3f59b14..20f6841 100644 AllowIsolate=yes [Install] -diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 -index 60d7737..2b18dbf 100644 ---- a/units/serial-getty@.service.m4 -+++ b/units/serial-getty@.service.m4 +--- systemd-206.orig/units/serial-getty@.service.m4 ++++ systemd-206/units/serial-getty@.service.m4 @@ -10,6 +10,7 @@ Description=Serial Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) Documentation=http://0pointer.de/blog/projects/serial-console.html diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index e89708a3..44d90f35 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -7,10 +7,8 @@ set ACL on nvidia devices (bnc#808319). src/login/logind-acl.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c -index cb045a9..51093f2 100644 ---- a/src/login/logind-acl.c -+++ b/src/login/logind-acl.c +--- systemd-206.orig/src/login/logind-acl.c ++++ systemd-206/src/login/logind-acl.c @@ -24,6 +24,7 @@ #include #include @@ -19,8 +17,8 @@ index cb045a9..51093f2 100644 #include "logind-acl.h" #include "util.h" -@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev, - goto finish; +@@ -287,6 +288,22 @@ int devnode_acl_all(struct udev *udev, + r = devnode_acl(n, flush, del, old_uid, add, new_uid); } + /* only search for nvidia* if /dev/nvidiactl exists */ @@ -40,5 +38,5 @@ index cb045a9..51093f2 100644 + } + finish: - if (e) - udev_enumerate_unref(e); + udev_enumerate_unref(e); + set_free_free(nodes); diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch index b33c5589..fdc7b9d0 100644 --- a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -7,11 +7,9 @@ Subject: avoid assertion if invalid address familily is passed to src/nss-myhostname/nss-myhostname.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c -index 60e256d..e97d4e5 100644 ---- a/src/nss-myhostname/nss-myhostname.c -+++ b/src/nss-myhostname/nss-myhostname.c -@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( +--- systemd-206.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206/src/nss-myhostname/nss-myhostname.c +@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; const char *canonical = NULL, *additional = NULL; diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index 4cf66998..026de00c 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -7,10 +7,8 @@ Subject: delay fsck / cryptsetup after md / dmraid / lvm are started units/systemd-fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index 9b8e229..0949287 100644 ---- a/src/cryptsetup/cryptsetup-generator.c -+++ b/src/cryptsetup/cryptsetup-generator.c +--- systemd-206.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-206/src/cryptsetup/cryptsetup-generator.c @@ -160,6 +160,7 @@ static int create_disk( "Conflicts=umount.target\n" "DefaultDependencies=no\n" @@ -19,10 +17,8 @@ index 9b8e229..0949287 100644 "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); -diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in -index b3c71eb..c66a411 100644 ---- a/units/systemd-fsck@.service.in -+++ b/units/systemd-fsck@.service.in +--- systemd-206.orig/units/systemd-fsck@.service.in ++++ systemd-206/units/systemd-fsck@.service.in @@ -10,7 +10,7 @@ Description=File System Check on %f Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch index c0365d7c..c20aad94 100644 --- a/disable-nss-myhostname-warning-bnc-783841.patch +++ b/disable-nss-myhostname-warning-bnc-783841.patch @@ -6,10 +6,8 @@ Subject: disable nss-myhostname warning (bnc#783841) src/hostname/hostnamed.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c -index 0437e33..c7f454c 100644 ---- a/src/hostname/hostnamed.c -+++ b/src/hostname/hostnamed.c +--- systemd-206.orig/src/hostname/hostnamed.c ++++ systemd-206/src/hostname/hostnamed.c @@ -134,6 +134,7 @@ static int read_data(void) { static bool check_nss(void) { diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch index c4e313aa..e095da13 100644 --- a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +++ b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch @@ -8,10 +8,8 @@ if fsck was disabled for them (bnc#733283). units/local-fs-pre.target | 1 + 1 file changed, 1 insertion(+) -diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target -index 809f2ed..05fcbd4 100644 ---- a/units/local-fs-pre.target -+++ b/units/local-fs-pre.target +--- systemd-206.orig/units/local-fs-pre.target ++++ systemd-206/units/local-fs-pre.target @@ -9,3 +9,4 @@ Description=Local File Systems (Pre) Documentation=man:systemd.special(7) diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch index a0c005f8..6d6a3346 100644 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -7,10 +7,8 @@ ensure passphrase is handled before starting getty on tty1. units/systemd-ask-password-wall.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in -index 0eaa274..ca51e4e 100644 ---- a/units/systemd-ask-password-wall.service.in -+++ b/units/systemd-ask-password-wall.service.in +--- systemd-206.orig/units/systemd-ask-password-wall.service.in ++++ systemd-206/units/systemd-ask-password-wall.service.in @@ -8,7 +8,7 @@ [Unit] Description=Forward Password Requests to Wall diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch index 007e6010..3f6b0eb4 100644 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -7,10 +7,8 @@ strip hostname so the domain part isn't set as part of the hostname src/core/hostname-setup.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index 0ce683b..1c8e555 100644 ---- a/src/core/hostname-setup.c -+++ b/src/core/hostname-setup.c +--- systemd-206.orig/src/core/hostname-setup.c ++++ systemd-206/src/core/hostname-setup.c @@ -32,7 +32,7 @@ #include "fileio.h" @@ -20,7 +18,7 @@ index 0ce683b..1c8e555 100644 int r; assert(path); -@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const char *path, char **hn) { +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const return -ENOENT; } diff --git a/ensure-sysctl-are-applied-after-modules-are-loaded.patch b/ensure-sysctl-are-applied-after-modules-are-loaded.patch index 186e09e0..4912449c 100644 --- a/ensure-sysctl-are-applied-after-modules-are-loaded.patch +++ b/ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -7,11 +7,9 @@ Subject: ensure sysctl are applied after modules are loaded units/systemd-sysctl.service.in | 1 + 1 file changed, 1 insertion(+) -diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in -index 45e1ceb..caaaa9a 100644 ---- a/units/systemd-sysctl.service.in -+++ b/units/systemd-sysctl.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5) +--- systemd-206.orig/units/systemd-sysctl.service.in ++++ systemd-206/units/systemd-sysctl.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch index a28f4937..9f5bfea1 100644 --- a/fix-owner-of-var-log-btmp.patch +++ b/fix-owner-of-var-log-btmp.patch @@ -7,10 +7,8 @@ ensure btmp is owned only by root (bnc#777405). tmpfiles.d/systemd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf -index ee86f2e..29d6e97 100644 ---- a/tmpfiles.d/systemd.conf -+++ b/tmpfiles.d/systemd.conf +--- systemd-206.orig/tmpfiles.d/systemd.conf ++++ systemd-206/tmpfiles.d/systemd.conf @@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d F /run/utmp 0664 root utmp - diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index 77a2e6b7..dddcefe5 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -6,11 +6,9 @@ Subject: fix support for boot prefixed initscript (bnc#746506) src/systemctl/systemctl.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) -Index: systemd-204/src/systemctl/systemctl.c -=================================================================== ---- systemd-204.orig/src/systemctl/systemctl.c -+++ systemd-204/src/systemctl/systemctl.c -@@ -4082,8 +4082,28 @@ static int enable_sysv_units(char **args +--- systemd-206.orig/src/systemctl/systemctl.c ++++ systemd-206/src/systemctl/systemctl.c +@@ -4238,8 +4238,28 @@ static int enable_sysv_units(char **args p[strlen(p) - sizeof(".service") + 1] = 0; found_sysv = access(p, F_OK) >= 0; diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch index 8b4f879c..d40fda5a 100644 --- a/force-lvm-restart-after-cryptsetup-target-is-reached.patch +++ b/force-lvm-restart-after-cryptsetup-target-is-reached.patch @@ -6,10 +6,8 @@ Subject: force lvm restart after cryptsetup target is reached src/cryptsetup/cryptsetup-generator.c | 57 ++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) -diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index 81b7708..1940985 100644 ---- a/src/cryptsetup/cryptsetup-generator.c -+++ b/src/cryptsetup/cryptsetup-generator.c +--- systemd-206.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-206/src/cryptsetup/cryptsetup-generator.c @@ -22,6 +22,7 @@ #include #include @@ -18,7 +16,7 @@ index 81b7708..1940985 100644 #include "log.h" #include "util.h" -@@ -64,6 +65,54 @@ static bool has_option(const char *haystack, const char *needle) { +@@ -64,6 +65,54 @@ static bool has_option(const char *hayst return false; } diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index d66c24fc..79b99a67 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -7,11 +7,9 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -Index: systemd-204/src/systemctl/systemctl.c -=================================================================== ---- systemd-204.orig/src/systemctl/systemctl.c -+++ systemd-204/src/systemctl/systemctl.c -@@ -5974,6 +5974,28 @@ int main(int argc, char*argv[]) { +--- systemd-206.orig/src/systemctl/systemctl.c ++++ systemd-206/src/systemctl/systemctl.c +@@ -6197,6 +6197,28 @@ int main(int argc, char*argv[]) { log_parse_environment(); log_open(); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 050f9216..d2116163 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -7,10 +7,8 @@ Subject: handle disable_caplock and compose_table and kbd_rate src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) -diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c -index 1bbf737..384f936 100644 ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c +--- systemd-206.orig/src/vconsole/vconsole-setup.c ++++ systemd-206/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -30,7 +28,7 @@ index 1bbf737..384f936 100644 int i = 0; pid_t pid; -@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle, +@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +37,7 @@ index 1bbf737..384f936 100644 args[i++] = NULL; pid = fork(); -@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) { +@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) } } diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch index 075d67d8..cdcb932e 100644 --- a/handle-etc-HOSTNAME.patch +++ b/handle-etc-HOSTNAME.patch @@ -8,10 +8,8 @@ Subject: handle /etc/HOSTNAME src/hostname/hostnamed.c | 12 +++++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) -diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index 8aa1cff..0ce683b 100644 ---- a/src/core/hostname-setup.c -+++ b/src/core/hostname-setup.c +--- systemd-206.orig/src/core/hostname-setup.c ++++ systemd-206/src/core/hostname-setup.c @@ -61,12 +61,24 @@ int hostname_setup(void) { r = read_and_strip_hostname("/etc/hostname", &b); @@ -19,6 +17,7 @@ index 8aa1cff..0ce683b 100644 - if (r == -ENOENT) - enoent = true; - else +- log_warning("Failed to read configured hostname: %s", strerror(-r)); + if (r == -ENOENT) { + /* use SUSE fallback */ + r = read_and_strip_hostname("/etc/HOSTNAME", &b); @@ -31,21 +30,18 @@ index 8aa1cff..0ce683b 100644 + } + else + hn = b; -+ + +- hn = NULL; + } + else { - log_warning("Failed to read configured hostname: %s", strerror(-r)); -- -- hn = NULL; ++ log_warning("Failed to read configured hostname: %s", strerror(-r)); + hn = NULL; + } } else hn = b; -diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c -index c7f454c..cfbd706 100644 ---- a/src/hostname/hostnamed.c -+++ b/src/hostname/hostnamed.c +--- systemd-206.orig/src/hostname/hostnamed.c ++++ systemd-206/src/hostname/hostnamed.c @@ -129,6 +129,10 @@ static int read_data(void) { if (r < 0 && r != -ENOENT) return r; @@ -65,7 +61,7 @@ index c7f454c..cfbd706 100644 if (isempty(data[PROP_STATIC_HOSTNAME])) { if (unlink("/etc/hostname") < 0) -@@ -290,7 +295,12 @@ static int write_data_static_hostname(void) { +@@ -290,7 +295,12 @@ static int write_data_static_hostname(vo return 0; } diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 67fe0155..284686b2 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,10 +6,8 @@ Authors: Stanislav Brabec Cristian Rodríguez -Index: systemd-204/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-204.orig/src/vconsole/vconsole-setup.c -+++ systemd-204/src/vconsole/vconsole-setup.c +--- systemd-206.orig/src/vconsole/vconsole-setup.c ++++ systemd-206/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -100,11 +98,9 @@ Index: systemd-204/src/vconsole/vconsole-setup.c #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -2452,6 +2452,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -124,10 +120,8 @@ Index: systemd-204/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-204/rules/73-seat-numlock.rules -=================================================================== --- /dev/null -+++ systemd-204/rules/73-seat-numlock.rules ++++ systemd-206/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -137,10 +131,8 @@ Index: systemd-204/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-204/src/login/numlock-on.c -=================================================================== --- /dev/null -+++ systemd-204/src/login/numlock-on.c ++++ systemd-206/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -176,10 +168,8 @@ Index: systemd-204/src/login/numlock-on.c + + exit(0); +} -Index: systemd-204/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-204.orig/units/systemd-vconsole-setup.service.in -+++ systemd-204/units/systemd-vconsole-setup.service.in +--- systemd-206.orig/units/systemd-vconsole-setup.service.in ++++ systemd-206/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index e2ac6c77..df273d04 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -7,11 +7,9 @@ handle ROOT_USES_LANG=ctype (bnc#792182). src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) -diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c -index d7113b9..b3fb603 100644 ---- a/src/core/locale-setup.c -+++ b/src/core/locale-setup.c -@@ -70,6 +70,11 @@ static const char * const variable_names[_VARIABLE_MAX] = { +--- systemd-206.orig/src/core/locale-setup.c ++++ systemd-206/src/core/locale-setup.c +@@ -70,6 +70,11 @@ static const char * const variable_names int locale_setup(void) { char *variables[_VARIABLE_MAX] = {}; int r = 0, i; @@ -23,32 +21,31 @@ index d7113b9..b3fb603 100644 if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -117,6 +122,28 @@ int locale_setup(void) { +@@ -116,6 +121,27 @@ int locale_setup(void) { + if (r < 0 && r != -ENOENT) log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT -+ if (r <= 0 && ++ if (r <= 0 && + (r = parse_env_file("/etc/sysconfig/language", NEWLINE, + "ROOT_USES_LANG", &root_uses_lang, + "RC_LANG", &variables[VARIABLE_LANG], -+ NULL)) < 0) { ++ NULL)) < 0) { ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); + -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); + } else { -+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) { -+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype")) -+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; -+ else -+ free(variables[VARIABLE_LANG]); ++ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) { ++ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype")) ++ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; ++ else ++ free(variables[VARIABLE_LANG]); + -+ variables[VARIABLE_LANG]=strdup("POSIX"); -+ } ++ variables[VARIABLE_LANG]=strdup("POSIX"); + } ++ } + +#endif -+ - if (!variables[VARIABLE_LANG]) { - variables[VARIABLE_LANG] = strdup("C"); - if (!variables[VARIABLE_LANG]) { + + for (i = 0; i < _VARIABLE_MAX; i++) { + if (variables[i]) { diff --git a/insserv-generator.patch b/insserv-generator.patch index 582098ea..d53876b7 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -13,11 +13,9 @@ systemd unit drop-in files to add dependencies create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -diff --git a/Makefile.am b/Makefile.am -index 016d7da..9f8319d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -315,6 +315,7 @@ rootlibexec_PROGRAMS = \ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -321,6 +321,7 @@ rootlibexec_PROGRAMS = \ systemd-sleep systemgenerator_PROGRAMS = \ @@ -25,7 +23,7 @@ index 016d7da..9f8319d 100644 systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator -@@ -1549,6 +1550,14 @@ systemd_delta_LDADD = \ +@@ -1642,6 +1643,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ @@ -40,11 +38,8 @@ index 016d7da..9f8319d 100644 systemd_getty_generator_SOURCES = \ src/getty-generator/getty-generator.c -diff --git a/src/insserv-generator/Makefile b/src/insserv-generator/Makefile -new file mode 100644 -index 0000000..9d07505 --- /dev/null -+++ b/src/insserv-generator/Makefile ++++ systemd-206/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -74,11 +69,8 @@ index 0000000..9d07505 + $(MAKE) -C .. clean + +.PHONY: all clean -diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c -new file mode 100644 -index 0000000..067ee2f --- /dev/null -+++ b/src/insserv-generator/insserv-generator.c ++++ systemd-206/src/insserv-generator/insserv-generator.c @@ -0,0 +1,309 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -389,6 +381,3 @@ index 0000000..067ee2f + + return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; +} --- -1.8.1.4 - diff --git a/macros.systemd.upstream b/macros.systemd.upstream index dc19f937..323d1d48 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -20,6 +20,7 @@ # RPM macros for packages installing systemd unit files %_unitdir @systemunitdir@ +%_userunitdir @userunitdir@ %_presetdir @systempresetdir@ %_udevhwdbdir @udevhwdbdir@ %_udevrulesdir @udevrulesdir@ @@ -71,3 +72,7 @@ fi \ %journal_catalog_update() \ @rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ %{nil} + +%tmpfiles_create() \ +@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ +%{nil} diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch index 238d23be..dfa7cd97 100644 --- a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -7,11 +7,9 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list units/systemd-modules-load.service.in | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) -diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c -index 7b19ee0..36b1a68 100644 ---- a/src/modules-load/modules-load.c -+++ b/src/modules-load/modules-load.c -@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *argv[]) { +--- systemd-206.orig/src/modules-load/modules-load.c ++++ systemd-206/src/modules-load/modules-load.c +@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar int main(int argc, char *argv[]) { int r, k; struct kmod_ctx *ctx; @@ -52,10 +50,8 @@ index 7b19ee0..36b1a68 100644 finish: kmod_unref(ctx); strv_free(arg_proc_cmdline_modules); -diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in -index 32deb52..2e26d2f 100644 ---- a/units/systemd-modules-load.service.in -+++ b/units/systemd-modules-load.service.in +--- systemd-206.orig/units/systemd-modules-load.service.in ++++ systemd-206/units/systemd-modules-load.service.in @@ -13,6 +13,7 @@ Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service Before=sysinit.target shutdown.target diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch index 93f8c8bf..41661df8 100644 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -7,11 +7,9 @@ Subject: optionally warn if nss-myhostname is called src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) -diff --git a/configure.ac b/configure.ac -index e1278e8..06eb98d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then +--- systemd-206.orig/configure.ac ++++ systemd-206/configure.ac +@@ -803,6 +803,17 @@ if test "x$enable_myhostname" != "xno"; fi AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) @@ -29,10 +27,8 @@ index e1278e8..06eb98d 100644 # ------------------------------------------------------------------------------ AC_ARG_WITH(firmware-path, AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], -diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c -index e97d4e5..a2a6de8 100644 ---- a/src/nss-myhostname/nss-myhostname.c -+++ b/src/nss-myhostname/nss-myhostname.c +--- systemd-206.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206/src/nss-myhostname/nss-myhostname.c @@ -29,6 +29,9 @@ #include #include @@ -54,7 +50,7 @@ index e97d4e5..a2a6de8 100644 enum nss_status _nss_myhostname_gethostbyname4_r( const char *name, struct gaih_addrtuple **pat, -@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostbyname4_r( +@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostb return NSS_STATUS_NOTFOUND; } @@ -64,7 +60,7 @@ index e97d4e5..a2a6de8 100644 /* If this fails, n_addresses is 0. Which is fine */ ifconf_acquire_addresses(&addresses, &n_addresses); -@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostbyname3_r( +@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostb local_address_ipv4 = LOCALADDRESS_IPV4; } @@ -84,7 +80,7 @@ index e97d4e5..a2a6de8 100644 return fill_in_hostent( canonical, additional, af, -@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( +@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostb errnop, h_errnop, NULL); } diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 2e13936d..3ff05deb 100644 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -11,10 +11,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. src/core/service.h | 1 + 2 files changed, 33 insertions(+), 2 deletions(-) -diff --git a/src/core/service.c b/src/core/service.c -index a8b0d9d..c357b33 100644 ---- a/src/core/service.c -+++ b/src/core/service.c +--- systemd-206.orig/src/core/service.c ++++ systemd-206/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; @@ -23,7 +21,7 @@ index a8b0d9d..c357b33 100644 #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -875,6 +876,34 @@ static int service_load_sysv_path(Service *s, const char *path) { +@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -58,7 +56,7 @@ index a8b0d9d..c357b33 100644 } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -925,7 +954,8 @@ static int service_load_sysv_path(Service *s, const char *path) { +@@ -927,7 +956,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -68,7 +66,7 @@ index a8b0d9d..c357b33 100644 s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) { +@@ -2094,7 +2124,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -77,11 +75,9 @@ index a8b0d9d..c357b33 100644 s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -diff --git a/src/core/service.h b/src/core/service.h -index 703d3fa..dc52e8c 100644 ---- a/src/core/service.h -+++ b/src/core/service.h -@@ -176,6 +176,7 @@ struct Service { +--- systemd-206.orig/src/core/service.h ++++ systemd-206/src/core/service.h +@@ -177,6 +177,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; bool sysv_enabled:1; diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index e5c85f0c..c9f3fc9d 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -10,11 +10,9 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount -diff --git a/Makefile.am b/Makefile.am -index 8730f66..b8cf696 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -409,6 +409,12 @@ dist_systemunit_DATA = \ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -407,6 +407,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target @@ -27,7 +25,7 @@ index 8730f66..b8cf696 100644 nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4277,6 +4283,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -35,13 +33,10 @@ index 8730f66..b8cf696 100644 + var-run.mount \ + var-lock.mount endif - SHUTDOWN_TARGET_WANTS += \ - systemd-update-utmp-shutdown.service -diff --git a/units/var-lock.mount b/units/var-lock.mount -new file mode 100644 -index 0000000..07277ad + SYSINIT_TARGET_WANTS += \ + systemd-update-utmp.service --- /dev/null -+++ b/units/var-lock.mount ++++ systemd-206/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -62,11 +57,8 @@ index 0000000..07277ad +Where=/var/lock +Type=bind +Options=bind -diff --git a/units/var-run.mount b/units/var-run.mount -new file mode 100644 -index 0000000..ab4da42 --- /dev/null -+++ b/units/var-run.mount ++++ systemd-206/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch index fb00b6d8..ca2c8271 100644 --- a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -12,11 +12,9 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/core/service.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -Index: systemd-204/src/core/service.c -=================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c -@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic +--- systemd-206.orig/src/core/service.c ++++ systemd-206/src/core/service.c +@@ -2092,8 +2092,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 3ca7dc2a..45f1ad52 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -10,10 +10,8 @@ configuration), needed by openSUSE (bnc#809420). units/systemd-sysctl.service.in | 1 + 2 files changed, 9 insertions(+) -Index: systemd-204/src/sysctl/sysctl.c -=================================================================== ---- systemd-204.orig/src/sysctl/sysctl.c -+++ systemd-204/src/sysctl/sysctl.c +--- systemd-206.orig/src/sysctl/sysctl.c ++++ systemd-206/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -36,10 +34,8 @@ Index: systemd-204/src/sysctl/sysctl.c r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { -Index: systemd-204/units/systemd-sysctl.service.in -=================================================================== ---- systemd-204.orig/units/systemd-sysctl.service.in -+++ systemd-204/units/systemd-sysctl.service.in +--- systemd-206.orig/units/systemd-sysctl.service.in ++++ systemd-206/units/systemd-sysctl.service.in @@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d diff --git a/systemctl-does-not-expand-u-so-revert-back-to-I.patch b/systemctl-does-not-expand-u-so-revert-back-to-I.patch deleted file mode 100644 index 6502fa49..00000000 --- a/systemctl-does-not-expand-u-so-revert-back-to-I.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 9541fe6adff9941e487084c718ff2d46ed2929c6 Mon Sep 17 00:00:00 2001 -From: Auke Kok -Date: Thu, 9 May 2013 09:39:15 -0700 -Subject: [PATCH] systemctl does not expand %u, so revert back to %I - -The description field is only displayed by systemctl, and -it can't expand %u properly (it will always display "root"). ---- - units/user@.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/user@.service.in b/units/user@.service.in -index 3cf1347..ece671d 100644 ---- a/units/user@.service.in -+++ b/units/user@.service.in -@@ -6,7 +6,7 @@ - # (at your option) any later version. - - [Unit] --Description=User Manager for %u -+Description=User Manager for %I - After=systemd-user-sessions.service - - [Service] --- -1.8.1.4 - diff --git a/systemd-204.tar.xz b/systemd-204.tar.xz deleted file mode 100644 index ae11dd5d..00000000 --- a/systemd-204.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b -size 2186264 diff --git a/systemd-206.tar.xz b/systemd-206.tar.xz new file mode 100644 index 00000000..5702098a --- /dev/null +++ b/systemd-206.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c993de071118ea1df7ffc4be26ef0b0d78354ef15b2743a2783d20edfcde9de +size 2340536 diff --git a/systemd-insserv_conf b/systemd-insserv_conf deleted file mode 100644 index 5bdebd1b..00000000 --- a/systemd-insserv_conf +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -[ -r /etc/insserv.conf ] || exit 0 - -declare -A facilities -facilities["local_fs"]="local-fs.target" -facilities["localfs"]="local-fs.target" -facilities["named"]="nss-lookup.target" -facilities["network"]="network.target" -# done in systemd code -#facilities["portmap"]="rpcbind.target" -facilities["remote_fs"]="remote-fs.target" -facilities["syslog"]="syslog.target" -facilities["time"]="time-sync.target" - -while read line ; do - case "$line" in - \#*|"" ) continue;; - \<* ) continue;; - \$*) t=${line%% *} - target=${facilities[${t:1}]} - [ -z $target ] && continue - mkdir -p $1/$target.{requires,wants} - for dep in ${line##* } ; do - stripped_dep=${dep/boot./} - case "$stripped_dep" in - +*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:2}]:-${stripped_dep:1}.service} $1/$target.wants/ ;; - *) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.requires/ ;; - esac - done - ;; - esac -done < /etc/insserv.conf - diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 219445d9..87518f9d 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") + diff --git a/systemd-mini.changes b/systemd-mini.changes index 1900e582..35185b2f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,162 @@ +------------------------------------------------------------------- +Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com + +- Ensure /usr/lib/systemd/system/shutdown.target.wants is created + and owned by systemd package. + +------------------------------------------------------------------- +Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com + +- Fix drop-in for getty@tty1.service + +------------------------------------------------------------------- +Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com + +- Move systemd-journal-gateway to subpackage to lower dependencies + in default install. + +------------------------------------------------------------------- +Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org + +- version 206 , highlights: +* Unit files now understand the new %v specifier which + resolves to the kernel version string as returned by "uname-r". +* "journalctl -b" may now be used to look for boot output of a + specific boot. Try "journalctl -b -1" +* Creation of "dead" device nodes has been moved from udev + into kmod and tmpfiles. +* The udev "keymap" data files and tools to apply keyboard + specific mappings of scan to key codes, and force-release + scan code lists have been entirely replaced by a udev + "keyboard" builtin and a hwdb data file. + +- remove patches now in upstream +- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 +- systemd now require the kmod tool in addition to the library. + +------------------------------------------------------------------- +Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com + +- use-usr-sbin-sulogin-for-emergency-service.patch + emergency.service failed to start because sulogin is in /usr/sbin now + +------------------------------------------------------------------- +Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de + +- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, + not a directory + +------------------------------------------------------------------- +Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org + +- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch + fix segfault at shutdown +- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch + disable the cgroups release agent when shutting down. +- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch + remove ancient fallback code; turn connection error into warning +- 006-suppress-status-message-output-at-shutdown-when-quie.patch + make shutdown honour "quiet" kernel cmdline. + +------------------------------------------------------------------- +Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org + +- fix broken symlink, service is called systemd-random-seed now. + +------------------------------------------------------------------- +Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com + +- Update to release 205: + + two new unit types have been introduced: + - Scope units are very similar to service units, however, are + created out of pre-existing processes -- instead of PID 1 + forking off the processes. + - Slice units may be used to partition system resources in an + hierarchial fashion and then assign other units to them. By + default there are now three slices: system.slice (for all + system services), user.slice (for all user sessions), + machine.slice (for VMs and containers). + + new concept of "transient" units, which are created at runtime + using an API and not based on configuration from disk. + + logind has been updated to make use of scope and slice units to + manage user sessions. Logind will no longer create cgroups + hierchies itself but will relying on PID 1. + + A new mini-daemon "systemd-machined" has been added which + may be used by virtualization managers to register local + VMs/containers. machinectl tool has been added to query + meta-data from systemd-machined. + + Low-level cgroup configuration options ControlGroup=, + ControlGroupModify=, ControlGroupPersistent=, + ControlGroupAttribute= have been removed. High-level attribute + settings or slice units should be used instead? + + A new bus call SetUnitProperties() has been added to alter + various runtime parameters of a unit, including cgroup + parameters. systemctl gained set-properties command to wrap + this call. + + A new tool "systemd-run" has been added which can be used to + run arbitrary command lines as transient services or scopes, + while configuring a number of settings via the command + line. + + nspawn will now inform the user explicitly that kernels with + audit enabled break containers, and suggest the user to turn + off audit. + + Support for detecting the IMA and AppArmor security + frameworks with ConditionSecurity= has been added. + + journalctl gained a new "-k" switch for showing only kernel + messages, mimicking dmesg output; in addition to "--user" + and "--system" switches for showing only user's own logs + and system logs. + + systemd-delta can now show information about drop-in + snippets extending unit files. + + systemd will now look for the "debug" argument on the kernel + command line and enable debug logging, similar to + "systemd.log_level=debug" already did before. + + "systemctl set-default", "systemctl get-default" has been + added to configure the default.target symlink, which + controls what to boot into by default. + + "systemctl set-log-level" has been added as a convenient + way to raise and lower systemd logging threshold. + + "systemd-analyze plot" will now show the time the various + generators needed for execution, as well as information + about the unit file loading. + + libsystemd-journal gained a new sd_journal_open_files() call + for opening specific journal files. journactl also gained a + new switch to expose this new functionality (useful for + debugging). + + systemd gained the new DefaultEnvironment= setting in + /etc/systemd/system.conf to set environment variables for + all services. + + If a privileged process logs a journal message with the + OBJECT_PID= field set, then journald will automatically + augment this with additional OBJECT_UID=, OBJECT_GID=, + OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if + system services want to log events about specific client + processes. journactl/systemctl has been updated to make use + of this information if all log messages regarding a specific + unit is requested. +- Remove 0001-journal-letting-interleaved-seqnums-go.patch, + 0002-journal-remember-last-direction-of-search-and-keep-o.patch, + 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, + 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, + 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, + 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, + 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, + Start-ctrl-alt-del.target-irreversibly.patch, + systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged + upstream. +- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, + 1008-add-msft-compability-rules.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, + fix-support-for-boot-prefixed-initscript-bnc-746506.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch, + insserv-generator.patch, + optionally-warn-if-nss-myhostname-is-called.patch, + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, + service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. +- Update macros.systemd.upstream with latest upstream revision. + ------------------------------------------------------------------- Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index e0be549a..8dc12a23 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 204 +Version: 206 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -65,9 +65,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 %endif -BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(libkmod) >= 14 BuildRequires: pkgconfig(liblzma) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libmicrohttpd) @@ -90,6 +90,7 @@ Conflicts: kiwi Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd +Requires: kmod >= 14 Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -168,24 +169,9 @@ Patch24: handle-etc-HOSTNAME.patch Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors. -Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch -# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. -Patch43: Start-ctrl-alt-del.target-irreversibly.patch -# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument -Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch -# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks -Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch -# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. -Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch -# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops -Patch47: 0001-journal-letting-interleaved-seqnums-go.patch -# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops -Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch -# PATCH-FIX-UPSTREAM 0160-mount-when-learning-about-the-root-mount-from-mounti.patch crrodriguez@opensuse.org another case where / is attempted to umount at shutdown -Patch49: 0160-mount-when-learning-about-the-root-mount-from-mounti.patch -# PATCH-FIX-UPSTREAM 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch crrodriguez@opensuse.org only attempt to connect to a session bus if one likely exists. -Patch50: 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch +# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin +Patch46: use-usr-sbin-sulogin-for-emergency-service.patch + # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -193,8 +179,6 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1004: 1004-fix-devname-prefix.patch # PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch @@ -370,6 +354,18 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package journal-gateway +Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description journal-gateway +systemd-journal-gatewayd serves journal events over the network using HTTP. + %endif %prep @@ -418,20 +414,12 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 %patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 + # udev patches %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 -%patch1004 -p1 %patch1005 -p1 %patch1006 -p1 # don't apply when bootstrapping to not modify Makefile.am @@ -503,7 +491,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd @@ -537,7 +525,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service +ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -596,7 +584,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -609,10 +597,11 @@ cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" EOF +# packaged in systemd-rpm-macros +rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : exit 0 %post @@ -761,6 +750,21 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%pre journal-gateway +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +exit 0 + +%post journal-gateway +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%preun journal-gateway +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%postun journal-gateway +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + %endif %files @@ -772,11 +776,13 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%{_bindir}/machinectl %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify +%{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password @@ -810,8 +816,10 @@ fi %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target %{_prefix}/lib/systemd/system/*.mount %{_prefix}/lib/systemd/system/*.timer @@ -821,6 +829,7 @@ fi %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog @@ -867,7 +876,7 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/xdg/systemd/user +%{_sysconfdir}/xdg/systemd/user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -875,6 +884,7 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -888,6 +898,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -896,6 +907,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%exclude %{_datadir}/systemd/gatewayd %{_datadir}/systemd %if ! 0%{?bootstrap} @@ -908,7 +920,7 @@ fi %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* - +%exclude %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -990,15 +1002,10 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect -%{_prefix}/lib/udev/findkeyboards -%{_prefix}/lib/udev/keymap %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%dir %{_prefix}/lib/udev/keymaps -%{_prefix}/lib/udev/keymaps/* -%{_prefix}/lib/udev/keyboard-force-release.sh %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -1077,6 +1084,12 @@ fi %{_sbindir}/nss-myhostname-config /%{_lib}/*nss_myhostname* +%files journal-gateway +%defattr(-, root, root) +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_datadir}/systemd/gatewayd %endif %changelog diff --git a/systemd-rpm-macros.changes b/systemd-rpm-macros.changes index 3d222ce2..165b84c9 100644 --- a/systemd-rpm-macros.changes +++ b/systemd-rpm-macros.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jul 4 13:59:43 CEST 2013 - fcrozat@suse.com + +- Resync with systemd v205 macros + ------------------------------------------------------------------- Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com diff --git a/systemd-rpm-macros.spec b/systemd-rpm-macros.spec index 0268d064..4c7b714f 100644 --- a/systemd-rpm-macros.spec +++ b/systemd-rpm-macros.spec @@ -19,7 +19,7 @@ #!BuildIgnore: util-linux Name: systemd-rpm-macros -Version: 1 +Version: 2 Release: 0 Summary: RPM macros for systemd License: LGPL-2.1+ diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 219445d9..87518f9d 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") + diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index 4c957df7..492ab22b 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -8,10 +8,8 @@ SUSE policy is to not clean /tmp by default. tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf -index 3b534a1..99eb6f2 100644 ---- a/tmpfiles.d/tmp.conf -+++ b/tmpfiles.d/tmp.conf +--- systemd-206.orig/tmpfiles.d/tmp.conf ++++ systemd-206/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details diff --git a/systemd.changes b/systemd.changes index 1900e582..35185b2f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,162 @@ +------------------------------------------------------------------- +Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com + +- Ensure /usr/lib/systemd/system/shutdown.target.wants is created + and owned by systemd package. + +------------------------------------------------------------------- +Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com + +- Fix drop-in for getty@tty1.service + +------------------------------------------------------------------- +Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com + +- Move systemd-journal-gateway to subpackage to lower dependencies + in default install. + +------------------------------------------------------------------- +Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org + +- version 206 , highlights: +* Unit files now understand the new %v specifier which + resolves to the kernel version string as returned by "uname-r". +* "journalctl -b" may now be used to look for boot output of a + specific boot. Try "journalctl -b -1" +* Creation of "dead" device nodes has been moved from udev + into kmod and tmpfiles. +* The udev "keymap" data files and tools to apply keyboard + specific mappings of scan to key codes, and force-release + scan code lists have been entirely replaced by a udev + "keyboard" builtin and a hwdb data file. + +- remove patches now in upstream +- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 +- systemd now require the kmod tool in addition to the library. + +------------------------------------------------------------------- +Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com + +- use-usr-sbin-sulogin-for-emergency-service.patch + emergency.service failed to start because sulogin is in /usr/sbin now + +------------------------------------------------------------------- +Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de + +- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, + not a directory + +------------------------------------------------------------------- +Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org + +- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch + fix segfault at shutdown +- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch + disable the cgroups release agent when shutting down. +- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch + remove ancient fallback code; turn connection error into warning +- 006-suppress-status-message-output-at-shutdown-when-quie.patch + make shutdown honour "quiet" kernel cmdline. + +------------------------------------------------------------------- +Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org + +- fix broken symlink, service is called systemd-random-seed now. + +------------------------------------------------------------------- +Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com + +- Update to release 205: + + two new unit types have been introduced: + - Scope units are very similar to service units, however, are + created out of pre-existing processes -- instead of PID 1 + forking off the processes. + - Slice units may be used to partition system resources in an + hierarchial fashion and then assign other units to them. By + default there are now three slices: system.slice (for all + system services), user.slice (for all user sessions), + machine.slice (for VMs and containers). + + new concept of "transient" units, which are created at runtime + using an API and not based on configuration from disk. + + logind has been updated to make use of scope and slice units to + manage user sessions. Logind will no longer create cgroups + hierchies itself but will relying on PID 1. + + A new mini-daemon "systemd-machined" has been added which + may be used by virtualization managers to register local + VMs/containers. machinectl tool has been added to query + meta-data from systemd-machined. + + Low-level cgroup configuration options ControlGroup=, + ControlGroupModify=, ControlGroupPersistent=, + ControlGroupAttribute= have been removed. High-level attribute + settings or slice units should be used instead? + + A new bus call SetUnitProperties() has been added to alter + various runtime parameters of a unit, including cgroup + parameters. systemctl gained set-properties command to wrap + this call. + + A new tool "systemd-run" has been added which can be used to + run arbitrary command lines as transient services or scopes, + while configuring a number of settings via the command + line. + + nspawn will now inform the user explicitly that kernels with + audit enabled break containers, and suggest the user to turn + off audit. + + Support for detecting the IMA and AppArmor security + frameworks with ConditionSecurity= has been added. + + journalctl gained a new "-k" switch for showing only kernel + messages, mimicking dmesg output; in addition to "--user" + and "--system" switches for showing only user's own logs + and system logs. + + systemd-delta can now show information about drop-in + snippets extending unit files. + + systemd will now look for the "debug" argument on the kernel + command line and enable debug logging, similar to + "systemd.log_level=debug" already did before. + + "systemctl set-default", "systemctl get-default" has been + added to configure the default.target symlink, which + controls what to boot into by default. + + "systemctl set-log-level" has been added as a convenient + way to raise and lower systemd logging threshold. + + "systemd-analyze plot" will now show the time the various + generators needed for execution, as well as information + about the unit file loading. + + libsystemd-journal gained a new sd_journal_open_files() call + for opening specific journal files. journactl also gained a + new switch to expose this new functionality (useful for + debugging). + + systemd gained the new DefaultEnvironment= setting in + /etc/systemd/system.conf to set environment variables for + all services. + + If a privileged process logs a journal message with the + OBJECT_PID= field set, then journald will automatically + augment this with additional OBJECT_UID=, OBJECT_GID=, + OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if + system services want to log events about specific client + processes. journactl/systemctl has been updated to make use + of this information if all log messages regarding a specific + unit is requested. +- Remove 0001-journal-letting-interleaved-seqnums-go.patch, + 0002-journal-remember-last-direction-of-search-and-keep-o.patch, + 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, + 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, + 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, + 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, + 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, + Start-ctrl-alt-del.target-irreversibly.patch, + systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged + upstream. +- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, + 1008-add-msft-compability-rules.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, + fix-support-for-boot-prefixed-initscript-bnc-746506.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch, + insserv-generator.patch, + optionally-warn-if-nss-myhostname-is-called.patch, + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, + service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. +- Update macros.systemd.upstream with latest upstream revision. + ------------------------------------------------------------------- Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 8bb25aa8..8c0271cf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 204 +Version: 206 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -60,9 +60,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 %endif -BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(libkmod) >= 14 BuildRequires: pkgconfig(liblzma) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libmicrohttpd) @@ -85,6 +85,7 @@ Conflicts: kiwi Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd +Requires: kmod >= 14 Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -163,24 +164,9 @@ Patch24: handle-etc-HOSTNAME.patch Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors. -Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch -# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. -Patch43: Start-ctrl-alt-del.target-irreversibly.patch -# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument -Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch -# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks -Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch -# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. -Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch -# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops -Patch47: 0001-journal-letting-interleaved-seqnums-go.patch -# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops -Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch -# PATCH-FIX-UPSTREAM 0160-mount-when-learning-about-the-root-mount-from-mounti.patch crrodriguez@opensuse.org another case where / is attempted to umount at shutdown -Patch49: 0160-mount-when-learning-about-the-root-mount-from-mounti.patch -# PATCH-FIX-UPSTREAM 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch crrodriguez@opensuse.org only attempt to connect to a session bus if one likely exists. -Patch50: 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch +# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin +Patch46: use-usr-sbin-sulogin-for-emergency-service.patch + # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -188,8 +174,6 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1004: 1004-fix-devname-prefix.patch # PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch @@ -365,6 +349,18 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package journal-gateway +Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description journal-gateway +systemd-journal-gatewayd serves journal events over the network using HTTP. + %endif %prep @@ -413,20 +409,12 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 %patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 + # udev patches %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 -%patch1004 -p1 %patch1005 -p1 %patch1006 -p1 # don't apply when bootstrapping to not modify Makefile.am @@ -498,7 +486,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd @@ -532,7 +520,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service +ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -591,7 +579,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -604,10 +592,11 @@ cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" EOF +# packaged in systemd-rpm-macros +rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : exit 0 %post @@ -756,6 +745,21 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%pre journal-gateway +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +exit 0 + +%post journal-gateway +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%preun journal-gateway +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%postun journal-gateway +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + %endif %files @@ -767,11 +771,13 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%{_bindir}/machinectl %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify +%{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password @@ -805,8 +811,10 @@ fi %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target %{_prefix}/lib/systemd/system/*.mount %{_prefix}/lib/systemd/system/*.timer @@ -816,6 +824,7 @@ fi %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog @@ -862,7 +871,7 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/xdg/systemd/user +%{_sysconfdir}/xdg/systemd/user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -870,6 +879,7 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -883,6 +893,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -891,6 +902,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%exclude %{_datadir}/systemd/gatewayd %{_datadir}/systemd %if ! 0%{?bootstrap} @@ -903,7 +915,7 @@ fi %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* - +%exclude %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -985,15 +997,10 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect -%{_prefix}/lib/udev/findkeyboards -%{_prefix}/lib/udev/keymap %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%dir %{_prefix}/lib/udev/keymaps -%{_prefix}/lib/udev/keymaps/* -%{_prefix}/lib/udev/keyboard-force-release.sh %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -1072,6 +1079,12 @@ fi %{_sbindir}/nss-myhostname-config /%{_lib}/*nss_myhostname* +%files journal-gateway +%defattr(-, root, root) +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_datadir}/systemd/gatewayd %endif %changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch index 8a67df99..01f96bde 100644 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -6,10 +6,8 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock src/timedate/timedated.c | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c -index cdb6e5b..7246452 100644 ---- a/src/timedate/timedated.c -+++ b/src/timedate/timedated.c +--- systemd-206.orig/src/timedate/timedated.c ++++ systemd-206/src/timedate/timedated.c @@ -182,6 +182,13 @@ static int read_data(void) { goto have_timezone; } diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch new file mode 100644 index 00000000..2c932c6c --- /dev/null +++ b/use-usr-sbin-sulogin-for-emergency-service.patch @@ -0,0 +1,27 @@ +From: Andrey Borzenkov +Subject: use /usr/sbin/sulogin in emergency service + +In current Factory sulogin is in /usr/sbin which makes it impossible +to enter emergency service. +--- systemd-206.orig/units/emergency.service ++++ systemd-206/units/emergency.service +@@ -17,7 +17,7 @@ Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=/usr/bin/systemctl --fail --no-block default + Type=idle + StandardInput=tty-force +--- systemd-206.orig/units/emergency.service.in ++++ systemd-206/units/emergency.service.in +@@ -17,7 +17,7 @@ Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default + Type=idle + StandardInput=tty-force From 64180b285dcd95ad68a26f42def01a603d6ec575a410378f1ad85bd2edf5c55a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 6 Aug 2013 09:43:29 +0000 Subject: [PATCH 148/991] Accepting request 186059 from Base:System - explicitly enable getty@tty1.service instead of getty@.service as the tty1 alias has been removed from the file (bnc#833494) OBS-URL: https://build.opensuse.org/request/show/186059 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=152 --- systemd-mini.spec | 2 +- systemd.changes | 6 ++++++ systemd.spec | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/systemd-mini.spec b/systemd-mini.spec index 8dc12a23..615ada19 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -624,7 +624,7 @@ fi if [ "$1" -eq 1 ]; then # Enable these services by default. /usr/bin/systemctl enable \ - getty@.service \ + getty@tty1.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : diff --git a/systemd.changes b/systemd.changes index 35185b2f..52acf962 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de + +- explicitly enable getty@tty1.service instead of getty@.service as + the tty1 alias has been removed from the file (bnc#833494) + ------------------------------------------------------------------- Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 8c0271cf..56827189 100644 --- a/systemd.spec +++ b/systemd.spec @@ -619,7 +619,7 @@ fi if [ "$1" -eq 1 ]; then # Enable these services by default. /usr/bin/systemctl enable \ - getty@.service \ + getty@tty1.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : From bb1ecefd31223a078b04c149080911648370e5346ec9ea20eaadf6887fe74c2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 23 Aug 2013 09:06:04 +0000 Subject: [PATCH 149/991] Accepting request 195987 from Base:System This SR fixes screen locking problems in Gnome and also automatic login. - Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 (forwarded request 195808 from namtrac) OBS-URL: https://build.opensuse.org/request/show/195987 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=153 --- ...nerating_the_session_fifo_not_before.patch | 96 +++++++++++++++++++ systemd-mini.changes | 12 +++ systemd-mini.spec | 3 + systemd.changes | 6 ++ systemd.spec | 3 + 5 files changed, 120 insertions(+) create mode 100644 logind_update_state_file_after_generating_the_session_fifo_not_before.patch diff --git a/logind_update_state_file_after_generating_the_session_fifo_not_before.patch b/logind_update_state_file_after_generating_the_session_fifo_not_before.patch new file mode 100644 index 00000000..c82d60c7 --- /dev/null +++ b/logind_update_state_file_after_generating_the_session_fifo_not_before.patch @@ -0,0 +1,96 @@ +Index: systemd-206/src/login/logind-dbus.c +=================================================================== +--- systemd-206.orig/src/login/logind-dbus.c ++++ systemd-206/src/login/logind-dbus.c +@@ -643,6 +643,10 @@ static int bus_manager_create_session(Ma + + session->create_message = dbus_message_ref(message); + ++ /* Now, let's wait until the slice unit and stuff got ++ * created. We send the reply back from ++ * session_send_create_reply().*/ ++ + return 0; + + fail: +@@ -2356,7 +2360,6 @@ DBusHandlerResult bus_message_filter( + if (streq_ptr(path, s->scope_job)) { + free(s->scope_job); + s->scope_job = NULL; +- session_save(s); + + if (s->started) { + if (streq(result, "done")) +@@ -2365,7 +2368,8 @@ DBusHandlerResult bus_message_filter( + dbus_set_error(&error, BUS_ERROR_JOB_FAILED, "Start job for unit %s failed with '%s'", unit, result); + session_send_create_reply(s, &error); + } +- } ++ } else ++ session_save(s); + } + + session_add_to_gc_queue(s); +Index: systemd-206/src/login/logind-session-dbus.c +=================================================================== +--- systemd-206.orig/src/login/logind-session-dbus.c ++++ systemd-206/src/login/logind-session-dbus.c +@@ -535,6 +535,10 @@ int session_send_create_reply(Session *s + if (!s->create_message) + return 0; + ++ /* This is called after the session scope was successfully ++ * created, and finishes where bus_manager_create_session() ++ * left off. */ ++ + if (error) { + DBusError buffer; + +@@ -588,6 +592,10 @@ int session_send_create_reply(Session *s + return log_oom(); + } + ++ /* Update the state file before we notify the client about the ++ * result */ ++ session_save(s); ++ + if (!dbus_connection_send(s->manager->bus, reply, NULL)) + return log_oom(); + +Index: systemd-206/src/machine/machine-dbus.c +=================================================================== +--- systemd-206.orig/src/machine/machine-dbus.c ++++ systemd-206/src/machine/machine-dbus.c +@@ -350,6 +350,10 @@ int machine_send_create_reply(Machine *m + return log_oom(); + } + ++ /* Update the machine state file before we notify the client ++ * about the result. */ ++ machine_save(m); ++ + if (!dbus_connection_send(m->manager->bus, reply, NULL)) + return log_oom(); + +Index: systemd-206/src/machine/machined-dbus.c +=================================================================== +--- systemd-206.orig/src/machine/machined-dbus.c ++++ systemd-206/src/machine/machined-dbus.c +@@ -543,7 +543,6 @@ DBusHandlerResult bus_message_filter( + if (streq_ptr(path, mm->scope_job)) { + free(mm->scope_job); + mm->scope_job = NULL; +- machine_save(mm); + + if (mm->started) { + if (streq(result, "done")) +@@ -552,7 +551,8 @@ DBusHandlerResult bus_message_filter( + dbus_set_error(&error, BUS_ERROR_JOB_FAILED, "Start job for unit %s failed with '%s'", unit, result); + machine_send_create_reply(mm, &error); + } +- } ++ } else ++ machine_save(mm); + } + + machine_add_to_gc_queue(mm); diff --git a/systemd-mini.changes b/systemd-mini.changes index 35185b2f..a6943f52 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com + +- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch + to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 + +------------------------------------------------------------------- +Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de + +- explicitly enable getty@tty1.service instead of getty@.service as + the tty1 alias has been removed from the file (bnc#833494) + ------------------------------------------------------------------- Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 615ada19..deca2fd2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -171,6 +171,8 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-UPSTREAM logind_update_state_file_after_generating_the_session_fifo_not_before.patch -- fdo#67273 +Patch47: logind_update_state_file_after_generating_the_session_fifo_not_before.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -415,6 +417,7 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch46 -p1 +%patch47 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 52acf962..a6943f52 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com + +- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch + to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 + ------------------------------------------------------------------- Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de diff --git a/systemd.spec b/systemd.spec index 56827189..515f27a4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -166,6 +166,8 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-UPSTREAM logind_update_state_file_after_generating_the_session_fifo_not_before.patch -- fdo#67273 +Patch47: logind_update_state_file_after_generating_the_session_fifo_not_before.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -410,6 +412,7 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch46 -p1 +%patch47 -p1 # udev patches %patch1001 -p1 From aa1c600ed747391299a72ef5da0fdf2b6d2f7869a46859ed722e96a501fd54bc Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 8 Sep 2013 13:31:37 +0000 Subject: [PATCH 150/991] Accepting request 197892 from Base:System - Remove force-lvm-restart-after-cryptsetup-target-is-reached.patch and remove additional dependencies on LVM in other patches: LVM has now systemd support, no need to work around it anymore in systemd. (forwarded request 197612 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/197892 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=154 --- ...etup-after-md-dmraid-lvm-are-started.patch | 6 +- ...e-started-before-local-fs-pre-target.patch | 6 +- ...t-after-cryptsetup-target-is-reached.patch | 102 ------------------ systemd-mini.changes | 9 ++ systemd-mini.spec | 2 - systemd.changes | 9 ++ systemd.spec | 2 - 7 files changed, 24 insertions(+), 112 deletions(-) delete mode 100644 force-lvm-restart-after-cryptsetup-target-is-reached.patch diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index 026de00c..06b2cb61 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -1,6 +1,6 @@ From: Frederic Crozat Date: Wed, 9 Nov 2011 11:10:49 +0100 -Subject: delay fsck / cryptsetup after md / dmraid / lvm are started +Subject: delay fsck / cryptsetup after md / dmraid are started --- src/cryptsetup/cryptsetup-generator.c | 1 + @@ -13,7 +13,7 @@ Subject: delay fsck / cryptsetup after md / dmraid / lvm are started "Conflicts=umount.target\n" "DefaultDependencies=no\n" "BindsTo=dev-mapper-%i.device\n" -+ "After=md.service dmraid.service lvm.service\n" ++ "After=md.service dmraid.service\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); @@ -24,7 +24,7 @@ Subject: delay fsck / cryptsetup after md / dmraid / lvm are started DefaultDependencies=no BindsTo=%i.device -After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device md.service dmraid.service Before=shutdown.target [Service] diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch index e095da13..aca18227 100644 --- a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +++ b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch @@ -1,8 +1,8 @@ From: Frederic Crozat Date: Thu, 9 Feb 2012 16:19:38 +0000 -Subject: ensure DM and LVM are started before local-fs-pre-target +Subject: ensure DM and dmraid are started before local-fs-pre-target -ensure md / lvm /dmraid is started before mounting partitions, +ensure md / dmraid is started before mounting partitions, if fsck was disabled for them (bnc#733283). --- units/local-fs-pre.target | 1 + @@ -14,4 +14,4 @@ if fsck was disabled for them (bnc#733283). Description=Local File Systems (Pre) Documentation=man:systemd.special(7) RefuseManualStart=yes -+After=md.service lvm.service dmraid.service ++After=md.service dmraid.service diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch deleted file mode 100644 index d40fda5a..00000000 --- a/force-lvm-restart-after-cryptsetup-target-is-reached.patch +++ /dev/null @@ -1,102 +0,0 @@ -From: Frederic Crozat -Date: Mon, 7 Nov 2011 18:04:20 +0100 -Subject: force lvm restart after cryptsetup target is reached - ---- - src/cryptsetup/cryptsetup-generator.c | 57 ++++++++++++++++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) - ---- systemd-206.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-206/src/cryptsetup/cryptsetup-generator.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include "log.h" - #include "util.h" -@@ -64,6 +65,54 @@ static bool has_option(const char *hayst - return false; - } - -+static int create_storage_after_cryptsetup (void) { -+ _cleanup_free_ char *to = NULL, *p = NULL; -+ _cleanup_fclose_ FILE *f = NULL; -+ -+ if (asprintf(&p, "%s/storage-after-cryptsetup.service", arg_dest) < 0) -+ return log_oom(); -+ -+ if (!(f = fopen(p, "wxe"))) { -+ log_error("Failed to create unit file: %m"); -+ return -errno; -+ } -+ -+ fprintf(f, -+ "[Unit]\n" -+ "Description=Restart storage after cryptsetup\n" -+ "DefaultDependencies=no\n" -+ "After=cryptsetup.target\n" -+ "Wants=cryptsetup.target\n" -+ "Before=local-fs.target\n" -+ "Before=shutdown.target\n"); -+ -+ fprintf(f, -+ "\n[Service]\n" -+ "RemainAfterExit=true\n" -+ "Type=oneshot\n" -+ "TimeoutSec=0\n" -+ "ExecStart=/usr/bin/systemctl restart lvm.service\n"); -+ -+ fflush(f); -+ -+ if (ferror(f)) { -+ log_error("Failed to write file: %m"); -+ return -errno; -+ } -+ -+ if (asprintf(&to, "%s/local-fs.target.wants/storage-after-cryptsetup.service", arg_dest) < 0) -+ return log_oom(); -+ -+ mkdir_parents(to, 0755); -+ -+ if (symlink("../storage-after-cryptsetup.service", to) < 0) { -+ log_error("Failed to create symlink ../storage-after-cryptsetup.service to '%s': %m", to); -+ return -errno; -+ } -+ -+ return 0; -+} -+ - static int create_disk( - const char *name, - const char *device, -@@ -334,6 +383,7 @@ int main(int argc, char *argv[]) { - _cleanup_fclose_ FILE *f = NULL; - unsigned n = 0; - int r = EXIT_SUCCESS; -+ bool no_crypttab = false; - char **i; - - if (argc > 1 && argc != 4) { -@@ -361,8 +411,10 @@ int main(int argc, char *argv[]) { - - f = fopen("/etc/crypttab", "re"); - if (!f) { -- if (errno == ENOENT) -+ if (errno == ENOENT) { -+ no_crypttab = true; - r = EXIT_SUCCESS; -+ } - else { - r = EXIT_FAILURE; - log_error("Failed to open /etc/crypttab: %m"); -@@ -464,5 +516,8 @@ next: - r = EXIT_FAILURE; - } - -+ if ((r == EXIT_SUCCESS && !no_crypttab) && (create_storage_after_cryptsetup () < 0)) -+ r = EXIT_FAILURE; -+ - return r; - } diff --git a/systemd-mini.changes b/systemd-mini.changes index a6943f52..76c0155b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com + +- Remove + force-lvm-restart-after-cryptsetup-target-is-reached.patch and + remove additional dependencies on LVM in other patches: LVM has + now systemd support, no need to work around it anymore in + systemd. + ------------------------------------------------------------------- Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index deca2fd2..09e188d1 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -128,7 +128,6 @@ Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -393,7 +392,6 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 diff --git a/systemd.changes b/systemd.changes index a6943f52..76c0155b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com + +- Remove + force-lvm-restart-after-cryptsetup-target-is-reached.patch and + remove additional dependencies on LVM in other patches: LVM has + now systemd support, no need to work around it anymore in + systemd. + ------------------------------------------------------------------- Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com diff --git a/systemd.spec b/systemd.spec index 515f27a4..ec9c1d3a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -123,7 +123,6 @@ Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -388,7 +387,6 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 From c446b5bdf8b0f1e8484ac35f753bb004d97339a96bfd6038a583a8777a3074fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 13 Sep 2013 12:45:43 +0000 Subject: [PATCH 151/991] Accepting request 198848 from Base:System - Enable Predictable Network interface names (bnc#829526). - version 207, distribution specific changes follow, for overall release notes see NEWS. - Fixed: * Failed at step PAM spawning /usr/lib/systemd/systemd: Operation not permitted * Fix shutdown hang "a stop job is running for Session 1 of user root" that was reported in opensuse-factory list. - systemd-sysctl no longer reads /etc/sysctl.conf however backward compatbility is to be provides by a symlink created at %post. - removed previously disabled upstream patches (merged): 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, 0006-suppress-status-message-output-at-shutdown-when-quie.patch, - removed upstream merged patches: exclude-dev-from-tmpfiles.patch, logind_update_state_file_after_generating_....patch - Add systemd-pam_config.patch: use correct include name for PAM configuration on openSUSE. - Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from tmpfiles (bnc#835813). OBS-URL: https://build.opensuse.org/request/show/198848 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=155 --- ...nt_dump-don-t-segfault-if-mount-is-n.patch | 34 ------- ...ups-release-agent-when-shutting-down.patch | 74 -------------- ...move-ancient-fallback-code-turn-conn.patch | 53 ---------- ...message-output-at-shutdown-when-quie.patch | 69 ------------- ...es-permissions-to-follow-openSUSE-po.patch | 4 +- ...alid-address-familily-is-passed-to-g.patch | 4 +- ...etup-after-md-dmraid-lvm-are-started.patch | 8 +- ...e-started-before-local-fs-pre-target.patch | 4 +- ...assword-wall-starts-after-getty-tty1.patch | 4 +- ...are-applied-after-modules-are-loaded.patch | 6 +- fix-owner-of-var-log-btmp.patch | 4 +- ...-boot-prefixed-initscript-bnc-746506.patch | 6 +- ...plock-and-compose_table-and-kbd_rate.patch | 4 +- ...lock-value-in-etc-sysconfig-keyboard.patch | 18 ++-- ...lang-value-in-etc-sysconfig-language.patch | 12 +-- insserv-generator.patch | 10 +- ...nerating_the_session_fifo_not_before.patch | 96 ------------------- ...USE-etc-sysconfig-kernel-module-list.patch | 8 +- ...lly-warn-if-nss-myhostname-is-called.patch | 10 +- ...script-heuristic-and-add-new-LSB-hea.patch | 14 +-- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 12 +-- ...vice-with-detected-pid-as-RemainAfte.patch | 6 +- systemd-206.tar.xz | 3 - systemd-207.tar.xz | 3 + systemd-mini.changes | 34 +++++++ systemd-mini.spec | 25 ++--- systemd-pam_config.patch | 14 +++ systemd.changes | 34 +++++++ systemd.spec | 25 ++--- ...or-openSUSE-version-of-etc-sysconfig.patch | 4 +- ...r-sbin-sulogin-for-emergency-service.patch | 11 --- 31 files changed, 182 insertions(+), 431 deletions(-) delete mode 100644 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch delete mode 100644 0004-disable-the-cgroups-release-agent-when-shutting-down.patch delete mode 100644 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch delete mode 100644 0006-suppress-status-message-output-at-shutdown-when-quie.patch delete mode 100644 logind_update_state_file_after_generating_the_session_fifo_not_before.patch delete mode 100644 systemd-206.tar.xz create mode 100644 systemd-207.tar.xz create mode 100644 systemd-pam_config.patch diff --git a/0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch b/0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch deleted file mode 100644 index 7db90f64..00000000 --- a/0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1e4fc9b1d8449e87474b3af8a4ddab09fab27cd5 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Thu, 4 Jul 2013 11:01:47 +0200 -Subject: [PATCH 2/6] core/mount.c:mount_dump(): don't segfault, if mount is - not mounted anymore - -Don't segfault, if m->from_proc_self_mountinfo and m->from_fragment is -false. - -https://bugzilla.redhat.com/show_bug.cgi?id=957783#c9 ---- - src/core/mount.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index 3cc3e65..58a3f11 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -822,9 +822,9 @@ static void mount_dump(Unit *u, FILE *f, const char *prefix) { - prefix, mount_state_to_string(m->state), - prefix, mount_result_to_string(m->result), - prefix, m->where, -- prefix, strna(p->what), -- prefix, strna(p->fstype), -- prefix, strna(p->options), -+ prefix, p ? strna(p->what) : "n/a", -+ prefix, p ? strna(p->fstype) : "n/a", -+ prefix, p ? strna(p->options) : "n/a", - prefix, yes_no(m->from_proc_self_mountinfo), - prefix, yes_no(m->from_fragment), - prefix, m->directory_mode); --- -1.8.1.4 - diff --git a/0004-disable-the-cgroups-release-agent-when-shutting-down.patch b/0004-disable-the-cgroups-release-agent-when-shutting-down.patch deleted file mode 100644 index 52f7b574..00000000 --- a/0004-disable-the-cgroups-release-agent-when-shutting-down.patch +++ /dev/null @@ -1,74 +0,0 @@ -From ad929bcc27e2c6c1aa731053e45882686e9babab Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 4 Jul 2013 20:31:18 +0200 -Subject: [PATCH 4/6] disable the cgroups release agent when shutting down - -During shutdown, when we try to clean up all remaining processes, the -kernel will fork new agents every time a cgroup runs empty. These -new processes cause delays in the final SIGTERM, SIGKILL logic. - -Apart from that, this should also avoid that the kernel-forked binaries -cause unpredictably timed access to the filesystem which we might need to -unmount. ---- - src/core/main.c | 4 ++++ - src/shared/cgroup-util.c | 15 +++++++++++++++ - src/shared/cgroup-util.h | 1 + - 3 files changed, 20 insertions(+) - -diff --git a/src/core/main.c b/src/core/main.c -index 8b8e110..ada0f9d 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -1942,6 +1942,10 @@ finish: - watchdog_close(true); - } - -+ /* avoid the creation of new processes forked by the kernel; at this -+ * point, we will not listen to the signals anyway */ -+ cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); -+ - execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block); - free(env_block); - log_error("Failed to execute shutdown binary, freezing: %m"); -diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c -index 390259e..73013d1 100644 ---- a/src/shared/cgroup-util.c -+++ b/src/shared/cgroup-util.c -@@ -790,6 +790,21 @@ int cg_install_release_agent(const char *controller, const char *agent) { - return 0; - } - -+int cg_uninstall_release_agent(const char *controller) { -+ _cleanup_free_ char *fs = NULL; -+ int r; -+ -+ r = cg_get_path(controller, NULL, "release_agent", &fs); -+ if (r < 0) -+ return r; -+ -+ r = write_string_file(fs, ""); -+ if (r < 0) -+ return r; -+ -+ return 0; -+} -+ - int cg_is_empty(const char *controller, const char *path, bool ignore_self) { - _cleanup_fclose_ FILE *f = NULL; - pid_t pid = 0, self_pid; -diff --git a/src/shared/cgroup-util.h b/src/shared/cgroup-util.h -index c781aab..0fc93c1 100644 ---- a/src/shared/cgroup-util.h -+++ b/src/shared/cgroup-util.h -@@ -89,6 +89,7 @@ int cg_set_group_access(const char *controller, const char *path, mode_t mode, u - int cg_set_task_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid); - - int cg_install_release_agent(const char *controller, const char *agent); -+int cg_uninstall_release_agent(const char *controller); - - int cg_is_empty(const char *controller, const char *path, bool ignore_self); - int cg_is_empty_by_spec(const char *spec, bool ignore_self); --- -1.8.1.4 - diff --git a/0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch b/0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch deleted file mode 100644 index 2f4b7254..00000000 --- a/0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch +++ /dev/null @@ -1,53 +0,0 @@ -From c1eba3008cac9e625b8bb774e9b44ceec8465980 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 4 Jul 2013 20:54:40 +0200 -Subject: [PATCH 5/6] cgroups-agent: remove ancient fallback code; turn - connection error into warning - -During re-execution and shutdown cgroups agents might not be able -to connect to systemd's private D-Bus socket, the printed error to -the console is misleding in that case, so turn it into a warning. ---- - src/cgroups-agent/cgroups-agent.c | 19 ++++++------------- - 1 file changed, 6 insertions(+), 13 deletions(-) - -diff --git a/src/cgroups-agent/cgroups-agent.c b/src/cgroups-agent/cgroups-agent.c -index 0e3d2b7..a47949a 100644 ---- a/src/cgroups-agent/cgroups-agent.c -+++ b/src/cgroups-agent/cgroups-agent.c -@@ -48,26 +48,19 @@ int main(int argc, char *argv[]) { - * this to avoid an activation loop when we start dbus when we - * are called when the dbus service is shut down. */ - -- if (!(bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error))) { --#ifndef NOLEGACY -- dbus_error_free(&error); -- -- /* Retry with the pre v21 socket name, to ease upgrades */ -- if (!(bus = dbus_connection_open_private("unix:abstract=/org/freedesktop/systemd1/private", &error))) { --#endif -- log_error("Failed to get D-Bus connection: %s", bus_error_message(&error)); -- goto finish; -- } --#ifndef NOLEGACY -+ bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error); -+ if (!bus) { -+ log_warning("Failed to get D-Bus connection: %s", bus_error_message(&error)); -+ goto finish; - } --#endif - - if (bus_check_peercred(bus) < 0) { - log_error("Bus owner not root."); - goto finish; - } - -- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released"))) { -+ m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released"); -+ if (!m) { - log_error("Could not allocate signal message."); - goto finish; - } --- -1.8.1.4 - diff --git a/0006-suppress-status-message-output-at-shutdown-when-quie.patch b/0006-suppress-status-message-output-at-shutdown-when-quie.patch deleted file mode 100644 index 8fb7ba23..00000000 --- a/0006-suppress-status-message-output-at-shutdown-when-quie.patch +++ /dev/null @@ -1,69 +0,0 @@ -From ec26be514ff3c5367b21f9881369080bda54fd2d Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 5 Jul 2013 00:32:05 +0200 -Subject: [PATCH 6/6] suppress status message output at shutdown when 'quiet' - is given - ---- - src/core/main.c | 4 ++-- - src/core/shutdown.c | 15 +++++++++++++++ - 2 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/src/core/main.c b/src/core/main.c -index ada0f9d..243855f 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -1942,9 +1942,9 @@ finish: - watchdog_close(true); - } - -- /* avoid the creation of new processes forked by the kernel; at this -+ /* avoid the creation of new processes forked by the kernel; at this - * point, we will not listen to the signals anyway */ -- cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); -+ cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); - - execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block); - free(env_block); -diff --git a/src/core/shutdown.c b/src/core/shutdown.c -index 2db761d..c02a14d 100644 ---- a/src/core/shutdown.c -+++ b/src/core/shutdown.c -@@ -39,6 +39,7 @@ - - #include "missing.h" - #include "log.h" -+#include "fileio.h" - #include "umount.h" - #include "util.h" - #include "mkdir.h" -@@ -130,12 +131,26 @@ static int pivot_to_new_root(void) { - } - - int main(int argc, char *argv[]) { -+ _cleanup_free_ char *line = NULL; - int cmd, r; - unsigned retries; - bool need_umount = true, need_swapoff = true, need_loop_detach = true, need_dm_detach = true; - bool in_container, use_watchdog = false; - char *arguments[3]; - -+ /* suppress shutdown status output if 'quiet' is used */ -+ r = read_one_line_file("/proc/cmdline", &line); -+ if (r >= 0) { -+ char *w, *state; -+ size_t l; -+ -+ FOREACH_WORD_QUOTED(w, l, line, state) -+ if (streq(w, "quiet")) { -+ log_set_max_level(LOG_WARNING); -+ break; -+ } -+ } -+ - log_parse_environment(); - log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */ - log_open(); --- -1.8.1.4 - diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index db366fca..8e0a00a7 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -8,8 +8,8 @@ disable /var/lock/{subsys,lockdev} and change default permissions on tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---- systemd-206.orig/tmpfiles.d/legacy.conf -+++ systemd-206/tmpfiles.d/legacy.conf +--- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf ++++ systemd-206_git201308300826/tmpfiles.d/legacy.conf @@ -10,12 +10,13 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch index fdc7b9d0..04afafb9 100644 --- a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -7,8 +7,8 @@ Subject: avoid assertion if invalid address familily is passed to src/nss-myhostname/nss-myhostname.c | 6 ++++++ 1 file changed, 6 insertions(+) ---- systemd-206.orig/src/nss-myhostname/nss-myhostname.c -+++ systemd-206/src/nss-myhostname/nss-myhostname.c +--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c @@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; const char *canonical = NULL, *additional = NULL; diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index 06b2cb61..f1145b9e 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -7,8 +7,8 @@ Subject: delay fsck / cryptsetup after md / dmraid are started units/systemd-fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) ---- systemd-206.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-206/src/cryptsetup/cryptsetup-generator.c +--- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c @@ -160,6 +160,7 @@ static int create_disk( "Conflicts=umount.target\n" "DefaultDependencies=no\n" @@ -17,8 +17,8 @@ Subject: delay fsck / cryptsetup after md / dmraid are started "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); ---- systemd-206.orig/units/systemd-fsck@.service.in -+++ systemd-206/units/systemd-fsck@.service.in +--- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in ++++ systemd-206_git201308300826/units/systemd-fsck@.service.in @@ -10,7 +10,7 @@ Description=File System Check on %f Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch index aca18227..d53eb948 100644 --- a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +++ b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch @@ -8,8 +8,8 @@ if fsck was disabled for them (bnc#733283). units/local-fs-pre.target | 1 + 1 file changed, 1 insertion(+) ---- systemd-206.orig/units/local-fs-pre.target -+++ systemd-206/units/local-fs-pre.target +--- systemd-206_git201308300826.orig/units/local-fs-pre.target ++++ systemd-206_git201308300826/units/local-fs-pre.target @@ -9,3 +9,4 @@ Description=Local File Systems (Pre) Documentation=man:systemd.special(7) diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch index 6d6a3346..17d2e05e 100644 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -7,8 +7,8 @@ ensure passphrase is handled before starting getty on tty1. units/systemd-ask-password-wall.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- systemd-206.orig/units/systemd-ask-password-wall.service.in -+++ systemd-206/units/systemd-ask-password-wall.service.in +--- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in ++++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in @@ -8,7 +8,7 @@ [Unit] Description=Forward Password Requests to Wall diff --git a/ensure-sysctl-are-applied-after-modules-are-loaded.patch b/ensure-sysctl-are-applied-after-modules-are-loaded.patch index 4912449c..a672f33c 100644 --- a/ensure-sysctl-are-applied-after-modules-are-loaded.patch +++ b/ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -7,8 +7,8 @@ Subject: ensure sysctl are applied after modules are loaded units/systemd-sysctl.service.in | 1 + 1 file changed, 1 insertion(+) ---- systemd-206.orig/units/systemd-sysctl.service.in -+++ systemd-206/units/systemd-sysctl.service.in +--- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in ++++ systemd-206_git201308300826/units/systemd-sysctl.service.in @@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service DefaultDependencies=no Conflicts=shutdown.target @@ -16,4 +16,4 @@ Subject: ensure sysctl are applied after modules are loaded +After=systemd-modules-load.service Before=sysinit.target shutdown.target ConditionPathIsReadWrite=/proc/sys/ - ConditionPathExists=|/etc/sysctl.conf + ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch index 9f5bfea1..fb6145ca 100644 --- a/fix-owner-of-var-log-btmp.patch +++ b/fix-owner-of-var-log-btmp.patch @@ -7,8 +7,8 @@ ensure btmp is owned only by root (bnc#777405). tmpfiles.d/systemd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- systemd-206.orig/tmpfiles.d/systemd.conf -+++ systemd-206/tmpfiles.d/systemd.conf +--- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf ++++ systemd-206_git201308300826/tmpfiles.d/systemd.conf @@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d F /run/utmp 0664 root utmp - diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index dddcefe5..b8fea652 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -6,9 +6,9 @@ Subject: fix support for boot prefixed initscript (bnc#746506) src/systemctl/systemctl.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) ---- systemd-206.orig/src/systemctl/systemctl.c -+++ systemd-206/src/systemctl/systemctl.c -@@ -4238,8 +4238,28 @@ static int enable_sysv_units(char **args +--- systemd-206_git201308300826.orig/src/systemctl/systemctl.c ++++ systemd-206_git201308300826/src/systemctl/systemctl.c +@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args p[strlen(p) - sizeof(".service") + 1] = 0; found_sysv = access(p, F_OK) >= 0; diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index d2116163..a6193b65 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -7,8 +7,8 @@ Subject: handle disable_caplock and compose_table and kbd_rate src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206.orig/src/vconsole/vconsole-setup.c -+++ systemd-206/src/vconsole/vconsole-setup.c +--- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c ++++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 284686b2..023e66a2 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,8 +6,8 @@ Authors: Stanislav Brabec Cristian Rodríguez ---- systemd-206.orig/src/vconsole/vconsole-setup.c -+++ systemd-206/src/vconsole/vconsole-setup.c +--- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c ++++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -98,9 +98,9 @@ Cristian Rodríguez #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am -@@ -2452,6 +2452,19 @@ dist_udevrules_DATA += \ +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am +@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -121,7 +121,7 @@ Cristian Rodríguez if ENABLE_GTK_DOC SUBDIRS += \ --- /dev/null -+++ systemd-206/rules/73-seat-numlock.rules ++++ systemd-206_git201308300826/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -132,7 +132,7 @@ Cristian Rodríguez + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" --- /dev/null -+++ systemd-206/src/login/numlock-on.c ++++ systemd-206_git201308300826/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +168,8 @@ Cristian Rodríguez + + exit(0); +} ---- systemd-206.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206/units/systemd-vconsole-setup.service.in +--- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in ++++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index df273d04..9450a8ea 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -7,10 +7,10 @@ handle ROOT_USES_LANG=ctype (bnc#792182). src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) ---- systemd-206.orig/src/core/locale-setup.c -+++ systemd-206/src/core/locale-setup.c -@@ -70,6 +70,11 @@ static const char * const variable_names - int locale_setup(void) { +--- systemd-206_git201308300826.orig/src/core/locale-setup.c ++++ systemd-206_git201308300826/src/core/locale-setup.c +@@ -72,6 +72,11 @@ int locale_setup(char ***environment) { + char **env; char *variables[_VARIABLE_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT @@ -21,7 +21,7 @@ handle ROOT_USES_LANG=ctype (bnc#792182). if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -116,6 +121,27 @@ int locale_setup(void) { +@@ -118,6 +123,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } @@ -48,4 +48,4 @@ handle ROOT_USES_LANG=ctype (bnc#792182). +#endif for (i = 0; i < _VARIABLE_MAX; i++) { - if (variables[i]) { + if (!variables[i]) diff --git a/insserv-generator.patch b/insserv-generator.patch index d53876b7..44330bfe 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -13,8 +13,8 @@ systemd unit drop-in files to add dependencies create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am @@ -321,6 +321,7 @@ rootlibexec_PROGRAMS = \ systemd-sleep @@ -23,7 +23,7 @@ systemd unit drop-in files to add dependencies systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator -@@ -1642,6 +1643,14 @@ systemd_delta_LDADD = \ +@@ -1655,6 +1656,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ @@ -39,7 +39,7 @@ systemd unit drop-in files to add dependencies src/getty-generator/getty-generator.c --- /dev/null -+++ systemd-206/src/insserv-generator/Makefile ++++ systemd-206_git201308300826/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -70,7 +70,7 @@ systemd unit drop-in files to add dependencies + +.PHONY: all clean --- /dev/null -+++ systemd-206/src/insserv-generator/insserv-generator.c ++++ systemd-206_git201308300826/src/insserv-generator/insserv-generator.c @@ -0,0 +1,309 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + diff --git a/logind_update_state_file_after_generating_the_session_fifo_not_before.patch b/logind_update_state_file_after_generating_the_session_fifo_not_before.patch deleted file mode 100644 index c82d60c7..00000000 --- a/logind_update_state_file_after_generating_the_session_fifo_not_before.patch +++ /dev/null @@ -1,96 +0,0 @@ -Index: systemd-206/src/login/logind-dbus.c -=================================================================== ---- systemd-206.orig/src/login/logind-dbus.c -+++ systemd-206/src/login/logind-dbus.c -@@ -643,6 +643,10 @@ static int bus_manager_create_session(Ma - - session->create_message = dbus_message_ref(message); - -+ /* Now, let's wait until the slice unit and stuff got -+ * created. We send the reply back from -+ * session_send_create_reply().*/ -+ - return 0; - - fail: -@@ -2356,7 +2360,6 @@ DBusHandlerResult bus_message_filter( - if (streq_ptr(path, s->scope_job)) { - free(s->scope_job); - s->scope_job = NULL; -- session_save(s); - - if (s->started) { - if (streq(result, "done")) -@@ -2365,7 +2368,8 @@ DBusHandlerResult bus_message_filter( - dbus_set_error(&error, BUS_ERROR_JOB_FAILED, "Start job for unit %s failed with '%s'", unit, result); - session_send_create_reply(s, &error); - } -- } -+ } else -+ session_save(s); - } - - session_add_to_gc_queue(s); -Index: systemd-206/src/login/logind-session-dbus.c -=================================================================== ---- systemd-206.orig/src/login/logind-session-dbus.c -+++ systemd-206/src/login/logind-session-dbus.c -@@ -535,6 +535,10 @@ int session_send_create_reply(Session *s - if (!s->create_message) - return 0; - -+ /* This is called after the session scope was successfully -+ * created, and finishes where bus_manager_create_session() -+ * left off. */ -+ - if (error) { - DBusError buffer; - -@@ -588,6 +592,10 @@ int session_send_create_reply(Session *s - return log_oom(); - } - -+ /* Update the state file before we notify the client about the -+ * result */ -+ session_save(s); -+ - if (!dbus_connection_send(s->manager->bus, reply, NULL)) - return log_oom(); - -Index: systemd-206/src/machine/machine-dbus.c -=================================================================== ---- systemd-206.orig/src/machine/machine-dbus.c -+++ systemd-206/src/machine/machine-dbus.c -@@ -350,6 +350,10 @@ int machine_send_create_reply(Machine *m - return log_oom(); - } - -+ /* Update the machine state file before we notify the client -+ * about the result. */ -+ machine_save(m); -+ - if (!dbus_connection_send(m->manager->bus, reply, NULL)) - return log_oom(); - -Index: systemd-206/src/machine/machined-dbus.c -=================================================================== ---- systemd-206.orig/src/machine/machined-dbus.c -+++ systemd-206/src/machine/machined-dbus.c -@@ -543,7 +543,6 @@ DBusHandlerResult bus_message_filter( - if (streq_ptr(path, mm->scope_job)) { - free(mm->scope_job); - mm->scope_job = NULL; -- machine_save(mm); - - if (mm->started) { - if (streq(result, "done")) -@@ -552,7 +551,8 @@ DBusHandlerResult bus_message_filter( - dbus_set_error(&error, BUS_ERROR_JOB_FAILED, "Start job for unit %s failed with '%s'", unit, result); - machine_send_create_reply(mm, &error); - } -- } -+ } else -+ machine_save(mm); - } - - machine_add_to_gc_queue(mm); diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch index dfa7cd97..4037a743 100644 --- a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -7,8 +7,8 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list units/systemd-modules-load.service.in | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) ---- systemd-206.orig/src/modules-load/modules-load.c -+++ systemd-206/src/modules-load/modules-load.c +--- systemd-206_git201308300826.orig/src/modules-load/modules-load.c ++++ systemd-206_git201308300826/src/modules-load/modules-load.c @@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar int main(int argc, char *argv[]) { int r, k; @@ -50,8 +50,8 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list finish: kmod_unref(ctx); strv_free(arg_proc_cmdline_modules); ---- systemd-206.orig/units/systemd-modules-load.service.in -+++ systemd-206/units/systemd-modules-load.service.in +--- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in ++++ systemd-206_git201308300826/units/systemd-modules-load.service.in @@ -13,6 +13,7 @@ Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service Before=sysinit.target shutdown.target diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch index 41661df8..5b296a18 100644 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -7,9 +7,9 @@ Subject: optionally warn if nss-myhostname is called src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) ---- systemd-206.orig/configure.ac -+++ systemd-206/configure.ac -@@ -803,6 +803,17 @@ if test "x$enable_myhostname" != "xno"; +--- systemd-206_git201308300826.orig/configure.ac ++++ systemd-206_git201308300826/configure.ac +@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno"; fi AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) @@ -27,8 +27,8 @@ Subject: optionally warn if nss-myhostname is called # ------------------------------------------------------------------------------ AC_ARG_WITH(firmware-path, AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], ---- systemd-206.orig/src/nss-myhostname/nss-myhostname.c -+++ systemd-206/src/nss-myhostname/nss-myhostname.c +--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c @@ -29,6 +29,9 @@ #include #include diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 3ff05deb..8f953181 100644 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -11,8 +11,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. src/core/service.h | 1 + 2 files changed, 33 insertions(+), 2 deletions(-) ---- systemd-206.orig/src/core/service.c -+++ systemd-206/src/core/service.c +--- systemd-206_git201308300826.orig/src/core/service.c ++++ systemd-206_git201308300826/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; @@ -21,7 +21,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic +@@ -879,6 +880,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -56,7 +56,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -927,7 +956,8 @@ static int service_load_sysv_path(Servic +@@ -929,7 +958,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -66,7 +66,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2094,7 +2124,7 @@ static void service_enter_running(Servic +@@ -2102,7 +2132,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -75,8 +75,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); ---- systemd-206.orig/src/core/service.h -+++ systemd-206/src/core/service.h +--- systemd-206_git201308300826.orig/src/core/service.h ++++ systemd-206_git201308300826/src/core/service.h @@ -177,6 +177,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index c9f3fc9d..422f23ca 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -10,9 +10,9 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am -@@ -407,6 +407,12 @@ dist_systemunit_DATA = \ +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am +@@ -419,6 +419,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target @@ -25,7 +25,7 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4277,6 +4283,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -36,7 +36,7 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink SYSINIT_TARGET_WANTS += \ systemd-update-utmp.service --- /dev/null -+++ systemd-206/units/var-lock.mount ++++ systemd-206_git201308300826/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -58,7 +58,7 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink +Type=bind +Options=bind --- /dev/null -+++ systemd-206/units/var-run.mount ++++ systemd-206_git201308300826/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch index ca2c8271..d0e907bb 100644 --- a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -12,9 +12,9 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/core/service.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---- systemd-206.orig/src/core/service.c -+++ systemd-206/src/core/service.c -@@ -2092,8 +2092,13 @@ static void service_enter_running(Servic +--- systemd-206_git201308300826.orig/src/core/service.c ++++ systemd-206_git201308300826/src/core/service.c +@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && diff --git a/systemd-206.tar.xz b/systemd-206.tar.xz deleted file mode 100644 index 5702098a..00000000 --- a/systemd-206.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c993de071118ea1df7ffc4be26ef0b0d78354ef15b2743a2783d20edfcde9de -size 2340536 diff --git a/systemd-207.tar.xz b/systemd-207.tar.xz new file mode 100644 index 00000000..d97bd0f4 --- /dev/null +++ b/systemd-207.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942 +size 2363804 diff --git a/systemd-mini.changes b/systemd-mini.changes index 76c0155b..181a4e90 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com + +- Enable Predictable Network interface names (bnc#829526). + +------------------------------------------------------------------- +Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org + +- version 207, distribution specific changes follow, for overall + release notes see NEWS. +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: + Operation not permitted + * Fix shutdown hang "a stop job is running for Session 1 of user root" + that was reported in opensuse-factory list. +- systemd-sysctl no longer reads /etc/sysctl.conf however backward + compatbility is to be provides by a symlink created at %post. +- removed previously disabled upstream patches (merged): + 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, + 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, + 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, + 0006-suppress-status-message-output-at-shutdown-when-quie.patch, +- removed upstream merged patches: + exclude-dev-from-tmpfiles.patch, + logind_update_state_file_after_generating_....patch +- Add systemd-pam_config.patch: use correct include name for PAM + configuration on openSUSE. + +------------------------------------------------------------------- +Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com + +- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from + tmpfiles (bnc#835813). + ------------------------------------------------------------------- Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 09e188d1..23683aa5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 206 +Version: 207 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -155,7 +155,7 @@ Patch39: systemd-tmp-safe-defaults.patch Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch - +Patch42: systemd-pam_config.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make @@ -170,8 +170,6 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-UPSTREAM logind_update_state_file_after_generating_the_session_fifo_not_before.patch -- fdo#67273 -Patch47: logind_update_state_file_after_generating_the_session_fifo_not_before.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -414,8 +412,8 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch46 -p1 -%patch47 -p1 # udev patches %patch1001 -p1 @@ -431,7 +429,6 @@ cp %{SOURCE7} m4/ %build autoreconf -fiv - # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -593,11 +590,6 @@ EOF %fdupes -s %{buildroot}%{_mandir} -# disable predictable network interface naming until it has been reviewed by network team -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf -F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" -EOF - # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd @@ -638,6 +630,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# since v207 /etc/sysctl.conf is no longer parsed, however +# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf +if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then + /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -857,7 +855,9 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so +/etc/pam.d/systemd-user %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d @@ -951,6 +951,9 @@ exit 0 %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog %dir /var/lib/systemd/coredump +%dir /usr/share/zsh +%dir /usr/share/zsh/site-functions +/usr/share/zsh/site-functions/* %files devel %defattr(-,root,root,-) diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch new file mode 100644 index 00000000..85027c50 --- /dev/null +++ b/systemd-pam_config.patch @@ -0,0 +1,14 @@ +diff --git a/src/login/systemd-user b/src/login/systemd-user +index 7b57dbf..c0fc793 100644 +--- a/src/login/systemd-user ++++ b/src/login/systemd-user +@@ -2,7 +2,7 @@ + + # Used by systemd when launching systemd user instances. + +-account include system-auth +-session include system-auth ++account include common-account ++session include common-session + auth required pam_deny.so + password required pam_deny.so diff --git a/systemd.changes b/systemd.changes index 76c0155b..181a4e90 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com + +- Enable Predictable Network interface names (bnc#829526). + +------------------------------------------------------------------- +Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org + +- version 207, distribution specific changes follow, for overall + release notes see NEWS. +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: + Operation not permitted + * Fix shutdown hang "a stop job is running for Session 1 of user root" + that was reported in opensuse-factory list. +- systemd-sysctl no longer reads /etc/sysctl.conf however backward + compatbility is to be provides by a symlink created at %post. +- removed previously disabled upstream patches (merged): + 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, + 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, + 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, + 0006-suppress-status-message-output-at-shutdown-when-quie.patch, +- removed upstream merged patches: + exclude-dev-from-tmpfiles.patch, + logind_update_state_file_after_generating_....patch +- Add systemd-pam_config.patch: use correct include name for PAM + configuration on openSUSE. + +------------------------------------------------------------------- +Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com + +- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from + tmpfiles (bnc#835813). + ------------------------------------------------------------------- Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index ec9c1d3a..16f46947 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 206 +Version: 207 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -150,7 +150,7 @@ Patch39: systemd-tmp-safe-defaults.patch Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch - +Patch42: systemd-pam_config.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make @@ -165,8 +165,6 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-UPSTREAM logind_update_state_file_after_generating_the_session_fifo_not_before.patch -- fdo#67273 -Patch47: logind_update_state_file_after_generating_the_session_fifo_not_before.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -409,8 +407,8 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch46 -p1 -%patch47 -p1 # udev patches %patch1001 -p1 @@ -426,7 +424,6 @@ cp %{SOURCE7} m4/ %build autoreconf -fiv - # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -588,11 +585,6 @@ EOF %fdupes -s %{buildroot}%{_mandir} -# disable predictable network interface naming until it has been reviewed by network team -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf -F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" -EOF - # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd @@ -633,6 +625,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# since v207 /etc/sysctl.conf is no longer parsed, however +# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf +if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then + /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -852,7 +850,9 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so +/etc/pam.d/systemd-user %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d @@ -946,6 +946,9 @@ exit 0 %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog %dir /var/lib/systemd/coredump +%dir /usr/share/zsh +%dir /usr/share/zsh/site-functions +/usr/share/zsh/site-functions/* %files devel %defattr(-,root,root,-) diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch index 01f96bde..f688f407 100644 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -6,8 +6,8 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock src/timedate/timedated.c | 7 +++++++ 1 file changed, 7 insertions(+) ---- systemd-206.orig/src/timedate/timedated.c -+++ systemd-206/src/timedate/timedated.c +--- systemd-206_git201308300826.orig/src/timedate/timedated.c ++++ systemd-206_git201308300826/src/timedate/timedated.c @@ -182,6 +182,13 @@ static int read_data(void) { goto have_timezone; } diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch index 2c932c6c..9dfa4970 100644 --- a/use-usr-sbin-sulogin-for-emergency-service.patch +++ b/use-usr-sbin-sulogin-for-emergency-service.patch @@ -3,17 +3,6 @@ Subject: use /usr/sbin/sulogin in emergency service In current Factory sulogin is in /usr/sbin which makes it impossible to enter emergency service. ---- systemd-206.orig/units/emergency.service -+++ systemd-206/units/emergency.service -@@ -17,7 +17,7 @@ Environment=HOME=/root - WorkingDirectory=/root - ExecStartPre=-/bin/plymouth quit - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=/usr/bin/systemctl --fail --no-block default - Type=idle - StandardInput=tty-force --- systemd-206.orig/units/emergency.service.in +++ systemd-206/units/emergency.service.in @@ -17,7 +17,7 @@ Environment=HOME=/root From 2f57946157d81cebe64ff47f01016c1d16f46d81e54e27d212cd0223c9f367c7 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 16 Sep 2013 14:37:04 +0000 Subject: [PATCH 152/991] Accepting request 199207 from Base:System - 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch missing important check on return value. - 0002-cgroup-correct-the-log-information.patch fix misleading log information. - 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix setting memory cgroup - 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch should fail if write fails. - 0005-core-cgroup-first-print-then-free.patch use-after-free will trigger if there is an error condition. - 0006-swap-fix-reverse-dependencies.patch reported in opensuse-factory list, topic "swap isn't activated" - 0007-libudev-fix-move_later-comparison.patch libudev invalid usage of "move_later". - while testing this new release I get in the logs ocassionally at boot "systemd[1]: Failed to open private bus connection: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS is defined to /var/run/dbus/system_bus_socket instead of /run/dbus/system_bus_socket and that does not fly when /var/run is not yet available. (systemd-dbus-system-bus-address.patch) - 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch missing important check on return value. - 0002-cgroup-correct-the-log-information.patch fix misleading log information. - 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix setting memory cgroup - 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch (forwarded request 199084 from elvigia) OBS-URL: https://build.opensuse.org/request/show/199207 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=156 --- ...-missing-setting-of-variable-s-value.patch | 27 +++++++++++ 0002-cgroup-correct-the-log-information.patch | 26 +++++++++++ ...ix-incorrectly-setting-memory-cgroup.patch | 46 +++++++++++++++++++ ...hould-return-errno-of-failed-loop_wr.patch | 25 ++++++++++ 0005-core-cgroup-first-print-then-free.patch | 26 +++++++++++ 0006-swap-fix-reverse-dependencies.patch | 30 ++++++++++++ 0007-libudev-fix-move_later-comparison.patch | 27 +++++++++++ systemd-dbus-system-bus-address.patch | 11 +++++ systemd-mini.changes | 29 ++++++++++++ systemd-mini.spec | 25 ++++++++++ systemd.changes | 29 ++++++++++++ systemd.spec | 25 ++++++++++ 12 files changed, 326 insertions(+) create mode 100644 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch create mode 100644 0002-cgroup-correct-the-log-information.patch create mode 100644 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch create mode 100644 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch create mode 100644 0005-core-cgroup-first-print-then-free.patch create mode 100644 0006-swap-fix-reverse-dependencies.patch create mode 100644 0007-libudev-fix-move_later-comparison.patch create mode 100644 systemd-dbus-system-bus-address.patch diff --git a/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch b/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch new file mode 100644 index 00000000..4883baed --- /dev/null +++ b/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch @@ -0,0 +1,27 @@ +From 8d7b5ca0a6cdab3e400ef084fa8a05d581d59b55 Mon Sep 17 00:00:00 2001 +From: Gao feng +Date: Fri, 13 Sep 2013 11:17:05 +0800 +Subject: [PATCH 1/7] cgroup: add the missing setting of variable's value + +set the value of variable "r" to the return value +of cg_set_attribute. +--- + src/core/cgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 3eeb475..fba0b2f 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -264,7 +264,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha + log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); + + sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); +- cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); ++ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); + if (r < 0) + log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); + } +-- +1.8.1.4 + diff --git a/0002-cgroup-correct-the-log-information.patch b/0002-cgroup-correct-the-log-information.patch new file mode 100644 index 00000000..648b5c67 --- /dev/null +++ b/0002-cgroup-correct-the-log-information.patch @@ -0,0 +1,26 @@ +From ebab7f4535a077eb8168cb8f3a9fe899e56aba17 Mon Sep 17 00:00:00 2001 +From: Gao feng +Date: Fri, 13 Sep 2013 11:17:06 +0800 +Subject: [PATCH 2/7] cgroup: correct the log information + +it should be memory.soft_limit_in_bytes. +--- + src/core/cgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index fba0b2f..aee93ba 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -266,7 +266,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha + sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); + r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); + if (r < 0) +- log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); ++ log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); + } + + if (mask & CGROUP_DEVICE) { +-- +1.8.1.4 + diff --git a/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch b/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch new file mode 100644 index 00000000..9b103930 --- /dev/null +++ b/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch @@ -0,0 +1,46 @@ +From bebbf30ef61e4cbc782731e48ad67613aab38ec6 Mon Sep 17 00:00:00 2001 +From: Gao feng +Date: Fri, 13 Sep 2013 14:43:04 +0800 +Subject: [PATCH 3/7] cgroup: fix incorrectly setting memory cgroup + +If the memory_limit of unit is -1, we should write "-1" +to the file memory.limit_in_bytes. not the (unit64_t) -1. + +otherwise the memory.limit_in_bytes will be set to zero. +--- + src/core/cgroup.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index aee93ba..244baff 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -257,14 +257,21 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha + + if (mask & CGROUP_MEMORY) { + char buf[DECIMAL_STR_MAX(uint64_t) + 1]; ++ if (c->memory_limit != (uint64_t) -1) { ++ sprintf(buf, "%" PRIu64 "\n", c->memory_limit); ++ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); ++ } else ++ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", "-1"); + +- sprintf(buf, "%" PRIu64 "\n", c->memory_limit); +- r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); + if (r < 0) + log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); + +- sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); +- r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); ++ if (c->memory_soft_limit != (uint64_t) -1) { ++ sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); ++ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); ++ } else ++ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", "-1"); ++ + if (r < 0) + log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); + } +-- +1.8.1.4 + diff --git a/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch b/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch new file mode 100644 index 00000000..b90fbadc --- /dev/null +++ b/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch @@ -0,0 +1,25 @@ +From 0465a409e0a3725b44b0801641a7497e2125e59e Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 13 Sep 2013 14:12:55 +0200 +Subject: [PATCH 4/7] random-seed: we should return errno of failed loop_write + +--- + src/random-seed/random-seed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c +index 4776c07..afbd500 100644 +--- a/src/random-seed/random-seed.c ++++ b/src/random-seed/random-seed.c +@@ -157,7 +157,7 @@ int main(int argc, char *argv[]) { + r = loop_write(seed_fd, buf, (size_t) k, false); + if (r <= 0) { + log_error("Failed to write new random seed file: %s", r < 0 ? strerror(-r) : "short write"); +- r = k == 0 ? -EIO : (int) k; ++ r = r == 0 ? -EIO : r; + } + } + +-- +1.8.1.4 + diff --git a/0005-core-cgroup-first-print-then-free.patch b/0005-core-cgroup-first-print-then-free.patch new file mode 100644 index 00000000..5aac9a86 --- /dev/null +++ b/0005-core-cgroup-first-print-then-free.patch @@ -0,0 +1,26 @@ +From fa7341808def8efb736747299374745ae059f398 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 13 Sep 2013 14:31:17 +0200 +Subject: [PATCH 5/7] core/cgroup: first print then free + +--- + src/core/cgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 244baff..1f41efc 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -402,8 +402,8 @@ static int unit_create_cgroups(Unit *u, CGroupControllerMask mask) { + is_in_hash = true; + + if (r < 0) { +- free(path); + log_error("cgroup %s exists already: %s", path, strerror(-r)); ++ free(path); + return r; + } + +-- +1.8.1.4 + diff --git a/0006-swap-fix-reverse-dependencies.patch b/0006-swap-fix-reverse-dependencies.patch new file mode 100644 index 00000000..4582c34f --- /dev/null +++ b/0006-swap-fix-reverse-dependencies.patch @@ -0,0 +1,30 @@ +From dec37dc9e875695c09cfc1ec5e55b5f68eaa39f4 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 13 Sep 2013 14:46:18 +0200 +Subject: [PATCH 6/7] swap: fix reverse dependencies + +Make sure swap.target correctly requires/wants the swap units. + +This fixes https://bugs.freedesktop.org/show_bug.cgi?id=69291. + +Reported-by: Hussam Al-Tayeb +--- + src/core/swap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/swap.c b/src/core/swap.c +index 57d15eb..3950860 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -220,7 +220,7 @@ static int swap_add_default_dependencies(Swap *s) { + } + + if (!noauto) { +- r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, (nofail ? UNIT_WANTED_BY : UNIT_REQUIRED_BY), ++ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), + SPECIAL_SWAP_TARGET, NULL, true); + if (r < 0) + return r; +-- +1.8.1.4 + diff --git a/0007-libudev-fix-move_later-comparison.patch b/0007-libudev-fix-move_later-comparison.patch new file mode 100644 index 00000000..e1e4d002 --- /dev/null +++ b/0007-libudev-fix-move_later-comparison.patch @@ -0,0 +1,27 @@ +From f90d045c9168a55bb22eef6fe8756b6a6d2c1e53 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 13 Sep 2013 14:12:54 +0200 +Subject: [PATCH 7/7] libudev: fix move_later comparison + +At the beginning move_later is set to -1, but it is set to different +value only if expression !move_later is true. +--- + src/libudev/libudev-enumerate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c +index bc1e37d..8146f27 100644 +--- a/src/libudev/libudev-enumerate.c ++++ b/src/libudev/libudev-enumerate.c +@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume + /* skip to be delayed devices, and move the to + * the point where the prefix changes. We can + * only move one item at a time. */ +- if (!move_later) { ++ if (move_later == -1) { + move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); + + if (move_later_prefix > 0) { +-- +1.8.1.4 + diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch new file mode 100644 index 00000000..3d252dc1 --- /dev/null +++ b/systemd-dbus-system-bus-address.patch @@ -0,0 +1,11 @@ +--- systemd-207.orig/src/core/dbus.c ++++ systemd-207/src/core/dbus.c +@@ -50,7 +50,7 @@ + #define CONNECTIONS_MAX 512 + + /* Well-known address (http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types) */ +-#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" ++#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/run/dbus/system_bus_socket" + /* Only used as a fallback */ + #define DBUS_SESSION_BUS_DEFAULT_ADDRESS "autolaunch:" + diff --git a/systemd-mini.changes b/systemd-mini.changes index 181a4e90..70468f80 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org + +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch + missing important check on return value. +- 0002-cgroup-correct-the-log-information.patch fix misleading + log information. +- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix + setting memory cgroup +- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch + should fail if write fails. +- 0005-core-cgroup-first-print-then-free.patch use-after-free + will trigger if there is an error condition. +- 0006-swap-fix-reverse-dependencies.patch reported in + opensuse-factory list, topic "swap isn't activated" +- 0007-libudev-fix-move_later-comparison.patch libudev + invalid usage of "move_later". + +------------------------------------------------------------------- +Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org + +- while testing this new release I get in the logs ocassionally + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: + No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS + is defined to /var/run/dbus/system_bus_socket instead of + /run/dbus/system_bus_socket and that does not fly when /var/run + is not yet available. (systemd-dbus-system-bus-address.patch) + ------------------------------------------------------------------- Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 23683aa5..eb7c8042 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -170,6 +170,21 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +Patch47: systemd-dbus-system-bus-address.patch + +# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. +Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. +Patch49: 0002-cgroup-correct-the-log-information.patch +# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. +Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch +# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. +Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch +# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free +Patch52: 0005-core-cgroup-first-print-then-free.patch +# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly +Patch53: 0006-swap-fix-reverse-dependencies.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -186,6 +201,8 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-UPSTREAM libudev: fix move_later comparison +Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -414,6 +431,13 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 # udev patches %patch1001 -p1 @@ -426,6 +450,7 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif +%patch1009 -p1 %build autoreconf -fiv diff --git a/systemd.changes b/systemd.changes index 181a4e90..70468f80 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org + +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch + missing important check on return value. +- 0002-cgroup-correct-the-log-information.patch fix misleading + log information. +- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix + setting memory cgroup +- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch + should fail if write fails. +- 0005-core-cgroup-first-print-then-free.patch use-after-free + will trigger if there is an error condition. +- 0006-swap-fix-reverse-dependencies.patch reported in + opensuse-factory list, topic "swap isn't activated" +- 0007-libudev-fix-move_later-comparison.patch libudev + invalid usage of "move_later". + +------------------------------------------------------------------- +Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org + +- while testing this new release I get in the logs ocassionally + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: + No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS + is defined to /var/run/dbus/system_bus_socket instead of + /run/dbus/system_bus_socket and that does not fly when /var/run + is not yet available. (systemd-dbus-system-bus-address.patch) + ------------------------------------------------------------------- Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 16f46947..e34e62f7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -165,6 +165,21 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +Patch47: systemd-dbus-system-bus-address.patch + +# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. +Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. +Patch49: 0002-cgroup-correct-the-log-information.patch +# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. +Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch +# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. +Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch +# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free +Patch52: 0005-core-cgroup-first-print-then-free.patch +# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly +Patch53: 0006-swap-fix-reverse-dependencies.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -181,6 +196,8 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-UPSTREAM libudev: fix move_later comparison +Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -409,6 +426,13 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 # udev patches %patch1001 -p1 @@ -421,6 +445,7 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif +%patch1009 -p1 %build autoreconf -fiv From 4ca16fb5680e90b68eb0ad6ec176fff41ecf1e271ed8240f1b155b09dce7e519 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 17 Sep 2013 13:04:22 +0000 Subject: [PATCH 153/991] Accepting request 199295 from Base:System - 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fixes the swap unit problem mentioned in previous commit & the opensuse-factory mailing list. - 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fixes the swap unit problem mentioned in previous commit & the opensuse-factory mailing list. (forwarded request 199286 from elvigia) OBS-URL: https://build.opensuse.org/request/show/199295 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=157 --- ...-.wants-symlink-to-auto-swap-devices.patch | 90 +++++++++++++++++++ systemd-mini.changes | 7 ++ systemd-mini.spec | 3 + systemd.changes | 7 ++ systemd.spec | 3 + 5 files changed, 110 insertions(+) create mode 100644 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch diff --git a/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch b/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch new file mode 100644 index 00000000..a81842b9 --- /dev/null +++ b/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch @@ -0,0 +1,90 @@ +From 9981460a8f2d5587fef5216d556b5fb502281be6 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 16 Sep 2013 01:08:32 +0200 +Subject: [PATCH 8/8] swap: create .wants symlink to 'auto' swap devices + +As we load unit files lazily, we need to make sure something pulls in swap +units that should be started automatically, otherwise the default dependencies +will never be applied. + +This partially reinstates code removed in +commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4. + +Also don't order swap devices after swap.target when they are 'nofail'. +--- + src/core/swap.c | 8 ++++++-- + src/fstab-generator/fstab-generator.c | 18 ++++++++++++++++-- + 2 files changed, 22 insertions(+), 4 deletions(-) + +diff --git a/src/core/swap.c b/src/core/swap.c +index 3950860..76c7d45 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -220,8 +220,12 @@ static int swap_add_default_dependencies(Swap *s) { + } + + if (!noauto) { +- r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), +- SPECIAL_SWAP_TARGET, NULL, true); ++ if (nofail) ++ r = unit_add_dependency_by_name_inverse(UNIT(s), ++ UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); ++ else ++ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), ++ UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); + if (r < 0) + return r; + } +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index 6ebe8aa..b73dfa4 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -66,6 +66,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { + static int add_swap(const char *what, struct mntent *me) { + _cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL; + _cleanup_fclose_ FILE *f = NULL; ++ bool noauto; + int r, pri = -1; + + assert(what); +@@ -77,6 +78,8 @@ static int add_swap(const char *what, struct mntent *me) { + return pri; + } + ++ noauto = !!hasmntopt(me, "noauto"); ++ + name = unit_name_from_path(what, ".swap"); + if (!name) + return log_oom(); +@@ -97,8 +100,7 @@ static int add_swap(const char *what, struct mntent *me) { + fprintf(f, + "# Automatically generated by systemd-fstab-generator\n\n" + "[Unit]\n" +- "SourcePath=/etc/fstab\n" +- "\n" ++ "SourcePath=/etc/fstab\n\n" + "[Swap]\n" + "What=%s\n", + what); +@@ -114,6 +116,18 @@ static int add_swap(const char *what, struct mntent *me) { + return -errno; + } + ++ if (!noauto) { ++ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); ++ if (!lnk) ++ return log_oom(); ++ ++ mkdir_parents_label(lnk, 0755); ++ if (symlink(unit, lnk) < 0) { ++ log_error("Failed to create symlink %s: %m", lnk); ++ return -errno; ++ } ++ } ++ + return 0; + } + +-- +1.8.1.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 70468f80..fdbda224 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org + +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous + commit & the opensuse-factory mailing list. + ------------------------------------------------------------------- Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index eb7c8042..791d8bb4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -185,6 +185,8 @@ Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch Patch52: 0005-core-cgroup-first-print-then-free.patch # PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly Patch53: 0006-swap-fix-reverse-dependencies.patch +# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units +Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -438,6 +440,7 @@ cp %{SOURCE7} m4/ %patch51 -p1 %patch52 -p1 %patch53 -p1 +%patch54 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 70468f80..fdbda224 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org + +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous + commit & the opensuse-factory mailing list. + ------------------------------------------------------------------- Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index e34e62f7..59482e6c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -180,6 +180,8 @@ Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch Patch52: 0005-core-cgroup-first-print-then-free.patch # PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly Patch53: 0006-swap-fix-reverse-dependencies.patch +# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units +Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -433,6 +435,7 @@ cp %{SOURCE7} m4/ %patch51 -p1 %patch52 -p1 %patch53 -p1 +%patch54 -p1 # udev patches %patch1001 -p1 From 5a4cb2059c1ff2d42e8e96e540c0d9c0b011e90c01f0f1f331f09f37e6a3d78f Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 23 Sep 2013 09:04:04 +0000 Subject: [PATCH 154/991] Accepting request 199760 from Base:System - Move symlink migration trigger to post (bnc#821800). -add CVE-2013-4288 to changes (forwarded request 199741 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/199760 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=159 --- ...void-race-condition-in-scraping-proc.patch | 75 +++++++++++++++++++ ...ndle-boot-sysctl.conf-kernel_release.patch | 17 +++-- systemd-mini.changes | 33 ++++++++ systemd-mini.spec | 18 +++-- systemd.changes | 33 ++++++++ systemd.spec | 18 +++-- 6 files changed, 174 insertions(+), 20 deletions(-) create mode 100644 0009-polkit-Avoid-race-condition-in-scraping-proc.patch diff --git a/0009-polkit-Avoid-race-condition-in-scraping-proc.patch b/0009-polkit-Avoid-race-condition-in-scraping-proc.patch new file mode 100644 index 00000000..283c2e7a --- /dev/null +++ b/0009-polkit-Avoid-race-condition-in-scraping-proc.patch @@ -0,0 +1,75 @@ +From 851d079d0172539bf904abb58edd80d7cfe487ca Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 22 Aug 2013 13:55:21 -0400 +Subject: [PATCH 9/9] polkit: Avoid race condition in scraping /proc + +If a calling process execve()s a setuid program, it can appear to be +uid 0. Since we're receiving requests over DBus, avoid this by simply +passing system-bus-name as a subject. +--- + src/shared/polkit.c | 31 +++++-------------------------- + 1 file changed, 5 insertions(+), 26 deletions(-) + +diff --git a/src/shared/polkit.c b/src/shared/polkit.c +index cea7074..1c5e9e3 100644 +--- a/src/shared/polkit.c ++++ b/src/shared/polkit.c +@@ -38,12 +38,8 @@ int verify_polkit( + + #ifdef ENABLE_POLKIT + DBusMessage *m = NULL, *reply = NULL; +- const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = ""; ++ const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = ""; + uint32_t flags = interactive ? 1 : 0; +- pid_t pid_raw; +- uint32_t pid_u32; +- unsigned long long starttime_raw; +- uint64_t starttime_u64; + DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant; + int r; + dbus_bool_t authorized = FALSE, challenge = FALSE; +@@ -68,14 +64,6 @@ int verify_polkit( + + #ifdef ENABLE_POLKIT + +- pid_raw = bus_get_unix_process_id(c, sender, error); +- if (pid_raw == 0) +- return -EINVAL; +- +- r = get_starttime_of_pid(pid_raw, &starttime_raw); +- if (r < 0) +- return r; +- + m = dbus_message_new_method_call( + "org.freedesktop.PolicyKit1", + "/org/freedesktop/PolicyKit1/Authority", +@@ -86,22 +74,13 @@ int verify_polkit( + + dbus_message_iter_init_append(m, &iter_msg); + +- pid_u32 = (uint32_t) pid_raw; +- starttime_u64 = (uint64_t) starttime_raw; +- + if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) || +- !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) || ++ !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) || + !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) || + !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || +- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) || +- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) || +- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) || +- !dbus_message_iter_close_container(&iter_dict, &iter_variant) || +- !dbus_message_iter_close_container(&iter_array, &iter_dict) || +- !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || +- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) || +- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) || +- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) || ++ !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) || ++ !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) || ++ !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) || + !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.1.4 + diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 45f1ad52..3381072a 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -10,8 +10,10 @@ configuration), needed by openSUSE (bnc#809420). units/systemd-sysctl.service.in | 1 + 2 files changed, 9 insertions(+) ---- systemd-206.orig/src/sysctl/sysctl.c -+++ systemd-206/src/sysctl/sysctl.c +Index: systemd-207/src/sysctl/sysctl.c +=================================================================== +--- systemd-207.orig/src/sysctl/sysctl.c ++++ systemd-207/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -20,7 +22,7 @@ configuration), needed by openSUSE (bnc#809420). #include "log.h" #include "strv.h" -@@ -297,6 +298,13 @@ int main(int argc, char *argv[]) { +@@ -299,6 +300,13 @@ int main(int argc, char *argv[]) { } else { _cleanup_strv_free_ char **files = NULL; char **f; @@ -34,13 +36,16 @@ configuration), needed by openSUSE (bnc#809420). r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { ---- systemd-206.orig/units/systemd-sysctl.service.in -+++ systemd-206/units/systemd-sysctl.service.in -@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys +Index: systemd-207/units/systemd-sysctl.service.in +=================================================================== +--- systemd-207.orig/units/systemd-sysctl.service.in ++++ systemd-207/units/systemd-sysctl.service.in +@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d ConditionDirectoryNotEmpty=|/run/sysctl.d +ConditionPathExistsGlob=|/boot/sysctl.conf-* ++RequiresMountsFor=/boot [Service] Type=oneshot diff --git a/systemd-mini.changes b/systemd-mini.changes index fdbda224..3b0115a2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com + +- Move symlink migration trigger to post (bnc#821800). + +------------------------------------------------------------------- +Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org + +- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch + VUL-0: polkit: process subject race condition [bnc#835827] + CVE-2013-4288 + +------------------------------------------------------------------- +Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org + +- Build with --disable-ima as the openSUSE kernel + does not support IMA (CONFIG_IMA is not set) + +------------------------------------------------------------------- +Wed Sep 18 23:40:27 UTC 2013 - crrodriguez@opensuse.org + +- Build with --disable-smack as the openSUSE kernel + does not support smack (CONFIG_SECURITY_SMACK is not set) + +------------------------------------------------------------------- +Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com + +- Don't use a trigger to create symlink for sysctl.conf, always run + the test on %post (bnc#840864). +- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to + ensure /boot is mounted before reading /boot/sysctl.conf-* + (bnc#809420). + ------------------------------------------------------------------- Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index 791d8bb4..4cc75fb8 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -187,6 +187,8 @@ Patch52: 0005-core-cgroup-first-print-then-free.patch Patch53: 0006-swap-fix-reverse-dependencies.patch # PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch +# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] +Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -441,6 +443,7 @@ cp %{SOURCE7} m4/ %patch52 -p1 %patch53 -p1 %patch54 -p1 +%patch55 -p1 # udev patches %patch1001 -p1 @@ -479,6 +482,8 @@ export V=1 --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ + --disable-smack \ + --disable-ima \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -651,19 +656,18 @@ if [ "$1" -eq 1 ]; then remote-fs.target >/dev/null 2>&1 || : fi -%triggerpostun -- systemd < 194 -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/systemd.changes b/systemd.changes index fdbda224..3b0115a2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com + +- Move symlink migration trigger to post (bnc#821800). + +------------------------------------------------------------------- +Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org + +- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch + VUL-0: polkit: process subject race condition [bnc#835827] + CVE-2013-4288 + +------------------------------------------------------------------- +Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org + +- Build with --disable-ima as the openSUSE kernel + does not support IMA (CONFIG_IMA is not set) + +------------------------------------------------------------------- +Wed Sep 18 23:40:27 UTC 2013 - crrodriguez@opensuse.org + +- Build with --disable-smack as the openSUSE kernel + does not support smack (CONFIG_SECURITY_SMACK is not set) + +------------------------------------------------------------------- +Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com + +- Don't use a trigger to create symlink for sysctl.conf, always run + the test on %post (bnc#840864). +- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to + ensure /boot is mounted before reading /boot/sysctl.conf-* + (bnc#809420). + ------------------------------------------------------------------- Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index 59482e6c..4243575b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -182,6 +182,8 @@ Patch52: 0005-core-cgroup-first-print-then-free.patch Patch53: 0006-swap-fix-reverse-dependencies.patch # PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch +# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] +Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -436,6 +438,7 @@ cp %{SOURCE7} m4/ %patch52 -p1 %patch53 -p1 %patch54 -p1 +%patch55 -p1 # udev patches %patch1001 -p1 @@ -474,6 +477,8 @@ export V=1 --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ + --disable-smack \ + --disable-ima \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -646,19 +651,18 @@ if [ "$1" -eq 1 ]; then remote-fs.target >/dev/null 2>&1 || : fi -%triggerpostun -- systemd < 194 -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then From 5ffd491394e5b96390fc4742f6285c5668f53bf41a248233ae53e6838c023217 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 26 Sep 2013 18:03:54 +0000 Subject: [PATCH 155/991] Accepting request 200302 from Base:System Resynced to Base:System to fix merge conflicts - Fix-timeout-when-stopping-Type-notify-service.patch Make sure MAINPID is watched when it becomes known (bnc#841544) (forwarded request 200219 from arvidjaar) OBS-URL: https://build.opensuse.org/request/show/200302 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=160 --- 0007-libudev-fix-move_later-comparison.patch | 13 ++- ...ut-when-stopping-Type-notify-service.patch | 84 +++++++++++++++++++ systemd-mini.changes | 6 ++ systemd-mini.spec | 4 +- systemd.changes | 12 +++ systemd.spec | 7 +- 6 files changed, 114 insertions(+), 12 deletions(-) create mode 100644 Fix-timeout-when-stopping-Type-notify-service.patch diff --git a/0007-libudev-fix-move_later-comparison.patch b/0007-libudev-fix-move_later-comparison.patch index e1e4d002..aa792e0c 100644 --- a/0007-libudev-fix-move_later-comparison.patch +++ b/0007-libudev-fix-move_later-comparison.patch @@ -9,11 +9,11 @@ value only if expression !move_later is true. src/libudev/libudev-enumerate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c -index bc1e37d..8146f27 100644 ---- a/src/libudev/libudev-enumerate.c -+++ b/src/libudev/libudev-enumerate.c -@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume +Index: systemd-207/src/libudev/libudev-enumerate.c +=================================================================== +--- systemd-207.orig/src/libudev/libudev-enumerate.c ++++ systemd-207/src/libudev/libudev-enumerate.c +@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_en /* skip to be delayed devices, and move the to * the point where the prefix changes. We can * only move one item at a time. */ @@ -22,6 +22,3 @@ index bc1e37d..8146f27 100644 move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); if (move_later_prefix > 0) { --- -1.8.1.4 - diff --git a/Fix-timeout-when-stopping-Type-notify-service.patch b/Fix-timeout-when-stopping-Type-notify-service.patch new file mode 100644 index 00000000..3d03d380 --- /dev/null +++ b/Fix-timeout-when-stopping-Type-notify-service.patch @@ -0,0 +1,84 @@ +Delivered-To: arvidjaar@gmail.com +Received: by 10.216.219.133 with SMTP id m5csp322525wep; + Fri, 20 Sep 2013 13:55:10 -0700 (PDT) +X-Received: by 10.66.171.204 with SMTP id aw12mr10856961pac.7.1379710509504; + Fri, 20 Sep 2013 13:55:09 -0700 (PDT) +Return-Path: +Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) + by mx.google.com with ESMTP id mj9si13683512pab.248.1969.12.31.16.00.00; + Fri, 20 Sep 2013 13:55:09 -0700 (PDT) +Received-SPF: pass (google.com: domain of systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; +Authentication-Results: mx.google.com; + spf=pass (google.com: domain of systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mail=systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org +Received: from gabe.freedesktop.org (localhost [127.0.0.1]) + by gabe.freedesktop.org (Postfix) with ESMTP id D7BD0E5F24 + for ; Fri, 20 Sep 2013 13:55:06 -0700 (PDT) +X-Original-To: systemd-devel@lists.freedesktop.org +Delivered-To: systemd-devel@lists.freedesktop.org +Received: from mail.jjacky.com (unknown [23.29.69.116]) + by gabe.freedesktop.org (Postfix) with ESMTP id E3B2FE5DF6 + for ; + Fri, 20 Sep 2013 13:54:34 -0700 (PDT) +Received: from arch.local (arch.tks [10.42.0.6]) + by mail.jjacky.com (Postfix) with ESMTP id 2F68E18084A; + Fri, 20 Sep 2013 22:54:11 +0200 (CEST) +From: Olivier Brunel +To: systemd-devel@lists.freedesktop.org +Date: Fri, 20 Sep 2013 22:53:52 +0200 +Message-Id: <1379710432-4195-1-git-send-email-jjk@jjacky.com> +X-Mailer: git-send-email 1.8.4 +Subject: [systemd-devel] [PATCH] Fix timeout when stopping Type=notify + service +X-BeenThere: systemd-devel@lists.freedesktop.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: systemd Development Mailing List +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit +Sender: systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org +Errors-To: systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org + +Since 41efeaec a call to service_unwatch_main_pid() is done from +service_set_main_pid(), which is called upon receiving message MAINPID= + +This had the side effect of not watching pid anymore, and would result in a +useless timeout when stopping the service, as the unit wouldn't be identified +from the pid, so not marked stopped which would result in systemd thinking this +was a timeout. +--- +I'm not exactly familiar with systemd's internals, so this might not be the +correct way to fix this, please correct me if it isn't. + + src/core/service.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +Index: systemd-207/src/core/service.c +=================================================================== +--- systemd-207.orig/src/core/service.c ++++ systemd-207/src/core/service.c +@@ -3461,9 +3461,17 @@ static void service_notify_message(Unit + log_warning_unit(u->id, + "Failed to parse notification message %s", e); + else { ++ int r; ++ + log_debug_unit(u->id, + "%s: got %s", u->id, e); + service_set_main_pid(s, pid); ++ r = unit_watch_pid(u, pid); ++ if (r < 0) ++ /* FIXME: we need to do something here */ ++ log_warning_unit(u->id, ++ "Failed to watch PID %lu from service %s", ++ (unsigned long) pid, u->id); + } + } + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3b0115a2..cb75b260 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com + +- Remove output and error redirection to /dev/null in install + script, it might help tracing pam related issue (bnc#841573). + ------------------------------------------------------------------- Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 4cc75fb8..0d4786bd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -631,7 +631,7 @@ getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post -/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : +/usr/sbin/pam-config -a --systemd || : /sbin/ldconfig /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : @@ -675,7 +675,7 @@ if [ $1 -ge 1 ]; then /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : + /usr/sbin/pam-config -d --systemd || : fi %preun diff --git a/systemd.changes b/systemd.changes index 3b0115a2..83f80aac 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com + +- Fix-timeout-when-stopping-Type-notify-service.patch + Make sure MAINPID is watched when it becomes known (bnc#841544) + +------------------------------------------------------------------- +Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com + +- Remove output and error redirection to /dev/null in install + script, it might help tracing pam related issue (bnc#841573). + ------------------------------------------------------------------- Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 4243575b..cddb2f25 100644 --- a/systemd.spec +++ b/systemd.spec @@ -184,6 +184,8 @@ Patch53: 0006-swap-fix-reverse-dependencies.patch Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch # PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch +# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544] +Patch56: Fix-timeout-when-stopping-Type-notify-service.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -439,6 +441,7 @@ cp %{SOURCE7} m4/ %patch53 -p1 %patch54 -p1 %patch55 -p1 +%patch56 -p1 # udev patches %patch1001 -p1 @@ -626,7 +629,7 @@ getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post -/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : +/usr/sbin/pam-config -a --systemd || : /sbin/ldconfig /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : @@ -670,7 +673,7 @@ if [ $1 -ge 1 ]; then /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : + /usr/sbin/pam-config -d --systemd || : fi %preun From e05d3e3c6d8e21e0d6d3d69e7fdb43ca3fa967aafdf277c4bad196f4eca8ea2d Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 29 Sep 2013 15:54:00 +0000 Subject: [PATCH 156/991] Accepting request 201213 from Base:System - Update use-usr-sbin-sulogin-for-emergency-service.patch to apply to all services using sulogin and remove generated files from upstream tarball (bnc#841398). (forwarded request 201156 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/201213 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=161 --- systemd-mini.changes | 13 ++++++++ systemd-mini.spec | 6 ++++ systemd.changes | 7 ++++ systemd.spec | 3 ++ ...r-sbin-sulogin-for-emergency-service.patch | 32 +++++++++++++++++-- 5 files changed, 59 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index cb75b260..08f75766 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com + +- Update use-usr-sbin-sulogin-for-emergency-service.patch to apply + to all services using sulogin and remove generated files from + upstream tarball (bnc#841398). + +------------------------------------------------------------------- +Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com + +- Fix-timeout-when-stopping-Type-notify-service.patch + Make sure MAINPID is watched when it becomes known (bnc#841544) + ------------------------------------------------------------------- Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 0d4786bd..3cb60d4a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -189,6 +189,8 @@ Patch53: 0006-swap-fix-reverse-dependencies.patch Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch # PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch +# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544] +Patch56: Fix-timeout-when-stopping-Type-notify-service.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -444,6 +446,7 @@ cp %{SOURCE7} m4/ %patch53 -p1 %patch54 -p1 %patch55 -p1 +%patch56 -p1 # udev patches %patch1001 -p1 @@ -458,6 +461,9 @@ cp %{SOURCE7} m4/ %endif %patch1009 -p1 +# ensure generate files are removed +rm -f units/emergency.service + %build autoreconf -fiv # prevent pre-generated and distributed files from re-building diff --git a/systemd.changes b/systemd.changes index 83f80aac..08f75766 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com + +- Update use-usr-sbin-sulogin-for-emergency-service.patch to apply + to all services using sulogin and remove generated files from + upstream tarball (bnc#841398). + ------------------------------------------------------------------- Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index cddb2f25..80890da5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -456,6 +456,9 @@ cp %{SOURCE7} m4/ %endif %patch1009 -p1 +# ensure generate files are removed +rm -f units/emergency.service + %build autoreconf -fiv # prevent pre-generated and distributed files from re-building diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch index 9dfa4970..e29f4b28 100644 --- a/use-usr-sbin-sulogin-for-emergency-service.patch +++ b/use-usr-sbin-sulogin-for-emergency-service.patch @@ -3,8 +3,10 @@ Subject: use /usr/sbin/sulogin in emergency service In current Factory sulogin is in /usr/sbin which makes it impossible to enter emergency service. ---- systemd-206.orig/units/emergency.service.in -+++ systemd-206/units/emergency.service.in +Index: systemd-207/units/emergency.service.in +=================================================================== +--- systemd-207.orig/units/emergency.service.in ++++ systemd-207/units/emergency.service.in @@ -17,7 +17,7 @@ Environment=HOME=/root WorkingDirectory=/root ExecStartPre=-/bin/plymouth quit @@ -14,3 +16,29 @@ to enter emergency service. ExecStopPost=@SYSTEMCTL@ --fail --no-block default Type=idle StandardInput=tty-force +Index: systemd-207/units/console-shell.service.m4.in +=================================================================== +--- systemd-207.orig/units/console-shell.service.m4.in ++++ systemd-207/units/console-shell.service.m4.in +@@ -17,7 +17,7 @@ Before=getty.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ poweroff + Type=idle + StandardInput=tty-force +Index: systemd-207/units/rescue.service.m4.in +=================================================================== +--- systemd-207.orig/units/rescue.service.m4.in ++++ systemd-207/units/rescue.service.m4.in +@@ -18,7 +18,7 @@ Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ --fail --no-block default + Type=idle + StandardInput=tty-force From f037c9430fe4c35432c49e97af8176c4bf3fbe23f9696fa279814f67cf1e6ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 4 Oct 2013 14:07:46 +0000 Subject: [PATCH 157/991] Accepting request 202147 from Base:System - Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: fix acpi memleak. - Add 0002-fix-lingering-references-to-var-lib-backlight-random.patch: fix invalid path in documentation. - Add 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: fix invalid memory free. - Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix name mangling for sysv units. - Add 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: fix OOM handling. - Add 0006-journald-add-missing-error-check.patch: add missing error check. - Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: fix uninitialized memory access. - Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix return value. - Add 0009-modules-load-fix-error-handling.patch: fix error handling. - Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: fix incorrect memory access. - Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: fix incorrect memory access. - Add 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: fix invalid pointer. - Add 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: (forwarded request 202117 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/202147 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=162 --- ...ix-memory-leak-in-acpi_get_boot_usec.patch | 25 +++ ...-missing-setting-of-variable-s-value.patch | 27 --- ...mote-mounts-from-mountinfo-before-re.patch | 41 ++++ 0002-cgroup-correct-the-log-information.patch | 26 --- ...ferences-to-var-lib-backlight-random.patch | 55 +++++ ...e-never-free-an-uninitialized-pointe.patch | 25 +++ ...ix-incorrectly-setting-memory-cgroup.patch | 46 ---- ...hould-return-errno-of-failed-loop_wr.patch | 25 --- ...ctl-fix-name-mangling-for-sysv-units.patch | 134 ++++++++++++ 0005-core-cgroup-first-print-then-free.patch | 26 --- ...OM-handling-when-parsing-mount-optio.patch | 48 +++++ 0006-journald-add-missing-error-check.patch | 25 +++ 0006-swap-fix-reverse-dependencies.patch | 30 --- ...entially-uninitialized-memory-access.patch | 34 +++ 0007-libudev-fix-move_later-comparison.patch | 24 --- ...-fix-return-value-of-dispatch_rqueue.patch | 30 +++ ...-.wants-symlink-to-auto-swap-devices.patch | 90 -------- 0009-modules-load-fix-error-handling.patch | 27 +++ ...void-race-condition-in-scraping-proc.patch | 75 ------- ...all-qsort-on-potentially-NULL-arrays.patch | 26 +++ ...ccess-potentially-NULL-string-arrays.patch | 27 +++ ...per-function-pointer-to-mkdir_safe_i.patch | 26 +++ ...ude-setgid-perms-for-run-log-journal.patch | 26 +++ ...ut-when-stopping-Type-notify-service.patch | 84 -------- ...pport-for-SysV-scripts-for-the-early.patch | 20 +- after-local.service | 18 ++ ...etup-after-md-dmraid-lvm-are-started.patch | 16 +- ...STEMCTL_OPTIONS-environment-variable.patch | 12 +- ...lang-value-in-etc-sysconfig-language.patch | 16 +- ...script-heuristic-and-add-new-LSB-hea.patch | 20 +- ...ndle-boot-sysctl.conf-kernel_release.patch | 2 +- systemd-207.tar.xz | 3 - systemd-208.tar.xz | 3 + systemd-mini.changes | 200 ++++++++++++++---- systemd-mini.spec | 84 +++++--- systemd.changes | 200 ++++++++++++++---- systemd.spec | 84 +++++--- 37 files changed, 1052 insertions(+), 628 deletions(-) create mode 100644 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch delete mode 100644 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch create mode 100644 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch delete mode 100644 0002-cgroup-correct-the-log-information.patch create mode 100644 0002-fix-lingering-references-to-var-lib-backlight-random.patch create mode 100644 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch delete mode 100644 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch delete mode 100644 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch create mode 100644 0004-systemctl-fix-name-mangling-for-sysv-units.patch delete mode 100644 0005-core-cgroup-first-print-then-free.patch create mode 100644 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch create mode 100644 0006-journald-add-missing-error-check.patch delete mode 100644 0006-swap-fix-reverse-dependencies.patch create mode 100644 0007-bus-fix-potentially-uninitialized-memory-access.patch delete mode 100644 0007-libudev-fix-move_later-comparison.patch create mode 100644 0008-dbus-fix-return-value-of-dispatch_rqueue.patch delete mode 100644 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch create mode 100644 0009-modules-load-fix-error-handling.patch delete mode 100644 0009-polkit-Avoid-race-condition-in-scraping-proc.patch create mode 100644 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch create mode 100644 0011-strv-don-t-access-potentially-NULL-string-arrays.patch create mode 100644 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch create mode 100644 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch delete mode 100644 Fix-timeout-when-stopping-Type-notify-service.patch create mode 100644 after-local.service delete mode 100644 systemd-207.tar.xz create mode 100644 systemd-208.tar.xz diff --git a/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch b/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch new file mode 100644 index 00000000..312a5616 --- /dev/null +++ b/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch @@ -0,0 +1,25 @@ +From 7e326fb5b2c1a839bbe7f879c7efa2af2ed33420 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 2 Oct 2013 13:39:49 +0200 +Subject: [PATCH 01/15] acpi-fptd: fix memory leak in acpi_get_boot_usec + +--- + src/shared/acpi-fpdt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index b094f34..a7c83ed 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -81,7 +81,7 @@ struct acpi_fpdt_boot { + }; + + int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { +- char *buf; ++ _cleanup_free_ char *buf; + struct acpi_table_header *tbl; + size_t l; + struct acpi_fpdt_header *rec; +-- +1.8.4 + diff --git a/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch b/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch deleted file mode 100644 index 4883baed..00000000 --- a/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8d7b5ca0a6cdab3e400ef084fa8a05d581d59b55 Mon Sep 17 00:00:00 2001 -From: Gao feng -Date: Fri, 13 Sep 2013 11:17:05 +0800 -Subject: [PATCH 1/7] cgroup: add the missing setting of variable's value - -set the value of variable "r" to the return value -of cg_set_attribute. ---- - src/core/cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 3eeb475..fba0b2f 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -264,7 +264,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha - log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); - - sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); -- cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); -+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); - if (r < 0) - log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); - } --- -1.8.1.4 - diff --git a/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch b/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch new file mode 100644 index 00000000..254212c5 --- /dev/null +++ b/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch @@ -0,0 +1,41 @@ +From 77009452cfd25208509b14ea985e81fdf9f7d40e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 3 Oct 2013 22:15:08 -0400 +Subject: [PATCH] systemd: order remote mounts from mountinfo before + remote-fs.target + +Usually the network is stopped before filesystems are umounted. +Ordering network filesystems before remote-fs.target means that their +unmounting will be performed earlier, and can terminate sucessfully. + +https://bugs.freedesktop.org/show_bug.cgi?id=70002 +--- + src/core/mount.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 3d46557..93bfa99 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1440,6 +1440,9 @@ static int mount_add_one( + + u = manager_get_unit(m, e); + if (!u) { ++ const char* const target = ++ fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; ++ + delete = true; + + u = unit_new(m, sizeof(Mount)); +@@ -1466,7 +1469,7 @@ static int mount_add_one( + goto fail; + } + +- r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, NULL, true); ++ r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); + if (r < 0) + goto fail; + +-- +1.8.4 + diff --git a/0002-cgroup-correct-the-log-information.patch b/0002-cgroup-correct-the-log-information.patch deleted file mode 100644 index 648b5c67..00000000 --- a/0002-cgroup-correct-the-log-information.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ebab7f4535a077eb8168cb8f3a9fe899e56aba17 Mon Sep 17 00:00:00 2001 -From: Gao feng -Date: Fri, 13 Sep 2013 11:17:06 +0800 -Subject: [PATCH 2/7] cgroup: correct the log information - -it should be memory.soft_limit_in_bytes. ---- - src/core/cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index fba0b2f..aee93ba 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -266,7 +266,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha - sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); - r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); - if (r < 0) -- log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); -+ log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); - } - - if (mask & CGROUP_DEVICE) { --- -1.8.1.4 - diff --git a/0002-fix-lingering-references-to-var-lib-backlight-random.patch b/0002-fix-lingering-references-to-var-lib-backlight-random.patch new file mode 100644 index 00000000..6ce0c230 --- /dev/null +++ b/0002-fix-lingering-references-to-var-lib-backlight-random.patch @@ -0,0 +1,55 @@ +From 6c8c92fef72cf6a7ef7109a424ef82dbdc4f6952 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Wed, 2 Oct 2013 07:46:24 -0400 +Subject: [PATCH 02/15] fix lingering references to + /var/lib/{backlight,random-seed} + +This should have been part of ef5bfcf668e6029faa78534dfe. +--- + man/systemd-backlight@.service.xml | 2 +- + man/systemd-random-seed.service.xml | 2 +- + units/systemd-backlight@.service.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/man/systemd-backlight@.service.xml b/man/systemd-backlight@.service.xml +index 2b73625..4318964 100644 +--- a/man/systemd-backlight@.service.xml ++++ b/man/systemd-backlight@.service.xml +@@ -58,7 +58,7 @@ + is a service that restores the display backlight + brightness at early-boot and saves it at shutdown. On + disk, the backlight brightness is stored in +- /var/lib/backlight/. Note that by ++ /var/lib/systemd/backlight/. Note that by + default, only firmware backlight devices are + saved/restored. + +diff --git a/man/systemd-random-seed.service.xml b/man/systemd-random-seed.service.xml +index 8cd14b7..e5cd037 100644 +--- a/man/systemd-random-seed.service.xml ++++ b/man/systemd-random-seed.service.xml +@@ -61,7 +61,7 @@ + for details. Saving/restoring the random seed across + boots increases the amount of available entropy early + at boot. On disk the random seed is stored in +- /var/lib/random-seed. ++ /var/lib/systemd/random-seed. + + + +diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in +index b0e75db..5caa5d5 100644 +--- a/units/systemd-backlight@.service.in ++++ b/units/systemd-backlight@.service.in +@@ -9,7 +9,7 @@ + Description=Load/Save Screen Backlight Brightness of %I + Documentation=man:systemd-backlight@.service(8) + DefaultDependencies=no +-RequiresMountsFor=/var/lib/backlight ++RequiresMountsFor=/var/lib/systemd/backlight + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service + Before=sysinit.target shutdown.target +-- +1.8.4 + diff --git a/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch b/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch new file mode 100644 index 00000000..86e13443 --- /dev/null +++ b/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch @@ -0,0 +1,25 @@ +From 2c64a8d0caf84254e38f2e76528f2034d37da520 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 14:03:56 +0200 +Subject: [PATCH 03/15] acpi: make sure we never free an uninitialized pointer + +--- + src/shared/acpi-fpdt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index a7c83ed..af58c7c 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -81,7 +81,7 @@ struct acpi_fpdt_boot { + }; + + int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { +- _cleanup_free_ char *buf; ++ _cleanup_free_ char *buf = NULL; + struct acpi_table_header *tbl; + size_t l; + struct acpi_fpdt_header *rec; +-- +1.8.4 + diff --git a/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch b/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch deleted file mode 100644 index 9b103930..00000000 --- a/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch +++ /dev/null @@ -1,46 +0,0 @@ -From bebbf30ef61e4cbc782731e48ad67613aab38ec6 Mon Sep 17 00:00:00 2001 -From: Gao feng -Date: Fri, 13 Sep 2013 14:43:04 +0800 -Subject: [PATCH 3/7] cgroup: fix incorrectly setting memory cgroup - -If the memory_limit of unit is -1, we should write "-1" -to the file memory.limit_in_bytes. not the (unit64_t) -1. - -otherwise the memory.limit_in_bytes will be set to zero. ---- - src/core/cgroup.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index aee93ba..244baff 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -257,14 +257,21 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha - - if (mask & CGROUP_MEMORY) { - char buf[DECIMAL_STR_MAX(uint64_t) + 1]; -+ if (c->memory_limit != (uint64_t) -1) { -+ sprintf(buf, "%" PRIu64 "\n", c->memory_limit); -+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); -+ } else -+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", "-1"); - -- sprintf(buf, "%" PRIu64 "\n", c->memory_limit); -- r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); - if (r < 0) - log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); - -- sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); -- r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); -+ if (c->memory_soft_limit != (uint64_t) -1) { -+ sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); -+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); -+ } else -+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", "-1"); -+ - if (r < 0) - log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); - } --- -1.8.1.4 - diff --git a/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch b/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch deleted file mode 100644 index b90fbadc..00000000 --- a/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0465a409e0a3725b44b0801641a7497e2125e59e Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 13 Sep 2013 14:12:55 +0200 -Subject: [PATCH 4/7] random-seed: we should return errno of failed loop_write - ---- - src/random-seed/random-seed.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c -index 4776c07..afbd500 100644 ---- a/src/random-seed/random-seed.c -+++ b/src/random-seed/random-seed.c -@@ -157,7 +157,7 @@ int main(int argc, char *argv[]) { - r = loop_write(seed_fd, buf, (size_t) k, false); - if (r <= 0) { - log_error("Failed to write new random seed file: %s", r < 0 ? strerror(-r) : "short write"); -- r = k == 0 ? -EIO : (int) k; -+ r = r == 0 ? -EIO : r; - } - } - --- -1.8.1.4 - diff --git a/0004-systemctl-fix-name-mangling-for-sysv-units.patch b/0004-systemctl-fix-name-mangling-for-sysv-units.patch new file mode 100644 index 00000000..a2531e70 --- /dev/null +++ b/0004-systemctl-fix-name-mangling-for-sysv-units.patch @@ -0,0 +1,134 @@ +From cbb13b2a538ece1c7ec3b210e2b36b47df2a13ea Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= +Date: Wed, 2 Oct 2013 16:42:42 +0200 +Subject: [PATCH 04/15] systemctl: fix name mangling for sysv units + +--- + src/systemctl/systemctl.c | 45 ++++++++++++++++++--------------------------- + 1 file changed, 18 insertions(+), 27 deletions(-) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index bb7ada9..d75281f 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -4218,11 +4218,10 @@ static int set_environment(DBusConnection *bus, char **args) { + return 0; + } + +-static int enable_sysv_units(char **args) { ++static int enable_sysv_units(const char *verb, char **args) { + int r = 0; + + #if defined(HAVE_SYSV_COMPAT) && defined(HAVE_CHKCONFIG) +- const char *verb = args[0]; + unsigned f = 1, t = 1; + LookupPaths paths = {}; + +@@ -4242,7 +4241,7 @@ static int enable_sysv_units(char **args) { + return r; + + r = 0; +- for (f = 1; args[f]; f++) { ++ for (f = 0; args[f]; f++) { + const char *name; + _cleanup_free_ char *p = NULL, *q = NULL; + bool found_native = false, found_sysv; +@@ -4365,7 +4364,7 @@ finish: + lookup_paths_free(&paths); + + /* Drop all SysV units */ +- for (f = 1, t = 1; args[f]; f++) { ++ for (f = 0, t = 0; args[f]; f++) { + + if (isempty(args[f])) + continue; +@@ -4423,16 +4422,16 @@ static int enable_unit(DBusConnection *bus, char **args) { + + dbus_error_init(&error); + +- r = enable_sysv_units(args); +- if (r < 0) +- return r; +- + if (!args[1]) + return 0; + + r = mangle_names(args+1, &mangled_names); + if (r < 0) +- goto finish; ++ return r; ++ ++ r = enable_sysv_units(verb, mangled_names); ++ if (r < 0) ++ return r; + + if (!bus || avoid_bus()) { + if (streq(verb, "enable")) { +@@ -4624,11 +4623,15 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + _cleanup_dbus_message_unref_ DBusMessage *reply = NULL; + bool enabled; + char **name; +- char *n; ++ _cleanup_strv_free_ char **mangled_names = NULL; + + dbus_error_init(&error); + +- r = enable_sysv_units(args); ++ r = mangle_names(args+1, &mangled_names); ++ if (r < 0) ++ return r; ++ ++ r = enable_sysv_units(args[0], mangled_names); + if (r < 0) + return r; + +@@ -4636,16 +4639,10 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + + if (!bus || avoid_bus()) { + +- STRV_FOREACH(name, args+1) { ++ STRV_FOREACH(name, mangled_names) { + UnitFileState state; + +- n = unit_name_mangle(*name); +- if (!n) +- return log_oom(); +- +- state = unit_file_get_state(arg_scope, arg_root, n); +- +- free(n); ++ state = unit_file_get_state(arg_scope, arg_root, *name); + + if (state < 0) + return state; +@@ -4660,13 +4657,9 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + } + + } else { +- STRV_FOREACH(name, args+1) { ++ STRV_FOREACH(name, mangled_names) { + const char *s; + +- n = unit_name_mangle(*name); +- if (!n) +- return log_oom(); +- + r = bus_method_call_with_reply ( + bus, + "org.freedesktop.systemd1", +@@ -4675,11 +4668,9 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + "GetUnitFileState", + &reply, + NULL, +- DBUS_TYPE_STRING, &n, ++ DBUS_TYPE_STRING, name, + DBUS_TYPE_INVALID); + +- free(n); +- + if (r) + return r; + +-- +1.8.4 + diff --git a/0005-core-cgroup-first-print-then-free.patch b/0005-core-cgroup-first-print-then-free.patch deleted file mode 100644 index 5aac9a86..00000000 --- a/0005-core-cgroup-first-print-then-free.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fa7341808def8efb736747299374745ae059f398 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 13 Sep 2013 14:31:17 +0200 -Subject: [PATCH 5/7] core/cgroup: first print then free - ---- - src/core/cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 244baff..1f41efc 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -402,8 +402,8 @@ static int unit_create_cgroups(Unit *u, CGroupControllerMask mask) { - is_in_hash = true; - - if (r < 0) { -- free(path); - log_error("cgroup %s exists already: %s", path, strerror(-r)); -+ free(path); - return r; - } - --- -1.8.1.4 - diff --git a/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch b/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch new file mode 100644 index 00000000..d46e94d1 --- /dev/null +++ b/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch @@ -0,0 +1,48 @@ +From 4b93637fd7dddb0a1518f35171998b2c7cd5c5bd Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:36:28 +0200 +Subject: [PATCH 05/15] cryptsetup: fix OOM handling when parsing mount options + +--- + src/cryptsetup/cryptsetup.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index 22b5eea..769c3e4 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -74,7 +74,7 @@ static int parse_one_option(const char *option) { + + t = strdup(option+7); + if (!t) +- return -ENOMEM; ++ return log_oom(); + + free(opt_cipher); + opt_cipher = t; +@@ -89,9 +89,10 @@ static int parse_one_option(const char *option) { + } else if (startswith(option, "tcrypt-keyfile=")) { + + opt_type = CRYPT_TCRYPT; +- if (path_is_absolute(option+15)) +- opt_tcrypt_keyfiles = strv_append(opt_tcrypt_keyfiles, strdup(option+15)); +- else ++ if (path_is_absolute(option+15)) { ++ if (strv_extend(&opt_tcrypt_keyfiles, option + 15) < 0) ++ return log_oom(); ++ } else + log_error("Key file path '%s' is not absolute. Ignoring.", option+15); + + } else if (startswith(option, "keyfile-size=")) { +@@ -113,7 +114,7 @@ static int parse_one_option(const char *option) { + + t = strdup(option+5); + if (!t) +- return -ENOMEM; ++ return log_oom(); + + free(opt_hash); + opt_hash = t; +-- +1.8.4 + diff --git a/0006-journald-add-missing-error-check.patch b/0006-journald-add-missing-error-check.patch new file mode 100644 index 00000000..479c37cc --- /dev/null +++ b/0006-journald-add-missing-error-check.patch @@ -0,0 +1,25 @@ +From 8c92d4bbc7a538ada11d7e85016cce141beb0e6c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:36:43 +0200 +Subject: [PATCH 06/15] journald: add missing error check + +--- + src/journal/journal-file.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 1236403..81c344f 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -907,6 +907,8 @@ static int journal_file_append_field( + + osize = offsetof(Object, field.payload) + size; + r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p); ++ if (r < 0) ++ return r; + + o->field.hash = htole64(hash); + memcpy(o->field.payload, field, size); +-- +1.8.4 + diff --git a/0006-swap-fix-reverse-dependencies.patch b/0006-swap-fix-reverse-dependencies.patch deleted file mode 100644 index 4582c34f..00000000 --- a/0006-swap-fix-reverse-dependencies.patch +++ /dev/null @@ -1,30 +0,0 @@ -From dec37dc9e875695c09cfc1ec5e55b5f68eaa39f4 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 13 Sep 2013 14:46:18 +0200 -Subject: [PATCH 6/7] swap: fix reverse dependencies - -Make sure swap.target correctly requires/wants the swap units. - -This fixes https://bugs.freedesktop.org/show_bug.cgi?id=69291. - -Reported-by: Hussam Al-Tayeb ---- - src/core/swap.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/swap.c b/src/core/swap.c -index 57d15eb..3950860 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -220,7 +220,7 @@ static int swap_add_default_dependencies(Swap *s) { - } - - if (!noauto) { -- r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, (nofail ? UNIT_WANTED_BY : UNIT_REQUIRED_BY), -+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), - SPECIAL_SWAP_TARGET, NULL, true); - if (r < 0) - return r; --- -1.8.1.4 - diff --git a/0007-bus-fix-potentially-uninitialized-memory-access.patch b/0007-bus-fix-potentially-uninitialized-memory-access.patch new file mode 100644 index 00000000..2f2d2def --- /dev/null +++ b/0007-bus-fix-potentially-uninitialized-memory-access.patch @@ -0,0 +1,34 @@ +From f5f6e41a9ee008e1632f79ab3fa20beef7c2b613 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:37:11 +0200 +Subject: [PATCH 07/15] bus: fix potentially uninitialized memory access + +--- + src/libsystemd-bus/bus-internal.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c +index 0e66f3d..cac948e 100644 +--- a/src/libsystemd-bus/bus-internal.c ++++ b/src/libsystemd-bus/bus-internal.c +@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) { + + bool interface_name_is_valid(const char *p) { + const char *q; +- bool dot, found_dot; ++ bool dot, found_dot = false; + + if (isempty(p)) + return false; +@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) { + + bool service_name_is_valid(const char *p) { + const char *q; +- bool dot, found_dot, unique; ++ bool dot, found_dot = false, unique; + + if (isempty(p)) + return false; +-- +1.8.4 + diff --git a/0007-libudev-fix-move_later-comparison.patch b/0007-libudev-fix-move_later-comparison.patch deleted file mode 100644 index aa792e0c..00000000 --- a/0007-libudev-fix-move_later-comparison.patch +++ /dev/null @@ -1,24 +0,0 @@ -From f90d045c9168a55bb22eef6fe8756b6a6d2c1e53 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 13 Sep 2013 14:12:54 +0200 -Subject: [PATCH 7/7] libudev: fix move_later comparison - -At the beginning move_later is set to -1, but it is set to different -value only if expression !move_later is true. ---- - src/libudev/libudev-enumerate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-207/src/libudev/libudev-enumerate.c -=================================================================== ---- systemd-207.orig/src/libudev/libudev-enumerate.c -+++ systemd-207/src/libudev/libudev-enumerate.c -@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_en - /* skip to be delayed devices, and move the to - * the point where the prefix changes. We can - * only move one item at a time. */ -- if (!move_later) { -+ if (move_later == -1) { - move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); - - if (move_later_prefix > 0) { diff --git a/0008-dbus-fix-return-value-of-dispatch_rqueue.patch b/0008-dbus-fix-return-value-of-dispatch_rqueue.patch new file mode 100644 index 00000000..3985ab2b --- /dev/null +++ b/0008-dbus-fix-return-value-of-dispatch_rqueue.patch @@ -0,0 +1,30 @@ +From 2e8d788c2f90d062f208f8c57a97e7b33cb29f7d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:37:30 +0200 +Subject: [PATCH 08/15] dbus: fix return value of dispatch_rqueue() + +--- + src/libsystemd-bus/sd-bus.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c +index 3f766fb..db0880f 100644 +--- a/src/libsystemd-bus/sd-bus.c ++++ b/src/libsystemd-bus/sd-bus.c +@@ -1215,11 +1215,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) { + if (r == 0) + return ret; + +- r = 1; ++ ret = 1; + } while (!z); + + *m = z; +- return 1; ++ return ret; + } + + int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) { +-- +1.8.4 + diff --git a/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch b/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch deleted file mode 100644 index a81842b9..00000000 --- a/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9981460a8f2d5587fef5216d556b5fb502281be6 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 16 Sep 2013 01:08:32 +0200 -Subject: [PATCH 8/8] swap: create .wants symlink to 'auto' swap devices - -As we load unit files lazily, we need to make sure something pulls in swap -units that should be started automatically, otherwise the default dependencies -will never be applied. - -This partially reinstates code removed in -commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4. - -Also don't order swap devices after swap.target when they are 'nofail'. ---- - src/core/swap.c | 8 ++++++-- - src/fstab-generator/fstab-generator.c | 18 ++++++++++++++++-- - 2 files changed, 22 insertions(+), 4 deletions(-) - -diff --git a/src/core/swap.c b/src/core/swap.c -index 3950860..76c7d45 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -220,8 +220,12 @@ static int swap_add_default_dependencies(Swap *s) { - } - - if (!noauto) { -- r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), -- SPECIAL_SWAP_TARGET, NULL, true); -+ if (nofail) -+ r = unit_add_dependency_by_name_inverse(UNIT(s), -+ UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); -+ else -+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), -+ UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); - if (r < 0) - return r; - } -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index 6ebe8aa..b73dfa4 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -66,6 +66,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { - static int add_swap(const char *what, struct mntent *me) { - _cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL; - _cleanup_fclose_ FILE *f = NULL; -+ bool noauto; - int r, pri = -1; - - assert(what); -@@ -77,6 +78,8 @@ static int add_swap(const char *what, struct mntent *me) { - return pri; - } - -+ noauto = !!hasmntopt(me, "noauto"); -+ - name = unit_name_from_path(what, ".swap"); - if (!name) - return log_oom(); -@@ -97,8 +100,7 @@ static int add_swap(const char *what, struct mntent *me) { - fprintf(f, - "# Automatically generated by systemd-fstab-generator\n\n" - "[Unit]\n" -- "SourcePath=/etc/fstab\n" -- "\n" -+ "SourcePath=/etc/fstab\n\n" - "[Swap]\n" - "What=%s\n", - what); -@@ -114,6 +116,18 @@ static int add_swap(const char *what, struct mntent *me) { - return -errno; - } - -+ if (!noauto) { -+ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); -+ if (!lnk) -+ return log_oom(); -+ -+ mkdir_parents_label(lnk, 0755); -+ if (symlink(unit, lnk) < 0) { -+ log_error("Failed to create symlink %s: %m", lnk); -+ return -errno; -+ } -+ } -+ - return 0; - } - --- -1.8.1.4 - diff --git a/0009-modules-load-fix-error-handling.patch b/0009-modules-load-fix-error-handling.patch new file mode 100644 index 00000000..df350218 --- /dev/null +++ b/0009-modules-load-fix-error-handling.patch @@ -0,0 +1,27 @@ +From b857193b1def5172e3641ca1d5bc9e08ae81aac4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:37:44 +0200 +Subject: [PATCH 09/15] modules-load: fix error handling + +--- + src/modules-load/modules-load.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c +index 7b19ee0..49ee420 100644 +--- a/src/modules-load/modules-load.c ++++ b/src/modules-load/modules-load.c +@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) { + + STRV_FOREACH(i, arg_proc_cmdline_modules) { + k = load_module(ctx, *i); +- if (k < 0) +- r = EXIT_FAILURE; ++ if (k < 0 && r == 0) ++ r = k; + } + + r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); +-- +1.8.4 + diff --git a/0009-polkit-Avoid-race-condition-in-scraping-proc.patch b/0009-polkit-Avoid-race-condition-in-scraping-proc.patch deleted file mode 100644 index 283c2e7a..00000000 --- a/0009-polkit-Avoid-race-condition-in-scraping-proc.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 851d079d0172539bf904abb58edd80d7cfe487ca Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Thu, 22 Aug 2013 13:55:21 -0400 -Subject: [PATCH 9/9] polkit: Avoid race condition in scraping /proc - -If a calling process execve()s a setuid program, it can appear to be -uid 0. Since we're receiving requests over DBus, avoid this by simply -passing system-bus-name as a subject. ---- - src/shared/polkit.c | 31 +++++-------------------------- - 1 file changed, 5 insertions(+), 26 deletions(-) - -diff --git a/src/shared/polkit.c b/src/shared/polkit.c -index cea7074..1c5e9e3 100644 ---- a/src/shared/polkit.c -+++ b/src/shared/polkit.c -@@ -38,12 +38,8 @@ int verify_polkit( - - #ifdef ENABLE_POLKIT - DBusMessage *m = NULL, *reply = NULL; -- const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = ""; -+ const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = ""; - uint32_t flags = interactive ? 1 : 0; -- pid_t pid_raw; -- uint32_t pid_u32; -- unsigned long long starttime_raw; -- uint64_t starttime_u64; - DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant; - int r; - dbus_bool_t authorized = FALSE, challenge = FALSE; -@@ -68,14 +64,6 @@ int verify_polkit( - - #ifdef ENABLE_POLKIT - -- pid_raw = bus_get_unix_process_id(c, sender, error); -- if (pid_raw == 0) -- return -EINVAL; -- -- r = get_starttime_of_pid(pid_raw, &starttime_raw); -- if (r < 0) -- return r; -- - m = dbus_message_new_method_call( - "org.freedesktop.PolicyKit1", - "/org/freedesktop/PolicyKit1/Authority", -@@ -86,22 +74,13 @@ int verify_polkit( - - dbus_message_iter_init_append(m, &iter_msg); - -- pid_u32 = (uint32_t) pid_raw; -- starttime_u64 = (uint64_t) starttime_raw; -- - if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) || -- !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) || -+ !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) || - !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) || - !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || -- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) || -- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) || -- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) || -- !dbus_message_iter_close_container(&iter_dict, &iter_variant) || -- !dbus_message_iter_close_container(&iter_array, &iter_dict) || -- !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || -- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) || -- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) || -- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) || -+ !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) || -+ !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) || -+ !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) || - !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.1.4 - diff --git a/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch b/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch new file mode 100644 index 00000000..3994d1ee --- /dev/null +++ b/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch @@ -0,0 +1,26 @@ +From 62678deda2dcd43954bf02f783da01e48c7f8fce Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:38:09 +0200 +Subject: [PATCH 10/15] efi: never call qsort on potentially NULL arrays + +--- + src/shared/efivars.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/shared/efivars.c b/src/shared/efivars.c +index 1d5b6f9..c015b16 100644 +--- a/src/shared/efivars.c ++++ b/src/shared/efivars.c +@@ -384,7 +384,8 @@ int efi_get_boot_options(uint16_t **options) { + list[count ++] = id; + } + +- qsort(list, count, sizeof(uint16_t), cmp_uint16); ++ if (list) ++ qsort(list, count, sizeof(uint16_t), cmp_uint16); + + *options = list; + return count; +-- +1.8.4 + diff --git a/0011-strv-don-t-access-potentially-NULL-string-arrays.patch b/0011-strv-don-t-access-potentially-NULL-string-arrays.patch new file mode 100644 index 00000000..0ab90504 --- /dev/null +++ b/0011-strv-don-t-access-potentially-NULL-string-arrays.patch @@ -0,0 +1,27 @@ +From 5b4fb02d890d5c9777e9a6e798e0b8922a8a9fd8 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:38:28 +0200 +Subject: [PATCH 11/15] strv: don't access potentially NULL string arrays + +--- + src/shared/env-util.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/shared/env-util.c b/src/shared/env-util.c +index 5e29629..7976881 100644 +--- a/src/shared/env-util.c ++++ b/src/shared/env-util.c +@@ -405,7 +405,9 @@ char **strv_env_clean_log(char **e, const char *message) { + e[k++] = *p; + } + +- e[k] = NULL; ++ if (e) ++ e[k] = NULL; ++ + return e; + } + +-- +1.8.4 + diff --git a/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch b/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch new file mode 100644 index 00000000..1d91d801 --- /dev/null +++ b/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch @@ -0,0 +1,26 @@ +From 69c2b6be8fc607412a13cd0ea03a629b4965c816 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:38:52 +0200 +Subject: [PATCH 12/15] mkdir: pass a proper function pointer to + mkdir_safe_internal + +--- + src/shared/mkdir.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/mkdir.c b/src/shared/mkdir.c +index b7e5c6e..43c6ea6 100644 +--- a/src/shared/mkdir.c ++++ b/src/shared/mkdir.c +@@ -53,7 +53,7 @@ int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, mkd + } + + int mkdir_safe(const char *path, mode_t mode, uid_t uid, gid_t gid) { +- return mkdir_safe_internal(path, mode, uid, gid, false); ++ return mkdir_safe_internal(path, mode, uid, gid, mkdir); + } + + static int is_dir(const char* path) { +-- +1.8.4 + diff --git a/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch b/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch new file mode 100644 index 00000000..1ed8f92a --- /dev/null +++ b/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch @@ -0,0 +1,26 @@ +From 7074fecf6747c9a6ad872cc87701481e8bece8b0 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Wed, 2 Oct 2013 15:35:16 -0400 +Subject: [PATCH 14/15] tmpfiles.d: include setgid perms for /run/log/journal + +4608af4333d0f7f5 set permissions for journal storage on persistent disk +but not the volatile storage. + +ref: https://bugs.archlinux.org/task/37170 +--- + tmpfiles.d/systemd.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf +index b630440..a05c657 100644 +--- a/tmpfiles.d/systemd.conf ++++ b/tmpfiles.d/systemd.conf +@@ -26,3 +26,5 @@ F /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)" + + m /var/log/journal 2755 root systemd-journal - - + m /var/log/journal/%m 2755 root systemd-journal - - ++m /run/log/journal 2755 root systemd-journal - - ++m /run/log/journal/%m 2755 root systemd-journal - - +-- +1.8.4 + diff --git a/Fix-timeout-when-stopping-Type-notify-service.patch b/Fix-timeout-when-stopping-Type-notify-service.patch deleted file mode 100644 index 3d03d380..00000000 --- a/Fix-timeout-when-stopping-Type-notify-service.patch +++ /dev/null @@ -1,84 +0,0 @@ -Delivered-To: arvidjaar@gmail.com -Received: by 10.216.219.133 with SMTP id m5csp322525wep; - Fri, 20 Sep 2013 13:55:10 -0700 (PDT) -X-Received: by 10.66.171.204 with SMTP id aw12mr10856961pac.7.1379710509504; - Fri, 20 Sep 2013 13:55:09 -0700 (PDT) -Return-Path: -Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) - by mx.google.com with ESMTP id mj9si13683512pab.248.1969.12.31.16.00.00; - Fri, 20 Sep 2013 13:55:09 -0700 (PDT) -Received-SPF: pass (google.com: domain of systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; -Authentication-Results: mx.google.com; - spf=pass (google.com: domain of systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mail=systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org -Received: from gabe.freedesktop.org (localhost [127.0.0.1]) - by gabe.freedesktop.org (Postfix) with ESMTP id D7BD0E5F24 - for ; Fri, 20 Sep 2013 13:55:06 -0700 (PDT) -X-Original-To: systemd-devel@lists.freedesktop.org -Delivered-To: systemd-devel@lists.freedesktop.org -Received: from mail.jjacky.com (unknown [23.29.69.116]) - by gabe.freedesktop.org (Postfix) with ESMTP id E3B2FE5DF6 - for ; - Fri, 20 Sep 2013 13:54:34 -0700 (PDT) -Received: from arch.local (arch.tks [10.42.0.6]) - by mail.jjacky.com (Postfix) with ESMTP id 2F68E18084A; - Fri, 20 Sep 2013 22:54:11 +0200 (CEST) -From: Olivier Brunel -To: systemd-devel@lists.freedesktop.org -Date: Fri, 20 Sep 2013 22:53:52 +0200 -Message-Id: <1379710432-4195-1-git-send-email-jjk@jjacky.com> -X-Mailer: git-send-email 1.8.4 -Subject: [systemd-devel] [PATCH] Fix timeout when stopping Type=notify - service -X-BeenThere: systemd-devel@lists.freedesktop.org -X-Mailman-Version: 2.1.13 -Precedence: list -List-Id: systemd Development Mailing List -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -MIME-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Content-Transfer-Encoding: 7bit -Sender: systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org -Errors-To: systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org - -Since 41efeaec a call to service_unwatch_main_pid() is done from -service_set_main_pid(), which is called upon receiving message MAINPID= - -This had the side effect of not watching pid anymore, and would result in a -useless timeout when stopping the service, as the unit wouldn't be identified -from the pid, so not marked stopped which would result in systemd thinking this -was a timeout. ---- -I'm not exactly familiar with systemd's internals, so this might not be the -correct way to fix this, please correct me if it isn't. - - src/core/service.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: systemd-207/src/core/service.c -=================================================================== ---- systemd-207.orig/src/core/service.c -+++ systemd-207/src/core/service.c -@@ -3461,9 +3461,17 @@ static void service_notify_message(Unit - log_warning_unit(u->id, - "Failed to parse notification message %s", e); - else { -+ int r; -+ - log_debug_unit(u->id, - "%s: got %s", u->id, e); - service_set_main_pid(s, pid); -+ r = unit_watch_pid(u, pid); -+ if (r < 0) -+ /* FIXME: we need to do something here */ -+ log_warning_unit(u->id, -+ "Failed to watch PID %lu from service %s", -+ (unsigned long) pid, u->id); - } - } - diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch index 137a4824..41d51bfa 100644 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -10,8 +10,10 @@ Conflicts: src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) ---- systemd-206.orig/src/core/service.c -+++ systemd-206/src/core/service.c +Index: systemd-208/src/core/service.c +=================================================================== +--- systemd-208.orig/src/core/service.c ++++ systemd-208/src/core/service.c @@ -51,7 +51,8 @@ typedef enum RunlevelType { @@ -53,7 +55,7 @@ Conflicts: #endif static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -334,6 +347,9 @@ static char *sysv_translate_name(const c +@@ -340,6 +353,9 @@ static char *sysv_translate_name(const c if (endswith(name, ".sh")) /* Drop .sh suffix */ strcpy(stpcpy(r, name) - 3, ".service"); @@ -63,7 +65,7 @@ Conflicts: else /* Normal init script name */ strcpy(stpcpy(r, name), ".service"); -@@ -936,6 +952,13 @@ static int service_load_sysv_path(Servic +@@ -942,6 +958,13 @@ static int service_load_sysv_path(Servic if ((r = sysv_exec_commands(s, supports_reload)) < 0) goto finish; @@ -77,7 +79,7 @@ Conflicts: if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { /* If there a runlevels configured for this service -@@ -1017,6 +1040,9 @@ static int service_load_sysv_name(Servic +@@ -1023,6 +1046,9 @@ static int service_load_sysv_name(Servic if (endswith(name, ".sh.service")) return -ENOENT; @@ -87,7 +89,7 @@ Conflicts: STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { char *path; int r; -@@ -1037,6 +1063,18 @@ static int service_load_sysv_name(Servic +@@ -1043,6 +1069,18 @@ static int service_load_sysv_name(Servic } free(path); @@ -106,7 +108,7 @@ Conflicts: if (r < 0) return r; -@@ -3587,7 +3625,7 @@ static int service_enumerate(Manager *m) +@@ -3574,7 +3612,7 @@ static int service_enumerate(Manager *m) if (de->d_name[0] == 'S') { @@ -115,7 +117,7 @@ Conflicts: SERVICE(service)->sysv_start_priority_from_rcnd = MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); -@@ -3604,7 +3642,8 @@ static int service_enumerate(Manager *m) +@@ -3591,7 +3629,8 @@ static int service_enumerate(Manager *m) goto finish; } else if (de->d_name[0] == 'K' && @@ -125,7 +127,7 @@ Conflicts: r = set_ensure_allocated(&shutdown_services, trivial_hash_func, trivial_compare_func); -@@ -3644,7 +3683,9 @@ static int service_enumerate(Manager *m) +@@ -3631,7 +3670,9 @@ static int service_enumerate(Manager *m) * runlevels we assume the stop jobs will be implicitly added * by the core logic. Also, we don't really distinguish here * between the runlevels 0 and 6 and just add them to the diff --git a/after-local.service b/after-local.service new file mode 100644 index 00000000..a9fb26a7 --- /dev/null +++ b/after-local.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=/etc/init.d/after.local Compatibility +ConditionFileIsExecutable=/etc/init.d/after.local +After=getty.target + +[Service] +Type=idle +ExecStart=/etc/init.d/after.local +TimeoutSec=0 +RemainAfterExit=yes +SysVStartPriority=99 diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index f1145b9e..b9ec5122 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -7,18 +7,22 @@ Subject: delay fsck / cryptsetup after md / dmraid are started units/systemd-fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) ---- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c -@@ -160,6 +160,7 @@ static int create_disk( - "Conflicts=umount.target\n" +Index: systemd-208/src/cryptsetup/cryptsetup-generator.c +=================================================================== +--- systemd-208.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-208/src/cryptsetup/cryptsetup-generator.c +@@ -119,6 +119,7 @@ static int create_disk( "DefaultDependencies=no\n" "BindsTo=dev-mapper-%i.device\n" + "IgnoreOnIsolate=true\n" + "After=md.service dmraid.service\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); ---- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in -+++ systemd-206_git201308300826/units/systemd-fsck@.service.in +Index: systemd-208/units/systemd-fsck@.service.in +=================================================================== +--- systemd-208.orig/units/systemd-fsck@.service.in ++++ systemd-208/units/systemd-fsck@.service.in @@ -10,7 +10,7 @@ Description=File System Check on %f Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index 79b99a67..577f2685 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -7,11 +7,13 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) ---- systemd-206.orig/src/systemctl/systemctl.c -+++ systemd-206/src/systemctl/systemctl.c -@@ -6197,6 +6197,28 @@ int main(int argc, char*argv[]) { - log_parse_environment(); - log_open(); +Index: systemd-208/src/systemctl/systemctl.c +=================================================================== +--- systemd-208.orig/src/systemctl/systemctl.c ++++ systemd-208/src/systemctl/systemctl.c +@@ -6115,6 +6115,28 @@ int main(int argc, char*argv[]) { + * ellipsized. */ + original_stdout_is_tty = isatty(STDOUT_FILENO); + if (secure_getenv("SYSTEMCTL_OPTIONS") && + (!program_invocation_short_name || diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index 9450a8ea..d7bea39c 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -7,10 +7,12 @@ handle ROOT_USES_LANG=ctype (bnc#792182). src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) ---- systemd-206_git201308300826.orig/src/core/locale-setup.c -+++ systemd-206_git201308300826/src/core/locale-setup.c -@@ -72,6 +72,11 @@ int locale_setup(char ***environment) { - char **env; +Index: systemd-208/src/core/locale-setup.c +=================================================================== +--- systemd-208.orig/src/core/locale-setup.c ++++ systemd-208/src/core/locale-setup.c +@@ -73,6 +73,11 @@ int locale_setup(char ***environment) { + char **add; char *variables[_VARIABLE_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT @@ -21,12 +23,12 @@ handle ROOT_USES_LANG=ctype (bnc#792182). if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -118,6 +123,27 @@ int locale_setup(char ***environment) { +@@ -119,6 +124,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } +#ifdef HAVE_SYSV_COMPAT -+ if (r <= 0 && ++ if (r <= 0 && + (r = parse_env_file("/etc/sysconfig/language", NEWLINE, + "ROOT_USES_LANG", &root_uses_lang, + "RC_LANG", &variables[VARIABLE_LANG], @@ -47,5 +49,5 @@ handle ROOT_USES_LANG=ctype (bnc#792182). + +#endif + add = NULL; for (i = 0; i < _VARIABLE_MAX; i++) { - if (!variables[i]) diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 8f953181..f1e0dfcb 100644 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -11,8 +11,10 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. src/core/service.h | 1 + 2 files changed, 33 insertions(+), 2 deletions(-) ---- systemd-206_git201308300826.orig/src/core/service.c -+++ systemd-206_git201308300826/src/core/service.c +Index: systemd-208/src/core/service.c +=================================================================== +--- systemd-208.orig/src/core/service.c ++++ systemd-208/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; @@ -21,7 +23,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -879,6 +880,34 @@ static int service_load_sysv_path(Servic +@@ -883,6 +884,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -56,7 +58,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -929,7 +958,8 @@ static int service_load_sysv_path(Servic +@@ -933,7 +962,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -66,7 +68,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2102,7 +2132,7 @@ static void service_enter_running(Servic +@@ -2080,7 +2110,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -75,9 +77,11 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); ---- systemd-206_git201308300826.orig/src/core/service.h -+++ systemd-206_git201308300826/src/core/service.h -@@ -177,6 +177,7 @@ struct Service { +Index: systemd-208/src/core/service.h +=================================================================== +--- systemd-208.orig/src/core/service.h ++++ systemd-208/src/core/service.h +@@ -178,6 +178,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; bool sysv_enabled:1; diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 3381072a..9b3defb9 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -44,7 +44,7 @@ Index: systemd-207/units/systemd-sysctl.service.in ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d ConditionDirectoryNotEmpty=|/run/sysctl.d -+ConditionPathExistsGlob=|/boot/sysctl.conf-* ++ConditionPathExistsGlob=|/boot/sysctl.conf-%v +RequiresMountsFor=/boot [Service] diff --git a/systemd-207.tar.xz b/systemd-207.tar.xz deleted file mode 100644 index d97bd0f4..00000000 --- a/systemd-207.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942 -size 2363804 diff --git a/systemd-208.tar.xz b/systemd-208.tar.xz new file mode 100644 index 00000000..12a73a83 --- /dev/null +++ b/systemd-208.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390 +size 2382904 diff --git a/systemd-mini.changes b/systemd-mini.changes index 08f75766..68686869 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,117 @@ +------------------------------------------------------------------- +Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com + +- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: + fix acpi memleak. +- Add + 0002-fix-lingering-references-to-var-lib-backlight-random.patch: + fix invalid path in documentation. +- Add + 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: + fix invalid memory free. +- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix + name mangling for sysv units. +- Add + 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: + fix OOM handling. +- Add 0006-journald-add-missing-error-check.patch: add missing + error check. +- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: + fix uninitialized memory access. +- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix + return value. +- Add 0009-modules-load-fix-error-handling.patch: fix error + handling. +- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: + fix incorrect memory access. +- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: + fix incorrect memory access. +- Add + 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: + fix invalid pointer. +- Add + 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: + fix permission on /run/log/journal. +- Add + 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: + order remote mount points properly before remote-fs.target. + +------------------------------------------------------------------- +Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com + +- Explicitly require pam-config for %post of the main package + +------------------------------------------------------------------- +Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com + +- Release v208: + + logind gained support for facilitating privileged input and drm + devices access for unprivileged clients (helps Wayland / + kmscon). + + New kernel command line luks.options= allows to specify LUKS + options, when used with luks.uuid= + + tmpfileS.d snippets can uses specifier expansion in path names + (%m, %b, %H, %v). + + New tmpfiles.d command "m" introduced to change + owner/group/access mode of a file/directory only if it exists. + + MemorySoftLimit= cgroup settings is no longer supported + (underlying kernel cgroup attribute will disappear in the + future). + + memeory.use_hierarchy cgroup attribute is enabled for all + cgroups systemd creates in memory cgroup hierarchy. + + New filed _SYSTEMD_SLICE= is logged in journal messages related + to a slice. + + systemd-journald will no longer adjust the group of journal + files it creates to "systemd-journal" group. Permissions and + owernship is adjusted when package is upgraded. + + Backlight and random seed files are now stored in + /var/lib/systemd. + + Boot time performance measurements included ACPI 5.0 FPDT + informations if available. +- Drop merged patches: + 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, + 0002-cgroup-correct-the-log-information.patch, + 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, + 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, + 0005-core-cgroup-first-print-then-free.patch, + 0006-swap-fix-reverse-dependencies.patch, + 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, + 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, + Fix-timeout-when-stopping-Type-notify-service.patch, + set-ignoreonisolate-noauto-cryptsetup.patch, + 0001-Fix-buffer-overrun-when-enumerating-files.patch, + 0007-libudev-fix-move_later-comparison.patch. +- Refresh patches + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. +- Own more ghost files. +- Do not run pam-config in systemd-mini %post. +- Add after-local.service to run after.local late during the boot + process (bnc#778715). + +------------------------------------------------------------------- +Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com + +- Update Fix-timeout-when-stopping-Type-notify-service.patch with + upstream fix. +- No longer start ask-password-wall, was causing too much spam on + terminals (bnc#747783). + +------------------------------------------------------------------- +Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com + +- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto + encrypted mounts survives runlevel changes (bnc#843085). +- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix + logind crash when /run/systemd/sessions was too big (bnc#840055, + initial fix from hpj@suse.com). +- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to + only check for /boot/sysctl.conf- presence. +- Add service wrapper for after.local (bnc#778715). + ------------------------------------------------------------------- Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com @@ -25,14 +139,14 @@ Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com ------------------------------------------------------------------- Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch +- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] CVE-2013-4288 ------------------------------------------------------------------- Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org -- Build with --disable-ima as the openSUSE kernel +- Build with --disable-ima as the openSUSE kernel does not support IMA (CONFIG_IMA is not set) ------------------------------------------------------------------- @@ -53,14 +167,14 @@ Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous commit & the opensuse-factory mailing list. ------------------------------------------------------------------- Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch missing important check on return value. - 0002-cgroup-correct-the-log-information.patch fix misleading log information. @@ -70,7 +184,7 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org should fail if write fails. - 0005-core-cgroup-first-print-then-free.patch use-after-free will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in +- 0006-swap-fix-reverse-dependencies.patch reported in opensuse-factory list, topic "swap isn't activated" - 0007-libudev-fix-move_later-comparison.patch libudev invalid usage of "move_later". @@ -79,10 +193,10 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of + is defined to /var/run/dbus/system_bus_socket instead of /run/dbus/system_bus_socket and that does not fly when /var/run is not yet available. (systemd-dbus-system-bus-address.patch) @@ -94,10 +208,10 @@ Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org -- version 207, distribution specific changes follow, for overall +- version 207, distribution specific changes follow, for overall release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: Operation not permitted * Fix shutdown hang "a stop job is running for Session 1 of user root" that was reported in opensuse-factory list. @@ -204,7 +318,7 @@ Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org ------------------------------------------------------------------- Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org -- fix broken symlink, service is called systemd-random-seed now. +- fix broken symlink, service is called systemd-random-seed now. ------------------------------------------------------------------- Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com @@ -339,13 +453,13 @@ Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - Automatically online CPUs/Memory on CPU/Memory hotplug add events (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch + add: 1008-physical-hotplug-cpu-and-memory.patch ------------------------------------------------------------------- Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - Dropped backward compatibility -- Added check for upstream rpm macros changes +- Added check for upstream rpm macros changes ------------------------------------------------------------------- Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com @@ -355,7 +469,7 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com ------------------------------------------------------------------- Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org -- 0001-journal-letting-interleaved-seqnums-go.patch and +- 0001-journal-letting-interleaved-seqnums-go.patch and 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 @@ -392,8 +506,8 @@ Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, ignoring: Invalid argument - 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch systemctl disable should remove dangling symlinks. @@ -455,7 +569,7 @@ support has been removed from the kernel. fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 - Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in +- no such define TARGET_SUSE exists but it is used in Revert-service-drop-support-for-SysV-scripts-for-the-early.patch use HAVE_SYSV_COMPAT instead. @@ -514,7 +628,7 @@ Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - Rename remaning udev patches (clean-up). - Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). + boot time not from udev (bnc#761109). - Drop unused patches: 1001-Reinstate-TIMEOUT-handling.patch 1005-udev-fix-sg-autoload-regression.patch @@ -542,7 +656,7 @@ Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org -- Fix packaging error, there is no syslog.target anymore +- Fix packaging error, there is no syslog.target anymore do not pretend there is one. ------------------------------------------------------------------- @@ -583,14 +697,14 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com from an indexed database. %udev_hwdb_update macro should be used by packages adding entries to this database. + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. + to link up additional information with journal entries. %journal_catalog_update macro should be used by packages adding %entries to this database. + "age" field for tmpfiles entries can be set to 0, forcing removal of files matching this entry. + coredumpctl gained "gdb" verb to invoke gdb on selected coredump. - + New rpm macros has been added: %udev_rules_update(), + + New rpm macros has been added: %udev_rules_update(), %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, %_tmpfilesdir, %_sysctldir. + In service files, %U can be used for configured user name of @@ -614,7 +728,7 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com (normal clean-up with tmpfiles is still done in addition to this though). + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using + controlled dynamically at runtime for all units, using "systemctl set-cgroup-attr foobar.server cgroup.attribute value". Those settings are stored persistenly on disk. + systemd-vconsole-setup will now copy all fonts settings to all @@ -748,14 +862,14 @@ Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - add: 1027-udev-always-rename-network.patch + add: 1027-udev-always-rename-network.patch ------------------------------------------------------------------- Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - udev: re-add persistent network rules (bnc#809843). add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. +- rebase all patches, ensure that they apply properly. ------------------------------------------------------------------- Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com @@ -780,7 +894,7 @@ Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch - udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch ------------------------------------------------------------------- Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de @@ -815,7 +929,7 @@ Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - udev: use unique names for temporary files created in /dev. add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch - cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch ------------------------------------------------------------------- Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com @@ -837,7 +951,7 @@ Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch - keymap: add aditional support for some keyboard keys add: 1018-keymap-add-aditional-support.patch - journalctl: require argument for --priority @@ -846,7 +960,7 @@ Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com libudev-validate-argument-udev_enumerate_new.patch kmod-fix-builtin-typo.patch - rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for +- fix in udev package missing link in basic.target.wants for systemd-udev-root-symlink.service ------------------------------------------------------------------- @@ -978,7 +1092,7 @@ Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com add: 1014-udev-fix-whitespace.patch - udev: properly handle symlink removal by 'change' event add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of +- udev: builtin - do not fail builtin initialization if one of them returns an error add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch - udev: use usec_t and now() @@ -990,7 +1104,7 @@ Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and - systemd patches. + systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). ------------------------------------------------------------------- @@ -998,8 +1112,8 @@ Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - detect-btrfs-ssd.patch: Fix btrfs detection on SSD. - timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. + closing an non-existent dbus connection and getting assertion + failures. ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com @@ -1032,7 +1146,7 @@ Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com -- Fix creation of /dev/root link. +- Fix creation of /dev/root link. ------------------------------------------------------------------- Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com @@ -1191,7 +1305,7 @@ Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + Optional journal gateway daemon (systemd-journal-gatewayd.service) to access journal via HTTP and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and + /var/log/messages compatible format and 'curl -H"Accept: application/json" http://localhost:19531/entries' for JSON formatted content. HTML5 static page is also available as explained on @@ -1421,7 +1535,7 @@ Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com -- apply ppc patch to systemd-gtk too (fixes build) +- apply ppc patch to systemd-gtk too (fixes build) ------------------------------------------------------------------- Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com @@ -1503,7 +1617,7 @@ Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com -- Enable Plymouth integration. +- Enable Plymouth integration. * Bootsplash related files will be moved to the bootsplash package @@ -1554,7 +1668,7 @@ Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com property. + Rudimentary service watchdog support (not complete) + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. + forking to to reflect which process will be executed. + Various bug fixes. - Add remote-fs-after-network.patch and update insserv patch: ensure remote-fs-pre.target is enabled and started before network @@ -1613,7 +1727,7 @@ Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com -- Make the systemd journal persistent by creating the +- Make the systemd journal persistent by creating the /var/log/journal directory ------------------------------------------------------------------- @@ -1623,8 +1737,8 @@ Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - Bugfixes - Implementation of a Journal Utility Library - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure syslog socket goes away early during shutdown. - Add listen.conf for rsyslog. This will ensure that it will still work fine with rsyslog and the new journal. @@ -1902,7 +2016,7 @@ Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de * New PrivateNetwork= service setting which allows you to shut off networking for a specific service (i.e. all routable network interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch + * Merged insserv-parsing.patch and bash-completion-restart.patch patches. ------------------------------------------------------------------- diff --git a/systemd-mini.spec b/systemd-mini.spec index 3cb60d4a..46a37f39 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 207 +Version: 208 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -98,6 +98,9 @@ Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils %endif +%if ! 0%{?bootstrap} +Requires(post): pam-config +%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -112,6 +115,7 @@ Source7: libgcrypt.m4 Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream +Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule @@ -156,6 +160,7 @@ Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch Patch42: systemd-pam_config.patch + # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make @@ -170,27 +175,36 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run Patch47: systemd-dbus-system-bus-address.patch - -# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. -Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. -Patch49: 0002-cgroup-correct-the-log-information.patch -# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. -Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. -Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free -Patch52: 0005-core-cgroup-first-print-then-free.patch -# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly -Patch53: 0006-swap-fix-reverse-dependencies.patch -# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units -Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch -# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] -Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch -# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544] -Patch56: Fix-timeout-when-stopping-Type-notify-service.patch +# PATCH-FIX-UPSTREAM 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch fcrozat@suse.com -- fix acpi memleak +Patch48: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch +# PATCH-FIX-UPSTREAM 0002-fix-lingering-references-to-var-lib-backlight-random.patch fcrozat@suse.com -- fix invalid path in documentation +Patch49: 0002-fix-lingering-references-to-var-lib-backlight-random.patch +# PATCH-FIX-UPSTREAM 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch fcrozat@suse.com -- fix invalid memory free +Patch50: 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch +# PATCH-FIX-UPSTREAM 0004-systemctl-fix-name-mangling-for-sysv-units.patch fcrozat@suse.com -- fix name mangling for sysv units +Patch51: 0004-systemctl-fix-name-mangling-for-sysv-units.patch +# PATCH-FIX-UPSTREAM 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch fcrozat@suse.com -- fix OOM handling +Patch52: 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +# PATCH-FIX-UPSTREAM 0006-journald-add-missing-error-check.patch fcrozat@suse.com -- add missing error check +Patch53: 0006-journald-add-missing-error-check.patch +# PATCH-FIX-UPSTREAM 0007-bus-fix-potentially-uninitialized-memory-access.patch fcrozat@suse.com -- fix uninitialized memory access +Patch54: 0007-bus-fix-potentially-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM 0008-dbus-fix-return-value-of-dispatch_rqueue.patch fcrozat@suse.com -- fix return value +Patch55: 0008-dbus-fix-return-value-of-dispatch_rqueue.patch +# PATCH-FIX-UPSTREAM 0009-modules-load-fix-error-handling.patch fcrozat@suse.com -- fix error handling +Patch56: 0009-modules-load-fix-error-handling.patch +# PATCH-FIX-UPSTREAM 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch57: 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch +# PATCH-FIX-UPSTREAM 0011-strv-don-t-access-potentially-NULL-string-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch58: 0011-strv-don-t-access-potentially-NULL-string-arrays.patch +# PATCH-FIX-UPSTREAM 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch fcrozat@suse.com -- fix invalid pointer +Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch +# PATCH-FIX-UPSTREAM 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch fcrozat@suse.com -- fix permission on /run/log/journal +Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch +# PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target +Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -207,8 +221,6 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-UPSTREAM libudev: fix move_later comparison -Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -447,6 +459,11 @@ cp %{SOURCE7} m4/ %patch54 -p1 %patch55 -p1 %patch56 -p1 +%patch57 -p1 +%patch58 -p1 +%patch59 -p1 +%patch60 -p1 +%patch61 -p1 # udev patches %patch1001 -p1 @@ -459,7 +476,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -566,6 +582,9 @@ ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/ran # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +# don't enable wall ask password service, it spams every console (bnc#747783) +rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path + # create %{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf @@ -590,7 +609,7 @@ rm -f %{buildroot}/var/log/README %endif # legacy links -for f in loginctl journalctl ; do +for f in loginctl journalctl ; do ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 @@ -627,6 +646,10 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF +# ensure after.local wrapper is called +install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ +ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ + %fdupes -s %{buildroot}%{_mandir} # packaged in systemd-rpm-macros @@ -637,12 +660,18 @@ getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post +%if ! 0%{?bootstrap} /usr/sbin/pam-config -a --systemd || : +%endif /sbin/ldconfig +[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : +# Make sure new journal files +chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -680,9 +709,11 @@ if [ $1 -ge 1 ]; then /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi +%if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd || : fi +%endif %preun if [ $1 -eq 0 ]; then @@ -988,10 +1019,13 @@ exit 0 %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog +%ghost /var/lib/systemd/catalog/database %dir /var/lib/systemd/coredump %dir /usr/share/zsh %dir /usr/share/zsh/site-functions /usr/share/zsh/site-functions/* +%ghost /var/lib/systemd/backlight +%ghost /var/lib/systemd/random-seed %files devel %defattr(-,root,root,-) diff --git a/systemd.changes b/systemd.changes index 08f75766..68686869 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,117 @@ +------------------------------------------------------------------- +Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com + +- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: + fix acpi memleak. +- Add + 0002-fix-lingering-references-to-var-lib-backlight-random.patch: + fix invalid path in documentation. +- Add + 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: + fix invalid memory free. +- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix + name mangling for sysv units. +- Add + 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: + fix OOM handling. +- Add 0006-journald-add-missing-error-check.patch: add missing + error check. +- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: + fix uninitialized memory access. +- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix + return value. +- Add 0009-modules-load-fix-error-handling.patch: fix error + handling. +- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: + fix incorrect memory access. +- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: + fix incorrect memory access. +- Add + 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: + fix invalid pointer. +- Add + 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: + fix permission on /run/log/journal. +- Add + 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: + order remote mount points properly before remote-fs.target. + +------------------------------------------------------------------- +Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com + +- Explicitly require pam-config for %post of the main package + +------------------------------------------------------------------- +Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com + +- Release v208: + + logind gained support for facilitating privileged input and drm + devices access for unprivileged clients (helps Wayland / + kmscon). + + New kernel command line luks.options= allows to specify LUKS + options, when used with luks.uuid= + + tmpfileS.d snippets can uses specifier expansion in path names + (%m, %b, %H, %v). + + New tmpfiles.d command "m" introduced to change + owner/group/access mode of a file/directory only if it exists. + + MemorySoftLimit= cgroup settings is no longer supported + (underlying kernel cgroup attribute will disappear in the + future). + + memeory.use_hierarchy cgroup attribute is enabled for all + cgroups systemd creates in memory cgroup hierarchy. + + New filed _SYSTEMD_SLICE= is logged in journal messages related + to a slice. + + systemd-journald will no longer adjust the group of journal + files it creates to "systemd-journal" group. Permissions and + owernship is adjusted when package is upgraded. + + Backlight and random seed files are now stored in + /var/lib/systemd. + + Boot time performance measurements included ACPI 5.0 FPDT + informations if available. +- Drop merged patches: + 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, + 0002-cgroup-correct-the-log-information.patch, + 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, + 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, + 0005-core-cgroup-first-print-then-free.patch, + 0006-swap-fix-reverse-dependencies.patch, + 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, + 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, + Fix-timeout-when-stopping-Type-notify-service.patch, + set-ignoreonisolate-noauto-cryptsetup.patch, + 0001-Fix-buffer-overrun-when-enumerating-files.patch, + 0007-libudev-fix-move_later-comparison.patch. +- Refresh patches + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. +- Own more ghost files. +- Do not run pam-config in systemd-mini %post. +- Add after-local.service to run after.local late during the boot + process (bnc#778715). + +------------------------------------------------------------------- +Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com + +- Update Fix-timeout-when-stopping-Type-notify-service.patch with + upstream fix. +- No longer start ask-password-wall, was causing too much spam on + terminals (bnc#747783). + +------------------------------------------------------------------- +Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com + +- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto + encrypted mounts survives runlevel changes (bnc#843085). +- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix + logind crash when /run/systemd/sessions was too big (bnc#840055, + initial fix from hpj@suse.com). +- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to + only check for /boot/sysctl.conf- presence. +- Add service wrapper for after.local (bnc#778715). + ------------------------------------------------------------------- Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com @@ -25,14 +139,14 @@ Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com ------------------------------------------------------------------- Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch +- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] CVE-2013-4288 ------------------------------------------------------------------- Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org -- Build with --disable-ima as the openSUSE kernel +- Build with --disable-ima as the openSUSE kernel does not support IMA (CONFIG_IMA is not set) ------------------------------------------------------------------- @@ -53,14 +167,14 @@ Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous commit & the opensuse-factory mailing list. ------------------------------------------------------------------- Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch missing important check on return value. - 0002-cgroup-correct-the-log-information.patch fix misleading log information. @@ -70,7 +184,7 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org should fail if write fails. - 0005-core-cgroup-first-print-then-free.patch use-after-free will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in +- 0006-swap-fix-reverse-dependencies.patch reported in opensuse-factory list, topic "swap isn't activated" - 0007-libudev-fix-move_later-comparison.patch libudev invalid usage of "move_later". @@ -79,10 +193,10 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of + is defined to /var/run/dbus/system_bus_socket instead of /run/dbus/system_bus_socket and that does not fly when /var/run is not yet available. (systemd-dbus-system-bus-address.patch) @@ -94,10 +208,10 @@ Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org -- version 207, distribution specific changes follow, for overall +- version 207, distribution specific changes follow, for overall release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: Operation not permitted * Fix shutdown hang "a stop job is running for Session 1 of user root" that was reported in opensuse-factory list. @@ -204,7 +318,7 @@ Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org ------------------------------------------------------------------- Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org -- fix broken symlink, service is called systemd-random-seed now. +- fix broken symlink, service is called systemd-random-seed now. ------------------------------------------------------------------- Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com @@ -339,13 +453,13 @@ Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - Automatically online CPUs/Memory on CPU/Memory hotplug add events (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch + add: 1008-physical-hotplug-cpu-and-memory.patch ------------------------------------------------------------------- Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - Dropped backward compatibility -- Added check for upstream rpm macros changes +- Added check for upstream rpm macros changes ------------------------------------------------------------------- Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com @@ -355,7 +469,7 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com ------------------------------------------------------------------- Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org -- 0001-journal-letting-interleaved-seqnums-go.patch and +- 0001-journal-letting-interleaved-seqnums-go.patch and 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 @@ -392,8 +506,8 @@ Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, ignoring: Invalid argument - 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch systemctl disable should remove dangling symlinks. @@ -455,7 +569,7 @@ support has been removed from the kernel. fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 - Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in +- no such define TARGET_SUSE exists but it is used in Revert-service-drop-support-for-SysV-scripts-for-the-early.patch use HAVE_SYSV_COMPAT instead. @@ -514,7 +628,7 @@ Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - Rename remaning udev patches (clean-up). - Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). + boot time not from udev (bnc#761109). - Drop unused patches: 1001-Reinstate-TIMEOUT-handling.patch 1005-udev-fix-sg-autoload-regression.patch @@ -542,7 +656,7 @@ Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org -- Fix packaging error, there is no syslog.target anymore +- Fix packaging error, there is no syslog.target anymore do not pretend there is one. ------------------------------------------------------------------- @@ -583,14 +697,14 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com from an indexed database. %udev_hwdb_update macro should be used by packages adding entries to this database. + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. + to link up additional information with journal entries. %journal_catalog_update macro should be used by packages adding %entries to this database. + "age" field for tmpfiles entries can be set to 0, forcing removal of files matching this entry. + coredumpctl gained "gdb" verb to invoke gdb on selected coredump. - + New rpm macros has been added: %udev_rules_update(), + + New rpm macros has been added: %udev_rules_update(), %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, %_tmpfilesdir, %_sysctldir. + In service files, %U can be used for configured user name of @@ -614,7 +728,7 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com (normal clean-up with tmpfiles is still done in addition to this though). + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using + controlled dynamically at runtime for all units, using "systemctl set-cgroup-attr foobar.server cgroup.attribute value". Those settings are stored persistenly on disk. + systemd-vconsole-setup will now copy all fonts settings to all @@ -748,14 +862,14 @@ Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - add: 1027-udev-always-rename-network.patch + add: 1027-udev-always-rename-network.patch ------------------------------------------------------------------- Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - udev: re-add persistent network rules (bnc#809843). add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. +- rebase all patches, ensure that they apply properly. ------------------------------------------------------------------- Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com @@ -780,7 +894,7 @@ Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch - udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch ------------------------------------------------------------------- Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de @@ -815,7 +929,7 @@ Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - udev: use unique names for temporary files created in /dev. add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch - cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch ------------------------------------------------------------------- Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com @@ -837,7 +951,7 @@ Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch - keymap: add aditional support for some keyboard keys add: 1018-keymap-add-aditional-support.patch - journalctl: require argument for --priority @@ -846,7 +960,7 @@ Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com libudev-validate-argument-udev_enumerate_new.patch kmod-fix-builtin-typo.patch - rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for +- fix in udev package missing link in basic.target.wants for systemd-udev-root-symlink.service ------------------------------------------------------------------- @@ -978,7 +1092,7 @@ Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com add: 1014-udev-fix-whitespace.patch - udev: properly handle symlink removal by 'change' event add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of +- udev: builtin - do not fail builtin initialization if one of them returns an error add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch - udev: use usec_t and now() @@ -990,7 +1104,7 @@ Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and - systemd patches. + systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). ------------------------------------------------------------------- @@ -998,8 +1112,8 @@ Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - detect-btrfs-ssd.patch: Fix btrfs detection on SSD. - timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. + closing an non-existent dbus connection and getting assertion + failures. ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com @@ -1032,7 +1146,7 @@ Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com -- Fix creation of /dev/root link. +- Fix creation of /dev/root link. ------------------------------------------------------------------- Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com @@ -1191,7 +1305,7 @@ Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + Optional journal gateway daemon (systemd-journal-gatewayd.service) to access journal via HTTP and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and + /var/log/messages compatible format and 'curl -H"Accept: application/json" http://localhost:19531/entries' for JSON formatted content. HTML5 static page is also available as explained on @@ -1421,7 +1535,7 @@ Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com -- apply ppc patch to systemd-gtk too (fixes build) +- apply ppc patch to systemd-gtk too (fixes build) ------------------------------------------------------------------- Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com @@ -1503,7 +1617,7 @@ Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com -- Enable Plymouth integration. +- Enable Plymouth integration. * Bootsplash related files will be moved to the bootsplash package @@ -1554,7 +1668,7 @@ Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com property. + Rudimentary service watchdog support (not complete) + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. + forking to to reflect which process will be executed. + Various bug fixes. - Add remote-fs-after-network.patch and update insserv patch: ensure remote-fs-pre.target is enabled and started before network @@ -1613,7 +1727,7 @@ Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com -- Make the systemd journal persistent by creating the +- Make the systemd journal persistent by creating the /var/log/journal directory ------------------------------------------------------------------- @@ -1623,8 +1737,8 @@ Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - Bugfixes - Implementation of a Journal Utility Library - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure syslog socket goes away early during shutdown. - Add listen.conf for rsyslog. This will ensure that it will still work fine with rsyslog and the new journal. @@ -1902,7 +2016,7 @@ Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de * New PrivateNetwork= service setting which allows you to shut off networking for a specific service (i.e. all routable network interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch + * Merged insserv-parsing.patch and bash-completion-restart.patch patches. ------------------------------------------------------------------- diff --git a/systemd.spec b/systemd.spec index 80890da5..5d4272ce 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 207 +Version: 208 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -93,6 +93,9 @@ Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils %endif +%if ! 0%{?bootstrap} +Requires(post): pam-config +%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -107,6 +110,7 @@ Source7: libgcrypt.m4 Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream +Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule @@ -151,6 +155,7 @@ Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch Patch42: systemd-pam_config.patch + # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make @@ -165,27 +170,36 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run Patch47: systemd-dbus-system-bus-address.patch - -# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. -Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. -Patch49: 0002-cgroup-correct-the-log-information.patch -# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. -Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. -Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free -Patch52: 0005-core-cgroup-first-print-then-free.patch -# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly -Patch53: 0006-swap-fix-reverse-dependencies.patch -# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units -Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch -# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] -Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch -# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544] -Patch56: Fix-timeout-when-stopping-Type-notify-service.patch +# PATCH-FIX-UPSTREAM 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch fcrozat@suse.com -- fix acpi memleak +Patch48: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch +# PATCH-FIX-UPSTREAM 0002-fix-lingering-references-to-var-lib-backlight-random.patch fcrozat@suse.com -- fix invalid path in documentation +Patch49: 0002-fix-lingering-references-to-var-lib-backlight-random.patch +# PATCH-FIX-UPSTREAM 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch fcrozat@suse.com -- fix invalid memory free +Patch50: 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch +# PATCH-FIX-UPSTREAM 0004-systemctl-fix-name-mangling-for-sysv-units.patch fcrozat@suse.com -- fix name mangling for sysv units +Patch51: 0004-systemctl-fix-name-mangling-for-sysv-units.patch +# PATCH-FIX-UPSTREAM 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch fcrozat@suse.com -- fix OOM handling +Patch52: 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +# PATCH-FIX-UPSTREAM 0006-journald-add-missing-error-check.patch fcrozat@suse.com -- add missing error check +Patch53: 0006-journald-add-missing-error-check.patch +# PATCH-FIX-UPSTREAM 0007-bus-fix-potentially-uninitialized-memory-access.patch fcrozat@suse.com -- fix uninitialized memory access +Patch54: 0007-bus-fix-potentially-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM 0008-dbus-fix-return-value-of-dispatch_rqueue.patch fcrozat@suse.com -- fix return value +Patch55: 0008-dbus-fix-return-value-of-dispatch_rqueue.patch +# PATCH-FIX-UPSTREAM 0009-modules-load-fix-error-handling.patch fcrozat@suse.com -- fix error handling +Patch56: 0009-modules-load-fix-error-handling.patch +# PATCH-FIX-UPSTREAM 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch57: 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch +# PATCH-FIX-UPSTREAM 0011-strv-don-t-access-potentially-NULL-string-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch58: 0011-strv-don-t-access-potentially-NULL-string-arrays.patch +# PATCH-FIX-UPSTREAM 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch fcrozat@suse.com -- fix invalid pointer +Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch +# PATCH-FIX-UPSTREAM 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch fcrozat@suse.com -- fix permission on /run/log/journal +Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch +# PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target +Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -202,8 +216,6 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-UPSTREAM libudev: fix move_later comparison -Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -442,6 +454,11 @@ cp %{SOURCE7} m4/ %patch54 -p1 %patch55 -p1 %patch56 -p1 +%patch57 -p1 +%patch58 -p1 +%patch59 -p1 +%patch60 -p1 +%patch61 -p1 # udev patches %patch1001 -p1 @@ -454,7 +471,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -561,6 +577,9 @@ ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/ran # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +# don't enable wall ask password service, it spams every console (bnc#747783) +rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path + # create %{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf @@ -585,7 +604,7 @@ rm -f %{buildroot}/var/log/README %endif # legacy links -for f in loginctl journalctl ; do +for f in loginctl journalctl ; do ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 @@ -622,6 +641,10 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF +# ensure after.local wrapper is called +install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ +ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ + %fdupes -s %{buildroot}%{_mandir} # packaged in systemd-rpm-macros @@ -632,12 +655,18 @@ getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post +%if ! 0%{?bootstrap} /usr/sbin/pam-config -a --systemd || : +%endif /sbin/ldconfig +[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : +# Make sure new journal files +chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -675,9 +704,11 @@ if [ $1 -ge 1 ]; then /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi +%if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd || : fi +%endif %preun if [ $1 -eq 0 ]; then @@ -983,10 +1014,13 @@ exit 0 %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog +%ghost /var/lib/systemd/catalog/database %dir /var/lib/systemd/coredump %dir /usr/share/zsh %dir /usr/share/zsh/site-functions /usr/share/zsh/site-functions/* +%ghost /var/lib/systemd/backlight +%ghost /var/lib/systemd/random-seed %files devel %defattr(-,root,root,-) From fbd54ec89344c5ad51fab67579b1ac7455b9e9b37eea06f0549972556a8a1267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 17 Oct 2013 12:28:29 +0000 Subject: [PATCH 158/991] Accepting request 203396 from Base:System (please also push to 13.1, I want the same version as F20) - Add 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: don't start gpt auto-generator in container (git). - Add 0001-manager-when-verifying-whether-clients-may-change-en.patch: fix reload check in selinux case (git). - Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: fix introspection for TakeControl (git). - Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix crash when parsing some incorrect unit (git). - Add 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: Fix udev rules parsing (git). - Add 0001-systemd-serialize-deserialize-forbid_restart-value.patch: Fix incorrect deserialization for forbid_restart (git). - Add 0001-core-unify-the-way-we-denote-serialization-attribute.patch: Ensure forbid_restart is named like other attributes (git). - Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in journald (git). - Add 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: Improve ACPI firmware performance parsing (git). - Add 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: Fix journal rotation (git). - Add 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: Fix memory corruption in sd_session_get_vt (git). (forwarded request 203387 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/203396 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=163 --- 0001-Fix-bad-assert-in-show_pid_array.patch | 35 ++ ...all-qsort-on-potentially-NULL-arrays.patch | 385 ++++++++++++++++++ ...ay-we-denote-serialization-attribute.patch | 40 ++ ...dbus-common-avoid-leak-in-error-path.patch | 71 ++++ ...rbage-from-acpi-firmware-performance.patch | 33 ++ 0001-drop-ins-check-return-value.patch | 29 ++ ...tor-exit-immediately-if-in-container.patch | 40 ++ 0001-journald-fix-minor-memory-leak.patch | 25 ++ ...rotated-file-from-hashmap-when-rotat.patch | 39 ++ ...ix-invalid-free-in-sd_session_get_vt.patch | 27 ++ ...make-sd_session_get_vt-actually-work.patch | 27 ++ ...s-introspection-data-for-TakeControl.patch | 25 ++ ...ifying-whether-clients-may-change-en.patch | 45 ++ ...heck-for-NULL-before-reading-pm-what.patch | 29 ++ ...shared-util-Fix-glob_extend-argument.patch | 28 ++ ...off-by-one-error-in-tag_to_udev_node.patch | 50 +++ ...ize-deserialize-forbid_restart-value.patch | 51 +++ systemd-mini.changes | 47 +++ systemd-mini.spec | 51 +++ systemd.changes | 47 +++ systemd.spec | 51 +++ 21 files changed, 1175 insertions(+) create mode 100644 0001-Fix-bad-assert-in-show_pid_array.patch create mode 100644 0001-Never-call-qsort-on-potentially-NULL-arrays.patch create mode 100644 0001-core-unify-the-way-we-denote-serialization-attribute.patch create mode 100644 0001-dbus-common-avoid-leak-in-error-path.patch create mode 100644 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch create mode 100644 0001-drop-ins-check-return-value.patch create mode 100644 0001-gpt-auto-generator-exit-immediately-if-in-container.patch create mode 100644 0001-journald-fix-minor-memory-leak.patch create mode 100644 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch create mode 100644 0001-login-fix-invalid-free-in-sd_session_get_vt.patch create mode 100644 0001-login-make-sd_session_get_vt-actually-work.patch create mode 100644 0001-logind-fix-bus-introspection-data-for-TakeControl.patch create mode 100644 0001-manager-when-verifying-whether-clients-may-change-en.patch create mode 100644 0001-mount-check-for-NULL-before-reading-pm-what.patch create mode 100644 0001-shared-util-Fix-glob_extend-argument.patch create mode 100644 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch create mode 100644 0001-systemd-serialize-deserialize-forbid_restart-value.patch diff --git a/0001-Fix-bad-assert-in-show_pid_array.patch b/0001-Fix-bad-assert-in-show_pid_array.patch new file mode 100644 index 00000000..e62ab8b5 --- /dev/null +++ b/0001-Fix-bad-assert-in-show_pid_array.patch @@ -0,0 +1,35 @@ +From a0551d26ab5c6e0d5089b42a6319baef0e28ad92 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 14 Oct 2013 19:15:24 -0400 +Subject: [PATCH] Fix bad assert in show_pid_array + +This function should get the same treatment as other qsort uses +did in 7ff7394 "Never call qsort on potentially NULL arrays". + +Reported-by: Oleksii Shevchuk +--- + src/shared/cgroup-show.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +Index: systemd-208/src/shared/cgroup-show.c +=================================================================== +--- systemd-208.orig/src/shared/cgroup-show.c ++++ systemd-208/src/shared/cgroup-show.c +@@ -44,8 +44,6 @@ static void show_pid_array(int pids[], u + unsigned i, m, pid_width; + pid_t biggest = 0; + +- assert(n_pids > 0); +- + /* Filter duplicates */ + m = 0; + for (i = 0; i < n_pids; i++) { +@@ -65,7 +63,7 @@ static void show_pid_array(int pids[], u + pid_width = DECIMAL_STR_WIDTH(biggest); + + /* And sort */ +- qsort(pids, n_pids, sizeof(pid_t), compare); ++ qsort_safe(pids, n_pids, sizeof(pid_t), compare); + + if(flags & OUTPUT_FULL_WIDTH) + n_columns = 0; diff --git a/0001-Never-call-qsort-on-potentially-NULL-arrays.patch b/0001-Never-call-qsort-on-potentially-NULL-arrays.patch new file mode 100644 index 00000000..515348fb --- /dev/null +++ b/0001-Never-call-qsort-on-potentially-NULL-arrays.patch @@ -0,0 +1,385 @@ +From 7ff7394d9e4e9189c30fd018235e6b1728c6f2d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Oct 2013 19:33:13 -0400 +Subject: [PATCH] Never call qsort on potentially NULL arrays + +This extends 62678ded 'efi: never call qsort on potentially +NULL arrays' to all other places where qsort is used and it +is not obvious that the count is non-zero. +--- + src/analyze/systemd-analyze.c | 2 +- + src/cgtop/cgtop.c | 2 +- + src/core/namespace.c | 38 ++++++++++++++++++++------------------ + src/journal/catalog.c | 2 +- + src/journal/journal-file.c | 2 +- + src/journal/journal-vacuum.c | 3 +-- + src/journal/journalctl.c | 2 +- + src/libsystemd-bus/bus-match.c | 2 +- + src/libudev/libudev-enumerate.c | 2 +- + src/nss-myhostname/netlink.c | 3 ++- + src/readahead/readahead-collect.c | 39 ++++++++++++++++++++++----------------- + src/shared/cgroup-show.c | 2 ++ + src/shared/conf-files.c | 2 +- + src/shared/efivars.c | 3 +-- + src/shared/fileio.c | 1 + + src/shared/util.h | 12 ++++++++++++ + src/systemctl/systemctl.c | 10 +++++----- + 17 files changed, 74 insertions(+), 53 deletions(-) + +diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c +index 27d063c..a4f15eb 100644 +--- a/src/analyze/systemd-analyze.c ++++ b/src/analyze/systemd-analyze.c +@@ -768,7 +768,7 @@ static int list_dependencies_one(DBusConnection *bus, const char *name, unsigned + if (r < 0) + return r; + +- qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); ++ qsort_safe(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); + + r = acquire_boot_times(bus, &boot); + if (r < 0) +diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c +index cacf705..293a211 100644 +--- a/src/cgtop/cgtop.c ++++ b/src/cgtop/cgtop.c +@@ -461,7 +461,7 @@ static int display(Hashmap *a) { + if (g->n_tasks_valid || g->cpu_valid || g->memory_valid || g->io_valid) + array[n++] = g; + +- qsort(array, n, sizeof(Group*), group_compare); ++ qsort_safe(array, n, sizeof(Group*), group_compare); + + /* Find the longest names in one run */ + for (j = 0; j < n; j++) { +diff --git a/src/core/namespace.c b/src/core/namespace.c +index 16b132b..936f368 100644 +--- a/src/core/namespace.c ++++ b/src/core/namespace.c +@@ -222,7 +222,7 @@ int setup_namespace(char** read_write_dirs, + strv_length(read_only_dirs) + + strv_length(inaccessible_dirs) + + (private_tmp ? 2 : 0); +- BindMount *m, *mounts; ++ BindMount *m, *mounts = NULL; + int r = 0; + + if (!mount_flags) +@@ -231,27 +231,29 @@ int setup_namespace(char** read_write_dirs, + if (unshare(CLONE_NEWNS) < 0) + return -errno; + +- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); +- if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 || +- (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 || +- (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0) +- return r; ++ if (n) { ++ m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); ++ if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 || ++ (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 || ++ (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0) ++ return r; ++ ++ if (private_tmp) { ++ m->path = "/tmp"; ++ m->mode = PRIVATE_TMP; ++ m++; ++ ++ m->path = "/var/tmp"; ++ m->mode = PRIVATE_VAR_TMP; ++ m++; ++ } + +- if (private_tmp) { +- m->path = "/tmp"; +- m->mode = PRIVATE_TMP; +- m++; ++ assert(mounts + n == m); + +- m->path = "/var/tmp"; +- m->mode = PRIVATE_VAR_TMP; +- m++; ++ qsort(mounts, n, sizeof(BindMount), mount_path_compare); ++ drop_duplicates(mounts, &n); + } + +- assert(mounts + n == m); +- +- qsort(mounts, n, sizeof(BindMount), mount_path_compare); +- drop_duplicates(mounts, &n); +- + /* Remount / as SLAVE so that nothing now mounted in the namespace + shows up in the parent */ + if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0) +diff --git a/src/journal/catalog.c b/src/journal/catalog.c +index 7738d24..90ca008 100644 +--- a/src/journal/catalog.c ++++ b/src/journal/catalog.c +@@ -399,7 +399,7 @@ int catalog_update(const char* database, const char* root, const char* const* di + } + + assert(n == hashmap_size(h)); +- qsort(items, n, sizeof(CatalogItem), catalog_compare_func); ++ qsort_safe(items, n, sizeof(CatalogItem), catalog_compare_func); + + r = write_catalog(database, h, sb, items, n); + if (r < 0) +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 78b937b..901e71b 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -1344,7 +1344,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st + + /* Order by the position on disk, in order to improve seek + * times for rotating media. */ +- qsort(items, n_iovec, sizeof(EntryItem), entry_item_cmp); ++ qsort_safe(items, n_iovec, sizeof(EntryItem), entry_item_cmp); + + r = journal_file_append_entry_internal(f, ts, xor_hash, items, n_iovec, seqnum, ret, offset); + +diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c +index 8d5effb..d4a1c6c 100644 +--- a/src/journal/journal-vacuum.c ++++ b/src/journal/journal-vacuum.c +@@ -299,8 +299,7 @@ int journal_directory_vacuum( + n_list ++; + } + +- if (n_list > 0) +- qsort(list, n_list, sizeof(struct vacuum_info), vacuum_compare); ++ qsort_safe(list, n_list, sizeof(struct vacuum_info), vacuum_compare); + + for (i = 0; i < n_list; i++) { + struct statvfs ss; +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index 2f8be1b..275458c 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -761,7 +761,7 @@ static int get_relative_boot_id(sd_journal *j, sd_id128_t *boot_id, int relative + sd_journal_flush_matches(j); + } + +- qsort(all_ids, count, sizeof(boot_id_t), boot_id_cmp); ++ qsort_safe(all_ids, count, sizeof(boot_id_t), boot_id_cmp); + + if (sd_id128_equal(*boot_id, SD_ID128_NULL)) { + if (relative > (int) count || relative <= -(int)count) +diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c +index 1411167..916682a 100644 +--- a/src/libsystemd-bus/bus-match.c ++++ b/src/libsystemd-bus/bus-match.c +@@ -768,7 +768,7 @@ int bus_match_parse( + } + + /* Order the whole thing, so that we always generate the same tree */ +- qsort(components, n_components, sizeof(struct bus_match_component), match_component_compare); ++ qsort_safe(components, n_components, sizeof(struct bus_match_component), match_component_compare); + + /* Check for duplicates */ + for (i = 0; i+1 < n_components; i++) +diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c +index 8146f27..e71d766 100644 +--- a/src/libudev/libudev-enumerate.c ++++ b/src/libudev/libudev-enumerate.c +@@ -276,7 +276,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume + size_t move_later_prefix = 0; + + udev_list_cleanup(&udev_enumerate->devices_list); +- qsort(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); ++ qsort_safe(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); + + max = udev_enumerate->devices_cur; + for (i = 0; i < max; i++) { +diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c +index b1ef912..47a41f5 100644 +--- a/src/nss-myhostname/netlink.c ++++ b/src/nss-myhostname/netlink.c +@@ -197,7 +197,8 @@ finish: + return r; + } + +- qsort(list, n_list, sizeof(struct address), address_compare); ++ if (n_list) ++ qsort(list, n_list, sizeof(struct address), address_compare); + + *_list = list; + *_n_list = n_list; +diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c +index 32888ad..6b74866 100644 +--- a/src/readahead/readahead-collect.c ++++ b/src/readahead/readahead-collect.c +@@ -536,8 +536,7 @@ done: + HASHMAP_FOREACH_KEY(q, p, files, i) + pack_file(pack, p, on_btrfs); + } else { +- struct item *ordered, *j; +- unsigned k, n; ++ unsigned n; + + /* On rotating media, order things by the block + * numbers */ +@@ -545,25 +544,31 @@ done: + log_debug("Ordering..."); + + n = hashmap_size(files); +- if (!(ordered = new(struct item, n))) { +- r = log_oom(); +- goto finish; +- } +- +- j = ordered; +- HASHMAP_FOREACH_KEY(q, p, files, i) { +- memcpy(j, q, sizeof(struct item)); +- j++; +- } ++ if (n) { ++ _cleanup_free_ struct item *ordered; ++ struct item *j; ++ unsigned k; ++ ++ ordered = new(struct item, n); ++ if (!ordered) { ++ r = log_oom(); ++ goto finish; ++ } + +- assert(ordered + n == j); ++ j = ordered; ++ HASHMAP_FOREACH_KEY(q, p, files, i) { ++ memcpy(j, q, sizeof(struct item)); ++ j++; ++ } + +- qsort(ordered, n, sizeof(struct item), qsort_compare); ++ assert(ordered + n == j); + +- for (k = 0; k < n; k++) +- pack_file(pack, ordered[k].path, on_btrfs); ++ qsort(ordered, n, sizeof(struct item), qsort_compare); + +- free(ordered); ++ for (k = 0; k < n; k++) ++ pack_file(pack, ordered[k].path, on_btrfs); ++ } else ++ log_warning("No pack files"); + } + + log_debug("Finalizing..."); +diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c +index e971f36..cc44ab4 100644 +--- a/src/shared/cgroup-show.c ++++ b/src/shared/cgroup-show.c +@@ -44,6 +44,8 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi + unsigned i, m, pid_width; + pid_t biggest = 0; + ++ assert(n_pids > 0); ++ + /* Filter duplicates */ + m = 0; + for (i = 0; i < n_pids; i++) { +diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c +index 6d99739..ed4070c 100644 +--- a/src/shared/conf-files.c ++++ b/src/shared/conf-files.c +@@ -127,7 +127,7 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const + return -ENOMEM; + } + +- qsort(files, hashmap_size(fh), sizeof(char *), base_cmp); ++ qsort_safe(files, hashmap_size(fh), sizeof(char *), base_cmp); + *strv = files; + + hashmap_free(fh); +diff --git a/src/shared/efivars.c b/src/shared/efivars.c +index c015b16..f3eb6a6 100644 +--- a/src/shared/efivars.c ++++ b/src/shared/efivars.c +@@ -384,8 +384,7 @@ int efi_get_boot_options(uint16_t **options) { + list[count ++] = id; + } + +- if (list) +- qsort(list, count, sizeof(uint16_t), cmp_uint16); ++ qsort_safe(list, count, sizeof(uint16_t), cmp_uint16); + + *options = list; + return count; +diff --git a/src/shared/fileio.c b/src/shared/fileio.c +index 603a1c7..733b320 100644 +--- a/src/shared/fileio.c ++++ b/src/shared/fileio.c +@@ -662,6 +662,7 @@ int get_status_field(const char *filename, const char *pattern, char **field) { + int r; + + assert(filename); ++ assert(pattern); + assert(field); + + r = read_full_file(filename, &status, NULL); +diff --git a/src/shared/util.h b/src/shared/util.h +index 26af5b3..09e556d 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -772,3 +772,15 @@ bool id128_is_valid(const char *s) _pure_; + void parse_user_at_host(char *arg, char **user, char **host); + + int split_pair(const char *s, const char *sep, char **l, char **r); ++ ++/** ++ * Normal qsort requires base to be nonnull. Here were require ++ * that only if nmemb > 0. ++ */ ++static inline void qsort_safe(void *base, size_t nmemb, size_t size, ++ int (*compar)(const void *, const void *)) { ++ if (nmemb) { ++ assert(base); ++ qsort(base, nmemb, size, compar); ++ } ++} +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index d75281f..036828b 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -471,7 +471,7 @@ static int list_units(DBusConnection *bus, char **args) { + if (r < 0) + return r; + +- qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info); ++ qsort_safe(unit_infos, c, sizeof(struct unit_info), compare_unit_info); + + output_units_list(unit_infos, c); + +@@ -733,8 +733,8 @@ static int list_sockets(DBusConnection *bus, char **args) { + listen = triggered = NULL; /* avoid cleanup */ + } + +- qsort(socket_infos, cs, sizeof(struct socket_info), +- (__compar_fn_t) socket_info_compare); ++ qsort_safe(socket_infos, cs, sizeof(struct socket_info), ++ (__compar_fn_t) socket_info_compare); + + output_sockets_list(socket_infos, cs); + +@@ -1108,7 +1108,7 @@ static int list_dependencies_one(DBusConnection *bus, const char *name, int leve + if (r < 0) + return r; + +- qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); ++ qsort_safe(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); + + STRV_FOREACH(c, deps) { + if (strv_contains(u, *c)) { +@@ -3532,7 +3532,7 @@ static int show_all(const char* verb, + if (r < 0) + return r; + +- qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info); ++ qsort_safe(unit_infos, c, sizeof(struct unit_info), compare_unit_info); + + for (u = unit_infos; u < unit_infos + c; u++) { + _cleanup_free_ char *p = NULL; +-- +1.8.4 + diff --git a/0001-core-unify-the-way-we-denote-serialization-attribute.patch b/0001-core-unify-the-way-we-denote-serialization-attribute.patch new file mode 100644 index 00000000..e33e45d8 --- /dev/null +++ b/0001-core-unify-the-way-we-denote-serialization-attribute.patch @@ -0,0 +1,40 @@ +From 8d1a28020409ee4afea6ef8c1c4d3522a209284e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 9 Oct 2013 00:13:55 +0200 +Subject: [PATCH] core: unify the way we denote serialization attributes + +--- + src/core/service.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 98b1599..96ed2d3 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2652,7 +2652,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { + unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir); + + if (s->forbid_restart) +- unit_serialize_item(u, f, "forbid_restart", yes_no(s->forbid_restart)); ++ unit_serialize_item(u, f, "forbid-restart", yes_no(s->forbid_restart)); + + return 0; + } +@@ -2790,12 +2790,12 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, + return log_oom(); + + s->exec_context.var_tmp_dir = t; +- } else if (streq(key, "forbid_restart")) { ++ } else if (streq(key, "forbid-restart")) { + int b; + + b = parse_boolean(value); + if (b < 0) +- log_debug_unit(u->id, "Failed to parse forbid_restart value %s", value); ++ log_debug_unit(u->id, "Failed to parse forbid-restart value %s", value); + else + s->forbid_restart = b; + } else +-- +1.8.4 + diff --git a/0001-dbus-common-avoid-leak-in-error-path.patch b/0001-dbus-common-avoid-leak-in-error-path.patch new file mode 100644 index 00000000..e2ac93f4 --- /dev/null +++ b/0001-dbus-common-avoid-leak-in-error-path.patch @@ -0,0 +1,71 @@ +From 74dcc2df7b2a340c3e1fe9e61e5c8deb324c83d7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Oct 2013 19:33:20 -0400 +Subject: [PATCH] dbus-common: avoid leak in error path + +src/shared/dbus-common.c:968:33: warning: Potential leak of memory pointed to by 'l' + return -EINVAL; + ^~~~~~ +--- + src/shared/dbus-common.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c +index c727cae..3ba2d87 100644 +--- a/src/shared/dbus-common.c ++++ b/src/shared/dbus-common.c +@@ -934,7 +934,7 @@ int bus_parse_strv_iter(DBusMessageIter *iter, char ***_l) { + int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) { + DBusMessageIter sub, sub2; + unsigned n = 0, i = 0; +- char **l; ++ _cleanup_strv_free_ char **l = NULL; + + assert(iter); + assert(_l); +@@ -953,6 +953,7 @@ int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) { + l = new(char*, n*2+1); + if (!l) + return -ENOMEM; ++ l[0] = NULL; /* make sure that l is properly terminated at all times */ + + dbus_message_iter_recurse(iter, &sub); + +@@ -968,26 +969,25 @@ int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) { + return -EINVAL; + + l[i] = strdup(a); +- if (!l[i]) { +- strv_free(l); ++ if (!l[i]) + return -ENOMEM; +- } ++ i++; + +- l[++i] = strdup(b); +- if (!l[i]) { +- strv_free(l); ++ l[i] = strdup(b); ++ if (!l[i]) + return -ENOMEM; +- } +- + i++; ++ + dbus_message_iter_next(&sub); + } + + assert(i == n*2); + l[i] = NULL; + +- if (_l) ++ if (_l) { + *_l = l; ++ l = NULL; /* avoid freeing */ ++ } + + return 0; + } +-- +1.8.4 + diff --git a/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch b/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch new file mode 100644 index 00000000..53e8253f --- /dev/null +++ b/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch @@ -0,0 +1,33 @@ +From 6c7980093c4e39d07bf06484f96f489e236c7c29 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 10 Oct 2013 01:38:11 +0200 +Subject: [PATCH] do not accept "garbage" from acpi firmware performance data + (FPDT) + +00000000 46 42 50 54 38 00 00 00 02 00 30 02 00 00 00 00 |FBPT8.....0.....| +00000010 23 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |#E..............| +00000020 f5 6a 51 00 00 00 00 00 00 00 00 00 00 00 00 00 |.jQ.............| +00000030 00 00 00 00 00 00 00 00 70 74 61 6c 58 00 00 00 |........ptalX...| +--- + src/shared/acpi-fpdt.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index af58c7c..75648b4 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -146,6 +146,11 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { + if (brec.type != ACPI_FPDT_BOOT_REC) + return -EINVAL; + ++ if (brec.startup_start == 0 || brec.exit_services_exit < brec.startup_start) ++ return -EINVAL; ++ if (brec.exit_services_exit > NSEC_PER_HOUR) ++ return -EINVAL; ++ + if (loader_start) + *loader_start = brec.startup_start / 1000; + if (loader_exit) +-- +1.8.4 + diff --git a/0001-drop-ins-check-return-value.patch b/0001-drop-ins-check-return-value.patch new file mode 100644 index 00000000..35a0f708 --- /dev/null +++ b/0001-drop-ins-check-return-value.patch @@ -0,0 +1,29 @@ +From 6891529fe1176c046ece579807ff48e3191692f3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Oct 2013 19:33:36 -0400 +Subject: [PATCH] drop-ins: check return value + +If the function failed, nothing serious would happen +because unlink would probably return EFAULT, but this +would obscure the real error and is a bit sloppy. +--- + src/core/unit.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/unit.c b/src/core/unit.c +index 4b97710..1db7d06 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -2908,6 +2908,9 @@ int unit_remove_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name) { + return 0; + + r = drop_in_file(u, mode, name, &p, &q); ++ if (r < 0) ++ return r; ++ + if (unlink(q) < 0) + r = errno == ENOENT ? 0 : -errno; + else +-- +1.8.4 + diff --git a/0001-gpt-auto-generator-exit-immediately-if-in-container.patch b/0001-gpt-auto-generator-exit-immediately-if-in-container.patch new file mode 100644 index 00000000..4d1fee23 --- /dev/null +++ b/0001-gpt-auto-generator-exit-immediately-if-in-container.patch @@ -0,0 +1,40 @@ +From 9a5cb1371b6d8b0a04bd08665bcf9b06cb40c64c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 3 Oct 2013 22:13:01 -0400 +Subject: [PATCH] gpt-auto-generator: exit immediately if in container + +Otherwise we get an ugly warning when running systemd in +a container. +--- + src/gpt-auto-generator/gpt-auto-generator.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c +index ca54925..d2b4213 100644 +--- a/src/gpt-auto-generator/gpt-auto-generator.c ++++ b/src/gpt-auto-generator/gpt-auto-generator.c +@@ -38,6 +38,7 @@ + #include "libudev.h" + #include "special.h" + #include "unit-name.h" ++#include "virt.h" + + /* TODO: + * +@@ -481,6 +482,13 @@ int main(int argc, char *argv[]) { + umask(0022); + + if (in_initrd()) { ++ log_debug("In initrd, exiting."); ++ r = 0; ++ goto finish; ++ } ++ ++ if (detect_container(NULL) > 0) { ++ log_debug("In a container, exiting."); + r = 0; + goto finish; + } +-- +1.8.4 + diff --git a/0001-journald-fix-minor-memory-leak.patch b/0001-journald-fix-minor-memory-leak.patch new file mode 100644 index 00000000..10df2c01 --- /dev/null +++ b/0001-journald-fix-minor-memory-leak.patch @@ -0,0 +1,25 @@ +From 2ee0591d12b9e725c4585502285fd91cde682d9b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 9 Oct 2013 04:03:45 +0200 +Subject: [PATCH] journald: fix minor memory leak + +--- + src/journal/journal-vacuum.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c +index c73ad8f..8d5effb 100644 +--- a/src/journal/journal-vacuum.c ++++ b/src/journal/journal-vacuum.c +@@ -278,6 +278,8 @@ int journal_directory_vacuum( + } else if (errno != ENOENT) + log_warning("Failed to delete %s/%s: %m", directory, p); + ++ free(p); ++ + continue; + } + +-- +1.8.4 + diff --git a/0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch b/0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch new file mode 100644 index 00000000..0ed6caa1 --- /dev/null +++ b/0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch @@ -0,0 +1,39 @@ +From 2b98f75a63e6022bf74a7d678c47faa5208c794f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 9 Oct 2013 22:13:13 -0400 +Subject: [PATCH] journald: remove rotated file from hashmap when rotation + fails + +Before, when the user journal file was rotated, journal_file_rotate +could close the old file and fail to open the new file. In that +case, we would leave the old (deallocated) file in the hashmap. +On subsequent accesses, we could retrieve this stale entry, leading +to a segfault. + +When journal_file_rotate fails with the file pointer set to 0, +old file is certainly gone, and cannot be used anymore. + +https://bugzilla.redhat.com/show_bug.cgi?id=890463 +--- + src/journal/journald-server.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index 4f47eb1..e03e413 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -321,8 +321,10 @@ void server_rotate(Server *s) { + if (r < 0) + if (f) + log_error("Failed to rotate %s: %s", f->path, strerror(-r)); +- else ++ else { + log_error("Failed to create user journal: %s", strerror(-r)); ++ hashmap_remove(s->user_journals, k); ++ } + else { + hashmap_replace(s->user_journals, k, f); + server_fix_perms(s, f, PTR_TO_UINT32(k)); +-- +1.8.4 + diff --git a/0001-login-fix-invalid-free-in-sd_session_get_vt.patch b/0001-login-fix-invalid-free-in-sd_session_get_vt.patch new file mode 100644 index 00000000..7a7551ec --- /dev/null +++ b/0001-login-fix-invalid-free-in-sd_session_get_vt.patch @@ -0,0 +1,27 @@ +From 3f4fee033bf0f623de74f3e8a14c42b8ff81c36e Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 10 Oct 2013 13:09:37 +0200 +Subject: [PATCH] login: fix invalid free() in sd_session_get_vt() + +We need to clear variables markes as _cleanup_free_. Otherwise, our +error-paths might corrupt random memory. +--- + src/login/sd-login.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/login/sd-login.c b/src/login/sd-login.c +index 71d8c29..6c27dfe 100644 +--- a/src/login/sd-login.c ++++ b/src/login/sd-login.c +@@ -350,7 +350,7 @@ _public_ int sd_session_get_tty(const char *session, char **tty) { + } + + _public_ int sd_session_get_vt(const char *session, unsigned *vtnr) { +- _cleanup_free_ char *vtnr_string; ++ _cleanup_free_ char *vtnr_string = NULL; + unsigned u; + int r; + +-- +1.8.4 + diff --git a/0001-login-make-sd_session_get_vt-actually-work.patch b/0001-login-make-sd_session_get_vt-actually-work.patch new file mode 100644 index 00000000..49a0a13c --- /dev/null +++ b/0001-login-make-sd_session_get_vt-actually-work.patch @@ -0,0 +1,27 @@ +From 0581dac2c146cef0f55841a4c136dc48409c8eaa Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 10 Oct 2013 13:11:27 +0200 +Subject: [PATCH] login: make sd_session_get_vt() actually work + +We use VTNR, not VTNr as key. Until now sd_session_get_vt() just returns +an error. +--- + src/login/sd-login.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/login/sd-login.c b/src/login/sd-login.c +index 6c27dfe..7e25041 100644 +--- a/src/login/sd-login.c ++++ b/src/login/sd-login.c +@@ -354,7 +354,7 @@ _public_ int sd_session_get_vt(const char *session, unsigned *vtnr) { + unsigned u; + int r; + +- r = session_get_string(session, "VTNr", &vtnr_string); ++ r = session_get_string(session, "VTNR", &vtnr_string); + if (r < 0) + return r; + +-- +1.8.4 + diff --git a/0001-logind-fix-bus-introspection-data-for-TakeControl.patch b/0001-logind-fix-bus-introspection-data-for-TakeControl.patch new file mode 100644 index 00000000..829333e3 --- /dev/null +++ b/0001-logind-fix-bus-introspection-data-for-TakeControl.patch @@ -0,0 +1,25 @@ +From 660ea9620f7b8f99d08a2770d4e81acfd8aea02e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 4 Oct 2013 21:16:40 +0200 +Subject: [PATCH] logind: fix bus introspection data for TakeControl() + +--- + src/login/logind-session-dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c +index 5f6bafb..be4e01c 100644 +--- a/src/login/logind-session-dbus.c ++++ b/src/login/logind-session-dbus.c +@@ -41,7 +41,7 @@ + " \n" \ + " \n" \ + " \n" \ +- " \n" \ ++ " \n" \ + " \n" \ + " \n" \ + " \n" \ +-- +1.8.4 + diff --git a/0001-manager-when-verifying-whether-clients-may-change-en.patch b/0001-manager-when-verifying-whether-clients-may-change-en.patch new file mode 100644 index 00000000..57bb3648 --- /dev/null +++ b/0001-manager-when-verifying-whether-clients-may-change-en.patch @@ -0,0 +1,45 @@ +From a316932f5a627c1ef78f568fd5dfa579f12e76b2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 4 Oct 2013 17:01:37 +0200 +Subject: [PATCH] manager: when verifying whether clients may change + environment using selinux check for "reload" rather "reboot" + +This appears to be a copy/paste error. +--- + src/core/dbus-manager.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c +index 676a07f..8f4d017 100644 +--- a/src/core/dbus-manager.c ++++ b/src/core/dbus-manager.c +@@ -1397,7 +1397,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, + _cleanup_strv_free_ char **l = NULL; + char **e = NULL; + +- SELINUX_ACCESS_CHECK(connection, message, "reboot"); ++ SELINUX_ACCESS_CHECK(connection, message, "reload"); + + r = bus_parse_strv(message, &l); + if (r == -ENOMEM) +@@ -1424,7 +1424,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, + _cleanup_strv_free_ char **l = NULL; + char **e = NULL; + +- SELINUX_ACCESS_CHECK(connection, message, "reboot"); ++ SELINUX_ACCESS_CHECK(connection, message, "reload"); + + r = bus_parse_strv(message, &l); + if (r == -ENOMEM) +@@ -1452,7 +1452,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, + char **f = NULL; + DBusMessageIter iter; + +- SELINUX_ACCESS_CHECK(connection, message, "reboot"); ++ SELINUX_ACCESS_CHECK(connection, message, "reload"); + + if (!dbus_message_iter_init(message, &iter)) + goto oom; +-- +1.8.4 + diff --git a/0001-mount-check-for-NULL-before-reading-pm-what.patch b/0001-mount-check-for-NULL-before-reading-pm-what.patch new file mode 100644 index 00000000..e8c830f1 --- /dev/null +++ b/0001-mount-check-for-NULL-before-reading-pm-what.patch @@ -0,0 +1,29 @@ +From 9c03872bc8fb2a381eafe7301ef9811b641686dd Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Fri, 4 Oct 2013 18:22:40 -0400 +Subject: [PATCH] mount: check for NULL before reading pm->what + +Since a57f7e2c828b85, a mount unit with garbage in it would cause +systemd to crash on loading it. + +ref: https://bugs.freedesktop.org/show_bug.cgi?id=70148 +--- + src/core/mount.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 93bfa99..db055f0 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -182,7 +182,7 @@ static int mount_add_mount_links(Mount *m) { + * for the source path (if this is a bind mount) to be + * available. */ + pm = get_mount_parameters_fragment(m); +- if (pm && path_is_absolute(pm->what)) { ++ if (pm && pm->what && path_is_absolute(pm->what)) { + r = unit_require_mounts_for(UNIT(m), pm->what); + if (r < 0) + return r; +-- +1.8.4 + diff --git a/0001-shared-util-Fix-glob_extend-argument.patch b/0001-shared-util-Fix-glob_extend-argument.patch new file mode 100644 index 00000000..4695547d --- /dev/null +++ b/0001-shared-util-Fix-glob_extend-argument.patch @@ -0,0 +1,28 @@ +From a8ccacf5344c4434b1d5ff3837307acb8fcf93d2 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Mon, 14 Oct 2013 08:15:51 +0200 +Subject: [PATCH] shared/util: Fix glob_extend() argument + +glob_extend() would completely fail to work, or return incorrect +data if it wasn't being passed the current getopt "optarg" variable +as it used the global variable, instead of the passed parameters. +--- + 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 54dbace..1822770 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -4461,7 +4461,7 @@ int glob_extend(char ***strv, const char *path) { + char **p; + + errno = 0; +- k = glob(optarg, GLOB_NOSORT|GLOB_BRACE, NULL, &g); ++ k = glob(path, GLOB_NOSORT|GLOB_BRACE, NULL, &g); + + if (k == GLOB_NOMATCH) + return -ENOENT; +-- +1.8.4 + diff --git a/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch b/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch new file mode 100644 index 00000000..eb6dedd0 --- /dev/null +++ b/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch @@ -0,0 +1,50 @@ +From 1d5989fd803d2019de0f6aaaf3cfb1cb2bbc3cdb Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sun, 6 Oct 2013 18:26:23 -0400 +Subject: [PATCH] shared/util: fix off-by-one error in tag_to_udev_node + +Triggered false negatives when encoding a string which needed every +character to be escaped, e.g. "LABEL=/". +--- + src/shared/util.c | 2 +- + src/test/test-device-nodes.c | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 82f4221..31cea79 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -3527,7 +3527,7 @@ static char *tag_to_udev_node(const char *tagvalue, const char *by) { + if (u == NULL) + return NULL; + +- enc_len = strlen(u) * 4; ++ enc_len = strlen(u) * 4 + 1; + t = new(char, enc_len); + if (t == NULL) + return NULL; +diff --git a/src/test/test-device-nodes.c b/src/test/test-device-nodes.c +index 2f3dedb..59ba4be 100644 +--- a/src/test/test-device-nodes.c ++++ b/src/test/test-device-nodes.c +@@ -26,7 +26,7 @@ + + /* helpers for test_encode_devnode_name */ + static char *do_encode_string(const char *in) { +- size_t out_len = strlen(in) * 4; ++ size_t out_len = strlen(in) * 4 + 1; + char *out = malloc(out_len); + + assert_se(out); +@@ -46,6 +46,8 @@ static void test_encode_devnode_name(void) { + assert_se(expect_encoded_as("pinkiepie", "pinkiepie")); + assert_se(expect_encoded_as("valíd\\ųtf8", "valíd\\x5cųtf8")); + assert_se(expect_encoded_as("s/ash/ng", "s\\x2fash\\x2fng")); ++ assert_se(expect_encoded_as("/", "\\x2f")); ++ assert_se(expect_encoded_as("!", "\\x21")); + } + + int main(int argc, char *argv[]) { +-- +1.8.4 + diff --git a/0001-systemd-serialize-deserialize-forbid_restart-value.patch b/0001-systemd-serialize-deserialize-forbid_restart-value.patch new file mode 100644 index 00000000..6184c9a1 --- /dev/null +++ b/0001-systemd-serialize-deserialize-forbid_restart-value.patch @@ -0,0 +1,51 @@ +From 6aca9a587d4ad40b1c044f99e3714022201b9fd4 Mon Sep 17 00:00:00 2001 +From: Sylvia Else +Date: Sun, 6 Oct 2013 23:06:35 -0400 +Subject: [PATCH] systemd: serialize/deserialize forbid_restart value + +The Service type's forbid_restart field was not preserved by +serialization/deserialization, so the fact that the service should not +be restarted after stopping was lost. + +If a systemctl stop foo command has been given, but the foo service +has not yet stopped, and then the systemctl --system daemon-reload was +given, then when the foo service eventually stopped, systemd would +restart it. + +https://bugs.freedesktop.org/show_bug.cgi?id=69800 +--- + src/core/service.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/core/service.c b/src/core/service.c +index 6792024..98b1599 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2651,6 +2651,9 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { + if (s->exec_context.var_tmp_dir) + unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir); + ++ if (s->forbid_restart) ++ unit_serialize_item(u, f, "forbid_restart", yes_no(s->forbid_restart)); ++ + return 0; + } + +@@ -2787,6 +2790,14 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, + return log_oom(); + + s->exec_context.var_tmp_dir = t; ++ } else if (streq(key, "forbid_restart")) { ++ int b; ++ ++ b = parse_boolean(value); ++ if (b < 0) ++ log_debug_unit(u->id, "Failed to parse forbid_restart value %s", value); ++ else ++ s->forbid_restart = b; + } else + log_debug_unit(u->id, "Unknown serialization key '%s'", key); + +-- +1.8.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 68686869..653cdbdb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,50 @@ +------------------------------------------------------------------- +Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com + +- Add + 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: + don't start gpt auto-generator in container (git). +- Add + 0001-manager-when-verifying-whether-clients-may-change-en.patch: + fix reload check in selinux case (git). +- Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: + fix introspection for TakeControl (git). +- Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix + crash when parsing some incorrect unit (git). +- Add + 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: + Fix udev rules parsing (git). +- Add + 0001-systemd-serialize-deserialize-forbid_restart-value.patch: + Fix incorrect deserialization for forbid_restart (git). +- Add + 0001-core-unify-the-way-we-denote-serialization-attribute.patch: + Ensure forbid_restart is named like other attributes (git). +- Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in + journald (git). +- Add + 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: + Improve ACPI firmware performance parsing (git). +- Add + 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: + Fix journal rotation (git). +- Add + 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: + Fix memory corruption in sd_session_get_vt (git). +- Add 0001-login-make-sd_session_get_vt-actually-work.patch: Ensure + sd_session_get_vt returns correct value (git). +- Add 0001-Never-call-qsort-on-potentially-NULL-arrays.patch: Don't + call qsort on NULL arrays (git). +- Add 0001-dbus-common-avoid-leak-in-error-path.patch: Fix memleak + in dbus-common code (git). +- Add 0001-drop-ins-check-return-value.patch: Fix return value for + drop-ins checks (git). +- Add 0001-shared-util-Fix-glob_extend-argument.patch: Fix + glob_extend argument (git). +- Add 0001-Fix-bad-assert-in-show_pid_array.patch: Fix bad assert + in show_pid_array (git). + + ------------------------------------------------------------------- Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 46a37f39..e00c4fcb 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -205,6 +205,40 @@ Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch # PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch +# PATCH-FIX-UPSTREAM 0001-gpt-auto-generator-exit-immediately-if-in-container.patch fcrozat@suse.com -- don't start gpt auto-generator in container +Patch62: 0001-gpt-auto-generator-exit-immediately-if-in-container.patch +# PATCH-FIX-UPSTREAM 0001-manager-when-verifying-whether-clients-may-change-en.patch fcrozat@suse.com -- fix reload check in selinux case +Patch63: 0001-manager-when-verifying-whether-clients-may-change-en.patch +# PATCH-FIX-UPSTREAM 0001-logind-fix-bus-introspection-data-for-TakeControl.patch fcrozat@suse.com -- fix introspection for TakeControl +Patch64: 0001-logind-fix-bus-introspection-data-for-TakeControl.patch +# PATCH-FIX-UPSTREAM 0001-mount-check-for-NULL-before-reading-pm-what.patch fcrozat@suse.com -- fix crash when parsing some incorrect unit +Patch65: 0001-mount-check-for-NULL-before-reading-pm-what.patch +# PATCH-FIX-UPSTREAM 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch fcrozat@suse.com -- Fix udev rules parsing +Patch66: 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch +# PATCH-FIX-UPSTREAM 0001-systemd-serialize-deserialize-forbid_restart-value.patch fcrozat@suse.com -- Fix incorrect deserialization for forbid_restart +Patch67: 0001-systemd-serialize-deserialize-forbid_restart-value.patch +# PATCH-FIX-UPSTREAM 0001-core-unify-the-way-we-denote-serialization-attribute.patch fcrozat@suse.com -- Ensure forbid_restart is named like other attributes +Patch68: 0001-core-unify-the-way-we-denote-serialization-attribute.patch +# PATCH-FIX-UPSTREAM 0001-journald-fix-minor-memory-leak.patch fcrozat@suse.com -- fix memleak in journald +Patch69: 0001-journald-fix-minor-memory-leak.patch +# PATCH-FIX-UPSTREAM 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch fcrozat@suse.com -- Improve ACPI firmware performance parsing +Patch70: 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch +# PATCH-FIX-UPSTREAM 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch fcrozat@suse.com -- Fix journal rotation +Patch71: 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch +# PATCH-FIX-UPSTREAM 0001-login-fix-invalid-free-in-sd_session_get_vt.patchfcrozat@suse.com -- Fix memory corruption in sd_session_get_vt +Patch72: 0001-login-fix-invalid-free-in-sd_session_get_vt.patch +# PATCH-FIX-UPSTREAM 0001-login-make-sd_session_get_vt-actually-work.patch fcrozat@suse.com -- Ensure sd_session_get_vt returns correct value +Patch73: 0001-login-make-sd_session_get_vt-actually-work.patch +# PATCH-FIX-UPSTREAM 0001-Never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- Don't call qsort on NULL arrays +Patch74: 0001-Never-call-qsort-on-potentially-NULL-arrays.patch +# PATCH-FIX-UPSTREAM 0001-dbus-common-avoid-leak-in-error-path.patch fcrozat@suse.com -- Fix memleak in dbus-common code +Patch75: 0001-dbus-common-avoid-leak-in-error-path.patch +# PATCH-FIX-UPSTREAM 0001-drop-ins-check-return-value.patch fcrozat@suse.com -- Fix return value for drop-ins checks +Patch76: 0001-drop-ins-check-return-value.patch +# PATCH-FIX-UPSTREAM 0001-shared-util-Fix-glob_extend-argument.patch fcrozat@suse.com -- Fix glob_extend argument +Patch77: 0001-shared-util-Fix-glob_extend-argument.patch +# PATCH-FIX-UPSTREAM 0001-Fix-bad-assert-in-show_pid_array.patch fcrozat@suse.com -- Fix bad assert in show_pid_array +Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -464,6 +498,23 @@ cp %{SOURCE7} m4/ %patch59 -p1 %patch60 -p1 %patch61 -p1 +%patch62 -p1 +%patch63 -p1 +%patch64 -p1 +%patch65 -p1 +%patch66 -p1 +%patch67 -p1 +%patch68 -p1 +%patch69 -p1 +%patch70 -p1 +%patch71 -p1 +%patch72 -p1 +%patch73 -p1 +%patch74 -p1 +%patch75 -p1 +%patch76 -p1 +%patch77 -p1 +%patch78 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 68686869..653cdbdb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,50 @@ +------------------------------------------------------------------- +Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com + +- Add + 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: + don't start gpt auto-generator in container (git). +- Add + 0001-manager-when-verifying-whether-clients-may-change-en.patch: + fix reload check in selinux case (git). +- Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: + fix introspection for TakeControl (git). +- Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix + crash when parsing some incorrect unit (git). +- Add + 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: + Fix udev rules parsing (git). +- Add + 0001-systemd-serialize-deserialize-forbid_restart-value.patch: + Fix incorrect deserialization for forbid_restart (git). +- Add + 0001-core-unify-the-way-we-denote-serialization-attribute.patch: + Ensure forbid_restart is named like other attributes (git). +- Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in + journald (git). +- Add + 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: + Improve ACPI firmware performance parsing (git). +- Add + 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: + Fix journal rotation (git). +- Add + 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: + Fix memory corruption in sd_session_get_vt (git). +- Add 0001-login-make-sd_session_get_vt-actually-work.patch: Ensure + sd_session_get_vt returns correct value (git). +- Add 0001-Never-call-qsort-on-potentially-NULL-arrays.patch: Don't + call qsort on NULL arrays (git). +- Add 0001-dbus-common-avoid-leak-in-error-path.patch: Fix memleak + in dbus-common code (git). +- Add 0001-drop-ins-check-return-value.patch: Fix return value for + drop-ins checks (git). +- Add 0001-shared-util-Fix-glob_extend-argument.patch: Fix + glob_extend argument (git). +- Add 0001-Fix-bad-assert-in-show_pid_array.patch: Fix bad assert + in show_pid_array (git). + + ------------------------------------------------------------------- Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 5d4272ce..3664bc2e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -200,6 +200,40 @@ Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch # PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch +# PATCH-FIX-UPSTREAM 0001-gpt-auto-generator-exit-immediately-if-in-container.patch fcrozat@suse.com -- don't start gpt auto-generator in container +Patch62: 0001-gpt-auto-generator-exit-immediately-if-in-container.patch +# PATCH-FIX-UPSTREAM 0001-manager-when-verifying-whether-clients-may-change-en.patch fcrozat@suse.com -- fix reload check in selinux case +Patch63: 0001-manager-when-verifying-whether-clients-may-change-en.patch +# PATCH-FIX-UPSTREAM 0001-logind-fix-bus-introspection-data-for-TakeControl.patch fcrozat@suse.com -- fix introspection for TakeControl +Patch64: 0001-logind-fix-bus-introspection-data-for-TakeControl.patch +# PATCH-FIX-UPSTREAM 0001-mount-check-for-NULL-before-reading-pm-what.patch fcrozat@suse.com -- fix crash when parsing some incorrect unit +Patch65: 0001-mount-check-for-NULL-before-reading-pm-what.patch +# PATCH-FIX-UPSTREAM 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch fcrozat@suse.com -- Fix udev rules parsing +Patch66: 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch +# PATCH-FIX-UPSTREAM 0001-systemd-serialize-deserialize-forbid_restart-value.patch fcrozat@suse.com -- Fix incorrect deserialization for forbid_restart +Patch67: 0001-systemd-serialize-deserialize-forbid_restart-value.patch +# PATCH-FIX-UPSTREAM 0001-core-unify-the-way-we-denote-serialization-attribute.patch fcrozat@suse.com -- Ensure forbid_restart is named like other attributes +Patch68: 0001-core-unify-the-way-we-denote-serialization-attribute.patch +# PATCH-FIX-UPSTREAM 0001-journald-fix-minor-memory-leak.patch fcrozat@suse.com -- fix memleak in journald +Patch69: 0001-journald-fix-minor-memory-leak.patch +# PATCH-FIX-UPSTREAM 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch fcrozat@suse.com -- Improve ACPI firmware performance parsing +Patch70: 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch +# PATCH-FIX-UPSTREAM 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch fcrozat@suse.com -- Fix journal rotation +Patch71: 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch +# PATCH-FIX-UPSTREAM 0001-login-fix-invalid-free-in-sd_session_get_vt.patchfcrozat@suse.com -- Fix memory corruption in sd_session_get_vt +Patch72: 0001-login-fix-invalid-free-in-sd_session_get_vt.patch +# PATCH-FIX-UPSTREAM 0001-login-make-sd_session_get_vt-actually-work.patch fcrozat@suse.com -- Ensure sd_session_get_vt returns correct value +Patch73: 0001-login-make-sd_session_get_vt-actually-work.patch +# PATCH-FIX-UPSTREAM 0001-Never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- Don't call qsort on NULL arrays +Patch74: 0001-Never-call-qsort-on-potentially-NULL-arrays.patch +# PATCH-FIX-UPSTREAM 0001-dbus-common-avoid-leak-in-error-path.patch fcrozat@suse.com -- Fix memleak in dbus-common code +Patch75: 0001-dbus-common-avoid-leak-in-error-path.patch +# PATCH-FIX-UPSTREAM 0001-drop-ins-check-return-value.patch fcrozat@suse.com -- Fix return value for drop-ins checks +Patch76: 0001-drop-ins-check-return-value.patch +# PATCH-FIX-UPSTREAM 0001-shared-util-Fix-glob_extend-argument.patch fcrozat@suse.com -- Fix glob_extend argument +Patch77: 0001-shared-util-Fix-glob_extend-argument.patch +# PATCH-FIX-UPSTREAM 0001-Fix-bad-assert-in-show_pid_array.patch fcrozat@suse.com -- Fix bad assert in show_pid_array +Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -459,6 +493,23 @@ cp %{SOURCE7} m4/ %patch59 -p1 %patch60 -p1 %patch61 -p1 +%patch62 -p1 +%patch63 -p1 +%patch64 -p1 +%patch65 -p1 +%patch66 -p1 +%patch67 -p1 +%patch68 -p1 +%patch69 -p1 +%patch70 -p1 +%patch71 -p1 +%patch72 -p1 +%patch73 -p1 +%patch74 -p1 +%patch75 -p1 +%patch76 -p1 +%patch77 -p1 +%patch78 -p1 # udev patches %patch1001 -p1 From b1c5070862b6545cba3e5e7d4a7ed58b5f3a2ae60252a365caa90a62c21c19b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 21 Oct 2013 13:15:22 +0000 Subject: [PATCH 159/991] Accepting request 204107 from Base:System - Add patch 1009-make-xsltproc-use-correct-ROFF-links.patch to have valid ROFF links in manual pages working again (bnc#842844) OBS-URL: https://build.opensuse.org/request/show/204107 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=164 --- 1009-make-xsltproc-use-correct-ROFF-links.patch | 10 ++++++++++ systemd.changes | 7 +++++++ systemd.spec | 3 +++ 3 files changed, 20 insertions(+) create mode 100644 1009-make-xsltproc-use-correct-ROFF-links.patch diff --git a/1009-make-xsltproc-use-correct-ROFF-links.patch b/1009-make-xsltproc-use-correct-ROFF-links.patch new file mode 100644 index 00000000..c2f879d5 --- /dev/null +++ b/1009-make-xsltproc-use-correct-ROFF-links.patch @@ -0,0 +1,10 @@ +--- systemd-208/man/custom-man.xsl ++++ systemd-208/man/custom-man.xsl 2013-10-21 09:23:31.030735259 +0000 +@@ -61,4 +61,7 @@ + " + + ++ ++ ++ + diff --git a/systemd.changes b/systemd.changes index 653cdbdb..b6e13fc9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de + +- Add patch + 1009-make-xsltproc-use-correct-ROFF-links.patch + to have valid ROFF links in manual pages working again (bnc#842844) + ------------------------------------------------------------------- Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 3664bc2e..e66c721d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -250,6 +250,8 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) +Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -522,6 +524,7 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif +%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service From ee436add9e1b8fc32bc698c2f0058fb08544ddc6dd9e17c9b3edba27917b9a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 25 Oct 2013 16:54:14 +0000 Subject: [PATCH 160/991] Accepting request 204802 from Base:System - Add upstream patch 0001-analyze-set-white-background.patch to make SVG output of systemd analyze readable OBS-URL: https://build.opensuse.org/request/show/204802 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=165 --- 0001-analyze-set-white-background.patch | 32 +++++++++++++++++++++++++ systemd.changes | 7 ++++++ systemd.spec | 3 +++ 3 files changed, 42 insertions(+) create mode 100644 0001-analyze-set-white-background.patch diff --git a/0001-analyze-set-white-background.patch b/0001-analyze-set-white-background.patch new file mode 100644 index 00000000..89062844 --- /dev/null +++ b/0001-analyze-set-white-background.patch @@ -0,0 +1,32 @@ +From 418e37506e6a419a808a82081ca1616caa03a206 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Mon, 21 Oct 2013 19:29:23 +0000 +Subject: analyze: set white backgound + +In programs like eog and gimp the transparant background did not +look very good. + +https://bugs.freedesktop.org/show_bug.cgi?id=70720 +--- +diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c +index 26769d6..0cc4de7 100644 +--- a/src/analyze/systemd-analyze.c ++++ b/src/analyze/systemd-analyze.c +@@ -507,6 +507,7 @@ static int analyze_plot(DBusConnection *bus) { + /* style sheet */ + svg("\n \n\n\n"); + ++ svg("\n"); + svg("%s", pretty_times); + svg("%s %s (%s %s) %s", + isempty(osname) ? "Linux" : osname, +-- +cgit v0.9.0.2-2-gbebe diff --git a/systemd.changes b/systemd.changes index b6e13fc9..cce0aeb4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de + +- Add upstream patch + 0001-analyze-set-white-background.patch + to make SVG output of systemd analyze readable + ------------------------------------------------------------------- Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index e66c721d..4231ba9f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -234,6 +234,8 @@ Patch76: 0001-drop-ins-check-return-value.patch Patch77: 0001-shared-util-Fix-glob_extend-argument.patch # PATCH-FIX-UPSTREAM 0001-Fix-bad-assert-in-show_pid_array.patch fcrozat@suse.com -- Fix bad assert in show_pid_array Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch +# PATCH-FIX-UPSTREAM 0001-analyze-set-white-background.patch werner@suse.com -- Make background of systemd-analyze SVG white +Patch79: 0001-analyze-set-white-background.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -512,6 +514,7 @@ cp %{SOURCE7} m4/ %patch76 -p1 %patch77 -p1 %patch78 -p1 +%patch79 -p1 # udev patches %patch1001 -p1 From 9cbbdd781b051123b8ab717f95f6de04d8051908618e13579741657877747330 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 5 Nov 2013 05:52:16 +0000 Subject: [PATCH 161/991] Accepting request 205719 from Base:System - Add upstream patch 0001-analyze-set-text-on-side-with-most-space.patch to place the text on the side with most space OBS-URL: https://build.opensuse.org/request/show/205719 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=166 --- ...yze-set-text-on-side-with-most-space.patch | 90 +++++++++++++++++++ systemd.changes | 7 ++ systemd.spec | 3 + 3 files changed, 100 insertions(+) create mode 100644 0001-analyze-set-text-on-side-with-most-space.patch diff --git a/0001-analyze-set-text-on-side-with-most-space.patch b/0001-analyze-set-text-on-side-with-most-space.patch new file mode 100644 index 00000000..6268160c --- /dev/null +++ b/0001-analyze-set-text-on-side-with-most-space.patch @@ -0,0 +1,90 @@ +From 95168f7d55181475946ad93db30255c4d709df03 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 01 Nov 2013 21:57:47 +0000 +Subject: analyze: plot: place the text on the side with most space + +Set the width of the svg to always fit the longest string +while taking its starting position into consideration. + +Place the text on the right while the starting point is +in the first half of the screen. After that we put it on +the left to save the svg from being wider that it has to. +--- +diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c +index 6bfe13d..8730723 100644 +--- a/src/analyze/systemd-analyze.c ++++ b/src/analyze/systemd-analyze.c +@@ -509,7 +509,7 @@ static int analyze_plot(sd_bus *bus) { + m++; + + for (u = times; u < times + n; u++) { +- double len; ++ double text_start, text_width; + + if (u->ixt < boot->userspace_time || + u->ixt > boot->finish_time) { +@@ -517,10 +517,14 @@ static int analyze_plot(sd_bus *bus) { + u->name = NULL; + continue; + } +- len = ((boot->firmware_time + u->ixt) * SCALE_X) +- + (10.0 * strlen(u->name)); +- if (len > width) +- width = len; ++ ++ /* If the text cannot fit on the left side then ++ * increase the svg width so it fits on the right. ++ * TODO: calculate the text width more accurately */ ++ text_width = 8.0 * strlen(u->name); ++ text_start = (boot->firmware_time + u->ixt) * SCALE_X; ++ if (text_width > text_start && text_width + text_start > width) ++ width = text_width + text_start; + + if (u->iet > u->ixt && u->iet <= boot->finish_time + && u->aet == 0 && u->axt == 0) +@@ -608,7 +612,7 @@ static int analyze_plot(sd_bus *bus) { + svg_bar("active", boot->userspace_time, boot->finish_time, y); + svg_bar("generators", boot->generators_start_time, boot->generators_finish_time, y); + svg_bar("unitsload", boot->unitsload_start_time, boot->unitsload_finish_time, y); +- svg_text("left", boot->userspace_time, y, "systemd"); ++ svg_text(true, boot->userspace_time, y, "systemd"); + y++; + + for (u = times; u < times + n; u++) { +@@ -622,7 +626,8 @@ static int analyze_plot(sd_bus *bus) { + svg_bar("active", u->aet, u->axt, y); + svg_bar("deactivating", u->axt, u->iet, y); + +- b = u->ixt * SCALE_X > width * 2 / 3; ++ /* place the text on the left if we have passed the half of the svg width */ ++ b = u->ixt * SCALE_X < width / 2; + if (u->time) + svg_text(b, u->ixt, y, "%s (%s)", + u->name, format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC)); +@@ -634,19 +639,19 @@ static int analyze_plot(sd_bus *bus) { + /* Legend */ + y++; + svg_bar("activating", 0, 300000, y); +- svg_text("right", 400000, y, "Activating"); ++ svg_text(true, 400000, y, "Activating"); + y++; + svg_bar("active", 0, 300000, y); +- svg_text("right", 400000, y, "Active"); ++ svg_text(true, 400000, y, "Active"); + y++; + svg_bar("deactivating", 0, 300000, y); +- svg_text("right", 400000, y, "Deactivating"); ++ svg_text(true, 400000, y, "Deactivating"); + y++; + svg_bar("generators", 0, 300000, y); +- svg_text("right", 400000, y, "Generators"); ++ svg_text(true, 400000, y, "Generators"); + y++; + svg_bar("unitsload", 0, 300000, y); +- svg_text("right", 400000, y, "Loading unit files"); ++ svg_text(true, 400000, y, "Loading unit files"); + y++; + + svg("\n\n"); +-- +cgit v0.9.0.2-2-gbebe diff --git a/systemd.changes b/systemd.changes index cce0aeb4..78f1b0e4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de + +- Add upstream patch + 0001-analyze-set-text-on-side-with-most-space.patch + to place the text on the side with most space + ------------------------------------------------------------------- Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 4231ba9f..c0335c01 100644 --- a/systemd.spec +++ b/systemd.spec @@ -236,6 +236,8 @@ Patch77: 0001-shared-util-Fix-glob_extend-argument.patch Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch # PATCH-FIX-UPSTREAM 0001-analyze-set-white-background.patch werner@suse.com -- Make background of systemd-analyze SVG white Patch79: 0001-analyze-set-white-background.patch +# PATCH-FIX-UPSTREAM 0001-analyze-set-text-on-side-with-most-space.patch werner@suse.com -- Place the text on the side with most space +Patch80: 0001-analyze-set-text-on-side-with-most-space.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -515,6 +517,7 @@ cp %{SOURCE7} m4/ %patch77 -p1 %patch78 -p1 %patch79 -p1 +%patch80 -p1 # udev patches %patch1001 -p1 From ec448615f763103f629f42207be7c18b079fb9d0adc1e7c9585ba24a79618dd3 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 7 Nov 2013 08:05:11 +0000 Subject: [PATCH 162/991] Accepting request 205947 from Base:System - Add patch 1010-do-not-install-sulogin-unit-with-poweroff.patch that is do not install console-shell.service in any system target as this will cause automatic poweroff at boot (bnc#849071) OBS-URL: https://build.opensuse.org/request/show/205947 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=167 --- ...-do-not-install-sulogin-unit-with-poweroff.patch | 13 +++++++++++++ systemd.changes | 8 ++++++++ systemd.spec | 3 +++ 3 files changed, 24 insertions(+) create mode 100644 1010-do-not-install-sulogin-unit-with-poweroff.patch diff --git a/1010-do-not-install-sulogin-unit-with-poweroff.patch b/1010-do-not-install-sulogin-unit-with-poweroff.patch new file mode 100644 index 00000000..c854754f --- /dev/null +++ b/1010-do-not-install-sulogin-unit-with-poweroff.patch @@ -0,0 +1,13 @@ +| +| Belongs to bnc#849071 that is do not install console-shell.service +| in any system target as this will cause automatic poweroff at boot. +| +--- systemd-208/units/console-shell.service.m4.in ++++ systemd-208/units/console-shell.service.m4.in 2013-11-06 09:35:37.958693570 +0000 +@@ -26,6 +26,3 @@ StandardError=inherit + KillMode=process + IgnoreSIGPIPE=no + SendSIGHUP=yes +- +-[Install] +-WantedBy=getty.target diff --git a/systemd.changes b/systemd.changes index 78f1b0e4..c5a10894 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de + +- Add patch + 1010-do-not-install-sulogin-unit-with-poweroff.patch + that is do not install console-shell.service in any system target + as this will cause automatic poweroff at boot (bnc#849071) + ------------------------------------------------------------------- Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index c0335c01..62f08f07 100644 --- a/systemd.spec +++ b/systemd.spec @@ -256,6 +256,8 @@ Patch1007: 1007-physical-hotplug-cpu-and-memory.patch Patch1008: 1008-add-msft-compability-rules.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch +# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) +Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -531,6 +533,7 @@ cp %{SOURCE7} m4/ %patch1008 -p1 %endif %patch1009 -p1 +%patch1010 -p1 # ensure generate files are removed rm -f units/emergency.service From 5efbb9d19db30b777bd27216383ac7c28dae060abd6807097e91147640b8a3fe Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 30 Nov 2013 16:36:19 +0000 Subject: [PATCH 163/991] Accepting request 208952 from Base:System - Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 (forwarded request 208810 from lbssousa) OBS-URL: https://build.opensuse.org/request/show/208952 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=168 --- 1011-check-4-valid-kmsg-device.patch | 70 ++++++++ ...XDG_RUNTIME_DIR_of_the_original_user.patch | 168 ++++++++++++++++++ ...y_session_activation_on_non_vt_seats.patch | 26 +++ systemd.changes | 22 +++ systemd.spec | 8 + 5 files changed, 294 insertions(+) create mode 100644 1011-check-4-valid-kmsg-device.patch create mode 100644 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch create mode 100644 U_logind_revert_lazy_session_activation_on_non_vt_seats.patch diff --git a/1011-check-4-valid-kmsg-device.patch b/1011-check-4-valid-kmsg-device.patch new file mode 100644 index 00000000..ffb36937 --- /dev/null +++ b/1011-check-4-valid-kmsg-device.patch @@ -0,0 +1,70 @@ +From: Werner Fink +Date: Thu, 21 Nov 2013 11:50:32 +0000 +Subject: [PATCH] Avoid busy systemd-journald + +Avoid a busy systemd-journald due polling a broken /dec/kmsg in lxc +environments. + +--- + journald-kmsg.c | 27 ++++++++++++++++++++++++++- + 1 file changed, 26 insertions(+), 1 deletion(-) + +Index: systemd-208/src/journal/journald-kmsg.c +=================================================================== +--- systemd-208/src/journal/journald-kmsg.c ++++ systemd-208/src/journal/journald-kmsg.c 2013-11-21 13:30:22.930735683 +0000 +@@ -23,7 +23,9 @@ + #include + #include + #include ++#include + #include ++#include + + #include + #include +@@ -377,20 +379,43 @@ int server_flush_dev_kmsg(Server *s) { + + int server_open_dev_kmsg(Server *s) { + struct epoll_event ev; ++ struct stat st; + + assert(s); + + s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); + if (s->dev_kmsg_fd < 0) { +- log_warning("Failed to open /dev/kmsg, ignoring: %m"); ++ /* Do not warn as it may not exists in LXC environments */ ++ if (errno != ENOENT) ++ log_warning("Failed to open /dev/kmsg, ignoring: %m"); + return 0; + } + ++ if (fstat(s->dev_kmsg_fd, &st) < 0) { ++ log_error("Failed to stat /dev/kmsg fd, ignoring: %m"); ++ close_nointr_nofail(s->dev_kmsg_fd); ++ s->dev_kmsg_fd = -1; ++ return 0; ++ } ++ ++ if (!S_ISCHR(st.st_mode) || major(st.st_rdev) != 1 || minor(st.st_rdev) != 11) { ++ int old_errno = errno; ++ errno = ENODEV; ++ log_warning("Irregular device /dev/kmsg, ignoring: %m"); ++ errno = old_errno; ++ close_nointr_nofail(s->dev_kmsg_fd); ++ s->dev_kmsg_fd = -1; ++ return 0; ++ } ++ + zero(ev); + ev.events = EPOLLIN; + ev.data.fd = s->dev_kmsg_fd; + if (epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, s->dev_kmsg_fd, &ev) < 0) { + ++ close_nointr_nofail(s->dev_kmsg_fd); ++ s->dev_kmsg_fd = -1; ++ + /* This will fail with EPERM on older kernels where + * /dev/kmsg is not readable. */ + if (errno == EPERM) diff --git a/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch new file mode 100644 index 00000000..59d166ae --- /dev/null +++ b/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -0,0 +1,168 @@ +Based on upstream baae0358f349870544884e405e82e4be7d8add9f +| From: Lennart Poettering +| Date: Tue, 26 Nov 2013 04:05:00 +0000 +| Subject: pam_systemd: do not set XDG_RUNTIME_DIR if the session's original user is not the same as the newly logged in one +| It's better not to set any XDG_RUNTIME_DIR at all rather than one of a +| different user. So let's do this. +--- systemd-208/src/login/logind-dbus.c ++++ systemd-208/src/login/logind-dbus.c 2013-11-26 13:37:05.730735774 +0000 +@@ -523,6 +523,7 @@ static int bus_manager_create_session(Ma + DBUS_TYPE_OBJECT_PATH, &path, + DBUS_TYPE_STRING, &session->user->runtime_path, + DBUS_TYPE_UNIX_FD, &fifo_fd, ++ DBUS_TYPE_UINT32, &session->user->uid, + DBUS_TYPE_STRING, &cseat, + DBUS_TYPE_UINT32, &vtnr, + DBUS_TYPE_BOOLEAN, &exists, +--- systemd-208/src/login/logind-session-dbus.c ++++ systemd-208/src/login/logind-session-dbus.c 2013-11-26 13:36:07.478236401 +0000 +@@ -755,6 +755,7 @@ int session_send_create_reply(Session *s + DBUS_TYPE_OBJECT_PATH, &path, + DBUS_TYPE_STRING, &s->user->runtime_path, + DBUS_TYPE_UNIX_FD, &fifo_fd, ++ DBUS_TYPE_UINT32, &s->user->uid, + DBUS_TYPE_STRING, &cseat, + DBUS_TYPE_UINT32, &vtnr, + DBUS_TYPE_BOOLEAN, &exists, +--- systemd-208/src/login/pam-module.c ++++ systemd-208/src/login/pam-module.c 2013-11-26 14:32:20.194235777 +0000 +@@ -93,24 +93,18 @@ static int get_user_data( + assert(ret_username); + assert(ret_pw); + +- r = audit_loginuid_from_pid(0, &uid); +- if (r >= 0) +- pw = pam_modutil_getpwuid(handle, uid); +- else { +- r = pam_get_user(handle, &username, NULL); +- if (r != PAM_SUCCESS) { +- pam_syslog(handle, LOG_ERR, "Failed to get user name."); +- return r; +- } +- +- if (isempty(username)) { +- pam_syslog(handle, LOG_ERR, "User name not valid."); +- return PAM_AUTH_ERR; +- } ++ r = pam_get_user(handle, &username, NULL); ++ if (r != PAM_SUCCESS) { ++ pam_syslog(handle, LOG_ERR, "Failed to get user name."); ++ return r; ++ } + +- pw = pam_modutil_getpwnam(handle, username); ++ if (isempty(username)) { ++ pam_syslog(handle, LOG_ERR, "User name not valid."); ++ return PAM_AUTH_ERR; + } + ++ pw = pam_modutil_getpwnam(handle, username); + if (!pw) { + pam_syslog(handle, LOG_ERR, "Failed to get user data."); + return PAM_USER_UNKNOWN; +@@ -123,16 +117,14 @@ static int get_user_data( + } + + static int get_seat_from_display(const char *display, const char **seat, uint32_t *vtnr) { +- _cleanup_free_ char *p = NULL; +- int r; +- _cleanup_close_ int fd = -1; + union sockaddr_union sa = { + .un.sun_family = AF_UNIX, + }; ++ _cleanup_free_ char *p = NULL, *tty = NULL; ++ _cleanup_close_ int fd = -1; + struct ucred ucred; + socklen_t l; +- _cleanup_free_ char *tty = NULL; +- int v; ++ int v, r; + + assert(display); + assert(vtnr); +@@ -194,13 +186,12 @@ _public_ PAM_EXTERN int pam_sm_open_sess + dbus_bool_t remote, existing; + int r; + uint32_t vtnr = 0; ++ uid_t original_uid; + + assert(handle); + + dbus_error_init(&error); + +- /* pam_syslog(handle, LOG_INFO, "pam-systemd initializing"); */ +- + /* Make this a NOP on non-logind systems */ + if (!logind_running()) + return PAM_SUCCESS; +@@ -213,6 +204,9 @@ _public_ PAM_EXTERN int pam_sm_open_sess + goto finish; + } + ++ if (debug) ++ pam_syslog(handle, LOG_INFO, "pam-systemd initializing"); ++ + r = get_user_data(handle, &username, &pw); + if (r != PAM_SUCCESS) + goto finish; +@@ -374,7 +368,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess + if (debug) + pam_syslog(handle, LOG_DEBUG, "Asking logind to create session: " + "uid=%u pid=%u service=%s type=%s class=%s seat=%s vtnr=%u tty=%s display=%s remote=%s remote_user=%s remote_host=%s", +- uid, pid, service, type, class, seat, vtnr, tty, display, yes_no(remote), remote_user, remote_host); ++ pw->pw_uid, pid, ++ strempty(service), ++ type, class, ++ seat, vtnr, tty, display, ++ yes_no(remote), remote_user, remote_host); + + reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); + if (!reply) { +@@ -388,6 +386,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess + DBUS_TYPE_OBJECT_PATH, &object_path, + DBUS_TYPE_STRING, &runtime_path, + DBUS_TYPE_UNIX_FD, &session_fd, ++ DBUS_TYPE_UINT32, &original_uid, + DBUS_TYPE_STRING, &seat, + DBUS_TYPE_UINT32, &vtnr, + DBUS_TYPE_BOOLEAN, &existing, +@@ -399,8 +398,8 @@ _public_ PAM_EXTERN int pam_sm_open_sess + + if (debug) + pam_syslog(handle, LOG_DEBUG, "Reply from logind: " +- "id=%s object_path=%s runtime_path=%s session_fd=%d seat=%s vtnr=%u", +- id, object_path, runtime_path, session_fd, seat, vtnr); ++ "id=%s object_path=%s runtime_path=%s session_fd=%d seat=%s vtnr=%u original_uid=%u", ++ id, object_path, runtime_path, session_fd, seat, vtnr, original_uid); + + r = pam_misc_setenv(handle, "XDG_SESSION_ID", id, 0); + if (r != PAM_SUCCESS) { +@@ -408,10 +407,24 @@ _public_ PAM_EXTERN int pam_sm_open_sess + goto finish; + } + +- r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", runtime_path, 0); +- if (r != PAM_SUCCESS) { +- pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); +- goto finish; ++ if (original_uid == pw->pw_uid) { ++ /* Don't set $XDG_RUNTIME_DIR if the user we now ++ * authenticated for does not match the original user ++ * of the session. We do this in order not to result ++ * in privileged apps clobbering the runtime directory ++ * unnecessarily. */ ++ ++ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", runtime_path, 0); ++ if (r != PAM_SUCCESS) { ++ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); ++ goto finish; ++ } ++ } else { ++ (void) unsetenv("XDG_RUNTIME_DIR"); ++ r = pam_putenv(handle, "XDG_RUNTIME_DIR"); ++ if (r != PAM_SUCCESS && r != PAM_BAD_ITEM) { ++ pam_syslog(handle, LOG_ERR, "Failed to unset runtime dir."); ++ } + } + + if (!isempty(seat)) { diff --git a/U_logind_revert_lazy_session_activation_on_non_vt_seats.patch b/U_logind_revert_lazy_session_activation_on_non_vt_seats.patch new file mode 100644 index 00000000..fca524f5 --- /dev/null +++ b/U_logind_revert_lazy_session_activation_on_non_vt_seats.patch @@ -0,0 +1,26 @@ +From 3fdb2494c1e24c0a020f5b54022d2c751fd26f50 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 28 Nov 2013 09:52:18 +0000 +Subject: login: revert lazy session-activation on non-VT seats + +Existing applications like gdm already depend on new sessions to get +immediately activated on seats without VTs. Fixes a bug reported as: + [systemd-devel] systemd 208:trouble with inactive user sessions at non-seat0 seats + +This patch restores the original behavior. We either need to add a new +flag for session-creation or some other heuristic to avoid activating new +sessions in the future. +--- +--- a/src/login/logind-seat.c 2013-11-28 11:30:49.624623090 -0200 ++++ b/src/login/logind-seat.c 2013-11-28 11:31:46.668792391 -0200 +@@ -420,8 +420,8 @@ + seat_send_changed(s, "Sessions\0"); + + /* On seats with VTs, the VT logic defines which session is active. On +- * seats without VTs, we automatically activate the first session. */ +- if (!seat_has_vts(s) && !s->active) ++ * seats without VTs, we automatically activate new sessions. */ ++ if (!seat_has_vts(s)) + seat_set_active(s, session); + + return 0; diff --git a/systemd.changes b/systemd.changes index c5a10894..2171b924 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com + +- Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch + * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 + +------------------------------------------------------------------- +Tue Nov 26 15:12:58 UTC 2013 - werner@suse.de + +- Add patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to avoid (xdg-)su to set XDG_RUNTIME_DIR to the original user and + avoid that e.g. pulseaudio will create /run/user//pulse owned + by root (bnc#852015) + +------------------------------------------------------------------- +Thu Nov 21 12:27:11 UTC 2013 - werner@suse.de + +- Add patch + 1011-check-4-valid-kmsg-device.patch + to avoid a busy systemd-journald (bnc#851393) + ------------------------------------------------------------------- Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 62f08f07..3ec76694 100644 --- a/systemd.spec +++ b/systemd.spec @@ -258,6 +258,11 @@ Patch1008: 1008-add-msft-compability-rules.patch Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch +# PATCH-FIX-OPENSUSE 1011-check-4-valid-kmsg-device.patch -- Avoid busy systemd-journald (bnc#851393) +Patch1011: 1011-check-4-valid-kmsg-device.patch +# PATCH-FIX-PSTREAM 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -534,6 +539,9 @@ cp %{SOURCE7} m4/ %endif %patch1009 -p1 %patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 +%patch1013 -p1 # ensure generate files are removed rm -f units/emergency.service From 8e02a34e98c956c81602c7bee65b86b13a295cdbcbfa0041b551ea7b32194238 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 15 Dec 2013 09:09:48 +0000 Subject: [PATCH 164/991] Accepting request 210814 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/210814 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=169 --- 1014-journald-with-journaling-FS.patch | 49 ++++++++++++++++++++++++++ systemd.changes | 10 ++++++ systemd.spec | 7 +++- 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 1014-journald-with-journaling-FS.patch diff --git a/1014-journald-with-journaling-FS.patch b/1014-journald-with-journaling-FS.patch new file mode 100644 index 00000000..406a6aed --- /dev/null +++ b/1014-journald-with-journaling-FS.patch @@ -0,0 +1,49 @@ +--- systemd-208/src/journal/journald-server.c ++++ systemd-208/src/journal/journald-server.c 2013-12-06 12:37:27.482735840 +0000 +@@ -21,6 +21,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -878,7 +879,7 @@ finish: + + + static int system_journal_open(Server *s) { +- int r; ++ int r, fd; + char *fn; + sd_id128_t machine; + char ids[33]; +@@ -905,7 +906,28 @@ static int system_journal_open(Server *s + (void) mkdir("/var/log/journal/", 0755); + + fn = strappenda("/var/log/journal/", ids); +- (void) mkdir(fn, 0755); ++ ++ /* ++ * On journaling and/or compressing file systems avoid doubling the ++ * efforts for the system, that is set NOCOW and NOCOMP inode flags. ++ * Check for every single flag as otherwise some of the file systems ++ * may return EOPNOTSUPP on one unkown flag (like BtrFS does). ++ */ ++ if (mkdir(fn, 0755) == 0 && (fd = open(fn, O_DIRECTORY)) >= 0) { ++ long flags; ++ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { ++ if (ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0) ++ flags |= FS_NOATIME_FL; ++ if (ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0) ++ flags |= FS_NOCOW_FL; ++ if (s->compress) { ++ flags &= ~FS_COMPR_FL; ++ flags |= FS_NOCOMP_FL; ++ } ++ ioctl(fd, FS_IOC_SETFLAGS, flags); ++ } ++ close(fd); ++ } + + fn = strappenda(fn, "/system.journal"); + r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/systemd.changes b/systemd.changes index 2171b924..ac4e6d52 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de + +- Add patch + 1014-journald-with-journaling-FS.patch + which now uses the file system ioctls for switching off atime, + compression, and copy-on-write of the journal directory of the + the systemd-journald (bnc#838475) +- Let us build require the package config for libpcre (bnc#853293) + ------------------------------------------------------------------- Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com diff --git a/systemd.spec b/systemd.spec index 3ec76694..daa68f57 100644 --- a/systemd.spec +++ b/systemd.spec @@ -68,6 +68,7 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libmicrohttpd) %endif BuildRequires: pkgconfig(libpci) >= 3 +BuildRequires: pkgconfig(libpcre) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libqrencode) %endif @@ -260,9 +261,12 @@ Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-OPENSUSE 1011-check-4-valid-kmsg-device.patch -- Avoid busy systemd-journald (bnc#851393) Patch1011: 1011-check-4-valid-kmsg-device.patch -# PATCH-FIX-PSTREAM 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-UPSTREAM 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-UPSTREAM U_logind_revert_lazy_session_activation_on_non_vt_seats.patch Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch +# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch +Patch1014: 1014-journald-with-journaling-FS.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -542,6 +546,7 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 +%patch1014 -p1 # ensure generate files are removed rm -f units/emergency.service From 4ccf744c9aaa6eb33796b438a5ff9801c97f5818b405cc7c236736f1944160e6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 19 Dec 2013 11:51:56 +0000 Subject: [PATCH 165/991] Accepting request 211088 from Base:System - Update insserv-generator.patch: fix crash in insserv generator (bnc#854314). - Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes for Nvidia cards (bnc#808319). (forwarded request 211000 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/211088 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=170 --- apply-ACL-for-nvidia-device-nodes.patch | 37 ++++++------- insserv-generator.patch | 25 ++++++--- systemd-mini.changes | 69 +++++++++++++++++++++++++ systemd-mini.spec | 25 +++++++++ systemd.changes | 8 +++ 5 files changed, 135 insertions(+), 29 deletions(-) diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index 44d90f35..7b5e3624 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -7,34 +7,29 @@ set ACL on nvidia devices (bnc#808319). src/login/logind-acl.c | 3 +++ 1 file changed, 3 insertions(+) ---- systemd-206.orig/src/login/logind-acl.c -+++ systemd-206/src/login/logind-acl.c -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include "logind-acl.h" - #include "util.h" -@@ -287,6 +288,22 @@ int devnode_acl_all(struct udev *udev, +Index: systemd-208/src/login/logind-acl.c +=================================================================== +--- systemd-208.orig/src/login/logind-acl.c ++++ systemd-208/src/login/logind-acl.c +@@ -287,6 +287,22 @@ int devnode_acl_all(struct udev *udev, r = devnode_acl(n, flush, del, old_uid, add, new_uid); } -+ /* only search for nvidia* if /dev/nvidiactl exists */ -+ if (!devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid)) { -+ char** directory; -+ char **f, *resolved; ++ /* only apply ACL on nvidia* if /dev/nvidiactl exists */ ++ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { ++ int i; ++ char *devname; + -+ if (get_files_in_directory ("/dev", &directory)) { -+ STRV_FOREACH(f,directory) -+ if (startswith(*f,"nvidia")) { -+ resolved = strjoin("/dev/", *f, NULL); -+ devnode_acl(resolved, flush, del, old_uid, add, new_uid); -+ free(resolved); ++ for (i = 0; i <= 256 ; i++) { ++ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ break; ++ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) { ++ free(devname); ++ break; + } ++ free(devname); + } -+ strv_free(directory); + } + finish: diff --git a/insserv-generator.patch b/insserv-generator.patch index 44330bfe..3e0deb79 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -13,9 +13,11 @@ systemd unit drop-in files to add dependencies create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -321,6 +321,7 @@ rootlibexec_PROGRAMS = \ +Index: systemd-208/Makefile.am +=================================================================== +--- systemd-208.orig/Makefile.am ++++ systemd-208/Makefile.am +@@ -322,6 +322,7 @@ rootlibexec_PROGRAMS = \ systemd-sleep systemgenerator_PROGRAMS = \ @@ -23,7 +25,7 @@ systemd unit drop-in files to add dependencies systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator -@@ -1655,6 +1656,14 @@ systemd_delta_LDADD = \ +@@ -1682,6 +1683,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ @@ -38,8 +40,10 @@ systemd unit drop-in files to add dependencies systemd_getty_generator_SOURCES = \ src/getty-generator/getty-generator.c +Index: systemd-208/src/insserv-generator/Makefile +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/insserv-generator/Makefile ++++ systemd-208/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -69,9 +73,11 @@ systemd unit drop-in files to add dependencies + $(MAKE) -C .. clean + +.PHONY: all clean +Index: systemd-208/src/insserv-generator/insserv-generator.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,309 @@ ++++ systemd-208/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,312 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -119,6 +125,9 @@ systemd unit drop-in files to add dependencies + if (endswith(name, ".sh")) + /* Drop .sh suffix */ + strcpy(stpcpy(r, name) - 3, ".service"); ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ strcpy(stpcpy(r, name + 5), ".service"); + else + /* Normal init script name */ + strcpy(stpcpy(r, name), ".service"); @@ -227,7 +236,7 @@ systemd unit drop-in files to add dependencies + /* we ignore , not used, equivalent to X-Interactive */ + if (parsed && !startswith_no_case (parsed[0], "")) { + _cleanup_free_ char *facility = NULL; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) ++ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) + continue; + if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { + _cleanup_free_ char *unit = NULL; diff --git a/systemd-mini.changes b/systemd-mini.changes index 653cdbdb..ba215dd6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,72 @@ +------------------------------------------------------------------- +Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com + +- Update insserv-generator.patch: fix crash in insserv generator + (bnc#854314). +- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes + for Nvidia cards (bnc#808319). + +------------------------------------------------------------------- +Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de + +- Add patch + 1014-journald-with-journaling-FS.patch + which now uses the file system ioctls for switching off atime, + compression, and copy-on-write of the journal directory of the + the systemd-journald (bnc#838475) +- Let us build require the package config for libpcre (bnc#853293) + +------------------------------------------------------------------- +Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com + +- Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch + * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 + +------------------------------------------------------------------- +Tue Nov 26 15:12:58 UTC 2013 - werner@suse.de + +- Add patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to avoid (xdg-)su to set XDG_RUNTIME_DIR to the original user and + avoid that e.g. pulseaudio will create /run/user//pulse owned + by root (bnc#852015) + +------------------------------------------------------------------- +Thu Nov 21 12:27:11 UTC 2013 - werner@suse.de + +- Add patch + 1011-check-4-valid-kmsg-device.patch + to avoid a busy systemd-journald (bnc#851393) + +------------------------------------------------------------------- +Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de + +- Add patch + 1010-do-not-install-sulogin-unit-with-poweroff.patch + that is do not install console-shell.service in any system target + as this will cause automatic poweroff at boot (bnc#849071) + +------------------------------------------------------------------- +Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de + +- Add upstream patch + 0001-analyze-set-text-on-side-with-most-space.patch + to place the text on the side with most space + +------------------------------------------------------------------- +Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de + +- Add upstream patch + 0001-analyze-set-white-background.patch + to make SVG output of systemd analyze readable + +------------------------------------------------------------------- +Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de + +- Add patch + 1009-make-xsltproc-use-correct-ROFF-links.patch + to have valid ROFF links in manual pages working again (bnc#842844) + ------------------------------------------------------------------- Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index e00c4fcb..b27a81ac 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -73,6 +73,7 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libmicrohttpd) %endif BuildRequires: pkgconfig(libpci) >= 3 +BuildRequires: pkgconfig(libpcre) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libqrencode) %endif @@ -239,6 +240,10 @@ Patch76: 0001-drop-ins-check-return-value.patch Patch77: 0001-shared-util-Fix-glob_extend-argument.patch # PATCH-FIX-UPSTREAM 0001-Fix-bad-assert-in-show_pid_array.patch fcrozat@suse.com -- Fix bad assert in show_pid_array Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch +# PATCH-FIX-UPSTREAM 0001-analyze-set-white-background.patch werner@suse.com -- Make background of systemd-analyze SVG white +Patch79: 0001-analyze-set-white-background.patch +# PATCH-FIX-UPSTREAM 0001-analyze-set-text-on-side-with-most-space.patch werner@suse.com -- Place the text on the side with most space +Patch80: 0001-analyze-set-text-on-side-with-most-space.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -255,6 +260,18 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) +Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch +# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) +Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch +# PATCH-FIX-OPENSUSE 1011-check-4-valid-kmsg-device.patch -- Avoid busy systemd-journald (bnc#851393) +Patch1011: 1011-check-4-valid-kmsg-device.patch +# PATCH-FIX-UPSTREAM 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-UPSTREAM U_logind_revert_lazy_session_activation_on_non_vt_seats.patch +Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch +# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch +Patch1014: 1014-journald-with-journaling-FS.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -515,6 +532,8 @@ cp %{SOURCE7} m4/ %patch76 -p1 %patch77 -p1 %patch78 -p1 +%patch79 -p1 +%patch80 -p1 # udev patches %patch1001 -p1 @@ -527,6 +546,12 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 +%patch1013 -p1 +%patch1014 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index ac4e6d52..ba215dd6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com + +- Update insserv-generator.patch: fix crash in insserv generator + (bnc#854314). +- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes + for Nvidia cards (bnc#808319). + ------------------------------------------------------------------- Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de From 2966ec214889e4419180b4bae39b13e7a5e76a614e607209c488dec02a5dc20a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 19 Dec 2013 20:38:59 +0000 Subject: [PATCH 166/991] Accepting request 211697 from Base:System - Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a running user manager from garbage-collecting the user. Original behavior caused bnc#849870 - Add build-sys-make-multi-seat-x-optional.patch * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 * Now systemd-multi-seat-x build can be disabled with configure option --disable-multi-seat-x. It should be done when xorg-x11-server no longer needs it (work in progress). OBS-URL: https://build.opensuse.org/request/show/211697 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=171 --- 0001-logind-garbage-collect-stale-users.patch | 28 +++++++++ 1014-journald-with-journaling-FS.patch | 17 +++--- build-sys-make-multi-seat-x-optional.patch | 60 +++++++++++++++++++ systemd-mini.spec | 6 ++ systemd.changes | 16 +++++ systemd.spec | 6 ++ 6 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 0001-logind-garbage-collect-stale-users.patch create mode 100644 build-sys-make-multi-seat-x-optional.patch diff --git a/0001-logind-garbage-collect-stale-users.patch b/0001-logind-garbage-collect-stale-users.patch new file mode 100644 index 00000000..fd91e8b2 --- /dev/null +++ b/0001-logind-garbage-collect-stale-users.patch @@ -0,0 +1,28 @@ +From 63966da86d8e71b1f3f2b57d5448770d526421f9 Mon Sep 17 00:00:00 2001 +From: Thomas Bächler +Date: Sun, 15 Dec 2013 11:06:37 +0000 +Subject: login: Don't stop a running user manager from garbage-collecting the user. + +With the current logic, a user will never be garbage-collected, since its +manager will always be around. Change the logic such that a user is +garbage-collected when it has no sessions and linger is disabled. +--- +diff --git a/src/login/logind-user.c b/src/login/logind-user.c +index 6ba8d98..441e086 100644 +--- a/src/login/logind-user.c ++++ b/src/login/logind-user.c +@@ -629,12 +629,6 @@ int user_check_gc(User *u, bool drop_not + if (u->slice_job || u->service_job) + return 1; + +- if (u->slice && manager_unit_is_active(u->manager, u->slice) != 0) +- return 1; +- +- if (u->service && manager_unit_is_active(u->manager, u->service) != 0) +- return 1; +- + return 0; + } + +-- +cgit v0.9.0.2-2-gbebe diff --git a/1014-journald-with-journaling-FS.patch b/1014-journald-with-journaling-FS.patch index 406a6aed..6bf95fb4 100644 --- a/1014-journald-with-journaling-FS.patch +++ b/1014-journald-with-journaling-FS.patch @@ -1,5 +1,5 @@ --- systemd-208/src/journal/journald-server.c -+++ systemd-208/src/journal/journald-server.c 2013-12-06 12:37:27.482735840 +0000 ++++ systemd-208/src/journal/journald-server.c 2013-12-10 16:31:50.770235717 +0000 @@ -21,6 +21,7 @@ #include @@ -17,11 +17,12 @@ char *fn; sd_id128_t machine; char ids[33]; -@@ -905,7 +906,28 @@ static int system_journal_open(Server *s +@@ -905,7 +906,31 @@ static int system_journal_open(Server *s (void) mkdir("/var/log/journal/", 0755); fn = strappenda("/var/log/journal/", ids); - (void) mkdir(fn, 0755); ++ (void)mkdir(fn, 0755); + + /* + * On journaling and/or compressing file systems avoid doubling the @@ -29,18 +30,20 @@ + * Check for every single flag as otherwise some of the file systems + * may return EOPNOTSUPP on one unkown flag (like BtrFS does). + */ -+ if (mkdir(fn, 0755) == 0 && (fd = open(fn, O_DIRECTORY)) >= 0) { ++ if ((fd = open(fn, O_DIRECTORY)) >= 0) { + long flags; + if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ if (ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0) ++ int old = flags; ++ if (!(flags&FS_NOATIME_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0) + flags |= FS_NOATIME_FL; -+ if (ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0) ++ if (!(flags&FS_NOCOW_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0) + flags |= FS_NOCOW_FL; -+ if (s->compress) { ++ if (!(flags&FS_NOCOMP_FL) && s->compress) { + flags &= ~FS_COMPR_FL; + flags |= FS_NOCOMP_FL; + } -+ ioctl(fd, FS_IOC_SETFLAGS, flags); ++ if (old != flags) ++ ioctl(fd, FS_IOC_SETFLAGS, flags); + } + close(fd); + } diff --git a/build-sys-make-multi-seat-x-optional.patch b/build-sys-make-multi-seat-x-optional.patch new file mode 100644 index 00000000..c86042c6 --- /dev/null +++ b/build-sys-make-multi-seat-x-optional.patch @@ -0,0 +1,60 @@ +From bd441fa27a22b7c6e11d9330560e0622fb69f297 Mon Sep 17 00:00:00 2001 +From: Zbigniew Jędrzejewski-Szmek +Date: Thu, 28 Nov 2013 17:07:29 +0000 +Subject: build-sys: make multi-seat-x optional + +At some point it should become disabled by default. + +http://lists.freedesktop.org/archives/systemd-devel/2013-November/014869.html +--- +diff --git a/Makefile.am b/Makefile.am +index 90874df..3598edd 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4141,6 +4141,8 @@ MULTI_USER_TARGET_WANTS += \ + SYSTEM_UNIT_ALIASES += \ + systemd-logind.service dbus-org.freedesktop.login1.service + ++if ENABLE_MULTI_SEAT_X ++ + systemd_multi_seat_x_SOURCES = \ + src/login/multi-seat-x.c + +@@ -4151,6 +4153,8 @@ systemd_multi_seat_x_LDADD = \ + rootlibexec_PROGRAMS += \ + systemd-multi-seat-x + ++endif ++ + dist_udevrules_DATA += \ + src/login/70-uaccess.rules \ + src/login/70-power-switch.rules +diff --git a/configure.ac b/configure.ac +index f1b00c5..ab24266 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -794,6 +794,14 @@ fi + AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"]) + + # ------------------------------------------------------------------------------ ++have_multi_seat_x=no ++AC_ARG_ENABLE(multi_seat_x, AS_HELP_STRING([--disable-multi-seat-x], [do not build multi-seat-x])) ++if test "x$enable_multi_seat_x" != "xno"; then ++ have_multi_seat_x=yes ++fi ++AM_CONDITIONAL(ENABLE_MULTI_SEAT_X, [test "$have_multi_seat_x" = "yes"]) ++ ++# ------------------------------------------------------------------------------ + AC_ARG_WITH(rc-local-script-path-start, + AS_HELP_STRING([--with-rc-local-script-path-start=PATH], + [Path to /etc/rc.local]), +@@ -1077,6 +1085,7 @@ AC_MSG_RESULT([ + nss-myhostname: ${have_myhostname} + gudev: ${enable_gudev} + gintrospection: ${enable_introspection} ++ multi-seat-x: ${have_multi_seat_x} + Python: ${have_python} + Python Headers: ${have_python_devel} + man pages: ${have_manpages} +-- +cgit v0.9.0.2-2-gbebe diff --git a/systemd-mini.spec b/systemd-mini.spec index b27a81ac..8f21effa 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -244,6 +244,8 @@ Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch Patch79: 0001-analyze-set-white-background.patch # PATCH-FIX-UPSTREAM 0001-analyze-set-text-on-side-with-most-space.patch werner@suse.com -- Place the text on the side with most space Patch80: 0001-analyze-set-text-on-side-with-most-space.patch +# PATCH-FIX-UPSTREAM 0001-logind-garbage-collect-stale-users.patch -- Don't stop a running user manager from garbage-collecting the user. +Patch81: 0001-logind-garbage-collect-stale-users.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -272,6 +274,8 @@ Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_use Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch # PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch Patch1014: 1014-journald-with-journaling-FS.patch +# PATCH-FIX-UPSTREAM build-sys-make-multi-seat-x-optional.patch +Patch1015: build-sys-make-multi-seat-x-optional.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -534,6 +538,7 @@ cp %{SOURCE7} m4/ %patch78 -p1 %patch79 -p1 %patch80 -p1 +%patch81 -p1 # udev patches %patch1001 -p1 @@ -552,6 +557,7 @@ cp %{SOURCE7} m4/ %patch1012 -p1 %patch1013 -p1 %patch1014 -p1 +%patch1015 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index ba215dd6..686eb749 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com + +- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a + running user manager from garbage-collecting the user. Original + behavior caused bnc#849870 + +------------------------------------------------------------------- +Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com + +- Add build-sys-make-multi-seat-x-optional.patch + * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 + * Now systemd-multi-seat-x build can be disabled with configure option + --disable-multi-seat-x. It should be done when xorg-x11-server + no longer needs it (work in progress). + ------------------------------------------------------------------- Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index daa68f57..48dbb6c1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -239,6 +239,8 @@ Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch Patch79: 0001-analyze-set-white-background.patch # PATCH-FIX-UPSTREAM 0001-analyze-set-text-on-side-with-most-space.patch werner@suse.com -- Place the text on the side with most space Patch80: 0001-analyze-set-text-on-side-with-most-space.patch +# PATCH-FIX-UPSTREAM 0001-logind-garbage-collect-stale-users.patch -- Don't stop a running user manager from garbage-collecting the user. +Patch81: 0001-logind-garbage-collect-stale-users.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -267,6 +269,8 @@ Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_use Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch # PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch Patch1014: 1014-journald-with-journaling-FS.patch +# PATCH-FIX-UPSTREAM build-sys-make-multi-seat-x-optional.patch +Patch1015: build-sys-make-multi-seat-x-optional.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -529,6 +533,7 @@ cp %{SOURCE7} m4/ %patch78 -p1 %patch79 -p1 %patch80 -p1 +%patch81 -p1 # udev patches %patch1001 -p1 @@ -547,6 +552,7 @@ cp %{SOURCE7} m4/ %patch1012 -p1 %patch1013 -p1 %patch1014 -p1 +%patch1015 -p1 # ensure generate files are removed rm -f units/emergency.service From b0b87f93f190aeebb4f64f98afc17ced4f4b049b93c8cbad45379a9bd3bd6247 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 30 Dec 2013 09:44:59 +0000 Subject: [PATCH 167/991] Accepting request 212344 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/212344 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=172 --- 1011-check-4-valid-kmsg-device.patch | 72 +++++++++---------- ...XDG_RUNTIME_DIR_of_the_original_user.patch | 4 +- systemd-mini.spec | 3 + systemd.changes | 17 +++++ systemd.spec | 3 + 5 files changed, 57 insertions(+), 42 deletions(-) diff --git a/1011-check-4-valid-kmsg-device.patch b/1011-check-4-valid-kmsg-device.patch index ffb36937..6d57c357 100644 --- a/1011-check-4-valid-kmsg-device.patch +++ b/1011-check-4-valid-kmsg-device.patch @@ -6,65 +6,57 @@ Avoid a busy systemd-journald due polling a broken /dec/kmsg in lxc environments. --- - journald-kmsg.c | 27 ++++++++++++++++++++++++++- - 1 file changed, 26 insertions(+), 1 deletion(-) + journald-kmsg.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) Index: systemd-208/src/journal/journald-kmsg.c =================================================================== --- systemd-208/src/journal/journald-kmsg.c -+++ systemd-208/src/journal/journald-kmsg.c 2013-11-21 13:30:22.930735683 +0000 -@@ -23,7 +23,9 @@ - #include - #include - #include -+#include - #include -+#include - - #include - #include -@@ -377,20 +379,43 @@ int server_flush_dev_kmsg(Server *s) { ++++ systemd-208/src/journal/journald-kmsg.c 2013-12-20 11:34:39.762236175 +0000 +@@ -377,15 +377,18 @@ int server_flush_dev_kmsg(Server *s) { int server_open_dev_kmsg(Server *s) { struct epoll_event ev; -+ struct stat st; ++ int r; assert(s); s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); if (s->dev_kmsg_fd < 0) { - log_warning("Failed to open /dev/kmsg, ignoring: %m"); -+ /* Do not warn as it may not exists in LXC environments */ -+ if (errno != ENOENT) -+ log_warning("Failed to open /dev/kmsg, ignoring: %m"); ++ log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, ++ "Failed to open /dev/kmsg, ignoring: %m"); return 0; } -+ if (fstat(s->dev_kmsg_fd, &st) < 0) { -+ log_error("Failed to stat /dev/kmsg fd, ignoring: %m"); -+ close_nointr_nofail(s->dev_kmsg_fd); -+ s->dev_kmsg_fd = -1; -+ return 0; -+ } -+ -+ if (!S_ISCHR(st.st_mode) || major(st.st_rdev) != 1 || minor(st.st_rdev) != 11) { -+ int old_errno = errno; -+ errno = ENODEV; -+ log_warning("Irregular device /dev/kmsg, ignoring: %m"); -+ errno = old_errno; -+ close_nointr_nofail(s->dev_kmsg_fd); -+ s->dev_kmsg_fd = -1; -+ return 0; -+ } -+ ++ r = 0; zero(ev); ev.events = EPOLLIN; ev.data.fd = s->dev_kmsg_fd; - if (epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, s->dev_kmsg_fd, &ev) < 0) { - -+ close_nointr_nofail(s->dev_kmsg_fd); -+ s->dev_kmsg_fd = -1; -+ +@@ -394,15 +397,24 @@ int server_open_dev_kmsg(Server *s) { /* This will fail with EPERM on older kernels where * /dev/kmsg is not readable. */ if (errno == EPERM) +- return 0; ++ goto fail; + + log_error("Failed to add /dev/kmsg fd to epoll object: %m"); +- return -errno; ++ r = -errno; ++ goto fail; + } + + s->dev_kmsg_readable = true; + + return 0; ++ ++fail: ++ if (s->dev_kmsg_fd >= 0) { ++ close_nointr_nofail(s->dev_kmsg_fd); ++ s->dev_kmsg_fd = -1; ++ } ++ ++ return r; + } + + int server_open_kernel_seqnum(Server *s) { diff --git a/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch index 59d166ae..bdf9383b 100644 --- a/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ b/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -157,12 +157,12 @@ Based on upstream baae0358f349870544884e405e82e4be7d8add9f + pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); + goto finish; + } -+ } else { -+ (void) unsetenv("XDG_RUNTIME_DIR"); ++ } else if (getenv("XDG_RUNTIME_DIR")) { + r = pam_putenv(handle, "XDG_RUNTIME_DIR"); + if (r != PAM_SUCCESS && r != PAM_BAD_ITEM) { + pam_syslog(handle, LOG_ERR, "Failed to unset runtime dir."); + } ++ (void) unsetenv("XDG_RUNTIME_DIR"); } if (!isempty(seat)) { diff --git a/systemd-mini.spec b/systemd-mini.spec index 8f21effa..cdf81be0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -588,6 +588,9 @@ export V=1 --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ +%if 0%{?suse_version} > 1310 + --disable-multi-seat-x \ +%endif CFLAGS="%{optflags}" make %{?_smp_mflags} diff --git a/systemd.changes b/systemd.changes index 686eb749..a9766b37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de + +- Adapt patch + 1011-check-4-valid-kmsg-device.patch + to fit current upstream version maybe related to bnc#854884 +- Change patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() + may fix bnc#855160 + +------------------------------------------------------------------- +Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com + +- Disable multi-seat-x build, since package xorg-x11-server + currently in Factory no longer needs it. + ------------------------------------------------------------------- Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com diff --git a/systemd.spec b/systemd.spec index 48dbb6c1..c66ec723 100644 --- a/systemd.spec +++ b/systemd.spec @@ -583,6 +583,9 @@ export V=1 --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ +%if 0%{?suse_version} > 1310 + --disable-multi-seat-x \ +%endif CFLAGS="%{optflags}" make %{?_smp_mflags} From 8f6010ffdf7a3b88dbce088cf73f59f4b8c82d09497fcf35ffa6a9209a6b8c29 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 31 Jan 2014 12:36:06 +0000 Subject: [PATCH 168/991] Accepting request 215598 from Base:System - Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch to skip already by the kernel managed devices - fix timeout stopping user@.service (bnc#841544) * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch to be able to detect if the sysctl reboot() returns. - Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch A check for unmaintained disk like devices is added to be able to flush and maybe shut them down. Also the missing sync() system call is added for the direct halt/reboot systemctl command. Then the system halt is used as fallback if poweroff fails for both the direct poweroff systemctl command as well as for the systemd-shutdown utility. - Make systemd-mini build - Make requires bash-completion a recommends - Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch to avoid that enabled boot scripts will be handled as unit files by systemctl status command (bnc#818044) - Drop patch 1017-enforce-sufficient-shutdown-warnings.patch as the original code behaves exactly as the shutdown code of the old SysVinit (bnc#750845) - Rename support-powerfail-with-powerstatus.patch to OBS-URL: https://build.opensuse.org/request/show/215598 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=173 --- ...sh-for-reboot-or-hddown-for-poweroff.patch | 537 ++++++++++++++++++ ...ew-KillMode-mixed-which-sends-SIGTER.patch | 225 ++++++++ ...ailureIsolate-setting-by-a-more-gene.patch | 329 +++++++++++ ...systemctl-halt-reboot-error-handling.patch | 85 +++ ...llMode-mixed-in-conjunction-with-PAM.patch | 62 ++ ...o-always-go-through-both-SIGTERM-and.patch | 128 +++++ 1016-support-powerfail-with-powerstatus.patch | 90 +++ ...nit-handling-if-sysv-already-handled.patch | 20 + ...ripts-know-about-Required-and-Should.patch | 51 ++ ...pletion-smart-to-be-able-to-redirect.patch | 236 ++++++++ ...ze-fix-crash-in-command-line-parsing.patch | 35 ++ macros.systemd | 14 + ....service-conflict-with-syslog.socket.patch | 22 + systemd-mini.changes | 148 +++++ systemd-mini.spec | 64 ++- systemd-powerfail | 28 + systemd-rpm-macros.spec | 2 +- systemd.changes | 115 ++++ systemd.spec | 64 ++- 19 files changed, 2252 insertions(+), 3 deletions(-) create mode 100644 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch create mode 100644 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch create mode 100644 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch create mode 100644 0001-upstream-systemctl-halt-reboot-error-handling.patch create mode 100644 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch create mode 100644 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch create mode 100644 1016-support-powerfail-with-powerstatus.patch create mode 100644 1017-skip-native-unit-handling-if-sysv-already-handled.patch create mode 100644 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch create mode 100644 1019-make-completion-smart-to-be-able-to-redirect.patch create mode 100644 analyze-fix-crash-in-command-line-parsing.patch create mode 100644 make-emergency.service-conflict-with-syslog.socket.patch create mode 100644 systemd-powerfail diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch new file mode 100644 index 00000000..2d48b38a --- /dev/null +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -0,0 +1,537 @@ +This seems to be a SUSE specific patch. Here we add the check for unmaintained +disk like devices to be able to flush and maybe shut them down. Also we add the +missing sync() system call for the direct halt/reboot systemctl command. Then we +use the system halt as gfallback if poweroff fails for both the direct poweroff +systemctl command as well as for the systemd-shutdown utility. + +--- + Makefile.am | 2 + Makefile.in | 7 + src/core/shutdown.c | 8 - + src/shared/hdflush.c | 365 ++++++++++++++++++++++++++++++++++++++++++++++ + src/shared/hdflush.h | 25 +++ + src/systemctl/systemctl.c | 17 +- + 6 files changed, 416 insertions(+), 8 deletions(-) + +--- systemd-208/Makefile.am ++++ systemd-208/Makefile.am 2014-01-28 11:06:55.638238060 +0000 +@@ -680,6 +680,8 @@ libsystemd_shared_la_SOURCES = \ + src/shared/strbuf.h \ + src/shared/strxcpyx.c \ + src/shared/strxcpyx.h \ ++ src/shared/hdflush.c \ ++ src/shared/hdflush.h \ + src/shared/conf-parser.c \ + src/shared/conf-parser.h \ + src/shared/log.c \ +--- systemd-208/Makefile.in ++++ systemd-208/Makefile.in 2014-01-28 11:06:33.942246196 +0000 +@@ -1509,7 +1509,7 @@ am_libsystemd_shared_la_OBJECTS = src/sh + src/shared/hashmap.lo src/shared/set.lo src/shared/fdset.lo \ + src/shared/prioq.lo src/shared/sleep-config.lo \ + src/shared/strv.lo src/shared/env-util.lo src/shared/strbuf.lo \ +- src/shared/strxcpyx.lo src/shared/conf-parser.lo \ ++ src/shared/strxcpyx.lo src/shared/hdflush.lo src/shared/conf-parser.lo \ + src/shared/log.lo src/shared/ratelimit.lo \ + src/shared/exit-status.lo src/shared/utf8.lo \ + src/shared/pager.lo src/shared/socket-util.lo \ +@@ -4137,6 +4137,8 @@ libsystemd_shared_la_SOURCES = \ + src/shared/strbuf.h \ + src/shared/strxcpyx.c \ + src/shared/strxcpyx.h \ ++ src/shared/hdflush.c \ ++ src/shared/hdflush.h \ + src/shared/conf-parser.c \ + src/shared/conf-parser.h \ + src/shared/log.c \ +@@ -7073,6 +7075,8 @@ src/shared/strbuf.lo: src/shared/$(am__d + src/shared/$(DEPDIR)/$(am__dirstamp) + src/shared/strxcpyx.lo: src/shared/$(am__dirstamp) \ + src/shared/$(DEPDIR)/$(am__dirstamp) ++src/shared/hdflush.lo: src/shared/$(am__dirstamp) \ ++ src/shared/$(DEPDIR)/$(am__dirstamp) + src/shared/conf-parser.lo: src/shared/$(am__dirstamp) \ + src/shared/$(DEPDIR)/$(am__dirstamp) + src/shared/log.lo: src/shared/$(am__dirstamp) \ +@@ -9236,6 +9240,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strbuf.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strv.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strxcpyx.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/hdflush.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/time-dst.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/time-util.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/unit-name.Plo@am__quote@ +--- systemd-208/src/shared/hdflush.c ++++ systemd-208/src/shared/hdflush.c 2014-01-28 10:58:56.490735704 +0000 +@@ -0,0 +1,365 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2014 Werner Fink ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++/* ++ * Find all disks on the system, list out IDE, unmanaged ATA disks, and ++ * USB sticks flush the cache of those and optional shut them down. ++ */ ++ ++#include ++#include ++#ifdef LIST_DEBUG ++# include ++#endif ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#ifdef WORDS_BIGENDIAN ++# include ++#endif ++ ++/* Used in flush_cache_ext(), compare with */ ++#define IDBYTES 512 ++#define MASK_EXT 0xE000 /* Bit 15 shall be zero, bit 14 shall be one, bit 13 flush cache ext */ ++#define TEST_EXT 0x6000 ++ ++/* Maybe set in list_disks() and used in do_standby_disk() */ ++#define DISK_IS_IDE 0x00000001 ++#define DISK_IS_SATA 0x00000002 ++#define DISK_EXTFLUSH 0x00000004 ++#define DISK_REMOVABLE 0x00000008 ++#define DISK_MANAGED 0x00000010 ++#define DISK_FLUSHONLY 0x00000020 ++ ++struct sysfs { ++ struct udev *udev; ++ struct udev_enumerate *num; ++ struct udev_list_entry *item; ++ char *devnode; ++ size_t size; ++}; ++ ++static int flush_cache_ext(const struct sysfs *sysfs); ++ ++static struct sysfs * open_sysfs(void) ++{ ++ static struct sysfs sysfs; ++ sysfs.udev = udev_new(); ++ if (!sysfs.udev) ++ goto err; ++ sysfs.num = udev_enumerate_new(sysfs.udev); ++ if (!sysfs.num) ++ goto err; ++ if (udev_enumerate_add_match_subsystem(sysfs.num, "block") < 0) ++ goto err; ++ if (udev_enumerate_add_match_sysname(sysfs.num, "sd?") < 0) ++ goto err; ++ if (udev_enumerate_add_match_sysname(sysfs.num, "hd?") < 0) ++ goto err; ++ if (udev_enumerate_scan_devices(sysfs.num) < 0) ++ goto err; ++ sysfs.item = udev_enumerate_get_list_entry(sysfs.num); ++ sysfs.devnode = NULL; ++ sysfs.size = 0; ++ return &sysfs; ++err: ++ if (sysfs.num) ++ udev_unref(sysfs.udev); ++ if (sysfs.udev) ++ udev_unref(sysfs.udev); ++ return NULL; ++} ++ ++static void close_sysfs(struct sysfs *sysfs) ++{ ++ if (sysfs->num) ++ udev_enumerate_unref(sysfs->num); ++ if (sysfs->udev) ++ udev_unref(sysfs->udev); ++ if (sysfs->devnode) ++ free(sysfs->devnode); ++ sysfs->devnode = NULL; ++} ++ ++ ++static char *list_disks(struct sysfs *sysfs, unsigned int* flags) ++{ ++ struct udev_device *device, *parent; ++ struct udev_list_entry *item; ++ const char *devnode; ++ char path[PATH_MAX]; ++ ++ device = NULL; ++next: ++ if (device) ++ udev_device_unref(device); ++ if (sysfs->devnode) ++ free(sysfs->devnode); ++ sysfs->devnode = NULL; ++ sysfs->size = 0; ++ *flags = 0; ++ ++ if (!sysfs->item) ++ goto empty; ++ item = sysfs->item; ++ sysfs->item = udev_list_entry_get_next(sysfs->item); ++ ++ if (!(device = udev_device_new_from_syspath(sysfs->udev, udev_list_entry_get_name(item)))) ++ goto out; ++ if (!(devnode = udev_device_get_devnode(device))) ++ goto out; ++ if (!(sysfs->devnode = strdup(devnode))) ++ goto out; ++ ++ path[0] = '\0'; ++ parent = udev_device_get_parent(device); ++ if (parent) { ++ const char *sysname, *devpath; ++ struct udev_device *disk; ++ const char *value; ++ int ret; ++ ++ sysname = udev_device_get_sysname(parent); ++ devpath = udev_device_get_devpath(parent); ++ ++ strcpy(path, "/sys"); ++ strcat(path, devpath); ++ strcat(path, "/scsi_disk/"); ++ strcat(path, sysname); ++ ++ disk = udev_device_new_from_syspath(sysfs->udev, path); ++ if (disk) { ++ value = udev_device_get_sysattr_value(disk, "manage_start_stop"); ++ udev_device_unref(disk); ++ ++ if (value && *value != '0') { ++ *flags = DISK_MANAGED; ++#ifndef LIST_DEBUG ++ goto next; /* Device managed by the kernel */ ++#endif ++ } ++ } ++ ++ value = udev_device_get_sysattr_value(device, "size"); ++ if (value && *value) ++ sysfs->size = (size_t)atoll(value); ++ ++ value = udev_device_get_sysattr_value(device, "removable"); ++ if (value && *value != '0') { ++ *flags |= DISK_REMOVABLE; ++ ++ if ((ret = flush_cache_ext(sysfs))) { ++ if (ret < 0) ++ goto next; ++ *flags |= DISK_EXTFLUSH; ++ } ++ goto out; /* Removable disk like USB stick */ ++ } ++ ++ value = udev_device_get_sysname(device); ++ if (value && *value == 'h') { ++ *flags |= DISK_IS_IDE; ++ ++ if ((ret = flush_cache_ext(sysfs))) { ++ if (ret < 0) ++ goto next; ++ *flags |= DISK_EXTFLUSH; ++ } ++ goto out; /* IDE disk found */ ++ } ++ ++ value = udev_device_get_sysattr_value(parent, "vendor"); ++ if (value && strncmp(value, "ATA", 3) == 0) { ++ *flags |= (DISK_IS_IDE|DISK_IS_SATA); ++ ++ if ((ret = flush_cache_ext(sysfs))) { ++ if (ret < 0) ++ goto next; ++ *flags |= DISK_EXTFLUSH; ++ } ++ goto out; /* SATA disk to shutdown */ ++ } ++ goto next; ++ } ++out: ++ udev_device_unref(device); ++empty: ++ return sysfs->devnode; ++} ++#ifndef LIST_DEBUG ++/* ++ * Check IDE/(S)ATA hard disk identity for ++ * the FLUSH CACHE EXT bit set. ++ */ ++static int flush_cache_ext(const struct sysfs *sysfs) ++{ ++#ifndef WIN_IDENTIFY ++#define WIN_IDENTIFY 0xEC ++#endif ++ unsigned char args[4+IDBYTES]; ++ unsigned short *id = (unsigned short*)(&args[4]); ++ int fd = -1, ret = 0; ++ ++ if (sysfs->size < (1<<28)) ++ goto out; /* small disk */ ++ ++ if ((fd = open(sysfs->devnode, O_RDONLY|O_NONBLOCK|O_CLOEXEC)) < 0) ++ goto out; ++ ++ memset(&args[0], 0, sizeof(args)); ++ args[0] = WIN_IDENTIFY; ++ args[3] = 1; ++ if (ioctl(fd, HDIO_DRIVE_CMD, &args)) ++ goto out; ++#ifdef WORDS_BIGENDIAN ++# if 0 ++ { ++ const unsigned short *end = id + IDBYTES/2; ++ const unsigned short *from = id; ++ unsigned short *to = id; ++ ++ while (from < end) ++ *to++ = bswap_16(*from++); ++ } ++# else ++ id[83] = bswap_16(id[83]); ++# endif ++#endif ++ if ((id[83] & MASK_EXT) == TEST_EXT) ++ ret = 1; ++out: ++ if (fd >= 0) ++ close(fd); ++ return ret; ++} ++ ++/* ++ * Put an IDE/SCSI/SATA disk in standby mode. ++ * Code stolen from hdparm.c ++ */ ++static int do_standby_disk(struct sysfs *sysfs, unsigned int flags) ++{ ++#ifndef WIN_STANDBYNOW1 ++#define WIN_STANDBYNOW1 0xE0 ++#endif ++#ifndef WIN_STANDBYNOW2 ++#define WIN_STANDBYNOW2 0x94 ++#endif ++#ifndef WIN_FLUSH_CACHE_EXT ++#define WIN_FLUSH_CACHE_EXT 0xEA ++#endif ++#ifndef WIN_FLUSH_CACHE ++#define WIN_FLUSH_CACHE 0xE7 ++#endif ++ unsigned char flush1[4] = {WIN_FLUSH_CACHE_EXT,0,0,0}; ++ unsigned char flush2[4] = {WIN_FLUSH_CACHE,0,0,0}; ++ unsigned char stdby1[4] = {WIN_STANDBYNOW1,0,0,0}; ++ unsigned char stdby2[4] = {WIN_STANDBYNOW2,0,0,0}; ++ int fd, ret; ++ ++ if ((fd = open(sysfs->devnode, O_RDWR|O_NONBLOCK|O_CLOEXEC)) < 0) ++ return -1; ++ ++ switch (flags & DISK_EXTFLUSH) { ++ case DISK_EXTFLUSH: ++ if ((ret = ioctl(fd, HDIO_DRIVE_CMD, &flush1)) == 0) ++ break; ++ /* Extend flush rejected, try standard flush */ ++ default: ++ ret = ioctl(fd, HDIO_DRIVE_CMD, &flush2) && ++ ioctl(fd, BLKFLSBUF); ++ break; ++ } ++ ++ if ((flags & DISK_FLUSHONLY) == 0x0) { ++ ret = ioctl(fd, HDIO_DRIVE_CMD, &stdby1) && ++ ioctl(fd, HDIO_DRIVE_CMD, &stdby2); ++ } ++ ++ close(fd); ++ ++ if (ret) ++ return -1; ++ return 0; ++} ++#endif ++#ifdef LIST_DEBUG ++int main() ++{ ++ char *disk; ++ unsigned int flags; ++ struct sysfs *sysfs = open_sysfs(); ++ if (!sysfs) ++ goto err; ++ while ((disk = list_disks(sysfs, &flags))) ++ fprintf(stdout, "%s\n", sysfs->devnode); ++ close_sysfs(sysfs); ++err: ++ return 0; ++} ++#else ++/* ++ * List all disks and put them in standby mode. ++ * This has the side-effect of flushing the writecache, ++ * which is exactly what we want on poweroff. ++ */ ++void hddown(void) ++{ ++ struct sysfs *sysfs; ++ unsigned int flags; ++ char *disk; ++ ++ if (!(sysfs = open_sysfs())) ++ return; ++ ++ while ((disk = list_disks(sysfs, &flags))) ++ do_standby_disk(sysfs, flags); ++ ++ close_sysfs(sysfs); ++} ++ ++/* ++ * List all disks and cause them to flush their buffers. ++ */ ++void hdflush(void) ++{ ++ struct sysfs *sysfs; ++ unsigned int flags; ++ char *disk; ++ ++ if (!(sysfs = open_sysfs())) ++ return; ++ ++ while ((disk = list_disks(sysfs, &flags))) ++ do_standby_disk(sysfs, (flags|DISK_FLUSHONLY)); ++ ++ close_sysfs(sysfs); ++} ++#endif +--- systemd-208/src/shared/hdflush.h ++++ systemd-208/src/shared/hdflush.h 2014-01-28 11:00:08.286235696 +0000 +@@ -0,0 +1,25 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++#pragma once ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2014 Werner Fink ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++void hdflush(void); ++void hddown(void); +--- systemd-208/src/core/shutdown.c ++++ systemd-208/src/core/shutdown.c 2014-01-28 11:14:15.722235591 +0000 +@@ -40,6 +40,7 @@ + #include "missing.h" + #include "log.h" + #include "fileio.h" ++#include "hdflush.h" + #include "umount.h" + #include "util.h" + #include "mkdir.h" +@@ -302,8 +303,13 @@ int main(int argc, char *argv[]) { + * on reboot(), but the file systems need to be synce'd + * explicitly in advance. So let's do this here, but not + * needlessly slow down containers. */ +- if (!in_container) ++ if (!in_container) { + sync(); ++ if (cmd == RB_POWER_OFF || cmd == RB_HALT_SYSTEM) ++ hddown(); ++ else ++ hdflush(); ++ } + + if (cmd == LINUX_REBOOT_CMD_KEXEC) { + +--- systemd-208/src/systemctl/systemctl.c ++++ systemd-208/src/systemctl/systemctl.c 2014-01-28 11:31:27.150735613 +0000 +@@ -87,6 +87,7 @@ static bool arg_no_pager = false; + static bool arg_no_wtmp = false; + static bool arg_no_wall = false; + static bool arg_no_reload = false; ++static bool arg_no_sync = false; + static bool arg_show_types = false; + static bool arg_ignore_inhibitors = false; + static bool arg_dry = false; +@@ -5272,6 +5273,7 @@ static int halt_parse_argv(int argc, cha + { "reboot", no_argument, NULL, ARG_REBOOT }, + { "force", no_argument, NULL, 'f' }, + { "wtmp-only", no_argument, NULL, 'w' }, ++ { "no-sync", no_argument, NULL, 'n' }, + { "no-wtmp", no_argument, NULL, 'd' }, + { "no-wall", no_argument, NULL, ARG_NO_WALL }, + { NULL, 0, NULL, 0 } +@@ -5324,10 +5326,13 @@ static int halt_parse_argv(int argc, cha + + case 'i': + case 'h': +- case 'n': + /* Compatibility nops */ + break; + ++ case 'n': ++ arg_no_sync = true; ++ break; ++ + case '?': + return -EINVAL; + +@@ -5981,14 +5986,14 @@ static int halt_now(enum action a) { + + switch (a) { + +- case ACTION_HALT: +- log_info("Halting."); +- reboot(RB_HALT_SYSTEM); +- return -errno; +- + case ACTION_POWEROFF: + log_info("Powering off."); + reboot(RB_POWER_OFF); ++ /* Fall through */ ++ ++ case ACTION_HALT: ++ log_info("Halting."); ++ reboot(RB_HALT_SYSTEM); + return -errno; + + case ACTION_REBOOT: diff --git a/0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch b/0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch new file mode 100644 index 00000000..37291988 --- /dev/null +++ b/0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch @@ -0,0 +1,225 @@ +From 6fa7e1a944a2dbb89e794ad0f9da5d0fda5dc4a9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 29 Jan 2014 13:38:55 +0100 +Subject: [PATCH 1/3] core: introduce new KillMode=mixed which sends SIGTERM + only to the main process, but SIGKILL to all daemon processes + +This should fix some race with terminating systemd --user, where the +system systemd instance might race against the user systemd instance +when sending SIGTERM. +--- + man/systemd.kill.xml | 77 +++++++++++++++++++++++++++++++++----------------- + src/core/kill.c | 1 + + src/core/kill.h | 1 + + src/core/unit.c | 3 +- + units/user@.service.in | 1 + + 5 files changed, 56 insertions(+), 27 deletions(-) + +diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml +index 1b10fba..a4009aa 100644 +--- a/man/systemd.kill.xml ++++ b/man/systemd.kill.xml +@@ -44,39 +44,44 @@ + + + systemd.kill +- Kill environment configuration ++ Process killing procedure ++ configuration + + + + service.service, + socket.socket, + mount.mount, +- swap.swap ++ swap.swap, ++ scope.scope + + + + Description + + Unit configuration files for services, sockets, +- mount points and swap devices share a subset of +- configuration options which define the process killing +- parameters of spawned processes. ++ mount points, swap devices and scopes share a subset ++ of configuration options which define the ++ killing procedure of processes belonging to the unit. + + This man page lists the configuration options +- shared by these four unit types. See ++ shared by these five unit types. See + systemd.unit5 +- for the common options of all unit configuration +- files, and ++ for the common options shared by all unit ++ configuration files, and + systemd.service5, + systemd.socket5, +- systemd.swap5 +- and ++ systemd.swap5, + systemd.mount5 +- for more information on the specific unit +- configuration files. The execution specific ++ and ++ systemd.scope5 ++ for more information on the configuration file options ++ specific to each unit type. ++ ++ The kill procedure + configuration options are configured in the [Service], +- [Socket], [Mount], or [Swap] section, depending on the unit +- type. ++ [Socket], [Mount] or [Swap] section, depending on the ++ unit type. + + + +@@ -87,32 +92,40 @@ + + KillMode= + Specifies how +- processes of this service shall be ++ processes of this unit shall be + killed. One of + , + , ++ , + . + + If set to + , all + remaining processes in the control +- group of this unit will be terminated +- on unit stop (for services: after the ++ group of this unit will be killed on ++ unit stop (for services: after the + stop command is executed, as + configured with + ExecStop=). If set + to , only the + main process itself is killed. If set +- to , no process is ++ to the ++ SIGTERM signal ++ (see below) is sent to the main ++ process while the subsequent ++ SIGKILL signal ++ (see below) is sent to all remaining ++ processes of the unit's control ++ group. If set to ++ , no process is + killed. In this case only the stop +- command will be executed on unit +- stop, but no process be killed ++ command will be executed on unit stop, ++ but no process be killed + otherwise. Processes remaining alive + after stop are left in their control + group and the control group continues + to exist after stop unless it is +- empty. Defaults to +- . ++ empty. + + Processes will first be + terminated via +@@ -133,14 +146,24 @@ + option). See + kill2 + for more +- information. ++ information. ++ ++ Defaults to ++ . + + + + KillSignal= + Specifies which signal +- to use when killing a +- service. Defaults to SIGTERM. ++ to use when killing a service. This ++ controls the signal that is sent as ++ first step of shutting down a unit ++ (see above), and is usually followed ++ by SIGKILL (see ++ above and below). For a list of valid ++ signals, see ++ signal7. Defaults ++ to SIGTERM. + + + +@@ -184,7 +207,9 @@ + systemd.swap5, + systemd.mount5, + systemd.exec5, +- systemd.directives7 ++ systemd.directives7, ++ kill2, ++ signal7 + + + +diff --git a/src/core/kill.c b/src/core/kill.c +index ea947c2..4271346 100644 +--- a/src/core/kill.c ++++ b/src/core/kill.c +@@ -52,6 +52,7 @@ void kill_context_dump(KillContext *c, FILE *f, const char *prefix) { + static const char* const kill_mode_table[_KILL_MODE_MAX] = { + [KILL_CONTROL_GROUP] = "control-group", + [KILL_PROCESS] = "process", ++ [KILL_MIXED] = "mixed", + [KILL_NONE] = "none" + }; + +diff --git a/src/core/kill.h b/src/core/kill.h +index 41773f0..d5f125f 100644 +--- a/src/core/kill.h ++++ b/src/core/kill.h +@@ -32,6 +32,7 @@ typedef enum KillMode { + /* The kill mode is a property of a unit. */ + KILL_CONTROL_GROUP = 0, + KILL_PROCESS, ++ KILL_MIXED, + KILL_NONE, + _KILL_MODE_MAX, + _KILL_MODE_INVALID = -1 +diff --git a/src/core/unit.c b/src/core/unit.c +index 4b97710..0b10e57 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -3007,7 +3007,7 @@ int unit_kill_context( + } + } + +- if (c->kill_mode == KILL_CONTROL_GROUP && u->cgroup_path) { ++ if ((c->kill_mode == KILL_CONTROL_GROUP || (c->kill_mode == KILL_MIXED && sigkill)) && u->cgroup_path) { + _cleanup_set_free_ Set *pid_set = NULL; + + /* Exclude the main/control pids from being killed via the cgroup */ +@@ -3021,6 +3021,7 @@ int unit_kill_context( + log_warning_unit(u->id, "Failed to kill control group: %s", strerror(-r)); + } else if (r > 0) { + wait_for_exit = true; ++ + if (c->send_sighup) { + set_free(pid_set); + +diff --git a/units/user@.service.in b/units/user@.service.in +index 3718a57..3bb8696 100644 +--- a/units/user@.service.in ++++ b/units/user@.service.in +@@ -17,3 +17,4 @@ Environment=SHELL=%s + ExecStart=-@rootlibexecdir@/systemd --user + Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%I/dbus/user_bus_socket + Slice=user-%i.slice ++KillMode=mixed +-- +1.8.4 + diff --git a/0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch b/0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch new file mode 100644 index 00000000..40479ead --- /dev/null +++ b/0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch @@ -0,0 +1,329 @@ +From d420282b28f50720e233ccb1c02547c562195653 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 26 Nov 2013 01:39:53 +0100 +Subject: [PATCH] core: replace OnFailureIsolate= setting by a more generic + OnFailureJobMode= setting and make use of it where applicable + +--- + man/systemd.unit.xml | 40 +++++++++++++++++++++++++---------- + src/core/dbus-unit.c | 3 ++- + src/core/job.h | 3 +-- + src/core/load-fragment-gperf.gperf.m4 | 3 ++- + src/core/load-fragment.c | 31 +++++++++++++++++++++++++++ + src/core/load-fragment.h | 2 ++ + src/core/unit.c | 11 +++++----- + src/core/unit.h | 4 ++-- + units/initrd-cleanup.service.in | 1 + + units/initrd-fs.target | 2 +- + units/initrd-parse-etc.service.in | 1 + + units/initrd-root-fs.target | 2 +- + units/initrd-switch-root.service.in | 1 + + units/initrd.target | 2 +- + units/local-fs.target | 2 +- + 15 files changed, 82 insertions(+), 26 deletions(-) + +Index: systemd-208/man/systemd.unit.xml +=================================================================== +--- systemd-208.orig/man/systemd.unit.xml ++++ systemd-208/man/systemd.unit.xml +@@ -669,19 +669,37 @@ + + + +- OnFailureIsolate= ++ OnFailureJobMode= + +- Takes a boolean +- argument. If , the +- unit listed in ++ Takes a value of ++ fail, ++ replace, ++ replace-irreversibly ++ or ++ isolate. Defaults ++ to ++ replace. Specifies ++ how the units listed in + OnFailure= will be +- enqueued in isolation mode, i.e. all +- units that are not its dependency will +- be stopped. If this is set, only a ++ enqueued. If set to ++ fail and ++ contradicting jobs are already queued, ++ cause the activation to fail. If set ++ to replace and ++ contradicting jobs area already ++ queued, replace ++ those. replace-irreversibly ++ is similar to ++ replace, however, ++ creates jobs that cannot be reversed ++ unless they finished or are explicitly ++ canceled. isolate ++ may be used to terminate all other ++ units but the specified one. If ++ this is set to ++ isolate, only a + single unit may be listed in +- OnFailure=. Defaults +- to +- . ++ OnFailure=.. + + + +Index: systemd-208/src/core/dbus-unit.c +=================================================================== +--- systemd-208.orig/src/core/dbus-unit.c ++++ systemd-208/src/core/dbus-unit.c +@@ -133,6 +133,7 @@ static int bus_unit_append_description(D + } + + static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_unit_append_load_state, unit_load_state, UnitLoadState); ++static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_unit_append_job_mode, job_mode, JobMode); + + static int bus_unit_append_active_state(DBusMessageIter *i, const char *property, void *data) { + Unit *u = data; +@@ -1079,7 +1080,7 @@ const BusProperty bus_unit_properties[] + { "RefuseManualStop", bus_property_append_bool, "b", offsetof(Unit, refuse_manual_stop) }, + { "AllowIsolate", bus_property_append_bool, "b", offsetof(Unit, allow_isolate) }, + { "DefaultDependencies", bus_property_append_bool, "b", offsetof(Unit, default_dependencies) }, +- { "OnFailureIsolate", bus_property_append_bool, "b", offsetof(Unit, on_failure_isolate) }, ++ { "OnFailureJobMode", bus_unit_append_job_mode, "s", offsetof(Unit, on_failure_job_mode) }, + { "IgnoreOnIsolate", bus_property_append_bool, "b", offsetof(Unit, ignore_on_isolate) }, + { "IgnoreOnSnapshot", bus_property_append_bool, "b", offsetof(Unit, ignore_on_snapshot) }, + { "NeedDaemonReload", bus_unit_append_need_daemon_reload, "b", 0 }, +Index: systemd-208/src/core/job.h +=================================================================== +--- systemd-208.orig/src/core/job.h ++++ systemd-208/src/core/job.h +@@ -83,7 +83,7 @@ enum JobState { + enum JobMode { + JOB_FAIL, /* Fail if a conflicting job is already queued */ + JOB_REPLACE, /* Replace an existing conflicting job */ +- JOB_REPLACE_IRREVERSIBLY, /* Like JOB_REPLACE + produce irreversible jobs */ ++ JOB_REPLACE_IRREVERSIBLY,/* Like JOB_REPLACE + produce irreversible jobs */ + JOB_ISOLATE, /* Start a unit, and stop all others */ + JOB_IGNORE_DEPENDENCIES, /* Ignore both requirement and ordering dependencies */ + JOB_IGNORE_REQUIREMENTS, /* Ignore requirement dependencies */ +Index: systemd-208/src/core/load-fragment-gperf.gperf.m4 +=================================================================== +--- systemd-208.orig/src/core/load-fragment-gperf.gperf.m4 ++++ systemd-208/src/core/load-fragment-gperf.gperf.m4 +@@ -122,7 +122,8 @@ Unit.RefuseManualStart, config_ + Unit.RefuseManualStop, config_parse_bool, 0, offsetof(Unit, refuse_manual_stop) + Unit.AllowIsolate, config_parse_bool, 0, offsetof(Unit, allow_isolate) + Unit.DefaultDependencies, config_parse_bool, 0, offsetof(Unit, default_dependencies) +-Unit.OnFailureIsolate, config_parse_bool, 0, offsetof(Unit, on_failure_isolate) ++Unit.OnFailureJobMode, config_parse_job_mode, 0, offsetof(Unit, on_failure_job_mode) ++Unit.OnFailureIsolate, config_parse_job_mode_isolate, 0, offsetof(Unit, on_failure_job_mode) + Unit.IgnoreOnIsolate, config_parse_bool, 0, offsetof(Unit, ignore_on_isolate) + Unit.IgnoreOnSnapshot, config_parse_bool, 0, offsetof(Unit, ignore_on_snapshot) + Unit.JobTimeoutSec, config_parse_sec, 0, offsetof(Unit, job_timeout) +Index: systemd-208/src/core/load-fragment.c +=================================================================== +--- systemd-208.orig/src/core/load-fragment.c ++++ systemd-208/src/core/load-fragment.c +@@ -2314,6 +2314,36 @@ int config_parse_blockio_bandwidth( + return 0; + } + ++DEFINE_CONFIG_PARSE_ENUM(config_parse_job_mode, job_mode, JobMode, "Failed to parse job mode"); ++ ++int config_parse_job_mode_isolate( ++ const char *unit, ++ const char *filename, ++ unsigned line, ++ const char *section, ++ const char *lvalue, ++ int ltype, ++ const char *rvalue, ++ void *data, ++ void *userdata) { ++ ++ JobMode *m = data; ++ int r; ++ ++ assert(filename); ++ assert(lvalue); ++ assert(rvalue); ++ ++ r = parse_boolean(rvalue); ++ if (r < 0) { ++ log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Failed to parse boolean, ignoring: %s", rvalue); ++ return 0; ++ } ++ ++ *m = r ? JOB_ISOLATE : JOB_REPLACE; ++ return 0; ++} ++ + #define FOLLOW_MAX 8 + + static int open_follow(char **filename, FILE **_f, Set *names, char **_final) { +Index: systemd-208/src/core/load-fragment.h +=================================================================== +--- systemd-208.orig/src/core/load-fragment.h ++++ systemd-208/src/core/load-fragment.h +@@ -83,6 +83,8 @@ int config_parse_device_allow(const char + int config_parse_blockio_weight(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + int config_parse_blockio_device_weight(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + int config_parse_blockio_bandwidth(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); ++int config_parse_job_mode(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); ++int config_parse_job_mode_isolate(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + + /* gperf prototypes */ + const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length); +Index: systemd-208/src/core/unit.c +=================================================================== +--- systemd-208.orig/src/core/unit.c ++++ systemd-208/src/core/unit.c +@@ -85,6 +85,7 @@ Unit *unit_new(Manager *m, size_t size) + u->deserialized_job = _JOB_TYPE_INVALID; + u->default_dependencies = true; + u->unit_file_state = _UNIT_FILE_STATE_INVALID; ++ u->on_failure_job_mode = JOB_REPLACE; + + return u; + } +@@ -807,14 +808,14 @@ void unit_dump(Unit *u, FILE *f, const c + "%s\tRefuseManualStart: %s\n" + "%s\tRefuseManualStop: %s\n" + "%s\tDefaultDependencies: %s\n" +- "%s\tOnFailureIsolate: %s\n" ++ "%s\tOnFailureJobMode: %s\n" + "%s\tIgnoreOnIsolate: %s\n" + "%s\tIgnoreOnSnapshot: %s\n", + prefix, yes_no(u->stop_when_unneeded), + prefix, yes_no(u->refuse_manual_start), + prefix, yes_no(u->refuse_manual_stop), + prefix, yes_no(u->default_dependencies), +- prefix, yes_no(u->on_failure_isolate), ++ prefix, job_mode_to_string(u->on_failure_job_mode), + prefix, yes_no(u->ignore_on_isolate), + prefix, yes_no(u->ignore_on_snapshot)); + +@@ -985,11 +986,11 @@ int unit_load(Unit *u) { + if (r < 0) + goto fail; + +- if (u->on_failure_isolate && ++ if (u->on_failure_job_mode == JOB_ISOLATE && + set_size(u->dependencies[UNIT_ON_FAILURE]) > 1) { + + log_error_unit(u->id, +- "More than one OnFailure= dependencies specified for %s but OnFailureIsolate= enabled. Refusing.", u->id); ++ "More than one OnFailure= dependencies specified for %s but OnFailureJobMode=isolate set. Refusing.", u->id); + + r = -EINVAL; + goto fail; +@@ -1394,7 +1395,7 @@ void unit_start_on_failure(Unit *u) { + SET_FOREACH(other, u->dependencies[UNIT_ON_FAILURE], i) { + int r; + +- r = manager_add_job(u->manager, JOB_START, other, u->on_failure_isolate ? JOB_ISOLATE : JOB_REPLACE, true, NULL, NULL); ++ r = manager_add_job(u->manager, JOB_START, other, u->on_failure_job_mode, true, NULL, NULL); + if (r < 0) + log_error_unit(u->id, "Failed to enqueue OnFailure= job: %s", strerror(-r)); + } +Index: systemd-208/src/core/unit.h +=================================================================== +--- systemd-208.orig/src/core/unit.h ++++ systemd-208/src/core/unit.h +@@ -228,8 +228,8 @@ struct Unit { + /* Allow isolation requests */ + bool allow_isolate; + +- /* Isolate OnFailure unit */ +- bool on_failure_isolate; ++ /* How to start OnFailure units */ ++ JobMode on_failure_job_mode; + + /* Ignore this unit when isolating */ + bool ignore_on_isolate; +Index: systemd-208/units/initrd-cleanup.service.in +=================================================================== +--- systemd-208.orig/units/initrd-cleanup.service.in ++++ systemd-208/units/initrd-cleanup.service.in +@@ -10,6 +10,7 @@ Description=Cleaning Up and Shutting Dow + DefaultDependencies=no + ConditionPathExists=/etc/initrd-release + OnFailure=emergency.target ++OnFailureJobMode=replace-irreversibly + After=initrd-root-fs.target initrd-fs.target initrd.target + + [Service] +Index: systemd-208/units/initrd-fs.target +=================================================================== +--- systemd-208.orig/units/initrd-fs.target ++++ systemd-208/units/initrd-fs.target +@@ -9,7 +9,7 @@ + Description=Initrd File Systems + Documentation=man:systemd.special(7) + OnFailure=emergency.target +-OnFailureIsolate=yes ++OnFailureJobMode=replace-irreversibly + ConditionPathExists=/etc/initrd-release + After=initrd-parse-etc.service + DefaultDependencies=no +Index: systemd-208/units/initrd-parse-etc.service.in +=================================================================== +--- systemd-208.orig/units/initrd-parse-etc.service.in ++++ systemd-208/units/initrd-parse-etc.service.in +@@ -11,6 +11,7 @@ DefaultDependencies=no + Requires=initrd-root-fs.target + After=initrd-root-fs.target + OnFailure=emergency.target ++OnFailureJobMode=replace-irreversibly + ConditionPathExists=/etc/initrd-release + + [Service] +Index: systemd-208/units/initrd-root-fs.target +=================================================================== +--- systemd-208.orig/units/initrd-root-fs.target ++++ systemd-208/units/initrd-root-fs.target +@@ -10,6 +10,6 @@ Description=Initrd Root File System + Documentation=man:systemd.special(7) + ConditionPathExists=/etc/initrd-release + OnFailure=emergency.target +-OnFailureIsolate=yes ++OnFailureJobMode=replace-irreversibly + DefaultDependencies=no + Conflicts=shutdown.target +Index: systemd-208/units/initrd-switch-root.service.in +=================================================================== +--- systemd-208.orig/units/initrd-switch-root.service.in ++++ systemd-208/units/initrd-switch-root.service.in +@@ -10,6 +10,7 @@ Description=Switch Root + DefaultDependencies=no + ConditionPathExists=/etc/initrd-release + OnFailure=emergency.target ++OnFailureJobMode=replace-irreversibly + AllowIsolate=yes + + [Service] +Index: systemd-208/units/initrd.target +=================================================================== +--- systemd-208.orig/units/initrd.target ++++ systemd-208/units/initrd.target +@@ -9,7 +9,7 @@ + Description=Initrd Default Target + Documentation=man:systemd.special(7) + OnFailure=emergency.target +-OnFailureIsolate=yes ++OnFailureJobMode=replace-irreversibly + ConditionPathExists=/etc/initrd-release + Requires=basic.target + Wants=initrd-root-fs.target initrd-fs.target initrd-parse-etc.service +Index: systemd-208/units/local-fs.target +=================================================================== +--- systemd-208.orig/units/local-fs.target ++++ systemd-208/units/local-fs.target +@@ -12,4 +12,4 @@ After=local-fs-pre.target + DefaultDependencies=no + Conflicts=shutdown.target + OnFailure=emergency.target +-OnFailureIsolate=no ++OnFailureJobMode=replace-irreversibly diff --git a/0001-upstream-systemctl-halt-reboot-error-handling.patch b/0001-upstream-systemctl-halt-reboot-error-handling.patch new file mode 100644 index 00000000..110b866b --- /dev/null +++ b/0001-upstream-systemctl-halt-reboot-error-handling.patch @@ -0,0 +1,85 @@ +--- systemd-208/src/core/shutdown.c ++++ systemd-208/src/core/shutdown.c 2014-01-27 11:31:38.486235816 +0000 +@@ -329,6 +329,9 @@ int main(int argc, char *argv[]) { + + reboot(cmd); + ++ if (cmd == RB_POWER_OFF) ++ reboot(RB_HALT_SYSTEM); ++ + if (errno == EPERM && in_container) { + /* If we are in a container, and we lacked + * CAP_SYS_BOOT just exit, this will kill our + +--- systemd-208/src/systemctl/systemctl.c ++++ systemd-208/src/systemctl/systemctl.c 2014-01-27 11:05:18.298236035 +0000 +@@ -138,7 +138,7 @@ static bool arg_plain = false; + static bool private_bus = false; + + static int daemon_reload(DBusConnection *bus, char **args); +-static void halt_now(enum action a); ++static int halt_now(enum action a); + + static void pager_open_if_enabled(void) { + +@@ -2227,7 +2227,7 @@ static int start_special(DBusConnection + (a == ACTION_HALT || + a == ACTION_POWEROFF || + a == ACTION_REBOOT)) +- halt_now(a); ++ return halt_now(a); + + if (arg_force >= 1 && + (a == ACTION_HALT || +@@ -5973,7 +5973,7 @@ done: + return 0; + } + +-static _noreturn_ void halt_now(enum action a) { ++static int halt_now(enum action a) { + + /* Make sure C-A-D is handled by the kernel from this + * point on... */ +@@ -5984,23 +5984,22 @@ static _noreturn_ void halt_now(enum act + case ACTION_HALT: + log_info("Halting."); + reboot(RB_HALT_SYSTEM); +- break; ++ return -errno; + + case ACTION_POWEROFF: + log_info("Powering off."); + reboot(RB_POWER_OFF); +- break; ++ return -errno; + + case ACTION_REBOOT: + log_info("Rebooting."); + reboot(RB_AUTOBOOT); +- break; ++ return -errno; + + default: +- assert_not_reached("Unknown halt action."); ++ assert_not_reached("Unknown action."); ++ return -ENOSYS; + } +- +- assert_not_reached("Uh? This shouldn't happen."); + } + + static int halt_main(DBusConnection *bus) { +@@ -6069,9 +6068,10 @@ static int halt_main(DBusConnection *bus + if (arg_dry) + return 0; + +- halt_now(arg_action); +- /* We should never reach this. */ +- return -ENOSYS; ++ r = halt_now(arg_action); ++ log_error("Failed to reboot: %s", strerror(-r)); ++ ++ return r; + } + + static int runlevel_main(void) { diff --git a/0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch b/0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch new file mode 100644 index 00000000..76624f92 --- /dev/null +++ b/0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch @@ -0,0 +1,62 @@ +From 95d57e7b631a2d78b9b5d841125194052895470f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 29 Jan 2014 13:49:54 +0100 +Subject: [PATCH 2/3] service: allow KillMode=mixed in conjunction with + PAMName= + +--- + src/core/service.c | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 6792024..e7f03e1 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -1105,37 +1105,31 @@ static int service_verify(Service *s) { + return 0; + + if (!s->exec_command[SERVICE_EXEC_START]) { +- log_error_unit(UNIT(s)->id, +- "%s lacks ExecStart setting. Refusing.", UNIT(s)->id); ++ log_error_unit(UNIT(s)->id, "%s lacks ExecStart setting. Refusing.", UNIT(s)->id); + return -EINVAL; + } + + if (s->type != SERVICE_ONESHOT && + s->exec_command[SERVICE_EXEC_START]->command_next) { +- log_error_unit(UNIT(s)->id, +- "%s has more than one ExecStart setting, which is only allowed for Type=oneshot services. Refusing.", UNIT(s)->id); ++ log_error_unit(UNIT(s)->id, "%s has more than one ExecStart setting, which is only allowed for Type=oneshot services. Refusing.", UNIT(s)->id); + return -EINVAL; + } + + if (s->type == SERVICE_ONESHOT && s->restart != SERVICE_RESTART_NO) { +- log_error_unit(UNIT(s)->id, +- "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id); ++ log_error_unit(UNIT(s)->id, "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id); + return -EINVAL; + } + + if (s->type == SERVICE_DBUS && !s->bus_name) { +- log_error_unit(UNIT(s)->id, +- "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id); ++ log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id); + return -EINVAL; + } + + if (s->bus_name && s->type != SERVICE_DBUS) +- log_warning_unit(UNIT(s)->id, +- "%s has a D-Bus service name specified, but is not of type dbus. Ignoring.", UNIT(s)->id); ++ log_warning_unit(UNIT(s)->id, "%s has a D-Bus service name specified, but is not of type dbus. Ignoring.", UNIT(s)->id); + +- if (s->exec_context.pam_name && s->kill_context.kill_mode != KILL_CONTROL_GROUP) { +- log_error_unit(UNIT(s)->id, +- "%s has PAM enabled. Kill mode must be set to 'control-group'. Refusing.", UNIT(s)->id); ++ if (s->exec_context.pam_name && !(s->kill_context.kill_mode == KILL_CONTROL_GROUP || s->kill_context.kill_mode == KILL_MIXED)) { ++ log_error_unit(UNIT(s)->id, "%s has PAM enabled. Kill mode must be set to 'control-group' or 'mixed'. Refusing.", UNIT(s)->id); + return -EINVAL; + } + +-- +1.8.4 + diff --git a/0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch b/0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch new file mode 100644 index 00000000..e6423f54 --- /dev/null +++ b/0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch @@ -0,0 +1,128 @@ +From b2ffdc8da536cd88a305f97517f356e2c5383a52 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 29 Jan 2014 14:58:04 +0100 +Subject: [PATCH 3/3] core: make sure to always go through both SIGTERM and + SIGKILL states of units + +Given that we now have KillMode=mixed where SIGTERM might kill a smaller +set than SIGKILL we need to make sure to always go explicitly throught +the SIGKILL state to get the right end result. +--- + src/core/mount.c | 8 +++++++- + src/core/scope.c | 4 +++- + src/core/service.c | 10 +++++++--- + src/core/socket.c | 6 +++++- + src/core/swap.c | 6 +++++- + 5 files changed, 27 insertions(+), 7 deletions(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 3d46557..e418d09 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -854,8 +854,14 @@ static void mount_enter_signal(Mount *m, MountState state, MountResult f) { + goto fail; + + mount_set_state(m, state); +- } else if (state == MOUNT_REMOUNTING_SIGTERM || state == MOUNT_REMOUNTING_SIGKILL) ++ } else if (state == MOUNT_REMOUNTING_SIGTERM) ++ mount_enter_signal(m, MOUNT_REMOUNTING_SIGKILL, MOUNT_SUCCESS); ++ else if (state == MOUNT_REMOUNTING_SIGKILL) + mount_enter_mounted(m, MOUNT_SUCCESS); ++ else if (state == MOUNT_MOUNTING_SIGTERM) ++ mount_enter_signal(m, MOUNT_MOUNTING_SIGKILL, MOUNT_SUCCESS); ++ else if (state == MOUNT_UNMOUNTING_SIGTERM) ++ mount_enter_signal(m, MOUNT_UNMOUNTING_SIGKILL, MOUNT_SUCCESS); + else + mount_enter_dead(m, MOUNT_SUCCESS); + +diff --git a/src/core/scope.c b/src/core/scope.c +index 50e5dba..3a5c95e 100644 +--- a/src/core/scope.c ++++ b/src/core/scope.c +@@ -221,7 +221,9 @@ static void scope_enter_signal(Scope *s, ScopeState state, ScopeResult f) { + } + + scope_set_state(s, state); +- } else ++ } else if (state == SCOPE_STOP_SIGTERM) ++ scope_enter_signal(s, SCOPE_STOP_SIGKILL, SCOPE_SUCCESS); ++ else + scope_enter_dead(s, SCOPE_SUCCESS); + + return; +diff --git a/src/core/service.c b/src/core/service.c +index e7f03e1..4b481c2 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -1964,10 +1964,9 @@ static void service_enter_stop_post(Service *s, ServiceResult f) { + if (r < 0) + goto fail; + +- + service_set_state(s, SERVICE_STOP_POST); + } else +- service_enter_dead(s, SERVICE_SUCCESS, true); ++ service_enter_signal(s, SERVICE_FINAL_SIGTERM, SERVICE_SUCCESS); + + return; + +@@ -1993,6 +1992,7 @@ static void service_enter_signal(Service *s, ServiceState state, ServiceResult f + s->main_pid, + s->control_pid, + s->main_pid_alien); ++ + if (r < 0) + goto fail; + +@@ -2005,8 +2005,12 @@ static void service_enter_signal(Service *s, ServiceState state, ServiceResult f + } + + service_set_state(s, state); +- } else if (state == SERVICE_STOP_SIGTERM || state == SERVICE_STOP_SIGKILL) ++ } else if (state == SERVICE_STOP_SIGTERM) ++ service_enter_signal(s, SERVICE_STOP_SIGKILL, SERVICE_SUCCESS); ++ else if (state == SERVICE_STOP_SIGKILL) + service_enter_stop_post(s, SERVICE_SUCCESS); ++ else if (state == SERVICE_FINAL_SIGTERM) ++ service_enter_signal(s, SERVICE_FINAL_SIGKILL, SERVICE_SUCCESS); + else + service_enter_dead(s, SERVICE_SUCCESS, true); + +diff --git a/src/core/socket.c b/src/core/socket.c +index 6c0ac1a..831876f 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -1298,8 +1298,12 @@ static void socket_enter_signal(Socket *s, SocketState state, SocketResult f) { + goto fail; + + socket_set_state(s, state); +- } else if (state == SOCKET_STOP_PRE_SIGTERM || state == SOCKET_STOP_PRE_SIGKILL) ++ } else if (state == SOCKET_STOP_PRE_SIGTERM) ++ socket_enter_signal(s, SOCKET_STOP_PRE_SIGKILL, SOCKET_SUCCESS); ++ else if (state == SOCKET_STOP_PRE_SIGKILL) + socket_enter_stop_post(s, SOCKET_SUCCESS); ++ else if (state == SOCKET_FINAL_SIGTERM) ++ socket_enter_signal(s, SOCKET_FINAL_SIGKILL, SOCKET_SUCCESS); + else + socket_enter_dead(s, SOCKET_SUCCESS); + +diff --git a/src/core/swap.c b/src/core/swap.c +index a68ab7c..8886fe8 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -655,7 +655,11 @@ static void swap_enter_signal(Swap *s, SwapState state, SwapResult f) { + goto fail; + + swap_set_state(s, state); +- } else ++ } else if (state == SWAP_ACTIVATING_SIGTERM) ++ swap_enter_signal(s, SWAP_ACTIVATING_SIGKILL, SWAP_SUCCESS); ++ else if (state == SWAP_DEACTIVATING_SIGTERM) ++ swap_enter_signal(s, SWAP_DEACTIVATING_SIGKILL, SWAP_SUCCESS); ++ else + swap_enter_dead(s, SWAP_SUCCESS); + + return; +-- +1.8.4 + diff --git a/1016-support-powerfail-with-powerstatus.patch b/1016-support-powerfail-with-powerstatus.patch new file mode 100644 index 00000000..c59f6828 --- /dev/null +++ b/1016-support-powerfail-with-powerstatus.patch @@ -0,0 +1,90 @@ +--- systemd-208/units/sigpwr.target ++++ systemd-208/units/sigpwr.target 2014-01-14 15:53:32.878735762 +0000 +@@ -8,3 +8,5 @@ + [Unit] + Description=Power Failure + Documentation=man:systemd.special(7) ++BindsTo=powerfail.service ++DefaultDependencies=no ++RefuseManualStart=yes +--- systemd-208/units/powerfail.service ++++ systemd-208/units/powerfail.service 2014-01-14 16:11:41.802235712 +0000 +@@ -0,0 +1,21 @@ ++# This file is part of systemd. ++# ++# Copyright (c) 2014 SUSE LINUX Products GmbH, Germany. ++# Author: Werner Fink ++# Please send feedback to http://www.suse.de/feedback ++# ++# Description: ++# ++# Used to start the systemd-powerfail.service ++# ++ ++[Unit] ++Description=powerfail handling ++BindsTo=sigpwr.target ++DefaultDependencies=no ++RefuseManualStart=yes ++ ++[Service] ++Type=oneshot ++ExecStart=/usr/lib/systemd/systemd-powerfail ++RemainAfterExit=false +--- systemd-208/man/systemd-powerfail.service.8 ++++ systemd-208/man/systemd-powerfail.service.8 2014-01-14 18:22:21.286735810 +0000 +@@ -0,0 +1,54 @@ ++'\" t ++.TH "SYSTEMD\-POWERFAIL\&.SERVICE" "8" "" "systemd 208" "systemd-powerfail.service" ++.\" ----------------------------------------------------------------- ++.\" * Define some portability stuff ++.\" ----------------------------------------------------------------- ++.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++.\" http://bugs.debian.org/507673 ++.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html ++.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++.ie \n(.g .ds Aq \(aq ++.el .ds Aq ' ++.\" ----------------------------------------------------------------- ++.\" * set default formatting ++.\" ----------------------------------------------------------------- ++.\" disable hyphenation ++.nh ++.\" disable justification (adjust text to left margin only) ++.ad l ++.\" ----------------------------------------------------------------- ++.\" * MAIN CONTENT STARTS HERE * ++.\" ----------------------------------------------------------------- ++.SH "NAME" ++systemd-powerfail.service, systemd-powerfail \- Power Fail signal handling ++.SH "SYNOPSIS" ++.PP ++systemd\-powerfail\&.service ++.PP ++/usr/lib/systemd/systemd\-powerfail ++.SH "DESCRIPTION" ++.PP ++systemd\-powerfail ++is a system service that is used to evaulate the content of ++\fI/var/run/powerstatus\fR. Based on the content of this ++file: ++.IP F(AIL) ++Power is failing, UPS is providing the power. The ++systemd\-powerfail ++is now doing a timed shutdown. ++.IP O(K) ++The power has been restored, and pending shutdown ++will be cancled. ++.IP L(OW) ++The power is failing and the UPS has a low battery. ++The ++systemd\-powerfail ++is doing an immediate shutdown. ++.PP ++If \fI/var/run/powerstatus\fR doesn't exist or contains anything else then the letters ++F, O or L, systemd\-powerfail will behave as if it has read the letter F. ++.PP ++.SH "SEE ALSO" ++.PP ++\fBshutdown\fR(8), ++\fBpowerd\fR(8) diff --git a/1017-skip-native-unit-handling-if-sysv-already-handled.patch b/1017-skip-native-unit-handling-if-sysv-already-handled.patch new file mode 100644 index 00000000..9390c42a --- /dev/null +++ b/1017-skip-native-unit-handling-if-sysv-already-handled.patch @@ -0,0 +1,20 @@ +For bnc#818044 +Based on http://cgit.freedesktop.org/systemd/systemd/patch/?id=67d6621059085963a2a908a3ea99ced3b0ca789e +--- + systemctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- systemd-208/src/systemctl/systemctl.c ++++ systemd-208/src/systemctl/systemctl.c 2014-01-21 13:00:52.910736187 +0000 +@@ -4453,6 +4453,11 @@ static int enable_unit(DBusConnection *b + if (r < 0) + return r; + ++ /* If the operation was fully executed by the SysV compat, ++ * let's finish early */ ++ if (strv_isempty(mangled_names)) ++ return 0; ++ + if (!bus || avoid_bus()) { + if (streq(verb, "enable")) { + r = unit_file_enable(arg_scope, arg_runtime, arg_root, mangled_names, arg_force, &changes, &n_changes); diff --git a/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch new file mode 100644 index 00000000..81a26925 --- /dev/null +++ b/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch @@ -0,0 +1,51 @@ +--- systemd-208/src/core/service.c ++++ systemd-208/src/core/service.c 2014-01-17 12:15:52.527311588 +0000 +@@ -380,6 +380,8 @@ static int sysv_translate_facility(const + "remote_fs", SPECIAL_REMOTE_FS_TARGET, + "syslog", NULL, + "time", SPECIAL_TIME_SYNC_TARGET, ++ "all", SPECIAL_DEFAULT_TARGET, ++ "null", NULL, + }; + + unsigned i; +@@ -389,7 +391,7 @@ static int sysv_translate_facility(const + assert(name); + assert(_r); + +- n = *name == '$' ? name + 1 : name; ++ n = (*name == '$' || *name == '+') ? name + 1 : name; + + for (i = 0; i < ELEMENTSOF(table); i += 2) { + +@@ -816,10 +818,13 @@ static int service_load_sysv_path(Servic + startswith_no_case(t, "Should-Start:") || + startswith_no_case(t, "X-Start-Before:") || + startswith_no_case(t, "X-Start-After:")) { ++ UnitDependency d, e; + char *i, *w; + size_t z; + + state = LSB; ++ d = startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER; ++ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : UNIT_WANTS; + + FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { + char *n, *m; +@@ -838,12 +843,15 @@ static int service_load_sysv_path(Servic + continue; + } + ++ if (*n == '+') ++ e = UNIT_WANTS; ++ + free(n); + + if (r == 0) + continue; + +- r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true); ++ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); + + if (r < 0) + log_error_unit(u->id, "[%s:%u] Failed to add dependency on %s, ignoring: %s", diff --git a/1019-make-completion-smart-to-be-able-to-redirect.patch b/1019-make-completion-smart-to-be-able-to-redirect.patch new file mode 100644 index 00000000..d1425d83 --- /dev/null +++ b/1019-make-completion-smart-to-be-able-to-redirect.patch @@ -0,0 +1,236 @@ +--- systemd-208/shell-completion/bash/hostnamectl ++++ systemd-208/shell-completion/bash/hostnamectl 2014-01-17 14:27:16.183272019 +0000 +@@ -30,6 +30,10 @@ _hostnamectl() { + local OPTS='-h --help --version --transient --static --pretty + --no-ask-password -H --host' + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if [[ $cur = -* ]]; then + COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) + return 0 +@@ -58,4 +62,4 @@ _hostnamectl() { + return 0 + } + +-complete -F _hostnamectl hostnamectl ++complete -o default -o bashdefault -F _hostnamectl hostnamectl +--- systemd-208/shell-completion/bash/journalctl ++++ systemd-208/shell-completion/bash/journalctl 2014-01-17 14:34:30.338737694 +0000 +@@ -49,6 +49,10 @@ _journalctl() { + --verify-key' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then + case $prev in + --boot|--this-boot|-b) +@@ -107,4 +111,4 @@ _journalctl() { + fi + } + +-complete -F _journalctl journalctl ++complete -o default -o bashdefault -F _journalctl journalctl +--- systemd-208/shell-completion/bash/kernel-install ++++ systemd-208/shell-completion/bash/kernel-install 2014-01-17 14:34:41.982255874 +0000 +@@ -18,11 +18,22 @@ + # You should have received a copy of the GNU Lesser General Public License + # along with systemd; If not, see . + ++__contains_word () { ++ local w word=$1; shift ++ for w in "$@"; do ++ [[ $w = "$word" ]] && return ++ done ++} ++ + _kernel_install() { + local comps + local MACHINE_ID + local cur=${COMP_WORDS[COMP_CWORD]} + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + case $COMP_CWORD in + 1) + comps="add remove" +@@ -47,4 +58,4 @@ _kernel_install() { + return 0 + } + +-complete -F _kernel_install kernel-install ++complete -o default -o bashdefault -F _kernel_install kernel-install +--- systemd-208/shell-completion/bash/localectl ++++ systemd-208/shell-completion/bash/localectl 2014-01-17 14:34:52.546235747 +0000 +@@ -30,6 +30,10 @@ _localectl() { + local OPTS='-h --help --version --no-convert --no-pager --no-ask-password + -H --host' + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" $OPTS; then + case $prev in + --host|-H) +@@ -73,4 +77,4 @@ _localectl() { + return 0 + } + +-complete -F _localectl localectl ++complete -o default -o bashdefault -F _localectl localectl +--- systemd-208/shell-completion/bash/loginctl ++++ systemd-208/shell-completion/bash/loginctl 2014-01-17 14:35:03.386245699 +0000 +@@ -37,6 +37,10 @@ _loginctl () { + [ARG]='--host -H --kill-who --property -p --signal -s' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" ${OPTS[ARG]}; then + case $prev in + --signal|-s) +@@ -106,4 +110,4 @@ _loginctl () { + return 0 + } + +-complete -F _loginctl loginctl ++complete -o default -o bashdefault -F _loginctl loginctl +--- systemd-208/shell-completion/bash/systemctl ++++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000 +@@ -77,6 +77,10 @@ _systemctl () { + [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "--user" ${COMP_WORDS[*]}; then + mode=--user + else +@@ -226,4 +230,4 @@ _systemctl () { + return 0 + } + +-complete -F _systemctl systemctl ++complete -o default -o bashdefault -F _systemctl systemctl +--- systemd-208/shell-completion/bash/systemd-analyze ++++ systemd-208/shell-completion/bash/systemd-analyze 2014-01-17 14:35:38.366736021 +0000 +@@ -37,6 +37,10 @@ _systemd_analyze() { + [LOG_LEVEL]='set-log-level' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + _init_completion || return + + for ((i=0; $i <= $COMP_CWORD; i++)); do +@@ -83,4 +87,4 @@ _systemd_analyze() { + return 0 + } + +-complete -F _systemd_analyze systemd-analyze ++complete -o default -o bashdefault -F _systemd_analyze systemd-analyze +--- systemd-208/shell-completion/bash/systemd-coredumpctl ++++ systemd-208/shell-completion/bash/systemd-coredumpctl 2014-01-17 14:35:46.434235632 +0000 +@@ -44,6 +44,10 @@ _coredumpctl() { + [DUMP]='dump gdb' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" '--output -o'; then + comps=$( compgen -A file -- "$cur" ) + compopt -o filenames +@@ -82,4 +86,4 @@ _coredumpctl() { + return 0 + } + +-complete -F _coredumpctl systemd-coredumpctl ++complete -o default -o bashdefault -F _coredumpctl systemd-coredumpctl +--- systemd-208/shell-completion/bash/systemd-run ++++ systemd-208/shell-completion/bash/systemd-run 2014-01-17 14:35:55.938236298 +0000 +@@ -17,6 +17,13 @@ + # You should have received a copy of the GNU Lesser General Public License + # along with systemd; If not, see . + ++__contains_word () { ++ local w word=$1; shift ++ for w in "$@"; do ++ [[ $w = "$word" ]] && return ++ done ++} ++ + __systemctl() { + local mode=$1; shift 1 + systemctl $mode --full --no-legend "$@" +@@ -31,6 +38,11 @@ _systemd_run() { + + local mode=--system + local i ++ ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + for (( i=1; i <= COMP_CWORD; i++ )); do + if [[ ${COMP_WORDS[i]} != -* ]]; then + local root_command=${COMP_WORDS[i]} +@@ -60,4 +72,4 @@ _systemd_run() { + return 0 + } + +-complete -F _systemd_run systemd-run ++complete -o default -o bashdefault -F _systemd_run systemd-run +--- systemd-208/shell-completion/bash/timedatectl ++++ systemd-208/shell-completion/bash/timedatectl 2014-01-17 14:36:06.182735466 +0000 +@@ -30,6 +30,10 @@ _timedatectl() { + local OPTS='-h --help --version --adjust-system-clock --no-pager + --no-ask-password -H --host' + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" $OPTS; then + case $prev in + --host|-H) +@@ -73,4 +77,4 @@ _timedatectl() { + return 0 + } + +-complete -F _timedatectl timedatectl ++complete -o default -o bashdefault -F _timedatectl timedatectl +--- systemd-208/shell-completion/bash/udevadm ++++ systemd-208/shell-completion/bash/udevadm 2014-01-17 14:36:16.406236120 +0000 +@@ -36,6 +36,10 @@ _udevadm() { + + local verbs=(info trigger settle control monitor hwdb test-builtin test) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + for ((i=0; i <= COMP_CWORD; i++)); do + if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" && + ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then +@@ -94,4 +98,4 @@ _udevadm() { + return 0 + } + +-complete -F _udevadm udevadm ++complete -o default -o bashdefault -F _udevadm udevadm diff --git a/analyze-fix-crash-in-command-line-parsing.patch b/analyze-fix-crash-in-command-line-parsing.patch new file mode 100644 index 00000000..f76266ec --- /dev/null +++ b/analyze-fix-crash-in-command-line-parsing.patch @@ -0,0 +1,35 @@ +From da6de8a55784115451582051c8da620056994a05 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 20 Jan 2014 11:05:22 +0100 +Subject: [PATCH] analyze: fix crash in command line parsing + +Ensure DBusError is set before it can possibly be freed on return. +Fix crash when calling set-log-level without any parameter. + +Fix https://bugzilla.novell.com/show_bug.cgi?id=859365 +--- + src/analyze/systemd-analyze.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c +index 27d063c..cdfae93 100644 +--- a/src/analyze/systemd-analyze.c ++++ b/src/analyze/systemd-analyze.c +@@ -1226,13 +1226,13 @@ static int set_log_level(DBusConnection *bus, char **args) { + assert(bus); + assert(args); + ++ dbus_error_init(&error); + if (strv_length(args) != 1) { + log_error("This command expects one argument only."); + return -E2BIG; + } + + value = args[0]; +- dbus_error_init(&error); + + m = dbus_message_new_method_call("org.freedesktop.systemd1", + "/org/freedesktop/systemd1", +-- +1.8.4 + diff --git a/macros.systemd b/macros.systemd index dc70ceb7..1a003957 100644 --- a/macros.systemd +++ b/macros.systemd @@ -46,6 +46,13 @@ if [ $FIRST_ARG -eq 1 ]; then \ touch "/var/lib/systemd/migrated/$sysv_service" || : \ done \ else \ + if [ $FIRST_ARG -gt 1 ]; then \ + for service in %{?*} ; do \ + if [ ! -e "/usr/lib/systemd/system/$service" ]; then \ + touch "/run/rpm-%{name}-update-$service-new-in-upgrade" \ + fi \ + done \ + fi \ for service in %{?*} ; do \ sysv_service=${service%.*} \ if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ @@ -74,6 +81,13 @@ if [ -n "$services_to_migrate" ]; then \ /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ elif [ $FIRST_ARG -eq 1 ]; then \ /usr/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ +elif [ $FIRST_ARG -gt 1 ]; then \ + for service in %{?*} ; do \ + if [ -e "/run/rpm-%{name}-update-$service-new-in-upgrade" ]; then \ + rm -f "/run/rpm-%{name}-update-$service-new-in-upgrade" \ + /usr/bin/systemctl preset "$service" >/dev/null 2>&1 || : \ + fi \ + done \ fi \ %{nil} diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch new file mode 100644 index 00000000..63e513cc --- /dev/null +++ b/make-emergency.service-conflict-with-syslog.socket.patch @@ -0,0 +1,22 @@ +If after emergency service had been started there is incoming +traffic on syslog.socket emergency.service gets killed due to +implicit dependencies on basic.target => sysinit.target which in +turn conflict with emergency.target. + +As a workaround explicitly stop syslog.socket when entering +emergency.service. + +Reference: bnc#852232 +Index: systemd-208/units/emergency.service.in +=================================================================== +--- systemd-208/units/emergency.service.in ++++ systemd-208/units/emergency.service.in +@@ -9,7 +9,7 @@ + Description=Emergency Shell + Documentation=man:sulogin(8) + DefaultDependencies=no +-Conflicts=shutdown.target ++Conflicts=shutdown.target syslog.socket + Before=shutdown.target + + [Service] diff --git a/systemd-mini.changes b/systemd-mini.changes index ba215dd6..39675682 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,138 @@ +------------------------------------------------------------------- +Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de + +- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to skip already by the kernel managed devices + +------------------------------------------------------------------- +Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com + +- fix timeout stopping user@.service (bnc#841544) + * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch + * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch + * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch + +------------------------------------------------------------------- +Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de + +- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch + to be able to detect if the sysctl reboot() returns. +- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + A check for unmaintained disk like devices is added to be able to + flush and maybe shut them down. Also the missing sync() system + call is added for the direct halt/reboot systemctl command. Then + the system halt is used as fallback if poweroff fails for both + the direct poweroff systemctl command as well as for the + systemd-shutdown utility. + +------------------------------------------------------------------- +Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de + +- Make systemd-mini build + +------------------------------------------------------------------- +Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de + +- Make requires bash-completion a recommends + +------------------------------------------------------------------- +Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de + +- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch + to avoid that enabled boot scripts will be handled as unit files + by systemctl status command (bnc#818044) + +------------------------------------------------------------------- +Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de + +- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch + as the original code behaves exactly as the shutdown code of + the old SysVinit (bnc#750845) +- Rename support-powerfail-with-powerstatus.patch to + 1016-support-powerfail-with-powerstatus.patch + +------------------------------------------------------------------- +Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com + +- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in + systemd-analyze (bnc#859365) + +------------------------------------------------------------------- +Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de + +- Add patch + 1019-make-completion-smart-to-be-able-to-redirect.patch + to make redirections work with the bash command completions for + for systemd command tools (bnc#856858, bnc#859072) + +------------------------------------------------------------------- +Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de + +- Add patch + 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to support the "+" to tag wanted dependencies as well as make + sure that required dependencies are handles as required ones. + This should fix bnc#858864 and bnc#857204. + +------------------------------------------------------------------- +Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de + +- apply preset also to service files that are new in upgrade + +------------------------------------------------------------------- +Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de + +- Change support-powerfail-with-powerstatus.patch to use BindsTo + instead of BindTo + +------------------------------------------------------------------- +Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de + +- Add patch 1017-enforce-sufficient-shutdown-warnings.patch + Warn once per hour in the last 3 hours, then all 30 minutes in last + hour, all 15 minutes in the last 45 minutes, all 10 minutes in the + last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) + +------------------------------------------------------------------- +Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de + +- Add patch support-powerfail-with-powerstatus.patch and source + file systemd-powerfail to implement SIGPWR support with evaluation + of the file /var/run/powerstatus (bnc#737690) + +------------------------------------------------------------------- +Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de + +- Adapt patch + 1011-check-4-valid-kmsg-device.patch + to fit current upstream version maybe related to bnc#854884 +- Change patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() + may fix bnc#855160 + +------------------------------------------------------------------- +Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com + +- Disable multi-seat-x build, since package xorg-x11-server + currently in Factory no longer needs it. + +------------------------------------------------------------------- +Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com + +- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a + running user manager from garbage-collecting the user. Original + behavior caused bnc#849870 + +------------------------------------------------------------------- +Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com + +- Add build-sys-make-multi-seat-x-optional.patch + * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 + * Now systemd-multi-seat-x build can be disabled with configure option + --disable-multi-seat-x. It should be done when xorg-x11-server + no longer needs it (work in progress). + ------------------------------------------------------------------- Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com @@ -16,6 +151,19 @@ Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de the systemd-journald (bnc#838475) - Let us build require the package config for libpcre (bnc#853293) +------------------------------------------------------------------- +Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com + +- Add patch + 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch + Make sure emergency shell is not killed by attempt to start another unit + (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. +- Add patch + make-emergency.service-conflict-with-syslog.socket.patch + Previous patch did not fix problem if syslog connection request came + after emergency shell was already started. So forcibly stop syslog.socket + when starting emergency.service. (bnc#852232) + ------------------------------------------------------------------- Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index cdf81be0..33ae73a6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,6 +23,11 @@ %define udevpkgname udev-mini %define udev_major 1 +%if 0%{?sles_version} == 0 +%global with_bash_completion 1 +%endif +%bcond_with bash_completion + Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd Version: 208 @@ -89,6 +94,9 @@ Conflicts: kiwi # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 +%if %{with bash_completion} +Recommends: bash-completion +%endif Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 14 @@ -117,6 +125,7 @@ Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service +Source12: systemd-powerfail Source1060: boot.udev Source1061: write_dev_root_rule @@ -246,6 +255,22 @@ Patch79: 0001-analyze-set-white-background.patch Patch80: 0001-analyze-set-text-on-side-with-most-space.patch # PATCH-FIX-UPSTREAM 0001-logind-garbage-collect-stale-users.patch -- Don't stop a running user manager from garbage-collecting the user. Patch81: 0001-logind-garbage-collect-stale-users.patch +# PATCH-FIX-UPSTREAM analyze-fix-crash-in-command-line-parsing.patch fcrozat@suse.com bnc#859365 -- Fix crash in systemd-analyze +Patch82: analyze-fix-crash-in-command-line-parsing.patch +# PATCH-FIX-UPSTREAM 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch -- Prevent accidental kill of emergency shell (bnc#852021) +Patch83: 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch +# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) +Patch84: make-emergency.service-conflict-with-syslog.socket.patch +# PATCH-FIX-UPSTREAM 0001-upstream-systemctl-halt-reboot-error-handling.patch +Patch85: 0001-upstream-systemctl-halt-reboot-error-handling.patch +# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +# PATCH-FIX-UPSTREAM 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch -- Allow sending SIGTERM to main PID only (bnc#841544) +Patch87: 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch +# PATCH-FIX-UPSTREAM 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch -- Allow using it with PAM enabled services (bnc#841544) +Patch88: 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch +# PATCH-FIX-UPSTREAM 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch -- Make sure final SIGKILL actually kills everything (bnc#841544) +Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -276,6 +301,14 @@ Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch Patch1014: 1014-journald-with-journaling-FS.patch # PATCH-FIX-UPSTREAM build-sys-make-multi-seat-x-optional.patch Patch1015: build-sys-make-multi-seat-x-optional.patch +# PATCH-FIX-SUSE 1016-support-powerfail-with-powerstatus.patch +Patch1016: 1016-support-powerfail-with-powerstatus.patch +# PATCH-FIX-UPSTREAM 1017-skip-native-unit-handling-if-sysv-already-handled.patch +Patch1017: 1017-skip-native-unit-handling-if-sysv-already-handled.patch +# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch +# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch +Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -539,6 +572,14 @@ cp %{SOURCE7} m4/ %patch79 -p1 %patch80 -p1 %patch81 -p1 +%patch82 -p1 +%patch83 -p1 +%patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 +%patch88 -p1 +%patch89 -p1 # udev patches %patch1001 -p1 @@ -558,6 +599,10 @@ cp %{SOURCE7} m4/ %patch1013 -p1 %patch1014 -p1 %patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -735,6 +780,23 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ +# support for SIGPWR handling with /var/run/powerstatus of e.g. powerd +install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ +install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ +%if ! 0%{?bootstrap} +install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ +%endif + +# clean out some completions which requires bash-completion package +%if %{without bash_completion} +for c in %{buildroot}/%{_datadir}/bash-completion/completions/* +do + test -e "$c" || continue + grep -q _init_completion "$c" || continue + rm -vf "$c" +done +%endif + %fdupes -s %{buildroot}%{_mandir} # packaged in systemd-rpm-macros diff --git a/systemd-powerfail b/systemd-powerfail new file mode 100644 index 00000000..797fb7d2 --- /dev/null +++ b/systemd-powerfail @@ -0,0 +1,28 @@ +#!/bin/bash +# +# /usr/lib/systemd/systemd-powerfail +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Germany. +# Author: Werner Fink +# Please send feedback to http://www.suse.de/feedback +# +# Description: +# +# Used to evaluate the status of /var/run/powerstatus +# + +trap "echo" SIGINT SIGSEGV SIGTERM + + POWERFAIL='THE POWER IS FAILED! SYSTEM GOING DOWN! PLEASE LOG OFF NOW!' +POWERFAILNOW='THE POWER IS FAILED! LOW BATTERY - EMERGENCY SYSTEM SHUTDOWN!' + POWERISBACK='THE POWER IS BACK' + +typeset pwrstat=0 +test -s /var/run/powerstatus && read pwrstat < /var/run/powerstatus +rm -f /var/run/powerstatus + +case "$pwrstat" in +O*) exec /sbin/shutdown -c +0 "$POWERISBACK" ;; +L*) exec /sbin/shutdown -P +0 "$POWERFAILNOW" ;; +*) exec /sbin/shutdown -P +2 "$POWERFAIL" ;; +esac diff --git a/systemd-rpm-macros.spec b/systemd-rpm-macros.spec index 4c7b714f..c8e0234c 100644 --- a/systemd-rpm-macros.spec +++ b/systemd-rpm-macros.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-rpm-macros # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/systemd.changes b/systemd.changes index a9766b37..39675682 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,105 @@ +------------------------------------------------------------------- +Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de + +- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to skip already by the kernel managed devices + +------------------------------------------------------------------- +Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com + +- fix timeout stopping user@.service (bnc#841544) + * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch + * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch + * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch + +------------------------------------------------------------------- +Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de + +- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch + to be able to detect if the sysctl reboot() returns. +- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + A check for unmaintained disk like devices is added to be able to + flush and maybe shut them down. Also the missing sync() system + call is added for the direct halt/reboot systemctl command. Then + the system halt is used as fallback if poweroff fails for both + the direct poweroff systemctl command as well as for the + systemd-shutdown utility. + +------------------------------------------------------------------- +Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de + +- Make systemd-mini build + +------------------------------------------------------------------- +Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de + +- Make requires bash-completion a recommends + +------------------------------------------------------------------- +Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de + +- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch + to avoid that enabled boot scripts will be handled as unit files + by systemctl status command (bnc#818044) + +------------------------------------------------------------------- +Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de + +- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch + as the original code behaves exactly as the shutdown code of + the old SysVinit (bnc#750845) +- Rename support-powerfail-with-powerstatus.patch to + 1016-support-powerfail-with-powerstatus.patch + +------------------------------------------------------------------- +Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com + +- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in + systemd-analyze (bnc#859365) + +------------------------------------------------------------------- +Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de + +- Add patch + 1019-make-completion-smart-to-be-able-to-redirect.patch + to make redirections work with the bash command completions for + for systemd command tools (bnc#856858, bnc#859072) + +------------------------------------------------------------------- +Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de + +- Add patch + 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to support the "+" to tag wanted dependencies as well as make + sure that required dependencies are handles as required ones. + This should fix bnc#858864 and bnc#857204. + +------------------------------------------------------------------- +Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de + +- apply preset also to service files that are new in upgrade + +------------------------------------------------------------------- +Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de + +- Change support-powerfail-with-powerstatus.patch to use BindsTo + instead of BindTo + +------------------------------------------------------------------- +Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de + +- Add patch 1017-enforce-sufficient-shutdown-warnings.patch + Warn once per hour in the last 3 hours, then all 30 minutes in last + hour, all 15 minutes in the last 45 minutes, all 10 minutes in the + last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) + +------------------------------------------------------------------- +Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de + +- Add patch support-powerfail-with-powerstatus.patch and source + file systemd-powerfail to implement SIGPWR support with evaluation + of the file /var/run/powerstatus (bnc#737690) + ------------------------------------------------------------------- Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de @@ -49,6 +151,19 @@ Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de the systemd-journald (bnc#838475) - Let us build require the package config for libpcre (bnc#853293) +------------------------------------------------------------------- +Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com + +- Add patch + 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch + Make sure emergency shell is not killed by attempt to start another unit + (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. +- Add patch + make-emergency.service-conflict-with-syslog.socket.patch + Previous patch did not fix problem if syslog connection request came + after emergency shell was already started. So forcibly stop syslog.socket + when starting emergency.service. (bnc#852232) + ------------------------------------------------------------------- Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com diff --git a/systemd.spec b/systemd.spec index c66ec723..07823db2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,6 +21,11 @@ %define udevpkgname udev %define udev_major 1 +%if 0%{?sles_version} == 0 +%global with_bash_completion 1 +%endif +%bcond_with bash_completion + Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 208 @@ -84,6 +89,9 @@ Conflicts: kiwi # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 +%if %{with bash_completion} +Recommends: bash-completion +%endif Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 14 @@ -112,6 +120,7 @@ Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service +Source12: systemd-powerfail Source1060: boot.udev Source1061: write_dev_root_rule @@ -241,6 +250,22 @@ Patch79: 0001-analyze-set-white-background.patch Patch80: 0001-analyze-set-text-on-side-with-most-space.patch # PATCH-FIX-UPSTREAM 0001-logind-garbage-collect-stale-users.patch -- Don't stop a running user manager from garbage-collecting the user. Patch81: 0001-logind-garbage-collect-stale-users.patch +# PATCH-FIX-UPSTREAM analyze-fix-crash-in-command-line-parsing.patch fcrozat@suse.com bnc#859365 -- Fix crash in systemd-analyze +Patch82: analyze-fix-crash-in-command-line-parsing.patch +# PATCH-FIX-UPSTREAM 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch -- Prevent accidental kill of emergency shell (bnc#852021) +Patch83: 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch +# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) +Patch84: make-emergency.service-conflict-with-syslog.socket.patch +# PATCH-FIX-UPSTREAM 0001-upstream-systemctl-halt-reboot-error-handling.patch +Patch85: 0001-upstream-systemctl-halt-reboot-error-handling.patch +# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +# PATCH-FIX-UPSTREAM 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch -- Allow sending SIGTERM to main PID only (bnc#841544) +Patch87: 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch +# PATCH-FIX-UPSTREAM 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch -- Allow using it with PAM enabled services (bnc#841544) +Patch88: 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch +# PATCH-FIX-UPSTREAM 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch -- Make sure final SIGKILL actually kills everything (bnc#841544) +Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -271,6 +296,14 @@ Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch Patch1014: 1014-journald-with-journaling-FS.patch # PATCH-FIX-UPSTREAM build-sys-make-multi-seat-x-optional.patch Patch1015: build-sys-make-multi-seat-x-optional.patch +# PATCH-FIX-SUSE 1016-support-powerfail-with-powerstatus.patch +Patch1016: 1016-support-powerfail-with-powerstatus.patch +# PATCH-FIX-UPSTREAM 1017-skip-native-unit-handling-if-sysv-already-handled.patch +Patch1017: 1017-skip-native-unit-handling-if-sysv-already-handled.patch +# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch +# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch +Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -534,6 +567,14 @@ cp %{SOURCE7} m4/ %patch79 -p1 %patch80 -p1 %patch81 -p1 +%patch82 -p1 +%patch83 -p1 +%patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 +%patch88 -p1 +%patch89 -p1 # udev patches %patch1001 -p1 @@ -553,6 +594,10 @@ cp %{SOURCE7} m4/ %patch1013 -p1 %patch1014 -p1 %patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -730,6 +775,23 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ +# support for SIGPWR handling with /var/run/powerstatus of e.g. powerd +install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ +install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ +%if ! 0%{?bootstrap} +install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ +%endif + +# clean out some completions which requires bash-completion package +%if %{without bash_completion} +for c in %{buildroot}/%{_datadir}/bash-completion/completions/* +do + test -e "$c" || continue + grep -q _init_completion "$c" || continue + rm -vf "$c" +done +%endif + %fdupes -s %{buildroot}%{_mandir} # packaged in systemd-rpm-macros From 00a36bdb9a7db034e6143b5df8cc188fd3b30b5769b0bced794ee3b24fc0e3ec Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 6 Feb 2014 08:17:12 +0000 Subject: [PATCH 169/991] Accepting request 221003 from Base:System - Change and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to disable the workaround to find /dev/3270/tty1 as this now should be done by a) the kernel patch http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html and the changed udev rule 99-systemd.rules - Remove PreReq pidof from udev, nothing in this pkg uses it - Change and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to re-enable colouring if 3270 console was enforced on the kernel command line as 3270 cna handle colour ANSI escape sequences. Also let the serial getty generator find the /dev/3270/tty1 character device (bnc#861316) - Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to strip the colouring ANSI escape sequences from the console messages (bnc#860937) - Change and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to disable the workaround to find /dev/3270/tty1 as this now should be done by a) the kernel patch http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html and the changed udev rule 99-systemd.rules - Remove PreReq pidof from udev, nothing in this pkg uses it - Change and extend patch OBS-URL: https://build.opensuse.org/request/show/221003 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=174 --- ...s390_con3270_disable_ANSI_colour_esc.patch | 123 ++++++++++++++++++ ...-quit-and-wait-for-emergency-service.patch | 35 +++++ systemd-mini.changes | 32 +++++ systemd-mini.spec | 8 +- systemd.changes | 32 +++++ systemd.spec | 8 +- 6 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 0001-On_s390_con3270_disable_ANSI_colour_esc.patch create mode 100644 plymouth-quit-and-wait-for-emergency-service.patch diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch new file mode 100644 index 00000000..843894e1 --- /dev/null +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -0,0 +1,123 @@ +--- + rules/99-systemd.rules.in | 2 - + src/getty-generator/getty-generator.c | 2 - + src/shared/util.c | 62 ++++++++++++++++++++++++++++++++-- + 3 files changed, 61 insertions(+), 5 deletions(-) + +--- systemd-208/rules/99-systemd.rules.in ++++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 +@@ -7,7 +7,7 @@ + + ACTION=="remove", GOTO="systemd_end" + +-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd" ++SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" + + KERNEL=="vport*", TAG+="systemd" + +--- systemd-208/src/shared/util.c ++++ systemd-208/src/shared/util.c 2014-01-31 11:54:07.222235280 +0000 +@@ -2967,6 +2967,7 @@ int status_vprintf(const char *status, b + struct iovec iovec[6] = {}; + int n = 0; + static bool prev_ephemeral; ++ static int cached_on_tty = -1; + + assert(format); + +@@ -2980,6 +2981,51 @@ int status_vprintf(const char *status, b + if (fd < 0) + return fd; + ++ if (_unlikely_(cached_on_tty < 0)) { ++ cached_on_tty = isatty(fd) > 0; ++ if (cached_on_tty) { ++ const char *e = getenv("TERM"); ++ if (e && (strcmp(e, "dumb") == 0 || strcmp(e, "ibm327x") == 0)) { ++ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); ++ if (r < 0 || !mode || !streq(mode, "3270")) ++ cached_on_tty = 0; ++ } ++ } ++ } ++ ++ if (status && !cached_on_tty) { ++ const char *esc, *ptr; ++ esc = strchr(status, 0x1B); ++ if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { ++ switch(*ptr) { ++ case 'S': ++ status = " SKIP "; ++ break; ++ case 'O': ++ status = " OK "; ++ break; ++ case 'F': ++ status = "FAILED"; ++ break; ++ case 'D': ++ status = "DEPEND"; ++ break; ++ case 'T': ++ status = " TIME "; ++ break; ++ case 'I': ++ status = " INFO "; ++ break; ++ case '*': ++ status = " BUSY "; ++ break; ++ default: ++ break; ++ } ++ } ++ } ++ + if (ellipse) { + char *e; + size_t emax, sl; +@@ -3002,8 +3048,12 @@ int status_vprintf(const char *status, b + } + } + +- if (prev_ephemeral) +- IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); ++ if (prev_ephemeral) { ++ if (cached_on_tty) ++ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); ++ else ++ IOVEC_SET_STRING(iovec[n++], "\r"); ++ } + prev_ephemeral = ephemeral; + + if (status) { +@@ -3267,8 +3317,14 @@ void columns_lines_cache_reset(int signu + bool on_tty(void) { + static int cached_on_tty = -1; + +- if (_unlikely_(cached_on_tty < 0)) ++ if (_unlikely_(cached_on_tty < 0)) { + cached_on_tty = isatty(STDOUT_FILENO) > 0; ++ if (cached_on_tty) { ++ const char *e = getenv("TERM"); ++ if (e && (strcmp(e, "dumb") == 0)) ++ cached_on_tty = 0; ++ } ++ } + + return cached_on_tty; + } +--- systemd-208/src/getty-generator/getty-generator.c ++++ systemd-208/src/getty-generator/getty-generator.c 2014-02-05 10:41:29.502245927 +0000 +@@ -149,9 +149,9 @@ int main(int argc, char *argv[]) { + * only for non-VC terminals. */ + + k = add_serial_getty(tty); ++ free(tty); + + if (k < 0) { +- free(tty); + free(active); + r = EXIT_FAILURE; + goto finish; diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch new file mode 100644 index 00000000..560f9f3f --- /dev/null +++ b/plymouth-quit-and-wait-for-emergency-service.patch @@ -0,0 +1,35 @@ +--- systemd-208/units/console-shell.service.m4.in ++++ systemd-208/units/console-shell.service.m4.in 2014-02-05 11:28:31.446735287 +0000 +@@ -17,6 +17,8 @@ Before=getty.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root ++ExecStartPre=-/usr/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth --wait + ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ poweroff + Type=idle +--- systemd-208/units/rescue.service.m4.in ++++ systemd-208/units/rescue.service.m4.in 2014-02-05 11:28:45.214235524 +0000 +@@ -16,7 +16,8 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' + ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ --fail --no-block default +--- systemd-208/units/emergency.service.in ++++ systemd-208/units/emergency.service.in 2014-02-05 11:28:51.782235282 +0000 +@@ -15,7 +15,8 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' + ExecStart=-/usr/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default diff --git a/systemd-mini.changes b/systemd-mini.changes index 39675682..30031a9b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to disable the workaround to find /dev/3270/tty1 as this now + should be done by a) the kernel patch + http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html + and the changed udev rule 99-systemd.rules + +------------------------------------------------------------------- +Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com + +- Remove PreReq pidof from udev, nothing in this pkg uses it + +------------------------------------------------------------------- +Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to re-enable colouring if 3270 console was enforced on the kernel + command line as 3270 cna handle colour ANSI escape sequences. + Also let the serial getty generator find the /dev/3270/tty1 + character device (bnc#861316) + +------------------------------------------------------------------- +Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de + +- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to strip the colouring ANSI escape sequences from the console + messages (bnc#860937) + ------------------------------------------------------------------- Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 33ae73a6..fbeba0d4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -271,6 +271,10 @@ Patch87: 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch Patch88: 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch # PATCH-FIX-UPSTREAM 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch -- Make sure final SIGKILL actually kills everything (bnc#841544) Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch +# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch +Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch +# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty +Patch91: plymouth-quit-and-wait-for-emergency-service.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -352,7 +356,7 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq Requires(post): lib%{udevpkgname}%{udev_major} Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 @@ -580,6 +584,8 @@ cp %{SOURCE7} m4/ %patch87 -p1 %patch88 -p1 %patch89 -p1 +%patch90 -p1 +%patch91 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 39675682..30031a9b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to disable the workaround to find /dev/3270/tty1 as this now + should be done by a) the kernel patch + http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html + and the changed udev rule 99-systemd.rules + +------------------------------------------------------------------- +Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com + +- Remove PreReq pidof from udev, nothing in this pkg uses it + +------------------------------------------------------------------- +Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de + +- Change and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to re-enable colouring if 3270 console was enforced on the kernel + command line as 3270 cna handle colour ANSI escape sequences. + Also let the serial getty generator find the /dev/3270/tty1 + character device (bnc#861316) + +------------------------------------------------------------------- +Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de + +- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to strip the colouring ANSI escape sequences from the console + messages (bnc#860937) + ------------------------------------------------------------------- Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 07823db2..4dfc1227 100644 --- a/systemd.spec +++ b/systemd.spec @@ -266,6 +266,10 @@ Patch87: 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch Patch88: 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch # PATCH-FIX-UPSTREAM 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch -- Make sure final SIGKILL actually kills everything (bnc#841544) Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch +# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch +Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch +# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty +Patch91: plymouth-quit-and-wait-for-emergency-service.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -347,7 +351,7 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq Requires(post): lib%{udevpkgname}%{udev_major} Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 @@ -575,6 +579,8 @@ cp %{SOURCE7} m4/ %patch87 -p1 %patch88 -p1 %patch89 -p1 +%patch90 -p1 +%patch91 -p1 # udev patches %patch1001 -p1 From 274bb735428b985f9dba50e3ed1ad0943d3eeec01e7fc51a3b658f85db11d1d5 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 11 Feb 2014 09:47:10 +0000 Subject: [PATCH 170/991] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=175 --- systemd-rpm-macros.spec | 57 ----------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 systemd-rpm-macros.spec diff --git a/systemd-rpm-macros.spec b/systemd-rpm-macros.spec deleted file mode 100644 index c8e0234c..00000000 --- a/systemd-rpm-macros.spec +++ /dev/null @@ -1,57 +0,0 @@ -# -# spec file for package systemd-rpm-macros -# -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -#!BuildIgnore: util-linux - -Name: systemd-rpm-macros -Version: 2 -Release: 0 -Summary: RPM macros for systemd -License: LGPL-2.1+ -Group: System/Base -Url: http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines -Source0: macros.systemd -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildArch: noarch - -%description -Starting with openSUSE 12.1, several RPM macros must be used to package systemd -services files. This package provides these macros. - -%prep - -%build - -%install -mkdir -p %{buildroot}%{_sysconfdir}/rpm -install -m644 %{S:0} %{buildroot}%{_sysconfdir}/rpm -UNITDIR="`cat %{S:0} | sed -n 's|.*_unitdir[[:blank:]]*||p'`" -for i in $UNITDIR `dirname $UNITDIR`; do - mkdir -p %{buildroot}$i - echo $i >> unitdir -done - -%post - -%postun - -%files -f unitdir -%defattr(-,root,root) -%{_sysconfdir}/rpm/macros.systemd - -%changelog From d24108b9c90854439a3bdb0b8418d0f28315c4c21f5121b1e0773b6f56b02b05 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 15 Feb 2014 16:19:18 +0000 Subject: [PATCH 171/991] Accepting request 222383 from Base:System - Add several upstream bugfix patches which are missed: * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch * 0026-udevadm.xml-document-resolve-names-option-for-test.patch * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch * 0031-man-document-the-b-special-boot-option.patch * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch * 0035-activate-mention-E-in-the-help-text.patch * 0036-activate-fix-crash-when-s-is-passed.patch * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch * 0038-core-socket-fix-SO_REUSEPORT.patch * 0039-journal-when-appending-to-journal-file-allocate-larg.patch * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch * 0043-journal-simplify-pre-allocation-logic.patch * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch * 0049-systemd-treat-reload-failure-as-failure.patch - Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch to avoid potential NULL pointer - Reorder patches to reflect udev/systemd usage - don't build bash-completions for bootstrap package - add more requires to this-is-only-for-build-envs to avoid problems in kiwi configs OBS-URL: https://build.opensuse.org/request/show/222383 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=176 --- ...-snprintf-a-potentially-NULL-pointer.patch | 25 ++ ...what-to-RequiresMountsFor-for-networ.patch | 181 +++++++++++++ ...cument-resolve-names-option-for-test.patch | 34 +++ ...in-systemd-bootchart-on-short-living.patch | 34 +++ ...n-document-the-b-special-boot-option.patch | 37 +++ ...t-some-of-the-rules-to-the-add-actio.patch | 81 ++++++ ...ccessible-FUSE-mount-points-only-as-.patch | 37 +++ ...ix-booted-and-add-two-functions-to-d.patch | 26 ++ ...-activate-mention-E-in-the-help-text.patch | 25 ++ ...-activate-fix-crash-when-s-is-passed.patch | 26 ++ ...excludes-for-the-new-per-service-pri.patch | 43 +++ 0038-core-socket-fix-SO_REUSEPORT.patch | 38 +++ ...ending-to-journal-file-allocate-larg.patch | 80 ++++++ ...-bisection-logic-a-bit-by-caching-th.patch | 247 ++++++++++++++++++ ...ation-when-we-go-backwards-from-the-.patch | 26 ++ ...urnal_file_copy_entry-to-work-on-non.patch | 28 ++ ...ournal-simplify-pre-allocation-logic.patch | 61 +++++ ...-how-long-we-needed-to-flush-to-var-.patch | 58 ++++ ...return-value-from-ttyname_r-is-0-ins.patch | 31 +++ ...-remove-unneeded-the-s-in-gudev-docs.patch | 41 +++ ...ay-when-multiple-units-can-be-specif.patch | 238 +++++++++++++++++ ...temd-treat-reload-failure-as-failure.patch | 93 +++++++ ...orrect-who-enum-values-with-KillUnit.patch | 31 +++ macros.systemd | 129 --------- systemd-mini.changes | 76 ++++++ systemd-mini.spec | 183 +++++++++---- systemd-rpm-macros.changes | 11 - systemd.changes | 76 ++++++ systemd.spec | 183 +++++++++---- write_dev_root_rule | 2 +- 30 files changed, 1938 insertions(+), 243 deletions(-) create mode 100644 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch create mode 100644 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch create mode 100644 0026-udevadm.xml-document-resolve-names-option-for-test.patch create mode 100644 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch create mode 100644 0031-man-document-the-b-special-boot-option.patch create mode 100644 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch create mode 100644 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch create mode 100644 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch create mode 100644 0035-activate-mention-E-in-the-help-text.patch create mode 100644 0036-activate-fix-crash-when-s-is-passed.patch create mode 100644 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch create mode 100644 0038-core-socket-fix-SO_REUSEPORT.patch create mode 100644 0039-journal-when-appending-to-journal-file-allocate-larg.patch create mode 100644 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch create mode 100644 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch create mode 100644 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch create mode 100644 0043-journal-simplify-pre-allocation-logic.patch create mode 100644 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch create mode 100644 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch create mode 100644 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch create mode 100644 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch create mode 100644 0049-systemd-treat-reload-failure-as-failure.patch create mode 100644 0145-logind-use-correct-who-enum-values-with-KillUnit.patch delete mode 100644 macros.systemd delete mode 100644 systemd-rpm-macros.changes diff --git a/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch b/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch new file mode 100644 index 00000000..7f0f7b9c --- /dev/null +++ b/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch @@ -0,0 +1,25 @@ +From 5effdfa831d75306fc0ff9b47d39997e4ae87f16 Mon Sep 17 00:00:00 2001 +From: Michael Meeks +Date: Tue, 11 Feb 2014 14:42:26 +0000 +Subject: [PATCH] Don't snprintf a potentially NULL pointer. + +--- + src/shared/log.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/log.c b/src/shared/log.c +index 2a075ff..d6b138f 100644 +--- a/src/shared/log.c ++++ b/src/shared/log.c +@@ -479,7 +479,7 @@ static int log_do_header(char *header, size_t size, + func ? "CODE_FUNCTION=" : "", + func ? LINE_MAX : 0, func, + func ? "\n" : "", +- object ? object_name : "", ++ object_name ? object_name : "", + object ? LINE_MAX : 0, object, /* %.0s means no output */ + object ? "\n" : "", + program_invocation_short_name); +-- +1.8.4.5 + diff --git a/0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch b/0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch new file mode 100644 index 00000000..e6981e63 --- /dev/null +++ b/0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch @@ -0,0 +1,181 @@ +From fc676b00a7545743429e0c9b12a0f0707b1059aa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 5 Oct 2013 13:09:43 -0400 +Subject: [PATCH] core: do not add "what" to RequiresMountsFor for network + mounts + +For cifs mount like //server/share, we would get +RequiresMountsFor=/server/share, which probably isn't +harmful, but quite confusing. + +Unfortunately a bunch of static functions had to be moved +up, but patch is really one line. +--- + src/core/mount.c | 137 ++++++++++++++++++++++++++++-------------------------- + 1 file changed, 70 insertions(+), 67 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index db055f0..70cd372 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -59,6 +59,72 @@ static const UnitActiveState state_translation_table[_MOUNT_STATE_MAX] = { + [MOUNT_FAILED] = UNIT_FAILED + }; + ++static char* mount_test_option(const char *haystack, const char *needle) { ++ struct mntent me = { .mnt_opts = (char*) haystack }; ++ ++ assert(needle); ++ ++ /* Like glibc's hasmntopt(), but works on a string, not a ++ * struct mntent */ ++ ++ if (!haystack) ++ return NULL; ++ ++ return hasmntopt(&me, needle); ++} ++ ++static bool mount_is_network(MountParameters *p) { ++ assert(p); ++ ++ if (mount_test_option(p->options, "_netdev")) ++ return true; ++ ++ if (p->fstype && fstype_is_network(p->fstype)) ++ return true; ++ ++ return false; ++} ++ ++static bool mount_is_bind(MountParameters *p) { ++ assert(p); ++ ++ if (mount_test_option(p->options, "bind")) ++ return true; ++ ++ if (p->fstype && streq(p->fstype, "bind")) ++ return true; ++ ++ if (mount_test_option(p->options, "rbind")) ++ return true; ++ ++ if (p->fstype && streq(p->fstype, "rbind")) ++ return true; ++ ++ return false; ++} ++ ++static bool mount_is_auto(MountParameters *p) { ++ assert(p); ++ ++ return !mount_test_option(p->options, "noauto"); ++} ++ ++static bool needs_quota(MountParameters *p) { ++ assert(p); ++ ++ if (mount_is_network(p)) ++ return false; ++ ++ if (mount_is_bind(p)) ++ return false; ++ ++ return mount_test_option(p->options, "usrquota") || ++ mount_test_option(p->options, "grpquota") || ++ mount_test_option(p->options, "quota") || ++ mount_test_option(p->options, "usrjquota") || ++ mount_test_option(p->options, "grpjquota"); ++} ++ + static void mount_init(Unit *u) { + Mount *m = MOUNT(u); + +@@ -182,7 +248,10 @@ static int mount_add_mount_links(Mount *m) { + * for the source path (if this is a bind mount) to be + * available. */ + pm = get_mount_parameters_fragment(m); +- if (pm && pm->what && path_is_absolute(pm->what)) { ++ if (pm && pm->what && ++ path_is_absolute(pm->what) && ++ !mount_is_network(pm)) { ++ + r = unit_require_mounts_for(UNIT(m), pm->what); + if (r < 0) + return r; +@@ -214,72 +283,6 @@ static int mount_add_mount_links(Mount *m) { + return 0; + } + +-static char* mount_test_option(const char *haystack, const char *needle) { +- struct mntent me = { .mnt_opts = (char*) haystack }; +- +- assert(needle); +- +- /* Like glibc's hasmntopt(), but works on a string, not a +- * struct mntent */ +- +- if (!haystack) +- return NULL; +- +- return hasmntopt(&me, needle); +-} +- +-static bool mount_is_network(MountParameters *p) { +- assert(p); +- +- if (mount_test_option(p->options, "_netdev")) +- return true; +- +- if (p->fstype && fstype_is_network(p->fstype)) +- return true; +- +- return false; +-} +- +-static bool mount_is_bind(MountParameters *p) { +- assert(p); +- +- if (mount_test_option(p->options, "bind")) +- return true; +- +- if (p->fstype && streq(p->fstype, "bind")) +- return true; +- +- if (mount_test_option(p->options, "rbind")) +- return true; +- +- if (p->fstype && streq(p->fstype, "rbind")) +- return true; +- +- return false; +-} +- +-static bool mount_is_auto(MountParameters *p) { +- assert(p); +- +- return !mount_test_option(p->options, "noauto"); +-} +- +-static bool needs_quota(MountParameters *p) { +- assert(p); +- +- if (mount_is_network(p)) +- return false; +- +- if (mount_is_bind(p)) +- return false; +- +- return mount_test_option(p->options, "usrquota") || +- mount_test_option(p->options, "grpquota") || +- mount_test_option(p->options, "quota") || +- mount_test_option(p->options, "usrjquota") || +- mount_test_option(p->options, "grpjquota"); +-} +- + static int mount_add_device_links(Mount *m) { + MountParameters *p; + bool device_wants_mount = false; +-- +1.7.9.2 + diff --git a/0026-udevadm.xml-document-resolve-names-option-for-test.patch b/0026-udevadm.xml-document-resolve-names-option-for-test.patch new file mode 100644 index 00000000..04d30323 --- /dev/null +++ b/0026-udevadm.xml-document-resolve-names-option-for-test.patch @@ -0,0 +1,34 @@ +From 14a9283eb38a93ec384c322ccbe06352c86a25f8 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sun, 13 Oct 2013 17:42:51 -0400 +Subject: [PATCH] udevadm.xml: document --resolve-names option for test + +And remove documentation of the --subsystem flag which doesn't actually +exist. +--- + man/udevadm.xml | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git man/udevadm.xml man/udevadm.xml +index d0b257d..b959216 100644 +--- man/udevadm.xml ++++ man/udevadm.xml +@@ -462,9 +462,13 @@ + + + +- ++ + +- The subsystem string. ++ Specify when udevadm should resolve names of users and groups. ++ When set to early (the default) names will be resolved when the ++ rules are parsed. When set to late names will be resolved for ++ every event. When set to never names will never be resolved and ++ all devices will be owned by root. + + + +-- +1.7.9.2 + diff --git a/0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch b/0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch new file mode 100644 index 00000000..bd8c2b31 --- /dev/null +++ b/0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch @@ -0,0 +1,34 @@ +From 306e6650221d88b29831bcdcef94447afb65df5c Mon Sep 17 00:00:00 2001 +From: Igor Zhbanov +Date: Tue, 15 Oct 2013 14:35:13 +0400 +Subject: [PATCH] Fix for SIGSEGV in systemd-bootchart on short-living + processes + +The function svg_ps_bars() dereferencess NULL pointer in the line + endtime = ps->last->sampledata->sampletime; +because of partially initialized ps_struct (ps->last == NULL). + +If some process terminates between scaning /proc directory in the log_sample() +function and reading additional information from /proc/PID/... files, +the files couldn't be read, the loop will be continued and partially +initialized structure returned. +--- + src/bootchart/store.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/bootchart/store.c src/bootchart/store.c +index f8c97c2..7f86cfe 100644 +--- src/bootchart/store.c ++++ src/bootchart/store.c +@@ -275,7 +275,7 @@ schedstat_next: + pscount++; + + /* mark our first sample */ +- ps->first = ps->sample; ++ ps->first = ps->last = ps->sample; + ps->sample->runtime = atoll(rt); + ps->sample->waittime = atoll(wt); + +-- +1.7.9.2 + diff --git a/0031-man-document-the-b-special-boot-option.patch b/0031-man-document-the-b-special-boot-option.patch new file mode 100644 index 00000000..9d45f618 --- /dev/null +++ b/0031-man-document-the-b-special-boot-option.patch @@ -0,0 +1,37 @@ +From 775657712d0f6d14b70a0fe947a95a9ecc212440 Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Tue, 15 Oct 2013 08:58:50 +0200 +Subject: [PATCH] man: document the -b special boot option + +--- + man/kernel-command-line.xml | 1 + + man/systemd.xml | 1 + + 2 files changed, 2 insertions(+) + +diff --git man/kernel-command-line.xml man/kernel-command-line.xml +index cc267a3..abe68e5 100644 +--- man/kernel-command-line.xml ++++ man/kernel-command-line.xml +@@ -123,6 +123,7 @@ + + + ++ -b + emergency + single + s +diff --git man/systemd.xml man/systemd.xml +index fe6e331..85c06d3 100644 +--- man/systemd.xml ++++ man/systemd.xml +@@ -1149,6 +1149,7 @@ + + + ++ -b + emergency + + Boot into emergency +-- +1.7.9.2 + diff --git a/0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch b/0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch new file mode 100644 index 00000000..ff651c17 --- /dev/null +++ b/0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch @@ -0,0 +1,81 @@ +Patch based on + + From e0d856dd48d640f3d95efe7b769edec02373cc74 Mon Sep 17 00:00:00 2001 + From: Lennart Poettering + Date: Wed, 16 Oct 2013 02:51:24 +0200 + Subject: [PATCH] rules: don't limit some of the rules to the "add" action + + Devices should show up in systemd regardless whether the user invoked + "udevadm trigger" or not. Before this change some devices might have + suddenly disappeared due issuing that command. + +and also on + + From 1a0464230c08506c3fd715ff7cc56660df3a85ca Mon Sep 17 00:00:00 2001 + From: Bastien Nocera + Date: Fri, 11 Oct 2013 07:45:32 +0000 + Subject: Add support for saving/restoring keyboard backlights + + Piggy-backing on the display backlight code, this saves and restores + keyboard backlights on supported devices. + + The detection code matches that of UPower: + http://cgit.freedesktop.org/upower/tree/src/up-kbd-backlight.c#n173 + + https://bugs.freedesktop.org/show_bug.cgi?id=70367 + + [tomegun: also work for devices named "{smc,samsung,asus}::kbd_backlight"] + +--- + rules/99-systemd.rules.in | 10 ++++++---- + src/backlight/backlight.c | 7 +++++-- + 2 files changed, 11 insertions(+), 6 deletions(-) + +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in 2014-02-14 14:46:48.358235397 +0000 +@@ -51,14 +51,16 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_dev + + ACTION=="add", SUBSYSTEM=="net", KERNEL!="lo", RUN+="@rootlibexecdir@/systemd-sysctl --prefix=/proc/sys/net/ipv4/conf/$name --prefix=/proc/sys/net/ipv4/neigh/$name --prefix=/proc/sys/net/ipv6/conf/$name --prefix=/proc/sys/net/ipv6/neigh/$name" + +-# Pull in backlight save/restore for all firmware backlight devices ++# Pull in backlight save/restore for all backlight devices and ++# keyboard backlights + +-ACTION=="add", SUBSYSTEM=="backlight", ATTR{type}=="firmware", TAG+="systemd", ENV{SYSTEMD_WANTS}+="systemd-backlight@$name.service" ++SUBSYSTEM=="backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@backlight:$name.service" ++SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@leds:$name.service" + + # Asynchronously mount file systems implemented by these modules as + # soon as they are loaded. + +-SUBSYSTEM=="module", KERNEL=="fuse", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-fs-fuse-connections.mount" +-SUBSYSTEM=="module", KERNEL=="configfs", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-kernel-config.mount" ++SUBSYSTEM=="module", KERNEL=="fuse", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-fs-fuse-connections.mount" ++SUBSYSTEM=="module", KERNEL=="configfs", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-kernel-config.mount" + + LABEL="systemd_end" +--- src/backlight/backlight.c ++++ src/backlight/backlight.c 2014-02-14 15:20:47.534298128 +0000 +@@ -56,9 +56,11 @@ int main(int argc, char *argv[]) { + + errno = 0; + device = udev_device_new_from_subsystem_sysname(udev, "backlight", argv[2]); ++ if (!device) ++ device = udev_device_new_from_subsystem_sysname(udev, "leds", argv[2]); + if (!device) { + if (errno != 0) { +- log_error("Failed to get backlight device: %m"); ++ log_error("Failed to get backlight device '%s': %m", argv[2]); + r = -errno; + } else + r = log_oom(); +@@ -66,7 +68,8 @@ int main(int argc, char *argv[]) { + goto finish; + } + +- if (!streq_ptr(udev_device_get_subsystem(device), "backlight")) { ++ if (!streq_ptr(udev_device_get_subsystem(device), "backlight") && ++ !streq_ptr(udev_device_get_subsystem(device), "leds")) { + log_error("Not a backlight device: %s", argv[2]); + r = -ENODEV; + goto finish; diff --git a/0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch b/0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch new file mode 100644 index 00000000..c14d8d70 --- /dev/null +++ b/0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch @@ -0,0 +1,37 @@ +From ca2f4176fee7dd5f5664429988e7059163fddb2d Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 17 Oct 2013 03:20:46 +0200 +Subject: [PATCH] tmpfiles: log unaccessible FUSE mount points only as debug + message + +--- + src/tmpfiles/tmpfiles.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index 3cc831a..e23847b 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -275,12 +275,15 @@ static int dir_cleanup( + continue; + + if (fstatat(dirfd(d), dent->d_name, &s, AT_SYMLINK_NOFOLLOW) < 0) { ++ if (errno == ENOENT) ++ continue; + +- if (errno != ENOENT) { ++ /* FUSE, NFS mounts, SELinux might return EACCES */ ++ if (errno == EACCES) ++ log_debug("stat(%s/%s) failed: %m", p, dent->d_name); ++ else + log_error("stat(%s/%s) failed: %m", p, dent->d_name); +- r = -errno; +- } +- ++ r = -errno; + continue; + } + +-- +1.7.9.2 + diff --git a/0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch b/0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch new file mode 100644 index 00000000..07bfe49a --- /dev/null +++ b/0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch @@ -0,0 +1,26 @@ +From a23873387a6e722b711092c89a08ab3f3d19361c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 11 Nov 2013 19:53:59 -0500 +Subject: [PATCH] systemd-python: fix booted() and add two functions to docs + +For some reason sphinx doesn't want to show inherited C functions. +--- + src/python-systemd/_daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/python-systemd/_daemon.c src/python-systemd/_daemon.c +index 6b84fb8..f0ab16f 100644 +--- src/python-systemd/_daemon.c ++++ src/python-systemd/_daemon.c +@@ -51,7 +51,7 @@ static PyObject* booted(PyObject *self, PyObject *args) { + assert(args == NULL); + + r = sd_booted(); +- if (set_error(r, NULL, NULL)) ++ if (set_error(r, NULL, NULL) < 0) + return NULL; + + return PyBool_FromLong(r); +-- +1.7.9.2 + diff --git a/0035-activate-mention-E-in-the-help-text.patch b/0035-activate-mention-E-in-the-help-text.patch new file mode 100644 index 00000000..92ae2ded --- /dev/null +++ b/0035-activate-mention-E-in-the-help-text.patch @@ -0,0 +1,25 @@ +From df49ccafc0d57c731a3da3014ad55d5bb9ed3e1b 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 src/activate/activate.c src/activate/activate.c +index 07e46b9..537626d 100644 +--- src/activate/activate.c ++++ src/activate/activate.c +@@ -289,6 +289,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" +-- +1.7.9.2 + diff --git a/0036-activate-fix-crash-when-s-is-passed.patch b/0036-activate-fix-crash-when-s-is-passed.patch new file mode 100644 index 00000000..e1a0b2b1 --- /dev/null +++ b/0036-activate-fix-crash-when-s-is-passed.patch @@ -0,0 +1,26 @@ +From ed6556920c1a6cdfe0bb04e806bc1f54ea191545 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 src/activate/activate.c src/activate/activate.c +index 537626d..2639d1c 100644 +--- src/activate/activate.c ++++ src/activate/activate.c +@@ -344,7 +344,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(); +-- +1.7.9.2 + diff --git a/0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch b/0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch new file mode 100644 index 00000000..2ced4b3d --- /dev/null +++ b/0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch @@ -0,0 +1,43 @@ +From 87267de89ddce9b1b812b720e1fc9a6cb554236e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 16 Nov 2013 17:29:28 -0500 +Subject: [PATCH] tmpfiles: adjust excludes for the new per-service private + dirs + +In d8c9d3a (systemd: use unit name in PrivateTmp directories) +I forgot to update the tmpfiles config. +--- + tmpfiles.d/tmp.conf | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git tmpfiles.d/tmp.conf tmpfiles.d/tmp.conf +index 3b534a1..f0312ef 100644 +--- tmpfiles.d/tmp.conf ++++ tmpfiles.d/tmp.conf +@@ -12,6 +12,23 @@ d /tmp 1777 root root 10d + d /var/tmp 1777 root root - + + # Exclude namespace mountpoints created with PrivateTmp=yes ++x /tmp/systemd-*.service-* ++x /var/tmp/systemd-*.service-* ++X /tmp/systemd-*.service-*/tmp ++X /var/tmp/systemd-*.service-*/tmp ++x /tmp/systemd-*.socket-* ++x /var/tmp/systemd-*.socket-* ++X /tmp/systemd-*.socket-*/tmp ++X /var/tmp/systemd-*.socket-*/tmp ++x /tmp/systemd-*.mount-* ++x /var/tmp/systemd-*.mount-* ++X /tmp/systemd-*.mount-*/tmp ++X /var/tmp/systemd-*.mount-*/tmp ++x /tmp/systemd-*.swap-* ++x /var/tmp/systemd-*.swap-* ++X /tmp/systemd-*.swap-*/tmp ++X /var/tmp/systemd-*.swap-*/tmp ++# keep those for compatibility during upgrades + x /tmp/systemd-private-* + x /var/tmp/systemd-private-* + X /tmp/systemd-private-*/tmp +-- +1.7.9.2 + diff --git a/0038-core-socket-fix-SO_REUSEPORT.patch b/0038-core-socket-fix-SO_REUSEPORT.patch new file mode 100644 index 00000000..c613c97a --- /dev/null +++ b/0038-core-socket-fix-SO_REUSEPORT.patch @@ -0,0 +1,38 @@ +From f0511bd7e3d591383485a36ddcb764abe74b1939 Mon Sep 17 00:00:00 2001 +From: Shawn Landden +Date: Sat, 16 Nov 2013 13:18:13 -0800 +Subject: [PATCH] core/socket: fix SO_REUSEPORT + +--- + src/core/load-fragment-gperf.gperf.m4 | 1 + + src/core/socket.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git src/core/load-fragment-gperf.gperf.m4 src/core/load-fragment-gperf.gperf.m4 +index e3025d2..b64fdc9 100644 +--- src/core/load-fragment-gperf.gperf.m4 ++++ src/core/load-fragment-gperf.gperf.m4 +@@ -210,6 +210,7 @@ Socket.Broadcast, config_parse_bool, 0, + Socket.PassCredentials, config_parse_bool, 0, offsetof(Socket, pass_cred) + Socket.PassSecurity, config_parse_bool, 0, offsetof(Socket, pass_sec) + Socket.TCPCongestion, config_parse_string, 0, offsetof(Socket, tcp_congestion) ++Socket.ReusePort, config_parse_bool, 0, offsetof(Socket, reuseport) + Socket.MessageQueueMaxMessages, config_parse_long, 0, offsetof(Socket, mq_maxmsg) + Socket.MessageQueueMessageSize, config_parse_long, 0, offsetof(Socket, mq_msgsize) + Socket.Service, config_parse_socket_service, 0, 0 +diff --git src/core/socket.c src/core/socket.c +index f505e4f..751f20b 100644 +--- src/core/socket.c ++++ src/core/socket.c +@@ -771,7 +771,7 @@ static void socket_apply_socket_options(Socket *s, int fd) { + + if (s->reuseport) { + int b = s->reuseport; +- if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &b, sizeof(b))) ++ if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &b, sizeof(b)) < 0) + log_warning_unit(UNIT(s)->id, "SO_REUSEPORT failed: %m"); + } + +-- +1.7.9.2 + diff --git a/0039-journal-when-appending-to-journal-file-allocate-larg.patch b/0039-journal-when-appending-to-journal-file-allocate-larg.patch new file mode 100644 index 00000000..9e93024e --- /dev/null +++ b/0039-journal-when-appending-to-journal-file-allocate-larg.patch @@ -0,0 +1,80 @@ +From a676e66535e12458ea6d366a653f8dd60f982504 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 26 Nov 2013 18:39:42 +0100 +Subject: [PATCH] journal: when appending to journal file, allocate larger + blocks at once + +--- + src/journal/journal-file.c | 26 +++++++++++++++++--------- + 1 file changed, 17 insertions(+), 9 deletions(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index bc72fca..d606ada 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -68,6 +68,9 @@ + /* How many entries to keep in the entry array chain cache at max */ + #define CHAIN_CACHE_MAX 20 + ++/* How much to increase the journal file size at once each time we allocate something new. */ ++#define FILE_SIZE_INCREASE (8ULL*1024ULL*1024ULL) /* 8MB */ ++ + int journal_file_set_online(JournalFile *f) { + assert(f); + +@@ -218,8 +221,7 @@ static int journal_file_refresh_header(JournalFile *f) { + journal_file_set_online(f); + + /* Sync the online state to disk */ +- msync(f->header, PAGE_ALIGN(sizeof(Header)), MS_SYNC); +- fdatasync(f->fd); ++ fsync(f->fd); + + return 0; + } +@@ -313,7 +315,7 @@ static int journal_file_verify_header(JournalFile *f) { + } + + static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { +- uint64_t old_size, new_size; ++ uint64_t old_size, new_size, file_size; + int r; + + assert(f); +@@ -333,12 +335,10 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) + if (new_size <= old_size) + return 0; + +- if (f->metrics.max_size > 0 && +- new_size > f->metrics.max_size) ++ if (f->metrics.max_size > 0 && new_size > f->metrics.max_size) + return -E2BIG; + +- if (new_size > f->metrics.min_size && +- f->metrics.keep_free > 0) { ++ if (new_size > f->metrics.min_size && f->metrics.keep_free > 0) { + struct statvfs svfs; + + if (fstatvfs(f->fd, &svfs) >= 0) { +@@ -363,8 +363,16 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) + if (r != 0) + return -r; + +- if (fstat(f->fd, &f->last_stat) < 0) +- return -errno; ++ /* Increase the file size a bit further than this, so that we ++ * we can create larger memory maps to cache */ ++ file_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE; ++ if (file_size > (uint64_t) f->last_stat.st_size) { ++ if (file_size > new_size) ++ ftruncate(f->fd, file_size); ++ ++ if (fstat(f->fd, &f->last_stat) < 0) ++ return -errno; ++ } + + f->header->arena_size = htole64(new_size - le64toh(f->header->header_size)); + +-- +1.7.9.2 + diff --git a/0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch b/0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch new file mode 100644 index 00000000..74368958 --- /dev/null +++ b/0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch @@ -0,0 +1,247 @@ +From f268980d2cee694fa4118a71402a47c316af0425 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 26 Nov 2013 20:37:53 +0100 +Subject: [PATCH] journal: optimize bisection logic a bit by caching the last + position + +This way we can do a quick restart limiting a bit how wildly we need to +jump around during the bisection process. +--- + src/journal/journal-file.c | 134 ++++++++++++++++++++++++++++++++------------ + 1 file changed, 99 insertions(+), 35 deletions(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index 481c242..27cd16f 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -1366,6 +1366,7 @@ typedef struct ChainCacheItem { + uint64_t array; /* the cached array */ + uint64_t begin; /* the first item in the cached array */ + uint64_t total; /* the total number of items in all arrays before this one in the chain */ ++ uint64_t last_index; /* the last index we looked at, to optimize locality when bisecting */ + } ChainCacheItem; + + static void chain_cache_put( +@@ -1374,7 +1375,8 @@ static void chain_cache_put( + uint64_t first, + uint64_t array, + uint64_t begin, +- uint64_t total) { ++ uint64_t total, ++ uint64_t last_index) { + + if (!ci) { + /* If the chain item to cache for this chain is the +@@ -1402,12 +1404,14 @@ static void chain_cache_put( + ci->array = array; + ci->begin = begin; + ci->total = total; ++ ci->last_index = last_index; + } + +-static int generic_array_get(JournalFile *f, +- uint64_t first, +- uint64_t i, +- Object **ret, uint64_t *offset) { ++static int generic_array_get( ++ JournalFile *f, ++ uint64_t first, ++ uint64_t i, ++ Object **ret, uint64_t *offset) { + + Object *o; + uint64_t p = 0, a, t = 0; +@@ -1448,7 +1452,7 @@ static int generic_array_get(JournalFile *f, + + found: + /* Let's cache this item for the next invocation */ +- chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t); ++ chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t, i); + + r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o); + if (r < 0) +@@ -1463,11 +1467,12 @@ found: + return 1; + } + +-static int generic_array_get_plus_one(JournalFile *f, +- uint64_t extra, +- uint64_t first, +- uint64_t i, +- Object **ret, uint64_t *offset) { ++static int generic_array_get_plus_one( ++ JournalFile *f, ++ uint64_t extra, ++ uint64_t first, ++ uint64_t i, ++ Object **ret, uint64_t *offset) { + + Object *o; + +@@ -1498,17 +1503,18 @@ enum { + TEST_RIGHT + }; + +-static int generic_array_bisect(JournalFile *f, +- uint64_t first, +- uint64_t n, +- uint64_t needle, +- int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), +- direction_t direction, +- Object **ret, +- uint64_t *offset, +- uint64_t *idx) { +- +- uint64_t a, p, t = 0, i = 0, last_p = 0; ++static int generic_array_bisect( ++ JournalFile *f, ++ uint64_t first, ++ uint64_t n, ++ uint64_t needle, ++ int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), ++ direction_t direction, ++ Object **ret, ++ uint64_t *offset, ++ uint64_t *idx) { ++ ++ uint64_t a, p, t = 0, i = 0, last_p = 0, last_index = (uint64_t) -1; + bool subtract_one = false; + Object *o, *array = NULL; + int r; +@@ -1533,7 +1539,7 @@ static int generic_array_bisect(JournalFile *f, + return r; + + if (r == TEST_LEFT) { +- /* OK, what we are looking for is right of th ++ /* OK, what we are looking for is right of the + * begin of this EntryArray, so let's jump + * straight to previously cached array in the + * chain */ +@@ -1541,6 +1547,7 @@ static int generic_array_bisect(JournalFile *f, + a = ci->array; + n -= ci->total; + t = ci->total; ++ last_index = ci->last_index; + } + } + +@@ -1571,6 +1578,60 @@ static int generic_array_bisect(JournalFile *f, + if (r == TEST_RIGHT) { + left = 0; + right -= 1; ++ ++ if (last_index != (uint64_t) -1) { ++ assert(last_index <= right); ++ ++ /* If we cached the last index we ++ * looked at, let's try to not to jump ++ * too wildly around and see if we can ++ * limit the range to look at early to ++ * the immediate neighbors of the last ++ * index we looked at. */ ++ ++ if (last_index > 0) { ++ uint64_t x = last_index - 1; ++ ++ p = le64toh(array->entry_array.items[x]); ++ if (p <= 0) ++ return -EBADMSG; ++ ++ r = test_object(f, p, needle); ++ if (r < 0) ++ return r; ++ ++ if (r == TEST_FOUND) ++ r = direction == DIRECTION_DOWN ? TEST_RIGHT : TEST_LEFT; ++ ++ if (r == TEST_RIGHT) ++ right = x; ++ else ++ left = x + 1; ++ } ++ ++ if (last_index < right) { ++ uint64_t y = last_index + 1; ++ ++ p = le64toh(array->entry_array.items[y]); ++ if (p <= 0) ++ return -EBADMSG; ++ ++ r = test_object(f, p, needle); ++ if (r < 0) ++ return r; ++ ++ if (r == TEST_FOUND) ++ r = direction == DIRECTION_DOWN ? TEST_RIGHT : TEST_LEFT; ++ ++ if (r == TEST_RIGHT) ++ right = y; ++ else ++ left = y + 1; ++ } ++ ++ last_index = (uint64_t) -1; ++ } ++ + for (;;) { + if (left == right) { + if (direction == DIRECTION_UP) +@@ -1581,8 +1642,8 @@ static int generic_array_bisect(JournalFile *f, + } + + assert(left < right); +- + i = (left + right) / 2; ++ + p = le64toh(array->entry_array.items[i]); + if (p <= 0) + return -EBADMSG; +@@ -1615,6 +1676,7 @@ static int generic_array_bisect(JournalFile *f, + + n -= k; + t += k; ++ last_index = (uint64_t) -1; + a = le64toh(array->entry_array.next_entry_array_offset); + } + +@@ -1625,7 +1687,7 @@ found: + return 0; + + /* Let's cache this item for the next invocation */ +- chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t); ++ chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, i + (subtract_one ? -1 : 0)); + + if (subtract_one && i == 0) + p = last_p; +@@ -1650,16 +1712,18 @@ found: + return 1; + } + +-static int generic_array_bisect_plus_one(JournalFile *f, +- uint64_t extra, +- uint64_t first, +- uint64_t n, +- uint64_t needle, +- int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), +- direction_t direction, +- Object **ret, +- uint64_t *offset, +- uint64_t *idx) { ++ ++static int generic_array_bisect_plus_one( ++ JournalFile *f, ++ uint64_t extra, ++ uint64_t first, ++ uint64_t n, ++ uint64_t needle, ++ int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), ++ direction_t direction, ++ Object **ret, ++ uint64_t *offset, ++ uint64_t *idx) { + + int r; + bool step_back = false; +-- +1.7.9.2 + diff --git a/0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch b/0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch new file mode 100644 index 00000000..24c02269 --- /dev/null +++ b/0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch @@ -0,0 +1,26 @@ +From e5462cd80e5328a769137c261c93931ea0c27bab Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 27 Nov 2013 00:58:39 +0100 +Subject: [PATCH] journal: fix iteration when we go backwards from the + beginning of an array chain element + +--- + src/journal/journal-file.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index 27cd16f..409be76 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -1687,7 +1687,7 @@ found: + return 0; + + /* Let's cache this item for the next invocation */ +- chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, i + (subtract_one ? -1 : 0)); ++ chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, subtract_one ? (i > 0 ? i-1 : (uint64_t) -1) : i); + + if (subtract_one && i == 0) + p = last_p; +-- +1.7.9.2 + diff --git a/0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch b/0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch new file mode 100644 index 00000000..78946e79 --- /dev/null +++ b/0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch @@ -0,0 +1,28 @@ +From 248c78c79c5cca9b981800d816a77591e504066a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 27 Nov 2013 00:59:07 +0100 +Subject: [PATCH] journal: allow journal_file_copy_entry() to work on + non-local files + +--- + src/journal/journal-file.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index 409be76..14eae8f 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -2732,10 +2732,6 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6 + ts.monotonic = le64toh(o->entry.monotonic); + ts.realtime = le64toh(o->entry.realtime); + +- if (to->tail_entry_monotonic_valid && +- ts.monotonic < le64toh(to->header->tail_entry_monotonic)) +- return -EINVAL; +- + n = journal_file_entry_n_items(o); + items = alloca(sizeof(EntryItem) * n); + +-- +1.7.9.2 + diff --git a/0043-journal-simplify-pre-allocation-logic.patch b/0043-journal-simplify-pre-allocation-logic.patch new file mode 100644 index 00000000..16511ec0 --- /dev/null +++ b/0043-journal-simplify-pre-allocation-logic.patch @@ -0,0 +1,61 @@ +From eda4b58b50509dc8ad0428a46e20f6c5cf516d58 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 27 Nov 2013 01:44:52 +0100 +Subject: [PATCH] journal: simplify pre-allocation logic + +let's just do a single fallocate() as far as possible, and don't +distuingish between allocated space and file size. + +This way we can save a syscall for each append, which makes quite some +benefits. +--- + src/journal/journal-file.c | 19 ++++++++----------- + 1 file changed, 8 insertions(+), 11 deletions(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index 14eae8f..4009b29 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -315,7 +315,7 @@ static int journal_file_verify_header(JournalFile *f) { + } + + static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { +- uint64_t old_size, new_size, file_size; ++ uint64_t old_size, new_size; + int r; + + assert(f); +@@ -356,6 +356,11 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) + } + } + ++ /* Increase by larger blocks at once */ ++ new_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE; ++ if (f->metrics.max_size > 0 && new_size > f->metrics.max_size) ++ new_size = f->metrics.max_size; ++ + /* Note that the glibc fallocate() fallback is very + inefficient, hence we try to minimize the allocation area + as we can. */ +@@ -363,16 +368,8 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) + if (r != 0) + return -r; + +- /* Increase the file size a bit further than this, so that we +- * we can create larger memory maps to cache */ +- file_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE; +- if (file_size > (uint64_t) f->last_stat.st_size) { +- if (file_size > new_size) +- ftruncate(f->fd, file_size); +- +- if (fstat(f->fd, &f->last_stat) < 0) +- return -errno; +- } ++ if (fstat(f->fd, &f->last_stat) < 0) ++ return -errno; + + f->header->arena_size = htole64(new_size - le64toh(f->header->header_size)); + +-- +1.7.9.2 + diff --git a/0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch b/0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch new file mode 100644 index 00000000..90e71fb6 --- /dev/null +++ b/0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch @@ -0,0 +1,58 @@ +From fbb634117d0b0ebd5b105e65b141e75ae9af7f8f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 27 Nov 2013 01:54:25 +0100 +Subject: [PATCH] journald: mention how long we needed to flush to /var in the + logs + +--- + src/journal/journald-server.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git src/journal/journald-server.c src/journal/journald-server.c +index ce419d4..01e75b6 100644 +--- src/journal/journald-server.c ++++ src/journal/journald-server.c +@@ -970,9 +970,12 @@ static int system_journal_open(Server *s) { + } + + int server_flush_to_var(Server *s) { +- int r; + sd_id128_t machine; + sd_journal *j = NULL; ++ char ts[FORMAT_TIMESPAN_MAX]; ++ usec_t start; ++ unsigned n = 0; ++ int r; + + assert(s); + +@@ -990,6 +993,8 @@ int server_flush_to_var(Server *s) { + + log_debug("Flushing to /var..."); + ++ start = now(CLOCK_MONOTONIC); ++ + r = sd_id128_get_machine(&machine); + if (r < 0) + return r; +@@ -1009,6 +1014,8 @@ int server_flush_to_var(Server *s) { + f = j->current_file; + assert(f && f->current_offset > 0); + ++ n++; ++ + r = journal_file_move_to_object(f, OBJECT_ENTRY, f->current_offset, &o); + if (r < 0) { + log_error("Can't read entry: %s", strerror(-r)); +@@ -1052,6 +1059,8 @@ finish: + + sd_journal_close(j); + ++ server_driver_message(s, SD_ID128_NULL, "Time spent on flushing to /var is %s for %u entries.", format_timespan(ts, sizeof(ts), now(CLOCK_MONOTONIC) - start, 0), n); ++ + return r; + } + +-- +1.7.9.2 + diff --git a/0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch b/0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch new file mode 100644 index 00000000..1a423207 --- /dev/null +++ b/0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch @@ -0,0 +1,31 @@ +From 27373e442747010dfc195296c0705f67e905a611 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 src/shared/util.c src/shared/util.c +index 38134ae..206fc80 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -2501,7 +2501,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); +-- +1.7.9.2 + diff --git a/0047-docs-remove-unneeded-the-s-in-gudev-docs.patch b/0047-docs-remove-unneeded-the-s-in-gudev-docs.patch new file mode 100644 index 00000000..e94380d5 --- /dev/null +++ b/0047-docs-remove-unneeded-the-s-in-gudev-docs.patch @@ -0,0 +1,41 @@ +From 572ce4f7832ffa7a91a582c4098f18cec5662666 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 src/libudev/libudev-device.c src/libudev/libudev-device.c +index 059a590..9558ac3 100644 +--- src/libudev/libudev-device.c ++++ src/libudev/libudev-device.c +@@ -982,9 +982,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. +@@ -1018,9 +1017,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. +-- +1.7.9.2 + diff --git a/0048-man-explicitly-say-when-multiple-units-can-be-specif.patch b/0048-man-explicitly-say-when-multiple-units-can-be-specif.patch new file mode 100644 index 00000000..ec388b86 --- /dev/null +++ b/0048-man-explicitly-say-when-multiple-units-can-be-specif.patch @@ -0,0 +1,238 @@ +From 6a44e50f4c0938b0ba355fff21add6c067cd9837 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 30 Nov 2013 21:23:01 -0500 +Subject: [PATCH] man: explicitly say when multiple units can be specified + +itistoday> how do you specify multiple dependencies in a unit file? i've been + googling and can't find this basic thing :-\ +itistoday> do you use a comma, or use multiple After= statements? +--- + man/systemd.unit.xml | 128 +++++++++++++++++++++++++++----------------------- + 1 file changed, 70 insertions(+), 58 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 4dc427c..35dd4c7 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -410,10 +410,12 @@ + of the other units gets deactivated or + its activation fails, this unit will + be deactivated. This option may be +- specified more than once, in which +- case requirement dependencies for all +- listed names are created. Note that +- requirement dependencies do not ++ specified more than once or multiple ++ space-separated units may be specified ++ in one option in which case ++ requirement dependencies for all ++ listed names will be created. Note ++ that requirement dependencies do not + influence the order in which services + are started or stopped. This has to be + configured independently with the +@@ -476,22 +478,23 @@ + RequisiteOverridable= + + Similar to +- Requires= +- and RequiresOverridable=, respectively. However, +- if a unit listed here is not started +- already it will not be started and the +- transaction fails +- immediately. ++ Requires= and ++ RequiresOverridable=, ++ respectively. However, if the units ++ listed here are not started already ++ they will not be started and the ++ transaction will fail immediately. ++ + + + + Wants= + + A weaker version of +- Requires=. A unit ++ Requires=. Units + listed in this option will be started + if the configuring unit is. However, +- if the listed unit fails to start up ++ if the listed units fail to start + or cannot be added to the transaction + this has no impact on the validity of + the transaction as a whole. This is +@@ -501,8 +504,8 @@ + + Note that dependencies of this + type may also be configured outside of +- the unit configuration file by +- adding a symlink to a ++ the unit configuration file by adding ++ symlinks to a + .wants/ directory + accompanying the unit file. For + details see above. +@@ -534,7 +537,7 @@ + of units. When systemd stops or restarts + the units listed here, the action is + propagated to this unit. +- Note that this is a one way dependency - ++ Note that this is a one way dependency — + changes to this unit do not affect the + listed units. + +@@ -543,12 +546,12 @@ + + Conflicts= + +- Configures negative ++ A space-separated list ++ of unit names. Configures negative + requirement dependencies. If a unit +- has a +- Conflicts= setting +- on another unit, starting the former +- will stop the latter and vice ++ has a Conflicts= ++ setting on another unit, starting the ++ former will stop the latter and vice + versa. Note that this setting is + independent of and orthogonal to the + After= and +@@ -575,7 +578,8 @@ + Before= + After= + +- Configures ordering ++ A space-separated list ++ of unit names. Configures ordering + dependencies between units. If a unit + foo.service + contains a setting +@@ -624,18 +628,18 @@ + type After= or + Before=. If two + units have no ordering dependencies +- between them, they are shut down +- or started up simultaneously, and +- no ordering takes ++ between them, they are shut down or ++ started up simultaneously, and no ++ ordering takes + place. + + + + OnFailure= + +- Lists one or more +- units that are activated when this +- unit enters the ++ A space-separated list ++ of one or more units that are ++ activated when this unit enters the + failed + state. + +@@ -644,16 +648,17 @@ + PropagatesReloadTo= + ReloadPropagatedFrom= + +- Lists one or more +- units where reload requests on the +- unit will be propagated to/on the +- other unit will be propagated +- from. Issuing a reload request on a +- unit will automatically also enqueue a +- reload request on all units that the +- reload request shall be propagated to +- via these two +- settings. ++ A space-separated list ++ of one or more units where reload ++ requests on this unit will be ++ propagated to, or reload requests on ++ the other unit will be propagated to ++ this unit, respectively. Issuing a ++ reload request on a unit will ++ automatically also enqueue a reload ++ request on all units that the reload ++ request shall be propagated to via ++ these two settings. + + + +@@ -1130,32 +1135,34 @@ + + Alias= + +- Additional names this +- unit shall be installed under. The +- names listed here must have the same +- suffix (i.e. type) as the unit file +- name. This option may be specified +- more than once, in which case all +- listed names are used. At installation +- time, +- systemctl enable +- will create symlinks from these names +- to the unit filename. ++ A space-seperated list ++ of additional names this unit shall be ++ installed under. The names listed here ++ must have the same suffix (i.e. type) ++ as the unit file name. This option may ++ be specified more than once, in which ++ case all listed names are used. At ++ installation time, systemctl ++ enable will create symlinks ++ from these names to the unit ++ filename. + + + + WantedBy= + RequiredBy= + +- A symbolic link is +- created in the +- .wants/ or +- .requires/ directory +- of the listed unit when this unit is +- activated by systemctl +- enable. This has the effect +- that a dependency of type +- Wants= or ++ This option may be ++ used more than once, or a ++ space-separated list of unit names may ++ be given. A symbolic link is created ++ in the .wants/ or ++ .requires/ ++ directory of each of the listed units ++ when this unit is installed by ++ systemctl enable. ++ This has the effect that a dependency ++ of type Wants= or + Requires= is added + from the listed unit to the current + unit. The primary result is that the +@@ -1201,7 +1208,12 @@ + and systemctl + disable will automatically + install/uninstall units listed in this option as +- well. ++ well. ++ ++ This option may be used more ++ than once, or a space-separated list ++ of unit names may be ++ given. + + + +-- +1.7.9.2 + diff --git a/0049-systemd-treat-reload-failure-as-failure.patch b/0049-systemd-treat-reload-failure-as-failure.patch new file mode 100644 index 00000000..9dde25b5 --- /dev/null +++ b/0049-systemd-treat-reload-failure-as-failure.patch @@ -0,0 +1,93 @@ +From 6a371e23ee0e47827fb4e3aa469ed84da2599304 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 src/core/job.c src/core/job.c +index 557917a..ce97263 100644 +--- src/core/job.c ++++ src/core/job.c +@@ -508,7 +508,7 @@ int job_run_and_invalidate(Job *j) { + else if (t == UNIT_ACTIVATING) + r = -EAGAIN; + else +- r = -ENOEXEC; ++ r = -EBADR; + break; + } + +@@ -537,8 +537,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--; +@@ -764,7 +766,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); +@@ -1119,7 +1121,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 src/core/job.h src/core/job.h +index c23a380..0500e12 100644 +--- src/core/job.h ++++ 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 src/core/unit.c src/core/unit.c +index 50db86c..81d2162 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1239,8 +1239,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.", +-- +1.7.9.2 + diff --git a/0145-logind-use-correct-who-enum-values-with-KillUnit.patch b/0145-logind-use-correct-who-enum-values-with-KillUnit.patch new file mode 100644 index 00000000..f8fff2d2 --- /dev/null +++ b/0145-logind-use-correct-who-enum-values-with-KillUnit.patch @@ -0,0 +1,31 @@ +From 524147c1ef991edf4432aac51c880b363b4402df Mon Sep 17 00:00:00 2001 +From: Marius Vollmer +Date: Thu, 31 Oct 2013 15:55:07 +0200 +Subject: [PATCH] logind: use correct "who" enum values with KillUnit. + +--- + src/login/logind-dbus.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c +index bb85c7d..583d62e 100644 +--- a/src/login/logind-dbus.c ++++ b/src/login/logind-dbus.c +@@ -2799,7 +2799,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo + assert(manager); + assert(unit); + +- w = who == KILL_LEADER ? "process" : "cgroup"; ++ w = who == KILL_LEADER ? "control" : "all"; + assert_cc(sizeof(signo) == sizeof(int32_t)); + + r = bus_method_call_with_reply( +@@ -2815,7 +2815,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo + DBUS_TYPE_INT32, &signo, + DBUS_TYPE_INVALID); + if (r < 0) { +- log_error("Failed to stop unit %s: %s", unit, bus_error(error, r)); ++ log_error("Failed to kill unit %s: %s", unit, bus_error(error, r)); + return r; + } + diff --git a/macros.systemd b/macros.systemd deleted file mode 100644 index 1a003957..00000000 --- a/macros.systemd +++ /dev/null @@ -1,129 +0,0 @@ -# -*- Mode: makefile; indent-tabs-mode: t -*- */ -# RPM macros for packages installing systemd unit files -# -### -# -# When a package install systemd unit files, it should use the following macros: -# -# add %systemd_requires in the specfile -# -# %pre -# %service_add_pre demo.service demo1.service -# -# %post -# %service_add_post demo.service demo1.service -# -# %preun -# %service_del_preun demo.service -# -# %postun -# %service_del_postun demo.service -# -### - -# This is for systemctl -%systemd_requires \ -Requires(pre): systemd \ -Requires(post): systemd \ -Requires(preun): systemd \ -Requires(postun): systemd \ - -%_unitdir /usr/lib/systemd/system -%_presetdir /usr/lib/systemd/system-preset -%_udevhwdbdir /usr/lib/udev/hwdb.d -%_udevrulesdir /usr/lib/udev/rules.d -%_journalcatalogdir /usr/lib/systemd/catalog -%_tmpfilesdir /usr/lib/tmpfiles.d -%_sysctldir /usr/lib/sysctl.d - -%service_add_pre() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -# disable migration if initial install under systemd \ -[ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : \ -if [ $FIRST_ARG -eq 1 ]; then \ - for service in %{?*} ; do \ - sysv_service=${service%.*} \ - touch "/var/lib/systemd/migrated/$sysv_service" || : \ - done \ -else \ - if [ $FIRST_ARG -gt 1 ]; then \ - for service in %{?*} ; do \ - if [ ! -e "/usr/lib/systemd/system/$service" ]; then \ - touch "/run/rpm-%{name}-update-$service-new-in-upgrade" \ - fi \ - done \ - fi \ - for service in %{?*} ; do \ - sysv_service=${service%.*} \ - if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ - services_to_migrate="$services_to_migrate $sysv_service" \ - fi \ - done \ - if [ -n "$services_to_migrate" ]; then \ - /usr/sbin/systemd-sysv-convert --save $services_to_migrate >/dev/null 2>&1 || : \ - fi \ -fi \ -%{nil} - -# On install, tell systemd to reload its unit files -%service_add_post() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -[ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : \ -for service in %{?*} ; do \ - sysv_service=${service%.*} \ - if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ - services_to_migrate="$services_to_migrate $sysv_service" \ - touch "/var/lib/systemd/migrated/$sysv_service" || : \ - fi \ -done \ -/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -if [ -n "$services_to_migrate" ]; then \ - /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ -elif [ $FIRST_ARG -eq 1 ]; then \ - /usr/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ -elif [ $FIRST_ARG -gt 1 ]; then \ - for service in %{?*} ; do \ - if [ -e "/run/rpm-%{name}-update-$service-new-in-upgrade" ]; then \ - rm -f "/run/rpm-%{name}-update-$service-new-in-upgrade" \ - /usr/bin/systemctl preset "$service" >/dev/null 2>&1 || : \ - fi \ - done \ -fi \ -%{nil} - -# On uninstall, disable and stop services -%service_del_preun() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -if [ $FIRST_ARG -eq 0 ]; then \ -# Package removal, not upgrade \ - /usr/bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - /usr/bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -# On uninstall, tell systemd to reload its unit files -%service_del_postun() \ -test -n "$FIRST_ARG" || FIRST_ARG=$1 \ -if [ $FIRST_ARG -ge 1 ]; then \ -# Package upgrade, not uninstall \ - /usr/bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -else # package uninstall \ - for service in %{?*} ; do \ - sysv_service=${service%.*} \ - rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null || : \ - done \ - /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%udev_hwdb_update() \ -/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : \ -%{nil} - -%udev_rules_update() \ -/usr/bin/udevadm control --reload >/dev/null 2>&1 || : \ -%{nil} - -%journal_catalog_update() \ -/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : \ -%{nil} diff --git a/systemd-mini.changes b/systemd-mini.changes index 30031a9b..d9e7abdd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,79 @@ +------------------------------------------------------------------- +Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de + +- Add several upstream bugfix patches which are missed: + * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch + * 0026-udevadm.xml-document-resolve-names-option-for-test.patch + * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch + * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch + * 0031-man-document-the-b-special-boot-option.patch + * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch + * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch + * 0035-activate-mention-E-in-the-help-text.patch + * 0036-activate-fix-crash-when-s-is-passed.patch + * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch + * 0038-core-socket-fix-SO_REUSEPORT.patch + * 0039-journal-when-appending-to-journal-file-allocate-larg.patch + * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch + * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch + * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch + * 0043-journal-simplify-pre-allocation-logic.patch + * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch + * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch + * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch + * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch + * 0049-systemd-treat-reload-failure-as-failure.patch +- Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch + to avoid potential NULL pointer +- Reorder patches to reflect udev/systemd usage + +------------------------------------------------------------------- +Tue Feb 11 10:53:48 UTC 2014 - coolo@suse.com + +- don't build bash-completions for bootstrap package + +------------------------------------------------------------------- +Tue Feb 11 10:25:26 UTC 2014 - coolo@suse.com + +- add more requires to this-is-only-for-build-envs to avoid + problems in kiwi configs + +------------------------------------------------------------------- +Mon Feb 10 15:15:35 UTC 2014 - werner@suse.de + +- Add patch 0145-logind-use-correct-who-enum-values-with-KillUnit.patch + to be able to kill sessions (bnc#860574) + +------------------------------------------------------------------- +Mon Feb 10 11:19:31 UTC 2014 - werner@suse.de + +- Do not return from main shell script but simply exit (bnc#862789) + +------------------------------------------------------------------- +Sun Feb 9 18:43:38 UTC 2014 - werner@suse.de + +- ... as only the systemd-analyze completion depends on + bash-completion I prefere a without which has to be defined + for SLES 12 + +------------------------------------------------------------------- +Sun Feb 9 11:21:07 UTC 2014 - coolo@suse.com + +- avoid bootstrap cycle with libusb and systemd-mini + +------------------------------------------------------------------- +Sat Feb 8 06:12:55 UTC 2014 - coolo@suse.com + +- split bash-completion support into its own package, + no need for sles_version + +------------------------------------------------------------------- +Fri Feb 7 13:02:28 UTC 2014 - werner@suse.de + +- Split off systemd-rpm-macros as a separate package to avoid + a rebuild of all packages due new systemd package +- Define a sles_version 12 for suse_version 1315 + ------------------------------------------------------------------- Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index fbeba0d4..808ed2ae 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -22,11 +22,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define udevpkgname udev-mini %define udev_major 1 - -%if 0%{?sles_version} == 0 -%global with_bash_completion 1 -%endif -%bcond_with bash_completion +%bcond_without bash_completion Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -58,11 +54,14 @@ BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: libusb-devel %if ! 0%{?bootstrap} +BuildRequires: libusb-devel BuildRequires: libxslt-tools %endif BuildRequires: pam-devel +%if 0%{?suse_version} > 1310 +BuildRequires: systemd-rpm-macros +%endif BuildRequires: tcpd-devel BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 @@ -81,10 +80,10 @@ BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 %endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs @@ -94,9 +93,7 @@ Conflicts: kiwi # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 -%if %{with bash_completion} -Recommends: bash-completion -%endif +Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 14 @@ -118,7 +115,6 @@ Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.t Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert -Source4: macros.systemd Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init @@ -275,22 +271,10 @@ Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch - -# udev patches -# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch -Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-SUSE 0145-logind-use-correct-who-enum-values-with-KillUnit.patch -- Be able to kill sessions (bnc#860574) +Patch92: 0145-logind-use-correct-who-enum-values-with-KillUnit.patch +# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) +Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -313,6 +297,64 @@ Patch1017: 1017-skip-native-unit-handling-if-sysv-already-handled.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +# PATCH-FIX-UPSTREAM 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch werner@suse.com +Patch94: 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch +# PATCH-FIX-UPSTREAM 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch werner@suse.com +Patch96: 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch +# PATCH-FIX-UPSTREAM 0031-man-document-the-b-special-boot-option.patch werner@suse.com +Patch97: 0031-man-document-the-b-special-boot-option.patch +# PATCH-FIX-UPSTREAM 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch werner@suse.com +Patch99: 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch +# PATCH-FIX-UPSTREAM 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch werner@suse.com +Patch100: 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch +# PATCH-FIX-UPSTREAM 0035-activate-mention-E-in-the-help-text.patch werner@suse.com +Patch101: 0035-activate-mention-E-in-the-help-text.patch +# PATCH-FIX-UPSTREAM 0036-activate-fix-crash-when-s-is-passed.patch werner@suse.com +Patch102: 0036-activate-fix-crash-when-s-is-passed.patch +# PATCH-FIX-UPSTREAM 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch werner@suse.com +Patch103: 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch +# PATCH-FIX-UPSTREAM 0038-core-socket-fix-SO_REUSEPORT.patch werner@suse.com +Patch104: 0038-core-socket-fix-SO_REUSEPORT.patch +# PATCH-FIX-UPSTREAM 0039-journal-when-appending-to-journal-file-allocate-larg.patch werner@suse.com +Patch105: 0039-journal-when-appending-to-journal-file-allocate-larg.patch +# PATCH-FIX-UPSTREAM 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch werner@suse.com +Patch106: 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch +# PATCH-FIX-UPSTREAM 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch werner@suse.com +Patch107: 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch +# PATCH-FIX-UPSTREAM 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch werner@suse.com +Patch108: 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch +# PATCH-FIX-UPSTREAM 0043-journal-simplify-pre-allocation-logic.patch werner@suse.com +Patch109: 0043-journal-simplify-pre-allocation-logic.patch +# PATCH-FIX-UPSTREAM 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch werner@suse.com +Patch110: 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch +# PATCH-FIX-UPSTREAM 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch werner@suse.com +Patch111: 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch +# PATCH-FIX-UPSTREAM 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch werner@suse.com +Patch112: 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch +# PATCH-FIX-UPSTREAM 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch werner@suse.com +Patch113: 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch +# PATCH-FIX-UPSTREAM 0049-systemd-treat-reload-failure-as-failure.patch werner@suse.com +Patch114: 0049-systemd-treat-reload-failure-as-failure.patch + +# udev patches +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch +Patch1003: 1003-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch +Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch +# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch +Patch1006: 1006-udev-always-rename-network.patch +# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch +Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-UPSTREAM 0026-udevadm.xml-document-resolve-names-option-for-test.patch werner@suse.com +Patch95: 0026-udevadm.xml-document-resolve-names-option-for-test.patch +# PATCH-FIX-UPSTREAM 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch werner@suse.com +Patch98: 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -325,6 +367,17 @@ transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%package bash-completion +Summary: Bash completion support for systemd +License: LGPL-2.1+ +Group: System/Base +Requires: bash +%if %{with bash_completion} +Requires: bash-completion +%endif + +%description bash-completion +Some systemd commands offer bash completion, but it's an optional dependency. %package devel Summary: Development headers for systemd @@ -369,6 +422,8 @@ Requires: filesystem Provides: udev = %{version} Conflicts: libudev%{udev_major} Conflicts: udev +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n %{udevpkgname} @@ -388,6 +443,8 @@ Requires: %{udevpkgname} >= %{version}-%{release} %if 0%{?bootstrap} Conflicts: libudev%{udev_major} Conflicts: kiwi +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n lib%{udevpkgname}%{udev_major} @@ -586,6 +643,38 @@ cp %{SOURCE7} m4/ %patch89 -p1 %patch90 -p1 %patch91 -p1 +%patch92 -p1 +%patch93 -p1 +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 +%patch1013 -p1 +%patch1014 -p1 +%patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 +%patch94 -p0 +%patch96 -p0 +%patch97 -p0 +%patch99 -p0 +%patch100 -p0 +%patch101 -p0 +%patch102 -p0 +%patch103 -p0 +%patch104 -p0 +%patch105 -p0 +%patch106 -p0 +%patch107 -p0 +%patch108 -p0 +%patch109 -p0 +%patch110 -p0 +%patch111 -p0 +%patch112 -p0 +%patch113 -p0 +%patch114 -p0 # udev patches %patch1001 -p1 @@ -598,17 +687,8 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p1 -%patch1017 -p1 -%patch1018 -p1 -%patch1019 -p1 +%patch95 -p0 +%patch98 -p0 # ensure generate files are removed rm -f units/emergency.service @@ -742,6 +822,7 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} rm -f %{buildroot}/var/log/README +rm -rf %{buildroot}%{_datadir}/bash-completion %endif # legacy links @@ -793,20 +874,12 @@ install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/syste install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ %endif -# clean out some completions which requires bash-completion package -%if %{without bash_completion} -for c in %{buildroot}/%{_datadir}/bash-completion/completions/* -do - test -e "$c" || continue - grep -q _init_completion "$c" || continue - rm -vf "$c" -done -%endif - %fdupes -s %{buildroot}%{_mandir} +%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd +%endif %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : @@ -1161,10 +1234,7 @@ exit 0 %if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on %endif -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions %ghost /var/lib/systemd/catalog/database -%{_datadir}/bash-completion/completions/* %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif @@ -1180,6 +1250,17 @@ exit 0 %ghost /var/lib/systemd/backlight %ghost /var/lib/systemd/random-seed +%if ! 0%{?bootstrap} +%files bash-completion +%defattr(-,root,root,-) +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%if %{without bash_completion} +%exclude %{_datadir}/bash-completion/completions/systemd-analyze +%endif +%{_datadir}/bash-completion/completions/* +%endif + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd-daemon.so diff --git a/systemd-rpm-macros.changes b/systemd-rpm-macros.changes deleted file mode 100644 index 165b84c9..00000000 --- a/systemd-rpm-macros.changes +++ /dev/null @@ -1,11 +0,0 @@ -------------------------------------------------------------------- -Thu Jul 4 13:59:43 CEST 2013 - fcrozat@suse.com - -- Resync with systemd v205 macros - -------------------------------------------------------------------- -Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com - -- New package with systemd rpm macros to avoid unnecessary build time - dependencies - diff --git a/systemd.changes b/systemd.changes index 30031a9b..d9e7abdd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,79 @@ +------------------------------------------------------------------- +Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de + +- Add several upstream bugfix patches which are missed: + * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch + * 0026-udevadm.xml-document-resolve-names-option-for-test.patch + * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch + * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch + * 0031-man-document-the-b-special-boot-option.patch + * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch + * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch + * 0035-activate-mention-E-in-the-help-text.patch + * 0036-activate-fix-crash-when-s-is-passed.patch + * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch + * 0038-core-socket-fix-SO_REUSEPORT.patch + * 0039-journal-when-appending-to-journal-file-allocate-larg.patch + * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch + * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch + * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch + * 0043-journal-simplify-pre-allocation-logic.patch + * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch + * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch + * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch + * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch + * 0049-systemd-treat-reload-failure-as-failure.patch +- Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch + to avoid potential NULL pointer +- Reorder patches to reflect udev/systemd usage + +------------------------------------------------------------------- +Tue Feb 11 10:53:48 UTC 2014 - coolo@suse.com + +- don't build bash-completions for bootstrap package + +------------------------------------------------------------------- +Tue Feb 11 10:25:26 UTC 2014 - coolo@suse.com + +- add more requires to this-is-only-for-build-envs to avoid + problems in kiwi configs + +------------------------------------------------------------------- +Mon Feb 10 15:15:35 UTC 2014 - werner@suse.de + +- Add patch 0145-logind-use-correct-who-enum-values-with-KillUnit.patch + to be able to kill sessions (bnc#860574) + +------------------------------------------------------------------- +Mon Feb 10 11:19:31 UTC 2014 - werner@suse.de + +- Do not return from main shell script but simply exit (bnc#862789) + +------------------------------------------------------------------- +Sun Feb 9 18:43:38 UTC 2014 - werner@suse.de + +- ... as only the systemd-analyze completion depends on + bash-completion I prefere a without which has to be defined + for SLES 12 + +------------------------------------------------------------------- +Sun Feb 9 11:21:07 UTC 2014 - coolo@suse.com + +- avoid bootstrap cycle with libusb and systemd-mini + +------------------------------------------------------------------- +Sat Feb 8 06:12:55 UTC 2014 - coolo@suse.com + +- split bash-completion support into its own package, + no need for sles_version + +------------------------------------------------------------------- +Fri Feb 7 13:02:28 UTC 2014 - werner@suse.de + +- Split off systemd-rpm-macros as a separate package to avoid + a rebuild of all packages due new systemd package +- Define a sles_version 12 for suse_version 1315 + ------------------------------------------------------------------- Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 4dfc1227..c305b86b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,11 +20,7 @@ %define real systemd %define udevpkgname udev %define udev_major 1 - -%if 0%{?sles_version} == 0 -%global with_bash_completion 1 -%endif -%bcond_with bash_completion +%bcond_without bash_completion Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -53,11 +49,14 @@ BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: libusb-devel %if ! 0%{?bootstrap} +BuildRequires: libusb-devel BuildRequires: libxslt-tools %endif BuildRequires: pam-devel +%if 0%{?suse_version} > 1310 +BuildRequires: systemd-rpm-macros +%endif BuildRequires: tcpd-devel BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 @@ -76,10 +75,10 @@ BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 %endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs @@ -89,9 +88,7 @@ Conflicts: kiwi # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 -%if %{with bash_completion} -Recommends: bash-completion -%endif +Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 14 @@ -113,7 +110,6 @@ Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.t Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert -Source4: macros.systemd Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init @@ -270,22 +266,10 @@ Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch - -# udev patches -# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch -Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-SUSE 0145-logind-use-correct-who-enum-values-with-KillUnit.patch -- Be able to kill sessions (bnc#860574) +Patch92: 0145-logind-use-correct-who-enum-values-with-KillUnit.patch +# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) +Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -308,6 +292,64 @@ Patch1017: 1017-skip-native-unit-handling-if-sysv-already-handled.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +# PATCH-FIX-UPSTREAM 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch werner@suse.com +Patch94: 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch +# PATCH-FIX-UPSTREAM 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch werner@suse.com +Patch96: 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch +# PATCH-FIX-UPSTREAM 0031-man-document-the-b-special-boot-option.patch werner@suse.com +Patch97: 0031-man-document-the-b-special-boot-option.patch +# PATCH-FIX-UPSTREAM 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch werner@suse.com +Patch99: 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch +# PATCH-FIX-UPSTREAM 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch werner@suse.com +Patch100: 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch +# PATCH-FIX-UPSTREAM 0035-activate-mention-E-in-the-help-text.patch werner@suse.com +Patch101: 0035-activate-mention-E-in-the-help-text.patch +# PATCH-FIX-UPSTREAM 0036-activate-fix-crash-when-s-is-passed.patch werner@suse.com +Patch102: 0036-activate-fix-crash-when-s-is-passed.patch +# PATCH-FIX-UPSTREAM 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch werner@suse.com +Patch103: 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch +# PATCH-FIX-UPSTREAM 0038-core-socket-fix-SO_REUSEPORT.patch werner@suse.com +Patch104: 0038-core-socket-fix-SO_REUSEPORT.patch +# PATCH-FIX-UPSTREAM 0039-journal-when-appending-to-journal-file-allocate-larg.patch werner@suse.com +Patch105: 0039-journal-when-appending-to-journal-file-allocate-larg.patch +# PATCH-FIX-UPSTREAM 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch werner@suse.com +Patch106: 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch +# PATCH-FIX-UPSTREAM 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch werner@suse.com +Patch107: 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch +# PATCH-FIX-UPSTREAM 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch werner@suse.com +Patch108: 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch +# PATCH-FIX-UPSTREAM 0043-journal-simplify-pre-allocation-logic.patch werner@suse.com +Patch109: 0043-journal-simplify-pre-allocation-logic.patch +# PATCH-FIX-UPSTREAM 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch werner@suse.com +Patch110: 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch +# PATCH-FIX-UPSTREAM 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch werner@suse.com +Patch111: 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch +# PATCH-FIX-UPSTREAM 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch werner@suse.com +Patch112: 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch +# PATCH-FIX-UPSTREAM 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch werner@suse.com +Patch113: 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch +# PATCH-FIX-UPSTREAM 0049-systemd-treat-reload-failure-as-failure.patch werner@suse.com +Patch114: 0049-systemd-treat-reload-failure-as-failure.patch + +# udev patches +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch +Patch1003: 1003-udev-netlink-null-rules.patch +# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch +Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch +# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch +Patch1006: 1006-udev-always-rename-network.patch +# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch +Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-UPSTREAM 0026-udevadm.xml-document-resolve-names-option-for-test.patch werner@suse.com +Patch95: 0026-udevadm.xml-document-resolve-names-option-for-test.patch +# PATCH-FIX-UPSTREAM 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch werner@suse.com +Patch98: 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -320,6 +362,17 @@ transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%package bash-completion +Summary: Bash completion support for systemd +License: LGPL-2.1+ +Group: System/Base +Requires: bash +%if %{with bash_completion} +Requires: bash-completion +%endif + +%description bash-completion +Some systemd commands offer bash completion, but it's an optional dependency. %package devel Summary: Development headers for systemd @@ -364,6 +417,8 @@ Requires: filesystem Provides: udev = %{version} Conflicts: libudev%{udev_major} Conflicts: udev +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n %{udevpkgname} @@ -383,6 +438,8 @@ Requires: %{udevpkgname} >= %{version}-%{release} %if 0%{?bootstrap} Conflicts: libudev%{udev_major} Conflicts: kiwi +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n lib%{udevpkgname}%{udev_major} @@ -581,6 +638,38 @@ cp %{SOURCE7} m4/ %patch89 -p1 %patch90 -p1 %patch91 -p1 +%patch92 -p1 +%patch93 -p1 +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 +%patch1013 -p1 +%patch1014 -p1 +%patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 +%patch94 -p0 +%patch96 -p0 +%patch97 -p0 +%patch99 -p0 +%patch100 -p0 +%patch101 -p0 +%patch102 -p0 +%patch103 -p0 +%patch104 -p0 +%patch105 -p0 +%patch106 -p0 +%patch107 -p0 +%patch108 -p0 +%patch109 -p0 +%patch110 -p0 +%patch111 -p0 +%patch112 -p0 +%patch113 -p0 +%patch114 -p0 # udev patches %patch1001 -p1 @@ -593,17 +682,8 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p1 -%patch1017 -p1 -%patch1018 -p1 -%patch1019 -p1 +%patch95 -p0 +%patch98 -p0 # ensure generate files are removed rm -f units/emergency.service @@ -737,6 +817,7 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} rm -f %{buildroot}/var/log/README +rm -rf %{buildroot}%{_datadir}/bash-completion %endif # legacy links @@ -788,20 +869,12 @@ install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/syste install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ %endif -# clean out some completions which requires bash-completion package -%if %{without bash_completion} -for c in %{buildroot}/%{_datadir}/bash-completion/completions/* -do - test -e "$c" || continue - grep -q _init_completion "$c" || continue - rm -vf "$c" -done -%endif - %fdupes -s %{buildroot}%{_mandir} +%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd +%endif %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : @@ -1156,10 +1229,7 @@ exit 0 %if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on %endif -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions %ghost /var/lib/systemd/catalog/database -%{_datadir}/bash-completion/completions/* %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif @@ -1175,6 +1245,17 @@ exit 0 %ghost /var/lib/systemd/backlight %ghost /var/lib/systemd/random-seed +%if ! 0%{?bootstrap} +%files bash-completion +%defattr(-,root,root,-) +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%if %{without bash_completion} +%exclude %{_datadir}/bash-completion/completions/systemd-analyze +%endif +%{_datadir}/bash-completion/completions/* +%endif + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd-daemon.so diff --git a/write_dev_root_rule b/write_dev_root_rule index 5011aa3f..dcb7d5b4 100644 --- a/write_dev_root_rule +++ b/write_dev_root_rule @@ -2,7 +2,7 @@ eval $(@@PREFIX@@/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/) -[ "$ROOT_MAJOR" -gt 0 ] || return +[ "$ROOT_MAJOR" -gt 0 ] || exit 0 mkdir -m 0755 -p /run/udev/rules.d >/dev/null 2>&1 ln -sf /run/udev /dev/.udev 2>/dev/null || : From bbba62be60175541867870e29f81e0f047c52f33ba9151d8c2d18ce371411442 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 11 Mar 2014 08:24:11 +0000 Subject: [PATCH 172/991] Accepting request 225408 from Base:System - Add or port upstream bugfix patches: 0001-Fix-systemd-stdio-bridge-symlink.patch 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch 0004-man-document-missing-options-of-systemd-run.patch 0005-systemd-run-add-some-extra-safety-checks.patch 0006-journal-assume-that-next-entry-is-after-previous-ent.patch 0007-journal-forget-file-after-encountering-an-error.patch 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch 0010-man-update-link-to-LSB.patch 0011-man-systemd-bootchart-fix-spacing-in-command.patch 0012-man-add-missing-comma.patch 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - Add linker scripts as place holder of the old systemd shared libraries now all included in libsystemd.so (bnc#867128) - Make patch 1006-udev-always-rename-network.patch work again and add it again. - address missing owner functionality in systemd-tmpfiles (fate#314974) 1022-systemd-tmpfiles-ownerkeep.patch - Generate the bash completion files on the fly for the case of not having the package bash-completion around - Add or port upstream bugfix patches: 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch 0002-cdrom_id-use-the-old-MMC-fallback.patch 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch OBS-URL: https://build.opensuse.org/request/show/225408 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=177 --- 0001-Fix-bad-assert-in-show_pid_array.patch | 35 -- 0001-Fix-systemd-stdio-bridge-symlink.patch | 28 + ...all-qsort-on-potentially-NULL-arrays.patch | 385 -------------- ...s390_con3270_disable_ANSI_colour_esc.patch | 15 +- ...ix-memory-leak-in-acpi_get_boot_usec.patch | 25 - ...sh-for-reboot-or-hddown-for-poweroff.patch | 181 ++++--- ...network-device-after-NFS-mount-units.patch | 318 ++++++++++++ ...yze-set-text-on-side-with-most-space.patch | 90 ---- 0001-analyze-set-white-background.patch | 32 -- ...id-abort-due-timeout-at-user-service.patch | 15 + ...ew-KillMode-mixed-which-sends-SIGTER.patch | 225 -------- ...ailureIsolate-setting-by-a-more-gene.patch | 329 ------------ ...ay-we-denote-serialization-attribute.patch | 40 -- ...dbus-common-avoid-leak-in-error-path.patch | 71 --- ...rbage-from-acpi-firmware-performance.patch | 33 -- 0001-drop-ins-check-return-value.patch | 29 -- ...tor-exit-immediately-if-in-container.patch | 40 -- 0001-journald-fix-minor-memory-leak.patch | 25 - ...rotated-file-from-hashmap-when-rotat.patch | 39 -- ...ix-invalid-free-in-sd_session_get_vt.patch | 27 - 0001-login-fix-pos-array-allocation.patch | 52 ++ ...make-sd_session_get_vt-actually-work.patch | 27 - ...s-introspection-data-for-TakeControl.patch | 25 - 0001-logind-garbage-collect-stale-users.patch | 28 - 0001-make-209-working-on-older-dist.patch | 79 +++ 0001-make-fortify-happy-with-ppoll.patch | 55 ++ ...ifying-whether-clients-may-change-en.patch | 45 -- ...heck-for-NULL-before-reading-pm-what.patch | 29 -- ...XDG_RUNTIME_DIR_of_the_original_user.patch | 41 ++ ...shared-util-Fix-glob_extend-argument.patch | 28 - ...off-by-one-error-in-tag_to_udev_node.patch | 50 -- 0001-systemd-empty-sigmask-on-reexec.patch | 42 ++ ...mote-mounts-from-mountinfo-before-re.patch | 41 -- ...ize-deserialize-forbid_restart-value.patch | 51 -- ...systemctl-halt-reboot-error-handling.patch | 85 --- ...ectory-path-if-we-fail-to-remove-it-.patch | 54 ++ ...ferences-to-var-lib-backlight-random.patch | 55 -- ...pos-slot-to-fallback-on-pos-eviction.patch | 52 ++ ...llMode-mixed-in-conjunction-with-PAM.patch | 62 --- ...rint-invalid-UTF-8-in-error-messages.patch | 130 +++++ ...e-never-free-an-uninitialized-pointe.patch | 25 - ...o-always-go-through-both-SIGTERM-and.patch | 128 ----- ...ing-org.freedesktop.login1.Seat.Swit.patch | 35 ++ ...C-network-interface-name-irdac-idrac.patch | 22 + ...ument-missing-options-of-systemd-run.patch | 113 ++++ ...ctl-fix-name-mangling-for-sysv-units.patch | 134 ----- ...var-run-with-run-in-remaining-places.patch | 89 ++++ ...OM-handling-when-parsing-mount-optio.patch | 48 -- ...emd-run-add-some-extra-safety-checks.patch | 34 ++ ...k-to-var-run-at-a-couple-of-problems.patch | 60 +++ ...hat-next-entry-is-after-previous-ent.patch | 70 +++ 0006-journald-add-missing-error-check.patch | 25 - ...t-that-var-run-must-be-a-symlink-run.patch | 30 ++ ...entially-uninitialized-memory-access.patch | 34 -- ...get-file-after-encountering-an-error.patch | 74 +++ ...-system_bus_socket-for-the-D-Bus-soc.patch | 51 ++ ...-unregister-PIDs-from-PID-hashtables.patch | 102 ++++ ...-fix-return-value-of-dispatch_rqueue.patch | 30 -- ...ence-to-systemd-user-sessions.servic.patch | 25 + 0009-modules-load-fix-error-handling.patch | 27 - ...-out-PropertiesChanged-message-if-ac.patch | 70 +++ ...all-qsort-on-potentially-NULL-arrays.patch | 26 - 0010-man-update-link-to-LSB.patch | 35 ++ ...-PropertiesChanged-signals-for-mount.patch | 51 ++ ...x-corrupt-output-with-empty-messages.patch | 41 ++ ...emd-bootchart-fix-spacing-in-command.patch | 28 + ...ccess-potentially-NULL-string-arrays.patch | 27 - ...e-extra-arguments-with-verify-and-si.patch | 30 ++ 0012-man-add-missing-comma.patch | 26 + ...per-function-pointer-to-mkdir_safe_i.patch | 26 - 0013-cdrom_id-use-the-old-MMC-fallback.patch | 54 ++ ...scape-instance-name-in-systemd-backl.patch | 38 ++ ...ection-of-missing-proc-self-loginuid.patch | 31 ++ ...ude-setgid-perms-for-run-log-journal.patch | 26 - ...what-to-RequiresMountsFor-for-networ.patch | 181 ------- ...cument-resolve-names-option-for-test.patch | 34 -- ...in-systemd-bootchart-on-short-living.patch | 34 -- ...n-document-the-b-special-boot-option.patch | 37 -- ...t-some-of-the-rules-to-the-add-actio.patch | 81 --- ...ccessible-FUSE-mount-points-only-as-.patch | 37 -- ...ix-booted-and-add-two-functions-to-d.patch | 26 - ...-activate-mention-E-in-the-help-text.patch | 25 - ...-activate-fix-crash-when-s-is-passed.patch | 26 - ...excludes-for-the-new-per-service-pri.patch | 43 -- 0038-core-socket-fix-SO_REUSEPORT.patch | 38 -- ...ending-to-journal-file-allocate-larg.patch | 80 --- ...-bisection-logic-a-bit-by-caching-th.patch | 247 --------- ...ation-when-we-go-backwards-from-the-.patch | 26 - ...urnal_file_copy_entry-to-work-on-non.patch | 28 - ...ournal-simplify-pre-allocation-logic.patch | 61 --- ...-how-long-we-needed-to-flush-to-var-.patch | 58 --- ...return-value-from-ttyname_r-is-0-ins.patch | 31 -- ...-remove-unneeded-the-s-in-gudev-docs.patch | 41 -- ...ay-when-multiple-units-can-be-specif.patch | 238 --------- ...temd-treat-reload-failure-as-failure.patch | 93 ---- ...orrect-who-enum-values-with-KillUnit.patch | 31 -- 1006-udev-always-rename-network.patch | 120 ++--- 1011-check-4-valid-kmsg-device.patch | 62 --- ...XDG_RUNTIME_DIR_of_the_original_user.patch | 168 ------ ...nit-handling-if-sysv-already-handled.patch | 20 - ...ripts-know-about-Required-and-Should.patch | 25 +- ...pletion-smart-to-be-able-to-redirect.patch | 4 +- 1022-systemd-tmpfiles-ownerkeep.patch | 10 + ...-suspend-hibernate-calls-to-pm-utils.patch | 6 +- ...y_session_activation_on_non_vt_seats.patch | 26 - ...ze-fix-crash-in-command-line-parsing.patch | 35 -- apply-ACL-for-nvidia-device-nodes.patch | 30 +- build-sys-make-multi-seat-x-optional.patch | 60 --- ...etup-after-md-dmraid-lvm-are-started.patch | 21 +- fix-owner-of-var-log-btmp.patch | 2 +- ...STEMCTL_OPTIONS-environment-variable.patch | 2 +- handle-etc-HOSTNAME.patch | 32 +- insserv-generator.patch | 10 +- systemd-208.tar.xz | 3 - systemd-210.tar.xz | 3 + systemd-dbus-system-bus-address.patch | 11 - systemd-install-compat_pkgconfig-always.patch | 28 + systemd-mini.changes | 487 +++++++++++++++++ systemd-mini.spec | 491 +++++++++--------- systemd-tmp-safe-defaults.patch | 2 +- systemd.changes | 487 +++++++++++++++++ systemd.spec | 491 +++++++++--------- ...or-openSUSE-version-of-etc-sysconfig.patch | 4 +- 123 files changed, 3697 insertions(+), 5117 deletions(-) delete mode 100644 0001-Fix-bad-assert-in-show_pid_array.patch create mode 100644 0001-Fix-systemd-stdio-bridge-symlink.patch delete mode 100644 0001-Never-call-qsort-on-potentially-NULL-arrays.patch delete mode 100644 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch create mode 100644 0001-add-network-device-after-NFS-mount-units.patch delete mode 100644 0001-analyze-set-text-on-side-with-most-space.patch delete mode 100644 0001-analyze-set-white-background.patch create mode 100644 0001-avoid-abort-due-timeout-at-user-service.patch delete mode 100644 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch delete mode 100644 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch delete mode 100644 0001-core-unify-the-way-we-denote-serialization-attribute.patch delete mode 100644 0001-dbus-common-avoid-leak-in-error-path.patch delete mode 100644 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch delete mode 100644 0001-drop-ins-check-return-value.patch delete mode 100644 0001-gpt-auto-generator-exit-immediately-if-in-container.patch delete mode 100644 0001-journald-fix-minor-memory-leak.patch delete mode 100644 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch delete mode 100644 0001-login-fix-invalid-free-in-sd_session_get_vt.patch create mode 100644 0001-login-fix-pos-array-allocation.patch delete mode 100644 0001-login-make-sd_session_get_vt-actually-work.patch delete mode 100644 0001-logind-fix-bus-introspection-data-for-TakeControl.patch delete mode 100644 0001-logind-garbage-collect-stale-users.patch create mode 100644 0001-make-209-working-on-older-dist.patch create mode 100644 0001-make-fortify-happy-with-ppoll.patch delete mode 100644 0001-manager-when-verifying-whether-clients-may-change-en.patch delete mode 100644 0001-mount-check-for-NULL-before-reading-pm-what.patch create mode 100644 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch delete mode 100644 0001-shared-util-Fix-glob_extend-argument.patch delete mode 100644 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch create mode 100644 0001-systemd-empty-sigmask-on-reexec.patch delete mode 100644 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch delete mode 100644 0001-systemd-serialize-deserialize-forbid_restart-value.patch delete mode 100644 0001-upstream-systemctl-halt-reboot-error-handling.patch create mode 100644 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch delete mode 100644 0002-fix-lingering-references-to-var-lib-backlight-random.patch create mode 100644 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch delete mode 100644 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch create mode 100644 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch delete mode 100644 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch delete mode 100644 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch create mode 100644 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch create mode 100644 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch create mode 100644 0004-man-document-missing-options-of-systemd-run.patch delete mode 100644 0004-systemctl-fix-name-mangling-for-sysv-units.patch create mode 100644 0005-Replace-var-run-with-run-in-remaining-places.patch delete mode 100644 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch create mode 100644 0005-systemd-run-add-some-extra-safety-checks.patch create mode 100644 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch create mode 100644 0006-journal-assume-that-next-entry-is-after-previous-ent.patch delete mode 100644 0006-journald-add-missing-error-check.patch create mode 100644 0007-README-document-that-var-run-must-be-a-symlink-run.patch delete mode 100644 0007-bus-fix-potentially-uninitialized-memory-access.patch create mode 100644 0007-journal-forget-file-after-encountering-an-error.patch create mode 100644 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch create mode 100644 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch delete mode 100644 0008-dbus-fix-return-value-of-dispatch_rqueue.patch create mode 100644 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch delete mode 100644 0009-modules-load-fix-error-handling.patch create mode 100644 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch delete mode 100644 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch create mode 100644 0010-man-update-link-to-LSB.patch create mode 100644 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch create mode 100644 0011-logs-show-fix-corrupt-output-with-empty-messages.patch create mode 100644 0011-man-systemd-bootchart-fix-spacing-in-command.patch delete mode 100644 0011-strv-don-t-access-potentially-NULL-string-arrays.patch create mode 100644 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch create mode 100644 0012-man-add-missing-comma.patch delete mode 100644 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch create mode 100644 0013-cdrom_id-use-the-old-MMC-fallback.patch create mode 100644 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch create mode 100644 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch delete mode 100644 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch delete mode 100644 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch delete mode 100644 0026-udevadm.xml-document-resolve-names-option-for-test.patch delete mode 100644 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch delete mode 100644 0031-man-document-the-b-special-boot-option.patch delete mode 100644 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch delete mode 100644 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch delete mode 100644 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch delete mode 100644 0035-activate-mention-E-in-the-help-text.patch delete mode 100644 0036-activate-fix-crash-when-s-is-passed.patch delete mode 100644 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch delete mode 100644 0038-core-socket-fix-SO_REUSEPORT.patch delete mode 100644 0039-journal-when-appending-to-journal-file-allocate-larg.patch delete mode 100644 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch delete mode 100644 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch delete mode 100644 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch delete mode 100644 0043-journal-simplify-pre-allocation-logic.patch delete mode 100644 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch delete mode 100644 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch delete mode 100644 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch delete mode 100644 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch delete mode 100644 0049-systemd-treat-reload-failure-as-failure.patch delete mode 100644 0145-logind-use-correct-who-enum-values-with-KillUnit.patch delete mode 100644 1011-check-4-valid-kmsg-device.patch delete mode 100644 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch delete mode 100644 1017-skip-native-unit-handling-if-sysv-already-handled.patch create mode 100644 1022-systemd-tmpfiles-ownerkeep.patch delete mode 100644 U_logind_revert_lazy_session_activation_on_non_vt_seats.patch delete mode 100644 analyze-fix-crash-in-command-line-parsing.patch delete mode 100644 build-sys-make-multi-seat-x-optional.patch delete mode 100644 systemd-208.tar.xz create mode 100644 systemd-210.tar.xz delete mode 100644 systemd-dbus-system-bus-address.patch create mode 100644 systemd-install-compat_pkgconfig-always.patch diff --git a/0001-Fix-bad-assert-in-show_pid_array.patch b/0001-Fix-bad-assert-in-show_pid_array.patch deleted file mode 100644 index e62ab8b5..00000000 --- a/0001-Fix-bad-assert-in-show_pid_array.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a0551d26ab5c6e0d5089b42a6319baef0e28ad92 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 14 Oct 2013 19:15:24 -0400 -Subject: [PATCH] Fix bad assert in show_pid_array - -This function should get the same treatment as other qsort uses -did in 7ff7394 "Never call qsort on potentially NULL arrays". - -Reported-by: Oleksii Shevchuk ---- - src/shared/cgroup-show.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -Index: systemd-208/src/shared/cgroup-show.c -=================================================================== ---- systemd-208.orig/src/shared/cgroup-show.c -+++ systemd-208/src/shared/cgroup-show.c -@@ -44,8 +44,6 @@ static void show_pid_array(int pids[], u - unsigned i, m, pid_width; - pid_t biggest = 0; - -- assert(n_pids > 0); -- - /* Filter duplicates */ - m = 0; - for (i = 0; i < n_pids; i++) { -@@ -65,7 +63,7 @@ static void show_pid_array(int pids[], u - pid_width = DECIMAL_STR_WIDTH(biggest); - - /* And sort */ -- qsort(pids, n_pids, sizeof(pid_t), compare); -+ qsort_safe(pids, n_pids, sizeof(pid_t), compare); - - if(flags & OUTPUT_FULL_WIDTH) - n_columns = 0; diff --git a/0001-Fix-systemd-stdio-bridge-symlink.patch b/0001-Fix-systemd-stdio-bridge-symlink.patch new file mode 100644 index 00000000..02e7e1cc --- /dev/null +++ b/0001-Fix-systemd-stdio-bridge-symlink.patch @@ -0,0 +1,28 @@ +From 8100c1a8f58b2fb5d97e156420a7e16562e93bc4 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Sun, 2 Mar 2014 23:37:39 -0500 +Subject: [PATCH] Fix systemd-stdio-bridge symlink + +The symlink is created in bindir (/usr/bin), and points to a binary +which lives in rootlibexecdir (/lib/systemd or /usr/lib/systemd). A +relative symlink does not work here. +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git Makefile.am Makefile.am +index 38445fb..e7134a2 100644 +--- Makefile.am ++++ Makefile.am +@@ -1978,7 +1978,7 @@ systemd_bus_proxyd_LDADD = \ + + bus-proxyd-install-hook: + $(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir) +- $(AM_V_LN)$(LN_S) -f ../lib/systemd/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge ++ $(AM_V_LN)$(LN_S) -f $(rootlibexecdir)/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge + + bus-proxyd-uninstall-hook: + rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge +-- +1.7.9.2 + diff --git a/0001-Never-call-qsort-on-potentially-NULL-arrays.patch b/0001-Never-call-qsort-on-potentially-NULL-arrays.patch deleted file mode 100644 index 515348fb..00000000 --- a/0001-Never-call-qsort-on-potentially-NULL-arrays.patch +++ /dev/null @@ -1,385 +0,0 @@ -From 7ff7394d9e4e9189c30fd018235e6b1728c6f2d0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Oct 2013 19:33:13 -0400 -Subject: [PATCH] Never call qsort on potentially NULL arrays - -This extends 62678ded 'efi: never call qsort on potentially -NULL arrays' to all other places where qsort is used and it -is not obvious that the count is non-zero. ---- - src/analyze/systemd-analyze.c | 2 +- - src/cgtop/cgtop.c | 2 +- - src/core/namespace.c | 38 ++++++++++++++++++++------------------ - src/journal/catalog.c | 2 +- - src/journal/journal-file.c | 2 +- - src/journal/journal-vacuum.c | 3 +-- - src/journal/journalctl.c | 2 +- - src/libsystemd-bus/bus-match.c | 2 +- - src/libudev/libudev-enumerate.c | 2 +- - src/nss-myhostname/netlink.c | 3 ++- - src/readahead/readahead-collect.c | 39 ++++++++++++++++++++++----------------- - src/shared/cgroup-show.c | 2 ++ - src/shared/conf-files.c | 2 +- - src/shared/efivars.c | 3 +-- - src/shared/fileio.c | 1 + - src/shared/util.h | 12 ++++++++++++ - src/systemctl/systemctl.c | 10 +++++----- - 17 files changed, 74 insertions(+), 53 deletions(-) - -diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c -index 27d063c..a4f15eb 100644 ---- a/src/analyze/systemd-analyze.c -+++ b/src/analyze/systemd-analyze.c -@@ -768,7 +768,7 @@ static int list_dependencies_one(DBusConnection *bus, const char *name, unsigned - if (r < 0) - return r; - -- qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); -+ qsort_safe(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); - - r = acquire_boot_times(bus, &boot); - if (r < 0) -diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c -index cacf705..293a211 100644 ---- a/src/cgtop/cgtop.c -+++ b/src/cgtop/cgtop.c -@@ -461,7 +461,7 @@ static int display(Hashmap *a) { - if (g->n_tasks_valid || g->cpu_valid || g->memory_valid || g->io_valid) - array[n++] = g; - -- qsort(array, n, sizeof(Group*), group_compare); -+ qsort_safe(array, n, sizeof(Group*), group_compare); - - /* Find the longest names in one run */ - for (j = 0; j < n; j++) { -diff --git a/src/core/namespace.c b/src/core/namespace.c -index 16b132b..936f368 100644 ---- a/src/core/namespace.c -+++ b/src/core/namespace.c -@@ -222,7 +222,7 @@ int setup_namespace(char** read_write_dirs, - strv_length(read_only_dirs) + - strv_length(inaccessible_dirs) + - (private_tmp ? 2 : 0); -- BindMount *m, *mounts; -+ BindMount *m, *mounts = NULL; - int r = 0; - - if (!mount_flags) -@@ -231,27 +231,29 @@ int setup_namespace(char** read_write_dirs, - if (unshare(CLONE_NEWNS) < 0) - return -errno; - -- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); -- if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 || -- (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 || -- (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0) -- return r; -+ if (n) { -+ m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); -+ if ((r = append_mounts(&m, read_write_dirs, READWRITE)) < 0 || -+ (r = append_mounts(&m, read_only_dirs, READONLY)) < 0 || -+ (r = append_mounts(&m, inaccessible_dirs, INACCESSIBLE)) < 0) -+ return r; -+ -+ if (private_tmp) { -+ m->path = "/tmp"; -+ m->mode = PRIVATE_TMP; -+ m++; -+ -+ m->path = "/var/tmp"; -+ m->mode = PRIVATE_VAR_TMP; -+ m++; -+ } - -- if (private_tmp) { -- m->path = "/tmp"; -- m->mode = PRIVATE_TMP; -- m++; -+ assert(mounts + n == m); - -- m->path = "/var/tmp"; -- m->mode = PRIVATE_VAR_TMP; -- m++; -+ qsort(mounts, n, sizeof(BindMount), mount_path_compare); -+ drop_duplicates(mounts, &n); - } - -- assert(mounts + n == m); -- -- qsort(mounts, n, sizeof(BindMount), mount_path_compare); -- drop_duplicates(mounts, &n); -- - /* Remount / as SLAVE so that nothing now mounted in the namespace - shows up in the parent */ - if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL) < 0) -diff --git a/src/journal/catalog.c b/src/journal/catalog.c -index 7738d24..90ca008 100644 ---- a/src/journal/catalog.c -+++ b/src/journal/catalog.c -@@ -399,7 +399,7 @@ int catalog_update(const char* database, const char* root, const char* const* di - } - - assert(n == hashmap_size(h)); -- qsort(items, n, sizeof(CatalogItem), catalog_compare_func); -+ qsort_safe(items, n, sizeof(CatalogItem), catalog_compare_func); - - r = write_catalog(database, h, sb, items, n); - if (r < 0) -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 78b937b..901e71b 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -1344,7 +1344,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st - - /* Order by the position on disk, in order to improve seek - * times for rotating media. */ -- qsort(items, n_iovec, sizeof(EntryItem), entry_item_cmp); -+ qsort_safe(items, n_iovec, sizeof(EntryItem), entry_item_cmp); - - r = journal_file_append_entry_internal(f, ts, xor_hash, items, n_iovec, seqnum, ret, offset); - -diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c -index 8d5effb..d4a1c6c 100644 ---- a/src/journal/journal-vacuum.c -+++ b/src/journal/journal-vacuum.c -@@ -299,8 +299,7 @@ int journal_directory_vacuum( - n_list ++; - } - -- if (n_list > 0) -- qsort(list, n_list, sizeof(struct vacuum_info), vacuum_compare); -+ qsort_safe(list, n_list, sizeof(struct vacuum_info), vacuum_compare); - - for (i = 0; i < n_list; i++) { - struct statvfs ss; -diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c -index 2f8be1b..275458c 100644 ---- a/src/journal/journalctl.c -+++ b/src/journal/journalctl.c -@@ -761,7 +761,7 @@ static int get_relative_boot_id(sd_journal *j, sd_id128_t *boot_id, int relative - sd_journal_flush_matches(j); - } - -- qsort(all_ids, count, sizeof(boot_id_t), boot_id_cmp); -+ qsort_safe(all_ids, count, sizeof(boot_id_t), boot_id_cmp); - - if (sd_id128_equal(*boot_id, SD_ID128_NULL)) { - if (relative > (int) count || relative <= -(int)count) -diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c -index 1411167..916682a 100644 ---- a/src/libsystemd-bus/bus-match.c -+++ b/src/libsystemd-bus/bus-match.c -@@ -768,7 +768,7 @@ int bus_match_parse( - } - - /* Order the whole thing, so that we always generate the same tree */ -- qsort(components, n_components, sizeof(struct bus_match_component), match_component_compare); -+ qsort_safe(components, n_components, sizeof(struct bus_match_component), match_component_compare); - - /* Check for duplicates */ - for (i = 0; i+1 < n_components; i++) -diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c -index 8146f27..e71d766 100644 ---- a/src/libudev/libudev-enumerate.c -+++ b/src/libudev/libudev-enumerate.c -@@ -276,7 +276,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume - size_t move_later_prefix = 0; - - udev_list_cleanup(&udev_enumerate->devices_list); -- qsort(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); -+ qsort_safe(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); - - max = udev_enumerate->devices_cur; - for (i = 0; i < max; i++) { -diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c -index b1ef912..47a41f5 100644 ---- a/src/nss-myhostname/netlink.c -+++ b/src/nss-myhostname/netlink.c -@@ -197,7 +197,8 @@ finish: - return r; - } - -- qsort(list, n_list, sizeof(struct address), address_compare); -+ if (n_list) -+ qsort(list, n_list, sizeof(struct address), address_compare); - - *_list = list; - *_n_list = n_list; -diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c -index 32888ad..6b74866 100644 ---- a/src/readahead/readahead-collect.c -+++ b/src/readahead/readahead-collect.c -@@ -536,8 +536,7 @@ done: - HASHMAP_FOREACH_KEY(q, p, files, i) - pack_file(pack, p, on_btrfs); - } else { -- struct item *ordered, *j; -- unsigned k, n; -+ unsigned n; - - /* On rotating media, order things by the block - * numbers */ -@@ -545,25 +544,31 @@ done: - log_debug("Ordering..."); - - n = hashmap_size(files); -- if (!(ordered = new(struct item, n))) { -- r = log_oom(); -- goto finish; -- } -- -- j = ordered; -- HASHMAP_FOREACH_KEY(q, p, files, i) { -- memcpy(j, q, sizeof(struct item)); -- j++; -- } -+ if (n) { -+ _cleanup_free_ struct item *ordered; -+ struct item *j; -+ unsigned k; -+ -+ ordered = new(struct item, n); -+ if (!ordered) { -+ r = log_oom(); -+ goto finish; -+ } - -- assert(ordered + n == j); -+ j = ordered; -+ HASHMAP_FOREACH_KEY(q, p, files, i) { -+ memcpy(j, q, sizeof(struct item)); -+ j++; -+ } - -- qsort(ordered, n, sizeof(struct item), qsort_compare); -+ assert(ordered + n == j); - -- for (k = 0; k < n; k++) -- pack_file(pack, ordered[k].path, on_btrfs); -+ qsort(ordered, n, sizeof(struct item), qsort_compare); - -- free(ordered); -+ for (k = 0; k < n; k++) -+ pack_file(pack, ordered[k].path, on_btrfs); -+ } else -+ log_warning("No pack files"); - } - - log_debug("Finalizing..."); -diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c -index e971f36..cc44ab4 100644 ---- a/src/shared/cgroup-show.c -+++ b/src/shared/cgroup-show.c -@@ -44,6 +44,8 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi - unsigned i, m, pid_width; - pid_t biggest = 0; - -+ assert(n_pids > 0); -+ - /* Filter duplicates */ - m = 0; - for (i = 0; i < n_pids; i++) { -diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c -index 6d99739..ed4070c 100644 ---- a/src/shared/conf-files.c -+++ b/src/shared/conf-files.c -@@ -127,7 +127,7 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const - return -ENOMEM; - } - -- qsort(files, hashmap_size(fh), sizeof(char *), base_cmp); -+ qsort_safe(files, hashmap_size(fh), sizeof(char *), base_cmp); - *strv = files; - - hashmap_free(fh); -diff --git a/src/shared/efivars.c b/src/shared/efivars.c -index c015b16..f3eb6a6 100644 ---- a/src/shared/efivars.c -+++ b/src/shared/efivars.c -@@ -384,8 +384,7 @@ int efi_get_boot_options(uint16_t **options) { - list[count ++] = id; - } - -- if (list) -- qsort(list, count, sizeof(uint16_t), cmp_uint16); -+ qsort_safe(list, count, sizeof(uint16_t), cmp_uint16); - - *options = list; - return count; -diff --git a/src/shared/fileio.c b/src/shared/fileio.c -index 603a1c7..733b320 100644 ---- a/src/shared/fileio.c -+++ b/src/shared/fileio.c -@@ -662,6 +662,7 @@ int get_status_field(const char *filename, const char *pattern, char **field) { - int r; - - assert(filename); -+ assert(pattern); - assert(field); - - r = read_full_file(filename, &status, NULL); -diff --git a/src/shared/util.h b/src/shared/util.h -index 26af5b3..09e556d 100644 ---- a/src/shared/util.h -+++ b/src/shared/util.h -@@ -772,3 +772,15 @@ bool id128_is_valid(const char *s) _pure_; - void parse_user_at_host(char *arg, char **user, char **host); - - int split_pair(const char *s, const char *sep, char **l, char **r); -+ -+/** -+ * Normal qsort requires base to be nonnull. Here were require -+ * that only if nmemb > 0. -+ */ -+static inline void qsort_safe(void *base, size_t nmemb, size_t size, -+ int (*compar)(const void *, const void *)) { -+ if (nmemb) { -+ assert(base); -+ qsort(base, nmemb, size, compar); -+ } -+} -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index d75281f..036828b 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -471,7 +471,7 @@ static int list_units(DBusConnection *bus, char **args) { - if (r < 0) - return r; - -- qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info); -+ qsort_safe(unit_infos, c, sizeof(struct unit_info), compare_unit_info); - - output_units_list(unit_infos, c); - -@@ -733,8 +733,8 @@ static int list_sockets(DBusConnection *bus, char **args) { - listen = triggered = NULL; /* avoid cleanup */ - } - -- qsort(socket_infos, cs, sizeof(struct socket_info), -- (__compar_fn_t) socket_info_compare); -+ qsort_safe(socket_infos, cs, sizeof(struct socket_info), -+ (__compar_fn_t) socket_info_compare); - - output_sockets_list(socket_infos, cs); - -@@ -1108,7 +1108,7 @@ static int list_dependencies_one(DBusConnection *bus, const char *name, int leve - if (r < 0) - return r; - -- qsort(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); -+ qsort_safe(deps, strv_length(deps), sizeof (char*), list_dependencies_compare); - - STRV_FOREACH(c, deps) { - if (strv_contains(u, *c)) { -@@ -3532,7 +3532,7 @@ static int show_all(const char* verb, - if (r < 0) - return r; - -- qsort(unit_infos, c, sizeof(struct unit_info), compare_unit_info); -+ qsort_safe(unit_infos, c, sizeof(struct unit_info), compare_unit_info); - - for (u = unit_infos; u < unit_infos + c; u++) { - _cleanup_free_ char *p = NULL; --- -1.8.4 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index 843894e1..e772cbae 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -10,7 +10,7 @@ ACTION=="remove", GOTO="systemd_end" --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd" +-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" @@ -108,16 +108,3 @@ return cached_on_tty; } ---- systemd-208/src/getty-generator/getty-generator.c -+++ systemd-208/src/getty-generator/getty-generator.c 2014-02-05 10:41:29.502245927 +0000 -@@ -149,9 +149,9 @@ int main(int argc, char *argv[]) { - * only for non-VC terminals. */ - - k = add_serial_getty(tty); -+ free(tty); - - if (k < 0) { -- free(tty); - free(active); - r = EXIT_FAILURE; - goto finish; diff --git a/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch b/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch deleted file mode 100644 index 312a5616..00000000 --- a/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7e326fb5b2c1a839bbe7f879c7efa2af2ed33420 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 2 Oct 2013 13:39:49 +0200 -Subject: [PATCH 01/15] acpi-fptd: fix memory leak in acpi_get_boot_usec - ---- - src/shared/acpi-fpdt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c -index b094f34..a7c83ed 100644 ---- a/src/shared/acpi-fpdt.c -+++ b/src/shared/acpi-fpdt.c -@@ -81,7 +81,7 @@ struct acpi_fpdt_boot { - }; - - int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { -- char *buf; -+ _cleanup_free_ char *buf; - struct acpi_table_header *tbl; - size_t l; - struct acpi_fpdt_header *rec; --- -1.8.4 - diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index 2d48b38a..57ca912b 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -5,65 +5,57 @@ use the system halt as gfallback if poweroff fails for both the direct poweroff systemctl command as well as for the systemd-shutdown utility. --- - Makefile.am | 2 - Makefile.in | 7 - src/core/shutdown.c | 8 - - src/shared/hdflush.c | 365 ++++++++++++++++++++++++++++++++++++++++++++++ - src/shared/hdflush.h | 25 +++ - src/systemctl/systemctl.c | 17 +- - 6 files changed, 416 insertions(+), 8 deletions(-) + Makefile.am | 11 + + src/core/hdflush.c | 365 ++++++++++++++++++++++++++++++++++++++++++++++ + src/core/hdflush.h | 25 +++ + src/core/shutdown.c | 12 + + src/systemctl/systemctl.c | 25 ++- + 5 files changed, 429 insertions(+), 9 deletions(-) ---- systemd-208/Makefile.am -+++ systemd-208/Makefile.am 2014-01-28 11:06:55.638238060 +0000 -@@ -680,6 +680,8 @@ libsystemd_shared_la_SOURCES = \ - src/shared/strbuf.h \ - src/shared/strxcpyx.c \ - src/shared/strxcpyx.h \ -+ src/shared/hdflush.c \ -+ src/shared/hdflush.h \ - src/shared/conf-parser.c \ - src/shared/conf-parser.h \ - src/shared/log.c \ ---- systemd-208/Makefile.in -+++ systemd-208/Makefile.in 2014-01-28 11:06:33.942246196 +0000 -@@ -1509,7 +1509,7 @@ am_libsystemd_shared_la_OBJECTS = src/sh - src/shared/hashmap.lo src/shared/set.lo src/shared/fdset.lo \ - src/shared/prioq.lo src/shared/sleep-config.lo \ - src/shared/strv.lo src/shared/env-util.lo src/shared/strbuf.lo \ -- src/shared/strxcpyx.lo src/shared/conf-parser.lo \ -+ src/shared/strxcpyx.lo src/shared/hdflush.lo src/shared/conf-parser.lo \ - src/shared/log.lo src/shared/ratelimit.lo \ - src/shared/exit-status.lo src/shared/utf8.lo \ - src/shared/pager.lo src/shared/socket-util.lo \ -@@ -4137,6 +4137,8 @@ libsystemd_shared_la_SOURCES = \ - src/shared/strbuf.h \ - src/shared/strxcpyx.c \ - src/shared/strxcpyx.h \ -+ src/shared/hdflush.c \ -+ src/shared/hdflush.h \ - src/shared/conf-parser.c \ - src/shared/conf-parser.h \ - src/shared/log.c \ -@@ -7073,6 +7075,8 @@ src/shared/strbuf.lo: src/shared/$(am__d - src/shared/$(DEPDIR)/$(am__dirstamp) - src/shared/strxcpyx.lo: src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -+src/shared/hdflush.lo: src/shared/$(am__dirstamp) \ -+ src/shared/$(DEPDIR)/$(am__dirstamp) - src/shared/conf-parser.lo: src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) - src/shared/log.lo: src/shared/$(am__dirstamp) \ -@@ -9236,6 +9240,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strbuf.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strv.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/strxcpyx.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/hdflush.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/time-dst.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/time-util.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/unit-name.Plo@am__quote@ ---- systemd-208/src/shared/hdflush.c -+++ systemd-208/src/shared/hdflush.c 2014-01-28 10:58:56.490735704 +0000 -@@ -0,0 +1,365 @@ +--- systemd-209/Makefile.am ++++ systemd-209/Makefile.am 2014-01-28 11:06:56.000000000 +0000 +@@ -1004,7 +1004,9 @@ libsystemd_core_la_SOURCES = \ + src/core/audit-fd.c \ + src/core/audit-fd.h \ + src/core/async.c \ +- src/core/async.h ++ src/core/async.h \ ++ src/core/hdflush.c \ ++ src/core/hdflush.h + + if HAVE_KMOD + libsystemd_core_la_SOURCES += \ +@@ -1522,6 +1524,8 @@ systemd_shutdown_SOURCES = \ + src/core/shutdown.c \ + src/core/mount-setup.c \ + src/core/mount-setup.h \ ++ src/core/hdflush.c \ ++ src/core/hdflush.h \ + src/core/killall.h \ + src/core/killall.c + +@@ -1818,7 +1822,9 @@ systemd_cgroups_agent_LDADD = \ + + # ------------------------------------------------------------------------------ + systemctl_SOURCES = \ +- src/systemctl/systemctl.c ++ src/systemctl/systemctl.c \ ++ src/core/hdflush.c \ ++ src/core/hdflush.h + + systemctl_LDADD = \ + libsystemd-units.la \ +@@ -1826,6 +1832,7 @@ systemctl_LDADD = \ + libsystemd-internal.la \ + libsystemd-logs.la \ + libsystemd-journal-internal.la \ ++ libudev-internal.la \ + libsystemd-shared.la + + # ------------------------------------------------------------------------------ +--- systemd-209/src/core/hdflush.c ++++ systemd-209/src/core/hdflush.c 2014-01-28 10:58:56.000000000 +0000 +@@ -0,0 +1,367 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -111,6 +103,8 @@ systemctl command as well as for the systemd-shutdown utility. +# include +#endif + ++#include "hdflush.h" ++ +/* Used in flush_cache_ext(), compare with */ +#define IDBYTES 512 +#define MASK_EXT 0xE000 /* Bit 15 shall be zero, bit 14 shall be one, bit 13 flush cache ext */ @@ -429,8 +423,8 @@ systemctl command as well as for the systemd-shutdown utility. + close_sysfs(sysfs); +} +#endif ---- systemd-208/src/shared/hdflush.h -+++ systemd-208/src/shared/hdflush.h 2014-01-28 11:00:08.286235696 +0000 +--- systemd-209/src/core/hdflush.h ++++ systemd-209/src/core/hdflush.h 2014-01-28 11:00:08.000000000 +0000 @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -457,8 +451,8 @@ systemctl command as well as for the systemd-shutdown utility. + +void hdflush(void); +void hddown(void); ---- systemd-208/src/core/shutdown.c -+++ systemd-208/src/core/shutdown.c 2014-01-28 11:14:15.722235591 +0000 +--- systemd-209/src/core/shutdown.c ++++ systemd-209/src/core/shutdown.c 2014-02-28 11:17:22.000000000 +0000 @@ -40,6 +40,7 @@ #include "missing.h" #include "log.h" @@ -467,7 +461,17 @@ systemctl command as well as for the systemd-shutdown utility. #include "umount.h" #include "util.h" #include "mkdir.h" -@@ -302,8 +303,13 @@ int main(int argc, char *argv[]) { +@@ -225,7 +226,8 @@ int main(int argc, char *argv[]) { + _cleanup_free_ char *cgroup = NULL; + char *arguments[3]; + unsigned retries; +- int cmd, r; ++ unsigned cmd; ++ int r; + + log_parse_environment(); + r = parse_argv(argc, argv); +@@ -388,8 +390,13 @@ int main(int argc, char *argv[]) { * on reboot(), but the file systems need to be synce'd * explicitly in advance. So let's do this here, but not * needlessly slow down containers. */ @@ -480,11 +484,30 @@ systemctl command as well as for the systemd-shutdown utility. + hdflush(); + } - if (cmd == LINUX_REBOOT_CMD_KEXEC) { + switch (cmd) { ---- systemd-208/src/systemctl/systemctl.c -+++ systemd-208/src/systemctl/systemctl.c 2014-01-28 11:31:27.150735613 +0000 -@@ -87,6 +87,7 @@ static bool arg_no_pager = false; +@@ -449,6 +456,10 @@ int main(int argc, char *argv[]) { + } + + reboot(cmd); ++ ++ if (cmd == RB_POWER_OFF) ++ reboot(RB_HALT_SYSTEM); ++ + if (errno == EPERM && in_container) { + /* If we are in a container, and we lacked + * CAP_SYS_BOOT just exit, this will kill our +--- systemd-209/src/systemctl/systemctl.c ++++ systemd-209/src/systemctl/systemctl.c 2014-02-28 11:19:35.000000000 +0000 +@@ -67,6 +67,7 @@ + #include "logs-show.h" + #include "socket-util.h" + #include "fileio.h" ++#include "hdflush.h" + #include "env-util.h" + #include "bus-util.h" + #include "bus-message.h" +@@ -93,6 +94,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -492,15 +515,15 @@ systemctl command as well as for the systemd-shutdown utility. static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -5272,6 +5273,7 @@ static int halt_parse_argv(int argc, cha +@@ -5566,6 +5568,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, + { "no-sync", no_argument, NULL, 'n' }, { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, - { NULL, 0, NULL, 0 } -@@ -5324,10 +5326,13 @@ static int halt_parse_argv(int argc, cha + {} +@@ -5617,10 +5620,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -515,15 +538,25 @@ systemctl command as well as for the systemd-shutdown utility. case '?': return -EINVAL; -@@ -5981,14 +5986,14 @@ static int halt_now(enum action a) { +@@ -6266,16 +6272,24 @@ static int halt_now(enum action a) { + * point on... */ + reboot(RB_ENABLE_CAD); - switch (a) { +- switch (a) { ++ if (!arg_no_sync) ++ sync(); - case ACTION_HALT: - log_info("Halting."); - reboot(RB_HALT_SYSTEM); - return -errno; -- ++ if (a == ACTION_POWEROFF || a == ACTION_HALT) ++ hddown(); ++ else ++ hdflush(); ++ ++ switch (a) { + case ACTION_POWEROFF: log_info("Powering off."); reboot(RB_POWER_OFF); @@ -534,4 +567,4 @@ systemctl command as well as for the systemd-shutdown utility. + reboot(RB_HALT_SYSTEM); return -errno; - case ACTION_REBOOT: + case ACTION_REBOOT: { diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch new file mode 100644 index 00000000..57a87c73 --- /dev/null +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -0,0 +1,318 @@ +Avoid possible race on NFS shares in which may that the network devices disappears +before the associated NFS share becomes unmounted (bug #861489). +To do this make sure that sys-subsystem-net-devices-.device used for the +NFS share is added as "After=" dependency to the .mount. + +--- + Makefile.am | 2 + src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/mount-iface.h | 25 +++++++ + src/core/mount.c | 35 +++++++++ + src/shared/util.c | 1 + 5 files changed, 234 insertions(+), 2 deletions(-) + +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-02-26 12:44:20.000000000 +0000 +@@ -994,6 +994,8 @@ libsystemd_core_la_SOURCES = \ + src/core/machine-id-setup.h \ + src/core/mount-setup.c \ + src/core/mount-setup.h \ ++ src/core/mount-iface.c \ ++ src/core/mount-iface.h \ + src/core/loopback-setup.h \ + src/core/loopback-setup.c \ + src/core/condition.c \ +--- systemd-210/src/core/mount-iface.c ++++ systemd-210/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000 +@@ -0,0 +1,173 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2014 Werner Fink ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++/* ++ * Find the name of the network interface to which a IP address belongs to. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "log.h" ++#include "def.h" ++#include "mount-iface.h" ++ ++static struct ifaddrs *ifa_list; ++ ++_pure_ static unsigned int mask2prefix(const void* ipv6) ++{ ++ unsigned int nippels = 0; ++ unsigned int i; ++ ++ assert(ipv6); ++ ++ for (i = 0; i < sizeof(struct in6_addr); i++) { ++ uint8_t byte = ((const uint8_t*)ipv6)[i]; ++ if (byte == 0xFF) { ++ nippels += sizeof(uint8_t); ++ continue; ++ } ++ while (byte & 0x80) { ++ nippels++; ++ byte <<= 1; ++ } ++ break; ++ } ++ ++ return nippels; ++} ++ ++static void netmask(unsigned int prefix, const void* in6, void* out6) ++{ ++ unsigned int nippels; ++ unsigned int i; ++ ++ assert(in6); ++ assert(out6); ++ ++ for (i = 0; i < sizeof(struct in6_addr); i++) { ++ nippels = (prefix < sizeof(uint8_t)) ? prefix : sizeof(uint8_t); ++ ((uint8_t*)out6)[i] = ((const uint8_t*)in6)[i] & (0xFF00>>nippels); ++ prefix -= nippels; ++ } ++} ++ ++char *host2iface(const char *ip) ++{ ++ const struct ifaddrs *ifa; ++ uint32_t ip4 = 0; ++ char *ret = NULL; ++ struct search { ++ union { ++ struct in_addr addr; ++ struct in6_addr addr6; ++ }; ++ int family; ++ } host; ++ int r; ++ ++ if (!ifa_list && (getifaddrs(&ifa_list) < 0)) { ++ log_oom(); ++ goto err; ++ } ++ ++ if (strchr(ip, ':')) { ++ r = inet_pton(AF_INET6, ip, &host.addr6); ++ host.family = AF_INET6; ++ } else { ++ r = inet_pton(AF_INET, ip, &host.addr); ++ host.family = AF_INET; ++ } ++ ++ if (r < 0) { ++ log_error("Failed to convert IP address %s from text to binary: %m", ip); ++ goto err; ++ } ++ ++ for (ifa = ifa_list; ifa != NULL; ifa = ifa->ifa_next) { ++ ++ if (!ifa->ifa_addr) ++ continue; ++ if (ifa->ifa_flags & IFF_POINTOPOINT) ++ continue; ++ if (!ifa->ifa_addr) ++ continue; ++ if (!ifa->ifa_netmask) ++ continue; ++ ++ if (ifa->ifa_addr->sa_family == AF_INET) { ++ uint32_t addr, dest, mask; ++ ++ if (host.family != AF_INET) ++ continue; ++ if (!ifa->ifa_broadaddr) ++ continue; ++ ++ if (!ip4) ++ ip4 = (uint32_t)ntohl(host.addr.s_addr); ++ ++ addr = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr); ++ if ((addr & 0xFF000000) == 0x7F000000) /* IPV4 loopback */ ++ continue; ++ ++ mask = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_netmask)->sin_addr.s_addr); ++ dest = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_broadaddr)->sin_addr.s_addr); ++ if ((ip4 & mask) != (dest & mask)) ++ continue; ++ ++ ret = ifa->ifa_name; ++ break; ++ } else if (ifa->ifa_addr->sa_family == AF_INET6) { ++ struct in6_addr *addr, *mask, dest, ip6; ++ unsigned int prefix; ++ ++ if (host.family != AF_INET6) ++ continue; ++ ++ addr = &((struct sockaddr_in6*)ifa->ifa_addr)->sin6_addr; ++ mask = &((struct sockaddr_in6*)ifa->ifa_netmask)->sin6_addr; ++ prefix = mask2prefix(mask); ++ ++ netmask(prefix, addr, &dest); ++ netmask(prefix, &host.addr6, &ip6); ++ ++ if (memcmp(&dest, &ip6, sizeof(struct in6_addr)) != 0) ++ continue; ++ ++ ret = ifa->ifa_name; ++ break; ++ } ++ } ++err: ++ return ret; ++} ++ ++void freeroutes(void) ++{ ++ if (ifa_list) ++ freeifaddrs(ifa_list); ++ ifa_list = NULL; ++} +--- systemd-210/src/core/mount-iface.h ++++ systemd-210/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000 +@@ -0,0 +1,25 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++#pragma once ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2014 Werner Fink ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++char *host2iface(const char *ip); ++void freeroutes(void); +--- systemd-210/src/core/mount.c ++++ systemd-210/src/core/mount.c 2014-03-03 12:13:23.406246117 +0000 +@@ -36,6 +36,7 @@ + #include "mkdir.h" + #include "path-util.h" + #include "mount-setup.h" ++#include "mount-iface.h" + #include "unit-name.h" + #include "dbus-mount.h" + #include "special.h" +@@ -1388,8 +1389,9 @@ static int mount_add_one( + _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; + bool load_extras = false; + MountParameters *p; +- bool delete, changed = false; ++ bool delete, changed = false, isnetwork; + Unit *u; ++ char *c; + int r; + + assert(m); +@@ -1414,6 +1416,8 @@ static int mount_add_one( + if (!e) + return -ENOMEM; + ++ isnetwork = fstype_is_network(fstype); ++ + u = manager_get_unit(m, e); + if (!u) { + delete = true; +@@ -1442,7 +1446,7 @@ static int mount_add_one( + if (m->running_as == SYSTEMD_SYSTEM) { + const char* target; + +- target = fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; ++ target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; + + r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); + if (r < 0) +@@ -1519,6 +1523,32 @@ static int mount_add_one( + goto fail; + } + ++ if (isnetwork && (c = strrchr(p->what, ':')) && *(c+1) == '/') { ++ _cleanup_free_ char *opt = strdup(p->options); ++ char *addr; ++ ++ if (opt && (addr = strstr(opt, ",addr="))) { ++ char *colon, *iface; ++ ++ addr += 6; ++ if ((colon = strchr(addr, ','))) ++ *colon = '\0'; ++ ++ iface = host2iface(addr); ++ if (iface) { ++ _cleanup_free_ char* target = NULL; ++ if (asprintf(&target, "sys-subsystem-net-devices-%s.device", iface) < 0) ++ log_oom(); ++ else { ++ r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); ++ if (r < 0) ++ log_error_unit(u->id, "Failed to add dependency on %s, ignoring: %s", ++ target, strerror(-r)); ++ } ++ } ++ } ++ } ++ + if (changed) + unit_add_to_dbus_queue(u); + +@@ -1583,6 +1613,7 @@ static int mount_load_proc_self_mountinf + if (k < 0) + r = k; + } ++ freeroutes(); /* Just in case of using the routing table with host2iface() */ + + return r; + } +--- systemd-210/src/shared/util.c ++++ systemd-210/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000 +@@ -1502,6 +1502,7 @@ bool fstype_is_network(const char *fstyp + "ncp\0" + "nfs\0" + "nfs4\0" ++ "afs\0" + "gfs\0" + "gfs2\0"; + diff --git a/0001-analyze-set-text-on-side-with-most-space.patch b/0001-analyze-set-text-on-side-with-most-space.patch deleted file mode 100644 index 6268160c..00000000 --- a/0001-analyze-set-text-on-side-with-most-space.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 95168f7d55181475946ad93db30255c4d709df03 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 01 Nov 2013 21:57:47 +0000 -Subject: analyze: plot: place the text on the side with most space - -Set the width of the svg to always fit the longest string -while taking its starting position into consideration. - -Place the text on the right while the starting point is -in the first half of the screen. After that we put it on -the left to save the svg from being wider that it has to. ---- -diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c -index 6bfe13d..8730723 100644 ---- a/src/analyze/systemd-analyze.c -+++ b/src/analyze/systemd-analyze.c -@@ -509,7 +509,7 @@ static int analyze_plot(sd_bus *bus) { - m++; - - for (u = times; u < times + n; u++) { -- double len; -+ double text_start, text_width; - - if (u->ixt < boot->userspace_time || - u->ixt > boot->finish_time) { -@@ -517,10 +517,14 @@ static int analyze_plot(sd_bus *bus) { - u->name = NULL; - continue; - } -- len = ((boot->firmware_time + u->ixt) * SCALE_X) -- + (10.0 * strlen(u->name)); -- if (len > width) -- width = len; -+ -+ /* If the text cannot fit on the left side then -+ * increase the svg width so it fits on the right. -+ * TODO: calculate the text width more accurately */ -+ text_width = 8.0 * strlen(u->name); -+ text_start = (boot->firmware_time + u->ixt) * SCALE_X; -+ if (text_width > text_start && text_width + text_start > width) -+ width = text_width + text_start; - - if (u->iet > u->ixt && u->iet <= boot->finish_time - && u->aet == 0 && u->axt == 0) -@@ -608,7 +612,7 @@ static int analyze_plot(sd_bus *bus) { - svg_bar("active", boot->userspace_time, boot->finish_time, y); - svg_bar("generators", boot->generators_start_time, boot->generators_finish_time, y); - svg_bar("unitsload", boot->unitsload_start_time, boot->unitsload_finish_time, y); -- svg_text("left", boot->userspace_time, y, "systemd"); -+ svg_text(true, boot->userspace_time, y, "systemd"); - y++; - - for (u = times; u < times + n; u++) { -@@ -622,7 +626,8 @@ static int analyze_plot(sd_bus *bus) { - svg_bar("active", u->aet, u->axt, y); - svg_bar("deactivating", u->axt, u->iet, y); - -- b = u->ixt * SCALE_X > width * 2 / 3; -+ /* place the text on the left if we have passed the half of the svg width */ -+ b = u->ixt * SCALE_X < width / 2; - if (u->time) - svg_text(b, u->ixt, y, "%s (%s)", - u->name, format_timespan(ts, sizeof(ts), u->time, USEC_PER_MSEC)); -@@ -634,19 +639,19 @@ static int analyze_plot(sd_bus *bus) { - /* Legend */ - y++; - svg_bar("activating", 0, 300000, y); -- svg_text("right", 400000, y, "Activating"); -+ svg_text(true, 400000, y, "Activating"); - y++; - svg_bar("active", 0, 300000, y); -- svg_text("right", 400000, y, "Active"); -+ svg_text(true, 400000, y, "Active"); - y++; - svg_bar("deactivating", 0, 300000, y); -- svg_text("right", 400000, y, "Deactivating"); -+ svg_text(true, 400000, y, "Deactivating"); - y++; - svg_bar("generators", 0, 300000, y); -- svg_text("right", 400000, y, "Generators"); -+ svg_text(true, 400000, y, "Generators"); - y++; - svg_bar("unitsload", 0, 300000, y); -- svg_text("right", 400000, y, "Loading unit files"); -+ svg_text(true, 400000, y, "Loading unit files"); - y++; - - svg("\n\n"); --- -cgit v0.9.0.2-2-gbebe diff --git a/0001-analyze-set-white-background.patch b/0001-analyze-set-white-background.patch deleted file mode 100644 index 89062844..00000000 --- a/0001-analyze-set-white-background.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 418e37506e6a419a808a82081ca1616caa03a206 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Mon, 21 Oct 2013 19:29:23 +0000 -Subject: analyze: set white backgound - -In programs like eog and gimp the transparant background did not -look very good. - -https://bugs.freedesktop.org/show_bug.cgi?id=70720 ---- -diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c -index 26769d6..0cc4de7 100644 ---- a/src/analyze/systemd-analyze.c -+++ b/src/analyze/systemd-analyze.c -@@ -507,6 +507,7 @@ static int analyze_plot(DBusConnection *bus) { - /* style sheet */ - svg("\n \n\n\n"); - -+ svg("\n"); - svg("%s", pretty_times); - svg("%s %s (%s %s) %s", - isempty(osname) ? "Linux" : osname, --- -cgit v0.9.0.2-2-gbebe diff --git a/0001-avoid-abort-due-timeout-at-user-service.patch b/0001-avoid-abort-due-timeout-at-user-service.patch new file mode 100644 index 00000000..e441beb2 --- /dev/null +++ b/0001-avoid-abort-due-timeout-at-user-service.patch @@ -0,0 +1,15 @@ +--- systemd-209/src/login/logind-session.c ++++ systemd-209/src/login/logind-session.c 2014-02-28 12:12:14.762736079 +0000 +@@ -525,6 +525,12 @@ int session_start(Session *s) { + if (r < 0) + return r; + ++ if (!s->user->slice) { ++ if (errno) ++ return -errno; ++ return -ESTALE; ++ } ++ + /* Create cgroup */ + r = session_start_scope(s); + if (r < 0) diff --git a/0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch b/0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch deleted file mode 100644 index 37291988..00000000 --- a/0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch +++ /dev/null @@ -1,225 +0,0 @@ -From 6fa7e1a944a2dbb89e794ad0f9da5d0fda5dc4a9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 29 Jan 2014 13:38:55 +0100 -Subject: [PATCH 1/3] core: introduce new KillMode=mixed which sends SIGTERM - only to the main process, but SIGKILL to all daemon processes - -This should fix some race with terminating systemd --user, where the -system systemd instance might race against the user systemd instance -when sending SIGTERM. ---- - man/systemd.kill.xml | 77 +++++++++++++++++++++++++++++++++----------------- - src/core/kill.c | 1 + - src/core/kill.h | 1 + - src/core/unit.c | 3 +- - units/user@.service.in | 1 + - 5 files changed, 56 insertions(+), 27 deletions(-) - -diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml -index 1b10fba..a4009aa 100644 ---- a/man/systemd.kill.xml -+++ b/man/systemd.kill.xml -@@ -44,39 +44,44 @@ - - - systemd.kill -- Kill environment configuration -+ Process killing procedure -+ configuration - - - - service.service, - socket.socket, - mount.mount, -- swap.swap -+ swap.swap, -+ scope.scope - - - - Description - - Unit configuration files for services, sockets, -- mount points and swap devices share a subset of -- configuration options which define the process killing -- parameters of spawned processes. -+ mount points, swap devices and scopes share a subset -+ of configuration options which define the -+ killing procedure of processes belonging to the unit. - - This man page lists the configuration options -- shared by these four unit types. See -+ shared by these five unit types. See - systemd.unit5 -- for the common options of all unit configuration -- files, and -+ for the common options shared by all unit -+ configuration files, and - systemd.service5, - systemd.socket5, -- systemd.swap5 -- and -+ systemd.swap5, - systemd.mount5 -- for more information on the specific unit -- configuration files. The execution specific -+ and -+ systemd.scope5 -+ for more information on the configuration file options -+ specific to each unit type. -+ -+ The kill procedure - configuration options are configured in the [Service], -- [Socket], [Mount], or [Swap] section, depending on the unit -- type. -+ [Socket], [Mount] or [Swap] section, depending on the -+ unit type. - - - -@@ -87,32 +92,40 @@ - - KillMode= - Specifies how -- processes of this service shall be -+ processes of this unit shall be - killed. One of - , - , -+ , - . - - If set to - , all - remaining processes in the control -- group of this unit will be terminated -- on unit stop (for services: after the -+ group of this unit will be killed on -+ unit stop (for services: after the - stop command is executed, as - configured with - ExecStop=). If set - to , only the - main process itself is killed. If set -- to , no process is -+ to the -+ SIGTERM signal -+ (see below) is sent to the main -+ process while the subsequent -+ SIGKILL signal -+ (see below) is sent to all remaining -+ processes of the unit's control -+ group. If set to -+ , no process is - killed. In this case only the stop -- command will be executed on unit -- stop, but no process be killed -+ command will be executed on unit stop, -+ but no process be killed - otherwise. Processes remaining alive - after stop are left in their control - group and the control group continues - to exist after stop unless it is -- empty. Defaults to -- . -+ empty. - - Processes will first be - terminated via -@@ -133,14 +146,24 @@ - option). See - kill2 - for more -- information. -+ information. -+ -+ Defaults to -+ . - - - - KillSignal= - Specifies which signal -- to use when killing a -- service. Defaults to SIGTERM. -+ to use when killing a service. This -+ controls the signal that is sent as -+ first step of shutting down a unit -+ (see above), and is usually followed -+ by SIGKILL (see -+ above and below). For a list of valid -+ signals, see -+ signal7. Defaults -+ to SIGTERM. - - - -@@ -184,7 +207,9 @@ - systemd.swap5, - systemd.mount5, - systemd.exec5, -- systemd.directives7 -+ systemd.directives7, -+ kill2, -+ signal7 - - - -diff --git a/src/core/kill.c b/src/core/kill.c -index ea947c2..4271346 100644 ---- a/src/core/kill.c -+++ b/src/core/kill.c -@@ -52,6 +52,7 @@ void kill_context_dump(KillContext *c, FILE *f, const char *prefix) { - static const char* const kill_mode_table[_KILL_MODE_MAX] = { - [KILL_CONTROL_GROUP] = "control-group", - [KILL_PROCESS] = "process", -+ [KILL_MIXED] = "mixed", - [KILL_NONE] = "none" - }; - -diff --git a/src/core/kill.h b/src/core/kill.h -index 41773f0..d5f125f 100644 ---- a/src/core/kill.h -+++ b/src/core/kill.h -@@ -32,6 +32,7 @@ typedef enum KillMode { - /* The kill mode is a property of a unit. */ - KILL_CONTROL_GROUP = 0, - KILL_PROCESS, -+ KILL_MIXED, - KILL_NONE, - _KILL_MODE_MAX, - _KILL_MODE_INVALID = -1 -diff --git a/src/core/unit.c b/src/core/unit.c -index 4b97710..0b10e57 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -3007,7 +3007,7 @@ int unit_kill_context( - } - } - -- if (c->kill_mode == KILL_CONTROL_GROUP && u->cgroup_path) { -+ if ((c->kill_mode == KILL_CONTROL_GROUP || (c->kill_mode == KILL_MIXED && sigkill)) && u->cgroup_path) { - _cleanup_set_free_ Set *pid_set = NULL; - - /* Exclude the main/control pids from being killed via the cgroup */ -@@ -3021,6 +3021,7 @@ int unit_kill_context( - log_warning_unit(u->id, "Failed to kill control group: %s", strerror(-r)); - } else if (r > 0) { - wait_for_exit = true; -+ - if (c->send_sighup) { - set_free(pid_set); - -diff --git a/units/user@.service.in b/units/user@.service.in -index 3718a57..3bb8696 100644 ---- a/units/user@.service.in -+++ b/units/user@.service.in -@@ -17,3 +17,4 @@ Environment=SHELL=%s - ExecStart=-@rootlibexecdir@/systemd --user - Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%I/dbus/user_bus_socket - Slice=user-%i.slice -+KillMode=mixed --- -1.8.4 - diff --git a/0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch b/0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch deleted file mode 100644 index 40479ead..00000000 --- a/0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch +++ /dev/null @@ -1,329 +0,0 @@ -From d420282b28f50720e233ccb1c02547c562195653 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 26 Nov 2013 01:39:53 +0100 -Subject: [PATCH] core: replace OnFailureIsolate= setting by a more generic - OnFailureJobMode= setting and make use of it where applicable - ---- - man/systemd.unit.xml | 40 +++++++++++++++++++++++++---------- - src/core/dbus-unit.c | 3 ++- - src/core/job.h | 3 +-- - src/core/load-fragment-gperf.gperf.m4 | 3 ++- - src/core/load-fragment.c | 31 +++++++++++++++++++++++++++ - src/core/load-fragment.h | 2 ++ - src/core/unit.c | 11 +++++----- - src/core/unit.h | 4 ++-- - units/initrd-cleanup.service.in | 1 + - units/initrd-fs.target | 2 +- - units/initrd-parse-etc.service.in | 1 + - units/initrd-root-fs.target | 2 +- - units/initrd-switch-root.service.in | 1 + - units/initrd.target | 2 +- - units/local-fs.target | 2 +- - 15 files changed, 82 insertions(+), 26 deletions(-) - -Index: systemd-208/man/systemd.unit.xml -=================================================================== ---- systemd-208.orig/man/systemd.unit.xml -+++ systemd-208/man/systemd.unit.xml -@@ -669,19 +669,37 @@ - - - -- OnFailureIsolate= -+ OnFailureJobMode= - -- Takes a boolean -- argument. If , the -- unit listed in -+ Takes a value of -+ fail, -+ replace, -+ replace-irreversibly -+ or -+ isolate. Defaults -+ to -+ replace. Specifies -+ how the units listed in - OnFailure= will be -- enqueued in isolation mode, i.e. all -- units that are not its dependency will -- be stopped. If this is set, only a -+ enqueued. If set to -+ fail and -+ contradicting jobs are already queued, -+ cause the activation to fail. If set -+ to replace and -+ contradicting jobs area already -+ queued, replace -+ those. replace-irreversibly -+ is similar to -+ replace, however, -+ creates jobs that cannot be reversed -+ unless they finished or are explicitly -+ canceled. isolate -+ may be used to terminate all other -+ units but the specified one. If -+ this is set to -+ isolate, only a - single unit may be listed in -- OnFailure=. Defaults -- to -- . -+ OnFailure=.. - - - -Index: systemd-208/src/core/dbus-unit.c -=================================================================== ---- systemd-208.orig/src/core/dbus-unit.c -+++ systemd-208/src/core/dbus-unit.c -@@ -133,6 +133,7 @@ static int bus_unit_append_description(D - } - - static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_unit_append_load_state, unit_load_state, UnitLoadState); -+static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_unit_append_job_mode, job_mode, JobMode); - - static int bus_unit_append_active_state(DBusMessageIter *i, const char *property, void *data) { - Unit *u = data; -@@ -1079,7 +1080,7 @@ const BusProperty bus_unit_properties[] - { "RefuseManualStop", bus_property_append_bool, "b", offsetof(Unit, refuse_manual_stop) }, - { "AllowIsolate", bus_property_append_bool, "b", offsetof(Unit, allow_isolate) }, - { "DefaultDependencies", bus_property_append_bool, "b", offsetof(Unit, default_dependencies) }, -- { "OnFailureIsolate", bus_property_append_bool, "b", offsetof(Unit, on_failure_isolate) }, -+ { "OnFailureJobMode", bus_unit_append_job_mode, "s", offsetof(Unit, on_failure_job_mode) }, - { "IgnoreOnIsolate", bus_property_append_bool, "b", offsetof(Unit, ignore_on_isolate) }, - { "IgnoreOnSnapshot", bus_property_append_bool, "b", offsetof(Unit, ignore_on_snapshot) }, - { "NeedDaemonReload", bus_unit_append_need_daemon_reload, "b", 0 }, -Index: systemd-208/src/core/job.h -=================================================================== ---- systemd-208.orig/src/core/job.h -+++ systemd-208/src/core/job.h -@@ -83,7 +83,7 @@ enum JobState { - enum JobMode { - JOB_FAIL, /* Fail if a conflicting job is already queued */ - JOB_REPLACE, /* Replace an existing conflicting job */ -- JOB_REPLACE_IRREVERSIBLY, /* Like JOB_REPLACE + produce irreversible jobs */ -+ JOB_REPLACE_IRREVERSIBLY,/* Like JOB_REPLACE + produce irreversible jobs */ - JOB_ISOLATE, /* Start a unit, and stop all others */ - JOB_IGNORE_DEPENDENCIES, /* Ignore both requirement and ordering dependencies */ - JOB_IGNORE_REQUIREMENTS, /* Ignore requirement dependencies */ -Index: systemd-208/src/core/load-fragment-gperf.gperf.m4 -=================================================================== ---- systemd-208.orig/src/core/load-fragment-gperf.gperf.m4 -+++ systemd-208/src/core/load-fragment-gperf.gperf.m4 -@@ -122,7 +122,8 @@ Unit.RefuseManualStart, config_ - Unit.RefuseManualStop, config_parse_bool, 0, offsetof(Unit, refuse_manual_stop) - Unit.AllowIsolate, config_parse_bool, 0, offsetof(Unit, allow_isolate) - Unit.DefaultDependencies, config_parse_bool, 0, offsetof(Unit, default_dependencies) --Unit.OnFailureIsolate, config_parse_bool, 0, offsetof(Unit, on_failure_isolate) -+Unit.OnFailureJobMode, config_parse_job_mode, 0, offsetof(Unit, on_failure_job_mode) -+Unit.OnFailureIsolate, config_parse_job_mode_isolate, 0, offsetof(Unit, on_failure_job_mode) - Unit.IgnoreOnIsolate, config_parse_bool, 0, offsetof(Unit, ignore_on_isolate) - Unit.IgnoreOnSnapshot, config_parse_bool, 0, offsetof(Unit, ignore_on_snapshot) - Unit.JobTimeoutSec, config_parse_sec, 0, offsetof(Unit, job_timeout) -Index: systemd-208/src/core/load-fragment.c -=================================================================== ---- systemd-208.orig/src/core/load-fragment.c -+++ systemd-208/src/core/load-fragment.c -@@ -2314,6 +2314,36 @@ int config_parse_blockio_bandwidth( - return 0; - } - -+DEFINE_CONFIG_PARSE_ENUM(config_parse_job_mode, job_mode, JobMode, "Failed to parse job mode"); -+ -+int config_parse_job_mode_isolate( -+ const char *unit, -+ const char *filename, -+ unsigned line, -+ const char *section, -+ const char *lvalue, -+ int ltype, -+ const char *rvalue, -+ void *data, -+ void *userdata) { -+ -+ JobMode *m = data; -+ int r; -+ -+ assert(filename); -+ assert(lvalue); -+ assert(rvalue); -+ -+ r = parse_boolean(rvalue); -+ if (r < 0) { -+ log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Failed to parse boolean, ignoring: %s", rvalue); -+ return 0; -+ } -+ -+ *m = r ? JOB_ISOLATE : JOB_REPLACE; -+ return 0; -+} -+ - #define FOLLOW_MAX 8 - - static int open_follow(char **filename, FILE **_f, Set *names, char **_final) { -Index: systemd-208/src/core/load-fragment.h -=================================================================== ---- systemd-208.orig/src/core/load-fragment.h -+++ systemd-208/src/core/load-fragment.h -@@ -83,6 +83,8 @@ int config_parse_device_allow(const char - int config_parse_blockio_weight(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); - int config_parse_blockio_device_weight(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); - int config_parse_blockio_bandwidth(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); -+int config_parse_job_mode(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); -+int config_parse_job_mode_isolate(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); - - /* gperf prototypes */ - const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length); -Index: systemd-208/src/core/unit.c -=================================================================== ---- systemd-208.orig/src/core/unit.c -+++ systemd-208/src/core/unit.c -@@ -85,6 +85,7 @@ Unit *unit_new(Manager *m, size_t size) - u->deserialized_job = _JOB_TYPE_INVALID; - u->default_dependencies = true; - u->unit_file_state = _UNIT_FILE_STATE_INVALID; -+ u->on_failure_job_mode = JOB_REPLACE; - - return u; - } -@@ -807,14 +808,14 @@ void unit_dump(Unit *u, FILE *f, const c - "%s\tRefuseManualStart: %s\n" - "%s\tRefuseManualStop: %s\n" - "%s\tDefaultDependencies: %s\n" -- "%s\tOnFailureIsolate: %s\n" -+ "%s\tOnFailureJobMode: %s\n" - "%s\tIgnoreOnIsolate: %s\n" - "%s\tIgnoreOnSnapshot: %s\n", - prefix, yes_no(u->stop_when_unneeded), - prefix, yes_no(u->refuse_manual_start), - prefix, yes_no(u->refuse_manual_stop), - prefix, yes_no(u->default_dependencies), -- prefix, yes_no(u->on_failure_isolate), -+ prefix, job_mode_to_string(u->on_failure_job_mode), - prefix, yes_no(u->ignore_on_isolate), - prefix, yes_no(u->ignore_on_snapshot)); - -@@ -985,11 +986,11 @@ int unit_load(Unit *u) { - if (r < 0) - goto fail; - -- if (u->on_failure_isolate && -+ if (u->on_failure_job_mode == JOB_ISOLATE && - set_size(u->dependencies[UNIT_ON_FAILURE]) > 1) { - - log_error_unit(u->id, -- "More than one OnFailure= dependencies specified for %s but OnFailureIsolate= enabled. Refusing.", u->id); -+ "More than one OnFailure= dependencies specified for %s but OnFailureJobMode=isolate set. Refusing.", u->id); - - r = -EINVAL; - goto fail; -@@ -1394,7 +1395,7 @@ void unit_start_on_failure(Unit *u) { - SET_FOREACH(other, u->dependencies[UNIT_ON_FAILURE], i) { - int r; - -- r = manager_add_job(u->manager, JOB_START, other, u->on_failure_isolate ? JOB_ISOLATE : JOB_REPLACE, true, NULL, NULL); -+ r = manager_add_job(u->manager, JOB_START, other, u->on_failure_job_mode, true, NULL, NULL); - if (r < 0) - log_error_unit(u->id, "Failed to enqueue OnFailure= job: %s", strerror(-r)); - } -Index: systemd-208/src/core/unit.h -=================================================================== ---- systemd-208.orig/src/core/unit.h -+++ systemd-208/src/core/unit.h -@@ -228,8 +228,8 @@ struct Unit { - /* Allow isolation requests */ - bool allow_isolate; - -- /* Isolate OnFailure unit */ -- bool on_failure_isolate; -+ /* How to start OnFailure units */ -+ JobMode on_failure_job_mode; - - /* Ignore this unit when isolating */ - bool ignore_on_isolate; -Index: systemd-208/units/initrd-cleanup.service.in -=================================================================== ---- systemd-208.orig/units/initrd-cleanup.service.in -+++ systemd-208/units/initrd-cleanup.service.in -@@ -10,6 +10,7 @@ Description=Cleaning Up and Shutting Dow - DefaultDependencies=no - ConditionPathExists=/etc/initrd-release - OnFailure=emergency.target -+OnFailureJobMode=replace-irreversibly - After=initrd-root-fs.target initrd-fs.target initrd.target - - [Service] -Index: systemd-208/units/initrd-fs.target -=================================================================== ---- systemd-208.orig/units/initrd-fs.target -+++ systemd-208/units/initrd-fs.target -@@ -9,7 +9,7 @@ - Description=Initrd File Systems - Documentation=man:systemd.special(7) - OnFailure=emergency.target --OnFailureIsolate=yes -+OnFailureJobMode=replace-irreversibly - ConditionPathExists=/etc/initrd-release - After=initrd-parse-etc.service - DefaultDependencies=no -Index: systemd-208/units/initrd-parse-etc.service.in -=================================================================== ---- systemd-208.orig/units/initrd-parse-etc.service.in -+++ systemd-208/units/initrd-parse-etc.service.in -@@ -11,6 +11,7 @@ DefaultDependencies=no - Requires=initrd-root-fs.target - After=initrd-root-fs.target - OnFailure=emergency.target -+OnFailureJobMode=replace-irreversibly - ConditionPathExists=/etc/initrd-release - - [Service] -Index: systemd-208/units/initrd-root-fs.target -=================================================================== ---- systemd-208.orig/units/initrd-root-fs.target -+++ systemd-208/units/initrd-root-fs.target -@@ -10,6 +10,6 @@ Description=Initrd Root File System - Documentation=man:systemd.special(7) - ConditionPathExists=/etc/initrd-release - OnFailure=emergency.target --OnFailureIsolate=yes -+OnFailureJobMode=replace-irreversibly - DefaultDependencies=no - Conflicts=shutdown.target -Index: systemd-208/units/initrd-switch-root.service.in -=================================================================== ---- systemd-208.orig/units/initrd-switch-root.service.in -+++ systemd-208/units/initrd-switch-root.service.in -@@ -10,6 +10,7 @@ Description=Switch Root - DefaultDependencies=no - ConditionPathExists=/etc/initrd-release - OnFailure=emergency.target -+OnFailureJobMode=replace-irreversibly - AllowIsolate=yes - - [Service] -Index: systemd-208/units/initrd.target -=================================================================== ---- systemd-208.orig/units/initrd.target -+++ systemd-208/units/initrd.target -@@ -9,7 +9,7 @@ - Description=Initrd Default Target - Documentation=man:systemd.special(7) - OnFailure=emergency.target --OnFailureIsolate=yes -+OnFailureJobMode=replace-irreversibly - ConditionPathExists=/etc/initrd-release - Requires=basic.target - Wants=initrd-root-fs.target initrd-fs.target initrd-parse-etc.service -Index: systemd-208/units/local-fs.target -=================================================================== ---- systemd-208.orig/units/local-fs.target -+++ systemd-208/units/local-fs.target -@@ -12,4 +12,4 @@ After=local-fs-pre.target - DefaultDependencies=no - Conflicts=shutdown.target - OnFailure=emergency.target --OnFailureIsolate=no -+OnFailureJobMode=replace-irreversibly diff --git a/0001-core-unify-the-way-we-denote-serialization-attribute.patch b/0001-core-unify-the-way-we-denote-serialization-attribute.patch deleted file mode 100644 index e33e45d8..00000000 --- a/0001-core-unify-the-way-we-denote-serialization-attribute.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8d1a28020409ee4afea6ef8c1c4d3522a209284e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 9 Oct 2013 00:13:55 +0200 -Subject: [PATCH] core: unify the way we denote serialization attributes - ---- - src/core/service.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/core/service.c b/src/core/service.c -index 98b1599..96ed2d3 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2652,7 +2652,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { - unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir); - - if (s->forbid_restart) -- unit_serialize_item(u, f, "forbid_restart", yes_no(s->forbid_restart)); -+ unit_serialize_item(u, f, "forbid-restart", yes_no(s->forbid_restart)); - - return 0; - } -@@ -2790,12 +2790,12 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - return log_oom(); - - s->exec_context.var_tmp_dir = t; -- } else if (streq(key, "forbid_restart")) { -+ } else if (streq(key, "forbid-restart")) { - int b; - - b = parse_boolean(value); - if (b < 0) -- log_debug_unit(u->id, "Failed to parse forbid_restart value %s", value); -+ log_debug_unit(u->id, "Failed to parse forbid-restart value %s", value); - else - s->forbid_restart = b; - } else --- -1.8.4 - diff --git a/0001-dbus-common-avoid-leak-in-error-path.patch b/0001-dbus-common-avoid-leak-in-error-path.patch deleted file mode 100644 index e2ac93f4..00000000 --- a/0001-dbus-common-avoid-leak-in-error-path.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 74dcc2df7b2a340c3e1fe9e61e5c8deb324c83d7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Oct 2013 19:33:20 -0400 -Subject: [PATCH] dbus-common: avoid leak in error path - -src/shared/dbus-common.c:968:33: warning: Potential leak of memory pointed to by 'l' - return -EINVAL; - ^~~~~~ ---- - src/shared/dbus-common.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c -index c727cae..3ba2d87 100644 ---- a/src/shared/dbus-common.c -+++ b/src/shared/dbus-common.c -@@ -934,7 +934,7 @@ int bus_parse_strv_iter(DBusMessageIter *iter, char ***_l) { - int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) { - DBusMessageIter sub, sub2; - unsigned n = 0, i = 0; -- char **l; -+ _cleanup_strv_free_ char **l = NULL; - - assert(iter); - assert(_l); -@@ -953,6 +953,7 @@ int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) { - l = new(char*, n*2+1); - if (!l) - return -ENOMEM; -+ l[0] = NULL; /* make sure that l is properly terminated at all times */ - - dbus_message_iter_recurse(iter, &sub); - -@@ -968,26 +969,25 @@ int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l) { - return -EINVAL; - - l[i] = strdup(a); -- if (!l[i]) { -- strv_free(l); -+ if (!l[i]) - return -ENOMEM; -- } -+ i++; - -- l[++i] = strdup(b); -- if (!l[i]) { -- strv_free(l); -+ l[i] = strdup(b); -+ if (!l[i]) - return -ENOMEM; -- } -- - i++; -+ - dbus_message_iter_next(&sub); - } - - assert(i == n*2); - l[i] = NULL; - -- if (_l) -+ if (_l) { - *_l = l; -+ l = NULL; /* avoid freeing */ -+ } - - return 0; - } --- -1.8.4 - diff --git a/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch b/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch deleted file mode 100644 index 53e8253f..00000000 --- a/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6c7980093c4e39d07bf06484f96f489e236c7c29 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 10 Oct 2013 01:38:11 +0200 -Subject: [PATCH] do not accept "garbage" from acpi firmware performance data - (FPDT) - -00000000 46 42 50 54 38 00 00 00 02 00 30 02 00 00 00 00 |FBPT8.....0.....| -00000010 23 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |#E..............| -00000020 f5 6a 51 00 00 00 00 00 00 00 00 00 00 00 00 00 |.jQ.............| -00000030 00 00 00 00 00 00 00 00 70 74 61 6c 58 00 00 00 |........ptalX...| ---- - src/shared/acpi-fpdt.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c -index af58c7c..75648b4 100644 ---- a/src/shared/acpi-fpdt.c -+++ b/src/shared/acpi-fpdt.c -@@ -146,6 +146,11 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { - if (brec.type != ACPI_FPDT_BOOT_REC) - return -EINVAL; - -+ if (brec.startup_start == 0 || brec.exit_services_exit < brec.startup_start) -+ return -EINVAL; -+ if (brec.exit_services_exit > NSEC_PER_HOUR) -+ return -EINVAL; -+ - if (loader_start) - *loader_start = brec.startup_start / 1000; - if (loader_exit) --- -1.8.4 - diff --git a/0001-drop-ins-check-return-value.patch b/0001-drop-ins-check-return-value.patch deleted file mode 100644 index 35a0f708..00000000 --- a/0001-drop-ins-check-return-value.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6891529fe1176c046ece579807ff48e3191692f3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Oct 2013 19:33:36 -0400 -Subject: [PATCH] drop-ins: check return value - -If the function failed, nothing serious would happen -because unlink would probably return EFAULT, but this -would obscure the real error and is a bit sloppy. ---- - src/core/unit.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/core/unit.c b/src/core/unit.c -index 4b97710..1db7d06 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -2908,6 +2908,9 @@ int unit_remove_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name) { - return 0; - - r = drop_in_file(u, mode, name, &p, &q); -+ if (r < 0) -+ return r; -+ - if (unlink(q) < 0) - r = errno == ENOENT ? 0 : -errno; - else --- -1.8.4 - diff --git a/0001-gpt-auto-generator-exit-immediately-if-in-container.patch b/0001-gpt-auto-generator-exit-immediately-if-in-container.patch deleted file mode 100644 index 4d1fee23..00000000 --- a/0001-gpt-auto-generator-exit-immediately-if-in-container.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 9a5cb1371b6d8b0a04bd08665bcf9b06cb40c64c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 3 Oct 2013 22:13:01 -0400 -Subject: [PATCH] gpt-auto-generator: exit immediately if in container - -Otherwise we get an ugly warning when running systemd in -a container. ---- - src/gpt-auto-generator/gpt-auto-generator.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c -index ca54925..d2b4213 100644 ---- a/src/gpt-auto-generator/gpt-auto-generator.c -+++ b/src/gpt-auto-generator/gpt-auto-generator.c -@@ -38,6 +38,7 @@ - #include "libudev.h" - #include "special.h" - #include "unit-name.h" -+#include "virt.h" - - /* TODO: - * -@@ -481,6 +482,13 @@ int main(int argc, char *argv[]) { - umask(0022); - - if (in_initrd()) { -+ log_debug("In initrd, exiting."); -+ r = 0; -+ goto finish; -+ } -+ -+ if (detect_container(NULL) > 0) { -+ log_debug("In a container, exiting."); - r = 0; - goto finish; - } --- -1.8.4 - diff --git a/0001-journald-fix-minor-memory-leak.patch b/0001-journald-fix-minor-memory-leak.patch deleted file mode 100644 index 10df2c01..00000000 --- a/0001-journald-fix-minor-memory-leak.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2ee0591d12b9e725c4585502285fd91cde682d9b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 9 Oct 2013 04:03:45 +0200 -Subject: [PATCH] journald: fix minor memory leak - ---- - src/journal/journal-vacuum.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c -index c73ad8f..8d5effb 100644 ---- a/src/journal/journal-vacuum.c -+++ b/src/journal/journal-vacuum.c -@@ -278,6 +278,8 @@ int journal_directory_vacuum( - } else if (errno != ENOENT) - log_warning("Failed to delete %s/%s: %m", directory, p); - -+ free(p); -+ - continue; - } - --- -1.8.4 - diff --git a/0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch b/0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch deleted file mode 100644 index 0ed6caa1..00000000 --- a/0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 2b98f75a63e6022bf74a7d678c47faa5208c794f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 9 Oct 2013 22:13:13 -0400 -Subject: [PATCH] journald: remove rotated file from hashmap when rotation - fails - -Before, when the user journal file was rotated, journal_file_rotate -could close the old file and fail to open the new file. In that -case, we would leave the old (deallocated) file in the hashmap. -On subsequent accesses, we could retrieve this stale entry, leading -to a segfault. - -When journal_file_rotate fails with the file pointer set to 0, -old file is certainly gone, and cannot be used anymore. - -https://bugzilla.redhat.com/show_bug.cgi?id=890463 ---- - src/journal/journald-server.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index 4f47eb1..e03e413 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -321,8 +321,10 @@ void server_rotate(Server *s) { - if (r < 0) - if (f) - log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -- else -+ else { - log_error("Failed to create user journal: %s", strerror(-r)); -+ hashmap_remove(s->user_journals, k); -+ } - else { - hashmap_replace(s->user_journals, k, f); - server_fix_perms(s, f, PTR_TO_UINT32(k)); --- -1.8.4 - diff --git a/0001-login-fix-invalid-free-in-sd_session_get_vt.patch b/0001-login-fix-invalid-free-in-sd_session_get_vt.patch deleted file mode 100644 index 7a7551ec..00000000 --- a/0001-login-fix-invalid-free-in-sd_session_get_vt.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3f4fee033bf0f623de74f3e8a14c42b8ff81c36e Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 10 Oct 2013 13:09:37 +0200 -Subject: [PATCH] login: fix invalid free() in sd_session_get_vt() - -We need to clear variables markes as _cleanup_free_. Otherwise, our -error-paths might corrupt random memory. ---- - src/login/sd-login.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/login/sd-login.c b/src/login/sd-login.c -index 71d8c29..6c27dfe 100644 ---- a/src/login/sd-login.c -+++ b/src/login/sd-login.c -@@ -350,7 +350,7 @@ _public_ int sd_session_get_tty(const char *session, char **tty) { - } - - _public_ int sd_session_get_vt(const char *session, unsigned *vtnr) { -- _cleanup_free_ char *vtnr_string; -+ _cleanup_free_ char *vtnr_string = NULL; - unsigned u; - int r; - --- -1.8.4 - diff --git a/0001-login-fix-pos-array-allocation.patch b/0001-login-fix-pos-array-allocation.patch new file mode 100644 index 00000000..2549d220 --- /dev/null +++ b/0001-login-fix-pos-array-allocation.patch @@ -0,0 +1,52 @@ +From a1937e679f76758635d295287398abe526de2522 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 25 Feb 2014 12:20:25 +0100 +Subject: [PATCH] login: fix pos-array allocation + +GREEDY_REALLOC takes a pointer to the real size, not the array-width as +argument. Therefore, our array is currently way to small to keep the seat +positions. + +Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store +the array-width instead of array-size. +--- + src/login/logind-seat.c | 2 +- + src/shared/util.h | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 631be5f..36ec7ed 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -475,7 +475,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) { + if (seat_has_vts(s)) + pos = session->vtnr; + +- if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1)) ++ if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1)) + return; + + seat_evict_position(s, session); +diff --git src/shared/util.h src/shared/util.h +index 9913fce..78b1444 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -723,6 +723,15 @@ void* greedy_realloc0(void **p, size_t *allocated, size_t need); + #define GREEDY_REALLOC0(array, allocated, need) \ + greedy_realloc0((void**) &(array), &(allocated), sizeof((array)[0]) * (need)) + ++#define GREEDY_REALLOC0_T(array, count, need) \ ++ ({ \ ++ size_t _size = (count) * sizeof((array)[0]); \ ++ void *_ptr = GREEDY_REALLOC0((array), _size, (need)); \ ++ if (_ptr) \ ++ (count) = _size / sizeof((array)[0]); \ ++ _ptr; \ ++ }) ++ + static inline void _reset_errno_(int *saved_errno) { + errno = *saved_errno; + } +-- +1.7.9.2 + diff --git a/0001-login-make-sd_session_get_vt-actually-work.patch b/0001-login-make-sd_session_get_vt-actually-work.patch deleted file mode 100644 index 49a0a13c..00000000 --- a/0001-login-make-sd_session_get_vt-actually-work.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0581dac2c146cef0f55841a4c136dc48409c8eaa Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 10 Oct 2013 13:11:27 +0200 -Subject: [PATCH] login: make sd_session_get_vt() actually work - -We use VTNR, not VTNr as key. Until now sd_session_get_vt() just returns -an error. ---- - src/login/sd-login.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/login/sd-login.c b/src/login/sd-login.c -index 6c27dfe..7e25041 100644 ---- a/src/login/sd-login.c -+++ b/src/login/sd-login.c -@@ -354,7 +354,7 @@ _public_ int sd_session_get_vt(const char *session, unsigned *vtnr) { - unsigned u; - int r; - -- r = session_get_string(session, "VTNr", &vtnr_string); -+ r = session_get_string(session, "VTNR", &vtnr_string); - if (r < 0) - return r; - --- -1.8.4 - diff --git a/0001-logind-fix-bus-introspection-data-for-TakeControl.patch b/0001-logind-fix-bus-introspection-data-for-TakeControl.patch deleted file mode 100644 index 829333e3..00000000 --- a/0001-logind-fix-bus-introspection-data-for-TakeControl.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 660ea9620f7b8f99d08a2770d4e81acfd8aea02e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 4 Oct 2013 21:16:40 +0200 -Subject: [PATCH] logind: fix bus introspection data for TakeControl() - ---- - src/login/logind-session-dbus.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c -index 5f6bafb..be4e01c 100644 ---- a/src/login/logind-session-dbus.c -+++ b/src/login/logind-session-dbus.c -@@ -41,7 +41,7 @@ - " \n" \ - " \n" \ - " \n" \ -- " \n" \ -+ " \n" \ - " \n" \ - " \n" \ - " \n" \ --- -1.8.4 - diff --git a/0001-logind-garbage-collect-stale-users.patch b/0001-logind-garbage-collect-stale-users.patch deleted file mode 100644 index fd91e8b2..00000000 --- a/0001-logind-garbage-collect-stale-users.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 63966da86d8e71b1f3f2b57d5448770d526421f9 Mon Sep 17 00:00:00 2001 -From: Thomas Bächler -Date: Sun, 15 Dec 2013 11:06:37 +0000 -Subject: login: Don't stop a running user manager from garbage-collecting the user. - -With the current logic, a user will never be garbage-collected, since its -manager will always be around. Change the logic such that a user is -garbage-collected when it has no sessions and linger is disabled. ---- -diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index 6ba8d98..441e086 100644 ---- a/src/login/logind-user.c -+++ b/src/login/logind-user.c -@@ -629,12 +629,6 @@ int user_check_gc(User *u, bool drop_not - if (u->slice_job || u->service_job) - return 1; - -- if (u->slice && manager_unit_is_active(u->manager, u->slice) != 0) -- return 1; -- -- if (u->service && manager_unit_is_active(u->manager, u->service) != 0) -- return 1; -- - return 0; - } - --- -cgit v0.9.0.2-2-gbebe diff --git a/0001-make-209-working-on-older-dist.patch b/0001-make-209-working-on-older-dist.patch new file mode 100644 index 00000000..63fbd03b --- /dev/null +++ b/0001-make-209-working-on-older-dist.patch @@ -0,0 +1,79 @@ +--- systemd-209/units/kmod-static-nodes.service.in ++++ systemd-209/units/kmod-static-nodes.service.in 2014-02-27 15:04:30.378236539 +0000 +@@ -15,4 +15,5 @@ ConditionPathExists=/lib/modules/%v/modu + [Service] + Type=oneshot + RemainAfterExit=yes ++ExecStartPre=@MKDIR_P@ /run/tmpfiles.d + ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf +--- systemd-209/configure.ac ++++ systemd-209/configure.ac 2014-02-28 17:14:14.866235643 +0000 +@@ -300,9 +300,9 @@ AC_ARG_ENABLE(kmod, AS_HELP_STRING([--di + if test "x$enable_kmod" != "xno"; then + PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no) + if test "x$have_kmod" = "xyes"; then +- PKG_CHECK_MODULES(KMOD, [ libkmod >= 15 ], ++ PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ], + [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])], +- AC_MSG_ERROR([*** kmod version >= 15 not found])) ++ AC_MSG_ERROR([*** kmod version >= 14 not found])) + fi + if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then + AC_MSG_ERROR([*** kmod support requested, but libraries not found]) +--- systemd-209/configure ++++ systemd-209/configure 2014-02-28 17:13:50.770735397 +0000 +@@ -15999,12 +15999,12 @@ if test -n "$KMOD_CFLAGS"; then + pkg_cv_KMOD_CFLAGS="$KMOD_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 +- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 ++ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 15 " 2>/dev/null` ++ pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 14 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -16016,12 +16016,12 @@ if test -n "$KMOD_LIBS"; then + pkg_cv_KMOD_LIBS="$KMOD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 +- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 ++ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 15 " 2>/dev/null` ++ pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 14 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -16042,18 +16042,18 @@ else + _pkg_short_errors_supported=no + fi + if test $_pkg_short_errors_supported = yes; then +- KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 15 " 2>&1` ++ KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 14 " 2>&1` + else +- KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 15 " 2>&1` ++ KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 14 " 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$KMOD_PKG_ERRORS" >&5 + +- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 ++ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 + elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 ++ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 + else + KMOD_CFLAGS=$pkg_cv_KMOD_CFLAGS + KMOD_LIBS=$pkg_cv_KMOD_LIBS diff --git a/0001-make-fortify-happy-with-ppoll.patch b/0001-make-fortify-happy-with-ppoll.patch new file mode 100644 index 00000000..ed27a725 --- /dev/null +++ b/0001-make-fortify-happy-with-ppoll.patch @@ -0,0 +1,55 @@ +--- systemd-209/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-209/src/libsystemd/sd-bus/sd-bus.c 2014-02-28 11:08:21.354235373 +0000 +@@ -2548,7 +2548,7 @@ static int bus_poll(sd_bus *bus, bool ne + n = 2; + } + +- r = ppoll(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); ++ r = __ppoll_alias(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); + if (r < 0) + return -errno; + +--- systemd-209/src/core/hostname-setup.c ++++ systemd-209/src/core/hostname-setup.c 2014-02-28 11:14:51.594832792 +0000 +@@ -50,8 +50,8 @@ static int read_and_strip_hostname(const + } + + /* strip any leftover of a domain name */ +- if (domain = strchr(s, '.')) { +- *domain = NULL; ++ if ((domain = strchr(s, '.'))) { ++ *domain = '\0'; + } + + *hn = s; +--- systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-02-28 11:41:42.254735820 +0000 +@@ -142,7 +142,7 @@ static int ask_password_plymouth( + goto finish; + } + +- if ((j = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { ++ if ((j = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { + + if (errno == EINTR) + continue; +@@ -595,7 +595,7 @@ static int watch_passwords(void) { + if ((r = show_passwords()) < 0) + log_error("Failed to show password: %s", strerror(-r)); + +- if (poll(pollfd, _FD_MAX, -1) < 0) { ++ if (__poll_alias(pollfd, _FD_MAX, -1) < 0) { + + if (errno == EINTR) + continue; +--- systemd-209/src/shared/ask-password-api.c ++++ systemd-209/src/shared/ask-password-api.c 2014-02-28 11:47:21.754234675 +0000 +@@ -138,7 +138,7 @@ int ask_password_tty( + goto finish; + } + +- if ((k = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { ++ if ((k = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { + + if (errno == EINTR) + continue; diff --git a/0001-manager-when-verifying-whether-clients-may-change-en.patch b/0001-manager-when-verifying-whether-clients-may-change-en.patch deleted file mode 100644 index 57bb3648..00000000 --- a/0001-manager-when-verifying-whether-clients-may-change-en.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a316932f5a627c1ef78f568fd5dfa579f12e76b2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 4 Oct 2013 17:01:37 +0200 -Subject: [PATCH] manager: when verifying whether clients may change - environment using selinux check for "reload" rather "reboot" - -This appears to be a copy/paste error. ---- - src/core/dbus-manager.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c -index 676a07f..8f4d017 100644 ---- a/src/core/dbus-manager.c -+++ b/src/core/dbus-manager.c -@@ -1397,7 +1397,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - _cleanup_strv_free_ char **l = NULL; - char **e = NULL; - -- SELINUX_ACCESS_CHECK(connection, message, "reboot"); -+ SELINUX_ACCESS_CHECK(connection, message, "reload"); - - r = bus_parse_strv(message, &l); - if (r == -ENOMEM) -@@ -1424,7 +1424,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - _cleanup_strv_free_ char **l = NULL; - char **e = NULL; - -- SELINUX_ACCESS_CHECK(connection, message, "reboot"); -+ SELINUX_ACCESS_CHECK(connection, message, "reload"); - - r = bus_parse_strv(message, &l); - if (r == -ENOMEM) -@@ -1452,7 +1452,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - char **f = NULL; - DBusMessageIter iter; - -- SELINUX_ACCESS_CHECK(connection, message, "reboot"); -+ SELINUX_ACCESS_CHECK(connection, message, "reload"); - - if (!dbus_message_iter_init(message, &iter)) - goto oom; --- -1.8.4 - diff --git a/0001-mount-check-for-NULL-before-reading-pm-what.patch b/0001-mount-check-for-NULL-before-reading-pm-what.patch deleted file mode 100644 index e8c830f1..00000000 --- a/0001-mount-check-for-NULL-before-reading-pm-what.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9c03872bc8fb2a381eafe7301ef9811b641686dd Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Fri, 4 Oct 2013 18:22:40 -0400 -Subject: [PATCH] mount: check for NULL before reading pm->what - -Since a57f7e2c828b85, a mount unit with garbage in it would cause -systemd to crash on loading it. - -ref: https://bugs.freedesktop.org/show_bug.cgi?id=70148 ---- - src/core/mount.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index 93bfa99..db055f0 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -182,7 +182,7 @@ static int mount_add_mount_links(Mount *m) { - * for the source path (if this is a bind mount) to be - * available. */ - pm = get_mount_parameters_fragment(m); -- if (pm && path_is_absolute(pm->what)) { -+ if (pm && pm->what && path_is_absolute(pm->what)) { - r = unit_require_mounts_for(UNIT(m), pm->what); - if (r < 0) - return r; --- -1.8.4 - diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch new file mode 100644 index 00000000..4dcfb70f --- /dev/null +++ b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -0,0 +1,41 @@ +From: Werner Fink +Date: Wed Feb 26 14:36:27 UTC 2014 +Subject: Do not clobber XDG_RUNTIME_DIR if su command preserve environment + +Make sure that even if a su command without option -l or with option -m +is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. + +This belongs to BNC#852015 and also to BNC#855160 + +--- + pam-module.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +--- systemd-209/src/login/pam-module.c ++++ systemd-209/src/login/pam-module.c 2014-02-26 14:31:30.158235525 +0000 +@@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess + r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); + if (r != PAM_SUCCESS) + return r; ++ } else if (getenv("XDG_RUNTIME_DIR")) { ++ _cleanup_free_ char *p = NULL; ++ ++ /* Make sure that after running YaST2 or the xdg-su scripts ++ * the runtime directory is not clobbered. Even a normal su ++ * command without -l or with -m may clobber. */ ++ ++ if ((r = asprintf(&p, "/run/user/%lu", (unsigned long)pw->pw_uid)) < 0) ++ return PAM_BUF_ERR; ++ ++ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", p, 0); ++ if (r != PAM_SUCCESS) { ++ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); ++ return r; ++ } ++ ++ r = export_legacy_dbus_address(handle, pw->pw_uid, p); ++ if (r != PAM_SUCCESS) ++ return r; + } + + if (!isempty(seat)) { diff --git a/0001-shared-util-Fix-glob_extend-argument.patch b/0001-shared-util-Fix-glob_extend-argument.patch deleted file mode 100644 index 4695547d..00000000 --- a/0001-shared-util-Fix-glob_extend-argument.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a8ccacf5344c4434b1d5ff3837307acb8fcf93d2 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Mon, 14 Oct 2013 08:15:51 +0200 -Subject: [PATCH] shared/util: Fix glob_extend() argument - -glob_extend() would completely fail to work, or return incorrect -data if it wasn't being passed the current getopt "optarg" variable -as it used the global variable, instead of the passed parameters. ---- - 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 54dbace..1822770 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -4461,7 +4461,7 @@ int glob_extend(char ***strv, const char *path) { - char **p; - - errno = 0; -- k = glob(optarg, GLOB_NOSORT|GLOB_BRACE, NULL, &g); -+ k = glob(path, GLOB_NOSORT|GLOB_BRACE, NULL, &g); - - if (k == GLOB_NOMATCH) - return -ENOENT; --- -1.8.4 - diff --git a/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch b/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch deleted file mode 100644 index eb6dedd0..00000000 --- a/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 1d5989fd803d2019de0f6aaaf3cfb1cb2bbc3cdb Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sun, 6 Oct 2013 18:26:23 -0400 -Subject: [PATCH] shared/util: fix off-by-one error in tag_to_udev_node - -Triggered false negatives when encoding a string which needed every -character to be escaped, e.g. "LABEL=/". ---- - src/shared/util.c | 2 +- - src/test/test-device-nodes.c | 4 +++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/shared/util.c b/src/shared/util.c -index 82f4221..31cea79 100644 ---- a/src/shared/util.c -+++ b/src/shared/util.c -@@ -3527,7 +3527,7 @@ static char *tag_to_udev_node(const char *tagvalue, const char *by) { - if (u == NULL) - return NULL; - -- enc_len = strlen(u) * 4; -+ enc_len = strlen(u) * 4 + 1; - t = new(char, enc_len); - if (t == NULL) - return NULL; -diff --git a/src/test/test-device-nodes.c b/src/test/test-device-nodes.c -index 2f3dedb..59ba4be 100644 ---- a/src/test/test-device-nodes.c -+++ b/src/test/test-device-nodes.c -@@ -26,7 +26,7 @@ - - /* helpers for test_encode_devnode_name */ - static char *do_encode_string(const char *in) { -- size_t out_len = strlen(in) * 4; -+ size_t out_len = strlen(in) * 4 + 1; - char *out = malloc(out_len); - - assert_se(out); -@@ -46,6 +46,8 @@ static void test_encode_devnode_name(void) { - assert_se(expect_encoded_as("pinkiepie", "pinkiepie")); - assert_se(expect_encoded_as("valíd\\ųtf8", "valíd\\x5cųtf8")); - assert_se(expect_encoded_as("s/ash/ng", "s\\x2fash\\x2fng")); -+ assert_se(expect_encoded_as("/", "\\x2f")); -+ assert_se(expect_encoded_as("!", "\\x21")); - } - - int main(int argc, char *argv[]) { --- -1.8.4 - diff --git a/0001-systemd-empty-sigmask-on-reexec.patch b/0001-systemd-empty-sigmask-on-reexec.patch new file mode 100644 index 00000000..f4f3ac92 --- /dev/null +++ b/0001-systemd-empty-sigmask-on-reexec.patch @@ -0,0 +1,42 @@ +Process 1 (aka init) needs to be started with an empty signal mask. That +includes the process 1 that's started after the initrd is finished. When the +initrd is using systemd (as it does with dracut based initrds) then it is +systemd that calls the real init. Normally this is systemd again, except +when the user uses for instance "init=/bin/bash" on the kernel command line. + +--- + main.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- src/core/main.c ++++ src/core/main.c 2014-02-27 13:54:21.922236495 +0000 +@@ -1780,6 +1780,7 @@ finish: + if (reexecute) { + const char **args; + unsigned i, args_size; ++ sigset_t ss, o_ss; + + /* Close and disarm the watchdog, so that the new + * instance can reinitialize it, but doesn't get +@@ -1863,6 +1864,11 @@ finish: + args[i++] = NULL; + assert(i <= args_size); + ++ /* reenable any blocked signals, especially important ++ * if we switch from initial ramdisk to init=... */ ++ sigemptyset(&ss); ++ sigprocmask(SIG_SETMASK,&ss,&o_ss); ++ + if (switch_root_init) { + args[0] = switch_root_init; + execv(args[0], (char* const*) args); +@@ -1881,6 +1887,9 @@ finish: + log_error("Failed to execute /bin/sh, giving up: %m"); + } else + log_warning("Failed to execute /sbin/init, giving up: %m"); ++ ++ /* back to saved state if reexec failed */ ++ sigprocmask(SIG_SETMASK,&o_ss,NULL); + } + + if (arg_serialization) { diff --git a/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch b/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch deleted file mode 100644 index 254212c5..00000000 --- a/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 77009452cfd25208509b14ea985e81fdf9f7d40e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 3 Oct 2013 22:15:08 -0400 -Subject: [PATCH] systemd: order remote mounts from mountinfo before - remote-fs.target - -Usually the network is stopped before filesystems are umounted. -Ordering network filesystems before remote-fs.target means that their -unmounting will be performed earlier, and can terminate sucessfully. - -https://bugs.freedesktop.org/show_bug.cgi?id=70002 ---- - src/core/mount.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index 3d46557..93bfa99 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1440,6 +1440,9 @@ static int mount_add_one( - - u = manager_get_unit(m, e); - if (!u) { -+ const char* const target = -+ fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; -+ - delete = true; - - u = unit_new(m, sizeof(Mount)); -@@ -1466,7 +1469,7 @@ static int mount_add_one( - goto fail; - } - -- r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, NULL, true); -+ r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); - if (r < 0) - goto fail; - --- -1.8.4 - diff --git a/0001-systemd-serialize-deserialize-forbid_restart-value.patch b/0001-systemd-serialize-deserialize-forbid_restart-value.patch deleted file mode 100644 index 6184c9a1..00000000 --- a/0001-systemd-serialize-deserialize-forbid_restart-value.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 6aca9a587d4ad40b1c044f99e3714022201b9fd4 Mon Sep 17 00:00:00 2001 -From: Sylvia Else -Date: Sun, 6 Oct 2013 23:06:35 -0400 -Subject: [PATCH] systemd: serialize/deserialize forbid_restart value - -The Service type's forbid_restart field was not preserved by -serialization/deserialization, so the fact that the service should not -be restarted after stopping was lost. - -If a systemctl stop foo command has been given, but the foo service -has not yet stopped, and then the systemctl --system daemon-reload was -given, then when the foo service eventually stopped, systemd would -restart it. - -https://bugs.freedesktop.org/show_bug.cgi?id=69800 ---- - src/core/service.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/core/service.c b/src/core/service.c -index 6792024..98b1599 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2651,6 +2651,9 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { - if (s->exec_context.var_tmp_dir) - unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir); - -+ if (s->forbid_restart) -+ unit_serialize_item(u, f, "forbid_restart", yes_no(s->forbid_restart)); -+ - return 0; - } - -@@ -2787,6 +2790,14 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - return log_oom(); - - s->exec_context.var_tmp_dir = t; -+ } else if (streq(key, "forbid_restart")) { -+ int b; -+ -+ b = parse_boolean(value); -+ if (b < 0) -+ log_debug_unit(u->id, "Failed to parse forbid_restart value %s", value); -+ else -+ s->forbid_restart = b; - } else - log_debug_unit(u->id, "Unknown serialization key '%s'", key); - --- -1.8.4 - diff --git a/0001-upstream-systemctl-halt-reboot-error-handling.patch b/0001-upstream-systemctl-halt-reboot-error-handling.patch deleted file mode 100644 index 110b866b..00000000 --- a/0001-upstream-systemctl-halt-reboot-error-handling.patch +++ /dev/null @@ -1,85 +0,0 @@ ---- systemd-208/src/core/shutdown.c -+++ systemd-208/src/core/shutdown.c 2014-01-27 11:31:38.486235816 +0000 -@@ -329,6 +329,9 @@ int main(int argc, char *argv[]) { - - reboot(cmd); - -+ if (cmd == RB_POWER_OFF) -+ reboot(RB_HALT_SYSTEM); -+ - if (errno == EPERM && in_container) { - /* If we are in a container, and we lacked - * CAP_SYS_BOOT just exit, this will kill our - ---- systemd-208/src/systemctl/systemctl.c -+++ systemd-208/src/systemctl/systemctl.c 2014-01-27 11:05:18.298236035 +0000 -@@ -138,7 +138,7 @@ static bool arg_plain = false; - static bool private_bus = false; - - static int daemon_reload(DBusConnection *bus, char **args); --static void halt_now(enum action a); -+static int halt_now(enum action a); - - static void pager_open_if_enabled(void) { - -@@ -2227,7 +2227,7 @@ static int start_special(DBusConnection - (a == ACTION_HALT || - a == ACTION_POWEROFF || - a == ACTION_REBOOT)) -- halt_now(a); -+ return halt_now(a); - - if (arg_force >= 1 && - (a == ACTION_HALT || -@@ -5973,7 +5973,7 @@ done: - return 0; - } - --static _noreturn_ void halt_now(enum action a) { -+static int halt_now(enum action a) { - - /* Make sure C-A-D is handled by the kernel from this - * point on... */ -@@ -5984,23 +5984,22 @@ static _noreturn_ void halt_now(enum act - case ACTION_HALT: - log_info("Halting."); - reboot(RB_HALT_SYSTEM); -- break; -+ return -errno; - - case ACTION_POWEROFF: - log_info("Powering off."); - reboot(RB_POWER_OFF); -- break; -+ return -errno; - - case ACTION_REBOOT: - log_info("Rebooting."); - reboot(RB_AUTOBOOT); -- break; -+ return -errno; - - default: -- assert_not_reached("Unknown halt action."); -+ assert_not_reached("Unknown action."); -+ return -ENOSYS; - } -- -- assert_not_reached("Uh? This shouldn't happen."); - } - - static int halt_main(DBusConnection *bus) { -@@ -6069,9 +6068,10 @@ static int halt_main(DBusConnection *bus - if (arg_dry) - return 0; - -- halt_now(arg_action); -- /* We should never reach this. */ -- return -ENOSYS; -+ r = halt_now(arg_action); -+ log_error("Failed to reboot: %s", strerror(-r)); -+ -+ return r; - } - - static int runlevel_main(void) { diff --git a/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch b/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch new file mode 100644 index 00000000..67454ead --- /dev/null +++ b/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch @@ -0,0 +1,54 @@ +From 98b47d54ce946ad3524f84eb38d2413498a333dc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 17:11:39 +0100 +Subject: [PATCH] execute: free directory path if we fail to remove it because + we cannot allocate a thread + +--- + src/core/execute.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git src/core/execute.c src/core/execute.c +index 9de6e87..3312885 100644 +--- src/core/execute.c ++++ src/core/execute.c +@@ -2713,6 +2713,8 @@ static void *remove_tmpdir_thread(void *p) { + } + + void exec_runtime_destroy(ExecRuntime *rt) { ++ int r; ++ + if (!rt) + return; + +@@ -2722,13 +2724,25 @@ void exec_runtime_destroy(ExecRuntime *rt) { + + if (rt->tmp_dir) { + log_debug("Spawning thread to nuke %s", rt->tmp_dir); +- asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); ++ ++ r = asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); ++ if (r < 0) { ++ log_warning("Failed to nuke %s: %s", rt->tmp_dir, strerror(-r)); ++ free(rt->tmp_dir); ++ } ++ + rt->tmp_dir = NULL; + } + + if (rt->var_tmp_dir) { + log_debug("Spawning thread to nuke %s", rt->var_tmp_dir); +- asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); ++ ++ r = asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); ++ if (r < 0) { ++ log_warning("Failed to nuke %s: %s", rt->var_tmp_dir, strerror(-r)); ++ free(rt->var_tmp_dir); ++ } ++ + rt->var_tmp_dir = NULL; + } + +-- +1.7.9.2 + diff --git a/0002-fix-lingering-references-to-var-lib-backlight-random.patch b/0002-fix-lingering-references-to-var-lib-backlight-random.patch deleted file mode 100644 index 6ce0c230..00000000 --- a/0002-fix-lingering-references-to-var-lib-backlight-random.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 6c8c92fef72cf6a7ef7109a424ef82dbdc4f6952 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Wed, 2 Oct 2013 07:46:24 -0400 -Subject: [PATCH 02/15] fix lingering references to - /var/lib/{backlight,random-seed} - -This should have been part of ef5bfcf668e6029faa78534dfe. ---- - man/systemd-backlight@.service.xml | 2 +- - man/systemd-random-seed.service.xml | 2 +- - units/systemd-backlight@.service.in | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/man/systemd-backlight@.service.xml b/man/systemd-backlight@.service.xml -index 2b73625..4318964 100644 ---- a/man/systemd-backlight@.service.xml -+++ b/man/systemd-backlight@.service.xml -@@ -58,7 +58,7 @@ - is a service that restores the display backlight - brightness at early-boot and saves it at shutdown. On - disk, the backlight brightness is stored in -- /var/lib/backlight/. Note that by -+ /var/lib/systemd/backlight/. Note that by - default, only firmware backlight devices are - saved/restored. - -diff --git a/man/systemd-random-seed.service.xml b/man/systemd-random-seed.service.xml -index 8cd14b7..e5cd037 100644 ---- a/man/systemd-random-seed.service.xml -+++ b/man/systemd-random-seed.service.xml -@@ -61,7 +61,7 @@ - for details. Saving/restoring the random seed across - boots increases the amount of available entropy early - at boot. On disk the random seed is stored in -- /var/lib/random-seed. -+ /var/lib/systemd/random-seed. - - - -diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in -index b0e75db..5caa5d5 100644 ---- a/units/systemd-backlight@.service.in -+++ b/units/systemd-backlight@.service.in -@@ -9,7 +9,7 @@ - Description=Load/Save Screen Backlight Brightness of %I - Documentation=man:systemd-backlight@.service(8) - DefaultDependencies=no --RequiresMountsFor=/var/lib/backlight -+RequiresMountsFor=/var/lib/systemd/backlight - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service - Before=sysinit.target shutdown.target --- -1.8.4 - diff --git a/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch b/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch new file mode 100644 index 00000000..a1934486 --- /dev/null +++ b/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch @@ -0,0 +1,52 @@ +From 3e6b205f81e743c7354ccbc69eb45afbdbebe2dc Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 25 Feb 2014 13:08:24 +0100 +Subject: [PATCH] login: set pos-slot to fallback on pos-eviction + +If we evict a session position, we open the position slot for future +sessions. However, there might already be another session on the same +position if both were started on the same VT. This is currently done if +gdm spawns the session on its own Xserver. + +Hence, look for such a session on pos-eviction and claim the new slot +immediately. +--- + src/login/logind-seat.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 36ec7ed..96cf08e 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -459,6 +459,7 @@ int seat_stop_sessions(Seat *s, bool force) { + } + + void seat_evict_position(Seat *s, Session *session) { ++ Session *iter; + unsigned int pos = session->pos; + + session->pos = 0; +@@ -466,8 +467,19 @@ void seat_evict_position(Seat *s, Session *session) { + if (!pos) + return; + +- if (pos < s->position_count && s->positions[pos] == session) ++ if (pos < s->position_count && s->positions[pos] == session) { + s->positions[pos] = NULL; ++ ++ /* There might be another session claiming the same ++ * position (eg., during gdm->session transition), so lets look ++ * for it and set it on the free slot. */ ++ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { ++ if (iter->pos == pos) { ++ s->positions[pos] = iter; ++ break; ++ } ++ } ++ } + } + + void seat_claim_position(Seat *s, Session *session, unsigned int pos) { +-- +1.7.9.2 + diff --git a/0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch b/0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch deleted file mode 100644 index 76624f92..00000000 --- a/0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 95d57e7b631a2d78b9b5d841125194052895470f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 29 Jan 2014 13:49:54 +0100 -Subject: [PATCH 2/3] service: allow KillMode=mixed in conjunction with - PAMName= - ---- - src/core/service.c | 20 +++++++------------- - 1 file changed, 7 insertions(+), 13 deletions(-) - -diff --git a/src/core/service.c b/src/core/service.c -index 6792024..e7f03e1 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -1105,37 +1105,31 @@ static int service_verify(Service *s) { - return 0; - - if (!s->exec_command[SERVICE_EXEC_START]) { -- log_error_unit(UNIT(s)->id, -- "%s lacks ExecStart setting. Refusing.", UNIT(s)->id); -+ log_error_unit(UNIT(s)->id, "%s lacks ExecStart setting. Refusing.", UNIT(s)->id); - return -EINVAL; - } - - if (s->type != SERVICE_ONESHOT && - s->exec_command[SERVICE_EXEC_START]->command_next) { -- log_error_unit(UNIT(s)->id, -- "%s has more than one ExecStart setting, which is only allowed for Type=oneshot services. Refusing.", UNIT(s)->id); -+ log_error_unit(UNIT(s)->id, "%s has more than one ExecStart setting, which is only allowed for Type=oneshot services. Refusing.", UNIT(s)->id); - return -EINVAL; - } - - if (s->type == SERVICE_ONESHOT && s->restart != SERVICE_RESTART_NO) { -- log_error_unit(UNIT(s)->id, -- "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id); -+ log_error_unit(UNIT(s)->id, "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id); - return -EINVAL; - } - - if (s->type == SERVICE_DBUS && !s->bus_name) { -- log_error_unit(UNIT(s)->id, -- "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id); -+ log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id); - return -EINVAL; - } - - if (s->bus_name && s->type != SERVICE_DBUS) -- log_warning_unit(UNIT(s)->id, -- "%s has a D-Bus service name specified, but is not of type dbus. Ignoring.", UNIT(s)->id); -+ log_warning_unit(UNIT(s)->id, "%s has a D-Bus service name specified, but is not of type dbus. Ignoring.", UNIT(s)->id); - -- if (s->exec_context.pam_name && s->kill_context.kill_mode != KILL_CONTROL_GROUP) { -- log_error_unit(UNIT(s)->id, -- "%s has PAM enabled. Kill mode must be set to 'control-group'. Refusing.", UNIT(s)->id); -+ if (s->exec_context.pam_name && !(s->kill_context.kill_mode == KILL_CONTROL_GROUP || s->kill_context.kill_mode == KILL_MIXED)) { -+ log_error_unit(UNIT(s)->id, "%s has PAM enabled. Kill mode must be set to 'control-group' or 'mixed'. Refusing.", UNIT(s)->id); - return -EINVAL; - } - --- -1.8.4 - diff --git a/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch b/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch new file mode 100644 index 00000000..7f485448 --- /dev/null +++ b/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch @@ -0,0 +1,130 @@ +From b5d742138f71e87312541a89aac5657015f50f48 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 4 Mar 2014 09:50:26 -0500 +Subject: [PATCH] Do not print invalid UTF-8 in error messages + +Inexplicably, 550a40ec ('core: do not print invalid utf-8 in error +messages') only fixed two paths. Convert all of them now. +--- + src/core/load-fragment.c | 13 ++++--------- + src/shared/conf-parser.c | 7 +++---- + src/shared/conf-parser.h | 6 ++++++ + src/shared/fileio.c | 9 ++++++--- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git src/core/load-fragment.c src/core/load-fragment.c +index d77bf5c..5628d8c 100644 +--- src/core/load-fragment.c ++++ src/core/load-fragment.c +@@ -536,9 +536,7 @@ int config_parse_exec(const char *unit, + } + + if (!utf8_is_valid(path)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", +- rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + r = 0; + goto fail; + } +@@ -553,9 +551,7 @@ int config_parse_exec(const char *unit, + } + + if (!utf8_is_valid(c)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", +- rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + r = 0; + goto fail; + } +@@ -1960,8 +1956,7 @@ int config_parse_unit_requires_mounts_for( + return log_oom(); + + if (!utf8_is_valid(n)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + continue; + } + +diff --git src/shared/conf-parser.c src/shared/conf-parser.c +index 0a87a71..d27b1b7 100644 +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c +@@ -618,8 +618,7 @@ int config_parse_string(const char *unit + return log_oom(); + + if (!utf8_is_valid(n)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "String is not UTF-8 clean, ignoring assignment: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + free(n); + return 0; + } +@@ -656,8 +655,7 @@ int config_parse_path(const char *unit, + assert(data); + + if (!utf8_is_valid(rvalue)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + return 0; + } + +@@ -725,8 +723,7 @@ int config_parse_strv(const char *unit, + return log_oom(); + + if (!utf8_is_valid(n)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "String is not UTF-8 clean, ignoring: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + continue; + } + +diff --git src/shared/conf-parser.h src/shared/conf-parser.h +index e1c7ab4..ba0e58d 100644 +--- src/shared/conf-parser.h ++++ src/shared/conf-parser.h +@@ -121,6 +121,12 @@ int log_syntax_internal(const char *unit, int level, + config_file, config_line, \ + error, __VA_ARGS__) + ++#define log_invalid_utf8(unit, level, config_file, config_line, error, rvalue) { \ ++ _cleanup_free_ char *__p = utf8_escape_invalid(rvalue); \ ++ log_syntax(unit, level, config_file, config_line, error, \ ++ "String is not UTF-8 clean, ignoring assignment: %s", __p); \ ++ } ++ + #define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ + int function(const char *unit, \ + const char *filename, \ +diff --git src/shared/fileio.c src/shared/fileio.c +index d591567..f101269 100644 +--- src/shared/fileio.c ++++ src/shared/fileio.c +@@ -598,15 +598,18 @@ static int load_env_file_push(const char *filename, unsigned line, + int r; + + if (!utf8_is_valid(key)) { ++ _cleanup_free_ char *t = utf8_escape_invalid(key); ++ + log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.", +- filename, line, key); ++ filename, line, t); + return -EINVAL; + } + + if (value && !utf8_is_valid(value)) { +- /* FIXME: filter UTF-8 */ ++ _cleanup_free_ char *t = utf8_escape_invalid(value); ++ + log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.", +- filename, line, key, value); ++ filename, line, key, t); + return -EINVAL; + } + +-- +1.7.9.2 + diff --git a/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch b/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch deleted file mode 100644 index 86e13443..00000000 --- a/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2c64a8d0caf84254e38f2e76528f2034d37da520 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 14:03:56 +0200 -Subject: [PATCH 03/15] acpi: make sure we never free an uninitialized pointer - ---- - src/shared/acpi-fpdt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c -index a7c83ed..af58c7c 100644 ---- a/src/shared/acpi-fpdt.c -+++ b/src/shared/acpi-fpdt.c -@@ -81,7 +81,7 @@ struct acpi_fpdt_boot { - }; - - int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { -- _cleanup_free_ char *buf; -+ _cleanup_free_ char *buf = NULL; - struct acpi_table_header *tbl; - size_t l; - struct acpi_fpdt_header *rec; --- -1.8.4 - diff --git a/0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch b/0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch deleted file mode 100644 index e6423f54..00000000 --- a/0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch +++ /dev/null @@ -1,128 +0,0 @@ -From b2ffdc8da536cd88a305f97517f356e2c5383a52 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 29 Jan 2014 14:58:04 +0100 -Subject: [PATCH 3/3] core: make sure to always go through both SIGTERM and - SIGKILL states of units - -Given that we now have KillMode=mixed where SIGTERM might kill a smaller -set than SIGKILL we need to make sure to always go explicitly throught -the SIGKILL state to get the right end result. ---- - src/core/mount.c | 8 +++++++- - src/core/scope.c | 4 +++- - src/core/service.c | 10 +++++++--- - src/core/socket.c | 6 +++++- - src/core/swap.c | 6 +++++- - 5 files changed, 27 insertions(+), 7 deletions(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index 3d46557..e418d09 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -854,8 +854,14 @@ static void mount_enter_signal(Mount *m, MountState state, MountResult f) { - goto fail; - - mount_set_state(m, state); -- } else if (state == MOUNT_REMOUNTING_SIGTERM || state == MOUNT_REMOUNTING_SIGKILL) -+ } else if (state == MOUNT_REMOUNTING_SIGTERM) -+ mount_enter_signal(m, MOUNT_REMOUNTING_SIGKILL, MOUNT_SUCCESS); -+ else if (state == MOUNT_REMOUNTING_SIGKILL) - mount_enter_mounted(m, MOUNT_SUCCESS); -+ else if (state == MOUNT_MOUNTING_SIGTERM) -+ mount_enter_signal(m, MOUNT_MOUNTING_SIGKILL, MOUNT_SUCCESS); -+ else if (state == MOUNT_UNMOUNTING_SIGTERM) -+ mount_enter_signal(m, MOUNT_UNMOUNTING_SIGKILL, MOUNT_SUCCESS); - else - mount_enter_dead(m, MOUNT_SUCCESS); - -diff --git a/src/core/scope.c b/src/core/scope.c -index 50e5dba..3a5c95e 100644 ---- a/src/core/scope.c -+++ b/src/core/scope.c -@@ -221,7 +221,9 @@ static void scope_enter_signal(Scope *s, ScopeState state, ScopeResult f) { - } - - scope_set_state(s, state); -- } else -+ } else if (state == SCOPE_STOP_SIGTERM) -+ scope_enter_signal(s, SCOPE_STOP_SIGKILL, SCOPE_SUCCESS); -+ else - scope_enter_dead(s, SCOPE_SUCCESS); - - return; -diff --git a/src/core/service.c b/src/core/service.c -index e7f03e1..4b481c2 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -1964,10 +1964,9 @@ static void service_enter_stop_post(Service *s, ServiceResult f) { - if (r < 0) - goto fail; - -- - service_set_state(s, SERVICE_STOP_POST); - } else -- service_enter_dead(s, SERVICE_SUCCESS, true); -+ service_enter_signal(s, SERVICE_FINAL_SIGTERM, SERVICE_SUCCESS); - - return; - -@@ -1993,6 +1992,7 @@ static void service_enter_signal(Service *s, ServiceState state, ServiceResult f - s->main_pid, - s->control_pid, - s->main_pid_alien); -+ - if (r < 0) - goto fail; - -@@ -2005,8 +2005,12 @@ static void service_enter_signal(Service *s, ServiceState state, ServiceResult f - } - - service_set_state(s, state); -- } else if (state == SERVICE_STOP_SIGTERM || state == SERVICE_STOP_SIGKILL) -+ } else if (state == SERVICE_STOP_SIGTERM) -+ service_enter_signal(s, SERVICE_STOP_SIGKILL, SERVICE_SUCCESS); -+ else if (state == SERVICE_STOP_SIGKILL) - service_enter_stop_post(s, SERVICE_SUCCESS); -+ else if (state == SERVICE_FINAL_SIGTERM) -+ service_enter_signal(s, SERVICE_FINAL_SIGKILL, SERVICE_SUCCESS); - else - service_enter_dead(s, SERVICE_SUCCESS, true); - -diff --git a/src/core/socket.c b/src/core/socket.c -index 6c0ac1a..831876f 100644 ---- a/src/core/socket.c -+++ b/src/core/socket.c -@@ -1298,8 +1298,12 @@ static void socket_enter_signal(Socket *s, SocketState state, SocketResult f) { - goto fail; - - socket_set_state(s, state); -- } else if (state == SOCKET_STOP_PRE_SIGTERM || state == SOCKET_STOP_PRE_SIGKILL) -+ } else if (state == SOCKET_STOP_PRE_SIGTERM) -+ socket_enter_signal(s, SOCKET_STOP_PRE_SIGKILL, SOCKET_SUCCESS); -+ else if (state == SOCKET_STOP_PRE_SIGKILL) - socket_enter_stop_post(s, SOCKET_SUCCESS); -+ else if (state == SOCKET_FINAL_SIGTERM) -+ socket_enter_signal(s, SOCKET_FINAL_SIGKILL, SOCKET_SUCCESS); - else - socket_enter_dead(s, SOCKET_SUCCESS); - -diff --git a/src/core/swap.c b/src/core/swap.c -index a68ab7c..8886fe8 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -655,7 +655,11 @@ static void swap_enter_signal(Swap *s, SwapState state, SwapResult f) { - goto fail; - - swap_set_state(s, state); -- } else -+ } else if (state == SWAP_ACTIVATING_SIGTERM) -+ swap_enter_signal(s, SWAP_ACTIVATING_SIGKILL, SWAP_SUCCESS); -+ else if (state == SWAP_DEACTIVATING_SIGTERM) -+ swap_enter_signal(s, SWAP_DEACTIVATING_SIGKILL, SWAP_SUCCESS); -+ else - swap_enter_dead(s, SWAP_SUCCESS); - - return; --- -1.8.4 - diff --git a/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch b/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch new file mode 100644 index 00000000..e4752edc --- /dev/null +++ b/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch @@ -0,0 +1,35 @@ +From 9c413373d2112055a0142ef522bf95af9b491b4a Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" +Date: Fri, 21 Feb 2014 18:23:17 -0500 +Subject: [PATCH] login: Allow calling org.freedesktop.login1.Seat.SwitchTo + +--- + src/login/org.freedesktop.login1.conf | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git src/login/org.freedesktop.login1.conf src/login/org.freedesktop.login1.conf +index d677f61..1318328 100644 +--- src/login/org.freedesktop.login1.conf ++++ src/login/org.freedesktop.login1.conf +@@ -141,6 +141,18 @@ + send_member="ActivateSession"/> + + ++ ++ ++ ++ ++ ++ + +-- +1.7.9.2 + diff --git a/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch b/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch new file mode 100644 index 00000000..065c0ea9 --- /dev/null +++ b/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch @@ -0,0 +1,22 @@ +From b3e4387351c835766f96796a20d94971afea7d3b Mon Sep 17 00:00:00 2001 +From: Tomasz Torcz +Date: Tue, 25 Feb 2014 12:43:55 +0100 +Subject: [PATCH] fix typo in iDRAC network interface name: irdac->idrac + +--- + hwdb/20-net-ifname.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/20-net-ifname.hwdb hwdb/20-net-ifname.hwdb +index 29d2633..2408dc1 100644 +--- hwdb/20-net-ifname.hwdb ++++ hwdb/20-net-ifname.hwdb +@@ -2,4 +2,4 @@ + + # Dell iDRAC Virtual USB NIC + usb:v413CpA102* +- ID_NET_NAME_FROM_DATABASE=irdac ++ ID_NET_NAME_FROM_DATABASE=idrac +-- +1.7.9.2 + diff --git a/0004-man-document-missing-options-of-systemd-run.patch b/0004-man-document-missing-options-of-systemd-run.patch new file mode 100644 index 00000000..a6e6551d --- /dev/null +++ b/0004-man-document-missing-options-of-systemd-run.patch @@ -0,0 +1,113 @@ +From 981ee551945f4e00de52fcbb7780fd7476bcd47e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 5 Mar 2014 03:37:48 +0100 +Subject: [PATCH] man: document missing options of systemd-run + +--- + man/systemd-run.xml | 71 +++++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 60 insertions(+), 11 deletions(-) + +diff --git man/systemd-run.xml man/systemd-run.xml +index 95c1cb7..81d41dc 100644 +--- man/systemd-run.xml ++++ man/systemd-run.xml +@@ -121,9 +121,9 @@ along with systemd; If not, see . + + + +- Provide description for the unit. If not +- specified, the command itself will be used as a description. +- See Description= in ++ Provide description for the service or scope ++ unit. If not specified, the command itself will be used as a ++ description. See Description= in + systemd.unit5. + + +@@ -140,10 +140,10 @@ along with systemd; If not, see . + + + +- After the service's process has terminated, keep +- the service around until it is explicitly stopped. This is +- useful to collect runtime information about the service after +- it finished running. Also see ++ After the service or scope process has ++ terminated, keep the service around until it is explicitly ++ stopped. This is useful to collect runtime information about ++ the service after it finished running. Also see + RemainAfterExit= in + systemd.service5. + +@@ -153,15 +153,64 @@ along with systemd; If not, see . + + + +- When terminating the scope unit, send a SIGHUP +- immediately after SIGTERM. This is useful to indicate to +- shells and shell-like processes that the connection has been +- severed. Also see SendSIGHUP= in ++ When terminating the scope or service unit, ++ send a SIGHUP immediately after SIGTERM. This is useful to ++ indicate to shells and shell-like processes that the ++ connection has been severed. Also see ++ SendSIGHUP= in + systemd.kill5. + + + + ++ ++ ++ ++ Sets the service type. Also see ++ Type= in ++ systemd.service5. This ++ option has no effect in conjunction with ++ . Defaults to ++ simple. ++ ++ ++ ++ ++ ++ ++ ++ Runs the service process under the UNIX user ++ and group. Also see User= and ++ Group= in ++ systemd.exec5. This ++ option has no effect in conjunction with ++ . ++ ++ ++ ++ ++ ++ ++ Runs the service process with the specified ++ nice level. Also see Nice= in ++ systemd.exec5. This ++ option has no effect in conjunction with ++ . ++ ++ ++ ++ ++ ++ ++ Runs the service process with the specified ++ environment variables set. Also see ++ Environment= in ++ systemd.exec5. This ++ option has no effect in conjunction with ++ . ++ ++ ++ + + + +-- +1.7.9.2 + diff --git a/0004-systemctl-fix-name-mangling-for-sysv-units.patch b/0004-systemctl-fix-name-mangling-for-sysv-units.patch deleted file mode 100644 index a2531e70..00000000 --- a/0004-systemctl-fix-name-mangling-for-sysv-units.patch +++ /dev/null @@ -1,134 +0,0 @@ -From cbb13b2a538ece1c7ec3b210e2b36b47df2a13ea Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= -Date: Wed, 2 Oct 2013 16:42:42 +0200 -Subject: [PATCH 04/15] systemctl: fix name mangling for sysv units - ---- - src/systemctl/systemctl.c | 45 ++++++++++++++++++--------------------------- - 1 file changed, 18 insertions(+), 27 deletions(-) - -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index bb7ada9..d75281f 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -4218,11 +4218,10 @@ static int set_environment(DBusConnection *bus, char **args) { - return 0; - } - --static int enable_sysv_units(char **args) { -+static int enable_sysv_units(const char *verb, char **args) { - int r = 0; - - #if defined(HAVE_SYSV_COMPAT) && defined(HAVE_CHKCONFIG) -- const char *verb = args[0]; - unsigned f = 1, t = 1; - LookupPaths paths = {}; - -@@ -4242,7 +4241,7 @@ static int enable_sysv_units(char **args) { - return r; - - r = 0; -- for (f = 1; args[f]; f++) { -+ for (f = 0; args[f]; f++) { - const char *name; - _cleanup_free_ char *p = NULL, *q = NULL; - bool found_native = false, found_sysv; -@@ -4365,7 +4364,7 @@ finish: - lookup_paths_free(&paths); - - /* Drop all SysV units */ -- for (f = 1, t = 1; args[f]; f++) { -+ for (f = 0, t = 0; args[f]; f++) { - - if (isempty(args[f])) - continue; -@@ -4423,16 +4422,16 @@ static int enable_unit(DBusConnection *bus, char **args) { - - dbus_error_init(&error); - -- r = enable_sysv_units(args); -- if (r < 0) -- return r; -- - if (!args[1]) - return 0; - - r = mangle_names(args+1, &mangled_names); - if (r < 0) -- goto finish; -+ return r; -+ -+ r = enable_sysv_units(verb, mangled_names); -+ if (r < 0) -+ return r; - - if (!bus || avoid_bus()) { - if (streq(verb, "enable")) { -@@ -4624,11 +4623,15 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { - _cleanup_dbus_message_unref_ DBusMessage *reply = NULL; - bool enabled; - char **name; -- char *n; -+ _cleanup_strv_free_ char **mangled_names = NULL; - - dbus_error_init(&error); - -- r = enable_sysv_units(args); -+ r = mangle_names(args+1, &mangled_names); -+ if (r < 0) -+ return r; -+ -+ r = enable_sysv_units(args[0], mangled_names); - if (r < 0) - return r; - -@@ -4636,16 +4639,10 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { - - if (!bus || avoid_bus()) { - -- STRV_FOREACH(name, args+1) { -+ STRV_FOREACH(name, mangled_names) { - UnitFileState state; - -- n = unit_name_mangle(*name); -- if (!n) -- return log_oom(); -- -- state = unit_file_get_state(arg_scope, arg_root, n); -- -- free(n); -+ state = unit_file_get_state(arg_scope, arg_root, *name); - - if (state < 0) - return state; -@@ -4660,13 +4657,9 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { - } - - } else { -- STRV_FOREACH(name, args+1) { -+ STRV_FOREACH(name, mangled_names) { - const char *s; - -- n = unit_name_mangle(*name); -- if (!n) -- return log_oom(); -- - r = bus_method_call_with_reply ( - bus, - "org.freedesktop.systemd1", -@@ -4675,11 +4668,9 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { - "GetUnitFileState", - &reply, - NULL, -- DBUS_TYPE_STRING, &n, -+ DBUS_TYPE_STRING, name, - DBUS_TYPE_INVALID); - -- free(n); -- - if (r) - return r; - --- -1.8.4 - diff --git a/0005-Replace-var-run-with-run-in-remaining-places.patch b/0005-Replace-var-run-with-run-in-remaining-places.patch new file mode 100644 index 00000000..67c35e18 --- /dev/null +++ b/0005-Replace-var-run-with-run-in-remaining-places.patch @@ -0,0 +1,89 @@ +From 41a55c46ab8fb4ef6727434227071321fc762cce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 25 Feb 2014 20:11:04 -0500 +Subject: [PATCH] Replace /var/run with /run in remaining places + +/run was already used almost everywhere, fix the remaining places +for consistency. +--- + man/daemon.xml | 2 +- + man/runlevel.xml | 2 +- + man/tmpfiles.d.xml | 4 ++-- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/systemctl/systemctl.c | 4 ++-- + 5 files changed, 8 insertions(+), 8 deletions(-) + +diff --git man/daemon.xml man/daemon.xml +index 88dd082..fd29ba7 100644 +--- man/daemon.xml ++++ man/daemon.xml +@@ -149,7 +149,7 @@ + write the daemon PID (as returned by + getpid()) to a + PID file, for example +- /var/run/foobar.pid ++ /run/foobar.pid + (for a hypothetical daemon "foobar") + to ensure that the daemon cannot be + started more than once. This must be +diff --git man/runlevel.xml man/runlevel.xml +index 976753a..4db06dc 100644 +--- man/runlevel.xml ++++ man/runlevel.xml +@@ -124,7 +124,7 @@ + + + +- /var/run/utmp ++ /run/utmp + + The utmp database + runlevel reads the +diff --git man/tmpfiles.d.xml man/tmpfiles.d.xml +index 812129f..0a006d1 100644 +--- man/tmpfiles.d.xml ++++ man/tmpfiles.d.xml +@@ -441,8 +441,8 @@ r! /tmp/.X[0-9]*-lock + /etc/tmpfiles.d/screen.conf example + screen needs two directories created at boot with specific modes and ownership. + +- d /var/run/screens 1777 root root 10d +-d /var/run/uscreens 0755 root root 10d12h ++ d /run/screens 1777 root root 10d ++d /run/uscreens 0755 root root 10d12h + + + /etc/tmpfiles.d/abrt.conf example +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 20f540d..1318272 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/var/run/dbus/system_bus_socket") - 1; ++ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); + + return 0; + } +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 34d7079..8692716 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -3758,8 +3758,8 @@ static int show_one( + streq(verb, "status")) { + /* According to LSB: "program not running" */ + /* 0: program is running or service is OK +- * 1: program is dead and /var/run pid file exists +- * 2: program is dead and /var/lock lock file exists ++ * 1: program is dead and /run PID file exists ++ * 2: program is dead and /run/lock lock file exists + * 3: program is not running + * 4: program or service status is unknown + */ +-- +1.7.9.2 + diff --git a/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch b/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch deleted file mode 100644 index d46e94d1..00000000 --- a/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 4b93637fd7dddb0a1518f35171998b2c7cd5c5bd Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:36:28 +0200 -Subject: [PATCH 05/15] cryptsetup: fix OOM handling when parsing mount options - ---- - src/cryptsetup/cryptsetup.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c -index 22b5eea..769c3e4 100644 ---- a/src/cryptsetup/cryptsetup.c -+++ b/src/cryptsetup/cryptsetup.c -@@ -74,7 +74,7 @@ static int parse_one_option(const char *option) { - - t = strdup(option+7); - if (!t) -- return -ENOMEM; -+ return log_oom(); - - free(opt_cipher); - opt_cipher = t; -@@ -89,9 +89,10 @@ static int parse_one_option(const char *option) { - } else if (startswith(option, "tcrypt-keyfile=")) { - - opt_type = CRYPT_TCRYPT; -- if (path_is_absolute(option+15)) -- opt_tcrypt_keyfiles = strv_append(opt_tcrypt_keyfiles, strdup(option+15)); -- else -+ if (path_is_absolute(option+15)) { -+ if (strv_extend(&opt_tcrypt_keyfiles, option + 15) < 0) -+ return log_oom(); -+ } else - log_error("Key file path '%s' is not absolute. Ignoring.", option+15); - - } else if (startswith(option, "keyfile-size=")) { -@@ -113,7 +114,7 @@ static int parse_one_option(const char *option) { - - t = strdup(option+5); - if (!t) -- return -ENOMEM; -+ return log_oom(); - - free(opt_hash); - opt_hash = t; --- -1.8.4 - diff --git a/0005-systemd-run-add-some-extra-safety-checks.patch b/0005-systemd-run-add-some-extra-safety-checks.patch new file mode 100644 index 00000000..22d41889 --- /dev/null +++ b/0005-systemd-run-add-some-extra-safety-checks.patch @@ -0,0 +1,34 @@ +From 1ac67edb7c4d31a287fa98c0b554ae98bd34e71b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 5 Mar 2014 03:38:36 +0100 +Subject: [PATCH] systemd-run: add some extra safety checks + +--- + src/run/run.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/run/run.c src/run/run.c +index 81763c9..e71ca7d 100644 +--- src/run/run.c ++++ src/run/run.c +@@ -37,7 +37,7 @@ static const char *arg_description = NULL; + static const char *arg_slice = NULL; + static bool arg_send_sighup = false; + static BusTransport arg_transport = BUS_TRANSPORT_LOCAL; +-static char *arg_host = NULL; ++static const char *arg_host = NULL; + static bool arg_user = false; + static const char *arg_service_type = NULL; + static const char *arg_exec_user = NULL; +@@ -186,7 +186,7 @@ static int parse_argv(int argc, char *argv[]) { + + case ARG_NICE: + r = safe_atoi(optarg, &arg_nice); +- if (r < 0) { ++ if (r < 0 || arg_nice < PRIO_MIN || arg_nice >= PRIO_MAX) { + log_error("Failed to parse nice value"); + return -EINVAL; + } +-- +1.7.9.2 + diff --git a/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch b/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch new file mode 100644 index 00000000..ed9a7a79 --- /dev/null +++ b/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch @@ -0,0 +1,60 @@ +From df1e02046144f41176c32ed011369fd8dba36b76 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 02:47:43 +0100 +Subject: [PATCH] Revert back to /var/run at a couple of problems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This partially reverts 41a55c46ab8fb4ef6727434227071321fc762cce + +Some specifications we want to stay compatibility actually document +/var/run, not /run, and we should stay compatible with that. In order to +make sure our D-Bus implementation works on any system, regardless if +running systemd or not, we should always use /var/run which is the +only path mandated by the D-Bus spec. + +Similar, glibc hardcodes the utmp location to /var/run, and this is +exposed in _UTMP_PATH in limits.h, hence let's stay in sync with this +public API, too. + +We simply do not support systems where /var/run is not a symlink → /run. +Hence both are equivalent. Staying compatible with upstream +specifications hence weighs more than cleaning up superficial +appearance. +--- + man/runlevel.xml | 2 +- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git man/runlevel.xml man/runlevel.xml +index 4db06dc..976753a 100644 +--- man/runlevel.xml ++++ man/runlevel.xml +@@ -124,7 +124,7 @@ + + + +- /run/utmp ++ /var/run/utmp + + The utmp database + runlevel reads the +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 1318272..636715f 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); ++ strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); + + return 0; + } +-- +1.7.9.2 + diff --git a/0006-journal-assume-that-next-entry-is-after-previous-ent.patch b/0006-journal-assume-that-next-entry-is-after-previous-ent.patch new file mode 100644 index 00000000..aa974fa7 --- /dev/null +++ b/0006-journal-assume-that-next-entry-is-after-previous-ent.patch @@ -0,0 +1,70 @@ +From fb099c8d2af6620db2709e826a258089d10cdfe8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 27 Feb 2014 00:07:29 -0500 +Subject: [PATCH] journal: assume that next entry is after previous entry + +With a corrupted file, we can get in a situation where two entries +in the entry array point to the same object. Then journal_file_next_entry +will find the first one using generic_arrray_bisect, and try to move to +the second one, but since the address is the same, generic_array_get will +return the first one. journal_file_next_entry ends up in an infinite loop. + +https://bugzilla.redhat.com/show_bug.cgi?id=1047039 +--- + src/journal/journal-file.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index 5876733..0e1fc7f 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -1359,7 +1359,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st + } + + typedef struct ChainCacheItem { +- uint64_t first; /* the array at the begin of the chain */ ++ uint64_t first; /* the array at the beginning of the chain */ + uint64_t array; /* the cached array */ + uint64_t begin; /* the first item in the cached array */ + uint64_t total; /* the total number of items in all arrays before this one in the chain */ +@@ -1945,7 +1945,7 @@ int journal_file_next_entry( + direction_t direction, + Object **ret, uint64_t *offset) { + +- uint64_t i, n; ++ uint64_t i, n, ofs; + int r; + + assert(f); +@@ -1986,10 +1986,24 @@ int journal_file_next_entry( + } + + /* And jump to it */ +- return generic_array_get(f, +- le64toh(f->header->entry_array_offset), +- i, +- ret, offset); ++ r = generic_array_get(f, ++ le64toh(f->header->entry_array_offset), ++ i, ++ ret, &ofs); ++ if (r <= 0) ++ return r; ++ ++ if (p > 0 && ++ (direction == DIRECTION_DOWN ? ofs <= p : ofs >= p)) { ++ log_debug("%s: entry array corrupted at entry %"PRIu64, ++ f->path, i); ++ return -EBADMSG; ++ } ++ ++ if (offset) ++ *offset = ofs; ++ ++ return 1; + } + + int journal_file_skip_entry( +-- +1.7.9.2 + diff --git a/0006-journald-add-missing-error-check.patch b/0006-journald-add-missing-error-check.patch deleted file mode 100644 index 479c37cc..00000000 --- a/0006-journald-add-missing-error-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8c92d4bbc7a538ada11d7e85016cce141beb0e6c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:36:43 +0200 -Subject: [PATCH 06/15] journald: add missing error check - ---- - src/journal/journal-file.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 1236403..81c344f 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -907,6 +907,8 @@ static int journal_file_append_field( - - osize = offsetof(Object, field.payload) + size; - r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p); -+ if (r < 0) -+ return r; - - o->field.hash = htole64(hash); - memcpy(o->field.payload, field, size); --- -1.8.4 - diff --git a/0007-README-document-that-var-run-must-be-a-symlink-run.patch b/0007-README-document-that-var-run-must-be-a-symlink-run.patch new file mode 100644 index 00000000..4b8b4384 --- /dev/null +++ b/0007-README-document-that-var-run-must-be-a-symlink-run.patch @@ -0,0 +1,30 @@ +From 47bc23c18cbc87471dc832534c8565625e4a9d16 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 02:54:37 +0100 +Subject: [PATCH] =?UTF-8?q?README:=20document=20that=20/var/run=20must=20be=20?= + =?UTF-8?q?a=20symlink=20=E2=86=92=20/run?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + README | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git README README +index b918132..7a227e7 100644 +--- README ++++ README +@@ -190,6 +190,9 @@ WARNINGS: + about this, since this kind of file system setup is not really + supported anymore by the basic set of Linux OS components. + ++ systemd requires that the /run mount point exists. systemd also ++ requires that /var/run is a a symlink → /run. ++ + For more information on this issue consult + http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken + +-- +1.7.9.2 + diff --git a/0007-bus-fix-potentially-uninitialized-memory-access.patch b/0007-bus-fix-potentially-uninitialized-memory-access.patch deleted file mode 100644 index 2f2d2def..00000000 --- a/0007-bus-fix-potentially-uninitialized-memory-access.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f5f6e41a9ee008e1632f79ab3fa20beef7c2b613 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:37:11 +0200 -Subject: [PATCH 07/15] bus: fix potentially uninitialized memory access - ---- - src/libsystemd-bus/bus-internal.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c -index 0e66f3d..cac948e 100644 ---- a/src/libsystemd-bus/bus-internal.c -+++ b/src/libsystemd-bus/bus-internal.c -@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) { - - bool interface_name_is_valid(const char *p) { - const char *q; -- bool dot, found_dot; -+ bool dot, found_dot = false; - - if (isempty(p)) - return false; -@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) { - - bool service_name_is_valid(const char *p) { - const char *q; -- bool dot, found_dot, unique; -+ bool dot, found_dot = false, unique; - - if (isempty(p)) - return false; --- -1.8.4 - diff --git a/0007-journal-forget-file-after-encountering-an-error.patch b/0007-journal-forget-file-after-encountering-an-error.patch new file mode 100644 index 00000000..e195e6bf --- /dev/null +++ b/0007-journal-forget-file-after-encountering-an-error.patch @@ -0,0 +1,74 @@ +From a9a245c128af6c0418085062c60251bc51fa4a94 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 27 Feb 2014 00:11:54 -0500 +Subject: [PATCH] journal: forget file after encountering an error + +If we encounter an inconsistency in a file, let's just +ignore it. Otherwise, after previous patch, we would try, +and fail, to use this file in every invocation of sd_journal_next +or sd_journal_previous that happens afterwards. +--- + src/journal/sd-journal.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git src/journal/sd-journal.c src/journal/sd-journal.c +index ef455e9..b54bc21 100644 +--- src/journal/sd-journal.c ++++ src/journal/sd-journal.c +@@ -51,6 +51,8 @@ + + #define DEFAULT_DATA_THRESHOLD (64*1024) + ++static void remove_file_real(sd_journal *j, JournalFile *f); ++ + static bool journal_pid_changed(sd_journal *j) { + assert(j); + +@@ -885,6 +887,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { + r = next_beyond_location(j, f, direction, &o, &p); + if (r < 0) { + log_debug("Can't iterate through %s, ignoring: %s", f->path, strerror(-r)); ++ remove_file_real(j, f); + continue; + } else if (r == 0) + continue; +@@ -1339,7 +1342,7 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) { + } + + static int remove_file(sd_journal *j, const char *prefix, const char *filename) { +- char *path; ++ _cleanup_free_ char *path; + JournalFile *f; + + assert(j); +@@ -1351,10 +1354,17 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) + return -ENOMEM; + + f = hashmap_get(j->files, path); +- free(path); + if (!f) + return 0; + ++ remove_file_real(j, f); ++ return 0; ++} ++ ++static void remove_file_real(sd_journal *j, JournalFile *f) { ++ assert(j); ++ assert(f); ++ + hashmap_remove(j->files, f->path); + + log_debug("File %s removed.", f->path); +@@ -1372,8 +1382,6 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) + journal_file_close(f); + + j->current_invalidate_counter ++; +- +- return 0; + } + + static int add_directory(sd_journal *j, const char *prefix, const char *dirname) { +-- +1.7.9.2 + diff --git a/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch b/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch new file mode 100644 index 00000000..25994e95 --- /dev/null +++ b/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch @@ -0,0 +1,51 @@ +From 1ae383a8a3ae4824453e297352fda603d2d3fd5e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 25 Feb 2014 21:26:31 -0500 +Subject: [PATCH] Use /var/run/dbus/system_bus_socket for the D-Bus socket + +--- + man/systemd-bus-proxyd@.service.xml | 2 +- + src/shared/def.h | 2 +- + units/systemd-bus-proxyd.socket | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git man/systemd-bus-proxyd@.service.xml man/systemd-bus-proxyd@.service.xml +index 75a3c8b..3a5930d 100644 +--- man/systemd-bus-proxyd@.service.xml ++++ man/systemd-bus-proxyd@.service.xml +@@ -59,7 +59,7 @@ along with systemd; If not, see . + systemd-bus-proxyd.socket will launch + systemd-bus-proxyd@.service for connections + to the classic D-Bus socket in +- /run/dbus/system_bus_socket. ++ /var/run/dbus/system_bus_socket. + + systemd-bus-proxyd@.service is launched + for an existing D-Bus connection and will use +diff --git src/shared/def.h src/shared/def.h +index 7777756..aa489d8 100644 +--- src/shared/def.h ++++ src/shared/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS +diff --git units/systemd-bus-proxyd.socket units/systemd-bus-proxyd.socket +index 406e15b..6c42d38 100644 +--- units/systemd-bus-proxyd.socket ++++ units/systemd-bus-proxyd.socket +@@ -9,5 +9,5 @@ + Description=Legacy D-Bus Protocol Compatibility Socket + + [Socket] +-ListenStream=/run/dbus/system_bus_socket ++ListenStream=/var/run/dbus/system_bus_socket + Accept=yes +-- +1.7.9.2 + diff --git a/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch b/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch new file mode 100644 index 00000000..8dfd01bc --- /dev/null +++ b/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch @@ -0,0 +1,102 @@ +From bd44e61b0480712ec5585ff7b0295362a5f9dd36 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 6 Mar 2014 02:19:42 +0100 +Subject: [PATCH] core: correctly unregister PIDs from PID hashtables + +--- + src/core/unit.c | 42 ++++++++++++++++++------------------------ + 1 file changed, 18 insertions(+), 24 deletions(-) + +diff --git src/core/unit.c src/core/unit.c +index 2437ee3..85250ca 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1704,11 +1704,11 @@ int unit_watch_pid(Unit *u, pid_t pid) { + /* Watch a specific PID. We only support one or two units + * watching each PID for now, not more. */ + +- r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); ++ r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); + if (r < 0) + return r; + +- r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); ++ r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); + if (r < 0) + return r; + +@@ -1737,7 +1737,17 @@ void unit_unwatch_pid(Unit *u, pid_t pid) { + set_remove(u->pids, LONG_TO_PTR(pid)); + } + +-static int watch_pids_in_path(Unit *u, const char *path) { ++void unit_unwatch_all_pids(Unit *u) { ++ assert(u); ++ ++ while (!set_isempty(u->pids)) ++ unit_unwatch_pid(u, PTR_TO_LONG(set_first(u->pids))); ++ ++ set_free(u->pids); ++ u->pids = NULL; ++} ++ ++static int unit_watch_pids_in_path(Unit *u, const char *path) { + _cleanup_closedir_ DIR *d = NULL; + _cleanup_fclose_ FILE *f = NULL; + int ret = 0, r; +@@ -1775,7 +1785,7 @@ static int watch_pids_in_path(Unit *u, const char *path) { + if (!p) + return -ENOMEM; + +- r = watch_pids_in_path(u, p); ++ r = unit_watch_pids_in_path(u, p); + if (r < 0 && ret >= 0) + ret = r; + } +@@ -1788,31 +1798,15 @@ static int watch_pids_in_path(Unit *u, const char *path) { + return ret; + } + +- + int unit_watch_all_pids(Unit *u) { + assert(u); + +- if (!u->cgroup_path) +- return -ENOENT; +- + /* Adds all PIDs from our cgroup to the set of PIDs we watch */ + +- return watch_pids_in_path(u, u->cgroup_path); +-} +- +-void unit_unwatch_all_pids(Unit *u) { +- Iterator i; +- void *e; +- +- assert(u); +- +- SET_FOREACH(e, u->pids, i) { +- hashmap_remove_value(u->manager->watch_pids1, e, u); +- hashmap_remove_value(u->manager->watch_pids2, e, u); +- } ++ if (!u->cgroup_path) ++ return -ENOENT; + +- set_free(u->pids); +- u->pids = NULL; ++ return unit_watch_pids_in_path(u, u->cgroup_path); + } + + void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { +@@ -1830,7 +1824,7 @@ void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { + continue; + + if (!pid_is_unwaited(pid)) +- set_remove(u->pids, e); ++ unit_unwatch_pid(u, pid); + } + } + +-- +1.7.9.2 + diff --git a/0008-dbus-fix-return-value-of-dispatch_rqueue.patch b/0008-dbus-fix-return-value-of-dispatch_rqueue.patch deleted file mode 100644 index 3985ab2b..00000000 --- a/0008-dbus-fix-return-value-of-dispatch_rqueue.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 2e8d788c2f90d062f208f8c57a97e7b33cb29f7d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:37:30 +0200 -Subject: [PATCH 08/15] dbus: fix return value of dispatch_rqueue() - ---- - src/libsystemd-bus/sd-bus.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c -index 3f766fb..db0880f 100644 ---- a/src/libsystemd-bus/sd-bus.c -+++ b/src/libsystemd-bus/sd-bus.c -@@ -1215,11 +1215,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) { - if (r == 0) - return ret; - -- r = 1; -+ ret = 1; - } while (!z); - - *m = z; -- return 1; -+ return ret; - } - - int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) { --- -1.8.4 - diff --git a/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch b/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch new file mode 100644 index 00000000..5bf1987e --- /dev/null +++ b/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch @@ -0,0 +1,25 @@ +From 646e392e10924454576f10b072f78d7676422816 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 6 Mar 2014 04:52:31 +0100 +Subject: [PATCH] logind: fix reference to systemd-user-sessions.service + +--- + src/login/logind-session.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 548f049..3700522 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -490,7 +490,7 @@ static int session_start_scope(Session *s) { + if (!scope) + return log_oom(); + +- r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-session.service", &error, &job); ++ r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-sessions.service", &error, &job); + if (r < 0) { + log_error("Failed to start session scope %s: %s %s", + scope, bus_error_message(&error, r), error.name); +-- +1.7.9.2 + diff --git a/0009-modules-load-fix-error-handling.patch b/0009-modules-load-fix-error-handling.patch deleted file mode 100644 index df350218..00000000 --- a/0009-modules-load-fix-error-handling.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b857193b1def5172e3641ca1d5bc9e08ae81aac4 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:37:44 +0200 -Subject: [PATCH 09/15] modules-load: fix error handling - ---- - src/modules-load/modules-load.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c -index 7b19ee0..49ee420 100644 ---- a/src/modules-load/modules-load.c -+++ b/src/modules-load/modules-load.c -@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) { - - STRV_FOREACH(i, arg_proc_cmdline_modules) { - k = load_module(ctx, *i); -- if (k < 0) -- r = EXIT_FAILURE; -+ if (k < 0 && r == 0) -+ r = k; - } - - r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); --- -1.8.4 - diff --git a/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch b/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch new file mode 100644 index 00000000..f064927a --- /dev/null +++ b/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch @@ -0,0 +1,70 @@ +From ff5f34d08c191c326c41a083745522383ac86cae Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 04:27:50 +0100 +Subject: [PATCH] mount: don't send out PropertiesChanged message if actually + nothing got changed + +--- + src/core/mount.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index b35e507..98812c9 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1390,7 +1390,7 @@ static int mount_add_one( + _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; + bool load_extras = false; + MountParameters *p; +- bool delete; ++ bool delete, changed = false; + Unit *u; + int r; + +@@ -1458,6 +1458,7 @@ static int mount_add_one( + } + + unit_add_to_load_queue(u); ++ changed = true; + } else { + delete = false; + +@@ -1476,6 +1477,7 @@ static int mount_add_one( + /* Load in the extras later on, after we + * finished initialization of the unit */ + load_extras = true; ++ changed = true; + } + } + +@@ -1488,10 +1490,16 @@ static int mount_add_one( + } + + p = &MOUNT(u)->parameters_proc_self_mountinfo; ++ ++ changed = changed || ++ !streq_ptr(p->options, options) || ++ !streq_ptr(p->what, what) || ++ !streq_ptr(p->fstype, fstype); ++ + if (set_flags) { + MOUNT(u)->is_mounted = true; + MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; +- MOUNT(u)->just_changed = !streq_ptr(p->options, o); ++ MOUNT(u)->just_changed = changed; + } + + MOUNT(u)->from_proc_self_mountinfo = true; +@@ -1514,7 +1522,8 @@ static int mount_add_one( + goto fail; + } + +- unit_add_to_dbus_queue(u); ++ if (changed) ++ unit_add_to_dbus_queue(u); + + return 0; + +-- +1.7.9.2 + diff --git a/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch b/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch deleted file mode 100644 index 3994d1ee..00000000 --- a/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 62678deda2dcd43954bf02f783da01e48c7f8fce Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:38:09 +0200 -Subject: [PATCH 10/15] efi: never call qsort on potentially NULL arrays - ---- - src/shared/efivars.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/shared/efivars.c b/src/shared/efivars.c -index 1d5b6f9..c015b16 100644 ---- a/src/shared/efivars.c -+++ b/src/shared/efivars.c -@@ -384,7 +384,8 @@ int efi_get_boot_options(uint16_t **options) { - list[count ++] = id; - } - -- qsort(list, count, sizeof(uint16_t), cmp_uint16); -+ if (list) -+ qsort(list, count, sizeof(uint16_t), cmp_uint16); - - *options = list; - return count; --- -1.8.4 - diff --git a/0010-man-update-link-to-LSB.patch b/0010-man-update-link-to-LSB.patch new file mode 100644 index 00000000..07a96f01 --- /dev/null +++ b/0010-man-update-link-to-LSB.patch @@ -0,0 +1,35 @@ +From 27d14fb331ba8144f99f4da2d13f15cf5c8b8a9f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Mar 2014 08:10:19 -0500 +Subject: [PATCH] man: update link to LSB + +https://bugzilla.redhat.com/show_bug.cgi?id=1073402 +--- + man/daemon.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/daemon.xml man/daemon.xml +index fd29ba7..ab58d08 100644 +--- man/daemon.xml ++++ man/daemon.xml +@@ -252,7 +252,7 @@ + detect service errors and problems. It + is recommended to follow the exit code + scheme as defined in the LSB ++ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB + recommendations for SysV init + scripts. + +@@ -395,7 +395,7 @@ + exclusively on boot (and manually by the + administrator) via SysV init scripts, as + detailed in the LSB ++ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB + Linux Standard Base Core + Specification. This method of + activation is supported ubiquitously on Linux +-- +1.7.9.2 + diff --git a/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch b/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch new file mode 100644 index 00000000..79bf62d4 --- /dev/null +++ b/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch @@ -0,0 +1,51 @@ +From aef831369cd2a7a1bd4a58dd96ff8628ed6a85f9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 04:28:37 +0100 +Subject: [PATCH] mount: don't fire PropertiesChanged signals for mounts that + are stopped + +--- + src/core/mount.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index 98812c9..7a92e1c 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1679,20 +1679,20 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + Mount *mount = MOUNT(u); + + if (!mount->is_mounted) { +- /* This has just been unmounted. */ + + mount->from_proc_self_mountinfo = false; + + switch (mount->state) { + + case MOUNT_MOUNTED: ++ /* This has just been unmounted by ++ * somebody else, follow the state ++ * change. */ + mount_enter_dead(mount, MOUNT_SUCCESS); + break; + + default: +- mount_set_state(mount, mount->state); + break; +- + } + + } else if (mount->just_mounted || mount->just_changed) { +@@ -1703,6 +1703,9 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + + case MOUNT_DEAD: + case MOUNT_FAILED: ++ /* This has just been mounted by ++ * somebody else, follow the state ++ * change. */ + mount_enter_mounted(mount, MOUNT_SUCCESS); + break; + +-- +1.7.9.2 + diff --git a/0011-logs-show-fix-corrupt-output-with-empty-messages.patch b/0011-logs-show-fix-corrupt-output-with-empty-messages.patch new file mode 100644 index 00000000..6ff83d12 --- /dev/null +++ b/0011-logs-show-fix-corrupt-output-with-empty-messages.patch @@ -0,0 +1,41 @@ +From 47d80904a1f72d559962cc5ad32fffd46672a34a Mon Sep 17 00:00:00 2001 +From: Uoti Urpala +Date: Thu, 20 Feb 2014 03:00:09 +0200 +Subject: [PATCH] logs-show: fix corrupt output with empty messages + +If a message had zero length, journalctl would print no newline, and +two output lines would be concatenated. Fix. The problem was +introduced in commit 31f7bf199452 ("logs-show: print multiline +messages"). Affected short and verbose output modes. + +Before fix: + +Feb 09 21:16:17 glyph dhclient[1323]: Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit + +after: + +Feb 09 21:16:17 glyph dhclient[1323]: +Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit +--- + src/shared/logs-show.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/shared/logs-show.c src/shared/logs-show.c +index 61c3652..12d4a1c 100644 +--- src/shared/logs-show.c ++++ src/shared/logs-show.c +@@ -124,6 +124,11 @@ static bool print_multiline(FILE *f, unsigned prefix, unsigned n_columns, Output + } + } + ++ /* A special case: make sure that we print a newline when ++ the message is empty. */ ++ if (message_len == 0) ++ fputs("\n", f); ++ + for (pos = message; + pos < message + message_len; + pos = end + 1, line++) { +-- +1.7.9.2 + diff --git a/0011-man-systemd-bootchart-fix-spacing-in-command.patch b/0011-man-systemd-bootchart-fix-spacing-in-command.patch new file mode 100644 index 00000000..60c206b3 --- /dev/null +++ b/0011-man-systemd-bootchart-fix-spacing-in-command.patch @@ -0,0 +1,28 @@ +From 82ed60080d327d7301fcd55f5a1f8511f894b9d5 Mon Sep 17 00:00:00 2001 +From: Zachary Cook +Date: Thu, 6 Mar 2014 03:49:49 -0500 +Subject: [PATCH] man: systemd-bootchart - fix spacing in command + +Use the same formatting as the systemd-analyze man page, so that man shows a space. +--- + man/systemd-bootchart.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd-bootchart.xml man/systemd-bootchart.xml +index d0adaad..1715d5d 100644 +--- man/systemd-bootchart.xml ++++ man/systemd-bootchart.xml +@@ -78,8 +78,8 @@ + in which order, and where possible problems + exist in the startup sequence of the system. + It is essentially a more detailed version of +- the systemd-analyze +- plot function. ++ the systemd-analyze plot ++ function. + + + Of course, bootchart can also be used at any +-- +1.7.9.2 + diff --git a/0011-strv-don-t-access-potentially-NULL-string-arrays.patch b/0011-strv-don-t-access-potentially-NULL-string-arrays.patch deleted file mode 100644 index 0ab90504..00000000 --- a/0011-strv-don-t-access-potentially-NULL-string-arrays.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5b4fb02d890d5c9777e9a6e798e0b8922a8a9fd8 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:38:28 +0200 -Subject: [PATCH 11/15] strv: don't access potentially NULL string arrays - ---- - src/shared/env-util.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/shared/env-util.c b/src/shared/env-util.c -index 5e29629..7976881 100644 ---- a/src/shared/env-util.c -+++ b/src/shared/env-util.c -@@ -405,7 +405,9 @@ char **strv_env_clean_log(char **e, const char *message) { - e[k++] = *p; - } - -- e[k] = NULL; -+ if (e) -+ e[k] = NULL; -+ - return e; - } - --- -1.8.4 - diff --git a/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch b/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch new file mode 100644 index 00000000..00b0669b --- /dev/null +++ b/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch @@ -0,0 +1,30 @@ +From 0b6b7c2004317da48e5bbd3078c5662d8f0061b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 26 Feb 2014 23:01:43 -0500 +Subject: [PATCH] journalctl: refuse extra arguments with --verify and similar + +Positional arguments only make sense with the default action. +For other actions, complain instead of ignoring them silently. +--- + src/journal/journalctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/journal/journalctl.c src/journal/journalctl.c +index a328ba1..0619b25 100644 +--- src/journal/journalctl.c ++++ src/journal/journalctl.c +@@ -658,6 +658,11 @@ static int parse_argv(int argc, char *argv[]) { + return -EINVAL; + } + ++ if (arg_action != ACTION_SHOW && optind < argc) { ++ log_error("Extraneous arguments starting with '%s'", argv[optind]); ++ return -EINVAL; ++ } ++ + return 1; + } + +-- +1.7.9.2 + diff --git a/0012-man-add-missing-comma.patch b/0012-man-add-missing-comma.patch new file mode 100644 index 00000000..9d779f43 --- /dev/null +++ b/0012-man-add-missing-comma.patch @@ -0,0 +1,26 @@ +From 7d06ef0a5cd2f0a4e021d3d12f3841cce529e0f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Mar 2014 23:54:13 -0500 +Subject: [PATCH] man: add missing comma + +marcosf0> missing comma in udevadm "see also" section +--- + man/udevadm.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git man/udevadm.xml man/udevadm.xml +index a3f8d54..21d1443 100644 +--- man/udevadm.xml ++++ man/udevadm.xml +@@ -594,7 +594,7 @@ + See Also + + udev7 +- ++ , + + systemd-udevd.service8 + +-- +1.7.9.2 + diff --git a/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch b/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch deleted file mode 100644 index 1d91d801..00000000 --- a/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 69c2b6be8fc607412a13cd0ea03a629b4965c816 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Oct 2013 19:38:52 +0200 -Subject: [PATCH 12/15] mkdir: pass a proper function pointer to - mkdir_safe_internal - ---- - src/shared/mkdir.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/mkdir.c b/src/shared/mkdir.c -index b7e5c6e..43c6ea6 100644 ---- a/src/shared/mkdir.c -+++ b/src/shared/mkdir.c -@@ -53,7 +53,7 @@ int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, mkd - } - - int mkdir_safe(const char *path, mode_t mode, uid_t uid, gid_t gid) { -- return mkdir_safe_internal(path, mode, uid, gid, false); -+ return mkdir_safe_internal(path, mode, uid, gid, mkdir); - } - - static int is_dir(const char* path) { --- -1.8.4 - diff --git a/0013-cdrom_id-use-the-old-MMC-fallback.patch b/0013-cdrom_id-use-the-old-MMC-fallback.patch new file mode 100644 index 00000000..4703b76f --- /dev/null +++ b/0013-cdrom_id-use-the-old-MMC-fallback.patch @@ -0,0 +1,54 @@ +From a14f14976094650e17d39f3a7d15a1c68c93c333 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Thu, 27 Feb 2014 11:06:37 +0100 +Subject: [PATCH] cdrom_id: use the old MMC fallback + +https://bugzilla.redhat.com/show_bug.cgi?id=1038015 +The problem seems to be that the your virtual DVD is emulating a really +old DVD device, and doing it kind of strangely. + +> dracut:# /lib/udev/cdrom_id --debug /dev/sr0 +> probing: '/dev/sr0' +> INQUIRY: [IMM ][Virtual CD/DVD ][0316] +> GET CONFIGURATION failed with SK=5h/ASC=24h/ACQ=00h + +So your virtual drive rejects the GET CONFIGURATION command as illegal. + +Other pre-MMC2 drives that don't accept this command usually return the +error +SK=5h,ASC=20h (invalid/unsupported command code), in which case cdrom_id +tries an older method, and then ID_CDROM_MEDIA_TRACK_COUNT_DATA gets set +and all the /dev/disk/by-label (etc) links get set up. + +The virtual drive returns the error SK=5h,ASC=24h (invalid field in +Command Descriptor Block), which cdrom_id doesn't handle, so it gives up +and the links never get made. + +The ideal solution would be to make the IMM to emulate a device that's +less than 15 years old, but I'm not going to hold my breath waiting for +that. + +So probably cdrom_id should also use the old MMC fallback when the error +is SK=5h,ASC=24h, and then all of this would work as expected. + +Suggested-by:Luca Miccini +--- + src/udev/cdrom_id/cdrom_id.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/cdrom_id/cdrom_id.c src/udev/cdrom_id/cdrom_id.c +index 93467c2..33b2bc3 100644 +--- src/udev/cdrom_id/cdrom_id.c ++++ src/udev/cdrom_id/cdrom_id.c +@@ -556,7 +556,7 @@ static int cd_profiles(struct udev *udev, int fd) + if ((err != 0)) { + info_scsi_cmd_err(udev, "GET CONFIGURATION", err); + /* handle pre-MMC2 drives which do not support GET CONFIGURATION */ +- if (SK(err) == 0x5 && ASC(err) == 0x20) { ++ if (SK(err) == 0x5 && (ASC(err) == 0x20 || ASC(err) == 0x24)) { + log_debug("drive is pre-MMC2 and does not support 46h get configuration command"); + log_debug("trying to work around the problem"); + ret = cd_profiles_old_mmc(udev, fd); +-- +1.7.9.2 + diff --git a/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch b/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch new file mode 100644 index 00000000..f65e5d3e --- /dev/null +++ b/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch @@ -0,0 +1,38 @@ +From 6c49212741253dae05b89d22374186f092ef1e5a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 7 Mar 2014 01:50:34 +0100 +Subject: [PATCH] units: Do not unescape instance name in + systemd-backlight@.service + +The instance name is never escaped in the udev rule, but unescaped in the unit. +This results in the following error message on Asus boards: + + Failed to get backlight or LED device 'backlight:eeepc/wmi': No such file or directory +--- + units/systemd-backlight@.service.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git units/systemd-backlight@.service.in units/systemd-backlight@.service.in +index 5caa5d5..e945d87 100644 +--- units/systemd-backlight@.service.in ++++ units/systemd-backlight@.service.in +@@ -6,7 +6,7 @@ + # (at your option) any later version. + + [Unit] +-Description=Load/Save Screen Backlight Brightness of %I ++Description=Load/Save Screen Backlight Brightness of %i + Documentation=man:systemd-backlight@.service(8) + DefaultDependencies=no + RequiresMountsFor=/var/lib/systemd/backlight +@@ -17,5 +17,5 @@ Before=sysinit.target shutdown.target + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=@rootlibexecdir@/systemd-backlight load %I +-ExecStop=@rootlibexecdir@/systemd-backlight save %I ++ExecStart=@rootlibexecdir@/systemd-backlight load %i ++ExecStop=@rootlibexecdir@/systemd-backlight save %i +-- +1.7.9.2 + diff --git a/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch b/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch new file mode 100644 index 00000000..c4c2f4cb --- /dev/null +++ b/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch @@ -0,0 +1,31 @@ +From 13e8ceb84e56907d73b6b07418deb37faaf0e66d Mon Sep 17 00:00:00 2001 +From: Tero Roponen +Date: Tue, 25 Feb 2014 17:19:35 +0200 +Subject: [PATCH] nspawn: fix detection of missing /proc/self/loginuid + +Running 'systemd-nspawn -D /srv/Fedora/' gave me this error: + Failed to read /proc/self/loginuid: No such file or directory + + Container Fedora failed with error code 1. + +This patch fixes the problem. +--- + src/nspawn/nspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 1fe641b..92b6728 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1349,7 +1349,7 @@ static int reset_audit_loginuid(void) { + return 0; + + r = read_one_line_file("/proc/self/loginuid", &p); +- if (r == -EEXIST) ++ if (r == -ENOENT) + return 0; + if (r < 0) { + log_error("Failed to read /proc/self/loginuid: %s", strerror(-r)); +-- +1.7.9.2 + diff --git a/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch b/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch deleted file mode 100644 index 1ed8f92a..00000000 --- a/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7074fecf6747c9a6ad872cc87701481e8bece8b0 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Wed, 2 Oct 2013 15:35:16 -0400 -Subject: [PATCH 14/15] tmpfiles.d: include setgid perms for /run/log/journal - -4608af4333d0f7f5 set permissions for journal storage on persistent disk -but not the volatile storage. - -ref: https://bugs.archlinux.org/task/37170 ---- - tmpfiles.d/systemd.conf | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf -index b630440..a05c657 100644 ---- a/tmpfiles.d/systemd.conf -+++ b/tmpfiles.d/systemd.conf -@@ -26,3 +26,5 @@ F /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)" - - m /var/log/journal 2755 root systemd-journal - - - m /var/log/journal/%m 2755 root systemd-journal - - -+m /run/log/journal 2755 root systemd-journal - - -+m /run/log/journal/%m 2755 root systemd-journal - - --- -1.8.4 - diff --git a/0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch b/0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch deleted file mode 100644 index e6981e63..00000000 --- a/0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch +++ /dev/null @@ -1,181 +0,0 @@ -From fc676b00a7545743429e0c9b12a0f0707b1059aa Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 5 Oct 2013 13:09:43 -0400 -Subject: [PATCH] core: do not add "what" to RequiresMountsFor for network - mounts - -For cifs mount like //server/share, we would get -RequiresMountsFor=/server/share, which probably isn't -harmful, but quite confusing. - -Unfortunately a bunch of static functions had to be moved -up, but patch is really one line. ---- - src/core/mount.c | 137 ++++++++++++++++++++++++++++-------------------------- - 1 file changed, 70 insertions(+), 67 deletions(-) - -diff --git src/core/mount.c src/core/mount.c -index db055f0..70cd372 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -59,6 +59,72 @@ static const UnitActiveState state_translation_table[_MOUNT_STATE_MAX] = { - [MOUNT_FAILED] = UNIT_FAILED - }; - -+static char* mount_test_option(const char *haystack, const char *needle) { -+ struct mntent me = { .mnt_opts = (char*) haystack }; -+ -+ assert(needle); -+ -+ /* Like glibc's hasmntopt(), but works on a string, not a -+ * struct mntent */ -+ -+ if (!haystack) -+ return NULL; -+ -+ return hasmntopt(&me, needle); -+} -+ -+static bool mount_is_network(MountParameters *p) { -+ assert(p); -+ -+ if (mount_test_option(p->options, "_netdev")) -+ return true; -+ -+ if (p->fstype && fstype_is_network(p->fstype)) -+ return true; -+ -+ return false; -+} -+ -+static bool mount_is_bind(MountParameters *p) { -+ assert(p); -+ -+ if (mount_test_option(p->options, "bind")) -+ return true; -+ -+ if (p->fstype && streq(p->fstype, "bind")) -+ return true; -+ -+ if (mount_test_option(p->options, "rbind")) -+ return true; -+ -+ if (p->fstype && streq(p->fstype, "rbind")) -+ return true; -+ -+ return false; -+} -+ -+static bool mount_is_auto(MountParameters *p) { -+ assert(p); -+ -+ return !mount_test_option(p->options, "noauto"); -+} -+ -+static bool needs_quota(MountParameters *p) { -+ assert(p); -+ -+ if (mount_is_network(p)) -+ return false; -+ -+ if (mount_is_bind(p)) -+ return false; -+ -+ return mount_test_option(p->options, "usrquota") || -+ mount_test_option(p->options, "grpquota") || -+ mount_test_option(p->options, "quota") || -+ mount_test_option(p->options, "usrjquota") || -+ mount_test_option(p->options, "grpjquota"); -+} -+ - static void mount_init(Unit *u) { - Mount *m = MOUNT(u); - -@@ -182,7 +248,10 @@ static int mount_add_mount_links(Mount *m) { - * for the source path (if this is a bind mount) to be - * available. */ - pm = get_mount_parameters_fragment(m); -- if (pm && pm->what && path_is_absolute(pm->what)) { -+ if (pm && pm->what && -+ path_is_absolute(pm->what) && -+ !mount_is_network(pm)) { -+ - r = unit_require_mounts_for(UNIT(m), pm->what); - if (r < 0) - return r; -@@ -214,72 +283,6 @@ static int mount_add_mount_links(Mount *m) { - return 0; - } - --static char* mount_test_option(const char *haystack, const char *needle) { -- struct mntent me = { .mnt_opts = (char*) haystack }; -- -- assert(needle); -- -- /* Like glibc's hasmntopt(), but works on a string, not a -- * struct mntent */ -- -- if (!haystack) -- return NULL; -- -- return hasmntopt(&me, needle); --} -- --static bool mount_is_network(MountParameters *p) { -- assert(p); -- -- if (mount_test_option(p->options, "_netdev")) -- return true; -- -- if (p->fstype && fstype_is_network(p->fstype)) -- return true; -- -- return false; --} -- --static bool mount_is_bind(MountParameters *p) { -- assert(p); -- -- if (mount_test_option(p->options, "bind")) -- return true; -- -- if (p->fstype && streq(p->fstype, "bind")) -- return true; -- -- if (mount_test_option(p->options, "rbind")) -- return true; -- -- if (p->fstype && streq(p->fstype, "rbind")) -- return true; -- -- return false; --} -- --static bool mount_is_auto(MountParameters *p) { -- assert(p); -- -- return !mount_test_option(p->options, "noauto"); --} -- --static bool needs_quota(MountParameters *p) { -- assert(p); -- -- if (mount_is_network(p)) -- return false; -- -- if (mount_is_bind(p)) -- return false; -- -- return mount_test_option(p->options, "usrquota") || -- mount_test_option(p->options, "grpquota") || -- mount_test_option(p->options, "quota") || -- mount_test_option(p->options, "usrjquota") || -- mount_test_option(p->options, "grpjquota"); --} -- - static int mount_add_device_links(Mount *m) { - MountParameters *p; - bool device_wants_mount = false; --- -1.7.9.2 - diff --git a/0026-udevadm.xml-document-resolve-names-option-for-test.patch b/0026-udevadm.xml-document-resolve-names-option-for-test.patch deleted file mode 100644 index 04d30323..00000000 --- a/0026-udevadm.xml-document-resolve-names-option-for-test.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 14a9283eb38a93ec384c322ccbe06352c86a25f8 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sun, 13 Oct 2013 17:42:51 -0400 -Subject: [PATCH] udevadm.xml: document --resolve-names option for test - -And remove documentation of the --subsystem flag which doesn't actually -exist. ---- - man/udevadm.xml | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git man/udevadm.xml man/udevadm.xml -index d0b257d..b959216 100644 ---- man/udevadm.xml -+++ man/udevadm.xml -@@ -462,9 +462,13 @@ - - - -- -+ - -- The subsystem string. -+ Specify when udevadm should resolve names of users and groups. -+ When set to early (the default) names will be resolved when the -+ rules are parsed. When set to late names will be resolved for -+ every event. When set to never names will never be resolved and -+ all devices will be owned by root. - - - --- -1.7.9.2 - diff --git a/0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch b/0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch deleted file mode 100644 index bd8c2b31..00000000 --- a/0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 306e6650221d88b29831bcdcef94447afb65df5c Mon Sep 17 00:00:00 2001 -From: Igor Zhbanov -Date: Tue, 15 Oct 2013 14:35:13 +0400 -Subject: [PATCH] Fix for SIGSEGV in systemd-bootchart on short-living - processes - -The function svg_ps_bars() dereferencess NULL pointer in the line - endtime = ps->last->sampledata->sampletime; -because of partially initialized ps_struct (ps->last == NULL). - -If some process terminates between scaning /proc directory in the log_sample() -function and reading additional information from /proc/PID/... files, -the files couldn't be read, the loop will be continued and partially -initialized structure returned. ---- - src/bootchart/store.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/bootchart/store.c src/bootchart/store.c -index f8c97c2..7f86cfe 100644 ---- src/bootchart/store.c -+++ src/bootchart/store.c -@@ -275,7 +275,7 @@ schedstat_next: - pscount++; - - /* mark our first sample */ -- ps->first = ps->sample; -+ ps->first = ps->last = ps->sample; - ps->sample->runtime = atoll(rt); - ps->sample->waittime = atoll(wt); - --- -1.7.9.2 - diff --git a/0031-man-document-the-b-special-boot-option.patch b/0031-man-document-the-b-special-boot-option.patch deleted file mode 100644 index 9d45f618..00000000 --- a/0031-man-document-the-b-special-boot-option.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 775657712d0f6d14b70a0fe947a95a9ecc212440 Mon Sep 17 00:00:00 2001 -From: Jan Engelhardt -Date: Tue, 15 Oct 2013 08:58:50 +0200 -Subject: [PATCH] man: document the -b special boot option - ---- - man/kernel-command-line.xml | 1 + - man/systemd.xml | 1 + - 2 files changed, 2 insertions(+) - -diff --git man/kernel-command-line.xml man/kernel-command-line.xml -index cc267a3..abe68e5 100644 ---- man/kernel-command-line.xml -+++ man/kernel-command-line.xml -@@ -123,6 +123,7 @@ - - - -+ -b - emergency - single - s -diff --git man/systemd.xml man/systemd.xml -index fe6e331..85c06d3 100644 ---- man/systemd.xml -+++ man/systemd.xml -@@ -1149,6 +1149,7 @@ - - - -+ -b - emergency - - Boot into emergency --- -1.7.9.2 - diff --git a/0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch b/0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch deleted file mode 100644 index ff651c17..00000000 --- a/0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch +++ /dev/null @@ -1,81 +0,0 @@ -Patch based on - - From e0d856dd48d640f3d95efe7b769edec02373cc74 Mon Sep 17 00:00:00 2001 - From: Lennart Poettering - Date: Wed, 16 Oct 2013 02:51:24 +0200 - Subject: [PATCH] rules: don't limit some of the rules to the "add" action - - Devices should show up in systemd regardless whether the user invoked - "udevadm trigger" or not. Before this change some devices might have - suddenly disappeared due issuing that command. - -and also on - - From 1a0464230c08506c3fd715ff7cc56660df3a85ca Mon Sep 17 00:00:00 2001 - From: Bastien Nocera - Date: Fri, 11 Oct 2013 07:45:32 +0000 - Subject: Add support for saving/restoring keyboard backlights - - Piggy-backing on the display backlight code, this saves and restores - keyboard backlights on supported devices. - - The detection code matches that of UPower: - http://cgit.freedesktop.org/upower/tree/src/up-kbd-backlight.c#n173 - - https://bugs.freedesktop.org/show_bug.cgi?id=70367 - - [tomegun: also work for devices named "{smc,samsung,asus}::kbd_backlight"] - ---- - rules/99-systemd.rules.in | 10 ++++++---- - src/backlight/backlight.c | 7 +++++-- - 2 files changed, 11 insertions(+), 6 deletions(-) - ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in 2014-02-14 14:46:48.358235397 +0000 -@@ -51,14 +51,16 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_dev - - ACTION=="add", SUBSYSTEM=="net", KERNEL!="lo", RUN+="@rootlibexecdir@/systemd-sysctl --prefix=/proc/sys/net/ipv4/conf/$name --prefix=/proc/sys/net/ipv4/neigh/$name --prefix=/proc/sys/net/ipv6/conf/$name --prefix=/proc/sys/net/ipv6/neigh/$name" - --# Pull in backlight save/restore for all firmware backlight devices -+# Pull in backlight save/restore for all backlight devices and -+# keyboard backlights - --ACTION=="add", SUBSYSTEM=="backlight", ATTR{type}=="firmware", TAG+="systemd", ENV{SYSTEMD_WANTS}+="systemd-backlight@$name.service" -+SUBSYSTEM=="backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@backlight:$name.service" -+SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@leds:$name.service" - - # Asynchronously mount file systems implemented by these modules as - # soon as they are loaded. - --SUBSYSTEM=="module", KERNEL=="fuse", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-fs-fuse-connections.mount" --SUBSYSTEM=="module", KERNEL=="configfs", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-kernel-config.mount" -+SUBSYSTEM=="module", KERNEL=="fuse", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-fs-fuse-connections.mount" -+SUBSYSTEM=="module", KERNEL=="configfs", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-kernel-config.mount" - - LABEL="systemd_end" ---- src/backlight/backlight.c -+++ src/backlight/backlight.c 2014-02-14 15:20:47.534298128 +0000 -@@ -56,9 +56,11 @@ int main(int argc, char *argv[]) { - - errno = 0; - device = udev_device_new_from_subsystem_sysname(udev, "backlight", argv[2]); -+ if (!device) -+ device = udev_device_new_from_subsystem_sysname(udev, "leds", argv[2]); - if (!device) { - if (errno != 0) { -- log_error("Failed to get backlight device: %m"); -+ log_error("Failed to get backlight device '%s': %m", argv[2]); - r = -errno; - } else - r = log_oom(); -@@ -66,7 +68,8 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- if (!streq_ptr(udev_device_get_subsystem(device), "backlight")) { -+ if (!streq_ptr(udev_device_get_subsystem(device), "backlight") && -+ !streq_ptr(udev_device_get_subsystem(device), "leds")) { - log_error("Not a backlight device: %s", argv[2]); - r = -ENODEV; - goto finish; diff --git a/0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch b/0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch deleted file mode 100644 index c14d8d70..00000000 --- a/0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ca2f4176fee7dd5f5664429988e7059163fddb2d Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 17 Oct 2013 03:20:46 +0200 -Subject: [PATCH] tmpfiles: log unaccessible FUSE mount points only as debug - message - ---- - src/tmpfiles/tmpfiles.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index 3cc831a..e23847b 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -275,12 +275,15 @@ static int dir_cleanup( - continue; - - if (fstatat(dirfd(d), dent->d_name, &s, AT_SYMLINK_NOFOLLOW) < 0) { -+ if (errno == ENOENT) -+ continue; - -- if (errno != ENOENT) { -+ /* FUSE, NFS mounts, SELinux might return EACCES */ -+ if (errno == EACCES) -+ log_debug("stat(%s/%s) failed: %m", p, dent->d_name); -+ else - log_error("stat(%s/%s) failed: %m", p, dent->d_name); -- r = -errno; -- } -- -+ r = -errno; - continue; - } - --- -1.7.9.2 - diff --git a/0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch b/0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch deleted file mode 100644 index 07bfe49a..00000000 --- a/0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a23873387a6e722b711092c89a08ab3f3d19361c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 11 Nov 2013 19:53:59 -0500 -Subject: [PATCH] systemd-python: fix booted() and add two functions to docs - -For some reason sphinx doesn't want to show inherited C functions. ---- - src/python-systemd/_daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/python-systemd/_daemon.c src/python-systemd/_daemon.c -index 6b84fb8..f0ab16f 100644 ---- src/python-systemd/_daemon.c -+++ src/python-systemd/_daemon.c -@@ -51,7 +51,7 @@ static PyObject* booted(PyObject *self, PyObject *args) { - assert(args == NULL); - - r = sd_booted(); -- if (set_error(r, NULL, NULL)) -+ if (set_error(r, NULL, NULL) < 0) - return NULL; - - return PyBool_FromLong(r); --- -1.7.9.2 - diff --git a/0035-activate-mention-E-in-the-help-text.patch b/0035-activate-mention-E-in-the-help-text.patch deleted file mode 100644 index 92ae2ded..00000000 --- a/0035-activate-mention-E-in-the-help-text.patch +++ /dev/null @@ -1,25 +0,0 @@ -From df49ccafc0d57c731a3da3014ad55d5bb9ed3e1b 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 src/activate/activate.c src/activate/activate.c -index 07e46b9..537626d 100644 ---- src/activate/activate.c -+++ src/activate/activate.c -@@ -289,6 +289,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" --- -1.7.9.2 - diff --git a/0036-activate-fix-crash-when-s-is-passed.patch b/0036-activate-fix-crash-when-s-is-passed.patch deleted file mode 100644 index e1a0b2b1..00000000 --- a/0036-activate-fix-crash-when-s-is-passed.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ed6556920c1a6cdfe0bb04e806bc1f54ea191545 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 src/activate/activate.c src/activate/activate.c -index 537626d..2639d1c 100644 ---- src/activate/activate.c -+++ src/activate/activate.c -@@ -344,7 +344,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(); --- -1.7.9.2 - diff --git a/0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch b/0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch deleted file mode 100644 index 2ced4b3d..00000000 --- a/0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 87267de89ddce9b1b812b720e1fc9a6cb554236e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 16 Nov 2013 17:29:28 -0500 -Subject: [PATCH] tmpfiles: adjust excludes for the new per-service private - dirs - -In d8c9d3a (systemd: use unit name in PrivateTmp directories) -I forgot to update the tmpfiles config. ---- - tmpfiles.d/tmp.conf | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git tmpfiles.d/tmp.conf tmpfiles.d/tmp.conf -index 3b534a1..f0312ef 100644 ---- tmpfiles.d/tmp.conf -+++ tmpfiles.d/tmp.conf -@@ -12,6 +12,23 @@ d /tmp 1777 root root 10d - d /var/tmp 1777 root root - - - # Exclude namespace mountpoints created with PrivateTmp=yes -+x /tmp/systemd-*.service-* -+x /var/tmp/systemd-*.service-* -+X /tmp/systemd-*.service-*/tmp -+X /var/tmp/systemd-*.service-*/tmp -+x /tmp/systemd-*.socket-* -+x /var/tmp/systemd-*.socket-* -+X /tmp/systemd-*.socket-*/tmp -+X /var/tmp/systemd-*.socket-*/tmp -+x /tmp/systemd-*.mount-* -+x /var/tmp/systemd-*.mount-* -+X /tmp/systemd-*.mount-*/tmp -+X /var/tmp/systemd-*.mount-*/tmp -+x /tmp/systemd-*.swap-* -+x /var/tmp/systemd-*.swap-* -+X /tmp/systemd-*.swap-*/tmp -+X /var/tmp/systemd-*.swap-*/tmp -+# keep those for compatibility during upgrades - x /tmp/systemd-private-* - x /var/tmp/systemd-private-* - X /tmp/systemd-private-*/tmp --- -1.7.9.2 - diff --git a/0038-core-socket-fix-SO_REUSEPORT.patch b/0038-core-socket-fix-SO_REUSEPORT.patch deleted file mode 100644 index c613c97a..00000000 --- a/0038-core-socket-fix-SO_REUSEPORT.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f0511bd7e3d591383485a36ddcb764abe74b1939 Mon Sep 17 00:00:00 2001 -From: Shawn Landden -Date: Sat, 16 Nov 2013 13:18:13 -0800 -Subject: [PATCH] core/socket: fix SO_REUSEPORT - ---- - src/core/load-fragment-gperf.gperf.m4 | 1 + - src/core/socket.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git src/core/load-fragment-gperf.gperf.m4 src/core/load-fragment-gperf.gperf.m4 -index e3025d2..b64fdc9 100644 ---- src/core/load-fragment-gperf.gperf.m4 -+++ src/core/load-fragment-gperf.gperf.m4 -@@ -210,6 +210,7 @@ Socket.Broadcast, config_parse_bool, 0, - Socket.PassCredentials, config_parse_bool, 0, offsetof(Socket, pass_cred) - Socket.PassSecurity, config_parse_bool, 0, offsetof(Socket, pass_sec) - Socket.TCPCongestion, config_parse_string, 0, offsetof(Socket, tcp_congestion) -+Socket.ReusePort, config_parse_bool, 0, offsetof(Socket, reuseport) - Socket.MessageQueueMaxMessages, config_parse_long, 0, offsetof(Socket, mq_maxmsg) - Socket.MessageQueueMessageSize, config_parse_long, 0, offsetof(Socket, mq_msgsize) - Socket.Service, config_parse_socket_service, 0, 0 -diff --git src/core/socket.c src/core/socket.c -index f505e4f..751f20b 100644 ---- src/core/socket.c -+++ src/core/socket.c -@@ -771,7 +771,7 @@ static void socket_apply_socket_options(Socket *s, int fd) { - - if (s->reuseport) { - int b = s->reuseport; -- if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &b, sizeof(b))) -+ if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &b, sizeof(b)) < 0) - log_warning_unit(UNIT(s)->id, "SO_REUSEPORT failed: %m"); - } - --- -1.7.9.2 - diff --git a/0039-journal-when-appending-to-journal-file-allocate-larg.patch b/0039-journal-when-appending-to-journal-file-allocate-larg.patch deleted file mode 100644 index 9e93024e..00000000 --- a/0039-journal-when-appending-to-journal-file-allocate-larg.patch +++ /dev/null @@ -1,80 +0,0 @@ -From a676e66535e12458ea6d366a653f8dd60f982504 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 26 Nov 2013 18:39:42 +0100 -Subject: [PATCH] journal: when appending to journal file, allocate larger - blocks at once - ---- - src/journal/journal-file.c | 26 +++++++++++++++++--------- - 1 file changed, 17 insertions(+), 9 deletions(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index bc72fca..d606ada 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -68,6 +68,9 @@ - /* How many entries to keep in the entry array chain cache at max */ - #define CHAIN_CACHE_MAX 20 - -+/* How much to increase the journal file size at once each time we allocate something new. */ -+#define FILE_SIZE_INCREASE (8ULL*1024ULL*1024ULL) /* 8MB */ -+ - int journal_file_set_online(JournalFile *f) { - assert(f); - -@@ -218,8 +221,7 @@ static int journal_file_refresh_header(JournalFile *f) { - journal_file_set_online(f); - - /* Sync the online state to disk */ -- msync(f->header, PAGE_ALIGN(sizeof(Header)), MS_SYNC); -- fdatasync(f->fd); -+ fsync(f->fd); - - return 0; - } -@@ -313,7 +315,7 @@ static int journal_file_verify_header(JournalFile *f) { - } - - static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { -- uint64_t old_size, new_size; -+ uint64_t old_size, new_size, file_size; - int r; - - assert(f); -@@ -333,12 +335,10 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - if (new_size <= old_size) - return 0; - -- if (f->metrics.max_size > 0 && -- new_size > f->metrics.max_size) -+ if (f->metrics.max_size > 0 && new_size > f->metrics.max_size) - return -E2BIG; - -- if (new_size > f->metrics.min_size && -- f->metrics.keep_free > 0) { -+ if (new_size > f->metrics.min_size && f->metrics.keep_free > 0) { - struct statvfs svfs; - - if (fstatvfs(f->fd, &svfs) >= 0) { -@@ -363,8 +363,16 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - if (r != 0) - return -r; - -- if (fstat(f->fd, &f->last_stat) < 0) -- return -errno; -+ /* Increase the file size a bit further than this, so that we -+ * we can create larger memory maps to cache */ -+ file_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE; -+ if (file_size > (uint64_t) f->last_stat.st_size) { -+ if (file_size > new_size) -+ ftruncate(f->fd, file_size); -+ -+ if (fstat(f->fd, &f->last_stat) < 0) -+ return -errno; -+ } - - f->header->arena_size = htole64(new_size - le64toh(f->header->header_size)); - --- -1.7.9.2 - diff --git a/0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch b/0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch deleted file mode 100644 index 74368958..00000000 --- a/0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch +++ /dev/null @@ -1,247 +0,0 @@ -From f268980d2cee694fa4118a71402a47c316af0425 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 26 Nov 2013 20:37:53 +0100 -Subject: [PATCH] journal: optimize bisection logic a bit by caching the last - position - -This way we can do a quick restart limiting a bit how wildly we need to -jump around during the bisection process. ---- - src/journal/journal-file.c | 134 ++++++++++++++++++++++++++++++++------------ - 1 file changed, 99 insertions(+), 35 deletions(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index 481c242..27cd16f 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -1366,6 +1366,7 @@ typedef struct ChainCacheItem { - uint64_t array; /* the cached array */ - uint64_t begin; /* the first item in the cached array */ - uint64_t total; /* the total number of items in all arrays before this one in the chain */ -+ uint64_t last_index; /* the last index we looked at, to optimize locality when bisecting */ - } ChainCacheItem; - - static void chain_cache_put( -@@ -1374,7 +1375,8 @@ static void chain_cache_put( - uint64_t first, - uint64_t array, - uint64_t begin, -- uint64_t total) { -+ uint64_t total, -+ uint64_t last_index) { - - if (!ci) { - /* If the chain item to cache for this chain is the -@@ -1402,12 +1404,14 @@ static void chain_cache_put( - ci->array = array; - ci->begin = begin; - ci->total = total; -+ ci->last_index = last_index; - } - --static int generic_array_get(JournalFile *f, -- uint64_t first, -- uint64_t i, -- Object **ret, uint64_t *offset) { -+static int generic_array_get( -+ JournalFile *f, -+ uint64_t first, -+ uint64_t i, -+ Object **ret, uint64_t *offset) { - - Object *o; - uint64_t p = 0, a, t = 0; -@@ -1448,7 +1452,7 @@ static int generic_array_get(JournalFile *f, - - found: - /* Let's cache this item for the next invocation */ -- chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t); -+ chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t, i); - - r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o); - if (r < 0) -@@ -1463,11 +1467,12 @@ found: - return 1; - } - --static int generic_array_get_plus_one(JournalFile *f, -- uint64_t extra, -- uint64_t first, -- uint64_t i, -- Object **ret, uint64_t *offset) { -+static int generic_array_get_plus_one( -+ JournalFile *f, -+ uint64_t extra, -+ uint64_t first, -+ uint64_t i, -+ Object **ret, uint64_t *offset) { - - Object *o; - -@@ -1498,17 +1503,18 @@ enum { - TEST_RIGHT - }; - --static int generic_array_bisect(JournalFile *f, -- uint64_t first, -- uint64_t n, -- uint64_t needle, -- int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), -- direction_t direction, -- Object **ret, -- uint64_t *offset, -- uint64_t *idx) { -- -- uint64_t a, p, t = 0, i = 0, last_p = 0; -+static int generic_array_bisect( -+ JournalFile *f, -+ uint64_t first, -+ uint64_t n, -+ uint64_t needle, -+ int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), -+ direction_t direction, -+ Object **ret, -+ uint64_t *offset, -+ uint64_t *idx) { -+ -+ uint64_t a, p, t = 0, i = 0, last_p = 0, last_index = (uint64_t) -1; - bool subtract_one = false; - Object *o, *array = NULL; - int r; -@@ -1533,7 +1539,7 @@ static int generic_array_bisect(JournalFile *f, - return r; - - if (r == TEST_LEFT) { -- /* OK, what we are looking for is right of th -+ /* OK, what we are looking for is right of the - * begin of this EntryArray, so let's jump - * straight to previously cached array in the - * chain */ -@@ -1541,6 +1547,7 @@ static int generic_array_bisect(JournalFile *f, - a = ci->array; - n -= ci->total; - t = ci->total; -+ last_index = ci->last_index; - } - } - -@@ -1571,6 +1578,60 @@ static int generic_array_bisect(JournalFile *f, - if (r == TEST_RIGHT) { - left = 0; - right -= 1; -+ -+ if (last_index != (uint64_t) -1) { -+ assert(last_index <= right); -+ -+ /* If we cached the last index we -+ * looked at, let's try to not to jump -+ * too wildly around and see if we can -+ * limit the range to look at early to -+ * the immediate neighbors of the last -+ * index we looked at. */ -+ -+ if (last_index > 0) { -+ uint64_t x = last_index - 1; -+ -+ p = le64toh(array->entry_array.items[x]); -+ if (p <= 0) -+ return -EBADMSG; -+ -+ r = test_object(f, p, needle); -+ if (r < 0) -+ return r; -+ -+ if (r == TEST_FOUND) -+ r = direction == DIRECTION_DOWN ? TEST_RIGHT : TEST_LEFT; -+ -+ if (r == TEST_RIGHT) -+ right = x; -+ else -+ left = x + 1; -+ } -+ -+ if (last_index < right) { -+ uint64_t y = last_index + 1; -+ -+ p = le64toh(array->entry_array.items[y]); -+ if (p <= 0) -+ return -EBADMSG; -+ -+ r = test_object(f, p, needle); -+ if (r < 0) -+ return r; -+ -+ if (r == TEST_FOUND) -+ r = direction == DIRECTION_DOWN ? TEST_RIGHT : TEST_LEFT; -+ -+ if (r == TEST_RIGHT) -+ right = y; -+ else -+ left = y + 1; -+ } -+ -+ last_index = (uint64_t) -1; -+ } -+ - for (;;) { - if (left == right) { - if (direction == DIRECTION_UP) -@@ -1581,8 +1642,8 @@ static int generic_array_bisect(JournalFile *f, - } - - assert(left < right); -- - i = (left + right) / 2; -+ - p = le64toh(array->entry_array.items[i]); - if (p <= 0) - return -EBADMSG; -@@ -1615,6 +1676,7 @@ static int generic_array_bisect(JournalFile *f, - - n -= k; - t += k; -+ last_index = (uint64_t) -1; - a = le64toh(array->entry_array.next_entry_array_offset); - } - -@@ -1625,7 +1687,7 @@ found: - return 0; - - /* Let's cache this item for the next invocation */ -- chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t); -+ chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, i + (subtract_one ? -1 : 0)); - - if (subtract_one && i == 0) - p = last_p; -@@ -1650,16 +1712,18 @@ found: - return 1; - } - --static int generic_array_bisect_plus_one(JournalFile *f, -- uint64_t extra, -- uint64_t first, -- uint64_t n, -- uint64_t needle, -- int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), -- direction_t direction, -- Object **ret, -- uint64_t *offset, -- uint64_t *idx) { -+ -+static int generic_array_bisect_plus_one( -+ JournalFile *f, -+ uint64_t extra, -+ uint64_t first, -+ uint64_t n, -+ uint64_t needle, -+ int (*test_object)(JournalFile *f, uint64_t p, uint64_t needle), -+ direction_t direction, -+ Object **ret, -+ uint64_t *offset, -+ uint64_t *idx) { - - int r; - bool step_back = false; --- -1.7.9.2 - diff --git a/0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch b/0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch deleted file mode 100644 index 24c02269..00000000 --- a/0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e5462cd80e5328a769137c261c93931ea0c27bab Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 27 Nov 2013 00:58:39 +0100 -Subject: [PATCH] journal: fix iteration when we go backwards from the - beginning of an array chain element - ---- - src/journal/journal-file.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index 27cd16f..409be76 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -1687,7 +1687,7 @@ found: - return 0; - - /* Let's cache this item for the next invocation */ -- chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, i + (subtract_one ? -1 : 0)); -+ chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, subtract_one ? (i > 0 ? i-1 : (uint64_t) -1) : i); - - if (subtract_one && i == 0) - p = last_p; --- -1.7.9.2 - diff --git a/0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch b/0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch deleted file mode 100644 index 78946e79..00000000 --- a/0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 248c78c79c5cca9b981800d816a77591e504066a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 27 Nov 2013 00:59:07 +0100 -Subject: [PATCH] journal: allow journal_file_copy_entry() to work on - non-local files - ---- - src/journal/journal-file.c | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index 409be76..14eae8f 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -2732,10 +2732,6 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6 - ts.monotonic = le64toh(o->entry.monotonic); - ts.realtime = le64toh(o->entry.realtime); - -- if (to->tail_entry_monotonic_valid && -- ts.monotonic < le64toh(to->header->tail_entry_monotonic)) -- return -EINVAL; -- - n = journal_file_entry_n_items(o); - items = alloca(sizeof(EntryItem) * n); - --- -1.7.9.2 - diff --git a/0043-journal-simplify-pre-allocation-logic.patch b/0043-journal-simplify-pre-allocation-logic.patch deleted file mode 100644 index 16511ec0..00000000 --- a/0043-journal-simplify-pre-allocation-logic.patch +++ /dev/null @@ -1,61 +0,0 @@ -From eda4b58b50509dc8ad0428a46e20f6c5cf516d58 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 27 Nov 2013 01:44:52 +0100 -Subject: [PATCH] journal: simplify pre-allocation logic - -let's just do a single fallocate() as far as possible, and don't -distuingish between allocated space and file size. - -This way we can save a syscall for each append, which makes quite some -benefits. ---- - src/journal/journal-file.c | 19 ++++++++----------- - 1 file changed, 8 insertions(+), 11 deletions(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index 14eae8f..4009b29 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -315,7 +315,7 @@ static int journal_file_verify_header(JournalFile *f) { - } - - static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { -- uint64_t old_size, new_size, file_size; -+ uint64_t old_size, new_size; - int r; - - assert(f); -@@ -356,6 +356,11 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - } - } - -+ /* Increase by larger blocks at once */ -+ new_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE; -+ if (f->metrics.max_size > 0 && new_size > f->metrics.max_size) -+ new_size = f->metrics.max_size; -+ - /* Note that the glibc fallocate() fallback is very - inefficient, hence we try to minimize the allocation area - as we can. */ -@@ -363,16 +368,8 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - if (r != 0) - return -r; - -- /* Increase the file size a bit further than this, so that we -- * we can create larger memory maps to cache */ -- file_size = ((new_size+FILE_SIZE_INCREASE-1) / FILE_SIZE_INCREASE) * FILE_SIZE_INCREASE; -- if (file_size > (uint64_t) f->last_stat.st_size) { -- if (file_size > new_size) -- ftruncate(f->fd, file_size); -- -- if (fstat(f->fd, &f->last_stat) < 0) -- return -errno; -- } -+ if (fstat(f->fd, &f->last_stat) < 0) -+ return -errno; - - f->header->arena_size = htole64(new_size - le64toh(f->header->header_size)); - --- -1.7.9.2 - diff --git a/0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch b/0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch deleted file mode 100644 index 90e71fb6..00000000 --- a/0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch +++ /dev/null @@ -1,58 +0,0 @@ -From fbb634117d0b0ebd5b105e65b141e75ae9af7f8f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 27 Nov 2013 01:54:25 +0100 -Subject: [PATCH] journald: mention how long we needed to flush to /var in the - logs - ---- - src/journal/journald-server.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git src/journal/journald-server.c src/journal/journald-server.c -index ce419d4..01e75b6 100644 ---- src/journal/journald-server.c -+++ src/journal/journald-server.c -@@ -970,9 +970,12 @@ static int system_journal_open(Server *s) { - } - - int server_flush_to_var(Server *s) { -- int r; - sd_id128_t machine; - sd_journal *j = NULL; -+ char ts[FORMAT_TIMESPAN_MAX]; -+ usec_t start; -+ unsigned n = 0; -+ int r; - - assert(s); - -@@ -990,6 +993,8 @@ int server_flush_to_var(Server *s) { - - log_debug("Flushing to /var..."); - -+ start = now(CLOCK_MONOTONIC); -+ - r = sd_id128_get_machine(&machine); - if (r < 0) - return r; -@@ -1009,6 +1014,8 @@ int server_flush_to_var(Server *s) { - f = j->current_file; - assert(f && f->current_offset > 0); - -+ n++; -+ - r = journal_file_move_to_object(f, OBJECT_ENTRY, f->current_offset, &o); - if (r < 0) { - log_error("Can't read entry: %s", strerror(-r)); -@@ -1052,6 +1059,8 @@ finish: - - sd_journal_close(j); - -+ server_driver_message(s, SD_ID128_NULL, "Time spent on flushing to /var is %s for %u entries.", format_timespan(ts, sizeof(ts), now(CLOCK_MONOTONIC) - start, 0), n); -+ - return r; - } - --- -1.7.9.2 - diff --git a/0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch b/0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch deleted file mode 100644 index 1a423207..00000000 --- a/0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 27373e442747010dfc195296c0705f67e905a611 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 src/shared/util.c src/shared/util.c -index 38134ae..206fc80 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -2501,7 +2501,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); --- -1.7.9.2 - diff --git a/0047-docs-remove-unneeded-the-s-in-gudev-docs.patch b/0047-docs-remove-unneeded-the-s-in-gudev-docs.patch deleted file mode 100644 index e94380d5..00000000 --- a/0047-docs-remove-unneeded-the-s-in-gudev-docs.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 572ce4f7832ffa7a91a582c4098f18cec5662666 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 src/libudev/libudev-device.c src/libudev/libudev-device.c -index 059a590..9558ac3 100644 ---- src/libudev/libudev-device.c -+++ src/libudev/libudev-device.c -@@ -982,9 +982,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. -@@ -1018,9 +1017,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. --- -1.7.9.2 - diff --git a/0048-man-explicitly-say-when-multiple-units-can-be-specif.patch b/0048-man-explicitly-say-when-multiple-units-can-be-specif.patch deleted file mode 100644 index ec388b86..00000000 --- a/0048-man-explicitly-say-when-multiple-units-can-be-specif.patch +++ /dev/null @@ -1,238 +0,0 @@ -From 6a44e50f4c0938b0ba355fff21add6c067cd9837 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 30 Nov 2013 21:23:01 -0500 -Subject: [PATCH] man: explicitly say when multiple units can be specified - -itistoday> how do you specify multiple dependencies in a unit file? i've been - googling and can't find this basic thing :-\ -itistoday> do you use a comma, or use multiple After= statements? ---- - man/systemd.unit.xml | 128 +++++++++++++++++++++++++++----------------------- - 1 file changed, 70 insertions(+), 58 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 4dc427c..35dd4c7 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -410,10 +410,12 @@ - of the other units gets deactivated or - its activation fails, this unit will - be deactivated. This option may be -- specified more than once, in which -- case requirement dependencies for all -- listed names are created. Note that -- requirement dependencies do not -+ specified more than once or multiple -+ space-separated units may be specified -+ in one option in which case -+ requirement dependencies for all -+ listed names will be created. Note -+ that requirement dependencies do not - influence the order in which services - are started or stopped. This has to be - configured independently with the -@@ -476,22 +478,23 @@ - RequisiteOverridable= - - Similar to -- Requires= -- and RequiresOverridable=, respectively. However, -- if a unit listed here is not started -- already it will not be started and the -- transaction fails -- immediately. -+ Requires= and -+ RequiresOverridable=, -+ respectively. However, if the units -+ listed here are not started already -+ they will not be started and the -+ transaction will fail immediately. -+ - - - - Wants= - - A weaker version of -- Requires=. A unit -+ Requires=. Units - listed in this option will be started - if the configuring unit is. However, -- if the listed unit fails to start up -+ if the listed units fail to start - or cannot be added to the transaction - this has no impact on the validity of - the transaction as a whole. This is -@@ -501,8 +504,8 @@ - - Note that dependencies of this - type may also be configured outside of -- the unit configuration file by -- adding a symlink to a -+ the unit configuration file by adding -+ symlinks to a - .wants/ directory - accompanying the unit file. For - details see above. -@@ -534,7 +537,7 @@ - of units. When systemd stops or restarts - the units listed here, the action is - propagated to this unit. -- Note that this is a one way dependency - -+ Note that this is a one way dependency — - changes to this unit do not affect the - listed units. - -@@ -543,12 +546,12 @@ - - Conflicts= - -- Configures negative -+ A space-separated list -+ of unit names. Configures negative - requirement dependencies. If a unit -- has a -- Conflicts= setting -- on another unit, starting the former -- will stop the latter and vice -+ has a Conflicts= -+ setting on another unit, starting the -+ former will stop the latter and vice - versa. Note that this setting is - independent of and orthogonal to the - After= and -@@ -575,7 +578,8 @@ - Before= - After= - -- Configures ordering -+ A space-separated list -+ of unit names. Configures ordering - dependencies between units. If a unit - foo.service - contains a setting -@@ -624,18 +628,18 @@ - type After= or - Before=. If two - units have no ordering dependencies -- between them, they are shut down -- or started up simultaneously, and -- no ordering takes -+ between them, they are shut down or -+ started up simultaneously, and no -+ ordering takes - place. - - - - OnFailure= - -- Lists one or more -- units that are activated when this -- unit enters the -+ A space-separated list -+ of one or more units that are -+ activated when this unit enters the - failed - state. - -@@ -644,16 +648,17 @@ - PropagatesReloadTo= - ReloadPropagatedFrom= - -- Lists one or more -- units where reload requests on the -- unit will be propagated to/on the -- other unit will be propagated -- from. Issuing a reload request on a -- unit will automatically also enqueue a -- reload request on all units that the -- reload request shall be propagated to -- via these two -- settings. -+ A space-separated list -+ of one or more units where reload -+ requests on this unit will be -+ propagated to, or reload requests on -+ the other unit will be propagated to -+ this unit, respectively. Issuing a -+ reload request on a unit will -+ automatically also enqueue a reload -+ request on all units that the reload -+ request shall be propagated to via -+ these two settings. - - - -@@ -1130,32 +1135,34 @@ - - Alias= - -- Additional names this -- unit shall be installed under. The -- names listed here must have the same -- suffix (i.e. type) as the unit file -- name. This option may be specified -- more than once, in which case all -- listed names are used. At installation -- time, -- systemctl enable -- will create symlinks from these names -- to the unit filename. -+ A space-seperated list -+ of additional names this unit shall be -+ installed under. The names listed here -+ must have the same suffix (i.e. type) -+ as the unit file name. This option may -+ be specified more than once, in which -+ case all listed names are used. At -+ installation time, systemctl -+ enable will create symlinks -+ from these names to the unit -+ filename. - - - - WantedBy= - RequiredBy= - -- A symbolic link is -- created in the -- .wants/ or -- .requires/ directory -- of the listed unit when this unit is -- activated by systemctl -- enable. This has the effect -- that a dependency of type -- Wants= or -+ This option may be -+ used more than once, or a -+ space-separated list of unit names may -+ be given. A symbolic link is created -+ in the .wants/ or -+ .requires/ -+ directory of each of the listed units -+ when this unit is installed by -+ systemctl enable. -+ This has the effect that a dependency -+ of type Wants= or - Requires= is added - from the listed unit to the current - unit. The primary result is that the -@@ -1201,7 +1208,12 @@ - and systemctl - disable will automatically - install/uninstall units listed in this option as -- well. -+ well. -+ -+ This option may be used more -+ than once, or a space-separated list -+ of unit names may be -+ given. - - - --- -1.7.9.2 - diff --git a/0049-systemd-treat-reload-failure-as-failure.patch b/0049-systemd-treat-reload-failure-as-failure.patch deleted file mode 100644 index 9dde25b5..00000000 --- a/0049-systemd-treat-reload-failure-as-failure.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 6a371e23ee0e47827fb4e3aa469ed84da2599304 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 src/core/job.c src/core/job.c -index 557917a..ce97263 100644 ---- src/core/job.c -+++ src/core/job.c -@@ -508,7 +508,7 @@ int job_run_and_invalidate(Job *j) { - else if (t == UNIT_ACTIVATING) - r = -EAGAIN; - else -- r = -ENOEXEC; -+ r = -EBADR; - break; - } - -@@ -537,8 +537,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--; -@@ -764,7 +766,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); -@@ -1119,7 +1121,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 src/core/job.h src/core/job.h -index c23a380..0500e12 100644 ---- src/core/job.h -+++ 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 src/core/unit.c src/core/unit.c -index 50db86c..81d2162 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1239,8 +1239,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.", --- -1.7.9.2 - diff --git a/0145-logind-use-correct-who-enum-values-with-KillUnit.patch b/0145-logind-use-correct-who-enum-values-with-KillUnit.patch deleted file mode 100644 index f8fff2d2..00000000 --- a/0145-logind-use-correct-who-enum-values-with-KillUnit.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 524147c1ef991edf4432aac51c880b363b4402df Mon Sep 17 00:00:00 2001 -From: Marius Vollmer -Date: Thu, 31 Oct 2013 15:55:07 +0200 -Subject: [PATCH] logind: use correct "who" enum values with KillUnit. - ---- - src/login/logind-dbus.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index bb85c7d..583d62e 100644 ---- a/src/login/logind-dbus.c -+++ b/src/login/logind-dbus.c -@@ -2799,7 +2799,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo - assert(manager); - assert(unit); - -- w = who == KILL_LEADER ? "process" : "cgroup"; -+ w = who == KILL_LEADER ? "control" : "all"; - assert_cc(sizeof(signo) == sizeof(int32_t)); - - r = bus_method_call_with_reply( -@@ -2815,7 +2815,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo - DBUS_TYPE_INT32, &signo, - DBUS_TYPE_INVALID); - if (r < 0) { -- log_error("Failed to stop unit %s: %s", unit, bus_error(error, r)); -+ log_error("Failed to kill unit %s: %s", unit, bus_error(error, r)); - return r; - } - diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index 4f91c928..1cbbda78 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -1,75 +1,63 @@ From: Robert Milasan -Date: Thu, 28 Mar 2013 09:24:43 +0000 +Cc: Werner Fink Subject: udev always rename network -udev: ensure that the network interfaces are renamed even if they exist -(bnc#809843). ---- - src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 43 insertions(+), 3 deletions(-) +Date: Thu, 28 Mar 2013 09:24:43 +0000 +udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). ---- systemd-206.orig/src/udev/udev-event.c -+++ systemd-206/src/udev/udev-event.c -@@ -750,6 +750,7 @@ static int rename_netif(struct udev_even - struct udev_device *dev = event->dev; - int sk; - struct ifreq ifr; -+ int loop; - int err; +Date: Tue, 4 Mar 2014 10:29:21 +0000 +Port the patch of Robert to systemd v210 and test it out. + +--- + udev-event.c | 40 ++++++++++++++++++++++++++++++++++++---- + 1 file changed, 36 insertions(+), 4 deletions(-) + +--- systemd-210/src/udev/udev-event.c ++++ systemd-210/src/udev/udev-event.c 2014-03-04 11:19:50.583710411 +0100 +@@ -765,10 +765,42 @@ static int rename_netif(struct udev_even + return r; - log_debug("changing net interface name from '%s' to '%s'\n", -@@ -766,12 +767,51 @@ static int rename_netif(struct udev_even - strscpy(ifr.ifr_name, IFNAMSIZ, udev_device_get_sysname(dev)); - strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); - err = ioctl(sk, SIOCSIFNAME, &ifr); -- if (err >= 0) { -+ if (err == 0) { - print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); -- } else { -+ goto out; -+ } + r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); +- if (r < 0) +- log_error("error changing net interface name %s to %s: %s", +- oldname, name, strerror(-r)); +- else ++ if (r < 0) { ++ char interim[IFNAMSIZ], *ptr = &interim[0]; ++ int loop = 90; + -+ /* keep trying if the destination interface name already exists */ -+ err = -errno; -+ if (err != -EEXIST) { -+ goto out; -+ } ++ /* keep trying if the destination interface name already exists */ ++ if (r != -EEXIST) { ++ log_error("error changing net interface name %s to %s: %s", ++ oldname, name, strerror(-r)); ++ return r; ++ } + -+ /* free our own name, another process may wait for us */ -+ snprintf(ifr.ifr_newname, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); -+ err = ioctl(sk, SIOCSIFNAME, &ifr); -+ if (err < 0) { - err = -errno; -- log_error("error changing net interface name %s to %s: %m\n", ifr.ifr_name, ifr.ifr_newname); -+ goto out; - } ++ /* free our own name, another process may wait for us */ ++ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); + -+ /* log temporary name */ -+ print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); ++ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim); ++ if (r < 0) { ++ log_error("error changing net interface name %s to %s: %s", ++ oldname, name, strerror(-r)); ++ return r; ++ } + -+ /* wait a maximum of 90 seconds for our target to become available */ -+ strscpy(ifr.ifr_name, IFNAMSIZ, ifr.ifr_newname); -+ strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); -+ loop = 90 * 20; -+ while (loop--) { -+ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; -+ -+ log_debug("wait for netif '%s' to become free, loop=%i\n", event->name, (90 * 20) - loop); -+ nanosleep(&duration, NULL); -+ -+ err = ioctl(sk, SIOCSIFNAME, &ifr); -+ if (err == 0) { -+ print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); -+ break; -+ } -+ err = -errno; -+ if (err != -EEXIST) -+ break; -+ } -+ -+out: -+ if (err < 0) -+ log_error("error changing net interface name %s to %s: %m\n", ifr.ifr_name, ifr.ifr_newname); - close(sk); - return err; - } ++ /* log temporary name */ ++ print_kmsg("renamed network interface %s to %s", oldname, interim); ++ do { ++ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); ++ if (r == 0) { ++ print_kmsg("renamed network interface %s to %s", oldname, name); ++ return r; ++ } ++ if (r != -EEXIST) { ++ log_error("error changing net interface name %s to %s: %s", ++ oldname, name, strerror(-r)); ++ return r; ++ } ++ } while (loop-- > 0); ++ } else + print_kmsg("renamed network interface %s to %s", oldname, name); + + return r; diff --git a/1011-check-4-valid-kmsg-device.patch b/1011-check-4-valid-kmsg-device.patch deleted file mode 100644 index 6d57c357..00000000 --- a/1011-check-4-valid-kmsg-device.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Werner Fink -Date: Thu, 21 Nov 2013 11:50:32 +0000 -Subject: [PATCH] Avoid busy systemd-journald - -Avoid a busy systemd-journald due polling a broken /dec/kmsg in lxc -environments. - ---- - journald-kmsg.c | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -Index: systemd-208/src/journal/journald-kmsg.c -=================================================================== ---- systemd-208/src/journal/journald-kmsg.c -+++ systemd-208/src/journal/journald-kmsg.c 2013-12-20 11:34:39.762236175 +0000 -@@ -377,15 +377,18 @@ int server_flush_dev_kmsg(Server *s) { - - int server_open_dev_kmsg(Server *s) { - struct epoll_event ev; -+ int r; - - assert(s); - - s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); - if (s->dev_kmsg_fd < 0) { -- log_warning("Failed to open /dev/kmsg, ignoring: %m"); -+ log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, -+ "Failed to open /dev/kmsg, ignoring: %m"); - return 0; - } - -+ r = 0; - zero(ev); - ev.events = EPOLLIN; - ev.data.fd = s->dev_kmsg_fd; -@@ -394,15 +397,24 @@ int server_open_dev_kmsg(Server *s) { - /* This will fail with EPERM on older kernels where - * /dev/kmsg is not readable. */ - if (errno == EPERM) -- return 0; -+ goto fail; - - log_error("Failed to add /dev/kmsg fd to epoll object: %m"); -- return -errno; -+ r = -errno; -+ goto fail; - } - - s->dev_kmsg_readable = true; - - return 0; -+ -+fail: -+ if (s->dev_kmsg_fd >= 0) { -+ close_nointr_nofail(s->dev_kmsg_fd); -+ s->dev_kmsg_fd = -1; -+ } -+ -+ return r; - } - - int server_open_kernel_seqnum(Server *s) { diff --git a/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch deleted file mode 100644 index bdf9383b..00000000 --- a/1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ /dev/null @@ -1,168 +0,0 @@ -Based on upstream baae0358f349870544884e405e82e4be7d8add9f -| From: Lennart Poettering -| Date: Tue, 26 Nov 2013 04:05:00 +0000 -| Subject: pam_systemd: do not set XDG_RUNTIME_DIR if the session's original user is not the same as the newly logged in one -| It's better not to set any XDG_RUNTIME_DIR at all rather than one of a -| different user. So let's do this. ---- systemd-208/src/login/logind-dbus.c -+++ systemd-208/src/login/logind-dbus.c 2013-11-26 13:37:05.730735774 +0000 -@@ -523,6 +523,7 @@ static int bus_manager_create_session(Ma - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_STRING, &session->user->runtime_path, - DBUS_TYPE_UNIX_FD, &fifo_fd, -+ DBUS_TYPE_UINT32, &session->user->uid, - DBUS_TYPE_STRING, &cseat, - DBUS_TYPE_UINT32, &vtnr, - DBUS_TYPE_BOOLEAN, &exists, ---- systemd-208/src/login/logind-session-dbus.c -+++ systemd-208/src/login/logind-session-dbus.c 2013-11-26 13:36:07.478236401 +0000 -@@ -755,6 +755,7 @@ int session_send_create_reply(Session *s - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_STRING, &s->user->runtime_path, - DBUS_TYPE_UNIX_FD, &fifo_fd, -+ DBUS_TYPE_UINT32, &s->user->uid, - DBUS_TYPE_STRING, &cseat, - DBUS_TYPE_UINT32, &vtnr, - DBUS_TYPE_BOOLEAN, &exists, ---- systemd-208/src/login/pam-module.c -+++ systemd-208/src/login/pam-module.c 2013-11-26 14:32:20.194235777 +0000 -@@ -93,24 +93,18 @@ static int get_user_data( - assert(ret_username); - assert(ret_pw); - -- r = audit_loginuid_from_pid(0, &uid); -- if (r >= 0) -- pw = pam_modutil_getpwuid(handle, uid); -- else { -- r = pam_get_user(handle, &username, NULL); -- if (r != PAM_SUCCESS) { -- pam_syslog(handle, LOG_ERR, "Failed to get user name."); -- return r; -- } -- -- if (isempty(username)) { -- pam_syslog(handle, LOG_ERR, "User name not valid."); -- return PAM_AUTH_ERR; -- } -+ r = pam_get_user(handle, &username, NULL); -+ if (r != PAM_SUCCESS) { -+ pam_syslog(handle, LOG_ERR, "Failed to get user name."); -+ return r; -+ } - -- pw = pam_modutil_getpwnam(handle, username); -+ if (isempty(username)) { -+ pam_syslog(handle, LOG_ERR, "User name not valid."); -+ return PAM_AUTH_ERR; - } - -+ pw = pam_modutil_getpwnam(handle, username); - if (!pw) { - pam_syslog(handle, LOG_ERR, "Failed to get user data."); - return PAM_USER_UNKNOWN; -@@ -123,16 +117,14 @@ static int get_user_data( - } - - static int get_seat_from_display(const char *display, const char **seat, uint32_t *vtnr) { -- _cleanup_free_ char *p = NULL; -- int r; -- _cleanup_close_ int fd = -1; - union sockaddr_union sa = { - .un.sun_family = AF_UNIX, - }; -+ _cleanup_free_ char *p = NULL, *tty = NULL; -+ _cleanup_close_ int fd = -1; - struct ucred ucred; - socklen_t l; -- _cleanup_free_ char *tty = NULL; -- int v; -+ int v, r; - - assert(display); - assert(vtnr); -@@ -194,13 +186,12 @@ _public_ PAM_EXTERN int pam_sm_open_sess - dbus_bool_t remote, existing; - int r; - uint32_t vtnr = 0; -+ uid_t original_uid; - - assert(handle); - - dbus_error_init(&error); - -- /* pam_syslog(handle, LOG_INFO, "pam-systemd initializing"); */ -- - /* Make this a NOP on non-logind systems */ - if (!logind_running()) - return PAM_SUCCESS; -@@ -213,6 +204,9 @@ _public_ PAM_EXTERN int pam_sm_open_sess - goto finish; - } - -+ if (debug) -+ pam_syslog(handle, LOG_INFO, "pam-systemd initializing"); -+ - r = get_user_data(handle, &username, &pw); - if (r != PAM_SUCCESS) - goto finish; -@@ -374,7 +368,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - if (debug) - pam_syslog(handle, LOG_DEBUG, "Asking logind to create session: " - "uid=%u pid=%u service=%s type=%s class=%s seat=%s vtnr=%u tty=%s display=%s remote=%s remote_user=%s remote_host=%s", -- uid, pid, service, type, class, seat, vtnr, tty, display, yes_no(remote), remote_user, remote_host); -+ pw->pw_uid, pid, -+ strempty(service), -+ type, class, -+ seat, vtnr, tty, display, -+ yes_no(remote), remote_user, remote_host); - - reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); - if (!reply) { -@@ -388,6 +386,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess - DBUS_TYPE_OBJECT_PATH, &object_path, - DBUS_TYPE_STRING, &runtime_path, - DBUS_TYPE_UNIX_FD, &session_fd, -+ DBUS_TYPE_UINT32, &original_uid, - DBUS_TYPE_STRING, &seat, - DBUS_TYPE_UINT32, &vtnr, - DBUS_TYPE_BOOLEAN, &existing, -@@ -399,8 +398,8 @@ _public_ PAM_EXTERN int pam_sm_open_sess - - if (debug) - pam_syslog(handle, LOG_DEBUG, "Reply from logind: " -- "id=%s object_path=%s runtime_path=%s session_fd=%d seat=%s vtnr=%u", -- id, object_path, runtime_path, session_fd, seat, vtnr); -+ "id=%s object_path=%s runtime_path=%s session_fd=%d seat=%s vtnr=%u original_uid=%u", -+ id, object_path, runtime_path, session_fd, seat, vtnr, original_uid); - - r = pam_misc_setenv(handle, "XDG_SESSION_ID", id, 0); - if (r != PAM_SUCCESS) { -@@ -408,10 +407,24 @@ _public_ PAM_EXTERN int pam_sm_open_sess - goto finish; - } - -- r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", runtime_path, 0); -- if (r != PAM_SUCCESS) { -- pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); -- goto finish; -+ if (original_uid == pw->pw_uid) { -+ /* Don't set $XDG_RUNTIME_DIR if the user we now -+ * authenticated for does not match the original user -+ * of the session. We do this in order not to result -+ * in privileged apps clobbering the runtime directory -+ * unnecessarily. */ -+ -+ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", runtime_path, 0); -+ if (r != PAM_SUCCESS) { -+ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); -+ goto finish; -+ } -+ } else if (getenv("XDG_RUNTIME_DIR")) { -+ r = pam_putenv(handle, "XDG_RUNTIME_DIR"); -+ if (r != PAM_SUCCESS && r != PAM_BAD_ITEM) { -+ pam_syslog(handle, LOG_ERR, "Failed to unset runtime dir."); -+ } -+ (void) unsetenv("XDG_RUNTIME_DIR"); - } - - if (!isempty(seat)) { diff --git a/1017-skip-native-unit-handling-if-sysv-already-handled.patch b/1017-skip-native-unit-handling-if-sysv-already-handled.patch deleted file mode 100644 index 9390c42a..00000000 --- a/1017-skip-native-unit-handling-if-sysv-already-handled.patch +++ /dev/null @@ -1,20 +0,0 @@ -For bnc#818044 -Based on http://cgit.freedesktop.org/systemd/systemd/patch/?id=67d6621059085963a2a908a3ea99ced3b0ca789e ---- - systemctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- systemd-208/src/systemctl/systemctl.c -+++ systemd-208/src/systemctl/systemctl.c 2014-01-21 13:00:52.910736187 +0000 -@@ -4453,6 +4453,11 @@ static int enable_unit(DBusConnection *b - if (r < 0) - return r; - -+ /* If the operation was fully executed by the SysV compat, -+ * let's finish early */ -+ if (strv_isempty(mangled_names)) -+ return 0; -+ - if (!bus || avoid_bus()) { - if (streq(verb, "enable")) { - r = unit_file_enable(arg_scope, arg_runtime, arg_root, mangled_names, arg_force, &changes, &n_changes); diff --git a/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch index 81a26925..a98660ec 100644 --- a/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch +++ b/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch @@ -1,5 +1,19 @@ +Should solve the problems of + + bug #858864 - LSB "+" dependencies aren't handled properly + bug #857204 - inssrv fails to enable rpcbind + The side effect is that RequiresOverridable= is used for the services + add behind Required-Start + bug #863217 - systemd overrides explicit admin request to disable a service + That is that in this version the Wants= for all services behind + Should-Start, X-Start-Before, and X-Stop-After is not used anymore + +--- + service.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + --- systemd-208/src/core/service.c -+++ systemd-208/src/core/service.c 2014-01-17 12:15:52.527311588 +0000 ++++ systemd-208/src/core/service.c 2014-02-21 14:44:59.066735478 +0000 @@ -380,6 +380,8 @@ static int sysv_translate_facility(const "remote_fs", SPECIAL_REMOTE_FS_TARGET, "syslog", NULL, @@ -28,11 +42,11 @@ state = LSB; + d = startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER; -+ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : UNIT_WANTS; ++ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : _UNIT_DEPENDENCY_INVALID; FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { char *n, *m; -@@ -838,12 +843,15 @@ static int service_load_sysv_path(Servic +@@ -838,12 +843,18 @@ static int service_load_sysv_path(Servic continue; } @@ -45,7 +59,10 @@ continue; - r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true); -+ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); ++ if (e != _UNIT_DEPENDENCY_INVALID) ++ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); ++ else ++ r = unit_add_dependency_by_name(u, d, m, NULL, true); if (r < 0) log_error_unit(u->id, "[%s:%u] Failed to add dependency on %s, ignoring: %s", diff --git a/1019-make-completion-smart-to-be-able-to-redirect.patch b/1019-make-completion-smart-to-be-able-to-redirect.patch index d1425d83..90ca8edc 100644 --- a/1019-make-completion-smart-to-be-able-to-redirect.patch +++ b/1019-make-completion-smart-to-be-able-to-redirect.patch @@ -136,7 +136,7 @@ + _init_completion || return - for ((i=0; $i <= $COMP_CWORD; i++)); do + for ((i=0; i < COMP_CWORD; i++)); do @@ -83,4 +87,4 @@ _systemd_analyze() { return 0 } @@ -225,7 +225,7 @@ + return 0 + fi + - for ((i=0; i <= COMP_CWORD; i++)); do + for ((i=0; i < COMP_CWORD; i++)); do if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" && ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then @@ -94,4 +98,4 @@ _udevadm() { diff --git a/1022-systemd-tmpfiles-ownerkeep.patch b/1022-systemd-tmpfiles-ownerkeep.patch new file mode 100644 index 00000000..c7f3589b --- /dev/null +++ b/1022-systemd-tmpfiles-ownerkeep.patch @@ -0,0 +1,10 @@ +diff -Naur systemd-208/units/systemd-tmpfiles-clean.service.in systemd-208-mod/units/systemd-tmpfiles-clean.service.in +--- systemd-208/units/systemd-tmpfiles-clean.service.in 2013-08-13 20:02:52.826756410 +0000 ++++ systemd-208-mod/units/systemd-tmpfiles-clean.service.in 2014-02-21 13:34:56.456511025 +0000 +@@ -19,5 +19,6 @@ + + [Service] + Type=oneshot ++ExecStart=-@rootbindir@/systemd-tmpfiles-keep + ExecStart=@rootbindir@/systemd-tmpfiles --clean + IOSchedulingClass=idle diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 3b50d50b..0c06b4dc 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -37,13 +37,13 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) return r; } @@ -90,6 +90,8 @@ static int execute(char **modes, char ** - FILE *f; + _cleanup_fclose_ FILE *f = NULL; const char* note = strappenda("SLEEP=", arg_verb); + if (!delegate_to_pmutils) { + /* This file is opened first, so that if we hit an error, - * we can abort before modyfing any state. */ + * we can abort before modifying any state. */ f = fopen("/sys/power/state", "we"); @@ -102,6 +104,7 @@ static int execute(char **modes, char ** r = write_mode(modes); @@ -59,7 +59,7 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) NULL); - + if (!delegate_to_pmutils) - r = write_state(f, states); + r = write_state(&f, states); + else + r = -system(pmtools); if (r < 0) diff --git a/U_logind_revert_lazy_session_activation_on_non_vt_seats.patch b/U_logind_revert_lazy_session_activation_on_non_vt_seats.patch deleted file mode 100644 index fca524f5..00000000 --- a/U_logind_revert_lazy_session_activation_on_non_vt_seats.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3fdb2494c1e24c0a020f5b54022d2c751fd26f50 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 28 Nov 2013 09:52:18 +0000 -Subject: login: revert lazy session-activation on non-VT seats - -Existing applications like gdm already depend on new sessions to get -immediately activated on seats without VTs. Fixes a bug reported as: - [systemd-devel] systemd 208:trouble with inactive user sessions at non-seat0 seats - -This patch restores the original behavior. We either need to add a new -flag for session-creation or some other heuristic to avoid activating new -sessions in the future. ---- ---- a/src/login/logind-seat.c 2013-11-28 11:30:49.624623090 -0200 -+++ b/src/login/logind-seat.c 2013-11-28 11:31:46.668792391 -0200 -@@ -420,8 +420,8 @@ - seat_send_changed(s, "Sessions\0"); - - /* On seats with VTs, the VT logic defines which session is active. On -- * seats without VTs, we automatically activate the first session. */ -- if (!seat_has_vts(s) && !s->active) -+ * seats without VTs, we automatically activate new sessions. */ -+ if (!seat_has_vts(s)) - seat_set_active(s, session); - - return 0; diff --git a/analyze-fix-crash-in-command-line-parsing.patch b/analyze-fix-crash-in-command-line-parsing.patch deleted file mode 100644 index f76266ec..00000000 --- a/analyze-fix-crash-in-command-line-parsing.patch +++ /dev/null @@ -1,35 +0,0 @@ -From da6de8a55784115451582051c8da620056994a05 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 20 Jan 2014 11:05:22 +0100 -Subject: [PATCH] analyze: fix crash in command line parsing - -Ensure DBusError is set before it can possibly be freed on return. -Fix crash when calling set-log-level without any parameter. - -Fix https://bugzilla.novell.com/show_bug.cgi?id=859365 ---- - src/analyze/systemd-analyze.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c -index 27d063c..cdfae93 100644 ---- a/src/analyze/systemd-analyze.c -+++ b/src/analyze/systemd-analyze.c -@@ -1226,13 +1226,13 @@ static int set_log_level(DBusConnection *bus, char **args) { - assert(bus); - assert(args); - -+ dbus_error_init(&error); - if (strv_length(args) != 1) { - log_error("This command expects one argument only."); - return -E2BIG; - } - - value = args[0]; -- dbus_error_init(&error); - - m = dbus_message_new_method_call("org.freedesktop.systemd1", - "/org/freedesktop/systemd1", --- -1.8.4 - diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index 7b5e3624..f17d6ede 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -4,34 +4,26 @@ Subject: apply ACL for nvidia device nodes set ACL on nvidia devices (bnc#808319). --- - src/login/logind-acl.c | 3 +++ - 1 file changed, 3 insertions(+) + logind-acl.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) - -Index: systemd-208/src/login/logind-acl.c -=================================================================== ---- systemd-208.orig/src/login/logind-acl.c -+++ systemd-208/src/login/logind-acl.c -@@ -287,6 +287,22 @@ int devnode_acl_all(struct udev *udev, - r = devnode_acl(n, flush, del, old_uid, add, new_uid); +--- systemd-209/src/login/logind-acl.c ++++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +@@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, + r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ -+ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { ++ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { + int i; -+ char *devname; -+ + for (i = 0; i <= 256 ; i++) { ++ _cleanup_free_ char *devname = NULL; + if (asprintf(&devname, "/dev/nvidia%d", i) < 0) + break; -+ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) { -+ free(devname); ++ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; -+ } -+ free(devname); + } + } + - finish: - udev_enumerate_unref(e); - set_free_free(nodes); + return r; + } diff --git a/build-sys-make-multi-seat-x-optional.patch b/build-sys-make-multi-seat-x-optional.patch deleted file mode 100644 index c86042c6..00000000 --- a/build-sys-make-multi-seat-x-optional.patch +++ /dev/null @@ -1,60 +0,0 @@ -From bd441fa27a22b7c6e11d9330560e0622fb69f297 Mon Sep 17 00:00:00 2001 -From: Zbigniew Jędrzejewski-Szmek -Date: Thu, 28 Nov 2013 17:07:29 +0000 -Subject: build-sys: make multi-seat-x optional - -At some point it should become disabled by default. - -http://lists.freedesktop.org/archives/systemd-devel/2013-November/014869.html ---- -diff --git a/Makefile.am b/Makefile.am -index 90874df..3598edd 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -4141,6 +4141,8 @@ MULTI_USER_TARGET_WANTS += \ - SYSTEM_UNIT_ALIASES += \ - systemd-logind.service dbus-org.freedesktop.login1.service - -+if ENABLE_MULTI_SEAT_X -+ - systemd_multi_seat_x_SOURCES = \ - src/login/multi-seat-x.c - -@@ -4151,6 +4153,8 @@ systemd_multi_seat_x_LDADD = \ - rootlibexec_PROGRAMS += \ - systemd-multi-seat-x - -+endif -+ - dist_udevrules_DATA += \ - src/login/70-uaccess.rules \ - src/login/70-power-switch.rules -diff --git a/configure.ac b/configure.ac -index f1b00c5..ab24266 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -794,6 +794,14 @@ fi - AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"]) - - # ------------------------------------------------------------------------------ -+have_multi_seat_x=no -+AC_ARG_ENABLE(multi_seat_x, AS_HELP_STRING([--disable-multi-seat-x], [do not build multi-seat-x])) -+if test "x$enable_multi_seat_x" != "xno"; then -+ have_multi_seat_x=yes -+fi -+AM_CONDITIONAL(ENABLE_MULTI_SEAT_X, [test "$have_multi_seat_x" = "yes"]) -+ -+# ------------------------------------------------------------------------------ - AC_ARG_WITH(rc-local-script-path-start, - AS_HELP_STRING([--with-rc-local-script-path-start=PATH], - [Path to /etc/rc.local]), -@@ -1077,6 +1085,7 @@ AC_MSG_RESULT([ - nss-myhostname: ${have_myhostname} - gudev: ${enable_gudev} - gintrospection: ${enable_introspection} -+ multi-seat-x: ${have_multi_seat_x} - Python: ${have_python} - Python Headers: ${have_python_devel} - man pages: ${have_manpages} --- -cgit v0.9.0.2-2-gbebe diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index b9ec5122..1bde222f 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -21,14 +21,25 @@ Index: systemd-208/src/cryptsetup/cryptsetup-generator.c Index: systemd-208/units/systemd-fsck@.service.in =================================================================== ---- systemd-208.orig/units/systemd-fsck@.service.in -+++ systemd-208/units/systemd-fsck@.service.in -@@ -10,7 +10,7 @@ Description=File System Check on %f +--- systemd-280.orig/units/systemd-fsck@.service.in ++++ systemd-280/units/systemd-fsck@.service.in +@@ -10,7 +10,7 @@ Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no BindsTo=%i.device --After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device md.service dmraid.service +-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service md.service dmraid.service Before=shutdown.target [Service] +--- systemd-280.orig/units/systemd-fsck-root.service.in ++++ systemd-280/units/systemd-fsck-root.service.in +@@ -9,7 +9,7 @@ + Description=File System Check on Root Device + Documentation=man:systemd-fsck-root.service(8) + DefaultDependencies=no +-After=systemd-readahead-collect.service systemd-readahead-replay.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service md.service dmraid.service + Before=local-fs.target shutdown.target + + ConditionPathIsReadWrite=!/ diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch index fb6145ca..954c60ca 100644 --- a/fix-owner-of-var-log-btmp.patch +++ b/fix-owner-of-var-log-btmp.patch @@ -10,7 +10,7 @@ ensure btmp is owned only by root (bnc#777405). --- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf +++ systemd-206_git201308300826/tmpfiles.d/systemd.conf @@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d - F /run/utmp 0664 root utmp - + F! /run/utmp 0664 root utmp - f /var/log/wtmp 0664 root utmp - -f /var/log/btmp 0600 root utmp - diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index 577f2685..c7fa0726 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -38,5 +38,5 @@ Index: systemd-208/src/systemctl/systemctl.c + } + r = parse_argv(argc, argv); - if (r < 0) + if (r <= 0) goto finish; diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch index cdcb932e..57a74f0d 100644 --- a/handle-etc-HOSTNAME.patch +++ b/handle-etc-HOSTNAME.patch @@ -4,11 +4,11 @@ Subject: handle /etc/HOSTNAME (bnc#803653) --- - src/core/hostname-setup.c | 22 +++++++++++++++++----- - src/hostname/hostnamed.c | 12 +++++++++++- + src/core/hostname-setup.c | 22 +++++++++++++++++----- + src/hostname/hostnamed.c | 12 +++++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) ---- systemd-206.orig/src/core/hostname-setup.c +--- systemd-206/src/core/hostname-setup.c +++ systemd-206/src/core/hostname-setup.c @@ -61,12 +61,24 @@ int hostname_setup(void) { @@ -40,38 +40,38 @@ Subject: handle /etc/HOSTNAME } else hn = b; ---- systemd-206.orig/src/hostname/hostnamed.c -+++ systemd-206/src/hostname/hostnamed.c -@@ -129,6 +129,10 @@ static int read_data(void) { +--- systemd-209/src/hostname/hostnamed.c ++++ systemd-209/src/hostname/hostnamed.c 2014-02-28 11:36:30.594735241 +0000 +@@ -89,6 +89,10 @@ static int context_read_data(Context *c) if (r < 0 && r != -ENOENT) return r; -+ r = read_one_line_file("/etc/HOSTNAME", &data[PROP_STATIC_HOSTNAME]); ++ r = read_one_line_file("/etc/HOSTNAME", &c->data[PROP_STATIC_HOSTNAME]); + if (r < 0 && r != -ENOENT) + return r; + return 0; } -@@ -283,6 +287,7 @@ static int write_data_hostname(void) { - - static int write_data_static_hostname(void) { +@@ -246,6 +250,7 @@ static int context_write_data_hostname(C + } + static int context_write_data_static_hostname(Context *c) { + int r; - if (isempty(data[PROP_STATIC_HOSTNAME])) { - if (unlink("/etc/hostname") < 0) -@@ -290,7 +295,12 @@ static int write_data_static_hostname(vo + assert(c); + +@@ -256,7 +261,12 @@ static int context_write_data_static_hos return 0; } -- return write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]); +- return write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); + -+ r = write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ r = write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); + if (!r) { + r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); + } + return r; } - static int write_data_other(void) { + static int context_write_data_other(Context *c) { diff --git a/insserv-generator.patch b/insserv-generator.patch index 3e0deb79..f1a2452f 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -18,14 +18,14 @@ Index: systemd-208/Makefile.am --- systemd-208.orig/Makefile.am +++ systemd-208/Makefile.am @@ -322,6 +322,7 @@ rootlibexec_PROGRAMS = \ - systemd-sleep + systemd-socket-proxyd systemgenerator_PROGRAMS = \ + systemd-insserv-generator \ systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator -@@ -1682,6 +1683,14 @@ systemd_delta_LDADD = \ +@@ -1658,6 +1659,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ @@ -241,7 +241,7 @@ Index: systemd-208/src/insserv-generator/insserv-generator.c + if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { + _cleanup_free_ char *unit = NULL; + /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",path_get_file_name(filename),".conf", NULL); ++ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); + if (!unit) + return log_oom(); + @@ -274,7 +274,7 @@ Index: systemd-208/src/insserv-generator/insserv-generator.c + if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) + continue; + -+ unit = strjoin(arg_dest, "/", dep, ".d/50-",path_get_file_name(filename),"-",parsed[0],".conf", NULL); ++ unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); + if (!unit) + return log_oom(); + @@ -305,7 +305,7 @@ Index: systemd-208/src/insserv-generator/insserv-generator.c + + if (*j[0] != '+') { + free (unit); -+ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",path_get_file_name(filename),"-",parsed[0],".conf", NULL); ++ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); + if (!unit) + return log_oom(); + diff --git a/systemd-208.tar.xz b/systemd-208.tar.xz deleted file mode 100644 index 12a73a83..00000000 --- a/systemd-208.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390 -size 2382904 diff --git a/systemd-210.tar.xz b/systemd-210.tar.xz new file mode 100644 index 00000000..dd2041d8 --- /dev/null +++ b/systemd-210.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b3ddf9bf82f05cc3079650e86ae05b558381fd034cf1b03a592bcadd1610c4 +size 2620924 diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch deleted file mode 100644 index 3d252dc1..00000000 --- a/systemd-dbus-system-bus-address.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- systemd-207.orig/src/core/dbus.c -+++ systemd-207/src/core/dbus.c -@@ -50,7 +50,7 @@ - #define CONNECTIONS_MAX 512 - - /* Well-known address (http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types) */ --#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/run/dbus/system_bus_socket" - /* Only used as a fallback */ - #define DBUS_SESSION_BUS_DEFAULT_ADDRESS "autolaunch:" - diff --git a/systemd-install-compat_pkgconfig-always.patch b/systemd-install-compat_pkgconfig-always.patch new file mode 100644 index 00000000..c378af51 --- /dev/null +++ b/systemd-install-compat_pkgconfig-always.patch @@ -0,0 +1,28 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -4560,12 +4560,6 @@ lib_LTLIBRARIES += \ + libsystemd-id128.la \ + libsystemd-daemon.la + +-pkgconfiglib_DATA += \ +- src/compat-libs/libsystemd-journal.pc \ +- src/compat-libs/libsystemd-login.pc \ +- src/compat-libs/libsystemd-id128.pc \ +- src/compat-libs/libsystemd-daemon.pc +- + # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed + compat-lib-install-hook: + libname=libsystemd-login.so && $(move-to-rootlibdir) +@@ -4583,6 +4577,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install + UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook + endif + ++pkgconfiglib_DATA += \ ++ src/compat-libs/libsystemd-journal.pc \ ++ src/compat-libs/libsystemd-login.pc \ ++ src/compat-libs/libsystemd-id128.pc \ ++ src/compat-libs/libsystemd-daemon.pc ++ + EXTRA_DIST += \ + src/compat-libs/libsystemd-journal.pc.in \ + src/compat-libs/libsystemd-login.pc.in \ diff --git a/systemd-mini.changes b/systemd-mini.changes index d9e7abdd..4ef46a16 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,490 @@ +------------------------------------------------------------------- +Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de + +- Add or port upstream bugfix patches: + 0001-Fix-systemd-stdio-bridge-symlink.patch + 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch + 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch + 0004-man-document-missing-options-of-systemd-run.patch + 0005-systemd-run-add-some-extra-safety-checks.patch + 0006-journal-assume-that-next-entry-is-after-previous-ent.patch + 0007-journal-forget-file-after-encountering-an-error.patch + 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch + 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch + 0010-man-update-link-to-LSB.patch + 0011-man-systemd-bootchart-fix-spacing-in-command.patch + 0012-man-add-missing-comma.patch + 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch + +------------------------------------------------------------------- +Fri Mar 7 08:00:31 UTC 2014 - werner@suse.de + +- Add linker scripts as place holder of the old systemd shared + libraries now all included in libsystemd.so (bnc#867128) + +------------------------------------------------------------------- +Tue Mar 4 10:37:02 UTC 2014 - werner@suse.de + +- Make patch 1006-udev-always-rename-network.patch work again + and add it again. + +------------------------------------------------------------------- +Mon Mar 3 15:23:57 UTC 2014 - thomas.blume@suse.com + +- address missing owner functionality in systemd-tmpfiles (fate#314974) + 1022-systemd-tmpfiles-ownerkeep.patch + +------------------------------------------------------------------- +Mon Mar 3 14:49:48 UTC 2014 - werner@suse.de + +- Generate the bash completion files on the fly for the case of + not having the package bash-completion around +- Add or port upstream bugfix patches: + 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + 0002-cdrom_id-use-the-old-MMC-fallback.patch + 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch + 0004-logs-show-fix-corrupt-output-with-empty-messages.patch + 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + 0008-README-document-that-var-run-must-be-a-symlink-run.patch + 0010-Replace-var-run-with-run-in-remaining-places.patch + 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch + 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch + 0014-login-fix-pos-array-allocation.patch + +------------------------------------------------------------------- +Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de + +- Update to Release v210 + + systemd will now relabel /dev after loading the SMACK policy + according to SMACK rules. + + A new unit file option AppArmoreProfile= has been added to + set the AppArmor profile for the processes of a unit. + + A new condition check ConditionArchitecture= has been added + to conditionalize units based on the system architecture, as + reported by uname()'s "machine" field. + + systemd-networkd now supports matching on the system + virtualization, architecture, kernel command line, host name + and machine ID. + + logind is now a lot more aggressive when suspending the + machine due to a closed laptop lid. + + logind will now watch SW_DOCK switches and inhibit reaction + to the lid switch if it is pressed. + + nspawn will now make use of the devices cgroup controller by + default, and only permit creation of and access to the usual + API device nodes like /dev/null or /dev/random, as well as + access to (but not creation of) the pty devices. + + systemd will now understand the usual M, K, G, T suffixes + according to SI conventions (i.e. to the base 1000) when + referring to throughput and hardware metrics. + + The DeviceAllow= setting in unit files now supports a syntax + to whitelist an entire group of devices node majors at once, + based on the /proc/devices listing. For example, with the + string "char-pts" it is now possible to whitelist all + current and future pseudo-TTYs at once. + + sd-event learned a new "post" event source. Event sources of + this type are triggered by the dispatching of any event + source of a type that is not "post". This is useful for + implementing clean-up and check event sources that are + triggered by other work being done in the program. + + The compatibility libraries for libsystemd-journal.so, + libsystem-id128.so, libsystemd-login.so and + libsystemd-daemon.so do not make use of IFUNC + anymore. +- Dropped systemd patches as those are fixed upstream: + * 0001-units-serial-getty-.service-add-Install-section.patch + * 0001-shared-architecture.h-fix-preprocessor-directives.patch + * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch + * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patchc + * 0001-make-tests-with-libseccomp-work.patch + * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch + * 0001-units-serial-getty-.service-add-Install-section.patch +- Dropped patches as those do not work anymore + * 1006-udev-always-rename-network.patch +- Renamed systemd patches as seen from git log: + * 0001-cdrom_id-use-the-old-MMC-fallback.patch + become 0002-cdrom_id-use-the-old-MMC-fallback.patch + * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch + * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch +- Add several upstream bugfix patches which are missed: + * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch + * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch + * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch + * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch + * 0001-shared-architecture.h-fix-preprocessor-directives.patch + * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + * 0008-README-document-that-var-run-must-be-a-symlink-run.patch + * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch + * 0010-Replace-var-run-with-run-in-remaining-places.patch + * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch + * 0014-login-fix-pos-array-allocation.patch +- Modified patches to make is build + * 0001-add-network-device-after-NFS-mount-units.patch +- Reenable libseccomp for the architecture for which libseccomp exists + +------------------------------------------------------------------- +Sun Mar 2 15:51:24 CET 2014 - ro@suse.de + +- always install compat pkgconfig files, regardless if + compat libs is enabled or not + +------------------------------------------------------------------- +Sun Mar 2 14:47:23 CET 2014 - ro@suse.de + +- disable use of libseccomp for sle12, library has not been ported + to most architectures +- do not use binutils-gold on s390/s390x, does not exist there +- fix exclude statements for bootstrap case + +------------------------------------------------------------------- +Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de + +- Add upstream patches + + 0001-cdrom_id-use-the-old-MMC-fallback.patch + + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + +------------------------------------------------------------------- +Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de + +- Add patch + 0001-systemd-empty-sigmask-on-reexec.patch + which corrects sigmaks for reexec in initrd (bnc#864904) + +------------------------------------------------------------------- +Fri Feb 28 17:38:06 UTC 2014 - werner@suse.de + +- Add patch + 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + to avoid error on not existing file /proc/self/loginuid + +------------------------------------------------------------------- +Fri Feb 28 17:15:38 UTC 2014 - werner@suse.de + +- Make patch + 0001-make-209-working-on-older-dist.patch + more smart that is make configure script les restrictive +- Make patch + apply-ACL-for-nvidia-device-nodes.patch + apply to v209 + +------------------------------------------------------------------- +Fri Feb 28 16:59:25 UTC 2014 - werner@suse.de + +- Update to Release v209 on the base of the work of Stefan Brüns + from declined submit request 223602: + + A new tool "systemd-socket-proxyd" has been added + + Add a new tool to save/restore rfkill state on + shutdown/boot. + + Save/restore state of keyboard backlights in addition to + display backlights on shutdown/boot. + + udev learned a new SECLABEL{} construct to label device + nodes with a specific security label when they appear. For + now, only SECLABEL{selinux} is supported, but the syntax is + prepared for additional security frameworks. + + When the User= switch is used in a unit file, also + initialize $SHELL= based on the user database entry. + + systemd no longer depends on libdbus. All communication is + now done with sd-bus, systemd's low-level bus library + implementation. + + sd-bus: add a light-weight vtable implementation that allows + defining objects on the bus with a simple static const + vtable array of its methods, signals and properties. + + systemd will not generate or install static dbus + introspection data anymore to /usr/share/dbus-1/interfaces, + as the precise format of these files is unclear, and + nothing makes use of it. + + A proxy daemon is now provided to proxy clients connecting + via classic D-Bus AF_UNIX sockets to kdbus, to provide full + compatibility with classic D-Bus. + + A bus driver implementation has been added that supports the + classic D-Bus bus driver calls on kdbus, also for + compatibility purposes. + + A new API "sd-event.h" has been added that implements a + minimal event loop API built around epoll. + + A new API "sd-rntl.h" has been added that provides an API + around the route netlink interface of the kernel, similar in + style to "sd-bus.h". + + A new API "sd-dhcp-client.h" has been added that provides a + small DHCPv4 client-side implementation. This is used by + "systemd-networkd". + + There is a new kernel command line option + "systemd.restore_state=0|1". When set to "0", none of the + systemd tools will restore saved runtime state to hardware + devices. More specifically, the rfkill and backlight states + are not restored. + + The FsckPassNo= compatibility option in mount/service units + has been removed. The fstab generator will now add the + necessary dependencies automatically, and does not require + PID1's support for that anymore. + + journalctl gained a new switch, --list-boots, that lists + recent boots with their times and boot IDs. + + The various tools like systemctl, loginctl, timedatectl, + busctl, systemd-run, ... have gained a new switch "-M" to + connect to a specific, local OS container (as direct + connection, without requiring SSH). + + systemd-run and systemd-analyze also gained support for "-H" + to connect to remote hosts via SSH. This is particularly + useful for systemd-run because it enables queuing of jobs + onto remote systems. + + machinectl gained a new command "login" to open a getty + login in any local container. This works with any container + that is registered with machined (such as those created by + libvirt-lxc or nspawn), and which runs systemd inside. + + machinectl gained a new "reboot" command that may be used to + trigger a reboot on a specific container that is registered + with machined. This works on any container that runs an init + system of some kind. + + systemctl gained a new "list-timers" command to print a nice + listing of installed timer units with the times they elapse + next. + + Alternative reboot() parameters may now be specified on the + "systemctl reboot" command line and are passed to the + reboot() system call. + + systemctl gained a new --job-mode= switch to configure the + mode to queue a job with. This is a more generic version of + --fail, --irreversible, and --ignore-dependencies, which are + still available but not advertised anymore. + + /etc/systemd/system.conf gained new settings to configure + various default timeouts of units, as well as the default + start limit interval and burst. These may still be overridden + within each Unit. + + PID1 will now export on the bus profile data of the security + policy upload process (such as the SELinux policy upload to + the kernel). + + journald: when forwarding logs to the console, include + timestamps (following the setting in + /sys/module/printk/parameters/time). + + OnCalendar= in timer units now understands the special + strings "yearly" and "annually". (Both are equivalent) + + The accuracy of timer units is now configurable with the new + AccuracySec= setting. It defaults to 1min. + + A new dependency type JoinsNamespaceOf= has been added that + allows running two services within the same /tmp and network + namespace, if PrivateNetwork= or PrivateTmp= are used. + + A new command "cat" has been added to systemctl. It outputs + the original unit file of a unit, and concatenates the + contents of additional "drop-in" unit file snippets, so that + the full configuration is shown. + + systemctl now supports globbing on the various "list-xyz" + commands, like "list-units" or "list-sockets", as well as on + those commands which take multiple unit names. + + journalctl's --unit= switch gained support for globbing. + + All systemd daemons now make use of the watchdog logic so + that systemd automatically notices when they hang. + + If the $container_ttys environment variable is set, + getty-generator will automatically spawn a getty for each + listed tty. This is useful for container managers to request + login gettys to be spawned on as many ttys as needed. + + %h, %s, %U specifier support is not available anymore when + used in unit files for PID 1. This is because NSS calls are + not safe from PID 1. They stay available for --user + instances of systemd, and as special case for the root user. + + loginctl gained a new "--no-legend" switch to turn off output + of the legend text. + + The "sd-login.h" API gained three new calls: + sd_session_is_remote(), sd_session_get_remote_user(), + sd_session_get_remote_host() to query information about + remote sessions. + + The udev hardware database now also carries vendor/product + information of SDIO devices. + + The "sd-daemon.h" API gained a new sd_watchdog_enabled() to + determine whether watchdog notifications are requested by + the system manager. + + Socket-activated per-connection services now include a + short description of the connection parameters in the + description. + + tmpfiles gained a new "--boot" option. When this is not used, + only lines where the command character is not suffixed with + "!" are executed. When this option is specified, those + options are executed too. + + systemctl gained a new "import-environment" command which + uploads the caller's environment (or parts thereof) into the + service manager so that it is inherited by services started + by the manager. This is useful to upload variables like + $DISPLAY into the user service manager. + + A new PrivateDevices= switch has been added to service units + which allows running a service with a namespaced /dev + directory that does not contain any device nodes for + physical devices. More specifically, it only includes devices + such as /dev/null, /dev/urandom, and /dev/zero which are API + entry points. + + logind has been extended to support behaviour like VT + switching on seats that do not support a VT. This makes + multi-session available on seats that are not the first seat + (seat0), and on systems where kernel support for VTs has + been disabled at compile-time. + + If a process holds a delay lock for system sleep or shutdown + and fails to release it in time, we will now log its + identity. This makes it easier to identify processes that + cause slow suspends or power-offs. + + When parsing /etc/crypttab, support for a new key-slot= + option as supported by Debian is added. It allows indicating + which LUKS slot to use on disk, speeding up key loading. + + The sd_journald_sendv() API call has been checked and + officially declared to be async-signal-safe so that it may + be invoked from signal handlers for logging purposes. + + Boot-time status output is now enabled automatically after a + short timeout if boot does not progress, in order to give + the user an indication what she or he is waiting for. + + The boot-time output has been improved to show how much time + remains until jobs expire. + + The KillMode= switch in service units gained a new possible + value "mixed". If set, and the unit is shut down, then the + initial SIGTERM signal is sent only to the main daemon + process, while the following SIGKILL signal is sent to + all remaining processes of the service. + + logind will now also track a "Desktop" identifier for each + session which encodes the desktop environment of it. This is + useful for desktop environments that want to identify + multiple running sessions of itself easily. + + A new SELinuxContext= setting for service units has been + added that allows setting a specific SELinux execution + context for a service. + + Most systemd client tools will now honour $SYSTEMD_LESS for + settings of the "less" pager. + + systemd's "seccomp" hook-up has been changed to make use of + the libseccomp library instead of using its own + implementation. This has benefits for portability among + other things. +- Dropped systemd patches as those are fixed upstream: + * 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch + * 0002-fix-lingering-references-to-var-lib-backlight-random.patch + * 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch + * 0004-systemctl-fix-name-mangling-for-sysv-units.patch + * 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch + * 0006-journald-add-missing-error-check.patch + * 0007-bus-fix-potentially-uninitialized-memory-access.patch + * 0008-dbus-fix-return-value-of-dispatch_rqueue.patch + * 0009-modules-load-fix-error-handling.patch + * 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch + * 0011-strv-don-t-access-potentially-NULL-string-arrays.patch + * 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch + * 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch + * 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch + * 0001-gpt-auto-generator-exit-immediately-if-in-container.patch + * 0001-manager-when-verifying-whether-clients-may-change-en.patch + * 0001-logind-fix-bus-introspection-data-for-TakeControl.patch + * 0001-mount-check-for-NULL-before-reading-pm-what.patch + * 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch + * 0001-systemd-serialize-deserialize-forbid_restart-value.patch + * 0001-core-unify-the-way-we-denote-serialization-attribute.patch + * 0001-journald-fix-minor-memory-leak.patch + * 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch + * 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch + * 0001-login-fix-invalid-free-in-sd_session_get_vt.patch + * 0001-login-make-sd_session_get_vt-actually-work.patch + * 0001-Never-call-qsort-on-potentially-NULL-arrays.patch + * 0001-dbus-common-avoid-leak-in-error-path.patch + * 0001-drop-ins-check-return-value.patch + * 0001-shared-util-Fix-glob_extend-argument.patch + * 0001-Fix-bad-assert-in-show_pid_array.patch + * 0001-analyze-set-white-background.patch + * 0001-analyze-set-text-on-side-with-most-space.patch + * analyze-fix-crash-in-command-line-parsing.patch + * 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch + * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch + * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch + * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch + * U_logind_revert_lazy_session_activation_on_non_vt_seats.patch + * build-sys-make-multi-seat-x-optional.patch + * 1017-skip-native-unit-handling-if-sysv-already-handled.patch + * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch + * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch + * 0031-man-document-the-b-special-boot-option.patch + * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch + * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch + * 0035-activate-mention-E-in-the-help-text.patch + * 0036-activate-fix-crash-when-s-is-passed.patch + * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch + * 0038-core-socket-fix-SO_REUSEPORT.patch + * 0039-journal-when-appending-to-journal-file-allocate-larg.patch + * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch + * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch + * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch + * 0043-journal-simplify-pre-allocation-logic.patch + * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch + * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch + * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch + * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch + * 0049-systemd-treat-reload-failure-as-failure.patch +- Dropped backported systemd patches as those are fixed upstream + * 0145-logind-use-correct-who-enum-values-with-KillUnit.patch + * 1011-check-4-valid-kmsg-device.patch + * 0001-logind-garbage-collect-stale-users.patch +- Dropped udev patches as those are fixed fixed upstream: + * 0026-udevadm.xml-document-resolve-names-option-for-test.patch + * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch +- Modified patches + * 1006-udev-always-rename-network.patch +- Replaced patches + * the patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + is upstream now but has to be replaced by patch + 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to fix an further issue similar to the upstream patch (bnc#852015) + * the patch + 0001-upstream-systemctl-halt-reboot-error-handling.patch + is upstream now, only the part with the halt after a failed poweroff + has been added to the patch + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + +------------------------------------------------------------------- +Thu Feb 27 15:13:09 UTC 2014 - werner@suse.de + +- Add patch 0001-make-209-working-on-older-dist.patch to make + it usable on older distributions like 13.1 + +------------------------------------------------------------------- +Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de + +- Add patch 0001-add-network-device-after-NFS-mount-units.patch to + add "After" dependency to all NFS shares to the network interface + device as this ensures at shutdown that the NFS share becomes + unmounted before the interface is down (bnc#861489) + ++------------------------------------------------------------------- +Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de + +- enable compat-libs, BuildRequires binutils-gold + ("old" ld fails on ifunc magic) + +------------------------------------------------------------------- +Sun Feb 23 16:11:22 UTC 2014 - stefan.bruens@rwth-aachen.de + +- add network link configuration for udev + +------------------------------------------------------------------- +Sun Feb 23 15:44:01 UTC 2014 - stefan.bruens@rwth-aachen.de + +- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, + move to core and link in directly to avoid libudev dep all over +- Disable networkd +- Disable compat-libs, adapt files section +- add and remove some entries in the files section + +------------------------------------------------------------------- +Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de + +- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit + scripts (bnc#863217) + +------------------------------------------------------------------- +Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de + +- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to do a final sync() and flush the disks + ------------------------------------------------------------------- Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 808ed2ae..2d9fb3c2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -23,10 +23,13 @@ %define udevpkgname udev-mini %define udev_major 1 %bcond_without bash_completion +%bcond_without compat_libs +%bcond_with networkd +%bcond_with python Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 208 +Version: 210 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -36,6 +39,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: %{real} = %{version}-%{release} BuildRequires: audit-devel +%if %{with compat_libs} +BuildRequires: binutils-gold +%endif %if ! 0%{?bootstrap} BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets @@ -52,6 +58,7 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libattr-devel BuildRequires: libcap-devel +BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool %if ! 0%{?bootstrap} @@ -68,10 +75,17 @@ BuildRequires: pkgconfig(blkid) >= 2.20 BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel +%if %{with python} +BuildRequires: python +%endif BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 %endif +%if 0%{?suse_version} <= 1310 BuildRequires: pkgconfig(libkmod) >= 14 +%else +BuildRequires: pkgconfig(libkmod) >= 15 +%endif BuildRequires: pkgconfig(liblzma) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libmicrohttpd) @@ -82,6 +96,11 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif +%if 0%{?suse_version} > 1310 +%ifarch %ix86 x86_64 x32 %arm +BuildRequires: pkgconfig(libseccomp) +%endif +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) %if 0%{?bootstrap} @@ -96,7 +115,11 @@ Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd +%if 0%{?suse_version} <= 1310 Requires: kmod >= 14 +%else +Requires: kmod >= 15 +%endif Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -181,162 +204,99 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch47: systemd-dbus-system-bus-address.patch -# PATCH-FIX-UPSTREAM 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch fcrozat@suse.com -- fix acpi memleak -Patch48: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch -# PATCH-FIX-UPSTREAM 0002-fix-lingering-references-to-var-lib-backlight-random.patch fcrozat@suse.com -- fix invalid path in documentation -Patch49: 0002-fix-lingering-references-to-var-lib-backlight-random.patch -# PATCH-FIX-UPSTREAM 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch fcrozat@suse.com -- fix invalid memory free -Patch50: 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch -# PATCH-FIX-UPSTREAM 0004-systemctl-fix-name-mangling-for-sysv-units.patch fcrozat@suse.com -- fix name mangling for sysv units -Patch51: 0004-systemctl-fix-name-mangling-for-sysv-units.patch -# PATCH-FIX-UPSTREAM 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch fcrozat@suse.com -- fix OOM handling -Patch52: 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch -# PATCH-FIX-UPSTREAM 0006-journald-add-missing-error-check.patch fcrozat@suse.com -- add missing error check -Patch53: 0006-journald-add-missing-error-check.patch -# PATCH-FIX-UPSTREAM 0007-bus-fix-potentially-uninitialized-memory-access.patch fcrozat@suse.com -- fix uninitialized memory access -Patch54: 0007-bus-fix-potentially-uninitialized-memory-access.patch -# PATCH-FIX-UPSTREAM 0008-dbus-fix-return-value-of-dispatch_rqueue.patch fcrozat@suse.com -- fix return value -Patch55: 0008-dbus-fix-return-value-of-dispatch_rqueue.patch -# PATCH-FIX-UPSTREAM 0009-modules-load-fix-error-handling.patch fcrozat@suse.com -- fix error handling -Patch56: 0009-modules-load-fix-error-handling.patch -# PATCH-FIX-UPSTREAM 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- fix incorrect memory access -Patch57: 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch -# PATCH-FIX-UPSTREAM 0011-strv-don-t-access-potentially-NULL-string-arrays.patch fcrozat@suse.com -- fix incorrect memory access -Patch58: 0011-strv-don-t-access-potentially-NULL-string-arrays.patch -# PATCH-FIX-UPSTREAM 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch fcrozat@suse.com -- fix invalid pointer -Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch -# PATCH-FIX-UPSTREAM 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch fcrozat@suse.com -- fix permission on /run/log/journal -Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch -# PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target -Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch -# PATCH-FIX-UPSTREAM 0001-gpt-auto-generator-exit-immediately-if-in-container.patch fcrozat@suse.com -- don't start gpt auto-generator in container -Patch62: 0001-gpt-auto-generator-exit-immediately-if-in-container.patch -# PATCH-FIX-UPSTREAM 0001-manager-when-verifying-whether-clients-may-change-en.patch fcrozat@suse.com -- fix reload check in selinux case -Patch63: 0001-manager-when-verifying-whether-clients-may-change-en.patch -# PATCH-FIX-UPSTREAM 0001-logind-fix-bus-introspection-data-for-TakeControl.patch fcrozat@suse.com -- fix introspection for TakeControl -Patch64: 0001-logind-fix-bus-introspection-data-for-TakeControl.patch -# PATCH-FIX-UPSTREAM 0001-mount-check-for-NULL-before-reading-pm-what.patch fcrozat@suse.com -- fix crash when parsing some incorrect unit -Patch65: 0001-mount-check-for-NULL-before-reading-pm-what.patch -# PATCH-FIX-UPSTREAM 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch fcrozat@suse.com -- Fix udev rules parsing -Patch66: 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch -# PATCH-FIX-UPSTREAM 0001-systemd-serialize-deserialize-forbid_restart-value.patch fcrozat@suse.com -- Fix incorrect deserialization for forbid_restart -Patch67: 0001-systemd-serialize-deserialize-forbid_restart-value.patch -# PATCH-FIX-UPSTREAM 0001-core-unify-the-way-we-denote-serialization-attribute.patch fcrozat@suse.com -- Ensure forbid_restart is named like other attributes -Patch68: 0001-core-unify-the-way-we-denote-serialization-attribute.patch -# PATCH-FIX-UPSTREAM 0001-journald-fix-minor-memory-leak.patch fcrozat@suse.com -- fix memleak in journald -Patch69: 0001-journald-fix-minor-memory-leak.patch -# PATCH-FIX-UPSTREAM 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch fcrozat@suse.com -- Improve ACPI firmware performance parsing -Patch70: 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch -# PATCH-FIX-UPSTREAM 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch fcrozat@suse.com -- Fix journal rotation -Patch71: 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch -# PATCH-FIX-UPSTREAM 0001-login-fix-invalid-free-in-sd_session_get_vt.patchfcrozat@suse.com -- Fix memory corruption in sd_session_get_vt -Patch72: 0001-login-fix-invalid-free-in-sd_session_get_vt.patch -# PATCH-FIX-UPSTREAM 0001-login-make-sd_session_get_vt-actually-work.patch fcrozat@suse.com -- Ensure sd_session_get_vt returns correct value -Patch73: 0001-login-make-sd_session_get_vt-actually-work.patch -# PATCH-FIX-UPSTREAM 0001-Never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- Don't call qsort on NULL arrays -Patch74: 0001-Never-call-qsort-on-potentially-NULL-arrays.patch -# PATCH-FIX-UPSTREAM 0001-dbus-common-avoid-leak-in-error-path.patch fcrozat@suse.com -- Fix memleak in dbus-common code -Patch75: 0001-dbus-common-avoid-leak-in-error-path.patch -# PATCH-FIX-UPSTREAM 0001-drop-ins-check-return-value.patch fcrozat@suse.com -- Fix return value for drop-ins checks -Patch76: 0001-drop-ins-check-return-value.patch -# PATCH-FIX-UPSTREAM 0001-shared-util-Fix-glob_extend-argument.patch fcrozat@suse.com -- Fix glob_extend argument -Patch77: 0001-shared-util-Fix-glob_extend-argument.patch -# PATCH-FIX-UPSTREAM 0001-Fix-bad-assert-in-show_pid_array.patch fcrozat@suse.com -- Fix bad assert in show_pid_array -Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch -# PATCH-FIX-UPSTREAM 0001-analyze-set-white-background.patch werner@suse.com -- Make background of systemd-analyze SVG white -Patch79: 0001-analyze-set-white-background.patch -# PATCH-FIX-UPSTREAM 0001-analyze-set-text-on-side-with-most-space.patch werner@suse.com -- Place the text on the side with most space -Patch80: 0001-analyze-set-text-on-side-with-most-space.patch -# PATCH-FIX-UPSTREAM 0001-logind-garbage-collect-stale-users.patch -- Don't stop a running user manager from garbage-collecting the user. -Patch81: 0001-logind-garbage-collect-stale-users.patch -# PATCH-FIX-UPSTREAM analyze-fix-crash-in-command-line-parsing.patch fcrozat@suse.com bnc#859365 -- Fix crash in systemd-analyze -Patch82: analyze-fix-crash-in-command-line-parsing.patch -# PATCH-FIX-UPSTREAM 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch -- Prevent accidental kill of emergency shell (bnc#852021) -Patch83: 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-UPSTREAM 0001-upstream-systemctl-halt-reboot-error-handling.patch -Patch85: 0001-upstream-systemctl-halt-reboot-error-handling.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-UPSTREAM 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch -- Allow sending SIGTERM to main PID only (bnc#841544) -Patch87: 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch -# PATCH-FIX-UPSTREAM 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch -- Allow using it with PAM enabled services (bnc#841544) -Patch88: 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch -# PATCH-FIX-UPSTREAM 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch -- Make sure final SIGKILL actually kills everything (bnc#841544) -Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0145-logind-use-correct-who-enum-values-with-KillUnit.patch -- Be able to kill sessions (bnc#860574) -Patch92: 0145-logind-use-correct-who-enum-values-with-KillUnit.patch # PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch +# PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com +Patch114: 0001-systemd-empty-sigmask-on-reexec.patch +# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com +Patch117: 0001-make-209-working-on-older-dist.patch +# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com +Patch119: 0001-make-fortify-happy-with-ppoll.patch +# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com +Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch121: 0001-login-fix-pos-array-allocation.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch137: 0004-man-document-missing-options-of-systemd-run.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch140: 0007-journal-forget-file-after-encountering-an-error.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch143: 0010-man-update-link-to-LSB.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch145: 0012-man-add-missing-comma.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-OPENSUSE 1011-check-4-valid-kmsg-device.patch -- Avoid busy systemd-journald (bnc#851393) -Patch1011: 1011-check-4-valid-kmsg-device.patch -# PATCH-FIX-UPSTREAM 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-UPSTREAM U_logind_revert_lazy_session_activation_on_non_vt_seats.patch -Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch +# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-UPSTREAM build-sys-make-multi-seat-x-optional.patch -Patch1015: build-sys-make-multi-seat-x-optional.patch # PATCH-FIX-SUSE 1016-support-powerfail-with-powerstatus.patch Patch1016: 1016-support-powerfail-with-powerstatus.patch -# PATCH-FIX-UPSTREAM 1017-skip-native-unit-handling-if-sysv-already-handled.patch -Patch1017: 1017-skip-native-unit-handling-if-sysv-already-handled.patch # PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-UPSTREAM 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch werner@suse.com -Patch94: 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch -# PATCH-FIX-UPSTREAM 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch werner@suse.com -Patch96: 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch -# PATCH-FIX-UPSTREAM 0031-man-document-the-b-special-boot-option.patch werner@suse.com -Patch97: 0031-man-document-the-b-special-boot-option.patch -# PATCH-FIX-UPSTREAM 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch werner@suse.com -Patch99: 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch -# PATCH-FIX-UPSTREAM 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch werner@suse.com -Patch100: 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch -# PATCH-FIX-UPSTREAM 0035-activate-mention-E-in-the-help-text.patch werner@suse.com -Patch101: 0035-activate-mention-E-in-the-help-text.patch -# PATCH-FIX-UPSTREAM 0036-activate-fix-crash-when-s-is-passed.patch werner@suse.com -Patch102: 0036-activate-fix-crash-when-s-is-passed.patch -# PATCH-FIX-UPSTREAM 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch werner@suse.com -Patch103: 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch -# PATCH-FIX-UPSTREAM 0038-core-socket-fix-SO_REUSEPORT.patch werner@suse.com -Patch104: 0038-core-socket-fix-SO_REUSEPORT.patch -# PATCH-FIX-UPSTREAM 0039-journal-when-appending-to-journal-file-allocate-larg.patch werner@suse.com -Patch105: 0039-journal-when-appending-to-journal-file-allocate-larg.patch -# PATCH-FIX-UPSTREAM 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch werner@suse.com -Patch106: 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch -# PATCH-FIX-UPSTREAM 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch werner@suse.com -Patch107: 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch -# PATCH-FIX-UPSTREAM 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch werner@suse.com -Patch108: 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch -# PATCH-FIX-UPSTREAM 0043-journal-simplify-pre-allocation-logic.patch werner@suse.com -Patch109: 0043-journal-simplify-pre-allocation-logic.patch -# PATCH-FIX-UPSTREAM 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch werner@suse.com -Patch110: 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch -# PATCH-FIX-UPSTREAM 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch werner@suse.com -Patch111: 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch -# PATCH-FIX-UPSTREAM 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch werner@suse.com -Patch112: 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch -# PATCH-FIX-UPSTREAM 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch werner@suse.com -Patch113: 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch -# PATCH-FIX-UPSTREAM 0049-systemd-treat-reload-failure-as-failure.patch werner@suse.com -Patch114: 0049-systemd-treat-reload-failure-as-failure.patch - +# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com +Patch1020: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch +Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch +Patch1999: systemd-install-compat_pkgconfig-always.patch # udev patches +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -351,10 +311,6 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-UPSTREAM 0026-udevadm.xml-document-resolve-names-option-for-test.patch werner@suse.com -Patch95: 0026-udevadm.xml-document-resolve-names-option-for-test.patch -# PATCH-FIX-UPSTREAM 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch werner@suse.com -Patch98: 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -588,6 +544,8 @@ cp %{SOURCE7} m4/ %patch23 -p1 %patch24 -p1 %patch25 -p1 +# check if this is still needed, or can be derived from fbdev uaccess rule +# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 %patch37 -p1 %ifarch %arm @@ -598,85 +556,55 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 %patch84 -p1 -%patch85 -p1 %patch86 -p1 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 %patch90 -p1 %patch91 -p1 -%patch92 -p1 %patch93 -p1 +%patch114 -p0 +%if 0%{?suse_version} <= 1310 +%patch117 -p1 +%endif +%patch119 -p1 +%patch120 -p1 +%patch121 -p0 +%patch122 -p0 +%patch123 -p0 +%patch124 -p0 +%patch125 -p0 +%patch126 -p0 +%patch127 -p0 +%patch128 -p0 +%patch129 -p0 +%patch130 -p0 +%patch131 -p0 +%patch132 -p0 +%patch133 -p0 +%patch134 -p0 +%patch135 -p0 +%patch136 -p0 +%patch137 -p0 +%patch138 -p0 +%patch139 -p0 +%patch140 -p0 +%patch141 -p0 +%patch142 -p0 +%patch143 -p0 +%patch144 -p0 +%patch145 -p0 +%patch146 -p0 %patch1009 -p1 %patch1010 -p1 -%patch1011 -p1 %patch1012 -p1 -%patch1013 -p1 %patch1014 -p1 -%patch1015 -p1 %patch1016 -p1 -%patch1017 -p1 %patch1018 -p1 %patch1019 -p1 -%patch94 -p0 -%patch96 -p0 -%patch97 -p0 -%patch99 -p0 -%patch100 -p0 -%patch101 -p0 -%patch102 -p0 -%patch103 -p0 -%patch104 -p0 -%patch105 -p0 -%patch106 -p0 -%patch107 -p0 -%patch108 -p0 -%patch109 -p0 -%patch110 -p0 -%patch111 -p0 -%patch112 -p0 -%patch113 -p0 -%patch114 -p0 - +%patch1020 -p1 +%patch1022 -p1 +%patch1999 -p1 # udev patches +%patch1034 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -687,8 +615,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch95 -p0 -%patch98 -p0 # ensure generate files are removed rm -f units/emergency.service @@ -705,10 +631,17 @@ export V=1 %if 0%{?bootstrap} --disable-gudev \ --disable-myhostname \ + --disable-manpages \ %else --enable-manpages \ +%if %{with python} + --with-python \ +%endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ +%endif +%if %{with compat_libs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ @@ -721,6 +654,9 @@ export V=1 --disable-ima \ %if 0%{?suse_version} > 1310 --disable-multi-seat-x \ +%endif +%if %{without networkd} + --disable-networkd \ %endif CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -730,34 +666,34 @@ make install DESTDIR="%buildroot" # move to %{_lib} %if ! 0%{?bootstrap} -mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib} +mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %endif -mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} -ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl -ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +mkdir -p %{buildroot}/{sbin,lib,bin} +ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl +ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 +ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware +ln -sf /lib/firmware %{buildroot}/usr/lib/firmware %if ! 0%{?bootstrap} -install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev -ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service +install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev +ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} -install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} -install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants +install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants +ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} @@ -821,7 +757,7 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} -rm -f %{buildroot}/var/log/README +rm -f %{buildroot}%{_localstatedir}/log/README rm -rf %{buildroot}%{_datadir}/bash-completion %endif @@ -835,13 +771,13 @@ done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}/var/log/journal +mkdir -p %{buildroot}%{_localstatedir}/log/journal # Make sure directories in /var exist -mkdir -p %{buildroot}/var/lib/systemd/coredump -mkdir -p %{buildroot}/var/lib/systemd/catalog +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog #create ghost databases -touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists @@ -872,15 +808,45 @@ install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ %if ! 0%{?bootstrap} install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ +%if %{without python} +for man in systemd.directives.7 systemd.index.7 +do + install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ +done +%endif %endif +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed + %fdupes -s %{buildroot}%{_mandir} +%if ! 0%{?bootstrap} +for f in %{buildroot}%{_datadir}/bash-completion/completions/* +do + test -e "$f" || break + grep -q _init_completion "$f" || continue + echo "%exclude %{_datadir}/bash-completion/completions/${f##*}" +done > files.completion +%else +> files.completion +%endif + %if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd %endif +%if %{without compat_libs} +lib=%{_libdir}/libsystemd.so +for lnk in daemon login id128 journal +do + lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so + echo '/* GNU ld script */' > ${lnk} + echo 'INPUT('${lib}')' >> ${lnk} +done +%endif + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 @@ -890,14 +856,14 @@ exit 0 /usr/sbin/pam-config -a --systemd || : %endif /sbin/ldconfig -[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Make sure new journal files -chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : -chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -996,9 +962,9 @@ if test -f /proc/1/exe -a -d /proc/1/root; then fi if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -1010,9 +976,9 @@ fi systemctl daemon-reload >/dev/null 2>&1 || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -1045,7 +1011,7 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -1067,6 +1033,7 @@ exit 0 /bin/systemd-ask-password /bin/systemctl %{_bindir}/bootctl +%{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl @@ -1091,10 +1058,13 @@ exit 0 %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert +%{_libdir}/libsystemd.so.* +%if %{with compat_libs} %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* %{_libdir}/libsystemd-id128.so.* %{_libdir}/libsystemd-journal.so.* +%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -1110,8 +1080,11 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%endif %{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -1123,12 +1096,14 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog -%dir %{_prefix}/lib/systemd/system-shutdown +%{_prefix}/lib/systemd/catalog/systemd.*.catalog %dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-preset %dir %{_prefix}/lib/systemd/user-preset @@ -1185,10 +1160,6 @@ exit 0 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1203,8 +1174,11 @@ exit 0 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%if ! 0%{?bootstrap} %exclude %{_datadir}/systemd/gatewayd +%endif %{_datadir}/systemd +%{_datadir}/locale/*/LC_MESSAGES %if ! 0%{?bootstrap} # Packaged in sysvinit subpackage @@ -1234,35 +1208,32 @@ exit 0 %if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on %endif -%ghost /var/lib/systemd/catalog/database %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif -%dir /var/lib/systemd -%dir /var/lib/systemd/sysv-convert -%dir /var/lib/systemd/migrated -%dir /var/lib/systemd/catalog -%ghost /var/lib/systemd/catalog/database -%dir /var/lib/systemd/coredump -%dir /usr/share/zsh -%dir /usr/share/zsh/site-functions -/usr/share/zsh/site-functions/* -%ghost /var/lib/systemd/backlight -%ghost /var/lib/systemd/random-seed +%dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/catalog +%ghost %{_localstatedir}/lib/systemd/catalog/database +%dir %{_localstatedir}/lib/systemd/coredump +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/* +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %if ! 0%{?bootstrap} -%files bash-completion +%files bash-completion -f files.completion %defattr(-,root,root,-) %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions -%if %{without bash_completion} -%exclude %{_datadir}/bash-completion/completions/systemd-analyze -%endif %{_datadir}/bash-completion/completions/* %endif %files devel %defattr(-,root,root,-) +%{_libdir}/libsystemd.so %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so @@ -1273,8 +1244,9 @@ exit 0 %{_includedir}/systemd/sd-id128.h %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h -%{_includedir}/systemd/sd-shutdown.h +%{_includedir}/systemd/_sd-common.h %{_datadir}/pkgconfig/systemd.pc +%{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc @@ -1343,6 +1315,9 @@ exit 0 %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %dir %{_prefix}/lib/systemd/system/sockets.target.wants %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%dir %{_prefix}/lib/systemd/network +%{_prefix}/lib/systemd/network/*.link +%{_prefix}/lib/systemd/network/*.network %files -n lib%{udevpkgname}%{udev_major} %defattr(-,root,root) @@ -1385,8 +1360,8 @@ exit 0 %files logger %defattr(-,root,root) -%dir /var/log/journal -/var/log/README +%dir %{_localstatedir}/log/journal +%{_localstatedir}/log/README /etc/init.d/systemd-journald %files -n nss-myhostname diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index 492ab22b..61d05349 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -21,4 +21,4 @@ SUSE policy is to not clean /tmp by default. +d /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes - x /tmp/systemd-private-* + x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index d9e7abdd..4ef46a16 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,490 @@ +------------------------------------------------------------------- +Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de + +- Add or port upstream bugfix patches: + 0001-Fix-systemd-stdio-bridge-symlink.patch + 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch + 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch + 0004-man-document-missing-options-of-systemd-run.patch + 0005-systemd-run-add-some-extra-safety-checks.patch + 0006-journal-assume-that-next-entry-is-after-previous-ent.patch + 0007-journal-forget-file-after-encountering-an-error.patch + 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch + 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch + 0010-man-update-link-to-LSB.patch + 0011-man-systemd-bootchart-fix-spacing-in-command.patch + 0012-man-add-missing-comma.patch + 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch + +------------------------------------------------------------------- +Fri Mar 7 08:00:31 UTC 2014 - werner@suse.de + +- Add linker scripts as place holder of the old systemd shared + libraries now all included in libsystemd.so (bnc#867128) + +------------------------------------------------------------------- +Tue Mar 4 10:37:02 UTC 2014 - werner@suse.de + +- Make patch 1006-udev-always-rename-network.patch work again + and add it again. + +------------------------------------------------------------------- +Mon Mar 3 15:23:57 UTC 2014 - thomas.blume@suse.com + +- address missing owner functionality in systemd-tmpfiles (fate#314974) + 1022-systemd-tmpfiles-ownerkeep.patch + +------------------------------------------------------------------- +Mon Mar 3 14:49:48 UTC 2014 - werner@suse.de + +- Generate the bash completion files on the fly for the case of + not having the package bash-completion around +- Add or port upstream bugfix patches: + 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + 0002-cdrom_id-use-the-old-MMC-fallback.patch + 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch + 0004-logs-show-fix-corrupt-output-with-empty-messages.patch + 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + 0008-README-document-that-var-run-must-be-a-symlink-run.patch + 0010-Replace-var-run-with-run-in-remaining-places.patch + 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch + 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch + 0014-login-fix-pos-array-allocation.patch + +------------------------------------------------------------------- +Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de + +- Update to Release v210 + + systemd will now relabel /dev after loading the SMACK policy + according to SMACK rules. + + A new unit file option AppArmoreProfile= has been added to + set the AppArmor profile for the processes of a unit. + + A new condition check ConditionArchitecture= has been added + to conditionalize units based on the system architecture, as + reported by uname()'s "machine" field. + + systemd-networkd now supports matching on the system + virtualization, architecture, kernel command line, host name + and machine ID. + + logind is now a lot more aggressive when suspending the + machine due to a closed laptop lid. + + logind will now watch SW_DOCK switches and inhibit reaction + to the lid switch if it is pressed. + + nspawn will now make use of the devices cgroup controller by + default, and only permit creation of and access to the usual + API device nodes like /dev/null or /dev/random, as well as + access to (but not creation of) the pty devices. + + systemd will now understand the usual M, K, G, T suffixes + according to SI conventions (i.e. to the base 1000) when + referring to throughput and hardware metrics. + + The DeviceAllow= setting in unit files now supports a syntax + to whitelist an entire group of devices node majors at once, + based on the /proc/devices listing. For example, with the + string "char-pts" it is now possible to whitelist all + current and future pseudo-TTYs at once. + + sd-event learned a new "post" event source. Event sources of + this type are triggered by the dispatching of any event + source of a type that is not "post". This is useful for + implementing clean-up and check event sources that are + triggered by other work being done in the program. + + The compatibility libraries for libsystemd-journal.so, + libsystem-id128.so, libsystemd-login.so and + libsystemd-daemon.so do not make use of IFUNC + anymore. +- Dropped systemd patches as those are fixed upstream: + * 0001-units-serial-getty-.service-add-Install-section.patch + * 0001-shared-architecture.h-fix-preprocessor-directives.patch + * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch + * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patchc + * 0001-make-tests-with-libseccomp-work.patch + * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch + * 0001-units-serial-getty-.service-add-Install-section.patch +- Dropped patches as those do not work anymore + * 1006-udev-always-rename-network.patch +- Renamed systemd patches as seen from git log: + * 0001-cdrom_id-use-the-old-MMC-fallback.patch + become 0002-cdrom_id-use-the-old-MMC-fallback.patch + * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch + * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch +- Add several upstream bugfix patches which are missed: + * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch + * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch + * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch + * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch + * 0001-shared-architecture.h-fix-preprocessor-directives.patch + * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + * 0008-README-document-that-var-run-must-be-a-symlink-run.patch + * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch + * 0010-Replace-var-run-with-run-in-remaining-places.patch + * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch + * 0014-login-fix-pos-array-allocation.patch +- Modified patches to make is build + * 0001-add-network-device-after-NFS-mount-units.patch +- Reenable libseccomp for the architecture for which libseccomp exists + +------------------------------------------------------------------- +Sun Mar 2 15:51:24 CET 2014 - ro@suse.de + +- always install compat pkgconfig files, regardless if + compat libs is enabled or not + +------------------------------------------------------------------- +Sun Mar 2 14:47:23 CET 2014 - ro@suse.de + +- disable use of libseccomp for sle12, library has not been ported + to most architectures +- do not use binutils-gold on s390/s390x, does not exist there +- fix exclude statements for bootstrap case + +------------------------------------------------------------------- +Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de + +- Add upstream patches + + 0001-cdrom_id-use-the-old-MMC-fallback.patch + + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + +------------------------------------------------------------------- +Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de + +- Add patch + 0001-systemd-empty-sigmask-on-reexec.patch + which corrects sigmaks for reexec in initrd (bnc#864904) + +------------------------------------------------------------------- +Fri Feb 28 17:38:06 UTC 2014 - werner@suse.de + +- Add patch + 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + to avoid error on not existing file /proc/self/loginuid + +------------------------------------------------------------------- +Fri Feb 28 17:15:38 UTC 2014 - werner@suse.de + +- Make patch + 0001-make-209-working-on-older-dist.patch + more smart that is make configure script les restrictive +- Make patch + apply-ACL-for-nvidia-device-nodes.patch + apply to v209 + +------------------------------------------------------------------- +Fri Feb 28 16:59:25 UTC 2014 - werner@suse.de + +- Update to Release v209 on the base of the work of Stefan Brüns + from declined submit request 223602: + + A new tool "systemd-socket-proxyd" has been added + + Add a new tool to save/restore rfkill state on + shutdown/boot. + + Save/restore state of keyboard backlights in addition to + display backlights on shutdown/boot. + + udev learned a new SECLABEL{} construct to label device + nodes with a specific security label when they appear. For + now, only SECLABEL{selinux} is supported, but the syntax is + prepared for additional security frameworks. + + When the User= switch is used in a unit file, also + initialize $SHELL= based on the user database entry. + + systemd no longer depends on libdbus. All communication is + now done with sd-bus, systemd's low-level bus library + implementation. + + sd-bus: add a light-weight vtable implementation that allows + defining objects on the bus with a simple static const + vtable array of its methods, signals and properties. + + systemd will not generate or install static dbus + introspection data anymore to /usr/share/dbus-1/interfaces, + as the precise format of these files is unclear, and + nothing makes use of it. + + A proxy daemon is now provided to proxy clients connecting + via classic D-Bus AF_UNIX sockets to kdbus, to provide full + compatibility with classic D-Bus. + + A bus driver implementation has been added that supports the + classic D-Bus bus driver calls on kdbus, also for + compatibility purposes. + + A new API "sd-event.h" has been added that implements a + minimal event loop API built around epoll. + + A new API "sd-rntl.h" has been added that provides an API + around the route netlink interface of the kernel, similar in + style to "sd-bus.h". + + A new API "sd-dhcp-client.h" has been added that provides a + small DHCPv4 client-side implementation. This is used by + "systemd-networkd". + + There is a new kernel command line option + "systemd.restore_state=0|1". When set to "0", none of the + systemd tools will restore saved runtime state to hardware + devices. More specifically, the rfkill and backlight states + are not restored. + + The FsckPassNo= compatibility option in mount/service units + has been removed. The fstab generator will now add the + necessary dependencies automatically, and does not require + PID1's support for that anymore. + + journalctl gained a new switch, --list-boots, that lists + recent boots with their times and boot IDs. + + The various tools like systemctl, loginctl, timedatectl, + busctl, systemd-run, ... have gained a new switch "-M" to + connect to a specific, local OS container (as direct + connection, without requiring SSH). + + systemd-run and systemd-analyze also gained support for "-H" + to connect to remote hosts via SSH. This is particularly + useful for systemd-run because it enables queuing of jobs + onto remote systems. + + machinectl gained a new command "login" to open a getty + login in any local container. This works with any container + that is registered with machined (such as those created by + libvirt-lxc or nspawn), and which runs systemd inside. + + machinectl gained a new "reboot" command that may be used to + trigger a reboot on a specific container that is registered + with machined. This works on any container that runs an init + system of some kind. + + systemctl gained a new "list-timers" command to print a nice + listing of installed timer units with the times they elapse + next. + + Alternative reboot() parameters may now be specified on the + "systemctl reboot" command line and are passed to the + reboot() system call. + + systemctl gained a new --job-mode= switch to configure the + mode to queue a job with. This is a more generic version of + --fail, --irreversible, and --ignore-dependencies, which are + still available but not advertised anymore. + + /etc/systemd/system.conf gained new settings to configure + various default timeouts of units, as well as the default + start limit interval and burst. These may still be overridden + within each Unit. + + PID1 will now export on the bus profile data of the security + policy upload process (such as the SELinux policy upload to + the kernel). + + journald: when forwarding logs to the console, include + timestamps (following the setting in + /sys/module/printk/parameters/time). + + OnCalendar= in timer units now understands the special + strings "yearly" and "annually". (Both are equivalent) + + The accuracy of timer units is now configurable with the new + AccuracySec= setting. It defaults to 1min. + + A new dependency type JoinsNamespaceOf= has been added that + allows running two services within the same /tmp and network + namespace, if PrivateNetwork= or PrivateTmp= are used. + + A new command "cat" has been added to systemctl. It outputs + the original unit file of a unit, and concatenates the + contents of additional "drop-in" unit file snippets, so that + the full configuration is shown. + + systemctl now supports globbing on the various "list-xyz" + commands, like "list-units" or "list-sockets", as well as on + those commands which take multiple unit names. + + journalctl's --unit= switch gained support for globbing. + + All systemd daemons now make use of the watchdog logic so + that systemd automatically notices when they hang. + + If the $container_ttys environment variable is set, + getty-generator will automatically spawn a getty for each + listed tty. This is useful for container managers to request + login gettys to be spawned on as many ttys as needed. + + %h, %s, %U specifier support is not available anymore when + used in unit files for PID 1. This is because NSS calls are + not safe from PID 1. They stay available for --user + instances of systemd, and as special case for the root user. + + loginctl gained a new "--no-legend" switch to turn off output + of the legend text. + + The "sd-login.h" API gained three new calls: + sd_session_is_remote(), sd_session_get_remote_user(), + sd_session_get_remote_host() to query information about + remote sessions. + + The udev hardware database now also carries vendor/product + information of SDIO devices. + + The "sd-daemon.h" API gained a new sd_watchdog_enabled() to + determine whether watchdog notifications are requested by + the system manager. + + Socket-activated per-connection services now include a + short description of the connection parameters in the + description. + + tmpfiles gained a new "--boot" option. When this is not used, + only lines where the command character is not suffixed with + "!" are executed. When this option is specified, those + options are executed too. + + systemctl gained a new "import-environment" command which + uploads the caller's environment (or parts thereof) into the + service manager so that it is inherited by services started + by the manager. This is useful to upload variables like + $DISPLAY into the user service manager. + + A new PrivateDevices= switch has been added to service units + which allows running a service with a namespaced /dev + directory that does not contain any device nodes for + physical devices. More specifically, it only includes devices + such as /dev/null, /dev/urandom, and /dev/zero which are API + entry points. + + logind has been extended to support behaviour like VT + switching on seats that do not support a VT. This makes + multi-session available on seats that are not the first seat + (seat0), and on systems where kernel support for VTs has + been disabled at compile-time. + + If a process holds a delay lock for system sleep or shutdown + and fails to release it in time, we will now log its + identity. This makes it easier to identify processes that + cause slow suspends or power-offs. + + When parsing /etc/crypttab, support for a new key-slot= + option as supported by Debian is added. It allows indicating + which LUKS slot to use on disk, speeding up key loading. + + The sd_journald_sendv() API call has been checked and + officially declared to be async-signal-safe so that it may + be invoked from signal handlers for logging purposes. + + Boot-time status output is now enabled automatically after a + short timeout if boot does not progress, in order to give + the user an indication what she or he is waiting for. + + The boot-time output has been improved to show how much time + remains until jobs expire. + + The KillMode= switch in service units gained a new possible + value "mixed". If set, and the unit is shut down, then the + initial SIGTERM signal is sent only to the main daemon + process, while the following SIGKILL signal is sent to + all remaining processes of the service. + + logind will now also track a "Desktop" identifier for each + session which encodes the desktop environment of it. This is + useful for desktop environments that want to identify + multiple running sessions of itself easily. + + A new SELinuxContext= setting for service units has been + added that allows setting a specific SELinux execution + context for a service. + + Most systemd client tools will now honour $SYSTEMD_LESS for + settings of the "less" pager. + + systemd's "seccomp" hook-up has been changed to make use of + the libseccomp library instead of using its own + implementation. This has benefits for portability among + other things. +- Dropped systemd patches as those are fixed upstream: + * 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch + * 0002-fix-lingering-references-to-var-lib-backlight-random.patch + * 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch + * 0004-systemctl-fix-name-mangling-for-sysv-units.patch + * 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch + * 0006-journald-add-missing-error-check.patch + * 0007-bus-fix-potentially-uninitialized-memory-access.patch + * 0008-dbus-fix-return-value-of-dispatch_rqueue.patch + * 0009-modules-load-fix-error-handling.patch + * 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch + * 0011-strv-don-t-access-potentially-NULL-string-arrays.patch + * 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch + * 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch + * 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch + * 0001-gpt-auto-generator-exit-immediately-if-in-container.patch + * 0001-manager-when-verifying-whether-clients-may-change-en.patch + * 0001-logind-fix-bus-introspection-data-for-TakeControl.patch + * 0001-mount-check-for-NULL-before-reading-pm-what.patch + * 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch + * 0001-systemd-serialize-deserialize-forbid_restart-value.patch + * 0001-core-unify-the-way-we-denote-serialization-attribute.patch + * 0001-journald-fix-minor-memory-leak.patch + * 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch + * 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch + * 0001-login-fix-invalid-free-in-sd_session_get_vt.patch + * 0001-login-make-sd_session_get_vt-actually-work.patch + * 0001-Never-call-qsort-on-potentially-NULL-arrays.patch + * 0001-dbus-common-avoid-leak-in-error-path.patch + * 0001-drop-ins-check-return-value.patch + * 0001-shared-util-Fix-glob_extend-argument.patch + * 0001-Fix-bad-assert-in-show_pid_array.patch + * 0001-analyze-set-white-background.patch + * 0001-analyze-set-text-on-side-with-most-space.patch + * analyze-fix-crash-in-command-line-parsing.patch + * 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch + * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch + * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch + * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch + * U_logind_revert_lazy_session_activation_on_non_vt_seats.patch + * build-sys-make-multi-seat-x-optional.patch + * 1017-skip-native-unit-handling-if-sysv-already-handled.patch + * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch + * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch + * 0031-man-document-the-b-special-boot-option.patch + * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch + * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch + * 0035-activate-mention-E-in-the-help-text.patch + * 0036-activate-fix-crash-when-s-is-passed.patch + * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch + * 0038-core-socket-fix-SO_REUSEPORT.patch + * 0039-journal-when-appending-to-journal-file-allocate-larg.patch + * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch + * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch + * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch + * 0043-journal-simplify-pre-allocation-logic.patch + * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch + * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch + * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch + * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch + * 0049-systemd-treat-reload-failure-as-failure.patch +- Dropped backported systemd patches as those are fixed upstream + * 0145-logind-use-correct-who-enum-values-with-KillUnit.patch + * 1011-check-4-valid-kmsg-device.patch + * 0001-logind-garbage-collect-stale-users.patch +- Dropped udev patches as those are fixed fixed upstream: + * 0026-udevadm.xml-document-resolve-names-option-for-test.patch + * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch +- Modified patches + * 1006-udev-always-rename-network.patch +- Replaced patches + * the patch + 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + is upstream now but has to be replaced by patch + 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + to fix an further issue similar to the upstream patch (bnc#852015) + * the patch + 0001-upstream-systemctl-halt-reboot-error-handling.patch + is upstream now, only the part with the halt after a failed poweroff + has been added to the patch + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + +------------------------------------------------------------------- +Thu Feb 27 15:13:09 UTC 2014 - werner@suse.de + +- Add patch 0001-make-209-working-on-older-dist.patch to make + it usable on older distributions like 13.1 + +------------------------------------------------------------------- +Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de + +- Add patch 0001-add-network-device-after-NFS-mount-units.patch to + add "After" dependency to all NFS shares to the network interface + device as this ensures at shutdown that the NFS share becomes + unmounted before the interface is down (bnc#861489) + ++------------------------------------------------------------------- +Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de + +- enable compat-libs, BuildRequires binutils-gold + ("old" ld fails on ifunc magic) + +------------------------------------------------------------------- +Sun Feb 23 16:11:22 UTC 2014 - stefan.bruens@rwth-aachen.de + +- add network link configuration for udev + +------------------------------------------------------------------- +Sun Feb 23 15:44:01 UTC 2014 - stefan.bruens@rwth-aachen.de + +- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, + move to core and link in directly to avoid libudev dep all over +- Disable networkd +- Disable compat-libs, adapt files section +- add and remove some entries in the files section + +------------------------------------------------------------------- +Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de + +- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit + scripts (bnc#863217) + +------------------------------------------------------------------- +Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de + +- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to do a final sync() and flush the disks + ------------------------------------------------------------------- Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index c305b86b..4340cc00 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,16 +21,22 @@ %define udevpkgname udev %define udev_major 1 %bcond_without bash_completion +%bcond_without compat_libs +%bcond_with networkd +%bcond_with python Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 208 +Version: 210 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel +%if %{with compat_libs} +BuildRequires: binutils-gold +%endif %if ! 0%{?bootstrap} BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets @@ -47,6 +53,7 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libattr-devel BuildRequires: libcap-devel +BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool %if ! 0%{?bootstrap} @@ -63,10 +70,17 @@ BuildRequires: pkgconfig(blkid) >= 2.20 BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel +%if %{with python} +BuildRequires: python +%endif BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 %endif +%if 0%{?suse_version} <= 1310 BuildRequires: pkgconfig(libkmod) >= 14 +%else +BuildRequires: pkgconfig(libkmod) >= 15 +%endif BuildRequires: pkgconfig(liblzma) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libmicrohttpd) @@ -77,6 +91,11 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif +%if 0%{?suse_version} > 1310 +%ifarch %ix86 x86_64 x32 %arm +BuildRequires: pkgconfig(libseccomp) +%endif +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) %if 0%{?bootstrap} @@ -91,7 +110,11 @@ Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd +%if 0%{?suse_version} <= 1310 Requires: kmod >= 14 +%else +Requires: kmod >= 15 +%endif Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -176,162 +199,99 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch47: systemd-dbus-system-bus-address.patch -# PATCH-FIX-UPSTREAM 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch fcrozat@suse.com -- fix acpi memleak -Patch48: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch -# PATCH-FIX-UPSTREAM 0002-fix-lingering-references-to-var-lib-backlight-random.patch fcrozat@suse.com -- fix invalid path in documentation -Patch49: 0002-fix-lingering-references-to-var-lib-backlight-random.patch -# PATCH-FIX-UPSTREAM 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch fcrozat@suse.com -- fix invalid memory free -Patch50: 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch -# PATCH-FIX-UPSTREAM 0004-systemctl-fix-name-mangling-for-sysv-units.patch fcrozat@suse.com -- fix name mangling for sysv units -Patch51: 0004-systemctl-fix-name-mangling-for-sysv-units.patch -# PATCH-FIX-UPSTREAM 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch fcrozat@suse.com -- fix OOM handling -Patch52: 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch -# PATCH-FIX-UPSTREAM 0006-journald-add-missing-error-check.patch fcrozat@suse.com -- add missing error check -Patch53: 0006-journald-add-missing-error-check.patch -# PATCH-FIX-UPSTREAM 0007-bus-fix-potentially-uninitialized-memory-access.patch fcrozat@suse.com -- fix uninitialized memory access -Patch54: 0007-bus-fix-potentially-uninitialized-memory-access.patch -# PATCH-FIX-UPSTREAM 0008-dbus-fix-return-value-of-dispatch_rqueue.patch fcrozat@suse.com -- fix return value -Patch55: 0008-dbus-fix-return-value-of-dispatch_rqueue.patch -# PATCH-FIX-UPSTREAM 0009-modules-load-fix-error-handling.patch fcrozat@suse.com -- fix error handling -Patch56: 0009-modules-load-fix-error-handling.patch -# PATCH-FIX-UPSTREAM 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- fix incorrect memory access -Patch57: 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch -# PATCH-FIX-UPSTREAM 0011-strv-don-t-access-potentially-NULL-string-arrays.patch fcrozat@suse.com -- fix incorrect memory access -Patch58: 0011-strv-don-t-access-potentially-NULL-string-arrays.patch -# PATCH-FIX-UPSTREAM 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch fcrozat@suse.com -- fix invalid pointer -Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch -# PATCH-FIX-UPSTREAM 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch fcrozat@suse.com -- fix permission on /run/log/journal -Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch -# PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target -Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch -# PATCH-FIX-UPSTREAM 0001-gpt-auto-generator-exit-immediately-if-in-container.patch fcrozat@suse.com -- don't start gpt auto-generator in container -Patch62: 0001-gpt-auto-generator-exit-immediately-if-in-container.patch -# PATCH-FIX-UPSTREAM 0001-manager-when-verifying-whether-clients-may-change-en.patch fcrozat@suse.com -- fix reload check in selinux case -Patch63: 0001-manager-when-verifying-whether-clients-may-change-en.patch -# PATCH-FIX-UPSTREAM 0001-logind-fix-bus-introspection-data-for-TakeControl.patch fcrozat@suse.com -- fix introspection for TakeControl -Patch64: 0001-logind-fix-bus-introspection-data-for-TakeControl.patch -# PATCH-FIX-UPSTREAM 0001-mount-check-for-NULL-before-reading-pm-what.patch fcrozat@suse.com -- fix crash when parsing some incorrect unit -Patch65: 0001-mount-check-for-NULL-before-reading-pm-what.patch -# PATCH-FIX-UPSTREAM 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch fcrozat@suse.com -- Fix udev rules parsing -Patch66: 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch -# PATCH-FIX-UPSTREAM 0001-systemd-serialize-deserialize-forbid_restart-value.patch fcrozat@suse.com -- Fix incorrect deserialization for forbid_restart -Patch67: 0001-systemd-serialize-deserialize-forbid_restart-value.patch -# PATCH-FIX-UPSTREAM 0001-core-unify-the-way-we-denote-serialization-attribute.patch fcrozat@suse.com -- Ensure forbid_restart is named like other attributes -Patch68: 0001-core-unify-the-way-we-denote-serialization-attribute.patch -# PATCH-FIX-UPSTREAM 0001-journald-fix-minor-memory-leak.patch fcrozat@suse.com -- fix memleak in journald -Patch69: 0001-journald-fix-minor-memory-leak.patch -# PATCH-FIX-UPSTREAM 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch fcrozat@suse.com -- Improve ACPI firmware performance parsing -Patch70: 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch -# PATCH-FIX-UPSTREAM 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch fcrozat@suse.com -- Fix journal rotation -Patch71: 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch -# PATCH-FIX-UPSTREAM 0001-login-fix-invalid-free-in-sd_session_get_vt.patchfcrozat@suse.com -- Fix memory corruption in sd_session_get_vt -Patch72: 0001-login-fix-invalid-free-in-sd_session_get_vt.patch -# PATCH-FIX-UPSTREAM 0001-login-make-sd_session_get_vt-actually-work.patch fcrozat@suse.com -- Ensure sd_session_get_vt returns correct value -Patch73: 0001-login-make-sd_session_get_vt-actually-work.patch -# PATCH-FIX-UPSTREAM 0001-Never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- Don't call qsort on NULL arrays -Patch74: 0001-Never-call-qsort-on-potentially-NULL-arrays.patch -# PATCH-FIX-UPSTREAM 0001-dbus-common-avoid-leak-in-error-path.patch fcrozat@suse.com -- Fix memleak in dbus-common code -Patch75: 0001-dbus-common-avoid-leak-in-error-path.patch -# PATCH-FIX-UPSTREAM 0001-drop-ins-check-return-value.patch fcrozat@suse.com -- Fix return value for drop-ins checks -Patch76: 0001-drop-ins-check-return-value.patch -# PATCH-FIX-UPSTREAM 0001-shared-util-Fix-glob_extend-argument.patch fcrozat@suse.com -- Fix glob_extend argument -Patch77: 0001-shared-util-Fix-glob_extend-argument.patch -# PATCH-FIX-UPSTREAM 0001-Fix-bad-assert-in-show_pid_array.patch fcrozat@suse.com -- Fix bad assert in show_pid_array -Patch78: 0001-Fix-bad-assert-in-show_pid_array.patch -# PATCH-FIX-UPSTREAM 0001-analyze-set-white-background.patch werner@suse.com -- Make background of systemd-analyze SVG white -Patch79: 0001-analyze-set-white-background.patch -# PATCH-FIX-UPSTREAM 0001-analyze-set-text-on-side-with-most-space.patch werner@suse.com -- Place the text on the side with most space -Patch80: 0001-analyze-set-text-on-side-with-most-space.patch -# PATCH-FIX-UPSTREAM 0001-logind-garbage-collect-stale-users.patch -- Don't stop a running user manager from garbage-collecting the user. -Patch81: 0001-logind-garbage-collect-stale-users.patch -# PATCH-FIX-UPSTREAM analyze-fix-crash-in-command-line-parsing.patch fcrozat@suse.com bnc#859365 -- Fix crash in systemd-analyze -Patch82: analyze-fix-crash-in-command-line-parsing.patch -# PATCH-FIX-UPSTREAM 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch -- Prevent accidental kill of emergency shell (bnc#852021) -Patch83: 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-UPSTREAM 0001-upstream-systemctl-halt-reboot-error-handling.patch -Patch85: 0001-upstream-systemctl-halt-reboot-error-handling.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-UPSTREAM 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch -- Allow sending SIGTERM to main PID only (bnc#841544) -Patch87: 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch -# PATCH-FIX-UPSTREAM 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch -- Allow using it with PAM enabled services (bnc#841544) -Patch88: 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch -# PATCH-FIX-UPSTREAM 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch -- Make sure final SIGKILL actually kills everything (bnc#841544) -Patch89: 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0145-logind-use-correct-who-enum-values-with-KillUnit.patch -- Be able to kill sessions (bnc#860574) -Patch92: 0145-logind-use-correct-who-enum-values-with-KillUnit.patch # PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch +# PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com +Patch114: 0001-systemd-empty-sigmask-on-reexec.patch +# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com +Patch117: 0001-make-209-working-on-older-dist.patch +# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com +Patch119: 0001-make-fortify-happy-with-ppoll.patch +# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com +Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch121: 0001-login-fix-pos-array-allocation.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch137: 0004-man-document-missing-options-of-systemd-run.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch140: 0007-journal-forget-file-after-encountering-an-error.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch143: 0010-man-update-link-to-LSB.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch145: 0012-man-add-missing-comma.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-OPENSUSE 1011-check-4-valid-kmsg-device.patch -- Avoid busy systemd-journald (bnc#851393) -Patch1011: 1011-check-4-valid-kmsg-device.patch -# PATCH-FIX-UPSTREAM 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch1012: 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-UPSTREAM U_logind_revert_lazy_session_activation_on_non_vt_seats.patch -Patch1013: U_logind_revert_lazy_session_activation_on_non_vt_seats.patch +# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-UPSTREAM build-sys-make-multi-seat-x-optional.patch -Patch1015: build-sys-make-multi-seat-x-optional.patch # PATCH-FIX-SUSE 1016-support-powerfail-with-powerstatus.patch Patch1016: 1016-support-powerfail-with-powerstatus.patch -# PATCH-FIX-UPSTREAM 1017-skip-native-unit-handling-if-sysv-already-handled.patch -Patch1017: 1017-skip-native-unit-handling-if-sysv-already-handled.patch # PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-UPSTREAM 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch werner@suse.com -Patch94: 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch -# PATCH-FIX-UPSTREAM 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch werner@suse.com -Patch96: 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch -# PATCH-FIX-UPSTREAM 0031-man-document-the-b-special-boot-option.patch werner@suse.com -Patch97: 0031-man-document-the-b-special-boot-option.patch -# PATCH-FIX-UPSTREAM 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch werner@suse.com -Patch99: 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch -# PATCH-FIX-UPSTREAM 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch werner@suse.com -Patch100: 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch -# PATCH-FIX-UPSTREAM 0035-activate-mention-E-in-the-help-text.patch werner@suse.com -Patch101: 0035-activate-mention-E-in-the-help-text.patch -# PATCH-FIX-UPSTREAM 0036-activate-fix-crash-when-s-is-passed.patch werner@suse.com -Patch102: 0036-activate-fix-crash-when-s-is-passed.patch -# PATCH-FIX-UPSTREAM 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch werner@suse.com -Patch103: 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch -# PATCH-FIX-UPSTREAM 0038-core-socket-fix-SO_REUSEPORT.patch werner@suse.com -Patch104: 0038-core-socket-fix-SO_REUSEPORT.patch -# PATCH-FIX-UPSTREAM 0039-journal-when-appending-to-journal-file-allocate-larg.patch werner@suse.com -Patch105: 0039-journal-when-appending-to-journal-file-allocate-larg.patch -# PATCH-FIX-UPSTREAM 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch werner@suse.com -Patch106: 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch -# PATCH-FIX-UPSTREAM 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch werner@suse.com -Patch107: 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch -# PATCH-FIX-UPSTREAM 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch werner@suse.com -Patch108: 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch -# PATCH-FIX-UPSTREAM 0043-journal-simplify-pre-allocation-logic.patch werner@suse.com -Patch109: 0043-journal-simplify-pre-allocation-logic.patch -# PATCH-FIX-UPSTREAM 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch werner@suse.com -Patch110: 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch -# PATCH-FIX-UPSTREAM 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch werner@suse.com -Patch111: 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch -# PATCH-FIX-UPSTREAM 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch werner@suse.com -Patch112: 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch -# PATCH-FIX-UPSTREAM 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch werner@suse.com -Patch113: 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch -# PATCH-FIX-UPSTREAM 0049-systemd-treat-reload-failure-as-failure.patch werner@suse.com -Patch114: 0049-systemd-treat-reload-failure-as-failure.patch - +# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com +Patch1020: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch +Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch +Patch1999: systemd-install-compat_pkgconfig-always.patch # udev patches +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -346,10 +306,6 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-UPSTREAM 0026-udevadm.xml-document-resolve-names-option-for-test.patch werner@suse.com -Patch95: 0026-udevadm.xml-document-resolve-names-option-for-test.patch -# PATCH-FIX-UPSTREAM 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch werner@suse.com -Patch98: 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -583,6 +539,8 @@ cp %{SOURCE7} m4/ %patch23 -p1 %patch24 -p1 %patch25 -p1 +# check if this is still needed, or can be derived from fbdev uaccess rule +# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 %patch37 -p1 %ifarch %arm @@ -593,85 +551,55 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 %patch84 -p1 -%patch85 -p1 %patch86 -p1 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 %patch90 -p1 %patch91 -p1 -%patch92 -p1 %patch93 -p1 +%patch114 -p0 +%if 0%{?suse_version} <= 1310 +%patch117 -p1 +%endif +%patch119 -p1 +%patch120 -p1 +%patch121 -p0 +%patch122 -p0 +%patch123 -p0 +%patch124 -p0 +%patch125 -p0 +%patch126 -p0 +%patch127 -p0 +%patch128 -p0 +%patch129 -p0 +%patch130 -p0 +%patch131 -p0 +%patch132 -p0 +%patch133 -p0 +%patch134 -p0 +%patch135 -p0 +%patch136 -p0 +%patch137 -p0 +%patch138 -p0 +%patch139 -p0 +%patch140 -p0 +%patch141 -p0 +%patch142 -p0 +%patch143 -p0 +%patch144 -p0 +%patch145 -p0 +%patch146 -p0 %patch1009 -p1 %patch1010 -p1 -%patch1011 -p1 %patch1012 -p1 -%patch1013 -p1 %patch1014 -p1 -%patch1015 -p1 %patch1016 -p1 -%patch1017 -p1 %patch1018 -p1 %patch1019 -p1 -%patch94 -p0 -%patch96 -p0 -%patch97 -p0 -%patch99 -p0 -%patch100 -p0 -%patch101 -p0 -%patch102 -p0 -%patch103 -p0 -%patch104 -p0 -%patch105 -p0 -%patch106 -p0 -%patch107 -p0 -%patch108 -p0 -%patch109 -p0 -%patch110 -p0 -%patch111 -p0 -%patch112 -p0 -%patch113 -p0 -%patch114 -p0 - +%patch1020 -p1 +%patch1022 -p1 +%patch1999 -p1 # udev patches +%patch1034 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -682,8 +610,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch95 -p0 -%patch98 -p0 # ensure generate files are removed rm -f units/emergency.service @@ -700,10 +626,17 @@ export V=1 %if 0%{?bootstrap} --disable-gudev \ --disable-myhostname \ + --disable-manpages \ %else --enable-manpages \ +%if %{with python} + --with-python \ +%endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ +%endif +%if %{with compat_libs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ @@ -716,6 +649,9 @@ export V=1 --disable-ima \ %if 0%{?suse_version} > 1310 --disable-multi-seat-x \ +%endif +%if %{without networkd} + --disable-networkd \ %endif CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -725,34 +661,34 @@ make install DESTDIR="%buildroot" # move to %{_lib} %if ! 0%{?bootstrap} -mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib} +mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %endif -mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} -ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl -ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +mkdir -p %{buildroot}/{sbin,lib,bin} +ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl +ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 +ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware +ln -sf /lib/firmware %{buildroot}/usr/lib/firmware %if ! 0%{?bootstrap} -install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev -ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service +install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev +ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} -install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} -install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants -ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants +install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants +ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} @@ -816,7 +752,7 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} -rm -f %{buildroot}/var/log/README +rm -f %{buildroot}%{_localstatedir}/log/README rm -rf %{buildroot}%{_datadir}/bash-completion %endif @@ -830,13 +766,13 @@ done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}/var/log/journal +mkdir -p %{buildroot}%{_localstatedir}/log/journal # Make sure directories in /var exist -mkdir -p %{buildroot}/var/lib/systemd/coredump -mkdir -p %{buildroot}/var/lib/systemd/catalog +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog #create ghost databases -touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists @@ -867,15 +803,45 @@ install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ %if ! 0%{?bootstrap} install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ +%if %{without python} +for man in systemd.directives.7 systemd.index.7 +do + install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ +done +%endif %endif +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed + %fdupes -s %{buildroot}%{_mandir} +%if ! 0%{?bootstrap} +for f in %{buildroot}%{_datadir}/bash-completion/completions/* +do + test -e "$f" || break + grep -q _init_completion "$f" || continue + echo "%exclude %{_datadir}/bash-completion/completions/${f##*}" +done > files.completion +%else +> files.completion +%endif + %if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd %endif +%if %{without compat_libs} +lib=%{_libdir}/libsystemd.so +for lnk in daemon login id128 journal +do + lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so + echo '/* GNU ld script */' > ${lnk} + echo 'INPUT('${lib}')' >> ${lnk} +done +%endif + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 @@ -885,14 +851,14 @@ exit 0 /usr/sbin/pam-config -a --systemd || : %endif /sbin/ldconfig -[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Make sure new journal files -chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : -chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -991,9 +957,9 @@ if test -f /proc/1/exe -a -d /proc/1/root; then fi if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -1005,9 +971,9 @@ fi systemctl daemon-reload >/dev/null 2>&1 || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -1040,7 +1006,7 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -1062,6 +1028,7 @@ exit 0 /bin/systemd-ask-password /bin/systemctl %{_bindir}/bootctl +%{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl @@ -1086,10 +1053,13 @@ exit 0 %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert +%{_libdir}/libsystemd.so.* +%if %{with compat_libs} %{_libdir}/libsystemd-daemon.so.* %{_libdir}/libsystemd-login.so.* %{_libdir}/libsystemd-id128.so.* %{_libdir}/libsystemd-journal.so.* +%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -1105,8 +1075,11 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%endif %{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -1118,12 +1091,14 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog -%dir %{_prefix}/lib/systemd/system-shutdown +%{_prefix}/lib/systemd/catalog/systemd.*.catalog %dir %{_prefix}/lib/systemd/system-shutdown %dir %{_prefix}/lib/systemd/system-preset %dir %{_prefix}/lib/systemd/user-preset @@ -1180,10 +1155,6 @@ exit 0 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1198,8 +1169,11 @@ exit 0 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%if ! 0%{?bootstrap} %exclude %{_datadir}/systemd/gatewayd +%endif %{_datadir}/systemd +%{_datadir}/locale/*/LC_MESSAGES %if ! 0%{?bootstrap} # Packaged in sysvinit subpackage @@ -1229,35 +1203,32 @@ exit 0 %if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on %endif -%ghost /var/lib/systemd/catalog/database %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif -%dir /var/lib/systemd -%dir /var/lib/systemd/sysv-convert -%dir /var/lib/systemd/migrated -%dir /var/lib/systemd/catalog -%ghost /var/lib/systemd/catalog/database -%dir /var/lib/systemd/coredump -%dir /usr/share/zsh -%dir /usr/share/zsh/site-functions -/usr/share/zsh/site-functions/* -%ghost /var/lib/systemd/backlight -%ghost /var/lib/systemd/random-seed +%dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/catalog +%ghost %{_localstatedir}/lib/systemd/catalog/database +%dir %{_localstatedir}/lib/systemd/coredump +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/* +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %if ! 0%{?bootstrap} -%files bash-completion +%files bash-completion -f files.completion %defattr(-,root,root,-) %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions -%if %{without bash_completion} -%exclude %{_datadir}/bash-completion/completions/systemd-analyze -%endif %{_datadir}/bash-completion/completions/* %endif %files devel %defattr(-,root,root,-) +%{_libdir}/libsystemd.so %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so @@ -1268,8 +1239,9 @@ exit 0 %{_includedir}/systemd/sd-id128.h %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h -%{_includedir}/systemd/sd-shutdown.h +%{_includedir}/systemd/_sd-common.h %{_datadir}/pkgconfig/systemd.pc +%{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc @@ -1338,6 +1310,9 @@ exit 0 %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %dir %{_prefix}/lib/systemd/system/sockets.target.wants %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%dir %{_prefix}/lib/systemd/network +%{_prefix}/lib/systemd/network/*.link +%{_prefix}/lib/systemd/network/*.network %files -n lib%{udevpkgname}%{udev_major} %defattr(-,root,root) @@ -1380,8 +1355,8 @@ exit 0 %files logger %defattr(-,root,root) -%dir /var/log/journal -/var/log/README +%dir %{_localstatedir}/log/journal +%{_localstatedir}/log/README /etc/init.d/systemd-journald %files -n nss-myhostname diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch index f688f407..fb97a2f1 100644 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -14,11 +14,11 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock } +#ifdef HAVE_SYSV_COMPAT + r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+ "TIMEZONE", &tz.zone, ++ "TIMEZONE", &c->zone, + NULL); + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); +#endif have_timezone: - if (isempty(tz.zone)) { + if (isempty(c->zone)) { From 74bf6f2e1dec6b607d9c5e8b3be6a26fba4af2418aab731b4bd8bd0ab244c94a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 18 Mar 2014 15:21:15 +0000 Subject: [PATCH 173/991] Accepting request 225960 from Base:System - Add patch getty-generator-with-serial-3270-tty.patch to avoid harmless error messages on not existing getty@3270 files - Replace systemd-big-endian-reply-matching.patch with upstream 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch to solve broken systemd communication with and over dbus (bnc#866732) - Readd patch 1008-add-msft-compability-rules.patch for older code base as 13.1 - Modify pre_checkin.sh to throw an error if a patch will be applied which modifies one of Makefile.am, Makefile.in, or configiure.ac as this breaks bootstrapping - Add second version of make-209-working-on-older-dist.patch to be able to apply for bootstrapping version - Don't require non-existing binutils-gold - Avoid file conflict between udev and systemd (bnc#868230) - Modify patch module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) - Add patch systemd-big-endian-reply-matching.patch make sure that systemd can talk with dbus-daemon even on big endian systems (bnc#866732) ----------------------------------------------------------------- - Due to previous reason, resurrect systemd-dbus-system-bus-address.patch - Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only needed for quering default DBus directories, which we nowpass to configure. OBS-URL: https://build.opensuse.org/request/show/225960 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=178 --- ...-lookup-string-for-BUSNAME_FAILURE_S.patch | 29 +++ ...k-for-a-64bit-value-when-we-only-hav.patch | 181 ++++++++++++++++++ 0002-make-209-working-on-older-dist.patch | 65 +++++++ ...emory-stream-before-using-the-buffer.patch | 45 +++++ ...-drop-service-from-the-result-string.patch | 25 +++ ...y-one-error-in-array-index-assertion.patch | 35 ++++ 0005-logind-fix-policykit-checks.patch | 43 +++++ ...device-as-SYSTEMD_READY-0-if-no-file.patch | 30 +++ ...ss-duplicate-and-misleading-messages.patch | 66 +++++++ ...ep-modes-are-to-be-separated-by-whit.patch | 36 ++++ ...enable-by_path-links-for-ata-devices.patch | 120 +++++------- 1016-support-powerfail-with-powerstatus.patch | 90 --------- getty-generator-with-serial-3270-tty.patch | 34 ++++ ...linker-find-libudev-for-libdevmapper.patch | 37 ++++ ...USE-etc-sysconfig-kernel-module-list.patch | 4 +- pre_checkin.sh | 12 ++ systemd-dbus-system-bus-address.patch | 24 +++ systemd-mini.changes | 85 ++++++++ systemd-mini.spec | 112 +++++++++-- systemd-powerd-initctl-support.patch | 125 ++++++++++++ systemd-powerfail | 28 --- systemd.changes | 85 ++++++++ systemd.spec | 112 +++++++++-- 23 files changed, 1212 insertions(+), 211 deletions(-) create mode 100644 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch create mode 100644 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch create mode 100644 0002-make-209-working-on-older-dist.patch create mode 100644 0002-manager-flush-memory-stream-before-using-the-buffer.patch create mode 100644 0003-busname-don-t-drop-service-from-the-result-string.patch create mode 100644 0004-fix-off-by-one-error-in-array-index-assertion.patch create mode 100644 0005-logind-fix-policykit-checks.patch create mode 100644 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch create mode 100644 0007-dbus-suppress-duplicate-and-misleading-messages.patch create mode 100644 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch delete mode 100644 1016-support-powerfail-with-powerstatus.patch create mode 100644 getty-generator-with-serial-3270-tty.patch create mode 100644 let-linker-find-libudev-for-libdevmapper.patch create mode 100644 systemd-dbus-system-bus-address.patch create mode 100644 systemd-powerd-initctl-support.patch delete mode 100644 systemd-powerfail diff --git a/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch b/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch new file mode 100644 index 00000000..b8989aef --- /dev/null +++ b/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch @@ -0,0 +1,29 @@ +From 36d239dbdaf94ba2d96bb60ac45ecfc58624b1eb Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Fri, 7 Mar 2014 11:41:18 +0100 +Subject: [PATCH] core/busname: add lookup string for + BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT + +When a busname unit enters BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT, the +serialization will not be able to look up the result as string via +busname_result_to_string(). This leads to an assertion trap during +daemon-reexec. +--- + src/core/busname.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/core/busname.c src/core/busname.c +index 4c34538..237011a 100644 +--- src/core/busname.c ++++ src/core/busname.c +@@ -548,6 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); + static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { + [BUSNAME_SUCCESS] = "success", + [BUSNAME_FAILURE_RESOURCES] = "resources", ++ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", + }; + + DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); +-- +1.7.9.2 + diff --git a/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch b/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch new file mode 100644 index 00000000..47dbcce3 --- /dev/null +++ b/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch @@ -0,0 +1,181 @@ +From 42c4ebcbd4cbd7b27667eb8081ee4dc46f9ece17 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 13 Mar 2014 20:33:22 +0100 +Subject: [PATCH] sd-bus: don't look for a 64bit value when we only have 32bit + value on reply cookie hash table access + +This broke hashtable lookups for the message cookies on s390x, which is +a 64bit BE machine where accessing 32bit values as 64bit and vice versa +will explode. + +Also, while we are at it, be a bit more careful when dealing with the +64bit cookies we expose and the 32bit serial numbers dbus uses in its +payload. + +Problem identified by Fridrich Strba. +--- + src/libsystemd/sd-bus/bus-dump.c | 4 ++-- + src/libsystemd/sd-bus/bus-kernel.c | 2 +- + src/libsystemd/sd-bus/bus-message.c | 15 ++++++++++----- + src/libsystemd/sd-bus/bus-message.h | 5 +++-- + src/libsystemd/sd-bus/sd-bus.c | 12 ++++++------ + 5 files changed, 22 insertions(+), 16 deletions(-) + +diff --git a/src/libsystemd/sd-bus/bus-dump.c b/src/libsystemd/sd-bus/bus-dump.c +index 0e41549..ea81644 100644 +--- a/src/libsystemd/sd-bus/bus-dump.c ++++ b/src/libsystemd/sd-bus/bus-dump.c +@@ -69,10 +69,10 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { + if (BUS_MESSAGE_COOKIE(m) == 0xFFFFFFFFULL) + fprintf(f, " Cookie=-1"); + else +- fprintf(f, " Cookie=%lu", (unsigned long) BUS_MESSAGE_COOKIE(m)); ++ fprintf(f, " Cookie=%" PRIu64, BUS_MESSAGE_COOKIE(m)); + + if (m->reply_cookie != 0) +- fprintf(f, " ReplyCookie=%lu", (unsigned long) m->reply_cookie); ++ fprintf(f, " ReplyCookie=%" PRIu64, m->reply_cookie); + + fputs("\n", f); + +diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c +index 8a2ca02..80ef15b 100644 +--- a/src/libsystemd/sd-bus/bus-kernel.c ++++ b/src/libsystemd/sd-bus/bus-kernel.c +@@ -266,7 +266,7 @@ static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) { + well_known ? 0 : + m->destination ? unique : KDBUS_DST_ID_BROADCAST; + m->kdbus->payload_type = KDBUS_PAYLOAD_DBUS; +- m->kdbus->cookie = m->header->serial; ++ m->kdbus->cookie = (uint64_t) m->header->serial; + m->kdbus->priority = m->priority; + + if (m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c +index fb894ef..97ab0e3 100644 +--- a/src/libsystemd/sd-bus/bus-message.c ++++ b/src/libsystemd/sd-bus/bus-message.c +@@ -617,7 +617,7 @@ static int message_new_reply( + t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; + t->reply_cookie = BUS_MESSAGE_COOKIE(call); + +- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); ++ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); + if (r < 0) + goto fail; + +@@ -752,7 +752,7 @@ int bus_message_new_synthetic_error( + t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; + t->reply_cookie = cookie; + +- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); ++ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); + if (r < 0) + goto fail; + +@@ -5075,21 +5075,26 @@ int bus_message_parse_fields(sd_bus_message *m) { + break; + } + +- case BUS_MESSAGE_HEADER_REPLY_SERIAL: ++ case BUS_MESSAGE_HEADER_REPLY_SERIAL: { ++ uint32_t serial; ++ + if (m->reply_cookie != 0) + return -EBADMSG; + + if (!streq(signature, "u")) + return -EBADMSG; + +- r = message_peek_field_uint32(m, &ri, item_size, &m->reply_cookie); ++ r = message_peek_field_uint32(m, &ri, item_size, &serial); + if (r < 0) + return r; + ++ m->reply_cookie = serial; ++ + if (m->reply_cookie == 0) + return -EBADMSG; + + break; ++ } + + case BUS_MESSAGE_HEADER_UNIX_FDS: + if (unix_fds != 0) +@@ -5489,7 +5494,7 @@ int bus_message_remarshal(sd_bus *bus, sd_bus_message **m) { + return -ENOMEM; + + n->reply_cookie = (*m)->reply_cookie; +- r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, n->reply_cookie); ++ r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) n->reply_cookie); + if (r < 0) + return r; + +diff --git a/src/libsystemd/sd-bus/bus-message.h b/src/libsystemd/sd-bus/bus-message.h +index 5fbe3e6..df79294 100644 +--- a/src/libsystemd/sd-bus/bus-message.h ++++ b/src/libsystemd/sd-bus/bus-message.h +@@ -84,7 +84,7 @@ struct sd_bus_message { + + sd_bus *bus; + +- uint32_t reply_cookie; ++ uint64_t reply_cookie; + + const char *path; + const char *interface; +@@ -162,7 +162,8 @@ static inline uint64_t BUS_MESSAGE_BSWAP64(sd_bus_message *m, uint64_t u) { + return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u; + } + +-static inline uint32_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { ++static inline uint64_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { ++ /* Note that we return the serial converted to a 64bit value here */ + return BUS_MESSAGE_BSWAP32(m, m->header->serial); + } + +diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c +index ca7c428..8e44e50 100644 +--- a/src/libsystemd/sd-bus/sd-bus.c ++++ b/src/libsystemd/sd-bus/sd-bus.c +@@ -1486,15 +1486,15 @@ static int bus_write_message(sd_bus *bus, sd_bus_message *m, bool hint_sync_call + return r; + + if (bus->is_kernel || *idx >= BUS_MESSAGE_SIZE(m)) +- log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", ++ log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", + bus_message_type_to_string(m->header->type), + strna(sd_bus_message_get_sender(m)), + strna(sd_bus_message_get_destination(m)), + strna(sd_bus_message_get_path(m)), + strna(sd_bus_message_get_interface(m)), + strna(sd_bus_message_get_member(m)), +- (unsigned long) BUS_MESSAGE_COOKIE(m), +- (unsigned long) m->reply_cookie, ++ BUS_MESSAGE_COOKIE(m), ++ m->reply_cookie, + strna(m->error.message)); + + return r; +@@ -2253,15 +2253,15 @@ static int process_message(sd_bus *bus, sd_bus_message *m) { + bus->current = m; + bus->iteration_counter++; + +- log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", ++ log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", + bus_message_type_to_string(m->header->type), + strna(sd_bus_message_get_sender(m)), + strna(sd_bus_message_get_destination(m)), + strna(sd_bus_message_get_path(m)), + strna(sd_bus_message_get_interface(m)), + strna(sd_bus_message_get_member(m)), +- (unsigned long) BUS_MESSAGE_COOKIE(m), +- (unsigned long) m->reply_cookie, ++ BUS_MESSAGE_COOKIE(m), ++ m->reply_cookie, + strna(m->error.message)); + + r = process_hello(bus, m); +-- +1.9.0 + diff --git a/0002-make-209-working-on-older-dist.patch b/0002-make-209-working-on-older-dist.patch new file mode 100644 index 00000000..502c6a44 --- /dev/null +++ b/0002-make-209-working-on-older-dist.patch @@ -0,0 +1,65 @@ +--- systemd-209/units/kmod-static-nodes.service.in ++++ systemd-209/units/kmod-static-nodes.service.in 2014-02-27 15:04:30.378236539 +0000 +@@ -15,4 +15,5 @@ ConditionPathExists=/lib/modules/%v/modu + [Service] + Type=oneshot + RemainAfterExit=yes ++ExecStartPre=@MKDIR_P@ /run/tmpfiles.d + ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf +--- systemd-209/configure ++++ systemd-209/configure 2014-02-28 17:13:50.770735397 +0000 +@@ -15999,12 +15999,12 @@ if test -n "$KMOD_CFLAGS"; then + pkg_cv_KMOD_CFLAGS="$KMOD_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 +- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 ++ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 15 " 2>/dev/null` ++ pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 14 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -16016,12 +16016,12 @@ if test -n "$KMOD_LIBS"; then + pkg_cv_KMOD_LIBS="$KMOD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 +- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 ++ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 15 " 2>/dev/null` ++ pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 14 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -16042,18 +16042,18 @@ else + _pkg_short_errors_supported=no + fi + if test $_pkg_short_errors_supported = yes; then +- KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 15 " 2>&1` ++ KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 14 " 2>&1` + else +- KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 15 " 2>&1` ++ KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 14 " 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$KMOD_PKG_ERRORS" >&5 + +- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 ++ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 + elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 ++ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 + else + KMOD_CFLAGS=$pkg_cv_KMOD_CFLAGS + KMOD_LIBS=$pkg_cv_KMOD_LIBS diff --git a/0002-manager-flush-memory-stream-before-using-the-buffer.patch b/0002-manager-flush-memory-stream-before-using-the-buffer.patch new file mode 100644 index 00000000..39ca371c --- /dev/null +++ b/0002-manager-flush-memory-stream-before-using-the-buffer.patch @@ -0,0 +1,45 @@ +From b2cdc6664ef6b56e47d38649d69b9943d9f9f5d0 Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Fri, 7 Mar 2014 14:43:59 +0100 +Subject: [PATCH] manager: flush memory stream before using the buffer + +When the manager receives a SIGUSR2 signal, it opens a memory stream +with open_memstream(), uses the returned file handle for logging, and +dumps the logged content with log_dump(). + +However, the char* buffer is only safe to use after the file handle has +been flushed with fflush, as the man pages states: + + When the stream is closed (fclose(3)) or flushed (fflush(3)), the + locations pointed to by ptr and sizeloc are updated to contain, + respectively, a pointer to the buffer and the current size of the + buffer. + These values remain valid only as long as the caller performs no + further output on the stream. If further output is performed, then the + stream must again be flushed before trying to access these variables. + +Without that call, dump remains NULL and the daemon crashes in +log_dump(). +--- + src/core/manager.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/core/manager.c src/core/manager.c +index 27a1cc6..78f4f3d 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -1621,6 +1621,11 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t + break; + } + ++ if (fflush(f)) { ++ log_warning("Failed to flush status stream"); ++ break; ++ } ++ + log_dump(LOG_INFO, dump); + break; + } +-- +1.7.9.2 + diff --git a/0003-busname-don-t-drop-service-from-the-result-string.patch b/0003-busname-don-t-drop-service-from-the-result-string.patch new file mode 100644 index 00000000..37b7bd5c --- /dev/null +++ b/0003-busname-don-t-drop-service-from-the-result-string.patch @@ -0,0 +1,25 @@ +From 700ff4d97311902a440109a2c081731ab6ae8a20 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 7 Mar 2014 17:29:16 +0100 +Subject: [PATCH] busname: don't drop 'service' from the result string + +--- + src/core/busname.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/busname.c src/core/busname.c +index 237011a..bca2145 100644 +--- src/core/busname.c ++++ src/core/busname.c +@@ -548,7 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); + static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { + [BUSNAME_SUCCESS] = "success", + [BUSNAME_FAILURE_RESOURCES] = "resources", +- [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", ++ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "service-failed-permanent", + }; + + DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); +-- +1.7.9.2 + diff --git a/0004-fix-off-by-one-error-in-array-index-assertion.patch b/0004-fix-off-by-one-error-in-array-index-assertion.patch new file mode 100644 index 00000000..9b718e05 --- /dev/null +++ b/0004-fix-off-by-one-error-in-array-index-assertion.patch @@ -0,0 +1,35 @@ +From 26abdc73a212b90f7c4b71808a1028d2e87ab09f Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 8 Mar 2014 17:32:53 -0500 +Subject: [PATCH] fix off by one error in array index assertion + +Since the index is already post-incremented when the array is appended +to, this assertion can be wrongly reached when the array is at capacity +(with the NULL terminator). The bug is reproducible on shutdown with +the following settings in /etc/systemd/system.conf: + + LogTarget=journal-or-kmsg + LogColor=yes + LogLocation=yes + +Reported by Thermi on IRC. +--- + src/core/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/main.c src/core/main.c +index 6ebfe64..f1b06d8 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1994,7 +1994,7 @@ finish: + if (log_get_show_location()) + command_line[pos++] = "--log-location"; + +- assert(pos + 1 < ELEMENTSOF(command_line)); ++ assert(pos < ELEMENTSOF(command_line)); + + if (arm_reboot_watchdog && arg_shutdown_watchdog > 0) { + char *e; +-- +1.7.9.2 + diff --git a/0005-logind-fix-policykit-checks.patch b/0005-logind-fix-policykit-checks.patch new file mode 100644 index 00000000..69cf61a6 --- /dev/null +++ b/0005-logind-fix-policykit-checks.patch @@ -0,0 +1,43 @@ +From 055d406624cb9e01963558767420b71e5f75d2d3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 10 Mar 2014 08:25:15 -0400 +Subject: [PATCH] logind: fix policykit checks + +--- + src/login/logind-dbus.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git src/login/logind-dbus.c src/login/logind-dbus.c +index c9c58f3..235b131 100644 +--- src/login/logind-dbus.c ++++ src/login/logind-dbus.c +@@ -1480,6 +1480,8 @@ static int method_do_shutdown_or_sleep( + action_multiple_sessions, interactive, error, method, m); + if (r < 0) + return r; ++ if (r == 0) ++ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + + if (blocked) { +@@ -1487,6 +1489,8 @@ static int method_do_shutdown_or_sleep( + action_ignore_inhibit, interactive, error, method, m); + if (r < 0) + return r; ++ if (r == 0) ++ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + + if (!multiple_sessions && !blocked) { +@@ -1494,6 +1498,8 @@ static int method_do_shutdown_or_sleep( + action, interactive, error, method, m); + if (r < 0) + return r; ++ if (r == 0) ++ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + + r = bus_manager_shutdown_or_sleep_now_or_later(m, unit_name, w, error); +-- +1.7.9.2 + diff --git a/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch b/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch new file mode 100644 index 00000000..ce18d6c5 --- /dev/null +++ b/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch @@ -0,0 +1,30 @@ +From ebc54302d7fc70927d5dc119e178ff03f6a911ed Mon Sep 17 00:00:00 2001 +From: Peter Rajnoha +Date: Mon, 10 Mar 2014 22:58:14 +0100 +Subject: [PATCH] rules: mark loop device as SYSTEMD_READY=0 if no file is + attached + +Check existence of loop/backing_file in sysfs and mark loop devices with +SYSTEMD_READY if missing. Such loop files is uninitialized and it's not +ready for use yet (there's no file attached). +--- + rules/99-systemd.rules.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in +index 021359a..04a59c4 100644 +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in +@@ -22,6 +22,9 @@ SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_T + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" + ++# Ignore loop devices that don't have any file attached ++SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" ++ + # Ignore nbd devices in the "add" event, with "change" the nbd is ready + ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" + +-- +1.7.9.2 + diff --git a/0007-dbus-suppress-duplicate-and-misleading-messages.patch b/0007-dbus-suppress-duplicate-and-misleading-messages.patch new file mode 100644 index 00000000..c4051609 --- /dev/null +++ b/0007-dbus-suppress-duplicate-and-misleading-messages.patch @@ -0,0 +1,66 @@ +From fe7f06f142cf42928e419d8578afd75bf1439672 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 11 Mar 2014 04:10:19 +0100 +Subject: [PATCH] dbus: suppress duplicate and misleading messages + +When we try to send a signal on a connection we didn't hae the time to +process the Disconnected message yet, don't generate multiple warning +messages, but only a single debug message. + +https://bugs.freedesktop.org/show_bug.cgi?id=75874 +--- + src/core/dbus-manager.c | 7 +++++-- + src/core/dbus-unit.c | 12 ++---------- + 2 files changed, 7 insertions(+), 12 deletions(-) + +diff --git src/core/dbus-manager.c src/core/dbus-manager.c +index 34ef1f5..30f28b6 100644 +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c +@@ -1357,8 +1357,11 @@ static int reply_unit_file_changes_and_f + unsigned i; + int r; + +- if (n_changes > 0) +- bus_manager_foreach_client(m, send_unit_files_changed, NULL); ++ if (n_changes > 0) { ++ r = bus_manager_foreach_client(m, send_unit_files_changed, NULL); ++ if (r < 0) ++ log_debug("Failed to send UnitFilesChanged signal: %s", strerror(-r)); ++ } + + r = sd_bus_message_new_method_return(message, &reply); + if (r < 0) +diff --git src/core/dbus-unit.c src/core/dbus-unit.c +index 515ac8b..07e7f20 100644 +--- src/core/dbus-unit.c ++++ src/core/dbus-unit.c +@@ -638,21 +638,13 @@ static int send_changed_signal(sd_bus *bus, void *userdata) { + bus, p, + UNIT_VTABLE(u)->bus_interface, + NULL); +- if (r < 0) { +- log_warning("Failed to send out specific PropertiesChanged signal for %s: %s", u->id, strerror(-r)); ++ if (r < 0) + return r; +- } + +- r = sd_bus_emit_properties_changed_strv( ++ return sd_bus_emit_properties_changed_strv( + bus, p, + "org.freedesktop.systemd1.Unit", + NULL); +- if (r < 0) { +- log_warning("Failed to send out generic PropertiesChanged signal for %s: %s", u->id, strerror(-r)); +- return r; +- } +- +- return 0; + } + + void bus_unit_send_change_signal(Unit *u) { +-- +1.7.9.2 + +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c 2014-03-11 11:05:44.350235568 +0000 diff --git a/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch b/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch new file mode 100644 index 00000000..b43a43c1 --- /dev/null +++ b/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch @@ -0,0 +1,36 @@ +From 252094eb05c58270a0bc35b14ad30a126ddbb3bb Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 11 Mar 2014 05:23:39 +0100 +Subject: [PATCH] man: multiple sleep modes are to be separated by whitespace, + not commas + +As pointed out by Jason A. Donenfeld. +--- + man/systemd-sleep.conf.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd-sleep.conf.xml man/systemd-sleep.conf.xml +index a917f4d..d0ea6d8 100644 +--- man/systemd-sleep.conf.xml ++++ man/systemd-sleep.conf.xml +@@ -128,7 +128,7 @@ along with systemd; If not, see . + systemd-hibernate.service8, or + systemd-hybrid-sleep.service8. + More than one value can be specified by separating +- multiple values with commas. They will be tried ++ multiple values with whitespace. They will be tried + in turn, until one is written without error. If + neither succeeds, the operation will be aborted. + +@@ -146,7 +146,7 @@ along with systemd; If not, see . + systemd-hibernate.service8, or + systemd-hybrid-sleep.service8. + More than one value can be specified by separating +- multiple values with commas. They will be tried ++ multiple values with whitespace. They will be tried + in turn, until one is written without error. If + neither succeeds, the operation will be aborted. + +-- +1.7.9.2 + diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index 8d9594ad..58bb7b25 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -1,28 +1,44 @@ +From 5cf46aa4339670afac386b1b0e630b739f3621c7 Mon Sep 17 00:00:00 2001 From: Robert Milasan Date: Thu, 12 Jul 2012 15:56:34 +0000 -Subject: re-enable by_path links for ata devices +Subject: [PATCH] Persistent by_path links for ata devices -Fix by-path links for ATA transport (bnc#770910) +With newer kernel we have the 'port_no' attribute, +which allows us to construct a valid ata by-path link. + +With this patch ATA links of the form + +ata-.[01] + +(for master/slave devices) or + +ata-..0 + +(for devices behind port multipliers) +are generated. + +References: bnc#770910,FATE#317063 + +Signed-off-by: Robert Milasan +Signed-off-by: Hannes Reinecke --- - src/udev/udev-builtin-path_id.c | 92 +++++++++++++++++++++++++++++++++++------ - 1 file changed, 80 insertions(+), 12 deletions(-) + src/udev/udev-builtin-path_id.c | 53 +++++++++++++++++++++++++++++++---------- + 1 file changed, 41 insertions(+), 12 deletions(-) ---- systemd-206.orig/src/udev/udev-builtin-path_id.c -+++ systemd-206/src/udev/udev-builtin-path_id.c -@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_h +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c +index 0599980..fbd3fda 100644 +--- a/src/udev/udev-builtin-path_id.c ++++ b/src/udev/udev-builtin-path_id.c +@@ -339,6 +339,46 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * return parent; } +static struct udev_device *handle_ata(struct udev_device *parent, char **path) +{ -+ struct udev_device *hostdev; -+ int host, bus, target, lun; -+ const char *name; -+ char *base; -+ char *pos; -+ DIR *dir; -+ struct dirent *dent; -+ int basenum, len; ++ struct udev *udev = udev_device_get_udev(parent); ++ struct udev_device *hostdev, *portdev; ++ int host, bus, target, lun, port_no; ++ const char *name, *atahost, *port; + + hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); + if (hostdev == NULL) @@ -32,70 +48,35 @@ Fix by-path links for ATA transport (bnc#770910) + if (sscanf(name, "%d:%d:%d:%d", &host, &bus, &target, &lun) != 4) + return NULL; + -+ /* rebase ata offset to get the local relative number */ -+ basenum = -1; -+ base = strdup(udev_device_get_syspath(hostdev)); -+ if (base == NULL) ++ /* The ata port is the parent of the SCSI host */ ++ hostdev = udev_device_get_parent(hostdev); ++ atahost = udev_device_get_sysname(hostdev); ++ if (strncmp(atahost, "ata", 3)) + return NULL; -+ pos = strrchr(base, '/'); -+ if (pos == NULL) { -+ parent = NULL; -+ goto out; -+ } -+ pos[0] = '\0'; -+ len = strlen(base) - 5; -+ if (len <= 0) { -+ parent = NULL; -+ goto out; -+ } -+ base[len] = '\0'; -+ dir = opendir(base); -+ if (dir == NULL) { -+ parent = NULL; -+ goto out; -+ } -+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { -+ char *rest; -+ int i; + -+ if (dent->d_name[0] == '.') -+ continue; -+ if (dent->d_type != DT_DIR && dent->d_type != DT_LNK) -+ continue; -+ if (strncmp(dent->d_name, "ata", 3) != 0) -+ continue; -+ i = strtoul(&dent->d_name[3], &rest, 10); -+ -+ /* ata devices start with 1, so decrease by 1 if i is bigger then 0 */ -+ if (i > 0) -+ i--; -+ if (rest[0] != '\0') -+ continue; -+ /* -+ * find the smallest number; the host really needs to export its -+ * own instance number per parent device; relying on the global host -+ * enumeration and plainly rebasing the numbers sounds unreliable -+ */ -+ if (basenum == -1 || i < basenum) -+ basenum = i; -+ } -+ closedir(dir); -+ if (basenum == -1) { -+ parent = NULL; ++ /* ATA port number is found in 'port_no' attribute */ ++ portdev = udev_device_new_from_subsystem_sysname(udev, "ata_port", ++ atahost); ++ port = udev_device_get_sysattr_value(portdev, "port_no"); ++ if (!port || sscanf(port, "%d", &port_no) != 1) { ++ hostdev = NULL; + goto out; + } -+ host -= basenum; -+ -+ path_prepend(path, "scsi-%u:%u:%u:%u", host, bus, target, lun); ++ if (bus != 0) ++ /* Devices behind port multiplier have a bus != 0*/ ++ path_prepend(path, "ata-%u.%u.0", port_no, bus); ++ else ++ /* Master/slave are distinguished by target id */ ++ path_prepend(path, "ata-%u.%u", port_no, target); +out: -+ free(base); ++ udev_device_unref(portdev); + return hostdev; +} + static struct udev_device *handle_scsi(struct udev_device *parent, char **path) { const char *devtype; -@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(s +@@ -375,19 +415,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) goto out; } @@ -116,3 +97,6 @@ Fix by-path links for ATA transport (bnc#770910) goto out; } +-- +1.8.1.4 + diff --git a/1016-support-powerfail-with-powerstatus.patch b/1016-support-powerfail-with-powerstatus.patch deleted file mode 100644 index c59f6828..00000000 --- a/1016-support-powerfail-with-powerstatus.patch +++ /dev/null @@ -1,90 +0,0 @@ ---- systemd-208/units/sigpwr.target -+++ systemd-208/units/sigpwr.target 2014-01-14 15:53:32.878735762 +0000 -@@ -8,3 +8,5 @@ - [Unit] - Description=Power Failure - Documentation=man:systemd.special(7) -+BindsTo=powerfail.service -+DefaultDependencies=no -+RefuseManualStart=yes ---- systemd-208/units/powerfail.service -+++ systemd-208/units/powerfail.service 2014-01-14 16:11:41.802235712 +0000 -@@ -0,0 +1,21 @@ -+# This file is part of systemd. -+# -+# Copyright (c) 2014 SUSE LINUX Products GmbH, Germany. -+# Author: Werner Fink -+# Please send feedback to http://www.suse.de/feedback -+# -+# Description: -+# -+# Used to start the systemd-powerfail.service -+# -+ -+[Unit] -+Description=powerfail handling -+BindsTo=sigpwr.target -+DefaultDependencies=no -+RefuseManualStart=yes -+ -+[Service] -+Type=oneshot -+ExecStart=/usr/lib/systemd/systemd-powerfail -+RemainAfterExit=false ---- systemd-208/man/systemd-powerfail.service.8 -+++ systemd-208/man/systemd-powerfail.service.8 2014-01-14 18:22:21.286735810 +0000 -@@ -0,0 +1,54 @@ -+'\" t -+.TH "SYSTEMD\-POWERFAIL\&.SERVICE" "8" "" "systemd 208" "systemd-powerfail.service" -+.\" ----------------------------------------------------------------- -+.\" * Define some portability stuff -+.\" ----------------------------------------------------------------- -+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+.\" http://bugs.debian.org/507673 -+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+.ie \n(.g .ds Aq \(aq -+.el .ds Aq ' -+.\" ----------------------------------------------------------------- -+.\" * set default formatting -+.\" ----------------------------------------------------------------- -+.\" disable hyphenation -+.nh -+.\" disable justification (adjust text to left margin only) -+.ad l -+.\" ----------------------------------------------------------------- -+.\" * MAIN CONTENT STARTS HERE * -+.\" ----------------------------------------------------------------- -+.SH "NAME" -+systemd-powerfail.service, systemd-powerfail \- Power Fail signal handling -+.SH "SYNOPSIS" -+.PP -+systemd\-powerfail\&.service -+.PP -+/usr/lib/systemd/systemd\-powerfail -+.SH "DESCRIPTION" -+.PP -+systemd\-powerfail -+is a system service that is used to evaulate the content of -+\fI/var/run/powerstatus\fR. Based on the content of this -+file: -+.IP F(AIL) -+Power is failing, UPS is providing the power. The -+systemd\-powerfail -+is now doing a timed shutdown. -+.IP O(K) -+The power has been restored, and pending shutdown -+will be cancled. -+.IP L(OW) -+The power is failing and the UPS has a low battery. -+The -+systemd\-powerfail -+is doing an immediate shutdown. -+.PP -+If \fI/var/run/powerstatus\fR doesn't exist or contains anything else then the letters -+F, O or L, systemd\-powerfail will behave as if it has read the letter F. -+.PP -+.SH "SEE ALSO" -+.PP -+\fBshutdown\fR(8), -+\fBpowerd\fR(8) diff --git a/getty-generator-with-serial-3270-tty.patch b/getty-generator-with-serial-3270-tty.patch new file mode 100644 index 00000000..41a2e278 --- /dev/null +++ b/getty-generator-with-serial-3270-tty.patch @@ -0,0 +1,34 @@ +The path for the serial 3270 console looks like (dev/)3270/tty1 which +causes trouble in the systemd-getty-generator as the add_symlink() +tries to make directories for each slash even for the slash after +the @ symbol in the final link name. + +--- + getty-generator.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- systemd-210/src/getty-generator/getty-generator.c ++++ systemd-210/src/getty-generator/getty-generator.c 2014-03-14 14:13:09.296463091 +0000 +@@ -67,6 +67,7 @@ static int add_symlink(const char *fserv + + static int add_serial_getty(const char *tty) { + _cleanup_free_ char *n = NULL; ++ char *at; + + assert(tty); + +@@ -76,6 +77,14 @@ static int add_serial_getty(const char * + if (!n) + return log_oom(); + ++ if ((at = strchr(n, '@'))) { ++ char *sl; ++ while (*(++at) && (sl = strchr(at, '/'))) { ++ *sl = '-'; ++ at = sl; ++ } ++ } ++ + return add_symlink("serial-getty@.service", n); + } + diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch new file mode 100644 index 00000000..e2bbdda1 --- /dev/null +++ b/let-linker-find-libudev-for-libdevmapper.patch @@ -0,0 +1,37 @@ +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-03-13 08:54:36.010736086 +0000 +@@ -3691,6 +3691,10 @@ systemd_cryptsetup_CFLAGS = \ + $(AM_CFLAGS) \ + $(LIBCRYPTSETUP_CFLAGS) + ++systemd_cryptsetup_LDFLAGS = \ ++ $(AM_LDFLAGS) \ ++ -Wl,-rpath-link=$(top_srcdir)/.libs ++ + systemd_cryptsetup_LDADD = \ + libsystemd-label.la \ + libudev-internal.la \ +--- systemd-210/Makefile.in ++++ systemd-210/Makefile.in 2014-03-13 09:19:48.950238725 +0000 +@@ -8964,7 +8964,7 @@ src/cryptsetup/systemd_cryptsetup-crypts + + systemd-cryptsetup$(EXEEXT): $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_DEPENDENCIES) $(EXTRA_systemd_cryptsetup_DEPENDENCIES) + @rm -f systemd-cryptsetup$(EXEEXT) +- $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDADD) $(LIBS) ++ $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDFLAGS) $(systemd_cryptsetup_LDADD) $(LIBS) + src/cryptsetup/cryptsetup-generator.$(OBJEXT): \ + src/cryptsetup/$(am__dirstamp) \ + src/cryptsetup/$(DEPDIR)/$(am__dirstamp) +--- systemd-210/configure.ac ++++ systemd-210/configure.ac 2014-03-13 13:46:24.394235954 +0000 +@@ -156,10 +156,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CF + -fdata-sections \ + -fstack-protector \ + --param=ssp-buffer-size=4]) +-AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], +- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ +- -flto])], +- [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) + AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags") + + AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch index 4037a743..4f557c54 100644 --- a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -19,7 +19,7 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list r = parse_argv(argc, argv); if (r <= 0) -@@ -318,7 +321,29 @@ int main(int argc, char *argv[]) { +@@ -318,7 +321,31 @@ int main(int argc, char *argv[]) { r = k; } } @@ -31,6 +31,8 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list + NULL)) < 0) { + if (r != -ENOENT) + log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); ++ else ++ r = EXIT_SUCCESS; + } else + r = EXIT_SUCCESS; + if (modules_on_boot) { diff --git a/pre_checkin.sh b/pre_checkin.sh index 18706301..69373260 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -4,6 +4,18 @@ # create a -mini spec for systemd for bootstrapping ORIG_SPEC=systemd +for patch in $(grep -lE 'Makefile.(am|in)|configure\.ac' *.patch) +do + sed -rn 's/^Patch([0-9]+):\s+'${patch}'/patch\1/p' $ORIG_SPEC.spec +done | while read patch +do + grep -1E '^%'${patch}'[^0-9]' $ORIG_SPEC.spec | grep -q bootstrap + if ((${PIPESTATUS[1]} != 0)) + then + echo Patch ${patch} does trigger 'auto(re)configure' 1>&2 + exit 1 + fi +done EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" sed "s/^%define bootstrap.*$/${EDIT_WARNING}%define bootstrap 1/; s/^%define udevpkgname.*$/${EDIT_WARNING}%define udevpkgname udev-mini/; diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch new file mode 100644 index 00000000..cede24c9 --- /dev/null +++ b/systemd-dbus-system-bus-address.patch @@ -0,0 +1,24 @@ +--- systemd-210/src/shared/def.h ++++ systemd-210/src/shared/def.h 2014-03-12 13:11:06.502235254 +0000 +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS +--- systemd-210/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-210/src/libsystemd/sd-bus/sd-bus.c 2014-03-12 14:31:09.966736492 +0000 +@@ -794,8 +794,8 @@ static int parse_container_unix_address( + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); ++ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); + + return 0; + } diff --git a/systemd-mini.changes b/systemd-mini.changes index 4ef46a16..80282770 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,88 @@ +------------------------------------------------------------------- +Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de + +- Add patch getty-generator-with-serial-3270-tty.patch to avoid + harmless error messages on not existing getty@3270 files + +------------------------------------------------------------------- +Fri Mar 14 11:07:29 UTC 2014 - werner@suse.de + +- Replace systemd-big-endian-reply-matching.patch with upstream + 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch + to solve broken systemd communication with and over dbus (bnc#866732) + +------------------------------------------------------------------- +Fri Mar 14 08:30:57 UTC 2014 - werner@suse.de + +- Readd patch 1008-add-msft-compability-rules.patch for + older code base as 13.1 +- Modify pre_checkin.sh to throw an error if a patch will be + applied which modifies one of Makefile.am, Makefile.in, or + configiure.ac as this breaks bootstrapping +- Add second version of make-209-working-on-older-dist.patch + to be able to apply for bootstrapping version + +------------------------------------------------------------------- +Thu Mar 13 17:35:11 UTC 2014 - schwab@linux-m68k.org + +- Don't require non-existing binutils-gold + +------------------------------------------------------------------- +Thu Mar 13 15:43:19 UTC 2014 - werner@suse.de + +- Avoid file conflict between udev and systemd (bnc#868230) + +------------------------------------------------------------------- +Wed Mar 12 16:52:09 UTC 2014 - werner@suse.de + +- Modify patch + module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) + +------------------------------------------------------------------- +Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de + +- Add patch systemd-big-endian-reply-matching.patch + make sure that systemd can talk with dbus-daemon even on big + endian systems (bnc#866732) + +----------------------------------------------------------------- +Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com + +- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch +- Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only + needed for quering default DBus directories, which we nowpass to configure. + This also unbreaks libdbus <-> systemd-miniBuild Cycle + +----------------------------------------------------------------- +Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de + +- Add or port upstream bugfix patches: + 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch + 0002-manager-flush-memory-stream-before-using-the-buffer.patch + 0003-busname-don-t-drop-service-from-the-result-string.patch + 0004-fix-off-by-one-error-in-array-index-assertion.patch + 0005-logind-fix-policykit-checks.patch + 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch + 0007-dbus-suppress-duplicate-and-misleading-messages.patch + 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch + +------------------------------------------------------------------- +Tue Mar 11 07:47:55 UTC 2014 - werner@suse.de + +- Make compeletion file parser work (bnc#867664) + +------------------------------------------------------------------- +Fri Mar 7 14:50:39 CET 2014 - hare@suse.de + +- Integrate powerd handling in initctl service + + Remove 1016-support-powerfail-with-powerstatus.patch + + Remove systemd-powerfail + + Add systemd-powerd-initctl-support.patch +- Remove 61-msft.rules; superseded by sg3_utils (bnc#866933) +- Persistent by-path links for ATA devices (FATE#317063) + + Update 1001-re-enable-by_path-links-for-ata-devices.patch + ------------------------------------------------------------------- Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 2d9fb3c2..c554b30a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -40,10 +40,12 @@ Provides: %{real} = %{version}-%{release} BuildRequires: audit-devel %if %{with compat_libs} +# See gold_archs in binutils.spec +%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc BuildRequires: binutils-gold %endif +%endif %if ! 0%{?bootstrap} -BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets %endif BuildRequires: fdupes @@ -72,7 +74,6 @@ BuildRequires: systemd-rpm-macros BuildRequires: tcpd-devel BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 -BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel %if %{with python} @@ -144,12 +145,26 @@ Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source12: systemd-powerfail Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink +############################################################################## +# +# WARNING: For the case of for bootstrapping patch should not affect +# the files +# +# Makefile.am, Makefile.in, and configure.ac +# +# as this triggers an (re)autoconfigure. Please check patches with the command +# +# grep -lE 'Makefile.(am|in)|configure\.ac' *.patch +# +# to surround them with %if ! 0%{?bootstrap} ... %endif +# +############################################################################## +# # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch # PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called @@ -169,6 +184,8 @@ Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch Patch18: fix-owner-of-var-log-btmp.patch +# PATCH-FIX-SUSE Avoid error message about not existing getty@3270 file +Patch19: getty-generator-with-serial-3270-tty.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -204,6 +221,8 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian +Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -218,6 +237,7 @@ Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch Patch114: 0001-systemd-empty-sigmask-on-reexec.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch +Patch118: 0002-make-209-working-on-older-dist.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com @@ -274,6 +294,20 @@ Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch Patch145: 0012-man-add-missing-comma.patch # PATCH-FIX-USTREAM added at 2014/03/07 Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch151: 0005-logind-fix-policykit-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -282,8 +316,6 @@ Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 1016-support-powerfail-with-powerstatus.patch -Patch1016: 1016-support-powerfail-with-powerstatus.patch # PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch @@ -292,11 +324,19 @@ Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1020: 0001-add-network-device-after-NFS-mount-units.patch # PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +# PATCH-FIX-SUSE systemd-powerd-initctl-support.patch +Patch1023: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch Patch1999: systemd-install-compat_pkgconfig-always.patch +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +Patch2000: systemd-dbus-system-bus-address.patch +# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper +Patch2001: let-linker-find-libudev-for-libdevmapper.patch # udev patches # PATCH-FIX-USTREAM added at 2014/03/03 Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch1035: 0007-dbus-suppress-duplicate-and-misleading-messages.patch # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -309,7 +349,7 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 Patch1008: 1008-add-msft-compability-rules.patch %description @@ -331,6 +371,7 @@ Requires: bash %if %{with bash_completion} Requires: bash-completion %endif +BuildArch: noarch %description bash-completion Some systemd commands offer bash completion, but it's an optional dependency. @@ -519,14 +560,18 @@ cp %{SOURCE7} m4/ # systemd patches %patch0 -p1 +%if ! 0%{?bootstrap} %patch1 -p1 +%endif %patch3 -p1 # don't apply when bootstrapping to not modify configure.in %if ! 0%{?bootstrap} %patch4 -p1 %endif %patch5 -p1 +%if ! 0%{?bootstrap} %patch6 -p1 +%endif %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -536,8 +581,11 @@ cp %{SOURCE7} m4/ %patch14 -p1 %patch15 -p1 %patch16 -p1 +%if ! 0%{?bootstrap} %patch17 -p1 +%endif %patch18 -p1 +%patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -556,14 +604,21 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 +%patch47 -p1 %patch84 -p1 +%if ! 0%{?bootstrap} %patch86 -p1 +%endif %patch90 -p1 %patch91 -p1 %patch93 -p1 %patch114 -p0 %if 0%{?suse_version} <= 1310 +%if ! 0%{?bootstrap} %patch117 -p1 +%else +%patch118 -p1 +%endif %endif %patch119 -p1 %patch120 -p1 @@ -580,7 +635,9 @@ cp %{SOURCE7} m4/ %patch131 -p0 %patch132 -p0 %patch133 -p0 +%if ! 0%{?bootstrap} %patch134 -p0 +%endif %patch135 -p0 %patch136 -p0 %patch137 -p0 @@ -593,18 +650,34 @@ cp %{SOURCE7} m4/ %patch144 -p0 %patch145 -p0 %patch146 -p0 +%patch147 -p0 +%patch148 -p0 +%patch149 -p0 +%patch150 -p0 +%patch151 -p0 +%patch152 -p0 +%patch153 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 %patch1014 -p1 -%patch1016 -p1 %patch1018 -p1 %patch1019 -p1 +%if ! 0%{?bootstrap} %patch1020 -p1 +%endif %patch1022 -p1 +%patch1023 -p1 +%if ! 0%{?bootstrap} %patch1999 -p1 +%endif +%patch2000 -p1 +%if ! 0%{?bootstrap} +%patch2001 -p1 +%endif # udev patches %patch1034 -p0 +%patch1035 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -613,14 +686,20 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%endif +%if 0%{?suse_version} <= 1310 +%if ! 0%{?bootstrap} %patch1008 -p1 %endif +%endif # ensure generate files are removed rm -f units/emergency.service %build +%if ! 0%{?bootstrap} autoreconf -fiv +%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -628,6 +707,10 @@ export V=1 %configure \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ + --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ + --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ + --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ + --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ %if 0%{?bootstrap} --disable-gudev \ --disable-myhostname \ @@ -658,6 +741,7 @@ export V=1 %if %{without networkd} --disable-networkd \ %endif + --disable-kdbus \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -803,11 +887,7 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ -# support for SIGPWR handling with /var/run/powerstatus of e.g. powerd -install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ -install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ %if ! 0%{?bootstrap} -install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ %if %{without python} for man in systemd.directives.7 systemd.index.7 do @@ -826,7 +906,7 @@ for f in %{buildroot}%{_datadir}/bash-completion/completions/* do test -e "$f" || break grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*}" + echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" done > files.completion %else > files.completion @@ -1077,6 +1157,7 @@ exit 0 %dir %{_prefix}/lib/systemd/system %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/udev.service +%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service @@ -1124,7 +1205,9 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so /etc/pam.d/systemd-user @@ -1147,7 +1230,12 @@ exit 0 %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d %{_sysconfdir}/xdg/systemd/user +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf diff --git a/systemd-powerd-initctl-support.patch b/systemd-powerd-initctl-support.patch new file mode 100644 index 00000000..bc0e3ca4 --- /dev/null +++ b/systemd-powerd-initctl-support.patch @@ -0,0 +1,125 @@ +From 7b8b1ca177a532a6673e5795af867b3631622391 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Fri, 7 Mar 2014 14:04:58 +0100 +Subject: [PATCH] systemd: powerd initctl support + +Old versions of powerd will be using the initctl fifo to signal +state changes. To maintain backward compability systemd should +be interpreting these messages, too. + +Signed-off-by: Hannes Reinecke +--- + src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 70 insertions(+), 1 deletion(-) + +diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c +index 468df35..d4794a6 100644 +--- a/src/initctl/initctl.c ++++ b/src/initctl/initctl.c +@@ -32,8 +32,11 @@ + #include + #include + #include ++#include ++#include + + #include "sd-daemon.h" ++#include "sd-shutdown.h" + #include "sd-bus.h" + + #include "util.h" +@@ -44,6 +47,7 @@ + #include "bus-util.h" + #include "bus-error.h" + #include "def.h" ++#include "socket-util.h" + + #define SERVER_FD_MAX 16 + #define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC)) +@@ -141,7 +145,53 @@ static void change_runlevel(Server *s, int runlevel) { + } + } + ++static int send_shutdownd(unsigned delay, char mode, const char *message) { ++ usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE; ++ struct sd_shutdown_command c = { ++ .usec = t, ++ .mode = mode, ++ .dry_run = false, ++ .warn_wall = true, ++ }; ++ ++ union sockaddr_union sockaddr = { ++ .un.sun_family = AF_UNIX, ++ .un.sun_path = "/run/systemd/shutdownd", ++ }; ++ ++ struct iovec iovec[2] = {{ ++ .iov_base = (char*) &c, ++ .iov_len = offsetof(struct sd_shutdown_command, wall_message), ++ }}; ++ ++ struct msghdr msghdr = { ++ .msg_name = &sockaddr, ++ .msg_namelen = offsetof(struct sockaddr_un, sun_path) ++ + sizeof("/run/systemd/shutdownd") - 1, ++ .msg_iov = iovec, ++ .msg_iovlen = 1, ++ }; ++ ++ _cleanup_close_ int fd; ++ ++ fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0); ++ if (fd < 0) ++ return -errno; ++ ++ if (!isempty(message)) { ++ iovec[1].iov_base = (char*) message; ++ iovec[1].iov_len = strlen(message); ++ msghdr.msg_iovlen++; ++ } ++ ++ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + static void request_process(Server *s, const struct init_request *req) { ++ int r; + assert(s); + assert(req); + +@@ -184,9 +234,28 @@ static void request_process(Server *s, const struct init_request *req) { + return; + + case INIT_CMD_POWERFAIL: ++ r = send_shutdownd(2, SD_SHUTDOWN_POWEROFF, ++ "THE POWER IS FAILED! SYSTEM GOING DOWN! PLEASE LOG OFF NOW!"); ++ if (r < 0) { ++ log_warning("Failed to talk to shutdownd, shutdown cancelled: %s", strerror(-r)); ++ } ++ return; + case INIT_CMD_POWERFAILNOW: ++ r = send_shutdownd(0, SD_SHUTDOWN_POWEROFF, ++ "THE POWER IS FAILED! LOW BATTERY - EMERGENCY SYSTEM SHUTDOWN!"); ++ if (r < 0) { ++ log_warning("Failed to talk to shutdownd, proceeding with immediate shutdown: %s", strerror(-r)); ++ reboot(RB_ENABLE_CAD); ++ reboot(RB_POWER_OFF); ++ } ++ return; ++ + case INIT_CMD_POWEROK: +- log_warning("Received UPS/power initctl request. This is not implemented in systemd. Upgrade your UPS daemon!"); ++ r = send_shutdownd(0, SD_SHUTDOWN_NONE, ++ "THE POWER IS BACK"); ++ if (r < 0) { ++ log_warning("Failed to talk to shutdownd, proceeding with shutdown: %s", strerror(-r)); ++ } + return; + + case INIT_CMD_CHANGECONS: +-- +1.8.1.4 + diff --git a/systemd-powerfail b/systemd-powerfail deleted file mode 100644 index 797fb7d2..00000000 --- a/systemd-powerfail +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# -# /usr/lib/systemd/systemd-powerfail -# -# Copyright (c) 2014 SUSE LINUX Products GmbH, Germany. -# Author: Werner Fink -# Please send feedback to http://www.suse.de/feedback -# -# Description: -# -# Used to evaluate the status of /var/run/powerstatus -# - -trap "echo" SIGINT SIGSEGV SIGTERM - - POWERFAIL='THE POWER IS FAILED! SYSTEM GOING DOWN! PLEASE LOG OFF NOW!' -POWERFAILNOW='THE POWER IS FAILED! LOW BATTERY - EMERGENCY SYSTEM SHUTDOWN!' - POWERISBACK='THE POWER IS BACK' - -typeset pwrstat=0 -test -s /var/run/powerstatus && read pwrstat < /var/run/powerstatus -rm -f /var/run/powerstatus - -case "$pwrstat" in -O*) exec /sbin/shutdown -c +0 "$POWERISBACK" ;; -L*) exec /sbin/shutdown -P +0 "$POWERFAILNOW" ;; -*) exec /sbin/shutdown -P +2 "$POWERFAIL" ;; -esac diff --git a/systemd.changes b/systemd.changes index 4ef46a16..80282770 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,88 @@ +------------------------------------------------------------------- +Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de + +- Add patch getty-generator-with-serial-3270-tty.patch to avoid + harmless error messages on not existing getty@3270 files + +------------------------------------------------------------------- +Fri Mar 14 11:07:29 UTC 2014 - werner@suse.de + +- Replace systemd-big-endian-reply-matching.patch with upstream + 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch + to solve broken systemd communication with and over dbus (bnc#866732) + +------------------------------------------------------------------- +Fri Mar 14 08:30:57 UTC 2014 - werner@suse.de + +- Readd patch 1008-add-msft-compability-rules.patch for + older code base as 13.1 +- Modify pre_checkin.sh to throw an error if a patch will be + applied which modifies one of Makefile.am, Makefile.in, or + configiure.ac as this breaks bootstrapping +- Add second version of make-209-working-on-older-dist.patch + to be able to apply for bootstrapping version + +------------------------------------------------------------------- +Thu Mar 13 17:35:11 UTC 2014 - schwab@linux-m68k.org + +- Don't require non-existing binutils-gold + +------------------------------------------------------------------- +Thu Mar 13 15:43:19 UTC 2014 - werner@suse.de + +- Avoid file conflict between udev and systemd (bnc#868230) + +------------------------------------------------------------------- +Wed Mar 12 16:52:09 UTC 2014 - werner@suse.de + +- Modify patch + module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) + +------------------------------------------------------------------- +Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de + +- Add patch systemd-big-endian-reply-matching.patch + make sure that systemd can talk with dbus-daemon even on big + endian systems (bnc#866732) + +----------------------------------------------------------------- +Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com + +- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch +- Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only + needed for quering default DBus directories, which we nowpass to configure. + This also unbreaks libdbus <-> systemd-miniBuild Cycle + +----------------------------------------------------------------- +Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de + +- Add or port upstream bugfix patches: + 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch + 0002-manager-flush-memory-stream-before-using-the-buffer.patch + 0003-busname-don-t-drop-service-from-the-result-string.patch + 0004-fix-off-by-one-error-in-array-index-assertion.patch + 0005-logind-fix-policykit-checks.patch + 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch + 0007-dbus-suppress-duplicate-and-misleading-messages.patch + 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch + +------------------------------------------------------------------- +Tue Mar 11 07:47:55 UTC 2014 - werner@suse.de + +- Make compeletion file parser work (bnc#867664) + +------------------------------------------------------------------- +Fri Mar 7 14:50:39 CET 2014 - hare@suse.de + +- Integrate powerd handling in initctl service + + Remove 1016-support-powerfail-with-powerstatus.patch + + Remove systemd-powerfail + + Add systemd-powerd-initctl-support.patch +- Remove 61-msft.rules; superseded by sg3_utils (bnc#866933) +- Persistent by-path links for ATA devices (FATE#317063) + + Update 1001-re-enable-by_path-links-for-ata-devices.patch + ------------------------------------------------------------------- Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 4340cc00..7be75e0f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -35,10 +35,12 @@ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel %if %{with compat_libs} +# See gold_archs in binutils.spec +%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc BuildRequires: binutils-gold %endif +%endif %if ! 0%{?bootstrap} -BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets %endif BuildRequires: fdupes @@ -67,7 +69,6 @@ BuildRequires: systemd-rpm-macros BuildRequires: tcpd-devel BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 -BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel %if %{with python} @@ -139,12 +140,26 @@ Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source12: systemd-powerfail Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink +############################################################################## +# +# WARNING: For the case of for bootstrapping patch should not affect +# the files +# +# Makefile.am, Makefile.in, and configure.ac +# +# as this triggers an (re)autoconfigure. Please check patches with the command +# +# grep -lE 'Makefile.(am|in)|configure\.ac' *.patch +# +# to surround them with %if ! 0%{?bootstrap} ... %endif +# +############################################################################## +# # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch # PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called @@ -164,6 +179,8 @@ Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch Patch18: fix-owner-of-var-log-btmp.patch +# PATCH-FIX-SUSE Avoid error message about not existing getty@3270 file +Patch19: getty-generator-with-serial-3270-tty.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -199,6 +216,8 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian +Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -213,6 +232,7 @@ Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch Patch114: 0001-systemd-empty-sigmask-on-reexec.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch +Patch118: 0002-make-209-working-on-older-dist.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com @@ -269,6 +289,20 @@ Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch Patch145: 0012-man-add-missing-comma.patch # PATCH-FIX-USTREAM added at 2014/03/07 Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch151: 0005-logind-fix-policykit-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -277,8 +311,6 @@ Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 1016-support-powerfail-with-powerstatus.patch -Patch1016: 1016-support-powerfail-with-powerstatus.patch # PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch @@ -287,11 +319,19 @@ Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1020: 0001-add-network-device-after-NFS-mount-units.patch # PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +# PATCH-FIX-SUSE systemd-powerd-initctl-support.patch +Patch1023: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch Patch1999: systemd-install-compat_pkgconfig-always.patch +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +Patch2000: systemd-dbus-system-bus-address.patch +# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper +Patch2001: let-linker-find-libudev-for-libdevmapper.patch # udev patches # PATCH-FIX-USTREAM added at 2014/03/03 Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch1035: 0007-dbus-suppress-duplicate-and-misleading-messages.patch # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -304,7 +344,7 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 Patch1008: 1008-add-msft-compability-rules.patch %description @@ -326,6 +366,7 @@ Requires: bash %if %{with bash_completion} Requires: bash-completion %endif +BuildArch: noarch %description bash-completion Some systemd commands offer bash completion, but it's an optional dependency. @@ -514,14 +555,18 @@ cp %{SOURCE7} m4/ # systemd patches %patch0 -p1 +%if ! 0%{?bootstrap} %patch1 -p1 +%endif %patch3 -p1 # don't apply when bootstrapping to not modify configure.in %if ! 0%{?bootstrap} %patch4 -p1 %endif %patch5 -p1 +%if ! 0%{?bootstrap} %patch6 -p1 +%endif %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -531,8 +576,11 @@ cp %{SOURCE7} m4/ %patch14 -p1 %patch15 -p1 %patch16 -p1 +%if ! 0%{?bootstrap} %patch17 -p1 +%endif %patch18 -p1 +%patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -551,14 +599,21 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 +%patch47 -p1 %patch84 -p1 +%if ! 0%{?bootstrap} %patch86 -p1 +%endif %patch90 -p1 %patch91 -p1 %patch93 -p1 %patch114 -p0 %if 0%{?suse_version} <= 1310 +%if ! 0%{?bootstrap} %patch117 -p1 +%else +%patch118 -p1 +%endif %endif %patch119 -p1 %patch120 -p1 @@ -575,7 +630,9 @@ cp %{SOURCE7} m4/ %patch131 -p0 %patch132 -p0 %patch133 -p0 +%if ! 0%{?bootstrap} %patch134 -p0 +%endif %patch135 -p0 %patch136 -p0 %patch137 -p0 @@ -588,18 +645,34 @@ cp %{SOURCE7} m4/ %patch144 -p0 %patch145 -p0 %patch146 -p0 +%patch147 -p0 +%patch148 -p0 +%patch149 -p0 +%patch150 -p0 +%patch151 -p0 +%patch152 -p0 +%patch153 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 %patch1014 -p1 -%patch1016 -p1 %patch1018 -p1 %patch1019 -p1 +%if ! 0%{?bootstrap} %patch1020 -p1 +%endif %patch1022 -p1 +%patch1023 -p1 +%if ! 0%{?bootstrap} %patch1999 -p1 +%endif +%patch2000 -p1 +%if ! 0%{?bootstrap} +%patch2001 -p1 +%endif # udev patches %patch1034 -p0 +%patch1035 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -608,14 +681,20 @@ cp %{SOURCE7} m4/ # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%endif +%if 0%{?suse_version} <= 1310 +%if ! 0%{?bootstrap} %patch1008 -p1 %endif +%endif # ensure generate files are removed rm -f units/emergency.service %build +%if ! 0%{?bootstrap} autoreconf -fiv +%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -623,6 +702,10 @@ export V=1 %configure \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ + --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ + --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ + --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ + --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ %if 0%{?bootstrap} --disable-gudev \ --disable-myhostname \ @@ -653,6 +736,7 @@ export V=1 %if %{without networkd} --disable-networkd \ %endif + --disable-kdbus \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -798,11 +882,7 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ -# support for SIGPWR handling with /var/run/powerstatus of e.g. powerd -install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ -install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ %if ! 0%{?bootstrap} -install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ %if %{without python} for man in systemd.directives.7 systemd.index.7 do @@ -821,7 +901,7 @@ for f in %{buildroot}%{_datadir}/bash-completion/completions/* do test -e "$f" || break grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*}" + echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" done > files.completion %else > files.completion @@ -1072,6 +1152,7 @@ exit 0 %dir %{_prefix}/lib/systemd/system %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/udev.service +%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service @@ -1119,7 +1200,9 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so /etc/pam.d/systemd-user @@ -1142,7 +1225,12 @@ exit 0 %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d %{_sysconfdir}/xdg/systemd/user +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf From c311032ffb65c7998feb688a15e114e4cc0c36ab0c0a349914f689f3e236cd39 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 3 Apr 2014 14:38:38 +0000 Subject: [PATCH 174/991] Accepting request 228354 from Base:System OBS-URL: https://build.opensuse.org/request/show/228354 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=179 --- ...t-s-not-OK-to-invoke-alloca-in-loops.patch | 80 +++ ...or-don-t-return-OOM-on-parentless-de.patch | 20 + ...emory-leak-when-kdbus-is-not-enabled.patch | 26 + ...l-bus-call-on-machine-objects-when-w.patch | 70 +++ 0002-make-209-working-on-older-dist.patch | 65 --- ...-assert_return-to-check-for-disconne.patch | 498 ++++++++++++++++++ ...o-relabel-mounts-before-we-loaded-th.patch | 29 + ...daemon-fix-incorrect-variable-access.patch | 25 + ...-return-1-EINVAL-on-allocation-error.patch | 35 ++ ...ization-perturbation-value-right-bef.patch | 75 +++ 0007-networkd-fix-typo.patch | 26 + ...ccidentally-turn-of-watchdog-timer-e.patch | 29 + ...ess-invalid-memory-if-a-signal-match.patch | 27 + ...ode-is-long-long-gone-don-t-mention-.patch | 53 ++ ...n-the-user-types-a-overly-long-passw.patch | 33 ++ ...ke-if-somebody-sends-us-a-message-wi.patch | 47 ++ ...ve-stray-reset-of-error-return-value.patch | 24 + ...systemd-timedate-udev-spelling-fixes.patch | 118 +++++ 1006-udev-always-rename-network.patch | 94 ++-- ...pletion-smart-to-be-able-to-redirect.patch | 2 +- ...andom-hangs-on-timeouts-due-lost-cwd.patch | 23 + boot-local-start.patch | 12 + pre_checkin.sh | 12 - prepare-suspend-to-disk.patch | 28 + systemctl-set-default-target.patch | 28 + systemd-mini.changes | 78 ++- systemd-mini.spec | 139 +++-- systemd-sleep-grub | 204 +++++++ systemd.changes | 78 ++- systemd.spec | 139 +++-- udev-generate-peristent-rule.sh | 414 +++++++++++++++ 31 files changed, 2311 insertions(+), 220 deletions(-) create mode 100644 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch create mode 100644 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch create mode 100644 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch create mode 100644 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch delete mode 100644 0002-make-209-working-on-older-dist.patch create mode 100644 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch create mode 100644 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch create mode 100644 0005-sd-daemon-fix-incorrect-variable-access.patch create mode 100644 0006-Do-not-return-1-EINVAL-on-allocation-error.patch create mode 100644 0006-sd-event-initialization-perturbation-value-right-bef.patch create mode 100644 0007-networkd-fix-typo.patch create mode 100644 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch create mode 100644 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch create mode 100644 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch create mode 100644 0009-ask-password-when-the-user-types-a-overly-long-passw.patch create mode 100644 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch create mode 100644 0012-journald-remove-stray-reset-of-error-return-value.patch create mode 100644 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch create mode 100644 avoid-random-hangs-on-timeouts-due-lost-cwd.patch create mode 100644 boot-local-start.patch create mode 100644 prepare-suspend-to-disk.patch create mode 100644 systemctl-set-default-target.patch create mode 100644 systemd-sleep-grub create mode 100644 udev-generate-peristent-rule.sh diff --git a/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch b/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch new file mode 100644 index 00000000..06845364 --- /dev/null +++ b/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch @@ -0,0 +1,80 @@ +From a641dcd9bf05418d6a6c165e1c0cff615b4a0f47 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 18 Mar 2014 04:06:36 +0100 +Subject: [PATCH] cgroup: it's not OK to invoke alloca() in loops + +--- + src/core/mount-setup.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index 387030a..c6d3f4b 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -216,10 +216,10 @@ int mount_setup_early(void) { + } + + int mount_cgroup_controllers(char ***join_controllers) { +- int r; +- char buf[LINE_MAX]; + _cleanup_set_free_free_ Set *controllers = NULL; + _cleanup_fclose_ FILE *f; ++ char buf[LINE_MAX]; ++ int r; + + /* Mount all available cgroup controllers that are built into the kernel. */ + +@@ -262,6 +262,7 @@ int mount_cgroup_controllers(char ***join_controllers) { + } + + for (;;) { ++ _cleanup_free_ char *options = NULL, *controller = NULL, *where = NULL; + MountPoint p = { + .what = "cgroup", + .type = "cgroup", +@@ -269,7 +270,6 @@ int mount_cgroup_controllers(char ***join_controllers) { + .mode = MNT_IN_CONTAINER, + }; + char ***k = NULL; +- _cleanup_free_ char *options = NULL, *controller; + + controller = set_steal_first(controllers); + if (!controller) +@@ -286,7 +286,7 @@ int mount_cgroup_controllers(char ***join_controllers) { + for (i = *k, j = *k; *i; i++) { + + if (!streq(*i, controller)) { +- char _cleanup_free_ *t; ++ _cleanup_free_ char *t; + + t = set_remove(controllers, *i); + if (!t) { +@@ -308,7 +308,11 @@ int mount_cgroup_controllers(char ***join_controllers) { + controller = NULL; + } + +- p.where = strappenda("/sys/fs/cgroup/", options); ++ where = strappend("/sys/fs/cgroup/", options); ++ if (!where) ++ return log_oom(); ++ ++ p.where = where; + p.options = options; + + r = mount_one(&p, true); +@@ -319,7 +323,11 @@ int mount_cgroup_controllers(char ***join_controllers) { + char **i; + + for (i = *k; *i; i++) { +- char *t = strappenda("/sys/fs/cgroup/", *i); ++ _cleanup_free_ char *t = NULL; ++ ++ t = strappend("/sys/fs/cgroup/", *i); ++ if (!t) ++ return log_oom(); + + r = symlink(options, t); + if (r < 0 && errno != EEXIST) { +-- +1.7.9.2 + diff --git a/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch b/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch new file mode 100644 index 00000000..be9add48 --- /dev/null +++ b/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch @@ -0,0 +1,20 @@ +From 9c4495ca561624c2f0085507dd1288ed5f1247c5 Mon Sep 17 00:00:00 2001 +From: Tomasz Torcz +Date: Wed, 12 Mar 2014 19:25:11 +0100 +Subject: [PATCH] gpt-auto-generator: don't return OOM on parentless devices + +--- + src/gpt-auto-generator/gpt-auto-generator.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/gpt-auto-generator/gpt-auto-generator.c ++++ src/gpt-auto-generator/gpt-auto-generator.c 2014-03-18 13:35:11.438235125 +0000 +@@ -254,7 +254,7 @@ static int enumerate_partitions(struct u + + parent = udev_device_get_parent(d); + if (!parent) +- return log_oom(); ++ return 0; + + r = udev_enumerate_add_match_parent(e, parent); + if (r < 0) diff --git a/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch b/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch new file mode 100644 index 00000000..718f6862 --- /dev/null +++ b/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch @@ -0,0 +1,26 @@ +From 82923adfe5c4fa09cc91fd2a2e374c936cd4a186 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 13 Mar 2014 20:00:50 +0100 +Subject: [PATCH] bus: fix memory leak when kdbus is not enabled + +--- + src/libsystemd/sd-bus/sd-bus.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index ffa3369..ca7c428 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -1189,7 +1189,8 @@ _public_ int sd_bus_open_user(sd_bus **ret) { + #ifdef ENABLE_KDBUS + asprintf(&b->address, KERNEL_USER_BUS_FMT, (unsigned long) getuid()); + #else +- return -ECONNREFUSED; ++ r = -ECONNREFUSED; ++ goto fail; + #endif + } + +-- +1.7.9.2 + diff --git a/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch b/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch new file mode 100644 index 00000000..c3381ef7 --- /dev/null +++ b/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch @@ -0,0 +1,70 @@ +From de58a50e24a0d55e3bbcc77f8f6170a7322acf52 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 18 Mar 2014 04:43:08 +0100 +Subject: [PATCH] machined: fix Kill() bus call on machine objects when "what" + is specified as "leader" + +--- + src/machine/machine.c | 10 +++++++++- + src/machine/machined-dbus.c | 4 ++-- + src/machine/machined.h | 2 +- + 3 files changed, 12 insertions(+), 4 deletions(-) + +diff --git src/machine/machine.c src/machine/machine.c +index 4596a80..9a5cc9a 100644 +--- src/machine/machine.c ++++ src/machine/machine.c +@@ -410,7 +410,15 @@ int machine_kill(Machine *m, KillWho who, int signo) { + if (!m->unit) + return -ESRCH; + +- return manager_kill_unit(m->manager, m->unit, who, signo, NULL); ++ if (who == KILL_LEADER) { ++ /* If we shall simply kill the leader, do so directly */ ++ ++ if (kill(m->leader, signo) < 0) ++ return -errno; ++ } ++ ++ /* Otherwise make PID 1 do it for us, for the entire cgroup */ ++ return manager_kill_unit(m->manager, m->unit, signo, NULL); + } + + static const char* const machine_class_table[_MACHINE_CLASS_MAX] = { +diff --git src/machine/machined-dbus.c src/machine/machined-dbus.c +index 09d28bb..9473105 100644 +--- src/machine/machined-dbus.c ++++ src/machine/machined-dbus.c +@@ -655,7 +655,7 @@ int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c + return 1; + } + +-int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error) { ++int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error) { + assert(manager); + assert(unit); + +@@ -667,7 +667,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo + "KillUnit", + error, + NULL, +- "ssi", unit, who == KILL_LEADER ? "main" : "all", signo); ++ "ssi", unit, "all", signo); + } + + int manager_unit_is_active(Manager *manager, const char *unit) { +diff --git src/machine/machined.h src/machine/machined.h +index d4b581b..2dba303 100644 +--- src/machine/machined.h ++++ src/machine/machined.h +@@ -67,6 +67,6 @@ int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_b + + int manager_start_scope(Manager *manager, const char *scope, pid_t pid, const char *slice, const char *description, sd_bus_message *more_properties, sd_bus_error *error, char **job); + int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, char **job); +-int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error); ++int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error); + int manager_unit_is_active(Manager *manager, const char *unit); + int manager_job_is_active(Manager *manager, const char *path); +-- +1.7.9.2 + diff --git a/0002-make-209-working-on-older-dist.patch b/0002-make-209-working-on-older-dist.patch deleted file mode 100644 index 502c6a44..00000000 --- a/0002-make-209-working-on-older-dist.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- systemd-209/units/kmod-static-nodes.service.in -+++ systemd-209/units/kmod-static-nodes.service.in 2014-02-27 15:04:30.378236539 +0000 -@@ -15,4 +15,5 @@ ConditionPathExists=/lib/modules/%v/modu - [Service] - Type=oneshot - RemainAfterExit=yes -+ExecStartPre=@MKDIR_P@ /run/tmpfiles.d - ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf ---- systemd-209/configure -+++ systemd-209/configure 2014-02-28 17:13:50.770735397 +0000 -@@ -15999,12 +15999,12 @@ if test -n "$KMOD_CFLAGS"; then - pkg_cv_KMOD_CFLAGS="$KMOD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 -- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 -+ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then -- pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 15 " 2>/dev/null` -+ pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 14 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes - else - pkg_failed=yes -@@ -16016,12 +16016,12 @@ if test -n "$KMOD_LIBS"; then - pkg_cv_KMOD_LIBS="$KMOD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 -- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 -+ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then -- pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 15 " 2>/dev/null` -+ pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 14 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes - else - pkg_failed=yes -@@ -16042,18 +16042,18 @@ else - _pkg_short_errors_supported=no - fi - if test $_pkg_short_errors_supported = yes; then -- KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 15 " 2>&1` -+ KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 14 " 2>&1` - else -- KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 15 " 2>&1` -+ KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 14 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$KMOD_PKG_ERRORS" >&5 - -- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 -+ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 - elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } -- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 -+ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 - else - KMOD_CFLAGS=$pkg_cv_KMOD_CFLAGS - KMOD_LIBS=$pkg_cv_KMOD_LIBS diff --git a/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch b/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch new file mode 100644 index 00000000..72455f2c --- /dev/null +++ b/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch @@ -0,0 +1,498 @@ +From a3d59cd1b0a2738d06893948492113f2c35be0af Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 19 Mar 2014 21:41:21 +0100 +Subject: [PATCH] sd-bus: don't use assert_return() to check for disconnected + bus connections + +A terminated connection is a runtime error and not a developer mistake, +hence don't use assert_return() to check for it. +--- + src/libsystemd/sd-bus/bus-control.c | 20 +++++++++++++----- + src/libsystemd/sd-bus/bus-convenience.c | 58 +++++++++++++++++++++++++++++++++++++++++------------- + src/libsystemd/sd-bus/bus-objects.c | 23 +++++++++++++++------ + src/libsystemd/sd-bus/sd-bus.c | 49 +++++++++++++++++++++++++++++++++------------ + 4 files changed, 113 insertions(+), 37 deletions(-) + +--- src/libsystemd/sd-bus/bus-control.c ++++ src/libsystemd/sd-bus/bus-control.c 2014-03-28 00:00:00.000000000 +0000 +@@ -128,12 +128,14 @@ _public_ int sd_bus_request_name(sd_bus + assert_return(bus, -EINVAL); + assert_return(name, -EINVAL); + assert_return(bus->bus_client, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(!(flags & ~(SD_BUS_NAME_ALLOW_REPLACEMENT|SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_QUEUE)), -EINVAL); + assert_return(service_name_is_valid(name), -EINVAL); + assert_return(name[0] != ':', -EINVAL); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_request_name_kernel(bus, name, flags); + else +@@ -201,11 +203,13 @@ _public_ int sd_bus_release_name(sd_bus + assert_return(bus, -EINVAL); + assert_return(name, -EINVAL); + assert_return(bus->bus_client, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(service_name_is_valid(name), -EINVAL); + assert_return(name[0] != ':', -EINVAL); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_release_name_kernel(bus, name); + else +@@ -344,9 +348,11 @@ static int bus_list_names_dbus1(sd_bus * + _public_ int sd_bus_list_names(sd_bus *bus, char ***acquired, char ***activatable) { + assert_return(bus, -EINVAL); + assert_return(acquired || activatable, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_list_names_kernel(bus, acquired, activatable); + else +@@ -737,11 +743,13 @@ _public_ int sd_bus_get_owner( + assert_return(name, -EINVAL); + assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); + assert_return(mask == 0 || creds, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(service_name_is_valid(name), -EINVAL); + assert_return(bus->bus_client, -ENODATA); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_get_owner_kdbus(bus, name, mask, creds); + else +@@ -1198,10 +1206,12 @@ _public_ int sd_bus_get_owner_machine_id + assert_return(bus, -EINVAL); + assert_return(name, -EINVAL); + assert_return(machine, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(service_name_is_valid(name), -EINVAL); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (streq_ptr(name, bus->unique_name)) + return sd_id128_get_machine(machine); + +--- src/libsystemd/sd-bus/bus-convenience.c ++++ src/libsystemd/sd-bus/bus-convenience.c 2014-03-28 00:00:00.000000000 +0000 +@@ -36,9 +36,11 @@ _public_ int sd_bus_emit_signal( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_message_new_signal(bus, &m, path, interface, member); + if (r < 0) + return r; +@@ -70,9 +72,11 @@ _public_ int sd_bus_call_method( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_message_new_method_call(bus, &m, destination, path, interface, member); + if (r < 0) + return r; +@@ -100,9 +104,12 @@ _public_ int sd_bus_reply_method_return( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -134,9 +141,12 @@ _public_ int sd_bus_reply_method_error( + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); + assert_return(sd_bus_error_is_set(e), -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -159,9 +169,12 @@ _public_ int sd_bus_reply_method_errorf( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -182,9 +195,12 @@ _public_ int sd_bus_reply_method_errno( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -208,9 +224,12 @@ _public_ int sd_bus_reply_method_errnof( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -239,9 +258,11 @@ _public_ int sd_bus_get_property( + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(reply, -EINVAL); + assert_return(signature_is_single(type, false), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &rep, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -273,9 +294,11 @@ _public_ int sd_bus_get_property_trivial + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(bus_type_is_trivial(type), -EINVAL); + assert_return(ptr, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -309,9 +332,11 @@ _public_ int sd_bus_get_property_string( + assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(ret, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -348,9 +373,11 @@ _public_ int sd_bus_get_property_strv( + assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(ret, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -383,9 +410,11 @@ _public_ int sd_bus_set_property( + assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(signature_is_single(type, false), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_message_new_method_call(bus, &m, destination, path, "org.freedesktop.DBus.Properties", "Set"); + if (r < 0) + return r; +@@ -416,9 +445,12 @@ _public_ int sd_bus_query_sender_creds(s + + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + c = sd_bus_message_get_creds(call); + + /* All data we need? */ +--- src/libsystemd/sd-bus/bus-objects.c ++++ src/libsystemd/sd-bus/bus-objects.c 2014-03-28 00:00:00.000000000 +0000 +@@ -2196,9 +2196,10 @@ _public_ int sd_bus_emit_properties_chan + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); + assert_return(interface_name_is_valid(interface), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + /* A non-NULL but empty names list means nothing needs to be + generated. A NULL list OTOH indicates that all properties +@@ -2241,9 +2242,11 @@ _public_ int sd_bus_emit_properties_chan + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); + assert_return(interface_name_is_valid(interface), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (!name) + return 0; + +@@ -2361,9 +2364,11 @@ _public_ int sd_bus_emit_interfaces_adde + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (strv_isempty(interfaces)) + return 0; + +@@ -2421,9 +2426,11 @@ _public_ int sd_bus_emit_interfaces_adde + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + interfaces = strv_from_stdarg_alloca(interface); + + return sd_bus_emit_interfaces_added_strv(bus, path, interfaces); +@@ -2435,9 +2442,11 @@ _public_ int sd_bus_emit_interfaces_remo + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (strv_isempty(interfaces)) + return 0; + +@@ -2461,9 +2470,11 @@ _public_ int sd_bus_emit_interfaces_remo + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + interfaces = strv_from_stdarg_alloca(interface); + + return sd_bus_emit_interfaces_removed_strv(bus, path, interfaces); +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c 2014-03-28 12:19:27.146736146 +0000 +@@ -1592,10 +1592,12 @@ static int bus_send_internal(sd_bus *bus + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (m->n_fds > 0) { + r = sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD); + if (r < 0) +@@ -1671,10 +1673,12 @@ _public_ int sd_bus_send_to(sd_bus *bus, + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (!streq_ptr(m->destination, destination)) { + + if (!destination) +@@ -1726,13 +1730,15 @@ _public_ int sd_bus_call_async( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); + assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); + assert_return(callback, -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func); + if (r < 0) + return r; +@@ -1839,13 +1845,15 @@ _public_ int sd_bus_call( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); + assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); + assert_return(!bus_error_is_dirty(error), -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = bus_ensure_running(bus); + if (r < 0) + return r; +@@ -1971,9 +1979,11 @@ _public_ int sd_bus_get_events(sd_bus *b + int flags = 0; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) ++ return -ENOTCONN; ++ + if (bus->state == BUS_OPENING) + flags |= POLLOUT; + else if (bus->state == BUS_AUTHENTICATING) { +@@ -1998,9 +2008,11 @@ _public_ int sd_bus_get_timeout(sd_bus * + + assert_return(bus, -EINVAL); + assert_return(timeout_usec, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) ++ return -ENOTCONN; ++ + if (bus->state == BUS_CLOSING) { + *timeout_usec = 0; + return 1; +@@ -2510,7 +2522,8 @@ static int bus_poll(sd_bus *bus, bool ne + if (bus->state == BUS_CLOSING) + return 1; + +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + e = sd_bus_get_events(bus); + if (e < 0) +@@ -2565,7 +2578,8 @@ _public_ int sd_bus_wait(sd_bus *bus, ui + if (bus->state == BUS_CLOSING) + return 0; + +- assert_return(BUS_IS_OPEN(bus->state) , -ENOTCONN); ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + if (bus->rqueue_size > 0) + return 0; +@@ -2582,7 +2596,8 @@ _public_ int sd_bus_flush(sd_bus *bus) { + if (bus->state == BUS_CLOSING) + return 0; + +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + r = bus_ensure_running(bus); + if (r < 0) +@@ -3058,9 +3073,13 @@ _public_ int sd_bus_get_peer_creds(sd_bu + assert_return(bus, -EINVAL); + assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); + assert_return(ret, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); +- assert_return(!bus->is_kernel, -ENOTSUP); ++ ++ if (!bus->is_kernel) ++ return -ENOTSUP; ++ ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + if (!bus->ucred_valid && !isempty(bus->label)) + return -ENODATA; +@@ -3099,9 +3118,13 @@ _public_ int sd_bus_try_close(sd_bus *bu + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); +- assert_return(bus->is_kernel, -ENOTSUP); ++ ++ if (!bus->is_kernel) ++ return -ENOTSUP; ++ ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + if (bus->rqueue_size > 0) + return -EBUSY; diff --git a/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch b/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch new file mode 100644 index 00000000..17d7f268 --- /dev/null +++ b/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch @@ -0,0 +1,29 @@ +From c4bfd1691f4d3e26d6d7f34dbca941e119956e8a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Mar 2014 21:04:02 +0100 +Subject: [PATCH] core: don't try to relabel mounts before we loaded the + policy + +--- + src/core/mount-setup.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index 147333a..0a45b24 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -172,7 +172,10 @@ static int mount_one(const MountPoint *p, bool relabel) { + + /* The access mode here doesn't really matter too much, since + * the mounted file system will take precedence anyway. */ +- mkdir_p_label(p->where, 0755); ++ if (relabel) ++ mkdir_p_label(p->where, 0755); ++ else ++ mkdir_p(p->where, 0755); + + log_debug("Mounting %s to %s of type %s with options %s.", + p->what, +-- +1.7.9.2 + diff --git a/0005-sd-daemon-fix-incorrect-variable-access.patch b/0005-sd-daemon-fix-incorrect-variable-access.patch new file mode 100644 index 00000000..99a923b2 --- /dev/null +++ b/0005-sd-daemon-fix-incorrect-variable-access.patch @@ -0,0 +1,25 @@ +From 56dc9aec21ab23f76fadf45585adf88e71aa8078 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Mar 2014 23:54:14 +0100 +Subject: [PATCH] sd-daemon: fix incorrect variable access + +--- + src/libsystemd/sd-daemon/sd-daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-daemon/sd-daemon.c src/libsystemd/sd-daemon/sd-daemon.c +index 21fb346..b013438 100644 +--- src/libsystemd/sd-daemon/sd-daemon.c ++++ src/libsystemd/sd-daemon/sd-daemon.c +@@ -517,7 +517,7 @@ _public_ int sd_watchdog_enabled(int unset_environment, uint64_t *usec) { + r = -errno; + goto finish; + } +- if (!p || p == e || *p || l <= 0) { ++ if (!p || p == e || *p || ll <= 0) { + r = -EINVAL; + goto finish; + } +-- +1.7.9.2 + diff --git a/0006-Do-not-return-1-EINVAL-on-allocation-error.patch b/0006-Do-not-return-1-EINVAL-on-allocation-error.patch new file mode 100644 index 00000000..bf1db2c6 --- /dev/null +++ b/0006-Do-not-return-1-EINVAL-on-allocation-error.patch @@ -0,0 +1,35 @@ +From 315db1a8aed226a51a4cf700172249cfd10ae115 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 14 Mar 2014 09:05:56 -0400 +Subject: [PATCH] Do not return -1 (EINVAL) on allocation error + +--- + src/core/socket.c | 8 +++----- + +diff --git src/core/socket.c src/core/socket.c +index 8ecc9f9..b39bec2 100644 +--- src/core/socket.c ++++ src/core/socket.c +@@ -198,16 +198,14 @@ static int socket_instantiate_service(Socket *s) { + + assert(s->accept); + +- if (!(prefix = unit_name_to_prefix(UNIT(s)->id))) ++ prefix = unit_name_to_prefix(UNIT(s)->id); ++ if (!prefix) + return -ENOMEM; + +- r = asprintf(&name, "%s@%u.service", prefix, s->n_accepted); +- +- if (r < 0) ++ if (asprintf(&name, "%s@%u.service", prefix, s->n_accepted) < 0) + return -ENOMEM; + + r = manager_load_unit(UNIT(s)->manager, name, NULL, NULL, &u); +- + if (r < 0) + return r; + +-- +1.7.9.2 + diff --git a/0006-sd-event-initialization-perturbation-value-right-bef.patch b/0006-sd-event-initialization-perturbation-value-right-bef.patch new file mode 100644 index 00000000..a561cabb --- /dev/null +++ b/0006-sd-event-initialization-perturbation-value-right-bef.patch @@ -0,0 +1,75 @@ +From 52444dc478fe38b5b69a771923ab429a41927aa5 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Mar 2014 23:54:21 +0100 +Subject: [PATCH] sd-event: initialization perturbation value right before we + use it + +That way, we don't forget to initialize it when the watchdog is +initialized before all event sources. +--- + src/libsystemd/sd-event/sd-event.c | 34 +++++++++++++++++++++------------- + 1 file changed, 21 insertions(+), 13 deletions(-) + +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c 2014-03-28 12:44:05.652327044 +0000 +@@ -648,13 +648,31 @@ _public_ int sd_event_add_io( + return 0; + } + ++static void initialize_perturb(sd_event *e) { ++ sd_id128_t bootid = {}; ++ ++ /* When we sleep for longer, we try to realign the wakeup to ++ the same time wihtin each minute/second/250ms, so that ++ events all across the system can be coalesced into a single ++ CPU wakeup. However, let's take some system-specific ++ randomness for this value, so that in a network of systems ++ with synced clocks timer events are distributed a ++ bit. Here, we calculate a perturbation usec offset from the ++ boot ID. */ ++ ++ if (_likely_(e->perturb != (usec_t) -1)) ++ return; ++ ++ if (sd_id128_get_boot(&bootid) >= 0) ++ e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; ++} ++ + static int event_setup_timer_fd( + sd_event *e, + EventSourceType type, + int *timer_fd, + clockid_t id) { + +- sd_id128_t bootid = {}; + struct epoll_event ev = {}; + int r, fd; + +@@ -677,18 +695,6 @@ static int event_setup_timer_fd( + return -errno; + } + +- /* When we sleep for longer, we try to realign the wakeup to +- the same time wihtin each minute/second/250ms, so that +- events all across the system can be coalesced into a single +- CPU wakeup. However, let's take some system-specific +- randomness for this value, so that in a network of systems +- with synced clocks timer events are distributed a +- bit. Here, we calculate a perturbation usec offset from the +- boot ID. */ +- +- if (sd_id128_get_boot(&bootid) >= 0) +- e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; +- + *timer_fd = fd; + return 0; + } +@@ -1506,6 +1512,8 @@ static usec_t sleep_between(sd_event *e, + if (b <= a + 1) + return a; + ++ initialize_perturb(e); ++ + /* + Find a good time to wake up again between times a and b. We + have two goals here: diff --git a/0007-networkd-fix-typo.patch b/0007-networkd-fix-typo.patch new file mode 100644 index 00000000..8bd67322 --- /dev/null +++ b/0007-networkd-fix-typo.patch @@ -0,0 +1,26 @@ +From eed0eee85ac34abd81cd9e81fdb6a19f47b6c8a3 Mon Sep 17 00:00:00 2001 +From: Michael Olbrich +Date: Fri, 14 Mar 2014 18:19:29 +0100 +Subject: [PATCH] networkd: fix typo + +It's HAVE_SPLIT_USR not HAVE_SPLIT_USER +--- + src/network/networkd-manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/network/networkd-manager.c src/network/networkd-manager.c +index c730e71..ea414b1 100644 +--- src/network/networkd-manager.c ++++ src/network/networkd-manager.c +@@ -33,7 +33,7 @@ const char* const network_dirs[] = { + "/etc/systemd/network", + "/run/systemd/network", + "/usr/lib/systemd/network", +-#ifdef HAVE_SPLIT_USER ++#ifdef HAVE_SPLIT_USR + "/lib/systemd/network", + #endif + NULL}; +-- +1.7.9.2 + diff --git a/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch b/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch new file mode 100644 index 00000000..ee4c169a --- /dev/null +++ b/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch @@ -0,0 +1,29 @@ +From 75145780813957ecbe6835f2c8bc20113a3605d2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 25 Mar 2014 00:01:51 +0100 +Subject: [PATCH] sd-event: don't accidentally turn of watchdog timer event if + we determine 0 + +--- + src/libsystemd/sd-event/sd-event.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index d6a3d1c..4aabec1 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -2087,6 +2087,11 @@ static int arm_watchdog(sd_event *e) { + + timespec_store(&its.it_value, t); + ++ /* Make sure we never set the watchdog to 0, which tells the ++ * kernel to disable it. */ ++ if (its.it_value.tv_sec == 0 && its.it_value.tv_nsec == 0) ++ its.it_value.tv_nsec = 1; ++ + r = timerfd_settime(e->watchdog_fd, TFD_TIMER_ABSTIME, &its, NULL); + if (r < 0) + return -errno; +-- +1.7.9.2 + diff --git a/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch b/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch new file mode 100644 index 00000000..d2eac44b --- /dev/null +++ b/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch @@ -0,0 +1,27 @@ +From bbb6ff0216a7c081a2e63e01b1f121592b0165bb Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 14 Mar 2014 21:12:36 +0100 +Subject: [PATCH] sd-bus: don't access invalid memory if a signal matcher was + freed from its own callback + +--- + src/libsystemd/sd-bus/bus-match.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c +index 8280488..c54ca8d 100644 +--- src/libsystemd/sd-bus/bus-match.c ++++ src/libsystemd/sd-bus/bus-match.c +@@ -293,6 +293,9 @@ int bus_match_run( + r = bus_maybe_reply_error(m, r, &error_buffer); + if (r != 0) + return r; ++ ++ if (bus && bus->match_callbacks_modified) ++ return 0; + } + + return bus_match_run(bus, node->next, m); +-- +1.7.9.2 + diff --git a/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch b/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch new file mode 100644 index 00000000..b4564a5a --- /dev/null +++ b/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch @@ -0,0 +1,53 @@ +From 0088d63151e088d62104d88f866e9eb049091c22 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 25 Mar 2014 00:31:48 +0100 +Subject: [PATCH] systemctl: --kill-mode is long long gone, don't mention it + in the man page + +--- + man/systemctl.xml | 5 ++--- + shell-completion/bash/systemctl | 5 +---- + 2 files changed, 3 insertions(+), 7 deletions(-) + +diff --git man/systemctl.xml man/systemctl.xml +index 77447dd..b4727d9 100644 +--- man/systemctl.xml ++++ man/systemctl.xml +@@ -664,9 +664,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service + + Send a signal to one or more processes of the + unit. Use to select which +- process to kill. Use to select +- the kill mode and to select the +- signal to send. ++ process to kill. Use to select ++ the signal to send. + + + +diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl +index dc7ef66..0dfc868 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -74,7 +74,7 @@ _systemctl () { + [STANDALONE]='--all -a --reverse --after --before --defaults --fail --ignore-dependencies --failed --force -f --full -l --global + --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall + --quiet -q --privileged -P --system --user --version --runtime' +- [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root' ++ [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' + ) + + if __contains_word "--user" ${COMP_WORDS[*]}; then +@@ -99,9 +99,6 @@ _systemctl () { + --kill-who) + comps='all control main' + ;; +- --kill-mode) +- comps='control-group process' +- ;; + --root) + comps=$(compgen -A directory -- "$cur" ) + compopt -o filenames +-- +1.7.9.2 + diff --git a/0009-ask-password-when-the-user-types-a-overly-long-passw.patch b/0009-ask-password-when-the-user-types-a-overly-long-passw.patch new file mode 100644 index 00000000..840c4a18 --- /dev/null +++ b/0009-ask-password-when-the-user-types-a-overly-long-passw.patch @@ -0,0 +1,33 @@ +From 036eeac5a1799fa2c0ae11a14d8c667b5d303189 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 25 Mar 2014 01:27:05 +0100 +Subject: [PATCH] ask-password: when the user types a overly long password, + beep and refuse +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Based on a similar patch from David Härdeman. +--- + src/shared/ask-password-api.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/shared/ask-password-api.c src/shared/ask-password-api.c +index 117f0c6..96f16cc 100644 +--- src/shared/ask-password-api.c ++++ src/shared/ask-password-api.c +@@ -207,6 +207,11 @@ int ask_password_tty( + if (ttyfd >= 0) + loop_write(ttyfd, "(no echo) ", 10, false); + } else { ++ if (p >= sizeof(passphrase)-1) { ++ loop_write(ttyfd, "\a", 1, false); ++ continue; ++ } ++ + passphrase[p++] = c; + + if (!silent_mode && ttyfd >= 0) +-- +1.7.9.2 + diff --git a/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch b/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch new file mode 100644 index 00000000..f9e93696 --- /dev/null +++ b/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch @@ -0,0 +1,47 @@ +From 5a4d665ad679a8436f1210ba67d713a8f0b91b96 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 14 Mar 2014 21:15:32 +0100 +Subject: [PATCH] sd-bus: don't choke if somebody sends us a message with a + unix fd count of 0 + +It's kinda pointless to include a unix fd header field in messages if it +carries the value 0, but let's do this anyway... +--- + src/libsystemd/sd-bus/bus-message.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c +index 97ab0e3..b9d7f6d 100644 +--- src/libsystemd/sd-bus/bus-message.c ++++ src/libsystemd/sd-bus/bus-message.c +@@ -4885,6 +4885,7 @@ int bus_message_parse_fields(sd_bus_message *m) { + size_t ri; + int r; + uint32_t unix_fds = 0; ++ bool unix_fds_set = false; + void *offsets = NULL; + unsigned n_offsets = 0; + size_t sz = 0; +@@ -5097,7 +5098,7 @@ int bus_message_parse_fields(sd_bus_message *m) { + } + + case BUS_MESSAGE_HEADER_UNIX_FDS: +- if (unix_fds != 0) ++ if (unix_fds_set) + return -EBADMSG; + + if (!streq(signature, "u")) +@@ -5107,9 +5108,7 @@ int bus_message_parse_fields(sd_bus_message *m) { + if (r < 0) + return -EBADMSG; + +- if (unix_fds == 0) +- return -EBADMSG; +- ++ unix_fds_set = true; + break; + + default: +-- +1.7.9.2 + diff --git a/0012-journald-remove-stray-reset-of-error-return-value.patch b/0012-journald-remove-stray-reset-of-error-return-value.patch new file mode 100644 index 00000000..f15237f7 --- /dev/null +++ b/0012-journald-remove-stray-reset-of-error-return-value.patch @@ -0,0 +1,24 @@ +From 2fc74bf4336eb7a7e40c0b355d19966cd97d4b3c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 10 Mar 2014 21:19:23 -0400 +Subject: [PATCH] journald: remove stray reset of error return value + +--- + src/journal/journald.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git src/journal/journald.c src/journal/journald.c +index 37896d0..c8c0801 100644 +--- src/journal/journald.c ++++ src/journal/journald.c +@@ -110,7 +110,6 @@ int main(int argc, char *argv[]) { + r = sd_event_run(server.event, t); + if (r < 0) { + log_error("Failed to run event loop: %s", strerror(-r)); +- r = -errno; + goto finish; + } + +-- +1.7.9.2 + diff --git a/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch b/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch new file mode 100644 index 00000000..0343c2ad --- /dev/null +++ b/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch @@ -0,0 +1,118 @@ +From 6f285378aa6e4b5b23c939d1fea16f9ab0a57efb Mon Sep 17 00:00:00 2001 +From: Miklos Vajna +Date: Fri, 14 Mar 2014 21:13:38 +0100 +Subject: [PATCH] core, libsystemd, systemd, timedate, udev: spelling fixes + +--- + src/core/service.c | 2 +- + src/core/unit.c | 2 +- + src/libsystemd/sd-bus/bus-message.c | 2 +- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/systemd/sd-resolve.h | 2 +- + src/timedate/timedated.c | 2 +- + src/udev/udevadm-settle.c | 2 +- + 7 files changed, 8 insertions(+), 8 deletions(-) + +diff --git src/core/service.c src/core/service.c +index 41b95ab..386692a 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -3416,7 +3416,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + free(t); + } + +- /* Interpet WATCHDOG= */ ++ /* Interpret WATCHDOG= */ + if (strv_find(tags, "WATCHDOG=1")) { + log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); + service_reset_watchdog(s); +diff --git src/core/unit.c src/core/unit.c +index 5c98843..4fb0d9c 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1537,7 +1537,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + unit_destroy_cgroup(u); + + /* Note that this doesn't apply to RemainAfterExit services exiting +- * sucessfully, since there's no change of state in that case. Which is ++ * successfully, since there's no change of state in that case. Which is + * why it is handled in service_set_state() */ + if (UNIT_IS_INACTIVE_OR_FAILED(os) != UNIT_IS_INACTIVE_OR_FAILED(ns)) { + ExecContext *ec; +diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c +index b9d7f6d..e32f2b8 100644 +--- src/libsystemd/sd-bus/bus-message.c ++++ src/libsystemd/sd-bus/bus-message.c +@@ -4215,7 +4215,7 @@ static int message_read_ap( + * in a single stackframe. We hence implement our own + * home-grown stack in an array. */ + +- n_array = (unsigned) -1; /* lenght of current array entries */ ++ n_array = (unsigned) -1; /* length of current array entries */ + n_struct = strlen(types); /* length of current struct contents signature */ + + for (;;) { +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 8e44e50..ba8a8a2 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -1447,7 +1447,7 @@ static int bus_seal_message(sd_bus *b, sd_bus_message *m, usec_t timeout) { + static int bus_remarshal_message(sd_bus *b, sd_bus_message **m) { + assert(b); + +- /* Do packet version and endianess already match? */ ++ /* Do packet version and endianness already match? */ + if ((b->message_version == 0 || b->message_version == (*m)->header->version) && + (b->message_endian == 0 || b->message_endian == (*m)->header->endian)) + return 0; +@@ -1464,7 +1464,7 @@ int bus_seal_synthetic_message(sd_bus *b, sd_bus_message *m) { + * hence let's fill something in for synthetic messages. Since + * synthetic messages might have a fake sender and we don't + * want to interfere with the real sender's serial numbers we +- * pick a fixed, artifical one. We use (uint32_t) -1 rather ++ * pick a fixed, artificial one. We use (uint32_t) -1 rather + * than (uint64_t) -1 since dbus1 only had 32bit identifiers, + * even though kdbus can do 64bit. */ + +diff --git src/systemd/sd-resolve.h src/systemd/sd-resolve.h +index df69e4b..3c1d482 100644 +--- src/systemd/sd-resolve.h ++++ src/systemd/sd-resolve.h +@@ -129,7 +129,7 @@ int sd_resolve_get_next(sd_resolve *resolve, sd_resolve_query **q); + int sd_resolve_get_n_queries(sd_resolve *resolve); + + /** Cancel a currently running query. q is is destroyed by this call +- * and may not be used any futher. */ ++ * and may not be used any further. */ + int sd_resolve_cancel(sd_resolve_query* q); + + /** Returns non-zero when the query operation specified by q has been completed */ +diff --git src/timedate/timedated.c src/timedate/timedated.c +index d85ce57..c4a797a 100644 +--- src/timedate/timedated.c ++++ src/timedate/timedated.c +@@ -468,7 +468,7 @@ static int property_get_rtc_time( + zero(tm); + r = hwclock_get_time(&tm); + if (r == -EBUSY) { +- log_warning("/dev/rtc is busy, is somebody keeping it open continously? That's not a good idea... Returning a bogus RTC timestamp."); ++ log_warning("/dev/rtc is busy, is somebody keeping it open continuously? That's not a good idea... Returning a bogus RTC timestamp."); + t = 0; + } else if (r == -ENOENT) { + log_debug("Not /dev/rtc found."); +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index b026155..927ea2a 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -100,7 +100,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + case '?': + exit(EXIT_FAILURE); + default: +- assert_not_reached("Unkown argument"); ++ assert_not_reached("Unknown argument"); + } + + if (optind < argc) { +-- +1.7.9.2 + diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index 1cbbda78..eb98cc2f 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -9,55 +9,69 @@ Date: Tue, 4 Mar 2014 10:29:21 +0000 Port the patch of Robert to systemd v210 and test it out. --- - udev-event.c | 40 ++++++++++++++++++++++++++++++++++++---- - 1 file changed, 36 insertions(+), 4 deletions(-) + udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 38 insertions(+), 4 deletions(-) + --- systemd-210/src/udev/udev-event.c -+++ systemd-210/src/udev/udev-event.c 2014-03-04 11:19:50.583710411 +0100 -@@ -765,10 +765,42 @@ static int rename_netif(struct udev_even ++++ systemd-210/src/udev/udev-event.c 2014-03-27 13:19:06.727748307 +0000 +@@ -750,8 +750,9 @@ static int rename_netif(struct udev_even + struct udev_device *dev = event->dev; + _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL; + char name[IFNAMSIZ]; ++ char interim[IFNAMSIZ], *ptr = &interim[0]; + const char *oldname; +- int r; ++ int r, loop; + + oldname = udev_device_get_sysname(dev); + +@@ -765,12 +766,45 @@ static int rename_netif(struct udev_even return r; r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); - if (r < 0) -- log_error("error changing net interface name %s to %s: %s", -- oldname, name, strerror(-r)); ++ if (r == 0) { ++ print_kmsg("renamed network interface %s to %s\n", oldname, name); ++ return r; ++ } else if (r != -EEXIST) { + log_error("error changing net interface name %s to %s: %s", + oldname, name, strerror(-r)); - else -+ if (r < 0) { -+ char interim[IFNAMSIZ], *ptr = &interim[0]; -+ int loop = 90; +- print_kmsg("renamed network interface %s to %s", oldname, name); ++ return r; ++ } ++ ++ /* free our own name, another process may wait for us */ ++ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); ++ ++ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim); ++ if (r < 0) { ++ log_error("error changing net interface name %s to %s: %s", ++ oldname, interim, strerror(-r)); ++ return r; ++ } + ++ /* log temporary name */ ++ print_kmsg("renamed network interface %s to %s\n", oldname, interim); ++ ++ loop = 90 * 20; ++ while (loop--) { ++ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; ++ nanosleep(&duration, NULL); ++ ++ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); ++ if (r == 0) { ++ print_kmsg("renamed network interface %s to %s\n", interim, name); ++ break; ++ } + -+ /* keep trying if the destination interface name already exists */ + if (r != -EEXIST) { + log_error("error changing net interface name %s to %s: %s", -+ oldname, name, strerror(-r)); -+ return r; ++ interim, name, strerror(-r)); ++ break; + } -+ -+ /* free our own name, another process may wait for us */ -+ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); -+ -+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim); -+ if (r < 0) { -+ log_error("error changing net interface name %s to %s: %s", -+ oldname, name, strerror(-r)); -+ return r; -+ } -+ -+ /* log temporary name */ -+ print_kmsg("renamed network interface %s to %s", oldname, interim); -+ do { -+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); -+ if (r == 0) { -+ print_kmsg("renamed network interface %s to %s", oldname, name); -+ return r; -+ } -+ if (r != -EEXIST) { -+ log_error("error changing net interface name %s to %s: %s", -+ oldname, name, strerror(-r)); -+ return r; -+ } -+ } while (loop-- > 0); -+ } else - print_kmsg("renamed network interface %s to %s", oldname, name); - ++ } return r; + } + diff --git a/1019-make-completion-smart-to-be-able-to-redirect.patch b/1019-make-completion-smart-to-be-able-to-redirect.patch index 90ca8edc..89d79183 100644 --- a/1019-make-completion-smart-to-be-able-to-redirect.patch +++ b/1019-make-completion-smart-to-be-able-to-redirect.patch @@ -108,7 +108,7 @@ --- systemd-208/shell-completion/bash/systemctl +++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000 @@ -77,6 +77,10 @@ _systemctl () { - [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root' + [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then diff --git a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch new file mode 100644 index 00000000..3e11c296 --- /dev/null +++ b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch @@ -0,0 +1,23 @@ +Found this during debugging an other problem. The issue was that +after ``sudo -i'' and a ``cd /usr/lib/systemd/system/'' followed +later by a shutdown may fail with (journalctl -b -1): + + systemd-exit.service: Failed at step CHDIR spawning: /usr/bin/kill + +which then caused the subsequent fault that umounting the users +home directories done by automount are busy. + +--- systemd-210/units/user/systemd-exit.service.in ++++ systemd-210/units/user/systemd-exit.service.in 2014-03-25 16:59:20.406235916 +0000 +@@ -10,8 +10,9 @@ Description=Exit the Session + Documentation=man:systemd.special(7) + DefaultDependencies=no + Requires=shutdown.target +-After=shutdown.target ++After=shutdown.target multi-user.target + + [Service] + Type=oneshot +-ExecStart=@KILL@ -s 58 $MANAGERPID ++WorkingDirectory=/ ++ExecStart=@KILL@ -s SIGRTMIN+24 $MANAGERPID diff --git a/boot-local-start.patch b/boot-local-start.patch new file mode 100644 index 00000000..2f9e9d55 --- /dev/null +++ b/boot-local-start.patch @@ -0,0 +1,12 @@ +diff -Naur systemd-210/units/rc-local.service.in systemd-210-mod/units/rc-local.service.in +--- systemd-210/units/rc-local.service.in 2013-08-13 22:02:52.788756123 +0200 ++++ systemd-210-mod/units/rc-local.service.in 2014-03-25 08:34:40.317587764 +0100 +@@ -10,7 +10,7 @@ + [Unit] + Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility + ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ +-After=network.target ++After=basic.target + + [Service] + Type=forking diff --git a/pre_checkin.sh b/pre_checkin.sh index 69373260..18706301 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -4,18 +4,6 @@ # create a -mini spec for systemd for bootstrapping ORIG_SPEC=systemd -for patch in $(grep -lE 'Makefile.(am|in)|configure\.ac' *.patch) -do - sed -rn 's/^Patch([0-9]+):\s+'${patch}'/patch\1/p' $ORIG_SPEC.spec -done | while read patch -do - grep -1E '^%'${patch}'[^0-9]' $ORIG_SPEC.spec | grep -q bootstrap - if ((${PIPESTATUS[1]} != 0)) - then - echo Patch ${patch} does trigger 'auto(re)configure' 1>&2 - exit 1 - fi -done EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" sed "s/^%define bootstrap.*$/${EDIT_WARNING}%define bootstrap 1/; s/^%define udevpkgname.*$/${EDIT_WARNING}%define udevpkgname udev-mini/; diff --git a/prepare-suspend-to-disk.patch b/prepare-suspend-to-disk.patch new file mode 100644 index 00000000..01f95f9d --- /dev/null +++ b/prepare-suspend-to-disk.patch @@ -0,0 +1,28 @@ +diff -Naur systemd-210/units/systemd-hibernate.service.in systemd-210-mod/units/systemd-hibernate.service.in +--- systemd-210/units/systemd-hibernate.service.in 2013-08-13 22:02:52.808756274 +0200 ++++ systemd-210-mod/units/systemd-hibernate.service.in 2014-03-25 12:27:44.995995220 +0100 +@@ -11,7 +11,10 @@ + DefaultDependencies=no + Requires=sleep.target + After=sleep.target ++ConditionKernelCommandLine=resume + + [Service] + Type=oneshot ++ExecStart=@rootbindir@/systemd-sleep-grub pre + ExecStart=@rootlibexecdir@/systemd-sleep hibernate ++ExecStopPost=@rootbindir@/systemd-sleep-grub post +diff -Naur systemd-210/units/systemd-hybrid-sleep.service.in systemd-210-mod/units/systemd-hybrid-sleep.service.in +--- systemd-210/units/systemd-hybrid-sleep.service.in 2013-08-13 22:02:52.809756282 +0200 ++++ systemd-210-mod/units/systemd-hybrid-sleep.service.in 2014-03-25 12:27:56.115994902 +0100 +@@ -11,7 +11,10 @@ + DefaultDependencies=no + Requires=sleep.target + After=sleep.target ++ConditionKernelCommandLine=resume + + [Service] + Type=oneshot ++ExecStart=@rootbindir@/systemd-sleep-grub pre + ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep ++ExecStopPost=@rootbindir@/systemd-sleep-grub post diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch new file mode 100644 index 00000000..4dd058d9 --- /dev/null +++ b/systemctl-set-default-target.patch @@ -0,0 +1,28 @@ +Mention that --force is required to override an already existing default.target + +This solves the bug bnc#868439 + +--- + systemctl.xml | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- systemd-210/man/systemctl.xml ++++ systemd-210/man/systemctl.xml 2014-03-19 12:19:53.182235657 +0000 +@@ -371,7 +371,7 @@ along with systemd; If not, see + + +- When used with enable, overwrite ++ When used with enable or set-default, overwrite + any existing conflicting symlinks. + + When used with halt, +@@ -1036,6 +1036,8 @@ kobject-uevent 1 systemd-udevd-kernel.so + + Set the default target to boot into. Command links + default.target to the given unit. ++ If combined with , override ++ an already existing symlink for the default target. + + + diff --git a/systemd-mini.changes b/systemd-mini.changes index 80282770..6e6334de 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,79 @@ +------------------------------------------------------------------- +Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de + +- Add or port upstram bugfix patches: + 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch + 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch + 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch + 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch + 0005-sd-daemon-fix-incorrect-variable-access.patch + 0006-sd-event-initialization-perturbation-value-right-bef.patch + 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch + 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + 0009-ask-password-when-the-user-types-a-overly-long-passw.patch +- Modify patch + 1019-make-completion-smart-to-be-able-to-redirect.patch + to work together with + 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + +------------------------------------------------------------------- +Fri Mar 28 08:10:13 UTC 2014 - werner@suse.de + +- Use Robert's revised 1006-udev-always-rename-network.patch + +------------------------------------------------------------------- +Tue Mar 25 17:28:18 UTC 2014 - werner@suse.de + +- Readd patch Forward-suspend-hibernate-calls-to-pm-utils.patch + older code base as 13.1 only +- Add patch avoid-random-hangs-on-timeouts-due-lost-cwd.patch + to be able to terminate the user manager even if cwd of the + user is gone + +------------------------------------------------------------------- +Tue Mar 25 13:08:56 UTC 2014 - thomas.blume@suse.com + +- add prepare-suspend-to-disk.patch + enable suspend conditions check and preparation for systemd-sleep + (fate#316824, bnc#856389, bnc#856392) +- remove Forward-suspend-hibernate-calls-to-pm-utils.patch since it is obsolete + (bnc#856392#c20) +- add boot-local-start.patch + fix startup for /etc/init.d/boot.local (bnc#869142) + +------------------------------------------------------------------- +Mon Mar 24 11:19:38 UTC 2014 - coolo@suse.com + +- also autoreconf in systemd-mini to simplify spec file logic + and fix build in staging:gcc49 + (obsoleting 0002-make-209-working-on-older-dist.patch) + +------------------------------------------------------------------- +Wed Mar 19 13:21:37 UTC 2014 - werner@suse.de + +- Be sure that the refreshed manual pages are installed + +------------------------------------------------------------------- +Wed Mar 19 12:09:31 UTC 2014 - werner@suse.de + +- Add patch systemctl-set-default-target.patch which explain how + to override the default.target by using --force (bnc#868439) + +------------------------------------------------------------------- +Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de + +- Add Robert's udev-generate-peristent-rule shell script to + udev's tool library +- Add or port upstram bugfix patches: + 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch + 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch + 0006-Do-not-return-1-EINVAL-on-allocation-error.patch + 0007-networkd-fix-typo.patch + 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch + 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch + 0012-journald-remove-stray-reset-of-error-return-value.patch + 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch + ------------------------------------------------------------------- Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de @@ -789,7 +865,7 @@ Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de - Change patch 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() - may fix bnc#855160 + may fix bnc#855160 ------------------------------------------------------------------- Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c554b30a..1a24806d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -149,21 +149,9 @@ Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink +Source1063: udev-generate-peristent-rule.sh +Source1064: systemd-sleep-grub -############################################################################## -# -# WARNING: For the case of for bootstrapping patch should not affect -# the files -# -# Makefile.am, Makefile.in, and configure.ac -# -# as this triggers an (re)autoconfigure. Please check patches with the command -# -# grep -lE 'Makefile.(am|in)|configure\.ac' *.patch -# -# to surround them with %if ! 0%{?bootstrap} ... %endif -# -############################################################################## # # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -215,7 +203,7 @@ Patch42: systemd-pam_config.patch Patch23: disable-nss-myhostname-warning-bnc-783841.patch # PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) Patch24: handle-etc-HOSTNAME.patch -# PATCH-FIX-OPENSUSE Forward-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +# PATCH-FIX-OPENSUSE forward to pm-utils -- for code base <= 1310 Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -237,7 +225,6 @@ Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch Patch114: 0001-systemd-empty-sigmask-on-reexec.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch -Patch118: 0002-make-209-working-on-older-dist.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com @@ -308,6 +295,40 @@ Patch151: 0005-logind-fix-policykit-checks.patch Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch # PATCH-FIX-USTREAM added at 2014/03/11 Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch158: 0007-networkd-fix-typo.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -326,6 +347,15 @@ Patch1020: 0001-add-network-device-after-NFS-mount-units.patch Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch Patch1023: systemd-powerd-initctl-support.patch +# PATCH-FIX-SUSE systemctl-set-default-target.patch +Patch1024: systemctl-set-default-target.patch +# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) +Patch1025: prepare-suspend-to-disk.patch +# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) +Patch1026: boot-local-start.patch +# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager +Patch1027: avoid-random-hangs-on-timeouts-due-lost-cwd.patch + # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch Patch1999: systemd-install-compat_pkgconfig-always.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run @@ -560,18 +590,11 @@ cp %{SOURCE7} m4/ # systemd patches %patch0 -p1 -%if ! 0%{?bootstrap} %patch1 -p1 -%endif %patch3 -p1 -# don't apply when bootstrapping to not modify configure.in -%if ! 0%{?bootstrap} %patch4 -p1 -%endif %patch5 -p1 -%if ! 0%{?bootstrap} %patch6 -p1 -%endif %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -581,9 +604,7 @@ cp %{SOURCE7} m4/ %patch14 -p1 %patch15 -p1 %patch16 -p1 -%if ! 0%{?bootstrap} %patch17 -p1 -%endif %patch18 -p1 %patch19 -p1 %patch20 -p1 @@ -591,7 +612,9 @@ cp %{SOURCE7} m4/ %patch22 -p1 %patch23 -p1 %patch24 -p1 +%if 0%{?suse_version} <= 1310 %patch25 -p1 +%endif # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 @@ -606,19 +629,13 @@ cp %{SOURCE7} m4/ %patch46 -p1 %patch47 -p1 %patch84 -p1 -%if ! 0%{?bootstrap} %patch86 -p1 -%endif %patch90 -p1 %patch91 -p1 %patch93 -p1 %patch114 -p0 %if 0%{?suse_version} <= 1310 -%if ! 0%{?bootstrap} %patch117 -p1 -%else -%patch118 -p1 -%endif %endif %patch119 -p1 %patch120 -p1 @@ -635,9 +652,7 @@ cp %{SOURCE7} m4/ %patch131 -p0 %patch132 -p0 %patch133 -p0 -%if ! 0%{?bootstrap} %patch134 -p0 -%endif %patch135 -p0 %patch136 -p0 %patch137 -p0 @@ -657,24 +672,39 @@ cp %{SOURCE7} m4/ %patch151 -p0 %patch152 -p0 %patch153 -p0 +%patch154 -p0 +%patch155 -p0 +%patch157 -p0 +%patch158 -p0 +%patch159 -p0 +%patch160 -p0 +%patch161 -p0 +%patch162 -p0 +%patch163 -p0 +%patch164 -p0 +%patch165 -p0 +%patch166 -p0 +%patch167 -p0 +%patch168 -p0 +%patch169 -p0 +%patch170 -p0 +%patch171 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 %patch1014 -p1 %patch1018 -p1 %patch1019 -p1 -%if ! 0%{?bootstrap} %patch1020 -p1 -%endif %patch1022 -p1 %patch1023 -p1 -%if ! 0%{?bootstrap} +%patch1024 -p1 +%patch1025 -p1 +%patch1026 -p1 +%patch1027 -p1 %patch1999 -p1 -%endif %patch2000 -p1 -%if ! 0%{?bootstrap} %patch2001 -p1 -%endif # udev patches %patch1034 -p0 %patch1035 -p0 @@ -683,23 +713,16 @@ cp %{SOURCE7} m4/ %patch1003 -p1 %patch1005 -p1 %patch1006 -p1 -# don't apply when bootstrapping to not modify Makefile.am -%if ! 0%{?bootstrap} %patch1007 -p1 -%endif %if 0%{?suse_version} <= 1310 -%if ! 0%{?bootstrap} %patch1008 -p1 %endif -%endif # ensure generate files are removed rm -f units/emergency.service %build -%if ! 0%{?bootstrap} autoreconf -fiv -%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -744,8 +767,24 @@ export V=1 --disable-kdbus \ CFLAGS="%{optflags}" make %{?_smp_mflags} +%if ! 0%{?bootstrap} +make %{?_smp_mflags} update-man-list man +%endif %install +# Use refreshed manual pages +for man in man/*.[0-9] +do + section=${man##*.} + test -d man/man${section} || continue + new=man/man${section}/${man##*/} + if test -s $new -a $new -nt $man + then + cp -p $new $man + else + sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man + fi +done make install DESTDIR="%buildroot" # move to %{_lib} @@ -776,6 +815,8 @@ sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule +install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -1112,6 +1153,7 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/systemd-sleep-grub %{_bindir}/bootctl %{_bindir}/busctl %{_bindir}/kernel-install @@ -1205,9 +1247,7 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so /etc/pam.d/systemd-user @@ -1293,9 +1333,7 @@ exit 0 %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %endif %{_prefix}/lib/udev/rules.d/99-systemd.rules -%if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on -%endif %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif @@ -1376,6 +1414,7 @@ exit 0 %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule +%{_prefix}/lib/udev/udev-generate-peristent-rule %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules diff --git a/systemd-sleep-grub b/systemd-sleep-grub new file mode 100644 index 00000000..beeed387 --- /dev/null +++ b/systemd-sleep-grub @@ -0,0 +1,204 @@ +#!/bin/bash +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. + +set -x + +prepare-parameters() +{ + eval `grep LOADER_TYPE= /etc/sysconfig/bootloader` + + if [ x"$LOADER_TYPE" = "xgrub2" -o x"$LOADER_TYPE" = "xgrub2-efi" ]; then + GRUBONCE="/usr/sbin/grub2-once" + GRUBDEFAULT="/boot/grub2/grubenv" + GRUB2EDITENV="/usr/bin/grub2-editenv" + GRUB2CONF="/boot/grub2/grub.cfg" + BLKID="/usr/sbin/blkid" + getkernels="getkernels-grub2" + fi +} + +##################################################################### +# gets a list of available kernels from /boot/grub2/grub.cfg +# kernels are in the array $KERNELS, output to stdout to be eval-ed. +getkernels-grub2() +{ + local I DUMMY MNT ROOTDEV + declare -i I=0 J=-1 + + # we need the root partition later to decide if this is the kernel to select + while read ROOTDEV MNT DUMMY; do + [ "$ROOTDEV" = "rootfs" ] && continue # not what we are searching for + if [ "$MNT" = "/" ]; then + break + fi + done < /proc/mounts + + while read LINE; do + case $LINE in + menuentry\ *) + let J++ + ;; + set\ default*) + local DEFAULT=${LINE#*default=} + + if echo $DEFAULT | grep -q saved_entry ; then + local SAVED=`$GRUB2EDITENV $GRUBDEFAULT list | sed -n s/^saved_entry=//p` + if [ -n "$SAVED" ]; then + DEFAULT_BOOT=$($GRUBONCE --show-mapped "$SAVED") + fi + fi + + ;; + linux*noresume*) + echo " Skipping grub entry #${J}, because it has the noresume option" >&2 + ;; + linux*root=*) + local ROOT + ROOT=${LINE#*root=} + DUMMY=($ROOT) + ROOT=${DUMMY[0]} + + if [ x"${ROOT:0:5}" = "xUUID=" ]; then + UUID=${ROOT#UUID=} + if [ -n "$UUID" ]; then + ROOT=$($BLKID -U $UUID) + fi + fi + + if [ "$(stat -Lc '%t:%T' $ROOT)" != "$(stat -Lc '%t:%T' $ROOTDEV)" ]; then + echo " Skipping grub entry #${J}, because its root= parameter ($ROOT)" >&2 + echo " does not match the current root device ($ROOTDEV)." >&2 + continue + fi + DUMMY=($LINE) # kernel (hd0,1)/boot/vmlinuz-ABC root=/dev/hda2 + echo "KERNELS[$I]='${DUMMY[1]##*/}'" # vmlinuz-ABC + echo "MENU_ENTRIES[$I]=$J" + # DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO + let I++ + ;; + linux*) + # a kernel without "root="? We better skip that one... + echo " Skipping grub entry #${J}, because it has no root= option" >&2 + ;; + *) ;; + esac + done < "$GRUB2CONF" +} + +############################################################# +# runs grubonce from the grub package to select which kernel +# to boot on next startup +grub-once() +{ + if [ -x "$GRUBONCE" ]; then + echo " running '$GRUBONCE $1'" + $GRUBONCE $1 + else + echo "WARNING: $GRUBONCE not found, not preparing bootloader" + fi +} + +############################################################# +# restore grub default after (eventually failed) resume +grub-once-restore() +{ + echo "INFO: running grub-once-restore" + prepare-parameters + $GRUB2EDITENV $GRUBDEFAULT unset next_entry +} + +############################################################################# +# try to find a kernel image that matches the actually running kernel. +# We need this, if more than one kernel is installed. This works reasonably +# well with grub, if all kernels are named "vmlinuz-`uname -r`" and are +# located in /boot. If they are not, good luck ;-) +find-kernel-entry() +{ + NEXT_BOOT=-1 + ARCH=`uname -m` + declare -i I=0 + # DEBUG "running kernel: $RUNNING" DIAG + while [ -n "${KERNELS[$I]}" ]; do + BOOTING="${KERNELS[$I]}" + if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then + # DEBUG "Found kernel symlink $BOOTING => $IMAGE" INFO + BOOTING=$IMAGE + fi + case $ARCH in + ppc*) BOOTING="${BOOTING#*vmlinux-}" ;; + *) BOOTING="${BOOTING#*vmlinuz-}" ;; + esac + if [ "$RUNNING" == "$BOOTING" ]; then + NEXT_BOOT=${MENU_ENTRIES[$I]} + echo " running kernel is grub menu entry $NEXT_BOOT (${KERNELS[$I]})" + break + fi + let I++ + done + # if we have not found a kernel, issue a warning. + # if we have found a kernel, we'll do "grub-once" later, after + # prepare_suspend finished. + if [ $NEXT_BOOT -eq -1 ]; then + echo "WARNING: no kernelfile matching the running kernel found" + fi +} + +############################################################################# +# if we did not find a kernel (or BOOT_LOADER is not GRUB) check, +# if the running kernel is still the one that will (probably) be booted for +# resume (default entry in menu.lst or, if there is none, the kernel file +# /boot/vmlinuz points to.) +# This will only work, if you use "original" SUSE kernels. +# you can always override with the config variable set to "yes" +prepare-grub() +{ + echo "INFO: running prepare-grub" + prepare-parameters + eval `$getkernels` + RUNNING=`uname -r` + find-kernel-entry + + RET=0 + + if [ $NEXT_BOOT -eq -1 ]; then + # which kernel is booted with the default entry? + BOOTING="${KERNELS[$DEFAULT_BOOT]}" + # if there is no default entry (no menu.lst?) we fall back to + # the default of /boot/vmlinuz. + [ -z "$BOOTING" ] && BOOTING="vmlinuz" + if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then + BOOTING=$IMAGE + fi + BOOTING="${BOOTING#*vmlinuz-}" + echo "running kernel: '$RUNNING', probably booting kernel: '$BOOTING'" + if [ "$BOOTING" != "$RUNNING" ]; then + echo "ERROR: kernel version mismatch, cannot suspend to disk" + echo "running: $RUNNING booting: $BOOTING" >> $INHIBIT + RET=1 + fi + else + # set the bootloader to the running kernel + echo " preparing boot-loader: selecting entry $NEXT_BOOT, kernel /boot/$BOOTING" + T1=`date +"%s%N"` + sync; sync; sync # this is needed to speed up grub-once on reiserfs + T2=`date +"%s%N"` + echo " grub-once: `grub-once $NEXT_BOOT`" + T3=`date +"%s%N"` + S=$(((T2-T1)/100000000)); S="$((S/10)).${S:0-1}" + G=$(((T3-T2)/100000000)); G="$((G/10)).${G:0-1}" + echo " time needed for sync: $S seconds, time needed for grub: $G seconds." + fi + + return $RET +} + + +###### main() + +if [ "$1" = pre ] ; then + prepare-grub +fi +if [ "$1" = post ] ; then + grub-once-restore +fi diff --git a/systemd.changes b/systemd.changes index 80282770..6e6334de 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,79 @@ +------------------------------------------------------------------- +Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de + +- Add or port upstram bugfix patches: + 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch + 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch + 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch + 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch + 0005-sd-daemon-fix-incorrect-variable-access.patch + 0006-sd-event-initialization-perturbation-value-right-bef.patch + 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch + 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + 0009-ask-password-when-the-user-types-a-overly-long-passw.patch +- Modify patch + 1019-make-completion-smart-to-be-able-to-redirect.patch + to work together with + 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + +------------------------------------------------------------------- +Fri Mar 28 08:10:13 UTC 2014 - werner@suse.de + +- Use Robert's revised 1006-udev-always-rename-network.patch + +------------------------------------------------------------------- +Tue Mar 25 17:28:18 UTC 2014 - werner@suse.de + +- Readd patch Forward-suspend-hibernate-calls-to-pm-utils.patch + older code base as 13.1 only +- Add patch avoid-random-hangs-on-timeouts-due-lost-cwd.patch + to be able to terminate the user manager even if cwd of the + user is gone + +------------------------------------------------------------------- +Tue Mar 25 13:08:56 UTC 2014 - thomas.blume@suse.com + +- add prepare-suspend-to-disk.patch + enable suspend conditions check and preparation for systemd-sleep + (fate#316824, bnc#856389, bnc#856392) +- remove Forward-suspend-hibernate-calls-to-pm-utils.patch since it is obsolete + (bnc#856392#c20) +- add boot-local-start.patch + fix startup for /etc/init.d/boot.local (bnc#869142) + +------------------------------------------------------------------- +Mon Mar 24 11:19:38 UTC 2014 - coolo@suse.com + +- also autoreconf in systemd-mini to simplify spec file logic + and fix build in staging:gcc49 + (obsoleting 0002-make-209-working-on-older-dist.patch) + +------------------------------------------------------------------- +Wed Mar 19 13:21:37 UTC 2014 - werner@suse.de + +- Be sure that the refreshed manual pages are installed + +------------------------------------------------------------------- +Wed Mar 19 12:09:31 UTC 2014 - werner@suse.de + +- Add patch systemctl-set-default-target.patch which explain how + to override the default.target by using --force (bnc#868439) + +------------------------------------------------------------------- +Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de + +- Add Robert's udev-generate-peristent-rule shell script to + udev's tool library +- Add or port upstram bugfix patches: + 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch + 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch + 0006-Do-not-return-1-EINVAL-on-allocation-error.patch + 0007-networkd-fix-typo.patch + 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch + 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch + 0012-journald-remove-stray-reset-of-error-return-value.patch + 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch + ------------------------------------------------------------------- Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de @@ -789,7 +865,7 @@ Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de - Change patch 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() - may fix bnc#855160 + may fix bnc#855160 ------------------------------------------------------------------- Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com diff --git a/systemd.spec b/systemd.spec index 7be75e0f..b5f4ba83 100644 --- a/systemd.spec +++ b/systemd.spec @@ -144,21 +144,9 @@ Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink +Source1063: udev-generate-peristent-rule.sh +Source1064: systemd-sleep-grub -############################################################################## -# -# WARNING: For the case of for bootstrapping patch should not affect -# the files -# -# Makefile.am, Makefile.in, and configure.ac -# -# as this triggers an (re)autoconfigure. Please check patches with the command -# -# grep -lE 'Makefile.(am|in)|configure\.ac' *.patch -# -# to surround them with %if ! 0%{?bootstrap} ... %endif -# -############################################################################## # # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -210,7 +198,7 @@ Patch42: systemd-pam_config.patch Patch23: disable-nss-myhostname-warning-bnc-783841.patch # PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) Patch24: handle-etc-HOSTNAME.patch -# PATCH-FIX-OPENSUSE Forward-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +# PATCH-FIX-OPENSUSE forward to pm-utils -- for code base <= 1310 Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -232,7 +220,6 @@ Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch Patch114: 0001-systemd-empty-sigmask-on-reexec.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch -Patch118: 0002-make-209-working-on-older-dist.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com @@ -303,6 +290,40 @@ Patch151: 0005-logind-fix-policykit-checks.patch Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch # PATCH-FIX-USTREAM added at 2014/03/11 Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch158: 0007-networkd-fix-typo.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -321,6 +342,15 @@ Patch1020: 0001-add-network-device-after-NFS-mount-units.patch Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch Patch1023: systemd-powerd-initctl-support.patch +# PATCH-FIX-SUSE systemctl-set-default-target.patch +Patch1024: systemctl-set-default-target.patch +# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) +Patch1025: prepare-suspend-to-disk.patch +# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) +Patch1026: boot-local-start.patch +# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager +Patch1027: avoid-random-hangs-on-timeouts-due-lost-cwd.patch + # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch Patch1999: systemd-install-compat_pkgconfig-always.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run @@ -555,18 +585,11 @@ cp %{SOURCE7} m4/ # systemd patches %patch0 -p1 -%if ! 0%{?bootstrap} %patch1 -p1 -%endif %patch3 -p1 -# don't apply when bootstrapping to not modify configure.in -%if ! 0%{?bootstrap} %patch4 -p1 -%endif %patch5 -p1 -%if ! 0%{?bootstrap} %patch6 -p1 -%endif %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -576,9 +599,7 @@ cp %{SOURCE7} m4/ %patch14 -p1 %patch15 -p1 %patch16 -p1 -%if ! 0%{?bootstrap} %patch17 -p1 -%endif %patch18 -p1 %patch19 -p1 %patch20 -p1 @@ -586,7 +607,9 @@ cp %{SOURCE7} m4/ %patch22 -p1 %patch23 -p1 %patch24 -p1 +%if 0%{?suse_version} <= 1310 %patch25 -p1 +%endif # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 @@ -601,19 +624,13 @@ cp %{SOURCE7} m4/ %patch46 -p1 %patch47 -p1 %patch84 -p1 -%if ! 0%{?bootstrap} %patch86 -p1 -%endif %patch90 -p1 %patch91 -p1 %patch93 -p1 %patch114 -p0 %if 0%{?suse_version} <= 1310 -%if ! 0%{?bootstrap} %patch117 -p1 -%else -%patch118 -p1 -%endif %endif %patch119 -p1 %patch120 -p1 @@ -630,9 +647,7 @@ cp %{SOURCE7} m4/ %patch131 -p0 %patch132 -p0 %patch133 -p0 -%if ! 0%{?bootstrap} %patch134 -p0 -%endif %patch135 -p0 %patch136 -p0 %patch137 -p0 @@ -652,24 +667,39 @@ cp %{SOURCE7} m4/ %patch151 -p0 %patch152 -p0 %patch153 -p0 +%patch154 -p0 +%patch155 -p0 +%patch157 -p0 +%patch158 -p0 +%patch159 -p0 +%patch160 -p0 +%patch161 -p0 +%patch162 -p0 +%patch163 -p0 +%patch164 -p0 +%patch165 -p0 +%patch166 -p0 +%patch167 -p0 +%patch168 -p0 +%patch169 -p0 +%patch170 -p0 +%patch171 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 %patch1014 -p1 %patch1018 -p1 %patch1019 -p1 -%if ! 0%{?bootstrap} %patch1020 -p1 -%endif %patch1022 -p1 %patch1023 -p1 -%if ! 0%{?bootstrap} +%patch1024 -p1 +%patch1025 -p1 +%patch1026 -p1 +%patch1027 -p1 %patch1999 -p1 -%endif %patch2000 -p1 -%if ! 0%{?bootstrap} %patch2001 -p1 -%endif # udev patches %patch1034 -p0 %patch1035 -p0 @@ -678,23 +708,16 @@ cp %{SOURCE7} m4/ %patch1003 -p1 %patch1005 -p1 %patch1006 -p1 -# don't apply when bootstrapping to not modify Makefile.am -%if ! 0%{?bootstrap} %patch1007 -p1 -%endif %if 0%{?suse_version} <= 1310 -%if ! 0%{?bootstrap} %patch1008 -p1 %endif -%endif # ensure generate files are removed rm -f units/emergency.service %build -%if ! 0%{?bootstrap} autoreconf -fiv -%endif # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -739,8 +762,24 @@ export V=1 --disable-kdbus \ CFLAGS="%{optflags}" make %{?_smp_mflags} +%if ! 0%{?bootstrap} +make %{?_smp_mflags} update-man-list man +%endif %install +# Use refreshed manual pages +for man in man/*.[0-9] +do + section=${man##*.} + test -d man/man${section} || continue + new=man/man${section}/${man##*/} + if test -s $new -a $new -nt $man + then + cp -p $new $man + else + sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man + fi +done make install DESTDIR="%buildroot" # move to %{_lib} @@ -771,6 +810,8 @@ sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule +install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -1107,6 +1148,7 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/systemd-sleep-grub %{_bindir}/bootctl %{_bindir}/busctl %{_bindir}/kernel-install @@ -1200,9 +1242,7 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so /etc/pam.d/systemd-user @@ -1288,9 +1328,7 @@ exit 0 %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %endif %{_prefix}/lib/udev/rules.d/99-systemd.rules -%if ! 0%{?bootstrap} %{_prefix}/lib/udev/numlock-on -%endif %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif @@ -1371,6 +1409,7 @@ exit 0 %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule +%{_prefix}/lib/udev/udev-generate-peristent-rule %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules diff --git a/udev-generate-peristent-rule.sh b/udev-generate-peristent-rule.sh new file mode 100644 index 00000000..4c83919a --- /dev/null +++ b/udev-generate-peristent-rule.sh @@ -0,0 +1,414 @@ +#!/bin/bash +# +# Copyright (C) 2014 Robert Milasan +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# This script run manually by user, will generate a persistent rule for +# a given network interface to rename it to new interface name. +# + +prj=${0##*/} + +log_info() +{ + local msg="$1" + echo "$prj: $msg" +} + +log_error() +{ + local msg=$1 + echo "$prj: $msg" >&2 +} + +usage() +{ + set -f + cat << EOF +$prj: udev persistent rule generator + +Usage: $prj [OPTION] ... + + -h show this help + -m generate the persistent rule based on interface MAC address + -p generate the persistent rule based on interface PCI slot + -v be verbose + -c current interface name (ex: "ip a s") + -n new interface name (ex: net0) + -o where to write the new generate rule (default: /dev/stdout) + prefered location is /etc/udev/rules.d/70-persistent-net.rules + +Example: + $prj -m -c enp0s4 -n net0 -o /etc/udev/rules.d/70-persistent-net.rules + or + $prj -p -c wlp3s0 -n wlan0 -o /etc/udev/rules.d/50-mynet.rules + +EOF +} + +display_note() +{ + cat <<'EOF' + +NOTE: Using the generate persistent rule might mean you will need to do extra +work to ensure that it will work accordingly. This mean, regenerating the +initramfs/initrd image and/or using 'net.ifnames=0' option at boot time. + +In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, +but usually there is no need for 'net.ifnames=0' option if the persistent rule +is available in initramfs/initrd image. + +EOF +} + +get_pci() +{ + local path=$1 + local pci="" + + if [ -L "$path/device" ]; then + local pci_link="$(readlink -f $path/device 2>/dev/null)" + pci="$(basename $pci_link 2>/dev/null)" + fi + echo $pci +} + +get_pci_id() +{ + local path=$1 + local pci_id="" + + if [ -r "$path/device/uevent" ]; then + local _pci_id="$(cat $path/device/uevent|grep ^PCI_ID 2>/dev/null)" + pci_id="${_pci_id#*=}" + fi + echo $pci_id +} + +get_macaddr() +{ + local path=$1 + local macaddr="" + + if [ -r "$path/address" ]; then + macaddr="$(cat $path/address 2>/dev/null)" + fi + echo $macaddr +} + +get_type() +{ + local path=$1 + local dev_type="" + + if [ -r "$path/type" ]; then + dev_type="$(cat $path/type 2>/dev/null)" + fi + echo $dev_type +} + +get_dev_id() +{ + local path=$1 + local dev_id="" + + if [ -r "$path/dev_id" ]; then + dev_id="$(cat $path/dev_id 2>/dev/null)" + fi + echo $dev_id +} + +get_devtype() +{ + local path=$1 + local devtype="" + if [ -r "$path/uevent" ]; then + local _devtype="$(cat $path/uevent|grep ^DEVTYPE 2>/dev/null)" + devtype="${_devtype#*=}" + fi + echo $devtype +} + +get_subsystem() +{ + local path=$1 + local subsystem="" + + if [ -L "$path/subsystem" ]; then + local subsystem_link="$(readlink -f $path/subsystem 2>/dev/null)" + subsystem="$(basename $subsystem_link 2>/dev/null)" + fi + echo $subsystem +} + +get_driver() +{ + local path=$1 + local driver="" + + if [ -L "$path/device/driver" ]; then + local driver_link="$(readlink -f $path/device/driver 2>/dev/null)" + driver="$(basename $driver_link 2>/dev/null)" + fi + echo $driver +} + +valid_mac() +{ + local macaddr=$1 + local valid_macaddr="" + + if [ -n "$macaddr" ]; then + valid_macaddr="$(echo $macaddr | sed -n '/^\([0-9a-z][0-9a-z]:\)\{5\}[0-9a-z][0-9a-z]$/p')" + fi + echo $valid_macaddr +} + +generate_comment() +{ + local pci_id=$1 + local driver=$2 + local output=$3 + + if [ -z "$pci_id" ]; then + log_error "\$pci_id empty." + exit 1 + elif [ -z "$driver" ]; then + log_error "\$driver empty." + exit 1 + elif [ -z "$output" ]; then + log_error "\$output empty." + exit 1 + else + echo "# PCI device $pci_id ($driver) with official udev name $interface renamed to unsupported $new_interface" >> $output + fi +} + +generate_rule() +{ + local _subsystem=$1 + local _mac=$2 + local _pci=$3 + local _dev_id=$4 + local _dev_type=$5 + local _kernel=$6 + local _interface=$7 + local output=$8 + + if [ -z "$_subsystem" ]; then + log_error "\$_subsystem empty." + exit 1 + elif [ -z "$_dev_id" ]; then + log_error "\$_dev_id empty." + exit 1 + elif [ -z "$_dev_type" ]; then + log_error "\$_dev_type empty." + exit 1 + elif [ -z "$_kernel" ]; then + log_error "\$_kernel empty." + exit 1 + elif [ -z "$_interface" ]; then + log_error "\$_interface empty." + exit 1 + elif [ -z "$output" ]; then + output="/dev/stdout" + fi + + if [ "$_mac" != "none" ]; then + echo "SUBSYSTEM==\"$_subsystem\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$_mac\", \ +ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", NAME=\"$_interface\"" >> ${output} + elif [ "$_pci" != "none" ]; then + echo "SUBSYSTEM==\"$_subsystem\", ACTION==\"add\", DRIVERS==\"?*\", KERNELS==\"$_pci\", \ +ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", NAME=\"$_interface\"" >> ${output} + else + log_error "MAC address or PCI slot information missing." + exit 1 + fi +} + +if [ $# -eq 0 ]; then + usage + log_error "missing option(s)." + exit 1 +fi + +use_mac=0 +use_pci=0 +use_verbose=0 + +while getopts "hmpvc:n:o:" opt; do + case "$opt" in + h) + usage; exit 0;; + m) + use_mac=1 ;; + p) + use_pci=1 ;; + v) + use_verbose=1 ;; + c) + ifcur="$OPTARG" ;; + n) + ifnew="$OPTARG" ;; + o) + output="$OPTARG" ;; + \?) + exit 1 ;; + esac +done + +if [[ "$use_mac" -eq 1 ]] && [[ "$use_pci" -eq 1 ]]; then + log_error "generating a persistent rule can be done only using one of the option, -m or -p, not both." + exit 1 +fi + +outfile=$output +if [ -z "$output" ]; then + outfile=/dev/stdout +else + dir="$(dirname $outfile 2>/dev/null)" + tmpfile="$dir/.tmp_file" + if [ -d "$dir" ]; then + touch "$tmpfile" >/dev/null 2>&1 + if [ $? -ne 0 ]; then + log_error "no write access for $outfile. make sure you have write permissions to $dir." + exit 1 + fi + rm -f "$tmpfile" >/dev/null 2>&1 + else + log_error "$dir not a directory." + exit 1 + fi +fi + +interface=$ifcur +if [ -z "$interface" ]; then + log_error "current interface must be specified." + exit 1 +elif [ "$interface" == "lo" ]; then + log_error "loopback interface is not a valid interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: INTERFACE=$interface" + +new_interface=$ifnew +if [ -z "$new_interface" ]; then + log_error "new interface must be specified." + exit 1 +elif [ "$new_interface" == "lo" ]; then + log_error "new interface cant be named loopback interface." + exit +fi +[ "$use_verbose" -eq 1 ] && echo "I: INTERFACE_NEW=$new_interface" + +path="/sys/class/net/$interface" +if [ ! -d "$path" ]; then + log_error "devpath $path not a directory." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: DEVPATH=$path" + +devtype="$(get_devtype $path)" +if [ -n "$devtype" ]; then + [ "$use_verbose" -eq 1 ] && echo "I: DEVTYPE=$devtype" +fi + +subsystem="$(get_subsystem $path)" +if [ -z "$subsystem" ]; then + log_error "unable to retrieve subsystem for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: SUBSYSTEM=$subsystem" + +pci_id="$(get_pci_id $path)" +if [ -z "$pci_id" ]; then + log_error "unable to retrieve PCI_ID for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: PCI_ID=$pci_id" + +driver="$(get_driver $path)" +if [ -z "$driver" ]; then + log_error "unable to retrieve driver for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: DRIVER=$driver" + +if [ "$use_mac" -eq 1 ]; then + macaddr="$(get_macaddr $path)" + if [ -z "$macaddr" ]; then + log_error "unable to retrieve MAC address for interface $interface." + exit 1 + fi + if [ "$(valid_mac $macaddr)" != "$macaddr" ]; then + log_error "$macaddr invalid MAC address." + exit 1 + fi + [ "$use_verbose" -eq 1 ] && echo "I: MACADDR=$macaddr" +fi + +if [ "$use_pci" -eq 1 ]; then + pci="$(get_pci $path)" + if [ -z "$pci" ]; then + log_error "unable to retrieve PCI slot for interface $interface." + exit 1 + fi + [ "$use_verbose" -eq 1 ] && echo "I: KERNELS=$pci" +fi + +dev_id="$(get_dev_id $path)" +if [ -z "$dev_id" ]; then + log_error "unable to retrieve dev_id for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: DEV_ID=$dev_id" + +dev_type="$(get_type $path)" +if [ -z "$dev_type" ]; then + log_error "unable to retrieve dev_type for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: TYPE=$dev_type" + +if [ "$devtype" == "wlan" ]; then + kernel="wlan*" +else + kernel="eth*" +fi + +if [ -n "$output" ]; then + echo "Persistent rule saved in "$outfile"" + echo + generate_comment "$pci_id" "$driver" "$output" +fi + +set -f +if [ "$use_mac" -eq 1 ]; then + generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" + if [ -n "$output" ]; then + generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$output" + fi +elif [ "$use_pci" -eq 1 ]; then + generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" "$new_interface" + if [ -n "$output" ]; then + generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$outfile" + fi +fi + +if [ -n "$output" ]; then + display_note +fi + +exit 0 From d4886680e8304dd12ed8c7756523d87c7dc05f0cc02f09757a9c0a41c4f89972 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 9 Apr 2014 16:17:19 +0000 Subject: [PATCH 175/991] Accepting request 229352 from Base:System - Add patch portmap-wants-rpcbind-socket.patch to make sure that rpcbind socket as well as service is up with the target - Add or port upstram bugfix patches: 0001-journal-fix-export-of-messages-containing-newlines.patch 0002-systemctl-update-NAME-to-PATTERN-in-help.patch 0003-tty-ask-password-agent-return-negative-errno.patch 0004-systemd-python-use-.hex-instead-of-.get_hex.patch 0005-systemd-python-fix-failing-assert.patch - Add patch portmap-wants-rpcbind-socket.patch to make sure that rpcbind socket as well as service is up with the target - Add or port upstram bugfix patches: 0001-journal-fix-export-of-messages-containing-newlines.patch 0002-systemctl-update-NAME-to-PATTERN-in-help.patch 0003-tty-ask-password-agent-return-negative-errno.patch 0004-systemd-python-use-.hex-instead-of-.get_hex.patch 0005-systemd-python-fix-failing-assert.patch OBS-URL: https://build.opensuse.org/request/show/229352 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=180 --- ...port-of-messages-containing-newlines.patch | 80 +++++++++++++++++++ ...emctl-update-NAME-to-PATTERN-in-help.patch | 52 ++++++++++++ ...password-agent-return-negative-errno.patch | 29 +++++++ ...-python-use-.hex-instead-of-.get_hex.patch | 46 +++++++++++ 0005-systemd-python-fix-failing-assert.patch | 26 ++++++ portmap-wants-rpcbind-socket.patch | 7 ++ systemd-mini.changes | 12 +++ systemd-mini.spec | 19 +++++ systemd.changes | 12 +++ systemd.spec | 19 +++++ 10 files changed, 302 insertions(+) create mode 100644 0001-journal-fix-export-of-messages-containing-newlines.patch create mode 100644 0002-systemctl-update-NAME-to-PATTERN-in-help.patch create mode 100644 0003-tty-ask-password-agent-return-negative-errno.patch create mode 100644 0004-systemd-python-use-.hex-instead-of-.get_hex.patch create mode 100644 0005-systemd-python-fix-failing-assert.patch create mode 100644 portmap-wants-rpcbind-socket.patch diff --git a/0001-journal-fix-export-of-messages-containing-newlines.patch b/0001-journal-fix-export-of-messages-containing-newlines.patch new file mode 100644 index 00000000..75cdd023 --- /dev/null +++ b/0001-journal-fix-export-of-messages-containing-newlines.patch @@ -0,0 +1,80 @@ +From 0ade5ffe2778e7b238bba8d979ca4d53dee1e702 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 31 Mar 2014 08:57:28 -0400 +Subject: [PATCH] journal: fix export of messages containing newlines + +In "export" format, newlines are significant, and messages containing +newlines must be exported as "binary". +--- + src/shared/logs-show.c | 7 ++++--- + src/shared/utf8.c | 5 +++-- + src/shared/utf8.h | 5 ++++- + 3 files changed, 11 insertions(+), 6 deletions(-) + +diff --git src/shared/logs-show.c src/shared/logs-show.c +index 9d14933..b0b66f6 100644 +--- src/shared/logs-show.c ++++ src/shared/logs-show.c +@@ -547,7 +547,9 @@ static int output_export( + startswith(data, "_BOOT_ID=")) + continue; + +- if (!utf8_is_printable(data, length)) { ++ if (utf8_is_printable_newline(data, length, false)) ++ fwrite(data, length, 1, f); ++ else { + const char *c; + uint64_t le64; + +@@ -562,8 +564,7 @@ static int output_export( + le64 = htole64(length - (c - (const char*) data) - 1); + fwrite(&le64, sizeof(le64), 1, f); + fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f); +- } else +- fwrite(data, length, 1, f); ++ } + + fputc('\n', f); + } +diff --git src/shared/utf8.c src/shared/utf8.c +index 0b524d8..c559c13 100644 +--- src/shared/utf8.c ++++ src/shared/utf8.c +@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) { + return unichar; + } + +-bool utf8_is_printable(const char* str, size_t length) { ++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) { + const uint8_t *p; + + assert(str); +@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) { + int encoded_len = utf8_encoded_valid_unichar((const char *)p); + int val = utf8_encoded_to_unichar((const char*)p); + +- if (encoded_len < 0 || val < 0 || is_unicode_control(val)) ++ if (encoded_len < 0 || val < 0 || is_unicode_control(val) || ++ (!newline && val == '\n')) + return false; + + length -= encoded_len; +diff --git src/shared/utf8.h src/shared/utf8.h +index c0eb73a..c087995 100644 +--- src/shared/utf8.h ++++ src/shared/utf8.h +@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_; + char *ascii_is_valid(const char *s) _pure_; + char *utf8_escape_invalid(const char *s); + +-bool utf8_is_printable(const char* str, size_t length) _pure_; ++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_; ++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) { ++ return utf8_is_printable_newline(str, length, true); ++} + + char *utf16_to_utf8(const void *s, size_t length); + +-- +1.7.9.2 + diff --git a/0002-systemctl-update-NAME-to-PATTERN-in-help.patch b/0002-systemctl-update-NAME-to-PATTERN-in-help.patch new file mode 100644 index 00000000..fd9096b9 --- /dev/null +++ b/0002-systemctl-update-NAME-to-PATTERN-in-help.patch @@ -0,0 +1,52 @@ +From b3ae710c251d0ce5cf2cef63208e325497b5e323 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 1 Apr 2014 20:43:15 -0400 +Subject: [PATCH] systemctl: update NAME to PATTERN in help() + +Previously the man page was modified, but not help(). +--- + TODO | 2 ++ + src/systemctl/systemctl.c | 14 +++++++------- + 2 files changed, 9 insertions(+), 7 deletions(-) + +diff --git TODO TODO +index 4ff69ff..0343b94 100644 +--- TODO ++++ TODO +@@ -1,4 +1,6 @@ + Bugfixes: ++* Should systemctl status \* work on all unit types, not just .service? ++ + * enabling an instance unit creates a pointless link, and + the unit will be started with getty@getty.service: + $ systemctl enable getty@.service +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 6b88f85..653a324 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -5403,15 +5403,15 @@ static int systemctl_help(void) { + " otherwise restart if active\n" + " isolate NAME Start one unit and stop all others\n" + " kill NAME... Send signal to processes of a unit\n" +- " is-active NAME... Check whether units are active\n" +- " is-failed NAME... Check whether units are failed\n" +- " status [NAME...|PID...] Show runtime status of one or more units\n" +- " show [NAME...|JOB...] Show properties of one or more\n" ++ " is-active PATTERN... Check whether units are active\n" ++ " is-failed PATTERN... Check whether units are failed\n" ++ " status [PATTERN...|PID...] Show runtime status of one or more units\n" ++ " show [PATTERN...|JOB...] Show properties of one or more\n" + " units/jobs or the manager\n" +- " cat NAME... Show files and drop-ins of one or more units\n" ++ " cat PATTERN... Show files and drop-ins of one or more units\n" + " set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n" +- " help NAME...|PID... Show manual for one or more units\n" +- " reset-failed [NAME...] Reset failed state for all, one, or more\n" ++ " help PATTERN...|PID... Show manual for one or more units\n" ++ " reset-failed [PATTERN...] Reset failed state for all, one, or more\n" + " units\n" + " list-dependencies [NAME] Recursively show units which are required\n" + " or wanted by this unit or by which this\n" +-- +1.7.9.2 + diff --git a/0003-tty-ask-password-agent-return-negative-errno.patch b/0003-tty-ask-password-agent-return-negative-errno.patch new file mode 100644 index 00000000..9f839a7f --- /dev/null +++ b/0003-tty-ask-password-agent-return-negative-errno.patch @@ -0,0 +1,29 @@ +From ee0e4cca5ac37a094dfe1074907dae70c7b7701c Mon Sep 17 00:00:00 2001 +From: Florian Albrechtskirchinger +Date: Thu, 3 Apr 2014 21:17:20 +0200 +Subject: [PATCH] tty-ask-password-agent: return negative errno + +Return negative errno in wall_tty_block(). get_ctty_devnr() already +returns a negative errno in case of failure, no need to negate it again. + +Reported-by: Simon +--- + .../tty-ask-password-agent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 1d067af..3203474 100644 +--- src/tty-ask-password-agent/tty-ask-password-agent.c ++++ src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -432,7 +432,7 @@ static int wall_tty_block(void) { + + r = get_ctty_devnr(0, &devnr); + if (r < 0) +- return -r; ++ return r; + + if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0) + return -ENOMEM; +-- +1.7.9.2 + diff --git a/0004-systemd-python-use-.hex-instead-of-.get_hex.patch b/0004-systemd-python-use-.hex-instead-of-.get_hex.patch new file mode 100644 index 00000000..4ddad20e --- /dev/null +++ b/0004-systemd-python-use-.hex-instead-of-.get_hex.patch @@ -0,0 +1,46 @@ +From b532cf3722e04adb0bd075666eb9989a9390d0a2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 5 Apr 2014 13:23:25 -0400 +Subject: [PATCH] systemd-python: use .hex instead of .get_hex() + +It turns out the latter got removed in Python 3. + +https://bugs.freedesktop.org/show_bug.cgi?id=77086 +--- + src/python-systemd/journal.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git src/python-systemd/journal.py src/python-systemd/journal.py +index 9c7e004..dd1f229 100644 +--- src/python-systemd/journal.py ++++ src/python-systemd/journal.py +@@ -293,7 +293,7 @@ class Reader(_Reader): + monotonic = monotonic.totalseconds() + monotonic = int(monotonic * 1000000) + if isinstance(bootid, _uuid.UUID): +- bootid = bootid.get_hex() ++ bootid = bootid.hex + return super(Reader, self).seek_monotonic(monotonic, bootid) + + def log_level(self, level): +@@ -314,7 +314,7 @@ class Reader(_Reader): + Equivalent to add_match(MESSAGE_ID=`messageid`). + """ + if isinstance(messageid, _uuid.UUID): +- messageid = messageid.get_hex() ++ messageid = messageid.hex + self.add_match(MESSAGE_ID=messageid) + + def this_boot(self, bootid=None): +@@ -346,7 +346,7 @@ class Reader(_Reader): + + def get_catalog(mid): + if isinstance(mid, _uuid.UUID): +- mid = mid.get_hex() ++ mid = mid.hex + return _get_catalog(mid) + + def _make_line(field, value): +-- +1.7.9.2 + diff --git a/0005-systemd-python-fix-failing-assert.patch b/0005-systemd-python-fix-failing-assert.patch new file mode 100644 index 00000000..9b0290d3 --- /dev/null +++ b/0005-systemd-python-fix-failing-assert.patch @@ -0,0 +1,26 @@ +From b65f24238b0627143916a9c7f8315483a9666676 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 5 Apr 2014 13:29:50 -0400 +Subject: [PATCH] systemd-python: fix failing assert + +A parameter which was always null before, now get's set to +the module. +--- + src/python-systemd/_reader.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git src/python-systemd/_reader.c src/python-systemd/_reader.c +index 059b904..9a19a10 100644 +--- src/python-systemd/_reader.c ++++ src/python-systemd/_reader.c +@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) { + sd_id128_t id; + _cleanup_free_ char *msg = NULL; + +- assert(!self); + assert(args); + + if (!PyArg_ParseTuple(args, "z:get_catalog", &id_)) +-- +1.7.9.2 + diff --git a/portmap-wants-rpcbind-socket.patch b/portmap-wants-rpcbind-socket.patch new file mode 100644 index 00000000..58b9cfbc --- /dev/null +++ b/portmap-wants-rpcbind-socket.patch @@ -0,0 +1,7 @@ +--- systemd-210/units/rpcbind.target ++++ systemd-210/units/rpcbind.target 2014-04-08 07:21:55.438235838 +0000 +@@ -12,3 +12,4 @@ + Description=RPC Port Mapper + Documentation=man:systemd.special(7) + RefuseManualStart=yes ++Wants=rpcbind.socket diff --git a/systemd-mini.changes b/systemd-mini.changes index 6e6334de..e24f9c07 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de + +- Add patch portmap-wants-rpcbind-socket.patch to make sure that + rpcbind socket as well as service is up with the target +- Add or port upstram bugfix patches: + 0001-journal-fix-export-of-messages-containing-newlines.patch + 0002-systemctl-update-NAME-to-PATTERN-in-help.patch + 0003-tty-ask-password-agent-return-negative-errno.patch + 0004-systemd-python-use-.hex-instead-of-.get_hex.patch + 0005-systemd-python-fix-failing-assert.patch + ------------------------------------------------------------------- Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 1a24806d..765abd40 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -329,6 +329,16 @@ Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch # PATCH-FIX-USTREAM added at 2014/03/28 Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -362,6 +372,9 @@ Patch1999: systemd-install-compat_pkgconfig-always.patch Patch2000: systemd-dbus-system-bus-address.patch # PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper Patch2001: let-linker-find-libudev-for-libdevmapper.patch +# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target +Patch2002: portmap-wants-rpcbind-socket.patch + # udev patches # PATCH-FIX-USTREAM added at 2014/03/03 Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch @@ -689,6 +702,11 @@ cp %{SOURCE7} m4/ %patch169 -p0 %patch170 -p0 %patch171 -p0 +%patch172 -p0 +%patch173 -p0 +%patch174 -p0 +%patch175 -p0 +%patch176 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 @@ -705,6 +723,7 @@ cp %{SOURCE7} m4/ %patch1999 -p1 %patch2000 -p1 %patch2001 -p1 +%patch2002 -p1 # udev patches %patch1034 -p0 %patch1035 -p0 diff --git a/systemd.changes b/systemd.changes index 6e6334de..e24f9c07 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de + +- Add patch portmap-wants-rpcbind-socket.patch to make sure that + rpcbind socket as well as service is up with the target +- Add or port upstram bugfix patches: + 0001-journal-fix-export-of-messages-containing-newlines.patch + 0002-systemctl-update-NAME-to-PATTERN-in-help.patch + 0003-tty-ask-password-agent-return-negative-errno.patch + 0004-systemd-python-use-.hex-instead-of-.get_hex.patch + 0005-systemd-python-fix-failing-assert.patch + ------------------------------------------------------------------- Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index b5f4ba83..9d146544 100644 --- a/systemd.spec +++ b/systemd.spec @@ -324,6 +324,16 @@ Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch # PATCH-FIX-USTREAM added at 2014/03/28 Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -357,6 +367,9 @@ Patch1999: systemd-install-compat_pkgconfig-always.patch Patch2000: systemd-dbus-system-bus-address.patch # PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper Patch2001: let-linker-find-libudev-for-libdevmapper.patch +# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target +Patch2002: portmap-wants-rpcbind-socket.patch + # udev patches # PATCH-FIX-USTREAM added at 2014/03/03 Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch @@ -684,6 +697,11 @@ cp %{SOURCE7} m4/ %patch169 -p0 %patch170 -p0 %patch171 -p0 +%patch172 -p0 +%patch173 -p0 +%patch174 -p0 +%patch175 -p0 +%patch176 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 @@ -700,6 +718,7 @@ cp %{SOURCE7} m4/ %patch1999 -p1 %patch2000 -p1 %patch2001 -p1 +%patch2002 -p1 # udev patches %patch1034 -p0 %patch1035 -p0 From 55d1226d793f55739aefc375a877a9126cd9246dff30706b96ef0523f1197a49 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 12 Apr 2014 19:28:52 +0000 Subject: [PATCH 176/991] Accepting request 229621 from Base:System - Add two patches from hare@suse.com 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch 1012-Skip-persistent-device-link-creation-on-multipath-de.patch to solve bnc#872929 - Increase result size for programs stdout (bnc#867840). add: 1010-udev-increase-result-size-for-programs.patch - Update udev-generate-peristent-rule.sh to the latest version. - Clean-up spec file, re-arange patch to suit the setup, all udev patches start with 1XXX-*.{patch,diff}. - Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to 1009-cdrom_id-use-the-old-MMC-fallback.patch - Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to 0009-make-xsltproc-use-correct-ROFF-links.patch - Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to 0010-do-not-install-sulogin-unit-with-poweroff.patch - Rename: 1014-journald-with-journaling-FS.patch to 0014-journald-with-journaling-FS.patch - Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to 0019-make-completion-smart-to-be-able-to-redirect.patch - Rename: 1022-systemd-tmpfiles-ownerkeep.patch to 0022-systemd-tmpfiles-ownerkeep.patch - Add two patches from hare@suse.com 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch 1012-Skip-persistent-device-link-creation-on-multipath-de.patch to solve bnc#872929 OBS-URL: https://build.opensuse.org/request/show/229621 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=181 --- ...make-xsltproc-use-correct-ROFF-links.patch | 0 ...t-install-sulogin-unit-with-poweroff.patch | 0 ... => 0014-journald-with-journaling-FS.patch | 0 ...ripts-know-about-Required-and-Should.patch | 0 ...pletion-smart-to-be-able-to-redirect.patch | 0 ...h => 0022-systemd-tmpfiles-ownerkeep.patch | 0 ...09-cdrom_id-use-the-old-MMC-fallback.patch | 4 +- ...ev-increase-result-size-for-programs.patch | 13 ++ ...kip-btrfs-check-if-devices-are-not-r.patch | 27 +++ ...device-link-creation-on-multipath-de.patch | 43 ++++ systemd-mini.changes | 31 +++ systemd-mini.spec | 112 ++++++----- systemd.changes | 31 +++ systemd.spec | 112 ++++++----- udev-generate-peristent-rule.sh | 187 ++++++++++++------ 15 files changed, 401 insertions(+), 159 deletions(-) rename 1009-make-xsltproc-use-correct-ROFF-links.patch => 0009-make-xsltproc-use-correct-ROFF-links.patch (100%) rename 1010-do-not-install-sulogin-unit-with-poweroff.patch => 0010-do-not-install-sulogin-unit-with-poweroff.patch (100%) rename 1014-journald-with-journaling-FS.patch => 0014-journald-with-journaling-FS.patch (100%) rename 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch => 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch (100%) rename 1019-make-completion-smart-to-be-able-to-redirect.patch => 0019-make-completion-smart-to-be-able-to-redirect.patch (100%) rename 1022-systemd-tmpfiles-ownerkeep.patch => 0022-systemd-tmpfiles-ownerkeep.patch (100%) rename 0013-cdrom_id-use-the-old-MMC-fallback.patch => 1009-cdrom_id-use-the-old-MMC-fallback.patch (96%) create mode 100644 1010-udev-increase-result-size-for-programs.patch create mode 100644 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch create mode 100644 1012-Skip-persistent-device-link-creation-on-multipath-de.patch diff --git a/1009-make-xsltproc-use-correct-ROFF-links.patch b/0009-make-xsltproc-use-correct-ROFF-links.patch similarity index 100% rename from 1009-make-xsltproc-use-correct-ROFF-links.patch rename to 0009-make-xsltproc-use-correct-ROFF-links.patch diff --git a/1010-do-not-install-sulogin-unit-with-poweroff.patch b/0010-do-not-install-sulogin-unit-with-poweroff.patch similarity index 100% rename from 1010-do-not-install-sulogin-unit-with-poweroff.patch rename to 0010-do-not-install-sulogin-unit-with-poweroff.patch diff --git a/1014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch similarity index 100% rename from 1014-journald-with-journaling-FS.patch rename to 0014-journald-with-journaling-FS.patch diff --git a/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch similarity index 100% rename from 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch rename to 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch diff --git a/1019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch similarity index 100% rename from 1019-make-completion-smart-to-be-able-to-redirect.patch rename to 0019-make-completion-smart-to-be-able-to-redirect.patch diff --git a/1022-systemd-tmpfiles-ownerkeep.patch b/0022-systemd-tmpfiles-ownerkeep.patch similarity index 100% rename from 1022-systemd-tmpfiles-ownerkeep.patch rename to 0022-systemd-tmpfiles-ownerkeep.patch diff --git a/0013-cdrom_id-use-the-old-MMC-fallback.patch b/1009-cdrom_id-use-the-old-MMC-fallback.patch similarity index 96% rename from 0013-cdrom_id-use-the-old-MMC-fallback.patch rename to 1009-cdrom_id-use-the-old-MMC-fallback.patch index 4703b76f..ada9292f 100644 --- a/0013-cdrom_id-use-the-old-MMC-fallback.patch +++ b/1009-cdrom_id-use-the-old-MMC-fallback.patch @@ -38,8 +38,8 @@ Suggested-by:Luca Miccini diff --git src/udev/cdrom_id/cdrom_id.c src/udev/cdrom_id/cdrom_id.c index 93467c2..33b2bc3 100644 ---- src/udev/cdrom_id/cdrom_id.c -+++ src/udev/cdrom_id/cdrom_id.c +--- a/src/udev/cdrom_id/cdrom_id.c ++++ b/src/udev/cdrom_id/cdrom_id.c @@ -556,7 +556,7 @@ static int cd_profiles(struct udev *udev, int fd) if ((err != 0)) { info_scsi_cmd_err(udev, "GET CONFIGURATION", err); diff --git a/1010-udev-increase-result-size-for-programs.patch b/1010-udev-increase-result-size-for-programs.patch new file mode 100644 index 00000000..7eb2ea72 --- /dev/null +++ b/1010-udev-increase-result-size-for-programs.patch @@ -0,0 +1,13 @@ +Index: systemd-210/src/udev/udev-rules.c +=================================================================== +--- systemd-210.orig/src/udev/udev-rules.c ++++ systemd-210/src/udev/udev-rules.c +@@ -2027,7 +2027,7 @@ int udev_rules_apply_to_event(struct ude + case TK_M_PROGRAM: { + char program[UTIL_PATH_SIZE]; + char **envp; +- char result[UTIL_PATH_SIZE]; ++ char result[UTIL_LINE_SIZE]; + + free(event->program_result); + event->program_result = NULL; diff --git a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch new file mode 100644 index 00000000..391592ee --- /dev/null +++ b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch @@ -0,0 +1,27 @@ +From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 10 Apr 2014 11:10:41 +0200 +Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready + +If any devices are marked with 'SYSTEMD_READY=0' then +we shouldn't run any btrfs check on them. + +--- + rules/64-btrfs.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rules/64-btrfs.rules b/rules/64-btrfs.rules +index fe01001..57631bc 100644 +--- a/rules/64-btrfs.rules ++++ b/rules/64-btrfs.rules +@@ -3,6 +3,7 @@ + SUBSYSTEM!="block", GOTO="btrfs_end" + ACTION=="remove", GOTO="btrfs_end" + ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" ++ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" + + # let the kernel know about this btrfs filesystem, and check if it is complete + IMPORT{builtin}="btrfs ready $devnode" +-- +1.8.1.4 + diff --git a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch new file mode 100644 index 00000000..087dc3a0 --- /dev/null +++ b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch @@ -0,0 +1,43 @@ +From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 10 Apr 2014 11:14:20 +0200 +Subject: [PATCH 2/2] Skip persistent device link creation on multipath device + paths + +When a device is marked as a multipath device path by setting +DM_MULTIPATH_DEVICE_PATH="1" udev should not create any +persistent symlinks to that device. +Otherwise systemd will get confused about which device to use. + +--- + rules/60-persistent-storage.rules | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules +index 1208bd3..fd5bedd 100644 +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules +@@ -39,8 +39,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin + # scsi devices + KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" + KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" +-KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" +-KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" ++KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" ++KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" + + # scsi compat links for ATA devices + KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" +@@ -70,6 +70,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT + KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ + IMPORT{builtin}="blkid --noraid" + ++# Skip blkid on multipath device paths ++ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" ++ + # probe filesystem metadata of disks + KERNEL!="sr*", IMPORT{builtin}="blkid" + +-- +1.8.1.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index e24f9c07..8459a4a0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de + +- Add two patches from hare@suse.com + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + to solve bnc#872929 + +------------------------------------------------------------------- +Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com + +- Increase result size for programs stdout (bnc#867840). + add: 1010-udev-increase-result-size-for-programs.patch +- Update udev-generate-peristent-rule.sh to the latest version. +- Clean-up spec file, re-arange patch to suit the setup, all udev + patches start with 1XXX-*.{patch,diff}. +- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to + 1009-cdrom_id-use-the-old-MMC-fallback.patch +- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to + 0009-make-xsltproc-use-correct-ROFF-links.patch +- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to + 0010-do-not-install-sulogin-unit-with-poweroff.patch +- Rename: 1014-journald-with-journaling-FS.patch to + 0014-journald-with-journaling-FS.patch +- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to + 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to + 0019-make-completion-smart-to-be-able-to-redirect.patch +- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to + 0022-systemd-tmpfiles-ownerkeep.patch + ------------------------------------------------------------------- Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 765abd40..25a939eb 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -339,47 +339,51 @@ Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch # PATCH-FIX-USTREAM added at 2014/04/08 Patch176: 0005-systemd-python-fix-failing-assert.patch -# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) -Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch -# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch +# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) +Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch +# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) +Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch -Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch -Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch +Patch180: 0014-journald-with-journaling-FS.patch +# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch +Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch1020: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch -Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +Patch183: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch +Patch184: 0022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch -Patch1023: systemd-powerd-initctl-support.patch +Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch1024: systemctl-set-default-target.patch +Patch186: systemctl-set-default-target.patch # PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch1025: prepare-suspend-to-disk.patch +Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch1026: boot-local-start.patch +Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch1027: avoid-random-hangs-on-timeouts-due-lost-cwd.patch - +Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch1999: systemd-install-compat_pkgconfig-always.patch +Patch190: systemd-install-compat_pkgconfig-always.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch2000: systemd-dbus-system-bus-address.patch +Patch191: systemd-dbus-system-bus-address.patch # PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch2001: let-linker-find-libudev-for-libdevmapper.patch +Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch2002: portmap-wants-rpcbind-socket.patch - -# udev patches -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch +Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 -Patch1035: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch + +# UDEV PATCHES +# ============ +# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. +# Udev patches mean: patches that affect udev code, src/{udev,libudev} +# nothing else, even if the patch might affect indirectly udev, as long +# as it's not changing the code of udev and libudev, then is not a udev +# patch. Further patches which add and/or changes udev rules. + # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -394,6 +398,14 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-SUSE increase result size for programs (bnc#867840) +Patch1010: 1010-udev-increase-result-size-for-programs.patch +# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) +Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) +Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -707,26 +719,26 @@ cp %{SOURCE7} m4/ %patch174 -p0 %patch175 -p0 %patch176 -p0 -%patch1009 -p1 -%patch1010 -p1 -%patch1012 -p1 -%patch1014 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 -%patch1022 -p1 -%patch1023 -p1 -%patch1024 -p1 -%patch1025 -p1 -%patch1026 -p1 -%patch1027 -p1 -%patch1999 -p1 -%patch2000 -p1 -%patch2001 -p1 -%patch2002 -p1 +%patch177 -p1 +%patch178 -p1 +%patch179 -p1 +%patch180 -p1 +%patch181 -p1 +%patch182 -p1 +%patch183 -p1 +%patch184 -p1 +%patch185 -p1 +%patch186 -p1 +%patch187 -p1 +%patch188 -p1 +%patch189 -p1 +%patch190 -p1 +%patch191 -p1 +%patch192 -p1 +%patch193 -p1 +%patch194 -p0 + # udev patches -%patch1034 -p0 -%patch1035 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -736,6 +748,10 @@ cp %{SOURCE7} m4/ %if 0%{?suse_version} <= 1310 %patch1008 -p1 %endif +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index e24f9c07..8459a4a0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de + +- Add two patches from hare@suse.com + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + to solve bnc#872929 + +------------------------------------------------------------------- +Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com + +- Increase result size for programs stdout (bnc#867840). + add: 1010-udev-increase-result-size-for-programs.patch +- Update udev-generate-peristent-rule.sh to the latest version. +- Clean-up spec file, re-arange patch to suit the setup, all udev + patches start with 1XXX-*.{patch,diff}. +- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to + 1009-cdrom_id-use-the-old-MMC-fallback.patch +- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to + 0009-make-xsltproc-use-correct-ROFF-links.patch +- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to + 0010-do-not-install-sulogin-unit-with-poweroff.patch +- Rename: 1014-journald-with-journaling-FS.patch to + 0014-journald-with-journaling-FS.patch +- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to + 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to + 0019-make-completion-smart-to-be-able-to-redirect.patch +- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to + 0022-systemd-tmpfiles-ownerkeep.patch + ------------------------------------------------------------------- Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 9d146544..2a626ba8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -334,47 +334,51 @@ Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch # PATCH-FIX-USTREAM added at 2014/04/08 Patch176: 0005-systemd-python-fix-failing-assert.patch -# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) -Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch -# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch +# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) +Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch +# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) +Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch -Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch -Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch +Patch180: 0014-journald-with-journaling-FS.patch +# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch +Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch1020: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch -Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +Patch183: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch +Patch184: 0022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch -Patch1023: systemd-powerd-initctl-support.patch +Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch1024: systemctl-set-default-target.patch +Patch186: systemctl-set-default-target.patch # PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch1025: prepare-suspend-to-disk.patch +Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch1026: boot-local-start.patch +Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch1027: avoid-random-hangs-on-timeouts-due-lost-cwd.patch - +Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch1999: systemd-install-compat_pkgconfig-always.patch +Patch190: systemd-install-compat_pkgconfig-always.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch2000: systemd-dbus-system-bus-address.patch +Patch191: systemd-dbus-system-bus-address.patch # PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch2001: let-linker-find-libudev-for-libdevmapper.patch +Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch2002: portmap-wants-rpcbind-socket.patch - -# udev patches -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch +Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 -Patch1035: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch + +# UDEV PATCHES +# ============ +# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. +# Udev patches mean: patches that affect udev code, src/{udev,libudev} +# nothing else, even if the patch might affect indirectly udev, as long +# as it's not changing the code of udev and libudev, then is not a udev +# patch. Further patches which add and/or changes udev rules. + # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -389,6 +393,14 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-SUSE increase result size for programs (bnc#867840) +Patch1010: 1010-udev-increase-result-size-for-programs.patch +# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) +Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) +Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -702,26 +714,26 @@ cp %{SOURCE7} m4/ %patch174 -p0 %patch175 -p0 %patch176 -p0 -%patch1009 -p1 -%patch1010 -p1 -%patch1012 -p1 -%patch1014 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 -%patch1022 -p1 -%patch1023 -p1 -%patch1024 -p1 -%patch1025 -p1 -%patch1026 -p1 -%patch1027 -p1 -%patch1999 -p1 -%patch2000 -p1 -%patch2001 -p1 -%patch2002 -p1 +%patch177 -p1 +%patch178 -p1 +%patch179 -p1 +%patch180 -p1 +%patch181 -p1 +%patch182 -p1 +%patch183 -p1 +%patch184 -p1 +%patch185 -p1 +%patch186 -p1 +%patch187 -p1 +%patch188 -p1 +%patch189 -p1 +%patch190 -p1 +%patch191 -p1 +%patch192 -p1 +%patch193 -p1 +%patch194 -p0 + # udev patches -%patch1034 -p0 -%patch1035 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -731,6 +743,10 @@ cp %{SOURCE7} m4/ %if 0%{?suse_version} <= 1310 %patch1008 -p1 %endif +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/udev-generate-peristent-rule.sh b/udev-generate-peristent-rule.sh index 4c83919a..89956e18 100644 --- a/udev-generate-peristent-rule.sh +++ b/udev-generate-peristent-rule.sh @@ -9,17 +9,19 @@ # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # # This script run manually by user, will generate a persistent rule for # a given network interface to rename it to new interface name. # -prj=${0##*/} +_prj="$(basename $0 2>/dev/null)" +prj="${_prj%.*}" +ver="0.2" log_info() { @@ -29,28 +31,33 @@ log_info() log_error() { - local msg=$1 + local msg="$1" echo "$prj: $msg" >&2 } usage() { - set -f cat << EOF -$prj: udev persistent rule generator +$prj: udev persistent rule generator script Usage: $prj [OPTION] ... - -h show this help - -m generate the persistent rule based on interface MAC address - -p generate the persistent rule based on interface PCI slot - -v be verbose - -c current interface name (ex: "ip a s") - -n new interface name (ex: net0) - -o where to write the new generate rule (default: /dev/stdout) - prefered location is /etc/udev/rules.d/70-persistent-net.rules + -h Show this help + -l List available interfaces + -m Generate the persistent rule based on interface MAC address + default option, if nothing is specified + -p Generate the persistent rule based on interface PCI slot + -v Be more verbose + -V Output the version number + -c [INTERFACE] Current interface name (ex: ip link) + only needed for retrieving information + -n [INTERFACE] New interface name (ex: net0) + -o [FILE] Where to write the new generate rule (default: /dev/stdout) + prefered location is /etc/udev/rules.d/70-persistent-net.rules Example: + $prj -v -c enp0s4 -n lan0 + or $prj -m -c enp0s4 -n net0 -o /etc/udev/rules.d/70-persistent-net.rules or $prj -p -c wlp3s0 -n wlan0 -o /etc/udev/rules.d/50-mynet.rules @@ -60,22 +67,19 @@ EOF display_note() { - cat <<'EOF' - -NOTE: Using the generate persistent rule might mean you will need to do extra -work to ensure that it will work accordingly. This mean, regenerating the -initramfs/initrd image and/or using 'net.ifnames=0' option at boot time. - -In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, -but usually there is no need for 'net.ifnames=0' option if the persistent rule -is available in initramfs/initrd image. + cat << EOF +NOTE: Using the generate persistent rule might mean you will need to do extra work to ensure +that it will work accordingly. This mean, regenerating the initramfs/initrd image and/or using +'net.ifnames=0' option at boot time. +In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, but usually there +is no need for 'net.ifnames=0' option if the persistent rule is available in initramfs/initrd image. EOF } get_pci() { - local path=$1 + local path="$1" local pci="" if [ -L "$path/device" ]; then @@ -87,7 +91,7 @@ get_pci() get_pci_id() { - local path=$1 + local path="$1" local pci_id="" if [ -r "$path/device/uevent" ]; then @@ -99,7 +103,7 @@ get_pci_id() get_macaddr() { - local path=$1 + local path="$1" local macaddr="" if [ -r "$path/address" ]; then @@ -110,7 +114,7 @@ get_macaddr() get_type() { - local path=$1 + local path="$1" local dev_type="" if [ -r "$path/type" ]; then @@ -121,7 +125,7 @@ get_type() get_dev_id() { - local path=$1 + local path="$1" local dev_id="" if [ -r "$path/dev_id" ]; then @@ -132,7 +136,7 @@ get_dev_id() get_devtype() { - local path=$1 + local path="$1" local devtype="" if [ -r "$path/uevent" ]; then local _devtype="$(cat $path/uevent|grep ^DEVTYPE 2>/dev/null)" @@ -143,7 +147,7 @@ get_devtype() get_subsystem() { - local path=$1 + local path="$1" local subsystem="" if [ -L "$path/subsystem" ]; then @@ -153,9 +157,21 @@ get_subsystem() echo $subsystem } +get_parent_subsystem() +{ + local path="$1" + local subsystem="" + + if [ -L "$path/device/subsystem" ]; then + local subsystem_link="$(readlink -f $path/device/subsystem 2>/dev/null)" + subsystem="$(basename $subsystem_link 2>/dev/null)" + fi + echo $subsystem +} + get_driver() { - local path=$1 + local path="$1" local driver="" if [ -L "$path/device/driver" ]; then @@ -167,7 +183,7 @@ get_driver() valid_mac() { - local macaddr=$1 + local macaddr="$1" local valid_macaddr="" if [ -n "$macaddr" ]; then @@ -178,9 +194,11 @@ valid_mac() generate_comment() { - local pci_id=$1 - local driver=$2 - local output=$3 + local pci_id="$1" + local driver="$2" + local output="$3" + local device_type="$4" + local _type="" if [ -z "$pci_id" ]; then log_error "\$pci_id empty." @@ -192,20 +210,27 @@ generate_comment() log_error "\$output empty." exit 1 else - echo "# PCI device $pci_id ($driver) with official udev name $interface renamed to unsupported $new_interface" >> $output + if [ "$device_type" == "pci" ]; then + _type="PCI" + elif [ "$device_type" == "usb" ]; then + _type="USB" + else + _type="Unknown" + fi + echo "# $_type device $pci_id ($driver)" >> $output fi } generate_rule() { - local _subsystem=$1 - local _mac=$2 - local _pci=$3 - local _dev_id=$4 - local _dev_type=$5 - local _kernel=$6 - local _interface=$7 - local output=$8 + local _subsystem="$1" + local _mac="$2" + local _pci="$3" + local _dev_id="$4" + local _dev_type="$5" + local _kernel="$6" + local _interface="$7" + local output="$8" if [ -z "$_subsystem" ]; then log_error "\$_subsystem empty." @@ -238,26 +263,57 @@ ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", NA fi } +list_adapters() +{ + declare -a netdev + local count=0 + local _netdev="" + local _dev="" + + for _dev in $SYSPATH/*; do + if [ -L "$_dev/device" ]; then + _dev="$(basename $_dev 2>/dev/null)" + netdev[$count]="$_dev" + count=$((count + 1)) + fi + done + + echo "Found $count network interfaces:" + for _netdev in "${netdev[@]}"; do + _macaddr="$(get_macaddr $SYSPATH/$_netdev)" + _pcislot="$(get_pci $SYSPATH/$_netdev)" + echo "I: INTERFACE: $_netdev" + echo "I: MACADDR: $_macaddr" + echo "I: PCI: $_pcislot" + done +} + if [ $# -eq 0 ]; then usage log_error "missing option(s)." exit 1 fi +SYSPATH="/sys/class/net" + use_mac=0 use_pci=0 use_verbose=0 -while getopts "hmpvc:n:o:" opt; do +while getopts "hlmpvVc:n:o:" opt; do case "$opt" in h) usage; exit 0;; + l) + list_adapters; exit 0;; m) use_mac=1 ;; p) use_pci=1 ;; v) use_verbose=1 ;; + V) + echo "$prj $ver"; exit 0;; c) ifcur="$OPTARG" ;; n) @@ -269,14 +325,18 @@ while getopts "hmpvc:n:o:" opt; do esac done +if [[ "$use_mac" -eq 0 ]] && [[ "$use_pci" -eq 0 ]]; then + use_mac=1 +fi + if [[ "$use_mac" -eq 1 ]] && [[ "$use_pci" -eq 1 ]]; then log_error "generating a persistent rule can be done only using one of the option, -m or -p, not both." exit 1 fi -outfile=$output +outfile="$output" if [ -z "$output" ]; then - outfile=/dev/stdout + outfile="/dev/stdout" else dir="$(dirname $outfile 2>/dev/null)" tmpfile="$dir/.tmp_file" @@ -293,7 +353,7 @@ else fi fi -interface=$ifcur +interface="$ifcur" if [ -z "$interface" ]; then log_error "current interface must be specified." exit 1 @@ -303,7 +363,7 @@ elif [ "$interface" == "lo" ]; then fi [ "$use_verbose" -eq 1 ] && echo "I: INTERFACE=$interface" -new_interface=$ifnew +new_interface="$ifnew" if [ -z "$new_interface" ]; then log_error "new interface must be specified." exit 1 @@ -313,7 +373,7 @@ elif [ "$new_interface" == "lo" ]; then fi [ "$use_verbose" -eq 1 ] && echo "I: INTERFACE_NEW=$new_interface" -path="/sys/class/net/$interface" +path="$SYSPATH/$interface" if [ ! -d "$path" ]; then log_error "devpath $path not a directory." exit 1 @@ -325,6 +385,13 @@ if [ -n "$devtype" ]; then [ "$use_verbose" -eq 1 ] && echo "I: DEVTYPE=$devtype" fi +parent_subsystem="$(get_parent_subsystem $path)" +if [ -z "$parent_subsystem" ]; then + log_error "unable to retrieve parent subsystem for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: PARENT_SUBSYSTEM=$parent_subsystem" + subsystem="$(get_subsystem $path)" if [ -z "$subsystem" ]; then log_error "unable to retrieve subsystem for interface $interface." @@ -334,8 +401,7 @@ fi pci_id="$(get_pci_id $path)" if [ -z "$pci_id" ]; then - log_error "unable to retrieve PCI_ID for interface $interface." - exit 1 + pci_id="0x:0x" fi [ "$use_verbose" -eq 1 ] && echo "I: PCI_ID=$pci_id" @@ -382,23 +448,22 @@ if [ -z "$dev_type" ]; then fi [ "$use_verbose" -eq 1 ] && echo "I: TYPE=$dev_type" -if [ "$devtype" == "wlan" ]; then - kernel="wlan*" -else - kernel="eth*" +kernel="eth*" +if [ -n "$devtype" ]; then + if [ "$devtype" == "wlan" ]; then + kernel="wlan*" + fi fi if [ -n "$output" ]; then - echo "Persistent rule saved in "$outfile"" - echo - generate_comment "$pci_id" "$driver" "$output" + echo "Persistent rule written to "$outfile"" + generate_comment "$pci_id" "$driver" "$outfile" "$parent_subsystem" fi -set -f if [ "$use_mac" -eq 1 ]; then generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" if [ -n "$output" ]; then - generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$output" + generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$outfile" fi elif [ "$use_pci" -eq 1 ]; then generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" "$new_interface" From 74b2bf3650ae1a807fd5ca0ee5bd7e4cfef332d4c8caa943005b5e5316f78d1c Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 26 Apr 2014 09:45:02 +0000 Subject: [PATCH 177/991] Accepting request 230483 from Base:System - Extend avoid-divide-by-zero-sigtrap.patch to make the crash handler know about SIGTRAP and SIGSYS - Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 that is a divide by zero on a jobless system - Use latest regenerate-initrd rpm macros (fate#313506) - Add rescue-emergency-target-conflicts.patch to avoid that emergency and rescue sulogin are fighting on console - Modify systemd-sleep-grub to let hybrid-sleep.target work even on XEN, changes from Thomas Blume (bnc#873432) - Add backported upstream patch 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - Add patch systemd-detect-xendom.patch from Thomas Blume to be able to detect XEN dom0 as well as domU - systemd conflicts with sysvinit, ven if the package systemd-sysvinit does already conflict with sysvinit-init (bnc#873444) - Extend avoid-divide-by-zero-sigtrap.patch to make the crash handler know about SIGTRAP and SIGSYS - Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 that is a divide by zero on a jobless system - Use latest regenerate-initrd rpm macros (fate#313506) - Add rescue-emergency-target-conflicts.patch to avoid that emergency and rescue sulogin are fighting on console OBS-URL: https://build.opensuse.org/request/show/230483 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=182 --- ...t-of-messages-logged-to-dev-kmsg-whe.patch | 27 ++++++++++++ avoid-divide-by-zero-sigtrap.patch | 25 +++++++++++ rescue-emergency-target-conflicts.patch | 20 +++++++++ systemd-detect-xendom.patch | 35 ++++++++++++++++ systemd-mini.changes | 35 ++++++++++++++++ systemd-mini.spec | 42 +++++++++++++++++++ systemd-sleep-grub | 6 +-- systemd.changes | 35 ++++++++++++++++ systemd.spec | 42 +++++++++++++++++++ 9 files changed, 264 insertions(+), 3 deletions(-) create mode 100644 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch create mode 100644 avoid-divide-by-zero-sigtrap.patch create mode 100644 rescue-emergency-target-conflicts.patch create mode 100644 systemd-detect-xendom.patch diff --git a/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch b/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch new file mode 100644 index 00000000..9d10cced --- /dev/null +++ b/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch @@ -0,0 +1,27 @@ +Based on b2103dccb354de3f38c49c14ccb637bdf665e40f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 5 Apr 2014 13:59:01 -0400 +Subject: [PATCH] reduce the amount of messages logged to /dev/kmsg when + "debug" is specified + +--- + src/core/main.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-04-14 13:50:48.490814738 +0000 +@@ -412,12 +412,8 @@ static int parse_proc_cmdline_word(const + if (arg_show_status == _SHOW_STATUS_UNSET) + arg_show_status = SHOW_STATUS_AUTO; + } else if (streq(word, "debug")) { +- /* Log to kmsg, the journal socket will fill up before the +- * journal is started and tools running during that time +- * will block with every log message for for 60 seconds, +- * before they give up. */ +- log_set_max_level(LOG_DEBUG); +- log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_CONSOLE : LOG_TARGET_KMSG); ++ if (detect_container(NULL) > 0) ++ log_set_target(LOG_TARGET_CONSOLE); + } else if (!in_initrd()) { + unsigned i; + diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch new file mode 100644 index 00000000..4f676e87 --- /dev/null +++ b/avoid-divide-by-zero-sigtrap.patch @@ -0,0 +1,25 @@ +Nasty bug reported on bnc#867663 + +--- systemd-210/src/core/manager.c ++++ systemd-210/src/core/manager.c 2014-04-17 13:29:07.366236714 +0000 +@@ -1780,7 +1780,8 @@ static int manager_dispatch_jobs_in_prog + assert(m); + assert(source); + +- manager_print_jobs_in_progress(m); ++ if (m->n_running_jobs > 0) ++ manager_print_jobs_in_progress(m); + + next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC; + r = sd_event_source_set_time(source, next); +--- systemd-210/src/shared/def.h ++++ systemd-210/src/shared/def.h 2014-04-17 13:47:10.946234983 +0000 +@@ -37,7 +37,7 @@ + + #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" + +-#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT ++#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS + #define SIGNALS_IGNORE SIGPIPE + + #define DIGITS "0123456789" diff --git a/rescue-emergency-target-conflicts.patch b/rescue-emergency-target-conflicts.patch new file mode 100644 index 00000000..f4f15988 --- /dev/null +++ b/rescue-emergency-target-conflicts.patch @@ -0,0 +1,20 @@ +--- systemd-210/units/emergency.target ++++ systemd-210/units/emergency.target 2014-04-15 11:11:18.618235831 +0000 +@@ -10,4 +10,5 @@ Description=Emergency Mode + Documentation=man:systemd.special(7) + Requires=emergency.service + After=emergency.service ++Conflicts=getty.target rescue.target + AllowIsolate=yes +--- systemd-210/units/rescue.target ++++ systemd-210/units/rescue.target 2014-04-15 11:14:40.606808928 +0000 +@@ -10,7 +10,8 @@ Description=Rescue Mode + Documentation=man:systemd.special(7) + Requires=sysinit.target rescue.service + After=sysinit.target rescue.service +-Conflicts=getty.target ++Conflicts=getty.target emergency.target ++Before=emergency.target + AllowIsolate=yes + + [Install] diff --git a/systemd-detect-xendom.patch b/systemd-detect-xendom.patch new file mode 100644 index 00000000..7c02a07a --- /dev/null +++ b/systemd-detect-xendom.patch @@ -0,0 +1,35 @@ +diff -Naur systemd-210/src/shared/virt.c systemd-210-mod/src/shared/virt.c +--- systemd-210/src/shared/virt.c 2014-02-24 15:38:03.909784909 +0100 ++++ systemd-210/src/shared/virt.c 2014-04-10 13:48:05.568766957 +0200 +@@ -149,7 +149,7 @@ + + /* Returns a short identifier for the various VM implementations */ + int detect_vm(const char **id) { +- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; ++ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; + static thread_local int cached_found = -1; + static thread_local const char *cached_id = NULL; + const char *_id = NULL; +@@ -166,13 +166,18 @@ + /* Try high-level hypervisor sysfs file first: + * + * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ +- r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ r = read_one_line_file("/proc/xen/capabilities", &domcap); + if (r >= 0) { +- if (streq(hvtype, "xen")) { +- _id = "xen"; ++ if (strstr(domcap, "control_d")) { ++ r = 0; ++ _id = "xen-dom0"; ++ } else { + r = 1; +- goto finish; ++ _id = "xen-domU"; + } ++ ++ goto finish; ++ + } else if (r != -ENOENT) + return r; + diff --git a/systemd-mini.changes b/systemd-mini.changes index 8459a4a0..f6234b04 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de + +- Extend avoid-divide-by-zero-sigtrap.patch to make the crash + handler know about SIGTRAP and SIGSYS + +------------------------------------------------------------------- +Thu Apr 17 13:37:06 UTC 2014 - werner@suse.de + +- Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 + that is a divide by zero on a jobless system + +------------------------------------------------------------------- +Wed Apr 16 10:17:13 UTC 2014 - werner@suse.de + +- Use latest regenerate-initrd rpm macros (fate#313506) +- Add rescue-emergency-target-conflicts.patch to avoid that + emergency and rescue sulogin are fighting on console + +------------------------------------------------------------------- +Tue Apr 15 12:19:24 UTC 2014 - werner@suse.de + +- Modify systemd-sleep-grub to let hybrid-sleep.target work even + on XEN, changes from Thomas Blume (bnc#873432) + +------------------------------------------------------------------- +Mon Apr 14 13:55:36 UTC 2014 - werner@suse.de + +- Add backported upstream patch + 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +- Add patch systemd-detect-xendom.patch from Thomas Blume + to be able to detect XEN dom0 as well as domU +- systemd conflicts with sysvinit, ven if the package systemd-sysvinit + does already conflict with sysvinit-init (bnc#873444) + ------------------------------------------------------------------- Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 25a939eb..abc3731a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -45,6 +45,7 @@ BuildRequires: audit-devel BuildRequires: binutils-gold %endif %endif +BuildRequires: config(suse-module-tools) %if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets %endif @@ -104,6 +105,9 @@ BuildRequires: pkgconfig(libseccomp) %endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) +%if 0%{?suse_version} > 1310 +Conflicts: sysvinit +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs @@ -375,6 +379,14 @@ Patch192: let-linker-find-libudev-for-libdevmapper.patch Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/14 +Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +# PATCH-FIX-SUSE Detect XEN dom0 as well as domU +Patch196: systemd-detect-xendom.patch +# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console +Patch197: rescue-emergency-target-conflicts.patch +# PATCH-FIX-SUSE Avoid a divide by zero sigtrap +Patch198: avoid-divide-by-zero-sigtrap.patch # UDEV PATCHES # ============ @@ -463,6 +475,17 @@ Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq Requires(post): lib%{udevpkgname}%{udev_major} +Requires(post): sed +Requires(post): systemd +%if %{defined regenerate_initrd_post} +Requires(post): coreutils +Requires(postun): coreutils +Requires(posttrans): suse-module-tools +Requires(posttrans): /sbin/mkinitrd +%else +Requires(post): /sbin/mkinitrd +Requires(postun): /sbin/mkinitrd +%endif Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -737,6 +760,10 @@ cp %{SOURCE7} m4/ %patch192 -p1 %patch193 -p1 %patch194 -p0 +%patch195 -p0 +%patch196 -p1 +%patch197 -p1 +%patch198 -p1 # udev patches %patch1001 -p1 @@ -1121,9 +1148,14 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" +%if %{defined regenerate_initrd_post} + else + %regenerate_initrd_post +%else elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : +%endif fi fi @@ -1135,12 +1167,22 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" +%if %{defined regenerate_initrd_post} + else + %regenerate_initrd_post +%else elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : +%endif fi fi +%if %{defined regenerate_initrd_post} +%posttrans -n %{udevpkgname} +%regenerate_initrd_posttrans +%endif + %post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig %postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig diff --git a/systemd-sleep-grub b/systemd-sleep-grub index beeed387..5cd8bef3 100644 --- a/systemd-sleep-grub +++ b/systemd-sleep-grub @@ -50,10 +50,10 @@ getkernels-grub2() fi ;; - linux*noresume*) + linux*noresume*|module*xen*noresume*) echo " Skipping grub entry #${J}, because it has the noresume option" >&2 ;; - linux*root=*) + linux*root=*|module*xen*root=*) local ROOT ROOT=${LINE#*root=} DUMMY=($ROOT) @@ -77,7 +77,7 @@ getkernels-grub2() # DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO let I++ ;; - linux*) + linux*|module*xen*) # a kernel without "root="? We better skip that one... echo " Skipping grub entry #${J}, because it has no root= option" >&2 ;; diff --git a/systemd.changes b/systemd.changes index 8459a4a0..f6234b04 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de + +- Extend avoid-divide-by-zero-sigtrap.patch to make the crash + handler know about SIGTRAP and SIGSYS + +------------------------------------------------------------------- +Thu Apr 17 13:37:06 UTC 2014 - werner@suse.de + +- Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 + that is a divide by zero on a jobless system + +------------------------------------------------------------------- +Wed Apr 16 10:17:13 UTC 2014 - werner@suse.de + +- Use latest regenerate-initrd rpm macros (fate#313506) +- Add rescue-emergency-target-conflicts.patch to avoid that + emergency and rescue sulogin are fighting on console + +------------------------------------------------------------------- +Tue Apr 15 12:19:24 UTC 2014 - werner@suse.de + +- Modify systemd-sleep-grub to let hybrid-sleep.target work even + on XEN, changes from Thomas Blume (bnc#873432) + +------------------------------------------------------------------- +Mon Apr 14 13:55:36 UTC 2014 - werner@suse.de + +- Add backported upstream patch + 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +- Add patch systemd-detect-xendom.patch from Thomas Blume + to be able to detect XEN dom0 as well as domU +- systemd conflicts with sysvinit, ven if the package systemd-sysvinit + does already conflict with sysvinit-init (bnc#873444) + ------------------------------------------------------------------- Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 2a626ba8..e31a1834 100644 --- a/systemd.spec +++ b/systemd.spec @@ -40,6 +40,7 @@ BuildRequires: audit-devel BuildRequires: binutils-gold %endif %endif +BuildRequires: config(suse-module-tools) %if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets %endif @@ -99,6 +100,9 @@ BuildRequires: pkgconfig(libseccomp) %endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) +%if 0%{?suse_version} > 1310 +Conflicts: sysvinit +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs @@ -370,6 +374,14 @@ Patch192: let-linker-find-libudev-for-libdevmapper.patch Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/14 +Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +# PATCH-FIX-SUSE Detect XEN dom0 as well as domU +Patch196: systemd-detect-xendom.patch +# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console +Patch197: rescue-emergency-target-conflicts.patch +# PATCH-FIX-SUSE Avoid a divide by zero sigtrap +Patch198: avoid-divide-by-zero-sigtrap.patch # UDEV PATCHES # ============ @@ -458,6 +470,17 @@ Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq Requires(post): lib%{udevpkgname}%{udev_major} +Requires(post): sed +Requires(post): systemd +%if %{defined regenerate_initrd_post} +Requires(post): coreutils +Requires(postun): coreutils +Requires(posttrans): suse-module-tools +Requires(posttrans): /sbin/mkinitrd +%else +Requires(post): /sbin/mkinitrd +Requires(postun): /sbin/mkinitrd +%endif Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -732,6 +755,10 @@ cp %{SOURCE7} m4/ %patch192 -p1 %patch193 -p1 %patch194 -p0 +%patch195 -p0 +%patch196 -p1 +%patch197 -p1 +%patch198 -p1 # udev patches %patch1001 -p1 @@ -1116,9 +1143,14 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" +%if %{defined regenerate_initrd_post} + else + %regenerate_initrd_post +%else elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : +%endif fi fi @@ -1130,12 +1162,22 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" +%if %{defined regenerate_initrd_post} + else + %regenerate_initrd_post +%else elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : +%endif fi fi +%if %{defined regenerate_initrd_post} +%posttrans -n %{udevpkgname} +%regenerate_initrd_posttrans +%endif + %post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig %postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig From fb793851c75af6e5b37284c7fa7e100a345de78c1c424d93be1c60341183c791 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 2 May 2014 18:51:24 +0000 Subject: [PATCH 178/991] Accepting request 232406 from Base:System - Add patch shut-up-annoying-assertion-monotonic-clock-message.patch to avoid annyoing messages on failing dual_timestamp_is_set in the kernel's message ring buffer - Update udev-generate-peristent-rule.sh from latest git - Modify and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to avoid also ANSI escape sequences for busy jobs on s390 - Add or port upstram bugfix patches: 0001-bash-completion-fix-__get_startable_units.patch 0002-sysctl-replaces-some-slashes-with-dots.patch 0003-delta-do-not-use-unicode-chars-in-C-locale.patch 0004-implement-a-union-to-pad-out-file_handle.patch - Add patch respect-nfs-bg-option.patch from Thomas Blume: System fails to boot if nfs mounts get added to fstab (bnc#874665) - Do not use runtime PM for some IBM consoles (bnc#868931) 1013-no-runtime-PM-for-IBM-consoles.patch - Add patch shut-up-annoying-assertion-monotonic-clock-message.patch to avoid annyoing messages on failing dual_timestamp_is_set in the kernel's message ring buffer - Update udev-generate-peristent-rule.sh from latest git - Modify and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to avoid also ANSI escape sequences for busy jobs on s390 OBS-URL: https://build.opensuse.org/request/show/232406 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=183 --- ...s390_con3270_disable_ANSI_colour_esc.patch | 160 ++++++++++++++---- ...completion-fix-__get_startable_units.patch | 25 +++ ...sctl-replaces-some-slashes-with-dots.patch | 97 +++++++++++ ...do-not-use-unicode-chars-in-C-locale.patch | 134 +++++++++++++++ ...ement-a-union-to-pad-out-file_handle.patch | 117 +++++++++++++ 1013-no-runtime-PM-for-IBM-consoles.patch | 11 ++ respect-nfs-bg-option.patch | 19 +++ ...ng-assertion-monotonic-clock-message.patch | 38 +++++ systemd-mini.changes | 36 ++++ systemd-mini.spec | 21 +++ systemd.changes | 36 ++++ systemd.spec | 21 +++ udev-generate-peristent-rule.sh | 19 +++ 13 files changed, 703 insertions(+), 31 deletions(-) create mode 100644 0001-bash-completion-fix-__get_startable_units.patch create mode 100644 0002-sysctl-replaces-some-slashes-with-dots.patch create mode 100644 0003-delta-do-not-use-unicode-chars-in-C-locale.patch create mode 100644 0004-implement-a-union-to-pad-out-file_handle.patch create mode 100644 1013-no-runtime-PM-for-IBM-consoles.patch create mode 100644 respect-nfs-bg-option.patch create mode 100644 shut-up-annoying-assertion-monotonic-clock-message.patch diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index e772cbae..87a67090 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,8 +1,9 @@ --- - rules/99-systemd.rules.in | 2 - - src/getty-generator/getty-generator.c | 2 - - src/shared/util.c | 62 ++++++++++++++++++++++++++++++++-- - 3 files changed, 61 insertions(+), 5 deletions(-) + rules/99-systemd.rules.in | 2 - + src/core/manager.c | 24 +++++++++++--- + src/shared/util.c | 77 ++++++++++++++++++++++++++++++++++++++++++++-- + src/shared/util.h | 1 + 4 files changed, 95 insertions(+), 9 deletions(-) --- systemd-208/rules/99-systemd.rules.in +++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 @@ -15,34 +16,92 @@ KERNEL=="vport*", TAG+="systemd" ---- systemd-208/src/shared/util.c -+++ systemd-208/src/shared/util.c 2014-01-31 11:54:07.222235280 +0000 -@@ -2967,6 +2967,7 @@ int status_vprintf(const char *status, b - struct iovec iovec[6] = {}; - int n = 0; - static bool prev_ephemeral; -+ static int cached_on_tty = -1; +--- systemd-210/src/core/manager.c ++++ systemd-210/src/core/manager.c 2014-04-30 10:51:43.398735332 +0000 +@@ -110,7 +110,7 @@ static int manager_watch_jobs_in_progres - assert(format); + #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) -@@ -2980,6 +2981,51 @@ int status_vprintf(const char *status, b - if (fd < 0) - return fd; +-static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { ++static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { + char *p = buffer; -+ if (_unlikely_(cached_on_tty < 0)) { -+ cached_on_tty = isatty(fd) > 0; -+ if (cached_on_tty) { -+ const char *e = getenv("TERM"); -+ if (e && (strcmp(e, "dumb") == 0 || strcmp(e, "ibm327x") == 0)) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_on_tty = 0; -+ } + assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); +@@ -119,12 +119,14 @@ static void draw_cylon(char buffer[], si + if (pos > 1) { + if (pos > 2) + p = mempset(p, ' ', pos-2); +- p = stpcpy(p, ANSI_RED_ON); ++ if (ansi_console) ++ p = stpcpy(p, ANSI_RED_ON); + *p++ = '*'; + } + + if (pos > 0 && pos <= width) { +- p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); ++ if (ansi_console) ++ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); + *p++ = '*'; + } + +@@ -135,7 +137,8 @@ static void draw_cylon(char buffer[], si + *p++ = '*'; + if (pos < width-1) + p = mempset(p, ' ', width-1-pos); +- strcpy(p, ANSI_HIGHLIGHT_OFF); ++ if (ansi_console) ++ strcpy(p, ANSI_HIGHLIGHT_OFF); + } + } + +@@ -150,6 +153,7 @@ void manager_flip_auto_status(Manager *m + } + + static void manager_print_jobs_in_progress(Manager *m) { ++ static int is_ansi_console = -1; + _cleanup_free_ char *job_of_n = NULL; + Iterator i; + Job *j; +@@ -174,10 +178,20 @@ static void manager_print_jobs_in_progre + assert(counter == print_nr + 1); + assert(j); + ++ if (_unlikely_(is_ansi_console < 0)) { ++ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC); ++ if (fd < 0) ++ is_ansi_console = 0; ++ else { ++ is_ansi_console = (int)ansi_console(fd); ++ close(fd); + } + } + -+ if (status && !cached_on_tty) { + cylon_pos = m->jobs_in_progress_iteration % 14; + if (cylon_pos >= 8) + cylon_pos = 14 - cylon_pos; +- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos); ++ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console); + + m->jobs_in_progress_iteration++; + +--- systemd-210/src/shared/util.c ++++ systemd-210/src/shared/util.c 2014-04-30 10:39:17.154736438 +0000 +@@ -2886,6 +2886,7 @@ int status_vprintf(const char *status, b + struct iovec iovec[6] = {}; + int n = 0; + static bool prev_ephemeral; ++ static int is_ansi_console = -1; + + assert(format); + +@@ -2899,6 +2900,41 @@ int status_vprintf(const char *status, b + if (fd < 0) + return fd; + ++ if (_unlikely_(is_ansi_console < 0)) ++ is_ansi_console = (int)ansi_console(fd); ++ ++ if (status && !is_ansi_console) { + const char *esc, *ptr; + esc = strchr(status, 0x1B); + if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { @@ -77,14 +136,14 @@ if (ellipse) { char *e; size_t emax, sl; -@@ -3002,8 +3048,12 @@ int status_vprintf(const char *status, b +@@ -2921,8 +2957,12 @@ int status_vprintf(const char *status, b } } - if (prev_ephemeral) - IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); + if (prev_ephemeral) { -+ if (cached_on_tty) ++ if (is_ansi_console) + IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); + else + IOVEC_SET_STRING(iovec[n++], "\r"); @@ -92,7 +151,7 @@ prev_ephemeral = ephemeral; if (status) { -@@ -3267,8 +3317,14 @@ void columns_lines_cache_reset(int signu +@@ -3169,12 +3209,43 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -101,10 +160,49 @@ cached_on_tty = isatty(STDOUT_FILENO) > 0; + if (cached_on_tty) { + const char *e = getenv("TERM"); -+ if (e && (strcmp(e, "dumb") == 0)) -+ cached_on_tty = 0; ++ if (!e) ++ return cached_on_tty; ++ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { ++ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); ++ if (r < 0 || !mode || !streq(mode, "3270")) ++ cached_on_tty = 0; ++ } + } + } return cached_on_tty; } + ++bool ansi_console(int fd) { ++ static int cached_ansi_console = -1; ++ ++ if (_unlikely_(cached_ansi_console < 0)) { ++ cached_ansi_console = isatty(fd) > 0; ++ if (cached_ansi_console) { ++ const char *e = getenv("TERM"); ++ if (e && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { ++ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); ++ if (r < 0 || !mode || !streq(mode, "3270")) ++ cached_ansi_console = 0; ++ } ++ } ++ } ++ ++ return cached_ansi_console; ++} ++ + int running_in_chroot(void) { + struct stat a = {}, b = {}; + +--- systemd-210/src/shared/util.h ++++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000 +@@ -418,6 +418,7 @@ unsigned lines(void); + void columns_lines_cache_reset(int _unused_ signum); + + bool on_tty(void); ++bool ansi_console(int fd); + + static inline const char *ansi_highlight(void) { + return on_tty() ? ANSI_HIGHLIGHT_ON : ""; diff --git a/0001-bash-completion-fix-__get_startable_units.patch b/0001-bash-completion-fix-__get_startable_units.patch new file mode 100644 index 00000000..815e6abd --- /dev/null +++ b/0001-bash-completion-fix-__get_startable_units.patch @@ -0,0 +1,25 @@ +From a163b64c4b08e8a4ad39a9a295acf3d1634024a3 Mon Sep 17 00:00:00 2001 +From: Dan Kilman +Date: Sun, 13 Apr 2014 18:06:13 +0300 +Subject: [PATCH] bash completion: fix __get_startable_units + +--- + shell-completion/bash/systemctl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl +index 992e52d..e1c8420 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -56,7 +56,7 @@ __get_all_units () { __systemctl $1 list-units --all \ + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } + __get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ +- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed " ]] && echo " $a"; done; }; } ++ | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } + __get_failed_units () { __systemctl $1 list-units \ + | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } + __get_enabled_units () { __systemctl $1 list-unit-files \ +-- +1.7.9.2 + diff --git a/0002-sysctl-replaces-some-slashes-with-dots.patch b/0002-sysctl-replaces-some-slashes-with-dots.patch new file mode 100644 index 00000000..d46fd449 --- /dev/null +++ b/0002-sysctl-replaces-some-slashes-with-dots.patch @@ -0,0 +1,97 @@ +From 2e573fcf8754fdfe0db0a783b1631ec1679b063a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Apr 2014 21:33:46 -0400 +Subject: [PATCH] sysctl: replaces some slashes with dots + +It turns out that plain sysctl understands a.b/c syntax to write to +/proc/sys/a/b.c. Support this for compatibility. + +https://bugs.freedesktop.org/show_bug.cgi?id=77466 +--- + man/sysctl.d.xml | 29 +++++++++++++++++++++-------- + src/sysctl/sysctl.c | 18 ++++++++++++++++-- + 2 files changed, 37 insertions(+), 10 deletions(-) + +diff --git man/sysctl.d.xml man/sysctl.d.xml +index 00a857b..db53b49 100644 +--- man/sysctl.d.xml ++++ man/sysctl.d.xml +@@ -68,13 +68,26 @@ + The configuration files contain a list of + variable assignments, separated by newlines. Empty + lines and lines whose first non-whitespace character +- is # or ; are ignored. +- +- Note that both / and . are accepted as label +- separators within sysctl variable +- names. kernel.domainname=foo and +- kernel/domainname=foo hence are +- entirely equivalent. ++ is # or ; are ++ ignored. ++ ++ Note that either / or ++ . may be used as separators within ++ sysctl variable names. If the first separator is a ++ slash, remaining slashes and dots are left intact. If ++ the first separator is a dot, dots and slashes are ++ interchanged. kernel.domainname=foo ++ and kernel/domainname=foo are ++ equivalent and will cause foo to ++ be written to ++ /proc/sys/kernel/domainname. ++ Either ++ net.ipv4.conf.enp3s0/200.forwarding ++ or ++ net/ipv4/conf/enp3s0.200/forwarding ++ may be used to refer to ++ /proc/sys/net/ipv4/conf/enp3s0.200/forwarding. ++ + + Each configuration file shall be named in the + style of program.conf. +@@ -109,7 +122,7 @@ + early on boot. The network interface-specific options + will also be applied individually for each network + interface as it shows up in the system. (More +- specifically, that is ++ specifically, + net.ipv4.conf.*, + net.ipv6.conf.*, + net.ipv4.neigh.* and net.ipv6.neigh.*) +diff --git src/sysctl/sysctl.c src/sysctl/sysctl.c +index 283eefe..06defa5 100644 +--- src/sysctl/sysctl.c ++++ src/sysctl/sysctl.c +@@ -48,12 +48,26 @@ static const char conf_file_dirs[] = + #endif + ; + +-static char *normalize_sysctl(char *s) { ++static char* normalize_sysctl(char *s) { + char *n; + +- for (n = s; *n; n++) ++ n = strpbrk(s, "/."); ++ /* If the first separator is a slash, the path is ++ * assumed to be normalized and slashes remain slashes ++ * and dots remains dots. */ ++ if (!n || *n == '/') ++ return s; ++ ++ /* Otherwise, dots become slashes and slashes become ++ * dots. Fun. */ ++ while (n) { + if (*n == '.') + *n = '/'; ++ else ++ *n = '.'; ++ ++ n = strpbrk(n + 1, "/."); ++ } + + return s; + } +-- +1.7.9.2 + diff --git a/0003-delta-do-not-use-unicode-chars-in-C-locale.patch b/0003-delta-do-not-use-unicode-chars-in-C-locale.patch new file mode 100644 index 00000000..f7360178 --- /dev/null +++ b/0003-delta-do-not-use-unicode-chars-in-C-locale.patch @@ -0,0 +1,134 @@ +From 00a5cc3a63c125633e822f39efd9c32223169f62 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Apr 2014 23:33:41 -0400 +Subject: [PATCH] delta: do not use unicode chars in C locale + +https://bugzilla.redhat.com/show_bug.cgi?id=1088418 +--- + src/delta/delta.c | 40 +++++++++++++++++++++++++--------------- + 1 file changed, 25 insertions(+), 15 deletions(-) + +diff --git src/delta/delta.c src/delta/delta.c +index 369f8f8..8fc37c5 100644 +--- src/delta/delta.c ++++ src/delta/delta.c +@@ -85,6 +85,10 @@ static void pager_open_if_enabled(void) { + pager_open(false); + } + ++static inline const char* arrow(void) { ++ return is_locale_utf8() ? "→" : "->"; ++} ++ + static int equivalent(const char *a, const char *b) { + _cleanup_free_ char *x = NULL, *y = NULL; + +@@ -103,8 +107,9 @@ static int notify_override_masked(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_MASKED)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -112,8 +117,9 @@ static int notify_override_equivalent(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_EQUIVALENT)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -121,8 +127,9 @@ static int notify_override_redirected(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_REDIRECTED)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -130,8 +137,9 @@ static int notify_override_overridden(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_OVERRIDDEN)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -139,8 +147,9 @@ static int notify_override_extended(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_EXTENDED)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -241,7 +250,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const + return -ENOMEM; + d = p + strlen(toppath) + 1; + +- log_debug("Adding at top: %s → %s", d, p); ++ log_debug("Adding at top: %s %s %s", d, arrow(), p); + k = hashmap_put(top, d, p); + if (k >= 0) { + p = strdup(p); +@@ -253,7 +262,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const + return k; + } + +- log_debug("Adding at bottom: %s → %s", d, p); ++ log_debug("Adding at bottom: %s %s %s", d, arrow(), p); + free(hashmap_remove(bottom, d)); + k = hashmap_put(bottom, d, p); + if (k < 0) { +@@ -276,7 +285,8 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const + if (!p) + return -ENOMEM; + +- log_debug("Adding to drops: %s → %s → %s", unit, basename(p), p); ++ log_debug("Adding to drops: %s %s %s %s %s", ++ unit, arrow(), basename(p), arrow(), p); + k = hashmap_put(h, basename(p), p); + if (k < 0) { + free(p); +@@ -328,7 +338,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch + if (!p) + return -ENOMEM; + +- log_debug("Adding at top: %s → %s", basename(p), p); ++ log_debug("Adding at top: %s %s %s", basename(p), arrow(), p); + k = hashmap_put(top, basename(p), p); + if (k >= 0) { + p = strdup(p); +@@ -339,7 +349,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch + return k; + } + +- log_debug("Adding at bottom: %s → %s", basename(p), p); ++ log_debug("Adding at bottom: %s %s %s", basename(p), arrow(), p); + free(hashmap_remove(bottom, basename(p))); + k = hashmap_put(bottom, basename(p), p); + if (k < 0) { +-- +1.7.9.2 + diff --git a/0004-implement-a-union-to-pad-out-file_handle.patch b/0004-implement-a-union-to-pad-out-file_handle.patch new file mode 100644 index 00000000..cbb924cc --- /dev/null +++ b/0004-implement-a-union-to-pad-out-file_handle.patch @@ -0,0 +1,117 @@ +From 370c860f748d149097710dc7952a64f627db9de7 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 19 Apr 2014 13:22:35 -0400 +Subject: [PATCH] implement a union to pad out file_handle + +Cases where name_to_handle_at is used allocated the full struct to be +MAX_HANDLE_SZ, and assigned this size to handle_bytes. This is wrong +since handle_bytes should describe the length of the flexible array +member and not the whole struct. + +Define a union type which includes sufficient padding to allow +assignment of MAX_HANDLE_SZ to be correct. +--- + src/libudev/libudev-monitor.c | 6 ++---- + src/readahead/readahead-common.c | 6 ++---- + src/shared/util.h | 6 ++++++ + src/tmpfiles/tmpfiles.c | 11 ++++------- + 4 files changed, 14 insertions(+), 15 deletions(-) + +diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c +index 3f7436b..0a2ab82 100644 +--- src/libudev/libudev-monitor.c ++++ src/libudev/libudev-monitor.c +@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev) + + /* we consider udev running when /dev is on devtmpfs */ + static bool udev_has_devtmpfs(struct udev *udev) { +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; + int mount_id; + _cleanup_fclose_ FILE *f = NULL; + char line[LINE_MAX], *e; + int r; + +- h = alloca(MAX_HANDLE_SZ); +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0); ++ r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); + if (r < 0) + return false; + +diff --git src/readahead/readahead-common.c src/readahead/readahead-common.c +index 5ffa88b..49679fc 100644 +--- src/readahead/readahead-common.c ++++ src/readahead/readahead-common.c +@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) { + if (major(st.st_dev) == 0) { + _cleanup_fclose_ FILE *f = NULL; + int mount_id; +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; + + /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. + * +@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) { + * and then lookup the mount ID in mountinfo to find + * the mount options. */ + +- h = alloca(MAX_HANDLE_SZ); +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); ++ r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW); + if (r < 0) + return false; + +diff --git src/shared/util.h src/shared/util.h +index 900f1cf..891848a 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -22,6 +22,7 @@ + ***/ + + #include ++#include + #include + #include + #include +@@ -883,3 +884,8 @@ int fd_warn_permissions(const char *path + + unsigned long personality_from_string(const char *p); + const char *personality_to_string(unsigned long); ++ ++union file_handle_union { ++ struct file_handle handle; ++ char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; ++}; +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index 33e7cbc..04b472d 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) { + } + + static int dir_is_mount_point(DIR *d, const char *subdir) { +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ }; + int mount_id_parent, mount_id; + int r_p, r; + +- h = alloca(MAX_HANDLE_SZ); +- +- h->handle_bytes = MAX_HANDLE_SZ; +- r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0); ++ r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0); + if (r_p < 0) + r_p = -errno; + +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0); ++ h.handle.handle_bytes = MAX_HANDLE_SZ; ++ r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0); + if (r < 0) + r = -errno; + +-- +1.7.9.2 + diff --git a/1013-no-runtime-PM-for-IBM-consoles.patch b/1013-no-runtime-PM-for-IBM-consoles.patch new file mode 100644 index 00000000..164ca499 --- /dev/null +++ b/1013-no-runtime-PM-for-IBM-consoles.patch @@ -0,0 +1,11 @@ +--- systemd-210/rules/42-usb-hid-pm.rules.old 2014-04-23 10:54:31.694485615 +0200 ++++ systemd-210/rules/42-usb-hid-pm.rules 2014-04-23 10:55:21.969423056 +0200 +@@ -22,8 +22,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{id + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="0000", TEST=="power/control", ATTR{power/control}="auto" + + # IBM remote access +-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4001", TEST=="power/control", ATTR{power/control}="auto" +-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4002", TEST=="power/control", ATTR{power/control}="auto" + ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto" + + # Raritan Computer, Inc KVM. diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch new file mode 100644 index 00000000..ccf7cea4 --- /dev/null +++ b/respect-nfs-bg-option.patch @@ -0,0 +1,19 @@ +--- systemd-210/src/fstab-generator/fstab-generator.c 2014-02-17 15:49:21.070855641 +0100 ++++ systemd-210/src/fstab-generator/fstab-generator.c 2014-04-25 16:25:13.256106126 +0200 +@@ -255,10 +255,12 @@ + "SourcePath=%s\n", + source); + +- if (post && !noauto && !nofail && !automount) +- fprintf(f, +- "Before=%s\n", +- post); ++ if (post && !noauto && !nofail && !automount) { ++ if (!streq(type, "nfs") || (streq(type, "nfs") && !strstr(opts, "bg"))) ++ fprintf(f, ++ "Before=%s\n", ++ post); ++ } + + r = add_fsck(f, what, where, type, passno); + if (r < 0) diff --git a/shut-up-annoying-assertion-monotonic-clock-message.patch b/shut-up-annoying-assertion-monotonic-clock-message.patch new file mode 100644 index 00000000..ecdf4bc0 --- /dev/null +++ b/shut-up-annoying-assertion-monotonic-clock-message.patch @@ -0,0 +1,38 @@ +Stop flooding the kernel's message ring buffer with useless +messages on dual_timestamp_is_set is failed. This is a backport +from upstream code. + +--- + src/libsystemd/sd-event/sd-event.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- systemd-210/src/libsystemd/sd-event/sd-event.c ++++ systemd-210/src/libsystemd/sd-event/sd-event.c 2014-05-02 10:01:23.366235185 +0000 +@@ -2191,9 +2191,12 @@ _public_ int sd_event_exit(sd_event *e, + _public_ int sd_event_get_now_realtime(sd_event *e, uint64_t *usec) { + assert_return(e, -EINVAL); + assert_return(usec, -EINVAL); +- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); + assert_return(!event_pid_changed(e), -ECHILD); + ++ /* If we haven't run yet, just get the actual time */ ++ if (!dual_timestamp_is_set(&e->timestamp)) ++ return -ENODATA; ++ + *usec = e->timestamp.realtime; + return 0; + } +@@ -2201,9 +2204,12 @@ _public_ int sd_event_get_now_realtime(s + _public_ int sd_event_get_now_monotonic(sd_event *e, uint64_t *usec) { + assert_return(e, -EINVAL); + assert_return(usec, -EINVAL); +- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); + assert_return(!event_pid_changed(e), -ECHILD); + ++ /* If we haven't run yet, just get the actual time */ ++ if (!dual_timestamp_is_set(&e->timestamp)) ++ return -ENODATA; ++ + *usec = e->timestamp.monotonic; + return 0; + } diff --git a/systemd-mini.changes b/systemd-mini.changes index f6234b04..6df92168 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Fri May 2 10:12:26 UTC 2014 - werner@suse.de + +- Add patch shut-up-annoying-assertion-monotonic-clock-message.patch + to avoid annyoing messages on failing dual_timestamp_is_set in the + kernel's message ring buffer + +------------------------------------------------------------------- +Wed Apr 30 12:14:32 UTC 2014 - werner@suse.de + +- Update udev-generate-peristent-rule.sh from latest git + +------------------------------------------------------------------- +Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de + +- Modify and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to avoid also ANSI escape sequences for busy jobs on s390 + +------------------------------------------------------------------- +Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de + +- Add or port upstram bugfix patches: + 0001-bash-completion-fix-__get_startable_units.patch + 0002-sysctl-replaces-some-slashes-with-dots.patch + 0003-delta-do-not-use-unicode-chars-in-C-locale.patch + 0004-implement-a-union-to-pad-out-file_handle.patch +- Add patch respect-nfs-bg-option.patch from Thomas Blume: + System fails to boot if nfs mounts get added to fstab (bnc#874665) + +------------------------------------------------------------------- +Wed Apr 23 11:46:41 UTC 2014 - oneukum@suse.com + +- Do not use runtime PM for some IBM consoles (bnc#868931) + 1013-no-runtime-PM-for-IBM-consoles.patch + ------------------------------------------------------------------- Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index abc3731a..1e2d56fe 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -387,6 +387,18 @@ Patch196: systemd-detect-xendom.patch Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch199: 0001-bash-completion-fix-__get_startable_units.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch +# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) +Patch203: respect-nfs-bg-option.patch +# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. +Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch # UDEV PATCHES # ============ @@ -418,6 +430,8 @@ Patch1010: 1010-udev-increase-result-size-for-programs.patch Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch +# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) +Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -764,6 +778,12 @@ cp %{SOURCE7} m4/ %patch196 -p1 %patch197 -p1 %patch198 -p1 +%patch199 -p0 +%patch200 -p0 +%patch201 -p0 +%patch202 -p0 +%patch203 -p1 +%patch204 -p1 # udev patches %patch1001 -p1 @@ -779,6 +799,7 @@ cp %{SOURCE7} m4/ %patch1010 -p1 %patch1011 -p1 %patch1012 -p1 +%patch1013 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index f6234b04..6df92168 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Fri May 2 10:12:26 UTC 2014 - werner@suse.de + +- Add patch shut-up-annoying-assertion-monotonic-clock-message.patch + to avoid annyoing messages on failing dual_timestamp_is_set in the + kernel's message ring buffer + +------------------------------------------------------------------- +Wed Apr 30 12:14:32 UTC 2014 - werner@suse.de + +- Update udev-generate-peristent-rule.sh from latest git + +------------------------------------------------------------------- +Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de + +- Modify and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to avoid also ANSI escape sequences for busy jobs on s390 + +------------------------------------------------------------------- +Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de + +- Add or port upstram bugfix patches: + 0001-bash-completion-fix-__get_startable_units.patch + 0002-sysctl-replaces-some-slashes-with-dots.patch + 0003-delta-do-not-use-unicode-chars-in-C-locale.patch + 0004-implement-a-union-to-pad-out-file_handle.patch +- Add patch respect-nfs-bg-option.patch from Thomas Blume: + System fails to boot if nfs mounts get added to fstab (bnc#874665) + +------------------------------------------------------------------- +Wed Apr 23 11:46:41 UTC 2014 - oneukum@suse.com + +- Do not use runtime PM for some IBM consoles (bnc#868931) + 1013-no-runtime-PM-for-IBM-consoles.patch + ------------------------------------------------------------------- Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index e31a1834..9744e0e9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -382,6 +382,18 @@ Patch196: systemd-detect-xendom.patch Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch199: 0001-bash-completion-fix-__get_startable_units.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch +# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) +Patch203: respect-nfs-bg-option.patch +# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. +Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch # UDEV PATCHES # ============ @@ -413,6 +425,8 @@ Patch1010: 1010-udev-increase-result-size-for-programs.patch Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch +# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) +Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -759,6 +773,12 @@ cp %{SOURCE7} m4/ %patch196 -p1 %patch197 -p1 %patch198 -p1 +%patch199 -p0 +%patch200 -p0 +%patch201 -p0 +%patch202 -p0 +%patch203 -p1 +%patch204 -p1 # udev patches %patch1001 -p1 @@ -774,6 +794,7 @@ cp %{SOURCE7} m4/ %patch1010 -p1 %patch1011 -p1 %patch1012 -p1 +%patch1013 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/udev-generate-peristent-rule.sh b/udev-generate-peristent-rule.sh index 89956e18..8ffdd567 100644 --- a/udev-generate-peristent-rule.sh +++ b/udev-generate-peristent-rule.sh @@ -192,6 +192,18 @@ valid_mac() echo $valid_macaddr } +valid_dev_type() +{ + local dev_type="$1" + + case "$dev_type" in + [0-32]) + echo "$dev_type" ;; + *) + echo "invalid" ;; + esac +} + generate_comment() { local pci_id="$1" @@ -272,6 +284,10 @@ list_adapters() for _dev in $SYSPATH/*; do if [ -L "$_dev/device" ]; then + local _dev_type="$(cat $_dev/type 2>/dev/null)" + if [ "$(valid_dev_type $_dev_type)" == "invalid" ]; then + continue; + fi _dev="$(basename $_dev 2>/dev/null)" netdev[$count]="$_dev" count=$((count + 1)) @@ -445,6 +461,9 @@ dev_type="$(get_type $path)" if [ -z "$dev_type" ]; then log_error "unable to retrieve dev_type for interface $interface." exit 1 +elif [ "$(valid_dev_type $dev_type)" == "invalid" ]; then + log_info "$interface not a supported device." + exit 1 fi [ "$use_verbose" -eq 1 ] && echo "I: TYPE=$dev_type" From 78482cb567e4a54aa5d88a1f014ab6ffd35c4381d431123875ad90ea345c0c7c Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 6 May 2014 11:39:41 +0000 Subject: [PATCH 179/991] Accepting request 232729 from Base:System - Port upstream patch 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch back to 210 - Add patch keep-crypt-password-prompt.patch from Thomas Blume to fix bnc#875502 - fails to boot when swap space is encrypted - Port upstream patch set for net_id back in patch upstream-net_id-changes.patch - Port upstream patch 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch back to 210 - Add patch keep-crypt-password-prompt.patch from Thomas Blume to fix bnc#875502 - fails to boot when swap space is encrypted - Port upstream patch set for net_id back in patch upstream-net_id-changes.patch OBS-URL: https://build.opensuse.org/request/show/232729 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=184 --- ...sage-append-fix-uninitialized-memory.patch | 111 ++++++++++++++ keep-crypt-password-prompt.patch | 43 ++++++ systemd-mini.changes | 11 ++ systemd-mini.spec | 11 ++ systemd.changes | 11 ++ systemd.spec | 11 ++ upstream-net_id-changes.patch | 135 ++++++++++++++++++ 7 files changed, 333 insertions(+) create mode 100644 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch create mode 100644 keep-crypt-password-prompt.patch create mode 100644 upstream-net_id-changes.patch diff --git a/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch b/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch new file mode 100644 index 00000000..cde6a3da --- /dev/null +++ b/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch @@ -0,0 +1,111 @@ +Backport of 7ca1d31964a2553f7bd011bc10ac42e0ebc1f975 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 2 May 2014 22:29:18 +0200 +Subject: [PATCH] sd-rtnl-message: append - fix uninitialized memory + +We were not properly clearing the padding at the front of some containers. +--- + src/libsystemd/sd-rtnl/rtnl-message.c | 42 +++++++++++++++++++++------------- + 1 file changed, 27 insertions(+), 15 deletions(-) + +--- src/libsystemd/sd-rtnl/rtnl-message.c ++++ src/libsystemd/sd-rtnl/rtnl-message.c 2014-05-05 13:33:01.998235340 +0000 +@@ -314,24 +314,28 @@ int sd_rtnl_message_link_get_flags(sd_rt + /* If successful the updated message will be correctly aligned, if + unsuccessful the old message is untouched. */ + static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) { +- uint32_t rta_length, message_length; ++ uint32_t rta_length; ++ size_t message_length, padding_length; + struct nlmsghdr *new_hdr; + struct rtattr *rta; + char *padding; + unsigned i; ++ int offset; + + assert(m); + assert(m->hdr); + assert(!m->sealed); + assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len); +- assert(!data || data_length > 0); +- assert(data || m->n_containers < RTNL_CONTAINER_DEPTH); ++ assert(!data || data_length); ++ ++ /* get offset of the new attribute */ ++ offset = m->hdr->nlmsg_len; + + /* get the size of the new rta attribute (with padding at the end) */ + rta_length = RTA_LENGTH(data_length); + + /* get the new message size (with padding at the end) */ +- message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length); ++ message_length = offset + RTA_ALIGN(rta_length); + + /* realloc to fit the new attribute */ + new_hdr = realloc(m->hdr, message_length); +@@ -340,32 +344,35 @@ static int add_rtattr(sd_rtnl_message *m + m->hdr = new_hdr; + + /* get pointer to the attribute we are about to add */ +- rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len); ++ rta = (struct rtattr *) ((uint8_t *) m->hdr + offset); + + /* if we are inside containers, extend them */ + for (i = 0; i < m->n_containers; i++) +- GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len; ++ GET_CONTAINER(m, i)->rta_len += message_length - offset; + + /* fill in the attribute */ + rta->rta_type = type; + rta->rta_len = rta_length; +- if (!data) { +- /* this is the start of a new container */ +- m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len; +- } else { ++ if (data) + /* we don't deal with the case where the user lies about the type + * and gives us too little data (so don't do that) +- */ ++ */ + padding = mempcpy(RTA_DATA(rta), data, data_length); +- /* make sure also the padding at the end of the message is initialized */ +- memzero(padding, +- (uint8_t *) m->hdr + message_length - (uint8_t *) padding); ++ else { ++ /* if no data was passed, make sure we still initialize the padding ++ note that we can have data_length > 0 (used by some containers) */ ++ padding = RTA_DATA(rta); ++ data_length = 0; + } + ++ /* make sure also the padding at the end of the message is initialized */ ++ padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding; ++ memzero(padding, padding_length); ++ + /* update message size */ + m->hdr->nlmsg_len = message_length; + +- return 0; ++ return offset; + } + + int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) { +@@ -498,6 +505,7 @@ int sd_rtnl_message_append_u32(sd_rtnl_m + + assert_return(m, -EINVAL); + assert_return(!m->sealed, -EPERM); ++ assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE); + + r = sd_rtnl_message_get_type(m, &rtm_type); + if (r < 0) +@@ -548,6 +556,10 @@ int sd_rtnl_message_append_u32(sd_rtnl_m + if (r < 0) + return r; + ++ m->container_offsets[m->n_containers ++] = r; ++ ++ m->container_offsets[m->n_containers ++] = r; ++ + return 0; + } + diff --git a/keep-crypt-password-prompt.patch b/keep-crypt-password-prompt.patch new file mode 100644 index 00000000..3caffec8 --- /dev/null +++ b/keep-crypt-password-prompt.patch @@ -0,0 +1,43 @@ +--- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 ++++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 +@@ -152,6 +152,29 @@ + } + } + ++static int check_for_password_prompt(void) { ++ DIR *d; ++ struct dirent *de; ++ ++ if (!(d = opendir("/run/systemd/ask-password"))) { ++ log_error("opendir(): %m"); ++ ++ if (errno == ENOENT) ++ return 1; ++ ++ return -errno; ++ } ++ ++ while ((de = readdir(d))) { ++ if (startswith(de->d_name, "ask.")) { ++ closedir(d); ++ return 0; ++ } ++ } ++ closedir(d); ++ return 1; ++} ++ + static void manager_print_jobs_in_progress(Manager *m) { + static int is_ansi_console = -1; + _cleanup_free_ char *job_of_n = NULL; +@@ -195,6 +217,10 @@ + + m->jobs_in_progress_iteration++; + ++ //don't overwrite the crypt password prompt with job status messages ++ if (check_for_password_prompt() == 0); ++ return 0; ++ + if (m->n_running_jobs > 1) + if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) + job_of_n = NULL; diff --git a/systemd-mini.changes b/systemd-mini.changes index 6df92168..8bd691bd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon May 5 14:02:16 UTC 2014 - werner@suse.de + +- Port upstream patch + 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch + back to 210 +- Add patch keep-crypt-password-prompt.patch from Thomas Blume + to fix bnc#875502 - fails to boot when swap space is encrypted +- Port upstream patch set for net_id back in patch + upstream-net_id-changes.patch + ------------------------------------------------------------------- Fri May 2 10:12:26 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 1e2d56fe..b06165fd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -399,6 +399,10 @@ Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch Patch203: respect-nfs-bg-option.patch # PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch +# PATCH-FIX-SUSE Do not override the passphrase prompts due messages of busy jobs +Patch205: keep-crypt-password-prompt.patch +# PATCH-FIX-UPSTREAM Fix uninitialized memory +Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch # UDEV PATCHES # ============ @@ -432,6 +436,8 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch +# PATCH-FIX-UPSTREAM Move forward to git Head for net_id +Patch1014: upstream-net_id-changes.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -784,6 +790,8 @@ cp %{SOURCE7} m4/ %patch202 -p0 %patch203 -p1 %patch204 -p1 +%patch205 -p1 +%patch206 -p0 # udev patches %patch1001 -p1 @@ -800,6 +808,9 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 +%if 0%{?suse_version} > 1310 +%patch1014 -p0 +%endif # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 6df92168..8bd691bd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon May 5 14:02:16 UTC 2014 - werner@suse.de + +- Port upstream patch + 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch + back to 210 +- Add patch keep-crypt-password-prompt.patch from Thomas Blume + to fix bnc#875502 - fails to boot when swap space is encrypted +- Port upstream patch set for net_id back in patch + upstream-net_id-changes.patch + ------------------------------------------------------------------- Fri May 2 10:12:26 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 9744e0e9..038af1d1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -394,6 +394,10 @@ Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch Patch203: respect-nfs-bg-option.patch # PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch +# PATCH-FIX-SUSE Do not override the passphrase prompts due messages of busy jobs +Patch205: keep-crypt-password-prompt.patch +# PATCH-FIX-UPSTREAM Fix uninitialized memory +Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch # UDEV PATCHES # ============ @@ -427,6 +431,8 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch +# PATCH-FIX-UPSTREAM Move forward to git Head for net_id +Patch1014: upstream-net_id-changes.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -779,6 +785,8 @@ cp %{SOURCE7} m4/ %patch202 -p0 %patch203 -p1 %patch204 -p1 +%patch205 -p1 +%patch206 -p0 # udev patches %patch1001 -p1 @@ -795,6 +803,9 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 +%if 0%{?suse_version} > 1310 +%patch1014 -p0 +%endif # ensure generate files are removed rm -f units/emergency.service diff --git a/upstream-net_id-changes.patch b/upstream-net_id-changes.patch new file mode 100644 index 00000000..60bc83b7 --- /dev/null +++ b/upstream-net_id-changes.patch @@ -0,0 +1,135 @@ +This the diff between systemd-210 and 19aa72f74e41045510b4af3f1415b419d42ff20b +But we do not remove the ATA support as in HEAD + +--- + src/udev/udev-builtin-net_id.c | 54 ++++++---------------------------------- + src/udev/udev-builtin-path_id.c | 3 -- + 2 files changed, 9 insertions(+), 48 deletions(-) + +--- src/udev/udev-builtin-net_id.c ++++ src/udev/udev-builtin-net_id.c 2014-04-08 07:16:45.094235605 +0000 +@@ -33,6 +33,8 @@ + * ww -- wwan + * + * Type of names: ++ * b -- BCMA bus core number ++ * ccw -- CCW bus group name + * o -- on-board device index number + * s[f][d] -- hotplug slot index number + * x -- MAC address +@@ -92,6 +94,7 @@ + #include + #include + #include ++#include + #include + + #include "udev.h" +@@ -119,12 +122,8 @@ struct netnames { + const char *pci_onboard_label; + + char usb_ports[IFNAMSIZ]; +- + char bcma_core[IFNAMSIZ]; +- +- char virtio_core[IFNAMSIZ]; +- +- char ccw_core[IFNAMSIZ]; ++ char ccw_group[IFNAMSIZ]; + }; + + /* retrieve on-board index number and label from firmware */ +@@ -351,25 +350,6 @@ static int names_bcma(struct udev_device + return 0; + } + +-static int names_virtio(struct udev_device *dev, struct netnames *names) { +- struct udev_device *virtdev; +- unsigned int core; +- +- virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); +- if (!virtdev) +- return -ENOENT; +- +- /* core num */ +- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &core) != 1) +- return -EINVAL; +- /* suppress the common core == 0 */ +- if (core > 0) +- snprintf(names->virtio_core, sizeof(names->virtio_core), "v%u", core); +- +- names->type = NET_VIRTIO; +- return 0; +-} +- + static int names_ccw(struct udev_device *dev, struct netnames *names) { + struct udev_device *cdev; + const char *bus_id; +@@ -402,8 +382,8 @@ static int names_ccw(struct udev_device + return -EINVAL; + + /* Store the CCW bus-ID for use as network device name */ +- rc = snprintf(names->ccw_core, sizeof(names->ccw_core), "ccw%s", bus_id); +- if (rc >= 0 && rc < (int)sizeof(names->ccw_core)) ++ rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); ++ if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) + names->type = NET_CCWGROUP; + return 0; + } +@@ -472,10 +452,10 @@ static int builtin_net_id(struct udev_de + return EXIT_FAILURE; + i = strtoul(s, NULL, 0); + switch (i) { +- case 1: /* ARPHRD_ETHER */ ++ case ARPHRD_ETHER: + prefix = "en"; + break; +- case 256: /* ARPHRD_SLIP */ ++ case ARPHRD_SLIP: + prefix = "sl"; + break; + default: +@@ -517,7 +497,7 @@ static int builtin_net_id(struct udev_de + if (err >= 0 && names.type == NET_CCWGROUP) { + char str[IFNAMSIZ]; + +- if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); + goto out; + } +@@ -578,22 +558,6 @@ static int builtin_net_id(struct udev_de + udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); + goto out; + } +- +- /* virtio bus */ +- err = names_virtio(dev, &names); +- if (err >= 0 && names.type == NET_VIRTIO) { +- char str[IFNAMSIZ]; +- +- if (names.pci_path[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio_core) < (int)sizeof(str)) +- udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); +- +- if (names.pci_slot[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio_core) < (int)sizeof(str)) +- udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); +- goto out; +- } +- + out: + return EXIT_SUCCESS; + } +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c 2014-03-28 09:27:20.402735390 +0000 +@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d + } else if (streq(subsys, "xen")) { + path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "xen"); +- } else if (streq(subsys, "virtio")) { +- path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); +- parent = skip_subsystem(parent, "virtio"); + } else if (streq(subsys, "scm")) { + path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "scm"); From e0b301714ef17548ab954ccc519aeb9961a6399ad2ae586a5bc536bd5e1b6048 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 10 May 2014 06:32:24 +0000 Subject: [PATCH 180/991] Accepting request 233091 from Base:System - Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume to handle the option 'noauto' in /etc/crypttab (bnc#742774) - Modify and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to have the correct terminal type used with agetty - Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch to allow users to access systemd user journal (bnc#876694) - Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume to handle the option 'noauto' in /etc/crypttab (bnc#742774) - Modify and extend patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch to have the correct terminal type used with agetty - Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch to allow users to access systemd user journal (bnc#876694) OBS-URL: https://build.opensuse.org/request/show/233091 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=185 --- ...s390_con3270_disable_ANSI_colour_esc.patch | 42 ++++++++-- ...fix-permissions-on-new-journal-files.patch | 27 +++++++ parse-crypttab-for-noauto-option.patch | 79 +++++++++++++++++++ systemd-mini.changes | 15 ++++ systemd-mini.spec | 6 ++ systemd.changes | 15 ++++ systemd.spec | 6 ++ 7 files changed, 185 insertions(+), 5 deletions(-) create mode 100644 0001-tmpfiles-fix-permissions-on-new-journal-files.patch create mode 100644 parse-crypttab-for-noauto-option.patch diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index 87a67090..f09e8270 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,9 +1,10 @@ --- - rules/99-systemd.rules.in | 2 - - src/core/manager.c | 24 +++++++++++--- - src/shared/util.c | 77 ++++++++++++++++++++++++++++++++++++++++++++-- + rules/99-systemd.rules.in | 2 + src/core/manager.c | 24 ++++++++-- + src/shared/util.c | 101 ++++++++++++++++++++++++++++++++++++++++++++-- src/shared/util.h | 1 - 4 files changed, 95 insertions(+), 9 deletions(-) + 4 files changed, 118 insertions(+), 10 deletions(-) + --- systemd-208/rules/99-systemd.rules.in +++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 @@ -151,13 +152,14 @@ prev_ephemeral = ephemeral; if (status) { -@@ -3169,12 +3209,43 @@ void columns_lines_cache_reset(int signu +@@ -3169,12 +3209,47 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; - if (_unlikely_(cached_on_tty < 0)) + if (_unlikely_(cached_on_tty < 0)) { cached_on_tty = isatty(STDOUT_FILENO) > 0; ++#if defined (__s390__) || defined (__s390x__) + if (cached_on_tty) { + const char *e = getenv("TERM"); + if (!e) @@ -169,6 +171,7 @@ + cached_on_tty = 0; + } + } ++#endif + } return cached_on_tty; @@ -179,6 +182,7 @@ + + if (_unlikely_(cached_ansi_console < 0)) { + cached_ansi_console = isatty(fd) > 0; ++#if defined (__s390__) || defined (__s390x__) + if (cached_ansi_console) { + const char *e = getenv("TERM"); + if (e && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { @@ -188,6 +192,7 @@ + cached_ansi_console = 0; + } + } ++#endif + } + + return cached_ansi_console; @@ -196,6 +201,33 @@ int running_in_chroot(void) { struct stat a = {}, b = {}; +@@ -3630,7 +3705,25 @@ bool tty_is_vc_resolve(const char *tty) + const char *default_term_for_tty(const char *tty) { + assert(tty); + +- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102"; ++ if (tty_is_vc_resolve(tty)) ++ return "TERM=linux"; ++ ++ if (startswith(tty, "/dev/")) ++ tty += 5; ++ ++#if defined (__s390__) || defined (__s390x__) ++ if (streq(tty, "ttyS0")) { ++ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); ++ if (r < 0 || !mode || !streq(mode, "3270")) ++ return "TERM=dumb"; ++ if (streq(mode, "3270")) ++ return "TERM=ibm327x"; ++ } ++ if (streq(tty, "ttyS1")) ++ return "TERM=vt220"; ++#endif ++ return "TERM=vt102"; + } + + bool dirent_is_file(const struct dirent *de) { --- systemd-210/src/shared/util.h +++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000 @@ -418,6 +418,7 @@ unsigned lines(void); diff --git a/0001-tmpfiles-fix-permissions-on-new-journal-files.patch b/0001-tmpfiles-fix-permissions-on-new-journal-files.patch new file mode 100644 index 00000000..de54a2e5 --- /dev/null +++ b/0001-tmpfiles-fix-permissions-on-new-journal-files.patch @@ -0,0 +1,27 @@ +From a606871da508995f5ede113a8fc6538afd98966c Mon Sep 17 00:00:00 2001 +From: Greg KH +Date: Tue, 15 Apr 2014 14:12:01 -0700 +Subject: [PATCH] tmpfiles: fix permissions on new journal files + +When starting up journald on a new system, set the proper permissions on +the system.journal files, not only on the journal directory. +--- + tmpfiles.d/systemd.conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git tmpfiles.d/systemd.conf tmpfiles.d/systemd.conf +index 7c6d6b9..c470045 100644 +--- tmpfiles.d/systemd.conf ++++ tmpfiles.d/systemd.conf +@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root - + d /run/systemd/shutdown 0755 root root - + + m /var/log/journal 2755 root systemd-journal - - +-m /var/log/journal/%m 2755 root systemd-journal - - ++Z /var/log/journal/%m 2755 root systemd-journal - - + m /run/log/journal 2755 root systemd-journal - - +-m /run/log/journal/%m 2755 root systemd-journal - - ++Z /run/log/journal/%m 2755 root systemd-journal - - +-- +1.7.9.2 + diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch new file mode 100644 index 00000000..cb390f87 --- /dev/null +++ b/parse-crypttab-for-noauto-option.patch @@ -0,0 +1,79 @@ +--- + src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- + 1 file changed, 50 insertions(+), 2 deletions(-) + +--- systemd-210/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 +@@ -37,6 +37,53 @@ + static const char *arg_dest = "/tmp"; + static bool arg_enabled = true; + ++static int check_crypttab(const char *what) { ++ _cleanup_fclose_ FILE *f = NULL; ++ unsigned n = 0; ++ int r; ++ ++ f = fopen("/etc/crypttab", "re"); ++ if (!f) { ++ if (errno == ENOENT) ++ r = EXIT_SUCCESS; ++ else ++ log_error("Failed to open /etc/crypttab: %m"); ++ ++ return 1; ++ } ++ ++ ++ for (;;) { ++ char line[LINE_MAX], *l; ++ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL; ++ int k; ++ ++ if (!fgets(line, sizeof(line), f)) ++ break; ++ ++ n++; ++ ++ l = strstrip(line); ++ if (*l == '#' || *l == 0) ++ continue; ++ ++ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options); ++ if (k < 2 || k > 4) { ++ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n); ++ continue; ++ } ++ ++ if (strcmp((what + 12), name) == 0) { ++ if (strstr(options, "noauto")) ++ return 0; ++ ++ return 1; ++ } ++ } ++ return 1; ++} ++ ++ + static int mount_find_pri(struct mntent *me, int *ret) { + char *end, *pri; + unsigned long r; +@@ -212,7 +259,7 @@ + *name = NULL, *unit = NULL, *lnk = NULL, + *automount_name = NULL, *automount_unit = NULL; + _cleanup_fclose_ FILE *f = NULL; +- int r; ++ int r, c; + + assert(what); + assert(where); +@@ -286,7 +333,8 @@ + return -errno; + } + +- if (!noauto) { ++ c = check_crypttab(what); ++ if (!noauto && (c != 0)) { + if (post) { + lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL); + if (!lnk) diff --git a/systemd-mini.changes b/systemd-mini.changes index 8bd691bd..99f35b9d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed May 7 10:42:27 UTC 2014 - werner@suse.de + +- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume + to handle the option 'noauto' in /etc/crypttab (bnc#742774) + +------------------------------------------------------------------- +Wed May 7 09:23:01 UTC 2014 - werner@suse.de + +- Modify and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to have the correct terminal type used with agetty +- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch + to allow users to access systemd user journal (bnc#876694) + ------------------------------------------------------------------- Mon May 5 14:02:16 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index b06165fd..cfb4be04 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -403,6 +403,10 @@ Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch Patch205: keep-crypt-password-prompt.patch # PATCH-FIX-UPSTREAM Fix uninitialized memory Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch +# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) +Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch +# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) +Patch208: parse-crypttab-for-noauto-option.patch # UDEV PATCHES # ============ @@ -792,6 +796,8 @@ cp %{SOURCE7} m4/ %patch204 -p1 %patch205 -p1 %patch206 -p0 +%patch207 -p0 +%patch208 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 8bd691bd..99f35b9d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed May 7 10:42:27 UTC 2014 - werner@suse.de + +- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume + to handle the option 'noauto' in /etc/crypttab (bnc#742774) + +------------------------------------------------------------------- +Wed May 7 09:23:01 UTC 2014 - werner@suse.de + +- Modify and extend patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + to have the correct terminal type used with agetty +- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch + to allow users to access systemd user journal (bnc#876694) + ------------------------------------------------------------------- Mon May 5 14:02:16 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 038af1d1..d08fdb12 100644 --- a/systemd.spec +++ b/systemd.spec @@ -398,6 +398,10 @@ Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch Patch205: keep-crypt-password-prompt.patch # PATCH-FIX-UPSTREAM Fix uninitialized memory Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch +# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) +Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch +# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) +Patch208: parse-crypttab-for-noauto-option.patch # UDEV PATCHES # ============ @@ -787,6 +791,8 @@ cp %{SOURCE7} m4/ %patch204 -p1 %patch205 -p1 %patch206 -p0 +%patch207 -p0 +%patch208 -p1 # udev patches %patch1001 -p1 From 88094f2bbbc2bb135f1181f4490e2fedb9fd28a15fa444c64fc80f595051116d Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 13 May 2014 18:46:20 +0000 Subject: [PATCH 181/991] Accepting request 233680 from Base:System - Add patch log-target-null-instead-kmsg.patch from Thomas Blume to enable the kernel developers to see a clean kmsg ring buffer without any systemd/udev messages included (bnc#877021) - Add upstram patches for backlight 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch 0002-backlight-do-nothing-if-max_brightness-is-0.patch 0003-backlight-unify-error-messages.patch 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - Add upstream patches 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch 0003-analyze-fix-plot-with-bad-y-size.patch 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - Drop upstream-net_id-changes.patch and replace them with the correct patches from upstream and their commits: add: 1014-udev-update-net_id-comments.patch add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - Add patch log-target-null-instead-kmsg.patch from Thomas Blume to enable the kernel developers to see a clean kmsg ring buffer without any systemd/udev messages included (bnc#877021) - Add upstram patches for backlight 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch 0002-backlight-do-nothing-if-max_brightness-is-0.patch OBS-URL: https://build.opensuse.org/request/show/233680 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=186 --- ...restoring-brightness-to-an-unreadabl.patch | 79 ++++++++++ ...to-handle-the-3-errnos-that-are-alia.patch | 30 ++++ ...ht-do-nothing-if-max_brightness-is-0.patch | 108 ++++++++++++++ ...name_to_handle_at-is-not-implemented.patch | 30 ++++ 0003-analyze-fix-plot-with-bad-y-size.patch | 31 ++++ 0003-backlight-unify-error-messages.patch | 115 +++++++++++++++ ...f-kernel-exposes-backlight-device-wi.patch | 40 ++++++ ...g-jobs-to-run-queue-in-unit_coldplug.patch | 30 ++++ ...-saved-brightness-exceeding-max-brig.patch | 64 +++++++++ ...aiting-jobs-to-run-queue-during-cold.patch | 34 +++++ 1014-udev-update-net_id-comments.patch | 102 +++++++++++++ ...naming-we-cannot-use-virtio-numbers-.patch | 99 +++++++++++++ log-target-null-instead-kmsg.patch | 114 +++++++++++++++ systemd-mini.changes | 35 +++++ systemd-mini.spec | 44 +++++- systemd.changes | 35 +++++ systemd.spec | 44 +++++- upstream-net_id-changes.patch | 135 ------------------ 18 files changed, 1024 insertions(+), 145 deletions(-) create mode 100644 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch create mode 100644 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch create mode 100644 0002-backlight-do-nothing-if-max_brightness-is-0.patch create mode 100644 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch create mode 100644 0003-analyze-fix-plot-with-bad-y-size.patch create mode 100644 0003-backlight-unify-error-messages.patch create mode 100644 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch create mode 100644 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch create mode 100644 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch create mode 100644 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch create mode 100644 1014-udev-update-net_id-comments.patch create mode 100644 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch create mode 100644 log-target-null-instead-kmsg.patch delete mode 100644 upstream-net_id-changes.patch diff --git a/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch b/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch new file mode 100644 index 00000000..3b20a7e0 --- /dev/null +++ b/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch @@ -0,0 +1,79 @@ +From 7b909d7407965c03caaba30daae7aee113627a83 Mon Sep 17 00:00:00 2001 +From: Josh Triplett +Date: Tue, 11 Mar 2014 21:16:33 -0700 +Subject: [PATCH] backlight: Avoid restoring brightness to an unreadably dim + level + +Some systems turn the backlight all the way off at the lowest levels. +Clamp saved brightness to at least 1 or 5% of max_brightness. This +avoids preserving an unreadably dim screen, which would otherwise force +the user to disable state restoration. +--- + src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 44 insertions(+) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 81470b3..abf8bcf 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -192,6 +192,48 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { + return true; + } + ++/* Some systems turn the backlight all the way off at the lowest levels. ++ * clamp_brightness clamps the saved brightness to at least 1 or 5% of ++ * max_brightness. This avoids preserving an unreadably dim screen, which ++ * would otherwise force the user to disable state restoration. */ ++static void clamp_brightness(struct udev_device *device, char **value) { ++ int r; ++ const char *max_brightness_str; ++ unsigned brightness, max_brightness, new_brightness; ++ ++ max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); ++ if (!max_brightness_str) { ++ log_warning("Failed to read max_brightness attribute; not checking saved brightness"); ++ return; ++ } ++ ++ r = safe_atou(*value, &brightness); ++ if (r < 0) { ++ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); ++ return; ++ } ++ ++ r = safe_atou(max_brightness_str, &max_brightness); ++ if (r < 0) { ++ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ return; ++ } ++ ++ new_brightness = MAX3(brightness, 1U, max_brightness/20); ++ if (new_brightness != brightness) { ++ char *old_value = *value; ++ ++ r = asprintf(value, "%u", new_brightness); ++ if (r < 0) { ++ log_oom(); ++ return; ++ } ++ ++ log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); ++ free(old_value); ++ } ++} ++ + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_device_unref_ struct udev_device *device = NULL; +@@ -306,6 +348,8 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + ++ clamp_brightness(device, &value); ++ + r = udev_device_set_sysattr_value(device, "brightness", value); + if (r < 0) { + log_error("Failed to write system attribute: %s", strerror(-r)); +-- +1.7.9.2 + diff --git a/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch b/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch new file mode 100644 index 00000000..d087eeb6 --- /dev/null +++ b/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch @@ -0,0 +1,30 @@ +Based on 0d522a7a0547982eae9ab1b5971e4bed9c2fbc7c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 24 Apr 2014 08:11:39 +0200 +Subject: [PATCH] errno: make sure to handle the 3 errnos that are aliases for + others properly + +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- Makefile.am ++++ Makefile.am 2014-05-12 00:00:00.000000000 +0000 +@@ -1078,7 +1078,7 @@ BUILT_SOURCES += \ + + src/shared/errno-list.txt: + $(AM_V_at)$(MKDIR_P) $(dir $@) +- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }' > $@ ++ $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' > $@ + + src/shared/errno-from-name.gperf: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) +@@ -1090,7 +1090,7 @@ src/shared/errno-from-name.h: src/shared + + src/shared/errno-to-name.h: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) +- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ ++ $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + + # ------------------------------------------------------------------------------ + systemd_SOURCES = \ diff --git a/0002-backlight-do-nothing-if-max_brightness-is-0.patch b/0002-backlight-do-nothing-if-max_brightness-is-0.patch new file mode 100644 index 00000000..8ca31e28 --- /dev/null +++ b/0002-backlight-do-nothing-if-max_brightness-is-0.patch @@ -0,0 +1,108 @@ +From 3cadce7d33e263ec7a6a83c00c11144930258b22 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Thu, 27 Mar 2014 23:41:59 +0100 +Subject: [PATCH] backlight: do nothing if max_brightness is 0 + +On virtually any newer Asus mainboard, the eeepc-wmi driver is loaded. +It exposes a backlight device despite the lack of any physical backlight +devices. This fake backlight device has max_brightness set to 0. Since +the introduction of the clamp_brightness function, systemd-backlight +tries to write '1' to brightness and fails. + +This patch changes systemd-backlight to exit gracefully when +max_brightness is 0 before performing any action. This affects +both the load and save actions. +--- + src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++-------------- + 1 file changed, 30 insertions(+), 14 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index abf8bcf..ce0385b 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -192,30 +192,37 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { + return true; + } + +-/* Some systems turn the backlight all the way off at the lowest levels. +- * clamp_brightness clamps the saved brightness to at least 1 or 5% of +- * max_brightness. This avoids preserving an unreadably dim screen, which +- * would otherwise force the user to disable state restoration. */ +-static void clamp_brightness(struct udev_device *device, char **value) { ++static unsigned get_max_brightness(struct udev_device *device) { + int r; + const char *max_brightness_str; +- unsigned brightness, max_brightness, new_brightness; ++ unsigned max_brightness; + + max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); + if (!max_brightness_str) { +- log_warning("Failed to read max_brightness attribute; not checking saved brightness"); +- return; ++ log_warning("Failed to read max_brightness attribute"); ++ return 0; + } + +- r = safe_atou(*value, &brightness); ++ r = safe_atou(max_brightness_str, &max_brightness); + if (r < 0) { +- log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); +- return; ++ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ return 0; + } + +- r = safe_atou(max_brightness_str, &max_brightness); ++ return max_brightness; ++} ++ ++/* Some systems turn the backlight all the way off at the lowest levels. ++ * clamp_brightness clamps the saved brightness to at least 1 or 5% of ++ * max_brightness. This avoids preserving an unreadably dim screen, which ++ * would otherwise force the user to disable state restoration. */ ++static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { ++ int r; ++ unsigned brightness, new_brightness; ++ ++ r = safe_atou(*value, &brightness); + if (r < 0) { +- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); + return; + } + +@@ -239,6 +246,7 @@ int main(int argc, char *argv[]) { + _cleanup_udev_device_unref_ struct udev_device *device = NULL; + _cleanup_free_ char *saved = NULL, *ss = NULL, *escaped_ss = NULL, *escaped_sysname = NULL, *escaped_path_id = NULL; + const char *sysname, *path_id; ++ unsigned max_brightness; + int r; + + if (argc != 3) { +@@ -294,6 +302,14 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + ++ /* If max_brightness is 0, then there is no actual backlight ++ * device. This happens on desktops with Asus mainboards ++ * that load the eeepc-wmi module. ++ */ ++ max_brightness = get_max_brightness(device); ++ if (max_brightness == 0) ++ return EXIT_SUCCESS; ++ + escaped_ss = cescape(ss); + if (!escaped_ss) { + log_oom(); +@@ -348,7 +364,7 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- clamp_brightness(device, &value); ++ clamp_brightness(device, &value, max_brightness); + + r = udev_device_set_sysattr_value(device, "brightness", value); + if (r < 0) { +-- +1.7.9.2 + diff --git a/0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch b/0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch new file mode 100644 index 00000000..fcf5f374 --- /dev/null +++ b/0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch @@ -0,0 +1,30 @@ +Based on e6c474723dc66cd4765fd09453d6b48bd5905ba4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 20 Apr 2014 13:57:26 -0400 +Subject: [PATCH] udev: warn when name_to_handle_at is not implemented + +We have a bunch of reports from people who have a custom kernel and +are confused why udev is not running. Issue a warning on +error. Barring an error in the code, the only error that is possible +is ENOSYS. + +https://bugzilla.redhat.com/show_bug.cgi?id=1072966 +--- + src/libudev/libudev-monitor.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/libudev/libudev-monitor.c ++++ src/libudev/libudev-monitor.c 2014-05-12 00:00:00.000000000 +0000 +@@ -115,8 +115,11 @@ static bool udev_has_devtmpfs(struct ude + int r; + + r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); +- if (r < 0) ++ if (r < 0) { ++ if (errno != EOPNOTSUPP) ++ udev_err(udev, "name_to_handle_at on /dev: %m\n"); + return false; ++ } + + + f = fopen("/proc/self/mountinfo", "re"); diff --git a/0003-analyze-fix-plot-with-bad-y-size.patch b/0003-analyze-fix-plot-with-bad-y-size.patch new file mode 100644 index 00000000..07761449 --- /dev/null +++ b/0003-analyze-fix-plot-with-bad-y-size.patch @@ -0,0 +1,31 @@ +From a213b7e977221ca96bbc1b19a5a879c912ba2488 Mon Sep 17 00:00:00 2001 +From: Jeffrey Clark +Date: Wed, 23 Apr 2014 22:37:43 +0200 +Subject: [PATCH] analyze: fix plot with bad y size + +systemd-analyze plot > test.svg produces output with all y and height +element attributes equal to zero. This of course causes the resulting +svg to appear blank (zero height). Bug does not affect x86. Looks like +a compiler optimization may be the culprit. + +https://github.com/archlinuxarm/PKGBUILDs/issues/815 +--- + src/analyze/analyze.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index ba236d9..ebaa9d0 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -43,7 +43,7 @@ + #include "pager.h" + + #define SCALE_X (0.1 / 1000.0) /* pixels per us */ +-#define SCALE_Y 20.0 ++#define SCALE_Y (20.0) + + #define compare(a, b) (((a) > (b))? 1 : (((b) > (a))? -1 : 0)) + +-- +1.7.9.2 + diff --git a/0003-backlight-unify-error-messages.patch b/0003-backlight-unify-error-messages.patch new file mode 100644 index 00000000..452de616 --- /dev/null +++ b/0003-backlight-unify-error-messages.patch @@ -0,0 +1,115 @@ +Based on 938d2699d2e818bd996614e89ea3d668200ad2a8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 7 Apr 2014 20:57:22 -0400 +Subject: [PATCH] backlight: unify error messages + +--- + src/backlight/backlight.c | 29 +++++++++++++++++++---------- + 1 file changed, 19 insertions(+), 10 deletions(-) + +--- src/backlight/backlight.c ++++ src/backlight/backlight.c 2014-05-12 13:31:50.502235843 +0000 +@@ -24,6 +24,7 @@ + #include "fileio.h" + #include "libudev.h" + #include "udev-util.h" ++#include "def.h" + + static struct udev_device *find_pci_or_platform_parent(struct udev_device *device) { + struct udev_device *parent; +@@ -50,7 +51,7 @@ static struct udev_device *find_pci_or_p + if (!c) + return NULL; + +- c += strspn(c, "0123456789"); ++ c += strspn(c, DIGITS); + if (*c == '-') { + /* A connector DRM device, let's ignore all but LVDS and eDP! */ + +@@ -67,7 +68,8 @@ static struct udev_device *find_pci_or_p + unsigned long class = 0; + + if (safe_atolu(value, &class) < 0) { +- log_warning("Cannot parse PCI class %s of device %s:%s.", value, subsystem, sysname); ++ log_warning("Cannot parse PCI class %s of device %s:%s.", ++ value, subsystem, sysname); + return NULL; + } + +@@ -175,7 +177,9 @@ static bool validate_device(struct udev + if (same_device(parent, other_parent)) { + /* Both have the same PCI parent, that means + * we are out. */ +- log_debug("Skipping backlight device %s, since backlight device %s is on same PCI device and, takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); ++ log_debug("Skipping backlight device %s, since device %s is on same PCI device and takes precedence.", ++ udev_device_get_sysname(device), ++ udev_device_get_sysname(other)); + return false; + } + +@@ -184,7 +188,9 @@ static bool validate_device(struct udev + /* The other is connected to the platform bus + * and we are a PCI device, that also means we + * are out. */ +- log_debug("Skipping backlight device %s, since backlight device %s is a platform device and takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); ++ log_debug("Skipping backlight device %s, since device %s is a platform device and takes precedence.", ++ udev_device_get_sysname(device), ++ udev_device_get_sysname(other)); + return false; + } + } +@@ -199,13 +205,14 @@ static unsigned get_max_brightness(struc + + max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); + if (!max_brightness_str) { +- log_warning("Failed to read max_brightness attribute"); ++ log_warning("Failed to read 'max_brightness' attribute"); + return 0; + } + + r = safe_atou(max_brightness_str, &max_brightness); + if (r < 0) { +- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ log_warning("Failed to parse 'max_brightness' \"%s\": %s", ++ max_brightness_str, strerror(-r)); + return 0; + } + +@@ -262,7 +269,8 @@ int main(int argc, char *argv[]) { + + r = mkdir_p("/var/lib/systemd/backlight", 0755); + if (r < 0) { +- log_error("Failed to create backlight directory: %s", strerror(-r)); ++ log_error("Failed to create backlight directory /var/lib/systemd/backlight: %s", ++ strerror(-r)); + return EXIT_FAILURE; + } + +@@ -274,7 +282,7 @@ int main(int argc, char *argv[]) { + + sysname = strchr(argv[2], ':'); + if (!sysname) { +- log_error("Requires pair of subsystem and sysname for specifying backlight device."); ++ log_error("Requires a subsystem and sysname pair specifying a backlight device."); + return EXIT_FAILURE; + } + +@@ -368,7 +376,8 @@ int main(int argc, char *argv[]) { + + r = udev_device_set_sysattr_value(device, "brightness", value); + if (r < 0) { +- log_error("Failed to write system attribute: %s", strerror(-r)); ++ log_error("Failed to write system 'brightness' attribute: %s", ++ strerror(-r)); + return EXIT_FAILURE; + } + +@@ -382,7 +391,7 @@ int main(int argc, char *argv[]) { + + value = udev_device_get_sysattr_value(device, "brightness"); + if (!value) { +- log_error("Failed to read system attribute: %s", strerror(-r)); ++ log_error("Failed to read system 'brightness' attribute: %s", strerror(-r)); + return EXIT_FAILURE; + } + diff --git a/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch b/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch new file mode 100644 index 00000000..d0ec9ec8 --- /dev/null +++ b/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch @@ -0,0 +1,40 @@ +From c7fdf44d08e1217d40dc092fb90a65978a0f541f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 23 Apr 2014 06:55:54 +0200 +Subject: [PATCH] backlight: warn if kernel exposes backlight device with + bogus max_brightness + +We shouldn't silently tape over broken kernel drivers. +--- + src/backlight/backlight.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 754a646..c708391 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -205,14 +205,18 @@ static unsigned get_max_brightness(struct udev_device *device) { + + max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); + if (!max_brightness_str) { +- log_warning("Failed to read 'max_brightness' attribute"); ++ log_warning("Failed to read 'max_brightness' attribute."); + return 0; + } + + r = safe_atou(max_brightness_str, &max_brightness); + if (r < 0) { +- log_warning("Failed to parse 'max_brightness' \"%s\": %s", +- max_brightness_str, strerror(-r)); ++ log_warning("Failed to parse 'max_brightness' \"%s\": %s", max_brightness_str, strerror(-r)); ++ return 0; ++ } ++ ++ if (max_brightness <= 0) { ++ log_warning("Maximum brightness is 0, ignoring device."); + return 0; + } + +-- +1.7.9.2 + diff --git a/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch b/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch new file mode 100644 index 00000000..0358d8cc --- /dev/null +++ b/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch @@ -0,0 +1,30 @@ +Based on 20a83d7bf4542875f8033b68682a4da4993010e8 Mon Sep 17 00:00:00 2001 +From: Brandon Philips +Date: Fri, 25 Apr 2014 09:31:59 -0600 +Subject: [PATCH] job: add waiting jobs to run queue in unit_coldplug + +When we have job installed and added to run queue for service which is +still in dead state and systemd initiates reload then after reload we +never add deserialized job to the run queue again. This is caused by +check in service_coldplug() where we check if deserialized state is +something else than dead state, which is not the case thus we never call +service_set_state() and finally unit_notify() where we would have added +job to the run queue. + +Thanks to Michal Sekletar for the original patch. +--- + src/core/job.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- src/core/job.c ++++ src/core/job.c 2014-05-12 12:58:30.354235531 +0000 +@@ -1057,6 +1057,9 @@ int job_coldplug(Job *j) { + if (j->timer_event_source) + j->timer_event_source = sd_event_source_unref(j->timer_event_source); + ++ if (j->state == JOB_WAITING) ++ job_add_to_run_queue(j); ++ + r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); + if (r < 0) + log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch b/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch new file mode 100644 index 00000000..bee5ed1a --- /dev/null +++ b/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch @@ -0,0 +1,64 @@ +From 0c9d8f1d4b5018199cb5a9b57580dc1480a7f915 Mon Sep 17 00:00:00 2001 +From: Jani Nikula +Date: Wed, 7 May 2014 12:01:01 +0300 +Subject: [PATCH] backlight: handle saved brightness exceeding max brightness + +If too high a brightness value has been saved (e.g. due to kernel +mechanism changing from one kernel version to another, or booting the +userspace on another system), the brightness update fails and the +process exits. + +Clamp saved brightness between the policy minimum introduced in + +commit 7b909d7407965c03caaba30daae7aee113627a83 +Author: Josh Triplett +Date: Tue Mar 11 21:16:33 2014 -0700 + + backlight: Avoid restoring brightness to an unreadably dim level + +and the absolute maximum. + +https://bugs.freedesktop.org/show_bug.cgi?id=78200 +--- + src/backlight/backlight.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index c708391..691472c 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -229,7 +229,7 @@ static unsigned get_max_brightness(struct udev_device *device) { + * would otherwise force the user to disable state restoration. */ + static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { + int r; +- unsigned brightness, new_brightness; ++ unsigned brightness, new_brightness, min_brightness; + + r = safe_atou(*value, &brightness); + if (r < 0) { +@@ -237,7 +237,8 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned + return; + } + +- new_brightness = MAX3(brightness, 1U, max_brightness/20); ++ min_brightness = MAX(1U, max_brightness/20); ++ new_brightness = CLAMP(brightness, min_brightness, max_brightness); + if (new_brightness != brightness) { + char *old_value = *value; + +@@ -247,7 +248,11 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned + return; + } + +- log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); ++ log_info("Saved brightness %s %s to %s.", old_value, ++ new_brightness > brightness ? ++ "too low; increasing" : "too high; decreasing", ++ *value); ++ + free(old_value); + } + } +-- +1.7.9.2 + diff --git a/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch b/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch new file mode 100644 index 00000000..ea295af2 --- /dev/null +++ b/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch @@ -0,0 +1,34 @@ +Based on 1727a595225132eb73ec134b6979d9c713b42e8c Mon Sep 17 00:00:00 2001 +From: Michael Marineau +Date: Mon, 12 May 2014 09:26:16 +0200 +Subject: [PATCH] job: always add waiting jobs to run queue during coldplug + +commit 20a83d7bf was not equivalent to the original bug fix proposed by +Michal Sekletar . The committed version only added +the job to the run queue if the job had a timeout, which most jobs do +not have. Just re-ordering the code gets us the intended functionality +--- + src/core/job.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- src/core/job.c ++++ src/core/job.c 2014-05-12 13:11:24.918735646 +0000 +@@ -1051,15 +1051,15 @@ int job_coldplug(Job *j) { + + assert(j); + ++ if (j->state == JOB_WAITING) ++ job_add_to_run_queue(j); ++ + if (j->begin_usec == 0 || j->unit->job_timeout == 0) + return 0; + + if (j->timer_event_source) + j->timer_event_source = sd_event_source_unref(j->timer_event_source); + +- if (j->state == JOB_WAITING) +- job_add_to_run_queue(j); +- + r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); + if (r < 0) + log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/1014-udev-update-net_id-comments.patch b/1014-udev-update-net_id-comments.patch new file mode 100644 index 00000000..6b0b7f5a --- /dev/null +++ b/1014-udev-update-net_id-comments.patch @@ -0,0 +1,102 @@ +From d4b687c96adf207f0878aebf3ce3371f6160687f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 27 Mar 2014 15:30:09 +0100 +Subject: [PATCH] udev: update net_id comments + +Signed-off-by: Robert Milasan +--- + src/udev/udev-builtin-net_id.c | 31 +++++++++++++++---------------- + 1 file changed, 15 insertions(+), 16 deletions(-) + +diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c +index 4f2b2c1..9ac07de 100644 +--- a/src/udev/udev-builtin-net_id.c ++++ b/src/udev/udev-builtin-net_id.c +@@ -33,8 +33,11 @@ + * ww -- wwan + * + * Type of names: ++ * b -- BCMA bus core number ++ * ccw -- CCW bus group name + * o -- on-board device index number + * s[f][d] -- hotplug slot index number ++ * v -- virtio number + * x -- MAC address + * [P]ps[f][d] + * -- PCI geographical location +@@ -119,12 +122,9 @@ struct netnames { + const char *pci_onboard_label; + + char usb_ports[IFNAMSIZ]; +- + char bcma_core[IFNAMSIZ]; +- +- char virtio_core[IFNAMSIZ]; +- +- char ccw_core[IFNAMSIZ]; ++ char virtio[IFNAMSIZ]; ++ char ccw_group[IFNAMSIZ]; + }; + + /* retrieve on-board index number and label from firmware */ +@@ -353,18 +353,17 @@ static int names_bcma(struct udev_device *dev, struct netnames *names) { + + static int names_virtio(struct udev_device *dev, struct netnames *names) { + struct udev_device *virtdev; +- unsigned int core; ++ unsigned int num; + + virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); + if (!virtdev) + return -ENOENT; + +- /* core num */ +- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &core) != 1) ++ if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) + return -EINVAL; +- /* suppress the common core == 0 */ +- if (core > 0) +- snprintf(names->virtio_core, sizeof(names->virtio_core), "v%u", core); ++ /* suppress the common num == 0 */ ++ if (num > 0) ++ snprintf(names->virtio, sizeof(names->virtio), "v%u", num); + + names->type = NET_VIRTIO; + return 0; +@@ -402,8 +401,8 @@ static int names_ccw(struct udev_device *dev, struct netnames *names) { + return -EINVAL; + + /* Store the CCW bus-ID for use as network device name */ +- rc = snprintf(names->ccw_core, sizeof(names->ccw_core), "ccw%s", bus_id); +- if (rc >= 0 && rc < (int)sizeof(names->ccw_core)) ++ rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); ++ if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) + names->type = NET_CCWGROUP; + return 0; + } +@@ -517,7 +516,7 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool + if (err >= 0 && names.type == NET_CCWGROUP) { + char str[IFNAMSIZ]; + +- if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); + goto out; + } +@@ -585,11 +584,11 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool + char str[IFNAMSIZ]; + + if (names.pci_path[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); + + if (names.pci_slot[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); + goto out; + } +-- +1.8.4.5 + diff --git a/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch b/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch new file mode 100644 index 00000000..a5e9c58f --- /dev/null +++ b/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch @@ -0,0 +1,99 @@ +From bf81e792f3c0aed54edf004c1c95cc6f6d81d0ee Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 27 Mar 2014 21:47:14 +0100 +Subject: [PATCH] udev: persistent naming - we cannot use virtio numbers as + they are not stable + +This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and +commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. + +Distros may want to take note of this, as it changes behavior. + +Signed-off-by: Robert Milasan +--- + src/udev/udev-builtin-net_id.c | 36 ------------------------------------ + src/udev/udev-builtin-path_id.c | 3 --- + 2 files changed, 39 deletions(-) + +Index: systemd-210/src/udev/udev-builtin-net_id.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-net_id.c ++++ systemd-210/src/udev/udev-builtin-net_id.c +@@ -37,7 +37,6 @@ + * ccw -- CCW bus group name + * o -- on-board device index number + * s[f][d] -- hotplug slot index number +- * v -- virtio number + * x -- MAC address + * [P]ps[f][d] + * -- PCI geographical location +@@ -123,7 +122,6 @@ struct netnames { + + char usb_ports[IFNAMSIZ]; + char bcma_core[IFNAMSIZ]; +- char virtio[IFNAMSIZ]; + char ccw_group[IFNAMSIZ]; + }; + +@@ -351,24 +349,6 @@ static int names_bcma(struct udev_device + return 0; + } + +-static int names_virtio(struct udev_device *dev, struct netnames *names) { +- struct udev_device *virtdev; +- unsigned int num; +- +- virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); +- if (!virtdev) +- return -ENOENT; +- +- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) +- return -EINVAL; +- /* suppress the common num == 0 */ +- if (num > 0) +- snprintf(names->virtio, sizeof(names->virtio), "v%u", num); +- +- names->type = NET_VIRTIO; +- return 0; +-} +- + static int names_ccw(struct udev_device *dev, struct netnames *names) { + struct udev_device *cdev; + const char *bus_id; +@@ -577,22 +557,6 @@ static int builtin_net_id(struct udev_de + udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); + goto out; + } +- +- /* virtio bus */ +- err = names_virtio(dev, &names); +- if (err >= 0 && names.type == NET_VIRTIO) { +- char str[IFNAMSIZ]; +- +- if (names.pci_path[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) +- udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); +- +- if (names.pci_slot[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) +- udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); +- goto out; +- } +- + out: + return EXIT_SUCCESS; + } +Index: systemd-210/src/udev/udev-builtin-path_id.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-path_id.c ++++ systemd-210/src/udev/udev-builtin-path_id.c +@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d + } else if (streq(subsys, "xen")) { + path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "xen"); +- } else if (streq(subsys, "virtio")) { +- path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); +- parent = skip_subsystem(parent, "virtio"); + } else if (streq(subsys, "scm")) { + path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "scm"); diff --git a/log-target-null-instead-kmsg.patch b/log-target-null-instead-kmsg.patch new file mode 100644 index 00000000..f1d429b6 --- /dev/null +++ b/log-target-null-instead-kmsg.patch @@ -0,0 +1,114 @@ +--- + src/journal/journald-kmsg.c | 16 +++++++++++++++- + src/libudev/libudev-util.c | 16 +++++++++++++++- + src/shared/log.c | 16 +++++++++++++++- + src/shared/util.c | 6 +++++- + 4 files changed, 50 insertions(+), 4 deletions(-) + +--- systemd-210/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 +@@ -391,12 +391,26 @@ + return server_read_dev_kmsg(s); + } + ++static int parse_proc_cmdline_word(const char *word) { ++ int r; ++ ++ if (streq(word, "systemd.log_target=null")) ++ return -115; ++ ++ return 0; ++} ++ + int server_open_dev_kmsg(Server *s) { + int r; + + assert(s); + +- s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { ++ s->dev_kmsg_fd = open("/dev/null", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ } else { ++ s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ } ++ + if (s->dev_kmsg_fd < 0) { + log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, + "Failed to open /dev/kmsg, ignoring: %m"); +--- systemd-210/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 +@@ -416,6 +416,15 @@ + return bits; + } + ++static int parse_proc_cmdline_word(const char *word) { ++ int r; ++ ++ if (streq(word, "systemd.log_target=null")) ++ return -115; ++ ++ return 0; ++} ++ + ssize_t print_kmsg(const char *fmt, ...) + { + _cleanup_close_ int fd = -1; +@@ -424,7 +433,12 @@ + ssize_t len; + ssize_t ret; + +- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { ++ fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } else { ++ fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } ++ + if (fd < 0) + return -errno; + +--- systemd-210/src/shared/log.c ++++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 +@@ -92,12 +92,26 @@ + kmsg_fd = -1; + } + ++static int parse_proc_cmdline_word(const char *word) { ++ int r; ++ ++ if (streq(word, "systemd.log_target=null")) ++ return -115; ++ ++ return 0; ++} ++ + static int log_open_kmsg(void) { + + if (kmsg_fd >= 0) + return 0; + +- kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { ++ kmsg_fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } else { ++ kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } ++ + if (kmsg_fd < 0) + return -errno; + +--- systemd-210/src/shared/util.c ++++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 +@@ -5975,7 +5975,11 @@ + + r = parse_word(word); + if (r < 0) { +- log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); ++ if (r == -115) { ++ log_error("Warning: %s set, redirecting messages to /dev/null.", word); ++ } else { ++ log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); ++ } + return r; + } + } diff --git a/systemd-mini.changes b/systemd-mini.changes index 99f35b9d..620b4e9a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Tue May 13 08:28:05 UTC 2014 - werner@suse.de + +- Add patch log-target-null-instead-kmsg.patch from Thomas Blume + to enable the kernel developers to see a clean kmsg ring buffer + without any systemd/udev messages included (bnc#877021) + +------------------------------------------------------------------- +Mon May 12 13:35:25 UTC 2014 - werner@suse.de + +- Add upstram patches for backlight + 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch + 0002-backlight-do-nothing-if-max_brightness-is-0.patch + 0003-backlight-unify-error-messages.patch + 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch + 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch + +------------------------------------------------------------------- +Mon May 12 13:28:20 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch + 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch + 0003-analyze-fix-plot-with-bad-y-size.patch + 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch + 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch + +------------------------------------------------------------------- +Mon May 12 12:25:13 UTC 2014 - rmilasan@suse.com + +- Drop upstream-net_id-changes.patch and replace them with the correct + patches from upstream and their commits: + add: 1014-udev-update-net_id-comments.patch + add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch + ------------------------------------------------------------------- Wed May 7 10:42:27 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index cfb4be04..954150b4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -407,6 +407,28 @@ Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch210: 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch216: 0003-backlight-unify-error-messages.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch +# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) +Patch219: log-target-null-instead-kmsg.patch # UDEV PATCHES # ============ @@ -440,8 +462,10 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-UPSTREAM Move forward to git Head for net_id -Patch1014: upstream-net_id-changes.patch +# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch +Patch1014: 1014-udev-update-net_id-comments.patch +# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -798,6 +822,17 @@ cp %{SOURCE7} m4/ %patch206 -p0 %patch207 -p0 %patch208 -p1 +%patch209 -p0 +%patch210 -p0 +%patch211 -p0 +%patch212 -p0 +%patch213 -p0 +%patch214 -p0 +%patch215 -p0 +%patch216 -p0 +%patch217 -p0 +%patch218 -p0 +%patch219 -p1 # udev patches %patch1001 -p1 @@ -814,9 +849,8 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%if 0%{?suse_version} > 1310 -%patch1014 -p0 -%endif +%patch1014 -p1 +%patch1015 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 99f35b9d..620b4e9a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Tue May 13 08:28:05 UTC 2014 - werner@suse.de + +- Add patch log-target-null-instead-kmsg.patch from Thomas Blume + to enable the kernel developers to see a clean kmsg ring buffer + without any systemd/udev messages included (bnc#877021) + +------------------------------------------------------------------- +Mon May 12 13:35:25 UTC 2014 - werner@suse.de + +- Add upstram patches for backlight + 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch + 0002-backlight-do-nothing-if-max_brightness-is-0.patch + 0003-backlight-unify-error-messages.patch + 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch + 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch + +------------------------------------------------------------------- +Mon May 12 13:28:20 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch + 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch + 0003-analyze-fix-plot-with-bad-y-size.patch + 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch + 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch + +------------------------------------------------------------------- +Mon May 12 12:25:13 UTC 2014 - rmilasan@suse.com + +- Drop upstream-net_id-changes.patch and replace them with the correct + patches from upstream and their commits: + add: 1014-udev-update-net_id-comments.patch + add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch + ------------------------------------------------------------------- Wed May 7 10:42:27 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index d08fdb12..dc84387e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -402,6 +402,28 @@ Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch210: 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch216: 0003-backlight-unify-error-messages.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch +# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) +Patch219: log-target-null-instead-kmsg.patch # UDEV PATCHES # ============ @@ -435,8 +457,10 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-UPSTREAM Move forward to git Head for net_id -Patch1014: upstream-net_id-changes.patch +# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch +Patch1014: 1014-udev-update-net_id-comments.patch +# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -793,6 +817,17 @@ cp %{SOURCE7} m4/ %patch206 -p0 %patch207 -p0 %patch208 -p1 +%patch209 -p0 +%patch210 -p0 +%patch211 -p0 +%patch212 -p0 +%patch213 -p0 +%patch214 -p0 +%patch215 -p0 +%patch216 -p0 +%patch217 -p0 +%patch218 -p0 +%patch219 -p1 # udev patches %patch1001 -p1 @@ -809,9 +844,8 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%if 0%{?suse_version} > 1310 -%patch1014 -p0 -%endif +%patch1014 -p1 +%patch1015 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/upstream-net_id-changes.patch b/upstream-net_id-changes.patch deleted file mode 100644 index 60bc83b7..00000000 --- a/upstream-net_id-changes.patch +++ /dev/null @@ -1,135 +0,0 @@ -This the diff between systemd-210 and 19aa72f74e41045510b4af3f1415b419d42ff20b -But we do not remove the ATA support as in HEAD - ---- - src/udev/udev-builtin-net_id.c | 54 ++++++---------------------------------- - src/udev/udev-builtin-path_id.c | 3 -- - 2 files changed, 9 insertions(+), 48 deletions(-) - ---- src/udev/udev-builtin-net_id.c -+++ src/udev/udev-builtin-net_id.c 2014-04-08 07:16:45.094235605 +0000 -@@ -33,6 +33,8 @@ - * ww -- wwan - * - * Type of names: -+ * b -- BCMA bus core number -+ * ccw -- CCW bus group name - * o -- on-board device index number - * s[f][d] -- hotplug slot index number - * x -- MAC address -@@ -92,6 +94,7 @@ - #include - #include - #include -+#include - #include - - #include "udev.h" -@@ -119,12 +122,8 @@ struct netnames { - const char *pci_onboard_label; - - char usb_ports[IFNAMSIZ]; -- - char bcma_core[IFNAMSIZ]; -- -- char virtio_core[IFNAMSIZ]; -- -- char ccw_core[IFNAMSIZ]; -+ char ccw_group[IFNAMSIZ]; - }; - - /* retrieve on-board index number and label from firmware */ -@@ -351,25 +350,6 @@ static int names_bcma(struct udev_device - return 0; - } - --static int names_virtio(struct udev_device *dev, struct netnames *names) { -- struct udev_device *virtdev; -- unsigned int core; -- -- virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); -- if (!virtdev) -- return -ENOENT; -- -- /* core num */ -- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &core) != 1) -- return -EINVAL; -- /* suppress the common core == 0 */ -- if (core > 0) -- snprintf(names->virtio_core, sizeof(names->virtio_core), "v%u", core); -- -- names->type = NET_VIRTIO; -- return 0; --} -- - static int names_ccw(struct udev_device *dev, struct netnames *names) { - struct udev_device *cdev; - const char *bus_id; -@@ -402,8 +382,8 @@ static int names_ccw(struct udev_device - return -EINVAL; - - /* Store the CCW bus-ID for use as network device name */ -- rc = snprintf(names->ccw_core, sizeof(names->ccw_core), "ccw%s", bus_id); -- if (rc >= 0 && rc < (int)sizeof(names->ccw_core)) -+ rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); -+ if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) - names->type = NET_CCWGROUP; - return 0; - } -@@ -472,10 +452,10 @@ static int builtin_net_id(struct udev_de - return EXIT_FAILURE; - i = strtoul(s, NULL, 0); - switch (i) { -- case 1: /* ARPHRD_ETHER */ -+ case ARPHRD_ETHER: - prefix = "en"; - break; -- case 256: /* ARPHRD_SLIP */ -+ case ARPHRD_SLIP: - prefix = "sl"; - break; - default: -@@ -517,7 +497,7 @@ static int builtin_net_id(struct udev_de - if (err >= 0 && names.type == NET_CCWGROUP) { - char str[IFNAMSIZ]; - -- if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); - goto out; - } -@@ -578,22 +558,6 @@ static int builtin_net_id(struct udev_de - udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); - goto out; - } -- -- /* virtio bus */ -- err = names_virtio(dev, &names); -- if (err >= 0 && names.type == NET_VIRTIO) { -- char str[IFNAMSIZ]; -- -- if (names.pci_path[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio_core) < (int)sizeof(str)) -- udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); -- -- if (names.pci_slot[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio_core) < (int)sizeof(str)) -- udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); -- goto out; -- } -- - out: - return EXIT_SUCCESS; - } ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c 2014-03-28 09:27:20.402735390 +0000 -@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d - } else if (streq(subsys, "xen")) { - path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "xen"); -- } else if (streq(subsys, "virtio")) { -- path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); -- parent = skip_subsystem(parent, "virtio"); - } else if (streq(subsys, "scm")) { - path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "scm"); From 38fe6dfa6d743d5da704a2864dbd7f69ecd55cf719b97b6da27a10f5b22bc0ab Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 17 May 2014 19:46:37 +0000 Subject: [PATCH 182/991] Accepting request 234299 from Base:System - Make baselibs.conf aware to use the appropiate %post and %postun scriptlets which includes pam-config (bnc#877674) - Add upstram patches 0001-core-close-socket-fds-asynchronously.patch 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - Add upstram patches 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch to avoid that in pam session unwanted file descriptors are inherited - Make baselibs.conf aware to use the appropiate %post and %postun scriptlets which includes pam-config (bnc#877674) - Add upstram patches 0001-core-close-socket-fds-asynchronously.patch 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - Add upstram patches 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch to avoid that in pam session unwanted file descriptors are inherited OBS-URL: https://build.opensuse.org/request/show/234299 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=187 --- ...core-close-socket-fds-asynchronously.patch | 74 +++++++++++ ...-replace-more-dup-by-F_DUPFD_CLOEXEC.patch | 39 ++++++ ...kit-policy-for-hibernate-in-line-wit.patch | 28 +++++ ...F_DUPFD_CLOEXEC-when-dupping-session.patch | 26 ++++ ...sure-to-serialize-jobs-for-all-units.patch | 118 ++++++++++++++++++ baselibs.conf | 4 + systemd-mini.changes | 22 ++++ systemd-mini.spec | 15 +++ systemd.changes | 22 ++++ systemd.spec | 15 +++ 10 files changed, 363 insertions(+) create mode 100644 0001-core-close-socket-fds-asynchronously.patch create mode 100644 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch create mode 100644 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch create mode 100644 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch create mode 100644 0003-core-make-sure-to-serialize-jobs-for-all-units.patch diff --git a/0001-core-close-socket-fds-asynchronously.patch b/0001-core-close-socket-fds-asynchronously.patch new file mode 100644 index 00000000..70eebd3c --- /dev/null +++ b/0001-core-close-socket-fds-asynchronously.patch @@ -0,0 +1,74 @@ +Based on 574634bcacb01efe15ca2742effd461a5b7afb5f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 13 May 2014 23:22:13 +0200 +Subject: [PATCH] core: close socket fds asynchronously + +http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html +--- + src/core/async.c | 22 ++++++++++++++++++++++ + src/core/service.c | 5 +++-- + 2 files changed, 25 insertions(+), 2 deletions(-) + +--- src/core/service.c ++++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +@@ -25,6 +25,7 @@ + #include + #include + ++#include "async.h" + #include "manager.h" + #include "unit.h" + #include "service.h" +@@ -240,7 +241,7 @@ static void service_close_socket_fd(Serv + if (s->socket_fd < 0) + return; + +- close_nointr_nofail(s->socket_fd); ++ asynchronous_close(s->socket_fd); + s->socket_fd = -1; + } + +@@ -2767,7 +2768,7 @@ static int service_deserialize_item(Unit + else { + + if (s->socket_fd >= 0) +- close_nointr_nofail(s->socket_fd); ++ asynchronous_close(s->socket_fd); + s->socket_fd = fdset_remove(fds, fd); + } + } else if (streq(key, "main-exec-status-pid")) { +--- src/core/async.c ++++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +@@ -24,6 +24,7 @@ + + #include "async.h" + #include "log.h" ++#include "util.h" + + int asynchronous_job(void* (*func)(void *p), void *arg) { + pthread_attr_t a; +@@ -70,3 +71,24 @@ int asynchronous_sync(void) { + + return asynchronous_job(sync_thread, NULL); + } ++ ++static void *close_thread(void *p) { ++ close_nointr_nofail(PTR_TO_INT(p)); ++ return NULL; ++} ++ ++int asynchronous_close(int fd) { ++ int r; ++ ++ /* This is supposed to behave similar to safe_close(), but ++ * actually invoke close() asynchronously, so that it will ++ * never block. Ideally the kernel would have an API for this, ++ * but it doesn't, so we work around it, and hide this as a ++ * far away as we can. */ ++ ++ r = asynchronous_job(close_thread, INT_TO_PTR(fd)); ++ if (r < 0) ++ close_nointr_nofail(fd); ++ ++ return -1; ++} diff --git a/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch b/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch new file mode 100644 index 00000000..0438c3ee --- /dev/null +++ b/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch @@ -0,0 +1,39 @@ +From ead349509e325aad720bb0349521a9e56e2ac7c0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 13 May 2014 16:40:53 +0200 +Subject: [PATCH] replace more dup() by F_DUPFD_CLOEXEC + +--- + src/login/inhibit.c | 2 +- + src/shared/install.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/login/inhibit.c src/login/inhibit.c +index 48c2ec4..ae3afdf 100644 +--- src/login/inhibit.c ++++ src/login/inhibit.c +@@ -64,7 +64,7 @@ static int inhibit(sd_bus *bus, sd_bus_error *error) { + if (r < 0) + return r; + +- r = dup(fd); ++ r = fcntl(fd, F_DUPFD_CLOEXEC, 3); + if (r < 0) + return -errno; + +diff --git src/shared/install.c src/shared/install.c +index acfba25..9ce9403 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -332,7 +332,7 @@ static int remove_marked_symlinks( + int q, cfd; + deleted = false; + +- cfd = dup(fd); ++ cfd = fcntl(fd, F_DUPFD_CLOEXEC, 3); + if (cfd < 0) { + r = -errno; + break; +-- +1.7.9.2 + diff --git a/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch b/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch new file mode 100644 index 00000000..73ffb867 --- /dev/null +++ b/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch @@ -0,0 +1,28 @@ +From 301f9684e6465df5d0590f6c571fe3229ded966d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 15 May 2014 18:30:07 +0200 +Subject: [PATCH] logind: bring polkit policy for hibernate in line with + suspend/poweroff/reboot + +THere's no reason why hibernate should be better protected then +suspendor poweroff, so sync the policies. +--- + src/login/org.freedesktop.login1.policy.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/org.freedesktop.login1.policy.in src/login/org.freedesktop.login1.policy.in +index b96d32d..b8e90f1 100644 +--- src/login/org.freedesktop.login1.policy.in ++++ src/login/org.freedesktop.login1.policy.in +@@ -254,7 +254,7 @@ + + auth_admin_keep + auth_admin_keep +- auth_admin_keep ++ yes + + org.freedesktop.login1.hibernate + +-- +1.7.9.2 + diff --git a/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch b/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch new file mode 100644 index 00000000..06a4521c --- /dev/null +++ b/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch @@ -0,0 +1,26 @@ +From 85c08dc013f9f99b58bc9b79284af0b35304237b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 13 May 2014 16:35:34 +0200 +Subject: [PATCH] pam_systemd: use F_DUPFD_CLOEXEC when dupping session fds + +http://lists.freedesktop.org/archives/systemd-devel/2014-May/019034.html +--- + src/login/pam-module.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/pam-module.c src/login/pam-module.c +index 9873dd5..1259457 100644 +--- src/login/pam-module.c ++++ src/login/pam-module.c +@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( + } + + if (session_fd >= 0) { +- session_fd = dup(session_fd); ++ session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3); + if (session_fd < 0) { + pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m"); + return PAM_SESSION_ERR; +-- +1.7.9.2 + diff --git a/0003-core-make-sure-to-serialize-jobs-for-all-units.patch b/0003-core-make-sure-to-serialize-jobs-for-all-units.patch new file mode 100644 index 00000000..30c4615f --- /dev/null +++ b/0003-core-make-sure-to-serialize-jobs-for-all-units.patch @@ -0,0 +1,118 @@ +From 9bdb98c59451ed090f8d35d470a54710f389ce71 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 May 2014 01:15:03 +0200 +Subject: [PATCH] core: make sure to serialize jobs for all units + +Previously we wouldn't serialize jobs for units that themselves have +nothing to serialize. + +http://lists.freedesktop.org/archives/systemd-devel/2014-May/019051.html +--- + src/core/manager.c | 3 --- + src/core/unit.c | 43 +++++++++++++++++++++---------------------- + 2 files changed, 21 insertions(+), 25 deletions(-) + +diff --git src/core/manager.c src/core/manager.c +index 1e3e127..d0af674 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -2131,9 +2131,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) { + if (u->id != t) + continue; + +- if (!unit_can_serialize(u)) +- continue; +- + /* Start marker */ + fputs(u->id, f); + fputc('\n', f); +diff --git src/core/unit.c src/core/unit.c +index c4ed923..41651ba 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -2288,25 +2288,25 @@ bool unit_can_serialize(Unit *u) { + } + + int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) { +- ExecRuntime *rt; + int r; + + assert(u); + assert(f); + assert(fds); + +- if (!unit_can_serialize(u)) +- return 0; +- +- r = UNIT_VTABLE(u)->serialize(u, f, fds); +- if (r < 0) +- return r; ++ if (unit_can_serialize(u)) { ++ ExecRuntime *rt; + +- rt = unit_get_exec_runtime(u); +- if (rt) { +- r = exec_runtime_serialize(rt, u, f, fds); ++ r = UNIT_VTABLE(u)->serialize(u, f, fds); + if (r < 0) + return r; ++ ++ rt = unit_get_exec_runtime(u); ++ if (rt) { ++ r = exec_runtime_serialize(rt, u, f, fds); ++ if (r < 0) ++ return r; ++ } + } + + dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); +@@ -2368,17 +2368,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) { + } + + int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { +- size_t offset; + ExecRuntime **rt = NULL; ++ size_t offset; + int r; + + assert(u); + assert(f); + assert(fds); + +- if (!unit_can_serialize(u)) +- return 0; +- + offset = UNIT_VTABLE(u)->exec_runtime_offset; + if (offset > 0) + rt = (ExecRuntime**) ((uint8_t*) u + offset); +@@ -2503,17 +2500,19 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { + continue; + } + +- if (rt) { +- r = exec_runtime_deserialize_item(rt, u, l, v, fds); ++ if (unit_can_serialize(u)) { ++ if (rt) { ++ r = exec_runtime_deserialize_item(rt, u, l, v, fds); ++ if (r < 0) ++ return r; ++ if (r > 0) ++ continue; ++ } ++ ++ r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); + if (r < 0) + return r; +- if (r > 0) +- continue; + } +- +- r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); +- if (r < 0) +- return r; + } + } + +-- +1.7.9.2 + diff --git a/baselibs.conf b/baselibs.conf index c06fbf45..2738ae81 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,6 +1,10 @@ systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ + post "%{_sbindir}/pam-config -a --systemd || :" +# postun "if [ "$1" == "0" ]; then" +# postun "%{_sbindir}/pam-config -d --systemd || :" +# postun "fi" libudev0 libgudev-1_0-0 libudev1 diff --git a/systemd-mini.changes b/systemd-mini.changes index 620b4e9a..6eea7ee7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Fri May 16 12:00:12 UTC 2014 - werner@suse.de + +- Make baselibs.conf aware to use the appropiate %post and %postun + scriptlets which includes pam-config (bnc#877674) + +------------------------------------------------------------------- +Fri May 16 11:47:06 UTC 2014 - werner@suse.de + +- Add upstram patches + 0001-core-close-socket-fds-asynchronously.patch + 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch + 0003-core-make-sure-to-serialize-jobs-for-all-units.patch + +------------------------------------------------------------------- +Wed May 14 07:37:08 UTC 2014 - werner@suse.de + +- Add upstram patches + 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch + 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch + to avoid that in pam session unwanted file descriptors are inherited + ------------------------------------------------------------------- Tue May 13 08:28:05 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 954150b4..af3e53e2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -429,6 +429,16 @@ Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch # PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) Patch219: log-target-null-instead-kmsg.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch222: 0001-core-close-socket-fds-asynchronously.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch # UDEV PATCHES # ============ @@ -833,6 +843,11 @@ cp %{SOURCE7} m4/ %patch217 -p0 %patch218 -p0 %patch219 -p1 +%patch220 -p0 +%patch221 -p0 +%patch222 -p0 +%patch223 -p0 +%patch224 -p0 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 620b4e9a..6eea7ee7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Fri May 16 12:00:12 UTC 2014 - werner@suse.de + +- Make baselibs.conf aware to use the appropiate %post and %postun + scriptlets which includes pam-config (bnc#877674) + +------------------------------------------------------------------- +Fri May 16 11:47:06 UTC 2014 - werner@suse.de + +- Add upstram patches + 0001-core-close-socket-fds-asynchronously.patch + 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch + 0003-core-make-sure-to-serialize-jobs-for-all-units.patch + +------------------------------------------------------------------- +Wed May 14 07:37:08 UTC 2014 - werner@suse.de + +- Add upstram patches + 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch + 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch + to avoid that in pam session unwanted file descriptors are inherited + ------------------------------------------------------------------- Tue May 13 08:28:05 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index dc84387e..27df9a98 100644 --- a/systemd.spec +++ b/systemd.spec @@ -424,6 +424,16 @@ Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch # PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) Patch219: log-target-null-instead-kmsg.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch222: 0001-core-close-socket-fds-asynchronously.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch # UDEV PATCHES # ============ @@ -828,6 +838,11 @@ cp %{SOURCE7} m4/ %patch217 -p0 %patch218 -p0 %patch219 -p1 +%patch220 -p0 +%patch221 -p0 +%patch222 -p0 +%patch223 -p0 +%patch224 -p0 # udev patches %patch1001 -p1 From 6a0f5a9e55b39ee41024b03bdcf44f6ffc3eedbfc19cc98375d0421c612ef5d5 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 27 May 2014 05:09:03 +0000 Subject: [PATCH 183/991] Accepting request 235044 from Base:System - fix file list of systemd.pc OBS-URL: https://build.opensuse.org/request/show/235044 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=188 --- ...ntly-ignore-sections-starting-with-X.patch | 73 + ...base-of-Bluetooth-company-identifier.patch | 29 + 0001-hwdb-update.patch | 6590 ++ ...-up-error-handling-in-update_catalog.patch | 104 + ...d-switch-if-more-than-1-display-is-c.patch | 168 + ...base-of-Bluetooth-company-identifier.patch | 32 + 0002-hwdb-update.patch | 2058 + ...ly-detect-language-specified-in-line.patch | 99 + 0002-logind-fix-printf-format.patch | 25 + ...t-entire-sections-can-now-be-ignored.patch | 35 + ...-primary-model-string-in-subsystem-m.patch | 51583 ++++++++++++++++ ...base-of-Bluetooth-company-identifier.patch | 38 + ...d-switch-events-for-30s-after-each-s.patch | 174 + ...tion-XDG_CONFIG_HOME-in-systemd.unit.patch | 40 + ...base-of-Bluetooth-company-identifier.patch | 50 + 0004-hwdb-update.patch | 3964 ++ ...il-display-count-if-a-device-has-no-.patch | 45 + ...re-GetMachineAddresses-is-available-.patch | 38 + ...tate-behind-the-D-Bus-API-not-in-the.patch | 137 + ...base-of-Bluetooth-company-identifier.patch | 73 + 0005-hwdb-update.patch | 1560 + ...switch-handling-from-logind-main-to-.patch | 119 + ...add-mir-to-the-list-of-session-types.patch | 90 + ...-the-ExecReload-command-should-be-sy.patch | 39 + ...fix-Display-property-of-user-objects.patch | 147 + ...x-cmdline-switch-inconsistency-betwe.patch | 41 + ...-update-journald-rate-limit-defaults.patch | 28 + ...format-container_uuid-in-UUID-format.patch | 56 + ...-suspending-if-there-are-no-displays.patch | 42 + ...name_to_handle_at-is-not-implemented.patch | 0 ...ynchronize-block-device-event-handli.patch | 83 + ...-the-execution-of-RUN-when-renaming-.patch | 140 + ...-udev-avoid-use-of-uninitialized-err.patch | 37 + systemd-mini-rpmlintrc | 16 +- systemd-mini.changes | 97 +- systemd-mini.spec | 136 +- systemd-rpmlintrc | 16 +- systemd.changes | 97 +- systemd.spec | 136 +- 39 files changed, 68199 insertions(+), 36 deletions(-) create mode 100644 0001-conf-parser-silently-ignore-sections-starting-with-X.patch create mode 100644 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0001-hwdb-update.patch create mode 100644 0001-journal-cleanup-up-error-handling-in-update_catalog.patch create mode 100644 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch create mode 100644 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0002-hwdb-update.patch create mode 100644 0002-journal-properly-detect-language-specified-in-line.patch create mode 100644 0002-logind-fix-printf-format.patch create mode 100644 0002-man-note-that-entire-sections-can-now-be-ignored.patch create mode 100644 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch create mode 100644 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch create mode 100644 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch create mode 100644 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0004-hwdb-update.patch create mode 100644 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch create mode 100644 0004-machined-make-sure-GetMachineAddresses-is-available-.patch create mode 100644 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch create mode 100644 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0005-hwdb-update.patch create mode 100644 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch create mode 100644 0006-login-add-mir-to-the-list-of-session-types.patch create mode 100644 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch create mode 100644 0007-logind-fix-Display-property-of-user-objects.patch create mode 100644 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch create mode 100644 0008-man-update-journald-rate-limit-defaults.patch create mode 100644 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch create mode 100644 0010-logind-allow-suspending-if-there-are-no-displays.patch rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch => 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch (100%) create mode 100644 1017-udev-serialize-synchronize-block-device-event-handli.patch create mode 100644 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch create mode 100644 1019-udev-avoid-use-of-uninitialized-err.patch diff --git a/0001-conf-parser-silently-ignore-sections-starting-with-X.patch b/0001-conf-parser-silently-ignore-sections-starting-with-X.patch new file mode 100644 index 00000000..8ae66062 --- /dev/null +++ b/0001-conf-parser-silently-ignore-sections-starting-with-X.patch @@ -0,0 +1,73 @@ +From 342aea195051633c69ba7b8c02c82a0e5f8cbde4 Mon Sep 17 00:00:00 2001 +From: Michael Marineau +Date: Fri, 16 May 2014 16:58:31 -0700 +Subject: [PATCH] conf-parser: silently ignore sections starting with "X-" + +This allows external tools to keep additional unit information in a +separate section without scaring users with a big warning. +--- + src/shared/conf-parser.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git src/shared/conf-parser.c src/shared/conf-parser.c +index d27b1b7..062b15b 100644 +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c +@@ -204,6 +204,7 @@ static int parse_line(const char* unit, + bool allow_include, + char **section, + unsigned *section_line, ++ bool *section_ignored, + char *l, + void *userdata) { + +@@ -266,7 +267,7 @@ static int parse_line(const char* unit, + + if (sections && !nulstr_contains(sections, n)) { + +- if (!relaxed) ++ if (!relaxed && !startswith(n, "X-")) + log_syntax(unit, LOG_WARNING, filename, line, EINVAL, + "Unknown section '%s'. Ignoring.", n); + +@@ -274,10 +275,12 @@ static int parse_line(const char* unit, + free(*section); + *section = NULL; + *section_line = 0; ++ *section_ignored = true; + } else { + free(*section); + *section = n; + *section_line = line; ++ *section_ignored = false; + } + + return 0; +@@ -285,7 +288,7 @@ static int parse_line(const char* unit, + + if (sections && !*section) { + +- if (!relaxed) ++ if (!relaxed && !*section_ignored) + log_syntax(unit, LOG_WARNING, filename, line, EINVAL, + "Assignment outside of section. Ignoring."); + +@@ -328,6 +331,7 @@ int config_parse(const char *unit, + _cleanup_free_ char *section = NULL, *continuation = NULL; + _cleanup_fclose_ FILE *ours = NULL; + unsigned line = 0, section_line = 0; ++ bool section_ignored = false; + int r; + + assert(filename); +@@ -399,6 +403,7 @@ int config_parse(const char *unit, + allow_include, + §ion, + §ion_line, ++ §ion_ignored, + p, + userdata); + free(c); +-- +1.7.9.2 + diff --git a/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..15de6363 --- /dev/null +++ b/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,29 @@ +From e525326bd07ebf3cabcfd730bc479166723f2d44 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Sun, 2 Mar 2014 10:02:10 -0800 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index db3bc24..0335a71 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -902,3 +902,12 @@ bluetooth:v0129* + + bluetooth:v012A* + ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd ++ ++bluetooth:v012B* ++ ID_VENDOR_FROM_DATABASE=SportIQ ++ ++bluetooth:v012C* ++ ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V. ++ ++bluetooth:v012D* ++ ID_VENDOR_FROM_DATABASE=Sony Corporation +-- +1.7.9.2 + diff --git a/0001-hwdb-update.patch b/0001-hwdb-update.patch new file mode 100644 index 00000000..f487f680 --- /dev/null +++ b/0001-hwdb-update.patch @@ -0,0 +1,6590 @@ +From 6080625dc833144aca0817d1b9fd23f2fbcdf5c2 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 18 Mar 2014 16:17:51 +0100 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 779 +++++++++++++++++-- + hwdb/20-pci-vendor-model.hwdb | 1671 ++++++++++++++++++++++++++++++++++++----- + hwdb/20-usb-vendor-model.hwdb | 119 ++- + 3 files changed, 2330 insertions(+), 239 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index a51a00a..209b89e 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -13558,6 +13558,9 @@ OUI:40D8551CA* + OUI:40D8551CB* + ID_OUI_FROM_DATABASE=MG S.r.l. + ++OUI:40D8551CC* ++ ID_OUI_FROM_DATABASE=NKT Photonics A/S ++ + OUI:40D8551CD* + ID_OUI_FROM_DATABASE=YXLON International A/S + +@@ -13630,6 +13633,9 @@ OUI:40D8551E3* + OUI:40D8551E4* + ID_OUI_FROM_DATABASE=STEK Ltd + ++OUI:40D85550D* ++ ID_OUI_FROM_DATABASE=Shenzhen MaiWei Cable TV Equipment CO.,LTD. ++ + OUI:40D855EE6* + ID_OUI_FROM_DATABASE=Narinet, Inc. + +@@ -13703,7 +13709,7 @@ OUI:000016* + ID_OUI_FROM_DATABASE=DU PONT PIXEL SYSTEMS . + + OUI:000017* +- ID_OUI_FROM_DATABASE=TEKELEC ++ ID_OUI_FROM_DATABASE=Oracle + + OUI:000018* + ID_OUI_FROM_DATABASE=WEBSTER COMPUTER CORPORATION +@@ -18029,7 +18035,7 @@ OUI:0005BB* + ID_OUI_FROM_DATABASE=Myspace AB + + OUI:0005BC* +- ID_OUI_FROM_DATABASE=Resorsys Ltd. ++ ID_OUI_FROM_DATABASE=Resource Data Management Ltd + + OUI:0005BD* + ID_OUI_FROM_DATABASE=ROAX BV +@@ -18977,7 +18983,7 @@ OUI:0006F7* + ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. + + OUI:0006F8* +- ID_OUI_FROM_DATABASE=CPU Technology, Inc. ++ ID_OUI_FROM_DATABASE=The Boeing Company + + OUI:0006F9* + ID_OUI_FROM_DATABASE=Mitsui Zosen Systems Research Inc. +@@ -19337,7 +19343,7 @@ OUI:00076F* + ID_OUI_FROM_DATABASE=Synoptics Limited + + OUI:000770* +- ID_OUI_FROM_DATABASE=Locusnetworks Corporation ++ ID_OUI_FROM_DATABASE=Ubiquoss Inc + + OUI:000771* + ID_OUI_FROM_DATABASE=Embedded System Corporation +@@ -19616,7 +19622,7 @@ OUI:0007CC* + ID_OUI_FROM_DATABASE=Kaba Benzing GmbH + + OUI:0007CD* +- ID_OUI_FROM_DATABASE=NMTEL Co., Ltd. ++ ID_OUI_FROM_DATABASE=Kumoh Electronic Co, Ltd + + OUI:0007CE* + ID_OUI_FROM_DATABASE=Cabletime Limited +@@ -21584,7 +21590,7 @@ OUI:000A78* + ID_OUI_FROM_DATABASE=OLITEC + + OUI:000A79* +- ID_OUI_FROM_DATABASE=Allied Telesis K.K. corega division ++ ID_OUI_FROM_DATABASE=corega K.K + + OUI:000A7A* + ID_OUI_FROM_DATABASE=Kyoritsu Electric Co., Ltd. +@@ -22643,7 +22649,7 @@ OUI:000BDA* + ID_OUI_FROM_DATABASE=EyeCross Co.,Inc. + + OUI:000BDB* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:000BDC* + ID_OUI_FROM_DATABASE=AKCP +@@ -23774,7 +23780,7 @@ OUI:000D55* + ID_OUI_FROM_DATABASE=SANYCOM Technology Co.,Ltd + + OUI:000D56* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:000D57* + ID_OUI_FROM_DATABASE=Fujitsu I-Network Systems Limited. +@@ -25118,7 +25124,7 @@ OUI:000F1E* + ID_OUI_FROM_DATABASE=Chengdu KT Electric Co.of High & New Technology + + OUI:000F1F* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:000F20* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company +@@ -26435,7 +26441,7 @@ OUI:0010D5* + ID_OUI_FROM_DATABASE=IMASDE CANARIAS, S.A. + + OUI:0010D6* +- ID_OUI_FROM_DATABASE=ITT - A/CD ++ ID_OUI_FROM_DATABASE=Exelis + + OUI:0010D7* + ID_OUI_FROM_DATABASE=ARGOSY RESEARCH INC. +@@ -26762,7 +26768,7 @@ OUI:001142* + ID_OUI_FROM_DATABASE=e-SMARTCOM INC. + + OUI:001143* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001144* + ID_OUI_FROM_DATABASE=Assurance Technology Corp +@@ -27518,7 +27524,7 @@ OUI:00123E* + ID_OUI_FROM_DATABASE=ERUNE technology Co., Ltd. + + OUI:00123F* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001240* + ID_OUI_FROM_DATABASE=AMOI ELECTRONICS CO.,LTD +@@ -28439,7 +28445,7 @@ OUI:001371* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + + OUI:001372* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001373* + ID_OUI_FROM_DATABASE=BLwave Electronics Co., Ltd +@@ -28967,7 +28973,7 @@ OUI:001421* + ID_OUI_FROM_DATABASE=Total Wireless Technologies Pte. Ltd. + + OUI:001422* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001423* + ID_OUI_FROM_DATABASE=J-S Co. NEUROCOM +@@ -30104,7 +30110,7 @@ OUI:00159C* + ID_OUI_FROM_DATABASE=B-KYUNG SYSTEM Co.,Ltd. + + OUI:00159D* +- ID_OUI_FROM_DATABASE=Minicom Advanced Systems ltd ++ ID_OUI_FROM_DATABASE=Tripp Lite + + OUI:00159E* + ID_OUI_FROM_DATABASE=Mad Catz Interactive Inc +@@ -30224,7 +30230,7 @@ OUI:0015C4* + ID_OUI_FROM_DATABASE=FLOVEL CO., LTD. + + OUI:0015C5* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:0015C6* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +@@ -30914,7 +30920,7 @@ OUI:0016AA* + ID_OUI_FROM_DATABASE=Kei Communication Technology Inc. + + OUI:0016AB* +- ID_OUI_FROM_DATABASE=PBI-Dansensor A/S ++ ID_OUI_FROM_DATABASE=Dansensor A/S + + OUI:0016AC* + ID_OUI_FROM_DATABASE=Toho Technology Corp. +@@ -32342,7 +32348,7 @@ OUI:00188A* + ID_OUI_FROM_DATABASE=Infinova LLC + + OUI:00188B* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:00188C* + ID_OUI_FROM_DATABASE=Mobile Action Technology Inc. +@@ -35348,7 +35354,7 @@ OUI:001C74* + ID_OUI_FROM_DATABASE=Syswan Technologies Inc. + + OUI:001C75* +- ID_OUI_FROM_DATABASE=RF Systems GmbH ++ ID_OUI_FROM_DATABASE=Segnet Ltd. + + OUI:001C76* + ID_OUI_FROM_DATABASE=The Wandsworth Group Ltd +@@ -35831,7 +35837,7 @@ OUI:001D15* + ID_OUI_FROM_DATABASE=Shenzhen Dolphin Electronic Co., Ltd + + OUI:001D16* +- ID_OUI_FROM_DATABASE=Efixo ++ ID_OUI_FROM_DATABASE=SFR + + OUI:001D17* + ID_OUI_FROM_DATABASE=Digital Sky Corporation +@@ -35957,7 +35963,7 @@ OUI:001D3F* + ID_OUI_FROM_DATABASE=Mitron Pty Ltd + + OUI:001D40* +- ID_OUI_FROM_DATABASE=Living Independently Group, Inc. ++ ID_OUI_FROM_DATABASE=Intel – GE Care Innovations LLC + + OUI:001D41* + ID_OUI_FROM_DATABASE=Hardy Instruments +@@ -35969,7 +35975,7 @@ OUI:001D43* + ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. + + OUI:001D44* +- ID_OUI_FROM_DATABASE=Krohne ++ ID_OUI_FROM_DATABASE=KROHNE + + OUI:001D45* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +@@ -40316,7 +40322,7 @@ OUI:0022EE* + ID_OUI_FROM_DATABASE=Algo Communication Products Ltd + + OUI:0022EF* +- ID_OUI_FROM_DATABASE=Ibis Tek, LLC ++ ID_OUI_FROM_DATABASE=iWDL Technologies + + OUI:0022F0* + ID_OUI_FROM_DATABASE=3 Greens Aviation Limited +@@ -40361,7 +40367,7 @@ OUI:0022FE* + ID_OUI_FROM_DATABASE=Microprocessor Designs Inc + + OUI:0022FF* +- ID_OUI_FROM_DATABASE=NIVIS LLC ++ ID_OUI_FROM_DATABASE=iWDL Technologies + + OUI:002300* + ID_OUI_FROM_DATABASE=Cayee Computer Ltd. +@@ -41258,7 +41264,7 @@ OUI:00242E* + ID_OUI_FROM_DATABASE=Datastrip Inc. + + OUI:00242F* +- ID_OUI_FROM_DATABASE=VirtenSys Inc ++ ID_OUI_FROM_DATABASE=Micron + + OUI:002430* + ID_OUI_FROM_DATABASE=Ruby Tech Corp. +@@ -43028,7 +43034,7 @@ OUI:002686* + ID_OUI_FROM_DATABASE=Quantenna Communcations, Inc. + + OUI:002687* +- ID_OUI_FROM_DATABASE=ALLIED TELESIS, K.K corega division. ++ ID_OUI_FROM_DATABASE=Corega K.K + + OUI:002688* + ID_OUI_FROM_DATABASE=Juniper Networks +@@ -46118,7 +46124,7 @@ OUI:00605F* + ID_OUI_FROM_DATABASE=NIPPON UNISOFT CORPORATION + + OUI:006060* +- ID_OUI_FROM_DATABASE=DAWNING TECHNOLOGIES, INC. ++ ID_OUI_FROM_DATABASE=Data Innovations North America + + OUI:006061* + ID_OUI_FROM_DATABASE=WHISTLE COMMUNICATIONS CORP. +@@ -46621,12 +46627,18 @@ OUI:0070B0* + OUI:0070B3* + ID_OUI_FROM_DATABASE=DATA RECALL LTD. + ++OUI:0071CC* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:00738D* + ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp + + OUI:0073E0* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:007532* ++ ID_OUI_FROM_DATABASE=INID BV ++ + OUI:0075E1* + ID_OUI_FROM_DATABASE=Ampt, LLC + +@@ -48623,7 +48635,7 @@ OUI:00A086* + ID_OUI_FROM_DATABASE=AMBER WAVE SYSTEMS, INC. + + OUI:00A087* +- ID_OUI_FROM_DATABASE=Zarlink Semiconductor Ltd. ++ ID_OUI_FROM_DATABASE=Microsemi Corporation + + OUI:00A088* + ID_OUI_FROM_DATABASE=ESSENTIAL COMMUNICATIONS +@@ -49009,6 +49021,9 @@ OUI:00AA3C* + OUI:00AA70* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:00ACE0* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:00B009* + ID_OUI_FROM_DATABASE=Grass Valley Group + +@@ -51550,6 +51565,9 @@ OUI:00E0FE* + OUI:00E0FF* + ID_OUI_FROM_DATABASE=SECURITY DYNAMICS TECHNOLOGIES, Inc. + ++OUI:00E16D* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:00E175* + ID_OUI_FROM_DATABASE=AK-Systems Ltd + +@@ -51703,6 +51721,9 @@ OUI:0444A1* + OUI:044665* + ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. + ++OUI:04489A* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:044A50* + ID_OUI_FROM_DATABASE=Ramaxel Technology (Shenzhen) limited company + +@@ -51727,6 +51748,9 @@ OUI:045453* + OUI:0455CA* + ID_OUI_FROM_DATABASE=BriView (Xiamen) Corp. + ++OUI:04572F* ++ ID_OUI_FROM_DATABASE=Sertel Electronics UK Ltd ++ + OUI:04586F* + ID_OUI_FROM_DATABASE=Sichuan Whayer information industry Co.,LTD + +@@ -51892,6 +51916,9 @@ OUI:04E548* + OUI:04E662* + ID_OUI_FROM_DATABASE=Acroname Inc. + ++OUI:04E676* ++ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. ++ + OUI:04E9E5* + ID_OUI_FROM_DATABASE=PJRC.COM, LLC + +@@ -52486,6 +52513,9 @@ OUI:085AE0* + OUI:085B0E* + ID_OUI_FROM_DATABASE=Fortinet, Inc. + ++OUI:085DDD* ++ ID_OUI_FROM_DATABASE=Mercury Corporation ++ + OUI:08606E* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + +@@ -52504,6 +52534,9 @@ OUI:086DF2* + OUI:087045* + ID_OUI_FROM_DATABASE=Apple + ++OUI:0874F6* ++ ID_OUI_FROM_DATABASE=Winterhalter Gastronom GmbH ++ + OUI:087572* + ID_OUI_FROM_DATABASE=Obelux Oy + +@@ -52573,6 +52606,9 @@ OUI:08ACA5* + OUI:08AF78* + ID_OUI_FROM_DATABASE=Totus Solutions, Inc. + ++OUI:08B2A3* ++ ID_OUI_FROM_DATABASE=Cynny Italia S.r.L. ++ + OUI:08B4CF* + ID_OUI_FROM_DATABASE=Abicom International + +@@ -52615,6 +52651,9 @@ OUI:08D5C0* + OUI:08D833* + ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co,.Ltd + ++OUI:08DF1F* ++ ID_OUI_FROM_DATABASE=Bose Corporation ++ + OUI:08E5DA* + ID_OUI_FROM_DATABASE=NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD. + +@@ -52687,6 +52726,9 @@ OUI:0C191F* + OUI:0C1DC2* + ID_OUI_FROM_DATABASE=SeAH Networks + ++OUI:0C2026* ++ ID_OUI_FROM_DATABASE=noax Technologies AG ++ + OUI:0C2724* + ID_OUI_FROM_DATABASE=Cisco + +@@ -52756,6 +52798,9 @@ OUI:0C5CD8* + OUI:0C6076* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:0C63FC* ++ ID_OUI_FROM_DATABASE=Nanjing Signway Technology Co., Ltd ++ + OUI:0C6803* + ID_OUI_FROM_DATABASE=Cisco + +@@ -52984,6 +53029,9 @@ OUI:1000FD* + OUI:1001CA* + ID_OUI_FROM_DATABASE=Ashley Butterworth + ++OUI:1005CA* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:10090C* + ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. + +@@ -53008,6 +53056,9 @@ OUI:100E2B* + OUI:100E7E* + ID_OUI_FROM_DATABASE=Juniper networks + ++OUI:100F18* ++ ID_OUI_FROM_DATABASE=Fu Gang Electronic(KunShan)CO.,LTD ++ + OUI:1010B6* + ID_OUI_FROM_DATABASE=McCain Inc + +@@ -53158,6 +53209,9 @@ OUI:1083D2* + OUI:10880F* + ID_OUI_FROM_DATABASE=Daruma Telecomunicações e Informática S.A. + ++OUI:1088CE* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:108CCF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -53317,6 +53371,9 @@ OUI:1423D7* + OUI:142BD2* + ID_OUI_FROM_DATABASE=Armtel Ltd. + ++OUI:142BD6* ++ ID_OUI_FROM_DATABASE=Guangdong Appscomm Co.,Ltd ++ + OUI:142D27* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -53329,6 +53386,9 @@ OUI:142DF5* + OUI:14307A* + ID_OUI_FROM_DATABASE=Avermetrics + ++OUI:1430C6* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:14358B* + ID_OUI_FROM_DATABASE=Mediabridge Products, LLC. + +@@ -53344,6 +53404,9 @@ OUI:14373B* + OUI:143AEA* + ID_OUI_FROM_DATABASE=Dynapower Company LLC + ++OUI:143DF2* ++ ID_OUI_FROM_DATABASE=Beijing Shidai Hongyuan Network Communication Co.,Ltd ++ + OUI:143E60* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + +@@ -53368,6 +53431,9 @@ OUI:144C1A* + OUI:145412* + ID_OUI_FROM_DATABASE=Entis Co., Ltd. + ++OUI:145645* ++ ID_OUI_FROM_DATABASE=Savitech Corp. ++ + OUI:145A05* + ID_OUI_FROM_DATABASE=Apple + +@@ -53440,6 +53506,9 @@ OUI:14B126* + OUI:14B1C8* + ID_OUI_FROM_DATABASE=InfiniWing, Inc. + ++OUI:14B484* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:14B73D* + ID_OUI_FROM_DATABASE=ARCHEAN Technologies + +@@ -53489,7 +53558,7 @@ OUI:14EB33* + ID_OUI_FROM_DATABASE=BSMediasoft Co., Ltd. + + OUI:14EDA5* +- ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme ++ ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme + + OUI:14EE9D* + ID_OUI_FROM_DATABASE=AirNav Systems LLC +@@ -53572,6 +53641,9 @@ OUI:182032* + OUI:1820A6* + ID_OUI_FROM_DATABASE=Sage Co., Ltd. + ++OUI:18227E* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:182666* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53726,7 +53798,7 @@ OUI:18A905* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + + OUI:18A99B* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:18AA45* + ID_OUI_FROM_DATABASE=Fon Technology +@@ -53779,6 +53851,9 @@ OUI:18CC23* + OUI:18D071* + ID_OUI_FROM_DATABASE=DASAN SMC, Inc. + ++OUI:18D5B6* ++ ID_OUI_FROM_DATABASE=SMG Holdings LLC ++ + OUI:18D66A* + ID_OUI_FROM_DATABASE=Inmarsat + +@@ -53824,6 +53899,9 @@ OUI:18F87A* + OUI:18FA6F* + ID_OUI_FROM_DATABASE=ISC applied systems corp + ++OUI:18FB7B* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:18FC9F* + ID_OUI_FROM_DATABASE=Changhe Electronics Co., Ltd. + +@@ -53863,9 +53941,15 @@ OUI:1C184A* + OUI:1C19DE* + ID_OUI_FROM_DATABASE=eyevis GmbH + ++OUI:1C1AC0* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:1C1B68* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:1C1CFD* ++ ID_OUI_FROM_DATABASE=Dalian Hi-Think Computer Technology, Corp ++ + OUI:1C1D67* + ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd + +@@ -54157,6 +54241,9 @@ OUI:201D03* + OUI:2021A5* + ID_OUI_FROM_DATABASE=LG Electronics Inc + ++OUI:202564* ++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION ++ + OUI:202598* + ID_OUI_FROM_DATABASE=Teleview + +@@ -54202,6 +54289,9 @@ OUI:204E6B* + OUI:204E7F* + ID_OUI_FROM_DATABASE=NETGEAR + ++OUI:2053CA* ++ ID_OUI_FROM_DATABASE=Risk Technology Ltd ++ + OUI:205476* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + +@@ -54211,6 +54301,9 @@ OUI:205721* + OUI:2059A0* + ID_OUI_FROM_DATABASE=Paragon Technologies Inc. + ++OUI:205A00* ++ ID_OUI_FROM_DATABASE=Coval ++ + OUI:205B5E* + ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd + +@@ -54265,12 +54358,18 @@ OUI:20918A* + OUI:2091D9* + ID_OUI_FROM_DATABASE=I'M SPA + ++OUI:209AE9* ++ ID_OUI_FROM_DATABASE=Volacomm Co., Ltd ++ + OUI:209BA5* + ID_OUI_FROM_DATABASE=JIAXING GLEAD Electronics Co.,Ltd + + OUI:20A2E7* + ID_OUI_FROM_DATABASE=Lee-Dickens Ltd + ++OUI:20A787* ++ ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited ++ + OUI:20AA25* + ID_OUI_FROM_DATABASE=IP-NET LLC + +@@ -54394,6 +54493,9 @@ OUI:24050F* + OUI:240917* + ID_OUI_FROM_DATABASE=Devlin Electronics Limited + ++OUI:240A11* ++ ID_OUI_FROM_DATABASE=TCT Mobile Limited ++ + OUI:240A64* + ID_OUI_FROM_DATABASE=AzureWaveTechnologies,Inc + +@@ -54691,9 +54793,15 @@ OUI:282CB2* + OUI:283152* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:2832C5* ++ ID_OUI_FROM_DATABASE=Humax.co.,ltd ++ + OUI:283410* + ID_OUI_FROM_DATABASE=Enigma Diagnostics Limited + ++OUI:2834A2* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:283737* + ID_OUI_FROM_DATABASE=Apple + +@@ -54778,6 +54886,9 @@ OUI:2872F0* + OUI:287994* + ID_OUI_FROM_DATABASE=Realplay Digital Technology(Shenzhen) Co.,Ltd + ++OUI:288023* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:28852D* + ID_OUI_FROM_DATABASE=Touch Networks + +@@ -55024,6 +55135,9 @@ OUI:2C3731* + OUI:2C3996* + ID_OUI_FROM_DATABASE=SAGEMCOM + ++OUI:2C39C1* ++ ID_OUI_FROM_DATABASE=Ciena Corporation ++ + OUI:2C3A28* + ID_OUI_FROM_DATABASE=Fagor Electrónica + +@@ -55069,6 +55183,9 @@ OUI:2C5A05* + OUI:2C5AA3* + ID_OUI_FROM_DATABASE=PROMATE ELECTRONIC CO.LTD + ++OUI:2C5BE1* ++ ID_OUI_FROM_DATABASE=Centripetal Networks, Inc ++ + OUI:2C5D93* + ID_OUI_FROM_DATABASE=Ruckus Wireless + +@@ -55117,6 +55234,9 @@ OUI:2C8065* + OUI:2C8158* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd + ++OUI:2C8A72* ++ ID_OUI_FROM_DATABASE=HTC Corporation ++ + OUI:2C8BF2* + ID_OUI_FROM_DATABASE=Hitachi Metals America Ltd + +@@ -55135,6 +55255,9 @@ OUI:2C957F* + OUI:2C9717* + ID_OUI_FROM_DATABASE=I.C.Y. B.V. + ++OUI:2C9AA4* ++ ID_OUI_FROM_DATABASE=NGI SpA ++ + OUI:2C9E5F* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -55327,6 +55450,9 @@ OUI:3055ED* + OUI:3057AC* + ID_OUI_FROM_DATABASE=IRLAB LTD. + ++OUI:3059B7* ++ ID_OUI_FROM_DATABASE=Microsoft ++ + OUI:305D38* + ID_OUI_FROM_DATABASE=Beissbarth + +@@ -55387,6 +55513,9 @@ OUI:308CFB* + OUI:3090AB* + ID_OUI_FROM_DATABASE=Apple + ++OUI:30918F* ++ ID_OUI_FROM_DATABASE=Technicolor ++ + OUI:3092F6* + ID_OUI_FROM_DATABASE=SHANGHAI SUNMON COMMUNICATION TECHNOGY CO.,LTD + +@@ -55417,12 +55546,18 @@ OUI:30B5C2* + OUI:30C750* + ID_OUI_FROM_DATABASE=MIC Technology Group + ++OUI:30C7AE* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:30C82A* + ID_OUI_FROM_DATABASE=Wi-Next s.r.l. + + OUI:30CDA7* + ID_OUI_FROM_DATABASE=Samsung Electronics ITS, Printer division + ++OUI:30D17E* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:30D357* + ID_OUI_FROM_DATABASE=Logosol, Inc. + +@@ -55462,6 +55597,9 @@ OUI:30F70D* + OUI:30F7C5* + ID_OUI_FROM_DATABASE=Apple + ++OUI:30F7D7* ++ ID_OUI_FROM_DATABASE=Thread Technology Co., Ltd ++ + OUI:30F9ED* + ID_OUI_FROM_DATABASE=Sony Corporation + +@@ -55474,6 +55612,9 @@ OUI:3407FB* + OUI:340804* + ID_OUI_FROM_DATABASE=D-Link Corporation + ++OUI:340AFF* ++ ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd ++ + OUI:3413A8* + ID_OUI_FROM_DATABASE=Mediplan Limited + +@@ -55484,7 +55625,7 @@ OUI:34159E* + ID_OUI_FROM_DATABASE=Apple + + OUI:3417EB* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:341A4C* + ID_OUI_FROM_DATABASE=SHENZHEN WEIBU ELECTRONICS CO.,LTD. +@@ -55534,6 +55675,9 @@ OUI:344F5C* + OUI:344F69* + ID_OUI_FROM_DATABASE=EKINOPS SAS + ++OUI:3451AA* ++ ID_OUI_FROM_DATABASE=JID GLOBAL ++ + OUI:3451C9* + ID_OUI_FROM_DATABASE=Apple + +@@ -55543,6 +55687,9 @@ OUI:345B11* + OUI:345C40* + ID_OUI_FROM_DATABASE=Cargt Holdings LLC + ++OUI:345D10* ++ ID_OUI_FROM_DATABASE=Wytek ++ + OUI:346178* + ID_OUI_FROM_DATABASE=The Boeing Company + +@@ -55573,6 +55720,9 @@ OUI:347E39* + OUI:348137* + ID_OUI_FROM_DATABASE=UNICARD SA + ++OUI:3481C4* ++ ID_OUI_FROM_DATABASE=AVM GmbH ++ + OUI:3482DE* + ID_OUI_FROM_DATABASE=Kayo Technology, Inc. + +@@ -55741,6 +55891,9 @@ OUI:34E0D7* + OUI:34E2FD* + ID_OUI_FROM_DATABASE=Apple + ++OUI:34E42A* ++ ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. ++ + OUI:34EF44* + ID_OUI_FROM_DATABASE=2Wire + +@@ -55933,6 +56086,9 @@ OUI:38B74D* + OUI:38BB23* + ID_OUI_FROM_DATABASE=OzVision America LLC + ++OUI:38BB3C* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:38BC1A* + ID_OUI_FROM_DATABASE=Meizu technology co.,ltd + +@@ -56224,6 +56380,9 @@ OUI:3CA72B* + OUI:3CA9F4* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:3CAB8E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:3CB15B* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -56311,6 +56470,9 @@ OUI:3CF72A* + OUI:3CF748* + ID_OUI_FROM_DATABASE=Shenzhen Linsn Technology Development Co.,Ltd + ++OUI:3CF808* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:3CFB96* + ID_OUI_FROM_DATABASE=Emcraft Systems LLC + +@@ -56341,6 +56503,9 @@ OUI:4013D9* + OUI:401597* + ID_OUI_FROM_DATABASE=Protect America, Inc. + ++OUI:40167E* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:40169F* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. + +@@ -56392,6 +56557,9 @@ OUI:404022* + OUI:40406B* + ID_OUI_FROM_DATABASE=Icomera + ++OUI:4045DA* ++ ID_OUI_FROM_DATABASE=Spreadtrum Communications (Shanghai) Co., Ltd. ++ + OUI:404A03* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + +@@ -56527,6 +56695,9 @@ OUI:40B2C8* + OUI:40B395* + ID_OUI_FROM_DATABASE=Apple + ++OUI:40B3CD* ++ ID_OUI_FROM_DATABASE=Chiyoda Electronics Co.,Ltd. ++ + OUI:40B3FC* + ID_OUI_FROM_DATABASE=Logital Co. Limited + +@@ -56596,6 +56767,9 @@ OUI:40F02F* + OUI:40F14C* + ID_OUI_FROM_DATABASE=ISE Europe SPRL + ++OUI:40F201* ++ ID_OUI_FROM_DATABASE=SAGEMCOM ++ + OUI:40F2E9* + ID_OUI_FROM_DATABASE=IBM + +@@ -56632,6 +56806,9 @@ OUI:44184F* + OUI:4419B6* + ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. + ++OUI:441E91* ++ ID_OUI_FROM_DATABASE=ARVIDA Intelligent Electronics Technology Co.,Ltd. ++ + OUI:441EA1* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -56776,6 +56953,9 @@ OUI:448312* + OUI:448500* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:4486C1* ++ ID_OUI_FROM_DATABASE=Siemens Low Voltage & Products ++ + OUI:4487FC* + ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. + +@@ -56860,6 +57040,9 @@ OUI:44D2CA* + OUI:44D3CA* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:44D4E0* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:44D63D* + ID_OUI_FROM_DATABASE=Talari Networks + +@@ -56920,6 +57103,9 @@ OUI:48174C* + OUI:481842* + ID_OUI_FROM_DATABASE=Shanghai Winaas Co. Equipment Co. Ltd. + ++OUI:481A84* ++ ID_OUI_FROM_DATABASE=Pointer Telocation Ltd ++ + OUI:481BD2* + ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. + +@@ -56950,9 +57136,15 @@ OUI:4846F1* + OUI:4846FB* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:4851B7* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:485261* + ID_OUI_FROM_DATABASE=SOREEL + ++OUI:485929* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:485A3F* + ID_OUI_FROM_DATABASE=WISOL + +@@ -56971,6 +57163,9 @@ OUI:4860BC* + OUI:4861A3* + ID_OUI_FROM_DATABASE=Concern "Axion" JSC + ++OUI:486276* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:486B91* + ID_OUI_FROM_DATABASE=Fleetwood Group Inc. + +@@ -56986,6 +57181,9 @@ OUI:487119* + OUI:48746E* + ID_OUI_FROM_DATABASE=Apple + ++OUI:488244* ++ ID_OUI_FROM_DATABASE=Life Fitness / Div. of Brunswick ++ + OUI:488E42* + ID_OUI_FROM_DATABASE=DIGALOG GmbH + +@@ -57046,15 +57244,24 @@ OUI:48CB6E* + OUI:48D0CF* + ID_OUI_FROM_DATABASE=Universal Electronics, Inc. + ++OUI:48D18E* ++ ID_OUI_FROM_DATABASE=Metis Communication Co.,Ltd ++ + OUI:48D224* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + + OUI:48D54C* + ID_OUI_FROM_DATABASE=Jeda Networks + ++OUI:48D705* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:48D7FF* + ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH + ++OUI:48D855* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY ++ + OUI:48D8FE* + ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. + +@@ -57136,6 +57343,9 @@ OUI:4C0F6E* + OUI:4C0FC7* + ID_OUI_FROM_DATABASE=Earda Electronics Co.,Ltd + ++OUI:4C11BF* ++ ID_OUI_FROM_DATABASE=ZHEJIANG DAHUA TECHNOLOGY CO.,LTD. ++ + OUI:4C1480* + ID_OUI_FROM_DATABASE=NOREGON SYSTEMS, INC + +@@ -57178,6 +57388,9 @@ OUI:4C322D* + OUI:4C32D9* + ID_OUI_FROM_DATABASE=M Rutty Holdings Pty. Ltd. + ++OUI:4C3909* ++ ID_OUI_FROM_DATABASE=HPL Electric & Power Private Limited ++ + OUI:4C3910* + ID_OUI_FROM_DATABASE=Newtek Electronics co., Ltd. + +@@ -57478,9 +57691,15 @@ OUI:505663* + OUI:5056A8* + ID_OUI_FROM_DATABASE=Jolla Ltd + ++OUI:5056BF* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD ++ + OUI:5057A8* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:505800* ++ ID_OUI_FROM_DATABASE=WyTec International, Inc. ++ + OUI:505AC6* + ID_OUI_FROM_DATABASE=GUANGDONG SUPER TELECOM CO.,LTD. + +@@ -57601,6 +57820,9 @@ OUI:50C271* + OUI:50C58D* + ID_OUI_FROM_DATABASE=Juniper Networks + ++OUI:50C7BF* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:50C971* + ID_OUI_FROM_DATABASE=GN Netcom A/S + +@@ -57706,6 +57928,9 @@ OUI:54271E* + OUI:542A9C* + ID_OUI_FROM_DATABASE=LSY Defense, LLC. + ++OUI:542AA2* ++ ID_OUI_FROM_DATABASE=Alpha Networks Inc. ++ + OUI:542CEA* + ID_OUI_FROM_DATABASE=PROTECTRON + +@@ -57739,9 +57964,15 @@ OUI:544408* + OUI:54466B* + ID_OUI_FROM_DATABASE=Shenzhen CZTIC Electronic Technology Co., Ltd + ++OUI:544A00* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:544A05* + ID_OUI_FROM_DATABASE=wenglor sensoric gmbh + ++OUI:544A16* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:5453ED* + ID_OUI_FROM_DATABASE=Sony Corporation + +@@ -57844,6 +58075,9 @@ OUI:54B620* + OUI:54BEF7* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + ++OUI:54C80F* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:54CDA7* + ID_OUI_FROM_DATABASE=Fujian Shenzhou Electronic Co.,Ltd + +@@ -57886,6 +58120,12 @@ OUI:54E6FC* + OUI:54EAA8* + ID_OUI_FROM_DATABASE=Apple, Inc. + ++OUI:54EE75* ++ ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. ++ ++OUI:54EF92* ++ ID_OUI_FROM_DATABASE=Shenzhen Elink Technology Co., LTD ++ + OUI:54F5B6* + ID_OUI_FROM_DATABASE=ORIENTAL PACIFIC INTERNATIONAL LIMITED + +@@ -57928,12 +58168,18 @@ OUI:581CBD* + OUI:581D91* + ID_OUI_FROM_DATABASE=Advanced Mobile Telecom co.,ltd. + ++OUI:581F67* ++ ID_OUI_FROM_DATABASE=Open-m technology limited ++ + OUI:581FAA* + ID_OUI_FROM_DATABASE=Apple + + OUI:581FEF* + ID_OUI_FROM_DATABASE=Tuttnaer LTD + ++OUI:58238C* ++ ID_OUI_FROM_DATABASE=Technicolor CH USA ++ + OUI:582EFE* + ID_OUI_FROM_DATABASE=Lighting Science Group + +@@ -58123,6 +58369,9 @@ OUI:58DB8D* + OUI:58E02C* + ID_OUI_FROM_DATABASE=Micro Technic A/S + ++OUI:58E326* ++ ID_OUI_FROM_DATABASE=Compass Technologies Inc. ++ + OUI:58E476* + ID_OUI_FROM_DATABASE=CENTRON COMMUNICATIONS TECHNOLOGIES FUJIAN CO.,LTD + +@@ -58213,6 +58462,9 @@ OUI:5C260A* + OUI:5C2AEF* + ID_OUI_FROM_DATABASE=Open Access Pty Ltd + ++OUI:5C313E* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:5C3327* + ID_OUI_FROM_DATABASE=Spazio Italia srl + +@@ -58411,6 +58663,9 @@ OUI:5CF370* + OUI:5CF3FC* + ID_OUI_FROM_DATABASE=IBM Corp + ++OUI:5CF4AB* ++ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp ++ + OUI:5CF50D* + ID_OUI_FROM_DATABASE=Institute of microelectronic applications + +@@ -58561,6 +58816,9 @@ OUI:60748D* + OUI:607688* + ID_OUI_FROM_DATABASE=Velodyne + ++OUI:60812B* ++ ID_OUI_FROM_DATABASE=Custom Control Concepts ++ + OUI:6083B2* + ID_OUI_FROM_DATABASE=GkWare e.K. + +@@ -58585,9 +58843,15 @@ OUI:608C2B* + OUI:608D17* + ID_OUI_FROM_DATABASE=Sentrus Government Systems Division, Inc + ++OUI:608F5C* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:609084* + ID_OUI_FROM_DATABASE=DSSD Inc + ++OUI:609217* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:609AA4* + ID_OUI_FROM_DATABASE=GVI SECURITY INC. + +@@ -58615,6 +58879,9 @@ OUI:60B3C4* + OUI:60B606* + ID_OUI_FROM_DATABASE=Phorus + ++OUI:60B617* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:60B933* + ID_OUI_FROM_DATABASE=Deutron Electronics Corp. + +@@ -58633,6 +58900,9 @@ OUI:60BD91* + OUI:60BEB5* + ID_OUI_FROM_DATABASE=Motorola Mobility LLC + ++OUI:60C1CB* ++ ID_OUI_FROM_DATABASE=Fujian Great Power PLC Equipment Co.,Ltd ++ + OUI:60C397* + ID_OUI_FROM_DATABASE=2Wire Inc + +@@ -58681,6 +58951,9 @@ OUI:60DE44* + OUI:60E00E* + ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD + ++OUI:60E327* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:60E956* + ID_OUI_FROM_DATABASE=Ayla Networks, Inc + +@@ -58753,6 +59026,9 @@ OUI:640F28* + OUI:641084* + ID_OUI_FROM_DATABASE=HEXIUM Technical Development Co., Ltd. + ++OUI:641225* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:64168D* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -58966,6 +59242,9 @@ OUI:64A3CB* + OUI:64A769* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:64A7DD* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:64A837* + ID_OUI_FROM_DATABASE=Juni Korea Co., Ltd + +@@ -59062,6 +59341,9 @@ OUI:64E8E6* + OUI:64E950* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:64EAC5* ++ ID_OUI_FROM_DATABASE=SiboTech Automation Co., Ltd. ++ + OUI:64EB8C* + ID_OUI_FROM_DATABASE=Seiko Epson Corporation + +@@ -59131,6 +59413,9 @@ OUI:681FD8* + OUI:68234B* + ID_OUI_FROM_DATABASE=Nihon Dengyo Kousaku + ++OUI:6828BA* ++ ID_OUI_FROM_DATABASE=Dejai ++ + OUI:682DDC* + ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD + +@@ -59188,6 +59473,9 @@ OUI:6869F2* + OUI:686E23* + ID_OUI_FROM_DATABASE=Wi3 Inc. + ++OUI:686E48* ++ ID_OUI_FROM_DATABASE=Prophet Electronic Technology Corp.,Ltd ++ + OUI:687251* + ID_OUI_FROM_DATABASE=Ubiquiti Networks + +@@ -59332,6 +59620,9 @@ OUI:68DB96* + OUI:68DCE8* + ID_OUI_FROM_DATABASE=PacketStorm Communications + ++OUI:68DFDD* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:68E41F* + ID_OUI_FROM_DATABASE=Unglaube Identech GmbH + +@@ -59377,12 +59668,18 @@ OUI:6C0E0D* + OUI:6C0F6A* + ID_OUI_FROM_DATABASE=JDC Tech Co., Ltd. + ++OUI:6C14F7* ++ ID_OUI_FROM_DATABASE=Erhardt+Leimer GmbH ++ + OUI:6C15F9* + ID_OUI_FROM_DATABASE=Nautronix Limited + + OUI:6C1811* + ID_OUI_FROM_DATABASE=Decatur Electronics + ++OUI:6C198F* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:6C2056* + ID_OUI_FROM_DATABASE=Cisco + +@@ -59395,6 +59692,9 @@ OUI:6C23B9* + OUI:6C2995* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:6C2C06* ++ ID_OUI_FROM_DATABASE=OOO NPP Systemotechnika-NN ++ + OUI:6C2E33* + ID_OUI_FROM_DATABASE=Accelink Technologies Co.,Ltd. + +@@ -59539,6 +59839,9 @@ OUI:6CA906* + OUI:6CA96F* + ID_OUI_FROM_DATABASE=TransPacket AS + ++OUI:6CAAB3* ++ ID_OUI_FROM_DATABASE=Ruckus Wireless ++ + OUI:6CAB4D* + ID_OUI_FROM_DATABASE=Digital Payment Technologies + +@@ -59608,6 +59911,9 @@ OUI:6CE983* + OUI:6CECA1* + ID_OUI_FROM_DATABASE=SHENZHEN CLOU ELECTRONICS CO. LTD. + ++OUI:6CECEB* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:6CF049* + ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. + +@@ -59623,6 +59929,9 @@ OUI:6CF97C* + OUI:6CFA58* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:6CFAA7* ++ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. ++ + OUI:6CFDB9* + ID_OUI_FROM_DATABASE=Proware Technologies Co Ltd. + +@@ -59686,6 +59995,9 @@ OUI:702F97* + OUI:703018* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:70305D* ++ ID_OUI_FROM_DATABASE=Ubiquoss Inc ++ + OUI:70305E* + ID_OUI_FROM_DATABASE=Nanjing Zhongke Menglian Information Technology Co.,LTD + +@@ -59767,6 +60079,9 @@ OUI:7060DE* + OUI:706173* + ID_OUI_FROM_DATABASE=Calantec GmbH + ++OUI:7062B8* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:706417* + ID_OUI_FROM_DATABASE=ORBIS TECNOLOGIA ELECTRICA S.A. + +@@ -59881,6 +60196,9 @@ OUI:70B14E* + OUI:70B265* + ID_OUI_FROM_DATABASE=Hiltron s.r.l. + ++OUI:70B3D5* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see OUI36 public listing for more information. ++ + OUI:70B599* + ID_OUI_FROM_DATABASE=Embedded Technologies s.r.o. + +@@ -59950,6 +60268,9 @@ OUI:70F395* + OUI:70F927* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:70F96D* ++ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited ++ + OUI:70FF76* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -59965,12 +60286,18 @@ OUI:741489* + OUI:7415E2* + ID_OUI_FROM_DATABASE=Tri-Sen Systems Corporation + ++OUI:7419F8* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:741E93* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + + OUI:74258A* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:7426AC* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:74273C* + ID_OUI_FROM_DATABASE=ChangYang Technology (Nanjing) Co., LTD + +@@ -60077,7 +60404,7 @@ OUI:747E2D* + ID_OUI_FROM_DATABASE=Beijing Thomson CITIC Digital Technology Co. LTD. + + OUI:74867A* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:74882A* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +@@ -60172,6 +60499,9 @@ OUI:74D675* + OUI:74D850* + ID_OUI_FROM_DATABASE=Evrisko Systems + ++OUI:74DA38* ++ ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. ++ + OUI:74DE2B* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -60292,6 +60622,9 @@ OUI:7831C1* + OUI:78324F* + ID_OUI_FROM_DATABASE=Millennium Group, Inc. + ++OUI:783A84* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:783CE3* + ID_OUI_FROM_DATABASE=Kai-EE + +@@ -60319,6 +60652,9 @@ OUI:7846C4* + OUI:78471D* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:784859* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:78491D* + ID_OUI_FROM_DATABASE=The Will-Burt Company + +@@ -60391,6 +60727,9 @@ OUI:788C54* + OUI:788DF7* + ID_OUI_FROM_DATABASE=Hitron Technologies. Inc + ++OUI:78923E* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:78929C* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -60523,6 +60862,9 @@ OUI:78D38D* + OUI:78D5B5* + ID_OUI_FROM_DATABASE=NAVIELEKTRO KY + ++OUI:78D66F* ++ ID_OUI_FROM_DATABASE=Aristocrat Technologies Australia Pty. Ltd. ++ + OUI:78D6F0* + ID_OUI_FROM_DATABASE=Samsung Electro Mechanics + +@@ -60736,6 +61078,9 @@ OUI:7C6C8F* + OUI:7C6D62* + ID_OUI_FROM_DATABASE=Apple + ++OUI:7C6DF8* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:7C6F06* + ID_OUI_FROM_DATABASE=Caterpillar Trimble Control Technologies + +@@ -60856,6 +61201,9 @@ OUI:7CCFCF* + OUI:7CD1C3* + ID_OUI_FROM_DATABASE=Apple + ++OUI:7CD30A* ++ ID_OUI_FROM_DATABASE=INVENTEC Corporation ++ + OUI:7CD762* + ID_OUI_FROM_DATABASE=Freestyle Technology Pty Ltd + +@@ -60919,6 +61267,9 @@ OUI:7CFADF* + OUI:7CFE28* + ID_OUI_FROM_DATABASE=Salutron Inc. + ++OUI:7CFE4E* ++ ID_OUI_FROM_DATABASE=Shenzhen Safe vision Technology Co.,LTD ++ + OUI:7CFF62* + ID_OUI_FROM_DATABASE=Huizhou Super Electron Technology Co.,Ltd. + +@@ -60940,9 +61291,15 @@ OUI:8007A2* + OUI:800A06* + ID_OUI_FROM_DATABASE=COMTEC co.,ltd + ++OUI:800E24* ++ ID_OUI_FROM_DATABASE=ForgetBox ++ + OUI:801440* + ID_OUI_FROM_DATABASE=Sunlit System Technology Corp + ++OUI:8014A8* ++ ID_OUI_FROM_DATABASE=Guangzhou V-SOLUTION Electronic Technology Co., Ltd. ++ + OUI:8016B7* + ID_OUI_FROM_DATABASE=Brunel University + +@@ -60952,6 +61309,9 @@ OUI:80177D* + OUI:8018A7* + ID_OUI_FROM_DATABASE=Samsung Eletronics Co., Ltd + ++OUI:801934* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:801DAA* + ID_OUI_FROM_DATABASE=Avaya Inc + +@@ -60994,6 +61354,9 @@ OUI:803F5D* + OUI:803FD6* + ID_OUI_FROM_DATABASE=bytes at work AG + ++OUI:80414E* ++ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., ++ + OUI:80427C* + ID_OUI_FROM_DATABASE=Adolf Tedsen GmbH & Co. KG + +@@ -61279,6 +61642,9 @@ OUI:843611* + OUI:843835* + ID_OUI_FROM_DATABASE=Apple + ++OUI:843838* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ + OUI:843A4B* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -61360,6 +61726,9 @@ OUI:848506* + OUI:848D84* + ID_OUI_FROM_DATABASE=Rajant Corporation + ++OUI:848DC7* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:848E0C* + ID_OUI_FROM_DATABASE=Apple + +@@ -61372,6 +61741,12 @@ OUI:848F69* + OUI:849000* + ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik + ++OUI:84948C* ++ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc ++ ++OUI:8496D8* ++ ID_OUI_FROM_DATABASE=Pace plc ++ + OUI:8497B8* + ID_OUI_FROM_DATABASE=Memjet Inc. + +@@ -61399,6 +61774,9 @@ OUI:84ACA4* + OUI:84AF1F* + ID_OUI_FROM_DATABASE=Beat System Service Co,. Ltd. + ++OUI:84B153* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:84B59C* + ID_OUI_FROM_DATABASE=Juniper networks + +@@ -61468,6 +61846,9 @@ OUI:880355* + OUI:880905* + ID_OUI_FROM_DATABASE=MTMCommunications + ++OUI:880F10* ++ ID_OUI_FROM_DATABASE=Huami Information Technology Co.,Ltd. ++ + OUI:880FB6* + ID_OUI_FROM_DATABASE=Jabil Circuits India Pvt Ltd,-EHTP unit + +@@ -61558,7 +61939,10 @@ OUI:88576D* + OUI:885A92* + ID_OUI_FROM_DATABASE=Cisco + +-OUI:885C4F* ++OUI:885BDD* ++ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. ++ ++OUI:885C47* + ID_OUI_FROM_DATABASE=Alcatel Lucent + + OUI:88615A* +@@ -61654,6 +62038,9 @@ OUI:88AE1D* + OUI:88B168* + ID_OUI_FROM_DATABASE=Delta Control GmbH + ++OUI:88B1E1* ++ ID_OUI_FROM_DATABASE=AirTight Networks, Inc. ++ + OUI:88B627* + ID_OUI_FROM_DATABASE=Gembird Europe BV + +@@ -62107,6 +62494,9 @@ OUI:9046B7* + OUI:904716* + ID_OUI_FROM_DATABASE=RORZE CORPORATION + ++OUI:90489A* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:9049FA* + ID_OUI_FROM_DATABASE=Intel Corporation + +@@ -62179,6 +62569,9 @@ OUI:907A28* + OUI:907AF1* + ID_OUI_FROM_DATABASE=SNUPI Technologies + ++OUI:907EBA* ++ ID_OUI_FROM_DATABASE=UTEK TECHNOLOGY (SHENZHEN) CO.,LTD ++ + OUI:907F61* + ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. + +@@ -62197,12 +62590,12 @@ OUI:9088A2* + OUI:908C44* + ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. + ++OUI:908C63* ++ ID_OUI_FROM_DATABASE=GZ Weedong Networks Technology Co. , Ltd ++ + OUI:908D1D* + ID_OUI_FROM_DATABASE=GH Technologies + +-OUI:908F93* +- ID_OUI_FROM_DATABASE=MakerBot Industries +- + OUI:908FCF* + ID_OUI_FROM_DATABASE=UNO System Co., Ltd + +@@ -62245,6 +62638,9 @@ OUI:90A7C1* + OUI:90AC3F* + ID_OUI_FROM_DATABASE=BrightSign LLC + ++OUI:90AE1B* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:90B11C* + ID_OUI_FROM_DATABASE=Dell Inc. + +@@ -62303,7 +62699,7 @@ OUI:90DFB7* + ID_OUI_FROM_DATABASE=s.m.s smart microwave sensors GmbH + + OUI:90E0F0* +- ID_OUI_FROM_DATABASE=Harman International ++ ID_OUI_FROM_DATABASE=IEEE 1722a Working Group + + OUI:90E2BA* + ID_OUI_FROM_DATABASE=Intel Corporate +@@ -62683,6 +63079,9 @@ OUI:983571* + OUI:9835B8* + ID_OUI_FROM_DATABASE=Assembled Products Corporation + ++OUI:983713* ++ ID_OUI_FROM_DATABASE=PT.Navicom Indonesia ++ + OUI:983B16* + ID_OUI_FROM_DATABASE=AMPAK Technology Inc + +@@ -62746,6 +63145,9 @@ OUI:986022* + OUI:9866EA* + ID_OUI_FROM_DATABASE=Industrial Control Communications, Inc. + ++OUI:986B3D* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:986CF5* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -62812,6 +63214,9 @@ OUI:98BC57* + OUI:98BC99* + ID_OUI_FROM_DATABASE=Edeltech Co.,Ltd. + ++OUI:98BE94* ++ ID_OUI_FROM_DATABASE=IBM ++ + OUI:98C0EB* + ID_OUI_FROM_DATABASE=Global Regency Ltd + +@@ -62929,6 +63334,9 @@ OUI:9C2840* + OUI:9C28BF* + ID_OUI_FROM_DATABASE=Continental Automotive Czech Republic s.r.o. + ++OUI:9C28EF* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:9C2A70* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -63184,6 +63592,9 @@ OUI:9CFBF1* + OUI:9CFFBE* + ID_OUI_FROM_DATABASE=OTSL Inc. + ++OUI:A002DC* ++ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. ++ + OUI:A00363* + ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH + +@@ -63205,6 +63616,9 @@ OUI:A00CA1* + OUI:A01290* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:A012DB* ++ ID_OUI_FROM_DATABASE=TABUCHI ELECTRIC CO.,LTD ++ + OUI:A0133B* + ID_OUI_FROM_DATABASE=Copyright © HiTi Digital, Inc. + +@@ -63235,6 +63649,9 @@ OUI:A021B7* + OUI:A0231B* + ID_OUI_FROM_DATABASE=TeleComp R&D Corp. + ++OUI:A02BB8* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:A02EF3* + ID_OUI_FROM_DATABASE=United Integrated Services Co., Led. + +@@ -63439,6 +63856,9 @@ OUI:A0D12A* + OUI:A0D3C1* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A0DA92* ++ ID_OUI_FROM_DATABASE=Nanjing Glarun Atten Technology Co. Ltd. ++ + OUI:A0DC04* + ID_OUI_FROM_DATABASE=Becker-Antriebe GmbH + +@@ -63502,6 +63922,9 @@ OUI:A0F450* + OUI:A0F459* + ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED + ++OUI:A0FC6E* ++ ID_OUI_FROM_DATABASE=Telegrafia a.s. ++ + OUI:A0FE91* + ID_OUI_FROM_DATABASE=AVAT Automation GmbH + +@@ -63565,6 +63988,12 @@ OUI:A438FC* + OUI:A43A69* + ID_OUI_FROM_DATABASE=Vers Inc + ++OUI:A43BFA* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ ++OUI:A43D78* ++ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD ++ + OUI:A4466B* + ID_OUI_FROM_DATABASE=EOC Technology + +@@ -63604,6 +64033,9 @@ OUI:A45C27* + OUI:A45D36* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A46032* ++ ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD ++ + OUI:A46706* + ID_OUI_FROM_DATABASE=Apple + +@@ -63632,7 +64064,13 @@ OUI:A47C14* + ID_OUI_FROM_DATABASE=ChargeStorm AB + + OUI:A47C1F* +- ID_OUI_FROM_DATABASE=Global Microwave Systems Inc. ++ ID_OUI_FROM_DATABASE=Cobham plc ++ ++OUI:A47E39* ++ ID_OUI_FROM_DATABASE=zte corporation ++ ++OUI:A481EE* ++ ID_OUI_FROM_DATABASE=Nokia Corporation + + OUI:A4856B* + ID_OUI_FROM_DATABASE=Q Electronics Ltd +@@ -63664,6 +64102,9 @@ OUI:A49B13* + OUI:A49EDB* + ID_OUI_FROM_DATABASE=AutoCrib, Inc. + ++OUI:A49F85* ++ ID_OUI_FROM_DATABASE=Lyve Minds, Inc ++ + OUI:A49F89* + ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. + +@@ -63964,6 +64405,9 @@ OUI:A8995C* + OUI:A89B10* + ID_OUI_FROM_DATABASE=inMotion Ltd. + ++OUI:A8A668* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:A8AD3D* + ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd + +@@ -64021,6 +64465,9 @@ OUI:A8F274* + OUI:A8F470* + ID_OUI_FROM_DATABASE=Fujian Newland Communication Science Technologies Co.,Ltd. + ++OUI:A8F7E0* ++ ID_OUI_FROM_DATABASE=PLANET Technology Corporation ++ + OUI:A8F94B* + ID_OUI_FROM_DATABASE=Eltex Enterprise Ltd. + +@@ -64258,12 +64705,21 @@ OUI:ACA22C* + OUI:ACA430* + ID_OUI_FROM_DATABASE=Peerless AV + ++OUI:ACA919* ++ ID_OUI_FROM_DATABASE=TrekStor GmbH ++ ++OUI:ACA9A0* ++ ID_OUI_FROM_DATABASE=Audioengine, Ltd. ++ + OUI:ACAB8D* + ID_OUI_FROM_DATABASE=Lyngso Marine A/S + + OUI:ACB313* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:ACB859* ++ ID_OUI_FROM_DATABASE=Uniband Electronic Corp, ++ + OUI:ACBD0B* + ID_OUI_FROM_DATABASE=IMAC CO.,LTD + +@@ -64375,6 +64831,9 @@ OUI:ACF97E* + OUI:ACFDEC* + ID_OUI_FROM_DATABASE=Apple, Inc + ++OUI:B000B4* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:B00594* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -64465,6 +64924,9 @@ OUI:B06CBF* + OUI:B0750C* + ID_OUI_FROM_DATABASE=QA Cafe + ++OUI:B0754D* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:B075D5* + ID_OUI_FROM_DATABASE=ZTE Corporation + +@@ -64528,9 +64990,15 @@ OUI:B09FBA* + OUI:B0A10A* + ID_OUI_FROM_DATABASE=Pivotal Systems Corporation + ++OUI:B0A37E* ++ ID_OUI_FROM_DATABASE=Qingdao Haier Electronics Co.,Ltd ++ + OUI:B0A72A* + ID_OUI_FROM_DATABASE=Ensemble Designs, Inc. + ++OUI:B0A737* ++ ID_OUI_FROM_DATABASE=Roku, Inc. ++ + OUI:B0A86E* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -64597,6 +65065,9 @@ OUI:B0D09C* + OUI:B0D2F5* + ID_OUI_FROM_DATABASE=Vello Systems, Inc. + ++OUI:B0D59D* ++ ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd ++ + OUI:B0D7C5* + ID_OUI_FROM_DATABASE=STP KFT + +@@ -64813,6 +65284,9 @@ OUI:B499BA* + OUI:B49DB4* + ID_OUI_FROM_DATABASE=Axion Technologies Inc. + ++OUI:B49EAC* ++ ID_OUI_FROM_DATABASE=Imagik Int'l Corp ++ + OUI:B49EE6* + ID_OUI_FROM_DATABASE=SHENZHEN TECHNOLOGY CO LTD + +@@ -64900,6 +65374,9 @@ OUI:B4ED19* + OUI:B4ED54* + ID_OUI_FROM_DATABASE=Wohler Technologies + ++OUI:B4EEB4* ++ ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP ++ + OUI:B4EED4* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -64963,6 +65440,9 @@ OUI:B8288B* + OUI:B829F7* + ID_OUI_FROM_DATABASE=Blaster Tech + ++OUI:B82A72* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:B82ADC* + ID_OUI_FROM_DATABASE=EFR Europäische Funk-Rundsteuerung GmbH + +@@ -65047,6 +65527,9 @@ OUI:B87424* + OUI:B87447* + ID_OUI_FROM_DATABASE=Convergence Technologies + ++OUI:B875C0* ++ ID_OUI_FROM_DATABASE=PayPal, Inc. ++ + OUI:B8763F* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -65062,6 +65545,9 @@ OUI:B8797E* + OUI:B87AC9* + ID_OUI_FROM_DATABASE=Siemens Ltd. + ++OUI:B87CF2* ++ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. ++ + OUI:B8871E* + ID_OUI_FROM_DATABASE=Good Mind Industries Co., Ltd. + +@@ -65152,6 +65638,9 @@ OUI:B8BB6D* + OUI:B8BEBF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:B8BF83* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:B8C1A2* + ID_OUI_FROM_DATABASE=Dragon Path Technologies Co., Limited + +@@ -65171,7 +65660,7 @@ OUI:B8C855* + ID_OUI_FROM_DATABASE=Shanghai GBCOM Communication Technology Co.,Ltd. + + OUI:B8CA3A* +- ID_OUI_FROM_DATABASE=Dell PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:B8CD93* + ID_OUI_FROM_DATABASE=Penetek, Inc +@@ -65215,6 +65704,9 @@ OUI:B8E856* + OUI:B8E937* + ID_OUI_FROM_DATABASE=Sonos, Inc. + ++OUI:B8EE65* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:B8EE79* + ID_OUI_FROM_DATABASE=YWire Technologies, Inc. + +@@ -65284,6 +65776,9 @@ OUI:BC20A4* + OUI:BC20BA* + ID_OUI_FROM_DATABASE=Inspur (Shandong) Electronic Information Co., Ltd + ++OUI:BC25F0* ++ ID_OUI_FROM_DATABASE=3D Display Technologies Co., Ltd. ++ + OUI:BC261D* + ID_OUI_FROM_DATABASE=HONG KONG TECON TECHNOLOGY + +@@ -65311,6 +65806,9 @@ OUI:BC305B* + OUI:BC307D* + ID_OUI_FROM_DATABASE=Wistron Neweb Corp. + ++OUI:BC3400* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:BC35E5* + ID_OUI_FROM_DATABASE=Hydro Systems Company + +@@ -65419,6 +65917,9 @@ OUI:BC8B55* + OUI:BC8CCD* + ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. + ++OUI:BC8D0E* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:BC926B* + ID_OUI_FROM_DATABASE=Apple + +@@ -65572,6 +66073,9 @@ OUI:C038F9* + OUI:C03B8F* + ID_OUI_FROM_DATABASE=Minicom Digital Signage + ++OUI:C03D46* ++ ID_OUI_FROM_DATABASE=Shanghai Mochui Network Technology Co., Ltd ++ + OUI:C03E0F* + ID_OUI_FROM_DATABASE=BSkyB Ltd + +@@ -65602,6 +66106,9 @@ OUI:C04A00* + OUI:C04DF7* + ID_OUI_FROM_DATABASE=SERELEC + ++OUI:C056E3* ++ ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. ++ + OUI:C057BC* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -65614,6 +66121,9 @@ OUI:C05E6F* + OUI:C05E79* + ID_OUI_FROM_DATABASE=SHENZHEN HUAXUN ARK TECHNOLOGIES CO.,LTD + ++OUI:C06118* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:C0626B* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -65794,6 +66304,9 @@ OUI:C40415* + OUI:C40528* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:C4084A* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:C40938* + ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd + +@@ -65848,6 +66361,9 @@ OUI:C4291D* + OUI:C42C03* + ID_OUI_FROM_DATABASE=Apple + ++OUI:C4346B* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:C436DA* + ID_OUI_FROM_DATABASE=Rusteletech Ltd. + +@@ -65938,6 +66454,9 @@ OUI:C467B5* + OUI:C46AB7* + ID_OUI_FROM_DATABASE=Xiaomi Technology,Inc. + ++OUI:C46BB4* ++ ID_OUI_FROM_DATABASE=myIDkey ++ + OUI:C46DF1* + ID_OUI_FROM_DATABASE=DataGravity + +@@ -65983,6 +66502,9 @@ OUI:C48508* + OUI:C488E5* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:C4913A* ++ ID_OUI_FROM_DATABASE=Shenzhen Sanland Electronic Co., ltd. ++ + OUI:C49300* + ID_OUI_FROM_DATABASE=8Devices + +@@ -66025,6 +66547,9 @@ OUI:C4C755* + OUI:C4C919* + ID_OUI_FROM_DATABASE=Energy Imports Ltd + ++OUI:C4C9EC* ++ ID_OUI_FROM_DATABASE=D&D GROUP sp. z o.o. ++ + OUI:C4CAD9* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + +@@ -66113,7 +66638,7 @@ OUI:C81E8E* + ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd + + OUI:C81F66* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:C8208E* + ID_OUI_FROM_DATABASE=Storagedata +@@ -66127,6 +66652,9 @@ OUI:C82A14* + OUI:C82E94* + ID_OUI_FROM_DATABASE=Halfa Enterprise Co., Ltd. + ++OUI:C83168* ++ ID_OUI_FROM_DATABASE=eZEX corporation ++ + OUI:C83232* + ID_OUI_FROM_DATABASE=Hunting Innova + +@@ -66238,6 +66766,9 @@ OUI:C89C1D* + OUI:C89CDC* + ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. + ++OUI:C89F1D* ++ ID_OUI_FROM_DATABASE=SHENZHEN COMMUNICATION TECHNOLOGIES CO.,LTD ++ + OUI:C89F42* + ID_OUI_FROM_DATABASE=VDII Innovation AB + +@@ -66274,6 +66805,9 @@ OUI:C8B373* + OUI:C8B5B7* + ID_OUI_FROM_DATABASE=Apple + ++OUI:C8BA94* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ + OUI:C8BBD3* + ID_OUI_FROM_DATABASE=Embrane + +@@ -66316,6 +66850,9 @@ OUI:C8D3A3* + OUI:C8D429* + ID_OUI_FROM_DATABASE=Muehlbauer AG + ++OUI:C8D590* ++ ID_OUI_FROM_DATABASE=FLIGHT DATA SYSTEMS ++ + OUI:C8D5FE* + ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd + +@@ -66337,6 +66874,9 @@ OUI:C8E0EB* + OUI:C8E1A7* + ID_OUI_FROM_DATABASE=Vertu Corporation Limited + ++OUI:C8E42F* ++ ID_OUI_FROM_DATABASE=Technical Research Design and Development ++ + OUI:C8EE08* + ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD + +@@ -66358,6 +66898,9 @@ OUI:C8F386* + OUI:C8F406* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:C8F650* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:C8F68D* + ID_OUI_FROM_DATABASE=S.E.TECHNOLOGIES LIMITED + +@@ -66379,6 +66922,9 @@ OUI:C8FB26* + OUI:C8FE30* + ID_OUI_FROM_DATABASE=Bejing DAYO Mobile Communication Technology Ltd. + ++OUI:C8FF77* ++ ID_OUI_FROM_DATABASE=Dyson Limited ++ + OUI:CC0080* + ID_OUI_FROM_DATABASE=BETTINI SRL + +@@ -66394,6 +66940,9 @@ OUI:CC051B* + OUI:CC07AB* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:CC07E4* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:CC08E0* + ID_OUI_FROM_DATABASE=Apple + +@@ -66574,6 +67123,9 @@ OUI:CC9E00* + OUI:CC9F35* + ID_OUI_FROM_DATABASE=Transbit Sp. z o.o. + ++OUI:CCA0E5* ++ ID_OUI_FROM_DATABASE=DZG Metering GmbH ++ + OUI:CCA374* + ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd + +@@ -66595,6 +67147,9 @@ OUI:CCB3F8* + OUI:CCB55A* + ID_OUI_FROM_DATABASE=Fraunhofer ITWM + ++OUI:CCB691* ++ ID_OUI_FROM_DATABASE=NECMagnusCommunications ++ + OUI:CCB888* + ID_OUI_FROM_DATABASE=AnB Securite s.a. + +@@ -66610,6 +67165,9 @@ OUI:CCBE71* + OUI:CCC104* + ID_OUI_FROM_DATABASE=Applied Technical Systems + ++OUI:CCC3EA* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:CCC50A* + ID_OUI_FROM_DATABASE=SHENZHEN DAJIAHAO TECHNOLOGY CO.,LTD + +@@ -66643,6 +67201,9 @@ OUI:CCD811* + OUI:CCD9E9* + ID_OUI_FROM_DATABASE=SCR Engineers Ltd. + ++OUI:CCE1D5* ++ ID_OUI_FROM_DATABASE=Buffalo Inc. ++ + OUI:CCE798* + ID_OUI_FROM_DATABASE=My Social Stuff + +@@ -66778,6 +67339,12 @@ OUI:D059C3* + OUI:D05A0F* + ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD + ++OUI:D05AF1* ++ ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd ++ ++OUI:D05FB8* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:D05FCE* + ID_OUI_FROM_DATABASE=Hitachi Data Systems + +@@ -66799,6 +67366,9 @@ OUI:D0699E* + OUI:D069D0* + ID_OUI_FROM_DATABASE=Verto Medical Solutions, LLC + ++OUI:D072DC* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:D0737F* + ID_OUI_FROM_DATABASE=Mini-Circuits + +@@ -66811,6 +67381,9 @@ OUI:D073D5* + OUI:D075BE* + ID_OUI_FROM_DATABASE=Reno A&E + ++OUI:D07650* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:D07AB5* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -66895,6 +67468,9 @@ OUI:D0C42F* + OUI:D0C789* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:D0C7C0* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:D0CDE1* + ID_OUI_FROM_DATABASE=Scientech Electronics + +@@ -67018,6 +67594,9 @@ OUI:D41F0C* + OUI:D4206D* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:D42122* ++ ID_OUI_FROM_DATABASE=Sercomm Corporation ++ + OUI:D4223F* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + +@@ -67099,6 +67678,9 @@ OUI:D464F7* + OUI:D466A8* + ID_OUI_FROM_DATABASE=Riedo Networks GmbH + ++OUI:D46761* ++ ID_OUI_FROM_DATABASE=SAHAB TECHNOLOGY ++ + OUI:D467E7* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + +@@ -67168,6 +67750,9 @@ OUI:D49524* + OUI:D496DF* + ID_OUI_FROM_DATABASE=SUNGJIN C&T CO.,LTD + ++OUI:D4970B* ++ ID_OUI_FROM_DATABASE=XIAOMI CORPORATION ++ + OUI:D49A20* + ID_OUI_FROM_DATABASE=Apple + +@@ -67207,6 +67792,9 @@ OUI:D4AE52* + OUI:D4B110* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:D4B43E* ++ ID_OUI_FROM_DATABASE=Messcomp Datentechnik GmbH ++ + OUI:D4BED9* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -67237,6 +67825,9 @@ OUI:D4CBAF* + OUI:D4CEB8* + ID_OUI_FROM_DATABASE=Enatel LTD + ++OUI:D4CFF9* ++ ID_OUI_FROM_DATABASE=Shenzhen Sen5 Technology Co., Ltd. ++ + OUI:D4D184* + ID_OUI_FROM_DATABASE=ADB Broadband Italia + +@@ -67258,6 +67849,9 @@ OUI:D4D919* + OUI:D4DF57* + ID_OUI_FROM_DATABASE=Alpinion Medical Systems + ++OUI:D4E08E* ++ ID_OUI_FROM_DATABASE=ValueHD Corporation ++ + OUI:D4E32C* + ID_OUI_FROM_DATABASE=S. Siedle & Sohne + +@@ -67375,6 +67969,9 @@ OUI:D84606* + OUI:D8490B* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:D8492F* ++ ID_OUI_FROM_DATABASE=CANON INC. ++ + OUI:D84B2A* + ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. + +@@ -67397,7 +67994,7 @@ OUI:D85D84* + ID_OUI_FROM_DATABASE=CAx soft GmbH + + OUI:D86194* +- ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido ++ ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido + + OUI:D862DB* + ID_OUI_FROM_DATABASE=Eno Inc. +@@ -67438,6 +68035,9 @@ OUI:D87988* + OUI:D87CDD* + ID_OUI_FROM_DATABASE=SANIX INCORPORATED + ++OUI:D87EB1* ++ ID_OUI_FROM_DATABASE=x.o.ware, inc. ++ + OUI:D881CE* + ID_OUI_FROM_DATABASE=AHN INC. + +@@ -67462,6 +68062,9 @@ OUI:D8973B* + OUI:D89760* + ID_OUI_FROM_DATABASE=C2 Development, Inc. + ++OUI:D8977C* ++ ID_OUI_FROM_DATABASE=Grey Innovation ++ + OUI:D89D67* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -67525,6 +68128,9 @@ OUI:D8C7C8* + OUI:D8C99D* + ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED + ++OUI:D8CF9C* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D8D1CB* + ID_OUI_FROM_DATABASE=Apple + +@@ -67555,6 +68161,9 @@ OUI:D8DD5F* + OUI:D8DDFD* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:D8DECE* ++ ID_OUI_FROM_DATABASE=ISUNG CO.,LTD ++ + OUI:D8DF0D* + ID_OUI_FROM_DATABASE=beroNet GmbH + +@@ -67660,6 +68269,9 @@ OUI:DC3350* + OUI:DC37D2* + ID_OUI_FROM_DATABASE=Hunan HKT Electronic Technology Co., Ltd + ++OUI:DC38E1* ++ ID_OUI_FROM_DATABASE=Juniper networks ++ + OUI:DC3A5E* + ID_OUI_FROM_DATABASE=Roku, Inc + +@@ -67693,6 +68305,9 @@ OUI:DC5E36* + OUI:DC647C* + ID_OUI_FROM_DATABASE=C.R.S. iiMotion GmbH + ++OUI:DC663A* ++ ID_OUI_FROM_DATABASE=Apacer Technology Inc. ++ + OUI:DC6F00* + ID_OUI_FROM_DATABASE=Livescribe, Inc. + +@@ -67816,6 +68431,9 @@ OUI:DCE71C* + OUI:DCF05D* + ID_OUI_FROM_DATABASE=Letta Teknoloji + ++OUI:DCF110* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:DCF755* + ID_OUI_FROM_DATABASE=SITRONIK + +@@ -67939,6 +68557,9 @@ OUI:E063E5* + OUI:E064BB* + ID_OUI_FROM_DATABASE=DigiView S.r.l. + ++OUI:E06678* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:E067B3* + ID_OUI_FROM_DATABASE=C-Data Technology Co., Ltd + +@@ -68071,6 +68692,9 @@ OUI:E0CA94* + OUI:E0CB4E* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + ++OUI:E0CBEE* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:E0CEC3* + ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP + +@@ -68152,6 +68776,9 @@ OUI:E40439* + OUI:E4115B* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:E41218* ++ ID_OUI_FROM_DATABASE=ShenZhen Rapoo Technology Co., Ltd. ++ + OUI:E4121D* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -68341,6 +68968,9 @@ OUI:E4C806* + OUI:E4CE8F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:E4D332* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:E4D3F1* + ID_OUI_FROM_DATABASE=Cisco + +@@ -68371,6 +69001,9 @@ OUI:E4F365* + OUI:E4F3E3* + ID_OUI_FROM_DATABASE=Shanghai iComhome Co.,Ltd. + ++OUI:E4F4C6* ++ ID_OUI_FROM_DATABASE=NETGEAR ++ + OUI:E4F7A1* + ID_OUI_FROM_DATABASE=Datafox GmbH + +@@ -68671,6 +69304,9 @@ OUI:E8EADA* + OUI:E8EDF3* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:E8EF89* ++ ID_OUI_FROM_DATABASE=OPMEX Tech. ++ + OUI:E8F1B0* + ID_OUI_FROM_DATABASE=SAGEMCOM SAS + +@@ -68719,6 +69355,9 @@ OUI:EC2AF0* + OUI:EC2C49* + ID_OUI_FROM_DATABASE=University of Tokyo + ++OUI:EC2E4E* ++ ID_OUI_FROM_DATABASE=HITACHI-LG DATA STORAGE INC ++ + OUI:EC3091* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -68881,6 +69520,9 @@ OUI:ECE09B* + OUI:ECE1A9* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:ECE512* ++ ID_OUI_FROM_DATABASE=tado GmbH ++ + OUI:ECE555* + ID_OUI_FROM_DATABASE=Hirschmann Automation + +@@ -68909,7 +69551,7 @@ OUI:ECF35B* + ID_OUI_FROM_DATABASE=Nokia Corporation + + OUI:ECF4BB* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:ECF72B* + ID_OUI_FROM_DATABASE=HD DIGITAL TECH CO., LTD. +@@ -68948,7 +69590,7 @@ OUI:F01C13* + ID_OUI_FROM_DATABASE=LG Electronics + + OUI:F01FAF* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F0219D* + ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd. +@@ -69085,6 +69727,9 @@ OUI:F08A28* + OUI:F08BFE* + ID_OUI_FROM_DATABASE=COSTEL.,CO.LTD + ++OUI:F08CFB* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:F08EDB* + ID_OUI_FROM_DATABASE=VeloCloud Networks + +@@ -69241,6 +69886,9 @@ OUI:F4044C* + OUI:F4068D* + ID_OUI_FROM_DATABASE=devolo AG + ++OUI:F406A5* ++ ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. ++ + OUI:F40B93* + ID_OUI_FROM_DATABASE=Research In Motion + +@@ -69427,6 +70075,9 @@ OUI:F4B7E2* + OUI:F4BD7C* + ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD + ++OUI:F4C447* ++ ID_OUI_FROM_DATABASE=Coagent International Enterprise Limited ++ + OUI:F4C6D7* + ID_OUI_FROM_DATABASE=blackned GmbH + +@@ -69478,6 +70129,9 @@ OUI:F4F15A* + OUI:F4F5A5* + ID_OUI_FROM_DATABASE=Nokia corporation + ++OUI:F4F5E8* ++ ID_OUI_FROM_DATABASE=Google ++ + OUI:F4F951* + ID_OUI_FROM_DATABASE=Apple + +@@ -69502,6 +70156,9 @@ OUI:F80BD0* + OUI:F80CF3* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:F80D43* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. ++ + OUI:F80DEA* + ID_OUI_FROM_DATABASE=ZyCast Technology Inc. + +@@ -69586,6 +70243,9 @@ OUI:F8472D* + OUI:F84897* + ID_OUI_FROM_DATABASE=Hitachi, Ltd. + ++OUI:F84A73* ++ ID_OUI_FROM_DATABASE=EUMTECH CO., LTD ++ + OUI:F84A7F* + ID_OUI_FROM_DATABASE=Innometriks Inc + +@@ -69622,6 +70282,12 @@ OUI:F85F2A* + OUI:F862AA* + ID_OUI_FROM_DATABASE=xn systems + ++OUI:F86601* ++ ID_OUI_FROM_DATABASE=Suzhou Chi-tek information technology Co., Ltd ++ ++OUI:F866D1* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. ++ + OUI:F866F2* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -69710,13 +70376,13 @@ OUI:F8AC6D* + ID_OUI_FROM_DATABASE=Deltenna Ltd + + OUI:F8B156* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F8B599* + ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd + + OUI:F8BC12* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F8C001* + ID_OUI_FROM_DATABASE=Juniper Networks +@@ -69764,7 +70430,7 @@ OUI:F8DB7F* + ID_OUI_FROM_DATABASE=HTC Corporation + + OUI:F8DB88* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F8DC7A* + ID_OUI_FROM_DATABASE=Variscite LTD +@@ -69892,6 +70558,9 @@ OUI:FC1FC0* + OUI:FC229C* + ID_OUI_FROM_DATABASE=Han Kyung I Net Co.,Ltd. + ++OUI:FC2325* ++ ID_OUI_FROM_DATABASE=EosTek (Shenzhen) Co., Ltd. ++ + OUI:FC253F* + ID_OUI_FROM_DATABASE=Apple + +@@ -69928,6 +70597,9 @@ OUI:FC455F* + OUI:FC48EF* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:FC4AE9* ++ ID_OUI_FROM_DATABASE=Castlenet Technology Inc. ++ + OUI:FC4B1C* + ID_OUI_FROM_DATABASE=INTERSENSOR S.R.L. + +@@ -70030,6 +70702,9 @@ OUI:FCBBA1* + OUI:FCC23D* + ID_OUI_FROM_DATABASE=Atmel Corporation + ++OUI:FCC2DE* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:FCC734* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -70048,6 +70723,9 @@ OUI:FCD4F2* + OUI:FCD4F6* + ID_OUI_FROM_DATABASE=Messana Air.Ray Conditioning s.r.l. + ++OUI:FCD5D9* ++ ID_OUI_FROM_DATABASE=Shenzhen SDMC Technology Co., Ltd. ++ + OUI:FCD6BD* + ID_OUI_FROM_DATABASE=Robert Bosch GmbH + +@@ -70060,6 +70738,9 @@ OUI:FCDB96* + OUI:FCDD55* + ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd + ++OUI:FCE186* ++ ID_OUI_FROM_DATABASE=A3M Co., LTD ++ + OUI:FCE192* + ID_OUI_FROM_DATABASE=Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd + +@@ -70078,12 +70759,18 @@ OUI:FCE892* + OUI:FCEDB9* + ID_OUI_FROM_DATABASE=Arrayent + ++OUI:FCF152* ++ ID_OUI_FROM_DATABASE=Sony Corporation ++ + OUI:FCF1CD* + ID_OUI_FROM_DATABASE=OPTEX-FA CO.,LTD. + + OUI:FCF528* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + ++OUI:FCF647* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:FCF8AE* + ID_OUI_FROM_DATABASE=Intel Corporate + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 7f833e3..371a685 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -890,6 +890,9 @@ pci:v00001000d0000005Bsv00001000sd00009295* + pci:v00001000d0000005Bsv00001014sd0000040B* + ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller + ++pci:v00001000d0000005Bsv00001014sd0000040C* ++ ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller ++ + pci:v00001000d0000005Bsv00001014sd00000412* + ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller + +@@ -917,6 +920,9 @@ pci:v00001000d0000005Bsv00001028sd00001F37* + pci:v00001000d0000005Bsv00001028sd00001F38* + ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) + ++pci:v00001000d0000005Bsv000015D9sd00000690* ++ ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB ++ + pci:v00001000d0000005Bsv00008086sd00003510* + ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller + +@@ -950,6 +956,12 @@ pci:v00001000d0000005Dsv00001028sd00001F49* + pci:v00001000d0000005Dsv00001028sd00001F4A* + ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) + ++pci:v00001000d0000005Dsv000017AAsd00001052* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i ++ ++pci:v00001000d0000005Dsv000017AAsd00001053* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix ++ + pci:v00001000d0000005E* + ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS + +@@ -1163,6 +1175,9 @@ pci:v00001000d00000073sv000015D9sd00000400* + pci:v00001000d00000073sv00001734sd00001177* + ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) + ++pci:v00001000d00000073sv000017AAsd00001051* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i ++ + pci:v00001000d00000073sv00008086sd0000350D* + ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller + +@@ -1598,6 +1613,9 @@ pci:v00001000d00001960sv00008086sd00000520* + pci:v00001000d00001960sv00008086sd00000523* + ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 + ++pci:v00001000d00003050* ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 ++ + pci:v00001000d00006001* + ID_MODEL_FROM_DATABASE=DX1 Multiformat Broadcast HD/SD Encoder/Decoder + +@@ -1665,7 +1683,7 @@ pci:v00001002d0000130E* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d0000130F* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] + + pci:v00001002d00001310* + ID_MODEL_FROM_DATABASE=Kaveri +@@ -1673,9 +1691,12 @@ pci:v00001002d00001310* + pci:v00001002d00001311* + ID_MODEL_FROM_DATABASE=Kaveri + +-pci:v00001002d00001313* ++pci:v00001002d00001312* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d00001313* ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] ++ + pci:v00001002d00001314* + ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio + +@@ -1686,6 +1707,9 @@ pci:v00001002d00001315* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d00001316* ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] ++ ++pci:v00001002d00001317* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d0000131B* +@@ -1694,6 +1718,9 @@ pci:v00001002d0000131B* + pci:v00001002d0000131C* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d0000131D* ++ ID_MODEL_FROM_DATABASE=Kaveri ++ + pci:v00001002d00001714* + ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] + +@@ -4176,20 +4203,41 @@ pci:v00001002d00006603* + ID_MODEL_FROM_DATABASE=Mars + + pci:v00001002d00006604* +- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M265] ++ ID_MODEL_FROM_DATABASE=Opal XT [Radeon R7 M265] + + pci:v00001002d00006605* +- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M260] ++ ID_MODEL_FROM_DATABASE=Opal PRO [Radeon R7 M260] + + pci:v00001002d00006606* + ID_MODEL_FROM_DATABASE=Mars XTX [Radeon HD 8790M] + + pci:v00001002d00006607* +- ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M] ++ ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M / R5 M240] + + pci:v00001002d00006610* + ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] + ++pci:v00001002d00006610sv00001019sd00000030* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001028sd00002120* ++ ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ++pci:v00001002d00006610sv00001028sd00002322* ++ ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ++pci:v00001002d00006610sv00001462sd00002910* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001462sd00002911* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001642sd00003C81* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001642sd00003C91* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ + pci:v00001002d00006611* + ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] + +@@ -4278,13 +4326,13 @@ pci:v00001002d00006663sv00001025sd00000846* + ID_MODEL_FROM_DATABASE=Radeon HD 8570A + + pci:v00001002d00006664* +- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M200 Series] ++ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] + + pci:v00001002d00006665* +- ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M200 Series] ++ ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] + + pci:v00001002d00006667* +- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M200 Series] ++ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] + + pci:v00001002d0000666F* + ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] +@@ -5003,6 +5051,9 @@ pci:v00001002d00006759sv00001B0Asd000090B5* + pci:v00001002d00006759sv00001B0Asd000090B6* + ID_MODEL_FROM_DATABASE=Radeon HD 7570 + ++pci:v00001002d0000675B* ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] ++ + pci:v00001002d0000675D* + ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 7570] + +@@ -5801,6 +5852,9 @@ pci:v00001002d00006798sv00001092sd00003000* + pci:v00001002d00006798sv00001458sd00002261* + ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] + ++pci:v00001002d00006798sv00001462sd00002774* ++ ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE ++ + pci:v00001002d00006798sv00001682sd00003211* + ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition + +@@ -5823,7 +5877,7 @@ pci:v00001002d00006799* + ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] + + pci:v00001002d0000679A* +- ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950] ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] + + pci:v00001002d0000679Asv00001002sd00000B01* + ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM +@@ -5903,6 +5957,9 @@ pci:v00001002d00006801* + pci:v00001002d00006801sv00001002sd00000124* + ID_MODEL_FROM_DATABASE=Radeon HD 8970M + ++pci:v00001002d00006801sv00001462sd00001117* ++ ID_MODEL_FROM_DATABASE=Radeon R9 M290X ++ + pci:v00001002d00006801sv00008086sd00002110* + ID_MODEL_FROM_DATABASE=Radeon HD 8970M + +@@ -5966,6 +6023,12 @@ pci:v00001002d00006821* + pci:v00001002d00006821sv00001002sd0000031E* + ID_MODEL_FROM_DATABASE=FirePro SX4000 + ++pci:v00001002d00006821sv00001028sd000005CC* ++ ID_MODEL_FROM_DATABASE=FirePro M5100 ++ ++pci:v00001002d00006821sv00001028sd000015CC* ++ ID_MODEL_FROM_DATABASE=FirePro M5100 ++ + pci:v00001002d00006822* + ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] + +@@ -6039,7 +6102,7 @@ pci:v00001002d0000683B* + ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series] + + pci:v00001002d0000683D* +- ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] + + pci:v00001002d0000683Dsv00001002sd00000030* + ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM +@@ -6050,8 +6113,14 @@ pci:v00001002d0000683Dsv00001019sd00000030* + pci:v00001002d0000683Dsv0000103Csd00006890* + ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM + ++pci:v00001002d0000683Dsv00001043sd00008760* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ++pci:v00001002d0000683Dsv0000174Bsd00008304* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ + pci:v00001002d0000683F* +- ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750] ++ ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] + + pci:v00001002d00006840* + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] +@@ -8891,6 +8960,9 @@ pci:v00001002d0000985E* + pci:v00001002d0000985F* + ID_MODEL_FROM_DATABASE=Mullins + ++pci:v00001002d00009900* ++ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G] ++ + pci:v00001002d00009901* + ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660D] + +@@ -9498,7 +9570,7 @@ pci:v00001011d0000000D* + ID_MODEL_FROM_DATABASE=PBXGB [TGA2] + + pci:v00001011d0000000F* +- ID_MODEL_FROM_DATABASE=PCI-to-PDQ Interface Chip [PFI] ++ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] + + pci:v00001011d0000000Fsv00001011sd0000DEF1* + ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) +@@ -9596,6 +9668,9 @@ pci:v00001011d00000019sv00001186sd00001102* + pci:v00001011d00000019sv00001186sd00001112* + ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet + ++pci:v00001011d00000019sv000011F0sd00004235* ++ ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] ++ + pci:v00001011d00000019sv00001259sd00002800* + ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet + +@@ -9761,6 +9836,9 @@ pci:v00001013d000000B0* + pci:v00001013d000000B8* + ID_MODEL_FROM_DATABASE=GD 5446 + ++pci:v00001013d000000B8sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001013d000000BC* + ID_MODEL_FROM_DATABASE=GD 5480 + +@@ -10487,6 +10565,9 @@ pci:v0000101Ed00001960sv00001028sd00000511* + pci:v0000101Ed00001960sv0000103Csd000060E7* + ID_MODEL_FROM_DATABASE=NetRAID-1M + ++pci:v0000101Ed00001960sv0000103Csd000060E8* ++ ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] ++ + pci:v0000101Ed00009010* + ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller + +@@ -10811,6 +10892,9 @@ pci:v00001022d00002003* + pci:v00001022d00002020* + ID_MODEL_FROM_DATABASE=53c974 [PCscsi] + ++pci:v00001022d00002020sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001022d00002040* + ID_MODEL_FROM_DATABASE=79c974 + +@@ -12263,6 +12347,9 @@ pci:v0000102Bd00002007* + pci:v0000102Bd00002527* + ID_MODEL_FROM_DATABASE=Millennium G550 + ++pci:v0000102Bd00002527sv0000102Bsd00000F42* ++ ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI ++ + pci:v0000102Bd00002527sv0000102Bsd00000F83* + ID_MODEL_FROM_DATABASE=Millennium G550 + +@@ -12515,6 +12602,9 @@ pci:v0000102Bd00004949* + pci:v0000102Bd00004949sv0000102Bsd00000010* + ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber + ++pci:v0000102Bd00004949sv0000102Bsd00000011* ++ ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber ++ + pci:v0000102Bd00004949sv0000102Bsd00000020* + ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber + +@@ -12527,6 +12617,18 @@ pci:v0000102Bd00004949sv0000102Bsd00000040* + pci:v0000102Bd00004949sv0000102Bsd00000050* + ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber + ++pci:v0000102Bd00004949sv0000102Bsd00001010* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber ++ ++pci:v0000102Bd00004949sv0000102Bsd00001015* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber ++ ++pci:v0000102Bd00004949sv0000102Bsd00001020* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber ++ ++pci:v0000102Bd00004949sv0000102Bsd00001050* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber ++ + pci:v0000102Bd00004CDC* + ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator + +@@ -12911,6 +13013,9 @@ pci:v00001033d00000194sv00001028sd000004DA* + pci:v00001033d00000194sv00001043sd00008413* + ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard + ++pci:v00001033d00000194sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001033d00000194sv00001B96sd00000001* + ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card + +@@ -13853,9 +13958,6 @@ pci:v0000103Cd00004037* + pci:v0000103Cd0000403B* + ID_MODEL_FROM_DATABASE=PCIe Root Port + +-pci:v0000103Cd000060E8* +- ID_MODEL_FROM_DATABASE=NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493) +- + pci:v0000103E* + ID_VENDOR_FROM_DATABASE=Solliday Engineering + +@@ -14159,6 +14261,9 @@ pci:v0000104Ad00000010* + pci:v0000104Ad00000010sv0000104Asd00004018* + ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) + ++pci:v0000104Ad00000010sv00001681sd00000010* ++ ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] ++ + pci:v0000104Ad00000010sv00001681sd00000028* + ID_MODEL_FROM_DATABASE=3D Prophet 4000XT + +@@ -14426,6 +14531,9 @@ pci:v0000104Cd00008022sv0000104Csd00008023* + pci:v0000104Cd00008023* + ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + ++pci:v0000104Cd00008023sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v0000104Cd00008023sv0000103Csd0000088C* + ID_MODEL_FROM_DATABASE=NC8000 laptop + +@@ -15233,6 +15341,9 @@ pci:v00001054d0000302C* + pci:v00001054d0000302D* + ID_MODEL_FROM_DATABASE=M001 PCI Express Switch Downstream Port + ++pci:v00001054d00003070* ++ ID_MODEL_FROM_DATABASE=Hitachi FIVE-FX Fibre Channel to PCIe HBA ++ + pci:v00001054d00003505* + ID_MODEL_FROM_DATABASE=SH7751 PCI Controller (PCIC) + +@@ -16208,6 +16319,9 @@ pci:v0000106Bd0000003E* + pci:v0000106Bd0000003F* + ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB + ++pci:v0000106Bd0000003Fsv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v0000106Bd00000040* + ID_MODEL_FROM_DATABASE=K2 KeyLargo USB + +@@ -16517,6 +16631,9 @@ pci:v00001077d00002422sv0000103Csd000012DD* + pci:v00001077d00002432* + ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA + ++pci:v00001077d00002432sv0000103Csd00007040* ++ ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] ++ + pci:v00001077d00002532* + ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA + +@@ -16815,7 +16932,7 @@ pci:v0000108Dd00000002* + ID_MODEL_FROM_DATABASE=16/4 Token Ring + + pci:v0000108Dd00000004* +- ID_MODEL_FROM_DATABASE=RapidFire 3139 Token-Ring 16/4 PCI Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter + + pci:v0000108Dd00000004sv0000108Dsd00000004* + ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter +@@ -17294,6 +17411,30 @@ pci:v00001093d00002CC0* + pci:v00001093d00002DB0* + ID_MODEL_FROM_DATABASE=PCI-6608 + ++pci:v00001093d0000702C* ++ ID_MODEL_FROM_DATABASE=PXI-7831R ++ ++pci:v00001093d0000702D* ++ ID_MODEL_FROM_DATABASE=PCI-7831R ++ ++pci:v00001093d0000702E* ++ ID_MODEL_FROM_DATABASE=PXI-7811R ++ ++pci:v00001093d0000702F* ++ ID_MODEL_FROM_DATABASE=PCI-7811R ++ ++pci:v00001093d00007055* ++ ID_MODEL_FROM_DATABASE=PXI-7830R ++ ++pci:v00001093d00007056* ++ ID_MODEL_FROM_DATABASE=PCI-7830R ++ ++pci:v00001093d00007074* ++ ID_MODEL_FROM_DATABASE=PXI-7833R ++ ++pci:v00001093d00007083* ++ ID_MODEL_FROM_DATABASE=PCI-7833R ++ + pci:v00001093d00007085* + ID_MODEL_FROM_DATABASE=PCI-6509 + +@@ -17369,6 +17510,9 @@ pci:v00001093d0000714C* + pci:v00001093d0000714D* + ID_MODEL_FROM_DATABASE=PCI-5114 + ++pci:v00001093d00007152* ++ ID_MODEL_FROM_DATABASE=PCI-5640R ++ + pci:v00001093d0000716C* + ID_MODEL_FROM_DATABASE=PCI-6225 + +@@ -17378,6 +17522,12 @@ pci:v00001093d0000717D* + pci:v00001093d0000717F* + ID_MODEL_FROM_DATABASE=PCIe-6259 + ++pci:v00001093d00007193* ++ ID_MODEL_FROM_DATABASE=PXI-7813R ++ ++pci:v00001093d00007194* ++ ID_MODEL_FROM_DATABASE=PCI-7813R ++ + pci:v00001093d000071BC* + ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) + +@@ -17420,6 +17570,51 @@ pci:v00001093d0000734A* + pci:v00001093d0000737D* + ID_MODEL_FROM_DATABASE=PXI-5124EX + ++pci:v00001093d00007384* ++ ID_MODEL_FROM_DATABASE=PXI-7851R ++ ++pci:v00001093d00007385* ++ ID_MODEL_FROM_DATABASE=PXI-7852R ++ ++pci:v00001093d00007386* ++ ID_MODEL_FROM_DATABASE=PCIe-7851R ++ ++pci:v00001093d00007387* ++ ID_MODEL_FROM_DATABASE=PCIe-7852R ++ ++pci:v00001093d00007390* ++ ID_MODEL_FROM_DATABASE=PXI-7841R ++ ++pci:v00001093d00007391* ++ ID_MODEL_FROM_DATABASE=PXI-7842R ++ ++pci:v00001093d00007392* ++ ID_MODEL_FROM_DATABASE=PXI-7853R ++ ++pci:v00001093d00007393* ++ ID_MODEL_FROM_DATABASE=PCIe-7841R ++ ++pci:v00001093d00007394* ++ ID_MODEL_FROM_DATABASE=PCIe-7842R ++ ++pci:v00001093d000073A5* ++ ID_MODEL_FROM_DATABASE=PXIe-5641R ++ ++pci:v00001093d000073D5* ++ ID_MODEL_FROM_DATABASE=PXI-7951R ++ ++pci:v00001093d000073D6* ++ ID_MODEL_FROM_DATABASE=PXI-7952R ++ ++pci:v00001093d000073D7* ++ ID_MODEL_FROM_DATABASE=PXI-7953R ++ ++pci:v00001093d000073E1* ++ ID_MODEL_FROM_DATABASE=PXI-7854R ++ ++pci:v00001093d000073EC* ++ ID_MODEL_FROM_DATABASE=PXI-7954R ++ + pci:v00001093d000073F0* + ID_MODEL_FROM_DATABASE=PXI-5153 + +@@ -17438,6 +17633,18 @@ pci:v00001093d00007460* + pci:v00001093d00007461* + ID_MODEL_FROM_DATABASE=PCI-5154EX + ++pci:v00001093d00007539* ++ ID_MODEL_FROM_DATABASE=NI 9157 ++ ++pci:v00001093d0000753A* ++ ID_MODEL_FROM_DATABASE=NI 9159 ++ ++pci:v00001093d00007626* ++ ID_MODEL_FROM_DATABASE=NI 9154 ++ ++pci:v00001093d00007627* ++ ID_MODEL_FROM_DATABASE=NI 9155 ++ + pci:v00001093d0000B001* + ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 + +@@ -17469,7 +17676,28 @@ pci:v00001093d0000B091* + ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 + + pci:v00001093d0000C4C4* +- ID_MODEL_FROM_DATABASE=PXIe-4353/5160 ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device ++ ++pci:v00001093d0000C4C4sv00001093sd000074B2* ++ ID_MODEL_FROM_DATABASE=PXIe-4353 ++ ++pci:v00001093d0000C4C4sv00001093sd000074D0* ++ ID_MODEL_FROM_DATABASE=PXIe-7961R ++ ++pci:v00001093d0000C4C4sv00001093sd000074E2* ++ ID_MODEL_FROM_DATABASE=PXIe-7962R ++ ++pci:v00001093d0000C4C4sv00001093sd000074E3* ++ ID_MODEL_FROM_DATABASE=PXIe-7965R ++ ++pci:v00001093d0000C4C4sv00001093sd00007553* ++ ID_MODEL_FROM_DATABASE=PCIe-1473R ++ ++pci:v00001093d0000C4C4sv00001093sd000075CE* ++ ID_MODEL_FROM_DATABASE=PXIe-7966R ++ ++pci:v00001093d0000C4C4sv00001093sd000076B7* ++ ID_MODEL_FROM_DATABASE=PXIe-7975R + + pci:v00001093d0000C4C4sv00001093sd000076D0* + ID_MODEL_FROM_DATABASE=PXIe-5160 +@@ -17696,9 +17924,6 @@ pci:v0000109Ed0000036Esv00001461sd00000761* + pci:v0000109Ed0000036Esv00001461sd00000771* + ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 + +-pci:v0000109Ed0000036Esv00001464sd0000AA00* +- ID_MODEL_FROM_DATABASE=iTuner Spectra8 +- + pci:v0000109Ed0000036Esv000014F1sd00000001* + ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC + +@@ -18152,6 +18377,9 @@ pci:v000010A9d00008001* + pci:v000010A9d00008002* + ID_MODEL_FROM_DATABASE=G-net NT + ++pci:v000010A9d0000802B* ++ ID_MODEL_FROM_DATABASE=REACT external interrupt controller ++ + pci:v000010AA* + ID_VENDOR_FROM_DATABASE=ACC Microelectronics + +@@ -18485,6 +18713,9 @@ pci:v000010B5d00008732* + pci:v000010B5d00008734* + ID_MODEL_FROM_DATABASE=PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch + ++pci:v000010B5d00008747* ++ ID_MODEL_FROM_DATABASE=PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch ++ + pci:v000010B5d000087B0* + ID_MODEL_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch + +@@ -18969,10 +19200,10 @@ pci:v000010B6d00000009sv000010B6sd00000009* + ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode + + pci:v000010B6d0000000A* +- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode ++ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner + + pci:v000010B6d0000000Asv000010B6sd0000000A* +- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode ++ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner + + pci:v000010B6d0000000B* + ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 +@@ -19001,6 +19232,9 @@ pci:v000010B7* + pci:v000010B7d00000001* + ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) + ++pci:v000010B7d00000001sv00009850sd00000001* ++ ID_MODEL_FROM_DATABASE=3c985B-SX ++ + pci:v000010B7d00000013* + ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) + +@@ -21042,10 +21276,7 @@ pci:v000010DEd000000CC* + ID_MODEL_FROM_DATABASE=NV41GLM [Quadro FX Go1400] + + pci:v000010DEd000000CD* +- ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 3450/4000 SDI] +- +-pci:v000010DEd000000CDsv000010DEsd0000029B* +- ID_MODEL_FROM_DATABASE=wx4300 Workstation ++ ID_MODEL_FROM_DATABASE=NV42GL [Quadro FX 3450/4000 SDI] + + pci:v000010DEd000000CE* + ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 1400] +@@ -24858,7 +25089,7 @@ pci:v000010DEd0000086E* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9100M G] + + pci:v000010DEd0000086F* +- ID_MODEL_FROM_DATABASE=C79 [GeForce 9200M G] ++ ID_MODEL_FROM_DATABASE=MCP79 [GeForce 8200M G] + + pci:v000010DEd00000870* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] +@@ -26006,6 +26237,9 @@ pci:v000010DEd00001005sv00003842sd00002795* + pci:v000010DEd0000100A* + ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] + ++pci:v000010DEd0000100C* ++ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] ++ + pci:v000010DEd0000101F* + ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] + +@@ -26582,6 +26816,9 @@ pci:v000010DEd00001140sv00001462sd000010B8* + pci:v000010DEd00001140sv00001462sd000010E9* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + ++pci:v000010DEd00001140sv00001462sd00001116* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ + pci:v000010DEd00001140sv00001462sd0000AA33* + ID_MODEL_FROM_DATABASE=GeForce 720M + +@@ -26750,6 +26987,9 @@ pci:v000010DEd00001140sv00001B0Asd00002202* + pci:v000010DEd00001180* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] + ++pci:v000010DEd00001180sv00001043sd000083F1* ++ ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 ++ + pci:v000010DEd00001180sv00003842sd00003682* + ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition + +@@ -26804,6 +27044,15 @@ pci:v000010DEd0000118F* + pci:v000010DEd00001193* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] + ++pci:v000010DEd00001198* ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] ++ ++pci:v000010DEd00001199* ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 870M] ++ ++pci:v000010DEd0000119A* ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 860M] ++ + pci:v000010DEd0000119D* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 775M Mac Edition] + +@@ -27065,6 +27314,9 @@ pci:v000010DEd00001251* + pci:v000010DEd00001280* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 635] + ++pci:v000010DEd00001281* ++ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 710] ++ + pci:v000010DEd00001282* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 640 Rev. 2] + +@@ -27107,6 +27359,9 @@ pci:v000010DEd00001294* + pci:v000010DEd00001295* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] + ++pci:v000010DEd00001296* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] ++ + pci:v000010DEd00001298* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 720M] + +@@ -27119,12 +27374,48 @@ pci:v000010DEd000012B9* + pci:v000010DEd000012BA* + ID_MODEL_FROM_DATABASE=GK208GLM [Quadro K510M] + ++pci:v000010DEd00001340* ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] ++ ++pci:v000010DEd00001341* ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] ++ ++pci:v000010DEd00001380* ++ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] ++ ++pci:v000010DEd00001381* ++ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750] ++ ++pci:v000010DEd00001382* ++ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] ++ ++pci:v000010DEd00001390* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] ++ ++pci:v000010DEd00001391* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] ++ ++pci:v000010DEd00001392* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] ++ ++pci:v000010DEd00001393* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] ++ + pci:v000010DF* + ID_VENDOR_FROM_DATABASE=Emulex Corporation + + pci:v000010DFd00000720* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) + ++pci:v000010DFd00000720sv000017AAsd00001056* ++ ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric ++ ++pci:v000010DFd00000720sv000017AAsd00001057* ++ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric ++ ++pci:v000010DFd00000720sv000017AAsd00001059* ++ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric ++ + pci:v000010DFd00000722* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) + +@@ -27167,6 +27458,12 @@ pci:v000010DFd0000E208* + pci:v000010DFd0000E220* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) + ++pci:v000010DFd0000E220sv000017AAsd00001054* ++ ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric ++ ++pci:v000010DFd0000E220sv000017AAsd00001055* ++ ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric ++ + pci:v000010DFd0000E240* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) + +@@ -27573,7 +27870,7 @@ pci:v000010ECd00008029sv00001259sd00002400* + ID_MODEL_FROM_DATABASE=AT-2400 + + pci:v000010ECd00008029sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine + + pci:v000010ECd00008129* + ID_MODEL_FROM_DATABASE=RTL-8129 +@@ -27603,7 +27900,7 @@ pci:v000010ECd00008138sv000010ECsd00008138* + ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter + + pci:v000010ECd00008139* +- ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter + + pci:v000010ECd00008139sv00000357sd0000000A* + ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 +@@ -27638,11 +27935,14 @@ pci:v000010ECd00008139sv00001071sd00008160* + pci:v000010ECd00008139sv000010BDsd00000320* + ID_MODEL_FROM_DATABASE=EP-320X-R + ++pci:v000010ECd00008139sv000010ECsd00008139* ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter ++ + pci:v000010ECd00008139sv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop + + pci:v000010ECd00008139sv00001113sd0000EC01* +- ID_MODEL_FROM_DATABASE=FNC-0107TX ++ ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX + + pci:v000010ECd00008139sv00001186sd00001300* + ID_MODEL_FROM_DATABASE=DFE-538TX +@@ -27734,6 +28034,9 @@ pci:v000010ECd00008139sv0000187Esd00003303* + pci:v000010ECd00008139sv00001904sd00008139* + ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter + ++pci:v000010ECd00008139sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v000010ECd00008139sv00002646sd00000001* + ID_MODEL_FROM_DATABASE=KNE120TX + +@@ -27779,6 +28082,9 @@ pci:v000010ECd00008168sv0000103Csd00001611* + pci:v000010ECd00008168sv0000103Csd00001950* + ID_MODEL_FROM_DATABASE=ProBook 450/455 + ++pci:v000010ECd00008168sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v000010ECd00008168sv00001043sd000011F5* + ID_MODEL_FROM_DATABASE=A6J-Q008 + +@@ -27815,6 +28121,9 @@ pci:v000010ECd00008168sv00001462sd0000238C* + pci:v000010ECd00008168sv00001462sd0000368C* + ID_MODEL_FROM_DATABASE=K9AG Neo2 + ++pci:v000010ECd00008168sv00001462sd00004180* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v000010ECd00008168sv00001462sd00007522* + ID_MODEL_FROM_DATABASE=X58 Pro-E + +@@ -27894,10 +28203,10 @@ pci:v000010ECd00008176sv00001A3Bsd00001139* + ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card + + pci:v000010ECd00008177* +- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter ++ ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter + + pci:v000010ECd00008178* +- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter ++ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter + + pci:v000010ECd00008179* + ID_MODEL_FROM_DATABASE=RTL8188EE Wireless Network Adapter +@@ -27914,11 +28223,14 @@ pci:v000010ECd00008180sv00001737sd00000019* + pci:v000010ECd00008185* + ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller + ++pci:v000010ECd0000818B* ++ ID_MODEL_FROM_DATABASE=RTL8192EE PCIe Wireless Network Adapter ++ + pci:v000010ECd00008190* +- ID_MODEL_FROM_DATABASE=RTL8190 802.11n Wireless LAN ++ ID_MODEL_FROM_DATABASE=RTL8190 802.11n PCI Wireless Network Adapter + + pci:v000010ECd00008191* +- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter ++ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter + + pci:v000010ECd00008192* + ID_MODEL_FROM_DATABASE=RTL8192E/RTL8192SE Wireless LAN Controller +@@ -27938,6 +28250,15 @@ pci:v000010ECd00008199sv00001462sd00006894* + pci:v000010ECd00008723* + ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter + ++pci:v000010ECd00008812* ++ ID_MODEL_FROM_DATABASE=RTL8812AE 802.11ac PCIe Wireless Network Adapter ++ ++pci:v000010ECd00008813* ++ ID_MODEL_FROM_DATABASE=RTL8813AE 802.11ac PCIe Wireless Network Adapter ++ ++pci:v000010ECd00008821* ++ ID_MODEL_FROM_DATABASE=RTL8821AE 802.11ac PCIe Wireless Network Adapter ++ + pci:v000010ECd0000B723* + ID_MODEL_FROM_DATABASE=RTL8723BE PCIe Wireless Network Adapter + +@@ -28211,6 +28532,9 @@ pci:v00001102d00000004sv00001102sd00000058* + pci:v00001102d00000004sv00001102sd00001002* + ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum + ++pci:v00001102d00000004sv00001102sd00001003* ++ ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 ++ + pci:v00001102d00000004sv00001102sd00001007* + ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 + +@@ -28436,6 +28760,9 @@ pci:v00001103d00001742* + pci:v00001103d00002210* + ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller + ++pci:v00001103d00002210sv000011ABsd000011AB* ++ ID_MODEL_FROM_DATABASE=88SX6042 ++ + pci:v00001103d00002300* + ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller + +@@ -28635,7 +28962,7 @@ pci:v00001106d00000415* + ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller + + pci:v00001106d00000415sv00001043sd0000838F* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=Motherboard + + pci:v00001106d00000501* + ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] +@@ -29033,6 +29360,9 @@ pci:v00001106d00003038sv00001849sd00003038* + pci:v00001106d00003038sv000019DAsd0000A179* + ID_MODEL_FROM_DATABASE=ZBOX nano VD01 + ++pci:v00001106d00003038sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001106d00003040* + ID_MODEL_FROM_DATABASE=VT82C586B ACPI + +@@ -29591,6 +29921,9 @@ pci:v00001106d00003238* + pci:v00001106d00003249* + ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller + ++pci:v00001106d00003249sv00001106sd00003249* ++ ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller ++ + pci:v00001106d0000324A* + ID_MODEL_FROM_DATABASE=CX700/VX700 PCI to PCI Bridge + +@@ -30180,7 +30513,7 @@ pci:v00001109d00001400* + ID_MODEL_FROM_DATABASE=EM110TX [EX110TX] + + pci:v0000110A* +- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG ++ ID_VENDOR_FROM_DATABASE=Siemens AG + + pci:v0000110Ad00000002* + ID_MODEL_FROM_DATABASE=Pirahna 2-port +@@ -30216,20 +30549,56 @@ pci:v0000110Ad00002104* + ID_MODEL_FROM_DATABASE=Eicon Diva 2.02 compatible passive ISDN card + + pci:v0000110Ad00003141* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 (Profibus Adapter) ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 / 5621 + + pci:v0000110Ad00003142* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A1 (Profibus Adapter) ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 / 5614 ++ ++pci:v0000110Ad00003143* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 + + pci:v0000110Ad00004021* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) + + pci:v0000110Ad00004029* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A2 (Profibus Adapter) ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 ++ ++pci:v0000110Ad00004029sv0000110Asd00004029* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 ++ ++pci:v0000110Ad00004029sv0000110Asd0000C029* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 + + pci:v0000110Ad00004035* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 + ++pci:v0000110Ad00004036* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1616 ++ ++pci:v0000110Ad00004038* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1604 ++ ++pci:v0000110Ad00004069* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 ++ ++pci:v0000110Ad00004069sv0000110Asd0000C069* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 ++ ++pci:v0000110Ad0000407C* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 ++ ++pci:v0000110Ad0000407D* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A3 ++ ++pci:v0000110Ad0000407E* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5622 ++ ++pci:v0000110Ad00004083* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A3 ++ ++pci:v0000110Ad00004084* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1626 ++ + pci:v0000110Ad00004942* + ID_MODEL_FROM_DATABASE=FPGA I-Bus Tracer for MBD + +@@ -31244,9 +31613,24 @@ pci:v00001131d00007133sv00005ACEsd00006290* + pci:v00001131d00007133sv00005ACEsd00007090* + ID_MODEL_FROM_DATABASE=Behold TV A7 + ++pci:v00001131d00007133sv00005ACEsd00007150* ++ ID_MODEL_FROM_DATABASE=Behold TV H75 ++ ++pci:v00001131d00007133sv00005ACEsd00007151* ++ ID_MODEL_FROM_DATABASE=Behold TV H75 ++ + pci:v00001131d00007133sv00005ACEsd00007190* + ID_MODEL_FROM_DATABASE=Behold TV H7 + ++pci:v00001131d00007133sv00005ACEsd00007191* ++ ID_MODEL_FROM_DATABASE=Behold TV H7 ++ ++pci:v00001131d00007133sv00005ACEsd00007290* ++ ID_MODEL_FROM_DATABASE=Behold TV T7 ++ ++pci:v00001131d00007133sv00005ACEsd00007591* ++ ID_MODEL_FROM_DATABASE=Behold TV X7 ++ + pci:v00001131d00007133sv00005ACEsd00007595* + ID_MODEL_FROM_DATABASE=Behold TV X7 + +@@ -31553,9 +31937,30 @@ pci:v00001131d00007231* + pci:v00001131d00007231sv00005ACEsd00008000* + ID_MODEL_FROM_DATABASE=Behold TV H8 + ++pci:v00001131d00007231sv00005ACEsd00008001* ++ ID_MODEL_FROM_DATABASE=Behold TV H8 ++ ++pci:v00001131d00007231sv00005ACEsd00008050* ++ ID_MODEL_FROM_DATABASE=Behold TV H85 ++ ++pci:v00001131d00007231sv00005ACEsd00008051* ++ ID_MODEL_FROM_DATABASE=Behold TV H85 ++ + pci:v00001131d00007231sv00005ACEsd00008100* + ID_MODEL_FROM_DATABASE=Behold TV A8 + ++pci:v00001131d00007231sv00005ACEsd00008101* ++ ID_MODEL_FROM_DATABASE=Behold TV A8 ++ ++pci:v00001131d00007231sv00005ACEsd00008150* ++ ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ++pci:v00001131d00007231sv00005ACEsd00008151* ++ ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ++pci:v00001131d00007231sv00005ACEsd00008201* ++ ID_MODEL_FROM_DATABASE=Behold TV T8 ++ + pci:v00001131d00009730* + ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller + +@@ -35042,6 +35447,9 @@ pci:v000011C1d00005811* + pci:v000011C1d00005811sv0000103Csd00002A34* + ID_MODEL_FROM_DATABASE=Pavilion a1677c + ++pci:v000011C1d00005811sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v000011C1d00005811sv0000103Csd00002A9E* + ID_MODEL_FROM_DATABASE=Pavilion p6310f + +@@ -35858,6 +36266,9 @@ pci:v00001217d00008330sv00001028sd000004A3* + pci:v00001217d00008331* + ID_MODEL_FROM_DATABASE=O2 Flash Memory Card + ++pci:v00001217d00008520* ++ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller ++ + pci:v00001218* + ID_VENDOR_FROM_DATABASE=Hybricon Corp. + +@@ -36852,7 +37263,7 @@ pci:v00001274d00001171* + ID_MODEL_FROM_DATABASE=ES1373 [AudioPCI] (also Creative Labs CT5803) + + pci:v00001274d00001371* +- ID_MODEL_FROM_DATABASE=ES1371 [AudioPCI-97] ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] + + pci:v00001274d00001371sv00000E11sd00000024* + ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro +@@ -36870,7 +37281,7 @@ pci:v00001274d00001371sv0000107Bsd00008054* + ID_MODEL_FROM_DATABASE=Tabor2 + + pci:v00001274d00001371sv00001274sd00001371* +- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI64V, AudioPCI128 ++ ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 + + pci:v00001274d00001371sv00001274sd00008001* + ID_MODEL_FROM_DATABASE=CT4751 board +@@ -41858,12 +42269,24 @@ pci:v00001425d00005013* + pci:v00001425d00005014* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005015* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005080* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005081* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005083* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005084* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005085* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d00005401* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -41924,12 +42347,24 @@ pci:v00001425d00005413* + pci:v00001425d00005414* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005415* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005480* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005481* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005483* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005484* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005485* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d00005501* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -41990,12 +42425,24 @@ pci:v00001425d00005513* + pci:v00001425d00005514* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller + ++pci:v00001425d00005515* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller ++ + pci:v00001425d00005580* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller + + pci:v00001425d00005581* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller + ++pci:v00001425d00005583* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller ++ ++pci:v00001425d00005584* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller ++ ++pci:v00001425d00005585* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller ++ + pci:v00001425d00005601* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -42056,12 +42503,24 @@ pci:v00001425d00005613* + pci:v00001425d00005614* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller + ++pci:v00001425d00005615* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller ++ + pci:v00001425d00005680* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller + + pci:v00001425d00005681* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller + ++pci:v00001425d00005683* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller ++ ++pci:v00001425d00005684* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller ++ ++pci:v00001425d00005685* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller ++ + pci:v00001425d00005701* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -42122,12 +42581,24 @@ pci:v00001425d00005713* + pci:v00001425d00005714* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005715* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005780* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005781* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005783* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005784* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005785* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d00005801* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -42188,12 +42659,24 @@ pci:v00001425d00005813* + pci:v00001425d00005814* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005815* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005880* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005881* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005883* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005884* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005885* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d0000A000* + ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller + +@@ -42483,7 +42966,7 @@ pci:v00001461d0000F436* + ID_MODEL_FROM_DATABASE=AVerTV Hybrid+FM + + pci:v00001462* +- ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. ++ ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. [MSI] + + pci:v00001463* + ID_VENDOR_FROM_DATABASE=Fast Corporation +@@ -43847,6 +44330,33 @@ pci:v000014E4d0000168E* + pci:v000014E4d0000168Esv0000103Csd00001798* + ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] + ++pci:v000014E4d0000168Esv0000103Csd000017A5* ++ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd000018D3* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001930* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001931* ++ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001932* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001933* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd0000193A* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00003382* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd0000339D* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ + pci:v000014E4d00001690* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe + +@@ -43922,9 +44432,21 @@ pci:v000014E4d000016A1* + pci:v000014E4d000016A2* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet + ++pci:v000014E4d000016A2sv0000103Csd00001916* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ++pci:v000014E4d000016A2sv0000103Csd00001917* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ + pci:v000014E4d000016A4* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function + ++pci:v000014E4d000016A4sv0000103Csd00001916* ++ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter ++ ++pci:v000014E4d000016A4sv0000103Csd00001917* ++ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter ++ + pci:v000014E4d000016A5* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function + +@@ -44048,12 +44570,78 @@ pci:v000014E4d000016ACsv0000103Csd0000703D* + pci:v000014E4d000016AD* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + ++pci:v000014E4d000016ADsv0000103Csd00001916* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ++pci:v000014E4d000016ADsv0000103Csd00001917* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ + pci:v000014E4d000016AE* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function + ++pci:v000014E4d000016AEsv0000103Csd00001798* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd000017A5* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd000018D3* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001930* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001931* ++ ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001932* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001933* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd0000193A* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00003382* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd0000339D* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter ++ + pci:v000014E4d000016AF* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function + ++pci:v000014E4d000016AFsv0000103Csd00001798* ++ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd000017A5* ++ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd000018D3* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001930* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001931* ++ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001932* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001933* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd0000193A* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00003382* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd0000339D* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ + pci:v000014E4d000016B0* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe + +@@ -49484,6 +50072,9 @@ pci:v00001814d0000539F* + pci:v00001814d0000539Fsv0000103Csd00001637* + ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card + ++pci:v00001814d00005592* ++ ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter ++ + pci:v00001814d0000E932* + ID_MODEL_FROM_DATABASE=RT2560F 802.11 b/g PCI + +@@ -50480,6 +51071,12 @@ pci:v0000193Fd00000367* + pci:v0000193Fd00000370* + ID_MODEL_FROM_DATABASE=AHA370-PCIe + ++pci:v0000193Fd00003641* ++ ID_MODEL_FROM_DATABASE=AHA3641 ++ ++pci:v0000193Fd00003642* ++ ID_MODEL_FROM_DATABASE=AHA3642 ++ + pci:v00001942* + ID_VENDOR_FROM_DATABASE=ClearSpeed Technology plc + +@@ -50633,6 +51230,9 @@ pci:v00001957d00000084* + pci:v00001957d00000085* + ID_MODEL_FROM_DATABASE=MPC8347 PBGA + ++pci:v00001957d00000085sv0000110Asd00004046* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 ++ + pci:v00001957d00000086* + ID_MODEL_FROM_DATABASE=MPC8343E + +@@ -51095,6 +51695,9 @@ pci:v000019A2d00000710sv0000103Csd00003341* + pci:v000019A2d00000710sv0000103Csd00003345* + ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter + ++pci:v000019A2d00000710sv0000103Csd0000337B* ++ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ + pci:v000019A2d00000712* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) + +@@ -51104,6 +51707,9 @@ pci:v000019A2d00000714* + pci:v000019A2d00000714sv0000103Csd00003315* + ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter + ++pci:v000019A2d00000714sv0000103Csd0000337B* ++ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ + pci:v000019A8* + ID_VENDOR_FROM_DATABASE=DAQDATA GmbH + +@@ -51236,6 +51842,9 @@ pci:v00001A22* + pci:v00001A29* + ID_VENDOR_FROM_DATABASE=Fortinet, Inc. + ++pci:v00001A29d00004338* ++ ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC ++ + pci:v00001A2B* + ID_VENDOR_FROM_DATABASE=Ascom AG + +@@ -51605,6 +52214,12 @@ pci:v00001AF4d00001005* + pci:v00001AF4d00001009* + ID_MODEL_FROM_DATABASE=Virtio filesystem + ++pci:v00001AF4d00001110* ++ ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory ++ ++pci:v00001AF4d00001110sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001AF5* + ID_VENDOR_FROM_DATABASE=Netezza Corp. + +@@ -51647,6 +52262,9 @@ pci:v00001B21d00000612sv00001849sd00000612* + pci:v00001B21d00001042* + ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller + ++pci:v00001B21d00001042sv00001043sd00008488* ++ ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ + pci:v00001B21d00001042sv00001849sd00001042* + ID_MODEL_FROM_DATABASE=Motherboard + +@@ -51662,6 +52280,39 @@ pci:v00001B2C* + pci:v00001B36* + ID_VENDOR_FROM_DATABASE=Red Hat, Inc. + ++pci:v00001B36d00000001* ++ ID_MODEL_FROM_DATABASE=QEMU PCI-PCI bridge ++ ++pci:v00001B36d00000002* ++ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter ++ ++pci:v00001B36d00000002sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000003* ++ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter ++ ++pci:v00001B36d00000003sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000004* ++ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter ++ ++pci:v00001B36d00000004sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000005* ++ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device ++ ++pci:v00001B36d00000005sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000100* ++ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card ++ ++pci:v00001B36d00000100sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001B37* + ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB + +@@ -51725,6 +52376,9 @@ pci:v00001B4Bd00009130sv00001043sd00008438* + pci:v00001B4Bd00009172* + ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller + ++pci:v00001B4Bd00009178* ++ ID_MODEL_FROM_DATABASE=88SE9170 PCIe SATA 6Gb/s Controller ++ + pci:v00001B4Bd0000917A* + ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller + +@@ -51875,6 +52529,9 @@ pci:v00001BBFd00000004* + pci:v00001BF4* + ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation + ++pci:v00001BF4d00000001* ++ ID_MODEL_FROM_DATABASE=SentinelEX ++ + pci:v00001BFD* + ID_VENDOR_FROM_DATABASE=EeeTOP + +@@ -51902,6 +52559,18 @@ pci:v00001C2Cd000000A1* + pci:v00001C2Cd000000A2* + ID_MODEL_FROM_DATABASE=FBC8XG Capture 8x10Gb + ++pci:v00001C2Cd000000A3* ++ ID_MODEL_FROM_DATABASE=FBC2XG Capture 2x10Gb ++ ++pci:v00001C2Cd000000A4* ++ ID_MODEL_FROM_DATABASE=FBC4XGG3 Capture 4x10Gb ++ ++pci:v00001C2Cd000000A5* ++ ID_MODEL_FROM_DATABASE=FBC2XLG Capture 2x40Gb ++ ++pci:v00001C2Cd000000A6* ++ ID_MODEL_FROM_DATABASE=FBC1CG Capture 1x100Gb ++ + pci:v00001C32* + ID_VENDOR_FROM_DATABASE=Highland Technology, Inc. + +@@ -53970,7 +54639,7 @@ pci:v00008086d00000100sv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + + pci:v00008086d00000100sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard + + pci:v00008086d00000101* + ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port +@@ -53987,6 +54656,9 @@ pci:v00008086d00000102* + pci:v00008086d00000102sv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + ++pci:v00008086d00000102sv00001043sd00000102* ++ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ + pci:v00008086d00000104* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller + +@@ -54065,9 +54737,15 @@ pci:v00008086d00000151* + pci:v00008086d00000151sv00001043sd00001477* + ID_MODEL_FROM_DATABASE=N56VZ + ++pci:v00008086d00000151sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00000151sv00001043sd000084CA* + ID_MODEL_FROM_DATABASE=P8H77-I Motherboard + ++pci:v00008086d00000151sv00008086sd00002010* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00000152* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + +@@ -54098,12 +54776,21 @@ pci:v00008086d00000154sv00001043sd00001517* + pci:v00008086d00000155* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + ++pci:v00008086d00000155sv00008086sd00002010* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00000156* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller + + pci:v00008086d00000158* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller + ++pci:v00008086d00000158sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ++pci:v00008086d00000158sv00008086sd00002010* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00000159* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + +@@ -54116,6 +54803,9 @@ pci:v00008086d0000015C* + pci:v00008086d0000015D* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + ++pci:v00008086d0000015Dsv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d0000015E* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + +@@ -54137,6 +54827,9 @@ pci:v00008086d00000166sv00001043sd00002103* + pci:v00008086d0000016A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + ++pci:v00008086d0000016Asv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ + pci:v00008086d00000172* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + +@@ -54753,7 +55446,7 @@ pci:v00008086d0000095Asv00008086sd00005002* + ID_MODEL_FROM_DATABASE=Wireless-N 7265 + + pci:v00008086d0000095Asv00008086sd0000500A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 + + pci:v00008086d0000095Asv00008086sd00005010* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 +@@ -54770,9 +55463,18 @@ pci:v00008086d0000095Asv00008086sd0000502A* + pci:v00008086d0000095Asv00008086sd00005090* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00005100* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ++pci:v00008086d0000095Asv00008086sd0000510A* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00005110* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00005112* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00005190* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + +@@ -54794,9 +55496,15 @@ pci:v00008086d0000095Asv00008086sd00005590* + pci:v00008086d0000095Asv00008086sd00009010* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00009012* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00009110* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00009112* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00009210* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + +@@ -55089,397 +55797,409 @@ pci:v00008086d00000D36* + ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller + + pci:v00008086d00000E00* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DMI2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 + + pci:v00008086d00000E01* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode + + pci:v00008086d00000E02* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1a ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a + + pci:v00008086d00000E03* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1b ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b + + pci:v00008086d00000E04* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2a ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a + + pci:v00008086d00000E05* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2b ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2b + + pci:v00008086d00000E06* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2c ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c + + pci:v00008086d00000E07* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2d ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2d + + pci:v00008086d00000E08* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3a ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a + + pci:v00008086d00000E09* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3b ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3b + + pci:v00008086d00000E0A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3c ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3c + + pci:v00008086d00000E0B* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3d ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3d + + pci:v00008086d00000E10* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E13* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E17* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E18* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E1C* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E1D* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E1E* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + + pci:v00008086d00000E1F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + + pci:v00008086d00000E20* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 + + pci:v00008086d00000E21* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 + + pci:v00008086d00000E22* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 + + pci:v00008086d00000E23* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 + + pci:v00008086d00000E24* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 + + pci:v00008086d00000E25* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 + + pci:v00008086d00000E26* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 + + pci:v00008086d00000E27* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 + + pci:v00008086d00000E28* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 VTd/Memory Map/Misc ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc + + pci:v00008086d00000E29* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Memory Hotplug ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Memory Hotplug + + pci:v00008086d00000E2A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO RAS ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS + + pci:v00008086d00000E2C* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IOAPIC ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC + + pci:v00008086d00000E2E* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA + + pci:v00008086d00000E2F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA + + pci:v00008086d00000E30* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 + + pci:v00008086d00000E32* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 + + pci:v00008086d00000E33* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + + pci:v00008086d00000E34* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E36* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E37* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E38* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 + + pci:v00008086d00000E3A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 + + pci:v00008086d00000E3E* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E3F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E40* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 + + pci:v00008086d00000E41* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E43* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 + + pci:v00008086d00000E44* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 ++ ++pci:v00008086d00000E45* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register ++ ++pci:v00008086d00000E47* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + + pci:v00008086d00000E60* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 + + pci:v00008086d00000E68* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers + + pci:v00008086d00000E6A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E6B* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E6C* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E6D* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E71* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers + + pci:v00008086d00000E74* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E75* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E77* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E79* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers + + pci:v00008086d00000E7D* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + + pci:v00008086d00000E7F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E80* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 + + pci:v00008086d00000E81* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E83* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 + + pci:v00008086d00000E84* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 ++ ++pci:v00008086d00000E85* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + + pci:v00008086d00000E87* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Registers + + pci:v00008086d00000E90* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + + pci:v00008086d00000E93* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + + pci:v00008086d00000E94* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 1 ++ ++pci:v00008086d00000E95* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + + pci:v00008086d00000EA0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 + + pci:v00008086d00000EA8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers + + pci:v00008086d00000EAA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAB* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAD* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EAF* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EB0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 + + pci:v00008086d00000EB1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 + + pci:v00008086d00000EB2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 + + pci:v00008086d00000EB3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 + + pci:v00008086d00000EB4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 + + pci:v00008086d00000EB5* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 + + pci:v00008086d00000EB6* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 + + pci:v00008086d00000EB7* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 + + pci:v00008086d00000EBC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EBE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EBF* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EC0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0 + + pci:v00008086d00000EC1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1 + + pci:v00008086d00000EC2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2 + + pci:v00008086d00000EC3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3 + + pci:v00008086d00000EC4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 4 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 4 + + pci:v00008086d00000EC8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 System Address Decoder ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder + + pci:v00008086d00000EC9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers + + pci:v00008086d00000ECA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers + + pci:v00008086d00000ED8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000ED9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDD* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDF* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EE0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE5* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE6* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE7* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEB* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EED* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EF0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 + + pci:v00008086d00000EF1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 + + pci:v00008086d00000EF2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 + + pci:v00008086d00000EF3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 + + pci:v00008086d00000EF4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 + + pci:v00008086d00000EF5* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 + + pci:v00008086d00000EF6* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 + + pci:v00008086d00000EF7* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 + + pci:v00008086d00000EF8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EF9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFB* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFD* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000F00* + ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +@@ -55868,6 +56588,9 @@ pci:v00008086d0000100Esv00001028sd00000151* + pci:v00008086d0000100Esv0000107Bsd00008920* + ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter + ++pci:v00008086d0000100Esv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000100Esv00008086sd0000001E* + ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter + +@@ -56057,6 +56780,9 @@ pci:v00008086d0000101Esv00008086sd0000101E* + pci:v00008086d00001026* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + ++pci:v00008086d00001026sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d00001026sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -56867,15 +57593,24 @@ pci:v00008086d000010D3* + pci:v00008086d000010D3sv0000103Csd00003250* + ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter + ++pci:v00008086d000010D3sv00001043sd00008369* ++ ID_MODEL_FROM_DATABASE=Motherboard ++ + pci:v00008086d000010D3sv000010A9sd00008029* + ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet + + pci:v00008086d000010D3sv000015D9sd0000060A* + ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard + ++pci:v00008086d000010D3sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d000010D3sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter + ++pci:v00008086d000010D3sv00008086sd0000357A* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d000010D3sv00008086sd0000A01F* + ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter + +@@ -57002,6 +57737,9 @@ pci:v00008086d000010EF* + pci:v00008086d000010EFsv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d000010EFsv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d000010F0* + ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection + +@@ -57086,6 +57824,9 @@ pci:v00008086d000010FBsv0000108Esd00007B11* + pci:v00008086d000010FBsv00001734sd000011A9* + ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection + ++pci:v00008086d000010FBsv000017AAsd00001071* ++ ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric ++ + pci:v00008086d000010FBsv00008086sd00000002* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 + +@@ -57182,6 +57923,9 @@ pci:v00008086d00001209* + pci:v00008086d00001209sv0000140Bsd00000610* + ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board + ++pci:v00008086d00001209sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00001209sv00004C53sd00001050* + ID_MODEL_FROM_DATABASE=CT7 mainboard + +@@ -57428,6 +58172,9 @@ pci:v00008086d00001229sv00001775sd00001100* + pci:v00008086d00001229sv00001775sd0000CE90* + ID_MODEL_FROM_DATABASE=CE9 + ++pci:v00008086d00001229sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00001229sv00004C53sd00001080* + ID_MODEL_FROM_DATABASE=CT8 mainboard + +@@ -57782,6 +58529,9 @@ pci:v00008086d00001502* + pci:v00008086d00001502sv00001028sd000004A3* + ID_MODEL_FROM_DATABASE=Precision M4600 + ++pci:v00008086d00001502sv00008086sd0000357A* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00001503* + ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection + +@@ -57878,12 +58628,18 @@ pci:v00008086d00001520* + pci:v00008086d00001521* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection + ++pci:v00008086d00001521sv00001028sd00000602* ++ ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM ++ + pci:v00008086d00001521sv00001028sd00001F60* + ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC + + pci:v00008086d00001521sv00001028sd00001F62* + ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC + ++pci:v00008086d00001521sv00001028sd0000FF9A* ++ ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC ++ + pci:v00008086d00001521sv0000103Csd000017D1* + ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter + +@@ -57911,6 +58667,9 @@ pci:v00008086d00001521sv0000108Esd00007B18* + pci:v00008086d00001521sv000010A9sd0000802A* + ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE + ++pci:v00008086d00001521sv000017AAsd00001074* ++ ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric ++ + pci:v00008086d00001521sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 + +@@ -57962,6 +58721,9 @@ pci:v00008086d00001522sv00008086sd000000A4* + pci:v00008086d00001523* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection + ++pci:v00008086d00001523sv00001028sd00001F9B* ++ ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC ++ + pci:v00008086d00001523sv0000103Csd00001784* + ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter + +@@ -58025,6 +58787,9 @@ pci:v00008086d00001528sv0000108Esd00007B15* + pci:v00008086d00001528sv00001137sd000000BF* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 + ++pci:v00008086d00001528sv000017AAsd00001073* ++ ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric ++ + pci:v00008086d00001528sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 + +@@ -58055,6 +58820,9 @@ pci:v00008086d00001533* + pci:v00008086d00001533sv0000103Csd00000003* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 + ++pci:v00008086d00001533sv000017AAsd00001100* ++ ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter ++ + pci:v00008086d00001533sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 + +@@ -58103,6 +58871,9 @@ pci:v00008086d0000154Asv00008086sd0000011B* + pci:v00008086d0000154Asv00008086sd0000011C* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 + ++pci:v00008086d0000154C* ++ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ + pci:v00008086d0000154D* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter + +@@ -58148,12 +58919,78 @@ pci:v00008086d0000155Dsv00008086sd00000002* + pci:v00008086d00001560* + ID_MODEL_FROM_DATABASE=Ethernet Controller X540 + ++pci:v00008086d00001571* ++ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ ++pci:v00008086d00001572* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter ++ ++pci:v00008086d00001572sv00001028sd00001F99* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC ++ ++pci:v00008086d00001572sv00008086sd00000001* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ++pci:v00008086d00001572sv00008086sd00000002* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ++pci:v00008086d00001572sv00008086sd00000004* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ++pci:v00008086d00001572sv00008086sd00000005* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter ++ ++pci:v00008086d00001572sv00008086sd00000006* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter ++ ++pci:v00008086d00001572sv00008086sd00000007* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ ++pci:v00008086d00001572sv00008086sd00000008* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ + pci:v00008086d0000157B* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection + + pci:v00008086d0000157C* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + ++pci:v00008086d00001580* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane ++ ++pci:v00008086d00001581* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane ++ ++pci:v00008086d00001581sv00001028sd00001F98* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC ++ ++pci:v00008086d00001583* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ ++ ++pci:v00008086d00001583sv00008086sd00000001* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ++pci:v00008086d00001583sv00008086sd00000002* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ++pci:v00008086d00001583sv00008086sd00000003* ++ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 ++ ++pci:v00008086d00001584* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ ++ ++pci:v00008086d00001584sv00008086sd00000001* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ++pci:v00008086d00001584sv00008086sd00000002* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ++pci:v00008086d00001584sv00008086sd00000003* ++ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 ++ ++pci:v00008086d00001585* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ ++ + pci:v00008086d000015A0* + ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I218-LM + +@@ -58166,6 +59003,117 @@ pci:v00008086d000015A2* + pci:v00008086d000015A3* + ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V + ++pci:v00008086d00001600* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI ++ ++pci:v00008086d00001601* ++ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x16 Controller ++ ++pci:v00008086d00001602* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001603* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Camarillo Device ++ ++pci:v00008086d00001604* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI ++ ++pci:v00008086d00001605* ++ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x8 Controller ++ ++pci:v00008086d00001606* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001607* ++ ID_MODEL_FROM_DATABASE=Broadwell-U CHAPS Device ++ ++pci:v00008086d00001608* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI ++ ++pci:v00008086d00001609* ++ ID_MODEL_FROM_DATABASE=Broadwell-U x4 PCIe ++ ++pci:v00008086d0000160A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160C* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Audio Controller ++ ++pci:v00008086d0000160D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160F* ++ ID_MODEL_FROM_DATABASE=Broadwell-U SoftSKU ++ ++pci:v00008086d00001610* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI ++ ++pci:v00008086d00001612* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001614* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI ++ ++pci:v00008086d00001616* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001618* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI ++ ++pci:v00008086d0000161A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000161B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000161D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000161E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001622* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001626* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001632* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001636* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ + pci:v00008086d00001960* + ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor + +@@ -58308,7 +59256,10 @@ pci:v00008086d00001C02sv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + + pci:v00008086d00001C02sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ++pci:v00008086d00001C02sv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS + + pci:v00008086d00001C03* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller +@@ -58346,8 +59297,11 @@ pci:v00008086d00001C10sv00001028sd000004AA* + pci:v00008086d00001C10sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + ++pci:v00008086d00001C10sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00001C10sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C12* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 +@@ -58379,18 +59333,27 @@ pci:v00008086d00001C18* + pci:v00008086d00001C18sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + ++pci:v00008086d00001C18sv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00001C1A* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 + + pci:v00008086d00001C1Asv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + ++pci:v00008086d00001C1Asv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00001C1C* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 + + pci:v00008086d00001C1E* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 + ++pci:v00008086d00001C1Esv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00001C20* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller + +@@ -58412,6 +59375,9 @@ pci:v00008086d00001C20sv00001028sd000004DA* + pci:v00008086d00001C20sv00001043sd00008418* + ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard + ++pci:v00008086d00001C20sv00001043sd0000841B* ++ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ + pci:v00008086d00001C20sv00008086sd00002008* + ID_MODEL_FROM_DATABASE=DQ67SW board + +@@ -58434,10 +59400,10 @@ pci:v00008086d00001C22sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C22sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C22sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C24* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller +@@ -58461,10 +59427,10 @@ pci:v00008086d00001C26sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C26sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C26sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C27* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 +@@ -58494,10 +59460,10 @@ pci:v00008086d00001C2Dsv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C2Dsv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C2Dsv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C33* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller +@@ -58521,7 +59487,7 @@ pci:v00008086d00001C3Asv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C3Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C3Asv00008086sd00007270* + ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] +@@ -58577,6 +59543,9 @@ pci:v00008086d00001C4A* + pci:v00008086d00001C4Asv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + ++pci:v00008086d00001C4Asv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ + pci:v00008086d00001C4B* + ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller + +@@ -58610,6 +59579,9 @@ pci:v00008086d00001C51* + pci:v00008086d00001C52* + ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller + ++pci:v00008086d00001C52sv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00001C53* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller + +@@ -58622,6 +59594,9 @@ pci:v00008086d00001C55* + pci:v00008086d00001C56* + ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller + ++pci:v00008086d00001C56sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ + pci:v00008086d00001C57* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller + +@@ -59345,6 +60320,9 @@ pci:v00008086d0000225C* + pci:v00008086d0000225D* + ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 3120 series + ++pci:v00008086d0000225E* ++ ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 31S1 ++ + pci:v00008086d00002310* + ID_MODEL_FROM_DATABASE=DH89xxCC LPC Controller + +@@ -59495,6 +60473,9 @@ pci:v00008086d00002415sv000011D4sd00005340* + pci:v00008086d00002415sv00001734sd00001025* + ID_MODEL_FROM_DATABASE=Activy 3xx + ++pci:v00008086d00002415sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002416* + ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller + +@@ -59804,6 +60785,9 @@ pci:v00008086d00002449sv00001186sd00007801* + pci:v00008086d00002449sv0000144Dsd00002602* + ID_MODEL_FROM_DATABASE=HomePNA 1M CNR + ++pci:v00008086d00002449sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002449sv00008086sd00003010* + ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE + +@@ -59897,6 +60881,9 @@ pci:v00008086d0000244Esv00001028sd000002DA* + pci:v00008086d0000244Esv0000103Csd00002A3B* + ID_MODEL_FROM_DATABASE=Pavilion A1512X + ++pci:v00008086d0000244Esv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000244Esv0000103Csd000031FE* + ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 + +@@ -59906,15 +60893,27 @@ pci:v00008086d0000244Esv0000103Csd0000330B* + pci:v00008086d0000244Esv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + ++pci:v00008086d0000244Esv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d0000244Esv00001458sd00005000* + ID_MODEL_FROM_DATABASE=Motherboard + ++pci:v00008086d0000244Esv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ++pci:v00008086d0000244Esv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d0000244Esv000015D9sd00009680* + ID_MODEL_FROM_DATABASE=X7DBN Motherboard + + pci:v00008086d0000244Esv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + ++pci:v00008086d0000244Esv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00002450* + ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) + +@@ -60671,6 +61670,9 @@ pci:v00008086d000024CDsv00001734sd00001004* + pci:v00008086d000024CDsv00001734sd00001055* + ID_MODEL_FROM_DATABASE=Amilo M1420 + ++pci:v00008086d000024CDsv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000024CDsv00004C53sd00001090* + ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard + +@@ -60689,6 +61691,9 @@ pci:v00008086d000024D0* + pci:v00008086d000024D1* + ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller + ++pci:v00008086d000024D1sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D1sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60740,6 +61745,9 @@ pci:v00008086d000024D2sv00001014sd000002DD* + pci:v00008086d000024D2sv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024D2sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D2sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60809,6 +61817,9 @@ pci:v00008086d000024D3sv00001014sd000002ED* + pci:v00008086d000024D3sv00001028sd00000156* + ID_MODEL_FROM_DATABASE=Precision 360 + ++pci:v00008086d000024D3sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D3sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60860,6 +61871,9 @@ pci:v00008086d000024D4sv00001014sd000002DD* + pci:v00008086d000024D4sv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024D4sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D4sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60926,6 +61940,9 @@ pci:v00008086d000024D5* + pci:v00008086d000024D5sv0000100Asd0000147B* + ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard + ++pci:v00008086d000024D5sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D5sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60977,6 +61994,9 @@ pci:v00008086d000024D7* + pci:v00008086d000024D7sv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=xSeries server mainboard + ++pci:v00008086d000024D7sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D7sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61040,6 +62060,9 @@ pci:v00008086d000024DBsv00001014sd000002DD* + pci:v00008086d000024DBsv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024DBsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024DBsv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61112,6 +62135,9 @@ pci:v00008086d000024DDsv00001014sd000002DD* + pci:v00008086d000024DDsv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024DDsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024DDsv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61169,6 +62195,9 @@ pci:v00008086d000024DE* + pci:v00008086d000024DEsv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=xSeries server mainboard + ++pci:v00008086d000024DEsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024DEsv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61208,6 +62237,21 @@ pci:v00008086d000024DEsv00008086sd0000524C* + pci:v00008086d000024DF* + ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller + ++pci:v00008086d000024DFsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ++pci:v00008086d000024F3* ++ ID_MODEL_FROM_DATABASE=Wireless 8260 ++ ++pci:v00008086d000024F3sv00008086sd00000010* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ ++pci:v00008086d000024F4* ++ ID_MODEL_FROM_DATABASE=Wireless 8260 ++ ++pci:v00008086d000024F4sv00008086sd00000030* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ + pci:v00008086d00002500* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) + +@@ -61679,6 +62723,9 @@ pci:v00008086d000025ABsv00001775sd00001100* + pci:v00008086d000025ABsv00001775sd0000CE90* + ID_MODEL_FROM_DATABASE=CE9 + ++pci:v00008086d000025ABsv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000025ABsv00004C53sd000010B0* + ID_MODEL_FROM_DATABASE=CL9 mainboard + +@@ -62330,6 +63377,9 @@ pci:v00008086d00002668sv00001043sd0000814E* + pci:v00008086d00002668sv00001462sd00007028* + ID_MODEL_FROM_DATABASE=915P/G Neo2 + ++pci:v00008086d00002668sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000266A* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller + +@@ -62657,6 +63707,9 @@ pci:v00008086d00002770sv00001043sd0000817A* + pci:v00008086d00002770sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=E4500 + ++pci:v00008086d00002770sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d00002770sv00008086sd0000544E* + ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP + +@@ -62669,6 +63722,9 @@ pci:v00008086d00002772* + pci:v00008086d00002772sv0000103Csd00002A3B* + ID_MODEL_FROM_DATABASE=Pavilion A1512X + ++pci:v00008086d00002772sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d00002772sv00008086sd0000544E* + ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP + +@@ -62831,6 +63887,9 @@ pci:v00008086d000027B8sv00001043sd00008179* + pci:v00008086d000027B8sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=E4500 + ++pci:v00008086d000027B8sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027B8sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -62906,6 +63965,9 @@ pci:v00008086d000027C0sv00001462sd00002310* + pci:v00008086d000027C0sv00001462sd00007236* + ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard + ++pci:v00008086d000027C0sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027C0sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -62961,7 +64023,7 @@ pci:v00008086d000027C4sv00001028sd000001D7* + ID_MODEL_FROM_DATABASE=XPS M1210 + + pci:v00008086d000027C4sv000017AAsd0000200E* +- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 ++ ID_MODEL_FROM_DATABASE=ThinkPad T60 + + pci:v00008086d000027C5* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] +@@ -63026,6 +64088,9 @@ pci:v00008086d000027C8sv0000144Dsd0000C072* + pci:v00008086d000027C8sv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027C8sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027C8sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63089,6 +64154,9 @@ pci:v00008086d000027C9sv0000144Dsd0000C072* + pci:v00008086d000027C9sv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027C9sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027C9sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63152,6 +64220,9 @@ pci:v00008086d000027CAsv0000144Dsd0000C072* + pci:v00008086d000027CAsv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027CAsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027CAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63209,6 +64280,9 @@ pci:v00008086d000027CBsv0000144Dsd0000C072* + pci:v00008086d000027CBsv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027CBsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027CBsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63266,6 +64340,9 @@ pci:v00008086d000027CCsv0000144Dsd0000C072* + pci:v00008086d000027CCsv00001458sd00005006* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027CCsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027CCsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63296,6 +64373,9 @@ pci:v00008086d000027D0sv0000144Dsd0000C072* + pci:v00008086d000027D0sv00001458sd00005001* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027D0sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D0sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63314,6 +64394,9 @@ pci:v00008086d000027D2sv0000103Csd000030A3* + pci:v00008086d000027D2sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=Notebook N150P + ++pci:v00008086d000027D2sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D2sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63326,6 +64409,9 @@ pci:v00008086d000027D4* + pci:v00008086d000027D4sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=Notebook N150P + ++pci:v00008086d000027D4sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D4sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63341,6 +64427,9 @@ pci:v00008086d000027D6sv0000103Csd000030A3* + pci:v00008086d000027D6sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=Notebook N150P + ++pci:v00008086d000027D6sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D6sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63410,6 +64499,9 @@ pci:v00008086d000027D8sv00001458sd0000A002* + pci:v00008086d000027D8sv00001458sd0000A102* + ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard + ++pci:v00008086d000027D8sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D8sv0000152Dsd00000753* + ID_MODEL_FROM_DATABASE=Softmodem + +@@ -63470,6 +64562,9 @@ pci:v00008086d000027DAsv0000144Dsd0000C072* + pci:v00008086d000027DAsv00001458sd00005001* + ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard + ++pci:v00008086d000027DAsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027DAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63545,6 +64640,9 @@ pci:v00008086d000027DFsv0000107Bsd00005048* + pci:v00008086d000027DFsv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop + ++pci:v00008086d000027DFsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027DFsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63632,6 +64730,9 @@ pci:v00008086d00002822* + pci:v00008086d00002822sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d00002822sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002823* + ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller + +@@ -64202,6 +65303,9 @@ pci:v00008086d00002916* + pci:v00008086d00002916sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d00002916sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002916sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + +@@ -64223,6 +65327,9 @@ pci:v00008086d00002918sv00001028sd00000236* + pci:v00008086d00002918sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002918sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002919* + ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller + +@@ -64265,6 +65372,9 @@ pci:v00008086d00002921sv00001462sd00007360* + pci:v00008086d00002922* + ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] + ++pci:v00008086d00002922sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002922sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64331,6 +65441,9 @@ pci:v00008086d00002930sv00001028sd0000020D* + pci:v00008086d00002930sv00001028sd00000211* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002930sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002930sv0000103Csd00003628* + ID_MODEL_FROM_DATABASE=dv6-1190en + +@@ -64340,6 +65453,9 @@ pci:v00008086d00002930sv00001043sd00008277* + pci:v00008086d00002930sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002930sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002930sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64388,12 +65504,18 @@ pci:v00008086d00002934sv00001028sd0000029C* + pci:v00008086d00002934sv00001028sd00002011* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002934sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002934sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002934sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002934sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002934sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64433,12 +65555,18 @@ pci:v00008086d00002935sv00001028sd00000287* + pci:v00008086d00002935sv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller + ++pci:v00008086d00002935sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002935sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002935sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002935sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002935sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64472,12 +65600,18 @@ pci:v00008086d00002936sv00001028sd00000287* + pci:v00008086d00002936sv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller + ++pci:v00008086d00002936sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002936sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002936sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002936sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002936sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64511,12 +65645,18 @@ pci:v00008086d00002937sv00001028sd0000029C* + pci:v00008086d00002937sv00001028sd00002011* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002937sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002937sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002937sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002937sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002937sv00008086sd00002937* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64553,12 +65693,18 @@ pci:v00008086d00002938sv00001028sd00000287* + pci:v00008086d00002938sv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller + ++pci:v00008086d00002938sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002938sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002938sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002938sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002938sv00008086sd00002938* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64580,12 +65726,18 @@ pci:v00008086d00002939sv00001028sd00000210* + pci:v00008086d00002939sv00001028sd00000237* + ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller + ++pci:v00008086d00002939sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002939sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002939sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002939sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002939sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64625,12 +65777,18 @@ pci:v00008086d0000293Asv00001028sd00000287* + pci:v00008086d0000293Asv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller + ++pci:v00008086d0000293Asv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000293Asv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d0000293Asv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d0000293Asv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000293Asv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64661,12 +65819,18 @@ pci:v00008086d0000293Csv00001028sd00000287* + pci:v00008086d0000293Csv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller + ++pci:v00008086d0000293Csv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000293Csv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d0000293Csv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d0000293Csv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000293Csv00008086sd0000293C* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64685,6 +65849,9 @@ pci:v00008086d0000293Esv00001028sd0000020D* + pci:v00008086d0000293Esv00001028sd00000211* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d0000293Esv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000293Esv0000103Csd00003628* + ID_MODEL_FROM_DATABASE=dv6-1190en + +@@ -64694,6 +65861,9 @@ pci:v00008086d0000293Esv00001043sd0000829F* + pci:v00008086d0000293Esv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d0000293Esv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000293Esv00008086sd0000293E* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64712,6 +65882,9 @@ pci:v00008086d00002940sv00001028sd0000020D* + pci:v00008086d00002940sv00001028sd00000211* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002940sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002940sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + +@@ -64730,6 +65903,9 @@ pci:v00008086d00002944* + pci:v00008086d00002944sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d00002944sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002946* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 + +@@ -64910,6 +66086,9 @@ pci:v00008086d000029C0* + pci:v00008086d000029C0sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d000029C0sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d000029C0sv00001043sd00008276* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + +@@ -64919,6 +66098,9 @@ pci:v00008086d000029C0sv00001043sd000082B0* + pci:v00008086d000029C0sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d000029C0sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000029C0sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -66050,6 +67232,9 @@ pci:v00008086d00002F37* + pci:v00008086d00002F38* + ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1 + ++pci:v00008086d00002F39* ++ ID_MODEL_FROM_DATABASE=Haswell-E I/O Performance Monitoring ++ + pci:v00008086d00002F3A* + ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2 + +@@ -66899,6 +68084,9 @@ pci:v00008086d00003591* + pci:v00008086d00003591sv00001014sd000002DD* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d00003591sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d00003591sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -66968,6 +68156,9 @@ pci:v00008086d0000359Bsv00001014sd000002DD* + pci:v00008086d0000359E* + ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub + ++pci:v00008086d0000359Esv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d0000359Esv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -67586,6 +68777,9 @@ pci:v00008086d00003B0A* + pci:v00008086d00003B0Asv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d00003B0Asv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B0B* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller + +@@ -67661,6 +68855,9 @@ pci:v00008086d00003B22* + pci:v00008086d00003B22sv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d00003B22sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B23* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller + +@@ -67715,6 +68912,9 @@ pci:v00008086d00003B30sv00001028sd000002DA* + pci:v00008086d00003B30sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B30sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B30sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67736,6 +68936,9 @@ pci:v00008086d00003B34sv00001028sd000002DA* + pci:v00008086d00003B34sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B34sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B34sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67769,6 +68972,9 @@ pci:v00008086d00003B3Csv00001028sd000002DA* + pci:v00008086d00003B3Csv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B3Csv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B3Csv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67793,12 +68999,18 @@ pci:v00008086d00003B42sv00001028sd000002DA* + pci:v00008086d00003B42sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B42sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B44* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 + + pci:v00008086d00003B44sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B44sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B46* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 + +@@ -67841,6 +69053,9 @@ pci:v00008086d00003B56sv00001028sd000002DA* + pci:v00008086d00003B56sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B56sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B56sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67853,6 +69068,9 @@ pci:v00008086d00003B64* + pci:v00008086d00003B64sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=Aspire 7740G + ++pci:v00008086d00003B64sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B64sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -68601,10 +69819,10 @@ pci:v00008086d0000504C* + ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist TDM + + pci:v00008086d00005200* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server ++ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server PCI Bridge + + pci:v00008086d00005201* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server ++ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller + + pci:v00008086d00005201sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter +@@ -68612,6 +69830,12 @@ pci:v00008086d00005201sv00008086sd00000001* + pci:v00008086d0000530D* + ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor + ++pci:v00008086d00005845* ++ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller ++ ++pci:v00008086d00005845sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000065C0* + ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub + +@@ -68688,7 +69912,7 @@ pci:v00008086d00007020* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] + + pci:v00008086d00007020sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine + + pci:v00008086d00007030* + ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] +@@ -68720,6 +69944,9 @@ pci:v00008086d00007112* + pci:v00008086d00007112sv000015ADsd00001976* + ID_MODEL_FROM_DATABASE=Virtual Machine Chipset + ++pci:v00008086d00007112sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00007113* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI + +@@ -69383,6 +70610,9 @@ pci:v00008086d00008D04* + pci:v00008086d00008D06* + ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] + ++pci:v00008086d00008D06sv000017AAsd00001031* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i ++ + pci:v00008086d00008D08* + ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] + +@@ -69959,6 +71189,9 @@ pci:v00008086d0000D131* + pci:v00008086d0000D131sv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d0000D131sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d0000D132* + ID_MODEL_FROM_DATABASE=Core Processor DMI + +@@ -69989,6 +71222,9 @@ pci:v00008086d0000D138sv00001028sd000002DA* + pci:v00008086d0000D138sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d0000D138sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d0000D139* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 + +@@ -71144,6 +72380,9 @@ pci:v00009005d00008089* + pci:v00009005d0000808F* + ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID + ++pci:v00009005d0000808Fsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00009005d00008090* + ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID + +@@ -71271,11 +72510,14 @@ pci:v00009710d00009912* + ID_MODEL_FROM_DATABASE=PCIe 9912 Multi-I/O Controller + + pci:v00009710d00009922* +- ID_MODEL_FROM_DATABASE=PCIe 9922 Multi-I/O Controller ++ ID_MODEL_FROM_DATABASE=MCS9922 PCIe Multi-I/O Controller + + pci:v00009710d00009990* + ID_MODEL_FROM_DATABASE=MCS9990 PCIe to 4‐Port USB 2.0 Host Controller + ++pci:v00009850* ++ ID_VENDOR_FROM_DATABASE=3Com (wrong ID) ++ + pci:v00009902* + ID_VENDOR_FROM_DATABASE=Stargen Inc. + +@@ -71381,6 +72623,9 @@ pci:v0000BD11* + pci:v0000BDBD* + ID_VENDOR_FROM_DATABASE=Blackmagic Design + ++pci:v0000BDBDd0000A106* ++ ID_MODEL_FROM_DATABASE=Multibridge Extreme ++ + pci:v0000BDBDd0000A117* + ID_MODEL_FROM_DATABASE=Intensity Pro + +@@ -71585,6 +72830,51 @@ pci:v0000D84D* + pci:v0000DADA* + ID_VENDOR_FROM_DATABASE=Datapath Limited + ++pci:v0000DADAd00000133* ++ ID_MODEL_FROM_DATABASE=VisionRGB-X2 ++ ++pci:v0000DADAd00000139* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E1 ++ ++pci:v0000DADAd00000144* ++ ID_MODEL_FROM_DATABASE=VisionSD8 ++ ++pci:v0000DADAd00000150* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E2 ++ ++pci:v0000DADAd00000151* ++ ID_MODEL_FROM_DATABASE=VisionSD4+1 ++ ++pci:v0000DADAd00000159* ++ ID_MODEL_FROM_DATABASE=VisionAV ++ ++pci:v0000DADAd00000161* ++ ID_MODEL_FROM_DATABASE=DGC161 ++ ++pci:v0000DADAd00000165* ++ ID_MODEL_FROM_DATABASE=DGC165 ++ ++pci:v0000DADAd00000167* ++ ID_MODEL_FROM_DATABASE=DGC167 ++ ++pci:v0000DADAd00000168* ++ ID_MODEL_FROM_DATABASE=DGC168 ++ ++pci:v0000DADAd00001139* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E1S ++ ++pci:v0000DADAd00001150* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E2S ++ ++pci:v0000DADAd00001151* ++ ID_MODEL_FROM_DATABASE=VisionSD4+1S ++ ++pci:v0000DADAd00001153* ++ ID_MODEL_FROM_DATABASE=VisionDVI-DL ++ ++pci:v0000DADAd00001154* ++ ID_MODEL_FROM_DATABASE=VisionSDI2 ++ + pci:v0000DB10* + ID_VENDOR_FROM_DATABASE=Diablo Technologies + +@@ -71735,6 +73025,9 @@ pci:v0000E4BFd0000CC47* + pci:v0000E4BFd0000CC4D* + ID_MODEL_FROM_DATABASE=CCM-BOOGIE + ++pci:v0000E4E4* ++ ID_VENDOR_FROM_DATABASE=Xorcom ++ + pci:v0000E55E* + ID_VENDOR_FROM_DATABASE=Essence Technology, Inc. + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 60dbcd2..014c628 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -20,6 +20,12 @@ usb:v0003* + usb:v0004* + ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart + ++usb:v0011* ++ ID_VENDOR_FROM_DATABASE=Unknown manufacturer ++ ++usb:v0011p7788* ++ ID_MODEL_FROM_DATABASE=Flash mass storage drive ++ + usb:v0053* + ID_VENDOR_FROM_DATABASE=Planex + +@@ -30,7 +36,7 @@ usb:v0079* + ID_VENDOR_FROM_DATABASE=DragonRise Inc. + + usb:v0079p0006* +- ID_MODEL_FROM_DATABASE=Generic USB Joystick ++ ID_MODEL_FROM_DATABASE=PC TWIN SHOCK Gamepad + + usb:v0079p0011* + ID_MODEL_FROM_DATABASE=Gamepad +@@ -63,7 +69,7 @@ usb:v0204* + ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd + + usb:v0204p6025* +- ID_MODEL_FROM_DATABASE=CBM2080 Flash drive controller ++ ID_MODEL_FROM_DATABASE=CBM2080 / CBM2090 Flash drive controller + + usb:v0204p6026* + ID_MODEL_FROM_DATABASE=CBM1180 Flash drive controller +@@ -263,6 +269,9 @@ usb:v03EBp2109* + usb:v03EBp210D* + ID_MODEL_FROM_DATABASE=XPLAIN evaluation kit (CDC ACM) + ++usb:v03EBp2110* ++ ID_MODEL_FROM_DATABASE=AVR JTAGICE3 Debugger and Programmer ++ + usb:v03EBp2122* + ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit + +@@ -1001,6 +1010,9 @@ usb:v03F0p2505* + usb:v03F0p2512* + ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 + ++usb:v03F0p2514* ++ ID_MODEL_FROM_DATABASE=4-port hub ++ + usb:v03F0p2517* + ID_MODEL_FROM_DATABASE=LaserJet 2410 + +@@ -1376,6 +1388,9 @@ usb:v03F0p5111* + usb:v03F0p5211* + ID_MODEL_FROM_DATABASE=PhotoSmart 3300 series + ++usb:v03F0p5307* ++ ID_MODEL_FROM_DATABASE=v165w Stick ++ + usb:v03F0p5311* + ID_MODEL_FROM_DATABASE=OfficeJet 6300 + +@@ -2054,6 +2069,21 @@ usb:v0403p8A28* + usb:v0403p8A98* + ID_MODEL_FROM_DATABASE=TIAO Multi-Protocol Adapter + ++usb:v0403p8B28* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCI70 ++ ++usb:v0403p8B29* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 CLS ++ ++usb:v0403p8B2A* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium Q1 ++ ++usb:v0403p8B2B* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCD ++ ++usb:v0403p8B2C* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 ++ + usb:v0403p9133* + ID_MODEL_FROM_DATABASE=CallerID + +@@ -2156,6 +2186,9 @@ usb:v0403pC8BD* + usb:v0403pC8BE* + ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium D1 + ++usb:v0403pC8BF* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 RLV ++ + usb:v0403pCC48* + ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Mitsubishi + +@@ -2966,6 +2999,9 @@ usb:v040Ap4021* + usb:v040Ap4022* + ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer + ++usb:v040Ap402E* ++ ID_MODEL_FROM_DATABASE=605 Photo Printer ++ + usb:v040Ap4034* + ID_MODEL_FROM_DATABASE=805 Photo Printer + +@@ -4949,6 +4985,9 @@ usb:v043Ep7001* + usb:v043Ep7013* + ID_MODEL_FROM_DATABASE=MP3 Player + ++usb:v043Ep70D7* ++ ID_MODEL_FROM_DATABASE=Mouse Scanner LSM-150 [LG Smart Scan Mouse] ++ + usb:v043Ep70F5* + ID_MODEL_FROM_DATABASE=External HDD + +@@ -5114,6 +5153,9 @@ usb:v044FpB203* + usb:v044FpB300* + ID_MODEL_FROM_DATABASE=Firestorm Dual Power + ++usb:v044FpB303* ++ ID_MODEL_FROM_DATABASE=FireStorm Dual Analog 2 ++ + usb:v044FpB304* + ID_MODEL_FROM_DATABASE=Firestorm Dual Power + +@@ -6437,6 +6479,9 @@ usb:v045Ep0772* + usb:v045Ep0779* + ID_MODEL_FROM_DATABASE=LifeCam HD-3000 + ++usb:v045Ep0780* ++ ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000 ++ + usb:v045Ep0797* + ID_MODEL_FROM_DATABASE=Optical Mouse 200 + +@@ -7313,6 +7358,9 @@ usb:v046DpC062* + usb:v046DpC063* + ID_MODEL_FROM_DATABASE=DELL Laser Mouse + ++usb:v046DpC064* ++ ID_MODEL_FROM_DATABASE=M110 corded optical mouse (M-B0001) ++ + usb:v046DpC066* + ID_MODEL_FROM_DATABASE=G9x Laser Mouse + +@@ -7331,6 +7379,9 @@ usb:v046DpC06B* + usb:v046DpC06C* + ID_MODEL_FROM_DATABASE=Optical Mouse + ++usb:v046DpC077* ++ ID_MODEL_FROM_DATABASE=M105 Optical Mouse ++ + usb:v046DpC101* + ID_MODEL_FROM_DATABASE=UltraX Media Remote + +@@ -7361,6 +7412,9 @@ usb:v046DpC125* + usb:v046DpC126* + ID_MODEL_FROM_DATABASE=Harmony Link + ++usb:v046DpC12B* ++ ID_MODEL_FROM_DATABASE=Harmony Touch Remote ++ + usb:v046DpC201* + ID_MODEL_FROM_DATABASE=WingMan Extreme Joystick with Throttle + +@@ -7448,6 +7502,12 @@ usb:v046DpC226* + usb:v046DpC227* + ID_MODEL_FROM_DATABASE=G15 Refresh Keyboard + ++usb:v046DpC228* ++ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard ++ ++usb:v046DpC229* ++ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard Macro Interface ++ + usb:v046DpC22A* + ID_MODEL_FROM_DATABASE=Gaming Keyboard G110 + +@@ -7466,6 +7526,18 @@ usb:v046DpC245* + usb:v046DpC246* + ID_MODEL_FROM_DATABASE=Gaming Mouse G300 + ++usb:v046DpC248* ++ ID_MODEL_FROM_DATABASE=G105 Gaming Keyboard ++ ++usb:v046DpC24A* ++ ID_MODEL_FROM_DATABASE=G600 Gaming Mouse ++ ++usb:v046DpC24D* ++ ID_MODEL_FROM_DATABASE=G710 Gaming Keyboard ++ ++usb:v046DpC24E* ++ ID_MODEL_FROM_DATABASE=G500s Laser Gaming Mouse ++ + usb:v046DpC281* + ID_MODEL_FROM_DATABASE=WingMan Force + +@@ -8543,6 +8615,9 @@ usb:v0480pA006* + usb:v0480pA007* + ID_MODEL_FROM_DATABASE=External Disk USB 3.0 + ++usb:v0480pA009* ++ ID_MODEL_FROM_DATABASE=Stor.E Basics ++ + usb:v0480pD010* + ID_MODEL_FROM_DATABASE=External Disk 3TB + +@@ -10814,6 +10889,9 @@ usb:v04A9p31E5* + usb:v04A9p31E6* + ID_MODEL_FROM_DATABASE=PowerShot SD940 IS DIGITAL ELPH / Digital IXUS 120 IS / IXY DIGITAL 220 IS + ++usb:v04A9p31E7* ++ ID_MODEL_FROM_DATABASE=SELPHY CP790 ++ + usb:v04A9p31EA* + ID_MODEL_FROM_DATABASE=EOS Rebel T2i / EOS 550D / EOS Kiss X4 + +@@ -10985,6 +11063,9 @@ usb:v04A9p325F* + usb:v04A9p3260* + ID_MODEL_FROM_DATABASE=PowerShot SX270 HS + ++usb:v04A9p3262* ++ ID_MODEL_FROM_DATABASE=PowerShot A2600 ++ + usb:v04A9p3264* + ID_MODEL_FROM_DATABASE=PowerShot A1400 + +@@ -11000,6 +11081,9 @@ usb:v04A9p3271* + usb:v04A9p3276* + ID_MODEL_FROM_DATABASE=PowerShot SX170 IS + ++usb:v04A9p3277* ++ ID_MODEL_FROM_DATABASE=PowerShot SX510 HS ++ + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + +@@ -11312,6 +11396,9 @@ usb:v04B3p4482* + usb:v04B3p4485* + ID_MODEL_FROM_DATABASE=Serial Converter + ++usb:v04B3p4524* ++ ID_MODEL_FROM_DATABASE=40 Character Vacuum Fluorescent Display ++ + usb:v04B3p4525* + ID_MODEL_FROM_DATABASE=Double sided CRT + +@@ -12335,6 +12422,9 @@ usb:v04C5p10FE* + usb:v04C5p1150* + ID_MODEL_FROM_DATABASE=fi-6230 + ++usb:v04C5p201D* ++ ID_MODEL_FROM_DATABASE=SATA 3.0 6Gbit/s Adaptor [GROOVY] ++ + usb:v04C6* + ID_VENDOR_FROM_DATABASE=Toshiba America Electronic Components + +@@ -12374,6 +12464,9 @@ usb:v04C8p072D* + usb:v04CA* + ID_VENDOR_FROM_DATABASE=Lite-On Technology Corp. + ++usb:v04CAp004F* ++ ID_MODEL_FROM_DATABASE=SK-9020 keyboard ++ + usb:v04CAp1766* + ID_MODEL_FROM_DATABASE=HID Monitor Controls + +@@ -13346,6 +13439,9 @@ usb:v04E6p5292* + usb:v04E6p5410* + ID_MODEL_FROM_DATABASE=SCR35xx Smart Card Reader + ++usb:v04E6p5591* ++ ID_MODEL_FROM_DATABASE=SCL3711-NFC&RW ++ + usb:v04E6pE000* + ID_MODEL_FROM_DATABASE=SCRx31 Reader + +@@ -14138,6 +14234,9 @@ usb:v04F2p0841* + usb:v04F2p0860* + ID_MODEL_FROM_DATABASE=2.4G Multimedia Wireless Kit + ++usb:v04F2p1121* ++ ID_MODEL_FROM_DATABASE=Periboard 717 Mini Wireless Keyboard ++ + usb:v04F2pA001* + ID_MODEL_FROM_DATABASE=E-Video DC-100 Camera + +@@ -28935,10 +29034,10 @@ usb:v0906* + ID_VENDOR_FROM_DATABASE=Faraday Technology Corp. + + usb:v0908* +- ID_VENDOR_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd ++ ID_VENDOR_FROM_DATABASE=Siemens AG + + usb:v0908p2701* +- ID_MODEL_FROM_DATABASE=Spy Pen VGA ++ ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA + + usb:v0909* + ID_VENDOR_FROM_DATABASE=Audio-Technica Corp. +@@ -38360,6 +38459,12 @@ usb:v0FFC* + usb:v0FFCp0021* + ID_MODEL_FROM_DATABASE=Nord Stage 2 + ++usb:v0FFD* ++ ID_VENDOR_FROM_DATABASE=EarlySense ++ ++usb:v0FFDpFF00* ++ ID_MODEL_FROM_DATABASE=OEM ++ + usb:v0FFF* + ID_VENDOR_FROM_DATABASE=Aopen, Inc. + +@@ -47762,6 +47867,12 @@ usb:v2237* + usb:v2237p4161* + ID_MODEL_FROM_DATABASE=eReader White + ++usb:v228D* ++ ID_VENDOR_FROM_DATABASE=8D Technologies inc. ++ ++usb:v228Dp0001* ++ ID_MODEL_FROM_DATABASE=Terminal Bike Key Reader ++ + usb:v22A6* + ID_VENDOR_FROM_DATABASE=Pie Digital, Inc. + +-- +1.7.9.2 + diff --git a/0001-journal-cleanup-up-error-handling-in-update_catalog.patch b/0001-journal-cleanup-up-error-handling-in-update_catalog.patch new file mode 100644 index 00000000..2062149b --- /dev/null +++ b/0001-journal-cleanup-up-error-handling-in-update_catalog.patch @@ -0,0 +1,104 @@ +From e3b9d9c8027a7c4c55cf1614e0fe9423fad69e8f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Apr 2014 08:44:55 -0400 +Subject: [PATCH] journal: cleanup up error handling in update_catalog() + +- Negative/positive errno mixup caused duplicates not to be detected properly. + Now we get a warning about some duplicate entries in our own catalogs... +- Errors in update_catalog would be ignored, but they should not be. +--- + src/journal/catalog.c | 25 +++++++++++++------------ + src/journal/test-catalog.c | 3 ++- + 2 files changed, 15 insertions(+), 13 deletions(-) + +diff --git src/journal/catalog.c src/journal/catalog.c +index 3ed0b7e..02dedc4 100644 +--- src/journal/catalog.c ++++ src/journal/catalog.c +@@ -103,7 +103,7 @@ static int finish_item( + const char *payload) { + + ssize_t offset; +- CatalogItem *i; ++ _cleanup_free_ CatalogItem *i = NULL; + int r; + + assert(h); +@@ -126,13 +126,14 @@ static int finish_item( + i->offset = htole64((uint64_t) offset); + + r = hashmap_put(h, i, i); +- if (r == EEXIST) { ++ if (r == -EEXIST) { + log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.", + SD_ID128_FORMAT_VAL(id), language ? language : "C"); +- free(i); + return 0; +- } ++ } else if (r < 0) ++ return r; + ++ i = NULL; + return 0; + } + +@@ -383,8 +384,8 @@ error: + int catalog_update(const char* database, const char* root, const char* const* dirs) { + _cleanup_strv_free_ char **files = NULL; + char **f; +- Hashmap *h; + struct strbuf *sb = NULL; ++ _cleanup_hashmap_free_free_ Hashmap *h = NULL; + _cleanup_free_ CatalogItem *items = NULL; + CatalogItem *i; + Iterator j; +@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di + } + + STRV_FOREACH(f, files) { +- log_debug("reading file '%s'", *f); +- catalog_import_file(h, sb, *f); ++ log_debug("Reading file '%s'", *f); ++ r = catalog_import_file(h, sb, *f); ++ if (r < 0) { ++ log_error("Failed to import file '%s': %s.", ++ *f, strerror(-r)); ++ goto finish; ++ } + } + + if (hashmap_size(h) <= 0) { + log_info("No items in catalog."); +- r = 0; + goto finish; + } else + log_debug("Found %u items in catalog.", hashmap_size(h)); +@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di + log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.", + database, n, sb->len, r); + +- r = 0; +- + finish: +- if (h) +- hashmap_free_free(h); + if (sb) + strbuf_cleanup(sb); + +diff --git src/journal/test-catalog.c src/journal/test-catalog.c +index b087a8b..967ab67 100644 +--- src/journal/test-catalog.c ++++ src/journal/test-catalog.c +@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) { + + setlocale(LC_ALL, "de_DE.UTF-8"); + +- log_set_max_level(LOG_DEBUG); ++ log_parse_environment(); ++ log_open(); + + test_catalog_file_lang(); + +-- +1.7.9.2 + diff --git a/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch b/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch new file mode 100644 index 00000000..382d4bf1 --- /dev/null +++ b/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch @@ -0,0 +1,168 @@ +From 6a79c58603ea816a1b4fa1520397b4e138bc1ca0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 19:30:16 +0100 +Subject: [PATCH] logind: ignore lid switch if more than 1 display is + connected + +Previously we expected the desktop environment to take an inhibitor +lock, but this opened a race on boot-up where logind might already be +running but no DE is active. + +Hence, let's move checking for additional displays into logind. This +also opens up this logic for other DEs, given that only GNOME +implemented the inhibitor logic so far. +--- + man/logind.conf.xml | 14 +++++++----- + src/login/logind-action.c | 8 +++++++ + src/login/logind-core.c | 55 +++++++++++++++++++++++++++++++++++++++++++-- + src/login/logind.h | 1 + + 4 files changed, 71 insertions(+), 7 deletions(-) + +diff --git man/logind.conf.xml man/logind.conf.xml +index 54cc379..7673201 100644 +--- man/logind.conf.xml ++++ man/logind.conf.xml +@@ -242,10 +242,10 @@ + ignore, logind will + never handle these keys. If + lock, all running +- sessions will be screen-locked; otherwise, +- the specified action +- will be taken in the respective +- event. Only input devices with the ++ sessions will be screen-locked; ++ otherwise, the specified action will ++ be taken in the respective event. Only ++ input devices with the + power-switch udev + tag will be watched for key/lid switch + events. HandlePowerKey= +@@ -257,7 +257,11 @@ + default to suspend. + HandleHibernateKey= + defaults to +- hibernate. ++ hibernate. Note ++ that the lid switch is ignored if the ++ system is inserted in a docking ++ station, or if more than one display ++ is connected. + + + +diff --git src/login/logind-action.c src/login/logind-action.c +index c04f210..da5a830 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -72,10 +72,18 @@ int manager_handle_action( + + /* If we are docked don't react to lid closing */ + if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { ++ int n; ++ + if (manager_is_docked(m)) { + log_debug("Ignoring lid switch request, system is docked."); + return 0; + } ++ ++ n = manager_count_displays(m); ++ if (n != 1) { ++ log_debug("Ignoring lid switch request, %s displays connected."); ++ return 0; ++ } + } + + /* If the key handling is inhibited, don't do anything */ +diff --git src/login/logind-core.c src/login/logind-core.c +index e4e593f..b8d03c3 100644 +--- src/login/logind-core.c ++++ src/login/logind-core.c +@@ -32,6 +32,7 @@ + #include "audit.h" + #include "bus-util.h" + #include "bus-error.h" ++#include "udev-util.h" + #include "logind.h" + + int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device) { +@@ -276,9 +277,11 @@ int manager_process_seat_device(Manager *m, struct udev_device *d) { + return 0; + } + +- /* ignore non-master devices for unknown seats */ ++ seat = hashmap_get(m->seats, sn); + master = udev_device_has_tag(d, "master-of-seat"); +- if (!master && !(seat = hashmap_get(m->seats, sn))) ++ ++ /* Ignore non-master devices for unknown seats */ ++ if (!master && !seat) + return 0; + + r = manager_add_device(m, udev_device_get_syspath(d), master, &device); +@@ -514,3 +517,51 @@ bool manager_is_docked(Manager *m) { + + return false; + } ++ ++int manager_count_displays(Manager *m) { ++ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; ++ struct udev_list_entry *item = NULL, *first = NULL; ++ int r; ++ int n = 0; ++ ++ e = udev_enumerate_new(m->udev); ++ if (!e) ++ return -ENOMEM; ++ ++ r = udev_enumerate_add_match_subsystem(e, "drm"); ++ if (r < 0) ++ return r; ++ ++ r = udev_enumerate_scan_devices(e); ++ if (r < 0) ++ return r; ++ ++ first = udev_enumerate_get_list_entry(e); ++ udev_list_entry_foreach(item, first) { ++ _cleanup_udev_device_unref_ struct udev_device *d = NULL; ++ struct udev_device *p; ++ const char *status; ++ ++ d = udev_device_new_from_syspath(m->udev, udev_list_entry_get_name(item)); ++ if (!d) ++ return -ENOMEM; ++ ++ p = udev_device_get_parent(d); ++ if (!p) ++ return -ENOMEM; ++ ++ /* If the parent shares the same subsystem as the ++ * device we are looking at then it is a connector, ++ * which is what we are interested in. */ ++ if (!streq_ptr(udev_device_get_subsystem(p), "drm")) ++ continue; ++ ++ /* We count any connector which is not explicitly ++ * "disconnected" as connected. */ ++ status = udev_device_get_sysattr_value(d, "status"); ++ if (!streq_ptr(status, "disconnected")) ++ n++; ++ } ++ ++ return n; ++} +diff --git src/login/logind.h src/login/logind.h +index 0344acc..74d6641 100644 +--- src/login/logind.h ++++ src/login/logind.h +@@ -149,6 +149,7 @@ int manager_get_user_by_pid(Manager *m, pid_t pid, User **user); + int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session); + + bool manager_is_docked(Manager *m); ++int manager_count_displays(Manager *m); + + extern const sd_bus_vtable manager_vtable[]; + +-- +1.7.9.2 + diff --git a/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..a386c649 --- /dev/null +++ b/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,32 @@ +From f401e2b24ba17452f9655993a6dedefdffe06d23 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Tue, 11 Mar 2014 09:33:31 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 0335a71..7d86f10 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -911,3 +911,15 @@ bluetooth:v012C* + + bluetooth:v012D* + ID_VENDOR_FROM_DATABASE=Sony Corporation ++ ++bluetooth:v012E* ++ ID_VENDOR_FROM_DATABASE=ASSA ABLOY ++ ++bluetooth:v012F* ++ ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd. ++ ++bluetooth:v0130* ++ ID_VENDOR_FROM_DATABASE=Warehouse Innovations ++ ++bluetooth:v0131* ++ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation +-- +1.7.9.2 + diff --git a/0002-hwdb-update.patch b/0002-hwdb-update.patch new file mode 100644 index 00000000..1d3abc28 --- /dev/null +++ b/0002-hwdb-update.patch @@ -0,0 +1,2058 @@ +From dbe633cc027e31a0d4fb488a3c68b7762ef0e7b3 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 13 Apr 2014 23:46:27 -0700 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 275 +++++++++++++++++++++- + hwdb/20-pci-vendor-model.hwdb | 522 ++++++++++++++++++++++++++++++++++++++--- + 2 files changed, 751 insertions(+), 46 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 209b89e..17794ed 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -6929,7 +6929,7 @@ OUI:0050C2912* + ID_OUI_FROM_DATABASE=ASSET InterTech, Inc. + + OUI:0050C2913* +- ID_OUI_FROM_DATABASE=Selex Sensors & Airborne Systems ++ ID_OUI_FROM_DATABASE=Selex Ex Ltd + + OUI:0050C2914* + ID_OUI_FROM_DATABASE=IO-Connect +@@ -15944,7 +15944,7 @@ OUI:000300* + ID_OUI_FROM_DATABASE=Barracuda Networks, Inc. + + OUI:000301* +- ID_OUI_FROM_DATABASE=Avantas Networks Corporation ++ ID_OUI_FROM_DATABASE=EXFO + + OUI:000302* + ID_OUI_FROM_DATABASE=Charles Industries, Ltd. +@@ -24575,7 +24575,7 @@ OUI:000E65* + ID_OUI_FROM_DATABASE=TransCore + + OUI:000E66* +- ID_OUI_FROM_DATABASE=Hitachi Advanced Digital, Inc. ++ ID_OUI_FROM_DATABASE=Hitachi Industry & Control Solutions, Ltd. + + OUI:000E67* + ID_OUI_FROM_DATABASE=Eltis Microelectronics Ltd. +@@ -24947,7 +24947,7 @@ OUI:000EE1* + ID_OUI_FROM_DATABASE=ExtremeSpeed Inc. + + OUI:000EE2* +- ID_OUI_FROM_DATABASE=Custom Engineering S.p.A. ++ ID_OUI_FROM_DATABASE=Custom Engineering + + OUI:000EE3* + ID_OUI_FROM_DATABASE=Chiyu Technology Co.,Ltd +@@ -51760,6 +51760,9 @@ OUI:045A95* + OUI:045C06* + ID_OUI_FROM_DATABASE=Zmodo Technology Corporation + ++OUI:045C8E* ++ ID_OUI_FROM_DATABASE=gosund GROUP CO.,LTD ++ + OUI:045D56* + ID_OUI_FROM_DATABASE=camtron industrial inc. + +@@ -51865,6 +51868,9 @@ OUI:04C5A4* + OUI:04C880* + ID_OUI_FROM_DATABASE=Samtec Inc + ++OUI:04C991* ++ ID_OUI_FROM_DATABASE=Phistek INC. ++ + OUI:04CB1D* + ID_OUI_FROM_DATABASE=Traka plc + +@@ -52633,6 +52639,9 @@ OUI:08CA45* + OUI:08CC68* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:08CD9B* ++ ID_OUI_FROM_DATABASE=samtec automotive electronics & software GmbH ++ + OUI:08D09F* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -52684,6 +52693,9 @@ OUI:08F2F4* + OUI:08F6F8* + ID_OUI_FROM_DATABASE=GET Engineering + ++OUI:08F728* ++ ID_OUI_FROM_DATABASE=GLOBO Multimedia Sp. z o.o. Sp.k. ++ + OUI:08FAE0* + ID_OUI_FROM_DATABASE=Fohhn Audio AG + +@@ -52750,6 +52762,9 @@ OUI:0C3021* + OUI:0C37DC* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:0C383E* ++ ID_OUI_FROM_DATABASE=Fanvil Technology Co., Ltd. ++ + OUI:0C3956* + ID_OUI_FROM_DATABASE=Observator instruments + +@@ -53104,6 +53119,9 @@ OUI:102D96* + OUI:102EAF* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:103047* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:103378* + ID_OUI_FROM_DATABASE=FLECTRON Co., LTD + +@@ -53215,6 +53233,9 @@ OUI:1088CE* + OUI:108CCF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:109266* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:1093E9* + ID_OUI_FROM_DATABASE=Apple + +@@ -53260,6 +53281,9 @@ OUI:10BF48* + OUI:10C2BA* + ID_OUI_FROM_DATABASE=UTT Co., Ltd. + ++OUI:10C37B* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:10C586* + ID_OUI_FROM_DATABASE=BIO SOUND LAB CO., LTD. + +@@ -53365,6 +53389,9 @@ OUI:141BBD* + OUI:141BF0* + ID_OUI_FROM_DATABASE=Intellimedia Systems Ltd + ++OUI:141FBA* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:1423D7* + ID_OUI_FROM_DATABASE=EUTRONIX CO., LTD. + +@@ -53518,6 +53545,9 @@ OUI:14B968* + OUI:14C089* + ID_OUI_FROM_DATABASE=DUNE HD LTD + ++OUI:14C126* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:14C21D* + ID_OUI_FROM_DATABASE=Sabtech Industries + +@@ -53572,6 +53602,9 @@ OUI:14F28E* + OUI:14F42A* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:14F65A* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:14FEAF* + ID_OUI_FROM_DATABASE=SAGITTAR LIMITED + +@@ -53659,6 +53692,9 @@ OUI:182B05* + OUI:182C91* + ID_OUI_FROM_DATABASE=Concept Development, Inc. + ++OUI:183009* ++ ID_OUI_FROM_DATABASE=Woojin Industrial Systems Co., Ltd. ++ + OUI:1832A2* + ID_OUI_FROM_DATABASE=LAON TECHNOLOGY CO., LTD. + +@@ -53698,6 +53734,9 @@ OUI:184617* + OUI:1848D8* + ID_OUI_FROM_DATABASE=Fastback Networks + ++OUI:184A6F* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd ++ + OUI:184E94* + ID_OUI_FROM_DATABASE=MESSOA TECHNOLOGIES INC. + +@@ -53758,6 +53797,9 @@ OUI:1880F5* + OUI:188331* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:1883BF* ++ ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation ++ + OUI:188410* + ID_OUI_FROM_DATABASE=CoreTrust Inc. + +@@ -54322,6 +54364,9 @@ OUI:206A8A* + OUI:206AFF* + ID_OUI_FROM_DATABASE=Atlas Elektronik UK Limited + ++OUI:206E9C* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:206FEC* + ID_OUI_FROM_DATABASE=Braemac CA LLC + +@@ -54838,6 +54883,9 @@ OUI:284C53* + OUI:284D92* + ID_OUI_FROM_DATABASE=Luminator + ++OUI:284ED7* ++ ID_OUI_FROM_DATABASE=OutSmart Power Systems, Inc. ++ + OUI:284FCE* + ID_OUI_FROM_DATABASE=Liaoning Wontel Science and Technology Development Co.,Ltd. + +@@ -54976,6 +55024,9 @@ OUI:28C68E* + OUI:28C718* + ID_OUI_FROM_DATABASE=Altierre + ++OUI:28C7CE* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:28C825* + ID_OUI_FROM_DATABASE=DellKing Industrial Co., Ltd + +@@ -55069,6 +55120,9 @@ OUI:28FBD3* + OUI:28FC51* + ID_OUI_FROM_DATABASE=The Electric Controller and Manufacturing Co., LLC + ++OUI:28FCF6* ++ ID_OUI_FROM_DATABASE=Shenzhen Xin KingBrand enterprises Co.,Ltd ++ + OUI:2C002C* + ID_OUI_FROM_DATABASE=UNOWHY + +@@ -55291,6 +55345,9 @@ OUI:2CB693* + OUI:2CB69D* + ID_OUI_FROM_DATABASE=RED Digital Cinema + ++OUI:2CBE08* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:2CBE97* + ID_OUI_FROM_DATABASE=Ingenieurbuero Bickele und Buehler GmbH + +@@ -55354,6 +55411,9 @@ OUI:30055C* + OUI:300B9C* + ID_OUI_FROM_DATABASE=Delta Mobile Systems, Inc. + ++OUI:300D2A* ++ ID_OUI_FROM_DATABASE=Zhejiang Wellcom Technology Co.,Ltd. ++ + OUI:300ED5* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd + +@@ -55450,6 +55510,9 @@ OUI:3055ED* + OUI:3057AC* + ID_OUI_FROM_DATABASE=IRLAB LTD. + ++OUI:30595B* ++ ID_OUI_FROM_DATABASE=streamnow AG ++ + OUI:3059B7* + ID_OUI_FROM_DATABASE=Microsoft + +@@ -55543,6 +55606,9 @@ OUI:30B3A2* + OUI:30B5C2* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:30B5F1* ++ ID_OUI_FROM_DATABASE=Aitexin Technology Co., Ltd ++ + OUI:30C750* + ID_OUI_FROM_DATABASE=MIC Technology Group + +@@ -55606,6 +55672,9 @@ OUI:30F9ED* + OUI:30FD11* + ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. + ++OUI:340286* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:3407FB* + ID_OUI_FROM_DATABASE=Ericsson AB + +@@ -55654,6 +55723,9 @@ OUI:342F6E* + OUI:343111* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:3431C4* ++ ID_OUI_FROM_DATABASE=AVM GmbH ++ + OUI:3440B5* + ID_OUI_FROM_DATABASE=IBM + +@@ -55840,6 +55912,9 @@ OUI:34C059* + OUI:34C3AC* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:34C5D0* ++ ID_OUI_FROM_DATABASE=Hagleitner Hygiene International GmbH ++ + OUI:34C69A* + ID_OUI_FROM_DATABASE=Enecsys Ltd + +@@ -55963,6 +56038,9 @@ OUI:3826CD* + OUI:3828EA* + ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD + ++OUI:382DD1* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:3831AC* + ID_OUI_FROM_DATABASE=WEG + +@@ -56371,6 +56449,9 @@ OUI:3C99F7* + OUI:3C9F81* + ID_OUI_FROM_DATABASE=Shenzhen CATIC Bit Communications Technology Co.,Ltd + ++OUI:3CA10D* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:3CA315* + ID_OUI_FROM_DATABASE=Bless Information & Communications Co., Ltd + +@@ -56380,6 +56461,9 @@ OUI:3CA72B* + OUI:3CA9F4* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:3CAA3F* ++ ID_OUI_FROM_DATABASE=iKey, Ltd. ++ + OUI:3CAB8E* + ID_OUI_FROM_DATABASE=Apple + +@@ -56413,6 +56497,9 @@ OUI:3CC99E* + OUI:3CCA87* + ID_OUI_FROM_DATABASE=Iders Incorporated + ++OUI:3CCD5A* ++ ID_OUI_FROM_DATABASE=Technische Alternative GmbH ++ + OUI:3CCD93* + ID_OUI_FROM_DATABASE=LG ELECTRONICS INC + +@@ -57109,6 +57196,9 @@ OUI:481A84* + OUI:481BD2* + ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. + ++OUI:4826E8* ++ ID_OUI_FROM_DATABASE=Tek-Air Systems, Inc. ++ + OUI:48282F* + ID_OUI_FROM_DATABASE=ZTE Corporation + +@@ -57260,7 +57350,7 @@ OUI:48D7FF* + ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH + + OUI:48D855* +- ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY ++ ID_OUI_FROM_DATABASE=Telvent + + OUI:48D8FE* + ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. +@@ -57748,6 +57838,9 @@ OUI:507E5D* + OUI:508569* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD + ++OUI:508789* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:5087B8* + ID_OUI_FROM_DATABASE=Nuvyyo Inc + +@@ -57880,6 +57973,9 @@ OUI:50FC30* + OUI:50FC9F* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:50FEF2* ++ ID_OUI_FROM_DATABASE=Sify Technologies Ltd ++ + OUI:5403F5* + ID_OUI_FROM_DATABASE=EBN Technology Corp. + +@@ -58072,6 +58168,9 @@ OUI:54AE27* + OUI:54B620* + ID_OUI_FROM_DATABASE=SUHDOL E&C Co.Ltd. + ++OUI:54B753* ++ ID_OUI_FROM_DATABASE=Hunan Fenghui Yinjia Science And Technology Co.,Ltd ++ + OUI:54BEF7* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + +@@ -58132,6 +58231,9 @@ OUI:54F5B6* + OUI:54F666* + ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG + ++OUI:54FA3E* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD ++ + OUI:54FB58* + ID_OUI_FROM_DATABASE=WISEWARE, Lda + +@@ -58462,6 +58564,9 @@ OUI:5C260A* + OUI:5C2AEF* + ID_OUI_FROM_DATABASE=Open Access Pty Ltd + ++OUI:5C2E59* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:5C313E* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -58519,6 +58624,9 @@ OUI:5C57C8* + OUI:5C5948* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C5BC2* ++ ID_OUI_FROM_DATABASE=YIK Corporation ++ + OUI:5C5EAB* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -58558,6 +58666,9 @@ OUI:5C8778* + OUI:5C89D4* + ID_OUI_FROM_DATABASE=Beijing Banner Electric Co.,Ltd + ++OUI:5C8D4E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:5C95AE* + ID_OUI_FROM_DATABASE=Apple + +@@ -58819,6 +58930,9 @@ OUI:607688* + OUI:60812B* + ID_OUI_FROM_DATABASE=Custom Control Concepts + ++OUI:6081F9* ++ ID_OUI_FROM_DATABASE=Helium Systems, Inc ++ + OUI:6083B2* + ID_OUI_FROM_DATABASE=GkWare e.K. + +@@ -58867,6 +58981,9 @@ OUI:60A10A* + OUI:60A44C* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + ++OUI:60A8FE* ++ ID_OUI_FROM_DATABASE=Nokia Solutions and Networks ++ + OUI:60A9B0* + ID_OUI_FROM_DATABASE=Merchandising Technologies, Inc + +@@ -58918,6 +59035,9 @@ OUI:60C980* + OUI:60CBFB* + ID_OUI_FROM_DATABASE=AirScape Inc. + ++OUI:60CDA9* ++ ID_OUI_FROM_DATABASE=Abloomy ++ + OUI:60CDC5* + ID_OUI_FROM_DATABASE=Taiwan Carol Electronics., Ltd + +@@ -59092,6 +59212,9 @@ OUI:644D70* + OUI:644F74* + ID_OUI_FROM_DATABASE=LENUS Co., Ltd. + ++OUI:644FB0* ++ ID_OUI_FROM_DATABASE=Hyunjin.com ++ + OUI:64517E* + ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. + +@@ -59146,6 +59269,9 @@ OUI:64680C* + OUI:6469BC* + ID_OUI_FROM_DATABASE=Hytera Communications Co .,ltd + ++OUI:646CB2* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:646E6C* + ID_OUI_FROM_DATABASE=Radio Datacom LLC + +@@ -59305,6 +59431,9 @@ OUI:64D814* + OUI:64D912* + ID_OUI_FROM_DATABASE=Solidica, Inc. + ++OUI:64D954* ++ ID_OUI_FROM_DATABASE=TAICANG AND W ELECTRONICS CO LTD ++ + OUI:64D989* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -59368,6 +59497,9 @@ OUI:64F987* + OUI:64FC8C* + ID_OUI_FROM_DATABASE=Zonar Systems + ++OUI:680571* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:6805CA* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -59701,6 +59833,9 @@ OUI:6C2E33* + OUI:6C2E85* + ID_OUI_FROM_DATABASE=SAGEMCOM + ++OUI:6C2F2C* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:6C32DE* + ID_OUI_FROM_DATABASE=Indieon Technologies Pvt. Ltd. + +@@ -59860,6 +59995,9 @@ OUI:6CADF8* + OUI:6CAE8B* + ID_OUI_FROM_DATABASE=IBM Corporation + ++OUI:6CB0CE* ++ ID_OUI_FROM_DATABASE=NETGEAR ++ + OUI:6CB311* + ID_OUI_FROM_DATABASE=Shenzhen Lianrui Electronics Co.,Ltd + +@@ -59875,6 +60013,9 @@ OUI:6CBEE9* + OUI:6CC1D2* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:6CC217* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:6CC26B* + ID_OUI_FROM_DATABASE=Apple + +@@ -59929,6 +60070,9 @@ OUI:6CF97C* + OUI:6CFA58* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:6CFA89* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:6CFAA7* + ID_OUI_FROM_DATABASE=AMPAK Technology Inc. + +@@ -60097,6 +60241,9 @@ OUI:7071B3* + OUI:7071BC* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + ++OUI:70720D* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:70723C* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -60502,6 +60649,9 @@ OUI:74D850* + OUI:74DA38* + ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. + ++OUI:74DBD1* ++ ID_OUI_FROM_DATABASE=Ebay Inc ++ + OUI:74DE2B* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -60733,6 +60883,9 @@ OUI:78923E* + OUI:78929C* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:789684* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:7898FD* + ID_OUI_FROM_DATABASE=Q9 Networks Inc. + +@@ -60922,6 +61075,9 @@ OUI:78F7BE* + OUI:78F7D0* + ID_OUI_FROM_DATABASE=Silverbrook Research + ++OUI:78FD94* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:78FE3D* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -61060,6 +61216,9 @@ OUI:7C69F6* + OUI:7C6AB3* + ID_OUI_FROM_DATABASE=IBC TECHNOLOGIES INC. + ++OUI:7C6AC3* ++ ID_OUI_FROM_DATABASE=GatesAir, Inc ++ + OUI:7C6ADB* + ID_OUI_FROM_DATABASE=SafeTone Technology Co.,Ltd + +@@ -61087,6 +61246,9 @@ OUI:7C6F06* + OUI:7C6FF8* + ID_OUI_FROM_DATABASE=ShenZhen ACTO Digital Video Technology Co.,Ltd. + ++OUI:7C70BC* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:7C72E4* + ID_OUI_FROM_DATABASE=Unikey Technologies + +@@ -61174,6 +61336,9 @@ OUI:7CBFB1* + OUI:7CC3A1* + ID_OUI_FROM_DATABASE=Apple + ++OUI:7CC4EF* ++ ID_OUI_FROM_DATABASE=Devialet ++ + OUI:7CC537* + ID_OUI_FROM_DATABASE=Apple + +@@ -61231,6 +61396,9 @@ OUI:7CE044* + OUI:7CE1FF* + ID_OUI_FROM_DATABASE=Computer Performance, Inc. DBA Digital Loggers, Inc. + ++OUI:7CE524* ++ ID_OUI_FROM_DATABASE=Quirky, Inc. ++ + OUI:7CE56B* + ID_OUI_FROM_DATABASE=ESEN Optoelectronics Technology Co.,Ltd. + +@@ -61477,6 +61645,9 @@ OUI:80A1D7* + OUI:80AAA4* + ID_OUI_FROM_DATABASE=USAG + ++OUI:80AD67* ++ ID_OUI_FROM_DATABASE=Kasda Digital Technology Co.,Ltd ++ + OUI:80B219* + ID_OUI_FROM_DATABASE=ELEKTRON TECHNOLOGY UK LIMITED + +@@ -61564,6 +61735,9 @@ OUI:80FFA8* + OUI:8400D2* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:8401A7* ++ ID_OUI_FROM_DATABASE=Greyware Automation Products, Inc ++ + OUI:840B2D* + ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS CO., LTD + +@@ -61576,6 +61750,9 @@ OUI:841715* + OUI:841766* + ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd + ++OUI:84183A* ++ ID_OUI_FROM_DATABASE=Ruckus Wireless ++ + OUI:841888* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -61723,6 +61900,9 @@ OUI:848433* + OUI:848506* + ID_OUI_FROM_DATABASE=Apple + ++OUI:84850A* ++ ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH ++ + OUI:848D84* + ID_OUI_FROM_DATABASE=Rajant Corporation + +@@ -61885,6 +62065,9 @@ OUI:8823FE* + OUI:88252C* + ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation + ++OUI:882950* ++ ID_OUI_FROM_DATABASE=Dalian Netmoon Tech Develop Co.,Ltd ++ + OUI:882E5A* + ID_OUI_FROM_DATABASE=storONE + +@@ -61948,6 +62131,9 @@ OUI:885C47* + OUI:88615A* + ID_OUI_FROM_DATABASE=Siano Mobile Silicon Ltd. + ++OUI:8863DF* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:88685C* + ID_OUI_FROM_DATABASE=Shenzhen ChuangDao & Perpetual Eternal Technology Co.,Ltd + +@@ -62098,6 +62284,9 @@ OUI:88E917* + OUI:88ED1C* + ID_OUI_FROM_DATABASE=Cudo Communication Co., Ltd. + ++OUI:88F031* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:88F077* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -62326,6 +62515,9 @@ OUI:8CB864* + OUI:8CBEBE* + ID_OUI_FROM_DATABASE=Xiaomi Technology Co.,Ltd + ++OUI:8CBF9D* ++ ID_OUI_FROM_DATABASE=Shanghai Xinyou Information Technology Ltd. Co. ++ + OUI:8CC121* + ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company + +@@ -62662,6 +62854,9 @@ OUI:90B97D* + OUI:90C115* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:90C792* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:90CC24* + ID_OUI_FROM_DATABASE=Synaptics, Inc + +@@ -63259,6 +63454,9 @@ OUI:98EC65* + OUI:98F0AB* + ID_OUI_FROM_DATABASE=Apple + ++OUI:98F170* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:98F537* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -63496,6 +63694,9 @@ OUI:9CA577* + OUI:9CA9E4* + ID_OUI_FROM_DATABASE=zte corporation + ++OUI:9CAD97* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:9CADEF* + ID_OUI_FROM_DATABASE=Obihai Technology, Inc. + +@@ -64456,6 +64657,9 @@ OUI:A8E018* + OUI:A8E3EE* + ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. + ++OUI:A8E539* ++ ID_OUI_FROM_DATABASE=Moimstone Co.,Ltd ++ + OUI:A8EF26* + ID_OUI_FROM_DATABASE=Tritonwave + +@@ -64702,6 +64906,9 @@ OUI:ACA016* + OUI:ACA22C* + ID_OUI_FROM_DATABASE=Baycity Technologies Ltd + ++OUI:ACA31E* ++ ID_OUI_FROM_DATABASE=Aruba Networks ++ + OUI:ACA430* + ID_OUI_FROM_DATABASE=Peerless AV + +@@ -64837,6 +65044,12 @@ OUI:B000B4* + OUI:B00594* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + ++OUI:B009D3* ++ ID_OUI_FROM_DATABASE=Avizia ++ ++OUI:B01041* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:B01203* + ID_OUI_FROM_DATABASE=Dynamics Hong Kong Limited + +@@ -64951,6 +65164,9 @@ OUI:B0808C* + OUI:B081D8* + ID_OUI_FROM_DATABASE=I-sys Corp + ++OUI:B083FE* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:B0869E* + ID_OUI_FROM_DATABASE=Chloride S.r.L + +@@ -65122,6 +65338,9 @@ OUI:B407F9* + OUI:B40832* + ID_OUI_FROM_DATABASE=TC Communications + ++OUI:B40B44* ++ ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. ++ + OUI:B40B7A* + ID_OUI_FROM_DATABASE=Brusa Elektronik AG + +@@ -65200,6 +65419,9 @@ OUI:B4417A* + OUI:B4430D* + ID_OUI_FROM_DATABASE=Broadlink Pty Ltd + ++OUI:B4475E* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:B44CC2* + ID_OUI_FROM_DATABASE=NR ELECTRIC CO., LTD + +@@ -65608,6 +65830,9 @@ OUI:B8A8AF* + OUI:B8AC6F* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:B8AD3E* ++ ID_OUI_FROM_DATABASE=BLUECOM ++ + OUI:B8AE6E* + ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. + +@@ -65842,6 +66067,9 @@ OUI:BC4B79* + OUI:BC4E3C* + ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. + ++OUI:BC4E5D* ++ ID_OUI_FROM_DATABASE=ZhongMiao Technology Co., Ltd. ++ + OUI:BC51FE* + ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd + +@@ -65974,6 +66202,9 @@ OUI:BCC6DB* + OUI:BCC810* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:BCCAB5* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:BCCD45* + ID_OUI_FROM_DATABASE=VOISMART + +@@ -66748,6 +66979,9 @@ OUI:C88B47* + OUI:C8903E* + ID_OUI_FROM_DATABASE=Pakton Technologies + ++OUI:C891F9* ++ ID_OUI_FROM_DATABASE=SAGEMCOM ++ + OUI:C89346* + ID_OUI_FROM_DATABASE=MXCHIP Company Limited + +@@ -67000,6 +67234,9 @@ OUI:CC3A61* + OUI:CC3C3F* + ID_OUI_FROM_DATABASE=SA.S.S. Datentechnik AG + ++OUI:CC3D82* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:CC3E5F* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -67303,6 +67540,9 @@ OUI:D03761* + OUI:D03972* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:D039B3* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:D046DC* + ID_OUI_FROM_DATABASE=Southwest Research Institute + +@@ -67735,6 +67975,9 @@ OUI:D48FAA* + OUI:D491AF* + ID_OUI_FROM_DATABASE=Electroacustica General Iberica, S.A. + ++OUI:D49398* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:D493A0* + ID_OUI_FROM_DATABASE=Fidelix Oy + +@@ -68057,7 +68300,7 @@ OUI:D89695* + ID_OUI_FROM_DATABASE=Apple + + OUI:D8973B* +- ID_OUI_FROM_DATABASE=Emerson Network Power Embedded Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:D89760* + ID_OUI_FROM_DATABASE=C2 Development, Inc. +@@ -68170,6 +68413,9 @@ OUI:D8DF0D* + OUI:D8E3AE* + ID_OUI_FROM_DATABASE=CIRTEC MEDICAL SYSTEMS + ++OUI:D8E56D* ++ ID_OUI_FROM_DATABASE=TCT Mobile Limited ++ + OUI:D8E72B* + ID_OUI_FROM_DATABASE=OnPATH Technologies + +@@ -69319,6 +69565,9 @@ OUI:E8F928* + OUI:E8FC60* + ID_OUI_FROM_DATABASE=ELCOM Innovations Private Limited + ++OUI:E8FCAF* ++ ID_OUI_FROM_DATABASE=NETGEAR INC., ++ + OUI:EC0ED6* + ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS + +@@ -69442,6 +69691,9 @@ OUI:EC888F* + OUI:EC89F5* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:EC8A4C* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:EC8EAD* + ID_OUI_FROM_DATABASE=DLX + +@@ -70099,6 +70351,9 @@ OUI:F4CE46* + OUI:F4CFE2* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:F4D261* ++ ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd ++ + OUI:F4D9FB* + ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD + +@@ -70111,6 +70366,9 @@ OUI:F4DCDA* + OUI:F4DCF9* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:F4DD9E* ++ ID_OUI_FROM_DATABASE=GoPro ++ + OUI:F4E142* + ID_OUI_FROM_DATABASE=Delta Elektronika BV + +@@ -70318,6 +70576,9 @@ OUI:F87B8C* + OUI:F8811A* + ID_OUI_FROM_DATABASE=OVERKIZ + ++OUI:F884F2* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:F88C1C* + ID_OUI_FROM_DATABASE=KAISHUN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING + +@@ -70586,7 +70847,7 @@ OUI:FC3FAB* + ID_OUI_FROM_DATABASE=Henan Lanxin Technology Co., Ltd + + OUI:FC4463* +- ID_OUI_FROM_DATABASE=Universal Audio ++ ID_OUI_FROM_DATABASE=Universal Audio, Inc + + OUI:FC4499* + ID_OUI_FROM_DATABASE=Swarco LEA d.o.o. +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 371a685..d54cb2a 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -497,6 +497,9 @@ pci:v00000E11d0000F130* + pci:v00000E11d0000F150* + ID_MODEL_FROM_DATABASE=NetFlex-3/P ThunderLAN 2.3 + ++pci:v00000E55* ++ ID_VENDOR_FROM_DATABASE=HaSoTec GmbH ++ + pci:v00000EAC* + ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG + +@@ -1169,6 +1172,12 @@ pci:v00001000d00000073sv00001137sd000000B0* + pci:v00001000d00000073sv00001137sd000000B1* + ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i + ++pci:v00001000d00000073sv00001137sd000000C2* ++ ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide ++ ++pci:v00001000d00000073sv00001137sd000000C3* ++ ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide ++ + pci:v00001000d00000073sv000015D9sd00000400* + ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR + +@@ -1665,25 +1674,25 @@ pci:v00001002d00001307* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d00001309* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d0000130A* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] + + pci:v00001002d0000130B* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] + + pci:v00001002d0000130C* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d0000130D* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] + + pci:v00001002d0000130E* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] + + pci:v00001002d0000130F* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d00001310* + ID_MODEL_FROM_DATABASE=Kaveri +@@ -1695,7 +1704,7 @@ pci:v00001002d00001312* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d00001313* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d00001314* + ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio +@@ -1704,22 +1713,25 @@ pci:v00001002d00001314sv0000174Bsd00001001* + ID_MODEL_FROM_DATABASE=PURE Fusion Mini + + pci:v00001002d00001315* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] + + pci:v00001002d00001316* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] + + pci:v00001002d00001317* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d00001318* ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] ++ + pci:v00001002d0000131B* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] + + pci:v00001002d0000131C* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d0000131D* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] + + pci:v00001002d00001714* + ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] +@@ -4275,7 +4287,7 @@ pci:v00001002d00006641* + ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] + + pci:v00001002d00006649* +- ID_MODEL_FROM_DATABASE=Bonaire ++ ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] + + pci:v00001002d00006650* + ID_MODEL_FROM_DATABASE=Bonaire +@@ -4326,13 +4338,13 @@ pci:v00001002d00006663sv00001025sd00000846* + ID_MODEL_FROM_DATABASE=Radeon HD 8570A + + pci:v00001002d00006664* +- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] ++ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] + + pci:v00001002d00006665* + ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] + + pci:v00001002d00006667* +- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] ++ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] + + pci:v00001002d0000666F* + ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] +@@ -5808,7 +5820,7 @@ pci:v00001002d00006792* + ID_MODEL_FROM_DATABASE=Tahiti + + pci:v00001002d00006798* +- ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/R9 280X] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] + + pci:v00001002d00006798sv00001002sd00003000* + ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] +@@ -5934,7 +5946,7 @@ pci:v00001002d000067B1* + ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] + + pci:v00001002d000067B9* +- ID_MODEL_FROM_DATABASE=Vesuvius ++ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] + + pci:v00001002d000067BE* + ID_MODEL_FROM_DATABASE=Hawaii LE +@@ -5952,7 +5964,7 @@ pci:v00001002d00006800sv00008086sd00002111* + ID_MODEL_FROM_DATABASE=Radeon HD 7970M + + pci:v00001002d00006801* +- ID_MODEL_FROM_DATABASE=Neptune [Radeon HD 8970M] ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] + + pci:v00001002d00006801sv00001002sd00000124* + ID_MODEL_FROM_DATABASE=Radeon HD 8970M +@@ -6017,6 +6029,9 @@ pci:v00001002d00006820* + pci:v00001002d00006820sv0000103Csd00001851* + ID_MODEL_FROM_DATABASE=Radeon HD 7750M + ++pci:v00001002d00006820sv000017AAsd00003801* ++ ID_MODEL_FROM_DATABASE=Radeon R9 M275 ++ + pci:v00001002d00006821* + ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] + +@@ -7817,6 +7832,12 @@ pci:v00001002d000068FAsv000017AFsd00003015* + pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE + ++pci:v00001002d00006900* ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] ++ ++pci:v00001002d00006901* ++ ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] ++ + pci:v00001002d00006920* + ID_MODEL_FROM_DATABASE=Tonga + +@@ -10391,6 +10412,15 @@ pci:v00001014d0000034Asv00001014sd00000499* + pci:v00001014d0000034Asv00001014sd0000049A* + ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) + ++pci:v00001014d0000034Asv00001014sd000004C7* ++ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) ++ ++pci:v00001014d0000034Asv00001014sd000004C8* ++ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) ++ ++pci:v00001014d0000034Asv00001014sd00000C49* ++ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) ++ + pci:v00001014d000004AA* + ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) + +@@ -13793,6 +13823,63 @@ pci:v0000103Cd00003238sv0000103Csd00003211* + pci:v0000103Cd00003238sv0000103Csd00003212* + ID_MODEL_FROM_DATABASE=Smart Array E200 + ++pci:v0000103Cd00003239* ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers ++ ++pci:v0000103Cd00003239sv0000103Csd000021BD* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021BE* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021BF* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C0* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C1* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C2* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C3* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C4* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C5* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C6* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C7* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C8* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C9* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CA* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CB* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CC* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CD* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CE* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ + pci:v0000103Cd0000323A* + ID_MODEL_FROM_DATABASE=Smart Array G6 controllers + +@@ -17954,6 +18041,54 @@ pci:v0000109Ed0000036Esv000018ACsd0000D500* + pci:v0000109Ed0000036Esv0000270Fsd0000FC00* + ID_MODEL_FROM_DATABASE=Digitop DTT-1000 + ++pci:v0000109Ed0000036Esv0000AA00sd00001460* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 ++ ++pci:v0000109Ed0000036Esv0000AA01sd00001461* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 ++ ++pci:v0000109Ed0000036Esv0000AA02sd00001462* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 ++ ++pci:v0000109Ed0000036Esv0000AA03sd00001463* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 ++ ++pci:v0000109Ed0000036Esv0000AA04sd00001464* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 ++ ++pci:v0000109Ed0000036Esv0000AA05sd00001465* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 ++ ++pci:v0000109Ed0000036Esv0000AA06sd00001466* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 ++ ++pci:v0000109Ed0000036Esv0000AA07sd00001467* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 ++ ++pci:v0000109Ed0000036Esv0000AA08sd00001468* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 ++ ++pci:v0000109Ed0000036Esv0000AA09sd00001469* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 ++ ++pci:v0000109Ed0000036Esv0000AA0Asd0000146A* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 ++ ++pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 ++ ++pci:v0000109Ed0000036Esv0000AA0Csd0000146C* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 ++ ++pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 ++ ++pci:v0000109Ed0000036Esv0000AA0Esd0000146E* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 ++ ++pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 ++ + pci:v0000109Ed0000036Esv0000BD11sd00001200* + ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) + +@@ -26009,6 +26144,9 @@ pci:v000010DEd00000E1A* + pci:v000010DEd00000E1B* + ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller + ++pci:v000010DEd00000E1Bsv0000103Csd0000197B* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v000010DEd00000E1Bsv00001043sd00008428* + ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 + +@@ -26165,6 +26303,9 @@ pci:v000010DEd00000FF5* + pci:v000010DEd00000FF6* + ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] + ++pci:v000010DEd00000FF6sv0000103Csd0000197B* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v000010DEd00000FF7* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] + +@@ -26234,6 +26375,12 @@ pci:v000010DEd00001005sv00003842sd00002794* + pci:v000010DEd00001005sv00003842sd00002795* + ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature + ++pci:v000010DEd00001007* ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] ++ ++pci:v000010DEd00001008* ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Ti Rev. 2] ++ + pci:v000010DEd0000100A* + ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] + +@@ -26294,6 +26441,9 @@ pci:v000010DEd0000104Asv000010B0sd0000104A* + pci:v000010DEd0000104B* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] + ++pci:v000010DEd0000104C* ++ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] ++ + pci:v000010DEd00001050* + ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] + +@@ -26333,6 +26483,24 @@ pci:v000010DEd00001058sv00001043sd000010BC* + pci:v000010DEd00001058sv00001043sd00001652* + ID_MODEL_FROM_DATABASE=GeForce GT 610M + ++pci:v000010DEd00001058sv000017AAsd0000367A* ++ ID_MODEL_FROM_DATABASE=GeForce 610M ++ ++pci:v000010DEd00001058sv000017AAsd00003682* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd00001058sv000017AAsd00003687* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd00001058sv000017AAsd00003692* ++ ID_MODEL_FROM_DATABASE=GeForce 705A ++ ++pci:v000010DEd00001058sv000017AAsd00003695* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd00001058sv000017AAsd0000A117* ++ ID_MODEL_FROM_DATABASE=GeForce 610M ++ + pci:v000010DEd00001059* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] + +@@ -26351,6 +26519,15 @@ pci:v000010DEd0000105B* + pci:v000010DEd0000105Bsv0000103Csd00002AFB* + ID_MODEL_FROM_DATABASE=GeForce 705A + ++pci:v000010DEd0000105Bsv000017AAsd0000309D* ++ ID_MODEL_FROM_DATABASE=GeForce 705A ++ ++pci:v000010DEd0000105Bsv000017AAsd000030B1* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd0000105Bsv000017AAsd000036A1* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ + pci:v000010DEd0000107C* + ID_MODEL_FROM_DATABASE=GF119 [NVS 315] + +@@ -26675,6 +26852,30 @@ pci:v000010DEd00001140sv00001043sd000014C7* + pci:v000010DEd00001140sv00001043sd00001507* + ID_MODEL_FROM_DATABASE=GeForce GT 620M + ++pci:v000010DEd00001140sv00001043sd000015AD* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd000015ED* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000160D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000163D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000166D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd000016CD* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd000016DD* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000170D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ + pci:v000010DEd00001140sv00001043sd00002132* + ID_MODEL_FROM_DATABASE=GeForce GT 620M + +@@ -26699,6 +26900,12 @@ pci:v000010DEd00001140sv00001043sd0000223A* + pci:v000010DEd00001140sv00001043sd0000224A* + ID_MODEL_FROM_DATABASE=GeForce GT 710M + ++pci:v000010DEd00001140sv00001043sd0000227A* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000228A* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ + pci:v000010DEd00001140sv00001043sd00008595* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + +@@ -26864,9 +27071,48 @@ pci:v000010DEd00001140sv000017AAsd00002213* + pci:v000010DEd00001140sv000017AAsd00002220* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + ++pci:v000010DEd00001140sv000017AAsd0000309C* ++ ID_MODEL_FROM_DATABASE=GeForce GT 720A ++ ++pci:v000010DEd00001140sv000017AAsd000030B4* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ + pci:v000010DEd00001140sv000017AAsd00003656* + ID_MODEL_FROM_DATABASE=GeForce GT 620M + ++pci:v000010DEd00001140sv000017AAsd0000365A* ++ ID_MODEL_FROM_DATABASE=GeForce 705M ++ ++pci:v000010DEd00001140sv000017AAsd0000365E* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd0000366C* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd00003685* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd00003686* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd00003687* ++ ID_MODEL_FROM_DATABASE=GeForce 705A ++ ++pci:v000010DEd00001140sv000017AAsd00003696* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369B* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369C* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369D* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369E* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ + pci:v000010DEd00001140sv000017AAsd00003800* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + +@@ -27044,6 +27290,9 @@ pci:v000010DEd0000118F* + pci:v000010DEd00001193* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] + ++pci:v000010DEd00001195* ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] ++ + pci:v000010DEd00001198* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] + +@@ -27173,6 +27422,9 @@ pci:v000010DEd000011E2* + pci:v000010DEd000011E3* + ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] + ++pci:v000010DEd000011E3sv000017AAsd00003683* ++ ID_MODEL_FROM_DATABASE=GeForce GTX 760A ++ + pci:v000010DEd000011FA* + ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] + +@@ -27323,6 +27575,9 @@ pci:v000010DEd00001282* + pci:v000010DEd00001284* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 630 Rev. 2] + ++pci:v000010DEd00001286* ++ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] ++ + pci:v000010DEd00001290* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] + +@@ -27380,6 +27635,15 @@ pci:v000010DEd00001340* + pci:v000010DEd00001341* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] + ++pci:v000010DEd00001341sv000017AAsd00003697* ++ ID_MODEL_FROM_DATABASE=GeForce 840A ++ ++pci:v000010DEd00001341sv000017AAsd00003699* ++ ID_MODEL_FROM_DATABASE=GeForce 840A ++ ++pci:v000010DEd00001341sv000017AAsd0000369C* ++ ID_MODEL_FROM_DATABASE=GeForce 840A ++ + pci:v000010DEd00001380* + ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] + +@@ -27395,6 +27659,12 @@ pci:v000010DEd00001390* + pci:v000010DEd00001391* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] + ++pci:v000010DEd00001391sv000017AAsd00003697* ++ ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ ++pci:v000010DEd00001391sv000017AAsd0000A125* ++ ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ + pci:v000010DEd00001392* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] + +@@ -27839,6 +28109,9 @@ pci:v000010ECd00005227* + pci:v000010ECd00005227sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + ++pci:v000010ECd00005227sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v000010ECd00005229* + ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader + +@@ -27848,6 +28121,12 @@ pci:v000010ECd00005229sv00001025sd00000813* + pci:v000010ECd00005229sv0000103Csd0000194E* + ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook + ++pci:v000010ECd00005249* ++ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader ++ ++pci:v000010ECd00005249sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v000010ECd00005288* + ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader + +@@ -30561,7 +30840,7 @@ pci:v0000110Ad00004021* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) + + pci:v0000110Ad00004029* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 + + pci:v0000110Ad00004029sv0000110Asd00004029* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 +@@ -30581,6 +30860,9 @@ pci:v0000110Ad00004038* + pci:v0000110Ad00004069* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 + ++pci:v0000110Ad00004069sv0000110Asd00004069* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 ++ + pci:v0000110Ad00004069sv0000110Asd0000C069* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 + +@@ -31541,6 +31823,9 @@ pci:v00001131d00007133sv0000153Bsd00001160* + pci:v00001131d00007133sv0000153Bsd00001162* + ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile + ++pci:v00001131d00007133sv000017DEsd00007256* ++ ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card ++ + pci:v00001131d00007133sv000017DEsd00007350* + ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner + +@@ -33651,7 +33936,7 @@ pci:v00001180d00000476sv000014EFsd00000220* + ID_MODEL_FROM_DATABASE=PCD-RP-220S + + pci:v00001180d00000476sv000017AAsd0000201C* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00001180d00000476sv000017AAsd000020C4* + ID_MODEL_FROM_DATABASE=ThinkPad T61 +@@ -33711,7 +33996,7 @@ pci:v00001180d00000552sv0000144Dsd0000C00C* + ID_MODEL_FROM_DATABASE=P30/P35 notebook + + pci:v00001180d00000552sv000017AAsd0000201E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00001180d00000554* + ID_MODEL_FROM_DATABASE=R5C554 +@@ -33813,7 +34098,7 @@ pci:v00001180d00000822sv0000144Dsd0000C018* + ID_MODEL_FROM_DATABASE=X20 IV + + pci:v00001180d00000822sv000017AAsd0000201D* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00001180d00000822sv000017AAsd000020C7* + ID_MODEL_FROM_DATABASE=ThinkPad T61 +@@ -33833,6 +34118,9 @@ pci:v00001180d00000832sv00001028sd000001D7* + pci:v00001180d00000832sv00001028sd000001F3* + ID_MODEL_FROM_DATABASE=Inspiron 1420 + ++pci:v00001180d00000832sv00001028sd0000024D* ++ ID_MODEL_FROM_DATABASE=Latitude E4300 ++ + pci:v00001180d00000832sv0000103Csd000030B5* + ID_MODEL_FROM_DATABASE=Presario V3242AU + +@@ -49442,6 +49730,18 @@ pci:v00001797d00006812* + pci:v00001797d00006813* + ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller + ++pci:v00001797d00006814* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ ++pci:v00001797d00006815* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ ++pci:v00001797d00006816* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ ++pci:v00001797d00006817* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ + pci:v00001799* + ID_VENDOR_FROM_DATABASE=Belkin + +@@ -50978,12 +51278,33 @@ pci:v00001924d00000813sv00001924sd00007904* + pci:v00001924d00000903* + ID_MODEL_FROM_DATABASE=SFC9120 + ++pci:v00001924d00000903sv00001014sd000004CC* ++ ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra ++ + pci:v00001924d00000903sv00001924sd00008002* + ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter + ++pci:v00001924d00000903sv00001924sd00008003* ++ ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ + pci:v00001924d00000903sv00001924sd00008006* + ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter + ++pci:v00001924d00000903sv00001924sd00008007* ++ ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter ++ ++pci:v00001924d00000903sv00001924sd00008009* ++ ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter ++ ++pci:v00001924d00000903sv00001924sd0000800A* ++ ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter ++ ++pci:v00001924d00000923* ++ ID_MODEL_FROM_DATABASE=SFC9140 ++ ++pci:v00001924d00000923sv00001924sd0000800B* ++ ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ + pci:v00001924d00001803* + ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] + +@@ -51227,6 +51548,9 @@ pci:v00001957d00000083* + pci:v00001957d00000084* + ID_MODEL_FROM_DATABASE=MPC8347E PBGA + ++pci:v00001957d00000084sv0000110Asd00004074* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 ++ + pci:v00001957d00000085* + ID_MODEL_FROM_DATABASE=MPC8347 PBGA + +@@ -51456,7 +51780,7 @@ pci:v00001969d00002062* + ID_MODEL_FROM_DATABASE=AR8152 v2.0 Fast Ethernet + + pci:v00001969d0000E091* +- ID_MODEL_FROM_DATABASE=Killer E2200 Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=Killer E220x Gigabit Ethernet Controller + + pci:v0000196A* + ID_VENDOR_FROM_DATABASE=Sensory Networks Inc. +@@ -52214,8 +52538,14 @@ pci:v00001AF4d00001005* + pci:v00001AF4d00001009* + ID_MODEL_FROM_DATABASE=Virtio filesystem + ++pci:v00001AF4d00001010* ++ ID_MODEL_FROM_DATABASE=Virtio GPU ++ ++pci:v00001AF4d00001012* ++ ID_MODEL_FROM_DATABASE=Virtio input device ++ + pci:v00001AF4d00001110* +- ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory ++ ID_MODEL_FROM_DATABASE=Inter-VM shared memory + + pci:v00001AF4d00001110sv00001AF4sd00001100* + ID_MODEL_FROM_DATABASE=QEMU Virtual Machine +@@ -52397,6 +52727,9 @@ pci:v00001B4Bd000091A4* + pci:v00001B4Bd00009230* + ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller + ++pci:v00001B4Bd00009445* ++ ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller ++ + pci:v00001B4Bd00009480* + ID_MODEL_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller + +@@ -55550,15 +55883,24 @@ pci:v00008086d00000964* + pci:v00008086d00000A04* + ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller + ++pci:v00008086d00000A04sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00000A06* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + + pci:v00008086d00000A0C* + ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller + ++pci:v00008086d00000A0Csv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00000A16* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + ++pci:v00008086d00000A16sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00000A22* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + +@@ -55655,6 +55997,9 @@ pci:v00008086d00000C01* + pci:v00008086d00000C04* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller + ++pci:v00008086d00000C04sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00000C04sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -57360,7 +57705,7 @@ pci:v00008086d0000109Asv000017AAsd00002001* + ID_MODEL_FROM_DATABASE=ThinkPad T60 + + pci:v00008086d0000109Asv000017AAsd0000207E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00008086d0000109Asv00008086sd0000109A* + ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection +@@ -58847,6 +59192,9 @@ pci:v00008086d00001539* + pci:v00008086d0000153A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM + ++pci:v00008086d0000153Asv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d0000153Asv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -58901,6 +59249,9 @@ pci:v00008086d00001559* + pci:v00008086d0000155A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM + ++pci:v00008086d0000155Asv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d0000155C* + ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter + +@@ -63816,7 +64167,7 @@ pci:v00008086d000027A0sv000017AAsd00002015* + ID_MODEL_FROM_DATABASE=ThinkPad T60 + + pci:v00008086d000027A0sv000017AAsd00002017* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027A1* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port +@@ -63834,7 +64185,7 @@ pci:v00008086d000027A2sv0000103Csd000030A1* + ID_MODEL_FROM_DATABASE=NC2400 + + pci:v00008086d000027A2sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027A2sv00009902sd00001584* + ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F +@@ -63849,7 +64200,7 @@ pci:v00008086d000027A6sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) + + pci:v00008086d000027A6sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027AC* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub +@@ -63915,7 +64266,7 @@ pci:v00008086d000027B9sv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop + + pci:v00008086d000027B9sv000017AAsd00002009* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027BC* + ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller +@@ -64035,7 +64386,7 @@ pci:v00008086d000027C5sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=Compaq nw8440 + + pci:v00008086d000027C5sv000017AAsd0000200D* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027C6* + ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] +@@ -64095,7 +64446,7 @@ pci:v00008086d000027C8sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027C8sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027C8sv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64161,7 +64512,7 @@ pci:v00008086d000027C9sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027C9sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027C9sv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64227,7 +64578,7 @@ pci:v00008086d000027CAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027CAsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027CAsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64287,7 +64638,7 @@ pci:v00008086d000027CBsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027CBsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027CBsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64347,7 +64698,7 @@ pci:v00008086d000027CCsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027CCsv000017AAsd0000200B* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027CCsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64509,7 +64860,7 @@ pci:v00008086d000027D8sv00001734sd000010AD* + ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP + + pci:v00008086d000027D8sv000017AAsd00002010* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027D8sv000017AAsd00003802* + ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] +@@ -64569,7 +64920,7 @@ pci:v00008086d000027DAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027DAsv000017AAsd0000200F* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027DAsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64647,7 +64998,7 @@ pci:v00008086d000027DFsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027DFsv000017AAsd0000200C* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027DFsv00008086sd0000544E* + ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP +@@ -70358,6 +70709,9 @@ pci:v00008086d00008C02* + pci:v00008086d00008C03* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] + ++pci:v00008086d00008C03sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C03sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70442,6 +70796,9 @@ pci:v00008086d00008C1F* + pci:v00008086d00008C20* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller + ++pci:v00008086d00008C20sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C20sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70451,6 +70808,9 @@ pci:v00008086d00008C21* + pci:v00008086d00008C22* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller + ++pci:v00008086d00008C22sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C22sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70463,18 +70823,27 @@ pci:v00008086d00008C24* + pci:v00008086d00008C26* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 + ++pci:v00008086d00008C26sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C26sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + + pci:v00008086d00008C2D* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 + ++pci:v00008086d00008C2Dsv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C2Dsv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + + pci:v00008086d00008C31* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI + ++pci:v00008086d00008C31sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C31sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70487,6 +70856,9 @@ pci:v00008086d00008C34* + pci:v00008086d00008C3A* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 + ++pci:v00008086d00008C3Asv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C3Asv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70547,6 +70919,9 @@ pci:v00008086d00008C4E* + pci:v00008086d00008C4F* + ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller + ++pci:v00008086d00008C4Fsv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C4Fsv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70820,6 +71195,9 @@ pci:v00008086d00009C02* + pci:v00008086d00009C03* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] + ++pci:v00008086d00009C03sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C04* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] + +@@ -70907,12 +71285,18 @@ pci:v00008086d00009C1F* + pci:v00008086d00009C20* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller + ++pci:v00008086d00009C20sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C21* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller + + pci:v00008086d00009C22* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller + ++pci:v00008086d00009C22sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C23* + ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters + +@@ -70922,12 +71306,18 @@ pci:v00008086d00009C24* + pci:v00008086d00009C26* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 + ++pci:v00008086d00009C26sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C2D* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 + + pci:v00008086d00009C31* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC + ++pci:v00008086d00009C31sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C35* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller + +@@ -70937,6 +71327,9 @@ pci:v00008086d00009C36* + pci:v00008086d00009C3A* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 + ++pci:v00008086d00009C3Asv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C3B* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 + +@@ -70958,6 +71351,9 @@ pci:v00008086d00009C42* + pci:v00008086d00009C43* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller + ++pci:v00008086d00009C43sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C44* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller + +@@ -72557,6 +72953,54 @@ pci:v0000A727d00000013* + pci:v0000A727d00006803* + ID_MODEL_FROM_DATABASE=3CRDAG675B Wireless 11a/b/g Adapter + ++pci:v0000AA00* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA01* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA02* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA03* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA04* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA05* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA06* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA07* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA08* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA09* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0A* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0B* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0C* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0D* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0E* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0F* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ + pci:v0000AA42* + ID_VENDOR_FROM_DATABASE=Scitex Digital Video + +-- +1.7.9.2 + diff --git a/0002-journal-properly-detect-language-specified-in-line.patch b/0002-journal-properly-detect-language-specified-in-line.patch new file mode 100644 index 00000000..361518a2 --- /dev/null +++ b/0002-journal-properly-detect-language-specified-in-line.patch @@ -0,0 +1,99 @@ +From baf167ee0a2953f98e4e7d4c35752ef737832674 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Apr 2014 20:57:27 -0400 +Subject: [PATCH] journal: properly detect language specified in line + +... it turns out that the duplicates in our own catalog were not real +duplicates, but translations. +--- + TODO | 2 ++ + src/journal/catalog.c | 53 +++++++++++++++++++++++++++++++------------------ + 2 files changed, 36 insertions(+), 19 deletions(-) + +diff --git TODO TODO +index 0343b94..a7307f7 100644 +--- TODO ++++ TODO +@@ -709,6 +709,8 @@ External: + + * fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it + ++* register catalog database signature as file magic ++ + Regularly: + + * look for close() vs. close_nointr() vs. close_nointr_nofail() +diff --git src/journal/catalog.c src/journal/catalog.c +index 02dedc4..f03357d 100644 +--- src/journal/catalog.c ++++ src/journal/catalog.c +@@ -159,6 +159,37 @@ int catalog_file_lang(const char* filename, char **lang) { + return 1; + } + ++static int catalog_entry_lang(const char* filename, int line, ++ const char* t, const char* deflang, char **lang) { ++ size_t c; ++ ++ c = strlen(t); ++ if (c == 0) { ++ log_error("[%s:%u] Language too short.", filename, line); ++ return -EINVAL; ++ } ++ if (c > 31) { ++ log_error("[%s:%u] language too long.", filename, line); ++ return -EINVAL; ++ } ++ ++ if (deflang) { ++ if (streq(t, deflang)) { ++ log_warning("[%s:%u] language specified unnecessarily", ++ filename, line); ++ return 0; ++ } else ++ log_warning("[%s:%u] language differs from default for file", ++ filename, line); ++ } ++ ++ *lang = strdup(t); ++ if (!*lang) ++ return -ENOMEM; ++ ++ return 0; ++} ++ + int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { + _cleanup_fclose_ FILE *f = NULL; + _cleanup_free_ char *payload = NULL; +@@ -238,25 +269,9 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { + if (with_language) { + t = strstrip(line + 2 + 1 + 32 + 1); + +- c = strlen(t); +- if (c <= 0) { +- log_error("[%s:%u] Language too short.", path, n); +- return -EINVAL; +- } +- if (c > 31) { +- log_error("[%s:%u] language too long.", path, n); +- return -EINVAL; +- } +- +- if (deflang) { +- log_warning("[%s:%u] language %s", path, n, +- streq(t, deflang) ? +- "specified unnecessarily" : +- "differs from default for file"); +- lang = strdup(t); +- if (!lang) +- return -ENOMEM; +- } ++ r = catalog_entry_lang(path, n, t, deflang, &lang); ++ if (r < 0) ++ return r; + } + + got_id = true; +-- +1.7.9.2 + diff --git a/0002-logind-fix-printf-format.patch b/0002-logind-fix-printf-format.patch new file mode 100644 index 00000000..61bbc9aa --- /dev/null +++ b/0002-logind-fix-printf-format.patch @@ -0,0 +1,25 @@ +From 7e9110a29d90041b0364cb93a84aec9dd72363b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 19:39:51 +0100 +Subject: [PATCH] logind: fix printf format + +--- + src/login/logind-action.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index da5a830..c9d8bc5 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -81,7 +81,7 @@ int manager_handle_action( + + n = manager_count_displays(m); + if (n != 1) { +- log_debug("Ignoring lid switch request, %s displays connected."); ++ log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } + } +-- +1.7.9.2 + diff --git a/0002-man-note-that-entire-sections-can-now-be-ignored.patch b/0002-man-note-that-entire-sections-can-now-be-ignored.patch new file mode 100644 index 00000000..2db35728 --- /dev/null +++ b/0002-man-note-that-entire-sections-can-now-be-ignored.patch @@ -0,0 +1,35 @@ +From 2bcc2523711e69e6daa744641e56ed8b78646676 Mon Sep 17 00:00:00 2001 +From: Michael Marineau +Date: Sat, 17 May 2014 16:09:08 -0700 +Subject: [PATCH] man: note that entire sections can now be ignored + +Prefixing a section name with "X-" will cause it and all of its contents +to be silently ignored as of commit 342aea19. +--- + man/systemd.unit.xml | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 157530b..e903156 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -139,10 +139,12 @@ + Unit files may contain additional options on top + of those listed here. If systemd encounters an unknown + option, it will write a warning log message but +- continue loading the unit. If an option is prefixed +- with , it is ignored completely by +- systemd. Applications may use this to include +- additional information in the unit files. ++ continue loading the unit. If an option or section name ++ is prefixed with , it is ignored ++ completely by systemd. Options within an ignored ++ section do not need the prefix. Applications may use ++ this to include additional information in the unit ++ files. + + Boolean arguments used in unit files can be + written in various formats. For positive settings the +-- +1.7.9.2 + diff --git a/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch b/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch new file mode 100644 index 00000000..6515929b --- /dev/null +++ b/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch @@ -0,0 +1,51583 @@ +Based on d060b62fcb4746d3758c567e9379c6728a035b66 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 14 Apr 2014 07:54:35 -0700 +Subject: [PATCH] hwdb: PCI - include "primary" model string in subsystem + model string + +The data in the PCI ids file is randomly inconsistent. Many +subvendor model strings just describe the "product" where the +hardware is built into, not the hardware itself. This causes +some "Network Card Model Foo" to show up as "Laptop Model Bar". + +Try to make the best out of this mess and concatenate both +strings to describe the hardware. +--- + hwdb/20-pci-vendor-model.hwdb |21356 +++++++++++++++++++++--------------------- + 1 file changed, 10678 insertions(+), 10678 deletions(-) + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index d54cb2a..14637d3 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -15,10 +15,10 @@ pci:v0000001Cd00000001* + ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller + + pci:v0000001Cd00000001sv0000001Csd00000004* +- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 ++ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000) + + pci:v0000001Cd00000001sv0000001Csd00000005* +- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 (Optically Isolated) ++ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000 (Optically Isolated)) + + pci:v0000003D* + ID_VENDOR_FROM_DATABASE=Lockheed Martin-Marietta Corp +@@ -189,19 +189,19 @@ pci:v00000E11d00000046* + ID_MODEL_FROM_DATABASE=Smart Array 64xx + + pci:v00000E11d00000046sv00000E11sd00004091* +- ID_MODEL_FROM_DATABASE=Smart Array 6i ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6i) + + pci:v00000E11d00000046sv00000E11sd0000409A* +- ID_MODEL_FROM_DATABASE=Smart Array 641 ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 641) + + pci:v00000E11d00000046sv00000E11sd0000409B* +- ID_MODEL_FROM_DATABASE=Smart Array 642 ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 642) + + pci:v00000E11d00000046sv00000E11sd0000409C* +- ID_MODEL_FROM_DATABASE=Smart Array 6400 ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400) + + pci:v00000E11d00000046sv00000E11sd0000409D* +- ID_MODEL_FROM_DATABASE=Smart Array 6400 EM ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400 EM) + + pci:v00000E11d00000049* + ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module +@@ -321,7 +321,7 @@ pci:v00000E11d0000A0F0* + ID_MODEL_FROM_DATABASE=Advanced System Management Controller + + pci:v00000E11d0000A0F0sv00000E11sd0000B0F3* +- ID_MODEL_FROM_DATABASE=ProLiant DL360 ++ ID_MODEL_FROM_DATABASE=Advanced System Management Controller (ProLiant DL360) + + pci:v00000E11d0000A0F3* + ID_MODEL_FROM_DATABASE=Triflex PCI to ISA Bridge +@@ -330,10 +330,10 @@ pci:v00000E11d0000A0F7* + ID_MODEL_FROM_DATABASE=PCI Hotplug Controller + + pci:v00000E11d0000A0F7sv00008086sd0000002A* +- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller A ++ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (A) + + pci:v00000E11d0000A0F7sv00008086sd0000002B* +- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller B ++ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (B) + + pci:v00000E11d0000A0F8* + ID_MODEL_FROM_DATABASE=ZFMicro Chipset USB +@@ -345,19 +345,19 @@ pci:v00000E11d0000AE10* + ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller + + pci:v00000E11d0000AE10sv00000E11sd00004030* +- ID_MODEL_FROM_DATABASE=Smart-2/P Array Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2/P Array Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004031* +- ID_MODEL_FROM_DATABASE=Smart-2SL Array Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2SL Array Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004032* +- ID_MODEL_FROM_DATABASE=Smart Array 3200 Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3200 Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004033* +- ID_MODEL_FROM_DATABASE=Smart Array 3100ES Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3100ES Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004034* +- ID_MODEL_FROM_DATABASE=Smart Array 221 Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 221 Controller) + + pci:v00000E11d0000AE29* + ID_MODEL_FROM_DATABASE=MIS-L +@@ -468,13 +468,13 @@ pci:v00000E11d0000B178* + ID_MODEL_FROM_DATABASE=Smart Array 5i/532 + + pci:v00000E11d0000B178sv00000E11sd00004080* +- ID_MODEL_FROM_DATABASE=Smart Array 5i ++ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5i) + + pci:v00000E11d0000B178sv00000E11sd00004082* +- ID_MODEL_FROM_DATABASE=Smart Array 532 ++ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 532) + + pci:v00000E11d0000B178sv00000E11sd00004083* +- ID_MODEL_FROM_DATABASE=Smart Array 5312 ++ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5312) + + pci:v00000E11d0000B1A4* + ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter +@@ -516,7 +516,7 @@ pci:v00001000d00000001* + ID_MODEL_FROM_DATABASE=53c810 + + pci:v00001000d00000001sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C810AE PCI to SCSI I/O Processor ++ ID_MODEL_FROM_DATABASE=53c810 (LSI53C810AE PCI to SCSI I/O Processor) + + pci:v00001000d00000002* + ID_MODEL_FROM_DATABASE=53c820 +@@ -525,7 +525,7 @@ pci:v00001000d00000003* + ID_MODEL_FROM_DATABASE=53c825 + + pci:v00001000d00000003sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) ++ ID_MODEL_FROM_DATABASE=53c825 (LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)) + + pci:v00001000d00000004* + ID_MODEL_FROM_DATABASE=53c815 +@@ -537,49 +537,49 @@ pci:v00001000d00000006* + ID_MODEL_FROM_DATABASE=53c860 + + pci:v00001000d00000006sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C860E PCI to Ultra SCSI I/O Processor ++ ID_MODEL_FROM_DATABASE=53c860 (LSI53C860E PCI to Ultra SCSI I/O Processor) + + pci:v00001000d0000000A* + ID_MODEL_FROM_DATABASE=53c1510 + + pci:v00001000d0000000Asv00000E11sd0000B143* +- ID_MODEL_FROM_DATABASE=Integrated Dual Channel Wide Ultra2 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1510 (Integrated Dual Channel Wide Ultra2 SCSI Controller) + + pci:v00001000d0000000Asv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) ++ ID_MODEL_FROM_DATABASE=53c1510 (LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)) + + pci:v00001000d0000000B* + ID_MODEL_FROM_DATABASE=53C896/897 + + pci:v00001000d0000000Bsv00000E11sd00006004* +- ID_MODEL_FROM_DATABASE=EOB003 Series SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53C896/897 (EOB003 Series SCSI host adapter) + + pci:v00001000d0000000Bsv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller ++ ID_MODEL_FROM_DATABASE=53C896/897 (LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller) + + pci:v00001000d0000000Bsv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53C896/897 (LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter) + + pci:v00001000d0000000Bsv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53C896/897 (LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter) + + pci:v00001000d0000000Bsv000013E9sd00001000* +- ID_MODEL_FROM_DATABASE=6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics) ++ ID_MODEL_FROM_DATABASE=53C896/897 (6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)) + + pci:v00001000d0000000C* + ID_MODEL_FROM_DATABASE=53c895 + + pci:v00001000d0000000Csv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=LSI8951U PCI to Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c895 (LSI8951U PCI to Ultra2 SCSI host adapter) + + pci:v00001000d0000000Csv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=LSI8952U PCI to Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c895 (LSI8952U PCI to Ultra2 SCSI host adapter) + + pci:v00001000d0000000Csv00001DE1sd00003906* +- ID_MODEL_FROM_DATABASE=DC-390U2B SCSI adapter ++ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2B SCSI adapter) + + pci:v00001000d0000000Csv00001DE1sd00003907* +- ID_MODEL_FROM_DATABASE=DC-390U2W ++ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2W) + + pci:v00001000d0000000D* + ID_MODEL_FROM_DATABASE=53c885 +@@ -588,151 +588,151 @@ pci:v00001000d0000000F* + ID_MODEL_FROM_DATABASE=53c875 + + pci:v00001000d0000000Fsv00000E11sd00007004* +- ID_MODEL_FROM_DATABASE=Embedded Ultra Wide SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875 (Embedded Ultra Wide SCSI Controller) + + pci:v00001000d0000000Fsv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C876/E PCI to Dual Channel SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875 (LSI53C876/E PCI to Dual Channel SCSI Controller) + + pci:v00001000d0000000Fsv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=LSI22801 PCI to Dual Channel Ultra SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c875 (LSI22801 PCI to Dual Channel Ultra SCSI host adapter) + + pci:v00001000d0000000Fsv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=LSI22802 PCI to Dual Channel Ultra SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c875 (LSI22802 PCI to Dual Channel Ultra SCSI host adapter) + + pci:v00001000d0000000Fsv00001092sd00008760* +- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875 (FirePort 40 Dual SCSI Controller) + + pci:v00001000d0000000Fsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Wide Ultra SCSI ++ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Wide Ultra SCSI) + + pci:v00001000d0000000Fsv00001775sd000010D1* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Ultra SCSI ++ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Ultra SCSI) + + pci:v00001000d0000000Fsv00001DE1sd00003904* +- ID_MODEL_FROM_DATABASE=DC390F/U Ultra Wide SCSI Adapter ++ ID_MODEL_FROM_DATABASE=53c875 (DC390F/U Ultra Wide SCSI Adapter) + + pci:v00001000d0000000Fsv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=53c875 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00001000d0000000Fsv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=53c875 (CT7 mainboard) + + pci:v00001000d00000010* + ID_MODEL_FROM_DATABASE=53C1510 + + pci:v00001000d00000010sv00000E11sd00004040* +- ID_MODEL_FROM_DATABASE=Integrated Smart Array Controller ++ ID_MODEL_FROM_DATABASE=53C1510 (Integrated Smart Array Controller) + + pci:v00001000d00000010sv00000E11sd00004048* +- ID_MODEL_FROM_DATABASE=RAID LC2 Controller ++ ID_MODEL_FROM_DATABASE=53C1510 (RAID LC2 Controller) + + pci:v00001000d00000010sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) ++ ID_MODEL_FROM_DATABASE=53C1510 (PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)) + + pci:v00001000d00000012* + ID_MODEL_FROM_DATABASE=53c895a + + pci:v00001000d00000012sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C895A PCI to Ultra2 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c895a (LSI53C895A PCI to Ultra2 SCSI Controller) + + pci:v00001000d00000013* + ID_MODEL_FROM_DATABASE=53c875a + + pci:v00001000d00000013sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C875A PCI to Ultra SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875a (LSI53C875A PCI to Ultra SCSI Controller) + + pci:v00001000d00000020* + ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter + + pci:v00001000d00000020sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller) + + pci:v00001000d00000020sv0000107Bsd00001040* +- ID_MODEL_FROM_DATABASE=Server Onboard 53C1010-33 ++ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (Server Onboard 53C1010-33) + + pci:v00001000d00000020sv00001DE1sd00001020* +- ID_MODEL_FROM_DATABASE=DC-390U3W ++ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (DC-390U3W) + + pci:v00001000d00000021* + ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter + + pci:v00001000d00000021sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller) + + pci:v00001000d00000021sv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=Asus TR-DLS onboard 53C1010-66 ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Asus TR-DLS onboard 53C1010-66) + + pci:v00001000d00000021sv0000103Csd00001300* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [AB306A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [AB306A]) + + pci:v00001000d00000021sv0000103Csd00001310* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A9918A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A9918A]) + + pci:v00001000d00000021sv0000103Csd00001330* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7059A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7059A]) + + pci:v00001000d00000021sv0000103Csd00001340* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7060A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7060A]) + + pci:v00001000d00000021sv0000124Bsd00001070* +- ID_MODEL_FROM_DATABASE=PMC-USCSI3 ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (PMC-USCSI3) + + pci:v00001000d00000021sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (CT8 mainboard) + + pci:v00001000d00000021sv00004C53sd00001300* +- ID_MODEL_FROM_DATABASE=P017 mezzanine (32-bit PMC) ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (32-bit PMC)) + + pci:v00001000d00000021sv00004C53sd00001310* +- ID_MODEL_FROM_DATABASE=P017 mezzanine (64-bit PMC) ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (64-bit PMC)) + + pci:v00001000d0000002F* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] + + pci:v00001000d0000002Fsv00001028sd00001F3E* +- ID_MODEL_FROM_DATABASE=SPERC 8 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] (SPERC 8) + + pci:v00001000d00000030* + ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI + + pci:v00001000d00000030sv00000E11sd000000DA* +- ID_MODEL_FROM_DATABASE=ProLiant ML 350 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (ProLiant ML 350) + + pci:v00001000d00000030sv00001028sd00000123* +- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) + + pci:v00001000d00000030sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) + + pci:v00001000d00000030sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)) + + pci:v00001000d00000030sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) + + pci:v00001000d00000030sv00001028sd0000018A* +- ID_MODEL_FROM_DATABASE=PERC 4/IM ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PERC 4/IM) + + pci:v00001000d00000030sv00001028sd00001010* +- ID_MODEL_FROM_DATABASE=LSI U320 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI U320 SCSI Controller) + + pci:v00001000d00000030sv0000103Csd000012C5* +- ID_MODEL_FROM_DATABASE=Ultra320 SCSI [A7173A] ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Ultra320 SCSI [A7173A]) + + pci:v00001000d00000030sv0000103Csd00001323* +- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Core I/O LAN/SCSI Combo [AB314A]) + + pci:v00001000d00000030sv0000103Csd00003108* +- ID_MODEL_FROM_DATABASE=Single Channel Ultra320 SCSI HBA G2 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Single Channel Ultra320 SCSI HBA G2) + + pci:v00001000d00000030sv0000124Bsd00001170* +- ID_MODEL_FROM_DATABASE=PMC-USCSI320 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PMC-USCSI320) + + pci:v00001000d00000030sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=LSI Logic Parallel SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic Parallel SCSI Controller) + + pci:v00001000d00000030sv00001734sd00001052* +- ID_MODEL_FROM_DATABASE=PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PRIMERGY BX/RX/TX S2 series onboard SCSI(IME)) + + pci:v00001000d00000031* + ID_MODEL_FROM_DATABASE=53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI +@@ -741,7 +741,7 @@ pci:v00001000d00000032* + ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + + pci:v00001000d00000032sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller) + + pci:v00001000d00000033* + ID_MODEL_FROM_DATABASE=1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI +@@ -750,10 +750,10 @@ pci:v00001000d00000040* + ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + + pci:v00001000d00000040sv00001000sd00000033* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XR ++ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XR) + + pci:v00001000d00000040sv00001000sd00000066* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XRWS ++ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XRWS) + + pci:v00001000d00000041* + ID_MODEL_FROM_DATABASE=53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI +@@ -762,73 +762,73 @@ pci:v00001000d00000050* + ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS + + pci:v00001000d00000050sv00001028sd00001F04* +- ID_MODEL_FROM_DATABASE=SAS 5/E ++ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5/E) + + pci:v00001000d00000050sv00001028sd00001F09* +- ID_MODEL_FROM_DATABASE=SAS 5i/R ++ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5i/R) + + pci:v00001000d00000054* + ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS + + pci:v00001000d00000054sv00001028sd00001F04* +- ID_MODEL_FROM_DATABASE=SAS 5/E Adapter Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/E Adapter Controller) + + pci:v00001000d00000054sv00001028sd00001F05* +- ID_MODEL_FROM_DATABASE=SAS 5/i Adapter Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Adapter Controller) + + pci:v00001000d00000054sv00001028sd00001F06* +- ID_MODEL_FROM_DATABASE=SAS 5/i Integrated Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Integrated Controller) + + pci:v00001000d00000054sv00001028sd00001F07* +- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) + + pci:v00001000d00000054sv00001028sd00001F08* +- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) + + pci:v00001000d00000054sv00001028sd00001F09* +- ID_MODEL_FROM_DATABASE=SAS 5/iR Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Adapter RAID Controller) + + pci:v00001000d00000054sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=SAS Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS Controller) + + pci:v00001000d00000055* + ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS + + pci:v00001000d00000055sv00001033sd00008336* +- ID_MODEL_FROM_DATABASE=SAS1068 ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS1068) + + pci:v00001000d00000056* + ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS + + pci:v00001000d00000056sv00001014sd000003BB* +- ID_MODEL_FROM_DATABASE=ServeRAID BR10il SAS/SATA Controller v2 ++ ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS (ServeRAID BR10il SAS/SATA Controller v2) + + pci:v00001000d00000057* + ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS + + pci:v00001000d00000057sv00008086sd0000346C* +- ID_MODEL_FROM_DATABASE=Embedded Software RAID Technology II (ESTRII) ++ ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS (Embedded Software RAID Technology II (ESTRII)) + + pci:v00001000d00000058* + ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS + + pci:v00001000d00000058sv00001000sd00003140* +- ID_MODEL_FROM_DATABASE=SAS3081E-R 8-Port SAS/SATA Host Bus Adapter ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS3081E-R 8-Port SAS/SATA Host Bus Adapter) + + pci:v00001000d00000058sv00001028sd0000021D* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Workstations RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Workstations RAID Controller) + + pci:v00001000d00000058sv00001028sd00001F0E* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Adapter RAID Controller) + + pci:v00001000d00000058sv00001028sd00001F0F* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Blades RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Blades RAID Controller) + + pci:v00001000d00000058sv00001028sd00001F10* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated RAID Controller) + + pci:v00001000d00000058sv0000103Csd00003229* +- ID_MODEL_FROM_DATABASE=SC44Ge Host Bus Adapter ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SC44Ge Host Bus Adapter) + + pci:v00001000d00000059* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 8208ELP/8208ELP +@@ -840,97 +840,97 @@ pci:v00001000d0000005B* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] + + pci:v00001000d0000005Bsv00001000sd00009265* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265-8i) + + pci:v00001000d0000005Bsv00001000sd00009266* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-8i) + + pci:v00001000d0000005Bsv00001000sd00009267* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9267-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9267-8i) + + pci:v00001000d0000005Bsv00001000sd00009268* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265CV-8i / 9270CV-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265CV-8i / 9270CV-8i) + + pci:v00001000d0000005Bsv00001000sd00009269* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-4i) + + pci:v00001000d0000005Bsv00001000sd00009270* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-8i) + + pci:v00001000d0000005Bsv00001000sd00009271* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8i) + + pci:v00001000d0000005Bsv00001000sd00009272* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9272-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9272-8i) + + pci:v00001000d0000005Bsv00001000sd00009273* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270CV-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270CV-8i) + + pci:v00001000d0000005Bsv00001000sd00009274* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-4i) + + pci:v00001000d0000005Bsv00001000sd00009275* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8iCC ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8iCC) + + pci:v00001000d0000005Bsv00001000sd00009276* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-4i) + + pci:v00001000d0000005Bsv00001000sd00009285* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285-8e) + + pci:v00001000d0000005Bsv00001000sd00009288* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285CV-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285CV-8e) + + pci:v00001000d0000005Bsv00001000sd00009290* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286-8e) + + pci:v00001000d0000005Bsv00001000sd00009291* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8e) + + pci:v00001000d0000005Bsv00001000sd00009295* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8eCC ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8eCC) + + pci:v00001000d0000005Bsv00001014sd0000040B* +- ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110 SAS/SATA Controller) + + pci:v00001000d0000005Bsv00001014sd0000040C* +- ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5120 SAS/SATA Controller) + + pci:v00001000d0000005Bsv00001014sd00000412* +- ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110e SAS/SATA Controller) + + pci:v00001000d0000005Bsv00001028sd00001F2D* +- ID_MODEL_FROM_DATABASE=PERC H810 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H810 Adapter) + + pci:v00001000d0000005Bsv00001028sd00001F30* +- ID_MODEL_FROM_DATABASE=PERC H710 Embedded ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Embedded) + + pci:v00001000d0000005Bsv00001028sd00001F31* +- ID_MODEL_FROM_DATABASE=PERC H710P Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Adapter) + + pci:v00001000d0000005Bsv00001028sd00001F33* +- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for blades)) + + pci:v00001000d0000005Bsv00001028sd00001F34* +- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for monolithics) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for monolithics)) + + pci:v00001000d0000005Bsv00001028sd00001F35* +- ID_MODEL_FROM_DATABASE=PERC H710 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Adapter) + + pci:v00001000d0000005Bsv00001028sd00001F37* +- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for blades)) + + pci:v00001000d0000005Bsv00001028sd00001F38* +- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for monolithics)) + + pci:v00001000d0000005Bsv000015D9sd00000690* +- ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (LSI MegaRAID ROMB) + + pci:v00001000d0000005Bsv00008086sd00003510* +- ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25PB080 RAID Controller) + + pci:v00001000d0000005Bsv00008086sd00003513* +- ID_MODEL_FROM_DATABASE=RMS25CB080 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25CB080 RAID Controller) + + pci:v00001000d0000005C* + ID_MODEL_FROM_DATABASE=SAS1064A PCI-X Fusion-MPT SAS +@@ -939,31 +939,31 @@ pci:v00001000d0000005D* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] + + pci:v00001000d0000005Dsv00001028sd00001F41* +- ID_MODEL_FROM_DATABASE=PERC H830 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H830 Adapter) + + pci:v00001000d0000005Dsv00001028sd00001F42* +- ID_MODEL_FROM_DATABASE=PERC H730P Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Adapter) + + pci:v00001000d0000005Dsv00001028sd00001F43* +- ID_MODEL_FROM_DATABASE=PERC H730 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Adapter) + + pci:v00001000d0000005Dsv00001028sd00001F47* +- ID_MODEL_FROM_DATABASE=PERC H730P Mini ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini) + + pci:v00001000d0000005Dsv00001028sd00001F48* +- ID_MODEL_FROM_DATABASE=PERC H730P Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini (for blades)) + + pci:v00001000d0000005Dsv00001028sd00001F49* +- ID_MODEL_FROM_DATABASE=PERC H730 Mini ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini) + + pci:v00001000d0000005Dsv00001028sd00001F4A* +- ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) + + pci:v00001000d0000005Dsv000017AAsd00001052* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) + + pci:v00001000d0000005Dsv000017AAsd00001053* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720ix) + + pci:v00001000d0000005E* + ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS +@@ -972,109 +972,109 @@ pci:v00001000d0000005F* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] + + pci:v00001000d0000005Fsv00001028sd00001F44* +- ID_MODEL_FROM_DATABASE=PERC H330 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Adapter) + + pci:v00001000d0000005Fsv00001028sd00001F4B* +- ID_MODEL_FROM_DATABASE=PERC H330 Mini ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini) + + pci:v00001000d0000005Fsv00001028sd00001F4C* +- ID_MODEL_FROM_DATABASE=PERC H330 Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini (for blades)) + + pci:v00001000d0000005Fsv00001028sd00001F4D* +- ID_MODEL_FROM_DATABASE=PERC H330 Embedded (for monolithic) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Embedded (for monolithic)) + + pci:v00001000d00000060* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 + + pci:v00001000d00000060sv00001000sd00001006* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8888ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8888ELP) + + pci:v00001000d00000060sv00001000sd0000100A* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708ELP) + + pci:v00001000d00000060sv00001000sd0000100E* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8884E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8884E) + + pci:v00001000d00000060sv00001000sd0000100F* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708E) + + pci:v00001000d00000060sv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-8ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-8ELP) + + pci:v00001000d00000060sv00001000sd00001011* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-4ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-4ELP) + + pci:v00001000d00000060sv00001000sd00001012* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8704ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8704ELP) + + pci:v00001000d00000060sv00001000sd00001016* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8880EM2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8880EM2) + + pci:v00001000d00000060sv00001014sd00000363* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001014sd00000364* +- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8808E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8808E) + + pci:v00001000d00000060sv00001014sd00000365* +- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8884E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8884E) + + pci:v00001000d00000060sv00001014sd00000379* +- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8880EM2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8880EM2) + + pci:v00001000d00000060sv00001028sd00001F0A* +- ID_MODEL_FROM_DATABASE=PERC 6/E Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/E Adapter RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F0B* +- ID_MODEL_FROM_DATABASE=PERC 6/i Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Adapter RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F0C* +- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F0D* +- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F11* +- ID_MODEL_FROM_DATABASE=CERC 6/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (CERC 6/i Integrated RAID Controller) + + pci:v00001000d00000060sv00001033sd0000835A* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001043sd0000824D* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001170sd0000002F* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001170sd00000036* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv000015D9sd0000C080* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv000017AAsd00006B7C* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv000018A1sd00000003* +- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (LSI MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00008086sd00001006* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EP) + + pci:v00001000d00000060sv00008086sd0000100A* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EV ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EV) + + pci:v00001000d00000060sv00008086sd00001010* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSATA28E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSATA28E) + + pci:v00001000d00000060sv00008086sd000034CC* +- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) + + pci:v00001000d00000060sv00008086sd000034CD* +- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) + + pci:v00001000d00000060sv00008086sd00003505* +- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSASMP2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSASMP2) + + pci:v00001000d00000062* + ID_MODEL_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS +@@ -1101,100 +1101,100 @@ pci:v00001000d00000072* + ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] + + pci:v00001000d00000072sv00001028sd00001F1C* +- ID_MODEL_FROM_DATABASE=6Gbps SAS HBA Adapter ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (6Gbps SAS HBA Adapter) + + pci:v00001000d00000072sv00001028sd00001F1D* +- ID_MODEL_FROM_DATABASE=PERC H200 Adapter ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Adapter) + + pci:v00001000d00000072sv00001028sd00001F1E* +- ID_MODEL_FROM_DATABASE=PERC H200 Integrated ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Integrated) + + pci:v00001000d00000072sv00001028sd00001F1F* +- ID_MODEL_FROM_DATABASE=PERC H200 Modular ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Modular) + + pci:v00001000d00000072sv00001028sd00001F20* +- ID_MODEL_FROM_DATABASE=PERC H200 Embedded ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Embedded) + + pci:v00001000d00000072sv00001028sd00001F22* +- ID_MODEL_FROM_DATABASE=Internal Tape Adapter ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (Internal Tape Adapter) + + pci:v00001000d00000072sv00008086sd0000350F* +- ID_MODEL_FROM_DATABASE=RMS2LL040 RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (RMS2LL040 RAID Controller) + + pci:v00001000d00000073* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] + + pci:v00001000d00000073sv00001000sd00009240* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-8i) + + pci:v00001000d00000073sv00001000sd00009241* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-4i) + + pci:v00001000d00000073sv00001000sd000092A0* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9220-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9220-8i) + + pci:v00001000d00000073sv00001014sd000003B1* +- ID_MODEL_FROM_DATABASE=ServeRAID M1015 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ServeRAID M1015 SAS/SATA Controller) + + pci:v00001000d00000073sv00001028sd00001F4E* +- ID_MODEL_FROM_DATABASE=PERC H310 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Adapter) + + pci:v00001000d00000073sv00001028sd00001F4F* +- ID_MODEL_FROM_DATABASE=PERC H310 Integrated ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Integrated) + + pci:v00001000d00000073sv00001028sd00001F50* +- ID_MODEL_FROM_DATABASE=PERC H310 Mini Blades ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Blades) + + pci:v00001000d00000073sv00001028sd00001F51* +- ID_MODEL_FROM_DATABASE=PERC H310 Mini Monolithics ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Monolithics) + + pci:v00001000d00000073sv00001028sd00001F52* +- ID_MODEL_FROM_DATABASE=PERC H310 Embedded1 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded1) + + pci:v00001000d00000073sv00001028sd00001F53* +- ID_MODEL_FROM_DATABASE=PERC H310 Embedded2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded2) + + pci:v00001000d00000073sv00001028sd00001F54* +- ID_MODEL_FROM_DATABASE=PERC H310 Reserved ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Reserved) + + pci:v00001000d00000073sv00001054sd00003035* +- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS 9240-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (LSI MegaRAID SAS 9240-8i) + + pci:v00001000d00000073sv00001137sd00000072* +- ID_MODEL_FROM_DATABASE=2004 iMR ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2004 iMR ROMB) + + pci:v00001000d00000073sv00001137sd00000073* +- ID_MODEL_FROM_DATABASE=2008 ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2008 ROMB) + + pci:v00001000d00000073sv00001137sd000000B0* +- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) + + pci:v00001000d00000073sv00001137sd000000B1* +- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) + + pci:v00001000d00000073sv00001137sd000000C2* +- ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Double Wide) + + pci:v00001000d00000073sv00001137sd000000C3* +- ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Single Wide) + + pci:v00001000d00000073sv000015D9sd00000400* +- ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (Supermicro SMC2008-iMR) + + pci:v00001000d00000073sv00001734sd00001177* +- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Ctrl SAS 6G 0/1 (D2607)) + + pci:v00001000d00000073sv000017AAsd00001051* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ThinkServer RAID 510i) + + pci:v00001000d00000073sv00008086sd0000350D* +- ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RMS2AF040 RAID Controller) + + pci:v00001000d00000073sv00008086sd00009240* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC080 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC080) + + pci:v00001000d00000073sv00008086sd00009241* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC040 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC040) + + pci:v00001000d00000074* + ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] +@@ -1209,106 +1209,106 @@ pci:v00001000d00000079* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] + + pci:v00001000d00000079sv00001000sd00009251* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4ix ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4ix) + + pci:v00001000d00000079sv00001000sd00009256* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8ix ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8ix) + + pci:v00001000d00000079sv00001000sd00009260* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4i) + + pci:v00001000d00000079sv00001000sd00009261* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8i) + + pci:v00001000d00000079sv00001000sd00009262* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9262-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9262-8i) + + pci:v00001000d00000079sv00001000sd00009263* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9261-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9261-8i) + + pci:v00001000d00000079sv00001000sd00009264* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9264-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9264-8i) + + pci:v00001000d00000079sv00001000sd00009267* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-4i) + + pci:v00001000d00000079sv00001000sd00009268* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-8i) + + pci:v00001000d00000079sv00001000sd00009275* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8ex ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8ex) + + pci:v00001000d00000079sv00001000sd00009276* +- ID_MODEL_FROM_DATABASE=MR9260-16i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MR9260-16i) + + pci:v00001000d00000079sv00001000sd00009280* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8e) + + pci:v00001000d00000079sv00001000sd00009281* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9281-8E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9281-8E) + + pci:v00001000d00000079sv00001000sd00009282* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-4i4e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-4i4e) + + pci:v00001000d00000079sv00001000sd00009290* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280DE-24i4e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280DE-24i4e) + + pci:v00001000d00000079sv00001014sd000003B2* +- ID_MODEL_FROM_DATABASE=ServeRAID M5015 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5015 SAS/SATA Controller) + + pci:v00001000d00000079sv00001014sd000003B3* +- ID_MODEL_FROM_DATABASE=ServeRAID M5025 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5025 SAS/SATA Controller) + + pci:v00001000d00000079sv00001028sd00001F15* +- ID_MODEL_FROM_DATABASE=PERC H800 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Adapter) + + pci:v00001000d00000079sv00001028sd00001F16* +- ID_MODEL_FROM_DATABASE=PERC H700 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Adapter) + + pci:v00001000d00000079sv00001028sd00001F17* +- ID_MODEL_FROM_DATABASE=PERC H700 Integrated ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) + + pci:v00001000d00000079sv00001028sd00001F18* +- ID_MODEL_FROM_DATABASE=PERC H700 Modular ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Modular) + + pci:v00001000d00000079sv00001028sd00001F1A* +- ID_MODEL_FROM_DATABASE=PERC H800 Proto Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Proto Adapter) + + pci:v00001000d00000079sv00001028sd00001F1B* +- ID_MODEL_FROM_DATABASE=PERC H700 Integrated ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) + + pci:v00001000d00000079sv00001043sd00008480* +- ID_MODEL_FROM_DATABASE=PIKE-2108 16PD ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PIKE-2108 16PD) + + pci:v00001000d00000079sv00001734sd00001176* +- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 5/6 512MB (D2616) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 5/6 512MB (D2616)) + + pci:v00001000d00000079sv00001734sd00001177* +- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 0/1 (D2607)) + + pci:v00001000d00000079sv00008086sd00009256* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260DE-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260DE-8i) + + pci:v00001000d00000079sv00008086sd00009260* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL040 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL040) + + pci:v00001000d00000079sv00008086sd00009261* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL080 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL080) + + pci:v00001000d00000079sv00008086sd00009264* +- ID_MODEL_FROM_DATABASE=Warm Beach (Caster Lite) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (Warm Beach (Caster Lite)) + + pci:v00001000d00000079sv00008086sd00009267* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB040 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB040) + + pci:v00001000d00000079sv00008086sd00009268* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB080 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB080) + + pci:v00001000d0000007C* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE + + pci:v00001000d0000007Csv00001014sd00000395* +- ID_MODEL_FROM_DATABASE=ServeRAID-AR10is SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE (ServeRAID-AR10is SAS/SATA Controller) + + pci:v00001000d0000007E* + ID_MODEL_FROM_DATABASE=SSS6200 PCI-Express Flash SSD +@@ -1338,16 +1338,16 @@ pci:v00001000d00000087* + ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 + + pci:v00001000d00000087sv00001590sd00000044* +- ID_MODEL_FROM_DATABASE=H220i ++ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 (H220i) + + pci:v00001000d0000008F* + ID_MODEL_FROM_DATABASE=53c875J + + pci:v00001000d0000008Fsv00001092sd00008000* +- ID_MODEL_FROM_DATABASE=FirePort 40 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 SCSI Controller) + + pci:v00001000d0000008Fsv00001092sd00008760* +- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 Dual SCSI Host Adapter) + + pci:v00001000d00000090* + ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3 +@@ -1368,151 +1368,151 @@ pci:v00001000d00000097* + ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 + + pci:v00001000d00000097sv00001028sd00001F45* +- ID_MODEL_FROM_DATABASE=12GB/s HBA internal ++ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA internal) + + pci:v00001000d00000097sv00001028sd00001F46* +- ID_MODEL_FROM_DATABASE=12GB/s HBA external ++ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA external) + + pci:v00001000d00000407* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00000407sv00001000sd00000530* +- ID_MODEL_FROM_DATABASE=MegaRAID 530 SCSI 320-0X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (530 SCSI 320-0X RAID Controller) + + pci:v00001000d00000407sv00001000sd00000531* +- ID_MODEL_FROM_DATABASE=MegaRAID 531 SCSI 320-4X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (531 SCSI 320-4X RAID Controller) + + pci:v00001000d00000407sv00001000sd00000532* +- ID_MODEL_FROM_DATABASE=MegaRAID 532 SCSI 320-2X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (532 SCSI 320-2X RAID Controller) + + pci:v00001000d00000407sv00001028sd00000531* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00000407sv00001028sd00000533* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00000407sv00008086sd00000530* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCZCRX ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCZCRX) + + pci:v00001000d00000407sv00008086sd00000532* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42X ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42X) + + pci:v00001000d00000408* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00000408sv00001000sd00000001* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-1E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-1E RAID Controller) + + pci:v00001000d00000408sv00001000sd00000002* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-2E RAID Controller) + + pci:v00001000d00000408sv00001025sd0000004D* +- ID_MODEL_FROM_DATABASE=MegaRAID ACER ROMB-2E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (ACER ROMB-2E RAID Controller) + + pci:v00001000d00000408sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/SC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/SC) + + pci:v00001000d00000408sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/DC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/DC) + + pci:v00001000d00000408sv00001028sd00000012* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller RAC4 ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller RAC4) + + pci:v00001000d00000408sv00001028sd00000015* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) + + pci:v00001000d00000408sv00001028sd00001F03* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) + + pci:v00001000d00000408sv00001734sd00001065* +- ID_MODEL_FROM_DATABASE=FSC MegaRAID PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID (FSC MegaRAID PCI Express ROMB) + + pci:v00001000d00000408sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42E ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42E) + + pci:v00001000d00000408sv00008086sd00003449* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SROMBU ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SROMBU) + + pci:v00001000d00000409* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00000409sv00001000sd00003004* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-4X RAID Controller) + + pci:v00001000d00000409sv00001000sd00003008* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-8X RAID Controller) + + pci:v00001000d00000409sv00008086sd00003008* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS28X ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS28X) + + pci:v00001000d00000409sv00008086sd00003431* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Alief SROMBU42E ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Alief SROMBU42E) + + pci:v00001000d00000409sv00008086sd00003499* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Harwich SROMBU42E ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Harwich SROMBU42E) + + pci:v00001000d00000411* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 + + pci:v00001000d00000411sv00001000sd00001001* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8408E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8408E) + + pci:v00001000d00000411sv00001000sd00001002* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8480E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8480E) + + pci:v00001000d00000411sv00001000sd00001003* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8344ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8344ELP) + + pci:v00001000d00000411sv00001000sd00001004* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8308ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8308ELP) + + pci:v00001000d00000411sv00001000sd00001008* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 84016E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 84016E) + + pci:v00001000d00000411sv00001000sd0000100C* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-12E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-12E) + + pci:v00001000d00000411sv00001000sd0000100D* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-16E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-16E) + + pci:v00001000d00000411sv00001000sd00002004* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-8ELP) + + pci:v00001000d00000411sv00001000sd00002005* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-4ELP) + + pci:v00001000d00000411sv00001033sd00008287* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000411sv00001054sd00003016* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS RoMB Server ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS RoMB Server) + + pci:v00001000d00000411sv00001734sd00001081* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000411sv00001734sd000010A3* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000411sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS18E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS18E) + + pci:v00001000d00000411sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS144E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS144E) + + pci:v00001000d00000411sv00008086sd00003500* +- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) + + pci:v00001000d00000411sv00008086sd00003501* +- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) + + pci:v00001000d00000411sv00008086sd00003504* +- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) + + pci:v00001000d00000413* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] + + pci:v00001000d00000413sv00001000sd00001005* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8300XLP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] (MegaRAID SAS 8300XLP) + + pci:v00001000d00000621* + ID_MODEL_FROM_DATABASE=FC909 Fibre Channel Adapter +@@ -1521,7 +1521,7 @@ pci:v00001000d00000622* + ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter + + pci:v00001000d00000622sv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=44929 O Dual Fibre Channel card ++ ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter (44929 O Dual Fibre Channel card) + + pci:v00001000d00000623* + ID_MODEL_FROM_DATABASE=FC929 LAN +@@ -1536,7 +1536,7 @@ pci:v00001000d00000626* + ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter + + pci:v00001000d00000626sv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=7202-XP-LC Dual Fibre Channel card ++ ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter (7202-XP-LC Dual Fibre Channel card) + + pci:v00001000d00000627* + ID_MODEL_FROM_DATABASE=FC929X LAN +@@ -1563,7 +1563,7 @@ pci:v00001000d00000702* + ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet + + pci:v00001000d00000702sv00001318sd00000000* +- ID_MODEL_FROM_DATABASE=PEI100X ++ ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet (PEI100X) + + pci:v00001000d00000804* + ID_MODEL_FROM_DATABASE=SA2010 +@@ -1587,40 +1587,40 @@ pci:v00001000d00001960* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00001960sv00001000sd00000518* +- ID_MODEL_FROM_DATABASE=MegaRAID 518 SCSI 320-2 Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (518 SCSI 320-2 Controller) + + pci:v00001000d00001960sv00001000sd00000520* +- ID_MODEL_FROM_DATABASE=MegaRAID 520 SCSI 320-1 Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (520 SCSI 320-1 Controller) + + pci:v00001000d00001960sv00001000sd00000522* +- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4 133 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4 133 RAID Controller) + + pci:v00001000d00001960sv00001000sd00000523* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-6 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-6 RAID Controller) + + pci:v00001000d00001960sv00001000sd00004523* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-4 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-4 RAID Controller) + + pci:v00001000d00001960sv00001000sd0000A520* +- ID_MODEL_FROM_DATABASE=MegaRAID ZCR SCSI 320-0 Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (ZCR SCSI 320-0 Controller) + + pci:v00001000d00001960sv00001028sd00000518* +- ID_MODEL_FROM_DATABASE=MegaRAID 518 DELL PERC 4/DC RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (518 DELL PERC 4/DC RAID Controller) + + pci:v00001000d00001960sv00001028sd00000520* +- ID_MODEL_FROM_DATABASE=MegaRAID 520 DELL PERC 4/SC RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (520 DELL PERC 4/SC RAID Controller) + + pci:v00001000d00001960sv00001028sd00000531* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00001960sv00001028sd00000533* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00001960sv00008086sd00000520* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCU41L ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCU41L) + + pci:v00001000d00001960sv00008086sd00000523* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS16) + + pci:v00001000d00003050* + ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 +@@ -1710,7 +1710,7 @@ pci:v00001002d00001314* + ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio + + pci:v00001002d00001314sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio (PURE Fusion Mini) + + pci:v00001002d00001315* + ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] +@@ -1737,13 +1737,13 @@ pci:v00001002d00001714* + ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] + + pci:v00001002d00001714sv0000103Csd0000168B* +- ID_MODEL_FROM_DATABASE=ProBook 4535s ++ ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] (ProBook 4535s) + + pci:v00001002d00003150* + ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] + + pci:v00001002d00003150sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=nx8220 ++ ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] (nx8220) + + pci:v00001002d00003151* + ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400] +@@ -1791,73 +1791,73 @@ pci:v00001002d00004150* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] + + pci:v00001002d00004150sv00001002sd00000002* +- ID_MODEL_FROM_DATABASE=R9600 Pro primary (Asus OEM for HP) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro primary (Asus OEM for HP)) + + pci:v00001002d00004150sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro secondary (Asus OEM for HP)) + + pci:v00001002d00004150sv00001002sd00004722* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (All-in-Wonder 2006 AGP Edition) + + pci:v00001002d00004150sv00001458sd00004024* +- ID_MODEL_FROM_DATABASE=GV-R96128D ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GV-R96128D) + + pci:v00001002d00004150sv0000148Csd00002064* +- ID_MODEL_FROM_DATABASE=R96A-C3N ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) + + pci:v00001002d00004150sv0000148Csd00002066* +- ID_MODEL_FROM_DATABASE=R96A-C3N ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) + + pci:v00001002d00004150sv0000174Bsd00007C19* +- ID_MODEL_FROM_DATABASE=Atlantis Radeon 9600 Pro ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Atlantis Radeon 9600 Pro) + + pci:v00001002d00004150sv0000174Bsd00007C29* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO) + + pci:v00001002d00004150sv000017EEsd00002002* +- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb Primary ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Radeon 9600 256Mb Primary) + + pci:v00001002d00004150sv000018BCsd00000101* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Primary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO (Primary)) + + pci:v00001002d00004151* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] + + pci:v00001002d00004151sv00001043sd0000C004* +- ID_MODEL_FROM_DATABASE=A9600SE ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] (A9600SE) + + pci:v00001002d00004152* + ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] + + pci:v00001002d00004152sv00001002sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) + + pci:v00001002d00004152sv00001002sd00004772* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (All-in-Wonder 9600 XT) + + pci:v00001002d00004152sv00001043sd0000C002* +- ID_MODEL_FROM_DATABASE=Radeon 9600 XT TVD ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT TVD) + + pci:v00001002d00004152sv00001043sd0000C01A* +- ID_MODEL_FROM_DATABASE=A9600XT/TD ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (A9600XT/TD) + + pci:v00001002d00004152sv00001462sd00009510* +- ID_MODEL_FROM_DATABASE=RX9600XT (MS-8951) ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (RX9600XT (MS-8951)) + + pci:v00001002d00004152sv0000174Bsd00007C29* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) + + pci:v00001002d00004152sv00001787sd00004002* +- ID_MODEL_FROM_DATABASE=Radeon 9600 XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT) + + pci:v00001002d00004153* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] + + pci:v00001002d00004153sv00001043sd0000010C* +- ID_MODEL_FROM_DATABASE=A9550GE/TD ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (A9550GE/TD) + + pci:v00001002d00004153sv00001462sd0000932C* +- ID_MODEL_FROM_DATABASE=RX9550SE-TD128 (MS-8932) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (RX9550SE-TD128 (MS-8932)) + + pci:v00001002d00004154* + ID_MODEL_FROM_DATABASE=RV350 GL [FireGL T2] +@@ -1887,64 +1887,64 @@ pci:v00001002d00004170* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) + + pci:v00001002d00004170sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R9600 Pro secondary (Asus OEM for HP)) + + pci:v00001002d00004170sv00001002sd00004723* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (All-in-Wonder 2006 AGP Edition (Secondary)) + + pci:v00001002d00004170sv00001458sd00004025* +- ID_MODEL_FROM_DATABASE=GV-R96128D (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GV-R96128D (Secondary)) + + pci:v00001002d00004170sv0000148Csd00002067* +- ID_MODEL_FROM_DATABASE=R96A-C3N (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R96A-C3N (Secondary)) + + pci:v00001002d00004170sv0000174Bsd00007C28* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) + + pci:v00001002d00004170sv000017EEsd00002003* +- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (Radeon 9600 256Mb (Secondary)) + + pci:v00001002d00004170sv000018BCsd00000100* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) + + pci:v00001002d00004171* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) + + pci:v00001002d00004171sv00001043sd0000C005* +- ID_MODEL_FROM_DATABASE=A9600SE (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) (A9600SE (Secondary)) + + pci:v00001002d00004172* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) + + pci:v00001002d00004172sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) + + pci:v00001002d00004172sv00001002sd00004773* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (All-in-Wonder 9600 XT (Secondary)) + + pci:v00001002d00004172sv00001043sd0000C003* +- ID_MODEL_FROM_DATABASE=A9600XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT (Secondary)) + + pci:v00001002d00004172sv00001043sd0000C01B* +- ID_MODEL_FROM_DATABASE=A9600XT/TD (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT/TD (Secondary)) + + pci:v00001002d00004172sv0000174Bsd00007C28* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) + + pci:v00001002d00004172sv00001787sd00004003* +- ID_MODEL_FROM_DATABASE=Radeon 9600 XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600 XT (Secondary)) + + pci:v00001002d00004173* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) + + pci:v00001002d00004173sv00001043sd0000010D* +- ID_MODEL_FROM_DATABASE=A9550GE/TD (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) (A9550GE/TD (Secondary)) + + pci:v00001002d00004242* + ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] + + pci:v00001002d00004242sv00001002sd000002AA* +- ID_MODEL_FROM_DATABASE=Radeon 8500 AIW DV Edition ++ ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] (Radeon 8500 AIW DV Edition) + + pci:v00001002d00004243* + ID_MODEL_FROM_DATABASE=R200 PCI Bridge [All-in-Wonder Radeon 8500DV] +@@ -1953,22 +1953,22 @@ pci:v00001002d00004336* + ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] + + pci:v00001002d00004336sv00001002sd00004336* +- ID_MODEL_FROM_DATABASE=Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M) ++ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)) + + pci:v00001002d00004336sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Video ++ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4400 builtin Video) + + pci:v00001002d00004336sv0000161Fsd00002029* +- ID_MODEL_FROM_DATABASE=eMachines M5312 builtin Video ++ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (eMachines M5312 builtin Video) + + pci:v00001002d00004337* + ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] + + pci:v00001002d00004337sv00001014sd0000053A* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (ThinkPad R40e) + + pci:v00001002d00004337sv0000103Csd00000850* +- ID_MODEL_FROM_DATABASE=Radeon IGP 345M ++ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (Radeon IGP 345M) + + pci:v00001002d00004341* + ID_MODEL_FROM_DATABASE=IXP150 AC'97 Audio Controller +@@ -2013,160 +2013,160 @@ pci:v00001002d00004370* + ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller + + pci:v00001002d00004370sv00001025sd00000079* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5024WLMMi) + + pci:v00001002d00004370sv00001025sd00000091* +- ID_MODEL_FROM_DATABASE=Aspire 5032WXMi ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5032WXMi) + + pci:v00001002d00004370sv0000103Csd00002A05* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004370sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6125) + + pci:v00001002d00004370sv0000105Bsd00000C81* +- ID_MODEL_FROM_DATABASE=Realtek ALC 653 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Realtek ALC 653) + + pci:v00001002d00004370sv0000107Bsd00000300* +- ID_MODEL_FROM_DATABASE=MX6421 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6421) + + pci:v00001002d00004370sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MS-1013 Notebook) + + pci:v00001002d00004371* + ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge + + pci:v00001002d00004371sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (MX6125) + + pci:v00001002d00004371sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (Aspire L250) + + pci:v00001002d00004372* + ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller + + pci:v00001002d00004372sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire 5024WLMMi) + + pci:v00001002d00004372sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004372sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MX6125) + + pci:v00001002d00004372sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MS-1013 Notebook) + + pci:v00001002d00004372sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire L250) + + pci:v00001002d00004373* + ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller + + pci:v00001002d00004373sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire 5024WLMMi) + + pci:v00001002d00004373sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004373sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (MX6125) + + pci:v00001002d00004373sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire L250) + + pci:v00001002d00004374* + ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller + + pci:v00001002d00004374sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004374sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) + + pci:v00001002d00004374sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) + + pci:v00001002d00004375* + ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller + + pci:v00001002d00004375sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire 5024WLMMi) + + pci:v00001002d00004375sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004375sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) + + pci:v00001002d00004375sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) + + pci:v00001002d00004376* + ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller + + pci:v00001002d00004376sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire 5024WLMMi) + + pci:v00001002d00004376sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004376sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MX6125) + + pci:v00001002d00004376sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MS-1013 Notebook) + + pci:v00001002d00004376sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire L250) + + pci:v00001002d00004377* + ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge + + pci:v00001002d00004377sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire 5024WLMi) + + pci:v00001002d00004377sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004377sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (MX6125) + + pci:v00001002d00004377sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire L250) + + pci:v00001002d00004378* + ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller + + pci:v00001002d00004378sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (Aspire 5024WLMMi) + + pci:v00001002d00004378sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MX6125) + + pci:v00001002d00004378sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MS-1013 Notebook) + + pci:v00001002d00004379* + ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller + + pci:v00001002d00004379sv00001462sd00007141* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller (Aspire L250) + + pci:v00001002d0000437A* + ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller + + pci:v00001002d0000437Asv00001002sd00004379* +- ID_MODEL_FROM_DATABASE=4379 Serial ATA Controller ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (4379 Serial ATA Controller) + + pci:v00001002d0000437Asv00001002sd0000437A* +- ID_MODEL_FROM_DATABASE=437A Serial ATA Controller ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (437A Serial ATA Controller) + + pci:v00001002d0000437Asv00001462sd00007141* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Aspire L250) + + pci:v00001002d0000437Asv000014F1sd00008800* +- ID_MODEL_FROM_DATABASE=Leadtek WinFast TV2000XP Expert ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Leadtek WinFast TV2000XP Expert) + + pci:v00001002d0000437B* + ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller +@@ -2175,31 +2175,31 @@ pci:v00001002d0000437Bsv00001002sd0000437B* + ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller + + pci:v00001002d0000437Bsv000010CFsd00001326* +- ID_MODEL_FROM_DATABASE=Fujitsu Lifebook A3040 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Fujitsu Lifebook A3040) + + pci:v00001002d0000437Bsv00001734sd000010B8* +- ID_MODEL_FROM_DATABASE=Realtek High Definition Audio ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Realtek High Definition Audio) + + pci:v00001002d00004380* + ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA + + pci:v00001002d00004380sv0000103Csd00002813* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (DC5750 Microtower) + + pci:v00001002d00004380sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Satellite P305D-S8995E) + + pci:v00001002d00004380sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-MA790FX-DS5 (rev. 1.0) ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (GA-MA790FX-DS5 (rev. 1.0)) + + pci:v00001002d00004380sv00001458sd0000B005* +- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Gigabyte GA-MA69G-S3H Motherboard) + + pci:v00001002d00004380sv00001462sd00007327* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (K9AG Neo2) + + pci:v00001002d00004380sv000017F2sd00005999* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (KI690-AM2 Motherboard) + + pci:v00001002d00004381* + ID_MODEL_FROM_DATABASE=SB600 SATA Controller (RAID 5 mode) +@@ -2211,34 +2211,34 @@ pci:v00001002d00004383* + ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) + + pci:v00001002d00004383sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (A785GM-M) + + pci:v00001002d00004383sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Pavilion DM1Z-3000) + + pci:v00001002d00004383sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (DC5750 Microtower) + + pci:v00001002d00004383sv00001043sd00008230* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M3A78-EH Motherboard) + + pci:v00001002d00004383sv00001043sd0000836C* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A785TD Motherboard) + + pci:v00001002d00004383sv00001043sd00008410* +- ID_MODEL_FROM_DATABASE=M4A89GTD PRO/USB3 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A89GTD PRO/USB3 Motherboard) + + pci:v00001002d00004383sv00001043sd0000841B* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M5A88-V EVO) + + pci:v00001002d00004383sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Satellite P305D-S8995E) + + pci:v00001002d00004383sv00001458sd0000A022* +- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (GA-MA770-DS3rev2.0 Motherboard) + + pci:v00001002d00004383sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (KI690-AM2 Motherboard) + + pci:v00001002d00004384* + ID_MODEL_FROM_DATABASE=SBx00 PCI to PCI Bridge +@@ -2247,160 +2247,160 @@ pci:v00001002d00004385* + ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller + + pci:v00001002d00004385sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (A785GM-M) + + pci:v00001002d00004385sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Pavilion DM1Z-3000) + + pci:v00001002d00004385sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (DC5750 Microtower) + + pci:v00001002d00004385sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M3A78-EH Motherboard) + + pci:v00001002d00004385sv00001043sd00008389* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M4A785TD Motherboard) + + pci:v00001002d00004385sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Satellite P305D-S8995E) + + pci:v00001002d00004385sv00001458sd00004385* +- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (GA-MA770-DS3rev2.0 Motherboard) + + pci:v00001002d00004385sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (K9AG Neo2) + + pci:v00001002d00004385sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (H8DGU) + + pci:v00001002d00004385sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (PURE Fusion Mini) + + pci:v00001002d00004385sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (KI690-AM2 Motherboard) + + pci:v00001002d00004386* + ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) + + pci:v00001002d00004386sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (DC5750 Microtower) + + pci:v00001002d00004386sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (Satellite P305D-S8995E) + + pci:v00001002d00004386sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (K9AG Neo2) + + pci:v00001002d00004386sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (KI690-AM2 Motherboard) + + pci:v00001002d00004387* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) + + pci:v00001002d00004387sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (DC5750 Microtower) + + pci:v00001002d00004387sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (Satellite P305D-S8995E) + + pci:v00001002d00004387sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (K9AG Neo2) + + pci:v00001002d00004387sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (KI690-AM2 Motherboard) + + pci:v00001002d00004388* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) + + pci:v00001002d00004388sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (DC5750 Microtower) + + pci:v00001002d00004388sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (Satellite P305D-S8995E) + + pci:v00001002d00004388sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (K9AG Neo2) + + pci:v00001002d00004388sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (KI690-AM2 Motherboard) + + pci:v00001002d00004389* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) + + pci:v00001002d00004389sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (DC5750 Microtower) + + pci:v00001002d00004389sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (Satellite P305D-S8995E) + + pci:v00001002d00004389sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (K9AG Neo2) + + pci:v00001002d00004389sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (KI690-AM2 Motherboard) + + pci:v00001002d0000438A* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) + + pci:v00001002d0000438Asv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (DC5750 Microtower) + + pci:v00001002d0000438Asv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (Satellite P305D-S8995E) + + pci:v00001002d0000438Asv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (K9AG Neo2) + + pci:v00001002d0000438Asv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (KI690-AM2 Motherboard) + + pci:v00001002d0000438B* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) + + pci:v00001002d0000438Bsv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (DC5750 Microtower) + + pci:v00001002d0000438Bsv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (Satellite P305D-S8995E) + + pci:v00001002d0000438Bsv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (K9AG Neo2) + + pci:v00001002d0000438Bsv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (KI690-AM2 Motherboard) + + pci:v00001002d0000438C* + ID_MODEL_FROM_DATABASE=SB600 IDE + + pci:v00001002d0000438Csv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 IDE (DC5750 Microtower) + + pci:v00001002d0000438Csv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 IDE (Satellite P305D-S8995E) + + pci:v00001002d0000438Csv00001458sd00005002* +- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 IDE (Gigabyte GA-MA69G-S3H Motherboard) + + pci:v00001002d0000438Csv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 IDE (K9AG Neo2) + + pci:v00001002d0000438Csv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 IDE (KI690-AM2 Motherboard) + + pci:v00001002d0000438D* + ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge + + pci:v00001002d0000438Dsv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (DC5750 Microtower) + + pci:v00001002d0000438Dsv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (Satellite P305D-S8995E) + + pci:v00001002d0000438Dsv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (K9AG Neo2) + + pci:v00001002d0000438Dsv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (KI690-AM2 Motherboard) + + pci:v00001002d0000438E* + ID_MODEL_FROM_DATABASE=SB600 AC97 Modem +@@ -2409,31 +2409,31 @@ pci:v00001002d00004390* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] + + pci:v00001002d00004390sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M3A78-EH Motherboard) + + pci:v00001002d00004390sv00001043sd00008389* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M4A785TD Motherboard) + + pci:v00001002d00004390sv00001458sd0000B002* +- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (GA-MA770-DS3rev2.0 Motherboard) + + pci:v00001002d00004390sv00001849sd00004390* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (Motherboard (one of many)) + + pci:v00001002d00004391* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] + + pci:v00001002d00004391sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (Pavilion DM1Z-3000) + + pci:v00001002d00004391sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M3A78-EH Motherboard) + + pci:v00001002d00004391sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M5A88-V EVO) + + pci:v00001002d00004391sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (PURE Fusion Mini) + + pci:v00001002d00004392* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] +@@ -2451,97 +2451,97 @@ pci:v00001002d00004396* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller + + pci:v00001002d00004396sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (A785GM-M) + + pci:v00001002d00004396sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (Pavilion DM1Z-3000) + + pci:v00001002d00004396sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M3A78-EH Motherboard) + + pci:v00001002d00004396sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M5A88-V EVO) + + pci:v00001002d00004396sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (H8DGU) + + pci:v00001002d00004396sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (PURE Fusion Mini) + + pci:v00001002d00004397* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller + + pci:v00001002d00004397sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (A785GM-M) + + pci:v00001002d00004397sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (Pavilion DM1Z-3000) + + pci:v00001002d00004397sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M3A78-EH Motherboard) + + pci:v00001002d00004397sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M5A88-V EVO) + + pci:v00001002d00004397sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (H8DGU) + + pci:v00001002d00004397sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (PURE Fusion Mini) + + pci:v00001002d00004398* + ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller + + pci:v00001002d00004398sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (A785GM-M) + + pci:v00001002d00004398sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (M3A78-EH Motherboard) + + pci:v00001002d00004398sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (H8DGU) + + pci:v00001002d00004399* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller + + pci:v00001002d00004399sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (A785GM-M) + + pci:v00001002d00004399sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M3A78-EH Motherboard) + + pci:v00001002d00004399sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M5A88-V EVO) + + pci:v00001002d00004399sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (PURE Fusion Mini) + + pci:v00001002d0000439C* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller + + pci:v00001002d0000439Csv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (A785GM-M) + + pci:v00001002d0000439Csv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (M3A78-EH Motherboard) + + pci:v00001002d0000439D* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller + + pci:v00001002d0000439Dsv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (A785GM-M) + + pci:v00001002d0000439Dsv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (Pavilion DM1Z-3000) + + pci:v00001002d0000439Dsv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M3A78-EH Motherboard) + + pci:v00001002d0000439Dsv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M5A88-V EVO) + + pci:v00001002d0000439Dsv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (PURE Fusion Mini) + + pci:v00001002d000043A0* + ID_MODEL_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) +@@ -2568,88 +2568,88 @@ pci:v00001002d00004742* + ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X + + pci:v00001002d00004742sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00000061* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) + + pci:v00001002d00004742sv00001002sd00000062* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) + + pci:v00001002d00004742sv00001002sd00000063* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) + + pci:v00001002d00004742sv00001002sd00000080* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00004742* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00008001* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001028sd00000082* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001028sd00004082* +- ID_MODEL_FROM_DATABASE=Optiplex GX1 Onboard Display Adapter ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Optiplex GX1 Onboard Display Adapter) + + pci:v00001002d00004742sv00001028sd00008082* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001028sd0000C082* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00008086sd00004152* +- ID_MODEL_FROM_DATABASE=Xpert 98D AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Xpert 98D AGP 2X) + + pci:v00001002d00004742sv00008086sd0000464A* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004744* + ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X + + pci:v00001002d00004744sv00001002sd00004744* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage Pro Turbo AGP) + + pci:v00001002d00004744sv00008086sd00004D55* +- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 1X [Intel MU440EX] ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage 3D Pro AGP 1X [Intel MU440EX]) + + pci:v00001002d00004749* + ID_MODEL_FROM_DATABASE=3D Rage PRO PCI + + pci:v00001002d00004749sv00001002sd00000061* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW ++ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) + + pci:v00001002d00004749sv00001002sd00000062* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW ++ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) + + pci:v00001002d0000474D* + ID_MODEL_FROM_DATABASE=Rage XL AGP 2X + + pci:v00001002d0000474Dsv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) + + pci:v00001002d0000474Dsv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) + + pci:v00001002d0000474Dsv00001002sd00000080* + ID_MODEL_FROM_DATABASE=Rage XL AGP 2X + + pci:v00001002d0000474Dsv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 AGP 2X) + + pci:v00001002d0000474Dsv00001002sd0000474D* +- ID_MODEL_FROM_DATABASE=Rage XL AGP ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) + + pci:v00001002d0000474Dsv00001033sd0000806A* +- ID_MODEL_FROM_DATABASE=Rage XL AGP ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) + + pci:v00001002d0000474E* + ID_MODEL_FROM_DATABASE=Rage XC AGP +@@ -2670,79 +2670,79 @@ pci:v00001002d00004750* + ID_MODEL_FROM_DATABASE=3D Rage Pro PCI + + pci:v00001002d00004750sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00000080* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00004750* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004752* + ID_MODEL_FROM_DATABASE=Rage XL PCI + + pci:v00001002d00004752sv00000E11sd0000001E* +- ID_MODEL_FROM_DATABASE=Proliant Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) + + pci:v00001002d00004752sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) + + pci:v00001002d00004752sv00001002sd00004752* +- ID_MODEL_FROM_DATABASE=Proliant Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) + + pci:v00001002d00004752sv00001002sd00008008* +- ID_MODEL_FROM_DATABASE=Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) + + pci:v00001002d00004752sv00001014sd00000240* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (eServer xSeries server mainboard) + + pci:v00001002d00004752sv00001028sd000000CE* +- ID_MODEL_FROM_DATABASE=PowerEdge 1400 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1400) + + pci:v00001002d00004752sv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=PowerEdge 2550 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2550) + + pci:v00001002d00004752sv00001028sd000000D9* +- ID_MODEL_FROM_DATABASE=PowerEdge 2500 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2500) + + pci:v00001002d00004752sv00001028sd00000134* +- ID_MODEL_FROM_DATABASE=PowerEdge 600SC ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 600SC) + + pci:v00001002d00004752sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1750) + + pci:v00001002d00004752sv00001028sd00000165* +- ID_MODEL_FROM_DATABASE=PowerEdge 750 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 750) + + pci:v00001002d00004752sv0000103Csd000010E1* +- ID_MODEL_FROM_DATABASE=NetServer Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (NetServer Rage XL) + + pci:v00001002d00004752sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (ProLiant DL140 G2) + + pci:v00001002d00004752sv0000107Bsd00006400* +- ID_MODEL_FROM_DATABASE=6400 Server ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (6400 Server) + + pci:v00001002d00004752sv00001734sd0000007A* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard VGA ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PRIMERGY RX/TX series onboard VGA) + + pci:v00001002d00004752sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Primergy Econel 200 D2020 mainboard) + + pci:v00001002d00004752sv00008086sd00003411* +- ID_MODEL_FROM_DATABASE=SDS2 Mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (SDS2 Mainboard) + + pci:v00001002d00004752sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (S875WP1-E mainboard) + + pci:v00001002d00004752sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (S845WD1-E mainboard) + + pci:v00001002d00004753* + ID_MODEL_FROM_DATABASE=Rage XC +@@ -2760,28 +2760,28 @@ pci:v00001002d00004756* + ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] + + pci:v00001002d00004756sv00001002sd00004756* +- ID_MODEL_FROM_DATABASE=Rage IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] (Rage IIC) + + pci:v00001002d00004757* + ID_MODEL_FROM_DATABASE=3D Rage IIC AGP + + pci:v00001002d00004757sv00001002sd00004757* +- ID_MODEL_FROM_DATABASE=Rage IIC AGP ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) + + pci:v00001002d00004757sv00001028sd00000089* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004757sv00001028sd0000008E* +- ID_MODEL_FROM_DATABASE=PowerEdge 1300 onboard video ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (PowerEdge 1300 onboard video) + + pci:v00001002d00004757sv00001028sd00004082* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004757sv00001028sd00008082* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004757sv00001028sd0000C082* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004758* + ID_MODEL_FROM_DATABASE=210888GX [Mach64 GX PCI] +@@ -2793,40 +2793,40 @@ pci:v00001002d0000475A* + ID_MODEL_FROM_DATABASE=3D Rage IIC AGP + + pci:v00001002d0000475Asv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 2x XPERT 98 ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D Pro AGP 2x XPERT 98) + + pci:v00001002d0000475Asv00001002sd00000087* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d0000475Asv00001002sd0000475A* +- ID_MODEL_FROM_DATABASE=Rage IIC AGP ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) + + pci:v00001002d00004966* + ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] + + pci:v00001002d00004966sv000010F1sd00000002* +- ID_MODEL_FROM_DATABASE=RV250 If [Tachyon G9000 PRO] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Tachyon G9000 PRO]) + + pci:v00001002d00004966sv0000148Csd00002039* +- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 Pro "Evil Commando"] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 Pro "Evil Commando"]) + + pci:v00001002d00004966sv00001509sd00009A00* +- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "AT009"] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "AT009"]) + + pci:v00001002d00004966sv00001681sd00000040* +- ID_MODEL_FROM_DATABASE=RV250 If [3D prophet 9000] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [3D prophet 9000]) + + pci:v00001002d00004966sv0000174Bsd00007176* +- ID_MODEL_FROM_DATABASE=Radeon 9000 Pro ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (Radeon 9000 Pro) + + pci:v00001002d00004966sv0000174Bsd00007192* +- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "Atlantis"] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "Atlantis"]) + + pci:v00001002d00004966sv000017AFsd00002005* +- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000 Pro] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000 Pro]) + + pci:v00001002d00004966sv000017AFsd00002006* +- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000]) + + pci:v00001002d0000496E* + ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000] (Secondary) +@@ -2835,7 +2835,7 @@ pci:v00001002d00004A49* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] + + pci:v00001002d00004A49sv0000174Bsd00002620* +- ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GTO AGP] ++ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] (R420 [Radeon X800 GTO AGP]) + + pci:v00001002d00004A4A* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GT AGP] +@@ -2859,7 +2859,7 @@ pci:v00001002d00004A54* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] + + pci:v00001002d00004A54sv00001002sd00004422* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 VE AGP ++ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] (All-In-Wonder X800 VE AGP) + + pci:v00001002d00004A69* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO] (Secondary) +@@ -2898,40 +2898,40 @@ pci:v00001002d00004C42* + ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X + + pci:v00001002d00004C42sv00000E11sd0000B0E7* +- ID_MODEL_FROM_DATABASE=Rage LT Pro (Compaq Presario 5240) ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro (Compaq Presario 5240)) + + pci:v00001002d00004C42sv00000E11sd0000B0E8* +- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) + + pci:v00001002d00004C42sv00000E11sd0000B10E* +- ID_MODEL_FROM_DATABASE=3D Rage LT Pro (Compaq Armada 1750) ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (3D Rage LT Pro (Compaq Armada 1750)) + + pci:v00001002d00004C42sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001002sd00004C42* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001002sd00008001* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001028sd00000085* +- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) + + pci:v00001002d00004C46* + ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 + + pci:v00001002d00004C46sv00001002sd00000155* +- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p ++ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) + + pci:v00001002d00004C46sv00001014sd00000155* +- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p ++ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) + + pci:v00001002d00004C46sv00001028sd000000B1* +- ID_MODEL_FROM_DATABASE=Latitude C600 ++ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (Latitude C600) + + pci:v00001002d00004C47* + ID_MODEL_FROM_DATABASE=3D Rage IIC PCI / Mobility Radeon 7500/7500C +@@ -2940,55 +2940,55 @@ pci:v00001002d00004C49* + ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI + + pci:v00001002d00004C49sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C49sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C49sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C49sv00001002sd00004C49* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C4D* + ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series + + pci:v00001002d00004C4Dsv00000E11sd0000B111* +- ID_MODEL_FROM_DATABASE=Armada M700 ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada M700) + + pci:v00001002d00004C4Dsv00000E11sd0000B160* +- ID_MODEL_FROM_DATABASE=Armada E500 ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada E500) + + pci:v00001002d00004C4Dsv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X (Mobility) ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Xpert 98 AGP 2X (Mobility)) + + pci:v00001002d00004C4Dsv00001014sd00000154* +- ID_MODEL_FROM_DATABASE=ThinkPad A20m/A21m ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (ThinkPad A20m/A21m) + + pci:v00001002d00004C4Dsv00001028sd000000AA* +- ID_MODEL_FROM_DATABASE=Latitude CPt ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPt) + + pci:v00001002d00004C4Dsv00001028sd000000BB* +- ID_MODEL_FROM_DATABASE=Latitude CPx ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPx) + + pci:v00001002d00004C4Dsv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Satellite 1715XCDS laptop ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Satellite 1715XCDS laptop) + + pci:v00001002d00004C4Dsv000013BDsd00001019* +- ID_MODEL_FROM_DATABASE=PC-AR10 ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (PC-AR10) + + pci:v00001002d00004C50* + ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI + + pci:v00001002d00004C50sv00001002sd00004C50* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C52* + ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI + + pci:v00001002d00004C52sv00001033sd00008112* +- ID_MODEL_FROM_DATABASE=Versa Note VXi ++ ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI (Versa Note VXi) + + pci:v00001002d00004C54* + ID_MODEL_FROM_DATABASE=264LT [Mach64 LT] +@@ -2997,22 +2997,22 @@ pci:v00001002d00004C57* + ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] + + pci:v00001002d00004C57sv00001014sd00000517* +- ID_MODEL_FROM_DATABASE=ThinkPad T30 ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) + + pci:v00001002d00004C57sv00001014sd00000530* +- ID_MODEL_FROM_DATABASE=ThinkPad T42 2373-4WU ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) + + pci:v00001002d00004C57sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW (Dell Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) + + pci:v00001002d00004C57sv00001028sd0000012A* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Latitude C640) + + pci:v00001002d00004C57sv00001043sd00001622* +- ID_MODEL_FROM_DATABASE=Mobility Radeon M7 (L3C/S) ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Mobility Radeon M7 (L3C/S)) + + pci:v00001002d00004C57sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW in vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW in vpr Matrix 170B4) + + pci:v00001002d00004C58* + ID_MODEL_FROM_DATABASE=RV200/M7 GL [Mobility FireGL 7800] +@@ -3021,31 +3021,31 @@ pci:v00001002d00004C59* + ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] + + pci:v00001002d00004C59sv00000E11sd0000B111* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Evo N600c) + + pci:v00001002d00004C59sv00001014sd00000235* +- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p (2652/2653) ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad A30/A30p (2652/2653)) + + pci:v00001002d00004C59sv00001014sd00000239* +- ID_MODEL_FROM_DATABASE=ThinkPad X22/X23/X24 ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad X22/X23/X24) + + pci:v00001002d00004C59sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (XE4500 Notebook) + + pci:v00001002d00004C59sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00001002d00004C59sv0000104Dsd00008140* +- ID_MODEL_FROM_DATABASE=PCG-Z1SP laptop ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (PCG-Z1SP laptop) + + pci:v00001002d00004C59sv00001509sd00001930* +- ID_MODEL_FROM_DATABASE=Medion MD9703 ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Medion MD9703) + + pci:v00001002d00004C66* + ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] + + pci:v00001002d00004C66sv00001014sd0000054D* +- ID_MODEL_FROM_DATABASE=ThinkPad T41 ++ ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] (ThinkPad T41) + + pci:v00001002d00004C6E* + ID_MODEL_FROM_DATABASE=RV250/M9 [Mobility Radeon 9000] (Secondary) +@@ -3063,19 +3063,19 @@ pci:v00001002d00004E44* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] + + pci:v00001002d00004E44sv00001002sd0000515E* +- ID_MODEL_FROM_DATABASE=Radeon ES1000 ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) + + pci:v00001002d00004E44sv00001002sd00005965* +- ID_MODEL_FROM_DATABASE=Radeon ES1000 ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) + + pci:v00001002d00004E45* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] + + pci:v00001002d00004E45sv00001002sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Radeon R300 NE [Radeon 9500 Pro]) + + pci:v00001002d00004E45sv00001681sd00000002* +- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]) + + pci:v00001002d00004E46* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9600 TX] +@@ -3093,7 +3093,7 @@ pci:v00001002d00004E4A* + ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] + + pci:v00001002d00004E4Asv00001002sd00004E4A* +- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] ++ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] (R360 [Radeon 9800 XT]) + + pci:v00001002d00004E4B* + ID_MODEL_FROM_DATABASE=R350 GL [FireGL X2 AGP Pro] +@@ -3102,22 +3102,22 @@ pci:v00001002d00004E50* + ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] + + pci:v00001002d00004E50sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (TravelMate 290) + + pci:v00001002d00004E50sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC8000 laptop) + + pci:v00001002d00004E50sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC6000 laptop) + + pci:v00001002d00004E50sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P35 notebook ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (P35 notebook) + + pci:v00001002d00004E50sv00001462sd00000311* +- ID_MODEL_FROM_DATABASE=MSI M510A ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (MSI M510A) + + pci:v00001002d00004E50sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420W ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (Amilo M1420W) + + pci:v00001002d00004E51* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] +@@ -3126,7 +3126,7 @@ pci:v00001002d00004E52* + ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] + + pci:v00001002d00004E52sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P35 notebook ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] (P35 notebook) + + pci:v00001002d00004E54* + ID_MODEL_FROM_DATABASE=RV350/M10 GL [Mobility FireGL T2] +@@ -3141,10 +3141,10 @@ pci:v00001002d00004E65* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) + + pci:v00001002d00004E65sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Radeon R300 NE [Radeon 9500 Pro]) + + pci:v00001002d00004E65sv00001681sd00000003* +- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)) + + pci:v00001002d00004E66* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) +@@ -3162,10 +3162,10 @@ pci:v00001002d00004E6A* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) + + pci:v00001002d00004E6Asv00001002sd00004E6A* +- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (R360 [Radeon 9800 XT] (Secondary)) + + pci:v00001002d00004E6Asv00001002sd00004E71* +- ID_MODEL_FROM_DATABASE=M10 NQ [Radeon Mobility 9600] ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (M10 NQ [Radeon Mobility 9600]) + + pci:v00001002d00004E71* + ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600] (Secondary) +@@ -3180,46 +3180,46 @@ pci:v00001002d00005044* + ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI + + pci:v00001002d00005044sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) + + pci:v00001002d00005044sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) + + pci:v00001002d00005046* + ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS + + pci:v00001002d00005046sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) + + pci:v00001002d00005046sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005046sv00001002sd00000014* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) + + pci:v00001002d00005046sv00001002sd00000018* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005046sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) + + pci:v00001002d00005046sv00001002sd0000002A* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) + + pci:v00001002d00005046sv00001002sd00000048* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) + + pci:v00001002d00005046sv00001002sd00002000* +- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (VGA device) ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (VGA device)) + + pci:v00001002d00005046sv00001002sd00002001* +- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (Extra device?!) ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)) + + pci:v00001002d00005050* + ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] + + pci:v00001002d00005050sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 128 ++ ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] (Xpert 128) + + pci:v00001002d00005052* + ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4X TMDS +@@ -3228,79 +3228,79 @@ pci:v00001002d00005144* + ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] + + pci:v00001002d00005144sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon VE) + + pci:v00001002d00005144sv00001002sd00000009* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000000A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000001A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Radeon AIW ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) + + pci:v00001002d00005144sv00001002sd00000038* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd00000039* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000008A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd000000BA* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd00000139* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000028A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd000002AA* +- ID_MODEL_FROM_DATABASE=Radeon AIW ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) + + pci:v00001002d00005144sv00001002sd0000053A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005148* + ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] + + pci:v00001002d00005148sv00001002sd0000010A* +- ID_MODEL_FROM_DATABASE=FireGL 8800 64Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 64Mb) + + pci:v00001002d00005148sv00001002sd00000152* +- ID_MODEL_FROM_DATABASE=FireGL 8800 128Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 128Mb) + + pci:v00001002d00005148sv00001002sd00000162* +- ID_MODEL_FROM_DATABASE=FireGL 8700 32Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 32Mb) + + pci:v00001002d00005148sv00001002sd00000172* +- ID_MODEL_FROM_DATABASE=FireGL 8700 64Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 64Mb) + + pci:v00001002d0000514C* + ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] + + pci:v00001002d0000514Csv00001002sd0000003A* +- ID_MODEL_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [Radeon 8500 LE]) + + pci:v00001002d0000514Csv00001002sd0000013A* +- ID_MODEL_FROM_DATABASE=Radeon 8500 ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500) + + pci:v00001002d0000514Csv0000148Csd00002026* +- ID_MODEL_FROM_DATABASE=R200 QL [Radeon 8500 Evil Master II Multi Display Edition] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (R200 QL [Radeon 8500 Evil Master II Multi Display Edition]) + + pci:v00001002d0000514Csv00001681sd00000010* +- ID_MODEL_FROM_DATABASE=Radeon 8500 [3D Prophet 8500 128Mb] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 [3D Prophet 8500 128Mb]) + + pci:v00001002d0000514Csv0000174Bsd00007149* +- ID_MODEL_FROM_DATABASE=Radeon 8500 LE ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 LE) + + pci:v00001002d0000514Csv00001787sd00000F08* +- ID_MODEL_FROM_DATABASE=Radeon R200 QL [PowerMagic Radeon 8500] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [PowerMagic Radeon 8500]) + + pci:v00001002d0000514D* + ID_MODEL_FROM_DATABASE=R200 [Radeon 9100] +@@ -3309,196 +3309,196 @@ pci:v00001002d00005157* + ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] + + pci:v00001002d00005157sv00001002sd0000013A* +- ID_MODEL_FROM_DATABASE=Radeon 7500 ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500) + + pci:v00001002d00005157sv00001002sd00000F2B* +- ID_MODEL_FROM_DATABASE=ALL-IN-WONDER VE PCI ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (ALL-IN-WONDER VE PCI) + + pci:v00001002d00005157sv00001002sd0000103A* +- ID_MODEL_FROM_DATABASE=Dell Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Dell Optiplex GX260) + + pci:v00001002d00005157sv00001458sd00004000* +- ID_MODEL_FROM_DATABASE=RV200 QW [RADEON 7500 PRO MAYA AR] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [RADEON 7500 PRO MAYA AR]) + + pci:v00001002d00005157sv0000148Csd00002024* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500LE Dual Display] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500LE Dual Display]) + + pci:v00001002d00005157sv0000148Csd00002025* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 Evil Master Multi Display Edition] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 Evil Master Multi Display Edition]) + + pci:v00001002d00005157sv0000148Csd00002036* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 PCI Dual Display] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 PCI Dual Display]) + + pci:v00001002d00005157sv0000174Bsd00007146* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 LE] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 LE]) + + pci:v00001002d00005157sv0000174Bsd00007147* +- ID_MODEL_FROM_DATABASE=Radeon 7500 LE ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500 LE) + + pci:v00001002d00005157sv0000174Bsd00007161* +- ID_MODEL_FROM_DATABASE=Radeon RV200 QW [Radeon 7500 LE] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon RV200 QW [Radeon 7500 LE]) + + pci:v00001002d00005157sv000017AFsd00000202* +- ID_MODEL_FROM_DATABASE=RV200 QW [Excalibur Radeon 7500LE] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Excalibur Radeon 7500LE]) + + pci:v00001002d00005159* + ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] + + pci:v00001002d00005159sv00001002sd0000000A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd0000000B* +- ID_MODEL_FROM_DATABASE=Radeon 7000 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) + + pci:v00001002d00005159sv00001002sd00000038* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd0000003A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd000000BA* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd0000013A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd00000908* +- ID_MODEL_FROM_DATABASE=XVR-100 (supplied by Sun) ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (XVR-100 (supplied by Sun)) + + pci:v00001002d00005159sv00001014sd0000029A* +- ID_MODEL_FROM_DATABASE=Remote Supervisor Adapter II (RSA2) ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Remote Supervisor Adapter II (RSA2)) + + pci:v00001002d00005159sv00001014sd000002C8* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (eServer xSeries server mainboard) + + pci:v00001002d00005159sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Embedded Radeon 7000/VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 1850 Embedded Radeon 7000/VE) + + pci:v00001002d00005159sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Embedded Radeon 7000-M ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 2850 Embedded Radeon 7000-M) + + pci:v00001002d00005159sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Embedded Radeon 7000/VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 6850 Embedded Radeon 7000/VE) + + pci:v00001002d00005159sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge SC1425) + + pci:v00001002d00005159sv0000103Csd00001292* +- ID_MODEL_FROM_DATABASE=Radeon 7000 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) + + pci:v00001002d00005159sv00001043sd0000C00A* +- ID_MODEL_FROM_DATABASE=A7000/T/64M ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (A7000/T/64M) + + pci:v00001002d00005159sv00001458sd00004002* +- ID_MODEL_FROM_DATABASE=RV100 QY [RADEON 7000 PRO MAYA AV Series] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [RADEON 7000 PRO MAYA AV Series]) + + pci:v00001002d00005159sv0000148Csd00002003* +- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Multi-Display Edition] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Multi-Display Edition]) + + pci:v00001002d00005159sv0000148Csd00002023* +- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Evil Master Multi-Display] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Evil Master Multi-Display]) + + pci:v00001002d00005159sv0000174Bsd00000280* +- ID_MODEL_FROM_DATABASE=Radeon RV100 QY [Radeon 7000/VE] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon RV100 QY [Radeon 7000/VE]) + + pci:v00001002d00005159sv0000174Bsd00007112* +- ID_MODEL_FROM_DATABASE=Radeon VE 7000 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000) + + pci:v00001002d00005159sv0000174Bsd00007C28* +- ID_MODEL_FROM_DATABASE=Radeon VE 7000 DDR ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000 DDR) + + pci:v00001002d00005159sv00001787sd00000202* +- ID_MODEL_FROM_DATABASE=RV100 QY [Excalibur Radeon 7000] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Excalibur Radeon 7000]) + + pci:v00001002d00005159sv000017EEsd00001001* +- ID_MODEL_FROM_DATABASE=Radeon 7000 64MB DDR + DVI ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000 64MB DDR + DVI) + + pci:v00001002d0000515E* + ID_MODEL_FROM_DATABASE=ES1000 + + pci:v00001002d0000515Esv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 1955 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge SC440) + + pci:v00001002d0000515Esv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 860) + + pci:v00001002d0000515Esv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R900 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 2970 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T605 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R300 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T300 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R805 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000223* +- ID_MODEL_FROM_DATABASE=PowerEdge R905 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R905 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T105 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R200 Embedded ATI ES1000) + + pci:v00001002d0000515Esv0000103Csd00001304* +- ID_MODEL_FROM_DATABASE=Integrity iLO2 Advanced KVM VGA [AD307A] ++ ID_MODEL_FROM_DATABASE=ES1000 (Integrity iLO2 Advanced KVM VGA [AD307A]) + + pci:v00001002d0000515Esv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=ES1000 (X7DVL-E-O motherboard) + + pci:v00001002d0000515Esv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=ES1000 (X7DBN Motherboard) + + pci:v00001002d0000515Esv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=ES1000 (S5000PSLSATA Server Board) + + pci:v00001002d00005245* + ID_MODEL_FROM_DATABASE=Rage 128 GL PCI + + pci:v00001002d00005245sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 128 ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Xpert 128) + + pci:v00001002d00005245sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) + + pci:v00001002d00005245sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) + + pci:v00001002d00005245sv00001002sd00000068* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) + + pci:v00001002d00005246* + ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x + + pci:v00001002d00005246sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Magnum/Xpert 128/Xpert 99 ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert 128/Xpert 99) + + pci:v00001002d00005246sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Magnum/Xpert128/X99/Xpert2000 ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert128/X99/Xpert2000) + + pci:v00001002d00005246sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) + + pci:v00001002d00005246sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury/Xpert 128/Xpert 2000) + + pci:v00001002d00005246sv00001002sd00000068* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) + + pci:v00001002d00005246sv00001002sd00000448* +- ID_MODEL_FROM_DATABASE=Rage Fury ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury) + + pci:v00001002d0000524B* + ID_MODEL_FROM_DATABASE=Rage 128 VR PCI +@@ -3507,73 +3507,73 @@ pci:v00001002d0000524C* + ID_MODEL_FROM_DATABASE=Rage 128 VR AGP + + pci:v00001002d0000524Csv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99/Xpert 2000) + + pci:v00001002d0000524Csv00001002sd00000088* +- ID_MODEL_FROM_DATABASE=Xpert 99 ++ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99) + + pci:v00001002d00005346* + ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x + + pci:v00001002d00005346sv00001002sd00000048* +- ID_MODEL_FROM_DATABASE=RAGE 128 16MB VGA TVOUT AMC PAL ++ ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x (RAGE 128 16MB VGA TVOUT AMC PAL) + + pci:v00001002d0000534D* + ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x + + pci:v00001002d0000534Dsv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 99/Xpert 2000) + + pci:v00001002d0000534Dsv00001002sd00000018* +- ID_MODEL_FROM_DATABASE=Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 2000) + + pci:v00001002d00005354* + ID_MODEL_FROM_DATABASE=Mach 64 VT + + pci:v00001002d00005354sv00001002sd00005654* +- ID_MODEL_FROM_DATABASE=Mach 64 reference ++ ID_MODEL_FROM_DATABASE=Mach 64 VT (Mach 64 reference) + + pci:v00001002d00005446* + ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x + + pci:v00001002d00005446sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro) + + pci:v00001002d00005446sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005446sv00001002sd00000018* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005446sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) + + pci:v00001002d00005446sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) + + pci:v00001002d00005446sv00001002sd0000002A* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) + + pci:v00001002d00005446sv00001002sd0000002B* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) + + pci:v00001002d00005446sv00001002sd00000048* +- ID_MODEL_FROM_DATABASE=Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Xpert 2000 Pro) + + pci:v00001002d00005452* + ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP + + pci:v00001002d00005452sv00001002sd0000001C* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) + + pci:v00001002d00005452sv0000103Csd00001279* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) + + pci:v00001002d00005460* + ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] + + pci:v00001002d00005460sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] (CR11/VR11 Single Board Computer) + + pci:v00001002d00005461* + ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] +@@ -3594,16 +3594,16 @@ pci:v00001002d0000554B* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] + + pci:v00001002d0000554Bsv00001002sd00000302* +- ID_MODEL_FROM_DATABASE=Radeon X800 SE ++ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] (Radeon X800 SE) + + pci:v00001002d0000554D* + ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] + + pci:v00001002d0000554Dsv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 XL ++ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (All-In-Wonder X800 XL) + + pci:v00001002d0000554Dsv00001458sd00002124* +- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) ++ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (GV-R80L256V-B (AGP)) + + pci:v00001002d0000554E* + ID_MODEL_FROM_DATABASE=R430 [All-In-Wonder X800 GT] +@@ -3627,7 +3627,7 @@ pci:v00001002d0000556D* + ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) + + pci:v00001002d0000556Dsv00001458sd00002125* +- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) ++ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) (GV-R80L256V-B (AGP)) + + pci:v00001002d0000556F* + ID_MODEL_FROM_DATABASE=R430 [Radeon X800] (Secondary) +@@ -3648,16 +3648,16 @@ pci:v00001002d00005653* + ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] + + pci:v00001002d00005653sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (Aspire 5024WLMi) + + pci:v00001002d00005653sv0000103Csd00000940* +- ID_MODEL_FROM_DATABASE=HP Compaq NW8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (HP Compaq NW8240 Mobile Workstation) + + pci:v00001002d00005654* + ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] + + pci:v00001002d00005654sv00001002sd00005654* +- ID_MODEL_FROM_DATABASE=Mach64VT Reference ++ ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] (Mach64VT Reference) + + pci:v00001002d00005655* + ID_MODEL_FROM_DATABASE=264VT3 [Mach64 VT3] +@@ -3699,22 +3699,22 @@ pci:v00001002d00005940* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) + + pci:v00001002d00005940sv000017AFsd00002021* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) (Excalibur Radeon 9250 (Secondary)) + + pci:v00001002d00005941* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) + + pci:v00001002d00005941sv00001458sd00004019* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) + + pci:v00001002d00005941sv0000174Bsd00007C12* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) + + pci:v00001002d00005941sv000017AFsd0000200D* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Excalibur Radeon 9200) + + pci:v00001002d00005941sv000018BCsd00000050* +- ID_MODEL_FROM_DATABASE=GC-R9200-C3 (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (GC-R9200-C3 (Secondary)) + + pci:v00001002d00005944* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE PCI] +@@ -3723,22 +3723,22 @@ pci:v00001002d00005950* + ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge + + pci:v00001002d00005950sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire 5024WLMMi) + + pci:v00001002d00005950sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (DC5750 Microtower) + + pci:v00001002d00005950sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Pavilion t3030.de Desktop PC) + + pci:v00001002d00005950sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MX6125) + + pci:v00001002d00005950sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MS-1013 Notebook) + + pci:v00001002d00005950sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire L250) + + pci:v00001002d00005951* + ID_MODEL_FROM_DATABASE=RX480/RX482 Host Bridge +@@ -3750,19 +3750,19 @@ pci:v00001002d00005954* + ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] + + pci:v00001002d00005954sv00001002sd00005954* +- ID_MODEL_FROM_DATABASE=RV370 [Radeon Xpress 200G Series] ++ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] (RV370 [Radeon Xpress 200G Series]) + + pci:v00001002d00005955* + ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] + + pci:v00001002d00005955sv00001002sd00005955* +- ID_MODEL_FROM_DATABASE=RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] ++ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)]) + + pci:v00001002d00005955sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MX6125) + + pci:v00001002d00005955sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MS-1013 Notebook) + + pci:v00001002d00005956* + ID_MODEL_FROM_DATABASE=RD790 Host Bridge +@@ -3771,7 +3771,7 @@ pci:v00001002d00005957* + ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge + + pci:v00001002d00005957sv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge (A770CrossFire Motherboard) + + pci:v00001002d00005958* + ID_MODEL_FROM_DATABASE=RD780 Host Bridge +@@ -3780,37 +3780,37 @@ pci:v00001002d00005960* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] + + pci:v00001002d00005960sv000017AFsd00002020* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Excalibur Radeon 9250) + + pci:v00001002d00005961* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] + + pci:v00001002d00005961sv00001002sd00002F72* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 9200 Series ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (All-in-Wonder 9200 Series) + + pci:v00001002d00005961sv00001019sd00004C30* +- ID_MODEL_FROM_DATABASE=Radeon 9200 VIVO ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 VIVO) + + pci:v00001002d00005961sv000012ABsd00005961* +- ID_MODEL_FROM_DATABASE=YUAN SMARTVGA Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (YUAN SMARTVGA Radeon 9200) + + pci:v00001002d00005961sv00001458sd00004018* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) + + pci:v00001002d00005961sv0000174Bsd00007C13* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) + + pci:v00001002d00005961sv000017AFsd0000200C* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Excalibur Radeon 9200) + + pci:v00001002d00005961sv000018BCsd00000050* +- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster) + + pci:v00001002d00005961sv000018BCsd00000051* +- ID_MODEL_FROM_DATABASE=GC-R9200-C3 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (GC-R9200-C3) + + pci:v00001002d00005961sv000018BCsd00000053* +- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster VIVO ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster VIVO) + + pci:v00001002d00005962* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] +@@ -3819,37 +3819,37 @@ pci:v00001002d00005964* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] + + pci:v00001002d00005964sv00001002sd00005964* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz) + + pci:v00001002d00005964sv00001043sd0000C006* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE / TD / 128M ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE / TD / 128M) + + pci:v00001002d00005964sv00001458sd00004018* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) + + pci:v00001002d00005964sv00001458sd00004032* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE 128MB) + + pci:v00001002d00005964sv0000147Bsd00006191* +- ID_MODEL_FROM_DATABASE=R9200SE-DT ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (R9200SE-DT) + + pci:v00001002d00005964sv0000148Csd00002073* +- ID_MODEL_FROM_DATABASE=CN-AG92E ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (CN-AG92E) + + pci:v00001002d00005964sv0000174Bsd00007C13* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) + + pci:v00001002d00005964sv00001787sd00005964* +- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Excalibur 9200SE VIVO 128M) + + pci:v00001002d00005964sv000017AFsd00002012* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE Excalibur) + + pci:v00001002d00005964sv000018BCsd00000170* +- ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE 128MB Game Buster ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Sapphire Radeon 9200 SE 128MB Game Buster) + + pci:v00001002d00005964sv000018BCsd00000173* +- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) + + pci:v00001002d00005965* + ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] +@@ -3858,10 +3858,10 @@ pci:v00001002d00005974* + ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] + + pci:v00001002d00005974sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (DC5750 Microtower) + + pci:v00001002d00005974sv00001462sd00007141* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (Aspire L250) + + pci:v00001002d00005975* + ID_MODEL_FROM_DATABASE=RS482M [Mobility Radeon Xpress 200] +@@ -3870,7 +3870,7 @@ pci:v00001002d00005978* + ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) + + pci:v00001002d00005978sv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) (A770CrossFire Motherboard) + + pci:v00001002d00005979* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port B) +@@ -3891,13 +3891,13 @@ pci:v00001002d0000597E* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) + + pci:v00001002d0000597Esv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) (A770CrossFire Motherboard) + + pci:v00001002d0000597F* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) + + pci:v00001002d0000597Fsv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) (A770CrossFire Motherboard) + + pci:v00001002d00005980* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port A) +@@ -3918,7 +3918,7 @@ pci:v00001002d00005A12* + ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part + + pci:v00001002d00005A12sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part (H8DGU) + + pci:v00001002d00005A13* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port A) +@@ -3939,7 +3939,7 @@ pci:v00001002d00005A18* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) + + pci:v00001002d00005A18sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) (H8DGU) + + pci:v00001002d00005A19* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port E) +@@ -3963,7 +3963,7 @@ pci:v00001002d00005A1F* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) + + pci:v00001002d00005A1Fsv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) (H8DGU) + + pci:v00001002d00005A20* + ID_MODEL_FROM_DATABASE=RD890S PCI Express bridge for GPP2 port 1 +@@ -3996,7 +3996,7 @@ pci:v00001002d00005A3F* + ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] + + pci:v00001002d00005A3Fsv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] (Aspire L250) + + pci:v00001002d00005A41* + ID_MODEL_FROM_DATABASE=RS400 [Radeon Xpress 200] +@@ -4014,25 +4014,25 @@ pci:v00001002d00005B60* + ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] + + pci:v00001002d00005B60sv00001043sd0000002A* +- ID_MODEL_FROM_DATABASE=Extreme AX300SE-X ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300SE-X) + + pci:v00001002d00005B60sv00001043sd0000032E* +- ID_MODEL_FROM_DATABASE=Extreme AX300/TD ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300/TD) + + pci:v00001002d00005B60sv00001458sd00002102* +- ID_MODEL_FROM_DATABASE=GV-RX30S128D (X300SE) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (GV-RX30S128D (X300SE)) + + pci:v00001002d00005B60sv00001462sd00000400* +- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940 REV:200) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940 REV:200)) + + pci:v00001002d00005B60sv00001462sd00000402* +- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940)) + + pci:v00001002d00005B60sv0000174Bsd00000500* +- ID_MODEL_FROM_DATABASE=Radeon X300 (PCIE) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Radeon X300 (PCIE)) + + pci:v00001002d00005B60sv0000196Dsd00001086* +- ID_MODEL_FROM_DATABASE=X300SE HM ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (X300SE HM) + + pci:v00001002d00005B62* + ID_MODEL_FROM_DATABASE=RV370 [Radeon X600/X600 SE] +@@ -4053,13 +4053,13 @@ pci:v00001002d00005B70* + ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] + + pci:v00001002d00005B70sv00001462sd00000403* +- ID_MODEL_FROM_DATABASE=Radeon X300 SE 128MB DDR ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE 128MB DDR) + + pci:v00001002d00005B70sv0000174Bsd00000501* +- ID_MODEL_FROM_DATABASE=Radeon X300 SE ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE) + + pci:v00001002d00005B70sv0000196Dsd00001087* +- ID_MODEL_FROM_DATABASE=Radeon X300 SE HyperMemory ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE HyperMemory) + + pci:v00001002d00005B72* + ID_MODEL_FROM_DATABASE=RV380 [Radeon X300/X550/X1050 Series] (Secondary) +@@ -4080,37 +4080,37 @@ pci:v00001002d00005C63* + ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] + + pci:v00001002d00005C63sv00001002sd00005C63* +- ID_MODEL_FROM_DATABASE=Apple iBook G4 2004 ++ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (Apple iBook G4 2004) + + pci:v00001002d00005C63sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (P30 notebook) + + pci:v00001002d00005D44* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) + + pci:v00001002d00005D44sv00001458sd00004019* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) + + pci:v00001002d00005D44sv00001458sd00004032* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB) + + pci:v00001002d00005D44sv0000147Bsd00006190* +- ID_MODEL_FROM_DATABASE=R9200SE-DT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (R9200SE-DT (Secondary)) + + pci:v00001002d00005D44sv0000174Bsd00007C12* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) + + pci:v00001002d00005D44sv00001787sd00005965* +- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Excalibur 9200SE VIVO 128M (Secondary)) + + pci:v00001002d00005D44sv000017AFsd00002013* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE Excalibur (Secondary)) + + pci:v00001002d00005D44sv000018BCsd00000171* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB Game Buster (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB Game Buster (Secondary)) + + pci:v00001002d00005D44sv000018BCsd00000172* +- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) + + pci:v00001002d00005D45* + ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] (Secondary) +@@ -4140,7 +4140,7 @@ pci:v00001002d00005D52* + ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] + + pci:v00001002d00005D52sv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Primary) ++ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (PowerColor X850XT PCIe (Primary)) + + pci:v00001002d00005D57* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] +@@ -4155,7 +4155,7 @@ pci:v00001002d00005D72* + ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) + + pci:v00001002d00005D72sv00001002sd00000B13* +- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Secondary) ++ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) (PowerColor X850XT PCIe (Secondary)) + + pci:v00001002d00005D77* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] (Secondary) +@@ -4179,13 +4179,13 @@ pci:v00001002d00005E4D* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] + + pci:v00001002d00005E4Dsv0000148Csd00002116* +- ID_MODEL_FROM_DATABASE=Bravo X700 ++ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Bravo X700) + + pci:v00001002d00005E4F* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] + + pci:v00001002d00005E4Fsv00001569sd00001E4F* +- ID_MODEL_FROM_DATABASE=Radeon X550 XT ++ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Radeon X550 XT) + + pci:v00001002d00005E6B* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 PRO] (Secondary) +@@ -4194,7 +4194,7 @@ pci:v00001002d00005E6D* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) + + pci:v00001002d00005E6Dsv0000148Csd00002117* +- ID_MODEL_FROM_DATABASE=Bravo X700 (Secondary) ++ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) (Bravo X700 (Secondary)) + + pci:v00001002d00005F57* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] +@@ -4206,7 +4206,7 @@ pci:v00001002d00006601* + ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] + + pci:v00001002d00006601sv0000103Csd00002100* +- ID_MODEL_FROM_DATABASE=FirePro M4100 ++ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] (FirePro M4100) + + pci:v00001002d00006602* + ID_MODEL_FROM_DATABASE=Mars +@@ -4230,40 +4230,40 @@ pci:v00001002d00006610* + ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] + + pci:v00001002d00006610sv00001019sd00000030* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001028sd00002120* +- ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) + + pci:v00001002d00006610sv00001028sd00002322* +- ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) + + pci:v00001002d00006610sv00001462sd00002910* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001462sd00002911* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001642sd00003C81* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001642sd00003C91* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006611* + ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] + + pci:v00001002d00006611sv00001028sd0000210B* +- ID_MODEL_FROM_DATABASE=Radeon R5 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R5 240 OEM) + + pci:v00001002d00006611sv0000174Bsd00004248* +- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) + + pci:v00001002d00006611sv0000174Bsd0000A240* +- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) + + pci:v00001002d00006611sv00001B0Asd000090D3* +- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) + + pci:v00001002d00006613* + ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] +@@ -4302,28 +4302,28 @@ pci:v00001002d0000665C* + ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] + + pci:v00001002d0000665Csv00001043sd00000452* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 DirectCU II OC ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 DirectCU II OC) + + pci:v00001002d0000665Csv00001462sd00002930* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 OC ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 OC) + + pci:v00001002d0000665Csv00001462sd00002932* +- ID_MODEL_FROM_DATABASE=Radeon HD 8770 ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 8770) + + pci:v00001002d0000665Csv00001462sd00002934* +- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) + + pci:v00001002d0000665Csv0000148Csd00009260* +- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) + + pci:v00001002d0000665Csv00001682sd00003310* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Black Edition 2 GB ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Black Edition 2 GB) + + pci:v00001002d0000665Csv0000174Bsd0000E253* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Dual-X OC ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Dual-X OC) + + pci:v00001002d0000665Csv00001787sd00002329* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 TurboDuo ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 TurboDuo) + + pci:v00001002d0000665D* + ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series] +@@ -4335,7 +4335,7 @@ pci:v00001002d00006663* + ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] + + pci:v00001002d00006663sv00001025sd00000846* +- ID_MODEL_FROM_DATABASE=Radeon HD 8570A ++ ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] (Radeon HD 8570A) + + pci:v00001002d00006664* + ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] +@@ -4377,34 +4377,34 @@ pci:v00001002d00006720* + ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] + + pci:v00001002d00006720sv00001028sd0000048F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv00001028sd00000490* +- ID_MODEL_FROM_DATABASE=Alienware M17x R3 Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Alienware M17x R3 Radeon HD 6970M) + + pci:v00001002d00006720sv00001028sd000004A4* +- ID_MODEL_FROM_DATABASE=FirePro M8900 ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) + + pci:v00001002d00006720sv00001028sd000004BA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv00001028sd0000053F* +- ID_MODEL_FROM_DATABASE=FirePro M8900 ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) + + pci:v00001002d00006720sv0000106Bsd00000B00* +- ID_MODEL_FROM_DATABASE=Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) + + pci:v00001002d00006720sv00001558sd00005102* +- ID_MODEL_FROM_DATABASE=Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) + + pci:v00001002d00006720sv00001558sd00005104* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv00001558sd00007201* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv0000174Bsd0000E188* +- ID_MODEL_FROM_DATABASE=Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) + + pci:v00001002d00006724* + ID_MODEL_FROM_DATABASE=Blackcomb [Mobility Radeon HD 6000 series] +@@ -4416,511 +4416,511 @@ pci:v00001002d00006738* + ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] + + pci:v00001002d00006738sv00001682sd00003103* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Radeon HD 8670) + + pci:v00001002d00006738sv00001787sd0000201A* +- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] ++ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) + + pci:v00001002d00006738sv00001787sd0000201B* +- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] ++ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) + + pci:v00001002d00006739* + ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] + + pci:v00001002d00006739sv00001043sd000003B4* +- ID_MODEL_FROM_DATABASE=EAH6850 [Radeon HD 6850] ++ ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] (EAH6850 [Radeon HD 6850]) + + pci:v00001002d0000673E* + ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] + + pci:v00001002d0000673Esv0000148Csd00007720* +- ID_MODEL_FROM_DATABASE=Radeon HD 7720 OEM ++ ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] (Radeon HD 7720 OEM) + + pci:v00001002d00006740* + ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] + + pci:v00001002d00006740sv00001019sd0000238C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001019sd00002391* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001019sd00002392* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Precision M4600) + + pci:v00001002d00006740sv00001028sd0000053E* +- ID_MODEL_FROM_DATABASE=FirePro M5950 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) + + pci:v00001002d00006740sv0000103Csd00001630* +- ID_MODEL_FROM_DATABASE=FirePro M5950 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) + + pci:v00001002d00006740sv0000103Csd00001631* +- ID_MODEL_FROM_DATABASE=FirePro M5950 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) + + pci:v00001002d00006740sv0000103Csd0000164B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000103Csd0000164E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000103Csd00001657* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00001658* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000165A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000165B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00001688* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00001689* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000168A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000185E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7690M XT ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 7690M XT) + + pci:v00001002d00006740sv0000103Csd00003388* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00003389* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00003582* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000366C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001043sd00001D02* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001043sd00001D12* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000104Dsd00009084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000104Dsd00009085* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B074* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B077* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B088* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv000017AAsd00003982* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006741* + ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] + + pci:v00001002d00006741sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001019sd0000238F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000379* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000037B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000037E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000382* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000384* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000385* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000386* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000387* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000388* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000442* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000451* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000489* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000048B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000048C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000513* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000515* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000516* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000051E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000051F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000520* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000521* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000052A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000555* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000556* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000055D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000055E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000056D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000600* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000605* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000606* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000619* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001028sd000004C1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004C5* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004CD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004D7* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004D9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd0000052D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000103Csd00001617* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd00001646* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00001647* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd0000164B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd0000164E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd00001688* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00001689* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd0000168A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00001860* +- ID_MODEL_FROM_DATABASE=Radeon HD 7690M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7690M) + + pci:v00001002d00006741sv0000103Csd00003385* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000103Csd00003560* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd0000358D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00003590* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00003593* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd0000366C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00001CD2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002121* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002122* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002123* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002125* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) + + pci:v00001002d00006741sv00001043sd00002127* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) + + pci:v00001002d00006741sv0000104Dsd0000907B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000104Dsd00009080* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000106Bsd000000E2* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", Late 2011] ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (MacBookPro8,2 [Core i7, 15", Late 2011]) + + pci:v00001002d00006741sv00001179sd0000FD63* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001179sd0000FD65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000144Dsd0000C093* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000144Dsd0000C0AC* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000144Dsd0000C0B3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000144Dsd0000C539* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000144Dsd0000C609* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000152Dsd00000914* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv000017AAsd000021E1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv000017AAsd00003970* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv000017AAsd00003976* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001854sd00000907* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006742* + ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] + + pci:v00001002d00006742sv00001002sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00001019sd00002393* +- ID_MODEL_FROM_DATABASE=Radeon HD 6610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6610M) + + pci:v00001002d00006742sv00001043sd00001D82* +- ID_MODEL_FROM_DATABASE=K53SK Laptop Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (K53SK Laptop Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB22* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB23* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB27* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB2A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB2C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB30* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB31* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB32* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB38* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB39* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB3A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB3B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB40* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB41* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB47* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB48* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB49* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB51* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB53* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB81* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB82* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB83* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FC56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FCD4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FCEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001458sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00001462sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv0000148Csd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00001682sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv0000174Bsd00005570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 5570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 5570]) + + pci:v00001002d00006742sv0000174Bsd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv0000174Bsd00007570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 7570]) + + pci:v00001002d00006742sv0000174Bsd00008510* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8510] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8510]) + + pci:v00001002d00006742sv0000174Bsd00008570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8570]) + + pci:v00001002d00006742sv00001787sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv000017AFsd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Radeon HD 6625M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6625M) + + pci:v00001002d00006743* + ID_MODEL_FROM_DATABASE=Whistler [Radeon E6760] +@@ -4935,133 +4935,133 @@ pci:v00001002d00006750* + ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] + + pci:v00001002d00006750sv00001462sd00002670* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6670A) + + pci:v00001002d00006750sv000017AAsd00003079* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) + + pci:v00001002d00006750sv000017AAsd0000307A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006750sv000017AAsd00003087* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) + + pci:v00001002d00006750sv000017AAsd00003618* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006750sv000017AAsd00003623* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006750sv000017AAsd00003627* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006751* + ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] + + pci:v00001002d00006751sv00001028sd00000548* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006751sv00001462sd00002671* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) + + pci:v00001002d00006751sv00001462sd00002672* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) + + pci:v00001002d00006751sv00001462sd00002680* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006751sv00001462sd00002681* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006751sv000017AAsd00003087* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006758* + ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] + + pci:v00001002d00006758sv00001028sd00000B0E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006758sv0000103Csd00006882* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006758sv00001462sd0000250A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv0000148Csd00007670* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv00001545sd00007670* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv00001682sd00003300* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv0000174Bsd00007670* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv0000174Bsd0000E181* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006758sv00001787sd00002309* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006759* + ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] + + pci:v00001002d00006759sv0000103Csd00003130* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001043sd00000403* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001462sd00002500* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001462sd00002509* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv0000148Csd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv00001642sd00003A67* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001682sd00003280* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv00001682sd00003530* +- ID_MODEL_FROM_DATABASE=Radeon HD 8550 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 8550) + + pci:v00001002d00006759sv0000174Bsd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv0000174Bsd0000E142* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv0000174Bsd0000E181* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd0000908F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd00009090* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd00009091* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd00009092* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd0000909E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd000090B5* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv00001B0Asd000090B6* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d0000675B* + ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] +@@ -5073,526 +5073,526 @@ pci:v00001002d0000675F* + ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] + + pci:v00001002d0000675Fsv0000148Csd00006510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) + + pci:v00001002d0000675Fsv0000148Csd00006530* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6530) + + pci:v00001002d0000675Fsv0000148Csd00007510* +- ID_MODEL_FROM_DATABASE=Radeon HD 7510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) + + pci:v00001002d0000675Fsv00001545sd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7570) + + pci:v00001002d0000675Fsv0000174Bsd00006510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) + + pci:v00001002d0000675Fsv0000174Bsd00007510* +- ID_MODEL_FROM_DATABASE=Radeon HD 7510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) + + pci:v00001002d0000675Fsv0000174Bsd00008510* +- ID_MODEL_FROM_DATABASE=Radeon HD 8510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 8510) + + pci:v00001002d0000675Fsv00001787sd00002012* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 2GB GDDR3 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 2GB GDDR3) + + pci:v00001002d0000675Fsv00001787sd00002314* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 1GB DDR2/GDDR3 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 1GB DDR2/GDDR3) + + pci:v00001002d00006760* + ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] + + pci:v00001002d00006760sv00001002sd00000124* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001002sd00000134* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd0000238B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd00002390* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd00009985* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004C1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004C3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004CA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004CB* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004CC* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Vostro 3350) + + pci:v00001002d00006760sv00001028sd000004D1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004D3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004D7* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000502* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000503* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000506* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000507* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd0000051C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001028sd0000051D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv0000103Csd0000161A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000161B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000161E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000161F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001622* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv0000103Csd00001623* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv0000103Csd0000164A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000164D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001651* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001656* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00001658* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00001659* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000165B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000165D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000165F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001661* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001663* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001665* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001667* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001669* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000166B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000166C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000166E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001670* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001672* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000167A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000167B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000167D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000167F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000168C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000168F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001694* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001696* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001698* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000169A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000169C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00001855* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd00001859* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd0000185C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd0000185D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000103Csd0000185F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000103Csd00001863* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd0000355C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000355F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003563* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003565* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003567* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003569* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003581* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003584* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000358C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000358F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003592* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003596* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000366B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003671* +- ID_MODEL_FROM_DATABASE=FirePro M3900 ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (FirePro M3900) + + pci:v00001002d00006760sv0000103Csd00003673* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000100A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000100C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000101B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000101C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000102A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv00001043sd0000102C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000104B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000105D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000106B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000106D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000107D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00001CB2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00001D22* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00001D32* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00002001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00002002* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00002107* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00002108* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00002109* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd000084A0* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd000084E9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00008515* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00008517* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000855A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000104Dsd0000907B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000104Dsd00009084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000104Dsd00009085* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001179sd00000003* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001179sd00000004* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001179sd0000FB22* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB23* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB2C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB31* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB32* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB33* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB38* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB39* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB3A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB40* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB41* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB42* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB47* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB48* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB51* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB53* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB81* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB82* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB83* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FC51* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001179sd0000FC52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FC56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FCD3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FCD4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FCEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FDEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000144Dsd0000B074* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000B084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C095* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C0B3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000144Dsd0000C538* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C581* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C589* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C609* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000144Dsd0000C625* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000144Dsd0000C636* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv00001462sd000010AC* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000152Dsd00000916* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd000021E5* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd00003900* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00003902* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00003969* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd00003970* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00003976* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd0000397B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd0000397D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd00005101* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv000017AAsd00005102* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00005103* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00005106* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv00001854sd00000897* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001854sd00000900* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001854sd00000908* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001854sd00002015* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006761* + ID_MODEL_FROM_DATABASE=Seymour LP [Radeon HD 6430M] +@@ -5619,22 +5619,22 @@ pci:v00001002d00006770* + ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] + + pci:v00001002d00006770sv000017AAsd0000308D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7450A) + + pci:v00001002d00006770sv000017AAsd00003623* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd00003627* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd00003629* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd0000363C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd00003658* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7470A) + + pci:v00001002d00006771* + ID_MODEL_FROM_DATABASE=Caicos XTX [Radeon HD 8490 / R5 235X OEM] +@@ -5646,133 +5646,133 @@ pci:v00001002d00006778* + ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] + + pci:v00001002d00006778sv00001019sd00000024* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) + + pci:v00001002d00006778sv00001019sd00000027* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001028sd00002120* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) + + pci:v00001002d00006778sv00001462sd0000B491* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001462sd0000B492* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001462sd0000B493* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 OEM ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470 OEM) + + pci:v00001002d00006778sv00001642sd00003C65* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001642sd00003C75* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv0000174Bsd00008145* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv0000174Bsd0000E145* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) + + pci:v00001002d00006779* + ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] + + pci:v00001002d00006779sv00001019sd00000016* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001019sd00000017* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001019sd00000018* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001028sd00002120* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000103Csd00002128* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000103Csd00002AEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) + + pci:v00001002d00006779sv00001462sd00002125* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001462sd00002346* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv00001462sd00002490* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001462sd00002494* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001462sd00002496* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000148Csd00007450* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000148Csd00008450* +- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) + + pci:v00001002d00006779sv00001545sd00007470* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7470) + + pci:v00001002d00006779sv00001642sd00003A65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001642sd00003A66* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv00001642sd00003A75* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001642sd00003A76* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv00001682sd00003200* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000174Bsd00007450* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000174Bsd0000E164* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1 GB DDR3 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450 1 GB DDR3) + + pci:v00001002d00006779sv0000174Bsd0000E180* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000174Bsd0000E201* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv000017AFsd00008450* +- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) + + pci:v00001002d00006779sv00001B0Asd00009096* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001B0Asd00009097* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001B0Asd000090A8* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450A) + + pci:v00001002d00006779sv00001B0Asd000090B1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001B0Asd000090B3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) + + pci:v00001002d00006779sv00001B0Asd000090BB* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) + + pci:v00001002d0000677B* + ID_MODEL_FROM_DATABASE=Caicos PRO [Radeon HD 7450] +@@ -5790,25 +5790,25 @@ pci:v00001002d0000678A* + ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] + + pci:v00001002d0000678Asv00001002sd0000030C* +- ID_MODEL_FROM_DATABASE=FirePro W8000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) + + pci:v00001002d0000678Asv00001002sd00000310* +- ID_MODEL_FROM_DATABASE=FirePro S9000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S9000) + + pci:v00001002d0000678Asv00001002sd00000420* +- ID_MODEL_FROM_DATABASE=Radeon Sky 700 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 700) + + pci:v00001002d0000678Asv00001002sd00000422* +- ID_MODEL_FROM_DATABASE=Radeon Sky 900 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 900) + + pci:v00001002d0000678Asv00001002sd00000B0E* +- ID_MODEL_FROM_DATABASE=FirePro S10000 Passive ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000 Passive) + + pci:v00001002d0000678Asv00001002sd00000B2A* +- ID_MODEL_FROM_DATABASE=FirePro S10000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000) + + pci:v00001002d0000678Asv00001028sd0000030C* +- ID_MODEL_FROM_DATABASE=FirePro W8000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) + + pci:v00001002d00006790* + ID_MODEL_FROM_DATABASE=Tahiti +@@ -5823,67 +5823,67 @@ pci:v00001002d00006798* + ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] + + pci:v00001002d00006798sv00001002sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) + + pci:v00001002d00006798sv00001002sd00003001* +- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X]) + + pci:v00001002d00006798sv00001002sd00004000* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970 OEM ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 8970 OEM) + + pci:v00001002d00006798sv00001043sd0000041C* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II) + + pci:v00001002d00006798sv00001043sd00000420* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) + + pci:v00001002d00006798sv00001043sd00000444* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) + + pci:v00001002d00006798sv00001043sd00000448* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) + + pci:v00001002d00006798sv00001043sd0000044A* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970]) + + pci:v00001002d00006798sv00001043sd0000044C* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970 Platinum] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970 Platinum]) + + pci:v00001002d00006798sv00001043sd00003001* +- ID_MODEL_FROM_DATABASE=Tahiti XTL [ROG Matrix R9 280X] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [ROG Matrix R9 280X]) + + pci:v00001002d00006798sv00001043sd00003006* +- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X DirectCU II TOP] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X DirectCU II TOP]) + + pci:v00001002d00006798sv00001043sd00009999* +- ID_MODEL_FROM_DATABASE=ARES II ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (ARES II) + + pci:v00001002d00006798sv00001092sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) + + pci:v00001002d00006798sv00001458sd00002261* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition OC]) + + pci:v00001002d00006798sv00001462sd00002774* +- ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (MSI R7970 TF 3GD5/OC BE) + + pci:v00001002d00006798sv00001682sd00003211* +- ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970 Black Edition) + + pci:v00001002d00006798sv00001682sd00003213* +- ID_MODEL_FROM_DATABASE=HD 7970 Black Edition ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 Black Edition) + + pci:v00001002d00006798sv00001682sd00003214* +- ID_MODEL_FROM_DATABASE=Double D HD 7970 ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970) + + pci:v00001002d00006798sv00001787sd0000201C* +- ID_MODEL_FROM_DATABASE=HD 7970 IceQ X² ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 IceQ X²) + + pci:v00001002d00006798sv00001787sd00002317* +- ID_MODEL_FROM_DATABASE=Radeon HD 7990 ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 7990) + + pci:v00001002d00006798sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) + + pci:v00001002d00006799* + ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] +@@ -5892,28 +5892,28 @@ pci:v00001002d0000679A* + ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] + + pci:v00001002d0000679Asv00001002sd00000B01* +- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) + + pci:v00001002d0000679Asv00001002sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti PRO2 [Radeon HD 7950 Boost] ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Tahiti PRO2 [Radeon HD 7950 Boost]) + + pci:v00001002d0000679Asv00001462sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) + + pci:v00001002d0000679B* + ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] + + pci:v00001002d0000679Bsv00001002sd00000B28* +- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) + + pci:v00001002d0000679Bsv00001002sd00000B2A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7990 ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 7990) + + pci:v00001002d0000679Bsv00001462sd00008036* +- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) + + pci:v00001002d0000679Bsv0000148Csd00008990* +- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) + + pci:v00001002d0000679E* + ID_MODEL_FROM_DATABASE=Tahiti LE [Radeon HD 7870 XT] +@@ -5955,28 +5955,28 @@ pci:v00001002d00006800* + ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] + + pci:v00001002d00006800sv00001002sd00000124* +- ID_MODEL_FROM_DATABASE=Radeon HD 7970M ++ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) + + pci:v00001002d00006800sv00008086sd00002110* +- ID_MODEL_FROM_DATABASE=Radeon HD 7970M ++ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) + + pci:v00001002d00006800sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Radeon HD 7970M ++ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) + + pci:v00001002d00006801* + ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] + + pci:v00001002d00006801sv00001002sd00000124* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970M ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) + + pci:v00001002d00006801sv00001462sd00001117* +- ID_MODEL_FROM_DATABASE=Radeon R9 M290X ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon R9 M290X) + + pci:v00001002d00006801sv00008086sd00002110* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970M ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) + + pci:v00001002d00006801sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970M ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) + + pci:v00001002d00006802* + ID_MODEL_FROM_DATABASE=Wimbledon +@@ -5988,10 +5988,10 @@ pci:v00001002d00006808* + ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] + + pci:v00001002d00006808sv00001002sd00000310* +- ID_MODEL_FROM_DATABASE=FirePro S7000 ++ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (FirePro S7000) + + pci:v00001002d00006808sv00001002sd00000420* +- ID_MODEL_FROM_DATABASE=Radeon Sky 500 ++ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (Radeon Sky 500) + + pci:v00001002d00006809* + ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000] +@@ -6012,37 +6012,37 @@ pci:v00001002d00006818* + ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] + + pci:v00001002d00006818sv00001002sd00000B05* +- ID_MODEL_FROM_DATABASE=Radeon HD 8870 OEM ++ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8870 OEM) + + pci:v00001002d00006818sv0000174Bsd00008B04* +- ID_MODEL_FROM_DATABASE=Radeon HD 8860 ++ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8860) + + pci:v00001002d00006819* + ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] + + pci:v00001002d00006819sv0000174Bsd0000E221* +- ID_MODEL_FROM_DATABASE=Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP ++ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) + + pci:v00001002d00006820* + ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] + + pci:v00001002d00006820sv0000103Csd00001851* +- ID_MODEL_FROM_DATABASE=Radeon HD 7750M ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) + + pci:v00001002d00006820sv000017AAsd00003801* +- ID_MODEL_FROM_DATABASE=Radeon R9 M275 ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) + + pci:v00001002d00006821* + ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] + + pci:v00001002d00006821sv00001002sd0000031E* +- ID_MODEL_FROM_DATABASE=FirePro SX4000 ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) + + pci:v00001002d00006821sv00001028sd000005CC* +- ID_MODEL_FROM_DATABASE=FirePro M5100 ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) + + pci:v00001002d00006821sv00001028sd000015CC* +- ID_MODEL_FROM_DATABASE=FirePro M5100 ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) + + pci:v00001002d00006822* + ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] +@@ -6054,7 +6054,7 @@ pci:v00001002d00006825* + ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] + + pci:v00001002d00006825sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Chelsea PRO ++ ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] (Chelsea PRO) + + pci:v00001002d00006826* + ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7700M Series] +@@ -6081,7 +6081,7 @@ pci:v00001002d0000682F* + ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] + + pci:v00001002d0000682Fsv0000103Csd00001851* +- ID_MODEL_FROM_DATABASE=Radeon HD 7750M ++ ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] (Radeon HD 7750M) + + pci:v00001002d00006830* + ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7800M Series] +@@ -6096,16 +6096,16 @@ pci:v00001002d00006837* + ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] + + pci:v00001002d00006837sv00001462sd00002796* +- ID_MODEL_FROM_DATABASE=Radeon HD 8730 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) + + pci:v00001002d00006837sv00001462sd00008092* +- ID_MODEL_FROM_DATABASE=Radeon HD 8730 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) + + pci:v00001002d00006837sv0000148Csd00008730* +- ID_MODEL_FROM_DATABASE=Radeon HD 8730 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) + + pci:v00001002d00006837sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 6570) + + pci:v00001002d00006838* + ID_MODEL_FROM_DATABASE=Cape Verde +@@ -6120,19 +6120,19 @@ pci:v00001002d0000683D* + ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] + + pci:v00001002d0000683Dsv00001002sd00000030* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv00001019sd00000030* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv0000103Csd00006890* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv00001043sd00008760* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv0000174Bsd00008304* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683F* + ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] +@@ -6141,322 +6141,322 @@ pci:v00001002d00006840* + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] + + pci:v00001002d00006840sv00001025sd0000050E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000050F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000513* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000056D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000059A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000059B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000059E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000600* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000606* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000696* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000697* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000698* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000699* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000757* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd0000056A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd0000056E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd00000598* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd0000059D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd000005A3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd000005B9* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd000005BB* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000017F1* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7570M) + + pci:v00001002d00006840sv0000103Csd000017F4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv0000103Csd00001813* +- ID_MODEL_FROM_DATABASE=Radeon HD 7590M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7590M) + + pci:v00001002d00006840sv0000103Csd0000182F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001830* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001835* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000183A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000183C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000183E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001840* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001842* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001844* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001848* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000184A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000184C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001895* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001897* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000018A5* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000018A7* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000018F4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd0000100A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd0000104B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd000010DC* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002121* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002122* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002123* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002125* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002127* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB11* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB22* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB23* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB2C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB31* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB32* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB38* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB39* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB3A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB40* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB41* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB47* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB48* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB51* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB53* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB81* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB82* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB83* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FC56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FCD4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FCEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000144Dsd0000C0C5* +- ID_MODEL_FROM_DATABASE=Radeon HD 7690M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7690M) + + pci:v00001002d00006840sv0000144Dsd0000C0CE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000144Dsd0000C0DA* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00003970* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd0000397B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00005101* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00005102* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00005103* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006841* + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] + + pci:v00001002d00006841sv00001028sd00000561* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001028sd0000056C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001028sd0000057F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv0000103Csd000017F1* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv0000103Csd000017F4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001813* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv0000103Csd0000183A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd0000183C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd0000183E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001840* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001842* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001844* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd0000100A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd0000104B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd000010DC* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd00002134* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv00001179sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv00001179sd0000FB43* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FB91* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FB92* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FB93* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FBA2* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FBA3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv0000144Dsd0000C0C7* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006842* + ID_MODEL_FROM_DATABASE=Thames LE [Radeon HD 7000M Series] +@@ -6471,13 +6471,13 @@ pci:v00001002d00006889* + ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] + + pci:v00001002d00006889sv00001002sd00000301* +- ID_MODEL_FROM_DATABASE=FirePro V7800P ++ ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] (FirePro V7800P) + + pci:v00001002d0000688A* + ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] + + pci:v00001002d0000688Asv00001002sd0000030C* +- ID_MODEL_FROM_DATABASE=FirePro V9800P ++ ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] (FirePro V9800P) + + pci:v00001002d0000688C* + ID_MODEL_FROM_DATABASE=Cypress XT GL [FireStream 9370] +@@ -6489,28 +6489,28 @@ pci:v00001002d00006898* + ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] + + pci:v00001002d00006898sv00001002sd00000B00* +- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Eyefinity⁶ Edition ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Eyefinity⁶ Edition) + + pci:v00001002d00006898sv0000106Bsd000000D0* +- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Mac Edition ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Mac Edition) + + pci:v00001002d00006898sv00001462sd00008032* +- ID_MODEL_FROM_DATABASE=Radeon HD 5870 1 GB GDDR5 ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 1 GB GDDR5) + + pci:v00001002d00006898sv0000174Bsd00006870* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870 1600SP Edition ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 6870 1600SP Edition) + + pci:v00001002d00006899* + ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] + + pci:v00001002d00006899sv00001043sd00000330* +- ID_MODEL_FROM_DATABASE=Radeon HD 5850 ++ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850) + + pci:v00001002d00006899sv0000174Bsd0000237B* +- ID_MODEL_FROM_DATABASE=Radeon HD 5850 X2 ++ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850 X2) + + pci:v00001002d00006899sv0000174Bsd00006850* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850 1440SP Edition ++ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 6850 1440SP Edition) + + pci:v00001002d0000689B* + ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 6800 Series] +@@ -6519,7 +6519,7 @@ pci:v00001002d0000689C* + ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] + + pci:v00001002d0000689Csv00001043sd00000352* +- ID_MODEL_FROM_DATABASE=ARES ++ ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] (ARES) + + pci:v00001002d0000689D* + ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] +@@ -6531,79 +6531,79 @@ pci:v00001002d000068A0* + ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] + + pci:v00001002d000068A0sv00001028sd000012EF* +- ID_MODEL_FROM_DATABASE=FirePro M7820 ++ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) + + pci:v00001002d000068A0sv0000103Csd00001520* +- ID_MODEL_FROM_DATABASE=FirePro M7820 ++ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) + + pci:v00001002d000068A1* + ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] + + pci:v00001002d000068A1sv0000106Bsd000000CC* +- ID_MODEL_FROM_DATABASE=iMac MC511 Mobility Radeon HD 5850 MXM Module ++ ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] (iMac MC511 Mobility Radeon HD 5850 MXM Module) + + pci:v00001002d000068A8* + ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] + + pci:v00001002d000068A8sv00001025sd00000442* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000451* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000513* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000515* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000516* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000525* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000526* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000056D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001028sd0000048F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv00001028sd00000490* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv00001028sd000004B9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv00001028sd000004BA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv0000103Csd0000159B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv0000144Dsd0000C0AD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A9* + ID_MODEL_FROM_DATABASE=Juniper XT [FirePro V5800] +@@ -6612,7 +6612,7 @@ pci:v00001002d000068B8* + ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] + + pci:v00001002d000068B8sv0000106Bsd000000CF* +- ID_MODEL_FROM_DATABASE=MacPro5,1 [Mac Pro 2.8GHz DDR3] ++ ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] (MacPro5,1 [Mac Pro 2.8GHz DDR3]) + + pci:v00001002d000068B9* + ID_MODEL_FROM_DATABASE=Juniper LE [Radeon HD 5670 640SP Edition] +@@ -6624,466 +6624,466 @@ pci:v00001002d000068BE* + ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] + + pci:v00001002d000068BEsv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750 ++ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] (Radeon HD 6750) + + pci:v00001002d000068BF* + ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] + + pci:v00001002d000068BFsv0000174Bsd00006750* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750 ++ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] (Radeon HD 6750) + + pci:v00001002d000068C0* + ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] + + pci:v00001002d000068C0sv00001019sd00002383* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv00001028sd000002A2* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv00001028sd000002FE* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv00001028sd00000419* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv0000103Csd0000147D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv0000103Csd00001521* +- ID_MODEL_FROM_DATABASE=Madison XT [FirePro M5800] ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Madison XT [FirePro M5800]) + + pci:v00001002d000068C0sv0000103Csd00001593* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) + + pci:v00001002d000068C0sv0000103Csd00001596* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) + + pci:v00001002d000068C0sv0000103Csd00001599* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) + + pci:v00001002d000068C0sv00001043sd00001C22* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv000017AAsd00003927* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv000017AAsd00003952* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv000017AAsd00003978* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Radeon HD 6570M) + + pci:v00001002d000068C1* + ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] + + pci:v00001002d000068C1sv00001025sd00000205* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000293* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000294* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000296* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000308* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000030A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000311* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000312* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000031C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000031D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000033D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000033E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000033F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000346* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Aspire 7740G) + + pci:v00001002d000068C1sv00001025sd00000348* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000356* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000357* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000358* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000359* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000360* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000362* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000364* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000365* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000366* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000367* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000368* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000372* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000373* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000377* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000378* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000379* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000382* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000383* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000384* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000385* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000386* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000387* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000388* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000038B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000038C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000039A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000411* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000412* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000418* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000419* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000420* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000421* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000425* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000042A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000042E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000042F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000432* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000433* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000442* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000044C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000044E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000451* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000454* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000455* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000475* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000476* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000487* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000489* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000498* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000517* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd00000525* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd00000526* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000052B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000052C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd00000607* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001028sd0000041B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000447* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000448* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000456* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000457* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001436* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001437* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001440* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001448* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001449* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000144A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000144B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000147B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000149C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000149E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001521* +- ID_MODEL_FROM_DATABASE=Madison Pro [FirePro M5800] ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Madison Pro [FirePro M5800]) + + pci:v00001002d000068C1sv00001043sd00001BC2* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000104Dsd00009071* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000104Dsd00009077* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD00* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD12* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD1A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD30* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD31* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD50* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD52* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv00001179sd0000FD63* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv00001179sd0000FD65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv00001179sd0000FDD0* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FDD2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv0000144Dsd0000C07E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000144Dsd0000C085* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000014C0sd00000043* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000014C0sd0000004D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000017AAsd00003928* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000017AAsd00003951* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000017AAsd00003977* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C7* + ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] + + pci:v00001002d000068C7sv00001462sd00002241* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) + + pci:v00001002d000068C7sv00001462sd00002243* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) + + pci:v00001002d000068C7sv00001462sd00002244* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) + + pci:v00001002d000068C7sv00001462sd00002245* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550A ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) + + pci:v00001002d000068C7sv00001462sd00002246* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550A ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) + + pci:v00001002d000068C8* + ID_MODEL_FROM_DATABASE=Redwood XT GL [FirePro V4800] +@@ -7095,115 +7095,115 @@ pci:v00001002d000068D8* + ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] + + pci:v00001002d000068D8sv00001028sd000068E0* +- ID_MODEL_FROM_DATABASE=Radeon HD 5670 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) + + pci:v00001002d000068D8sv0000174Bsd00005690* +- ID_MODEL_FROM_DATABASE=Radeon HD 5690 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) + + pci:v00001002d000068D8sv0000174Bsd00005730* +- ID_MODEL_FROM_DATABASE=Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) + + pci:v00001002d000068D8sv0000174Bsd0000E151* +- ID_MODEL_FROM_DATABASE=Radeon HD 5670 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) + + pci:v00001002d000068D8sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) + + pci:v00001002d000068D8sv000017AFsd00003010* +- ID_MODEL_FROM_DATABASE=Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) + + pci:v00001002d000068D8sv000017AFsd00003011* +- ID_MODEL_FROM_DATABASE=Radeon HD 5690 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) + + pci:v00001002d000068D9* + ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] + + pci:v00001002d000068D9sv0000103Csd00006870* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv0000103Csd00006872* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001043sd000003CE* +- ID_MODEL_FROM_DATABASE=Radeon HD 5550 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) + + pci:v00001002d000068D9sv00001462sd00002151* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001462sd00002240* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6610 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) + + pci:v00001002d000068D9sv00001545sd00005550* +- ID_MODEL_FROM_DATABASE=Radeon HD 5550 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) + + pci:v00001002d000068D9sv00001545sd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 7570) + + pci:v00001002d000068D9sv00001642sd00003985* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001642sd00003996* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv0000174Bsd00006510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv0000174Bsd00006610* +- ID_MODEL_FROM_DATABASE=Radeon HD 6610 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) + + pci:v00001002d000068D9sv0000174Bsd0000E142* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv000017AFsd00003010* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5630) + + pci:v00001002d000068DA* + ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] + + pci:v00001002d000068DAsv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6390 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) + + pci:v00001002d000068DAsv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) + + pci:v00001002d000068DAsv00001545sd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 7570) + + pci:v00001002d000068DAsv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6390 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) + + pci:v00001002d000068DAsv0000174Bsd00005570* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5570) + + pci:v00001002d000068DAsv0000174Bsd00005630* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) + + pci:v00001002d000068DAsv0000174Bsd00006490* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) + + pci:v00001002d000068DAsv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) + + pci:v00001002d000068DAsv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6390 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) + + pci:v00001002d000068DAsv000017AFsd00003010* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) + + pci:v00001002d000068DE* + ID_MODEL_FROM_DATABASE=Redwood +@@ -7212,349 +7212,349 @@ pci:v00001002d000068E0* + ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] + + pci:v00001002d000068E0sv00001028sd00000404* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv00001028sd00000414* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv00001028sd00000434* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001433* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001434* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001469* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd0000146B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001486* +- ID_MODEL_FROM_DATABASE=TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450)) + + pci:v00001002d000068E0sv0000103Csd00001622* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001623* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd0000EEEE* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000104Dsd00009076* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv00001682sd0000304E* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E0sv00001682sd00006000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E0sv000017AAsd00009E52* +- ID_MODEL_FROM_DATABASE=FirePro M3800 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) + + pci:v00001002d000068E0sv000017AAsd00009E53* +- ID_MODEL_FROM_DATABASE=FirePro M3800 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) + + pci:v00001002d000068E1* + ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] + + pci:v00001002d000068E1sv00001043sd0000041F* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv00001043sd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) + + pci:v00001002d000068E1sv0000148Csd00003002* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6250] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6250]) + + pci:v00001002d000068E1sv0000148Csd00003003* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) + + pci:v00001002d000068E1sv0000148Csd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv0000148Csd00008350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350]) + + pci:v00001002d000068E1sv00001545sd00005450* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv00001682sd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv00001682sd00006000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv00001682sd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000174Bsd00005470* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5470] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5470]) + + pci:v00001002d000068E1sv0000174Bsd00006000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000174Bsd00006230* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) + + pci:v00001002d000068E1sv0000174Bsd00006350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) + + pci:v00001002d000068E1sv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv000017AFsd00003001* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) + + pci:v00001002d000068E1sv000017AFsd00003014* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) + + pci:v00001002d000068E1sv000017AFsd00003015* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv000017AFsd00008350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350 OEM] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350 OEM]) + + pci:v00001002d000068E4* + ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] + + pci:v00001002d000068E4sv00001019sd00002386* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) + + pci:v00001002d000068E4sv00001019sd00002387* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) + + pci:v00001002d000068E4sv00001019sd0000238D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd00000382* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd00000489* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd0000048A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd0000048B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd0000048C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004C1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004CA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004CC* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004CD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004D7* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001411* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001421* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001426* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001428* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000142A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000142B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000143A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000143C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001445* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001639* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001641* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001643* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00003578* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000357A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00003673* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00003675* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001043sd00001C92* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001043sd000084A1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001043sd000084AD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 7350]) + + pci:v00001002d000068E4sv00001558sd00004510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001558sd00005505* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000174Bsd00005450* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 5450]) + + pci:v00001002d000068E4sv000017AAsd000021DD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv000017AAsd000021E9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv000017AAsd00003971* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv000017AAsd00003972* +- ID_MODEL_FROM_DATABASE=Radeon HD 7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) + + pci:v00001002d000068E4sv000017AAsd0000397A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) + + pci:v00001002d000068E4sv000017AAsd0000397B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) + + pci:v00001002d000068E4sv000017AAsd0000397F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) + + pci:v00001002d000068E5* + ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] + + pci:v00001002d000068E5sv00001179sd0000FD3C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD50* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD52* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD63* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD73* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD75* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDD0* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDD2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDEA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDF8* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv0000148Csd00005450* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 5450]) + + pci:v00001002d000068E5sv0000148Csd00006350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 6350]) + + pci:v00001002d000068E5sv0000148Csd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) + + pci:v00001002d000068E5sv0000148Csd00008350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 8350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 8350]) + + pci:v00001002d000068E5sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) + + pci:v00001002d000068E8* + ID_MODEL_FROM_DATABASE=Cedar +@@ -7575,259 +7575,259 @@ pci:v00001002d000068F9* + ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] + + pci:v00001002d000068F9sv00001019sd00000001* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001019sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001019sd00000019* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001025sd00000518* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001025sd00000519* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (XPS 8300) + + pci:v00001002d000068F9sv00001028sd00002126* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000103Csd00002126* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000103Csd00002AAC* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000103Csd00002AAE* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000103Csd00003580* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001043sd00000386* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001043sd000003C2* +- ID_MODEL_FROM_DATABASE=EAH5450 SILENT/DI/512MD2 (LP) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (EAH5450 SILENT/DI/512MD2 (LP)) + + pci:v00001002d000068F9sv00001462sd00002130* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002131* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002133* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001462sd00002180* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002181* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002182* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001462sd00002183* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001462sd00002230* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002231* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002495* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 5530/6250 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530/6250) + + pci:v00001002d000068F9sv0000148Csd00003002* +- ID_MODEL_FROM_DATABASE=Radeon HD 6290 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) + + pci:v00001002d000068F9sv0000148Csd00003003* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv0000148Csd00003004* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000148Csd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv0000148Csd00008350* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) + + pci:v00001002d000068F9sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv00001642sd00003983* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001642sd00003984* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001642sd00003987* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001642sd00003997* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001642sd00003A05* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001642sd00003B31* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350A ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350A) + + pci:v00001002d000068F9sv00001682sd00003270* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv0000174Bsd00003987* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000174Bsd00005470* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv0000174Bsd00005490* +- ID_MODEL_FROM_DATABASE=Radeon HD 5490 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) + + pci:v00001002d000068F9sv0000174Bsd00005530* +- ID_MODEL_FROM_DATABASE=Radeon HD 5530 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) + + pci:v00001002d000068F9sv0000174Bsd00006230* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv0000174Bsd00006250* +- ID_MODEL_FROM_DATABASE=Radeon HD 6250 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) + + pci:v00001002d000068F9sv0000174Bsd00006290* +- ID_MODEL_FROM_DATABASE=Radeon HD 6290 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) + + pci:v00001002d000068F9sv0000174Bsd00006350* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv0000174Bsd00008350* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) + + pci:v00001002d000068F9sv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000174Bsd0000E145* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv00001787sd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 5530 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) + + pci:v00001002d000068F9sv00001787sd00003002* +- ID_MODEL_FROM_DATABASE=Radeon HD 5490 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) + + pci:v00001002d000068F9sv000017AAsd00003602* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AAsd00003603* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AAsd0000360F* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AAsd00003619* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6250 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) + + pci:v00001002d000068F9sv000017AFsd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv000017AFsd00003002* +- ID_MODEL_FROM_DATABASE=Radeon HD 6290 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) + + pci:v00001002d000068F9sv000017AFsd00003011* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv000017AFsd00003012* +- ID_MODEL_FROM_DATABASE=Radeon HD 5490 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) + + pci:v00001002d000068F9sv000017AFsd00003013* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv000017AFsd00003014* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068FA* + ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] + + pci:v00001002d000068FAsv00001019sd00000019* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000021* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000022* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000026* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000103Csd00002ADF* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350A ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) + + pci:v00001002d000068FAsv0000103Csd00002AE8* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350A ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) + + pci:v00001002d000068FAsv00001043sd00008350* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) + + pci:v00001002d000068FAsv00001462sd00002128* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002184* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002186* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002495* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd0000B490* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001642sd00003985* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd00008153* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E180* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv000017AFsd00003015* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE +@@ -7863,16 +7863,16 @@ pci:v00001002d00007109* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] + + pci:v00001002d00007109sv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-in-Wonder X1800XL ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (All-in-Wonder X1800XL) + + pci:v00001002d00007109sv00001002sd00000D02* +- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (Radeon X1800 CrossFire Edition) + + pci:v00001002d0000710A* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] + + pci:v00001002d0000710Asv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=Radeon X1800 GTO² ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] (Radeon X1800 GTO²) + + pci:v00001002d0000710B* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] +@@ -7887,10 +7887,10 @@ pci:v00001002d00007129* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) + + pci:v00001002d00007129sv00001002sd00000323* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X1800 XL (Secondary) ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (All-In-Wonder X1800 XL (Secondary)) + + pci:v00001002d00007129sv00001002sd00000D03* +- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (Radeon X1800 CrossFire Edition (Secondary)) + + pci:v00001002d00007140* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550/X1600 Series] +@@ -7899,10 +7899,10 @@ pci:v00001002d00007142* + ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] + + pci:v00001002d00007142sv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition ++ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (All-in-Wonder 2006 PCI-E Edition) + + pci:v00001002d00007142sv00001043sd00000142* +- ID_MODEL_FROM_DATABASE=EAX1300PRO/TD/256M ++ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (EAX1300PRO/TD/256M) + + pci:v00001002d00007143* + ID_MODEL_FROM_DATABASE=RV505 [Radeon X1300/X1550 Series] +@@ -7911,16 +7911,16 @@ pci:v00001002d00007145* + ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] + + pci:v00001002d00007145sv000017AAsd00002006* +- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 ++ ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] (Thinkpad T60 model 2007) + + pci:v00001002d00007146* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] + + pci:v00001002d00007146sv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (All-in-Wonder 2006 PCI-E Edition) + + pci:v00001002d00007146sv00001545sd00001996* +- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (Radeon X1300 512MB PCI-e) + + pci:v00001002d00007147* + ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 64-bit] +@@ -7944,7 +7944,7 @@ pci:v00001002d00007162* + ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) + + pci:v00001002d00007162sv00001002sd00000323* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) + + pci:v00001002d00007163* + ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 Series] (Secondary) +@@ -7953,10 +7953,10 @@ pci:v00001002d00007166* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) + + pci:v00001002d00007166sv00001002sd00000323* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) + + pci:v00001002d00007166sv00001545sd00001997* +- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e (Secondary) ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (Radeon X1300 512MB PCI-e (Secondary)) + + pci:v00001002d00007167* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1550 64-bit] (Secondary) +@@ -7983,7 +7983,7 @@ pci:v00001002d00007188* + ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] + + pci:v00001002d00007188sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=6910p ++ ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] (6910p) + + pci:v00001002d0000718A* + ID_MODEL_FROM_DATABASE=RV516/M64 [Mobility Radeon X2300] +@@ -8028,16 +8028,16 @@ pci:v00001002d000071C0* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] + + pci:v00001002d000071C0sv00001002sd0000E160* +- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO ++ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) + + pci:v00001002d000071C0sv0000174Bsd0000E160* +- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO ++ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) + + pci:v00001002d000071C1* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] + + pci:v00001002d000071C1sv0000174Bsd00000880* +- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Radeon X1700 FSC) + + pci:v00001002d000071C2* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 PRO] +@@ -8046,22 +8046,22 @@ pci:v00001002d000071C4* + ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] + + pci:v00001002d000071C4sv000017AAsd00002007* +- ID_MODEL_FROM_DATABASE=ThinkPad T60p ++ ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] (ThinkPad T60p) + + pci:v00001002d000071C5* + ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] + + pci:v00001002d000071C5sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq nx9420 Notebook) + + pci:v00001002d000071C5sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq NW8440 ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq NW8440) + + pci:v00001002d000071C5sv00001043sd000010B2* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (A6J-Q008) + + pci:v00001002d000071C5sv0000106Bsd00000080* +- ID_MODEL_FROM_DATABASE=MacBook Pro ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (MacBook Pro) + + pci:v00001002d000071C6* + ID_MODEL_FROM_DATABASE=RV530LE [Radeon X1600/X1650 PRO] +@@ -8070,7 +8070,7 @@ pci:v00001002d000071C7* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] + + pci:v00001002d000071C7sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=PowerColor X1650 PRO AGP ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (PowerColor X1650 PRO AGP) + + pci:v00001002d000071CE* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1300 XT/X1600 PRO] +@@ -8094,13 +8094,13 @@ pci:v00001002d000071E0* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) + + pci:v00001002d000071E0sv0000174Bsd0000E161* +- ID_MODEL_FROM_DATABASE=Radeon X1600 GTO (Secondary) ++ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) (Radeon X1600 GTO (Secondary)) + + pci:v00001002d000071E1* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) + + pci:v00001002d000071E1sv0000174Bsd00000881* +- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC (Secondary) ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1700 FSC (Secondary)) + + pci:v00001002d000071E2* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) +@@ -8112,7 +8112,7 @@ pci:v00001002d000071E7* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) + + pci:v00001002d000071E7sv00001787sd00003001* +- ID_MODEL_FROM_DATABASE=Radeon X1650 PRO AGP ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1650 PRO AGP) + + pci:v00001002d000071F2* + ID_MODEL_FROM_DATABASE=RV530 GL [FireGL V3400] (Secondary) +@@ -8127,7 +8127,7 @@ pci:v00001002d00007240* + ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] + + pci:v00001002d00007240sv00001002sd00000D02* +- ID_MODEL_FROM_DATABASE=Radeon X1950 CrossFire Edition ++ ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] (Radeon X1950 CrossFire Edition) + + pci:v00001002d00007244* + ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XT] +@@ -8139,25 +8139,25 @@ pci:v00001002d00007249* + ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] + + pci:v00001002d00007249sv00001002sd00000412* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X1900 ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (All-In-Wonder X1900) + + pci:v00001002d00007249sv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=Radeon X1900 XT/XTX ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XT/XTX) + + pci:v00001002d00007249sv00001002sd00000D02* +- ID_MODEL_FROM_DATABASE=Radeon X1900 CrossFire Edition ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 CrossFire Edition) + + pci:v00001002d00007249sv00001043sd00000160* +- ID_MODEL_FROM_DATABASE=Radeon X1900 XTX 512 MB GDDR3 ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XTX 512 MB GDDR3) + + pci:v00001002d0000724B* + ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] + + pci:v00001002d0000724Bsv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=Radeon X1900 (Primary) ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Primary)) + + pci:v00001002d0000724Bsv00001002sd00000B13* +- ID_MODEL_FROM_DATABASE=Radeon X1900 (Secondary) ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Secondary)) + + pci:v00001002d0000724E* + ID_MODEL_FROM_DATABASE=R580 GL [FireGL V7350] +@@ -8181,7 +8181,7 @@ pci:v00001002d00007291* + ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] + + pci:v00001002d00007291sv00001462sd00000810* +- ID_MODEL_FROM_DATABASE=Radeon X1700 SE ++ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] (Radeon X1700 SE) + + pci:v00001002d00007293* + ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT] +@@ -8214,10 +8214,10 @@ pci:v00001002d00007910* + ID_MODEL_FROM_DATABASE=RS690 Host Bridge + + pci:v00001002d00007910sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (Satellite P305D-S8995E) + + pci:v00001002d00007910sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (KI690-AM2 Motherboard) + + pci:v00001002d00007911* + ID_MODEL_FROM_DATABASE=RS690 Host Bridge +@@ -8238,31 +8238,31 @@ pci:v00001002d00007917* + ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) + + pci:v00001002d00007917sv00001002sd00007910* +- ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge ++ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) (RS690 PCI to PCI Bridge) + + pci:v00001002d00007919* + ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] + + pci:v00001002d00007919sv00001179sd00007919* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (Satellite P305D-S8995E) + + pci:v00001002d00007919sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (KI690-AM2 Motherboard) + + pci:v00001002d0000791E* + ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] + + pci:v00001002d0000791Esv00001462sd00007327* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (K9AG Neo2) + + pci:v00001002d0000791Esv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (KI690-AM2 Motherboard) + + pci:v00001002d0000791F* + ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] + + pci:v00001002d0000791Fsv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] (Satellite P305D-S8995E) + + pci:v00001002d00007930* + ID_MODEL_FROM_DATABASE=RS600 Host Bridge +@@ -8301,13 +8301,13 @@ pci:v00001002d00009400* + ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] + + pci:v00001002d00009400sv00001002sd00002552* +- ID_MODEL_FROM_DATABASE=Radeon HD 2900 XT ++ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 XT) + + pci:v00001002d00009400sv00001002sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 2900 PRO ++ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 PRO) + + pci:v00001002d00009400sv00001002sd00003142* +- ID_MODEL_FROM_DATABASE=HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe ++ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe) + + pci:v00001002d00009401* + ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 XT] +@@ -8337,10 +8337,10 @@ pci:v00001002d00009442* + ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] + + pci:v00001002d00009442sv00001002sd00000502* +- ID_MODEL_FROM_DATABASE=MSI Radeon HD 4850 512MB GDDR3 ++ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (MSI Radeon HD 4850 512MB GDDR3) + + pci:v00001002d00009442sv0000174Bsd0000E810* +- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 ++ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (Radeon HD 4850 512MB GDDR3) + + pci:v00001002d00009443* + ID_MODEL_FROM_DATABASE=R700 [Radeon HD 4850 X2] +@@ -8364,7 +8364,7 @@ pci:v00001002d0000944E* + ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] + + pci:v00001002d0000944Esv0000174Bsd00003261* +- ID_MODEL_FROM_DATABASE=Radeon HD 4810 ++ ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] (Radeon HD 4810) + + pci:v00001002d00009450* + ID_MODEL_FROM_DATABASE=RV770 GL [FireStream 9270] +@@ -8391,7 +8391,7 @@ pci:v00001002d00009480* + ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] + + pci:v00001002d00009480sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4650 [dv6-1190en] ++ ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] (Mobility Radeon HD 4650 [dv6-1190en]) + + pci:v00001002d00009488* + ID_MODEL_FROM_DATABASE=RV730/M96-XT [Mobility Radeon HD 4670] +@@ -8403,7 +8403,7 @@ pci:v00001002d00009490* + ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] + + pci:v00001002d00009490sv0000174Bsd0000E880* +- ID_MODEL_FROM_DATABASE=Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO ++ ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] (Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO) + + pci:v00001002d00009491* + ID_MODEL_FROM_DATABASE=RV730/M96-CSP [Radeon E4690] +@@ -8412,19 +8412,19 @@ pci:v00001002d00009495* + ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] + + pci:v00001002d00009495sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650/4670 AGP ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650/4670 AGP) + + pci:v00001002d00009495sv00001092sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4670 AGP 512MB DDR2 ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4670 AGP 512MB DDR2) + + pci:v00001002d00009495sv00001458sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) + + pci:v00001002d00009495sv00001682sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) + + pci:v00001002d00009495sv0000174Bsd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP DDR2 ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP DDR2) + + pci:v00001002d00009498* + ID_MODEL_FROM_DATABASE=RV730 PRO [Radeon HD 4650] +@@ -8457,22 +8457,22 @@ pci:v00001002d000094C1* + ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] + + pci:v00001002d000094C1sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) + + pci:v00001002d000094C1sv00001028sd00000D02* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) + + pci:v00001002d000094C3* + ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] + + pci:v00001002d000094C3sv00001028sd00000302* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 Pro ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 Pro) + + pci:v00001002d000094C3sv0000174Bsd0000E400* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) + + pci:v00001002d000094C3sv000018BCsd00003550* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) + + pci:v00001002d000094C4* + ID_MODEL_FROM_DATABASE=RV610 LE [Radeon HD 2400 PRO AGP] +@@ -8490,7 +8490,7 @@ pci:v00001002d000094C9* + ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] + + pci:v00001002d000094C9sv00001002sd000094C9* +- ID_MODEL_FROM_DATABASE=Radeon HD2400 ++ ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] (Radeon HD2400) + + pci:v00001002d000094CB* + ID_MODEL_FROM_DATABASE=RV610 [Radeon E2400] +@@ -8505,7 +8505,7 @@ pci:v00001002d00009501* + ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] + + pci:v00001002d00009501sv0000174Bsd0000E620* +- ID_MODEL_FROM_DATABASE=Radeon HD 3870 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] (Radeon HD 3870) + + pci:v00001002d00009504* + ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850] +@@ -8514,13 +8514,13 @@ pci:v00001002d00009505* + ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] + + pci:v00001002d00009505sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3850 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3850) + + pci:v00001002d00009505sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3690/3850 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690/3850) + + pci:v00001002d00009505sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3690 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690) + + pci:v00001002d00009506* + ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850 X2] +@@ -8556,76 +8556,76 @@ pci:v00001002d0000954F* + ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] + + pci:v00001002d0000954Fsv00001462sd00001618* +- ID_MODEL_FROM_DATABASE=R4350 MD512H (MS-V161) ++ ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] (R4350 MD512H (MS-V161)) + + pci:v00001002d00009552* + ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] + + pci:v00001002d00009552sv00001028sd00001103* +- ID_MODEL_FROM_DATABASE=M92 [Mobility Radeon HD 4330] ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (M92 [Mobility Radeon HD 4330]) + + pci:v00001002d00009552sv00001458sd000021AC* +- ID_MODEL_FROM_DATABASE=Radeon HD 4350 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350) + + pci:v00001002d00009552sv00001458sd000021ED* +- ID_MODEL_FROM_DATABASE=Radeon HD 4550 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4550) + + pci:v00001002d00009552sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 4350 Go! Green 512MB GDDR3 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350 Go! Green 512MB GDDR3) + + pci:v00001002d00009552sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 4350/4550 HyperMemory DDR2 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350/4550 HyperMemory DDR2) + + pci:v00001002d00009553* + ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] + + pci:v00001002d00009553sv00001025sd0000015E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd0000017D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd00000205* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd00000206* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd00000237* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001028sd000002BE* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001028sd000002E8* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv0000103Csd00003624* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv0000103Csd00003636* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv00001043sd00001B32* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001043sd00001B42* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv0000104Dsd00009056* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001179sd0000FF82* +- ID_MODEL_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145) ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Satellite L505-13T GPU (Mobility Radeon HD 5145)) + + pci:v00001002d00009555* + ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] + + pci:v00001002d00009555sv0000103Csd00001411* +- ID_MODEL_FROM_DATABASE=ProBook 4720s GPU (Mobility Radeon HD 4350) ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] (ProBook 4720s GPU (Mobility Radeon HD 4350)) + + pci:v00001002d00009557* + ID_MODEL_FROM_DATABASE=RV711 GL [FirePro RG220] +@@ -8643,10 +8643,10 @@ pci:v00001002d00009583* + ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] + + pci:v00001002d00009583sv0000106Bsd00000083* +- ID_MODEL_FROM_DATABASE=iMac 7,1 ++ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (iMac 7,1) + + pci:v00001002d00009583sv00001734sd00001107* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 2700 ++ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (Mobility Radeon HD 2700) + + pci:v00001002d00009586* + ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT AGP] +@@ -8658,13 +8658,13 @@ pci:v00001002d00009588* + ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] + + pci:v00001002d00009588sv00001458sd0000216C* +- ID_MODEL_FROM_DATABASE=Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) ++ ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] (Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H)) + + pci:v00001002d00009589* + ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] + + pci:v00001002d00009589sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3610 ++ ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] (Radeon HD 3610) + + pci:v00001002d0000958A* + ID_MODEL_FROM_DATABASE=RV630 [Radeon HD 2600 X2] +@@ -8682,7 +8682,7 @@ pci:v00001002d00009591* + ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] + + pci:v00001002d00009591sv00001002sd00009591* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3650 ++ ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] (Mobility Radeon HD 3650) + + pci:v00001002d00009593* + ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3670] +@@ -8694,7 +8694,7 @@ pci:v00001002d00009596* + ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] + + pci:v00001002d00009596sv00001043sd00000028* +- ID_MODEL_FROM_DATABASE=EAH3650 SILENT/HTDI/512M/A ++ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] (EAH3650 SILENT/HTDI/512M/A) + + pci:v00001002d00009597* + ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] +@@ -8703,19 +8703,19 @@ pci:v00001002d00009598* + ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] + + pci:v00001002d00009598sv00001002sd00009598* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3600 ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Mobility Radeon HD 3600) + + pci:v00001002d00009598sv00001043sd000001D6* +- ID_MODEL_FROM_DATABASE=EAH3650 Silent ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (EAH3650 Silent) + + pci:v00001002d00009598sv00001043sd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 4570) + + pci:v00001002d00009598sv0000174Bsd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 3750 ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 3750) + + pci:v00001002d00009598sv0000174Bsd00004580* +- ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 4580] ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (RV635 PRO [Radeon HD 4580]) + + pci:v00001002d00009599* + ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] +@@ -8724,7 +8724,7 @@ pci:v00001002d000095C0* + ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] + + pci:v00001002d000095C0sv00001002sd000095C0* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3470 ++ ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] (Mobility Radeon HD 3470) + + pci:v00001002d000095C2* + ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3410/3430] +@@ -8733,13 +8733,13 @@ pci:v00001002d000095C4* + ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] + + pci:v00001002d000095C4sv00001002sd000095C4* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3400 ++ ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] (Mobility Radeon HD 3400) + + pci:v00001002d000095C5* + ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] + + pci:v00001002d000095C5sv00001028sd00000342* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] (OptiPlex 980) + + pci:v00001002d000095C6* + ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450 AGP] +@@ -8760,7 +8760,7 @@ pci:v00001002d00009610* + ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] + + pci:v00001002d00009610sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-MA78GM-S2H Motherboard ++ ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] (GA-MA78GM-S2H Motherboard) + + pci:v00001002d00009611* + ID_MODEL_FROM_DATABASE=RS780C [Radeon 3100] +@@ -8823,22 +8823,22 @@ pci:v00001002d0000970F* + ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] + + pci:v00001002d0000970Fsv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (A785GM-M) + + pci:v00001002d0000970Fsv00001043sd000083A2* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M4A785TD Motherboard) + + pci:v00001002d0000970Fsv00001043sd0000843E* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M5A88-V EVO) + + pci:v00001002d00009710* + ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] + + pci:v00001002d00009710sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (A785GM-M) + + pci:v00001002d00009710sv00001043sd000083A2* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (M4A785TD Motherboard) + + pci:v00001002d00009712* + ID_MODEL_FROM_DATABASE=RS880M [Mobility Radeon HD 4225/4250] +@@ -8853,13 +8853,13 @@ pci:v00001002d00009715* + ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] + + pci:v00001002d00009715sv00001043sd0000843E* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] (M5A88-V EVO) + + pci:v00001002d00009802* + ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] + + pci:v00001002d00009802sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] (PURE Fusion Mini) + + pci:v00001002d00009803* + ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] +@@ -8991,16 +8991,16 @@ pci:v00001002d00009902* + ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller + + pci:v00001002d00009902sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller (ProBook 455 G1 Notebook) + + pci:v00001002d00009903* + ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] + + pci:v00001002d00009903sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) + + pci:v00001002d00009903sv0000103Csd00001952* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) + + pci:v00001002d00009904* + ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7560D] +@@ -9114,10 +9114,10 @@ pci:v00001002d0000AA10* + ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] + + pci:v00001002d0000AA10sv0000174Bsd0000AA10* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) + + pci:v00001002d0000AA10sv000018BCsd0000AA10* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) + + pci:v00001002d0000AA18* + ID_MODEL_FROM_DATABASE=RV670/680 HDMI Audio [Radeon HD 3690/3800 Series] +@@ -9132,13 +9132,13 @@ pci:v00001002d0000AA30* + ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] + + pci:v00001002d0000AA30sv0000174Bsd0000AA30* +- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink ++ ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] (Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink) + + pci:v00001002d0000AA38* + ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] + + pci:v00001002d0000AA38sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] (dv6-1190en) + + pci:v00001002d0000AA50* + ID_MODEL_FROM_DATABASE=Cypress HDMI Audio [Radeon HD 5800 Series] +@@ -9150,16 +9150,16 @@ pci:v00001002d0000AA60* + ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] + + pci:v00001002d0000AA60sv00001025sd0000033D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Mobility Radeon HD 5650) + + pci:v00001002d0000AA60sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Aspire 7740G) + + pci:v00001002d0000AA68* + ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] + + pci:v00001002d0000AA68sv00001028sd0000AA68* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] (XPS 8300) + + pci:v00001002d0000AA80* + ID_MODEL_FROM_DATABASE=Cayman/Antilles HDMI Audio [Radeon HD 6900 Series] +@@ -9171,13 +9171,13 @@ pci:v00001002d0000AA90* + ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] + + pci:v00001002d0000AA90sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] (Precision M4600) + + pci:v00001002d0000AA98* + ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] + + pci:v00001002d0000AA98sv0000174Bsd0000AA98* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1GB DDR3 ++ ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] (Radeon HD 6450 1GB DDR3) + + pci:v00001002d0000AAA0* + ID_MODEL_FROM_DATABASE=Tahiti XT HDMI Audio [Radeon HD 7970 Series] +@@ -9264,10 +9264,10 @@ pci:v00001004d00000304sv00001004sd00000304* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio + + pci:v00001004d00000304sv0000122Dsd00001206* +- ID_MODEL_FROM_DATABASE=DSP368 Audio ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (DSP368 Audio) + + pci:v00001004d00000304sv00001483sd00005020* +- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (XWave Thunder 3D Audio) + + pci:v00001004d00000305* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport +@@ -9276,10 +9276,10 @@ pci:v00001004d00000305sv00001004sd00000305* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport + + pci:v00001004d00000305sv0000122Dsd00001207* +- ID_MODEL_FROM_DATABASE=DSP368 Audio Gameport ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (DSP368 Audio Gameport) + + pci:v00001004d00000305sv00001483sd00005021* +- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Gameport ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (XWave Thunder 3D Audio Gameport) + + pci:v00001004d00000306* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers +@@ -9288,22 +9288,22 @@ pci:v00001004d00000306sv00001004sd00000306* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers + + pci:v00001004d00000306sv0000122Dsd00001208* +- ID_MODEL_FROM_DATABASE=DSP368 Audio Support Registers ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (DSP368 Audio Support Registers) + + pci:v00001004d00000306sv00001483sd00005022* +- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Support Registers ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (XWave Thunder 3D Audio Support Registers) + + pci:v00001004d00000307* + ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio + + pci:v00001004d00000307sv00001004sd00000703* +- ID_MODEL_FROM_DATABASE=Philips Rhythmic Edge PSC703 ++ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Rhythmic Edge PSC703) + + pci:v00001004d00000307sv00001004sd00000705* +- ID_MODEL_FROM_DATABASE=Philips Seismic Edge PSC705 ++ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Seismic Edge PSC705) + + pci:v00001004d00000307sv00001004sd00000706* +- ID_MODEL_FROM_DATABASE=Philips Acoustic Edge PSC706 ++ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Acoustic Edge PSC706) + + pci:v00001004d00000308* + ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio Gameport +@@ -9375,16 +9375,16 @@ pci:v0000100Bd00000020* + ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller + + pci:v0000100Bd00000020sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Network ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Pavilion ze4400 builtin Network) + + pci:v0000100Bd00000020sv000012D9sd0000000C* +- ID_MODEL_FROM_DATABASE=Aculab E1/T1 PMXc cPCI carrier card ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Aculab E1/T1 PMXc cPCI carrier card) + + pci:v0000100Bd00000020sv00001385sd0000F311* +- ID_MODEL_FROM_DATABASE=FA311 / FA312 (FA311 with WoL HW) ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA311 / FA312 (FA311 with WoL HW)) + + pci:v0000100Bd00000020sv00001385sd0000F312* +- ID_MODEL_FROM_DATABASE=FA312 (rev. A1) Fast Ethernet PCI Adapter ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA312 (rev. A1) Fast Ethernet PCI Adapter) + + pci:v0000100Bd00000021* + ID_MODEL_FROM_DATABASE=PC87200 PCI to ISA Bridge +@@ -9393,13 +9393,13 @@ pci:v0000100Bd00000022* + ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller + + pci:v0000100Bd00000022sv00001186sd00004900* +- ID_MODEL_FROM_DATABASE=DGE-500T ++ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (DGE-500T) + + pci:v0000100Bd00000022sv00001385sd0000621A* +- ID_MODEL_FROM_DATABASE=GA621 ++ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA621) + + pci:v0000100Bd00000022sv00001385sd0000622A* +- ID_MODEL_FROM_DATABASE=GA622T ++ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA622T) + + pci:v0000100Bd00000028* + ID_MODEL_FROM_DATABASE=Geode GX2 Host Bridge +@@ -9435,13 +9435,13 @@ pci:v0000100Bd00000502* + ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller + + pci:v0000100Bd00000502sv0000100Bsd00000502* +- ID_MODEL_FROM_DATABASE=IDE Controller ++ ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller (IDE Controller) + + pci:v0000100Bd00000503* + ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller + + pci:v0000100Bd00000503sv0000100Bsd00000503* +- ID_MODEL_FROM_DATABASE=XpressAudio controller ++ ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller (XpressAudio controller) + + pci:v0000100Bd00000504* + ID_MODEL_FROM_DATABASE=SCx200 Video +@@ -9453,19 +9453,19 @@ pci:v0000100Bd00000510* + ID_MODEL_FROM_DATABASE=SC1100 Bridge + + pci:v0000100Bd00000510sv0000100Bsd00000500* +- ID_MODEL_FROM_DATABASE=GPIO and LPC support bridge ++ ID_MODEL_FROM_DATABASE=SC1100 Bridge (GPIO and LPC support bridge) + + pci:v0000100Bd00000511* + ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI + + pci:v0000100Bd00000511sv0000100Bsd00000501* +- ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI bridge ++ ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI (bridge) + + pci:v0000100Bd00000515* + ID_MODEL_FROM_DATABASE=SC1100 XBus + + pci:v0000100Bd00000515sv0000100Bsd00000505* +- ID_MODEL_FROM_DATABASE=SC1100 PCI to XBus bridge ++ ID_MODEL_FROM_DATABASE=SC1100 XBus (SC1100 PCI to XBus bridge) + + pci:v0000100Bd0000D001* + ID_MODEL_FROM_DATABASE=87410 IDE +@@ -9534,55 +9534,55 @@ pci:v00001011d00000009* + ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] + + pci:v00001011d00000009sv00001025sd00000310* +- ID_MODEL_FROM_DATABASE=21140 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (21140 Fast Ethernet) + + pci:v00001011d00000009sv000010B8sd00002001* +- ID_MODEL_FROM_DATABASE=SMC9332BDT EtherPower 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BDT EtherPower 10/100) + + pci:v00001011d00000009sv000010B8sd00002002* +- ID_MODEL_FROM_DATABASE=SMC9332BVT EtherPower T4 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BVT EtherPower T4 10/100) + + pci:v00001011d00000009sv000010B8sd00002003* +- ID_MODEL_FROM_DATABASE=SMC9334BDT EtherPower 10/100 (1-port) ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9334BDT EtherPower 10/100 (1-port)) + + pci:v00001011d00000009sv00001109sd00002400* +- ID_MODEL_FROM_DATABASE=ANA-6944A/TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (ANA-6944A/TX Fast Ethernet) + + pci:v00001011d00000009sv00001112sd00002300* +- ID_MODEL_FROM_DATABASE=RNS2300 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2300 Fast Ethernet) + + pci:v00001011d00000009sv00001112sd00002320* +- ID_MODEL_FROM_DATABASE=RNS2320 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2320 Fast Ethernet) + + pci:v00001011d00000009sv00001112sd00002340* +- ID_MODEL_FROM_DATABASE=RNS2340 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2340 Fast Ethernet) + + pci:v00001011d00000009sv00001113sd00001207* +- ID_MODEL_FROM_DATABASE=EN-1207-TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (EN-1207-TX Fast Ethernet) + + pci:v00001011d00000009sv00001186sd00001100* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-500TX Fast Ethernet) + + pci:v00001011d00000009sv00001186sd00001112* +- ID_MODEL_FROM_DATABASE=DFE-570TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-570TX Fast Ethernet) + + pci:v00001011d00000009sv00001186sd00001140* +- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) + + pci:v00001011d00000009sv00001186sd00001142* +- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) + + pci:v00001011d00000009sv000011F6sd00000503* +- ID_MODEL_FROM_DATABASE=Freedomline Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (Freedomline Fast Ethernet) + + pci:v00001011d00000009sv00001282sd00009100* +- ID_MODEL_FROM_DATABASE=AEF-380TXD Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (AEF-380TXD Fast Ethernet) + + pci:v00001011d00000009sv00001385sd00001100* +- ID_MODEL_FROM_DATABASE=FA310TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (FA310TX Fast Ethernet) + + pci:v00001011d00000009sv00002646sd00000001* +- ID_MODEL_FROM_DATABASE=KNE100TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (KNE100TX Fast Ethernet) + + pci:v00001011d0000000A* + ID_MODEL_FROM_DATABASE=21230 Video Codec +@@ -9594,16 +9594,16 @@ pci:v00001011d0000000F* + ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] + + pci:v00001011d0000000Fsv00001011sd0000DEF1* +- ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) ++ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (DEFPA)) + + pci:v00001011d0000000Fsv0000103Csd0000DEF1* +- ID_MODEL_FROM_DATABASE=FDDI controller (3X-DEFPA) ++ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (3X-DEFPA)) + + pci:v00001011d00000014* + ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] + + pci:v00001011d00000014sv00001186sd00000100* +- ID_MODEL_FROM_DATABASE=DE-530+ ++ ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] (DE-530+) + + pci:v00001011d00000016* + ID_MODEL_FROM_DATABASE=DGLPB [OPPO] +@@ -9618,133 +9618,133 @@ pci:v00001011d00000019* + ID_MODEL_FROM_DATABASE=DECchip 21142/43 + + pci:v00001011d00000019sv00001011sd0000500A* +- ID_MODEL_FROM_DATABASE=DE500A Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500A Fast Ethernet) + + pci:v00001011d00000019sv00001011sd0000500B* +- ID_MODEL_FROM_DATABASE=DE500B Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500B Fast Ethernet) + + pci:v00001011d00000019sv00001014sd00000001* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 EtherJet Cardbus) + + pci:v00001011d00000019sv00001025sd00000315* +- ID_MODEL_FROM_DATABASE=ALN315 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ALN315 Fast Ethernet) + + pci:v00001011d00000019sv00001033sd0000800C* +- ID_MODEL_FROM_DATABASE=PC-9821-CS01 100BASE-TX Interface Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821-CS01 100BASE-TX Interface Card) + + pci:v00001011d00000019sv00001033sd0000800D* +- ID_MODEL_FROM_DATABASE=PC-9821NR-B06 100BASE-TX Interface Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821NR-B06 100BASE-TX Interface Card) + + pci:v00001011d00000019sv0000103Csd0000125A* +- ID_MODEL_FROM_DATABASE=10/100Base-TX (PCI) [A5506B] ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100Base-TX (PCI) [A5506B]) + + pci:v00001011d00000019sv0000108Dsd00000016* +- ID_MODEL_FROM_DATABASE=Rapidfire 2327 10/100 Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Rapidfire 2327 10/100 Ethernet) + + pci:v00001011d00000019sv0000108Dsd00000017* +- ID_MODEL_FROM_DATABASE=GoCard 2250 Ethernet 10/100 Cardbus ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (GoCard 2250 Ethernet 10/100 Cardbus) + + pci:v00001011d00000019sv000010B8sd00002005* +- ID_MODEL_FROM_DATABASE=SMC8032DT Extreme Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8032DT Extreme Ethernet 10/100) + + pci:v00001011d00000019sv000010B8sd00008034* +- ID_MODEL_FROM_DATABASE=SMC8034 Extreme Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8034 Extreme Ethernet 10/100) + + pci:v00001011d00000019sv000010EFsd00008169* +- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) + + pci:v00001011d00000019sv00001109sd00002A00* +- ID_MODEL_FROM_DATABASE=ANA-6911A/TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TX Fast Ethernet) + + pci:v00001011d00000019sv00001109sd00002B00* +- ID_MODEL_FROM_DATABASE=ANA-6911A/TXC Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TXC Fast Ethernet) + + pci:v00001011d00000019sv00001109sd00003000* +- ID_MODEL_FROM_DATABASE=ANA-6922/TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6922/TX Fast Ethernet) + + pci:v00001011d00000019sv00001113sd00001207* +- ID_MODEL_FROM_DATABASE=Cheetah Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cheetah Fast Ethernet) + + pci:v00001011d00000019sv00001113sd00002220* +- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) + + pci:v00001011d00000019sv0000115Dsd00000002* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet 10/100) + + pci:v00001011d00000019sv00001179sd00000203* +- ID_MODEL_FROM_DATABASE=Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Fast Ethernet) + + pci:v00001011d00000019sv00001179sd00000204* +- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001100* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001101* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001102* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001112* +- ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-570TX Quad Fast Ethernet) + + pci:v00001011d00000019sv000011F0sd00004235* +- ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (21143 [FASTLine-II UTP 10/100]) + + pci:v00001011d00000019sv00001259sd00002800* +- ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (AT-2800Tx Fast Ethernet) + + pci:v00001011d00000019sv00001266sd00000004* +- ID_MODEL_FROM_DATABASE=Eagle Fast EtherMAX ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Eagle Fast EtherMAX) + + pci:v00001011d00000019sv000012AFsd00000019* +- ID_MODEL_FROM_DATABASE=NetFlyer Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (NetFlyer Cardbus Fast Ethernet) + + pci:v00001011d00000019sv00001374sd00000001* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001374sd00000002* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001374sd00000007* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001374sd00000008* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001385sd00002100* +- ID_MODEL_FROM_DATABASE=FA510 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FA510) + + pci:v00001011d00000019sv00001395sd00000001* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet CardBus PC Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 Ethernet CardBus PC Card) + + pci:v00001011d00000019sv000013D1sd0000AB01* +- ID_MODEL_FROM_DATABASE=EtherFast 10/100 Cardbus (PCMPC200) ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherFast 10/100 Cardbus (PCMPC200)) + + pci:v00001011d00000019sv00001498sd0000000A* +- ID_MODEL_FROM_DATABASE=TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter) + + pci:v00001011d00000019sv00001498sd0000000B* +- ID_MODEL_FROM_DATABASE=TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter) + + pci:v00001011d00000019sv00001498sd0000000C* +- ID_MODEL_FROM_DATABASE=TPMC880-12 Single 10Base2 PMC Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-12 Single 10Base2 PMC Ethernet Adapter) + + pci:v00001011d00000019sv000014CBsd00000100* +- ID_MODEL_FROM_DATABASE=LNDL-100N 100Base-TX Ethernet PC Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (LNDL-100N 100Base-TX Ethernet PC Card) + + pci:v00001011d00000019sv00001668sd00002000* +- ID_MODEL_FROM_DATABASE=FastNet Pro (PE2000) ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FastNet Pro (PE2000)) + + pci:v00001011d00000019sv00002646sd00000001* +- ID_MODEL_FROM_DATABASE=KNE100TX ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE100TX) + + pci:v00001011d00000019sv00002646sd00000002* +- ID_MODEL_FROM_DATABASE=KNE-CB4TX ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE-CB4TX) + + pci:v00001011d00000019sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherExpress PRO/100 Mobile CardBus 32) + + pci:v00001011d0000001A* + ID_MODEL_FROM_DATABASE=Farallon PN9000SX Gigabit Ethernet +@@ -9780,46 +9780,46 @@ pci:v00001011d00000046* + ID_MODEL_FROM_DATABASE=DECchip 21554 + + pci:v00001011d00000046sv00000E11sd00004050* +- ID_MODEL_FROM_DATABASE=Smart Array 4200 Controller ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4200 Controller) + + pci:v00001011d00000046sv00000E11sd00004051* +- ID_MODEL_FROM_DATABASE=Smart Array 4250ES Controller ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4250ES Controller) + + pci:v00001011d00000046sv00000E11sd00004058* +- ID_MODEL_FROM_DATABASE=Smart Array 431 Controller ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 431 Controller) + + pci:v00001011d00000046sv0000103Csd000010C2* +- ID_MODEL_FROM_DATABASE=NetRAID-4M ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (NetRAID-4M) + + pci:v00001011d00000046sv000012D9sd0000000A* +- ID_MODEL_FROM_DATABASE=IP Telephony card ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (IP Telephony card) + + pci:v00001011d00000046sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (CT7 mainboard) + + pci:v00001011d00000046sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (CE7 mainboard) + + pci:v00001011d00000046sv00009005sd00000364* +- ID_MODEL_FROM_DATABASE=5400S (Mustang) ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) + + pci:v00001011d00000046sv00009005sd00000365* +- ID_MODEL_FROM_DATABASE=5400S (Mustang) ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) + + pci:v00001011d00000046sv00009005sd00001364* +- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) + + pci:v00001011d00000046sv00009005sd00001365* +- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) + + pci:v00001011d00000046sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CC8-1-BLUES ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (CC8-1-BLUES) + + pci:v00001011d00001065* + ID_MODEL_FROM_DATABASE=StrongARM DC21285 + + pci:v00001011d00001065sv00001069sd00000020* +- ID_MODEL_FROM_DATABASE=DAC960P / DAC1164P ++ ID_MODEL_FROM_DATABASE=StrongARM DC21285 (DAC960P / DAC1164P) + + pci:v00001012* + ID_VENDOR_FROM_DATABASE=Micronics Computers Inc +@@ -9858,13 +9858,13 @@ pci:v00001013d000000B8* + ID_MODEL_FROM_DATABASE=GD 5446 + + pci:v00001013d000000B8sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=GD 5446 (QEMU Virtual Machine) + + pci:v00001013d000000BC* + ID_MODEL_FROM_DATABASE=GD 5480 + + pci:v00001013d000000BCsv00001013sd000000BC* +- ID_MODEL_FROM_DATABASE=CL-GD5480 ++ ID_MODEL_FROM_DATABASE=GD 5480 (CL-GD5480) + + pci:v00001013d000000D0* + ID_MODEL_FROM_DATABASE=GD 5462 +@@ -9882,10 +9882,10 @@ pci:v00001013d000000D6* + ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] + + pci:v00001013d000000D6sv000013CEsd00008031* +- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) + + pci:v00001013d000000D6sv000013CFsd00008031* +- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) + + pci:v00001013d000000E8* + ID_MODEL_FROM_DATABASE=GD 5436U +@@ -9921,34 +9921,34 @@ pci:v00001013d00006001* + ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] + + pci:v00001013d00006001sv00001014sd00001010* +- ID_MODEL_FROM_DATABASE=CS4610 SoundFusion Audio Accelerator ++ ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] (CS4610 SoundFusion Audio Accelerator) + + pci:v00001013d00006003* + ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] + + pci:v00001013d00006003sv00001013sd00004280* +- ID_MODEL_FROM_DATABASE=Crystal SoundFusion PCI Audio Accelerator ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Crystal SoundFusion PCI Audio Accelerator) + + pci:v00001013d00006003sv00001014sd00000153* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A20m ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (ThinkPad 600X/A20m) + + pci:v00001013d00006003sv0000153Bsd0000112E* +- ID_MODEL_FROM_DATABASE=DMX XFire 1024 ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (DMX XFire 1024) + + pci:v00001013d00006003sv0000153Bsd00001136* +- ID_MODEL_FROM_DATABASE=SiXPack 5.1+ ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (SiXPack 5.1+) + + pci:v00001013d00006003sv00001681sd00000050* +- ID_MODEL_FROM_DATABASE=Game Theater XP ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Game Theater XP) + + pci:v00001013d00006003sv00001681sd0000A010* +- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo II ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo II) + + pci:v00001013d00006003sv00001681sd0000A011* +- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo III 7.1 ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo III 7.1) + + pci:v00001013d00006003sv00005053sd00003357* +- ID_MODEL_FROM_DATABASE=Santa Cruz ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Santa Cruz) + + pci:v00001013d00006004* + ID_MODEL_FROM_DATABASE=CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] +@@ -10029,16 +10029,16 @@ pci:v00001014d0000002E* + ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] + + pci:v00001014d0000002Esv00001014sd0000002E* +- ID_MODEL_FROM_DATABASE=ServeRAID-3x ++ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-3x) + + pci:v00001014d0000002Esv00001014sd0000022E* +- ID_MODEL_FROM_DATABASE=ServeRAID-4H ++ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-4H) + + pci:v00001014d00000031* + ID_MODEL_FROM_DATABASE=2 Port Serial Adapter + + pci:v00001014d00000031sv00001014sd00000031* +- ID_MODEL_FROM_DATABASE=2721 WAN IOA - 2 Port Sync Serial Adapter ++ ID_MODEL_FROM_DATABASE=2 Port Serial Adapter (2721 WAN IOA - 2 Port Sync Serial Adapter) + + pci:v00001014d00000036* + ID_MODEL_FROM_DATABASE=PCI to 32-bit LocalBus Bridge [Miami] +@@ -10056,25 +10056,25 @@ pci:v00001014d0000003E* + ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller + + pci:v00001014d0000003Esv00001014sd0000003E* +- ID_MODEL_FROM_DATABASE=Token-Ring Adapter ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter) + + pci:v00001014d0000003Esv00001014sd000000CD* +- ID_MODEL_FROM_DATABASE=Token-Ring Adapter + Wake-On-LAN ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter + Wake-On-LAN) + + pci:v00001014d0000003Esv00001014sd000000CE* +- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2) + + pci:v00001014d0000003Esv00001014sd000000CF* +- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter Special ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter Special) + + pci:v00001014d0000003Esv00001014sd000000E4* +- ID_MODEL_FROM_DATABASE=High-Speed 100/16/4 Token-Ring Adapter ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (High-Speed 100/16/4 Token-Ring Adapter) + + pci:v00001014d0000003Esv00001014sd000000E5* +- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 + Wake-On-LAN ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2 + Wake-On-LAN) + + pci:v00001014d0000003Esv00001014sd0000016D* +- ID_MODEL_FROM_DATABASE=iSeries 2744 Card ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (iSeries 2744 Card) + + pci:v00001014d00000045* + ID_MODEL_FROM_DATABASE=SSA Adapter +@@ -10131,7 +10131,7 @@ pci:v00001014d00000090* + ID_MODEL_FROM_DATABASE=GXT 3000P + + pci:v00001014d00000090sv00001014sd0000008E* +- ID_MODEL_FROM_DATABASE=GXT-3000P ++ ID_MODEL_FROM_DATABASE=GXT 3000P (GXT-3000P) + + pci:v00001014d00000091* + ID_MODEL_FROM_DATABASE=SSA Adapter +@@ -10143,13 +10143,13 @@ pci:v00001014d00000096* + ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller + + pci:v00001014d00000096sv00001014sd00000097* +- ID_MODEL_FROM_DATABASE=iSeries 2778 DASD IOA ++ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2778 DASD IOA) + + pci:v00001014d00000096sv00001014sd00000098* +- ID_MODEL_FROM_DATABASE=iSeries 2763 DASD IOA ++ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2763 DASD IOA) + + pci:v00001014d00000096sv00001014sd00000099* +- ID_MODEL_FROM_DATABASE=iSeries 2748 DASD IOA ++ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2748 DASD IOA) + + pci:v00001014d0000009F* + ID_MODEL_FROM_DATABASE=PCI 4758 Cryptographic Accelerator +@@ -10164,7 +10164,7 @@ pci:v00001014d000000B7* + ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] + + pci:v00001014d000000B7sv00001092sd000000B8* +- ID_MODEL_FROM_DATABASE=FireGL1 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] (FireGL1 AGP 32Mb) + + pci:v00001014d000000B8* + ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter +@@ -10188,13 +10188,13 @@ pci:v00001014d00000142* + ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input + + pci:v00001014d00000142sv00001014sd00000143* +- ID_MODEL_FROM_DATABASE=Yotta Input Controller (ytin) ++ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input (Yotta Input Controller (ytin)) + + pci:v00001014d00000144* + ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output + + pci:v00001014d00000144sv00001014sd00000145* +- ID_MODEL_FROM_DATABASE=Yotta Output Controller (ytout) ++ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output (Yotta Output Controller (ytout)) + + pci:v00001014d00000156* + ID_MODEL_FROM_DATABASE=405GP PLB to PCI Bridge +@@ -10218,10 +10218,10 @@ pci:v00001014d00000180* + ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller + + pci:v00001014d00000180sv00001014sd00000241* +- ID_MODEL_FROM_DATABASE=iSeries 2757 DASD IOA ++ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (iSeries 2757 DASD IOA) + + pci:v00001014d00000180sv00001014sd00000264* +- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X U320 SCSI RAID Adapter (2780) ++ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (Quad Channel PCI-X U320 SCSI RAID Adapter (2780)) + + pci:v00001014d00000188* + ID_MODEL_FROM_DATABASE=EADS-X PCI-X to PCI-X Bridge +@@ -10233,28 +10233,28 @@ pci:v00001014d000001BD* + ID_MODEL_FROM_DATABASE=ServeRAID Controller + + pci:v00001014d000001BDsv00001014sd000001BD* +- ID_MODEL_FROM_DATABASE=ServeRAID 4Lx ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 4Lx) + + pci:v00001014d000001BDsv00001014sd000001BE* +- ID_MODEL_FROM_DATABASE=ServeRAID-4M ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4M) + + pci:v00001014d000001BDsv00001014sd000001BF* +- ID_MODEL_FROM_DATABASE=ServeRAID-4L ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4L) + + pci:v00001014d000001BDsv00001014sd00000208* +- ID_MODEL_FROM_DATABASE=ServeRAID-4Mx ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Mx) + + pci:v00001014d000001BDsv00001014sd0000020E* +- ID_MODEL_FROM_DATABASE=ServeRAID-4Lx ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Lx) + + pci:v00001014d000001BDsv00001014sd0000022E* +- ID_MODEL_FROM_DATABASE=ServeRAID-4H ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4H) + + pci:v00001014d000001BDsv00001014sd00000258* +- ID_MODEL_FROM_DATABASE=ServeRAID-5i ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) + + pci:v00001014d000001BDsv00001014sd00000259* +- ID_MODEL_FROM_DATABASE=ServeRAID-5i ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) + + pci:v00001014d000001C1* + ID_MODEL_FROM_DATABASE=64bit/66MHz PCI ATM 155 UTP +@@ -10266,10 +10266,10 @@ pci:v00001014d000001EF* + ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge + + pci:v00001014d000001EFsv00001734sd0000102B* +- ID_MODEL_FROM_DATABASE=PCEAS PCI-X Dual Port ESCON Adapter ++ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAS PCI-X Dual Port ESCON Adapter) + + pci:v00001014d000001EFsv00001734sd000010F8* +- ID_MODEL_FROM_DATABASE=PCEAT PCI-Express Dual Port ESCON Adapter ++ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAT PCI-Express Dual Port ESCON Adapter) + + pci:v00001014d000001FF* + ID_MODEL_FROM_DATABASE=10/100 Mbps Ethernet +@@ -10278,13 +10278,13 @@ pci:v00001014d00000219* + ID_MODEL_FROM_DATABASE=Multiport Serial Adapter + + pci:v00001014d00000219sv00001014sd0000021A* +- ID_MODEL_FROM_DATABASE=Dual RVX ++ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Dual RVX) + + pci:v00001014d00000219sv00001014sd00000251* +- ID_MODEL_FROM_DATABASE=Internal Modem/RVX ++ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Internal Modem/RVX) + + pci:v00001014d00000219sv00001014sd00000252* +- ID_MODEL_FROM_DATABASE=Quad Internal Modem ++ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Quad Internal Modem) + + pci:v00001014d0000021B* + ID_MODEL_FROM_DATABASE=GXT6500P Graphics Adapter +@@ -10299,16 +10299,16 @@ pci:v00001014d0000028C* + ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller + + pci:v00001014d0000028Csv00001014sd0000028D* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR SAS RAID Adapter (572E) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR SAS RAID Adapter (572E)) + + pci:v00001014d0000028Csv00001014sd000002BE* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)) + + pci:v00001014d0000028Csv00001014sd000002C0* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI Adapter (571A) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI Adapter (571A)) + + pci:v00001014d0000028Csv00001014sd0000030D* +- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575B) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575B)) + + pci:v00001014d000002A1* + ID_MODEL_FROM_DATABASE=Calgary PCI-X Host Bridge +@@ -10317,13 +10317,13 @@ pci:v00001014d000002BD* + ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller + + pci:v00001014d000002BDsv00001014sd000002C1* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) + + pci:v00001014d000002BDsv00001014sd000002C2* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)) + + pci:v00001014d000002BDsv00001014sd00000338* +- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575C) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575C)) + + pci:v00001014d00000302* + ID_MODEL_FROM_DATABASE=Winnipeg PCI-X Host Bridge +@@ -10338,88 +10338,88 @@ pci:v00001014d0000032D* + ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip + + pci:v00001014d0000032Dsv00001014sd000003A1* +- ID_MODEL_FROM_DATABASE=PCIe PowerXCell 8i Cell Accelerator Board ++ ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip (PCIe PowerXCell 8i Cell Accelerator Board) + + pci:v00001014d00000339* + ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller + + pci:v00001014d00000339sv00001014sd0000030A* +- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS RAID Adapter (574E) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS RAID Adapter (574E)) + + pci:v00001014d00000339sv00001014sd0000033A* +- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS Adapter (57B3) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS Adapter (57B3)) + + pci:v00001014d00000339sv00001014sd0000035C* +- ID_MODEL_FROM_DATABASE=PCIe x8 Internal 3Gb SAS adapter (57CC) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe x8 Internal 3Gb SAS adapter (57CC)) + + pci:v00001014d00000339sv00001014sd00000360* +- ID_MODEL_FROM_DATABASE=PCI-E Auxiliary Cache Adapter (57B7) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCI-E Auxiliary Cache Adapter (57B7)) + + pci:v00001014d0000033D* + ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) + + pci:v00001014d0000033Dsv00001014sd0000033C* +- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5)) + + pci:v00001014d0000033Dsv00001014sd00000353* +- ID_MODEL_FROM_DATABASE=PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3)) + + pci:v00001014d0000033Dsv00001014sd00000354* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Dual-port (57C4) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Dual-port (57C4)) + + pci:v00001014d0000033Dsv00001014sd00000356* +- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D)) + + pci:v00001014d0000033Dsv00001014sd0000035F* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57B2) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Quad-port (57B2)) + + pci:v00001014d0000034A* + ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) + + pci:v00001014d0000034Asv00001014sd0000033B* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS RAID Adapter Quad-port (57B4) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)) + + pci:v00001014d0000034Asv00001014sd00000355* +- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1)) + + pci:v00001014d0000034Asv00001014sd00000357* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57C6) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS Adapter Quad-port (57C6)) + + pci:v00001014d0000034Asv00001014sd0000035D* +- ID_MODEL_FROM_DATABASE=PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8)) + + pci:v00001014d0000034Asv00001014sd0000035E* +- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE)) + + pci:v00001014d0000034Asv00001014sd000003FB* +- ID_MODEL_FROM_DATABASE=PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5)) + + pci:v00001014d0000034Asv00001014sd000003FE* +- ID_MODEL_FROM_DATABASE=PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8)) + + pci:v00001014d0000034Asv00001014sd000003FF* +- ID_MODEL_FROM_DATABASE=PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7)) + + pci:v00001014d0000034Asv00001014sd00000474* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB)) + + pci:v00001014d0000034Asv00001014sd00000475* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC)) + + pci:v00001014d0000034Asv00001014sd00000499* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED)) + + pci:v00001014d0000034Asv00001014sd0000049A* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE)) + + pci:v00001014d0000034Asv00001014sd000004C7* +- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA)) + + pci:v00001014d0000034Asv00001014sd000004C8* +- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2)) + + pci:v00001014d0000034Asv00001014sd00000C49* +- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) + + pci:v00001014d000004AA* + ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) +@@ -10461,13 +10461,13 @@ pci:v0000101Ad00000007* + ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G + + pci:v0000101Ad00000007sv0000101Asd00000019* +- ID_MODEL_FROM_DATABASE=BYNET BIC2C ++ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2C) + + pci:v0000101Ad00000007sv0000101Asd0000001C* +- ID_MODEL_FROM_DATABASE=BYNET BIC2G ++ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2G) + + pci:v0000101Ad00000007sv0000101Asd0000001F* +- ID_MODEL_FROM_DATABASE=BYNET BIC4G ++ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC4G) + + pci:v0000101Ad00000009* + ID_MODEL_FROM_DATABASE=PQS Memory Controller +@@ -10488,19 +10488,19 @@ pci:v0000101Ad00001DC1* + ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M + + pci:v0000101Ad00001DC1sv0000101Asd00000019* +- ID_MODEL_FROM_DATABASE=BIC2M ++ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC2M) + + pci:v0000101Ad00001DC1sv0000101Asd0000001F* +- ID_MODEL_FROM_DATABASE=BIC4M ++ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC4M) + + pci:v0000101Ad00001DC1sv0000101Asd00000ECE* +- ID_MODEL_FROM_DATABASE=BYA4M ++ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BYA4M) + + pci:v0000101Ad00001FA8* + ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) + + pci:v0000101Ad00001FA8sv0000101Asd000000C3* +- ID_MODEL_FROM_DATABASE=BYNET BIC2SE ++ ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) (BYNET BIC2SE) + + pci:v0000101B* + ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor +@@ -10557,46 +10557,46 @@ pci:v0000101Ed00001960* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v0000101Ed00001960sv0000101Esd00000471* +- ID_MODEL_FROM_DATABASE=MegaRAID 471 Enterprise 1600 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (471 Enterprise 1600 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000475* +- ID_MODEL_FROM_DATABASE=MegaRAID 475 Express 500/500LC RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (475 Express 500/500LC RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000477* +- ID_MODEL_FROM_DATABASE=MegaRAID 477 Elite 3100 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (477 Elite 3100 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000493* +- ID_MODEL_FROM_DATABASE=MegaRAID 493 Elite 1600 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (493 Elite 1600 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000494* +- ID_MODEL_FROM_DATABASE=MegaRAID 494 Elite 1650 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (494 Elite 1650 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000503* +- ID_MODEL_FROM_DATABASE=MegaRAID 503 Enterprise 1650 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (503 Enterprise 1650 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000511* +- ID_MODEL_FROM_DATABASE=MegaRAID 511 i4 IDE RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (511 i4 IDE RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000522* +- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4133 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4133 RAID Controller) + + pci:v0000101Ed00001960sv00001028sd00000471* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/QC) + + pci:v0000101Ed00001960sv00001028sd00000475* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/SC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/SC) + + pci:v0000101Ed00001960sv00001028sd00000493* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/DC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/DC) + + pci:v0000101Ed00001960sv00001028sd00000511* +- ID_MODEL_FROM_DATABASE=PowerEdge Cost Effective RAID Controller ATA100/4Ch ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Cost Effective RAID Controller ATA100/4Ch) + + pci:v0000101Ed00001960sv0000103Csd000060E7* +- ID_MODEL_FROM_DATABASE=NetRAID-1M ++ ID_MODEL_FROM_DATABASE=MegaRAID (NetRAID-1M) + + pci:v0000101Ed00001960sv0000103Csd000060E8* +- ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] ++ ID_MODEL_FROM_DATABASE=MegaRAID (NetRaid 2M [AMI MegaRaid 493]) + + pci:v0000101Ed00009010* + ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller +@@ -10623,7 +10623,7 @@ pci:v0000101Ed00009063* + ID_MODEL_FROM_DATABASE=MegaRAC + + pci:v0000101Ed00009063sv0000101Esd00000767* +- ID_MODEL_FROM_DATABASE=Dell Remote Assistant Card 2 ++ ID_MODEL_FROM_DATABASE=MegaRAC (Dell Remote Assistant Card 2) + + pci:v0000101F* + ID_VENDOR_FROM_DATABASE=PictureTel +@@ -10731,7 +10731,7 @@ pci:v00001022d00001510* + ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex + + pci:v00001022d00001510sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex (PURE Fusion Mini) + + pci:v00001022d00001512* + ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port +@@ -10842,79 +10842,79 @@ pci:v00001022d00002000* + ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] + + pci:v00001022d00002000sv00001014sd00002000* +- ID_MODEL_FROM_DATABASE=NetFinity 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (NetFinity 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001022sd00002000* +- ID_MODEL_FROM_DATABASE=PCnet - Fast 79C971 ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PCnet - Fast 79C971) + + pci:v00001022d00002000sv0000103Csd0000104C* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd00001064* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd00001065* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd0000106C* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd0000106E* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd000010EA* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv00001113sd00001220* +- ID_MODEL_FROM_DATABASE=EN1220 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (EN1220 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002450* +- ID_MODEL_FROM_DATABASE=AT-2450 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002454* +- ID_MODEL_FROM_DATABASE=AT-2450v4 10Mb Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450v4 10Mb Ethernet Adapter) + + pci:v00001022d00002000sv00001259sd00002700* +- ID_MODEL_FROM_DATABASE=AT-2700TX 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700TX 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002701* +- ID_MODEL_FROM_DATABASE=AT-2700FX 100Mb Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FX 100Mb Ethernet) + + pci:v00001022d00002000sv00001259sd00002702* +- ID_MODEL_FROM_DATABASE=AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002703* +- ID_MODEL_FROM_DATABASE=AT-2701FX ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FX) + + pci:v00001022d00002000sv00001259sd00002704* +- ID_MODEL_FROM_DATABASE=AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet) + + pci:v00001022d00002000sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00001022d00002000sv00004C53sd00001010* +- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CP5/CR6 mainboard) + + pci:v00001022d00002000sv00004C53sd00001020* +- ID_MODEL_FROM_DATABASE=VR6 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (VR6 mainboard) + + pci:v00001022d00002000sv00004C53sd00001030* +- ID_MODEL_FROM_DATABASE=PC5 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC5 mainboard) + + pci:v00001022d00002000sv00004C53sd00001040* +- ID_MODEL_FROM_DATABASE=CL7 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CL7 mainboard) + + pci:v00001022d00002000sv00004C53sd00001060* +- ID_MODEL_FROM_DATABASE=PC7 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC7 mainboard) + + pci:v00001022d00002001* + ID_MODEL_FROM_DATABASE=79c978 [HomePNA] + + pci:v00001022d00002001sv00001092sd00000A78* +- ID_MODEL_FROM_DATABASE=Multimedia Home Network Adapter ++ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (Multimedia Home Network Adapter) + + pci:v00001022d00002001sv00001668sd00000299* +- ID_MODEL_FROM_DATABASE=ActionLink Home Network Adapter ++ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (ActionLink Home Network Adapter) + + pci:v00001022d00002003* + ID_MODEL_FROM_DATABASE=Am 1771 MBW [Alchemy] +@@ -10923,7 +10923,7 @@ pci:v00001022d00002020* + ID_MODEL_FROM_DATABASE=53c974 [PCscsi] + + pci:v00001022d00002020sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=53c974 [PCscsi] (QEMU Virtual Machine) + + pci:v00001022d00002040* + ID_MODEL_FROM_DATABASE=79c974 +@@ -11043,7 +11043,7 @@ pci:v00001022d00007440* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA + + pci:v00001022d00007440sv00001043sd00008044* +- ID_MODEL_FROM_DATABASE=A7M-D Mainboard ++ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA (A7M-D Mainboard) + + pci:v00001022d00007441* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] IDE +@@ -11052,7 +11052,7 @@ pci:v00001022d00007443* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI + + pci:v00001022d00007443sv00001043sd00008044* +- ID_MODEL_FROM_DATABASE=A7M-D Mainboard ++ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI (A7M-D Mainboard) + + pci:v00001022d00007445* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] Audio +@@ -11088,7 +11088,7 @@ pci:v00001022d00007460* + ID_MODEL_FROM_DATABASE=AMD-8111 PCI + + pci:v00001022d00007460sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 PCI (HDAMB) + + pci:v00001022d00007461* + ID_MODEL_FROM_DATABASE=AMD-8111 USB +@@ -11103,22 +11103,22 @@ pci:v00001022d00007464* + ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI + + pci:v00001022d00007464sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI (HDAMB) + + pci:v00001022d00007468* + ID_MODEL_FROM_DATABASE=AMD-8111 LPC + + pci:v00001022d00007468sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 LPC (HDAMB) + + pci:v00001022d00007469* + ID_MODEL_FROM_DATABASE=AMD-8111 IDE + + pci:v00001022d00007469sv00001022sd00002B80* +- ID_MODEL_FROM_DATABASE=AMD-8111 IDE [Quartet] ++ ID_MODEL_FROM_DATABASE=AMD-8111 IDE ([Quartet]) + + pci:v00001022d00007469sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 IDE (HDAMB) + + pci:v00001022d0000746A* + ID_MODEL_FROM_DATABASE=AMD-8111 SMBus 2.0 +@@ -11127,13 +11127,13 @@ pci:v00001022d0000746B* + ID_MODEL_FROM_DATABASE=AMD-8111 ACPI + + pci:v00001022d0000746Bsv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 ACPI (HDAMB) + + pci:v00001022d0000746D* + ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio + + pci:v00001022d0000746Dsv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio (HDAMB) + + pci:v00001022d0000746E* + ID_MODEL_FROM_DATABASE=AMD-8111 MC97 Modem +@@ -11148,10 +11148,10 @@ pci:v00001022d00007801* + ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] + + pci:v00001022d00007801sv0000103Csd0000168B* +- ID_MODEL_FROM_DATABASE=ProBook 4535s Notebook ++ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 4535s Notebook) + + pci:v00001022d00007801sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 455 G1 Notebook) + + pci:v00001022d00007802* + ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode] +@@ -11172,25 +11172,25 @@ pci:v00001022d00007807* + ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller + + pci:v00001022d00007807sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d00007808* + ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller + + pci:v00001022d00007808sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d00007809* + ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller + + pci:v00001022d00007809sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d0000780B* + ID_MODEL_FROM_DATABASE=FCH SMBus Controller + + pci:v00001022d0000780Bsv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH SMBus Controller (ProBook 455 G1 Notebook) + + pci:v00001022d0000780C* + ID_MODEL_FROM_DATABASE=FCH IDE Controller +@@ -11199,16 +11199,16 @@ pci:v00001022d0000780D* + ID_MODEL_FROM_DATABASE=FCH Azalia Controller + + pci:v00001022d0000780Dsv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (ProBook 455 G1 Notebook) + + pci:v00001022d0000780Dsv00001043sd00008444* +- ID_MODEL_FROM_DATABASE=F2A85-M Series ++ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (F2A85-M Series) + + pci:v00001022d0000780E* + ID_MODEL_FROM_DATABASE=FCH LPC Bridge + + pci:v00001022d0000780Esv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH LPC Bridge (ProBook 455 G1 Notebook) + + pci:v00001022d0000780F* + ID_MODEL_FROM_DATABASE=FCH PCI Bridge +@@ -11223,7 +11223,7 @@ pci:v00001022d00007814* + ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller + + pci:v00001022d00007814sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d00007900* + ID_MODEL_FROM_DATABASE=FCH SATA Controller [IDE mode] +@@ -11262,16 +11262,16 @@ pci:v00001022d00009600* + ID_MODEL_FROM_DATABASE=RS780 Host Bridge + + pci:v00001022d00009600sv00001043sd000082F1* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=RS780 Host Bridge (M3A78-EH Motherboard) + + pci:v00001022d00009601* + ID_MODEL_FROM_DATABASE=RS880 Host Bridge + + pci:v00001022d00009601sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (A785GM-M) + + pci:v00001022d00009601sv00001043sd0000843E* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (M5A88-V EVO) + + pci:v00001022d00009602* + ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (int gfx) +@@ -11316,7 +11316,7 @@ pci:v00001023d00002001* + ID_MODEL_FROM_DATABASE=4DWave NX + + pci:v00001023d00002001sv0000122Dsd00001400* +- ID_MODEL_FROM_DATABASE=Trident PCI288-Q3DII (NX) ++ ID_MODEL_FROM_DATABASE=4DWave NX (Trident PCI288-Q3DII (NX)) + + pci:v00001023d00002100* + ID_MODEL_FROM_DATABASE=CyberBlade XP4m32 +@@ -11328,13 +11328,13 @@ pci:v00001023d00008400* + ID_MODEL_FROM_DATABASE=CyberBlade/i7 + + pci:v00001023d00008400sv00001023sd00008400* +- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade/i7 (CyberBlade i7 AGP) + + pci:v00001023d00008420* + ID_MODEL_FROM_DATABASE=CyberBlade/i7d + + pci:v00001023d00008420sv00000E11sd0000B15A* +- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade/i7d (CyberBlade i7 AGP) + + pci:v00001023d00008500* + ID_MODEL_FROM_DATABASE=CyberBlade/i1 +@@ -11343,19 +11343,19 @@ pci:v00001023d00008520* + ID_MODEL_FROM_DATABASE=CyberBlade i1 + + pci:v00001023d00008520sv00000E11sd0000B16E* +- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) + + pci:v00001023d00008520sv00001023sd00008520* +- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) + + pci:v00001023d00008620* + ID_MODEL_FROM_DATABASE=CyberBlade/i1 + + pci:v00001023d00008620sv00001014sd00000502* +- ID_MODEL_FROM_DATABASE=ThinkPad R30/T30 ++ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (ThinkPad R30/T30) + + pci:v00001023d00008620sv00001014sd00001025* +- ID_MODEL_FROM_DATABASE=Travelmate 352TE ++ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (Travelmate 352TE) + + pci:v00001023d00008820* + ID_MODEL_FROM_DATABASE=CyberBlade XPAi1 +@@ -11460,7 +11460,7 @@ pci:v00001023d00009880* + ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP + + pci:v00001023d00009880sv00001023sd00009880* +- ID_MODEL_FROM_DATABASE=Blade 3D ++ ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP (Blade 3D) + + pci:v00001023d00009910* + ID_MODEL_FROM_DATABASE=CyberBlade/XP +@@ -11523,7 +11523,7 @@ pci:v00001025d00001533* + ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge + + pci:v00001025d00001533sv000010B9sd00001533* +- ID_MODEL_FROM_DATABASE=ALI M1533 Aladdin IV/V ISA South Bridge ++ ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge (ALI M1533 Aladdin IV/V ISA South Bridge) + + pci:v00001025d00001535* + ID_MODEL_FROM_DATABASE=M1535 PCI Bridge + Super I/O + FIR +@@ -11532,7 +11532,7 @@ pci:v00001025d00001541* + ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] + + pci:v00001025d00001541sv000010B9sd00001541* +- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP+PCI North Bridge ++ ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] (ALI M1541 Aladdin V/V+ AGP+PCI North Bridge) + + pci:v00001025d00001542* + ID_MODEL_FROM_DATABASE=M1542 Northbridge [Aladdin V] +@@ -11658,31 +11658,31 @@ pci:v00001028d00000001* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si + + pci:v00001028d00000001sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=PowerEdge 2400 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si (PowerEdge 2400) + + pci:v00001028d00000002* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di + + pci:v00001028d00000002sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=PowerEdge 4400 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PowerEdge 4400) + + pci:v00001028d00000002sv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=PERC 3/DiV [Viper] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiV [Viper]) + + pci:v00001028d00000002sv00001028sd000000D9* +- ID_MODEL_FROM_DATABASE=PERC 3/DiL [Lexus] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiL [Lexus]) + + pci:v00001028d00000003* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si + + pci:v00001028d00000003sv00001028sd00000003* +- ID_MODEL_FROM_DATABASE=PowerEdge 2450 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si (PowerEdge 2450) + + pci:v00001028d00000004* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] + + pci:v00001028d00000004sv00001028sd00000004* +- ID_MODEL_FROM_DATABASE=PERC 3/DiF [Iguana] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] (PERC 3/DiF [Iguana]) + + pci:v00001028d00000006* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di +@@ -11700,13 +11700,13 @@ pci:v00001028d0000000A* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di + + pci:v00001028d0000000Asv00001028sd00000106* +- ID_MODEL_FROM_DATABASE=PERC 3/DiJ [Jaguar] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiJ [Jaguar]) + + pci:v00001028d0000000Asv00001028sd0000011B* +- ID_MODEL_FROM_DATABASE=PERC 3/DiD [Dagger] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiD [Dagger]) + + pci:v00001028d0000000Asv00001028sd00000121* +- ID_MODEL_FROM_DATABASE=PERC 3/DiB [Boxster] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiB [Boxster]) + + pci:v00001028d0000000C* + ID_MODEL_FROM_DATABASE=Embedded Remote Access or ERA/O +@@ -11721,7 +11721,7 @@ pci:v00001028d0000000F* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di + + pci:v00001028d0000000Fsv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di (PowerEdge 1750) + + pci:v00001028d00000010* + ID_MODEL_FROM_DATABASE=Remote Access Card 4 +@@ -11736,19 +11736,19 @@ pci:v00001028d00000013* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 + + pci:v00001028d00000013sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Si ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Si) + + pci:v00001028d00000013sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000013sv00001028sd0000016E* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000013sv00001028sd0000016F* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000013sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000014* + ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card SMIC interface +@@ -11757,19 +11757,19 @@ pci:v00001028d00000015* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 + + pci:v00001028d00000015sv00001028sd00001F01* +- ID_MODEL_FROM_DATABASE=PERC 5/E Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/E Adapter RAID Controller) + + pci:v00001028d00000015sv00001028sd00001F02* +- ID_MODEL_FROM_DATABASE=PERC 5/i Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Adapter RAID Controller) + + pci:v00001028d00000015sv00001028sd00001F03* +- ID_MODEL_FROM_DATABASE=PERC 5/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Integrated RAID Controller) + + pci:v00001028d00000016* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 + + pci:v00001028d00000016sv00001028sd00001F24* +- ID_MODEL_FROM_DATABASE=PERC S300 Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 (PERC S300 Controller) + + pci:v00001029* + ID_VENDOR_FROM_DATABASE=Siemens Nixdorf IS +@@ -11787,28 +11787,28 @@ pci:v0000102Ad0000001F* + ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers + + pci:v0000102Ad0000001Fsv00009005sd0000000F* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) + + pci:v0000102Ad0000001Fsv00009005sd00000106* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) + + pci:v0000102Ad0000001Fsv00009005sd0000A180* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) + + pci:v0000102Ad000000C5* + ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller + + pci:v0000102Ad000000C5sv00001028sd000000C5* +- ID_MODEL_FROM_DATABASE=PowerEdge 2550/2650/4600 ++ ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller (PowerEdge 2550/2650/4600) + + pci:v0000102Ad000000CF* + ID_MODEL_FROM_DATABASE=AIC-7899P U160/m + + pci:v0000102Ad000000CFsv00001028sd00000106* +- ID_MODEL_FROM_DATABASE=PowerEdge 4600 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 4600) + + pci:v0000102Ad000000CFsv00001028sd00000121* +- ID_MODEL_FROM_DATABASE=PowerEdge 2650 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2650) + + pci:v0000102B* + ID_VENDOR_FROM_DATABASE=Matrox Electronics Systems Ltd. +@@ -11829,34 +11829,34 @@ pci:v0000102Bd0000051A* + ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] + + pci:v0000102Bd0000051Asv0000102Bsd00000100* +- ID_MODEL_FROM_DATABASE=MGA-1064SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1064SG Mystique) + + pci:v0000102Bd0000051Asv0000102Bsd00001100* +- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) + + pci:v0000102Bd0000051Asv0000102Bsd00001200* +- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) + + pci:v0000102Bd0000051Asv00001100sd0000102B* +- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) + + pci:v0000102Bd0000051Asv0000110Asd00000018* +- ID_MODEL_FROM_DATABASE=Scenic Pro C5 (D1025) ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (Scenic Pro C5 (D1025)) + + pci:v0000102Bd0000051B* + ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] + + pci:v0000102Bd0000051Bsv0000102Bsd0000051B* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051Bsv0000102Bsd00001100* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051Bsv0000102Bsd00001200* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051Bsv0000102Bsd00002100* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051E* + ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] AGP +@@ -11868,391 +11868,391 @@ pci:v0000102Bd00000520* + ID_MODEL_FROM_DATABASE=MGA G200 + + pci:v0000102Bd00000520sv0000102Bsd0000DBC2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000DBC8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000DBE2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000DBE8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G200 SD ++ ID_MODEL_FROM_DATABASE=MGA G200 (Millennium G200 SD) + + pci:v0000102Bd00000520sv0000102Bsd0000FF04* +- ID_MODEL_FROM_DATABASE=Marvel G200 ++ ID_MODEL_FROM_DATABASE=MGA G200 (Marvel G200) + + pci:v0000102Bd00000521* + ID_MODEL_FROM_DATABASE=MGA G200 AGP + + pci:v0000102Bd00000521sv00001014sd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd000048E9* +- ID_MODEL_FROM_DATABASE=Mystique G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd000048F8* +- ID_MODEL_FROM_DATABASE=Millennium G200 SD AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 SD AGP) + + pci:v0000102Bd00000521sv0000102Bsd00004A60* +- ID_MODEL_FROM_DATABASE=Millennium G200 LE AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 LE AGP) + + pci:v0000102Bd00000521sv0000102Bsd00004A64* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000C93C* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000C9B0* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000C9BC* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000CA60* +- ID_MODEL_FROM_DATABASE=Millennium G250 LE AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 LE AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000CA6C* +- ID_MODEL_FROM_DATABASE=Millennium G250 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000DBBC* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000DBC2* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBC3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBC8* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD4* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD5* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD9* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBE2* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBE3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBE8* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF4* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF5* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF9* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000F806* +- ID_MODEL_FROM_DATABASE=Mystique G200 Video AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 Video AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF00* +- ID_MODEL_FROM_DATABASE=MGA-G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF02* +- ID_MODEL_FROM_DATABASE=Mystique G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF04* +- ID_MODEL_FROM_DATABASE=Marvel G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Marvel G200 AGP) + + pci:v0000102Bd00000521sv0000110Asd00000032* +- ID_MODEL_FROM_DATABASE=MGA-G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) + + pci:v0000102Bd00000522* + ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) + + pci:v0000102Bd00000522sv0000103Csd000031FA* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) (ProLiant DL140 G3) + + pci:v0000102Bd00000525* + ID_MODEL_FROM_DATABASE=MGA G400/G450 + + pci:v0000102Bd00000525sv00000E11sd0000B16F* +- ID_MODEL_FROM_DATABASE=MGA-G400 AGP ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (MGA-G400 AGP) + + pci:v0000102Bd00000525sv0000102Bsd00000328* +- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) + + pci:v0000102Bd00000525sv0000102Bsd00000338* +- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) + + pci:v0000102Bd00000525sv0000102Bsd00000378* +- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SDRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SDRAM) + + pci:v0000102Bd00000525sv0000102Bsd00000541* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head) + + pci:v0000102Bd00000525sv0000102Bsd00000542* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX) + + pci:v0000102Bd00000525sv0000102Bsd00000543* +- ID_MODEL_FROM_DATABASE=Millennium G450 Single Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Single Head LX) + + pci:v0000102Bd00000525sv0000102Bsd00000641* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head) + + pci:v0000102Bd00000525sv0000102Bsd00000642* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head LX) + + pci:v0000102Bd00000525sv0000102Bsd00000643* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Single Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Single Head LX) + + pci:v0000102Bd00000525sv0000102Bsd000007C0* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LE ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LE) + + pci:v0000102Bd00000525sv0000102Bsd000007C1* +- ID_MODEL_FROM_DATABASE=Millennium G450 SDR Dual Head LE ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 SDR Dual Head LE) + + pci:v0000102Bd00000525sv0000102Bsd00000D41* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head PCI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head PCI) + + pci:v0000102Bd00000525sv0000102Bsd00000D42* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX PCI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX PCI) + + pci:v0000102Bd00000525sv0000102Bsd00000D43* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb Dual Head PCI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb Dual Head PCI) + + pci:v0000102Bd00000525sv0000102Bsd00000E00* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000E01* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000E02* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000E03* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000F80* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) + + pci:v0000102Bd00000525sv0000102Bsd00000F81* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) + + pci:v0000102Bd00000525sv0000102Bsd00000F82* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) + + pci:v0000102Bd00000525sv0000102Bsd00000F83* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) + + pci:v0000102Bd00000525sv0000102Bsd000019D8* +- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SGRAM) + + pci:v0000102Bd00000525sv0000102Bsd000019F8* +- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SGRAM) + + pci:v0000102Bd00000525sv0000102Bsd00002159* +- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head 16Mb ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head 16Mb) + + pci:v0000102Bd00000525sv0000102Bsd00002179* +- ID_MODEL_FROM_DATABASE=Millennium G400 MAX/Dual Head 32Mb ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 MAX/Dual Head 32Mb) + + pci:v0000102Bd00000525sv0000102Bsd0000217D* +- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head Max ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head Max) + + pci:v0000102Bd00000525sv0000102Bsd000023C0* +- ID_MODEL_FROM_DATABASE=Millennium G450 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) + + pci:v0000102Bd00000525sv0000102Bsd000023C1* +- ID_MODEL_FROM_DATABASE=Millennium G450 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) + + pci:v0000102Bd00000525sv0000102Bsd000023C2* +- ID_MODEL_FROM_DATABASE=Millennium G450 DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) + + pci:v0000102Bd00000525sv0000102Bsd000023C3* +- ID_MODEL_FROM_DATABASE=Millennium G450 DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) + + pci:v0000102Bd00000525sv0000102Bsd00002F58* +- ID_MODEL_FROM_DATABASE=Millennium G400 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) + + pci:v0000102Bd00000525sv0000102Bsd00002F78* +- ID_MODEL_FROM_DATABASE=Millennium G400 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) + + pci:v0000102Bd00000525sv0000102Bsd00003693* +- ID_MODEL_FROM_DATABASE=Marvel G400 AGP ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G400 AGP) + + pci:v0000102Bd00000525sv0000102Bsd00005DD0* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00005F50* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00005F51* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00005F52* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00009010* +- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head) + + pci:v0000102Bd00000525sv00001458sd00000400* +- ID_MODEL_FROM_DATABASE=GA-G400 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (GA-G400) + + pci:v0000102Bd00000525sv00001705sd00000001* +- ID_MODEL_FROM_DATABASE=Millennium G450 32MB SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB SGRAM) + + pci:v0000102Bd00000525sv00001705sd00000002* +- ID_MODEL_FROM_DATABASE=Millennium G450 16MB SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB SGRAM) + + pci:v0000102Bd00000525sv00001705sd00000003* +- ID_MODEL_FROM_DATABASE=Millennium G450 32MB ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB) + + pci:v0000102Bd00000525sv00001705sd00000004* +- ID_MODEL_FROM_DATABASE=Millennium G450 16MB ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB) + + pci:v0000102Bd00000527* + ID_MODEL_FROM_DATABASE=Parhelia + + pci:v0000102Bd00000527sv0000102Bsd00000840* +- ID_MODEL_FROM_DATABASE=Parhelia 128Mb ++ ID_MODEL_FROM_DATABASE=Parhelia (128Mb) + + pci:v0000102Bd00000527sv0000102Bsd00000850* +- ID_MODEL_FROM_DATABASE=Parhelia 256MB ++ ID_MODEL_FROM_DATABASE=Parhelia (256MB) + + pci:v0000102Bd00000527sv0000102Bsd00000870* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000527sv0000102Bsd00000880* +- ID_MODEL_FROM_DATABASE=P-256 Edge Overlap Controller ++ ID_MODEL_FROM_DATABASE=Parhelia (P-256 Edge Overlap Controller) + + pci:v0000102Bd00000528* + ID_MODEL_FROM_DATABASE=Parhelia + + pci:v0000102Bd00000528sv0000102Bsd00001020* +- ID_MODEL_FROM_DATABASE=Parhelia 128MB ++ ID_MODEL_FROM_DATABASE=Parhelia (128MB) + + pci:v0000102Bd00000528sv0000102Bsd00001030* +- ID_MODEL_FROM_DATABASE=Parhelia 256 MB Dual DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (256 MB Dual DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001040* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001050* +- ID_MODEL_FROM_DATABASE=Sono S20 ++ ID_MODEL_FROM_DATABASE=Parhelia (Sono S20) + + pci:v0000102Bd00000528sv0000102Bsd00001060* +- ID_MODEL_FROM_DATABASE=PJ-30L ++ ID_MODEL_FROM_DATABASE=Parhelia (PJ-30L) + + pci:v0000102Bd00000528sv0000102Bsd00001070* +- ID_MODEL_FROM_DATABASE=PJ-40L ++ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40L) + + pci:v0000102Bd00000528sv0000102Bsd00001421* +- ID_MODEL_FROM_DATABASE=MED5mp ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp) + + pci:v0000102Bd00000528sv0000102Bsd00001431* +- ID_MODEL_FROM_DATABASE=MED3mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001451* +- ID_MODEL_FROM_DATABASE=MED5mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001491* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd000014B1* +- ID_MODEL_FROM_DATABASE=MED3mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd000014C1* +- ID_MODEL_FROM_DATABASE=MED5mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd000014E1* +- ID_MODEL_FROM_DATABASE=Parhelia PCI 256MB ++ ID_MODEL_FROM_DATABASE=Parhelia (PCI 256MB) + + pci:v0000102Bd00000528sv0000102Bsd000014F1* +- ID_MODEL_FROM_DATABASE=Parhelia Precision SGT ++ ID_MODEL_FROM_DATABASE=Parhelia (Precision SGT) + + pci:v0000102Bd00000528sv0000102Bsd00001501* +- ID_MODEL_FROM_DATABASE=ATC-4MP ++ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) + + pci:v0000102Bd00000528sv0000102Bsd00001511* +- ID_MODEL_FROM_DATABASE=ATC-4MP ++ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) + + pci:v0000102Bd00000528sv0000102Bsd00001521* +- ID_MODEL_FROM_DATABASE=TheatreVUE T30 ++ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T30) + + pci:v0000102Bd00000528sv0000102Bsd00001531* +- ID_MODEL_FROM_DATABASE=TheatreVUE T20 ++ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T20) + + pci:v0000102Bd00000528sv0000102Bsd00001541* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001551* +- ID_MODEL_FROM_DATABASE=MED3mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001561* +- ID_MODEL_FROM_DATABASE=MED5mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001571* +- ID_MODEL_FROM_DATABASE=Parhelia DL256 PCI ++ ID_MODEL_FROM_DATABASE=Parhelia (DL256 PCI) + + pci:v0000102Bd00000528sv0000102Bsd00001591* +- ID_MODEL_FROM_DATABASE=Parhelia Precision SDT ++ ID_MODEL_FROM_DATABASE=Parhelia (Precision SDT) + + pci:v0000102Bd00000528sv0000102Bsd000015A1* +- ID_MODEL_FROM_DATABASE=MED4mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED4mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00002011* +- ID_MODEL_FROM_DATABASE=Parhelia HR256 ++ ID_MODEL_FROM_DATABASE=Parhelia (HR256) + + pci:v0000102Bd00000528sv0000102Bsd00002021* +- ID_MODEL_FROM_DATABASE=QID Pro ++ ID_MODEL_FROM_DATABASE=Parhelia (QID Pro) + + pci:v0000102Bd00000528sv0000102Bsd00002061* +- ID_MODEL_FROM_DATABASE=PJ-40LP ++ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40LP) + + pci:v0000102Bd00000528sv0000102Bsd00002081* +- ID_MODEL_FROM_DATABASE=EWS Quad ++ ID_MODEL_FROM_DATABASE=Parhelia (EWS Quad) + + pci:v0000102Bd00000528sv0000102Bsd00002411* +- ID_MODEL_FROM_DATABASE=PPX-OUT8 ++ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT8) + + pci:v0000102Bd00000528sv0000102Bsd00002421* +- ID_MODEL_FROM_DATABASE=VPX-OUT8 ++ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT8) + + pci:v0000102Bd00000528sv0000102Bsd00002441* +- ID_MODEL_FROM_DATABASE=PPX-OUT4 ++ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT4) + + pci:v0000102Bd00000528sv0000102Bsd00002451* +- ID_MODEL_FROM_DATABASE=VPX-OUT4 ++ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT4) + + pci:v0000102Bd00000528sv0000102Bsd00002491* +- ID_MODEL_FROM_DATABASE=LPX-OUT4 ++ ID_MODEL_FROM_DATABASE=Parhelia (LPX-OUT4) + + pci:v0000102Bd00000530* + ID_MODEL_FROM_DATABASE=MGA G200EV +@@ -12261,37 +12261,37 @@ pci:v0000102Bd00000532* + ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 + + pci:v0000102Bd00000532sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R710 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R610 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T610 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M610 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R410 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T410 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M710 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd000002A4* +- ID_MODEL_FROM_DATABASE=PowerEdge T310 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) + + pci:v0000102Bd00000533* + ID_MODEL_FROM_DATABASE=MGA G200EH + + pci:v0000102Bd00000533sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=MGA G200EH (iLO4) + + pci:v0000102Bd00000534* + ID_MODEL_FROM_DATABASE=G200eR2 +@@ -12300,40 +12300,40 @@ pci:v0000102Bd00000540* + ID_MODEL_FROM_DATABASE=M91XX + + pci:v0000102Bd00000540sv0000102Bsd00002080* +- ID_MODEL_FROM_DATABASE=M9140 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9140 LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd000020C0* +- ID_MODEL_FROM_DATABASE=Xenia ++ ID_MODEL_FROM_DATABASE=M91XX (Xenia) + + pci:v0000102Bd00000540sv0000102Bsd000020C1* +- ID_MODEL_FROM_DATABASE=Xenia Pro ++ ID_MODEL_FROM_DATABASE=M91XX (Xenia Pro) + + pci:v0000102Bd00000540sv0000102Bsd00002100* +- ID_MODEL_FROM_DATABASE=M9120 PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9120 PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002140* +- ID_MODEL_FROM_DATABASE=M9125 PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9125 PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002180* +- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd000021C0* +- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x1 ++ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x1) + + pci:v0000102Bd00000540sv0000102Bsd00002200* +- ID_MODEL_FROM_DATABASE=VDA1164 Output Board ++ ID_MODEL_FROM_DATABASE=M91XX (VDA1164 Output Board) + + pci:v0000102Bd00000540sv0000102Bsd00002240* +- ID_MODEL_FROM_DATABASE=M9148 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9148 LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002241* +- ID_MODEL_FROM_DATABASE=M9138 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9138 LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002280* +- ID_MODEL_FROM_DATABASE=M9188 ATX PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9188 ATX PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd000022C0* +- ID_MODEL_FROM_DATABASE=M9128 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9128 LP PCIe x16) + + pci:v0000102Bd00000D10* + ID_MODEL_FROM_DATABASE=MGA Ultima/Impression +@@ -12342,34 +12342,34 @@ pci:v0000102Bd00001000* + ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] + + pci:v0000102Bd00001000sv0000102Bsd0000FF01* +- ID_MODEL_FROM_DATABASE=Productiva G100 ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100) + + pci:v0000102Bd00001000sv0000102Bsd0000FF05* +- ID_MODEL_FROM_DATABASE=Productiva G100 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100 Multi-Monitor) + + pci:v0000102Bd00001001* + ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP + + pci:v0000102Bd00001001sv0000102Bsd00001001* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF00* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF01* +- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (Millennium G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF04* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF05* +- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP Multi-Monitor) + + pci:v0000102Bd00001001sv0000110Asd0000001E* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00002007* + ID_MODEL_FROM_DATABASE=MGA Mistral +@@ -12378,163 +12378,163 @@ pci:v0000102Bd00002527* + ID_MODEL_FROM_DATABASE=Millennium G550 + + pci:v0000102Bd00002527sv0000102Bsd00000F42* +- ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI ++ ID_MODEL_FROM_DATABASE=Millennium G550 (Matrox G550 Low Profile PCI) + + pci:v0000102Bd00002527sv0000102Bsd00000F83* + ID_MODEL_FROM_DATABASE=Millennium G550 + + pci:v0000102Bd00002527sv0000102Bsd00000F84* +- ID_MODEL_FROM_DATABASE=Millennium G550 Dual Head DDR 32Mb ++ ID_MODEL_FROM_DATABASE=Millennium G550 (Dual Head DDR 32Mb) + + pci:v0000102Bd00002527sv0000102Bsd00001E41* + ID_MODEL_FROM_DATABASE=Millennium G550 + + pci:v0000102Bd00002527sv0000102Bsd00002300* +- ID_MODEL_FROM_DATABASE=Millennium G550 LP PCIE ++ ID_MODEL_FROM_DATABASE=Millennium G550 (LP PCIE) + + pci:v0000102Bd00002537* + ID_MODEL_FROM_DATABASE=Millenium P650/P750 + + pci:v0000102Bd00002537sv0000102Bsd00001820* +- ID_MODEL_FROM_DATABASE=Millennium P750 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P750 64MB) + + pci:v0000102Bd00002537sv0000102Bsd00001830* +- ID_MODEL_FROM_DATABASE=Millennium P650 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 64MB) + + pci:v0000102Bd00002537sv0000102Bsd00001850* +- ID_MODEL_FROM_DATABASE=RAD2mp ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD2mp) + + pci:v0000102Bd00002537sv0000102Bsd00001860* +- ID_MODEL_FROM_DATABASE=RAD3mp ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD3mp) + + pci:v0000102Bd00002537sv0000102Bsd00001880* +- ID_MODEL_FROM_DATABASE=Sono S10 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Sono S10) + + pci:v0000102Bd00002537sv0000102Bsd00001C10* +- ID_MODEL_FROM_DATABASE=QID 128MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID 128MB) + + pci:v0000102Bd00002537sv0000102Bsd00002811* +- ID_MODEL_FROM_DATABASE=Millennium P650 Low-profile PCI 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 Low-profile PCI 64MB) + + pci:v0000102Bd00002537sv0000102Bsd00002821* +- ID_MODEL_FROM_DATABASE=Millenium P650 Low-profile PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millenium P650 Low-profile PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002841* +- ID_MODEL_FROM_DATABASE=RAD PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002851* +- ID_MODEL_FROM_DATABASE=Spectrum PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Spectrum PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002871* +- ID_MODEL_FROM_DATABASE=EpicA TC2 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC2) + + pci:v0000102Bd00002537sv0000102Bsd00002C11* +- ID_MODEL_FROM_DATABASE=QID Low-profile PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID Low-profile PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002C21* +- ID_MODEL_FROM_DATABASE=QID LP PCI LW ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI LW) + + pci:v0000102Bd00002537sv0000102Bsd00002C31* +- ID_MODEL_FROM_DATABASE=QID LP PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002C41* +- ID_MODEL_FROM_DATABASE=EpicA TC4 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC4) + + pci:v0000102Bd00002537sv0000102Bsd00003001* +- ID_MODEL_FROM_DATABASE=Extio F1400 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1400) + + pci:v0000102Bd00002537sv0000102Bsd00003011* +- ID_MODEL_FROM_DATABASE=Extio F1220 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1220) + + pci:v0000102Bd00002537sv0000102Bsd00003041* +- ID_MODEL_FROM_DATABASE=RG-200DL ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-200DL) + + pci:v0000102Bd00002537sv0000102Bsd00003051* +- ID_MODEL_FROM_DATABASE=RG-400SL ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-400SL) + + pci:v0000102Bd00002537sv0000102Bsd00003061* +- ID_MODEL_FROM_DATABASE=Extio F1420 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1420) + + pci:v0000102Bd00002537sv0000102Bsd00003081* +- ID_MODEL_FROM_DATABASE=Extio F1240 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1240) + + pci:v0000102Bd00002538* + ID_MODEL_FROM_DATABASE=Millenium P650 PCIe + + pci:v0000102Bd00002538sv0000102Bsd00000847* +- ID_MODEL_FROM_DATABASE=RAD PCIe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (RAD PCIe) + + pci:v0000102Bd00002538sv0000102Bsd000008C7* +- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 128MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 128MB) + + pci:v0000102Bd00002538sv0000102Bsd00000907* +- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 64MB) + + pci:v0000102Bd00002538sv0000102Bsd00000947* +- ID_MODEL_FROM_DATABASE=Parhelia APVe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) + + pci:v0000102Bd00002538sv0000102Bsd00000987* +- ID_MODEL_FROM_DATABASE=ATC PCIe 4MP ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (ATC PCIe 4MP) + + pci:v0000102Bd00002538sv0000102Bsd00001047* +- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 128MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 128MB) + + pci:v0000102Bd00002538sv0000102Bsd00001087* +- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 64MB) + + pci:v0000102Bd00002538sv0000102Bsd00001801* +- ID_MODEL_FROM_DATABASE=Millenium P650 PCIe x1 ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (x1) + + pci:v0000102Bd00002538sv0000102Bsd00002538* +- ID_MODEL_FROM_DATABASE=Parhelia APVe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) + + pci:v0000102Bd00002538sv0000102Bsd00003007* +- ID_MODEL_FROM_DATABASE=QID Low-profile PCIe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID Low-profile PCIe) + + pci:v0000102Bd00002538sv0000102Bsd00003087* +- ID_MODEL_FROM_DATABASE=Aurora VX3mp ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Aurora VX3mp) + + pci:v0000102Bd00002538sv0000102Bsd000030C7* +- ID_MODEL_FROM_DATABASE=QID LP PCIe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID LP PCIe) + + pci:v0000102Bd00002539* + ID_MODEL_FROM_DATABASE=Millennium P690 + + pci:v0000102Bd00002539sv0000102Bsd00000040* +- ID_MODEL_FROM_DATABASE=Millenium P690 PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd00000042* +- ID_MODEL_FROM_DATABASE=ONYX ++ ID_MODEL_FROM_DATABASE=Millennium P690 (ONYX) + + pci:v0000102Bd00002539sv0000102Bsd00000043* +- ID_MODEL_FROM_DATABASE=SPECTRA ++ ID_MODEL_FROM_DATABASE=Millennium P690 (SPECTRA) + + pci:v0000102Bd00002539sv0000102Bsd00000080* +- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd00000081* +- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd00000082* +- ID_MODEL_FROM_DATABASE=RAD LPX PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd000000C0* +- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCI) + + pci:v0000102Bd00002539sv0000102Bsd000000C2* +- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCI) + + pci:v0000102Bd00002539sv0000102Bsd000000C3* +- ID_MODEL_FROM_DATABASE=RAD LPX PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCI) + + pci:v0000102Bd00002539sv0000102Bsd00000101* +- ID_MODEL_FROM_DATABASE=Millenium P690 PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCI) + + pci:v0000102Bd00002539sv0000102Bsd00000140* +- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x1 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x1) + + pci:v0000102Bd00002539sv0000102Bsd00000180* +- ID_MODEL_FROM_DATABASE=Display Wall IP Decode 128 MB ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Display Wall IP Decode 128 MB) + + pci:v0000102Bd00004164* + ID_MODEL_FROM_DATABASE=Morphis QxT frame grabber +@@ -12558,43 +12558,43 @@ pci:v0000102Bd0000475D* + ID_MODEL_FROM_DATABASE=Vio frame grabber family + + pci:v0000102Bd0000475Dsv0000102Bsd00004B90* +- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber (single channel) ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber (single channel)) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B91* +- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B92* +- ID_MODEL_FROM_DATABASE=Vio Analog frame grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Analog frame grabber) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B93* +- ID_MODEL_FROM_DATABASE=Vio SDI Frame Grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio SDI Frame Grabber) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B94* +- ID_MODEL_FROM_DATABASE=Vio DVI-A frame grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio DVI-A frame grabber) + + pci:v0000102Bd0000475F* + ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber + + pci:v0000102Bd0000475Fsv0000102Bsd0000475F* +- ID_MODEL_FROM_DATABASE=Solios eCL/XCL-F frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eCL/XCL-F frame grabber) + + pci:v0000102Bd0000475Fsv0000102Bsd00004D5F* +- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Full) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eV-CL (single-Full) frame grabber) + + pci:v0000102Bd0000475Fsv0000102Bsd00004E5F* +- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Full) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eM-CL (single-Full) frame grabber) + + pci:v0000102Bd000047A1* + ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber + + pci:v0000102Bd000047A1sv0000102Bsd00004BE0* +- ID_MODEL_FROM_DATABASE=Solios eA/XA (single) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (single) frame grabber) + + pci:v0000102Bd000047A1sv0000102Bsd00004BE1* +- ID_MODEL_FROM_DATABASE=Solios eA/XA (dual) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (dual) frame grabber) + + pci:v0000102Bd000047A1sv0000102Bsd00004BE2* +- ID_MODEL_FROM_DATABASE=Solios eA/XA (quad) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (quad) frame grabber) + + pci:v0000102Bd000047A2* + ID_MODEL_FROM_DATABASE=Solios COM port +@@ -12603,25 +12603,25 @@ pci:v0000102Bd000047C1* + ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber + + pci:v0000102Bd000047C1sv0000102Bsd00000000* +- ID_MODEL_FROM_DATABASE=Solios frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004B80* +- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (single-Medium) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (single-Medium) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004B81* +- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (dual-Base) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (dual-Base) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004D80* +- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Medium) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (single-Medium) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004D81* +- ID_MODEL_FROM_DATABASE=Solios eV-CL (dual-Base) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (dual-Base) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004E80* +- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Medium) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (single-Medium) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004E81* +- ID_MODEL_FROM_DATABASE=Solios eM-CL (dual-Base) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (dual-Base) frame grabber) + + pci:v0000102Bd000047C2* + ID_MODEL_FROM_DATABASE=Solios COM port +@@ -12630,34 +12630,34 @@ pci:v0000102Bd00004949* + ID_MODEL_FROM_DATABASE=Radient frame grabber family + + pci:v0000102Bd00004949sv0000102Bsd00000010* +- ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Single-full) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000011* +- ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCLV (Single-full) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000020* +- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-base) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000030* +- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-full) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-full) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000040* +- ID_MODEL_FROM_DATABASE=Radient eCL (Quad-base) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Quad-base) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000050* +- ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Golden) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001010* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-6) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001015* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (dual CXP-6) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001020* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-3) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001050* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (Golden) frame grabber) + + pci:v0000102Bd00004CDC* + ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator +@@ -12687,22 +12687,22 @@ pci:v0000102Cd000000C0sv0000102Csd000000C0* + ID_MODEL_FROM_DATABASE=F69000 HiQVideo + + pci:v0000102Cd000000C0sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001010* +- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CP5/CR6 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001020* +- ID_MODEL_FROM_DATABASE=VR6 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (VR6 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001030* +- ID_MODEL_FROM_DATABASE=PC5 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (PC5 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CT7 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CE7 mainboard) + + pci:v0000102Cd000000D0* + ID_MODEL_FROM_DATABASE=F65545 +@@ -12723,10 +12723,10 @@ pci:v0000102Cd000000E5* + ID_MODEL_FROM_DATABASE=F65555 HiQVPro + + pci:v0000102Cd000000E5sv00000E11sd0000B049* +- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop Display Controller ++ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Armada 1700 Laptop Display Controller) + + pci:v0000102Cd000000E5sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite Pro/Satellite ++ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Satellite Pro/Satellite) + + pci:v0000102Cd000000F0* + ID_MODEL_FROM_DATABASE=F68554 +@@ -12741,16 +12741,16 @@ pci:v0000102Cd00000C30* + ID_MODEL_FROM_DATABASE=F69030 + + pci:v0000102Cd00000C30sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v0000102Cd00000C30sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CT7 mainboard) + + pci:v0000102Cd00000C30sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CE7 mainboard) + + pci:v0000102Cd00000C30sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CT8 mainboard) + + pci:v0000102D* + ID_VENDOR_FROM_DATABASE=Wyse Technology Inc. +@@ -12894,34 +12894,34 @@ pci:v00001033d00000035* + ID_MODEL_FROM_DATABASE=OHCI USB Controller + + pci:v00001033d00000035sv00001033sd00000035* +- ID_MODEL_FROM_DATABASE=USB Controller ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB Controller) + + pci:v00001033d00000035sv0000103Csd00001293* +- ID_MODEL_FROM_DATABASE=USB add-in card ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB add-in card) + + pci:v00001033d00000035sv0000103Csd00001294* +- ID_MODEL_FROM_DATABASE=USB 2.0 add-in card ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB 2.0 add-in card) + + pci:v00001033d00000035sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=USB ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB) + + pci:v00001033d00000035sv000012EEsd00007000* +- ID_MODEL_FROM_DATABASE=Root Hub ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) + + pci:v00001033d00000035sv000014C2sd00000105* +- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PTI-205N USB 2.0 Host Controller) + + pci:v00001033d00000035sv00001799sd00000001* +- ID_MODEL_FROM_DATABASE=Root Hub ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) + + pci:v00001033d00000035sv00001931sd0000000A* +- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (PPP data) ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (PPP data)) + + pci:v00001033d00000035sv00001931sd0000000B* +- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (GSM data) ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (GSM data)) + + pci:v00001033d00000035sv0000807Dsd00000035* +- ID_MODEL_FROM_DATABASE=PCI-USB2 (OHCI subsystem) ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PCI-USB2 (OHCI subsystem)) + + pci:v00001033d0000003B* + ID_MODEL_FROM_DATABASE=PCI to C-bus Bridge +@@ -12942,28 +12942,28 @@ pci:v00001033d00000067* + ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset + + pci:v00001033d00000067sv00001010sd00000020* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) + + pci:v00001033d00000067sv00001010sd00000080* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) + + pci:v00001033d00000067sv00001010sd00000088* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) + + pci:v00001033d00000067sv00001010sd00000090* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) + + pci:v00001033d00000067sv00001010sd00000098* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) + + pci:v00001033d00000067sv00001010sd000000A0* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) + + pci:v00001033d00000067sv00001010sd000000A8* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 32Mb) + + pci:v00001033d00000067sv00001010sd00000120* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) + + pci:v00001033d00000072* + ID_MODEL_FROM_DATABASE=uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr +@@ -12972,7 +12972,7 @@ pci:v00001033d00000074* + ID_MODEL_FROM_DATABASE=56k Voice Modem + + pci:v00001033d00000074sv00001033sd00008014* +- ID_MODEL_FROM_DATABASE=RCV56ACF 56k Voice Modem ++ ID_MODEL_FROM_DATABASE=56k Voice Modem (RCV56ACF 56k Voice Modem) + + pci:v00001033d0000009B* + ID_MODEL_FROM_DATABASE=Vrc5476 +@@ -12987,7 +12987,7 @@ pci:v00001033d000000CD* + ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller + + pci:v00001033d000000CDsv000012EEsd00008011* +- ID_MODEL_FROM_DATABASE=Root hub ++ ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller (Root hub) + + pci:v00001033d000000CE* + ID_MODEL_FROM_DATABASE=uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller +@@ -12999,16 +12999,16 @@ pci:v00001033d000000E0* + ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller + + pci:v00001033d000000E0sv000012EEsd00007001* +- ID_MODEL_FROM_DATABASE=Root hub ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root hub) + + pci:v00001033d000000E0sv000014C2sd00000205* +- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PTI-205N USB 2.0 Host Controller) + + pci:v00001033d000000E0sv00001799sd00000002* +- ID_MODEL_FROM_DATABASE=Root Hub ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root Hub) + + pci:v00001033d000000E0sv0000807Dsd00001043* +- ID_MODEL_FROM_DATABASE=PCI-USB2 (EHCI subsystem) ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PCI-USB2 (EHCI subsystem)) + + pci:v00001033d000000E7* + ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller +@@ -13032,22 +13032,22 @@ pci:v00001033d00000194* + ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller + + pci:v00001033d00000194sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Precision M4600) + + pci:v00001033d00000194sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3350) + + pci:v00001033d00000194sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3750) + + pci:v00001033d00000194sv00001043sd00008413* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (P8P67 Deluxe Motherboard) + + pci:v00001033d00000194sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (QEMU Virtual Machine) + + pci:v00001033d00000194sv00001B96sd00000001* +- ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (USB 3.0 PCIe Card) + + pci:v00001033d000001E7* + ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller +@@ -13116,7 +13116,7 @@ pci:v00001039d00000182* + ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller + + pci:v00001039d00000182sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller (D2030-A1) + + pci:v00001039d00000186* + ID_MODEL_FROM_DATABASE=AHCI Controller (0106) +@@ -13131,7 +13131,7 @@ pci:v00001039d00000200* + ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA + + pci:v00001039d00000200sv00001039sd00000000* +- ID_MODEL_FROM_DATABASE=SiS5597 SVGA (Shared RAM) ++ ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA (SiS5597 SVGA (Shared RAM)) + + pci:v00001039d00000204* + ID_MODEL_FROM_DATABASE=82C204 +@@ -13143,7 +13143,7 @@ pci:v00001039d00000300* + ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter + + pci:v00001039d00000300sv0000107Dsd00002720* +- ID_MODEL_FROM_DATABASE=Leadtek WinFast VR300 ++ ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter (Leadtek WinFast VR300) + + pci:v00001039d00000310* + ID_MODEL_FROM_DATABASE=315H PCI/AGP VGA Display Adapter +@@ -13239,7 +13239,7 @@ pci:v00001039d00000741* + ID_MODEL_FROM_DATABASE=741/741GX/M741 Host + + pci:v00001039d00000741sv00001849sd00000741* +- ID_MODEL_FROM_DATABASE=K7S41/K7S41GX motherboard ++ ID_MODEL_FROM_DATABASE=741/741GX/M741 Host (K7S41/K7S41GX motherboard) + + pci:v00001039d00000745* + ID_MODEL_FROM_DATABASE=745 Host +@@ -13257,25 +13257,25 @@ pci:v00001039d00000761* + ID_MODEL_FROM_DATABASE=761/M761 Host + + pci:v00001039d00000761sv00001734sd00001099* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=761/M761 Host (D2030-A1 Motherboard) + + pci:v00001039d00000900* + ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet + + pci:v00001039d00000900sv00001019sd00000A14* +- ID_MODEL_FROM_DATABASE=K7S5A motherboard ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (K7S5A motherboard) + + pci:v00001039d00000900sv00001039sd00000900* +- ID_MODEL_FROM_DATABASE=SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA] ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA]) + + pci:v00001039d00000900sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (CUSI-FX motherboard) + + pci:v00001039d00000900sv00001043sd000080A7* +- ID_MODEL_FROM_DATABASE=Motherboard P4S800D-X ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (Motherboard P4S800D-X) + + pci:v00001039d00000900sv00001462sd00000900* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (MS-6701 motherboard) + + pci:v00001039d00000961* + ID_MODEL_FROM_DATABASE=SiS961 [MuTIOL Media IO] +@@ -13335,22 +13335,22 @@ pci:v00001039d00005513* + ID_MODEL_FROM_DATABASE=5513 IDE Controller + + pci:v00001039d00005513sv00001019sd00000970* +- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (P6STP-FL motherboard) + + pci:v00001039d00005513sv00001039sd00005513* +- ID_MODEL_FROM_DATABASE=SiS5513 EIDE Controller (A,B step) ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (SiS5513 EIDE Controller (A,B step)) + + pci:v00001039d00005513sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (CUSI-FX motherboard) + + pci:v00001039d00005513sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (MS-6701 motherboard) + + pci:v00001039d00005513sv00001631sd00005513* +- ID_MODEL_FROM_DATABASE=GA-8SIML Rev1.0 Motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (GA-8SIML Rev1.0 Motherboard) + + pci:v00001039d00005513sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (D2030-A1 Motherboard) + + pci:v00001039d00005517* + ID_MODEL_FROM_DATABASE=5517 +@@ -13389,13 +13389,13 @@ pci:v00001039d00006300* + ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter + + pci:v00001039d00006300sv00001019sd00000970* +- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard ++ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (P6STP-FL motherboard) + + pci:v00001039d00006300sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (CUSI-FX motherboard) + + pci:v00001039d00006300sv0000104Dsd000080E2* +- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 ++ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (VAIO PCV-J200) + + pci:v00001039d00006306* + ID_MODEL_FROM_DATABASE=530/620 PCI/AGP VGA Display Adapter +@@ -13404,49 +13404,49 @@ pci:v00001039d00006325* + ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter + + pci:v00001039d00006325sv00001039sd00006325* +- ID_MODEL_FROM_DATABASE=SiS 651 onboard [Asus P4SC-EA] ++ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651 onboard [Asus P4SC-EA]) + + pci:v00001039d00006325sv00001631sd00001004* +- ID_MODEL_FROM_DATABASE=SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] ++ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651C onboard [Gigabyte GA-8SIML Rev1.0]) + + pci:v00001039d00006326* + ID_MODEL_FROM_DATABASE=86C326 5598/6326 + + pci:v00001039d00006326sv00001039sd00006326* +- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) + + pci:v00001039d00006326sv00001092sd00000A50* +- ID_MODEL_FROM_DATABASE=SpeedStar A50 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A50) + + pci:v00001039d00006326sv00001092sd00000A70* +- ID_MODEL_FROM_DATABASE=SpeedStar A70 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) + + pci:v00001039d00006326sv00001092sd00004910* +- ID_MODEL_FROM_DATABASE=SpeedStar A70 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) + + pci:v00001039d00006326sv00001092sd00004920* +- ID_MODEL_FROM_DATABASE=SpeedStar A70 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) + + pci:v00001039d00006326sv000010B0sd00006326* +- ID_MODEL_FROM_DATABASE=S6110-B (AGP) ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (S6110-B (AGP)) + + pci:v00001039d00006326sv00001569sd00006326* +- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) + + pci:v00001039d00006330* + ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter + + pci:v00001039d00006330sv00001039sd00006330* +- ID_MODEL_FROM_DATABASE=[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter ([M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter) + + pci:v00001039d00006330sv00001043sd00008113* +- ID_MODEL_FROM_DATABASE=SiS Real 256E (ASUS P5S800-VM motherboard) ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS Real 256E (ASUS P5S800-VM motherboard)) + + pci:v00001039d00006330sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=SiS661FX GUI 2D/3D Accelerator ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS661FX GUI 2D/3D Accelerator) + + pci:v00001039d00006330sv00001734sd00001099* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (D2030-A1) + + pci:v00001039d00006350* + ID_MODEL_FROM_DATABASE=770/670 PCIE VGA Display Adapter +@@ -13458,70 +13458,70 @@ pci:v00001039d00007001* + ID_MODEL_FROM_DATABASE=USB 1.1 Controller + + pci:v00001039d00007001sv00001019sd00000A14* +- ID_MODEL_FROM_DATABASE=K7S5A motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (K7S5A motherboard) + + pci:v00001039d00007001sv00001039sd00007000* +- ID_MODEL_FROM_DATABASE=Onboard USB Controller ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Onboard USB Controller) + + pci:v00001039d00007001sv00001462sd00005470* +- ID_MODEL_FROM_DATABASE=ECS K7SOM+ motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ECS K7SOM+ motherboard) + + pci:v00001039d00007001sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (MS-6701 motherboard) + + pci:v00001039d00007001sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (D2030-A1 Motherboard) + + pci:v00001039d00007002* + ID_MODEL_FROM_DATABASE=USB 2.0 Controller + + pci:v00001039d00007002sv00001462sd00005470* +- ID_MODEL_FROM_DATABASE=K7SOM+ 5.2C Motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (K7SOM+ 5.2C Motherboard) + + pci:v00001039d00007002sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (MS-6701 motherboard) + + pci:v00001039d00007002sv00001509sd00007002* +- ID_MODEL_FROM_DATABASE=Onboard USB Controller ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (Onboard USB Controller) + + pci:v00001039d00007002sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (D2030-A1) + + pci:v00001039d00007007* + ID_MODEL_FROM_DATABASE=FireWire Controller + + pci:v00001039d00007007sv00001462sd0000701D* +- ID_MODEL_FROM_DATABASE=MS-6701 ++ ID_MODEL_FROM_DATABASE=FireWire Controller (MS-6701) + + pci:v00001039d00007012* + ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller + + pci:v00001039d00007012sv00001019sd00000F05* +- ID_MODEL_FROM_DATABASE=A928 (i-Buddie) ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A928 (i-Buddie)) + + pci:v00001039d00007012sv00001039sd00007012* +- ID_MODEL_FROM_DATABASE=SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller) + + pci:v00001039d00007012sv00001043sd0000818F* +- ID_MODEL_FROM_DATABASE=A8S-X Motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A8S-X Motherboard) + + pci:v00001039d00007012sv000013F6sd00000300* +- ID_MODEL_FROM_DATABASE=CMI9739(A) on ECS K7SOM+ motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (CMI9739(A) on ECS K7SOM+ motherboard) + + pci:v00001039d00007012sv00001462sd00005850* +- ID_MODEL_FROM_DATABASE=MSI 648 Max (MS-6585) ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MSI 648 Max (MS-6585)) + + pci:v00001039d00007012sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MS-6701 motherboard) + + pci:v00001039d00007012sv000015BDsd00001001* +- ID_MODEL_FROM_DATABASE=DFI 661FX motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (DFI 661FX motherboard) + + pci:v00001039d00007012sv00001734sd0000109F* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (D2030-A1 Motherboard) + + pci:v00001039d00007012sv00001849sd00007012* +- ID_MODEL_FROM_DATABASE=K7S41GX motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (K7S41GX motherboard) + + pci:v00001039d00007013* + ID_MODEL_FROM_DATABASE=AC'97 Modem Controller +@@ -13530,7 +13530,7 @@ pci:v00001039d00007016* + ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter + + pci:v00001039d00007016sv00001039sd00007016* +- ID_MODEL_FROM_DATABASE=SiS7016 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter (SiS7016 10/100 Ethernet Adapter) + + pci:v00001039d00007018* + ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator +@@ -13560,7 +13560,7 @@ pci:v00001039d00007018sv00001043sd0000800B* + ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator + + pci:v00001039d00007018sv0000104Dsd000080E2* +- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 ++ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator (VAIO PCV-J200) + + pci:v00001039d00007018sv00001054sd00007018* + ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator +@@ -13635,25 +13635,25 @@ pci:v0000103Cd00001029* + ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter + + pci:v0000103Cd00001029sv0000107Esd0000000F* +- ID_MODEL_FROM_DATABASE=Interphase 5560 Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (Interphase 5560 Fibre Channel Adapter) + + pci:v0000103Cd00001029sv00009004sd00009210* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd00001029sv00009004sd00009211* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd0000102A* + ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter + + pci:v0000103Cd0000102Asv0000107Esd0000000E* +- ID_MODEL_FROM_DATABASE=Interphase 5540/5541 Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (Interphase 5540/5541 Fibre Channel Adapter) + + pci:v0000103Cd0000102Asv00009004sd00009110* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd0000102Asv00009004sd00009111* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd00001030* + ID_MODEL_FROM_DATABASE=J2585A DeskDirect 10/100VG NIC +@@ -13662,13 +13662,13 @@ pci:v0000103Cd00001031* + ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter + + pci:v0000103Cd00001031sv0000103Csd00001040* +- ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC ++ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2973A DeskDirect 10BaseT NIC) + + pci:v0000103Cd00001031sv0000103Csd00001041* +- ID_MODEL_FROM_DATABASE=J2585B DeskDirect 10/100VG NIC ++ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2585B DeskDirect 10/100VG NIC) + + pci:v0000103Cd00001031sv0000103Csd00001042* +- ID_MODEL_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC ++ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2970A DeskDirect 10BaseT/2 NIC) + + pci:v0000103Cd00001040* + ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC +@@ -13683,28 +13683,28 @@ pci:v0000103Cd00001048* + ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART + + pci:v0000103Cd00001048sv0000103Csd00001049* +- ID_MODEL_FROM_DATABASE=Tosca Console ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Console) + + pci:v0000103Cd00001048sv0000103Csd0000104A* +- ID_MODEL_FROM_DATABASE=Tosca Secondary ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Secondary) + + pci:v0000103Cd00001048sv0000103Csd0000104B* +- ID_MODEL_FROM_DATABASE=Maestro SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Maestro SP2) + + pci:v0000103Cd00001048sv0000103Csd00001223* +- ID_MODEL_FROM_DATABASE=Superdome Console ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Superdome Console) + + pci:v0000103Cd00001048sv0000103Csd00001226* +- ID_MODEL_FROM_DATABASE=Keystone SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Keystone SP2) + + pci:v0000103Cd00001048sv0000103Csd00001227* +- ID_MODEL_FROM_DATABASE=Powerbar SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Powerbar SP2) + + pci:v0000103Cd00001048sv0000103Csd00001282* +- ID_MODEL_FROM_DATABASE=Everest SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Everest SP2) + + pci:v0000103Cd00001048sv0000103Csd00001301* +- ID_MODEL_FROM_DATABASE=Diva RMP3 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Diva RMP3) + + pci:v0000103Cd00001054* + ID_MODEL_FROM_DATABASE=PCI Local Bus Adapter +@@ -13758,7 +13758,7 @@ pci:v0000103Cd00001290* + ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port + + pci:v0000103Cd00001290sv0000103Csd00001291* +- ID_MODEL_FROM_DATABASE=Diva SP2 ++ ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port (Diva SP2) + + pci:v0000103Cd00001291* + ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port +@@ -13794,208 +13794,208 @@ pci:v0000103Cd00003220* + ID_MODEL_FROM_DATABASE=Smart Array P600 + + pci:v0000103Cd00003220sv0000103Csd00003225* +- ID_MODEL_FROM_DATABASE=3 Gb/s SAS RAID ++ ID_MODEL_FROM_DATABASE=Smart Array P600 (3 Gb/s SAS RAID) + + pci:v0000103Cd00003230* + ID_MODEL_FROM_DATABASE=Smart Array Controller + + pci:v0000103Cd00003230sv0000103Csd00003223* +- ID_MODEL_FROM_DATABASE=Smart Array P800 ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (Smart Array P800) + + pci:v0000103Cd00003230sv0000103Csd00003234* +- ID_MODEL_FROM_DATABASE=P400 SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400 SAS Controller) + + pci:v0000103Cd00003230sv0000103Csd00003235* +- ID_MODEL_FROM_DATABASE=P400i SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400i SAS Controller) + + pci:v0000103Cd00003230sv0000103Csd00003237* +- ID_MODEL_FROM_DATABASE=E500 SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (E500 SAS Controller) + + pci:v0000103Cd00003230sv0000103Csd0000323D* +- ID_MODEL_FROM_DATABASE=P700m SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (P700m SAS Controller) + + pci:v0000103Cd00003238* + ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) + + pci:v0000103Cd00003238sv0000103Csd00003211* +- ID_MODEL_FROM_DATABASE=Smart Array E200i ++ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200i) + + pci:v0000103Cd00003238sv0000103Csd00003212* +- ID_MODEL_FROM_DATABASE=Smart Array E200 ++ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200) + + pci:v0000103Cd00003239* + ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers + + pci:v0000103Cd00003239sv0000103Csd000021BD* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021BE* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021BF* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C0* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C1* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C2* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C3* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C4* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C5* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C6* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C7* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C8* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C9* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CA* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CB* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CC* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CD* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CE* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd0000323A* + ID_MODEL_FROM_DATABASE=Smart Array G6 controllers + + pci:v0000103Cd0000323Asv0000103Csd00003241* +- ID_MODEL_FROM_DATABASE=Smart Array P212 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P212) + + pci:v0000103Cd0000323Asv0000103Csd00003243* +- ID_MODEL_FROM_DATABASE=Smart Array P410 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410) + + pci:v0000103Cd0000323Asv0000103Csd00003245* +- ID_MODEL_FROM_DATABASE=Smart Array P410i ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410i) + + pci:v0000103Cd0000323Asv0000103Csd00003247* +- ID_MODEL_FROM_DATABASE=Smart Array P411 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P411) + + pci:v0000103Cd0000323Asv0000103Csd00003249* +- ID_MODEL_FROM_DATABASE=Smart Array P812 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P812) + + pci:v0000103Cd0000323Asv0000103Csd0000324A* +- ID_MODEL_FROM_DATABASE=HP Smart Array 712m (Mezzanine RAID controller) ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (HP Smart Array 712m (Mezzanine RAID controller)) + + pci:v0000103Cd0000323Asv0000103Csd0000324B* +- ID_MODEL_FROM_DATABASE=Smart Array P711m (Mezzanine RAID controller) ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P711m (Mezzanine RAID controller)) + + pci:v0000103Cd0000323B* + ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers + + pci:v0000103Cd0000323Bsv0000103Csd00003350* +- ID_MODEL_FROM_DATABASE=P222 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P222) + + pci:v0000103Cd0000323Bsv0000103Csd00003351* +- ID_MODEL_FROM_DATABASE=P420 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420) + + pci:v0000103Cd0000323Bsv0000103Csd00003352* +- ID_MODEL_FROM_DATABASE=P421 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P421) + + pci:v0000103Cd0000323Bsv0000103Csd00003354* +- ID_MODEL_FROM_DATABASE=P420i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420i) + + pci:v0000103Cd0000323Bsv0000103Csd00003355* +- ID_MODEL_FROM_DATABASE=P220i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P220i) + + pci:v0000103Cd0000323C* + ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers + + pci:v0000103Cd0000323Csv0000103Csd00001920* +- ID_MODEL_FROM_DATABASE=P430i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430i) + + pci:v0000103Cd0000323Csv0000103Csd00001921* +- ID_MODEL_FROM_DATABASE=P830i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830i) + + pci:v0000103Cd0000323Csv0000103Csd00001922* +- ID_MODEL_FROM_DATABASE=P430 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430) + + pci:v0000103Cd0000323Csv0000103Csd00001923* +- ID_MODEL_FROM_DATABASE=P431 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P431) + + pci:v0000103Cd0000323Csv0000103Csd00001924* +- ID_MODEL_FROM_DATABASE=P830 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830) + + pci:v0000103Cd0000323Csv0000103Csd00001925* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (Smart Array) + + pci:v0000103Cd0000323Csv0000103Csd00001926* +- ID_MODEL_FROM_DATABASE=P731m ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P731m) + + pci:v0000103Cd0000323Csv0000103Csd00001928* +- ID_MODEL_FROM_DATABASE=P230i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P230i) + + pci:v0000103Cd00003300* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller + + pci:v0000103Cd00003300sv0000103Csd00003304* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) + + pci:v0000103Cd00003300sv0000103Csd00003305* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) + + pci:v0000103Cd00003300sv0000103Csd00003309* +- ID_MODEL_FROM_DATABASE=iLO2 GXL/iLO3 GXE ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2 GXL/iLO3 GXE) + + pci:v0000103Cd00003300sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO3) + + pci:v0000103Cd00003300sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO4) + + pci:v0000103Cd00003301* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port + + pci:v0000103Cd00003301sv0000103Csd00003304* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) + + pci:v0000103Cd00003301sv0000103Csd00003305* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) + + pci:v0000103Cd00003301sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO3) + + pci:v0000103Cd00003301sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO4) + + pci:v0000103Cd00003302* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface + + pci:v0000103Cd00003302sv0000103Csd00003304* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) + + pci:v0000103Cd00003302sv0000103Csd00003305* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) + + pci:v0000103Cd00003302sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO3) + + pci:v0000103Cd00003302sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO4) + + pci:v0000103Cd00003305* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out (iLO2) Controller +@@ -14004,31 +14004,31 @@ pci:v0000103Cd00003306* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support + + pci:v0000103Cd00003306sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO3) + + pci:v0000103Cd00003306sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO4) + + pci:v0000103Cd00003307* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging + + pci:v0000103Cd00003307sv0000103Csd00003309* +- ID_MODEL_FROM_DATABASE=iLO 2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO 2) + + pci:v0000103Cd00003307sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO3) + + pci:v0000103Cd00003307sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO4) + + pci:v0000103Cd00003308* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer + + pci:v0000103Cd00003308sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO3) + + pci:v0000103Cd00003308sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO4) + + pci:v0000103Cd0000402F* + ID_MODEL_FROM_DATABASE=PCIe Root Port +@@ -14082,19 +14082,19 @@ pci:v00001043d00000675* + ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D + + pci:v00001043d00000675sv00000675sd00001704* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) ++ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, D, C)) + + pci:v00001043d00000675sv00000675sd00001707* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001043d00000675sv000010CFsd0000105E* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001043d00009602* + ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) + + pci:v00001043d00009602sv00001043sd000083A2* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) (M4A785TD Motherboard) + + pci:v00001044* + ID_VENDOR_FROM_DATABASE=Adaptec (formerly DPT) +@@ -14112,118 +14112,118 @@ pci:v00001044d0000A501* + ID_MODEL_FROM_DATABASE=SmartRAID V Controller + + pci:v00001044d0000A501sv00001044sd0000C001* +- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C002* +- ID_MODEL_FROM_DATABASE=PM1654U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1654U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C003* +- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C004* +- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C005* +- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C00A* +- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C00B* +- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C00C* +- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C00D* +- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C00E* +- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C00F* +- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C014* +- ID_MODEL_FROM_DATABASE=PM3754U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3754U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C015* +- ID_MODEL_FROM_DATABASE=PM3755U2B Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755U2B Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C016* +- ID_MODEL_FROM_DATABASE=PM3755F Fibre Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755F Fibre Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C01E* +- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C01F* +- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C020* +- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C021* +- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Quad Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Quad Channel) + + pci:v00001044d0000A501sv00001044sd0000C028* +- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C029* +- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C02A* +- ID_MODEL_FROM_DATABASE=PM2865F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C03C* +- ID_MODEL_FROM_DATABASE=2000S Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C03D* +- ID_MODEL_FROM_DATABASE=2000S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C03E* +- ID_MODEL_FROM_DATABASE=2000F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C046* +- ID_MODEL_FROM_DATABASE=3000S Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C047* +- ID_MODEL_FROM_DATABASE=3000S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C048* +- ID_MODEL_FROM_DATABASE=3000F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C050* +- ID_MODEL_FROM_DATABASE=5000S Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C051* +- ID_MODEL_FROM_DATABASE=5000S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C052* +- ID_MODEL_FROM_DATABASE=5000F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C05A* +- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel) + + pci:v00001044d0000A501sv00001044sd0000C05B* +- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel DAC ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel DAC) + + pci:v00001044d0000A501sv00001044sd0000C064* +- ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C065* +- ID_MODEL_FROM_DATABASE=3410S Ultra160 Four Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3410S Ultra160 Four Channel) + + pci:v00001044d0000A501sv00001044sd0000C066* +- ID_MODEL_FROM_DATABASE=3010S Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Fibre Channel) + + pci:v00001044d0000A511* + ID_MODEL_FROM_DATABASE=SmartRAID V Controller + + pci:v00001044d0000A511sv00001044sd0000C032* +- ID_MODEL_FROM_DATABASE=ASR-2005S I2O Zero Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2005S I2O Zero Channel) + + pci:v00001044d0000A511sv00001044sd0000C035* +- ID_MODEL_FROM_DATABASE=ASR-2010S I2O Zero Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2010S I2O Zero Channel) + + pci:v00001044d0000C066* + ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel +@@ -14325,7 +14325,7 @@ pci:v00001048d00008901* + ID_MODEL_FROM_DATABASE=Gloria XL + + pci:v00001048d00008901sv00001048sd00000935* +- ID_MODEL_FROM_DATABASE=GLoria XL (Virge) ++ ID_MODEL_FROM_DATABASE=Gloria XL (GLoria XL (Virge)) + + pci:v00001049* + ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc. +@@ -14346,19 +14346,19 @@ pci:v0000104Ad00000010* + ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] + + pci:v0000104Ad00000010sv0000104Asd00004018* +- ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (ST PowerVR Kyro (64MB AGP TVO)) + + pci:v0000104Ad00000010sv00001681sd00000010* +- ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (PowerVR Kyro II [3D Prophet 4500]) + + pci:v0000104Ad00000010sv00001681sd00000028* +- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) + + pci:v0000104Ad00000010sv00001681sd0000C010* +- ID_MODEL_FROM_DATABASE=3D Prophet 4500 TV-Out ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4500 TV-Out) + + pci:v0000104Ad00000010sv00001681sd0000C069* +- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) + + pci:v0000104Ad00000201* + ID_MODEL_FROM_DATABASE=STPC Vega Northbridge +@@ -14400,7 +14400,7 @@ pci:v0000104Ad00000500* + ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver + + pci:v0000104Ad00000500sv0000104Asd00000500* +- ID_MODEL_FROM_DATABASE=BeWAN ADSL PCI st ++ ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver (BeWAN ADSL PCI st) + + pci:v0000104Ad00000564* + ID_MODEL_FROM_DATABASE=STPC Client Northbridge +@@ -14454,115 +14454,115 @@ pci:v0000104Cd00003D07* + ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] + + pci:v0000104Cd00003D07sv00001011sd00004D10* +- ID_MODEL_FROM_DATABASE=Comet ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Comet) + + pci:v0000104Cd00003D07sv00001040sd0000000F* +- ID_MODEL_FROM_DATABASE=AccelStar II ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) + + pci:v0000104Cd00003D07sv00001040sd00000011* +- ID_MODEL_FROM_DATABASE=AccelStar II ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) + + pci:v0000104Cd00003D07sv00001048sd00000A31* +- ID_MODEL_FROM_DATABASE=WINNER 2000 ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WINNER 2000) + + pci:v0000104Cd00003D07sv00001048sd00000A32* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A34* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A35* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A36* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A43* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A44* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv0000107Dsd00002633* +- ID_MODEL_FROM_DATABASE=WinFast 3D L2300 ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WinFast 3D L2300) + + pci:v0000104Cd00003D07sv00001092sd00000126* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000127* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000136* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000141* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000146* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000148* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000149* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000152* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000154* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000155* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000156* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000157* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001097sd00003D01* +- ID_MODEL_FROM_DATABASE=Jeronimo Pro ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Jeronimo Pro) + + pci:v0000104Cd00003D07sv00001102sd0000100F* +- ID_MODEL_FROM_DATABASE=Graphics Blaster Extreme ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Graphics Blaster Extreme) + + pci:v0000104Cd00003D07sv00003D3Dsd00000100* +- ID_MODEL_FROM_DATABASE=Reference Permedia 2 3D ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Reference Permedia 2 3D) + + pci:v0000104Cd00008000* + ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller + + pci:v0000104Cd00008000sv0000105Esd00008003* +- ID_MODEL_FROM_DATABASE=FireBoard200 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) + + pci:v0000104Cd00008000sv00001443sd00008003* +- ID_MODEL_FROM_DATABASE=FireBoard200 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) + + pci:v0000104Cd00008000sv00001443sd00008005* +- ID_MODEL_FROM_DATABASE=FireBoard400 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) + + pci:v0000104Cd00008000sv00001443sd00008006* +- ID_MODEL_FROM_DATABASE=FireBoard400 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) + + pci:v0000104Cd00008000sv0000E4BFsd00001010* +- ID_MODEL_FROM_DATABASE=CF1-1-SNARE ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-1-SNARE) + + pci:v0000104Cd00008000sv0000E4BFsd00001020* +- ID_MODEL_FROM_DATABASE=CF1-2-SNARE ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-2-SNARE) + + pci:v0000104Cd00008000sv0000E4BFsd00001040* +- ID_MODEL_FROM_DATABASE=FireCompact400 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireCompact400) + + pci:v0000104Cd00008009* + ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller + + pci:v0000104Cd00008009sv0000104Dsd00008032* +- ID_MODEL_FROM_DATABASE=8032 OHCI i.LINK (IEEE 1394) Controller ++ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (8032 OHCI i.LINK (IEEE 1394) Controller) + + pci:v0000104Cd00008009sv00001443sd00008010* +- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI ++ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (FireBoard400-OHCI) + + pci:v0000104Cd00008017* + ID_MODEL_FROM_DATABASE=PCI4410 FireWire Controller +@@ -14571,223 +14571,223 @@ pci:v0000104Cd00008019* + ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller + + pci:v0000104Cd00008019sv000011BDsd0000000A* +- ID_MODEL_FROM_DATABASE=Studio DV500-1394 ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV500-1394) + + pci:v0000104Cd00008019sv000011BDsd0000000E* +- ID_MODEL_FROM_DATABASE=Studio DV ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV) + + pci:v0000104Cd00008019sv00001443sd00008010* +- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (FireBoard400-OHCI) + + pci:v0000104Cd00008019sv0000E4BFsd00001010* +- ID_MODEL_FROM_DATABASE=CF2-1-CYMBAL ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (CF2-1-CYMBAL) + + pci:v0000104Cd00008020* + ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) + + pci:v0000104Cd00008020sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Precision 530) + + pci:v0000104Cd00008020sv0000104Dsd000080E2* +- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (VAIO PCV-J200) + + pci:v0000104Cd00008020sv000011BDsd0000000F* +- ID_MODEL_FROM_DATABASE=Studio DV500-1394 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Studio DV500-1394) + + pci:v0000104Cd00008020sv000011BDsd0000001C* +- ID_MODEL_FROM_DATABASE=Excalibur 4.1 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Excalibur 4.1) + + pci:v0000104Cd00008020sv00001443sd00008010* +- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (FireBoard400-OHCI) + + pci:v0000104Cd00008021* + ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) + + pci:v0000104Cd00008021sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (Vaio PCG-FX403) + + pci:v0000104Cd00008021sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v0000104Cd00008022* + ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + + pci:v0000104Cd00008022sv0000104Csd00008023* +- ID_MODEL_FROM_DATABASE=TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) ++ ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)) + + pci:v0000104Cd00008023* + ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + + pci:v0000104Cd00008023sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Precision Workstation 670 Mainboard) + + pci:v0000104Cd00008023sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (NC8000 laptop) + + pci:v0000104Cd00008023sv00001043sd0000808B* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (K8N4/A8N Series Mainboard) + + pci:v0000104Cd00008023sv00001043sd0000815B* +- ID_MODEL_FROM_DATABASE=P5W DH Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (P5W DH Deluxe Motherboard) + + pci:v0000104Cd00008023sv00001443sd00008023* +- ID_MODEL_FROM_DATABASE=FireCard400 ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (FireCard400) + + pci:v0000104Cd00008023sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Desktop Board DP35DP) + + pci:v0000104Cd00008024* + ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) + + pci:v0000104Cd00008024sv0000107Dsd00006620* +- ID_MODEL_FROM_DATABASE=Winfast DV2000 FireWire Controller ++ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Winfast DV2000 FireWire Controller) + + pci:v0000104Cd00008024sv00001443sd00008024* +- ID_MODEL_FROM_DATABASE=FireBoard Blue ++ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (FireBoard Blue) + + pci:v0000104Cd00008024sv00001458sd00001000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Motherboard) + + pci:v0000104Cd00008025* + ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller + + pci:v0000104Cd00008025sv00001043sd0000813C* +- ID_MODEL_FROM_DATABASE=P5P series mainboard ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (P5P series mainboard) + + pci:v0000104Cd00008025sv00001443sd00008025* +- ID_MODEL_FROM_DATABASE=FireBoard800 ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FireBoard800) + + pci:v0000104Cd00008025sv00001458sd00001000* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GA-K8N Ultra-9 Mainboard) + + pci:v0000104Cd00008025sv00001546sd00008025* +- ID_MODEL_FROM_DATABASE=FWB-PCI01 ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FWB-PCI01) + + pci:v0000104Cd00008025sv000017FCsd00008025* +- ID_MODEL_FROM_DATABASE=GIC3800 ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GIC3800) + + pci:v0000104Cd00008026* + ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) + + pci:v0000104Cd00008026sv00001025sd00000035* +- ID_MODEL_FROM_DATABASE=TravelMate 660 ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (TravelMate 660) + + pci:v0000104Cd00008026sv00001025sd0000003C* +- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compaq CL50 motherboard) ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (Aspire 2001WLCi (Compaq CL50 motherboard)) + + pci:v0000104Cd00008026sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (XE4500 Notebook) + + pci:v0000104Cd00008026sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (NX9500) + + pci:v0000104Cd00008026sv00001043sd0000808D* +- ID_MODEL_FROM_DATABASE=A7V333 mainboard. ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (A7V333 mainboard.) + + pci:v0000104Cd00008027* + ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller + + pci:v0000104Cd00008027sv00001028sd000000E5* +- ID_MODEL_FROM_DATABASE=Latitude C810 ++ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Latitude C810) + + pci:v0000104Cd00008027sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller ((Dell Inspiron 8100)) + + pci:v0000104Cd00008029* + ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller + + pci:v0000104Cd00008029sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Latitude D505) + + pci:v0000104Cd00008029sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Inspiron 5160) + + pci:v0000104Cd00008029sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2900 ++ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (MIM2900) + + pci:v0000104Cd0000802B* + ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller + + pci:v0000104Cd0000802Bsv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D400) + + pci:v0000104Cd0000802Bsv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) ++ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller ((Latitude D800)) + + pci:v0000104Cd0000802E* + ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller + + pci:v0000104Cd0000802Esv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller (Inspiron 700m/710m) + + pci:v0000104Cd00008031* + ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller + + pci:v0000104Cd00008031sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008031sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008031sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (NX6110/NC6120) + + pci:v0000104Cd00008031sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (MX6125) + + pci:v0000104Cd00008032* + ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller + + pci:v0000104Cd00008032sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008032sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008032sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (NX6110/NC6120) + + pci:v0000104Cd00008032sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (MX6125) + + pci:v0000104Cd00008033* + ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller + + pci:v0000104Cd00008033sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008033sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008033sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (NX6110/NC6120) + + pci:v0000104Cd00008033sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (MX6125) + + pci:v0000104Cd00008034* + ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller + + pci:v0000104Cd00008034sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008034sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008034sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (NX6110/NC6120) + + pci:v0000104Cd00008034sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (MX6125) + + pci:v0000104Cd00008035* + ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller + + pci:v0000104Cd00008035sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008035sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (NX6110/NC6120) + + pci:v0000104Cd00008036* + ID_MODEL_FROM_DATABASE=PCI6515 Cardbus Controller +@@ -14799,67 +14799,67 @@ pci:v0000104Cd00008039* + ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller + + pci:v0000104Cd00008039sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nx9420 Notebook) + + pci:v0000104Cd00008039sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (NC2400) + + pci:v0000104Cd00008039sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nw8440) + + pci:v0000104Cd00008039sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (VAIO VGN-NR120E) + + pci:v0000104Cd0000803A* + ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller + + pci:v0000104Cd0000803Asv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=nx9420 ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (nx9420) + + pci:v0000104Cd0000803Asv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (NC2400) + + pci:v0000104Cd0000803Asv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (Compaq nw8440) + + pci:v0000104Cd0000803Asv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (VAIO VGN-NR120E) + + pci:v0000104Cd0000803B* + ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) + + pci:v0000104Cd0000803Bsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=nx9420 ++ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (nx9420) + + pci:v0000104Cd0000803Bsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (Compaq nw8440) + + pci:v0000104Cd0000803Bsv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (VAIO VGN-NR120E) + + pci:v0000104Cd0000803C* + ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller + + pci:v0000104Cd0000803Csv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=nx9420 ++ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (nx9420) + + pci:v0000104Cd0000803Csv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (Compaq nw8440) + + pci:v0000104Cd0000803D* + ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller + + pci:v0000104Cd0000803Dsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (Compaq nx9420 Notebook) + + pci:v0000104Cd0000803Dsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (NC2400) + + pci:v0000104Cd0000803Dsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=nc8430 ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc8430) + + pci:v0000104Cd0000803Dsv0000103Csd000030AA* +- ID_MODEL_FROM_DATABASE=nc6310 ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc6310) + + pci:v0000104Cd00008101* + ID_MODEL_FROM_DATABASE=TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) +@@ -14871,16 +14871,16 @@ pci:v0000104Cd00008204* + ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function + + pci:v0000104Cd00008204sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D400) + + pci:v0000104Cd00008204sv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=Latitude D800 ++ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D800) + + pci:v0000104Cd00008231* + ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge + + pci:v0000104Cd00008231sv00005678sd00001234* +- ID_MODEL_FROM_DATABASE=DC-1394 PCIe ++ ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge (DC-1394 PCIe) + + pci:v0000104Cd00008232* + ID_MODEL_FROM_DATABASE=XIO3130 PCI Express Switch (Upstream) +@@ -14892,7 +14892,7 @@ pci:v0000104Cd00008235* + ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) + + pci:v0000104Cd00008235sv00005678sd00001234* +- ID_MODEL_FROM_DATABASE=DC-1394 PCIe ++ ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) (DC-1394 PCIe) + + pci:v0000104Cd0000823E* + ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] +@@ -14901,7 +14901,7 @@ pci:v0000104Cd0000823F* + ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] + + pci:v0000104Cd0000823Fsv00001546sd0000803C* +- ID_MODEL_FROM_DATABASE=FWB-PCIE1X11B ++ ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (FWB-PCIE1X11B) + + pci:v0000104Cd00008240* + ID_MODEL_FROM_DATABASE=XIO2001 PCI Express-to-PCI Bridge +@@ -14913,16 +14913,16 @@ pci:v0000104Cd00008400* + ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface + + pci:v0000104Cd00008400sv00001186sd00003B00* +- ID_MODEL_FROM_DATABASE=DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]) + + pci:v0000104Cd00008400sv00001186sd00003B01* +- ID_MODEL_FROM_DATABASE=DWL-520+ 22Mbps PCI Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-520+ 22Mbps PCI Wireless Adapter) + + pci:v0000104Cd00008400sv00001395sd00002201* +- ID_MODEL_FROM_DATABASE=WL22-PC ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL22-PC) + + pci:v0000104Cd00008400sv000016ABsd00008501* +- ID_MODEL_FROM_DATABASE=WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter) + + pci:v0000104Cd00008401* + ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface +@@ -14937,58 +14937,58 @@ pci:v0000104Cd00009066* + ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface + + pci:v0000104Cd00009066sv00000308sd00003404* +- ID_MODEL_FROM_DATABASE=G-102 v1 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-102 v1 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv00000308sd00003406* +- ID_MODEL_FROM_DATABASE=G-162 v2 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v2 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv0000104Csd00009066* +- ID_MODEL_FROM_DATABASE=WL212 Sitecom Wireless Network PCI-Card 100M (Version 1) ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WL212 Sitecom Wireless Network PCI-Card 100M (Version 1)) + + pci:v0000104Cd00009066sv0000104Csd00009067* +- ID_MODEL_FROM_DATABASE=TNETW1130GVF ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (TNETW1130GVF) + + pci:v0000104Cd00009066sv0000104Csd00009096* +- ID_MODEL_FROM_DATABASE=Trendnet TEW-412PC Wireless PCI Adapter (Version A) ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Trendnet TEW-412PC Wireless PCI Adapter (Version A)) + + pci:v0000104Cd00009066sv00001186sd00003B04* +- ID_MODEL_FROM_DATABASE=DWL-G520+ Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G520+ Wireless PCI Adapter) + + pci:v0000104Cd00009066sv00001186sd00003B05* +- ID_MODEL_FROM_DATABASE=DWL-G650+ AirPlusG+ CardBus Wireless LAN ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G650+ AirPlusG+ CardBus Wireless LAN) + + pci:v0000104Cd00009066sv00001186sd00003B08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1) ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1)) + + pci:v0000104Cd00009066sv00001385sd00004C00* +- ID_MODEL_FROM_DATABASE=WG311v2 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WG311v2 802.11g Wireless PCI Adapter) + + pci:v0000104Cd00009066sv000013D1sd0000ABA0* +- ID_MODEL_FROM_DATABASE=SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+) + + pci:v0000104Cd00009066sv000014EAsd0000AB07* +- ID_MODEL_FROM_DATABASE=GW-NS54GM Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (GW-NS54GM Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv000016ECsd0000010D* +- ID_MODEL_FROM_DATABASE=USR5416 802.11g Wireless Turbo PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5416 802.11g Wireless Turbo PCI Adapter) + + pci:v0000104Cd00009066sv000016ECsd0000010E* +- ID_MODEL_FROM_DATABASE=USR5410 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5410 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv00001737sd00000033* +- ID_MODEL_FROM_DATABASE=WPC54G v2 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WPC54G v2 802.11g Wireless-G Notebook Adapter) + + pci:v0000104Cd00009066sv000017CFsd00000032* +- ID_MODEL_FROM_DATABASE=G-162 v1 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v1 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv000017CFsd00000033* +- ID_MODEL_FROM_DATABASE=Z-Com XG650 Wireless miniPCI 802.11b/g ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Z-Com XG650 Wireless miniPCI 802.11b/g) + + pci:v0000104Cd00009066sv0000187Esd0000340B* +- ID_MODEL_FROM_DATABASE=G-302 v2 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-302 v2 802.11g Wireless PCI Adapter) + + pci:v0000104Cd00009066sv0000187Esd0000340C* +- ID_MODEL_FROM_DATABASE=G-360 v2 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-360 v2 802.11g Wireless PCI Adapter) + + pci:v0000104Cd0000A001* + ID_MODEL_FROM_DATABASE=TDC1570 +@@ -15003,13 +15003,13 @@ pci:v0000104Cd0000A106* + ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 + + pci:v0000104Cd0000A106sv0000175Csd00005000* +- ID_MODEL_FROM_DATABASE=ASI50xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI50xx Audio Adapter) + + pci:v0000104Cd0000A106sv0000175Csd00006400* +- ID_MODEL_FROM_DATABASE=ASI6400 Cobranet series ++ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI6400 Cobranet series) + + pci:v0000104Cd0000A106sv0000175Csd00008700* +- ID_MODEL_FROM_DATABASE=ASI87xx Radio Tuner card ++ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI87xx Radio Tuner card) + + pci:v0000104Cd0000AC10* + ID_MODEL_FROM_DATABASE=PCI1050 +@@ -15030,7 +15030,7 @@ pci:v0000104Cd0000AC16* + ID_MODEL_FROM_DATABASE=PCI1250 + + pci:v0000104Cd0000AC16sv00001014sd00000092* +- ID_MODEL_FROM_DATABASE=ThinkPad 600 ++ ID_MODEL_FROM_DATABASE=PCI1250 (ThinkPad 600) + + pci:v0000104Cd0000AC17* + ID_MODEL_FROM_DATABASE=PCI1220 +@@ -15048,19 +15048,19 @@ pci:v0000104Cd0000AC1B* + ID_MODEL_FROM_DATABASE=PCI1450 + + pci:v0000104Cd0000AC1Bsv00000E11sd0000B113* +- ID_MODEL_FROM_DATABASE=Armada M700 ++ ID_MODEL_FROM_DATABASE=PCI1450 (Armada M700) + + pci:v0000104Cd0000AC1Bsv00001014sd00000130* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A21m/T20/T22 ++ ID_MODEL_FROM_DATABASE=PCI1450 (ThinkPad 600X/A21m/T20/T22) + + pci:v0000104Cd0000AC1C* + ID_MODEL_FROM_DATABASE=PCI1225 + + pci:v0000104Cd0000AC1Csv00000E11sd0000B121* +- ID_MODEL_FROM_DATABASE=Armada E500 ++ ID_MODEL_FROM_DATABASE=PCI1225 (Armada E500) + + pci:v0000104Cd0000AC1Csv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=Latitude CPi A400XT ++ ID_MODEL_FROM_DATABASE=PCI1225 (Latitude CPi A400XT) + + pci:v0000104Cd0000AC1D* + ID_MODEL_FROM_DATABASE=PCI1251A +@@ -15102,40 +15102,40 @@ pci:v0000104Cd0000AC42* + ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller + + pci:v0000104Cd0000AC42sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=PCI4451 PC card CardBus Controller (Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller (PCI4451 PC card CardBus Controller (Inspiron 8100)) + + pci:v0000104Cd0000AC44* + ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller + + pci:v0000104Cd0000AC44sv00001028sd00000149* +- ID_MODEL_FROM_DATABASE=Inspiron 5100 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5100) + + pci:v0000104Cd0000AC44sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Latitude D505) + + pci:v0000104Cd0000AC44sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5160) + + pci:v0000104Cd0000AC44sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (MIM2000) + + pci:v0000104Cd0000AC46* + ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller + + pci:v0000104Cd0000AC46sv00001014sd00000552* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller (ThinkPad) + + pci:v0000104Cd0000AC47* + ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller + + pci:v0000104Cd0000AC47sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D400) + + pci:v0000104Cd0000AC47sv00001028sd0000013F* +- ID_MODEL_FROM_DATABASE=Precision M60 ++ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Precision M60) + + pci:v0000104Cd0000AC47sv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=Latitude D800 ++ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D800) + + pci:v0000104Cd0000AC48* + ID_MODEL_FROM_DATABASE=PCI7610 PC Card Cardbus Controller +@@ -15147,10 +15147,10 @@ pci:v0000104Cd0000AC4A* + ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge + + pci:v0000104Cd0000AC4Asv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D400) + + pci:v0000104Cd0000AC4Asv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=Latitude D800 ++ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D800) + + pci:v0000104Cd0000AC4B* + ID_MODEL_FROM_DATABASE=PCI7610 SD/MMC controller +@@ -15165,28 +15165,28 @@ pci:v0000104Cd0000AC51* + ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller + + pci:v0000104Cd0000AC51sv00000E11sd0000004E* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Evo N600c) + + pci:v0000104Cd0000AC51sv00001014sd00000148* +- ID_MODEL_FROM_DATABASE=ThinkPad A20m ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad A20m) + + pci:v0000104Cd0000AC51sv00001014sd0000023B* +- ID_MODEL_FROM_DATABASE=ThinkPad T23 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad T23) + + pci:v0000104Cd0000AC51sv00001028sd000000B1* +- ID_MODEL_FROM_DATABASE=Latitude C600 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C600) + + pci:v0000104Cd0000AC51sv00001028sd0000012A* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C640) + + pci:v0000104Cd0000AC51sv00001033sd000080CD* +- ID_MODEL_FROM_DATABASE=Versa Note VXi ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Versa Note VXi) + + pci:v0000104Cd0000AC51sv000010CFsd00001095* +- ID_MODEL_FROM_DATABASE=Lifebook S-4510/C6155 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Lifebook S-4510/C6155) + + pci:v0000104Cd0000AC51sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CP2-2-HIPHOP ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (CP2-2-HIPHOP) + + pci:v0000104Cd0000AC52* + ID_MODEL_FROM_DATABASE=PCI1451 PC card Cardbus Controller +@@ -15198,55 +15198,55 @@ pci:v0000104Cd0000AC54* + ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller + + pci:v0000104Cd0000AC54sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller (tc1100 tablet) + + pci:v0000104Cd0000AC55* + ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller + + pci:v0000104Cd0000AC55sv00001014sd00000512* +- ID_MODEL_FROM_DATABASE=ThinkPad T30/T40 ++ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (ThinkPad T30/T40) + + pci:v0000104Cd0000AC55sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (XE4500 Notebook) + + pci:v0000104Cd0000AC56* + ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller + + pci:v0000104Cd0000AC56sv00001014sd00000512* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R50e) + + pci:v0000104Cd0000AC56sv00001014sd00000528* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R40e) + + pci:v0000104Cd0000AC56sv000017AAsd00002012* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad T60/R60 series) + + pci:v0000104Cd0000AC60* + ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller + + pci:v0000104Cd0000AC60sv0000175Csd00005100* +- ID_MODEL_FROM_DATABASE=ASI51xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI51xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000175Csd00006100* +- ID_MODEL_FROM_DATABASE=ASI61xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI61xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000175Csd00006200* +- ID_MODEL_FROM_DATABASE=ASI62xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI62xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000175Csd00008800* +- ID_MODEL_FROM_DATABASE=ASI88xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI88xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000186Fsd00003001* +- ID_MODEL_FROM_DATABASE=WR-G303 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G303 PCI radio receiver) + + pci:v0000104Cd0000AC60sv0000186Fsd00003005* +- ID_MODEL_FROM_DATABASE=WR-G305 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G305 PCI radio receiver) + + pci:v0000104Cd0000AC60sv0000186Fsd00003101* +- ID_MODEL_FROM_DATABASE=WR-G313 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G313 PCI radio receiver) + + pci:v0000104Cd0000AC60sv0000186Fsd00003105* +- ID_MODEL_FROM_DATABASE=WR-G315 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G315 PCI radio receiver) + + pci:v0000104Cd0000AC8D* + ID_MODEL_FROM_DATABASE=PCI 7620 +@@ -15255,13 +15255,13 @@ pci:v0000104Cd0000AC8E* + ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller + + pci:v0000104Cd0000AC8Esv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller (Inspiron 700m/710m) + + pci:v0000104Cd0000AC8F* + ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller + + pci:v0000104Cd0000AC8Fsv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller (Inspiron 700m/710m) + + pci:v0000104Cd0000B001* + ID_MODEL_FROM_DATABASE=TMS320C6424 +@@ -15336,10 +15336,10 @@ pci:v00001050d00000840* + ID_MODEL_FROM_DATABASE=W89C840 + + pci:v00001050d00000840sv00001050sd00000001* +- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) + + pci:v00001050d00000840sv00001050sd00000840* +- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) + + pci:v00001050d00000940* + ID_MODEL_FROM_DATABASE=W89C940 +@@ -15351,22 +15351,22 @@ pci:v00001050d00006692* + ID_MODEL_FROM_DATABASE=W6692 + + pci:v00001050d00006692sv00001043sd00001702* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) + + pci:v00001050d00006692sv00001043sd00001703* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00006692sv00001043sd00001707* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00006692sv0000144Fsd00001702* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) + + pci:v00001050d00006692sv0000144Fsd00001703* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00006692sv0000144Fsd00001707* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00009921* + ID_MODEL_FROM_DATABASE=W99200F MPEG-1 Video Encoder +@@ -15501,76 +15501,76 @@ pci:v00001057d00001801* + ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor + + pci:v00001057d00001801sv000014FBsd00000101* +- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM]) + + pci:v00001057d00001801sv000014FBsd00000102* +- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM-2]) + + pci:v00001057d00001801sv000014FBsd00000202* +- ID_MODEL_FROM_DATABASE=Transas Radar Integrator Board [RIB-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Integrator Board [RIB-2]) + + pci:v00001057d00001801sv000014FBsd00000611* +- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci-1] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci-1]) + + pci:v00001057d00001801sv000014FBsd00000612* +- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci-2]) + + pci:v00001057d00001801sv000014FBsd00000613* +- ID_MODEL_FROM_DATABASE=3 channels CAN bus Controller [CanPci-3] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (3 channels CAN bus Controller [CanPci-3]) + + pci:v00001057d00001801sv000014FBsd00000614* +- ID_MODEL_FROM_DATABASE=4 channels CAN bus Controller [CanPci-4] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (4 channels CAN bus Controller [CanPci-4]) + + pci:v00001057d00001801sv000014FBsd00000621* +- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci2-1] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci2-1]) + + pci:v00001057d00001801sv000014FBsd00000622* +- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci2-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci2-2]) + + pci:v00001057d00001801sv000014FBsd00000810* +- ID_MODEL_FROM_DATABASE=Transas VTS Radar Integrator Board [RIB-4] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas VTS Radar Integrator Board [RIB-4]) + + pci:v00001057d00001801sv0000175Csd00004200* +- ID_MODEL_FROM_DATABASE=ASI4215 Audio Adapter ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4215 Audio Adapter) + + pci:v00001057d00001801sv0000175Csd00004300* +- ID_MODEL_FROM_DATABASE=ASI43xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI43xx Audio Adapter) + + pci:v00001057d00001801sv0000175Csd00004400* +- ID_MODEL_FROM_DATABASE=ASI4401 Audio Adapter ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4401 Audio Adapter) + + pci:v00001057d00001801sv0000ECC0sd00000010* +- ID_MODEL_FROM_DATABASE=Darla ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla) + + pci:v00001057d00001801sv0000ECC0sd00000020* +- ID_MODEL_FROM_DATABASE=Gina ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina) + + pci:v00001057d00001801sv0000ECC0sd00000030* +- ID_MODEL_FROM_DATABASE=Layla rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000031* +- ID_MODEL_FROM_DATABASE=Layla rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000040* +- ID_MODEL_FROM_DATABASE=Darla24 rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000041* +- ID_MODEL_FROM_DATABASE=Darla24 rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000050* +- ID_MODEL_FROM_DATABASE=Gina24 rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000051* +- ID_MODEL_FROM_DATABASE=Gina24 rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000070* +- ID_MODEL_FROM_DATABASE=Mona rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000071* +- ID_MODEL_FROM_DATABASE=Mona rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000072* +- ID_MODEL_FROM_DATABASE=Mona rev.2 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.2) + + pci:v00001057d000018C0* + ID_MODEL_FROM_DATABASE=MPC8265A/8266/8272 +@@ -15585,40 +15585,40 @@ pci:v00001057d00003410* + ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor + + pci:v00001057d00003410sv0000ECC0sd00000050* +- ID_MODEL_FROM_DATABASE=Gina24 rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.0) + + pci:v00001057d00003410sv0000ECC0sd00000051* +- ID_MODEL_FROM_DATABASE=Gina24 rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.1) + + pci:v00001057d00003410sv0000ECC0sd00000060* +- ID_MODEL_FROM_DATABASE=Layla24 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Layla24) + + pci:v00001057d00003410sv0000ECC0sd00000070* +- ID_MODEL_FROM_DATABASE=Mona rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.0) + + pci:v00001057d00003410sv0000ECC0sd00000071* +- ID_MODEL_FROM_DATABASE=Mona rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.1) + + pci:v00001057d00003410sv0000ECC0sd00000072* +- ID_MODEL_FROM_DATABASE=Mona rev.2 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.2) + + pci:v00001057d00003410sv0000ECC0sd00000080* +- ID_MODEL_FROM_DATABASE=Mia rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.0) + + pci:v00001057d00003410sv0000ECC0sd00000081* +- ID_MODEL_FROM_DATABASE=Mia rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.1) + + pci:v00001057d00003410sv0000ECC0sd00000090* +- ID_MODEL_FROM_DATABASE=Indigo ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo) + + pci:v00001057d00003410sv0000ECC0sd000000A0* +- ID_MODEL_FROM_DATABASE=Indigo IO ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo IO) + + pci:v00001057d00003410sv0000ECC0sd000000B0* +- ID_MODEL_FROM_DATABASE=Indigo DJ ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo DJ) + + pci:v00001057d00003410sv0000ECC0sd00000100* +- ID_MODEL_FROM_DATABASE=3G ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (3G) + + pci:v00001057d00004801* + ID_MODEL_FROM_DATABASE=Raven +@@ -15639,55 +15639,55 @@ pci:v00001057d00005600* + ID_MODEL_FROM_DATABASE=SM56 PCI Modem + + pci:v00001057d00005600sv00001057sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001057sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice Modem) + + pci:v00001057d00005600sv00001057sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001057sd00005600* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv000013D2sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv000013D2sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv000013D2sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001436sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001436sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv00001436sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv0000144Fsd0000100C* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001494sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001494sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv000014C8sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv000014C8sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001668sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001668sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005608* + ID_MODEL_FROM_DATABASE=Wildcard X100P +@@ -15723,16 +15723,16 @@ pci:v0000105Ad00000D30* + ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) + + pci:v0000105Ad00000D30sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=AV7266-E South Bridge Promise RAID ++ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (AV7266-E South Bridge Promise RAID) + + pci:v0000105Ad00000D30sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=Ultra100 ++ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (Ultra100) + + pci:v0000105Ad00000D38* + ID_MODEL_FROM_DATABASE=20263 + + pci:v0000105Ad00000D38sv0000105Asd00004D39* +- ID_MODEL_FROM_DATABASE=Fasttrak66 ++ ID_MODEL_FROM_DATABASE=20263 (Fasttrak66) + + pci:v0000105Ad00001275* + ID_MODEL_FROM_DATABASE=20275 +@@ -15744,10 +15744,10 @@ pci:v0000105Ad00003319* + ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) + + pci:v0000105Ad00003319sv0000105Asd00003319* +- ID_MODEL_FROM_DATABASE=FastTrak S150 TX4 4 port SATA PCI board ++ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (FastTrak S150 TX4 4 port SATA PCI board) + + pci:v0000105Ad00003319sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (S875WP1-E mainboard) + + pci:v0000105Ad00003371* + ID_MODEL_FROM_DATABASE=PDC20371 (FastTrak S150 TX2plus) +@@ -15756,13 +15756,13 @@ pci:v0000105Ad00003373* + ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) + + pci:v0000105Ad00003373sv00001043sd000080F5* +- ID_MODEL_FROM_DATABASE=K8V Deluxe/PC-DL Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8V Deluxe/PC-DL Deluxe motherboard) + + pci:v0000105Ad00003373sv00001462sd0000590D* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (KT6 Delta-FIS2R (MS-6590)) + + pci:v0000105Ad00003373sv00001462sd0000702E* +- ID_MODEL_FROM_DATABASE=K8T NEO FIS2R motherboard ++ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8T NEO FIS2R motherboard) + + pci:v0000105Ad00003375* + ID_MODEL_FROM_DATABASE=PDC20375 (SATA150 TX2plus) +@@ -15771,7 +15771,7 @@ pci:v0000105Ad00003376* + ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) + + pci:v0000105Ad00003376sv00001043sd0000809E* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) (A7V8X motherboard) + + pci:v0000105Ad00003515* + ID_MODEL_FROM_DATABASE=PDC40719 [FastTrak TX4300/TX4310] +@@ -15813,58 +15813,58 @@ pci:v0000105Ad00004D30* + ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) + + pci:v0000105Ad00004D30sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=Ultra100 ++ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (Ultra100) + + pci:v0000105Ad00004D30sv0000105Asd00004D39* +- ID_MODEL_FROM_DATABASE=FastTrak100 ++ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (FastTrak100) + + pci:v0000105Ad00004D30sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (S845WD1-E mainboard) + + pci:v0000105Ad00004D33* + ID_MODEL_FROM_DATABASE=20246 + + pci:v0000105Ad00004D33sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=20246 IDE Controller ++ ID_MODEL_FROM_DATABASE=20246 (IDE Controller) + + pci:v0000105Ad00004D38* + ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) + + pci:v0000105Ad00004D38sv0000105Asd00004D30* +- ID_MODEL_FROM_DATABASE=Ultra Device on SuperTrak ++ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra Device on SuperTrak) + + pci:v0000105Ad00004D38sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=Ultra66 ++ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra66) + + pci:v0000105Ad00004D38sv0000105Asd00004D39* +- ID_MODEL_FROM_DATABASE=FastTrak66 ++ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (FastTrak66) + + pci:v0000105Ad00004D68* + ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] + + pci:v0000105Ad00004D68sv0000105Asd00004D68* +- ID_MODEL_FROM_DATABASE=Ultra100 TX2 ++ ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] (Ultra100 TX2) + + pci:v0000105Ad00004D69* + ID_MODEL_FROM_DATABASE=20269 + + pci:v0000105Ad00004D69sv0000105Asd00004D68* +- ID_MODEL_FROM_DATABASE=Ultra133TX2 ++ ID_MODEL_FROM_DATABASE=20269 (Ultra133TX2) + + pci:v0000105Ad00005275* + ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) + + pci:v0000105Ad00005275sv00001043sd0000807E* +- ID_MODEL_FROM_DATABASE=A7V333 motherboard. ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (A7V333 motherboard.) + + pci:v0000105Ad00005275sv0000105Asd00000275* +- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 IDE ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (SuperTrak SX6000 IDE) + + pci:v0000105Ad00005275sv0000105Asd00001275* +- ID_MODEL_FROM_DATABASE=MBFastTrak133 Lite (tm) Controller (RAID mode) ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBFastTrak133 Lite (tm) Controller (RAID mode)) + + pci:v0000105Ad00005275sv00001458sd0000B001* +- ID_MODEL_FROM_DATABASE=MBUltra 133 ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBUltra 133) + + pci:v0000105Ad00005300* + ID_MODEL_FROM_DATABASE=DC5300 +@@ -15873,13 +15873,13 @@ pci:v0000105Ad00006268* + ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) + + pci:v0000105Ad00006268sv0000105Asd00004D68* +- ID_MODEL_FROM_DATABASE=FastTrak100 TX2 ++ ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) (FastTrak100 TX2) + + pci:v0000105Ad00006269* + ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) + + pci:v0000105Ad00006269sv0000105Asd00006269* +- ID_MODEL_FROM_DATABASE=FastTrak TX2/TX2000 ++ ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) (FastTrak TX2/TX2000) + + pci:v0000105Ad00006300* + ID_MODEL_FROM_DATABASE=PDC81731 [FastTrak SX8300] +@@ -15912,43 +15912,43 @@ pci:v0000105Ad00008650* + ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] + + pci:v0000105Ad00008650sv0000105Asd00004600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX4650A ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650A) + + pci:v0000105Ad00008650sv0000105Asd00004601* +- ID_MODEL_FROM_DATABASE=SuperTrak EX4650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650) + + pci:v0000105Ad00008650sv0000105Asd00004610* +- ID_MODEL_FROM_DATABASE=SuperTrak EX4650EL ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650EL) + + pci:v0000105Ad00008650sv0000105Asd00008600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650EL ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650EL) + + pci:v0000105Ad00008650sv0000105Asd00008601* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650A ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650A) + + pci:v0000105Ad00008650sv0000105Asd00008602* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8654 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8654) + + pci:v0000105Ad00008650sv0000105Asd00008603* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8658 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8658) + + pci:v0000105Ad00008650sv0000105Asd00008604* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650) + + pci:v0000105Ad00008650sv0000105Asd00008610* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650M ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650M) + + pci:v0000105Ad00008650sv0000105Asd0000A600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX12650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX12650) + + pci:v0000105Ad00008650sv0000105Asd0000B600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX16650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16650) + + pci:v0000105Ad00008650sv0000105Asd0000B601* +- ID_MODEL_FROM_DATABASE=SuperTrak EX16654 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16654) + + pci:v0000105Ad00008650sv0000105Asd0000B602* +- ID_MODEL_FROM_DATABASE=SuperTrak EX16658 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16658) + + pci:v0000105Ad00008760* + ID_MODEL_FROM_DATABASE=PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller] +@@ -15975,106 +15975,106 @@ pci:v0000105Dd00002339* + ID_MODEL_FROM_DATABASE=Imagine 128-II + + pci:v0000105Dd00002339sv0000105Dsd00000000* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000001* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000002* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000003* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000004* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000005* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000006* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000007* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000008* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000009* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) + + pci:v0000105Dd00002339sv0000105Dsd0000000A* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd0000000B* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb H-VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb H-VRAM) + + pci:v0000105Dd00002339sv000011A4sd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000000* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000004* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000005* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000006* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000008* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000009* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd0000000C* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd0000493D* + ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] + + pci:v0000105Dd0000493Dsv000011A4sd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000011A4sd0000000B* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000002* +- ID_MODEL_FROM_DATABASE=Barco Metheus 4 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 4 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000003* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000007* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000008* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000009* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd00005348* + ID_MODEL_FROM_DATABASE=Revolution 4 + + pci:v0000105Dd00005348sv0000105Dsd00000037* +- ID_MODEL_FROM_DATABASE=Revolution IV-FP AGP (For SGI 1600SW) ++ ID_MODEL_FROM_DATABASE=Revolution 4 (Revolution IV-FP AGP (For SGI 1600SW)) + + pci:v0000105Dd00005348sv000011A4sd00000028* +- ID_MODEL_FROM_DATABASE=PVS5600M ++ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600M) + + pci:v0000105Dd00005348sv000011A4sd00000038* +- ID_MODEL_FROM_DATABASE=PVS5600D ++ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600D) + + pci:v0000105E* + ID_VENDOR_FROM_DATABASE=Vtech Computers Ltd +@@ -16236,43 +16236,43 @@ pci:v00001069d00000050* + ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device + + pci:v00001069d00000050sv00001069sd00000050* +- ID_MODEL_FROM_DATABASE=AcceleRAID 352 support Device ++ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 352 support Device) + + pci:v00001069d00000050sv00001069sd00000052* +- ID_MODEL_FROM_DATABASE=AcceleRAID 170 support Device ++ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 170 support Device) + + pci:v00001069d00000050sv00001069sd00000054* +- ID_MODEL_FROM_DATABASE=AcceleRAID 160 support Device ++ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 160 support Device) + + pci:v00001069d0000B166* + ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device + + pci:v00001069d0000B166sv00001014sd00000242* +- ID_MODEL_FROM_DATABASE=iSeries 2872 DASD IOA ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (iSeries 2872 DASD IOA) + + pci:v00001069d0000B166sv00001014sd00000266* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) + + pci:v00001069d0000B166sv00001014sd00000278* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) + + pci:v00001069d0000B166sv00001014sd000002D3* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) + + pci:v00001069d0000B166sv00001014sd000002D4* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) + + pci:v00001069d0000B166sv00001069sd00000200* +- ID_MODEL_FROM_DATABASE=AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000B166sv00001069sd00000202* +- ID_MODEL_FROM_DATABASE=AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000B166sv00001069sd00000204* +- ID_MODEL_FROM_DATABASE=AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000B166sv00001069sd00000206* +- ID_MODEL_FROM_DATABASE=AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000BA55* + ID_MODEL_FROM_DATABASE=eXtremeRAID 1100 support Device +@@ -16281,16 +16281,16 @@ pci:v00001069d0000BA56* + ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device + + pci:v00001069d0000BA56sv00001069sd00000030* +- ID_MODEL_FROM_DATABASE=eXtremeRAID 3000 support Device ++ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 3000 support Device) + + pci:v00001069d0000BA56sv00001069sd00000040* +- ID_MODEL_FROM_DATABASE=eXtremeRAID 2000 support Device ++ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 2000 support Device) + + pci:v00001069d0000BA57* + ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device + + pci:v00001069d0000BA57sv00001069sd00000072* +- ID_MODEL_FROM_DATABASE=eXtremeRAID 5000 support Device ++ ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device (eXtremeRAID 5000 support Device) + + pci:v0000106A* + ID_VENDOR_FROM_DATABASE=Aten Research Inc +@@ -16380,7 +16380,7 @@ pci:v0000106Bd00000031* + ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire + + pci:v0000106Bd00000031sv0000106Bsd00005811* +- ID_MODEL_FROM_DATABASE=iBook G4 2004 ++ ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire (iBook G4 2004) + + pci:v0000106Bd00000032* + ID_MODEL_FROM_DATABASE=UniNorth 2 GMAC (Sun GEM) +@@ -16407,7 +16407,7 @@ pci:v0000106Bd0000003F* + ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB + + pci:v0000106Bd0000003Fsv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB (QEMU Virtual Machine) + + pci:v0000106Bd00000040* + ID_MODEL_FROM_DATABASE=K2 KeyLargo USB +@@ -16563,13 +16563,13 @@ pci:v00001073d00000004* + ID_MODEL_FROM_DATABASE=YMF-724 + + pci:v00001073d00000004sv00001073sd00000004* +- ID_MODEL_FROM_DATABASE=YMF724-Based PCI Audio Adapter ++ ID_MODEL_FROM_DATABASE=YMF-724 (YMF724-Based PCI Audio Adapter) + + pci:v00001073d00000005* + ID_MODEL_FROM_DATABASE=DS1 Audio + + pci:v00001073d00000005sv00001073sd00000005* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d00000006* + ID_MODEL_FROM_DATABASE=DS1 Audio +@@ -16578,46 +16578,46 @@ pci:v00001073d00000008* + ID_MODEL_FROM_DATABASE=DS1 Audio + + pci:v00001073d00000008sv00001073sd00000008* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000A* + ID_MODEL_FROM_DATABASE=DS1L Audio + + pci:v00001073d0000000Asv00001073sd00000004* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000Asv00001073sd0000000A* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000Asv00008086sd00004D55* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC [Intel MU440EX] ++ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC [Intel MU440EX]) + + pci:v00001073d0000000C* + ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] + + pci:v00001073d0000000Csv0000107Asd0000000C* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000D* + ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] + + pci:v00001073d0000000Dsv00001073sd0000000D* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d00000010* + ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] + + pci:v00001073d00000010sv00001073sd00000006* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d00000010sv00001073sd00000010* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d00000012* + ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] + + pci:v00001073d00000012sv00001073sd00000012* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio Codec ++ ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] (DS-XG PCI Audio Codec) + + pci:v00001073d00000020* + ID_MODEL_FROM_DATABASE=DS-1 Audio +@@ -16662,10 +16662,10 @@ pci:v00001077d00001216* + ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor + + pci:v00001077d00001216sv0000101Esd00008471* +- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID ++ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) + + pci:v00001077d00001216sv0000101Esd00008493* +- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID ++ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) + + pci:v00001077d00001240* + ID_MODEL_FROM_DATABASE=ISP1240 SCSI Host Adapter +@@ -16689,7 +16689,7 @@ pci:v00001077d00002200* + ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter + + pci:v00001077d00002200sv00001077sd00000002* +- ID_MODEL_FROM_DATABASE=QLA2200 ++ ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter (QLA2200) + + pci:v00001077d00002300* + ID_MODEL_FROM_DATABASE=QLA2300 64-bit Fibre Channel Adapter +@@ -16698,10 +16698,10 @@ pci:v00001077d00002312* + ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA + + pci:v00001077d00002312sv0000103Csd00000131* +- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Single port [A7538A] ++ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Single port [A7538A]) + + pci:v00001077d00002312sv0000103Csd000012BA* +- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Dual port [A6826A] ++ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Dual port [A6826A]) + + pci:v00001077d00002322* + ID_MODEL_FROM_DATABASE=ISP2322-based 2Gb Fibre Channel to PCI-X HBA +@@ -16710,25 +16710,25 @@ pci:v00001077d00002422* + ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA + + pci:v00001077d00002422sv0000103Csd000012D7* +- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB379A] ++ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB379A]) + + pci:v00001077d00002422sv0000103Csd000012DD* +- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB429A] ++ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB429A]) + + pci:v00001077d00002432* + ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA + + pci:v00001077d00002432sv0000103Csd00007040* +- ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] ++ ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA (FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A]) + + pci:v00001077d00002532* + ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA + + pci:v00001077d00002532sv0000103Csd00003262* +- ID_MODEL_FROM_DATABASE=StorageWorks 81Q ++ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (StorageWorks 81Q) + + pci:v00001077d00002532sv00001077sd00000167* +- ID_MODEL_FROM_DATABASE=QME2572 Dual Port FC8 HBA Mezzanine ++ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (QME2572 Dual Port FC8 HBA Mezzanine) + + pci:v00001077d00003022* + ID_MODEL_FROM_DATABASE=ISP4022-based Ethernet NIC +@@ -16770,55 +16770,55 @@ pci:v00001077d00008020* + ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller + + pci:v00001077d00008020sv0000103Csd00003346* +- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (CN1000Q Dual Port Converged Network Adapter) + + pci:v00001077d00008020sv0000103Csd00003733* +- ID_MODEL_FROM_DATABASE=NC523SFP 10Gb 2-port Server Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (NC523SFP 10Gb 2-port Server Adapter) + + pci:v00001077d00008020sv00001077sd00000203* +- ID_MODEL_FROM_DATABASE=8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008020sv00001077sd00000207* +- ID_MODEL_FROM_DATABASE=8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008020sv00001077sd0000020B* +- ID_MODEL_FROM_DATABASE=3200 Series Dual Port 10Gb Intelligent Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Dual Port 10Gb Intelligent Ethernet Adapter) + + pci:v00001077d00008020sv00001077sd0000020C* +- ID_MODEL_FROM_DATABASE=3200 Series Quad Port 1Gb Intelligent Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Quad Port 1Gb Intelligent Ethernet Adapter) + + pci:v00001077d00008020sv00001077sd0000020F* +- ID_MODEL_FROM_DATABASE=3200 Series Single Port 10Gb Intelligent Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Single Port 10Gb Intelligent Ethernet Adapter) + + pci:v00001077d00008020sv00001077sd00000210* +- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (QME8242-k 10GbE Dual Port Mezzanine Card) + + pci:v00001077d00008021* + ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) + + pci:v00001077d00008021sv0000103Csd00003348* +- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (CN1000Q Dual Port Converged Network Adapter) + + pci:v00001077d00008021sv00001077sd00000211* +- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, FCoE ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (QME8242-k 10GbE Dual Port Mezzanine Card, FCoE) + + pci:v00001077d00008022* + ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) + + pci:v00001077d00008022sv0000103Csd00003347* +- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (CN1000Q Dual Port Converged Network Adapter) + + pci:v00001077d00008022sv00001077sd00000212* +- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI) + + pci:v00001077d00008030* + ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller + + pci:v00001077d00008030sv00001077sd00000243* +- ID_MODEL_FROM_DATABASE=8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008030sv00001077sd00000246* +- ID_MODEL_FROM_DATABASE=8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008031* + ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (FCoE) +@@ -17022,7 +17022,7 @@ pci:v0000108Dd00000004* + ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter + + pci:v0000108Dd00000004sv0000108Dsd00000004* +- ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter (OC-3139/3140 RapidFire Token-Ring 16/4 Adapter) + + pci:v0000108Dd00000005* + ID_MODEL_FROM_DATABASE=GoCard 3250 Token-Ring 16/4 CardBus PC Card +@@ -17034,13 +17034,13 @@ pci:v0000108Dd00000007* + ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter + + pci:v0000108Dd00000007sv0000108Dsd00000007* +- ID_MODEL_FROM_DATABASE=OC-3141 RapidFire Token-Ring 16/4 Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter (OC-3141 RapidFire Token-Ring 16/4 Adapter) + + pci:v0000108Dd00000008* + ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter + + pci:v0000108Dd00000008sv0000108Dsd00000008* +- ID_MODEL_FROM_DATABASE=OC-3540 RapidFire HSTR 100/16/4 Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter (OC-3540 RapidFire HSTR 100/16/4 Adapter) + + pci:v0000108Dd00000011* + ID_MODEL_FROM_DATABASE=OC-2315 +@@ -17058,10 +17058,10 @@ pci:v0000108Dd00000019* + ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter + + pci:v0000108Dd00000019sv0000108Dsd00000016* +- ID_MODEL_FROM_DATABASE=OC-2327 Rapidfire 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2327 Rapidfire 10/100 Ethernet Adapter) + + pci:v0000108Dd00000019sv0000108Dsd00000017* +- ID_MODEL_FROM_DATABASE=OC-2250 GoCard 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2250 GoCard 10/100 Ethernet Adapter) + + pci:v0000108Dd00000021* + ID_MODEL_FROM_DATABASE=OC-6151/6152 [RapidFire ATM 155] +@@ -17085,25 +17085,25 @@ pci:v0000108Ed00001100* + ID_MODEL_FROM_DATABASE=RIO EBUS + + pci:v0000108Ed00001100sv0000108Esd00001100* +- ID_MODEL_FROM_DATABASE=RIO EBUS on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO EBUS (on Blade 100 motherboard) + + pci:v0000108Ed00001101* + ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] + + pci:v0000108Ed00001101sv0000108Esd00001101* +- ID_MODEL_FROM_DATABASE=RIO GEM on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] (RIO GEM on Blade 100 motherboard) + + pci:v0000108Ed00001102* + ID_MODEL_FROM_DATABASE=RIO 1394 + + pci:v0000108Ed00001102sv0000108Esd00001102* +- ID_MODEL_FROM_DATABASE=RIO 1394 on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO 1394 (on Blade 100 motherboard) + + pci:v0000108Ed00001103* + ID_MODEL_FROM_DATABASE=RIO USB + + pci:v0000108Ed00001103sv0000108Esd00001103* +- ID_MODEL_FROM_DATABASE=RIO USB on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO USB (on Blade 100 motherboard) + + pci:v0000108Ed00001647* + ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge] +@@ -17124,7 +17124,7 @@ pci:v0000108Ed00005000* + ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge + + pci:v0000108Ed00005000sv0000108Esd00005000* +- ID_MODEL_FROM_DATABASE=Netra AX1105-500 ++ ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge (Netra AX1105-500) + + pci:v0000108Ed00005043* + ID_MODEL_FROM_DATABASE=SunPCI Co-processor +@@ -17226,7 +17226,7 @@ pci:v0000108Ed0000A001* + ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] + + pci:v0000108Ed0000A001sv0000108Esd0000A001* +- ID_MODEL_FROM_DATABASE=Ultra IIe on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] (Ultra IIe on Blade 100 motherboard) + + pci:v0000108Ed0000A801* + ID_MODEL_FROM_DATABASE=Schizo Fireplane-PCI bus bridge module [pcisch] +@@ -17295,7 +17295,7 @@ pci:v00001092d00000028* + ID_MODEL_FROM_DATABASE=Viper V770 + + pci:v00001092d00000028sv00001092sd00004A00* +- ID_MODEL_FROM_DATABASE=Viper V770 32MB ++ ID_MODEL_FROM_DATABASE=Viper V770 (32MB) + + pci:v00001092d000000A0* + ID_MODEL_FROM_DATABASE=Speedstar Pro SE +@@ -17766,28 +17766,28 @@ pci:v00001093d0000C4C4* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device + + pci:v00001093d0000C4C4sv00001093sd000074B2* +- ID_MODEL_FROM_DATABASE=PXIe-4353 ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) + + pci:v00001093d0000C4C4sv00001093sd000074D0* +- ID_MODEL_FROM_DATABASE=PXIe-7961R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) + + pci:v00001093d0000C4C4sv00001093sd000074E2* +- ID_MODEL_FROM_DATABASE=PXIe-7962R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) + + pci:v00001093d0000C4C4sv00001093sd000074E3* +- ID_MODEL_FROM_DATABASE=PXIe-7965R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) + + pci:v00001093d0000C4C4sv00001093sd00007553* +- ID_MODEL_FROM_DATABASE=PCIe-1473R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) + + pci:v00001093d0000C4C4sv00001093sd000075CE* +- ID_MODEL_FROM_DATABASE=PXIe-7966R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) + + pci:v00001093d0000C4C4sv00001093sd000076B7* +- ID_MODEL_FROM_DATABASE=PXIe-7975R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) + + pci:v00001093d0000C4C4sv00001093sd000076D0* +- ID_MODEL_FROM_DATABASE=PXIe-5160 ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) + + pci:v00001093d0000C801* + ID_MODEL_FROM_DATABASE=PCI-GPIB +@@ -17820,19 +17820,19 @@ pci:v00001095d00000648* + ID_MODEL_FROM_DATABASE=PCI0648 + + pci:v00001095d00000648sv00001043sd00008025* +- ID_MODEL_FROM_DATABASE=CUBX motherboard ++ ID_MODEL_FROM_DATABASE=PCI0648 (CUBX motherboard) + + pci:v00001095d00000649* + ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller + + pci:v00001095d00000649sv00000E11sd0000005D* +- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 Dual Channel Controller ++ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 Dual Channel Controller) + + pci:v00001095d00000649sv00000E11sd0000007E* +- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 IDE RAID Controller ++ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 IDE RAID Controller) + + pci:v00001095d00000649sv0000101Esd00000649* +- ID_MODEL_FROM_DATABASE=AMI MegaRAID IDE 100 Controller ++ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (AMI MegaRAID IDE 100 Controller) + + pci:v00001095d00000650* + ID_MODEL_FROM_DATABASE=PBC0650A +@@ -17850,34 +17850,34 @@ pci:v00001095d00000680* + ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller + + pci:v00001095d00000680sv00001095sd00000680* +- ID_MODEL_FROM_DATABASE=SiI 0680 ATA/133 Controller ++ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (SiI 0680 ATA/133 Controller) + + pci:v00001095d00000680sv00001095sd00003680* +- ID_MODEL_FROM_DATABASE=Winic W-680 (Silicon Image 680 based) ++ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (Winic W-680 (Silicon Image 680 based)) + + pci:v00001095d00003112* + ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller + + pci:v00001095d00003112sv00001095sd00003112* +- ID_MODEL_FROM_DATABASE=SiI 3112 SATALink Controller ++ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATALink Controller) + + pci:v00001095d00003112sv00001095sd00006112* +- ID_MODEL_FROM_DATABASE=SiI 3112 SATARaid Controller ++ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATARaid Controller) + + pci:v00001095d00003112sv00009005sd00000250* +- ID_MODEL_FROM_DATABASE=SATAConnect 1205SA Host Controller ++ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SATAConnect 1205SA Host Controller) + + pci:v00001095d00003114* + ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller + + pci:v00001095d00003114sv00001043sd00008167* +- ID_MODEL_FROM_DATABASE=A8N-SLI Deluxe/Premium Mainboard ++ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (A8N-SLI Deluxe/Premium Mainboard) + + pci:v00001095d00003114sv00001095sd00003114* +- ID_MODEL_FROM_DATABASE=SiI 3114 SATALink Controller ++ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATALink Controller) + + pci:v00001095d00003114sv00001095sd00006114* +- ID_MODEL_FROM_DATABASE=SiI 3114 SATARaid Controller ++ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATARaid Controller) + + pci:v00001095d00003124* + ID_MODEL_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller +@@ -17892,10 +17892,10 @@ pci:v00001095d00003512* + ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller + + pci:v00001095d00003512sv00001095sd00003512* +- ID_MODEL_FROM_DATABASE=SiI 3512 SATALink Controller ++ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATALink Controller) + + pci:v00001095d00003512sv00001095sd00006512* +- ID_MODEL_FROM_DATABASE=SiI 3512 SATARaid Controller ++ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATARaid Controller) + + pci:v00001095d00003531* + ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller +@@ -17949,412 +17949,412 @@ pci:v0000109Ed00000369* + ID_MODEL_FROM_DATABASE=Bt878 Video Capture + + pci:v0000109Ed00000369sv00001002sd00000001* +- ID_MODEL_FROM_DATABASE=TV-Wonder ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder) + + pci:v0000109Ed00000369sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=TV-Wonder/VE ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder/VE) + + pci:v0000109Ed0000036C* + ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture + + pci:v0000109Ed0000036Csv000013E9sd00000070* +- ID_MODEL_FROM_DATABASE=Win/TV (Video Section) ++ ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture (Win/TV (Video Section)) + + pci:v0000109Ed0000036E* + ID_MODEL_FROM_DATABASE=Bt878 Video Capture + + pci:v0000109Ed0000036Esv00000070sd000013EB* +- ID_MODEL_FROM_DATABASE=WinTV Series ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinTV Series) + + pci:v0000109Ed0000036Esv00000070sd0000FF01* +- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Viewcast Osprey 200) + + pci:v0000109Ed0000036Esv00000071sd00000101* +- ID_MODEL_FROM_DATABASE=DigiTV PCI ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DigiTV PCI) + + pci:v0000109Ed0000036Esv0000107Dsd00006606* +- ID_MODEL_FROM_DATABASE=WinFast TV 2000 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinFast TV 2000) + + pci:v0000109Ed0000036Esv000011BDsd00000012* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) + + pci:v0000109Ed0000036Esv000011BDsd0000001C* +- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV Sat (DBC receiver)) + + pci:v0000109Ed0000036Esv0000127Asd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) + + pci:v0000109Ed0000036Esv0000127Asd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv0000127Asd00000003* +- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv0000127Asd00000048* +- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) + + pci:v0000109Ed0000036Esv0000144Fsd00003000* +- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Video ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (MagicTView CPH060 - Video) + + pci:v0000109Ed0000036Esv00001461sd00000002* +- ID_MODEL_FROM_DATABASE=TV98 Series (TV/No FM/Remote) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV98 Series (TV/No FM/Remote)) + + pci:v0000109Ed0000036Esv00001461sd00000003* +- ID_MODEL_FROM_DATABASE=AverMedia UltraTV PCI 350 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia UltraTV PCI 350) + + pci:v0000109Ed0000036Esv00001461sd00000004* +- ID_MODEL_FROM_DATABASE=AVerTV WDM Video Capture ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AVerTV WDM Video Capture) + + pci:v0000109Ed0000036Esv00001461sd00000761* +- ID_MODEL_FROM_DATABASE=AverTV DVB-T ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverTV DVB-T) + + pci:v0000109Ed0000036Esv00001461sd00000771* +- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia AVerTV DVB-T 771) + + pci:v0000109Ed0000036Esv000014F1sd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) + + pci:v0000109Ed0000036Esv000014F1sd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv000014F1sd00000003* +- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv000014F1sd00000048* +- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) + + pci:v0000109Ed0000036Esv00001822sd00000001* +- ID_MODEL_FROM_DATABASE=VisionPlus DVB card ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (VisionPlus DVB card) + + pci:v0000109Ed0000036Esv00001851sd00001850* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video) + + pci:v0000109Ed0000036Esv00001851sd00001851* +- ID_MODEL_FROM_DATABASE=FlyVideo II ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo II) + + pci:v0000109Ed0000036Esv00001852sd00001852* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video (with FM Tuner)) + + pci:v0000109Ed0000036Esv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DViCO FusionHDTV5 Lite) + + pci:v0000109Ed0000036Esv0000270Fsd0000FC00* +- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Digitop DTT-1000) + + pci:v0000109Ed0000036Esv0000AA00sd00001460* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input0) + + pci:v0000109Ed0000036Esv0000AA01sd00001461* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input1) + + pci:v0000109Ed0000036Esv0000AA02sd00001462* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input2) + + pci:v0000109Ed0000036Esv0000AA03sd00001463* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input3) + + pci:v0000109Ed0000036Esv0000AA04sd00001464* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input0) + + pci:v0000109Ed0000036Esv0000AA05sd00001465* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input1) + + pci:v0000109Ed0000036Esv0000AA06sd00001466* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input2) + + pci:v0000109Ed0000036Esv0000AA07sd00001467* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input3) + + pci:v0000109Ed0000036Esv0000AA08sd00001468* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input0) + + pci:v0000109Ed0000036Esv0000AA09sd00001469* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input1) + + pci:v0000109Ed0000036Esv0000AA0Asd0000146A* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input2) + + pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input3) + + pci:v0000109Ed0000036Esv0000AA0Csd0000146C* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input0) + + pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input1) + + pci:v0000109Ed0000036Esv0000AA0Esd0000146E* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input2) + + pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input3) + + pci:v0000109Ed0000036Esv0000BD11sd00001200* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) + + pci:v0000109Ed0000036F* + ID_MODEL_FROM_DATABASE=Bt879 Video Capture + + pci:v0000109Ed0000036Fsv0000127Asd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv0000127Asd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv0000127Asd00000244* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv0000127Asd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv0000127Asd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00001522* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) + + pci:v0000109Ed0000036Fsv0000127Asd00001622* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) + + pci:v0000109Ed0000036Fsv0000127Asd00001722* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv000014F1sd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv000014F1sd00000244* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv000014F1sd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv000014F1sd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00001522* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) + + pci:v0000109Ed0000036Fsv000014F1sd00001622* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) + + pci:v0000109Ed0000036Fsv000014F1sd00001722* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv00001851sd00001850* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video) + + pci:v0000109Ed0000036Fsv00001851sd00001851* +- ID_MODEL_FROM_DATABASE=FlyVideo II ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo II) + + pci:v0000109Ed0000036Fsv00001852sd00001852* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video (with FM Tuner)) + + pci:v0000109Ed00000370* + ID_MODEL_FROM_DATABASE=Bt880 Video Capture + + pci:v0000109Ed00000370sv00001851sd00001850* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 ++ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98) + + pci:v0000109Ed00000370sv00001851sd00001851* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 EZ - video ++ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 EZ - video) + + pci:v0000109Ed00000370sv00001852sd00001852* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 (with FM Tuner) ++ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 (with FM Tuner)) + + pci:v0000109Ed00000878* + ID_MODEL_FROM_DATABASE=Bt878 Audio Capture + + pci:v0000109Ed00000878sv00000070sd000013EB* +- ID_MODEL_FROM_DATABASE=WinTV Series ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (WinTV Series) + + pci:v0000109Ed00000878sv00000070sd0000FF01* +- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Viewcast Osprey 200) + + pci:v0000109Ed00000878sv00000071sd00000101* +- ID_MODEL_FROM_DATABASE=DigiTV PCI ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DigiTV PCI) + + pci:v0000109Ed00000878sv00001002sd00000001* +- ID_MODEL_FROM_DATABASE=TV-Wonder ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder) + + pci:v0000109Ed00000878sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=TV-Wonder/VE ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder/VE) + + pci:v0000109Ed00000878sv000011BDsd00000012* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) + + pci:v0000109Ed00000878sv000011BDsd0000001C* +- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV Sat (DBC receiver)) + + pci:v0000109Ed00000878sv0000127Asd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv0000127Asd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv0000127Asd00000003* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv0000127Asd00000048* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000013E9sd00000070* +- ID_MODEL_FROM_DATABASE=Win/TV (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Win/TV (Audio Section)) + + pci:v0000109Ed00000878sv0000144Fsd00003000* +- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Audio ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (MagicTView CPH060 - Audio) + + pci:v0000109Ed00000878sv00001461sd00000002* +- ID_MODEL_FROM_DATABASE=Avermedia PCTV98 Audio Capture ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Avermedia PCTV98 Audio Capture) + + pci:v0000109Ed00000878sv00001461sd00000003* +- ID_MODEL_FROM_DATABASE=UltraTV PCI 350 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (UltraTV PCI 350) + + pci:v0000109Ed00000878sv00001461sd00000004* +- ID_MODEL_FROM_DATABASE=AVerTV WDM Audio Capture ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV WDM Audio Capture) + + pci:v0000109Ed00000878sv00001461sd00000761* +- ID_MODEL_FROM_DATABASE=AVerTV DVB-T ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV DVB-T) + + pci:v0000109Ed00000878sv00001461sd00000771* +- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AverMedia AVerTV DVB-T 771) + + pci:v0000109Ed00000878sv000014F1sd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000014F1sd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000014F1sd00000003* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000014F1sd00000048* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv00001822sd00000001* +- ID_MODEL_FROM_DATABASE=VisionPlus DVB Card ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (VisionPlus DVB Card) + + pci:v0000109Ed00000878sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DViCO FusionHDTV5 Lite) + + pci:v0000109Ed00000878sv0000270Fsd0000FC00* +- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Digitop DTT-1000) + + pci:v0000109Ed00000878sv0000BD11sd00001200* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) + + pci:v0000109Ed00000879* + ID_MODEL_FROM_DATABASE=Bt879 Audio Capture + + pci:v0000109Ed00000879sv0000127Asd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000244* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001522* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001622* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001722* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000244* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001522* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001622* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001722* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000880* + ID_MODEL_FROM_DATABASE=Bt880 Audio Capture +@@ -18585,7 +18585,7 @@ pci:v000010B4d00001B1D* + ID_MODEL_FROM_DATABASE=Velocity 128 3D + + pci:v000010B4d00001B1Dsv000010B4sd0000237E* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=Velocity 128 3D (Velocity 4400) + + pci:v000010B5* + ID_VENDOR_FROM_DATABASE=PLX Technology, Inc. +@@ -18597,13 +18597,13 @@ pci:v000010B5d00000557* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00000557sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card) + + pci:v000010B5d00001000* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00001000sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM AT400P Quad T1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AT400P Quad T1 PCI card) + + pci:v000010B5d00001024* + ID_MODEL_FROM_DATABASE=Acromag, Inc. IndustryPack Carrier Card +@@ -18636,7 +18636,7 @@ pci:v000010B5d00002000* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00002000sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM AE400P Quad E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AE400P Quad E1 PCI card) + + pci:v000010B5d00002540* + ID_MODEL_FROM_DATABASE=IXXAT CAN-Interface PC-I 04/PCI +@@ -18651,19 +18651,19 @@ pci:v000010B5d00004000* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00004000sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card) + + pci:v000010B5d00004001* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00004001sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM A400PE Quad E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PE Quad E1 PCI card) + + pci:v000010B5d00004002* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00004002sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM A400PT Quad T1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PT Quad T1 PCI card) + + pci:v000010B5d00006140* + ID_MODEL_FROM_DATABASE=PCI6140 32-bit 33MHz PCI-to-PCI Bridge +@@ -18690,28 +18690,28 @@ pci:v000010B5d00006540* + ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge + + pci:v000010B5d00006540sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (CR11 Single Board Computer) + + pci:v000010B5d00006540sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (PSL09 PrPMC) + + pci:v000010B5d00006541* + ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) + + pci:v000010B5d00006541sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (CR11 Single Board Computer) + + pci:v000010B5d00006541sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (PSL09 PrPMC) + + pci:v000010B5d00006542* + ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) + + pci:v000010B5d00006542sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (CR11 Single Board Computer) + + pci:v000010B5d00006542sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (PSL09 PrPMC) + + pci:v000010B5d00008111* + ID_MODEL_FROM_DATABASE=PEX 8111 PCI Express-to-PCI Bridge +@@ -18807,7 +18807,7 @@ pci:v000010B5d00008624* + ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] + + pci:v000010B5d00008624sv000013A3sd00001845* +- ID_MODEL_FROM_DATABASE=DX1845 Acceleration Card ++ ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] (DX1845 Acceleration Card) + + pci:v000010B5d00008625* + ID_MODEL_FROM_DATABASE=PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch +@@ -18861,85 +18861,85 @@ pci:v000010B5d00009030* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009030sv000010B5sd00002695* +- ID_MODEL_FROM_DATABASE=Hilscher CIF50-PB/DPS Profibus ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Hilscher CIF50-PB/DPS Profibus) + + pci:v000010B5d00009030sv000010B5sd00002862* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00002906* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board) + + pci:v000010B5d00009030sv000010B5sd00002940* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00002977* +- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCI CAN Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCI CAN Board) + + pci:v000010B5d00009030sv000010B5sd00002978* +- ID_MODEL_FROM_DATABASE=SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card) + + pci:v000010B5d00009030sv000010B5sd00003025* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00003068* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00003463* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000012FEsd00000111* +- ID_MODEL_FROM_DATABASE=CPCI-ASIO4 (ESD 4-port Serial Interface Board) ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (CPCI-ASIO4 (ESD 4-port Serial Interface Board)) + + pci:v000010B5d00009030sv00001369sd00009C01* +- ID_MODEL_FROM_DATABASE=VX222v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222v2) + + pci:v000010B5d00009030sv00001369sd00009D01* +- ID_MODEL_FROM_DATABASE=VX222-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) + + pci:v000010B5d00009030sv00001369sd00009D02* +- ID_MODEL_FROM_DATABASE=VX222-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) + + pci:v000010B5d00009030sv00001369sd00009E01* +- ID_MODEL_FROM_DATABASE=PCX924v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924v2) + + pci:v000010B5d00009030sv00001369sd00009F01* +- ID_MODEL_FROM_DATABASE=PCX924-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) + + pci:v000010B5d00009030sv00001369sd00009F02* +- ID_MODEL_FROM_DATABASE=PCX924-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) + + pci:v000010B5d00009030sv00001369sd0000A001* +- ID_MODEL_FROM_DATABASE=PCX22v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX22v2) + + pci:v000010B5d00009030sv00001369sd0000A701* +- ID_MODEL_FROM_DATABASE=LCM220v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM220v2) + + pci:v000010B5d00009030sv00001369sd0000A801* +- ID_MODEL_FROM_DATABASE=LCM200 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM200) + + pci:v000010B5d00009030sv00001397sd00003136* +- ID_MODEL_FROM_DATABASE=4xS0-ISDN PCI Adapter ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (4xS0-ISDN PCI Adapter) + + pci:v000010B5d00009030sv00001397sd00003137* +- ID_MODEL_FROM_DATABASE=S2M-E1-ISDN PCI Adapter ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (S2M-E1-ISDN PCI Adapter) + + pci:v000010B5d00009030sv00001518sd00000200* +- ID_MODEL_FROM_DATABASE=Kontron ThinkIO-C ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Kontron ThinkIO-C) + + pci:v000010B5d00009030sv000015EDsd00001002* +- ID_MODEL_FROM_DATABASE=MCCS 8-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 8-port Serial Hot Swap) + + pci:v000010B5d00009030sv000015EDsd00001003* +- ID_MODEL_FROM_DATABASE=MCCS 16-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 16-port Serial Hot Swap) + + pci:v000010B5d00009030sv0000E1C5sd00000001* +- ID_MODEL_FROM_DATABASE=TE1-PCI ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TE1-PCI) + + pci:v000010B5d00009030sv0000E1C5sd00000005* +- ID_MODEL_FROM_DATABASE=TA1-PCI ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI) + + pci:v000010B5d00009030sv0000E1C5sd00000006* +- ID_MODEL_FROM_DATABASE=TA1-PCI4 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI4) + + pci:v000010B5d00009036* + ID_MODEL_FROM_DATABASE=9036 +@@ -18948,145 +18948,145 @@ pci:v000010B5d00009050* + ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge + + pci:v000010B5d00009050sv000010B5sd00001067* +- ID_MODEL_FROM_DATABASE=IXXAT CAN i165 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IXXAT CAN i165) + + pci:v000010B5d00009050sv000010B5sd0000114E* +- ID_MODEL_FROM_DATABASE=Wasco WITIO PCI168extended ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco WITIO PCI168extended) + + pci:v000010B5d00009050sv000010B5sd00001169* +- ID_MODEL_FROM_DATABASE=Wasco OPTOIO32standard 32 digital in, 32 digital out ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco OPTOIO32standard 32 digital in, 32 digital out) + + pci:v000010B5d00009050sv000010B5sd00001172* +- ID_MODEL_FROM_DATABASE=IK220 (Heidenhain) ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IK220 (Heidenhain)) + + pci:v000010B5d00009050sv000010B5sd00002036* +- ID_MODEL_FROM_DATABASE=SatPak GPS ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SatPak GPS) + + pci:v000010B5d00009050sv000010B5sd00002221* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV: Timecode Reader Board) + + pci:v000010B5d00009050sv000010B5sd00002273* +- ID_MODEL_FROM_DATABASE=SH ARC-PCI SOHARD ARCNET card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SH ARC-PCI SOHARD ARCNET card) + + pci:v000010B5d00009050sv000010B5sd00002431* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D: Timecode Reader Board) + + pci:v000010B5d00009050sv000010B5sd00002905* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS: Time Synchronisation Board ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCI TS: Time Synchronisation Board) + + pci:v000010B5d00009050sv000010B5sd00003196* +- ID_MODEL_FROM_DATABASE=Goramo PLX200SYN sync serial card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Goramo PLX200SYN sync serial card) + + pci:v000010B5d00009050sv000010B5sd00009050* +- ID_MODEL_FROM_DATABASE=PCI-I04 PCI Passive PC/CAN Interface ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCI-I04 PCI Passive PC/CAN Interface) + + pci:v000010B5d00009050sv00001369sd00008901* +- ID_MODEL_FROM_DATABASE=PCX11+ PCI ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX11+ PCI) + + pci:v000010B5d00009050sv00001369sd00008F01* +- ID_MODEL_FROM_DATABASE=VX222 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (VX222) + + pci:v000010B5d00009050sv00001369sd00009401* +- ID_MODEL_FROM_DATABASE=PCX924 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX924) + + pci:v000010B5d00009050sv00001369sd00009501* +- ID_MODEL_FROM_DATABASE=PCX22 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX22) + + pci:v000010B5d00009050sv00001498sd00000362* +- ID_MODEL_FROM_DATABASE=TPMC866 8 Channel Serial Card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (TPMC866 8 Channel Serial Card) + + pci:v000010B5d00009050sv00001522sd00000001* +- ID_MODEL_FROM_DATABASE=RockForce 4 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 4 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000002* +- ID_MODEL_FROM_DATABASE=RockForce 2 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 2 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000003* +- ID_MODEL_FROM_DATABASE=RockForce 6 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 6 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000004* +- ID_MODEL_FROM_DATABASE=RockForce 8 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 8 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000010* +- ID_MODEL_FROM_DATABASE=RockForce2000 4 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 4 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000020* +- ID_MODEL_FROM_DATABASE=RockForce2000 2 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 2 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv000015EDsd00001000* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial) + + pci:v000010B5d00009050sv000015EDsd00001001* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial) + + pci:v000010B5d00009050sv000015EDsd00001002* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial Hot Swap) + + pci:v000010B5d00009050sv000015EDsd00001003* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial Hot Swap) + + pci:v000010B5d00009050sv00005654sd00002036* +- ID_MODEL_FROM_DATABASE=OpenSwitch 6 Telephony card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 6 Telephony card) + + pci:v000010B5d00009050sv00005654sd00003132* +- ID_MODEL_FROM_DATABASE=OpenSwitch 12 Telephony card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 12 Telephony card) + + pci:v000010B5d00009050sv00005654sd00005634* +- ID_MODEL_FROM_DATABASE=OpenLine4 Telephony Card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenLine4 Telephony Card) + + pci:v000010B5d00009050sv0000D531sd0000C002* +- ID_MODEL_FROM_DATABASE=PCIntelliCAN 2xSJA1000 CAN bus ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCIntelliCAN 2xSJA1000 CAN bus) + + pci:v000010B5d00009050sv0000D84Dsd00004006* +- ID_MODEL_FROM_DATABASE=EX-4006 1P ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4006 1P) + + pci:v000010B5d00009050sv0000D84Dsd00004008* +- ID_MODEL_FROM_DATABASE=EX-4008 1P EPP/ECP ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4008 1P EPP/ECP) + + pci:v000010B5d00009050sv0000D84Dsd00004014* +- ID_MODEL_FROM_DATABASE=EX-4014 2P ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4014 2P) + + pci:v000010B5d00009050sv0000D84Dsd00004018* +- ID_MODEL_FROM_DATABASE=EX-4018 3P EPP/ECP ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4018 3P EPP/ECP) + + pci:v000010B5d00009050sv0000D84Dsd00004025* +- ID_MODEL_FROM_DATABASE=EX-4025 1S(16C550) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4025 1S(16C550) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004027* +- ID_MODEL_FROM_DATABASE=EX-4027 1S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4027 1S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004028* +- ID_MODEL_FROM_DATABASE=EX-4028 1S(16C850) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4028 1S(16C850) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004036* +- ID_MODEL_FROM_DATABASE=EX-4036 2S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4036 2S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004037* +- ID_MODEL_FROM_DATABASE=EX-4037 2S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4037 2S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004038* +- ID_MODEL_FROM_DATABASE=EX-4038 2S(16C850) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4038 2S(16C850) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004052* +- ID_MODEL_FROM_DATABASE=EX-4052 1S(16C550) RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4052 1S(16C550) RS-422/485) + + pci:v000010B5d00009050sv0000D84Dsd00004053* +- ID_MODEL_FROM_DATABASE=EX-4053 2S(16C550) RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4053 2S(16C550) RS-422/485) + + pci:v000010B5d00009050sv0000D84Dsd00004055* +- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C550) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C550) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004058* +- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004065* +- ID_MODEL_FROM_DATABASE=EX-4065 8S(16C550) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4065 8S(16C550) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004068* +- ID_MODEL_FROM_DATABASE=EX-4068 8S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4068 8S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004078* +- ID_MODEL_FROM_DATABASE=EX-4078 2S(16C552) RS-232+1P ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4078 2S(16C552) RS-232+1P) + + pci:v000010B5d00009052* + ID_MODEL_FROM_DATABASE=PCI9052 PCI <-> IOBus Bridge +@@ -19095,88 +19095,88 @@ pci:v000010B5d00009054* + ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009054sv000010B5sd00002455* +- ID_MODEL_FROM_DATABASE=Wessex Techology PHIL-PCI ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Wessex Techology PHIL-PCI) + + pci:v000010B5d00009054sv000010B5sd00002696* +- ID_MODEL_FROM_DATABASE=Innes Corp AM Radcap card ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp AM Radcap card) + + pci:v000010B5d00009054sv000010B5sd00002717* +- ID_MODEL_FROM_DATABASE=Innes Corp Auricon card ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp Auricon card) + + pci:v000010B5d00009054sv000010B5sd00002844* +- ID_MODEL_FROM_DATABASE=Innes Corp TVS Encoder card ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp TVS Encoder card) + + pci:v000010B5d00009054sv000012C7sd00004001* +- ID_MODEL_FROM_DATABASE=Intel Dialogic DM/V960-4T1 PCI ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Intel Dialogic DM/V960-4T1 PCI) + + pci:v000010B5d00009054sv000012D9sd00000002* +- ID_MODEL_FROM_DATABASE=PCI Prosody Card rev 1.5 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PCI Prosody Card rev 1.5) + + pci:v000010B5d00009054sv000014B4sd0000D100* +- ID_MODEL_FROM_DATABASE=Dektec DTA-100 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-100) + + pci:v000010B5d00009054sv000014B4sd0000D114* +- ID_MODEL_FROM_DATABASE=Dektec DTA-120 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-120) + + pci:v000010B5d00009054sv000016DFsd00000011* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM PCI ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM PCI) + + pci:v000010B5d00009054sv000016DFsd00000012* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8) + + pci:v000010B5d00009054sv000016DFsd00000013* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 (without CAS Signaling) ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8 (without CAS Signaling)) + + pci:v000010B5d00009054sv000016DFsd00000014* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 4 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 4) + + pci:v000010B5d00009054sv000016DFsd00000015* +- ID_MODEL_FROM_DATABASE=PIKA Daytona MM ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA Daytona MM) + + pci:v000010B5d00009054sv000016DFsd00000016* +- ID_MODEL_FROM_DATABASE=PIKA InLine MM ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA InLine MM) + + pci:v000010B5d00009056* + ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009056sv000010B5sd00002979* +- ID_MODEL_FROM_DATABASE=CellinkBlade 11 - CPCI board VoATM AAL1 ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (CellinkBlade 11 - CPCI board VoATM AAL1) + + pci:v000010B5d00009056sv000010B5sd00003268* +- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCIe CAN Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCIe CAN Board) + + pci:v000010B5d00009056sv000010B5sd00003352* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe HD: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe HD: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003353* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe D: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe D: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003354* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe LV: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe LV: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003355* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe L: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe L: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003415* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCIe TS: Time Synchronisation Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCIe TS: Time Synchronisation Board) + + pci:v000010B5d00009056sv000010B5sd00003493* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe 3G: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe 3G: Timecode Reader Board) + + pci:v000010B5d00009056sv00001369sd0000C001* +- ID_MODEL_FROM_DATABASE=LX6464ES ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX6464ES) + + pci:v000010B5d00009056sv00001369sd0000C201* +- ID_MODEL_FROM_DATABASE=LX1616ES ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX1616ES) + + pci:v000010B5d00009056sv000014B4sd0000D10A* +- ID_MODEL_FROM_DATABASE=DekTec DTA-110T ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (DekTec DTA-110T) + + pci:v000010B5d00009056sv000014B4sd0000D140* +- ID_MODEL_FROM_DATABASE=Dektec DTA-140 ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-140) + + pci:v000010B5d00009056sv00001A0Esd0000006F* +- ID_MODEL_FROM_DATABASE=Dektec DTA-111 ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-111) + + pci:v000010B5d00009060* + ID_MODEL_FROM_DATABASE=PCI9060 32-bit 33MHz PCI <-> IOBus Bridge +@@ -19185,7 +19185,7 @@ pci:v000010B5d0000906D* + ID_MODEL_FROM_DATABASE=9060SD + + pci:v000010B5d0000906Dsv0000125Csd00000640* +- ID_MODEL_FROM_DATABASE=Aries 16000P ++ ID_MODEL_FROM_DATABASE=9060SD (Aries 16000P) + + pci:v000010B5d0000906E* + ID_MODEL_FROM_DATABASE=9060ES +@@ -19194,61 +19194,61 @@ pci:v000010B5d00009080* + ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009080sv0000103Csd000010EB* +- ID_MODEL_FROM_DATABASE=(Agilent) E2777B 83K Series Optical Communication Interface ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E2777B 83K Series Optical Communication Interface) + + pci:v000010B5d00009080sv0000103Csd000010EC* +- ID_MODEL_FROM_DATABASE=(Agilent) E6978-66442 PCI CIC ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E6978-66442 PCI CIC) + + pci:v000010B5d00009080sv000010B5sd00001123* +- ID_MODEL_FROM_DATABASE=Sectra KK631 encryption board ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (Sectra KK631 encryption board) + + pci:v000010B5d00009080sv000010B5sd00009080* +- ID_MODEL_FROM_DATABASE=9080 [real subsystem ID not set] ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (9080 [real subsystem ID not set]) + + pci:v000010B5d00009080sv000012D9sd00000002* +- ID_MODEL_FROM_DATABASE=PCI Prosody Card ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCI Prosody Card) + + pci:v000010B5d00009080sv000012DFsd00004422* +- ID_MODEL_FROM_DATABASE=4422PCI ["Do-All" Telemetry Data Aquisition System] ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (4422PCI ["Do-All" Telemetry Data Aquisition System]) + + pci:v000010B5d00009080sv00001369sd00009601* +- ID_MODEL_FROM_DATABASE=PCX822np ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822np) + + pci:v000010B5d00009080sv00001369sd0000A102* +- ID_MODEL_FROM_DATABASE=PCX822v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822v2) + + pci:v000010B5d00009080sv00001369sd0000A201* +- ID_MODEL_FROM_DATABASE=PCX442 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX442) + + pci:v000010B5d00009080sv00001369sd0000A301* +- ID_MODEL_FROM_DATABASE=LCM440v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM440v2) + + pci:v000010B5d00009080sv00001369sd0000A401* +- ID_MODEL_FROM_DATABASE=VX822 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822) + + pci:v000010B5d00009080sv00001369sd0000A402* +- ID_MODEL_FROM_DATABASE=VX822v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822v2) + + pci:v000010B5d00009080sv00001369sd0000A901* +- ID_MODEL_FROM_DATABASE=LCM420 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM420) + + pci:v000010B5d00009080sv00001369sd0000AA01* +- ID_MODEL_FROM_DATABASE=VX820v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX820v2) + + pci:v000010B5d00009080sv00001517sd0000000B* +- ID_MODEL_FROM_DATABASE=ECSG-1R3ADC-PMC Clock synthesizer ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (ECSG-1R3ADC-PMC Clock synthesizer) + + pci:v000010B5d00009656* + ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge + + pci:v000010B5d00009656sv00001517sd0000000F* +- ID_MODEL_FROM_DATABASE=ECDR-GC314-PMC Receiver ++ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (ECDR-GC314-PMC Receiver) + + pci:v000010B5d00009656sv00001885sd00000700* +- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S40 ++ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S40) + + pci:v000010B5d00009656sv00001885sd00000701* +- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S30 ++ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S30) + + pci:v000010B5d0000A100* + ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink +@@ -19263,28 +19263,28 @@ pci:v000010B5d0000D00D* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d0000D00Dsv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card) + + pci:v000010B5d0000D33D* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d0000D33Dsv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PT Quad T1/J1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PT Quad T1/J1 PCI card) + + pci:v000010B5d0000D44D* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d0000D44Dsv000010B5sd000017F6* +- ID_MODEL_FROM_DATABASE=Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card) + + pci:v000010B5d0000D44Dsv000010B5sd000017F7* +- ID_MODEL_FROM_DATABASE=Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card) + + pci:v000010B5d0000D44Dsv000010B5sd000017F8* +- ID_MODEL_FROM_DATABASE=Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card) + + pci:v000010B5d0000D44Dsv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PE Quad E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PE Quad E1 PCI card) + + pci:v000010B6* + ID_VENDOR_FROM_DATABASE=Madge Networks +@@ -19299,19 +19299,19 @@ pci:v000010B6d00000002sv000010B6sd00000002* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 + + pci:v000010B6d00000002sv000010B6sd00000006* +- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter ++ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 (16/4 CardBus Adapter) + + pci:v000010B6d00000003* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 + + pci:v000010B6d00000003sv00000E11sd0000B0FD* +- ID_MODEL_FROM_DATABASE=Compaq NC4621 PCI, 4/16, WOL ++ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Compaq NC4621 PCI, 4/16, WOL) + + pci:v000010B6d00000003sv000010B6sd00000003* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 + + pci:v000010B6d00000003sv000010B6sd00000007* +- ID_MODEL_FROM_DATABASE=Presto PCI Plus Adapter ++ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Presto PCI Plus Adapter) + + pci:v000010B6d00000004* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk1 +@@ -19320,13 +19320,13 @@ pci:v000010B6d00000006* + ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter + + pci:v000010B6d00000006sv000010B6sd00000006* +- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter ++ ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter (16/4 CardBus Adapter) + + pci:v000010B6d00000007* + ID_MODEL_FROM_DATABASE=Presto PCI Adapter + + pci:v000010B6d00000007sv000010B6sd00000007* +- ID_MODEL_FROM_DATABASE=Presto PCI ++ ID_MODEL_FROM_DATABASE=Presto PCI Adapter (Presto PCI) + + pci:v000010B6d00000009* + ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode +@@ -19347,7 +19347,7 @@ pci:v000010B6d0000000Bsv000010B6sd00000008* + ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 + + pci:v000010B6d0000000Bsv000010B6sd0000000B* +- ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter Mk2 ++ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 (16/4 Cardbus Adapter Mk2) + + pci:v000010B6d0000000C* + ID_MODEL_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter +@@ -19368,13 +19368,13 @@ pci:v000010B7d00000001* + ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) + + pci:v000010B7d00000001sv00009850sd00000001* +- ID_MODEL_FROM_DATABASE=3c985B-SX ++ ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) (3c985B-SX) + + pci:v000010B7d00000013* + ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) + + pci:v000010B7d00000013sv000010B7sd00002031* +- ID_MODEL_FROM_DATABASE=3CRDAG675 11a/b/g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) (3CRDAG675 11a/b/g Wireless PCI Adapter) + + pci:v000010B7d00000910* + ID_MODEL_FROM_DATABASE=3C910-A01 +@@ -19386,10 +19386,10 @@ pci:v000010B7d00001007* + ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem + + pci:v000010B7d00001007sv000010B7sd0000615B* +- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem ++ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) + + pci:v000010B7d00001007sv000010B7sd0000615C* +- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem ++ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) + + pci:v000010B7d00001201* + ID_MODEL_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port A [Hydra] +@@ -19401,16 +19401,16 @@ pci:v000010B7d00001700* + ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] + + pci:v000010B7d00001700sv00001043sd000080EB* +- ID_MODEL_FROM_DATABASE=A7V600/P4P800/K8V motherboard ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (A7V600/P4P800/K8V motherboard) + + pci:v000010B7d00001700sv000010B7sd00000010* +- ID_MODEL_FROM_DATABASE=3C940 Gigabit LOM Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C940 Gigabit LOM Ethernet Adapter) + + pci:v000010B7d00001700sv000010B7sd00000020* +- ID_MODEL_FROM_DATABASE=3C941 Gigabit LOM Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C941 Gigabit LOM Ethernet Adapter) + + pci:v000010B7d00001700sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (KV8-MAX3 motherboard) + + pci:v000010B7d00003390* + ID_MODEL_FROM_DATABASE=3c339 TokenLink Velocity +@@ -19419,7 +19419,7 @@ pci:v000010B7d00003590* + ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL + + pci:v000010B7d00003590sv000010B7sd00003590* +- ID_MODEL_FROM_DATABASE=TokenLink Velocity XL Adapter (3C359/359B) ++ ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL (TokenLink Velocity XL Adapter (3C359/359B)) + + pci:v000010B7d00004500* + ID_MODEL_FROM_DATABASE=3c450 HomePNA [Tornado] +@@ -19431,19 +19431,19 @@ pci:v000010B7d00005057* + ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] + + pci:v000010B7d00005057sv000010B7sd00005A57* +- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card ++ ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) + + pci:v000010B7d00005157* + ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] + + pci:v000010B7d00005157sv000010B7sd00005B57* +- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card ++ ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] (3C575 Megahertz 10/100 LAN Cardbus PC Card) + + pci:v000010B7d00005257* + ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] + + pci:v000010B7d00005257sv000010B7sd00005C57* +- ID_MODEL_FROM_DATABASE=FE575C-3Com 10/100 LAN CardBus-Fast Ethernet ++ ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] (FE575C-3Com 10/100 LAN CardBus-Fast Ethernet) + + pci:v000010B7d00005900* + ID_MODEL_FROM_DATABASE=3c590 10BaseT [Vortex] +@@ -19467,7 +19467,7 @@ pci:v000010B7d00005B57* + ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] + + pci:v000010B7d00005B57sv000010B7sd00005B57* +- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card ++ ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) + + pci:v000010B7d00006000* + ID_MODEL_FROM_DATABASE=3CRSHPW796 [OfficeConnect Wireless CardBus] +@@ -19482,31 +19482,31 @@ pci:v000010B7d00006056* + ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] + + pci:v000010B7d00006056sv000010B7sd00006556* +- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] (10/100 Mini PCI Ethernet Adapter) + + pci:v000010B7d00006560* + ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] + + pci:v000010B7d00006560sv000010B7sd0000656A* +- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] (3CCFEM656 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006561* + ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus + + pci:v000010B7d00006561sv000010B7sd0000656B* +- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006562* + ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] + + pci:v000010B7d00006562sv000010B7sd0000656B* +- ID_MODEL_FROM_DATABASE=3CCFEM656B 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] (3CCFEM656B 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006563* + ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus + + pci:v000010B7d00006563sv000010B7sd0000656B* +- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006564* + ID_MODEL_FROM_DATABASE=3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado] +@@ -19542,13 +19542,13 @@ pci:v000010B7d00009004* + ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] + + pci:v000010B7d00009004sv000010B7sd00009004* +- ID_MODEL_FROM_DATABASE=3C900B-TPO Etherlink XL TPO 10Mb ++ ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] (3C900B-TPO Etherlink XL TPO 10Mb) + + pci:v000010B7d00009005* + ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] + + pci:v000010B7d00009005sv000010B7sd00009005* +- ID_MODEL_FROM_DATABASE=3C900B-Combo Etherlink XL Combo ++ ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] (3C900B-Combo Etherlink XL Combo) + + pci:v000010B7d00009006* + ID_MODEL_FROM_DATABASE=3c900B-TPC Etherlink XL [Cyclone] +@@ -19572,67 +19572,67 @@ pci:v000010B7d00009055* + ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] + + pci:v000010B7d00009055sv00001028sd00000080* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000081* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000082* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000083* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000084* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000085* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000086* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000087* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000089* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000090* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000091* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000092* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000093* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000094* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000096* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000097* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000098* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000099* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv000010B7sd00009055* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009056* + ID_MODEL_FROM_DATABASE=3c905B-T4 Fast EtherLink XL [Cyclone] +@@ -19647,40 +19647,40 @@ pci:v000010B7d00009200* + ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] + + pci:v000010B7d00009200sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) + + pci:v000010B7d00009200sv00001028sd00000097* +- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) + + pci:v000010B7d00009200sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (OptiPlex GX110) + + pci:v000010B7d00009200sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Precision 530) + + pci:v000010B7d00009200sv00001028sd000000FE* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Optiplex GX240) + + pci:v000010B7d00009200sv00001028sd0000012A* +- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller [Latitude C640] ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller [Latitude C640]) + + pci:v000010B7d00009200sv000010B7sd00001000* +- ID_MODEL_FROM_DATABASE=3C905CX-TX/TX-M Fast Etherlink for PC Management NIC ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C905CX-TX/TX-M Fast Etherlink for PC Management NIC) + + pci:v000010B7d00009200sv000010B7sd00007000* +- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (10/100 Mini PCI Ethernet Adapter) + + pci:v000010B7d00009200sv000010F1sd00002466* +- ID_MODEL_FROM_DATABASE=Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)) + + pci:v000010B7d00009200sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (X10 Laptop) + + pci:v000010B7d00009201* + ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] + + pci:v000010B7d00009201sv00001043sd000080AB* +- ID_MODEL_FROM_DATABASE=A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller ++ ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] (A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller) + + pci:v000010B7d00009202* + ID_MODEL_FROM_DATABASE=3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller +@@ -19695,22 +19695,22 @@ pci:v000010B7d00009800* + ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] + + pci:v000010B7d00009800sv000010B7sd00009800* +- ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter ++ ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] (3c980-TX Fast Etherlink XL Server Adapter) + + pci:v000010B7d00009805* + ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] + + pci:v000010B7d00009805sv000010B7sd00001201* +- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port A ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port A) + + pci:v000010B7d00009805sv000010B7sd00001202* +- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port B ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port B) + + pci:v000010B7d00009805sv000010B7sd00009805* +- ID_MODEL_FROM_DATABASE=3c980 10/100baseTX NIC [Python-T] ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (3c980 10/100baseTX NIC [Python-T]) + + pci:v000010B7d00009805sv000010F1sd00002462* +- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (Thunder K7 S2462) + + pci:v000010B7d00009900* + ID_MODEL_FROM_DATABASE=3C990-TX [Typhoon] +@@ -19725,25 +19725,25 @@ pci:v000010B7d00009904* + ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] + + pci:v000010B7d00009904sv000010B7sd00001000* +- ID_MODEL_FROM_DATABASE=3CR990B-TX-M [Typhoon2] ++ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990B-TX-M [Typhoon2]) + + pci:v000010B7d00009904sv000010B7sd00002000* +- ID_MODEL_FROM_DATABASE=3CR990BSVR [Typhoon2 Server] ++ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990BSVR [Typhoon2 Server]) + + pci:v000010B7d00009905* + ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] + + pci:v000010B7d00009905sv000010B7sd00001101* +- ID_MODEL_FROM_DATABASE=3CR990-FX-95 [Typhoon Fiber 56-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 [Typhoon Fiber 56-bit]) + + pci:v000010B7d00009905sv000010B7sd00001102* +- ID_MODEL_FROM_DATABASE=3CR990-FX-97 [Typhoon Fiber 168-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 [Typhoon Fiber 168-bit]) + + pci:v000010B7d00009905sv000010B7sd00002101* +- ID_MODEL_FROM_DATABASE=3CR990-FX-95 Server [Typhoon Fiber 56-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 Server [Typhoon Fiber 56-bit]) + + pci:v000010B7d00009905sv000010B7sd00002102* +- ID_MODEL_FROM_DATABASE=3CR990-FX-97 Server [Typhoon Fiber 168-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 Server [Typhoon Fiber 168-bit]) + + pci:v000010B7d00009908* + ID_MODEL_FROM_DATABASE=3CR990SVR95 [Typhoon Server 56-bit] +@@ -19764,49 +19764,49 @@ pci:v000010B8d00000005* + ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter + + pci:v000010B8d00000005sv00001055sd0000E000* +- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171Q-PCI] ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171Q-PCI]) + + pci:v000010B8d00000005sv00001055sd0000E002* +- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171G-PCI] ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171G-PCI]) + + pci:v000010B8d00000005sv000010B8sd0000A011* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A014* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A015* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A016* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A017* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000006* + ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter + + pci:v000010B8d00000006sv00001055sd0000E100* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv00001055sd0000E102* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv00001055sd0000E300* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv00001055sd0000E302* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv000010B8sd0000A012* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv000013A2sd00008002* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv000013A2sd00008006* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00001000* + ID_MODEL_FROM_DATABASE=FDC 37c665 +@@ -19869,13 +19869,13 @@ pci:v000010B9d00001521* + ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] + + pci:v000010B9d00001521sv000010B9sd00001521* +- ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge ++ ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] (ALI M1521 Aladdin III CPU Bridge) + + pci:v000010B9d00001523* + ID_MODEL_FROM_DATABASE=M1523 + + pci:v000010B9d00001523sv000010B9sd00001523* +- ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge ++ ID_MODEL_FROM_DATABASE=M1523 (ALI M1523 ISA Bridge) + + pci:v000010B9d00001531* + ID_MODEL_FROM_DATABASE=M1531 [Aladdin IV] +@@ -19884,16 +19884,16 @@ pci:v000010B9d00001533* + ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] + + pci:v000010B9d00001533sv00001014sd0000053B* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ThinkPad R40e) + + pci:v000010B9d00001533sv000010B9sd00001533* +- ID_MODEL_FROM_DATABASE=ALi M1533 Aladdin IV/V ISA Bridge ++ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ALi M1533 Aladdin IV/V ISA Bridge) + + pci:v000010B9d00001541* + ID_MODEL_FROM_DATABASE=M1541 + + pci:v000010B9d00001541sv000010B9sd00001541* +- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP System Controller ++ ID_MODEL_FROM_DATABASE=M1541 (ALI M1541 Aladdin V/V+ AGP System Controller) + + pci:v000010B9d00001543* + ID_MODEL_FROM_DATABASE=M1543 +@@ -19902,10 +19902,10 @@ pci:v000010B9d00001563* + ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge + + pci:v000010B9d00001563sv000010B9sd00001563* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00001563sv00001849sd00001563* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00001573* + ID_MODEL_FROM_DATABASE=PCI to LPC Controller +@@ -20007,22 +20007,22 @@ pci:v000010B9d00005229* + ID_MODEL_FROM_DATABASE=M5229 IDE + + pci:v000010B9d00005229sv00001014sd0000050F* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R30) + + pci:v000010B9d00005229sv00001014sd0000053D* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R40e) + + pci:v000010B9d00005229sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin IDE ++ ID_MODEL_FROM_DATABASE=M5229 IDE (Pavilion ze4400 builtin IDE) + + pci:v000010B9d00005229sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M5229 IDE (XE4500 Notebook) + + pci:v000010B9d00005229sv00001043sd00008053* +- ID_MODEL_FROM_DATABASE=A7A266 Motherboard IDE ++ ID_MODEL_FROM_DATABASE=M5229 IDE (A7A266 Motherboard IDE) + + pci:v000010B9d00005229sv00001849sd00005229* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard IDE (PATA) ++ ID_MODEL_FROM_DATABASE=M5229 IDE (ASRock 939Dual-SATA2 Motherboard IDE (PATA)) + + pci:v000010B9d00005235* + ID_MODEL_FROM_DATABASE=M5225 +@@ -20031,31 +20031,31 @@ pci:v000010B9d00005237* + ID_MODEL_FROM_DATABASE=USB 1.1 Controller + + pci:v000010B9d00005237sv00001014sd00000540* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ThinkPad R40e) + + pci:v000010B9d00005237sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin USB ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Pavilion ze4400 builtin USB) + + pci:v000010B9d00005237sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (XE4500 Notebook) + + pci:v000010B9d00005237sv0000104Dsd0000810F* +- ID_MODEL_FROM_DATABASE=VAIO PCG-U1 USB/OHCI Revision 1.0 ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (VAIO PCG-U1 USB/OHCI Revision 1.0) + + pci:v000010B9d00005237sv000010B9sd00005237* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005237sv00001849sd00005237* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005239* + ID_MODEL_FROM_DATABASE=USB 2.0 Controller + + pci:v000010B9d00005239sv000010B9sd00005239* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005239sv00001849sd00005239* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005243* + ID_MODEL_FROM_DATABASE=M1541 PCI to AGP Controller +@@ -20103,7 +20103,7 @@ pci:v000010B9d00005288* + ID_MODEL_FROM_DATABASE=ULi M5288 SATA + + pci:v000010B9d00005288sv00001043sd00008056* +- ID_MODEL_FROM_DATABASE=A8R-MVP Mainboard ++ ID_MODEL_FROM_DATABASE=ULi M5288 SATA (A8R-MVP Mainboard) + + pci:v000010B9d00005289* + ID_MODEL_FROM_DATABASE=ULi 5289 SATA +@@ -20115,16 +20115,16 @@ pci:v000010B9d00005451* + ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device + + pci:v000010B9d00005451sv00001014sd00000506* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R30) + + pci:v000010B9d00005451sv00001014sd0000053E* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R40e) + + pci:v000010B9d00005451sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Audio ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (Pavilion ze4400 builtin Audio) + + pci:v000010B9d00005451sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (XE4500 Notebook) + + pci:v000010B9d00005453* + ID_MODEL_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device +@@ -20133,22 +20133,22 @@ pci:v000010B9d00005455* + ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device + + pci:v000010B9d00005455sv000010B9sd00005455* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005455sv00001849sd00000850* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005457* + ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller + + pci:v000010B9d00005457sv00001014sd00000535* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (ThinkPad R40e) + + pci:v000010B9d00005457sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Modem Device ++ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (Pavilion ze4400 builtin Modem Device) + + pci:v000010B9d00005457sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (XE4500 Notebook) + + pci:v000010B9d00005459* + ID_MODEL_FROM_DATABASE=SmartLink SmartPCI561 56K Modem +@@ -20169,19 +20169,19 @@ pci:v000010B9d00007101* + ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] + + pci:v000010B9d00007101sv00001014sd00000510* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R30) + + pci:v000010B9d00007101sv00001014sd0000053C* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R40e) + + pci:v000010B9d00007101sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (Pavilion ze4400) + + pci:v000010B9d00007101sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (XE4500 Notebook) + + pci:v000010B9d00007101sv00001849sd00007101* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010BA* + ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp. +@@ -20196,7 +20196,7 @@ pci:v000010BAd00000308* + ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] + + pci:v000010BAd00000308sv000010DDsd00000024* +- ID_MODEL_FROM_DATABASE=Tornado 3000 ++ ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] (Tornado 3000) + + pci:v000010BAd00001002* + ID_MODEL_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator] +@@ -20259,79 +20259,79 @@ pci:v000010C8d00000004* + ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] + + pci:v000010C8d00000004sv00001014sd000000BA* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001025sd00001007* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd00000074* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd00000075* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd0000007D* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd0000007E* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001033sd0000802F* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv0000104Dsd0000801B* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv0000104Dsd0000802F* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv0000104Dsd0000830B* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010BAsd00000E00* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010C8sd00000004* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010CFsd00001029* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd00008308* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd00008309* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd0000830B* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd0000830D* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd00008312* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000005* + ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] + + pci:v000010C8d00000005sv00001014sd000000DD* +- ID_MODEL_FROM_DATABASE=ThinkPad 570 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (ThinkPad 570) + + pci:v000010C8d00000005sv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=Latitude CPi A ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (Latitude CPi A) + + pci:v000010C8d00000006* + ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] + + pci:v000010C8d00000006sv00001014sd00000152* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X ++ ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] (ThinkPad 600X) + + pci:v000010C8d00000016* + ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] + + pci:v000010C8d00000016sv000010C8sd00000016* +- ID_MODEL_FROM_DATABASE=MagicMedia 256XL+ ++ ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] (MagicMedia 256XL+) + + pci:v000010C8d00000025* + ID_MODEL_FROM_DATABASE=NM2230 [MagicGraph 256AV+] +@@ -20343,40 +20343,40 @@ pci:v000010C8d00008005* + ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] + + pci:v000010C8d00008005sv00000E11sd0000B0D1* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Discovery ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Discovery) + + pci:v000010C8d00008005sv00000E11sd0000B126* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Durango ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Durango) + + pci:v000010C8d00008005sv00001014sd000000DD* +- ID_MODEL_FROM_DATABASE=ThinkPad 390/i1720/i1721 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (ThinkPad 390/i1720/i1721) + + pci:v000010C8d00008005sv00001025sd00001003* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on TravelMate 720 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on TravelMate 720) + + pci:v000010C8d00008005sv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=Latitude CPi A ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (Latitude CPi A) + + pci:v000010C8d00008005sv00001028sd0000008F* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Colorado Inspiron ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Colorado Inspiron) + + pci:v000010C8d00008005sv0000103Csd00000007* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager II ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager II) + + pci:v000010C8d00008005sv0000103Csd00000008* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager III ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager III) + + pci:v000010C8d00008005sv0000103Csd0000000D* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Omnibook 900 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Omnibook 900) + + pci:v000010C8d00008005sv000010C8sd00008005* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on FireAnt ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on FireAnt) + + pci:v000010C8d00008005sv0000110Asd00008005* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) + + pci:v000010C8d00008005sv000014C0sd00000004* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) + + pci:v000010C8d00008006* + ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX Audio] +@@ -20415,10 +20415,10 @@ pci:v000010CDd00001300* + ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U + + pci:v000010CDd00001300sv000010CDsd00001310* +- ID_MODEL_FROM_DATABASE=ASC1300 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (ASC1300 SCSI Adapter) + + pci:v000010CDd00001300sv00001195sd00001320* +- ID_MODEL_FROM_DATABASE=Ultra-SCSI CardBus PC Card REX CB31 ++ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (Ultra-SCSI CardBus PC Card REX CB31) + + pci:v000010CDd00002300* + ID_MODEL_FROM_DATABASE=ABP940-UW +@@ -20511,7 +20511,7 @@ pci:v000010D9d00000531* + ID_MODEL_FROM_DATABASE=MX987x5 + + pci:v000010D9d00000531sv00001186sd00001200* +- ID_MODEL_FROM_DATABASE=DFE-540TX ProFAST 10/100 Adapter ++ ID_MODEL_FROM_DATABASE=MX987x5 (DFE-540TX ProFAST 10/100 Adapter) + + pci:v000010D9d00008625* + ID_MODEL_FROM_DATABASE=MX86250 +@@ -20559,7 +20559,7 @@ pci:v000010DDd00000100* + ID_MODEL_FROM_DATABASE=Lightning 1200 + + pci:v000010DDd00000100sv000010DDsd00000023* +- ID_MODEL_FROM_DATABASE=Lightning 1200 15+16M ++ ID_MODEL_FROM_DATABASE=Lightning 1200 (15+16M) + + pci:v000010DE* + ID_VENDOR_FROM_DATABASE=NVIDIA Corporation +@@ -20574,193 +20574,193 @@ pci:v000010DEd00000020* + ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] + + pci:v000010DEd00000020sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=V3400 TNT ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (V3400 TNT) + + pci:v000010DEd00000020sv00001048sd00000C18* +- ID_MODEL_FROM_DATABASE=Erazor II SGRAM ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II SGRAM) + + pci:v000010DEd00000020sv00001048sd00000C19* +- ID_MODEL_FROM_DATABASE=Erazor II ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) + + pci:v000010DEd00000020sv00001048sd00000C1B* +- ID_MODEL_FROM_DATABASE=Erazor II ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) + + pci:v000010DEd00000020sv00001048sd00000C1C* +- ID_MODEL_FROM_DATABASE=Erazor II ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) + + pci:v000010DEd00000020sv00001092sd00000550* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00000552* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004804* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004808* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004810* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004812* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004815* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004820* +- ID_MODEL_FROM_DATABASE=Viper V550 with TV out ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550 with TV out) + + pci:v000010DEd00000020sv00001092sd00004822* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004904* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004914* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00008225* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv000010B4sd0000273D* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) + + pci:v000010DEd00000020sv000010B4sd0000273E* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) + + pci:v000010DEd00000020sv000010B4sd00002740* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) + + pci:v000010DEd00000020sv000010DEsd00000020* +- ID_MODEL_FROM_DATABASE=Riva TNT ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Riva TNT) + + pci:v000010DEd00000020sv00001102sd00001015* +- ID_MODEL_FROM_DATABASE=Graphics Blaster CT6710 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster CT6710) + + pci:v000010DEd00000020sv00001102sd00001016* +- ID_MODEL_FROM_DATABASE=Graphics Blaster RIVA TNT ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster RIVA TNT) + + pci:v000010DEd00000028* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] + + pci:v000010DEd00000028sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800 SGRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SGRAM) + + pci:v000010DEd00000028sv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800 SDRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SDRAM) + + pci:v000010DEd00000028sv00001043sd00000205* +- ID_MODEL_FROM_DATABASE=PCI-V3800 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (PCI-V3800) + + pci:v000010DEd00000028sv00001043sd00004000* +- ID_MODEL_FROM_DATABASE=AGP-V3800PRO ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800PRO) + + pci:v000010DEd00000028sv00001048sd00000C21* +- ID_MODEL_FROM_DATABASE=Synergy II ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Synergy II) + + pci:v000010DEd00000028sv00001048sd00000C28* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C29* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C2A* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C2B* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C31* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv00001048sd00000C32* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv00001048sd00000C33* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv00001048sd00000C34* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv0000107Dsd00002134* +- ID_MODEL_FROM_DATABASE=WinFast 3D S320 II + TV-Out ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (WinFast 3D S320 II + TV-Out) + + pci:v000010DEd00000028sv00001092sd00004804* +- ID_MODEL_FROM_DATABASE=Viper V770 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) + + pci:v000010DEd00000028sv00001092sd00004A00* +- ID_MODEL_FROM_DATABASE=Viper V770 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) + + pci:v000010DEd00000028sv00001092sd00004A02* +- ID_MODEL_FROM_DATABASE=Viper V770 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) + + pci:v000010DEd00000028sv00001092sd00005A00* +- ID_MODEL_FROM_DATABASE=RIVA TNT2/TNT2 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2/TNT2 Pro) + + pci:v000010DEd00000028sv00001092sd00005A40* +- ID_MODEL_FROM_DATABASE=Viper V770D AGP ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770D AGP) + + pci:v000010DEd00000028sv00001092sd00006A02* +- ID_MODEL_FROM_DATABASE=Viper V770 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) + + pci:v000010DEd00000028sv00001092sd00007A02* +- ID_MODEL_FROM_DATABASE=Viper V770 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) + + pci:v000010DEd00000028sv000010DEsd00000005* +- ID_MODEL_FROM_DATABASE=RIVA TNT2 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2 Pro) + + pci:v000010DEd00000028sv000010DEsd0000000F* +- ID_MODEL_FROM_DATABASE=Compaq NVIDIA TNT2 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Compaq NVIDIA TNT2 Pro) + + pci:v000010DEd00000028sv00001102sd00001020* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2) + + pci:v000010DEd00000028sv00001102sd00001026* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Digital ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2 Digital) + + pci:v000010DEd00000028sv00001462sd00008806* +- ID_MODEL_FROM_DATABASE=MS-8806 AGPhantom Graphics Card ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (MS-8806 AGPhantom Graphics Card) + + pci:v000010DEd00000028sv000014AFsd00005810* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Maxi Gamer Xentor) + + pci:v000010DEd00000029* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] + + pci:v000010DEd00000029sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Deluxe ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Deluxe) + + pci:v000010DEd00000029sv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Ultra SDRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Ultra SDRAM) + + pci:v000010DEd00000029sv00001043sd00000205* +- ID_MODEL_FROM_DATABASE=PCI-V3800 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (PCI-V3800 Ultra) + + pci:v000010DEd00000029sv00001048sd00000C2E* +- ID_MODEL_FROM_DATABASE=Erazor III Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) + + pci:v000010DEd00000029sv00001048sd00000C2F* +- ID_MODEL_FROM_DATABASE=Erazor III Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) + + pci:v000010DEd00000029sv00001048sd00000C30* +- ID_MODEL_FROM_DATABASE=Erazor III Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) + + pci:v000010DEd00000029sv00001102sd00001021* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) + + pci:v000010DEd00000029sv00001102sd00001029* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) + + pci:v000010DEd00000029sv00001102sd0000102F* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) + + pci:v000010DEd00000029sv000014AFsd00005820* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor 32 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Maxi Gamer Xentor 32) + + pci:v000010DEd00000029sv00004843sd00004F34* +- ID_MODEL_FROM_DATABASE=Dynamite ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Dynamite) + + pci:v000010DEd0000002A* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2] +@@ -20772,85 +20772,85 @@ pci:v000010DEd0000002C* + ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] + + pci:v000010DEd0000002Csv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat SDRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat SDRAM) + + pci:v000010DEd0000002Csv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat) + + pci:v000010DEd0000002Csv00001048sd00000C20* +- ID_MODEL_FROM_DATABASE=TNT2 Vanta ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) + + pci:v000010DEd0000002Csv00001048sd00000C21* +- ID_MODEL_FROM_DATABASE=TNT2 Vanta ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) + + pci:v000010DEd0000002Csv00001048sd00000C25* +- ID_MODEL_FROM_DATABASE=TNT2 Vanta 16MB ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta 16MB) + + pci:v000010DEd0000002Csv00001092sd00006820* +- ID_MODEL_FROM_DATABASE=Viper V730 ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Viper V730) + + pci:v000010DEd0000002Csv00001102sd00001031* +- ID_MODEL_FROM_DATABASE=CT6938 VANTA 8MB ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6938 VANTA 8MB) + + pci:v000010DEd0000002Csv00001102sd00001034* +- ID_MODEL_FROM_DATABASE=CT6894 VANTA 16MB ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6894 VANTA 16MB) + + pci:v000010DEd0000002Csv000014AFsd00005008* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix 2 ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Maxi Gamer Phoenix 2) + + pci:v000010DEd0000002D* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] + + pci:v000010DEd0000002Dsv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800M ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) + + pci:v000010DEd0000002Dsv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800M ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) + + pci:v000010DEd0000002Dsv00001048sd00000C3A* +- ID_MODEL_FROM_DATABASE=Erazor III LT ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) + + pci:v000010DEd0000002Dsv00001048sd00000C3B* +- ID_MODEL_FROM_DATABASE=Erazor III LT ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) + + pci:v000010DEd0000002Dsv0000107Dsd00002137* +- ID_MODEL_FROM_DATABASE=WinFast 3D S325 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (WinFast 3D S325) + + pci:v000010DEd0000002Dsv000010DEsd00000006* +- ID_MODEL_FROM_DATABASE=RIVA TNT2 Model 64/Model 64 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (RIVA TNT2 Model 64/Model 64 Pro) + + pci:v000010DEd0000002Dsv000010DEsd0000001E* +- ID_MODEL_FROM_DATABASE=M64 AGP4x ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (M64 AGP4x) + + pci:v000010DEd0000002Dsv00001102sd00001023* +- ID_MODEL_FROM_DATABASE=CT6892 RIVA TNT2 Value ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6892 RIVA TNT2 Value) + + pci:v000010DEd0000002Dsv00001102sd00001024* +- ID_MODEL_FROM_DATABASE=CT6932 RIVA TNT2 Value 32Mb ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6932 RIVA TNT2 Value 32Mb) + + pci:v000010DEd0000002Dsv00001102sd0000102C* +- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value [Jumper] ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value [Jumper]) + + pci:v000010DEd0000002Dsv00001102sd00001030* +- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value) + + pci:v000010DEd0000002Dsv0000110Asd0000006F* +- ID_MODEL_FROM_DATABASE=GM1000-16 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) + + pci:v000010DEd0000002Dsv0000110Asd00000081* +- ID_MODEL_FROM_DATABASE=GM1000-16 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) + + pci:v000010DEd0000002Dsv00001462sd00008808* +- ID_MODEL_FROM_DATABASE=MSI-8808 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (MSI-8808) + + pci:v000010DEd0000002Dsv000014AFsd00005620* +- ID_MODEL_FROM_DATABASE=Gamer Cougar Video Edition ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Gamer Cougar Video Edition) + + pci:v000010DEd0000002Dsv00001554sd00001041* +- ID_MODEL_FROM_DATABASE=Pixelview RIVA TNT2 M64 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Pixelview RIVA TNT2 M64) + + pci:v000010DEd0000002Dsv00001569sd0000002D* +- ID_MODEL_FROM_DATABASE=Palit Microsystems Daytona TNT2 M64 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Palit Microsystems Daytona TNT2 M64) + + pci:v000010DEd00000034* + ID_MODEL_FROM_DATABASE=MCP04 SMBus +@@ -20889,19 +20889,19 @@ pci:v000010DEd00000041* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] + + pci:v000010DEd00000041sv00001043sd0000817B* +- ID_MODEL_FROM_DATABASE=V9999 Gamer Edition ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (V9999 Gamer Edition) + + pci:v000010DEd00000041sv0000107Dsd00002992* +- ID_MODEL_FROM_DATABASE=WinFast A400 ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (WinFast A400) + + pci:v000010DEd00000041sv00001458sd0000310F* +- ID_MODEL_FROM_DATABASE=Geforce 6800 GV-N6812 ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (Geforce 6800 GV-N6812) + + pci:v000010DEd00000042* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] + + pci:v000010DEd00000042sv0000107Dsd0000299B* +- ID_MODEL_FROM_DATABASE=WinFast A400 LE ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] (WinFast A400 LE) + + pci:v000010DEd00000043* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XE] +@@ -20913,16 +20913,16 @@ pci:v000010DEd00000045* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] + + pci:v000010DEd00000045sv00001043sd0000817D* +- ID_MODEL_FROM_DATABASE=V9999GT ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (V9999GT) + + pci:v000010DEd00000045sv00001458sd00003140* +- ID_MODEL_FROM_DATABASE=GV-N68T256D ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (GV-N68T256D) + + pci:v000010DEd00000047* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] + + pci:v000010DEd00000047sv00001682sd00002109* +- ID_MODEL_FROM_DATABASE=GeForce 6800 GS ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] (GeForce 6800 GS) + + pci:v000010DEd00000048* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XT] +@@ -20934,133 +20934,133 @@ pci:v000010DEd00000050* + ID_MODEL_FROM_DATABASE=CK804 ISA Bridge + + pci:v000010DEd00000050sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000050sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (Tomcat K8E (S2865)) + + pci:v000010DEd00000050sv00001458sd00000C11* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000050sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (MSI K8N Diamond) + + pci:v000010DEd00000050sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N Neo4-F mainboard) + + pci:v000010DEd00000050sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (KN8-Ultra Mainboard) + + pci:v000010DEd00000050sv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (NF4 AM2L Mainboard) + + pci:v000010DEd00000051* + ID_MODEL_FROM_DATABASE=CK804 ISA Bridge + + pci:v000010DEd00000051sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 ISA Bridge ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (PowerEdge T105 ISA Bridge) + + pci:v000010DEd00000052* + ID_MODEL_FROM_DATABASE=CK804 SMBus + + pci:v000010DEd00000052sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 SMBus ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (PowerEdge T105 SMBus) + + pci:v000010DEd00000052sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000052sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (Tomcat K8E (S2865)) + + pci:v000010DEd00000052sv00001458sd00000C11* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000052sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (MSI K8N Diamond) + + pci:v000010DEd00000052sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N Neo4-F mainboard) + + pci:v000010DEd00000052sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (KN8-Ultra Mainboard) + + pci:v000010DEd00000052sv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (NF4 AM2L Mainboard) + + pci:v000010DEd00000053* + ID_MODEL_FROM_DATABASE=CK804 IDE + + pci:v000010DEd00000053sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000053sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 IDE (Tomcat K8E (S2865)) + + pci:v000010DEd00000053sv00001458sd00005002* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000053sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 IDE (MSI K8N Diamond) + + pci:v000010DEd00000053sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N Neo4-F mainboard) + + pci:v000010DEd00000053sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (KN8-Ultra Mainboard) + + pci:v000010DEd00000053sv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (NF4 AM2L Mainboard) + + pci:v000010DEd00000054* + ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller + + pci:v000010DEd00000054sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) + + pci:v000010DEd00000054sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (A8N Series Mainboard) + + pci:v000010DEd00000054sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000054sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000054sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (MSI K8N Diamond) + + pci:v000010DEd00000054sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000054sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000054sv00001565sd00005401* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) + + pci:v000010DEd00000055* + ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller + + pci:v000010DEd00000055sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) + + pci:v000010DEd00000055sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000055sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000055sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000055sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000055sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000055sv00001565sd00005401* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) + + pci:v000010DEd00000056* + ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller +@@ -21069,28 +21069,28 @@ pci:v000010DEd00000057* + ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller + + pci:v000010DEd00000057sv00001043sd00008141* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000057sv000010DEsd0000CB84* +- ID_MODEL_FROM_DATABASE=NF4 Lanparty ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 Lanparty) + + pci:v000010DEd00000057sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000057sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000057sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (MSI K8N Diamond) + + pci:v000010DEd00000057sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000057sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000057sv00001565sd00002501* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 AM2L Mainboard) + + pci:v000010DEd00000058* + ID_MODEL_FROM_DATABASE=CK804 AC'97 Modem +@@ -21099,73 +21099,73 @@ pci:v000010DEd00000059* + ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller + + pci:v000010DEd00000059sv00001043sd0000812A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000059sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000059sv00001462sd00007585* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000059sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000059sv00001565sd00008211* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005A* + ID_MODEL_FROM_DATABASE=CK804 USB Controller + + pci:v000010DEd0000005Asv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) + + pci:v000010DEd0000005Asv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd0000005Asv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) + + pci:v000010DEd0000005Asv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd0000005Asv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) + + pci:v000010DEd0000005Asv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) + + pci:v000010DEd0000005Asv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) + + pci:v000010DEd0000005Asv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005B* + ID_MODEL_FROM_DATABASE=CK804 USB Controller + + pci:v000010DEd0000005Bsv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) + + pci:v000010DEd0000005Bsv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd0000005Bsv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) + + pci:v000010DEd0000005Bsv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd0000005Bsv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) + + pci:v000010DEd0000005Bsv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) + + pci:v000010DEd0000005Bsv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) + + pci:v000010DEd0000005Bsv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005C* + ID_MODEL_FROM_DATABASE=CK804 PCI Bridge +@@ -21177,34 +21177,34 @@ pci:v000010DEd0000005E* + ID_MODEL_FROM_DATABASE=CK804 Memory Controller + + pci:v000010DEd0000005Esv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Memory Controller ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (PowerEdge T105 Memory Controller) + + pci:v000010DEd0000005Esv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (A8N Series Mainboard) + + pci:v000010DEd0000005Esv000010DEsd0000005E* +- ID_MODEL_FROM_DATABASE=ECS Elitegroup NFORCE3-A939 motherboard. ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (ECS Elitegroup NFORCE3-A939 motherboard.) + + pci:v000010DEd0000005Esv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Tomcat K8E (S2865)) + + pci:v000010DEd0000005Esv000010F1sd00002891* +- ID_MODEL_FROM_DATABASE=Thunder K8SRE Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Thunder K8SRE Mainboard) + + pci:v000010DEd0000005Esv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd0000005Esv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=K8N Diamond Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Diamond Mainboard) + + pci:v000010DEd0000005Esv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Neo4-F Mainboard) + + pci:v000010DEd0000005Esv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (KN8-Ultra Mainboard) + + pci:v000010DEd0000005Esv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005F* + ID_MODEL_FROM_DATABASE=CK804 Memory Controller +@@ -21213,61 +21213,61 @@ pci:v000010DEd00000060* + ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge + + pci:v000010DEd00000060sv00001043sd000080AD* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard ++ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (A7N8X Mainboard) + + pci:v000010DEd00000060sv0000147Bsd00001C02* +- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X ++ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (NF7-S/NF7 (nVidia-nForce2) 2.X) + + pci:v000010DEd00000060sv0000A0A0sd000003BA* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (UK79G-1394 motherboard) + + pci:v000010DEd00000064* + ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) + + pci:v000010DEd00000064sv0000147Bsd00001C02* +- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X ++ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (NF7-S/NF7 (nVidia-nForce2) 2.X) + + pci:v000010DEd00000064sv0000A0A0sd000003BB* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (UK79G-1394 motherboard) + + pci:v000010DEd00000065* + ID_MODEL_FROM_DATABASE=nForce2 IDE + + pci:v000010DEd00000065sv000010DEsd00000C11* +- ID_MODEL_FROM_DATABASE=nForce 2 EIDE Controller ++ ID_MODEL_FROM_DATABASE=nForce2 IDE (nForce 2 EIDE Controller) + + pci:v000010DEd00000065sv0000A0A0sd000003B2* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 IDE (UK79G-1394 motherboard) + + pci:v000010DEd00000066* + ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller + + pci:v000010DEd00000066sv00001043sd000080A7* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard onboard nForce2 Ethernet ++ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (A7N8X Mainboard onboard nForce2 Ethernet) + + pci:v000010DEd00000066sv000010DEsd00000C11* +- ID_MODEL_FROM_DATABASE=nForce MCP-T Networking Adapter ++ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (nForce MCP-T Networking Adapter) + + pci:v000010DEd00000066sv0000A0A0sd000003B3* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (UK79G-1394 motherboard) + + pci:v000010DEd00000067* + ID_MODEL_FROM_DATABASE=nForce2 USB Controller + + pci:v000010DEd00000067sv00001043sd00000C11* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) + + pci:v000010DEd00000067sv0000A0A0sd000003B4* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) + + pci:v000010DEd00000068* + ID_MODEL_FROM_DATABASE=nForce2 USB Controller + + pci:v000010DEd00000068sv00001043sd00000C11* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) + + pci:v000010DEd00000068sv0000A0A0sd000003B4* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) + + pci:v000010DEd0000006A* + ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) +@@ -21276,16 +21276,16 @@ pci:v000010DEd0000006Asv00001043sd00008095* + ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) + + pci:v000010DEd0000006Asv0000A0A0sd00000304* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) (UK79G-1394 motherboard) + + pci:v000010DEd0000006B* + ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit + + pci:v000010DEd0000006Bsv000010DEsd0000006B* +- ID_MODEL_FROM_DATABASE=nForce2 MCP Audio Processing Unit ++ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (nForce2 MCP Audio Processing Unit) + + pci:v000010DEd0000006Bsv0000A0A0sd00000304* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (UK79G-1394 motherboard) + + pci:v000010DEd0000006C* + ID_MODEL_FROM_DATABASE=nForce2 External PCI Bridge +@@ -21297,25 +21297,25 @@ pci:v000010DEd0000006E* + ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller + + pci:v000010DEd0000006Esv0000A0A0sd00000306* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller (UK79G-1394 motherboard) + + pci:v000010DEd00000080* + ID_MODEL_FROM_DATABASE=MCP2A ISA bridge + + pci:v000010DEd00000080sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A ISA bridge (NV7 Motherboard) + + pci:v000010DEd00000084* + ID_MODEL_FROM_DATABASE=MCP2A SMBus + + pci:v000010DEd00000084sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A SMBus (NV7 Motherboard) + + pci:v000010DEd00000085* + ID_MODEL_FROM_DATABASE=MCP2A IDE + + pci:v000010DEd00000085sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A IDE (NV7 Motherboard) + + pci:v000010DEd00000086* + ID_MODEL_FROM_DATABASE=MCP2A Ethernet Controller +@@ -21324,19 +21324,19 @@ pci:v000010DEd00000087* + ID_MODEL_FROM_DATABASE=MCP2A USB Controller + + pci:v000010DEd00000087sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) + + pci:v000010DEd00000088* + ID_MODEL_FROM_DATABASE=MCP2A USB Controller + + pci:v000010DEd00000088sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) + + pci:v000010DEd0000008A* + ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller + + pci:v000010DEd0000008Asv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller (NV7 Motherboard) + + pci:v000010DEd0000008B* + ID_MODEL_FROM_DATABASE=MCP2A PCI Bridge +@@ -21378,7 +21378,7 @@ pci:v000010DEd000000A0* + ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] + + pci:v000010DEd000000A0sv000014AFsd00005810* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor ++ ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] (Maxi Gamer Xentor) + + pci:v000010DEd000000C0* + ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 GS] +@@ -21459,46 +21459,46 @@ pci:v000010DEd000000DF* + ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller + + pci:v000010DEd000000DFsv00001043sd000080A7* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (K8N-E) + + pci:v000010DEd000000DFsv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000DFsv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (NF8 Mainboard) + + pci:v000010DEd000000E0* + ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge + + pci:v000010DEd000000E0sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N-E) + + pci:v000010DEd000000E0sv000010DEsd00000C11* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Winfast NF3250K8AA) + + pci:v000010DEd000000E0sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E0sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (NF8 Mainboard) + + pci:v000010DEd000000E0sv00001849sd000000E0* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Motherboard (one of many)) + + pci:v000010DEd000000E1* + ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge + + pci:v000010DEd000000E1sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N-E) + + pci:v000010DEd000000E1sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E1sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (NF8 Mainboard) + + pci:v000010DEd000000E1sv00001849sd000000E1* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (Motherboard (one of many)) + + pci:v000010DEd000000E2* + ID_MODEL_FROM_DATABASE=nForce3 250Gb AGP Host to PCI Bridge +@@ -21507,55 +21507,55 @@ pci:v000010DEd000000E3* + ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller + + pci:v000010DEd000000E3sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (K8N-E) + + pci:v000010DEd000000E3sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000E3sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (NF8 Mainboard) + + pci:v000010DEd000000E3sv00001849sd000000E3* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Motherboard (one of many)) + + pci:v000010DEd000000E4* + ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management + + pci:v000010DEd000000E4sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N-E) + + pci:v000010DEd000000E4sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Winfast NF3250K8AA) + + pci:v000010DEd000000E4sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E4sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (NF8 Mainboard) + + pci:v000010DEd000000E4sv00001849sd000000E4* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Motherboard (one of many)) + + pci:v000010DEd000000E5* + ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) + + pci:v000010DEd000000E5sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N-E) + + pci:v000010DEd000000E5sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Winfast NF3250K8AA) + + pci:v000010DEd000000E5sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E5sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (NF8 Mainboard) + + pci:v000010DEd000000E5sv00001849sd000000E5* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) + + pci:v000010DEd000000E5sv0000F849sd000000E5* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) + + pci:v000010DEd000000E6* + ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller +@@ -21564,52 +21564,52 @@ pci:v000010DEd000000E7* + ID_MODEL_FROM_DATABASE=CK8S USB Controller + + pci:v000010DEd000000E7sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N-E) + + pci:v000010DEd000000E7sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000E7sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E7sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (NF8 Mainboard) + + pci:v000010DEd000000E7sv00001849sd000000E7* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Motherboard (one of many)) + + pci:v000010DEd000000E8* + ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller + + pci:v000010DEd000000E8sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N-E) + + pci:v000010DEd000000E8sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000E8sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E8sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (NF8 Mainboard) + + pci:v000010DEd000000E8sv00001849sd000000E8* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Motherboard (one of many)) + + pci:v000010DEd000000EA* + ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller + + pci:v000010DEd000000EAsv00001043sd0000819D* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N-E) + + pci:v000010DEd000000EAsv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000EAsv00001462sd0000B010* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N Neo-FSR v2.0) + + pci:v000010DEd000000EAsv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (NF8 Mainboard) + + pci:v000010DEd000000ED* + ID_MODEL_FROM_DATABASE=nForce3 250Gb PCI-to-PCI Bridge +@@ -21621,28 +21621,28 @@ pci:v000010DEd000000F1* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] + + pci:v000010DEd000000F1sv00001043sd000081A6* +- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) + + pci:v000010DEd000000F1sv00001043sd000081C6* +- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) + + pci:v000010DEd000000F1sv00001458sd00003150* +- ID_MODEL_FROM_DATABASE=GV-N66T128VP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-N66T128VP) + + pci:v000010DEd000000F1sv00001554sd00001191* +- ID_MODEL_FROM_DATABASE=PixelView PV-N43UA (128KD) ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (PixelView PV-N43UA (128KD)) + + pci:v000010DEd000000F1sv00001682sd00002119* +- ID_MODEL_FROM_DATABASE=GeForce 6600 GT AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GeForce 6600 GT AGP) + + pci:v000010DEd000000F2* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] + + pci:v000010DEd000000F2sv00001554sd00001194* +- ID_MODEL_FROM_DATABASE=PixelView PV-N43AT (256KD) ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (PixelView PV-N43AT (256KD)) + + pci:v000010DEd000000F2sv00001682sd0000211C* +- ID_MODEL_FROM_DATABASE=GeForce 6600 256MB DDR DUAL DVI TV ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GeForce 6600 256MB DDR DUAL DVI TV) + + pci:v000010DEd000000F3* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6200] +@@ -21657,7 +21657,7 @@ pci:v000010DEd000000F6* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] + + pci:v000010DEd000000F6sv00001682sd0000217E* +- ID_MODEL_FROM_DATABASE=XFX GeForce 6800 XTreme 256MB DDR3 AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] (XFX GeForce 6800 XTreme 256MB DDR3 AGP) + + pci:v000010DEd000000F8* + ID_MODEL_FROM_DATABASE=NV40GL [Quadro FX 3400/4400] +@@ -21666,10 +21666,10 @@ pci:v000010DEd000000F9* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] + + pci:v000010DEd000000F9sv000010DEsd000000F9* +- ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (NV40 [GeForce 6800 GT]) + + pci:v000010DEd000000F9sv00001682sd00002120* +- ID_MODEL_FROM_DATABASE=GEFORCE 6800 GT PCI-E ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (GEFORCE 6800 GT PCI-E) + + pci:v000010DEd000000FA* + ID_MODEL_FROM_DATABASE=NV36 [GeForce PCX 5750] +@@ -21693,130 +21693,130 @@ pci:v000010DEd00000100* + ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] + + pci:v000010DEd00000100sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) + + pci:v000010DEd00000100sv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) + + pci:v000010DEd00000100sv00001043sd00004008* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) + + pci:v000010DEd00000100sv00001043sd00004009* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) + + pci:v000010DEd00000100sv00001048sd00000C41* +- ID_MODEL_FROM_DATABASE=Erazor X ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Erazor X) + + pci:v000010DEd00000100sv00001048sd00000C43* +- ID_MODEL_FROM_DATABASE=ERAZOR X PCI ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (ERAZOR X PCI) + + pci:v000010DEd00000100sv00001048sd00000C48* +- ID_MODEL_FROM_DATABASE=Synergy Force ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Synergy Force) + + pci:v000010DEd00000100sv00001102sd0000102D* +- ID_MODEL_FROM_DATABASE=CT6941 GeForce 256 ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (CT6941 GeForce 256) + + pci:v000010DEd00000100sv000014AFsd00005022* +- ID_MODEL_FROM_DATABASE=3D Prophet SE ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (3D Prophet SE) + + pci:v000010DEd00000101* + ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] + + pci:v000010DEd00000101sv00001043sd00000202* +- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR) + + pci:v000010DEd00000101sv00001043sd0000400A* +- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SGRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SGRAM) + + pci:v000010DEd00000101sv00001043sd0000400B* +- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SDRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SDRAM) + + pci:v000010DEd00000101sv00001048sd00000C42* +- ID_MODEL_FROM_DATABASE=Erazor X ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (Erazor X) + + pci:v000010DEd00000101sv0000107Dsd00002822* +- ID_MODEL_FROM_DATABASE=WinFast GeForce 256 ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (WinFast GeForce 256) + + pci:v000010DEd00000101sv00001102sd0000102E* +- ID_MODEL_FROM_DATABASE=CT6970/CT6971 ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (CT6970/CT6971) + + pci:v000010DEd00000101sv000014AFsd00005021* +- ID_MODEL_FROM_DATABASE=3D Prophet DDR-DVI ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (3D Prophet DDR-DVI) + + pci:v000010DEd00000103* + ID_MODEL_FROM_DATABASE=NV10GL [Quadro] + + pci:v000010DEd00000103sv00001048sd00000C40* +- ID_MODEL_FROM_DATABASE=GLoria II-64 ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64) + + pci:v000010DEd00000103sv00001048sd00000C44* +- ID_MODEL_FROM_DATABASE=GLoria II ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) + + pci:v000010DEd00000103sv00001048sd00000C45* +- ID_MODEL_FROM_DATABASE=GLoria II ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) + + pci:v000010DEd00000103sv00001048sd00000C4A* +- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro) + + pci:v000010DEd00000103sv00001048sd00000C4B* +- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro DVII ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro DVII) + + pci:v000010DEd00000110* + ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] + + pci:v000010DEd00000110sv00001043sd00004015* +- ID_MODEL_FROM_DATABASE=AGP-V7100 Pro ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (AGP-V7100 Pro) + + pci:v000010DEd00000110sv00001043sd00004021* +- ID_MODEL_FROM_DATABASE=V7100 Deluxe Combo ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Deluxe Combo) + + pci:v000010DEd00000110sv00001043sd00004031* +- ID_MODEL_FROM_DATABASE=V7100 Pro with TV output ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Pro with TV output) + + pci:v000010DEd00000110sv00001048sd00000C60* +- ID_MODEL_FROM_DATABASE=Gladiac MX ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac MX) + + pci:v000010DEd00000110sv00001048sd00000C61* +- ID_MODEL_FROM_DATABASE=Gladiac 511PCI ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511PCI) + + pci:v000010DEd00000110sv00001048sd00000C63* +- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 32MB ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 32MB) + + pci:v000010DEd00000110sv00001048sd00000C64* +- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 64MB ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 64MB) + + pci:v000010DEd00000110sv00001048sd00000C65* +- ID_MODEL_FROM_DATABASE=Gladiac 511TWIN ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TWIN) + + pci:v000010DEd00000110sv00001048sd00000C66* +- ID_MODEL_FROM_DATABASE=Gladiac 311 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 311) + + pci:v000010DEd00000110sv000010B0sd00000001* +- ID_MODEL_FROM_DATABASE=GeForce2 MX Jumbo TV ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (GeForce2 MX Jumbo TV) + + pci:v000010DEd00000110sv000010DEsd00000091* +- ID_MODEL_FROM_DATABASE=Dell OEM GeForce 2 MX 400 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Dell OEM GeForce 2 MX 400) + + pci:v000010DEd00000110sv000010DEsd000000A1* +- ID_MODEL_FROM_DATABASE=Apple OEM GeForce2 MX ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Apple OEM GeForce2 MX) + + pci:v000010DEd00000110sv00001462sd00008523* +- ID_MODEL_FROM_DATABASE=MS-8852 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MS-8852) + + pci:v000010DEd00000110sv00001462sd00008817* +- ID_MODEL_FROM_DATABASE=MSI GeForce2 MX400 Pro32S [MS-8817] ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MSI GeForce2 MX400 Pro32S [MS-8817]) + + pci:v000010DEd00000110sv000014AFsd00007102* +- ID_MODEL_FROM_DATABASE=3D Prophet II MX ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX) + + pci:v000010DEd00000110sv000014AFsd00007103* +- ID_MODEL_FROM_DATABASE=3D Prophet II MX Dual-Display ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX Dual-Display) + + pci:v000010DEd00000110sv00001545sd00000023* +- ID_MODEL_FROM_DATABASE=Xtasy Rev. B2 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Xtasy Rev. B2) + + pci:v000010DEd00000110sv00001554sd00001081* +- ID_MODEL_FROM_DATABASE=MVGA-NVG11AM(400) ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MVGA-NVG11AM(400)) + + pci:v000010DEd00000111* + ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX200] +@@ -21831,28 +21831,28 @@ pci:v000010DEd00000140* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] + + pci:v000010DEd00000140sv00001458sd00003125* +- ID_MODEL_FROM_DATABASE=GV-NX66T128D ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T128D) + + pci:v000010DEd00000140sv00001458sd00003126* +- ID_MODEL_FROM_DATABASE=GV-NX66T256DE ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T256DE) + + pci:v000010DEd00000140sv00001462sd00008939* +- ID_MODEL_FROM_DATABASE=MS-8983 ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (MS-8983) + + pci:v000010DEd00000141* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] + + pci:v000010DEd00000141sv00001043sd000081B0* +- ID_MODEL_FROM_DATABASE=EN6600 Silencer ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (EN6600 Silencer) + + pci:v000010DEd00000141sv0000107Dsd0000593A* +- ID_MODEL_FROM_DATABASE=LR2A22 128MB TV OUT ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (LR2A22 128MB TV OUT) + + pci:v000010DEd00000141sv0000107Dsd0000597B* +- ID_MODEL_FROM_DATABASE=WINFAST PX6600 ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (WINFAST PX6600) + + pci:v000010DEd00000141sv00001458sd00003124* +- ID_MODEL_FROM_DATABASE=GV-NX66128DP Turbo Force Edition ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GV-NX66128DP Turbo Force Edition) + + pci:v000010DEd00000142* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 LE] +@@ -21897,49 +21897,49 @@ pci:v000010DEd00000150* + ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] + + pci:v000010DEd00000150sv00001043sd00004016* +- ID_MODEL_FROM_DATABASE=V7700 AGP Video Card ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (V7700 AGP Video Card) + + pci:v000010DEd00000150sv00001043sd0000402A* +- ID_MODEL_FROM_DATABASE=AGP-V7700 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (AGP-V7700) + + pci:v000010DEd00000150sv00001048sd00000C50* +- ID_MODEL_FROM_DATABASE=Gladiac ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac) + + pci:v000010DEd00000150sv00001048sd00000C52* +- ID_MODEL_FROM_DATABASE=Gladiac-64 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac-64) + + pci:v000010DEd00000150sv0000107Dsd00002840* +- ID_MODEL_FROM_DATABASE=WinFast GeForce2 GTS with TV output ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce2 GTS with TV output) + + pci:v000010DEd00000150sv0000107Dsd00002842* +- ID_MODEL_FROM_DATABASE=WinFast GeForce 2 Pro ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce 2 Pro) + + pci:v000010DEd00000150sv000010DEsd0000002E* +- ID_MODEL_FROM_DATABASE=GeForce2 GTS ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (GeForce2 GTS) + + pci:v000010DEd00000150sv00001462sd0000815A* +- ID_MODEL_FROM_DATABASE=MS-8815 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (MS-8815) + + pci:v000010DEd00000150sv00001462sd00008831* +- ID_MODEL_FROM_DATABASE=Creative GeForce2 Pro ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Creative GeForce2 Pro) + + pci:v000010DEd00000151* + ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] + + pci:v000010DEd00000151sv00001043sd0000405F* +- ID_MODEL_FROM_DATABASE=V7700Ti ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (V7700Ti) + + pci:v000010DEd00000151sv00001462sd00005506* +- ID_MODEL_FROM_DATABASE=Creative 3D Blaster GeForce2 Titanium ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (Creative 3D Blaster GeForce2 Titanium) + + pci:v000010DEd00000151sv00001462sd00008364* +- ID_MODEL_FROM_DATABASE=MS-8836 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (MS-8836) + + pci:v000010DEd00000152* + ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] + + pci:v000010DEd00000152sv00001048sd00000C56* +- ID_MODEL_FROM_DATABASE=GLADIAC Ultra ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] (GLADIAC Ultra) + + pci:v000010DEd00000153* + ID_MODEL_FROM_DATABASE=NV15GL [Quadro2 Pro] +@@ -21990,40 +21990,40 @@ pci:v000010DEd00000170* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] + + pci:v000010DEd00000170sv00001462sd00008630* +- ID_MODEL_FROM_DATABASE=MS-8863 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] (MS-8863) + + pci:v000010DEd00000171* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] + + pci:v000010DEd00000171sv000010B0sd00000002* +- ID_MODEL_FROM_DATABASE=Gainward Pro/600 TV ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Gainward Pro/600 TV) + + pci:v000010DEd00000171sv000010DEsd00000008* +- ID_MODEL_FROM_DATABASE=Apple OEM GeForce4 MX 440 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Apple OEM GeForce4 MX 440) + + pci:v000010DEd00000171sv00001462sd00008661* +- ID_MODEL_FROM_DATABASE=G4MX440-VTP ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (G4MX440-VTP) + + pci:v000010DEd00000171sv00001462sd00008730* +- ID_MODEL_FROM_DATABASE=MX440SES-T (MS-8873) ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MX440SES-T (MS-8873)) + + pci:v000010DEd00000171sv00001462sd00008743* +- ID_MODEL_FROM_DATABASE=MS-8874 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MS-8874) + + pci:v000010DEd00000171sv00001462sd00008852* +- ID_MODEL_FROM_DATABASE=GeForce4 MX440 PCI ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (GeForce4 MX440 PCI) + + pci:v000010DEd00000171sv0000147Bsd00008F00* +- ID_MODEL_FROM_DATABASE=Abit Siluro GeForce4MX440 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Abit Siluro GeForce4MX440) + + pci:v000010DEd00000172* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] + + pci:v000010DEd00000172sv00001462sd00008730* +- ID_MODEL_FROM_DATABASE=MS-8873 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8873) + + pci:v000010DEd00000172sv00001462sd00008784* +- ID_MODEL_FROM_DATABASE=MS-8878 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8878) + + pci:v000010DEd00000173* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440-SE] +@@ -22038,13 +22038,13 @@ pci:v000010DEd00000176* + ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] + + pci:v000010DEd00000176sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (tc1100 tablet) + + pci:v000010DEd00000176sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (X10 Laptop) + + pci:v000010DEd00000176sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (Cx9 / Vx9 mainboard) + + pci:v000010DEd00000177* + ID_MODEL_FROM_DATABASE=NV17M [GeForce4 460 Go] +@@ -22056,7 +22056,7 @@ pci:v000010DEd00000179* + ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] + + pci:v000010DEd00000179sv000010DEsd00000179* +- ID_MODEL_FROM_DATABASE=GeForce4 MX (Mac) ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] (GeForce4 MX (Mac)) + + pci:v000010DEd0000017A* + ID_MODEL_FROM_DATABASE=NV17GL [Quadro NVS] +@@ -22074,25 +22074,25 @@ pci:v000010DEd00000181* + ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] + + pci:v000010DEd00000181sv00001043sd00008063* +- ID_MODEL_FROM_DATABASE=GeForce4 MX 440 AGP 8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (GeForce4 MX 440 AGP 8X) + + pci:v000010DEd00000181sv00001043sd0000806F* +- ID_MODEL_FROM_DATABASE=V9180 Magic ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (V9180 Magic) + + pci:v000010DEd00000181sv00001462sd00008880* +- ID_MODEL_FROM_DATABASE=MS-StarForce GeForce4 MX 440 with AGP8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-StarForce GeForce4 MX 440 with AGP8X) + + pci:v000010DEd00000181sv00001462sd00008900* +- ID_MODEL_FROM_DATABASE=MS-8890 GeForce 4 MX440 AGP8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-8890 GeForce 4 MX440 AGP8X) + + pci:v000010DEd00000181sv00001462sd00009350* +- ID_MODEL_FROM_DATABASE=MSI GeForce4 MX T8X with AGP8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MSI GeForce4 MX T8X with AGP8X) + + pci:v000010DEd00000181sv0000147Bsd00008F0D* +- ID_MODEL_FROM_DATABASE=Siluro GF4 MX-8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (Siluro GF4 MX-8X) + + pci:v000010DEd00000181sv00001554sd00001111* +- ID_MODEL_FROM_DATABASE=PixelView MVGA-NVG18A ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (PixelView MVGA-NVG18A) + + pci:v000010DEd00000182* + ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440SE AGP 8x] +@@ -22146,7 +22146,7 @@ pci:v000010DEd00000193* + ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] + + pci:v000010DEd00000193sv0000107Dsd000020BD* +- ID_MODEL_FROM_DATABASE=WinFast PX 8800 GTS TDH ++ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] (WinFast PX 8800 GTS TDH) + + pci:v000010DEd00000194* + ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 Ultra] +@@ -22212,13 +22212,13 @@ pci:v000010DEd000001D1* + ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] + + pci:v000010DEd000001D1sv0000107Dsd00005EFA* +- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD128 ++ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD128) + + pci:v000010DEd000001D1sv0000107Dsd00005EFB* +- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD256 ++ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD256) + + pci:v000010DEd000001D1sv00001462sd00000345* +- ID_MODEL_FROM_DATABASE=7300LE PCI Express Graphics Adapter ++ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (7300LE PCI Express Graphics Adapter) + + pci:v000010DEd000001D2* + ID_MODEL_FROM_DATABASE=G72 [GeForce 7550 LE] +@@ -22239,7 +22239,7 @@ pci:v000010DEd000001D8* + ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] + + pci:v000010DEd000001D8sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] (XPS M1210) + + pci:v000010DEd000001D9* + ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7450] +@@ -22260,7 +22260,7 @@ pci:v000010DEd000001DE* + ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] + + pci:v000010DEd000001DEsv000010DEsd000001DC* +- ID_MODEL_FROM_DATABASE=Quadro FX Go350M ++ ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] (Quadro FX Go350M) + + pci:v000010DEd000001DF* + ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 GS] +@@ -22269,7 +22269,7 @@ pci:v000010DEd000001E0* + ID_MODEL_FROM_DATABASE=nForce2 IGP2 + + pci:v000010DEd000001E0sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 IGP2 (NV7 Motherboard) + + pci:v000010DEd000001E8* + ID_MODEL_FROM_DATABASE=nForce2 AGP +@@ -22278,55 +22278,55 @@ pci:v000010DEd000001EA* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 + + pci:v000010DEd000001EAsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 (UK79G-1394 motherboard) + + pci:v000010DEd000001EB* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 + + pci:v000010DEd000001EBsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 (UK79G-1394 motherboard) + + pci:v000010DEd000001EC* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 + + pci:v000010DEd000001ECsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 (UK79G-1394 motherboard) + + pci:v000010DEd000001ED* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 + + pci:v000010DEd000001EDsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 (UK79G-1394 motherboard) + + pci:v000010DEd000001EE* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 + + pci:v000010DEd000001EEsv000010DEsd000001EE* +- ID_MODEL_FROM_DATABASE=MSI Delta-L nForce2 memory controller ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (MSI Delta-L nForce2 memory controller) + + pci:v000010DEd000001EEsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (UK79G-1394 motherboard) + + pci:v000010DEd000001EF* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 + + pci:v000010DEd000001EFsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 (UK79G-1394 motherboard) + + pci:v000010DEd000001F0* + ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] + + pci:v000010DEd000001F0sv0000A0A0sd000003B5* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] (UK79G-1394 motherboard) + + pci:v000010DEd00000200* + ID_MODEL_FROM_DATABASE=NV20 [GeForce3] + + pci:v000010DEd00000200sv00001043sd0000402F* +- ID_MODEL_FROM_DATABASE=AGP-V8200 DDR ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (AGP-V8200 DDR) + + pci:v000010DEd00000200sv00001048sd00000C70* +- ID_MODEL_FROM_DATABASE=GLADIAC 920 ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (GLADIAC 920) + + pci:v000010DEd00000201* + ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 200] +@@ -22335,10 +22335,10 @@ pci:v000010DEd00000202* + ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] + + pci:v000010DEd00000202sv00001043sd0000405B* +- ID_MODEL_FROM_DATABASE=V8200 T5 ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (V8200 T5) + + pci:v000010DEd00000202sv00001545sd0000002F* +- ID_MODEL_FROM_DATABASE=Xtasy 6964 ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (Xtasy 6964) + + pci:v000010DEd00000203* + ID_MODEL_FROM_DATABASE=NV20GL [Quadro DCC] +@@ -22359,10 +22359,10 @@ pci:v000010DEd00000221* + ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] + + pci:v000010DEd00000221sv00001043sd000081E1* +- ID_MODEL_FROM_DATABASE=N6200/TD/256M/A ++ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (N6200/TD/256M/A) + + pci:v000010DEd00000221sv00003842sd0000A341* +- ID_MODEL_FROM_DATABASE=256A8N341DX ++ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (256A8N341DX) + + pci:v000010DEd00000222* + ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 A-LE] +@@ -22374,10 +22374,10 @@ pci:v000010DEd00000240* + ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] + + pci:v000010DEd00000240sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM ++ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (A8N-VM CSM) + + pci:v000010DEd00000240sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (K8NGM2 series) + + pci:v000010DEd00000241* + ID_MODEL_FROM_DATABASE=C51 [GeForce 6150 LE] +@@ -22386,7 +22386,7 @@ pci:v000010DEd00000242* + ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] + + pci:v000010DEd00000242sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] (Winfast 6100K8MB) + + pci:v000010DEd00000243* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge +@@ -22395,13 +22395,13 @@ pci:v000010DEd00000244* + ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] + + pci:v000010DEd00000244sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V3242AU) + + pci:v000010DEd00000244sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V6133CL) + + pci:v000010DEd00000244sv000010DEsd00000244* +- ID_MODEL_FROM_DATABASE=GeForce Go 6150 ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (GeForce Go 6150) + + pci:v000010DEd00000245* + ID_MODEL_FROM_DATABASE=C51 [Quadro NVS 210S/GeForce 6150LE] +@@ -22413,7 +22413,7 @@ pci:v000010DEd00000247* + ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] + + pci:v000010DEd00000247sv00001043sd00001382* +- ID_MODEL_FROM_DATABASE=MCP51 PCI-X GeForce Go 6100 ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] (MCP51 PCI-X GeForce Go 6100) + + pci:v000010DEd00000248* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge +@@ -22446,13 +22446,13 @@ pci:v000010DEd00000251* + ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] + + pci:v000010DEd00000251sv00001043sd00008023* +- ID_MODEL_FROM_DATABASE=v8440 GeForce 4 Ti4400 ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (v8440 GeForce 4 Ti4400) + + pci:v000010DEd00000251sv000010DEsd00000251* +- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) + + pci:v000010DEd00000251sv00001462sd00008710* +- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) + + pci:v000010DEd00000252* + ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti] +@@ -22461,10 +22461,10 @@ pci:v000010DEd00000253* + ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] + + pci:v000010DEd00000253sv0000107Dsd00002896* +- ID_MODEL_FROM_DATABASE=WinFast A250 LE TD (Dual VGA/TV-out/DVI) ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (WinFast A250 LE TD (Dual VGA/TV-out/DVI)) + + pci:v000010DEd00000253sv0000147Bsd00008F09* +- ID_MODEL_FROM_DATABASE=Siluro (Dual VGA/TV-out/DVI) ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (Siluro (Dual VGA/TV-out/DVI)) + + pci:v000010DEd00000258* + ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 900 XGL] +@@ -22479,25 +22479,25 @@ pci:v000010DEd00000260* + ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge + + pci:v000010DEd00000260sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Pavilion a1677c) + + pci:v000010DEd00000260sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Presario V6133CL) + + pci:v000010DEd00000260sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd00000260sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (GA-M55plus-S3G) + + pci:v000010DEd00000260sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (K8NGM2 series) + + pci:v000010DEd00000261* + ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge + + pci:v000010DEd00000261sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Winfast 6100K8MB) + + pci:v000010DEd00000262* + ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge +@@ -22509,64 +22509,64 @@ pci:v000010DEd00000264* + ID_MODEL_FROM_DATABASE=MCP51 SMBus + + pci:v000010DEd00000264sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Pavilion a1677c) + + pci:v000010DEd00000264sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Presario V6133CL) + + pci:v000010DEd00000264sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (A8N-VM CSM Mainboard) + + pci:v000010DEd00000264sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Winfast 6100K8MB) + + pci:v000010DEd00000264sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (K8NGM2 series) + + pci:v000010DEd00000265* + ID_MODEL_FROM_DATABASE=MCP51 IDE + + pci:v000010DEd00000265sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (Pavilion a1677c) + + pci:v000010DEd00000265sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (Presario V6133CL) + + pci:v000010DEd00000265sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (A8N-VM CSM Mainboard) + + pci:v000010DEd00000265sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (K8NGM2 series) + + pci:v000010DEd00000265sv0000F05Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (Winfast 6100K8MB) + + pci:v000010DEd00000266* + ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller + + pci:v000010DEd00000266sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) + + pci:v000010DEd00000266sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Presario V6133CL) + + pci:v000010DEd00000266sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd00000266sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) + + pci:v000010DEd00000267* + ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller + + pci:v000010DEd00000267sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) + + pci:v000010DEd00000267sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd00000267sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) + + pci:v000010DEd00000268* + ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller +@@ -22575,16 +22575,16 @@ pci:v000010DEd00000269* + ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller + + pci:v000010DEd00000269sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Pavilion a1677c) + + pci:v000010DEd00000269sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Presario V6133CL) + + pci:v000010DEd00000269sv00001043sd00008141* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd00000269sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (K8NGM2 series) + + pci:v000010DEd0000026A* + ID_MODEL_FROM_DATABASE=MCP51 MCI +@@ -22593,142 +22593,142 @@ pci:v000010DEd0000026B* + ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller + + pci:v000010DEd0000026Bsv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller (Winfast 6100K8MB) + + pci:v000010DEd0000026C* + ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio + + pci:v000010DEd0000026Csv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Pavilion a1677c) + + pci:v000010DEd0000026Csv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V3242AU) + + pci:v000010DEd0000026Csv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V6133CL) + + pci:v000010DEd0000026Csv000010DEsd0000CB84* +- ID_MODEL_FROM_DATABASE=ASUSTeK Computer Inc. A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (ASUSTeK Computer Inc. A8N-VM CSM Mainboard) + + pci:v000010DEd0000026Csv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (K8NGM2 series) + + pci:v000010DEd0000026D* + ID_MODEL_FROM_DATABASE=MCP51 USB Controller + + pci:v000010DEd0000026Dsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) + + pci:v000010DEd0000026Dsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) + + pci:v000010DEd0000026Dsv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd0000026Dsv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) + + pci:v000010DEd0000026Dsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) + + pci:v000010DEd0000026E* + ID_MODEL_FROM_DATABASE=MCP51 USB Controller + + pci:v000010DEd0000026Esv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) + + pci:v000010DEd0000026Esv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) + + pci:v000010DEd0000026Esv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd0000026Esv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) + + pci:v000010DEd0000026Esv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) + + pci:v000010DEd0000026F* + ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge + + pci:v000010DEd0000026Fsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge (Presario V6133CL) + + pci:v000010DEd00000270* + ID_MODEL_FROM_DATABASE=MCP51 Host Bridge + + pci:v000010DEd00000270sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Pavilion a1677c) + + pci:v000010DEd00000270sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Presario V6133CL) + + pci:v000010DEd00000270sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd00000270sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Winfast 6100K8MB) + + pci:v000010DEd00000270sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (GA-M55plus-S3G) + + pci:v000010DEd00000270sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (K8NGM2 series) + + pci:v000010DEd00000271* + ID_MODEL_FROM_DATABASE=MCP51 PMU + + pci:v000010DEd00000271sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V3242AU) + + pci:v000010DEd00000271sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V6133CL) + + pci:v000010DEd00000272* + ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 + + pci:v000010DEd00000272sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Pavilion a1677c) + + pci:v000010DEd00000272sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Winfast 6100K8MB) + + pci:v000010DEd0000027E* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 + + pci:v000010DEd0000027Esv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Pavilion a1677c) + + pci:v000010DEd0000027Esv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Presario V6133CL) + + pci:v000010DEd0000027Esv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (A8N-VM CSM Mainboard) + + pci:v000010DEd0000027Esv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (GA-M55plus-S3G) + + pci:v000010DEd0000027Esv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (K8NGM2 series) + + pci:v000010DEd0000027F* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 + + pci:v000010DEd0000027Fsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Pavilion a1677c) + + pci:v000010DEd0000027Fsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Presario V6133CL) + + pci:v000010DEd0000027Fsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (A8N-VM CSM Mainboard) + + pci:v000010DEd0000027Fsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (GA-M55plus-S3G) + + pci:v000010DEd0000027Fsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (K8NGM2 series) + + pci:v000010DEd00000280* + ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4800] +@@ -22758,7 +22758,7 @@ pci:v000010DEd00000291* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] + + pci:v000010DEd00000291sv000010DEsd0000042B* +- ID_MODEL_FROM_DATABASE=NX7900GTO-T2D512E [7900 GTO] ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] (NX7900GTO-T2D512E [7900 GTO]) + + pci:v000010DEd00000292* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GS] +@@ -22773,13 +22773,13 @@ pci:v000010DEd00000295* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] + + pci:v000010DEd00000295sv00001043sd00008225* +- ID_MODEL_FROM_DATABASE=GeForce 7950 GT ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (GeForce 7950 GT) + + pci:v000010DEd00000295sv0000107Dsd00002A68* +- ID_MODEL_FROM_DATABASE=WinFast PX7950GT TDH ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (WinFast PX7950GT TDH) + + pci:v000010DEd00000295sv00001462sd00000663* +- ID_MODEL_FROM_DATABASE=NX7950GT-VT2D512EZ-HD ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (NX7950GT-VT2D512EZ-HD) + + pci:v000010DEd00000297* + ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7950 GTX] +@@ -22803,7 +22803,7 @@ pci:v000010DEd0000029D* + ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] + + pci:v000010DEd0000029Dsv00001028sd0000019B* +- ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 3500M] ++ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] (G71GLM [Quadro FX 3500M]) + + pci:v000010DEd0000029E* + ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 1500] +@@ -22824,16 +22824,16 @@ pci:v000010DEd000002E0* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] + + pci:v000010DEd000002E0sv000002E0sd00002249* +- ID_MODEL_FROM_DATABASE=GF 7600GT 560M 256MB DDR3 DUAL DVI TV ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GF 7600GT 560M 256MB DDR3 DUAL DVI TV) + + pci:v000010DEd000002E1* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] + + pci:v000010DEd000002E1sv00001682sd0000222B* +- ID_MODEL_FROM_DATABASE=PV-T73K-UAL3 (256MB) ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (PV-T73K-UAL3 (256MB)) + + pci:v000010DEd000002E1sv00001682sd00002247* +- ID_MODEL_FROM_DATABASE=GF 7600GS 512MB DDR2 ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (GF 7600GS 512MB DDR2) + + pci:v000010DEd000002E2* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] +@@ -22845,28 +22845,28 @@ pci:v000010DEd000002E4* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] + + pci:v000010DEd000002E4sv00001682sd00002271* +- ID_MODEL_FROM_DATABASE=PV-T71A-YDF7 (512MB) ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (PV-T71A-YDF7 (512MB)) + + pci:v000010DEd000002F0* + ID_MODEL_FROM_DATABASE=C51 Host Bridge + + pci:v000010DEd000002F0sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) + + pci:v000010DEd000002F0sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) + + pci:v000010DEd000002F0sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd000002F0sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) + + pci:v000010DEd000002F1* + ID_MODEL_FROM_DATABASE=C51 Host Bridge + + pci:v000010DEd000002F1sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) + + pci:v000010DEd000002F2* + ID_MODEL_FROM_DATABASE=C51 Host Bridge +@@ -22890,55 +22890,55 @@ pci:v000010DEd000002F8* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 + + pci:v000010DEd000002F8sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Pavilion a1677c) + + pci:v000010DEd000002F8sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Presario V6133CL) + + pci:v000010DEd000002F8sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002F8sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (GA-M55plus-S3G) + + pci:v000010DEd000002F8sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (K8NGM2 series) + + pci:v000010DEd000002F9* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 + + pci:v000010DEd000002F9sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Pavilion a1677c) + + pci:v000010DEd000002F9sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Presario V6133CL) + + pci:v000010DEd000002F9sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002F9sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (GA-M55plus-S3G) + + pci:v000010DEd000002F9sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (K8NGM2 series) + + pci:v000010DEd000002FA* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 + + pci:v000010DEd000002FAsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Pavilion a1677c) + + pci:v000010DEd000002FAsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Presario V6133CL) + + pci:v000010DEd000002FAsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002FAsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (GA-M55plus-S3G) + + pci:v000010DEd000002FAsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (K8NGM2 series) + + pci:v000010DEd000002FB* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge +@@ -22947,49 +22947,49 @@ pci:v000010DEd000002FC* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge + + pci:v000010DEd000002FCsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) + + pci:v000010DEd000002FD* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge + + pci:v000010DEd000002FDsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) + + pci:v000010DEd000002FE* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 + + pci:v000010DEd000002FEsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Pavilion a1677c) + + pci:v000010DEd000002FEsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Presario V6133CL) + + pci:v000010DEd000002FEsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002FEsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (GA-M55plus-S3G) + + pci:v000010DEd000002FEsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (K8NGM2 series) + + pci:v000010DEd000002FF* + ID_MODEL_FROM_DATABASE=C51 Host Bridge + + pci:v000010DEd000002FFsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) + + pci:v000010DEd000002FFsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) + + pci:v000010DEd000002FFsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd000002FFsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) + + pci:v000010DEd000002FFsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) + + pci:v000010DEd00000300* + ID_MODEL_FROM_DATABASE=NV30 [GeForce FX] +@@ -23016,7 +23016,7 @@ pci:v000010DEd00000314* + ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] + + pci:v000010DEd00000314sv00001043sd0000814A* +- ID_MODEL_FROM_DATABASE=V9560XT/TD ++ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] (V9560XT/TD) + + pci:v000010DEd00000316* + ID_MODEL_FROM_DATABASE=NV31M +@@ -23043,25 +23043,25 @@ pci:v000010DEd00000322* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] + + pci:v000010DEd00000322sv00001043sd000002FB* +- ID_MODEL_FROM_DATABASE=V9250 Magic ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9250 Magic) + + pci:v000010DEd00000322sv00001043sd00008180* +- ID_MODEL_FROM_DATABASE=V9520-X/TD/128M ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9520-X/TD/128M) + + pci:v000010DEd00000322sv0000107Dsd00002967* +- ID_MODEL_FROM_DATABASE=WinFast A340T 128MB ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (WinFast A340T 128MB) + + pci:v000010DEd00000322sv00001462sd00009110* +- ID_MODEL_FROM_DATABASE=MS-8911 (FX5200-TD128) ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8911 (FX5200-TD128)) + + pci:v000010DEd00000322sv00001462sd00009171* +- ID_MODEL_FROM_DATABASE=MS-8917 (FX5200-T128) ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8917 (FX5200-T128)) + + pci:v000010DEd00000322sv00001462sd00009360* +- ID_MODEL_FROM_DATABASE=MS-8936 (FX5200-T128) ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8936 (FX5200-T128)) + + pci:v000010DEd00000322sv00001682sd00001351* +- ID_MODEL_FROM_DATABASE=GeForce FX 5200 ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (GeForce FX 5200) + + pci:v000010DEd00000323* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200LE] +@@ -23070,13 +23070,13 @@ pci:v000010DEd00000324* + ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] + + pci:v000010DEd00000324sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Inspiron 5160) + + pci:v000010DEd00000324sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=Pavilion ZD7000 laptop ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Pavilion ZD7000 laptop) + + pci:v000010DEd00000324sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (MIM2000) + + pci:v000010DEd00000325* + ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5250] +@@ -23085,10 +23085,10 @@ pci:v000010DEd00000326* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] + + pci:v000010DEd00000326sv00001458sd0000310D* +- ID_MODEL_FROM_DATABASE=GeForce FX 5500 128 MB ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce FX 5500 128 MB) + + pci:v000010DEd00000326sv00001682sd00002034* +- ID_MODEL_FROM_DATABASE=GeForce 5500 256 MB ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce 5500 256 MB) + + pci:v000010DEd00000327* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5100] +@@ -23100,7 +23100,7 @@ pci:v000010DEd00000329* + ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] + + pci:v000010DEd00000329sv000010DEsd00000010* +- ID_MODEL_FROM_DATABASE=Powerbook G4 ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] (Powerbook G4) + + pci:v000010DEd0000032A* + ID_MODEL_FROM_DATABASE=NV34GL [Quadro NVS 280 PCI] +@@ -23124,13 +23124,13 @@ pci:v000010DEd00000330* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] + + pci:v000010DEd00000330sv00001043sd00008137* +- ID_MODEL_FROM_DATABASE=V9950 Ultra / 256 MB ++ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] (V9950 Ultra / 256 MB) + + pci:v000010DEd00000331* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] + + pci:v000010DEd00000331sv00001043sd00008145* +- ID_MODEL_FROM_DATABASE=V9950GE ++ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] (V9950GE) + + pci:v000010DEd00000332* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900XT] +@@ -23142,7 +23142,7 @@ pci:v000010DEd00000334* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] + + pci:v000010DEd00000334sv00001462sd00009373* +- ID_MODEL_FROM_DATABASE=FX5900ZT-VTD128 (MS-8937) ++ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] (FX5900ZT-VTD128 (MS-8937)) + + pci:v000010DEd00000338* + ID_MODEL_FROM_DATABASE=NV35GL [Quadro FX 3000] +@@ -23154,7 +23154,7 @@ pci:v000010DEd00000341* + ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] + + pci:v000010DEd00000341sv00001462sd00009380* +- ID_MODEL_FROM_DATABASE=MS-8938 (FX5700U-TD128) ++ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] (MS-8938 (FX5700U-TD128)) + + pci:v000010DEd00000342* + ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700] +@@ -23169,7 +23169,7 @@ pci:v000010DEd00000347* + ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] + + pci:v000010DEd00000347sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] (NX9500) + + pci:v000010DEd00000348* + ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] +@@ -23190,13 +23190,13 @@ pci:v000010DEd00000361* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000361sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge ++ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) + + pci:v000010DEd00000362* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000362sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (KN9 series mainboard) + + pci:v000010DEd00000363* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge +@@ -23205,7 +23205,7 @@ pci:v000010DEd00000364* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000364sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge ++ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) + + pci:v000010DEd00000365* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge +@@ -23220,19 +23220,19 @@ pci:v000010DEd00000368* + ID_MODEL_FROM_DATABASE=MCP55 SMBus + + pci:v000010DEd00000368sv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 SMBus ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) + + pci:v000010DEd00000368sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SMBus ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) + + pci:v000010DEd00000368sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) + + pci:v000010DEd00000369* + ID_MODEL_FROM_DATABASE=MCP55 Memory Controller + + pci:v000010DEd00000369sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller (KN9 series mainboard) + + pci:v000010DEd0000036A* + ID_MODEL_FROM_DATABASE=MCP55 Memory Controller +@@ -23244,31 +23244,31 @@ pci:v000010DEd0000036C* + ID_MODEL_FROM_DATABASE=MCP55 USB Controller + + pci:v000010DEd0000036Csv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) + + pci:v000010DEd0000036Csv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) + + pci:v000010DEd0000036Csv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) + + pci:v000010DEd0000036D* + ID_MODEL_FROM_DATABASE=MCP55 USB Controller + + pci:v000010DEd0000036Dsv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) + + pci:v000010DEd0000036Dsv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) + + pci:v000010DEd0000036Dsv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) + + pci:v000010DEd0000036E* + ID_MODEL_FROM_DATABASE=MCP55 IDE + + pci:v000010DEd0000036Esv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 IDE (KN9 series mainboard) + + pci:v000010DEd00000370* + ID_MODEL_FROM_DATABASE=MCP55 PCI bridge +@@ -23277,7 +23277,7 @@ pci:v000010DEd00000371* + ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio + + pci:v000010DEd00000371sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio (KN9 series mainboard) + + pci:v000010DEd00000372* + ID_MODEL_FROM_DATABASE=MCP55 Ethernet +@@ -23286,7 +23286,7 @@ pci:v000010DEd00000373* + ID_MODEL_FROM_DATABASE=MCP55 Ethernet + + pci:v000010DEd00000373sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 Ethernet (KN9 series mainboard) + + pci:v000010DEd00000374* + ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge +@@ -23313,10 +23313,10 @@ pci:v000010DEd0000037F* + ID_MODEL_FROM_DATABASE=MCP55 SATA Controller + + pci:v000010DEd0000037Fsv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SATA Controller ++ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (PowerEdge R805 MCP55 SATA Controller) + + pci:v000010DEd0000037Fsv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (KN9 series mainboard) + + pci:v000010DEd0000038B* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7650 GS] +@@ -23328,25 +23328,25 @@ pci:v000010DEd00000391* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] + + pci:v000010DEd00000391sv00001458sd00003427* +- ID_MODEL_FROM_DATABASE=GV-NX76T128D-RH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GV-NX76T128D-RH) + + pci:v000010DEd00000391sv00001462sd00000452* +- ID_MODEL_FROM_DATABASE=NX7600GT-VT2D256E ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (NX7600GT-VT2D256E) + + pci:v000010DEd00000392* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] + + pci:v000010DEd00000392sv00001462sd00000622* +- ID_MODEL_FROM_DATABASE=NX7600GS-T2D256EH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (NX7600GS-T2D256EH) + + pci:v000010DEd00000393* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] + + pci:v000010DEd00000393sv000010DEsd00000412* +- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) + + pci:v000010DEd00000393sv00001462sd00000412* +- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) + + pci:v000010DEd00000394* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 LE] +@@ -23364,7 +23364,7 @@ pci:v000010DEd00000398* + ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] + + pci:v000010DEd00000398sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=Acer 9814 WKMI ++ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] (Acer 9814 WKMI) + + pci:v000010DEd00000399* + ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600 GT] +@@ -23379,7 +23379,7 @@ pci:v000010DEd0000039C* + ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] + + pci:v000010DEd0000039Csv000010DEsd0000039C* +- ID_MODEL_FROM_DATABASE=Quadro FX 560M ++ ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] (Quadro FX 560M) + + pci:v000010DEd0000039D* + ID_MODEL_FROM_DATABASE=G73 +@@ -23481,7 +23481,7 @@ pci:v000010DEd000003D0* + ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] + + pci:v000010DEd000003D0sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] (Inspiron 531) + + pci:v000010DEd000003D1* + ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 405] +@@ -23499,22 +23499,22 @@ pci:v000010DEd000003E0* + ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge + + pci:v000010DEd000003E0sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (Inspiron 531) + + pci:v000010DEd000003E0sv00001849sd000003E0* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003E1* + ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge + + pci:v000010DEd000003E1sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (M4N68T series motherboard) + + pci:v000010DEd000003E2* + ID_MODEL_FROM_DATABASE=MCP61 Host Bridge + + pci:v000010DEd000003E2sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 Host Bridge (M4N68T series motherboard) + + pci:v000010DEd000003E3* + ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge +@@ -23535,55 +23535,55 @@ pci:v000010DEd000003E8* + ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge + + pci:v000010DEd000003E8sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) + + pci:v000010DEd000003E8sv00001849sd000003E8* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003E9* + ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge + + pci:v000010DEd000003E9sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) + + pci:v000010DEd000003E9sv00001849sd000003E9* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003EA* + ID_MODEL_FROM_DATABASE=MCP61 Memory Controller + + pci:v000010DEd000003EAsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) + + pci:v000010DEd000003EAsv00001849sd000003EA* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003EB* + ID_MODEL_FROM_DATABASE=MCP61 SMBus + + pci:v000010DEd000003EBsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 SMBus (Inspiron 531) + + pci:v000010DEd000003EBsv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 SMBus (M4N68T series motherboard) + + pci:v000010DEd000003EBsv00001849sd000003EB* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 SMBus (939NF6G-VSTA Board) + + pci:v000010DEd000003EC* + ID_MODEL_FROM_DATABASE=MCP61 IDE + + pci:v000010DEd000003ECsv00001025sd00000392* +- ID_MODEL_FROM_DATABASE=ET1350 ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (ET1350) + + pci:v000010DEd000003ECsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (Inspiron 531) + + pci:v000010DEd000003ECsv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (M4N68T series motherboard) + + pci:v000010DEd000003ECsv00001849sd000003EC* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (939NF6G-VSTA Board) + + pci:v000010DEd000003EE* + ID_MODEL_FROM_DATABASE=MCP61 Ethernet +@@ -23592,61 +23592,61 @@ pci:v000010DEd000003EF* + ID_MODEL_FROM_DATABASE=MCP61 Ethernet + + pci:v000010DEd000003EFsv00001025sd00008000* +- ID_MODEL_FROM_DATABASE=ET1350 ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (ET1350) + + pci:v000010DEd000003EFsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (Inspiron 531) + + pci:v000010DEd000003EFsv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (M4N68T series motherboard) + + pci:v000010DEd000003EFsv00001849sd000003EF* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (939NF6G-VSTA Board) + + pci:v000010DEd000003F0* + ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio + + pci:v000010DEd000003F0sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (Inspiron 531) + + pci:v000010DEd000003F0sv00001043sd00008415* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (M4N68T series motherboard) + + pci:v000010DEd000003F0sv00001849sd00000888* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (939NF6G-VSTA Board) + + pci:v000010DEd000003F1* + ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller + + pci:v000010DEd000003F1sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (Inspiron 531) + + pci:v000010DEd000003F1sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (M4N68T series motherboard) + + pci:v000010DEd000003F1sv00001849sd000003F1* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F2* + ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller + + pci:v000010DEd000003F2sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (Inspiron 531) + + pci:v000010DEd000003F2sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (M4N68T series motherboard) + + pci:v000010DEd000003F2sv00001849sd000003F2* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F3* + ID_MODEL_FROM_DATABASE=MCP61 PCI bridge + + pci:v000010DEd000003F3sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (Inspiron 531) + + pci:v000010DEd000003F3sv00001849sd000003F3* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003F4* + ID_MODEL_FROM_DATABASE=MCP61 SMU +@@ -23655,25 +23655,25 @@ pci:v000010DEd000003F5* + ID_MODEL_FROM_DATABASE=MCP61 Memory Controller + + pci:v000010DEd000003F5sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) + + pci:v000010DEd000003F5sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (M4N68T series motherboard) + + pci:v000010DEd000003F5sv00001849sd000003EB* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F6* + ID_MODEL_FROM_DATABASE=MCP61 SATA Controller + + pci:v000010DEd000003F6sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (Inspiron 531) + + pci:v000010DEd000003F6sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (M4N68T series motherboard) + + pci:v000010DEd000003F6sv00001849sd000003F6* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F7* + ID_MODEL_FROM_DATABASE=MCP61 SATA Controller +@@ -23682,7 +23682,7 @@ pci:v000010DEd00000400* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] + + pci:v000010DEd00000400sv00001043sd00008241* +- ID_MODEL_FROM_DATABASE=EN8600GTS ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] (EN8600GTS) + + pci:v000010DEd00000401* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] +@@ -23691,10 +23691,10 @@ pci:v000010DEd00000402* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] + + pci:v000010DEd00000402sv00001458sd00003455* +- ID_MODEL_FROM_DATABASE=GV-NX86T512H ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (GV-NX86T512H) + + pci:v000010DEd00000402sv00001462sd00000910* +- ID_MODEL_FROM_DATABASE=NX8600GT-T2D256EZ ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (NX8600GT-T2D256EZ) + + pci:v000010DEd00000403* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GS] +@@ -23703,7 +23703,7 @@ pci:v000010DEd00000404* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] + + pci:v000010DEd00000404sv00001462sd00001230* +- ID_MODEL_FROM_DATABASE=NX8400GS-TD256E ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] (NX8400GS-TD256E) + + pci:v000010DEd00000405* + ID_MODEL_FROM_DATABASE=G84M [GeForce 9500M GS] +@@ -23730,7 +23730,7 @@ pci:v000010DEd0000040C* + ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] + + pci:v000010DEd0000040Csv000017AAsd000020D9* +- ID_MODEL_FROM_DATABASE=ThinkPad T61p ++ ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] (ThinkPad T61p) + + pci:v000010DEd0000040D* + ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 1600M] +@@ -23754,7 +23754,7 @@ pci:v000010DEd00000421* + ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] + + pci:v000010DEd00000421sv00001462sd00000960* +- ID_MODEL_FROM_DATABASE=NX8500GT-TD512EH/M2 ++ ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] (NX8500GT-TD512EH/M2) + + pci:v000010DEd00000422* + ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 GS] +@@ -23769,7 +23769,7 @@ pci:v000010DEd00000425* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] + + pci:v000010DEd00000425sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] (Aspire 5920G) + + pci:v000010DEd00000426* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GT] +@@ -23778,10 +23778,10 @@ pci:v000010DEd00000427* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] + + pci:v000010DEd00000427sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv6700) + + pci:v000010DEd00000427sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000428* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M G] +@@ -23790,7 +23790,7 @@ pci:v000010DEd00000429* + ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] + + pci:v000010DEd00000429sv000017AAsd000020D8* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] (ThinkPad T61) + + pci:v000010DEd0000042A* + ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 130M] +@@ -23820,7 +23820,7 @@ pci:v000010DEd00000442* + ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge + + pci:v000010DEd00000442sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000443* + ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge +@@ -23829,7 +23829,7 @@ pci:v000010DEd00000444* + ID_MODEL_FROM_DATABASE=MCP65 Memory Controller + + pci:v000010DEd00000444sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 Memory Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000445* + ID_MODEL_FROM_DATABASE=MCP65 Memory Controller +@@ -23838,31 +23838,31 @@ pci:v000010DEd00000446* + ID_MODEL_FROM_DATABASE=MCP65 SMBus + + pci:v000010DEd00000446sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 SMBus (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000447* + ID_MODEL_FROM_DATABASE=MCP65 SMU + + pci:v000010DEd00000447sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 SMU (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000448* + ID_MODEL_FROM_DATABASE=MCP65 IDE + + pci:v000010DEd00000448sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 IDE (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000449* + ID_MODEL_FROM_DATABASE=MCP65 PCI bridge + + pci:v000010DEd00000449sv000010DEsd0000CB84* +- ID_MODEL_FROM_DATABASE=HP Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 PCI bridge (HP Pavilion dv9668eg Laptop) + + pci:v000010DEd0000044A* + ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio + + pci:v000010DEd0000044Asv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio (Pavilion dv9668eg Laptop) + + pci:v000010DEd0000044B* + ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio +@@ -23883,7 +23883,7 @@ pci:v000010DEd00000450* + ID_MODEL_FROM_DATABASE=MCP65 Ethernet + + pci:v000010DEd00000450sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 Ethernet (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000451* + ID_MODEL_FROM_DATABASE=MCP65 Ethernet +@@ -23898,13 +23898,13 @@ pci:v000010DEd00000454* + ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller + + pci:v000010DEd00000454sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000455* + ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller + + pci:v000010DEd00000455sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000456* + ID_MODEL_FROM_DATABASE=MCP65 USB Controller +@@ -23943,7 +23943,7 @@ pci:v000010DEd0000045D* + ID_MODEL_FROM_DATABASE=MCP65 SATA Controller + + pci:v000010DEd0000045Dsv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd0000045E* + ID_MODEL_FROM_DATABASE=MCP65 SATA Controller +@@ -23964,7 +23964,7 @@ pci:v000010DEd0000053B* + ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] + + pci:v000010DEd0000053Bsv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] (M2N68-AM Motherbord) + + pci:v000010DEd0000053E* + ID_MODEL_FROM_DATABASE=C68 [GeForce 7025 / nForce 630a] +@@ -23976,7 +23976,7 @@ pci:v000010DEd00000542* + ID_MODEL_FROM_DATABASE=MCP67 SMBus + + pci:v000010DEd00000542sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=MCP67 SMBus (M2N68-AM Motherbord) + + pci:v000010DEd00000543* + ID_MODEL_FROM_DATABASE=MCP67 Co-processor +@@ -23985,25 +23985,25 @@ pci:v000010DEd00000547* + ID_MODEL_FROM_DATABASE=MCP67 Memory Controller + + pci:v000010DEd00000547sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (M2N68-AM Motherbord) + + pci:v000010DEd00000547sv00001849sd00000547* +- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready ++ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (ALiveNF7G-HDready) + + pci:v000010DEd00000548* + ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge + + pci:v000010DEd00000548sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge (M2N68-AM Motherboard) + + pci:v000010DEd0000054C* + ID_MODEL_FROM_DATABASE=MCP67 Ethernet + + pci:v000010DEd0000054Csv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (M2N68-AM Motherbord) + + pci:v000010DEd0000054Csv00001849sd0000054C* +- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready, MCP67 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (ALiveNF7G-HDready, MCP67 Gigabit Ethernet) + + pci:v000010DEd0000054D* + ID_MODEL_FROM_DATABASE=MCP67 Ethernet +@@ -24018,25 +24018,25 @@ pci:v000010DEd00000550* + ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller + + pci:v000010DEd00000550sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000554* + ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller + + pci:v000010DEd00000554sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000555* + ID_MODEL_FROM_DATABASE=MCP67 SATA Controller + + pci:v000010DEd00000555sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 SATA Controller (M2N68-AM Motherboard) + + pci:v000010DEd0000055C* + ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio + + pci:v000010DEd0000055Csv00001043sd00008290* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio (M2N68-AM Motherboard) + + pci:v000010DEd0000055D* + ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio +@@ -24045,19 +24045,19 @@ pci:v000010DEd0000055E* + ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller + + pci:v000010DEd0000055Esv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller (M2N68-AM Motherboard) + + pci:v000010DEd0000055F* + ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller + + pci:v000010DEd0000055Fsv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000560* + ID_MODEL_FROM_DATABASE=MCP67 IDE Controller + + pci:v000010DEd00000560sv0000F043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 IDE Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000561* + ID_MODEL_FROM_DATABASE=MCP67 PCI Bridge +@@ -24066,7 +24066,7 @@ pci:v000010DEd00000562* + ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge + + pci:v000010DEd00000562sv00001849sd00000562* +- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready ++ ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge (ALiveNF7G-HDready) + + pci:v000010DEd00000563* + ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge +@@ -24075,64 +24075,64 @@ pci:v000010DEd00000568* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller + + pci:v000010DEd00000568sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) + + pci:v000010DEd00000568sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) + + pci:v000010DEd00000568sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) + + pci:v000010DEd00000568sv00001849sd00000568* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) + + pci:v000010DEd00000569* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge + + pci:v000010DEd00000569sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) + + pci:v000010DEd00000569sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) + + pci:v000010DEd00000569sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) + + pci:v000010DEd00000569sv00001849sd00000569* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) + + pci:v000010DEd0000056A* + ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) + + pci:v000010DEd0000056Asv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) (MCP73PVT-SM) + + pci:v000010DEd0000056C* + ID_MODEL_FROM_DATABASE=MCP73 IDE + + pci:v000010DEd0000056Csv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 IDE (MCP73PVT-SM) + + pci:v000010DEd0000056Csv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 IDE (JW-IN7150-HD) + + pci:v000010DEd0000056D* + ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge + + pci:v000010DEd0000056Dsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) + + pci:v000010DEd0000056E* + ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge + + pci:v000010DEd0000056Esv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) + + pci:v000010DEd0000056F* + ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge + + pci:v000010DEd0000056Fsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) + + pci:v000010DEd000005B1* + ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch +@@ -24156,7 +24156,7 @@ pci:v000010DEd000005E3* + ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] + + pci:v000010DEd000005E3sv00001682sd00002490* +- ID_MODEL_FROM_DATABASE=GX-285N-ZDF ++ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] (GX-285N-ZDF) + + pci:v000010DEd000005E6* + ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 275] +@@ -24165,19 +24165,19 @@ pci:v000010DEd000005E7* + ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] + + pci:v000010DEd000005E7sv000010DEsd00000595* +- ID_MODEL_FROM_DATABASE=Tesla T10 Processor ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) + + pci:v000010DEd000005E7sv000010DEsd0000068F* +- ID_MODEL_FROM_DATABASE=Tesla T10 Processor ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) + + pci:v000010DEd000005E7sv000010DEsd00000697* +- ID_MODEL_FROM_DATABASE=Tesla M1060 ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) + + pci:v000010DEd000005E7sv000010DEsd00000714* +- ID_MODEL_FROM_DATABASE=Tesla M1060 ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) + + pci:v000010DEd000005E7sv000010DEsd00000743* +- ID_MODEL_FROM_DATABASE=Tesla M1060 ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) + + pci:v000010DEd000005EA* + ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260] +@@ -24240,7 +24240,7 @@ pci:v000010DEd00000609* + ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] + + pci:v000010DEd00000609sv0000106Bsd000000A7* +- ID_MODEL_FROM_DATABASE=GeForce 8800 GS ++ ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] (GeForce 8800 GS) + + pci:v000010DEd0000060A* + ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 280M] +@@ -24261,16 +24261,16 @@ pci:v000010DEd00000610* + ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] + + pci:v000010DEd00000610sv00001682sd00002385* +- ID_MODEL_FROM_DATABASE=GeForce 9600 GSO 768mb ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] (GeForce 9600 GSO 768mb) + + pci:v000010DEd00000611* + ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] + + pci:v000010DEd00000611sv0000107Dsd00002AB0* +- ID_MODEL_FROM_DATABASE=Winfast PX8800 GT PCI-E ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (Winfast PX8800 GT PCI-E) + + pci:v000010DEd00000611sv000019DAsd00001040* +- ID_MODEL_FROM_DATABASE=ZT-88TES2P-FSP ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (ZT-88TES2P-FSP) + + pci:v000010DEd00000612* + ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GTX / 9800 GTX+] +@@ -24282,22 +24282,22 @@ pci:v000010DEd00000614* + ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] + + pci:v000010DEd00000614sv0000107Dsd00002AB3* +- ID_MODEL_FROM_DATABASE=WinFast PX9800 GT (S-Fanpipe) ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] (WinFast PX9800 GT (S-Fanpipe)) + + pci:v000010DEd00000615* + ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] + + pci:v000010DEd00000615sv00003842sd00001150* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1150-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1150-TR) + + pci:v000010DEd00000615sv00003842sd00001151* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1151-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1151-TR) + + pci:v000010DEd00000615sv00003842sd00001155* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1155-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1155-TR) + + pci:v000010DEd00000615sv00003842sd00001156* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1156-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1156-TR) + + pci:v000010DEd00000617* + ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GTX] +@@ -24336,10 +24336,10 @@ pci:v000010DEd00000622* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] + + pci:v000010DEd00000622sv0000107Dsd00002AC1* +- ID_MODEL_FROM_DATABASE=WinFast PX9600GT 1024MB ++ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (WinFast PX9600GT 1024MB) + + pci:v000010DEd00000622sv00001458sd00003481* +- ID_MODEL_FROM_DATABASE=GV-NX96T512HP ++ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GV-NX96T512HP) + + pci:v000010DEd00000623* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GS] +@@ -24375,7 +24375,7 @@ pci:v000010DEd0000062E* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] + + pci:v000010DEd0000062Esv0000106Bsd00000605* +- ID_MODEL_FROM_DATABASE=GeForce GT 130 ++ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GeForce GT 130) + + pci:v000010DEd0000062F* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9800 S] +@@ -24435,7 +24435,7 @@ pci:v000010DEd00000649* + ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] + + pci:v000010DEd00000649sv00001043sd0000202D* +- ID_MODEL_FROM_DATABASE=GeForce GT 220M ++ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] (GeForce GT 220M) + + pci:v000010DEd0000064A* + ID_MODEL_FROM_DATABASE=G96M [GeForce 9700M GT] +@@ -24459,7 +24459,7 @@ pci:v000010DEd00000652* + ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] + + pci:v000010DEd00000652sv0000152Dsd00000850* +- ID_MODEL_FROM_DATABASE=GeForce GT 240M LE ++ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] (GeForce GT 240M LE) + + pci:v000010DEd00000653* + ID_MODEL_FROM_DATABASE=G96M [GeForce GT 120M] +@@ -24468,10 +24468,10 @@ pci:v000010DEd00000654* + ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] + + pci:v000010DEd00000654sv00001043sd000014A2* +- ID_MODEL_FROM_DATABASE=GeForce GT 320M ++ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) + + pci:v000010DEd00000654sv00001043sd000014D2* +- ID_MODEL_FROM_DATABASE=GeForce GT 320M ++ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) + + pci:v000010DEd00000655* + ID_MODEL_FROM_DATABASE=G96 [GeForce GT 120] +@@ -24519,28 +24519,28 @@ pci:v000010DEd000006D1* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] + + pci:v000010DEd000006D1sv000010DEsd00000771* +- ID_MODEL_FROM_DATABASE=Tesla C2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2050) + + pci:v000010DEd000006D1sv000010DEsd00000772* +- ID_MODEL_FROM_DATABASE=Tesla C2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2070) + + pci:v000010DEd000006D2* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] + + pci:v000010DEd000006D2sv000010DEsd00000774* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D2sv000010DEsd00000830* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D2sv000010DEsd00000842* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D2sv000010DEsd0000088F* +- ID_MODEL_FROM_DATABASE=Tesla X2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla X2070) + + pci:v000010DEd000006D2sv000010DEsd00000908* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D8* + ID_MODEL_FROM_DATABASE=GF100GL [Quadro 6000] +@@ -24561,37 +24561,37 @@ pci:v000010DEd000006DE* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] + + pci:v000010DEd000006DEsv000010DEsd00000773* +- ID_MODEL_FROM_DATABASE=Tesla S2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla S2050) + + pci:v000010DEd000006DEsv000010DEsd0000082F* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000840* +- ID_MODEL_FROM_DATABASE=Tesla X2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla X2070) + + pci:v000010DEd000006DEsv000010DEsd00000842* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000846* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000866* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000907* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd0000091E* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DF* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] + + pci:v000010DEd000006DFsv000010DEsd0000084D* +- ID_MODEL_FROM_DATABASE=Tesla M2070-Q ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) + + pci:v000010DEd000006DFsv000010DEsd0000087F* +- ID_MODEL_FROM_DATABASE=Tesla M2070-Q ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) + + pci:v000010DEd000006E0* + ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 GE] +@@ -24609,7 +24609,7 @@ pci:v000010DEd000006E4* + ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] + + pci:v000010DEd000006E4sv00001458sd00003475* +- ID_MODEL_FROM_DATABASE=GV-NX84S256HE [GeForce 8400 GS] ++ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] (GV-NX84S256HE [GeForce 8400 GS]) + + pci:v000010DEd000006E5* + ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] +@@ -24624,13 +24624,13 @@ pci:v000010DEd000006E8* + ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] + + pci:v000010DEd000006E8sv0000103Csd0000360B* +- ID_MODEL_FROM_DATABASE=GeForce 9200M GE ++ ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] (GeForce 9200M GE) + + pci:v000010DEd000006E9* + ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] + + pci:v000010DEd000006E9sv00001043sd000019B2* +- ID_MODEL_FROM_DATABASE=U6V laptop ++ ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] (U6V laptop) + + pci:v000010DEd000006EA* + ID_MODEL_FROM_DATABASE=G98M [Quadro NVS 150M] +@@ -24672,139 +24672,139 @@ pci:v000010DEd000006FF* + ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] + + pci:v000010DEd000006FFsv000010DEsd00000711* +- ID_MODEL_FROM_DATABASE=HICx8 + Graphics ++ ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] (HICx8 + Graphics) + + pci:v000010DEd00000751* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller + + pci:v000010DEd00000751sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) + + pci:v000010DEd00000751sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) + + pci:v000010DEd00000751sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) + + pci:v000010DEd00000751sv00001849sd00000751* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) + + pci:v000010DEd00000752* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus + + pci:v000010DEd00000752sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (Pavilion p6310f) + + pci:v000010DEd00000752sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (M3N72-D) + + pci:v000010DEd00000752sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K9N2GM-FIH) + + pci:v000010DEd00000752sv00001849sd00000752* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 SMBus ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K10N78FullHD-hSLI R3.0 SMBus) + + pci:v000010DEd00000753* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor + + pci:v000010DEd00000753sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (Pavilion p6310f) + + pci:v000010DEd00000753sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (M3N72-D) + + pci:v000010DEd00000753sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K9N2GM-FIH) + + pci:v000010DEd00000753sv00001849sd00000753* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Co-Processor ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K10N78FullHD-hSLI R3.0 Co-Processor) + + pci:v000010DEd00000754* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller + + pci:v000010DEd00000754sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) + + pci:v000010DEd00000754sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) + + pci:v000010DEd00000754sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) + + pci:v000010DEd00000754sv00001849sd00000754* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) + + pci:v000010DEd00000759* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE + + pci:v000010DEd00000759sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (M3N72-D) + + pci:v000010DEd00000759sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K9N2GM-FIH) + + pci:v000010DEd00000759sv00001849sd00000759* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K10N78FullHD-hSLI R3.0 IDE) + + pci:v000010DEd0000075A* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge + + pci:v000010DEd0000075Asv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) + + pci:v000010DEd0000075Asv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) + + pci:v000010DEd0000075Asv00001849sd0000075A* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) + + pci:v000010DEd0000075B* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge + + pci:v000010DEd0000075Bsv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) + + pci:v000010DEd0000075Bsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) + + pci:v000010DEd0000075Bsv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) + + pci:v000010DEd0000075Bsv00001849sd0000075B* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) + + pci:v000010DEd0000075C* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge + + pci:v000010DEd0000075Csv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (Pavilion p6310f) + + pci:v000010DEd0000075Csv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K9N2GM-FIH) + + pci:v000010DEd0000075Csv00001849sd0000075C* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 LPC Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K10N78FullHD-hSLI R3.0 LPC Bridge) + + pci:v000010DEd0000075D* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge + + pci:v000010DEd0000075Dsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (M3N72-D) + + pci:v000010DEd00000760* + ID_MODEL_FROM_DATABASE=MCP77 Ethernet + + pci:v000010DEd00000760sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (Pavilion p6310f) + + pci:v000010DEd00000760sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (M3N72-D) + + pci:v000010DEd00000760sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K9N2GM-FIH) + + pci:v000010DEd00000760sv00001849sd00000760* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Ethernet ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K10N78FullHD-hSLI R3.0 Ethernet) + + pci:v000010DEd00000761* + ID_MODEL_FROM_DATABASE=MCP77 Ethernet +@@ -24819,118 +24819,118 @@ pci:v000010DEd00000774* + ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio + + pci:v000010DEd00000774sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (Pavilion p6310f) + + pci:v000010DEd00000774sv00001043sd000082FE* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (M3N72-D) + + pci:v000010DEd00000774sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K9N2GM-FIH) + + pci:v000010DEd00000774sv00001849sd00003662* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 High Definition Audio ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K10N78FullHD-hSLI R3.0 High Definition Audio) + + pci:v000010DEd00000778* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge + + pci:v000010DEd00000778sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) + + pci:v000010DEd00000778sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) + + pci:v000010DEd00000778sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) + + pci:v000010DEd00000778sv00001849sd00000778* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) + + pci:v000010DEd0000077A* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge + + pci:v000010DEd0000077Asv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) + + pci:v000010DEd0000077Asv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) + + pci:v000010DEd0000077Asv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K9N2GM-FIH) + + pci:v000010DEd0000077Asv00001849sd0000077A* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) + + pci:v000010DEd0000077B* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller + + pci:v000010DEd0000077Bsv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Bsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) + + pci:v000010DEd0000077Bsv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Bsv00001849sd0000077B* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) + + pci:v000010DEd0000077C* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller + + pci:v000010DEd0000077Csv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Csv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) + + pci:v000010DEd0000077Csv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Csv00001849sd0000077C* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) + + pci:v000010DEd0000077D* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller + + pci:v000010DEd0000077Dsv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Dsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) + + pci:v000010DEd0000077Dsv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Dsv00001849sd0000077D* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) + + pci:v000010DEd0000077E* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller + + pci:v000010DEd0000077Esv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Esv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) + + pci:v000010DEd0000077Esv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Esv00001849sd0000077E* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) + + pci:v000010DEd000007C0* + ID_MODEL_FROM_DATABASE=MCP73 Host Bridge + + pci:v000010DEd000007C0sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (JW-IN7150-HD) + + pci:v000010DEd000007C1* + ID_MODEL_FROM_DATABASE=MCP73 Host Bridge + + pci:v000010DEd000007C1sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (MCP73PVT-SM) + + pci:v000010DEd000007C2* + ID_MODEL_FROM_DATABASE=MCP73 Host Bridge +@@ -24942,124 +24942,124 @@ pci:v000010DEd000007C8* + ID_MODEL_FROM_DATABASE=MCP73 Memory Controller + + pci:v000010DEd000007C8sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) + + pci:v000010DEd000007C8sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) + + pci:v000010DEd000007CB* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CBsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CBsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007CD* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CDsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CDsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007CE* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CEsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CEsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007CF* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CFsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CFsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D0* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D0sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D0sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D1* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D1sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D1sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D2* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D2sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D2sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D3* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D3sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D3sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D6* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D6sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D6sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D7* + ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge + + pci:v000010DEd000007D7sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (MCP73PVT-SM) + + pci:v000010DEd000007D7sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (JW-IN7150-HD) + + pci:v000010DEd000007D8* + ID_MODEL_FROM_DATABASE=MCP73 SMBus + + pci:v000010DEd000007D8sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 SMBus (MCP73PVT-SM) + + pci:v000010DEd000007D8sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 SMBus (JW-IN7150-HD) + + pci:v000010DEd000007D9* + ID_MODEL_FROM_DATABASE=MCP73 Memory Controller + + pci:v000010DEd000007D9sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) + + pci:v000010DEd000007D9sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) + + pci:v000010DEd000007DA* + ID_MODEL_FROM_DATABASE=MCP73 Co-processor + + pci:v000010DEd000007DAsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Co-processor (JW-IN7150-HD) + + pci:v000010DEd000007DC* + ID_MODEL_FROM_DATABASE=MCP73 Ethernet +@@ -25077,13 +25077,13 @@ pci:v000010DEd000007E0* + ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] + + pci:v000010DEd000007E0sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] (JW-IN7150-HD) + + pci:v000010DEd000007E1* + ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] + + pci:v000010DEd000007E1sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] (MCP73PVT-SM) + + pci:v000010DEd000007E2* + ID_MODEL_FROM_DATABASE=C73 [GeForce 7050 / nForce 630i] +@@ -25101,7 +25101,7 @@ pci:v000010DEd000007F4* + ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA + + pci:v000010DEd000007F4sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA (MCP73PVT-SM) + + pci:v000010DEd000007F8* + ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller +@@ -25110,7 +25110,7 @@ pci:v000010DEd000007FC* + ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio + + pci:v000010DEd000007FCsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio (MCP73PVT-SM) + + pci:v000010DEd000007FCsv000010DEsd000007FC* + ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio +@@ -25119,10 +25119,10 @@ pci:v000010DEd000007FE* + ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB + + pci:v000010DEd000007FEsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (MCP73PVT-SM) + + pci:v000010DEd000007FEsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (JW-IN7150-HD) + + pci:v000010DEd00000840* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8200M] +@@ -25140,7 +25140,7 @@ pci:v000010DEd00000847* + ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] + + pci:v000010DEd00000847sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] (Pavilion p6310f) + + pci:v000010DEd00000848* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8300] +@@ -25149,10 +25149,10 @@ pci:v000010DEd00000849* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] + + pci:v000010DEd00000849sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K9N2GM-FIH) + + pci:v000010DEd00000849sv00001849sd00000849* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 GeForce 8200 ++ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K10N78FullHD-hSLI R3.0 GeForce 8200) + + pci:v000010DEd0000084A* + ID_MODEL_FROM_DATABASE=C77 [nForce 730a] +@@ -25167,7 +25167,7 @@ pci:v000010DEd0000084D* + ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] + + pci:v000010DEd0000084Dsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D mGPU ++ ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] (M3N72-D mGPU) + + pci:v000010DEd0000084F* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8100 / nForce 720a] +@@ -25185,7 +25185,7 @@ pci:v000010DEd00000863* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] + + pci:v000010DEd00000863sv0000106Bsd000000AA* +- ID_MODEL_FROM_DATABASE=MacBook5,1 ++ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] (MacBook5,1) + + pci:v000010DEd00000864* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9300] +@@ -25197,13 +25197,13 @@ pci:v000010DEd00000866* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] + + pci:v000010DEd00000866sv0000106Bsd000000B1* +- ID_MODEL_FROM_DATABASE=GeForce 9400M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] (GeForce 9400M) + + pci:v000010DEd00000867* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] + + pci:v000010DEd00000867sv0000106Bsd000000AD* +- ID_MODEL_FROM_DATABASE=iMac 9,1 ++ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] (iMac 9,1) + + pci:v000010DEd00000868* + ID_MODEL_FROM_DATABASE=C79 [nForce 760i SLI] +@@ -25236,28 +25236,28 @@ pci:v000010DEd00000872* + ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] + + pci:v000010DEd00000872sv00001043sd000019B4* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000872sv00001043sd00001AA2* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000872sv00001043sd00001C02* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000872sv00001043sd00001C42* +- ID_MODEL_FROM_DATABASE=GeForce G205M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) + + pci:v000010DEd00000873* + ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] + + pci:v000010DEd00000873sv00001043sd000019B4* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000873sv00001043sd00001C12* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000873sv00001043sd00001C52* +- ID_MODEL_FROM_DATABASE=GeForce G205M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) + + pci:v000010DEd00000874* + ID_MODEL_FROM_DATABASE=C79 [ION] +@@ -25272,7 +25272,7 @@ pci:v000010DEd0000087D* + ID_MODEL_FROM_DATABASE=ION VGA + + pci:v000010DEd0000087Dsv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=ION VGA (IONITX-F-E) + + pci:v000010DEd0000087E* + ID_MODEL_FROM_DATABASE=ION LE VGA +@@ -25299,7 +25299,7 @@ pci:v000010DEd00000A20* + ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] + + pci:v000010DEd00000A20sv00001043sd00008311* +- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 ++ ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] (ENGT220/DI/1GD3(LP)/V2) + + pci:v000010DEd00000A21* + ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M] +@@ -25368,7 +25368,7 @@ pci:v000010DEd00000A65* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] + + pci:v000010DEd00000A65sv00001043sd00008334* +- ID_MODEL_FROM_DATABASE=EN210 SILENT ++ ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] (EN210 SILENT) + + pci:v000010DEd00000A66* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 310] +@@ -25389,10 +25389,10 @@ pci:v000010DEd00000A6C* + ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] + + pci:v000010DEd00000A6Csv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (Latitude E6510) + + pci:v000010DEd00000A6Csv000017AAsd00002142* +- ID_MODEL_FROM_DATABASE=ThinkPad T410 ++ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (ThinkPad T410) + + pci:v000010DEd00000A6E* + ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M] +@@ -25416,7 +25416,7 @@ pci:v000010DEd00000A74* + ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] + + pci:v000010DEd00000A74sv00001B0Asd0000903A* +- ID_MODEL_FROM_DATABASE=GeForce G210 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] (GeForce G210) + + pci:v000010DEd00000A75* + ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M] +@@ -25431,127 +25431,127 @@ pci:v000010DEd00000A7A* + ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] + + pci:v000010DEd00000A7Asv0000104Dsd0000907E* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC50* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC61* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC71* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC90* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCC0* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCD0* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCE2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCF2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD16* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD40* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD50* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD52* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD61* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD71* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD92* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD96* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FDD0* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FDD2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FDFE* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C0A2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C0B2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C581* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C587* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C588* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C597* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C606* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001462sd0000AA51* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AA58* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AC71* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AC81* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001462sd0000AC82* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AE33* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001642sd00003980* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv000017AAsd00003950* +- ID_MODEL_FROM_DATABASE=GeForce 405M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) + + pci:v000010DEd00000A7Asv000017AAsd0000397D* +- ID_MODEL_FROM_DATABASE=GeForce 405M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) + + pci:v000010DEd00000A7Asv00001B0Asd00002091* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001B0Asd000090B4* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001BFDsd00000003* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001BFDsd00008006* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001BFDsd00008007* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7B* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 505] +@@ -25593,64 +25593,64 @@ pci:v000010DEd00000A98* + ID_MODEL_FROM_DATABASE=MCP79 Memory Controller + + pci:v000010DEd00000A98sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (iMac 9,1) + + pci:v000010DEd00000AA0* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AA0sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AA2* + ID_MODEL_FROM_DATABASE=MCP79 SMBus + + pci:v000010DEd00000AA2sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 SMBus (Apple iMac 9,1) + + pci:v000010DEd00000AA2sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 SMBus (IONITX-F-E) + + pci:v000010DEd00000AA3* + ID_MODEL_FROM_DATABASE=MCP79 Co-processor + + pci:v000010DEd00000AA3sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (Apple iMac 9,1) + + pci:v000010DEd00000AA3sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (IONITX-F-E) + + pci:v000010DEd00000AA4* + ID_MODEL_FROM_DATABASE=MCP79 Memory Controller + + pci:v000010DEd00000AA4sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (IONITX-F-E) + + pci:v000010DEd00000AA5* + ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller + + pci:v000010DEd00000AA5sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA5sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) + + pci:v000010DEd00000AA6* + ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller + + pci:v000010DEd00000AA6sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA6sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) + + pci:v000010DEd00000AA7* + ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller + + pci:v000010DEd00000AA7sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA7sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) + + pci:v000010DEd00000AA8* + ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller +@@ -25659,10 +25659,10 @@ pci:v000010DEd00000AA9* + ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller + + pci:v000010DEd00000AA9sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA9sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) + + pci:v000010DEd00000AAA* + ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller +@@ -25671,7 +25671,7 @@ pci:v000010DEd00000AAB* + ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge + + pci:v000010DEd00000AABsv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AAC* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge +@@ -25680,13 +25680,13 @@ pci:v000010DEd00000AAD* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge + + pci:v000010DEd00000AADsv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (IONITX-F-E) + + pci:v000010DEd00000AAE* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge + + pci:v000010DEd00000AAEsv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AAF* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge +@@ -25695,10 +25695,10 @@ pci:v000010DEd00000AB0* + ID_MODEL_FROM_DATABASE=MCP79 Ethernet + + pci:v000010DEd00000AB0sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (Apple iMac 9,1) + + pci:v000010DEd00000AB0sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (IONITX-F-E) + + pci:v000010DEd00000AB1* + ID_MODEL_FROM_DATABASE=MCP79 Ethernet +@@ -25713,7 +25713,7 @@ pci:v000010DEd00000AB4* + ID_MODEL_FROM_DATABASE=MCP79 SATA Controller + + pci:v000010DEd00000AB4sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller (IONITX-F-E) + + pci:v000010DEd00000AB5* + ID_MODEL_FROM_DATABASE=MCP79 SATA Controller +@@ -25731,7 +25731,7 @@ pci:v000010DEd00000AB9* + ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller + + pci:v000010DEd00000AB9sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller (Apple iMac 9,1) + + pci:v000010DEd00000ABA* + ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller +@@ -25755,7 +25755,7 @@ pci:v000010DEd00000AC0* + ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio + + pci:v000010DEd00000AC0sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio (Apple iMac 9,1) + + pci:v000010DEd00000AC1* + ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio +@@ -25770,7 +25770,7 @@ pci:v000010DEd00000AC4* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AC4sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AC5* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge +@@ -25779,13 +25779,13 @@ pci:v000010DEd00000AC6* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AC6sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AC7* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AC7sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AC8* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge +@@ -25794,22 +25794,22 @@ pci:v000010DEd00000AD0* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) + + pci:v000010DEd00000AD0sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K9N2GM-FIH) + + pci:v000010DEd00000AD0sv00001849sd00000AD0* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K10N78FullHD-hSLI R3.0 IDE) + + pci:v000010DEd00000AD4* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller + + pci:v000010DEd00000AD4sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (Pavilion p6310f) + + pci:v000010DEd00000AD4sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (M3N72-D) + + pci:v000010DEd00000AD4sv00001849sd00000AD4* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 AHCI Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (K10N78FullHD-hSLI R3.0 AHCI Controller) + + pci:v000010DEd00000AD8* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (RAID mode) +@@ -25818,16 +25818,16 @@ pci:v000010DEd00000BE2* + ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller + + pci:v000010DEd00000BE2sv00001043sd00008311* +- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 ++ ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller (ENGT220/DI/1GD3(LP)/V2) + + pci:v000010DEd00000BE3* + ID_MODEL_FROM_DATABASE=High Definition Audio Controller + + pci:v000010DEd00000BE3sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (Latitude E6510) + + pci:v000010DEd00000BE3sv000010DEsd0000066D* +- ID_MODEL_FROM_DATABASE=G98 [GeForce 8400GS] ++ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (G98 [GeForce 8400GS]) + + pci:v000010DEd00000BE4* + ID_MODEL_FROM_DATABASE=High Definition Audio Controller +@@ -25839,22 +25839,22 @@ pci:v000010DEd00000BE9* + ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller + + pci:v000010DEd00000BE9sv00001558sd00008687* +- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU ++ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (CLEVO/KAPOK W860CU) + + pci:v000010DEd00000BE9sv00003842sd00001452* +- ID_MODEL_FROM_DATABASE=GeForce GTS 450 ++ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (GeForce GTS 450) + + pci:v000010DEd00000BEA* + ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller + + pci:v000010DEd00000BEAsv00003842sd00001430* +- ID_MODEL_FROM_DATABASE=GeForce GT 430 ++ ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller (GeForce GT 430) + + pci:v000010DEd00000BEB* + ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller + + pci:v000010DEd00000BEBsv00001462sd00002322* +- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC ++ ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller (N460GTX Cyclone 1GD5/OC) + + pci:v000010DEd00000BEE* + ID_MODEL_FROM_DATABASE=GF116 High Definition Audio Controller +@@ -25968,7 +25968,7 @@ pci:v000010DEd00000DD1* + ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] + + pci:v000010DEd00000DD1sv00001558sd00008687* +- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU ++ ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] (CLEVO/KAPOK W860CU) + + pci:v000010DEd00000DD2* + ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 445M] +@@ -25983,7 +25983,7 @@ pci:v000010DEd00000DD8* + ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] + + pci:v000010DEd00000DD8sv000010DEsd00000914* +- ID_MODEL_FROM_DATABASE=Quadro 2000D ++ ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] (Quadro 2000D) + + pci:v000010DEd00000DDA* + ID_MODEL_FROM_DATABASE=GF106GLM [Quadro 2000M] +@@ -25995,7 +25995,7 @@ pci:v000010DEd00000DE1* + ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] + + pci:v000010DEd00000DE1sv00003842sd00001430* +- ID_MODEL_FROM_DATABASE=GeForce GT 430 ++ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] (GeForce GT 430) + + pci:v000010DEd00000DE2* + ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 420] +@@ -26019,49 +26019,49 @@ pci:v000010DEd00000DE9* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] + + pci:v000010DEd00000DE9sv00001025sd00000692* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000725* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000728* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd0000072B* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd0000072E* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000753* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000754* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv000017AAsd00003977* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 640M LE) + + pci:v000010DEd00000DE9sv00001B0Asd00002210* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 635M) + + pci:v000010DEd00000DEA* + ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] + + pci:v000010DEd00000DEAsv000017AAsd0000365A* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd0000365B* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd0000365E* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd00003660* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd0000366C* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEB* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 555M] +@@ -26094,10 +26094,10 @@ pci:v000010DEd00000DF4* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] + + pci:v000010DEd00000DF4sv0000152Dsd00000952* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) + + pci:v000010DEd00000DF4sv0000152Dsd00000953* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) + + pci:v000010DEd00000DF5* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 525M] +@@ -26124,7 +26124,7 @@ pci:v000010DEd00000E08* + ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller + + pci:v000010DEd00000E08sv000010B0sd0000104A* +- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 ++ ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller (Gainward GeForce GT 610) + + pci:v000010DEd00000E09* + ID_MODEL_FROM_DATABASE=GF110 High Definition Audio Controller +@@ -26145,16 +26145,16 @@ pci:v000010DEd00000E1B* + ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller + + pci:v000010DEd00000E1Bsv0000103Csd0000197B* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (ZBook 15) + + pci:v000010DEd00000E1Bsv00001043sd00008428* +- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 ++ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (GTX650-DC-1GD5) + + pci:v000010DEd00000E22* + ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] + + pci:v000010DEd00000E22sv00001462sd00002322* +- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC ++ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] (N460GTX Cyclone 1GD5/OC) + + pci:v000010DEd00000E23* + ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460 SE] +@@ -26193,7 +26193,7 @@ pci:v000010DEd00000FC6* + ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] + + pci:v000010DEd00000FC6sv00001043sd00008428* +- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 ++ ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) + + pci:v000010DEd00000FCD* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] +@@ -26205,34 +26205,34 @@ pci:v000010DEd00000FD1* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] + + pci:v000010DEd00000FD1sv00001043sd00001597* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD1sv00001043sd000015A7* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD1sv00001043sd00002103* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (N56VZ) + + pci:v000010DEd00000FD1sv00001043sd00002105* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD1sv00001043sd00002141* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD2* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] + + pci:v000010DEd00000FD2sv00001028sd0000054F* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) + + pci:v000010DEd00000FD2sv00001028sd0000055F* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) + + pci:v000010DEd00000FD2sv00001028sd00000595* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) + + pci:v000010DEd00000FD2sv00001028sd000005B2* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) + + pci:v000010DEd00000FD3* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M LE] +@@ -26265,7 +26265,7 @@ pci:v000010DEd00000FE3* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] + + pci:v000010DEd00000FE3sv000017AAsd00003675* +- ID_MODEL_FROM_DATABASE=GeForce GT 745A ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) + + pci:v000010DEd00000FE4* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M] +@@ -26280,7 +26280,7 @@ pci:v000010DEd00000FE7* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] + + pci:v000010DEd00000FE7sv000010DEsd0000101E* +- ID_MODEL_FROM_DATABASE=GRID K100 ++ ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] (GRID K100) + + pci:v000010DEd00000FE9* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M Mac Edition] +@@ -26304,13 +26304,13 @@ pci:v000010DEd00000FF6* + ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] + + pci:v000010DEd00000FF6sv0000103Csd0000197B* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] (ZBook 15) + + pci:v000010DEd00000FF7* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] + + pci:v000010DEd00000FF7sv000010DEsd00001037* +- ID_MODEL_FROM_DATABASE=GRID K140Q ++ ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] (GRID K140Q) + + pci:v000010DEd00000FF8* + ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K500M] +@@ -26343,37 +26343,37 @@ pci:v000010DEd00001004* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] + + pci:v000010DEd00001004sv00003842sd00000784* +- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 SC w/ ACX Cooler] ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 SC w/ ACX Cooler]) + + pci:v000010DEd00001004sv00003842sd00001784* +- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler] ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler]) + + pci:v000010DEd00001004sv00003842sd00001788* +- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler] ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler]) + + pci:v000010DEd00001005* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] + + pci:v000010DEd00001005sv00001043sd00008451* +- ID_MODEL_FROM_DATABASE=GTXTITAN-6GD5 ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GTXTITAN-6GD5) + + pci:v000010DEd00001005sv000010DEsd00001035* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) + + pci:v000010DEd00001005sv00003842sd00002790* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) + + pci:v000010DEd00001005sv00003842sd00002791* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC) + + pci:v000010DEd00001005sv00003842sd00002793* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Signature ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Signature) + + pci:v000010DEd00001005sv00003842sd00002794* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper) + + pci:v000010DEd00001005sv00003842sd00002795* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper Signature) + + pci:v000010DEd00001007* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] +@@ -26436,7 +26436,7 @@ pci:v000010DEd0000104A* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] + + pci:v000010DEd0000104Asv000010B0sd0000104A* +- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 ++ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] (Gainward GeForce GT 610) + + pci:v000010DEd0000104B* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] +@@ -26469,37 +26469,37 @@ pci:v000010DEd00001058* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] + + pci:v000010DEd00001058sv0000103Csd00002AED* +- ID_MODEL_FROM_DATABASE=GeForce 610 ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) + + pci:v000010DEd00001058sv0000103Csd00002AF1* +- ID_MODEL_FROM_DATABASE=GeForce 610 ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) + + pci:v000010DEd00001058sv00001043sd000010AC* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd00001058sv00001043sd000010BC* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd00001058sv00001043sd00001652* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd00001058sv000017AAsd0000367A* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) + + pci:v000010DEd00001058sv000017AAsd00003682* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) + + pci:v000010DEd00001058sv000017AAsd00003687* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) + + pci:v000010DEd00001058sv000017AAsd00003692* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 705A) + + pci:v000010DEd00001058sv000017AAsd00003695* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) + + pci:v000010DEd00001058sv000017AAsd0000A117* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) + + pci:v000010DEd00001059* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] +@@ -26508,25 +26508,25 @@ pci:v000010DEd0000105A* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] + + pci:v000010DEd0000105Asv00001043sd00002111* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd0000105Asv00001043sd00002112* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd0000105B* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] + + pci:v000010DEd0000105Bsv0000103Csd00002AFB* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) + + pci:v000010DEd0000105Bsv000017AAsd0000309D* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) + + pci:v000010DEd0000105Bsv000017AAsd000030B1* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) + + pci:v000010DEd0000105Bsv000017AAsd000036A1* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) + + pci:v000010DEd0000107C* + ID_MODEL_FROM_DATABASE=GF119 [NVS 315] +@@ -26541,7 +26541,7 @@ pci:v000010DEd00001081* + ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] + + pci:v000010DEd00001081sv000010DEsd0000087E* +- ID_MODEL_FROM_DATABASE=Leadtek WinFast GTX 570 ++ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] (Leadtek WinFast GTX 570) + + pci:v000010DEd00001082* + ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 Ti OEM] +@@ -26571,31 +26571,31 @@ pci:v000010DEd00001091* + ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] + + pci:v000010DEd00001091sv000010DEsd0000088E* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001091sv000010DEsd00000891* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001091sv000010DEsd00000974* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001091sv000010DEsd0000098D* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001094* + ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] + + pci:v000010DEd00001094sv000010DEsd00000888* +- ID_MODEL_FROM_DATABASE=Tesla M2075 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] (Tesla M2075) + + pci:v000010DEd00001096* + ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] + + pci:v000010DEd00001096sv000010DEsd00000910* +- ID_MODEL_FROM_DATABASE=Tesla C2075 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2075) + + pci:v000010DEd00001096sv000010DEsd00000911* +- ID_MODEL_FROM_DATABASE=Tesla C2050 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2050) + + pci:v000010DEd0000109A* + ID_MODEL_FROM_DATABASE=GF100GLM [Quadro 5010M] +@@ -26604,7 +26604,7 @@ pci:v000010DEd0000109B* + ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] + + pci:v000010DEd0000109Bsv000010DEsd00000918* +- ID_MODEL_FROM_DATABASE=Quadro 7000 ++ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] (Quadro 7000) + + pci:v000010DEd000010C0* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 9300 GS Rev. 2] +@@ -26622,622 +26622,622 @@ pci:v000010DEd00001140* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] + + pci:v000010DEd00001140sv00001025sd00000600* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000606* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000064A* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000064C* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000067A* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000680* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000686* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000689* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000068B* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000068D* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000068E* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000691* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000692* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000694* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000702* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000719* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000725* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000728* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000072B* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000072E* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000732* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000763* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000773* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000774* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000776* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd0000077A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077B* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077C* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077D* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077E* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077F* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000781* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000798* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000799* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd0000079B* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd0000079C* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000807* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000821* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000823* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000830* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000837* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000841* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001028sd0000054D* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd0000054E* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000554* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001028sd00000557* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001028sd00000562* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd00000565* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000568* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000590* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000592* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd00000594* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd00000595* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005A2* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005B1* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005B3* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005DA* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd000005DE* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001028sd000005E0* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001028sd000005E8* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd000005F4* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv0000103Csd000018EF* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018F9* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018FB* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018FD* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018FF* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd00002AEF* +- ID_MODEL_FROM_DATABASE=GeForce GT 720A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) + + pci:v000010DEd00001140sv0000103Csd00002AF9* +- ID_MODEL_FROM_DATABASE=GeForce 710A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710A) + + pci:v000010DEd00001140sv00001043sd000010DD* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv00001043sd000010ED* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv00001043sd000011FD* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000124D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000126D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000131D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd000013FD* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd000014C7* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd00001507* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001043sd000015AD* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd000015ED* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000160D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000163D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000166D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd000016CD* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd000016DD* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000170D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd00002132* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001043sd00002136* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv00001043sd000021BA* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd000021FA* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000220A* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000221A* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000223A* +- ID_MODEL_FROM_DATABASE=GeForce GT 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) + + pci:v000010DEd00001140sv00001043sd0000224A* +- ID_MODEL_FROM_DATABASE=GeForce GT 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) + + pci:v000010DEd00001140sv00001043sd0000227A* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000228A* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd00008595* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001072sd0000152D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000010CFsd000017F5* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001179sd0000FA01* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA02* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA03* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA05* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA11* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA13* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA18* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA19* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA21* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA23* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA2A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA32* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA33* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA36* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA38* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA42* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA43* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA45* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA47* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA49* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA58* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA59* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA88* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA89* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000144Dsd0000B092* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv0000144Dsd0000C0D5* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000144Dsd0000C0D7* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv0000144Dsd0000C0E2* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv0000144Dsd0000C0E3* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv0000144Dsd0000C0E4* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv0000144Dsd0000C652* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv0000144Dsd0000C709* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000144Dsd0000C711* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000144Dsd0000C736* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001462sd000010B8* +- ID_MODEL_FROM_DATABASE=GeForce GT 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) + + pci:v000010DEd00001140sv00001462sd000010E9* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001462sd00001116* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001462sd0000AA33* +- ID_MODEL_FROM_DATABASE=GeForce 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) + + pci:v000010DEd00001140sv00001462sd0000AAA2* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001462sd0000AAA3* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001462sd0000AE71* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv0000152Dsd00000926* +- ID_MODEL_FROM_DATABASE=GeForce 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 620M) + + pci:v000010DEd00001140sv0000152Dsd00000982* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000152Dsd00000983* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000152Dsd00001012* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000152Dsd00001030* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000152Dsd00001055* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000152Dsd00001067* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv0000152Dsd00001072* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00002200* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv000017AAsd00002213* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00002220* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000309C* +- ID_MODEL_FROM_DATABASE=GeForce GT 720A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) + + pci:v000010DEd00001140sv000017AAsd000030B4* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd00003656* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv000017AAsd0000365A* +- ID_MODEL_FROM_DATABASE=GeForce 705M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) + + pci:v000010DEd00001140sv000017AAsd0000365E* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd0000366C* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd00003685* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd00003686* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd00003687* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705A) + + pci:v000010DEd00001140sv000017AAsd00003696* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369B* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369C* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369D* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369E* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd00003800* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003801* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003802* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003803* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003804* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003901* +- ID_MODEL_FROM_DATABASE=GeForce 610M / GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) + + pci:v000010DEd00001140sv000017AAsd00003902* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00003903* +- ID_MODEL_FROM_DATABASE=GeForce 610M/710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M) + + pci:v000010DEd00001140sv000017AAsd00003904* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M/625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M) + + pci:v000010DEd00001140sv000017AAsd00003905* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003910* +- ID_MODEL_FROM_DATABASE=GeForce 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) + + pci:v000010DEd00001140sv000017AAsd00003912* +- ID_MODEL_FROM_DATABASE=GeForce 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) + + pci:v000010DEd00001140sv000017AAsd00003977* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003983* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) + + pci:v000010DEd00001140sv000017AAsd00005001* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) + + pci:v000010DEd00001140sv000017AAsd00005003* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00005005* +- ID_MODEL_FROM_DATABASE=GeForce 705M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) + + pci:v000010DEd00001140sv000017AAsd0000500D* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv000017AAsd00005014* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00005017* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00005019* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000501A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000501F* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00005025* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00005027* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000502A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000502B* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000502D* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000502E* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000502F* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000503E* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000503F* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001854sd00000177* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001854sd00000180* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001854sd00000190* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001854sd00000192* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001B0Asd000020DD* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001B0Asd000020DF* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001B0Asd00002202* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001180* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] + + pci:v000010DEd00001180sv00001043sd000083F1* +- ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GTX680-DC2-2GD5) + + pci:v000010DEd00001180sv00003842sd00003682* +- ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GeForce GTX 680 Mac Edition) + + pci:v000010DEd00001182* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti] +@@ -27252,7 +27252,7 @@ pci:v000010DEd00001185* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] + + pci:v000010DEd00001185sv000010DEsd0000106F* +- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] (GK104 [GeForce GTX 760 OEM]) + + pci:v000010DEd00001187* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760] +@@ -27264,7 +27264,7 @@ pci:v000010DEd00001189* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] + + pci:v000010DEd00001189sv000010DEsd00001074* +- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] (GK104 [GeForce GTX 760 Ti OEM]) + + pci:v000010DEd0000118A* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K520] +@@ -27279,7 +27279,7 @@ pci:v000010DEd0000118D* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] + + pci:v000010DEd0000118Dsv000010DEsd0000101D* +- ID_MODEL_FROM_DATABASE=GRID K200 ++ ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] (GRID K200) + + pci:v000010DEd0000118E* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] +@@ -27324,7 +27324,7 @@ pci:v000010DEd000011A3* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] + + pci:v000010DEd000011A3sv0000106Bsd0000010D* +- ID_MODEL_FROM_DATABASE=iMac 13,2 ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] (iMac 13,2) + + pci:v000010DEd000011A7* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX] +@@ -27333,10 +27333,10 @@ pci:v000010DEd000011B0* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] + + pci:v000010DEd000011B0sv000010DEsd0000101A* +- ID_MODEL_FROM_DATABASE=GRID K240Q ++ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K240Q) + + pci:v000010DEd000011B0sv000010DEsd0000101B* +- ID_MODEL_FROM_DATABASE=GRID K260Q ++ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K260Q) + + pci:v000010DEd000011B1* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] +@@ -27375,28 +27375,28 @@ pci:v000010DEd000011C2* + ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] + + pci:v000010DEd000011C2sv00001043sd0000845B* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost DirectCU II OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost DirectCU II OC) + + pci:v000010DEd000011C2sv00001462sd00002874* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost TwinFrozr II OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost TwinFrozr II OC) + + pci:v000010DEd000011C2sv00001569sd000011C2* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) + + pci:v000010DEd000011C2sv000019DAsd00001281* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) + + pci:v000010DEd000011C2sv00003842sd00003657* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost) + + pci:v000010DEd000011C2sv00003842sd00003658* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost Superclocked ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost Superclocked) + + pci:v000010DEd000011C3* + ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] + + pci:v000010DEd000011C3sv000010DEsd00001030* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti OEM ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] (GeForce GTX 650 Ti OEM) + + pci:v000010DEd000011C4* + ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 645 OEM] +@@ -27423,7 +27423,7 @@ pci:v000010DEd000011E3* + ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] + + pci:v000010DEd000011E3sv000017AAsd00003683* +- ID_MODEL_FROM_DATABASE=GeForce GTX 760A ++ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] (GeForce GTX 760A) + + pci:v000010DEd000011FA* + ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] +@@ -27486,55 +27486,55 @@ pci:v000010DEd00001247* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] + + pci:v000010DEd00001247sv00001043sd00001752* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001247sv00001043sd00002050* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001247sv00001043sd00002051* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001247sv00001043sd0000212A* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001247sv00001043sd0000212B* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001247sv00001043sd0000212C* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001247sv0000152Dsd00000930* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001248* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] + + pci:v000010DEd00001248sv0000152Dsd00000930* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001248sv000017C0sd000010E7* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv000017C0sd000010E8* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv000017C0sd000010EA* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00000890* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00000891* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00001795* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00001796* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00003005* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001249* + ID_MODEL_FROM_DATABASE=GF116 [GeForce GTS 450 Rev. 3] +@@ -27546,19 +27546,19 @@ pci:v000010DEd0000124D* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] + + pci:v000010DEd0000124Dsv00001028sd00000491* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001028sd00000570* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001028sd00000571* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001462sd0000108D* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001462sd000010CC* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001251* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 560M] +@@ -27582,16 +27582,16 @@ pci:v000010DEd00001290* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] + + pci:v000010DEd00001290sv0000103Csd00002AFA* +- ID_MODEL_FROM_DATABASE=GeForce GT 730A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) + + pci:v000010DEd00001290sv0000103Csd00002B04* +- ID_MODEL_FROM_DATABASE=GeForce GT 730A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) + + pci:v000010DEd00001290sv00001043sd000013AD* +- ID_MODEL_FROM_DATABASE=GeForce GT 730M ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) + + pci:v000010DEd00001290sv00001043sd000013CD* +- ID_MODEL_FROM_DATABASE=GeForce GT 730M ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) + + pci:v000010DEd00001291* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 735M] +@@ -27600,10 +27600,10 @@ pci:v000010DEd00001292* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] + + pci:v000010DEd00001292sv000017AAsd00003675* +- ID_MODEL_FROM_DATABASE=GeForce GT 740A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) + + pci:v000010DEd00001292sv000017AAsd00003684* +- ID_MODEL_FROM_DATABASE=GeForce GT 740A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) + + pci:v000010DEd00001293* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] +@@ -27636,13 +27636,13 @@ pci:v000010DEd00001341* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] + + pci:v000010DEd00001341sv000017AAsd00003697* +- ID_MODEL_FROM_DATABASE=GeForce 840A ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) + + pci:v000010DEd00001341sv000017AAsd00003699* +- ID_MODEL_FROM_DATABASE=GeForce 840A ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) + + pci:v000010DEd00001341sv000017AAsd0000369C* +- ID_MODEL_FROM_DATABASE=GeForce 840A ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) + + pci:v000010DEd00001380* + ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] +@@ -27660,10 +27660,10 @@ pci:v000010DEd00001391* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] + + pci:v000010DEd00001391sv000017AAsd00003697* +- ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) + + pci:v000010DEd00001391sv000017AAsd0000A125* +- ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) + + pci:v000010DEd00001392* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] +@@ -27678,13 +27678,13 @@ pci:v000010DFd00000720* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) + + pci:v000010DFd00000720sv000017AAsd00001056* +- ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14102-UX-L AnyFabric) + + pci:v000010DFd00000720sv000017AAsd00001057* +- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UX-L AnyFabric) + + pci:v000010DFd00000720sv000017AAsd00001059* +- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UT-L AnyFabric) + + pci:v000010DFd00000722* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) +@@ -27729,10 +27729,10 @@ pci:v000010DFd0000E220* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) + + pci:v000010DFd0000E220sv000017AAsd00001054* +- ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16002B-M6-L AnyFabric) + + pci:v000010DFd0000E220sv000017AAsd00001055* +- ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16004B-M8-L AnyFabric) + + pci:v000010DFd0000E240* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) +@@ -27831,7 +27831,7 @@ pci:v000010DFd0000FC00* + ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter + + pci:v000010DFd0000FC00sv000010DFsd0000FC00* +- ID_MODEL_FROM_DATABASE=LP10000 LightPulse Fibre Channel Host Adapter ++ ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter (LP10000 LightPulse Fibre Channel Host Adapter) + + pci:v000010DFd0000FC10* + ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter +@@ -27897,7 +27897,7 @@ pci:v000010E1d00000391* + ID_MODEL_FROM_DATABASE=TRM-S1040 + + pci:v000010E1d00000391sv000010E1sd00000391* +- ID_MODEL_FROM_DATABASE=DC-315U SCSI-3 Host Adapter ++ ID_MODEL_FROM_DATABASE=TRM-S1040 (DC-315U SCSI-3 Host Adapter) + + pci:v000010E1d0000690C* + ID_MODEL_FROM_DATABASE=DC-690c +@@ -27921,7 +27921,7 @@ pci:v000010E3d00000148* + ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] + + pci:v000010E3d00000148sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] (VR11 Single Board Computer) + + pci:v000010E3d00000860* + ID_MODEL_FROM_DATABASE=CA91C860 [QSpan] +@@ -28107,25 +28107,25 @@ pci:v000010ECd00005227* + ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader + + pci:v000010ECd00005227sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad T440p) + + pci:v000010ECd00005227sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad X240) + + pci:v000010ECd00005229* + ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader + + pci:v000010ECd00005229sv00001025sd00000813* +- ID_MODEL_FROM_DATABASE=Aspire R7-571 ++ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (Aspire R7-571) + + pci:v000010ECd00005229sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (ProBook 455 G1 Notebook) + + pci:v000010ECd00005249* + ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader + + pci:v000010ECd00005249sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) + + pci:v000010ECd00005288* + ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader +@@ -28134,334 +28134,334 @@ pci:v000010ECd00008029* + ID_MODEL_FROM_DATABASE=RTL-8029(AS) + + pci:v000010ECd00008029sv000010B8sd00002011* +- ID_MODEL_FROM_DATABASE=EZ-Card (SMC1208) ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EZ-Card (SMC1208)) + + pci:v000010ECd00008029sv000010ECsd00008029* + ID_MODEL_FROM_DATABASE=RTL-8029(AS) + + pci:v000010ECd00008029sv00001113sd00001208* +- ID_MODEL_FROM_DATABASE=EN1208 ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EN1208) + + pci:v000010ECd00008029sv00001186sd00000300* +- ID_MODEL_FROM_DATABASE=DE-528 ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (DE-528) + + pci:v000010ECd00008029sv00001259sd00002400* +- ID_MODEL_FROM_DATABASE=AT-2400 ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (AT-2400) + + pci:v000010ECd00008029sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (QEMU Virtual Machine) + + pci:v000010ECd00008129* + ID_MODEL_FROM_DATABASE=RTL-8129 + + pci:v000010ECd00008129sv000010ECsd00008129* +- ID_MODEL_FROM_DATABASE=RT8129 Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL-8129 (RT8129 Fast Ethernet Adapter) + + pci:v000010ECd00008129sv000011ECsd00008129* +- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) ++ ID_MODEL_FROM_DATABASE=RTL-8129 (RTL8111/8168 PCIe Gigabit Ethernet (misconfigured)) + + pci:v000010ECd00008136* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller + + pci:v000010ECd00008136sv0000103Csd00002AB1* +- ID_MODEL_FROM_DATABASE=Pavillion p6774 ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) + + pci:v000010ECd00008136sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) + + pci:v000010ECd00008136sv00001179sd0000FF64* +- ID_MODEL_FROM_DATABASE=RTL8102E PCI-E Fast Ethernet NIC ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) + + pci:v000010ECd00008138* + ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter + + pci:v000010ECd00008138sv000010ECsd00008138* +- ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter (RT8139 (B/C) Fast Ethernet Adapter) + + pci:v000010ECd00008139* + ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter + + pci:v000010ECd00008139sv00000357sd0000000A* +- ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TTP-Monitoring Card V2.0) + + pci:v000010ECd00008139sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TravelMate 290) + + pci:v000010ECd00008139sv00001025sd00008920* +- ID_MODEL_FROM_DATABASE=ALN-325 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) + + pci:v000010ECd00008139sv00001025sd00008921* +- ID_MODEL_FROM_DATABASE=ALN-325 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) + + pci:v000010ECd00008139sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (NX9500) + + pci:v000010ECd00008139sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Pavilion t3030.de Desktop PC) + + pci:v000010ECd00008139sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Presario C700) + + pci:v000010ECd00008139sv00001043sd00001045* +- ID_MODEL_FROM_DATABASE=L8400B or L3C/S notebook ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (L8400B or L3C/S notebook) + + pci:v000010ECd00008139sv00001043sd00008109* +- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P5P800-MX Mainboard) + + pci:v000010ECd00008139sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MIM2000) + + pci:v000010ECd00008139sv000010BDsd00000320* +- ID_MODEL_FROM_DATABASE=EP-320X-R ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EP-320X-R) + + pci:v000010ECd00008139sv000010ECsd00008139* + ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter + + pci:v000010ECd00008139sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Panasonic CF-Y5 laptop) + + pci:v000010ECd00008139sv00001113sd0000EC01* +- ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LevelOne FNC-0107TX/FNC-0109TX) + + pci:v000010ECd00008139sv00001186sd00001300* +- ID_MODEL_FROM_DATABASE=DFE-538TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DFE-538TX) + + pci:v000010ECd00008139sv00001186sd00001320* +- ID_MODEL_FROM_DATABASE=SN5200 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (SN5200) + + pci:v000010ECd00008139sv00001186sd00008139* +- ID_MODEL_FROM_DATABASE=DRN-32TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DRN-32TX) + + pci:v000010ECd00008139sv000011F6sd00008139* +- ID_MODEL_FROM_DATABASE=FN22-3(A) LinxPRO Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN22-3(A) LinxPRO Ethernet Adapter) + + pci:v000010ECd00008139sv00001259sd00002500* +- ID_MODEL_FROM_DATABASE=AT-2500TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX) + + pci:v000010ECd00008139sv00001259sd00002503* +- ID_MODEL_FROM_DATABASE=AT-2500TX/ACPI ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX/ACPI) + + pci:v000010ECd00008139sv00001385sd0000F31D* +- ID_MODEL_FROM_DATABASE=FA311 v2 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FA311 v2) + + pci:v000010ECd00008139sv00001395sd00002100* +- ID_MODEL_FROM_DATABASE=AMB2100 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AMB2100) + + pci:v000010ECd00008139sv00001429sd0000D010* +- ID_MODEL_FROM_DATABASE=ND010/ND012 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ND010/ND012) + + pci:v000010ECd00008139sv00001432sd00009130* +- ID_MODEL_FROM_DATABASE=EN-9130TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EN-9130TX) + + pci:v000010ECd00008139sv00001436sd00008139* +- ID_MODEL_FROM_DATABASE=RT8139 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RT8139) + + pci:v000010ECd00008139sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P30/P35 notebook) + + pci:v000010ECd00008139sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-7VM400M/7VT600 Motherboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GA-7VM400M/7VT600 Motherboard) + + pci:v000010ECd00008139sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MS-1013 Notebook) + + pci:v000010ECd00008139sv00001462sd0000217C* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Aspire L250) + + pci:v000010ECd00008139sv00001462sd0000788C* +- ID_MODEL_FROM_DATABASE=865PE Neo2-V Mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (865PE Neo2-V Mainboard) + + pci:v000010ECd00008139sv0000146Csd00001439* +- ID_MODEL_FROM_DATABASE=FE-1439TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FE-1439TX) + + pci:v000010ECd00008139sv00001489sd00006001* +- ID_MODEL_FROM_DATABASE=GF100TXRII ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRII) + + pci:v000010ECd00008139sv00001489sd00006002* +- ID_MODEL_FROM_DATABASE=GF100TXRA ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRA) + + pci:v000010ECd00008139sv0000149Csd0000139A* +- ID_MODEL_FROM_DATABASE=LFE-8139ATX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139ATX) + + pci:v000010ECd00008139sv0000149Csd00008139* +- ID_MODEL_FROM_DATABASE=LFE-8139TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139TX) + + pci:v000010ECd00008139sv000014CBsd00000200* +- ID_MODEL_FROM_DATABASE=LNR-100 Family 10/100 Base-TX Ethernet ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LNR-100 Family 10/100 Base-TX Ethernet) + + pci:v000010ECd00008139sv00001565sd00002300* +- ID_MODEL_FROM_DATABASE=P4TSV Onboard LAN (RTL8100B) ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P4TSV Onboard LAN (RTL8100B)) + + pci:v000010ECd00008139sv00001631sd00007003* +- ID_MODEL_FROM_DATABASE=Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard) + + pci:v000010ECd00008139sv00001695sd00009001* +- ID_MODEL_FROM_DATABASE=Onboard RTL8101L 10/100 MBit ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8101L 10/100 MBit) + + pci:v000010ECd00008139sv000016ECsd000000FF* +- ID_MODEL_FROM_DATABASE=USR997900A ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (USR997900A) + + pci:v000010ECd00008139sv00001799sd00005000* +- ID_MODEL_FROM_DATABASE=F5D5000 PCI Card/Desktop Network PCI Card ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5000 PCI Card/Desktop Network PCI Card) + + pci:v000010ECd00008139sv00001799sd00005010* +- ID_MODEL_FROM_DATABASE=F5D5010 CardBus Notebook Network Card ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5010 CardBus Notebook Network Card) + + pci:v000010ECd00008139sv0000187Esd00003303* +- ID_MODEL_FROM_DATABASE=FN312 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN312) + + pci:v000010ECd00008139sv00001904sd00008139* +- ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RTL8139D Fast Ethernet Adapter) + + pci:v000010ECd00008139sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (QEMU Virtual Machine) + + pci:v000010ECd00008139sv00002646sd00000001* +- ID_MODEL_FROM_DATABASE=KNE120TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KNE120TX) + + pci:v000010ECd00008139sv00008E2Esd00007000* +- ID_MODEL_FROM_DATABASE=KF-230TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX) + + pci:v000010ECd00008139sv00008E2Esd00007100* +- ID_MODEL_FROM_DATABASE=KF-230TX/2 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX/2) + + pci:v000010ECd00008139sv0000A0A0sd00000007* +- ID_MODEL_FROM_DATABASE=ALN-325C ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325C) + + pci:v000010ECd00008167* + ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet + + pci:v000010ECd00008167sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-MA69G-S3H Motherboard ++ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (GA-MA69G-S3H Motherboard) + + pci:v000010ECd00008167sv00001462sd0000235C* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (P965 Neo MS-7235 mainboard) + + pci:v000010ECd00008167sv00001462sd0000236C* +- ID_MODEL_FROM_DATABASE=945P Neo3-F motherboard ++ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (945P Neo3-F motherboard) + + pci:v000010ECd00008168* + ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller + + pci:v000010ECd00008168sv00001019sd00008168* +- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) + + pci:v000010ECd00008168sv00001028sd00000283* +- ID_MODEL_FROM_DATABASE=Vostro 220 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 220) + + pci:v000010ECd00008168sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3350) + + pci:v000010ECd00008168sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3750) + + pci:v000010ECd00008168sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Pavilion DM1Z-3000) + + pci:v000010ECd00008168sv0000103Csd00001950* +- ID_MODEL_FROM_DATABASE=ProBook 450/455 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (ProBook 450/455) + + pci:v000010ECd00008168sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Asus IPIBL-LB Motherboard) + + pci:v000010ECd00008168sv00001043sd000011F5* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (A6J-Q008) + + pci:v000010ECd00008168sv00001043sd000016D5* +- ID_MODEL_FROM_DATABASE=U6V/U31J laptop ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (U6V/U31J laptop) + + pci:v000010ECd00008168sv00001043sd000081AA* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P5B) + + pci:v000010ECd00008168sv00001043sd000082C6* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M3A78-EH Motherboard) + + pci:v000010ECd00008168sv00001043sd000083A3* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M4A785TD Motherboard) + + pci:v000010ECd00008168sv00001043sd00008432* +- ID_MODEL_FROM_DATABASE=P8P67 and other motherboards ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) + + pci:v000010ECd00008168sv00001043sd00008505* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) + + pci:v000010ECd00008168sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) + + pci:v000010ECd00008168sv000010ECsd00008168* +- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) + + pci:v000010ECd00008168sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard) + + pci:v000010ECd00008168sv00001462sd0000238C* +- ID_MODEL_FROM_DATABASE=Onboard RTL8111b on MSI P965 Platinum Mainboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Onboard RTL8111b on MSI P965 Platinum Mainboard) + + pci:v000010ECd00008168sv00001462sd0000368C* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (K9AG Neo2) + + pci:v000010ECd00008168sv00001462sd00004180* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Wind PC MS-7418) + + pci:v000010ECd00008168sv00001462sd00007522* +- ID_MODEL_FROM_DATABASE=X58 Pro-E ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (X58 Pro-E) + + pci:v000010ECd00008168sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (CC11/CL11) + + pci:v000010ECd00008168sv00001849sd00008168* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many)) + + pci:v000010ECd00008168sv00008086sd0000D615* +- ID_MODEL_FROM_DATABASE=Desktop Board D510MO/D525MW ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Desktop Board D510MO/D525MW) + + pci:v000010ECd00008169* + ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller + + pci:v000010ECd00008169sv00001025sd00000079* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Aspire 5024WLMi) + + pci:v000010ECd00008169sv000010BDsd00003202* +- ID_MODEL_FROM_DATABASE=EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter) + + pci:v000010ECd00008169sv000010ECsd00008169* +- ID_MODEL_FROM_DATABASE=RTL8169/8110 Family PCI Gigabit Ethernet NIC ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (RTL8169/8110 Family PCI Gigabit Ethernet NIC) + + pci:v000010ECd00008169sv00001259sd0000C107* +- ID_MODEL_FROM_DATABASE=CG-LAPCIGT ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (CG-LAPCIGT) + + pci:v000010ECd00008169sv00001371sd0000434E* +- ID_MODEL_FROM_DATABASE=ProG-2000L ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (ProG-2000L) + + pci:v000010ECd00008169sv00001385sd0000311A* +- ID_MODEL_FROM_DATABASE=GA311 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA311) + + pci:v000010ECd00008169sv00001385sd00005200* +- ID_MODEL_FROM_DATABASE=GA511 Gigabit PC Card ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA511 Gigabit PC Card) + + pci:v000010ECd00008169sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA-8I915ME-G Mainboard) + + pci:v000010ECd00008169sv00001462sd0000030C* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 mainboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8N Neo-FSR v2.0 mainboard) + + pci:v000010ECd00008169sv00001462sd0000065C* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Hetis 865GV-E (MS-7065)) + + pci:v000010ECd00008169sv00001462sd0000702C* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T NEO 2 motherboard) + + pci:v000010ECd00008169sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T Neo2-F V2.0) + + pci:v000010ECd00008169sv000016ECsd0000011F* +- ID_MODEL_FROM_DATABASE=USR997903 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (USR997903) + + pci:v000010ECd00008169sv00001734sd00001091* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (D2030-A1) + + pci:v000010ECd00008169sv0000A0A0sd00000449* +- ID_MODEL_FROM_DATABASE=AK86-L motherboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (AK86-L motherboard) + + pci:v000010ECd00008171* + ID_MODEL_FROM_DATABASE=RTL8191SEvA Wireless LAN Controller +@@ -28479,7 +28479,7 @@ pci:v000010ECd00008176* + ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter + + pci:v000010ECd00008176sv00001A3Bsd00001139* +- ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter (AW-NE139H Half-size Mini PCIe Card) + + pci:v000010ECd00008177* + ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter +@@ -28494,10 +28494,10 @@ pci:v000010ECd00008180* + ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC + + pci:v000010ECd00008180sv00001385sd00004700* +- ID_MODEL_FROM_DATABASE=MA521 802.11b Wireless PC Card ++ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (MA521 802.11b Wireless PC Card) + + pci:v000010ECd00008180sv00001737sd00000019* +- ID_MODEL_FROM_DATABASE=WPC11v4 802.11b Wireless-B Notebook Adapter ++ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (WPC11v4 802.11b Wireless-B Notebook Adapter) + + pci:v000010ECd00008185* + ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller +@@ -28524,7 +28524,7 @@ pci:v000010ECd00008199* + ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller + + pci:v000010ECd00008199sv00001462sd00006894* +- ID_MODEL_FROM_DATABASE=MN54G2 / MS-6894 Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller (MN54G2 / MS-6894 Wireless Mini PCIe Card) + + pci:v000010ECd00008723* + ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter +@@ -28734,115 +28734,115 @@ pci:v00001102d00000002* + ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 + + pci:v00001102d00000002sv0000100Asd00001102* +- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF) + + pci:v00001102d00000002sv00001102sd00000020* +- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00000021* +- ID_MODEL_FROM_DATABASE=CT4620 SBLive! ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4620 SBLive!) + + pci:v00001102d00000002sv00001102sd0000002F* +- ID_MODEL_FROM_DATABASE=SBLive! mainboard implementation ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! mainboard implementation) + + pci:v00001102d00000002sv00001102sd0000100A* +- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM [SB0220] ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM [SB0220]) + + pci:v00001102d00000002sv00001102sd00004001* +- ID_MODEL_FROM_DATABASE=E-mu APS ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (E-mu APS) + + pci:v00001102d00000002sv00001102sd00008022* +- ID_MODEL_FROM_DATABASE=CT4780 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4780 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008023* +- ID_MODEL_FROM_DATABASE=CT4790 SoundBlaster PCI512 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4790 SoundBlaster PCI512) + + pci:v00001102d00000002sv00001102sd00008024* +- ID_MODEL_FROM_DATABASE=CT4760 SBLive! ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) + + pci:v00001102d00000002sv00001102sd00008025* +- ID_MODEL_FROM_DATABASE=SBLive! Mainboard Implementation ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Mainboard Implementation) + + pci:v00001102d00000002sv00001102sd00008026* +- ID_MODEL_FROM_DATABASE=CT4830 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4830 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008027* +- ID_MODEL_FROM_DATABASE=CT4832 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4832 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008028* +- ID_MODEL_FROM_DATABASE=CT4760 SBLive! OEM version ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive! OEM version) + + pci:v00001102d00000002sv00001102sd00008031* +- ID_MODEL_FROM_DATABASE=CT4831 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4831 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008040* +- ID_MODEL_FROM_DATABASE=CT4760 SBLive! ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) + + pci:v00001102d00000002sv00001102sd00008051* +- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008061* +- ID_MODEL_FROM_DATABASE=SBLive! Player 5.1 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Player 5.1) + + pci:v00001102d00000002sv00001102sd00008064* +- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Model SB0100 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Model SB0100) + + pci:v00001102d00000002sv00001102sd00008065* +- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Digital Model SB0220 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Digital Model SB0220) + + pci:v00001102d00000002sv00001102sd00008066* +- ID_MODEL_FROM_DATABASE=Live! 5.1 Digital [SB0228] ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (Live! 5.1 Digital [SB0228]) + + pci:v00001102d00000002sv00001102sd00008067* +- ID_MODEL_FROM_DATABASE=SBLive! 5.1 eMicro 28028 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 eMicro 28028) + + pci:v00001102d00000004* + ID_MODEL_FROM_DATABASE=SB Audigy + + pci:v00001102d00000004sv00001102sd00000051* +- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player) + + pci:v00001102d00000004sv00001102sd00000053* +- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) + + pci:v00001102d00000004sv00001102sd00000058* +- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) + + pci:v00001102d00000004sv00001102sd00001002* +- ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 Platinum) + + pci:v00001102d00000004sv00001102sd00001003* +- ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0350 Audigy 2) + + pci:v00001102d00000004sv00001102sd00001007* +- ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0240 Audigy 2 Platinum 6.1) + + pci:v00001102d00000004sv00001102sd00001009* +- ID_MODEL_FROM_DATABASE=SB Audigy2 OEM HP ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 OEM HP) + + pci:v00001102d00000004sv00001102sd00002001* +- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS Platinum Pro ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS Platinum Pro) + + pci:v00001102d00000004sv00001102sd00002002* +- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS (SB0350) ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS (SB0350)) + + pci:v00001102d00000004sv00001102sd00004001* +- ID_MODEL_FROM_DATABASE=E-MU 1010 ++ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 1010) + + pci:v00001102d00000004sv00001102sd00004002* +- ID_MODEL_FROM_DATABASE=E-MU 0404 ++ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 0404) + + pci:v00001102d00000005* + ID_MODEL_FROM_DATABASE=SB X-Fi + + pci:v00001102d00000005sv00001102sd00000021* +- ID_MODEL_FROM_DATABASE=X-Fi Platinum ++ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi Platinum) + + pci:v00001102d00000005sv00001102sd0000002C* +- ID_MODEL_FROM_DATABASE=X-Fi XtremeGamer FATAL1TY PRO ++ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeGamer FATAL1TY PRO) + + pci:v00001102d00000005sv00001102sd00001003* +- ID_MODEL_FROM_DATABASE=X-Fi XtremeMusic ++ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeMusic) + + pci:v00001102d00000006* + ID_MODEL_FROM_DATABASE=[SB Live! Value] EMU10k1X +@@ -28851,37 +28851,37 @@ pci:v00001102d00000007* + ID_MODEL_FROM_DATABASE=CA0106 Soundblaster + + pci:v00001102d00000007sv00001102sd00000007* +- ID_MODEL_FROM_DATABASE=SBLive! 24bit ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SBLive! 24bit) + + pci:v00001102d00000007sv00001102sd00001001* +- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0310 Audigy LS) + + pci:v00001102d00000007sv00001102sd00001002* +- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0312 Audigy LS) + + pci:v00001102d00000007sv00001102sd00001006* +- ID_MODEL_FROM_DATABASE=SB0410 SBLive! 24-bit ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0410 SBLive! 24-bit) + + pci:v00001102d00000007sv00001102sd0000100A* +- ID_MODEL_FROM_DATABASE=SB0570 [SB Audigy SE] ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0570 [SB Audigy SE]) + + pci:v00001102d00000007sv00001102sd00001012* +- ID_MODEL_FROM_DATABASE=SB0790 X-Fi XA ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0790 X-Fi XA) + + pci:v00001102d00000007sv00001102sd00001013* +- ID_MODEL_FROM_DATABASE=Soundblaster X-Fi Xtreme Audio ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (Soundblaster X-Fi Xtreme Audio) + + pci:v00001102d00000007sv00001462sd00001009* +- ID_MODEL_FROM_DATABASE=K8N Diamond ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (K8N Diamond) + + pci:v00001102d00000008* + ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value + + pci:v00001102d00000008sv00001102sd00000008* +- ID_MODEL_FROM_DATABASE=EMU0404 Digital Audio System ++ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU0404 Digital Audio System) + + pci:v00001102d00000008sv00001102sd00004004* +- ID_MODEL_FROM_DATABASE=EMU1010 Digital Audio System [MAEM8960] ++ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU1010 Digital Audio System [MAEM8960]) + + pci:v00001102d00000009* + ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG +@@ -28890,13 +28890,13 @@ pci:v00001102d00000009sv00001102sd00000010* + ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG + + pci:v00001102d00000009sv00001102sd00000018* +- ID_MODEL_FROM_DATABASE=SB1040 ++ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG (SB1040) + + pci:v00001102d0000000B* + ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] + + pci:v00001102d0000000Bsv00001102sd00000041* +- ID_MODEL_FROM_DATABASE=SB0880 [SoundBlaster X-Fi Titanium PCI-e] ++ ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) + + pci:v00001102d00004001* + ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port +@@ -28908,7 +28908,7 @@ pci:v00001102d00007002* + ID_MODEL_FROM_DATABASE=SB Live! Game Port + + pci:v00001102d00007002sv00001102sd00000020* +- ID_MODEL_FROM_DATABASE=Gameport Joystick ++ ID_MODEL_FROM_DATABASE=SB Live! Game Port (Gameport Joystick) + + pci:v00001102d00007003* + ID_MODEL_FROM_DATABASE=SB Audigy Game Port +@@ -28917,7 +28917,7 @@ pci:v00001102d00007003sv00001102sd00000040* + ID_MODEL_FROM_DATABASE=SB Audigy Game Port + + pci:v00001102d00007003sv00001102sd00000060* +- ID_MODEL_FROM_DATABASE=SB Audigy2 MIDI/Game Port ++ ID_MODEL_FROM_DATABASE=SB Audigy Game Port (SB Audigy2 MIDI/Game Port) + + pci:v00001102d00007004* + ID_MODEL_FROM_DATABASE=[SB Live! Value] Input device controller +@@ -28926,10 +28926,10 @@ pci:v00001102d00007005* + ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port + + pci:v00001102d00007005sv00001102sd00001001* +- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS MIDI/Game port ++ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0310 Audigy LS MIDI/Game port) + + pci:v00001102d00007005sv00001102sd00001002* +- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS MIDI/Game port ++ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0312 Audigy LS MIDI/Game port) + + pci:v00001102d00007006* + ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge +@@ -28938,49 +28938,49 @@ pci:v00001102d00008938* + ID_MODEL_FROM_DATABASE=Ectiva EV1938 + + pci:v00001102d00008938sv00001033sd000080E5* +- ID_MODEL_FROM_DATABASE=SlimTower-Jim (NEC) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (SlimTower-Jim (NEC)) + + pci:v00001102d00008938sv00001071sd00007150* +- ID_MODEL_FROM_DATABASE=Mitac 7150 ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Mitac 7150) + + pci:v00001102d00008938sv0000110Asd00005938* +- ID_MODEL_FROM_DATABASE=Siemens Scenic Mobile 510PIII ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Siemens Scenic Mobile 510PIII) + + pci:v00001102d00008938sv000013BDsd0000100C* +- ID_MODEL_FROM_DATABASE=Ceres-C (Sharp, Intel BX) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Ceres-C (Sharp, Intel BX)) + + pci:v00001102d00008938sv000013BDsd0000100D* +- ID_MODEL_FROM_DATABASE=Sharp, Intel Banister ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Sharp, Intel Banister) + + pci:v00001102d00008938sv000013BDsd0000100E* +- ID_MODEL_FROM_DATABASE=TwinHead P09S/P09S3 (Sharp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (TwinHead P09S/P09S3 (Sharp)) + + pci:v00001102d00008938sv000013BDsd0000F6F1* +- ID_MODEL_FROM_DATABASE=Marlin (Sharp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Marlin (Sharp)) + + pci:v00001102d00008938sv000014FFsd00000E70* +- ID_MODEL_FROM_DATABASE=P88TE (TWINHEAD INTERNATIONAL Corp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (P88TE (TWINHEAD INTERNATIONAL Corp)) + + pci:v00001102d00008938sv000014FFsd0000C401* +- ID_MODEL_FROM_DATABASE=Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)) + + pci:v00001102d00008938sv0000156Dsd0000B400* +- ID_MODEL_FROM_DATABASE=G400 - Geo (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G400 - Geo (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B550* +- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B560* +- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B700* +- ID_MODEL_FROM_DATABASE=G700/U700 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G700/U700 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B795* +- ID_MODEL_FROM_DATABASE=G795 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G795 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B797* +- ID_MODEL_FROM_DATABASE=G797 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G797 (AlphaTop (Taiwan))) + + pci:v00001103* + ID_VENDOR_FROM_DATABASE=HighPoint Technologies, Inc. +@@ -28992,16 +28992,16 @@ pci:v00001103d00000004* + ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N + + pci:v00001103d00000004sv00001103sd00000001* +- ID_MODEL_FROM_DATABASE=HPT370A ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370A) + + pci:v00001103d00000004sv00001103sd00000004* +- ID_MODEL_FROM_DATABASE=HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)) + + pci:v00001103d00000004sv00001103sd00000005* +- ID_MODEL_FROM_DATABASE=HPT370 UDMA100 ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370 UDMA100) + + pci:v00001103d00000004sv00001103sd00000006* +- ID_MODEL_FROM_DATABASE=HPT302/302N ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT302/302N) + + pci:v00001103d00000005* + ID_MODEL_FROM_DATABASE=HPT372A/372N +@@ -29040,7 +29040,7 @@ pci:v00001103d00002210* + ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller + + pci:v00001103d00002210sv000011ABsd000011AB* +- ID_MODEL_FROM_DATABASE=88SX6042 ++ ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller (88SX6042) + + pci:v00001103d00002300* + ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller +@@ -29112,13 +29112,13 @@ pci:v00001105d00008475* + ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder + + pci:v00001105d00008475sv00001105sd00000001* +- ID_MODEL_FROM_DATABASE=REALmagic X-Card ++ ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder (REALmagic X-Card) + + pci:v00001105d00008476* + ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder + + pci:v00001105d00008476sv0000127Dsd00000000* +- ID_MODEL_FROM_DATABASE=CineView II ++ ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder (CineView II) + + pci:v00001105d00008485* + ID_MODEL_FROM_DATABASE=EM8485 REALmagic DVD/MPEG-4 A/V Decoder +@@ -29163,7 +29163,7 @@ pci:v00001106d00000282* + ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge + + pci:v00001106d00000282sv00001043sd000080A3* +- ID_MODEL_FROM_DATABASE=A8V Deluxe ++ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge (A8V Deluxe) + + pci:v00001106d00000290* + ID_MODEL_FROM_DATABASE=K8M890 Host Bridge +@@ -29178,28 +29178,28 @@ pci:v00001106d00000305* + ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] + + pci:v00001106d00000305sv00001019sd00000987* +- ID_MODEL_FROM_DATABASE=K7VZA Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (K7VZA Mainboard) + + pci:v00001106d00000305sv00001043sd00008033* +- ID_MODEL_FROM_DATABASE=A7V Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V Mainboard) + + pci:v00001106d00000305sv00001043sd0000803E* +- ID_MODEL_FROM_DATABASE=A7V-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V-E Mainboard) + + pci:v00001106d00000305sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V133/A7V133-C Mainboard) + + pci:v00001106d00000305sv0000147Bsd0000A401* +- ID_MODEL_FROM_DATABASE=KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard) + + pci:v00001106d00000308* + ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge + + pci:v00001106d00000308sv00001043sd00008199* +- ID_MODEL_FROM_DATABASE=P4V800D-X Mainboard ++ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (P4V800D-X Mainboard) + + pci:v00001106d00000308sv00001849sd00000308* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (Motherboard) + + pci:v00001106d00000314* + ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge +@@ -29226,7 +29226,7 @@ pci:v00001106d00000364* + ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge + + pci:v00001106d00000364sv00001043sd000081CE* +- ID_MODEL_FROM_DATABASE=P5VD2-VM mothervoard ++ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge (P5VD2-VM mothervoard) + + pci:v00001106d00000391* + ID_MODEL_FROM_DATABASE=VT8371 [KX133] +@@ -29241,7 +29241,7 @@ pci:v00001106d00000415* + ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller + + pci:v00001106d00000415sv00001043sd0000838F* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller (Motherboard) + + pci:v00001106d00000501* + ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] +@@ -29256,55 +29256,55 @@ pci:v00001106d00000571* + ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE + + pci:v00001106d00000571sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (P6VXA Motherboard) + + pci:v00001106d00000571sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00000571sv00001043sd00008052* +- ID_MODEL_FROM_DATABASE=VT8233A Bus Master ATA100/66/33 IDE ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT8233A Bus Master ATA100/66/33 IDE) + + pci:v00001106d00000571sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V8X / A7V333 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X / A7V333 motherboard) + + pci:v00001106d00000571sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev. 1.01 ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X-X motherboard rev. 1.01) + + pci:v00001106d00000571sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00000571sv00001106sd00000571* +- ID_MODEL_FROM_DATABASE=VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE) + + pci:v00001106d00000571sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (Magnia Z310) + + pci:v00001106d00000571sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (FX41 motherboard) + + pci:v00001106d00000571sv00001458sd00005002* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (GA-7VAX Mainboard) + + pci:v00001106d00000571sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00000571sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T NEO 2 motherboard) + + pci:v00001106d00000571sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T Neo2-F V2.0) + + pci:v00001106d00000571sv00001462sd00007120* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT4AV motherboard) + + pci:v00001106d00000571sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8MM3-V mainboard) + + pci:v00001106d00000571sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KV8-MAX3 motherboard) + + pci:v00001106d00000571sv00001849sd00000571* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K7VT series Motherboards) + + pci:v00001106d00000576* + ID_MODEL_FROM_DATABASE=VT82C576 3V [Apollo Master] +@@ -29313,7 +29313,7 @@ pci:v00001106d00000581* + ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller + + pci:v00001106d00000581sv00001106sd00000581* +- ID_MODEL_FROM_DATABASE=Wrong IDE ID ++ ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller (Wrong IDE ID) + + pci:v00001106d00000585* + ID_MODEL_FROM_DATABASE=VT82C585VP [Apollo VP1/VPX] +@@ -29322,7 +29322,7 @@ pci:v00001106d00000586* + ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] + + pci:v00001106d00000586sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=MVP3 ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] (MVP3 ISA Bridge) + + pci:v00001106d00000591* + ID_MODEL_FROM_DATABASE=VT8237A SATA 2-Port Controller +@@ -29334,10 +29334,10 @@ pci:v00001106d00000596* + ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] + + pci:v00001106d00000596sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) + + pci:v00001106d00000596sv00001458sd00000596* +- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) + + pci:v00001106d00000597* + ID_MODEL_FROM_DATABASE=VT82C597 [Apollo VP3] +@@ -29352,10 +29352,10 @@ pci:v00001106d00000605* + ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] + + pci:v00001106d00000605sv0000103Csd00001254* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00001106d00000605sv00001043sd0000802C* +- ID_MODEL_FROM_DATABASE=CUV4X mainboard ++ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (CUV4X mainboard) + + pci:v00001106d00000680* + ID_MODEL_FROM_DATABASE=VT82C680 [Apollo P6] +@@ -29364,49 +29364,49 @@ pci:v00001106d00000686* + ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] + + pci:v00001106d00000686sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (P6VXA Motherboard) + + pci:v00001106d00000686sv0000103Csd00001256* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00001106d00000686sv00001043sd0000802C* +- ID_MODEL_FROM_DATABASE=CUV4X mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (CUV4X mainboard) + + pci:v00001106d00000686sv00001043sd00008033* +- ID_MODEL_FROM_DATABASE=A7V Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V Mainboard) + + pci:v00001106d00000686sv00001043sd0000803E* +- ID_MODEL_FROM_DATABASE=A7V-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V-E Mainboard) + + pci:v00001106d00000686sv00001043sd00008040* +- ID_MODEL_FROM_DATABASE=A7M266 Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7M266 Mainboard) + + pci:v00001106d00000686sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V133/A7V133-C Mainboard) + + pci:v00001106d00000686sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) + + pci:v00001106d00000686sv00001106sd00000686* +- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) + + pci:v00001106d00000686sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (Magnia Z310) + + pci:v00001106d00000686sv0000147Bsd0000A702* +- ID_MODEL_FROM_DATABASE=KG7-Lite Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (KG7-Lite Mainboard) + + pci:v00001106d00000691* + ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] + + pci:v00001106d00000691sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (P6VXA Motherboard) + + pci:v00001106d00000691sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (Magnia Z310) + + pci:v00001106d00000691sv00001458sd00000691* +- ID_MODEL_FROM_DATABASE=VT82C691 Apollo Pro System Controller ++ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (VT82C691 Apollo Pro System Controller) + + pci:v00001106d00000693* + ID_MODEL_FROM_DATABASE=VT82C693 [Apollo Pro Plus] +@@ -29586,61 +29586,61 @@ pci:v00001106d00003038* + ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller + + pci:v00001106d00003038sv00000925sd00001234* +- ID_MODEL_FROM_DATABASE=VA-502 Mainboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VA-502 Mainboard) + + pci:v00001106d00003038sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (P6VXA Motherboard) + + pci:v00001106d00003038sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003038sv00001043sd00008080* +- ID_MODEL_FROM_DATABASE=A7V333 motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V333 motherboard) + + pci:v00001106d00003038sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=VT6202 USB2.0 4 port controller ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VT6202 USB2.0 4 port controller) + + pci:v00001106d00003038sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V8X-X motherboard) + + pci:v00001106d00003038sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003038sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (Magnia Z310) + + pci:v00001106d00003038sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (GA-7VAX Mainboard) + + pci:v00001106d00003038sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003038sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T NEO 2 motherboard) + + pci:v00001106d00003038sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T Neo2-F V2.0) + + pci:v00001106d00003038sv00001462sd00007120* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT4AV motherboard) + + pci:v00001106d00003038sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8MM3-V mainboard) + + pci:v00001106d00003038sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KV8-MAX3 motherboard) + + pci:v00001106d00003038sv0000182Dsd0000201D* +- ID_MODEL_FROM_DATABASE=CN-029 USB2.0 4 port PCI Card ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (CN-029 USB2.0 4 port PCI Card) + + pci:v00001106d00003038sv00001849sd00003038* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K7VT series Motherboards) + + pci:v00001106d00003038sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (ZBOX nano VD01) + + pci:v00001106d00003038sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (QEMU Virtual Machine) + + pci:v00001106d00003040* + ID_MODEL_FROM_DATABASE=VT82C586B ACPI +@@ -29649,52 +29649,52 @@ pci:v00001106d00003043* + ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] + + pci:v00001106d00003043sv000010BDsd00000000* +- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) + + pci:v00001106d00003043sv00001106sd00000100* +- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) + + pci:v00001106d00003043sv00001186sd00001400* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev A ++ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (DFE-530TX rev A) + + pci:v00001106d00003044* + ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller + + pci:v00001106d00003044sv00000010sd00000001* +- ID_MODEL_FROM_DATABASE=IEEE 1394 4port DCST 1394-3+1B ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (IEEE 1394 4port DCST 1394-3+1B) + + pci:v00001106d00003044sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (TravelMate 290) + + pci:v00001106d00003044sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Pavilion t3030.de Desktop PC) + + pci:v00001106d00003044sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Media Center PC m7590n ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Media Center PC m7590n) + + pci:v00001106d00003044sv00001043sd0000808A* +- ID_MODEL_FROM_DATABASE=A8V/A8N/P4P800 series motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (A8V/A8N/P4P800 series motherboard) + + pci:v00001106d00003044sv00001043sd000081FE* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Motherboard) + + pci:v00001106d00003044sv00001458sd00001000* +- ID_MODEL_FROM_DATABASE=GA-7VT600-1394 Motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (GA-7VT600-1394 Motherboard) + + pci:v00001106d00003044sv00001462sd0000207D* +- ID_MODEL_FROM_DATABASE=K8NGM2 series motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8NGM2 series motherboard) + + pci:v00001106d00003044sv00001462sd0000217D* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Aspire L250) + + pci:v00001106d00003044sv00001462sd0000590D* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003044sv00001462sd0000702D* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8T NEO 2 motherboard) + + pci:v00001106d00003044sv00001462sd0000971D* +- ID_MODEL_FROM_DATABASE=MS-6917 ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (MS-6917) + + pci:v00001106d00003050* + ID_MODEL_FROM_DATABASE=VT82C596 Power Management +@@ -29709,205 +29709,205 @@ pci:v00001106d00003057* + ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] + + pci:v00001106d00003057sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (P6VXA Motherboard) + + pci:v00001106d00003057sv00001019sd00000987* +- ID_MODEL_FROM_DATABASE=K7VZA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (K7VZA Motherboard) + + pci:v00001106d00003057sv00001043sd00008033* +- ID_MODEL_FROM_DATABASE=A7V Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V Mainboard) + + pci:v00001106d00003057sv00001043sd0000803E* +- ID_MODEL_FROM_DATABASE=A7V-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V-E Mainboard) + + pci:v00001106d00003057sv00001043sd00008040* +- ID_MODEL_FROM_DATABASE=A7M266 Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7M266 Mainboard) + + pci:v00001106d00003057sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V133/A7V133-C Mainboard) + + pci:v00001106d00003057sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (Magnia Z310) + + pci:v00001106d00003058* + ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller + + pci:v00001106d00003058sv00000E11sd00000097* +- ID_MODEL_FROM_DATABASE=SoundMax Digital Integrated Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (SoundMax Digital Integrated Audio) + + pci:v00001106d00003058sv00000E11sd0000B194* +- ID_MODEL_FROM_DATABASE=Soundmax integrated digital audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Soundmax integrated digital audio) + + pci:v00001106d00003058sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (P6VXA Motherboard) + + pci:v00001106d00003058sv00001019sd00000987* +- ID_MODEL_FROM_DATABASE=K7VZA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (K7VZA Motherboard) + + pci:v00001106d00003058sv0000103Csd00001251* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00001106d00003058sv00001043sd00001106* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (A7V133/A7V133-C Mainboard) + + pci:v00001106d00003058sv00001106sd00004511* +- ID_MODEL_FROM_DATABASE=Onboard Audio on EP7KXA ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio on EP7KXA) + + pci:v00001106d00003058sv00001106sd0000AA03* +- ID_MODEL_FROM_DATABASE=VT1612A AC'97 Audio Controller ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (VT1612A AC'97 Audio Controller) + + pci:v00001106d00003058sv000011D4sd00005348* +- ID_MODEL_FROM_DATABASE=AD1881A audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (AD1881A audio) + + pci:v00001106d00003058sv00001458sd00007600* +- ID_MODEL_FROM_DATABASE=Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) + + pci:v00001106d00003058sv00001462sd00003091* +- ID_MODEL_FROM_DATABASE=MS-6309 Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 Onboard Audio) + + pci:v00001106d00003058sv00001462sd00003092* +- ID_MODEL_FROM_DATABASE=MS-6309 v2.x Mainboard (VIA VT1611A codec) ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 v2.x Mainboard (VIA VT1611A codec)) + + pci:v00001106d00003058sv00001462sd00003300* +- ID_MODEL_FROM_DATABASE=MS-6330 Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6330 Onboard Audio) + + pci:v00001106d00003058sv000015DDsd00007609* +- ID_MODEL_FROM_DATABASE=Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) + + pci:v00001106d00003059* + ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller + + pci:v00001106d00003059sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003059sv00001019sd00001877* +- ID_MODEL_FROM_DATABASE=K8M800-M2 (V2.0) onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8M800-M2 (V2.0) onboard audio) + + pci:v00001106d00003059sv00001043sd00008095* +- ID_MODEL_FROM_DATABASE=A7V8X Motherboard (Realtek ALC650 codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X Motherboard (Realtek ALC650 codec)) + + pci:v00001106d00003059sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X-X Motherboard) + + pci:v00001106d00003059sv00001043sd000080B0* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])) + + pci:v00001106d00003059sv00001043sd0000810D* +- ID_MODEL_FROM_DATABASE=Asus P5VD1-X (AD1888 codec [SoundMax]) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Asus P5VD1-X (AD1888 codec [SoundMax])) + + pci:v00001106d00003059sv00001043sd0000812A* +- ID_MODEL_FROM_DATABASE=A8V Deluxe motherboard (Realtek ALC850 codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A8V Deluxe motherboard (Realtek ALC850 codec)) + + pci:v00001106d00003059sv000010ECsd00008168* +- ID_MODEL_FROM_DATABASE=High Definition Audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (High Definition Audio) + + pci:v00001106d00003059sv00001106sd00003059* +- ID_MODEL_FROM_DATABASE=L7VMM2 Motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VMM2 Motherboard) + + pci:v00001106d00003059sv00001106sd00004161* +- ID_MODEL_FROM_DATABASE=K7VT2 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT2 motherboard) + + pci:v00001106d00003059sv00001106sd00004170* +- ID_MODEL_FROM_DATABASE=PCPartner P4M800-8237R Motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (PCPartner P4M800-8237R Motherboard) + + pci:v00001106d00003059sv00001106sd00004552* +- ID_MODEL_FROM_DATABASE=Soyo KT-600 Dragon Plus (Realtek ALC 650) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Soyo KT-600 Dragon Plus (Realtek ALC 650)) + + pci:v00001106d00003059sv00001297sd0000C160* +- ID_MODEL_FROM_DATABASE=FX41 motherboard (Realtek ALC650 codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (FX41 motherboard (Realtek ALC650 codec)) + + pci:v00001106d00003059sv00001413sd0000147B* +- ID_MODEL_FROM_DATABASE=KV8 Pro motherboard onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8 Pro motherboard onboard audio) + + pci:v00001106d00003059sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-7VAX Onboard Audio (Realtek ALC650) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (GA-7VAX Onboard Audio (Realtek ALC650)) + + pci:v00001106d00003059sv00001462sd00000080* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8T NEO 2 motherboard) + + pci:v00001106d00003059sv00001462sd00003800* +- ID_MODEL_FROM_DATABASE=KT266 onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT266 onboard audio) + + pci:v00001106d00003059sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003059sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8MM3-V mainboard) + + pci:v00001106d00003059sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8-MAX3 motherboard) + + pci:v00001106d00003059sv00001695sd0000300C* +- ID_MODEL_FROM_DATABASE=EP-8KRA2+ Mainboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (EP-8KRA2+ Mainboard) + + pci:v00001106d00003059sv00001849sd00000850* +- ID_MODEL_FROM_DATABASE=ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)) + + pci:v00001106d00003059sv00001849sd00009739* +- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard (C-Media CMI9739A codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (P4VT8 Mainboard (C-Media CMI9739A codec)) + + pci:v00001106d00003059sv00001849sd00009761* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT series Motherboards) + + pci:v00001106d00003059sv00004005sd00004710* +- ID_MODEL_FROM_DATABASE=MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)) + + pci:v00001106d00003059sv0000A0A0sd000001B6* +- ID_MODEL_FROM_DATABASE=AK77-8XN onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK77-8XN onboard audio) + + pci:v00001106d00003059sv0000A0A0sd00000342* +- ID_MODEL_FROM_DATABASE=AK86-L motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK86-L motherboard) + + pci:v00001106d00003065* + ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] + + pci:v00001106d00003065sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V8X-X Motherboard) + + pci:v00001106d00003065sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600-X Motherboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V600-X Motherboard) + + pci:v00001106d00003065sv00001106sd00000102* +- ID_MODEL_FROM_DATABASE=VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6102 [Rhine II] Embeded Ethernet Controller on VT8235) + + pci:v00001106d00003065sv00001186sd00001400* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev A ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev A) + + pci:v00001106d00003065sv00001186sd00001401* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev B ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev B) + + pci:v00001106d00003065sv000013B9sd00001421* +- ID_MODEL_FROM_DATABASE=LD-10/100AL PCI Fast Ethernet Adapter (rev.B) ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (LD-10/100AL PCI Fast Ethernet Adapter (rev.B)) + + pci:v00001106d00003065sv00001462sd00007061* +- ID_MODEL_FROM_DATABASE=MS-7061 ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (MS-7061) + + pci:v00001106d00003065sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K8MM3-V mainboard) + + pci:v00001106d00003065sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (NV7 Motherboard) + + pci:v00001106d00003065sv00001695sd00003005* +- ID_MODEL_FROM_DATABASE=VT6103 ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6103) + + pci:v00001106d00003065sv00001695sd0000300C* +- ID_MODEL_FROM_DATABASE=Realtek ALC655 sound chip ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (Realtek ALC655 sound chip) + + pci:v00001106d00003065sv00001849sd00003065* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K7VT series Motherboards) + + pci:v00001106d00003068* + ID_MODEL_FROM_DATABASE=AC'97 Modem Controller + + pci:v00001106d00003068sv00001462sd0000309E* +- ID_MODEL_FROM_DATABASE=MS-6309 Saturn Motherboard ++ ID_MODEL_FROM_DATABASE=AC'97 Modem Controller (MS-6309 Saturn Motherboard) + + pci:v00001106d00003074* + ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge + + pci:v00001106d00003074sv00001043sd00008052* +- ID_MODEL_FROM_DATABASE=VT8233A ++ ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge (VT8233A) + + pci:v00001106d00003091* + ID_MODEL_FROM_DATABASE=VT8633 [Apollo Pro266] +@@ -29916,13 +29916,13 @@ pci:v00001106d00003099* + ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] + + pci:v00001106d00003099sv00001043sd00008064* +- ID_MODEL_FROM_DATABASE=A7V266-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V266-E Mainboard) + + pci:v00001106d00003099sv00001043sd0000807F* +- ID_MODEL_FROM_DATABASE=A7V333 Mainboard ++ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V333 Mainboard) + + pci:v00001106d00003099sv00001849sd00003099* +- ID_MODEL_FROM_DATABASE=K7VT2 motherboard ++ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (K7VT2 motherboard) + + pci:v00001106d00003101* + ID_MODEL_FROM_DATABASE=VT8653 Host Bridge +@@ -29937,70 +29937,70 @@ pci:v00001106d00003104* + ID_MODEL_FROM_DATABASE=USB 2.0 + + pci:v00001106d00003104sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=USB 2.0 (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003104sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X motherboard) + + pci:v00001106d00003104sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev 1.01 ++ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X-X motherboard rev 1.01) + + pci:v00001106d00003104sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003104sv00001106sd00003104* +- ID_MODEL_FROM_DATABASE=USB 2.0 Controller ++ ID_MODEL_FROM_DATABASE=USB 2.0 (Controller) + + pci:v00001106d00003104sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (FX41 motherboard) + + pci:v00001106d00003104sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (GA-7VAX Mainboard) + + pci:v00001106d00003104sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=USB 2.0 (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003104sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T NEO 2 motherboard) + + pci:v00001106d00003104sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T Neo2-F V2.0) + + pci:v00001106d00003104sv00001462sd00007120* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (KT4AV motherboard) + + pci:v00001106d00003104sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K8MM3-V mainboard) + + pci:v00001106d00003104sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (KV8-MAX3 motherboard) + + pci:v00001106d00003104sv0000182Dsd0000201D* +- ID_MODEL_FROM_DATABASE=CN-029 USB 2.0 4 port PCI Card ++ ID_MODEL_FROM_DATABASE=USB 2.0 (CN-029 USB 2.0 4 port PCI Card) + + pci:v00001106d00003104sv00001849sd00003104* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K7VT series Motherboards) + + pci:v00001106d00003104sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=USB 2.0 (ZBOX nano VD01) + + pci:v00001106d00003106* + ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] + + pci:v00001106d00003106sv00001106sd00000105* +- ID_MODEL_FROM_DATABASE=VT6106S [Rhine-III] ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (VT6106S [Rhine-III]) + + pci:v00001106d00003106sv00001186sd00001403* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev C ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX rev C) + + pci:v00001106d00003106sv00001186sd00001405* +- ID_MODEL_FROM_DATABASE=DFE-520TX Fast Ethernet PCI Adapter ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-520TX Fast Ethernet PCI Adapter) + + pci:v00001106d00003106sv00001186sd00001406* +- ID_MODEL_FROM_DATABASE=DFE-530TX+ rev F2 ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX+ rev F2) + + pci:v00001106d00003106sv00001186sd00001407* +- ID_MODEL_FROM_DATABASE=DFE-538TX ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-538TX) + + pci:v00001106d00003108* + ID_MODEL_FROM_DATABASE=K8M800/K8N800/K8N800A [S3 UniChrome Pro] +@@ -30018,7 +30018,7 @@ pci:v00001106d00003116* + ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge + + pci:v00001106d00003116sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge (FX41 motherboard) + + pci:v00001106d00003118* + ID_MODEL_FROM_DATABASE=CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] +@@ -30045,7 +30045,7 @@ pci:v00001106d00003147* + ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge + + pci:v00001106d00003147sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V333 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge (A7V333 motherboard) + + pci:v00001106d00003148* + ID_MODEL_FROM_DATABASE=P4M266 Host Bridge +@@ -30054,34 +30054,34 @@ pci:v00001106d00003149* + ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller + + pci:v00001106d00003149sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003149sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-7VM400AM(F) Motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (GA-7VM400AM(F) Motherboard) + + pci:v00001106d00003149sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003149sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T Neo 2 Motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo 2 Motherboard) + + pci:v00001106d00003149sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo2-F V2.0) + + pci:v00001106d00003149sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8MM3-V mainboard) + + pci:v00001106d00003149sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV8-MAX3 motherboard) + + pci:v00001106d00003149sv0000147Bsd00001408* +- ID_MODEL_FROM_DATABASE=KV7 ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV7) + + pci:v00001106d00003149sv00001849sd00003149* +- ID_MODEL_FROM_DATABASE=K7VT6 motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K7VT6 motherboard) + + pci:v00001106d00003149sv0000A0A0sd000004AD* +- ID_MODEL_FROM_DATABASE=AK86-L motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (AK86-L motherboard) + + pci:v00001106d00003156* + ID_MODEL_FROM_DATABASE=P/KN266 Host Bridge +@@ -30093,40 +30093,40 @@ pci:v00001106d00003164* + ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller + + pci:v00001106d00003164sv00001043sd000080F4* +- ID_MODEL_FROM_DATABASE=P4P800 Mainboard Deluxe ATX ++ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (P4P800 Mainboard Deluxe ATX) + + pci:v00001106d00003164sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (915P/G Neo2) + + pci:v00001106d00003168* + ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge + + pci:v00001106d00003168sv00001849sd00003168* +- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard ++ ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge (P4VT8 Mainboard) + + pci:v00001106d00003177* + ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge + + pci:v00001106d00003177sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003177sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X motherboard) + + pci:v00001106d00003177sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X-X motherboard) + + pci:v00001106d00003177sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (KT4AV motherboard) + + pci:v00001106d00003177sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (FX41 motherboard) + + pci:v00001106d00003177sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (GA-7VAX Mainboard) + + pci:v00001106d00003177sv00001849sd00003177* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (K7VT series Motherboards) + + pci:v00001106d00003178* + ID_MODEL_FROM_DATABASE=ProSavageDDR P4N333 Host Bridge +@@ -30135,25 +30135,25 @@ pci:v00001106d00003188* + ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge + + pci:v00001106d00003188sv00001043sd000080A3* +- ID_MODEL_FROM_DATABASE=K8V Deluxe/K8V-X motherboard ++ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (K8V Deluxe/K8V-X motherboard) + + pci:v00001106d00003188sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (KV8-MAX3 motherboard) + + pci:v00001106d00003189* + ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge + + pci:v00001106d00003189sv00001043sd0000807F* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (A7V8X motherboard) + + pci:v00001106d00003189sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard (KT400A) ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (KT4AV motherboard (KT400A)) + + pci:v00001106d00003189sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (GA-7VAX Mainboard) + + pci:v00001106d00003189sv00001849sd00003189* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (K7VT series Motherboards) + + pci:v00001106d00003204* + ID_MODEL_FROM_DATABASE=K8M800 Host Bridge +@@ -30162,7 +30162,7 @@ pci:v00001106d00003205* + ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge + + pci:v00001106d00003205sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-7VM400M Motherboard ++ ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge (GA-7VM400M Motherboard) + + pci:v00001106d00003208* + ID_MODEL_FROM_DATABASE=PT890 Host Bridge +@@ -30177,19 +30177,19 @@ pci:v00001106d00003227* + ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] + + pci:v00001106d00003227sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003227sv00001106sd00003227* +- ID_MODEL_FROM_DATABASE=DFI KT600-AL / Soltek SL-B9D-FGR Motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (DFI KT600-AL / Soltek SL-B9D-FGR Motherboard) + + pci:v00001106d00003227sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-7VT600 Motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (GA-7VT600 Motherboard) + + pci:v00001106d00003227sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (KV8-MAX3 motherboard) + + pci:v00001106d00003227sv00001849sd00003227* +- ID_MODEL_FROM_DATABASE=K7VT4 motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (K7VT4 motherboard) + + pci:v00001106d00003230* + ID_MODEL_FROM_DATABASE=K8M890CE/K8N890CE [Chrome 9] +@@ -30237,7 +30237,7 @@ pci:v00001106d00003288* + ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller + + pci:v00001106d00003288sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX VD01 ++ ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller (ZBOX VD01) + + pci:v00001106d00003290* + ID_MODEL_FROM_DATABASE=K8M890 Host Bridge +@@ -30294,10 +30294,10 @@ pci:v00001106d00003403* + ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller + + pci:v00001106d00003403sv00001043sd00008374* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (M5A88-V EVO) + + pci:v00001106d00003403sv00001043sd00008384* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (P8P67 Deluxe Motherboard) + + pci:v00001106d00003409* + ID_MODEL_FROM_DATABASE=VX855/VX875 DRAM Bus Control +@@ -30306,7 +30306,7 @@ pci:v00001106d00003410* + ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control + + pci:v00001106d00003410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control (ZBOX nano VD01) + + pci:v00001106d00003432* + ID_MODEL_FROM_DATABASE=VL80x xHCI USB 3.0 Controller +@@ -30378,7 +30378,7 @@ pci:v00001106d00004410* + ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control + + pci:v00001106d00004410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control (ZBOX nano VD01) + + pci:v00001106d00005030* + ID_MODEL_FROM_DATABASE=VT82C596 ACPI [Apollo PRO] +@@ -30456,7 +30456,7 @@ pci:v00001106d00006410* + ID_MODEL_FROM_DATABASE=VX900 Scratch Registers + + pci:v00001106d00006410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 Scratch Registers (ZBOX nano VD01) + + pci:v00001106d00007122* + ID_MODEL_FROM_DATABASE=VX900 Graphics [Chrome9 HD] +@@ -30468,10 +30468,10 @@ pci:v00001106d00007205* + ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] + + pci:v00001106d00007205sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=Gigabyte GA-7VM400(A)M(F) Motherboard ++ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (Gigabyte GA-7VM400(A)M(F) Motherboard) + + pci:v00001106d00007205sv00001462sd00007061* +- ID_MODEL_FROM_DATABASE=MS-7061 ++ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (MS-7061) + + pci:v00001106d00007208* + ID_MODEL_FROM_DATABASE=PT890 Host Bridge +@@ -30534,7 +30534,7 @@ pci:v00001106d00007410* + ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control + + pci:v00001106d00007410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control (ZBOX nano VD01) + + pci:v00001106d00008231* + ID_MODEL_FROM_DATABASE=VT8231 [PCI-to-ISA Bridge] +@@ -30564,7 +30564,7 @@ pci:v00001106d00008410* + ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management + + pci:v00001106d00008410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX VD01 ++ ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management (ZBOX VD01) + + pci:v00001106d00008500* + ID_MODEL_FROM_DATABASE=KLE133/PLE133/PLE133T +@@ -30582,7 +30582,7 @@ pci:v00001106d00008598* + ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] + + pci:v00001106d00008598sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] (P6VXA Motherboard) + + pci:v00001106d00008601* + ID_MODEL_FROM_DATABASE=VT8601 [Apollo ProMedia AGP] +@@ -30669,7 +30669,7 @@ pci:v00001106d0000B188* + ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] + + pci:v00001106d0000B188sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] (KV8-MAX3 motherboard) + + pci:v00001106d0000B198* + ID_MODEL_FROM_DATABASE=VT8237/VX700 PCI Bridge +@@ -30846,7 +30846,7 @@ pci:v0000110Ad00004029sv0000110Asd00004029* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 + + pci:v0000110Ad00004029sv0000110Asd0000C029* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 (SIMATIC NET CP 5614 A2) + + pci:v0000110Ad00004035* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 +@@ -30864,7 +30864,7 @@ pci:v0000110Ad00004069sv0000110Asd00004069* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 + + pci:v0000110Ad00004069sv0000110Asd0000C069* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 (SIMATIC NET CP 5624) + + pci:v0000110Ad0000407C* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 +@@ -30942,25 +30942,25 @@ pci:v00001113d00001211* + ID_MODEL_FROM_DATABASE=SMC2-1211TX + + pci:v00001113d00001211sv0000103Csd00001207* +- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) + + pci:v00001113d00001211sv00001113sd00001211* +- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) + + pci:v00001113d00001216* + ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter + + pci:v00001113d00001216sv00001113sd00001216* +- ID_MODEL_FROM_DATABASE=EN1207F series PCI Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN1207F series PCI Fast Ethernet Adapter) + + pci:v00001113d00001216sv00001113sd00002220* +- ID_MODEL_FROM_DATABASE=EN2220A Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2220A Cardbus Fast Ethernet Adapter) + + pci:v00001113d00001216sv00001113sd00002242* +- ID_MODEL_FROM_DATABASE=EN2242 10/100 Ethernet Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2242 10/100 Ethernet Mini-PCI Card) + + pci:v00001113d00001216sv0000111Asd00001020* +- ID_MODEL_FROM_DATABASE=SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]) + + pci:v00001113d00001217* + ID_MODEL_FROM_DATABASE=EN-1217 Ethernet Adapter +@@ -31272,37 +31272,37 @@ pci:v0000111Ad00000003* + ID_MODEL_FROM_DATABASE=ENI-25P ATM + + pci:v0000111Ad00000003sv0000111Asd00000000* +- ID_MODEL_FROM_DATABASE=ENI-25p Miniport ATM Adapter ++ ID_MODEL_FROM_DATABASE=ENI-25P ATM (ENI-25p Miniport ATM Adapter) + + pci:v0000111Ad00000005* + ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) + + pci:v0000111Ad00000005sv0000111Asd00000001* +- ID_MODEL_FROM_DATABASE=ENI-3010 ATM ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) + + pci:v0000111Ad00000005sv0000111Asd00000009* +- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0)) + + pci:v0000111Ad00000005sv0000111Asd00000101* +- ID_MODEL_FROM_DATABASE=ENI-3010 ATM ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) + + pci:v0000111Ad00000005sv0000111Asd00000109* +- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0)) + + pci:v0000111Ad00000005sv0000111Asd00000809* +- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0 or 8) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0 or 8)) + + pci:v0000111Ad00000005sv0000111Asd00000909* +- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0 or 8) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0 or 8)) + + pci:v0000111Ad00000005sv0000111Asd00000A09* +- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=<0..15>) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=<0..15>)) + + pci:v0000111Ad00000007* + ID_MODEL_FROM_DATABASE=SpeedStream ADSL + + pci:v0000111Ad00000007sv0000111Asd00001001* +- ID_MODEL_FROM_DATABASE=ENI-3061 ADSL [ASIC] ++ ID_MODEL_FROM_DATABASE=SpeedStream ADSL (ENI-3061 ADSL [ASIC]) + + pci:v0000111Ad00001020* + ID_MODEL_FROM_DATABASE=SpeedStream PCI 10/100 Network Card +@@ -31446,7 +31446,7 @@ pci:v0000111Dd0000806A* + ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch + + pci:v0000111Dd0000806Asv000014C1sd0000000C* +- ID_MODEL_FROM_DATABASE=10G-PCIE2-8B2 ++ ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch (10G-PCIE2-8B2) + + pci:v0000111Dd0000806C* + ID_MODEL_FROM_DATABASE=PES16T4A/4T4G2 PCI Express Gen2 Switch +@@ -31515,7 +31515,7 @@ pci:v00001127d00000400* + ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter + + pci:v00001127d00000400sv00001127sd00000400* +- ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM ++ ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter (ForeRunnerHE ATM) + + pci:v00001129* + ID_VENDOR_FROM_DATABASE=Firmworks +@@ -31557,13 +31557,13 @@ pci:v00001131d00001561* + ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller + + pci:v00001131d00001561sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K onboard USB 1.1 host controller ++ ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller (C2K onboard USB 1.1 host controller) + + pci:v00001131d00001562* + ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller + + pci:v00001131d00001562sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K onboard USB 2.0 host controller ++ ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller (C2K onboard USB 2.0 host controller) + + pci:v00001131d00003400* + ID_MODEL_FROM_DATABASE=SmartPCI56(UCB1500) 56K Modem +@@ -31572,49 +31572,49 @@ pci:v00001131d00005400* + ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 + + pci:v00001131d00005400sv000012CAsd00000000* +- ID_MODEL_FROM_DATABASE=BlueICE ++ ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 (BlueICE) + + pci:v00001131d00005402* + ID_MODEL_FROM_DATABASE=TriMedia TM1300 + + pci:v00001131d00005402sv00001244sd00000F00* +- ID_MODEL_FROM_DATABASE=Fritz!Card DSL ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (Fritz!Card DSL) + + pci:v00001131d00005402sv000015EBsd00001300* +- ID_MODEL_FROM_DATABASE=DT1300 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1300) + + pci:v00001131d00005402sv000015EBsd00001302* +- ID_MODEL_FROM_DATABASE=DT1302 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1302) + + pci:v00001131d00005402sv000015EBsd00001304* +- ID_MODEL_FROM_DATABASE=DT1304 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1304) + + pci:v00001131d00005402sv000015EBsd00001305* +- ID_MODEL_FROM_DATABASE=DT1305 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1305) + + pci:v00001131d00005402sv000015EBsd00001306* +- ID_MODEL_FROM_DATABASE=PMCDT1306 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PMCDT1306) + + pci:v00001131d00005402sv000015EBsd00001308* +- ID_MODEL_FROM_DATABASE=DT1308 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1308) + + pci:v00001131d00005402sv000015EBsd00001331* +- ID_MODEL_FROM_DATABASE=DT1301 with SAA7121 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7121) + + pci:v00001131d00005402sv000015EBsd00001337* +- ID_MODEL_FROM_DATABASE=DT1301 with SAA7127 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7127) + + pci:v00001131d00005402sv000015EBsd00002D3D* +- ID_MODEL_FROM_DATABASE=X3D ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (X3D) + + pci:v00001131d00005402sv000015EBsd00007022* +- ID_MODEL_FROM_DATABASE=PTM1300 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PTM1300) + + pci:v00001131d00005405* + ID_MODEL_FROM_DATABASE=TriMedia TM1500 + + pci:v00001131d00005405sv00001136sd00000005* +- ID_MODEL_FROM_DATABASE=LCP-1500 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1500 (LCP-1500) + + pci:v00001131d00005406* + ID_MODEL_FROM_DATABASE=TriMedia TM1700 +@@ -31623,409 +31623,409 @@ pci:v00001131d0000540B* + ID_MODEL_FROM_DATABASE=PNX1005 Media Processor + + pci:v00001131d0000540Bsv00001131sd00000020* +- ID_MODEL_FROM_DATABASE=PNXLite PCI Demo Board ++ ID_MODEL_FROM_DATABASE=PNX1005 Media Processor (PNXLite PCI Demo Board) + + pci:v00001131d00007130* + ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder + + pci:v00001131d00007130sv00000000sd00004016* +- ID_MODEL_FROM_DATABASE=Behold TV 401 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 401) + + pci:v00001131d00007130sv00000000sd00004051* +- ID_MODEL_FROM_DATABASE=Behold TV 405 FM ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 405 FM) + + pci:v00001131d00007130sv00000000sd00005051* +- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) + + pci:v00001131d00007130sv00000000sd0000505B* +- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) + + pci:v00001131d00007130sv0000102Bsd000048D0* +- ID_MODEL_FROM_DATABASE=Matrox CronosPlus ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Matrox CronosPlus) + + pci:v00001131d00007130sv00001048sd0000226B* +- ID_MODEL_FROM_DATABASE=ELSA EX-VISION 300TV ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (ELSA EX-VISION 300TV) + + pci:v00001131d00007130sv0000107Dsd00006655* +- ID_MODEL_FROM_DATABASE=WinFast DTV1000S ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (WinFast DTV1000S) + + pci:v00001131d00007130sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=SAA7130-based TV tuner card ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (SAA7130-based TV tuner card) + + pci:v00001131d00007130sv00001131sd00002001* +- ID_MODEL_FROM_DATABASE=10MOONS PCI TV CAPTURE CARD ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (10MOONS PCI TV CAPTURE CARD) + + pci:v00001131d00007130sv00001131sd00002005* +- ID_MODEL_FROM_DATABASE=Techcom (India) TV Tuner Card (SSD-TV-670) ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Techcom (India) TV Tuner Card (SSD-TV-670)) + + pci:v00001131d00007130sv00001458sd00009006* +- ID_MODEL_FROM_DATABASE=GT-PS700 DVB-S tuner ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (GT-PS700 DVB-S tuner) + + pci:v00001131d00007130sv00001461sd0000050C* +- ID_MODEL_FROM_DATABASE=Nagase Sangyo TransGear 3000TV ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Nagase Sangyo TransGear 3000TV) + + pci:v00001131d00007130sv00001461sd000010FF* +- ID_MODEL_FROM_DATABASE=AVerMedia DVD EZMaker ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AVerMedia DVD EZMaker) + + pci:v00001131d00007130sv00001461sd00002108* +- ID_MODEL_FROM_DATABASE=AverMedia AverTV/305 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV/305) + + pci:v00001131d00007130sv00001461sd00002115* +- ID_MODEL_FROM_DATABASE=AverMedia AverTV Studio 305 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV Studio 305) + + pci:v00001131d00007130sv0000153Bsd00001152* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 200 TV ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Terratec Cinergy 200 TV) + + pci:v00001131d00007130sv0000185Bsd0000C100* +- ID_MODEL_FROM_DATABASE=Compro VideoMate TV PVR/FM ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Compro VideoMate TV PVR/FM) + + pci:v00001131d00007130sv0000185Bsd0000C901* +- ID_MODEL_FROM_DATABASE=Videomate DVB-T200 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Videomate DVB-T200) + + pci:v00001131d00007130sv00005168sd00000138* +- ID_MODEL_FROM_DATABASE=LifeView FlyVIDEO2000 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (LifeView FlyVIDEO2000) + + pci:v00001131d00007130sv00005ACEsd00005010* +- ID_MODEL_FROM_DATABASE=Behold TV 501 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 501) + + pci:v00001131d00007130sv00005ACEsd00005050* +- ID_MODEL_FROM_DATABASE=Behold TV 505 FM ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 FM) + + pci:v00001131d00007133* + ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder + + pci:v00001131d00007133sv00000000sd00004091* +- ID_MODEL_FROM_DATABASE=Beholder BeholdTV 409 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Beholder BeholdTV 409 FM) + + pci:v00001131d00007133sv00000000sd00005071* +- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) + + pci:v00001131d00007133sv00000000sd0000507B* +- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) + + pci:v00001131d00007133sv00000000sd00005201* +- ID_MODEL_FROM_DATABASE=Behold TV Columbus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV Columbus) + + pci:v00001131d00007133sv00000070sd00006701* +- ID_MODEL_FROM_DATABASE=WinTV HVR-1110 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (WinTV HVR-1110) + + pci:v00001131d00007133sv00001019sd00004CB5* +- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)) + + pci:v00001131d00007133sv00001043sd00000210* +- ID_MODEL_FROM_DATABASE=FlyTV mini Asus Digimatrix ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (FlyTV mini Asus Digimatrix) + + pci:v00001131d00007133sv00001043sd00004843* +- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7133 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ASUS TV-FM 7133) + + pci:v00001131d00007133sv00001043sd00004845* +- ID_MODEL_FROM_DATABASE=TV-FM 7135 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV-FM 7135) + + pci:v00001131d00007133sv00001043sd00004862* +- ID_MODEL_FROM_DATABASE=P7131 Dual ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (P7131 Dual) + + pci:v00001131d00007133sv00001043sd00004876* +- ID_MODEL_FROM_DATABASE=My Cinema-P7131 Hybrid ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (My Cinema-P7131 Hybrid) + + pci:v00001131d00007133sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (SAA713x-based TV tuner card) + + pci:v00001131d00007133sv00001131sd00002001* +- ID_MODEL_FROM_DATABASE=Proteus Pro [philips reference design] ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Proteus Pro [philips reference design]) + + pci:v00001131d00007133sv00001131sd00002018* +- ID_MODEL_FROM_DATABASE=Tiger reference design ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Tiger reference design) + + pci:v00001131d00007133sv00001131sd00004EE9* +- ID_MODEL_FROM_DATABASE=MonsterTV Mobile ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (MonsterTV Mobile) + + pci:v00001131d00007133sv00001131sd00007133* +- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 301i ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Pinnacle PCTV 301i) + + pci:v00001131d00007133sv000011BDsd0000002B* +- ID_MODEL_FROM_DATABASE=PCTV Stereo ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV Stereo) + + pci:v00001131d00007133sv000011BDsd0000002E* +- ID_MODEL_FROM_DATABASE=PCTV 110i (saa7133) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV 110i (saa7133)) + + pci:v00001131d00007133sv000012ABsd00000800* +- ID_MODEL_FROM_DATABASE=PURPLE TV ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PURPLE TV) + + pci:v00001131d00007133sv000013C2sd00002804* +- ID_MODEL_FROM_DATABASE=Technotrend Budget T-3000 Hybrid ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Technotrend Budget T-3000 Hybrid) + + pci:v00001131d00007133sv00001421sd00000335* +- ID_MODEL_FROM_DATABASE=Instant TV DVB-T Cardbus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV DVB-T Cardbus) + + pci:v00001131d00007133sv00001421sd00001370* +- ID_MODEL_FROM_DATABASE=Instant TV (saa7135) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV (saa7135)) + + pci:v00001131d00007133sv00001435sd00007330* +- ID_MODEL_FROM_DATABASE=VFG7330 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7330) + + pci:v00001131d00007133sv00001435sd00007350* +- ID_MODEL_FROM_DATABASE=VFG7350 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7350) + + pci:v00001131d00007133sv00001458sd00009001* +- ID_MODEL_FROM_DATABASE=GC-PTV-TAF Hybrid TV card ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GC-PTV-TAF Hybrid TV card) + + pci:v00001131d00007133sv00001458sd00009002* +- ID_MODEL_FROM_DATABASE=GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009003* +- ID_MODEL_FROM_DATABASE=GT-PTV-AF-RH Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-AF-RH Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009004* +- ID_MODEL_FROM_DATABASE=GT-P8000 DVB-T/Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P8000 DVB-T/Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009005* +- ID_MODEL_FROM_DATABASE=GT-P6000 Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P6000 Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009008* +- ID_MODEL_FROM_DATABASE=GT-P5100 Analog TV tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P5100 Analog TV tuner) + + pci:v00001131d00007133sv00001461sd00001044* +- ID_MODEL_FROM_DATABASE=AVerTVHD MCE A180 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTVHD MCE A180) + + pci:v00001131d00007133sv00001461sd00004836* +- ID_MODEL_FROM_DATABASE=M10D Hybrid DVBT ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M10D Hybrid DVBT) + + pci:v00001131d00007133sv00001461sd0000861E* +- ID_MODEL_FROM_DATABASE=M105 PAL/SECAM/NTSC/FM Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M105 PAL/SECAM/NTSC/FM Tuner) + + pci:v00001131d00007133sv00001461sd0000A14B* +- ID_MODEL_FROM_DATABASE=AVerTV Studio 509 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTV Studio 509) + + pci:v00001131d00007133sv00001461sd0000A836* +- ID_MODEL_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M115 DVB-T, PAL/SECAM/NTSC Tuner) + + pci:v00001131d00007133sv00001461sd0000F01D* +- ID_MODEL_FROM_DATABASE=DVB-T Super 007 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (DVB-T Super 007) + + pci:v00001131d00007133sv00001461sd0000F31F* +- ID_MODEL_FROM_DATABASE=Avermedia AVerTV GO 007 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Avermedia AVerTV GO 007 FM) + + pci:v00001131d00007133sv00001461sd0000F936* +- ID_MODEL_FROM_DATABASE=Hybrid+FM PCI (rev A16D) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Hybrid+FM PCI (rev A16D)) + + pci:v00001131d00007133sv00001462sd00006231* +- ID_MODEL_FROM_DATABASE=TV@nywhere Plus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV@nywhere Plus) + + pci:v00001131d00007133sv00001489sd00000214* +- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum FM) + + pci:v00001131d00007133sv000014C0sd00001212* +- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum Mini2 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum Mini2) + + pci:v00001131d00007133sv0000153Bsd00001160* +- ID_MODEL_FROM_DATABASE=Cinergy 250 PCI TV ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Cinergy 250 PCI TV) + + pci:v00001131d00007133sv0000153Bsd00001162* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Terratec Cinergy 400 mobile) + + pci:v00001131d00007133sv000017DEsd00007256* +- ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PlusTV All In One PI610 card) + + pci:v00001131d00007133sv000017DEsd00007350* +- ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 110 Digital / Analog HDTV Tuner) + + pci:v00001131d00007133sv000017DEsd00007352* +- ID_MODEL_FROM_DATABASE=ATSC 115 Digital / Analog HDTV Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 115 Digital / Analog HDTV Tuner) + + pci:v00001131d00007133sv0000185Bsd0000C100* +- ID_MODEL_FROM_DATABASE=VideoMate TV ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate TV) + + pci:v00001131d00007133sv0000185Bsd0000C900* +- ID_MODEL_FROM_DATABASE=VideoMate T750 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate T750) + + pci:v00001131d00007133sv00005168sd00000306* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T DUO ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T DUO) + + pci:v00001131d00007133sv00005168sd00000319* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio) + + pci:v00001131d00007133sv00005168sd00000502* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Duo CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Duo CardBus) + + pci:v00001131d00007133sv00005168sd00000520* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio CardBus) + + pci:v00001131d00007133sv00005168sd00001502* +- ID_MODEL_FROM_DATABASE=LifeView FlyTV CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV CardBus) + + pci:v00001131d00007133sv00005168sd00002502* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T CardBus) + + pci:v00001131d00007133sv00005168sd00002520* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-S Duo CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-S Duo CardBus) + + pci:v00001131d00007133sv00005168sd00003502* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Hybrid CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Hybrid CardBus) + + pci:v00001131d00007133sv00005168sd00003520* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio N CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio N CardBus) + + pci:v00001131d00007133sv00005ACEsd00005030* +- ID_MODEL_FROM_DATABASE=Behold TV 503 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 503 FM) + + pci:v00001131d00007133sv00005ACEsd00005090* +- ID_MODEL_FROM_DATABASE=Behold TV 509 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 509 FM) + + pci:v00001131d00007133sv00005ACEsd00006090* +- ID_MODEL_FROM_DATABASE=Behold TV 609 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) + + pci:v00001131d00007133sv00005ACEsd00006091* +- ID_MODEL_FROM_DATABASE=Behold TV 609 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) + + pci:v00001131d00007133sv00005ACEsd00006092* +- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) + + pci:v00001131d00007133sv00005ACEsd00006093* +- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) + + pci:v00001131d00007133sv00005ACEsd00006190* +- ID_MODEL_FROM_DATABASE=Behold TV M6 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6) + + pci:v00001131d00007133sv00005ACEsd00006191* +- ID_MODEL_FROM_DATABASE=Behold TV M63 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M63) + + pci:v00001131d00007133sv00005ACEsd00006193* +- ID_MODEL_FROM_DATABASE=Behold TV M6 Extra ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6 Extra) + + pci:v00001131d00007133sv00005ACEsd00006290* +- ID_MODEL_FROM_DATABASE=Behold TV H6 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H6) + + pci:v00001131d00007133sv00005ACEsd00007090* +- ID_MODEL_FROM_DATABASE=Behold TV A7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV A7) + + pci:v00001131d00007133sv00005ACEsd00007150* +- ID_MODEL_FROM_DATABASE=Behold TV H75 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) + + pci:v00001131d00007133sv00005ACEsd00007151* +- ID_MODEL_FROM_DATABASE=Behold TV H75 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) + + pci:v00001131d00007133sv00005ACEsd00007190* +- ID_MODEL_FROM_DATABASE=Behold TV H7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) + + pci:v00001131d00007133sv00005ACEsd00007191* +- ID_MODEL_FROM_DATABASE=Behold TV H7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) + + pci:v00001131d00007133sv00005ACEsd00007290* +- ID_MODEL_FROM_DATABASE=Behold TV T7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV T7) + + pci:v00001131d00007133sv00005ACEsd00007591* +- ID_MODEL_FROM_DATABASE=Behold TV X7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) + + pci:v00001131d00007133sv00005ACEsd00007595* +- ID_MODEL_FROM_DATABASE=Behold TV X7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) + + pci:v00001131d00007134* + ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder + + pci:v00001131d00007134sv00000000sd00004036* +- ID_MODEL_FROM_DATABASE=Behold TV 403 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403) + + pci:v00001131d00007134sv00000000sd00004037* +- ID_MODEL_FROM_DATABASE=Behold TV 403 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403 FM) + + pci:v00001131d00007134sv00000000sd00004071* +- ID_MODEL_FROM_DATABASE=Behold TV 407 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 407 FM) + + pci:v00001131d00007134sv00001019sd00004CB4* +- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)) + + pci:v00001131d00007134sv00001043sd00000210* +- ID_MODEL_FROM_DATABASE=Digimatrix TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Digimatrix TV) + + pci:v00001131d00007134sv00001043sd00004840* +- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7134 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ASUS TV-FM 7134) + + pci:v00001131d00007134sv00001043sd00004842* +- ID_MODEL_FROM_DATABASE=TV-FM 7134 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (TV-FM 7134) + + pci:v00001131d00007134sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SAA713x-based TV tuner card) + + pci:v00001131d00007134sv00001131sd00002004* +- ID_MODEL_FROM_DATABASE=EUROPA V3 reference design ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EUROPA V3 reference design) + + pci:v00001131d00007134sv00001131sd00004E85* +- ID_MODEL_FROM_DATABASE=SKNet Monster TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SKNet Monster TV) + + pci:v00001131d00007134sv00001131sd00006752* +- ID_MODEL_FROM_DATABASE=EMPRESS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EMPRESS) + + pci:v00001131d00007134sv000011BDsd0000002B* +- ID_MODEL_FROM_DATABASE=PCTV Stereo ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV Stereo) + + pci:v00001131d00007134sv000011BDsd0000002D* +- ID_MODEL_FROM_DATABASE=PCTV 300i DVB-T + PAL ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV 300i DVB-T + PAL) + + pci:v00001131d00007134sv00001461sd00002C00* +- ID_MODEL_FROM_DATABASE=AverTV Hybrid+FM PCI ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverTV Hybrid+FM PCI) + + pci:v00001131d00007134sv00001461sd00009715* +- ID_MODEL_FROM_DATABASE=AVerTV Studio 307 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Studio 307) + + pci:v00001131d00007134sv00001461sd0000A70A* +- ID_MODEL_FROM_DATABASE=Avermedia AVerTV 307 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Avermedia AVerTV 307) + + pci:v00001131d00007134sv00001461sd0000A70B* +- ID_MODEL_FROM_DATABASE=AverMedia M156 / Medion 2819 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverMedia M156 / Medion 2819) + + pci:v00001131d00007134sv00001461sd0000D6EE* +- ID_MODEL_FROM_DATABASE=Cardbus TV/Radio (E500) ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Cardbus TV/Radio (E500)) + + pci:v00001131d00007134sv00001471sd0000B7E9* +- ID_MODEL_FROM_DATABASE=AVerTV Cardbus plus ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Cardbus plus) + + pci:v00001131d00007134sv0000153Bsd00001142* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 400 TV) + + pci:v00001131d00007134sv0000153Bsd00001143* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV) + + pci:v00001131d00007134sv0000153Bsd00001158* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV MK3 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV MK3) + + pci:v00001131d00007134sv00001540sd00009524* +- ID_MODEL_FROM_DATABASE=ProVideo PV952 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ProVideo PV952) + + pci:v00001131d00007134sv000016BEsd00000003* +- ID_MODEL_FROM_DATABASE=Medion 7134 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Medion 7134) + + pci:v00001131d00007134sv0000185Bsd0000C200* +- ID_MODEL_FROM_DATABASE=Compro VideoMate Gold+ Pal ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Compro VideoMate Gold+ Pal) + + pci:v00001131d00007134sv0000185Bsd0000C900* +- ID_MODEL_FROM_DATABASE=Videomate DVB-T300 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Videomate DVB-T300) + + pci:v00001131d00007134sv00001894sd0000A006* +- ID_MODEL_FROM_DATABASE=KNC One TV-Station DVR ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station DVR) + + pci:v00001131d00007134sv00001894sd0000FE01* +- ID_MODEL_FROM_DATABASE=KNC One TV-Station RDS / Typhoon TV Tuner RDS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station RDS / Typhoon TV Tuner RDS) + + pci:v00001131d00007134sv00005168sd00000138* +- ID_MODEL_FROM_DATABASE=FLY TV PRIME 34FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FLY TV PRIME 34FM) + + pci:v00001131d00007134sv00005168sd00000300* +- ID_MODEL_FROM_DATABASE=FlyDVB-S ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FlyDVB-S) + + pci:v00001131d00007134sv00005ACEsd00005070* +- ID_MODEL_FROM_DATABASE=Behold TV 507 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 507 FM) + + pci:v00001131d00007134sv00005ACEsd00006070* +- ID_MODEL_FROM_DATABASE=Behold TV 607 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) + + pci:v00001131d00007134sv00005ACEsd00006071* +- ID_MODEL_FROM_DATABASE=Behold TV 607 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) + + pci:v00001131d00007134sv00005ACEsd00006072* +- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) + + pci:v00001131d00007134sv00005ACEsd00006073* +- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) + + pci:v00001131d00007145* + ID_MODEL_FROM_DATABASE=SAA7145 +@@ -32034,223 +32034,223 @@ pci:v00001131d00007146* + ID_MODEL_FROM_DATABASE=SAA7146 + + pci:v00001131d00007146sv0000110Asd00000000* +- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) + + pci:v00001131d00007146sv0000110Asd0000FFFF* +- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) + + pci:v00001131d00007146sv00001124sd00002581* +- ID_MODEL_FROM_DATABASE=Leutron Vision PicPort ++ ID_MODEL_FROM_DATABASE=SAA7146 (Leutron Vision PicPort) + + pci:v00001131d00007146sv00001131sd00004F56* +- ID_MODEL_FROM_DATABASE=KNC1 DVB-S Budget ++ ID_MODEL_FROM_DATABASE=SAA7146 (KNC1 DVB-S Budget) + + pci:v00001131d00007146sv00001131sd00004F60* +- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Activy DVB-S Budget Rev AL ++ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu-Siemens Activy DVB-S Budget Rev AL) + + pci:v00001131d00007146sv00001131sd00004F61* +- ID_MODEL_FROM_DATABASE=Activy DVB-S Budget Rev GR ++ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-S Budget Rev GR) + + pci:v00001131d00007146sv00001131sd00005F61* +- ID_MODEL_FROM_DATABASE=Activy DVB-T Budget ++ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-T Budget) + + pci:v00001131d00007146sv0000114Bsd00002003* +- ID_MODEL_FROM_DATABASE=DVRaptor Video Edit/Capture Card ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVRaptor Video Edit/Capture Card) + + pci:v00001131d00007146sv000011BDsd00000006* +- ID_MODEL_FROM_DATABASE=DV500 Overlay ++ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) + + pci:v00001131d00007146sv000011BDsd0000000A* +- ID_MODEL_FROM_DATABASE=DV500 Overlay ++ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) + + pci:v00001131d00007146sv000011BDsd0000000F* +- ID_MODEL_FROM_DATABASE=DV500 Overlay ++ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) + + pci:v00001131d00007146sv000013C2sd00000000* +- ID_MODEL_FROM_DATABASE=Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5) + + pci:v00001131d00007146sv000013C2sd00000001* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) + + pci:v00001131d00007146sv000013C2sd00000002* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv000013C2sd00000003* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv000013C2sd00000004* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv000013C2sd00000006* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) + + pci:v00001131d00007146sv000013C2sd00000008* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB-T ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB-T) + + pci:v00001131d00007146sv000013C2sd0000000A* +- ID_MODEL_FROM_DATABASE=Octal/Technotrend DVB-C for iTV ++ ID_MODEL_FROM_DATABASE=SAA7146 (Octal/Technotrend DVB-C for iTV) + + pci:v00001131d00007146sv000013C2sd0000000E* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.3) + + pci:v00001131d00007146sv000013C2sd00001003* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card) + + pci:v00001131d00007146sv000013C2sd00001004* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card) + + pci:v00001131d00007146sv000013C2sd00001005* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) + + pci:v00001131d00007146sv000013C2sd0000100C* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) + + pci:v00001131d00007146sv000013C2sd0000100F* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) + + pci:v00001131d00007146sv000013C2sd00001010* +- ID_MODEL_FROM_DATABASE=DVB C-1500 ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVB C-1500) + + pci:v00001131d00007146sv000013C2sd00001011* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) + + pci:v00001131d00007146sv000013C2sd00001012* +- ID_MODEL_FROM_DATABASE=DVB T-1500 ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVB T-1500) + + pci:v00001131d00007146sv000013C2sd00001013* +- ID_MODEL_FROM_DATABASE=SATELCO Multimedia DVB ++ ID_MODEL_FROM_DATABASE=SAA7146 (SATELCO Multimedia DVB) + + pci:v00001131d00007146sv000013C2sd00001016* +- ID_MODEL_FROM_DATABASE=WinTV-NOVA-SE DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (WinTV-NOVA-SE DVB card) + + pci:v00001131d00007146sv000013C2sd00001018* +- ID_MODEL_FROM_DATABASE=DVB S-1401 ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVB S-1401) + + pci:v00001131d00007146sv000013C2sd00001019* +- ID_MODEL_FROM_DATABASE=S2-3200 ++ ID_MODEL_FROM_DATABASE=SAA7146 (S2-3200) + + pci:v00001131d00007146sv000013C2sd00001102* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv0000153Bsd00001155* +- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-S ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) + + pci:v00001131d00007146sv0000153Bsd00001156* +- ID_MODEL_FROM_DATABASE=Terratec Cynergy 1200C ++ ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) + + pci:v00001131d00007146sv0000153Bsd00001157* +- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-T ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) + + pci:v00001131d00007146sv00001894sd00000020* +- ID_MODEL_FROM_DATABASE=KNC One DVB-C V1.0 ++ ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) + + pci:v00001131d00007146sv00001894sd00000023* +- ID_MODEL_FROM_DATABASE=TVStation DVB-C plus ++ ID_MODEL_FROM_DATABASE=SAA7146 (TVStation DVB-C plus) + + pci:v00001131d00007160* + ID_MODEL_FROM_DATABASE=SAA7160 + + pci:v00001131d00007160sv00001458sd00009009* +- ID_MODEL_FROM_DATABASE=E8000 DVB-T/Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) + + pci:v00001131d00007162* + ID_MODEL_FROM_DATABASE=SAA7162 + + pci:v00001131d00007162sv000011BDsd00000101* +- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 7010iX TV Card ++ ID_MODEL_FROM_DATABASE=SAA7162 (Pinnacle PCTV 7010iX TV Card) + + pci:v00001131d00007164* + ID_MODEL_FROM_DATABASE=SAA7164 + + pci:v00001131d00007164sv00000070sd00008800* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008810* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008851* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008853* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008880* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008891* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd000088A0* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd000088A1* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008900* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008901* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008940* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 (submodel 89619) ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200 (submodel 89619)) + + pci:v00001131d00007164sv00000070sd00008951* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008953* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008980* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008991* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008993* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd000089A0* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd000089A1* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007231* + ID_MODEL_FROM_DATABASE=SAA7231 + + pci:v00001131d00007231sv00005ACEsd00008000* +- ID_MODEL_FROM_DATABASE=Behold TV H8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) + + pci:v00001131d00007231sv00005ACEsd00008001* +- ID_MODEL_FROM_DATABASE=Behold TV H8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) + + pci:v00001131d00007231sv00005ACEsd00008050* +- ID_MODEL_FROM_DATABASE=Behold TV H85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) + + pci:v00001131d00007231sv00005ACEsd00008051* +- ID_MODEL_FROM_DATABASE=Behold TV H85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) + + pci:v00001131d00007231sv00005ACEsd00008100* +- ID_MODEL_FROM_DATABASE=Behold TV A8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) + + pci:v00001131d00007231sv00005ACEsd00008101* +- ID_MODEL_FROM_DATABASE=Behold TV A8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) + + pci:v00001131d00007231sv00005ACEsd00008150* +- ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) + + pci:v00001131d00007231sv00005ACEsd00008151* +- ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) + + pci:v00001131d00007231sv00005ACEsd00008201* +- ID_MODEL_FROM_DATABASE=Behold TV T8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV T8) + + pci:v00001131d00009730* + ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller + + pci:v00001131d00009730sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=Integrated Multimedia and Peripheral Controller ++ ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller (Integrated Multimedia and Peripheral Controller) + + pci:v00001132* + ID_VENDOR_FROM_DATABASE=Mitel Corp. +@@ -32364,7 +32364,7 @@ pci:v00001133d0000E010* + ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI + + pci:v00001133d0000E010sv0000110Asd00000021* +- ID_MODEL_FROM_DATABASE=Fujitsu Siemens ISDN S0 ++ ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI (Fujitsu Siemens ISDN S0) + + pci:v00001133d0000E011* + ID_MODEL_FROM_DATABASE=Diva Server BRI S/T Rev 2 +@@ -32376,10 +32376,10 @@ pci:v00001133d0000E013* + ID_MODEL_FROM_DATABASE=4BRI + + pci:v00001133d0000E013sv00001133sd00001300* +- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCI v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCI v2) + + pci:v00001133d0000E013sv00001133sd0000E013* +- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCI v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCI v2) + + pci:v00001133d0000E014* + ID_MODEL_FROM_DATABASE=Diva Server PRI-30M PCI +@@ -32394,22 +32394,22 @@ pci:v00001133d0000E017* + ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 + + pci:v00001133d0000E017sv00001133sd0000E017* +- ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI-8M 2.0 PCI ++ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 (Diva Server Voice 4BRI-8M 2.0 PCI) + + pci:v00001133d0000E018* + ID_MODEL_FROM_DATABASE=BRI + + pci:v00001133d0000E018sv00001133sd00001800* +- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCI v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCI v2) + + pci:v00001133d0000E018sv00001133sd0000E018* +- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCI v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCI v2) + + pci:v00001133d0000E019* + ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 + + pci:v00001133d0000E019sv00001133sd0000E019* +- ID_MODEL_FROM_DATABASE=Diva Server Voice PRI 2.0 PCI ++ ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 (Diva Server Voice PRI 2.0 PCI) + + pci:v00001133d0000E01A* + ID_MODEL_FROM_DATABASE=Diva BRI-2FX PCI v2 +@@ -32424,85 +32424,85 @@ pci:v00001133d0000E01C* + ID_MODEL_FROM_DATABASE=PRI + + pci:v00001133d0000E01Csv00001133sd00001C01* +- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-8 PCI v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-8 PCI v3) + + pci:v00001133d0000E01Csv00001133sd00001C02* +- ID_MODEL_FROM_DATABASE=Diva PRI/T1-24 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/T1-24 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C03* +- ID_MODEL_FROM_DATABASE=Diva PRI/E1-30 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1-30 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C04* +- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-CTI PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-CTI PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C05* +- ID_MODEL_FROM_DATABASE=Diva V-PRI/T1-24 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/T1-24 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C06* +- ID_MODEL_FROM_DATABASE=Diva V-PRI/E1-30 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/E1-30 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C07* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1-8 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1-8 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C08* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/T1-24 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/T1-24 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C09* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1-30 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1-30 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C0A* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C0B* +- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/T1-24 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/T1-24 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C0C* +- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/E1-30 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/E1-30 Cornet NQ) + + pci:v00001133d0000E01E* + ID_MODEL_FROM_DATABASE=2PRI + + pci:v00001133d0000E01Esv00001133sd00001E01* +- ID_MODEL_FROM_DATABASE=Diva 2PRI/E1/T1-60 PCI v1 ++ ID_MODEL_FROM_DATABASE=2PRI (Diva 2PRI/E1/T1-60 PCI v1) + + pci:v00001133d0000E01Esv00001133sd0000E01E* +- ID_MODEL_FROM_DATABASE=Diva V-2PRI/E1/T1-60 PCI v1 ++ ID_MODEL_FROM_DATABASE=2PRI (Diva V-2PRI/E1/T1-60 PCI v1) + + pci:v00001133d0000E020* + ID_MODEL_FROM_DATABASE=4PRI + + pci:v00001133d0000E020sv00001133sd00002001* +- ID_MODEL_FROM_DATABASE=Diva 4PRI/E1/T1-120 PCI v1 ++ ID_MODEL_FROM_DATABASE=4PRI (Diva 4PRI/E1/T1-120 PCI v1) + + pci:v00001133d0000E020sv00001133sd0000E020* +- ID_MODEL_FROM_DATABASE=Diva V-4PRI/E1/T1-120 PCI v1 ++ ID_MODEL_FROM_DATABASE=4PRI (Diva V-4PRI/E1/T1-120 PCI v1) + + pci:v00001133d0000E022* + ID_MODEL_FROM_DATABASE=Analog-2 + + pci:v00001133d0000E022sv00001133sd00002200* +- ID_MODEL_FROM_DATABASE=Diva V-Analog-2 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-2 (Diva V-Analog-2 PCI v1) + + pci:v00001133d0000E022sv00001133sd0000E022* +- ID_MODEL_FROM_DATABASE=Diva Analog-2 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-2 (Diva Analog-2 PCI v1) + + pci:v00001133d0000E024* + ID_MODEL_FROM_DATABASE=Analog-4 + + pci:v00001133d0000E024sv00001133sd00002400* +- ID_MODEL_FROM_DATABASE=Diva V-Analog-4 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-4 (Diva V-Analog-4 PCI v1) + + pci:v00001133d0000E024sv00001133sd0000E024* +- ID_MODEL_FROM_DATABASE=Diva Analog-4 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-4 (Diva Analog-4 PCI v1) + + pci:v00001133d0000E028* + ID_MODEL_FROM_DATABASE=Analog-8 + + pci:v00001133d0000E028sv00001133sd00002800* +- ID_MODEL_FROM_DATABASE=Diva V-Analog-8 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-8 (Diva V-Analog-8 PCI v1) + + pci:v00001133d0000E028sv00001133sd0000E028* +- ID_MODEL_FROM_DATABASE=Diva Analog-8 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-8 (Diva Analog-8 PCI v1) + + pci:v00001133d0000E02A* + ID_MODEL_FROM_DATABASE=Diva IPM-300 PCI v1 +@@ -32514,19 +32514,19 @@ pci:v00001133d0000E02E* + ID_MODEL_FROM_DATABASE=4BRI + + pci:v00001133d0000E02Esv00001133sd00002E01* +- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCIe v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCIe v2) + + pci:v00001133d0000E02Esv00001133sd0000E02E* +- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCIe v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCIe v2) + + pci:v00001133d0000E032* + ID_MODEL_FROM_DATABASE=BRI + + pci:v00001133d0000E032sv00001133sd00003201* +- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCIe v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCIe v2) + + pci:v00001133d0000E032sv00001133sd0000E032* +- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCIe v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCIe v2) + + pci:v00001133d0000E034* + ID_MODEL_FROM_DATABASE=Diva BRI-CTI PCI v2 +@@ -32574,88 +32574,88 @@ pci:v00001137d00000042* + ID_MODEL_FROM_DATABASE=VIC Management Controller + + pci:v00001137d00000042sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC P81E PCIe Management Controller) + + pci:v00001137d00000042sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225 PCIe Management Controller) + + pci:v00001137d00000042sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1285 PCIe Management Controller) + + pci:v00001137d00000042sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225T PCIe Management Controller) + + pci:v00001137d00000043* + ID_MODEL_FROM_DATABASE=VIC Ethernet NIC + + pci:v00001137d00000043sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC P81E PCIe Ethernet NIC) + + pci:v00001137d00000043sv00001137sd00000048* +- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC M81KR Mezzanine Ethernet NIC) + + pci:v00001137d00000043sv00001137sd0000004F* +- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1280 Mezzanine Ethernet NIC) + + pci:v00001137d00000043sv00001137sd00000084* +- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1240 MLOM Ethernet NIC) + + pci:v00001137d00000043sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225 PCIe Ethernet NIC) + + pci:v00001137d00000043sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1285 PCIe Ethernet NIC) + + pci:v00001137d00000043sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225T PCIe Ethernet NIC) + + pci:v00001137d00000044* + ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic + + pci:v00001137d00000044sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC P81E PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd00000048* +- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC M81KR Mezzanine Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd0000004F* +- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1280 Mezzanine Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd00000084* +- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1240 MLOM Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225 PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1285 PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225T PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000045* + ID_MODEL_FROM_DATABASE=VIC FCoE HBA + + pci:v00001137d00000045sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC P81E PCIe FCoE HBA) + + pci:v00001137d00000045sv00001137sd00000048* +- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC M81KR Mezzanine FCoE HBA) + + pci:v00001137d00000045sv00001137sd0000004F* +- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1280 Mezzanine FCoE HBA) + + pci:v00001137d00000045sv00001137sd00000084* +- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1240 MLOM FCoE HBA) + + pci:v00001137d00000045sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225 PCIe FCoE HBA) + + pci:v00001137d00000045sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1285 PCIe FCoE HBA) + + pci:v00001137d00000045sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225T PCIe FCoE HBA) + + pci:v00001137d0000004E* + ID_MODEL_FROM_DATABASE=VIC 82 PCIe Upstream Port +@@ -32814,49 +32814,49 @@ pci:v00001148d00004000* + ID_MODEL_FROM_DATABASE=FDDI Adapter + + pci:v00001148d00004000sv00000E11sd0000B03B* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS Fibre SC ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS Fibre SC) + + pci:v00001148d00004000sv00000E11sd0000B03C* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre SC ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre SC) + + pci:v00001148d00004000sv00000E11sd0000B03D* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS UTP ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS UTP) + + pci:v00001148d00004000sv00000E11sd0000B03E* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS UTP ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS UTP) + + pci:v00001148d00004000sv00000E11sd0000B03F* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre MIC ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre MIC) + + pci:v00001148d00004000sv00001148sd00005521* +- ID_MODEL_FROM_DATABASE=FDDI SK-5521 (SK-NET FDDI-UP) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5521 (SK-NET FDDI-UP)) + + pci:v00001148d00004000sv00001148sd00005522* +- ID_MODEL_FROM_DATABASE=FDDI SK-5522 (SK-NET FDDI-UP DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5522 (SK-NET FDDI-UP DAS)) + + pci:v00001148d00004000sv00001148sd00005541* +- ID_MODEL_FROM_DATABASE=FDDI SK-5541 (SK-NET FDDI-FP) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5541 (SK-NET FDDI-FP)) + + pci:v00001148d00004000sv00001148sd00005543* +- ID_MODEL_FROM_DATABASE=FDDI SK-5543 (SK-NET FDDI-LP) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5543 (SK-NET FDDI-LP)) + + pci:v00001148d00004000sv00001148sd00005544* +- ID_MODEL_FROM_DATABASE=FDDI SK-5544 (SK-NET FDDI-LP DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5544 (SK-NET FDDI-LP DAS)) + + pci:v00001148d00004000sv00001148sd00005821* +- ID_MODEL_FROM_DATABASE=FDDI SK-5821 (SK-NET FDDI-UP64) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5821 (SK-NET FDDI-UP64)) + + pci:v00001148d00004000sv00001148sd00005822* +- ID_MODEL_FROM_DATABASE=FDDI SK-5822 (SK-NET FDDI-UP64 DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5822 (SK-NET FDDI-UP64 DAS)) + + pci:v00001148d00004000sv00001148sd00005841* +- ID_MODEL_FROM_DATABASE=FDDI SK-5841 (SK-NET FDDI-FP64) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5841 (SK-NET FDDI-FP64)) + + pci:v00001148d00004000sv00001148sd00005843* +- ID_MODEL_FROM_DATABASE=FDDI SK-5843 (SK-NET FDDI-LP64) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5843 (SK-NET FDDI-LP64)) + + pci:v00001148d00004000sv00001148sd00005844* +- ID_MODEL_FROM_DATABASE=FDDI SK-5844 (SK-NET FDDI-LP64 DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5844 (SK-NET FDDI-LP64 DAS)) + + pci:v00001148d00004200* + ID_MODEL_FROM_DATABASE=Token Ring adapter +@@ -32865,115 +32865,115 @@ pci:v00001148d00004300* + ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + + pci:v00001148d00004300sv00001148sd00009821* +- ID_MODEL_FROM_DATABASE=SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)) + + pci:v00001148d00004300sv00001148sd00009822* +- ID_MODEL_FROM_DATABASE=SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)) + + pci:v00001148d00004300sv00001148sd00009841* +- ID_MODEL_FROM_DATABASE=SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)) + + pci:v00001148d00004300sv00001148sd00009842* +- ID_MODEL_FROM_DATABASE=SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)) + + pci:v00001148d00004300sv00001148sd00009843* +- ID_MODEL_FROM_DATABASE=SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)) + + pci:v00001148d00004300sv00001148sd00009844* +- ID_MODEL_FROM_DATABASE=SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)) + + pci:v00001148d00004300sv00001148sd00009861* +- ID_MODEL_FROM_DATABASE=SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)) + + pci:v00001148d00004300sv00001148sd00009862* +- ID_MODEL_FROM_DATABASE=SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)) + + pci:v00001148d00004300sv00001148sd00009871* +- ID_MODEL_FROM_DATABASE=SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)) + + pci:v00001148d00004300sv00001148sd00009872* + ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + + pci:v00001148d00004300sv00001259sd00002970* +- ID_MODEL_FROM_DATABASE=AT-2970SX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002971* +- ID_MODEL_FROM_DATABASE=AT-2970LX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002972* +- ID_MODEL_FROM_DATABASE=AT-2970TX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002973* +- ID_MODEL_FROM_DATABASE=AT-2971SX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971SX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002974* +- ID_MODEL_FROM_DATABASE=AT-2971T Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971T Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002975* +- ID_MODEL_FROM_DATABASE=AT-2970SX/2SC Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX/2SC Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002976* +- ID_MODEL_FROM_DATABASE=AT-2970LX/2SC Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX/2SC Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002977* +- ID_MODEL_FROM_DATABASE=AT-2970TX/2TX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX/2TX Gigabit Ethernet Adapter) + + pci:v00001148d00004320* + ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC + + pci:v00001148d00004320sv00001148sd00000121* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8001 Adapter) + + pci:v00001148d00004320sv00001148sd00000221* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8002 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8002 Adapter) + + pci:v00001148d00004320sv00001148sd00000321* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8003 Adapter) + + pci:v00001148d00004320sv00001148sd00000421* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8004 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8004 Adapter) + + pci:v00001148d00004320sv00001148sd00000621* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8006 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8006 Adapter) + + pci:v00001148d00004320sv00001148sd00000721* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8007 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8007 Adapter) + + pci:v00001148d00004320sv00001148sd00000821* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8008 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8008 Adapter) + + pci:v00001148d00004320sv00001148sd00000921* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8009 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8009 Adapter) + + pci:v00001148d00004320sv00001148sd00001121* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8011 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8011 Adapter) + + pci:v00001148d00004320sv00001148sd00001221* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8012 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8012 Adapter) + + pci:v00001148d00004320sv00001148sd00003221* +- ID_MODEL_FROM_DATABASE=SK-9521 V2.0 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 V2.0 10/100/1000Base-T Adapter) + + pci:v00001148d00004320sv00001148sd00005021* +- ID_MODEL_FROM_DATABASE=SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter) + + pci:v00001148d00004320sv00001148sd00005041* +- ID_MODEL_FROM_DATABASE=SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter) + + pci:v00001148d00004320sv00001148sd00005043* +- ID_MODEL_FROM_DATABASE=SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter) + + pci:v00001148d00004320sv00001148sd00005051* +- ID_MODEL_FROM_DATABASE=SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter) + + pci:v00001148d00004320sv00001148sd00005061* +- ID_MODEL_FROM_DATABASE=SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter) + + pci:v00001148d00004320sv00001148sd00005071* +- ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter) + + pci:v00001148d00004320sv00001148sd00009521* +- ID_MODEL_FROM_DATABASE=SK-9521 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 10/100/1000Base-T Adapter) + + pci:v00001148d00004400* + ID_MODEL_FROM_DATABASE=SK-9Dxx Gigabit Ethernet Adapter +@@ -32991,25 +32991,25 @@ pci:v00001148d00009E00* + ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 + + pci:v00001148d00009E00sv00001148sd00002100* +- ID_MODEL_FROM_DATABASE=SK-9E21 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21 Server Adapter) + + pci:v00001148d00009E00sv00001148sd000021D0* +- ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21D 10/100/1000Base-T Adapter) + + pci:v00001148d00009E00sv00001148sd00002200* +- ID_MODEL_FROM_DATABASE=SK-9E22 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E22 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00008100* +- ID_MODEL_FROM_DATABASE=SK-9E81 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E81 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00008200* +- ID_MODEL_FROM_DATABASE=SK-9E82 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E82 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00009100* +- ID_MODEL_FROM_DATABASE=SK-9E91 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E91 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00009200* +- ID_MODEL_FROM_DATABASE=SK-9E92 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E92 Server Adapter) + + pci:v00001148d00009E01* + ID_MODEL_FROM_DATABASE=SK-9E21M 10/100/1000Base-T Adapter +@@ -33111,16 +33111,16 @@ pci:v0000114Fd0000001D* + ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI + + pci:v0000114Fd0000001Dsv0000114Fsd00000050* +- ID_MODEL_FROM_DATABASE=DataFire RAS E1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS E1 Adapter) + + pci:v0000114Fd0000001Dsv0000114Fsd00000051* +- ID_MODEL_FROM_DATABASE=DataFire RAS Dual E1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual E1 Adapter) + + pci:v0000114Fd0000001Dsv0000114Fsd00000052* +- ID_MODEL_FROM_DATABASE=DataFire RAS T1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS T1 Adapter) + + pci:v0000114Fd0000001Dsv0000114Fsd00000053* +- ID_MODEL_FROM_DATABASE=DataFire RAS Dual T1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual T1 Adapter) + + pci:v0000114Fd00000023* + ID_MODEL_FROM_DATABASE=AccelePort RAS +@@ -33129,10 +33129,10 @@ pci:v0000114Fd00000024* + ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U + + pci:v0000114Fd00000024sv0000114Fsd00000030* +- ID_MODEL_FROM_DATABASE=DataFire RAS BRI U Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI U Adapter) + + pci:v0000114Fd00000024sv0000114Fsd00000031* +- ID_MODEL_FROM_DATABASE=DataFire RAS BRI S/T Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI S/T Adapter) + + pci:v0000114Fd00000026* + ID_MODEL_FROM_DATABASE=AccelePort 4r 920 +@@ -33156,19 +33156,19 @@ pci:v0000114Fd00000040* + ID_MODEL_FROM_DATABASE=AccelePort Xp + + pci:v0000114Fd00000040sv0000114Fsd00000042* +- ID_MODEL_FROM_DATABASE=AccelePort 2p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 2p PCI) + + pci:v0000114Fd00000040sv0000114Fsd00000043* +- ID_MODEL_FROM_DATABASE=AccelePort 4p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 4p PCI) + + pci:v0000114Fd00000040sv0000114Fsd00000044* +- ID_MODEL_FROM_DATABASE=AccelePort 8p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 8p PCI) + + pci:v0000114Fd00000040sv0000114Fsd00000045* +- ID_MODEL_FROM_DATABASE=AccelePort 16p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 16p PCI) + + pci:v0000114Fd00000040sv0000114Fsd0000004E* +- ID_MODEL_FROM_DATABASE=AccelePort 32p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 32p PCI) + + pci:v0000114Fd00000042* + ID_MODEL_FROM_DATABASE=AccelePort 2p +@@ -33300,22 +33300,22 @@ pci:v0000115Dd00000003* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000003sv00001014sd00000181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv00001014sd00001181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv00001014sd00008181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv00001014sd00009181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv0000115Dsd00000181* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000003sv0000115Dsd00000182* +- ID_MODEL_FROM_DATABASE=RealPort2 CardBus Ethernet 10/100 (R2BE-100) ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (RealPort2 CardBus Ethernet 10/100 (R2BE-100)) + + pci:v0000115Dd00000003sv0000115Dsd00001181* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33324,19 +33324,19 @@ pci:v0000115Dd00000003sv00001179sd00000181* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000003sv00008086sd00008181* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) + + pci:v0000115Dd00000003sv00008086sd00009181* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) + + pci:v0000115Dd00000005* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000005sv00001014sd00000182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000005sv00001014sd00001182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000005sv0000115Dsd00000182* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33348,10 +33348,10 @@ pci:v0000115Dd00000007* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000007sv00001014sd00000182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000007sv00001014sd00001182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000007sv0000115Dsd00000182* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33363,7 +33363,7 @@ pci:v0000115Dd0000000B* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd0000000Bsv00001014sd00000183* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd0000000Bsv0000115Dsd00000183* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33375,7 +33375,7 @@ pci:v0000115Dd0000000F* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd0000000Fsv00001014sd00000183* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd0000000Fsv0000115Dsd00000183* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33387,22 +33387,22 @@ pci:v0000115Dd00000101* + ID_MODEL_FROM_DATABASE=Cardbus 56k modem + + pci:v0000115Dd00000101sv0000115Dsd00001081* +- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus 56k modem (Cardbus 56k Modem) + + pci:v0000115Dd00000103* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem + + pci:v0000115Dd00000103sv00001014sd00009181* +- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus 56k Modem) + + pci:v0000115Dd00000103sv00001115sd00001181* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 100 + 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus Ethernet 100 + 56k Modem) + + pci:v0000115Dd00000103sv0000115Dsd00001181* +- ID_MODEL_FROM_DATABASE=CBEM56G-100 Ethernet + 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (CBEM56G-100 Ethernet + 56k Modem) + + pci:v0000115Dd00000103sv00008086sd00009181* +- ID_MODEL_FROM_DATABASE=PRO/100 LAN + Modem56 CardBus ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (PRO/100 LAN + Modem56 CardBus) + + pci:v0000115E* + ID_VENDOR_FROM_DATABASE=Peer Protocols Inc +@@ -33429,7 +33429,7 @@ pci:v00001163d00002000* + ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 + + pci:v00001163d00002000sv00001092sd00002000* +- ID_MODEL_FROM_DATABASE=Stealth II S220 ++ ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 (Stealth II S220) + + pci:v00001164* + ID_VENDOR_FROM_DATABASE=Advanced Peripherals Technologies +@@ -33510,7 +33510,7 @@ pci:v00001166d00000132* + ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge + + pci:v00001166d00000132sv00001166sd00000132* +- ID_MODEL_FROM_DATABASE=HT2000 PCI-Express bridge ++ ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge (HT2000 PCI-Express bridge) + + pci:v00001166d00000140* + ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge +@@ -33531,13 +33531,13 @@ pci:v00001166d00000201* + ID_MODEL_FROM_DATABASE=CSB5 South Bridge + + pci:v00001166d00000201sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=CSB5 South Bridge (CT8 mainboard) + + pci:v00001166d00000203* + ID_MODEL_FROM_DATABASE=CSB6 South Bridge + + pci:v00001166d00000203sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series ++ ID_MODEL_FROM_DATABASE=CSB6 South Bridge (PRIMERGY RX/TX series) + + pci:v00001166d00000205* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] Legacy South Bridge +@@ -33549,37 +33549,37 @@ pci:v00001166d00000212* + ID_MODEL_FROM_DATABASE=CSB5 IDE Controller + + pci:v00001166d00000212sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1750) + + pci:v00001166d00000212sv00001028sd0000810B* +- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 ++ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1650/2550) + + pci:v00001166d00000212sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (CT8 mainboard) + + pci:v00001166d00000213* + ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller + + pci:v00001166d00000213sv00001028sd00004134* +- ID_MODEL_FROM_DATABASE=PowerEdge 600SC ++ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PowerEdge 600SC) + + pci:v00001166d00000213sv00001028sd0000C134* +- ID_MODEL_FROM_DATABASE=Poweredge SC600 ++ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (Poweredge SC600) + + pci:v00001166d00000213sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard IDE ++ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PRIMERGY RX/TX series onboard IDE) + + pci:v00001166d00000214* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE + + pci:v00001166d00000214sv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 IDE ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE (PowerEdge 2970 HT1000 IDE) + + pci:v00001166d00000217* + ID_MODEL_FROM_DATABASE=CSB6 IDE Controller + + pci:v00001166d00000217sv00001028sd00004134* +- ID_MODEL_FROM_DATABASE=Poweredge SC600 ++ ID_MODEL_FROM_DATABASE=CSB6 IDE Controller (Poweredge SC600) + + pci:v00001166d0000021B* + ID_MODEL_FROM_DATABASE=HT1100 HD Audio +@@ -33588,22 +33588,22 @@ pci:v00001166d00000220* + ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller + + pci:v00001166d00000220sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller (CT8 mainboard) + + pci:v00001166d00000221* + ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller + + pci:v00001166d00000221sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard OHCI ++ ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller (PRIMERGY RX/TX series onboard OHCI) + + pci:v00001166d00000223* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB + + pci:v00001166d00000223sv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 USB Controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge 2970 HT1000 USB Controller) + + pci:v00001166d00000223sv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 USB Controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge T605 HT1000 USB Controller) + + pci:v00001166d00000225* + ID_MODEL_FROM_DATABASE=CSB5 LPC bridge +@@ -33612,22 +33612,22 @@ pci:v00001166d00000227* + ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge + + pci:v00001166d00000227sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series ++ ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge (PRIMERGY RX/TX series) + + pci:v00001166d00000230* + ID_MODEL_FROM_DATABASE=CSB5 LPC bridge + + pci:v00001166d00000230sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=CSB5 LPC bridge (CT8 mainboard) + + pci:v00001166d00000234* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC + + pci:v00001166d00000234sv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 LPC ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge 2970 HT1000 LPC) + + pci:v00001166d00000234sv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 LPC ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge T605 HT1000 LPC) + + pci:v00001166d00000235* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] XIOAPIC0-2 +@@ -33648,13 +33648,13 @@ pci:v00001166d0000024A* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) + + pci:v00001166d0000024Asv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) (PowerEdge T605 onboard SATA Controller) + + pci:v00001166d0000024B* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) + + pci:v00001166d0000024Bsv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 SATA controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) (PowerEdge 2970 HT1000 SATA controller) + + pci:v00001166d00000406* + ID_MODEL_FROM_DATABASE=HT1100 PCI-X Bridge +@@ -33666,7 +33666,7 @@ pci:v00001166d0000040A* + ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge + + pci:v00001166d0000040Asv00001028sd00000223* +- ID_MODEL_FROM_DATABASE=PowerEdge R905 HT1100 ISA-LPC Bridge ++ ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge (PowerEdge R905 HT1100 ISA-LPC Bridge) + + pci:v00001166d00000410* + ID_MODEL_FROM_DATABASE=HT1100 SATA Controller (Native SATA Mode) +@@ -33783,7 +33783,7 @@ pci:v00001179d00000601* + ID_MODEL_FROM_DATABASE=CPU to PCI bridge + + pci:v00001179d00000601sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite Pro ++ ID_MODEL_FROM_DATABASE=CPU to PCI bridge (Satellite Pro) + + pci:v00001179d00000602* + ID_MODEL_FROM_DATABASE=PCI to ISA bridge +@@ -33798,13 +33798,13 @@ pci:v00001179d0000060A* + ID_MODEL_FROM_DATABASE=ToPIC95 + + pci:v00001179d0000060Asv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite Pro ++ ID_MODEL_FROM_DATABASE=ToPIC95 (Satellite Pro) + + pci:v00001179d0000060F* + ID_MODEL_FROM_DATABASE=ToPIC97 + + pci:v00001179d0000060Fsv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite 4010 ++ ID_MODEL_FROM_DATABASE=ToPIC97 (Satellite 4010) + + pci:v00001179d00000617* + ID_MODEL_FROM_DATABASE=ToPIC100 PCI to Cardbus Bridge with ZV Support +@@ -33846,16 +33846,16 @@ pci:v0000117Cd00000030* + ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter + + pci:v0000117Cd00000030sv0000117Csd00008013* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL4D ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4D) + + pci:v0000117Cd00000030sv0000117Csd00008014* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL4S ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4S) + + pci:v0000117Cd00000030sv0000117Csd00008027* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D) + + pci:v0000117Cd00000030sv0000117Csd0000802F* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D Low Profile ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D Low Profile) + + pci:v0000117Cd00000033* + ID_MODEL_FROM_DATABASE=SAS Adapter +@@ -33882,67 +33882,67 @@ pci:v00001180d00000475* + ID_MODEL_FROM_DATABASE=RL5c475 + + pci:v00001180d00000475sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 CardBus bridge ++ ID_MODEL_FROM_DATABASE=RL5c475 (vpr Matrix 170B4 CardBus bridge) + + pci:v00001180d00000476* + ID_MODEL_FROM_DATABASE=RL5c476 II + + pci:v00001180d00000476sv00001014sd00000185* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad A/T/X Series) + + pci:v00001180d00000476sv00001014sd0000056C* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad Z60t) + + pci:v00001180d00000476sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Latitude X300 laptop) + + pci:v00001180d00000476sv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Inspiron 6000 laptop) + + pci:v00001180d00000476sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6710b) + + pci:v00001180d00000476sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6910p) + + pci:v00001180d00000476sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (A6J-Q008) + + pci:v00001180d00000476sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=RL5c476 II (V6800V) + + pci:v00001180d00000476sv00001043sd00001987* +- ID_MODEL_FROM_DATABASE=Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines ) ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )) + + pci:v00001180d00000476sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Vaio PCG-FX403) + + pci:v00001180d00000476sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00001180d00000476sv0000104Dsd0000814E* +- ID_MODEL_FROM_DATABASE=VAIO GRZ390Z ++ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO GRZ390Z) + + pci:v00001180d00000476sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Panasonic CF-Y5 laptop) + + pci:v00001180d00000476sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (X10 Laptop) + + pci:v00001180d00000476sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=RL5c476 II (P30/P35 notebook) + + pci:v00001180d00000476sv000014EFsd00000220* +- ID_MODEL_FROM_DATABASE=PCD-RP-220S ++ ID_MODEL_FROM_DATABASE=RL5c476 II (PCD-RP-220S) + + pci:v00001180d00000476sv000017AAsd0000201C* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad X60/X60s) + + pci:v00001180d00000476sv000017AAsd000020C4* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad T61) + + pci:v00001180d00000476sv000017AAsd000020C6* +- ID_MODEL_FROM_DATABASE=ThinkPad R61 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad R61) + + pci:v00001180d00000477* + ID_MODEL_FROM_DATABASE=RL5c477 +@@ -33951,7 +33951,7 @@ pci:v00001180d00000478* + ID_MODEL_FROM_DATABASE=RL5c478 + + pci:v00001180d00000478sv00001014sd00000184* +- ID_MODEL_FROM_DATABASE=ThinkPad A30p ++ ID_MODEL_FROM_DATABASE=RL5c478 (ThinkPad A30p) + + pci:v00001180d00000511* + ID_MODEL_FROM_DATABASE=R5C511 +@@ -33960,43 +33960,43 @@ pci:v00001180d00000522* + ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller + + pci:v00001180d00000522sv00001014sd000001CF* +- ID_MODEL_FROM_DATABASE=ThinkPad A30p ++ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (ThinkPad A30p) + + pci:v00001180d00000522sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (V6800V) + + pci:v00001180d00000551* + ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller + + pci:v00001180d00000551sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller (vpr Matrix 170B4) + + pci:v00001180d00000552* + ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller + + pci:v00001180d00000552sv00001014sd00000511* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad A/T/X Series) + + pci:v00001180d00000552sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Latitude X300 laptop) + + pci:v00001180d00000552sv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Inspiron 6000 laptop) + + pci:v00001180d00000552sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (A6J-Q008) + + pci:v00001180d00000552sv00001043sd00001757* +- ID_MODEL_FROM_DATABASE=M2400N laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (M2400N laptop) + + pci:v00001180d00000552sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (X10 Laptop) + + pci:v00001180d00000552sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (P30/P35 notebook) + + pci:v00001180d00000552sv000017AAsd0000201E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad X60/X60s) + + pci:v00001180d00000554* + ID_MODEL_FROM_DATABASE=R5C554 +@@ -34011,37 +34011,37 @@ pci:v00001180d00000592* + ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter + + pci:v00001180d00000592sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Aspire 5920G) + + pci:v00001180d00000592sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (XPS M1210) + + pci:v00001180d00000592sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Inspiron 1420) + + pci:v00001180d00000592sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V3242AU) + + pci:v00001180d00000592sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V6133CL) + + pci:v00001180d00000592sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv6700) + + pci:v00001180d00000592sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv9668eg Laptop) + + pci:v00001180d00000592sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (A6J-Q008) + + pci:v00001180d00000592sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (V6800V) + + pci:v00001180d00000592sv0000144Dsd0000C018* +- ID_MODEL_FROM_DATABASE=X20 IV ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (X20 IV) + + pci:v00001180d00000592sv000017AAsd000020CA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (ThinkPad T61) + + pci:v00001180d00000811* + ID_MODEL_FROM_DATABASE=R5C811 +@@ -34050,94 +34050,94 @@ pci:v00001180d00000822* + ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter + + pci:v00001180d00000822sv00001014sd00000556* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s / Z60t ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60s / Z60t) + + pci:v00001180d00000822sv00001014sd00000598* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60m ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad Z60m) + + pci:v00001180d00000822sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Aspire 5920G) + + pci:v00001180d00000822sv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 6000 laptop) + + pci:v00001180d00000822sv00001028sd000001A2* +- ID_MODEL_FROM_DATABASE=Inspiron 9200 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 9200) + + pci:v00001180d00000822sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (XPS M1210) + + pci:v00001180d00000822sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 1420) + + pci:v00001180d00000822sv0000103Csd000003B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V3242AU) + + pci:v00001180d00000822sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V6133CL) + + pci:v00001180d00000822sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Compaq 6910p) + + pci:v00001180d00000822sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv6700) + + pci:v00001180d00000822sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv9668eg Laptop) + + pci:v00001180d00000822sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (A6J-Q008) + + pci:v00001180d00000822sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=ASUS V6800V ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ASUS V6800V) + + pci:v00001180d00000822sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Panasonic CF-Y5 laptop) + + pci:v00001180d00000822sv0000144Dsd0000C018* +- ID_MODEL_FROM_DATABASE=X20 IV ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (X20 IV) + + pci:v00001180d00000822sv000017AAsd0000201D* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60/X60s) + + pci:v00001180d00000822sv000017AAsd000020C7* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad T61) + + pci:v00001180d00000822sv000017AAsd000020C8* +- ID_MODEL_FROM_DATABASE=ThinkPad W500 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad W500) + + pci:v00001180d00000832* + ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller + + pci:v00001180d00000832sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Aspire 5920G) + + pci:v00001180d00000832sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (XPS M1210) + + pci:v00001180d00000832sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Inspiron 1420) + + pci:v00001180d00000832sv00001028sd0000024D* +- ID_MODEL_FROM_DATABASE=Latitude E4300 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Latitude E4300) + + pci:v00001180d00000832sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V3242AU) + + pci:v00001180d00000832sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V6133CL) + + pci:v00001180d00000832sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Compaq 6910p) + + pci:v00001180d00000832sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv6700) + + pci:v00001180d00000832sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv9668eg Laptop) + + pci:v00001180d00000832sv000017AAsd000020C7* +- ID_MODEL_FROM_DATABASE=ThinkPad R61 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (ThinkPad R61) + + pci:v00001180d00000841* + ID_MODEL_FROM_DATABASE=R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 +@@ -34146,58 +34146,58 @@ pci:v00001180d00000843* + ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller + + pci:v00001180d00000843sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Aspire 5920G) + + pci:v00001180d00000843sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (XPS M1210) + + pci:v00001180d00000843sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Inspiron 1420) + + pci:v00001180d00000843sv00001028sd000001F5* +- ID_MODEL_FROM_DATABASE=Dell Inspiron 1501 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Inspiron 1501) + + pci:v00001180d00000843sv00001028sd0000024F* +- ID_MODEL_FROM_DATABASE=Dell Latitude e6500 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Latitude e6500) + + pci:v00001180d00000843sv0000103Csd000003B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V3242AU) + + pci:v00001180d00000843sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V6133CL) + + pci:v00001180d00000843sv00001183sd00000843* +- ID_MODEL_FROM_DATABASE=Alienware Aurora m9700 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Alienware Aurora m9700) + + pci:v00001180d00000852* + ID_MODEL_FROM_DATABASE=xD-Picture Card Controller + + pci:v00001180d00000852sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Aspire 5920G) + + pci:v00001180d00000852sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Inspiron 1420) + + pci:v00001180d00000852sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V3242AU) + + pci:v00001180d00000852sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V6133CL) + + pci:v00001180d00000852sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv6700) + + pci:v00001180d00000852sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv9668eg Laptop) + + pci:v00001180d00000852sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (V6800V) + + pci:v00001180d00000852sv00001180sd00000852* +- ID_MODEL_FROM_DATABASE=Pavilion 2410us ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion 2410us) + + pci:v00001180d00000852sv00001324sd000010CF* +- ID_MODEL_FROM_DATABASE=P7120 ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (P7120) + + pci:v00001180d0000E230* + ID_MODEL_FROM_DATABASE=R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] +@@ -34206,19 +34206,19 @@ pci:v00001180d0000E476* + ID_MODEL_FROM_DATABASE=CardBus bridge + + pci:v00001180d0000E476sv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6410) + + pci:v00001180d0000E476sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6510) + + pci:v00001180d0000E822* + ID_MODEL_FROM_DATABASE=MMC/SD Host Controller + + pci:v00001180d0000E822sv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6410) + + pci:v00001180d0000E822sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6510) + + pci:v00001180d0000E823* + ID_MODEL_FROM_DATABASE=PCIe SDXC/MMC Host Controller +@@ -34227,10 +34227,10 @@ pci:v00001180d0000E832* + ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller + + pci:v00001180d0000E832sv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6410) + + pci:v00001180d0000E832sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6510) + + pci:v00001180d0000E852* + ID_MODEL_FROM_DATABASE=PCIe xD-Picture Card Controller +@@ -34254,10 +34254,10 @@ pci:v00001186d00001002* + ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet + + pci:v00001186d00001002sv00001186sd00001002* +- ID_MODEL_FROM_DATABASE=DFE-550TX/FX ++ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-550TX/FX) + + pci:v00001186d00001002sv00001186sd00001012* +- ID_MODEL_FROM_DATABASE=DFE-580TX ++ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-580TX) + + pci:v00001186d00001025* + ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G650 Adapter +@@ -34272,13 +34272,13 @@ pci:v00001186d00001300* + ID_MODEL_FROM_DATABASE=RTL8139 Ethernet + + pci:v00001186d00001300sv00001186sd00001300* +- ID_MODEL_FROM_DATABASE=DFE-538TX 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-538TX 10/100 Ethernet Adapter) + + pci:v00001186d00001300sv00001186sd00001301* +- ID_MODEL_FROM_DATABASE=DFE-530TX+ 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-530TX+ 10/100 Ethernet Adapter) + + pci:v00001186d00001300sv00001186sd00001303* +- ID_MODEL_FROM_DATABASE=DFE-528TX 10/100 Fast Ethernet PCI Adapter ++ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-528TX 10/100 Fast Ethernet PCI Adapter) + + pci:v00001186d00001340* + ID_MODEL_FROM_DATABASE=DFE-690TXD CardBus PC Card +@@ -34296,10 +34296,10 @@ pci:v00001186d00003300* + ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] + + pci:v00001186d00003300sv00001186sd00003300* +- ID_MODEL_FROM_DATABASE=DWL-610 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-610 Wireless Cardbus Adapter) + + pci:v00001186d00003300sv00001186sd00003301* +- ID_MODEL_FROM_DATABASE=DWL-510 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-510 Wireless PCI Adapter) + + pci:v00001186d00003A10* + ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B) +@@ -34317,7 +34317,7 @@ pci:v00001186d00004300* + ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter + + pci:v00001186d00004300sv00001186sd00004B10* +- ID_MODEL_FROM_DATABASE=DGE-560T PCI Express (x1) Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter (DGE-560T PCI Express (x1) Gigabit Ethernet Adapter) + + pci:v00001186d00004302* + ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169] +@@ -34338,7 +34338,7 @@ pci:v00001186d00004C00* + ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter + + pci:v00001186d00004C00sv00001186sd00004C00* +- ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (DGE-530T Gigabit Ethernet Adapter) + + pci:v00001186d00008400* + ID_MODEL_FROM_DATABASE=D-Link DWL-650+ CardBus PC Card +@@ -34620,7 +34620,7 @@ pci:v000011ABd00001FA6* + ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter + + pci:v000011ABd00001FA6sv00001186sd00003B08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1) ++ ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1)) + + pci:v000011ABd00001FA7* + ID_MODEL_FROM_DATABASE=88W8310 and 88W8000G [Libertas] 802.11g client chipset +@@ -34629,13 +34629,13 @@ pci:v000011ABd00001FAA* + ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless + + pci:v000011ABd00001FAAsv00001385sd00004E00* +- ID_MODEL_FROM_DATABASE=WG511v2 54 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG511v2 54 Mbps Wireless PC Card) + + pci:v000011ABd00001FAAsv00001385sd00006B00* +- ID_MODEL_FROM_DATABASE=WG311v3 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG311v3 802.11g Wireless PCI Adapter) + + pci:v000011ABd00001FAAsv00001737sd00000040* +- ID_MODEL_FROM_DATABASE=WPC54G v5 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WPC54G v5 802.11g Wireless-G Notebook Adapter) + + pci:v000011ABd00002211* + ID_MODEL_FROM_DATABASE=88SB2211 PCI Express to PCI Bridge +@@ -34647,19 +34647,19 @@ pci:v000011ABd00002A02* + ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless + + pci:v000011ABd00002A02sv000007D1sd00003B02* +- ID_MODEL_FROM_DATABASE=DIR-615 rev. A1 Mini PCI Wireless Module ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (DIR-615 rev. A1 Mini PCI Wireless Module) + + pci:v000011ABd00002A02sv00001385sd00007C00* +- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless PC Card) + + pci:v000011ABd00002A02sv00001385sd00007C01* +- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter) + + pci:v000011ABd00002A02sv00001385sd00007E00* +- ID_MODEL_FROM_DATABASE=WN311T RangeMax Next 300 Mbps Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN311T RangeMax Next 300 Mbps Wireless PCI Adapter) + + pci:v000011ABd00002A02sv00001799sd0000801B* +- ID_MODEL_FROM_DATABASE=F5D8011 v2 802.11n N1 Wireless Notebook Card ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (F5D8011 v2 802.11n N1 Wireless Notebook Card) + + pci:v000011ABd00002A08* + ID_MODEL_FROM_DATABASE=88W8362e [TopDog] 802.11a/b/g/n Wireless +@@ -34701,58 +34701,58 @@ pci:v000011ABd00004320* + ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller + + pci:v000011ABd00004320sv00001019sd00000F38* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) + + pci:v000011ABd00004320sv00001019sd00008001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) + + pci:v000011ABd00004320sv00001043sd0000173C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004320sv00001043sd0000811A* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004320sv0000105Bsd00000C19* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Foxconn) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)) + + pci:v000011ABd00004320sv000010B8sd0000B452* +- ID_MODEL_FROM_DATABASE=EZ Card 1000 (SMC9452TXV.2) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (EZ Card 1000 (SMC9452TXV.2)) + + pci:v000011ABd00004320sv000011ABsd00000121* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8001) + + pci:v000011ABd00004320sv000011ABsd00000321* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8003) + + pci:v000011ABd00004320sv000011ABsd00001021* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8010 ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8010) + + pci:v000011ABd00004320sv000011ABsd00004320* +- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)) + + pci:v000011ABd00004320sv000011ABsd00005021* +- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)) + + pci:v000011ABd00004320sv000011ABsd00009521* +- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)) + + pci:v000011ABd00004320sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)) + + pci:v000011ABd00004320sv0000147Bsd00001406* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Abit) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Abit)) + + pci:v000011ABd00004320sv000015D4sd00000047* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Iwill) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Iwill)) + + pci:v000011ABd00004320sv00001695sd00009025* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Epox) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Epox)) + + pci:v000011ABd00004320sv000017F2sd00001C03* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Albatron) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Albatron)) + + pci:v000011ABd00004320sv0000270Fsd00002803* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Chaintech) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)) + + pci:v000011ABd00004340* + ID_MODEL_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller +@@ -34779,115 +34779,115 @@ pci:v000011ABd00004347* + ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller + + pci:v000011ABd00004347sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 PrAMC Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller (Telum ASLP10 PrAMC Gigabit Ethernet) + + pci:v000011ABd00004350* + ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004350sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (Toshiba) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (Toshiba)) + + pci:v000011ABd00004350sv000011ABsd00003521* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8035 ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell RDK-8035) + + pci:v000011ABd00004350sv00001854sd0000000D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000000E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000000F* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000011* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000012* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000016* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000017* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000018* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000019* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000001C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000001E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000020* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351* + ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004351sv0000107Bsd00004009* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Wistron) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Wistron)) + + pci:v000011ABd00004351sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Panasonic) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Panasonic)) + + pci:v000011ABd00004351sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Toshiba) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Toshiba)) + + pci:v000011ABd00004351sv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Compal) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Compal)) + + pci:v000011ABd00004351sv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Inventec) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Inventec)) + + pci:v000011ABd00004351sv000011ABsd00003621* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8036 ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell RDK-8036) + + pci:v000011ABd00004351sv000013D1sd0000AC12* +- ID_MODEL_FROM_DATABASE=Abocom EFE3K - 10/100 Ethernet Expresscard ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Abocom EFE3K - 10/100 Ethernet Expresscard) + + pci:v000011ABd00004351sv0000161Fsd0000203D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Arima) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Arima)) + + pci:v000011ABd00004351sv00001854sd0000000D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000000E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000000F* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000011* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000012* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000016* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000017* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000018* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000019* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000001C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000001E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000020* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004352* + ID_MODEL_FROM_DATABASE=88E8038 PCI-E Fast Ethernet Controller +@@ -34896,19 +34896,19 @@ pci:v000011ABd00004353* + ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004353sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller (VAIO VGN-NR120E) + + pci:v000011ABd00004354* + ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004354sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) + + pci:v000011ABd00004355* + ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller + + pci:v000011ABd00004355sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller (Satellite P305D-S8995E) + + pci:v000011ABd00004356* + ID_MODEL_FROM_DATABASE=88EC033 PCI-E Fast Ethernet Controller +@@ -34923,163 +34923,163 @@ pci:v000011ABd00004360* + ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller + + pci:v000011ABd00004360sv00001043sd00008134* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004360sv0000107Bsd00004009* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Wistron) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Wistron)) + + pci:v000011ABd00004360sv000011ABsd00005221* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8052 ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell RDK-8052) + + pci:v000011ABd00004360sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)) + + pci:v000011ABd00004360sv00001462sd0000052C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (MSI) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (MSI)) + + pci:v000011ABd00004360sv00001849sd00008052* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (ASRock) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (ASRock)) + + pci:v000011ABd00004360sv0000A0A0sd00000509* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Aopen) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Aopen)) + + pci:v000011ABd00004361* + ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller + + pci:v000011ABd00004361sv0000107Bsd00003015* +- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Gateway) ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Gateway)) + + pci:v000011ABd00004361sv000011ABsd00005021* +- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) + + pci:v000011ABd00004361sv00008086sd00003063* +- ID_MODEL_FROM_DATABASE=D925XCVLK mainboard ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (D925XCVLK mainboard) + + pci:v000011ABd00004361sv00008086sd00003439* +- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) + + pci:v000011ABd00004362* + ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller + + pci:v000011ABd00004362sv0000103Csd00002A0D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004362sv00001043sd00008142* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)) + + pci:v000011ABd00004362sv0000109Fsd00003197* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Trigem) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Trigem)) + + pci:v000011ABd00004362sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Panasonic) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)) + + pci:v000011ABd00004362sv000010FDsd0000A430* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (SOYO) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (SOYO)) + + pci:v000011ABd00004362sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Toshiba) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)) + + pci:v000011ABd00004362sv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) + + pci:v000011ABd00004362sv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Inventec) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Inventec)) + + pci:v000011ABd00004362sv000011ABsd00005321* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8053 ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell RDK-8053) + + pci:v000011ABd00004362sv00001297sd0000C240* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C241* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C242* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C243* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C244* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv000013D1sd0000AC11* +- ID_MODEL_FROM_DATABASE=EGE5K - Giga Ethernet Expresscard ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (EGE5K - Giga Ethernet Expresscard) + + pci:v000011ABd00004362sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)) + + pci:v000011ABd00004362sv00001462sd0000058C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (MSI) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (MSI)) + + pci:v000011ABd00004362sv000014C0sd00000012* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) + + pci:v000011ABd00004362sv00001558sd000004A0* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Clevo) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Clevo)) + + pci:v000011ABd00004362sv000015BDsd00001003* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (DFI) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (DFI)) + + pci:v000011ABd00004362sv0000161Fsd0000203C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) + + pci:v000011ABd00004362sv0000161Fsd0000203D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) + + pci:v000011ABd00004362sv00001695sd00009029* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Epox) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Epox)) + + pci:v000011ABd00004362sv000017F2sd00002C08* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Albatron) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Albatron)) + + pci:v000011ABd00004362sv000017FFsd00000585* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Quanta) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Quanta)) + + pci:v000011ABd00004362sv00001849sd00008053* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (ASRock) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (ASRock)) + + pci:v000011ABd00004362sv00001854sd0000000B* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000000C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000010* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000013* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000014* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000015* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001A* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001B* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001F* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000021* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000022* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv0000270Fsd00002801* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Chaintech) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)) + + pci:v000011ABd00004362sv0000A0A0sd00000506* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Aopen) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Aopen)) + + pci:v000011ABd00004363* + ID_MODEL_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller +@@ -35088,10 +35088,10 @@ pci:v000011ABd00004364* + ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller + + pci:v000011ABd00004364sv00001043sd000081F8* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (Motherboard) + + pci:v000011ABd00004364sv000011BAsd000000BA* +- ID_MODEL_FROM_DATABASE=8056 Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (8056 Gigabit Ethernet Controller) + + pci:v000011ABd00004365* + ID_MODEL_FROM_DATABASE=88E8070 based Ethernet Controller +@@ -35112,7 +35112,7 @@ pci:v000011ABd0000436A* + ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller + + pci:v000011ABd0000436Asv000011ABsd000000BA* +- ID_MODEL_FROM_DATABASE=Imac 8,1 Wired Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller (Imac 8,1 Wired Ethernet Adapter) + + pci:v000011ABd0000436B* + ID_MODEL_FROM_DATABASE=88E8071 PCI-E Gigabit Ethernet Controller +@@ -35178,7 +35178,7 @@ pci:v000011ABd00006101* + ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface + + pci:v000011ABd00006101sv00001043sd000082E0* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface (P5K PRO Motherboard) + + pci:v000011ABd00006111* + ID_MODEL_FROM_DATABASE=88SE6111 1-port PATA133(IDE) and 1-port SATA II Controllers +@@ -35217,7 +35217,7 @@ pci:v000011ABd00006480* + ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller + + pci:v000011ABd00006480sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K CompactPCI single board computer ++ ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller (C2K CompactPCI single board computer) + + pci:v000011ABd00006485* + ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller, Revision B +@@ -35226,7 +35226,7 @@ pci:v000011ABd00007042* + ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II + + pci:v000011ABd00007042sv000016B8sd0000434B* +- ID_MODEL_FROM_DATABASE=Tempo SATA E4P ++ ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II (Tempo SATA E4P) + + pci:v000011ABd00007810* + ID_MODEL_FROM_DATABASE=MV78100 [Discovery Innovation] ARM SoC +@@ -35259,19 +35259,19 @@ pci:v000011ADd00000002sv000011ADsd0000FFFF* + ID_MODEL_FROM_DATABASE=LNE100TX + + pci:v000011ADd00000002sv00001385sd0000F004* +- ID_MODEL_FROM_DATABASE=FA310TX ++ ID_MODEL_FROM_DATABASE=LNE100TX (FA310TX) + + pci:v000011ADd00000002sv00002646sd0000F002* +- ID_MODEL_FROM_DATABASE=KNE110TX EtheRx Fast Ethernet ++ ID_MODEL_FROM_DATABASE=LNE100TX (KNE110TX EtheRx Fast Ethernet) + + pci:v000011ADd0000C115* + ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] + + pci:v000011ADd0000C115sv000011ADsd0000C001* +- ID_MODEL_FROM_DATABASE=LNE100TX [ver 2.0] ++ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (LNE100TX [ver 2.0]) + + pci:v000011ADd0000C115sv00002646sd0000000B* +- ID_MODEL_FROM_DATABASE=KNE111TX ++ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (KNE111TX) + + pci:v000011AE* + ID_VENDOR_FROM_DATABASE=Aztech System Ltd +@@ -35355,28 +35355,28 @@ pci:v000011BDd00000040* + ID_MODEL_FROM_DATABASE=Royal TS Function 1 + + pci:v000011BDd00000040sv000011BDsd00000044* +- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 1 ++ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV 2000i Dual DVB-T Pro PCI Tuner 1) + + pci:v000011BDd00000040sv000011BDsd00000045* +- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 1 ++ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV Dual Sat Pro PCI 4000i Tuner 1) + + pci:v000011BDd00000041* + ID_MODEL_FROM_DATABASE=RoyalTS Function 2 + + pci:v000011BDd00000041sv000011BDsd00000044* +- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 2 ++ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV 2000i Dual DVB-T Pro PCI Tuner 2) + + pci:v000011BDd00000041sv000011BDsd00000045* +- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 2 ++ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV Dual Sat Pro PCI 4000i Tuner 2) + + pci:v000011BDd00000042* + ID_MODEL_FROM_DATABASE=Royal TS Function 3 + + pci:v000011BDd00000042sv000011BDsd00000044* +- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Common ++ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV 2000i Dual DVB-T Pro PCI Common) + + pci:v000011BDd00000042sv000011BDsd00000045* +- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Common ++ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV Dual Sat Pro PCI 4000i Common) + + pci:v000011BDd00000051* + ID_MODEL_FROM_DATABASE=PCTV HD 800i +@@ -35400,154 +35400,154 @@ pci:v000011C1d00000440* + ID_MODEL_FROM_DATABASE=56k WinModem + + pci:v000011C1d00000440sv00001033sd00008015* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv00001033sd00008047* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv00001033sd0000804F* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000010CFsd0000102C* +- ID_MODEL_FROM_DATABASE=LB LT Modem V.90 56k ++ ID_MODEL_FROM_DATABASE=56k WinModem (LB LT Modem V.90 56k) + + pci:v000011C1d00000440sv000010CFsd0000104A* +- ID_MODEL_FROM_DATABASE=BIBLO LT Modem 56k ++ ID_MODEL_FROM_DATABASE=56k WinModem (BIBLO LT Modem 56k) + + pci:v000011C1d00000440sv000010CFsd0000105F* +- ID_MODEL_FROM_DATABASE=LB2 LT Modem V.90 56k ++ ID_MODEL_FROM_DATABASE=56k WinModem (LB2 LT Modem V.90 56k) + + pci:v000011C1d00000440sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Internal V.90 Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) + + pci:v000011C1d00000440sv000011C1sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv0000122Dsd00004101* +- ID_MODEL_FROM_DATABASE=MDP7800-U Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) + + pci:v000011C1d00000440sv0000122Dsd00004102* +- ID_MODEL_FROM_DATABASE=MDP7800SP-U Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800SP-U Modem) + + pci:v000011C1d00000440sv000013E0sd00000040* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd00000441* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd00000450* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd0000F100* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd0000F101* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv0000144Dsd00002101* +- ID_MODEL_FROM_DATABASE=LT56PV Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PV Modem) + + pci:v000011C1d00000440sv0000149Fsd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000441* + ID_MODEL_FROM_DATABASE=56k WinModem + + pci:v000011C1d00000441sv00001033sd0000804D* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv00001033sd00008065* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv00001092sd00000440* +- ID_MODEL_FROM_DATABASE=Supra 56i ++ ID_MODEL_FROM_DATABASE=56k WinModem (Supra 56i) + + pci:v000011C1d00000441sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Internal V.90 Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) + + pci:v000011C1d00000441sv000011C1sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000011C1sd00000441* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv0000122Dsd00004100* +- ID_MODEL_FROM_DATABASE=MDP7800-U Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) + + pci:v000011C1d00000441sv000013E0sd00000040* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000100* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000410* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000420* +- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem ++ ID_MODEL_FROM_DATABASE=56k WinModem (TelePath Internet 56k WinModem) + + pci:v000011C1d00000441sv000013E0sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000443* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd0000F102* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv00001416sd00009804* +- ID_MODEL_FROM_DATABASE=CommWave 56k Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (CommWave 56k Modem) + + pci:v000011C1d00000441sv0000141Dsd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv0000144Fsd00000441* +- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) + + pci:v000011C1d00000441sv0000144Fsd00000449* +- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) + + pci:v000011C1d00000441sv0000144Fsd0000110D* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) + + pci:v000011C1d00000441sv00001468sd00000441* +- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DF Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Presario 56k V.90 DF Modem) + + pci:v000011C1d00000441sv00001668sd00000440* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) + + pci:v000011C1d00000442* + ID_MODEL_FROM_DATABASE=56k WinModem + + pci:v000011C1d00000442sv000011C1sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000011C1sd00000442* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000013E0sd00000412* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000013E0sd00000442* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000013FCsd00002471* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv0000144Dsd00002104* +- ID_MODEL_FROM_DATABASE=LT56PT Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PT Modem) + + pci:v000011C1d00000442sv0000144Fsd00001104* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv0000149Fsd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv00001668sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000443* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35559,10 +35559,10 @@ pci:v000011C1d00000445* + ID_MODEL_FROM_DATABASE=LT WinModem + + pci:v000011C1d00000445sv00008086sd00002203* +- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card) ++ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)) + + pci:v000011C1d00000445sv00008086sd00002204* +- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI on Armada E500 ++ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI on Armada E500) + + pci:v000011C1d00000446* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35574,64 +35574,64 @@ pci:v000011C1d00000448* + ID_MODEL_FROM_DATABASE=WinModem 56k + + pci:v000011C1d00000448sv00001014sd00000131* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=WinModem 56k (Lucent Win Modem) + + pci:v000011C1d00000448sv00001033sd00008066* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000448sv000013E0sd00000030* +- ID_MODEL_FROM_DATABASE=56k Voice Modem ++ ID_MODEL_FROM_DATABASE=WinModem 56k (56k Voice Modem) + + pci:v000011C1d00000448sv000013E0sd00000040* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000448sv00001668sd00002400* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k (MiniPCI Ethernet+Modem) ++ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k (MiniPCI Ethernet+Modem)) + + pci:v000011C1d00000449* + ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k + + pci:v000011C1d00000449sv00000E11sd0000B14D* +- ID_MODEL_FROM_DATABASE=56k V.90 Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (56k V.90 Modem) + + pci:v000011C1d00000449sv00001014sd0000018C* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (ThinkPad 600X) + + pci:v000011C1d00000449sv000013E0sd00000020* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000449sv000013E0sd00000041* +- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (TelePath Internet 56k WinModem) + + pci:v000011C1d00000449sv00001436sd00000440* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) + + pci:v000011C1d00000449sv0000144Fsd00000449* +- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DFi Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent 56k V.90 DFi Modem) + + pci:v000011C1d00000449sv00001468sd00000410* +- ID_MODEL_FROM_DATABASE=IBM ThinkPad T23 ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (IBM ThinkPad T23) + + pci:v000011C1d00000449sv00001468sd00000440* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) + + pci:v000011C1d00000449sv00001468sd00000449* +- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DFi Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Presario 56k V.90 DFi Modem) + + pci:v000011C1d0000044A* + ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) + + pci:v000011C1d0000044Asv000010CFsd00001072* +- ID_MODEL_FROM_DATABASE=LB Global LT Modem ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LB Global LT Modem) + + pci:v000011C1d0000044Asv000013E0sd00000012* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d0000044Asv000013E0sd00000042* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d0000044Asv0000144Fsd00001005* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d0000044B* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35652,13 +35652,13 @@ pci:v000011C1d00000450* + ID_MODEL_FROM_DATABASE=LT WinModem + + pci:v000011C1d00000450sv00001033sd000080A8* +- ID_MODEL_FROM_DATABASE=Versa Note Vxi ++ ID_MODEL_FROM_DATABASE=LT WinModem (Versa Note Vxi) + + pci:v000011C1d00000450sv0000144Fsd00004005* +- ID_MODEL_FROM_DATABASE=Magnia SG20 ++ ID_MODEL_FROM_DATABASE=LT WinModem (Magnia SG20) + + pci:v000011C1d00000450sv00001468sd00000450* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=LT WinModem (Evo N600c) + + pci:v000011C1d00000451* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35733,22 +35733,22 @@ pci:v000011C1d00005811* + ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller + + pci:v000011C1d00005811sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion a1677c) + + pci:v000011C1d00005811sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Asus IPIBL-LB Motherboard) + + pci:v000011C1d00005811sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion p6310f) + + pci:v000011C1d00005811sv00001043sd00008294* +- ID_MODEL_FROM_DATABASE=LSI FW322/323 IEEE 1394a FireWire Controller ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (LSI FW322/323 IEEE 1394a FireWire Controller) + + pci:v000011C1d00005811sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (D865PERL mainboard) + + pci:v000011C1d00005811sv0000DEADsd00000800* +- ID_MODEL_FROM_DATABASE=FireWire Host Bus Adapter ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (FireWire Host Bus Adapter) + + pci:v000011C1d00005901* + ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller +@@ -35757,10 +35757,10 @@ pci:v000011C1d00005901sv000011C1sd00005900* + ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller + + pci:v000011C1d00005901sv00001443sd00000643* +- ID_MODEL_FROM_DATABASE=FireBoard800-e V.2 ++ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FireBoard800-e V.2) + + pci:v000011C1d00005901sv00001546sd00000643* +- ID_MODEL_FROM_DATABASE=FWB-PCIE1X2x ++ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FWB-PCIE1X2x) + + pci:v000011C1d00005903* + ID_MODEL_FROM_DATABASE=FW533 [TrueFire] PCIe 1394a Controller +@@ -35769,7 +35769,7 @@ pci:v000011C1d00008110* + ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch + + pci:v000011C1d00008110sv000012D9sd0000000C* +- ID_MODEL_FROM_DATABASE=E1/T1 PMXc cPCI carrier card ++ ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch (E1/T1 PMXc cPCI carrier card) + + pci:v000011C1d0000AB10* + ID_MODEL_FROM_DATABASE=WL60010 Wireless LAN MAC +@@ -35778,16 +35778,16 @@ pci:v000011C1d0000AB11* + ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC + + pci:v000011C1d0000AB11sv000011C1sd0000AB12* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1102) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1102)) + + pci:v000011C1d0000AB11sv000011C1sd0000AB13* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0512) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0512)) + + pci:v000011C1d0000AB11sv000011C1sd0000AB15* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1106) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1106)) + + pci:v000011C1d0000AB11sv000011C1sd0000AB16* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0516) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0516)) + + pci:v000011C1d0000AB20* + ID_MODEL_FROM_DATABASE=ORiNOCO PCI Adapter +@@ -35856,10 +35856,10 @@ pci:v000011CBd00002000* + ID_MODEL_FROM_DATABASE=PCI_9050 + + pci:v000011CBd00002000sv000011CBsd00000200* +- ID_MODEL_FROM_DATABASE=SX ++ ID_MODEL_FROM_DATABASE=PCI_9050 (SX) + + pci:v000011CBd00002000sv000011CBsd0000B008* +- ID_MODEL_FROM_DATABASE=I/O8+ ++ ID_MODEL_FROM_DATABASE=PCI_9050 (I/O8+) + + pci:v000011CBd00004000* + ID_MODEL_FROM_DATABASE=SUPI_1 +@@ -35949,28 +35949,28 @@ pci:v000011DEd00006057* + ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset + + pci:v000011DEd00006057sv00001031sd00007EFE* +- ID_MODEL_FROM_DATABASE=DC10 Plus ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (DC10 Plus) + + pci:v000011DEd00006057sv00001031sd0000FC00* +- ID_MODEL_FROM_DATABASE=MiroVIDEO DC50, Motion JPEG Capture/CODEC Board ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (MiroVIDEO DC50, Motion JPEG Capture/CODEC Board) + + pci:v000011DEd00006057sv000012F8sd00008A02* +- ID_MODEL_FROM_DATABASE=Tekram Video Kit ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (Tekram Video Kit) + + pci:v000011DEd00006057sv000013CAsd00004231* +- ID_MODEL_FROM_DATABASE=JPEG/TV Card ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (JPEG/TV Card) + + pci:v000011DEd00006120* + ID_MODEL_FROM_DATABASE=ZR36120 + + pci:v000011DEd00006120sv00001328sd0000F001* +- ID_MODEL_FROM_DATABASE=Cinemaster C DVD Decoder ++ ID_MODEL_FROM_DATABASE=ZR36120 (Cinemaster C DVD Decoder) + + pci:v000011DEd00006120sv000013C2sd00000000* +- ID_MODEL_FROM_DATABASE=MediaFocus Satellite TV Card ++ ID_MODEL_FROM_DATABASE=ZR36120 (MediaFocus Satellite TV Card) + + pci:v000011DEd00006120sv00001DE1sd00009FFF* +- ID_MODEL_FROM_DATABASE=Video Kit C210 ++ ID_MODEL_FROM_DATABASE=ZR36120 (Video Kit C210) + + pci:v000011DF* + ID_VENDOR_FROM_DATABASE=New Wave PDG +@@ -36102,13 +36102,13 @@ pci:v000011F6d00002011* + ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 + + pci:v000011F6d00002011sv000011F6sd00002011* +- ID_MODEL_FROM_DATABASE=RL100-ATX ++ ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 (RL100-ATX) + + pci:v000011F6d00002201* + ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) + + pci:v000011F6d00002201sv000011F6sd00002011* +- ID_MODEL_FROM_DATABASE=ReadyLink 100TX ++ ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) (ReadyLink 100TX) + + pci:v000011F6d00009881* + ID_MODEL_FROM_DATABASE=RL100TX Fast Ethernet +@@ -36138,10 +36138,10 @@ pci:v000011F8d00008032* + ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN + + pci:v000011F8d00008032sv0000117Csd0000003B* +- ID_MODEL_FROM_DATABASE=Celerity FC-82EN Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-82EN Fibre Channel Adapter) + + pci:v000011F8d00008032sv0000117Csd0000003C* +- ID_MODEL_FROM_DATABASE=Celerity FC-84EN Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-84EN Fibre Channel Adapter) + + pci:v000011F9* + ID_VENDOR_FROM_DATABASE=I-Cube Inc +@@ -36285,16 +36285,16 @@ pci:v00001202d00004300* + ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter + + pci:v00001202d00004300sv00001202sd00009841* +- ID_MODEL_FROM_DATABASE=SK-9841 LX ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX) + + pci:v00001202d00004300sv00001202sd00009842* +- ID_MODEL_FROM_DATABASE=SK-9841 LX dual link ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX dual link) + + pci:v00001202d00004300sv00001202sd00009843* +- ID_MODEL_FROM_DATABASE=SK-9843 SX ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX) + + pci:v00001202d00004300sv00001202sd00009844* +- ID_MODEL_FROM_DATABASE=SK-9843 SX dual link ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX dual link) + + pci:v00001203* + ID_VENDOR_FROM_DATABASE=Bayer Corporation, Agfa Division +@@ -36411,7 +36411,7 @@ pci:v00001217d000000F7* + ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) + + pci:v00001217d000000F7sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) + + pci:v00001217d000010F7* + ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller +@@ -36420,7 +36420,7 @@ pci:v00001217d000011F7* + ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller + + pci:v00001217d000011F7sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller (Precision M4600) + + pci:v00001217d000013F7* + ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller +@@ -36447,31 +36447,31 @@ pci:v00001217d00006933* + ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller + + pci:v00001217d00006933sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller (Travelmate 612 TX) + + pci:v00001217d00006972* + ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller + + pci:v00001217d00006972sv00001014sd0000020C* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (ThinkPad R30) + + pci:v00001217d00006972sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Latitude D500) + + pci:v00001217d00006972sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Magnia Z310) + + pci:v00001217d00007110* + ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator + + pci:v00001217d00007110sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC8000 laptop) + + pci:v00001217d00007110sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC6000 laptop) + + pci:v00001217d00007110sv00001734sd0000106C* +- ID_MODEL_FROM_DATABASE=Amilo A1645 ++ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (Amilo A1645) + + pci:v00001217d00007112* + ID_MODEL_FROM_DATABASE=OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller +@@ -36480,7 +36480,7 @@ pci:v00001217d00007113* + ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller + + pci:v00001217d00007113sv00001025sd00000035* +- ID_MODEL_FROM_DATABASE=TravelMate 660 ++ ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller (TravelMate 660) + + pci:v00001217d00007114* + ID_MODEL_FROM_DATABASE=OZ711M1/MC1 4-in-1 MemoryCardBus Controller +@@ -36489,13 +36489,13 @@ pci:v00001217d00007120* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller + + pci:v00001217d00007120sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) + + pci:v00001217d00007130* + ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller + + pci:v00001217d00007130sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) + + pci:v00001217d00007134* + ID_MODEL_FROM_DATABASE=OZ711MP1/MS1 MemoryCardBus Controller +@@ -36519,13 +36519,13 @@ pci:v00001217d00007223* + ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller + + pci:v00001217d00007223sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC8000 laptop) + + pci:v00001217d00007223sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC6000 laptop) + + pci:v00001217d00007223sv000010CFsd000011C4* +- ID_MODEL_FROM_DATABASE=Lifebook P5020D Laptop ++ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (Lifebook P5020D Laptop) + + pci:v00001217d00007233* + ID_MODEL_FROM_DATABASE=OZ711MP3/MS3 4-in-1 MemoryCardBus Controller +@@ -36540,7 +36540,7 @@ pci:v00001217d00008320* + ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller + + pci:v00001217d00008320sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) + + pci:v00001217d00008321* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller +@@ -36549,7 +36549,7 @@ pci:v00001217d00008330* + ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller + + pci:v00001217d00008330sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller (Precision M4600) + + pci:v00001217d00008331* + ID_MODEL_FROM_DATABASE=O2 Flash Memory Card +@@ -36576,52 +36576,52 @@ pci:v0000121Ad00000003* + ID_MODEL_FROM_DATABASE=Voodoo Banshee + + pci:v0000121Ad00000003sv00001092sd00000003* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00004000* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00004002* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00004801* +- ID_MODEL_FROM_DATABASE=Monster Fusion AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) + + pci:v0000121Ad00000003sv00001092sd00004803* +- ID_MODEL_FROM_DATABASE=Monster Fusion AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) + + pci:v0000121Ad00000003sv00001092sd00008030* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00008035* +- ID_MODEL_FROM_DATABASE=Monster Fusion AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) + + pci:v0000121Ad00000003sv000010B0sd00000001* +- ID_MODEL_FROM_DATABASE=Dragon 4000 ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Dragon 4000) + + pci:v0000121Ad00000003sv00001102sd00001017* +- ID_MODEL_FROM_DATABASE=3D Blaster Banshee PCI (CT6760) ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee PCI (CT6760)) + + pci:v0000121Ad00000003sv00001102sd00001018* +- ID_MODEL_FROM_DATABASE=3D Blaster Banshee VE ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee VE) + + pci:v0000121Ad00000003sv0000121Asd00000001* +- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP) + + pci:v0000121Ad00000003sv0000121Asd00000003* +- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP SGRAM ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP SGRAM) + + pci:v0000121Ad00000003sv0000121Asd00000004* + ID_MODEL_FROM_DATABASE=Voodoo Banshee + + pci:v0000121Ad00000003sv0000139Csd00000016* +- ID_MODEL_FROM_DATABASE=Raven ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) + + pci:v0000121Ad00000003sv0000139Csd00000017* +- ID_MODEL_FROM_DATABASE=Raven ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) + + pci:v0000121Ad00000003sv000014AFsd00000002* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Maxi Gamer Phoenix) + + pci:v0000121Ad00000004* + ID_MODEL_FROM_DATABASE=Voodoo Banshee [Velocity 100] +@@ -36630,70 +36630,70 @@ pci:v0000121Ad00000005* + ID_MODEL_FROM_DATABASE=Voodoo 3 + + pci:v0000121Ad00000005sv0000121Asd00000004* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000030* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000031* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000034* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000036* +- ID_MODEL_FROM_DATABASE=Voodoo3 2000 PCI ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 2000 PCI) + + pci:v0000121Ad00000005sv0000121Asd00000037* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000038* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd0000003A* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000044* +- ID_MODEL_FROM_DATABASE=Voodoo3 ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3) + + pci:v0000121Ad00000005sv0000121Asd0000004B* +- ID_MODEL_FROM_DATABASE=Velocity 100 ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 100) + + pci:v0000121Ad00000005sv0000121Asd0000004C* +- ID_MODEL_FROM_DATABASE=Velocity 200 ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 200) + + pci:v0000121Ad00000005sv0000121Asd0000004D* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd0000004E* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000051* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000052* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000057* +- ID_MODEL_FROM_DATABASE=Voodoo3 3000 PCI ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3000 PCI) + + pci:v0000121Ad00000005sv0000121Asd00000060* +- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (NTSC) ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (NTSC)) + + pci:v0000121Ad00000005sv0000121Asd00000061* +- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (PAL) ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (PAL)) + + pci:v0000121Ad00000005sv0000121Asd00000062* +- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (SECAM) ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (SECAM)) + + pci:v0000121Ad00000009* + ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 + + pci:v0000121Ad00000009sv0000121Asd00000003* +- ID_MODEL_FROM_DATABASE=Voodoo5 PCI 5500 ++ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 PCI 5500) + + pci:v0000121Ad00000009sv0000121Asd00000009* +- ID_MODEL_FROM_DATABASE=Voodoo5 AGP 5500/6000 ++ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 AGP 5500/6000) + + pci:v0000121Ad00000057* + ID_MODEL_FROM_DATABASE=Voodoo 3/3000 [Avenger] +@@ -36930,31 +36930,31 @@ pci:v0000123Fd00008120* + ID_MODEL_FROM_DATABASE=DVxplore Codec + + pci:v0000123Fd00008120sv000010DEsd000001E1* +- ID_MODEL_FROM_DATABASE=NVTV PAL ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) + + pci:v0000123Fd00008120sv000010DEsd000001E2* +- ID_MODEL_FROM_DATABASE=NVTV NTSC ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) + + pci:v0000123Fd00008120sv000010DEsd000001E3* +- ID_MODEL_FROM_DATABASE=NVTV PAL ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) + + pci:v0000123Fd00008120sv000010DEsd00000248* +- ID_MODEL_FROM_DATABASE=NVTV NTSC ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) + + pci:v0000123Fd00008120sv000010DEsd00000249* +- ID_MODEL_FROM_DATABASE=NVTV PAL ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) + + pci:v0000123Fd00008120sv000011BDsd00000006* +- ID_MODEL_FROM_DATABASE=DV500 E4 ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) + + pci:v0000123Fd00008120sv000011BDsd0000000A* +- ID_MODEL_FROM_DATABASE=DV500 E4 ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) + + pci:v0000123Fd00008120sv000011BDsd0000000F* +- ID_MODEL_FROM_DATABASE=DV500 E4 ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) + + pci:v0000123Fd00008120sv00001809sd00000016* +- ID_MODEL_FROM_DATABASE=Emuzed MAUI-III PCI PVR FM TV ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (Emuzed MAUI-III PCI PVR FM TV) + + pci:v0000123Fd00008888* + ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder +@@ -36981,10 +36981,10 @@ pci:v00001242d00001560* + ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller + + pci:v00001242d00001560sv00001242sd00006562* +- ID_MODEL_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter) + + pci:v00001242d00001560sv00001242sd0000656A* +- ID_MODEL_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX-6562 PCI-X Fibre Channel Adapter) + + pci:v00001242d00004643* + ID_MODEL_FROM_DATABASE=FCI-1063 Fibre Channel Adapter +@@ -37011,7 +37011,7 @@ pci:v00001244d00000A00* + ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] + + pci:v00001244d00000A00sv00001244sd00000A00* +- ID_MODEL_FROM_DATABASE=FRITZ!Card ISDN Controller ++ ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] (FRITZ!Card ISDN Controller) + + pci:v00001244d00000E00* + ID_MODEL_FROM_DATABASE=Fritz!PCI v2.0 ISDN +@@ -37053,7 +37053,7 @@ pci:v0000124Bd00000040* + ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier + + pci:v0000124Bd00000040sv0000124Bsd00009080* +- ID_MODEL_FROM_DATABASE=PCI9080 Bridge ++ ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier (PCI9080 Bridge) + + pci:v0000124C* + ID_VENDOR_FROM_DATABASE=Solitron Technologies, Inc. +@@ -37164,7 +37164,7 @@ pci:v0000125Bd00001400* + ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller + + pci:v0000125Bd00001400sv00001186sd00001100* +- ID_MODEL_FROM_DATABASE=AX8814X Based PCI Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller (AX8814X Based PCI Fast Ethernet Adapter) + + pci:v0000125C* + ID_VENDOR_FROM_DATABASE=Aurora Technologies, Inc. +@@ -37188,61 +37188,61 @@ pci:v0000125Dd00001968* + ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 + + pci:v0000125Dd00001968sv00001028sd00000085* +- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 PCI ++ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 PCI) + + pci:v0000125Dd00001968sv00001033sd00008051* +- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 Audiodrive) + + pci:v0000125Dd00001969* + ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive + + pci:v0000125Dd00001969sv00001014sd00000166* +- ID_MODEL_FROM_DATABASE=ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard ++ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard) + + pci:v0000125Dd00001969sv0000125Dsd00008888* +- ID_MODEL_FROM_DATABASE=Solo-1 Audio Adapter ++ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Solo-1 Audio Adapter) + + pci:v0000125Dd00001969sv0000153Bsd0000111B* +- ID_MODEL_FROM_DATABASE=Terratec 128i PCI ++ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Terratec 128i PCI) + + pci:v0000125Dd00001978* + ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E + + pci:v0000125Dd00001978sv00000E11sd0000B112* +- ID_MODEL_FROM_DATABASE=Armada M700/E500 ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Armada M700/E500) + + pci:v0000125Dd00001978sv00001033sd0000803C* +- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) + + pci:v0000125Dd00001978sv00001033sd00008058* +- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) + + pci:v0000125Dd00001978sv00001092sd00004000* +- ID_MODEL_FROM_DATABASE=Monster Sound MX400 ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Monster Sound MX400) + + pci:v0000125Dd00001978sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) + + pci:v0000125Dd00001988* + ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 + + pci:v0000125Dd00001988sv00000E11sd00000098* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Evo N600c) + + pci:v0000125Dd00001988sv00001092sd00004100* +- ID_MODEL_FROM_DATABASE=Sonic Impact S100 ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Sonic Impact S100) + + pci:v0000125Dd00001988sv0000125Dsd00000431* +- ID_MODEL_FROM_DATABASE=Allegro AudioDrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) + + pci:v0000125Dd00001988sv0000125Dsd00001988* +- ID_MODEL_FROM_DATABASE=ESS Allegro-1 Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (ESS Allegro-1 Audiodrive) + + pci:v0000125Dd00001988sv0000125Dsd00001998* +- ID_MODEL_FROM_DATABASE=Allegro AudioDrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) + + pci:v0000125Dd00001988sv0000125Dsd00001999* +- ID_MODEL_FROM_DATABASE=Allegro-1 AudioDrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro-1 AudioDrive) + + pci:v0000125Dd00001989* + ID_MODEL_FROM_DATABASE=ESS Modem +@@ -37254,13 +37254,13 @@ pci:v0000125Dd00001998* + ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator + + pci:v0000125Dd00001998sv00001028sd000000B1* +- ID_MODEL_FROM_DATABASE=Latitude C600 ++ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C600) + + pci:v0000125Dd00001998sv00001028sd000000E5* +- ID_MODEL_FROM_DATABASE=Latitude C810 ++ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C810) + + pci:v0000125Dd00001998sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i (Dell Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (ES1983S Maestro-3i (Dell Inspiron 8100)) + + pci:v0000125Dd00001999* + ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator +@@ -37281,34 +37281,34 @@ pci:v0000125Dd00002898* + ID_MODEL_FROM_DATABASE=ES2898 Modem + + pci:v0000125Dd00002898sv0000125Dsd00000424* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000425* +- ID_MODEL_FROM_DATABASE=ES56T-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56T-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000426* +- ID_MODEL_FROM_DATABASE=ES56V-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56V-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000427* +- ID_MODEL_FROM_DATABASE=VW-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (VW-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000428* +- ID_MODEL_FROM_DATABASE=ES56ST-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56ST-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000429* +- ID_MODEL_FROM_DATABASE=ES56SV-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56SV-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000147Asd0000C001* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000148Dsd00001030* +- ID_MODEL_FROM_DATABASE=HCF WV-PI56 [ESS ES56-PI Data Fax Modem] ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (HCF WV-PI56 [ESS ES56-PI Data Fax Modem]) + + pci:v0000125Dd00002898sv000014FEsd00000428* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125Dd00002898sv000014FEsd00000429* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125E* + ID_VENDOR_FROM_DATABASE=Specialvideo Engineering SRL +@@ -37323,40 +37323,40 @@ pci:v00001260d00003872* + ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] + + pci:v00001260d00003872sv00001468sd00000202* +- ID_MODEL_FROM_DATABASE=LAN-Express IEEE 802.11b Wireless LAN ++ ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] (LAN-Express IEEE 802.11b Wireless LAN) + + pci:v00001260d00003873* + ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] + + pci:v00001260d00003873sv000010CFsd00001169* +- ID_MODEL_FROM_DATABASE=MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874]) + + pci:v00001260d00003873sv00001186sd00003501* +- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874]) + + pci:v00001260d00003873sv00001186sd00003700* +- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev E1) [ISL3872] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev E1) [ISL3872]) + + pci:v00001260d00003873sv00001385sd00004105* +- ID_MODEL_FROM_DATABASE=MA311 802.11b wireless adapter [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MA311 802.11b wireless adapter [ISL3874]) + + pci:v00001260d00003873sv00001668sd00000414* +- ID_MODEL_FROM_DATABASE=HWP01170-01 802.11b PCI Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (HWP01170-01 802.11b PCI Wireless Adapter) + + pci:v00001260d00003873sv000016A5sd00001601* +- ID_MODEL_FROM_DATABASE=AIR.mate PC-400 PCI Wireless LAN Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (AIR.mate PC-400 PCI Wireless LAN Adapter) + + pci:v00001260d00003873sv00001737sd00003874* +- ID_MODEL_FROM_DATABASE=WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874]) + + pci:v00001260d00003873sv00004033sd00007033* +- ID_MODEL_FROM_DATABASE=PCW200 802.11b Wireless PCI Adapter [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (PCW200 802.11b Wireless PCI Adapter [ISL3874]) + + pci:v00001260d00003873sv00008086sd00002510* +- ID_MODEL_FROM_DATABASE=M3AWEB Wireless 802.11b MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (M3AWEB Wireless 802.11b MiniPCI Adapter) + + pci:v00001260d00003873sv00008086sd00002513* +- ID_MODEL_FROM_DATABASE=Wireless 802.11b MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (Wireless 802.11b MiniPCI Adapter) + + pci:v00001260d00003877* + ID_MODEL_FROM_DATABASE=ISL3877 [Prism Indigo] +@@ -37365,58 +37365,58 @@ pci:v00001260d00003886* + ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] + + pci:v00001260d00003886sv000017CFsd00000037* +- ID_MODEL_FROM_DATABASE=XG-901 and clones Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] (XG-901 and clones Wireless Adapter) + + pci:v00001260d00003890* + ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] + + pci:v00001260d00003890sv000010B8sd00002802* +- ID_MODEL_FROM_DATABASE=SMC2802W V1 Wireless PCI Adapter [ISL3890] ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V1 Wireless PCI Adapter [ISL3890]) + + pci:v00001260d00003890sv000010B8sd00002835* +- ID_MODEL_FROM_DATABASE=SMC2835W Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W Wireless Cardbus Adapter) + + pci:v00001260d00003890sv000010B8sd0000A835* +- ID_MODEL_FROM_DATABASE=SMC2835W V2 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V2 Wireless Cardbus Adapter) + + pci:v00001260d00003890sv00001113sd00004203* +- ID_MODEL_FROM_DATABASE=WN4201B ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WN4201B) + + pci:v00001260d00003890sv00001113sd00008201* +- ID_MODEL_FROM_DATABASE=T-Com T-Sinus 154pcicard Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Com T-Sinus 154pcicard Wireless PCI Adapter) + + pci:v00001260d00003890sv00001113sd0000B301* +- ID_MODEL_FROM_DATABASE=T-Sinus 154card Cardbus ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Sinus 154card Cardbus) + + pci:v00001260d00003890sv00001113sd0000EE03* +- ID_MODEL_FROM_DATABASE=SMC2802W V2 Wireless PCI Adapter [ISL3886] ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V2 Wireless PCI Adapter [ISL3886]) + + pci:v00001260d00003890sv00001113sd0000EE08* +- ID_MODEL_FROM_DATABASE=SMC2835W V3 EU Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V3 EU Wireless Cardbus Adapter) + + pci:v00001260d00003890sv00001186sd00003202* +- ID_MODEL_FROM_DATABASE=DWL-G650 A1 Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (DWL-G650 A1 Wireless Adapter) + + pci:v00001260d00003890sv00001259sd0000C104* +- ID_MODEL_FROM_DATABASE=CG-WLCB54GT Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (CG-WLCB54GT Wireless Adapter) + + pci:v00001260d00003890sv00001260sd00000000* +- ID_MODEL_FROM_DATABASE=WG511 v1 54 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v1 54 Mbps Wireless PC Card) + + pci:v00001260d00003890sv00001385sd00004800* +- ID_MODEL_FROM_DATABASE=WG511 v2/v3 54 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v2/v3 54 Mbps Wireless PC Card) + + pci:v00001260d00003890sv000016A5sd00001605* +- ID_MODEL_FROM_DATABASE=ALLNET ALL0271 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (ALLNET ALL0271 Wireless PCI Adapter) + + pci:v00001260d00003890sv000017CFsd00000014* +- ID_MODEL_FROM_DATABASE=XG-600 and clones Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-600 and clones Wireless Adapter) + + pci:v00001260d00003890sv000017CFsd00000020* +- ID_MODEL_FROM_DATABASE=XG-900 and clones Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-900 and clones Wireless Adapter) + + pci:v00001260d00003890sv0000187Esd00003403* +- ID_MODEL_FROM_DATABASE=G-110 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (G-110 802.11g Wireless Cardbus Adapter) + + pci:v00001260d00008130* + ID_MODEL_FROM_DATABASE=HMP8130 NTSC/PAL Video Decoder +@@ -37428,7 +37428,7 @@ pci:v00001260d0000FFFF* + ID_MODEL_FROM_DATABASE=ISL3886IK + + pci:v00001260d0000FFFFsv00001260sd00000000* +- ID_MODEL_FROM_DATABASE=Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter ++ ID_MODEL_FROM_DATABASE=ISL3886IK (Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter) + + pci:v00001261* + ID_VENDOR_FROM_DATABASE=Matsushita-Kotobuki Electronics Industries, Ltd. +@@ -37455,7 +37455,7 @@ pci:v00001266d00001910* + ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter + + pci:v00001266d00001910sv00001266sd00001910* +- ID_MODEL_FROM_DATABASE=NE2000Plus Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter (NE2000Plus Ethernet Adapter) + + pci:v00001267* + ID_VENDOR_FROM_DATABASE=S. A. Telecommunications +@@ -37554,169 +37554,169 @@ pci:v00001274d00001371* + ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] + + pci:v00001274d00001371sv00000E11sd00000024* +- ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI on Motherboard Compaq Deskpro) + + pci:v00001274d00001371sv00000E11sd0000B1A7* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) + + pci:v00001274d00001371sv00001033sd000080AC* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) + + pci:v00001274d00001371sv00001042sd00001854* +- ID_MODEL_FROM_DATABASE=Tazer ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tazer) + + pci:v00001274d00001371sv0000107Bsd00008054* +- ID_MODEL_FROM_DATABASE=Tabor2 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tabor2) + + pci:v00001274d00001371sv00001274sd00001371* +- ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI 64V/128 / Creative Sound Blaster CT4810) + + pci:v00001274d00001371sv00001274sd00008001* +- ID_MODEL_FROM_DATABASE=CT4751 board ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (CT4751 board) + + pci:v00001274d00001371sv00001462sd00006470* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A) + + pci:v00001274d00001371sv00001462sd00006560* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10) + + pci:v00001274d00001371sv00001462sd00006630* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A) + + pci:v00001274d00001371sv00001462sd00006631* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A) + + pci:v00001274d00001371sv00001462sd00006632* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A) + + pci:v00001274d00001371sv00001462sd00006633* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A) + + pci:v00001274d00001371sv00001462sd00006820* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00) + + pci:v00001274d00001371sv00001462sd00006822* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A) + + pci:v00001274d00001371sv00001462sd00006830* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00) + + pci:v00001274d00001371sv00001462sd00006880* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00) + + pci:v00001274d00001371sv00001462sd00006900* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00) + + pci:v00001274d00001371sv00001462sd00006910* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6191 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6191) + + pci:v00001274d00001371sv00001462sd00006930* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6193 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6193) + + pci:v00001274d00001371sv00001462sd00006990* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A) + + pci:v00001274d00001371sv00001462sd00006991* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A) + + pci:v00001274d00001371sv000014A4sd00002077* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KR639 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KR639) + + pci:v00001274d00001371sv000014A4sd00002105* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR800 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR800) + + pci:v00001274d00001371sv000014A4sd00002107* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR801 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR801) + + pci:v00001274d00001371sv000014A4sd00002172* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard DR739 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard DR739) + + pci:v00001274d00001371sv00001509sd00009902* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW11 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW11) + + pci:v00001274d00001371sv00001509sd00009903* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW31 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW31) + + pci:v00001274d00001371sv00001509sd00009904* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KA11 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KA11) + + pci:v00001274d00001371sv00001509sd00009905* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KC13 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KC13) + + pci:v00001274d00001371sv0000152Dsd00008801* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810E ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810E) + + pci:v00001274d00001371sv0000152Dsd00008802* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810) + + pci:v00001274d00001371sv0000152Dsd00008803* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810E ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810E) + + pci:v00001274d00001371sv0000152Dsd00008804* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810-S ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810-S) + + pci:v00001274d00001371sv0000152Dsd00008805* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3820-S ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3820-S) + + pci:v00001274d00001371sv0000270Fsd00002001* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6CTR ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6CTR) + + pci:v00001274d00001371sv0000270Fsd00002200* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WTX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WTX) + + pci:v00001274d00001371sv0000270Fsd00003000* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WSV ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WSV) + + pci:v00001274d00001371sv0000270Fsd00003100* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV2 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV2) + + pci:v00001274d00001371sv0000270Fsd00003102* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV) + + pci:v00001274d00001371sv0000270Fsd00007060* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6ASA2 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6ASA2) + + pci:v00001274d00001371sv00008086sd00004249* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BI440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BI440ZX) + + pci:v00001274d00001371sv00008086sd0000424C* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BL440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BL440ZX) + + pci:v00001274d00001371sv00008086sd0000425A* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BZ440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BZ440ZX) + + pci:v00001274d00001371sv00008086sd00004341* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cayman ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cayman) + + pci:v00001274d00001371sv00008086sd00004343* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cape Cod ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cape Cod) + + pci:v00001274d00001371sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=D815EEA Motherboard ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (D815EEA Motherboard) + + pci:v00001274d00001371sv00008086sd00004649* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Fire Island ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Fire Island) + + pci:v00001274d00001371sv00008086sd0000464A* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard FJ440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard FJ440ZX) + + pci:v00001274d00001371sv00008086sd00004D4F* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Montreal ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Montreal) + + pci:v00001274d00001371sv00008086sd00004F43* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard OC440LX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard OC440LX) + + pci:v00001274d00001371sv00008086sd00005243* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard RC440BX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard RC440BX) + + pci:v00001274d00001371sv00008086sd00005352* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard SunRiver ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard SunRiver) + + pci:v00001274d00001371sv00008086sd00005643* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Vancouver ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Vancouver) + + pci:v00001274d00001371sv00008086sd00005753* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard WS440BX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard WS440BX) + + pci:v00001274d00005000* + ID_MODEL_FROM_DATABASE=ES1370 [AudioPCI] +@@ -37725,31 +37725,31 @@ pci:v00001274d00005880* + ID_MODEL_FROM_DATABASE=5880B [AudioPCI] + + pci:v00001274d00005880sv00001274sd00002000* +- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) + + pci:v00001274d00005880sv00001274sd00002003* +- ID_MODEL_FROM_DATABASE=Creative SoundBlaster AudioPCI 128 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative SoundBlaster AudioPCI 128) + + pci:v00001274d00005880sv00001274sd00005880* +- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) + + pci:v00001274d00005880sv00001274sd00008001* +- ID_MODEL_FROM_DATABASE=Sound Blaster 16PCI 4.1ch ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Sound Blaster 16PCI 4.1ch) + + pci:v00001274d00005880sv00001458sd0000A000* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6OXET ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6OXET) + + pci:v00001274d00005880sv00001462sd00006880* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard MS-6188 1.00 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard MS-6188 1.00) + + pci:v00001274d00005880sv0000270Fsd00002001* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6CTR ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6CTR) + + pci:v00001274d00005880sv0000270Fsd00002200* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6WTX ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6WTX) + + pci:v00001274d00005880sv0000270Fsd00007040* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6ATA4 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6ATA4) + + pci:v00001274d00008001* + ID_MODEL_FROM_DATABASE=CT5880 [AudioPCI] +@@ -37809,181 +37809,181 @@ pci:v0000127Ad00001002* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00001002sv00001092sd0000094C* +- ID_MODEL_FROM_DATABASE=SupraExpress 56i PRO [Diamond SUP2380] ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (SupraExpress 56i PRO [Diamond SUP2380]) + + pci:v0000127Ad00001002sv0000122Dsd00004002* +- ID_MODEL_FROM_DATABASE=HPG / MDP3858-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (HPG / MDP3858-U) + + pci:v0000127Ad00001002sv0000122Dsd00004005* +- ID_MODEL_FROM_DATABASE=MDP3858-E ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-E) + + pci:v0000127Ad00001002sv0000122Dsd00004007* +- ID_MODEL_FROM_DATABASE=MDP3858-A/-NZ ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-A/-NZ) + + pci:v0000127Ad00001002sv0000122Dsd00004012* +- ID_MODEL_FROM_DATABASE=MDP3858-SA ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-SA) + + pci:v0000127Ad00001002sv0000122Dsd00004017* +- ID_MODEL_FROM_DATABASE=MDP3858-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) + + pci:v0000127Ad00001002sv0000122Dsd00004018* +- ID_MODEL_FROM_DATABASE=MDP3858-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) + + pci:v0000127Ad00001002sv0000127Asd00001002* +- ID_MODEL_FROM_DATABASE=Rockwell 56K D/F HCF Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Rockwell 56K D/F HCF Modem) + + pci:v0000127Ad00001003* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00001003sv00000E11sd0000B0BC* +- ID_MODEL_FROM_DATABASE=229-DF Zephyr ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Zephyr) + + pci:v0000127Ad00001003sv00000E11sd0000B114* +- ID_MODEL_FROM_DATABASE=229-DF Cheetah ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Cheetah) + + pci:v0000127Ad00001003sv00001033sd0000802B* +- ID_MODEL_FROM_DATABASE=229-DF ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF) + + pci:v0000127Ad00001003sv000013DFsd00001003* +- ID_MODEL_FROM_DATABASE=PCI56RX Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PCI56RX Modem) + + pci:v0000127Ad00001003sv000013E0sd00000117* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv000013E0sd00000147* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 Spain V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 Spain V.90 Modem) + + pci:v0000127Ad00001003sv000013E0sd00000197* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv000013E0sd000001C7* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 WW V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 WW V.90 Modem) + + pci:v0000127Ad00001003sv000013E0sd000001F7* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv00001436sd00001003* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv00001436sd00001103* +- ID_MODEL_FROM_DATABASE=IBM 5614PM3G V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM 5614PM3G V.90 Modem) + + pci:v0000127Ad00001003sv00001436sd00001602* +- ID_MODEL_FROM_DATABASE=Compaq 229-DF Ducati ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq 229-DF Ducati) + + pci:v0000127Ad00001004* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem + + pci:v0000127Ad00001004sv00001048sd00001500* +- ID_MODEL_FROM_DATABASE=MicroLink 56k Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (MicroLink 56k Modem) + + pci:v0000127Ad00001004sv000010CFsd00001059* +- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFRT ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Fujitsu 229-DFRT) + + pci:v0000127Ad00001005* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v0000127Ad00001005sv00001005sd0000127A* +- ID_MODEL_FROM_DATABASE=AOpen FM56-P ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (AOpen FM56-P) + + pci:v0000127Ad00001005sv00001033sd00008029* +- ID_MODEL_FROM_DATABASE=229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (229-DFSV) + + pci:v0000127Ad00001005sv00001033sd00008054* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Modem) + + pci:v0000127Ad00001005sv000010CFsd0000103C* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00001005sv000010CFsd00001055* +- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) + + pci:v0000127Ad00001005sv000010CFsd00001056* +- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) + + pci:v0000127Ad00001005sv0000122Dsd00004003* +- ID_MODEL_FROM_DATABASE=MDP3858SP-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-U) + + pci:v0000127Ad00001005sv0000122Dsd00004006* +- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-E ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-E) + + pci:v0000127Ad00001005sv0000122Dsd00004008* +- ID_MODEL_FROM_DATABASE=MDP3858SP-A/SP-NZ ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-A/SP-NZ) + + pci:v0000127Ad00001005sv0000122Dsd00004009* +- ID_MODEL_FROM_DATABASE=MDP3858SP-E ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-E) + + pci:v0000127Ad00001005sv0000122Dsd00004010* +- ID_MODEL_FROM_DATABASE=MDP3858V-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-U) + + pci:v0000127Ad00001005sv0000122Dsd00004011* +- ID_MODEL_FROM_DATABASE=MDP3858SP-SA ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-SA) + + pci:v0000127Ad00001005sv0000122Dsd00004013* +- ID_MODEL_FROM_DATABASE=MDP3858V-A/V-NZ ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-A/V-NZ) + + pci:v0000127Ad00001005sv0000122Dsd00004015* +- ID_MODEL_FROM_DATABASE=MDP3858SP-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-W) + + pci:v0000127Ad00001005sv0000122Dsd00004016* +- ID_MODEL_FROM_DATABASE=MDP3858V-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-W) + + pci:v0000127Ad00001005sv0000122Dsd00004019* +- ID_MODEL_FROM_DATABASE=MDP3858V-SA ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-SA) + + pci:v0000127Ad00001005sv000013DFsd00001005* +- ID_MODEL_FROM_DATABASE=PCI56RVP Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (PCI56RVP Modem) + + pci:v0000127Ad00001005sv000013E0sd00000187* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv000013E0sd000001A7* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv000013E0sd000001B7* +- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 Spain V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 Spain V.90 Modem) + + pci:v0000127Ad00001005sv000013E0sd000001D7* +- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 WW V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 WW V.90 Modem) + + pci:v0000127Ad00001005sv00001436sd00001005* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv00001436sd00001105* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv00001437sd00001105* +- ID_MODEL_FROM_DATABASE=IBM 5614PS3G V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM 5614PS3G V.90 Modem) + + pci:v0000127Ad00001022* + ID_MODEL_FROM_DATABASE=HCF 56k Modem + + pci:v0000127Ad00001022sv00001436sd00001303* +- ID_MODEL_FROM_DATABASE=M3-5614PM3G V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (M3-5614PM3G V.90 Modem) + + pci:v0000127Ad00001023* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00001023sv0000122Dsd00004020* +- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858-WE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Packard Bell MDP3858-WE) + + pci:v0000127Ad00001023sv0000122Dsd00004023* +- ID_MODEL_FROM_DATABASE=MDP3858-UE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-UE) + + pci:v0000127Ad00001023sv000013E0sd00000247* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 Spain V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 Spain V.90 Modem) + + pci:v0000127Ad00001023sv000013E0sd00000297* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001023sv000013E0sd000002C7* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 WW V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 WW V.90 Modem) + + pci:v0000127Ad00001023sv00001436sd00001203* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001023sv00001436sd00001303* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001024* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem +@@ -37992,19 +37992,19 @@ pci:v0000127Ad00001025* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v0000127Ad00001025sv000010CFsd0000106A* +- ID_MODEL_FROM_DATABASE=Fujitsu 235-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 235-DFSV) + + pci:v0000127Ad00001025sv0000122Dsd00004021* +- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-WE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-WE) + + pci:v0000127Ad00001025sv0000122Dsd00004022* +- ID_MODEL_FROM_DATABASE=MDP3858SP-WE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-WE) + + pci:v0000127Ad00001025sv0000122Dsd00004024* +- ID_MODEL_FROM_DATABASE=MDP3858V-UE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-UE) + + pci:v0000127Ad00001025sv0000122Dsd00004025* +- ID_MODEL_FROM_DATABASE=MDP3858SP-UE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-UE) + + pci:v0000127Ad00001026* + ID_MODEL_FROM_DATABASE=HCF 56k PCI Speakerphone Modem +@@ -38034,85 +38034,85 @@ pci:v0000127Ad00002005* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00002005sv0000104Dsd00008044* +- ID_MODEL_FROM_DATABASE=229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd00008045* +- ID_MODEL_FROM_DATABASE=229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd00008055* +- ID_MODEL_FROM_DATABASE=PBE/Aztech 235W-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PBE/Aztech 235W-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd00008056* +- ID_MODEL_FROM_DATABASE=235-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (235-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd0000805A* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002005sv0000104Dsd0000805F* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002005sv0000104Dsd00008074* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002013* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem + + pci:v0000127Ad00002013sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002013sv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002014* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem + + pci:v0000127Ad00002014sv000010CFsd00001057* +- ID_MODEL_FROM_DATABASE=Fujitsu Citicorp III ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Fujitsu Citicorp III) + + pci:v0000127Ad00002014sv0000122Dsd00004050* +- ID_MODEL_FROM_DATABASE=MSP3880-U ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-U) + + pci:v0000127Ad00002014sv0000122Dsd00004055* +- ID_MODEL_FROM_DATABASE=MSP3880-W ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-W) + + pci:v0000127Ad00002015* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v0000127Ad00002015sv000010CFsd00001063* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00002015sv000010CFsd00001064* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00002015sv00001468sd00002015* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00002016* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem + + pci:v0000127Ad00002016sv0000122Dsd00004051* +- ID_MODEL_FROM_DATABASE=MSP3880V-W ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-W) + + pci:v0000127Ad00002016sv0000122Dsd00004052* +- ID_MODEL_FROM_DATABASE=MSP3880SP-W ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-W) + + pci:v0000127Ad00002016sv0000122Dsd00004054* +- ID_MODEL_FROM_DATABASE=MSP3880V-U ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-U) + + pci:v0000127Ad00002016sv0000122Dsd00004056* +- ID_MODEL_FROM_DATABASE=MSP3880SP-U ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-U) + + pci:v0000127Ad00002016sv0000122Dsd00004057* +- ID_MODEL_FROM_DATABASE=MSP3880SP-A ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-A) + + pci:v0000127Ad00004311* + ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem + + pci:v0000127Ad00004311sv0000127Asd00004311* +- ID_MODEL_FROM_DATABASE=Ring Modular? Riptide HSF RT HP Dom ++ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (Ring Modular? Riptide HSF RT HP Dom) + + pci:v0000127Ad00004311sv000013E0sd00000210* +- ID_MODEL_FROM_DATABASE=HP-GVC ++ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (HP-GVC) + + pci:v0000127Ad00004320* + ID_MODEL_FROM_DATABASE=Riptide PCI Audio Controller +@@ -38124,16 +38124,16 @@ pci:v0000127Ad00004321* + ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem + + pci:v0000127Ad00004321sv00001235sd00004321* +- ID_MODEL_FROM_DATABASE=Hewlett Packard DF ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) + + pci:v0000127Ad00004321sv00001235sd00004324* +- ID_MODEL_FROM_DATABASE=Hewlett Packard DF ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) + + pci:v0000127Ad00004321sv000013E0sd00000210* +- ID_MODEL_FROM_DATABASE=Hewlett Packard DF ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) + + pci:v0000127Ad00004321sv0000144Dsd00002321* +- ID_MODEL_FROM_DATABASE=Riptide ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Riptide) + + pci:v0000127Ad00004322* + ID_MODEL_FROM_DATABASE=Riptide PCI Game Controller +@@ -38190,7 +38190,7 @@ pci:v00001282d00009102* + ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet + + pci:v00001282d00009102sv00000291sd00008212* +- ID_MODEL_FROM_DATABASE=DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit ++ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit) + + pci:v00001282d00009132* + ID_MODEL_FROM_DATABASE=Ethernet 100/10 MBit +@@ -38208,19 +38208,19 @@ pci:v00001283d00008211* + ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 + + pci:v00001283d00008211sv00001043sd00008138* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 (P5GD1-VW Mainboard) + + pci:v00001283d00008212* + ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller + + pci:v00001283d00008212sv00001283sd00000001* +- ID_MODEL_FROM_DATABASE=IT/ITE8212 Dual channel ATA RAID controller ++ ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller (IT/ITE8212 Dual channel ATA RAID controller) + + pci:v00001283d00008213* + ID_MODEL_FROM_DATABASE=IT8213 IDE Controller + + pci:v00001283d00008213sv00001458sd0000B000* +- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard ++ ID_MODEL_FROM_DATABASE=IT8213 IDE Controller (GA-EG45M-DS2H Mainboard) + + pci:v00001283d00008330* + ID_MODEL_FROM_DATABASE=IT8330G +@@ -38451,19 +38451,19 @@ pci:v000012AEd00000001* + ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet + + pci:v000012AEd00000001sv00001014sd00000104* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX PCI Adapter) + + pci:v000012AEd00000001sv000012AEsd00000001* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX (Universal) ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX (Universal)) + + pci:v000012AEd00000002* + ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) + + pci:v000012AEd00000002sv000010A9sd00008002* +- ID_MODEL_FROM_DATABASE=Acenic Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Acenic Gigabit Ethernet) + + pci:v000012AEd00000002sv000012AEsd00000002* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-T (3C986-T) ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Gigabit Ethernet-T (3C986-T)) + + pci:v000012AEd000000FA* + ID_MODEL_FROM_DATABASE=Farallon PN9100-T Gigabit Ethernet +@@ -38505,64 +38505,64 @@ pci:v000012B9d00001006* + ID_MODEL_FROM_DATABASE=WinModem + + pci:v000012B9d00001006sv000012B9sd0000005C* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 3472) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 3472)) + + pci:v000012B9d00001006sv000012B9sd0000005E* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 662975) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 662975)) + + pci:v000012B9d00001006sv000012B9sd00000062* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662978) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662978)) + + pci:v000012B9d00001006sv000012B9sd00000068* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 5690) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 5690)) + + pci:v000012B9d00001006sv000012B9sd0000007A* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662974) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662974)) + + pci:v000012B9d00001006sv000012B9sd0000007F* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 5698, 5699) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 5698, 5699)) + + pci:v000012B9d00001006sv000012B9sd00000080* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 2975, 3528) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 2975, 3528)) + + pci:v000012B9d00001006sv000012B9sd00000081* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Models 2974, 3529) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Models 2974, 3529)) + + pci:v000012B9d00001006sv000012B9sd00000091* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 2978) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 2978)) + + pci:v000012B9d00001007* + ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem + + pci:v000012B9d00001007sv000012B9sd000000A3* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Model 3595) ++ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem ((Model 3595)) + + pci:v000012B9d00001007sv000012B9sd000000C4* +- ID_MODEL_FROM_DATABASE=U.S. Robotics V.92 Voice Faxmodem (2884A/B/C) ++ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (U.S. Robotics V.92 Voice Faxmodem (2884A/B/C)) + + pci:v000012B9d00001008* + ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 + + pci:v000012B9d00001008sv000012B9sd000000A2* +- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 2977) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 2977)) + + pci:v000012B9d00001008sv000012B9sd000000AA* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 2976) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 2976)) + + pci:v000012B9d00001008sv000012B9sd000000AB* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 5609) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 5609)) + + pci:v000012B9d00001008sv000012B9sd000000AC* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 3298) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 3298)) + + pci:v000012B9d00001008sv000012B9sd000000AD* +- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 5610) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 5610)) + + pci:v000012B9d00001008sv000012B9sd000000D3* +- ID_MODEL_FROM_DATABASE=USR 56K Internal V92 FAX Modem (Model 5610) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal V92 FAX Modem (Model 5610)) + + pci:v000012B9d00001008sv000012B9sd0000BABA* +- ID_MODEL_FROM_DATABASE=USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk]) + + pci:v000012BA* + ID_VENDOR_FROM_DATABASE=BittWare, Inc. +@@ -38586,7 +38586,7 @@ pci:v000012BEd00003042* + ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite + + pci:v000012BEd00003042sv000012BEsd00003042* +- ID_MODEL_FROM_DATABASE=Anchor Chips Lite Evaluation Board ++ ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite (Anchor Chips Lite Evaluation Board) + + pci:v000012BF* + ID_VENDOR_FROM_DATABASE=Fujifilm Microdevices +@@ -38781,58 +38781,58 @@ pci:v000012D2d00000018* + ID_MODEL_FROM_DATABASE=Riva128 + + pci:v000012D2d00000018sv00001048sd00000C10* +- ID_MODEL_FROM_DATABASE=VICTORY Erazor ++ ID_MODEL_FROM_DATABASE=Riva128 (VICTORY Erazor) + + pci:v000012D2d00000018sv0000107Bsd00008030* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv00001092sd00000350* +- ID_MODEL_FROM_DATABASE=Viper V330 ++ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) + + pci:v000012D2d00000018sv00001092sd00001092* +- ID_MODEL_FROM_DATABASE=Viper V330 ++ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) + + pci:v000012D2d00000018sv000010B4sd00001B1B* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00001B1D* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00001B1E* +- ID_MODEL_FROM_DATABASE=STB Velocity 128, PAL TV-Out ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128, PAL TV-Out) + + pci:v000012D2d00000018sv000010B4sd00001B20* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 Sapphire ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 Sapphire) + + pci:v000012D2d00000018sv000010B4sd00001B21* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00001B22* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, NTSC TV-Out ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, NTSC TV-Out) + + pci:v000012D2d00000018sv000010B4sd00001B23* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, PAL TV-Out ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, PAL TV-Out) + + pci:v000012D2d00000018sv000010B4sd00001B27* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 DVD ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 DVD) + + pci:v000012D2d00000018sv000010B4sd00001B88* +- ID_MODEL_FROM_DATABASE=MVP Pro 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (MVP Pro 128) + + pci:v000012D2d00000018sv000010B4sd0000222A* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) + + pci:v000012D2d00000018sv000010B4sd00002230* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00002232* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00002235* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) + + pci:v000012D2d00000018sv00002A15sd000054A3* +- ID_MODEL_FROM_DATABASE=3DVision-SAGP / 3DexPlorer 3000 ++ ID_MODEL_FROM_DATABASE=Riva128 (3DVision-SAGP / 3DexPlorer 3000) + + pci:v000012D2d00000019* + ID_MODEL_FROM_DATABASE=Riva128ZX +@@ -38916,7 +38916,7 @@ pci:v000012D8d0000E110* + ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge + + pci:v000012D8d0000E110sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 CompactPCI Bridge ++ ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge (CC11/CL11 CompactPCI Bridge) + + pci:v000012D8d0000E111* + ID_MODEL_FROM_DATABASE=PI7C9X111SL PCIe-to-PCI Reversible Bridge +@@ -38940,10 +38940,10 @@ pci:v000012D9d00001078* + ID_MODEL_FROM_DATABASE=Prosody X class e1000 device + + pci:v000012D9d00001078sv000012D9sd0000000D* +- ID_MODEL_FROM_DATABASE=Prosody X PCI ++ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X PCI) + + pci:v000012D9d00001078sv000012D9sd0000000E* +- ID_MODEL_FROM_DATABASE=Prosody X cPCI ++ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X cPCI) + + pci:v000012DA* + ID_VENDOR_FROM_DATABASE=True Time Inc. +@@ -39015,67 +39015,67 @@ pci:v000012EBd00000001* + ID_MODEL_FROM_DATABASE=Vortex 1 + + pci:v000012EBd00000001sv0000104Dsd00008036* +- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) + + pci:v000012EBd00000001sv00001092sd00002000* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv00001092sd00002100* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv00001092sd00002110* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv00001092sd00002200* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv0000122Dsd00001002* +- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) + + pci:v000012EBd00000001sv000012EBsd00000001* +- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) + + pci:v000012EBd00000001sv00005053sd00003355* +- ID_MODEL_FROM_DATABASE=Montego ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Montego) + + pci:v000012EBd00000001sv000050B2sd00001111* +- ID_MODEL_FROM_DATABASE=XLerate ++ ID_MODEL_FROM_DATABASE=Vortex 1 (XLerate) + + pci:v000012EBd00000002* + ID_MODEL_FROM_DATABASE=Vortex 2 + + pci:v000012EBd00000002sv0000104Dsd00008049* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv0000104Dsd0000807B* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv00001092sd00003000* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003001* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003002* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003003* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003004* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv000012EBsd00000002* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv000012EBsd00000088* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv0000144Dsd00003510* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv00005053sd00003356* +- ID_MODEL_FROM_DATABASE=Montego II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Montego II) + + pci:v000012EBd00000003* + ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor +@@ -39465,16 +39465,16 @@ pci:v00001317d00000985* + ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 + + pci:v00001317d00000985sv00001734sd0000100C* +- ID_MODEL_FROM_DATABASE=Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter ++ ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 (Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter) + + pci:v00001317d00001985* + ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet + + pci:v00001317d00001985sv00001385sd0000511A* +- ID_MODEL_FROM_DATABASE=FA511 ++ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (FA511) + + pci:v00001317d00001985sv00001395sd00002103* +- ID_MODEL_FROM_DATABASE=CB100-EZ (4-LED version) ++ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (CB100-EZ (4-LED version)) + + pci:v00001317d00002850* + ID_MODEL_FROM_DATABASE=HSP MicroModem 56 +@@ -39486,10 +39486,10 @@ pci:v00001317d00008201* + ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface + + pci:v00001317d00008201sv000010B8sd00002635* +- ID_MODEL_FROM_DATABASE=SMC2635W v1 802.11b Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v1 802.11b Wireless Cardbus Adapter) + + pci:v00001317d00008201sv00001317sd00008201* +- ID_MODEL_FROM_DATABASE=SMC2635W v2 802.11b Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v2 802.11b Wireless Cardbus Adapter) + + pci:v00001317d00008211* + ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface +@@ -39510,13 +39510,13 @@ pci:v00001319d00000801* + ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] + + pci:v00001319d00000801sv00001319sd00001319* +- ID_MODEL_FROM_DATABASE=FM801 PCI Audio ++ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] (FM801 PCI Audio) + + pci:v00001319d00000802* + ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] + + pci:v00001319d00000802sv00001319sd00001319* +- ID_MODEL_FROM_DATABASE=FM801 PCI Joystick ++ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] (FM801 PCI Joystick) + + pci:v00001319d00001000* + ID_MODEL_FROM_DATABASE=FM801 PCI Audio +@@ -39618,7 +39618,7 @@ pci:v0000131Fd00002030* + ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 + + pci:v0000131Fd00002030sv0000131Fsd00002030* +- ID_MODEL_FROM_DATABASE=PCI Serial Card ++ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 (PCI Serial Card) + + pci:v0000131Fd00002031* + ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16650 +@@ -39834,7 +39834,7 @@ pci:v0000134Dd00007890* + ID_MODEL_FROM_DATABASE=HSP MicroModem 56 + + pci:v0000134Dd00007890sv0000134Dsd00000001* +- ID_MODEL_FROM_DATABASE=PCT789 adapter ++ ID_MODEL_FROM_DATABASE=HSP MicroModem 56 (PCT789 adapter) + + pci:v0000134Dd00007891* + ID_MODEL_FROM_DATABASE=HSP MicroModem 56 +@@ -40119,7 +40119,7 @@ pci:v00001371d0000434E* + ID_MODEL_FROM_DATABASE=GigaCard Network Adapter + + pci:v00001371d0000434Esv00001371sd0000434E* +- ID_MODEL_FROM_DATABASE=N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) ++ ID_MODEL_FROM_DATABASE=GigaCard Network Adapter (N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)) + + pci:v00001373* + ID_VENDOR_FROM_DATABASE=Silicon Vision Inc +@@ -40515,10 +40515,10 @@ pci:v00001394d00000001* + ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet + + pci:v00001394d00000001sv00001186sd00004800* +- ID_MODEL_FROM_DATABASE=DGE-500SX ++ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (DGE-500SX) + + pci:v00001394d00000001sv00001394sd00000001* +- ID_MODEL_FROM_DATABASE=NetCelerator Adapter ++ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (NetCelerator Adapter) + + pci:v00001395* + ID_VENDOR_FROM_DATABASE=Ambicom Inc +@@ -40533,40 +40533,40 @@ pci:v00001397d000008B4* + ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] + + pci:v00001397d000008B4sv00001397sd0000B520* +- ID_MODEL_FROM_DATABASE=HFC-4S [IOB4ST] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [IOB4ST]) + + pci:v00001397d000008B4sv00001397sd0000B540* +- ID_MODEL_FROM_DATABASE=HFC-4S [Swyx 4xS0 SX2 QuadBri] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx 4xS0 SX2 QuadBri]) + + pci:v00001397d000008B4sv00001397sd0000B550* +- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns quadBRI] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns quadBRI]) + + pci:v00001397d000008B4sv00001397sd0000B556* +- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns DuoDBRI] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns DuoDBRI]) + + pci:v00001397d000008B4sv00001397sd0000E888* +- ID_MODEL_FROM_DATABASE=HFC-4S [OpenVox B200P / B400P] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P / B400P]) + + pci:v00001397d000016B8* + ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] + + pci:v00001397d000016B8sv00001397sd0000B562* +- ID_MODEL_FROM_DATABASE=HFC-8S [IOB8ST] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB8ST]) + + pci:v00001397d00002BD0* + ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] + + pci:v00001397d00002BD0sv00000675sd00001704* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C)) + + pci:v00001397d00002BD0sv00000675sd00001708* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C, ACPI) ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C, ACPI)) + + pci:v00001397d00002BD0sv00001397sd00002BD0* +- ID_MODEL_FROM_DATABASE=ISDN Board ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Board) + + pci:v00001397d00002BD0sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CI1-1-Harp ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (CI1-1-Harp) + + pci:v00001397d000030B1* + ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] +@@ -40665,46 +40665,46 @@ pci:v000013A3d0000002F* + ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor + + pci:v000013A3d0000002Fsv000013A3sd00001600* +- ID_MODEL_FROM_DATABASE=DR1600 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1600 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001605* +- ID_MODEL_FROM_DATABASE=DR1605 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1605 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001610* +- ID_MODEL_FROM_DATABASE=DR1610 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1610 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001615* +- ID_MODEL_FROM_DATABASE=DR1615 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1615 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001620* +- ID_MODEL_FROM_DATABASE=DR1620 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1620 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001625* +- ID_MODEL_FROM_DATABASE=DR1625 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1625 Acceleration Card) + + pci:v000013A3d00000033* + ID_MODEL_FROM_DATABASE=8201 Acceleration Processor + + pci:v000013A3d00000033sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1710 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8201 Acceleration Processor (DX1710 Acceleration Card) + + pci:v000013A3d00000034* + ID_MODEL_FROM_DATABASE=8202 Acceleration Processor + + pci:v000013A3d00000034sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1720 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8202 Acceleration Processor (DX1720 Acceleration Card) + + pci:v000013A3d00000035* + ID_MODEL_FROM_DATABASE=8203 Acceleration Processor + + pci:v000013A3d00000035sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1730 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8203 Acceleration Processor (DX1730 Acceleration Card) + + pci:v000013A3d00000037* + ID_MODEL_FROM_DATABASE=8204 Acceleration Processor + + pci:v000013A3d00000037sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1740 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8204 Acceleration Processor (DX1740 Acceleration Card) + + pci:v000013A4* + ID_VENDOR_FROM_DATABASE=Rascom Inc +@@ -41067,7 +41067,7 @@ pci:v000013F0d00000200* + ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY + + pci:v000013F0d00000200sv00001043sd00008213* +- ID_MODEL_FROM_DATABASE=NX1001 ++ ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY (NX1001) + + pci:v000013F0d00000201* + ID_MODEL_FROM_DATABASE=ST201 Sundance Ethernet +@@ -41079,7 +41079,7 @@ pci:v000013F0d00001023* + ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet + + pci:v000013F0d00001023sv00001043sd00008180* +- ID_MODEL_FROM_DATABASE=NX1101 ++ ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet (NX1101) + + pci:v000013F1* + ID_VENDOR_FROM_DATABASE=Oce' - Technologies B.V. +@@ -41109,76 +41109,76 @@ pci:v000013F6d00000100* + ID_MODEL_FROM_DATABASE=CM8338A + + pci:v000013F6d00000100sv000013F6sd0000FFFF* +- ID_MODEL_FROM_DATABASE=CMI8338/C3DX PCI Audio Device ++ ID_MODEL_FROM_DATABASE=CM8338A (CMI8338/C3DX PCI Audio Device) + + pci:v000013F6d00000101* + ID_MODEL_FROM_DATABASE=CM8338B + + pci:v000013F6d00000101sv000013F6sd00000101* +- ID_MODEL_FROM_DATABASE=CMI8338-031 PCI Audio Device ++ ID_MODEL_FROM_DATABASE=CM8338B (CMI8338-031 PCI Audio Device) + + pci:v000013F6d00000111* + ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio + + pci:v000013F6d00000111sv00001019sd00000970* +- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (P6STP-FL motherboard) + + pci:v000013F6d00000111sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CUSI-FX motherboard) + + pci:v000013F6d00000111sv00001043sd00008077* +- ID_MODEL_FROM_DATABASE=CMI8738 6-channel audio controller ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6-channel audio controller) + + pci:v000013F6d00000111sv00001043sd000080E2* +- ID_MODEL_FROM_DATABASE=CMI8738 6ch-MX ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6ch-MX) + + pci:v000013F6d00000111sv000013F6sd00000111* +- ID_MODEL_FROM_DATABASE=CMI8738/C3DX PCI Audio Device ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738/C3DX PCI Audio Device) + + pci:v000013F6d00000111sv000013F6sd00009761* +- ID_MODEL_FROM_DATABASE=Theatron Agrippa ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Theatron Agrippa) + + pci:v000013F6d00000111sv0000153Bsd00001144* +- ID_MODEL_FROM_DATABASE=Aureon 5.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 5.1) + + pci:v000013F6d00000111sv0000153Bsd00001170* +- ID_MODEL_FROM_DATABASE=Aureon 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 7.1) + + pci:v000013F6d00000111sv00001681sd0000A000* +- ID_MODEL_FROM_DATABASE=Gamesurround MUSE XL ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Gamesurround MUSE XL) + + pci:v000013F6d00000111sv000017ABsd00000604* +- ID_MODEL_FROM_DATABASE=PSC604 Dynamic Edge ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC604 Dynamic Edge) + + pci:v000013F6d00000111sv000017ABsd00000605* +- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) + + pci:v000013F6d00000111sv000017ABsd00007777* +- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) + + pci:v000013F6d00000111sv0000270Fsd00001103* +- ID_MODEL_FROM_DATABASE=CT-7NJS Ultra motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CT-7NJS Ultra motherboard) + + pci:v000013F6d00000111sv0000270Fsd0000F462* +- ID_MODEL_FROM_DATABASE=7NJL1 motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (7NJL1 motherboard) + + pci:v000013F6d00000111sv0000584Dsd00003731* +- ID_MODEL_FROM_DATABASE=Digital X-Mystique ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Digital X-Mystique) + + pci:v000013F6d00000111sv0000584Dsd00003741* +- ID_MODEL_FROM_DATABASE=X-Plosion 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Plosion 7.1) + + pci:v000013F6d00000111sv0000584Dsd00003751* +- ID_MODEL_FROM_DATABASE=X-Raider 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Raider 7.1) + + pci:v000013F6d00000111sv0000584Dsd00003761* +- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP) + + pci:v000013F6d00000111sv0000584Dsd00003771* +- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP Value ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP Value) + + pci:v000013F6d00000111sv00007284sd00008384* +- ID_MODEL_FROM_DATABASE=Striker 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Striker 7.1) + + pci:v000013F6d00000211* + ID_MODEL_FROM_DATABASE=CM8738 +@@ -41187,85 +41187,85 @@ pci:v000013F6d00005011* + ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] + + pci:v000013F6d00005011sv000013F6sd00005011* +- ID_MODEL_FROM_DATABASE=HDA Controller ++ ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] (HDA Controller) + + pci:v000013F6d00008788* + ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] + + pci:v000013F6d00008788sv00001043sd00008269* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2)) + + pci:v000013F6d00008788sv00001043sd00008275* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) + + pci:v000013F6d00008788sv00001043sd000082B7* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2X) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2X)) + + pci:v000013F6d00008788sv00001043sd00008314* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3)) + + pci:v000013F6d00008788sv00001043sd00008327* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) + + pci:v000013F6d00008788sv00001043sd0000834F* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar D1) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar D1)) + + pci:v000013F6d00008788sv00001043sd0000835C* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Essence STX) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) + + pci:v000013F6d00008788sv00001043sd0000835D* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar ST) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar ST)) + + pci:v000013F6d00008788sv00001043sd0000835E* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3 Slim) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3 Slim)) + + pci:v000013F6d00008788sv00001043sd0000838E* +- ID_MODEL_FROM_DATABASE=Virtuoso 66 (Xonar DS) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 66 (Xonar DS)) + + pci:v000013F6d00008788sv00001043sd00008428* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Xense) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Xense)) + + pci:v000013F6d00008788sv00001043sd00008467* +- ID_MODEL_FROM_DATABASE=CMI8786 (Xonar DG) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) + + pci:v000013F6d00008788sv000013F6sd00008782* +- ID_MODEL_FROM_DATABASE=PCI 2.0 HD Audio ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) + + pci:v000013F6d00008788sv000013F6sd0000FFFF* +- ID_MODEL_FROM_DATABASE=CMI8787-HG2PCI ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8787-HG2PCI) + + pci:v000013F6d00008788sv000014C3sd00001710* +- ID_MODEL_FROM_DATABASE=HiFier Fantasia ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Fantasia) + + pci:v000013F6d00008788sv000014C3sd00001711* +- ID_MODEL_FROM_DATABASE=HiFier Serenade ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade) + + pci:v000013F6d00008788sv000014C3sd00001713* +- ID_MODEL_FROM_DATABASE=HiFier Serenade III ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade III) + + pci:v000013F6d00008788sv00001A58sd00000910* +- ID_MODEL_FROM_DATABASE=Barracuda AC-1 ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Barracuda AC-1) + + pci:v000013F6d00008788sv0000415Asd00005431* +- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1) + + pci:v000013F6d00008788sv00005431sd0000017A* +- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 2G ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1 2G) + + pci:v000013F6d00008788sv0000584Dsd00003781* +- ID_MODEL_FROM_DATABASE=HDA X-Purity 7.1 Platinum ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HDA X-Purity 7.1 Platinum) + + pci:v000013F6d00008788sv00007284sd00009761* +- ID_MODEL_FROM_DATABASE=CLARO ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO) + + pci:v000013F6d00008788sv00007284sd00009781* +- ID_MODEL_FROM_DATABASE=CLARO halo ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO halo) + + pci:v000013F6d00008788sv00007284sd00009783* +- ID_MODEL_FROM_DATABASE=eCLARO ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (eCLARO) + + pci:v000013F6d00008788sv00007284sd00009787* +- ID_MODEL_FROM_DATABASE=CLARO II ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO II) + + pci:v000013F7* + ID_VENDOR_FROM_DATABASE=Wildfire Communications +@@ -41298,13 +41298,13 @@ pci:v000013FEd00001600* + ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) + + pci:v000013FEd00001600sv00001601sd00000002* +- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1601 2-port unisolated RS-422/485) + + pci:v000013FEd00001600sv00001602sd00000002* +- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1602 2-port isolated RS-422/485) + + pci:v000013FEd00001600sv00001612sd00000004* +- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1612 4-port RS-232/422/485) + + pci:v000013FEd00001603* + ID_MODEL_FROM_DATABASE=PCI-1603 2-port isolated RS-232/current loop +@@ -41316,13 +41316,13 @@ pci:v000013FEd000016FF* + ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) + + pci:v000013FEd000016FFsv00001601sd00000000* +- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 PCI communications card ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1601 2-port unisolated RS-422/485 PCI communications card) + + pci:v000013FEd000016FFsv00001602sd00000000* +- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1602 2-port isolated RS-422/485) + + pci:v000013FEd000016FFsv00001612sd00000000* +- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1612 4-port RS-232/422/485) + + pci:v000013FEd00001711* + ID_MODEL_FROM_DATABASE=PCI-1711 16-channel data acquisition card 12-bit, 100kS/s +@@ -41676,37 +41676,37 @@ pci:v00001409d00007168* + ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) + + pci:v00001409d00007168sv00001409sd00000002* +- ID_MODEL_FROM_DATABASE=SER4036A3V (2x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4036A3V (2x RS232 port)) + + pci:v00001409d00007168sv00001409sd00004027* +- ID_MODEL_FROM_DATABASE=SER4027A (1x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027A (1x RS232 port)) + + pci:v00001409d00007168sv00001409sd00004037* +- ID_MODEL_FROM_DATABASE=SER4037A (2x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037A (2x RS232 port)) + + pci:v00001409d00007168sv00001409sd00004056* +- ID_MODEL_FROM_DATABASE=SER4056A (4x RS232) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056A (4x RS232)) + + pci:v00001409d00007168sv00001409sd00005027* +- ID_MODEL_FROM_DATABASE=SER4027D ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027D) + + pci:v00001409d00007168sv00001409sd00005037* +- ID_MODEL_FROM_DATABASE=SER4037D (2x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037D (2x RS232 port)) + + pci:v00001409d00007168sv00001409sd00005066* +- ID_MODEL_FROM_DATABASE=SER4066R (8x RS232) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4066R (8x RS232)) + + pci:v00001409d00007168sv00001409sd00006056* +- ID_MODEL_FROM_DATABASE=SER4056D (4x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056D (4x RS232 port)) + + pci:v00001409d00007268* + ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) + + pci:v00001409d00007268sv00001409sd00000103* +- ID_MODEL_FROM_DATABASE=PAR4008A ++ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4008A) + + pci:v00001409d00007268sv00001409sd00000104* +- ID_MODEL_FROM_DATABASE=PAR4018A ++ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4018A) + + pci:v0000140A* + ID_VENDOR_FROM_DATABASE=DSP Research Inc +@@ -41739,106 +41739,106 @@ pci:v00001412d00001712* + ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller + + pci:v00001412d00001712sv00001412sd00001712* +- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24) + + pci:v00001412d00001712sv00001412sd00003632* +- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 192 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 192) + + pci:v00001412d00001712sv00001412sd0000D630* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010) + + pci:v00001412d00001712sv00001412sd0000D631* +- ID_MODEL_FROM_DATABASE=M-Audio Delta DiO ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta DiO) + + pci:v00001412d00001712sv00001412sd0000D632* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 66 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 66) + + pci:v00001412d00001712sv00001412sd0000D633* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 44 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 44) + + pci:v00001412d00001712sv00001412sd0000D634* +- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 2496 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 2496) + + pci:v00001412d00001712sv00001412sd0000D635* +- ID_MODEL_FROM_DATABASE=M-Audio Delta TDIF ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta TDIF) + + pci:v00001412d00001712sv00001412sd0000D637* +- ID_MODEL_FROM_DATABASE=M-Audio Delta RBUS ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta RBUS) + + pci:v00001412d00001712sv00001412sd0000D638* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 410 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 410) + + pci:v00001412d00001712sv00001412sd0000D63B* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010LT ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010LT) + + pci:v00001412d00001712sv00001412sd0000D63C* +- ID_MODEL_FROM_DATABASE=Digigram VX442 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Digigram VX442) + + pci:v00001412d00001712sv00001416sd00001712* +- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 Media 7.1 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24 Media 7.1) + + pci:v00001412d00001712sv0000153Bsd00001115* +- ID_MODEL_FROM_DATABASE=EWS88 MT ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT) + + pci:v00001412d00001712sv0000153Bsd00001125* +- ID_MODEL_FROM_DATABASE=EWS88 MT (Master) ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT (Master)) + + pci:v00001412d00001712sv0000153Bsd0000112B* +- ID_MODEL_FROM_DATABASE=EWS88 D ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D) + + pci:v00001412d00001712sv0000153Bsd0000112C* +- ID_MODEL_FROM_DATABASE=EWS88 D (Master) ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D (Master)) + + pci:v00001412d00001712sv0000153Bsd00001130* +- ID_MODEL_FROM_DATABASE=EWX 24/96 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWX 24/96) + + pci:v00001412d00001712sv0000153Bsd00001138* +- ID_MODEL_FROM_DATABASE=DMX 6fire 24/96 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (DMX 6fire 24/96) + + pci:v00001412d00001712sv0000153Bsd00001151* +- ID_MODEL_FROM_DATABASE=PHASE88 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (PHASE88) + + pci:v00001412d00001712sv000016CEsd00001040* +- ID_MODEL_FROM_DATABASE=Edirol DA-2496 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Edirol DA-2496) + + pci:v00001412d00001724* + ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller + + pci:v00001412d00001724sv000010B0sd00000200* +- ID_MODEL_FROM_DATABASE=Hollywood@Home 7.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Hollywood@Home 7.1) + + pci:v00001412d00001724sv00001412sd00001724* +- ID_MODEL_FROM_DATABASE=Albatron PX865PE 7.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Albatron PX865PE 7.1) + + pci:v00001412d00001724sv00001412sd00003630* +- ID_MODEL_FROM_DATABASE=M-Audio Revolution 7.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 7.1) + + pci:v00001412d00001724sv00001412sd00003631* +- ID_MODEL_FROM_DATABASE=M-Audio Revolution 5.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 5.1) + + pci:v00001412d00001724sv0000153Bsd00001145* +- ID_MODEL_FROM_DATABASE=Aureon 7.1 Space ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Space) + + pci:v00001412d00001724sv0000153Bsd00001147* +- ID_MODEL_FROM_DATABASE=Aureon 5.1 Sky ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 5.1 Sky) + + pci:v00001412d00001724sv0000153Bsd00001150* +- ID_MODEL_FROM_DATABASE=PHASE 22 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PHASE 22) + + pci:v00001412d00001724sv0000153Bsd00001153* +- ID_MODEL_FROM_DATABASE=Aureon 7.1 Universe ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Universe) + + pci:v00001412d00001724sv000017ABsd00001906* +- ID_MODEL_FROM_DATABASE=PSC 724 [Ultimate Edge] ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PSC 724 [Ultimate Edge]) + + pci:v00001412d00001724sv0000270Fsd0000F641* +- ID_MODEL_FROM_DATABASE=ZNF3-150 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-150) + + pci:v00001412d00001724sv0000270Fsd0000F645* +- ID_MODEL_FROM_DATABASE=ZNF3-250 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-250) + + pci:v00001412d00001724sv00003130sd00004154* +- ID_MODEL_FROM_DATABASE=MAYA 44 MKII ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (MAYA 44 MKII) + + pci:v00001413* + ID_VENDOR_FROM_DATABASE=Addonics +@@ -41904,28 +41904,28 @@ pci:v00001415d00009501* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) + + pci:v00001415d00009501sv000012C4sd00000201* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (2 port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (2 port)) + + pci:v00001415d00009501sv000012C4sd00000202* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (4 port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (4 port)) + + pci:v00001415d00009501sv000012C4sd00000203* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (8 port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (8 port)) + + pci:v00001415d00009501sv000012C4sd00000210* +- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p1-4) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/104-Plus (8 port, p1-4)) + + pci:v00001415d00009501sv0000131Fsd00002050* +- ID_MODEL_FROM_DATABASE=CyberPro (4-port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberPro (4-port)) + + pci:v00001415d00009501sv0000131Fsd00002051* +- ID_MODEL_FROM_DATABASE=CyberSerial 4S Plus ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberSerial 4S Plus) + + pci:v00001415d00009501sv000015EDsd00002000* +- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 8 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 8) + + pci:v00001415d00009501sv000015EDsd00002001* +- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 16 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 16) + + pci:v00001415d00009505* + ID_MODEL_FROM_DATABASE=OXuPCI952 (Dual 16C950 UART) +@@ -41940,19 +41940,19 @@ pci:v00001415d00009510* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) + + pci:v00001415d00009510sv000012C4sd00000200* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (Unused) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) (Titan/cPCI (Unused)) + + pci:v00001415d00009511* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) + + pci:v00001415d00009511sv000012C4sd00000211* +- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p5-8) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (Titan/104-Plus (8 port, p5-8)) + + pci:v00001415d00009511sv000015EDsd00002000* +- ID_MODEL_FROM_DATABASE=MCCR Serial p4-7 of 8 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-7 of 8) + + pci:v00001415d00009511sv000015EDsd00002001* +- ID_MODEL_FROM_DATABASE=MCCR Serial p4-15 of 16 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-15 of 16) + + pci:v00001415d00009512* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (32bit bus) +@@ -41970,10 +41970,10 @@ pci:v00001415d0000C158* + ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART + + pci:v00001415d0000C158sv0000E4BFsd0000C504* +- ID_MODEL_FROM_DATABASE=CP4-SCAT Wireless Technologies Carrier Board ++ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (CP4-SCAT Wireless Technologies Carrier Board) + + pci:v00001415d0000C158sv0000E4BFsd0000D551* +- ID_MODEL_FROM_DATABASE=DU1-MUSTANG Dual-Port RS-485 Interface ++ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (DU1-MUSTANG Dual-Port RS-485 Interface) + + pci:v00001415d0000C308* + ID_MODEL_FROM_DATABASE=EX-44016 16-port serial +@@ -42042,7 +42042,7 @@ pci:v00001425d00000030* + ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter + + pci:v00001425d00000030sv0000103Csd0000705E* +- ID_MODEL_FROM_DATABASE=PCIe 10GBase-SR [AD386A] ++ ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter (PCIe 10GBase-SR [AD386A]) + + pci:v00001425d00000031* + ID_MODEL_FROM_DATABASE=T320 10GbE Dual Port Adapter +@@ -43170,13 +43170,13 @@ pci:v0000144Dd0000A820* + ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X + + pci:v0000144Dd0000A820sv00001028sd00001F95* +- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 400GB ++ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 400GB) + + pci:v0000144Dd0000A820sv00001028sd00001F96* +- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 800GB ++ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 800GB) + + pci:v0000144Dd0000A820sv00001028sd00001F97* +- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 1600GB ++ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 1600GB) + + pci:v0000144E* + ID_VENDOR_FROM_DATABASE=OLITEC +@@ -43656,19 +43656,19 @@ pci:v000014C1d00000008* + ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC + + pci:v000014C1d00000008sv000014C1sd00000008* +- ID_MODEL_FROM_DATABASE=10G-PCIE-8A ++ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A) + + pci:v000014C1d00000008sv000014C1sd00000009* +- ID_MODEL_FROM_DATABASE=10G-PCIE-8A (MSI-X firmware) ++ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A (MSI-X firmware)) + + pci:v000014C1d00000008sv000014C1sd0000000A* +- ID_MODEL_FROM_DATABASE=10G-PCIE-8B ++ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8B) + + pci:v000014C1d00008043* + ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect + + pci:v000014C1d00008043sv0000103Csd00001240* +- ID_MODEL_FROM_DATABASE=Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) ++ ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect (Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)) + + pci:v000014C2* + ID_VENDOR_FROM_DATABASE=DTK Computer +@@ -43929,19 +43929,19 @@ pci:v000014E4d00001600* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express + + pci:v000014E4d00001600sv00001028sd000001C1* +- ID_MODEL_FROM_DATABASE=Precision 490 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Precision 490) + + pci:v000014E4d00001600sv00001028sd000001C2* +- ID_MODEL_FROM_DATABASE=Latitude D620 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Latitude D620) + + pci:v000014E4d00001600sv0000103Csd00003015* +- ID_MODEL_FROM_DATABASE=PCIe LAN on Motherboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (PCIe LAN on Motherboard) + + pci:v000014E4d00001600sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 Onboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (E4500 Onboard) + + pci:v000014E4d00001600sv00001259sd00002705* +- ID_MODEL_FROM_DATABASE=AT-2711FX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (AT-2711FX) + + pci:v000014E4d00001601* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5752M Gigabit Ethernet PCI Express +@@ -43956,52 +43956,52 @@ pci:v000014E4d00001639* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet + + pci:v000014E4d00001639sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 BCM5709 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R710 BCM5709 Gigabit Ethernet) + + pci:v000014E4d00001639sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 BCM5709 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R610 BCM5709 Gigabit Ethernet) + + pci:v000014E4d00001639sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 BCM5709 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge T610 BCM5709 Gigabit Ethernet) + + pci:v000014E4d00001639sv0000103Csd00007055* +- ID_MODEL_FROM_DATABASE=NC382i Integrated Multi-port PCI Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382i Integrated Multi-port PCI Express Gigabit Server Adapter) + + pci:v000014E4d00001639sv0000103Csd00007059* +- ID_MODEL_FROM_DATABASE=NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter) + + pci:v000014E4d00001639sv000010A9sd00008027* +- ID_MODEL_FROM_DATABASE=Quad port Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (Quad port Gigabit Ethernet Controller) + + pci:v000014E4d0000163A* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet + + pci:v000014E4d0000163Asv00001028sd0000027B* +- ID_MODEL_FROM_DATABASE=PowerEdge M805 Broadcom NetXtreme II BCM5709S ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M805 Broadcom NetXtreme II BCM5709S) + + pci:v000014E4d0000163Asv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 BCM5709S Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M710 BCM5709S Gigabit Ethernet) + + pci:v000014E4d0000163Asv0000103Csd0000171D* +- ID_MODEL_FROM_DATABASE=NC382m Dual Port 1GbE Multifunction BL-c Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382m Dual Port 1GbE Multifunction BL-c Adapter) + + pci:v000014E4d0000163Asv0000103Csd00007056* +- ID_MODEL_FROM_DATABASE=NC382i Integrated Quad Port PCI Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382i Integrated Quad Port PCI Express Gigabit Server Adapter) + + pci:v000014E4d0000163Asv00001259sd00002984* +- ID_MODEL_FROM_DATABASE=AT-2973SX ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (AT-2973SX) + + pci:v000014E4d0000163B* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet + + pci:v000014E4d0000163Bsv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 BCM5716 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R410 BCM5716 Gigabit Ethernet) + + pci:v000014E4d0000163Bsv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 BCM5716 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge T410 BCM5716 Gigabit Ethernet) + + pci:v000014E4d0000163Bsv00001028sd000002F1* +- ID_MODEL_FROM_DATABASE=PowerEdge R510 BCM5716 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R510 BCM5716 Gigabit Ethernet) + + pci:v000014E4d0000163C* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716S Gigabit Ethernet +@@ -44028,220 +44028,220 @@ pci:v000014E4d00001644* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet + + pci:v000014E4d00001644sv00001014sd00000277* +- ID_MODEL_FROM_DATABASE=Broadcom Vigil B5700 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom Vigil B5700 1000Base-T) + + pci:v000014E4d00001644sv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) + + pci:v000014E4d00001644sv00001028sd00000106* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) + + pci:v000014E4d00001644sv00001028sd00000109* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000Base-T) + + pci:v000014E4d00001644sv00001028sd0000010A* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000BaseTX) + + pci:v000014E4d00001644sv000010B7sd00001000* +- ID_MODEL_FROM_DATABASE=3C996-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-T 1000Base-T) + + pci:v000014E4d00001644sv000010B7sd00001001* +- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996B-T 1000Base-T) + + pci:v000014E4d00001644sv000010B7sd00001002* +- ID_MODEL_FROM_DATABASE=3C996C-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996C-T 1000Base-T) + + pci:v000014E4d00001644sv000010B7sd00001003* +- ID_MODEL_FROM_DATABASE=3C997-T 1000Base-T Dual Port ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-T 1000Base-T Dual Port) + + pci:v000014E4d00001644sv000010B7sd00001004* +- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-SX 1000Base-SX) + + pci:v000014E4d00001644sv000010B7sd00001005* +- ID_MODEL_FROM_DATABASE=3C997-SX 1000Base-SX Dual Port ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-SX 1000Base-SX Dual Port) + + pci:v000014E4d00001644sv000010B7sd00001008* +- ID_MODEL_FROM_DATABASE=3C942 Gigabit LOM (31X31) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C942 Gigabit LOM (31X31)) + + pci:v000014E4d00001644sv000014E4sd00000002* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) + + pci:v000014E4d00001644sv000014E4sd00000003* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) + + pci:v000014E4d00001644sv000014E4sd00000004* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-T) + + pci:v000014E4d00001644sv000014E4sd00001028* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000BaseTX) + + pci:v000014E4d00001644sv000014E4sd00001644* +- ID_MODEL_FROM_DATABASE=BCM5700 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (BCM5700 1000Base-T) + + pci:v000014E4d00001645* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet + + pci:v000014E4d00001645sv00000E11sd0000007C* +- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) + + pci:v000014E4d00001645sv00000E11sd0000007D* +- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) + + pci:v000014E4d00001645sv00000E11sd00000085* +- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) + + pci:v000014E4d00001645sv00000E11sd00000099* +- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) + + pci:v000014E4d00001645sv00000E11sd0000009A* +- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) + + pci:v000014E4d00001645sv00000E11sd000000C1* +- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) + + pci:v000014E4d00001645sv00001028sd00000121* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Broadcom BCM5701 1000Base-T) + + pci:v000014E4d00001645sv0000103Csd0000128A* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T (HP, OEM 3COM) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T (HP, OEM 3COM)) + + pci:v000014E4d00001645sv0000103Csd0000128B* +- ID_MODEL_FROM_DATABASE=1000Base-SX (PCI) [A7073A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (1000Base-SX (PCI) [A7073A]) + + pci:v000014E4d00001645sv0000103Csd000012A4* +- ID_MODEL_FROM_DATABASE=Core Lan 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core Lan 1000Base-T) + + pci:v000014E4d00001645sv0000103Csd000012C1* +- ID_MODEL_FROM_DATABASE=IOX Core Lan 1000Base-T [A7109AX] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IOX Core Lan 1000Base-T [A7109AX]) + + pci:v000014E4d00001645sv0000103Csd00001300* +- ID_MODEL_FROM_DATABASE=Core LAN/SCSI Combo [A6794A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core LAN/SCSI Combo [A6794A]) + + pci:v000014E4d00001645sv000010A9sd00008010* +- ID_MODEL_FROM_DATABASE=IO9/IO10 Gigabit Ethernet (Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IO9/IO10 Gigabit Ethernet (Copper)) + + pci:v000014E4d00001645sv000010A9sd00008011* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Copper)) + + pci:v000014E4d00001645sv000010A9sd00008012* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Fiber) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Fiber)) + + pci:v000014E4d00001645sv000010B7sd00001004* +- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996-SX 1000Base-SX) + + pci:v000014E4d00001645sv000010B7sd00001006* +- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996B-T 1000Base-T) + + pci:v000014E4d00001645sv000010B7sd00001007* +- ID_MODEL_FROM_DATABASE=3C1000-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C1000-T 1000Base-T) + + pci:v000014E4d00001645sv000010B7sd00001008* +- ID_MODEL_FROM_DATABASE=3C940-BR01 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C940-BR01 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000001* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000005* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000006* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000007* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-SX) + + pci:v000014E4d00001645sv000014E4sd00000008* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00001645* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet + + pci:v000014E4d00001645sv000014E4sd00008008* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001646* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet + + pci:v000014E4d00001646sv00000E11sd000000BB* +- ID_MODEL_FROM_DATABASE=NC7760 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (NC7760 1000BaseTX) + + pci:v000014E4d00001646sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5702 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (Broadcom BCM5702 1000BaseTX) + + pci:v000014E4d00001646sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5702 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (BCM5702 1000BaseTX) + + pci:v000014E4d00001647* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet + + pci:v000014E4d00001647sv00000E11sd00000099* +- ID_MODEL_FROM_DATABASE=NC7780 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7780 1000BaseTX) + + pci:v000014E4d00001647sv00000E11sd0000009A* +- ID_MODEL_FROM_DATABASE=NC7770 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7770 1000BaseTX) + + pci:v000014E4d00001647sv000010A9sd00008010* +- ID_MODEL_FROM_DATABASE=SGI IO9 Gigabit Ethernet (Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (SGI IO9 Gigabit Ethernet (Copper)) + + pci:v000014E4d00001647sv000014E4sd00000009* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001647sv000014E4sd0000000A* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseSX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseSX) + + pci:v000014E4d00001647sv000014E4sd0000000B* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001647sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001647sv000014E4sd0000800A* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001648* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet + + pci:v000014E4d00001648sv00000E11sd000000CF* +- ID_MODEL_FROM_DATABASE=NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv00000E11sd000000D0* +- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv00000E11sd000000D1* +- ID_MODEL_FROM_DATABASE=NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 1750) + + pci:v000014E4d00001648sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Broadcom NetXtreme BCM5704 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 6850 Broadcom NetXtreme BCM5704) + + pci:v000014E4d00001648sv0000103Csd0000310F* +- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv000010A9sd00008013* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Copper)) + + pci:v000014E4d00001648sv000010A9sd00008018* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (A330) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (A330)) + + pci:v000014E4d00001648sv000010A9sd0000801A* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (IA-blade) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (IA-blade)) + + pci:v000014E4d00001648sv000010A9sd0000801B* +- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Copper)) + + pci:v000014E4d00001648sv000010B7sd00002000* +- ID_MODEL_FROM_DATABASE=3C998-T Dual Port 10/100/1000 PCI-X ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C998-T Dual Port 10/100/1000 PCI-X) + + pci:v000014E4d00001648sv000010B7sd00003000* +- ID_MODEL_FROM_DATABASE=3C999-T Quad Port 10/100/1000 PCI-X ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C999-T Quad Port 10/100/1000 PCI-X) + + pci:v000014E4d00001648sv00001166sd00001648* +- ID_MODEL_FROM_DATABASE=NetXtreme CIOB-E 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NetXtreme CIOB-E 1000Base-T) + + pci:v000014E4d00001648sv00001734sd0000100B* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard LAN ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PRIMERGY RX/TX series onboard LAN) + + pci:v000014E4d00001649* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S_2 Gigabit Ethernet +@@ -44250,46 +44250,46 @@ pci:v000014E4d0000164A* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet + + pci:v000014E4d0000164Asv0000103Csd00001709* +- ID_MODEL_FROM_DATABASE=NC371i Integrated PCI-X Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC371i Integrated PCI-X Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Asv0000103Csd00003070* +- ID_MODEL_FROM_DATABASE=NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Asv0000103Csd00003101* +- ID_MODEL_FROM_DATABASE=NC370T MultifuNCtion Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370T MultifuNCtion Gigabit Server Adapter) + + pci:v000014E4d0000164Asv0000103Csd00003106* +- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164C* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet + + pci:v000014E4d0000164Csv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R900 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge 2970 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge T605 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00000223* +- ID_MODEL_FROM_DATABASE=PowerEdge R905 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R905 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00001F12* +- ID_MODEL_FROM_DATABASE=PowerEdge R805/R905 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805/R905 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv0000103Csd00007037* +- ID_MODEL_FROM_DATABASE=NC373T PCI Express Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373T PCI Express Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Csv0000103Csd00007038* +- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Csv0000103Csd00007045* +- ID_MODEL_FROM_DATABASE=NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702FE Gigabit Ethernet +@@ -44298,10 +44298,10 @@ pci:v000014E4d0000164E* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] + + pci:v000014E4d0000164Esv0000103Csd0000171C* +- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532m Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d0000164Esv0000103Csd00007058* +- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532i Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d0000164F* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711 10-Gigabit PCIe +@@ -44310,31 +44310,31 @@ pci:v000014E4d00001650* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe + + pci:v000014E4d00001650sv0000103Csd0000171C* +- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532m Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d00001650sv0000103Csd00007058* +- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532i Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d00001653* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet + + pci:v000014E4d00001653sv00000E11sd000000E3* +- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (NC7761 Gigabit Server Adapter) + + pci:v000014E4d00001653sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (Primergy Econel 200 D2020 mainboard) + + pci:v000014E4d00001654* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet + + pci:v000014E4d00001654sv00000E11sd000000E3* +- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC7761 Gigabit Server Adapter) + + pci:v000014E4d00001654sv0000103Csd00003100* +- ID_MODEL_FROM_DATABASE=NC1020 ProLiant Gigabit Server Adapter 32 PCI ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC1020 ProLiant Gigabit Server Adapter 32 PCI) + + pci:v000014E4d00001654sv0000103Csd00003226* +- ID_MODEL_FROM_DATABASE=NC150T 4-port Gigabit Combo Switch & Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC150T 4-port Gigabit Combo Switch & Adapter) + + pci:v000014E4d00001655* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe +@@ -44349,52 +44349,52 @@ pci:v000014E4d00001659* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express + + pci:v000014E4d00001659sv00001014sd000002C6* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (eServer xSeries server mainboard) + + pci:v000014E4d00001659sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge 860) + + pci:v000014E4d00001659sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 Broadcom NetXtreme BCM5721 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge R200 Broadcom NetXtreme BCM5721) + + pci:v000014E4d00001659sv0000103Csd0000170B* +- ID_MODEL_FROM_DATABASE=NC320m PCI Express Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320m PCI Express Dual Port Gigabit Server Adapter) + + pci:v000014E4d00001659sv0000103Csd00007031* +- ID_MODEL_FROM_DATABASE=NC320T PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320T PCIe Gigabit Server Adapter) + + pci:v000014E4d00001659sv0000103Csd00007032* +- ID_MODEL_FROM_DATABASE=NC320i PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320i PCIe Gigabit Server Adapter) + + pci:v000014E4d00001659sv00001734sd00001061* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard LAN ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PRIMERGY RX/TX S2 series onboard LAN) + + pci:v000014E4d0000165A* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express + + pci:v000014E4d0000165Asv00001014sd00000378* +- ID_MODEL_FROM_DATABASE=IBM System x3350 (Machine type 4192) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (IBM System x3350 (Machine type 4192)) + + pci:v000014E4d0000165Asv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 Broadcom NetXtreme 5722 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge R300 Broadcom NetXtreme 5722) + + pci:v000014E4d0000165Asv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 Broadcom NetXtreme 5722 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T300 Broadcom NetXtreme 5722) + + pci:v000014E4d0000165Asv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Broadcom NetXtreme 5722 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T105 Broadcom NetXtreme 5722) + + pci:v000014E4d0000165Asv0000103Csd00007051* +- ID_MODEL_FROM_DATABASE=NC105i PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105i PCIe Gigabit Server Adapter) + + pci:v000014E4d0000165Asv0000103Csd00007052* +- ID_MODEL_FROM_DATABASE=NC105T PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105T PCIe Gigabit Server Adapter) + + pci:v000014E4d0000165B* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe + + pci:v000014E4d0000165Bsv0000103Csd0000705D* +- ID_MODEL_FROM_DATABASE=NC107i Integrated PCI Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe (NC107i Integrated PCI Express Gigabit Server Adapter) + + pci:v000014E4d0000165C* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5724 Gigabit Ethernet PCIe +@@ -44403,25 +44403,25 @@ pci:v000014E4d0000165D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet + + pci:v000014E4d0000165Dsv00001028sd0000865D* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Latitude D400) + + pci:v000014E4d0000165Dsv000014E4sd0000165D* +- ID_MODEL_FROM_DATABASE=Dell Latitude D600 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Dell Latitude D600) + + pci:v000014E4d0000165E* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet + + pci:v000014E4d0000165Esv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC8000 laptop) + + pci:v000014E4d0000165Esv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC6000 laptop) + + pci:v000014E4d0000165Esv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NX6110/NC6120) + + pci:v000014E4d0000165Esv000010CFsd00001279* +- ID_MODEL_FROM_DATABASE=LifeBook E8010D ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (LifeBook E8010D) + + pci:v000014E4d0000165F* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5720 Gigabit Ethernet PCIe +@@ -44439,7 +44439,7 @@ pci:v000014E4d00001668* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet + + pci:v000014E4d00001668sv0000103Csd00007039* +- ID_MODEL_FROM_DATABASE=NC324i PCIe Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet (NC324i PCIe Dual Port Gigabit Server Adapter) + + pci:v000014E4d00001669* + ID_MODEL_FROM_DATABASE=NetXtreme 5714S Gigabit Ethernet +@@ -44448,7 +44448,7 @@ pci:v000014E4d0000166A* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet + + pci:v000014E4d0000166Asv0000103Csd00007035* +- ID_MODEL_FROM_DATABASE=NC325i Integrated Dual port PCIe Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet (NC325i Integrated Dual port PCIe Express Gigabit Server Adapter) + + pci:v000014E4d0000166B* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5780S Gigabit Ethernet +@@ -44472,91 +44472,91 @@ pci:v000014E4d00001677* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express + + pci:v000014E4d00001677sv00001028sd00000176* +- ID_MODEL_FROM_DATABASE=Dimension XPS Gen 4 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension XPS Gen 4) + + pci:v000014E4d00001677sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension 8400) + + pci:v000014E4d00001677sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Optiplex GX280) + + pci:v000014E4d00001677sv00001028sd00000182* +- ID_MODEL_FROM_DATABASE=Latitude D610 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Latitude D610) + + pci:v000014E4d00001677sv00001028sd00000187* +- ID_MODEL_FROM_DATABASE=Precision M70 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision M70) + + pci:v000014E4d00001677sv00001028sd000001A8* +- ID_MODEL_FROM_DATABASE=Precision 380 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision 380) + + pci:v000014E4d00001677sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (OptiPlex GX620) + + pci:v000014E4d00001677sv0000103Csd00003006* +- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (DC7100 SFF(DX878AV)) + + pci:v000014E4d00001677sv00001462sd0000028C* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (915P/G Neo2) + + pci:v000014E4d00001677sv00001734sd0000105D* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Scenic W620) + + pci:v000014E4d00001678* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet + + pci:v000014E4d00001678sv0000103Csd0000703E* +- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) + + pci:v000014E4d00001679* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet + + pci:v000014E4d00001679sv0000103Csd00001707* +- ID_MODEL_FROM_DATABASE=NC326m PCIe Dual Port Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326m PCIe Dual Port Adapter) + + pci:v000014E4d00001679sv0000103Csd0000170C* +- ID_MODEL_FROM_DATABASE=NC325m PCIe Quad Port Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC325m PCIe Quad Port Adapter) + + pci:v000014E4d00001679sv0000103Csd0000703C* +- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) + + pci:v000014E4d0000167A* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express + + pci:v000014E4d0000167Asv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (OptiPlex 745) + + pci:v000014E4d0000167Asv00001028sd000001DE* +- ID_MODEL_FROM_DATABASE=Precision 390 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision 390) + + pci:v000014E4d0000167Asv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (PowerEdge SC440) + + pci:v000014E4d0000167Asv00001028sd00000214* +- ID_MODEL_FROM_DATABASE=Precision T3400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T3400) + + pci:v000014E4d0000167Asv00001028sd0000021E* +- ID_MODEL_FROM_DATABASE=Precision T5400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T5400) + + pci:v000014E4d0000167B* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express + + pci:v000014E4d0000167Bsv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express (DC5750 Microtower) + + pci:v000014E4d0000167D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express + + pci:v000014E4d0000167Dsv00001014sd00000577* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad Z60t) + + pci:v000014E4d0000167Dsv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP nx8220 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP nx8220) + + pci:v000014E4d0000167Dsv0000103Csd00000940* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP Compaq nw8240 Mobile Workstation) + + pci:v000014E4d0000167Dsv000017AAsd00002081* +- ID_MODEL_FROM_DATABASE=ThinkPad R60e ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad R60e) + + pci:v000014E4d0000167E* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5751F Fast Ethernet PCI Express +@@ -44592,22 +44592,22 @@ pci:v000014E4d00001688* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet + + pci:v000014E4d00001688sv00001259sd00002708* +- ID_MODEL_FROM_DATABASE=AT-2712 FX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet (AT-2712 FX) + + pci:v000014E4d0000168A* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet + + pci:v000014E4d0000168Asv00001028sd00001F5C* +- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) + + pci:v000014E4d0000168Asv00001028sd00001F5D* +- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) + + pci:v000014E4d0000168Asv00001028sd00001F67* +- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) + + pci:v000014E4d0000168Asv00001028sd00001F68* +- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) + + pci:v000014E4d0000168D* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet +@@ -44616,34 +44616,34 @@ pci:v000014E4d0000168E* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet + + pci:v000014E4d0000168Esv0000103Csd00001798* +- ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (Flex-10 10Gb 2-port 530FLB Adapter [Meru]) + + pci:v000014E4d0000168Esv0000103Csd000017A5* +- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Flex-10 10Gb 2-port 530M Adapter) + + pci:v000014E4d0000168Esv0000103Csd000018D3* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530T Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001930* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001931* +- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP StoreFabric CN1100R Dual Port Converged Network Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001932* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLB Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001933* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534M Adapter) + + pci:v000014E4d0000168Esv0000103Csd0000193A* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) + + pci:v000014E4d0000168Esv0000103Csd00003382* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) + + pci:v000014E4d0000168Esv0000103Csd0000339D* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530SFP+ Adapter) + + pci:v000014E4d00001690* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe +@@ -44652,22 +44652,22 @@ pci:v000014E4d00001691* + ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe + + pci:v000014E4d00001691sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe (XPS 8300) + + pci:v000014E4d00001692* + ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe + + pci:v000014E4d00001692sv00001025sd0000033D* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe (Aspire 7740G) + + pci:v000014E4d00001693* + ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express + + pci:v000014E4d00001693sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (Aspire 5920G) + + pci:v000014E4d00001693sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=6710b ++ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (6710b) + + pci:v000014E4d00001694* + ID_MODEL_FROM_DATABASE=NetLink BCM57790 Gigabit Ethernet PCIe +@@ -44676,10 +44676,10 @@ pci:v000014E4d00001696* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet + + pci:v000014E4d00001696sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (d530 CMT (DG746A)) + + pci:v000014E4d00001696sv000014E4sd0000000D* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (NetXtreme BCM5782 1000Base-T) + + pci:v000014E4d00001698* + ID_MODEL_FROM_DATABASE=NetLink BCM5784M Gigabit Ethernet PCIe +@@ -44697,16 +44697,16 @@ pci:v000014E4d0000169C* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet + + pci:v000014E4d0000169Csv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (MX6125) + + pci:v000014E4d0000169Csv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (NC2400) + + pci:v000014E4d0000169Csv0000144Dsd0000C018* +- ID_MODEL_FROM_DATABASE=X20 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (X20) + + pci:v000014E4d0000169Csv00001462sd0000590C* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (KT6 Delta-FIS2R (MS-6590)) + + pci:v000014E4d0000169D* + ID_MODEL_FROM_DATABASE=NetLink BCM5789 Gigabit Ethernet PCI Express +@@ -44721,112 +44721,112 @@ pci:v000014E4d000016A2* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet + + pci:v000014E4d000016A2sv0000103Csd00001916* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630FLB Adapter) + + pci:v000014E4d000016A2sv0000103Csd00001917* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) + + pci:v000014E4d000016A4* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function + + pci:v000014E4d000016A4sv0000103Csd00001916* +- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630FLB Adapter) + + pci:v000014E4d000016A4sv0000103Csd00001917* +- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630M Adapter) + + pci:v000014E4d000016A5* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function + + pci:v000014E4d000016A5sv00001028sd00001F5C* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A5sv00001028sd00001F5D* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A5sv00001028sd00001F67* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A5sv00001028sd00001F68* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A6* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet + + pci:v000014E4d000016A6sv00000E11sd000000BB* +- ID_MODEL_FROM_DATABASE=NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) + + pci:v000014E4d000016A6sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016A6sv000014E4sd0000000C* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016A6sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016A7* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet + + pci:v000014E4d000016A7sv00000E11sd000000CA* +- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016A7sv00000E11sd000000CB* +- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016A7sv00001014sd0000026F* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (eServer xSeries server mainboard) + + pci:v000014E4d000016A7sv000014E4sd00000009* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016A7sv000014E4sd0000000A* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) + + pci:v000014E4d000016A7sv000014E4sd0000000B* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016A7sv000014E4sd0000800A* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016A8* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet + + pci:v000014E4d000016A8sv0000103Csd0000132B* +- ID_MODEL_FROM_DATABASE=PCI-X 1000Mbps Dual-port Built-in ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (PCI-X 1000Mbps Dual-port Built-in) + + pci:v000014E4d000016A8sv000010A9sd00008014* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Fiber) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Fiber)) + + pci:v000014E4d000016A8sv000010A9sd0000801C* +- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Fiber) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Fiber)) + + pci:v000014E4d000016A8sv000010B7sd00002001* +- ID_MODEL_FROM_DATABASE=3C998-SX Dual Port 1000-SX PCI-X ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (3C998-SX Dual Port 1000-SX PCI-X) + + pci:v000014E4d000016A9* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function + + pci:v000014E4d000016A9sv00001028sd00001F5C* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016A9sv00001028sd00001F5D* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016A9sv00001028sd00001F67* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016A9sv00001028sd00001F68* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016AA* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet + + pci:v000014E4d000016AAsv0000103Csd00003102* +- ID_MODEL_FROM_DATABASE=NC370F MultifuNCtion Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370F MultifuNCtion Gigabit Server Adapter) + + pci:v000014E4d000016AAsv0000103Csd0000310C* +- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016AB* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function +@@ -44838,97 +44838,97 @@ pci:v000014E4d000016ACsv00001014sd00000304* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet + + pci:v000014E4d000016ACsv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Broadcom NetXtreme II BCM5708S ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge 1955 Broadcom NetXtreme II BCM5708S) + + pci:v000014E4d000016ACsv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 Broadcom NetXtreme II BCM5708S ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge M605 Broadcom NetXtreme II BCM5708S) + + pci:v000014E4d000016ACsv0000103Csd00001706* +- ID_MODEL_FROM_DATABASE=NC373m Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373m Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016ACsv0000103Csd00007038* +- ID_MODEL_FROM_DATABASE=NC373i PCI Express Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i PCI Express Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016ACsv0000103Csd0000703B* +- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016ACsv0000103Csd0000703D* +- ID_MODEL_FROM_DATABASE=NC373F PCI Express Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373F PCI Express Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016AD* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + + pci:v000014E4d000016ADsv0000103Csd00001916* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630FLB Adapter) + + pci:v000014E4d000016ADsv0000103Csd00001917* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630M Adapter) + + pci:v000014E4d000016AE* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function + + pci:v000014E4d000016AEsv0000103Csd00001798* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLB Adapter) + + pci:v000014E4d000016AEsv0000103Csd000017A5* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530M Adapter) + + pci:v000014E4d000016AEsv0000103Csd000018D3* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530T Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001930* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001931* +- ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR CN1100R Dual Port Converged Network Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001932* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLB Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001933* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534M Adapter) + + pci:v000014E4d000016AEsv0000103Csd0000193A* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 533FLR-T Adapter) + + pci:v000014E4d000016AEsv0000103Csd00003382* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter) + + pci:v000014E4d000016AEsv0000103Csd0000339D* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530SFP+ Adapter) + + pci:v000014E4d000016AF* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function + + pci:v000014E4d000016AFsv0000103Csd00001798* +- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530FLB Adapter) + + pci:v000014E4d000016AFsv0000103Csd000017A5* +- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530M Adapter) + + pci:v000014E4d000016AFsv0000103Csd000018D3* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530T Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001930* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001931* +- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP StoreFabric CN1100R Dual Port Converged Network Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001932* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLB Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001933* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534M Adapter) + + pci:v000014E4d000016AFsv0000103Csd0000193A* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) + + pci:v000014E4d000016AFsv0000103Csd00003382* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) + + pci:v000014E4d000016AFsv0000103Csd0000339D* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530SFP+ Adapter) + + pci:v000014E4d000016B0* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe +@@ -44937,7 +44937,7 @@ pci:v000014E4d000016B1* + ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe + + pci:v000014E4d000016B1sv00001849sd000096B1* +- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard ++ ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe (Z77 Extreme4 motherboard) + + pci:v000014E4d000016B2* + ID_MODEL_FROM_DATABASE=NetLink BCM57791 Gigabit Ethernet PCIe +@@ -44970,37 +44970,37 @@ pci:v000014E4d000016C6* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet + + pci:v000014E4d000016C6sv000010B7sd00001100* +- ID_MODEL_FROM_DATABASE=3C1000B-T 10/100/1000 PCI ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (3C1000B-T 10/100/1000 PCI) + + pci:v000014E4d000016C6sv000014E4sd0000000C* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016C6sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016C7* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet + + pci:v000014E4d000016C7sv00000E11sd000000CA* +- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016C7sv00000E11sd000000CB* +- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016C7sv0000103Csd000012C3* +- ID_MODEL_FROM_DATABASE=Combo FC/GigE-SX [A9782A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-SX [A9782A]) + + pci:v000014E4d000016C7sv0000103Csd000012CA* +- ID_MODEL_FROM_DATABASE=Combo FC/GigE-T [A9784A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-T [A9784A]) + + pci:v000014E4d000016C7sv0000103Csd00001321* +- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Core I/O LAN/SCSI Combo [AB314A]) + + pci:v000014E4d000016C7sv000014E4sd00000009* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016C7sv000014E4sd0000000A* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) + + pci:v000014E4d000016DD* + ID_MODEL_FROM_DATABASE=NetLink BCM5781 Gigabit Ethernet PCI Express +@@ -45015,10 +45015,10 @@ pci:v000014E4d000016FD* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express + + pci:v000014E4d000016FDsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nx9420 Notebook) + + pci:v000014E4d000016FDsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nw8440) + + pci:v000014E4d000016FE* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5753F Fast Ethernet PCI Express +@@ -45027,40 +45027,40 @@ pci:v000014E4d0000170C* + ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX + + pci:v000014E4d0000170Csv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6000 laptop) + + pci:v000014E4d0000170Csv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 700m/710m) + + pci:v000014E4d0000170Csv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 5160) + + pci:v000014E4d0000170Csv00001028sd000001AF* +- ID_MODEL_FROM_DATABASE=Inspiron 6400 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6400) + + pci:v000014E4d0000170Csv00001028sd000001CD* +- ID_MODEL_FROM_DATABASE=Inspiron 9400 Laptop ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 9400 Laptop) + + pci:v000014E4d0000170Csv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (XPS M1210) + + pci:v000014E4d0000170Csv00001028sd000001D8* +- ID_MODEL_FROM_DATABASE=Inspiron E1405 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron E1405) + + pci:v000014E4d0000170Csv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX6110/NC6120) + + pci:v000014E4d0000170Csv0000103Csd000030A2* +- ID_MODEL_FROM_DATABASE=NX7300 laptop ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX7300 laptop) + + pci:v000014E4d0000170Csv000014E4sd0000170C* +- ID_MODEL_FROM_DATABASE=HP Compaq 6720t Mobile Thin Client ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (HP Compaq 6720t Mobile Thin Client) + + pci:v000014E4d0000170D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX + + pci:v000014E4d0000170Dsv00001014sd00000545* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX (ThinkPad R40e) + + pci:v000014E4d0000170E* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX +@@ -45072,16 +45072,16 @@ pci:v000014E4d00001713* + ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express + + pci:v000014E4d00001713sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Inspiron 1420) + + pci:v000014E4d00001713sv00001028sd00000209* +- ID_MODEL_FROM_DATABASE=XPS M1330 ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (XPS M1330) + + pci:v000014E4d00001713sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Compaq 6710b) + + pci:v000014E4d00001713sv000017AAsd00003A23* +- ID_MODEL_FROM_DATABASE=IdeaPad S10e ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (IdeaPad S10e) + + pci:v000014E4d00003352* + ID_MODEL_FROM_DATABASE=BCM3352 +@@ -45108,16 +45108,16 @@ pci:v000014E4d00004301* + ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller + + pci:v000014E4d00004301sv00001028sd00000407* +- ID_MODEL_FROM_DATABASE=TrueMobile 1180 Onboard WLAN ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (TrueMobile 1180 Onboard WLAN) + + pci:v000014E4d00004301sv00001043sd00000120* +- ID_MODEL_FROM_DATABASE=WL-103b Wireless LAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WL-103b Wireless LAN PC Card) + + pci:v000014E4d00004301sv000016A5sd00001602* +- ID_MODEL_FROM_DATABASE=B-300 802.11b Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (B-300 802.11b Wireless CardBus Adapter) + + pci:v000014E4d00004301sv00001737sd00004301* +- ID_MODEL_FROM_DATABASE=WMP11 v2.7 802.11b Wireless-B PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WMP11 v2.7 802.11b Wireless-B PCI Adapter) + + pci:v000014E4d00004305* + ID_MODEL_FROM_DATABASE=BCM4307 V.90 56k Modem +@@ -45135,85 +45135,85 @@ pci:v000014E4d00004311* + ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN + + pci:v000014E4d00004311sv00001028sd00000007* +- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN Mini-Card) + + pci:v000014E4d00004311sv00001028sd00000008* +- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN ExpressCard ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN ExpressCard) + + pci:v000014E4d00004311sv0000103Csd00001363* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001364* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001365* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001374* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001375* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001376* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001377* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd0000137F* +- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001380* +- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) + + pci:v000014E4d00004311sv000014E4sd00004311* +- ID_MODEL_FROM_DATABASE=BCM94311MCG ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM94311MCG) + + pci:v000014E4d00004312* + ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g + + pci:v000014E4d00004312sv00001028sd00000007* +- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN Mini-Card) + + pci:v000014E4d00004312sv00001028sd00000008* +- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN ExpressCard ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN ExpressCard) + + pci:v000014E4d00004312sv0000103Csd0000135A* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd0000135F* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001360* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001361* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001362* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001370* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001371* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001372* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001373* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Presario V3242AU) + + pci:v000014E4d00004312sv0000106Bsd00000089* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (AirPort Extreme) + + pci:v000014E4d00004312sv00001371sd0000103C* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11 Multiband-netwerkadapter(6715s) ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11 Multiband-netwerkadapter(6715s)) + + pci:v000014E4d00004313* + ID_MODEL_FROM_DATABASE=BCM4311 802.11a +@@ -45222,175 +45222,175 @@ pci:v000014E4d00004315* + ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY + + pci:v000014E4d00004315sv00001028sd0000000B* +- ID_MODEL_FROM_DATABASE=Wireless 1395 WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1395 WLAN Mini-Card) + + pci:v000014E4d00004315sv00001028sd0000000C* +- ID_MODEL_FROM_DATABASE=Wireless 1397 WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1397 WLAN Mini-Card) + + pci:v000014E4d00004315sv0000103Csd0000137C* +- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004315sv0000103Csd0000137D* +- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004315sv0000103Csd00001507* +- ID_MODEL_FROM_DATABASE=U98Z049.00 Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (U98Z049.00 Wireless Mini PCIe Card) + + pci:v000014E4d00004315sv0000105Bsd0000E003* +- ID_MODEL_FROM_DATABASE=T77H030.00 Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H030.00 Wireless Mini PCIe Card) + + pci:v000014E4d00004315sv0000105Bsd0000E01B* +- ID_MODEL_FROM_DATABASE=T77H106.00 Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H106.00 Wireless Half-size Mini PCIe Card) + + pci:v000014E4d00004318* + ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller + + pci:v000014E4d00004318sv00001028sd00000005* +- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN Mini-PCI Card) + + pci:v000014E4d00004318sv00001028sd00000006* +- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN PC Card) + + pci:v000014E4d00004318sv0000103Csd00001355* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004318sv0000103Csd00001356* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004318sv0000103Csd00001357* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004318sv00001043sd0000100F* +- ID_MODEL_FROM_DATABASE=WL-138G v2 / WL-138gE / WL-100gE ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WL-138G v2 / WL-138gE / WL-100gE) + + pci:v000014E4d00004318sv00001043sd0000120F* +- ID_MODEL_FROM_DATABASE=A6U notebook embedded card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (A6U notebook embedded card) + + pci:v000014E4d00004318sv00001154sd00000355* +- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter) + + pci:v000014E4d00004318sv00001468sd00000311* +- ID_MODEL_FROM_DATABASE=Aspire 3022WLMi, 5024WLMi, 5020 ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Aspire 3022WLMi, 5024WLMi, 5020) + + pci:v000014E4d00004318sv00001468sd00000312* +- ID_MODEL_FROM_DATABASE=TravelMate 2410 ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (TravelMate 2410) + + pci:v000014E4d00004318sv000014E4sd00000449* +- ID_MODEL_FROM_DATABASE=Gateway 7510GX ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Gateway 7510GX) + + pci:v000014E4d00004318sv000016ECsd00000119* +- ID_MODEL_FROM_DATABASE=U.S.Robotics Wireless MAXg PC Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (U.S.Robotics Wireless MAXg PC Card) + + pci:v000014E4d00004318sv00001737sd00000042* +- ID_MODEL_FROM_DATABASE=WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster) + + pci:v000014E4d00004318sv00001737sd00000048* +- ID_MODEL_FROM_DATABASE=WPC54G v3 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54G v3 802.11g Wireless-G Notebook Adapter) + + pci:v000014E4d00004318sv00001737sd00000049* +- ID_MODEL_FROM_DATABASE=WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster) + + pci:v000014E4d00004318sv00001799sd00007000* +- ID_MODEL_FROM_DATABASE=F5D7000 v4000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7000 v4000 Wireless G Desktop Card) + + pci:v000014E4d00004318sv00001799sd00007001* +- ID_MODEL_FROM_DATABASE=F5D7001 v2000 Wireless G Plus Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7001 v2000 Wireless G Plus Desktop Card) + + pci:v000014E4d00004318sv00001799sd00007010* +- ID_MODEL_FROM_DATABASE=F5D7010 v4000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7010 v4000 Wireless G Notebook Card) + + pci:v000014E4d00004318sv00001799sd00007011* +- ID_MODEL_FROM_DATABASE=F5D7011 v2000 High-Speed Mode Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7011 v2000 High-Speed Mode Wireless G Notebook Card) + + pci:v000014E4d00004319* + ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver + + pci:v000014E4d00004319sv00001028sd00000005* +- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN Mini-PCI Card) + + pci:v000014E4d00004319sv00001028sd00000006* +- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN PC Card) + + pci:v000014E4d00004319sv0000103Csd00001358* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004319sv0000103Csd00001359* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004319sv0000103Csd0000135A* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004320* + ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller + + pci:v000014E4d00004320sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN Mini-PCI Card) + + pci:v000014E4d00004320sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN PC Card) + + pci:v000014E4d00004320sv00001028sd00000003* +- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN Mini-PCI Card) + + pci:v000014E4d00004320sv00001028sd00000004* +- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN PC Card) + + pci:v000014E4d00004320sv0000103Csd000012F4* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv0000103Csd000012F8* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv0000103Csd000012FA* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv0000103Csd000012FB* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv00001043sd0000100F* +- ID_MODEL_FROM_DATABASE=WL-100G ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WL-100G) + + pci:v000014E4d00004320sv00001057sd00007025* +- ID_MODEL_FROM_DATABASE=WN825G ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WN825G) + + pci:v000014E4d00004320sv0000106Bsd0000004E* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (AirPort Extreme) + + pci:v000014E4d00004320sv00001154sd00000330* +- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter) + + pci:v000014E4d00004320sv0000144Fsd00007050* +- ID_MODEL_FROM_DATABASE=eMachines M6805 802.11g Built-in Wireless ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (eMachines M6805 802.11g Built-in Wireless) + + pci:v000014E4d00004320sv0000144Fsd00007051* +- ID_MODEL_FROM_DATABASE=Sonnet Aria Extreme PCI ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Sonnet Aria Extreme PCI) + + pci:v000014E4d00004320sv00001737sd00000013* +- ID_MODEL_FROM_DATABASE=WMP54G v1 802.11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v1 802.11g PCI Adapter) + + pci:v000014E4d00004320sv00001737sd00000014* +- ID_MODEL_FROM_DATABASE=WMP54G v2 802.11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v2 802.11g PCI Adapter) + + pci:v000014E4d00004320sv00001737sd00000015* +- ID_MODEL_FROM_DATABASE=WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster) + + pci:v000014E4d00004320sv00001737sd00004320* +- ID_MODEL_FROM_DATABASE=WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter) + + pci:v000014E4d00004320sv00001799sd00007000* +- ID_MODEL_FROM_DATABASE=F5D7000 v1000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7000 v1000 Wireless G Desktop Card) + + pci:v000014E4d00004320sv00001799sd00007001* +- ID_MODEL_FROM_DATABASE=F5D7001 v1000 Wireless G Plus Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7001 v1000 Wireless G Plus Desktop Card) + + pci:v000014E4d00004320sv00001799sd00007010* +- ID_MODEL_FROM_DATABASE=F5D7010 v1000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7010 v1000 Wireless G Notebook Card) + + pci:v000014E4d00004320sv00001799sd00007011* +- ID_MODEL_FROM_DATABASE=F5D7011 v1000 High-Speed Mode Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7011 v1000 High-Speed Mode Wireless G Notebook Card) + + pci:v000014E4d00004320sv0000185Fsd00001220* +- ID_MODEL_FROM_DATABASE=TravelMate 290E WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TravelMate 290E WLAN Mini-PCI Card) + + pci:v000014E4d00004321* + ID_MODEL_FROM_DATABASE=BCM4321 802.11a Wireless Network Controller +@@ -45402,31 +45402,31 @@ pci:v000014E4d00004324* + ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller + + pci:v000014E4d00004324sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=Truemobile 1400 ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1400) + + pci:v000014E4d00004324sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=TrueMobile 1400 Dual Band WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (TrueMobile 1400 Dual Band WLAN PC Card) + + pci:v000014E4d00004324sv00001028sd00000003* +- ID_MODEL_FROM_DATABASE=Truemobile 1450 MiniPCI ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1450 MiniPCI) + + pci:v000014E4d00004324sv00001028sd00000004* +- ID_MODEL_FROM_DATABASE=Wireless 1450 Dual Band WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Wireless 1450 Dual Band WLAN PC Card) + + pci:v000014E4d00004324sv0000103Csd000012F9* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004324sv0000103Csd000012FC* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004325* + ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller + + pci:v000014E4d00004325sv00001414sd00000003* +- ID_MODEL_FROM_DATABASE=Wireless Notebook Adapter MN-720 ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless Notebook Adapter MN-720) + + pci:v000014E4d00004325sv00001414sd00000004* +- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter MN-730 ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless PCI Adapter MN-730) + + pci:v000014E4d00004326* + ID_MODEL_FROM_DATABASE=BCM4307 Chipcommon I/O Controller? +@@ -45435,58 +45435,58 @@ pci:v000014E4d00004328* + ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n + + pci:v000014E4d00004328sv00001028sd00000009* +- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-Card) + + pci:v000014E4d00004328sv00001028sd0000000A* +- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-card ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-card) + + pci:v000014E4d00004328sv0000103Csd00001366* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000103Csd00001367* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000103Csd00001368* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000103Csd00001369* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000106Bsd00000087* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd00000088* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd0000008B* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd0000008C* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd00000090* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv000014E4sd00004328* +- ID_MODEL_FROM_DATABASE=BCM4328 802.11a/b/g/n ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (BCM4328 802.11a/b/g/n) + + pci:v000014E4d00004328sv00001737sd00000066* +- ID_MODEL_FROM_DATABASE=WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter) + + pci:v000014E4d00004328sv00001737sd00000068* +- ID_MODEL_FROM_DATABASE=WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard) + + pci:v000014E4d00004329* + ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n + + pci:v000014E4d00004329sv00001385sd00007B00* +- ID_MODEL_FROM_DATABASE=WN511B RangeMax NEXT Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN511B RangeMax NEXT Wireless Notebook Adapter) + + pci:v000014E4d00004329sv00001385sd00007D00* +- ID_MODEL_FROM_DATABASE=WN311B RangeMax Next 270 Mbps Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN311B RangeMax Next 270 Mbps Wireless PCI Adapter) + + pci:v000014E4d00004329sv00001737sd00000058* +- ID_MODEL_FROM_DATABASE=WPC300N v1 Wireless-N Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WPC300N v1 Wireless-N Notebook Adapter) + + pci:v000014E4d0000432A* + ID_MODEL_FROM_DATABASE=BCM4321 802.11an Wireless Network Controller +@@ -45495,19 +45495,19 @@ pci:v000014E4d0000432B* + ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller + + pci:v000014E4d0000432Bsv00001028sd0000000D* +- ID_MODEL_FROM_DATABASE=Wireless 1510 Wireless-N WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (Wireless 1510 Wireless-N WLAN Mini-Card) + + pci:v000014E4d0000432Bsv0000106Bsd0000008D* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) + + pci:v000014E4d0000432Bsv0000106Bsd0000008E* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) + + pci:v000014E4d0000432C* + ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n + + pci:v000014E4d0000432Csv00001799sd0000D311* +- ID_MODEL_FROM_DATABASE=Dynex DX-NNBX 802.11n WLAN Cardbus Card ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n (Dynex DX-NNBX 802.11n WLAN Cardbus Card) + + pci:v000014E4d0000432D* + ID_MODEL_FROM_DATABASE=BCM4322 802.11an Wireless Network Controller +@@ -45516,25 +45516,25 @@ pci:v000014E4d00004331* + ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n + + pci:v000014E4d00004331sv0000106Bsd000000D6* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000E4* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000EF* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000F4* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000F5* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd0000010E* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd0000010F* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004333* + ID_MODEL_FROM_DATABASE=Serial (EDGE/GPRS modem part of Option GT Combo Edge) +@@ -45549,25 +45549,25 @@ pci:v000014E4d00004353* + ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n + + pci:v000014E4d00004353sv00001028sd0000000E* +- ID_MODEL_FROM_DATABASE=Wireless 1520 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (Wireless 1520 Half-size Mini PCIe Card) + + pci:v000014E4d00004353sv0000103Csd00001509* +- ID_MODEL_FROM_DATABASE=WMIB-275N Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (WMIB-275N Half-size Mini PCIe Card) + + pci:v000014E4d00004353sv0000106Bsd00000093* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004353sv0000106Bsd000000D1* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004353sv0000106Bsd000000E9* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004357* + ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n + + pci:v000014E4d00004357sv0000105Bsd0000E021* +- ID_MODEL_FROM_DATABASE=T77H103.00 Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n (T77H103.00 Wireless Half-size Mini PCIe Card) + + pci:v000014E4d00004358* + ID_MODEL_FROM_DATABASE=BCM43227 802.11b/g/n +@@ -45576,16 +45576,16 @@ pci:v000014E4d00004359* + ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n + + pci:v000014E4d00004359sv00001028sd00000011* +- ID_MODEL_FROM_DATABASE=Wireless 1530 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (Wireless 1530 Half-size Mini PCIe Card) + + pci:v000014E4d00004359sv0000103Csd0000182C* +- ID_MODEL_FROM_DATABASE=BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter ++ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) + + pci:v000014E4d00004365* + ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n + + pci:v000014E4d00004365sv00001028sd00000016* +- ID_MODEL_FROM_DATABASE=Wireless 1704 802.11n + BT 4.0 ++ ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n (Wireless 1704 802.11n + BT 4.0) + + pci:v000014E4d000043A0* + ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter +@@ -45597,13 +45597,13 @@ pci:v000014E4d00004401* + ID_MODEL_FROM_DATABASE=BCM4401 100Base-T + + pci:v000014E4d00004401sv00001025sd00000035* +- ID_MODEL_FROM_DATABASE=TravelMate 660 ++ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (TravelMate 660) + + pci:v000014E4d00004401sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (tc1100 tablet) + + pci:v000014E4d00004401sv00001043sd000080A8* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (A7V8X motherboard) + + pci:v000014E4d00004402* + ID_MODEL_FROM_DATABASE=BCM4402 Integrated 10/100BaseT +@@ -45696,7 +45696,7 @@ pci:v000014E4d00004727* + ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter + + pci:v000014E4d00004727sv00001028sd00000010* +- ID_MODEL_FROM_DATABASE=Inspiron M5010 / XPS 8300 ++ ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter (Inspiron M5010 / XPS 8300) + + pci:v000014E4d00005365* + ID_MODEL_FROM_DATABASE=BCM5365P Sentry5 Host Bridge +@@ -45867,55 +45867,55 @@ pci:v000014F1d00001033* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v000014F1d00001033sv00001033sd00008077* +- ID_MODEL_FROM_DATABASE=NEC ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (NEC) + + pci:v000014F1d00001033sv0000122Dsd00004027* +- ID_MODEL_FROM_DATABASE=Dell Zeus - MDP3880-W(B) Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Zeus - MDP3880-W(B) Data Fax Modem) + + pci:v000014F1d00001033sv0000122Dsd00004030* +- ID_MODEL_FROM_DATABASE=Dell Mercury - MDP3880-U(B) Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Mercury - MDP3880-U(B) Data Fax Modem) + + pci:v000014F1d00001033sv0000122Dsd00004034* +- ID_MODEL_FROM_DATABASE=Dell Thor - MDP3880-W(U) Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Thor - MDP3880-W(U) Data Fax Modem) + + pci:v000014F1d00001033sv000013E0sd0000020D* +- ID_MODEL_FROM_DATABASE=Dell Copper ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Copper) + + pci:v000014F1d00001033sv000013E0sd0000020E* +- ID_MODEL_FROM_DATABASE=Dell Silver ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Silver) + + pci:v000014F1d00001033sv000013E0sd00000261* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv000013E0sd00000290* +- ID_MODEL_FROM_DATABASE=Compaq Goldwing ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Goldwing) + + pci:v000014F1d00001033sv000013E0sd000002A0* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv000013E0sd000002B0* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv000013E0sd000002C0* +- ID_MODEL_FROM_DATABASE=Compaq Scooter ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Scooter) + + pci:v000014F1d00001033sv000013E0sd000002D0* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv0000144Fsd00001500* +- ID_MODEL_FROM_DATABASE=IBM P85-DF (1) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (1)) + + pci:v000014F1d00001033sv0000144Fsd00001501* +- ID_MODEL_FROM_DATABASE=IBM P85-DF (2) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (2)) + + pci:v000014F1d00001033sv0000144Fsd0000150A* +- ID_MODEL_FROM_DATABASE=IBM P85-DF (3) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (3)) + + pci:v000014F1d00001033sv0000144Fsd0000150B* +- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (1) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (1)) + + pci:v000014F1d00001033sv0000144Fsd00001510* +- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (2) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (2)) + + pci:v000014F1d00001034* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem +@@ -45924,31 +45924,31 @@ pci:v000014F1d00001035* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v000014F1d00001035sv000010CFsd00001098* +- ID_MODEL_FROM_DATABASE=Fujitsu P85-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu P85-DFSV) + + pci:v000014F1d00001036* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem + + pci:v000014F1d00001036sv0000104Dsd00008067* +- ID_MODEL_FROM_DATABASE=HCF 56k Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (HCF 56k Modem) + + pci:v000014F1d00001036sv0000122Dsd00004029* +- ID_MODEL_FROM_DATABASE=MDP3880SP-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-W) + + pci:v000014F1d00001036sv0000122Dsd00004031* +- ID_MODEL_FROM_DATABASE=MDP3880SP-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-U) + + pci:v000014F1d00001036sv000013E0sd00000209* +- ID_MODEL_FROM_DATABASE=Dell Titanium ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Titanium) + + pci:v000014F1d00001036sv000013E0sd0000020A* +- ID_MODEL_FROM_DATABASE=Dell Graphite ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Graphite) + + pci:v000014F1d00001036sv000013E0sd00000260* +- ID_MODEL_FROM_DATABASE=Gateway Red Owl ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway Red Owl) + + pci:v000014F1d00001036sv000013E0sd00000270* +- ID_MODEL_FROM_DATABASE=Gateway White Horse ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway White Horse) + + pci:v000014F1d00001052* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide) +@@ -45966,7 +45966,7 @@ pci:v000014F1d00001056* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) + + pci:v000014F1d00001056sv0000122Dsd00004035* +- ID_MODEL_FROM_DATABASE=MDP3900V-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) (MDP3900V-W) + + pci:v000014F1d00001057* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) +@@ -45987,7 +45987,7 @@ pci:v000014F1d00001066* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem + + pci:v000014F1d00001066sv0000122Dsd00004033* +- ID_MODEL_FROM_DATABASE=Dell Athena - MDP3900V-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Athena - MDP3900V-U) + + pci:v000014F1d00001085* + ID_MODEL_FROM_DATABASE=HCF V90 56k Data/Fax/Voice/Spkp PCI Modem +@@ -46011,16 +46011,16 @@ pci:v000014F1d00001453* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v000014F1d00001453sv000013E0sd00000240* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001453sv000013E0sd00000250* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001453sv0000144Fsd00001502* +- ID_MODEL_FROM_DATABASE=IBM P95-DF (1) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (1)) + + pci:v000014F1d00001453sv0000144Fsd00001503* +- ID_MODEL_FROM_DATABASE=IBM P95-DF (2) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (2)) + + pci:v000014F1d00001454* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem +@@ -46032,10 +46032,10 @@ pci:v000014F1d00001456* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem + + pci:v000014F1d00001456sv0000122Dsd00004035* +- ID_MODEL_FROM_DATABASE=Dell Europa - MDP3900V-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Europa - MDP3900V-W) + + pci:v000014F1d00001456sv0000122Dsd00004302* +- ID_MODEL_FROM_DATABASE=Dell MP3930V-W(C) MiniPCI ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell MP3930V-W(C) MiniPCI) + + pci:v000014F1d00001610* + ID_MODEL_FROM_DATABASE=ADSL AccessRunner PCI Arbitration Device +@@ -46056,10 +46056,10 @@ pci:v000014F1d00001803* + ID_MODEL_FROM_DATABASE=HCF 56k Modem + + pci:v000014F1d00001803sv00000E11sd00000023* +- ID_MODEL_FROM_DATABASE=623-LAN Grizzly ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Grizzly) + + pci:v000014F1d00001803sv00000E11sd00000043* +- ID_MODEL_FROM_DATABASE=623-LAN Yogi ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Yogi) + + pci:v000014F1d00001811* + ID_MODEL_FROM_DATABASE=MiniPCI Network Adapter +@@ -46068,10 +46068,10 @@ pci:v000014F1d00001815* + ID_MODEL_FROM_DATABASE=HCF 56k Modem + + pci:v000014F1d00001815sv00000E11sd00000022* +- ID_MODEL_FROM_DATABASE=Grizzly ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Grizzly) + + pci:v000014F1d00001815sv00000E11sd00000042* +- ID_MODEL_FROM_DATABASE=Yogi ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Yogi) + + pci:v000014F1d00002003* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem +@@ -46089,28 +46089,28 @@ pci:v000014F1d00002013* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem + + pci:v000014F1d00002013sv00000E11sd0000B195* +- ID_MODEL_FROM_DATABASE=Bear ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Bear) + + pci:v000014F1d00002013sv00000E11sd0000B196* +- ID_MODEL_FROM_DATABASE=Seminole 1 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 1) + + pci:v000014F1d00002013sv00000E11sd0000B1BE* +- ID_MODEL_FROM_DATABASE=Seminole 2 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 2) + + pci:v000014F1d00002013sv00001025sd00008013* +- ID_MODEL_FROM_DATABASE=Acer ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Acer) + + pci:v000014F1d00002013sv00001033sd0000809D* +- ID_MODEL_FROM_DATABASE=NEC ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) + + pci:v000014F1d00002013sv00001033sd000080BC* +- ID_MODEL_FROM_DATABASE=NEC ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) + + pci:v000014F1d00002013sv0000155Dsd00006793* +- ID_MODEL_FROM_DATABASE=HP ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (HP) + + pci:v000014F1d00002013sv0000155Dsd00008850* +- ID_MODEL_FROM_DATABASE=E Machines ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (E Machines) + + pci:v000014F1d00002014* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem +@@ -46131,7 +46131,7 @@ pci:v000014F1d00002045* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) + + pci:v000014F1d00002045sv000014F1sd00002045* +- ID_MODEL_FROM_DATABASE=Generic SoftK56 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) (Generic SoftK56) + + pci:v000014F1d00002046* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA) +@@ -46152,7 +46152,7 @@ pci:v000014F1d00002093* + ID_MODEL_FROM_DATABASE=HSF 56k Modem + + pci:v000014F1d00002093sv0000155Dsd00002F07* +- ID_MODEL_FROM_DATABASE=Legend ++ ID_MODEL_FROM_DATABASE=HSF 56k Modem (Legend) + + pci:v000014F1d00002143* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA) +@@ -46206,13 +46206,13 @@ pci:v000014F1d00002443* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) + + pci:v000014F1d00002443sv0000104Dsd00008075* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) + + pci:v000014F1d00002443sv0000104Dsd00008083* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) + + pci:v000014F1d00002443sv0000104Dsd00008097* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) + + pci:v000014F1d00002444* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA) +@@ -46239,13 +46239,13 @@ pci:v000014F1d00002F00* + ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem + + pci:v000014F1d00002F00sv000013E0sd00008D84* +- ID_MODEL_FROM_DATABASE=IBM HSFi V.90 ++ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (IBM HSFi V.90) + + pci:v000014F1d00002F00sv000013E0sd00008D85* +- ID_MODEL_FROM_DATABASE=Compaq Stinger ++ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Compaq Stinger) + + pci:v000014F1d00002F00sv000014F1sd00002004* +- ID_MODEL_FROM_DATABASE=Dynalink 56PMi ++ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Dynalink 56PMi) + + pci:v000014F1d00002F02* + ID_MODEL_FROM_DATABASE=HSF 56k HSFi Data/Fax +@@ -46257,16 +46257,16 @@ pci:v000014F1d00002F20* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem + + pci:v000014F1d00002F20sv000014F1sd0000200C* +- ID_MODEL_FROM_DATABASE=Soft Data Fax Modem with SmartCP ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Soft Data Fax Modem with SmartCP) + + pci:v000014F1d00002F20sv000014F1sd0000200F* +- ID_MODEL_FROM_DATABASE=Dimension 3000 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Dimension 3000) + + pci:v000014F1d00002F30* + ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP + + pci:v000014F1d00002F30sv000014F1sd00002014* +- ID_MODEL_FROM_DATABASE=Devolo MikroLink 56K Modem PCI ++ ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP (Devolo MikroLink 56K Modem PCI) + + pci:v000014F1d00002F50* + ID_MODEL_FROM_DATABASE=Conexant SoftK56 Data/Fax Modem +@@ -46275,13 +46275,13 @@ pci:v000014F1d00005B7A* + ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder + + pci:v000014F1d00005B7Asv00000070sd00007444* +- ID_MODEL_FROM_DATABASE=WinTV HVR-1600 ++ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinTV HVR-1600) + + pci:v000014F1d00005B7Asv0000107Dsd00006F34* +- ID_MODEL_FROM_DATABASE=WinFast DVR3100 H ++ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinFast DVR3100 H) + + pci:v000014F1d00005B7Asv00005854sd00003343* +- ID_MODEL_FROM_DATABASE=GoTView PCI DVD3 Hybrid ++ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (GoTView PCI DVD3 Hybrid) + + pci:v000014F1d00008200* + ID_MODEL_FROM_DATABASE=CX25850 +@@ -46293,304 +46293,304 @@ pci:v000014F1d00008800* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder + + pci:v000014F1d00008800sv00000070sd00002801* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 28xxx (Roslyn) models) + + pci:v000014F1d00008800sv00000070sd00003400* +- ID_MODEL_FROM_DATABASE=WinTV 34604 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 34604) + + pci:v000014F1d00008800sv00000070sd00003401* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 34xxx models) + + pci:v000014F1d00008800sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-4000-HD) + + pci:v000014F1d00008800sv00000070sd00007801* +- ID_MODEL_FROM_DATABASE=WinTV HVR-1800 MCE ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-1800 MCE) + + pci:v000014F1d00008800sv00000070sd00009001* +- ID_MODEL_FROM_DATABASE=Nova-T DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-T DVB-T) + + pci:v000014F1d00008800sv00000070sd00009200* +- ID_MODEL_FROM_DATABASE=Nova-SE2 DVB-S ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-SE2 DVB-S) + + pci:v000014F1d00008800sv00000070sd00009202* +- ID_MODEL_FROM_DATABASE=Nova-S-Plus DVB-S ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-S-Plus DVB-S) + + pci:v000014F1d00008800sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008800sv00000070sd00009600* +- ID_MODEL_FROM_DATABASE=WinTV 88x Video ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 88x Video) + + pci:v000014F1d00008800sv00000070sd00009802* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid (Low Profile) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid (Low Profile)) + + pci:v000014F1d00008800sv00001002sd000000F8* +- ID_MODEL_FROM_DATABASE=ATI TV Wonder Pro ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) + + pci:v000014F1d00008800sv00001002sd0000A101* +- ID_MODEL_FROM_DATABASE=HDTV Wonder ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) + + pci:v000014F1d00008800sv00001043sd00004823* +- ID_MODEL_FROM_DATABASE=ASUS PVR-416 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ASUS PVR-416) + + pci:v000014F1d00008800sv0000107Dsd00006611* +- ID_MODEL_FROM_DATABASE=Winfast TV 2000XP Expert ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Winfast TV 2000XP Expert) + + pci:v000014F1d00008800sv0000107Dsd00006613* +- ID_MODEL_FROM_DATABASE=Leadtek Winfast 2000XP Expert ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast 2000XP Expert) + + pci:v000014F1d00008800sv0000107Dsd00006620* +- ID_MODEL_FROM_DATABASE=Leadtek Winfast DV2000 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast DV2000) + + pci:v000014F1d00008800sv0000107Dsd0000663C* +- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek PVR 2000) + + pci:v000014F1d00008800sv0000107Dsd0000665F* +- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinFast DTV1000-T) + + pci:v000014F1d00008800sv000010FCsd0000D003* +- ID_MODEL_FROM_DATABASE=IODATA GV-VCP3/PCI ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV-VCP3/PCI) + + pci:v000014F1d00008800sv000010FCsd0000D035* +- ID_MODEL_FROM_DATABASE=IODATA GV/BCTV7E ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV/BCTV7E) + + pci:v000014F1d00008800sv00001421sd00000334* +- ID_MODEL_FROM_DATABASE=Instant TV DVB-T PCI ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Instant TV DVB-T PCI) + + pci:v000014F1d00008800sv00001461sd0000000A* +- ID_MODEL_FROM_DATABASE=AVerTV 303 (M126) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AVerTV 303 (M126)) + + pci:v000014F1d00008800sv00001461sd0000000B* +- ID_MODEL_FROM_DATABASE=AverTV Studio 303 (M126) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AverTV Studio 303 (M126)) + + pci:v000014F1d00008800sv00001461sd00008011* +- ID_MODEL_FROM_DATABASE=UltraTV Media Center PCI 550 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (UltraTV Media Center PCI 550) + + pci:v000014F1d00008800sv00001462sd00008606* +- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (MSI TV-@nywhere Master) + + pci:v000014F1d00008800sv000014C7sd00000107* +- ID_MODEL_FROM_DATABASE=GDI Black Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GDI Black Gold) + + pci:v000014F1d00008800sv000014F1sd00000187* +- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Conexant DVB-T reference design) + + pci:v000014F1d00008800sv000014F1sd00000342* +- ID_MODEL_FROM_DATABASE=Digital-Logic MICROSPACE Entertainment Center (MEC) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Digital-Logic MICROSPACE Entertainment Center (MEC)) + + pci:v000014F1d00008800sv0000153Bsd00001166* +- ID_MODEL_FROM_DATABASE=Cinergy 1400 DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Cinergy 1400 DVB-T) + + pci:v000014F1d00008800sv00001540sd00002580* +- ID_MODEL_FROM_DATABASE=Provideo PV259 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Provideo PV259) + + pci:v000014F1d00008800sv00001554sd00004811* +- ID_MODEL_FROM_DATABASE=PixelView ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (PixelView) + + pci:v000014F1d00008800sv00001554sd00004813* +- ID_MODEL_FROM_DATABASE=Club 3D ZAP1000 MCE Edition ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Club 3D ZAP1000 MCE Edition) + + pci:v000014F1d00008800sv000017DEsd000008A1* +- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T with cx22702 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T with cx22702) + + pci:v000014F1d00008800sv000017DEsd000008A6* +- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T) + + pci:v000014F1d00008800sv000017DEsd000008B2* +- ID_MODEL_FROM_DATABASE=KWorld DVB-S 100 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld DVB-S 100) + + pci:v000014F1d00008800sv000017DEsd0000A8A6* +- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T) + + pci:v000014F1d00008800sv00001822sd00000025* +- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T Pro ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T Pro) + + pci:v000014F1d00008800sv0000185Bsd0000E000* +- ID_MODEL_FROM_DATABASE=VideoMate X500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (VideoMate X500) + + pci:v000014F1d00008800sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=FusionHDTV 5 Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 5 Gold) + + pci:v000014F1d00008800sv000018ACsd0000D810* +- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-Q ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-Q) + + pci:v000014F1d00008800sv000018ACsd0000D820* +- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-T) + + pci:v000014F1d00008800sv000018ACsd0000DB00* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T1 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T1) + + pci:v000014F1d00008800sv000018ACsd0000DB11* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Plus ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Plus) + + pci:v000014F1d00008800sv000018ACsd0000DB50* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Digital ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Digital) + + pci:v000014F1d00008800sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TV Tuner Card ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GoTView PCI Hybrid TV Tuner Card) + + pci:v000014F1d00008800sv00007063sd00003000* +- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD3000 HDTV) + + pci:v000014F1d00008800sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD-5500) + + pci:v000014F1d00008801* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + + pci:v000014F1d00008801sv00000070sd00002801* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 28xxx (Roslyn) models) + + pci:v000014F1d00008801sv0000185Bsd0000E000* +- ID_MODEL_FROM_DATABASE=VideoMate X500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (VideoMate X500) + + pci:v000014F1d00008801sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio AVStream Device ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio AVStream Device) + + pci:v000014F1d00008801sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (pcHDTV HD-5500) + + pci:v000014F1d00008802* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] + + pci:v000014F1d00008802sv00000070sd00002801* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Hauppauge WinTV 28xxx (Roslyn) models) + + pci:v000014F1d00008802sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV HVR-4000-HD) + + pci:v000014F1d00008802sv00000070sd00009002* +- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Nova-T DVB-T Model 909) + + pci:v000014F1d00008802sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008802sv00000070sd00009600* +- ID_MODEL_FROM_DATABASE=WinTV 88x MPEG Encoder ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV 88x MPEG Encoder) + + pci:v000014F1d00008802sv00001043sd00004823* +- ID_MODEL_FROM_DATABASE=ASUS PVR-416 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (ASUS PVR-416) + + pci:v000014F1d00008802sv0000107Dsd0000663C* +- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Leadtek PVR 2000) + + pci:v000014F1d00008802sv0000107Dsd0000665F* +- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinFast DTV1000-T) + + pci:v000014F1d00008802sv000014F1sd00000187* +- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Conexant DVB-T reference design) + + pci:v000014F1d00008802sv000017DEsd000008A1* +- ID_MODEL_FROM_DATABASE=XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture) + + pci:v000014F1d00008802sv000017DEsd000008A6* +- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (KWorld/VStream XPert DVB-T) + + pci:v000014F1d00008802sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV5 Gold) + + pci:v000014F1d00008802sv000018ACsd0000D810* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-Q) + + pci:v000014F1d00008802sv000018ACsd0000D820* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-T) + + pci:v000014F1d00008802sv000018ACsd0000DB00* +- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T1) + + pci:v000014F1d00008802sv000018ACsd0000DB10* +- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T Plus ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T Plus) + + pci:v000014F1d00008802sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TS Capture Device ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (GoTView PCI Hybrid TS Capture Device) + + pci:v000014F1d00008802sv00007063sd00003000* +- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD3000 HDTV) + + pci:v000014F1d00008802sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD-5500) + + pci:v000014F1d00008804* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] + + pci:v000014F1d00008804sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV HVR-4000-HD) + + pci:v000014F1d00008804sv00000070sd00009002* +- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (Nova-T DVB-T Model 909) + + pci:v000014F1d00008804sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008804sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (pcHDTV HD-5500) + + pci:v000014F1d00008811* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + + pci:v000014F1d00008811sv00000070sd00003400* +- ID_MODEL_FROM_DATABASE=WinTV 34604 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 34604) + + pci:v000014F1d00008811sv00000070sd00003401* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 34xxx models) + + pci:v000014F1d00008811sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV HVR-4000-HD) + + pci:v000014F1d00008811sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008811sv00000070sd00009600* +- ID_MODEL_FROM_DATABASE=WinTV 88x Audio ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 88x Audio) + + pci:v000014F1d00008811sv00001462sd00008606* +- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (MSI TV-@nywhere Master) + + pci:v000014F1d00008811sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV5 Gold) + + pci:v000014F1d00008811sv000018ACsd0000D810* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-Q) + + pci:v000014F1d00008811sv000018ACsd0000D820* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-T) + + pci:v000014F1d00008811sv000018ACsd0000DB00* +- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DVICO FusionHDTV DVB-T1) + + pci:v000014F1d00008811sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio Capture Device ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio Capture Device) + + pci:v000014F1d00008852* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder + + pci:v000014F1d00008852sv00000070sd00008010* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV HVR-1400 ExpressCard ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) + + pci:v000014F1d00008852sv0000107Dsd00006F22* +- ID_MODEL_FROM_DATABASE=WinFast PxTV1200 ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) + + pci:v000014F1d00008852sv00001461sd0000C039* +- ID_MODEL_FROM_DATABASE=AVerTV Hybrid Express (A577) ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (AVerTV Hybrid Express (A577)) + + pci:v000014F1d00008852sv0000153Bsd0000117E* +- ID_MODEL_FROM_DATABASE=Cinergy T PCIe Dual ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Cinergy T PCIe Dual) + + pci:v000014F1d00008852sv000018ACsd0000DB78* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Express ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) + + pci:v000014F1d00008880* + ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb + + pci:v000014F1d00008880sv00000070sd0000C108* +- ID_MODEL_FROM_DATABASE=WinTV-HVR-4400-HD model 1278 ++ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (WinTV-HVR-4400-HD model 1278) + + pci:v000014F1d00008880sv00005654sd00002389* +- ID_MODEL_FROM_DATABASE=GoTView X5 DVD Hybrid PCI-E ++ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 DVD Hybrid PCI-E) + + pci:v000014F1d00008880sv00005654sd00002390* +- ID_MODEL_FROM_DATABASE=GoTView X5 3D HYBRID PCI-E ++ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 3D HYBRID PCI-E) + + pci:v000014F2* + ID_VENDOR_FROM_DATABASE=MOBILITY Electronics +@@ -46842,100 +46842,100 @@ pci:v00001522d00000100* + ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge + + pci:v00001522d00000100sv00001522sd00000200* +- ID_MODEL_FROM_DATABASE=RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000300* +- ID_MODEL_FROM_DATABASE=RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000400* +- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000500* +- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000600* +- ID_MODEL_FROM_DATABASE=RockForce+ 2 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 2 Port V.90 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000700* +- ID_MODEL_FROM_DATABASE=RockForce+ 4 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 4 Port V.90 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000800* +- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000C00* +- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) + + pci:v00001522d00000100sv00001522sd00000D00* +- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) + + pci:v00001522d00000100sv00001522sd00001D00* +- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) + + pci:v00001522d00000100sv00001522sd00002000* +- ID_MODEL_FROM_DATABASE=RockForceD1 1 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD1 1 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002100* +- ID_MODEL_FROM_DATABASE=RockForceF1 1 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF1 1 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00002200* +- ID_MODEL_FROM_DATABASE=RockForceD2 2 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD2 2 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002300* +- ID_MODEL_FROM_DATABASE=RockForceF2 2 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF2 2 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00002400* +- ID_MODEL_FROM_DATABASE=RockForceD4 4 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD4 4 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002500* +- ID_MODEL_FROM_DATABASE=RockForceF4 4 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF4 4 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00002600* +- ID_MODEL_FROM_DATABASE=RockForceD8 8 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD8 8 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002700* +- ID_MODEL_FROM_DATABASE=RockForceF8 8 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF8 8 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003000* +- ID_MODEL_FROM_DATABASE=IQ Express D1 - 1 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D1 - 1 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003100* +- ID_MODEL_FROM_DATABASE=IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003200* +- ID_MODEL_FROM_DATABASE=IQ Express D2 - 2 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D2 - 2 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003300* +- ID_MODEL_FROM_DATABASE=IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003400* +- ID_MODEL_FROM_DATABASE=IQ Express D4 - 4 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D4 - 4 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003500* +- ID_MODEL_FROM_DATABASE=IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003C00* +- ID_MODEL_FROM_DATABASE=IQ Express D8 - 8 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D8 - 8 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003D00* +- ID_MODEL_FROM_DATABASE=IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00004000* + ID_MODEL_FROM_DATABASE=PCI Express UART + + pci:v00001522d00004000sv00001522sd00004001* +- ID_MODEL_FROM_DATABASE=IQ Express 1-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 1-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004002* +- ID_MODEL_FROM_DATABASE=IQ Express 2-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 2-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004004* +- ID_MODEL_FROM_DATABASE=IQ Express 4-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 4-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004008* +- ID_MODEL_FROM_DATABASE=IQ Express 8-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 8-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004100* +- ID_MODEL_FROM_DATABASE=IQ Express SideBand ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express SideBand) + + pci:v00001523* + ID_VENDOR_FROM_DATABASE=MUSIC Semiconductors +@@ -46947,7 +46947,7 @@ pci:v00001524d00000510* + ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller + + pci:v00001524d00000510sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller (NX9500) + + pci:v00001524d00000520* + ID_MODEL_FROM_DATABASE=FLASH memory: ENE Technology Inc: +@@ -46986,16 +46986,16 @@ pci:v00001524d00001410* + ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller + + pci:v00001524d00001410sv00001025sd0000003C* +- ID_MODEL_FROM_DATABASE=CL50 motherboard ++ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (CL50 motherboard) + + pci:v00001524d00001410sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (TravelMate 290) + + pci:v00001524d00001411* + ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller + + pci:v00001524d00001411sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller (NX9500) + + pci:v00001524d00001412* + ID_MODEL_FROM_DATABASE=CB-712/4 Cardbus Controller +@@ -47598,7 +47598,7 @@ pci:v000015ADd00000801* + ID_MODEL_FROM_DATABASE=Virtual Machine Interface + + pci:v000015ADd00000801sv000015ADsd00000800* +- ID_MODEL_FROM_DATABASE=Hypervisor ROM Interface ++ ID_MODEL_FROM_DATABASE=Virtual Machine Interface (Hypervisor ROM Interface) + + pci:v000015ADd00001977* + ID_MODEL_FROM_DATABASE=HD Audio Controller +@@ -47748,10 +47748,10 @@ pci:v000015B3d00006746* + ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] + + pci:v000015B3d00006746sv0000103Csd00001781* +- ID_MODEL_FROM_DATABASE=NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter ++ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter) + + pci:v000015B3d00006746sv0000103Csd00003349* +- ID_MODEL_FROM_DATABASE=NC543i 2-port 4xQDR IB/10Gb Adapter ++ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 2-port 4xQDR IB/10Gb Adapter) + + pci:v000015B3d00006750* + ID_MODEL_FROM_DATABASE=MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] +@@ -47763,7 +47763,7 @@ pci:v000015B3d00006764* + ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] + + pci:v000015B3d00006764sv0000103Csd00003313* +- ID_MODEL_FROM_DATABASE=HP NC542m Dual Port Flex-10 10GbE BLc Adapter ++ ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] (HP NC542m Dual Port Flex-10 10GbE BLc Adapter) + + pci:v000015B3d0000676E* + ID_MODEL_FROM_DATABASE=MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s] +@@ -47886,13 +47886,13 @@ pci:v000015BCd00000105* + ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES + + pci:v000015BCd00000105sv0000117Csd00000022* +- ID_MODEL_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42XS Fibre Channel Adapter) + + pci:v000015BCd00000105sv0000117Csd00000025* +- ID_MODEL_FROM_DATABASE=Celerity FC-44ES Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-44ES Fibre Channel Adapter) + + pci:v000015BCd00000105sv0000117Csd00000026* +- ID_MODEL_FROM_DATABASE=Celerity FC-42ES Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42ES Fibre Channel Adapter) + + pci:v000015BCd00001100* + ID_MODEL_FROM_DATABASE=E8001-66442 PCI Express CIC +@@ -48306,34 +48306,34 @@ pci:v00001657d00000013* + ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA + + pci:v00001657d00000013sv0000103Csd00001742* +- ID_MODEL_FROM_DATABASE=HP 82B 8Gbps dual port FC HBA ++ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 82B 8Gbps dual port FC HBA) + + pci:v00001657d00000013sv0000103Csd00001744* +- ID_MODEL_FROM_DATABASE=HP 42B 4Gbps dual port FC HBA ++ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 42B 4Gbps dual port FC HBA) + + pci:v00001657d00000013sv00001657sd00000014* +- ID_MODEL_FROM_DATABASE=425/825 4Gbps/8Gbps PCIe dual port FC HBA ++ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (425/825 4Gbps/8Gbps PCIe dual port FC HBA) + + pci:v00001657d00000014* + ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA + + pci:v00001657d00000014sv00001657sd00000014* +- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - FCOE ++ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- FCOE) + + pci:v00001657d00000014sv00001657sd00000015* +- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - LL ++ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- LL) + + pci:v00001657d00000017* + ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA + + pci:v00001657d00000017sv0000103Csd00001741* +- ID_MODEL_FROM_DATABASE=HP 41B 4Gbps single port FC HBA ++ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 41B 4Gbps single port FC HBA) + + pci:v00001657d00000017sv0000103Csd00001743* +- ID_MODEL_FROM_DATABASE=HP 81B 8Gbps single port FC HBA ++ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 81B 8Gbps single port FC HBA) + + pci:v00001657d00000017sv00001657sd00000014* +- ID_MODEL_FROM_DATABASE=415/815 4Gbps/8Gbps single port PCIe FC HBA ++ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (415/815 4Gbps/8Gbps single port PCIe FC HBA) + + pci:v00001657d00000021* + ID_MODEL_FROM_DATABASE=804 8Gbps FC HBA for HP Bladesystem c-class +@@ -48342,13 +48342,13 @@ pci:v00001657d00000022* + ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter + + pci:v00001657d00000022sv00001657sd00000022* +- ID_MODEL_FROM_DATABASE=10Gbps CNA - FCOE ++ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - FCOE) + + pci:v00001657d00000022sv00001657sd00000023* +- ID_MODEL_FROM_DATABASE=10Gbps CNA - LL ++ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - LL) + + pci:v00001657d00000022sv00001657sd00000024* +- ID_MODEL_FROM_DATABASE=16Gbps FC HBA ++ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (16Gbps FC HBA) + + pci:v00001657d00000023* + ID_MODEL_FROM_DATABASE=1867/1869 16Gbps FC HBA +@@ -48435,10 +48435,10 @@ pci:v0000167Bd00002102* + ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 + + pci:v0000167Bd00002102sv0000187Esd00003406* +- ID_MODEL_FROM_DATABASE=ZyAIR B-122 CardBus 11Mbs Wireless LAN Card ++ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-122 CardBus 11Mbs Wireless LAN Card) + + pci:v0000167Bd00002102sv0000187Esd00003407* +- ID_MODEL_FROM_DATABASE=ZyAIR B-320 802.11b Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-320 802.11b Wireless PCI Adapter) + + pci:v0000167Bd00002116* + ID_MODEL_FROM_DATABASE=ZD1212B Wireless Adapter +@@ -48471,16 +48471,16 @@ pci:v0000168Cd00000007* + ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] + + pci:v0000168Cd00000007sv00001737sd00000007* +- ID_MODEL_FROM_DATABASE=WPC54A Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (WPC54A Wireless PC Card) + + pci:v0000168Cd00000007sv00001B47sd00000100* +- ID_MODEL_FROM_DATABASE=Harmony 8450CN Wireless CardBus Module ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Harmony 8450CN Wireless CardBus Module) + + pci:v0000168Cd00000007sv00001B47sd00000110* +- ID_MODEL_FROM_DATABASE=Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter) + + pci:v0000168Cd00000007sv00008086sd00002501* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 5000 LAN PCI Adapter Module ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (PRO/Wireless 5000 LAN PCI Adapter Module) + + pci:v0000168Cd00000011* + ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001A 802.11a] +@@ -48489,562 +48489,562 @@ pci:v0000168Cd00000012* + ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] + + pci:v0000168Cd00000012sv00001186sd00003A03* +- ID_MODEL_FROM_DATABASE=AirPro DWL-A650 Wireless Cardbus Adapter (rev.B) ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-A650 Wireless Cardbus Adapter (rev.B)) + + pci:v0000168Cd00000012sv00001186sd00003A04* +- ID_MODEL_FROM_DATABASE=AirPro DWL-AB650 Multimode Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB650 Multimode Wireless Cardbus Adapter) + + pci:v0000168Cd00000012sv00001186sd00003A05* +- ID_MODEL_FROM_DATABASE=AirPro DWL-AB520 Multimode Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB520 Multimode Wireless PCI Adapter) + + pci:v0000168Cd00000012sv0000126Csd00008031* +- ID_MODEL_FROM_DATABASE=2201 Mobile Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (2201 Mobile Adapter) + + pci:v0000168Cd00000012sv00001385sd00004400* +- ID_MODEL_FROM_DATABASE=WAB501 802.11ab Wireless CardBus Card ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (WAB501 802.11ab Wireless CardBus Card) + + pci:v0000168Cd00000012sv00001B47sd0000AA00* +- ID_MODEL_FROM_DATABASE=8460 802.11ab Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (8460 802.11ab Wireless CardBus Adapter) + + pci:v0000168Cd00000013* + ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter + + pci:v0000168Cd00000013sv00000308sd00003402* +- ID_MODEL_FROM_DATABASE=AG-100 802.11ag Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AG-100 802.11ag Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00000308sd00003405* +- ID_MODEL_FROM_DATABASE=G-102 v2 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-102 v2 802.11g Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00000308sd00003408* +- ID_MODEL_FROM_DATABASE=G-170S 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-170S 802.11g Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv00000E11sd000000E5* +- ID_MODEL_FROM_DATABASE=NC6000/NC8000 laptop ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (NC6000/NC8000 laptop) + + pci:v0000168Cd00000013sv000010B7sd00006002* +- ID_MODEL_FROM_DATABASE=3CRWE154A72 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRWE154A72 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv00001113sd0000D301* +- ID_MODEL_FROM_DATABASE=Philips CPWNA100 Wireless CardBus adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Philips CPWNA100 Wireless CardBus adapter) + + pci:v0000168Cd00000013sv00001113sd0000EE23* +- ID_MODEL_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (SMCWPCIT-G 108Mbps Wireless PCI adapter) + + pci:v0000168Cd00000013sv00001154sd0000033B* +- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AMG54 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AMG54) + + pci:v0000168Cd00000013sv00001154sd0000034E* +- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003202* +- ID_MODEL_FROM_DATABASE=DWL-G650 (Rev B3,B5) Wireless cardbus adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650 (Rev B3,B5) Wireless cardbus adapter) + + pci:v0000168Cd00000013sv00001186sd00003203* +- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. A) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) + + pci:v0000168Cd00000013sv00001186sd00003A07* +- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG650 Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A08* +- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG520 Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A12* +- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)) + + pci:v0000168Cd00000013sv00001186sd00003A13* +- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. B) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. B)) + + pci:v0000168Cd00000013sv00001186sd00003A14* +- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A)) + + pci:v0000168Cd00000013sv00001186sd00003A17* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G680 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G680 Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A18* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G550 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G550 Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A1A* +- ID_MODEL_FROM_DATABASE=WNA-2330 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WNA-2330 802.11bg Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A63* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A93* +- ID_MODEL_FROM_DATABASE=Conceptronic C54I Wireless 801.11g PCI card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54I Wireless 801.11g PCI card) + + pci:v0000168Cd00000013sv00001186sd00003A94* +- ID_MODEL_FROM_DATABASE=Conceptronic C54C 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54C 802.11g Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003AB0* +- ID_MODEL_FROM_DATABASE=Allnet ALL0281 Wireless PCI Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Allnet ALL0281 Wireless PCI Card) + + pci:v0000168Cd00000013sv00001385sd00004600* +- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) + + pci:v0000168Cd00000013sv00001385sd00004610* +- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) + + pci:v0000168Cd00000013sv00001385sd00004900* +- ID_MODEL_FROM_DATABASE=WG311v1 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311v1 802.11g Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001385sd00004A00* +- ID_MODEL_FROM_DATABASE=WAG311 802.11a/g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG311 802.11a/g Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001385sd00004B00* +- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.A/B) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.A/B)) + + pci:v0000168Cd00000013sv00001385sd00004D00* +- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A2) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A2)) + + pci:v0000168Cd00000013sv00001385sd00004F00* +- ID_MODEL_FROM_DATABASE=WG511U Double 108 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511U Double 108 Mbps Wireless PC Card) + + pci:v0000168Cd00000013sv00001385sd00005A00* +- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A3) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A3)) + + pci:v0000168Cd00000013sv00001385sd00005B00* +- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.C) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.C)) + + pci:v0000168Cd00000013sv00001385sd00005D00* +- ID_MODEL_FROM_DATABASE=WPN511 RangeMax Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPN511 RangeMax Wireless PC Card) + + pci:v0000168Cd00000013sv00001458sd0000E911* +- ID_MODEL_FROM_DATABASE=GN-WIAG02 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (GN-WIAG02) + + pci:v0000168Cd00000013sv00001468sd00000403* +- ID_MODEL_FROM_DATABASE=U10H014 802.11g Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (U10H014 802.11g Cardbus Adapter) + + pci:v0000168Cd00000013sv00001468sd00000408* +- ID_MODEL_FROM_DATABASE=ThinkPad 11b/g Wireless LAN Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (ThinkPad 11b/g Wireless LAN Mini PCI Adapter) + + pci:v0000168Cd00000013sv000014B7sd00000A10* +- ID_MODEL_FROM_DATABASE=8480-WD 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8480-WD 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv000014B7sd00000A60* +- ID_MODEL_FROM_DATABASE=8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter) + + pci:v0000168Cd00000013sv000014B7sd0000AA30* +- ID_MODEL_FROM_DATABASE=8800-FC 802.11bg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8800-FC 802.11bg Cardbus Adapter) + + pci:v0000168Cd00000013sv000014B7sd0000AA40* +- ID_MODEL_FROM_DATABASE=8470-WD 802.11bg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8470-WD 802.11bg Cardbus Adapter) + + pci:v0000168Cd00000013sv000014B9sd0000CB21* +- ID_MODEL_FROM_DATABASE=CB21 802.11a/b/g Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CB21 802.11a/b/g Cardbus Adapter) + + pci:v0000168Cd00000013sv00001668sd00001026* +- ID_MODEL_FROM_DATABASE=IBM HighRate 11 a/b/g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (IBM HighRate 11 a/b/g Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00000013* +- ID_MODEL_FROM_DATABASE=AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001025* +- ID_MODEL_FROM_DATABASE=DWL-G650B2 Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650B2 Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001027* +- ID_MODEL_FROM_DATABASE=Engenius NL-3054CB ARIES b/g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius NL-3054CB ARIES b/g CardBus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001042* +- ID_MODEL_FROM_DATABASE=Ubiquiti Networks SuperRange a/b/g Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Ubiquiti Networks SuperRange a/b/g Cardbus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001051* +- ID_MODEL_FROM_DATABASE=EZ Connect g 802.11g 108Mbps Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (EZ Connect g 802.11g 108Mbps Wireless PCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002026* +- ID_MODEL_FROM_DATABASE=Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002027* +- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) + + pci:v0000168Cd00000013sv0000168Csd00002041* +- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002042* +- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002051* +- ID_MODEL_FROM_DATABASE=TRENDnet TEW-443PI Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (TRENDnet TEW-443PI Wireless PCI Adapter) + + pci:v0000168Cd00000013sv000016A5sd0000160A* +- ID_MODEL_FROM_DATABASE=BWP712 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (BWP712 802.11bg Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv000016ABsd00007302* +- ID_MODEL_FROM_DATABASE=Trust Speedshare Turbo Pro Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Trust Speedshare Turbo Pro Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001737sd00000017* +- ID_MODEL_FROM_DATABASE=WPC55AG ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG) + + pci:v0000168Cd00000013sv00001737sd00000026* +- ID_MODEL_FROM_DATABASE=WMP55AG v1.1 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.1) + + pci:v0000168Cd00000013sv00001737sd00000035* +- ID_MODEL_FROM_DATABASE=WPC55AG v1.2 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG v1.2 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv00001737sd00000036* +- ID_MODEL_FROM_DATABASE=WMP55AG v1.2 802.11abg PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.2 802.11abg PCI Adapter) + + pci:v0000168Cd00000013sv00001799sd00003000* +- ID_MODEL_FROM_DATABASE=F6D3000 Dual-Band Wireless A+G Desktop Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3000 Dual-Band Wireless A+G Desktop Card) + + pci:v0000168Cd00000013sv00001799sd00003010* +- ID_MODEL_FROM_DATABASE=F6D3010 Dual-Band Wireless A+G Notebook Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3010 Dual-Band Wireless A+G Notebook Card) + + pci:v0000168Cd00000013sv000017CFsd00000042* +- ID_MODEL_FROM_DATABASE=Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter) + + pci:v0000168Cd00000013sv0000185Fsd00001012* +- ID_MODEL_FROM_DATABASE=CM9 Wireless a/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CM9 Wireless a/b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000185Fsd00002012* +- ID_MODEL_FROM_DATABASE=Wistron NeWeb WLAN a+b+g model CB9 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Wistron NeWeb WLAN a+b+g model CB9) + + pci:v0000168Cd00000013sv0000A727sd00006801* +- ID_MODEL_FROM_DATABASE=3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card) + + pci:v0000168Cd0000001A* + ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] + + pci:v0000168Cd0000001Asv00001052sd0000168C* +- ID_MODEL_FROM_DATABASE=Sweex Wireless Lan PC Card 54Mbps ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Sweex Wireless Lan PC Card 54Mbps) + + pci:v0000168Cd0000001Asv00001113sd0000EE20* +- ID_MODEL_FROM_DATABASE=SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)) + + pci:v0000168Cd0000001Asv00001113sd0000EE24* +- ID_MODEL_FROM_DATABASE=SMC Wireless PCI Card WPCI-G ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless PCI Card WPCI-G) + + pci:v0000168Cd0000001Asv00001186sd00003A15* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1)) + + pci:v0000168Cd0000001Asv00001186sd00003A16* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless PCI Adapter(rev.B) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)) + + pci:v0000168Cd0000001Asv00001186sd00003A1C* +- ID_MODEL_FROM_DATABASE=WNA-1330 Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WNA-1330 Notebook Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003A1D* +- ID_MODEL_FROM_DATABASE=WDA-1320 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WDA-1320 Desktop Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003A23* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G520+A Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G520+A Wireless PCI Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003A24* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G650+A Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G650+A Wireless Cardbus Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003B08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1)) + + pci:v0000168Cd0000001Asv0000168Csd0000001A* +- ID_MODEL_FROM_DATABASE=Belkin FD7000 ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Belkin FD7000) + + pci:v0000168Cd0000001Asv0000168Csd00001052* +- ID_MODEL_FROM_DATABASE=TP-Link TL-WN510G Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (TP-Link TL-WN510G Wireless CardBus Adapter) + + pci:v0000168Cd0000001Asv0000168Csd00002052* +- ID_MODEL_FROM_DATABASE=Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]) + + pci:v0000168Cd0000001Asv000016ECsd00000122* +- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter Model 5418 ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Wireless PCI Adapter Model 5418) + + pci:v0000168Cd0000001Asv00001737sd00000053* +- ID_MODEL_FROM_DATABASE=WPC54G v7 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WPC54G v7 802.11g Wireless-G Notebook Adapter) + + pci:v0000168Cd0000001Asv00001799sd0000700C* +- ID_MODEL_FROM_DATABASE=F5D7000 v5000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7000 v5000 Wireless G Desktop Card) + + pci:v0000168Cd0000001Asv00001799sd0000701D* +- ID_MODEL_FROM_DATABASE=F5D7010 v5000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7010 v5000 Wireless G Notebook Card) + + pci:v0000168Cd0000001Asv000017F9sd00000008* +- ID_MODEL_FROM_DATABASE=DX-WGNBC 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGNBC 802.11bg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Asv000017F9sd00000018* +- ID_MODEL_FROM_DATABASE=DX-WGDTC 802.11bg Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGDTC 802.11bg Wireless PCI Adapter) + + pci:v0000168Cd0000001B* + ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] + + pci:v0000168Cd0000001Bsv00000777sd00001107* +- ID_MODEL_FROM_DATABASE=UB5 802.11a Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (UB5 802.11a Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00000777sd00003002* +- ID_MODEL_FROM_DATABASE=XR2 802.11g Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR2 802.11g Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00000777sd00003005* +- ID_MODEL_FROM_DATABASE=XR5 802.11a Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR5 802.11a Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00000777sd00003009* +- ID_MODEL_FROM_DATABASE=XR9 900MHz Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR9 900MHz Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00001154sd0000034E* +- ID_MODEL_FROM_DATABASE=WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Bsv00001186sd00003A19* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter) + + pci:v0000168Cd0000001Bsv00001186sd00003A22* +- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B) ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B)) + + pci:v0000168Cd0000001Bsv000011ADsd00005001* +- ID_MODEL_FROM_DATABASE=WN5301A 802.11bg Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WN5301A 802.11bg Wireless PCI Adapter) + + pci:v0000168Cd0000001Bsv00001458sd0000E901* +- ID_MODEL_FROM_DATABASE=GN-WI01HT Wireless a/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (GN-WI01HT Wireless a/b/g MiniPCI Adapter) + + pci:v0000168Cd0000001Bsv0000168Csd0000001B* +- ID_MODEL_FROM_DATABASE=Wireless LAN PCI LiteOn ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless LAN PCI LiteOn) + + pci:v0000168Cd0000001Bsv0000168Csd00001062* +- ID_MODEL_FROM_DATABASE=IPN-W100CB 802.11abg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (IPN-W100CB 802.11abg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Bsv0000168Csd00002062* +- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG) ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)) + + pci:v0000168Cd0000001Bsv0000168Csd00002063* +- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG) + + pci:v0000168Cd0000001Bsv000017F9sd0000000B* +- ID_MODEL_FROM_DATABASE=WL-711A 802.11abg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WL-711A 802.11abg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Bsv000017F9sd0000000C* +- ID_MODEL_FROM_DATABASE=WPIA-112AG 802.11abg Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WPIA-112AG 802.11abg Wireless PCI Adapter) + + pci:v0000168Cd0000001Bsv000017F9sd0000000D* +- ID_MODEL_FROM_DATABASE=PC-686X 802.11abg Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (PC-686X 802.11abg Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv0000185Fsd00001600* +- ID_MODEL_FROM_DATABASE=DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW)) + + pci:v0000168Cd0000001Bsv00001948sd00003ABA* +- ID_MODEL_FROM_DATABASE=RBTBJ-AW 802.11abg Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (RBTBJ-AW 802.11abg Wireless Cardbus Adapter) + + pci:v0000168Cd0000001Bsv0000A727sd00006804* +- ID_MODEL_FROM_DATABASE=Wireless 11a/b/g PC Card with XJACK(r) Antenna ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless 11a/b/g PC Card with XJACK(r) Antenna) + + pci:v0000168Cd0000001C* + ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) + + pci:v0000168Cd0000001Csv00000777sd00003006* +- ID_MODEL_FROM_DATABASE=SRX 802.11abg Wireless ExpressCard Adapter ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (SRX 802.11abg Wireless ExpressCard Adapter) + + pci:v0000168Cd0000001Csv0000103Csd0000137A* +- ID_MODEL_FROM_DATABASE=AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC) + + pci:v0000168Cd0000001Csv0000106Bsd00000086* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPort Extreme) + + pci:v0000168Cd0000001Csv0000144Fsd00007106* +- ID_MODEL_FROM_DATABASE=WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card) + + pci:v0000168Cd0000001Csv0000144Fsd00007128* +- ID_MODEL_FROM_DATABASE=WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card) + + pci:v0000168Cd0000001Csv00001468sd00000428* +- ID_MODEL_FROM_DATABASE=AR5BXB63 802.11bg NIC ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 802.11bg NIC) + + pci:v0000168Cd0000001Csv00001468sd0000042A* +- ID_MODEL_FROM_DATABASE=AR5007EG 802.11bg NIC ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5007EG 802.11bg NIC) + + pci:v0000168Cd0000001Csv0000147Bsd00001033* +- ID_MODEL_FROM_DATABASE=AirPace Wi-Fi ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPace Wi-Fi) + + pci:v0000168Cd0000001Csv0000168Csd0000001C* +- ID_MODEL_FROM_DATABASE=AR242x 802.11abg NIC (PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg NIC (PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003061* +- ID_MODEL_FROM_DATABASE=AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EGS 802.11bg NIC (2.4GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003062* +- ID_MODEL_FROM_DATABASE=AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003063* +- ID_MODEL_FROM_DATABASE=AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003065* +- ID_MODEL_FROM_DATABASE=AR5006EG 802.11bg NIC (2.4GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EG 802.11bg NIC (2.4GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003067* +- ID_MODEL_FROM_DATABASE=AR242x 802.11abg Wireless PCI Express Adapter (rev 01) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg Wireless PCI Express Adapter (rev 01)) + + pci:v0000168Cd0000001Csv00001A3Bsd00001026* +- ID_MODEL_FROM_DATABASE=AW-GE780 802.11bg Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AW-GE780 802.11bg Wireless Mini PCIe Card) + + pci:v0000168Cd0000001D* + ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] + + pci:v0000168Cd0000001Dsv00001799sd0000720B* +- ID_MODEL_FROM_DATABASE=F5D7000 v8000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7000 v8000 Wireless G Desktop Card) + + pci:v0000168Cd0000001Dsv00001799sd0000721B* +- ID_MODEL_FROM_DATABASE=F5D7010 v8000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7010 v8000 Wireless G Notebook Card) + + pci:v0000168Cd00000020* + ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC + + pci:v0000168Cd00000020sv00000308sd00003407* +- ID_MODEL_FROM_DATABASE=M-102 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-102 802.11g Wireless Cardbus Adapter) + + pci:v0000168Cd00000020sv00001186sd00003A67* +- ID_MODEL_FROM_DATABASE=DWL-G650M Super G MIMO Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G650M Super G MIMO Wireless Notebook Adapter) + + pci:v0000168Cd00000020sv00001186sd00003A68* +- ID_MODEL_FROM_DATABASE=DWL-G520M Wireless 108G MIMO Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G520M Wireless 108G MIMO Desktop Adapter) + + pci:v0000168Cd00000020sv0000187Esd0000340E* +- ID_MODEL_FROM_DATABASE=M-302 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-302 802.11g Wireless PCI Adapter) + + pci:v0000168Cd00000020sv00001976sd00002003* +- ID_MODEL_FROM_DATABASE=TEW-601PC 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (TEW-601PC 802.11g Wireless CardBus Adapter) + + pci:v0000168Cd00000023* + ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] + + pci:v0000168Cd00000023sv00000308sd0000340B* +- ID_MODEL_FROM_DATABASE=NWD-170N 802.11bgn Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-170N 802.11bgn Wireless CardBus Adapter) + + pci:v0000168Cd00000023sv00001154sd00000365* +- ID_MODEL_FROM_DATABASE=Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter) + + pci:v0000168Cd00000023sv00001154sd00000367* +- ID_MODEL_FROM_DATABASE=WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter) + + pci:v0000168Cd00000023sv00001186sd00003A6A* +- ID_MODEL_FROM_DATABASE=DWA-642 802.11n RangeBooster N CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-642 802.11n RangeBooster N CardBus Adapter) + + pci:v0000168Cd00000023sv00001186sd00003A6B* +- ID_MODEL_FROM_DATABASE=DWA-547 802.11n RangeBooster N 650 DeskTop Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-547 802.11n RangeBooster N 650 DeskTop Adapter) + + pci:v0000168Cd00000023sv00001186sd00003A6D* +- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A1) ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-552 802.11n Xtreme N Desktop Adapter (rev A1)) + + pci:v0000168Cd00000023sv00001186sd00003A76* +- ID_MODEL_FROM_DATABASE=DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1) ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1)) + + pci:v0000168Cd00000023sv00001737sd00000059* +- ID_MODEL_FROM_DATABASE=WPC300N v2 Wireless-N Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC300N v2 Wireless-N Notebook Adapter) + + pci:v0000168Cd00000023sv00001737sd00000069* +- ID_MODEL_FROM_DATABASE=WPC100 v1 802.11n RangePlus Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC100 v1 802.11n RangePlus Wireless Notebook Adapter) + + pci:v0000168Cd00000023sv00001737sd00000072* +- ID_MODEL_FROM_DATABASE=WMP110 v1 802.11n RangePlus Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WMP110 v1 802.11n RangePlus Wireless PCI Adapter) + + pci:v0000168Cd00000023sv00001799sd00008011* +- ID_MODEL_FROM_DATABASE=F5D8011 v1 802.11n N1 Wireless Notebook Card ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (F5D8011 v1 802.11n N1 Wireless Notebook Card) + + pci:v0000168Cd00000023sv0000187Esd00003411* +- ID_MODEL_FROM_DATABASE=NWD-370N 802.11n Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-370N 802.11n Wireless PCI Adapter) + + pci:v0000168Cd00000023sv00001976sd00002008* +- ID_MODEL_FROM_DATABASE=TEW-621PC 802.11bgn Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (TEW-621PC 802.11bgn Wireless CardBus Adapter) + + pci:v0000168Cd00000024* + ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) + + pci:v0000168Cd00000024sv0000106Bsd00000087* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (AirPort Extreme) + + pci:v0000168Cd00000024sv00001186sd00003A70* +- ID_MODEL_FROM_DATABASE=DWA-556 Xtreme N PCI Express Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (DWA-556 Xtreme N PCI Express Desktop Adapter) + + pci:v0000168Cd00000027* + ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] + + pci:v0000168Cd00000027sv00000777sd00004082* +- ID_MODEL_FROM_DATABASE=SR71-A 802.11abgn Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] (SR71-A 802.11abgn Wireless Mini PCI Adapter) + + pci:v0000168Cd00000029* + ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter + + pci:v0000168Cd00000029sv00000777sd00004005* +- ID_MODEL_FROM_DATABASE=SR71-15 802.11an Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (SR71-15 802.11an Mini PCI Adapter) + + pci:v0000168Cd00000029sv00001186sd00003A7A* +- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A2) ++ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)) + + pci:v0000168Cd00000029sv00001186sd00003A7D* +- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A3) ++ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A3)) + + pci:v0000168Cd0000002A* + ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) + + pci:v0000168Cd0000002Asv00000777sd00004F05* +- ID_MODEL_FROM_DATABASE=SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]) + + pci:v0000168Cd0000002Asv0000103Csd00003041* +- ID_MODEL_FROM_DATABASE=AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) + + pci:v0000168Cd0000002Asv0000105Bsd0000E006* +- ID_MODEL_FROM_DATABASE=T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv0000105Bsd0000E01F* +- ID_MODEL_FROM_DATABASE=T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) + + pci:v0000168Cd0000002Asv0000106Bsd0000008F* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AirPort Extreme) + + pci:v0000168Cd0000002Asv000011ADsd00006600* +- ID_MODEL_FROM_DATABASE=WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv0000144Fsd00007141* +- ID_MODEL_FROM_DATABASE=WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv0000168Csd00000203* +- ID_MODEL_FROM_DATABASE=DW1525 802.11abgn WLAN PCIe Card [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (DW1525 802.11abgn WLAN PCIe Card [AR9280]) + + pci:v0000168Cd0000002Asv00001A32sd00000303* +- ID_MODEL_FROM_DATABASE=EM303 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM303 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv00001A32sd00000306* +- ID_MODEL_FROM_DATABASE=EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) + + pci:v0000168Cd0000002Asv00001A3Bsd00001067* +- ID_MODEL_FROM_DATABASE=AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv00001A3Bsd00001081* +- ID_MODEL_FROM_DATABASE=AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) + + pci:v0000168Cd0000002B* + ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) + + pci:v0000168Cd0000002Bsv00001028sd00000204* +- ID_MODEL_FROM_DATABASE=Wireless 1502 802.11bgn Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1502 802.11bgn Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD] ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD]) + + pci:v0000168Cd0000002Bsv0000103Csd0000303F* +- ID_MODEL_FROM_DATABASE=U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000103Csd00003040* +- ID_MODEL_FROM_DATABASE=U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000105Bsd0000E017* +- ID_MODEL_FROM_DATABASE=T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000105Bsd0000E023* +- ID_MODEL_FROM_DATABASE=T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001113sd0000E811* +- ID_MODEL_FROM_DATABASE=WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000185Fsd000030AF* +- ID_MODEL_FROM_DATABASE=DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001931sd00000023* +- ID_MODEL_FROM_DATABASE=Option GTM67x PCIe WiFi Adapter ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Option GTM67x PCIe WiFi Adapter) + + pci:v0000168Cd0000002Bsv00001A3Bsd00001089* +- ID_MODEL_FROM_DATABASE=AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001A3Bsd00002C37* +- ID_MODEL_FROM_DATABASE=AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) + + pci:v0000168Cd0000002Bsv00001B9Asd00000401* +- ID_MODEL_FROM_DATABASE=XW204E 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (XW204E 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001B9Asd00000C03* +- ID_MODEL_FROM_DATABASE=WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) + + pci:v0000168Cd0000002C* + ID_MODEL_FROM_DATABASE=AR2427 802.11bg Wireless Network Adapter (PCI-Express) +@@ -49059,25 +49059,25 @@ pci:v0000168Cd00000030* + ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter + + pci:v0000168Cd00000030sv0000103Csd00001627* +- ID_MODEL_FROM_DATABASE=AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter) + + pci:v0000168Cd00000030sv0000106Bsd0000009A* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AirPort Extreme) + + pci:v0000168Cd00000030sv00001186sd00003A7E* +- ID_MODEL_FROM_DATABASE=DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter) + + pci:v0000168Cd00000030sv00001A56sd00002000* +- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382] ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]) + + pci:v0000168Cd00000030sv00001A56sd00002001* +- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380] ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]) + + pci:v0000168Cd00000032* + ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter + + pci:v0000168Cd00000032sv0000103Csd00001838* +- ID_MODEL_FROM_DATABASE=AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter ++ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter) + + pci:v0000168Cd00000033* + ID_MODEL_FROM_DATABASE=AR9580 Wireless Network Adapter +@@ -49086,7 +49086,7 @@ pci:v0000168Cd00000034* + ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter + + pci:v0000168Cd00000034sv00001A56sd00002003* +- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1202 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter (Killer Wireless-N 1202 Half-size Mini PCIe Card) + + pci:v0000168Cd00000036* + ID_MODEL_FROM_DATABASE=QCA9565 / AR9565 Wireless Network Adapter +@@ -49095,7 +49095,7 @@ pci:v0000168Cd00000037* + ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter + + pci:v0000168Cd00000037sv00001A3Bsd00002100* +- ID_MODEL_FROM_DATABASE=AW-NB100H 802.11n Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AW-NB100H 802.11n Wireless Mini PCIe Card) + + pci:v0000168Cd0000003C* + ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter +@@ -49107,7 +49107,7 @@ pci:v0000168Cd00001014* + ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC + + pci:v0000168Cd00001014sv00001014sd0000058A* +- ID_MODEL_FROM_DATABASE=ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) ++ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)) + + pci:v0000168Cd00009013* + ID_MODEL_FROM_DATABASE=AR5002X Wireless Network Adapter +@@ -49125,7 +49125,7 @@ pci:v0000168Cd0000FF1D* + ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter + + pci:v0000168Cd0000FF1Dsv0000168Csd0000EE1C* +- ID_MODEL_FROM_DATABASE=AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3] ++ ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter (AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3]) + + pci:v00001695* + ID_VENDOR_FROM_DATABASE=EPoX Computer Co., Ltd. +@@ -49524,16 +49524,16 @@ pci:v00001737d00001032* + ID_MODEL_FROM_DATABASE=Gigabit Network Adapter + + pci:v00001737d00001032sv00001737sd00000015* +- ID_MODEL_FROM_DATABASE=EG1032 v2 Instant Gigabit Network Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v2 Instant Gigabit Network Adapter) + + pci:v00001737d00001032sv00001737sd00000024* +- ID_MODEL_FROM_DATABASE=EG1032 v3 Instant Gigabit Network Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v3 Instant Gigabit Network Adapter) + + pci:v00001737d00001064* + ID_MODEL_FROM_DATABASE=Gigabit Network Adapter + + pci:v00001737d00001064sv00001737sd00000016* +- ID_MODEL_FROM_DATABASE=EG1064 v2 Instant Gigabit Network Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1064 v2 Instant Gigabit Network Adapter) + + pci:v00001737d0000AB08* + ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet +@@ -49554,7 +49554,7 @@ pci:v0000173Bd000003EA* + ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet + + pci:v0000173Bd000003EAsv0000173Bsd00000001* +- ID_MODEL_FROM_DATABASE=AC1002 ++ ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet (AC1002) + + pci:v0000173Bd000003EB* + ID_MODEL_FROM_DATABASE=AC1003 Gigabit Ethernet +@@ -49851,19 +49851,19 @@ pci:v000017CBd00000001* + ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card + + pci:v000017CBd00000001sv00001385sd00005C00* +- ID_MODEL_FROM_DATABASE=WGM511 Pre-N 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WGM511 Pre-N 802.11g Wireless CardBus Adapter) + + pci:v000017CBd00000001sv00001737sd00000045* +- ID_MODEL_FROM_DATABASE=WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX ++ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX) + + pci:v000017CBd00000002* + ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card + + pci:v000017CBd00000002sv00001385sd00006D00* +- ID_MODEL_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter) + + pci:v000017CBd00000002sv00001737sd00000054* +- ID_MODEL_FROM_DATABASE=WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400 ++ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400) + + pci:v000017CC* + ID_VENDOR_FROM_DATABASE=NetChip Technology, Inc +@@ -49914,7 +49914,7 @@ pci:v000017D3d00001280* + ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller + + pci:v000017D3d00001280sv000017D3sd00001221* +- ID_MODEL_FROM_DATABASE=ARC-1221 8-Port PCI-Express to SATA RAID Controller ++ ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller (ARC-1221 8-Port PCI-Express to SATA RAID Controller) + + pci:v000017D3d00001300* + ID_MODEL_FROM_DATABASE=ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter +@@ -49923,7 +49923,7 @@ pci:v000017D3d00001680* + ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller + + pci:v000017D3d00001680sv000017D3sd00001212* +- ID_MODEL_FROM_DATABASE=ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller ++ ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller (ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller) + + pci:v000017D3d00001880* + ID_MODEL_FROM_DATABASE=ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller +@@ -49941,82 +49941,82 @@ pci:v000017D5d00005831* + ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X + + pci:v000017D5d00005831sv0000103Csd000012D5* +- ID_MODEL_FROM_DATABASE=PCI-X 133MHz 10GbE SR Fiber ++ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (PCI-X 133MHz 10GbE SR Fiber) + + pci:v000017D5d00005831sv000010A9sd00008020* +- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) ++ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) + + pci:v000017D5d00005831sv000010A9sd00008024* +- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) ++ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) + + pci:v000017D5d00005832* + ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 + + pci:v000017D5d00005832sv0000103Csd00001337* +- ID_MODEL_FROM_DATABASE=PCI-X 266MHz 10GigE SR [AD385A] ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (PCI-X 266MHz 10GigE SR [AD385A]) + + pci:v000017D5d00005832sv000010A9sd00008021* +- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet II (PCI-X, Fiber) ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Single Port 10-Gigabit Ethernet II (PCI-X, Fiber)) + + pci:v000017D5d00005832sv000017D5sd00006020* +- ID_MODEL_FROM_DATABASE=Xframe II SR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR) + + pci:v000017D5d00005832sv000017D5sd00006021* +- ID_MODEL_FROM_DATABASE=Xframe II SR, Low Profile ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR, Low Profile) + + pci:v000017D5d00005832sv000017D5sd00006022* +- ID_MODEL_FROM_DATABASE=Xframe E SR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E SR) + + pci:v000017D5d00005832sv000017D5sd00006420* +- ID_MODEL_FROM_DATABASE=Xframe II LR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR) + + pci:v000017D5d00005832sv000017D5sd00006421* +- ID_MODEL_FROM_DATABASE=Xframe II LR, Low Profile ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR, Low Profile) + + pci:v000017D5d00005832sv000017D5sd00006422* +- ID_MODEL_FROM_DATABASE=Xframe E LR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E LR) + + pci:v000017D5d00005832sv000017D5sd00006C20* +- ID_MODEL_FROM_DATABASE=Xframe II CX4 ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4) + + pci:v000017D5d00005832sv000017D5sd00006C21* +- ID_MODEL_FROM_DATABASE=Xframe II CX4, Low Profile ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4, Low Profile) + + pci:v000017D5d00005832sv000017D5sd00006C22* +- ID_MODEL_FROM_DATABASE=Xframe E CX4 ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E CX4) + + pci:v000017D5d00005833* + ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe + + pci:v000017D5d00005833sv000017D5sd00006030* +- ID_MODEL_FROM_DATABASE=X3110 Single Port SR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port SR) + + pci:v000017D5d00005833sv000017D5sd00006031* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port SR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port SR) + + pci:v000017D5d00005833sv000017D5sd00006430* +- ID_MODEL_FROM_DATABASE=X3110 Single Port LR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LR) + + pci:v000017D5d00005833sv000017D5sd00006431* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port LR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LR) + + pci:v000017D5d00005833sv000017D5sd00007030* +- ID_MODEL_FROM_DATABASE=X3110 Single Port LRM ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LRM) + + pci:v000017D5d00005833sv000017D5sd00007031* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port LRM ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LRM) + + pci:v000017D5d00005833sv000017D5sd00007430* +- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-T ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-T) + + pci:v000017D5d00005833sv000017D5sd00007431* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-T ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-T) + + pci:v000017D5d00005833sv000017D5sd00007830* +- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-CR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-CR) + + pci:v000017D5d00005833sv000017D5sd00007831* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-CR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-CR) + + pci:v000017DB* + ID_VENDOR_FROM_DATABASE=Cray Inc +@@ -50103,16 +50103,16 @@ pci:v000017FEd00002120* + ID_MODEL_FROM_DATABASE=IPN 2120 802.11b + + pci:v000017FEd00002120sv00001737sd00000020* +- ID_MODEL_FROM_DATABASE=WMP11 v4 802.11b Wireless-B PCI Adapter ++ ID_MODEL_FROM_DATABASE=IPN 2120 802.11b (WMP11 v4 802.11b Wireless-B PCI Adapter) + + pci:v000017FEd00002220* + ID_MODEL_FROM_DATABASE=IPN 2220 802.11g + + pci:v000017FEd00002220sv00001468sd00000305* +- ID_MODEL_FROM_DATABASE=T60N871 802.11g Mini PCI Wireless Adapter ++ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (T60N871 802.11g Mini PCI Wireless Adapter) + + pci:v000017FEd00002220sv00001737sd00000029* +- ID_MODEL_FROM_DATABASE=WPC54G v4 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (WPC54G v4 802.11g Wireless-G Notebook Adapter) + + pci:v000017FF* + ID_VENDOR_FROM_DATABASE=Benq Corporation +@@ -50133,13 +50133,13 @@ pci:v00001813d00004000* + ID_MODEL_FROM_DATABASE=HaM controllerless modem + + pci:v00001813d00004000sv000016BEsd00000001* +- ID_MODEL_FROM_DATABASE=V9x HAM Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HaM controllerless modem (V9x HAM Data Fax Modem) + + pci:v00001813d00004100* + ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem + + pci:v00001813d00004100sv000016BEsd00000002* +- ID_MODEL_FROM_DATABASE=V9x HAM 1394 ++ ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem (V9x HAM 1394) + + pci:v00001814* + ID_VENDOR_FROM_DATABASE=Ralink corp. +@@ -50148,13 +50148,13 @@ pci:v00001814d00000101* + ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 + + pci:v00001814d00000101sv00001043sd00000127* +- ID_MODEL_FROM_DATABASE=WiFi-b add-on Card ++ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (WiFi-b add-on Card) + + pci:v00001814d00000101sv00001371sd00000010* +- ID_MODEL_FROM_DATABASE=Minitar MNW2BPCI Wireless PCI Card ++ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (Minitar MNW2BPCI Wireless PCI Card) + + pci:v00001814d00000101sv00001462sd00006828* +- ID_MODEL_FROM_DATABASE=PC11B2 (MS-6828) Wireless 11b PCI Card ++ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (PC11B2 (MS-6828) Wireless 11b PCI Card) + + pci:v00001814d00000200* + ID_MODEL_FROM_DATABASE=RT2500 802.11g PCI [PC54G2] +@@ -50163,58 +50163,58 @@ pci:v00001814d00000201* + ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg + + pci:v00001814d00000201sv00001043sd0000130F* +- ID_MODEL_FROM_DATABASE=WL-130g ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-130g) + + pci:v00001814d00000201sv00001186sd00003C00* +- ID_MODEL_FROM_DATABASE=DWL-G650X Wireless 11g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (DWL-G650X Wireless 11g CardBus Adapter) + + pci:v00001814d00000201sv00001371sd0000001E* +- ID_MODEL_FROM_DATABASE=CWC-854 Wireless-G CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWC-854 Wireless-G CardBus Adapter) + + pci:v00001814d00000201sv00001371sd0000001F* +- ID_MODEL_FROM_DATABASE=CWM-854 Wireless-G Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWM-854 Wireless-G Mini PCI Adapter) + + pci:v00001814d00000201sv00001371sd00000020* +- ID_MODEL_FROM_DATABASE=CWP-854 Wireless-G PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWP-854 Wireless-G PCI Adapter) + + pci:v00001814d00000201sv00001458sd0000E381* +- ID_MODEL_FROM_DATABASE=GN-WMKG 802.11b/g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WMKG 802.11b/g Wireless CardBus Adapter) + + pci:v00001814d00000201sv00001458sd0000E931* +- ID_MODEL_FROM_DATABASE=GN-WIKG 802.11b/g mini-PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WIKG 802.11b/g mini-PCI Adapter) + + pci:v00001814d00000201sv00001462sd00006833* +- ID_MODEL_FROM_DATABASE=Unknown 802.11g mini-PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Unknown 802.11g mini-PCI Adapter) + + pci:v00001814d00000201sv00001462sd00006835* +- ID_MODEL_FROM_DATABASE=Wireless 11G CardBus CB54G2 ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Wireless 11G CardBus CB54G2) + + pci:v00001814d00000201sv00001737sd00000032* +- ID_MODEL_FROM_DATABASE=WMP54G v4.0 PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WMP54G v4.0 PCI Adapter) + + pci:v00001814d00000201sv00001799sd0000700A* +- ID_MODEL_FROM_DATABASE=F5D7000 v2000/v3000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7000 v2000/v3000 Wireless G Desktop Card) + + pci:v00001814d00000201sv00001799sd0000701A* +- ID_MODEL_FROM_DATABASE=F5D7010 v2000/v3000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7010 v2000/v3000 Wireless G Notebook Card) + + pci:v00001814d00000201sv00001814sd00002560* + ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg + + pci:v00001814d00000201sv0000182Dsd00009073* +- ID_MODEL_FROM_DATABASE=WL-115 Wireless Network PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-115 Wireless Network PCI Adapter) + + pci:v00001814d00000201sv0000185Fsd000022A0* +- ID_MODEL_FROM_DATABASE=CN-WF513 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CN-WF513 Wireless Cardbus Adapter) + + pci:v00001814d00000201sv000018EBsd00005312* +- ID_MODEL_FROM_DATABASE=WL531P IEEE 802.11g PCI Card-EU ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL531P IEEE 802.11g PCI Card-EU) + + pci:v00001814d00000201sv00001948sd00003C00* +- ID_MODEL_FROM_DATABASE=C54RC v1 Wireless 11g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54RC v1 Wireless 11g CardBus Adapter) + + pci:v00001814d00000201sv00001948sd00003C01* +- ID_MODEL_FROM_DATABASE=C54Ri v1 Wireless 11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54Ri v1 Wireless 11g PCI Adapter) + + pci:v00001814d00000300* + ID_MODEL_FROM_DATABASE=Wireless Adapter Canyon CN-WF511 +@@ -50223,88 +50223,88 @@ pci:v00001814d00000301* + ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI + + pci:v00001814d00000301sv00001186sd00003C08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1) ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1)) + + pci:v00001814d00000301sv00001186sd00003C09* +- ID_MODEL_FROM_DATABASE=DWL-G510 Rev C ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (DWL-G510 Rev C) + + pci:v00001814d00000301sv000013D1sd0000ABE3* +- ID_MODEL_FROM_DATABASE=miniPCI Pluscom 802.11 a/b/g ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (miniPCI Pluscom 802.11 a/b/g) + + pci:v00001814d00000301sv00001458sd0000E933* +- ID_MODEL_FROM_DATABASE=GN-WI01GS ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WI01GS) + + pci:v00001814d00000301sv00001458sd0000E934* +- ID_MODEL_FROM_DATABASE=GN-WP01GS ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WP01GS) + + pci:v00001814d00000301sv00001737sd00000055* +- ID_MODEL_FROM_DATABASE=WMP54G v4.1 ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (WMP54G v4.1) + + pci:v00001814d00000301sv00001799sd0000700E* +- ID_MODEL_FROM_DATABASE=F5D7000 v6000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7000 v6000 Wireless G Desktop Card) + + pci:v00001814d00000301sv00001799sd0000701E* +- ID_MODEL_FROM_DATABASE=F5D7010 v6000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7010 v6000 Wireless G Notebook Card) + + pci:v00001814d00000301sv000017F9sd00000012* +- ID_MODEL_FROM_DATABASE=AWLC3026T 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AWLC3026T 802.11g Wireless CardBus Adapter) + + pci:v00001814d00000301sv00001814sd00002561* +- ID_MODEL_FROM_DATABASE=EW-7108PCg/EW-7128g ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (EW-7108PCg/EW-7128g) + + pci:v00001814d00000302* + ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g + + pci:v00001814d00000302sv00001186sd00003A71* +- ID_MODEL_FROM_DATABASE=DWA-510 Wireless G Desktop Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (DWA-510 Wireless G Desktop Adapter) + + pci:v00001814d00000302sv00001186sd00003C08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2) ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2)) + + pci:v00001814d00000302sv00001186sd00003C09* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless Network Adapter (Rev.C) ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G510 Wireless Network Adapter (Rev.C)) + + pci:v00001814d00000302sv00001462sd0000B834* +- ID_MODEL_FROM_DATABASE=PC54G3 Wireless 11g PCI Card ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (PC54G3 Wireless 11g PCI Card) + + pci:v00001814d00000302sv00001948sd00003C23* +- ID_MODEL_FROM_DATABASE=C54RC v2 Wireless 11g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54RC v2 Wireless 11g CardBus Adapter) + + pci:v00001814d00000302sv00001948sd00003C24* +- ID_MODEL_FROM_DATABASE=C54Ri v2 Wireless 11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54Ri v2 Wireless 11g PCI Adapter) + + pci:v00001814d00000401* + ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO + + pci:v00001814d00000401sv00001737sd00000052* +- ID_MODEL_FROM_DATABASE=WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster ++ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster) + + pci:v00001814d00000401sv000017F9sd00000011* +- ID_MODEL_FROM_DATABASE=WPCR-137G 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPCR-137G 802.11bg Wireless CardBus Adapter) + + pci:v00001814d00000401sv000017F9sd00000016* +- ID_MODEL_FROM_DATABASE=WPIR-119GH 802.11bg Wireless Desktop Adapter ++ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPIR-119GH 802.11bg Wireless Desktop Adapter) + + pci:v00001814d00000601* + ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI + + pci:v00001814d00000601sv00001799sd0000801C* +- ID_MODEL_FROM_DATABASE=F5D8011 v3 802.11n N1 Wireless Notebook Card ++ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (F5D8011 v3 802.11n N1 Wireless Notebook Card) + + pci:v00001814d00000601sv0000187Esd00003412* +- ID_MODEL_FROM_DATABASE=NWD-310N 802.11n Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (NWD-310N 802.11n Wireless PCI Adapter) + + pci:v00001814d00000681* + ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe + + pci:v00001814d00000681sv00001458sd0000E939* +- ID_MODEL_FROM_DATABASE=GN-WS30N-RH 802.11bgn Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe (GN-WS30N-RH 802.11bgn Mini PCIe Card) + + pci:v00001814d00000701* + ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R + + pci:v00001814d00000701sv00001737sd00000074* +- ID_MODEL_FROM_DATABASE=WMP110 v2 802.11n RangePlus Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R (WMP110 v2 802.11n RangePlus Wireless PCI Adapter) + + pci:v00001814d00000781* + ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe +@@ -50313,7 +50313,7 @@ pci:v00001814d00003060* + ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R + + pci:v00001814d00003060sv00001186sd00003C04* +- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A1) ++ ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A1)) + + pci:v00001814d00003062* + ID_MODEL_FROM_DATABASE=RT3062 Wireless 802.11n 2T/2R +@@ -50322,7 +50322,7 @@ pci:v00001814d00003090* + ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe + + pci:v00001814d00003090sv000013BDsd00001057* +- ID_MODEL_FROM_DATABASE=GN-WS32L-RH Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe (GN-WS32L-RH Half-size Mini PCIe Card) + + pci:v00001814d00003091* + ID_MODEL_FROM_DATABASE=RT3091 Wireless 802.11n 1T/2R PCIe +@@ -50334,13 +50334,13 @@ pci:v00001814d00003290* + ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe + + pci:v00001814d00003290sv0000103Csd000018EC* +- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter ++ ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) + + pci:v00001814d00003298* + ID_MODEL_FROM_DATABASE=RT3290 Bluetooth + + pci:v00001814d00003298sv0000103Csd000018EC* +- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter ++ ID_MODEL_FROM_DATABASE=RT3290 Bluetooth (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) + + pci:v00001814d00003592* + ID_MODEL_FROM_DATABASE=RT3592 Wireless 802.11abgn 2T/2R PCIe +@@ -50352,16 +50352,16 @@ pci:v00001814d00005360* + ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R + + pci:v00001814d00005360sv00001186sd00003C05* +- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A2) ++ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A2)) + + pci:v00001814d00005360sv000020F4sd0000703A* +- ID_MODEL_FROM_DATABASE=TEW-703PI N150 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (TEW-703PI N150 Wireless PCI Adapter) + + pci:v00001814d00005390* + ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe + + pci:v00001814d00005390sv0000103Csd00001636* +- ID_MODEL_FROM_DATABASE=U98Z077.00 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe (U98Z077.00 Half-size Mini PCIe Card) + + pci:v00001814d00005392* + ID_MODEL_FROM_DATABASE=RT5392 PCIe Wireless Network Adapter +@@ -50370,7 +50370,7 @@ pci:v00001814d0000539F* + ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] + + pci:v00001814d0000539Fsv0000103Csd00001637* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card ++ ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] (Pavilion DM1Z-3000 PCIe wireless card) + + pci:v00001814d00005592* + ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter +@@ -50637,7 +50637,7 @@ pci:v000018C3d00000720* + ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller + + pci:v000018C3d00000720sv000007CAsd0000032E* +- ID_MODEL_FROM_DATABASE=Hybrid M779 PCI-E ++ ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller (Hybrid M779 PCI-E) + + pci:v000018C8* + ID_VENDOR_FROM_DATABASE=Cray Inc +@@ -50697,70 +50697,70 @@ pci:v000018ECd00006D05* + ID_MODEL_FROM_DATABASE=ML555 + + pci:v000018ECd00006D05sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=ML555 (NIC (ethernet interfaces)) + + pci:v000018ECd00006D05sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 4x1G) + + pci:v000018ECd00006D05sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 2x10G) + + pci:v000018ECd00006D05sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd00006D05sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd00006D05sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=ML555 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd00006D05sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=ML555 (Testing design) + + pci:v000018ECd00006D05sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=ML555 (Boot design) + + pci:v000018ECd0000C006* + ID_MODEL_FROM_DATABASE=COMBO6 + + pci:v000018ECd0000C006sv000018ECsd0000D001* +- ID_MODEL_FROM_DATABASE=COMBO-4MTX ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4MTX) + + pci:v000018ECd0000C006sv000018ECsd0000D002* +- ID_MODEL_FROM_DATABASE=COMBO-4SFP ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFP) + + pci:v000018ECd0000C006sv000018ECsd0000D003* +- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFPRO) + + pci:v000018ECd0000C006sv000018ECsd0000D004* +- ID_MODEL_FROM_DATABASE=COMBO-2XFP ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-2XFP) + + pci:v000018ECd0000C032* + ID_MODEL_FROM_DATABASE=COMBO-LXT110 + + pci:v000018ECd0000C032sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (ethernet interfaces)) + + pci:v000018ECd0000C032sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 4x1G) + + pci:v000018ECd0000C032sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 2x10G) + + pci:v000018ECd0000C032sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd0000C032sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd0000C032sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd0000C032sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Testing design) + + pci:v000018ECd0000C032sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Boot design) + + pci:v000018ECd0000C045* + ID_MODEL_FROM_DATABASE=COMBO6E +@@ -50772,70 +50772,70 @@ pci:v000018ECd0000C058* + ID_MODEL_FROM_DATABASE=COMBO6X + + pci:v000018ECd0000C058sv000018ECsd0000D001* +- ID_MODEL_FROM_DATABASE=COMBO-4MTX ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4MTX) + + pci:v000018ECd0000C058sv000018ECsd0000D002* +- ID_MODEL_FROM_DATABASE=COMBO-4SFP ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFP) + + pci:v000018ECd0000C058sv000018ECsd0000D003* +- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFPRO) + + pci:v000018ECd0000C058sv000018ECsd0000D004* +- ID_MODEL_FROM_DATABASE=COMBO-2XFP ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-2XFP) + + pci:v000018ECd0000C132* + ID_MODEL_FROM_DATABASE=COMBO-LXT155 + + pci:v000018ECd0000C132sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (ethernet interfaces)) + + pci:v000018ECd0000C132sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 4x1G) + + pci:v000018ECd0000C132sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 2x10G) + + pci:v000018ECd0000C132sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd0000C132sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd0000C132sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd0000C132sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Testing design) + + pci:v000018ECd0000C132sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Boot design) + + pci:v000018ECd0000C232* + ID_MODEL_FROM_DATABASE=COMBO-FXT100 + + pci:v000018ECd0000C232sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (ethernet interfaces)) + + pci:v000018ECd0000C232sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 4x1G) + + pci:v000018ECd0000C232sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 2x10G) + + pci:v000018ECd0000C232sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd0000C232sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd0000C232sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd0000C232sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Testing design) + + pci:v000018ECd0000C232sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Boot design) + + pci:v000018EE* + ID_VENDOR_FROM_DATABASE=Chenming Mold Ind. Corp. +@@ -51075,235 +51075,235 @@ pci:v00001924d00000703* + ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] + + pci:v00001924d00000703sv000010B8sd00000102* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) + + pci:v00001924d00000703sv000010B8sd00000103* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) + + pci:v00001924d00000703sv000010B8sd00000201* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) + + pci:v00001924d00000703sv00001924sd00000101* +- ID_MODEL_FROM_DATABASE=SFE4001-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A1) + + pci:v00001924d00000703sv00001924sd00000102* +- ID_MODEL_FROM_DATABASE=SFE4001-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A2) + + pci:v00001924d00000703sv00001924sd00000103* +- ID_MODEL_FROM_DATABASE=SFE4001-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A3) + + pci:v00001924d00000703sv00001924sd00000201* +- ID_MODEL_FROM_DATABASE=SFE4002-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4002-A1) + + pci:v00001924d00000703sv00001924sd00000301* +- ID_MODEL_FROM_DATABASE=SFE4003-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A1) + + pci:v00001924d00000703sv00001924sd00000302* +- ID_MODEL_FROM_DATABASE=SFE4003-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A2) + + pci:v00001924d00000703sv00001924sd00000303* +- ID_MODEL_FROM_DATABASE=SFE4003-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A3) + + pci:v00001924d00000703sv00001924sd00000304* +- ID_MODEL_FROM_DATABASE=SFE4003-A4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A4) + + pci:v00001924d00000703sv00001924sd00000500* +- ID_MODEL_FROM_DATABASE=SFE4005-A0 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4005-A0) + + pci:v00001924d00000710* + ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] + + pci:v00001924d00000710sv000010B8sd00000103* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) + + pci:v00001924d00000710sv000010B8sd00000201* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) + + pci:v00001924d00000710sv00001924sd00000102* +- ID_MODEL_FROM_DATABASE=SFE4001-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A2) + + pci:v00001924d00000710sv00001924sd00000103* +- ID_MODEL_FROM_DATABASE=SFE4001-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A3) + + pci:v00001924d00000710sv00001924sd00000201* +- ID_MODEL_FROM_DATABASE=SFE4002-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4002-A1) + + pci:v00001924d00000710sv00001924sd00000302* +- ID_MODEL_FROM_DATABASE=SFE4003-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A2) + + pci:v00001924d00000710sv00001924sd00000303* +- ID_MODEL_FROM_DATABASE=SFE4003-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A3) + + pci:v00001924d00000710sv00001924sd00000304* +- ID_MODEL_FROM_DATABASE=SFE4003-A4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A4) + + pci:v00001924d00000710sv00001924sd00000500* +- ID_MODEL_FROM_DATABASE=SFE4005-A0 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4005-A0) + + pci:v00001924d00000710sv00001924sd00005102* +- ID_MODEL_FROM_DATABASE=SFN4111T-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-A2) + + pci:v00001924d00000710sv00001924sd00005103* +- ID_MODEL_FROM_DATABASE=SFN4111T-R3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R3) + + pci:v00001924d00000710sv00001924sd00005104* +- ID_MODEL_FROM_DATABASE=SFN4111T-R4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R4) + + pci:v00001924d00000710sv00001924sd00005105* +- ID_MODEL_FROM_DATABASE=SFN4111T-R5 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R5) + + pci:v00001924d00000710sv00001924sd00005201* +- ID_MODEL_FROM_DATABASE=SFN4112F-R1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R1) + + pci:v00001924d00000710sv00001924sd00005202* +- ID_MODEL_FROM_DATABASE=SFN4112F-R2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R2) + + pci:v00001924d00000803* + ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] + + pci:v00001924d00000803sv00001014sd00000478* +- ID_MODEL_FROM_DATABASE=2-port 10GbE Low-Latency (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE Low-Latency (R7)) + + pci:v00001924d00000803sv00001014sd00000479* +- ID_MODEL_FROM_DATABASE=2-port 10GbE OpenOnload (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE OpenOnload (R7)) + + pci:v00001924d00000803sv00001014sd000004A7* +- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Low-latency Dual-port HBA (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Low-latency Dual-port HBA (R7)) + + pci:v00001924d00000803sv00001014sd000004A8* +- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Dual-port HBA (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Dual-port HBA (R7)) + + pci:v00001924d00000803sv0000103Csd00002132* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1)) + + pci:v00001924d00000803sv0000103Csd00002136* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570SFP+ Adapter (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570SFP+ Adapter (R7)) + + pci:v00001924d00000803sv00001924sd00001201* +- ID_MODEL_FROM_DATABASE=SFA6902F-R1 SFP+ AOE Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFA6902F-R1 SFP+ AOE Adapter) + + pci:v00001924d00000803sv00001924sd00006200* +- ID_MODEL_FROM_DATABASE=SFN5122F-R0 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R0 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006201* +- ID_MODEL_FROM_DATABASE=SFN5122F-R1 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R1 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006202* +- ID_MODEL_FROM_DATABASE=SFN5122F-R2 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R2 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006204* +- ID_MODEL_FROM_DATABASE=SFN5122F-R4 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R4 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006205* +- ID_MODEL_FROM_DATABASE=SFN5122F-R5 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R5 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006206* +- ID_MODEL_FROM_DATABASE=SFN5122F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006207* +- ID_MODEL_FROM_DATABASE=SFN5122F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R7 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006210* +- ID_MODEL_FROM_DATABASE=SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006211* +- ID_MODEL_FROM_DATABASE=SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006217* +- ID_MODEL_FROM_DATABASE=SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006227* +- ID_MODEL_FROM_DATABASE=SFN6122F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6122F-R7 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006237* +- ID_MODEL_FROM_DATABASE=SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006501* +- ID_MODEL_FROM_DATABASE=SFN5802K-R1 Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5802K-R1 Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006511* +- ID_MODEL_FROM_DATABASE=SFN5814H-R1 Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5814H-R1 Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006521* +- ID_MODEL_FROM_DATABASE=SFN5812H-R1 Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5812H-R1 Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006562* +- ID_MODEL_FROM_DATABASE=SFN6832F-R2 SFP+ Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6832F-R2 SFP+ Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006A05* +- ID_MODEL_FROM_DATABASE=SFN5112F-R5 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R5 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006A06* +- ID_MODEL_FROM_DATABASE=SFN5112F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007206* +- ID_MODEL_FROM_DATABASE=SFN5162F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007207* +- ID_MODEL_FROM_DATABASE=SFN5162F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R7 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007A06* +- ID_MODEL_FROM_DATABASE=SFN5152F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007A07* +- ID_MODEL_FROM_DATABASE=SFN5152F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R7 SFP+ Server Adapter) + + pci:v00001924d00000813* + ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] + + pci:v00001924d00000813sv00001924sd00006100* +- ID_MODEL_FROM_DATABASE=SFN5121T-R0 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R0 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006102* +- ID_MODEL_FROM_DATABASE=SFN5121T-R2 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R2 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006103* +- ID_MODEL_FROM_DATABASE=SFN5121T-R3 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R3 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006104* +- ID_MODEL_FROM_DATABASE=SFN5121T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006902* +- ID_MODEL_FROM_DATABASE=SFN5111T-R2 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R2 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006904* +- ID_MODEL_FROM_DATABASE=SFN5111T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00007104* +- ID_MODEL_FROM_DATABASE=SFN5161T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5161T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00007904* +- ID_MODEL_FROM_DATABASE=SFN5151T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5151T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000903* + ID_MODEL_FROM_DATABASE=SFC9120 + + pci:v00001924d00000903sv00001014sd000004CC* +- ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R2 2x10GbE SFP+ Flareon Ultra) + + pci:v00001924d00000903sv00001924sd00008002* +- ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R1 SFP+ Server Adapter) + + pci:v00001924d00000903sv00001924sd00008003* +- ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) + + pci:v00001924d00000903sv00001924sd00008006* +- ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7022F-R1 SFP+ Server Adapter) + + pci:v00001924d00000903sv00001924sd00008007* +- ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7322F-R2 Precision Time SFP+ Server Adapter) + + pci:v00001924d00000903sv00001924sd00008009* +- ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter) + + pci:v00001924d00000903sv00001924sd0000800A* +- ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter) + + pci:v00001924d00000923* + ID_MODEL_FROM_DATABASE=SFC9140 + + pci:v00001924d00000923sv00001924sd0000800B* +- ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9140 (SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) + + pci:v00001924d00001803* + ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] +@@ -51315,40 +51315,40 @@ pci:v00001924d00006703* + ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] + + pci:v00001924d00006703sv000010B8sd00000102* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) + + pci:v00001924d00006703sv000010B8sd00000103* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) + + pci:v00001924d00006703sv000010B8sd00000201* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) + + pci:v00001924d00006703sv00001924sd00000101* +- ID_MODEL_FROM_DATABASE=SFE4001-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A1) + + pci:v00001924d00006703sv00001924sd00000102* +- ID_MODEL_FROM_DATABASE=SFE4001-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A2) + + pci:v00001924d00006703sv00001924sd00000103* +- ID_MODEL_FROM_DATABASE=SFE4001-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A3) + + pci:v00001924d00006703sv00001924sd00000201* +- ID_MODEL_FROM_DATABASE=SFE4002-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4002-A1) + + pci:v00001924d00006703sv00001924sd00000301* +- ID_MODEL_FROM_DATABASE=SFE4003-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A1) + + pci:v00001924d00006703sv00001924sd00000302* +- ID_MODEL_FROM_DATABASE=SFE4003-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A2) + + pci:v00001924d00006703sv00001924sd00000303* +- ID_MODEL_FROM_DATABASE=SFE4003-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A3) + + pci:v00001924d00006703sv00001924sd00000304* +- ID_MODEL_FROM_DATABASE=SFE4003-A4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A4) + + pci:v00001924d00006703sv00001924sd00000500* +- ID_MODEL_FROM_DATABASE=SFE4005-A0 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4005-A0) + + pci:v00001924d0000C101* + ID_MODEL_FROM_DATABASE=EF1-21022T [EtherFabric] +@@ -51549,13 +51549,13 @@ pci:v00001957d00000084* + ID_MODEL_FROM_DATABASE=MPC8347E PBGA + + pci:v00001957d00000084sv0000110Asd00004074* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 ++ ID_MODEL_FROM_DATABASE=MPC8347E PBGA (SIMATIC NET CP 1628) + + pci:v00001957d00000085* + ID_MODEL_FROM_DATABASE=MPC8347 PBGA + + pci:v00001957d00000085sv0000110Asd00004046* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 ++ ID_MODEL_FROM_DATABASE=MPC8347 PBGA (SIMATIC NET CP 1623) + + pci:v00001957d00000086* + ID_MODEL_FROM_DATABASE=MPC8343E +@@ -51570,7 +51570,7 @@ pci:v00001957d000000B6* + ID_MODEL_FROM_DATABASE=MPC8314E + + pci:v00001957d000000B6sv00001A56sd00001101* +- ID_MODEL_FROM_DATABASE=Killer Xeno Pro Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=MPC8314E (Killer Xeno Pro Gigabit Ethernet Controller) + + pci:v00001957d000000C2* + ID_MODEL_FROM_DATABASE=MPC8379E +@@ -51621,7 +51621,7 @@ pci:v00001957d00000111* + ID_MODEL_FROM_DATABASE=P1022 + + pci:v00001957d00000111sv00001C7Fsd00005200* +- ID_MODEL_FROM_DATABASE=EB5200 ++ ID_MODEL_FROM_DATABASE=P1022 (EB5200) + + pci:v00001957d00000118* + ID_MODEL_FROM_DATABASE=P1013E +@@ -51660,7 +51660,7 @@ pci:v00001957d0000C006* + ID_MODEL_FROM_DATABASE=MPC8308 + + pci:v00001957d0000C006sv00001A56sd00001201* +- ID_MODEL_FROM_DATABASE=Killer E2100 Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=MPC8308 (Killer E2100 Gigabit Ethernet Controller) + + pci:v00001958* + ID_VENDOR_FROM_DATABASE=Faster Technology, LLC. +@@ -51726,13 +51726,13 @@ pci:v00001969d00001026* + ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet + + pci:v00001969d00001026sv00001043sd00008304* +- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard ++ ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (P5KPL-CM Motherboard) + + pci:v00001969d00001048* + ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet + + pci:v00001969d00001048sv00001043sd00008226* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet (P5KPL-VM Motherboard) + + pci:v00001969d00001062* + ID_MODEL_FROM_DATABASE=AR8132 Fast Ethernet +@@ -51741,7 +51741,7 @@ pci:v00001969d00001063* + ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet + + pci:v00001969d00001063sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-G31M-ES2L Motherboard ++ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) + + pci:v00001969d00001066* + ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet +@@ -51762,7 +51762,7 @@ pci:v00001969d00001091* + ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet + + pci:v00001969d00001091sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet (N56VZ) + + pci:v00001969d000010A0* + ID_MODEL_FROM_DATABASE=QCA8172 Fast Ethernet +@@ -51804,7 +51804,7 @@ pci:v00001971d00001011* + ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] + + pci:v00001971d00001011sv00001043sd00000001* +- ID_MODEL_FROM_DATABASE=PhysX P1 ++ ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] (PhysX P1) + + pci:v00001974* + ID_VENDOR_FROM_DATABASE=Eberspaecher Electronics +@@ -51834,25 +51834,25 @@ pci:v0000197Bd00002361* + ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE + + pci:v0000197Bd00002361sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE (P965 Neo MS-7235 mainboard) + + pci:v0000197Bd00002362* + ID_MODEL_FROM_DATABASE=JMB362 SATA Controller + + pci:v0000197Bd00002362sv00001043sd00008460* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=JMB362 SATA Controller (P8P67 Deluxe Motherboard) + + pci:v0000197Bd00002363* + ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller + + pci:v0000197Bd00002363sv00001043sd000081E4* +- ID_MODEL_FROM_DATABASE=P5B [JMB363] ++ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (P5B [JMB363]) + + pci:v0000197Bd00002363sv00001458sd0000B000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard) + + pci:v0000197Bd00002363sv00001849sd00002363* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard (one of many)) + + pci:v0000197Bd00002364* + ID_MODEL_FROM_DATABASE=JMB364 AHCI Controller +@@ -51984,19 +51984,19 @@ pci:v000019A2d00000700* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC + + pci:v000019A2d00000700sv0000103Csd00001747* +- ID_MODEL_FROM_DATABASE=NC550SFP DualPort 10GbE Server Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP DualPort 10GbE Server Adapter) + + pci:v000019A2d00000700sv0000103Csd00001749* +- ID_MODEL_FROM_DATABASE=NC550SFP Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP Dual Port Server Adapter) + + pci:v000019A2d00000700sv0000103Csd0000174A* +- ID_MODEL_FROM_DATABASE=NC551m Dual Port FlexFabric 10Gb Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551m Dual Port FlexFabric 10Gb Adapter) + + pci:v000019A2d00000700sv0000103Csd0000174B* +- ID_MODEL_FROM_DATABASE=StorageWorks NC550 DualPort Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (StorageWorks NC550 DualPort Converged Network Adapter) + + pci:v000019A2d00000700sv0000103Csd00003314* +- ID_MODEL_FROM_DATABASE=NC551i Dual Port FlexFabric 10Gb Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551i Dual Port FlexFabric 10Gb Adapter) + + pci:v000019A2d00000702* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator +@@ -52008,19 +52008,19 @@ pci:v000019A2d00000710* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) + + pci:v000019A2d00000710sv0000103Csd00003315* +- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000710sv0000103Csd00003340* +- ID_MODEL_FROM_DATABASE=NC552SFP 2-port 10Gb Server Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552SFP 2-port 10Gb Server Adapter) + + pci:v000019A2d00000710sv0000103Csd00003341* +- ID_MODEL_FROM_DATABASE=NC552m 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552m 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000710sv0000103Csd00003345* +- ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553m 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000710sv0000103Csd0000337B* +- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000712* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) +@@ -52029,10 +52029,10 @@ pci:v000019A2d00000714* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) + + pci:v000019A2d00000714sv0000103Csd00003315* +- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000714sv0000103Csd0000337B* +- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A8* + ID_VENDOR_FROM_DATABASE=DAQDATA GmbH +@@ -52332,16 +52332,16 @@ pci:v00001A78d00000031* + ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive + + pci:v00001A78d00000031sv00001A78sd00000034* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) + + pci:v00001A78d00000031sv00001A78sd00000037* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3D] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) + + pci:v00001A78d00000031sv00001A78sd00000038* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) + + pci:v00001A78d00000031sv00001A78sd00000039* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4D] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) + + pci:v00001A78d00000040* + ID_MODEL_FROM_DATABASE=FlashMAX II +@@ -52479,25 +52479,25 @@ pci:v00001AEDd00001005* + ID_MODEL_FROM_DATABASE=ioDimm3 + + pci:v00001AEDd00001005sv00001014sd000003C3* +- ID_MODEL_FROM_DATABASE=High IOPS SSD PCIe Adapter ++ ID_MODEL_FROM_DATABASE=ioDimm3 (High IOPS SSD PCIe Adapter) + + pci:v00001AEDd00001005sv0000103Csd0000176F* +- ID_MODEL_FROM_DATABASE=1.28TB MLC PCIe ioDrive Duo ++ ID_MODEL_FROM_DATABASE=ioDimm3 (1.28TB MLC PCIe ioDrive Duo) + + pci:v00001AEDd00001005sv0000103Csd00001770* +- ID_MODEL_FROM_DATABASE=5.2TB MLC PCIe ioDrive Octal ++ ID_MODEL_FROM_DATABASE=ioDimm3 (5.2TB MLC PCIe ioDrive Octal) + + pci:v00001AEDd00001005sv0000103Csd0000178B* +- ID_MODEL_FROM_DATABASE=160GB SLC PCIe ioDrive ++ ID_MODEL_FROM_DATABASE=ioDimm3 (160GB SLC PCIe ioDrive) + + pci:v00001AEDd00001005sv0000103Csd0000178C* +- ID_MODEL_FROM_DATABASE=320GB MLC PCIe ioDrive ++ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB MLC PCIe ioDrive) + + pci:v00001AEDd00001005sv0000103Csd0000178D* +- ID_MODEL_FROM_DATABASE=320GB SLC PCIe ioDrive Duo ++ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB SLC PCIe ioDrive Duo) + + pci:v00001AEDd00001005sv0000103Csd0000178E* +- ID_MODEL_FROM_DATABASE=640GB MLC PCIe ioDrive Duo ++ ID_MODEL_FROM_DATABASE=ioDimm3 (640GB MLC PCIe ioDrive Duo) + + pci:v00001AEDd00001006* + ID_MODEL_FROM_DATABASE=ioXtreme +@@ -52548,7 +52548,7 @@ pci:v00001AF4d00001110* + ID_MODEL_FROM_DATABASE=Inter-VM shared memory + + pci:v00001AF4d00001110sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=Inter-VM shared memory (QEMU Virtual Machine) + + pci:v00001AF5* + ID_VENDOR_FROM_DATABASE=Netezza Corp. +@@ -52587,22 +52587,22 @@ pci:v00001B21d00000612* + ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller + + pci:v00001B21d00000612sv00001849sd00000612* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller (Motherboard) + + pci:v00001B21d00001042* + ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller + + pci:v00001B21d00001042sv00001043sd00008488* +- ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (P8B WS Motherboard) + + pci:v00001B21d00001042sv00001849sd00001042* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (Motherboard) + + pci:v00001B21d00001080* + ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge + + pci:v00001B21d00001080sv00001849sd00001080* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) + + pci:v00001B2C* + ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. +@@ -52617,31 +52617,31 @@ pci:v00001B36d00000002* + ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter + + pci:v00001B36d00000002sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter (QEMU Virtual Machine) + + pci:v00001B36d00000003* + ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter + + pci:v00001B36d00000003sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter (QEMU Virtual Machine) + + pci:v00001B36d00000004* + ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter + + pci:v00001B36d00000004sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter (QEMU Virtual Machine) + + pci:v00001B36d00000005* + ID_MODEL_FROM_DATABASE=QEMU PCI Test Device + + pci:v00001B36d00000005sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device (QEMU Virtual Machine) + + pci:v00001B36d00000100* + ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card + + pci:v00001B36d00000100sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card (QEMU Virtual Machine) + + pci:v00001B37* + ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB +@@ -52662,10 +52662,10 @@ pci:v00001B3Ed00001FA8* + ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X + + pci:v00001B3Ed00001FA8sv00001B3Esd000000A3* +- ID_MODEL_FROM_DATABASE=BYNET BIC2SX ++ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SX) + + pci:v00001B3Ed00001FA8sv00001B3Esd000000C3* +- ID_MODEL_FROM_DATABASE=BYNET BIC2SE ++ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SE) + + pci:v00001B40* + ID_VENDOR_FROM_DATABASE=Schooner Information Technology, Inc. +@@ -52701,7 +52701,7 @@ pci:v00001B4Bd00009130* + ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo + + pci:v00001B4Bd00009130sv00001043sd00008438* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo (P8P67 Deluxe Motherboard) + + pci:v00001B4Bd00009172* + ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller +@@ -52767,7 +52767,7 @@ pci:v00001B73d00001000* + ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller + + pci:v00001B73d00001000sv00001D5Csd00001000* +- ID_MODEL_FROM_DATABASE=Anker USB 3.0 Express Card ++ ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller (Anker USB 3.0 Express Card) + + pci:v00001B73d00001009* + ID_MODEL_FROM_DATABASE=FL1009 USB 3.0 Host Controller +@@ -53010,67 +53010,67 @@ pci:v00001FC9d00003010* + ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC + + pci:v00001FC9d00003010sv00000000sd00003002* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port XFP SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port XFP SmartNIC) + + pci:v00001FC9d00003010sv00000000sd00003004* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) + + pci:v00001FC9d00003010sv00000000sd00003008* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port CX4 SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port CX4 SmartNIC) + + pci:v00001FC9d00003014* + ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port + + pci:v00001FC9d00003014sv00000000sd00003003* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port XFP Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port XFP Low Profile SmartNIC) + + pci:v00001FC9d00003014sv00000000sd00003005* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003014sv00000000sd00003014* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003110* + ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC + + pci:v00001FC9d00003110sv00000000sd00003004* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) + + pci:v00001FC9d00003114* + ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC + + pci:v00001FC9d00003114sv00000000sd00003005* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003114sv00000000sd00003011* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003114sv00000000sd00003012* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003114sv00000000sd00003014* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003310* + ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC + + pci:v00001FC9d00003310sv00000000sd00003004* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) + + pci:v00001FC9d00003314* + ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC + + pci:v00001FC9d00003314sv00000000sd00003005* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003314sv00000000sd00003011* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003314sv00000000sd00003012* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003314sv00000000sd00003014* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) + + pci:v00001FCE* + ID_VENDOR_FROM_DATABASE=Cognio Inc. +@@ -53172,31 +53172,31 @@ pci:v00003388d00000021* + ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) + + pci:v00003388d00000021sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K CompactPCI interface bridge ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (C2K CompactPCI interface bridge) + + pci:v00003388d00000021sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CE9) + + pci:v00003388d00000021sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT7 mainboard) + + pci:v00003388d00000021sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT8 mainboard) + + pci:v00003388d00000021sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (Cx9 mainboard) + + pci:v00003388d00000021sv00004C53sd000010A0* +- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CA3/CR3 mainboard) + + pci:v00003388d00000021sv00004C53sd00003010* +- ID_MODEL_FROM_DATABASE=PPCI mezzanine (32-bit PMC) ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (32-bit PMC)) + + pci:v00003388d00000021sv00004C53sd00003011* +- ID_MODEL_FROM_DATABASE=PPCI mezzanine (64-bit PMC) ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (64-bit PMC)) + + pci:v00003388d00000021sv00004C53sd00004000* +- ID_MODEL_FROM_DATABASE=PMCCARR1 carrier board ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PMCCARR1 carrier board) + + pci:v00003388d00000022* + ID_MODEL_FROM_DATABASE=HiNT HB4 PCI-PCI Bridge (PCI6150) +@@ -53220,19 +53220,19 @@ pci:v00003388d00008011* + ID_MODEL_FROM_DATABASE=VXPro II Chipset + + pci:v00003388d00008011sv00003388sd00008011* +- ID_MODEL_FROM_DATABASE=VXPro II Chipset CPU to PCI Bridge ++ ID_MODEL_FROM_DATABASE=VXPro II Chipset (CPU to PCI Bridge) + + pci:v00003388d00008012* + ID_MODEL_FROM_DATABASE=VXPro II Chipset + + pci:v00003388d00008012sv00003388sd00008012* +- ID_MODEL_FROM_DATABASE=VXPro II Chipset PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VXPro II Chipset (PCI to ISA Bridge) + + pci:v00003388d00008013* + ID_MODEL_FROM_DATABASE=VXPro II IDE + + pci:v00003388d00008013sv00003388sd00008013* +- ID_MODEL_FROM_DATABASE=VXPro II Chipset EIDE Controller ++ ID_MODEL_FROM_DATABASE=VXPro II IDE (VXPro II Chipset EIDE Controller) + + pci:v00003388d0000A103* + ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink HD Pro +@@ -53277,13 +53277,13 @@ pci:v00003D3Dd00000002* + ID_MODEL_FROM_DATABASE=GLINT 500TX + + pci:v00003D3Dd00000002sv00000000sd00000000* +- ID_MODEL_FROM_DATABASE=GLoria L ++ ID_MODEL_FROM_DATABASE=GLINT 500TX (GLoria L) + + pci:v00003D3Dd00000003* + ID_MODEL_FROM_DATABASE=GLINT Delta + + pci:v00003D3Dd00000003sv00000000sd00000000* +- ID_MODEL_FROM_DATABASE=GLoria XL ++ ID_MODEL_FROM_DATABASE=GLINT Delta (GLoria XL) + + pci:v00003D3Dd00000004* + ID_MODEL_FROM_DATABASE=Permedia +@@ -53295,10 +53295,10 @@ pci:v00003D3Dd00000006* + ID_MODEL_FROM_DATABASE=GLINT MX + + pci:v00003D3Dd00000006sv00000000sd00000000* +- ID_MODEL_FROM_DATABASE=GLoria XL ++ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XL) + + pci:v00003D3Dd00000006sv00001048sd00000A42* +- ID_MODEL_FROM_DATABASE=GLoria XXL ++ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XXL) + + pci:v00003D3Dd00000007* + ID_MODEL_FROM_DATABASE=3D Extreme +@@ -53307,55 +53307,55 @@ pci:v00003D3Dd00000008* + ID_MODEL_FROM_DATABASE=GLINT Gamma G1 + + pci:v00003D3Dd00000008sv00001048sd00000A42* +- ID_MODEL_FROM_DATABASE=GLoria XXL ++ ID_MODEL_FROM_DATABASE=GLINT Gamma G1 (GLoria XXL) + + pci:v00003D3Dd00000009* + ID_MODEL_FROM_DATABASE=Permedia II 2D+3D + + pci:v00003D3Dd00000009sv00001040sd00000011* +- ID_MODEL_FROM_DATABASE=AccelStar II ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II) + + pci:v00003D3Dd00000009sv00001048sd00000A42* +- ID_MODEL_FROM_DATABASE=GLoria XXL ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (GLoria XXL) + + pci:v00003D3Dd00000009sv000013E9sd00001000* +- ID_MODEL_FROM_DATABASE=6221L-4U ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (6221L-4U) + + pci:v00003D3Dd00000009sv00003D3Dsd00000100* +- ID_MODEL_FROM_DATABASE=AccelStar II 3D Accelerator ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II 3D Accelerator) + + pci:v00003D3Dd00000009sv00003D3Dsd00000111* +- ID_MODEL_FROM_DATABASE=Permedia 3:16 ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia 3:16) + + pci:v00003D3Dd00000009sv00003D3Dsd00000114* +- ID_MODEL_FROM_DATABASE=Santa Ana ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana) + + pci:v00003D3Dd00000009sv00003D3Dsd00000116* +- ID_MODEL_FROM_DATABASE=Oxygen GVX1 ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen GVX1) + + pci:v00003D3Dd00000009sv00003D3Dsd00000119* +- ID_MODEL_FROM_DATABASE=Scirocco ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Scirocco) + + pci:v00003D3Dd00000009sv00003D3Dsd00000120* +- ID_MODEL_FROM_DATABASE=Santa Ana PCL ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana PCL) + + pci:v00003D3Dd00000009sv00003D3Dsd00000125* +- ID_MODEL_FROM_DATABASE=Oxygen VX1 ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen VX1) + + pci:v00003D3Dd00000009sv00003D3Dsd00000127* +- ID_MODEL_FROM_DATABASE=Permedia3 Create! ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia3 Create!) + + pci:v00003D3Dd0000000A* + ID_MODEL_FROM_DATABASE=GLINT R3 + + pci:v00003D3Dd0000000Asv00003D3Dsd00000121* +- ID_MODEL_FROM_DATABASE=Oxygen VX1 ++ ID_MODEL_FROM_DATABASE=GLINT R3 (Oxygen VX1) + + pci:v00003D3Dd0000000C* + ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] + + pci:v00003D3Dd0000000Csv00003D3Dsd00000144* +- ID_MODEL_FROM_DATABASE=Oxygen VX1-4X AGP [Permedia 4] ++ ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] (Oxygen VX1-4X AGP [Permedia 4]) + + pci:v00003D3Dd0000000D* + ID_MODEL_FROM_DATABASE=GLint R4 rev A +@@ -53472,13 +53472,13 @@ pci:v00004040d00000001* + ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface + + pci:v00004040d00000001sv0000103Csd00007047* +- ID_MODEL_FROM_DATABASE=NC510F PCIe 10-Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface (NC510F PCIe 10-Gigabit Server Adapter) + + pci:v00004040d00000002* + ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface + + pci:v00004040d00000002sv0000103Csd00007048* +- ID_MODEL_FROM_DATABASE=NC510c PCIe 10-Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface (NC510c PCIe 10-Gigabit Server Adapter) + + pci:v00004040d00000003* + ID_MODEL_FROM_DATABASE=NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface +@@ -53490,7 +53490,7 @@ pci:v00004040d00000005* + ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class + + pci:v00004040d00000005sv0000103Csd0000170E* +- ID_MODEL_FROM_DATABASE=NC512m Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class (NC512m Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v00004040d00000024* + ID_MODEL_FROM_DATABASE=XG Mgmt +@@ -53502,28 +53502,28 @@ pci:v00004040d00000100* + ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter + + pci:v00004040d00000100sv0000103Csd0000171B* +- ID_MODEL_FROM_DATABASE=NC522m Dual Port 10GbE Multifunction BL-c Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522m Dual Port 10GbE Multifunction BL-c Adapter) + + pci:v00004040d00000100sv0000103Csd00001740* +- ID_MODEL_FROM_DATABASE=NC375T PCI Express Quad Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375T PCI Express Quad Port Gigabit Server Adapter) + + pci:v00004040d00000100sv0000103Csd00003251* +- ID_MODEL_FROM_DATABASE=NC375i 1G w/NC524SFP 10G Module ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i 1G w/NC524SFP 10G Module) + + pci:v00004040d00000100sv0000103Csd0000705A* +- ID_MODEL_FROM_DATABASE=NC375i Integrated Quad Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i Integrated Quad Port Multifunction Gigabit Server Adapter) + + pci:v00004040d00000100sv0000103Csd0000705B* +- ID_MODEL_FROM_DATABASE=NC522SFP Dual Port 10GbE Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522SFP Dual Port 10GbE Server Adapter) + + pci:v00004040d00000100sv0000152Dsd0000896B* +- ID_MODEL_FROM_DATABASE=TG20 Dual Port 10GbE Server/Storage Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (TG20 Dual Port 10GbE Server/Storage Adapter) + + pci:v00004040d00000100sv00004040sd00000124* +- ID_MODEL_FROM_DATABASE=NX3031 Quad Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NX3031 Quad Port Gigabit Server Adapter) + + pci:v00004040d00000100sv00004040sd00000126* +- ID_MODEL_FROM_DATABASE=Dual Port SFP+ 10GbE Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (Dual Port SFP+ 10GbE Server Adapter) + + pci:v00004143* + ID_VENDOR_FROM_DATABASE=Digital Equipment Corp +@@ -53571,190 +53571,190 @@ pci:v00004444d00000016* + ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder + + pci:v00004444d00000016sv00000070sd00000003* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00000009* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00000801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00000807* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00004001* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00004009* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00004801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00004803* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00008003* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00008801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd0000C801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd0000E807* +- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (1st unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (1st unit)) + + pci:v00004444d00000016sv00000070sd0000E817* +- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (2nd unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (2nd unit)) + + pci:v00004444d00000016sv00000070sd0000FF92* +- ID_MODEL_FROM_DATABASE=WiNTV PVR-550 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WiNTV PVR-550) + + pci:v00004444d00000016sv00000270sd00000801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv0000104Dsd0000013D* +- ID_MODEL_FROM_DATABASE=ENX-26 TV Encoder ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (ENX-26 TV Encoder) + + pci:v00004444d00000016sv000010FCsd0000D038* +- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (1st unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (1st unit)) + + pci:v00004444d00000016sv000010FCsd0000D039* +- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (2nd unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (2nd unit)) + + pci:v00004444d00000016sv000012ABsd0000FFF3* +- ID_MODEL_FROM_DATABASE=MPG600 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) + + pci:v00004444d00000016sv000012ABsd0000FFFF* +- ID_MODEL_FROM_DATABASE=MPG600 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) + + pci:v00004444d00000016sv00001461sd0000C00A* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C00B* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C00C* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner)) + + pci:v00004444d00000016sv00001461sd0000C010* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C011* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C018* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C019* +- ID_MODEL_FROM_DATABASE=UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C01A* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C01B* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C030* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C031* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C032* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C033* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C034* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C035* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C03F* +- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) + + pci:v00004444d00000016sv00001461sd0000C136* +- ID_MODEL_FROM_DATABASE=M104 mini-PCI Analog TV ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M104 mini-PCI Analog TV) + + pci:v00004444d00000016sv00001461sd0000C20A* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C218* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C219* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C21A* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C21B* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C230* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C231* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C232* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C233* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C234* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C235* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C337* +- ID_MODEL_FROM_DATABASE=E106 AVerMedia AVerTV Video Capture ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (E106 AVerMedia AVerTV Video Capture) + + pci:v00004444d00000016sv00001461sd0000C439* +- ID_MODEL_FROM_DATABASE=M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner)) + + pci:v00004444d00000016sv00001461sd0000C5FF* +- ID_MODEL_FROM_DATABASE=C755 AVerTV Video Capture card (no tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C755 AVerTV Video Capture card (no tuner)) + + pci:v00004444d00000016sv00001461sd0000C6FF* +- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) + + pci:v00004444d00000016sv00001461sd0000C739* +- ID_MODEL_FROM_DATABASE=M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner)) + + pci:v00004444d00000016sv00009005sd00000092* +- ID_MODEL_FROM_DATABASE=VideOh! AVC-2010 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2010) + + pci:v00004444d00000016sv00009005sd00000093* +- ID_MODEL_FROM_DATABASE=VideOh! AVC-2410 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2410) + + pci:v00004444d00000803* + ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder + + pci:v00004444d00000803sv00000070sd00004000* +- ID_MODEL_FROM_DATABASE=WinTV PVR-350 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350) + + pci:v00004444d00000803sv00000070sd00004001* +- ID_MODEL_FROM_DATABASE=WinTV PVR-250 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-250) + + pci:v00004444d00000803sv00000070sd00004800* +- ID_MODEL_FROM_DATABASE=WinTV PVR-350 (V1) ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350 (V1)) + + pci:v00004444d00000803sv000012ABsd00000000* +- ID_MODEL_FROM_DATABASE=MPG160 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (MPG160) + + pci:v00004444d00000803sv00001461sd0000A3CE* +- ID_MODEL_FROM_DATABASE=M179 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) + + pci:v00004444d00000803sv00001461sd0000A3CF* +- ID_MODEL_FROM_DATABASE=M179 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) + + pci:v00004468* + ID_VENDOR_FROM_DATABASE=Bridgeport machines +@@ -53961,7 +53961,7 @@ pci:v00004A14d00005000* + ID_MODEL_FROM_DATABASE=NV5000SC + + pci:v00004A14d00005000sv00004A14sd00005000* +- ID_MODEL_FROM_DATABASE=RT8029-Based Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=NV5000SC (RT8029-Based Ethernet Adapter) + + pci:v00004B10* + ID_VENDOR_FROM_DATABASE=Buslogic Inc. +@@ -53976,16 +53976,16 @@ pci:v00004C53d00000000* + ID_MODEL_FROM_DATABASE=PLUSTEST device + + pci:v00004C53d00000000sv00004C53sd00003000* +- ID_MODEL_FROM_DATABASE=PLUSTEST card (PC104+) ++ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PC104+)) + + pci:v00004C53d00000000sv00004C53sd00003001* +- ID_MODEL_FROM_DATABASE=PLUSTEST card (PMC) ++ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PMC)) + + pci:v00004C53d00000001* + ID_MODEL_FROM_DATABASE=PLUSTEST-MM device + + pci:v00004C53d00000001sv00004C53sd00003002* +- ID_MODEL_FROM_DATABASE=PLUSTEST-MM card (PMC) ++ ID_MODEL_FROM_DATABASE=PLUSTEST-MM device (PLUSTEST-MM card (PMC)) + + pci:v00004CA1* + ID_VENDOR_FROM_DATABASE=Seanix Technology Inc +@@ -54222,13 +54222,13 @@ pci:v00005333d00008900* + ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] + + pci:v00005333d00008900sv00005333sd00008900* +- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX ++ ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] (86C775 Trio64V2/DX) + + pci:v00005333d00008901* + ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] + + pci:v00005333d00008901sv00005333sd00008901* +- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX, 86C785 Trio64V2/GX ++ ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] (86C775 Trio64V2/DX, 86C785 Trio64V2/GX) + + pci:v00005333d00008902* + ID_MODEL_FROM_DATABASE=Plato/PX +@@ -54240,13 +54240,13 @@ pci:v00005333d00008904* + ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] + + pci:v00005333d00008904sv00001014sd000000DB* +- ID_MODEL_FROM_DATABASE=Integrated Trio3D ++ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Integrated Trio3D) + + pci:v00005333d00008904sv00004843sd0000314A* +- ID_MODEL_FROM_DATABASE=Terminator 128/3D GLH ++ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Terminator 128/3D GLH) + + pci:v00005333d00008904sv00005333sd00008904* +- ID_MODEL_FROM_DATABASE=86C365 Trio3D AGP ++ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (86C365 Trio3D AGP) + + pci:v00005333d00008905* + ID_MODEL_FROM_DATABASE=Trio 64V+ family +@@ -54285,40 +54285,40 @@ pci:v00005333d00008A01* + ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] + + pci:v00005333d00008A01sv00000E11sd0000B032* +- ID_MODEL_FROM_DATABASE=ViRGE/GX ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/GX) + + pci:v00005333d00008A01sv000010B4sd00001617* +- ID_MODEL_FROM_DATABASE=Nitro 3D ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) + + pci:v00005333d00008A01sv000010B4sd00001717* +- ID_MODEL_FROM_DATABASE=Nitro 3D ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) + + pci:v00005333d00008A01sv00005333sd00008A01* +- ID_MODEL_FROM_DATABASE=ViRGE/DX ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/DX) + + pci:v00005333d00008A10* + ID_MODEL_FROM_DATABASE=ViRGE/GX2 + + pci:v00005333d00008A10sv00001092sd00008A10* +- ID_MODEL_FROM_DATABASE=Stealth 3D 4000 ++ ID_MODEL_FROM_DATABASE=ViRGE/GX2 (Stealth 3D 4000) + + pci:v00005333d00008A13* + ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] + + pci:v00005333d00008A13sv00005333sd00008A13* +- ID_MODEL_FROM_DATABASE=Trio3D/2X ++ ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] (Trio3D/2X) + + pci:v00005333d00008A20* + ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] + + pci:v00005333d00008A20sv00005333sd00008A20* +- ID_MODEL_FROM_DATABASE=86C391 Savage3D ++ ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] (86C391 Savage3D) + + pci:v00005333d00008A21* + ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] + + pci:v00005333d00008A21sv00005333sd00008A21* +- ID_MODEL_FROM_DATABASE=86C390 Savage3D/MV ++ ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] (86C390 Savage3D/MV) + + pci:v00005333d00008A22* + ID_MODEL_FROM_DATABASE=Savage 4 +@@ -54330,85 +54330,85 @@ pci:v00005333d00008A22sv00001033sd00008069* + ID_MODEL_FROM_DATABASE=Savage 4 + + pci:v00005333d00008A22sv00001033sd00008110* +- ID_MODEL_FROM_DATABASE=Savage 4 LT ++ ID_MODEL_FROM_DATABASE=Savage 4 (LT) + + pci:v00005333d00008A22sv0000105Dsd00000018* +- ID_MODEL_FROM_DATABASE=SR9 8Mb SDRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 8Mb SDRAM) + + pci:v00005333d00008A22sv0000105Dsd0000002A* +- ID_MODEL_FROM_DATABASE=SR9 Pro 16Mb SDRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 16Mb SDRAM) + + pci:v00005333d00008A22sv0000105Dsd0000003A* +- ID_MODEL_FROM_DATABASE=SR9 Pro 32Mb SDRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 32Mb SDRAM) + + pci:v00005333d00008A22sv0000105Dsd0000092F* +- ID_MODEL_FROM_DATABASE=SR9 Pro+ 16Mb SGRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro+ 16Mb SGRAM) + + pci:v00005333d00008A22sv00001092sd00004207* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004800* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004807* +- ID_MODEL_FROM_DATABASE=SpeedStar A90 ++ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A90) + + pci:v00005333d00008A22sv00001092sd00004808* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004809* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd0000480E* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004904* +- ID_MODEL_FROM_DATABASE=Stealth III S520 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S520) + + pci:v00005333d00008A22sv00001092sd00004905* +- ID_MODEL_FROM_DATABASE=SpeedStar A200 ++ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A200) + + pci:v00005333d00008A22sv00001092sd00004A09* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004A0B* +- ID_MODEL_FROM_DATABASE=Stealth III S540 Xtreme ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540 Xtreme) + + pci:v00005333d00008A22sv00001092sd00004A0F* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004E01* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001102sd0000101D* +- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 ++ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) + + pci:v00005333d00008A22sv00001102sd0000101E* +- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 ++ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) + + pci:v00005333d00008A22sv00005333sd00008100* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 100 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 100) + + pci:v00005333d00008A22sv00005333sd00008110* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 110 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 110) + + pci:v00005333d00008A22sv00005333sd00008125* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 125 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 125) + + pci:v00005333d00008A22sv00005333sd00008143* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 143 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 143) + + pci:v00005333d00008A22sv00005333sd00008A22* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4) + + pci:v00005333d00008A22sv00005333sd00008A2E* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 32bit ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 32bit) + + pci:v00005333d00008A22sv00005333sd00009125* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 125 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 125) + + pci:v00005333d00008A22sv00005333sd00009143* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 143 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 143) + + pci:v00005333d00008A23* + ID_MODEL_FROM_DATABASE=Savage 4 +@@ -54417,7 +54417,7 @@ pci:v00005333d00008A25* + ID_MODEL_FROM_DATABASE=ProSavage PM133 + + pci:v00005333d00008A25sv00000303sd00000303* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=ProSavage PM133 (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00005333d00008A26* + ID_MODEL_FROM_DATABASE=ProSavage KM133 +@@ -54447,16 +54447,16 @@ pci:v00005333d00008C12* + ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] + + pci:v00005333d00008C12sv00001014sd0000017F* +- ID_MODEL_FROM_DATABASE=ThinkPad T20/T22 ++ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (ThinkPad T20/T22) + + pci:v00005333d00008C12sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=86C584 SuperSavage/IXC Toshiba ++ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (86C584 SuperSavage/IXC Toshiba) + + pci:v00005333d00008C13* + ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] + + pci:v00005333d00008C13sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] (Magnia Z310) + + pci:v00005333d00008C22* + ID_MODEL_FROM_DATABASE=SuperSavage MX/128 +@@ -54483,7 +54483,7 @@ pci:v00005333d00008C2E* + ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR + + pci:v00005333d00008C2Esv00001014sd000001FC* +- ID_MODEL_FROM_DATABASE=ThinkPad T23 ++ ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR (ThinkPad T23) + + pci:v00005333d00008C2F* + ID_MODEL_FROM_DATABASE=SuperSavage IX/C DDR +@@ -54513,7 +54513,7 @@ pci:v00005333d00008E48* + ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] + + pci:v00005333d00008E48sv00005333sd00000130* +- ID_MODEL_FROM_DATABASE=Chrome S27 256M DDR2 ++ ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] (Chrome S27 256M DDR2) + + pci:v00005333d00009043* + ID_MODEL_FROM_DATABASE=Chrome 430 GT +@@ -54528,28 +54528,28 @@ pci:v00005333d00009102* + ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] + + pci:v00005333d00009102sv00001092sd00005932* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005934* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005952* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005954* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A35* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A37* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A55* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A57* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d0000CA00* + ID_MODEL_FROM_DATABASE=SonicVibes +@@ -54774,13 +54774,13 @@ pci:v00008086d00000044* + ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller + + pci:v00008086d00000044sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Aspire 7740G) + + pci:v00008086d00000044sv00001025sd00000487* +- ID_MODEL_FROM_DATABASE=TravelMate 5742 ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) + + pci:v00008086d00000044sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) + + pci:v00008086d00000045* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port +@@ -54789,7 +54789,7 @@ pci:v00008086d00000046* + ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller + + pci:v00008086d00000046sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) + + pci:v00008086d00000047* + ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port +@@ -54816,202 +54816,202 @@ pci:v00008086d00000082* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] + + pci:v00008086d00000082sv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) + + pci:v00008086d00000082sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) + + pci:v00008086d00000082sv00008086sd00001307* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 BG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 BG) + + pci:v00008086d00000082sv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) + + pci:v00008086d00000082sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) + + pci:v00008086d00000083* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] + + pci:v00008086d00000083sv00008086sd00001205* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001206* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000083sv00008086sd00001225* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001226* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000083sv00008086sd00001305* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000083sv00008086sd00001325* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000084* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] + + pci:v00008086d00000084sv00008086sd00001215* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000084sv00008086sd00001216* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000084sv00008086sd00001315* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000084sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000085* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] + + pci:v00008086d00000085sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) + + pci:v00008086d00000085sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) + + pci:v00008086d00000087* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] + + pci:v00008086d00000087sv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) + + pci:v00008086d00000087sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) + + pci:v00008086d00000087sv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) + + pci:v00008086d00000087sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) + + pci:v00008086d00000089* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] + + pci:v00008086d00000089sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) + + pci:v00008086d00000089sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) + + pci:v00008086d0000008A* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] + + pci:v00008086d0000008Asv00008086sd00005305* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) + + pci:v00008086d0000008Asv00008086sd00005307* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) + + pci:v00008086d0000008Asv00008086sd00005325* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) + + pci:v00008086d0000008Asv00008086sd00005327* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) + + pci:v00008086d0000008B* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] + + pci:v00008086d0000008Bsv00008086sd00005315* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) + + pci:v00008086d0000008Bsv00008086sd00005317* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) + + pci:v00008086d00000090* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] + + pci:v00008086d00000090sv00008086sd00005211* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) + + pci:v00008086d00000090sv00008086sd00005215* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) + + pci:v00008086d00000090sv00008086sd00005216* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) + + pci:v00008086d00000091* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] + + pci:v00008086d00000091sv00008086sd00005201* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) + + pci:v00008086d00000091sv00008086sd00005205* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) + + pci:v00008086d00000091sv00008086sd00005206* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) + + pci:v00008086d00000091sv00008086sd00005207* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BG) + + pci:v00008086d00000091sv00008086sd00005221* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) + + pci:v00008086d00000091sv00008086sd00005225* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) + + pci:v00008086d00000091sv00008086sd00005226* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) + + pci:v00008086d00000100* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller + + pci:v00008086d00000100sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (XPS 8300) + + pci:v00008086d00000100sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (P8P67/P8H67 Series Motherboard) + + pci:v00008086d00000101* + ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port + + pci:v00008086d00000101sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (Vostro 3350) + + pci:v00008086d00000101sv0000106Bsd000000DC* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00000102* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller + + pci:v00008086d00000102sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (XPS 8300) + + pci:v00008086d00000102sv00001043sd00000102* +- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (P8H67 Series Motherboard) + + pci:v00008086d00000104* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller + + pci:v00008086d00000104sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Precision M4600) + + pci:v00008086d00000104sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3350) + + pci:v00008086d00000104sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3750) + + pci:v00008086d00000104sv0000106Bsd000000DC* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00000105* + ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port + + pci:v00008086d00000105sv0000106Bsd000000DC* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00000106* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller +@@ -55044,7 +55044,7 @@ pci:v00008086d00000116* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller + + pci:v00008086d00000116sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3750) + + pci:v00008086d00000122* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller +@@ -55053,64 +55053,64 @@ pci:v00008086d00000126* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller + + pci:v00008086d00000126sv00001028sd000004CC* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3350) + + pci:v00008086d00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller + + pci:v00008086d00000150sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) + + pci:v00008086d00000150sv00001849sd00000150* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) + + pci:v00008086d00000151* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + + pci:v00008086d00000151sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (N56VZ) + + pci:v00008086d00000151sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) + + pci:v00008086d00000151sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8H77-I Motherboard) + + pci:v00008086d00000151sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) + + pci:v00008086d00000152* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + + pci:v00008086d00000152sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8H77-I Motherboard) + + pci:v00008086d00000153* + ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem + + pci:v00008086d00000153sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem (Zenbook Prime UX31A) + + pci:v00008086d00000154* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller + + pci:v00008086d00000154sv00001025sd00000813* +- ID_MODEL_FROM_DATABASE=Aspire R7-571 ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Aspire R7-571) + + pci:v00008086d00000154sv0000103Csd000017F6* +- ID_MODEL_FROM_DATABASE=ProBook 4540s ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (ProBook 4540s) + + pci:v00008086d00000154sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (N56VZ) + + pci:v00008086d00000154sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Zenbook Prime UX31A) + + pci:v00008086d00000155* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + + pci:v00008086d00000155sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) + + pci:v00008086d00000156* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller +@@ -55119,10 +55119,10 @@ pci:v00008086d00000158* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller + + pci:v00008086d00000158sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (P8 series motherboard) + + pci:v00008086d00000158sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (Server Board S1200BTS) + + pci:v00008086d00000159* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port +@@ -55137,7 +55137,7 @@ pci:v00008086d0000015D* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + + pci:v00008086d0000015Dsv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) + + pci:v00008086d0000015E* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller +@@ -55146,22 +55146,22 @@ pci:v00008086d00000162* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + + pci:v00008086d00000162sv00001849sd00000162* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) + + pci:v00008086d00000166* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller + + pci:v00008086d00000166sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (Zenbook Prime UX31A) + + pci:v00008086d00000166sv00001043sd00002103* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (N56VZ) + + pci:v00008086d0000016A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + + pci:v00008086d0000016Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8B WS Motherboard) + + pci:v00008086d00000172* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller +@@ -55179,19 +55179,19 @@ pci:v00008086d00000326* + ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A + + pci:v00008086d00000326sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (ProLiant DL140 G2) + + pci:v00008086d00000326sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (CR11/VR11 Single Board Computer) + + pci:v00008086d00000327* + ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B + + pci:v00008086d00000327sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (ProLiant DL140 G2) + + pci:v00008086d00000327sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (CR11/VR11 Single Board Computer) + + pci:v00008086d00000329* + ID_MODEL_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge A +@@ -55260,7 +55260,7 @@ pci:v00008086d00000416* + ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller + + pci:v00008086d00000416sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller (ThinkPad T440p) + + pci:v00008086d0000041A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller +@@ -55365,16 +55365,16 @@ pci:v00008086d00000600* + ID_MODEL_FROM_DATABASE=RAID Controller + + pci:v00008086d00000600sv00008086sd00000136* +- ID_MODEL_FROM_DATABASE=SRCU31L ++ ID_MODEL_FROM_DATABASE=RAID Controller (SRCU31L) + + pci:v00008086d00000600sv00008086sd000001AF* +- ID_MODEL_FROM_DATABASE=SRCZCR ++ ID_MODEL_FROM_DATABASE=RAID Controller (SRCZCR) + + pci:v00008086d00000600sv00008086sd000001C1* +- ID_MODEL_FROM_DATABASE=ICP Vortex GDT8546RZ ++ ID_MODEL_FROM_DATABASE=RAID Controller (ICP Vortex GDT8546RZ) + + pci:v00008086d00000600sv00008086sd000001F7* +- ID_MODEL_FROM_DATABASE=SCRU32 ++ ID_MODEL_FROM_DATABASE=RAID Controller (SCRU32) + + pci:v00008086d0000061F* + ID_MODEL_FROM_DATABASE=80303 I/O Processor +@@ -55467,301 +55467,301 @@ pci:v00008086d00000885* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 + + pci:v00008086d00000885sv00008086sd00001305* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) + + pci:v00008086d00000885sv00008086sd00001307* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) + + pci:v00008086d00000885sv00008086sd00001325* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) + + pci:v00008086d00000885sv00008086sd00001327* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) + + pci:v00008086d00000886* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 + + pci:v00008086d00000886sv00008086sd00001315* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) + + pci:v00008086d00000886sv00008086sd00001317* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) + + pci:v00008086d00000887* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 + + pci:v00008086d00000887sv00008086sd00004062* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) + + pci:v00008086d00000887sv00008086sd00004462* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) + + pci:v00008086d00000888* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 + + pci:v00008086d00000888sv00008086sd00004262* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) + + pci:v00008086d0000088E* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 + + pci:v00008086d0000088Esv00008086sd00004060* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) + + pci:v00008086d0000088Esv00008086sd00004460* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) + + pci:v00008086d0000088F* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 + + pci:v00008086d0000088Fsv00008086sd00004260* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) + + pci:v00008086d00000890* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 + + pci:v00008086d00000890sv00008086sd00004022* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000890sv00008086sd00004422* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000890sv00008086sd00004822* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000891* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 + + pci:v00008086d00000891sv00008086sd00004222* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000892* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 + + pci:v00008086d00000892sv00008086sd00000062* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) + + pci:v00008086d00000892sv00008086sd00000462* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) + + pci:v00008086d00000893* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 + + pci:v00008086d00000893sv00008086sd00000262* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) + + pci:v00008086d00000894* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 + + pci:v00008086d00000894sv00008086sd00000022* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000894sv00008086sd00000422* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000894sv00008086sd00000822* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000895* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 + + pci:v00008086d00000895sv00008086sd00000222* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000896* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 + + pci:v00008086d00000896sv00008086sd00005005* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) + + pci:v00008086d00000896sv00008086sd00005007* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) + + pci:v00008086d00000896sv00008086sd00005025* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) + + pci:v00008086d00000896sv00008086sd00005027* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) + + pci:v00008086d00000897* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 + + pci:v00008086d00000897sv00008086sd00005015* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) + + pci:v00008086d00000897sv00008086sd00005017* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) + + pci:v00008086d000008AE* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 + + pci:v00008086d000008AEsv00008086sd00001005* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) + + pci:v00008086d000008AEsv00008086sd00001007* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) + + pci:v00008086d000008AEsv00008086sd00001025* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) + + pci:v00008086d000008AEsv00008086sd00001027* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) + + pci:v00008086d000008AF* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 + + pci:v00008086d000008AFsv00008086sd00001015* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) + + pci:v00008086d000008AFsv00008086sd00001017* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) + + pci:v00008086d000008B1* + ID_MODEL_FROM_DATABASE=Wireless 7260 + + pci:v00008086d000008B1sv00008086sd00004060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004062* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004160* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004162* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004460* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004462* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000486E* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004870* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004A6C* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004A6E* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004A70* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000C020* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C062* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000C160* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C162* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000C420* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C460* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C462* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B2* + ID_MODEL_FROM_DATABASE=Wireless 7260 + + pci:v00008086d000008B2sv00008086sd00004220* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd00004260* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd00004262* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd00004270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B2sv00008086sd0000C220* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd0000C260* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd0000C262* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd0000C270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B3* + ID_MODEL_FROM_DATABASE=Wireless 3160 + + pci:v00008086d000008B3sv00008086sd00000060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-N 3160) + + pci:v00008086d000008B3sv00008086sd00000062* +- ID_MODEL_FROM_DATABASE=Wireless-N 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless-N 3160) + + pci:v00008086d000008B3sv00008086sd00000070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B3sv00008086sd00000170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B3sv00008086sd00000470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B3sv00008086sd00008060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless N-3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless N-3160) + + pci:v00008086d000008B3sv00008086sd00008062* +- ID_MODEL_FROM_DATABASE=Wireless N-3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless N-3160) + + pci:v00008086d000008B3sv00008086sd00008070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008B3sv00008086sd00008170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008B3sv00008086sd00008470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008B4* + ID_MODEL_FROM_DATABASE=Wireless 3160 + + pci:v00008086d000008B4sv00008086sd00000270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B4sv00008086sd00008270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008CF* + ID_MODEL_FROM_DATABASE=Atom Processor Z2760 Integrated Graphics Controller +@@ -55770,106 +55770,106 @@ pci:v00008086d0000095A* + ID_MODEL_FROM_DATABASE=Wireless 7265 + + pci:v00008086d0000095Asv00008086sd00001010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005000* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005002* +- ID_MODEL_FROM_DATABASE=Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd0000500A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005012* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005020* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd0000502A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005090* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005100* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd0000510A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005110* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005112* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005190* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005400* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005410* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005420* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005490* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005590* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009012* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009110* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009112* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009210* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009310* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009410* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009510* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095B* + ID_MODEL_FROM_DATABASE=Wireless 7265 + + pci:v00008086d0000095Bsv00008086sd00005200* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Bsv00008086sd00005202* +- ID_MODEL_FROM_DATABASE=Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) + + pci:v00008086d0000095Bsv00008086sd00005210* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Bsv00008086sd00005290* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Bsv00008086sd00005302* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Bsv00008086sd00005310* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d00000960* + ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge +@@ -55884,7 +55884,7 @@ pci:v00008086d00000A04* + ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller + + pci:v00008086d00000A04sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller (ThinkPad X240) + + pci:v00008086d00000A06* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller +@@ -55893,13 +55893,13 @@ pci:v00008086d00000A0C* + ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller + + pci:v00008086d00000A0Csv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller (ThinkPad X240) + + pci:v00008086d00000A16* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + + pci:v00008086d00000A16sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller (ThinkPad X240) + + pci:v00008086d00000A22* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller +@@ -55917,7 +55917,7 @@ pci:v00008086d00000BE1* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller + + pci:v00008086d00000BE1sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller (D270S/D250S Motherboard) + + pci:v00008086d00000BE2* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller +@@ -55980,7 +55980,7 @@ pci:v00008086d00000BF5* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller + + pci:v00008086d00000BF5sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller (D270S/D250S Motherboard) + + pci:v00008086d00000BF6* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller +@@ -55998,10 +55998,10 @@ pci:v00008086d00000C04* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller + + pci:v00008086d00000C04sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ZBook 15) + + pci:v00008086d00000C04sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ThinkPad T440p) + + pci:v00008086d00000C05* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller +@@ -56016,7 +56016,7 @@ pci:v00008086d00000C0C* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller + + pci:v00008086d00000C0Csv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (ThinkPad T440p) + + pci:v00008086d00000C46* + ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 1 +@@ -56787,34 +56787,34 @@ pci:v00008086d00001000* + ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001000sv00000E11sd0000B0DF* +- ID_MODEL_FROM_DATABASE=NC6132 Gigabit Ethernet Adapter (1000-SX) ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6132 Gigabit Ethernet Adapter (1000-SX)) + + pci:v00008086d00001000sv00000E11sd0000B0E0* +- ID_MODEL_FROM_DATABASE=NC6133 Gigabit Ethernet Adapter (1000-LX) ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6133 Gigabit Ethernet Adapter (1000-LX)) + + pci:v00008086d00001000sv00000E11sd0000B123* +- ID_MODEL_FROM_DATABASE=NC6134 Gigabit Ethernet Adapter (1000-LX) ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6134 Gigabit Ethernet Adapter (1000-LX)) + + pci:v00008086d00001000sv00001014sd00000119* +- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) + + pci:v00008086d00001000sv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (PRO/1000 Gigabit Server Adapter) + + pci:v00008086d00001001* + ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001001sv00000E11sd0000004A* +- ID_MODEL_FROM_DATABASE=NC6136 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (NC6136 Gigabit Server Adapter) + + pci:v00008086d00001001sv00001014sd000001EA* +- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) + + pci:v00008086d00001001sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) + + pci:v00008086d00001001sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) + + pci:v00008086d00001002* + ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II +@@ -56823,64 +56823,64 @@ pci:v00008086d00001002sv00008086sd0000200E* + ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II + + pci:v00008086d00001002sv00008086sd00002013* +- ID_MODEL_FROM_DATABASE=Pro 100 SR Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 SR Mobile Combo Adapter) + + pci:v00008086d00001002sv00008086sd00002017* +- ID_MODEL_FROM_DATABASE=Pro 100 S Combo Mobile Adapter ++ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 S Combo Mobile Adapter) + + pci:v00008086d00001004* + ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001004sv00000E11sd00000049* +- ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7132 Gigabit Upgrade Module) + + pci:v00008086d00001004sv00000E11sd0000B1A4* +- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7131 Gigabit Server Adapter) + + pci:v00008086d00001004sv00001014sd000010F2* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (Gigabit Ethernet Server Adapter) + + pci:v00008086d00001004sv00008086sd00001004* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) + + pci:v00008086d00001004sv00008086sd00002004* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) + + pci:v00008086d00001008* + ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001008sv00001014sd00000269* +- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) + + pci:v00008086d00001008sv00001028sd0000011B* +- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PowerEdge 1650/2550) + + pci:v00008086d00001008sv00001028sd0000011C* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) + + pci:v00008086d00001008sv00008086sd00001107* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) + + pci:v00008086d00001008sv00008086sd00002107* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) + + pci:v00008086d00001008sv00008086sd00002110* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Desktop Adapter) + + pci:v00008086d00001008sv00008086sd00003108* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) + + pci:v00008086d00001009* + ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001009sv00001014sd00000268* +- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) + + pci:v00008086d00001009sv00008086sd00001109* +- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) + + pci:v00008086d00001009sv00008086sd00002109* +- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) + + pci:v00008086d0000100A* + ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller +@@ -56889,286 +56889,286 @@ pci:v00008086d0000100C* + ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000100Csv00008086sd00001112* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) + + pci:v00008086d0000100Csv00008086sd00002112* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) + + pci:v00008086d0000100D* + ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) + + pci:v00008086d0000100Dsv00001028sd00000123* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (PRO/1000 XT Network Connection) + + pci:v00008086d0000100Dsv00001079sd0000891F* +- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) + + pci:v00008086d0000100Dsv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (CT8 mainboard) + + pci:v00008086d0000100Dsv00008086sd0000110D* +- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) + + pci:v00008086d0000100E* + ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller + + pci:v00008086d0000100Esv00001014sd00000265* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Esv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Esv00001014sd0000026A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Esv00001028sd0000002E* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX260) + + pci:v00008086d0000100Esv00001028sd00000134* +- ID_MODEL_FROM_DATABASE=PowerEdge 600SC ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PowerEdge 600SC) + + pci:v00008086d0000100Esv00001028sd00000151* +- ID_MODEL_FROM_DATABASE=Optiplex GX270 ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX270) + + pci:v00008086d0000100Esv0000107Bsd00008920* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d0000100Esv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (QEMU Virtual Machine) + + pci:v00008086d0000100Esv00008086sd0000001E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d0000100Esv00008086sd0000002E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d0000100Esv00008086sd00001376* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000100Esv00008086sd00001476* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000100F* + ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000100Fsv00001014sd00000269* +- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) + + pci:v00008086d0000100Fsv00001014sd0000028E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Fsv000015ADsd00000750* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Single Port Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Single Port Adapter) + + pci:v00008086d0000100Fsv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Fsv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Server Adapter) + + pci:v00008086d00001010* + ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001010sv00000E11sd000000DB* +- ID_MODEL_FROM_DATABASE=NC7170 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (NC7170 Gigabit Server Adapter) + + pci:v00008086d00001010sv00001014sd0000027C* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Adapter) + + pci:v00008086d00001010sv000015ADsd00000760* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Adapter) + + pci:v00008086d00001010sv000018FBsd00007872* +- ID_MODEL_FROM_DATABASE=RESlink-X ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (RESlink-X) + + pci:v00008086d00001010sv00001FC1sd00000026* +- ID_MODEL_FROM_DATABASE=Niagara 2260 Bypass Card ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (Niagara 2260 Bypass Card) + + pci:v00008086d00001010sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CT8 mainboard) + + pci:v00008086d00001010sv00004C53sd000010A0* +- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CA3/CR3 mainboard) + + pci:v00008086d00001010sv00008086sd00001011* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d00001010sv00008086sd00001012* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d00001010sv00008086sd0000101A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Connection) + + pci:v00008086d00001010sv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (SE7501HG2 Mainboard) + + pci:v00008086d00001011* + ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001011sv00001014sd00000268* +- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) + + pci:v00008086d00001011sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter) + + pci:v00008086d00001011sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter (LX) ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter (LX)) + + pci:v00008086d00001012* + ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001012sv00000E11sd000000DC* +- ID_MODEL_FROM_DATABASE=NC6170 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (NC6170 Gigabit Server Adapter) + + pci:v00008086d00001012sv00008086sd00001012* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Dual Port Server Adapter) + + pci:v00008086d00001013* + ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller + + pci:v00008086d00001013sv00008086sd00000013* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001013sv00008086sd00001013* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001013sv00008086sd00001113* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d00001014* + ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller + + pci:v00008086d00001014sv00008086sd00000014* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Connection ++ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Desktop Connection) + + pci:v00008086d00001014sv00008086sd00001014* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001015* + ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) + + pci:v00008086d00001015sv00008086sd00001015* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001016* + ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) + + pci:v00008086d00001016sv00001014sd0000052C* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001016sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001016sv00008086sd00001016* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001017* + ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller + + pci:v00008086d00001017sv00008086sd00001017* +- ID_MODEL_FROM_DATABASE=PR0/1000 MT Desktop Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (PR0/1000 MT Desktop Connection) + + pci:v00008086d00001018* + ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller + + pci:v00008086d00001018sv00008086sd00001018* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001019* + ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller + + pci:v00008086d00001019sv00001458sd00001019* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d00001019sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Intel Gigabit Ethernet (Kenai II) ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel Gigabit Ethernet (Kenai II)) + + pci:v00008086d00001019sv00008086sd00001019* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Desktop Connection ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (PRO/1000 CT Desktop Connection) + + pci:v00008086d00001019sv00008086sd0000301F* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D865PERL mainboard) + + pci:v00008086d00001019sv00008086sd00003025* +- ID_MODEL_FROM_DATABASE=D875PBZ motherboard ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D875PBZ motherboard) + + pci:v00008086d00001019sv00008086sd0000302C* +- ID_MODEL_FROM_DATABASE=Intel 82865G Mainboard (D865GBF) ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel 82865G Mainboard (D865GBF)) + + pci:v00008086d00001019sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (S875WP1-E mainboard) + + pci:v00008086d0000101A* + ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) + + pci:v00008086d0000101Asv00008086sd0000101A* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) (PRO/1000 CT Mobile Connection) + + pci:v00008086d0000101D* + ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller + + pci:v00008086d0000101Dsv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (PRO/1000 MT Quad Port Server Adapter) + + pci:v00008086d0000101E* + ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) + + pci:v00008086d0000101Esv00001014sd00000549* +- ID_MODEL_FROM_DATABASE=Thinkpad ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (Thinkpad) + + pci:v00008086d0000101Esv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d0000101Esv00008086sd0000101E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001026* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + + pci:v00008086d00001026sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d00001026sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision 470) + + pci:v00008086d00001026sv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) + + pci:v00008086d00001026sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) + + pci:v00008086d00001026sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) + + pci:v00008086d00001026sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 GT Server Adapter) + + pci:v00008086d00001026sv00008086sd00001026* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) + + pci:v00008086d00001027* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + + pci:v00008086d00001027sv0000103Csd00003103* +- ID_MODEL_FROM_DATABASE=NC310F PCI-X Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (NC310F PCI-X Gigabit Server Adapter) + + pci:v00008086d00001027sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) + + pci:v00008086d00001027sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) + + pci:v00008086d00001027sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) + + pci:v00008086d00001027sv00008086sd00001027* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter) + + pci:v00008086d00001028* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + + pci:v00008086d00001028sv00008086sd00001028* +- ID_MODEL_FROM_DATABASE=PRO/1000 MB Server Connection ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MB Server Connection) + + pci:v00008086d00001029* + ID_MODEL_FROM_DATABASE=82559 Ethernet Controller +@@ -57180,31 +57180,31 @@ pci:v00008086d00001031* + ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller + + pci:v00008086d00001031sv00001014sd00000209* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (ThinkPad A/T/X Series) + + pci:v00008086d00001031sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00001031sv0000104Dsd0000813C* +- ID_MODEL_FROM_DATABASE=Vaio PCG-GRV616G ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GRV616G) + + pci:v00008086d00001031sv0000107Bsd00005350* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C000* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C003* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (vpr Matrix 170B4) + + pci:v00008086d00001032* + ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE Ethernet Controller +@@ -57228,16 +57228,16 @@ pci:v00008086d00001038* + ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller + + pci:v00008086d00001038sv00000E11sd00000098* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller (Evo N600c) + + pci:v00008086d00001039* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller + + pci:v00008086d00001039sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (NetVista A30p) + + pci:v00008086d00001039sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH1 ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (PC8 onboard ethernet ETH1) + + pci:v00008086d0000103A* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (CNR) Ethernet Controller +@@ -57252,13 +57252,13 @@ pci:v00008086d0000103D* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller + + pci:v00008086d0000103Dsv00001014sd00000522* +- ID_MODEL_FROM_DATABASE=ThinkPad R40 ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (ThinkPad R40) + + pci:v00008086d0000103Dsv00001028sd00002002* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (Latitude D500) + + pci:v00008086d0000103Dsv00008086sd0000103D* +- ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (82562EZ 10/100 Ethernet Controller) + + pci:v00008086d0000103E* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (MOB) Ethernet Controller +@@ -57267,43 +57267,43 @@ pci:v00008086d00001040* + ID_MODEL_FROM_DATABASE=536EP Data Fax Modem + + pci:v00008086d00001040sv000016BEsd00001040* +- ID_MODEL_FROM_DATABASE=V.9X DSP Data Fax Modem ++ ID_MODEL_FROM_DATABASE=536EP Data Fax Modem (V.9X DSP Data Fax Modem) + + pci:v00008086d00001043* + ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter + + pci:v00008086d00001043sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (tc1100 tablet) + + pci:v00008086d00001043sv00008086sd00002522* +- ID_MODEL_FROM_DATABASE=Samsung X10/P30 integrated WLAN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Samsung X10/P30 integrated WLAN) + + pci:v00008086d00001043sv00008086sd00002527* +- ID_MODEL_FROM_DATABASE=MIM2000/Centrino ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (MIM2000/Centrino) + + pci:v00008086d00001043sv00008086sd00002561* +- ID_MODEL_FROM_DATABASE=Dell Latitude D800 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Dell Latitude D800) + + pci:v00008086d00001043sv00008086sd00002581* +- ID_MODEL_FROM_DATABASE=Toshiba Satellite M10 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Toshiba Satellite M10) + + pci:v00008086d00001048* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d00001048sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001048sv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001049* + ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection + + pci:v00008086d00001049sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (Compaq 6910p) + + pci:v00008086d00001049sv000017AAsd000020B9* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (ThinkPad T61/R61) + + pci:v00008086d0000104A* + ID_MODEL_FROM_DATABASE=82566DM Gigabit Network Connection +@@ -57321,22 +57321,22 @@ pci:v00008086d00001050* + ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller + + pci:v00008086d00001050sv00001028sd0000019D* +- ID_MODEL_FROM_DATABASE=Dimension 3000 ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Dimension 3000) + + pci:v00008086d00001050sv00001462sd0000728C* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d00001050sv00001462sd0000758C* +- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (MS-6758 (875P Neo)) + + pci:v00008086d00001050sv00008086sd00003020* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (D865PERL mainboard) + + pci:v00008086d00001050sv00008086sd0000302F* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Desktop Board D865GBF) + + pci:v00008086d00001050sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (S875WP1-E mainboard) + + pci:v00008086d00001051* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) integrated LAN Controller +@@ -57369,70 +57369,70 @@ pci:v00008086d0000105E* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d0000105Esv0000103Csd00007044* +- ID_MODEL_FROM_DATABASE=NC360T PCI Express Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (NC360T PCI Express Dual Port Gigabit Server Adapter) + + pci:v00008086d0000105Esv0000103Csd0000704E* +- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T (PCIe) [AD337A] ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-T (PCIe) [AD337A]) + + pci:v00008086d0000105Esv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d0000105Esv00001775sd00006003* +- ID_MODEL_FROM_DATABASE=Telum GE-QT ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Telum GE-QT) + + pci:v00008086d0000105Esv000018DFsd00001214* +- ID_MODEL_FROM_DATABASE=2x 1GbE, PCIe x1, dual Intel 82571EB chips ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (2x 1GbE, PCIe x1, dual Intel 82571EB chips) + + pci:v00008086d0000105Esv00008086sd0000005E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Connection) + + pci:v00008086d0000105Esv00008086sd0000105E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Network Connection) + + pci:v00008086d0000105Esv00008086sd000010D5* +- ID_MODEL_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (82571PT Gigabit PT Quad Port Server ExpressModule) + + pci:v00008086d0000105Esv00008086sd0000115E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) + + pci:v00008086d0000105Esv00008086sd0000125E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) + + pci:v00008086d0000105Esv00008086sd0000135E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) + + pci:v00008086d0000105F* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d0000105Fsv0000103Csd0000704F* +- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-SX (PCIe) [AD338A] ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-SX (PCIe) [AD338A]) + + pci:v00008086d0000105Fsv00008086sd0000005A* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d0000105Fsv00008086sd0000115F* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d0000105Fsv00008086sd0000125F* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d0000105Fsv00008086sd0000135F* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d00001060* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d00001060sv00008086sd00000060* +- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) + + pci:v00008086d00001060sv00008086sd00001060* +- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) + + pci:v00008086d00001064* + ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller + + pci:v00008086d00001064sv00001043sd000080F8* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller (P5GD1-VW Mainboard) + + pci:v00008086d00001065* + ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller +@@ -57459,148 +57459,148 @@ pci:v00008086d00001075* + ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller + + pci:v00008086d00001075sv00001028sd00000165* +- ID_MODEL_FROM_DATABASE=PowerEdge 750 ++ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PowerEdge 750) + + pci:v00008086d00001075sv00008086sd00000075* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection ++ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) + + pci:v00008086d00001075sv00008086sd00001075* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection ++ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) + + pci:v00008086d00001076* + ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller + + pci:v00008086d00001076sv00001028sd00000165* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00001028sd0000106D* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00008086sd00000076* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00008086sd00001076* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00008086sd00001176* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d00001076sv00008086sd00001276* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Adapter ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Adapter) + + pci:v00008086d00001077* + ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller + + pci:v00008086d00001077sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001077sv00008086sd00000077* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001077sv00008086sd00001077* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001078* + ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller + + pci:v00008086d00001078sv00008086sd00001078* +- ID_MODEL_FROM_DATABASE=82541ER-based Network Connection ++ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (82541ER-based Network Connection) + + pci:v00008086d00001079* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d00001079sv0000103Csd000012A6* +- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T [A9900A] ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000Base-T [A9900A]) + + pci:v00008086d00001079sv0000103Csd000012CF* +- ID_MODEL_FROM_DATABASE=Core Dual Port 1000Base-T [AB352A] ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Core Dual Port 1000Base-T [AB352A]) + + pci:v00008086d00001079sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (V5D Single Board Computer Gigabit Ethernet) + + pci:v00008086d00001079sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CE9) + + pci:v00008086d00001079sv00001FC1sd00000027* +- ID_MODEL_FROM_DATABASE=Niagara 2261 Failover NIC ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Niagara 2261 Failover NIC) + + pci:v00008086d00001079sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d00001079sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CL9 mainboard) + + pci:v00008086d00001079sv00008086sd00000079* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) + + pci:v00008086d00001079sv00008086sd00001079* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) + + pci:v00008086d00001079sv00008086sd00001179* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d00001079sv00008086sd0000117A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d0000107A* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d0000107Asv0000103Csd000012A8* +- ID_MODEL_FROM_DATABASE=Dual Port 1000base-SX [A9899A] ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000base-SX [A9899A]) + + pci:v00008086d0000107Asv00008086sd0000107A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) + + pci:v00008086d0000107Asv00008086sd0000127A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) + + pci:v00008086d0000107B* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d0000107Bsv00008086sd0000007B* +- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) + + pci:v00008086d0000107Bsv00008086sd0000107B* +- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) + + pci:v00008086d0000107C* + ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller + + pci:v00008086d0000107Csv00008086sd00001376* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000107Csv00008086sd00001476* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000107D* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000107Dsv00008086sd00001082* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) + + pci:v00008086d0000107Dsv00008086sd00001084* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) + + pci:v00008086d0000107Dsv00008086sd00001092* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) + + pci:v00008086d0000107E* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) + + pci:v00008086d0000107Esv00008086sd00001084* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) + + pci:v00008086d0000107Esv00008086sd00001085* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) + + pci:v00008086d0000107Esv00008086sd00001094* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) + + pci:v00008086d0000107F* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller +@@ -57636,16 +57636,16 @@ pci:v00008086d0000108A* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d0000108Asv00008086sd0000108A* +- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) + + pci:v00008086d0000108Asv00008086sd0000118A* +- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) + + pci:v00008086d0000108B* + ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000108Bsv00001462sd0000176C* +- ID_MODEL_FROM_DATABASE=on board on MSI 945P - NEO (MS-7176) ++ ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) (on board on MSI 945P - NEO (MS-7176)) + + pci:v00008086d0000108C* + ID_MODEL_FROM_DATABASE=82573E Gigabit Ethernet Controller (Copper) +@@ -57675,13 +57675,13 @@ pci:v00008086d00001096* + ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001096sv000015D9sd00001096* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Motherboard) + + pci:v00008086d00001096sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (X7DVL-E-O motherboard) + + pci:v00008086d00001096sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Intel S5000PSLSATA Server Board) + + pci:v00008086d00001097* + ID_MODEL_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber) +@@ -57693,28 +57693,28 @@ pci:v00008086d00001099* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001099sv00008086sd00001099* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) + + pci:v00008086d0000109A* + ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller + + pci:v00008086d0000109Asv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=PRO/1000 PL ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL) + + pci:v00008086d0000109Asv000017AAsd00002001* +- ID_MODEL_FROM_DATABASE=ThinkPad T60 ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad T60) + + pci:v00008086d0000109Asv000017AAsd0000207E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad X60/X60s) + + pci:v00008086d0000109Asv00008086sd0000109A* +- ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL Network Connection) + + pci:v00008086d0000109Asv00008086sd0000309C* +- ID_MODEL_FROM_DATABASE=Desktop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D945GTP) + + pci:v00008086d0000109Asv00008086sd000030A5* +- ID_MODEL_FROM_DATABASE=Desktop Board D975XBX ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D975XBX) + + pci:v00008086d0000109B* + ID_MODEL_FROM_DATABASE=82546GB PRO/1000 GF Quad Port Server Adapter +@@ -57723,10 +57723,10 @@ pci:v00008086d0000109E* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d0000109Esv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) + + pci:v00008086d0000109Esv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) + + pci:v00008086d000010A0* + ID_MODEL_FROM_DATABASE=82571EB PRO/1000 AT Quad Port Bypass Adapter +@@ -57738,19 +57738,19 @@ pci:v00008086d000010A4* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d000010A4sv00008086sd000010A4* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) + + pci:v00008086d000010A4sv00008086sd000011A4* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) + + pci:v00008086d000010A5* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) + + pci:v00008086d000010A5sv00008086sd000010A5* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) + + pci:v00008086d000010A5sv00008086sd000010A6* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) + + pci:v00008086d000010A6* + ID_MODEL_FROM_DATABASE=82599EB 10-Gigabit Dummy Function +@@ -57759,7 +57759,7 @@ pci:v00008086d000010A7* + ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection + + pci:v00008086d000010A7sv00008086sd000010A8* +- ID_MODEL_FROM_DATABASE=82575EB Gigabit Riser Card ++ ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection (82575EB Gigabit Riser Card) + + pci:v00008086d000010A9* + ID_MODEL_FROM_DATABASE=82575EB Gigabit Backplane Connection +@@ -57780,13 +57780,13 @@ pci:v00008086d000010B5* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) + + pci:v00008086d000010B5sv0000103Csd00003109* +- ID_MODEL_FROM_DATABASE=NC340T PCI-X Quad-port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (NC340T PCI-X Quad-port Gigabit Server Adapter) + + pci:v00008086d000010B5sv00008086sd00001099* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) + + pci:v00008086d000010B5sv00008086sd00001199* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) + + pci:v00008086d000010B6* + ID_MODEL_FROM_DATABASE=82598 10GbE PCI-Express Ethernet Controller +@@ -57795,13 +57795,13 @@ pci:v00008086d000010B9* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) + + pci:v00008086d000010B9sv0000103Csd0000704A* +- ID_MODEL_FROM_DATABASE=HP 110T PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (HP 110T PCIe Gigabit Server Adapter) + + pci:v00008086d000010B9sv00008086sd00001083* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) + + pci:v00008086d000010B9sv00008086sd00001093* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) + + pci:v00008086d000010BA* + ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) +@@ -57813,22 +57813,22 @@ pci:v00008086d000010BC* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) + + pci:v00008086d000010BCsv0000103Csd0000704B* +- ID_MODEL_FROM_DATABASE=NC364T PCI Express Quad Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (NC364T PCI Express Quad Port Gigabit Server Adapter) + + pci:v00008086d000010BCsv0000108Esd000011BC* +- ID_MODEL_FROM_DATABASE=x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter) + + pci:v00008086d000010BCsv00008086sd000010BC* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) + + pci:v00008086d000010BCsv00008086sd000011BC* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) + + pci:v00008086d000010BD* + ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection + + pci:v00008086d000010BDsv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection (OptiPlex 755) + + pci:v00008086d000010BF* + ID_MODEL_FROM_DATABASE=82567LF Gigabit Network Connection +@@ -57837,7 +57837,7 @@ pci:v00008086d000010C0* + ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection + + pci:v00008086d000010C0sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection (Inspiron 530) + + pci:v00008086d000010C2* + ID_MODEL_FROM_DATABASE=82562G-2 10/100 Network Connection +@@ -57855,67 +57855,67 @@ pci:v00008086d000010C6* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection + + pci:v00008086d000010C6sv00008086sd0000A05F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) + + pci:v00008086d000010C6sv00008086sd0000A15F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) + + pci:v00008086d000010C7* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection + + pci:v00008086d000010C7sv00001014sd0000037F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C7sv00001014sd00000380* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) + + pci:v00008086d000010C7sv00008086sd0000A05F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C7sv00008086sd0000A15F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C7sv00008086sd0000A16F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C8* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection + + pci:v00008086d000010C8sv00008086sd0000A10C* +- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) + + pci:v00008086d000010C8sv00008086sd0000A11C* +- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) + + pci:v00008086d000010C8sv00008086sd0000A12C* +- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) + + pci:v00008086d000010C9* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010C9sv0000103Csd000031EF* +- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) + + pci:v00008086d000010C9sv0000103Csd0000323F* +- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) + + pci:v00008086d000010C9sv000010A9sd00008028* +- ID_MODEL_FROM_DATABASE=UV-BaseIO dual-port GbE ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (UV-BaseIO dual-port GbE) + + pci:v00008086d000010C9sv000013A3sd00000037* +- ID_MODEL_FROM_DATABASE=DS4100 Secure Multi-Gigabit Server Adapter with Compression ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (DS4100 Secure Multi-Gigabit Server Adapter with Compression) + + pci:v00008086d000010C9sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (H8DGU) + + pci:v00008086d000010C9sv00008086sd0000A01C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) + + pci:v00008086d000010C9sv00008086sd0000A03C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) + + pci:v00008086d000010C9sv00008086sd0000A04C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) + + pci:v00008086d000010CA* + ID_MODEL_FROM_DATABASE=82576 Virtual Function +@@ -57936,34 +57936,34 @@ pci:v00008086d000010D3* + ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection + + pci:v00008086d000010D3sv0000103Csd00003250* +- ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112T PCI Express single Port Gigabit Server Adapter) + + pci:v00008086d000010D3sv00001043sd00008369* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) + + pci:v00008086d000010D3sv000010A9sd00008029* +- ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) + + pci:v00008086d000010D3sv000015D9sd0000060A* +- ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (X7SPA-H/X7SPA-HF Motherboard) + + pci:v00008086d000010D3sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (C7SIM-Q Motherboard) + + pci:v00008086d000010D3sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT2 Desktop Adapter) + + pci:v00008086d000010D3sv00008086sd0000357A* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Server Board S1200BTS) + + pci:v00008086d000010D3sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT Desktop Adapter) + + pci:v00008086d000010D3sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC1-GROOVE) + + pci:v00008086d000010D3sv0000E4BFsd000050C2* +- ID_MODEL_FROM_DATABASE=PC2-LIMBO ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC2-LIMBO) + + pci:v00008086d000010D4* + ID_MODEL_FROM_DATABASE=Matrox Concord GE (customized Intel 82574) +@@ -57975,13 +57975,13 @@ pci:v00008086d000010D6* + ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection + + pci:v00008086d000010D6sv00008086sd000010D6* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010D6sv00008086sd0000145A* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010D6sv00008086sd0000147A* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010D8* + ID_MODEL_FROM_DATABASE=82599EB 10 Gigabit Unprogrammed +@@ -57990,13 +57990,13 @@ pci:v00008086d000010D9* + ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter + + pci:v00008086d000010D9sv0000103Csd00001716* +- ID_MODEL_FROM_DATABASE=NC360m Dual Port 1GbE BL-c Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter (NC360m Dual Port 1GbE BL-c Adapter) + + pci:v00008086d000010DA* + ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter + + pci:v00008086d000010DAsv0000103Csd00001717* +- ID_MODEL_FROM_DATABASE=NC364m Quad Port 1GbE BL-c Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter (NC364m Quad Port 1GbE BL-c Adapter) + + pci:v00008086d000010DB* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit Dual Port Network Connection +@@ -58014,13 +58014,13 @@ pci:v00008086d000010E1* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection + + pci:v00008086d000010E1sv00008086sd0000A15F* +- ID_MODEL_FROM_DATABASE=10-Gigabit SR Dual Port Express Module ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit SR Dual Port Express Module) + + pci:v00008086d000010E2* + ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection + + pci:v00008086d000010E2sv00008086sd000010E2* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010E5* + ID_MODEL_FROM_DATABASE=82567LM-4 Gigabit Network Connection +@@ -58029,37 +58029,37 @@ pci:v00008086d000010E6* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010E6sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) + + pci:v00008086d000010E6sv00008086sd0000A02F* +- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) + + pci:v00008086d000010E7* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010E7sv0000103Csd000031FF* +- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual Port BL-c Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual Port BL-c Gigabit Server Adapter) + + pci:v00008086d000010E8* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010E8sv00008086sd0000A02B* +- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) + + pci:v00008086d000010E8sv00008086sd0000A02C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) + + pci:v00008086d000010EA* + ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection + + pci:v00008086d000010EAsv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6410) + + pci:v00008086d000010EAsv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6510) + + pci:v00008086d000010EAsv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (PC1-GROOVE) + + pci:v00008086d000010EB* + ID_MODEL_FROM_DATABASE=82577LC Gigabit Network Connection +@@ -58068,10 +58068,10 @@ pci:v00008086d000010EC* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection + + pci:v00008086d000010ECsv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) + + pci:v00008086d000010ECsv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) + + pci:v00008086d000010ED* + ID_MODEL_FROM_DATABASE=82599 Ethernet Controller Virtual Function +@@ -58080,10 +58080,10 @@ pci:v00008086d000010EF* + ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection + + pci:v00008086d000010EFsv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (OptiPlex 980) + + pci:v00008086d000010EFsv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (C7SIM-Q Motherboard) + + pci:v00008086d000010F0* + ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection +@@ -58092,19 +58092,19 @@ pci:v00008086d000010F1* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection + + pci:v00008086d000010F1sv00008086sd0000A20F* +- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) + + pci:v00008086d000010F1sv00008086sd0000A21F* +- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) + + pci:v00008086d000010F4* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection + + pci:v00008086d000010F4sv00008086sd0000106F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) + + pci:v00008086d000010F4sv00008086sd0000A06F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) + + pci:v00008086d000010F5* + ID_MODEL_FROM_DATABASE=82567LM Gigabit Network Connection +@@ -58116,25 +58116,25 @@ pci:v00008086d000010F7* + ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection + + pci:v00008086d000010F7sv0000108Esd00007B12* +- ID_MODEL_FROM_DATABASE=Sun Dual 10GbE PCIe 2.0 FEM ++ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Sun Dual 10GbE PCIe 2.0 FEM) + + pci:v00008086d000010F7sv00008086sd0000000D* +- ID_MODEL_FROM_DATABASE=Ethernet Mezzanine Adapter X520-KX4-2 ++ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Ethernet Mezzanine Adapter X520-KX4-2) + + pci:v00008086d000010F8* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection + + pci:v00008086d000010F8sv00001028sd00001F63* +- ID_MODEL_FROM_DATABASE=10GbE 2P X520k bNDC ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (10GbE 2P X520k bNDC) + + pci:v00008086d000010F8sv0000103Csd000017D2* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560M Adapter) + + pci:v00008086d000010F8sv0000103Csd000018D0* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLB Adapter ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560FLB Adapter) + + pci:v00008086d000010F8sv00008086sd0000000C* +- ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4-KR Mezz ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet X520 10GbE Dual Port KX4-KR Mezz) + + pci:v00008086d000010F9* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection +@@ -58143,58 +58143,58 @@ pci:v00008086d000010FB* + ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection + + pci:v00008086d000010FBsv00001028sd00001F72* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X520/I350 rNDC ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10G 4P X520/I350 rNDC) + + pci:v00008086d000010FBsv0000103Csd000017D0* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560FLR-SFP+ Adapter) + + pci:v00008086d000010FBsv0000103Csd000017D2* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560M Adapter) + + pci:v00008086d000010FBsv0000103Csd000017D3* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560SFP+ Adapter) + + pci:v00008086d000010FBsv0000103Csd0000211B* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port P560FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port P560FLR-SFP+ Adapter) + + pci:v00008086d000010FBsv0000103Csd00002147* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port 561i Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port 561i Adapter) + + pci:v00008086d000010FBsv0000103Csd00002159* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 562i Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 562i Adapter) + + pci:v00008086d000010FBsv0000108Esd00007B11* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00001734sd000011A9* +- ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (10 Gigabit Dual Port Network Connection) + + pci:v00008086d000010FBsv000017AAsd00001071* +- ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (ThinkServer X520-2 AnyFabric) + + pci:v00008086d000010FBsv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-DA2) + + pci:v00008086d000010FBsv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) + + pci:v00008086d000010FBsv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet OCP Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd0000000A* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) + + pci:v00008086d000010FBsv00008086sd0000000C* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd00007A11* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd00007A12* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FC* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection +@@ -58209,19 +58209,19 @@ pci:v00008086d00001130* + ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub + + pci:v00008086d00001130sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Travelmate 612 TX) + + pci:v00008086d00001130sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (TUSL2-C Mainboard) + + pci:v00008086d00001130sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Vaio PCG-FX403) + + pci:v00008086d00001130sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EEA2 mainboard) + + pci:v00008086d00001130sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EGEW Mainboard) + + pci:v00008086d00001131* + ID_MODEL_FROM_DATABASE=82815 815 Chipset AGP Bridge +@@ -58230,28 +58230,28 @@ pci:v00008086d00001132* + ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) + + pci:v00008086d00001132sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Travelmate 612 TX) + + pci:v00008086d00001132sv0000103Csd00002001* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (e-pc 40) + + pci:v00008086d00001132sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Vaio PCG-FX403) + + pci:v00008086d00001132sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 Mainboard ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA2 Mainboard) + + pci:v00008086d00001132sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=D815EEA Motherboard ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA Motherboard) + + pci:v00008086d00001132sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EGEW Mainboard) + + pci:v00008086d00001161* + ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller + + pci:v00008086d00001161sv00008086sd00001161* +- ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub APIC ++ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller (82806AA PCI64 Hub APIC) + + pci:v00008086d00001162* + ID_MODEL_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip +@@ -58260,25 +58260,25 @@ pci:v00008086d00001200* + ID_MODEL_FROM_DATABASE=IXP1200 Network Processor + + pci:v00008086d00001200sv0000172Asd00000000* +- ID_MODEL_FROM_DATABASE=AEP SSL Accelerator ++ ID_MODEL_FROM_DATABASE=IXP1200 Network Processor (AEP SSL Accelerator) + + pci:v00008086d00001209* + ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller + + pci:v00008086d00001209sv0000140Bsd00000610* +- ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PMC610 quad Ethernet board) + + pci:v00008086d00001209sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (QEMU Virtual Machine) + + pci:v00008086d00001209sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CT7 mainboard) + + pci:v00008086d00001209sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CE7 mainboard) + + pci:v00008086d00001209sv00004C53sd00001070* +- ID_MODEL_FROM_DATABASE=PC6 mainboard ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PC6 mainboard) + + pci:v00008086d00001221* + ID_MODEL_FROM_DATABASE=82092AA PCI to PCMCIA Bridge +@@ -58305,487 +58305,487 @@ pci:v00008086d00001229* + ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 + + pci:v00008086d00001229sv00000E11sd00003001* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003002* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003003* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003004* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003005* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003006* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003007* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd0000B01E* +- ID_MODEL_FROM_DATABASE=NC3120 Fast Ethernet NIC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3120 Fast Ethernet NIC) + + pci:v00008086d00001229sv00000E11sd0000B01F* +- ID_MODEL_FROM_DATABASE=NC3122 Fast Ethernet NIC (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3122 Fast Ethernet NIC (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B02F* +- ID_MODEL_FROM_DATABASE=NC1120 Ethernet NIC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC1120 Ethernet NIC) + + pci:v00008086d00001229sv00000E11sd0000B04A* +- ID_MODEL_FROM_DATABASE=Netelligent 10/100TX NIC with Wake on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netelligent 10/100TX NIC with Wake on LAN) + + pci:v00008086d00001229sv00000E11sd0000B0C6* +- ID_MODEL_FROM_DATABASE=NC3161 Fast Ethernet NIC (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3161 Fast Ethernet NIC (embedded, WOL)) + + pci:v00008086d00001229sv00000E11sd0000B0C7* +- ID_MODEL_FROM_DATABASE=NC3160 Fast Ethernet NIC (embedded) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3160 Fast Ethernet NIC (embedded)) + + pci:v00008086d00001229sv00000E11sd0000B0D7* +- ID_MODEL_FROM_DATABASE=NC3121 Fast Ethernet NIC (WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3121 Fast Ethernet NIC (WOL)) + + pci:v00008086d00001229sv00000E11sd0000B0DD* +- ID_MODEL_FROM_DATABASE=NC3131 Fast Ethernet NIC (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3131 Fast Ethernet NIC (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B0DE* +- ID_MODEL_FROM_DATABASE=NC3132 Fast Ethernet Module (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3132 Fast Ethernet Module (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B0E1* +- ID_MODEL_FROM_DATABASE=NC3133 Fast Ethernet Module (100-FX) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3133 Fast Ethernet Module (100-FX)) + + pci:v00008086d00001229sv00000E11sd0000B134* +- ID_MODEL_FROM_DATABASE=NC3163 Fast Ethernet NIC (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3163 Fast Ethernet NIC (embedded, WOL)) + + pci:v00008086d00001229sv00000E11sd0000B13C* +- ID_MODEL_FROM_DATABASE=NC3162 Fast Ethernet NIC (embedded) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3162 Fast Ethernet NIC (embedded)) + + pci:v00008086d00001229sv00000E11sd0000B144* +- ID_MODEL_FROM_DATABASE=NC3123 Fast Ethernet NIC (WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3123 Fast Ethernet NIC (WOL)) + + pci:v00008086d00001229sv00000E11sd0000B163* +- ID_MODEL_FROM_DATABASE=NC3134 Fast Ethernet NIC (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3134 Fast Ethernet NIC (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B164* +- ID_MODEL_FROM_DATABASE=NC3135 Fast Ethernet Upgrade Module (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3135 Fast Ethernet Upgrade Module (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B1A4* +- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC7131 Gigabit Server Adapter) + + pci:v00008086d00001229sv00001014sd0000005C* +- ID_MODEL_FROM_DATABASE=82558B Ethernet Pro 10/100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B Ethernet Pro 10/100) + + pci:v00008086d00001229sv00001014sd000001BC* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN On Motherboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN On Motherboard) + + pci:v00008086d00001229sv00001014sd000001F1* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001014sd000001F2* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001014sd00000207* +- ID_MODEL_FROM_DATABASE=Ethernet Pro/100 S ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Ethernet Pro/100 S) + + pci:v00008086d00001229sv00001014sd00000232* +- ID_MODEL_FROM_DATABASE=10/100 Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Dual Port Server Adapter) + + pci:v00008086d00001229sv00001014sd0000023A* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad R30) + + pci:v00008086d00001229sv00001014sd0000105C* +- ID_MODEL_FROM_DATABASE=Netfinity 10/100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netfinity 10/100) + + pci:v00008086d00001229sv00001014sd00002205* +- ID_MODEL_FROM_DATABASE=ThinkPad A22p ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad A22p) + + pci:v00008086d00001229sv00001014sd0000305C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Management Adapter) + + pci:v00008086d00001229sv00001014sd0000405C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Adapter with Alert on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Adapter with Alert on LAN) + + pci:v00008086d00001229sv00001014sd0000505C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) + + pci:v00008086d00001229sv00001014sd0000605C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) + + pci:v00008086d00001229sv00001014sd0000705C* +- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) + + pci:v00008086d00001229sv00001014sd0000805C* +- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) + + pci:v00008086d00001229sv00001028sd0000009B* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001028sd000000CE* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001033sd00008000* +- ID_MODEL_FROM_DATABASE=PC-9821X-B06 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC-9821X-B06) + + pci:v00008086d00001229sv00001033sd00008016* +- ID_MODEL_FROM_DATABASE=PK-UG-X006 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) + + pci:v00008086d00001229sv00001033sd0000801F* +- ID_MODEL_FROM_DATABASE=PK-UG-X006 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) + + pci:v00008086d00001229sv00001033sd00008026* +- ID_MODEL_FROM_DATABASE=PK-UG-X006 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) + + pci:v00008086d00001229sv00001033sd00008063* +- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) + + pci:v00008086d00001229sv00001033sd00008064* +- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) + + pci:v00008086d00001229sv0000103Csd000010C0* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010C3* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010CA* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010CB* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010E3* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010E4* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd00001200* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000108Esd000010CF* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100(B) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100(B)) + + pci:v00008086d00001229sv000010C3sd00001100* +- ID_MODEL_FROM_DATABASE=SmartEther100 SC1100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SmartEther100 SC1100) + + pci:v00008086d00001229sv000010CFsd00001115* +- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) + + pci:v00008086d00001229sv000010CFsd00001143* +- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) + + pci:v00008086d00001229sv0000110Asd0000008B* +- ID_MODEL_FROM_DATABASE=82551QM Fast Ethernet Multifuction PCI/CardBus Controller ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82551QM Fast Ethernet Multifuction PCI/CardBus Controller) + + pci:v00008086d00001229sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH2 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC8 onboard ethernet ETH2) + + pci:v00008086d00001229sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) + + pci:v00008086d00001229sv00001179sd00000002* +- ID_MODEL_FROM_DATABASE=PCI FastEther LAN on Docker ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PCI FastEther LAN on Docker) + + pci:v00008086d00001229sv00001179sd00000003* +- ID_MODEL_FROM_DATABASE=8255x-based Fast Ethernet ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Fast Ethernet) + + pci:v00008086d00001229sv00001259sd00002560* +- ID_MODEL_FROM_DATABASE=AT-2560 100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100) + + pci:v00008086d00001229sv00001259sd00002561* +- ID_MODEL_FROM_DATABASE=AT-2560 100 FX Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100 FX Ethernet Adapter) + + pci:v00008086d00001229sv00001266sd00000001* +- ID_MODEL_FROM_DATABASE=NE10/100 Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NE10/100 Adapter) + + pci:v00008086d00001229sv000013E9sd00001000* +- ID_MODEL_FROM_DATABASE=6221L-4U ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (6221L-4U) + + pci:v00008086d00001229sv0000144Dsd00002501* +- ID_MODEL_FROM_DATABASE=SEM-2000 MiniPCI LAN Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2000 MiniPCI LAN Adapter) + + pci:v00008086d00001229sv0000144Dsd00002502* +- ID_MODEL_FROM_DATABASE=SEM-2100IL MiniPCI LAN Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2100IL MiniPCI LAN Adapter) + + pci:v00008086d00001229sv00001668sd00001100* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)) + + pci:v00008086d00001229sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CR11/VR11 Single Board Computer) + + pci:v00008086d00001229sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CE9) + + pci:v00008086d00001229sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (QEMU Virtual Machine) + + pci:v00008086d00001229sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CT8 mainboard) + + pci:v00008086d00001229sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PSL09 PrPMC) + + pci:v00008086d00001229sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX)) + + pci:v00008086d00001229sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (T4) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (T4)) + + pci:v00008086d00001229sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/10+ ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/10+) + + pci:v00008086d00001229sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 WfM ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 WfM) + + pci:v00008086d00001229sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=82557 10/100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100) + + pci:v00008086d00001229sv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=82557 10/100 with Wake on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100 with Wake on LAN) + + pci:v00008086d00001229sv00008086sd00000007* +- ID_MODEL_FROM_DATABASE=82558 10/100 Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 Adapter) + + pci:v00008086d00001229sv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=82558 10/100 with Wake on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 with Wake on LAN) + + pci:v00008086d00001229sv00008086sd00000009* +- ID_MODEL_FROM_DATABASE=82558B PRO/100+ PCI (TP) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B PRO/100+ PCI (TP)) + + pci:v00008086d00001229sv00008086sd0000000A* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) + + pci:v00008086d00001229sv00008086sd0000000B* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+) + + pci:v00008086d00001229sv00008086sd0000000C* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) + + pci:v00008086d00001229sv00008086sd0000000D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Alert On LAN II* Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Alert On LAN II* Adapter) + + pci:v00008086d00001229sv00008086sd0000000E* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN*) + + pci:v00008086d00001229sv00008086sd0000000F* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) + + pci:v00008086d00001229sv00008086sd00000011* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) + + pci:v00008086d00001229sv00008086sd00000012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (D) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (D)) + + pci:v00008086d00001229sv00008086sd00000013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (E) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (E)) + + pci:v00008086d00001229sv00008086sd00000030* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Management Adapter with Alert On LAN* GC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Management Adapter with Alert On LAN* GC) + + pci:v00008086d00001229sv00008086sd00000031* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000040* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000041* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000042* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000050* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00001009* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter) + + pci:v00008086d00001229sv00008086sd0000100C* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter (PILA8470B) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter (PILA8470B)) + + pci:v00008086d00001229sv00008086sd00001012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (D) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (D)) + + pci:v00008086d00001229sv00008086sd00001013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (E) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (E)) + + pci:v00008086d00001229sv00008086sd00001015* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Dual Port Server Adapter) + + pci:v00008086d00001229sv00008086sd00001017* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Server Adapter) + + pci:v00008086d00001229sv00008086sd00001030* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server) + + pci:v00008086d00001229sv00008086sd00001040* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) + + pci:v00008086d00001229sv00008086sd00001041* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) + + pci:v00008086d00001229sv00008086sd00001042* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) + + pci:v00008086d00001229sv00008086sd00001050* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) + + pci:v00008086d00001229sv00008086sd00001051* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) + + pci:v00008086d00001229sv00008086sd00001052* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) + + pci:v00008086d00001229sv00008086sd000010F0* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Adapter) + + pci:v00008086d00001229sv00008086sd00001229* +- ID_MODEL_FROM_DATABASE=82557/8/9 [Ethernet Pro 100] ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557/8/9 [Ethernet Pro 100]) + + pci:v00008086d00001229sv00008086sd00002009* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) + + pci:v00008086d00001229sv00008086sd0000200D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Cardbus ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Cardbus) + + pci:v00008086d00001229sv00008086sd0000200E* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 LAN+V90 Cardbus Modem ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 LAN+V90 Cardbus Modem) + + pci:v00008086d00001229sv00008086sd0000200F* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002016* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002017* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Combo Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Combo Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002018* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002019* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Combo Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Combo Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002101* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002102* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002103* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002104* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002105* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002106* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002107* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd00002108* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd00002200* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002201* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002202* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002203* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002204* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002205* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002206* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002207* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002208* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002402* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002407* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002408* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002409* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd0000240F* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002410* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002411* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002412* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002413* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00003000* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN on Motherboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN on Motherboard) + + pci:v00008086d00001229sv00008086sd00003001* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Basic Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Basic Alert on LAN*) + + pci:v00008086d00001229sv00008086sd00003002* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN II* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN II*) + + pci:v00008086d00001229sv00008086sd00003006* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003007* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003008* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd00003010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003011* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd0000301A* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (S845WD1-E mainboard) + + pci:v00008086d00001229sv00008086sd00003411* +- ID_MODEL_FROM_DATABASE=SDS2 Mainboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SDS2 Mainboard) + + pci:v00008086d0000122D* + ID_MODEL_FROM_DATABASE=430FX - 82437FX TSC [Triton I] +@@ -58809,7 +58809,7 @@ pci:v00008086d00001237* + ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] + + pci:v00008086d00001237sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] (Qemu virtual machine) + + pci:v00008086d00001239* + ID_MODEL_FROM_DATABASE=82371FB PIIX IDE Interface +@@ -58857,10 +58857,10 @@ pci:v00008086d00001461* + ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC + + pci:v00008086d00001461sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (P4DP6) + + pci:v00008086d00001461sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9/Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (Cx9/Vx9 mainboard) + + pci:v00008086d00001462* + ID_MODEL_FROM_DATABASE=82870P2 P64H2 Hot Plug Controller +@@ -58872,16 +58872,16 @@ pci:v00008086d00001502* + ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection + + pci:v00008086d00001502sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Precision M4600) + + pci:v00008086d00001502sv00008086sd0000357A* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Server Board S1200BTS) + + pci:v00008086d00001503* + ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection + + pci:v00008086d00001503sv00001043sd0000849C* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection (P8P67 Deluxe Motherboard) + + pci:v00008086d00001507* + ID_MODEL_FROM_DATABASE=Ethernet Express Module X520-P2 +@@ -58911,19 +58911,19 @@ pci:v00008086d0000150D* + ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection + + pci:v00008086d0000150Dsv00008086sd0000A10C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Mezzanine Card ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection (Gigabit ET Quad Port Mezzanine Card) + + pci:v00008086d0000150E* + ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection + + pci:v00008086d0000150Esv0000103Csd00001780* +- ID_MODEL_FROM_DATABASE=NC365T 4-port Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (NC365T 4-port Ethernet Server Adapter) + + pci:v00008086d0000150Esv00008086sd000012A1* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) + + pci:v00008086d0000150Esv00008086sd000012A2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) + + pci:v00008086d0000150F* + ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection +@@ -58947,16 +58947,16 @@ pci:v00008086d00001516* + ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection + + pci:v00008086d00001516sv00008086sd000012B1* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) + + pci:v00008086d00001516sv00008086sd000012B2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) + + pci:v00008086d00001517* + ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection + + pci:v00008086d00001517sv00001137sd0000006A* +- ID_MODEL_FROM_DATABASE=UCS CNA M61KR-I Intel Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection (UCS CNA M61KR-I Intel Converged Network Adapter) + + pci:v00008086d00001518* + ID_MODEL_FROM_DATABASE=82576NS SerDes Gigabit Network Connection +@@ -58965,7 +58965,7 @@ pci:v00008086d0000151C* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection + + pci:v00008086d0000151Csv0000108Esd00007B13* +- ID_MODEL_FROM_DATABASE=Dual 10GBASE-T LP ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection (Dual 10GBASE-T LP) + + pci:v00008086d00001520* + ID_MODEL_FROM_DATABASE=I350 Ethernet Controller Virtual Function +@@ -58974,115 +58974,115 @@ pci:v00008086d00001521* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection + + pci:v00008086d00001521sv00001028sd00000602* +- ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) + + pci:v00008086d00001521sv00001028sd00001F60* +- ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) + + pci:v00008086d00001521sv00001028sd00001F62* +- ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) + + pci:v00008086d00001521sv00001028sd0000FF9A* +- ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) + + pci:v00008086d00001521sv0000103Csd000017D1* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366FLR Adapter) + + pci:v00008086d00001521sv0000103Csd00002003* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 367i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 367i Adapter) + + pci:v00008086d00001521sv0000103Csd00002226* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 1-port 364i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 1-port 364i Adapter) + + pci:v00008086d00001521sv0000103Csd0000337F* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361i Adapter) + + pci:v00008086d00001521sv0000103Csd00003380* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366i Adapter) + + pci:v00008086d00001521sv0000103Csd0000339E* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361T Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361T Adapter) + + pci:v00008086d00001521sv0000108Esd00007B16* +- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, UTP ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, UTP) + + pci:v00008086d00001521sv0000108Esd00007B18* +- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) + + pci:v00008086d00001521sv000010A9sd0000802A* +- ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) + + pci:v00008086d00001521sv000017AAsd00001074* +- ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (ThinkServer I350-T4 AnyFabric) + + pci:v00008086d00001521sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) + + pci:v00008086d00001521sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001521sv00008086sd000000A1* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) + + pci:v00008086d00001521sv00008086sd000000A2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001521sv00008086sd00005001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) + + pci:v00008086d00001521sv00008086sd00005002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001522* + ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection + + pci:v00008086d00001522sv0000108Esd00007B17* +- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, MMF ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, MMF) + + pci:v00008086d00001522sv0000108Esd00007B19* +- ID_MODEL_FROM_DATABASE=Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF) + + pci:v00008086d00001522sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001522sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) + + pci:v00008086d00001522sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) + + pci:v00008086d00001522sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F1 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F1) + + pci:v00008086d00001522sv00008086sd000000A2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001522sv00008086sd000000A3* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) + + pci:v00008086d00001522sv00008086sd000000A4* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) + + pci:v00008086d00001523* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection + + pci:v00008086d00001523sv00001028sd00001F9B* +- ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) + + pci:v00008086d00001523sv0000103Csd00001784* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) + + pci:v00008086d00001523sv0000103Csd000018D1* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) + + pci:v00008086d00001523sv0000103Csd00001989* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 363i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 363i Adapter) + + pci:v00008086d00001523sv0000103Csd0000339F* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366M Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 4-port 366M Adapter) + + pci:v00008086d00001523sv00008086sd00001F52* +- ID_MODEL_FROM_DATABASE=1GbE 4P I350 Mezz ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (1GbE 4P I350 Mezz) + + pci:v00008086d00001524* + ID_MODEL_FROM_DATABASE=I350 Gigabit Connection +@@ -59094,64 +59094,64 @@ pci:v00008086d00001526* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d00001526sv00008086sd0000A05C* +- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) + + pci:v00008086d00001526sv00008086sd0000A06C* +- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) + + pci:v00008086d00001527* + ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection + + pci:v00008086d00001527sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) + + pci:v00008086d00001527sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) + + pci:v00008086d00001528* + ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 + + pci:v00008086d00001528sv00001028sd00001F61* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) + + pci:v00008086d00001528sv0000103Csd0000192D* +- ID_MODEL_FROM_DATABASE=561FLR-T 2-port 10Gb Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (561FLR-T 2-port 10Gb Ethernet Adapter) + + pci:v00008086d00001528sv0000103Csd00002004* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561i Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561i Adapter) + + pci:v00008086d00001528sv0000103Csd0000211A* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561T Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561T Adapter) + + pci:v00008086d00001528sv0000108Esd00007B14* +- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T) + + pci:v00008086d00001528sv0000108Esd00007B15* +- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T) + + pci:v00008086d00001528sv00001137sd000000BF* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) + + pci:v00008086d00001528sv000017AAsd00001073* +- ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (ThinkServer X540-T2 AnyFabric) + + pci:v00008086d00001528sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) + + pci:v00008086d00001528sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) + + pci:v00008086d00001528sv00008086sd0000001A* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) + + pci:v00008086d00001528sv00008086sd000000A2* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) + + pci:v00008086d00001528sv00008086sd00001F61* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) + + pci:v00008086d00001528sv00008086sd00005003* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X540-t Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 2P X540-t Adapter) + + pci:v00008086d00001529* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection with FCoE +@@ -59163,16 +59163,16 @@ pci:v00008086d00001533* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection + + pci:v00008086d00001533sv0000103Csd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + + pci:v00008086d00001533sv000017AAsd00001100* +- ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) + + pci:v00008086d00001533sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + + pci:v00008086d00001533sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + + pci:v00008086d00001534* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +@@ -59193,10 +59193,10 @@ pci:v00008086d0000153A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM + + pci:v00008086d0000153Asv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ZBook 15) + + pci:v00008086d0000153Asv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ThinkPad T440p) + + pci:v00008086d0000153B* + ID_MODEL_FROM_DATABASE=Ethernet Connection I217-V +@@ -59211,13 +59211,13 @@ pci:v00008086d0000154A* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 + + pci:v00008086d0000154Asv00008086sd0000011A* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154Asv00008086sd0000011B* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154Asv00008086sd0000011C* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154C* + ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function +@@ -59226,13 +59226,13 @@ pci:v00008086d0000154D* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter + + pci:v00008086d0000154Dsv00008086sd00007B11* +- ID_MODEL_FROM_DATABASE=10GbE 2P X520 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter (10GbE 2P X520 Adapter) + + pci:v00008086d00001557* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection + + pci:v00008086d00001557sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-1 ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection (Ethernet OCP Server Adapter X520-1) + + pci:v00008086d00001558* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-Q1 +@@ -59250,22 +59250,22 @@ pci:v00008086d0000155A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM + + pci:v00008086d0000155Asv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM (ThinkPad X240) + + pci:v00008086d0000155C* + ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter + + pci:v00008086d0000155Csv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X540-T2) + + pci:v00008086d0000155D* + ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter + + pci:v00008086d0000155Dsv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-SR2 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-SR2) + + pci:v00008086d0000155Dsv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-LR2 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-LR2) + + pci:v00008086d00001560* + ID_MODEL_FROM_DATABASE=Ethernet Controller X540 +@@ -59277,28 +59277,28 @@ pci:v00008086d00001572* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter + + pci:v00008086d00001572sv00001028sd00001F99* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) + + pci:v00008086d00001572sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000007* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d00001572sv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d0000157B* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +@@ -59313,31 +59313,31 @@ pci:v00008086d00001581* + ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane + + pci:v00008086d00001581sv00001028sd00001F98* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) + + pci:v00008086d00001583* + ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ + + pci:v00008086d00001583sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) + + pci:v00008086d00001584* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + + pci:v00008086d00001584sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) + + pci:v00008086d00001584sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) + + pci:v00008086d00001584sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q1) + + pci:v00008086d00001585* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ +@@ -59469,82 +59469,82 @@ pci:v00008086d00001960* + ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor + + pci:v00008086d00001960sv0000101Esd00000431* +- ID_MODEL_FROM_DATABASE=MegaRAID 431 RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 431 RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000438* +- ID_MODEL_FROM_DATABASE=MegaRAID 438 Ultra2 LVD RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438 Ultra2 LVD RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000466* +- ID_MODEL_FROM_DATABASE=MegaRAID 466 Express Plus RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466 Express Plus RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000467* +- ID_MODEL_FROM_DATABASE=MegaRAID 467 Enterprise 1500 RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 467 Enterprise 1500 RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000490* +- ID_MODEL_FROM_DATABASE=MegaRAID 490 Express 300 RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 490 Express 300 RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000762* +- ID_MODEL_FROM_DATABASE=MegaRAID 762 Express RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 762 Express RAID Controller) + + pci:v00008086d00001960sv0000101Esd000009A0* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv00001028sd00000467* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/DC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/DC) + + pci:v00008086d00001960sv00001028sd00001111* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv0000103Csd000003A2* +- ID_MODEL_FROM_DATABASE=MegaRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) + + pci:v00008086d00001960sv0000103Csd000010C6* +- ID_MODEL_FROM_DATABASE=MegaRAID 438, NetRAID-3Si ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438, NetRAID-3Si) + + pci:v00008086d00001960sv0000103Csd000010C7* +- ID_MODEL_FROM_DATABASE=MegaRAID T5, Integrated NetRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID T5, Integrated NetRAID) + + pci:v00008086d00001960sv0000103Csd000010CC* +- ID_MODEL_FROM_DATABASE=MegaRAID, Integrated NetRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID, Integrated NetRAID) + + pci:v00008086d00001960sv0000103Csd000010CD* +- ID_MODEL_FROM_DATABASE=NetRAID-1Si ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (NetRAID-1Si) + + pci:v00008086d00001960sv0000105Asd00000000* +- ID_MODEL_FROM_DATABASE=SuperTrak ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak) + + pci:v00008086d00001960sv0000105Asd00002168* +- ID_MODEL_FROM_DATABASE=SuperTrak Pro ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak Pro) + + pci:v00008086d00001960sv0000105Asd00005168* +- ID_MODEL_FROM_DATABASE=SuperTrak66/100 ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak66/100) + + pci:v00008086d00001960sv00001111sd00001111* +- ID_MODEL_FROM_DATABASE=MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv00001111sd00001112* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv0000113Csd000003A2* +- ID_MODEL_FROM_DATABASE=MegaRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) + + pci:v00008086d00001960sv0000E4BFsd00001010* +- ID_MODEL_FROM_DATABASE=CG1-RADIO ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CG1-RADIO) + + pci:v00008086d00001960sv0000E4BFsd00001020* +- ID_MODEL_FROM_DATABASE=CU2-QUARTET ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU2-QUARTET) + + pci:v00008086d00001960sv0000E4BFsd00001040* +- ID_MODEL_FROM_DATABASE=CU1-CHORUS ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU1-CHORUS) + + pci:v00008086d00001960sv0000E4BFsd00003100* +- ID_MODEL_FROM_DATABASE=CX1-BAND ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CX1-BAND) + + pci:v00008086d00001962* + ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor + + pci:v00008086d00001962sv0000105Asd00000000* +- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 I2O CPU ++ ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor (SuperTrak SX6000 I2O CPU) + + pci:v00008086d00001A21* + ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset Host Bridge (Hub A) +@@ -59559,10 +59559,10 @@ pci:v00008086d00001A30* + ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge + + pci:v00008086d00001A30sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Optiplex GX240) + + pci:v00008086d00001A30sv000015D9sd00003280* +- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard ++ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Supermicro P4SBE Mainboard) + + pci:v00008086d00001A31* + ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset AGP Bridge +@@ -59571,28 +59571,28 @@ pci:v00008086d00001A38* + ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine + + pci:v00008086d00001A38sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (X7DVL-E-O motherboard) + + pci:v00008086d00001A38sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (Intel S5000PSLSATA Server Board) + + pci:v00008086d00001A48* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d00001A48sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) + + pci:v00008086d00001A48sv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) + + pci:v00008086d00001B48* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d00001B48sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001B48sv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001C00* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller +@@ -59604,28 +59604,28 @@ pci:v00008086d00001C02* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller + + pci:v00008086d00001C02sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (XPS 8300) + + pci:v00008086d00001C02sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (P8 series motherboard) + + pci:v00008086d00001C02sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (Server Board S1200BTS) + + pci:v00008086d00001C03* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller + + pci:v00008086d00001C03sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Precision M4600) + + pci:v00008086d00001C03sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3350) + + pci:v00008086d00001C03sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3750) + + pci:v00008086d00001C03sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C04* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller +@@ -59643,58 +59643,58 @@ pci:v00008086d00001C10* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 + + pci:v00008086d00001C10sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (XPS 8300) + + pci:v00008086d00001C10sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Vostro 3750) + + pci:v00008086d00001C10sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (P8 series motherboard) + + pci:v00008086d00001C10sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C12* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 + + pci:v00008086d00001C12sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (XPS 8300) + + pci:v00008086d00001C12sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C14* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 + + pci:v00008086d00001C14sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Vostro 3750) + + pci:v00008086d00001C14sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C16* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 + + pci:v00008086d00001C16sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 (XPS 8300) + + pci:v00008086d00001C18* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 + + pci:v00008086d00001C18sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Vostro 3750) + + pci:v00008086d00001C18sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Server Board S1200BTS) + + pci:v00008086d00001C1A* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 + + pci:v00008086d00001C1Asv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (Vostro 3750) + + pci:v00008086d00001C1Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (P8 series motherboard) + + pci:v00008086d00001C1C* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 +@@ -59703,58 +59703,58 @@ pci:v00008086d00001C1E* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 + + pci:v00008086d00001C1Esv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 (P8 series motherboard) + + pci:v00008086d00001C20* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller + + pci:v00008086d00001C20sv00001028sd00000490* +- ID_MODEL_FROM_DATABASE=Alienware M17x R3 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Alienware M17x R3) + + pci:v00008086d00001C20sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Precision M4600) + + pci:v00008086d00001C20sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (XPS 8300) + + pci:v00008086d00001C20sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3350) + + pci:v00008086d00001C20sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3750) + + pci:v00008086d00001C20sv00001043sd00008418* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8P67 Deluxe Motherboard) + + pci:v00008086d00001C20sv00001043sd0000841B* +- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8H67 Series Motherboard) + + pci:v00008086d00001C20sv00008086sd00002008* +- ID_MODEL_FROM_DATABASE=DQ67SW board ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (DQ67SW board) + + pci:v00008086d00001C20sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C22* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller + + pci:v00008086d00001C22sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Precision M4600) + + pci:v00008086d00001C22sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (XPS 8300) + + pci:v00008086d00001C22sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3350) + + pci:v00008086d00001C22sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3750) + + pci:v00008086d00001C22sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (P8 series motherboard) + + pci:v00008086d00001C22sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C24* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller +@@ -59766,55 +59766,55 @@ pci:v00008086d00001C26* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 + + pci:v00008086d00001C26sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Precision M4600) + + pci:v00008086d00001C26sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (XPS 8300) + + pci:v00008086d00001C26sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3350) + + pci:v00008086d00001C26sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3750) + + pci:v00008086d00001C26sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) + + pci:v00008086d00001C26sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C27* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 + + pci:v00008086d00001C27sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C2C* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 + + pci:v00008086d00001C2Csv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C2D* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 + + pci:v00008086d00001C2Dsv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Precision M4600) + + pci:v00008086d00001C2Dsv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (XPS 8300) + + pci:v00008086d00001C2Dsv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3350) + + pci:v00008086d00001C2Dsv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3750) + + pci:v00008086d00001C2Dsv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) + + pci:v00008086d00001C2Dsv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C33* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller +@@ -59826,22 +59826,22 @@ pci:v00008086d00001C3A* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 + + pci:v00008086d00001C3Asv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Precision M4600) + + pci:v00008086d00001C3Asv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (XPS 8300) + + pci:v00008086d00001C3Asv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3350) + + pci:v00008086d00001C3Asv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3750) + + pci:v00008086d00001C3Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (P8 series motherboard) + + pci:v00008086d00001C3Asv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C3B* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #2 +@@ -59874,7 +59874,7 @@ pci:v00008086d00001C46* + ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller + + pci:v00008086d00001C46sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller (P8P67 Deluxe Motherboard) + + pci:v00008086d00001C47* + ID_MODEL_FROM_DATABASE=UM67 Express Chipset Family LPC Controller +@@ -59886,25 +59886,25 @@ pci:v00008086d00001C49* + ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller + + pci:v00008086d00001C49sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C4A* + ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller + + pci:v00008086d00001C4Asv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (XPS 8300) + + pci:v00008086d00001C4Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (P8H67 Series Motherboard) + + pci:v00008086d00001C4B* + ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller + + pci:v00008086d00001C4Bsv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3350) + + pci:v00008086d00001C4Bsv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3750) + + pci:v00008086d00001C4C* + ID_MODEL_FROM_DATABASE=Q65 Express Chipset Family LPC Controller +@@ -59919,7 +59919,7 @@ pci:v00008086d00001C4F* + ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller + + pci:v00008086d00001C4Fsv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller (Precision M4600) + + pci:v00008086d00001C50* + ID_MODEL_FROM_DATABASE=B65 Express Chipset Family LPC Controller +@@ -59931,7 +59931,7 @@ pci:v00008086d00001C52* + ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller + + pci:v00008086d00001C52sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller (Server Board S1200BTS) + + pci:v00008086d00001C53* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller +@@ -59946,7 +59946,7 @@ pci:v00008086d00001C56* + ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller + + pci:v00008086d00001C56sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller (P8B WS Motherboard) + + pci:v00008086d00001C57* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller +@@ -60177,19 +60177,19 @@ pci:v00008086d00001E02* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] + + pci:v00008086d00001E02sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) + + pci:v00008086d00001E02sv00001849sd00001E02* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) + + pci:v00008086d00001E03* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] + + pci:v00008086d00001E03sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (N56VZ) + + pci:v00008086d00001E03sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (Zenbook Prime UX31A) + + pci:v00008086d00001E04* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode] +@@ -60216,25 +60216,25 @@ pci:v00008086d00001E10* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 + + pci:v00008086d00001E10sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (N56VZ) + + pci:v00008086d00001E10sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Zenbook Prime UX31A) + + pci:v00008086d00001E10sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (P8H77-I Motherboard) + + pci:v00008086d00001E10sv00001849sd00001E10* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Motherboard) + + pci:v00008086d00001E12* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 + + pci:v00008086d00001E12sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (N56VZ) + + pci:v00008086d00001E12sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (Zenbook Prime UX31A) + + pci:v00008086d00001E14* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 3 +@@ -60243,25 +60243,25 @@ pci:v00008086d00001E16* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 + + pci:v00008086d00001E16sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (N56VZ) + + pci:v00008086d00001E16sv00001849sd00001618* +- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (Z77 Extreme4 motherboard) + + pci:v00008086d00001E18* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 + + pci:v00008086d00001E18sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (P8H77-I Motherboard) + + pci:v00008086d00001E18sv00001849sd00001E18* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (Motherboard) + + pci:v00008086d00001E1A* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 + + pci:v00008086d00001E1Asv00001849sd00001E1A* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 (Motherboard) + + pci:v00008086d00001E1C* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 7 +@@ -60270,43 +60270,43 @@ pci:v00008086d00001E1E* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 + + pci:v00008086d00001E1Esv00001849sd00001E1E* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 (Motherboard) + + pci:v00008086d00001E20* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller + + pci:v00008086d00001E20sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (N56VZ) + + pci:v00008086d00001E20sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E20sv00001043sd00008415* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) + + pci:v00008086d00001E20sv00001849sd00001898* +- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) + + pci:v00008086d00001E22* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller + + pci:v00008086d00001E22sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (N56VZ) + + pci:v00008086d00001E22sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E22sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) + + pci:v00008086d00001E22sv00001849sd00001E22* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) + + pci:v00008086d00001E24* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller + + pci:v00008086d00001E24sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E25* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family DMI to PCI Bridge +@@ -60315,49 +60315,49 @@ pci:v00008086d00001E26* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 + + pci:v00008086d00001E26sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (N56VZ) + + pci:v00008086d00001E26sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E26sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) + + pci:v00008086d00001E26sv00001849sd00001E26* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) + + pci:v00008086d00001E2D* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 + + pci:v00008086d00001E2Dsv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (N56VZ) + + pci:v00008086d00001E2Dsv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) + + pci:v00008086d00001E2Dsv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) + + pci:v00008086d00001E2Dsv00001849sd00001E2D* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) + + pci:v00008086d00001E31* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller + + pci:v00008086d00001E31sv0000103Csd000017AB* +- ID_MODEL_FROM_DATABASE=ProBook 6570b ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (ProBook 6570b) + + pci:v00008086d00001E31sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (N56VZ) + + pci:v00008086d00001E31sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E31sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) + + pci:v00008086d00001E31sv00001849sd00001E31* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) + + pci:v00008086d00001E33* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family LAN Controller +@@ -60366,16 +60366,16 @@ pci:v00008086d00001E3A* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 + + pci:v00008086d00001E3Asv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (N56VZ) + + pci:v00008086d00001E3Asv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E3Asv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) + + pci:v00008086d00001E3Asv00001849sd00001E3A* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) + + pci:v00008086d00001E3B* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #2 +@@ -60399,7 +60399,7 @@ pci:v00008086d00001E44* + ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller + + pci:v00008086d00001E44sv00001849sd00001E44* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) + + pci:v00008086d00001E45* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller +@@ -60420,7 +60420,7 @@ pci:v00008086d00001E4A* + ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller + + pci:v00008086d00001E4Asv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller (P8H77-I Motherboard) + + pci:v00008086d00001E4B* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller +@@ -60468,10 +60468,10 @@ pci:v00008086d00001E59* + ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller + + pci:v00008086d00001E59sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (N56VZ) + + pci:v00008086d00001E59sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E5A* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller +@@ -60804,28 +60804,28 @@ pci:v00008086d00002415* + ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller + + pci:v00008086d00002415sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Precision Workstation 220 Integrated Digital Audio) + + pci:v00008086d00002415sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (OptiPlex GX110) + + pci:v00008086d00002415sv0000110Asd00000051* +- ID_MODEL_FROM_DATABASE=Activy 2xx ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 2xx) + + pci:v00008086d00002415sv000011D4sd00000040* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002415sv000011D4sd00000048* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002415sv000011D4sd00005340* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002415sv00001734sd00001025* +- ID_MODEL_FROM_DATABASE=Activy 3xx ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 3xx) + + pci:v00008086d00002415sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (QEMU Virtual Machine) + + pci:v00008086d00002416* + ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller +@@ -60849,10 +60849,10 @@ pci:v00008086d00002425* + ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller + + pci:v00008086d00002425sv000011D4sd00000040* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002425sv000011D4sd00000048* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002426* + ID_MODEL_FROM_DATABASE=82801AB AC'97 Modem Controller +@@ -60864,352 +60864,352 @@ pci:v00008086d00002440* + ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) + + pci:v00008086d00002440sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E ++ ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) (S845WD1-E) + + pci:v00008086d00002442* + ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 + + pci:v00008086d00002442sv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Netvista A40/A40p) + + pci:v00008086d00002442sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) + + pci:v00008086d00002442sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) + + pci:v00008086d00002442sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) + + pci:v00008086d00002442sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) + + pci:v00008086d00002442sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) + + pci:v00008086d00002442sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) + + pci:v00008086d00002442sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) + + pci:v00008086d00002442sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) + + pci:v00008086d00002442sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) + + pci:v00008086d00002442sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EGEW Mainboard) + + pci:v00008086d00002442sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) + + pci:v00008086d00002443* + ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller + + pci:v00008086d00002443sv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Netvista A40/A40p) + + pci:v00008086d00002443sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Travelmate 612 TX) + + pci:v00008086d00002443sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Dimension 8100) + + pci:v00008086d00002443sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Precision 530) + + pci:v00008086d00002443sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Optiplex GX240) + + pci:v00008086d00002443sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (e-pc 40) + + pci:v00008086d00002443sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TUSL2-C Mainboard) + + pci:v00008086d00002443sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Vaio PCG-FX403) + + pci:v00008086d00002443sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TH7II-RAID) + + pci:v00008086d00002443sv000015D9sd00003280* +- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Supermicro P4SBE Mainboard) + + pci:v00008086d00002443sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EEA2 mainboard) + + pci:v00008086d00002443sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EGEW Mainboard) + + pci:v00008086d00002443sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (S845WD1-E mainboard) + + pci:v00008086d00002444* + ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 + + pci:v00008086d00002444sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) + + pci:v00008086d00002444sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) + + pci:v00008086d00002444sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) + + pci:v00008086d00002444sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) + + pci:v00008086d00002444sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) + + pci:v00008086d00002444sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) + + pci:v00008086d00002444sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) + + pci:v00008086d00002444sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) + + pci:v00008086d00002444sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) + + pci:v00008086d00002444sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) + + pci:v00008086d00002445* + ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller + + pci:v00008086d00002445sv00000E11sd0000000B* +- ID_MODEL_FROM_DATABASE=Compaq Deskpro EN Audio ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Compaq Deskpro EN Audio) + + pci:v00008086d00002445sv00000E11sd00000088* +- ID_MODEL_FROM_DATABASE=Evo D500 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Evo D500) + + pci:v00008086d00002445sv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Netvista A40/A40p) + + pci:v00008086d00002445sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Travelmate 612 TX) + + pci:v00008086d00002445sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Precision 530) + + pci:v00008086d00002445sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (e-pc 40) + + pci:v00008086d00002445sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Vaio PCG-FX403) + + pci:v00008086d00002445sv00001462sd00003370* +- ID_MODEL_FROM_DATABASE=STAC9721 AC ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (STAC9721 AC) + + pci:v00008086d00002445sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (TH7II-RAID) + + pci:v00008086d00002445sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (D815EGEW Mainboard) + + pci:v00008086d00002446* + ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller + + pci:v00008086d00002446sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Travelmate 612 TX) + + pci:v00008086d00002446sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Vaio PCG-FX403) + + pci:v00008086d00002448* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge + + pci:v00008086d00002448sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Latitude E6510) + + pci:v00008086d00002448sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002448sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (NX6110/NC6120) + + pci:v00008086d00002448sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nx9420 Notebook) + + pci:v00008086d00002448sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nw8440) + + pci:v00008086d00002448sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq 6910p) + + pci:v00008086d00002448sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (VAIO VGN-NR120E) + + pci:v00008086d00002448sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) + + pci:v00008086d00002448sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) + + pci:v00008086d00002448sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) + + pci:v00008086d00002448sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (GA-D525TUD) + + pci:v00008086d00002448sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Amilo M1420) + + pci:v00008086d00002448sv000017AAsd000020AE* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) + + pci:v00008086d00002448sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) + + pci:v00008086d00002448sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (CCG-RUMBA) + + pci:v00008086d00002449* + ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller + + pci:v00008086d00002449sv00000E11sd00000012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) + + pci:v00008086d00002449sv00000E11sd00000091* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001CE* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001DC* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001EB* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001EC* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000202* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000205* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000217* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000234* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd0000023D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000244* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000245* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000265* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) + + pci:v00008086d00002449sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) + + pci:v00008086d00002449sv00001014sd0000026A* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) + + pci:v00008086d00002449sv0000109Fsd0000315D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv0000109Fsd00003181* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001179sd0000FF01* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Network Connection) + + pci:v00008086d00002449sv00001186sd00007801* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv0000144Dsd00002602* +- ID_MODEL_FROM_DATABASE=HomePNA 1M CNR ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (HomePNA 1M CNR) + + pci:v00008086d00002449sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (QEMU Virtual Machine) + + pci:v00008086d00002449sv00008086sd00003010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00008086sd00003011* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) + + pci:v00008086d00002449sv00008086sd00003012* +- ID_MODEL_FROM_DATABASE=82562EH based Phoneline ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) + + pci:v00008086d00002449sv00008086sd00003013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00008086sd00003014* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) + + pci:v00008086d00002449sv00008086sd00003015* +- ID_MODEL_FROM_DATABASE=82562EH based Phoneline ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) + + pci:v00008086d00002449sv00008086sd00003016* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile Combo) + + pci:v00008086d00002449sv00008086sd00003017* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile) + + pci:v00008086d00002449sv00008086sd00003018* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100) + + pci:v00008086d0000244A* + ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller + + pci:v00008086d0000244Asv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612TX ++ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Travelmate 612TX) + + pci:v00008086d0000244Asv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Vaio PCG-FX403) + + pci:v00008086d0000244B* + ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller + + pci:v00008086d0000244Bsv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Netvista A40/A40p) + + pci:v00008086d0000244Bsv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Dimension 8100) + + pci:v00008086d0000244Bsv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Precision 530) + + pci:v00008086d0000244Bsv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Optiplex GX240) + + pci:v00008086d0000244Bsv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (e-pc 40) + + pci:v00008086d0000244Bsv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TUSL2-C Mainboard) + + pci:v00008086d0000244Bsv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TH7II-RAID) + + pci:v00008086d0000244Bsv000015D9sd00003280* +- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Supermicro P4SBE Mainboard) + + pci:v00008086d0000244Bsv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EEA2 mainboard) + + pci:v00008086d0000244Bsv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EGEW Mainboard) + + pci:v00008086d0000244Bsv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (S845WD1-E mainboard) + + pci:v00008086d0000244C* + ID_MODEL_FROM_DATABASE=82801BAM ISA Bridge (LPC) +@@ -61218,52 +61218,52 @@ pci:v00008086d0000244E* + ID_MODEL_FROM_DATABASE=82801 PCI Bridge + + pci:v00008086d0000244Esv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (NetVista A30p) + + pci:v00008086d0000244Esv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Inspiron 530) + + pci:v00008086d0000244Esv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Optiplex 755) + + pci:v00008086d0000244Esv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (OptiPlex 980) + + pci:v00008086d0000244Esv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Pavilion A1512X) + + pci:v00008086d0000244Esv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000244Esv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant DL140 G3) + + pci:v00008086d0000244Esv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant ML150 G6 Server) + + pci:v00008086d0000244Esv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P5K PRO Motherboard) + + pci:v00008086d0000244Esv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P8 series motherboard) + + pci:v00008086d0000244Esv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Motherboard) + + pci:v00008086d0000244Esv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Wind PC MS-7418) + + pci:v00008086d0000244Esv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (C7SIM-Q Motherboard) + + pci:v00008086d0000244Esv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (X7DBN Motherboard) + + pci:v00008086d0000244Esv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (CC11/CL11) + + pci:v00008086d0000244Esv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Server Board S1200BTS) + + pci:v00008086d00002450* + ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) +@@ -61293,160 +61293,160 @@ pci:v00008086d00002482* + ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 + + pci:v00008086d00002482sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Evo N600c) + + pci:v00008086d00002482sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (ThinkPad A/T/X Series) + + pci:v00008086d00002482sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002482sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (P4DP6) + + pci:v00008086d00002482sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (vpr Matrix 170B4) + + pci:v00008086d00002482sv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (SE7501HG2 Mainboard) + + pci:v00008086d00002482sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Latitude C640) + + pci:v00008086d00002483* + ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller + + pci:v00008086d00002483sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002483sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002483sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (P4DP6) + + pci:v00008086d00002483sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (vpr Matrix 170B4) + + pci:v00008086d00002484* + ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 + + pci:v00008086d00002484sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (Evo N600c) + + pci:v00008086d00002484sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (ThinkPad A/T/X Series) + + pci:v00008086d00002484sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002484sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (P4DP6) + + pci:v00008086d00002484sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (vpr Matrix 170B4) + + pci:v00008086d00002485* + ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller + + pci:v00008086d00002485sv00001013sd00005959* +- ID_MODEL_FROM_DATABASE=Crystal WMD Audio Codec ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (Crystal WMD Audio Codec) + + pci:v00008086d00002485sv00001014sd00000222* +- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p/T23 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A30/A30p/T23) + + pci:v00008086d00002485sv00001014sd00000508* +- ID_MODEL_FROM_DATABASE=ThinkPad T30 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad T30) + + pci:v00008086d00002485sv00001014sd0000051C* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002485sv00001043sd00001583* +- ID_MODEL_FROM_DATABASE=L3C (SPDIF) ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3C (SPDIF)) + + pci:v00008086d00002485sv00001043sd00001623* +- ID_MODEL_FROM_DATABASE=L2B (no SPDIF) ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L2B (no SPDIF)) + + pci:v00008086d00002485sv00001043sd00001643* +- ID_MODEL_FROM_DATABASE=L3F ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3F) + + pci:v00008086d00002485sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002485sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (vpr Matrix 170B4) + + pci:v00008086d00002486* + ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller + + pci:v00008086d00002486sv00001014sd00000223* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002486sv00001014sd00000503* +- ID_MODEL_FROM_DATABASE=ThinkPad R31 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad R31) + + pci:v00008086d00002486sv00001014sd0000051A* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002486sv0000101Fsd00001025* +- ID_MODEL_FROM_DATABASE=620 Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (620 Series) + + pci:v00008086d00002486sv00001043sd00001496* +- ID_MODEL_FROM_DATABASE=PCtel HSP56 MR ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (PCtel HSP56 MR) + + pci:v00008086d00002486sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002486sv0000134Dsd00004C21* +- ID_MODEL_FROM_DATABASE=Dell Inspiron 2100 internal modem ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (Dell Inspiron 2100 internal modem) + + pci:v00008086d00002486sv0000144Dsd00002115* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 internal modem ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (vpr Matrix 170B4 internal modem) + + pci:v00008086d00002486sv000014F1sd00005421* +- ID_MODEL_FROM_DATABASE=MD56ORD V.92 MDC Modem ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (MD56ORD V.92 MDC Modem) + + pci:v00008086d00002487* + ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 + + pci:v00008086d00002487sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (Evo N600c) + + pci:v00008086d00002487sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (ThinkPad A/T/X Series) + + pci:v00008086d00002487sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002487sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (P4DP6) + + pci:v00008086d00002487sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (vpr Matrix 170B4) + + pci:v00008086d0000248A* + ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller + + pci:v00008086d0000248Asv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Evo N600c) + + pci:v00008086d0000248Asv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (ThinkPad A/T/X Series) + + pci:v00008086d0000248Asv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d0000248Asv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (vpr Matrix 170B4) + + pci:v00008086d0000248Asv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Latitude C640) + + pci:v00008086d0000248B* + ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller + + pci:v00008086d0000248Bsv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller (P4DP6) + + pci:v00008086d0000248C* + ID_MODEL_FROM_DATABASE=82801CAM ISA Bridge (LPC) +@@ -61455,10 +61455,10 @@ pci:v00008086d000024C0* + ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge + + pci:v00008086d000024C0sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (NetVista A30p) + + pci:v00008086d000024C0sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (845PE Max (MS-6580)) + + pci:v00008086d000024C1* + ID_MODEL_FROM_DATABASE=82801DBL (ICH4-L) IDE Controller +@@ -61467,574 +61467,574 @@ pci:v00008086d000024C2* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 + + pci:v00008086d000024C2sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NetVista A30p) + + pci:v00008086d000024C2sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (ThinkPad) + + pci:v00008086d000024C2sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (TravelMate 290) + + pci:v00008086d000024C2sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Optiplex GX260) + + pci:v00008086d000024C2sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D505) + + pci:v00008086d000024C2sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 700m/710m) + + pci:v00008086d000024C2sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 5160) + + pci:v00008086d000024C2sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC8000 laptop) + + pci:v00008086d000024C2sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC6000 laptop) + + pci:v00008086d000024C2sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (tc1100 tablet) + + pci:v00008086d000024C2sv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P4B533) + + pci:v00008086d000024C2sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (MIM2000) + + pci:v00008086d000024C2sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard USB 1.x ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (PC8 onboard USB 1.x) + + pci:v00008086d000024C2sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (X10 Laptop) + + pci:v00008086d000024C2sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P30/P35 notebook) + + pci:v00008086d000024C2sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (845PE Max (MS-6580)) + + pci:v00008086d000024C2sv00001509sd00002990* +- ID_MODEL_FROM_DATABASE=Averatec 5110H laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Averatec 5110H laptop) + + pci:v00008086d000024C2sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C2sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Amilo M1420) + + pci:v00008086d000024C2sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C2sv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude X300) + + pci:v00008086d000024C2sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D400/D500) + + pci:v00008086d000024C2sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CC9-SAMBA) + + pci:v00008086d000024C2sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CD2-BEBOP) + + pci:v00008086d000024C3* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller + + pci:v00008086d000024C3sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NetVista A30p) + + pci:v00008086d000024C3sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (ThinkPad) + + pci:v00008086d000024C3sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (TravelMate 290) + + pci:v00008086d000024C3sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Optiplex GX260) + + pci:v00008086d000024C3sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Latitude X300) + + pci:v00008086d000024C3sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Inspiron 700m/710m) + + pci:v00008086d000024C3sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC8000 laptop) + + pci:v00008086d000024C3sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC6000 laptop) + + pci:v00008086d000024C3sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (tc1100 tablet) + + pci:v00008086d000024C3sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (MIM2000) + + pci:v00008086d000024C3sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard SMbus ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (PC8 onboard SMbus) + + pci:v00008086d000024C3sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (X10 Laptop) + + pci:v00008086d000024C3sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (P30/P35 notebook) + + pci:v00008086d000024C3sv00001458sd000024C2* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (GA-8PE667 Ultra) + + pci:v00008086d000024C3sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (845PE Max (MS-6580)) + + pci:v00008086d000024C3sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C3sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Amilo M1420) + + pci:v00008086d000024C3sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C3sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CC9-SAMBA) + + pci:v00008086d000024C3sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CD2-BEBOP) + + pci:v00008086d000024C4* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 + + pci:v00008086d000024C4sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NetVista A30p) + + pci:v00008086d000024C4sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (ThinkPad) + + pci:v00008086d000024C4sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (TravelMate 290) + + pci:v00008086d000024C4sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Optiplex GX260) + + pci:v00008086d000024C4sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D505) + + pci:v00008086d000024C4sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 700m/710m) + + pci:v00008086d000024C4sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 5160) + + pci:v00008086d000024C4sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC8000 laptop) + + pci:v00008086d000024C4sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC6000 laptop) + + pci:v00008086d000024C4sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (tc1100 tablet) + + pci:v00008086d000024C4sv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P4B533) + + pci:v00008086d000024C4sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (MIM2000) + + pci:v00008086d000024C4sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P30/P35 notebook) + + pci:v00008086d000024C4sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (845PE Max (MS-6580)) + + pci:v00008086d000024C4sv00001509sd00002990* +- ID_MODEL_FROM_DATABASE=Averatec 5110H ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Averatec 5110H) + + pci:v00008086d000024C4sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C4sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C4sv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude X300) + + pci:v00008086d000024C4sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D400/D500) + + pci:v00008086d000024C4sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CC9-SAMBA) + + pci:v00008086d000024C4sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CD2-BEBOP) + + pci:v00008086d000024C5* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller + + pci:v00008086d000024C5sv00000E11sd000000B8* +- ID_MODEL_FROM_DATABASE=Analog Devices Inc. codec [SoundMAX] ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Analog Devices Inc. codec [SoundMAX]) + + pci:v00008086d000024C5sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) + + pci:v00008086d000024C5sv00001014sd00000537* +- ID_MODEL_FROM_DATABASE=ThinkPad T41 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) + + pci:v00008086d000024C5sv00001014sd0000055F* +- ID_MODEL_FROM_DATABASE=Thinkpad R50e model 1634 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) + + pci:v00008086d000024C5sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (TravelMate 290) + + pci:v00008086d000024C5sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D400) + + pci:v00008086d000024C5sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude X300) + + pci:v00008086d000024C5sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D500) + + pci:v00008086d000024C5sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D505) + + pci:v00008086d000024C5sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m [SigmaTel STAC9750,51] ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 700m/710m [SigmaTel STAC9750,51]) + + pci:v00008086d000024C5sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 5160) + + pci:v00008086d000024C5sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC8000 laptop) + + pci:v00008086d000024C5sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC6000 laptop) + + pci:v00008086d000024C5sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (tc1100 tablet) + + pci:v00008086d000024C5sv00001043sd00001713* +- ID_MODEL_FROM_DATABASE=M2400N/M6800N laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (M2400N/M6800N laptop) + + pci:v00008086d000024C5sv00001043sd000080B0* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P4B533) + + pci:v00008086d000024C5sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (MIM2000) + + pci:v00008086d000024C5sv00001179sd00000201* +- ID_MODEL_FROM_DATABASE=Toshiba Tecra M1 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Toshiba Tecra M1) + + pci:v00008086d000024C5sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (X10 Laptop) + + pci:v00008086d000024C5sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P30/P35 notebook) + + pci:v00008086d000024C5sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (GA-8PE667 Ultra) + + pci:v00008086d000024C5sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (845PE Max (MS-6580)) + + pci:v00008086d000024C5sv00001734sd00001005* +- ID_MODEL_FROM_DATABASE=D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T) + + pci:v00008086d000024C5sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Amilo M1420) + + pci:v00008086d000024C5sv00008086sd000024C5* +- ID_MODEL_FROM_DATABASE=Dell Dimension 2400 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Dell Dimension 2400) + + pci:v00008086d000024C6* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller + + pci:v00008086d000024C6sv00001014sd00000524* +- ID_MODEL_FROM_DATABASE=ThinkPad T41 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) + + pci:v00008086d000024C6sv00001014sd00000525* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) + + pci:v00008086d000024C6sv00001014sd00000559* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad R50e) + + pci:v00008086d000024C6sv00001025sd0000003C* +- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compal CL50 motherboard) implementation ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Aspire 2001WLCi (Compal CL50 motherboard) implementation) + + pci:v00008086d000024C6sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (TravelMate 290) + + pci:v00008086d000024C6sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Inspiron 5160) + + pci:v00008086d000024C6sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC8000 laptop) + + pci:v00008086d000024C6sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC6000 laptop) + + pci:v00008086d000024C6sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (tc1100 tablet) + + pci:v00008086d000024C6sv00001043sd00001716* +- ID_MODEL_FROM_DATABASE=M2400N laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M2400N laptop) + + pci:v00008086d000024C6sv00001043sd00001826* +- ID_MODEL_FROM_DATABASE=M6800N ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M6800N) + + pci:v00008086d000024C6sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (MIM2000) + + pci:v00008086d000024C6sv0000134Dsd00004C21* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Latitude D500) + + pci:v00008086d000024C6sv0000144Dsd00002115* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (X10 Laptop) + + pci:v00008086d000024C6sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (P30/P35 notebook) + + pci:v00008086d000024C6sv000014F1sd00005422* +- ID_MODEL_FROM_DATABASE=D480 MDC V.9x Modem ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (D480 MDC V.9x Modem) + + pci:v00008086d000024C7* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 + + pci:v00008086d000024C7sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NetVista A30p) + + pci:v00008086d000024C7sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (ThinkPad) + + pci:v00008086d000024C7sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (TravelMate 290) + + pci:v00008086d000024C7sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Optiplex GX260) + + pci:v00008086d000024C7sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D505) + + pci:v00008086d000024C7sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 700m/710m) + + pci:v00008086d000024C7sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 5160) + + pci:v00008086d000024C7sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC8000 laptop) + + pci:v00008086d000024C7sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC6000 laptop) + + pci:v00008086d000024C7sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (tc1100 tablet) + + pci:v00008086d000024C7sv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P4B533) + + pci:v00008086d000024C7sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (MIM2000) + + pci:v00008086d000024C7sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P30/P35 notebook) + + pci:v00008086d000024C7sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (845PE Max (MS-6580)) + + pci:v00008086d000024C7sv00001509sd00002990* +- ID_MODEL_FROM_DATABASE=Averatec 5110H ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Averatec 5110H) + + pci:v00008086d000024C7sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C7sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C7sv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude X300) + + pci:v00008086d000024C7sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D400/D500) + + pci:v00008086d000024C7sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CC9-SAMBA) + + pci:v00008086d000024C7sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CD2-BEBOP) + + pci:v00008086d000024CA* + ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller + + pci:v00008086d000024CAsv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (ThinkPad) + + pci:v00008086d000024CAsv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (TravelMate 290) + + pci:v00008086d000024CAsv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude X300) + + pci:v00008086d000024CAsv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D505) + + pci:v00008086d000024CAsv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 700m/710m) + + pci:v00008086d000024CAsv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 5160) + + pci:v00008086d000024CAsv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC8000 laptop) + + pci:v00008086d000024CAsv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC6000 laptop) + + pci:v00008086d000024CAsv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (tc1100 tablet) + + pci:v00008086d000024CAsv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (MIM2000) + + pci:v00008086d000024CAsv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (X10 Laptop) + + pci:v00008086d000024CAsv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (P30/P35 notebook) + + pci:v00008086d000024CAsv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Amilo M1420) + + pci:v00008086d000024CAsv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D400/D500) + + pci:v00008086d000024CB* + ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller + + pci:v00008086d000024CBsv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (NetVista A30p) + + pci:v00008086d000024CBsv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Optiplex GX260) + + pci:v00008086d000024CBsv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (P4B533) + + pci:v00008086d000024CBsv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard IDE ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (PC8 onboard IDE) + + pci:v00008086d000024CBsv00001458sd000024C2* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (GA-8PE667 Ultra) + + pci:v00008086d000024CBsv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (845PE Max (MS-6580)) + + pci:v00008086d000024CBsv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024CBsv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d000024CBsv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CC9-SAMBA) + + pci:v00008086d000024CBsv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CD2-BEBOP) + + pci:v00008086d000024CC* + ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge + + pci:v00008086d000024CCsv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (P30 notebook) + + pci:v00008086d000024CCsv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (Amilo M1420) + + pci:v00008086d000024CD* + ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller + + pci:v00008086d000024CDsv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NetVista A30p) + + pci:v00008086d000024CDsv00001014sd0000052E* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (ThinkPad) + + pci:v00008086d000024CDsv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (TravelMate 290) + + pci:v00008086d000024CDsv00001028sd0000011D* +- ID_MODEL_FROM_DATABASE=Latitude D600 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D600) + + pci:v00008086d000024CDsv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Optiplex GX260) + + pci:v00008086d000024CDsv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D400) + + pci:v00008086d000024CDsv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D500) + + pci:v00008086d000024CDsv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D505) + + pci:v00008086d000024CDsv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 700m/710m) + + pci:v00008086d000024CDsv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 5160) + + pci:v00008086d000024CDsv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC8000 laptop) + + pci:v00008086d000024CDsv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC6000 laptop) + + pci:v00008086d000024CDsv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (tc1100 tablet) + + pci:v00008086d000024CDsv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P4B533) + + pci:v00008086d000024CDsv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (MIM2000) + + pci:v00008086d000024CDsv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard USB 2.0 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (PC8 onboard USB 2.0) + + pci:v00008086d000024CDsv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Satellite 2430 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Satellite 2430) + + pci:v00008086d000024CDsv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (X10 Laptop) + + pci:v00008086d000024CDsv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P30/P35 notebook) + + pci:v00008086d000024CDsv00001462sd00003981* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (845PE Max (MS-6580)) + + pci:v00008086d000024CDsv00001509sd00001968* +- ID_MODEL_FROM_DATABASE=Averatec 5110H ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Averatec 5110H) + + pci:v00008086d000024CDsv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024CDsv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Amilo M1420) + + pci:v00008086d000024CDsv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (QEMU Virtual Machine) + + pci:v00008086d000024CDsv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d000024CDsv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude X300) + + pci:v00008086d000024CDsv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CC9-SAMBA) + + pci:v00008086d000024CDsv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CD2-BEBOP) + + pci:v00008086d000024D0* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) LPC Interface Bridge +@@ -62043,436 +62043,436 @@ pci:v00008086d000024D1* + ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller + + pci:v00008086d000024D1sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D1sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision 470) + + pci:v00008086d000024D1sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (PowerEdge SC1425) + + pci:v00008086d000024D1sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (d530 CMT (DG746A)) + + pci:v00008086d000024D1sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (ProLiant DL140 G2) + + pci:v00008086d000024D1sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4P800 series motherboard) + + pci:v00008086d000024D1sv00001458sd000024D1* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D1sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D1sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D1sv00001565sd00005200* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4TSV Motherboard (865G)) + + pci:v00008086d000024D1sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4SCE Mainboard) + + pci:v00008086d000024D1sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (S875WP1-E mainboard) + + pci:v00008086d000024D1sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GBF) + + pci:v00008086d000024D1sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GLC) + + pci:v00008086d000024D1sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (D865PERL mainboard) + + pci:v00008086d000024D2* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 + + pci:v00008086d000024D2sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) + + pci:v00008086d000024D2sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) + + pci:v00008086d000024D2sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D2sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision 470) + + pci:v00008086d000024D2sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1850 onboard UHCI) + + pci:v00008086d000024D2sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 2850 onboard UHCI) + + pci:v00008086d000024D2sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 6850 onboard UHCI) + + pci:v00008086d000024D2sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1800) + + pci:v00008086d000024D2sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge SC1425) + + pci:v00008086d000024D2sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (NX9500) + + pci:v00008086d000024D2sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (d530 CMT (DG746A)) + + pci:v00008086d000024D2sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (ProLiant DL140 G2) + + pci:v00008086d000024D2sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D2sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (GA-8IPE1000/8KNXP motherboard) + + pci:v00008086d000024D2sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D2sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4TSV Motherboard (865G)) + + pci:v00008086d000024D2sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4SCE Mainboard) + + pci:v00008086d000024D2sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PRIMERGY RX/TX series onboard UHCI) + + pci:v00008086d000024D2sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (S875WP1-E mainboard) + + pci:v00008086d000024D2sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GBF) + + pci:v00008086d000024D2sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GLC) + + pci:v00008086d000024D2sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (D865PERL mainboard) + + pci:v00008086d000024D3* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller + + pci:v00008086d000024D3sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) + + pci:v00008086d000024D3sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) + + pci:v00008086d000024D3sv00001028sd00000156* +- ID_MODEL_FROM_DATABASE=Precision 360 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 360) + + pci:v00008086d000024D3sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D3sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 470) + + pci:v00008086d000024D3sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d330 uT ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (d330 uT) + + pci:v00008086d000024D3sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (ProLiant DL140 G2) + + pci:v00008086d000024D3sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D3sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D3sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D3sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D3sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4TSV Motherboard (865G)) + + pci:v00008086d000024D3sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4SCE Mainboard) + + pci:v00008086d000024D3sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series SMBus ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (PRIMERGY RX/TX S2 series SMBus) + + pci:v00008086d000024D3sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (S875WP1-E mainboard) + + pci:v00008086d000024D3sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GBF) + + pci:v00008086d000024D3sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GLC) + + pci:v00008086d000024D3sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (D865PERL mainboard) + + pci:v00008086d000024D4* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 + + pci:v00008086d000024D4sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) + + pci:v00008086d000024D4sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) + + pci:v00008086d000024D4sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D4sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision 470) + + pci:v00008086d000024D4sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1850 onboard UHCI) + + pci:v00008086d000024D4sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 2850 onboard UHCI) + + pci:v00008086d000024D4sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 6850 onboard UHCI) + + pci:v00008086d000024D4sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1800) + + pci:v00008086d000024D4sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge SC1425) + + pci:v00008086d000024D4sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (NX9500) + + pci:v00008086d000024D4sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (d530 CMT (DG746A)) + + pci:v00008086d000024D4sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (ProLiant DL140 G2) + + pci:v00008086d000024D4sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D4sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D4sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D4sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D4sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4TSV Motherboard (865G)) + + pci:v00008086d000024D4sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4SCE Mainboard) + + pci:v00008086d000024D4sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PRIMERGY RX/TX S2 series onboard UHCI) + + pci:v00008086d000024D4sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (S875WP1-E mainboard) + + pci:v00008086d000024D4sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GBF) + + pci:v00008086d000024D4sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GLC) + + pci:v00008086d000024D4sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (D865PERL mainboard) + + pci:v00008086d000024D5* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller + + pci:v00008086d000024D5sv0000100Asd0000147B* +- ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Abit IS7-E motherboard) + + pci:v00008086d000024D5sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D5sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision 470) + + pci:v00008086d000024D5sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (NX9500) + + pci:v00008086d000024D5sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d330 uT ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (d330 uT) + + pci:v00008086d000024D5sv00001043sd000080F3* +- ID_MODEL_FROM_DATABASE=P4P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P4P800 series motherboard) + + pci:v00008086d000024D5sv00001043sd0000810F* +- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P5P800-MX Mainboard) + + pci:v00008086d000024D5sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (GA-8IPE1000/8KNXP motherboard) + + pci:v00008086d000024D5sv00001462sd00000080* +- ID_MODEL_FROM_DATABASE=865PE Neo2-V (MS-6788) Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2-V (MS-6788) Mainboard) + + pci:v00008086d000024D5sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D5sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D5sv00008086sd0000A000* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) + + pci:v00008086d000024D5sv00008086sd0000E000* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) + + pci:v00008086d000024D5sv00008086sd0000E001* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Desktop Board D865GBF) + + pci:v00008086d000024D5sv00008086sd0000E002* +- ID_MODEL_FROM_DATABASE=SoundMax Intergrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (SoundMax Intergrated Digital Audio) + + pci:v00008086d000024D6* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller + + pci:v00008086d000024D6sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller (NX9500) + + pci:v00008086d000024D7* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 + + pci:v00008086d000024D7sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (xSeries server mainboard) + + pci:v00008086d000024D7sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D7sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision 470) + + pci:v00008086d000024D7sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1850 onboard UHCI) + + pci:v00008086d000024D7sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 2850 onboard UHCI) + + pci:v00008086d000024D7sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 6850 onboard UHCI) + + pci:v00008086d000024D7sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1800) + + pci:v00008086d000024D7sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (NX9500) + + pci:v00008086d000024D7sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (d530 CMT (DG746A)) + + pci:v00008086d000024D7sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D7sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D7sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D7sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D7sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4TSV Motherboard (865G)) + + pci:v00008086d000024D7sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4SCE Mainboard) + + pci:v00008086d000024D7sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PRIMERGY RX/TX S2 series onboard UHCI) + + pci:v00008086d000024D7sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (S875WP1-E mainboard) + + pci:v00008086d000024D7sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GBF) + + pci:v00008086d000024D7sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GLC) + + pci:v00008086d000024D7sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (D865PERL mainboard) + + pci:v00008086d000024DB* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller + + pci:v00008086d000024DBsv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DBsv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DBsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024DBsv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision 470) + + pci:v00008086d000024DBsv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 IDE Controller ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 1850 IDE Controller) + + pci:v00008086d000024DBsv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 IDE Controller ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 2850 IDE Controller) + + pci:v00008086d000024DBsv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 IDE Controller ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 6850 IDE Controller) + + pci:v00008086d000024DBsv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge SC1425) + + pci:v00008086d000024DBsv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (NX9500) + + pci:v00008086d000024DBsv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (d530 CMT (DG746A)) + + pci:v00008086d000024DBsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4P800/P5P800 series motherboard) + + pci:v00008086d000024DBsv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024DBsv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024DBsv00001462sd00007580* +- ID_MODEL_FROM_DATABASE=MSI 875P ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (MSI 875P) + + pci:v00008086d000024DBsv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024DBsv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4TSV Motherboard (865G)) + + pci:v00008086d000024DBsv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4SCE Mainboard) + + pci:v00008086d000024DBsv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard IDE ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PRIMERGY RX/TX S2 series onboard IDE) + + pci:v00008086d000024DBsv00008086sd000024DB* +- ID_MODEL_FROM_DATABASE=P4C800 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4C800 Mainboard) + + pci:v00008086d000024DBsv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (S875WP1-E mainboard) + + pci:v00008086d000024DBsv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GBF) + + pci:v00008086d000024DBsv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GLC) + + pci:v00008086d000024DBsv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (D865PERL mainboard) + + pci:v00008086d000024DC* + ID_MODEL_FROM_DATABASE=82801EB (ICH5) LPC Interface Bridge +@@ -62481,142 +62481,142 @@ pci:v00008086d000024DD* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller + + pci:v00008086d000024DDsv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DDsv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DDsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024DDsv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision 470) + + pci:v00008086d000024DDsv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1850 onboard EHCI) + + pci:v00008086d000024DDsv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 2850 onboard EHCI) + + pci:v00008086d000024DDsv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 6850 onboard EHCI) + + pci:v00008086d000024DDsv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1800) + + pci:v00008086d000024DDsv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge SC1425) + + pci:v00008086d000024DDsv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (NX9500) + + pci:v00008086d000024DDsv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (d530 CMT (DG746A)) + + pci:v00008086d000024DDsv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (ProLiant DL140 G2) + + pci:v00008086d000024DDsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (P4P800/P5P800 series motherboard) + + pci:v00008086d000024DDsv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024DDsv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024DDsv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024DDsv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (S875WP1-E mainboard) + + pci:v00008086d000024DDsv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GBF) + + pci:v00008086d000024DDsv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GLC) + + pci:v00008086d000024DDsv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (D865PERL mainboard) + + pci:v00008086d000024DE* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 + + pci:v00008086d000024DEsv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (xSeries server mainboard) + + pci:v00008086d000024DEsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024DEsv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision 470) + + pci:v00008086d000024DEsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024DEsv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024DEsv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024DEsv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024DEsv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4TSV Motherboard (865G)) + + pci:v00008086d000024DEsv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4SCE Mainboard) + + pci:v00008086d000024DEsv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (PRIMERGY RX/TX S2 series onboard UHCI) + + pci:v00008086d000024DEsv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (S875WP1-E mainboard) + + pci:v00008086d000024DEsv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GBF) + + pci:v00008086d000024DEsv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GLC) + + pci:v00008086d000024DEsv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (D865PERL mainboard) + + pci:v00008086d000024DF* + ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller + + pci:v00008086d000024DFsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024F3* + ID_MODEL_FROM_DATABASE=Wireless 8260 + + pci:v00008086d000024F3sv00008086sd00000010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) + + pci:v00008086d000024F4* + ID_MODEL_FROM_DATABASE=Wireless 8260 + + pci:v00008086d000024F4sv00008086sd00000030* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) + + pci:v00008086d00002500* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) + + pci:v00008086d00002500sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Chipset ++ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (Precision Workstation 220 Chipset) + + pci:v00008086d00002500sv00001043sd0000801C* +- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset ++ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) + + pci:v00008086d00002501* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) + + pci:v00008086d00002501sv00001043sd0000801C* +- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset ++ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) + + pci:v00008086d0000250B* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge +@@ -62634,16 +62634,16 @@ pci:v00008086d00002530* + ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) + + pci:v00008086d00002530sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (Dimension 8100) + + pci:v00008086d00002530sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (TH7II-RAID) + + pci:v00008086d00002531* + ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) + + pci:v00008086d00002531sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) (Precision 530) + + pci:v00008086d00002532* + ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset AGP Bridge +@@ -62658,19 +62658,19 @@ pci:v00008086d00002540* + ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub + + pci:v00008086d00002540sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub (P4DP6) + + pci:v00008086d00002541* + ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller + + pci:v00008086d00002541sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (P4DP6) + + pci:v00008086d00002541sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d00002541sv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (SE7501HG2 Mainboard) + + pci:v00008086d00002543* + ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B PCI-to-PCI Bridge +@@ -62679,7 +62679,7 @@ pci:v00008086d00002544* + ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller + + pci:v00008086d00002544sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d00002545* + ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface C PCI-to-PCI Bridge +@@ -62697,10 +62697,10 @@ pci:v00008086d0000254C* + ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub + + pci:v00008086d0000254Csv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (Cx9 / Vx9 mainboard) + + pci:v00008086d0000254Csv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (SE7501HG2 Mainboard) + + pci:v00008086d00002550* + ID_MODEL_FROM_DATABASE=E7505 Memory Controller Hub +@@ -62724,13 +62724,13 @@ pci:v00008086d00002560* + ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface + + pci:v00008086d00002560sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (Optiplex GX260) + + pci:v00008086d00002560sv00001458sd00002560* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (GA-8PE667 Ultra) + + pci:v00008086d00002560sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (845PE Max (MS-6580)) + + pci:v00008086d00002561* + ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge +@@ -62739,31 +62739,31 @@ pci:v00008086d00002562* + ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device + + pci:v00008086d00002562sv00000E11sd000000B9* +- ID_MODEL_FROM_DATABASE=Evo D510 SFF ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (Evo D510 SFF) + + pci:v00008086d00002562sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (NetVista A30p) + + pci:v00008086d00002562sv00001734sd00001003* +- ID_MODEL_FROM_DATABASE=D1521 Mainboard (Fujitsu-Siemens) ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1521 Mainboard (Fujitsu-Siemens)) + + pci:v00008086d00002562sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d00002570* + ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface + + pci:v00008086d00002570sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (NX9500) + + pci:v00008086d00002570sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d330 uT ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (d330 uT) + + pci:v00008086d00002570sv00001043sd000080F2* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (P4P800/P5P800 series motherboard) + + pci:v00008086d00002570sv00001458sd00002570* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d00002571* + ID_MODEL_FROM_DATABASE=82865G/PE/P AGP Bridge +@@ -62772,25 +62772,25 @@ pci:v00008086d00002572* + ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller + + pci:v00008086d00002572sv00001028sd0000019D* +- ID_MODEL_FROM_DATABASE=Dimension 3000 ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Dimension 3000) + + pci:v00008086d00002572sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=D530 sff(dc578av) ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (D530 sff(dc578av)) + + pci:v00008086d00002572sv00001043sd000080A5* +- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (P5P800-MX Mainboard) + + pci:v00008086d00002572sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d00002572sv00001734sd0000101B* +- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Scenic E300 i865GV ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Fujitsu-Siemens Scenic E300 i865GV) + + pci:v00008086d00002572sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GBF) + + pci:v00008086d00002572sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GLC) + + pci:v00008086d00002573* + ID_MODEL_FROM_DATABASE=82865G/PE/P PCI to CSA Bridge +@@ -62802,13 +62802,13 @@ pci:v00008086d00002578* + ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub + + pci:v00008086d00002578sv00001458sd00002578* +- ID_MODEL_FROM_DATABASE=GA-8KNXP motherboard (875P) ++ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (GA-8KNXP motherboard (875P)) + + pci:v00008086d00002578sv00001462sd00007580* +- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) ++ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (MS-6758 (875P Neo)) + + pci:v00008086d00002578sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Motherboard ++ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (P4SCE Motherboard) + + pci:v00008086d00002579* + ID_MODEL_FROM_DATABASE=82875P Processor to AGP Controller +@@ -62823,13 +62823,13 @@ pci:v00008086d00002580* + ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub + + pci:v00008086d00002580sv00001458sd00002580* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (GA-8I915ME-G Mainboard) + + pci:v00008086d00002580sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (915P/G Neo2) + + pci:v00008086d00002580sv00001734sd0000105B* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (Scenic W620) + + pci:v00008086d00002581* + ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL PCI Express Root Port +@@ -62838,28 +62838,28 @@ pci:v00008086d00002582* + ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller + + pci:v00008086d00002582sv00001028sd00001079* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Optiplex GX280) + + pci:v00008086d00002582sv0000103Csd00003006* +- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (DC7100 SFF(DX878AV)) + + pci:v00008086d00002582sv00001043sd00002582* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002582sv00001458sd00002582* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d00002582sv00001734sd0000105B* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Scenic W620) + + pci:v00008086d00002582sv00001849sd00002582* +- ID_MODEL_FROM_DATABASE=ASRock P4Dual-915GL ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (ASRock P4Dual-915GL) + + pci:v00008086d00002584* + ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub + + pci:v00008086d00002584sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub (Dimension 8400) + + pci:v00008086d00002585* + ID_MODEL_FROM_DATABASE=82925X/XE PCI Express Root Port +@@ -62877,58 +62877,58 @@ pci:v00008086d00002590* + ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller + + pci:v00008086d00002590sv00001014sd00000575* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (ThinkPad Z60t) + + pci:v00008086d00002590sv00001028sd00000182* +- ID_MODEL_FROM_DATABASE=Dell Latitude C610 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Dell Latitude C610) + + pci:v00008086d00002590sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Compaq nw8240/nx8220) + + pci:v00008086d00002590sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (NX6110/NC6120) + + pci:v00008086d00002590sv0000104Dsd000081B7* +- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) + + pci:v00008086d00002590sv0000A304sd000081B7* +- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) + + pci:v00008086d00002590sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CCD-CALYPSO) + + pci:v00008086d00002590sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CD3-JIVE) + + pci:v00008086d00002590sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (XB1) + + pci:v00008086d00002591* + ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port + + pci:v00008086d00002591sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002592* + ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller + + pci:v00008086d00002592sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) + + pci:v00008086d00002592sv0000103Csd0000308A* +- ID_MODEL_FROM_DATABASE=NC6220 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NC6220) + + pci:v00008086d00002592sv00001043sd00001881* +- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) + + pci:v00008086d00002592sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) + + pci:v00008086d00002592sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) + + pci:v00008086d00002592sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) + + pci:v00008086d000025A1* + ID_MODEL_FROM_DATABASE=6300ESB LPC Interface Controller +@@ -62937,79 +62937,79 @@ pci:v00008086d000025A2* + ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller + + pci:v00008086d000025A2sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A2sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer IDE ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (V5D Single Board Computer IDE) + + pci:v00008086d000025A2sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A2sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CE9) + + pci:v00008086d000025A2sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CL9 mainboard) + + pci:v00008086d000025A2sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (PSL09 PrPMC) + + pci:v00008086d000025A3* + ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller + + pci:v00008086d000025A3sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A3sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A3sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CE9) + + pci:v00008086d000025A3sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CL9 mainboard) + + pci:v00008086d000025A3sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025A3sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (PSL09 PrPMC) + + pci:v00008086d000025A4* + ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller + + pci:v00008086d000025A4sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A4sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (V5D Single Board Computer) + + pci:v00008086d000025A4sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A4sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CE9) + + pci:v00008086d000025A4sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CL9 mainboard) + + pci:v00008086d000025A4sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025A4sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (PSL09 PrPMC) + + pci:v00008086d000025A6* + ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller + + pci:v00008086d000025A6sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A6sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CE9) + + pci:v00008086d000025A6sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CL9 mainboard) + + pci:v00008086d000025A7* + ID_MODEL_FROM_DATABASE=6300ESB AC'97 Modem Controller +@@ -63018,121 +63018,121 @@ pci:v00008086d000025A9* + ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller + + pci:v00008086d000025A9sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A9sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (V5D Single Board Computer USB) + + pci:v00008086d000025A9sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A9sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) + + pci:v00008086d000025A9sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) + + pci:v00008086d000025A9sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025A9sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) + + pci:v00008086d000025AA* + ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller + + pci:v00008086d000025AAsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025AAsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025AAsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) + + pci:v00008086d000025AAsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) + + pci:v00008086d000025AAsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025AAsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) + + pci:v00008086d000025AB* + ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer + + pci:v00008086d000025ABsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025ABsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (V5D Single Board Computer) + + pci:v00008086d000025ABsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CR11/VR11 Single Board Computer) + + pci:v00008086d000025ABsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CE9) + + pci:v00008086d000025ABsv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (QEMU Virtual Machine) + + pci:v00008086d000025ABsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CL9 mainboard) + + pci:v00008086d000025ABsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Telum ASLP10 Processor AMC) + + pci:v00008086d000025ABsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (PSL09 PrPMC) + + pci:v00008086d000025AC* + ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller + + pci:v00008086d000025ACsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025ACsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (V5D Single Board Computer) + + pci:v00008086d000025ACsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025ACsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CE9) + + pci:v00008086d000025ACsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CL9 mainboard) + + pci:v00008086d000025ACsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025ACsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (PSL09 PrPMC) + + pci:v00008086d000025AD* + ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller + + pci:v00008086d000025ADsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025ADsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB 2.0 ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (V5D Single Board Computer USB 2.0) + + pci:v00008086d000025ADsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025ADsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CE9) + + pci:v00008086d000025ADsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CL9 mainboard) + + pci:v00008086d000025ADsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025ADsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (PSL09 PrPMC) + + pci:v00008086d000025AE* + ID_MODEL_FROM_DATABASE=6300ESB 64-bit PCI-X Bridge +@@ -63141,13 +63141,13 @@ pci:v00008086d000025B0* + ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller + + pci:v00008086d000025B0sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025B0sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025B0sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (PSL09 PrPMC) + + pci:v00008086d000025C0* + ID_MODEL_FROM_DATABASE=5000X Chipset Memory Controller Hub +@@ -63159,16 +63159,16 @@ pci:v00008086d000025D4* + ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub + + pci:v00008086d000025D4sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub (X7DVL-E-O motherboard) + + pci:v00008086d000025D8* + ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub + + pci:v00008086d000025D8sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (X7DBN Motherboard) + + pci:v00008086d000025D8sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (S5000PSLSATA Server Board) + + pci:v00008086d000025E2* + ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 2 +@@ -63192,79 +63192,79 @@ pci:v00008086d000025F0* + ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers + + pci:v00008086d000025F0sv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 FSB Registers ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (PowerEdge 1955 FSB Registers) + + pci:v00008086d000025F0sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (ProLiant DL140 G3) + + pci:v00008086d000025F0sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F0sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DBN Motherboard) + + pci:v00008086d000025F0sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F1* + ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers + + pci:v00008086d000025F1sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) + + pci:v00008086d000025F1sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F1sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) + + pci:v00008086d000025F1sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F3* + ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers + + pci:v00008086d000025F3sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) + + pci:v00008086d000025F3sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F3sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) + + pci:v00008086d000025F3sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F5* + ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers + + pci:v00008086d000025F5sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) + + pci:v00008086d000025F5sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F5sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) + + pci:v00008086d000025F5sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F6* + ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers + + pci:v00008086d000025F6sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) + + pci:v00008086d000025F6sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F6sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) + + pci:v00008086d000025F6sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F7* + ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 2-3 +@@ -63282,7 +63282,7 @@ pci:v00008086d00002600* + ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 + + pci:v00008086d00002600sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Hub Interface ++ ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 (PowerEdge 6850 Hub Interface) + + pci:v00008086d00002601* + ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port D +@@ -63363,76 +63363,76 @@ pci:v00008086d00002620* + ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge + + pci:v00008086d00002620sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Bridge ++ ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge (PowerEdge 6850 Memory Bridge) + + pci:v00008086d00002621* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers + + pci:v00008086d00002621sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 XMB Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers (PowerEdge 6850 XMB Registers) + + pci:v00008086d00002622* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers + + pci:v00008086d00002622sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Interleaving Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers (PowerEdge 6850 Memory Interleaving Registers) + + pci:v00008086d00002623* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration + + pci:v00008086d00002623sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 DDR Initialization and Calibration ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration (PowerEdge 6850 DDR Initialization and Calibration) + + pci:v00008086d00002624* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002624sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002625* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002625sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002626* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002626sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002627* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002627sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002640* + ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge + + pci:v00008086d00002640sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (915P/G Neo2) + + pci:v00008086d00002640sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (Scenic W620) + + pci:v00008086d00002640sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CCD-CALYPSO) + + pci:v00008086d00002640sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CD3-JIVE) + + pci:v00008086d00002640sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (XB1) + + pci:v00008086d00002641* + ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge + + pci:v00008086d00002641sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (Compaq nw8240/nx8220) + + pci:v00008086d00002641sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (NX6110/NC6120) + + pci:v00008086d00002642* + ID_MODEL_FROM_DATABASE=82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge +@@ -63441,34 +63441,34 @@ pci:v00008086d00002651* + ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller + + pci:v00008086d00002651sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Optiplex GX280) + + pci:v00008086d00002651sv00001043sd00002601* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002651sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Scenic W620) + + pci:v00008086d00002651sv00008086sd00004147* +- ID_MODEL_FROM_DATABASE=D915GAG Motherboard ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (D915GAG Motherboard) + + pci:v00008086d00002651sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CCD-CALYPSO) + + pci:v00008086d00002651sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CD3-JIVE) + + pci:v00008086d00002651sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (XB1) + + pci:v00008086d00002652* + ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller + + pci:v00008086d00002652sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (Dimension 8400) + + pci:v00008086d00002652sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (915P/G Neo2) + + pci:v00008086d00002653* + ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) SATA Controller +@@ -63477,289 +63477,289 @@ pci:v00008086d00002658* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 + + pci:v00008086d00002658sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Dimension 8400) + + pci:v00008086d00002658sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Optiplex GX280) + + pci:v00008086d00002658sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Compaq nw8240/nx8220) + + pci:v00008086d00002658sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (NX6110/NC6120) + + pci:v00008086d00002658sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (P5GD1-VW Mainboard) + + pci:v00008086d00002658sv00001458sd00002558* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (GA-8I915ME-G Mainboard) + + pci:v00008086d00002658sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (915P/G Neo2) + + pci:v00008086d00002658sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Scenic W620) + + pci:v00008086d00002658sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CCD-CALYPSO) + + pci:v00008086d00002658sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CD3-JIVE) + + pci:v00008086d00002658sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (XB1) + + pci:v00008086d00002659* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 + + pci:v00008086d00002659sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Dimension 8400) + + pci:v00008086d00002659sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Optiplex GX280) + + pci:v00008086d00002659sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Compaq nw8240/nx8220) + + pci:v00008086d00002659sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (NX6110/NC6120) + + pci:v00008086d00002659sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (P5GD1-VW Mainboard) + + pci:v00008086d00002659sv00001458sd00002659* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (GA-8I915ME-G Mainboard) + + pci:v00008086d00002659sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (915P/G Neo2) + + pci:v00008086d00002659sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Scenic W620) + + pci:v00008086d00002659sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CCD-CALYPSO) + + pci:v00008086d00002659sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CD3-JIVE) + + pci:v00008086d00002659sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (XB1) + + pci:v00008086d0000265A* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 + + pci:v00008086d0000265Asv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Dimension 8400) + + pci:v00008086d0000265Asv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Optiplex GX280) + + pci:v00008086d0000265Asv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Compaq nw8240/nx8220) + + pci:v00008086d0000265Asv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (NX6110/NC6120) + + pci:v00008086d0000265Asv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (P5GD1-VW Mainboard) + + pci:v00008086d0000265Asv00001458sd0000265A* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (GA-8I915ME-G Mainboard) + + pci:v00008086d0000265Asv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (915P/G Neo2) + + pci:v00008086d0000265Asv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Scenic W620) + + pci:v00008086d0000265Asv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CCD-CALYPSO) + + pci:v00008086d0000265Asv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CD3-JIVE) + + pci:v00008086d0000265Asv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (XB1) + + pci:v00008086d0000265B* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 + + pci:v00008086d0000265Bsv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Dimension 8400) + + pci:v00008086d0000265Bsv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Optiplex GX280) + + pci:v00008086d0000265Bsv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (NX6110/NC6120) + + pci:v00008086d0000265Bsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (P5GD1-VW Mainboard) + + pci:v00008086d0000265Bsv00001458sd0000265A* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (GA-8I915ME-G Mainboard) + + pci:v00008086d0000265Bsv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (915P/G Neo2) + + pci:v00008086d0000265Bsv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Scenic W620) + + pci:v00008086d0000265Bsv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CCD-CALYPSO) + + pci:v00008086d0000265Bsv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CD3-JIVE) + + pci:v00008086d0000265Bsv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (XB1) + + pci:v00008086d0000265C* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller + + pci:v00008086d0000265Csv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 8400) + + pci:v00008086d0000265Csv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Optiplex GX280) + + pci:v00008086d0000265Csv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000265Csv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (NX6110/NC6120) + + pci:v00008086d0000265Csv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (P5GD1-VW Mainboard) + + pci:v00008086d0000265Csv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000265Csv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (915P/G Neo2) + + pci:v00008086d0000265Csv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Scenic W620) + + pci:v00008086d0000265Csv00008086sd0000265C* +- ID_MODEL_FROM_DATABASE=Dimension 3100 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 3100) + + pci:v00008086d0000265Csv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CCD-CALYPSO) + + pci:v00008086d0000265Csv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CD3-JIVE) + + pci:v00008086d0000265Csv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (XB1) + + pci:v00008086d00002660* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 + + pci:v00008086d00002660sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002660sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (NX6110/NC6120) + + pci:v00008086d00002660sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CCD-CALYPSO) + + pci:v00008086d00002660sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CD3-JIVE) + + pci:v00008086d00002660sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (XB1) + + pci:v00008086d00002662* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 + + pci:v00008086d00002662sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002662sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CCD-CALYPSO) + + pci:v00008086d00002662sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CD3-JIVE) + + pci:v00008086d00002662sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (XB1) + + pci:v00008086d00002664* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 + + pci:v00008086d00002664sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CCD-CALYPSO) + + pci:v00008086d00002664sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CD3-JIVE) + + pci:v00008086d00002664sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (XB1) + + pci:v00008086d00002666* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 + + pci:v00008086d00002666sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CCD-CALYPSO) + + pci:v00008086d00002666sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CD3-JIVE) + + pci:v00008086d00002666sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (XB1) + + pci:v00008086d00002668* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller + + pci:v00008086d00002668sv00001014sd000005B7* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (ThinkPad Z60t) + + pci:v00008086d00002668sv0000103Csd00002A09* +- ID_MODEL_FROM_DATABASE=PufferM-UL8E ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (PufferM-UL8E) + + pci:v00008086d00002668sv00001043sd00001173* +- ID_MODEL_FROM_DATABASE=Asus A6VC ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (Asus A6VC) + + pci:v00008086d00002668sv00001043sd0000814E* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002668sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (915P/G Neo2) + + pci:v00008086d00002668sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) + + pci:v00008086d0000266A* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller + + pci:v00008086d0000266Asv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Dimension 8400) + + pci:v00008086d0000266Asv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Optiplex GX280) + + pci:v00008086d0000266Asv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (P5GD1-VW Mainboard) + + pci:v00008086d0000266Asv00001458sd0000266A* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000266Asv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (915P/G Neo2) + + pci:v00008086d0000266Asv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Scenic W620) + + pci:v00008086d0000266Asv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CCD-CALYPSO) + + pci:v00008086d0000266Asv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CD3-JIVE) + + pci:v00008086d0000266Asv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (XB1) + + pci:v00008086d0000266C* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller +@@ -63768,103 +63768,103 @@ pci:v00008086d0000266D* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller + + pci:v00008086d0000266Dsv00001025sd0000006A* +- ID_MODEL_FROM_DATABASE=Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)) + + pci:v00008086d0000266Dsv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000266Dsv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (NX6110/NC6120) + + pci:v00008086d0000266E* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller + + pci:v00008086d0000266Esv00001025sd0000006A* +- ID_MODEL_FROM_DATABASE=Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)) + + pci:v00008086d0000266Esv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dimension 8400) + + pci:v00008086d0000266Esv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Optiplex GX280) + + pci:v00008086d0000266Esv00001028sd00000182* +- ID_MODEL_FROM_DATABASE=Latitude D610 Laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Latitude D610 Laptop) + + pci:v00008086d0000266Esv00001028sd00000187* +- ID_MODEL_FROM_DATABASE=Dell Precision M70 Laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dell Precision M70 Laptop) + + pci:v00008086d0000266Esv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Inspiron 6000 laptop) + + pci:v00008086d0000266Esv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000266Esv0000103Csd00000944* +- ID_MODEL_FROM_DATABASE=Compaq NC6220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq NC6220) + + pci:v00008086d0000266Esv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (NX6110/NC6120) + + pci:v00008086d0000266Esv0000103Csd00003006* +- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (DC7100 SFF(DX878AV)) + + pci:v00008086d0000266Esv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000266Esv0000152Dsd00000745* +- ID_MODEL_FROM_DATABASE=Packard Bell A8550 Laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Packard Bell A8550 Laptop) + + pci:v00008086d0000266Esv00001734sd0000105A* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Scenic W620) + + pci:v00008086d0000266F* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller + + pci:v00008086d0000266Fsv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Dimension 8400) + + pci:v00008086d0000266Fsv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000266Fsv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (NX6110/NC6120) + + pci:v00008086d0000266Fsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (P5GD1-VW Mainboard) + + pci:v00008086d0000266Fsv00001458sd0000266F* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000266Fsv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (915P/G Neo2) + + pci:v00008086d0000266Fsv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Scenic W620) + + pci:v00008086d0000266Fsv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CCD-CALYPSO) + + pci:v00008086d0000266Fsv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CD3-JIVE) + + pci:v00008086d0000266Fsv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (XB1) + + pci:v00008086d00002670* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller + + pci:v00008086d00002670sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (ProLiant DL140 G3) + + pci:v00008086d00002670sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DVL-E-O motherboard) + + pci:v00008086d00002670sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DBN Motherboard) + + pci:v00008086d00002670sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002680* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller +@@ -63873,22 +63873,22 @@ pci:v00008086d00002681* + ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller + + pci:v00008086d00002681sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (ProLiant DL140 G3) + + pci:v00008086d00002681sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DVL-E-O motherboard) + + pci:v00008086d00002681sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DBN Motherboard) + + pci:v00008086d00002681sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002682* + ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller + + pci:v00008086d00002682sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=Adaptec Serial ATA HostRAID ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller (Adaptec Serial ATA HostRAID) + + pci:v00008086d00002683* + ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller +@@ -63897,109 +63897,109 @@ pci:v00008086d00002688* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 + + pci:v00008086d00002688sv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge 1955 onboard USB) + + pci:v00008086d00002688sv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge R900 onboard USB) + + pci:v00008086d00002688sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (ProLiant DL140 G3) + + pci:v00008086d00002688sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DVL-E-O motherboard) + + pci:v00008086d00002688sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DBN Motherboard) + + pci:v00008086d00002688sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002689* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 + + pci:v00008086d00002689sv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge 1955 onboard USB) + + pci:v00008086d00002689sv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge R900 onboard USB) + + pci:v00008086d00002689sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (ProLiant DL140 G3) + + pci:v00008086d00002689sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DVL-E-O motherboard) + + pci:v00008086d00002689sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DBN Motherboard) + + pci:v00008086d00002689sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000268A* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 + + pci:v00008086d0000268Asv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (PowerEdge R900 onboard USB) + + pci:v00008086d0000268Asv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (ProLiant DL140 G3) + + pci:v00008086d0000268Asv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DVL-E-O motherboard) + + pci:v00008086d0000268Asv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DBN Motherboard) + + pci:v00008086d0000268Asv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000268B* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 + + pci:v00008086d0000268Bsv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (PowerEdge R900 onboard USB) + + pci:v00008086d0000268Bsv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (X7DVL-E-O motherboard) + + pci:v00008086d0000268Bsv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000268C* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller + + pci:v00008086d0000268Csv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge 1955 onboard USB) + + pci:v00008086d0000268Csv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge R900 onboard USB) + + pci:v00008086d0000268Csv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (ProLiant DL140 G3) + + pci:v00008086d0000268Csv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DVL-E-O motherboard) + + pci:v00008086d0000268Csv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DBN Motherboard) + + pci:v00008086d0000268Csv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002690* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 + + pci:v00008086d00002690sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (ProLiant DL140 G3) + + pci:v00008086d00002690sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (X7DBN Motherboard) + + pci:v00008086d00002692* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 + + pci:v00008086d00002692sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 (ProLiant DL140 G3) + + pci:v00008086d00002694* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 3 +@@ -64020,49 +64020,49 @@ pci:v00008086d0000269B* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller + + pci:v00008086d0000269Bsv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (ProLiant DL140 G3) + + pci:v00008086d0000269Bsv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DVL-E-O motherboard) + + pci:v00008086d0000269Bsv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DBN Motherboard) + + pci:v00008086d0000269Bsv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000269E* + ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller + + pci:v00008086d0000269Esv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (ProLiant DL140 G3) + + pci:v00008086d0000269Esv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DVL-E-O motherboard) + + pci:v00008086d0000269Esv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DBN Motherboard) + + pci:v00008086d00002770* + ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub + + pci:v00008086d00002770sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (OptiPlex GX620) + + pci:v00008086d00002770sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Pavilion A1512X) + + pci:v00008086d00002770sv00001043sd0000817A* +- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (P5LD2-VM Mainboard) + + pci:v00008086d00002770sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (E4500) + + pci:v00008086d00002770sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Wind PC MS-7418) + + pci:v00008086d00002770sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (DeskTop Board D945GTP) + + pci:v00008086d00002771* + ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL PCI Express Root Port +@@ -64071,16 +64071,16 @@ pci:v00008086d00002772* + ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller + + pci:v00008086d00002772sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Pavilion A1512X) + + pci:v00008086d00002772sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Wind PC MS-7418) + + pci:v00008086d00002772sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (DeskTop Board D945GTP) + + pci:v00008086d00002772sv00008086sd0000D605* +- ID_MODEL_FROM_DATABASE=Intel Desktop Board D945GCCR ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Intel Desktop Board D945GCCR) + + pci:v00008086d00002774* + ID_MODEL_FROM_DATABASE=82955X Memory Controller Hub +@@ -64095,10 +64095,10 @@ pci:v00008086d00002778* + ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub + + pci:v00008086d00002778sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge SC440) + + pci:v00008086d00002778sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge 860) + + pci:v00008086d00002779* + ID_MODEL_FROM_DATABASE=E7230/3000/3010 PCI Express Root Port +@@ -64110,7 +64110,7 @@ pci:v00008086d0000277C* + ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub + + pci:v00008086d0000277Csv00001043sd00008178* +- ID_MODEL_FROM_DATABASE=P5WDG2 WS Professional motherboard ++ ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub (P5WDG2 WS Professional motherboard) + + pci:v00008086d0000277D* + ID_MODEL_FROM_DATABASE=82975X PCI Express Root Port +@@ -64119,94 +64119,94 @@ pci:v00008086d00002782* + ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller + + pci:v00008086d00002782sv00001043sd00002582* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002782sv00001734sd0000105B* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (Scenic W620) + + pci:v00008086d00002792* + ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller + + pci:v00008086d00002792sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) + + pci:v00008086d00002792sv00001043sd00001881* +- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) + + pci:v00008086d00002792sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) + + pci:v00008086d00002792sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) + + pci:v00008086d00002792sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) + + pci:v00008086d000027A0* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub + + pci:v00008086d000027A0sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (9814 WKMI) + + pci:v00008086d000027A0sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (XPS M1210) + + pci:v00008086d000027A0sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nx9420 Notebook) + + pci:v00008086d000027A0sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (NC2400) + + pci:v00008086d000027A0sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nw8440) + + pci:v00008086d000027A0sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) + + pci:v00008086d000027A0sv000017AAsd00002015* +- ID_MODEL_FROM_DATABASE=ThinkPad T60 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) + + pci:v00008086d000027A0sv000017AAsd00002017* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027A1* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port + + pci:v00008086d000027A1sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nx9420 Notebook) + + pci:v00008086d000027A1sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) + + pci:v00008086d000027A2* + ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller + + pci:v00008086d000027A2sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (NC2400) + + pci:v00008086d000027A2sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027A2sv00009902sd00001584* +- ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (CCE MPL-D10H120F) + + pci:v00008086d000027A6* + ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller + + pci:v00008086d000027A6sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (NC2400) + + pci:v00008086d000027A6sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (CC11/CL11 integrated graphics (secondary)) + + pci:v00008086d000027A6sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027AC* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub + + pci:v00008086d000027ACsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub (CC11/CL11) + + pci:v00008086d000027AD* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express PCI Express Root Port +@@ -64215,178 +64215,178 @@ pci:v00008086d000027AE* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller + + pci:v00008086d000027AEsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (primary) ++ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller (CC11/CL11 integrated graphics (primary)) + + pci:v00008086d000027B0* + ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge + + pci:v00008086d000027B0sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (Pavilion A1512X) + + pci:v00008086d000027B0sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (DeskTop Board D945GTP) + + pci:v00008086d000027B8* + ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge + + pci:v00008086d000027B8sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (PowerEdge 860) + + pci:v00008086d000027B8sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (P5KPL-VM Motherboard) + + pci:v00008086d000027B8sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (E4500) + + pci:v00008086d000027B8sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (Wind PC MS-7418) + + pci:v00008086d000027B8sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (CC11/CL11) + + pci:v00008086d000027B8sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (DeskTop Board D945GTP) + + pci:v00008086d000027B9* + ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge + + pci:v00008086d000027B9sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (XPS M1210) + + pci:v00008086d000027B9sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nx9420 Notebook) + + pci:v00008086d000027B9sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (NC2400) + + pci:v00008086d000027B9sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) + + pci:v00008086d000027B9sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) + + pci:v00008086d000027B9sv000017AAsd00002009* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027BC* + ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller + + pci:v00008086d000027BCsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (D270S/D250S Motherboard) + + pci:v00008086d000027BCsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Notebook N150P) + + pci:v00008086d000027BCsv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (GA-D525TUD) + + pci:v00008086d000027BCsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (DeskTop Board D510MO) + + pci:v00008086d000027BCsv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Desktop Board D425KT) + + pci:v00008086d000027BD* + ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge + + pci:v00008086d000027BDsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge (9814 WKMI) + + pci:v00008086d000027C0* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] + + pci:v00008086d000027C0sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (OptiPlex GX620) + + pci:v00008086d000027C0sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge SC440) + + pci:v00008086d000027C0sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge 860) + + pci:v00008086d000027C0sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (P5KPL-VM Motherboard) + + pci:v00008086d000027C0sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (E4500) + + pci:v00008086d000027C0sv00001462sd00002310* +- ID_MODEL_FROM_DATABASE=MSI Hetis 945 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (MSI Hetis 945) + + pci:v00008086d000027C0sv00001462sd00007236* +- ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (945P Neo3-F Rev. 2.2 motherboard) + + pci:v00008086d000027C0sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Wind PC MS-7418) + + pci:v00008086d000027C0sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (CC11/CL11) + + pci:v00008086d000027C0sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Desktop Board D425KT) + + pci:v00008086d000027C0sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (DeskTop Board D945GTP) + + pci:v00008086d000027C1* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] + + pci:v00008086d000027C1sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (PowerEdge SC440) + + pci:v00008086d000027C1sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Pavilion A1512X) + + pci:v00008086d000027C1sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (D270S/D250S Motherboard) + + pci:v00008086d000027C1sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Notebook N150P) + + pci:v00008086d000027C1sv00001458sd0000B005* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (GA-D525TUD) + + pci:v00008086d000027C1sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (CC11/CL11) + + pci:v00008086d000027C1sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D510MO) + + pci:v00008086d000027C1sv00008086sd00005842* +- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D975XBX) + + pci:v00008086d000027C3* + ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] + + pci:v00008086d000027C3sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (CC11/CL11) + + pci:v00008086d000027C3sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (DeskTop Board D945GTP) + + pci:v00008086d000027C4* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] + + pci:v00008086d000027C4sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (9814 WKMI) + + pci:v00008086d000027C4sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) + + pci:v00008086d000027C4sv000017AAsd0000200E* +- ID_MODEL_FROM_DATABASE=ThinkPad T60 ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) + + pci:v00008086d000027C5* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] + + pci:v00008086d000027C5sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nx9420 Notebook) + + pci:v00008086d000027C5sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nw8440) + + pci:v00008086d000027C5sv000017AAsd0000200D* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027C6* + ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] +@@ -64395,553 +64395,553 @@ pci:v00008086d000027C8* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 + + pci:v00008086d000027C8sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (9814 WKMI) + + pci:v00008086d000027C8sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (OptiPlex GX620) + + pci:v00008086d000027C8sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (XPS M1210) + + pci:v00008086d000027C8sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge SC440) + + pci:v00008086d000027C8sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge 860) + + pci:v00008086d000027C8sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Pavilion A1512X) + + pci:v00008086d000027C8sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nx9420 Notebook) + + pci:v00008086d000027C8sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (NC2400) + + pci:v00008086d000027C8sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nw8440) + + pci:v00008086d000027C8sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (A6J-Q008) + + pci:v00008086d000027C8sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027C8sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) + + pci:v00008086d000027C8sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) + + pci:v00008086d000027C8sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Notebook N150P) + + pci:v00008086d000027C8sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (GA-D525TUD) + + pci:v00008086d000027C8sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Wind PC MS-7418) + + pci:v00008086d000027C8sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (CC11/CL11) + + pci:v00008086d000027C8sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027C8sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D510MO) + + pci:v00008086d000027C8sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Desktop Board D425KT) + + pci:v00008086d000027C8sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D945GTP) + + pci:v00008086d000027C9* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 + + pci:v00008086d000027C9sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (9814 WKMI) + + pci:v00008086d000027C9sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (OptiPlex GX620) + + pci:v00008086d000027C9sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (XPS M1210) + + pci:v00008086d000027C9sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge SC440) + + pci:v00008086d000027C9sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge 860) + + pci:v00008086d000027C9sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Pavilion A1512X) + + pci:v00008086d000027C9sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nx9420 Notebook) + + pci:v00008086d000027C9sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (NC2400) + + pci:v00008086d000027C9sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nw8440) + + pci:v00008086d000027C9sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (A6J-Q008) + + pci:v00008086d000027C9sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027C9sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) + + pci:v00008086d000027C9sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) + + pci:v00008086d000027C9sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Notebook N150P) + + pci:v00008086d000027C9sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (GA-D525TUD) + + pci:v00008086d000027C9sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Wind PC MS-7418) + + pci:v00008086d000027C9sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (CC11/CL11) + + pci:v00008086d000027C9sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027C9sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D510MO) + + pci:v00008086d000027C9sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Desktop Board D425KT) + + pci:v00008086d000027C9sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D945GTP) + + pci:v00008086d000027CA* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 + + pci:v00008086d000027CAsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (9814 WKMI) + + pci:v00008086d000027CAsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (OptiPlex GX620) + + pci:v00008086d000027CAsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (XPS M1210) + + pci:v00008086d000027CAsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge SC440) + + pci:v00008086d000027CAsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge 860) + + pci:v00008086d000027CAsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Pavilion A1512X) + + pci:v00008086d000027CAsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nx9420 Notebook) + + pci:v00008086d000027CAsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (NC2400) + + pci:v00008086d000027CAsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nw8440) + + pci:v00008086d000027CAsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (A6J-Q008) + + pci:v00008086d000027CAsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027CAsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) + + pci:v00008086d000027CAsv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) + + pci:v00008086d000027CAsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Notebook N150P) + + pci:v00008086d000027CAsv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (GA-D525TUD) + + pci:v00008086d000027CAsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Wind PC MS-7418) + + pci:v00008086d000027CAsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (CC11/CL11) + + pci:v00008086d000027CAsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027CAsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D510MO) + + pci:v00008086d000027CAsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D945GTP) + + pci:v00008086d000027CB* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 + + pci:v00008086d000027CBsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (9814 WKMI) + + pci:v00008086d000027CBsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (OptiPlex GX620) + + pci:v00008086d000027CBsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (XPS M1210) + + pci:v00008086d000027CBsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (PowerEdge SC440) + + pci:v00008086d000027CBsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Pavilion A1512X) + + pci:v00008086d000027CBsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nx9420 Notebook) + + pci:v00008086d000027CBsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (NC2400) + + pci:v00008086d000027CBsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nw8440) + + pci:v00008086d000027CBsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (A6J-Q008) + + pci:v00008086d000027CBsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027CBsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) + + pci:v00008086d000027CBsv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) + + pci:v00008086d000027CBsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Notebook N150P) + + pci:v00008086d000027CBsv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (GA-D525TUD) + + pci:v00008086d000027CBsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Wind PC MS-7418) + + pci:v00008086d000027CBsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (CC11/CL11) + + pci:v00008086d000027CBsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027CBsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D510MO) + + pci:v00008086d000027CBsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D945GTP) + + pci:v00008086d000027CC* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller + + pci:v00008086d000027CCsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (9814 WKMI) + + pci:v00008086d000027CCsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (OptiPlex GX620) + + pci:v00008086d000027CCsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (XPS M1210) + + pci:v00008086d000027CCsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge SC440) + + pci:v00008086d000027CCsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge 860) + + pci:v00008086d000027CCsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Pavilion A1512X) + + pci:v00008086d000027CCsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nx9420 Notebook) + + pci:v00008086d000027CCsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (NC2400) + + pci:v00008086d000027CCsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nw8440) + + pci:v00008086d000027CCsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (A6J-Q008) + + pci:v00008086d000027CCsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027CCsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) + + pci:v00008086d000027CCsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) + + pci:v00008086d000027CCsv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (GA-D525TUD) + + pci:v00008086d000027CCsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Wind PC MS-7418) + + pci:v00008086d000027CCsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (CC11/CL11) + + pci:v00008086d000027CCsv000017AAsd0000200B* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027CCsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D510MO) + + pci:v00008086d000027CCsv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Desktop Board D425KT) + + pci:v00008086d000027CCsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D945GTP) + + pci:v00008086d000027D0* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 + + pci:v00008086d000027D0sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nx9420 Notebook) + + pci:v00008086d000027D0sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) + + pci:v00008086d000027D0sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) + + pci:v00008086d000027D0sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (GA-D525TUD) + + pci:v00008086d000027D0sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Wind PC MS-7418) + + pci:v00008086d000027D0sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (CC11/CL11) + + pci:v00008086d000027D0sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Desktop Board D425KT) + + pci:v00008086d000027D2* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 + + pci:v00008086d000027D2sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nx9420 Notebook) + + pci:v00008086d000027D2sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) + + pci:v00008086d000027D2sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) + + pci:v00008086d000027D2sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Wind PC MS-7418) + + pci:v00008086d000027D2sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (CC11/CL11) + + pci:v00008086d000027D2sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Desktop Board D425KT) + + pci:v00008086d000027D4* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 + + pci:v00008086d000027D4sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) + + pci:v00008086d000027D4sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Wind PC MS-7418) + + pci:v00008086d000027D4sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (CC11/CL11) + + pci:v00008086d000027D4sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Desktop Board D425KT) + + pci:v00008086d000027D6* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 + + pci:v00008086d000027D6sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) + + pci:v00008086d000027D6sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) + + pci:v00008086d000027D6sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Wind PC MS-7418) + + pci:v00008086d000027D6sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (CC11/CL11) + + pci:v00008086d000027D6sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Desktop Board D425KT) + + pci:v00008086d000027D8* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller + + pci:v00008086d000027D8sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (9814 WKMI) + + pci:v00008086d000027D8sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (XPS M1210) + + pci:v00008086d000027D8sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Pavilion A1512X) + + pci:v00008086d000027D8sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nx9420 Notebook) + + pci:v00008086d000027D8sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (NC2400) + + pci:v00008086d000027D8sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nw8440) + + pci:v00008086d000027D8sv00001043sd00001123* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (A6J-Q008) + + pci:v00008086d000027D8sv00001043sd000013C4* +- ID_MODEL_FROM_DATABASE=Asus G2P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus G2P) + + pci:v00008086d000027D8sv00001043sd0000817F* +- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard (Realtek ALC 882 codec) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5LD2-VM Mainboard (Realtek ALC 882 codec)) + + pci:v00008086d000027D8sv00001043sd00008290* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-VM Motherboard) + + pci:v00008086d000027D8sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-CM Motherboard) + + pci:v00008086d000027D8sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) + + pci:v00008086d000027D8sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) + + pci:v00008086d000027D8sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Panasonic CF-Y5 laptop) + + pci:v00008086d000027D8sv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=Toshiba Satellite A100-796 audio (Realtek ALC861) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Toshiba Satellite A100-796 audio (Realtek ALC861)) + + pci:v00008086d000027D8sv00001179sd0000FF31* +- ID_MODEL_FROM_DATABASE=AC97 Data Fax SoftModem with SmartCP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (AC97 Data Fax SoftModem with SmartCP) + + pci:v00008086d000027D8sv00001447sd00001043* +- ID_MODEL_FROM_DATABASE=Asus A8JP (Analog Devices AD1986A) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus A8JP (Analog Devices AD1986A)) + + pci:v00008086d000027D8sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Notebook N150P) + + pci:v00008086d000027D8sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-D525TUD (Realtek ALC887) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-D525TUD (Realtek ALC887)) + + pci:v00008086d000027D8sv00001458sd0000A102* +- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-8I945PG-RH Mainboard) + + pci:v00008086d000027D8sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Wind PC MS-7418) + + pci:v00008086d000027D8sv0000152Dsd00000753* +- ID_MODEL_FROM_DATABASE=Softmodem ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Softmodem) + + pci:v00008086d000027D8sv00001734sd000010AD* +- ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Conexant softmodem SmartCP) + + pci:v00008086d000027D8sv000017AAsd00002010* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027D8sv000017AAsd00003802* +- ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Lenovo 3000 C200 audio [Realtek ALC861VD]) + + pci:v00008086d000027D8sv00008086sd00001112* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) + + pci:v00008086d000027D8sv00008086sd000027D8* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) + + pci:v00008086d000027D8sv00008086sd0000D618* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D510MO) + + pci:v00008086d000027D8sv00008384sd00007680* +- ID_MODEL_FROM_DATABASE=STAC9221 HD Audio Codec ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (STAC9221 HD Audio Codec) + + pci:v00008086d000027DA* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller + + pci:v00008086d000027DAsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (9814 WKMI) + + pci:v00008086d000027DAsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (OptiPlex GX620) + + pci:v00008086d000027DAsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (XPS M1210) + + pci:v00008086d000027DAsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge SC440) + + pci:v00008086d000027DAsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge 860) + + pci:v00008086d000027DAsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Pavilion A1512X) + + pci:v00008086d000027DAsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (P5KPL-VM Motherboard) + + pci:v00008086d000027DAsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) + + pci:v00008086d000027DAsv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) + + pci:v00008086d000027DAsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Notebook N150P) + + pci:v00008086d000027DAsv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (GA-8I945PG-RH/GA-D525TUD Mainboard) + + pci:v00008086d000027DAsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Wind PC MS-7418) + + pci:v00008086d000027DAsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (CC11/CL11) + + pci:v00008086d000027DAsv000017AAsd0000200F* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027DAsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D510MO) + + pci:v00008086d000027DAsv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Desktop Board D425KT) + + pci:v00008086d000027DAsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D945GTP) + + pci:v00008086d000027DAsv00008086sd00005842* +- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D975XBX) + + pci:v00008086d000027DC* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller + + pci:v00008086d000027DCsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (Pavilion A1512X) + + pci:v00008086d000027DCsv00008086sd0000308D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (DeskTop Board D945GTP) + + pci:v00008086d000027DD* + ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Modem Controller +@@ -64950,88 +64950,88 @@ pci:v00008086d000027DE* + ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller + + pci:v00008086d000027DEsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (OptiPlex GX620) + + pci:v00008086d000027DEsv00001462sd00007267* +- ID_MODEL_FROM_DATABASE=Realtek ALC883 Audio Controller ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (Realtek ALC883 Audio Controller) + + pci:v00008086d000027DEsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11 integrated audio (AD1981BL codec) ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (CC11 integrated audio (AD1981BL codec)) + + pci:v00008086d000027DF* + ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller + + pci:v00008086d000027DFsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge SC440) + + pci:v00008086d000027DFsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge 860) + + pci:v00008086d000027DFsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Pavilion A1512X) + + pci:v00008086d000027DFsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nx9420 Notebook) + + pci:v00008086d000027DFsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (NC2400) + + pci:v00008086d000027DFsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nw8440) + + pci:v00008086d000027DFsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (A6J-Q008) + + pci:v00008086d000027DFsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (P5KPL-VM Motherboard) + + pci:v00008086d000027DFsv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (E4500) + + pci:v00008086d000027DFsv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Panasonic CF-Y5 laptop) + + pci:v00008086d000027DFsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Wind PC MS-7418) + + pci:v00008086d000027DFsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (CC11/CL11) + + pci:v00008086d000027DFsv000017AAsd0000200C* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027DFsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (DeskTop Board D945GTP) + + pci:v00008086d000027E0* + ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 + + pci:v00008086d000027E0sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (CC11/CL11) + + pci:v00008086d000027E2* + ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 + + pci:v00008086d000027E2sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (CC11/CL11) + + pci:v00008086d00002810* + ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller + + pci:v00008086d00002810sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller (P5B) + + pci:v00008086d00002811* + ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller + + pci:v00008086d00002811sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (Compaq 6910p) + + pci:v00008086d00002811sv000017AAsd000020B6* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (ThinkPad T61/R61) + + pci:v00008086d00002811sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (CCG-RUMBA) + + pci:v00008086d00002812* + ID_MODEL_FROM_DATABASE=82801HH (ICH8DH) LPC Interface Controller +@@ -65043,34 +65043,34 @@ pci:v00008086d00002815* + ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller + + pci:v00008086d00002815sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Aspire 5920G) + + pci:v00008086d00002815sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Inspiron 1420) + + pci:v00008086d00002815sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Compaq 6710b) + + pci:v00008086d00002815sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Pavilion dv6700) + + pci:v00008086d00002815sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Presario C700) + + pci:v00008086d00002815sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Vaio VGN-FZ260E) + + pci:v00008086d00002815sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) + + pci:v00008086d00002820* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] + + pci:v00008086d00002820sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (OptiPlex 745) + + pci:v00008086d00002820sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002821* + ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode] +@@ -65079,10 +65079,10 @@ pci:v00008086d00002822* + ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] + + pci:v00008086d00002822sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Inspiron 530) + + pci:v00008086d00002822sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002823* + ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller +@@ -65091,16 +65091,16 @@ pci:v00008086d00002824* + ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] + + pci:v00008086d00002824sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] (P5B) + + pci:v00008086d00002825* + ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] + + pci:v00008086d00002825sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (OptiPlex 745) + + pci:v00008086d00002825sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002826* + ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller +@@ -65112,424 +65112,424 @@ pci:v00008086d00002828* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] + + pci:v00008086d00002828sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Inspiron 1420) + + pci:v00008086d00002828sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Compaq 6710b) + + pci:v00008086d00002828sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (CCG-RUMBA) + + pci:v00008086d00002829* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] + + pci:v00008086d00002829sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Aspire 5920G) + + pci:v00008086d00002829sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6710b) + + pci:v00008086d00002829sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6910p) + + pci:v00008086d00002829sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Pavilion dv6700) + + pci:v00008086d00002829sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Presario C700) + + pci:v00008086d00002829sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Vaio VGN-FZ260E) + + pci:v00008086d00002829sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (VAIO VGN-NR120E) + + pci:v00008086d00002829sv000017AAsd000020A7* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) + + pci:v00008086d00002829sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) + + pci:v00008086d0000282A* + ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] + + pci:v00008086d0000282Asv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (Latitude E6510) + + pci:v00008086d0000282Asv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (PC1-GROOVE) + + pci:v00008086d00002830* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 + + pci:v00008086d00002830sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Acer Aspire 5920G) + + pci:v00008086d00002830sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (OptiPlex 745) + + pci:v00008086d00002830sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Inspiron 1420) + + pci:v00008086d00002830sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6710b) + + pci:v00008086d00002830sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6910p) + + pci:v00008086d00002830sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Pavilion dv6700) + + pci:v00008086d00002830sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Presario C700) + + pci:v00008086d00002830sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P5B) + + pci:v00008086d00002830sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Vaio VGN-FZ260E) + + pci:v00008086d00002830sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (VAIO VGN-NR120E) + + pci:v00008086d00002830sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002830sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) + + pci:v00008086d00002830sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) + + pci:v00008086d00002831* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 + + pci:v00008086d00002831sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Aspire 5920G) + + pci:v00008086d00002831sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (OptiPlex 745) + + pci:v00008086d00002831sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Inspiron 1420) + + pci:v00008086d00002831sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6710b) + + pci:v00008086d00002831sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6910p) + + pci:v00008086d00002831sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Pavilion dv6700) + + pci:v00008086d00002831sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Presario C700) + + pci:v00008086d00002831sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P5B) + + pci:v00008086d00002831sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Vaio VGN-FZ260E) + + pci:v00008086d00002831sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (VAIO VGN-NR120E) + + pci:v00008086d00002831sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002831sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) + + pci:v00008086d00002831sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) + + pci:v00008086d00002832* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 + + pci:v00008086d00002832sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Aspire 5920G) + + pci:v00008086d00002832sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (OptiPlex 745) + + pci:v00008086d00002832sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Inspiron 1420) + + pci:v00008086d00002832sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6710b) + + pci:v00008086d00002832sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6910p) + + pci:v00008086d00002832sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Pavilion dv6700) + + pci:v00008086d00002832sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Presario C700) + + pci:v00008086d00002832sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (P5B) + + pci:v00008086d00002832sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Vaio VGN-FZ260E) + + pci:v00008086d00002832sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (VAIO VGN-NR120E) + + pci:v00008086d00002832sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) + + pci:v00008086d00002832sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) + + pci:v00008086d00002833* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 + + pci:v00008086d00002833sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) + + pci:v00008086d00002834* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 + + pci:v00008086d00002834sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Aspire 5920G) + + pci:v00008086d00002834sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (OptiPlex 745) + + pci:v00008086d00002834sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Inspiron 1420) + + pci:v00008086d00002834sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6710b) + + pci:v00008086d00002834sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6910p) + + pci:v00008086d00002834sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Pavilion dv6700) + + pci:v00008086d00002834sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) + + pci:v00008086d00002834sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Vaio VGN-FZ260E) + + pci:v00008086d00002834sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (VAIO VGN-NR120E) + + pci:v00008086d00002834sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002834sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) + + pci:v00008086d00002834sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) + + pci:v00008086d00002835* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 + + pci:v00008086d00002835sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Acer Aspire 5920G) + + pci:v00008086d00002835sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (OptiPlex 745) + + pci:v00008086d00002835sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Inspiron 1420) + + pci:v00008086d00002835sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6710b) + + pci:v00008086d00002835sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6910p) + + pci:v00008086d00002835sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Pavilion dv6700) + + pci:v00008086d00002835sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (P5B) + + pci:v00008086d00002835sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Vaio VGN-FZ260E) + + pci:v00008086d00002835sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (VAIO VGN-NR120E) + + pci:v00008086d00002835sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=Thinkpad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) + + pci:v00008086d00002835sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) + + pci:v00008086d00002836* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 + + pci:v00008086d00002836sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Aspire 5920G) + + pci:v00008086d00002836sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (OptiPlex 745) + + pci:v00008086d00002836sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Inspiron 1420) + + pci:v00008086d00002836sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6710b) + + pci:v00008086d00002836sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6910p) + + pci:v00008086d00002836sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Pavilion dv6700) + + pci:v00008086d00002836sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Presario C700) + + pci:v00008086d00002836sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P5B) + + pci:v00008086d00002836sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Vaio VGN-FZ260E) + + pci:v00008086d00002836sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (VAIO VGN-NR120E) + + pci:v00008086d00002836sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002836sv000017AAsd000020AB* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) + + pci:v00008086d00002836sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) + + pci:v00008086d0000283A* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 + + pci:v00008086d0000283Asv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Acer Aspire 5920G) + + pci:v00008086d0000283Asv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (OptiPlex 745) + + pci:v00008086d0000283Asv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Inspiron 1420) + + pci:v00008086d0000283Asv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6710b) + + pci:v00008086d0000283Asv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6910p) + + pci:v00008086d0000283Asv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Pavilion dv6700) + + pci:v00008086d0000283Asv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (P5B) + + pci:v00008086d0000283Asv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Vaio VGN-FZ260E) + + pci:v00008086d0000283Asv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (VAIO VGN-NR120E) + + pci:v00008086d0000283Asv000017AAsd000020AB* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) + + pci:v00008086d0000283Asv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) + + pci:v00008086d0000283E* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller + + pci:v00008086d0000283Esv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Aspire 5920G) + + pci:v00008086d0000283Esv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (OptiPlex 745) + + pci:v00008086d0000283Esv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Inspiron 1420) + + pci:v00008086d0000283Esv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Presario C700) + + pci:v00008086d0000283Esv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P5B) + + pci:v00008086d0000283Esv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-FZ260E) + + pci:v00008086d0000283Esv0000104Dsd00009008* +- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-SZ79SN_C) + + pci:v00008086d0000283Esv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (VAIO VGN-NR120E) + + pci:v00008086d0000283Esv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P965 Neo MS-7235 mainboard) + + pci:v00008086d0000283Esv000017AAsd000020A9* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) + + pci:v00008086d0000283Esv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) + + pci:v00008086d0000283F* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 + + pci:v00008086d0000283Fsv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (OptiPlex 745) + + pci:v00008086d0000283Fsv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Compaq 6910p) + + pci:v00008086d0000283Fsv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (VAIO VGN-NR120E) + + pci:v00008086d0000283Fsv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) + + pci:v00008086d00002841* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 + + pci:v00008086d00002841sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Compaq 6910p) + + pci:v00008086d00002841sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (VAIO VGN-NR120E) + + pci:v00008086d00002841sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) + + pci:v00008086d00002843* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 + + pci:v00008086d00002843sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (VAIO VGN-NR120E) + + pci:v00008086d00002843sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) + + pci:v00008086d00002845* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 + + pci:v00008086d00002845sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) + + pci:v00008086d00002847* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 + + pci:v00008086d00002847sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (OptiPlex 745) + + pci:v00008086d00002847sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Compaq 6910p) + + pci:v00008086d00002847sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) + + pci:v00008086d00002849* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 +@@ -65538,70 +65538,70 @@ pci:v00008086d0000284B* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller + + pci:v00008086d0000284Bsv00001025sd0000011F* +- ID_MODEL_FROM_DATABASE=Realtek ALC268 audio codec ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC268 audio codec) + + pci:v00008086d0000284Bsv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Aspire 5920G) + + pci:v00008086d0000284Bsv00001025sd00000145* +- ID_MODEL_FROM_DATABASE=Realtek ALC889 (Aspire 8920G w. Dolby Theather) ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC889 (Aspire 8920G w. Dolby Theather)) + + pci:v00008086d0000284Bsv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (OptiPlex 745) + + pci:v00008086d0000284Bsv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Inspiron 1420) + + pci:v00008086d0000284Bsv00001028sd000001F9* +- ID_MODEL_FROM_DATABASE=Dell Latitude D630 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Latitude D630) + + pci:v00008086d0000284Bsv00001028sd000001FF* +- ID_MODEL_FROM_DATABASE=Dell Precision M4300 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Precision M4300) + + pci:v00008086d0000284Bsv00001028sd00000256* +- ID_MODEL_FROM_DATABASE=Studio 1735 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Studio 1735) + + pci:v00008086d0000284Bsv0000103Csd00002802* +- ID_MODEL_FROM_DATABASE=HP Compaq dc7700p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (HP Compaq dc7700p) + + pci:v00008086d0000284Bsv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6710b) + + pci:v00008086d0000284Bsv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6910p) + + pci:v00008086d0000284Bsv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Pavilion dv6700) + + pci:v00008086d0000284Bsv00001043sd00001339* +- ID_MODEL_FROM_DATABASE=Asus M51S series ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Asus M51S series) + + pci:v00008086d0000284Bsv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (P5B) + + pci:v00008086d0000284Bsv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-FZ260E) + + pci:v00008086d0000284Bsv0000104Dsd00009008* +- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-SZ79SN_C) + + pci:v00008086d0000284Bsv0000104Dsd00009016* +- ID_MODEL_FROM_DATABASE=Sony VAIO VGN-AR51M ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Sony VAIO VGN-AR51M) + + pci:v00008086d0000284Bsv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (VAIO VGN-NR120E) + + pci:v00008086d0000284Bsv000014F1sd00005051* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Presario C700) + + pci:v00008086d0000284Bsv000017AAsd000020AC* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) + + pci:v00008086d0000284Bsv00008384sd00007616* +- ID_MODEL_FROM_DATABASE=Dell Vostro 1400 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) + + pci:v00008086d0000284Bsv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (CCG-RUMBA) + + pci:v00008086d0000284F* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) Thermal Reporting Device +@@ -65610,34 +65610,34 @@ pci:v00008086d00002850* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller + + pci:v00008086d00002850sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Aspire 5920G) + + pci:v00008086d00002850sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Inspiron 1420) + + pci:v00008086d00002850sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6710b) + + pci:v00008086d00002850sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6910p) + + pci:v00008086d00002850sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Pavilion dv6700) + + pci:v00008086d00002850sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Presario C700) + + pci:v00008086d00002850sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Vaio VGN-FZ260E) + + pci:v00008086d00002850sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (VAIO VGN-NR120E) + + pci:v00008086d00002850sv000017AAsd000020A6* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) + + pci:v00008086d00002850sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) + + pci:v00008086d00002912* + ID_MODEL_FROM_DATABASE=82801IH (ICH9DH) LPC Interface Controller +@@ -65646,40 +65646,40 @@ pci:v00008086d00002914* + ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller + + pci:v00008086d00002914sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller (Optiplex 755) + + pci:v00008086d00002916* + ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller + + pci:v00008086d00002916sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Inspiron 530) + + pci:v00008086d00002916sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002916sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (P5K PRO Motherboard) + + pci:v00008086d00002916sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Desktop Board DP35DP) + + pci:v00008086d00002917* + ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller + + pci:v00008086d00002917sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller (CCM-BOOGIE) + + pci:v00008086d00002918* + ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller + + pci:v00008086d00002918sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 82801IB (ICH9) LPC Interface Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (PowerEdge R610 82801IB (ICH9) LPC Interface Controller) + + pci:v00008086d00002918sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (G33/P35 Neo) + + pci:v00008086d00002918sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (QEMU Virtual Machine) + + pci:v00008086d00002919* + ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller +@@ -65688,46 +65688,46 @@ pci:v00008086d00002920* + ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] + + pci:v00008086d00002920sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Inspiron 530) + + pci:v00008086d00002920sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) + + pci:v00008086d00002920sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) + + pci:v00008086d00002920sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Optiplex 755) + + pci:v00008086d00002920sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R200 onboard SATA Controller) + + pci:v00008086d00002920sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (P5K PRO Motherboard) + + pci:v00008086d00002921* + ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] + + pci:v00008086d00002921sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R710 SATA IDE Controller) + + pci:v00008086d00002921sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R610 SATA IDE Controller) + + pci:v00008086d00002921sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge T610 SATA IDE Controller) + + pci:v00008086d00002921sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (G33/P35 Neo) + + pci:v00008086d00002922* + ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] + + pci:v00008086d00002922sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (QEMU Virtual Machine) + + pci:v00008086d00002922sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (Desktop Board DP35DP) + + pci:v00008086d00002923* + ID_MODEL_FROM_DATABASE=82801IB (ICH9) 4 port SATA Controller [AHCI mode] +@@ -65736,31 +65736,31 @@ pci:v00008086d00002925* + ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] + + pci:v00008086d00002925sv00001734sd000010E0* +- ID_MODEL_FROM_DATABASE=System Board D2542 ++ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) + + pci:v00008086d00002925sv00008086sd00002925* +- ID_MODEL_FROM_DATABASE=System Board D2542 ++ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) + + pci:v00008086d00002926* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] + + pci:v00008086d00002926sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Inspiron 530) + + pci:v00008086d00002926sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) + + pci:v00008086d00002926sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) + + pci:v00008086d00002926sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Optiplex 755) + + pci:v00008086d00002926sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (P5K PRO Motherboard) + + pci:v00008086d00002926sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (G33/P35 Neo) + + pci:v00008086d00002928* + ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] +@@ -65769,10 +65769,10 @@ pci:v00008086d00002929* + ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] + + pci:v00008086d00002929sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (dv6-1190en) + + pci:v00008086d00002929sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (CCM-BOOGIE) + + pci:v00008086d0000292C* + ID_MODEL_FROM_DATABASE=82801IEM (ICH9M-E) SATA Controller [RAID mode] +@@ -65781,511 +65781,511 @@ pci:v00008086d0000292D* + ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] + + pci:v00008086d0000292Dsv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] (CCM-BOOGIE) + + pci:v00008086d00002930* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller + + pci:v00008086d00002930sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Inspiron 530) + + pci:v00008086d00002930sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Optiplex 755) + + pci:v00008086d00002930sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002930sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (dv6-1190en) + + pci:v00008086d00002930sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (P5K PRO Motherboard) + + pci:v00008086d00002930sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (G33/P35 Neo) + + pci:v00008086d00002930sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (QEMU Virtual Machine) + + pci:v00008086d00002930sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Desktop Board DP35DP) + + pci:v00008086d00002930sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (CCM-BOOGIE) + + pci:v00008086d00002932* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem + + pci:v00008086d00002932sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem (dv6-1190en) + + pci:v00008086d00002934* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 + + pci:v00008086d00002934sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Inspiron 530) + + pci:v00008086d00002934sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R300 onboard UHCI) + + pci:v00008086d00002934sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002934sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) + + pci:v00008086d00002934sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R200 onboard UHCI) + + pci:v00008086d00002934sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002934sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd00002011* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) + + pci:v00008086d00002934sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002934sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (P5K PRO Motherboard) + + pci:v00008086d00002934sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (G33/P35 Neo) + + pci:v00008086d00002934sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (QEMU Virtual Machine) + + pci:v00008086d00002934sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Desktop Board DP35DP) + + pci:v00008086d00002934sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (CCM-BOOGIE) + + pci:v00008086d00002935* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 + + pci:v00008086d00002935sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Inspiron 530) + + pci:v00008086d00002935sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R300 onboard UHCI) + + pci:v00008086d00002935sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002935sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Optiplex 755) + + pci:v00008086d00002935sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002935sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002935sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002935sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R200 onboard UHCI) + + pci:v00008086d00002935sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002935sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002935sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002935sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (P5K PRO Motherboard) + + pci:v00008086d00002935sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (G33/P35 Neo) + + pci:v00008086d00002935sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (QEMU Virtual Machine) + + pci:v00008086d00002935sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Desktop Board DP35DP) + + pci:v00008086d00002935sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (CCM-BOOGIE) + + pci:v00008086d00002936* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 + + pci:v00008086d00002936sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Inspiron 530) + + pci:v00008086d00002936sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R300 onboard UHCI) + + pci:v00008086d00002936sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002936sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Optiplex 755) + + pci:v00008086d00002936sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002936sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R200 onboard UHCI) + + pci:v00008086d00002936sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002936sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002936sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002936sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (P5K PRO Motherboard) + + pci:v00008086d00002936sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (G33/P35 Neo) + + pci:v00008086d00002936sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (QEMU Virtual Machine) + + pci:v00008086d00002936sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Desktop Board DP35DP) + + pci:v00008086d00002936sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (CCM-BOOGIE) + + pci:v00008086d00002937* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 + + pci:v00008086d00002937sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Inspiron 530) + + pci:v00008086d00002937sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) + + pci:v00008086d00002937sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002937sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00002011* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) + + pci:v00008086d00002937sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002937sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (P5K PRO Motherboard) + + pci:v00008086d00002937sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (G33/P35 Neo) + + pci:v00008086d00002937sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (QEMU Virtual Machine) + + pci:v00008086d00002937sv00008086sd00002937* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) + + pci:v00008086d00002937sv00008086sd00002942* +- ID_MODEL_FROM_DATABASE=828011 (ICH9 Family ) USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (828011 (ICH9 Family ) USB UHCI Controller) + + pci:v00008086d00002937sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Desktop Board DP35DP) + + pci:v00008086d00002937sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (CCM-BOOGIE) + + pci:v00008086d00002938* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 + + pci:v00008086d00002938sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Inspiron 530) + + pci:v00008086d00002938sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) + + pci:v00008086d00002938sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002938sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002938sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002938sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002938sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002938sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002938sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (P5K PRO Motherboard) + + pci:v00008086d00002938sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (G33/P35 Neo) + + pci:v00008086d00002938sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (QEMU Virtual Machine) + + pci:v00008086d00002938sv00008086sd00002938* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) + + pci:v00008086d00002938sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Desktop Board DP35DP) + + pci:v00008086d00002938sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (CCM-BOOGIE) + + pci:v00008086d00002939* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 + + pci:v00008086d00002939sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Inspiron 530) + + pci:v00008086d00002939sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002939sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002939sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002939sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (P5K PRO Motherboard) + + pci:v00008086d00002939sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (G33/P35 Neo) + + pci:v00008086d00002939sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (QEMU Virtual Machine) + + pci:v00008086d00002939sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Desktop Board DP35DP) + + pci:v00008086d00002939sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (CCM-BOOGIE) + + pci:v00008086d0000293A* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 + + pci:v00008086d0000293Asv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Inspiron 530) + + pci:v00008086d0000293Asv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R300 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T300 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Optiplex 755) + + pci:v00008086d0000293Asv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R710 USB EHCI Controller) + + pci:v00008086d0000293Asv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R610 USB EHCI Controller) + + pci:v00008086d0000293Asv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T610 USB EHCI Controller) + + pci:v00008086d0000293Asv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R200 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M610 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M710 USB EHCI Controller) + + pci:v00008086d0000293Asv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000293Asv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (P5K PRO Motherboard) + + pci:v00008086d0000293Asv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (G33/P35 Neo) + + pci:v00008086d0000293Asv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (QEMU Virtual Machine) + + pci:v00008086d0000293Asv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Desktop Board DP35DP) + + pci:v00008086d0000293Asv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (CCM-BOOGIE) + + pci:v00008086d0000293C* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 + + pci:v00008086d0000293Csv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Inspiron 530) + + pci:v00008086d0000293Csv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) + + pci:v00008086d0000293Csv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R710 USB EHCI Controller) + + pci:v00008086d0000293Csv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R610 USB EHCI Controller) + + pci:v00008086d0000293Csv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge T610 USB EHCI Controller) + + pci:v00008086d0000293Csv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M610 onboard EHCI) + + pci:v00008086d0000293Csv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M710 USB EHCI Controller) + + pci:v00008086d0000293Csv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000293Csv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (P5K PRO Motherboard) + + pci:v00008086d0000293Csv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (G33/P35 Neo) + + pci:v00008086d0000293Csv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (QEMU Virtual Machine) + + pci:v00008086d0000293Csv00008086sd0000293C* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) + + pci:v00008086d0000293Csv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Desktop Board DP35DP) + + pci:v00008086d0000293Csv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (CCM-BOOGIE) + + pci:v00008086d0000293E* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller + + pci:v00008086d0000293Esv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Inspiron 530) + + pci:v00008086d0000293Esv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) + + pci:v00008086d0000293Esv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000293Esv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (dv6-1190en) + + pci:v00008086d0000293Esv00001043sd0000829F* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (P5K PRO Motherboard) + + pci:v00008086d0000293Esv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (G33/P35 Neo) + + pci:v00008086d0000293Esv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (QEMU Virtual Machine) + + pci:v00008086d0000293Esv00008086sd0000293E* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) + + pci:v00008086d0000293Esv00008086sd00002940* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) + + pci:v00008086d0000293Esv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (CCM-BOOGIE) + + pci:v00008086d00002940* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 + + pci:v00008086d00002940sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Inspiron 530) + + pci:v00008086d00002940sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) + + pci:v00008086d00002940sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002940sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (P5K PRO Motherboard) + + pci:v00008086d00002940sv00008086sd00002940* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) + + pci:v00008086d00002942* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 + + pci:v00008086d00002942sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 (Inspiron 530) + + pci:v00008086d00002944* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 + + pci:v00008086d00002944sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Inspiron 530) + + pci:v00008086d00002944sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002946* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 + + pci:v00008086d00002946sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 (Inspiron 530) + + pci:v00008086d00002948* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 + + pci:v00008086d00002948sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (Inspiron 530) + + pci:v00008086d00002948sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (P5K PRO Motherboard) + + pci:v00008086d0000294A* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 + + pci:v00008086d0000294Asv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (Inspiron 530) + + pci:v00008086d0000294Asv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (P5K PRO Motherboard) + + pci:v00008086d0000294C* + ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection + + pci:v00008086d0000294Csv000017AAsd0000302E* +- ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection ++ ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection (82566DM-2 Gigabit Network Connection) + + pci:v00008086d00002970* + ID_MODEL_FROM_DATABASE=82946GZ/PL/GL Memory Controller Hub +@@ -66330,7 +66330,7 @@ pci:v00008086d00002990* + ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub + + pci:v00008086d00002990sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub (OptiPlex 745) + + pci:v00008086d00002991* + ID_MODEL_FROM_DATABASE=82Q963/Q965 PCI Express Root Port +@@ -66357,10 +66357,10 @@ pci:v00008086d000029A0* + ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub + + pci:v00008086d000029A0sv00001043sd000081EA* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (P5B) + + pci:v00008086d000029A0sv00001462sd00007276* +- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] ++ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (MS-7276 [G965MDH]) + + pci:v00008086d000029A1* + ID_MODEL_FROM_DATABASE=82P965/G965 PCI Express Root Port +@@ -66369,7 +66369,7 @@ pci:v00008086d000029A2* + ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller + + pci:v00008086d000029A2sv00001462sd00007276* +- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] ++ ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller (MS-7276 [G965MDH]) + + pci:v00008086d000029A3* + ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller +@@ -66390,31 +66390,31 @@ pci:v00008086d000029B0* + ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller + + pci:v00008086d000029B0sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller (OptiPlex 755) + + pci:v00008086d000029B1* + ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port + + pci:v00008086d000029B1sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port (OptiPlex 755) + + pci:v00008086d000029B2* + ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller + + pci:v00008086d000029B2sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) + + pci:v00008086d000029B3* + ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller + + pci:v00008086d000029B3sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) + + pci:v00008086d000029B4* + ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller + + pci:v00008086d000029B4sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller (OptiPlex 755) + + pci:v00008086d000029B5* + ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller +@@ -66423,70 +66423,70 @@ pci:v00008086d000029B6* + ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller + + pci:v00008086d000029B6sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller (OptiPlex 755) + + pci:v00008086d000029B7* + ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller + + pci:v00008086d000029B7sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller (OptiPlex 755) + + pci:v00008086d000029C0* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller + + pci:v00008086d000029C0sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Inspiron 530) + + pci:v00008086d000029C0sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d000029C0sv00001043sd00008276* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5K PRO Motherboard) + + pci:v00008086d000029C0sv00001043sd000082B0* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5KPL-VM Motherboard) + + pci:v00008086d000029C0sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (G33/P35 Neo) + + pci:v00008086d000029C0sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (QEMU Virtual Machine) + + pci:v00008086d000029C0sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Desktop Board DP35DP) + + pci:v00008086d000029C1* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port + + pci:v00008086d000029C1sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (Inspiron 530) + + pci:v00008086d000029C1sv00001043sd00008276* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (P5K PRO Motherboard) + + pci:v00008086d000029C2* + ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller + + pci:v00008086d000029C2sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) + + pci:v00008086d000029C2sv00001043sd000082B0* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) + + pci:v00008086d000029C3* + ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller + + pci:v00008086d000029C3sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) + + pci:v00008086d000029C3sv00001043sd000082B0* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) + + pci:v00008086d000029C4* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller + + pci:v00008086d000029C4sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller (Desktop Board DP35DP) + + pci:v00008086d000029C5* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller +@@ -66570,37 +66570,37 @@ pci:v00008086d00002A00* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub + + pci:v00008086d00002A00sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Acer Aspire 5920G) + + pci:v00008086d00002A00sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Inspiron 1420) + + pci:v00008086d00002A00sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6710b) + + pci:v00008086d00002A00sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6910p) + + pci:v00008086d00002A00sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Pavilion dv6700) + + pci:v00008086d00002A00sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Presario C700) + + pci:v00008086d00002A00sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Vaio VGN-FZ260E) + + pci:v00008086d00002A00sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (VAIO VGN-NR120E) + + pci:v00008086d00002A00sv000017AAsd000020B1* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61) + + pci:v00008086d00002A00sv000017AAsd000020B3* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) + + pci:v00008086d00002A00sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) + + pci:v00008086d00002A01* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 PCI Express Root Port +@@ -66609,52 +66609,52 @@ pci:v00008086d00002A02* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) + + pci:v00008086d00002A02sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Inspiron 1420) + + pci:v00008086d00002A02sv00001028sd000001F9* +- ID_MODEL_FROM_DATABASE=Latitude D630 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Latitude D630) + + pci:v00008086d00002A02sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Compaq 6710b) + + pci:v00008086d00002A02sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Presario C700) + + pci:v00008086d00002A02sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (VAIO VGN-NR120E) + + pci:v00008086d00002A02sv000017AAsd000020B5* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) + + pci:v00008086d00002A02sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) + + pci:v00008086d00002A03* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) + + pci:v00008086d00002A03sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Dell Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) + + pci:v00008086d00002A03sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) + + pci:v00008086d00002A03sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Presario C700) + + pci:v00008086d00002A03sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (VAIO VGN-NR120E) + + pci:v00008086d00002A03sv000017AAsd000020B5* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) + + pci:v00008086d00002A03sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) + + pci:v00008086d00002A04* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller + + pci:v00008086d00002A04sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller (Compaq 6910p) + + pci:v00008086d00002A05* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller +@@ -66663,19 +66663,19 @@ pci:v00008086d00002A06* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller + + pci:v00008086d00002A06sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller (Compaq 6910p) + + pci:v00008086d00002A07* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller + + pci:v00008086d00002A07sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller (Compaq 6910p) + + pci:v00008086d00002A10* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub + + pci:v00008086d00002A10sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub (CCG-RUMBA) + + pci:v00008086d00002A11* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 PCI Express Root Port +@@ -66684,13 +66684,13 @@ pci:v00008086d00002A12* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller + + pci:v00008086d00002A12sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) + + pci:v00008086d00002A13* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller + + pci:v00008086d00002A13sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) + + pci:v00008086d00002A14* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller +@@ -66708,25 +66708,25 @@ pci:v00008086d00002A40* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub + + pci:v00008086d00002A40sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub (CCM-BOOGIE) + + pci:v00008086d00002A41* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port + + pci:v00008086d00002A41sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port (CCM-BOOGIE) + + pci:v00008086d00002A42* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002A42sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) + + pci:v00008086d00002A43* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002A43sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) + + pci:v00008086d00002A44* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller +@@ -67251,34 +67251,34 @@ pci:v00008086d00002E20* + ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller + + pci:v00008086d00002E20sv00001028sd00000283* +- ID_MODEL_FROM_DATABASE=Dell Vostro 220 ++ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (Dell Vostro 220) + + pci:v00008086d00002E20sv00001043sd000082D3* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00002E20sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00002E21* + ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port + + pci:v00008086d00002E21sv00001043sd000082D3* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (P5Q Deluxe Motherboard) + + pci:v00008086d00002E21sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (GA-EP45-DS5 Motherboard) + + pci:v00008086d00002E22* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002E22sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) + + pci:v00008086d00002E23* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002E23sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) + + pci:v00008086d00002E24* + ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller +@@ -67917,16 +67917,16 @@ pci:v00008086d00003200* + ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA + + pci:v00008086d00003200sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K onboard SATA host bus adapter ++ ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA (C2K onboard SATA host bus adapter) + + pci:v00008086d00003310* + ID_MODEL_FROM_DATABASE=IOP348 I/O Processor + + pci:v00008086d00003310sv00001054sd00003030* +- ID_MODEL_FROM_DATABASE=HRA380 Hitachi RAID Adapter to PCIe ++ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA380 Hitachi RAID Adapter to PCIe) + + pci:v00008086d00003310sv00001054sd00003034* +- ID_MODEL_FROM_DATABASE=HRA381 Hitachi RAID Adapter to PCIe ++ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA381 Hitachi RAID Adapter to PCIe) + + pci:v00008086d00003313* + ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA +@@ -67944,31 +67944,31 @@ pci:v00008086d00003340* + ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller + + pci:v00008086d00003340sv00001014sd00000529* +- ID_MODEL_FROM_DATABASE=Thinkpad T40 series ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (Thinkpad T40 series) + + pci:v00008086d00003340sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (TravelMate 290) + + pci:v00008086d00003340sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC8000 laptop) + + pci:v00008086d00003340sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC6000 laptop) + + pci:v00008086d00003340sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (tc1100 tablet) + + pci:v00008086d00003340sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (X10 Laptop) + + pci:v00008086d00003340sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (P30/P35 notebook) + + pci:v00008086d00003341* + ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller + + pci:v00008086d00003341sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller (P30 notebook) + + pci:v00008086d00003363* + ID_MODEL_FROM_DATABASE=IOC340 I/O Controller in IOC Mode SAS/SATA +@@ -67995,19 +67995,19 @@ pci:v00008086d00003403* + ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port + + pci:v00008086d00003403sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R610 I/O Hub to ESI Port) + + pci:v00008086d00003403sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge M610 I/O Hub to ESI Port) + + pci:v00008086d00003403sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R410 I/O Hub to ESI Port) + + pci:v00008086d00003403sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge T410 I/O Hub to ESI Port) + + pci:v00008086d00003403sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (ProLiant ML150 G6 Server) + + pci:v00008086d00003404* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port +@@ -68019,7 +68019,7 @@ pci:v00008086d00003406* + ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port + + pci:v00008086d00003406sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port (ProLiant G6 series) + + pci:v00008086d00003407* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port +@@ -68028,7 +68028,7 @@ pci:v00008086d00003408* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 + + pci:v00008086d00003408sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 (ProLiant G6 series) + + pci:v00008086d00003409* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 2 +@@ -68037,7 +68037,7 @@ pci:v00008086d0000340A* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 + + pci:v00008086d0000340Asv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 (ProLiant ML150 G6 Server) + + pci:v00008086d0000340B* + ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 4 +@@ -68052,7 +68052,7 @@ pci:v00008086d0000340E* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 + + pci:v00008086d0000340Esv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 (ProLiant ML150 G6 Server) + + pci:v00008086d0000340F* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 8 +@@ -68079,13 +68079,13 @@ pci:v00008086d00003422* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers + + pci:v00008086d00003422sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (ProLiant G6 series) + + pci:v00008086d00003423* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers + + pci:v00008086d00003423sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (ProLiant G6 series) + + pci:v00008086d00003425* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Physical and Link Layer Registers Port 0 +@@ -68118,7 +68118,7 @@ pci:v00008086d0000342E* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers + + pci:v00008086d0000342Esv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers (ProLiant G6 series) + + pci:v00008086d0000342F* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Trusted Execution Technology Registers +@@ -68142,10 +68142,10 @@ pci:v00008086d00003500* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port + + pci:v00008086d00003500sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (ProLiant DL140 G3) + + pci:v00008086d00003500sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (X7DBN Motherboard) + + pci:v00008086d00003501* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express Upstream Port +@@ -68160,10 +68160,10 @@ pci:v00008086d0000350C* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge + + pci:v00008086d0000350Csv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (ProLiant DL140 G3) + + pci:v00008086d0000350Csv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (X7DBN Motherboard) + + pci:v00008086d0000350D* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express to PCI-X Bridge +@@ -68172,10 +68172,10 @@ pci:v00008086d00003510* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 + + pci:v00008086d00003510sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (ProLiant DL140 G3) + + pci:v00008086d00003510sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (X7DBN Motherboard) + + pci:v00008086d00003511* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E1 +@@ -68190,7 +68190,7 @@ pci:v00008086d00003518* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 + + pci:v00008086d00003518sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 (X7DBN Motherboard) + + pci:v00008086d00003519* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E3 +@@ -68199,13 +68199,13 @@ pci:v00008086d00003575* + ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge + + pci:v00008086d00003575sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (Evo N600c) + + pci:v00008086d00003575sv00001014sd0000021D* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (ThinkPad A/T/X Series) + + pci:v00008086d00003575sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00003576* + ID_MODEL_FROM_DATABASE=82830M/MP AGP Bridge +@@ -68214,7 +68214,7 @@ pci:v00008086d00003577* + ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller + + pci:v00008086d00003577sv00001014sd00000513* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller (ThinkPad A/T/X Series) + + pci:v00008086d00003578* + ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge +@@ -68223,181 +68223,181 @@ pci:v00008086d00003580* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller + + pci:v00008086d00003580sv00001014sd0000055C* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) + + pci:v00008086d00003580sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) + + pci:v00008086d00003580sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) + + pci:v00008086d00003580sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) + + pci:v00008086d00003580sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) + + pci:v00008086d00003580sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) + + pci:v00008086d00003580sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) + + pci:v00008086d00003580sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) + + pci:v00008086d00003580sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) + + pci:v00008086d00003580sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) + + pci:v00008086d00003580sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) + + pci:v00008086d00003580sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) + + pci:v00008086d00003580sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) + + pci:v00008086d00003580sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CC9-SAMBA) + + pci:v00008086d00003580sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CD2-BEBOP) + + pci:v00008086d00003581* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller + + pci:v00008086d00003581sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller (Amilo M1420) + + pci:v00008086d00003582* + ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device + + pci:v00008086d00003582sv00001014sd00000562* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (ThinkPad R50e) + + pci:v00008086d00003582sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D400) + + pci:v00008086d00003582sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude X300) + + pci:v00008086d00003582sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D500) + + pci:v00008086d00003582sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D505) + + pci:v00008086d00003582sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Inspiron 700m/710m) + + pci:v00008086d00003582sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 integrated graphics ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PC8 integrated graphics) + + pci:v00008086d00003582sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer VGA ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (V5D Single Board Computer VGA) + + pci:v00008086d00003582sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CE9) + + pci:v00008086d00003582sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CL9 mainboard) + + pci:v00008086d00003582sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PSL09 PrPMC) + + pci:v00008086d00003582sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CC9-SAMBA) + + pci:v00008086d00003582sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CD2-BEBOP) + + pci:v00008086d00003584* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller + + pci:v00008086d00003584sv00001014sd0000055D* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) + + pci:v00008086d00003584sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) + + pci:v00008086d00003584sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) + + pci:v00008086d00003584sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) + + pci:v00008086d00003584sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) + + pci:v00008086d00003584sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) + + pci:v00008086d00003584sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) + + pci:v00008086d00003584sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) + + pci:v00008086d00003584sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) + + pci:v00008086d00003584sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) + + pci:v00008086d00003584sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) + + pci:v00008086d00003584sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) + + pci:v00008086d00003584sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) + + pci:v00008086d00003585* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller + + pci:v00008086d00003585sv00001014sd0000055E* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) + + pci:v00008086d00003585sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) + + pci:v00008086d00003585sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) + + pci:v00008086d00003585sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) + + pci:v00008086d00003585sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) + + pci:v00008086d00003585sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) + + pci:v00008086d00003585sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) + + pci:v00008086d00003585sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) + + pci:v00008086d00003585sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) + + pci:v00008086d00003585sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) + + pci:v00008086d00003585sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) + + pci:v00008086d00003585sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) + + pci:v00008086d00003585sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) + + pci:v00008086d0000358C* + ID_MODEL_FROM_DATABASE=82854 GMCH +@@ -68409,70 +68409,70 @@ pci:v00008086d00003590* + ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub + + pci:v00008086d00003590sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (eServer xSeries server mainboard) + + pci:v00008086d00003590sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Memory Controller Hub ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 1850 Memory Controller Hub) + + pci:v00008086d00003590sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Memory Controller Hub ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 2850 Memory Controller Hub) + + pci:v00008086d00003590sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge SC1425) + + pci:v00008086d00003590sv00001734sd0000103E* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PRIMERGY RX/TX S2 series) + + pci:v00008086d00003590sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (CR11/VR11 Single Board Computer) + + pci:v00008086d00003590sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (Telum ASLP10 Processor AMC) + + pci:v00008086d00003591* + ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers + + pci:v00008086d00003591sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (eServer xSeries server mainboard) + + pci:v00008086d00003591sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision Workstation 670 Mainboard) + + pci:v00008086d00003591sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision 470) + + pci:v00008086d00003591sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (ProLiant DL140 G2) + + pci:v00008086d00003591sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Telum ASLP10 Processor AMC) + + pci:v00008086d00003592* + ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub + + pci:v00008086d00003592sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d00003593* + ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers + + pci:v00008086d00003593sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d00003594* + ID_MODEL_FROM_DATABASE=E7520 DMA Controller + + pci:v00008086d00003594sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d00003594sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d00003595* + ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A + + pci:v00008086d00003595sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A (CR11/VR11 Single Board Computer) + + pci:v00008086d00003596* + ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A1 +@@ -68481,19 +68481,19 @@ pci:v00008086d00003597* + ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B + + pci:v00008086d00003597sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B (CR11/VR11 Single Board Computer) + + pci:v00008086d00003598* + ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 + + pci:v00008086d00003598sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 (CR11/VR11 Single Board Computer) + + pci:v00008086d00003599* + ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C + + pci:v00008086d00003599sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C (CR11/VR11 Single Board Computer) + + pci:v00008086d0000359A* + ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C1 +@@ -68502,16 +68502,16 @@ pci:v00008086d0000359B* + ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers + + pci:v00008086d0000359Bsv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers (eServer xSeries server mainboard) + + pci:v00008086d0000359E* + ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub + + pci:v00008086d0000359Esv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision Workstation 670 Mainboard) + + pci:v00008086d0000359Esv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision 470) + + pci:v00008086d000035B0* + ID_MODEL_FROM_DATABASE=3100 Chipset Memory I/O Controller Hub +@@ -68562,7 +68562,7 @@ pci:v00008086d0000360C* + ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers + + pci:v00008086d0000360Csv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 7300 Chipset FSB Registers ++ ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers (PowerEdge R900 7300 Chipset FSB Registers) + + pci:v00008086d0000360D* + ID_MODEL_FROM_DATABASE=7300 Chipset Snoop Filter Registers +@@ -68724,19 +68724,19 @@ pci:v00008086d00003A16* + ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller + + pci:v00008086d00003A16sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 LPC Interface Controller ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge R410 LPC Interface Controller) + + pci:v00008086d00003A16sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 LPC Interface Controller ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge T410 LPC Interface Controller) + + pci:v00008086d00003A16sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (ProLiant G6 series) + + pci:v00008086d00003A16sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A16sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A18* + ID_MODEL_FROM_DATABASE=82801JIB (ICH10) LPC Interface Controller +@@ -68748,52 +68748,52 @@ pci:v00008086d00003A20* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 + + pci:v00008086d00003A20sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge R410 SATA IDE Controller) + + pci:v00008086d00003A20sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge T410 SATA IDE Controller) + + pci:v00008086d00003A22* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller + + pci:v00008086d00003A22sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (ProLiant G6 series) + + pci:v00008086d00003A22sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A22sv00001458sd0000B005* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A25* + ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller + + pci:v00008086d00003A25sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R410) ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R410)) + + pci:v00008086d00003A25sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE T410) ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE T410)) + + pci:v00008086d00003A25sv00001028sd000002F1* +- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R510) ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R510)) + + pci:v00008086d00003A26* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 + + pci:v00008086d00003A26sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge R410 SATA IDE Controller) + + pci:v00008086d00003A26sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge T410 SATA IDE Controller) + + pci:v00008086d00003A30* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller + + pci:v00008086d00003A30sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A30sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A32* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Thermal Subsystem +@@ -68802,178 +68802,178 @@ pci:v00008086d00003A34* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 + + pci:v00008086d00003A34sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A34sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A34sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (ProLiant G6 series) + + pci:v00008086d00003A34sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A34sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A35* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 + + pci:v00008086d00003A35sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A35sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A35sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (ProLiant G6 series) + + pci:v00008086d00003A35sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A35sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A36* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 + + pci:v00008086d00003A36sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A36sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A36sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (ProLiant G6 series) + + pci:v00008086d00003A36sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A36sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A37* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 + + pci:v00008086d00003A37sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A37sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A37sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (ProLiant G6 series) + + pci:v00008086d00003A37sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A37sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (Motherboard) + + pci:v00008086d00003A38* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 + + pci:v00008086d00003A38sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A38sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A38sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A38sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A38sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (Motherboard) + + pci:v00008086d00003A39* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 + + pci:v00008086d00003A39sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A39sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A39sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A39sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A39sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (Motherboard) + + pci:v00008086d00003A3A* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 + + pci:v00008086d00003A3Asv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge R410 USB EHCI Controller) + + pci:v00008086d00003A3Asv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge T410 USB EHCI Controller) + + pci:v00008086d00003A3Asv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (ProLiant G6 series) + + pci:v00008086d00003A3Asv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A3Asv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A3C* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 + + pci:v00008086d00003A3Csv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge R410 USB EHCI Controller) + + pci:v00008086d00003A3Csv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge T410 USB EHCI Controller) + + pci:v00008086d00003A3Csv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (ProLiant G6 series) + + pci:v00008086d00003A3Csv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A3Csv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (Motherboard) + + pci:v00008086d00003A3E* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller + + pci:v00008086d00003A3Esv00001043sd00008311* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A3Esv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-EP45-UD3R Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-UD3R Motherboard) + + pci:v00008086d00003A3Esv00001458sd0000A102* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A40* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 + + pci:v00008086d00003A40sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 PCI Express Port 1 ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge R410 PCI Express Port 1) + + pci:v00008086d00003A40sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 PCI Express Port 1 ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge T410 PCI Express Port 1) + + pci:v00008086d00003A40sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A40sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A40sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A40sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A42* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Port 2 +@@ -68982,43 +68982,43 @@ pci:v00008086d00003A44* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 + + pci:v00008086d00003A44sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A46* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 + + pci:v00008086d00003A46sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A46sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A48* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 + + pci:v00008086d00003A48sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A48sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (P6T Deluxe Motherboard) + + pci:v00008086d00003A48sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A4A* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 + + pci:v00008086d00003A4Asv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A4Asv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A4Asv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A4Asv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A4C* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Gigabit Ethernet Controller +@@ -69108,10 +69108,10 @@ pci:v00008086d00003B07* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller + + pci:v00008086d00003B07sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Latitude E6510) + + pci:v00008086d00003B07sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (PC1-GROOVE) + + pci:v00008086d00003B08* + ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller +@@ -69120,16 +69120,16 @@ pci:v00008086d00003B09* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller + + pci:v00008086d00003B09sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) + + pci:v00008086d00003B0A* + ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller + + pci:v00008086d00003B0Asv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (OptiPlex 980) + + pci:v00008086d00003B0Asv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B0B* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller +@@ -69204,10 +69204,10 @@ pci:v00008086d00003B22* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller + + pci:v00008086d00003B22sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (OptiPlex 980) + + pci:v00008086d00003B22sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B23* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller +@@ -69225,7 +69225,7 @@ pci:v00008086d00003B29* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller + + pci:v00008086d00003B29sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) + + pci:v00008086d00003B2C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller +@@ -69234,64 +69234,64 @@ pci:v00008086d00003B2D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller + + pci:v00008086d00003B2Dsv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) + + pci:v00008086d00003B2E* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller + + pci:v00008086d00003B2Esv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (PC1-GROOVE) + + pci:v00008086d00003B2F* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller + + pci:v00008086d00003B2Fsv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (Latitude E6510) + + pci:v00008086d00003B2Fsv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (PC1-GROOVE) + + pci:v00008086d00003B30* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller + + pci:v00008086d00003B30sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Aspire 7740G) + + pci:v00008086d00003B30sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (OptiPlex 980) + + pci:v00008086d00003B30sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) + + pci:v00008086d00003B30sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B30sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) + + pci:v00008086d00003B32* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem + + pci:v00008086d00003B32sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) + + pci:v00008086d00003B34* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller + + pci:v00008086d00003B34sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) + + pci:v00008086d00003B34sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) + + pci:v00008086d00003B34sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + + pci:v00008086d00003B34sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B34sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + + pci:v00008086d00003B36* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller +@@ -69315,19 +69315,19 @@ pci:v00008086d00003B3C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller + + pci:v00008086d00003B3Csv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) + + pci:v00008086d00003B3Csv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) + + pci:v00008086d00003B3Csv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + + pci:v00008086d00003B3Csv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B3Csv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + + pci:v00008086d00003B3E* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller +@@ -69345,40 +69345,40 @@ pci:v00008086d00003B42* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 + + pci:v00008086d00003B42sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (OptiPlex 980) + + pci:v00008086d00003B42sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) + + pci:v00008086d00003B42sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) + + pci:v00008086d00003B44* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 + + pci:v00008086d00003B44sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Latitude E6510) + + pci:v00008086d00003B44sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) + + pci:v00008086d00003B46* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 + + pci:v00008086d00003B46sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) + + pci:v00008086d00003B48* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 + + pci:v00008086d00003B48sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) + + pci:v00008086d00003B4A* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 + + pci:v00008086d00003B4Asv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) + + pci:v00008086d00003B4C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 +@@ -69396,19 +69396,19 @@ pci:v00008086d00003B56* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio + + pci:v00008086d00003B56sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Aspire 7740G) + + pci:v00008086d00003B56sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (OptiPlex 980) + + pci:v00008086d00003B56sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) + + pci:v00008086d00003B56sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) + + pci:v00008086d00003B56sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) + + pci:v00008086d00003B57* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio +@@ -69417,13 +69417,13 @@ pci:v00008086d00003B64* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller + + pci:v00008086d00003B64sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Aspire 7740G) + + pci:v00008086d00003B64sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B64sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) + + pci:v00008086d00003B65* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller +@@ -69435,7 +69435,7 @@ pci:v00008086d00003B67* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller + + pci:v00008086d00003B67sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller (PC1-GROOVE) + + pci:v00008086d00003C00* + ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMI2 +@@ -69765,25 +69765,25 @@ pci:v00008086d00004220* + ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection + + pci:v00008086d00004220sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Compaq nw8240/nx8220) + + pci:v00008086d00004220sv0000103Csd000012F6* +- ID_MODEL_FROM_DATABASE=nc6120/nx8220/nw8240 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (nc6120/nx8220/nw8240) + + pci:v00008086d00004220sv00008086sd00002701* +- ID_MODEL_FROM_DATABASE=WM3B2300BG Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (WM3B2300BG Mini-PCI Card) + + pci:v00008086d00004220sv00008086sd00002712* +- ID_MODEL_FROM_DATABASE=IBM ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (IBM ThinkPad R50e) + + pci:v00008086d00004220sv00008086sd00002721* +- ID_MODEL_FROM_DATABASE=Dell B130 laptop integrated WLAN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell B130 laptop integrated WLAN) + + pci:v00008086d00004220sv00008086sd00002722* +- ID_MODEL_FROM_DATABASE=Dell Latitude D600 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell Latitude D600) + + pci:v00008086d00004220sv00008086sd00002731* +- ID_MODEL_FROM_DATABASE=Samsung P35 integrated WLAN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Samsung P35 integrated WLAN) + + pci:v00008086d00004222* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection +@@ -69792,40 +69792,40 @@ pci:v00008086d00004222sv0000103Csd0000135C* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection + + pci:v00008086d00004222sv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004222sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004222sv00008086sd00001005* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004222sv00008086sd00001034* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004222sv00008086sd00001044* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004222sv00008086sd00001C00* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004223* + ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection + + pci:v00008086d00004223sv00001000sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B Americas/Europe ZZA ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Americas/Europe ZZA) + + pci:v00008086d00004223sv00001001sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B Europe ZZE ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Europe ZZE) + + pci:v00008086d00004223sv00001002sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B Japan ZZJ ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Japan ZZJ) + + pci:v00008086d00004223sv00001003sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B High-Band ZZH ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B High-Band ZZH) + + pci:v00008086d00004223sv00001351sd0000103C* +- ID_MODEL_FROM_DATABASE=Compaq NC6220 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (Compaq NC6220) + + pci:v00008086d00004224* + ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection +@@ -69834,106 +69834,106 @@ pci:v00008086d00004227* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection + + pci:v00008086d00004227sv00008086sd00001011* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60e/X60s ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (ThinkPad T60/R60e/X60s) + + pci:v00008086d00004227sv00008086sd00001014* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004229* + ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection + + pci:v00008086d00004229sv00008086sd00001100* +- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Vaio VGN-SZ79SN_C) + + pci:v00008086d00004229sv00008086sd00001101* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (PRO/Wireless 4965 AG or AGN) + + pci:v00008086d0000422B* + ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 + + pci:v00008086d0000422Bsv00008086sd00001101* +- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) + + pci:v00008086d0000422Bsv00008086sd00001121* +- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) + + pci:v00008086d0000422C* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 + + pci:v00008086d0000422Csv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) + + pci:v00008086d0000422Csv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) + + pci:v00008086d0000422Csv00008086sd00001307* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 BG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 BG) + + pci:v00008086d0000422Csv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) + + pci:v00008086d0000422Csv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) + + pci:v00008086d00004230* + ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection + + pci:v00008086d00004230sv00008086sd00001110* +- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T51 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T51) + + pci:v00008086d00004230sv00008086sd00001111* +- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T61) + + pci:v00008086d00004232* + ID_MODEL_FROM_DATABASE=WiFi Link 5100 + + pci:v00008086d00004232sv00008086sd00001201* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001204* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001205* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001206* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004232sv00008086sd00001221* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001224* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001225* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001226* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004232sv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001304* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001305* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004232sv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001324* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001325* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004235* + ID_MODEL_FROM_DATABASE=Ultimate N WiFi Link 5300 +@@ -69945,43 +69945,43 @@ pci:v00008086d00004237* + ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection + + pci:v00008086d00004237sv00008086sd00001211* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001214* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001215* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) + + pci:v00008086d00004237sv00008086sd00001216* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) + + pci:v00008086d00004237sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001314* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001315* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) + + pci:v00008086d00004237sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) + + pci:v00008086d00004238* + ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 + + pci:v00008086d00004238sv00008086sd00001111* +- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) + + pci:v00008086d00004239* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 + + pci:v00008086d00004239sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) + + pci:v00008086d00004239sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) + + pci:v00008086d0000423A* + ID_MODEL_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection +@@ -69993,37 +69993,37 @@ pci:v00008086d0000423C* + ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 + + pci:v00008086d0000423Csv00008086sd00001201* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Csv00008086sd00001206* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000423Csv00008086sd00001221* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Csv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Csv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000423Csv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423D* + ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 + + pci:v00008086d0000423Dsv00008086sd00001211* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Dsv00008086sd00001216* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000423Dsv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Dsv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000444E* + ID_MODEL_FROM_DATABASE=Turbo Memory Controller +@@ -70176,7 +70176,7 @@ pci:v00008086d00005201* + ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller + + pci:v00008086d00005201sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller (EtherExpress PRO/100 Server Ethernet Adapter) + + pci:v00008086d0000530D* + ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor +@@ -70185,7 +70185,7 @@ pci:v00008086d00005845* + ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller + + pci:v00008086d00005845sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller (QEMU Virtual Machine) + + pci:v00008086d000065C0* + ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub +@@ -70212,16 +70212,16 @@ pci:v00008086d000065F0* + ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers + + pci:v00008086d000065F0sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 ++ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge R300) + + pci:v00008086d000065F0sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 ++ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge T300) + + pci:v00008086d000065F1* + ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers + + pci:v00008086d000065F1sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 ++ ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers (PowerEdge T300) + + pci:v00008086d000065F3* + ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers +@@ -70251,19 +70251,19 @@ pci:v00008086d00007000* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] + + pci:v00008086d00007000sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] (Qemu virtual machine) + + pci:v00008086d00007010* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] + + pci:v00008086d00007010sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] (Qemu virtual machine) + + pci:v00008086d00007020* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] + + pci:v00008086d00007020sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] (QEMU Virtual Machine) + + pci:v00008086d00007030* + ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] +@@ -70281,52 +70281,52 @@ pci:v00008086d00007110* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA + + pci:v00008086d00007110sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA (Virtual Machine Chipset) + + pci:v00008086d00007111* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE + + pci:v00008086d00007111sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE (Virtual Machine Chipset) + + pci:v00008086d00007112* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB + + pci:v00008086d00007112sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (Virtual Machine Chipset) + + pci:v00008086d00007112sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (QEMU Virtual Machine) + + pci:v00008086d00007113* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI + + pci:v00008086d00007113sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Virtual Machine Chipset) + + pci:v00008086d00007113sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Qemu virtual machine) + + pci:v00008086d00007120* + ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) + + pci:v00008086d00007120sv00004C53sd00001040* +- ID_MODEL_FROM_DATABASE=CL7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (CL7 mainboard) + + pci:v00008086d00007120sv00004C53sd00001060* +- ID_MODEL_FROM_DATABASE=PC7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (PC7 mainboard) + + pci:v00008086d00007121* + ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller + + pci:v00008086d00007121sv00004C53sd00001040* +- ID_MODEL_FROM_DATABASE=CL7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (CL7 mainboard) + + pci:v00008086d00007121sv00004C53sd00001060* +- ID_MODEL_FROM_DATABASE=PC7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (PC7 mainboard) + + pci:v00008086d00007121sv00008086sd00004341* +- ID_MODEL_FROM_DATABASE=Cayman (CA810) Mainboard ++ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (Cayman (CA810) Mainboard) + + pci:v00008086d00007122* + ID_MODEL_FROM_DATABASE=82810 DC-100 (GMCH) Graphics Memory Controller Hub +@@ -70338,13 +70338,13 @@ pci:v00008086d00007124* + ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub + + pci:v00008086d00007124sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub (OptiPlex GX110) + + pci:v00008086d00007125* + ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller + + pci:v00008086d00007125sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller (OptiPlex GX110) + + pci:v00008086d00007126* + ID_MODEL_FROM_DATABASE=82810 DC-133 System and Graphics Controller +@@ -70365,73 +70365,73 @@ pci:v00008086d00007190* + ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge + + pci:v00008086d00007190sv00000E11sd00000500* +- ID_MODEL_FROM_DATABASE=Armada 1750 Laptop System Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada 1750 Laptop System Chipset) + + pci:v00008086d00007190sv00000E11sd0000B110* +- ID_MODEL_FROM_DATABASE=Armada M700/E500 ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada M700/E500) + + pci:v00008086d00007190sv00001028sd0000008E* +- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (PowerEdge 1300 mainboard) + + pci:v00008086d00007190sv00001043sd0000803B* +- ID_MODEL_FROM_DATABASE=CUBX-L/E Mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CUBX-L/E Mainboard) + + pci:v00008086d00007190sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Toshiba Tecra 8100 Laptop System Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Toshiba Tecra 8100 Laptop System Chipset) + + pci:v00008086d00007190sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Virtual Machine Chipset) + + pci:v00008086d00007190sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CT7 mainboard) + + pci:v00008086d00007190sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CE7 mainboard) + + pci:v00008086d00007191* + ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge + + pci:v00008086d00007191sv00001028sd0000008E* +- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (PowerEdge 1300 mainboard) + + pci:v00008086d00007192* + ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) + + pci:v00008086d00007192sv00000E11sd00000460* +- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop System Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Armada 1700 Laptop System Chipset) + + pci:v00008086d00007192sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite 4010 ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Satellite 4010) + + pci:v00008086d00007192sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00008086d00007192sv00008086sd00007190* +- ID_MODEL_FROM_DATABASE=Dell PowerEdge 350 ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Dell PowerEdge 350) + + pci:v00008086d00007194* + ID_MODEL_FROM_DATABASE=82440MX Host Bridge + + pci:v00008086d00007194sv00001033sd00000000* +- ID_MODEL_FROM_DATABASE=Versa Note Vxi ++ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (Versa Note Vxi) + + pci:v00008086d00007194sv00004C53sd000010A0* +- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard ++ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (CA3/CR3 mainboard) + + pci:v00008086d00007195* + ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller + + pci:v00008086d00007195sv00001033sd000080CC* +- ID_MODEL_FROM_DATABASE=Versa Note VXi ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (Versa Note VXi) + + pci:v00008086d00007195sv000010CFsd00001099* +- ID_MODEL_FROM_DATABASE=QSound_SigmaTel Stac97 PCI Audio ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (QSound_SigmaTel Stac97 PCI Audio) + + pci:v00008086d00007195sv000011D4sd00000040* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00007195sv000011D4sd00000048* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00007196* + ID_MODEL_FROM_DATABASE=82440MX AC'97 Modem Controller +@@ -70452,10 +70452,10 @@ pci:v00008086d000071A0* + ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge + + pci:v00008086d000071A0sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CT7 mainboard) + + pci:v00008086d000071A0sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CE7 mainboard) + + pci:v00008086d000071A1* + ID_MODEL_FROM_DATABASE=440GX - 82443GX AGP bridge +@@ -70464,7 +70464,7 @@ pci:v00008086d000071A2* + ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) + + pci:v00008086d000071A2sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00008086d00007600* + ID_MODEL_FROM_DATABASE=82372FB PIIX5 ISA +@@ -70482,25 +70482,25 @@ pci:v00008086d00007800* + ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator + + pci:v00008086d00007800sv0000003Dsd00000008* +- ID_MODEL_FROM_DATABASE=Starfighter AGP ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) + + pci:v00008086d00007800sv0000003Dsd0000000B* +- ID_MODEL_FROM_DATABASE=Starfighter AGP ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) + + pci:v00008086d00007800sv00001092sd00000100* +- ID_MODEL_FROM_DATABASE=Stealth II G460 ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Stealth II G460) + + pci:v00008086d00007800sv000010B4sd0000201A* +- ID_MODEL_FROM_DATABASE=Lightspeed 740 ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) + + pci:v00008086d00007800sv000010B4sd0000202F* +- ID_MODEL_FROM_DATABASE=Lightspeed 740 ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) + + pci:v00008086d00007800sv00008086sd00000000* +- ID_MODEL_FROM_DATABASE=Terminator 2x/i ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Terminator 2x/i) + + pci:v00008086d00007800sv00008086sd00000100* +- ID_MODEL_FROM_DATABASE=Intel740 Graphics Accelerator ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Intel740 Graphics Accelerator) + + pci:v00008086d00008002* + ID_MODEL_FROM_DATABASE=Trusted Execution Technology Registers +@@ -70611,13 +70611,13 @@ pci:v00008086d00008500* + ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) + + pci:v00008086d00008500sv00001993sd00000DED* +- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#2 ++ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#2) + + pci:v00008086d00008500sv00001993sd00000DEE* +- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#1 ++ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#1) + + pci:v00008086d00008500sv00001993sd00000DEF* +- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#0 ++ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#0) + + pci:v00008086d00008800* + ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T PCI Express Port +@@ -70710,10 +70710,10 @@ pci:v00008086d00008C03* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] + + pci:v00008086d00008C03sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ZBook 15) + + pci:v00008086d00008C03sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ThinkPad T440p) + + pci:v00008086d00008C04* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] +@@ -70743,7 +70743,7 @@ pci:v00008086d00008C10* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 + + pci:v00008086d00008C10sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 (ThinkPad T440p) + + pci:v00008086d00008C11* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 +@@ -70752,7 +70752,7 @@ pci:v00008086d00008C12* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 + + pci:v00008086d00008C12sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 (ThinkPad T440p) + + pci:v00008086d00008C13* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 +@@ -70797,10 +70797,10 @@ pci:v00008086d00008C20* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller + + pci:v00008086d00008C20sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ZBook 15) + + pci:v00008086d00008C20sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ThinkPad T440p) + + pci:v00008086d00008C21* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller +@@ -70809,10 +70809,10 @@ pci:v00008086d00008C22* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller + + pci:v00008086d00008C22sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ZBook 15) + + pci:v00008086d00008C22sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ThinkPad T440p) + + pci:v00008086d00008C23* + ID_MODEL_FROM_DATABASE=8 Series Chipset Family CHAP Counters +@@ -70824,28 +70824,28 @@ pci:v00008086d00008C26* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 + + pci:v00008086d00008C26sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ZBook 15) + + pci:v00008086d00008C26sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ThinkPad T440p) + + pci:v00008086d00008C2D* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 + + pci:v00008086d00008C2Dsv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ZBook 15) + + pci:v00008086d00008C2Dsv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ThinkPad T440p) + + pci:v00008086d00008C31* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI + + pci:v00008086d00008C31sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ZBook 15) + + pci:v00008086d00008C31sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ThinkPad T440p) + + pci:v00008086d00008C33* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LAN Controller +@@ -70857,10 +70857,10 @@ pci:v00008086d00008C3A* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 + + pci:v00008086d00008C3Asv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ZBook 15) + + pci:v00008086d00008C3Asv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ThinkPad T440p) + + pci:v00008086d00008C3B* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #2 +@@ -70920,10 +70920,10 @@ pci:v00008086d00008C4F* + ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller + + pci:v00008086d00008C4Fsv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ZBook 15) + + pci:v00008086d00008C4Fsv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ThinkPad T440p) + + pci:v00008086d00008C50* + ID_MODEL_FROM_DATABASE=B85 Express LPC Controller +@@ -70986,7 +70986,7 @@ pci:v00008086d00008D06* + ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] + + pci:v00008086d00008D06sv000017AAsd00001031* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i ++ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] (ThinkServer RAID 110i) + + pci:v00008086d00008D08* + ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] +@@ -71196,7 +71196,7 @@ pci:v00008086d00009C03* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] + + pci:v00008086d00009C03sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) + + pci:v00008086d00009C04* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] +@@ -71286,7 +71286,7 @@ pci:v00008086d00009C20* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller + + pci:v00008086d00009C20sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) + + pci:v00008086d00009C21* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller +@@ -71295,7 +71295,7 @@ pci:v00008086d00009C22* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller + + pci:v00008086d00009C22sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) + + pci:v00008086d00009C23* + ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters +@@ -71307,7 +71307,7 @@ pci:v00008086d00009C26* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 + + pci:v00008086d00009C26sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) + + pci:v00008086d00009C2D* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 +@@ -71316,7 +71316,7 @@ pci:v00008086d00009C31* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC + + pci:v00008086d00009C31sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) + + pci:v00008086d00009C35* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller +@@ -71328,7 +71328,7 @@ pci:v00008086d00009C3A* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 + + pci:v00008086d00009C3Asv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) + + pci:v00008086d00009C3B* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 +@@ -71352,7 +71352,7 @@ pci:v00008086d00009C43* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller + + pci:v00008086d00009C43sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) + + pci:v00008086d00009C44* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller +@@ -71496,25 +71496,25 @@ pci:v00008086d0000A000* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge + + pci:v00008086d0000A000sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (GA-D525TUD) + + pci:v00008086d0000A000sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (DeskTop Board D510MO) + + pci:v00008086d0000A000sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Desktop Board D425KT) + + pci:v00008086d0000A001* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller + + pci:v00008086d0000A001sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (GA-D525TUD) + + pci:v00008086d0000A001sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (DeskTop Board D510MO) + + pci:v00008086d0000A001sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Desktop Board D425KT) + + pci:v00008086d0000A002* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller +@@ -71526,19 +71526,19 @@ pci:v00008086d0000A010* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge + + pci:v00008086d0000A010sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Notebook N150P) + + pci:v00008086d0000A011* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller + + pci:v00008086d0000A011sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) + + pci:v00008086d0000A012* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller + + pci:v00008086d0000A012sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) + + pci:v00008086d0000A013* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter +@@ -71559,22 +71559,22 @@ pci:v00008086d0000B555* + ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge + + pci:v00008086d0000B555sv000012C7sd00005005* +- ID_MODEL_FROM_DATABASE=SS7HD PCI Adaptor Card ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HD PCI Adaptor Card) + + pci:v00008086d0000B555sv000012C7sd00005006* +- ID_MODEL_FROM_DATABASE=SS7HDC cPCI Adaptor Card ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HDC cPCI Adaptor Card) + + pci:v00008086d0000B555sv000012D9sd0000000A* +- ID_MODEL_FROM_DATABASE=PCI VoIP Gateway ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (PCI VoIP Gateway) + + pci:v00008086d0000B555sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CT7 mainboard) + + pci:v00008086d0000B555sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CE7 mainboard) + + pci:v00008086d0000B555sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CC8-1-BLUES ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CC8-1-BLUES) + + pci:v00008086d0000D130* + ID_MODEL_FROM_DATABASE=Core Processor DMI +@@ -71583,16 +71583,16 @@ pci:v00008086d0000D131* + ID_MODEL_FROM_DATABASE=Core Processor DMI + + pci:v00008086d0000D131sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=Core Processor DMI (OptiPlex 980) + + pci:v00008086d0000D131sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=Core Processor DMI (C7SIM-Q Motherboard) + + pci:v00008086d0000D132* + ID_MODEL_FROM_DATABASE=Core Processor DMI + + pci:v00008086d0000D132sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=Core Processor DMI (Latitude E6510) + + pci:v00008086d0000D133* + ID_MODEL_FROM_DATABASE=Core Processor DMI +@@ -71613,13 +71613,13 @@ pci:v00008086d0000D138* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 + + pci:v00008086d0000D138sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (OptiPlex 980) + + pci:v00008086d0000D138sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (Latitude E6510) + + pci:v00008086d0000D138sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (C7SIM-Q Motherboard) + + pci:v00008086d0000D139* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 +@@ -71730,7 +71730,7 @@ pci:v00009004d00005078* + ID_MODEL_FROM_DATABASE=AIC-7850 + + pci:v00009004d00005078sv00009004sd00007850* +- ID_MODEL_FROM_DATABASE=AHA-2904/Integrated AIC-7850 ++ ID_MODEL_FROM_DATABASE=AIC-7850 (AHA-2904/Integrated AIC-7850) + + pci:v00009004d00005175* + ID_MODEL_FROM_DATABASE=AIC-755x +@@ -71766,10 +71766,10 @@ pci:v00009004d00005647* + ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine + + pci:v00009004d00005647sv00009004sd00007710* +- ID_MODEL_FROM_DATABASE=ANA-7711F TCP Offload Engine - Optical ++ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711F TCP Offload Engine - Optical) + + pci:v00009004d00005647sv00009004sd00007711* +- ID_MODEL_FROM_DATABASE=ANA-7711LP TCP Offload Engine - Copper ++ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711LP TCP Offload Engine - Copper) + + pci:v00009004d00005675* + ID_MODEL_FROM_DATABASE=AIC-755x +@@ -71799,7 +71799,7 @@ pci:v00009004d00006075* + ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 + + pci:v00009004d00006075sv00009004sd00007560* +- ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 Cardbus ++ ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 (Cardbus) + + pci:v00009004d00006078* + ID_MODEL_FROM_DATABASE=AIC-7860 +@@ -71808,7 +71808,7 @@ pci:v00009004d00006178* + ID_MODEL_FROM_DATABASE=AIC-7861 + + pci:v00009004d00006178sv00009004sd00007861* +- ID_MODEL_FROM_DATABASE=AHA-2940AU Single ++ ID_MODEL_FROM_DATABASE=AIC-7861 (AHA-2940AU Single) + + pci:v00009004d00006278* + ID_MODEL_FROM_DATABASE=AIC-7860 +@@ -71832,46 +71832,46 @@ pci:v00009004d00006915* + ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A + + pci:v00009004d00006915sv00009004sd00000008* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) + + pci:v00009004d00006915sv00009004sd00000009* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) + + pci:v00009004d00006915sv00009004sd00000010* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) + + pci:v00009004d00006915sv00009004sd00000018* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) + + pci:v00009004d00006915sv00009004sd00000019* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) + + pci:v00009004d00006915sv00009004sd00000020* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) + + pci:v00009004d00006915sv00009004sd00000028* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) + + pci:v00009004d00006915sv00009004sd00008008* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008009* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008010* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008018* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008019* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008020* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008028* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) + + pci:v00009004d00007078* + ID_MODEL_FROM_DATABASE=AHA-294x / AIC-7870 +@@ -71910,7 +71910,7 @@ pci:v00009004d00007815* + ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC + + pci:v00009004d00007815sv00009004sd00007815* +- ID_MODEL_FROM_DATABASE=ARO-1130U2 RAID Controller ++ ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC (ARO-1130U2 RAID Controller) + + pci:v00009004d00007815sv00009004sd00007840* + ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC +@@ -71961,25 +71961,25 @@ pci:v00009004d00007895* + ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 + + pci:v00009004d00007895sv00009004sd00007890* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007895sv00009004sd00007891* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual) + + pci:v00009004d00007895sv00009004sd00007892* +- ID_MODEL_FROM_DATABASE=AHA-3940AU/AUW/AUWD/UWD ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3940AU/AUW/AUWD/UWD) + + pci:v00009004d00007895sv00009004sd00007894* +- ID_MODEL_FROM_DATABASE=AHA-3944AUWD ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3944AUWD) + + pci:v00009004d00007895sv00009004sd00007895* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007895sv00009004sd00007896* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007895sv00009004sd00007897* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007896* + ID_MODEL_FROM_DATABASE=AIC-789x +@@ -71991,13 +71991,13 @@ pci:v00009004d00008078* + ID_MODEL_FROM_DATABASE=AIC-7880U + + pci:v00009004d00008078sv00009004sd00007880* +- ID_MODEL_FROM_DATABASE=AIC-7880P Ultra/Ultra Wide SCSI Chipset ++ ID_MODEL_FROM_DATABASE=AIC-7880U (AIC-7880P Ultra/Ultra Wide SCSI Chipset) + + pci:v00009004d00008178* + ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U + + pci:v00009004d00008178sv00009004sd00007881* +- ID_MODEL_FROM_DATABASE=AHA-2940UW SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U (AHA-2940UW SCSI Host Adapter) + + pci:v00009004d00008278* + ID_MODEL_FROM_DATABASE=AHA-3940U/UW/UWD / AIC-7882U +@@ -72018,13 +72018,13 @@ pci:v00009004d00008778* + ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x + + pci:v00009004d00008778sv00009004sd00007887* +- ID_MODEL_FROM_DATABASE=2940UW Pro Ultra-Wide SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x (2940UW Pro Ultra-Wide SCSI Controller) + + pci:v00009004d00008878* + ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 + + pci:v00009004d00008878sv00009004sd00007888* +- ID_MODEL_FROM_DATABASE=AHA-2930UW SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 (AHA-2930UW SCSI Controller) + + pci:v00009004d00008B78* + ID_MODEL_FROM_DATABASE=ABA-1030 +@@ -72039,19 +72039,19 @@ pci:v00009005d00000010* + ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W + + pci:v00009005d00000010sv00009005sd00002180* +- ID_MODEL_FROM_DATABASE=AHA-2940U2 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2 SCSI Controller) + + pci:v00009005d00000010sv00009005sd00008100* +- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) + + pci:v00009005d00000010sv00009005sd0000A100* +- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) + + pci:v00009005d00000010sv00009005sd0000A180* +- ID_MODEL_FROM_DATABASE=AHA-2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2W SCSI Controller) + + pci:v00009005d00000010sv00009005sd0000E100* +- ID_MODEL_FROM_DATABASE=AHA-2950U2B SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2950U2B SCSI Controller) + + pci:v00009005d00000011* + ID_MODEL_FROM_DATABASE=AHA-2930U2 +@@ -72060,19 +72060,19 @@ pci:v00009005d00000013* + ID_MODEL_FROM_DATABASE=78902 + + pci:v00009005d00000013sv00009005sd00000003* +- ID_MODEL_FROM_DATABASE=AAA-131U2 Array1000 1 Channel RAID Controller ++ ID_MODEL_FROM_DATABASE=78902 (AAA-131U2 Array1000 1 Channel RAID Controller) + + pci:v00009005d00000013sv00009005sd0000000F* +- ID_MODEL_FROM_DATABASE=AIC7890_ARO ++ ID_MODEL_FROM_DATABASE=78902 (AIC7890_ARO) + + pci:v00009005d0000001F* + ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 + + pci:v00009005d0000001Fsv00009005sd0000000F* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) + + pci:v00009005d0000001Fsv00009005sd0000A180* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) + + pci:v00009005d00000020* + ID_MODEL_FROM_DATABASE=AIC-7890 +@@ -72090,10 +72090,10 @@ pci:v00009005d00000050* + ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x + + pci:v00009005d00000050sv00009005sd0000F500* +- ID_MODEL_FROM_DATABASE=AHA-3950U2B ++ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) + + pci:v00009005d00000050sv00009005sd0000FFFF* +- ID_MODEL_FROM_DATABASE=AHA-3950U2B ++ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) + + pci:v00009005d00000051* + ID_MODEL_FROM_DATABASE=AHA-3950U2D +@@ -72105,7 +72105,7 @@ pci:v00009005d00000053* + ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller + + pci:v00009005d00000053sv00009005sd0000FFFF* +- ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller mainboard implementation ++ ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller (mainboard implementation) + + pci:v00009005d0000005F* + ID_MODEL_FROM_DATABASE=AIC-7896U2/7897U2 +@@ -72114,25 +72114,25 @@ pci:v00009005d00000080* + ID_MODEL_FROM_DATABASE=AIC-7892A U160/m + + pci:v00009005d00000080sv00000E11sd0000E2A0* +- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter) + + pci:v00009005d00000080sv00009005sd00006220* +- ID_MODEL_FROM_DATABASE=AHA-29160C ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (AHA-29160C) + + pci:v00009005d00000080sv00009005sd000062A0* +- ID_MODEL_FROM_DATABASE=29160N Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160N Ultra160 SCSI Controller) + + pci:v00009005d00000080sv00009005sd0000E220* +- ID_MODEL_FROM_DATABASE=29160LP Low Profile Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160LP Low Profile Ultra160 SCSI Controller) + + pci:v00009005d00000080sv00009005sd0000E2A0* +- ID_MODEL_FROM_DATABASE=29160 Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160 Ultra160 SCSI Controller) + + pci:v00009005d00000081* + ID_MODEL_FROM_DATABASE=AIC-7892B U160/m + + pci:v00009005d00000081sv00009005sd000062A1* +- ID_MODEL_FROM_DATABASE=19160 Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892B U160/m (19160 Ultra160 SCSI Controller) + + pci:v00009005d00000083* + ID_MODEL_FROM_DATABASE=AIC-7892D U160/m +@@ -72141,10 +72141,10 @@ pci:v00009005d0000008F* + ID_MODEL_FROM_DATABASE=AIC-7892P U160/m + + pci:v00009005d0000008Fsv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Magnia Z310) + + pci:v00009005d0000008Fsv000015D9sd00009005* +- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Onboard SCSI Host Adapter) + + pci:v00009005d00000092* + ID_MODEL_FROM_DATABASE=AVC-2010 [VideoH!] +@@ -72156,10 +72156,10 @@ pci:v00009005d000000C0* + ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m + + pci:v00009005d000000C0sv00000E11sd0000F620* +- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter) + + pci:v00009005d000000C0sv00009005sd0000F620* +- ID_MODEL_FROM_DATABASE=AHA-3960D U160/m ++ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (AHA-3960D U160/m) + + pci:v00009005d000000C1* + ID_MODEL_FROM_DATABASE=AIC-7899B U160/m +@@ -72171,28 +72171,28 @@ pci:v00009005d000000C5* + ID_MODEL_FROM_DATABASE=RAID subsystem HBA + + pci:v00009005d000000C5sv00001028sd000000C5* +- ID_MODEL_FROM_DATABASE=PowerEdge 2400,2500,2550,4400 ++ ID_MODEL_FROM_DATABASE=RAID subsystem HBA (PowerEdge 2400,2500,2550,4400) + + pci:v00009005d000000CF* + ID_MODEL_FROM_DATABASE=AIC-7899P U160/m + + pci:v00009005d000000CFsv00001028sd000000CE* +- ID_MODEL_FROM_DATABASE=PowerEdge 1400 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 1400) + + pci:v00009005d000000CFsv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=PowerEdge 2550 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2550) + + pci:v00009005d000000CFsv00001028sd000000D9* +- ID_MODEL_FROM_DATABASE=PowerEdge 2500 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2500) + + pci:v00009005d000000CFsv000010F1sd00002462* +- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Thunder K7 S2462) + + pci:v00009005d000000CFsv000015D9sd00009005* +- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Onboard SCSI Host Adapter) + + pci:v00009005d000000CFsv00008086sd00003411* +- ID_MODEL_FROM_DATABASE=SDS2 Mainboard ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (SDS2 Mainboard) + + pci:v00009005d00000241* + ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1420SA +@@ -72210,13 +72210,13 @@ pci:v00009005d00000250* + ID_MODEL_FROM_DATABASE=ServeRAID Controller + + pci:v00009005d00000250sv00001014sd00000279* +- ID_MODEL_FROM_DATABASE=ServeRAID 6M ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6M) + + pci:v00009005d00000250sv00001014sd0000028C* +- ID_MODEL_FROM_DATABASE=ServeRAID 6i/6i+ ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6i/6i+) + + pci:v00009005d00000250sv00001014sd0000028E* +- ID_MODEL_FROM_DATABASE=ServeRAID 7k ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 7k) + + pci:v00009005d00000279* + ID_MODEL_FROM_DATABASE=ServeRAID 6M +@@ -72225,415 +72225,415 @@ pci:v00009005d00000283* + ID_MODEL_FROM_DATABASE=AAC-RAID + + pci:v00009005d00000283sv00009005sd00000283* +- ID_MODEL_FROM_DATABASE=Catapult ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Catapult) + + pci:v00009005d00000284* + ID_MODEL_FROM_DATABASE=AAC-RAID + + pci:v00009005d00000284sv00009005sd00000284* +- ID_MODEL_FROM_DATABASE=Tomcat ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Tomcat) + + pci:v00009005d00000285* + ID_MODEL_FROM_DATABASE=AAC-RAID + + pci:v00009005d00000285sv00000E11sd00000295* +- ID_MODEL_FROM_DATABASE=SATA 6Ch (Bearcat) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SATA 6Ch (Bearcat)) + + pci:v00009005d00000285sv00001014sd000002F2* +- ID_MODEL_FROM_DATABASE=ServeRAID 8i ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ServeRAID 8i) + + pci:v00009005d00000285sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 320/DC ++ ID_MODEL_FROM_DATABASE=AAC-RAID (PowerEdge Expandable RAID Controller 320/DC) + + pci:v00009005d00000285sv00001028sd00000291* +- ID_MODEL_FROM_DATABASE=CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)) + + pci:v00009005d00000285sv0000103Csd00003227* +- ID_MODEL_FROM_DATABASE=AAR-2610SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2610SA) + + pci:v00009005d00000285sv0000108Esd00000286* +- ID_MODEL_FROM_DATABASE=Sun StorageTek SAS RAID HBA, Internal ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Sun StorageTek SAS RAID HBA, Internal) + + pci:v00009005d00000285sv0000108Esd00000287* +- ID_MODEL_FROM_DATABASE=STK RAID EXT ++ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EXT) + + pci:v00009005d00000285sv0000108Esd00007AAC* +- ID_MODEL_FROM_DATABASE=STK RAID REM ++ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID REM) + + pci:v00009005d00000285sv0000108Esd00007AAE* +- ID_MODEL_FROM_DATABASE=STK RAID EX ++ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EX) + + pci:v00009005d00000285sv000015D9sd000002B5* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4i ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4i) + + pci:v00009005d00000285sv000015D9sd000002B6* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i) + + pci:v00009005d00000285sv000015D9sd000002C9* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4iR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4iR) + + pci:v00009005d00000285sv000015D9sd000002CA* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR) + + pci:v00009005d00000285sv000015D9sd000002D2* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i-LP ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i-LP) + + pci:v00009005d00000285sv000015D9sd000002D3* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR-LP ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR-LP) + + pci:v00009005d00000285sv000017AAsd00000286* +- ID_MODEL_FROM_DATABASE=Legend S220 (Legend Crusader) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S220 (Legend Crusader)) + + pci:v00009005d00000285sv000017AAsd00000287* +- ID_MODEL_FROM_DATABASE=Legend S230 (Legend Vulcan) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S230 (Legend Vulcan)) + + pci:v00009005d00000285sv00009005sd00000285* +- ID_MODEL_FROM_DATABASE=2200S (Vulcan) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan)) + + pci:v00009005d00000285sv00009005sd00000286* +- ID_MODEL_FROM_DATABASE=2120S (Crusader) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (2120S (Crusader)) + + pci:v00009005d00000285sv00009005sd00000287* +- ID_MODEL_FROM_DATABASE=2200S (Vulcan-2m) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan-2m)) + + pci:v00009005d00000285sv00009005sd00000288* +- ID_MODEL_FROM_DATABASE=3230S (Harrier) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3230S (Harrier)) + + pci:v00009005d00000285sv00009005sd00000289* +- ID_MODEL_FROM_DATABASE=3240S (Tornado) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3240S (Tornado)) + + pci:v00009005d00000285sv00009005sd0000028A* +- ID_MODEL_FROM_DATABASE=ASR-2020ZCR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020ZCR) + + pci:v00009005d00000285sv00009005sd0000028B* +- ID_MODEL_FROM_DATABASE=ASR-2025ZCR (Terminator) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025ZCR (Terminator)) + + pci:v00009005d00000285sv00009005sd0000028E* +- ID_MODEL_FROM_DATABASE=ASR-2020SA (Skyhawk) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020SA (Skyhawk)) + + pci:v00009005d00000285sv00009005sd0000028F* +- ID_MODEL_FROM_DATABASE=ASR-2025SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025SA) + + pci:v00009005d00000285sv00009005sd00000290* +- ID_MODEL_FROM_DATABASE=AAR-2410SA PCI SATA 4ch (Jaguar II) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2410SA PCI SATA 4ch (Jaguar II)) + + pci:v00009005d00000285sv00009005sd00000292* +- ID_MODEL_FROM_DATABASE=AAR-2810SA PCI SATA 8ch (Corsair-8) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2810SA PCI SATA 8ch (Corsair-8)) + + pci:v00009005d00000285sv00009005sd00000293* +- ID_MODEL_FROM_DATABASE=AAR-21610SA PCI SATA 16ch (Corsair-16) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-21610SA PCI SATA 16ch (Corsair-16)) + + pci:v00009005d00000285sv00009005sd00000294* +- ID_MODEL_FROM_DATABASE=ESD SO-DIMM PCI-X SATA ZCR (Prowler) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ESD SO-DIMM PCI-X SATA ZCR (Prowler)) + + pci:v00009005d00000285sv00009005sd00000296* +- ID_MODEL_FROM_DATABASE=ASR-2240S ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2240S) + + pci:v00009005d00000285sv00009005sd00000297* +- ID_MODEL_FROM_DATABASE=ASR-4005SAS ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4005SAS) + + pci:v00009005d00000285sv00009005sd00000298* +- ID_MODEL_FROM_DATABASE=ASR-4000 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4000) + + pci:v00009005d00000285sv00009005sd00000299* +- ID_MODEL_FROM_DATABASE=ASR-4800SAS ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4800SAS) + + pci:v00009005d00000285sv00009005sd0000029A* +- ID_MODEL_FROM_DATABASE=4805SAS ++ ID_MODEL_FROM_DATABASE=AAC-RAID (4805SAS) + + pci:v00009005d00000285sv00009005sd000002A4* +- ID_MODEL_FROM_DATABASE=ICP ICP9085LI ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP9085LI) + + pci:v00009005d00000285sv00009005sd000002A5* +- ID_MODEL_FROM_DATABASE=ICP ICP5085BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BR) + + pci:v00009005d00000285sv00009005sd000002B5* +- ID_MODEL_FROM_DATABASE=ASR5800 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5800) + + pci:v00009005d00000285sv00009005sd000002B6* +- ID_MODEL_FROM_DATABASE=ASR5805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5805) + + pci:v00009005d00000285sv00009005sd000002B7* +- ID_MODEL_FROM_DATABASE=ASR5808 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5808) + + pci:v00009005d00000285sv00009005sd000002B8* +- ID_MODEL_FROM_DATABASE=ICP5445SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5445SL) + + pci:v00009005d00000285sv00009005sd000002B9* +- ID_MODEL_FROM_DATABASE=ICP5085SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5085SL) + + pci:v00009005d00000285sv00009005sd000002BA* +- ID_MODEL_FROM_DATABASE=ICP5805SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805SL) + + pci:v00009005d00000285sv00009005sd000002BB* +- ID_MODEL_FROM_DATABASE=3405 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3405) + + pci:v00009005d00000285sv00009005sd000002BC* +- ID_MODEL_FROM_DATABASE=3805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3805) + + pci:v00009005d00000285sv00009005sd000002BD* +- ID_MODEL_FROM_DATABASE=31205 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (31205) + + pci:v00009005d00000285sv00009005sd000002BE* +- ID_MODEL_FROM_DATABASE=31605 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (31605) + + pci:v00009005d00000285sv00009005sd000002BF* +- ID_MODEL_FROM_DATABASE=ICP ICP5045BL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5045BL) + + pci:v00009005d00000285sv00009005sd000002C0* +- ID_MODEL_FROM_DATABASE=ICP ICP5085BL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BL) + + pci:v00009005d00000285sv00009005sd000002C1* +- ID_MODEL_FROM_DATABASE=ICP ICP5125BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125BR) + + pci:v00009005d00000285sv00009005sd000002C2* +- ID_MODEL_FROM_DATABASE=ICP ICP5165BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165BR) + + pci:v00009005d00000285sv00009005sd000002C3* +- ID_MODEL_FROM_DATABASE=51205 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51205) + + pci:v00009005d00000285sv00009005sd000002C4* +- ID_MODEL_FROM_DATABASE=51605 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51605) + + pci:v00009005d00000285sv00009005sd000002C5* +- ID_MODEL_FROM_DATABASE=ICP ICP5125SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125SL) + + pci:v00009005d00000285sv00009005sd000002C6* +- ID_MODEL_FROM_DATABASE=ICP ICP5165SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165SL) + + pci:v00009005d00000285sv00009005sd000002C7* +- ID_MODEL_FROM_DATABASE=3085 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3085) + + pci:v00009005d00000285sv00009005sd000002C8* +- ID_MODEL_FROM_DATABASE=ICP5805BL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805BL) + + pci:v00009005d00000285sv00009005sd000002CE* +- ID_MODEL_FROM_DATABASE=51245 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51245) + + pci:v00009005d00000285sv00009005sd000002CF* +- ID_MODEL_FROM_DATABASE=51645 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51645) + + pci:v00009005d00000285sv00009005sd000002D0* +- ID_MODEL_FROM_DATABASE=52445 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (52445) + + pci:v00009005d00000285sv00009005sd000002D1* +- ID_MODEL_FROM_DATABASE=5405 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5405) + + pci:v00009005d00000285sv00009005sd000002D4* +- ID_MODEL_FROM_DATABASE=ASR-2045 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045) + + pci:v00009005d00000285sv00009005sd000002D5* +- ID_MODEL_FROM_DATABASE=ASR-2405 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405) + + pci:v00009005d00000285sv00009005sd000002D6* +- ID_MODEL_FROM_DATABASE=ASR-2445 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445) + + pci:v00009005d00000285sv00009005sd000002D7* +- ID_MODEL_FROM_DATABASE=ASR-2805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805) + + pci:v00009005d00000285sv00009005sd000002D8* +- ID_MODEL_FROM_DATABASE=5405G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5405G) + + pci:v00009005d00000285sv00009005sd000002D9* +- ID_MODEL_FROM_DATABASE=5445G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5445G) + + pci:v00009005d00000285sv00009005sd000002DA* +- ID_MODEL_FROM_DATABASE=5805G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5805G) + + pci:v00009005d00000285sv00009005sd000002DB* +- ID_MODEL_FROM_DATABASE=5085G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5085G) + + pci:v00009005d00000285sv00009005sd000002DC* +- ID_MODEL_FROM_DATABASE=51245G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51245G) + + pci:v00009005d00000285sv00009005sd000002DD* +- ID_MODEL_FROM_DATABASE=51645G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51645G) + + pci:v00009005d00000285sv00009005sd000002DE* +- ID_MODEL_FROM_DATABASE=52445G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (52445G) + + pci:v00009005d00000285sv00009005sd000002DF* +- ID_MODEL_FROM_DATABASE=ASR-2045G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045G) + + pci:v00009005d00000285sv00009005sd000002E0* +- ID_MODEL_FROM_DATABASE=ASR-2405G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405G) + + pci:v00009005d00000285sv00009005sd000002E1* +- ID_MODEL_FROM_DATABASE=ASR-2445G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445G) + + pci:v00009005d00000285sv00009005sd000002E2* +- ID_MODEL_FROM_DATABASE=ASR-2805G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805G) + + pci:v00009005d00000286* + ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) + + pci:v00009005d00000286sv00001014sd0000034D* +- ID_MODEL_FROM_DATABASE=8s ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (8s) + + pci:v00009005d00000286sv00001014sd00009540* +- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l4 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l4) + + pci:v00009005d00000286sv00001014sd00009580* +- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l8 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l8) + + pci:v00009005d00000286sv00009005sd0000028C* +- ID_MODEL_FROM_DATABASE=ASR-2230S + ASR-2230SLP PCI-X (Lancer) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2230S + ASR-2230SLP PCI-X (Lancer)) + + pci:v00009005d00000286sv00009005sd0000028D* +- ID_MODEL_FROM_DATABASE=ASR-2130S ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2130S) + + pci:v00009005d00000286sv00009005sd0000029B* +- ID_MODEL_FROM_DATABASE=ASR-2820SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2820SA) + + pci:v00009005d00000286sv00009005sd0000029C* +- ID_MODEL_FROM_DATABASE=ASR-2620SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2620SA) + + pci:v00009005d00000286sv00009005sd0000029D* +- ID_MODEL_FROM_DATABASE=ASR-2420SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2420SA) + + pci:v00009005d00000286sv00009005sd0000029E* +- ID_MODEL_FROM_DATABASE=ICP ICP9024R0 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9024R0) + + pci:v00009005d00000286sv00009005sd0000029F* +- ID_MODEL_FROM_DATABASE=ICP ICP9014R0 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9014R0) + + pci:v00009005d00000286sv00009005sd000002A0* +- ID_MODEL_FROM_DATABASE=ICP ICP9047MA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9047MA) + + pci:v00009005d00000286sv00009005sd000002A1* +- ID_MODEL_FROM_DATABASE=ICP ICP9087MA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9087MA) + + pci:v00009005d00000286sv00009005sd000002A2* +- ID_MODEL_FROM_DATABASE=3800 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3800) + + pci:v00009005d00000286sv00009005sd000002A3* +- ID_MODEL_FROM_DATABASE=ICP ICP5445AU ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5445AU) + + pci:v00009005d00000286sv00009005sd000002A4* +- ID_MODEL_FROM_DATABASE=ICP ICP9085LI ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9085LI) + + pci:v00009005d00000286sv00009005sd000002A5* +- ID_MODEL_FROM_DATABASE=ICP ICP5085BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085BR) + + pci:v00009005d00000286sv00009005sd000002A6* +- ID_MODEL_FROM_DATABASE=ICP9067MA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP9067MA) + + pci:v00009005d00000286sv00009005sd000002A7* +- ID_MODEL_FROM_DATABASE=3805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3805) + + pci:v00009005d00000286sv00009005sd000002A8* +- ID_MODEL_FROM_DATABASE=3400 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3400) + + pci:v00009005d00000286sv00009005sd000002A9* +- ID_MODEL_FROM_DATABASE=ICP ICP5085AU ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085AU) + + pci:v00009005d00000286sv00009005sd000002AA* +- ID_MODEL_FROM_DATABASE=ICP ICP5045AU ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AU) + + pci:v00009005d00000286sv00009005sd000002AC* +- ID_MODEL_FROM_DATABASE=1800 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (1800) + + pci:v00009005d00000286sv00009005sd000002B3* +- ID_MODEL_FROM_DATABASE=2400 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (2400) + + pci:v00009005d00000286sv00009005sd000002B4* +- ID_MODEL_FROM_DATABASE=ICP ICP5045AL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AL) + + pci:v00009005d00000286sv00009005sd00000800* +- ID_MODEL_FROM_DATABASE=Callisto ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (Callisto) + + pci:v00009005d0000028B* + ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 + + pci:v00009005d0000028Bsv00009005sd00000200* +- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000201* +- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000300* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6405 - 4 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6405 - 4 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000301* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6805 - 8 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6805 - 8 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000302* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000310* +- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000311* +- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS) + + pci:v00009005d0000028Bsv00009005sd00000400* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61205 - 12 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61205 - 12 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000401* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61605 - 16 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61605 - 16 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000403* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-62405 - 24 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-62405 - 24 internal 6G SAS ports) + + pci:v00009005d0000028C* + ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 + + pci:v00009005d0000028Csv00009005sd00000500* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000501* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000502* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000503* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000504* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000505* +- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000506* +- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028D* + ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 + + pci:v00009005d0000028Dsv00009005sd00000550* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000551* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000552* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000553* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000554* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d00000410* + ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) + + pci:v00009005d00000410sv00009005sd00000410* +- ID_MODEL_FROM_DATABASE=ASC-48300(Spirit RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-48300(Spirit RAID)) + + pci:v00009005d00000410sv00009005sd00000411* +- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-58300 (Oakmont RAID)) + + pci:v00009005d00000412* + ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) + + pci:v00009005d00000412sv00009005sd00000412* +- ID_MODEL_FROM_DATABASE=ASC-48300 (Spirit non-RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-48300 (Spirit non-RAID)) + + pci:v00009005d00000412sv00009005sd00000413* +- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont non-RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-58300 (Oakmont non-RAID)) + + pci:v00009005d00000415* + ID_MODEL_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA RAID) +@@ -72657,13 +72657,13 @@ pci:v00009005d00000430* + ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) + + pci:v00009005d00000430sv00009005sd00000430* +- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) (ASC-44300 (Spirit-Lite RAID)) + + pci:v00009005d00000432* + ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) + + pci:v00009005d00000432sv00009005sd00000432* +- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite non-RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) (ASC-44300 (Spirit-Lite non-RAID)) + + pci:v00009005d0000043E* + ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC non-RAID) +@@ -72678,22 +72678,22 @@ pci:v00009005d00000500* + ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller + + pci:v00009005d00000500sv00001014sd000002C1* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) + + pci:v00009005d00000500sv00001014sd000002C2* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/572D) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)) + + pci:v00009005d00000503* + ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller + + pci:v00009005d00000503sv00001014sd000002BF* +- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E) ++ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)) + + pci:v00009005d00000503sv00001014sd000002C3* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572F) ++ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572F)) + + pci:v00009005d00000503sv00001014sd000002D5* +- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F) ++ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)) + + pci:v00009005d00000910* + ID_MODEL_FROM_DATABASE=AUA-3100B +@@ -72714,10 +72714,10 @@ pci:v00009005d00008011* + ID_MODEL_FROM_DATABASE=ASC-39320D + + pci:v00009005d00008011sv00000E11sd000000AC* +- ID_MODEL_FROM_DATABASE=ASC-39320D U320 ++ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) + + pci:v00009005d00008011sv00009005sd00000041* +- ID_MODEL_FROM_DATABASE=ASC-39320D U320 ++ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) + + pci:v00009005d00008012* + ID_MODEL_FROM_DATABASE=ASC-29320 U320 +@@ -72738,10 +72738,10 @@ pci:v00009005d00008017* + ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 + + pci:v00009005d00008017sv00009005sd00000044* +- ID_MODEL_FROM_DATABASE=ASC-29320ALP PCIx U320 ++ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320ALP PCIx U320) + + pci:v00009005d00008017sv00009005sd00000045* +- ID_MODEL_FROM_DATABASE=ASC-29320LPE PCIe U320 ++ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320LPE PCIe U320) + + pci:v00009005d0000801C* + ID_MODEL_FROM_DATABASE=ASC-39320D U320 +@@ -72750,7 +72750,7 @@ pci:v00009005d0000801D* + ID_MODEL_FROM_DATABASE=AIC-7902B U320 + + pci:v00009005d0000801Dsv00001014sd000002CC* +- ID_MODEL_FROM_DATABASE=ServeRAID 7e ++ ID_MODEL_FROM_DATABASE=AIC-7902B U320 (ServeRAID 7e) + + pci:v00009005d0000801E* + ID_MODEL_FROM_DATABASE=AIC-7901A U320 +@@ -72759,7 +72759,7 @@ pci:v00009005d0000801F* + ID_MODEL_FROM_DATABASE=AIC-7902 U320 + + pci:v00009005d0000801Fsv00001734sd00001011* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX300 onboard SCSI ++ ID_MODEL_FROM_DATABASE=AIC-7902 U320 (PRIMERGY RX300 onboard SCSI) + + pci:v00009005d00008080* + ID_MODEL_FROM_DATABASE=ASC-29320A U320 w/HostRAID +@@ -72777,7 +72777,7 @@ pci:v00009005d0000808F* + ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID + + pci:v00009005d0000808Fsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID (Precision Workstation 670 Mainboard) + + pci:v00009005d00008090* + ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID +@@ -72810,7 +72810,7 @@ pci:v00009005d0000809D* + ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID + + pci:v00009005d0000809Dsv00001014sd000002CC* +- ID_MODEL_FROM_DATABASE=ServeRAID 7e ++ ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID (ServeRAID 7e) + + pci:v00009005d0000809E* + ID_MODEL_FROM_DATABASE=AIC-7901A U320 w/HostRAID +@@ -72858,7 +72858,7 @@ pci:v00009710d00009815* + ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller + + pci:v00009710d00009815sv00001000sd00000020* +- ID_MODEL_FROM_DATABASE=2P0S (2 port parallel adaptor) ++ ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller (2P0S (2 port parallel adaptor)) + + pci:v00009710d00009820* + ID_MODEL_FROM_DATABASE=PCI 9820 Multi-I/O Controller +@@ -72867,31 +72867,31 @@ pci:v00009710d00009835* + ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller + + pci:v00009710d00009835sv00001000sd00000002* +- ID_MODEL_FROM_DATABASE=2S (16C550 UART) ++ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (2S (16C550 UART)) + + pci:v00009710d00009835sv00001000sd00000012* +- ID_MODEL_FROM_DATABASE=1P2S ++ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (1P2S) + + pci:v00009710d00009845* + ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller + + pci:v00009710d00009845sv00001000sd00000004* +- ID_MODEL_FROM_DATABASE=0P4S (4 port 16550A serial card) ++ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P4S (4 port 16550A serial card)) + + pci:v00009710d00009845sv00001000sd00000006* +- ID_MODEL_FROM_DATABASE=0P6S (6 port 16550a serial card) ++ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P6S (6 port 16550a serial card)) + + pci:v00009710d00009845sv00001000sd00000014* +- ID_MODEL_FROM_DATABASE=1P4S (1 Parallel / 4 16550A Serial Port Adapter) ++ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (1P4S (1 Parallel / 4 16550A Serial Port Adapter)) + + pci:v00009710d00009855* + ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller + + pci:v00009710d00009855sv00001000sd00000014* +- ID_MODEL_FROM_DATABASE=1P4S ++ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (1P4S) + + pci:v00009710d00009855sv00001000sd00000022* +- ID_MODEL_FROM_DATABASE=2P2S (2 Parallel / 2 16550A Serial Port Adapter) ++ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (2P2S (2 Parallel / 2 16550A Serial Port Adapter)) + + pci:v00009710d00009865* + ID_MODEL_FROM_DATABASE=PCI 9865 Multi-I/O Controller +@@ -73350,40 +73350,40 @@ pci:v0000DD01d00000003* + ID_MODEL_FROM_DATABASE=Octopus DVB Adapter + + pci:v0000DD01d00000003sv0000DD01sd00000001* +- ID_MODEL_FROM_DATABASE=Octopus DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000002* +- ID_MODEL_FROM_DATABASE=Octopus LE DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus LE DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000003* +- ID_MODEL_FROM_DATABASE=Octopus OEM ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus OEM) + + pci:v0000DD01d00000003sv0000DD01sd00000004* +- ID_MODEL_FROM_DATABASE=Octopus V3 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus V3 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000010* +- ID_MODEL_FROM_DATABASE=Octopus Mini ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus Mini) + + pci:v0000DD01d00000003sv0000DD01sd00000020* +- ID_MODEL_FROM_DATABASE=Cine S2 V6 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000021* +- ID_MODEL_FROM_DATABASE=Cine S2 V6.5 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6.5 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000030* +- ID_MODEL_FROM_DATABASE=Cine CT V6.1 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine CT V6.1 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd0000DB03* +- ID_MODEL_FROM_DATABASE=Mystique SaTiX-S2 V3 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Mystique SaTiX-S2 V3 DVB adapter) + + pci:v0000DD01d00000011* + ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter + + pci:v0000DD01d00000011sv0000DD01sd00000040* +- ID_MODEL_FROM_DATABASE=Octopus CI ++ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI) + + pci:v0000DD01d00000011sv0000DD01sd00000041* +- ID_MODEL_FROM_DATABASE=Octopus CI Single ++ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI Single) + + pci:v0000DEAD* + ID_VENDOR_FROM_DATABASE=Indigita Corporation +@@ -73416,22 +73416,22 @@ pci:v0000E159d00000001* + ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface + + pci:v0000E159d00000001sv00000059sd00000001* +- ID_MODEL_FROM_DATABASE=128k ISDN-S/T Adapter ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-S/T Adapter) + + pci:v0000E159d00000001sv00000059sd00000003* +- ID_MODEL_FROM_DATABASE=128k ISDN-U Adapter ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-U Adapter) + + pci:v0000E159d00000001sv000000A7sd00000001* +- ID_MODEL_FROM_DATABASE=TELES.S0/PCI 2.x ISDN Adapter ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (TELES.S0/PCI 2.x ISDN Adapter) + + pci:v0000E159d00000001sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Digium X100P/X101P analogue PSTN FXO interface ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (Digium X100P/X101P analogue PSTN FXO interface) + + pci:v0000E159d00000001sv0000B100sd00000003* +- ID_MODEL_FROM_DATABASE=OpenVox A400P 4-port analog card ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (OpenVox A400P 4-port analog card) + + pci:v0000E159d00000001sv0000B1D9sd00000003* +- ID_MODEL_FROM_DATABASE=AX400P 4-port analog card ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (AX400P 4-port analog card) + + pci:v0000E159d00000002* + ID_MODEL_FROM_DATABASE=Tiger100APC ISDN chipset +-- +1.7.9.2 + diff --git a/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..5f097f39 --- /dev/null +++ b/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,38 @@ +From f89b42ec0fd51feab5566d6bdbacee101023c037 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Tue, 25 Mar 2014 20:21:23 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 7d86f10..b928f5a 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -923,3 +923,21 @@ bluetooth:v0130* + + bluetooth:v0131* + ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation ++ ++bluetooth:v0132* ++ ID_VENDOR_FROM_DATABASE=MADS Inc ++ ++bluetooth:v0133* ++ ID_VENDOR_FROM_DATABASE=Blue Maestro Limited ++ ++bluetooth:v0134* ++ ID_VENDOR_FROM_DATABASE=Resolution Products, Inc. ++ ++bluetooth:v0135* ++ ID_VENDOR_FROM_DATABASE=Airewear LLC ++ ++bluetooth:v0136* ++ ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o. ++ ++bluetooth:v0137* ++ ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. +-- +1.7.9.2 + diff --git a/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch b/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch new file mode 100644 index 00000000..596702d6 --- /dev/null +++ b/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch @@ -0,0 +1,174 @@ +From f9cd6be10ece07e10488c05e270a0b5860779864 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 20:49:33 +0100 +Subject: [PATCH] logind: ignore lid switch events for 30s after each suspend + and 3min after startup + +This is needed to give USB docking stations and suchlike time to settle, +so that a display connected to an USB docking station can actually act +as a lid swith inhibitor correctly. + +With this change we should have somewhat reliable docking station +support in place. +--- + src/login/logind-action.c | 15 ++++++++++++++- + src/login/logind-dbus.c | 3 +++ + src/login/logind.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + src/login/logind.h | 7 +++++++ + 4 files changed, 69 insertions(+), 1 deletion(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index c9d8bc5..ae7b350 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -70,20 +70,33 @@ int manager_handle_action( + return 0; + } + +- /* If we are docked don't react to lid closing */ + if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { + int n; + ++ /* If we are docked don't react to lid closing */ + if (manager_is_docked(m)) { + log_debug("Ignoring lid switch request, system is docked."); + return 0; + } + ++ /* If we have more than one or no displays connected, ++ * don't react to lid closing. The no display case we ++ * treat like this under the assumption that there is ++ * no modern drm driver available. */ + n = manager_count_displays(m); + if (n != 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } ++ ++ /* If the last system suspend or startup is too close, ++ * let's not suspend for now, to give USB docking ++ * stations some time to settle so that we can ++ * properly watch its displays. */ ++ if (m->lid_switch_ignore_event_source) { ++ log_debug("Ignoring lid switch request, system startup or resume too close."); ++ return 0; ++ } + } + + /* If the key handling is inhibited, don't do anything */ +diff --git src/login/logind-dbus.c src/login/logind-dbus.c +index fc89531..c9c58f3 100644 +--- src/login/logind-dbus.c ++++ src/login/logind-dbus.c +@@ -1337,6 +1337,9 @@ static int execute_shutdown_or_sleep( + m->action_job = c; + m->action_what = w; + ++ /* Make sure the lid switch is ignored for a while */ ++ manager_set_lid_switch_ignore(m, now(CLOCK_MONOTONIC) + IGNORE_LID_SWITCH_SUSPEND_USEC); ++ + return 0; + } + +diff --git src/login/logind.c src/login/logind.c +index 10f61ab..fd113b3 100644 +--- src/login/logind.c ++++ src/login/logind.c +@@ -144,6 +144,7 @@ void manager_free(Manager *m) { + sd_event_source_unref(m->udev_device_event_source); + sd_event_source_unref(m->udev_vcsa_event_source); + sd_event_source_unref(m->udev_button_event_source); ++ sd_event_source_unref(m->lid_switch_ignore_event_source); + + if (m->console_active_fd >= 0) + close_nointr_nofail(m->console_active_fd); +@@ -959,6 +960,46 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us + return 0; + } + ++static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(e); ++ assert(m); ++ ++ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); ++ return 0; ++} ++ ++int manager_set_lid_switch_ignore(Manager *m, usec_t until) { ++ int r; ++ ++ assert(m); ++ ++ if (until <= now(CLOCK_MONOTONIC)) ++ return 0; ++ ++ /* We want to ignore the lid switch for a while after each ++ * suspend, and after boot-up. Hence let's install a timer for ++ * this. As long as the event source exists we ignore the lid ++ * switch. */ ++ ++ if (m->lid_switch_ignore_event_source) { ++ usec_t u; ++ ++ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); ++ if (r < 0) ++ return r; ++ ++ if (until <= u) ++ return 0; ++ ++ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); ++ } else ++ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); ++ ++ return r; ++} ++ + int manager_startup(Manager *m) { + int r; + Seat *seat; +@@ -994,6 +1035,10 @@ int manager_startup(Manager *m) { + return r; + } + ++ r = manager_set_lid_switch_ignore(m, 0 + IGNORE_LID_SWITCH_STARTUP_USEC); ++ if (r < 0) ++ log_warning("Failed to set up lid switch ignore event source: %s", strerror(-r)); ++ + /* Deserialize state */ + r = manager_enumerate_devices(m); + if (r < 0) +diff --git src/login/logind.h src/login/logind.h +index 74d6641..4bb8e7b 100644 +--- src/login/logind.h ++++ src/login/logind.h +@@ -42,6 +42,9 @@ typedef struct Manager Manager; + #include "logind-button.h" + #include "logind-action.h" + ++#define IGNORE_LID_SWITCH_STARTUP_USEC (3 * USEC_PER_MINUTE) ++#define IGNORE_LID_SWITCH_SUSPEND_USEC (30 * USEC_PER_SEC) ++ + struct Manager { + sd_event *event; + sd_bus *bus; +@@ -118,6 +121,8 @@ struct Manager { + bool lid_switch_ignore_inhibited; + + Hashmap *polkit_registry; ++ ++ sd_event_source *lid_switch_ignore_event_source; + }; + + Manager *manager_new(void); +@@ -178,3 +183,5 @@ const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned lengt + + int manager_watch_busname(Manager *manager, const char *name); + void manager_drop_busname(Manager *manager, const char *name); ++ ++int manager_set_lid_switch_ignore(Manager *m, usec_t until); +-- +1.7.9.2 + diff --git a/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch b/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch new file mode 100644 index 00000000..070a9100 --- /dev/null +++ b/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch @@ -0,0 +1,40 @@ +From 05a2f6fefedd7254fd799502191d025d2908cf74 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Sat, 12 Apr 2014 08:37:38 +0300 +Subject: [PATCH] man: mention XDG_CONFIG_HOME in systemd.unit + +--- + man/systemd.unit.xml | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 07a73fd..bcd4ba8 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -70,7 +70,8 @@ + ... + + +- $HOME/.config/systemd/user/* ++ $XDG_CONFIG_HOME/systemd/user/* ++$HOME/.config/systemd/user/* + /etc/systemd/user/* + /run/systemd/user/* + /usr/lib/systemd/user/* +@@ -320,8 +321,12 @@ + + + ++ $XDG_CONFIG_HOME/systemd/user ++ User configuration (only used when $XDG_CONFIG_HOME is set) ++ ++ + $HOME/.config/systemd/user +- User configuration ++ User configuration (only used when $XDG_CONFIG_HOME is not set) + + + /etc/systemd/user +-- +1.7.9.2 + diff --git a/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..7ae03b91 --- /dev/null +++ b/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,50 @@ +From b189101727e80a09864c5e5880663ef565467f19 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Sat, 12 Apr 2014 10:38:16 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index b928f5a..28aa2a7 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -733,7 +733,7 @@ bluetooth:v00F1* + ID_VENDOR_FROM_DATABASE=Witron Technology Limited + + bluetooth:v00F2* +- ID_VENDOR_FROM_DATABASE=Morse Project Inc. ++ ID_VENDOR_FROM_DATABASE=Aether Things Inc. (formerly Morse Project Inc.) + + bluetooth:v00F3* + ID_VENDOR_FROM_DATABASE=Kent Displays Inc. +@@ -941,3 +941,24 @@ bluetooth:v0136* + + bluetooth:v0137* + ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. ++ ++bluetooth:v0138* ++ ID_VENDOR_FROM_DATABASE=NTEO Inc. ++ ++bluetooth:v0139* ++ ID_VENDOR_FROM_DATABASE=Focus Systems Corporation ++ ++bluetooth:v013A* ++ ID_VENDOR_FROM_DATABASE=Tencent Holdings Limited ++ ++bluetooth:v013B* ++ ID_VENDOR_FROM_DATABASE=Allegion ++ ++bluetooth:v013C* ++ ID_VENDOR_FROM_DATABASE=Murata Manufacuring Co., Ltd. ++ ++bluetooth:v013D* ++ ID_VENDOR_FROM_DATABASE=WirelessWERX ++ ++bluetooth:v013E* ++ ID_VENDOR_FROM_DATABASE=nimai +-- +1.7.9.2 + diff --git a/0004-hwdb-update.patch b/0004-hwdb-update.patch new file mode 100644 index 00000000..572bcd32 --- /dev/null +++ b/0004-hwdb-update.patch @@ -0,0 +1,3964 @@ +From 61fb23db45c626d92b4e33f09b9287f58a3625a5 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 5 May 2014 14:23:10 +0200 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 295 +++++++++++- + hwdb/20-pci-vendor-model.hwdb | 174 ++++++-- + hwdb/20-usb-vendor-model.hwdb | 992 +++++++++++++++++++++++++++++++++++++++-- + 3 files changed, 1368 insertions(+), 93 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 17794ed..afc0d90 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -13940,7 +13940,7 @@ OUI:000063* + ID_OUI_FROM_DATABASE=BARCO CONTROL ROOMS GMBH + + OUI:000064* +- ID_OUI_FROM_DATABASE=YOKOGAWA DIGITAL COMPUTER CORP ++ ID_OUI_FROM_DATABASE=Yokogawa Electric Corporation + + OUI:000065* + ID_OUI_FROM_DATABASE=Network General Corporation +@@ -14927,7 +14927,7 @@ OUI:0001AE* + ID_OUI_FROM_DATABASE=Trex Enterprises + + OUI:0001AF* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:0001B0* + ID_OUI_FROM_DATABASE=Fulltek Technology Co., Ltd. +@@ -18272,7 +18272,7 @@ OUI:00060A* + ID_OUI_FROM_DATABASE=Blue2space + + OUI:00060B* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:00060C* + ID_OUI_FROM_DATABASE=Melco Industries, Inc. +@@ -20441,7 +20441,7 @@ OUI:0008F8* + ID_OUI_FROM_DATABASE=UTC CCS + + OUI:0008F9* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:0008FA* + ID_OUI_FROM_DATABASE=Karl E.Brinkmann GmbH +@@ -46612,6 +46612,9 @@ OUI:0064A6* + OUI:00664B* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:006B8E* ++ ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. ++ + OUI:006B9E* + ID_OUI_FROM_DATABASE=VIZIO Inc + +@@ -46850,7 +46853,7 @@ OUI:008041* + ID_OUI_FROM_DATABASE=VEB KOMBINAT ROBOTRON + + OUI:008042* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:008043* + ID_OUI_FROM_DATABASE=NETWORLD, INC. +@@ -49919,7 +49922,7 @@ OUI:00C0F8* + ID_OUI_FROM_DATABASE=ABOUT COMPUTING INC. + + OUI:00C0F9* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:00C0FA* + ID_OUI_FROM_DATABASE=CANARY COMMUNICATIONS, INC. +@@ -50957,7 +50960,7 @@ OUI:00E034* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:00E035* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:00E036* + ID_OUI_FROM_DATABASE=PIONEER CORPORATION +@@ -52477,6 +52480,9 @@ OUI:0838A5* + OUI:083AB8* + ID_OUI_FROM_DATABASE=Shinoda Plasma Co., Ltd. + ++OUI:083D88* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:083E0C* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -52495,9 +52501,6 @@ OUI:084027* + OUI:08482C* + ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. + +-OUI:084929* +- ID_OUI_FROM_DATABASE=CYBATI +- + OUI:084E1C* + ID_OUI_FROM_DATABASE=H2A Systems, LLC + +@@ -52867,6 +52870,9 @@ OUI:0C8910* + OUI:0C8BFD* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:0C8C8F* ++ ID_OUI_FROM_DATABASE=Kamo Technology Limited ++ + OUI:0C8CDC* + ID_OUI_FROM_DATABASE=Suunto Oy + +@@ -53515,6 +53521,9 @@ OUI:1499E2* + OUI:149FE8* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:14A364* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:14A62C* + ID_OUI_FROM_DATABASE=S.M. Dezac S.A. + +@@ -54403,6 +54412,9 @@ OUI:20918A* + OUI:2091D9* + ID_OUI_FROM_DATABASE=I'M SPA + ++OUI:20934D* ++ ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd ++ + OUI:209AE9* + ID_OUI_FROM_DATABASE=Volacomm Co., Ltd + +@@ -54598,6 +54610,9 @@ OUI:24470E* + OUI:24497B* + ID_OUI_FROM_DATABASE=Innovative Converged Devices Inc + ++OUI:244F1D* ++ ID_OUI_FROM_DATABASE=iRule LLC ++ + OUI:245FDF* + ID_OUI_FROM_DATABASE=KYOCERA Corporation + +@@ -54751,6 +54766,9 @@ OUI:24DEC6* + OUI:24E271* + ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd + ++OUI:24E314* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:24E6BA* + ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky + +@@ -54829,6 +54847,9 @@ OUI:2826A6* + OUI:28285D* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + ++OUI:2829CC* ++ ID_OUI_FROM_DATABASE=Corsa Technology Incorporated ++ + OUI:2829D9* + ID_OUI_FROM_DATABASE=GlobalBeiMing technology (Beijing)Co. Ltd + +@@ -55087,12 +55108,18 @@ OUI:28E14C* + OUI:28E297* + ID_OUI_FROM_DATABASE=Shanghai InfoTM Microelectronics Co.,Ltd. + ++OUI:28E31F* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:28E347* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + + OUI:28E608* + ID_OUI_FROM_DATABASE=Tokheim + ++OUI:28E6E9* ++ ID_OUI_FROM_DATABASE=SIS Sat Internet Services GmbH ++ + OUI:28E794* + ID_OUI_FROM_DATABASE=Microtime Computer Inc. + +@@ -55225,6 +55252,9 @@ OUI:2C534A* + OUI:2C542D* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:2C54CF* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:2C553C* + ID_OUI_FROM_DATABASE=Gainspeed, Inc. + +@@ -55330,6 +55360,9 @@ OUI:2CA835* + OUI:2CAB25* + ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd + ++OUI:2CABA4* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:2CB05D* + ID_OUI_FROM_DATABASE=NETGEAR + +@@ -55456,6 +55489,9 @@ OUI:303294* + OUI:3032D4* + ID_OUI_FROM_DATABASE=Hanilstm Co., Ltd. + ++OUI:303335* ++ ID_OUI_FROM_DATABASE=Boosty ++ + OUI:3037A6* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -55888,6 +55924,9 @@ OUI:34BA9A* + OUI:34BB1F* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:34BB26* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:34BCA6* + ID_OUI_FROM_DATABASE=Beijing Ding Qing Technology, Ltd. + +@@ -55975,6 +56014,9 @@ OUI:34EF44* + OUI:34EF8B* + ID_OUI_FROM_DATABASE=NTT Communications Corporation + ++OUI:34F0CA* ++ ID_OUI_FROM_DATABASE=Shenzhen Linghangyuan Digital Technology Co.,Ltd. ++ + OUI:34F39B* + ID_OUI_FROM_DATABASE=WizLAN Ltd. + +@@ -56023,6 +56065,9 @@ OUI:381766* + OUI:38192F* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:381C1A* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:381C4A* + ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd. + +@@ -56236,6 +56281,9 @@ OUI:38F597* + OUI:38F708* + ID_OUI_FROM_DATABASE=National Resource Management, Inc. + ++OUI:38F889* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:38F8B7* + ID_OUI_FROM_DATABASE=V2COM PARTICIPACOES S.A. + +@@ -56287,6 +56335,9 @@ OUI:3C15C2* + OUI:3C15EA* + ID_OUI_FROM_DATABASE=TESCOM CO., LTD. + ++OUI:3C189F* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:3C18A0* + ID_OUI_FROM_DATABASE=Luxshare Precision Industry Co.,Ltd. + +@@ -56521,6 +56572,9 @@ OUI:3CD7DA* + OUI:3CD92B* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + ++OUI:3CD9CE* ++ ID_OUI_FROM_DATABASE=Eclipse WiFi ++ + OUI:3CDF1E* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -56725,6 +56779,9 @@ OUI:407A80* + OUI:407B1B* + ID_OUI_FROM_DATABASE=Mettle Networks Inc. + ++OUI:408256* ++ ID_OUI_FROM_DATABASE=Continental Automotive GmbH ++ + OUI:4083DE* + ID_OUI_FROM_DATABASE=Motorola + +@@ -56818,6 +56875,9 @@ OUI:40C245* + OUI:40C4D6* + ID_OUI_FROM_DATABASE=ChongQing Camyu Technology Development Co.,Ltd. + ++OUI:40C62A* ++ ID_OUI_FROM_DATABASE=Shanghai Jing Ren Electronic Technology Co., Ltd. ++ + OUI:40C7C9* + ID_OUI_FROM_DATABASE=Naviit Inc. + +@@ -57001,6 +57061,9 @@ OUI:446132* + OUI:44619C* + ID_OUI_FROM_DATABASE=FONsystem co. ltd. + ++OUI:44666E* ++ ID_OUI_FROM_DATABASE=IP-LINE ++ + OUI:446755* + ID_OUI_FROM_DATABASE=Orbit Irrigation + +@@ -57019,6 +57082,9 @@ OUI:44700B* + OUI:447098* + ID_OUI_FROM_DATABASE=MING HONG TECHNOLOGY (SHEN ZHEN) LIMITED + ++OUI:44746C* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:447BC4* + ID_OUI_FROM_DATABASE=DualShine Technology(SZ)Co.,Ltd + +@@ -57079,6 +57145,9 @@ OUI:44A42D* + OUI:44A689* + ID_OUI_FROM_DATABASE=PROMAX ELECTRONICA SA + ++OUI:44A6E5* ++ ID_OUI_FROM_DATABASE=THINKING TECHNOLOGY CO.,LTD ++ + OUI:44A7CF* + ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. + +@@ -57178,6 +57247,9 @@ OUI:48022A* + OUI:480362* + ID_OUI_FROM_DATABASE=DESAY ELECTRONICS(HUIZHOU)CO.,LTD + ++OUI:480C49* ++ ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC ++ + OUI:481249* + ID_OUI_FROM_DATABASE=Luxcom Technologies Inc. + +@@ -57463,6 +57535,9 @@ OUI:4C2258* + OUI:4C2578* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:4C26E7* ++ ID_OUI_FROM_DATABASE=Welgate Co., Ltd. ++ + OUI:4C2C80* + ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd + +@@ -57535,6 +57610,9 @@ OUI:4C63EB* + OUI:4C64D9* + ID_OUI_FROM_DATABASE=Guangdong Leawin Group Co., Ltd + ++OUI:4C6E6E* ++ ID_OUI_FROM_DATABASE=Comnect Technology CO.,LTD ++ + OUI:4C72B9* + ID_OUI_FROM_DATABASE=Pegatron Corporation + +@@ -57565,6 +57643,9 @@ OUI:4C8093* + OUI:4C82CF* + ID_OUI_FROM_DATABASE=Echostar Technologies + ++OUI:4C83DE* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:4C8B30* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + +@@ -57592,6 +57673,9 @@ OUI:4C9E80* + OUI:4C9EE4* + ID_OUI_FROM_DATABASE=Hanyang Navicom Co.,Ltd. + ++OUI:4C9EFF* ++ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp ++ + OUI:4CA56D* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -57775,6 +57859,9 @@ OUI:504A6E* + OUI:504F94* + ID_OUI_FROM_DATABASE=Loxone Electronics GmbH + ++OUI:505065* ++ ID_OUI_FROM_DATABASE=TAKT Corporation ++ + OUI:505663* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -57808,6 +57895,9 @@ OUI:506313* + OUI:506441* + ID_OUI_FROM_DATABASE=Greenlee + ++OUI:506787* ++ ID_OUI_FROM_DATABASE=iTellus ++ + OUI:5067F0* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + +@@ -58693,6 +58783,12 @@ OUI:5CAC4C* + OUI:5CB524* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:5CB6CC* ++ ID_OUI_FROM_DATABASE=NovaComm Technologies Inc. ++ ++OUI:5CB8CB* ++ ID_OUI_FROM_DATABASE=Allis Communications ++ + OUI:5CBD9E* + ID_OUI_FROM_DATABASE=HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED + +@@ -58789,6 +58885,9 @@ OUI:5CF8A1* + OUI:5CF938* + ID_OUI_FROM_DATABASE=Apple, Inc + ++OUI:5CF96A* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:5CF9DD* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -58927,6 +59026,9 @@ OUI:60748D* + OUI:607688* + ID_OUI_FROM_DATABASE=Velodyne + ++OUI:6077E2* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:60812B* + ID_OUI_FROM_DATABASE=Custom Control Concepts + +@@ -59074,6 +59176,9 @@ OUI:60E00E* + OUI:60E327* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:60E701* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:60E956* + ID_OUI_FROM_DATABASE=Ayla Networks, Inc + +@@ -59131,6 +59236,9 @@ OUI:6405BE* + OUI:64094C* + ID_OUI_FROM_DATABASE=Beijing Superbee Wireless Technology Co.,Ltd + ++OUI:640980* ++ ID_OUI_FROM_DATABASE=XIAOMI Electronics,CO.,LTD ++ + OUI:640B4A* + ID_OUI_FROM_DATABASE=Digital Telecom Technology Limited + +@@ -59254,6 +59362,9 @@ OUI:645FFF* + OUI:646223* + ID_OUI_FROM_DATABASE=Cellient Co., Ltd. + ++OUI:64649B* ++ ID_OUI_FROM_DATABASE=juniper networks ++ + OUI:6465C0* + ID_OUI_FROM_DATABASE=Nuvon, Inc + +@@ -59680,6 +59791,9 @@ OUI:689C5E* + OUI:689C70* + ID_OUI_FROM_DATABASE=Apple + ++OUI:68A0F6* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:68A1B7* + ID_OUI_FROM_DATABASE=Honghao Mingchuan Technology (Beijing) CO.,Ltd. + +@@ -60130,6 +60244,9 @@ OUI:702B1D* + OUI:702C1F* + ID_OUI_FROM_DATABASE=Wisol + ++OUI:702DD1* ++ ID_OUI_FROM_DATABASE=Newings Communication CO., LTD. ++ + OUI:702F4B* + ID_OUI_FROM_DATABASE=PolyVision Inc. + +@@ -60211,6 +60328,9 @@ OUI:705986* + OUI:705AB6* + ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. + ++OUI:705B2E* ++ ID_OUI_FROM_DATABASE=M2Communication Inc. ++ + OUI:705CAD* + ID_OUI_FROM_DATABASE=Konami Gaming Inc + +@@ -60568,6 +60688,9 @@ OUI:748EF8* + OUI:748F1B* + ID_OUI_FROM_DATABASE=MasterImage 3D + ++OUI:748F4D* ++ ID_OUI_FROM_DATABASE=MEN Mikro Elektronik GmbH ++ + OUI:749050* + ID_OUI_FROM_DATABASE=Renesas Electronics Corporation + +@@ -60694,6 +60817,9 @@ OUI:74F07D* + OUI:74F102* + ID_OUI_FROM_DATABASE=Beijing HCHCOM Technology Co., Ltd + ++OUI:74F413* ++ ID_OUI_FROM_DATABASE=Maxwell Forest ++ + OUI:74F612* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -61582,6 +61708,9 @@ OUI:806CBC* + OUI:80711F* + ID_OUI_FROM_DATABASE=Juniper Networks + ++OUI:80717A* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:807693* + ID_OUI_FROM_DATABASE=Newag SA + +@@ -61633,6 +61762,9 @@ OUI:80946C* + OUI:8096B1* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:8096CA* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind Co.,Ltd ++ + OUI:80971B* + ID_OUI_FROM_DATABASE=Altenergy Power System,Inc. + +@@ -61699,6 +61831,9 @@ OUI:80D019* + OUI:80D18B* + ID_OUI_FROM_DATABASE=Hangzhou I'converge Technology Co.,Ltd + ++OUI:80D21D* ++ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc ++ + OUI:80D433* + ID_OUI_FROM_DATABASE=LzLabs GmbH + +@@ -62356,6 +62491,9 @@ OUI:8C2F39* + OUI:8C3330* + ID_OUI_FROM_DATABASE=EmFirst Co., Ltd. + ++OUI:8C3357* ++ ID_OUI_FROM_DATABASE=HiteVision Digital Media Technology Co.,Ltd. ++ + OUI:8C3AE3* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -62842,6 +62980,9 @@ OUI:90B134* + OUI:90B21F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:90B686* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:90B8D0* + ID_OUI_FROM_DATABASE=Joyent, Inc. + +@@ -62887,6 +63028,9 @@ OUI:90D92C* + OUI:90DA4E* + ID_OUI_FROM_DATABASE=AVANU + ++OUI:90DA6A* ++ ID_OUI_FROM_DATABASE=MCC System Co., Ltd. ++ + OUI:90DB46* + ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD + +@@ -63100,6 +63244,9 @@ OUI:94ACCA* + OUI:94AE61* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:94AEE3* ++ ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. ++ + OUI:94B8C5* + ID_OUI_FROM_DATABASE=RuggedCom Inc. + +@@ -63151,6 +63298,9 @@ OUI:94CE2C* + OUI:94D019* + ID_OUI_FROM_DATABASE=Cydle Corp. + ++OUI:94D60E* ++ ID_OUI_FROM_DATABASE=shenzhen yunmao information technologies co., ltd ++ + OUI:94D723* + ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd + +@@ -63730,6 +63880,9 @@ OUI:9CC077* + OUI:9CC0D2* + ID_OUI_FROM_DATABASE=Conductix-Wampfler AG + ++OUI:9CC172* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:9CC7A6* + ID_OUI_FROM_DATABASE=AVM GmbH + +@@ -63799,6 +63952,9 @@ OUI:A002DC* + OUI:A00363* + ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH + ++OUI:A00627* ++ ID_OUI_FROM_DATABASE=NEXPA System ++ + OUI:A00798* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -63898,6 +64054,9 @@ OUI:A051C6* + OUI:A055DE* + ID_OUI_FROM_DATABASE=Pace plc + ++OUI:A056B2* ++ ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH ++ + OUI:A0593A* + ID_OUI_FROM_DATABASE=V.D.S. Video Display Systems srl + +@@ -64234,6 +64393,9 @@ OUI:A45C27* + OUI:A45D36* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A45DA1* ++ ID_OUI_FROM_DATABASE=ADB Broadband Italia ++ + OUI:A46032* + ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD + +@@ -64312,6 +64474,9 @@ OUI:A49F89* + OUI:A4A24A* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:A4A4D3* ++ ID_OUI_FROM_DATABASE=Bluebank Communication Technology Co.Ltd ++ + OUI:A4A80F* + ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd. + +@@ -64462,6 +64627,9 @@ OUI:A80600* + OUI:A80C0D* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:A81374* ++ ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company ++ + OUI:A8154D* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + +@@ -64495,6 +64663,9 @@ OUI:A82BD6* + OUI:A830AD* + ID_OUI_FROM_DATABASE=Wei Fang Goertek Electronics Co.,Ltd + ++OUI:A8329A* ++ ID_OUI_FROM_DATABASE=Digicom Futuristic Technologies Ltd. ++ + OUI:A83944* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + +@@ -64582,6 +64753,9 @@ OUI:A88CEE* + OUI:A88D7B* + ID_OUI_FROM_DATABASE=SunDroid Global limited. + ++OUI:A88E24* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:A8922C* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -64903,6 +65077,9 @@ OUI:AC9CE4* + OUI:ACA016* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:ACA213* ++ ID_OUI_FROM_DATABASE=Shenzhen Bilian electronic CO.,LTD ++ + OUI:ACA22C* + ID_OUI_FROM_DATABASE=Baycity Technologies Ltd + +@@ -65068,6 +65245,9 @@ OUI:B01B7C* + OUI:B01C91* + ID_OUI_FROM_DATABASE=Elim Co + ++OUI:B01F81* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:B024F3* + ID_OUI_FROM_DATABASE=Progeny Systems + +@@ -65113,6 +65293,9 @@ OUI:B058C4* + OUI:B05B1F* + ID_OUI_FROM_DATABASE=THERMO FISHER SCIENTIFIC S.P.A. + ++OUI:B05B67* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:B05CE5* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -65338,6 +65521,9 @@ OUI:B407F9* + OUI:B40832* + ID_OUI_FROM_DATABASE=TC Communications + ++OUI:B40AC6* ++ ID_OUI_FROM_DATABASE=DEXON Systems Ltd. ++ + OUI:B40B44* + ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. + +@@ -65533,6 +65719,9 @@ OUI:B4AA4D* + OUI:B4AB2C* + ID_OUI_FROM_DATABASE=MtM Technology Corporation + ++OUI:B4AE6F* ++ ID_OUI_FROM_DATABASE=Circle Reliance, Inc. ++ + OUI:B4B017* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -65566,6 +65755,9 @@ OUI:B4C810* + OUI:B4CCE9* + ID_OUI_FROM_DATABASE=PROSYST + ++OUI:B4CEF6* ++ ID_OUI_FROM_DATABASE=HTC Corporation ++ + OUI:B4CFDB* + ID_OUI_FROM_DATABASE=Shenzhen Jiuzhou Electric Co.,LTD + +@@ -65812,6 +66004,9 @@ OUI:B898B0* + OUI:B898F7* + ID_OUI_FROM_DATABASE=Gionee Communication Equipment Co,Ltd.ShenZhen + ++OUI:B89919* ++ ID_OUI_FROM_DATABASE=7signal Solutions, Inc ++ + OUI:B89AED* + ID_OUI_FROM_DATABASE=OceanServer Technology, Inc + +@@ -66160,6 +66355,9 @@ OUI:BC9889* + OUI:BC99BC* + ID_OUI_FROM_DATABASE=FonSee Technology Inc. + ++OUI:BC9CC5* ++ ID_OUI_FROM_DATABASE=Beijing Huafei Technology Co., Ltd. ++ + OUI:BC9DA5* + ID_OUI_FROM_DATABASE=DASCOM Europe GmbH + +@@ -66511,6 +66709,9 @@ OUI:C0EAE4* + OUI:C0F1C4* + ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. + ++OUI:C0F2FB* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:C0F79D* + ID_OUI_FROM_DATABASE=Powercode + +@@ -66613,6 +66814,9 @@ OUI:C43C3C* + OUI:C43DC7* + ID_OUI_FROM_DATABASE=NETGEAR + ++OUI:C44202* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:C4438F* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -66634,6 +66838,9 @@ OUI:C44AD0* + OUI:C44B44* + ID_OUI_FROM_DATABASE=Omniprint Inc. + ++OUI:C44BD1* ++ ID_OUI_FROM_DATABASE=Wallys Communications Teachnologies Co.,Ltd. ++ + OUI:C44E1F* + ID_OUI_FROM_DATABASE=BlueN + +@@ -66835,6 +67042,9 @@ OUI:C4F57C* + OUI:C4FCE4* + ID_OUI_FROM_DATABASE=DishTV NZ Ltd + ++OUI:C80210* ++ ID_OUI_FROM_DATABASE=LG Innotek ++ + OUI:C80258* + ID_OUI_FROM_DATABASE=ITW GSE ApS + +@@ -67363,6 +67573,9 @@ OUI:CC9F35* + OUI:CCA0E5* + ID_OUI_FROM_DATABASE=DZG Metering GmbH + ++OUI:CCA223* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:CCA374* + ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd + +@@ -67498,6 +67711,9 @@ OUI:CCFE3C* + OUI:D00790* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:D00AAB* ++ ID_OUI_FROM_DATABASE=Yokogawa Digital Computer Corporation ++ + OUI:D00EA4* + ID_OUI_FROM_DATABASE=Porsche Cars North America + +@@ -67576,6 +67792,9 @@ OUI:D05875* + OUI:D059C3* + ID_OUI_FROM_DATABASE=CeraMicro Technology Corporation + ++OUI:D059E4* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:D05A0F* + ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD + +@@ -68248,6 +68467,9 @@ OUI:D86595* + OUI:D866C6* + ID_OUI_FROM_DATABASE=Shenzhen Daystar Technology Co.,ltd + ++OUI:D866EE* ++ ID_OUI_FROM_DATABASE=BOXIN COMMUNICATION CO.,LTD. ++ + OUI:D867D9* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -68542,6 +68764,9 @@ OUI:DC49C9* + OUI:DC4EDE* + ID_OUI_FROM_DATABASE=SHINYEI TECHNOLOGY CO., LTD. + ++OUI:DC537C* ++ ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc. ++ + OUI:DC5726* + ID_OUI_FROM_DATABASE=Power-One + +@@ -69112,6 +69337,9 @@ OUI:E45614* + OUI:E457A8* + ID_OUI_FROM_DATABASE=Stuart Manufacturing, Inc. + ++OUI:E45D52* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:E46449* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -69298,6 +69526,9 @@ OUI:E81132* + OUI:E81324* + ID_OUI_FROM_DATABASE=GuangZhou Bonsoninfo System CO.,LTD + ++OUI:E8150E* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:E817FC* + ID_OUI_FROM_DATABASE=NIFTY Corporation + +@@ -69373,6 +69604,9 @@ OUI:E85B5B* + OUI:E85BF0* + ID_OUI_FROM_DATABASE=Imaging Diagnostics + ++OUI:E85D6B* ++ ID_OUI_FROM_DATABASE=Luminate Wireless ++ + OUI:E85E53* + ID_OUI_FROM_DATABASE=Infratec Datentechnik GmbH + +@@ -69409,6 +69643,9 @@ OUI:E878A1* + OUI:E87AF3* + ID_OUI_FROM_DATABASE=S5 Tech S.r.l. + ++OUI:E8802E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:E880D8* + ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. + +@@ -69719,7 +69956,7 @@ OUI:EC9B5B* + ID_OUI_FROM_DATABASE=Nokia Corporation + + OUI:EC9ECD* +- ID_OUI_FROM_DATABASE=Emerson Network Power and Embedded Computing ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:ECA29B* + ID_OUI_FROM_DATABASE=Kemppi Oy +@@ -69745,6 +69982,9 @@ OUI:ECC38A* + OUI:ECC882* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:ECCB30* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:ECCD6D* + ID_OUI_FROM_DATABASE=Allied Telesis, Inc. + +@@ -69763,6 +70003,9 @@ OUI:ECD925* + OUI:ECD950* + ID_OUI_FROM_DATABASE=IRT SA + ++OUI:ECD9D1* ++ ID_OUI_FROM_DATABASE=Shenzhen TG-NET Botone Technology Co.,Ltd. ++ + OUI:ECDE3D* + ID_OUI_FROM_DATABASE=Lamprey Networks, Inc. + +@@ -70144,6 +70387,12 @@ OUI:F406A5* + OUI:F40B93* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:F40E11* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ ++OUI:F40F1B* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F40F9B* + ID_OUI_FROM_DATABASE=WAVELINK + +@@ -70165,6 +70414,9 @@ OUI:F41FC2* + OUI:F42012* + ID_OUI_FROM_DATABASE=Cuciniale GmbH + ++OUI:F42833* ++ ID_OUI_FROM_DATABASE=MMPC Inc. ++ + OUI:F42896* + ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA + +@@ -70294,6 +70546,9 @@ OUI:F499AC* + OUI:F49F54* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:F49FF3* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:F4A294* + ID_OUI_FROM_DATABASE=EAGLE WORLD DEVELOPMENT CO., LIMITED + +@@ -70351,6 +70606,9 @@ OUI:F4CE46* + OUI:F4CFE2* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:F4D032* ++ ID_OUI_FROM_DATABASE=Yunnan Ideal Information&Technology.,Ltd ++ + OUI:F4D261* + ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd + +@@ -70390,12 +70648,18 @@ OUI:F4F5A5* + OUI:F4F5E8* + ID_OUI_FROM_DATABASE=Google + ++OUI:F4F646* ++ ID_OUI_FROM_DATABASE=Dediprog Technology Co. Ltd. ++ + OUI:F4F951* + ID_OUI_FROM_DATABASE=Apple + + OUI:F4FC32* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:F4FD2B* ++ ID_OUI_FROM_DATABASE=ZOYI Company ++ + OUI:F80113* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -70798,6 +71062,9 @@ OUI:FC1607* + OUI:FC1794* + ID_OUI_FROM_DATABASE=InterCreative Co., Ltd + ++OUI:FC1910* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:FC19D0* + ID_OUI_FROM_DATABASE=Cloud Vision Networks Technology Co.,Ltd. + +@@ -70906,6 +71173,9 @@ OUI:FC7516* + OUI:FC75E6* + ID_OUI_FROM_DATABASE=Handreamnet + ++OUI:FC790B* ++ ID_OUI_FROM_DATABASE=Hitachi High Technologies America, Inc. ++ + OUI:FC7CE7* + ID_OUI_FROM_DATABASE=FCI USA LLC + +@@ -70948,6 +71218,9 @@ OUI:FCA841* + OUI:FCA9B0* + ID_OUI_FROM_DATABASE=MIARTECH (SHANGHAI),INC. + ++OUI:FCAA14* ++ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. ++ + OUI:FCAD0F* + ID_OUI_FROM_DATABASE=QTS NETWORKS + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 14637d3..2957774 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -1673,6 +1673,9 @@ pci:v00001002d00001306* + pci:v00001002d00001307* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d00001308* ++ ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller ++ + pci:v00001002d00001309* + ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + +@@ -4268,6 +4271,9 @@ pci:v00001002d00006611sv00001B0Asd000090D3* + pci:v00001002d00006613* + ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] + ++pci:v00001002d00006613sv00001682sd00007240* ++ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] (R7 240 2048 MB) ++ + pci:v00001002d00006620* + ID_MODEL_FROM_DATABASE=Mars + +@@ -6024,31 +6030,31 @@ pci:v00001002d00006819sv0000174Bsd0000E221* + ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) + + pci:v00001002d00006820* +- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] + + pci:v00001002d00006820sv0000103Csd00001851* +- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon HD 7750M) + + pci:v00001002d00006820sv000017AAsd00003801* +- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon R9 M275) + + pci:v00001002d00006821* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] + + pci:v00001002d00006821sv00001002sd0000031E* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro SX4000) + + pci:v00001002d00006821sv00001028sd000005CC* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) + + pci:v00001002d00006821sv00001028sd000015CC* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) + + pci:v00001002d00006822* + ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] + + pci:v00001002d00006823* +- ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M] ++ ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M / R9 M265X] + + pci:v00001002d00006825* + ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] +@@ -7770,64 +7776,73 @@ pci:v00001002d000068F9sv000017AFsd00003014* + ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068FA* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] + + pci:v00001002d000068FAsv00001019sd00000019* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000021* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000022* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000026* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000103Csd00002ADF* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) + + pci:v00001002d000068FAsv0000103Csd00002AE8* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) + + pci:v00001002d000068FAsv00001043sd00008350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) + + pci:v00001002d000068FAsv00001462sd00002128* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002184* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002186* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002495* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd0000B490* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001642sd00003985* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) ++ ++pci:v00001002d000068FAsv0000174Bsd00003510* ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) ++ ++pci:v00001002d000068FAsv0000174Bsd00003521* ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) ++ ++pci:v00001002d000068FAsv0000174Bsd00003522* ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) + + pci:v00001002d000068FAsv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd00008153* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E180* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv000017AFsd00003015* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE +@@ -8886,7 +8901,7 @@ pci:v00001002d0000980A* + ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7290] + + pci:v00001002d00009830* +- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400] ++ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400 / R3 Series] + + pci:v00001002d00009831* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400E] +@@ -8904,13 +8919,13 @@ pci:v00001002d00009835* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8310E] + + pci:v00001002d00009836* +- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280] ++ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280 / R3 Series] + + pci:v00001002d00009837* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280E] + + pci:v00001002d00009838* +- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240] ++ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240 / R3 Series] + + pci:v00001002d00009839* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8180] +@@ -10724,6 +10739,33 @@ pci:v00001022d00001418* + pci:v00001022d00001419* + ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) I/O Memory Management Unit + ++pci:v00001022d0000141A* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 0 ++ ++pci:v00001022d0000141B* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 1 ++ ++pci:v00001022d0000141C* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 2 ++ ++pci:v00001022d0000141D* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 3 ++ ++pci:v00001022d0000141E* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 4 ++ ++pci:v00001022d0000141F* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 5 ++ ++pci:v00001022d00001422* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Complex ++ ++pci:v00001022d00001423* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) I/O Memory Management Unit ++ ++pci:v00001022d00001426* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Port ++ + pci:v00001022d00001439* + ID_MODEL_FROM_DATABASE=Family 16h Processor Functions 5:1 + +@@ -17621,6 +17663,9 @@ pci:v00001093d000071BC* + pci:v00001093d000071D0* + ID_MODEL_FROM_DATABASE=PXI-6143 + ++pci:v00001093d000071DC* ++ ID_MODEL_FROM_DATABASE=PCI-1588 ++ + pci:v00001093d00007260* + ID_MODEL_FROM_DATABASE=PXI-5142 + +@@ -17639,6 +17684,9 @@ pci:v00001093d000072AA* + pci:v00001093d000072AB* + ID_MODEL_FROM_DATABASE=PCI-5105 + ++pci:v00001093d000072B8* ++ ID_MODEL_FROM_DATABASE=PXI-6682 ++ + pci:v00001093d0000730F* + ID_MODEL_FROM_DATABASE=PXI-5922EX + +@@ -17708,6 +17756,9 @@ pci:v00001093d000073F0* + pci:v00001093d000073F1* + ID_MODEL_FROM_DATABASE=PCI-5153 + ++pci:v00001093d00007405* ++ ID_MODEL_FROM_DATABASE=PXIe-6674T ++ + pci:v00001093d0000745E* + ID_MODEL_FROM_DATABASE=PXI-5153EX + +@@ -17726,6 +17777,12 @@ pci:v00001093d00007539* + pci:v00001093d0000753A* + ID_MODEL_FROM_DATABASE=NI 9159 + ++pci:v00001093d000075E5* ++ ID_MODEL_FROM_DATABASE=PXI-6683 ++ ++pci:v00001093d000075E6* ++ ID_MODEL_FROM_DATABASE=PXI-6683H ++ + pci:v00001093d00007626* + ID_MODEL_FROM_DATABASE=NI 9154 + +@@ -28100,6 +28157,9 @@ pci:v000010EC* + pci:v000010ECd00000139* + ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ Ethernet Controller + ++pci:v000010ECd00005208* ++ ID_MODEL_FROM_DATABASE=RTS5208 PCI Express Card Reader ++ + pci:v000010ECd00005209* + ID_MODEL_FROM_DATABASE=RTS5209 PCI Express Card Reader + +@@ -28128,7 +28188,7 @@ pci:v000010ECd00005249sv0000103Csd00001909* + ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) + + pci:v000010ECd00005288* +- ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader ++ ID_MODEL_FROM_DATABASE=RTS5288 PCI Express Card Reader + + pci:v000010ECd00008029* + ID_MODEL_FROM_DATABASE=RTL-8029(AS) +@@ -32153,6 +32213,9 @@ pci:v00001131d00007160* + pci:v00001131d00007160sv00001458sd00009009* + ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) + ++pci:v00001131d00007160sv00001461sd00001455* ++ ID_MODEL_FROM_DATABASE=SAA7160 (AVerTV Hybrid Speedy PCI-E (H788)) ++ + pci:v00001131d00007162* + ID_MODEL_FROM_DATABASE=SAA7162 + +@@ -34691,6 +34754,9 @@ pci:v000011ABd00002A42* + pci:v000011ABd00002A43* + ID_MODEL_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless + ++pci:v000011ABd00002A55* ++ ID_MODEL_FROM_DATABASE=88W8864 [Avastar] 802.11ac Wireless ++ + pci:v000011ABd00002B36* + ID_MODEL_FROM_DATABASE=88W8764 [Avastar] 802.11n Wireless + +@@ -36536,6 +36602,9 @@ pci:v00001217d00008120* + pci:v00001217d00008130* + ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller + ++pci:v00001217d00008221* ++ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller ++ + pci:v00001217d00008320* + ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller + +@@ -43278,7 +43347,13 @@ pci:v00001469* + ID_VENDOR_FROM_DATABASE=Cleveland Motion Controls + + pci:v0000146A* +- ID_VENDOR_FROM_DATABASE=IFR ++ ID_VENDOR_FROM_DATABASE=Aeroflex ++ ++pci:v0000146Ad00003010* ++ ID_MODEL_FROM_DATABASE=3010 RF Synthesizer ++ ++pci:v0000146Ad00003A11* ++ ID_MODEL_FROM_DATABASE=3011A PXI RF Synthesizer + + pci:v0000146B* + ID_VENDOR_FROM_DATABASE=Parascan Technologies Ltd +@@ -52409,6 +52484,9 @@ pci:v00001AB8d00004006* + pci:v00001AB9* + ID_VENDOR_FROM_DATABASE=Espia Srl + ++pci:v00001AC8* ++ ID_VENDOR_FROM_DATABASE=Aeroflex Gaisler ++ + pci:v00001ACC* + ID_VENDOR_FROM_DATABASE=Point of View BV + +@@ -52724,9 +52802,15 @@ pci:v00001B4Bd000091A0* + pci:v00001B4Bd000091A4* + ID_MODEL_FROM_DATABASE=88SE912x IDE Controller + ++pci:v00001B4Bd00009220* ++ ID_MODEL_FROM_DATABASE=88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller ++ + pci:v00001B4Bd00009230* + ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller + ++pci:v00001B4Bd00009235* ++ ID_MODEL_FROM_DATABASE=88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller ++ + pci:v00001B4Bd00009445* + ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller + +@@ -54693,7 +54777,7 @@ pci:v00006688* + ID_VENDOR_FROM_DATABASE=Zycoo Co., Ltd + + pci:v00006688d00001200* +- ID_MODEL_FROM_DATABASE=CooVOX TDM Analog Module ++ ID_MODEL_FROM_DATABASE=CooVox TDM Analog Module + + pci:v00006688d00001400* + ID_MODEL_FROM_DATABASE=CooVOX TDM GSM Module +@@ -59066,8 +59150,11 @@ pci:v00008086d00001522sv00008086sd000000A4* + pci:v00008086d00001523* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection + ++pci:v00008086d00001523sv00001028sd00000060* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 2P I350 LOM) ++ + pci:v00008086d00001523sv00001028sd00001F9B* +- ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350-t bNDC) + + pci:v00008086d00001523sv0000103Csd00001784* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) +@@ -59183,9 +59270,6 @@ pci:v00008086d00001536* + pci:v00008086d00001537* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + +-pci:v00008086d00001538* +- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +- + pci:v00008086d00001539* + ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection + +@@ -59270,6 +59354,12 @@ pci:v00008086d0000155Dsv00008086sd00000002* + pci:v00008086d00001560* + ID_MODEL_FROM_DATABASE=Ethernet Controller X540 + ++pci:v00008086d0000156F* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-LM ++ ++pci:v00008086d00001570* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V ++ + pci:v00008086d00001571* + ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function + +@@ -59316,16 +59406,16 @@ pci:v00008086d00001581sv00001028sd00001F98* + ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) + + pci:v00008086d00001583* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + + pci:v00008086d00001583sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) + + pci:v00008086d00001584* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 014c628..52586bc 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -21,7 +21,7 @@ usb:v0004* + ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart + + usb:v0011* +- ID_VENDOR_FROM_DATABASE=Unknown manufacturer ++ ID_VENDOR_FROM_DATABASE=Unknown + + usb:v0011p7788* + ID_MODEL_FROM_DATABASE=Flash mass storage drive +@@ -275,6 +275,9 @@ usb:v03EBp2110* + usb:v03EBp2122* + ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit + ++usb:v03EBp2141* ++ ID_MODEL_FROM_DATABASE=ICE debugger ++ + usb:v03EBp2310* + ID_MODEL_FROM_DATABASE=EVK11xx evaluation board + +@@ -455,6 +458,9 @@ usb:v03F0p0121* + usb:v03F0p0122* + ID_MODEL_FROM_DATABASE=HID Internet Keyboard + ++usb:v03F0p0139* ++ ID_MODEL_FROM_DATABASE=Barcode Scanner 4430 ++ + usb:v03F0p0201* + ID_MODEL_FROM_DATABASE=ScanJet 6200c + +@@ -782,6 +788,9 @@ usb:v03F0p1517* + usb:v03F0p1524* + ID_MODEL_FROM_DATABASE=Smart Card Keyboard - KR + ++usb:v03F0p1539* ++ ID_MODEL_FROM_DATABASE=Mini Magnetic Stripe Reader ++ + usb:v03F0p1602* + ID_MODEL_FROM_DATABASE=PhotoSmart 330 series + +@@ -893,6 +902,9 @@ usb:v03F0p1D02* + usb:v03F0p1D17* + ID_MODEL_FROM_DATABASE=LaserJet 1320 + ++usb:v03F0p1D24* ++ ID_MODEL_FROM_DATABASE=Barcode scanner ++ + usb:v03F0p1E02* + ID_MODEL_FROM_DATABASE=PhotoSmart A320 Printer series + +@@ -935,6 +947,9 @@ usb:v03F0p2012* + usb:v03F0p201D* + ID_MODEL_FROM_DATABASE=un2400 Gobi Wireless Modem (QDL mode) + ++usb:v03F0p2039* ++ ID_MODEL_FROM_DATABASE=Cashdrawer ++ + usb:v03F0p2102* + ID_MODEL_FROM_DATABASE=PhotoSmart 7345 + +@@ -1008,7 +1023,7 @@ usb:v03F0p2505* + ID_MODEL_FROM_DATABASE=ScanJet 3770 + + usb:v03F0p2512* +- ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 ++ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 / Compaq LA2405 series monitor + + usb:v03F0p2514* + ID_MODEL_FROM_DATABASE=4-port hub +@@ -1046,6 +1061,9 @@ usb:v03F0p2704* + usb:v03F0p2717* + ID_MODEL_FROM_DATABASE=Color LaserJet 2830 + ++usb:v03F0p2724* ++ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader IDRA-334133-HP ++ + usb:v03F0p2811* + ID_MODEL_FROM_DATABASE=PSC-2100 + +@@ -1424,6 +1442,9 @@ usb:v03F0p5817* + usb:v03F0p5911* + ID_MODEL_FROM_DATABASE=PhotoSmart C6180 + ++usb:v03F0p5912* ++ ID_MODEL_FROM_DATABASE=Officejet Pro 8600 ++ + usb:v03F0p5A11* + ID_MODEL_FROM_DATABASE=PhotoSmart C7100 series + +@@ -1532,6 +1553,9 @@ usb:v03F0p6B02* + usb:v03F0p6B11* + ID_MODEL_FROM_DATABASE=Photosmart C4500 series + ++usb:v03F0p6C11* ++ ID_MODEL_FROM_DATABASE=Photosmart C4480 ++ + usb:v03F0p6C17* + ID_MODEL_FROM_DATABASE=Color LaserJet 4610 + +@@ -1913,6 +1937,9 @@ usb:v03FC* + usb:v03FD* + ID_VENDOR_FROM_DATABASE=Xilinx, Inc. + ++usb:v03FDp0008* ++ ID_MODEL_FROM_DATABASE=Platform Cable USB II ++ + usb:v03FE* + ID_VENDOR_FROM_DATABASE=Farallon Comunications + +@@ -2012,6 +2039,9 @@ usb:v0403p0232* + usb:v0403p1060* + ID_MODEL_FROM_DATABASE=JTAG adapter + ++usb:v0403p1234* ++ ID_MODEL_FROM_DATABASE=IronLogic RFID Adapter [Z-2 USB] ++ + usb:v0403p6001* + ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC + +@@ -2084,12 +2114,18 @@ usb:v0403p8B2B* + usb:v0403p8B2C* + ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 + ++usb:v0403p9132* ++ ID_MODEL_FROM_DATABASE=LCD and Temperature Interface ++ + usb:v0403p9133* + ID_MODEL_FROM_DATABASE=CallerID + + usb:v0403p9135* + ID_MODEL_FROM_DATABASE=Rotary Pub alarm + ++usb:v0403p9136* ++ ID_MODEL_FROM_DATABASE=Pulsecounter ++ + usb:v0403p9E90* + ID_MODEL_FROM_DATABASE=Marvell OpenRD Base/Client + +@@ -2291,6 +2327,9 @@ usb:v0403pEF10* + usb:v0403pF070* + ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] + ++usb:v0403pF0E9* ++ ID_MODEL_FROM_DATABASE=Tagsys L-P101 ++ + usb:v0403pF1A0* + ID_MODEL_FROM_DATABASE=Asix PRESTO Programmer + +@@ -2999,6 +3038,9 @@ usb:v040Ap4021* + usb:v040Ap4022* + ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer + ++usb:v040Ap402B* ++ ID_MODEL_FROM_DATABASE=Photo Printer 6850 ++ + usb:v040Ap402E* + ID_MODEL_FROM_DATABASE=605 Photo Printer + +@@ -4379,6 +4421,9 @@ usb:v0424p7500* + usb:v0424p9512* + ID_MODEL_FROM_DATABASE=SMC9512/9514 USB Hub + ++usb:v0424p9514* ++ ID_MODEL_FROM_DATABASE=SMC9514 Hub ++ + usb:v0424pA700* + ID_MODEL_FROM_DATABASE=2 Port Hub + +@@ -5219,6 +5264,9 @@ usb:v0451p2046* + usb:v0451p2077* + ID_MODEL_FROM_DATABASE=TUSB2077 Hub + ++usb:v0451p2F90* ++ ID_MODEL_FROM_DATABASE=SM-USB-DIG ++ + usb:v0451p3410* + ID_MODEL_FROM_DATABASE=TUSB3410 Microcontroller + +@@ -5534,6 +5582,9 @@ usb:v0458p5003* + usb:v0458p5004* + ID_MODEL_FROM_DATABASE=G-pen Tablet + ++usb:v0458p505E* ++ ID_MODEL_FROM_DATABASE=Genius iSlim 330 ++ + usb:v0458p6001* + ID_MODEL_FROM_DATABASE=GF3000F Ethernet Adapter + +@@ -5600,6 +5651,24 @@ usb:v0458p705A* + usb:v0458p705C* + ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF + ++usb:v0458p7061* ++ ID_MODEL_FROM_DATABASE=Genius iLook 1321 V2 ++ ++usb:v0458p7066* ++ ID_MODEL_FROM_DATABASE=Acer Crystal Eye Webcam ++ ++usb:v0458p7067* ++ ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF V2 ++ ++usb:v0458p7068* ++ ID_MODEL_FROM_DATABASE=Genius eFace 1325R ++ ++usb:v0458p706D* ++ ID_MODEL_FROM_DATABASE=Genius iSlim 2000AF V2 ++ ++usb:v0458p7076* ++ ID_MODEL_FROM_DATABASE=Genius FaceCam 312 ++ + usb:v0458p7079* + ID_MODEL_FROM_DATABASE=FaceCam 2025R + +@@ -5609,6 +5678,12 @@ usb:v0458p707F* + usb:v0458p7088* + ID_MODEL_FROM_DATABASE=WideCam 1050 + ++usb:v0458p7089* ++ ID_MODEL_FROM_DATABASE=Genius FaceCam 320 ++ ++usb:v0458p708C* ++ ID_MODEL_FROM_DATABASE=Genius WideCam F100 ++ + usb:v0459* + ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc. + +@@ -6017,6 +6092,15 @@ usb:v045Ep02B0* + usb:v045Ep02B6* + ID_MODEL_FROM_DATABASE=Xbox 360 / Bluetooth Wireless Headset + ++usb:v045Ep02BE* ++ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Audio ++ ++usb:v045Ep02BF* ++ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Camera ++ ++usb:v045Ep02C2* ++ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Motor ++ + usb:v045Ep0400* + ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002 + +@@ -6866,6 +6950,9 @@ usb:v046Dp0830* + usb:v046Dp0840* + ID_MODEL_FROM_DATABASE=QuickCam Express + ++usb:v046Dp0843* ++ ID_MODEL_FROM_DATABASE=Webcam C930e ++ + usb:v046Dp0850* + ID_MODEL_FROM_DATABASE=QuickCam Web + +@@ -7169,6 +7256,12 @@ usb:v046Dp0A1F* + usb:v046Dp0A29* + ID_MODEL_FROM_DATABASE=H600 [Wireless Headset] + ++usb:v046Dp0A38* ++ ID_MODEL_FROM_DATABASE=Headset H340 ++ ++usb:v046Dp0A4D* ++ ID_MODEL_FROM_DATABASE=G430 Surround Sound Gaming Headset ++ + usb:v046Dp0B02* + ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode) + +@@ -7650,7 +7743,7 @@ usb:v046DpC31B* + ID_MODEL_FROM_DATABASE=Compact Keyboard K300 + + usb:v046DpC31C* +- ID_MODEL_FROM_DATABASE=Keyboard K120 for Business ++ ID_MODEL_FROM_DATABASE=Keyboard K120 + + usb:v046DpC31D* + ID_MODEL_FROM_DATABASE=Media Keyboard K200 +@@ -7751,6 +7844,9 @@ usb:v046DpC529* + usb:v046DpC52B* + ID_MODEL_FROM_DATABASE=Unifying Receiver + ++usb:v046DpC52D* ++ ID_MODEL_FROM_DATABASE=R700 Remote Presenter receiver ++ + usb:v046DpC52E* + ID_MODEL_FROM_DATABASE=MK260 Wireless Combo Receiver + +@@ -7760,6 +7856,18 @@ usb:v046DpC52F* + usb:v046DpC532* + ID_MODEL_FROM_DATABASE=Unifying Receiver + ++usb:v046DpC603* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT ++ ++usb:v046DpC605* ++ ID_MODEL_FROM_DATABASE=3Dconnexion CADman ++ ++usb:v046DpC606* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Classic ++ ++usb:v046DpC621* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Spaceball 5000 ++ + usb:v046DpC623* + ID_MODEL_FROM_DATABASE=3Dconnexion Space Traveller 3D Mouse + +@@ -7772,9 +7880,18 @@ usb:v046DpC626* + usb:v046DpC627* + ID_MODEL_FROM_DATABASE=3Dconnexion Space Explorer 3D Mouse + ++usb:v046DpC628* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Space Navigator for Notebooks ++ + usb:v046DpC629* + ID_MODEL_FROM_DATABASE=3Dconnexion SpacePilot Pro 3D Mouse + ++usb:v046DpC62B* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Space Mouse Pro ++ ++usb:v046DpC640* ++ ID_MODEL_FROM_DATABASE=NuLOOQ navigator ++ + usb:v046DpC702* + ID_MODEL_FROM_DATABASE=Cordless Presenter + +@@ -8609,6 +8726,9 @@ usb:v0480p0011* + usb:v0480p0014* + ID_MODEL_FROM_DATABASE=InTouch Module + ++usb:v0480p0100* ++ ID_MODEL_FROM_DATABASE=Stor.E Slim USB 3.0 ++ + usb:v0480pA006* + ID_MODEL_FROM_DATABASE=External Disk 1.5TB + +@@ -10043,6 +10163,9 @@ usb:v04A9p2225* + usb:v04A9p2228* + ID_MODEL_FROM_DATABASE=CanoScan 4400F + ++usb:v04A9p2229* ++ ID_MODEL_FROM_DATABASE=CanoScan 8600F ++ + usb:v04A9p2602* + ID_MODEL_FROM_DATABASE=MultiPASS C555 + +@@ -10988,6 +11111,9 @@ usb:v04A9p3233* + usb:v04A9p3234* + ID_MODEL_FROM_DATABASE=PowerShot SX150 IS + ++usb:v04A9p3235* ++ ID_MODEL_FROM_DATABASE=PowerShot ELPH 510 HS / IXUS 1100 HS ++ + usb:v04A9p3236* + ID_MODEL_FROM_DATABASE=PowerShot S100 + +@@ -11057,12 +11183,18 @@ usb:v04A9p325B* + usb:v04A9p325C* + ID_MODEL_FROM_DATABASE=PowerShot SX500 IS + ++usb:v04A9p325E* ++ ID_MODEL_FROM_DATABASE=PowerShot N ++ + usb:v04A9p325F* + ID_MODEL_FROM_DATABASE=PowerShot SX280 HS + + usb:v04A9p3260* + ID_MODEL_FROM_DATABASE=PowerShot SX270 HS + ++usb:v04A9p3261* ++ ID_MODEL_FROM_DATABASE=PowerShot A3500 IS ++ + usb:v04A9p3262* + ID_MODEL_FROM_DATABASE=PowerShot A2600 + +@@ -11087,6 +11219,15 @@ usb:v04A9p3277* + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + ++usb:v04A9p3288* ++ ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 ++ ++usb:v04A9p3289* ++ ID_MODEL_FROM_DATABASE=PowerShot ELPH 340 HS / IXUS 265 HS ++ ++usb:v04A9p328A* ++ ID_MODEL_FROM_DATABASE=PowerShot ELPH 150 IS / IXUS 155 ++ + usb:v04AA* + ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd + +@@ -11471,6 +11612,9 @@ usb:v04B4p2050* + usb:v04B4p2830* + ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) + ++usb:v04B4p4235* ++ ID_MODEL_FROM_DATABASE=Monitor 02 Driver ++ + usb:v04B4p4381* + ID_MODEL_FROM_DATABASE=SCAPS USC-1 Scanner Controller + +@@ -12407,6 +12551,9 @@ usb:v04C5p10AE* + usb:v04C5p10AF* + ID_MODEL_FROM_DATABASE=fi-4220C2 + ++usb:v04C5p10C7* ++ ID_MODEL_FROM_DATABASE=fi-60f scanner ++ + usb:v04C5p10E0* + ID_MODEL_FROM_DATABASE=fi-5120c Scanner + +@@ -12981,7 +13128,7 @@ usb:v04D9p2519* + ID_MODEL_FROM_DATABASE=Shenzhen LogoTech 2.4GHz receiver + + usb:v04D9p2832* +- ID_MODEL_FROM_DATABASE=1channel Telephone line recorder ++ ID_MODEL_FROM_DATABASE=HT82A832R Audio MCU + + usb:v04D9p2834* + ID_MODEL_FROM_DATABASE=HT82A834R Audio MCU +@@ -13070,6 +13217,9 @@ usb:v04DAp2374* + usb:v04DAp2451* + ID_MODEL_FROM_DATABASE=HDC-SD9 + ++usb:v04DAp245B* ++ ID_MODEL_FROM_DATABASE=HC-X920K (3MOS Full HD video camcorder) ++ + usb:v04DAp2497* + ID_MODEL_FROM_DATABASE=HDC-TM700 + +@@ -13535,6 +13685,9 @@ usb:v04E8p1006* + usb:v04E8p130C* + ID_MODEL_FROM_DATABASE=NX100 + ++usb:v04E8p1F05* ++ ID_MODEL_FROM_DATABASE=S2 Portable [JMicron] (500GB) ++ + usb:v04E8p1F06* + ID_MODEL_FROM_DATABASE=HX-MU064DA portable harddisk + +@@ -13670,6 +13823,9 @@ usb:v04E8p3310* + usb:v04E8p3315* + ID_MODEL_FROM_DATABASE=ML-2540 Series Laser Printer + ++usb:v04E8p331E* ++ ID_MODEL_FROM_DATABASE=M262x/M282x Xpress Series Laser Printer ++ + usb:v04E8p3409* + ID_MODEL_FROM_DATABASE=SCX-4216F Scanner + +@@ -13718,6 +13874,9 @@ usb:v04E8p3420* + usb:v04E8p3426* + ID_MODEL_FROM_DATABASE=SCX-4500 Laser Printer + ++usb:v04E8p342D* ++ ID_MODEL_FROM_DATABASE=SCX-4x28 Series ++ + usb:v04E8p344F* + ID_MODEL_FROM_DATABASE=SCX-3400 Series + +@@ -14058,7 +14217,7 @@ usb:v04E8p685B* + ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (mass storage mode) + + usb:v04E8p685C* +- ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] ++ ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] (Mass storage mode) + + usb:v04E8p685D* + ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (Download mode) +@@ -14067,7 +14226,10 @@ usb:v04E8p685E* + ID_MODEL_FROM_DATABASE=GT-I9100 / GT-C3350 Phones (USB Debugging mode) + + usb:v04E8p6860* +- ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] ++ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] , GT-I9500 [Galaxy S 4] ++ ++usb:v04E8p6863* ++ ID_MODEL_FROM_DATABASE=GT-I9500 [Galaxy S4] / GT-I9250 [Galaxy Nexus] (network tethering) + + usb:v04E8p6865* + ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode) +@@ -14075,6 +14237,9 @@ usb:v04E8p6865* + usb:v04E8p6866* + ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode) + ++usb:v04E8p6868* ++ ID_MODEL_FROM_DATABASE=Escape Composite driver for Android Phones: Modem+Diagnostic+ADB ++ + usb:v04E8p6875* + ID_MODEL_FROM_DATABASE=GT-B3710 Standalone LTE device (Commercial) + +@@ -14342,6 +14507,12 @@ usb:v04F2pB057* + usb:v04F2pB059* + ID_MODEL_FROM_DATABASE=CKF7037 HP webcam + ++usb:v04F2pB064* ++ ID_MODEL_FROM_DATABASE=CNA7137 Integrated Webcam ++ ++usb:v04F2pB070* ++ ID_MODEL_FROM_DATABASE=Camera ++ + usb:v04F2pB071* + ID_MODEL_FROM_DATABASE=2.0M UVC Webcam / CNF7129 + +@@ -14411,6 +14582,9 @@ usb:v04F2pB2B0* + usb:v04F2pB2B9* + ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera UVC + ++usb:v04F2pB2DA* ++ ID_MODEL_FROM_DATABASE=thinkpad t430s camera ++ + usb:v04F2pB2EA* + ID_MODEL_FROM_DATABASE=Integrated Camera [ThinkPad] + +@@ -14420,6 +14594,9 @@ usb:v04F2pB330* + usb:v04F2pB354* + ID_MODEL_FROM_DATABASE=UVC 1.00 device HD UVC WebCam + ++usb:v04F2pB394* ++ ID_MODEL_FROM_DATABASE=Integrated Camera ++ + usb:v04F3* + ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp. + +@@ -15038,6 +15215,9 @@ usb:v04F9p01EB* + usb:v04F9p01F4* + ID_MODEL_FROM_DATABASE=MFC-5890CN + ++usb:v04F9p0217* ++ ID_MODEL_FROM_DATABASE=MFC-8480DN ++ + usb:v04F9p0223* + ID_MODEL_FROM_DATABASE=DCP-365CN + +@@ -15158,9 +15338,15 @@ usb:v04FCp5331* + usb:v04FCp5360* + ID_MODEL_FROM_DATABASE=Sunplus Generic Digital Camera + ++usb:v04FCp5563* ++ ID_MODEL_FROM_DATABASE=Digital Media Player MP3/WMA [The Sharper Image] ++ + usb:v04FCp5720* + ID_MODEL_FROM_DATABASE=Card Reader Driver + ++usb:v04FCp6333* ++ ID_MODEL_FROM_DATABASE=Siri A9 UVC chipset ++ + usb:v04FCp7333* + ID_MODEL_FROM_DATABASE=Finet Technology Palmpix DC-85 + +@@ -15239,6 +15425,18 @@ usb:v0502p3325* + usb:v0502p3341* + ID_MODEL_FROM_DATABASE=Iconia tablet A500 + ++usb:v0502p33C3* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 ++ ++usb:v0502p33C4* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode) ++ ++usb:v0502p33C7* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (USB tethering) ++ ++usb:v0502p33C8* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode, USB tethering) ++ + usb:v0502pD001* + ID_MODEL_FROM_DATABASE=Divio NW801/DVC-V6+ Digital Camera + +@@ -15446,6 +15644,9 @@ usb:v050Dp0416* + usb:v050Dp0551* + ID_MODEL_FROM_DATABASE=F6C550-AVR UPS + ++usb:v050Dp065A* ++ ID_MODEL_FROM_DATABASE=F8T065BF Mini Bluetooth 4.0 Adapter ++ + usb:v050Dp0706* + ID_MODEL_FROM_DATABASE=2-N-1 7-Port Hub (Lower half) + +@@ -15497,6 +15698,9 @@ usb:v050Dp2103* + usb:v050Dp21F1* + ID_MODEL_FROM_DATABASE=N300 WLAN N Adapter [ISY] + ++usb:v050Dp21F2* ++ ID_MODEL_FROM_DATABASE=RTL8192CU 802.11n WLAN Adapter [ISY IWL 4000] ++ + usb:v050Dp258A* + ID_MODEL_FROM_DATABASE=F5U258 Host to Host cable + +@@ -15728,6 +15932,9 @@ usb:v0525p1200* + usb:v0525p1265* + ID_MODEL_FROM_DATABASE=File-backed Storage Gadget + ++usb:v0525p3424* ++ ID_MODEL_FROM_DATABASE=Lumidigm Venus fingerprint sensor ++ + usb:v0525pA0F0* + ID_MODEL_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2 + +@@ -16655,6 +16862,9 @@ usb:v054Cp035B* + usb:v054Cp035C* + ID_MODEL_FROM_DATABASE=NWZ-A726/A728/A729 + ++usb:v054Cp035F* ++ ID_MODEL_FROM_DATABASE=UP-DR200 Photo Printer ++ + usb:v054Cp0382* + ID_MODEL_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1) + +@@ -16694,9 +16904,18 @@ usb:v054Cp0485* + usb:v054Cp04CB* + ID_MODEL_FROM_DATABASE=WALKMAN NWZ-E354 + ++usb:v054Cp0541* ++ ID_MODEL_FROM_DATABASE=DSC-HX100V [Cybershot Digital Still Camera] ++ ++usb:v054Cp0689* ++ ID_MODEL_FROM_DATABASE=Walkman NWZ-B173F ++ + usb:v054Cp06BB* + ID_MODEL_FROM_DATABASE=WALKMAN NWZ-F805 + ++usb:v054Cp088C* ++ ID_MODEL_FROM_DATABASE=Portable Headphone Amplifier ++ + usb:v054Cp1000* + ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver + +@@ -16721,6 +16940,12 @@ usb:v0550p0004* + usb:v0550p0005* + ID_MODEL_FROM_DATABASE=InkJet Color Printer + ++usb:v0550p000B* ++ ID_MODEL_FROM_DATABASE=Workcentre 24 ++ ++usb:v0550p014E* ++ ID_MODEL_FROM_DATABASE=CM215b Printer ++ + usb:v0551* + ID_VENDOR_FROM_DATABASE=CompuTrend Systems, Inc. + +@@ -17306,6 +17531,9 @@ usb:v056Ap0069* + usb:v056Ap0081* + ID_MODEL_FROM_DATABASE=Graphire Wireless 6x8 + ++usb:v056Ap0084* ++ ID_MODEL_FROM_DATABASE=Wireless adapter for Bamboo tablets ++ + usb:v056Ap0090* + ID_MODEL_FROM_DATABASE=TPC90 + +@@ -17372,6 +17600,9 @@ usb:v056Ap00D1* + usb:v056Ap00D3* + ID_MODEL_FROM_DATABASE=Bamboo Fun (CTH-661) + ++usb:v056Ap00D4* ++ ID_MODEL_FROM_DATABASE=Bamboo Pen (CTL-460) ++ + usb:v056Ap00D6* + ID_MODEL_FROM_DATABASE=Bamboo Pen & Touch (CTH-460) + +@@ -17390,6 +17621,12 @@ usb:v056Ap00F6* + usb:v056Ap00F8* + ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet + ++usb:v056Ap0307* ++ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) tablet ++ ++usb:v056Ap0309* ++ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) touchscreen ++ + usb:v056Ap0400* + ID_MODEL_FROM_DATABASE=PenPartner 4x5 + +@@ -18719,6 +18956,9 @@ usb:v0586p341E* + usb:v0586p341F* + ID_MODEL_FROM_DATABASE=NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU] + ++usb:v0586p3425* ++ ID_MODEL_FROM_DATABASE=NWD6505 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] ++ + usb:v0586p343E* + ID_MODEL_FROM_DATABASE=N220 802.11bgn Wireless Adapter + +@@ -18737,9 +18977,15 @@ usb:v058A* + usb:v058B* + ID_VENDOR_FROM_DATABASE=Infineon Technologies + ++usb:v058Bp0015* ++ ID_MODEL_FROM_DATABASE=Flash Loader utility ++ + usb:v058Bp001C* + ID_MODEL_FROM_DATABASE=Flash Drive + ++usb:v058Bp0041* ++ ID_MODEL_FROM_DATABASE=Flash Loader utility ++ + usb:v058C* + ID_VENDOR_FROM_DATABASE=In Focus Systems + +@@ -18855,7 +19101,7 @@ usb:v058Fp6366* + ID_MODEL_FROM_DATABASE=Multi Flash Reader + + usb:v058Fp6377* +- ID_MODEL_FROM_DATABASE=Multimedia Card Reader ++ ID_MODEL_FROM_DATABASE=AU6375 4-LUN card reader + + usb:v058Fp6386* + ID_MODEL_FROM_DATABASE=Memory Card +@@ -18926,12 +19172,18 @@ usb:v058Fp9510* + usb:v058Fp9520* + ID_MODEL_FROM_DATABASE=EMV Certified Smart Card Reader + ++usb:v058Fp9540* ++ ID_MODEL_FROM_DATABASE=AU9540 Smartcard Reader ++ + usb:v058Fp9720* + ID_MODEL_FROM_DATABASE=USB-Serial Adapter + + usb:v058FpA014* + ID_MODEL_FROM_DATABASE=Asus Integrated Webcam + ++usb:v058FpB002* ++ ID_MODEL_FROM_DATABASE=Acer Integrated Webcam ++ + usb:v0590* + ID_VENDOR_FROM_DATABASE=Omron Corp. + +@@ -18983,6 +19235,9 @@ usb:v0596p0002* + usb:v0596p0500* + ID_MODEL_FROM_DATABASE=PCT Multitouch HID Controller + ++usb:v0596p0543* ++ ID_MODEL_FROM_DATABASE=DELL XPS touchscreen ++ + usb:v0597* + ID_VENDOR_FROM_DATABASE=Trisignal Communications + +@@ -19055,6 +19310,9 @@ usb:v059Bp0061* + usb:v059Bp006D* + ID_MODEL_FROM_DATABASE=HipZip MP3 Player + ++usb:v059Bp0070* ++ ID_MODEL_FROM_DATABASE=eGo Portable Hard Drive ++ + usb:v059Bp007C* + ID_MODEL_FROM_DATABASE=Ultra Max USB/1394 + +@@ -19163,9 +19421,15 @@ usb:v059Fp0323* + usb:v059Fp0421* + ID_MODEL_FROM_DATABASE=Big Disk G465 + ++usb:v059Fp0525* ++ ID_MODEL_FROM_DATABASE=BigDisk Extreme 500 ++ + usb:v059Fp0641* + ID_MODEL_FROM_DATABASE=Mobile Hard Drive + ++usb:v059Fp0829* ++ ID_MODEL_FROM_DATABASE=BigDisk Extreme+ ++ + usb:v059Fp100C* + ID_MODEL_FROM_DATABASE=Rugged Triple Interface Mobile Hard Drive + +@@ -19190,6 +19454,9 @@ usb:v059Fp1049* + usb:v059Fp1052* + ID_MODEL_FROM_DATABASE=P'9220 Mobile Drive + ++usb:v059Fp1064* ++ ID_MODEL_FROM_DATABASE=Rugged 16 and 32 GB ++ + usb:v059FpA601* + ID_MODEL_FROM_DATABASE=HardDrive + +@@ -19464,7 +19731,7 @@ usb:v05ACp0225* + ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS) + + usb:v05ACp0229* +- ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ANSI) ++ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI) + + usb:v05ACp022A* + ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ISO) +@@ -19545,7 +19812,7 @@ usb:v05ACp0302* + ID_MODEL_FROM_DATABASE=Optical Mouse [Fujitsu] + + usb:v05ACp0304* +- ID_MODEL_FROM_DATABASE=Optical USB Mouse [Mitsumi] ++ ID_MODEL_FROM_DATABASE=Mighty Mouse [Mitsumi, M1152] + + usb:v05ACp0306* + ID_MODEL_FROM_DATABASE=Optical USB Mouse [Fujitsu] +@@ -19577,6 +19844,9 @@ usb:v05ACp1003* + usb:v05ACp1006* + ID_MODEL_FROM_DATABASE=Hub in Aluminum Keyboard + ++usb:v05ACp1008* ++ ID_MODEL_FROM_DATABASE=Mini DisplayPort to Dual-Link DVI Adapter ++ + usb:v05ACp1101* + ID_MODEL_FROM_DATABASE=Speakers + +@@ -19670,6 +19940,9 @@ usb:v05ACp1265* + usb:v05ACp1266* + ID_MODEL_FROM_DATABASE=iPod Nano 6.Gen + ++usb:v05ACp1267* ++ ID_MODEL_FROM_DATABASE=iPod Nano 7.Gen ++ + usb:v05ACp1281* + ID_MODEL_FROM_DATABASE=Apple Mobile Device [Recovery Mode] + +@@ -19700,6 +19973,9 @@ usb:v05ACp1299* + usb:v05ACp129A* + ID_MODEL_FROM_DATABASE=iPad + ++usb:v05ACp129C* ++ ID_MODEL_FROM_DATABASE=iPhone 4(CDMA) ++ + usb:v05ACp129E* + ID_MODEL_FROM_DATABASE=iPod Touch 4.Gen + +@@ -19712,15 +19988,30 @@ usb:v05ACp12A0* + usb:v05ACp12A2* + ID_MODEL_FROM_DATABASE=iPad 2 (3G; 64GB) + ++usb:v05ACp12A3* ++ ID_MODEL_FROM_DATABASE=iPad 2 (CDMA) ++ ++usb:v05ACp12A4* ++ ID_MODEL_FROM_DATABASE=iPad 3 (wifi) ++ ++usb:v05ACp12A5* ++ ID_MODEL_FROM_DATABASE=iPad 3 (CDMA) ++ + usb:v05ACp12A6* + ID_MODEL_FROM_DATABASE=iPad 3 (3G, 16 GB) + ++usb:v05ACp12A8* ++ ID_MODEL_FROM_DATABASE=iPhone5/5C/5S ++ + usb:v05ACp12A9* + ID_MODEL_FROM_DATABASE=iPad 2 + + usb:v05ACp12AA* + ID_MODEL_FROM_DATABASE=iPod Touch 5.Gen [A1421] + ++usb:v05ACp12AB* ++ ID_MODEL_FROM_DATABASE=iPad 4 (WiFi, 32GB) ++ + usb:v05ACp1300* + ID_MODEL_FROM_DATABASE=iPod Shuffle + +@@ -19742,6 +20033,15 @@ usb:v05ACp1402* + usb:v05ACp1500* + ID_MODEL_FROM_DATABASE=SuperDrive [A1379] + ++usb:v05ACp8005* ++ ID_MODEL_FROM_DATABASE=OHCI Root Hub Simulation ++ ++usb:v05ACp8006* ++ ID_MODEL_FROM_DATABASE=EHCI Root Hub Simulation ++ ++usb:v05ACp8007* ++ ID_MODEL_FROM_DATABASE=XHCI Root Hub USB 2.0 Simulation ++ + usb:v05ACp8202* + ID_MODEL_FROM_DATABASE=HCF V.90 Data/Fax Modem + +@@ -19838,6 +20138,9 @@ usb:v05ACp8510* + usb:v05ACp911C* + ID_MODEL_FROM_DATABASE=Hub in A1082 [Cinema HD Display 23"] + ++usb:v05ACp9127* ++ ID_MODEL_FROM_DATABASE=Hub in Thunderbolt Display ++ + usb:v05ACp912F* + ID_MODEL_FROM_DATABASE=Hub in 30" Cinema Display + +@@ -20042,6 +20345,9 @@ usb:v05C6p9202* + usb:v05C6p9203* + ID_MODEL_FROM_DATABASE=Gobi Wireless Modem + ++usb:v05C6p9205* ++ ID_MODEL_FROM_DATABASE=Gobi 2000 ++ + usb:v05C6p9211* + ID_MODEL_FROM_DATABASE=Acer Gobi Wireless Modem (QDL mode) + +@@ -20123,9 +20429,18 @@ usb:v05C8p021A* + usb:v05C8p0318* + ID_MODEL_FROM_DATABASE=Webcam + ++usb:v05C8p0361* ++ ID_MODEL_FROM_DATABASE=SunplusIT INC. HP Truevision HD Webcam ++ ++usb:v05C8p036E* ++ ID_MODEL_FROM_DATABASE=Webcam ++ + usb:v05C8p0403* + ID_MODEL_FROM_DATABASE=Webcam + ++usb:v05C8p041B* ++ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam ++ + usb:v05C9* + ID_VENDOR_FROM_DATABASE=Semtech Corp. + +@@ -20861,6 +21176,9 @@ usb:v05DCp4D12* + usb:v05DCp4D30* + ID_MODEL_FROM_DATABASE=MP3 Player + ++usb:v05DCpA209* ++ ID_MODEL_FROM_DATABASE=JumpDrive S70 ++ + usb:v05DCpA300* + ID_MODEL_FROM_DATABASE=JumpDrive2 + +@@ -20921,6 +21239,9 @@ usb:v05DCpA701* + usb:v05DCpA731* + ID_MODEL_FROM_DATABASE=JumpDrive FireFly + ++usb:v05DCpA768* ++ ID_MODEL_FROM_DATABASE=JumpDrive Retrax ++ + usb:v05DCpA790* + ID_MODEL_FROM_DATABASE=JumpDrive 2GB + +@@ -20930,6 +21251,9 @@ usb:v05DCpA811* + usb:v05DCpA813* + ID_MODEL_FROM_DATABASE=16gB flash thumb drive + ++usb:v05DCpA815* ++ ID_MODEL_FROM_DATABASE=JumpDrive V10 ++ + usb:v05DCpB002* + ID_MODEL_FROM_DATABASE=USB CF Reader + +@@ -20939,6 +21263,9 @@ usb:v05DCpB018* + usb:v05DCpB047* + ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000] + ++usb:v05DCpBA02* ++ ID_MODEL_FROM_DATABASE=Workflow CFR1 ++ + usb:v05DCpC753* + ID_MODEL_FROM_DATABASE=JumpDrive TwistTurn + +@@ -21084,7 +21411,7 @@ usb:v05E3p0607* + ID_MODEL_FROM_DATABASE=Logitech G110 Hub + + usb:v05E3p0608* +- ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB ++ ID_MODEL_FROM_DATABASE=Hub + + usb:v05E3p0610* + ID_MODEL_FROM_DATABASE=4-port hub +@@ -21158,6 +21485,9 @@ usb:v05E3p0718* + usb:v05E3p0719* + ID_MODEL_FROM_DATABASE=SATA adapter + ++usb:v05E3p0722* ++ ID_MODEL_FROM_DATABASE=SD/MMC card reader ++ + usb:v05E3p0723* + ID_MODEL_FROM_DATABASE=GL827L SD/MMC/MS Flash Card Reader + +@@ -21170,9 +21500,18 @@ usb:v05E3p0727* + usb:v05E3p0731* + ID_MODEL_FROM_DATABASE=GL3310 SATA 3Gb/s Bridge Controller + ++usb:v05E3p0732* ++ ID_MODEL_FROM_DATABASE=All-in-One Cardreader ++ + usb:v05E3p0736* + ID_MODEL_FROM_DATABASE=microSD Reader/Writer + ++usb:v05E3p0741* ++ ID_MODEL_FROM_DATABASE=microSD Card Reader ++ ++usb:v05E3p0743* ++ ID_MODEL_FROM_DATABASE=SDXC and microSDXC CardReader ++ + usb:v05E3p0760* + ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader/Writer + +@@ -21296,6 +21635,9 @@ usb:v05F3p0081* + usb:v05F3p00FF* + ID_MODEL_FROM_DATABASE=VEC Footpedal + ++usb:v05F3p0203* ++ ID_MODEL_FROM_DATABASE=Y-mouse Keyboard & Mouse Adapter ++ + usb:v05F3p020B* + ID_MODEL_FROM_DATABASE=PS2 Adapter + +@@ -21410,6 +21752,9 @@ usb:v05FEp0014* + usb:v05FEp1010* + ID_MODEL_FROM_DATABASE=Optical Wireless + ++usb:v05FEp2001* ++ ID_MODEL_FROM_DATABASE=Microsoft Wireless Receiver 700 ++ + usb:v05FF* + ID_VENDOR_FROM_DATABASE=LeCroy Corp. + +@@ -21434,6 +21779,9 @@ usb:v0603* + usb:v0603p00F1* + ID_MODEL_FROM_DATABASE=Keyboard + ++usb:v0603p00F2* ++ ID_MODEL_FROM_DATABASE=Keyboard (Labtec Ultra Flat Keyboard) ++ + usb:v0603p6871* + ID_MODEL_FROM_DATABASE=Mouse + +@@ -21491,6 +21839,9 @@ usb:v060Bp2231* + usb:v060Bp2270* + ID_MODEL_FROM_DATABASE=Gigabyte K8100 Aivia Gaming Keyboard + ++usb:v060Bp5253* ++ ID_MODEL_FROM_DATABASE=Thermaltake MEKA G-Unit Gaming Keyboard ++ + usb:v060Bp5811* + ID_MODEL_FROM_DATABASE=ACK-571U Wireless Keyboard + +@@ -21911,6 +22262,9 @@ usb:v064EpA110* + usb:v064EpA114* + ID_MODEL_FROM_DATABASE=Lemote Webcam + ++usb:v064EpA116* ++ ID_MODEL_FROM_DATABASE=UVC 1.3MPixel WebCam ++ + usb:v064EpA136* + ID_MODEL_FROM_DATABASE=Asus Integrated Webcam [CN031B] + +@@ -22893,7 +23247,7 @@ usb:v068Ep00F4* + ID_MODEL_FROM_DATABASE=Combatstick + + usb:v068Ep00FA* +- ID_MODEL_FROM_DATABASE=Flight Sim Pedals ++ ID_MODEL_FROM_DATABASE=Ch Throttle Quadrant + + usb:v068Ep00FF* + ID_MODEL_FROM_DATABASE=Flight Sim Yoke +@@ -22955,6 +23309,9 @@ usb:v0698p9999* + usb:v0699* + ID_VENDOR_FROM_DATABASE=Tektronix, Inc. + ++usb:v0699p0347* ++ ID_MODEL_FROM_DATABASE=AFG 3022B ++ + usb:v069A* + ID_VENDOR_FROM_DATABASE=Askey Computer Corp. + +@@ -23486,6 +23843,9 @@ usb:v06C2* + usb:v06C2p0030* + ID_MODEL_FROM_DATABASE=PhidgetRFID + ++usb:v06C2p0031* ++ ID_MODEL_FROM_DATABASE=RFID reader ++ + usb:v06C2p0038* + ID_MODEL_FROM_DATABASE=4-Motor PhidgetServo v3.0 + +@@ -23789,6 +24149,12 @@ usb:v06D3p0394* + usb:v06D3p03A1* + ID_MODEL_FROM_DATABASE=CP9550D/DW Port + ++usb:v06D3p3B30* ++ ID_MODEL_FROM_DATABASE=CP-D70DW / CP-D707DW ++ ++usb:v06D3p3B31* ++ ID_MODEL_FROM_DATABASE=CP-K60DW-S ++ + usb:v06D4* + ID_VENDOR_FROM_DATABASE=Cisco Systems + +@@ -24575,6 +24941,9 @@ usb:v072Fp1000* + usb:v072Fp1001* + ID_MODEL_FROM_DATABASE=PLDT Drive + ++usb:v072Fp2200* ++ ID_MODEL_FROM_DATABASE=ACR122U ++ + usb:v072Fp8002* + ID_MODEL_FROM_DATABASE=AET63 BioTRUSTKey + +@@ -25046,6 +25415,12 @@ usb:v0765* + usb:v0765p5001* + ID_MODEL_FROM_DATABASE=Huey PRO Colorimeter + ++usb:v0765p5020* ++ ID_MODEL_FROM_DATABASE=i1 Display Pro ++ ++usb:v0765p6003* ++ ID_MODEL_FROM_DATABASE=ColorMunki Smile ++ + usb:v0765pD094* + ID_MODEL_FROM_DATABASE=X-Rite DTP94 [Quato Silver Haze Pro] + +@@ -25325,12 +25700,24 @@ usb:v0781p5530* + usb:v0781p5567* + ID_MODEL_FROM_DATABASE=Cruzer Blade + ++usb:v0781p556C* ++ ID_MODEL_FROM_DATABASE=Ultra ++ ++usb:v0781p556D* ++ ID_MODEL_FROM_DATABASE=Memory Vault ++ + usb:v0781p5571* + ID_MODEL_FROM_DATABASE=Cruzer Fit + ++usb:v0781p5576* ++ ID_MODEL_FROM_DATABASE=Cruzer Facet ++ + usb:v0781p5580* + ID_MODEL_FROM_DATABASE=SDCZ80 Flash Drive + ++usb:v0781p5581* ++ ID_MODEL_FROM_DATABASE=Ultra ++ + usb:v0781p5E10* + ID_MODEL_FROM_DATABASE=Encrypted + +@@ -25830,7 +26217,7 @@ usb:v07AAp001A* + ID_MODEL_FROM_DATABASE=ULUSB-11 Key + + usb:v07AAp001C* +- ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] ++ ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] + + usb:v07AAp002E* + ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] +@@ -26114,6 +26501,9 @@ usb:v07B4p0114* + usb:v07B4p0118* + ID_MODEL_FROM_DATABASE=Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW + ++usb:v07B4p0125* ++ ID_MODEL_FROM_DATABASE=Tough TG-1 Camera ++ + usb:v07B4p0184* + ID_MODEL_FROM_DATABASE=P-S100 port + +@@ -26441,6 +26831,9 @@ usb:v07C4pA400* + usb:v07C4pA600* + ID_MODEL_FROM_DATABASE=Card Reader + ++usb:v07C4pA604* ++ ID_MODEL_FROM_DATABASE=12-in-1 Card Reader ++ + usb:v07C4pAD01* + ID_MODEL_FROM_DATABASE=Mass Storage Device + +@@ -26474,6 +26867,9 @@ usb:v07C4pC010* + usb:v07C5* + ID_VENDOR_FROM_DATABASE=APG Cash Drawer + ++usb:v07C5p0500* ++ ID_MODEL_FROM_DATABASE=Cash Drawer ++ + usb:v07C6* + ID_VENDOR_FROM_DATABASE=ShareWave, Inc. + +@@ -27140,6 +27536,9 @@ usb:v0803* + usb:v0803p1300* + ID_MODEL_FROM_DATABASE=V92 Faxmodem + ++usb:v0803p3095* ++ ID_MODEL_FROM_DATABASE=V.92 56K Mini External Modem Model 3095 ++ + usb:v0803p4310* + ID_MODEL_FROM_DATABASE=4410a Wireless-G Adapter [Intersil ISL3887] + +@@ -27713,6 +28112,9 @@ usb:v0846p9018* + usb:v0846p9020* + ID_MODEL_FROM_DATABASE=WNA3100(v1) Wireless-N 300 [Broadcom BCM43231] + ++usb:v0846p9021* ++ ID_MODEL_FROM_DATABASE=WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU] ++ + usb:v0846p9030* + ID_MODEL_FROM_DATABASE=WNA1100 Wireless-N 150 [Atheros AR9271] + +@@ -27722,9 +28124,21 @@ usb:v0846p9040* + usb:v0846p9041* + ID_MODEL_FROM_DATABASE=WNA1000M 802.11bgn [Realtek RTL8188CUS] + ++usb:v0846p9042* ++ ID_MODEL_FROM_DATABASE=On Networks N150MA 802.11bgn [Realtek RTL8188CUS] ++ ++usb:v0846p9050* ++ ID_MODEL_FROM_DATABASE=A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] ++ ++usb:v0846p9052* ++ ID_MODEL_FROM_DATABASE=A6100 AC600 DB Wireless Adapter [Realtek RTL8811AU] ++ + usb:v0846pA001* + ID_MODEL_FROM_DATABASE=PA101 10 Mbps HPNA Home Phoneline RJ-1 + ++usb:v0846pF001* ++ ID_MODEL_FROM_DATABASE=On Networks N300MA 802.11bgn [Realtek RTL8192CU] ++ + usb:v084D* + ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co., Inc. + +@@ -27875,8 +28289,17 @@ usb:v085Ap8027* + usb:v085C* + ID_VENDOR_FROM_DATABASE=ColorVision, Inc. + ++usb:v085Cp0100* ++ ID_MODEL_FROM_DATABASE=Spyder 1 ++ + usb:v085Cp0200* +- ID_MODEL_FROM_DATABASE=Monitor Spyder ++ ID_MODEL_FROM_DATABASE=Spyder 2 ++ ++usb:v085Cp0300* ++ ID_MODEL_FROM_DATABASE=Spyder 3 ++ ++usb:v085Cp0400* ++ ID_MODEL_FROM_DATABASE=Spyder 4 + + usb:v0862* + ID_VENDOR_FROM_DATABASE=Teletrol Systems, Inc. +@@ -28127,6 +28550,12 @@ usb:v0892* + usb:v0892p0101* + ID_MODEL_FROM_DATABASE=Smartdio Reader/Writer + ++usb:v0894* ++ ID_VENDOR_FROM_DATABASE=TSI Incorporated ++ ++usb:v0894p0010* ++ ID_MODEL_FROM_DATABASE=Remote NDIS Network Device ++ + usb:v0897* + ID_VENDOR_FROM_DATABASE=Lauterbach + +@@ -28181,6 +28610,18 @@ usb:v08A9p0015* + usb:v08AE* + ID_VENDOR_FROM_DATABASE=Macally (Mace Group, Inc.) + ++usb:v08B0* ++ ID_VENDOR_FROM_DATABASE=Metrohm ++ ++usb:v08B0p0006* ++ ID_MODEL_FROM_DATABASE=814 Sample Processor ++ ++usb:v08B0p0015* ++ ID_MODEL_FROM_DATABASE=857 Titrando ++ ++usb:v08B0p001A* ++ ID_MODEL_FROM_DATABASE=852 Titrando ++ + usb:v08B4* + ID_VENDOR_FROM_DATABASE=Sorenson Vision, Inc. + +@@ -29036,6 +29477,12 @@ usb:v0906* + usb:v0908* + ID_VENDOR_FROM_DATABASE=Siemens AG + ++usb:v0908p01F4* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5711 ++ ++usb:v0908p01FE* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET PC Adapter A2 ++ + usb:v0908p2701* + ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA + +@@ -29285,12 +29732,18 @@ usb:v091Ep23CC* + usb:v091Ep2459* + ID_MODEL_FROM_DATABASE=GPSmap 62/78 series + ++usb:v091Ep2491* ++ ID_MODEL_FROM_DATABASE=Edge 800 ++ + usb:v091Ep2519* + ID_MODEL_FROM_DATABASE=eTrex 30 + + usb:v091Ep2535* + ID_MODEL_FROM_DATABASE=Edge 800 + ++usb:v091Ep253C* ++ ID_MODEL_FROM_DATABASE=GPSmap 62sc ++ + usb:v091Ep255B* + ID_MODEL_FROM_DATABASE=Nuvi 2505LM + +@@ -29315,12 +29768,18 @@ usb:v0922p0007* + usb:v0922p0009* + ID_MODEL_FROM_DATABASE=LabelWriter 310 + ++usb:v0922p0019* ++ ID_MODEL_FROM_DATABASE=LabelWriter 400 ++ + usb:v0922p001A* + ID_MODEL_FROM_DATABASE=LabelWriter 400 Turbo + + usb:v0922p0020* + ID_MODEL_FROM_DATABASE=LabelWriter 450 + ++usb:v0922p1001* ++ ID_MODEL_FROM_DATABASE=LabelManager PnP ++ + usb:v0923* + ID_VENDOR_FROM_DATABASE=IC Media Corp. + +@@ -29363,6 +29822,9 @@ usb:v0925* + usb:v0925p0005* + ID_MODEL_FROM_DATABASE=Gamtec.,Ltd SmartJoy PLUS Adapter + ++usb:v0925p03E8* ++ ID_MODEL_FROM_DATABASE=Wii Classic Controller Adapter ++ + usb:v0925p3881* + ID_MODEL_FROM_DATABASE=Saleae Logic + +@@ -29417,6 +29879,9 @@ usb:v0930p000C* + usb:v0930p0010* + ID_MODEL_FROM_DATABASE=Gigabeat S (mtp) + ++usb:v0930p0200* ++ ID_MODEL_FROM_DATABASE=Integrated Bluetooth (Taiyo Yuden) ++ + usb:v0930p0301* + ID_MODEL_FROM_DATABASE=PCX1100U Cable Modem (WDM) + +@@ -29483,6 +29948,9 @@ usb:v0930p070B* + usb:v0930p0A07* + ID_MODEL_FROM_DATABASE=WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572] + ++usb:v0930p0A13* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Toshiba] ++ + usb:v0930p0B05* + ID_MODEL_FROM_DATABASE=PX1220E-1G25 External hard drive + +@@ -29691,7 +30159,7 @@ usb:v0939* + ID_VENDOR_FROM_DATABASE=Lumberg, Inc. + + usb:v0939p0B15* +- ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0) ++ ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 + + usb:v093A* + ID_VENDOR_FROM_DATABASE=Pixart Imaging, Inc. +@@ -29753,6 +30221,9 @@ usb:v093Ap260F* + usb:v093Ap2621* + ID_MODEL_FROM_DATABASE=PAC731x Trust Webcam + ++usb:v093Ap2622* ++ ID_MODEL_FROM_DATABASE=Webcam Genius ++ + usb:v093Ap2624* + ID_MODEL_FROM_DATABASE=Webcam + +@@ -29951,6 +30422,9 @@ usb:v0951p1653* + usb:v0951p1656* + ID_MODEL_FROM_DATABASE=DataTraveler Ultimate G2 + ++usb:v0951p1665* ++ ID_MODEL_FROM_DATABASE=Digital DataTraveler SE9 64GB ++ + usb:v0951p1689* + ID_MODEL_FROM_DATABASE=DataTraveler SE9 + +@@ -29993,6 +30467,9 @@ usb:v0957p0200* + usb:v0957p0202* + ID_MODEL_FROM_DATABASE=E-Video DC-350 Camera + ++usb:v0957p0407* ++ ID_MODEL_FROM_DATABASE=33220A Waveform Generator ++ + usb:v0957p0518* + ID_MODEL_FROM_DATABASE=82357B GPIB Interface + +@@ -30033,7 +30510,7 @@ usb:v095Dp0001* + ID_MODEL_FROM_DATABASE=Polycom ViaVideo + + usb:v0967* +- ID_VENDOR_FROM_DATABASE=Acer (??) ++ ID_VENDOR_FROM_DATABASE=Acer NeWeb Corp. + + usb:v0967p0204* + ID_MODEL_FROM_DATABASE=WarpLink 802.11b Adapter +@@ -30056,6 +30533,12 @@ usb:v096Ep0807* + usb:v0971* + ID_VENDOR_FROM_DATABASE=Gretag-Macbeth AG + ++usb:v0971p2000* ++ ID_MODEL_FROM_DATABASE=i1 Pro ++ ++usb:v0971p2001* ++ ID_MODEL_FROM_DATABASE=i1 Monitor ++ + usb:v0971p2003* + ID_MODEL_FROM_DATABASE=Eye-One display + +@@ -30063,7 +30546,7 @@ usb:v0971p2005* + ID_MODEL_FROM_DATABASE=Huey + + usb:v0971p2007* +- ID_MODEL_FROM_DATABASE=ColorMunki ++ ID_MODEL_FROM_DATABASE=ColorMunki Photo + + usb:v0973* + ID_VENDOR_FROM_DATABASE=Schlumberger +@@ -30182,6 +30665,9 @@ usb:v099Ap0638* + usb:v099Ap610C* + ID_MODEL_FROM_DATABASE=EL-610 Super Mini Electron luminescent Keyboard + ++usb:v099Ap713A* ++ ID_MODEL_FROM_DATABASE=WK-713 Multimedia Keyboard ++ + usb:v099Ap7160* + ID_MODEL_FROM_DATABASE=Hyper Slim Keyboard + +@@ -30375,7 +30861,10 @@ usb:v09D3* + ID_VENDOR_FROM_DATABASE=Com One + + usb:v09D3p0001* +- ID_MODEL_FROM_DATABASE=ISDN TA ++ ID_MODEL_FROM_DATABASE=ISDN TA / Light Rider 128K ++ ++usb:v09D3p000B* ++ ID_MODEL_FROM_DATABASE=Bluetooth Adapter class 1 [BlueLight] + + usb:v09D7* + ID_VENDOR_FROM_DATABASE=Novatel Wireless +@@ -30596,6 +31085,12 @@ usb:v0A07p00DA* + usb:v0A0B* + ID_VENDOR_FROM_DATABASE=Cybex Computer Products Co. + ++usb:v0A0D* ++ ID_VENDOR_FROM_DATABASE=Servergy, Inc ++ ++usb:v0A0Dp2514* ++ ID_MODEL_FROM_DATABASE=CTS-1000 Internal Hub ++ + usb:v0A11* + ID_VENDOR_FROM_DATABASE=Xentec, Inc. + +@@ -30887,6 +31382,9 @@ usb:v0A48p5024* + usb:v0A48p5025* + ID_MODEL_FROM_DATABASE=Mass Storage Device + ++usb:v0A4A* ++ ID_VENDOR_FROM_DATABASE=Ploytec GmbH ++ + usb:v0A4B* + ID_VENDOR_FROM_DATABASE=Fujitsu Media Devices, Ltd + +@@ -31217,6 +31715,9 @@ usb:v0A5CpBD11* + usb:v0A5CpBD13* + ID_MODEL_FROM_DATABASE=BCM4323 802.11abgn Wireless Adapter + ++usb:v0A5CpBD16* ++ ID_MODEL_FROM_DATABASE=BCM4319 802.11bgn Wireless Adapter ++ + usb:v0A5CpBD17* + ID_MODEL_FROM_DATABASE=BCM43236 802.11abgn Wireless Adapter + +@@ -31775,6 +32276,9 @@ usb:v0AC8pC33F* + usb:v0AC8pC429* + ID_MODEL_FROM_DATABASE=Lenovo ThinkCentre Web Camera + ++usb:v0AC8pC42D* ++ ID_MODEL_FROM_DATABASE=Lenovo IdeaCentre Web Camera ++ + usb:v0AC9* + ID_VENDOR_FROM_DATABASE=Micro Solutions, Inc. + +@@ -31823,6 +32327,9 @@ usb:v0ACDp0630* + usb:v0ACDp0810* + ID_MODEL_FROM_DATABASE=SecurePIN (IDPA-506100Y) PIN Pad + ++usb:v0ACDp2030* ++ ID_MODEL_FROM_DATABASE=ValueMag Magnetic Stripe Reader ++ + usb:v0ACE* + ID_VENDOR_FROM_DATABASE=ZyDAS + +@@ -32024,6 +32531,12 @@ usb:v0AF9p0010* + usb:v0AF9p0011* + ID_MODEL_FROM_DATABASE=Micro Innovations IC50C Webcam + ++usb:v0AFA* ++ ID_VENDOR_FROM_DATABASE=DMC Co., Ltd. ++ ++usb:v0AFAp07D2* ++ ID_MODEL_FROM_DATABASE=Controller Board for Projected Capacitive Touch Screen DUS3000 ++ + usb:v0AFC* + ID_VENDOR_FROM_DATABASE=Zaptronix Ltd + +@@ -32042,6 +32555,9 @@ usb:v0B00* + usb:v0B05* + ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. + ++usb:v0B05p0001* ++ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (CD-ROM mode) ++ + usb:v0B05p1101* + ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC4S) + +@@ -32147,6 +32663,9 @@ usb:v0B05p1784* + usb:v0B05p1786* + ID_MODEL_FROM_DATABASE=USB-N10 802.11n Network Adapter [Realtek RTL8188SU] + ++usb:v0B05p1788* ++ ID_MODEL_FROM_DATABASE=BT-270 Bluetooth Adapter ++ + usb:v0B05p1791* + ID_MODEL_FROM_DATABASE=WL-167G v3 802.11n Adapter [Realtek RTL8188SU] + +@@ -32159,12 +32678,18 @@ usb:v0B05p179E* + usb:v0B05p179F* + ID_MODEL_FROM_DATABASE=Eee Note EA800 (tablet mode) + ++usb:v0B05p17A0* ++ ID_MODEL_FROM_DATABASE=Xonar U3 sound card ++ + usb:v0B05p17A1* + ID_MODEL_FROM_DATABASE=Eee Note EA800 (mass storage mode) + + usb:v0B05p17AB* + ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] + ++usb:v0B05p17C9* ++ ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] ++ + usb:v0B05p4C80* + ID_MODEL_FROM_DATABASE=Transformer Pad TF300TG + +@@ -32183,6 +32708,12 @@ usb:v0B05p4D01* + usb:v0B05p4DAF* + ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700 (Fastboot) + ++usb:v0B05p5410* ++ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (MTP mode) ++ ++usb:v0B05p5412* ++ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) ++ + usb:v0B05p6101* + ID_MODEL_FROM_DATABASE=Cable Modem + +@@ -32228,9 +32759,15 @@ usb:v0B0E* + usb:v0B0Ep0420* + ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 + ++usb:v0B0Ep094D* ++ ID_MODEL_FROM_DATABASE=GN Netcom / Jabra REVO Wireless ++ + usb:v0B0Ep1022* + ID_MODEL_FROM_DATABASE=Jabra PRO 9450, Type 9400BS (DECT Headset) + ++usb:v0B0Ep2007* ++ ID_MODEL_FROM_DATABASE=GN 2000 Stereo Corded Headset ++ + usb:v0B0Ep620C* + ID_MODEL_FROM_DATABASE=Jabra BT620s + +@@ -32291,6 +32828,9 @@ usb:v0B33* + usb:v0B33p0020* + ID_MODEL_FROM_DATABASE=ShuttleXpress + ++usb:v0B33p0700* ++ ID_MODEL_FROM_DATABASE=RollerMouse Pro ++ + usb:v0B37* + ID_VENDOR_FROM_DATABASE=Hitachi ULSI Systems Co., Ltd + +@@ -32687,6 +33227,9 @@ usb:v0B95p1720* + usb:v0B95p1780* + ID_MODEL_FROM_DATABASE=AX88178 + ++usb:v0B95p1790* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet ++ + usb:v0B95p7720* + ID_MODEL_FROM_DATABASE=AX88772 + +@@ -32786,6 +33329,9 @@ usb:v0BAFp011B* + usb:v0BAFp0121* + ID_MODEL_FROM_DATABASE=USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B] + ++usb:v0BAFp0303* ++ ID_MODEL_FROM_DATABASE=USR5637 56K Faxmodem ++ + usb:v0BAFp6112* + ID_MODEL_FROM_DATABASE=FaxModem Model 5633 + +@@ -33332,6 +33878,9 @@ usb:v0BB4p0C01* + usb:v0BB4p0C02* + ID_MODEL_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo (Debug) + ++usb:v0BB4p0C03* ++ ID_MODEL_FROM_DATABASE=Android Phone [Fairphone First Edition (FP1)] ++ + usb:v0BB4p0C13* + ID_MODEL_FROM_DATABASE=Diamond + +@@ -33371,6 +33920,12 @@ usb:v0BB4p0CA2* + usb:v0BB4p0CA5* + ID_MODEL_FROM_DATABASE=Android Phone [Evo Shift 4G] + ++usb:v0BB4p0CAE* ++ ID_MODEL_FROM_DATABASE=T-Mobile MyTouch 4G Slide [Doubleshot] ++ ++usb:v0BB4p0DEA* ++ ID_MODEL_FROM_DATABASE=M7_UL [HTC One] ++ + usb:v0BB4p0FF8* + ID_MODEL_FROM_DATABASE=Desire HD (Tethering Mode) + +@@ -33443,18 +33998,33 @@ usb:v0BC2p2320* + usb:v0BC2p3008* + ID_MODEL_FROM_DATABASE=FreeAgent Desk 1TB + ++usb:v0BC2p3101* ++ ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB ++ ++usb:v0BC2p3312* ++ ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] ++ + usb:v0BC2p3320* + ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] + + usb:v0BC2p3332* + ID_MODEL_FROM_DATABASE=Expansion + ++usb:v0BC2p5020* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex ++ + usb:v0BC2p5021* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 2.0 + ++usb:v0BC2p5030* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Upgrade Cable STAE104 ++ + usb:v0BC2p5031* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 3.0 + ++usb:v0BC2p5070* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk ++ + usb:v0BC2p50A1* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk + +@@ -33476,6 +34046,9 @@ usb:v0BC2pA0A1* + usb:v0BC2pA0A4* + ID_MODEL_FROM_DATABASE=Backup Plus Desktop Drive + ++usb:v0BC2pAB00* ++ ID_MODEL_FROM_DATABASE=Slim Portable Drive ++ + usb:v0BC3* + ID_VENDOR_FROM_DATABASE=IPWireless, Inc. + +@@ -33650,6 +34223,12 @@ usb:v0BDAp0184* + usb:v0BDAp0186* + ID_MODEL_FROM_DATABASE=Card Reader + ++usb:v0BDAp0301* ++ ID_MODEL_FROM_DATABASE=multicard reader ++ ++usb:v0BDAp1724* ++ ID_MODEL_FROM_DATABASE=RTL8723AU 802.11n WLAN Adapter ++ + usb:v0BDAp2831* + ID_MODEL_FROM_DATABASE=RTL2831U DVB-T + +@@ -33707,6 +34286,9 @@ usb:v0BDAp8198* + usb:v0BDAp8199* + ID_MODEL_FROM_DATABASE=RTL8187SU 802.11g WLAN Adapter + ++usb:v0BDAp8812* ++ ID_MODEL_FROM_DATABASE=RTL8812AU 802.11a/b/g/n/ac WLAN Adapter ++ + usb:v0BDB* + ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV + +@@ -34038,7 +34620,7 @@ usb:v0C24p0019* + ID_MODEL_FROM_DATABASE=Bluetooth Device + + usb:v0C24p0021* +- ID_MODEL_FROM_DATABASE=Bluetooth Device ++ ID_MODEL_FROM_DATABASE=Bluetooth Device (V2.1+EDR) + + usb:v0C24p0C24* + ID_MODEL_FROM_DATABASE=Bluetooth Device(SAMPLE) +@@ -34142,6 +34724,9 @@ usb:v0C45* + usb:v0C45p0011* + ID_MODEL_FROM_DATABASE=EBUDDY + ++usb:v0C45p0520* ++ ID_MODEL_FROM_DATABASE=MaxTrack Wireless Mouse ++ + usb:v0C45p1018* + ID_MODEL_FROM_DATABASE=Compact Flash storage memory card reader + +@@ -34496,9 +35081,15 @@ usb:v0C45p62C0* + usb:v0C45p62E0* + ID_MODEL_FROM_DATABASE=MSI Starcam Racer + ++usb:v0C45p6300* ++ ID_MODEL_FROM_DATABASE=PC Microscope camera ++ + usb:v0C45p6310* + ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera + ++usb:v0C45p6340* ++ ID_MODEL_FROM_DATABASE=Camera ++ + usb:v0C45p6341* + ID_MODEL_FROM_DATABASE=Defender G-Lens 2577 HD720p Camera + +@@ -34526,6 +35117,12 @@ usb:v0C45p6419* + usb:v0C45p641D* + ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam + ++usb:v0C45p643F* ++ ID_MODEL_FROM_DATABASE=Dell Integrated HD Webcam ++ ++usb:v0C45p644D* ++ ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam ++ + usb:v0C45p6480* + ID_MODEL_FROM_DATABASE=Sonix 1.3 MP Laptop Integrated Webcam + +@@ -34535,6 +35132,9 @@ usb:v0C45p648B* + usb:v0C45p64BD* + ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera + ++usb:v0C45p7401* ++ ID_MODEL_FROM_DATABASE=TEMPer Temperature Sensor ++ + usb:v0C45p7402* + ID_MODEL_FROM_DATABASE=TEMPerHUM Temperature & Humidity Sensor + +@@ -35390,6 +35990,9 @@ usb:v0CF3p3000* + usb:v0CF3p3002* + ID_MODEL_FROM_DATABASE=AR3011 Bluetooth + ++usb:v0CF3p3004* ++ ID_MODEL_FROM_DATABASE=AR3012 Bluetooth 4.0 ++ + usb:v0CF3p3005* + ID_MODEL_FROM_DATABASE=AR3011 Bluetooth + +@@ -35564,6 +36167,15 @@ usb:v0D35* + usb:v0D3A* + ID_VENDOR_FROM_DATABASE=Posiflex Technologies, Inc. + ++usb:v0D3Ap0206* ++ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer ++ ++usb:v0D3Ap0207* ++ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer ++ ++usb:v0D3Ap0500* ++ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader ++ + usb:v0D3C* + ID_VENDOR_FROM_DATABASE=Sri Cable Technology, Ltd + +@@ -35573,6 +36185,9 @@ usb:v0D3D* + usb:v0D3Dp0001* + ID_MODEL_FROM_DATABASE=HID Keyboard + ++usb:v0D3Dp0040* ++ ID_MODEL_FROM_DATABASE=PS/2 Adapter ++ + usb:v0D3E* + ID_VENDOR_FROM_DATABASE=Fitcom, inc. + +@@ -35651,6 +36266,9 @@ usb:v0D49p7010* + usb:v0D49p7100* + ID_MODEL_FROM_DATABASE=OneTouch II 300GB External Hard Disk + ++usb:v0D49p7310* ++ ID_MODEL_FROM_DATABASE=OneTouch 4 ++ + usb:v0D49p7410* + ID_MODEL_FROM_DATABASE=Mobile Hard Disk Drive (1TB) + +@@ -35858,6 +36476,9 @@ usb:v0D78* + usb:v0D7A* + ID_VENDOR_FROM_DATABASE=MARX Datentechnik GmbH + ++usb:v0D7Ap0001* ++ ID_MODEL_FROM_DATABASE=CrypToken ++ + usb:v0D7B* + ID_VENDOR_FROM_DATABASE=Wellco Technology Co., Ltd + +@@ -36404,6 +37025,12 @@ usb:v0DB7* + usb:v0DB7p0002* + ID_MODEL_FROM_DATABASE=Goldpfeil P-LAN + ++usb:v0DBA* ++ ID_VENDOR_FROM_DATABASE=Digidesign ++ ++usb:v0DBAp3000* ++ ID_MODEL_FROM_DATABASE=Mbox 2 ++ + usb:v0DBC* + ID_VENDOR_FROM_DATABASE=A&D Medical + +@@ -36776,6 +37403,9 @@ usb:v0DF6p0060* + usb:v0DF6p0062* + ID_MODEL_FROM_DATABASE=WLA-5000 802.11abgn [Ralink RT3572] + ++usb:v0DF6p0072* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Sitecom] ++ + usb:v0DF6p061C* + ID_MODEL_FROM_DATABASE=LN-028 Network USB 2.0 Adapter + +@@ -37253,6 +37883,9 @@ usb:v0E79p14AD* + usb:v0E79p150E* + ID_MODEL_FROM_DATABASE=80 G9 + ++usb:v0E79p3001* ++ ID_MODEL_FROM_DATABASE=40 Titanium ++ + usb:v0E7B* + ID_VENDOR_FROM_DATABASE=On-Tech Industry Co., Ltd + +@@ -37292,9 +37925,15 @@ usb:v0E8Dp1806* + usb:v0E8Dp1836* + ID_MODEL_FROM_DATABASE=Samsung SE-S084 Super WriteMaster Slim External DVD writer + ++usb:v0E8Dp2000* ++ ID_MODEL_FROM_DATABASE=MT65xx Preloader ++ + usb:v0E8Dp3329* + ID_MODEL_FROM_DATABASE=Qstarz BT-Q1000XT + ++usb:v0E8Dp763E* ++ ID_MODEL_FROM_DATABASE=MT7630e Bluetooth Adapter ++ + usb:v0E8F* + ID_VENDOR_FROM_DATABASE=GreenAsia Inc. + +@@ -37302,7 +37941,7 @@ usb:v0E8Fp0003* + ID_MODEL_FROM_DATABASE=MaxFire Blaze2 + + usb:v0E8Fp0012* +- ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Gamepad ++ ID_MODEL_FROM_DATABASE=Joystick/Gamepad + + usb:v0E8Fp0016* + ID_MODEL_FROM_DATABASE=4 port USB 1.1 hub UH-174 +@@ -37436,9 +38075,18 @@ usb:v0EB7* + usb:v0EB8* + ID_VENDOR_FROM_DATABASE=Mettler Toledo + ++usb:v0EB8p2200* ++ ID_MODEL_FROM_DATABASE=Ariva Scale ++ + usb:v0EB8pF000* + ID_MODEL_FROM_DATABASE=PS60 Scale + ++usb:v0EBB* ++ ID_VENDOR_FROM_DATABASE=Thermo Fisher Scientific ++ ++usb:v0EBBp0002* ++ ID_MODEL_FROM_DATABASE=FT-IR Spectrometer ++ + usb:v0EBE* + ID_VENDOR_FROM_DATABASE=VWeb Corp. + +@@ -37559,6 +38207,12 @@ usb:v0EEFp0001* + usb:v0EEFp0002* + ID_MODEL_FROM_DATABASE=Touchscreen Controller(Professional) + ++usb:v0EEFp7200* ++ ID_MODEL_FROM_DATABASE=Touchscreen Controller ++ ++usb:v0EEFpA802* ++ ID_MODEL_FROM_DATABASE=eGalaxTouch EXC7920 ++ + usb:v0EF0* + ID_VENDOR_FROM_DATABASE=Hitachi Cable, Ltd + +@@ -37670,6 +38324,12 @@ usb:v0F12* + usb:v0F13* + ID_VENDOR_FROM_DATABASE=Acetek Technology Co., Ltd + ++usb:v0F14* ++ ID_VENDOR_FROM_DATABASE=Ingenico ++ ++usb:v0F14p0012* ++ ID_MODEL_FROM_DATABASE=Vital'Act 3S ++ + usb:v0F18* + ID_VENDOR_FROM_DATABASE=Finger Lakes Instrumentation + +@@ -37754,6 +38414,12 @@ usb:v0F37* + usb:v0F38* + ID_VENDOR_FROM_DATABASE=Nien-Yi Industrial Corp. + ++usb:v0F39* ++ ID_VENDOR_FROM_DATABASE=TG3 Electronics ++ ++usb:v0F39p0876* ++ ID_MODEL_FROM_DATABASE=Keyboard [87 Francium Pro] ++ + usb:v0F3D* + ID_VENDOR_FROM_DATABASE=Airprime, Incorporated + +@@ -37841,6 +38507,9 @@ usb:v0F63* + usb:v0F63p0010* + ID_MODEL_FROM_DATABASE=Leapster Explorer + ++usb:v0F63p0022* ++ ID_MODEL_FROM_DATABASE=Leap Reader ++ + usb:v0F63p0500* + ID_MODEL_FROM_DATABASE=Fly Fusion + +@@ -37928,6 +38597,9 @@ usb:v0F6Ep0404* + usb:v0F73* + ID_VENDOR_FROM_DATABASE=DFI + ++usb:v0F78* ++ ID_VENDOR_FROM_DATABASE=Guntermann & Drunck GmbH ++ + usb:v0F7C* + ID_VENDOR_FROM_DATABASE=DQ Technology, Inc. + +@@ -38064,7 +38736,7 @@ usb:v0FCAp8001* + ID_MODEL_FROM_DATABASE=Blackberry Handheld + + usb:v0FCAp8004* +- ID_MODEL_FROM_DATABASE=Blackberry Handheld ++ ID_MODEL_FROM_DATABASE=Blackberry + + usb:v0FCAp8007* + ID_MODEL_FROM_DATABASE=Blackberry Handheld +@@ -38147,6 +38819,12 @@ usb:v0FCEp3138* + usb:v0FCEp3149* + ID_MODEL_FROM_DATABASE=Xperia X8 + ++usb:v0FCEp514F* ++ ID_MODEL_FROM_DATABASE=Xperia arc S [Adb-Enable Mode] ++ ++usb:v0FCEp5169* ++ ID_MODEL_FROM_DATABASE=Xperia S [Adb-Enable Mode] ++ + usb:v0FCEp5177* + ID_MODEL_FROM_DATABASE=Xperia Ion [Debug Mode] + +@@ -38309,6 +38987,9 @@ usb:v0FCEpE166* + usb:v0FCEpE167* + ID_MODEL_FROM_DATABASE=XPERIA mini + ++usb:v0FCEpF0FA* ++ ID_MODEL_FROM_DATABASE=Liveview micro display MN800 in DFU mode ++ + usb:v0FCF* + ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc. + +@@ -38316,13 +38997,16 @@ usb:v0FCFp1003* + ID_MODEL_FROM_DATABASE=ANT Development Board + + usb:v0FCFp1004* +- ID_MODEL_FROM_DATABASE=ANT2USB ++ ID_MODEL_FROM_DATABASE=ANTUSB Stick + + usb:v0FCFp1006* + ID_MODEL_FROM_DATABASE=ANT Development Board + + usb:v0FCFp1008* +- ID_MODEL_FROM_DATABASE=Mini stick Suunto ++ ID_MODEL_FROM_DATABASE=ANTUSB2 Stick ++ ++usb:v0FCFp1009* ++ ID_MODEL_FROM_DATABASE=ANTUSB-m Stick + + usb:v0FD0* + ID_VENDOR_FROM_DATABASE=Tulip Computers B.V. +@@ -38378,6 +39062,12 @@ usb:v0FDAp0100* + usb:v0FDC* + ID_VENDOR_FROM_DATABASE=Micro Plus + ++usb:v0FDE* ++ ID_VENDOR_FROM_DATABASE=Oregon Scientific ++ ++usb:v0FDEpCA01* ++ ID_MODEL_FROM_DATABASE=WMRS200 weather station ++ + usb:v0FE0* + ID_VENDOR_FROM_DATABASE=Osterhout Design Group + +@@ -38471,6 +39161,9 @@ usb:v0FFF* + usb:v1000* + ID_VENDOR_FROM_DATABASE=Speed Tech Corp. + ++usb:v1000p153B* ++ ID_MODEL_FROM_DATABASE=TerraTec Electronic GmbH ++ + usb:v1001* + ID_VENDOR_FROM_DATABASE=Ritronics Components (S) Pte., Ltd + +@@ -38504,6 +39197,9 @@ usb:v1004p618E* + usb:v1004p618F* + ID_MODEL_FROM_DATABASE=Ally/Optimus One + ++usb:v1004p61C5* ++ ID_MODEL_FROM_DATABASE=P880 / Charge only ++ + usb:v1004p61C6* + ID_MODEL_FROM_DATABASE=Vortex (msc) + +@@ -38514,7 +39210,7 @@ usb:v1004p61F1* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [LG Software mode] + + usb:v1004p61F9* +- ID_MODEL_FROM_DATABASE=V909 G-Slate ++ ID_MODEL_FROM_DATABASE=Optimus (Various Models) MTP Mode + + usb:v1004p61FC* + ID_MODEL_FROM_DATABASE=Optimus 3 +@@ -38528,9 +39224,15 @@ usb:v1004p6300* + usb:v1004p631C* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [MTP mode] + ++usb:v1004p631D* ++ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Camera/PTP Mode) ++ + usb:v1004p631E* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [Camera/PTP mode] + ++usb:v1004p631F* ++ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode) ++ + usb:v1004p6356* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [Virtual CD mode] + +@@ -38540,6 +39242,9 @@ usb:v1004p6800* + usb:v1004p7000* + ID_MODEL_FROM_DATABASE=LG LDP-7024D(LD)USB + ++usb:v1004p91C8* ++ ID_MODEL_FROM_DATABASE=P880 / USB tethering ++ + usb:v1004pA400* + ID_MODEL_FROM_DATABASE=Renoir (KC910) + +@@ -38742,13 +39447,13 @@ usb:v1033p0068* + ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231 + + usb:v1038* +- ID_VENDOR_FROM_DATABASE=Ideazon, Inc. ++ ID_VENDOR_FROM_DATABASE=SteelSeries ApS + + usb:v1038p0100* +- ID_MODEL_FROM_DATABASE=Zboard ++ ID_MODEL_FROM_DATABASE=Ideazon Zboard + + usb:v1038p1361* +- ID_MODEL_FROM_DATABASE=Sensei ++ ID_MODEL_FROM_DATABASE=Ideazon Sensei + + usb:v1039* + ID_VENDOR_FROM_DATABASE=devolo AG +@@ -38946,28 +39651,37 @@ usb:v1058p0704* + ID_MODEL_FROM_DATABASE=Passport External HDD + + usb:v1058p070A* +- ID_MODEL_FROM_DATABASE=My Passport Essential SE ++ ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) + + usb:v1058p071A* + ID_MODEL_FROM_DATABASE=My Passport + + usb:v1058p0730* +- ID_MODEL_FROM_DATABASE=My Passport ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) + + usb:v1058p0740* + ID_MODEL_FROM_DATABASE=My Passport + ++usb:v1058p0741* ++ ID_MODEL_FROM_DATABASE=My Passport Ultra ++ + usb:v1058p0742* + ID_MODEL_FROM_DATABASE=My Passport Essential SE + + usb:v1058p0748* +- ID_MODEL_FROM_DATABASE=My Passport 1TB USB 3.0 ++ ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) ++ ++usb:v1058p0810* ++ ID_MODEL_FROM_DATABASE=My Passport Ultra + + usb:v1058p0900* + ID_MODEL_FROM_DATABASE=MyBook Essential External HDD + + usb:v1058p0901* +- ID_MODEL_FROM_DATABASE=MyBook External HDD ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) ++ ++usb:v1058p0902* ++ ID_MODEL_FROM_DATABASE=My Book Pro Edition + + usb:v1058p0903* + ID_MODEL_FROM_DATABASE=My Book Premium Edition +@@ -38976,20 +39690,32 @@ usb:v1058p0910* + ID_MODEL_FROM_DATABASE=MyBook Essential External HDD + + usb:v1058p1001* +- ID_MODEL_FROM_DATABASE=External Hard Disk [Elements] ++ ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) + + usb:v1058p1003* + ID_MODEL_FROM_DATABASE=Elements 1000 GB + + usb:v1058p1010* +- ID_MODEL_FROM_DATABASE=Elements External HDD ++ ID_MODEL_FROM_DATABASE=Elements Portable (WDBAAR) + + usb:v1058p1021* +- ID_MODEL_FROM_DATABASE=Elements 2TB ++ ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) + + usb:v1058p1023* + ID_MODEL_FROM_DATABASE=Elements SE + ++usb:v1058p1048* ++ ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) ++ ++usb:v1058p10A2* ++ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBPCK) ++ ++usb:v1058p10A8* ++ ID_MODEL_FROM_DATABASE=Elements Portable (WDBUZG) ++ ++usb:v1058p1100* ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition 2.0 (WDH1U) ++ + usb:v1058p1103* + ID_MODEL_FROM_DATABASE=My Book Studio + +@@ -39272,6 +39998,9 @@ usb:v106Fp0009* + usb:v106Fp000A* + ID_MODEL_FROM_DATABASE=CR10x Coin Recycler + ++usb:v106Fp000C* ++ ID_MODEL_FROM_DATABASE=Xchange ++ + usb:v1076* + ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc. + +@@ -39335,6 +40064,12 @@ usb:v1099* + usb:v109A* + ID_VENDOR_FROM_DATABASE=DATASOFT Systems GmbH + ++usb:v109B* ++ ID_VENDOR_FROM_DATABASE=Hisense ++ ++usb:v109Bp9118* ++ ID_MODEL_FROM_DATABASE=Medion P4013 Mobile ++ + usb:v109F* + ID_VENDOR_FROM_DATABASE=eSOL Co., Ltd + +@@ -39458,6 +40193,15 @@ usb:v10BF* + usb:v10BFp0001* + ID_MODEL_FROM_DATABASE=SmartHome PowerLinc + ++usb:v10C3* ++ ID_VENDOR_FROM_DATABASE=Universal Laser Systems, Inc. ++ ++usb:v10C3p00A4* ++ ID_MODEL_FROM_DATABASE=ULS PLS Series Laser Engraver Firmware Loader ++ ++usb:v10C3p00A5* ++ ID_MODEL_FROM_DATABASE=ULS Print Support ++ + usb:v10C4* + ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc. + +@@ -39509,6 +40253,12 @@ usb:v10C4p8461* + usb:v10C4p8477* + ID_MODEL_FROM_DATABASE=Balluff RFID Reader + ++usb:v10C4p8496* ++ ID_MODEL_FROM_DATABASE=SiLabs Cypress FW downloader ++ ++usb:v10C4p8497* ++ ID_MODEL_FROM_DATABASE=SiLabs Cypress EVB ++ + usb:v10C4p8605* + ID_MODEL_FROM_DATABASE=dilitronics ESoLUX solar lighting controller + +@@ -39527,6 +40277,9 @@ usb:v10C4p8863* + usb:v10C4p8897* + ID_MODEL_FROM_DATABASE=C8051F38x HDMI Splitter [UHBX] + ++usb:v10C4p8918* ++ ID_MODEL_FROM_DATABASE=C8051F38x HDMI Audio Extractor [VSA-HA-DP] ++ + usb:v10C4pEA60* + ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light + +@@ -39908,6 +40661,9 @@ usb:v1141* + usb:v1142* + ID_VENDOR_FROM_DATABASE=CyberScan Technologies, Inc. + ++usb:v1142p0709* ++ ID_MODEL_FROM_DATABASE=Cyberview High Speed Scanner ++ + usb:v1145* + ID_VENDOR_FROM_DATABASE=Japan Radio Company + +@@ -39938,6 +40694,9 @@ usb:v114D* + usb:v114F* + ID_VENDOR_FROM_DATABASE=Wavecom + ++usb:v114Fp1234* ++ ID_MODEL_FROM_DATABASE=Fastrack Xtend FXT001 Modem ++ + usb:v115B* + ID_VENDOR_FROM_DATABASE=Salix Technology Co., Ltd. + +@@ -40128,7 +40887,7 @@ usb:v1199p683A* + ID_MODEL_FROM_DATABASE=MC8785 Device + + usb:v1199p683C* +- ID_MODEL_FROM_DATABASE=MC8790 Device ++ ID_MODEL_FROM_DATABASE=Mobile Broadband 3G/UMTS (MC8790 Device) + + usb:v1199p6850* + ID_MODEL_FROM_DATABASE=AirCard 880 Device +@@ -40196,6 +40955,12 @@ usb:v1199p9009* + usb:v1199p900A* + ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem + ++usb:v1199p9055* ++ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (NAT mode) ++ ++usb:v1199p9057* ++ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (IP passthrough mode) ++ + usb:v119A* + ID_VENDOR_FROM_DATABASE=ZHAN QI Technology Co., Ltd + +@@ -40238,12 +41003,30 @@ usb:v11ACp6565* + usb:v11B0* + ID_VENDOR_FROM_DATABASE=ATECH FLASH TECHNOLOGY + ++usb:v11B0p6208* ++ ID_MODEL_FROM_DATABASE=PRO-28U ++ ++usb:v11BE* ++ ID_VENDOR_FROM_DATABASE=R&D International NV ++ ++usb:v11BEpF0A0* ++ ID_MODEL_FROM_DATABASE=Martin Maxxyz DMX ++ + usb:v11C5* + ID_VENDOR_FROM_DATABASE=Inmax + + usb:v11C5p0521* + ID_MODEL_FROM_DATABASE=IMT-0521 Smartcard Reader + ++usb:v11CA* ++ ID_VENDOR_FROM_DATABASE=VeriFone Inc ++ ++usb:v11CAp0207* ++ ID_MODEL_FROM_DATABASE=PIN Pad VX 810 ++ ++usb:v11CAp0220* ++ ID_MODEL_FROM_DATABASE=PIN Pad VX 805 ++ + usb:v11DB* + ID_VENDOR_FROM_DATABASE=Topfield Co., Ltd. + +@@ -40274,6 +41057,9 @@ usb:v11F5p0005* + usb:v11F5p0008* + ID_MODEL_FROM_DATABASE=UMTS/HSDPA Data Card + ++usb:v11F5p0101* ++ ID_MODEL_FROM_DATABASE=RCU Connect ++ + usb:v11F6* + ID_VENDOR_FROM_DATABASE=Prolific + +@@ -40284,7 +41070,7 @@ usb:v11F7* + ID_VENDOR_FROM_DATABASE=Alcatel (?) + + usb:v11F7p02DF* +- ID_MODEL_FROM_DATABASE=TD10 Mobile phone USB cable ++ ID_MODEL_FROM_DATABASE=Serial cable (v2) for TD-10 Mobile Phone + + usb:v1203* + ID_VENDOR_FROM_DATABASE=TSC Auto ID Technology Co., Ltd +@@ -40352,6 +41138,9 @@ usb:v1228p0012* + usb:v1228p0015* + ID_MODEL_FROM_DATABASE=TPaq21/MPaq21 Datalogger + ++usb:v1228p584C* ++ ID_MODEL_FROM_DATABASE=XL2 Logger ++ + usb:v1230* + ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A. + +@@ -40377,20 +41166,110 @@ usb:v1235* + ID_VENDOR_FROM_DATABASE=Novation EMS + + usb:v1235p0001* +- ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation ++ ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition + + usb:v1235p0002* + ID_MODEL_FROM_DATABASE=Speedio + + usb:v1235p0003* +- ID_MODEL_FROM_DATABASE=ReMOTE ZeRO SL ++ ID_MODEL_FROM_DATABASE=RemoteSL + ZeroSL ++ ++usb:v1235p0004* ++ ID_MODEL_FROM_DATABASE=ReMOTE LE ++ ++usb:v1235p0005* ++ ID_MODEL_FROM_DATABASE=XIOSynth [First Edition] ++ ++usb:v1235p0006* ++ ID_MODEL_FROM_DATABASE=XStation ++ ++usb:v1235p0007* ++ ID_MODEL_FROM_DATABASE=XIOSynth ++ ++usb:v1235p0008* ++ ID_MODEL_FROM_DATABASE=ReMOTE SL Compact ++ ++usb:v1235p0009* ++ ID_MODEL_FROM_DATABASE=nIO ++ ++usb:v1235p000A* ++ ID_MODEL_FROM_DATABASE=Nocturn ++ ++usb:v1235p000B* ++ ID_MODEL_FROM_DATABASE=ReMOTE SL MkII ++ ++usb:v1235p000C* ++ ID_MODEL_FROM_DATABASE=ZeRO MkII ++ ++usb:v1235p000E* ++ ID_MODEL_FROM_DATABASE=Launchpad ++ ++usb:v1235p0010* ++ ID_MODEL_FROM_DATABASE=Saffire 6 ++ ++usb:v1235p0011* ++ ID_MODEL_FROM_DATABASE=Ultranova ++ ++usb:v1235p0012* ++ ID_MODEL_FROM_DATABASE=Nocturn Keyboard ++ ++usb:v1235p0013* ++ ID_MODEL_FROM_DATABASE=VRM Box ++ ++usb:v1235p0014* ++ ID_MODEL_FROM_DATABASE=VRM Box Audio Class (2-out) ++ ++usb:v1235p0015* ++ ID_MODEL_FROM_DATABASE=Dicer ++ ++usb:v1235p0016* ++ ID_MODEL_FROM_DATABASE=Ultranova ++ ++usb:v1235p0018* ++ ID_MODEL_FROM_DATABASE=Twitch ++ ++usb:v1235p0019* ++ ID_MODEL_FROM_DATABASE=Impulse 25 ++ ++usb:v1235p001A* ++ ID_MODEL_FROM_DATABASE=Impulse 49 ++ ++usb:v1235p001B* ++ ID_MODEL_FROM_DATABASE=Impulse 61 + + usb:v1235p4661* + ID_MODEL_FROM_DATABASE=ReMOTE25 + ++usb:v1235p8000* ++ ID_MODEL_FROM_DATABASE=Scarlett 18i6 ++ ++usb:v1235p8002* ++ ID_MODEL_FROM_DATABASE=Scarlett 8i6 ++ + usb:v1235p8006* + ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2 + ++usb:v1235p8008* ++ ID_MODEL_FROM_DATABASE=Saffire 6 ++ ++usb:v1235p800A* ++ ID_MODEL_FROM_DATABASE=Scarlett 2i4 ++ ++usb:v1235p800C* ++ ID_MODEL_FROM_DATABASE=Scarlett 18i20 ++ ++usb:v1235p800E* ++ ID_MODEL_FROM_DATABASE=iTrack Solo ++ ++usb:v1235p8010* ++ ID_MODEL_FROM_DATABASE=Forte ++ ++usb:v1235p8012* ++ ID_MODEL_FROM_DATABASE=Scarlett 6i6 ++ ++usb:v1235p8014* ++ ID_MODEL_FROM_DATABASE=Scarlett 18i8 ++ + usb:v1241* + ID_VENDOR_FROM_DATABASE=Belkin + +@@ -40410,7 +41289,7 @@ usb:v1241p1166* + ID_MODEL_FROM_DATABASE=MI-2150 Trust Mouse + + usb:v1241p1177* +- ID_MODEL_FROM_DATABASE=F8E842-DL Mouse ++ ID_MODEL_FROM_DATABASE=Mouse [HT82M21A] + + usb:v1241p1503* + ID_MODEL_FROM_DATABASE=Keyboard +@@ -40463,6 +41342,9 @@ usb:v125Fp312A* + usb:v125Fp312B* + ID_MODEL_FROM_DATABASE=Superior S102 Pro + ++usb:v125FpA22A* ++ ID_MODEL_FROM_DATABASE=DashDrive Elite HE720 500GB ++ + usb:v125FpA91A* + ID_MODEL_FROM_DATABASE=Portable HDD CH91 + +@@ -40478,6 +41360,9 @@ usb:v125FpC93A* + usb:v125FpC96A* + ID_MODEL_FROM_DATABASE=C906 Flash Drive + ++usb:v125FpCB10* ++ ID_MODEL_FROM_DATABASE=Dash Drive UV100 ++ + usb:v1260* + ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp. + +@@ -40637,6 +41522,9 @@ usb:v1283p0150* + usb:v1286* + ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc. + ++usb:v1286p00BC* ++ ID_MODEL_FROM_DATABASE=Marvell JTAG Probe ++ + usb:v1286p1FAB* + ID_MODEL_FROM_DATABASE=88W8338 [Libertas] 802.11g + +@@ -40733,6 +41621,12 @@ usb:v12C4p0006* + usb:v12C4p0008* + ID_MODEL_FROM_DATABASE=Teleprompter Foot Control (v1) + ++usb:v12CF* ++ ID_VENDOR_FROM_DATABASE=DEXIN ++ ++usb:v12CFp0170* ++ ID_MODEL_FROM_DATABASE=Tt eSPORTS BLACK Gaming mouse ++ + usb:v12D1* + ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd. + +@@ -40802,9 +41696,15 @@ usb:v12D1p14CF* + usb:v12D1p14D1* + ID_MODEL_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode) + ++usb:v12D1p14DB* ++ ID_MODEL_FROM_DATABASE=E353/E3131 ++ + usb:v12D1p14F1* + ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem + ++usb:v12D1p14FE* ++ ID_MODEL_FROM_DATABASE=Modem (Mass Storage Mode) ++ + usb:v12D1p1501* + ID_MODEL_FROM_DATABASE=Pulse + +@@ -40826,6 +41726,9 @@ usb:v12D1p1521* + usb:v12D1p155A* + ID_MODEL_FROM_DATABASE=R205 Mobile WiFi (CD-ROM mode) + ++usb:v12D1p1575* ++ ID_MODEL_FROM_DATABASE=K5150 LTE modem ++ + usb:v12D1p1805* + ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone + +@@ -41376,7 +42279,7 @@ usb:v13BA* + ID_VENDOR_FROM_DATABASE=PCPlay + + usb:v13BAp0001* +- ID_MODEL_FROM_DATABASE=König Electronic CMP-KEYPAD12 Numeric Keypad ++ ID_MODEL_FROM_DATABASE=Konig Electronic CMP-KEYPAD12 Numeric Keypad + + usb:v13BAp0017* + ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter +@@ -44096,6 +44999,9 @@ usb:v1740p9801* + usb:v1743* + ID_VENDOR_FROM_DATABASE=General Atomics + ++usb:v1748* ++ ID_VENDOR_FROM_DATABASE=MQP Electronics ++ + usb:v174C* + ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. + +@@ -46569,7 +47475,7 @@ usb:v1C7B* + ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD. + + usb:v1C83* +- ID_VENDOR_FROM_DATABASE=Schomäcker GmbH ++ ID_VENDOR_FROM_DATABASE=Schomaecker GmbH + + usb:v1C83p0001* + ID_MODEL_FROM_DATABASE=RS150 V2 +@@ -47678,6 +48584,12 @@ usb:v2047* + usb:v2047p0200* + ID_MODEL_FROM_DATABASE=MSP430 USB HID Bootstrap Loader + ++usb:v2047p0855* ++ ID_MODEL_FROM_DATABASE=Invensense Embedded MotionApp HID Sensor ++ ++usb:v2047p0964* ++ ID_MODEL_FROM_DATABASE=Inventio Software MSP430 ++ + usb:v2080* + ID_VENDOR_FROM_DATABASE=Barnes & Noble + +-- +1.7.9.2 + diff --git a/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch b/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch new file mode 100644 index 00000000..c19bfcee --- /dev/null +++ b/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch @@ -0,0 +1,45 @@ +From 94036de887ad5b0dc805abe38b5c1c58b57d9465 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Tue, 11 Mar 2014 17:49:00 +0200 +Subject: [PATCH] logind: Do not fail display count if a device has no parent + +udev_device_get_parent() may return NULL when the device doesn't have a +parent, as is the case with (for example) /sys/devices/virtual/drm/ttm. + +Also, log an actual error message instead of "-12 displays connected". +--- + src/login/logind-action.c | 4 +++- + src/login/logind-core.c | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index ae7b350..1928f43 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -84,7 +84,9 @@ int manager_handle_action( + * treat like this under the assumption that there is + * no modern drm driver available. */ + n = manager_count_displays(m); +- if (n != 1) { ++ if (n < 0) ++ log_warning("Display counting failed: %s", strerror(-n)); ++ else if (n != 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } +diff --git src/login/logind-core.c src/login/logind-core.c +index ca34d37..053d2ed 100644 +--- src/login/logind-core.c ++++ src/login/logind-core.c +@@ -520,7 +520,7 @@ int manager_count_displays(Manager *m) { + + p = udev_device_get_parent(d); + if (!p) +- return -ENOMEM; ++ continue; + + /* If the parent shares the same subsystem as the + * device we are looking at then it is a connector, +-- +1.7.9.2 + diff --git a/0004-machined-make-sure-GetMachineAddresses-is-available-.patch b/0004-machined-make-sure-GetMachineAddresses-is-available-.patch new file mode 100644 index 00000000..20b625ba --- /dev/null +++ b/0004-machined-make-sure-GetMachineAddresses-is-available-.patch @@ -0,0 +1,38 @@ +From d3152a09ac5804ec8603daee12f98cf03523cce0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 19 May 2014 00:47:26 +0900 +Subject: [PATCH] machined: make sure GetMachineAddresses() is available for + unprivileged processes + +--- + src/machine/org.freedesktop.machine1.conf | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git src/machine/org.freedesktop.machine1.conf src/machine/org.freedesktop.machine1.conf +index 970ccd8..ab349a5 100644 +--- src/machine/org.freedesktop.machine1.conf ++++ src/machine/org.freedesktop.machine1.conf +@@ -42,12 +42,20 @@ + + ++ ++ + + + ++ ++ + + + +-- +1.7.9.2 + diff --git a/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch b/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch new file mode 100644 index 00000000..361a1713 --- /dev/null +++ b/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch @@ -0,0 +1,137 @@ +From cdc06ed7b6120c1049305fa7033f228ee9d86043 Mon Sep 17 00:00:00 2001 +From: David Strauss +Date: Mon, 28 Apr 2014 12:08:32 -0700 +Subject: [PATCH] core: Filter by state behind the D-Bus API, not in the + systemctl client. + +--- + src/core/dbus-manager.c | 24 +++++++++++++++++++++++- + src/core/org.freedesktop.systemd1.conf | 4 ++++ + src/systemctl/systemctl.c | 24 +++++++++++++----------- + 3 files changed, 40 insertions(+), 12 deletions(-) + +diff --git src/core/dbus-manager.c src/core/dbus-manager.c +index 58e484d..d5fab0a 100644 +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c +@@ -728,7 +728,7 @@ static int method_reset_failed(sd_bus *bus, sd_bus_message *message, void *userd + return sd_bus_reply_method_return(message, NULL); + } + +-static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { ++static int list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error, char **states) { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + Manager *m = userdata; + const char *k; +@@ -761,6 +761,12 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat + + following = unit_following(u); + ++ if (!strv_isempty(states) && ++ !strv_contains(states, unit_load_state_to_string(u->load_state)) && ++ !strv_contains(states, unit_active_state_to_string(unit_active_state(u))) && ++ !strv_contains(states, unit_sub_state_to_string(u))) ++ continue; ++ + unit_path = unit_dbus_path(u); + if (!unit_path) + return -ENOMEM; +@@ -794,6 +800,21 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat + return sd_bus_send(bus, reply, NULL); + } + ++static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { ++ return list_units_filtered(bus, message, userdata, error, NULL); ++} ++ ++static int method_list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { ++ _cleanup_strv_free_ char **states = NULL; ++ int r; ++ ++ r = sd_bus_message_read_strv(message, &states); ++ if (r < 0) ++ return r; ++ ++ return list_units_filtered(bus, message, userdata, error, states); ++} ++ + static int method_list_jobs(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + Manager *m = userdata; +@@ -1670,6 +1691,7 @@ const sd_bus_vtable bus_manager_vtable[] = { + SD_BUS_METHOD("ClearJobs", NULL, NULL, method_clear_jobs, 0), + SD_BUS_METHOD("ResetFailed", NULL, NULL, method_reset_failed, 0), + SD_BUS_METHOD("ListUnits", NULL, "a(ssssssouso)", method_list_units, SD_BUS_VTABLE_UNPRIVILEGED), ++ SD_BUS_METHOD("ListUnitsFiltered", "as", "a(ssssssouso)", method_list_units_filtered, SD_BUS_VTABLE_UNPRIVILEGED), + SD_BUS_METHOD("ListJobs", NULL, "a(usssoo)", method_list_jobs, SD_BUS_VTABLE_UNPRIVILEGED), + SD_BUS_METHOD("Subscribe", NULL, NULL, method_subscribe, SD_BUS_VTABLE_UNPRIVILEGED), + SD_BUS_METHOD("Unsubscribe", NULL, NULL, method_unsubscribe, SD_BUS_VTABLE_UNPRIVILEGED), +diff --git src/core/org.freedesktop.systemd1.conf src/core/org.freedesktop.systemd1.conf +index a375dce..9dfca81 100644 +--- src/core/org.freedesktop.systemd1.conf ++++ src/core/org.freedesktop.systemd1.conf +@@ -64,6 +64,10 @@ + + ++ ++ + + load_state) || +- strv_contains(arg_states, u->sub_state) || +- strv_contains(arg_states, u->active_state); +- + if (!strv_isempty(patterns)) { + char **pattern; + +@@ -467,6 +461,7 @@ static int get_unit_list( + UnitInfo **_unit_infos, + char **patterns) { + ++ _cleanup_bus_message_unref_ sd_bus_message *m = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + _cleanup_free_ UnitInfo *unit_infos = NULL; +@@ -478,15 +473,22 @@ static int get_unit_list( + assert(_reply); + assert(_unit_infos); + +- r = sd_bus_call_method( ++ r = sd_bus_message_new_method_call( + bus, ++ &m, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", +- "ListUnits", +- &error, +- &reply, +- NULL); ++ "ListUnitsFiltered"); ++ ++ if (r < 0) ++ return bus_log_create_error(r); ++ ++ r = sd_bus_message_append_strv(m, arg_states); ++ if (r < 0) ++ return bus_log_create_error(r); ++ ++ r = sd_bus_call(bus, m, 0, &error, &reply); + if (r < 0) { + log_error("Failed to list units: %s", bus_error_message(&error, r)); + return r; +-- +1.7.9.2 + diff --git a/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..a309f6b9 --- /dev/null +++ b/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,73 @@ +From 24e29480bd800d3acdb3087e5863440bd0dd1d80 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Fri, 16 May 2014 15:57:35 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 53 ++++++++++++++++++++++++++++++++- + 1 file changed, 52 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 28aa2a7..a65c7db 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -961,4 +961,55 @@ bluetooth:v013D* + ID_VENDOR_FROM_DATABASE=WirelessWERX + + bluetooth:v013E* +- ID_VENDOR_FROM_DATABASE=nimai ++ ID_VENDOR_FROM_DATABASE=Nod, Inc. ++ ++bluetooth:v013F* ++ ID_VENDOR_FROM_DATABASE=B&B Manufacturing Company ++ ++bluetooth:v0140* ++ ID_VENDOR_FROM_DATABASE=Alpine Electronics (China) Co., Ltd ++ ++bluetooth:v0141* ++ ID_VENDOR_FROM_DATABASE=FedEx Services ++ ++bluetooth:v0142* ++ ID_VENDOR_FROM_DATABASE=Grape Systems Inc. ++ ++bluetooth:v0143* ++ ID_VENDOR_FROM_DATABASE=Bkon Connect ++ ++bluetooth:v0144* ++ ID_VENDOR_FROM_DATABASE=Lintech GmbH ++ ++bluetooth:v0145* ++ ID_VENDOR_FROM_DATABASE=Novatel Wireless ++ ++bluetooth:v0146* ++ ID_VENDOR_FROM_DATABASE=Ciright ++ ++bluetooth:v0147* ++ ID_VENDOR_FROM_DATABASE=Mighty Cast, Inc. ++ ++bluetooth:v0148* ++ ID_VENDOR_FROM_DATABASE=Ambimat Electronics ++ ++bluetooth:v0149* ++ ID_VENDOR_FROM_DATABASE=Perytons Ltd. ++ ++bluetooth:v014A* ++ ID_VENDOR_FROM_DATABASE=Tivoli Audio, LLC ++ ++bluetooth:v014B* ++ ID_VENDOR_FROM_DATABASE=Master Lock ++ ++bluetooth:v014C* ++ ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd ++ ++bluetooth:v014D* ++ ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. ++ ++bluetooth:v014E* ++ ID_VENDOR_FROM_DATABASE=Tangerine, Inc. ++ ++bluetooth:v014F* ++ ID_VENDOR_FROM_DATABASE=B&W Group Ltd. +-- +1.7.9.2 + diff --git a/0005-hwdb-update.patch b/0005-hwdb-update.patch new file mode 100644 index 00000000..e97da5f5 --- /dev/null +++ b/0005-hwdb-update.patch @@ -0,0 +1,1560 @@ +From 7ba52a1283a0864b56947fa091048e8fe31a5899 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 21 May 2014 18:19:24 +0900 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 155 ++++++++++++++++++++- + hwdb/20-pci-vendor-model.hwdb | 141 ++++++++++++++++--- + hwdb/20-usb-vendor-model.hwdb | 302 ++++++++++++++++++++++++++++++++++++++++- + 3 files changed, 572 insertions(+), 26 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index afc0d90..6188bfc 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -52915,6 +52915,9 @@ OUI:0CA42A* + OUI:0CA694* + ID_OUI_FROM_DATABASE=Sunitec Enterprise Co.,Ltd + ++OUI:0CAC05* ++ ID_OUI_FROM_DATABASE=Unitend Technologies Inc. ++ + OUI:0CAF5A* + ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED + +@@ -53164,6 +53167,9 @@ OUI:1048B1* + OUI:104D77* + ID_OUI_FROM_DATABASE=Innovative Computer Engineering + ++OUI:105172* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:1056CA* + ID_OUI_FROM_DATABASE=Peplink International Ltd. + +@@ -53488,6 +53494,9 @@ OUI:147373* + OUI:147411* + ID_OUI_FROM_DATABASE=RIM + ++OUI:147590* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:147DB3* + ID_OUI_FROM_DATABASE=JOA TELECOM.CO.,LTD + +@@ -53899,6 +53908,9 @@ OUI:18C8E7* + OUI:18CC23* + ID_OUI_FROM_DATABASE=Philio Technology Corporation + ++OUI:18CF5E* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:18D071* + ID_OUI_FROM_DATABASE=DASAN SMC, Inc. + +@@ -54517,6 +54529,9 @@ OUI:20E791* + OUI:20EAC7* + ID_OUI_FROM_DATABASE=SHENZHEN RIOPINE ELECTRONICS CO., LTD + ++OUI:20ED74* ++ ID_OUI_FROM_DATABASE=Ability enterprise co.,Ltd. ++ + OUI:20EEC6* + ID_OUI_FROM_DATABASE=Elefirst Science & Tech Co ., ltd + +@@ -54742,6 +54757,9 @@ OUI:24CBE7* + OUI:24CF21* + ID_OUI_FROM_DATABASE=Shenzhen State Micro Technology Co., Ltd + ++OUI:24D13F* ++ ID_OUI_FROM_DATABASE=MEXUS CO.,LTD ++ + OUI:24D2CC* + ID_OUI_FROM_DATABASE=SmartDrive Systems Inc. + +@@ -55438,6 +55456,9 @@ OUI:2CF203* + OUI:2CF4C5* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:2CFAA2* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:30055C* + ID_OUI_FROM_DATABASE=Brother industries, LTD. + +@@ -55708,6 +55729,9 @@ OUI:30F9ED* + OUI:30FD11* + ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. + ++OUI:3400A3* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:340286* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -56077,6 +56101,9 @@ OUI:38229D* + OUI:3822D6* + ID_OUI_FROM_DATABASE=H3C Technologies Co., Limited + ++OUI:38262B* ++ ID_OUI_FROM_DATABASE=UTran Technology ++ + OUI:3826CD* + ID_OUI_FROM_DATABASE=ANDTEK + +@@ -56395,6 +56422,9 @@ OUI:3C404F* + OUI:3C438E* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:3C46D8* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:3C4A92* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -56710,6 +56740,9 @@ OUI:404A18* + OUI:404D8E* + ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd + ++OUI:404EEB* ++ ID_OUI_FROM_DATABASE=Higher Way Electronic Co., Ltd. ++ + OUI:4050E0* + ID_OUI_FROM_DATABASE=Milton Security Group LLC + +@@ -57709,6 +57742,9 @@ OUI:4CB9C8* + OUI:4CBAA3* + ID_OUI_FROM_DATABASE=Bison Electronics Inc. + ++OUI:4CBB58* ++ ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. ++ + OUI:4CBCA5* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -57757,6 +57793,9 @@ OUI:4CEDDE* + OUI:4CF02E* + ID_OUI_FROM_DATABASE=Vifa Denmark A/S + ++OUI:4CF2BF* ++ ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd. ++ + OUI:4CF45B* + ID_OUI_FROM_DATABASE=Blue Clover Devices + +@@ -57994,6 +58033,9 @@ OUI:50B888* + OUI:50B8A2* + ID_OUI_FROM_DATABASE=ImTech Technologies LLC, + ++OUI:50BD5F* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:50C006* + ID_OUI_FROM_DATABASE=Carmanah Signs + +@@ -58285,6 +58327,9 @@ OUI:54D1B0* + OUI:54D46F* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:54DF00* ++ ID_OUI_FROM_DATABASE=Ulterius Technologies, LLC ++ + OUI:54DF63* + ID_OUI_FROM_DATABASE=Intrakey technologies GmbH + +@@ -58597,6 +58642,9 @@ OUI:58F6BF* + OUI:58F98E* + ID_OUI_FROM_DATABASE=SECUDOS GmbH + ++OUI:58FCDB* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:58FD20* + ID_OUI_FROM_DATABASE=Bravida Sakerhet AB + +@@ -58621,6 +58669,9 @@ OUI:5C1193* + OUI:5C1437* + ID_OUI_FROM_DATABASE=Thyssenkrupp Aufzugswerke GmbH + ++OUI:5C1515* ++ ID_OUI_FROM_DATABASE=ADVAN ++ + OUI:5C15E1* + ID_OUI_FROM_DATABASE=AIDC TECHNOLOGY (S) PTE LTD + +@@ -58891,12 +58942,18 @@ OUI:5CF96A* + OUI:5CF9DD* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:5CF9F0* ++ ID_OUI_FROM_DATABASE=Atomos Engineering P/L ++ + OUI:5CFF35* + ID_OUI_FROM_DATABASE=Wistron Corporation + + OUI:5CFFFF* + ID_OUI_FROM_DATABASE=Shenzhen Kezhonglong Optoelectronic Technology Co., Ltd + ++OUI:600292* ++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION ++ + OUI:6002B4* + ID_OUI_FROM_DATABASE=Wistron NeWeb Corp. + +@@ -59323,6 +59380,9 @@ OUI:644F74* + OUI:644FB0* + ID_OUI_FROM_DATABASE=Hyunjin.com + ++OUI:645106* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:64517E* + ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. + +@@ -59902,6 +59962,9 @@ OUI:68FB95* + OUI:68FCB3* + ID_OUI_FROM_DATABASE=Next Level Security Systems, Inc. + ++OUI:6C0273* ++ ID_OUI_FROM_DATABASE=Shenzhen Jin Yun Video Equipment Co., Ltd. ++ + OUI:6C0460* + ID_OUI_FROM_DATABASE=RBH Access Technologies Inc. + +@@ -60874,6 +60937,9 @@ OUI:781FDB* + OUI:78223D* + ID_OUI_FROM_DATABASE=Affirmed Networks + ++OUI:7824AF* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:782544* + ID_OUI_FROM_DATABASE=Omnima Limited + +@@ -60919,6 +60985,9 @@ OUI:784405* + OUI:784476* + ID_OUI_FROM_DATABASE=Zioncom technology co.,ltd + ++OUI:784561* ++ ID_OUI_FROM_DATABASE=CyberTAN Technology Inc. ++ + OUI:7845C4* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -61024,6 +61093,9 @@ OUI:789966* + OUI:78998F* + ID_OUI_FROM_DATABASE=MEDILINE ITALIA SRL + ++OUI:789CE7* ++ ID_OUI_FROM_DATABASE=Shenzhen Aikede Technology Co., Ltd ++ + OUI:789ED0* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -61480,6 +61552,9 @@ OUI:7CC8D7* + OUI:7CCB0D* + ID_OUI_FROM_DATABASE=Antaira Technologies, LLC + ++OUI:7CCCB8* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:7CCD11* + ID_OUI_FROM_DATABASE=MS-Magnet + +@@ -61945,6 +62020,9 @@ OUI:842F75* + OUI:8430E5* + ID_OUI_FROM_DATABASE=SkyHawke Technologies, LLC + ++OUI:8432EA* ++ ID_OUI_FROM_DATABASE=ANHUI WANZTEN P&T CO., LTD ++ + OUI:843497* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -63295,6 +63373,9 @@ OUI:94CDAC* + OUI:94CE2C* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + ++OUI:94CE31* ++ ID_OUI_FROM_DATABASE=CTS Limited ++ + OUI:94D019* + ID_OUI_FROM_DATABASE=Cydle Corp. + +@@ -63409,6 +63490,9 @@ OUI:982CBE* + OUI:982D56* + ID_OUI_FROM_DATABASE=Resolution Audio + ++OUI:982F3C* ++ ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. ++ + OUI:983000* + ID_OUI_FROM_DATABASE=Beijing KEMACOM Technologies Co., Ltd. + +@@ -63508,6 +63592,9 @@ OUI:9876B6* + OUI:987770* + ID_OUI_FROM_DATABASE=Pep Digital Technology (Guangzhou) Co., Ltd + ++OUI:987E46* ++ ID_OUI_FROM_DATABASE=Emizon Networks Limited ++ + OUI:988217* + ID_OUI_FROM_DATABASE=Disruptive Ltd + +@@ -64303,6 +64390,9 @@ OUI:A40BED* + OUI:A40CC3* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:A41242* ++ ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ + OUI:A4134E* + ID_OUI_FROM_DATABASE=Luxul + +@@ -65740,6 +65830,9 @@ OUI:B4B5AF* + OUI:B4B676* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:B4B859* ++ ID_OUI_FROM_DATABASE=Texa Spa ++ + OUI:B4B88D* + ID_OUI_FROM_DATABASE=Thuh Company + +@@ -65815,6 +65908,9 @@ OUI:B80305* + OUI:B80415* + ID_OUI_FROM_DATABASE=Bayan Audio + ++OUI:B808CF* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:B80B9D* + ID_OUI_FROM_DATABASE=ROPEX Industrie-Elektronik GmbH + +@@ -66277,6 +66373,9 @@ OUI:BC5FF4* + OUI:BC629F* + ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. + ++OUI:BC671C* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:BC6778* + ID_OUI_FROM_DATABASE=Apple + +@@ -66412,6 +66511,9 @@ OUI:BCCFCC* + OUI:BCD177* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:BCD1D3* ++ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp ++ + OUI:BCD5B6* + ID_OUI_FROM_DATABASE=d2d technologies + +@@ -66706,6 +66808,9 @@ OUI:C0E54E* + OUI:C0EAE4* + ID_OUI_FROM_DATABASE=Sonicwall + ++OUI:C0EEFB* ++ ID_OUI_FROM_DATABASE=OnePlus Tech (Shenzhen) Ltd ++ + OUI:C0F1C4* + ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. + +@@ -66721,6 +66826,9 @@ OUI:C0F8DA* + OUI:C0F991* + ID_OUI_FROM_DATABASE=GME Standard Communications P/L + ++OUI:C40006* ++ ID_OUI_FROM_DATABASE=Lipi Data Systems Ltd. ++ + OUI:C40142* + ID_OUI_FROM_DATABASE=MaxMedia Technology Limited + +@@ -67885,6 +67993,9 @@ OUI:D09C30* + OUI:D09D0A* + ID_OUI_FROM_DATABASE=LINKCOM + ++OUI:D0A0D6* ++ ID_OUI_FROM_DATABASE=Chengdu TD Tech Ltd. ++ + OUI:D0A311* + ID_OUI_FROM_DATABASE=Neuberger Gebäudeautomation GmbH + +@@ -68126,7 +68237,7 @@ OUI:D45AB2* + ID_OUI_FROM_DATABASE=Galleon Systems + + OUI:D45C70* +- ID_OUI_FROM_DATABASE=Wireless Gigabit Alliance ++ ID_OUI_FROM_DATABASE=Wi-Fi Alliance + + OUI:D45D42* + ID_OUI_FROM_DATABASE=Nokia Corporation +@@ -68359,6 +68470,9 @@ OUI:D808F5* + OUI:D809C3* + ID_OUI_FROM_DATABASE=Cercacor Labs + ++OUI:D80CCF* ++ ID_OUI_FROM_DATABASE=C.G.V. S.A.S. ++ + OUI:D80DE3* + ID_OUI_FROM_DATABASE=FXI TECHNOLOGIES AS + +@@ -68386,6 +68500,9 @@ OUI:D81EDE* + OUI:D824BD* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:D82522* ++ ID_OUI_FROM_DATABASE=Pace plc ++ + OUI:D826B9* + ID_OUI_FROM_DATABASE=Guangdong Coagent Electronics S &T Co., Ltd. + +@@ -68521,6 +68638,9 @@ OUI:D89685* + OUI:D89695* + ID_OUI_FROM_DATABASE=Apple + ++OUI:D896E0* ++ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. ++ + OUI:D8973B* + ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + +@@ -68941,6 +69061,9 @@ OUI:E01C41* + OUI:E01CEE* + ID_OUI_FROM_DATABASE=Bravo Tech, Inc. + ++OUI:E01D38* ++ ID_OUI_FROM_DATABASE=Beijing HuaqinWorld Technology Co.,Ltd ++ + OUI:E01D3B* + ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd + +@@ -69373,6 +69496,9 @@ OUI:E47CF9* + OUI:E47D5A* + ID_OUI_FROM_DATABASE=Beijing Hanbang Technology Corp. + ++OUI:E47FB2* ++ ID_OUI_FROM_DATABASE=Fujitsu Limited ++ + OUI:E48184* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + +@@ -69829,6 +69955,9 @@ OUI:EC219F* + OUI:EC2257* + ID_OUI_FROM_DATABASE=JiangSu NanJing University Electronic Information Technology Co.,Ltd + ++OUI:EC2280* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:EC233D* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -69970,6 +70099,9 @@ OUI:ECB106* + OUI:ECB541* + ID_OUI_FROM_DATABASE=SHINANO E and E Co.Ltd. + ++OUI:ECB907* ++ ID_OUI_FROM_DATABASE=CloudGenix Inc ++ + OUI:ECBBAE* + ID_OUI_FROM_DATABASE=Digivoice Tecnologia em Eletronica Ltda + +@@ -70189,6 +70321,9 @@ OUI:F0728C* + OUI:F073AE* + ID_OUI_FROM_DATABASE=PEAK-System Technik + ++OUI:F0761C* ++ ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. ++ + OUI:F07765* + ID_OUI_FROM_DATABASE=Sourcefire, Inc + +@@ -70378,6 +70513,9 @@ OUI:F40321* + OUI:F4044C* + ID_OUI_FROM_DATABASE=ValenceTech Limited + ++OUI:F40669* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:F4068D* + ID_OUI_FROM_DATABASE=devolo AG + +@@ -70642,6 +70780,9 @@ OUI:F4EC38* + OUI:F4F15A* + ID_OUI_FROM_DATABASE=Apple + ++OUI:F4F26D* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:F4F5A5* + ID_OUI_FROM_DATABASE=Nokia corporation + +@@ -70825,6 +70966,9 @@ OUI:F871FE* + OUI:F872EA* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:F87394* ++ ID_OUI_FROM_DATABASE=NETGEAR INC., ++ + OUI:F8769B* + ID_OUI_FROM_DATABASE=Neopis Co., Ltd. + +@@ -70915,6 +71059,9 @@ OUI:F8C001* + OUI:F8C091* + ID_OUI_FROM_DATABASE=Highgates Technology + ++OUI:F8C288* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F8C678* + ID_OUI_FROM_DATABASE=Carefusion + +@@ -71167,6 +71314,9 @@ OUI:FC683E* + OUI:FC6C31* + ID_OUI_FROM_DATABASE=LXinstruments GmbH + ++OUI:FC6DC0* ++ ID_OUI_FROM_DATABASE=BME CORPORATION ++ + OUI:FC7516* + ID_OUI_FROM_DATABASE=D-Link International + +@@ -71319,3 +71469,6 @@ OUI:FCFBFB* + + OUI:FCFE77* + ID_OUI_FROM_DATABASE=Hitachi Reftechno, Inc. ++ ++OUI:FCFFAA* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAL public listing for more information. +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 2957774..62941b9 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -4205,6 +4205,9 @@ pci:v00001002d00005F57* + pci:v00001002d00006600* + ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] + ++pci:v00001002d00006600sv0000103Csd00001952* ++ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] (ProBook 455 G1) ++ + pci:v00001002d00006601* + ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] + +@@ -4292,6 +4295,12 @@ pci:v00001002d00006640* + pci:v00001002d00006641* + ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] + ++pci:v00001002d00006646* ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon R9 M280X] ++ ++pci:v00001002d00006647* ++ ID_MODEL_FROM_DATABASE=Bonaire PRO [Radeon R9 M270X] ++ + pci:v00001002d00006649* + ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] + +@@ -6137,6 +6146,9 @@ pci:v00001002d0000683Dsv0000103Csd00006890* + pci:v00001002d0000683Dsv00001043sd00008760* + ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + ++pci:v00001002d0000683Dsv00001462sd00002710* ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (R7770-PMD1GD5) ++ + pci:v00001002d0000683Dsv0000174Bsd00008304* + ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + +@@ -7856,6 +7868,15 @@ pci:v00001002d00006901* + pci:v00001002d00006920* + ID_MODEL_FROM_DATABASE=Tonga + ++pci:v00001002d00006921* ++ ID_MODEL_FROM_DATABASE=Amethyst XT [Radeon R9 M295X] ++ ++pci:v00001002d0000692B* ++ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] ++ ++pci:v00001002d0000692F* ++ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] ++ + pci:v00001002d0000700F* + ID_MODEL_FROM_DATABASE=RS100 AGP Bridge + +@@ -24470,6 +24491,9 @@ pci:v000010DEd00000640* + pci:v000010DEd00000641* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] + ++pci:v000010DEd00000641sv00001682sd00004009* ++ ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) ++ + pci:v000010DEd00000643* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] + +@@ -26306,6 +26330,9 @@ pci:v000010DEd00000FD8* + pci:v000010DEd00000FD9* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 645M] + ++pci:v000010DEd00000FDB* ++ ID_MODEL_FROM_DATABASE=GK107M ++ + pci:v000010DEd00000FDF* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 740M] + +@@ -26861,6 +26888,12 @@ pci:v000010DEd00001140sv00001028sd000005E8* + pci:v000010DEd00001140sv00001028sd000005F4* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv00001028sd0000064E* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001028sd0000068D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv0000103Csd000018EF* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + +@@ -27185,6 +27218,36 @@ pci:v000010DEd00001140sv000017AAsd00003803* + pci:v000010DEd00001140sv000017AAsd00003804* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv000017AAsd00003806* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) ++ ++pci:v000010DEd00001140sv000017AAsd00003808* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) ++ ++pci:v000010DEd00001140sv000017AAsd0000380D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd0000380E* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd0000380F* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003811* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003812* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003813* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003816* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003818* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv000017AAsd00003901* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) + +@@ -27260,12 +27323,27 @@ pci:v000010DEd00001140sv000017AAsd0000502E* + pci:v000010DEd00001140sv000017AAsd0000502F* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv000017AAsd00005030* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) ++ ++pci:v000010DEd00001140sv000017AAsd00005031* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) ++ ++pci:v000010DEd00001140sv000017AAsd00005032* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00005033* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv000017AAsd0000503E* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000503F* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + ++pci:v000010DEd00001140sv000017AAsd00005040* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001854sd00000177* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + +@@ -28443,7 +28521,7 @@ pci:v000010ECd00008168sv00001043sd00008432* + ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) + + pci:v000010ECd00008168sv00001043sd00008505* +- ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8 series motherboard) + + pci:v000010ECd00008168sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) +@@ -35300,6 +35378,9 @@ pci:v000011ABd00007810* + pci:v000011ABd00007820* + ID_MODEL_FROM_DATABASE=MV78200 [Discovery Innovation] ARM SoC + ++pci:v000011ABd00007823* ++ ID_MODEL_FROM_DATABASE=MV78230 [Armada XP] ARM SoC ++ + pci:v000011ABd0000F003* + ID_MODEL_FROM_DATABASE=GT-64010 Primary Image Piranha Image Generator + +@@ -36602,17 +36683,20 @@ pci:v00001217d00008120* + pci:v00001217d00008130* + ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller + ++pci:v00001217d00008220* ++ ID_MODEL_FROM_DATABASE=OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller ++ + pci:v00001217d00008221* +- ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller ++ ID_MODEL_FROM_DATABASE=OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller + + pci:v00001217d00008320* +- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller ++ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller + + pci:v00001217d00008320sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) ++ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller (Precision M4600) + + pci:v00001217d00008321* +- ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller ++ ID_MODEL_FROM_DATABASE=OZ600RJ0/OZ900RJ0/OZ600RJS SD/MMC Card Reader Controller + + pci:v00001217d00008330* + ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller +@@ -46403,6 +46487,9 @@ pci:v000014F1d00008800sv00000070sd00009802* + pci:v000014F1d00008800sv00001002sd000000F8* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) + ++pci:v000014F1d00008800sv00001002sd000000F9* ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder) ++ + pci:v000014F1d00008800sv00001002sd0000A101* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) + +@@ -50978,6 +51065,12 @@ pci:v000018F4d00000125* + pci:v000018F4d00000135* + ID_MODEL_FROM_DATABASE=NT20E2-PTP Network Adapter 2x10Gb + ++pci:v000018F4d00000145* ++ ID_MODEL_FROM_DATABASE=NT40E3-4-PTP Network Adapter 4x10Gb ++ ++pci:v000018F4d00000155* ++ ID_MODEL_FROM_DATABASE=NT100E3-1-PTP Network Adapter 1x100Gb ++ + pci:v000018F6* + ID_VENDOR_FROM_DATABASE=NextIO + +@@ -55143,7 +55236,7 @@ pci:v00008086d00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller + + pci:v00008086d00000150sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) + + pci:v00008086d00000150sv00001849sd00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) +@@ -55229,6 +55322,9 @@ pci:v00008086d0000015E* + pci:v00008086d00000162* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + ++pci:v00008086d00000162sv00001043sd000084CA* ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8 series motherboard) ++ + pci:v00008086d00000162sv00001849sd00000162* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) + +@@ -59061,10 +59157,10 @@ pci:v00008086d00001521sv00001028sd00000602* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) + + pci:v00008086d00001521sv00001028sd00001F60* +- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P I350-t rNDC) + + pci:v00008086d00001521sv00001028sd00001F62* +- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X540/I350 rNDC) + + pci:v00008086d00001521sv00001028sd0000FF9A* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) +@@ -59250,7 +59346,10 @@ pci:v00008086d00001533* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection + + pci:v00008086d00001533sv0000103Csd00000003* +- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) ++ ++pci:v00008086d00001533sv000010A9sd0000802C* ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) + + pci:v00008086d00001533sv000017AAsd00001100* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) +@@ -59261,15 +59360,15 @@ pci:v00008086d00001533sv00008086sd00000001* + pci:v00008086d00001533sv00008086sd00000002* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + +-pci:v00008086d00001534* +- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +- + pci:v00008086d00001536* + ID_MODEL_FROM_DATABASE=I210 Gigabit Fiber Network Connection + + pci:v00008086d00001537* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + ++pci:v00008086d00001538* ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection ++ + pci:v00008086d00001539* + ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection + +@@ -60267,7 +60366,7 @@ pci:v00008086d00001E02* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] + + pci:v00008086d00001E02sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8 series motherboard) + + pci:v00008086d00001E02sv00001849sd00001E02* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) +@@ -60374,6 +60473,9 @@ pci:v00008086d00001E20sv00001043sd00001517* + pci:v00008086d00001E20sv00001043sd00008415* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) + ++pci:v00008086d00001E20sv00001043sd00008445* ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (ASUS P8Z77-V LX Motherboard) ++ + pci:v00008086d00001E20sv00001849sd00001898* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) + +@@ -60387,7 +60489,7 @@ pci:v00008086d00001E22sv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E22sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8 series motherboard) + + pci:v00008086d00001E22sv00001849sd00001E22* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) +@@ -60411,7 +60513,7 @@ pci:v00008086d00001E26sv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E26sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) + + pci:v00008086d00001E26sv00001849sd00001E26* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) +@@ -60426,7 +60528,7 @@ pci:v00008086d00001E2Dsv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) + + pci:v00008086d00001E2Dsv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) + + pci:v00008086d00001E2Dsv00001849sd00001E2D* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) +@@ -60444,7 +60546,7 @@ pci:v00008086d00001E31sv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E31sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8 series motherboard) + + pci:v00008086d00001E31sv00001849sd00001E31* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) +@@ -60462,7 +60564,7 @@ pci:v00008086d00001E3Asv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E3Asv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8 series motherboard) + + pci:v00008086d00001E3Asv00001849sd00001E3A* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) +@@ -60488,6 +60590,9 @@ pci:v00008086d00001E43* + pci:v00008086d00001E44* + ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller + ++pci:v00008086d00001E44sv00001043sd000084CA* ++ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (P8 series motherboard) ++ + pci:v00008086d00001E44sv00001849sd00001E44* + ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 52586bc..05f267d 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -41163,7 +41163,7 @@ usb:v1234pED02* + ID_MODEL_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle + + usb:v1235* +- ID_VENDOR_FROM_DATABASE=Novation EMS ++ ID_VENDOR_FROM_DATABASE=Focusrite-Novation + + usb:v1235p0001* + ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition +@@ -41729,6 +41729,9 @@ usb:v12D1p155A* + usb:v12D1p1575* + ID_MODEL_FROM_DATABASE=K5150 LTE modem + ++usb:v12D1p15CA* ++ ID_MODEL_FROM_DATABASE=E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode) ++ + usb:v12D1p1805* + ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone + +@@ -41744,6 +41747,12 @@ usb:v12D1p1C20* + usb:v12D1p1D50* + ID_MODEL_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband + ++usb:v12D1p1F01* ++ ID_MODEL_FROM_DATABASE=E353/E3131 (Mass storage mode) ++ ++usb:v12D1p1F16* ++ ID_MODEL_FROM_DATABASE=K5150 LTE modem (Mass Storage Mode) ++ + usb:v12D1p380B* + ID_MODEL_FROM_DATABASE=WiMAX USB modem(s) + +@@ -41762,6 +41771,12 @@ usb:v12D6p0888* + usb:v12D7* + ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD. + ++usb:v12D8* ++ ID_VENDOR_FROM_DATABASE=Araneus Information Systems Oy ++ ++usb:v12D8p0001* ++ ID_MODEL_FROM_DATABASE=Alea I True Random Number Generator ++ + usb:v12E6* + ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH + +@@ -41805,7 +41820,7 @@ usb:v1307p0163* + ID_MODEL_FROM_DATABASE=256MB/512MB/1GB Flash Drive + + usb:v1307p0165* +- ID_MODEL_FROM_DATABASE=2GB/4GB Flash Drive ++ ID_MODEL_FROM_DATABASE=2GB/4GB/8GB Flash Drive + + usb:v1307p0190* + ID_MODEL_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader +@@ -41846,6 +41861,51 @@ usb:v1312* + usb:v1313* + ID_VENDOR_FROM_DATABASE=ThorLabs + ++usb:v1313p0010* ++ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (Jungo) ++ ++usb:v1313p0011* ++ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (Jungo) ++ ++usb:v1313p0012* ++ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (Jungo) ++ ++usb:v1313p0110* ++ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (VISA) ++ ++usb:v1313p0111* ++ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (VISA) ++ ++usb:v1313p0112* ++ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (VISA) ++ ++usb:v1313p8001* ++ ID_MODEL_FROM_DATABASE=TXP-Series Slot (TXP5001, TXP5004) ++ ++usb:v1313p8012* ++ ID_MODEL_FROM_DATABASE=BC106 Camera Beam Profiler ++ ++usb:v1313p8013* ++ ID_MODEL_FROM_DATABASE=WFS10 Wavefront Sensor ++ ++usb:v1313p8017* ++ ID_MODEL_FROM_DATABASE=BC206 Camera Beam Profiler ++ ++usb:v1313p8019* ++ ID_MODEL_FROM_DATABASE=BP2 Multi Slit Beam Profiler ++ ++usb:v1313p8020* ++ ID_MODEL_FROM_DATABASE=PM300 Optical Power Meter ++ ++usb:v1313p8021* ++ ID_MODEL_FROM_DATABASE=PM300E Optical Power and Energy Meter ++ ++usb:v1313p8022* ++ ID_MODEL_FROM_DATABASE=PM320E Optical Power and Energy Meter ++ ++usb:v1313p8030* ++ ID_MODEL_FROM_DATABASE=ER100 Extinction Ratio Meter ++ + usb:v1313p8070* + ID_MODEL_FROM_DATABASE=PM100D + +@@ -41975,6 +42035,18 @@ usb:v1342p0204* + usb:v1342p0304* + ID_MODEL_FROM_DATABASE=EasiDock Ethernet + ++usb:v1343* ++ ID_VENDOR_FROM_DATABASE=Citizen Systems ++ ++usb:v1343p0003* ++ ID_MODEL_FROM_DATABASE=CX / DNP DS40 ++ ++usb:v1343p0004* ++ ID_MODEL_FROM_DATABASE=CX-W / DNP DS80 ++ ++usb:v1343p0005* ++ ID_MODEL_FROM_DATABASE=CY / DNP DSRX ++ + usb:v1345* + ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp. + +@@ -42002,6 +42074,12 @@ usb:v1347p0403* + usb:v1347p0404* + ID_MODEL_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD + ++usb:v1347p0405* ++ ID_MODEL_FROM_DATABASE=Gx CCD-I CCD ++ ++usb:v1347p0406* ++ ID_MODEL_FROM_DATABASE=Gx CCD-F CCD ++ + usb:v1347p0410* + ID_MODEL_FROM_DATABASE=G1-0400 CCD + +@@ -42149,6 +42227,9 @@ usb:v138Ap003C* + usb:v138Ap003D* + ID_MODEL_FROM_DATABASE=VFS491 + ++usb:v138Ap0050* ++ ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor ++ + usb:v138E* + ID_VENDOR_FROM_DATABASE=Jungo LTD + +@@ -42161,6 +42242,9 @@ usb:v1390* + usb:v1390p0001* + ID_MODEL_FROM_DATABASE=GO 520 T/GO 630/ONE XL (v9) + ++usb:v1390p5454* ++ ID_MODEL_FROM_DATABASE=Blue & Me 2 ++ + usb:v1391* + ID_VENDOR_FROM_DATABASE=IdealTEK, Inc. + +@@ -42263,6 +42347,15 @@ usb:v13B1p0039* + usb:v13B1p003A* + ID_MODEL_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236] + ++usb:v13B1p003B* ++ ID_MODEL_FROM_DATABASE=AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573] ++ ++usb:v13B1p003E* ++ ID_MODEL_FROM_DATABASE=AE6000 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] ++ ++usb:v13B1p003F* ++ ID_MODEL_FROM_DATABASE=WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] ++ + usb:v13B1p13B1* + ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster + +@@ -42446,6 +42539,12 @@ usb:v13D3p3315* + usb:v13D3p3375* + ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter + ++usb:v13D3p3392* ++ ID_MODEL_FROM_DATABASE=Azurewave 43228+20702 ++ ++usb:v13D3p3394* ++ ID_MODEL_FROM_DATABASE=Bluetooth ++ + usb:v13D3p5070* + ID_MODEL_FROM_DATABASE=Webcam + +@@ -42458,6 +42557,9 @@ usb:v13D3p5115* + usb:v13D3p5116* + ID_MODEL_FROM_DATABASE=Integrated Webcam + ++usb:v13D3p5122* ++ ID_MODEL_FROM_DATABASE=2M Integrated Webcam ++ + usb:v13D3p5126* + ID_MODEL_FROM_DATABASE=PC Cam + +@@ -42524,6 +42626,9 @@ usb:v13FDp0840* + usb:v13FDp0841* + ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW + ++usb:v13FDp1040* ++ ID_MODEL_FROM_DATABASE=INIC-1511L PATA Bridge ++ + usb:v13FDp1340* + ID_MODEL_FROM_DATABASE=Hi-Speed USB to SATA Bridge + +@@ -42533,9 +42638,15 @@ usb:v13FDp160F* + usb:v13FDp1640* + ID_MODEL_FROM_DATABASE=INIC-1610L SATA Bridge + ++usb:v13FDp1669* ++ ID_MODEL_FROM_DATABASE=INIC-1609PN ++ + usb:v13FDp1840* + ID_MODEL_FROM_DATABASE=INIC-1608 SATA bridge + ++usb:v13FDp1E40* ++ ID_MODEL_FROM_DATABASE=INIC-1610P SATA bridge ++ + usb:v13FE* + ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc. + +@@ -42555,10 +42666,10 @@ usb:v13FEp1E50* + ID_MODEL_FROM_DATABASE=U3 Smart Drive + + usb:v13FEp1F00* +- ID_MODEL_FROM_DATABASE=DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive ++ ID_MODEL_FROM_DATABASE=Kingston DataTraveler / Patriot Xporter + + usb:v13FEp1F23* +- ID_MODEL_FROM_DATABASE=2Gb ++ ID_MODEL_FROM_DATABASE=PS2232 flash drive controller + + usb:v13FEp2240* + ID_MODEL_FROM_DATABASE=microSD card reader +@@ -42569,12 +42680,18 @@ usb:v13FEp3100* + usb:v13FEp3123* + ID_MODEL_FROM_DATABASE=Verbatim STORE N GO 4GB + ++usb:v13FEp3600* ++ ID_MODEL_FROM_DATABASE=flash drive (4GB, EMTEC) ++ + usb:v13FEp3800* + ID_MODEL_FROM_DATABASE=Rage XT Flash Drive + + usb:v13FEp3E00* + ID_MODEL_FROM_DATABASE=Flash Drive + ++usb:v13FEp5000* ++ ID_MODEL_FROM_DATABASE=USB flash drive (32 GB SHARKOON Accelerate) ++ + usb:v13FEp5100* + ID_MODEL_FROM_DATABASE=Flash Drive + +@@ -42674,6 +42791,12 @@ usb:v1415p2000* + usb:v1419* + ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD. + ++usb:v1421* ++ ID_VENDOR_FROM_DATABASE=Sensor Technology ++ ++usb:v1421p0605* ++ ID_MODEL_FROM_DATABASE=Sentech Camera ++ + usb:v1429* + ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co. + +@@ -42776,6 +42899,18 @@ usb:v1457p5118* + usb:v1457p5119* + ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port + ++usb:v1457p511A* ++ ID_MODEL_FROM_DATABASE=HXD8 u-boot usbtty CDC ACM Mode ++ ++usb:v1457p511B* ++ ID_MODEL_FROM_DATABASE=SMDK2440 u-boot usbtty CDC ACM mode ++ ++usb:v1457p511C* ++ ID_MODEL_FROM_DATABASE=SMDK2443 u-boot usbtty CDC ACM mode ++ ++usb:v1457p511D* ++ ID_MODEL_FROM_DATABASE=QT2410 u-boot usbtty CDC ACM mode ++ + usb:v1457p5120* + ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial + +@@ -42935,6 +43070,9 @@ usb:v148E* + usb:v148F* + ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp. + ++usb:v148Fp1000* ++ ID_MODEL_FROM_DATABASE=Motorola BC4 Bluetooth 3.0+HS Adapter ++ + usb:v148Fp1706* + ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter + +@@ -42983,6 +43121,9 @@ usb:v148Fp5372* + usb:v148Fp5572* + ID_MODEL_FROM_DATABASE=RT5572 Wireless Adapter + ++usb:v148Fp7601* ++ ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter ++ + usb:v148Fp9020* + ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter + +@@ -42998,6 +43139,15 @@ usb:v1491p0020* + usb:v1493* + ID_VENDOR_FROM_DATABASE=Suunto + ++usb:v1493p0010* ++ ID_MODEL_FROM_DATABASE=Bluebird [Ambit] ++ ++usb:v1493p0019* ++ ID_MODEL_FROM_DATABASE=Duck [Ambit2] ++ ++usb:v1493p001A* ++ ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] ++ + usb:v1497* + ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. + +@@ -43118,6 +43268,9 @@ usb:v14CD* + usb:v14CDp121C* + ID_MODEL_FROM_DATABASE=microSD card reader + ++usb:v14CDp121F* ++ ID_MODEL_FROM_DATABASE=microSD CardReader SY-T18 ++ + usb:v14CDp123A* + ID_MODEL_FROM_DATABASE=SD/MMC/RS-MMC Card Reader + +@@ -43131,7 +43284,7 @@ usb:v14CDp6116* + ID_MODEL_FROM_DATABASE=M6116 SATA Bridge + + usb:v14CDp6600* +- ID_MODEL_FROM_DATABASE=USB 2.0 IDE DEVICE ++ ID_MODEL_FROM_DATABASE=M110E PATA bridge + + usb:v14CDp6700* + ID_MODEL_FROM_DATABASE=Card Reader +@@ -43166,6 +43319,9 @@ usb:v14E1* + usb:v14E1p5000* + ID_MODEL_FROM_DATABASE=PenMount 5000 Touch Controller + ++usb:v14E4* ++ ID_VENDOR_FROM_DATABASE=Broadcom Corp. ++ + usb:v14E5* + ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd. + +@@ -43214,6 +43370,15 @@ usb:v1501* + usb:v1509* + ID_VENDOR_FROM_DATABASE=First International Computer, Inc. + ++usb:v1509p0A01* ++ ID_MODEL_FROM_DATABASE=LI-3100 Area Meter ++ ++usb:v1509p0A02* ++ ID_MODEL_FROM_DATABASE=LI-7000 CO2/H2O Gas Analyzer ++ ++usb:v1509p0A03* ++ ID_MODEL_FROM_DATABASE=C-DiGit Blot Scanner ++ + usb:v1509p9242* + ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver + +@@ -43253,6 +43418,12 @@ usb:v1518p0001* + usb:v1518p0002* + ID_MODEL_FROM_DATABASE=HDReye (before firmware loads) + ++usb:v1519* ++ ID_VENDOR_FROM_DATABASE=Comneon ++ ++usb:v1519p0020* ++ ID_MODEL_FROM_DATABASE=HSIC Device ++ + usb:v1520* + ID_VENDOR_FROM_DATABASE=Bitwire Corp. + +@@ -43280,6 +43451,15 @@ usb:v1529p3100* + usb:v152A* + ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH + ++usb:v152Ap8400* ++ ID_MODEL_FROM_DATABASE=INI DVS128 ++ ++usb:v152Ap840D* ++ ID_MODEL_FROM_DATABASE=INI DAViS ++ ++usb:v152Ap841A* ++ ID_MODEL_FROM_DATABASE=INI DAViS FX3 ++ + usb:v152D* + ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp. + +@@ -43337,6 +43517,9 @@ usb:v1532p0007* + usb:v1532p0013* + ID_MODEL_FROM_DATABASE=Orochi mouse + ++usb:v1532p0015* ++ ID_MODEL_FROM_DATABASE=Naga Mouse ++ + usb:v1532p0016* + ID_MODEL_FROM_DATABASE=DeathAdder Mouse + +@@ -43364,9 +43547,21 @@ usb:v1532p0102* + usb:v1532p0109* + ID_MODEL_FROM_DATABASE=Lycosa Keyboard + ++usb:v1532p0113* ++ ID_MODEL_FROM_DATABASE=RZ07-0074 Gaming Keypad [Orbweaver] ++ + usb:v1532p0300* + ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra] + ++usb:v153B* ++ ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH ++ ++usb:v153Bp1181* ++ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 1 ++ ++usb:v153Bp1182* ++ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 2 ++ + usb:v1546* + ID_VENDOR_FROM_DATABASE=U-Blox AG + +@@ -43388,12 +43583,18 @@ usb:v154B* + usb:v154Bp0010* + ID_MODEL_FROM_DATABASE=USB 2.0 Flash Drive + ++usb:v154Bp0048* ++ ID_MODEL_FROM_DATABASE=Flash Drive ++ + usb:v154Bp004D* + ID_MODEL_FROM_DATABASE=8 GB Flash Drive + + usb:v154Bp0057* + ID_MODEL_FROM_DATABASE=32GB Micro Slide Attache Flash Drive + ++usb:v154Bp007A* ++ ID_MODEL_FROM_DATABASE=8GB Classic Attache Flash Drive ++ + usb:v154Bp6545* + ID_MODEL_FROM_DATABASE=FD Device + +@@ -43530,7 +43731,10 @@ usb:v15A2p0052* + ID_MODEL_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode + + usb:v15A2p0054* +- ID_MODEL_FROM_DATABASE=i.MX6Q SystemOnChip in RecoveryMode ++ ID_MODEL_FROM_DATABASE=i.MX 6Dual/6Quad SystemOnChip in RecoveryMode ++ ++usb:v15A2p0061* ++ ID_MODEL_FROM_DATABASE=i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode + + usb:v15A4* + ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc. +@@ -43640,6 +43844,9 @@ usb:v15C2p0036* + usb:v15C2p0038* + ID_MODEL_FROM_DATABASE=GD01 MX LCD Display/IR Receiver + ++usb:v15C2p0042* ++ ID_MODEL_FROM_DATABASE=Antec Veris Multimedia Station E-Z IR Receiver ++ + usb:v15C2pFFDA* + ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller + +@@ -43724,6 +43931,9 @@ usb:v15D9p0A4C* + usb:v15D9p0A4D* + ID_MODEL_FROM_DATABASE=Optical Mouse + ++usb:v15D9p0A4F* ++ ID_MODEL_FROM_DATABASE=Optical Mouse ++ + usb:v15DC* + ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc. + +@@ -44507,6 +44717,15 @@ usb:v1690p0740* + usb:v1690p0901* + ID_MODEL_FROM_DATABASE=Voyager 205 ADSL Router + ++usb:v1690p2000* ++ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard ++ ++usb:v1690p2001* ++ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard ++ ++usb:v1690pFE12* ++ ID_MODEL_FROM_DATABASE=Bootloader ++ + usb:v1696* + ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc. + +@@ -44669,6 +44888,9 @@ usb:v16C0p06B4* + usb:v16C0p06B5* + ID_MODEL_FROM_DATABASE=USB2LPT with 3 interfaces (native, HID, printer) + ++usb:v16C0p0762* ++ ID_MODEL_FROM_DATABASE=Osmocom SIMtrace ++ + usb:v16C0p076B* + ID_MODEL_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader + +@@ -44759,6 +44981,15 @@ usb:v16D0p075D* + usb:v16D0p080A* + ID_MODEL_FROM_DATABASE=S2E1 Interface + ++usb:v16D0p0870* ++ ID_MODEL_FROM_DATABASE=Kaufmann Automotive GmbH, RKS+CAN Interface ++ ++usb:v16D1* ++ ID_VENDOR_FROM_DATABASE=Suprema Inc. ++ ++usb:v16D1p0401* ++ ID_MODEL_FROM_DATABASE=SUP-SFR400(A) BioMini Fingerprint Reader ++ + usb:v16D3* + ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc. + +@@ -44774,6 +45005,9 @@ usb:v16D5p6501* + usb:v16D5p6502* + ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem + ++usb:v16D5p6603* ++ ID_MODEL_FROM_DATABASE=ADU-890WH modem ++ + usb:v16D6* + ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o. + +@@ -44870,6 +45104,18 @@ usb:v170Bp0011* + usb:v170D* + ID_VENDOR_FROM_DATABASE=Avnera + ++usb:v1711* ++ ID_VENDOR_FROM_DATABASE=Leica Microsystems ++ ++usb:v1711p3020* ++ ID_MODEL_FROM_DATABASE=IC80 HD Camera ++ ++usb:v1724* ++ ID_VENDOR_FROM_DATABASE=Meyer Instruments (MIS) ++ ++usb:v1724p0115* ++ ID_MODEL_FROM_DATABASE=PAXcam5 ++ + usb:v1725* + ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor + +@@ -44957,9 +45203,21 @@ usb:v1737p0078* + usb:v1737p0079* + ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572] + ++usb:v173D* ++ ID_VENDOR_FROM_DATABASE=QSENN ++ ++usb:v173Dp0002* ++ ID_MODEL_FROM_DATABASE=GP-K7000 keyboard ++ + usb:v1740* + ID_VENDOR_FROM_DATABASE=Senao + ++usb:v1740p0100* ++ ID_MODEL_FROM_DATABASE=EUB1200AC AC1200 DB Wireless Adapter [Realtek RTL8812AU] ++ ++usb:v1740p0600* ++ ID_MODEL_FROM_DATABASE=EUB600v1 802.11abgn Wireless Adapter [Ralink RT3572] ++ + usb:v1740p0605* + ID_MODEL_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter + +@@ -45002,14 +45260,20 @@ usb:v1743* + usb:v1748* + ID_VENDOR_FROM_DATABASE=MQP Electronics + ++usb:v1748p0101* ++ ID_MODEL_FROM_DATABASE=Packet-Master USB12 ++ + usb:v174C* + ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. + + usb:v174Cp5106* + ID_MODEL_FROM_DATABASE=Transcend StoreJet 25M3 + ++usb:v174Cp5136* ++ ID_MODEL_FROM_DATABASE=ASM1053 SATA 6Gb/s bridge ++ + usb:v174Cp55AA* +- ID_MODEL_FROM_DATABASE=ASMedia 2105 SATA bridge ++ ID_MODEL_FROM_DATABASE=ASM1051 SATA 3Gb/s bridge + + usb:v174F* + ID_VENDOR_FROM_DATABASE=Syntek +@@ -45137,6 +45401,9 @@ usb:v1781p0C31* + usb:v1781p0C9F* + ID_MODEL_FROM_DATABASE=USBtiny + ++usb:v1781p1EEF* ++ ID_MODEL_FROM_DATABASE=OpenAPC SecuKey ++ + usb:v1782* + ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc. + +@@ -45206,6 +45473,9 @@ usb:v17A0p0100* + usb:v17A0p0101* + ID_MODEL_FROM_DATABASE=UB1 boundary microphone + ++usb:v17A0p0120* ++ ID_MODEL_FROM_DATABASE=Meteorite condenser microphone ++ + usb:v17A0p0200* + ID_MODEL_FROM_DATABASE=StudioDock monitors (internal hub) + +@@ -45221,6 +45491,9 @@ usb:v17A0p0301* + usb:v17A0p0302* + ID_MODEL_FROM_DATABASE=GoMic compact condenser microphone + ++usb:v17A0p0303* ++ ID_MODEL_FROM_DATABASE=C01U Pro condenser microphone ++ + usb:v17A0p0304* + ID_MODEL_FROM_DATABASE=Q2U handheld mic with XLR + +@@ -45371,6 +45644,9 @@ usb:v17E9p037C* + usb:v17E9p037D* + ID_MODEL_FROM_DATABASE=Plugable USB2-HDMI-165 + ++usb:v17E9p410A* ++ ID_MODEL_FROM_DATABASE=HDMI Adapter ++ + usb:v17E9p430A* + ID_MODEL_FROM_DATABASE=HP Port Replicator (Composite Device) + +@@ -45383,6 +45659,9 @@ usb:v17EB* + usb:v17EF* + ID_VENDOR_FROM_DATABASE=Lenovo + ++usb:v17EFp1000* ++ ID_MODEL_FROM_DATABASE=Hub ++ + usb:v17EFp1003* + ID_MODEL_FROM_DATABASE=Integrated Smart Card Reader + +@@ -45395,6 +45674,9 @@ usb:v17EFp1008* + usb:v17EFp100A* + ID_MODEL_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3 + ++usb:v17EFp304B* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [ThinkPad OneLink GigaLAN] ++ + usb:v17EFp3815* + ID_MODEL_FROM_DATABASE=ChipsBnk 2GB USB Stick + +@@ -45455,6 +45737,12 @@ usb:v17EFp6009* + usb:v17EFp6014* + ID_MODEL_FROM_DATABASE=Mini Wireless Keyboard N5901 + ++usb:v17EFp6025* ++ ID_MODEL_FROM_DATABASE=ThinkPad Travel Mouse ++ ++usb:v17EFp7203* ++ ID_MODEL_FROM_DATABASE=Ethernet adapter [U2L 100P-Y1] ++ + usb:v17EFp7423* + ID_MODEL_FROM_DATABASE=IdeaPad A1 Tablet + +-- +1.7.9.2 + diff --git a/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch b/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch new file mode 100644 index 00000000..aaae9d12 --- /dev/null +++ b/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch @@ -0,0 +1,119 @@ +From b5d3e1688133077ca20542a20dcd8919147e72e1 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 11 Mar 2014 22:38:54 +0100 +Subject: [PATCH] logind: move lid switch handling from logind-main to + logind-core + +../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore' +collect2: error: ld returned 1 exit status +make[2]: *** [test-login-tables] +--- + src/login/logind-dbus.c | 40 ++++++++++++++++++++++++++++++++++++++++ + src/login/logind.c | 40 ---------------------------------------- + 2 files changed, 40 insertions(+), 40 deletions(-) + +diff --git src/login/logind-dbus.c src/login/logind-dbus.c +index c5f9cb3..2ef87f7 100644 +--- src/login/logind-dbus.c ++++ src/login/logind-dbus.c +@@ -1305,6 +1305,46 @@ static int bus_manager_log_shutdown( + q, NULL); + } + ++static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(e); ++ assert(m); ++ ++ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); ++ return 0; ++} ++ ++int manager_set_lid_switch_ignore(Manager *m, usec_t until) { ++ int r; ++ ++ assert(m); ++ ++ if (until <= now(CLOCK_MONOTONIC)) ++ return 0; ++ ++ /* We want to ignore the lid switch for a while after each ++ * suspend, and after boot-up. Hence let's install a timer for ++ * this. As long as the event source exists we ignore the lid ++ * switch. */ ++ ++ if (m->lid_switch_ignore_event_source) { ++ usec_t u; ++ ++ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); ++ if (r < 0) ++ return r; ++ ++ if (until <= u) ++ return 0; ++ ++ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); ++ } else ++ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); ++ ++ return r; ++} ++ + static int execute_shutdown_or_sleep( + Manager *m, + InhibitWhat w, +diff --git src/login/logind.c src/login/logind.c +index 03b7753..2d734ff 100644 +--- src/login/logind.c ++++ src/login/logind.c +@@ -962,46 +962,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us + return 0; + } + +-static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { +- Manager *m = userdata; +- +- assert(e); +- assert(m); +- +- m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); +- return 0; +-} +- +-int manager_set_lid_switch_ignore(Manager *m, usec_t until) { +- int r; +- +- assert(m); +- +- if (until <= now(CLOCK_MONOTONIC)) +- return 0; +- +- /* We want to ignore the lid switch for a while after each +- * suspend, and after boot-up. Hence let's install a timer for +- * this. As long as the event source exists we ignore the lid +- * switch. */ +- +- if (m->lid_switch_ignore_event_source) { +- usec_t u; +- +- r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); +- if (r < 0) +- return r; +- +- if (until <= u) +- return 0; +- +- r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); +- } else +- r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); +- +- return r; +-} +- + int manager_startup(Manager *m) { + int r; + Seat *seat; +-- +1.7.9.2 + diff --git a/0006-login-add-mir-to-the-list-of-session-types.patch b/0006-login-add-mir-to-the-list-of-session-types.patch new file mode 100644 index 00000000..9e966958 --- /dev/null +++ b/0006-login-add-mir-to-the-list-of-session-types.patch @@ -0,0 +1,90 @@ +From 9541666b8d97f107335dd7e3cb93b4d2cfbf19c9 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Wed, 9 Apr 2014 21:22:48 +0200 +Subject: [PATCH] login: add 'mir' to the list of session types + +Add Mir to the list of session types. This is implemented for LightDM +in lp:~robert-ancell/lightdm/xdg-session-desktop [1]. + +[1] https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merge/214108 + +(david: adjusted commit-header and fixed whitespace issues) +--- + man/pam_systemd.xml | 5 +++-- + man/sd_session_is_active.xml | 6 +++--- + src/login/logind-session.c | 1 + + src/login/logind-session.h | 1 + + src/systemd/sd-login.h | 2 +- + 5 files changed, 9 insertions(+), 6 deletions(-) + +diff --git man/pam_systemd.xml man/pam_systemd.xml +index 3022cdb..f973899 100644 +--- man/pam_systemd.xml ++++ man/pam_systemd.xml +@@ -145,8 +145,9 @@ + variable takes precedence. One of + unspecified, + tty, +- x11 or +- wayland. See ++ x11, ++ wayland or ++ mir. See + sd_session_get_type3 + for details about the session type. + +diff --git man/sd_session_is_active.xml man/sd_session_is_active.xml +index ddb2bee..31a6119 100644 +--- man/sd_session_is_active.xml ++++ man/sd_session_is_active.xml +@@ -201,9 +201,9 @@ + be used to determine the type of the session + identified by the specified session identifier. The + returned string is one of x11, +- wayland, tty or +- unspecified and needs to be freed +- with the libc ++ wayland, tty, ++ mir or unspecified and ++ needs to be freed with the libc + free3 + call after use. + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-05-20 12:49:07.150236121 +0000 +@@ -1124,6 +1124,7 @@ static const char* const session_type_ta + [SESSION_TTY] = "tty", + [SESSION_X11] = "x11", + [SESSION_WAYLAND] = "wayland", ++ [SESSION_MIR] = "mir", + [SESSION_UNSPECIFIED] = "unspecified", + }; + +diff --git src/login/logind-session.h src/login/logind-session.h +index c9af5eb..7ecc9f0 100644 +--- src/login/logind-session.h ++++ src/login/logind-session.h +@@ -55,6 +55,7 @@ typedef enum SessionType { + SESSION_TTY, + SESSION_X11, + SESSION_WAYLAND, ++ SESSION_MIR, + _SESSION_TYPE_MAX, + _SESSION_TYPE_INVALID = -1 + } SessionType; +diff --git src/systemd/sd-login.h src/systemd/sd-login.h +index a4ca231..776733a 100644 +--- src/systemd/sd-login.h ++++ src/systemd/sd-login.h +@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat); + /* Determine the (PAM) service name this session was registered by. */ + int sd_session_get_service(const char *session, char **service); + +-/* Determine the type of this session, i.e. one of "tty", "x11" or "unspecified". */ ++/* Determine the type of this session, i.e. one of "tty", "x11", "wayland", "mir" or "unspecified". */ + int sd_session_get_type(const char *session, char **type); + + /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ +-- +1.7.9.2 + diff --git a/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch b/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch new file mode 100644 index 00000000..4313946b --- /dev/null +++ b/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch @@ -0,0 +1,39 @@ +From 33169701b0640d3629d4c36cf8c71dc26d2cb7e1 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 May 2014 01:33:22 +0200 +Subject: [PATCH] man: clarify that the ExecReload= command should be + synchronous + +http://lists.freedesktop.org/archives/systemd-devel/2014-May/019054.html +--- + man/systemd.service.xml | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git man/systemd.service.xml man/systemd.service.xml +index af32ccb..364ad7d 100644 +--- man/systemd.service.xml ++++ man/systemd.service.xml +@@ -519,6 +519,20 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} + following: + + /bin/kill -HUP $MAINPID ++ ++ Note however that reloading a ++ daemon by sending a signal (as with ++ the example line above) is usually not ++ a good choice, because this is an ++ asynchronous operation and hence not ++ suitable to order reloads of multiple ++ services against each other. It is ++ strongly recommended to set ++ ExecReload= to a ++ command that no only triggers a ++ configuration reload of the daemon, ++ but also synchronously waits for it ++ complete. + + + +-- +1.7.9.2 + diff --git a/0007-logind-fix-Display-property-of-user-objects.patch b/0007-logind-fix-Display-property-of-user-objects.patch new file mode 100644 index 00000000..8fbbbeac --- /dev/null +++ b/0007-logind-fix-Display-property-of-user-objects.patch @@ -0,0 +1,147 @@ +From 952d32609f9bceee444fa2690afb4d28539b4b92 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 19 May 2014 09:03:20 +0900 +Subject: [PATCH] logind: fix Display property of user objects + +When we dropped support for creating a per-user to the "main" X11 +display we stopped returning useful data in the "Display" user property. +With this change this is fixed and we again expose an appropriate +(graphical session) in the property that is useful as the "main" one, if +one is needed. +--- + src/login/logind-session.c | 8 ++++++-- + src/login/logind-session.h | 2 ++ + src/login/logind-user-dbus.c | 2 +- + src/login/logind-user.c | 37 +++++++++++++++++++++++++++++++++++++ + src/login/logind-user.h | 1 + + 5 files changed, 47 insertions(+), 3 deletions(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 4fb229e..9a54101 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -545,6 +545,8 @@ int session_start(Session *s) { + + s->started = true; + ++ user_elect_display(s->user); ++ + /* Save data */ + session_save(s); + user_save(s->user); +@@ -553,7 +555,7 @@ int session_start(Session *s) { + + /* Send signals */ + session_send_signal(s, true); +- user_send_changed(s->user, "Sessions", NULL); ++ user_send_changed(s->user, "Sessions", "Display", NULL); + if (s->seat) { + if (s->seat->active == s) + seat_send_changed(s->seat, "Sessions", "ActiveSession", NULL); +@@ -612,6 +614,8 @@ int session_stop(Session *s, bool force) { + + s->stopping = true; + ++ user_elect_display(s->user); ++ + session_save(s); + user_save(s->user); + +@@ -660,7 +664,7 @@ int session_finalize(Session *s) { + } + + user_save(s->user); +- user_send_changed(s->user, "Sessions", NULL); ++ user_send_changed(s->user, "Sessions", "Display", NULL); + + return r; + } +diff --git src/login/logind-session.h src/login/logind-session.h +index f78f309..81957df 100644 +--- src/login/logind-session.h ++++ src/login/logind-session.h +@@ -60,6 +60,8 @@ typedef enum SessionType { + _SESSION_TYPE_INVALID = -1 + } SessionType; + ++#define SESSION_TYPE_IS_GRAPHICAL(type) IN_SET(type, SESSION_X11, SESSION_WAYLAND, SESSION_MIR) ++ + enum KillWho { + KILL_LEADER, + KILL_ALL, +diff --git src/login/logind-user-dbus.c src/login/logind-user-dbus.c +index 6266ccb..51793f6 100644 +--- src/login/logind-user-dbus.c ++++ src/login/logind-user-dbus.c +@@ -220,7 +220,7 @@ const sd_bus_vtable user_vtable[] = { + SD_BUS_PROPERTY("RuntimePath", "s", NULL, offsetof(User, runtime_path), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("Service", "s", NULL, offsetof(User, service), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("Slice", "s", NULL, offsetof(User, slice), SD_BUS_VTABLE_PROPERTY_CONST), +- SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_CONST), ++ SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("State", "s", property_get_state, 0, 0), + SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), +diff --git src/login/logind-user.c src/login/logind-user.c +index 5fffa65..fdbccb3 100644 +--- src/login/logind-user.c ++++ src/login/logind-user.c +@@ -713,6 +713,43 @@ int user_kill(User *u, int signo) { + return manager_kill_unit(u->manager, u->slice, KILL_ALL, signo, NULL); + } + ++void user_elect_display(User *u) { ++ Session *graphical = NULL, *text = NULL, *s; ++ ++ assert(u); ++ ++ /* This elects a primary session for each user, which we call ++ * the "display". We try to keep the assignment stable, but we ++ * "upgrade" to better choices. */ ++ ++ LIST_FOREACH(sessions_by_user, s, u->sessions) { ++ ++ if (s->class != SESSION_USER) ++ continue; ++ ++ if (s->stopping) ++ continue; ++ ++ if (SESSION_TYPE_IS_GRAPHICAL(s->type)) ++ graphical = s; ++ else ++ text = s; ++ } ++ ++ if (graphical && ++ (!u->display || ++ u->display->class != SESSION_USER || ++ u->display->stopping || ++ !SESSION_TYPE_IS_GRAPHICAL(u->display->type))) ++ u->display = graphical; ++ ++ if (text && ++ (!u->display || ++ u->display->class != SESSION_USER || ++ u->display->stopping)) ++ u->display = text; ++} ++ + static const char* const user_state_table[_USER_STATE_MAX] = { + [USER_OFFLINE] = "offline", + [USER_OPENING] = "opening", +diff --git src/login/logind-user.h src/login/logind-user.h +index f237d2a..4e0568f 100644 +--- src/login/logind-user.h ++++ src/login/logind-user.h +@@ -80,6 +80,7 @@ int user_save(User *u); + int user_load(User *u); + int user_kill(User *u, int signo); + int user_check_linger_file(User *u); ++void user_elect_display(User *u); + + extern const sd_bus_vtable user_vtable[]; + int user_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error); +-- +1.7.9.2 + diff --git a/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch b/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch new file mode 100644 index 00000000..ee54ea31 --- /dev/null +++ b/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch @@ -0,0 +1,41 @@ +From 332bc31992acffc6f32e194c0122e01607bd0e27 Mon Sep 17 00:00:00 2001 +From: Alison Chaiken +Date: Fri, 16 May 2014 09:25:53 +0200 +Subject: [PATCH] man: readahead: fix cmdline switch inconsistency between + readahead.c and docs + +Source code has "files-max" and XML has --max-files. +--- + man/systemd-readahead-replay.service.xml | 2 +- + src/readahead/readahead.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd-readahead-replay.service.xml man/systemd-readahead-replay.service.xml +index 67b41f5..669fe78 100644 +--- man/systemd-readahead-replay.service.xml ++++ man/systemd-readahead-replay.service.xml +@@ -117,7 +117,7 @@ + + + +- ++ + + Maximum number of + files to read ahead. Only valid +diff --git src/readahead/readahead.c src/readahead/readahead.c +index d6729ec..73cf538 100644 +--- src/readahead/readahead.c ++++ src/readahead/readahead.c +@@ -42,7 +42,7 @@ static int help(void) { + "Collect read-ahead data on early boot.\n\n" + " -h --help Show this help\n" + " --version Show package version\n" +- " --max-files=INT Maximum number of files to read ahead\n" ++ " --files-max=INT Maximum number of files to read ahead\n" + " --file-size-max=BYTES Maximum size of files to read ahead\n" + " --timeout=USEC Maximum time to spend collecting data\n\n\n", + program_invocation_short_name); +-- +1.7.9.2 + diff --git a/0008-man-update-journald-rate-limit-defaults.patch b/0008-man-update-journald-rate-limit-defaults.patch new file mode 100644 index 00000000..54aad943 --- /dev/null +++ b/0008-man-update-journald-rate-limit-defaults.patch @@ -0,0 +1,28 @@ +From 8f18f550e7023948f199616fdfbb0f09711fd615 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Wed, 30 Apr 2014 19:53:13 +0300 +Subject: [PATCH] man: update journald rate limit defaults + +This brings the man page back into sync with the actual code. +--- + man/journald.conf.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/journald.conf.xml man/journald.conf.xml +index 239a2ec..5cd09a2 100644 +--- man/journald.conf.xml ++++ man/journald.conf.xml +@@ -190,8 +190,8 @@ + limiting is applied per-service, so + that two services which log do not + interfere with each other's +- limits. Defaults to 200 messages in +- 10s. The time specification for ++ limits. Defaults to 1000 messages in ++ 30s. The time specification for + RateLimitInterval= + may be specified in the following + units: s, +-- +1.7.9.2 + diff --git a/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch b/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch new file mode 100644 index 00000000..a88af680 --- /dev/null +++ b/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch @@ -0,0 +1,56 @@ +From 9f24adc288de142d6606fde3c5a5971613f3b6b9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 May 2014 19:37:19 +0200 +Subject: [PATCH] nspawn: properly format container_uuid in UUID format + +http://lists.freedesktop.org/archives/systemd-devel/2014-April/018971.html +--- + src/nspawn/nspawn.c | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 0bd52da..6be4dca 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) { + return 0; + } + ++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) { ++ ++ snprintf(s, 37, ++ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", ++ SD_ID128_FORMAT_VAL(id)); ++ ++ return s; ++} ++ + static int setup_boot_id(const char *dest) { + _cleanup_free_ char *from = NULL, *to = NULL; + sd_id128_t rnd = {}; +@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) { + return r; + } + +- snprintf(as_uuid, sizeof(as_uuid), +- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", +- SD_ID128_FORMAT_VAL(rnd)); +- char_array_0(as_uuid); ++ id128_format_as_uuid(rnd, as_uuid); + + r = write_string_file(from, as_uuid); + if (r < 0) { +@@ -2954,7 +2960,9 @@ int main(int argc, char *argv[]) { + } + + if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) { +- if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) { ++ char as_uuid[37]; ++ ++ if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) { + log_oom(); + goto child_fail; + } +-- +1.7.9.2 + diff --git a/0010-logind-allow-suspending-if-there-are-no-displays.patch b/0010-logind-allow-suspending-if-there-are-no-displays.patch new file mode 100644 index 00000000..a12ff513 --- /dev/null +++ b/0010-logind-allow-suspending-if-there-are-no-displays.patch @@ -0,0 +1,42 @@ +From d36d90933a832bd1e1eb8e3d16b3de73f91636b4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Mon, 28 Apr 2014 00:58:56 +0300 +Subject: [PATCH] logind: allow suspending if there are no displays + +With proprietary graphics drivers, there won't be any 'drm' devices in +sysfs, so logind will never suspend the system upon closing the lid, +even if only one (internal) display is connected. This has been reported +by multiple users so far. + +IMHO, it's better to suspend the system in this case for safety reasons, +to avoid having nvidia blob users' laptops overheat, for the same reason +that sleep inhibitors are overridden (LidSwitchIgnoreInhibited=yes). +--- + src/login/logind-action.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index ae9cd48..36ee441 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -79,14 +79,12 @@ int manager_handle_action( + return 0; + } + +- /* If we have more than one or no displays connected, +- * don't react to lid closing. The no display case we +- * treat like this under the assumption that there is +- * no modern drm driver available. */ ++ /* If we have more than one display connected, ++ * don't react to lid closing. */ + n = manager_count_displays(m); + if (n < 0) + log_warning("Display counting failed: %s", strerror(-n)); +- else if (n != 1) { ++ else if (n > 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } +-- +1.7.9.2 + diff --git a/0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch b/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch similarity index 100% rename from 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch rename to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch diff --git a/1017-udev-serialize-synchronize-block-device-event-handli.patch b/1017-udev-serialize-synchronize-block-device-event-handli.patch new file mode 100644 index 00000000..559c0bc3 --- /dev/null +++ b/1017-udev-serialize-synchronize-block-device-event-handli.patch @@ -0,0 +1,83 @@ +From 3ebdb81ef088afd3b4c72b516beb5610f8c93a0d Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 13 Apr 2014 19:54:27 -0700 +Subject: [PATCH] udev: serialize/synchronize block device event handling with + file locks + +--- + src/udev/udevd.c | 33 +++++++++++++++++++++++++++++++-- + 1 file changed, 31 insertions(+), 2 deletions(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index f9ee368..aecd208 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -265,6 +266,7 @@ static void worker_new(struct event *event) + for (;;) { + struct udev_event *udev_event; + struct worker_message msg; ++ int fd_lock = -1; + int err; + + log_debug("seq %llu running", udev_device_get_seqnum(dev)); +@@ -280,6 +282,30 @@ static void worker_new(struct event *event) + if (exec_delay > 0) + udev_event->exec_delay = exec_delay; + ++ /* ++ * Take a "read lock" on the device node; this establishes ++ * a concept of device "ownership" to serialize device ++ * access. External processes holding a "write lock" will ++ * cause udev to skip the event handling; in the case udev ++ * acquired the lock, the external process will block until ++ * udev has finished its event handling. ++ */ ++ if (streq_ptr("block", udev_device_get_subsystem(dev))) { ++ struct udev_device *d = dev; ++ ++ if (streq_ptr("partition", udev_device_get_devtype(d))) ++ d = udev_device_get_parent(d); ++ ++ if (d) { ++ fd_lock = open(udev_device_get_devnode(d), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { ++ log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); ++ err = -EWOULDBLOCK; ++ goto skip; ++ } ++ } ++ } ++ + /* apply rules, create node, symlinks */ + err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +@@ -292,13 +318,16 @@ static void worker_new(struct event *event) + udev_device_update_db(dev); + } + ++ if (fd_lock >= 0) ++ close(fd_lock); ++ + /* send processed event back to libudev listeners */ + udev_monitor_send_device(worker_monitor, NULL, dev); + ++skip: + /* send udevd the result of the event execution */ + memzero(&msg, sizeof(struct worker_message)); +- if (err != 0) +- msg.exitcode = err; ++ msg.exitcode = err; + msg.pid = getpid(); + send(worker_watch[WRITE_END], &msg, sizeof(struct worker_message), 0); + +-- +1.7.9.2 + diff --git a/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch b/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch new file mode 100644 index 00000000..e3bd7286 --- /dev/null +++ b/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch @@ -0,0 +1,140 @@ +From 1ea972174baba40dbc80c51cbfc4edc49764b59b Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 14 May 2014 00:34:49 +0200 +Subject: [PATCH] udev: do not skip the execution of RUN when renaming a + network device fails + +--- + src/test/test-udev.c | 5 ++--- + src/udev/udev-event.c | 11 +++++------ + src/udev/udev.h | 2 +- + src/udev/udevadm-test.c | 13 +++++-------- + src/udev/udevd.c | 5 ++--- + 5 files changed, 15 insertions(+), 21 deletions(-) + +diff --git src/test/test-udev.c src/test/test-udev.c +index b064744..b057cc8 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) { + } + } + +- err = udev_event_execute_rules(event, rules, &sigmask_orig); +- if (err == 0) +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_run(event, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 2cab42b..5213a4a 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -776,13 +776,12 @@ static int rename_netif(struct udev_event *event) + return r; + } + +-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) ++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) + { + struct udev_device *dev = event->dev; +- int err = 0; + + if (udev_device_get_subsystem(dev) == NULL) +- return -1; ++ return; + + if (streq(udev_device_get_action(dev), "remove")) { + udev_device_read_db(dev, NULL); +@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, + event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) { + char syspath[UTIL_PATH_SIZE]; + char *pos; ++ int r; + +- err = rename_netif(event); +- if (err == 0) { ++ r = rename_netif(event); ++ if (r >= 0) { + log_debug("renamed netif to '%s'", event->name); + + /* remember old name */ +@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, + udev_device_unref(event->dev_db); + event->dev_db = NULL; + } +- return err; + } + + void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +diff --git src/udev/udev.h src/udev/udev.h +index 936adfb..62538bc 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + int udev_event_spawn(struct udev_event *event, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); + void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 6cd311b..6a2f548 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + _cleanup_udev_device_unref_ struct udev_device *dev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; + sigset_t mask, sigmask_orig; +- int err; + int rc = 0, c; + + static const struct option options[] = { +@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- err = udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); + +- if (err == 0) { +- udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { +- char program[UTIL_PATH_SIZE]; ++ udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { ++ char program[UTIL_PATH_SIZE]; + +- udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); +- printf("run: '%s'\n", program); +- } ++ udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); ++ printf("run: '%s'\n", program); + } + out: + if (event != NULL && event->fd_signal >= 0) +diff --git src/udev/udevd.c src/udev/udevd.c +index aecd208..bc0696c 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -307,10 +307,9 @@ static void worker_new(struct event *event) + } + + /* apply rules, create node, symlinks */ +- err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +- if (err == 0) +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, &sigmask_orig); + + /* apply/restore inotify watch */ + if (err == 0 && udev_event->inotify_watch) { +-- +1.7.9.2 + diff --git a/1019-udev-avoid-use-of-uninitialized-err.patch b/1019-udev-avoid-use-of-uninitialized-err.patch new file mode 100644 index 00000000..c520436e --- /dev/null +++ b/1019-udev-avoid-use-of-uninitialized-err.patch @@ -0,0 +1,37 @@ +From bf9bead187802a52a1f376a03caee762d663e945 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 16 May 2014 23:46:48 +0200 +Subject: [PATCH] udev: avoid use of uninitialized err + +After 1ea972174baba40dbc80c51cbfc4edc49764b59b err is no longer +set unless we hit a special case. Initialize it to 0 and remove +a check that will never fail. +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index bc0696c..1c9488e 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -267,7 +267,7 @@ static void worker_new(struct event *event) + struct udev_event *udev_event; + struct worker_message msg; + int fd_lock = -1; +- int err; ++ int err = 0; + + log_debug("seq %llu running", udev_device_get_seqnum(dev)); + udev_event = udev_event_new(dev); +@@ -312,7 +312,7 @@ static void worker_new(struct event *event) + udev_event_execute_run(udev_event, &sigmask_orig); + + /* apply/restore inotify watch */ +- if (err == 0 && udev_event->inotify_watch) { ++ if (udev_event->inotify_watch) { + udev_watch_begin(udev, dev); + udev_device_update_db(dev); + } +-- +1.7.9.2 + diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 87518f9d..93db6de4 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -1,20 +1,20 @@ addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot.8.*") -addFilter(".*files-duplicate .*/sd_is_socket.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros.systemd") +addFilter(".*files-duplicate .*/reboot\.8.*") +addFilter(".*files-duplicate .*/sd_is_socket\.3.*") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") +addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") addFilter(".*dbus-policy-allow-receive") addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") addFilter(".*dangling-symlink /lib/udev/devices/core.*") addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev") +addFilter(".*incoherent-init-script-name boot\.udev.*") +addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") +addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") - +addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 6eea7ee7..3d58685a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,86 @@ +------------------------------------------------------------------- +Wed May 21 19:23:32 UTC 2014 - coolo@suse.com + +- fix file list of systemd.pc + +------------------------------------------------------------------- +Wed May 21 13:24:13 UTC 2014 - werner@suse.de + +- Add a workaround for old distributions like 13.1 to avoid + deadlocks due NFS shares stopped after network + +------------------------------------------------------------------- +Wed May 21 10:23:14 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-journal-cleanup-up-error-handling-in-update_catalog.patch + 0002-journal-properly-detect-language-specified-in-line.patch + 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch + +------------------------------------------------------------------- +Wed May 21 10:14:32 UTC 2014 - werner@suse.de + +- Add upstream patches to update usb and pci company identifiers + 0001-hwdb-update.patch + 0002-hwdb-update.patch + 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch + 0004-hwdb-update.patch + 0005-hwdb-update.patch + +------------------------------------------------------------------- +Wed May 21 08:33:34 UTC 2014 - werner@suse.de + +- Move systemd.pc and udev.pc to their main packages (bnc#876587) + +------------------------------------------------------------------- +Tue May 20 12:13:05 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-conf-parser-silently-ignore-sections-starting-with-X.patch + 0002-man-note-that-entire-sections-can-now-be-ignored.patch + 0004-machined-make-sure-GetMachineAddresses-is-available-.patch + 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch + 0006-login-add-mir-to-the-list-of-session-types.patch + 0007-logind-fix-Display-property-of-user-objects.patch + +------------------------------------------------------------------- +Tue May 20 11:31:46 UTC 2014 - werner@suse.de + +- Add upstream patches to update BluTooth company identifiers + 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Tue May 20 11:03:54 UTC 2014 - werner@suse.de + +- Add upstream patches to allow processes to serialize block device + events, also do execute the RUN tag if rename of a network device + fails: + 1016-udev-serialize-synchronize-block-device-event-handli.patch + 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch + 1018-udev-avoid-use-of-uninitialized-err.patch +- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch + to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch + +------------------------------------------------------------------- +Mon May 19 13:21:18 UTC 2014 - werner@suse.de + +- Add upstream patches mainly for better lid handling (bnc#878525 + and bnc#868019) + 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch + 0002-logind-fix-printf-format.patch + 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch + 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch + 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch + 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch + 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch + 0008-man-update-journald-rate-limit-defaults.patch + 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch + 0010-logind-allow-suspending-if-there-are-no-displays.patch + ------------------------------------------------------------------- Fri May 16 12:00:12 UTC 2014 - werner@suse.de @@ -7,7 +90,7 @@ Fri May 16 12:00:12 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Fri May 16 11:47:06 UTC 2014 - werner@suse.de -- Add upstram patches +- Add upstream patches 0001-core-close-socket-fds-asynchronously.patch 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch 0003-core-make-sure-to-serialize-jobs-for-all-units.patch @@ -15,7 +98,7 @@ Fri May 16 11:47:06 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Wed May 14 07:37:08 UTC 2014 - werner@suse.de -- Add upstram patches +- Add upstream patches 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch to avoid that in pam session unwanted file descriptors are inherited @@ -30,7 +113,7 @@ Tue May 13 08:28:05 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Mon May 12 13:35:25 UTC 2014 - werner@suse.de -- Add upstram patches for backlight +- Add upstream patches for backlight 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch 0002-backlight-do-nothing-if-max_brightness-is-0.patch 0003-backlight-unify-error-messages.patch @@ -103,7 +186,7 @@ Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-bash-completion-fix-__get_startable_units.patch 0002-sysctl-replaces-some-slashes-with-dots.patch 0003-delta-do-not-use-unicode-chars-in-C-locale.patch @@ -188,7 +271,7 @@ Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de - Add patch portmap-wants-rpcbind-socket.patch to make sure that rpcbind socket as well as service is up with the target -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-journal-fix-export-of-messages-containing-newlines.patch 0002-systemctl-update-NAME-to-PATTERN-in-help.patch 0003-tty-ask-password-agent-return-negative-errno.patch @@ -198,7 +281,7 @@ Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch @@ -261,7 +344,7 @@ Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de - Add Robert's udev-generate-peristent-rule shell script to udev's tool library -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch 0006-Do-not-return-1-EINVAL-on-allocation-error.patch diff --git a/systemd-mini.spec b/systemd-mini.spec index af3e53e2..d75bed5b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -410,8 +410,6 @@ Patch208: parse-crypttab-for-noauto-option.patch # PATCH-FIX-UPSTREAM added at 2014/05/12 Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch # PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch210: 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch # PATCH-FIX-UPSTREAM added at 2014/05/12 Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch @@ -439,6 +437,64 @@ Patch222: 0001-core-close-socket-fds-asynchronously.patch Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch # PATCH-FIX-UPSTREAM added at 2014/05/16 Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch226: 0002-logind-fix-printf-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch232: 0008-man-update-journald-rate-limit-defaults.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch +# PATCHFIX-UPSTREAM added at 2014/05/20 +Patch245: 0007-logind-fix-Display-property-of-user-objects.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch246: 0001-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch247: 0002-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch249: 0004-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch250: 0005-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch252: 0002-journal-properly-detect-language-specified-in-line.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch # UDEV PATCHES # ============ @@ -476,6 +532,14 @@ Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch Patch1014: 1014-udev-update-net_id-comments.patch # PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -833,7 +897,6 @@ cp %{SOURCE7} m4/ %patch207 -p0 %patch208 -p1 %patch209 -p0 -%patch210 -p0 %patch211 -p0 %patch212 -p0 %patch213 -p0 @@ -848,6 +911,35 @@ cp %{SOURCE7} m4/ %patch222 -p0 %patch223 -p0 %patch224 -p0 +%patch225 -p0 +%patch226 -p0 +%patch227 -p0 +%patch228 -p0 +%patch229 -p0 +%patch230 -p0 +%patch231 -p0 +%patch232 -p0 +%patch233 -p0 +%patch234 -p0 +%patch235 -p0 +%patch236 -p0 +%patch237 -p0 +%patch238 -p0 +%patch239 -p0 +%patch240 -p0 +%patch241 -p0 +%patch242 -p0 +%patch243 -p0 +%patch244 -p0 +%patch245 -p0 +%patch246 -p0 +%patch247 -p0 +%patch248 -p0 +%patch249 -p0 +%patch250 -p0 +%patch251 -p0 +%patch252 -p0 +%patch253 -p0 # udev patches %patch1001 -p1 @@ -866,6 +958,10 @@ cp %{SOURCE7} m4/ %patch1013 -p1 %patch1014 -p1 %patch1015 -p1 +%patch1016 -p0 +%patch1017 -p0 +%patch1018 -p0 +%patch1019 -p0 # ensure generate files are removed rm -f units/emergency.service @@ -1117,6 +1213,30 @@ do done %endif +%if 0%{suse_version} < 1310 +cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' + [Unit] + Description=Fix against deadlock at shutdown + Wants=remote-fs.target remote-fs-pre.target + Before=remote-fs.target systemd-logind.service + After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target + ConditionPathExists=|/etc/init.d/autofs + ConditionPathExists=|/etc/init.d/nfs + + [Service] + Type=oneshot + RemainAfterExit=true + ExecStart=/bin/true + ExecStop=-/etc/init.d/autofs stop + ExecStop=-/etc/init.d/nfs stop + + [Install] + WantedBy=remote-fs.target + EOF + mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants + ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants +%endif + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 @@ -1512,6 +1632,9 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%if 0%{?suse_version} > 1310 +%{_datadir}/pkgconfig/systemd.pc +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion @@ -1535,7 +1658,9 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h +%if 0%{?suse_version} <= 1310 %{_datadir}/pkgconfig/systemd.pc +%endif %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -1609,6 +1734,9 @@ exit 0 %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.network +%if 0%{?suse_version} > 1310 +%{_datadir}/pkgconfig/udev.pc +%endif %files -n lib%{udevpkgname}%{udev_major} %defattr(-,root,root) @@ -1618,7 +1746,9 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so +%if 0%{?suse_version} <= 1310 %{_datadir}/pkgconfig/udev.pc +%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 87518f9d..93db6de4 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,20 +1,20 @@ addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot.8.*") -addFilter(".*files-duplicate .*/sd_is_socket.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros.systemd") +addFilter(".*files-duplicate .*/reboot\.8.*") +addFilter(".*files-duplicate .*/sd_is_socket\.3.*") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") +addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") addFilter(".*dbus-policy-allow-receive") addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") addFilter(".*dangling-symlink /lib/udev/devices/core.*") addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev") +addFilter(".*incoherent-init-script-name boot\.udev.*") +addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") +addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") - +addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") diff --git a/systemd.changes b/systemd.changes index 6eea7ee7..3d58685a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,86 @@ +------------------------------------------------------------------- +Wed May 21 19:23:32 UTC 2014 - coolo@suse.com + +- fix file list of systemd.pc + +------------------------------------------------------------------- +Wed May 21 13:24:13 UTC 2014 - werner@suse.de + +- Add a workaround for old distributions like 13.1 to avoid + deadlocks due NFS shares stopped after network + +------------------------------------------------------------------- +Wed May 21 10:23:14 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-journal-cleanup-up-error-handling-in-update_catalog.patch + 0002-journal-properly-detect-language-specified-in-line.patch + 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch + +------------------------------------------------------------------- +Wed May 21 10:14:32 UTC 2014 - werner@suse.de + +- Add upstream patches to update usb and pci company identifiers + 0001-hwdb-update.patch + 0002-hwdb-update.patch + 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch + 0004-hwdb-update.patch + 0005-hwdb-update.patch + +------------------------------------------------------------------- +Wed May 21 08:33:34 UTC 2014 - werner@suse.de + +- Move systemd.pc and udev.pc to their main packages (bnc#876587) + +------------------------------------------------------------------- +Tue May 20 12:13:05 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-conf-parser-silently-ignore-sections-starting-with-X.patch + 0002-man-note-that-entire-sections-can-now-be-ignored.patch + 0004-machined-make-sure-GetMachineAddresses-is-available-.patch + 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch + 0006-login-add-mir-to-the-list-of-session-types.patch + 0007-logind-fix-Display-property-of-user-objects.patch + +------------------------------------------------------------------- +Tue May 20 11:31:46 UTC 2014 - werner@suse.de + +- Add upstream patches to update BluTooth company identifiers + 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Tue May 20 11:03:54 UTC 2014 - werner@suse.de + +- Add upstream patches to allow processes to serialize block device + events, also do execute the RUN tag if rename of a network device + fails: + 1016-udev-serialize-synchronize-block-device-event-handli.patch + 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch + 1018-udev-avoid-use-of-uninitialized-err.patch +- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch + to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch + +------------------------------------------------------------------- +Mon May 19 13:21:18 UTC 2014 - werner@suse.de + +- Add upstream patches mainly for better lid handling (bnc#878525 + and bnc#868019) + 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch + 0002-logind-fix-printf-format.patch + 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch + 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch + 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch + 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch + 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch + 0008-man-update-journald-rate-limit-defaults.patch + 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch + 0010-logind-allow-suspending-if-there-are-no-displays.patch + ------------------------------------------------------------------- Fri May 16 12:00:12 UTC 2014 - werner@suse.de @@ -7,7 +90,7 @@ Fri May 16 12:00:12 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Fri May 16 11:47:06 UTC 2014 - werner@suse.de -- Add upstram patches +- Add upstream patches 0001-core-close-socket-fds-asynchronously.patch 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch 0003-core-make-sure-to-serialize-jobs-for-all-units.patch @@ -15,7 +98,7 @@ Fri May 16 11:47:06 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Wed May 14 07:37:08 UTC 2014 - werner@suse.de -- Add upstram patches +- Add upstream patches 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch to avoid that in pam session unwanted file descriptors are inherited @@ -30,7 +113,7 @@ Tue May 13 08:28:05 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Mon May 12 13:35:25 UTC 2014 - werner@suse.de -- Add upstram patches for backlight +- Add upstream patches for backlight 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch 0002-backlight-do-nothing-if-max_brightness-is-0.patch 0003-backlight-unify-error-messages.patch @@ -103,7 +186,7 @@ Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-bash-completion-fix-__get_startable_units.patch 0002-sysctl-replaces-some-slashes-with-dots.patch 0003-delta-do-not-use-unicode-chars-in-C-locale.patch @@ -188,7 +271,7 @@ Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de - Add patch portmap-wants-rpcbind-socket.patch to make sure that rpcbind socket as well as service is up with the target -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-journal-fix-export-of-messages-containing-newlines.patch 0002-systemctl-update-NAME-to-PATTERN-in-help.patch 0003-tty-ask-password-agent-return-negative-errno.patch @@ -198,7 +281,7 @@ Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de ------------------------------------------------------------------- Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch @@ -261,7 +344,7 @@ Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de - Add Robert's udev-generate-peristent-rule shell script to udev's tool library -- Add or port upstram bugfix patches: +- Add or port upstream bugfix patches: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch 0006-Do-not-return-1-EINVAL-on-allocation-error.patch diff --git a/systemd.spec b/systemd.spec index 27df9a98..88a3b8ab 100644 --- a/systemd.spec +++ b/systemd.spec @@ -405,8 +405,6 @@ Patch208: parse-crypttab-for-noauto-option.patch # PATCH-FIX-UPSTREAM added at 2014/05/12 Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch # PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch210: 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch # PATCH-FIX-UPSTREAM added at 2014/05/12 Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch @@ -434,6 +432,64 @@ Patch222: 0001-core-close-socket-fds-asynchronously.patch Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch # PATCH-FIX-UPSTREAM added at 2014/05/16 Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch226: 0002-logind-fix-printf-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch232: 0008-man-update-journald-rate-limit-defaults.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch +# PATCHFIX-UPSTREAM added at 2014/05/20 +Patch245: 0007-logind-fix-Display-property-of-user-objects.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch246: 0001-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch247: 0002-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch249: 0004-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch250: 0005-hwdb-update.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch252: 0002-journal-properly-detect-language-specified-in-line.patch +# PATCHFIX-UPSTREAM added at 2014/05/21 +Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch # UDEV PATCHES # ============ @@ -471,6 +527,14 @@ Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch Patch1014: 1014-udev-update-net_id-comments.patch # PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -828,7 +892,6 @@ cp %{SOURCE7} m4/ %patch207 -p0 %patch208 -p1 %patch209 -p0 -%patch210 -p0 %patch211 -p0 %patch212 -p0 %patch213 -p0 @@ -843,6 +906,35 @@ cp %{SOURCE7} m4/ %patch222 -p0 %patch223 -p0 %patch224 -p0 +%patch225 -p0 +%patch226 -p0 +%patch227 -p0 +%patch228 -p0 +%patch229 -p0 +%patch230 -p0 +%patch231 -p0 +%patch232 -p0 +%patch233 -p0 +%patch234 -p0 +%patch235 -p0 +%patch236 -p0 +%patch237 -p0 +%patch238 -p0 +%patch239 -p0 +%patch240 -p0 +%patch241 -p0 +%patch242 -p0 +%patch243 -p0 +%patch244 -p0 +%patch245 -p0 +%patch246 -p0 +%patch247 -p0 +%patch248 -p0 +%patch249 -p0 +%patch250 -p0 +%patch251 -p0 +%patch252 -p0 +%patch253 -p0 # udev patches %patch1001 -p1 @@ -861,6 +953,10 @@ cp %{SOURCE7} m4/ %patch1013 -p1 %patch1014 -p1 %patch1015 -p1 +%patch1016 -p0 +%patch1017 -p0 +%patch1018 -p0 +%patch1019 -p0 # ensure generate files are removed rm -f units/emergency.service @@ -1112,6 +1208,30 @@ do done %endif +%if 0%{suse_version} < 1310 +cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' + [Unit] + Description=Fix against deadlock at shutdown + Wants=remote-fs.target remote-fs-pre.target + Before=remote-fs.target systemd-logind.service + After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target + ConditionPathExists=|/etc/init.d/autofs + ConditionPathExists=|/etc/init.d/nfs + + [Service] + Type=oneshot + RemainAfterExit=true + ExecStart=/bin/true + ExecStop=-/etc/init.d/autofs stop + ExecStop=-/etc/init.d/nfs stop + + [Install] + WantedBy=remote-fs.target + EOF + mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants + ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants +%endif + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 @@ -1507,6 +1627,9 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%if 0%{?suse_version} > 1310 +%{_datadir}/pkgconfig/systemd.pc +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion @@ -1530,7 +1653,9 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h +%if 0%{?suse_version} <= 1310 %{_datadir}/pkgconfig/systemd.pc +%endif %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -1604,6 +1729,9 @@ exit 0 %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.network +%if 0%{?suse_version} > 1310 +%{_datadir}/pkgconfig/udev.pc +%endif %files -n lib%{udevpkgname}%{udev_major} %defattr(-,root,root) @@ -1613,7 +1741,9 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so +%if 0%{?suse_version} <= 1310 %{_datadir}/pkgconfig/udev.pc +%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc From f026ff3dde079a2d7d99b2a358fa0d7e04751e60311d7c1f8f07d3285ce73a1c Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 28 May 2014 04:43:08 +0000 Subject: [PATCH 184/991] Accepting request 235517 from Base:System - Add upstream patches 0001-Do-not-unescape-unit-names-in-Install-section.patch 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - Add upstream patch 1020-udev-keyboard-also-hook-into-change-events.patch - Add upstream patches to update keyboard data base 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - Add upstream patches 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch 0002-nspawn-restore-journal-directory-is-empty-check.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0004-socket-properly-handle-if-our-service-vanished-durin.patch - Add upstream patches 0001-Do-not-unescape-unit-names-in-Install-section.patch 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - Add upstream patch 1020-udev-keyboard-also-hook-into-change-events.patch - Add upstream patches to update keyboard data base 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - Add upstream patches 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch 0002-nspawn-restore-journal-directory-is-empty-check.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch OBS-URL: https://build.opensuse.org/request/show/235517 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=189 --- ...escape-unit-names-in-Install-section.patch | 21 ++++ ...map-Add-Lenovo-Enhanced-USB-Keyboard.patch | 36 ++++++ ...bind-mount-journal-on-top-of-a-non-e.patch | 45 ++++++++ ...bus_open_transport_systemd-instead-o.patch | 46 ++++++++ ...eymap-Asus-EeePC-touchpad-toggle-key.patch | 28 +++++ ...ore-journal-directory-is-empty-check.patch | 30 +++++ ...der-failure-when-reading-drop-ins-fa.patch | 109 ++++++++++++++++++ ...handle-if-our-service-vanished-durin.patch | 30 +++++ ...eyboard-also-hook-into-change-events.patch | 27 +++++ systemd-mini.changes | 25 ++++ systemd-mini.spec | 27 +++++ systemd.changes | 25 ++++ systemd.spec | 27 +++++ 13 files changed, 476 insertions(+) create mode 100644 0001-Do-not-unescape-unit-names-in-Install-section.patch create mode 100644 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch create mode 100644 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch create mode 100644 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch create mode 100644 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch create mode 100644 0002-nspawn-restore-journal-directory-is-empty-check.patch create mode 100644 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch create mode 100644 0004-socket-properly-handle-if-our-service-vanished-durin.patch create mode 100644 1020-udev-keyboard-also-hook-into-change-events.patch diff --git a/0001-Do-not-unescape-unit-names-in-Install-section.patch b/0001-Do-not-unescape-unit-names-in-Install-section.patch new file mode 100644 index 00000000..18e4aaa1 --- /dev/null +++ b/0001-Do-not-unescape-unit-names-in-Install-section.patch @@ -0,0 +1,21 @@ +Based on 000f6e5667eb4f73e137cbd0d7395a9f9db7728a Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 26 May 2014 20:09:45 +0200 +Subject: [PATCH] Do not unescape unit names in [Install] section + +https://bugs.freedesktop.org/show_bug.cgi?id=49316 +--- + src/shared/conf-parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c 2014-05-27 07:36:20.478236631 +0000 +@@ -723,7 +723,7 @@ int config_parse_strv(const char *unit, + FOREACH_WORD_QUOTED(w, l, rvalue, state) { + _cleanup_free_ char *n; + +- n = cunescape_length(w, l); ++ n = strndup(w, l); + if (!n) + return log_oom(); + diff --git a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch new file mode 100644 index 00000000..09bd55ef --- /dev/null +++ b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch @@ -0,0 +1,36 @@ +From d258d4967eb24122c2b1014d4e873f61b633f1d2 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Sun, 25 May 2014 11:57:22 +0200 +Subject: [PATCH] keymap: Add Lenovo Enhanced USB Keyboard + +https://bugs.freedesktop.org/show_bug.cgi?id=77234 +--- + hwdb/60-keyboard.hwdb | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 832c686..fe5b3ee 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -579,6 +579,18 @@ keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* + KEYBOARD_KEY_f1=f21 + ++# enhanced USB keyboard ++keyboard:usb:v04B3p301B* ++ KEYBOARD_KEY_90001=prog1 # ThinkVantage ++ KEYBOARD_KEY_90002=screenlock ++ KEYBOARD_KEY_90003=file ++ KEYBOARD_KEY_90004=wordprocessor ++ KEYBOARD_KEY_90005=spreadsheet ++ KEYBOARD_KEY_90006=calc ++ KEYBOARD_KEY_90007=mail ++ KEYBOARD_KEY_90008=www ++ ++ + ########################################################### + # Logitech + ########################################################### +-- +1.7.9.2 + diff --git a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch new file mode 100644 index 00000000..7d5b066f --- /dev/null +++ b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch @@ -0,0 +1,45 @@ +From e6a4a517befe559adf6d1dbbadf425c3538849c9 Mon Sep 17 00:00:00 2001 +From: Djalal Harouni +Date: Fri, 11 Apr 2014 01:45:52 +0100 +Subject: [PATCH] nspawn: allow to bind mount journal on top of a non empty + container journal dentry + +Currently if nspawn was called with --link-journal=host or +--link-journal=auto and the right /var/log/journal/machine-id/ exists +then the bind mount the subdirectory into the container might fail due +to the ~/mycontainer/var/log/journal/machine-id/ of the container not +being empty. + +There is no reason to check if the container journal subdir is empty +since there will be a bind mount on top of it. The user asked for a bind +mount so give it. + +Note: a next call with --link-journal=guest may fail due to the +/var/log/journal/machine-id/ on the host not being empty. + +https://bugs.freedesktop.org/show_bug.cgi?id=76193 + +Reported-by: Tobias Hunger +--- + src/nspawn/nspawn.c | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 9d9238f..ef84664 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1143,11 +1143,6 @@ static int setup_journal(const char *directory) { + } else if (access(p, F_OK) < 0) + return 0; + +- if (dir_is_empty(q) == 0) { +- log_error("%s not empty.", q); +- return -ENOTEMPTY; +- } +- + r = mkdir_p(q, 0755); + if (r < 0) { + log_error("Failed to create %s: %m", q); +-- +1.7.9.2 + diff --git a/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch b/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch new file mode 100644 index 00000000..c18fcb9e --- /dev/null +++ b/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch @@ -0,0 +1,46 @@ +From 1f89214e6e990a0b552f6854f87f8514ca384956 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 21 Feb 2014 11:55:24 +0100 +Subject: [PATCH] analyze/run: use bus_open_transport_systemd instead of + bus_open_transport + +Both systemd-analyze and systemd-run only access org.freedesktop.systemd1 +on the bus. This patch allows using systemd-run --user and systemd-analyze +--user even if the user session's bus is not properly integrated with the +systemd user unit. + +https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports... +--- + src/analyze/analyze.c | 2 +- + src/run/run.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index 4c5fcfe..0a4190c 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -1335,7 +1335,7 @@ int main(int argc, char *argv[]) { + if (r <= 0) + goto finish; + +- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); ++ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); + if (r < 0) { + log_error("Failed to create bus connection: %s", strerror(-r)); + goto finish; +diff --git src/run/run.c src/run/run.c +index e4c695c..9d5527b 100644 +--- src/run/run.c ++++ src/run/run.c +@@ -593,7 +593,7 @@ int main(int argc, char* argv[]) { + arg_description = description; + } + +- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); ++ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); + if (r < 0) { + log_error("Failed to create bus connection: %s", strerror(-r)); + goto finish; +-- +1.7.9.2 + diff --git a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch new file mode 100644 index 00000000..e921c60b --- /dev/null +++ b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch @@ -0,0 +1,28 @@ +From e55edb22a71e67f01534d28f91c6aa27bba48fc1 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Sun, 25 May 2014 12:16:35 +0200 +Subject: [PATCH] keymap: Asus EeePC touchpad toggle key + +Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events, +so use the F21 convention. + +https://bugs.freedesktop.org/show_bug.cgi?id=72807 +--- + hwdb/60-keyboard.hwdb | 1 + + 1 file changed, 1 insertion(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index fe5b3ee..05e6a04 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -138,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* + KEYBOARD_KEY_ef=mute + + keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* ++keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + KEYBOARD_KEY_6b=f21 # Touchpad Toggle + + ########################################################### +-- +1.7.9.2 + diff --git a/0002-nspawn-restore-journal-directory-is-empty-check.patch b/0002-nspawn-restore-journal-directory-is-empty-check.patch new file mode 100644 index 00000000..c3d60bd4 --- /dev/null +++ b/0002-nspawn-restore-journal-directory-is-empty-check.patch @@ -0,0 +1,30 @@ +From cdb2b9d05a2f3d649f47bd2ba24eb3fe30b52e92 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 15:19:46 +0900 +Subject: [PATCH] nspawn: restore journal directory is empty check + +This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9. + +Instead of removing the error message about non-empty journal bind mount +directories, simply downgrade the message to a warning and proceed. +--- + src/nspawn/nspawn.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index ef84664..eb9c5e0 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1143,6 +1143,9 @@ static int setup_journal(const char *directory) { + } else if (access(p, F_OK) < 0) + return 0; + ++ if (dir_is_empty(q) == 0) ++ log_warning("%s is not empty, proceeding anyway.", q); ++ + r = mkdir_p(q, 0755); + if (r < 0) { + log_error("Failed to create %s: %m", q); +-- +1.7.9.2 + diff --git a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch new file mode 100644 index 00000000..5ee22e2c --- /dev/null +++ b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch @@ -0,0 +1,109 @@ +From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 16:49:12 +0900 +Subject: [PATCH] core: never consider failure when reading drop-ins fatal + +drop-ins don't carry the main configuration of a unit, hence read them +if we can't, complain if we cannot, but don't fail. +--- + src/core/load-dropin.c | 42 +++++++++++++----------------------------- + 1 file changed, 13 insertions(+), 29 deletions(-) + +diff --git src/core/load-dropin.c src/core/load-dropin.c +index 546e560..f2ffc97 100644 +--- src/core/load-dropin.c ++++ src/core/load-dropin.c +@@ -58,6 +58,7 @@ static int iterate_dir( + if (errno == ENOENT) + return 0; + ++ log_error("Failed to open directory %s: %m", path); + return -errno; + } + +@@ -101,7 +102,7 @@ static int process_dir( + char ***strv) { + + _cleanup_free_ char *path = NULL; +- int r; ++ int r, q; + + assert(u); + assert(unit_path); +@@ -112,11 +113,8 @@ static int process_dir( + if (!path) + return log_oom(); + +- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) { +- r = iterate_dir(u, path, dependency, strv); +- if (r < 0) +- return r; +- } ++ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) ++ iterate_dir(u, path, dependency, strv); + + if (u->instance) { + _cleanup_free_ char *template = NULL, *p = NULL; +@@ -130,11 +128,8 @@ static int process_dir( + if (!p) + return log_oom(); + +- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) { +- r = iterate_dir(u, p, dependency, strv); +- if (r < 0) +- return r; +- } ++ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) ++ iterate_dir(u, p, dependency, strv); + } + + return 0; +@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { + SET_FOREACH(t, u->names, i) { + char **p; + +- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { +- /* This loads the drop-in config snippets */ +- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); +- if (r < 0) +- return NULL; +- } ++ STRV_FOREACH(p, u->manager->lookup_paths.unit_path) ++ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); + } + + if (strv_isempty(strv)) +@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { + char **p; + + STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { +- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); +- if (r < 0) +- return r; +- +- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); +- if (r < 0) +- return r; ++ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); ++ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); + } + } + +@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { + return 0; + + STRV_FOREACH(f, u->dropin_paths) { +- r = config_parse(u->id, *f, NULL, +- UNIT_VTABLE(u)->sections, config_item_perf_lookup, +- (void*) load_fragment_gperf_lookup, false, false, u); +- if (r < 0) +- return r; ++ config_parse(u->id, *f, NULL, ++ UNIT_VTABLE(u)->sections, config_item_perf_lookup, ++ (void*) load_fragment_gperf_lookup, false, false, u); + } + + u->dropin_mtime = now(CLOCK_REALTIME); +-- +1.7.9.2 + diff --git a/0004-socket-properly-handle-if-our-service-vanished-durin.patch b/0004-socket-properly-handle-if-our-service-vanished-durin.patch new file mode 100644 index 00000000..b119ad24 --- /dev/null +++ b/0004-socket-properly-handle-if-our-service-vanished-durin.patch @@ -0,0 +1,30 @@ +From 640ace4a8de907994a1b95f6d368c3e6a8fcf60f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 16:56:21 +0900 +Subject: [PATCH] socket: properly handle if our service vanished during + runtime + +--- + src/core/socket.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git src/core/socket.c src/core/socket.c +index 05af8fe..aca20fd 100644 +--- src/core/socket.c ++++ src/core/socket.c +@@ -1503,6 +1503,12 @@ static void socket_enter_running(Socket *s, int cfd) { + } + + if (!pending) { ++ if (!UNIT_ISSET(s->service)) { ++ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id); ++ r = -ENOENT; ++ goto fail; ++ } ++ + r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL); + if (r < 0) + goto fail; +-- +1.7.9.2 + diff --git a/1020-udev-keyboard-also-hook-into-change-events.patch b/1020-udev-keyboard-also-hook-into-change-events.patch new file mode 100644 index 00000000..0d285973 --- /dev/null +++ b/1020-udev-keyboard-also-hook-into-change-events.patch @@ -0,0 +1,27 @@ +From 49804365ea1242456c9763058a59cf68479e07ea Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 26 May 2014 09:30:21 +0800 +Subject: [PATCH] udev: keyboard - also hook into "change" events + +Re-apply the keymaps when "udevadm trigger" is called. Hooking into +"add" only would just remove all keymap content from the udev database +instead of applying the new config. +--- + rules/60-keyboard.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git rules/60-keyboard.rules rules/60-keyboard.rules +index 4e0f366..22f71e7 100644 +--- rules/60-keyboard.rules ++++ rules/60-keyboard.rules +@@ -1,6 +1,6 @@ + # do not edit this file, it will be overwritten on update + +-ACTION!="add", GOTO="keyboard_end" ++ACTION=="remove", GOTO="keyboard_end" + KERNEL!="event*", GOTO="keyboard_end" + ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end" + +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3d58685a..70662ea3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Tue May 27 07:23:47 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-Do-not-unescape-unit-names-in-Install-section.patch + 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch + +------------------------------------------------------------------- +Mon May 26 16:34:10 UTC 2014 - werner@suse.de + +- Add upstream patch + 1020-udev-keyboard-also-hook-into-change-events.patch + +------------------------------------------------------------------- +Mon May 26 15:25:28 UTC 2014 - werner@suse.de + +- Add upstream patches to update keyboard data base + 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +- Add upstream patches + 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch + 0002-nspawn-restore-journal-directory-is-empty-check.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0004-socket-properly-handle-if-our-service-vanished-durin.patch + ------------------------------------------------------------------- Wed May 21 19:23:32 UTC 2014 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index d75bed5b..6c0acde3 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -495,6 +495,22 @@ Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch Patch252: 0002-journal-properly-detect-language-specified-in-line.patch # PATCHFIX-UPSTREAM added at 2014/05/21 Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch +# PATCHFIX-UPSTREAM added at 2014/05/27 +Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch +# PATCHFIX-UPSTREAM added at 2014/05/27 +Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch # UDEV PATCHES # ============ @@ -540,6 +556,8 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch # PATCH-FIX-UPSTREAM added at 2014/05/20 Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -940,6 +958,14 @@ cp %{SOURCE7} m4/ %patch251 -p0 %patch252 -p0 %patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 +%patch260 -p0 +%patch261 -p0 # udev patches %patch1001 -p1 @@ -962,6 +988,7 @@ cp %{SOURCE7} m4/ %patch1017 -p0 %patch1018 -p0 %patch1019 -p0 +%patch1020 -p0 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 3d58685a..70662ea3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Tue May 27 07:23:47 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-Do-not-unescape-unit-names-in-Install-section.patch + 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch + +------------------------------------------------------------------- +Mon May 26 16:34:10 UTC 2014 - werner@suse.de + +- Add upstream patch + 1020-udev-keyboard-also-hook-into-change-events.patch + +------------------------------------------------------------------- +Mon May 26 15:25:28 UTC 2014 - werner@suse.de + +- Add upstream patches to update keyboard data base + 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +- Add upstream patches + 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch + 0002-nspawn-restore-journal-directory-is-empty-check.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0004-socket-properly-handle-if-our-service-vanished-durin.patch + ------------------------------------------------------------------- Wed May 21 19:23:32 UTC 2014 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index 88a3b8ab..f7024fae 100644 --- a/systemd.spec +++ b/systemd.spec @@ -490,6 +490,22 @@ Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch Patch252: 0002-journal-properly-detect-language-specified-in-line.patch # PATCHFIX-UPSTREAM added at 2014/05/21 Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch +# PATCHFIX-UPSTREAM added at 2014/05/27 +Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch +# PATCHFIX-UPSTREAM added at 2014/05/27 +Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch # UDEV PATCHES # ============ @@ -535,6 +551,8 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch # PATCH-FIX-UPSTREAM added at 2014/05/20 Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -935,6 +953,14 @@ cp %{SOURCE7} m4/ %patch251 -p0 %patch252 -p0 %patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 +%patch260 -p0 +%patch261 -p0 # udev patches %patch1001 -p1 @@ -957,6 +983,7 @@ cp %{SOURCE7} m4/ %patch1017 -p0 %patch1018 -p0 %patch1019 -p0 +%patch1020 -p0 # ensure generate files are removed rm -f units/emergency.service From 9fc3254595072c355fa6d5395d6e71e3785ee09348721314ea39f54c1b61e6ed Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 30 Jun 2014 19:43:27 +0000 Subject: [PATCH 185/991] Accepting request 238853 from Base:System - Update of patch 0001-detect-s390-virt.patch (bnc#880438) - Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc - Add upstream patchs 0001-core-use-correct-format-string-for-UIDs.patch 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - Add upstream patch 0001-units-order-network-online.target-after-network.targ.patch to make sure that etwork-online.target follows network.target - rules: re-enable dev_id conditionally in persistent rules (bnc#884403 and bnc#882714). Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch - Add upstream patches 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch 0005-man-fix-path-in-crypttab-5.patch - Add upstream patch 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it fixes udevadm settle exit code which may had roken dracut scripts (bnc#884271 comment#18) - Temporary disable patch 1022 (bnc#884271 and bnc#882714). OBS-URL: https://build.opensuse.org/request/show/238853 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=190 --- ...ibc-s-xattr-support-instead-of-requi.patch | 215 +++ 0001-core-fix-invalid-free-in-killall.patch | 32 + ...network-should-be-equivalent-to-netw.patch | 51 + ...e-use-correct-format-string-for-UIDs.patch | 20 + 0001-detect-s390-virt.patch | 35 + 0001-hwdb-fix-case-sensitive-match.patch | 25 + ...nt-restore-correct-timeout-behaviour.patch | 37 + 0001-umount-modernizations.patch | 119 ++ ...ork-online.target-after-network.targ.patch | 20 + ...sctl.service.in-run-after-load-modul.patch | 29 + ...py-character-maps-not-just-fonts-fro.patch | 56 + ...irt-rework-container-detection-logic.patch | 159 ++ ...sd_bus_try_close-in-exit-on-idle-ser.patch | 59 + ...nvironment-fields-passed-in-for-tran.patch | 27 + ...-fix-cycle-break-attempts-outside-tr.patch | 42 + ...ice-name-in-the-message-about-missin.patch | 26 + ...etting-up-an-inaccessible-mount-poin.patch | 122 ++ ...g-caps-so-that-GetAddresses-can-work.patch | 18 + ...-put-the-cached-result-of-use_smack-.patch | 32 + 0003-core-allow-transient-mount-units.patch | 115 ++ ...fsck-implementation-linked-to-bin-tr.patch | 98 ++ ...l-fix-invalid-free-in-unit_file_mask.patch | 30 + ...emd-tmpfiles-clean.service-after-tim.patch | 26 + ...de-mixed-for-systemd-nspawn-.service.patch | 26 + ...-add-unit-dependency-on-dev-null-dev.patch | 53 + ...rator-properly-escape-instance-names.patch | 39 + ...d-detect-virt-only-discover-Xen-domU.patch | 79 + ...e-should-not-allow-files-ending-with.patch | 28 + ...ght-Do-not-clamp-brightness-for-LEDs.patch | 60 + 0005-man-fix-path-in-crypttab-5.patch | 26 + 0005-po-add-Greek-translation.patch | 436 +++++ ...base-of-Bluetooth-company-identifier.patch | 82 + ...-the-kernel-s-quiet-cmdline-argument.patch | 29 + ...-agent-Do-tell-what-directory-we-fai.patch | 26 + ...d-add-Plantronics-.Audio-mute-button.patch | 32 + 0007-po-add-German-translation.patch | 448 +++++ ...Reset-signal-mask-on-re-exec-to-init.patch | 37 +- ...an-up-signal-reset-logic-when-reexec.patch | 50 + ...t-fuse.sshfs-as-a-network-filesystem.patch | 25 + ...d-pthread-flag-for-libsystemd-shared.patch | 28 + ...-avoid-misleading-error-message-when.patch | 42 + 1021-udev-re-add-persistent-net-rules.patch | 532 ++++++ ...um-API-and-all-assumptions-about-seq.patch | 1445 +++++++++++++++++ ...board-do-tell-on-which-device-EVIOCS.patch | 31 + ...ev-always-close-lock-file-descriptor.patch | 41 + ...ice-mapper-from-block-device-ownersh.patch | 39 + 1026-udevd-inotify-modernizations.patch | 85 + ...change-events-for-partitions-when-to.patch | 84 + 1028-udev-link-config-fix-mem-leak.patch | 34 + ...first-re-reading-the-partition-table.patch | 94 ++ ...guard-REREADP-logic-with-open-O_ECXL.patch | 23 + ...re-we-always-get-change-for-the-disk.patch | 98 ++ ...DPT-by-exclusive-lock-instead-of-O_E.patch | 29 + ...lude-device-mapper-from-block-device.patch | 39 + ...eturn-value-from-udev_enumerate_scan.patch | 26 + ...-Ignore-devices-with-SYSTEMD_READY-0.patch | 32 + ...-usage-of-dev_id-in-persistent-rules.patch | 14 + ...dev-exclude-cd-dvd-from-block-device.patch | 14 + ...x-invalid-free-in-enable_name_policy.patch | 30 + ...le-fixed-return-code-for-empty-queue.patch | 34 + ...id-conditionally-in-persistent-rules.patch | 16 + apply-ACL-for-nvidia-uvm-device-node.patch | 26 + ...etup-after-md-dmraid-lvm-are-started.patch | 45 - ...e-started-before-local-fs-pre-target.patch | 17 - ...assword-wall-starts-after-getty-tty1.patch | 11 +- ...are-applied-after-modules-are-loaded.patch | 19 - getty-generator-with-serial-3270-tty.patch | 34 - insserv-generator.patch | 20 +- keep-crypt-password-prompt.patch | 2 +- systemd-detect-xendom.patch | 35 - systemd-mini.changes | 313 ++++ systemd-mini.spec | 441 ++++- systemd.changes | 313 ++++ systemd.spec | 441 ++++- ...s-do-not-clean-for-mandb-index-files.patch | 22 + 75 files changed, 7149 insertions(+), 269 deletions(-) create mode 100644 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch create mode 100644 0001-core-fix-invalid-free-in-killall.patch create mode 100644 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch create mode 100644 0001-core-use-correct-format-string-for-UIDs.patch create mode 100644 0001-detect-s390-virt.patch create mode 100644 0001-hwdb-fix-case-sensitive-match.patch create mode 100644 0001-sd-event-restore-correct-timeout-behaviour.patch create mode 100644 0001-umount-modernizations.patch create mode 100644 0001-units-order-network-online.target-after-network.targ.patch create mode 100644 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch create mode 100644 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch create mode 100644 0001-virt-rework-container-detection-logic.patch create mode 100644 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch create mode 100644 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch create mode 100644 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch create mode 100644 0002-fsck-include-device-name-in-the-message-about-missin.patch create mode 100644 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch create mode 100644 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch create mode 100644 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch create mode 100644 0003-core-allow-transient-mount-units.patch create mode 100644 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch create mode 100644 0003-install-fix-invalid-free-in-unit_file_mask.patch create mode 100644 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch create mode 100644 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch create mode 100644 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch create mode 100644 0004-getty-generator-properly-escape-instance-names.patch create mode 100644 0004-systemd-detect-virt-only-discover-Xen-domU.patch create mode 100644 0004-util-ignore_file-should-not-allow-files-ending-with.patch create mode 100644 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch create mode 100644 0005-man-fix-path-in-crypttab-5.patch create mode 100644 0005-po-add-Greek-translation.patch create mode 100644 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch create mode 100644 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch create mode 100644 0007-keyboard-add-Plantronics-.Audio-mute-button.patch create mode 100644 0007-po-add-German-translation.patch rename 0001-systemd-empty-sigmask-on-reexec.patch => 0008-Reset-signal-mask-on-re-exec-to-init.patch (53%) create mode 100644 0009-core-clean-up-signal-reset-logic-when-reexec.patch create mode 100644 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch create mode 100644 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch create mode 100644 0012-core-transaction-avoid-misleading-error-message-when.patch create mode 100644 1021-udev-re-add-persistent-net-rules.patch create mode 100644 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch create mode 100644 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch create mode 100644 1024-udev-always-close-lock-file-descriptor.patch create mode 100644 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch create mode 100644 1026-udevd-inotify-modernizations.patch create mode 100644 1027-udev-synthesize-change-events-for-partitions-when-to.patch create mode 100644 1028-udev-link-config-fix-mem-leak.patch create mode 100644 1029-udev-try-first-re-reading-the-partition-table.patch create mode 100644 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch create mode 100644 1031-udev-make-sure-we-always-get-change-for-the-disk.patch create mode 100644 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch create mode 100644 1033-udev-really-exclude-device-mapper-from-block-device.patch create mode 100644 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch create mode 100644 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch create mode 100644 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch create mode 100644 1037-udev-exclude-cd-dvd-from-block-device.patch create mode 100644 1038-udev-fix-invalid-free-in-enable_name_policy.patch create mode 100644 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch create mode 100644 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch create mode 100644 apply-ACL-for-nvidia-uvm-device-node.patch delete mode 100644 delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch delete mode 100644 ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch delete mode 100644 ensure-sysctl-are-applied-after-modules-are-loaded.patch delete mode 100644 getty-generator-with-serial-3270-tty.patch delete mode 100644 systemd-detect-xendom.patch create mode 100644 tmpfiles-do-not-clean-for-mandb-index-files.patch diff --git a/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch b/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch new file mode 100644 index 00000000..f8632b99 --- /dev/null +++ b/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch @@ -0,0 +1,215 @@ +Based on d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 28 May 2014 17:36:40 +0800 +Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring + libattr + +--- + configure.ac | 53 ++----------------------------------------- + src/core/mount-setup.c | 2 - + src/core/socket.c | 4 --- + src/journal/journal-file.c | 7 ----- + src/journal/journal-vacuum.c | 10 -------- + src/shared/label.c | 2 - + src/shared/smack-util.c | 4 --- + 7 files changed, 7 insertions(+), 75 deletions(-) + +--- configure.ac ++++ configure.ac 2014-06-03 00:00:00.000000000 +0000 +@@ -526,44 +526,6 @@ AC_SUBST(ACL_LIBS) + AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) + + # ------------------------------------------------------------------------------ +-AC_ARG_ENABLE([xattr], +- AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]), +- [case "${enableval}" in +- yes) have_xattr=yes ;; +- no) have_xattr=no ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;; +- esac], +- [have_xattr=auto]) +- +-if test "x${have_xattr}" != xno ; then +- AC_CHECK_HEADERS( +- [attr/xattr.h], +- [have_xattr=yes], +- [if test "x$have_xattr" = xyes ; then +- AC_MSG_ERROR([*** XATTR headers not found.]) +- fi]) +- +- AC_CHECK_LIB( +- [attr], +- [fsetxattr], +- [have_xattr=yes], +- [if test "x$have_xattr" = xyes ; then +- AC_MSG_ERROR([*** libattr not found.]) +- fi]) +- +- if test "x$have_xattr" = xyes ; then +- XATTR_LIBS="-lattr" +- AC_DEFINE(HAVE_XATTR, 1, [XATTR available]) +- else +- have_xattr=no +- fi +-else +- XATTR_LIBS= +-fi +-AC_SUBST(XATTR_LIBS) +-AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno]) +- +-# ------------------------------------------------------------------------------ + AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]), + [case "${enableval}" in + yes) have_smack=yes ;; +@@ -572,17 +534,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([- + esac], + [have_smack=auto]) + +-if test "x${have_xattr}" = xno; then +- if test "x${have_smack}" = xyes; then +- AC_MSG_ERROR(SMACK requires xattr support) +- else +- have_smack=no +- fi +-else +- if test "x${have_smack}" = xauto; then +- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" +- have_smack=yes +- fi ++if test "x${have_smack}" = xauto; then ++ M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" ++ have_smack=yes + fi + + AC_ARG_WITH(smack-run-label, +@@ -1131,7 +1085,6 @@ AC_MSG_RESULT([ + SMACK: ${have_smack} + XZ: ${have_xz} + ACL: ${have_acl} +- XATTR: ${have_xattr} + GCRYPT: ${have_gcrypt} + QRENCODE: ${have_qrencode} + MICROHTTPD: ${have_microhttpd} +--- src/core/mount-setup.c ++++ src/core/mount-setup.c 2014-06-03 00:00:00.000000000 +0000 +@@ -93,10 +93,8 @@ static const MountPoint mount_table[] = + NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, + NULL, MNT_IN_CONTAINER }, +-#ifdef HAVE_XATTR + { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_IN_CONTAINER }, +-#endif + { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_IN_CONTAINER }, + { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +--- src/core/socket.c ++++ src/core/socket.c 2014-06-03 00:00:00.000000000 +0000 +@@ -29,9 +29,7 @@ + #include + #include + #include +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "sd-event.h" + #include "log.h" +--- src/journal/journal-file.c ++++ src/journal/journal-file.c 2014-06-03 00:00:00.000000000 +0000 +@@ -26,10 +26,7 @@ + #include + #include + #include +- +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "journal-def.h" + #include "journal-file.h" +@@ -2515,7 +2512,6 @@ int journal_file_open( + } + + if (f->last_stat.st_size == 0 && f->writable) { +-#ifdef HAVE_XATTR + uint64_t crtime; + + /* Let's attach the creation time to the journal file, +@@ -2530,7 +2526,6 @@ int journal_file_open( + + crtime = htole64((uint64_t) now(CLOCK_REALTIME)); + fsetxattr(f->fd, "user.crtime_usec", &crtime, sizeof(crtime), XATTR_CREATE); +-#endif + + #ifdef HAVE_GCRYPT + /* Try to load the FSPRG state, and if we can't, then +--- src/journal/journal-vacuum.c ++++ src/journal/journal-vacuum.c 2014-06-03 00:00:00.000000000 +0000 +@@ -24,10 +24,7 @@ + #include + #include + #include +- +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "journal-def.h" + #include "journal-file.h" +@@ -79,11 +76,8 @@ static void patch_realtime( + unsigned long long *realtime) { + + usec_t x; +- +-#ifdef HAVE_XATTR + uint64_t crtime; + _cleanup_free_ const char *path = NULL; +-#endif + + /* The timestamp was determined by the file name, but let's + * see if the file might actually be older than the file name +@@ -106,7 +100,6 @@ static void patch_realtime( + if (x > 0 && x != (usec_t) -1 && x < *realtime) + *realtime = x; + +-#ifdef HAVE_XATTR + /* Let's read the original creation time, if possible. Ideally + * we'd just query the creation time the FS might provide, but + * unfortunately there's currently no sane API to query +@@ -125,7 +118,6 @@ static void patch_realtime( + if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime) + *realtime = crtime; + } +-#endif + } + + static int journal_file_empty(int dir_fd, const char *name) { +--- src/shared/label.c ++++ src/shared/label.c 2014-06-03 00:00:00.000000000 +0000 +@@ -27,9 +27,7 @@ + #include + #include + #include +-#ifdef HAVE_XATTR + #include +-#endif + #ifdef HAVE_SELINUX + #include + #include +--- src/shared/smack-util.c ++++ src/shared/smack-util.c 2014-06-03 00:00:00.000000000 +0000 +@@ -23,9 +23,7 @@ + + #include + #include +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "smack-util.h" + diff --git a/0001-core-fix-invalid-free-in-killall.patch b/0001-core-fix-invalid-free-in-killall.patch new file mode 100644 index 00000000..23d527e8 --- /dev/null +++ b/0001-core-fix-invalid-free-in-killall.patch @@ -0,0 +1,32 @@ +From 3e09eb5c83e56bc0184bd9d9c44f76047464f77c Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Fri, 13 Jun 2014 18:48:19 +0200 +Subject: [PATCH] core: fix invalid free() in killall() + +static int killall(....) in ./src/core/killall.c tries to get "s" +initialized by calling get_process_comm(...) which calls +read_one_line_file(...) which if it fails will mean it is left +uninitialized. +It is then used in argument to strna(s) call where it is +dereferenced(!), in addition to nothing else initializing it before +the scope it is in finishes. +--- + src/core/killall.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/killall.c src/core/killall.c +index 57ed41c..eab48f7 100644 +--- src/core/killall.c ++++ src/core/killall.c +@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { + continue; + + if (sig == SIGKILL) { +- _cleanup_free_ char *s; ++ _cleanup_free_ char *s = NULL; + + get_process_comm(pid, &s); + log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s)); +-- +1.7.9.2 + diff --git a/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch b/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch new file mode 100644 index 00000000..06371697 --- /dev/null +++ b/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch @@ -0,0 +1,51 @@ +From 0404c609f399b2092a3de52eef9d75b0dc12e94c Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 12 May 2014 21:26:54 +0200 +Subject: [PATCH] core: sysvcompat - $network should be equivalent to + network-online, rather than network target +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Most likely the facility needed is actual connectivity, rather than whether or not the +network managment daemon is running. + +We also need to explicitly pull in the network-online.target, as it is not active by +default. + +This means {systemd-networkd,NetworkManager}-wait-online.service, can be enabled by default +as part of network-online.target, and only delay boot when some service actively pulls it in. + +See: + +Cc: Pavel Šimerda +Cc: Michal Sekletar +--- + TODO | 4 ---- + src/core/service.c | 8 ++++++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +Modified by Andrey Borzenkov for openSUSE. +Index: systemd-210/src/core/service.c +=================================================================== +--- systemd-210.orig/src/core/service.c ++++ systemd-210/src/core/service.c +@@ -404,7 +404,7 @@ static int sysv_translate_facility(const + static const char * const table[] = { + /* LSB defined facilities */ + "local_fs", NULL, +- "network", SPECIAL_NETWORK_TARGET, ++ "network", SPECIAL_NETWORK_ONLINE_TARGET, + "named", SPECIAL_NSS_LOOKUP_TARGET, + "portmap", SPECIAL_RPCBIND_TARGET, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, +@@ -881,6 +881,9 @@ static int service_load_sysv_path(Servic + if (r == 0) + continue; + ++ if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && d == UNIT_AFTER && e == _UNIT_DEPENDENCY_INVALID) ++ e = UNIT_WANTS; ++ + if (e != _UNIT_DEPENDENCY_INVALID) + r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); + else diff --git a/0001-core-use-correct-format-string-for-UIDs.patch b/0001-core-use-correct-format-string-for-UIDs.patch new file mode 100644 index 00000000..f0906df0 --- /dev/null +++ b/0001-core-use-correct-format-string-for-UIDs.patch @@ -0,0 +1,20 @@ +Based on d6239dc4b0cf55a953d6c40890859b85d504ef19 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= +Date: Wed, 25 Jun 2014 14:54:48 +0200 +Subject: [PATCH] core: use correct format string for UIDs + +--- + src/core/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/main.c ++++ src/core/main.c 2014-06-26 09:29:28.182235325 +0000 +@@ -1526,7 +1526,7 @@ int main(int argc, char *argv[]) { + + } else { + _cleanup_free_ char *t = uid_to_name(getuid()); +- log_debug(PACKAGE_STRING " running in user mode for user "PID_FMT"/%s. (" SYSTEMD_FEATURES ")", ++ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", + getuid(), t); + } + diff --git a/0001-detect-s390-virt.patch b/0001-detect-s390-virt.patch new file mode 100644 index 00000000..3a437118 --- /dev/null +++ b/0001-detect-s390-virt.patch @@ -0,0 +1,35 @@ +bnc#880438 - systemd-detect-virt doesn't work on System z + +--- systemd-210/src/shared/virt.c ++++ systemd-210/src/shared/virt.c 2014-06-26 07:55:30.081608729 +0000 +@@ -196,6 +196,30 @@ + } else + return r; + ++#if defined(__s390x__) ++ /* First layer virtualization (PR/SM) is always present on s390x */ ++ _id = "PR/SM"; ++ r = 1; ++ ++ /* Check for second layer virtualization */ ++ _cleanup_fclose_ FILE *f = NULL; ++ char line[LINE_MAX]; ++ f = fopen("/proc/sysinfo", "re"); ++ if (f) { ++ FOREACH_LINE(line, f, return -errno) { ++ if (startswith(line, "VM00 Control Program:")) { ++ if (strstr(line,"z/VM")) ++ _id = "z/VM"; ++ else if (strstr(line,"KVM/Linux")) ++ _id = "KVM"; ++ break; ++ } ++ } ++ } ++ ++ goto finish; ++#endif ++ + /* this will set _id to "other" and return 0 for unknown hypervisors */ + r = detect_vm_cpuid(&_id); + if (r != 0) diff --git a/0001-hwdb-fix-case-sensitive-match.patch b/0001-hwdb-fix-case-sensitive-match.patch new file mode 100644 index 00000000..64642714 --- /dev/null +++ b/0001-hwdb-fix-case-sensitive-match.patch @@ -0,0 +1,25 @@ +From 4c02dd7153f970244950b5e00f7bdfea8d2ff0be Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 17:55:14 +0200 +Subject: [PATCH] hwdb: fix case-sensitive match + +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index d053766..c7ff4e4 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -870,7 +870,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* + ########################################################### + + # Plantronics .Audio 626 DSP +-keyboard:usb:v047fpC006* ++keyboard:usb:v047FpC006* + KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute + + ########################################################### +-- +1.7.9.2 + diff --git a/0001-sd-event-restore-correct-timeout-behaviour.patch b/0001-sd-event-restore-correct-timeout-behaviour.patch new file mode 100644 index 00000000..8787f3f3 --- /dev/null +++ b/0001-sd-event-restore-correct-timeout-behaviour.patch @@ -0,0 +1,37 @@ +Based on eec6022cf039e62233139000b9e95db943959e48 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 13:43:30 +0200 +Subject: [PATCH] sd-event: restore correct timeout behaviour + +--- + src/libsystemd/sd-event/sd-event.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c 2014-06-06 10:26:51.422235695 +0000 +@@ -2047,6 +2047,7 @@ _public_ int sd_event_run(sd_event *e, u + unsigned ev_queue_max; + sd_event_source *p; + int r, i, m; ++ bool timedout; + + assert_return(e, -EINVAL); + assert_return(!event_pid_changed(e), -ECHILD); +@@ -2084,6 +2085,8 @@ _public_ int sd_event_run(sd_event *e, u + goto finish; + } + ++ timedout = m == 0; ++ + dual_timestamp_get(&e->timestamp); + + for (i = 0; i < m; i++) { +@@ -2123,7 +2126,7 @@ _public_ int sd_event_run(sd_event *e, u + + p = event_next_pending(e); + if (!p) { +- r = 1; ++ r = !timedout; + goto finish; + } + diff --git a/0001-umount-modernizations.patch b/0001-umount-modernizations.patch new file mode 100644 index 00000000..1397d155 --- /dev/null +++ b/0001-umount-modernizations.patch @@ -0,0 +1,119 @@ +From c3544e8d2c2d870a2aff0944aff4ab7824b9ae6b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 21:35:15 +0200 +Subject: [PATCH] umount: modernizations + +--- + src/core/umount.c | 65 ++++++++++++++++++++++------------------------------- + 1 file changed, 27 insertions(+), 38 deletions(-) + +diff --git src/core/umount.c src/core/umount.c +index d1258f0..a30f674 100644 +--- src/core/umount.c ++++ src/core/umount.c +@@ -61,52 +61,46 @@ static void mount_points_list_free(MountPoint **head) { + } + + static int mount_points_list_get(MountPoint **head) { +- FILE *proc_self_mountinfo; +- char *path, *p; ++ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; + unsigned int i; +- int r; + + assert(head); + +- if (!(proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"))) ++ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); ++ if (!proc_self_mountinfo) + return -errno; + + for (i = 1;; i++) { +- int k; ++ _cleanup_free_ char *path = NULL; ++ char *p = NULL; + MountPoint *m; ++ int k; + +- path = p = NULL; +- +- if ((k = fscanf(proc_self_mountinfo, +- "%*s " /* (1) mount id */ +- "%*s " /* (2) parent id */ +- "%*s " /* (3) major:minor */ +- "%*s " /* (4) root */ +- "%ms " /* (5) mount point */ +- "%*s" /* (6) mount options */ +- "%*[^-]" /* (7) optional fields */ +- "- " /* (8) separator */ +- "%*s " /* (9) file system type */ +- "%*s" /* (10) mount source */ +- "%*s" /* (11) mount options 2 */ +- "%*[^\n]", /* some rubbish at the end */ +- &path)) != 1) { ++ k = fscanf(proc_self_mountinfo, ++ "%*s " /* (1) mount id */ ++ "%*s " /* (2) parent id */ ++ "%*s " /* (3) major:minor */ ++ "%*s " /* (4) root */ ++ "%ms " /* (5) mount point */ ++ "%*s" /* (6) mount options */ ++ "%*[^-]" /* (7) optional fields */ ++ "- " /* (8) separator */ ++ "%*s " /* (9) file system type */ ++ "%*s" /* (10) mount source */ ++ "%*s" /* (11) mount options 2 */ ++ "%*[^\n]", /* some rubbish at the end */ ++ &path); ++ if (k != 1) { + if (k == EOF) + break; + + log_warning("Failed to parse /proc/self/mountinfo:%u.", i); +- +- free(path); + continue; + } + + p = cunescape(path); +- free(path); +- +- if (!p) { +- r = -ENOMEM; +- goto finish; +- } ++ if (!p) ++ return -ENOMEM; + + /* Ignore mount points we can't unmount because they + * are API or because we are keeping them open (like +@@ -118,22 +112,17 @@ static int mount_points_list_get(MountPoint **head) { + continue; + } + +- if (!(m = new0(MountPoint, 1))) { ++ m = new0(MountPoint, 1); ++ if (!m) { + free(p); +- r = -ENOMEM; +- goto finish; ++ return -ENOMEM; + } + + m->path = p; + LIST_PREPEND(mount_point, *head, m); + } + +- r = 0; +- +-finish: +- fclose(proc_self_mountinfo); +- +- return r; ++ return 0; + } + + static int swap_list_get(MountPoint **head) { +-- +1.7.9.2 + diff --git a/0001-units-order-network-online.target-after-network.targ.patch b/0001-units-order-network-online.target-after-network.targ.patch new file mode 100644 index 00000000..d09fa29e --- /dev/null +++ b/0001-units-order-network-online.target-after-network.targ.patch @@ -0,0 +1,20 @@ +Based on 58e027023b47b32e42cf93dd4a629b869ee1ef25 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 11 Jun 2014 14:58:32 +0200 +Subject: [PATCH] units: order network-online.target after network.target + +There might be implementations around where the network-online logic +might not talk to any network configuration service (and thus not have +to wait for it), hence let's explicitly order network-online.target +after network.target to avoid any ambiguities. +--- + units/network-online.target | 1 + + 1 file changed, 1 insertion(+) + +--- units/network-online.target ++++ units/network-online.target 2014-06-26 00:00:00.000000000 +0000 +@@ -9,3 +9,4 @@ + Description=Network is Online + Documentation=man:systemd.special(7) + Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget ++After=network.target diff --git a/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch b/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch new file mode 100644 index 00000000..6c60f8b7 --- /dev/null +++ b/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch @@ -0,0 +1,29 @@ +Based on 0b73eab7a2185ae0377650e3fdb8208347a8a575 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Sat, 23 Mar 2013 03:54:16 +0100 +Subject: [PATCH] units/systemd-sysctl.service.in: run after load-modules + +Modules might or will register new sysctl options. + +[zj: This mechanism of adding modules just to reliably set sysctl +attributes is not ideal. Nevertheless, sysctl for dynamically created +attributes is simply broken, and this is the easiest workaround.] + +https://bugzilla.redhat.com/show_bug.cgi?id=1022977 +https://bugzilla.novell.com/show_bug.cgi?id=725412 +--- + units/systemd-sysctl.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git units/systemd-sysctl.service.in units/systemd-sysctl.service.in +index 5c7c5d7..ade9dc3 100644 +--- units/systemd-sysctl.service.in ++++ units/systemd-sysctl.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service + DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service ++After=systemd-modules-load.service + Before=sysinit.target shutdown.target + ConditionPathIsReadWrite=/proc/sys/ + ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch new file mode 100644 index 00000000..bf379908 --- /dev/null +++ b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch @@ -0,0 +1,56 @@ +From ff452e76e2c0f89a32542b7179bb2fd538335933 Mon Sep 17 00:00:00 2001 +From: Carl Schaefer +Date: Mon, 23 Jun 2014 18:23:48 +0200 +Subject: [PATCH] vconsole: also copy character maps (not just fonts) from vt1 + to vt2, vt3, ... + +https://bugs.freedesktop.org/show_bug.cgi?id=78796 +--- + src/vconsole/vconsole-setup.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git src/vconsole/vconsole-setup.c src/vconsole/vconsole-setup.c +index 0f2b706..e0c4050 100644 +--- src/vconsole/vconsole-setup.c ++++ src/vconsole/vconsole-setup.c +@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch + */ + static void font_copy_to_all_vcs(int fd) { + struct vt_stat vcs = {}; ++ unsigned char map8[E_TABSZ]; ++ unsigned short map16[E_TABSZ]; ++ struct unimapdesc unimapd; ++ struct unipair unipairs[USHRT_MAX]; + int i, r; + + /* get active, and 16 bit mask of used VT numbers */ +@@ -209,6 +213,26 @@ static void font_copy_to_all_vcs(int fd) { + cfo.op = KD_FONT_OP_COPY; + cfo.height = vcs.v_active-1; /* tty1 == index 0 */ + ioctl(vcfd, KDFONTOP, &cfo); ++ ++ /* copy map of 8bit chars */ ++ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) ++ ioctl(vcfd, PIO_SCRNMAP, map8); ++ ++ /* copy map of 8bit chars -> 16bit Unicode values */ ++ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) ++ ioctl(vcfd, PIO_UNISCRNMAP, map16); ++ ++ /* copy unicode translation table */ ++ /* unimapd is a ushort count and a pointer to an ++ array of struct unipair { ushort, ushort } */ ++ unimapd.entries = unipairs; ++ unimapd.entry_ct = USHRT_MAX; ++ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { ++ struct unimapinit adv = { 0, 0, 0 }; ++ ++ ioctl(vcfd, PIO_UNIMAPCLR, &adv); ++ ioctl(vcfd, PIO_UNIMAP, &unimapd); ++ } + } + } + +-- +1.7.9.2 + diff --git a/0001-virt-rework-container-detection-logic.patch b/0001-virt-rework-container-detection-logic.patch new file mode 100644 index 00000000..4adc20a2 --- /dev/null +++ b/0001-virt-rework-container-detection-logic.patch @@ -0,0 +1,159 @@ +Based on fdd25311706bd32580ec4d43211cdf4665d2f9de Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 28 May 2014 18:37:11 +0800 +Subject: [PATCH] virt: rework container detection logic + +Instead of accessing /proc/1/environ directly, trying to read the +$container variable from it, let's make PID 1 save the contents of that +variable to /run/systemd/container. This allows us to detect containers +without the need for CAP_SYS_PTRACE, which allows us to drop it from a +number of daemons and from the file capabilities of systemd-detect-virt. + +Also, don't consider chroot a container technology anymore. After all, +we don't consider file system namespaces container technology anymore, +and hence chroot() should be considered a container even less. +--- + Makefile.am | 3 --- + configure.ac | 2 -- + src/core/main.c | 12 ++++++++++++ + src/shared/virt.c | 48 ++++++++++++++++++++++++++++++------------------ + 4 files changed, 42 insertions(+), 23 deletions(-) + +diff --git Makefile.am Makefile.am +index 5b26bc3..f66ef42 100644 +--- Makefile.am ++++ Makefile.am +@@ -1798,9 +1798,6 @@ systemd_detect_virt_SOURCES = \ + systemd_detect_virt_LDADD = \ + libsystemd-shared.la + +-systemd-detect-virt-install-hook: +- -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt +- + INSTALL_EXEC_HOOKS += \ + systemd-detect-virt-install-hook + +--- configure.ac ++++ configure.ac 2014-06-03 14:16:45.046237826 +0000 +@@ -68,8 +68,6 @@ AC_PATH_PROG([XSLTPROC], [xsltproc]) + AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon]) + AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck]) + +-AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap]) +- + AC_PATH_PROG([KILL], [kill], [/usr/bin/kill]) + + AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod]) +diff --git src/core/main.c src/core/main.c +index 77cc2fb..d5d1ee2 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1261,6 +1261,16 @@ static int status_welcome(void) { + isempty(pretty_name) ? "Linux" : pretty_name); + } + ++static int write_container_id(void) { ++ const char *c; ++ ++ c = getenv("container"); ++ if (isempty(c)) ++ return 0; ++ ++ return write_string_file("/run/systemd/container", c); ++} ++ + int main(int argc, char *argv[]) { + Manager *m = NULL; + int r, retval = EXIT_FAILURE; +@@ -1544,6 +1554,8 @@ int main(int argc, char *argv[]) { + if (virtualization) + log_info("Detected virtualization '%s'.", virtualization); + ++ write_container_id(); ++ + log_info("Detected architecture '%s'.", architecture_to_string(uname_architecture())); + + if (in_initrd()) +diff --git src/shared/virt.c src/shared/virt.c +index 0db0514..1e227c5 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -217,8 +217,8 @@ int detect_container(const char **id) { + static thread_local int cached_found = -1; + static thread_local const char *cached_id = NULL; + +- _cleanup_free_ char *e = NULL; +- const char *_id = NULL; ++ _cleanup_free_ char *m = NULL; ++ const char *_id = NULL, *e = NULL; + int r; + + if (_likely_(cached_found >= 0)) { +@@ -229,17 +229,6 @@ int detect_container(const char **id) { + return cached_found; + } + +- /* Unfortunately many of these operations require root access +- * in one way or another */ +- +- r = running_in_chroot(); +- if (r < 0) +- return r; +- if (r > 0) { +- _id = "chroot"; +- goto finish; +- } +- + /* /proc/vz exists in container and outside of the container, + * /proc/bc only outside of the container. */ + if (access("/proc/vz", F_OK) >= 0 && +@@ -249,11 +238,32 @@ int detect_container(const char **id) { + goto finish; + } + +- r = getenv_for_pid(1, "container", &e); +- if (r < 0) +- return r; +- if (r == 0) +- goto finish; ++ if (getpid() == 1) { ++ /* If we are PID 1 we can just check our own ++ * environment variable */ ++ ++ e = getenv("container"); ++ if (isempty(e)) { ++ r = 0; ++ goto finish; ++ } ++ } else { ++ ++ /* Otherwise, PID 1 dropped this information into a ++ * file in /run. This is better than accessing ++ * /proc/1/environ, since we don't need CAP_SYS_PTRACE ++ * for that. */ ++ ++ r = read_one_line_file("/run/systemd/container", &m); ++ if (r == -ENOENT) { ++ r = 0; ++ goto finish; ++ } ++ if (r < 0) ++ return r; ++ ++ e = m; ++ } + + /* We only recognize a selected few here, since we want to + * enforce a redacted namespace */ +@@ -266,6 +276,8 @@ int detect_container(const char **id) { + else + _id = "other"; + ++ r = 1; ++ + finish: + cached_found = r; + +-- +1.7.9.2 + diff --git a/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch b/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch new file mode 100644 index 00000000..3961c020 --- /dev/null +++ b/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch @@ -0,0 +1,59 @@ +From b27adf354a83ad25f4a209c0a6f7989ecab7b4e2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 13:31:25 +0200 +Subject: [PATCH] bus: make use of sd_bus_try_close() in exit-on-idle services + +--- + src/libsystemd/sd-bus/bus-util.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c +index 6bd21cc..6441c5b 100644 +--- src/libsystemd/sd-bus/bus-util.c ++++ src/libsystemd/sd-bus/bus-util.c +@@ -43,7 +43,9 @@ static int name_owner_change_callback(sd_bus *bus, sd_bus_message *m, void *user + assert(m); + assert(e); + ++ sd_bus_close(bus); + sd_event_exit(e, 0); ++ + return 1; + } + +@@ -121,11 +123,30 @@ int bus_event_loop_with_idle( + return r; + + if (r == 0 && !exiting) { +- r = bus_async_unregister_and_exit(e, bus, name); ++ ++ r = sd_bus_try_close(bus); ++ if (r == -EBUSY) ++ continue; ++ ++ if (r == -ENOTSUP) { ++ /* Fallback for dbus1 connections: we ++ * unregister the name and wait for ++ * the response to come through for ++ * it */ ++ ++ r = bus_async_unregister_and_exit(e, bus, name); ++ if (r < 0) ++ return r; ++ ++ exiting = true; ++ continue; ++ } ++ + if (r < 0) + return r; + +- exiting = true; ++ sd_event_exit(e, 0); ++ break; + } + } + +-- +1.7.9.2 + diff --git a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch new file mode 100644 index 00000000..ec455770 --- /dev/null +++ b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch @@ -0,0 +1,27 @@ +From cdd7b7dfd44649b204c43e907f03d4294de4f28a Mon Sep 17 00:00:00 2001 +From: Hristo Venev +Date: Mon, 23 Jun 2014 18:53:04 +0200 +Subject: [PATCH] core: make sure Environment fields passed in for transient + units are properly written to unit files + +https://bugs.freedesktop.org/show_bug.cgi?id=76744 +--- + src/core/dbus-execute.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/dbus-execute.c src/core/dbus-execute.c +index cb9a077..ecbadd7 100644 +--- src/core/dbus-execute.c ++++ src/core/dbus-execute.c +@@ -848,7 +848,7 @@ int bus_exec_context_set_transient_property( + strv_free(c->environment); + c->environment = e; + +- joined = strv_join(c->environment, " "); ++ joined = strv_join_quoted(c->environment); + if (!joined) + return -ENOMEM; + +-- +1.7.9.2 + diff --git a/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch b/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch new file mode 100644 index 00000000..61888e5f --- /dev/null +++ b/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch @@ -0,0 +1,42 @@ +From 375ae4aa4d2f89ae8afdd27e9f2b8336fcc2a046 Mon Sep 17 00:00:00 2001 +From: Uoti Urpala +Date: Mon, 23 Jun 2014 16:50:03 +0300 +Subject: [PATCH] core/transaction: fix cycle break attempts outside + transaction + +Patch fixes some incorrect-looking code in transaction.c. +It could fix cases where Debian users with bad package configurations +had systemd go into an infinite loop printing messages about breaking an +ordering cycle, though I have not reproduced that problem myself. + +transaction_verify_order_one() considers jobs/units outside current +transaction when checking whether ordering dependencies cause cycles. +It would also incorrectly try to break cycles at these jobs; this +cannot work, as the break action is to remove the job from the +transaction, which is a no-op if the job isn't part of the transaction +to begin with. The unit_matters_to_anchor() test also looks like it +would not work correctly for non-transaction jobs. Add a check to +verify that the unit is part of the transaction before considering a +job a candidate for deletion. + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752259 +--- + src/core/transaction.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/transaction.c src/core/transaction.c +index d23a45c..805d40a 100644 +--- src/core/transaction.c ++++ src/core/transaction.c +@@ -381,7 +381,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + "Found dependency on %s/%s", + k->unit->id, job_type_to_string(k->type)); + +- if (!delete && ++ if (!delete && hashmap_get(tr->jobs, k->unit) && + !unit_matters_to_anchor(k->unit, k)) { + /* Ok, we can drop this one, so let's + * do so. */ +-- +1.7.9.2 + diff --git a/0002-fsck-include-device-name-in-the-message-about-missin.patch b/0002-fsck-include-device-name-in-the-message-about-missin.patch new file mode 100644 index 00000000..7ec3506f --- /dev/null +++ b/0002-fsck-include-device-name-in-the-message-about-missin.patch @@ -0,0 +1,26 @@ +Based on 8d2a6145334257c8a9ceabc9dd52dff06cca818e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 26 May 2014 23:03:11 -0400 +Subject: [PATCH] fsck: include device name in the message about missing fsck + +--- + src/fsck/fsck.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- src/fsck/fsck.c ++++ src/fsck/fsck.c 2014-06-03 14:15:15.746235301 +0000 +@@ -284,10 +284,12 @@ int main(int argc, char *argv[]) { + r = access(checker, X_OK); + if (r < 0) { + if (errno == ENOENT) { +- log_info("%s doesn't exist, not checking file system.", checker); ++ log_info("%s doesn't exist, not checking file system on %s", ++ checker, device); + return EXIT_SUCCESS; + } else +- log_warning("%s cannot be used: %m", checker); ++ log_warning("%s cannot be used for %s: %m", ++ checker, device); + } + } + diff --git a/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch b/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch new file mode 100644 index 00000000..dfbf403c --- /dev/null +++ b/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch @@ -0,0 +1,122 @@ +Based on 6d313367d9ef780560e117e886502a99fa220eac Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 21:35:35 +0200 +Subject: [PATCH] namespace: when setting up an inaccessible mount point, + unmounting everything below + +This has the benefit of not triggering any autofs mount points +unnecessarily. + +--- + src/core/namespace.c | 6 ++++ + src/shared/util.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/shared/util.h | 2 + + 3 files changed, 76 insertions(+) + +--- src/core/namespace.c ++++ src/core/namespace.c 2014-06-11 00:00:00.000000000 +0000 +@@ -220,6 +220,12 @@ static int apply_mount( + return mount_dev(m); + + case INACCESSIBLE: ++ ++ /* First, get rid of everything that is below if there ++ * is anything... Then, overmount it with an ++ * inaccessible directory. */ ++ umount_recursive(m->path, 0); ++ + what = "/run/systemd/inaccessible"; + break; + +--- src/shared/util.c ++++ src/shared/util.c 2014-06-11 00:00:00.000000000 +0000 +@@ -54,6 +54,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -4635,6 +4636,73 @@ char *strjoin(const char *x, ...) { + return r; + } + ++int umount_recursive(const char *prefix, int flags) { ++ bool again; ++ int n = 0, r; ++ ++ /* Try to umount everything recursively below a ++ * directory. Also, take care of stacked mounts, and keep ++ * unmounting them until they are gone. */ ++ ++ do { ++ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; ++ ++ again = false; ++ r = 0; ++ ++ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); ++ if (!proc_self_mountinfo) ++ return -errno; ++ ++ for (;;) { ++ _cleanup_free_ char *path = NULL, *p = NULL; ++ int k; ++ ++ k = fscanf(proc_self_mountinfo, ++ "%*s " /* (1) mount id */ ++ "%*s " /* (2) parent id */ ++ "%*s " /* (3) major:minor */ ++ "%*s " /* (4) root */ ++ "%ms " /* (5) mount point */ ++ "%*s" /* (6) mount options */ ++ "%*[^-]" /* (7) optional fields */ ++ "- " /* (8) separator */ ++ "%*s " /* (9) file system type */ ++ "%*s" /* (10) mount source */ ++ "%*s" /* (11) mount options 2 */ ++ "%*[^\n]", /* some rubbish at the end */ ++ &path); ++ ++ if (k != 1) { ++ if (k == EOF) ++ break; ++ ++ continue; ++ } ++ ++ p = cunescape(path); ++ if (!p) ++ return -ENOMEM; ++ ++ if (!path_startswith(p, prefix)) ++ continue; ++ ++ if (umount2(p, flags) < 0) { ++ r = -errno; ++ continue; ++ } ++ ++ again = true; ++ n++; ++ ++ break; ++ } ++ ++ } while (again); ++ ++ return r ? r : n; ++} ++ + bool is_main_thread(void) { + static thread_local int cached = 0; + +--- src/shared/util.h ++++ src/shared/util.h 2014-06-11 10:10:08.000000000 +0000 +@@ -890,3 +890,5 @@ union file_handle_union { + struct file_handle handle; + char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; + }; ++ ++int umount_recursive(const char *target, int flags); diff --git a/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch b/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch new file mode 100644 index 00000000..58189d0f --- /dev/null +++ b/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch @@ -0,0 +1,18 @@ +Basedo n a55954297dade7b432fd3a4f328f23261621ff79 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 19 Jun 2014 19:53:16 +0200 +Subject: [PATCH] units: add missing caps so that GetAddresses() can work + +--- + units/systemd-machined.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- units/systemd-machined.service.in ++++ units/systemd-machined.service.in 2014-06-24 11:26:19.554235869 +0000 +@@ -15,5 +15,5 @@ After=machine.slice + [Service] + ExecStart=@rootlibexecdir@/systemd-machined + BusName=org.freedesktop.machine1 +-CapabilityBoundingSet=CAP_KILL ++CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID + WatchdogSec=1min diff --git a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch new file mode 100644 index 00000000..8305035f --- /dev/null +++ b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch @@ -0,0 +1,32 @@ +From d1d8e5d49f3149d03ceb94d1d2f6c14e7abccb6f Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret +Date: Tue, 22 Apr 2014 10:33:25 +0200 +Subject: [PATCH] core: You can not put the cached result of use_smack fct, as + we are not sure the "/sys" is mounted. So we should mount + "sys" before "/proc" + +https://bugs.freedesktop.org/show_bug.cgi?id=77646 +--- + src/core/mount-setup.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index ae8447c..991bfdf 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -67,10 +67,10 @@ typedef struct MountPoint { + #define N_EARLY_MOUNT 5 + + static const MountPoint mount_table[] = { +- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +- NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +-- +1.7.9.2 + diff --git a/0003-core-allow-transient-mount-units.patch b/0003-core-allow-transient-mount-units.patch new file mode 100644 index 00000000..607bdaea --- /dev/null +++ b/0003-core-allow-transient-mount-units.patch @@ -0,0 +1,115 @@ +From 0e252f6b375af59eac9bd6d2fe8dd6ee2f51998d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 6 Jun 2014 15:10:20 +0200 +Subject: [PATCH] core: allow transient mount units + +For now only What=, Options=, Type= are supported, and Where= is deduced +from the unit name. +--- + src/core/dbus-mount.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++- + src/core/mount.c | 2 ++ + 2 files changed, 65 insertions(+), 1 deletion(-) + +diff --git src/core/dbus-mount.c src/core/dbus-mount.c +index e64d3ea..e27019d 100644 +--- src/core/dbus-mount.c ++++ src/core/dbus-mount.c +@@ -124,6 +124,47 @@ const sd_bus_vtable bus_mount_vtable[] = { + SD_BUS_VTABLE_END + }; + ++static int bus_mount_set_transient_property( ++ Mount *m, ++ const char *name, ++ sd_bus_message *message, ++ UnitSetPropertiesMode mode, ++ sd_bus_error *error) { ++ ++ const char *new_property; ++ char **property; ++ char *p; ++ int r; ++ ++ assert(m); ++ assert(name); ++ assert(message); ++ ++ if (streq(name, "What")) ++ property = &m->parameters_fragment.what; ++ else if (streq(name, "Options")) ++ property = &m->parameters_fragment.options; ++ else if (streq(name, "Type")) ++ property = &m->parameters_fragment.fstype; ++ else ++ return 0; ++ ++ r = sd_bus_message_read(message, "s", &new_property); ++ if (r < 0) ++ return r; ++ ++ if (mode != UNIT_CHECK) { ++ p = strdup(new_property); ++ if (!p) ++ return -ENOMEM; ++ ++ free(*property); ++ *property = p; ++ } ++ ++ return 1; ++} ++ + int bus_mount_set_property( + Unit *u, + const char *name, +@@ -132,12 +173,33 @@ int bus_mount_set_property( + sd_bus_error *error) { + + Mount *m = MOUNT(u); ++ int r; + + assert(m); + assert(name); + assert(message); + +- return bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); ++ r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); ++ if (r != 0) ++ return r; ++ ++ if (u->transient && u->load_state == UNIT_STUB) { ++ /* This is a transient unit, let's load a little more */ ++ ++ r = bus_mount_set_transient_property(m, name, message, mode, error); ++ if (r != 0) ++ return r; ++ ++ r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, mode, error); ++ if (r != 0) ++ return r; ++ ++ r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, mode, error); ++ if (r != 0) ++ return r; ++ } ++ ++ return 0; + } + + int bus_mount_commit_properties(Unit *u) { +diff --git src/core/mount.c src/core/mount.c +index a979837..14ac0a0 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1819,6 +1819,8 @@ const UnitVTable mount_vtable = { + + .get_timeout = mount_get_timeout, + ++ .can_transient = true, ++ + .enumerate = mount_enumerate, + .shutdown = mount_shutdown, + +-- +1.7.9.2 + diff --git a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch new file mode 100644 index 00000000..8c53718c --- /dev/null +++ b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch @@ -0,0 +1,98 @@ +Based on 571d0134bd464444567cf4eb0d2ed8df40045f36 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 24 Jun 2014 19:37:22 +0200 +Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true + non-existant + +--- + src/fsck/fsck.c | 32 ++++++++++++++++++++++---------- + src/shared/path-util.c | 26 +++++++++++++++----------- + 2 files changed, 37 insertions(+), 21 deletions(-) + +--- src/fsck/fsck.c ++++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 +@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { + + type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); + if (type) { +- const char *checker = strappenda("/sbin/fsck.", type); +- r = access(checker, X_OK); +- if (r < 0) { +- if (errno == ENOENT) { +- log_info("%s doesn't exist, not checking file system on %s", +- checker, device); +- return EXIT_SUCCESS; +- } else +- log_warning("%s cannot be used for %s: %m", +- checker, device); ++ _cleanup_free_ char *p = NULL, *d = NULL; ++ const char *checker = strappenda("fsck.", type); ++ r = find_binary(checker, &p); ++ if (r == -ENOENT) { ++ log_info("fsck.%s doesn't exist, not checking file system on %s", ++ type, device); ++ return EXIT_SUCCESS; ++ } else if (r < 0) { ++ log_warning("fsck.%s cannot be used for %s: %m", ++ type, device); ++ return r; ++ } ++ ++ /* An fsck that is linked to /bin/true is a non-existant fsck */ ++ r = readlink_malloc(p, &d); ++ if (r >= 0 && ++ (path_equal(d, "/bin/true") || ++ path_equal(d, "/usr/bin/true") || ++ path_equal(d, "/dev/null"))) { ++ log_info("fsck.%s doesn't exist, not checking file system on %s", ++ type, device); ++ return EXIT_SUCCESS; + } + } + +--- src/shared/path-util.c ++++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +@@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { + + int find_binary(const char *name, char **filename) { + assert(name); +- assert(filename); + +- if (strchr(name, '/')) { +- char *p; ++ if (is_path(name)) { ++ if (access(name, X_OK) < 0) ++ return -errno; ++ ++ if (filename) { ++ char *p; + +- if (path_is_absolute(name)) +- p = strdup(name); +- else + p = path_make_absolute_cwd(name); +- if (!p) +- return -ENOMEM; ++ if (!p) ++ return -ENOMEM; ++ ++ *filename = p; ++ } + +- *filename = p; + return 0; + } else { + const char *path; +@@ -463,8 +465,10 @@ int find_binary(const char *name, char * + continue; + } + +- path_kill_slashes(p); +- *filename = p; ++ if (filename) { ++ path_kill_slashes(p); ++ *filename = p; ++ } + + return 0; + } diff --git a/0003-install-fix-invalid-free-in-unit_file_mask.patch b/0003-install-fix-invalid-free-in-unit_file_mask.patch new file mode 100644 index 00000000..0fe0581b --- /dev/null +++ b/0003-install-fix-invalid-free-in-unit_file_mask.patch @@ -0,0 +1,30 @@ +From 223217749e57996336d5730b0a28716cca56d45d Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Fri, 13 Jun 2014 18:48:18 +0200 +Subject: [PATCH] install: fix invalid free() in unit_file_mask() + +int unit_file_mask(...) in ./src/shared/install.c calls +get_config_path(...) which can in 4 error cases return without setting +"ret", and thus "prefix" can be uninitialized when unit_file_mask(...) +finishes (which it does directly after the error is returned from +get_config_path(...)). +--- + src/shared/install.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/install.c src/shared/install.c +index 487d0f6..f562063 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -563,7 +563,7 @@ int unit_file_mask( + unsigned *n_changes) { + + char **i; +- _cleanup_free_ char *prefix; ++ _cleanup_free_ char *prefix = NULL; + int r; + + assert(scope >= 0); +-- +1.7.9.2 + diff --git a/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch b/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch new file mode 100644 index 00000000..5f466ea6 --- /dev/null +++ b/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch @@ -0,0 +1,26 @@ +Based on 497d1986c13032f1ef8f4592bb7ed8d3aa321a47 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 20 Jun 2014 00:15:39 +0200 +Subject: [PATCH] units: order systemd-tmpfiles-clean.service after + time-sync.target + +That way, on systems lacking an RTC we don't false start removing aged +files too early. +--- + units/systemd-tmpfiles-clean.service.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- units/systemd-tmpfiles-clean.service.in ++++ units/systemd-tmpfiles-clean.service.in 2014-06-24 10:47:57.398235644 +0000 +@@ -10,8 +10,9 @@ Description=Cleanup of Temporary Directo + Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) + DefaultDependencies=no + Wants=local-fs.target +-After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target +-Before=sysinit.target shutdown.target ++Conflicts=shutdown.target ++After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target ++Before=shutdown.target + ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/etc/tmpfiles.d diff --git a/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch b/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch new file mode 100644 index 00000000..15c8d7f5 --- /dev/null +++ b/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch @@ -0,0 +1,26 @@ +From d8e40d62ab871a87fde421c4b246bb45bc3cbe2d Mon Sep 17 00:00:00 2001 +From: Jonathan Liu +Date: Thu, 29 May 2014 01:17:25 +1000 +Subject: [PATCH] units: use KillMode=mixed for systemd-nspawn@.service + +This causes the container to shut down cleanly when the service is +stopped. +--- + units/systemd-nspawn@.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git units/systemd-nspawn@.service.in units/systemd-nspawn@.service.in +index ff36e90..e373628 100644 +--- units/systemd-nspawn@.service.in ++++ units/systemd-nspawn@.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1) + + [Service] + ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i ++KillMode=mixed + Type=notify + + [Install] +-- +1.7.9.2 + diff --git a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch new file mode 100644 index 00000000..4bed22a5 --- /dev/null +++ b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch @@ -0,0 +1,53 @@ +Based on bde29068aa3815c88190a91e9867605a0aeaf9c4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 23 Jun 2014 19:18:44 +0200 +Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices + when it is listed as password file + +As special magic, don't create device dependencies for /dev/null. Of +course, there might be similar devices we might want to include, but +given that none of them really make sense to specify as password source +there's really no point in checking for anything else here. + +https://bugs.freedesktop.org/show_bug.cgi?id=75816 +--- + src/cryptsetup/cryptsetup-generator.c | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +--- src/cryptsetup/cryptsetup-generator.c ++++ src/cryptsetup/cryptsetup-generator.c 2014-06-25 17:24:14.338237375 +0000 +@@ -29,6 +29,7 @@ + #include "mkdir.h" + #include "strv.h" + #include "fileio.h" ++#include "path-util.h" + + static const char *arg_dest = "/tmp"; + static bool arg_enabled = true; +@@ -141,14 +142,18 @@ static int create_disk( + if (uu == NULL) + return log_oom(); + +- if (is_device_path(uu)) { +- _cleanup_free_ char *dd = unit_name_from_path(uu, ".device"); +- if (dd == NULL) +- return log_oom(); +- +- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); +- } else +- fprintf(f, "RequiresMountsFor=%s\n", password); ++ if (!path_equal(uu, "/dev/null")) { ++ if (is_device_path(uu)) { ++ _cleanup_free_ char *dd; ++ ++ dd = unit_name_from_path(uu, ".device"); ++ if (!dd) ++ return log_oom(); ++ ++ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); ++ } else ++ fprintf(f, "RequiresMountsFor=%s\n", password); ++ } + } + } + diff --git a/0004-getty-generator-properly-escape-instance-names.patch b/0004-getty-generator-properly-escape-instance-names.patch new file mode 100644 index 00000000..26feb694 --- /dev/null +++ b/0004-getty-generator-properly-escape-instance-names.patch @@ -0,0 +1,39 @@ +From a2ae516a25dafe41e0cd296ab7b5d022fa62b95f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 19 Jun 2014 22:02:55 -0400 +Subject: [PATCH] getty-generator: properly escape instance names + +Otherwise the add_symlink() function tries to make directories for +each slash even for the slash after the @ symbol in the final link +name, failing for /dev/3270/tty1. + +Based on a patch by Werner Fink . +--- + src/getty-generator/getty-generator.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/getty-generator/getty-generator.c src/getty-generator/getty-generator.c +index 35cd858..7d4b546 100644 +--- src/getty-generator/getty-generator.c ++++ src/getty-generator/getty-generator.c +@@ -67,7 +67,7 @@ static int add_serial_getty(const char *tty) { + + log_debug("Automatically adding serial getty for /dev/%s.", tty); + +- n = unit_name_replace_instance("serial-getty@.service", tty); ++ n = unit_name_from_path_instance("serial-getty", tty, ".service"); + if (!n) + return log_oom(); + +@@ -81,7 +81,7 @@ static int add_container_getty(const char *tty) { + + log_debug("Automatically adding container getty for /dev/pts/%s.", tty); + +- n = unit_name_replace_instance("container-getty@.service", tty); ++ n = unit_name_from_path_instance("container-getty", tty, ".service"); + if (!n) + return log_oom(); + +-- +1.7.9.2 + diff --git a/0004-systemd-detect-virt-only-discover-Xen-domU.patch b/0004-systemd-detect-virt-only-discover-Xen-domU.patch new file mode 100644 index 00000000..246e09b3 --- /dev/null +++ b/0004-systemd-detect-virt-only-discover-Xen-domU.patch @@ -0,0 +1,79 @@ +From 37287585b6ba9a55065c8f94458f6db3c0abe0af Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Fri, 6 Jun 2014 16:36:45 +0200 +Subject: [PATCH] systemd-detect-virt: only discover Xen domU + +The current vm detection lacks the distinction between Xen dom0 and Xen domU. +Both, dom0 and domU are running inside the hypervisor. +Therefore systemd-detect-virt and the ConditionVirtualization directive detect +dom0 as a virtual machine. + +dom0 is not using virtual devices but is accessing the real hardware. +Therefore dom0 should be considered the virtualisation host and not a virtual +machine. + +https://bugs.freedesktop.org/show_bug.cgi?id=77271 +--- + src/shared/virt.c | 34 +++++++++++++++++++++++++++------- + 1 file changed, 27 insertions(+), 7 deletions(-) + +diff --git src/shared/virt.c src/shared/virt.c +index 1e227c5..774915f 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -148,7 +148,7 @@ static int detect_vm_dmi(const char **_id) { + + /* Returns a short identifier for the various VM implementations */ + int detect_vm(const char **id) { +- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; ++ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; + static thread_local int cached_found = -1; + static thread_local const char *cached_id = NULL; + const char *_id = NULL; +@@ -162,17 +162,37 @@ int detect_vm(const char **id) { + return cached_found; + } + +- /* Try high-level hypervisor sysfs file first: ++ /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file: + * +- * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ +- r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */ ++ r = read_one_line_file("/proc/xen/capabilities", &domcap); + if (r >= 0) { +- if (streq(hvtype, "xen")) { ++ char *cap, *i = domcap; ++ ++ while ((cap = strsep(&i, ","))) ++ if (streq(cap, "control_d")) ++ break; ++ ++ if (!i) { + _id = "xen"; + r = 1; +- goto finish; + } +- } else if (r != -ENOENT) ++ ++ goto finish; ++ ++ } else if (r == -ENOENT) { ++ _cleanup_free_ char *hvtype = NULL; ++ ++ r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ if (r >= 0) { ++ if (streq(hvtype, "xen")) { ++ _id = "xen"; ++ r = 1; ++ goto finish; ++ } ++ } else if (r != -ENOENT) ++ return r; ++ } else + return r; + + /* this will set _id to "other" and return 0 for unknown hypervisors */ +-- +1.7.9.2 + diff --git a/0004-util-ignore_file-should-not-allow-files-ending-with.patch b/0004-util-ignore_file-should-not-allow-files-ending-with.patch new file mode 100644 index 00000000..a30b4c4f --- /dev/null +++ b/0004-util-ignore_file-should-not-allow-files-ending-with.patch @@ -0,0 +1,28 @@ +From 93f1a06374e335e8508d89e1bdaadf45be6ab777 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 31 May 2014 21:36:23 +0200 +Subject: [PATCH] util: ignore_file should not allow files ending with '~' + +ignore_file currently allows any file ending with '~' while it +seems that the opposite was intended: +a228a22fda4faa9ecb7c5a5e499980c8ae5d2a08 +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/util.c src/shared/util.c +index 0c27394..17b0ae1 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1371,7 +1371,7 @@ bool ignore_file(const char *filename) { + assert(filename); + + if (endswith(filename, "~")) +- return false; ++ return true; + + return ignore_file_allow_backup(filename); + } +-- +1.7.9.2 + diff --git a/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch b/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch new file mode 100644 index 00000000..37c42d2e --- /dev/null +++ b/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch @@ -0,0 +1,60 @@ +From 4cd2b2cf8ca585d15ebc859701b346658262b5bb Mon Sep 17 00:00:00 2001 +From: Denis Tikhomirov +Date: Thu, 5 Jun 2014 23:59:40 +0400 +Subject: [PATCH] backlight: Do not clamp brightness for LEDs + +https://bugs.freedesktop.org/show_bug.cgi?id=77092 + +On Thu, Jun 05, 2014 at 08:37:20AM +0200, Lennart Poettering wrote: +> The patch is line-broken, please send an uncorrupted patch! +I am very sorry, I forgot that my client limits line width. I will use +mutt now on. +> clamp_brightness() clamps the brightness value to the range of the +> actual device. This is a recent addition that was added to deal with +> driver updates where the resolution is changed. I don't think this part +> should be dropped for LED devices. The clamp_brightness() call hence +> should be called unconditionally, however, internally it should use a +> different min_brightness value if something is an !backlight devices... +Thank you for explanation, this sounds very reasonable to me. Please, +see updated patch: +--- + src/backlight/backlight.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 691472c..4d94ebf 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -225,11 +225,13 @@ static unsigned get_max_brightness(struct udev_device *device) { + + /* Some systems turn the backlight all the way off at the lowest levels. + * clamp_brightness clamps the saved brightness to at least 1 or 5% of +- * max_brightness. This avoids preserving an unreadably dim screen, which +- * would otherwise force the user to disable state restoration. */ ++ * max_brightness in case of 'backlight' subsystem. This avoids preserving ++ * an unreadably dim screen, which would otherwise force the user to ++ * disable state restoration. */ + static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { + int r; + unsigned brightness, new_brightness, min_brightness; ++ const char *subsystem; + + r = safe_atou(*value, &brightness); + if (r < 0) { +@@ -237,7 +239,12 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned + return; + } + +- min_brightness = MAX(1U, max_brightness/20); ++ subsystem = udev_device_get_subsystem(device); ++ if (streq_ptr(subsystem, "backlight")) ++ min_brightness = MAX(1U, max_brightness/20); ++ else ++ min_brightness = 0; ++ + new_brightness = CLAMP(brightness, min_brightness, max_brightness); + if (new_brightness != brightness) { + char *old_value = *value; +-- +1.7.9.2 + diff --git a/0005-man-fix-path-in-crypttab-5.patch b/0005-man-fix-path-in-crypttab-5.patch new file mode 100644 index 00000000..d0aef604 --- /dev/null +++ b/0005-man-fix-path-in-crypttab-5.patch @@ -0,0 +1,26 @@ +From 9fcdf32294e66f91d2a177f73a77049832768311 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 23 Jun 2014 23:07:53 -0400 +Subject: [PATCH] man: fix path in crypttab(5) + +https://bugs.freedesktop.org/show_bug.cgi?id=75816 +--- + man/crypttab.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git man/crypttab.xml man/crypttab.xml +index 668e51d..9030015 100644 +--- man/crypttab.xml ++++ man/crypttab.xml +@@ -369,7 +369,7 @@ + luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b + swap /dev/sda7 /dev/urandom swap + truecrypt /dev/sda2 /etc/container_password tcrypt +-hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile ++hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile + + + +-- +1.7.9.2 + diff --git a/0005-po-add-Greek-translation.patch b/0005-po-add-Greek-translation.patch new file mode 100644 index 00000000..029ce4fa --- /dev/null +++ b/0005-po-add-Greek-translation.patch @@ -0,0 +1,436 @@ +From 3d89c35c2ae08c3fbf1a037c4df54c8e5ae56faf Mon Sep 17 00:00:00 2001 +From: Dimitris Spingos +Date: Wed, 7 May 2014 18:27:02 +0200 +Subject: [PATCH] po: add Greek translation + +https://bugs.freedesktop.org/show_bug.cgi?id=78064 +--- + po/LINGUAS | 3 +- + po/el.po | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 406 insertions(+), 1 deletion(-) + create mode 100644 po/el.po + +diff --git po/LINGUAS po/LINGUAS +index 0301751..820ca82 100644 +--- po/LINGUAS ++++ po/LINGUAS +@@ -1,4 +1,5 @@ ++el + fr ++it + pl + ru +-it +diff --git po/el.po po/el.po +new file mode 100644 +index 0000000..1570565 +--- /dev/null ++++ po/el.po +@@ -0,0 +1,404 @@ ++# Greek translation for systemd. ++# Copyright (C) 2014 systemd's COPYRIGHT HOLDER ++# This file is distributed under the same license as the systemd package. ++# Dimitris Spingos , 2014. ++# Dimitris Spingos (Δημήτρης Σπίγγος) , 2014. ++msgid "" ++msgstr "" ++"Project-Id-Version: systemd master\n" ++"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" ++"temd&keywords=I18N+L10N&component=general\n" ++"POT-Creation-Date: 2014-04-25 15:51+0000\n" ++"PO-Revision-Date: 2014-04-29 09:17+0300\n" ++"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) \n" ++"Language-Team: team@lists.gnome.gr\n" ++"Language: el\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Virtaal 0.7.0\n" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 ++msgid "Set host name" ++msgstr "Ορισμός ονόματος οικοδεσπότη" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 ++msgid "Authentication is required to set the local host name." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 ++msgid "Set static host name" ++msgstr "Ορισμός στατικού ονόματος οικοδεσπότη" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 ++msgid "" ++"Authentication is required to set the statically configured local host name, " ++"as well as the pretty host name." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ορίσετε το στατικά ρυθμισμένο όνομα τοπικού " ++"οικοδεσπότη, καθώς και το pretty όνομα οικοδεσπότη." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 ++msgid "Set machine information" ++msgstr "Ορισμός πληροφοριών μηχανής" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 ++msgid "Authentication is required to set local machine information." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε πληροφορίες τοπικής μηχανής." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 ++msgid "Set system locale" ++msgstr "Ορισμός τοπικών ρυθμίσεων συστήματος" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 ++msgid "Authentication is required to set the system locale." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ορίσετε τις τοπικές ρυθμίσεις του συστήματος." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 ++msgid "Set system keyboard settings" ++msgstr "Ορισμός ρυθμίσεων πληκτρολογίου συστήματος" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 ++msgid "Authentication is required to set the system keyboard settings." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ορίσετε τις ρυθμίσεις πληκτρολογίου του " ++"συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:1 ++msgid "Allow applications to inhibit system shutdown" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τον τερματισμό του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:2 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"shutdown." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει τον " ++"τερματισμό του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:3 ++msgid "Allow applications to delay system shutdown" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να καθυστερούν τον τερματισμό του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:4 ++msgid "" ++"Authentication is required to allow an application to delay system shutdown." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " ++"τον τερματισμό του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:5 ++msgid "Allow applications to inhibit system sleep" ++msgstr "Να επιτρέπεται στις εφαρμογές να αποτρέπουν την ύπνωση του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:6 ++msgid "" ++"Authentication is required to allow an application to inhibit system sleep." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"ύπνωση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:7 ++msgid "Allow applications to delay system sleep" ++msgstr "Να επιτρέπεται στις εφαρμογές να καθυστερούν την ύπνωση του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:8 ++msgid "" ++"Authentication is required to allow an application to delay system sleep." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " ++"την ύπνωση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:9 ++msgid "Allow applications to inhibit automatic system suspend" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν την αυτόματη αναστολή του " ++"συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:10 ++msgid "" ++"Authentication is required to allow an application to inhibit automatic " ++"system suspend." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"αυτόματη αναστολή του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:11 ++msgid "Allow applications to inhibit system handling of the power key" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " ++"ενεργοποίησης του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:12 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the power key." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του πλήκτρου ενεργοποίησης του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:13 ++msgid "Allow applications to inhibit system handling of the suspend key" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " ++"αναστολής του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:14 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the suspend key." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του πλήκτρου αναστολής του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:15 ++msgid "Allow applications to inhibit system handling of the hibernate key" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " ++"αδρανοποίησης του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:16 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the hibernate key." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του πλήκτρου αδρανοποίησης του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:17 ++msgid "Allow applications to inhibit system handling of the lid switch" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του διακόπτη " ++"καλύμματος του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:18 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the lid switch." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του διακόπτη καλύμματος του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:19 ++msgid "Allow non-logged-in users to run programs" ++msgstr "Να επιτρέπεται σε μη συνδεμένους χρήστες να εκτελούν προγράμματα" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:20 ++msgid "" ++"Authentication is required to allow a non-logged-in user to run programs." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μη συνδεμένους χρήστες να " ++"εκτελούν προγράμματα." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:21 ++msgid "Allow attaching devices to seats" ++msgstr "Να επιτρέπεται η προσάρτηση συσκευών στους σταθμούς εργασίας" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:22 ++msgid "Authentication is required for attaching a device to a seat." ++msgstr "" ++"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:23 ++msgid "Flush device to seat attachments" ++msgstr "Αφαίρεση συσκευής από προσαρτήσεις σταθμού εργασίας" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:24 ++msgid "" ++"Authentication is required for resetting how devices are attached to seats." ++msgstr "" ++"Απαιτείται πιστοποίηση για επαναφορά του τρόπου που οι συσκευές προσαρτώνται " ++"στους σταθμούς εργασίας." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:25 ++msgid "Power off the system" ++msgstr "Σβήσιμο του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:26 ++msgid "Authentication is required for powering off the system." ++msgstr "Απαιτείται πιστοποίηση για την σβήσιμο του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:27 ++msgid "Power off the system while other users are logged in" ++msgstr "Σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:28 ++msgid "" ++"Authentication is required for powering off the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι " ++"συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:29 ++msgid "Power off the system while an application asked to inhibit it" ++msgstr "Απενεργοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:30 ++msgid "" ++"Authentication is required for powering off the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για απενεργοποίηση του συστήματος ενώ μια εφαρμογή " ++"ζήτησε να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:31 ++msgid "Reboot the system" ++msgstr "Επανεκκίνηση του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:32 ++msgid "Authentication is required for rebooting the system." ++msgstr "Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:33 ++msgid "Reboot the system while other users are logged in" ++msgstr "Επανεκκίνηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:34 ++msgid "" ++"Authentication is required for rebooting the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ άλλοι χρήστες " ++"είναι συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:35 ++msgid "Reboot the system while an application asked to inhibit it" ++msgstr "Επανεκκίνηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:36 ++msgid "" ++"Authentication is required for rebooting the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ μια εφαρμογή " ++"ζήτησε να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:37 ++msgid "Suspend the system" ++msgstr "Αναστολή του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:38 ++msgid "Authentication is required for suspending the system." ++msgstr "Απαιτείται πιστοποίηση για την αναστολή του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:39 ++msgid "Suspend the system while other users are logged in" ++msgstr "Αναστολή του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:40 ++msgid "" ++"Authentication is required for suspending the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ άλλοι χρήστες είναι " ++"συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:41 ++msgid "Suspend the system while an application asked to inhibit it" ++msgstr "Αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:42 ++msgid "" ++"Authentication is required for suspending the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε " ++"να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:43 ++msgid "Hibernate the system" ++msgstr "Αδρανοποίηση του συτήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:44 ++msgid "Authentication is required for hibernating the system." ++msgstr "Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:45 ++msgid "Hibernate the system while other users are logged in" ++msgstr "Αδρανοποίηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:46 ++msgid "" ++"Authentication is required for hibernating the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ άλλοι χρήστες " ++"είναι συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:47 ++msgid "Hibernate the system while an application asked to inhibit it" ++msgstr "Αδρανοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:48 ++msgid "" ++"Authentication is required for hibernating the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ μια εφαρμογή " ++"ζήτησε να αποτραπεί." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 ++msgid "Set system time" ++msgstr "Ορισμός ώρας συστήματος" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 ++msgid "Authentication is required to set the system time." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 ++msgid "Set system timezone" ++msgstr "Ορισμός ζώνης ώρας συστήματος" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 ++msgid "Authentication is required to set the system timezone." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα ζώνης του συστήματος." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 ++msgid "Set RTC to local timezone or UTC" ++msgstr "Ορισμός RTC στην τοπική ζώνη ώρας ή UTC" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 ++msgid "" ++"Authentication is required to control whether the RTC stores the local or " ++"UTC time." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ελέγξετε αν το RTC αποθηκεύει την τοπική ή την " ++"ώρα UTC." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 ++msgid "Turn network time synchronization on or off" ++msgstr "Ενεργοποίηση/Απενεργοποίηση συγχρονισμού ώρας δικτύου" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 ++msgid "" ++"Authentication is required to control whether network time synchronization " ++"shall be enabled." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα " ++"ενεργοποιηθεί." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 ++msgid "Send passphrase back to system" ++msgstr "Αποστολή του συνθηματικού πίσω στο σύστημα" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 ++msgid "" ++"Authentication is required to send the entered passphrase back to the system." ++msgstr "" ++"Απαιτείται πιστοποίηση για αποστολή του εισερχόμενου συνθηματικού πίσω στο " ++"σύστημα." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 ++msgid "Privileged system and service manager access" ++msgstr "Προνομιούχος πρόσβαση διαχειριστή συστήματος και υπηρεσίας" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 ++msgid "Authentication is required to access the system and service manager." ++msgstr "" ++"Απαιτείται πιστοποίηση για να προσπελάσετε τον διαχειριστή συστήματος και " ++"υπηρεσιών." +-- +1.7.9.2 + diff --git a/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..c4e89bb1 --- /dev/null +++ b/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,82 @@ +From 7cfa80f07e94c3e48703d145ef03a73dd6e7b983 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Wed, 18 Jun 2014 13:55:32 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 42 ++++++++++++++++++++++++++++++--- + 1 file changed, 39 insertions(+), 3 deletions(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index a65c7db..377748a 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -115,7 +115,7 @@ bluetooth:v0024* + ID_VENDOR_FROM_DATABASE=Alcatel + + bluetooth:v0025* +- ID_VENDOR_FROM_DATABASE=Philips Semiconductors ++ ID_VENDOR_FROM_DATABASE=NXP Semiconductors (formerly Philips Semiconductors) + + bluetooth:v0026* + ID_VENDOR_FROM_DATABASE=C Technologies +@@ -427,7 +427,7 @@ bluetooth:v008B* + ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC + + bluetooth:v008C* +- ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.) ++ ID_VENDOR_FROM_DATABASE=Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.) + + bluetooth:v008D* + ID_VENDOR_FROM_DATABASE=Zscan Software +@@ -1006,10 +1006,46 @@ bluetooth:v014C* + ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd + + bluetooth:v014D* +- ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. ++ ID_VENDOR_FROM_DATABASE=Huizhou Desay SV Automotive CO., LTD. + + bluetooth:v014E* + ID_VENDOR_FROM_DATABASE=Tangerine, Inc. + + bluetooth:v014F* + ID_VENDOR_FROM_DATABASE=B&W Group Ltd. ++ ++bluetooth:v0150* ++ ID_VENDOR_FROM_DATABASE=Pioneer Corporation ++ ++bluetooth:v0151* ++ ID_VENDOR_FROM_DATABASE=OnBeep ++ ++bluetooth:v0152* ++ ID_VENDOR_FROM_DATABASE=Vernier Software & Technology ++ ++bluetooth:v0153* ++ ID_VENDOR_FROM_DATABASE=ROL Ergo ++ ++bluetooth:v0154* ++ ID_VENDOR_FROM_DATABASE=Pebble Technology ++ ++bluetooth:v0155* ++ ID_VENDOR_FROM_DATABASE=NETATMO ++ ++bluetooth:v0156* ++ ID_VENDOR_FROM_DATABASE=Accumulate AB ++ ++bluetooth:v0157* ++ ID_VENDOR_FROM_DATABASE=Anhui Huami Information Technology Co., Ltd. ++ ++bluetooth:v0158* ++ ID_VENDOR_FROM_DATABASE=Inmite s.r.o. ++ ++bluetooth:v0159* ++ ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. ++ ++bluetooth:v015A* ++ ID_VENDOR_FROM_DATABASE=micus AG ++ ++bluetooth:v015B* ++ ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. +-- +1.7.9.2 + diff --git a/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch b/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch new file mode 100644 index 00000000..e76abb48 --- /dev/null +++ b/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch @@ -0,0 +1,29 @@ +From e683212f049ac5d3f95fb17300cfa2fd971f78f3 Mon Sep 17 00:00:00 2001 +From: Ronny Chevalier +Date: Tue, 3 Jun 2014 19:44:03 +0200 +Subject: [PATCH] log: honour the kernel's quiet cmdline argument + +It was forgotten in b1e90ec515408aec2702522f6f68c4920b56375b + +See https://bugs.freedesktop.org/show_bug.cgi?id=79582 +--- + src/shared/log.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/shared/log.c src/shared/log.c +index 9039db3..6f17705 100644 +--- src/shared/log.c ++++ src/shared/log.c +@@ -878,6 +878,9 @@ void log_parse_environment(void) { + if (l == 5 && startswith(w, "debug")) { + log_set_max_level(LOG_DEBUG); + break; ++ } else if (l == 5 && startswith(w, "quiet")) { ++ log_set_max_level(LOG_WARNING); ++ break; + } + } + } +-- +1.7.9.2 + diff --git a/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch b/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch new file mode 100644 index 00000000..aa77e4cc --- /dev/null +++ b/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch @@ -0,0 +1,26 @@ +From 267b3e41df5a2181f2911433539f81de2fa1511a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Thu, 29 May 2014 14:17:37 -0400 +Subject: [PATCH] tty-ask-password-agent: Do tell what directory we failed to + open + +--- + .../tty-ask-password-agent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 3203474..55a2215 100644 +--- src/tty-ask-password-agent/tty-ask-password-agent.c ++++ src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -501,7 +501,7 @@ static int show_passwords(void) { + if (errno == ENOENT) + return 0; + +- log_error("opendir(): %m"); ++ log_error("opendir(/run/systemd/ask-password): %m"); + return -errno; + } + +-- +1.7.9.2 + diff --git a/0007-keyboard-add-Plantronics-.Audio-mute-button.patch b/0007-keyboard-add-Plantronics-.Audio-mute-button.patch new file mode 100644 index 00000000..53c701bd --- /dev/null +++ b/0007-keyboard-add-Plantronics-.Audio-mute-button.patch @@ -0,0 +1,32 @@ +From 9e3dbf6b2b99d0e16989d9cedb458729db5a60c3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 1 Jun 2014 14:01:23 -0400 +Subject: [PATCH] keyboard: add Plantronics .Audio mute button + +https://bugs.freedesktop.org/show_bug.cgi?id=79495 +--- + hwdb/60-keyboard.hwdb | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 05e6a04..d053766 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -866,6 +866,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* + KEYBOARD_KEY_f3=volumeup + + ########################################################### ++# Plantronics ++########################################################### ++ ++# Plantronics .Audio 626 DSP ++keyboard:usb:v047fpC006* ++ KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute ++ ++########################################################### + # Quanta + ########################################################### + +-- +1.7.9.2 + diff --git a/0007-po-add-German-translation.patch b/0007-po-add-German-translation.patch new file mode 100644 index 00000000..d653c8ff --- /dev/null +++ b/0007-po-add-German-translation.patch @@ -0,0 +1,448 @@ +From 351e57652a7d9a51f9064c089794d13801eaee73 Mon Sep 17 00:00:00 2001 +From: Benjamin Steinwender +Date: Sun, 8 Jun 2014 18:39:50 +0200 +Subject: [PATCH] po: add German translation + +https://bugs.freedesktop.org/show_bug.cgi?id=79430 +--- + po/LINGUAS | 1 + + po/de.po | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 419 insertions(+) + create mode 100644 po/de.po + +diff --git po/LINGUAS po/LINGUAS +index 820ca82..2cb0f30 100644 +--- po/LINGUAS ++++ po/LINGUAS +@@ -1,3 +1,4 @@ ++de + el + fr + it +diff --git po/de.po po/de.po +new file mode 100644 +index 0000000..a41e33d +--- /dev/null ++++ po/de.po +@@ -0,0 +1,418 @@ ++# German translation for systemd. ++# Copyright (C) 2014 systemd's COPYRIGHT HOLDER ++# This file is distributed under the same license as the systemd package. ++# Christian Kirbach , 2014. ++# Benjamin Steinwender , 2014. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: systemd master\n" ++"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?" ++"product=systemd&keywords=I18N+L10N&component=general\n" ++"POT-Creation-Date: 2014-06-02 10:25+0000\n" ++"PO-Revision-Date: 2014-06-02 22:43+0100\n" ++"Last-Translator: Benjamin Steinwender \n" ++"Language-Team: German \n" ++"Language: de\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Poedit 1.6.5\n" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 ++msgid "Set host name" ++msgstr "Rechnername festlegen" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 ++msgid "Authentication is required to set the local host name." ++msgstr "Legitimierung ist zum Festlegen des lokalen Rechnernamens notwendig" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 ++msgid "Set static host name" ++msgstr "Statischen Rechnernamen festlegen" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 ++msgid "" ++"Authentication is required to set the statically configured local host name, " ++"as well as the pretty host name." ++msgstr "" ++"Authentifizierung ist erforderlich, um den statisch geänderten, lokalen " ++"Rechnernamen, sowie den beschönigten Rechnernamen festzulegen." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 ++msgid "Set machine information" ++msgstr "Maschinen-Information festlegen" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 ++msgid "Authentication is required to set local machine information." ++msgstr "" ++"Legitimierung ist zum Festlegen der lokalen Maschinen-Information " ++"erforderlich." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 ++msgid "Set system locale" ++msgstr "Die lokale Sprachumgebung festlegen" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 ++msgid "Authentication is required to set the system locale." ++msgstr "" ++"Legitimierung ist zum Festlegen der systemweiten Spracheinstellungen " ++"erforderlich." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 ++msgid "Set system keyboard settings" ++msgstr "Tastatureinstellungen des Systems festlegen" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 ++msgid "Authentication is required to set the system keyboard settings." ++msgstr "" ++"Legitimierung ist zum Festlegen der Tastatureinstellungen des Systems " ++"erforderlich." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:1 ++msgid "Allow applications to inhibit system shutdown" ++msgstr "Anwendungen dürfen das Herunterfahren des Systems unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:2 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"shutdown." ++msgstr "" ++"Legitimierung ist notwendig, um Anwendungen das Herunterfahren des Systems " ++"zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:3 ++msgid "Allow applications to delay system shutdown" ++msgstr "Anwendungen dürfen das Herunterfahren des Systems verzögern" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:4 ++msgid "" ++"Authentication is required to allow an application to delay system shutdown." ++msgstr "" ++"Legitimierung ist notwendig, um Anwendungen das Verzögern des Herunterfahren " ++"des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:5 ++msgid "Allow applications to inhibit system sleep" ++msgstr "Anwendungen dürfen den Bereitschaftsmodus unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:6 ++msgid "" ++"Authentication is required to allow an application to inhibit system sleep." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden des " ++"Bereitschaftsmodus zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:7 ++msgid "Allow applications to delay system sleep" ++msgstr "Anwendungen dürfen den Bereitschaftsmodus verzögern" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:8 ++msgid "" ++"Authentication is required to allow an application to delay system sleep." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Verzögern des " ++"Bereitschaftsmodus zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:9 ++msgid "Allow applications to inhibit automatic system suspend" ++msgstr "Anwendungen dürfen den automatischen Bereitschaftsmodus unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:10 ++msgid "" ++"Authentication is required to allow an application to inhibit automatic " ++"system suspend." ++msgstr "" ++"Legitimierung ist notwendig, um Anwendungen das Unterbinden des " ++"automatischen Bereitschaftsmodus zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:11 ++msgid "Allow applications to inhibit system handling of the power key" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Ein-/Ausschaltknopfs des Systems " ++"unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:12 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the power key." ++msgstr "" ++"Legitmierung ist erforderlich, um Anwendungen das Unterbinden der Auswertung " ++"der Ein-/Ausschaltknopfs des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:13 ++msgid "Allow applications to inhibit system handling of the suspend key" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Bereitschaftsknopfs des Systems " ++"unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:14 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the suspend key." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " ++"Auswertung des Bereitschaftsknopfes des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:15 ++msgid "Allow applications to inhibit system handling of the hibernate key" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Knopfs für den Ruhezustand unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:16 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the hibernate key." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " ++"Auswertung des Knopfs für den Ruhezustand zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:17 ++msgid "Allow applications to inhibit system handling of the lid switch" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Notebookdeckelschalters unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:18 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the lid switch." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " ++"Auswertung des Notebookdeckelschalters des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:19 ++msgid "Allow non-logged-in users to run programs" ++msgstr "Nicht angemeldete Benutzer dürfen Programme ausführen" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:20 ++msgid "" ++"Authentication is required to allow a non-logged-in user to run programs." ++msgstr "" ++"Legitimierung ist erforderlich, damit nicht angemeldete Benutzer Programme " ++"ausführen dürfen." ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:21 ++msgid "Allow attaching devices to seats" ++msgstr "Das Anschließen von Geräten an Arbeitsstationen erlauben" ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:22 ++msgid "Authentication is required for attaching a device to a seat." ++msgstr "" ++"Legitimierung ist zum Anschließen eines Geräts an eine Arbeitsstation " ++"notwendig." ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:23 ++msgid "Flush device to seat attachments" ++msgstr "Zurücksetzen der an eine Arbeitsstation angeschlossenen Geräte" ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:24 ++msgid "" ++"Authentication is required for resetting how devices are attached to seats." ++msgstr "" ++"Legitimierung ist zum Zurücksetzen notwendig, wie Geräte an eine " ++"Arbeitsstation angeschlossen werden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:25 ++msgid "Power off the system" ++msgstr "Das System ausschalten" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:26 ++msgid "Authentication is required for powering off the system." ++msgstr "Legitimierung ist zum Ausschalten des Systems notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:27 ++msgid "Power off the system while other users are logged in" ++msgstr "Das System herunter fahren, während andere Benutzer angemeldet sind" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:28 ++msgid "" ++"Authentication is required for powering off the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Herunterfahren des Systems notwendig, während andere " ++"Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:29 ++msgid "Power off the system while an application asked to inhibit it" ++msgstr "" ++"Das System ausschalten, während eine Anwendung anfordert es zu unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:30 ++msgid "" ++"Authentication is required for powering off the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Ausschalten des Systems notwendig, während eine " ++"Anwendung anfordert es zu unterbinden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:31 ++msgid "Reboot the system" ++msgstr "Das System neu starten" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:32 ++msgid "Authentication is required for rebooting the system." ++msgstr "Legitimierung ist zum Neustart des Systems notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:33 ++msgid "Reboot the system while other users are logged in" ++msgstr "Das Systems neu starten, während andere Benutzer angemeldet sind" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:34 ++msgid "" ++"Authentication is required for rebooting the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Neustart des Systems notwendig, während andere " ++"Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:35 ++msgid "Reboot the system while an application asked to inhibit it" ++msgstr "" ++"Das System neu starten, während eine Anwendung anfordert es zu unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:36 ++msgid "" ++"Authentication is required for rebooting the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Neustart des Systems notwendig, während eine Anwendung " ++"anforderte es zu unterbinden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:37 ++msgid "Suspend the system" ++msgstr "Das System in Bereitschaft versetzen" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:38 ++msgid "Authentication is required for suspending the system." ++msgstr "Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:39 ++msgid "Suspend the system while other users are logged in" ++msgstr "" ++"Das System in Bereitschaft versetzen, während andere Benutzer angemeldet " ++"sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:40 ++msgid "" ++"Authentication is required for suspending the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " ++"während andere Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:41 ++msgid "Suspend the system while an application asked to inhibit it" ++msgstr "" ++"Das System in Bereitschaft versetzen, während eine Anwendung anfordert dies " ++"zu unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:42 ++msgid "" ++"Authentication is required for suspending the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " ++"während eine Anwendung anfordert dies zu unterbinden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:43 ++msgid "Hibernate the system" ++msgstr "Den Ruhezustand des Systems aktivieren" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:44 ++msgid "Authentication is required for hibernating the system." ++msgstr "" ++"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:45 ++msgid "Hibernate the system while other users are logged in" ++msgstr "" ++"Den Ruhezustand des Systems aktivieren, während andere Benutzer angemeldet " ++"sind" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:46 ++msgid "" ++"Authentication is required for hibernating the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig, " ++"während andere Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:47 ++msgid "Hibernate the system while an application asked to inhibit it" ++msgstr "" ++"Das System in den Ruhezustand versetzen, während eine Anwendung wünscht dies " ++"zu verhindern" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:48 ++msgid "" ++"Authentication is required for hibernating the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Versetzen des System in den Ruhezustand notwendig, " ++"während eine Anwendung wünscht dies zu verhindern." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 ++msgid "Set system time" ++msgstr "Die Systemzeit festlegen" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 ++msgid "Authentication is required to set the system time." ++msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 ++msgid "Set system timezone" ++msgstr "Die Systemzeitzone festlegen" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 ++msgid "Authentication is required to set the system timezone." ++msgstr "Legitimierung ist zum Festlegen der Systemzeitzone notwendig." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 ++msgid "Set RTC to local timezone or UTC" ++msgstr "Echtzeituhr auf lokale Zeitzone oder UTC setzen" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 ++msgid "" ++"Authentication is required to control whether the RTC stores the local or " ++"UTC time." ++msgstr "" ++"Legitimierung ist notwendig zum Festlegen, ob die Echtzeituhr auf lokale " ++"Zeitzone oder UTC eingestellt ist." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 ++msgid "Turn network time synchronization on or off" ++msgstr "Netzwerkzeitabgeich ein- oder ausschalten" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 ++msgid "" ++"Authentication is required to control whether network time synchronization " ++"shall be enabled." ++msgstr "" ++"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein " ++"soll, erforderlich." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 ++msgid "Send passphrase back to system" ++msgstr "Passphrase zurück an das System senden" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 ++msgid "" ++"Authentication is required to send the entered passphrase back to the system." ++msgstr "" ++"Legitimierung ist zum Senden des eingegebenen Kennworts zurück an das System " ++"notwendig." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 ++msgid "Privileged system and service manager access" ++msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 ++msgid "Authentication is required to access the system and service manager." ++msgstr "" ++"Legitimierung ist notwendig für den Zugriff auf die System- und " ++"Dienstverwaltung." +-- +1.7.9.2 + diff --git a/0001-systemd-empty-sigmask-on-reexec.patch b/0008-Reset-signal-mask-on-re-exec-to-init.patch similarity index 53% rename from 0001-systemd-empty-sigmask-on-reexec.patch rename to 0008-Reset-signal-mask-on-re-exec-to-init.patch index f4f3ac92..9fe7d1ea 100644 --- a/0001-systemd-empty-sigmask-on-reexec.patch +++ b/0008-Reset-signal-mask-on-re-exec-to-init.patch @@ -1,16 +1,23 @@ -Process 1 (aka init) needs to be started with an empty signal mask. That -includes the process 1 that's started after the initrd is finished. When the -initrd is using systemd (as it does with dracut based initrds) then it is -systemd that calls the real init. Normally this is systemd again, except -when the user uses for instance "init=/bin/bash" on the kernel command line. +From 5a85ca1cb622fda4a39c8a6f00dccea7f8a1e82a Mon Sep 17 00:00:00 2001 +From: Ruediger Oertel +Date: Fri, 13 Jun 2014 16:41:06 +0200 +Subject: [PATCH] Reset signal-mask on re-exec to init=.. +Process 1 (aka init) needs to be started with an empty signal mask. +That includes the process 1 that's started after the initrd is finished. +When the initrd is using systemd (as it does with dracut based initrds) +then it is systemd that calls the real init. Normally this is systemd +again, except when the user uses for instance "init=/bin/bash" on the +kernel command line. --- - main.c | 9 +++++++++ - 1 file changed, 9 insertions(+) + src/core/main.c | 8 ++++++++ + 1 file changed, 8 insertions(+) +diff --git src/core/main.c src/core/main.c +index 3aac5d1..3e57f07 100644 --- src/core/main.c -+++ src/core/main.c 2014-02-27 13:54:21.922236495 +0000 -@@ -1780,6 +1780,7 @@ finish: ++++ src/core/main.c +@@ -1843,6 +1843,7 @@ finish: if (reexecute) { const char **args; unsigned i, args_size; @@ -18,25 +25,27 @@ when the user uses for instance "init=/bin/bash" on the kernel command line. /* Close and disarm the watchdog, so that the new * instance can reinitialize it, but doesn't get -@@ -1863,6 +1864,11 @@ finish: +@@ -1926,6 +1927,11 @@ finish: args[i++] = NULL; assert(i <= args_size); + /* reenable any blocked signals, especially important + * if we switch from initial ramdisk to init=... */ + sigemptyset(&ss); -+ sigprocmask(SIG_SETMASK,&ss,&o_ss); ++ sigprocmask(SIG_SETMASK, &ss, &o_ss); + if (switch_root_init) { args[0] = switch_root_init; execv(args[0], (char* const*) args); -@@ -1881,6 +1887,9 @@ finish: +@@ -1944,6 +1950,8 @@ finish: log_error("Failed to execute /bin/sh, giving up: %m"); } else log_warning("Failed to execute /sbin/init, giving up: %m"); + -+ /* back to saved state if reexec failed */ -+ sigprocmask(SIG_SETMASK,&o_ss,NULL); ++ sigprocmask(SIG_SETMASK, &o_ss, NULL); } if (arg_serialization) { +-- +1.7.9.2 + diff --git a/0009-core-clean-up-signal-reset-logic-when-reexec.patch b/0009-core-clean-up-signal-reset-logic-when-reexec.patch new file mode 100644 index 00000000..cfe54186 --- /dev/null +++ b/0009-core-clean-up-signal-reset-logic-when-reexec.patch @@ -0,0 +1,50 @@ +From 9bfcda9528636914aef3e0ab91191bb81654c83d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 20 Jun 2014 16:58:21 +0200 +Subject: [PATCH] core: clean-up signal reset logic when reexec + +There's no need to save the old sigmask, if we are going to die. Let's +simplify this. Also, reset all the signal handlers, so that we don't +leave SIG_IGN set for some of them across reexec. +--- + src/core/main.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git src/core/main.c src/core/main.c +index 863ba52..6981e72 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1824,7 +1824,7 @@ finish: + if (reexecute) { + const char **args; + unsigned i, args_size; +- sigset_t ss, o_ss; ++ sigset_t ss; + + /* Close and disarm the watchdog, so that the new + * instance can reinitialize it, but doesn't get +@@ -1910,8 +1910,10 @@ finish: + + /* reenable any blocked signals, especially important + * if we switch from initial ramdisk to init=... */ +- sigemptyset(&ss); +- sigprocmask(SIG_SETMASK, &ss, &o_ss); ++ reset_all_signal_handlers(); ++ ++ assert_se(sigemptyset(&ss) == 0); ++ assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0); + + if (switch_root_init) { + args[0] = switch_root_init; +@@ -1931,8 +1933,6 @@ finish: + log_error("Failed to execute /bin/sh, giving up: %m"); + } else + log_warning("Failed to execute /sbin/init, giving up: %m"); +- +- sigprocmask(SIG_SETMASK, &o_ss, NULL); + } + + if (arg_serialization) { +-- +1.7.9.2 + diff --git a/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch b/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch new file mode 100644 index 00000000..e99c1a0d --- /dev/null +++ b/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch @@ -0,0 +1,25 @@ +From da92ca5eb506d513033e0c7a85daf25a7e1c9d0e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 20 Jun 2014 22:43:49 -0400 +Subject: [PATCH] util: treat fuse.sshfs as a network filesystem + +https://bugs.freedesktop.org/show_bug.cgi?id=73727 +--- + src/shared/util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/util.c src/shared/util.c +index 882a690..dbdb692 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1514,6 +1514,7 @@ bool fstype_is_network(const char *fstype) { + static const char table[] = + "cifs\0" + "smbfs\0" ++ "sshfs\0" + "ncpfs\0" + "ncp\0" + "nfs\0" +-- +1.7.9.2 + diff --git a/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch b/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch new file mode 100644 index 00000000..325f04a9 --- /dev/null +++ b/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch @@ -0,0 +1,28 @@ +From 8e75477abdd838d3beddc5fd1c6a7707b22748b6 Mon Sep 17 00:00:00 2001 +From: Ronny Chevalier +Date: Sat, 21 Jun 2014 22:07:09 +0200 +Subject: [PATCH] build-sys: add -pthread flag for libsystemd-shared + +src/shared/async.c uses pthread so it will fail at link time if we link +only to libsystemd-shared and use async +--- + Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git Makefile.am Makefile.am +index c7653ea..00db82d 100644 +--- Makefile.am ++++ Makefile.am +@@ -837,7 +837,8 @@ nodist_libsystemd_shared_la_SOURCES = \ + + libsystemd_shared_la_CFLAGS = \ + $(AM_CFLAGS) \ +- $(SECCOMP_CFLAGS) ++ $(SECCOMP_CFLAGS) \ ++ -pthread + + # ------------------------------------------------------------------------------ + noinst_LTLIBRARIES += \ +-- +1.7.9.2 + diff --git a/0012-core-transaction-avoid-misleading-error-message-when.patch b/0012-core-transaction-avoid-misleading-error-message-when.patch new file mode 100644 index 00000000..03021cd2 --- /dev/null +++ b/0012-core-transaction-avoid-misleading-error-message-when.patch @@ -0,0 +1,42 @@ +Based on 04ef5b03f64d3824a51a2a903548af029a006744 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 22 Jun 2014 14:04:23 -0400 +Subject: [PATCH] core/transaction: avoid misleading error message when unit + not found + +There's no point in telling the user to look at the logs when +an attempt to load the unit file failed with ENOENT. + +https://bugzilla.redhat.com/show_bug.cgi?id=996133 +--- + TODO | 4 ---- + src/core/transaction.c | 18 ++++++++++++------ + 2 files changed, 12 insertions(+), 10 deletions(-) + +--- src/core/transaction.c ++++ src/core/transaction.c 2014-06-24 11:18:42.746235805 +0000 +@@ -865,12 +865,18 @@ int transaction_add_job_and_dependencies + } + + if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { +- sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, +- "Unit %s failed to load: %s. " +- "See system logs and 'systemctl status %s' for details.", +- unit->id, +- strerror(-unit->load_error), +- unit->id); ++ if (unit->load_error == -ENOENT) ++ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, ++ "Unit %s failed to load: %s.", ++ unit->id, ++ strerror(-unit->load_error)); ++ else ++ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, ++ "Unit %s failed to load: %s. " ++ "See system logs and 'systemctl status %s' for details.", ++ unit->id, ++ strerror(-unit->load_error), ++ unit->id); + return -EINVAL; + } + diff --git a/1021-udev-re-add-persistent-net-rules.patch b/1021-udev-re-add-persistent-net-rules.patch new file mode 100644 index 00000000..e8cd290c --- /dev/null +++ b/1021-udev-re-add-persistent-net-rules.patch @@ -0,0 +1,532 @@ +Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +@@ -0,0 +1,105 @@ ++# do not edit this file, it will be overwritten on update ++ ++# these rules generate rules for persistent network device naming ++# ++# variables used to communicate: ++# MATCHADDR MAC address used for the match ++# MATCHID bus_id used for the match ++# MATCHDRV driver name used for the match ++# MATCHIFTYPE interface type match ++# COMMENT comment to add to the generated rule ++# INTERFACE_NAME requested name supplied by external tool ++# INTERFACE_NEW new interface name returned by rule writer ++ ++ACTION!="add", GOTO="persistent_net_generator_end" ++SUBSYSTEM!="net", GOTO="persistent_net_generator_end" ++ ++# ignore the interface if a name has already been set ++NAME=="?*", GOTO="persistent_net_generator_end" ++ ++# device name whitelist ++KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" ++ ++IMPORT{cmdline}="net.ifnames" ++ENV{net.ifnames}=="1", GOTO="persistent_net_generator_end" ++ ++# ignore Xen virtual interfaces ++SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end" ++ ++# read MAC address ++ENV{MATCHADDR}="$attr{address}" ++ ++# match interface type ++ENV{MATCHIFTYPE}="$attr{type}" ++ ++# ignore KVM virtual interfaces ++ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end" ++# ignore VMWare virtual interfaces ++ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end" ++# ignore Hyper-V virtual interfaces ++ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end" ++ ++# These vendors are known to violate the local MAC address assignment scheme ++# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom ++ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist" ++# 3Com ++ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist" ++# 3Com IBM PC; Imagen; Valid; Cisco; Apple ++ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist" ++# Intel ++ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist" ++# Olivetti ++ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist" ++# CMC Masscomp; Silicon Graphics; Prime EXL ++ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist" ++# Prominet Corporation Gigabit Ethernet Switch ++ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist" ++# BTI (Bus-Tech, Inc.) IBM Mainframes ++ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist" ++# Realtek ++ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist" ++# Novell 2000 ++ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist" ++# Realtec ++ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist" ++# Kingston Technologies ++ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist" ++# Xensource ++ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" ++ ++# match interface dev_id ++ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" ++ ++# do not use "locally administered" MAC address ++ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" ++ ++# do not use empty address ++ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}="" ++ ++LABEL="globally_administered_whitelist" ++ ++# build comment line for generated rule: ++SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)" ++SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)" ++SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)" ++SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})" ++ ++# ibmveth likes to use "locally administered" MAC addresses ++DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)" ++ ++# S/390 uses id matches only, do not use MAC address match ++SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}="" ++ ++# see if we got enough data to create a rule ++ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end" ++ ++# default comment ++ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})" ++ ++# write rule ++DRIVERS=="?*", IMPORT{program}="write_net_rules" ++ ++# rename interface if needed ++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" ++ ++LABEL="persistent_net_generator_end" +Index: systemd-210/src/udev/rule_generator/rule_generator.functions +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/rule_generator.functions +@@ -0,0 +1,113 @@ ++# functions used by the udev rule generator ++ ++# Copyright (C) 2006 Marco d'Itri ++ ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 2 of the License, or ++# (at your option) any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++PATH='/usr/bin:/bin:/usr/sbin:/sbin' ++ ++# Read a single line from file $1 in the $DEVPATH directory. ++# The function must not return an error even if the file does not exist. ++sysread() { ++ local file="$1" ++ [ -e "/sys$DEVPATH/$file" ] || return 0 ++ local value ++ read value < "/sys$DEVPATH/$file" || return 0 ++ echo "$value" ++} ++ ++sysreadlink() { ++ local file="$1" ++ [ -e "/sys$DEVPATH/$file" ] || return 0 ++ readlink -f /sys$DEVPATH/$file 2> /dev/null || true ++} ++ ++# Return true if a directory is writeable. ++writeable() { ++ if ln -s test-link $1/.is-writeable 2> /dev/null; then ++ rm -f $1/.is-writeable ++ return 0 ++ else ++ return 1 ++ fi ++} ++ ++# Create a lock file for the current rules file. ++lock_rules_file() { ++ RUNDIR="/run/udev" ++ [ -e "$RUNDIR" ] || return 0 ++ ++ RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}" ++ ++ retry=30 ++ while ! mkdir $RULES_LOCK 2> /dev/null; do ++ if [ $retry -eq 0 ]; then ++ echo "Cannot lock $RULES_FILE!" >&2 ++ exit 2 ++ fi ++ sleep 1 ++ retry=$(($retry - 1)) ++ done ++} ++ ++unlock_rules_file() { ++ [ "$RULES_LOCK" ] || return 0 ++ rmdir $RULES_LOCK || true ++} ++ ++# Choose the real rules file if it is writeable or a temporary file if not. ++# Both files should be checked later when looking for existing rules. ++choose_rules_file() { ++ RUNDIR="/run/udev" ++ local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}" ++ [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1 ++ ++ if writeable ${RULES_FILE%/*}; then ++ RO_RULES_FILE='/dev/null' ++ else ++ RO_RULES_FILE=$RULES_FILE ++ RULES_FILE=$tmp_rules_file ++ fi ++} ++ ++# Return the name of the first free device. ++raw_find_next_available() { ++ local links="$1" ++ ++ local basename=${links%%[ 0-9]*} ++ local max=-1 ++ for name in $links; do ++ local num=${name#$basename} ++ [ "$num" ] || num=0 ++ [ $num -gt $max ] && max=$num ++ done ++ ++ local max=$(($max + 1)) ++ # "name0" actually is just "name" ++ [ $max -eq 0 ] && return ++ echo "$max" ++} ++ ++# Find all rules matching a key (with action) and a pattern. ++find_all_rules() { ++ local key="$1" ++ local linkre="$2" ++ local match="$3" ++ ++ local search='.*[[:space:],]'"$key"'"('"$linkre"')".*' ++ echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \ ++ $RO_RULES_FILE \ ++ $([ -e $RULES_FILE ] && echo $RULES_FILE) \ ++ 2>/dev/null) ++} +Index: systemd-210/src/udev/rule_generator/write_net_rules +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/write_net_rules +@@ -0,0 +1,141 @@ ++#!/bin/sh -e ++ ++# This script is run to create persistent network device naming rules ++# based on properties of the device. ++# If the interface needs to be renamed, INTERFACE_NEW= will be printed ++# on stdout to allow udev to IMPORT it. ++ ++# variables used to communicate: ++# MATCHADDR MAC address used for the match ++# MATCHID bus_id used for the match ++# MATCHDEVID dev_id used for the match ++# MATCHDRV driver name used for the match ++# MATCHIFTYPE interface type match ++# COMMENT comment to add to the generated rule ++# INTERFACE_NAME requested name supplied by external tool ++# INTERFACE_NEW new interface name returned by rule writer ++ ++# Copyright (C) 2006 Marco d'Itri ++# Copyright (C) 2007 Kay Sievers ++# ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++# debug, if UDEV_LOG= ++if [ -n "$UDEV_LOG" ]; then ++ if [ "$UDEV_LOG" -ge 7 ]; then ++ set -x ++ fi ++fi ++ ++RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' ++ ++. /usr/lib/udev/rule_generator.functions ++ ++interface_name_taken() { ++ local value="$(find_all_rules 'NAME=' $INTERFACE)" ++ if [ "$value" ]; then ++ return 0 ++ else ++ return 1 ++ fi ++} ++ ++find_next_available() { ++ raw_find_next_available "$(find_all_rules 'NAME=' "$1")" ++} ++ ++write_rule() { ++ local match="$1" ++ local name="$2" ++ local comment="$3" ++ ++ { ++ if [ "$PRINT_HEADER" ]; then ++ PRINT_HEADER= ++ echo "# This file was automatically generated by the $0" ++ echo "# program, run by the persistent-net-generator.rules rules file." ++ echo "#" ++ echo "# You can modify it, as long as you keep each rule on a single" ++ echo "# line, and change only the value of the NAME= key." ++ fi ++ ++ echo "" ++ [ "$comment" ] && echo "# $comment" ++ echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\"" ++ } >> $RULES_FILE ++} ++ ++if [ -z "$INTERFACE" ]; then ++ echo "missing \$INTERFACE" >&2 ++ exit 1 ++fi ++ ++# Prevent concurrent processes from modifying the file at the same time. ++lock_rules_file ++ ++# Check if the rules file is writeable. ++choose_rules_file ++ ++# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces ++if [ "$MATCHADDR" ]; then ++ match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\"" ++fi ++ ++if [ "$MATCHDRV" ]; then ++ match="$match, DRIVERS==\"$MATCHDRV\"" ++fi ++ ++if [ "$MATCHDEVID" ]; then ++ match="$match, ATTR{dev_id}==\"$MATCHDEVID\"" ++fi ++ ++if [ "$MATCHID" ]; then ++ match="$match, KERNELS==\"$MATCHID\"" ++fi ++ ++if [ "$MATCHIFTYPE" ]; then ++ match="$match, ATTR{type}==\"$MATCHIFTYPE\"" ++fi ++ ++if [ -z "$match" ]; then ++ echo "missing valid match" >&2 ++ unlock_rules_file ++ exit 1 ++fi ++ ++basename=${INTERFACE%%[0-9]*} ++match="$match, KERNEL==\"$basename*\"" ++ ++if [ "$INTERFACE_NAME" ]; then ++ # external tools may request a custom name ++ COMMENT="$COMMENT (custom name provided by external tool)" ++ if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then ++ INTERFACE=$INTERFACE_NAME; ++ echo "INTERFACE_NEW=$INTERFACE" ++ fi ++else ++ # if a rule using the current name already exists, find a new name ++ if interface_name_taken; then ++ INTERFACE="$basename$(find_next_available "$basename[0-9]*")" ++ # prevent INTERFACE from being "eth" instead of "eth0" ++ [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0 ++ echo "INTERFACE_NEW=$INTERFACE" ++ fi ++fi ++ ++write_rule "$match" "$INTERFACE" "$COMMENT" ++ ++unlock_rules_file ++ ++exit 0 +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2552,7 +2552,14 @@ dist_udevrules_DATA += \ + rules/75-tty-description.rules \ + rules/78-sound-card.rules \ + rules/80-net-setup-link.rules \ +- rules/95-udev-late.rules ++ rules/95-udev-late.rules \ ++ src/udev/rule_generator/75-persistent-net-generator.rules \ ++ src/udev/rule_generator/76-net-sriov-names.rules ++ ++udevlibexec_PROGRAMS += \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules \ ++ src/udev/rule_generator/net-set-sriov-names + + dist_udevhwdb_DATA = \ + hwdb/20-pci-vendor-model.hwdb \ +Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +@@ -0,0 +1,18 @@ ++# do not edit this file, it will be overwritten on update ++# ++# rename SRIOV virtual function interfaces ++ ++ACTION=="remove", GOTO="net-sriov-names_end" ++SUBSYSTEM!="net", GOTO="net-sriov-names_end" ++ ++IMPORT{cmdline}="net.ifnames" ++ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" ++ ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" ++ ++# rename interface if needed ++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" ++ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" ++ ++LABEL="net-sriov-names_end" +Index: systemd-210/src/udev/rule_generator/net-set-sriov-names +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/net-set-sriov-names +@@ -0,0 +1,79 @@ ++#!/bin/bash -e ++# ++# This script is run to rename virtual interfaces ++# ++ ++if [ -n "$UDEV_LOG" ]; then ++ if [ "$UDEV_LOG" -ge 7 ]; then ++ set -x ++ fi ++fi ++ ++# according to dev_new_index(), ifindex is within [1, INT_MAX] ++int_max=$(/usr/bin/getconf INT_MAX) ++ifindex_before() { ++ a=$1 ++ b=$2 ++ ++ ((0 < (b - a) && (b - a) < int_max / 2 || ++ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) ++} ++ ++rename_interface() { ++ local src_net=$1 ++ local dest_net=$2 ++ local err=0 ++ ++ /sbin/ip link set dev $src_net down ++ /sbin/ip link set dev $src_net name $dest_net ++} ++ ++if [ -z "$INTERFACE" ]; then ++ echo "missing \$INTERFACE" >&2 ++ exit 1 ++fi ++ ++if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then ++ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") ++ if [ $(echo "$pf" | wc -l) -ne 1 ]; then ++ echo "too many pf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$INTERFACE/ifindex" ++ read pfindex < "/sys/class/net/$pf/ifindex" ++ if ifindex_before $pfindex $vfindex; then ++ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) ++ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do ++ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ echo "INTERFACE_NEW=$pf.vf$vfnum" ++ exit 0 ++ fi ++ done ++ fi ++fi ++ ++read pfindex < "/sys/class/net/$INTERFACE/ifindex" ++shopt -s nullglob ++for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do ++ vf=$(ls -1 "$virtfn/net") ++ if [ $(echo "$vf" | wc -l) -ne 1 ]; then ++ echo "too many vf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$vf/ifindex" ++ if ifindex_before $vfindex $pfindex; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ if [ "$INTERFACE_NEW" ]; then ++ new_name=$INTERFACE_NEW ++ else ++ new_name=$INTERFACE ++ fi ++ new_name="$new_name.vf$vfnum" ++ if [ "$vf" != "$new_name" ]; then ++ rename_interface "$vf" "$new_name" ++ fi ++ fi ++done +Index: systemd-210/src/udev/net/link-config.c +=================================================================== +--- systemd-210.orig/src/udev/net/link-config.c ++++ systemd-210/src/udev/net/link-config.c +@@ -193,6 +193,18 @@ static bool enable_name_policy(void) { + r = proc_cmdline(&line); + if (r < 0) + log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); ++#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) ++# warning Using persistent rules as a default ++ if (r <= 0) ++ return false; ++ ++ FOREACH_WORD_QUOTED(w, l, line, state) ++ if (strneq(w, "net.ifnames=1", l)) ++ return true; ++ ++ return false; ++#else ++# warning Using predictable rules as a default + if (r <= 0) + return true; + +@@ -201,6 +213,7 @@ static bool enable_name_policy(void) { + return false; + + return true; ++#endif + } + + int link_config_load(link_config_ctx *ctx) { diff --git a/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch b/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch new file mode 100644 index 00000000..39e385c0 --- /dev/null +++ b/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch @@ -0,0 +1,1445 @@ +From 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 12 Apr 2014 22:35:50 -0700 +Subject: [PATCH] udev: remove seqnum API and all assumptions about seqnums + +The way the kernel namespaces have been implemented breaks assumptions +udev made regarding uevent sequence numbers. Creating devices in a +namespace "steals" uevents and its sequence numbers from the host. It +confuses the "udevadmin settle" logic, which might block until util a +timeout is reached, even when no uevent is pending. + +Remove any assumptions about sequence numbers and deprecate libudev's +API exposing these numbers; none of that can reliably be used anymore +when namespaces are involved. +--- + Makefile.am | 6 +- + man/udevadm.xml | 22 -- + src/libudev/libudev-monitor.c | 17 +- + src/libudev/libudev-queue-private.c | 406 ----------------------------------- + src/libudev/libudev-queue.c | 302 ++------------------------ + src/libudev/libudev.h | 10 +- + src/shared/udev-util.h | 2 - + src/test/test-libudev.c | 24 --- + src/udev/udev-ctrl.c | 2 +- + src/udev/udevadm-settle.c | 131 ++--------- + src/udev/udevd.c | 59 +++-- + 11 files changed, 84 insertions(+), 897 deletions(-) + delete mode 100644 src/libudev/libudev-queue-private.c + +diff --git Makefile.am Makefile.am +index 5d84605..0ad1729 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2587,8 +2587,7 @@ noinst_LTLIBRARIES += \ + + libudev_internal_la_SOURCES =\ + $(libudev_la_SOURCES) \ +- src/libudev/libudev-device-private.c \ +- src/libudev/libudev-queue-private.c ++ src/libudev/libudev-device-private.c + + libudev_internal_la_CFLAGS = \ + $(AM_CFLAGS) \ +@@ -5169,6 +5168,9 @@ test_libsystemd_sym_LDADD = \ + + test_libudev_sym_SOURCES = \ + test-libudev-sym.c ++test_libudev_sym_CFLAGS = \ ++ $(AM_CFLAGS) \ ++ -Wno-deprecated-declarations + test_libudev_sym_LDADD = \ + libudev.la + +diff --git man/udevadm.xml man/udevadm.xml +index 21d1443..fbfa85a 100644 +--- a/man/udevadm.xml ++++ b/man/udevadm.xml +@@ -339,21 +339,6 @@ + + + +- +- +- +- Wait only for events after the given sequence +- number. +- +- +- +- +- +- +- Wait only for events before the given sequence number. +- +- +- + + + +@@ -361,13 +346,6 @@ + + + +- +- +- +- Do not print any output, like the remaining queue entries when reaching the timeout. +- +- +- + + + +diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c +index ba1b04d..3f7436b 100644 +--- a/src/libudev/libudev-monitor.c ++++ b/src/libudev/libudev-monitor.c +@@ -146,21 +146,6 @@ static bool udev_has_devtmpfs(struct udev *udev) { + return false; + } + +-/* we consider udev running when we have running udev service */ +-static bool udev_has_service(struct udev *udev) { +- struct udev_queue *queue; +- bool active; +- +- queue = udev_queue_new(udev); +- if (!queue) +- return false; +- +- active = udev_queue_get_udev_is_active(queue); +- udev_queue_unref(queue); +- +- return active; +-} +- + struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) + { + struct udev_monitor *udev_monitor; +@@ -184,7 +169,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c + * We do not set a netlink multicast group here, so the socket + * will not receive any messages. + */ +- if (!udev_has_service(udev) && !udev_has_devtmpfs(udev)) { ++ if (access("/run/udev/control", F_OK) < 0 && !udev_has_devtmpfs(udev)) { + udev_dbg(udev, "the udev service seems not to be active, disable the monitor\n"); + group = UDEV_MONITOR_NONE; + } else +diff --git src/libudev/libudev-queue-private.c src/libudev/libudev-queue-private.c +deleted file mode 100644 +index d5a2b50..0000000 +--- a/src/libudev/libudev-queue-private.c ++++ /dev/null +@@ -1,406 +0,0 @@ +-/*** +- This file is part of systemd. +- +- Copyright 2008-2012 Kay Sievers +- Copyright 2009 Alan Jenkins +- +- systemd is free software; you can redistribute it and/or modify it +- under the terms of the GNU Lesser General Public License as published by +- the Free Software Foundation; either version 2.1 of the License, or +- (at your option) any later version. +- +- systemd is distributed in the hope that it will be useful, but +- WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public License +- along with systemd; If not, see . +-***/ +- +-/* +- * DISCLAIMER - The file format mentioned here is private to udev/libudev, +- * and may be changed without notice. +- * +- * The udev event queue is exported as a binary log file. +- * Each log record consists of a sequence number followed by the device path. +- * +- * When a new event is queued, its details are appended to the log. +- * When the event finishes, a second record is appended to the log +- * with the same sequence number but a devpath len of 0. +- * +- * Example: +- * { 0x0000000000000001 } +- * { 0x0000000000000001, 0x0019, "/devices/virtual/mem/null" }, +- * { 0x0000000000000002, 0x001b, "/devices/virtual/mem/random" }, +- * { 0x0000000000000001, 0x0000 }, +- * { 0x0000000000000003, 0x0019, "/devices/virtual/mem/zero" }, +- * +- * Events 2 and 3 are still queued, but event 1 has finished. +- * +- * The queue does not grow indefinitely. It is periodically re-created +- * to remove finished events. Atomic rename() makes this transparent to readers. +- * +- * The queue file starts with a single sequence number which specifies the +- * minimum sequence number in the log that follows. Any events prior to this +- * sequence number have already finished. +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "libudev.h" +-#include "libudev-private.h" +- +-static int rebuild_queue_file(struct udev_queue_export *udev_queue_export); +- +-struct udev_queue_export { +- struct udev *udev; +- int queued_count; /* number of unfinished events exported in queue file */ +- FILE *queue_file; +- unsigned long long int seqnum_max; /* earliest sequence number in queue file */ +- unsigned long long int seqnum_min; /* latest sequence number in queue file */ +- int waste_bytes; /* queue file bytes wasted on finished events */ +-}; +- +-struct udev_queue_export *udev_queue_export_new(struct udev *udev) +-{ +- struct udev_queue_export *udev_queue_export; +- unsigned long long int initial_seqnum; +- +- if (udev == NULL) +- return NULL; +- +- udev_queue_export = new0(struct udev_queue_export, 1); +- if (udev_queue_export == NULL) +- return NULL; +- udev_queue_export->udev = udev; +- +- initial_seqnum = udev_get_kernel_seqnum(udev); +- udev_queue_export->seqnum_min = initial_seqnum; +- udev_queue_export->seqnum_max = initial_seqnum; +- +- udev_queue_export_cleanup(udev_queue_export); +- if (rebuild_queue_file(udev_queue_export) != 0) { +- free(udev_queue_export); +- return NULL; +- } +- +- return udev_queue_export; +-} +- +-struct udev_queue_export *udev_queue_export_unref(struct udev_queue_export *udev_queue_export) +-{ +- if (udev_queue_export == NULL) +- return NULL; +- if (udev_queue_export->queue_file != NULL) +- fclose(udev_queue_export->queue_file); +- free(udev_queue_export); +- return NULL; +-} +- +-void udev_queue_export_cleanup(struct udev_queue_export *udev_queue_export) +-{ +- if (udev_queue_export == NULL) +- return; +- unlink("/run/udev/queue.tmp"); +- unlink("/run/udev/queue.bin"); +-} +- +-static int skip_to(FILE *file, long offset) +-{ +- long old_offset; +- +- /* fseek may drop buffered data, avoid it for small seeks */ +- old_offset = ftell(file); +- if (offset > old_offset && offset - old_offset <= BUFSIZ) { +- size_t skip_bytes = offset - old_offset; +- char *buf = alloca(skip_bytes); +- +- if (fread(buf, skip_bytes, 1, file) != skip_bytes) +- return -1; +- } +- +- return fseek(file, offset, SEEK_SET); +-} +- +-struct queue_devpaths { +- unsigned int devpaths_first; /* index of first queued event */ +- unsigned int devpaths_size; +- long devpaths[]; /* seqnum -> offset of devpath in queue file (or 0) */ +-}; +- +-/* +- * Returns a table mapping seqnum to devpath file offset for currently queued events. +- * devpaths[i] represents the event with seqnum = i + udev_queue_export->seqnum_min. +- */ +-static struct queue_devpaths *build_index(struct udev_queue_export *udev_queue_export) +-{ +- struct queue_devpaths *devpaths; +- unsigned long long int range; +- long devpath_offset; +- ssize_t devpath_len; +- unsigned long long int seqnum; +- unsigned long long int n; +- unsigned int i; +- +- /* seek to the first event in the file */ +- rewind(udev_queue_export->queue_file); +- udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum); +- +- /* allocate the table */ +- range = udev_queue_export->seqnum_min - udev_queue_export->seqnum_max; +- if (range - 1 > INT_MAX) { +- udev_err(udev_queue_export->udev, "queue file overflow\n"); +- return NULL; +- } +- devpaths = malloc0(sizeof(struct queue_devpaths) + (range + 1) * sizeof(long)); +- if (devpaths == NULL) +- return NULL; +- devpaths->devpaths_size = range + 1; +- +- /* read all records and populate the table */ +- for (;;) { +- if (udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum) < 0) +- break; +- n = seqnum - udev_queue_export->seqnum_max; +- if (n >= devpaths->devpaths_size) +- goto read_error; +- +- devpath_offset = ftell(udev_queue_export->queue_file); +- devpath_len = udev_queue_skip_devpath(udev_queue_export->queue_file); +- if (devpath_len < 0) +- goto read_error; +- +- if (devpath_len > 0) +- devpaths->devpaths[n] = devpath_offset; +- else +- devpaths->devpaths[n] = 0; +- } +- +- /* find first queued event */ +- for (i = 0; i < devpaths->devpaths_size; i++) { +- if (devpaths->devpaths[i] != 0) +- break; +- } +- devpaths->devpaths_first = i; +- +- return devpaths; +- +-read_error: +- udev_err(udev_queue_export->udev, "queue file corrupted\n"); +- free(devpaths); +- return NULL; +-} +- +-static int rebuild_queue_file(struct udev_queue_export *udev_queue_export) +-{ +- unsigned long long int seqnum; +- struct queue_devpaths *devpaths = NULL; +- FILE *new_queue_file = NULL; +- unsigned int i; +- +- /* read old queue file */ +- if (udev_queue_export->queue_file != NULL) { +- devpaths = build_index(udev_queue_export); +- if (devpaths != NULL) +- udev_queue_export->seqnum_max += devpaths->devpaths_first; +- } +- if (devpaths == NULL) { +- udev_queue_export->queued_count = 0; +- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; +- } +- +- /* create new queue file */ +- new_queue_file = fopen("/run/udev/queue.tmp", "w+e"); +- if (new_queue_file == NULL) +- goto error; +- seqnum = udev_queue_export->seqnum_max; +- fwrite(&seqnum, 1, sizeof(unsigned long long int), new_queue_file); +- +- /* copy unfinished events only to the new file */ +- if (devpaths != NULL) { +- for (i = devpaths->devpaths_first; i < devpaths->devpaths_size; i++) { +- char devpath[UTIL_PATH_SIZE]; +- int err; +- unsigned short devpath_len; +- +- if (devpaths->devpaths[i] != 0) +- { +- skip_to(udev_queue_export->queue_file, devpaths->devpaths[i]); +- err = udev_queue_read_devpath(udev_queue_export->queue_file, devpath, sizeof(devpath)); +- devpath_len = err; +- +- fwrite(&seqnum, sizeof(unsigned long long int), 1, new_queue_file); +- fwrite(&devpath_len, sizeof(unsigned short), 1, new_queue_file); +- fwrite(devpath, 1, devpath_len, new_queue_file); +- } +- seqnum++; +- } +- free(devpaths); +- devpaths = NULL; +- } +- fflush(new_queue_file); +- if (ferror(new_queue_file)) +- goto error; +- +- /* rename the new file on top of the old one */ +- if (rename("/run/udev/queue.tmp", "/run/udev/queue.bin") != 0) +- goto error; +- +- if (udev_queue_export->queue_file != NULL) +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = new_queue_file; +- udev_queue_export->waste_bytes = 0; +- +- return 0; +- +-error: +- udev_err(udev_queue_export->udev, "failed to create queue file: %m\n"); +- udev_queue_export_cleanup(udev_queue_export); +- +- if (udev_queue_export->queue_file != NULL) { +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = NULL; +- } +- if (new_queue_file != NULL) +- fclose(new_queue_file); +- +- if (devpaths != NULL) +- free(devpaths); +- udev_queue_export->queued_count = 0; +- udev_queue_export->waste_bytes = 0; +- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; +- +- return -1; +-} +- +-static int write_queue_record(struct udev_queue_export *udev_queue_export, +- unsigned long long int seqnum, const char *devpath, size_t devpath_len) +-{ +- unsigned short len; +- +- if (udev_queue_export->queue_file == NULL) +- return -1; +- +- if (fwrite(&seqnum, sizeof(unsigned long long int), 1, udev_queue_export->queue_file) != 1) +- goto write_error; +- +- len = (devpath_len < USHRT_MAX) ? devpath_len : USHRT_MAX; +- if (fwrite(&len, sizeof(unsigned short), 1, udev_queue_export->queue_file) != 1) +- goto write_error; +- if (len > 0) { +- if (fwrite(devpath, 1, len, udev_queue_export->queue_file) != len) +- goto write_error; +- } +- +- /* *must* flush output; caller may fork */ +- if (fflush(udev_queue_export->queue_file) != 0) +- goto write_error; +- +- return 0; +- +-write_error: +- /* if we failed half way through writing a record to a file, +- we should not try to write any further records to it. */ +- udev_err(udev_queue_export->udev, "error writing to queue file: %m\n"); +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = NULL; +- +- return -1; +-} +- +-enum device_state { +- DEVICE_QUEUED, +- DEVICE_FINISHED, +-}; +- +-static inline size_t queue_record_size(size_t devpath_len) +-{ +- return sizeof(unsigned long long int) + sizeof(unsigned short int) + devpath_len; +-} +- +-static int update_queue(struct udev_queue_export *udev_queue_export, +- struct udev_device *udev_device, enum device_state state) +-{ +- unsigned long long int seqnum = udev_device_get_seqnum(udev_device); +- const char *devpath = NULL; +- size_t devpath_len = 0; +- int bytes; +- int err; +- +- /* FINISHED records have a zero length devpath */ +- if (state == DEVICE_QUEUED) { +- devpath = udev_device_get_devpath(udev_device); +- devpath_len = strlen(devpath); +- } +- +- /* recover from an earlier failed rebuild */ +- if (udev_queue_export->queue_file == NULL) { +- if (rebuild_queue_file(udev_queue_export) != 0) +- return -1; +- } +- +- /* if we're removing the last event from the queue, that's the best time to rebuild it */ +- if (state != DEVICE_QUEUED && udev_queue_export->queued_count == 1) { +- /* we don't need to read the old queue file */ +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = NULL; +- rebuild_queue_file(udev_queue_export); +- return 0; +- } +- +- /* try to rebuild the queue files before they grow larger than one page. */ +- bytes = ftell(udev_queue_export->queue_file) + queue_record_size(devpath_len); +- if ((udev_queue_export->waste_bytes > bytes / 2) && bytes > 4096) +- rebuild_queue_file(udev_queue_export); +- +- /* don't record a finished event, if we already dropped the event in a failed rebuild */ +- if (seqnum < udev_queue_export->seqnum_max) +- return 0; +- +- /* now write to the queue */ +- if (state == DEVICE_QUEUED) { +- udev_queue_export->queued_count++; +- udev_queue_export->seqnum_min = seqnum; +- } else { +- udev_queue_export->waste_bytes += queue_record_size(devpath_len) + queue_record_size(0); +- udev_queue_export->queued_count--; +- } +- err = write_queue_record(udev_queue_export, seqnum, devpath, devpath_len); +- +- /* try to handle ENOSPC */ +- if (err != 0 && udev_queue_export->queued_count == 0) { +- udev_queue_export_cleanup(udev_queue_export); +- err = rebuild_queue_file(udev_queue_export); +- } +- +- return err; +-} +- +-static int update(struct udev_queue_export *udev_queue_export, +- struct udev_device *udev_device, enum device_state state) +-{ +- if (update_queue(udev_queue_export, udev_device, state) != 0) +- return -1; +- +- return 0; +-} +- +-int udev_queue_export_device_queued(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) +-{ +- return update(udev_queue_export, udev_device, DEVICE_QUEUED); +-} +- +-int udev_queue_export_device_finished(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) +-{ +- return update(udev_queue_export, udev_device, DEVICE_FINISHED); +-} +diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index 2cb4d67..eb0e096 100644 +--- a/src/libudev/libudev-queue.c ++++ b/src/libudev/libudev-queue.c +@@ -24,8 +24,6 @@ + #include + #include + #include +-#include +-#include + #include + #include + +@@ -36,10 +34,7 @@ + * SECTION:libudev-queue + * @short_description: access to currently active events + * +- * The udev daemon processes events asynchronously. All events which do not have +- * interdependencies run in parallel. This exports the current state of the +- * event processing queue, and the current event sequence numbers from the kernel +- * and the udev daemon. ++ * This exports the current state of the udev processing queue. + */ + + /** +@@ -50,7 +45,6 @@ + struct udev_queue { + struct udev *udev; + int refcount; +- struct udev_list queue_list; + }; + + /** +@@ -72,9 +66,9 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) + udev_queue = new0(struct udev_queue, 1); + if (udev_queue == NULL) + return NULL; ++ + udev_queue->refcount = 1; + udev_queue->udev = udev; +- udev_list_init(udev, &udev_queue->queue_list, false); + return udev_queue; + } + +@@ -90,6 +84,7 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue) + { + if (udev_queue == NULL) + return NULL; ++ + udev_queue->refcount++; + return udev_queue; + } +@@ -107,10 +102,11 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) + { + if (udev_queue == NULL) + return NULL; ++ + udev_queue->refcount--; + if (udev_queue->refcount > 0) + return NULL; +- udev_list_cleanup(&udev_queue->queue_list); ++ + free(udev_queue); + return NULL; + } +@@ -130,141 +126,30 @@ _public_ struct udev *udev_queue_get_udev(struct udev_queue *udev_queue) + return udev_queue->udev; + } + +-unsigned long long int udev_get_kernel_seqnum(struct udev *udev) +-{ +- unsigned long long int seqnum; +- int fd; +- char buf[32]; +- ssize_t len; +- +- fd = open("/sys/kernel/uevent_seqnum", O_RDONLY|O_CLOEXEC); +- if (fd < 0) +- return 0; +- len = read(fd, buf, sizeof(buf)); +- close(fd); +- if (len <= 2) +- return 0; +- buf[len-1] = '\0'; +- seqnum = strtoull(buf, NULL, 10); +- return seqnum; +-} +- + /** + * udev_queue_get_kernel_seqnum: + * @udev_queue: udev queue context + * +- * Get the current kernel event sequence number. ++ * This function is deprecated. + * +- * Returns: the sequence number. ++ * Returns: 0. + **/ + _public_ unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum; +- +- if (udev_queue == NULL) +- return -EINVAL; +- +- seqnum = udev_get_kernel_seqnum(udev_queue->udev); +- return seqnum; +-} +- +-int udev_queue_read_seqnum(FILE *queue_file, unsigned long long int *seqnum) +-{ +- if (fread(seqnum, sizeof(unsigned long long int), 1, queue_file) != 1) +- return -1; +- + return 0; + } + +-ssize_t udev_queue_skip_devpath(FILE *queue_file) +-{ +- unsigned short int len; +- +- if (fread(&len, sizeof(unsigned short int), 1, queue_file) == 1) { +- char *devpath = alloca(len); +- +- /* use fread to skip, fseek might drop buffered data */ +- if (fread(devpath, 1, len, queue_file) == len) +- return len; +- } +- +- return -1; +-} +- +-ssize_t udev_queue_read_devpath(FILE *queue_file, char *devpath, size_t size) +-{ +- unsigned short int read_bytes = 0; +- unsigned short int len; +- +- if (fread(&len, sizeof(unsigned short int), 1, queue_file) != 1) +- return -1; +- +- read_bytes = (len < size - 1) ? len : size - 1; +- if (fread(devpath, 1, read_bytes, queue_file) != read_bytes) +- return -1; +- devpath[read_bytes] = '\0'; +- +- /* if devpath was too long, skip unread characters */ +- if (read_bytes != len) { +- unsigned short int skip_bytes = len - read_bytes; +- char *buf = alloca(skip_bytes); +- +- if (fread(buf, 1, skip_bytes, queue_file) != skip_bytes) +- return -1; +- } +- +- return read_bytes; +-} +- +-static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long int *seqnum_start) +-{ +- FILE *queue_file; +- +- queue_file = fopen("/run/udev/queue.bin", "re"); +- if (queue_file == NULL) +- return NULL; +- +- if (udev_queue_read_seqnum(queue_file, seqnum_start) < 0) { +- udev_err(udev_queue->udev, "corrupt queue file\n"); +- fclose(queue_file); +- return NULL; +- } +- +- return queue_file; +-} +- + /** + * udev_queue_get_udev_seqnum: + * @udev_queue: udev queue context + * +- * Get the last known udev event sequence number. ++ * This function is deprecated. + * +- * Returns: the sequence number. ++ * Returns: 0. + **/ + _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum_udev; +- FILE *queue_file; +- +- queue_file = open_queue_file(udev_queue, &seqnum_udev); +- if (queue_file == NULL) +- return 0; +- +- for (;;) { +- unsigned long long int seqnum; +- ssize_t devpath_len; +- +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- devpath_len = udev_queue_skip_devpath(queue_file); +- if (devpath_len < 0) +- break; +- if (devpath_len > 0) +- seqnum_udev = seqnum; +- } +- +- fclose(queue_file); +- return seqnum_udev; ++ return 0; + } + + /** +@@ -277,15 +162,7 @@ _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *ud + **/ + _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum_start; +- FILE *queue_file; +- +- queue_file = open_queue_file(udev_queue, &seqnum_start); +- if (queue_file == NULL) +- return 0; +- +- fclose(queue_file); +- return 1; ++ return access("/run/udev/control", F_OK) >= 0; + } + + /** +@@ -298,48 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) + **/ + _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum_kernel; +- unsigned long long int seqnum_udev = 0; +- int queued = 0; +- int is_empty = 0; +- FILE *queue_file; +- +- if (udev_queue == NULL) +- return -EINVAL; +- queue_file = open_queue_file(udev_queue, &seqnum_udev); +- if (queue_file == NULL) +- return 1; +- +- for (;;) { +- unsigned long long int seqnum; +- ssize_t devpath_len; +- +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- devpath_len = udev_queue_skip_devpath(queue_file); +- if (devpath_len < 0) +- break; +- +- if (devpath_len > 0) { +- queued++; +- seqnum_udev = seqnum; +- } else { +- queued--; +- } +- } +- +- if (queued > 0) +- goto out; +- +- seqnum_kernel = udev_queue_get_kernel_seqnum(udev_queue); +- if (seqnum_udev < seqnum_kernel) +- goto out; +- +- is_empty = 1; +- +-out: +- fclose(queue_file); +- return is_empty; ++ return access("/run/udev/queue", F_OK) >= 0; + } + + /** +@@ -348,63 +184,15 @@ out: + * @start: first event sequence number + * @end: last event sequence number + * +- * Check if udev is currently processing any events in a given sequence number range. ++ * This function is deprecated, it just returns the result of ++ * udev_queue_get_queue_is_empty(). + * +- * Returns: a flag indicating if any of the sequence numbers in the given range is currently active. ++ * Returns: a flag indicating if udev is currently handling events. + **/ + _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, + unsigned long long int start, unsigned long long int end) + { +- unsigned long long int seqnum; +- ssize_t devpath_len; +- int unfinished; +- FILE *queue_file; +- +- if (udev_queue == NULL) +- return -EINVAL; +- queue_file = open_queue_file(udev_queue, &seqnum); +- if (queue_file == NULL) +- return 1; +- if (start < seqnum) +- start = seqnum; +- if (start > end) { +- fclose(queue_file); +- return 1; +- } +- if (end - start > INT_MAX - 1) { +- fclose(queue_file); +- return -EOVERFLOW; +- } +- +- /* +- * we might start with 0, and handle the initial seqnum +- * only when we find an entry in the queue file +- **/ +- unfinished = end - start; +- +- do { +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- devpath_len = udev_queue_skip_devpath(queue_file); +- if (devpath_len < 0) +- break; +- +- /* +- * we might start with an empty or re-build queue file, where +- * the initial seqnum is not recorded as finished +- */ +- if (start == seqnum && devpath_len > 0) +- unfinished++; +- +- if (devpath_len == 0) { +- if (seqnum >= start && seqnum <= end) +- unfinished--; +- } +- } while (unfinished > 0); +- +- fclose(queue_file); +- +- return (unfinished == 0); ++ return udev_queue_get_queue_is_empty(udev_queue); + } + + /** +@@ -412,69 +200,25 @@ _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_ + * @udev_queue: udev queue context + * @seqnum: sequence number + * +- * Check if udev is currently processing a given sequence number. ++ * This function is deprecated, it just returns the result of ++ * udev_queue_get_queue_is_empty(). + * +- * Returns: a flag indicating if the given sequence number is currently active. ++ * Returns: a flag indicating if udev is currently handling events. + **/ + _public_ int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) + { +- if (!udev_queue_get_seqnum_sequence_is_finished(udev_queue, seqnum, seqnum)) +- return 0; +- +- return 1; ++ return udev_queue_get_queue_is_empty(udev_queue); + } + + /** + * udev_queue_get_queued_list_entry: + * @udev_queue: udev queue context + * +- * Get the first entry of the list of queued events. ++ * This function is deprecated. + * +- * Returns: a udev_list_entry. ++ * Returns: NULL. + **/ + _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum; +- FILE *queue_file; +- +- if (udev_queue == NULL) +- return NULL; +- udev_list_cleanup(&udev_queue->queue_list); +- +- queue_file = open_queue_file(udev_queue, &seqnum); +- if (queue_file == NULL) +- return NULL; +- +- for (;;) { +- char syspath[UTIL_PATH_SIZE]; +- char *s; +- size_t l; +- ssize_t len; +- char seqnum_str[32]; +- struct udev_list_entry *list_entry; +- +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum); +- +- s = syspath; +- l = strpcpy(&s, sizeof(syspath), "/sys"); +- len = udev_queue_read_devpath(queue_file, s, l); +- if (len < 0) +- break; +- +- if (len > 0) { +- udev_list_entry_add(&udev_queue->queue_list, syspath, seqnum_str); +- } else { +- udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_queue->queue_list)) { +- if (streq(seqnum_str, udev_list_entry_get_value(list_entry))) { +- udev_list_entry_delete(list_entry); +- break; +- } +- } +- } +- } +- fclose(queue_file); +- +- return udev_list_get_entry(&udev_queue->queue_list); ++ return NULL; + } +diff --git src/libudev/libudev.h src/libudev/libudev.h +index b9b8f13..ceb89bd 100644 +--- a/src/libudev/libudev.h ++++ b/src/libudev/libudev.h +@@ -170,14 +170,14 @@ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue); + struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue); + struct udev *udev_queue_get_udev(struct udev_queue *udev_queue); + struct udev_queue *udev_queue_new(struct udev *udev); +-unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue); +-unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue); ++unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); ++unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); + int udev_queue_get_udev_is_active(struct udev_queue *udev_queue); + int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); +-int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum); ++int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); + int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, +- unsigned long long int start, unsigned long long int end); +-struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue); ++ unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); ++struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); + + /* + * udev_hwdb +diff --git src/shared/udev-util.h src/shared/udev-util.h +index 40f8b77..5f09ce1 100644 +--- a/src/shared/udev-util.h ++++ b/src/shared/udev-util.h +@@ -31,7 +31,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_ctrl*, udev_ctrl_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_monitor*, udev_monitor_unref); +-DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); + + #define _cleanup_udev_unref_ _cleanup_(udev_unrefp) + #define _cleanup_udev_device_unref_ _cleanup_(udev_device_unrefp) +@@ -40,5 +39,4 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); + #define _cleanup_udev_rules_unref_ _cleanup_(udev_rules_unrefp) + #define _cleanup_udev_ctrl_unref_ _cleanup_(udev_ctrl_unrefp) + #define _cleanup_udev_monitor_unref_ _cleanup_(udev_monitor_unrefp) +-#define _cleanup_udev_queue_unref_ _cleanup_(udev_queue_unrefp) + #define _cleanup_udev_list_cleanup_ _cleanup_(udev_list_cleanup) +diff --git src/test/test-libudev.c src/test/test-libudev.c +index c233b1e..f5c8bc7 100644 +--- a/src/test/test-libudev.c ++++ b/src/test/test-libudev.c +@@ -303,38 +303,14 @@ out: + + static int test_queue(struct udev *udev) { + struct udev_queue *udev_queue; +- unsigned long long int seqnum; +- struct udev_list_entry *list_entry; + + udev_queue = udev_queue_new(udev); + if (udev_queue == NULL) + return -1; +- seqnum = udev_queue_get_kernel_seqnum(udev_queue); +- printf("seqnum kernel: %llu\n", seqnum); +- seqnum = udev_queue_get_udev_seqnum(udev_queue); +- printf("seqnum udev : %llu\n", seqnum); + + if (udev_queue_get_queue_is_empty(udev_queue)) + printf("queue is empty\n"); +- printf("get queue list\n"); +- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) +- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); +- printf("\n"); +- printf("get queue list again\n"); +- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) +- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); +- printf("\n"); + +- list_entry = udev_queue_get_queued_list_entry(udev_queue); +- if (list_entry != NULL) { +- printf("event [%llu] is queued\n", seqnum); +- seqnum = strtoull(udev_list_entry_get_value(list_entry), NULL, 10); +- if (udev_queue_get_seqnum_is_finished(udev_queue, seqnum)) +- printf("event [%llu] is not finished\n", seqnum); +- else +- printf("event [%llu] is finished\n", seqnum); +- } +- printf("\n"); + udev_queue_unref(udev_queue); + return 0; + } +diff --git src/udev/udev-ctrl.c src/udev/udev-ctrl.c +index 1e91ec2..74bbd3a 100644 +--- a/src/udev/udev-ctrl.c ++++ b/src/udev/udev-ctrl.c +@@ -275,7 +275,7 @@ static int ctrl_send(struct udev_ctrl *uctrl, enum udev_ctrl_msg_type type, int + + pfd[0].fd = uctrl->sock; + pfd[0].events = POLLIN; +- r = poll(pfd, 1, timeout * 1000); ++ r = poll(pfd, 1, timeout * MSEC_PER_SEC); + if (r < 0) { + if (errno == EINTR) + continue; +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 927ea2a..65fc35f 100644 +--- a/src/udev/udevadm-settle.c ++++ b/src/udev/udevadm-settle.c +@@ -41,42 +41,28 @@ + static void help(void) { + printf("Usage: udevadm settle OPTIONS\n" + " -t,--timeout= maximum time to wait for events\n" +- " -s,--seq-start= first seqnum to wait for\n" +- " -e,--seq-end= last seqnum to wait for\n" + " -E,--exit-if-exists= stop waiting if file exists\n" +- " -q,--quiet do not print list after timeout\n" + " -h,--help\n\n"); + } + + static int adm_settle(struct udev *udev, int argc, char *argv[]) + { + static const struct option options[] = { +- { "seq-start", required_argument, NULL, 's' }, +- { "seq-end", required_argument, NULL, 'e' }, ++ { "seq-start", required_argument, NULL, '\0' }, /* removed */ ++ { "seq-end", required_argument, NULL, '\0' }, /* removed */ + { "timeout", required_argument, NULL, 't' }, + { "exit-if-exists", required_argument, NULL, 'E' }, +- { "quiet", no_argument, NULL, 'q' }, ++ { "quiet", no_argument, NULL, 'q' }, /* removed */ + { "help", no_argument, NULL, 'h' }, + {} + }; +- usec_t start_usec = now(CLOCK_MONOTONIC); +- usec_t start = 0; +- usec_t end = 0; +- int quiet = 0; + const char *exists = NULL; + unsigned int timeout = 120; + struct pollfd pfd[1] = { {.fd = -1}, }; +- _cleanup_udev_queue_unref_ struct udev_queue *udev_queue = NULL; + int rc = EXIT_FAILURE, c; + +- while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) ++ while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { + switch (c) { +- case 's': +- start = strtoull(optarg, NULL, 0); +- break; +- case 'e': +- end = strtoull(optarg, NULL, 0); +- break; + case 't': { + int r; + +@@ -91,9 +77,6 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + case 'E': + exists = optarg; + break; +- case 'q': +- quiet = 1; +- break; + case 'h': + help(); + exit(EXIT_SUCCESS); +@@ -102,44 +85,13 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + default: + assert_not_reached("Unknown argument"); + } ++ } + + if (optind < argc) { + fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); + exit(EXIT_FAILURE); + } + +- udev_queue = udev_queue_new(udev); +- if (udev_queue == NULL) +- exit(2); +- +- if (start > 0) { +- unsigned long long kernel_seq; +- +- kernel_seq = udev_queue_get_kernel_seqnum(udev_queue); +- +- /* unless specified, the last event is the current kernel seqnum */ +- if (end == 0) +- end = udev_queue_get_kernel_seqnum(udev_queue); +- +- if (start > end) { +- log_error("seq-start larger than seq-end, ignoring"); +- start = 0; +- end = 0; +- } +- +- if (start > kernel_seq || end > kernel_seq) { +- log_error("seq-start or seq-end larger than current kernel value, ignoring"); +- start = 0; +- end = 0; +- } +- log_debug("start=%llu end=%llu current=%llu", (unsigned long long)start, (unsigned long long)end, kernel_seq); +- } else { +- if (end > 0) { +- log_error("seq-end needs seq-start parameter, ignoring"); +- end = 0; +- } +- } +- + /* guarantee that the udev daemon isn't pre-processing */ + if (getuid() == 0) { + struct udev_ctrl *uctrl; +@@ -160,73 +112,34 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + pfd[0].fd = inotify_init1(IN_CLOEXEC); + if (pfd[0].fd < 0) { + log_error("inotify_init failed: %m"); +- } else { +- if (inotify_add_watch(pfd[0].fd, "/run/udev" , IN_MOVED_TO) < 0) { +- log_error("watching /run/udev failed"); +- close(pfd[0].fd); +- pfd[0].fd = -1; +- } ++ goto out; + } + +- for (;;) { +- struct stat statbuf; ++ if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { ++ log_debug("watching /run/udev failed"); ++ goto out; ++ } + +- if (exists != NULL && stat(exists, &statbuf) == 0) { ++ for (;;) { ++ if (exists && access(exists, F_OK) >= 0) { + rc = EXIT_SUCCESS; + break; + } + +- if (start > 0) { +- /* if asked for, wait for a specific sequence of events */ +- if (udev_queue_get_seqnum_sequence_is_finished(udev_queue, start, end) == 1) { +- rc = EXIT_SUCCESS; +- break; +- } +- } else { +- /* exit if queue is empty */ +- if (udev_queue_get_queue_is_empty(udev_queue)) { +- rc = EXIT_SUCCESS; +- break; +- } +- } +- +- if (pfd[0].fd >= 0) { +- int delay; +- +- if (exists != NULL || start > 0) +- delay = 100; +- else +- delay = 1000; +- /* wake up after delay, or immediately after the queue is rebuilt */ +- if (poll(pfd, 1, delay) > 0 && pfd[0].revents & POLLIN) { +- char buf[sizeof(struct inotify_event) + PATH_MAX]; +- +- read(pfd[0].fd, buf, sizeof(buf)); +- } +- } else { +- sleep(1); ++ /* exit if queue is empty */ ++ if (access("/run/udev/queue", F_OK) < 0) { ++ rc = EXIT_SUCCESS; ++ break; + } + +- if (timeout > 0) { +- usec_t age_usec; ++ /* wake up when "queue" file is deleted */ ++ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { ++ char buf[sizeof(struct inotify_event) + PATH_MAX]; + +- age_usec = now(CLOCK_MONOTONIC) - start_usec; +- if (age_usec / (1000 * 1000) >= timeout) { +- struct udev_list_entry *list_entry; +- +- if (!quiet && udev_queue_get_queued_list_entry(udev_queue) != NULL) { +- log_debug("timeout waiting for udev queue"); +- printf("\nudevadm settle - timeout of %i seconds reached, the event queue contains:\n", timeout); +- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) +- printf(" %s (%s)\n", +- udev_list_entry_get_name(list_entry), +- udev_list_entry_get_value(list_entry)); +- } +- +- break; +- } ++ read(pfd[0].fd, buf, sizeof(buf)); + } + } ++ + out: + if (pfd[0].fd >= 0) + close(pfd[0].fd); +@@ -236,5 +149,5 @@ out: + const struct udevadm_cmd udevadm_settle = { + .name = "settle", + .cmd = adm_settle, +- .help = "wait for the event queue to finish", ++ .help = "wait for pending udev events", + }; +diff --git src/udev/udevd.c src/udev/udevd.c +index f21c227..f9ee368 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -60,7 +60,6 @@ void udev_main_log(struct udev *udev, int priority, + } + + static struct udev_rules *rules; +-static struct udev_queue_export *udev_queue_export; + static struct udev_ctrl *udev_ctrl; + static struct udev_monitor *monitor; + static int worker_watch[2] = { -1, -1 }; +@@ -139,14 +138,9 @@ static inline struct worker *node_to_worker(struct udev_list_node *node) + return container_of(node, struct worker, node); + } + +-static void event_queue_delete(struct event *event, bool export) ++static void event_queue_delete(struct event *event) + { + udev_list_node_remove(&event->node); +- +- if (export) { +- udev_queue_export_device_finished(udev_queue_export, event->dev); +- log_debug("seq %llu done with %i", udev_device_get_seqnum(event->dev), event->exitcode); +- } + udev_device_unref(event->dev); + free(event); + } +@@ -225,7 +219,6 @@ static void worker_new(struct event *event) + free(worker); + worker_list_cleanup(udev); + event_queue_cleanup(udev, EVENT_UNDEF); +- udev_queue_export_unref(udev_queue_export); + udev_monitor_unref(monitor); + udev_ctrl_unref(udev_ctrl); + close(fd_signal); +@@ -449,7 +442,6 @@ static int event_queue_insert(struct udev_device *dev) + event->nodelay = true; + #endif + +- udev_queue_export_device_queued(udev_queue_export, dev); + log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), + udev_device_get_action(dev), udev_device_get_subsystem(dev)); + +@@ -580,7 +572,7 @@ static void event_queue_cleanup(struct udev *udev, enum event_state match_type) + if (match_type != EVENT_UNDEF && match_type != event->state) + continue; + +- event_queue_delete(event, false); ++ event_queue_delete(event); + } + } + +@@ -605,7 +597,7 @@ static void worker_returned(int fd_worker) + /* worker returned */ + if (worker->event) { + worker->event->exitcode = msg.exitcode; +- event_queue_delete(worker->event, true); ++ event_queue_delete(worker->event); + worker->event = NULL; + } + if (worker->state != WORKER_KILLED) +@@ -797,7 +789,8 @@ static void handle_signal(struct udev *udev, int signo) + log_error("worker [%u] failed while handling '%s'", + pid, worker->event->devpath); + worker->event->exitcode = -32; +- event_queue_delete(worker->event, true); ++ event_queue_delete(worker->event); ++ + /* drop reference taken for state 'running' */ + worker_unref(worker); + } +@@ -1076,14 +1069,7 @@ int main(int argc, char *argv[]) + goto exit; + } + +- udev_monitor_set_receive_buffer_size(monitor, 128*1024*1024); +- +- /* create queue file before signalling 'ready', to make sure we block 'settle' */ +- udev_queue_export = udev_queue_export_new(udev); +- if (udev_queue_export == NULL) { +- log_error("error creating queue file"); +- goto exit; +- } ++ udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024); + + if (daemonize) { + pid_t pid; +@@ -1241,12 +1227,12 @@ int main(int argc, char *argv[]) + worker_kill(udev); + + /* exit after all has cleaned up */ +- if (udev_list_node_is_empty(&event_list) && udev_list_node_is_empty(&worker_list)) ++ if (udev_list_node_is_empty(&event_list) && children == 0) + break; + + /* timeout at exit for workers to finish */ +- timeout = 30 * 1000; +- } else if (udev_list_node_is_empty(&event_list) && !children) { ++ timeout = 30 * MSEC_PER_SEC; ++ } else if (udev_list_node_is_empty(&event_list) && children == 0) { + /* we are idle */ + timeout = -1; + +@@ -1255,8 +1241,20 @@ int main(int argc, char *argv[]) + cg_kill(SYSTEMD_CGROUP_CONTROLLER, udev_cgroup, SIGKILL, false, true, NULL); + } else { + /* kill idle or hanging workers */ +- timeout = 3 * 1000; ++ timeout = 3 * MSEC_PER_SEC; + } ++ ++ /* tell settle that we are busy or idle */ ++ if (!udev_list_node_is_empty(&event_list)) { ++ int fd; ++ ++ fd = open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444); ++ if (fd >= 0) ++ close(fd); ++ } else { ++ unlink("/run/udev/queue"); ++ } ++ + fdcount = epoll_wait(fd_ep, ev, ELEMENTSOF(ev), timeout); + if (fdcount < 0) + continue; +@@ -1283,18 +1281,18 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { + log_error("worker [%u] %s timeout; kill it", worker->pid, + worker->event ? worker->event->devpath : ""); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; ++ + /* drop reference taken for state 'running' */ + worker_unref(worker); + if (worker->event) { +- log_error("seq %llu '%s' killed", +- udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); + worker->event->exitcode = -64; +- event_queue_delete(worker->event, true); ++ event_queue_delete(worker->event); + worker->event = NULL; + } + } +@@ -1317,7 +1315,7 @@ int main(int argc, char *argv[]) + } + + /* check for changed config, every 3 seconds at most */ +- if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * USEC_PER_SEC) { + if (udev_rules_check_timestamp(rules)) + reload = true; + if (udev_builtin_validate(udev)) +@@ -1390,8 +1388,8 @@ int main(int argc, char *argv[]) + + rc = EXIT_SUCCESS; + exit: +- udev_queue_export_cleanup(udev_queue_export); + udev_ctrl_cleanup(udev_ctrl); ++ unlink("/run/udev/queue"); + exit_daemonize: + if (fd_ep >= 0) + close(fd_ep); +@@ -1406,7 +1404,6 @@ exit_daemonize: + if (worker_watch[WRITE_END] >= 0) + close(worker_watch[WRITE_END]); + udev_monitor_unref(monitor); +- udev_queue_export_unref(udev_queue_export); + udev_ctrl_connection_unref(ctrl_conn); + udev_ctrl_unref(udev_ctrl); + label_finish(); +-- +1.7.9.2 + diff --git a/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch b/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch new file mode 100644 index 00000000..75da64fa --- /dev/null +++ b/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch @@ -0,0 +1,31 @@ +From a52ec8ed881537627869afa8f0486db7e20ce2db Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Fri, 30 May 2014 13:16:56 -0400 +Subject: [PATCH] udev-builtin-keyboard: do tell on which device EVIOCSKEYCODE + failed. + +I am getting + +"Error calling EVIOCSKEYCODE (scan code 0xc022d, key code 418): Invalid +argument", the error message does not tell on which specific device the +problem is, add that info. +--- + src/udev/udev-builtin-keyboard.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udev-builtin-keyboard.c src/udev/udev-builtin-keyboard.c +index 614e44e..9b66bfd 100644 +--- src/udev/udev-builtin-keyboard.c ++++ src/udev/udev-builtin-keyboard.c +@@ -143,7 +143,7 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo + log_debug("keyboard: mapping scan code %d (0x%x) to key code %d (0x%x)", + map[i].scan, map[i].scan, map[i].key, map[i].key); + if (ioctl(fd, EVIOCSKEYCODE, &map[i]) < 0) +- log_error("Error calling EVIOCSKEYCODE (scan code 0x%x, key code %d): %m", map[i].scan, map[i].key); ++ log_error("Error calling EVIOCSKEYCODE on device node '%s' (scan code 0x%x, key code %d): %m", node, map[i].scan, map[i].key); + } + + /* install list of force-release codes */ +-- +1.7.9.2 + diff --git a/1024-udev-always-close-lock-file-descriptor.patch b/1024-udev-always-close-lock-file-descriptor.patch new file mode 100644 index 00000000..aaa4b296 --- /dev/null +++ b/1024-udev-always-close-lock-file-descriptor.patch @@ -0,0 +1,41 @@ +Based on 3d06f4183470d42361303086ed9dedd29c0ffc1b Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 3 Jun 2014 10:46:51 +0200 +Subject: [PATCH] udev: always close lock file descriptor + +https://bugs.freedesktop.org/show_bug.cgi?id=79576 +--- + src/udev/udevd.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-06-03 15:34:42.778346368 +0000 +@@ -301,6 +301,7 @@ static void worker_new(struct event *eve + if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { + log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); + err = -EWOULDBLOCK; ++ close_nointr_nofail(fd_lock); fd_lock = -1; + goto skip; + } + } +@@ -318,7 +319,7 @@ static void worker_new(struct event *eve + } + + if (fd_lock >= 0) +- close(fd_lock); ++ close_nointr_nofail(fd_lock); + + /* send processed event back to libudev listeners */ + udev_monitor_send_device(worker_monitor, NULL, dev); +@@ -378,9 +379,9 @@ skip: + out: + udev_device_unref(dev); + if (fd_signal >= 0) +- close(fd_signal); ++ close_nointr_nofail(fd_signal); + if (fd_ep >= 0) +- close(fd_ep); ++ close_nointr_nofail(fd_ep); + close(fd_inotify); + close(worker_watch[WRITE_END]); + udev_rules_unref(rules); diff --git a/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch b/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch new file mode 100644 index 00000000..2dc531f4 --- /dev/null +++ b/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch @@ -0,0 +1,39 @@ +From e918a1b5a94f270186dca59156354acd2a596494 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 3 Jun 2014 16:49:38 +0200 +Subject: [PATCH] udev: exclude device-mapper from block device ownership event + locking + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 819ea3b..6c05104 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -290,7 +290,19 @@ static void worker_new(struct event *event) + * acquired the lock, the external process will block until + * udev has finished its event handling. + */ +- if (streq_ptr("block", udev_device_get_subsystem(dev))) { ++ ++ /* ++ * since we make check - device seems unused - we try ++ * ioctl to deactivate - and device is found to be opened ++ * sure, you try to take a write lock ++ * if you get it udev is out ++ * if you can't get it, udev is busy ++ * we cannot deactivate openned device (as it is in-use) ++ * maybe we should just exclude dm from that thing entirely ++ * IMHO this sounds like a good plan for this moment ++ */ ++ if (streq_ptr("block", udev_device_get_subsystem(dev)) && ++ !startswith("dm-", udev_device_get_sysname(dev))) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +-- +1.8.4.5 + diff --git a/1026-udevd-inotify-modernizations.patch b/1026-udevd-inotify-modernizations.patch new file mode 100644 index 00000000..c63093ff --- /dev/null +++ b/1026-udevd-inotify-modernizations.patch @@ -0,0 +1,85 @@ +From edd32000c806e4527c5f376d138f7bff07724c26 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 11:05:45 +0200 +Subject: [PATCH] udevd: inotify - modernizations + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 45 ++++++++++++++++++++++----------------------- + 1 file changed, 22 insertions(+), 23 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -736,20 +736,30 @@ out: + return udev_ctrl_connection_unref(ctrl_conn); + } + ++static void synthesize_change(struct udev_device *dev) { ++ char filename[UTIL_PATH_SIZE]; ++ ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++} ++ + /* read inotify messages */ + static int handle_inotify(struct udev *udev) + { + int nbytes, pos; + char *buf; + struct inotify_event *ev; ++ int r; + +- if ((ioctl(fd_inotify, FIONREAD, &nbytes) < 0) || (nbytes <= 0)) +- return 0; ++ r = ioctl(fd_inotify, FIONREAD, &nbytes); ++ if (r < 0 || nbytes <= 0) ++ return -errno; + + buf = malloc(nbytes); +- if (buf == NULL) { ++ if (!buf) { + log_error("error getting buffer for inotify"); +- return -1; ++ return -ENOMEM; + } + + nbytes = read(fd_inotify, buf, nbytes); +@@ -759,27 +769,16 @@ static int handle_inotify(struct udev *u + + ev = (struct inotify_event *)(buf + pos); + dev = udev_watch_lookup(udev, ev->wd); +- if (dev != NULL) { +- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); +- if (ev->mask & IN_CLOSE_WRITE) { +- char filename[UTIL_PATH_SIZE]; +- int fd; +- +- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); +- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); +- fd = open(filename, O_WRONLY|O_CLOEXEC); +- if (fd >= 0) { +- if (write(fd, "change", 6) < 0) +- log_debug("error writing uevent: %m"); +- close(fd); +- } +- } +- if (ev->mask & IN_IGNORED) +- udev_watch_end(udev, dev); ++ if (!dev) ++ continue; + +- udev_device_unref(dev); +- } ++ log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); ++ if (ev->mask & IN_CLOSE_WRITE) ++ synthesize_change(dev); ++ else if (ev->mask & IN_IGNORED) ++ udev_watch_end(udev, dev); + ++ udev_device_unref(dev); + } + + free(buf); diff --git a/1027-udev-synthesize-change-events-for-partitions-when-to.patch b/1027-udev-synthesize-change-events-for-partitions-when-to.patch new file mode 100644 index 00000000..ab09c1b2 --- /dev/null +++ b/1027-udev-synthesize-change-events-for-partitions-when-to.patch @@ -0,0 +1,84 @@ +From f3a740a5dae792fb6b2d411022ce8c29ced1c3f1 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 12:16:28 +0200 +Subject: [PATCH] udev: synthesize "change' events for partitions when tools + change the disk + +This should make sure that fdisk-like programs will automatically +cause an update of all partitions, just like mkfs-like programs cause +an update of the partition. + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 42 insertions(+), 2 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -46,6 +46,7 @@ + #include + + #include "udev.h" ++#include "udev-util.h" + #include "sd-daemon.h" + #include "cgroup-util.h" + #include "dev-setup.h" +@@ -736,15 +737,54 @@ out: + return udev_ctrl_connection_unref(ctrl_conn); + } + +-static void synthesize_change(struct udev_device *dev) { ++static int synthesize_change(struct udev_device *dev) { + char filename[UTIL_PATH_SIZE]; ++ int r; + + log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); + strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); + write_string_file(filename, "change"); ++ ++ /* for disks devices, re-trigger all partitions too */ ++ if (streq_ptr("block", udev_device_get_subsystem(dev)) && ++ streq_ptr("disk", udev_device_get_devtype(dev))) { ++ struct udev *udev = udev_device_get_udev(dev); ++ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; ++ struct udev_list_entry *item; ++ ++ e = udev_enumerate_new(udev); ++ if (!e) ++ return -ENOMEM; ++ ++ r = udev_enumerate_add_match_parent(e, dev); ++ if (r < 0) ++ return r; ++ ++ r = udev_enumerate_add_match_subsystem(e, "block"); ++ if (r < 0) ++ return r; ++ ++ r = udev_enumerate_scan_devices(e); ++ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { ++ _cleanup_udev_device_unref_ struct udev_device *d = NULL; ++ ++ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); ++ if (!d) ++ continue; ++ ++ if (!streq_ptr("partition", udev_device_get_devtype(d))) ++ continue; ++ ++ log_debug("device %s closed, synthesising partition '%s' 'change'", ++ udev_device_get_devnode(dev), udev_device_get_devnode(d)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ } ++ } ++ ++ return 0; + } + +-/* read inotify messages */ + static int handle_inotify(struct udev *udev) + { + int nbytes, pos; diff --git a/1028-udev-link-config-fix-mem-leak.patch b/1028-udev-link-config-fix-mem-leak.patch new file mode 100644 index 00000000..265009f0 --- /dev/null +++ b/1028-udev-link-config-fix-mem-leak.patch @@ -0,0 +1,34 @@ +From edf029b7fd9a5853a87d3ca99aac2922bb8a277e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 4 Jun 2014 12:34:23 +0200 +Subject: [PATCH] udev: link-config - fix mem leak + +Reported by Kay. + +Signed-off-by: Robert Milasan +--- + src/udev/net/link-config.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +Index: systemd-210/src/udev/net/link-config.c +=================================================================== +--- systemd-210.orig/src/udev/net/link-config.c ++++ systemd-210/src/udev/net/link-config.c +@@ -118,6 +118,7 @@ static void link_configs_free(link_confi + free(link->match_type); + free(link->description); + free(link->alias); ++ free(link->name_policy); + + free(link); + } +@@ -205,7 +206,8 @@ static bool enable_name_policy(void) { + + int link_config_load(link_config_ctx *ctx) { + int r; +- char **files, **f; ++ _cleanup_strv_free_ char **files; ++ char **f; + + link_configs_free(ctx); + diff --git a/1029-udev-try-first-re-reading-the-partition-table.patch b/1029-udev-try-first-re-reading-the-partition-table.patch new file mode 100644 index 00000000..fa20002b --- /dev/null +++ b/1029-udev-try-first-re-reading-the-partition-table.patch @@ -0,0 +1,94 @@ +From ede344452a54e1c53f541cad12a06269a4fe96a9 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 13:30:24 +0200 +Subject: [PATCH] udev: try first re-reading the partition table + +mounted partitions: + # dd if=/dev/zero of=/dev/sda bs=1 count=1 + UDEV [4157.369250] change .../0:0:0:0/block/sda (block) + UDEV [4157.375059] change .../0:0:0:0/block/sda/sda1 (block) + UDEV [4157.397088] change .../0:0:0:0/block/sda/sda2 (block) + UDEV [4157.404842] change .../0:0:0:0/block/sda/sda4 (block) + +unmounted partitions: + # dd if=/dev/zero of=/dev/sdb bs=1 count=1 + UDEV [4163.450217] remove .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) + UDEV [4163.593167] change .../target6:0:0/6:0:0:0/block/sdb (block) + UDEV [4163.713982] add .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 39 +++++++++++++++++++++++++++++++++------ + 1 file changed, 33 insertions(+), 6 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -741,17 +742,37 @@ static int synthesize_change(struct udev + char filename[UTIL_PATH_SIZE]; + int r; + +- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); +- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); +- write_string_file(filename, "change"); +- +- /* for disks devices, re-trigger all partitions too */ + if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- streq_ptr("disk", udev_device_get_devtype(dev))) { ++ streq_ptr("disk", udev_device_get_devtype(dev)) && ++ !startswith("dm-", udev_device_get_sysname(dev))) { ++ int fd; + struct udev *udev = udev_device_get_udev(dev); + _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; + struct udev_list_entry *item; + ++ /* ++ * Try to re-read the partition table, this only succeeds if ++ * none of the devices is busy. ++ * ++ * The kernel will send out a change event for the disk, and ++ * "remove/add" for all partitions. ++ */ ++ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ if (fd >= 0) { ++ r = ioctl(fd, BLKRRPART, 0); ++ close(fd); ++ if (r >= 0) ++ return 0; ++ } ++ ++ /* ++ * Re-reading the partition table did not work, synthesize "change" ++ * events for the disk and all partitions. ++ */ ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ + e = udev_enumerate_new(udev); + if (!e) + return -ENOMEM; +@@ -780,8 +801,14 @@ static int synthesize_change(struct udev + strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); + write_string_file(filename, "change"); + } ++ ++ return 0; + } + ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ + return 0; + } + diff --git a/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch b/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch new file mode 100644 index 00000000..6fb7b15f --- /dev/null +++ b/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch @@ -0,0 +1,23 @@ +From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 14:09:31 +0200 +Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL) + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -757,7 +757,7 @@ static int synthesize_change(struct udev + * The kernel will send out a change event for the disk, and + * "remove/add" for all partitions. + */ +- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd >= 0) { + r = ioctl(fd, BLKRRPART, 0); + close(fd); diff --git a/1031-udev-make-sure-we-always-get-change-for-the-disk.patch b/1031-udev-make-sure-we-always-get-change-for-the-disk.patch new file mode 100644 index 00000000..4f48cd3a --- /dev/null +++ b/1031-udev-make-sure-we-always-get-change-for-the-disk.patch @@ -0,0 +1,98 @@ +From e9fc29f4ecc9509ccc02eb8a014341e26c0d7831 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 15:17:15 +0200 +Subject: [PATCH] udev: make sure we always get "change" for the disk + +The kernel will return 0 for REREADPT when no partition table +is found, we have to send out "change" ourselves. + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 53 +++++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 39 insertions(+), 14 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -745,34 +745,28 @@ static int synthesize_change(struct udev + if (streq_ptr("block", udev_device_get_subsystem(dev)) && + streq_ptr("disk", udev_device_get_devtype(dev)) && + !startswith("dm-", udev_device_get_sysname(dev))) { ++ bool part_table_read = false; ++ bool has_partitions = false; + int fd; + struct udev *udev = udev_device_get_udev(dev); + _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; + struct udev_list_entry *item; + + /* +- * Try to re-read the partition table, this only succeeds if +- * none of the devices is busy. +- * +- * The kernel will send out a change event for the disk, and +- * "remove/add" for all partitions. ++ * Try to re-read the partition table. This only succeeds if ++ * none of the devices is busy. The kernel returns 0 if no ++ * partition table is found, and we will not get an event for ++ * the disk. + */ + fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd >= 0) { + r = ioctl(fd, BLKRRPART, 0); + close(fd); + if (r >= 0) +- return 0; ++ part_table_read = true; + } + +- /* +- * Re-reading the partition table did not work, synthesize "change" +- * events for the disk and all partitions. +- */ +- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); +- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); +- write_string_file(filename, "change"); +- ++ /* search for partitions */ + e = udev_enumerate_new(udev); + if (!e) + return -ENOMEM; +@@ -786,6 +780,37 @@ static int synthesize_change(struct udev + return r; + + r = udev_enumerate_scan_devices(e); ++ ++ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { ++ _cleanup_udev_device_unref_ struct udev_device *d = NULL; ++ ++ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); ++ if (!d) ++ continue; ++ ++ if (!streq_ptr("partition", udev_device_get_devtype(d))) ++ continue; ++ ++ has_partitions = true; ++ break; ++ } ++ ++ /* ++ * We have partitions and re-read the table, the kernel already sent ++ * out a "change" event for the disk, and "remove/add" for all ++ * partitions. ++ */ ++ if (part_table_read && has_partitions) ++ return 0; ++ ++ /* ++ * We have partitions but re-reading the partition table did not ++ * work, synthesize "change" for the disk and all partitions. ++ */ ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ + udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { + _cleanup_udev_device_unref_ struct udev_device *d = NULL; + diff --git a/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch b/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch new file mode 100644 index 00000000..4a6d7c13 --- /dev/null +++ b/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch @@ -0,0 +1,29 @@ +From 02ba8fb3357daf57f6120ac512fb464a4c623419 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 16:21:19 +0200 +Subject: [PATCH] udev: guard REREADPT by exclusive lock instead of O_EXCL + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -758,9 +758,12 @@ static int synthesize_change(struct udev + * partition table is found, and we will not get an event for + * the disk. + */ +- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd >= 0) { +- r = ioctl(fd, BLKRRPART, 0); ++ r = flock(fd, LOCK_EX|LOCK_NB); ++ if (r >= 0) ++ r = ioctl(fd, BLKRRPART, 0); ++ + close(fd); + if (r >= 0) + part_table_read = true; diff --git a/1033-udev-really-exclude-device-mapper-from-block-device.patch b/1033-udev-really-exclude-device-mapper-from-block-device.patch new file mode 100644 index 00000000..594331c3 --- /dev/null +++ b/1033-udev-really-exclude-device-mapper-from-block-device.patch @@ -0,0 +1,39 @@ +From 638ca89c53e2b897cfb3f627f4acbc7d09af2f4c Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 10 Jun 2014 15:51:15 +0200 +Subject: [PATCH] udev: really exclude device-mapper from block device + ownership event locking + +Arguments were wrong order, no? +This fixes commits: + +e918a1b5a94f270186dca59156354acd2a596494 +3d06f4183470d42361303086ed9dedd29c0ffc1b + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -304,7 +304,7 @@ static void worker_new(struct event *eve + * IMHO this sounds like a good plan for this moment + */ + if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- !startswith("dm-", udev_device_get_sysname(dev))) { ++ !startswith(udev_device_get_sysname(dev), "dm-")) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +@@ -744,7 +744,7 @@ static int synthesize_change(struct udev + + if (streq_ptr("block", udev_device_get_subsystem(dev)) && + streq_ptr("disk", udev_device_get_devtype(dev)) && +- !startswith("dm-", udev_device_get_sysname(dev))) { ++ !startswith(udev_device_get_sysname(dev), "dm-")) { + bool part_table_read = false; + bool has_partitions = false; + int fd; diff --git a/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch b/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch new file mode 100644 index 00000000..c2a21fce --- /dev/null +++ b/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch @@ -0,0 +1,26 @@ +From 47a3fa0f7679521b85f7aeba9e245c52cc7bb2cb Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Wed, 4 Jun 2014 23:40:43 +0200 +Subject: [PATCH] udev: check the return value from udev_enumerate_scan_devices + +The return value from udev_enumerate_scan_devices was stored but +never used. I assume this was meant to be checked. + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 2 ++ + 1 file changed, 2 insertions(+) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -783,6 +783,8 @@ static int synthesize_change(struct udev + return r; + + r = udev_enumerate_scan_devices(e); ++ if (r < 0) ++ return r; + + udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { + _cleanup_udev_device_unref_ struct udev_device *d = NULL; diff --git a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch new file mode 100644 index 00000000..09c5202c --- /dev/null +++ b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch @@ -0,0 +1,32 @@ +From c9af1be90db5a29ac86605c67bc2bb4bc5780520 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 12 Jun 2014 12:25:03 +0200 +Subject: [PATCH] 99-systemd.rules: Ignore devices with 'SYSTEMD_READY=0' + +Whenever a rule sets 'SYSTEMD_READY=0' it tries to indicate +that systemd should ignore this device. So we should not +set the 'systemd' tag in these cases; otherwise systemd +will pick up the device. + +References: bnc#881942 + +Signed-off-by: Hannes Reinecke +--- + rules/99-systemd.rules.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in +index db72373..11ee262 100644 +--- a/rules/99-systemd.rules.in ++++ b/rules/99-systemd.rules.in +@@ -11,6 +11,7 @@ SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270 + + KERNEL=="vport*", TAG+="systemd" + ++SUBSYSTEM=="block", KERNEL!="ram*", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" + SUBSYSTEM=="block", KERNEL!="ram*", TAG+="systemd" + SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" + +-- +1.8.4.5 + diff --git a/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch b/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch new file mode 100644 index 00000000..d26c49c0 --- /dev/null +++ b/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch @@ -0,0 +1,14 @@ +Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules ++++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +@@ -68,7 +68,8 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob + ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" + + # match interface dev_id +-ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" ++# disable due to bnc#882714 ++# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" + + # do not use "locally administered" MAC address + ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" diff --git a/1037-udev-exclude-cd-dvd-from-block-device.patch b/1037-udev-exclude-cd-dvd-from-block-device.patch new file mode 100644 index 00000000..0b8d68ff --- /dev/null +++ b/1037-udev-exclude-cd-dvd-from-block-device.patch @@ -0,0 +1,14 @@ +Exclude cd/dvd as well (bnc#882714) + +--- systemd-210/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c 2014-06-18 12:53:34.454235577 +0000 +@@ -744,7 +744,8 @@ static int synthesize_change(struct udev + + if (streq_ptr("block", udev_device_get_subsystem(dev)) && + streq_ptr("disk", udev_device_get_devtype(dev)) && +- !startswith(udev_device_get_sysname(dev), "dm-")) { ++ !startswith(udev_device_get_sysname(dev), "dm-") && ++ !startswith(udev_device_get_sysname(dev), "sr")) { + bool part_table_read = false; + bool has_partitions = false; + int fd; diff --git a/1038-udev-fix-invalid-free-in-enable_name_policy.patch b/1038-udev-fix-invalid-free-in-enable_name_policy.patch new file mode 100644 index 00000000..4afdb7ce --- /dev/null +++ b/1038-udev-fix-invalid-free-in-enable_name_policy.patch @@ -0,0 +1,30 @@ +From f8a0bb5285024b6ce372c3157e761e6543ebdcd2 Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Fri, 13 Jun 2014 18:48:21 +0200 +Subject: [PATCH] udev: fix invalid free() in enable_name_policy() + +static bool enable_name_policy(...) in ./src/udev/net/link-config.c +calls proc_cmdline(...) to get "line" initialized, but +proc_cmdline(...) does not guarantee that atleast when both +conditions (detect_container(NULL) > 0) and +read_full_file(...) returned < 0. +--- + src/udev/net/link-config.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/net/link-config.c src/udev/net/link-config.c +index a9acc3d..7a9d01b 100644 +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c +@@ -185,7 +185,7 @@ static int load_link(link_config_ctx *ctx, const char *filename) { + } + + static bool enable_name_policy(void) { +- _cleanup_free_ char *line; ++ _cleanup_free_ char *line = NULL; + char *w, *state; + int r; + size_t l; +-- +1.7.9.2 + diff --git a/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch b/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch new file mode 100644 index 00000000..2760970f --- /dev/null +++ b/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch @@ -0,0 +1,34 @@ +From 83be2c398589a3d64db5999cfd5527c5219bff46 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 20 May 2014 12:25:16 +0200 +Subject: [PATCH] udevadm-settle: fixed return code for empty queue + +If the udev queue is empty and "/run/udev/queue" does not exist, +"udevadm settle" would return with EXIT_FAILURE, because the inotify on +"/run/udev/queue" would fail with ENOENT. + +This patch lets "udevadm settle" exit with EXIT_SUCCESS in this case. +--- + src/udev/udevadm-settle.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 65fc35f..66fd843 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -116,7 +116,11 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + } + + if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { +- log_debug("watching /run/udev failed"); ++ /* If it does not exist, we don't have to wait */ ++ if (errno == ENOENT) ++ rc = EXIT_SUCCESS; ++ else ++ log_debug("watching /run/udev/queue failed"); + goto out; + } + +-- +1.7.9.2 + diff --git a/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch b/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch new file mode 100644 index 00000000..e203d8d3 --- /dev/null +++ b/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch @@ -0,0 +1,16 @@ +Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules ++++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +@@ -68,8 +68,9 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob + ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" + + # match interface dev_id +-# disable due to bnc#882714 +-# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" ++# HACK: for s390x, if layer2 == 0, dont use dev_id ++ENV{LAYER2}="1", TEST=="device/layer2", ENV{LAYER2}="$attr{device/layer2}" ++ENV{LAYER2}!="0", ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" + + # do not use "locally administered" MAC address + ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" diff --git a/apply-ACL-for-nvidia-uvm-device-node.patch b/apply-ACL-for-nvidia-uvm-device-node.patch new file mode 100644 index 00000000..6471d229 --- /dev/null +++ b/apply-ACL-for-nvidia-uvm-device-node.patch @@ -0,0 +1,26 @@ +From c79437b7967cf5a23faa881bc5da6b88b63a1ada Mon Sep 17 00:00:00 2001 +From: Stefan Dirsch +Date: Tue, 3 Jun 2014 15:05:55 +0200 +Subject: [PATCH] apply ACL for nvidia-uvm device node + +set ACL on nvidia-uvm device (bnc#879767). +--- + src/login/logind-acl.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c +index 54bc16b..a40af21 100644 +--- a/src/login/logind-acl.c ++++ b/src/login/logind-acl.c +@@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev, + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; + } ++ /* required for additional CUDA support (nvidia-uvm module with appropriate device), bnc#879767 */ ++ devnode_acl("/dev/nvidia-uvm", flush, del, old_uid, add, new_uid); + } + + return r; +-- +1.8.4.5 + diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch deleted file mode 100644 index 1bde222f..00000000 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Frederic Crozat -Date: Wed, 9 Nov 2011 11:10:49 +0100 -Subject: delay fsck / cryptsetup after md / dmraid are started - ---- - src/cryptsetup/cryptsetup-generator.c | 1 + - units/systemd-fsck@.service.in | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-208/src/cryptsetup/cryptsetup-generator.c -=================================================================== ---- systemd-208.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-208/src/cryptsetup/cryptsetup-generator.c -@@ -119,6 +119,7 @@ static int create_disk( - "DefaultDependencies=no\n" - "BindsTo=dev-mapper-%i.device\n" - "IgnoreOnIsolate=true\n" -+ "After=md.service dmraid.service\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", - f); - -Index: systemd-208/units/systemd-fsck@.service.in -=================================================================== ---- systemd-280.orig/units/systemd-fsck@.service.in -+++ systemd-280/units/systemd-fsck@.service.in -@@ -10,7 +10,7 @@ - Documentation=man:systemd-fsck@.service(8) - DefaultDependencies=no - BindsTo=%i.device --After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service md.service dmraid.service - Before=shutdown.target - - [Service] ---- systemd-280.orig/units/systemd-fsck-root.service.in -+++ systemd-280/units/systemd-fsck-root.service.in -@@ -9,7 +9,7 @@ - Description=File System Check on Root Device - Documentation=man:systemd-fsck-root.service(8) - DefaultDependencies=no --After=systemd-readahead-collect.service systemd-readahead-replay.service -+After=systemd-readahead-collect.service systemd-readahead-replay.service md.service dmraid.service - Before=local-fs.target shutdown.target - - ConditionPathIsReadWrite=!/ diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch deleted file mode 100644 index d53eb948..00000000 --- a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +++ /dev/null @@ -1,17 +0,0 @@ -From: Frederic Crozat -Date: Thu, 9 Feb 2012 16:19:38 +0000 -Subject: ensure DM and dmraid are started before local-fs-pre-target - -ensure md / dmraid is started before mounting partitions, -if fsck was disabled for them (bnc#733283). ---- - units/local-fs-pre.target | 1 + - 1 file changed, 1 insertion(+) - ---- systemd-206_git201308300826.orig/units/local-fs-pre.target -+++ systemd-206_git201308300826/units/local-fs-pre.target -@@ -9,3 +9,4 @@ - Description=Local File Systems (Pre) - Documentation=man:systemd.special(7) - RefuseManualStart=yes -+After=md.service dmraid.service diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch index 17d2e05e..ac8dbcfd 100644 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -1,20 +1,23 @@ From: Frederic Crozat +Cc: Werner Fink Date: Wed, 24 Aug 2011 13:02:12 +0000 Subject: ensure ask-password-wall starts after getty@tty1 ensure passphrase is handled before starting getty on tty1. + --- - units/systemd-ask-password-wall.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + units/systemd-ask-password-wall.service.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) --- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in +++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in -@@ -8,7 +8,7 @@ +@@ -8,7 +8,8 @@ [Unit] Description=Forward Password Requests to Wall Documentation=man:systemd-ask-password-console.service(8) -After=systemd-user-sessions.service -+After=systemd-user-sessions.service getty@tty1.service ++Wants=getty.target ++After=systemd-user-sessions.service getty.target [Service] ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/ensure-sysctl-are-applied-after-modules-are-loaded.patch b/ensure-sysctl-are-applied-after-modules-are-loaded.patch deleted file mode 100644 index a672f33c..00000000 --- a/ensure-sysctl-are-applied-after-modules-are-loaded.patch +++ /dev/null @@ -1,19 +0,0 @@ -From: Frederic Crozat -Date: Mon, 9 Jan 2012 17:01:22 +0000 -Subject: ensure sysctl are applied after modules are loaded - -(bnc#725412) ---- - units/systemd-sysctl.service.in | 1 + - 1 file changed, 1 insertion(+) - ---- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in -+++ systemd-206_git201308300826/units/systemd-sysctl.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service - DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service -+After=systemd-modules-load.service - Before=sysinit.target shutdown.target - ConditionPathIsReadWrite=/proc/sys/ - ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/getty-generator-with-serial-3270-tty.patch b/getty-generator-with-serial-3270-tty.patch deleted file mode 100644 index 41a2e278..00000000 --- a/getty-generator-with-serial-3270-tty.patch +++ /dev/null @@ -1,34 +0,0 @@ -The path for the serial 3270 console looks like (dev/)3270/tty1 which -causes trouble in the systemd-getty-generator as the add_symlink() -tries to make directories for each slash even for the slash after -the @ symbol in the final link name. - ---- - getty-generator.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- systemd-210/src/getty-generator/getty-generator.c -+++ systemd-210/src/getty-generator/getty-generator.c 2014-03-14 14:13:09.296463091 +0000 -@@ -67,6 +67,7 @@ static int add_symlink(const char *fserv - - static int add_serial_getty(const char *tty) { - _cleanup_free_ char *n = NULL; -+ char *at; - - assert(tty); - -@@ -76,6 +77,14 @@ static int add_serial_getty(const char * - if (!n) - return log_oom(); - -+ if ((at = strchr(n, '@'))) { -+ char *sl; -+ while (*(++at) && (sl = strchr(at, '/'))) { -+ *sl = '-'; -+ at = sl; -+ } -+ } -+ - return add_symlink("serial-getty@.service", n); - } - diff --git a/insserv-generator.patch b/insserv-generator.patch index f1a2452f..5525222a 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -13,11 +13,11 @@ systemd unit drop-in files to add dependencies create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd-208/Makefile.am +Index: systemd-210/Makefile.am =================================================================== ---- systemd-208.orig/Makefile.am -+++ systemd-208/Makefile.am -@@ -322,6 +322,7 @@ rootlibexec_PROGRAMS = \ +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -343,6 +343,7 @@ rootlibexec_PROGRAMS = \ systemd-socket-proxyd systemgenerator_PROGRAMS = \ @@ -25,7 +25,7 @@ Index: systemd-208/Makefile.am systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator -@@ -1658,6 +1659,14 @@ systemd_delta_LDADD = \ +@@ -1728,6 +1729,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ @@ -40,10 +40,10 @@ Index: systemd-208/Makefile.am systemd_getty_generator_SOURCES = \ src/getty-generator/getty-generator.c -Index: systemd-208/src/insserv-generator/Makefile +Index: systemd-210/src/insserv-generator/Makefile =================================================================== --- /dev/null -+++ systemd-208/src/insserv-generator/Makefile ++++ systemd-210/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,10 +73,10 @@ Index: systemd-208/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd-208/src/insserv-generator/insserv-generator.c +Index: systemd-210/src/insserv-generator/insserv-generator.c =================================================================== --- /dev/null -+++ systemd-208/src/insserv-generator/insserv-generator.c ++++ systemd-210/src/insserv-generator/insserv-generator.c @@ -0,0 +1,312 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -146,7 +146,7 @@ Index: systemd-208/src/insserv-generator/insserv-generator.c + static const char * const table[] = { + /* LSB defined facilities */ + "local_fs", NULL, -+ "network", SPECIAL_NETWORK_TARGET, ++ "network", SPECIAL_NETWORK_ONLINE_TARGET, + "named", SPECIAL_NSS_LOOKUP_TARGET, + "portmap", SPECIAL_RPCBIND_TARGET, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, diff --git a/keep-crypt-password-prompt.patch b/keep-crypt-password-prompt.patch index 3caffec8..10ddf398 100644 --- a/keep-crypt-password-prompt.patch +++ b/keep-crypt-password-prompt.patch @@ -9,10 +9,10 @@ + struct dirent *de; + + if (!(d = opendir("/run/systemd/ask-password"))) { -+ log_error("opendir(): %m"); + + if (errno == ENOENT) + return 1; ++ log_error("opendir(/run/systemd/ask-password): %m"); + + return -errno; + } diff --git a/systemd-detect-xendom.patch b/systemd-detect-xendom.patch deleted file mode 100644 index 7c02a07a..00000000 --- a/systemd-detect-xendom.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -Naur systemd-210/src/shared/virt.c systemd-210-mod/src/shared/virt.c ---- systemd-210/src/shared/virt.c 2014-02-24 15:38:03.909784909 +0100 -+++ systemd-210/src/shared/virt.c 2014-04-10 13:48:05.568766957 +0200 -@@ -149,7 +149,7 @@ - - /* Returns a short identifier for the various VM implementations */ - int detect_vm(const char **id) { -- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; -+ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; - static thread_local int cached_found = -1; - static thread_local const char *cached_id = NULL; - const char *_id = NULL; -@@ -166,13 +166,18 @@ - /* Try high-level hypervisor sysfs file first: - * - * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ -- r = read_one_line_file("/sys/hypervisor/type", &hvtype); -+ r = read_one_line_file("/proc/xen/capabilities", &domcap); - if (r >= 0) { -- if (streq(hvtype, "xen")) { -- _id = "xen"; -+ if (strstr(domcap, "control_d")) { -+ r = 0; -+ _id = "xen-dom0"; -+ } else { - r = 1; -- goto finish; -+ _id = "xen-domU"; - } -+ -+ goto finish; -+ - } else if (r != -ENOENT) - return r; - diff --git a/systemd-mini.changes b/systemd-mini.changes index 70662ea3..da40a9c5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,316 @@ +------------------------------------------------------------------- +Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de + +- Update of patch 0001-detect-s390-virt.patch (bnc#880438) + +------------------------------------------------------------------- +Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de + +- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc + +------------------------------------------------------------------- +Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de + +- Add upstream patchs + 0001-core-use-correct-format-string-for-UIDs.patch + 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + +------------------------------------------------------------------- +Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-units-order-network-online.target-after-network.targ.patch + to make sure that etwork-online.target follows network.target + +------------------------------------------------------------------- +Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com + +- rules: re-enable dev_id conditionally in persistent rules + (bnc#884403 and bnc#882714). + Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch + +------------------------------------------------------------------- +Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + 0005-man-fix-path-in-crypttab-5.patch + +------------------------------------------------------------------- +Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de + +- Add upstream patch + 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it + fixes udevadm settle exit code which may had roken dracut scripts + (bnc#884271 comment#18) + +------------------------------------------------------------------- +Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de + +- Temporary disable patch 1022 (bnc#884271 and bnc#882714). + +------------------------------------------------------------------- +Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com + +- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch + to 1038-udev-fix-invalid-free-in-enable_name_policy.patch + +------------------------------------------------------------------- +Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de + +- Replace patches + 0001-systemd-empty-sigmask-on-reexec.patch with + upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch + ensure-sysctl-are-applied-after-modules-are-loaded.patch with + upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch + getty-generator-with-serial-3270-tty.patch with + upstream 0004-getty-generator-properly-escape-instance-names.patch +- Add upstream patches + 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch + 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch + 0005-po-add-Greek-translation.patch + 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0007-po-add-German-translation.patch + 0009-core-clean-up-signal-reset-logic-when-reexec.patch + 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch + 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch + 0012-core-transaction-avoid-misleading-error-message-when.patch + +------------------------------------------------------------------- +Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de + +- Invert of the boolean for locking scheme of fsck (bnc#881125) +- Remove the ghost entry /etc/hostname and require the netcfg + +------------------------------------------------------------------- +Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com + +- make sure legacy services that depend on network are started after + network is available (bnc#883565) + * 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch + * update insserv-generator.patch to translate $network into + network-online.target + +------------------------------------------------------------------- +Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de + +- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438) + to detect the virtualization layers on s390x as well + +------------------------------------------------------------------- +Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de + +- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51) + add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from + Roberts suggestion as well as readd + 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + +------------------------------------------------------------------- +Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-core-fix-invalid-free-in-killall.patch + 0002-udev-fix-invalid-free-in-enable_name_policy.patch + 0003-install-fix-invalid-free-in-unit_file_mask.patch + +------------------------------------------------------------------- +Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com + +- rules: disable usage of dev_id in persistent rules (bnc#882714). + add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +- Disable patch (bnc#882714). + 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + +------------------------------------------------------------------- +Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de + +- Add patch + 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch + from Hannes Reinecke to avoid a race condition between variable + 'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942) + +------------------------------------------------------------------- +Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de + +- Add workaround for bnc#882393 by adding the systemd update utmp + runlevel service to the wanted unit of e.g. the graphical target +- Add some later on created files to our file list + +------------------------------------------------------------------- +Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com + +- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars + module at boot time not from udev (bnc#881559). + +------------------------------------------------------------------- +Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org + +- Do not build EFI support code in architectures on which + the kernel does not support CONFIG_EFI, it won't work. + (ia64 also supports it, but that's dead so is not included) + +------------------------------------------------------------------- +Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de + +- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch + there is no need to clean out all 30 days the index data base + files nor the cachedir tags of mandb. Those files are used + for whatis(1) as well as for apropos(1). + +------------------------------------------------------------------- +Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de + +- Do not override predictable names for openSUSE + +------------------------------------------------------------------- +Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de + +- Remove systemd-detect-xendom.patch as it becomes obsolete with + upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +- Add upstream patches + 0001-umount-modernizations.patch + 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch + 0003-core-allow-transient-mount-units.patch + 0004-systemd-detect-virt-only-discover-Xen-domU.patch + 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch + 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch + +------------------------------------------------------------------- +Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com + +- Add upstream patches + 1033-udev-really-exclude-device-mapper-from-block-device.patch + 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch + +------------------------------------------------------------------- +Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de + +- Change detection of new locking scheme of fsck + +------------------------------------------------------------------- +Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de + +- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent + rules as a default on SLES-12 and predictable rules as a default + otherwise +- Add cflags shell function to check possible flags for the compiler + as well as for the linker + +------------------------------------------------------------------- +Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com + +- Add upstream patches + 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch + 1026-udevd-inotify-modernizations.patch + 1027-udev-synthesize-change-events-for-partitions-when-to.patch + 1028-udev-link-config-fix-mem-leak.patch + 1029-udev-try-first-re-reading-the-partition-table.patch + 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch + 1031-udev-make-sure-we-always-get-change-for-the-disk.patch + 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch + +------------------------------------------------------------------- +Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-sd-event-restore-correct-timeout-behaviour.patch + 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch + +------------------------------------------------------------------- +Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de + +- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch + +------------------------------------------------------------------- +Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de + +- Add dynamic detection of util-linux version to be able to + disable the fsck option -l for version less than 2.25.0 + +------------------------------------------------------------------- +Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de + +- Add changes from Cristian Rodríguez: + * The patches + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and + ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch + indeed mention unit files which do not exist anymore. +- Make sure that systemd-ask-password-wall.service has a tty as + it is not sure that a tty1 exists +- Avoid broken firmware loading on newer distributions as 13.1 + +------------------------------------------------------------------- +Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de + +- Correct version check for the tcp-devel drop +- Use correct permissions for /var/log/journal +- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) + +------------------------------------------------------------------- +Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org + +- Correct the libseccomp distribution version test must be >= 13.1 +- In order to use unit directive AppArmorProfile= libapparmor-devel + must be present in buildRequires. + +------------------------------------------------------------------- +Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com + +- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm + device (bnc#879767). + +------------------------------------------------------------------- +Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de + +- Add changes from Cristian Rodríguez: + * fix keep-crypt-password-prompt.patch which floods the system + logs with bogus opendir failures, still the wrong thing to do however. + * Use %find_lang to collect locale files + * systemd-no-libattr.patch: systemd does not require libattr + but just sys/xattr.h, therefore drop the dependency. + (from upstream) + * Again, drop tcp-devel from buildRequires, this time it is not a + SUSE specific feature removal, tcpd supportdisappeared in systemd + 212 and we shouldn't keep it around. +- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch + that is rename systemd-no-libattr.patch to git format +- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor + for openSUSE 13.1 + +------------------------------------------------------------------- +Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-virt-rework-container-detection-logic.patch + 0002-fsck-include-device-name-in-the-message-about-missin.patch + 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch + 0004-util-ignore_file-should-not-allow-files-ending-with.patch + 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +- Add upstream patches to update keyboard data base + 0007-keyboard-add-Plantronics-.Audio-mute-button.patch +- Add upstream patches for udev + 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch + 1024-udev-always-close-lock-file-descriptor.patch + +------------------------------------------------------------------- +Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com + +- Fix enabling predictable rules when using net.ifnames=1. + update: 1021-udev-re-add-persistent-net-rules.patch + +------------------------------------------------------------------- +Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com + +- Re-add persistent rules as a default and make predictable rules as + fallback (bnc#880732). + add: 1021-udev-re-add-persistent-net-rules.patch +- udev: remove seqnum API and all assumptions about seqnums + add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + ------------------------------------------------------------------- Tue May 27 07:23:47 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 6c0acde3..15e40108 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,6 +26,12 @@ %bcond_without compat_libs %bcond_with networkd %bcond_with python +%ifarch %{ix86} x86_64 aarch64 +%define has_efi 1 +%else +%define has_efi 0 +%endif +%bcond_with udevsettle Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -38,6 +44,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: %{real} = %{version}-%{release} +BuildRequires: acl BuildRequires: audit-devel %if %{with compat_libs} # See gold_archs in binutils.spec @@ -59,7 +66,6 @@ BuildRequires: gtk-doc %endif BuildRequires: intltool BuildRequires: libacl-devel -BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libkmod-devel BuildRequires: libsepol-devel @@ -72,7 +78,9 @@ BuildRequires: pam-devel %if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros %endif +%if 0%{?suse_version} <= 1315 BuildRequires: tcpd-devel +%endif BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 %if ! 0%{?bootstrap} @@ -98,11 +106,14 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif -%if 0%{?suse_version} > 1310 +%if 0%{?suse_version} >= 1310 %ifarch %ix86 x86_64 x32 %arm BuildRequires: pkgconfig(libseccomp) %endif %endif +%if ! 0%{?bootstrap} +BuildRequires: libapparmor-devel +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) %if 0%{?suse_version} > 1310 @@ -125,6 +136,7 @@ Requires: kmod >= 14 %else Requires: kmod >= 15 %endif +Requires: netcfg Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -135,12 +147,21 @@ Requires(post): findutils %if ! 0%{?bootstrap} Requires(post): pam-config %endif +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd +Requires(post): /usr/bin/awk +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz +%if ! 0%{?bootstrap} Source1: systemd-rpmlintrc +%else +Source1: systemd-mini-rpmlintrc +%endif Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf @@ -168,16 +189,15 @@ Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch -Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch Patch18: fix-owner-of-var-log-btmp.patch -# PATCH-FIX-SUSE Avoid error message about not existing getty@3270 file -Patch19: getty-generator-with-serial-3270-tty.patch +# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file +Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -189,6 +209,8 @@ Patch21: allow-multiple-sulogin-to-be-started.patch Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch +# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device +Patch28: apply-ACL-for-nvidia-uvm-device-node.patch # PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. @@ -225,8 +247,8 @@ Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch91: plymouth-quit-and-wait-for-emergency-service.patch # PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -# PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com -Patch114: 0001-systemd-empty-sigmask-on-reexec.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com @@ -381,8 +403,8 @@ Patch193: portmap-wants-rpcbind-socket.patch Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch # PATCH-FIX-USTREAM added at 2014/03/14 Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -# PATCH-FIX-SUSE Detect XEN dom0 as well as domU -Patch196: systemd-detect-xendom.patch +# PATCH-FIX-SUSE Do not clean the data base files of the manual pages +Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap @@ -477,40 +499,116 @@ Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch # PATCH-FIX-UPSTREAM added at 2014/05/20 Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch -# PATCHFIX-UPSTREAM added at 2014/05/20 +# PATCH-FIX-UPSTREAM added at 2014/05/20 Patch245: 0007-logind-fix-Display-property-of-user-objects.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch246: 0001-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch247: 0002-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch249: 0004-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch250: 0005-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch252: 0002-journal-properly-detect-language-specified-in-line.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch -# PATCHFIX-UPSTREAM added at 2014/05/27 +# PATCH-FIX-UPSTREAM added at 2014/05/27 Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch -# PATCHFIX-UPSTREAM added at 2014/05/27 +# PATCH-FIX-UPSTREAM added at 2014/05/27 Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch262: 0001-virt-rework-container-detection-logic.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch +# PATCH-FIX-UPSTREAM added at 2014/06/05 +Patch269: 0001-hwdb-fix-case-sensitive-match.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch272: 0001-umount-modernizations.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch274: 0003-core-allow-transient-mount-units.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU +Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch278: 0001-core-fix-invalid-free-in-killall.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch +# PATCH-FIX-SUSE detect virtualization layers on S390 (bnc#880438) +Patch280: 0001-detect-s390-virt.patch +# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available +Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch284: 0005-po-add-Greek-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch286: 0007-po-add-German-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch295: 0005-man-fix-path-in-crypttab-5.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch296: 0001-units-order-network-online.target-after-network.targ.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch297: 0001-core-use-correct-format-string-for-UIDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch # UDEV PATCHES # ============ @@ -556,8 +654,48 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch # PATCH-FIX-UPSTREAM added at 2014/05/20 Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch +# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch +Patch1021: 1021-udev-re-add-persistent-net-rules.patch +# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1024: 1024-udev-always-close-lock-file-descriptor.patch +# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch +Patch1026: 1026-udevd-inotify-modernizations.patch +# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch +Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch +# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch +Patch1028: 1028-udev-link-config-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch +Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch +# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch +Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch +# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +# PATCH-FIX-SUSE See bnc#882714 comment #51 +Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch +# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch +Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch +# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) +Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -613,12 +751,19 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +PreReq: /bin/rm +PreReq: %insserv_prereq +PreReq: %fillup_prereq +PreReq: /usr/bin/sg_inq +Requires(pre): /usr/bin/stat +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/bin/getent Requires(post): lib%{udevpkgname}%{udev_major} Requires(post): sed -Requires(post): systemd +Requires(post): /usr/bin/systemctl %if %{defined regenerate_initrd_post} Requires(post): coreutils +Requires(post): /usr/bin/stat Requires(postun): coreutils Requires(posttrans): suse-module-tools Requires(posttrans): /sbin/mkinitrd @@ -720,6 +865,11 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/systemctl Conflicts: otherproviders(syslog) %description logger @@ -786,15 +936,13 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch11 -p1 %patch12 -p1 -%patch13 -p1 -%patch14 -p1 +%patch13 -p0 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 +%patch19 -p0 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -806,6 +954,7 @@ cp %{SOURCE7} m4/ # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 +%patch28 -p1 %patch37 -p1 %ifarch %arm %patch38 -p1 @@ -900,8 +1049,8 @@ cp %{SOURCE7} m4/ %patch192 -p1 %patch193 -p1 %patch194 -p0 -%patch195 -p0 %patch196 -p1 +%patch195 -p0 %patch197 -p1 %patch198 -p1 %patch199 -p0 @@ -966,6 +1115,44 @@ cp %{SOURCE7} m4/ %patch259 -p0 %patch260 -p0 %patch261 -p0 +%patch262 -p0 +%patch263 -p0 +%patch264 -p0 +%patch265 -p0 +%patch266 -p0 +%patch267 -p0 +%patch268 -p0 +%patch269 -p0 +%patch270 -p0 +%patch271 -p0 +%patch272 -p0 +%patch273 -p0 +%patch274 -p0 +%patch275 -p0 +%patch276 -p0 +%patch277 -p0 +%patch278 -p0 +%patch279 -p0 +%patch280 -p1 +%patch281 -p1 +%patch282 -p0 +%patch283 -p0 +%patch284 -p0 +%patch285 -p0 +%patch286 -p0 +%patch287 -p0 +%patch288 -p0 +%patch289 -p0 +%patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 +%patch296 -p0 +%patch297 -p0 +%patch298 -p0 +%patch299 -p0 # udev patches %patch1001 -p1 @@ -989,15 +1176,111 @@ cp %{SOURCE7} m4/ %patch1018 -p0 %patch1019 -p0 %patch1020 -p0 +%patch1021 -p1 +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1022 -p1 +%endif +%endif +%patch1023 -p0 +%patch1024 -p0 +%patch1025 -p1 +%patch1026 -p1 +%patch1027 -p1 +%patch1028 -p1 +%patch1029 -p1 +%patch1030 -p1 +%patch1031 -p1 +%patch1032 -p1 +%patch1033 -p1 +%patch1034 -p1 +%patch1035 -p1 +%patch1036 -p1 +%patch1037 -p1 +%patch1038 -p0 +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1039 -p0 +%endif +%endif +%patch1040 -p1 # ensure generate files are removed rm -f units/emergency.service +# disable "-l" option for fsck if it does not support new locking scheme +# compare with commit c343be283b7152554bac0c02493a4e1759c163f7 +PATH=${PATH}:/sbin:/usr/sbin +PATH_FSCK=$(type -p fsck) +if grep -q /run/fsck/%%s\\.lock $PATH_FSCK +then + echo Found new $PATH_FSCK that is allow private locking +else + echo Found old $PATH_FSCK that is disable flock for this one + sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c +fi + +%if 0%{?suse_version} <= 1310 +# +# Older versions like oS 13.1 do not distinguish between +# network.target and network-online.target +# +for f in src/core/service.c src/insserv-generator/insserv-generator.c +do + sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f +done +%endif + %build +cflags () +{ + local flag=$1; shift + local var=$1; shift + local gold + test -n "${flag}" -a -n "${var}" || return + case "${!var}" in + *${flag}*) return + esac + if type ld.gold > /dev/null 2>&1 ; then + gold=-Wl,-fuse-ld=gold + fi + set -o noclobber + case "$flag" in + -Wl,*) + if echo 'int main () { return 0; }' | \ + ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + rm -f ldtest.c + ;; + *) + if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + esac + set +o noclobber +} autoreconf -fiv # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; -export V=1 +export V=e +export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export LDFLAGS +%if 0%{?suse_version} == 1315 + CFLAGS="$CFLAGS -DNET_IFNAMES=1" +%else + CFLAGS="$CFLAGS -DNET_IFNAMES=0" + for rules in 75-persistent-net-generator 76-net-sriov-names + do + sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules + done +%endif +cflags -pipe CFLAGS +cflags -Wl,-O2 LDFLAGS +cflags -Wl,--hash-size=8599 LDFLAGS # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --docdir=%{_docdir}/systemd \ @@ -1024,7 +1307,12 @@ export V=1 --enable-selinux \ --enable-split-usr \ --disable-static \ +%if 0%{?suse_version} <= 1310 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ +%endif +%if ! 0%{has_efi} + --disable-efi \ +%endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -1036,8 +1324,7 @@ export V=1 %if %{without networkd} --disable-networkd \ %endif - --disable-kdbus \ - CFLAGS="%{optflags}" + --disable-kdbus make %{?_smp_mflags} %if ! 0%{?bootstrap} make %{?_smp_mflags} update-man-list man @@ -1072,7 +1359,9 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif +%if 0%{?suse_version} <= 1310 ln -sf /lib/firmware %{buildroot}/usr/lib/firmware +%endif %if ! 0%{?bootstrap} install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config @@ -1140,6 +1429,12 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time sg EOF +%if 0%{has_efi} +cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/efivars.conf +# load efivars module at boot time +efivars +EOF +%endif # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual @@ -1240,7 +1535,7 @@ do done %endif -%if 0%{suse_version} < 1310 +%if 0%{suse_version} <= 1310 cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' [Unit] Description=Fix against deadlock at shutdown @@ -1264,6 +1559,28 @@ cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants %endif +# Some files which may created by us or by the admin later on +mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d +for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ + machine-id machine-info \ + systemd/system/runlevel2.target \ + systemd/system/runlevel3.target \ + systemd/system/runlevel4.target \ + systemd/system/runlevel4.target \ + systemd/system/runlevel5.target +do + > %{buildroot}%{_sysconfdir}/$ghost +done + +# Workaround for bug #882393 +for runlevel in poweroff rescue multi-user graphical reboot +do + mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants + ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ +done + +%find_lang systemd + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 @@ -1279,8 +1596,14 @@ exit 0 /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : -chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +chmod g+s %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +if read ID < /etc/machine-id > /dev/null 2>&1 ; then + chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : + chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : +fi +getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -1348,7 +1671,7 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi # Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -/usr/sbin/groupadd -r tape 2> /dev/null || : +getent group tape >/dev/null || groupadd -r tape 2> /dev/null || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then @@ -1427,7 +1750,13 @@ fi %postun -n libgudev-1_0-0 -p /sbin/ldconfig +%pre logger +getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +exit 0 + %post logger +getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : @@ -1465,7 +1794,6 @@ exit 0 /bin/systemd-ask-password /bin/systemctl %{_bindir}/systemd-sleep-grub -%{_bindir}/bootctl %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl @@ -1553,7 +1881,10 @@ exit 0 %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif +%if 0%{has_efi} +%{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator +%endif %{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator @@ -1566,6 +1897,9 @@ exit 0 %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf +%if 0%{has_efi} +%{_libexecdir}/modules-load.d/efivars.conf +%endif %dir %{_libexecdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d @@ -1599,6 +1933,18 @@ exit 0 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +# Some files which may created by us +%dir %{_sysconfdir}/X11/xorg.conf.d +%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf +%ghost %config(noreplace) %{_sysconfdir}/locale.conf +%ghost %config(noreplace) %{_sysconfdir}/machine-id +%ghost %config(noreplace) %{_sysconfdir}/machine-info +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1720,7 +2066,9 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm +%if 0%{?suse_version} <= 1310 %{_prefix}/lib/firmware +%endif %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/accelerometer %{_prefix}/lib/udev/ata_id @@ -1731,6 +2079,9 @@ exit 0 %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule %{_prefix}/lib/udev/udev-generate-peristent-rule +%{_prefix}/lib/udev/net-set-sriov-names +%{_prefix}/lib/udev/rule_generator.functions +%{_prefix}/lib/udev/write_net_rules %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -1808,7 +2159,7 @@ exit 0 %files logger %defattr(-,root,root) -%dir %{_localstatedir}/log/journal +%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal %{_localstatedir}/log/README /etc/init.d/systemd-journald diff --git a/systemd.changes b/systemd.changes index 70662ea3..da40a9c5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,316 @@ +------------------------------------------------------------------- +Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de + +- Update of patch 0001-detect-s390-virt.patch (bnc#880438) + +------------------------------------------------------------------- +Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de + +- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc + +------------------------------------------------------------------- +Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de + +- Add upstream patchs + 0001-core-use-correct-format-string-for-UIDs.patch + 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + +------------------------------------------------------------------- +Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-units-order-network-online.target-after-network.targ.patch + to make sure that etwork-online.target follows network.target + +------------------------------------------------------------------- +Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com + +- rules: re-enable dev_id conditionally in persistent rules + (bnc#884403 and bnc#882714). + Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch + +------------------------------------------------------------------- +Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + 0005-man-fix-path-in-crypttab-5.patch + +------------------------------------------------------------------- +Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de + +- Add upstream patch + 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it + fixes udevadm settle exit code which may had roken dracut scripts + (bnc#884271 comment#18) + +------------------------------------------------------------------- +Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de + +- Temporary disable patch 1022 (bnc#884271 and bnc#882714). + +------------------------------------------------------------------- +Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com + +- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch + to 1038-udev-fix-invalid-free-in-enable_name_policy.patch + +------------------------------------------------------------------- +Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de + +- Replace patches + 0001-systemd-empty-sigmask-on-reexec.patch with + upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch + ensure-sysctl-are-applied-after-modules-are-loaded.patch with + upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch + getty-generator-with-serial-3270-tty.patch with + upstream 0004-getty-generator-properly-escape-instance-names.patch +- Add upstream patches + 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch + 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch + 0005-po-add-Greek-translation.patch + 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch + 0007-po-add-German-translation.patch + 0009-core-clean-up-signal-reset-logic-when-reexec.patch + 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch + 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch + 0012-core-transaction-avoid-misleading-error-message-when.patch + +------------------------------------------------------------------- +Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de + +- Invert of the boolean for locking scheme of fsck (bnc#881125) +- Remove the ghost entry /etc/hostname and require the netcfg + +------------------------------------------------------------------- +Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com + +- make sure legacy services that depend on network are started after + network is available (bnc#883565) + * 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch + * update insserv-generator.patch to translate $network into + network-online.target + +------------------------------------------------------------------- +Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de + +- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438) + to detect the virtualization layers on s390x as well + +------------------------------------------------------------------- +Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de + +- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51) + add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from + Roberts suggestion as well as readd + 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + +------------------------------------------------------------------- +Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-core-fix-invalid-free-in-killall.patch + 0002-udev-fix-invalid-free-in-enable_name_policy.patch + 0003-install-fix-invalid-free-in-unit_file_mask.patch + +------------------------------------------------------------------- +Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com + +- rules: disable usage of dev_id in persistent rules (bnc#882714). + add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +- Disable patch (bnc#882714). + 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + +------------------------------------------------------------------- +Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de + +- Add patch + 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch + from Hannes Reinecke to avoid a race condition between variable + 'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942) + +------------------------------------------------------------------- +Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de + +- Add workaround for bnc#882393 by adding the systemd update utmp + runlevel service to the wanted unit of e.g. the graphical target +- Add some later on created files to our file list + +------------------------------------------------------------------- +Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com + +- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars + module at boot time not from udev (bnc#881559). + +------------------------------------------------------------------- +Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org + +- Do not build EFI support code in architectures on which + the kernel does not support CONFIG_EFI, it won't work. + (ia64 also supports it, but that's dead so is not included) + +------------------------------------------------------------------- +Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de + +- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch + there is no need to clean out all 30 days the index data base + files nor the cachedir tags of mandb. Those files are used + for whatis(1) as well as for apropos(1). + +------------------------------------------------------------------- +Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de + +- Do not override predictable names for openSUSE + +------------------------------------------------------------------- +Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de + +- Remove systemd-detect-xendom.patch as it becomes obsolete with + upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +- Add upstream patches + 0001-umount-modernizations.patch + 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch + 0003-core-allow-transient-mount-units.patch + 0004-systemd-detect-virt-only-discover-Xen-domU.patch + 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch + 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch + +------------------------------------------------------------------- +Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com + +- Add upstream patches + 1033-udev-really-exclude-device-mapper-from-block-device.patch + 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch + +------------------------------------------------------------------- +Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de + +- Change detection of new locking scheme of fsck + +------------------------------------------------------------------- +Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de + +- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent + rules as a default on SLES-12 and predictable rules as a default + otherwise +- Add cflags shell function to check possible flags for the compiler + as well as for the linker + +------------------------------------------------------------------- +Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com + +- Add upstream patches + 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch + 1026-udevd-inotify-modernizations.patch + 1027-udev-synthesize-change-events-for-partitions-when-to.patch + 1028-udev-link-config-fix-mem-leak.patch + 1029-udev-try-first-re-reading-the-partition-table.patch + 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch + 1031-udev-make-sure-we-always-get-change-for-the-disk.patch + 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch + +------------------------------------------------------------------- +Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-sd-event-restore-correct-timeout-behaviour.patch + 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch + +------------------------------------------------------------------- +Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de + +- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch + +------------------------------------------------------------------- +Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de + +- Add dynamic detection of util-linux version to be able to + disable the fsck option -l for version less than 2.25.0 + +------------------------------------------------------------------- +Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de + +- Add changes from Cristian Rodríguez: + * The patches + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and + ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch + indeed mention unit files which do not exist anymore. +- Make sure that systemd-ask-password-wall.service has a tty as + it is not sure that a tty1 exists +- Avoid broken firmware loading on newer distributions as 13.1 + +------------------------------------------------------------------- +Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de + +- Correct version check for the tcp-devel drop +- Use correct permissions for /var/log/journal +- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) + +------------------------------------------------------------------- +Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org + +- Correct the libseccomp distribution version test must be >= 13.1 +- In order to use unit directive AppArmorProfile= libapparmor-devel + must be present in buildRequires. + +------------------------------------------------------------------- +Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com + +- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm + device (bnc#879767). + +------------------------------------------------------------------- +Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de + +- Add changes from Cristian Rodríguez: + * fix keep-crypt-password-prompt.patch which floods the system + logs with bogus opendir failures, still the wrong thing to do however. + * Use %find_lang to collect locale files + * systemd-no-libattr.patch: systemd does not require libattr + but just sys/xattr.h, therefore drop the dependency. + (from upstream) + * Again, drop tcp-devel from buildRequires, this time it is not a + SUSE specific feature removal, tcpd supportdisappeared in systemd + 212 and we shouldn't keep it around. +- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch + that is rename systemd-no-libattr.patch to git format +- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor + for openSUSE 13.1 + +------------------------------------------------------------------- +Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-virt-rework-container-detection-logic.patch + 0002-fsck-include-device-name-in-the-message-about-missin.patch + 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch + 0004-util-ignore_file-should-not-allow-files-ending-with.patch + 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +- Add upstream patches to update keyboard data base + 0007-keyboard-add-Plantronics-.Audio-mute-button.patch +- Add upstream patches for udev + 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch + 1024-udev-always-close-lock-file-descriptor.patch + +------------------------------------------------------------------- +Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com + +- Fix enabling predictable rules when using net.ifnames=1. + update: 1021-udev-re-add-persistent-net-rules.patch + +------------------------------------------------------------------- +Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com + +- Re-add persistent rules as a default and make predictable rules as + fallback (bnc#880732). + add: 1021-udev-re-add-persistent-net-rules.patch +- udev: remove seqnum API and all assumptions about seqnums + add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + ------------------------------------------------------------------- Tue May 27 07:23:47 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index f7024fae..55ff9a7d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,6 +24,12 @@ %bcond_without compat_libs %bcond_with networkd %bcond_with python +%ifarch %{ix86} x86_64 aarch64 +%define has_efi 1 +%else +%define has_efi 0 +%endif +%bcond_with udevsettle Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -33,6 +39,7 @@ Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: acl BuildRequires: audit-devel %if %{with compat_libs} # See gold_archs in binutils.spec @@ -54,7 +61,6 @@ BuildRequires: gtk-doc %endif BuildRequires: intltool BuildRequires: libacl-devel -BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libkmod-devel BuildRequires: libsepol-devel @@ -67,7 +73,9 @@ BuildRequires: pam-devel %if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros %endif +%if 0%{?suse_version} <= 1315 BuildRequires: tcpd-devel +%endif BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.20 %if ! 0%{?bootstrap} @@ -93,11 +101,14 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif -%if 0%{?suse_version} > 1310 +%if 0%{?suse_version} >= 1310 %ifarch %ix86 x86_64 x32 %arm BuildRequires: pkgconfig(libseccomp) %endif %endif +%if ! 0%{?bootstrap} +BuildRequires: libapparmor-devel +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) %if 0%{?suse_version} > 1310 @@ -120,6 +131,7 @@ Requires: kmod >= 14 %else Requires: kmod >= 15 %endif +Requires: netcfg Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -130,12 +142,21 @@ Requires(post): findutils %if ! 0%{?bootstrap} Requires(post): pam-config %endif +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd +Requires(post): /usr/bin/awk +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz +%if ! 0%{?bootstrap} Source1: systemd-rpmlintrc +%else +Source1: systemd-mini-rpmlintrc +%endif Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf @@ -163,16 +184,15 @@ Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch -Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch Patch18: fix-owner-of-var-log-btmp.patch -# PATCH-FIX-SUSE Avoid error message about not existing getty@3270 file -Patch19: getty-generator-with-serial-3270-tty.patch +# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file +Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -184,6 +204,8 @@ Patch21: allow-multiple-sulogin-to-be-started.patch Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch +# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device +Patch28: apply-ACL-for-nvidia-uvm-device-node.patch # PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. @@ -220,8 +242,8 @@ Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch91: plymouth-quit-and-wait-for-emergency-service.patch # PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -# PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com -Patch114: 0001-systemd-empty-sigmask-on-reexec.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com @@ -376,8 +398,8 @@ Patch193: portmap-wants-rpcbind-socket.patch Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch # PATCH-FIX-USTREAM added at 2014/03/14 Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -# PATCH-FIX-SUSE Detect XEN dom0 as well as domU -Patch196: systemd-detect-xendom.patch +# PATCH-FIX-SUSE Do not clean the data base files of the manual pages +Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap @@ -472,40 +494,116 @@ Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch # PATCH-FIX-UPSTREAM added at 2014/05/20 Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch -# PATCHFIX-UPSTREAM added at 2014/05/20 +# PATCH-FIX-UPSTREAM added at 2014/05/20 Patch245: 0007-logind-fix-Display-property-of-user-objects.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch246: 0001-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch247: 0002-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch249: 0004-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch250: 0005-hwdb-update.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch252: 0002-journal-properly-detect-language-specified-in-line.patch -# PATCHFIX-UPSTREAM added at 2014/05/21 +# PATCH-FIX-UPSTREAM added at 2014/05/21 Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch -# PATCHFIX-UPSTREAM added at 2014/05/27 +# PATCH-FIX-UPSTREAM added at 2014/05/27 Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch -# PATCHFIX-UPSTREAM added at 2014/05/27 +# PATCH-FIX-UPSTREAM added at 2014/05/27 Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch262: 0001-virt-rework-container-detection-logic.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch +# PATCH-FIX-UPSTREAM added at 2014/06/05 +Patch269: 0001-hwdb-fix-case-sensitive-match.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch272: 0001-umount-modernizations.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch274: 0003-core-allow-transient-mount-units.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU +Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch278: 0001-core-fix-invalid-free-in-killall.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch +# PATCH-FIX-SUSE detect virtualization layers on S390 (bnc#880438) +Patch280: 0001-detect-s390-virt.patch +# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available +Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch284: 0005-po-add-Greek-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch286: 0007-po-add-German-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch295: 0005-man-fix-path-in-crypttab-5.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch296: 0001-units-order-network-online.target-after-network.targ.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch297: 0001-core-use-correct-format-string-for-UIDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch # UDEV PATCHES # ============ @@ -551,8 +649,48 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch # PATCH-FIX-UPSTREAM added at 2014/05/20 Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch -# PATCHFIX-UPSTREAM added at 2014/05/26 +# PATCH-FIX-UPSTREAM added at 2014/05/26 Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch +# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch +Patch1021: 1021-udev-re-add-persistent-net-rules.patch +# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1024: 1024-udev-always-close-lock-file-descriptor.patch +# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch +Patch1026: 1026-udevd-inotify-modernizations.patch +# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch +Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch +# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch +Patch1028: 1028-udev-link-config-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch +Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch +# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch +Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch +# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +# PATCH-FIX-SUSE See bnc#882714 comment #51 +Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch +# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch +Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch +# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) +Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -608,12 +746,19 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +PreReq: /bin/rm +PreReq: %insserv_prereq +PreReq: %fillup_prereq +PreReq: /usr/bin/sg_inq +Requires(pre): /usr/bin/stat +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/bin/getent Requires(post): lib%{udevpkgname}%{udev_major} Requires(post): sed -Requires(post): systemd +Requires(post): /usr/bin/systemctl %if %{defined regenerate_initrd_post} Requires(post): coreutils +Requires(post): /usr/bin/stat Requires(postun): coreutils Requires(posttrans): suse-module-tools Requires(posttrans): /sbin/mkinitrd @@ -715,6 +860,11 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/systemctl Conflicts: otherproviders(syslog) %description logger @@ -781,15 +931,13 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch11 -p1 %patch12 -p1 -%patch13 -p1 -%patch14 -p1 +%patch13 -p0 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 +%patch19 -p0 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -801,6 +949,7 @@ cp %{SOURCE7} m4/ # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 +%patch28 -p1 %patch37 -p1 %ifarch %arm %patch38 -p1 @@ -895,8 +1044,8 @@ cp %{SOURCE7} m4/ %patch192 -p1 %patch193 -p1 %patch194 -p0 -%patch195 -p0 %patch196 -p1 +%patch195 -p0 %patch197 -p1 %patch198 -p1 %patch199 -p0 @@ -961,6 +1110,44 @@ cp %{SOURCE7} m4/ %patch259 -p0 %patch260 -p0 %patch261 -p0 +%patch262 -p0 +%patch263 -p0 +%patch264 -p0 +%patch265 -p0 +%patch266 -p0 +%patch267 -p0 +%patch268 -p0 +%patch269 -p0 +%patch270 -p0 +%patch271 -p0 +%patch272 -p0 +%patch273 -p0 +%patch274 -p0 +%patch275 -p0 +%patch276 -p0 +%patch277 -p0 +%patch278 -p0 +%patch279 -p0 +%patch280 -p1 +%patch281 -p1 +%patch282 -p0 +%patch283 -p0 +%patch284 -p0 +%patch285 -p0 +%patch286 -p0 +%patch287 -p0 +%patch288 -p0 +%patch289 -p0 +%patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 +%patch296 -p0 +%patch297 -p0 +%patch298 -p0 +%patch299 -p0 # udev patches %patch1001 -p1 @@ -984,15 +1171,111 @@ cp %{SOURCE7} m4/ %patch1018 -p0 %patch1019 -p0 %patch1020 -p0 +%patch1021 -p1 +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1022 -p1 +%endif +%endif +%patch1023 -p0 +%patch1024 -p0 +%patch1025 -p1 +%patch1026 -p1 +%patch1027 -p1 +%patch1028 -p1 +%patch1029 -p1 +%patch1030 -p1 +%patch1031 -p1 +%patch1032 -p1 +%patch1033 -p1 +%patch1034 -p1 +%patch1035 -p1 +%patch1036 -p1 +%patch1037 -p1 +%patch1038 -p0 +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1039 -p0 +%endif +%endif +%patch1040 -p1 # ensure generate files are removed rm -f units/emergency.service +# disable "-l" option for fsck if it does not support new locking scheme +# compare with commit c343be283b7152554bac0c02493a4e1759c163f7 +PATH=${PATH}:/sbin:/usr/sbin +PATH_FSCK=$(type -p fsck) +if grep -q /run/fsck/%%s\\.lock $PATH_FSCK +then + echo Found new $PATH_FSCK that is allow private locking +else + echo Found old $PATH_FSCK that is disable flock for this one + sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c +fi + +%if 0%{?suse_version} <= 1310 +# +# Older versions like oS 13.1 do not distinguish between +# network.target and network-online.target +# +for f in src/core/service.c src/insserv-generator/insserv-generator.c +do + sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f +done +%endif + %build +cflags () +{ + local flag=$1; shift + local var=$1; shift + local gold + test -n "${flag}" -a -n "${var}" || return + case "${!var}" in + *${flag}*) return + esac + if type ld.gold > /dev/null 2>&1 ; then + gold=-Wl,-fuse-ld=gold + fi + set -o noclobber + case "$flag" in + -Wl,*) + if echo 'int main () { return 0; }' | \ + ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + rm -f ldtest.c + ;; + *) + if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + esac + set +o noclobber +} autoreconf -fiv # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; -export V=1 +export V=e +export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export LDFLAGS +%if 0%{?suse_version} == 1315 + CFLAGS="$CFLAGS -DNET_IFNAMES=1" +%else + CFLAGS="$CFLAGS -DNET_IFNAMES=0" + for rules in 75-persistent-net-generator 76-net-sriov-names + do + sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules + done +%endif +cflags -pipe CFLAGS +cflags -Wl,-O2 LDFLAGS +cflags -Wl,--hash-size=8599 LDFLAGS # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --docdir=%{_docdir}/systemd \ @@ -1019,7 +1302,12 @@ export V=1 --enable-selinux \ --enable-split-usr \ --disable-static \ +%if 0%{?suse_version} <= 1310 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ +%endif +%if ! 0%{has_efi} + --disable-efi \ +%endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -1031,8 +1319,7 @@ export V=1 %if %{without networkd} --disable-networkd \ %endif - --disable-kdbus \ - CFLAGS="%{optflags}" + --disable-kdbus make %{?_smp_mflags} %if ! 0%{?bootstrap} make %{?_smp_mflags} update-man-list man @@ -1067,7 +1354,9 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif +%if 0%{?suse_version} <= 1310 ln -sf /lib/firmware %{buildroot}/usr/lib/firmware +%endif %if ! 0%{?bootstrap} install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config @@ -1135,6 +1424,12 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time sg EOF +%if 0%{has_efi} +cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/efivars.conf +# load efivars module at boot time +efivars +EOF +%endif # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual @@ -1235,7 +1530,7 @@ do done %endif -%if 0%{suse_version} < 1310 +%if 0%{suse_version} <= 1310 cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' [Unit] Description=Fix against deadlock at shutdown @@ -1259,6 +1554,28 @@ cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants %endif +# Some files which may created by us or by the admin later on +mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d +for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ + machine-id machine-info \ + systemd/system/runlevel2.target \ + systemd/system/runlevel3.target \ + systemd/system/runlevel4.target \ + systemd/system/runlevel4.target \ + systemd/system/runlevel5.target +do + > %{buildroot}%{_sysconfdir}/$ghost +done + +# Workaround for bug #882393 +for runlevel in poweroff rescue multi-user graphical reboot +do + mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants + ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ +done + +%find_lang systemd + %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 @@ -1274,8 +1591,14 @@ exit 0 /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : -chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +chmod g+s %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +if read ID < /etc/machine-id > /dev/null 2>&1 ; then + chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : + chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : +fi +getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -1343,7 +1666,7 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi # Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -/usr/sbin/groupadd -r tape 2> /dev/null || : +getent group tape >/dev/null || groupadd -r tape 2> /dev/null || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then @@ -1422,7 +1745,13 @@ fi %postun -n libgudev-1_0-0 -p /sbin/ldconfig +%pre logger +getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +exit 0 + %post logger +getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : @@ -1460,7 +1789,6 @@ exit 0 /bin/systemd-ask-password /bin/systemctl %{_bindir}/systemd-sleep-grub -%{_bindir}/bootctl %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl @@ -1548,7 +1876,10 @@ exit 0 %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif +%if 0%{has_efi} +%{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator +%endif %{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator @@ -1561,6 +1892,9 @@ exit 0 %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf +%if 0%{has_efi} +%{_libexecdir}/modules-load.d/efivars.conf +%endif %dir %{_libexecdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d @@ -1594,6 +1928,18 @@ exit 0 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +# Some files which may created by us +%dir %{_sysconfdir}/X11/xorg.conf.d +%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf +%ghost %config(noreplace) %{_sysconfdir}/locale.conf +%ghost %config(noreplace) %{_sysconfdir}/machine-id +%ghost %config(noreplace) %{_sysconfdir}/machine-info +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target +%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1715,7 +2061,9 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm +%if 0%{?suse_version} <= 1310 %{_prefix}/lib/firmware +%endif %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/accelerometer %{_prefix}/lib/udev/ata_id @@ -1726,6 +2074,9 @@ exit 0 %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule %{_prefix}/lib/udev/udev-generate-peristent-rule +%{_prefix}/lib/udev/net-set-sriov-names +%{_prefix}/lib/udev/rule_generator.functions +%{_prefix}/lib/udev/write_net_rules %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -1803,7 +2154,7 @@ exit 0 %files logger %defattr(-,root,root) -%dir %{_localstatedir}/log/journal +%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal %{_localstatedir}/log/README /etc/init.d/systemd-journald diff --git a/tmpfiles-do-not-clean-for-mandb-index-files.patch b/tmpfiles-do-not-clean-for-mandb-index-files.patch new file mode 100644 index 00000000..3bfd928f --- /dev/null +++ b/tmpfiles-do-not-clean-for-mandb-index-files.patch @@ -0,0 +1,22 @@ +There is no need to clean out all 30 days the index data base +files nor the cachedir tags of mandb. Those files are used +for whatis(1) as well as for apropos(1). + +--- + systemd-210/tmpfiles.d/systemd.conf | 5 +++++ + 1 file changed, 5 insertions(+) + +--- systemd-210/tmpfiles.d/systemd.conf ++++ systemd-210/tmpfiles.d/systemd.conf 2014-06-11 13:47:59.470236564 +0000 +@@ -14,6 +14,11 @@ f /var/log/wtmp 0664 root utmp - + f /var/log/btmp 0600 root root - + + d /var/cache/man - - - 30d ++# mandb uses data base file which should not be cleared ++x /var/cache/man/index.* ++x /var/cache/man/CACHEDIR.TAG ++x /var/cache/man/*/index.* ++x /var/cache/man/*/CACHEDIR.TAG + + d /run/systemd/ask-password 0755 root root - + d /run/systemd/seats 0755 root root - From 0e288fc9c52bc3a598079e2a4f527efc0bf2ec3bde51f00f03d51775c7a33616 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 12 Jul 2014 15:14:24 +0000 Subject: [PATCH 186/991] Accepting request 239780 from Base:System - Add upstream patch 0001-machine-don-t-return-uninitialized-variable.patch - Port and add upstream patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch - Rename 0001-udev-net_setup_link-add-a-bit-more-logging.patch to 1048-udev-net_setup_link-add-a-bit-more-logging.patch - Port and add upstream patches 0001-udev-net_setup_link-add-a-bit-more-logging.patch 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch 0002-namespace-fix-uninitialized-memory-access.patch - Add upstream patches 0001-architecture-Add-tilegx.patch 0002-architecture-Add-cris.patch 0003-arch-add-crisv32-to-uname-check.patch 0004-architecture-remove-cris-from-uname-list.patch - Add upstream patches 0006-hwdb-update.patch 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - Add upstream patches 0001-parse_uid-return-ENXIO-for-1-uids.patch 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch 0003-localed-consider-an-unset-model-as-a-wildcard.patch 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch OBS-URL: https://build.opensuse.org/request/show/239780 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=191 --- 0001-architecture-Add-tilegx.patch | 56 + ...core-close-socket-fds-asynchronously.patch | 12 +- ...-don-t-return-uninitialized-variable.patch | 26 + ...-might-fail-due-to-OOM-protect-again.patch | 26 + 0001-parse_uid-return-ENXIO-for-1-uids.patch | 45 + 0002-architecture-Add-cris.patch | 55 + ...-MaxFileSec-really-default-to-1month.patch | 30 + ...pace-fix-uninitialized-memory-access.patch | 28 + ...ping-strings-don-t-allow-smuggling-i.patch | 74 + ...le-setup-run-setfont-before-loadkeys.patch | 166 + 0003-arch-add-crisv32-to-uname-check.patch | 24 + ...onsider-an-unset-model-as-a-wildcard.patch | 39 + ...ure-tmp-var-tmp-and-dev-are-writable.patch | 34 + ...useManualStart-from-units-which-are-.patch | 65 + ...itecture-remove-cris-from-uname-list.patch | 27 + ...vent-loop-terminates-explicitly-clos.patch | 27 + ...idering-UID-0xFFFF-and-0xFFFFFFFF-va.patch | 31 + ...s-close-a-bus-that-failed-to-connect.patch | 28 + ...n_by_handle_at-and-others-via-seccom.patch | 94 + 0006-hwdb-update.patch | 4392 +++++++++++++++++ ...o-automatic-cleanup-in-XDG_RUNTIME_D.patch | 26 + ...base-of-Bluetooth-company-identifier.patch | 49 + ...skip-mounting-tmp-if-it-is-a-symlink.patch | 26 + ...-udev_queue_get_queue_is_empty-logic.patch | 25 + ...ovide-file-descriptor-to-watch-busy-.patch | 248 + ...tch-entire-directory-to-allow-the-re.patch | 40 + 1044-rules-update-qemu-hid-rules.patch | 45 + ...-t-enable-usb-pm-for-Avocent-devices.patch | 29 + ...licated-rules-with-layer3-interfaces.patch | 16 + ...ink-builtin-should-print-the-reason-.patch | 61 + ...et_setup_link-add-a-bit-more-logging.patch | 39 + systemd-mini.changes | 94 + systemd-mini.spec | 98 +- systemd.changes | 94 + systemd.spec | 98 +- 35 files changed, 6252 insertions(+), 15 deletions(-) create mode 100644 0001-architecture-Add-tilegx.patch create mode 100644 0001-machine-don-t-return-uninitialized-variable.patch create mode 100644 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch create mode 100644 0001-parse_uid-return-ENXIO-for-1-uids.patch create mode 100644 0002-architecture-Add-cris.patch create mode 100644 0002-journald-make-MaxFileSec-really-default-to-1month.patch create mode 100644 0002-namespace-fix-uninitialized-memory-access.patch create mode 100644 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch create mode 100644 0002-vconsole-setup-run-setfont-before-loadkeys.patch create mode 100644 0003-arch-add-crisv32-to-uname-check.patch create mode 100644 0003-localed-consider-an-unset-model-as-a-wildcard.patch create mode 100644 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch create mode 100644 0003-units-remove-RefuseManualStart-from-units-which-are-.patch create mode 100644 0004-architecture-remove-cris-from-uname-list.patch create mode 100644 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch create mode 100644 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch create mode 100644 0005-bus-close-a-bus-that-failed-to-connect.patch create mode 100644 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch create mode 100644 0006-hwdb-update.patch create mode 100644 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch create mode 100644 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch create mode 100644 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch create mode 100644 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch create mode 100644 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch create mode 100644 1044-rules-update-qemu-hid-rules.patch create mode 100644 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch create mode 100644 1046-fix-duplicated-rules-with-layer3-interfaces.patch create mode 100644 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch create mode 100644 1048-udev-net_setup_link-add-a-bit-more-logging.patch diff --git a/0001-architecture-Add-tilegx.patch b/0001-architecture-Add-tilegx.patch new file mode 100644 index 00000000..277587c3 --- /dev/null +++ b/0001-architecture-Add-tilegx.patch @@ -0,0 +1,56 @@ +From 46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97 Mon Sep 17 00:00:00 2001 +From: Henrik Grindal Bakken +Date: Thu, 27 Feb 2014 21:19:13 +0100 +Subject: [PATCH] architecture: Add tilegx + +Add Tilera's TILE-GX processor family support. +--- + src/shared/architecture.c | 3 +++ + src/shared/architecture.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index ceba492..fcdb3d5 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -112,6 +112,8 @@ Architecture uname_architecture(void) { + { "sh", ARCHITECTURE_SH }, + #elif defined(__m68k__) + { "m68k", ARCHITECTURE_M68K }, ++#elif defined(__tilegx__) ++ { "tilegx", ARCHITECTURE_TILEGX }, + #else + #error "Please register your architecture here!" + #endif +@@ -158,6 +160,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_SH] = "sh", + [ARCHITECTURE_SH64] = "sh64", + [ARCHITECTURE_M68K] = "m68k", ++ [ARCHITECTURE_TILEGX] = "tilegx", + }; + + DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); +diff --git src/shared/architecture.h src/shared/architecture.h +index 3183645..e589a91 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -47,6 +47,7 @@ typedef enum Architecture { + ARCHITECTURE_SH, + ARCHITECTURE_SH64, + ARCHITECTURE_M68K, ++ ARCHITECTURE_TILEGX, + _ARCHITECTURE_MAX, + _ARCHITECTURE_INVALID = -1 + } Architecture; +@@ -107,6 +108,8 @@ Architecture uname_architecture(void); + # define native_architecture() ARCHITECTURE_SH + #elif defined(__m68k__) + # define native_architecture() ARCHITECTURE_M68K ++#elif defined(__tilegx__) ++# define native_architecture() ARCHITECTURE_TILEGX + #else + #error "Please register your architecture here!" + #endif +-- +1.7.9.2 + diff --git a/0001-core-close-socket-fds-asynchronously.patch b/0001-core-close-socket-fds-asynchronously.patch index 70eebd3c..b94b3802 100644 --- a/0001-core-close-socket-fds-asynchronously.patch +++ b/0001-core-close-socket-fds-asynchronously.patch @@ -5,9 +5,9 @@ Subject: [PATCH] core: close socket fds asynchronously http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html --- - src/core/async.c | 22 ++++++++++++++++++++++ + src/core/async.c | 24 ++++++++++++++++++++++++ src/core/service.c | 5 +++-- - 2 files changed, 25 insertions(+), 2 deletions(-) + 2 files changed, 27 insertions(+), 2 deletions(-) --- src/core/service.c +++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 @@ -47,13 +47,15 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html int asynchronous_job(void* (*func)(void *p), void *arg) { pthread_attr_t a; -@@ -70,3 +71,24 @@ int asynchronous_sync(void) { +@@ -70,3 +71,26 @@ int asynchronous_sync(void) { return asynchronous_job(sync_thread, NULL); } + +static void *close_thread(void *p) { -+ close_nointr_nofail(PTR_TO_INT(p)); ++ int fd = PTR_TO_INT(p); ++ if (fd >= 0) ++ close_nointr_nofail(fd); + return NULL; +} + @@ -67,7 +69,7 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html + * far away as we can. */ + + r = asynchronous_job(close_thread, INT_TO_PTR(fd)); -+ if (r < 0) ++ if (r < 0 && fd >= 0) + close_nointr_nofail(fd); + + return -1; diff --git a/0001-machine-don-t-return-uninitialized-variable.patch b/0001-machine-don-t-return-uninitialized-variable.patch new file mode 100644 index 00000000..5c1bfd05 --- /dev/null +++ b/0001-machine-don-t-return-uninitialized-variable.patch @@ -0,0 +1,26 @@ +From f14aa1f1b2e4e99ee20393871b5f64f1378ed6c3 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Sun, 6 Jul 2014 14:12:28 +0200 +Subject: [PATCH] machine: don't return uninitialized variable + +Repotred by Ronny Chevalier +--- + src/machine/machine.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/machine/machine.c src/machine/machine.c +index c0fa1b2..cf38e3f 100644 +--- src/machine/machine.c ++++ src/machine/machine.c +@@ -371,7 +371,7 @@ static int machine_stop_scope(Machine *m) { + free(m->scope_job); + m->scope_job = job; + +- return r; ++ return 0; + } + + int machine_stop(Machine *m) { +-- +1.7.9.2 + diff --git a/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch b/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch new file mode 100644 index 00000000..df04192f --- /dev/null +++ b/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch @@ -0,0 +1,26 @@ +Based on 1f97091d3cb0887c264176b47b0a86c269acf0b5 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 27 Jun 2014 18:34:37 +0200 +Subject: [PATCH] main: uid_to_name() might fail due to OOM, protect against + that + +--- + src/core/main.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-07-01 12:25:17.906235000 +0000 +@@ -1525,9 +1525,10 @@ int main(int argc, char *argv[]) { + log_info("Running in initial RAM disk."); + + } else { +- _cleanup_free_ char *t = uid_to_name(getuid()); +- log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", +- getuid(), t); ++ _cleanup_free_ char *t; ++ ++ t = uid_to_name(getuid()); ++ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", getuid(), strna(t)); + } + + if (arg_running_as == SYSTEMD_SYSTEM && !skip_setup) { diff --git a/0001-parse_uid-return-ENXIO-for-1-uids.patch b/0001-parse_uid-return-ENXIO-for-1-uids.patch new file mode 100644 index 00000000..bc23d1a9 --- /dev/null +++ b/0001-parse_uid-return-ENXIO-for-1-uids.patch @@ -0,0 +1,45 @@ +From f841a154efbb3162d2a732936f031ac7a6b0d4cf Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 1 Jul 2014 16:00:05 +0200 +Subject: [PATCH] parse_uid: return -ENXIO for -1 uids + +--- + src/shared/audit.c | 3 --- + src/shared/util.c | 4 ++-- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git src/shared/audit.c src/shared/audit.c +index 5466447..f101050 100644 +--- src/shared/audit.c ++++ src/shared/audit.c +@@ -77,9 +77,6 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) { + if (r < 0) + return r; + +- if (u == (uid_t) -1) +- return -ENXIO; +- + *uid = (uid_t) u; + return 0; + } +diff --git src/shared/util.c src/shared/util.c +index e75f6c9..9b5a47a 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -282,11 +282,11 @@ int parse_uid(const char *s, uid_t* ret_uid) { + + /* Some libc APIs use (uid_t) -1 as special placeholder */ + if (uid == (uid_t) 0xFFFFFFFF) +- return -EINVAL; ++ return -ENXIO; + + /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ + if (uid == (uid_t) 0xFFFF) +- return -EINVAL; ++ return -ENXIO; + + *ret_uid = uid; + return 0; +-- +1.7.9.2 + diff --git a/0002-architecture-Add-cris.patch b/0002-architecture-Add-cris.patch new file mode 100644 index 00000000..a93d29d9 --- /dev/null +++ b/0002-architecture-Add-cris.patch @@ -0,0 +1,55 @@ +From 86bafac9540ba9e111ccba2fdf4161fe3a67cd3b Mon Sep 17 00:00:00 2001 +From: Umut Tezduyar Lindskog +Date: Tue, 4 Mar 2014 13:58:35 +0100 +Subject: [PATCH] architecture: Add cris + +--- + src/shared/architecture.c | 3 +++ + src/shared/architecture.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index fcdb3d5..9e0c3ef 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -114,6 +114,8 @@ Architecture uname_architecture(void) { + { "m68k", ARCHITECTURE_M68K }, + #elif defined(__tilegx__) + { "tilegx", ARCHITECTURE_TILEGX }, ++#elif defined(__cris__) ++ { "cris", ARCHITECTURE_CRIS }, + #else + #error "Please register your architecture here!" + #endif +@@ -161,6 +163,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_SH64] = "sh64", + [ARCHITECTURE_M68K] = "m68k", + [ARCHITECTURE_TILEGX] = "tilegx", ++ [ARCHITECTURE_CRIS] = "cris", + }; + + DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); +diff --git src/shared/architecture.h src/shared/architecture.h +index e589a91..20e848b 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -48,6 +48,7 @@ typedef enum Architecture { + ARCHITECTURE_SH64, + ARCHITECTURE_M68K, + ARCHITECTURE_TILEGX, ++ ARCHITECTURE_CRIS, + _ARCHITECTURE_MAX, + _ARCHITECTURE_INVALID = -1 + } Architecture; +@@ -110,6 +111,8 @@ Architecture uname_architecture(void); + # define native_architecture() ARCHITECTURE_M68K + #elif defined(__tilegx__) + # define native_architecture() ARCHITECTURE_TILEGX ++#elif defined(__cris__) ++# define native_architecture() ARCHITECTURE_CRIS + #else + #error "Please register your architecture here!" + #endif +-- +1.7.9.2 + diff --git a/0002-journald-make-MaxFileSec-really-default-to-1month.patch b/0002-journald-make-MaxFileSec-really-default-to-1month.patch new file mode 100644 index 00000000..9b48fcae --- /dev/null +++ b/0002-journald-make-MaxFileSec-really-default-to-1month.patch @@ -0,0 +1,30 @@ +Based on e150e82097211f09b911c7784a89ef9efed713ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= +Date: Thu, 26 Jun 2014 22:11:35 +0200 +Subject: [PATCH] journald: make MaxFileSec really default to 1month + +journald.conf(5) states that the default for MaxFileSec is one month, +but the code didn't respect that. +--- + src/journal/journald-server.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- src/journal/journald-server.c ++++ src/journal/journald-server.c 2014-07-01 12:28:25.506735287 +0000 +@@ -68,6 +68,7 @@ + #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE) + #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC) + #define DEFAULT_RATE_LIMIT_BURST 1000 ++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH + + #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC) + +@@ -1496,6 +1497,8 @@ int server_init(Server *s) { + + s->forward_to_syslog = true; + ++ s->max_file_usec = DEFAULT_MAX_FILE_USEC; ++ + s->max_level_store = LOG_DEBUG; + s->max_level_syslog = LOG_DEBUG; + s->max_level_kmsg = LOG_NOTICE; diff --git a/0002-namespace-fix-uninitialized-memory-access.patch b/0002-namespace-fix-uninitialized-memory-access.patch new file mode 100644 index 00000000..bb6ea8ea --- /dev/null +++ b/0002-namespace-fix-uninitialized-memory-access.patch @@ -0,0 +1,28 @@ +Based on 002b226843e77630128da580225f9c3ef8474db2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 16:27:53 +0200 +Subject: [PATCH] namespace: fix uninitialized memory access + +--- + src/core/namespace.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- src/core/namespace.c ++++ src/core/namespace.c 2014-07-04 00:00:00.000000000 +0000 +@@ -68,6 +68,7 @@ static int append_mounts(BindMount **p, + STRV_FOREACH(i, strv) { + + (*p)->ignore = false; ++ (*p)->done = false; + + if ((mode == INACCESSIBLE || mode == READONLY) && (*i)[0] == '-') { + (*p)->ignore = true; +@@ -298,7 +299,7 @@ int setup_namespace( + private_dev; + + if (n > 0) { +- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); ++ m = mounts = (BindMount *) alloca0(n * sizeof(BindMount)); + r = append_mounts(&m, read_write_dirs, READWRITE); + if (r < 0) + return r; diff --git a/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch b/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch new file mode 100644 index 00000000..b202ce37 --- /dev/null +++ b/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch @@ -0,0 +1,74 @@ +Based on e0a33e7ba619eb44f732aaf23cb249fa43d0ce8d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Jul 2014 13:42:25 +0200 +Subject: [PATCH] util: when unescaping strings, don't allow smuggling in of + additional NUL bytes + +Better safe than sorry. +--- + src/shared/util.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git src/shared/util.c src/shared/util.c +index ceafa01..4ad3f20 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1256,7 +1256,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre + a = unhexchar(f[1]); + b = unhexchar(f[2]); + +- if (a < 0 || b < 0) { ++ if (a < 0 || b < 0 || (a == 0 && b == 0)) { + /* Invalid escape code, let's take it literal then */ + *(t++) = '\\'; + *(t++) = 'x'; +@@ -1283,7 +1283,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre + b = unoctchar(f[1]); + c = unoctchar(f[2]); + +- if (a < 0 || b < 0 || c < 0) { ++ if (a < 0 || b < 0 || c < 0 || (a == 0 && b == 0 && c == 0)) { + /* Invalid escape code, let's take it literal then */ + *(t++) = '\\'; + *(t++) = f[0]; +@@ -1566,8 +1566,7 @@ int chvt(int vt) { + + int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + struct termios old_termios, new_termios; +- char c; +- char line[LINE_MAX]; ++ char c, line[LINE_MAX]; + + assert(f); + assert(ret); +@@ -1604,9 +1603,10 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + } + } + +- if (t != (usec_t) -1) ++ if (t != (usec_t) -1) { + if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0) + return -ETIMEDOUT; ++ } + + if (!fgets(line, sizeof(line), f)) + return -EIO; +@@ -1624,6 +1624,7 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + } + + int ask(char *ret, const char *replies, const char *text, ...) { ++ int r; + + assert(ret); + assert(replies); +@@ -1632,7 +1633,6 @@ int ask(char *ret, const char *replies, const char *text, ...) { + for (;;) { + va_list ap; + char c; +- int r; + bool need_nl = true; + + if (on_tty()) +-- +1.7.9.2 + diff --git a/0002-vconsole-setup-run-setfont-before-loadkeys.patch b/0002-vconsole-setup-run-setfont-before-loadkeys.patch new file mode 100644 index 00000000..dab9f876 --- /dev/null +++ b/0002-vconsole-setup-run-setfont-before-loadkeys.patch @@ -0,0 +1,166 @@ +Based on abee28c56d523e55751b0c007d0bf812cc285c00 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 1 Jul 2014 22:20:11 -0400 +Subject: [PATCH] vconsole-setup: run setfont before loadkeys + +https://bugs.freedesktop.org/show_bug.cgi?id=80685 + +For SUSE please note that this had been ported on top of the patches + * handle-disable_caplock-and-compose_table-and-kbd_rate.patch + * handle-numlock-value-in-etc-sysconfig-keyboard.patch +that is that now set_kbd_rate() will be called first before font_load(). +Then font_load() is followed by load_compose_table() and afterwards as +in the original commit the keymap_load() follows. + +--- + src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- + 1 file changed, 47 insertions(+), 46 deletions(-) + +--- src/vconsole/vconsole-setup.c ++++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +@@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, + + int main(int argc, char **argv) { + const char *vc; +- char *vc_keymap = NULL; +- char *vc_keymap_toggle = NULL; +- char *vc_font = NULL; +- char *vc_font_map = NULL; +- char *vc_font_unimap = NULL; ++ _cleanup_free_ char ++ *vc_keymap = NULL, *vc_keymap_toggle = NULL, ++ *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; ++ _cleanup_close_ int fd = -1; + #ifdef HAVE_SYSV_COMPAT +- char *vc_kbd_delay = NULL; +- char *vc_kbd_rate = NULL; +- char *vc_kbd_disable_caps_lock = NULL; +- char *vc_kbd_numlock = NULL; +- char *vc_compose_table = NULL; ++ _cleanup_free_ char ++ *vc_kbd_numlock = NULL, *vc_kbd_delay = NULL, ++ *vc_kbd_rate = NULL, * vc_kbd_disable_caps_lock = NULL, ++ *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; ++ bool numlock = false; + #endif +- int fd = -1; + bool utf8; + bool disable_capslock = false; +- bool numlock = false; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -377,12 +374,12 @@ int main(int argc, char **argv) { + fd = open_terminal(vc, O_RDWR|O_CLOEXEC); + if (fd < 0) { + log_error("Failed to open %s: %m", vc); +- goto finish; ++ return EXIT_FAILURE; + } + + if (!is_vconsole(fd)) { + log_error("Device %s is not a virtual console.", vc); +- goto finish; ++ return EXIT_FAILURE; + } + + utf8 = is_locale_utf8(); +@@ -464,61 +461,65 @@ int main(int argc, char **argv) { + } else + #endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); +- + #endif + } + ++#ifdef HAVE_SYSV_COMPAT ++finish: ++ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); ++ if (r < 0) { ++ log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } ++#endif ++ + if (utf8) + enable_utf8(fd); + else + disable_utf8(fd); + +- r = EXIT_FAILURE; ++ r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } ++ ++ if (font_pid > 0) ++ wait_for_terminate_and_warn(KBD_SETFONT, font_pid); + +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && + #ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && ++ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } ++ ++ if (compose_table_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + #endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + +-finish: ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } ++ + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ ++#ifdef HAVE_SYSV_COMPAT + if (numlock) + touch("/run/numlock-on"); + else + unlink("/run/numlock-on"); + +-#ifdef HAVE_SYSV_COMPAT +- if (compose_table_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); +- + if (kbd_rate_pid > 0) + wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); + #endif + +- if (font_pid > 0) { +- wait_for_terminate_and_warn(KBD_SETFONT, font_pid); +- if (font_copy) +- font_copy_to_all_vcs(fd); +- } +- +- free(vc_keymap); +- free(vc_font); +- free(vc_font_map); +- free(vc_font_unimap); +- free(vc_kbd_numlock); +-#ifdef HAVE_SYSV_COMPAT +- free(vc_kbd_delay); +- free(vc_kbd_rate); +- free(vc_kbd_disable_caps_lock); +- free(vc_compose_table); +-#endif +- +- if (fd >= 0) +- close_nointr_nofail(fd); ++ /* Only copy the font when we started setfont successfully */ ++ if (font_copy && font_pid > 0) ++ font_copy_to_all_vcs(fd); + + return r; + } diff --git a/0003-arch-add-crisv32-to-uname-check.patch b/0003-arch-add-crisv32-to-uname-check.patch new file mode 100644 index 00000000..c8a9e7f3 --- /dev/null +++ b/0003-arch-add-crisv32-to-uname-check.patch @@ -0,0 +1,24 @@ +From 9b3a0ba3e9e28382a1072bf0e2c07a3661432743 Mon Sep 17 00:00:00 2001 +From: Umut Tezduyar Lindskog +Date: Thu, 3 Jul 2014 09:54:45 +0200 +Subject: [PATCH] arch: add crisv32 to uname check + +--- + src/shared/architecture.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index 9e0c3ef..7dd049a 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -116,6 +116,7 @@ Architecture uname_architecture(void) { + { "tilegx", ARCHITECTURE_TILEGX }, + #elif defined(__cris__) + { "cris", ARCHITECTURE_CRIS }, ++ { "crisv32", ARCHITECTURE_CRIS }, + #else + #error "Please register your architecture here!" + #endif +-- +1.7.9.2 + diff --git a/0003-localed-consider-an-unset-model-as-a-wildcard.patch b/0003-localed-consider-an-unset-model-as-a-wildcard.patch new file mode 100644 index 00000000..3fbdb74e --- /dev/null +++ b/0003-localed-consider-an-unset-model-as-a-wildcard.patch @@ -0,0 +1,39 @@ +From 387066c2e5bda159201896b194711965b52f34a9 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Fri, 30 May 2014 18:20:16 +0200 +Subject: [PATCH] localed: consider an unset model as a wildcard + +--- + src/locale/localed.c | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git src/locale/localed.c src/locale/localed.c +index e3061c8..358f6c2 100644 +--- src/locale/localed.c ++++ src/locale/localed.c +@@ -712,15 +712,16 @@ static int find_legacy_keymap(Context *c, char **new_keymap) { + } + } + +- if (matching > 0 && +- streq_ptr(c->x11_model, a[2])) { +- matching++; +- +- if (streq_ptr(c->x11_variant, a[3])) { ++ if (matching > 0) { ++ if (isempty(c->x11_model) || streq_ptr(c->x11_model, a[2])) { + matching++; + +- if (streq_ptr(c->x11_options, a[4])) ++ if (streq_ptr(c->x11_variant, a[3])) { + matching++; ++ ++ if (streq_ptr(c->x11_options, a[4])) ++ matching++; ++ } + } + } + +-- +1.7.9.2 + diff --git a/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch b/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch new file mode 100644 index 00000000..a8e538e2 --- /dev/null +++ b/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch @@ -0,0 +1,34 @@ +Based on 664064d60c36e1f62c7e9177e4c7498035467e07 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 16:27:57 +0200 +Subject: [PATCH] namespace: make sure /tmp, /var/tmp and /dev are writable in + namespaces we set up + +--- + src/core/namespace.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +--- src/core/namespace.c ++++ src/core/namespace.c 2014-07-04 09:55:21.582234949 +0000 +@@ -263,14 +263,17 @@ static int make_read_only(BindMount *m) + + assert(m); + +- if (m->mode != INACCESSIBLE && m->mode != READONLY) +- return 0; ++ if (IN_SET(m->mode, INACCESSIBLE, READONLY)) ++ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); ++ else if (IN_SET(m->mode, READWRITE, PRIVATE_TMP, PRIVATE_VAR_TMP, PRIVATE_DEV)) ++ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_REC, NULL); ++ else ++ r = 0; + +- r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); + if (r < 0 && !(m->ignore && errno == ENOENT)) + return -errno; + +- return 0; ++ return r; + } + + int setup_namespace( diff --git a/0003-units-remove-RefuseManualStart-from-units-which-are-.patch b/0003-units-remove-RefuseManualStart-from-units-which-are-.patch new file mode 100644 index 00000000..d9ffedbf --- /dev/null +++ b/0003-units-remove-RefuseManualStart-from-units-which-are-.patch @@ -0,0 +1,65 @@ +Based on 0fdeb6e011dfdb17636c81e2d7e0d632186359ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 28 Jun 2014 00:06:30 -0400 +Subject: [PATCH] units: remove RefuseManualStart from units which are always + around + +In a normal running system, non-passive targets and units used during +early bootup are always started. So refusing "manual start" for them +doesn't make any difference, because a "start" command doesn't cause +any action. + +In early boot however, the administrator might want to start on +of those targets or services by hand. We shouldn't interfere with that. + +Note: in case of systemd-tmpfiles-setup.service, really running the +unit after system is up would break the system. So e.g. restarting +should not be allowed. The unit has "RefuseManualStop=yes", which +prevents restart too. +--- + units/basic.target | 1 - + units/sysinit.target | 1 - + units/systemd-tmpfiles-setup.service.in | 1 - + units/user/basic.target | 1 - + 4 files changed, 4 deletions(-) + +diff --git units/basic.target units/basic.target +index d7c68f4..b890d48 100644 +--- units/basic.target ++++ units/basic.target +@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) + Requires=sysinit.target + Wants=sockets.target timers.target paths.target slices.target + After=sysinit.target sockets.target timers.target paths.target slices.target +-RefuseManualStart=yes +diff --git units/sysinit.target units/sysinit.target +index 8f4fb8f..ec33503 100644 +--- units/sysinit.target ++++ units/sysinit.target +@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) + Conflicts=emergency.service emergency.target + Wants=local-fs.target swap.target + After=local-fs.target swap.target emergency.service emergency.target +-RefuseManualStart=yes +--- units/systemd-tmpfiles-setup.service.in ++++ units/systemd-tmpfiles-setup.service.in 2014-07-01 12:17:48.154235348 +0000 +@@ -18,7 +18,6 @@ ConditionDirectoryNotEmpty=|/lib/tmpfile + ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/etc/tmpfiles.d + ConditionDirectoryNotEmpty=|/run/tmpfiles.d +-RefuseManualStart=yes + RefuseManualStop=yes + + [Service] +diff --git units/user/basic.target units/user/basic.target +index b74d13c..afc6e93 100644 +--- units/user/basic.target ++++ units/user/basic.target +@@ -10,4 +10,3 @@ Description=Basic System + Documentation=man:systemd.special(7) + Wants=sockets.target timers.target paths.target + After=sockets.target timers.target paths.target +-RefuseManualStart=yes +-- +1.7.9.2 + diff --git a/0004-architecture-remove-cris-from-uname-list.patch b/0004-architecture-remove-cris-from-uname-list.patch new file mode 100644 index 00000000..dc1aa466 --- /dev/null +++ b/0004-architecture-remove-cris-from-uname-list.patch @@ -0,0 +1,27 @@ +From bc4bc52bc3de56405045b0437e145a7067fb085d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 22:52:44 +0200 +Subject: [PATCH] architecture: remove "cris" from uname list + +the only correct name appears to be "crisv32"... + +http://lists.freedesktop.org/archives/systemd-devel/2014-July/020899.html +--- + src/shared/architecture.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git src/shared/architecture.c src/shared/architecture.c +index 7dd049a..6cdca4e 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -115,7 +115,6 @@ Architecture uname_architecture(void) { + #elif defined(__tilegx__) + { "tilegx", ARCHITECTURE_TILEGX }, + #elif defined(__cris__) +- { "cris", ARCHITECTURE_CRIS }, + { "crisv32", ARCHITECTURE_CRIS }, + #else + #error "Please register your architecture here!" +-- +1.7.9.2 + diff --git a/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch b/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch new file mode 100644 index 00000000..51b46fb4 --- /dev/null +++ b/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch @@ -0,0 +1,27 @@ +From 7bb4d371af5ec6b8c50b71d2a80c2866d8134d9a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Jul 2014 17:36:47 +0200 +Subject: [PATCH] sd-bus: when an event loop terminates, explicitly close the + bus + +This makes sure we actually release the bus and all the messages it +references. +--- + src/libsystemd/sd-bus/sd-bus.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index d52afe8..eb267d4 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -2940,6 +2940,7 @@ static int quit_callback(sd_event_source *event, void *userdata) { + assert(event); + + sd_bus_flush(bus); ++ sd_bus_close(bus); + + return 1; + } +-- +1.7.9.2 + diff --git a/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch b/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch new file mode 100644 index 00000000..23ccc1d5 --- /dev/null +++ b/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch @@ -0,0 +1,31 @@ +From 306a55c86360a7ae7b2509771d5ea6ab0d166d85 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 29 Jun 2014 22:15:33 +0200 +Subject: [PATCH] util: refuse considering UID 0xFFFF and 0xFFFFFFFF valid + +--- + src/shared/util.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git src/shared/util.c src/shared/util.c +index e7ff0f8..1709bb7 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -280,6 +280,14 @@ int parse_uid(const char *s, uid_t* ret_uid) { + if ((unsigned long) uid != ul) + return -ERANGE; + ++ /* Some libc APIs use (uid_t) -1 as special placeholder */ ++ if (uid == (uid_t) 0xFFFFFFFF) ++ return -EINVAL; ++ ++ /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ ++ if (uid == (uid_t) 0xFFFF) ++ return -EINVAL; ++ + *ret_uid = uid; + return 0; + } +-- +1.7.9.2 + diff --git a/0005-bus-close-a-bus-that-failed-to-connect.patch b/0005-bus-close-a-bus-that-failed-to-connect.patch new file mode 100644 index 00000000..9633317f --- /dev/null +++ b/0005-bus-close-a-bus-that-failed-to-connect.patch @@ -0,0 +1,28 @@ +From db9bb83fa5ec72da38eb5bd0c259ef8c76a71858 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 01:19:21 +0200 +Subject: [PATCH] bus: close a bus that failed to connect + +--- + src/libsystemd/sd-bus/sd-bus.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index c25375c..28fc19e 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -1033,8 +1033,10 @@ _public_ int sd_bus_start(sd_bus *bus) { + else + return -EINVAL; + +- if (r < 0) ++ if (r < 0) { ++ sd_bus_close(bus); + return r; ++ } + + return bus_send_hello(bus); + } +-- +1.7.9.2 + diff --git a/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch b/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch new file mode 100644 index 00000000..e5b6706d --- /dev/null +++ b/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch @@ -0,0 +1,94 @@ +From 28650077f36466d9c5ee27ef2006fae3171a2430 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 30 Jun 2014 16:22:12 +0200 +Subject: [PATCH] nspawn: block open_by_handle_at() and others via seccomp + +Let's protect ourselves against the recently reported docker security +issue. Our man page makes clear that we do not make any security +promises anyway, but well, this one is easy to mitigate, so let's do it. +While we are at it block a couple of more syscalls that are no good in +containers, too. +--- + src/nspawn/nspawn.c | 47 +++++++++++++++++++++++++++++++++++------------ + 1 file changed, 35 insertions(+), 12 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index fd61d07..656c1bf 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1864,22 +1864,25 @@ static int setup_macvlan(pid_t pid) { + return 0; + } + +-static int audit_still_doesnt_work_in_containers(void) { ++static int setup_seccomp(void) { + + #ifdef HAVE_SECCOMP ++ static const int blacklist[] = { ++ SCMP_SYS(kexec_load), ++ SCMP_SYS(open_by_handle_at), ++ SCMP_SYS(init_module), ++ SCMP_SYS(finit_module), ++ SCMP_SYS(delete_module), ++ SCMP_SYS(iopl), ++ SCMP_SYS(ioperm), ++ SCMP_SYS(swapon), ++ SCMP_SYS(swapoff), ++ }; ++ + scmp_filter_ctx seccomp; ++ unsigned i; + int r; + +- /* +- Audit is broken in containers, much of the userspace audit +- hookup will fail if running inside a container. We don't +- care and just turn off creation of audit sockets. +- +- This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail +- with EAFNOSUPPORT which audit userspace uses as indication +- that audit is disabled in the kernel. +- */ +- + seccomp = seccomp_init(SCMP_ACT_ALLOW); + if (!seccomp) + return log_oom(); +@@ -1890,6 +1893,26 @@ static int audit_still_doesnt_work_in_containers(void) { + goto finish; + } + ++ for (i = 0; i < ELEMENTSOF(blacklist); i++) { ++ r = seccomp_rule_add(seccomp, SCMP_ACT_ERRNO(EPERM), blacklist[i], 0); ++ if (r == -EFAULT) ++ continue; /* unknown syscall */ ++ if (r < 0) { ++ log_error("Failed to block syscall: %s", strerror(-r)); ++ goto finish; ++ } ++ } ++ ++ /* ++ Audit is broken in containers, much of the userspace audit ++ hookup will fail if running inside a container. We don't ++ care and just turn off creation of audit sockets. ++ ++ This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail ++ with EAFNOSUPPORT which audit userspace uses as indication ++ that audit is disabled in the kernel. ++ */ ++ + r = seccomp_rule_add( + seccomp, + SCMP_ACT_ERRNO(EAFNOSUPPORT), +@@ -3050,7 +3073,7 @@ int main(int argc, char *argv[]) { + + dev_setup(arg_directory); + +- if (audit_still_doesnt_work_in_containers() < 0) ++ if (setup_seccomp() < 0) + goto child_fail; + + if (setup_dev_console(arg_directory, console) < 0) +-- +1.7.9.2 + diff --git a/0006-hwdb-update.patch b/0006-hwdb-update.patch new file mode 100644 index 00000000..080bd96c --- /dev/null +++ b/0006-hwdb-update.patch @@ -0,0 +1,4392 @@ +From 98be1a746ac0d7a17e69ccb05936a4d6b3223e97 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 3 Jul 2014 16:28:40 +0200 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 543 +++++++++++++++++++-- + hwdb/20-pci-classes.hwdb | 27 ++ + hwdb/20-pci-vendor-model.hwdb | 1071 +++++++++++++++++++++++++++-------------- + hwdb/20-usb-classes.hwdb | 3 + + hwdb/20-usb-vendor-model.hwdb | 102 +++- + 5 files changed, 1362 insertions(+), 384 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 6188bfc..97f1e6b 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -6446,7 +6446,7 @@ OUI:0050C2871* + ID_OUI_FROM_DATABASE=R-S-I Elektrotechnik GmbH & Co. KG + + OUI:0050C2872* +- ID_OUI_FROM_DATABASE=Oliotalo - Objecthouse Oy ++ ID_OUI_FROM_DATABASE=Oliotalo Oy + + OUI:0050C2873* + ID_OUI_FROM_DATABASE=XRONET Corporation +@@ -37139,76 +37139,76 @@ OUI:001EC7* + ID_OUI_FROM_DATABASE=2Wire, Inc. + + OUI:001EC8* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Rapid Mobile (Pty) Ltd + + OUI:001EC9* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001ECA* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Nortel + + OUI:001ECB* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE="RPC "Energoautomatika" Ltd + + OUI:001ECC* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=CDVI + + OUI:001ECD* + ID_OUI_FROM_DATABASE=KYLAND Technology Co. LTD + + OUI:001ECE* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=BISA Technologies (Hong Kong) Limited + + OUI:001ECF* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=PHILIPS ELECTRONICS UK LTD + + OUI:001ED0* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Ingespace + + OUI:001ED1* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Keyprocessor B.V. + + OUI:001ED2* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Ray Shine Video Technology Inc + + OUI:001ED3* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Dot Technology Int'l Co., Ltd. + + OUI:001ED4* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Doble Engineering + + OUI:001ED5* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Tekon-Automatics + + OUI:001ED6* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Alentec & Orion AB + + OUI:001ED7* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=H-Stream Wireless, Inc. + + OUI:001ED8* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Digital United Inc. + + OUI:001ED9* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Mitsubishi Precision Co.,LTd. + + OUI:001EDA* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Wesemann Elektrotechniek B.V. + + OUI:001EDB* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Giken Trastem Co., Ltd. + + OUI:001EDC* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + + OUI:001EDD* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=WASKO S.A. + + OUI:001EDE* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=BYD COMPANY LIMITED + + OUI:001EDF* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Master Industrialization Center Kista + + OUI:001EE0* + ID_OUI_FROM_DATABASE=Urmet Domus SpA +@@ -45800,7 +45800,7 @@ OUI:0050F8* + ID_OUI_FROM_DATABASE=ENTREGA TECHNOLOGIES, INC. + + OUI:0050F9* +- ID_OUI_FROM_DATABASE=SENSORMATIC ACD ++ ID_OUI_FROM_DATABASE=Sensormatic Electronics LLC + + OUI:0050FA* + ID_OUI_FROM_DATABASE=OXTEL, LTD. +@@ -45829,6 +45829,9 @@ OUI:0054AF* + OUI:005907* + ID_OUI_FROM_DATABASE=LenovoEMC Products USA, LLC + ++OUI:005A39* ++ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO., LTD. ++ + OUI:005CB1* + ID_OUI_FROM_DATABASE=Gospell DIGITAL TECHNOLOGY CO., LTD + +@@ -46603,6 +46606,9 @@ OUI:0060FE* + OUI:0060FF* + ID_OUI_FROM_DATABASE=QuVis, Inc. + ++OUI:006171* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:006440* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -48238,6 +48244,9 @@ OUI:009C02* + OUI:009D8E* + ID_OUI_FROM_DATABASE=CARDIAC RECORDERS, INC. + ++OUI:009EC8* ++ ID_OUI_FROM_DATABASE=Beijing Xiaomi Electronic Products Co., Ltd. ++ + OUI:00A000* + ID_OUI_FROM_DATABASE=CENTILLION NETWORKS, INC. + +@@ -50740,6 +50749,9 @@ OUI:00D38D* + OUI:00D632* + ID_OUI_FROM_DATABASE=GE Energy + ++OUI:00D9D1* ++ ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. ++ + OUI:00DB1E* + ID_OUI_FROM_DATABASE=Albedo Telecom SL + +@@ -51778,6 +51790,9 @@ OUI:0462D7* + OUI:0463E0* + ID_OUI_FROM_DATABASE=Nome Oy + ++OUI:046785* ++ ID_OUI_FROM_DATABASE=scemtec Hard- und Software fuer Mess- und Steuerungstechnik GmbH ++ + OUI:046D42* + ID_OUI_FROM_DATABASE=Bryston Ltd. + +@@ -51901,6 +51916,9 @@ OUI:04DB8A* + OUI:04DD4C* + ID_OUI_FROM_DATABASE=Velocytech + ++OUI:04DEDB* ++ ID_OUI_FROM_DATABASE=Rockport Networks Inc ++ + OUI:04DF69* + ID_OUI_FROM_DATABASE=Car Connectivity Consortium + +@@ -52498,6 +52516,9 @@ OUI:083F76* + OUI:084027* + ID_OUI_FROM_DATABASE=Gridstore Inc. + ++OUI:084656* ++ ID_OUI_FROM_DATABASE=VODALYS Ingénierie ++ + OUI:08482C* + ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. + +@@ -52966,6 +52987,9 @@ OUI:0CCDD3* + OUI:0CCDFB* + ID_OUI_FROM_DATABASE=EDIC Systems Inc. + ++OUI:0CCFD1* ++ ID_OUI_FROM_DATABASE=SPRINGWAVE Co., Ltd ++ + OUI:0CD292* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -53089,6 +53113,9 @@ OUI:1010B6* + OUI:101212* + ID_OUI_FROM_DATABASE=Vivo International Corporation Pty Ltd + ++OUI:101218* ++ ID_OUI_FROM_DATABASE=Korins Inc. ++ + OUI:101248* + ID_OUI_FROM_DATABASE=ITG, Inc. + +@@ -53128,6 +53155,9 @@ OUI:102D96* + OUI:102EAF* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:102F6B* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:103047* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53164,6 +53194,9 @@ OUI:104780* + OUI:1048B1* + ID_OUI_FROM_DATABASE=Beijing Duokan Technology Limited + ++OUI:104B46* ++ ID_OUI_FROM_DATABASE=Mitsubishi Electric Corporation ++ + OUI:104D77* + ID_OUI_FROM_DATABASE=Innovative Computer Engineering + +@@ -53242,6 +53275,9 @@ OUI:10880F* + OUI:1088CE* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + ++OUI:108A1B* ++ ID_OUI_FROM_DATABASE=RAONIX Inc. ++ + OUI:108CCF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -53458,6 +53494,9 @@ OUI:144319* + OUI:1446E4* + ID_OUI_FROM_DATABASE=AVISTEL + ++OUI:14488B* ++ ID_OUI_FROM_DATABASE=Shenzhen Doov Technology Co.,Ltd ++ + OUI:144978* + ID_OUI_FROM_DATABASE=Digital Control Incorporated + +@@ -53473,6 +53512,9 @@ OUI:145412* + OUI:145645* + ID_OUI_FROM_DATABASE=Savitech Corp. + ++OUI:1458D0* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:145A05* + ID_OUI_FROM_DATABASE=Apple + +@@ -53608,6 +53650,9 @@ OUI:14EB33* + OUI:14EDA5* + ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme + ++OUI:14EDE4* ++ ID_OUI_FROM_DATABASE=Kaiam Corporation ++ + OUI:14EE9D* + ID_OUI_FROM_DATABASE=AirNav Systems LLC + +@@ -53794,6 +53839,9 @@ OUI:1867B0* + OUI:186D99* + ID_OUI_FROM_DATABASE=Adanis Inc. + ++OUI:187117* ++ ID_OUI_FROM_DATABASE=eta plus electronic gmbh ++ + OUI:1879A2* + ID_OUI_FROM_DATABASE=GMJ ELECTRIC LIMITED + +@@ -53812,6 +53860,9 @@ OUI:1880CE* + OUI:1880F5* + ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd + ++OUI:188219* ++ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. ++ + OUI:188331* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53857,6 +53908,9 @@ OUI:189EFC* + OUI:18A905* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + ++OUI:18A958* ++ ID_OUI_FROM_DATABASE=PROVISION THAI CO., LTD. ++ + OUI:18A99B* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -54049,6 +54103,9 @@ OUI:1C43EC* + OUI:1C4593* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:1C4840* ++ ID_OUI_FROM_DATABASE=IMS Messsysteme GmbH ++ + OUI:1C48F9* + ID_OUI_FROM_DATABASE=GN Netcom A/S + +@@ -54064,6 +54121,9 @@ OUI:1C4BD6* + OUI:1C51B5* + ID_OUI_FROM_DATABASE=Techaya LTD + ++OUI:1C5216* ++ ID_OUI_FROM_DATABASE=DONGGUAN HELE ELECTRONICS CO., LTD ++ + OUI:1C52D6* + ID_OUI_FROM_DATABASE=FLAT DISPLAY TECHNOLOGY CORPORATION + +@@ -54100,6 +54160,9 @@ OUI:1C66AA* + OUI:1C69A5* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:1C6A7A* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:1C6BCA* + ID_OUI_FROM_DATABASE=Mitsunami Co., Ltd. + +@@ -54163,6 +54226,12 @@ OUI:1C973D* + OUI:1C994C* + ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd. + ++OUI:1C9C26* ++ ID_OUI_FROM_DATABASE=Zoovel Technologies ++ ++OUI:1CA2B1* ++ ID_OUI_FROM_DATABASE=ruwido austria gmbh ++ + OUI:1CA770* + ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LT + +@@ -54217,6 +54286,9 @@ OUI:1CC63C* + OUI:1CD40C* + ID_OUI_FROM_DATABASE=Kriwan Industrie-Elektronik GmbH + ++OUI:1CDEA7* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:1CDF0F* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -54286,6 +54358,9 @@ OUI:20107A* + OUI:201257* + ID_OUI_FROM_DATABASE=Most Lucky Trading Ltd + ++OUI:2012D5* ++ ID_OUI_FROM_DATABASE=Scientech Materials Corporation ++ + OUI:2013E0* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -54370,6 +54445,9 @@ OUI:205A00* + OUI:205B5E* + ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd + ++OUI:205CFA* ++ ID_OUI_FROM_DATABASE=Yangzhou ChangLian Network Technology Co,ltd. ++ + OUI:206432* + ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO MECHANICS CO.,LTD. + +@@ -54439,6 +54517,9 @@ OUI:20A2E7* + OUI:20A787* + ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited + ++OUI:20A99B* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:20AA25* + ID_OUI_FROM_DATABASE=IP-NET LLC + +@@ -54469,6 +54550,9 @@ OUI:20BFDB* + OUI:20C1AF* + ID_OUI_FROM_DATABASE=i Wit Digital Co., Limited + ++OUI:20C38F* ++ ID_OUI_FROM_DATABASE=Texas Instruments Inc ++ + OUI:20C60D* + ID_OUI_FROM_DATABASE=Shanghai annijie Information technology Co.,LTD + +@@ -54616,6 +54700,9 @@ OUI:2437EF* + OUI:243C20* + ID_OUI_FROM_DATABASE=Dynamode Group + ++OUI:2442BC* ++ ID_OUI_FROM_DATABASE=Alinco,incorporated ++ + OUI:244597* + ID_OUI_FROM_DATABASE=GEMUE Gebr. Mueller Apparatebau + +@@ -55027,6 +55114,9 @@ OUI:28A241* + OUI:28A574* + ID_OUI_FROM_DATABASE=Miller Electric Mfg. Co. + ++OUI:28A5EE* ++ ID_OUI_FROM_DATABASE=Shenzhen SDGI CATV Co., Ltd ++ + OUI:28AF0A* + ID_OUI_FROM_DATABASE=Sirius XM Radio Inc + +@@ -55177,6 +55267,9 @@ OUI:2C0033* + OUI:2C00F7* + ID_OUI_FROM_DATABASE=XOS + ++OUI:2C010B* ++ ID_OUI_FROM_DATABASE=NASCENT Technology, LLC - RemKon ++ + OUI:2C0623* + ID_OUI_FROM_DATABASE=Win Leader Inc. + +@@ -55192,6 +55285,9 @@ OUI:2C18AE* + OUI:2C1984* + ID_OUI_FROM_DATABASE=IDN Telecom, Inc. + ++OUI:2C1A31* ++ ID_OUI_FROM_DATABASE=Electronics Company Limited ++ + OUI:2C1EEA* + ID_OUI_FROM_DATABASE=AERODEV + +@@ -55369,6 +55465,9 @@ OUI:2C9EFC* + OUI:2CA157* + ID_OUI_FROM_DATABASE=acromate, Inc. + ++OUI:2CA30E* ++ ID_OUI_FROM_DATABASE=POWER DRAGON DEVELOPMENT LIMITED ++ + OUI:2CA780* + ID_OUI_FROM_DATABASE=True Technologies Inc. + +@@ -55540,6 +55639,9 @@ OUI:303EAD* + OUI:304174* + ID_OUI_FROM_DATABASE=ALTEC LANSING LLC + ++OUI:304225* ++ ID_OUI_FROM_DATABASE=BURG-WÄCHTER KG ++ + OUI:304449* + ID_OUI_FROM_DATABASE=PLATH GmbH + +@@ -55603,6 +55705,9 @@ OUI:306E5C* + OUI:3071B2* + ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. + ++OUI:307512* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:30766F* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -55735,6 +55840,9 @@ OUI:3400A3* + OUI:340286* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:34029B* ++ ID_OUI_FROM_DATABASE=CloudBerry Technologies Private Limited ++ + OUI:3407FB* + ID_OUI_FROM_DATABASE=Ericsson AB + +@@ -55774,6 +55882,9 @@ OUI:3423BA* + OUI:34255D* + ID_OUI_FROM_DATABASE=Shenzhen Loadcom Technology Co.,Ltd + ++OUI:3428F0* ++ ID_OUI_FROM_DATABASE=ATN International Limited ++ + OUI:3429EA* + ID_OUI_FROM_DATABASE=MCD ELECTRONICS SP. Z O.O. + +@@ -55798,6 +55909,9 @@ OUI:344B3D* + OUI:344B50* + ID_OUI_FROM_DATABASE=ZTE Corporation + ++OUI:344DF7* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:344F3F* + ID_OUI_FROM_DATABASE=IO-Power Technology Co., Ltd. + +@@ -55825,6 +55939,9 @@ OUI:345D10* + OUI:346178* + ID_OUI_FROM_DATABASE=The Boeing Company + ++OUI:346288* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:34684A* + ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. + +@@ -55939,6 +56056,9 @@ OUI:34B1F7* + OUI:34B571* + ID_OUI_FROM_DATABASE=PLDS + ++OUI:34B7FD* ++ ID_OUI_FROM_DATABASE=Guangzhou Younghead Electronic Technology Co.,Ltd ++ + OUI:34BA51* + ID_OUI_FROM_DATABASE=Se-Kure Controls, Inc. + +@@ -56047,6 +56167,9 @@ OUI:34F39B* + OUI:34F62D* + ID_OUI_FROM_DATABASE=SHARP Corporation + ++OUI:34F6D2* ++ ID_OUI_FROM_DATABASE=Panasonic Taiwan Co.,Ltd. ++ + OUI:34F968* + ID_OUI_FROM_DATABASE=ATEK Products, LLC + +@@ -56062,6 +56185,9 @@ OUI:380197* + OUI:3806B4* + ID_OUI_FROM_DATABASE=A.D.C. GmbH + ++OUI:3808FD* ++ ID_OUI_FROM_DATABASE=Silca Spa ++ + OUI:380A0A* + ID_OUI_FROM_DATABASE=Sky-City Communication and Electronics Limited Company + +@@ -56137,6 +56263,9 @@ OUI:384608* + OUI:38484C* + ID_OUI_FROM_DATABASE=Apple + ++OUI:384B76* ++ ID_OUI_FROM_DATABASE=AIRTAME ApS ++ + OUI:384FF0* + ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc. + +@@ -56227,6 +56356,9 @@ OUI:38AA3C* + OUI:38B12D* + ID_OUI_FROM_DATABASE=Sonotronic Nagel GmbH + ++OUI:38B1DB* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:38B5BD* + ID_OUI_FROM_DATABASE=E.G.O. Elektro-Ger + +@@ -56302,6 +56434,9 @@ OUI:38EE9D* + OUI:38F098* + ID_OUI_FROM_DATABASE=Vapor Stone Rail Systems + ++OUI:38F33F* ++ ID_OUI_FROM_DATABASE=TATSUNO CORPORATION ++ + OUI:38F597* + ID_OUI_FROM_DATABASE=home2net GmbH + +@@ -56443,6 +56578,9 @@ OUI:3C57D5* + OUI:3C5A37* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:3C5AB4* ++ ID_OUI_FROM_DATABASE=Google ++ + OUI:3C5F01* + ID_OUI_FROM_DATABASE=Synerchip Co., Ltd. + +@@ -56803,6 +56941,9 @@ OUI:407074* + OUI:407496* + ID_OUI_FROM_DATABASE=aFUN TECHNOLOGY INC. + ++OUI:40786A* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:407875* + ID_OUI_FROM_DATABASE=IMBEL - Industria de Material Belico do Brasil + +@@ -56929,6 +57070,9 @@ OUI:40D40E* + OUI:40D559* + ID_OUI_FROM_DATABASE=MICRO S.E.R.I. + ++OUI:40E230* ++ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc. ++ + OUI:40E730* + ID_OUI_FROM_DATABASE=DEY Storage Systems, Inc. + +@@ -57145,6 +57289,9 @@ OUI:4486C1* + OUI:4487FC* + ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. + ++OUI:4488CB* ++ ID_OUI_FROM_DATABASE=Camco Technologies NV ++ + OUI:448A5B* + ID_OUI_FROM_DATABASE=Micro-Star INT'L CO., LTD. + +@@ -57337,6 +57484,9 @@ OUI:4851B7* + OUI:485261* + ID_OUI_FROM_DATABASE=SOREEL + ++OUI:4857DD* ++ ID_OUI_FROM_DATABASE=Facebook ++ + OUI:485929* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -57361,6 +57511,9 @@ OUI:4861A3* + OUI:486276* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:486B2C* ++ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., ++ + OUI:486B91* + ID_OUI_FROM_DATABASE=Fleetwood Group Inc. + +@@ -57391,6 +57544,9 @@ OUI:4891F6* + OUI:489BE2* + ID_OUI_FROM_DATABASE=SCI Innovations Ltd + ++OUI:489D18* ++ ID_OUI_FROM_DATABASE=Flashbay Limited ++ + OUI:489D24* + ID_OUI_FROM_DATABASE=Research In Motion + +@@ -57655,6 +57811,9 @@ OUI:4C7367* + OUI:4C73A5* + ID_OUI_FROM_DATABASE=KOVE + ++OUI:4C7403* ++ ID_OUI_FROM_DATABASE=Mundo Reader (bq) ++ + OUI:4C774F* + ID_OUI_FROM_DATABASE=Embedded Wireless Labs + +@@ -57745,6 +57904,9 @@ OUI:4CBAA3* + OUI:4CBB58* + ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. + ++OUI:4CBC42* ++ ID_OUI_FROM_DATABASE=Shenzhen Hangsheng Electronics Co.,Ltd. ++ + OUI:4CBCA5* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -57784,6 +57946,9 @@ OUI:4CE1BB* + OUI:4CE676* + ID_OUI_FROM_DATABASE=Buffalo Inc. + ++OUI:4CE933* ++ ID_OUI_FROM_DATABASE=RailComm, LLC ++ + OUI:4CEB42* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -57799,6 +57964,9 @@ OUI:4CF2BF* + OUI:4CF45B* + ID_OUI_FROM_DATABASE=Blue Clover Devices + ++OUI:4CF5A0* ++ ID_OUI_FROM_DATABASE=Scalable Network Technologies Inc ++ + OUI:4CF737* + ID_OUI_FROM_DATABASE=SamJi Electronics Co., Ltd + +@@ -57823,6 +57991,9 @@ OUI:500E6D* + OUI:5011EB* + ID_OUI_FROM_DATABASE=SilverNet Ltd + ++OUI:5014B5* ++ ID_OUI_FROM_DATABASE=Richfit Information Technology Co., Ltd ++ + OUI:5017FF* + ID_OUI_FROM_DATABASE=Cisco + +@@ -57847,6 +58018,9 @@ OUI:502690* + OUI:5027C7* + ID_OUI_FROM_DATABASE=TECHNART Co.,Ltd + ++OUI:50294D* ++ ID_OUI_FROM_DATABASE=NANJING IOT SENSOR TECHNOLOGY CO,LTD ++ + OUI:502A7E* + ID_OUI_FROM_DATABASE=Smart electronic GmbH + +@@ -57937,6 +58111,9 @@ OUI:506441* + OUI:506787* + ID_OUI_FROM_DATABASE=iTellus + ++OUI:5067AE* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:5067F0* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + +@@ -58276,6 +58453,9 @@ OUI:549B12* + OUI:549D85* + ID_OUI_FROM_DATABASE=EnerAccess inc + ++OUI:549F35* ++ ID_OUI_FROM_DATABASE=Dell Inc. ++ + OUI:54A04F* + ID_OUI_FROM_DATABASE=t-mac Technologies Ltd + +@@ -58366,6 +58546,9 @@ OUI:54F5B6* + OUI:54F666* + ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG + ++OUI:54F876* ++ ID_OUI_FROM_DATABASE=ABB AG ++ + OUI:54FA3E* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD + +@@ -58375,6 +58558,9 @@ OUI:54FB58* + OUI:54FDBF* + ID_OUI_FROM_DATABASE=Scheidt & Bachmann GmbH + ++OUI:54FFCF* ++ ID_OUI_FROM_DATABASE=Mopria Alliance ++ + OUI:580528* + ID_OUI_FROM_DATABASE=LABRIS NETWORKS + +@@ -58390,6 +58576,9 @@ OUI:5809E5* + OUI:580A20* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:58108C* ++ ID_OUI_FROM_DATABASE=Intelbras ++ + OUI:581243* + ID_OUI_FROM_DATABASE=AcSiP Technology Corp. + +@@ -58504,9 +58693,15 @@ OUI:587521* + OUI:587675* + ID_OUI_FROM_DATABASE=Beijing ECHO Technologies Co.,Ltd + ++OUI:5876C5* ++ ID_OUI_FROM_DATABASE=DIGI I'S LTD ++ + OUI:587A4D* + ID_OUI_FROM_DATABASE=Stonesoft Corporation + ++OUI:587BE9* ++ ID_OUI_FROM_DATABASE=AirPro Technology India Pvt. Ltd ++ + OUI:587E61* + ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd + +@@ -58633,6 +58828,9 @@ OUI:58EECE* + OUI:58F387* + ID_OUI_FROM_DATABASE=HCCP + ++OUI:58F39C* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:58F67B* + ID_OUI_FROM_DATABASE=Xia Men UnionCore Technology LTD. + +@@ -58810,6 +59008,12 @@ OUI:5C89D4* + OUI:5C8D4E* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C8FE0* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ ++OUI:5C93A2* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:5C95AE* + ID_OUI_FROM_DATABASE=Apple + +@@ -59011,6 +59215,9 @@ OUI:60334B* + OUI:603553* + ID_OUI_FROM_DATABASE=Buwon Technology + ++OUI:603696* ++ ID_OUI_FROM_DATABASE=The Sapling Company ++ + OUI:6036DD* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -59038,9 +59245,18 @@ OUI:604616* + OUI:6047D4* + ID_OUI_FROM_DATABASE=FORICS Electronic Technology Co., Ltd. + ++OUI:604826* ++ ID_OUI_FROM_DATABASE=Newbridge Technologies Int. Ltd. ++ + OUI:604A1C* + ID_OUI_FROM_DATABASE=SUYIN Corporation + ++OUI:6050C1* ++ ID_OUI_FROM_DATABASE=Kinetek Sports ++ ++OUI:60512C* ++ ID_OUI_FROM_DATABASE=TCT mobile limited ++ + OUI:6052D0* + ID_OUI_FROM_DATABASE=FACTS Engineering + +@@ -59125,6 +59341,9 @@ OUI:609084* + OUI:609217* + ID_OUI_FROM_DATABASE=Apple + ++OUI:6099D1* ++ ID_OUI_FROM_DATABASE=Vuzix / Lenovo ++ + OUI:609AA4* + ID_OUI_FROM_DATABASE=GVI SECURITY INC. + +@@ -59284,6 +59503,9 @@ OUI:60FEF9* + OUI:60FFDD* + ID_OUI_FROM_DATABASE=C.E. ELECTRONICS, INC + ++OUI:64002D* ++ ID_OUI_FROM_DATABASE=Powerlinq Co., LTD ++ + OUI:6400F1* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -59557,6 +59779,9 @@ OUI:64B310* + OUI:64B370* + ID_OUI_FROM_DATABASE=PowerComm Solutons LLC + ++OUI:64B473* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:64B64A* + ID_OUI_FROM_DATABASE=ViVOtech, Inc. + +@@ -59917,6 +60142,9 @@ OUI:68D247* + OUI:68D925* + ID_OUI_FROM_DATABASE=ProSys Development Services + ++OUI:68D93C* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:68DB67* + ID_OUI_FROM_DATABASE=Nantong Coship Electronics Co., Ltd + +@@ -59950,6 +60178,9 @@ OUI:68EE96* + OUI:68EFBD* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:68F06D* ++ ID_OUI_FROM_DATABASE=ALONG INDUSTRIAL CO., LIMITED ++ + OUI:68F125* + ID_OUI_FROM_DATABASE=Data Controls Inc. + +@@ -60079,6 +60310,9 @@ OUI:6C626D* + OUI:6C641A* + ID_OUI_FROM_DATABASE=Penguin Computing + ++OUI:6C6EFE* ++ ID_OUI_FROM_DATABASE=Core Logic Inc. ++ + OUI:6C6F18* + ID_OUI_FROM_DATABASE=Stereotaxis, Inc. + +@@ -60091,6 +60325,9 @@ OUI:6C709F* + OUI:6C71D9* + ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc + ++OUI:6C7660* ++ ID_OUI_FROM_DATABASE=KYOCERA Corporation ++ + OUI:6C81FE* + ID_OUI_FROM_DATABASE=Mitsuba Corporation + +@@ -60122,7 +60359,7 @@ OUI:6C92BF* + ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. + + OUI:6C98EB* +- ID_OUI_FROM_DATABASE=Xyne GmbH ++ ID_OUI_FROM_DATABASE=Ocedo GmbH + + OUI:6C9989* + ID_OUI_FROM_DATABASE=Cisco +@@ -60187,6 +60424,9 @@ OUI:6CB7F4* + OUI:6CBEE9* + ID_OUI_FROM_DATABASE=Alcatel-Lucent-IPD + ++OUI:6CBFB5* ++ ID_OUI_FROM_DATABASE=Noon Technology Co., Ltd ++ + OUI:6CC1D2* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -60514,6 +60754,9 @@ OUI:70A8E3* + OUI:70AAB2* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:70AF25* ++ ID_OUI_FROM_DATABASE=Nishiyama Industry Co.,LTD. ++ + OUI:70B035* + ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd + +@@ -60535,6 +60778,9 @@ OUI:70B599* + OUI:70B921* + ID_OUI_FROM_DATABASE=FiberHome Telecommunication Technologies CO.,LTD + ++OUI:70BAEF* ++ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited ++ + OUI:70C6AC* + ID_OUI_FROM_DATABASE=Bosch Automotive Aftermarket + +@@ -60586,6 +60832,9 @@ OUI:70EE50* + OUI:70F176* + ID_OUI_FROM_DATABASE=Data Modul AG + ++OUI:70F196* ++ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc ++ + OUI:70F1A1* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -60796,6 +61045,9 @@ OUI:74B00C* + OUI:74B9EB* + ID_OUI_FROM_DATABASE=Fujian JinQianMao Electronic Technology Co.,Ltd + ++OUI:74BADB* ++ ID_OUI_FROM_DATABASE=Longconn Electornics(shenzhen)Co.,Ltd ++ + OUI:74BE08* + ID_OUI_FROM_DATABASE=ATEK Products, LLC + +@@ -60844,6 +61096,9 @@ OUI:74DE2B* + OUI:74E06E* + ID_OUI_FROM_DATABASE=Ergophone GmbH + ++OUI:74E14A* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:74E1B6* + ID_OUI_FROM_DATABASE=Apple + +@@ -61318,6 +61573,9 @@ OUI:7C092B* + OUI:7C0A50* + ID_OUI_FROM_DATABASE=J-MEX Inc. + ++OUI:7C0ECE* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:7C11BE* + ID_OUI_FROM_DATABASE=Apple + +@@ -61345,6 +61603,9 @@ OUI:7C2048* + OUI:7C2064* + ID_OUI_FROM_DATABASE=Alcatel Lucent IPD + ++OUI:7C2587* ++ ID_OUI_FROM_DATABASE=chaowifi.com ++ + OUI:7C2CF3* + ID_OUI_FROM_DATABASE=Secure Electrans Ltd + +@@ -61504,6 +61765,9 @@ OUI:7CAD74* + OUI:7CB03E* + ID_OUI_FROM_DATABASE=OSRAM GmbH + ++OUI:7CB177* ++ ID_OUI_FROM_DATABASE=Satelco AG ++ + OUI:7CB21B* + ID_OUI_FROM_DATABASE=Cisco SPVTG + +@@ -61774,6 +62038,9 @@ OUI:8065E9* + OUI:806629* + ID_OUI_FROM_DATABASE=Prescope Technologies CO.,LTD. + ++OUI:806C1B* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:806C8B* + ID_OUI_FROM_DATABASE=KAESER KOMPRESSOREN AG + +@@ -61918,9 +62185,15 @@ OUI:80D733* + OUI:80DB31* + ID_OUI_FROM_DATABASE=Power Quotient International Co., Ltd. + ++OUI:80E650* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:80EA96* + ID_OUI_FROM_DATABASE=Apple + ++OUI:80EACA* ++ ID_OUI_FROM_DATABASE=Dialog Semiconductor Hellas SA ++ + OUI:80EE73* + ID_OUI_FROM_DATABASE=Shuttle Inc. + +@@ -61933,6 +62206,9 @@ OUI:80F593* + OUI:80F62E* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:80F8EB* ++ ID_OUI_FROM_DATABASE=RayTight ++ + OUI:80FA5B* + ID_OUI_FROM_DATABASE=CLEVO CO. + +@@ -62116,6 +62392,9 @@ OUI:848506* + OUI:84850A* + ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH + ++OUI:8486F3* ++ ID_OUI_FROM_DATABASE=Greenvity Communications ++ + OUI:848D84* + ID_OUI_FROM_DATABASE=Rajant Corporation + +@@ -62134,9 +62413,15 @@ OUI:848F69* + OUI:849000* + ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik + ++OUI:84930C* ++ ID_OUI_FROM_DATABASE=InCoax Networks Europe AB ++ + OUI:84948C* + ID_OUI_FROM_DATABASE=Hitron Technologies. Inc + ++OUI:849681* ++ ID_OUI_FROM_DATABASE=Cathay Communication Co.,Ltd ++ + OUI:8496D8* + ID_OUI_FROM_DATABASE=Pace plc + +@@ -62206,6 +62491,9 @@ OUI:84DE3D* + OUI:84DF0C* + ID_OUI_FROM_DATABASE=NET2GRID BV + ++OUI:84E058* ++ ID_OUI_FROM_DATABASE=Pace plc ++ + OUI:84E4D9* + ID_OUI_FROM_DATABASE=Shenzhen NEED technology Ltd. + +@@ -62545,6 +62833,9 @@ OUI:8C0EE3* + OUI:8C11CB* + ID_OUI_FROM_DATABASE=ABUS Security-Center GmbH & Co. KG + ++OUI:8C18D9* ++ ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co., Ltd ++ + OUI:8C1F94* + ID_OUI_FROM_DATABASE=RF Surgical System Inc. + +@@ -62632,6 +62923,9 @@ OUI:8C5AF0* + OUI:8C5CA1* + ID_OUI_FROM_DATABASE=d-broad,INC + ++OUI:8C5D60* ++ ID_OUI_FROM_DATABASE=UCI Corporation Co.,Ltd. ++ + OUI:8C5FDF* + ID_OUI_FROM_DATABASE=Beijing Railway Signal Factory + +@@ -62683,6 +62977,9 @@ OUI:8C7CFF* + OUI:8C7EB3* + ID_OUI_FROM_DATABASE=Lytro, Inc. + ++OUI:8C7F3B* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:8C82A8* + ID_OUI_FROM_DATABASE=Insigma Technology Co.,Ltd + +@@ -62716,6 +63013,9 @@ OUI:8CAE4C* + OUI:8CAE89* + ID_OUI_FROM_DATABASE=Y-cam Solutions Ltd + ++OUI:8CB094* ++ ID_OUI_FROM_DATABASE=Airtech I&C Co., Ltd ++ + OUI:8CB64F* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -62770,6 +63070,9 @@ OUI:8CD628* + OUI:8CDB25* + ID_OUI_FROM_DATABASE=ESG Solutions + ++OUI:8CDCD4* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:8CDD8D* + ID_OUI_FROM_DATABASE=Wifly-City System Inc. + +@@ -62788,6 +63091,9 @@ OUI:8CE7B3* + OUI:8CEEC6* + ID_OUI_FROM_DATABASE=Precepscion Pty. Ltd. + ++OUI:8CF813* ++ ID_OUI_FROM_DATABASE=ORANGE POLSKA ++ + OUI:8CF945* + ID_OUI_FROM_DATABASE=Power Automation pte Ltd + +@@ -62851,6 +63157,9 @@ OUI:901D27* + OUI:901EDD* + ID_OUI_FROM_DATABASE=GREAT COMPUTER CORPORATION + ++OUI:90203A* ++ ID_OUI_FROM_DATABASE=BYD Precision Manufacture Co.,Ltd ++ + OUI:902083* + ID_OUI_FROM_DATABASE=General Engine Management Systems Ltd. + +@@ -63127,6 +63436,9 @@ OUI:90E6BA* + OUI:90EA60* + ID_OUI_FROM_DATABASE=SPI Lasers Ltd + ++OUI:90EF68* ++ ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation ++ + OUI:90F1AA* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD + +@@ -63154,6 +63466,9 @@ OUI:90FB5B* + OUI:90FBA6* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd + ++OUI:90FD61* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:90FF79* + ID_OUI_FROM_DATABASE=Metro Ethernet Forum + +@@ -63247,6 +63562,9 @@ OUI:945103* + OUI:9451BF* + ID_OUI_FROM_DATABASE=Hyundai ESG + ++OUI:945493* ++ ID_OUI_FROM_DATABASE=Rigado, LLC ++ + OUI:94592D* + ID_OUI_FROM_DATABASE=EKE Building Technology Systems Ltd + +@@ -63256,6 +63574,9 @@ OUI:945B7E* + OUI:946124* + ID_OUI_FROM_DATABASE=Pason Systems + ++OUI:946269* ++ ID_OUI_FROM_DATABASE=Arris Group, Inc. ++ + OUI:9463D1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -63622,6 +63943,9 @@ OUI:988EDD* + OUI:989080* + ID_OUI_FROM_DATABASE=Linkpower Network System Inc Ltd. + ++OUI:989096* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:9893CC* + ID_OUI_FROM_DATABASE=LG Electronics Inc. + +@@ -63781,6 +64105,9 @@ OUI:9C3178* + OUI:9C31B6* + ID_OUI_FROM_DATABASE=Kulite Semiconductor Products Inc + ++OUI:9C3583* ++ ID_OUI_FROM_DATABASE=Nipro Diagnostics, Inc ++ + OUI:9C3AAF* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -64234,6 +64561,9 @@ OUI:A08C9B* + OUI:A090DE* + ID_OUI_FROM_DATABASE=VEEDIMS,LLC + ++OUI:A09347* ++ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD. ++ + OUI:A09805* + ID_OUI_FROM_DATABASE=OpenVox Communication Co Ltd + +@@ -64336,6 +64666,9 @@ OUI:A0E534* + OUI:A0E5E9* + ID_OUI_FROM_DATABASE=enimai Inc + ++OUI:A0E6F8* ++ ID_OUI_FROM_DATABASE=Texas Instruments Inc ++ + OUI:A0E9DB* + ID_OUI_FROM_DATABASE=Ningbo FreeWings Technologies Co.,Ltd + +@@ -64498,6 +64831,9 @@ OUI:A46CC1* + OUI:A46E79* + ID_OUI_FROM_DATABASE=DFT System Co.Ltd + ++OUI:A470D6* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:A47733* + ID_OUI_FROM_DATABASE=Google + +@@ -64643,7 +64979,7 @@ OUI:A4D3B5* + ID_OUI_FROM_DATABASE=GLITEL Stropkov, s.r.o. + + OUI:A4D856* +- ID_OUI_FROM_DATABASE=Qualcomm Labs Inc. ++ ID_OUI_FROM_DATABASE=Gimbal, Inc + + OUI:A4DA3F* + ID_OUI_FROM_DATABASE=Bionics Corp. +@@ -64732,6 +65068,9 @@ OUI:A81758* + OUI:A81B18* + ID_OUI_FROM_DATABASE=XTS CORP + ++OUI:A81B5D* ++ ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd ++ + OUI:A81FAF* + ID_OUI_FROM_DATABASE=KRYPTON POLSKA + +@@ -64984,6 +65323,9 @@ OUI:AC0A61* + OUI:AC0DFE* + ID_OUI_FROM_DATABASE=Ekon GmbH - myGEKKO + ++OUI:AC11D3* ++ ID_OUI_FROM_DATABASE=Suzhou HOTEK Video Technology Co. Ltd ++ + OUI:AC1461* + ID_OUI_FROM_DATABASE=ATAW Co., Ltd. + +@@ -65023,6 +65365,9 @@ OUI:AC34CB* + OUI:AC3613* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:AC3870* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:AC3C0B* + ID_OUI_FROM_DATABASE=Apple + +@@ -65191,6 +65536,9 @@ OUI:ACAB8D* + OUI:ACB313* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:ACB74F* ++ ID_OUI_FROM_DATABASE=METEL s.r.o. ++ + OUI:ACB859* + ID_OUI_FROM_DATABASE=Uniband Electronic Corp, + +@@ -65356,6 +65704,9 @@ OUI:B03850* + OUI:B0435D* + ID_OUI_FROM_DATABASE=NuLEDs, Inc. + ++OUI:B04515* ++ ID_OUI_FROM_DATABASE=mira fitness,LLC. ++ + OUI:B04545* + ID_OUI_FROM_DATABASE=YACOUB Automation GmbH + +@@ -65635,6 +65986,9 @@ OUI:B41489* + OUI:B41513* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:B41780* ++ ID_OUI_FROM_DATABASE=DTI Group Ltd ++ + OUI:B418D1* + ID_OUI_FROM_DATABASE=Apple + +@@ -65746,6 +66100,12 @@ OUI:B4749F* + OUI:B4750E* + ID_OUI_FROM_DATABASE=Belkin International Inc. + ++OUI:B479A7* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ ++OUI:B47C29* ++ ID_OUI_FROM_DATABASE=Shenzhen Guzidi Technology Co.,Ltd ++ + OUI:B47F5E* + ID_OUI_FROM_DATABASE=Foresight Manufacture (S) Pte Ltd + +@@ -65923,6 +66283,9 @@ OUI:B81619* + OUI:B817C2* + ID_OUI_FROM_DATABASE=Apple + ++OUI:B8186F* ++ ID_OUI_FROM_DATABASE=ORIENTAL MOTOR CO., LTD. ++ + OUI:B81999* + ID_OUI_FROM_DATABASE=Nesys + +@@ -65989,6 +66352,9 @@ OUI:B843E4* + OUI:B847C6* + ID_OUI_FROM_DATABASE=SanJet Technology Corp. + ++OUI:B84FD5* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:B85510* + ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. + +@@ -66109,6 +66475,9 @@ OUI:B89AED* + OUI:B89BC9* + ID_OUI_FROM_DATABASE=SMC Networks Inc + ++OUI:B89BE4* ++ ID_OUI_FROM_DATABASE=ABB Power Systems Power Generation ++ + OUI:B8A386* + ID_OUI_FROM_DATABASE=D-Link International + +@@ -66151,6 +66520,9 @@ OUI:B8BA72* + OUI:B8BB6D* + ID_OUI_FROM_DATABASE=ENERES Co.,Ltd. + ++OUI:B8BD79* ++ ID_OUI_FROM_DATABASE=TrendPoint Systems ++ + OUI:B8BEBF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -66226,6 +66598,9 @@ OUI:B8EE65* + OUI:B8EE79* + ID_OUI_FROM_DATABASE=YWire Technologies, Inc. + ++OUI:B8F317* ++ ID_OUI_FROM_DATABASE=iSun Smasher Communications Private Limited ++ + OUI:B8F4D0* + ID_OUI_FROM_DATABASE=Herrmann Ultraschalltechnik GmbH & Co. Kg + +@@ -66373,6 +66748,9 @@ OUI:BC5FF4* + OUI:BC629F* + ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. + ++OUI:BC6641* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:BC671C* + ID_OUI_FROM_DATABASE=Cisco + +@@ -66838,6 +67216,9 @@ OUI:C4017C* + OUI:C401B1* + ID_OUI_FROM_DATABASE=SeekTech INC + ++OUI:C401CE* ++ ID_OUI_FROM_DATABASE=PRESITION (2000) CO., LTD. ++ + OUI:C40415* + ID_OUI_FROM_DATABASE=NETGEAR INC., + +@@ -66970,6 +67351,12 @@ OUI:C455C2* + OUI:C45600* + ID_OUI_FROM_DATABASE=Galleon Embedded Computing + ++OUI:C456FE* ++ ID_OUI_FROM_DATABASE=Lava International Ltd. ++ ++OUI:C4576E* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD ++ + OUI:C458C2* + ID_OUI_FROM_DATABASE=Shenzhen TATFOOK Technology Co., Ltd. + +@@ -67081,6 +67468,9 @@ OUI:C4B512* + OUI:C4BA99* + ID_OUI_FROM_DATABASE=I+ME Actia Informatik und Mikro-Elektronik GmbH + ++OUI:C4BD6A* ++ ID_OUI_FROM_DATABASE=SKF GmbH ++ + OUI:C4C0AE* + ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. + +@@ -67429,6 +67819,9 @@ OUI:C8E1A7* + OUI:C8E42F* + ID_OUI_FROM_DATABASE=Technical Research Design and Development + ++OUI:C8E7D8* ++ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. ++ + OUI:C8EE08* + ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD + +@@ -67480,6 +67873,9 @@ OUI:C8FF77* + OUI:CC0080* + ID_OUI_FROM_DATABASE=BETTINI SRL + ++OUI:CC03FA* ++ ID_OUI_FROM_DATABASE=Technicolor CH USA ++ + OUI:CC047C* + ID_OUI_FROM_DATABASE=G-WAY Microwave + +@@ -67507,6 +67903,9 @@ OUI:CC0CDA* + OUI:CC0DEC* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:CC10A3* ++ ID_OUI_FROM_DATABASE=Beijing Nan Bao Technology Co., Ltd. ++ + OUI:CC14A6* + ID_OUI_FROM_DATABASE=Yichun MyEnergy Domain, Inc + +@@ -67531,6 +67930,9 @@ OUI:CC2A80* + OUI:CC2D8C* + ID_OUI_FROM_DATABASE=LG ELECTRONICS INC + ++OUI:CC3080* ++ ID_OUI_FROM_DATABASE=VAIO Corporation ++ + OUI:CC33BB* + ID_OUI_FROM_DATABASE=SAGEMCOM SAS + +@@ -67756,9 +68158,15 @@ OUI:CCD539* + OUI:CCD811* + ID_OUI_FROM_DATABASE=Aiconn Technology Corporation + ++OUI:CCD8C1* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:CCD9E9* + ID_OUI_FROM_DATABASE=SCR Engineers Ltd. + ++OUI:CCE17F* ++ ID_OUI_FROM_DATABASE=juniper networks ++ + OUI:CCE1D5* + ID_OUI_FROM_DATABASE=Buffalo Inc. + +@@ -67786,6 +68194,9 @@ OUI:CCF3A5* + OUI:CCF407* + ID_OUI_FROM_DATABASE=EUKREA ELECTROMATIQUE SARL + ++OUI:CCF538* ++ ID_OUI_FROM_DATABASE=3isysnetworks ++ + OUI:CCF67A* + ID_OUI_FROM_DATABASE=Ayecka Communication Systems LTD + +@@ -67825,6 +68236,9 @@ OUI:D00AAB* + OUI:D00EA4* + ID_OUI_FROM_DATABASE=Porsche Cars North America + ++OUI:D01242* ++ ID_OUI_FROM_DATABASE=BIOS Corporation ++ + OUI:D0131E* + ID_OUI_FROM_DATABASE=Sunrex Technology Corp + +@@ -67915,6 +68329,9 @@ OUI:D05FB8* + OUI:D05FCE* + ID_OUI_FROM_DATABASE=Hitachi Data Systems + ++OUI:D062A0* ++ ID_OUI_FROM_DATABASE=China Essence Technology (Zhumadian) Co., Ltd. ++ + OUI:D0634D* + ID_OUI_FROM_DATABASE=Meiko Maschinenbau GmbH & Co. KG + +@@ -67963,6 +68380,9 @@ OUI:D07E28* + OUI:D07E35* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:D084B0* ++ ID_OUI_FROM_DATABASE=Sagemcom ++ + OUI:D08999* + ID_OUI_FROM_DATABASE=APCON, Inc. + +@@ -68110,6 +68530,9 @@ OUI:D0F27F* + OUI:D0F73B* + ID_OUI_FROM_DATABASE=Helmut Mauell GmbH + ++OUI:D0FA1D* ++ ID_OUI_FROM_DATABASE=Qihoo 360 Technology Co.,Ltd ++ + OUI:D0FF50* + ID_OUI_FROM_DATABASE=Texas Instruments, Inc + +@@ -68191,6 +68614,9 @@ OUI:D42F23* + OUI:D4319D* + ID_OUI_FROM_DATABASE=Sinwatec + ++OUI:D437D7* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:D43A65* + ID_OUI_FROM_DATABASE=IGRS Engineering Lab Ltd. + +@@ -68278,6 +68704,9 @@ OUI:D46F42* + OUI:D479C3* + ID_OUI_FROM_DATABASE=Cameronet GmbH & Co. KG + ++OUI:D47B35* ++ ID_OUI_FROM_DATABASE=NEO Monitors AS ++ + OUI:D47B75* + ID_OUI_FROM_DATABASE=HARTING Electronics GmbH + +@@ -68299,6 +68728,9 @@ OUI:D48890* + OUI:D48CB5* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:D48F33* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:D48FAA* + ID_OUI_FROM_DATABASE=Sogecam Industrial, S.A. + +@@ -68440,6 +68872,9 @@ OUI:D4EA0E* + OUI:D4EC0C* + ID_OUI_FROM_DATABASE=Harley-Davidson Motor Company + ++OUI:D4EC86* ++ ID_OUI_FROM_DATABASE=LinkedHope Intelligent Technologies Co., Ltd ++ + OUI:D4EE07* + ID_OUI_FROM_DATABASE=HIWIFI Co., Ltd. + +@@ -68551,6 +68986,9 @@ OUI:D8490B* + OUI:D8492F* + ID_OUI_FROM_DATABASE=CANON INC. + ++OUI:D84A87* ++ ID_OUI_FROM_DATABASE=OI ELECTRIC CO.,LTD ++ + OUI:D84B2A* + ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. + +@@ -68860,6 +69298,9 @@ OUI:DC37D2* + OUI:DC38E1* + ID_OUI_FROM_DATABASE=Juniper networks + ++OUI:DC3979* ++ ID_OUI_FROM_DATABASE=Skyport Systems ++ + OUI:DC3A5E* + ID_OUI_FROM_DATABASE=Roku, Inc + +@@ -69199,6 +69640,9 @@ OUI:E09467* + OUI:E09579* + ID_OUI_FROM_DATABASE=ORTHOsoft inc, d/b/a Zimmer CAS + ++OUI:E09796* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:E097F2* + ID_OUI_FROM_DATABASE=Atomax Inc. + +@@ -69226,6 +69670,9 @@ OUI:E0AAB0* + OUI:E0ABFE* + ID_OUI_FROM_DATABASE=Orb Networks, Inc. + ++OUI:E0ACF1* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:E0AE5E* + ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. + +@@ -69523,6 +69970,9 @@ OUI:E492E7* + OUI:E492FB* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:E4956E* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:E496AE* + ID_OUI_FROM_DATABASE=ALTOGRAPHICS Inc. + +@@ -69553,6 +70003,9 @@ OUI:E4B021* + OUI:E4C146* + ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A + ++OUI:E4C62B* ++ ID_OUI_FROM_DATABASE=Airware ++ + OUI:E4C63D* + ID_OUI_FROM_DATABASE=Apple, Inc. + +@@ -69910,6 +70363,9 @@ OUI:E8EA6A* + OUI:E8EADA* + ID_OUI_FROM_DATABASE=Denkovi Assembly Electroncs LTD + ++OUI:E8ED05* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:E8EDF3* + ID_OUI_FROM_DATABASE=Cisco + +@@ -69931,6 +70387,9 @@ OUI:E8FC60* + OUI:E8FCAF* + ID_OUI_FROM_DATABASE=NETGEAR INC., + ++OUI:EC0EC4* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:EC0ED6* + ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS + +@@ -69949,6 +70408,9 @@ OUI:EC1766* + OUI:EC1A59* + ID_OUI_FROM_DATABASE=Belkin International Inc. + ++OUI:EC1D7F* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:EC219F* + ID_OUI_FROM_DATABASE=VidaBox LLC + +@@ -69982,6 +70444,9 @@ OUI:EC3586* + OUI:EC3BF0* + ID_OUI_FROM_DATABASE=NovelSat + ++OUI:EC3C5A* ++ ID_OUI_FROM_DATABASE=SHEN ZHEN HENG SHENG HUI DIGITAL TECHNOLOGY CO.,LTD ++ + OUI:EC3E09* + ID_OUI_FROM_DATABASE=PERFORMANCE DESIGNED PRODUCTS, LLC + +@@ -70522,6 +70987,9 @@ OUI:F4068D* + OUI:F406A5* + ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. + ++OUI:F409D8* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ + OUI:F40B93* + ID_OUI_FROM_DATABASE=Research In Motion + +@@ -70555,6 +71023,9 @@ OUI:F42012* + OUI:F42833* + ID_OUI_FROM_DATABASE=MMPC Inc. + ++OUI:F42853* ++ ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. ++ + OUI:F42896* + ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA + +@@ -70780,6 +71251,9 @@ OUI:F4EC38* + OUI:F4F15A* + ID_OUI_FROM_DATABASE=Apple + ++OUI:F4F1E1* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:F4F26D* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + +@@ -70855,6 +71329,9 @@ OUI:F81EDF* + OUI:F82285* + ID_OUI_FROM_DATABASE=Cypress Technology CO., LTD. + ++OUI:F82441* ++ ID_OUI_FROM_DATABASE=Yeelink ++ + OUI:F82793* + ID_OUI_FROM_DATABASE=Apple, Inc + +@@ -71119,6 +71596,9 @@ OUI:F8E4FB* + OUI:F8E7B5* + ID_OUI_FROM_DATABASE=µTech Tecnologia LTDA + ++OUI:F8E811* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:F8E968* + ID_OUI_FROM_DATABASE=Egker Kft. + +@@ -71221,6 +71701,9 @@ OUI:FC1BFF* + OUI:FC1D59* + ID_OUI_FROM_DATABASE=I Smart Cities HK Ltd + ++OUI:FC1D84* ++ ID_OUI_FROM_DATABASE=Autobase ++ + OUI:FC1E16* + ID_OUI_FROM_DATABASE=IPEVO corp + +@@ -71359,6 +71842,9 @@ OUI:FC9947* + OUI:FC9FAE* + ID_OUI_FROM_DATABASE=Fidus Systems Inc + ++OUI:FC9FE1* ++ ID_OUI_FROM_DATABASE=CONWIN.Tech. Ltd ++ + OUI:FCA13E* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -71419,6 +71905,9 @@ OUI:FCD817* + OUI:FCDB96* + ID_OUI_FROM_DATABASE=ENERVALLEY CO., LTD + ++OUI:FCDBB3* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:FCDD55* + ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd + +diff --git hwdb/20-pci-classes.hwdb hwdb/20-pci-classes.hwdb +index fd1d5d0..5702c40 100644 +--- hwdb/20-pci-classes.hwdb ++++ hwdb/20-pci-classes.hwdb +@@ -47,12 +47,24 @@ pci:v*d*sv*sd*bc01sc06i00* + pci:v*d*sv*sd*bc01sc06i01* + ID_PCI_INTERFACE_FROM_DATABASE=AHCI 1.0 + ++pci:v*d*sv*sd*bc01sc06i02* ++ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus ++ + pci:v*d*sv*sd*bc01sc07* + ID_PCI_SUBCLASS_FROM_DATABASE=Serial Attached SCSI controller + ++pci:v*d*sv*sd*bc01sc07i01* ++ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus ++ + pci:v*d*sv*sd*bc01sc08* + ID_PCI_SUBCLASS_FROM_DATABASE=Non-Volatile memory controller + ++pci:v*d*sv*sd*bc01sc08i01* ++ ID_PCI_INTERFACE_FROM_DATABASE=NVMHCI ++ ++pci:v*d*sv*sd*bc01sc08i02* ++ ID_PCI_INTERFACE_FROM_DATABASE=NVM Express ++ + pci:v*d*sv*sd*bc01sc80* + ID_PCI_SUBCLASS_FROM_DATABASE=Mass storage controller + +@@ -80,6 +92,9 @@ pci:v*d*sv*sd*bc02sc05* + pci:v*d*sv*sd*bc02sc06* + ID_PCI_SUBCLASS_FROM_DATABASE=PICMG controller + ++pci:v*d*sv*sd*bc02sc07* ++ ID_PCI_SUBCLASS_FROM_DATABASE=Infiniband controller ++ + pci:v*d*sv*sd*bc02sc80* + ID_PCI_SUBCLASS_FROM_DATABASE=Network controller + +@@ -311,6 +326,9 @@ pci:v*d*sv*sd*bc08sc02i01* + pci:v*d*sv*sd*bc08sc02i02* + ID_PCI_INTERFACE_FROM_DATABASE=EISA Timers + ++pci:v*d*sv*sd*bc08sc02i03* ++ ID_PCI_INTERFACE_FROM_DATABASE=HPET ++ + pci:v*d*sv*sd*bc08sc03* + ID_PCI_SUBCLASS_FROM_DATABASE=RTC + +@@ -527,5 +545,14 @@ pci:v*d*sv*sd*bc11sc20* + pci:v*d*sv*sd*bc11sc80* + ID_PCI_SUBCLASS_FROM_DATABASE=Signal processing controller + ++pci:v*d*sv*sd*bc12* ++ ID_PCI_CLASS_FROM_DATABASE=Processing accelerators ++ ++pci:v*d*sv*sd*bc12sc00* ++ ID_PCI_SUBCLASS_FROM_DATABASE=Processing accelerators ++ ++pci:v*d*sv*sd*bc13* ++ ID_PCI_CLASS_FROM_DATABASE=Non-Essential Instrumentation ++ + pci:v*d*sv*sd*bcFF* + ID_PCI_CLASS_FROM_DATABASE=Unassigned class +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 62941b9..77c727d 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -959,6 +959,15 @@ pci:v00001000d0000005Dsv00001028sd00001F49* + pci:v00001000d0000005Dsv00001028sd00001F4A* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) + ++pci:v00001000d0000005Dsv00001028sd00001F4D* ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xS) ++ ++pci:v00001000d0000005Dsv00001028sd00001F4F* ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Slim) ++ ++pci:v00001000d0000005Dsv00001028sd00001F54* ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xD) ++ + pci:v00001000d0000005Dsv000017AAsd00001052* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) + +@@ -1677,7 +1686,7 @@ pci:v00001002d00001308* + ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller + + pci:v00001002d00001309* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6/R7 Graphics] + + pci:v00001002d0000130A* + ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] +@@ -3003,7 +3012,7 @@ pci:v00001002d00004C57sv00001014sd00000517* + ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) + + pci:v00001002d00004C57sv00001014sd00000530* +- ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T4x Series) + + pci:v00001002d00004C57sv00001028sd000000E6* + ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) +@@ -4362,7 +4371,7 @@ pci:v00001002d00006667* + ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] + + pci:v00001002d0000666F* +- ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] ++ ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M / R5 M230] + + pci:v00001002d00006670* + ID_MODEL_FROM_DATABASE=Hainan +@@ -5937,10 +5946,10 @@ pci:v00001002d0000679F* + ID_MODEL_FROM_DATABASE=Tahiti + + pci:v00001002d000067A0* +- ID_MODEL_FROM_DATABASE=Hawaii XT GL ++ ID_MODEL_FROM_DATABASE=Hawaii XT GL [FirePro W9100] + + pci:v00001002d000067A1* +- ID_MODEL_FROM_DATABASE=Hawaii GL ++ ID_MODEL_FROM_DATABASE=Hawaii PRO GL [FirePro W8100] + + pci:v00001002d000067A2* + ID_MODEL_FROM_DATABASE=Hawaii GL +@@ -5961,7 +5970,7 @@ pci:v00001002d000067B1* + ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] + + pci:v00001002d000067B9* +- ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] ++ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295X2] + + pci:v00001002d000067BE* + ID_MODEL_FROM_DATABASE=Hawaii LE +@@ -7860,7 +7869,13 @@ pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE + + pci:v00001002d00006900* +- ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] ++ ++pci:v00001002d00006900sv00001028sd00000640* ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M265) ++ ++pci:v00001002d00006900sv00001179sd0000F934* ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M260) + + pci:v00001002d00006901* + ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] +@@ -8027,6 +8042,9 @@ pci:v00001002d0000718A* + pci:v00001002d0000718B* + ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] + ++pci:v00001002d0000718Bsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001002d0000718C* + ID_MODEL_FROM_DATABASE=RV516/M62-CSP64 [Mobility Radeon X1350] + +@@ -8969,26 +8987,29 @@ pci:v00001002d0000983E* + pci:v00001002d0000983F* + ID_MODEL_FROM_DATABASE=Kabini + ++pci:v00001002d00009840* ++ ID_MODEL_FROM_DATABASE=Kabini HDMI/DP Audio ++ + pci:v00001002d00009850* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A6-6200 with R3 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] + + pci:v00001002d00009851* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R4/R5 Graphics] + + pci:v00001002d00009852* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] + + pci:v00001002d00009853* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-4000 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] + + pci:v00001002d00009854* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-3700 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] + + pci:v00001002d00009855* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2450M with R3 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R6 Graphics] + + pci:v00001002d00009856* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] + + pci:v00001002d00009857* + ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] +@@ -12347,6 +12368,9 @@ pci:v0000102Bd00000532sv00001028sd0000029C* + pci:v0000102Bd00000532sv00001028sd000002A4* + ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) + ++pci:v0000102Bd00000532sv000015D9sd00000624* ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (X9SCM-F Motherboard) ++ + pci:v0000102Bd00000532sv000015D9sd0000A811* + ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) + +@@ -13169,6 +13193,9 @@ pci:v00001039d00000016* + pci:v00001039d00000018* + ID_MODEL_FROM_DATABASE=SiS85C503/5513 (LPC Bridge) + ++pci:v00001039d00000163* ++ ID_MODEL_FROM_DATABASE=163 802.11b/g Wireless LAN Adapter ++ + pci:v00001039d00000180* + ID_MODEL_FROM_DATABASE=RAID bus controller 180 SATA/PATA [SiS] + +@@ -14141,6 +14168,9 @@ pci:v00001042d00003020* + pci:v00001043* + ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc. + ++pci:v00001043d00000464* ++ ID_MODEL_FROM_DATABASE=Radeon R9 270x GPU ++ + pci:v00001043d00000675* + ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D + +@@ -17978,6 +18008,9 @@ pci:v00001095d00003512sv00001095sd00006512* + pci:v00001095d00003531* + ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller + ++pci:v00001095d00003531sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00001096* + ID_VENDOR_FROM_DATABASE=Alacron + +@@ -26261,6 +26294,9 @@ pci:v000010DEd00000F00* + pci:v000010DEd00000F01* + ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 620] + ++pci:v000010DEd00000F02* ++ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 730] ++ + pci:v000010DEd00000FC0* + ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 640 OEM] + +@@ -26276,6 +26312,9 @@ pci:v000010DEd00000FC6* + pci:v000010DEd00000FC6sv00001043sd00008428* + ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) + ++pci:v000010DEd00000FC8* ++ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 740] ++ + pci:v000010DEd00000FCD* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] + +@@ -26420,6 +26459,9 @@ pci:v000010DEd00000FFE* + pci:v000010DEd00000FFF* + ID_MODEL_FROM_DATABASE=GK107GL [Quadro 410] + ++pci:v000010DEd00001001* ++ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX TITAN Z] ++ + pci:v000010DEd00001003* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan LE] + +@@ -26828,9 +26870,57 @@ pci:v000010DEd00001140sv00001025sd00000830* + pci:v000010DEd00001140sv00001025sd00000837* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv00001025sd0000083E* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001025sd00000841* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + ++pci:v000010DEd00001140sv00001025sd00000854* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000855* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000856* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000857* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000858* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000868* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000869* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) ++ ++pci:v000010DEd00001140sv00001025sd00000873* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000878* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000087B* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000087C* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) ++ ++pci:v000010DEd00001140sv00001025sd00000881* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000088A* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000090F* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000921* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001028sd0000054D* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + +@@ -26966,6 +27056,18 @@ pci:v000010DEd00001140sv00001043sd000016DD* + pci:v000010DEd00001140sv00001043sd0000170D* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + ++pci:v000010DEd00001140sv00001043sd0000176D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001043sd0000178D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001043sd0000179D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001043sd000017DD* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001043sd00002132* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + +@@ -27713,6 +27815,9 @@ pci:v000010DEd00001284* + pci:v000010DEd00001286* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] + ++pci:v000010DEd00001287* ++ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 730] ++ + pci:v000010DEd00001290* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] + +@@ -27749,6 +27854,21 @@ pci:v000010DEd00001294* + pci:v000010DEd00001295* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] + ++pci:v000010DEd00001295sv0000103Csd00002B0D* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B0F* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B11* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B21* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B22* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) ++ + pci:v000010DEd00001296* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] + +@@ -28302,7 +28422,7 @@ pci:v000010ECd00008136* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller + + pci:v000010ECd00008136sv0000103Csd00002AB1* +- ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion p6774) + + pci:v000010ECd00008136sv0000103Csd000030CC* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) +@@ -28310,6 +28430,9 @@ pci:v000010ECd00008136sv0000103Csd000030CC* + pci:v000010ECd00008136sv00001179sd0000FF64* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) + ++pci:v000010ECd00008136sv000017C0sd00001053* ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (AzureWave AW-NE766 802.11B/G/N Mini PCIe Card Model RT2700E) ++ + pci:v000010ECd00008138* + ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter + +@@ -29036,6 +29159,9 @@ pci:v00001102d0000000B* + pci:v00001102d0000000Bsv00001102sd00000041* + ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) + ++pci:v00001102d00000012* ++ ID_MODEL_FROM_DATABASE=SB Recon3D ++ + pci:v00001102d00004001* + ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port + +@@ -30878,6 +31004,9 @@ pci:v00001106d0000E340* + pci:v00001106d0000E353* + ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port + ++pci:v00001106d0000E410* ++ ID_MODEL_FROM_DATABASE=VX900 PCI Express Physical Layer Electrical Sub-block ++ + pci:v00001106d0000F208* + ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller + +@@ -35045,6 +35174,9 @@ pci:v000011ABd00004353sv0000104Dsd0000902D* + pci:v000011ABd00004354* + ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller + ++pci:v000011ABd00004354sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (R730 Laptop) ++ + pci:v000011ABd00004354sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) + +@@ -36557,6 +36689,9 @@ pci:v00001217* + pci:v00001217d000000F7* + ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) + ++pci:v00001217d000000F7sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001217d000000F7sv00001179sd0000FF50* + ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) + +@@ -36635,12 +36770,18 @@ pci:v00001217d00007114* + pci:v00001217d00007120* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller + ++pci:v00001217d00007120sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001217d00007120sv00001179sd0000FF50* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) + + pci:v00001217d00007130* + ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller + ++pci:v00001217d00007130sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001217d00007130sv00001179sd0000FF50* + ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) + +@@ -42276,7 +42417,7 @@ pci:v00001425d00004083* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller + + pci:v00001425d00004084* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller + + pci:v00001425d00004085* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller +@@ -42348,7 +42489,7 @@ pci:v00001425d00004483* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller + + pci:v00001425d00004484* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller + + pci:v00001425d00004485* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller +@@ -42420,7 +42561,7 @@ pci:v00001425d00004583* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller + + pci:v00001425d00004584* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller + + pci:v00001425d00004585* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller +@@ -42492,7 +42633,7 @@ pci:v00001425d00004683* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller + + pci:v00001425d00004684* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller + + pci:v00001425d00004685* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller +@@ -42564,7 +42705,7 @@ pci:v00001425d00004783* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller + + pci:v00001425d00004784* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller + + pci:v00001425d00004785* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller +@@ -42579,76 +42720,76 @@ pci:v00001425d00004788* + ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller + + pci:v00001425d00004801* +- ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004802* +- ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004803* +- ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004804* +- ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004805* +- ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004806* +- ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004807* +- ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004808* +- ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004809* +- ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480A* +- ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480B* +- ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480C* +- ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480D* +- ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480E* +- ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480F* +- ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004880* +- ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004881* +- ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004882* +- ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004883* +- ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004884* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004885* +- ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004886* +- ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004887* +- ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004888* +- ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005001* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller +@@ -43041,82 +43182,82 @@ pci:v00001425d00005785* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller + + pci:v00001425d00005801* +- ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005802* +- ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005803* +- ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005804* +- ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005805* +- ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005806* +- ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005807* +- ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005808* +- ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005809* +- ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580A* +- ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580B* +- ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580C* +- ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580D* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580E* +- ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580F* +- ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005810* +- ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005811* +- ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005812* +- ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005813* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005814* +- ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005815* +- ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005880* +- ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005881* +- ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005883* +- ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005884* +- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005885* +- ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000A000* + ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller +@@ -43562,6 +43703,9 @@ pci:v0000148E* + pci:v0000148F* + ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc. + ++pci:v0000148Fd00005370* ++ ID_MODEL_FROM_DATABASE=Dexlink AUWL15I1 ++ + pci:v00001490* + ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd. + +@@ -44885,6 +45029,9 @@ pci:v000014E4d000016A2sv0000103Csd00001916* + pci:v000014E4d000016A2sv0000103Csd00001917* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) + ++pci:v000014E4d000016A3* ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM57786 Gigabit Ethernet PCIe ++ + pci:v000014E4d000016A4* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function + +@@ -47796,7 +47943,7 @@ pci:v000015B3d00001003* + ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3] + + pci:v000015B3d00001004* +- ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Virtual Function] ++ ID_MODEL_FROM_DATABASE=MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] + + pci:v000015B3d00001005* + ID_MODEL_FROM_DATABASE=MT27510 Family +@@ -47807,9 +47954,6 @@ pci:v000015B3d00001006* + pci:v000015B3d00001007* + ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro] + +-pci:v000015B3d00001008* +- ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro Virtual Function] +- + pci:v000015B3d00001009* + ID_MODEL_FROM_DATABASE=MT27530 Family + +@@ -49187,6 +49331,9 @@ pci:v0000168Cd0000002Bsv0000105Bsd0000E017* + pci:v0000168Cd0000002Bsv0000105Bsd0000E023* + ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) + ++pci:v0000168Cd0000002Bsv0000105Bsd0000E025* ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.05 802.11bgn Wireless Half-size Mini PCIe Card) ++ + pci:v0000168Cd0000002Bsv00001113sd0000E811* + ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) + +@@ -50471,6 +50618,9 @@ pci:v00001814d00000701sv00001737sd00000074* + pci:v00001814d00000781* + ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe + ++pci:v00001814d00000781sv00001814sd00002790* ++ ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe ++ + pci:v00001814d00003060* + ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R + +@@ -51911,6 +52061,9 @@ pci:v00001969d00001063* + pci:v00001969d00001063sv00001458sd0000E000* + ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) + ++pci:v00001969d00001063sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00001969d00001066* + ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet + +@@ -52358,6 +52511,18 @@ pci:v00001A2Bd0000000A* + pci:v00001A2Bd0000000E* + ID_MODEL_FROM_DATABASE=DSLP-104 v1.1 + ++pci:v00001A30* ++ ID_VENDOR_FROM_DATABASE=Lantiq ++ ++pci:v00001A30d00000680* ++ ID_MODEL_FROM_DATABASE=MtW8171 [Hyperion II] ++ ++pci:v00001A30d00000700* ++ ID_MODEL_FROM_DATABASE=Wave300 PSB8224 [Hyperion III] ++ ++pci:v00001A30d00000710* ++ ID_MODEL_FROM_DATABASE=Wave300 PSB8231 [Hyperion III] ++ + pci:v00001A32* + ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc + +@@ -52497,19 +52662,19 @@ pci:v00001A78* + ID_VENDOR_FROM_DATABASE=Virident Systems Inc. + + pci:v00001A78d00000031* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive + + pci:v00001A78d00000031sv00001A78sd00000034* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) + + pci:v00001A78d00000031sv00001A78sd00000037* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) + + pci:v00001A78d00000031sv00001A78sd00000038* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) + + pci:v00001A78d00000031sv00001A78sd00000039* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) + + pci:v00001A78d00000040* + ID_MODEL_FROM_DATABASE=FlashMAX II +@@ -52520,6 +52685,9 @@ pci:v00001A78d00000041* + pci:v00001A78d00000042* + ID_MODEL_FROM_DATABASE=FlashMAX II + ++pci:v00001A78d00000050* ++ ID_MODEL_FROM_DATABASE=FlashMAX III ++ + pci:v00001A84* + ID_VENDOR_FROM_DATABASE=Commex Technologies + +@@ -52682,6 +52850,15 @@ pci:v00001AEDd00001008* + pci:v00001AEDd00002001* + ID_MODEL_FROM_DATABASE=ioDrive2 + ++pci:v00001AEDd00003001* ++ ID_MODEL_FROM_DATABASE=ioMemory FHHL ++ ++pci:v00001AEDd00003002* ++ ID_MODEL_FROM_DATABASE=ioMemory HHHL ++ ++pci:v00001AEDd00003003* ++ ID_MODEL_FROM_DATABASE=ioMemory Mezzanine ++ + pci:v00001AEE* + ID_VENDOR_FROM_DATABASE=Caustic Graphics Inc. + +@@ -52775,6 +52952,9 @@ pci:v00001B21d00001080* + pci:v00001B21d00001080sv00001849sd00001080* + ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) + ++pci:v00001B21d00001142* ++ ID_MODEL_FROM_DATABASE=ASM1042A USB 3.0 Host Controller ++ + pci:v00001B2C* + ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. + +@@ -52916,6 +53096,9 @@ pci:v00001B4Bd00009485* + pci:v00001B55* + ID_VENDOR_FROM_DATABASE=NetUP Inc. + ++pci:v00001B55d000018F6* ++ ID_MODEL_FROM_DATABASE=Dual DVB Universal CI card ++ + pci:v00001B55d00002A2C* + ID_MODEL_FROM_DATABASE=Dual DVB-S2-CI card + +@@ -53135,6 +53318,9 @@ pci:v00001CE4d00000002* + pci:v00001CF7* + ID_VENDOR_FROM_DATABASE=Subspace Dynamics + ++pci:v00001D21* ++ ID_VENDOR_FROM_DATABASE=Allo ++ + pci:v00001D44* + ID_VENDOR_FROM_DATABASE=DPT + +@@ -54956,15 +55142,30 @@ pci:v00008086d00000044sv00001025sd00000347* + pci:v00008086d00000044sv00001025sd00000487* + ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) + ++pci:v00008086d00000044sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (R730 Laptop) ++ ++pci:v00008086d00000044sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00000044sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) + + pci:v00008086d00000045* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port + ++pci:v00008086d00000045sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00000046* + ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller + ++pci:v00008086d00000046sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (R730 Laptop) ++ ++pci:v00008086d00000046sv000017C0sd000010D9* ++ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00000046sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) + +@@ -55238,6 +55439,9 @@ pci:v00008086d00000150* + pci:v00008086d00000150sv00001043sd000084CA* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) + ++pci:v00008086d00000150sv000015D9sd00000624* ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (X9SCM-F Motherboard) ++ + pci:v00008086d00000150sv00001849sd00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) + +@@ -55445,6 +55649,9 @@ pci:v00008086d00000416sv000017AAsd0000220E* + pci:v00008086d0000041A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller + ++pci:v00008086d0000041E* ++ ID_MODEL_FROM_DATABASE=4th Generation Core Processor Family Integrated Graphics Controller ++ + pci:v00008086d00000433* + ID_MODEL_FROM_DATABASE=Coleto Creek ACC - ME/CPM interface + +@@ -56727,241 +56934,85 @@ pci:v00008086d00000EFD* + ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000F00* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +- +-pci:v00008086d00000F01* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +- +-pci:v00008086d00000F02* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +- +-pci:v00008086d00000F03* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register + + pci:v00008086d00000F04* +- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller +- +-pci:v00008086d00000F05* +- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller + + pci:v00008086d00000F06* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller +- +-pci:v00008086d00000F07* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 DMA Controller + + pci:v00008086d00000F08* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller + + pci:v00008086d00000F09* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller + + pci:v00008086d00000F0A* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 +- +-pci:v00008086d00000F0B* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #1 + + pci:v00008086d00000F0C* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 +- +-pci:v00008086d00000F0D* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #2 + + pci:v00008086d00000F0E* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller +- +-pci:v00008086d00000F0F* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller +- +-pci:v00008086d00000F10* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller +- +-pci:v00008086d00000F11* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller +- +-pci:v00008086d00000F12* +- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller +- +-pci:v00008086d00000F13* +- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller + + pci:v00008086d00000F14* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller + + pci:v00008086d00000F15* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller + + pci:v00008086d00000F16* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller +- +-pci:v00008086d00000F17* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller + + pci:v00008086d00000F18* +- ID_MODEL_FROM_DATABASE=ValleyView SEC +- +-pci:v00008086d00000F19* +- ID_MODEL_FROM_DATABASE=ValleyView SEC +- +-pci:v00008086d00000F1A* +- ID_MODEL_FROM_DATABASE=ValleyView SEC +- +-pci:v00008086d00000F1B* +- ID_MODEL_FROM_DATABASE=ValleyView SEC ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine + + pci:v00008086d00000F1C* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F1D* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F1E* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F1F* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F20* +- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller +- +-pci:v00008086d00000F21* +- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller +- +-pci:v00008086d00000F22* +- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller +- +-pci:v00008086d00000F23* +- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller +- +-pci:v00008086d00000F24* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F25* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F26* +- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller +- +-pci:v00008086d00000F27* +- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Power Control Unit + + pci:v00008086d00000F28* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F29* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F2A* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F2B* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F2E* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F2F* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F30* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller + + pci:v00008086d00000F31* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 +- +-pci:v00008086d00000F32* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 +- +-pci:v00008086d00000F33* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Graphics & Display + + pci:v00008086d00000F34* +- ID_MODEL_FROM_DATABASE=ValleyView USB Enhanced Host Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB EHCI + + pci:v00008086d00000F35* +- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller +- +-pci:v00008086d00000F36* +- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB xHCI + + pci:v00008086d00000F37* +- ID_MODEL_FROM_DATABASE=ValleyView OTG ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series OTG USB Device + + pci:v00008086d00000F38* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F39* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3A* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3B* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3C* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3D* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3E* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3F* +- ID_MODEL_FROM_DATABASE=ValleyView ISP ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Camera ISP + + pci:v00008086d00000F40* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 DMA Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 DMA Controller + + pci:v00008086d00000F41* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #1 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #1 + + pci:v00008086d00000F42* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #2 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #2 + + pci:v00008086d00000F43* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #3 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #3 + + pci:v00008086d00000F44* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #4 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #4 + + pci:v00008086d00000F45* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #5 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #5 + + pci:v00008086d00000F46* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #6 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #6 + + pci:v00008086d00000F47* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #7 +- +-pci:v00008086d00000F48* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F49* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4A* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4B* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4C* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4D* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4E* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4F* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F50* +- ID_MODEL_FROM_DATABASE=ValleyView MIPI-HSI Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #7 + + pci:v00008086d00001000* + ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) +@@ -57842,6 +57893,9 @@ pci:v00008086d00001091* + pci:v00008086d00001092* + ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection + ++pci:v00008086d00001092sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d00001093* + ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection + +@@ -59403,7 +59457,7 @@ pci:v00008086d0000154Asv00008086sd0000011C* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154C* +- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function + + pci:v00008086d0000154D* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter +@@ -59460,34 +59514,37 @@ pci:v00008086d00001570* + ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V + + pci:v00008086d00001571* +- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function + + pci:v00008086d00001572* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ + + pci:v00008086d00001572sv00001028sd00001F99* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC) ++ ++pci:v00008086d00001572sv00008086sd00000000* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710) + + pci:v00008086d00001572sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 2P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000007* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d00001572sv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d0000157B* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +@@ -59496,17 +59553,20 @@ pci:v00008086d0000157C* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + + pci:v00008086d00001580* +- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE backplane + + pci:v00008086d00001581* +- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane + + pci:v00008086d00001581sv00001028sd00001F98* +- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane (Ethernet 10G 4P X710-k bNDC) + + pci:v00008086d00001583* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + ++pci:v00008086d00001583sv00008086sd00000000* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) ++ + pci:v00008086d00001583sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + +@@ -59519,6 +59579,9 @@ pci:v00008086d00001583sv00008086sd00000003* + pci:v00008086d00001584* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + ++pci:v00008086d00001584sv00008086sd00000000* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) ++ + pci:v00008086d00001584sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) + +@@ -61244,9 +61307,15 @@ pci:v00008086d00002448sv0000104Dsd0000902D* + pci:v00008086d00002448sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) + ++pci:v00008086d00002448sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d00002448sv0000144Dsd0000C00C* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) + ++pci:v00008086d00002448sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (R730 Laptop) ++ + pci:v00008086d00002448sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) + +@@ -61259,6 +61328,12 @@ pci:v00008086d00002448sv00001734sd00001055* + pci:v00008086d00002448sv000017AAsd000020AE* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) + ++pci:v00008086d00002448sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion Akoya E7214 Notebook PC [MD98410]) ++ ++pci:v00008086d00002448sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002448sv00008086sd0000544B* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) + +@@ -61872,7 +61947,7 @@ pci:v00008086d000024C5sv00001014sd00000267* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) + + pci:v00008086d000024C5sv00001014sd00000537* +- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T4x Series) + + pci:v00008086d000024C5sv00001014sd0000055F* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) +@@ -61944,7 +62019,7 @@ pci:v00008086d000024C6* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller + + pci:v00008086d000024C6sv00001014sd00000524* +- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T4x Series) + + pci:v00008086d000024C6sv00001014sd00000525* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) +@@ -64358,6 +64433,9 @@ pci:v00008086d000027A0sv0000103Csd000030A3* + pci:v00008086d000027A0sv00001043sd00001237* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) + ++pci:v00008086d000027A0sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027A0sv000017AAsd00002015* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) + +@@ -64373,6 +64451,9 @@ pci:v00008086d000027A1sv0000103Csd0000309F* + pci:v00008086d000027A1sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) + ++pci:v00008086d000027A1sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027A2* + ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller + +@@ -64457,6 +64538,9 @@ pci:v00008086d000027B9sv0000103Csd000030A1* + pci:v00008086d000027B9sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) + ++pci:v00008086d000027B9sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027B9sv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) + +@@ -64568,6 +64652,9 @@ pci:v00008086d000027C4sv00001025sd0000006C* + pci:v00008086d000027C4sv00001028sd000001D7* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) + ++pci:v00008086d000027C4sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027C4sv000017AAsd0000200E* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) + +@@ -64625,6 +64712,9 @@ pci:v00008086d000027C8sv00001043sd00008179* + pci:v00008086d000027C8sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) + ++pci:v00008086d000027C8sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027C8sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) + +@@ -64691,6 +64781,9 @@ pci:v00008086d000027C9sv00001043sd00008179* + pci:v00008086d000027C9sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) + ++pci:v00008086d000027C9sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027C9sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) + +@@ -64757,6 +64850,9 @@ pci:v00008086d000027CAsv00001043sd00008179* + pci:v00008086d000027CAsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) + ++pci:v00008086d000027CAsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027CAsv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) + +@@ -64817,6 +64913,9 @@ pci:v00008086d000027CBsv00001043sd00008179* + pci:v00008086d000027CBsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) + ++pci:v00008086d000027CBsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027CBsv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) + +@@ -64880,6 +64979,9 @@ pci:v00008086d000027CCsv00001043sd00008179* + pci:v00008086d000027CCsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) + ++pci:v00008086d000027CCsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027CCsv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) + +@@ -64913,6 +65015,9 @@ pci:v00008086d000027D0sv0000103Csd0000309F* + pci:v00008086d000027D0sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) + ++pci:v00008086d000027D0sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D0sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) + +@@ -64937,6 +65042,9 @@ pci:v00008086d000027D2sv0000103Csd0000309F* + pci:v00008086d000027D2sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) + ++pci:v00008086d000027D2sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D2sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) + +@@ -64952,6 +65060,9 @@ pci:v00008086d000027D2sv00008086sd0000544B* + pci:v00008086d000027D4* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 + ++pci:v00008086d000027D4sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D4sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) + +@@ -64970,6 +65081,9 @@ pci:v00008086d000027D6* + pci:v00008086d000027D6sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) + ++pci:v00008086d000027D6sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D6sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) + +@@ -65021,6 +65135,9 @@ pci:v00008086d000027D8sv00001043sd000082EA* + pci:v00008086d000027D8sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) + ++pci:v00008086d000027D8sv00001071sd00008207* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D8sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) + +@@ -65099,6 +65216,9 @@ pci:v00008086d000027DAsv00001043sd00008179* + pci:v00008086d000027DAsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) + ++pci:v00008086d000027DAsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027DAsv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) + +@@ -65258,6 +65378,9 @@ pci:v00008086d00002815sv0000104Dsd00009005* + pci:v00008086d00002815sv0000104Dsd0000902D* + ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) + ++pci:v00008086d00002815sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002820* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] + +@@ -65342,6 +65465,9 @@ pci:v00008086d00002829sv0000104Dsd0000902D* + pci:v00008086d00002829sv000017AAsd000020A7* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) + ++pci:v00008086d00002829sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002829sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) + +@@ -65393,6 +65519,9 @@ pci:v00008086d00002830sv00001462sd00007235* + pci:v00008086d00002830sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) + ++pci:v00008086d00002830sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002830sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) + +@@ -65435,6 +65564,9 @@ pci:v00008086d00002831sv00001462sd00007235* + pci:v00008086d00002831sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) + ++pci:v00008086d00002831sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002831sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) + +@@ -65474,6 +65606,9 @@ pci:v00008086d00002832sv0000104Dsd0000902D* + pci:v00008086d00002832sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) + ++pci:v00008086d00002832sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002832sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) + +@@ -65519,6 +65654,9 @@ pci:v00008086d00002834sv00001462sd00007235* + pci:v00008086d00002834sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) + ++pci:v00008086d00002834sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002834sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) + +@@ -65555,6 +65693,9 @@ pci:v00008086d00002835sv0000104Dsd0000902D* + pci:v00008086d00002835sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) + ++pci:v00008086d00002835sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002835sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) + +@@ -65597,6 +65738,9 @@ pci:v00008086d00002836sv00001462sd00007235* + pci:v00008086d00002836sv000017AAsd000020AB* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) + ++pci:v00008086d00002836sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002836sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) + +@@ -65633,6 +65777,9 @@ pci:v00008086d0000283Asv0000104Dsd0000902D* + pci:v00008086d0000283Asv000017AAsd000020AB* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) + ++pci:v00008086d0000283Asv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d0000283Asv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) + +@@ -65669,6 +65816,9 @@ pci:v00008086d0000283Esv00001462sd00007235* + pci:v00008086d0000283Esv000017AAsd000020A9* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) + ++pci:v00008086d0000283Esv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d0000283Esv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) + +@@ -65687,6 +65837,9 @@ pci:v00008086d0000283Fsv0000104Dsd0000902D* + pci:v00008086d0000283Fsv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) + ++pci:v00008086d0000283Fsv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002841* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 + +@@ -65699,6 +65852,9 @@ pci:v00008086d00002841sv0000104Dsd0000902D* + pci:v00008086d00002841sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) + ++pci:v00008086d00002841sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002843* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 + +@@ -65708,12 +65864,18 @@ pci:v00008086d00002843sv0000104Dsd0000902D* + pci:v00008086d00002843sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) + ++pci:v00008086d00002843sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002845* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 + + pci:v00008086d00002845sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) + ++pci:v00008086d00002845sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002847* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 + +@@ -65726,6 +65888,9 @@ pci:v00008086d00002847sv0000103Csd000030C1* + pci:v00008086d00002847sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) + ++pci:v00008086d00002847sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002849* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 + +@@ -65792,6 +65957,9 @@ pci:v00008086d0000284Bsv000014F1sd00005051* + pci:v00008086d0000284Bsv000017AAsd000020AC* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) + ++pci:v00008086d0000284Bsv000017C0sd00004088* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d0000284Bsv00008384sd00007616* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) + +@@ -65831,6 +65999,9 @@ pci:v00008086d00002850sv0000104Dsd0000902D* + pci:v00008086d00002850sv000017AAsd000020A6* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) + ++pci:v00008086d00002850sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002850sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) + +@@ -66794,6 +66965,9 @@ pci:v00008086d00002A00sv000017AAsd000020B1* + pci:v00008086d00002A00sv000017AAsd000020B3* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) + ++pci:v00008086d00002A00sv000017C0sd00004082* ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002A00sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) + +@@ -66821,6 +66995,9 @@ pci:v00008086d00002A02sv0000104Dsd0000902D* + pci:v00008086d00002A02sv000017AAsd000020B5* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) + ++pci:v00008086d00002A02sv000017C0sd00004082* ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002A02sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) + +@@ -66828,7 +67005,7 @@ pci:v00008086d00002A03* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) + + pci:v00008086d00002A03sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Inspiron 1420) + + pci:v00008086d00002A03sv0000103Csd000030C0* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) +@@ -66842,6 +67019,9 @@ pci:v00008086d00002A03sv0000104Dsd0000902D* + pci:v00008086d00002A03sv000017AAsd000020B5* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) + ++pci:v00008086d00002A03sv000017C0sd00004082* ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002A03sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) + +@@ -67317,13 +67497,13 @@ pci:v00008086d00002D10* + ID_MODEL_FROM_DATABASE=Core Processor QPI Link 0 + + pci:v00008086d00002D11* +- ID_MODEL_FROM_DATABASE=Core Processor QPI Physical 0 ++ ID_MODEL_FROM_DATABASE=1st Generation Core Processor QPI Physical 0 + + pci:v00008086d00002D12* +- ID_MODEL_FROM_DATABASE=Core Processor Reserved ++ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved + + pci:v00008086d00002D13* +- ID_MODEL_FROM_DATABASE=Core Processor Reserved ++ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved + + pci:v00008086d00002D81* + ID_MODEL_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture System Address Decoder +@@ -67427,6 +67607,9 @@ pci:v00008086d00002E11* + pci:v00008086d00002E12* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + ++pci:v00008086d00002E12sv000017AAsd00003048* ++ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (ThinkCentre M6258) ++ + pci:v00008086d00002E13* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + +@@ -69317,6 +69500,12 @@ pci:v00008086d00003B09* + pci:v00008086d00003B09sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) + ++pci:v00008086d00003B09sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (R730 Laptop) ++ ++pci:v00008086d00003B09sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B0A* + ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller + +@@ -69416,18 +69605,36 @@ pci:v00008086d00003B26* + pci:v00008086d00003B28* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller + ++pci:v00008086d00003B28sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (R730 Laptop) ++ ++pci:v00008086d00003B28sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B29* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller + + pci:v00008086d00003B29sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) + ++pci:v00008086d00003B29sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (R730 Laptop) ++ ++pci:v00008086d00003B29sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B2C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller + + pci:v00008086d00003B2D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller + ++pci:v00008086d00003B2Dsv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (R730 Laptop) ++ ++pci:v00008086d00003B2Dsv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B2Dsv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) + +@@ -69458,9 +69665,15 @@ pci:v00008086d00003B30sv00001028sd000002DA* + pci:v00008086d00003B30sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) + ++pci:v00008086d00003B30sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (R730 Laptop) ++ + pci:v00008086d00003B30sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B30sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B30sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) + +@@ -69470,6 +69683,12 @@ pci:v00008086d00003B32* + pci:v00008086d00003B32sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) + ++pci:v00008086d00003B32sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (R730 Laptop) ++ ++pci:v00008086d00003B32sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B34* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller + +@@ -69482,9 +69701,15 @@ pci:v00008086d00003B34sv00001028sd000002DA* + pci:v00008086d00003B34sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + ++pci:v00008086d00003B34sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) ++ + pci:v00008086d00003B34sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B34sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B34sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + +@@ -69518,9 +69743,15 @@ pci:v00008086d00003B3Csv00001028sd000002DA* + pci:v00008086d00003B3Csv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + ++pci:v00008086d00003B3Csv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) ++ + pci:v00008086d00003B3Csv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B3Csv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B3Csv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + +@@ -69545,9 +69776,15 @@ pci:v00008086d00003B42sv00001028sd000002DA* + pci:v00008086d00003B42sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) + ++pci:v00008086d00003B42sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (R730 Laptop) ++ + pci:v00008086d00003B42sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) + ++pci:v00008086d00003B42sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B44* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 + +@@ -69557,24 +69794,39 @@ pci:v00008086d00003B44sv00001028sd0000040B* + pci:v00008086d00003B44sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) + ++pci:v00008086d00003B44sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B46* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 + + pci:v00008086d00003B46sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) + ++pci:v00008086d00003B46sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (R730 Laptop) ++ ++pci:v00008086d00003B46sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B48* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 + + pci:v00008086d00003B48sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) + ++pci:v00008086d00003B48sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (R730 Laptop) ++ + pci:v00008086d00003B4A* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 + + pci:v00008086d00003B4Asv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) + ++pci:v00008086d00003B4Asv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B4C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 + +@@ -69599,9 +69851,15 @@ pci:v00008086d00003B56sv00001028sd000002DA* + pci:v00008086d00003B56sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) + ++pci:v00008086d00003B56sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (R730 Laptop) ++ + pci:v00008086d00003B56sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) + ++pci:v00008086d00003B56sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B56sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) + +@@ -69617,6 +69875,9 @@ pci:v00008086d00003B64sv00001025sd00000347* + pci:v00008086d00003B64sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B64sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B64sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) + +@@ -69990,7 +70251,7 @@ pci:v00008086d00004222sv00008086sd00001000* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004222sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (WM3945ABG MOW2) + + pci:v00008086d00004222sv00008086sd00001005* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) +@@ -71168,6 +71429,114 @@ pci:v00008086d00008C5E* + pci:v00008086d00008C5F* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LPC Controller + ++pci:v00008086d00008C80* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C81* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C82* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] ++ ++pci:v00008086d00008C83* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] ++ ++pci:v00008086d00008C84* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C85* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C86* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C87* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C88* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C89* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C8E* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C8F* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C90* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 1 ++ ++pci:v00008086d00008C92* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 2 ++ ++pci:v00008086d00008C94* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 3 ++ ++pci:v00008086d00008C96* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 4 ++ ++pci:v00008086d00008C98* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 5 ++ ++pci:v00008086d00008C9A* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 6 ++ ++pci:v00008086d00008C9C* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 7 ++ ++pci:v00008086d00008C9E* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 8 ++ ++pci:v00008086d00008CA0* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HD Audio Controller ++ ++pci:v00008086d00008CA2* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SMBus Controller ++ ++pci:v00008086d00008CA4* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Thermal Controller ++ ++pci:v00008086d00008CA6* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #1 ++ ++pci:v00008086d00008CAD* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #2 ++ ++pci:v00008086d00008CB1* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB xHCI Controller ++ ++pci:v00008086d00008CB3* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LAN Controller ++ ++pci:v00008086d00008CBA* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #1 ++ ++pci:v00008086d00008CBB* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #2 ++ ++pci:v00008086d00008CBC* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family IDE-R Controller ++ ++pci:v00008086d00008CBD* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family KT Controller ++ ++pci:v00008086d00008CC1* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller ++ ++pci:v00008086d00008CC2* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller ++ ++pci:v00008086d00008CC3* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HM97 LPC Controller ++ ++pci:v00008086d00008CC4* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Z97 LPC Controller ++ ++pci:v00008086d00008CC6* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family H97 Controller ++ + pci:v00008086d00008D00* + ID_MODEL_FROM_DATABASE=Wellsburg 4-port SATA Controller [IDE mode] + +@@ -71379,208 +71748,208 @@ pci:v00008086d000096A1* + ID_MODEL_FROM_DATABASE=Integrated RAID + + pci:v00008086d00009C00* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] + + pci:v00008086d00009C01* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] + + pci:v00008086d00009C02* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] + + pci:v00008086d00009C03* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] + + pci:v00008086d00009C03sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] (ThinkPad X240) + + pci:v00008086d00009C04* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C05* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C06* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C07* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C08* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] + + pci:v00008086d00009C09* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] + + pci:v00008086d00009C0A* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0B* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0C* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0D* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0E* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C0F* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C10* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 + + pci:v00008086d00009C11* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 + + pci:v00008086d00009C12* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 + + pci:v00008086d00009C13* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 + + pci:v00008086d00009C14* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 + + pci:v00008086d00009C15* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 + + pci:v00008086d00009C16* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 + + pci:v00008086d00009C17* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 + + pci:v00008086d00009C18* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 + + pci:v00008086d00009C19* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 + + pci:v00008086d00009C1A* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 + + pci:v00008086d00009C1B* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 + + pci:v00008086d00009C1C* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 + + pci:v00008086d00009C1D* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 + + pci:v00008086d00009C1E* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 + + pci:v00008086d00009C1F* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 + + pci:v00008086d00009C20* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller ++ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller + + pci:v00008086d00009C20sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller (ThinkPad X240) + + pci:v00008086d00009C21* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller ++ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller + + pci:v00008086d00009C22* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller ++ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller + + pci:v00008086d00009C22sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller (ThinkPad X240) + + pci:v00008086d00009C23* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters ++ ID_MODEL_FROM_DATABASE=8 Series CHAP Counters + + pci:v00008086d00009C24* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP Thermal ++ ID_MODEL_FROM_DATABASE=8 Series Thermal + + pci:v00008086d00009C26* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 ++ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 + + pci:v00008086d00009C26sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 (ThinkPad X240) + + pci:v00008086d00009C2D* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 ++ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #2 + + pci:v00008086d00009C31* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC ++ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC + + pci:v00008086d00009C31sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC (ThinkPad X240) + + pci:v00008086d00009C35* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller ++ ID_MODEL_FROM_DATABASE=8 Series SDIO Controller + + pci:v00008086d00009C36* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP Audio DSP Controller ++ ID_MODEL_FROM_DATABASE=8 Series Audio DSP Controller + + pci:v00008086d00009C3A* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 ++ ID_MODEL_FROM_DATABASE=8 Series HECI #0 + + pci:v00008086d00009C3Asv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series HECI #0 (ThinkPad X240) + + pci:v00008086d00009C3B* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 ++ ID_MODEL_FROM_DATABASE=8 Series HECI #1 + + pci:v00008086d00009C3C* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI IDER ++ ID_MODEL_FROM_DATABASE=8 Series HECI IDER + + pci:v00008086d00009C3D* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI KT ++ ID_MODEL_FROM_DATABASE=8 Series HECI KT + + pci:v00008086d00009C40* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C41* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C42* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C43* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C43sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller (ThinkPad X240) + + pci:v00008086d00009C44* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C45* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C46* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C47* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C60* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP Low Power Sub-System DMA ++ ID_MODEL_FROM_DATABASE=8 Series Low Power Sub-System DMA + + pci:v00008086d00009C61* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #0 ++ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #0 + + pci:v00008086d00009C62* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #1 ++ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #1 + + pci:v00008086d00009C63* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #0 ++ ID_MODEL_FROM_DATABASE=8 Series UART Controller #0 + + pci:v00008086d00009C64* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #1 ++ ID_MODEL_FROM_DATABASE=8 Series UART Controller #1 + + pci:v00008086d00009C65* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #0 ++ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #0 + + pci:v00008086d00009C66* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #1 ++ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #1 + + pci:v00008086d00009C83* + ID_MODEL_FROM_DATABASE=Wildcat Point-LP SATA Controller [AHCI Mode] +diff --git hwdb/20-usb-classes.hwdb hwdb/20-usb-classes.hwdb +index 3294d8a..418d39b 100644 +--- hwdb/20-usb-classes.hwdb ++++ hwdb/20-usb-classes.hwdb +@@ -311,6 +311,9 @@ usb:v*p*d*dcEFdsc02dp02* + usb:v*p*d*dcEFdsc03dp01* + ID_USB_PROTOCOL_FROM_DATABASE=Cable Based Association + ++usb:v*p*d*dcEFdsc05* ++ ID_USB_SUBCLASS_FROM_DATABASE=USB3 Vision ++ + usb:v*p*d*dcFE* + ID_USB_CLASS_FROM_DATABASE=Application Specific Interface + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 05f267d..89cd5b1 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -284,9 +284,18 @@ usb:v03EBp2310* + usb:v03EBp2FE4* + ID_MODEL_FROM_DATABASE=ATxmega32A4U DFU bootloader + ++usb:v03EBp2FE6* ++ ID_MODEL_FROM_DATABASE=Cactus V6 (DFU) ++ ++usb:v03EBp2FEA* ++ ID_MODEL_FROM_DATABASE=Cactus RF60 (DFU) ++ + usb:v03EBp2FF0* + ID_MODEL_FROM_DATABASE=atmega32u2 DFU bootloader + ++usb:v03EBp2FF4* ++ ID_MODEL_FROM_DATABASE=atmega32u4 DFU bootloader ++ + usb:v03EBp2FFA* + ID_MODEL_FROM_DATABASE=at90usb162 DFU bootloader + +@@ -4409,6 +4418,9 @@ usb:v0424p2602* + usb:v0424p2640* + ID_MODEL_FROM_DATABASE=USB 2.0 Hub + ++usb:v0424p2660* ++ ID_MODEL_FROM_DATABASE=Hub ++ + usb:v0424p4060* + ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader + +@@ -5373,7 +5385,7 @@ usb:v0457p0162* + ID_MODEL_FROM_DATABASE=SiS162 usb Wireless LAN Adapter + + usb:v0457p0163* +- ID_MODEL_FROM_DATABASE=802.11 Wireless LAN Adapter ++ ID_MODEL_FROM_DATABASE=SiS163U 802.11 Wireless LAN Adapter + + usb:v0457p0817* + ID_MODEL_FROM_DATABASE=SiS-184-ASUS-4352.17 touch panel +@@ -6947,6 +6959,9 @@ usb:v046Dp082D* + usb:v046Dp0830* + ID_MODEL_FROM_DATABASE=QuickClip + ++usb:v046Dp0837* ++ ID_MODEL_FROM_DATABASE=BCC950 ConferenceCam ++ + usb:v046Dp0840* + ID_MODEL_FROM_DATABASE=QuickCam Express + +@@ -7856,6 +7871,9 @@ usb:v046DpC52F* + usb:v046DpC532* + ID_MODEL_FROM_DATABASE=Unifying Receiver + ++usb:v046DpC534* ++ ID_MODEL_FROM_DATABASE=Unifying Receiver ++ + usb:v046DpC603* + ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT + +@@ -8738,6 +8756,9 @@ usb:v0480pA007* + usb:v0480pA009* + ID_MODEL_FROM_DATABASE=Stor.E Basics + ++usb:v0480pA00D* ++ ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB ++ + usb:v0480pD010* + ID_MODEL_FROM_DATABASE=External Disk 3TB + +@@ -10943,6 +10964,9 @@ usb:v04A9p3196* + usb:v04A9p319A* + ID_MODEL_FROM_DATABASE=EOS 7D + ++usb:v04A9p319B* ++ ID_MODEL_FROM_DATABASE=EOS 50D ++ + usb:v04A9p31AA* + ID_MODEL_FROM_DATABASE=SELPHY CP770 + +@@ -11219,6 +11243,15 @@ usb:v04A9p3277* + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + ++usb:v04A9p327F* ++ ID_MODEL_FROM_DATABASE=EOS Rebel T5 / EOS 1200D / EOS Kiss X70 ++ ++usb:v04A9p3284* ++ ID_MODEL_FROM_DATABASE=PowerShot D30 ++ ++usb:v04A9p3286* ++ ID_MODEL_FROM_DATABASE=PowerShot SX600 HS ++ + usb:v04A9p3288* + ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 + +@@ -13040,6 +13073,9 @@ usb:v04D8p0036* + usb:v04D8p00E0* + ID_MODEL_FROM_DATABASE=PIC32 Starter Board + ++usb:v04D8p04CD* ++ ID_MODEL_FROM_DATABASE=28Cxxx EEPROM Programmer ++ + usb:v04D8p0A04* + ID_MODEL_FROM_DATABASE=AGP LIN Serial Analyzer + +@@ -14093,6 +14129,9 @@ usb:v04E8p5F05* + usb:v04E8p6032* + ID_MODEL_FROM_DATABASE=G2 Portable hard drive + ++usb:v04E8p6033* ++ ID_MODEL_FROM_DATABASE=G2 Portable device ++ + usb:v04E8p6034* + ID_MODEL_FROM_DATABASE=G2 Portable hard drive + +@@ -14102,6 +14141,9 @@ usb:v04E8p60B3* + usb:v04E8p60C4* + ID_MODEL_FROM_DATABASE=M2 Portable Hard Drive USB 3.0 + ++usb:v04E8p6124* ++ ID_MODEL_FROM_DATABASE=D3 Station External Hard Drive ++ + usb:v04E8p61B6* + ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB + +@@ -15224,6 +15266,9 @@ usb:v04F9p0223* + usb:v04F9p0248* + ID_MODEL_FROM_DATABASE=DCP-7055 scanner/printer + ++usb:v04F9p02B3* ++ ID_MODEL_FROM_DATABASE=MFC J4510DW ++ + usb:v04F9p1000* + ID_MODEL_FROM_DATABASE=Printer + +@@ -15546,7 +15591,7 @@ usb:v050Dp0013* + ID_MODEL_FROM_DATABASE=F8T013 Bluetooth Adapter + + usb:v050Dp0017* +- ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 ++ ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 / F4U017 USB 2.0 7-port Hub + + usb:v050Dp003A* + ID_MODEL_FROM_DATABASE=Universal Media Reader +@@ -15683,6 +15728,9 @@ usb:v050Dp1106* + usb:v050Dp1109* + ID_MODEL_FROM_DATABASE=F9L1109v1 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] + ++usb:v050Dp110A* ++ ID_MODEL_FROM_DATABASE=F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] ++ + usb:v050Dp11F2* + ID_MODEL_FROM_DATABASE=ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS] + +@@ -15723,7 +15771,7 @@ usb:v050Dp6051* + ID_MODEL_FROM_DATABASE=F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201] + + usb:v050Dp615A* +- ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323] ++ ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101v1 802.11abgn Wireless Adapter [Broadcom BCM4323] + + usb:v050Dp7050* + ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887] +@@ -16358,6 +16406,9 @@ usb:v0547p2810* + usb:v0547p4D90* + ID_MODEL_FROM_DATABASE=AmScope MD1900 camera + ++usb:v0547p7000* ++ ID_MODEL_FROM_DATABASE=PowerSpec MCE460 Front Panel LED Display ++ + usb:v0547p7777* + ID_MODEL_FROM_DATABASE=Bluetooth Device + +@@ -21677,6 +21728,9 @@ usb:v05F9p2601* + usb:v05F9p2602* + ID_MODEL_FROM_DATABASE=Datalogic Magellan 1100i Barcode Scanner + ++usb:v05F9p4204* ++ ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4470 Fixed Scanner ++ + usb:v05F9p5204* + ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4170 (config mode) + +@@ -23234,6 +23288,9 @@ usb:v068Ep00D3* + usb:v068Ep00E2* + ID_MODEL_FROM_DATABASE=HFX OEM Joystick + ++usb:v068Ep00F0* ++ ID_MODEL_FROM_DATABASE=Multi-Function Panel ++ + usb:v068Ep00F1* + ID_MODEL_FROM_DATABASE=Pro Throttle + +@@ -25838,6 +25895,9 @@ usb:v0781p74D0* + usb:v0781p74D1* + ID_MODEL_FROM_DATABASE=Sansa Clip+ (msc) + ++usb:v0781p74E5* ++ ID_MODEL_FROM_DATABASE=Sansa Clip Zip ++ + usb:v0781p8181* + ID_MODEL_FROM_DATABASE=Pen Flash + +@@ -26219,6 +26279,9 @@ usb:v07AAp001A* + usb:v07AAp001C* + ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] + ++usb:v07AAp0020* ++ ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] ++ + usb:v07AAp002E* + ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] + +@@ -26939,6 +27002,9 @@ usb:v07CApA827* + usb:v07CApA867* + ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A867) + ++usb:v07CApB300* ++ ID_MODEL_FROM_DATABASE=A300 DVB-T TV receiver ++ + usb:v07CApB800* + ID_MODEL_FROM_DATABASE=MR800 FM Radio + +@@ -27941,6 +28007,9 @@ usb:v083Ap4507* + usb:v083Ap4521* + ID_MODEL_FROM_DATABASE=Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887] + ++usb:v083Ap4531* ++ ID_MODEL_FROM_DATABASE=T-Com Sinus 154 data II [Intersil ISL3887] ++ + usb:v083Ap5046* + ID_MODEL_FROM_DATABASE=SpeedStream 10/100 Ethernet [pegasus] + +@@ -30476,6 +30545,9 @@ usb:v0957p0518* + usb:v0957p0A07* + ID_MODEL_FROM_DATABASE=34411A Multimeter + ++usb:v0957p1507* ++ ID_MODEL_FROM_DATABASE=33210A Waveform Generator ++ + usb:v0957p1745* + ID_MODEL_FROM_DATABASE=Test and Measurement Device (IVI) + +@@ -30876,13 +30948,13 @@ usb:v09D9* + ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd + + usb:v09DA* +- ID_VENDOR_FROM_DATABASE=A4 Tech Co., Ltd ++ ID_VENDOR_FROM_DATABASE=A4Tech Co., Ltd. + + usb:v09DAp0006* + ID_MODEL_FROM_DATABASE=Optical Mouse WOP-35 / Trust 450L Optical Mouse + + usb:v09DAp000A* +- ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D ++ ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D / OP-620D + + usb:v09DAp000E* + ID_MODEL_FROM_DATABASE=X-F710F Optical Mouse 3xFire Gaming Mouse +@@ -32174,6 +32246,9 @@ usb:v0AB1* + usb:v0AB1p0002* + ID_MODEL_FROM_DATABASE=OBID RFID-Reader + ++usb:v0AB1p0004* ++ ID_MODEL_FROM_DATABASE=OBID classic-pro ++ + usb:v0ABA* + ID_VENDOR_FROM_DATABASE=Ellisys + +@@ -32571,7 +32646,7 @@ usb:v0B05p1708* + ID_MODEL_FROM_DATABASE=Mass Storage Device + + usb:v0B05p170B* +- ID_MODEL_FROM_DATABASE=Mass Storage Device ++ ID_MODEL_FROM_DATABASE=Multi card reader + + usb:v0B05p170C* + ID_MODEL_FROM_DATABASE=WL-159g 802.11bg +@@ -32687,6 +32762,9 @@ usb:v0B05p17A1* + usb:v0B05p17AB* + ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] + ++usb:v0B05p17C7* ++ ID_MODEL_FROM_DATABASE=WL-330NUL ++ + usb:v0B05p17C9* + ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] + +@@ -32714,6 +32792,9 @@ usb:v0B05p5410* + usb:v0B05p5412* + ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) + ++usb:v0B05p550F* ++ ID_MODEL_FROM_DATABASE=ASUS fonepad 7 ++ + usb:v0B05p6101* + ID_MODEL_FROM_DATABASE=Cable Modem + +@@ -32756,6 +32837,9 @@ usb:v0B0Dp0000* + usb:v0B0E* + ID_VENDOR_FROM_DATABASE=GN Netcom + ++usb:v0B0Ep034C* ++ ID_MODEL_FROM_DATABASE=Jabra UC Voice 750 MS ++ + usb:v0B0Ep0420* + ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 + +@@ -49610,6 +49694,12 @@ usb:v2659p1212* + usb:v2659p1213* + ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (US) + ++usb:v2676* ++ ID_VENDOR_FROM_DATABASE=Basler AG ++ ++usb:v2676pBA02* ++ ID_MODEL_FROM_DATABASE=ace ++ + usb:v2730* + ID_VENDOR_FROM_DATABASE=Citizen + +-- +1.7.9.2 + diff --git a/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch b/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch new file mode 100644 index 00000000..8647f1e1 --- /dev/null +++ b/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch @@ -0,0 +1,26 @@ +Based on 6fc27667950fe153033f0f49cb5b57e8954c3e54 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 30 Jun 2014 19:06:18 +0200 +Subject: [PATCH] tmpfiles: don't do automatic cleanup in $XDG_RUNTIME_DIR + +Now that logind will clean up all IPC resources of a user we should +really consider $XDG_RUNTIME_DIR as just another kind of IPC with the +same life-cycle logic as the other IPC resources. This should be safe +now to do since every user gets his own $XDG_RUNTIME_DIR tmpfs instance +with a fixed size limit, so that flooding of it will more effectively be +averted. +--- + tmpfiles.d/systemd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- tmpfiles.d/systemd.conf ++++ tmpfiles.d/systemd.conf 2014-07-01 12:31:01.858735866 +0000 +@@ -7,7 +7,7 @@ + + # See tmpfiles.d(5) for details + +-d /run/user 0755 root root ~10d ++d /run/user 0755 root root - + F! /run/utmp 0664 root utmp - + + f /var/log/wtmp 0664 root utmp - diff --git a/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..7b77e2ab --- /dev/null +++ b/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,49 @@ +From 063e36db8aed7b54100b33089deb6d2e86d516b9 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Thu, 3 Jul 2014 16:13:48 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 377748a..9f3136a 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -1045,7 +1045,31 @@ bluetooth:v0159* + ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. + + bluetooth:v015A* +- ID_VENDOR_FROM_DATABASE=micus AG ++ ID_VENDOR_FROM_DATABASE=micas AG + + bluetooth:v015B* + ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. ++ ++bluetooth:v015C* ++ ID_VENDOR_FROM_DATABASE=Pitius Tec S.L. ++ ++bluetooth:v015D* ++ ID_VENDOR_FROM_DATABASE=Estimote, Inc. ++ ++bluetooth:v015E* ++ ID_VENDOR_FROM_DATABASE=Unikey Technologies, Inc. ++ ++bluetooth:v015F* ++ ID_VENDOR_FROM_DATABASE=Timer Cap Co. ++ ++bluetooth:v0160* ++ ID_VENDOR_FROM_DATABASE=AwoX ++ ++bluetooth:v0161* ++ ID_VENDOR_FROM_DATABASE=yikes ++ ++bluetooth:v0162* ++ ID_VENDOR_FROM_DATABASE=MADSGlobal NZ Ltd. ++ ++bluetooth:v0163* ++ ID_VENDOR_FROM_DATABASE=PCH International +-- +1.7.9.2 + diff --git a/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch b/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch new file mode 100644 index 00000000..a1046c39 --- /dev/null +++ b/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch @@ -0,0 +1,26 @@ +From 8ebf02d6f382ce1ac7e0d44a713b8795a07b08cd Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 30 Jun 2014 21:44:05 +0200 +Subject: [PATCH] units: skip mounting /tmp if it is a symlink + +We shouldn't get confused if people have symlinked /tmp somewhere, so +let's simply skip the mount then. +--- + units/tmp.mount | 1 + + 1 file changed, 1 insertion(+) + +diff --git units/tmp.mount units/tmp.mount +index 99a3ba3..00a0d28 100644 +--- units/tmp.mount ++++ units/tmp.mount +@@ -9,6 +9,7 @@ + Description=Temporary Directory + Documentation=man:hier(7) + Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems ++ConditionPathIsSymbolicLink=!/tmp + DefaultDependencies=no + Conflicts=umount.target + Before=local-fs.target umount.target +-- +1.7.9.2 + diff --git a/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch b/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch new file mode 100644 index 00000000..21d21356 --- /dev/null +++ b/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch @@ -0,0 +1,25 @@ +From 45e60962b7965f32755a76b79a28126299aac149 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 27 Jun 2014 14:20:17 +0200 +Subject: [PATCH] libudev: fix udev_queue_get_queue_is_empty() logic + +--- + src/libudev/libudev-queue.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index eb0e096..c32a7ef 100644 +--- src/libudev/libudev-queue.c ++++ src/libudev/libudev-queue.c +@@ -175,7 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) + **/ + _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) + { +- return access("/run/udev/queue", F_OK) >= 0; ++ return access("/run/udev/queue", F_OK) < 0; + } + + /** +-- +1.7.9.2 + diff --git a/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch b/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch new file mode 100644 index 00000000..a9458e36 --- /dev/null +++ b/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch @@ -0,0 +1,248 @@ +Based on 14cb733684d3c3f50d088a3a370ddf8e8894dfa4 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 27 Jun 2014 17:42:44 +0200 +Subject: [PATCH] libudev: queue provide file descriptor to watch busy event + queue + +--- + docs/libudev/libudev-sections.txt | 2 ++ + src/libudev/libudev-queue.c | 46 +++++++++++++++++++++++++++++++++++ + src/libudev/libudev.h | 2 ++ + src/libudev/libudev.sym | 2 ++ + src/udev/udevadm-settle.c | 48 ++++++++++++++++--------------------- + 5 files changed, 73 insertions(+), 27 deletions(-) + +diff --git docs/libudev/libudev-sections.txt docs/libudev/libudev-sections.txt +index c154645..8a31ded 100644 +--- docs/libudev/libudev-sections.txt ++++ docs/libudev/libudev-sections.txt +@@ -116,6 +116,8 @@ udev_queue_get_seqnum_sequence_is_finished + udev_queue_get_queued_list_entry + udev_queue_get_kernel_seqnum + udev_queue_get_udev_seqnum ++udev_queue_get_fd ++udev_queue_flush + + +
+diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index c32a7ef..d4334b4 100644 +--- src/libudev/libudev-queue.c ++++ src/libudev/libudev-queue.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include "libudev.h" + #include "libudev-private.h" +@@ -45,6 +46,7 @@ + struct udev_queue { + struct udev *udev; + int refcount; ++ int fd; + }; + + /** +@@ -69,6 +71,7 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) + + udev_queue->refcount = 1; + udev_queue->udev = udev; ++ udev_queue->fd = -1; + return udev_queue; + } + +@@ -107,6 +110,9 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) + if (udev_queue->refcount > 0) + return NULL; + ++ if (udev_queue->fd >= 0) ++ close_nointr_nofail(udev_queue->fd); ++ + free(udev_queue); + return NULL; + } +@@ -222,3 +228,44 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu + { + return NULL; + } ++ ++/** ++ * udev_queue_get_fd: ++ * @udev_queue: udev queue context ++ * ++ * Returns: a file descriptor to watch for a queue to become empty. ++ */ ++_public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { ++ int fd; ++ int r; ++ ++ if (udev_queue->fd >= 0) ++ return udev_queue->fd; ++ ++ fd = inotify_init1(IN_CLOEXEC); ++ if (fd < 0) ++ return -errno; ++ ++ r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); ++ if (r < 0) { ++ r = -errno; ++ close(fd); ++ return r; ++ } ++ ++ udev_queue->fd = fd; ++ return fd; ++} ++ ++/** ++ * udev_queue_flush: ++ * @udev_queue: udev queue context ++ * ++ * Returns: the result of clearing the watch for queue changes. ++ */ ++_public_ int udev_queue_flush(struct udev_queue *udev_queue) { ++ if (udev_queue->fd < 0) ++ return -EINVAL; ++ ++ return flush_fd(udev_queue->fd); ++} +diff --git src/libudev/libudev.h src/libudev/libudev.h +index ceb89bd..4f2f115 100644 +--- src/libudev/libudev.h ++++ src/libudev/libudev.h +@@ -177,6 +177,8 @@ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); + int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); + int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, + unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); ++int udev_queue_get_fd(struct udev_queue *udev_queue); ++int udev_queue_flush(struct udev_queue *udev_queue); + struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); + + /* +diff --git src/libudev/libudev.sym src/libudev/libudev.sym +index 1e6f885..95cd1c7 100644 +--- src/libudev/libudev.sym ++++ src/libudev/libudev.sym +@@ -82,6 +82,8 @@ global: + udev_queue_get_udev; + udev_queue_get_udev_is_active; + udev_queue_get_udev_seqnum; ++ udev_queue_get_fd; ++ udev_queue_flush; + udev_queue_new; + udev_queue_ref; + udev_queue_unref; +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 66fd843..79e8b59 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -29,7 +29,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -59,7 +58,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + const char *exists = NULL; + unsigned int timeout = 120; + struct pollfd pfd[1] = { {.fd = -1}, }; +- int rc = EXIT_FAILURE, c; ++ int c; ++ struct udev_queue *queue; ++ int rc = EXIT_FAILURE; + + while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { + switch (c) { +@@ -79,9 +80,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + break; + case 'h': + help(); +- exit(EXIT_SUCCESS); ++ return EXIT_SUCCESS; + case '?': +- exit(EXIT_FAILURE); ++ return EXIT_FAILURE; + default: + assert_not_reached("Unknown argument"); + } +@@ -89,7 +90,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + + if (optind < argc) { + fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); +- exit(EXIT_FAILURE); ++ return EXIT_FAILURE; + } + + /* guarantee that the udev daemon isn't pre-processing */ +@@ -101,26 +102,23 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + if (udev_ctrl_send_ping(uctrl, timeout) < 0) { + log_debug("no connection to daemon"); + udev_ctrl_unref(uctrl); +- rc = EXIT_SUCCESS; +- goto out; ++ return EXIT_SUCCESS; + } + udev_ctrl_unref(uctrl); + } + } + +- pfd[0].events = POLLIN; +- pfd[0].fd = inotify_init1(IN_CLOEXEC); +- if (pfd[0].fd < 0) { +- log_error("inotify_init failed: %m"); +- goto out; ++ queue = udev_queue_new(udev); ++ if (!queue) { ++ log_error("unable to get udev queue"); ++ return EXIT_FAILURE; + } + +- if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { +- /* If it does not exist, we don't have to wait */ +- if (errno == ENOENT) +- rc = EXIT_SUCCESS; +- else +- log_debug("watching /run/udev/queue failed"); ++ pfd[0].events = POLLIN; ++ pfd[0].fd = udev_queue_get_fd(queue); ++ if (pfd[0].fd < 0) { ++ log_debug("queue is empty, nothing to watch"); ++ rc = EXIT_SUCCESS; + goto out; + } + +@@ -131,22 +129,18 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + } + + /* exit if queue is empty */ +- if (access("/run/udev/queue", F_OK) < 0) { ++ if (udev_queue_get_queue_is_empty(queue)) { + rc = EXIT_SUCCESS; + break; + } + +- /* wake up when "queue" file is deleted */ +- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { +- char buf[sizeof(struct inotify_event) + PATH_MAX]; +- +- read(pfd[0].fd, buf, sizeof(buf)); +- } ++ /* wake up when queue is empty */ ++ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) ++ udev_queue_flush(queue); + } + + out: +- if (pfd[0].fd >= 0) +- close(pfd[0].fd); ++ udev_queue_unref(queue); + return rc; + } + +-- +1.7.9.2 + diff --git a/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch b/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch new file mode 100644 index 00000000..78c1c084 --- /dev/null +++ b/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch @@ -0,0 +1,40 @@ +From 8a7a0c19edd2d971d4aa9d635f7978af841e8278 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 27 Jun 2014 19:54:45 +0200 +Subject: [PATCH] libudev: queue - watch entire directory to allow the re-use + of the watch descriptor + +--- + src/libudev/libudev-queue.c | 2 +- + src/udev/udevadm-settle.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index d4334b4..8ef1f3d 100644 +--- src/libudev/libudev-queue.c ++++ src/libudev/libudev-queue.c +@@ -245,7 +245,7 @@ _public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { + if (fd < 0) + return -errno; + +- r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); ++ r = inotify_add_watch(fd, "/run/udev" , IN_DELETE); + if (r < 0) { + r = -errno; + close(fd); +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 79e8b59..fa5b0c2 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -135,7 +135,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + } + + /* wake up when queue is empty */ +- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) ++ if (poll(pfd, 1, MSEC_PER_SEC) > 0 && pfd[0].revents & POLLIN) + udev_queue_flush(queue); + } + +-- +1.7.9.2 + diff --git a/1044-rules-update-qemu-hid-rules.patch b/1044-rules-update-qemu-hid-rules.patch new file mode 100644 index 00000000..52741afe --- /dev/null +++ b/1044-rules-update-qemu-hid-rules.patch @@ -0,0 +1,45 @@ +From cd31d1884f1ecf38e11bc6268f446d75dfafbc25 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 24 Mar 2014 12:07:41 +0100 +Subject: [PATCH] rules: update qemu hid rules + +Update comment to be a bit more specific. + +Change match to blacklist the serial number of the broken devices +instead of whitelisting the serial number of the fixed devices. +This allows to do something useful with the serial number in the +future. +--- + rules/42-usb-hid-pm.rules | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules +index 3fd6e8a..c675b5b 100644 +--- rules/42-usb-hid-pm.rules ++++ rules/42-usb-hid-pm.rules +@@ -2,14 +2,15 @@ + # + # Enable autosuspend for qemu emulated usb hid devices + +-# Note that there are buggy qemu versions which advertise remote +-# wakeup support but don't actually implement it correctly. This +-# is the reason why we need a match for the serial number here. +-# The serial number "42" is used to tag the implementations where ++# Note that there are buggy qemu versions (0.13 & older) which ++# advertise remote wakeup support but don't actually implement ++# it correctly. This is the reason why we need a match for the ++# serial number here. Old, broken versions have serial "1". ++# It has been changed to "42" after fixing the bug to indicate + # remote wakeup is working. +-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" +-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" +-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" ++ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" ++ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" ++ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + + # Catch-all for Avocent HID devices. Keyed off interface in order to only + # trigger on HID class devices. +-- +1.7.9.2 + diff --git a/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch b/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch new file mode 100644 index 00000000..cd1f72c7 --- /dev/null +++ b/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch @@ -0,0 +1,29 @@ +Based on 52fb538361053f8c4abce0e40cd0bae3d28ceb16 Mon Sep 17 00:00:00 2001 +From: Tom Hirst +Date: Wed, 25 Jun 2014 11:57:11 +0000 +Subject: [PATCH] rules: don't enable usb pm for Avocent devices + +The Avocent KVM over IP devices doesn't work correctly with USB power +management enabled. +--- + rules/42-usb-hid-pm.rules | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules +index c675b5b..4c300da 100644 +--- rules/42-usb-hid-pm.rules ++++ rules/42-usb-hid-pm.rules +@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!= + ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + +-# Catch-all for Avocent HID devices. Keyed off interface in order to only +-# trigger on HID class devices. +-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto" +- + # Dell DRAC 4 + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto" + +-- +1.7.9.2 + diff --git a/1046-fix-duplicated-rules-with-layer3-interfaces.patch b/1046-fix-duplicated-rules-with-layer3-interfaces.patch new file mode 100644 index 00000000..47445a83 --- /dev/null +++ b/1046-fix-duplicated-rules-with-layer3-interfaces.patch @@ -0,0 +1,16 @@ +Index: systemd-210/src/udev/rule_generator/write_net_rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/write_net_rules ++++ systemd-210/src/udev/rule_generator/write_net_rules +@@ -101,6 +101,11 @@ if [ "$MATCHDEVID" ]; then + fi + + if [ "$MATCHID" ]; then ++ ID="$(find_all_rules 'KERNELS==' "$MATCHID")" ++ if [ "$ID" == "$MATCHID" ]; then ++ unlock_rules_file ++ exit 0 ++ fi + match="$match, KERNELS==\"$MATCHID\"" + fi + diff --git a/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch b/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch new file mode 100644 index 00000000..47fce280 --- /dev/null +++ b/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch @@ -0,0 +1,61 @@ +From 01d4590b775661ebc71c7b81b0c62ccd69395268 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Jul 2014 15:13:29 +0200 +Subject: [PATCH] udev: net_setup_link builtin should print the reason why + something fails + +Let's tell users what is going wrong. +--- + src/udev/udev-builtin-net_setup_link.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c +index 3cd384e..6207269 100644 +--- src/udev/udev-builtin-net_setup_link.c ++++ src/udev/udev-builtin-net_setup_link.c +@@ -43,17 +43,17 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv + r = link_config_get(ctx, dev, &link); + if (r < 0) { + if (r == -ENOENT) { +- log_debug("No matching link configuration found"); ++ log_debug("No matching link configuration found."); + return EXIT_SUCCESS; + } else { +- log_error("Could not get link config"); ++ log_error("Could not get link config: %s", strerror(-r)); + return EXIT_FAILURE; + } + } + + r = link_config_apply(ctx, link, dev, &name); + if (r < 0) { +- log_error("Could not apply link config to %s", udev_device_get_sysname(dev)); ++ log_error("Could not apply link config to %s: %s", udev_device_get_sysname(dev), strerror(-r)); + return EXIT_FAILURE; + } + +@@ -77,18 +77,18 @@ static int builtin_net_setup_link_init(struct udev *udev) { + if (r < 0) + return r; + +- log_debug("Created link configuration context"); ++ log_debug("Created link configuration context."); + return 0; + } + + static void builtin_net_setup_link_exit(struct udev *udev) { + link_config_ctx_free(ctx); + ctx = NULL; +- log_debug("Unloaded link configuration context"); ++ log_debug("Unloaded link configuration context."); + } + + static bool builtin_net_setup_link_validate(struct udev *udev) { +- log_debug("Check if link configuration needs reloading"); ++ log_debug("Check if link configuration needs reloading."); + if (!ctx) + return false; + +-- +1.7.9.2 + diff --git a/1048-udev-net_setup_link-add-a-bit-more-logging.patch b/1048-udev-net_setup_link-add-a-bit-more-logging.patch new file mode 100644 index 00000000..740e3c36 --- /dev/null +++ b/1048-udev-net_setup_link-add-a-bit-more-logging.patch @@ -0,0 +1,39 @@ +From 866ee3682213789f85b877700457fdca05695a0e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 3 Jul 2014 09:57:27 +0200 +Subject: [PATCH] udev: net_setup_link - add a bit more logging + +--- + src/udev/net/link-config.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git src/udev/net/link-config.c src/udev/net/link-config.c +index 7a9d01b..b8650a6 100644 +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c +@@ -92,14 +92,20 @@ static int link_config_ctx_connect(link_config_ctx *ctx) { + + if (ctx->ethtool_fd == -1) { + r = ethtool_connect(&ctx->ethtool_fd); +- if (r < 0) ++ if (r < 0) { ++ log_warning("link_config: could not connect to ethtool: %s", ++ strerror(-r)); + return r; ++ } + } + + if (!ctx->rtnl) { + r = sd_rtnl_open(&ctx->rtnl, 0); +- if (r < 0) ++ if (r < 0) { ++ log_warning("link_config: could not connect to rtnl: %s", ++ strerror(-r)); + return r; ++ } + } + + return 0; +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index da40a9c5..8bec33f3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-machine-don-t-return-uninitialized-variable.patch +- Port and add upstream patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + +------------------------------------------------------------------- +Mon Jul 7 13:04:00 UTC 2014 - rmilasan@suse.com + +- Rename + 0001-udev-net_setup_link-add-a-bit-more-logging.patch + to + 1048-udev-net_setup_link-add-a-bit-more-logging.patch + +------------------------------------------------------------------- +Fri Jul 4 10:01:07 UTC 2014 - werner@suse.de + +- Port and add upstream patches + 0001-udev-net_setup_link-add-a-bit-more-logging.patch + 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch + 0002-namespace-fix-uninitialized-memory-access.patch + +------------------------------------------------------------------- +Fri Jul 4 09:43:12 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-architecture-Add-tilegx.patch + 0002-architecture-Add-cris.patch + 0003-arch-add-crisv32-to-uname-check.patch + 0004-architecture-remove-cris-from-uname-list.patch + +------------------------------------------------------------------- +Fri Jul 4 09:32:47 UTC 2014 - werner@suse.de + +- Add upstream patches + 0006-hwdb-update.patch + 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Thu Jul 3 12:48:27 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-parse_uid-return-ENXIO-for-1-uids.patch + 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch + 0003-localed-consider-an-unset-model-as-a-wildcard.patch + 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch + 0005-bus-close-a-bus-that-failed-to-connect.patch + 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch + +------------------------------------------------------------------- +Wed Jul 2 18:06:32 UTC 2014 - rmilasan@suse.com + +- Fix duplicated rules when having layer3 interfaces (bnc#882714). + Add 1046-fix-duplicated-rules-with-layer3-interfaces.patch + +------------------------------------------------------------------- +Tue Jul 1 14:53:44 UTC 2014 - werner@suse.de + +- Require correct pam-config version overall even for scriptlets (bnc#885288) + +------------------------------------------------------------------- +Tue Jul 1 12:19:27 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch + 0002-journald-make-MaxFileSec-really-default-to-1month.patch + 0003-units-remove-RefuseManualStart-from-units-which-are-.patch + 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch + 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch + 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch + 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch + +------------------------------------------------------------------- +Tue Jul 1 09:58:04 UTC 2014 - werner@suse.de + +- Be aware that close_nointr_nofail() may fail whereas safe_close() not + +------------------------------------------------------------------- +Tue Jul 1 08:56:48 UTC 2014 - werner@suse.de + +- Add upstream patches + 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch + 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch + 1044-rules-update-qemu-hid-rules.patch + 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch + +------------------------------------------------------------------- +Fri Jun 27 12:46:12 UTC 2014 - werner@suse.de + +- Add upstream bug fix patch + 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch (bnc#882714) + ------------------------------------------------------------------- Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 15e40108..ea36e8a2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -145,7 +145,7 @@ Requires(post): coreutils Requires(post): findutils %endif %if ! 0%{?bootstrap} -Requires(post): pam-config +Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd @@ -609,6 +609,50 @@ Patch297: 0001-core-use-correct-format-string-for-UIDs.patch Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch # PATCH-FIX-UPSTREAM added at 2014/06/26 Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch312: 0006-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch314: 0001-architecture-Add-tilegx.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch315: 0002-architecture-Add-cris.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch316: 0003-arch-add-crisv32-to-uname-check.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch317: 0004-architecture-remove-cris-from-uname-list.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch319: 0002-namespace-fix-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch320: 0001-machine-don-t-return-uninitialized-variable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch # UDEV PATCHES # ============ @@ -696,6 +740,22 @@ Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch +# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch +Patch1044: 1044-rules-update-qemu-hid-rules.patch +# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) +Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch +# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch +Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1153,6 +1213,28 @@ cp %{SOURCE7} m4/ %patch297 -p0 %patch298 -p0 %patch299 -p0 +%patch300 -p0 +%patch301 -p0 +%patch302 -p0 +%patch303 -p0 +%patch304 -p0 +%patch305 -p0 +%patch306 -p0 +%patch307 -p0 +%patch308 -p0 +%patch309 -p0 +%patch310 -p0 +%patch311 -p0 +%patch312 -p0 +%patch313 -p0 +%patch314 -p0 +%patch315 -p0 +%patch316 -p0 +%patch317 -p0 +%patch318 -p0 +%patch319 -p0 +%patch320 -p0 +%patch321 -p0 # udev patches %patch1001 -p1 @@ -1177,11 +1259,9 @@ cp %{SOURCE7} m4/ %patch1019 -p0 %patch1020 -p0 %patch1021 -p1 -%if 0%{?suse_version} > 1310 %if %{with udevsettle} %patch1022 -p1 %endif -%endif %patch1023 -p0 %patch1024 -p0 %patch1025 -p1 @@ -1198,12 +1278,20 @@ cp %{SOURCE7} m4/ %patch1036 -p1 %patch1037 -p1 %patch1038 -p0 -%if 0%{?suse_version} > 1310 %if %{with udevsettle} %patch1039 -p0 %endif -%endif %patch1040 -p1 +%if %{with udevsettle} +%patch1041 -p0 +%patch1042 -p0 +%patch1043 -p0 +%endif +%patch1044 -p0 +%patch1045 -p0 +%patch1046 -p1 +%patch1047 -p0 +%patch1048 -p0 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index da40a9c5..8bec33f3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-machine-don-t-return-uninitialized-variable.patch +- Port and add upstream patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + +------------------------------------------------------------------- +Mon Jul 7 13:04:00 UTC 2014 - rmilasan@suse.com + +- Rename + 0001-udev-net_setup_link-add-a-bit-more-logging.patch + to + 1048-udev-net_setup_link-add-a-bit-more-logging.patch + +------------------------------------------------------------------- +Fri Jul 4 10:01:07 UTC 2014 - werner@suse.de + +- Port and add upstream patches + 0001-udev-net_setup_link-add-a-bit-more-logging.patch + 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch + 0002-namespace-fix-uninitialized-memory-access.patch + +------------------------------------------------------------------- +Fri Jul 4 09:43:12 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-architecture-Add-tilegx.patch + 0002-architecture-Add-cris.patch + 0003-arch-add-crisv32-to-uname-check.patch + 0004-architecture-remove-cris-from-uname-list.patch + +------------------------------------------------------------------- +Fri Jul 4 09:32:47 UTC 2014 - werner@suse.de + +- Add upstream patches + 0006-hwdb-update.patch + 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Thu Jul 3 12:48:27 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-parse_uid-return-ENXIO-for-1-uids.patch + 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch + 0003-localed-consider-an-unset-model-as-a-wildcard.patch + 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch + 0005-bus-close-a-bus-that-failed-to-connect.patch + 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch + +------------------------------------------------------------------- +Wed Jul 2 18:06:32 UTC 2014 - rmilasan@suse.com + +- Fix duplicated rules when having layer3 interfaces (bnc#882714). + Add 1046-fix-duplicated-rules-with-layer3-interfaces.patch + +------------------------------------------------------------------- +Tue Jul 1 14:53:44 UTC 2014 - werner@suse.de + +- Require correct pam-config version overall even for scriptlets (bnc#885288) + +------------------------------------------------------------------- +Tue Jul 1 12:19:27 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch + 0002-journald-make-MaxFileSec-really-default-to-1month.patch + 0003-units-remove-RefuseManualStart-from-units-which-are-.patch + 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch + 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch + 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch + 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch + +------------------------------------------------------------------- +Tue Jul 1 09:58:04 UTC 2014 - werner@suse.de + +- Be aware that close_nointr_nofail() may fail whereas safe_close() not + +------------------------------------------------------------------- +Tue Jul 1 08:56:48 UTC 2014 - werner@suse.de + +- Add upstream patches + 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch + 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch + 1044-rules-update-qemu-hid-rules.patch + 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch + +------------------------------------------------------------------- +Fri Jun 27 12:46:12 UTC 2014 - werner@suse.de + +- Add upstream bug fix patch + 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch (bnc#882714) + ------------------------------------------------------------------- Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 55ff9a7d..6d3eac09 100644 --- a/systemd.spec +++ b/systemd.spec @@ -140,7 +140,7 @@ Requires(post): coreutils Requires(post): findutils %endif %if ! 0%{?bootstrap} -Requires(post): pam-config +Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd @@ -604,6 +604,50 @@ Patch297: 0001-core-use-correct-format-string-for-UIDs.patch Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch # PATCH-FIX-UPSTREAM added at 2014/06/26 Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch312: 0006-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch314: 0001-architecture-Add-tilegx.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch315: 0002-architecture-Add-cris.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch316: 0003-arch-add-crisv32-to-uname-check.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch317: 0004-architecture-remove-cris-from-uname-list.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch319: 0002-namespace-fix-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch320: 0001-machine-don-t-return-uninitialized-variable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch # UDEV PATCHES # ============ @@ -691,6 +735,22 @@ Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch +# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch +Patch1044: 1044-rules-update-qemu-hid-rules.patch +# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) +Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch +# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch +Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1148,6 +1208,28 @@ cp %{SOURCE7} m4/ %patch297 -p0 %patch298 -p0 %patch299 -p0 +%patch300 -p0 +%patch301 -p0 +%patch302 -p0 +%patch303 -p0 +%patch304 -p0 +%patch305 -p0 +%patch306 -p0 +%patch307 -p0 +%patch308 -p0 +%patch309 -p0 +%patch310 -p0 +%patch311 -p0 +%patch312 -p0 +%patch313 -p0 +%patch314 -p0 +%patch315 -p0 +%patch316 -p0 +%patch317 -p0 +%patch318 -p0 +%patch319 -p0 +%patch320 -p0 +%patch321 -p0 # udev patches %patch1001 -p1 @@ -1172,11 +1254,9 @@ cp %{SOURCE7} m4/ %patch1019 -p0 %patch1020 -p0 %patch1021 -p1 -%if 0%{?suse_version} > 1310 %if %{with udevsettle} %patch1022 -p1 %endif -%endif %patch1023 -p0 %patch1024 -p0 %patch1025 -p1 @@ -1193,12 +1273,20 @@ cp %{SOURCE7} m4/ %patch1036 -p1 %patch1037 -p1 %patch1038 -p0 -%if 0%{?suse_version} > 1310 %if %{with udevsettle} %patch1039 -p0 %endif -%endif %patch1040 -p1 +%if %{with udevsettle} +%patch1041 -p0 +%patch1042 -p0 +%patch1043 -p0 +%endif +%patch1044 -p0 +%patch1045 -p0 +%patch1046 -p1 +%patch1047 -p0 +%patch1048 -p0 # ensure generate files are removed rm -f units/emergency.service From 714ab2a3f6a1bc13b8b21d0c416f9308febc8105c687df0f591b9decdf224047 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 16 Jul 2014 14:36:37 +0000 Subject: [PATCH 187/991] Accepting request 241067 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/241067 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=192 --- ...pull-in-sd-event.h-from-event-util.h.patch | 24 +++ ...-return-early-in-uncompress_startswi.patch | 176 ++++++++++++++++++ ...switching-to-unused-VTs-via-SwitchTo.patch | 37 ++++ ...xecStopPost-action-part-of-ExecStart.patch | 46 +++++ ...7F-a-control-chracter-which-it-is-DE.patch | 54 ++++++ ...d-add-a-new-chassis-type-for-watches.patch | 26 +++ ...s-improve-xz-compression-performance.patch | 82 ++++++++ ...der-tabs-special-in-string_has_cc-an.patch | 130 +++++++++++++ 0002-util-fix-has-cc-check-and-add-test.patch | 25 +++ ...-string-table-entries-for-mips-le-ar.patch | 52 ++++++ ...call-epoll_ctl-on-mask-updates-if-ed.patch | 46 +++++ ...rt-for-ERRNO-NOTIFY_SOCKET-message-p.patch | 67 +++++++ ...te-more-shell-characters-in-envfiles.patch | 54 ++++++ ...cept-negative-ERRNO-notification-mes.patch | 25 +++ ...tatusErrno-value-in-systemctl-status.patch | 37 ++++ ...atus-text-and-errno-values-each-time.patch | 29 +++ 1007-physical-hotplug-cpu-and-memory.patch | 15 +- ...-ignore-errors-due-to-missing-MAC-ad.patch | 36 ++++ ...VF-devices-when-name-starts-with-eth.patch | 12 ++ systemd-mini.changes | 81 ++++++++ systemd-mini.spec | 76 +++++++- systemd-remount-tmpfs | 15 ++ systemd.changes | 81 ++++++++ systemd.spec | 76 +++++++- vhangup-on-all-consoles.patch | 28 +++ 25 files changed, 1306 insertions(+), 24 deletions(-) create mode 100644 0001-event-pull-in-sd-event.h-from-event-util.h.patch create mode 100644 0001-journal-compress-return-early-in-uncompress_startswi.patch create mode 100644 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch create mode 100644 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch create mode 100644 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch create mode 100644 0002-hostnamed-add-a-new-chassis-type-for-watches.patch create mode 100644 0002-journal-compress-improve-xz-compression-performance.patch create mode 100644 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch create mode 100644 0002-util-fix-has-cc-check-and-add-test.patch create mode 100644 0003-architecture-add-string-table-entries-for-mips-le-ar.patch create mode 100644 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch create mode 100644 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch create mode 100644 0004-fileio-quote-more-shell-characters-in-envfiles.patch create mode 100644 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch create mode 100644 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch create mode 100644 0007-service-flush-status-text-and-errno-values-each-time.patch create mode 100644 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch create mode 100644 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch create mode 100644 systemd-remount-tmpfs create mode 100644 vhangup-on-all-consoles.patch diff --git a/0001-event-pull-in-sd-event.h-from-event-util.h.patch b/0001-event-pull-in-sd-event.h-from-event-util.h.patch new file mode 100644 index 00000000..e9fc98ce --- /dev/null +++ b/0001-event-pull-in-sd-event.h-from-event-util.h.patch @@ -0,0 +1,24 @@ +From 138992534878483de28417dfc61c546bba5cb8ad Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 10 Jul 2014 18:25:08 +0200 +Subject: [PATCH] event: pull in sd-event.h from event-util.h + +--- + src/libsystemd/sd-event/event-util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/libsystemd/sd-event/event-util.h src/libsystemd/sd-event/event-util.h +index e58020d..e7cad9b 100644 +--- src/libsystemd/sd-event/event-util.h ++++ src/libsystemd/sd-event/event-util.h +@@ -22,6 +22,7 @@ + ***/ + + #include "util.h" ++#include "sd-event.h" + + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event*, sd_event_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event_source*, sd_event_source_unref); +-- +1.7.9.2 + diff --git a/0001-journal-compress-return-early-in-uncompress_startswi.patch b/0001-journal-compress-return-early-in-uncompress_startswi.patch new file mode 100644 index 00000000..55476789 --- /dev/null +++ b/0001-journal-compress-return-early-in-uncompress_startswi.patch @@ -0,0 +1,176 @@ +Based on 5e592c66bdf76dfc8445b332f7a5088ca504ee90 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 4 Jul 2014 19:53:58 -0400 +Subject: [PATCH] journal/compress: return early in uncompress_startswith + +uncompress_startswith would always decode the whole stream, even +if it did not start with the given prefix. + +Reallocation policy was also strange. +--- + src/journal/compress.c | 91 ++++++++++++++----------------------------------- + 1 file changed, 27 insertions(+), 64 deletions(-) + +--- src/journal/compress.c ++++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 +@@ -69,10 +69,9 @@ fail: + bool uncompress_blob(const void *src, uint64_t src_size, + void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { + +- lzma_stream s = LZMA_STREAM_INIT; ++ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; + lzma_ret ret; + uint64_t space; +- bool b = false; + + assert(src); + assert(src_size > 0); +@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui + if (ret != LZMA_OK) + return false; + +- if (*dst_alloc_size <= src_size) { +- void *p; +- +- p = realloc(*dst, src_size*2); +- if (!p) +- return false; +- +- *dst = p; +- *dst_alloc_size = src_size*2; +- } ++ space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); ++ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ return false; + + s.next_in = src; + s.avail_in = src_size; + + s.next_out = *dst; +- space = dst_max > 0 ? MIN(*dst_alloc_size, dst_max) : *dst_alloc_size; + s.avail_out = space; + + for (;;) { +- void *p; ++ uint64_t used; + + ret = lzma_code(&s, LZMA_FINISH); + +@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui + break; + + if (ret != LZMA_OK) +- goto fail; ++ return false; + + if (dst_max > 0 && (space - s.avail_out) >= dst_max) + break; + +- p = realloc(*dst, space*2); +- if (!p) +- goto fail; +- +- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *dst); +- s.avail_out += space; ++ if (dst_max > 0 && space == dst_max) ++ return false; + +- space *= 2; ++ used = space - s.avail_out; ++ space = MIN(2 * space, dst_max ?: (uint64_t) -1); ++ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ return false; + +- *dst = p; +- *dst_alloc_size = space; ++ s.avail_out = space - used; ++ s.next_out = *dst + used; + } + + *dst_size = space - s.avail_out; +- b = true; +- +-fail: +- lzma_end(&s); +- +- return b; ++ return true; + } + + bool uncompress_startswith(const void *src, uint64_t src_size, +@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s + const void *prefix, uint64_t prefix_len, + uint8_t extra) { + +- lzma_stream s = LZMA_STREAM_INIT; ++ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; + lzma_ret ret; +- bool b = false; + + /* Checks whether the uncompressed blob starts with the + * mentioned prefix. The byte extra needs to follow the +@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s + if (ret != LZMA_OK) + return false; + +- if (*buffer_size <= prefix_len) { +- void *p; +- +- p = realloc(*buffer, prefix_len*2); +- if (!p) +- return false; +- +- *buffer = p; +- *buffer_size = prefix_len*2; +- } ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ return false; + + s.next_in = src; + s.avail_in = src_size; +@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s + s.avail_out = *buffer_size; + + for (;;) { +- void *p; +- + ret = lzma_code(&s, LZMA_FINISH); + + if (ret != LZMA_STREAM_END && ret != LZMA_OK) +- goto fail; ++ return false; + +- if ((*buffer_size - s.avail_out > prefix_len) && +- memcmp(*buffer, prefix, prefix_len) == 0 && +- ((const uint8_t*) *buffer)[prefix_len] == extra) +- break; ++ if (*buffer_size - s.avail_out >= prefix_len + 1) ++ return memcmp(*buffer, prefix, prefix_len) == 0 && ++ ((const uint8_t*) *buffer)[prefix_len] == extra; + + if (ret == LZMA_STREAM_END) +- goto fail; +- +- p = realloc(*buffer, *buffer_size*2); +- if (!p) +- goto fail; ++ return false; + +- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *buffer); + s.avail_out += *buffer_size; + +- *buffer = p; +- *buffer_size *= 2; +- } +- +- b = true; +- +-fail: +- lzma_end(&s); ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ return false; + +- return b; ++ s.next_out = *buffer + *buffer_size - s.avail_out; ++ } + } diff --git a/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch b/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch new file mode 100644 index 00000000..269adaba --- /dev/null +++ b/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch @@ -0,0 +1,37 @@ +From 154034270c4643b7cfe61c0be1676d78bb1b7b07 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 8 Jul 2014 12:56:55 +0200 +Subject: [PATCH] logind: allow switching to unused VTs via SwitchTo() + +If compositors use the new SwitchTo() logic to map F1-F12, we should allow +them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic +of gettys won't trigger. + +Reported-by: Jasper St. Pierre +Signed-off-by: David Herrmann +--- + src/login/logind-seat.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 3114de8..9992195 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) { + if (!num) + return -EINVAL; + +- if (num >= s->position_count || !s->positions[num]) ++ if (num >= s->position_count || !s->positions[num]) { ++ /* allow switching to unused VTs to trigger auto-activate */ ++ if (seat_has_vts(s) && num < 64) ++ return chvt(num); ++ + return -EINVAL; ++ } + + return session_activate(s->positions[num]); + } +-- +1.7.9.2 + diff --git a/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch b/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch new file mode 100644 index 00000000..bb9010bd --- /dev/null +++ b/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch @@ -0,0 +1,46 @@ +Based on d3381512282f2ca1c7669f77fb736a90fdce6982 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 8 Jul 2014 17:42:23 +0200 +Subject: [PATCH] units: make ExecStopPost action part of ExecStart + +Currently after exiting rescue shell we isolate default target. User +might want to isolate to some other target than default one. However +issuing systemctl isolate command to desired target would bring system +to default target as a consequence of running ExecStopPost action. + +Having common ancestor for rescue shell and possible followup systemctl +default command should fix this. If user exits rescue shell we will +proceed with isolating default target, otherwise, on manual isolate, +parent shell process is terminated and we don't isolate default target, +but target chosen by user. + +Suggested-by: Michal Schmidt +--- + units/emergency.service.in | 3 +-- + units/rescue.service.m4.in | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +--- units/emergency.service.in ++++ units/emergency.service.in 2014-07-10 13:31:50.662235825 +0000 +@@ -18,8 +18,7 @@ WorkingDirectory=/root + ExecStartPre=-/usr/bin/plymouth quit + ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' +-ExecStart=-/usr/sbin/sulogin +-ExecStopPost=@SYSTEMCTL@ --fail --no-block default ++ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" + Type=idle + StandardInput=tty-force + StandardOutput=inherit +--- units/rescue.service.m4.in ++++ units/rescue.service.m4.in 2014-07-10 13:32:15.678235509 +0000 +@@ -19,8 +19,7 @@ WorkingDirectory=/root + ExecStartPre=-/usr/bin/plymouth quit + ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' +-ExecStart=-/usr/sbin/sulogin +-ExecStopPost=-@SYSTEMCTL@ --fail --no-block default ++ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" + Type=idle + StandardInput=tty-force + StandardOutput=inherit diff --git a/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch b/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch new file mode 100644 index 00000000..9a6c97a5 --- /dev/null +++ b/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch @@ -0,0 +1,54 @@ +From 3a8a916338d8446b938f3cf40f6aae0c611892e3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 11:47:10 +0200 +Subject: [PATCH] util: consider 0x7F a control chracter (which it is: DEL) + +Let's better be safe than sorry. +--- + src/shared/util.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git src/shared/util.c src/shared/util.c +index 3d875c7..d25ee66 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1608,8 +1608,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + return -ETIMEDOUT; + } + ++ errno = 0; + if (!fgets(line, sizeof(line), f)) +- return -EIO; ++ return errno ? -errno : -EIO; + + truncate_nl(line); + +@@ -5355,6 +5356,9 @@ bool string_is_safe(const char *p) { + if (*t > 0 && *t < ' ') + return false; + ++ if (*t == 127) ++ return false; ++ + if (strchr("\\\"\'", *t)) + return false; + } +@@ -5371,10 +5375,14 @@ bool string_has_cc(const char *p) { + + assert(p); + +- for (t = p; *t; t++) ++ for (t = p; *t; t++) { + if (*t > 0 && *t < ' ' && *t != '\t') + return true; + ++ if (*t == 127) ++ return true; ++ } ++ + return false; + } + +-- +1.7.9.2 + diff --git a/0002-hostnamed-add-a-new-chassis-type-for-watches.patch b/0002-hostnamed-add-a-new-chassis-type-for-watches.patch new file mode 100644 index 00000000..a20c11c6 --- /dev/null +++ b/0002-hostnamed-add-a-new-chassis-type-for-watches.patch @@ -0,0 +1,26 @@ +From c49e59c1831f20fe02276d7bc6ba7d23d24c4ab3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 9 Jul 2014 13:20:05 +0200 +Subject: [PATCH] hostnamed: add a new chassis type for watches + +--- + src/hostname/hostnamed.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c +index 514554d..eaae113 100644 +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c +@@ -144,7 +144,8 @@ static bool valid_chassis(const char *chassis) { + "laptop\0" + "server\0" + "tablet\0" +- "handset\0", ++ "handset\0" ++ "watch\0", + chassis); + } + +-- +1.7.9.2 + diff --git a/0002-journal-compress-improve-xz-compression-performance.patch b/0002-journal-compress-improve-xz-compression-performance.patch new file mode 100644 index 00000000..adccdaad --- /dev/null +++ b/0002-journal-compress-improve-xz-compression-performance.patch @@ -0,0 +1,82 @@ +Based on 1930eed2a7855d2df06ccf51f9e394428bf547e2 Mon Sep 17 00:00:00 2001 +From: Jon Severinsson +Date: Tue, 8 Jul 2014 18:29:46 +0200 +Subject: [PATCH] journal/compress: improve xz compression performance + +The new lzma2 compression options at the top of compress_blob_xz are +equivalent to using preset "0", exept for using a 1 MiB dictionary +(the same as preset "1"). This makes the memory usage at most 7.5 MiB +in the compressor, and 1 MiB in the decompressor, instead of the +previous 92 MiB in the compressor and 8 MiB in the decompressor. + +According to test-compress-benchmark this commit makes XZ compression +20 times faster, with no increase in compressed data size. +Using more realistic test data (an ELF binary rather than repeating +ASCII letters 'a' through 'z' in order) it only provides a factor 10 +speedup, and at a cost if a 10% increase in compressed data size. +But that is still a worthwhile trade-off. + +According to test-compress-benchmark XZ compression is still 25 times +slower than LZ4, but the compressed data is one eighth the size. +Using more realistic test data XZ compression is only 18 times slower +than LZ4, and the compressed data is only one quarter the size. + +--- + src/journal/compress.c | 33 ++++++++++++++------------------- + 1 file changed, 14 insertions(+), 19 deletions(-) + +--- src/journal/compress.c ++++ src/journal/compress.c 2014-07-09 12:09:45.814235274 +0000 +@@ -28,8 +28,15 @@ + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +- lzma_stream s = LZMA_STREAM_INIT; ++ static const lzma_options_lzma opt = { ++ 1u << 20u, NULL, 0, LZMA_LC_DEFAULT, LZMA_LP_DEFAULT, ++ LZMA_PB_DEFAULT, LZMA_MODE_FAST, 128, LZMA_MF_HC3, 4}; ++ static const lzma_filter filters[2] = { ++ {LZMA_FILTER_LZMA2, (lzma_options_lzma*) &opt}, ++ {LZMA_VLI_UNKNOWN, NULL} ++ }; + lzma_ret ret; ++ size_t out_pos = 0; + bool b = false; + + assert(src); +@@ -40,29 +47,17 @@ bool compress_blob(const void *src, uint + /* Returns false if we couldn't compress the data or the + * compressed result is longer than the original */ + +- ret = lzma_easy_encoder(&s, LZMA_PRESET_DEFAULT, LZMA_CHECK_NONE); +- if (ret != LZMA_OK) ++ if (src_size < 80) + return false; + +- s.next_in = src; +- s.avail_in = src_size; +- s.next_out = dst; +- s.avail_out = src_size; +- +- /* Does it fit? */ +- if (lzma_code(&s, LZMA_FINISH) != LZMA_STREAM_END) +- goto fail; +- +- /* Is it actually shorter? */ +- if (s.avail_out == 0) +- goto fail; ++ ret = lzma_stream_buffer_encode((lzma_filter*) filters, LZMA_CHECK_NONE, NULL, ++ src, src_size, dst, &out_pos, src_size - 1); ++ if (ret != LZMA_OK) ++ return false; + +- *dst_size = src_size - s.avail_out; ++ *dst_size = out_pos; + b = true; + +-fail: +- lzma_end(&s); +- + return b; + } + diff --git a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch new file mode 100644 index 00000000..aeb7ab26 --- /dev/null +++ b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch @@ -0,0 +1,130 @@ +From 6294aa76d818e831de4592b41a37e225fd0871f9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 12:04:55 +0200 +Subject: [PATCH] util: don't consider tabs special in string_has_cc() anymore + +Instead, take a list of exceptions to our usual CC check +--- + src/hostname/hostnamed.c | 3 +-- + src/shared/env-util.c | 4 +++- + src/shared/fileio.c | 2 +- + src/shared/util.c | 19 ++++++++++--------- + src/shared/util.h | 5 +++-- + 5 files changed, 18 insertions(+), 15 deletions(-) + +diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c +index 14629dd..514554d 100644 +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c +@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop + + if (prop == PROP_ICON_NAME && !filename_is_safe(name)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); +- if (prop == PROP_PRETTY_HOSTNAME && +- (string_has_cc(name) || chars_intersect(name, "\t"))) ++ if (prop == PROP_PRETTY_HOSTNAME && string_has_cc(name, NULL)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); + if (prop == PROP_CHASSIS && !valid_chassis(name)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); +diff --git src/shared/env-util.c src/shared/env-util.c +index b2e4553..20b208f 100644 +--- src/shared/env-util.c ++++ src/shared/env-util.c +@@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { + if (!utf8_is_valid(e)) + return false; + +- if (string_has_cc(e)) ++ /* bash allows tabs in environment variables, and so should ++ * we */ ++ if (string_has_cc(e, "\t")) + return false; + + /* POSIX says the overall size of the environment block cannot +diff --git src/shared/fileio.c src/shared/fileio.c +index fb1c1bc..b1de590 100644 +--- src/shared/fileio.c ++++ src/shared/fileio.c +@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { + p++; + fwrite(v, 1, p-v, f); + +- if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { ++ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { + fputc('\"', f); + + for (; *p; p++) { +diff --git src/shared/util.c src/shared/util.c +index d25ee66..d223ecf 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { + bool string_is_safe(const char *p) { + const char *t; + +- assert(p); ++ if (!p) ++ return false; + + for (t = p; *t; t++) { + if (*t > 0 && *t < ' ') + return false; + +- if (*t == 127) +- return false; +- +- if (strchr("\\\"\'", *t)) ++ if (strchr("\\\"\'\0x7f", *t)) + return false; + } + +@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { + } + + /** +- * Check if a string contains control characters. +- * Spaces and tabs are not considered control characters. ++ * Check if a string contains control characters. If 'ok' is non-NULL ++ * it may be a string containing additional CCs to be considered OK. + */ +-bool string_has_cc(const char *p) { ++bool string_has_cc(const char *p, const char *ok) { + const char *t; + + assert(p); + + for (t = p; *t; t++) { +- if (*t > 0 && *t < ' ' && *t != '\t') ++ if (ok && strchr(ok, *t)) ++ return false; ++ ++ if (*t > 0 && *t < ' ') + return true; + + if (*t == 127) +diff --git src/shared/util.h src/shared/util.h +index e23069c..8544940 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); + int chvt(int vt); + + int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); +-int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); ++int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); ++int ask_string(char **ret, const char *text, ...) _printf_(2, 3); + + int reset_terminal_fd(int fd, bool switch_to_text); + int reset_terminal(const char *name); +@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ + bool filename_is_safe(const char *p) _pure_; + bool path_is_safe(const char *p) _pure_; + bool string_is_safe(const char *p) _pure_; +-bool string_has_cc(const char *p) _pure_; ++bool string_has_cc(const char *p, const char *ok) _pure_; + + /** + * Check if a string contains any glob patterns. +-- +1.7.9.2 + diff --git a/0002-util-fix-has-cc-check-and-add-test.patch b/0002-util-fix-has-cc-check-and-add-test.patch new file mode 100644 index 00000000..f39ad16c --- /dev/null +++ b/0002-util-fix-has-cc-check-and-add-test.patch @@ -0,0 +1,25 @@ +Based on 1cb1767a29458b3d16d6b161b4ee34dd496ff60d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Jul 2014 09:21:15 -0400 +Subject: [PATCH] util: fix has cc check and add test + +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/util.c src/shared/util.c +index 3342798..75dc58b 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -5419,7 +5419,7 @@ bool string_has_cc(const char *p, const char *ok) { + + for (t = p; *t; t++) { + if (ok && strchr(ok, *t)) +- return false; ++ continue; + + if (*t > 0 && *t < ' ') + return true; +-- +1.7.9.2 + diff --git a/0003-architecture-add-string-table-entries-for-mips-le-ar.patch b/0003-architecture-add-string-table-entries-for-mips-le-ar.patch new file mode 100644 index 00000000..c3944702 --- /dev/null +++ b/0003-architecture-add-string-table-entries-for-mips-le-ar.patch @@ -0,0 +1,52 @@ +Based on 037c26d0aeb750ca9c8d605884ea1db7baecfea8 Mon Sep 17 00:00:00 2001 +Based on 9a00f57a5ba7ed431e6bac8d8b36518708503b4e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 14:59:06 +0200 +Subject: [PATCH] architecture: add string table entries for mips-le archs + which were missing + +--- + src/shared/architecture.c | 2 ++ + src/shared/architecture.h | 4 ++++ + 2 files changed, 6 insertions(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index 6cdca4e..dc45f35 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -153,7 +153,9 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_SPARC] = "sparc", + [ARCHITECTURE_SPARC64] = "sparc64", + [ARCHITECTURE_MIPS] = "mips", ++ [ARCHITECTURE_MIPS_LE] = "mips-le", + [ARCHITECTURE_MIPS64] = "mips64", ++ [ARCHITECTURE_MIPS64_LE] = "mips64-le", + [ARCHITECTURE_ALPHA] = "alpha", + [ARCHITECTURE_ARM] = "arm", + [ARCHITECTURE_ARM_BE] = "arm-be", +diff --git src/shared/architecture.h src/shared/architecture.h +index 20e848b..0807924 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -23,6 +23,8 @@ + + #include "util.h" + ++/* A cleaned up architecture definition */ ++ + typedef enum Architecture { + ARCHITECTURE_X86 = 0, + ARCHITECTURE_X86_64, +@@ -38,7 +40,9 @@ typedef enum Architecture { + ARCHITECTURE_SPARC, + ARCHITECTURE_SPARC64, + ARCHITECTURE_MIPS, ++ ARCHITECTURE_MIPS_LE, + ARCHITECTURE_MIPS64, ++ ARCHITECTURE_MIPS64_LE, + ARCHITECTURE_ALPHA, + ARCHITECTURE_ARM, + ARCHITECTURE_ARM_BE, +-- +1.7.9.2 + diff --git a/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch b/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch new file mode 100644 index 00000000..f401411e --- /dev/null +++ b/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch @@ -0,0 +1,46 @@ +From b63c8d4f0364457b0ead8793504012bb7113974f Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 10 Jul 2014 00:47:23 +0200 +Subject: [PATCH] sd-event: always call epoll_ctl() on mask-updates if + edge-triggered + +A call to sd_event_source_set_io_events() skipps calling into the kernel +if the new event-mask matches the old one. This is safe for +level-triggered sources as the kernel moves them onto the ready-list +automatically if events change. However, edge-triggered sources might not +be on the ready-list even though events are present. + +A call to sd_event_source_set_io_events() with EPOLLET set might thus be +used to just move the io-source onto the ready-list so the next poll +will return it again. This is very useful to avoid starvation in +priority-based event queues. + +Imagine a read() loop on an edge-triggered fd. If we cannot read data fast +enough to drain the receive queue, we might decide to skip reading for now +and schedule it for later. On edge-triggered io-sources we have to make +sure it's put on the ready-list so the next dispatch-round will return it +again if it's still the highest priority task. We could make sd-event +handle edge-triggered sources directly and allow marking them ready again. +However, it's much simpler to let the kernel do that for now via +EPOLL_CTL_MOD. +--- + src/libsystemd/sd-event/sd-event.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index 53f1904..a21f7db 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -1282,7 +1282,8 @@ _public_ int sd_event_source_set_io_events(sd_event_source *s, uint32_t events) + assert_return(s->event->state != SD_EVENT_FINISHED, -ESTALE); + assert_return(!event_pid_changed(s->event), -ECHILD); + +- if (s->io.events == events) ++ /* edge-triggered updates are never skipped, so we can reset edges */ ++ if (s->io.events == events && !(events & EPOLLET)) + return 0; + + if (s->enabled != SD_EVENT_OFF) { +-- +1.7.9.2 + diff --git a/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch b/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch new file mode 100644 index 00000000..3ae99a64 --- /dev/null +++ b/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch @@ -0,0 +1,67 @@ +Based on 4774e357268e4a1e9fa82adb0563a538932a4c8e Mon Sep 17 00:00:00 2001 +From: Miguel Angel Ajo +Date: Mon, 7 Jul 2014 14:20:36 +0200 +Subject: [PATCH] core: Added support for ERRNO NOTIFY_SOCKET message parsing, + and added StatusErrno dbus property along StatusText to + allow notification of numeric status condition while + degraded service operation or any other special situation. + +--- + src/core/dbus-service.c | 1 + + src/core/service.c | 17 +++++++++++++++++ + src/core/service.h | 1 + + 3 files changed, 19 insertions(+) + +diff --git src/core/dbus-service.c src/core/dbus-service.c +index 093289f..5a881e8 100644 +--- src/core/dbus-service.c ++++ src/core/dbus-service.c +@@ -60,6 +60,7 @@ const sd_bus_vtable bus_service_vtable[] = { + SD_BUS_PROPERTY("ControlPID", "u", bus_property_get_pid, offsetof(Service, control_pid), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("BusName", "s", NULL, offsetof(Service, bus_name), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("StatusText", "s", NULL, offsetof(Service, status_text), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), ++ SD_BUS_PROPERTY("StatusErrno", "i", NULL, offsetof(Service, status_errno), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("Result", "s", property_get_result, offsetof(Service, result), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + BUS_EXEC_STATUS_VTABLE("ExecMain", offsetof(Service, main_exec_status), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + BUS_EXEC_COMMAND_LIST_VTABLE("ExecStartPre", offsetof(Service, exec_command[SERVICE_EXEC_START_PRE]), SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION), +diff --git src/core/service.c src/core/service.c +index 0b19767..ace45e2 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -2637,6 +2637,23 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + free(t); + } + ++ /* Interpret ERRNO= */ ++ e = strv_find_prefix(tags, "ERRNO="); ++ if (e) { ++ int status_errno; ++ ++ if (safe_atoi(e + 6, &status_errno) < 0) ++ log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); ++ else { ++ log_debug_unit(u->id, "%s: got %s", u->id, e); ++ ++ if (s->status_errno != status_errno) { ++ s->status_errno = status_errno; ++ notify_dbus = true; ++ } ++ } ++ } ++ + /* Interpret WATCHDOG= */ + if (strv_find(tags, "WATCHDOG=1")) { + log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); +--- src/core/service.h ++++ src/core/service.h 2014-07-08 12:54:39.238736046 +0200 +@@ -187,6 +187,7 @@ struct Service { + char *bus_name; + + char *status_text; ++ int status_errno; + + RateLimit start_limit; + StartLimitAction start_limit_action; +-- +1.7.9.2 + diff --git a/0004-fileio-quote-more-shell-characters-in-envfiles.patch b/0004-fileio-quote-more-shell-characters-in-envfiles.patch new file mode 100644 index 00000000..b4cd3e96 --- /dev/null +++ b/0004-fileio-quote-more-shell-characters-in-envfiles.patch @@ -0,0 +1,54 @@ +From 0ce5a80601597fe4d1a715a8f70ce8d5ccaa2d86 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Sun, 13 Jul 2014 18:49:00 +0300 +Subject: [PATCH] fileio: quote more shell characters in envfiles + +Turns out, making strings shell-proof is harder than expected: + + # machinectl set-hostname "foo|poweroff" && . /etc/machine-info + +(This could be simplified by quoting *and* escaping all characters, +which is harmless in shell but unnecessary.) +--- + src/shared/fileio.c | 4 ++-- + src/shared/util.h | 6 ++++++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git src/shared/fileio.c src/shared/fileio.c +index b0ab780..cbb40c2 100644 +--- src/shared/fileio.c ++++ src/shared/fileio.c +@@ -738,11 +738,11 @@ static void write_env_var(FILE *f, const char *v) { + p++; + fwrite(v, 1, p-v, f); + +- if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { ++ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE SHELL_NEED_QUOTES)) { + fputc('\"', f); + + for (; *p; p++) { +- if (strchr("\'\"\\`$", *p)) ++ if (strchr(SHELL_NEED_ESCAPE, *p)) + fputc('\\', f); + + fputc(*p, f); +diff --git src/shared/util.h src/shared/util.h +index c5eadc9..b3187a9 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -93,6 +93,12 @@ + #define COMMENTS "#;" + #define GLOB_CHARS "*?[" + ++/* What characters are special in the shell? */ ++/* must be escaped outside and inside double-quotes */ ++#define SHELL_NEED_ESCAPE "\"\\`$" ++/* can be escaped or double-quoted */ ++#define SHELL_NEED_QUOTES SHELL_NEED_ESCAPE GLOB_CHARS "'()<>|&;" ++ + #define FORMAT_BYTES_MAX 8 + + #define ANSI_HIGHLIGHT_ON "\x1B[1;39m" +-- +1.7.9.2 + diff --git a/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch b/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch new file mode 100644 index 00000000..ed5997e0 --- /dev/null +++ b/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch @@ -0,0 +1,25 @@ +From 2040ccf171404b709acb0ecf1d1f17b87c5d05f0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 17:32:44 +0200 +Subject: [PATCH] service: don't accept negative ERRNO= notification messages + +--- + src/core/service.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/service.c src/core/service.c +index 5c54a34..d5aff99 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -2637,7 +2637,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + if (e) { + int status_errno; + +- if (safe_atoi(e + 6, &status_errno) < 0) ++ if (safe_atoi(e + 6, &status_errno) < 0 || status_errno < 0) + log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); + else { + log_debug_unit(u->id, "%s: got %s", u->id, e); +-- +1.7.9.2 + diff --git a/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch b/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch new file mode 100644 index 00000000..b1fc0988 --- /dev/null +++ b/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch @@ -0,0 +1,37 @@ +Based on b4af5a803aa71a57733ca46fef29b7afb20a626c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 17:33:26 +0200 +Subject: [PATCH] systemctl: show StatusErrno value in "systemctl status" + +--- + src/systemctl/systemctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-07-08 10:57:30.170735691 +0000 +@@ -2710,6 +2710,7 @@ typedef struct UnitStatusInfo { + const char *status_text; + const char *pid_file; + bool running:1; ++ int status_errno; + + usec_t start_timestamp; + usec_t exit_timestamp; +@@ -2982,6 +2983,8 @@ static void print_status_info( + + if (i->status_text) + printf(" Status: \"%s\"\n", i->status_text); ++ if (i->status_errno > 0) ++ printf(" Error: %i (%s)\n", i->status_errno, strerror(i->status_errno)); + + if (i->control_group && + (i->main_pid > 0 || i->control_pid > 0 || cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, i->control_group, false) == 0)) { +@@ -3203,6 +3206,8 @@ static int status_property(const char *n + i->exit_code = (int) j; + else if (streq(name, "ExecMainStatus")) + i->exit_status = (int) j; ++ else if (streq(name, "StatusErrno")) ++ i->status_errno = (int) j; + + break; + } diff --git a/0007-service-flush-status-text-and-errno-values-each-time.patch b/0007-service-flush-status-text-and-errno-values-each-time.patch new file mode 100644 index 00000000..7dbe5a89 --- /dev/null +++ b/0007-service-flush-status-text-and-errno-values-each-time.patch @@ -0,0 +1,29 @@ +From 8cfdb077b8e3da1c47fc1d735d051f21f33144c1 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 17:33:46 +0200 +Subject: [PATCH] service: flush status text and errno values each time a + service is started + +We shouldn't show status texts from previous service starts +--- + src/core/service.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git src/core/service.c src/core/service.c +index d5aff99..0f542ed 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -1699,6 +1699,10 @@ static int service_start(Unit *u) { + s->main_pid_alien = false; + s->forbid_restart = false; + ++ free(s->status_text); ++ s->status_text = NULL; ++ s->status_errno = 0; ++ + service_enter_start_pre(s); + return 0; + } +-- +1.7.9.2 + diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch index 7daebb20..98500575 100644 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ b/1007-physical-hotplug-cpu-and-memory.patch @@ -1,6 +1,6 @@ ---- /dev/null -+++ systemd-206/rules/80-hotplug-cpu-mem.rules -@@ -0,0 +1,9 @@ +--- systemd-210/rules/80-hotplug-cpu-mem.rules ++++ systemd-210/rules/80-hotplug-cpu-mem.rules 2014-05-21 15:47:01.885605543 +0000 +@@ -0,0 +1,12 @@ +# do not edit this file, it will be overwritten on update + +# Hotplug physical CPU @@ -9,9 +9,12 @@ + +# Hotplug physical memory +SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ -+ ATTR{state}="online" ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am ++ ATTR{state}="online", TAG+="tmpfs" ++ ++# ++TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am @@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \ rules/73-seat-numlock.rules diff --git a/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch b/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch new file mode 100644 index 00000000..6b3d7ec6 --- /dev/null +++ b/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch @@ -0,0 +1,36 @@ +Based on a669ea9860900d5cdebbc4cb9aaea72db7e28a02 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 7 Jul 2014 14:50:16 +0200 +Subject: [PATCH] udev: link_config - ignore errors due to missing MAC address + +Otherwis, we get misleading error messages on links with MACs. + +Reported by Leonid Isaev. +--- + src/udev/net/link-config.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c 2014-07-08 10:44:19.450735575 +0000 +@@ -440,7 +440,9 @@ int link_config_apply(link_config_ctx *c + case MACPOLICY_PERSISTENT: + if (!mac_is_permanent(device)) { + r = get_mac(device, false, &generated_mac); +- if (r < 0) ++ if (r == -ENOENT) ++ break; ++ else if (r < 0) + return r; + mac = &generated_mac; + } +@@ -448,7 +450,9 @@ int link_config_apply(link_config_ctx *c + case MACPOLICY_RANDOM: + if (!mac_is_random(device)) { + r = get_mac(device, true, &generated_mac); +- if (r < 0) ++ if (r == -ENOENT) ++ break; ++ else if (r < 0) + return r; + mac = &generated_mac; + } diff --git a/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch b/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch new file mode 100644 index 00000000..5a89f11c --- /dev/null +++ b/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch @@ -0,0 +1,12 @@ +Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules ++++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +@@ -4,6 +4,7 @@ + + ACTION=="remove", GOTO="net-sriov-names_end" + SUBSYSTEM!="net", GOTO="net-sriov-names_end" ++KERNEL!="eth*", GOTO="net-sriov-names_end" + + IMPORT{cmdline}="net.ifnames" + ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index 8bec33f3..49b84eb0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,84 @@ +------------------------------------------------------------------- +Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com + +- Only rename SRIOV-VF devices if device name start with eth (bnc#885232). + Add 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch + +------------------------------------------------------------------- +Tue Jul 15 07:39:40 UTC 2014 - werner@suse.de + +- Add patch vhangup-on-all-consoles.patch that is do a vhangup on + lines (bnc#886599) + +------------------------------------------------------------------- +Tue Jul 15 06:29:54 UTC 2014 - jlee@suse.com + +- Removed %{_libexecdir}/modules-load.d/efivars.conf because the kernel + patch of autoload efivars driver accepted by linux-efi upstream. + (bnc#881559) + https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=be756a5327fe3d4686d74d3e9b273010424e230c + +------------------------------------------------------------------- +Mon Jul 14 14:53:21 UTC 2014 - werner@suse.de + +- Update patch + 1007-physical-hotplug-cpu-and-memory.patch (bnc#869603) +- Add script systemd-remount-tmpfs (bnc#869603) as helper script + for the rule changed in patch 1007-physical-hotplug-cpu-and-memory.patch + +------------------------------------------------------------------- +Mon Jul 14 11:43:12 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-event-pull-in-sd-event.h-from-event-util.h.patch + 0002-util-fix-has-cc-check-and-add-test.patch + 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch + 0004-fileio-quote-more-shell-characters-in-envfiles.patch + +------------------------------------------------------------------- +Fri Jul 11 12:21:06 UTC 2014 - werner@suse.de + +- Only on SLES12 seccomp is available on ppc64 and s390x + +------------------------------------------------------------------- +Thu Jul 10 13:33:32 UTC 2014 - werner@suse.de + +- Port and add upstream patch + 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch + +------------------------------------------------------------------- +Wed Jul 9 13:14:02 UTC 2014 - werner@suse.de + +- Add patches + 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch + 0002-hostnamed-add-a-new-chassis-type-for-watches.patch +- Port and add upstream patches + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-journal-compress-improve-xz-compression-performance.patch + +------------------------------------------------------------------- +Wed Jul 9 12:41:53 UTC 2014 - meissner@suse.com + +- enable seccomp also for ppc64 and s390x + +------------------------------------------------------------------- +Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de + +- Port and add upstream patches + 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0003-architecture-add-string-table-entries-for-mips-le-ar.patch + 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch + 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch + 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch + 0007-service-flush-status-text-and-errno-values-each-time.patch + +------------------------------------------------------------------ +Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de + +- Add upstream patch + 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch + ------------------------------------------------------------------- Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index ea36e8a2..4652a12c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -106,11 +106,17 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif +%if 0%{?suse_version} >= 1315 +%ifarch %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) +%endif +%else %if 0%{?suse_version} >= 1310 %ifarch %ix86 x86_64 x32 %arm BuildRequires: pkgconfig(libseccomp) %endif %endif +%endif %if ! 0%{?bootstrap} BuildRequires: libapparmor-devel %endif @@ -140,6 +146,7 @@ Requires: netcfg Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding +Requires: sysvinit-tools Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils @@ -176,6 +183,7 @@ Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink Source1063: udev-generate-peristent-rule.sh Source1064: systemd-sleep-grub +Source1065: systemd-remount-tmpfs # # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r @@ -653,6 +661,40 @@ Patch319: 0002-namespace-fix-uninitialized-memory-access.patch Patch320: 0001-machine-don-t-return-uninitialized-variable.patch # PATCH-FIX-UPSTREAM added at 2014/07/07 Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch330: 0002-journal-compress-improve-xz-compression-performance.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/10 +Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch335: 0002-util-fix-has-cc-check-and-add-test.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch +# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) +Patch338: vhangup-on-all-consoles.patch # UDEV PATCHES # ============ @@ -756,6 +798,10 @@ Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch # PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch +# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) +Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1235,6 +1281,23 @@ cp %{SOURCE7} m4/ %patch319 -p0 %patch320 -p0 %patch321 -p0 +%patch322 -p0 +%patch323 -p0 +%patch324 -p0 +%patch325 -p0 +%patch326 -p0 +%patch327 -p0 +%patch328 -p0 +%patch329 -p0 +%patch330 -p0 +%patch331 -p0 +%patch332 -p0 +%patch333 -p0 +%patch334 -p0 +%patch335 -p0 +%patch336 -p0 +%patch337 -p0 +%patch338 -p0 # udev patches %patch1001 -p1 @@ -1292,6 +1355,8 @@ cp %{SOURCE7} m4/ %patch1046 -p1 %patch1047 -p0 %patch1048 -p0 +%patch1049 -p0 +%patch1050 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -1466,6 +1531,7 @@ sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub +install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -1517,12 +1583,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time sg EOF -%if 0%{has_efi} -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/efivars.conf -# load efivars module at boot time -efivars -EOF -%endif # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual @@ -1985,9 +2045,6 @@ exit 0 %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%if 0%{has_efi} -%{_libexecdir}/modules-load.d/efivars.conf -%endif %dir %{_libexecdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d @@ -2168,6 +2225,7 @@ exit 0 %{_prefix}/lib/udev/write_dev_root_rule %{_prefix}/lib/udev/udev-generate-peristent-rule %{_prefix}/lib/udev/net-set-sriov-names +%{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rule_generator.functions %{_prefix}/lib/udev/write_net_rules %dir %{_prefix}/lib/udev/rules.d/ diff --git a/systemd-remount-tmpfs b/systemd-remount-tmpfs new file mode 100644 index 00000000..2e326469 --- /dev/null +++ b/systemd-remount-tmpfs @@ -0,0 +1,15 @@ +#!/bin/sh + +PATH=/usr/bin:/bin:/usr/sbin:/sbin +DIR=$(sed -rn '/^#/d;\@^[[:graph:]]+[[:space:]]+/[[:graph:]]+[[:space:]]+tmpfs[[:space:]]+.*size=[0-9]+[kmg,[:space:]]@{ s@^[[:graph:]]+[[:space:]]+(/[[:graph:]]+).*@\1@p }' /etc/fstab) + +if [ -n "$DIR" ]; then + for i in $DIR; do + echo $i + mount -o remount "$i" >/dev/null 2>&1 + STATE=$? + if [ "$STATE" -gt 0 ]; then + logger "Remount of $i failed with state $STATE" + fi + done +fi diff --git a/systemd.changes b/systemd.changes index 8bec33f3..49b84eb0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,84 @@ +------------------------------------------------------------------- +Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com + +- Only rename SRIOV-VF devices if device name start with eth (bnc#885232). + Add 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch + +------------------------------------------------------------------- +Tue Jul 15 07:39:40 UTC 2014 - werner@suse.de + +- Add patch vhangup-on-all-consoles.patch that is do a vhangup on + lines (bnc#886599) + +------------------------------------------------------------------- +Tue Jul 15 06:29:54 UTC 2014 - jlee@suse.com + +- Removed %{_libexecdir}/modules-load.d/efivars.conf because the kernel + patch of autoload efivars driver accepted by linux-efi upstream. + (bnc#881559) + https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=be756a5327fe3d4686d74d3e9b273010424e230c + +------------------------------------------------------------------- +Mon Jul 14 14:53:21 UTC 2014 - werner@suse.de + +- Update patch + 1007-physical-hotplug-cpu-and-memory.patch (bnc#869603) +- Add script systemd-remount-tmpfs (bnc#869603) as helper script + for the rule changed in patch 1007-physical-hotplug-cpu-and-memory.patch + +------------------------------------------------------------------- +Mon Jul 14 11:43:12 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-event-pull-in-sd-event.h-from-event-util.h.patch + 0002-util-fix-has-cc-check-and-add-test.patch + 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch + 0004-fileio-quote-more-shell-characters-in-envfiles.patch + +------------------------------------------------------------------- +Fri Jul 11 12:21:06 UTC 2014 - werner@suse.de + +- Only on SLES12 seccomp is available on ppc64 and s390x + +------------------------------------------------------------------- +Thu Jul 10 13:33:32 UTC 2014 - werner@suse.de + +- Port and add upstream patch + 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch + +------------------------------------------------------------------- +Wed Jul 9 13:14:02 UTC 2014 - werner@suse.de + +- Add patches + 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch + 0002-hostnamed-add-a-new-chassis-type-for-watches.patch +- Port and add upstream patches + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-journal-compress-improve-xz-compression-performance.patch + +------------------------------------------------------------------- +Wed Jul 9 12:41:53 UTC 2014 - meissner@suse.com + +- enable seccomp also for ppc64 and s390x + +------------------------------------------------------------------- +Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de + +- Port and add upstream patches + 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0003-architecture-add-string-table-entries-for-mips-le-ar.patch + 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch + 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch + 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch + 0007-service-flush-status-text-and-errno-values-each-time.patch + +------------------------------------------------------------------ +Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de + +- Add upstream patch + 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch + ------------------------------------------------------------------- Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 6d3eac09..e9129035 100644 --- a/systemd.spec +++ b/systemd.spec @@ -101,11 +101,17 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif +%if 0%{?suse_version} >= 1315 +%ifarch %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) +%endif +%else %if 0%{?suse_version} >= 1310 %ifarch %ix86 x86_64 x32 %arm BuildRequires: pkgconfig(libseccomp) %endif %endif +%endif %if ! 0%{?bootstrap} BuildRequires: libapparmor-devel %endif @@ -135,6 +141,7 @@ Requires: netcfg Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding +Requires: sysvinit-tools Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils @@ -171,6 +178,7 @@ Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink Source1063: udev-generate-peristent-rule.sh Source1064: systemd-sleep-grub +Source1065: systemd-remount-tmpfs # # PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r @@ -648,6 +656,40 @@ Patch319: 0002-namespace-fix-uninitialized-memory-access.patch Patch320: 0001-machine-don-t-return-uninitialized-variable.patch # PATCH-FIX-UPSTREAM added at 2014/07/07 Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch330: 0002-journal-compress-improve-xz-compression-performance.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/10 +Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch335: 0002-util-fix-has-cc-check-and-add-test.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch +# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) +Patch338: vhangup-on-all-consoles.patch # UDEV PATCHES # ============ @@ -751,6 +793,10 @@ Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch # PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch +# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) +Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1230,6 +1276,23 @@ cp %{SOURCE7} m4/ %patch319 -p0 %patch320 -p0 %patch321 -p0 +%patch322 -p0 +%patch323 -p0 +%patch324 -p0 +%patch325 -p0 +%patch326 -p0 +%patch327 -p0 +%patch328 -p0 +%patch329 -p0 +%patch330 -p0 +%patch331 -p0 +%patch332 -p0 +%patch333 -p0 +%patch334 -p0 +%patch335 -p0 +%patch336 -p0 +%patch337 -p0 +%patch338 -p0 # udev patches %patch1001 -p1 @@ -1287,6 +1350,8 @@ cp %{SOURCE7} m4/ %patch1046 -p1 %patch1047 -p0 %patch1048 -p0 +%patch1049 -p0 +%patch1050 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -1461,6 +1526,7 @@ sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub +install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -1512,12 +1578,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time sg EOF -%if 0%{has_efi} -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/efivars.conf -# load efivars module at boot time -efivars -EOF -%endif # To avoid making life hard for Factory developers, don't package the # kernel.core_pattern setting until systemd-coredump is a part of an actual @@ -1980,9 +2040,6 @@ exit 0 %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%if 0%{has_efi} -%{_libexecdir}/modules-load.d/efivars.conf -%endif %dir %{_libexecdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d @@ -2163,6 +2220,7 @@ exit 0 %{_prefix}/lib/udev/write_dev_root_rule %{_prefix}/lib/udev/udev-generate-peristent-rule %{_prefix}/lib/udev/net-set-sriov-names +%{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rule_generator.functions %{_prefix}/lib/udev/write_net_rules %dir %{_prefix}/lib/udev/rules.d/ diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch new file mode 100644 index 00000000..b318b124 --- /dev/null +++ b/vhangup-on-all-consoles.patch @@ -0,0 +1,28 @@ +Related to bnc#886599 and others. That is use the vhangup(8) tool +to explicit do a virtually hangup on the specified on the terminal +line to give e.g. the bash a few seconds to e.g. safe its history. + +--- + units/getty@.service.m4 | 1 + + units/serial-getty@.service.m4 | 1 + + 2 files changed, 2 insertions(+) +--- units/getty@.service.m4 ++++ units/getty@.service.m4 2014-07-15 07:30:28.006235859 +0000 +@@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 + [Service] + # the VT is cleared by TTYVTDisallocate + ExecStart=-/sbin/agetty --noclear %I $TERM ++ExecStopPost=-/sbin/vhangup /dev/%I + Type=idle + Restart=always + RestartSec=0 +--- units/serial-getty@.service.m4 ++++ units/serial-getty@.service.m4 2014-07-15 07:30:01.366235017 +0000 +@@ -24,6 +24,7 @@ IgnoreOnIsolate=yes + + [Service] + ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 $TERM ++ExecStopPost=-/sbin/vhangup /dev/%I + Type=idle + Restart=always + RestartSec=0 From 828fb3456397e72b9b57592d56b280892d5eba8a7d1a92e4a06922dae0fb6f0e Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 18 Jul 2014 04:40:27 +0000 Subject: [PATCH 188/991] Accepting request 241318 from Base:System - Add upstream patches 0001-po-add-Ukrainian-translation.patch 0002-man-document-yearly-and-annually-in-systemd.time-7.patch 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch - Check if NAME key has a value before going thru the rule (bnc#885232). Add 1051-check-if-NAME-has-a-value.patch - Add upstream patches 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch 0002-units-serial-getty-.service-use-the-default-RestartS.patch 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - Add upstream patches 0001-po-add-Ukrainian-translation.patch 0002-man-document-yearly-and-annually-in-systemd.time-7.patch 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch - Check if NAME key has a value before going thru the rule (bnc#885232). Add 1051-check-if-NAME-has-a-value.patch - Add upstream patches 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch 0002-units-serial-getty-.service-use-the-default-RestartS.patch OBS-URL: https://build.opensuse.org/request/show/241318 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=193 --- ...on-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch | 110 +++++ 0001-fix-only-discover-Xen-domU.patch | 17 + 0001-po-add-Ukrainian-translation.patch | 406 ++++++++++++++++++ ...early-and-annually-in-systemd.time-7.patch | 49 +++ ...ty-.service-use-the-default-RestartS.patch | 29 ++ ...ge-when-inotify-watches-are-exhauste.patch | 30 ++ 1051-check-if-NAME-has-a-value.patch | 12 + ...-rules-uaccess-add-ID_SOFTWARE_RADIO.patch | 45 ++ systemd-mini.changes | 24 ++ systemd-mini.spec | 24 ++ systemd.changes | 24 ++ systemd.spec | 24 ++ 12 files changed, 794 insertions(+) create mode 100644 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch create mode 100644 0001-fix-only-discover-Xen-domU.patch create mode 100644 0001-po-add-Ukrainian-translation.patch create mode 100644 0002-man-document-yearly-and-annually-in-systemd.time-7.patch create mode 100644 0002-units-serial-getty-.service-use-the-default-RestartS.patch create mode 100644 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch create mode 100644 1051-check-if-NAME-has-a-value.patch create mode 100644 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch diff --git a/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch b/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch new file mode 100644 index 00000000..53ccbcf5 --- /dev/null +++ b/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch @@ -0,0 +1,110 @@ +Based on 874bc134ac6504c45e94174e37af13ff21a6bfe2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 14 Jul 2014 16:53:23 -0400 +Subject: [PATCH] Clear up confusion wrt. ENTRY_SIZE_MAX and DATA_SIZE_MAX + +Define DATA_SIZE_MAX to mean the maximum size of a single +field, and ENTRY_SIZE_MAX to mean the size of the whole +entry, with some rough calculation of overhead over the payload. + +Check if entries are not too big when processing native journal +messages. +--- + src/journal/coredump.c | 6 +++--- + src/journal/journald-native.c | 25 +++++++++++++++++++++---- + 2 files changed, 24 insertions(+), 7 deletions(-) +--- src/journal/coredump.c ++++ src/journal/coredump.c 2014-07-16 13:02:54.438235659 +0000 +@@ -38,10 +38,10 @@ + #include "cgroup-util.h" + + /* Few programs have less than 3MiB resident */ +-#define COREDUMP_MIN_START (3*1024*1024) ++#define COREDUMP_MIN_START (3*1024*1024u) + /* Make sure to not make this larger than the maximum journal entry +- * size. See ENTRY_SIZE_MAX in journald-native.c. */ +-#define COREDUMP_MAX (767*1024*1024) ++ * size. See DATA_SIZE_MAX in journald-native.c. */ ++#define COREDUMP_MAX (1024*1024*767u) + + enum { + ARG_PID = 1, +--- src/journal/journald-native.c ++++ src/journal/journald-native.c 2014-07-16 12:50:45.000000000 +0000 +@@ -34,8 +34,8 @@ + + /* Make sure not to make this smaller than the maximum coredump + * size. See COREDUMP_MAX in coredump.c */ +-#define ENTRY_SIZE_MAX (1024*1024*768) +-#define DATA_SIZE_MAX (1024*1024*768) ++#define ENTRY_SIZE_MAX (1024*1024*770u) ++#define DATA_SIZE_MAX (1024*1024*768u) + + static bool valid_user_field(const char *p, size_t l) { + const char *a; +@@ -86,7 +86,7 @@ void server_process_native_message( + struct iovec *iovec = NULL; + unsigned n = 0, j, tn = (unsigned) -1; + const char *p; +- size_t remaining, m = 0; ++ size_t remaining, m = 0, entry_size = 0; + int priority = LOG_INFO; + char *identifier = NULL, *message = NULL; + pid_t object_pid = 0; +@@ -110,9 +110,17 @@ void server_process_native_message( + + if (e == p) { + /* Entry separator */ ++ ++ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ ++ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", ++ n, entry_size); ++ continue; ++ } ++ + server_dispatch_message(s, iovec, n, m, ucred, tv, label, label_len, NULL, priority, object_pid); + n = 0; + priority = LOG_INFO; ++ entry_size = 0; + + p++; + remaining--; +@@ -150,6 +158,7 @@ void server_process_native_message( + iovec[n].iov_base = (char*) p; + iovec[n].iov_len = l; + n++; ++ entry_size += iovec[n].iov_len; + + /* We need to determine the priority + * of this entry for the rate limiting +@@ -218,7 +227,7 @@ void server_process_native_message( + l = le64toh(l_le); + + if (l > DATA_SIZE_MAX) { +- log_debug("Received binary data block too large, ignoring."); ++ log_debug("Received binary data block of %zu bytes is too large, ignoring.", l); + break; + } + +@@ -242,6 +251,7 @@ void server_process_native_message( + iovec[n].iov_base = k; + iovec[n].iov_len = (e - p) + 1 + l; + n++; ++ entry_size += iovec[n].iov_len; + } else + free(k); + +@@ -255,6 +265,13 @@ void server_process_native_message( + + tn = n++; + IOVEC_SET_STRING(iovec[tn], "_TRANSPORT=journal"); ++ entry_size += strlen("_TRANSPORT=journal"); ++ ++ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ ++ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", ++ n, entry_size); ++ goto finish; ++ } + + if (message) { + if (s->forward_to_syslog) diff --git a/0001-fix-only-discover-Xen-domU.patch b/0001-fix-only-discover-Xen-domU.patch new file mode 100644 index 00000000..c832f0a9 --- /dev/null +++ b/0001-fix-only-discover-Xen-domU.patch @@ -0,0 +1,17 @@ +Fix upstream patch patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +of the commit 37287585b6ba9a55065c8f94458f6db3c0abe0af +--- + systemd-210/src/shared/virt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- systemd-210/src/shared/virt.c ++++ systemd-210/src/shared/virt.c 2014-07-17 07:25:12.169628255 +0000 +@@ -174,7 +174,7 @@ + if (streq(cap, "control_d")) + break; + +- if (!i) { ++ if (!cap) { + _id = "xen"; + r = 1; + } diff --git a/0001-po-add-Ukrainian-translation.patch b/0001-po-add-Ukrainian-translation.patch new file mode 100644 index 00000000..b7dba0ee --- /dev/null +++ b/0001-po-add-Ukrainian-translation.patch @@ -0,0 +1,406 @@ +From 260b6323cc2aebe722d5b8e43fa63a502f906774 Mon Sep 17 00:00:00 2001 +From: Daniel Korostil +Date: Thu, 17 Jul 2014 02:07:29 +0300 +Subject: [PATCH] po: add Ukrainian translation + +--- + po/LINGUAS | 1 + + po/uk.po | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 378 insertions(+) + create mode 100644 po/uk.po + +diff --git po/LINGUAS po/LINGUAS +index 2cb0f30..f214ece 100644 +--- po/LINGUAS ++++ po/LINGUAS +@@ -4,3 +4,4 @@ fr + it + pl + ru ++uk +diff --git po/uk.po po/uk.po +new file mode 100644 +index 0000000..7a5212a +--- /dev/null ++++ po/uk.po +@@ -0,0 +1,377 @@ ++# Ukrainian translation for systemd. ++# Copyright (C) 2014 systemd's COPYRIGHT HOLDER ++# This file is distributed under the same license as the systemd package. ++# Eugene Melnik , 2014. ++# Daniel Korostil , 2014. ++msgid "" ++msgstr "" ++"Project-Id-Version: systemd master\n" ++"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" ++"temd&keywords=I18N+L10N&component=general\n" ++"POT-Creation-Date: 2014-06-06 22:16+0000\n" ++"PO-Revision-Date: 2014-07-16 19:13+0300\n" ++"Last-Translator: Daniel Korostil \n" ++"Language-Team: linux.org.ua\n" ++"Language: uk\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" ++"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Virtaal 0.7.1\n" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 ++msgid "Set host name" ++msgstr "Встановити назву вузла" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 ++msgid "Authentication is required to set the local host name." ++msgstr "Засвідчення потрібне, щоб встановити назву локального вузла." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 ++msgid "Set static host name" ++msgstr "Встановити статичну назву вузла" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 ++msgid "" ++"Authentication is required to set the statically configured local host name, " ++"as well as the pretty host name." ++msgstr "" ++"Засвідчення потрібне, щоб вказати статично налаштовану назву локального " ++"вузла, так само й форматовану." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 ++msgid "Set machine information" ++msgstr "Встановити інформацію про машину" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 ++msgid "Authentication is required to set local machine information." ++msgstr "Засвідчення потрібно, щоб вказати локальну інформацію про машини." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 ++msgid "Set system locale" ++msgstr "Вказати системну локаль" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 ++msgid "Authentication is required to set the system locale." ++msgstr "Засвідчення потрібно, щоб встановити системну локаль." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 ++msgid "Set system keyboard settings" ++msgstr "Вказати налаштування системної клавіатури" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 ++msgid "Authentication is required to set the system keyboard settings." ++msgstr "Засвідчення потрібно, щоб вказати налаштування системної клавіатури." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:1 ++msgid "Allow applications to inhibit system shutdown" ++msgstr "Дозволити програмам перешкоджати вимкненню системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:2 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"shutdown." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати вимкненню системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:3 ++msgid "Allow applications to delay system shutdown" ++msgstr "Дозволити програмам затримувати вимкнення системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:4 ++msgid "" ++"Authentication is required to allow an application to delay system shutdown." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам затримувати вимкнення системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:5 ++msgid "Allow applications to inhibit system sleep" ++msgstr "Дозволити програмам перешкоджати засинанню системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:6 ++msgid "" ++"Authentication is required to allow an application to inhibit system sleep." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати засинанню системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:7 ++msgid "Allow applications to delay system sleep" ++msgstr "Дозволити програмами затримувати засинання системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:8 ++msgid "" ++"Authentication is required to allow an application to delay system sleep." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам затримувати засинання системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:9 ++msgid "Allow applications to inhibit automatic system suspend" ++msgstr "Дозволити програмам перешкоджати автоматичному призупиненню системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:10 ++msgid "" ++"Authentication is required to allow an application to inhibit automatic " ++"system suspend." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати автоматичному " ++"призупиненню системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:11 ++msgid "Allow applications to inhibit system handling of the power key" ++msgstr "Дозволити програмам перешкоджати обробленню системою клавіші живлення" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:12 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the power key." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші живлення." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:13 ++msgid "Allow applications to inhibit system handling of the suspend key" ++msgstr "" ++"Дозволити програмам перешкоджати обробленню системою клавіші призупинення" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:14 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the suspend key." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші призупинення." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:15 ++msgid "Allow applications to inhibit system handling of the hibernate key" ++msgstr "Дозволити програмам перешкоджати обробленню системою клавіші присипання" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:16 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the hibernate key." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші присипання." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:17 ++msgid "Allow applications to inhibit system handling of the lid switch" ++msgstr "" ++"Дозволити програмам перешкоджати обробленню системою клавіші перемикання " ++"кришки" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:18 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the lid switch." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші перемикання кришки." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:19 ++msgid "Allow non-logged-in users to run programs" ++msgstr "Дозволити незареєстрованим користувачам запускати програми" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:20 ++msgid "" ++"Authentication is required to allow a non-logged-in user to run programs." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити незареєстрованим користувачам запускати " ++"програми." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:21 ++msgid "Allow attaching devices to seats" ++msgstr "Дозволити під'єднання пристроїв до місць" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:22 ++msgid "Authentication is required for attaching a device to a seat." ++msgstr "Засвідчення потрібно, щоб під'єднувати пристрої до місць." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:23 ++msgid "Flush device to seat attachments" ++msgstr "Очисний пристрій для під'єднань до місця" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:24 ++msgid "" ++"Authentication is required for resetting how devices are attached to seats." ++msgstr "Засвідчення потрібно, щоб перезапустити спосіб під'єднання до місць." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:25 ++msgid "Power off the system" ++msgstr "Вимкнути систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:26 ++msgid "Authentication is required for powering off the system." ++msgstr "Засвідчення потрібно, щоб вимкнути систему." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:27 ++msgid "Power off the system while other users are logged in" ++msgstr "Вимикнути систему, коли інші користувачі ще в ній" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:28 ++msgid "" ++"Authentication is required for powering off the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб вимкнути систему, коли інші користувачі в ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:29 ++msgid "Power off the system while an application asked to inhibit it" ++msgstr "Вимкнути систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:30 ++msgid "" ++"Authentication is required for powering off the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб вимкнути систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:31 ++msgid "Reboot the system" ++msgstr "Перезавантажити систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:32 ++msgid "Authentication is required for rebooting the system." ++msgstr "Для перезавантаження системи необхідна ідентифікація." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:33 ++msgid "Reboot the system while other users are logged in" ++msgstr "Перезавантажити, якщо інщі користувачі в системі" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:34 ++msgid "" ++"Authentication is required for rebooting the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб перезапустити систему, коли інші користувачі в " ++"ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:35 ++msgid "Reboot the system while an application asked to inhibit it" ++msgstr "Перезапустити систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:36 ++msgid "" ++"Authentication is required for rebooting the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб перезапустити систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:37 ++msgid "Suspend the system" ++msgstr "Призупинити систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:38 ++msgid "Authentication is required for suspending the system." ++msgstr "Засвідчення потрібно, щоб призупинити систему." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:39 ++msgid "Suspend the system while other users are logged in" ++msgstr "Призупинити систему, коли інші користувачі в ній" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:40 ++msgid "" ++"Authentication is required for suspending the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб призупинити систему, коли інші користувачі в ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:41 ++msgid "Suspend the system while an application asked to inhibit it" ++msgstr "Призупинити систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:42 ++msgid "" ++"Authentication is required for suspending the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб призупнити систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:43 ++msgid "Hibernate the system" ++msgstr "Приспати систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:44 ++msgid "Authentication is required for hibernating the system." ++msgstr "Засвідчення потрібно, щоб приспати систему." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:45 ++msgid "Hibernate the system while other users are logged in" ++msgstr "Приспати систему, коли інші користувачі в ній" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:46 ++msgid "" ++"Authentication is required for hibernating the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб присипання систему, коли інші користувачі в ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:47 ++msgid "Hibernate the system while an application asked to inhibit it" ++msgstr "Приспати систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:48 ++msgid "" ++"Authentication is required for hibernating the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб приспати систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 ++msgid "Set system time" ++msgstr "Вказати системний час" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 ++msgid "Authentication is required to set the system time." ++msgstr "Засвідчення потрібно, щоб вказати системний час." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 ++msgid "Set system timezone" ++msgstr "Вказати системний часовий пояс" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 ++msgid "Authentication is required to set the system timezone." ++msgstr "Засвідчення потрібно, щоб вказати системний часовий пояс." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 ++msgid "Set RTC to local timezone or UTC" ++msgstr "Вкажіть RTC для локального часового поясу або UTC" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 ++msgid "" ++"Authentication is required to control whether the RTC stores the local or " ++"UTC time." ++msgstr "Засвідчення потрібно, щоб контролювати, чи RTC зберігає час, чи UTC." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 ++msgid "Turn network time synchronization on or off" ++msgstr "Увімкнути або вимкнути синхронізування через мережу" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 ++msgid "" ++"Authentication is required to control whether network time synchronization " ++"shall be enabled." ++msgstr "" ++"Засвідчення потрібно, щоб контролювати, чи синхронізування часу через мережу " ++"запущено." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 ++msgid "Send passphrase back to system" ++msgstr "Надіслати пароль назад у систему" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 ++msgid "" ++"Authentication is required to send the entered passphrase back to the system." ++msgstr "Засвідчення потрібно, щоб надіслати введений пароль назад у систему." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 ++msgid "Privileged system and service manager access" ++msgstr "Привілейований доступ до менеджера системи і служб" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 ++msgid "Authentication is required to access the system and service manager." ++msgstr "Засвідчення потрібно, щоб доступитись до менеджера системи і служб." +-- +1.7.9.2 + diff --git a/0002-man-document-yearly-and-annually-in-systemd.time-7.patch b/0002-man-document-yearly-and-annually-in-systemd.time-7.patch new file mode 100644 index 00000000..521b22cc --- /dev/null +++ b/0002-man-document-yearly-and-annually-in-systemd.time-7.patch @@ -0,0 +1,49 @@ +From 8c275eef38bf7e3e592e4cb35a497522d1f15bb6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Jul 2014 22:17:29 -0400 +Subject: [PATCH] man: document yearly and annually in systemd.time(7) + +https://bugs.freedesktop.org/show_bug.cgi?id=81158 +--- + man/systemd.time.xml | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git man/systemd.time.xml man/systemd.time.xml +index 0706cdf..02431a5 100644 +--- man/systemd.time.xml ++++ man/systemd.time.xml +@@ -243,12 +243,16 @@ + + The special expressions + hourly, daily, +- monthly and weekly +- may be used as calendar events which refer to +- *-*-* *:00:00, *-*-* +- 00:00:00, *-*-01 00:00:00 and +- Mon *-*-* 00:00:00, +- respectively. ++ monthly, weekly, ++ and yearly or ++ annually may be used as calendar ++ events which refer to ++ *-*-* *:00:00, ++ *-*-* 00:00:00, ++ *-*-01 00:00:00, ++ Mon *-*-* 00:00:00, and ++ *-01-01 00:00:00 respectively. ++ + + Examples for valid timestamps and their + normalized form: +@@ -277,6 +281,8 @@ Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03 + daily → *-*-* 00:00:00 + monthly → *-*-01 00:00:00 + weekly → Mon *-*-* 00:00:00 ++ yearly → *-01-01 00:00:00 ++ annually → *-01-01 00:00:00 + *:2/3 → *-*-* *:02/3:00 + + Calendar events are used by timer units, see +-- +1.7.9.2 + diff --git a/0002-units-serial-getty-.service-use-the-default-RestartS.patch b/0002-units-serial-getty-.service-use-the-default-RestartS.patch new file mode 100644 index 00000000..3945e4cd --- /dev/null +++ b/0002-units-serial-getty-.service-use-the-default-RestartS.patch @@ -0,0 +1,29 @@ +Based on 4bf04322b8b7ecca4f3d65cfc642d0ac16356129 Mon Sep 17 00:00:00 2001 +From: Michael Olbrich +Date: Tue, 15 Jul 2014 18:28:10 +0200 +Subject: [PATCH] units/serial-getty@.service: use the default RestartSec + +For pluggable ttys such as USB serial devices, the getty is restarted +and exits in a loop until the remove event reaches systemd. Under +certain circumstances the restart loop can overload the system in a +way that prevents the remove event from reaching systemd for a long +time (e.g. at least several minutes on a small embedded system). + +Use the default RestartSec to prevent the restart loop from +overloading the system. Serial gettys are interactive units, so +waiting an extra 100ms really doesn't make a difference anyways +compared to the time it takes the user to log in. +--- + units/serial-getty@.service.m4 | 1 - + 1 file changed, 1 deletion(-) + +--- units/serial-getty@.service.m4 ++++ units/serial-getty@.service.m4 2014-07-16 00:00:00.000000000 +0000 +@@ -27,7 +27,6 @@ ExecStart=-/sbin/agetty --keep-baud %I 1 + ExecStopPost=-/sbin/vhangup /dev/%I + Type=idle + Restart=always +-RestartSec=0 + UtmpIdentifier=%I + TTYPath=/dev/%I + TTYReset=yes diff --git a/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch b/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch new file mode 100644 index 00000000..5a60b86b --- /dev/null +++ b/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch @@ -0,0 +1,30 @@ +From 18abe7bd3e13525b257da69ac49ff7841c289567 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Jul 2014 22:52:53 -0400 +Subject: [PATCH] core: nicer message when inotify watches are exhausted + +inotify_add_watch returns ENOSPC, which translates to +"No space left on device", which is misleading. + +https://bugs.freedesktop.org/show_bug.cgi?id=73628 +--- + src/core/path.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/core/path.c src/core/path.c +index 20e454d..f54c77f 100644 +--- src/core/path.c ++++ src/core/path.c +@@ -99,7 +99,8 @@ int path_spec_watch(PathSpec *s, sd_event_io_handler_t handler) { + break; + } + +- log_warning("Failed to add watch on %s: %m", s->path); ++ log_warning("Failed to add watch on %s: %s", s->path, ++ errno == ENOSPC ? "too many watches" : strerror(-r)); + r = -errno; + if (cut) + *cut = tmp; +-- +1.7.9.2 + diff --git a/1051-check-if-NAME-has-a-value.patch b/1051-check-if-NAME-has-a-value.patch new file mode 100644 index 00000000..3ea5f800 --- /dev/null +++ b/1051-check-if-NAME-has-a-value.patch @@ -0,0 +1,12 @@ +Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules ++++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +@@ -5,6 +5,7 @@ + ACTION=="remove", GOTO="net-sriov-names_end" + SUBSYSTEM!="net", GOTO="net-sriov-names_end" + KERNEL!="eth*", GOTO="net-sriov-names_end" ++NAME=="?*", GOTO="net-sriov-names_end" + + IMPORT{cmdline}="net.ifnames" + ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" diff --git a/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch b/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch new file mode 100644 index 00000000..edab1583 --- /dev/null +++ b/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch @@ -0,0 +1,45 @@ +From 30632d97d9d68c8202e562f34afae8f8d6e9c377 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 15 Jul 2014 17:35:53 +0200 +Subject: [PATCH] rules: uaccess - add ID_SOFTWARE_RADIO + +On Tue, Jul 15, 2014 at 1:52 PM, Alick Zhao wrote: +>>> +>>> So maybe ID_SOFTWARE_RADIO ? +>> +>> Hmm, SDR is more a term for a generic technology than for a device +>> class. To me it does not really sound like an administrator would know +>> what this is. +>> +>> What exactly is the device or subsystem you want to make accessible to +>> locally logged-in users only? +> +> Initially it is bladeRF, but many more are of interest: USRP, rtl-sdr, +> HackRF, ... [1] +> +> I agree an administrator might not know what SDR is, since it is +> currently still not widely known, and makes sense only for amateurs +> and researchers. But as a SDR fan, I see many new SDR peripherals +> are created recently, and expect to see more. So a generic ID seems +> reasonable to me. +> +> [1] http://en.wikipedia.org/wiki/List_of_software-defined_radios +--- + src/login/70-uaccess.rules | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/login/70-uaccess.rules src/login/70-uaccess.rules +index 57f619d..694df2c 100644 +--- src/login/70-uaccess.rules ++++ src/login/70-uaccess.rules +@@ -72,4 +72,7 @@ ENV{DDC_DEVICE}=="?*", TAG+="uaccess" + # media player raw devices (for user-mode drivers, Android SDK, etc.) + SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess" + ++# software-defined radio communication devices ++ENV{ID_SOFTWARE_RADIO}=="?*", TAG+="uaccess" ++ + LABEL="uaccess_end" +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 49b84eb0..f63d54dc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-po-add-Ukrainian-translation.patch + 0002-man-document-yearly-and-annually-in-systemd.time-7.patch + 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +- Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream + patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch + +------------------------------------------------------------------- +Thu Jul 17 06:32:51 UTC 2014 - rmilasan@suse.com + +- Check if NAME key has a value before going thru the rule (bnc#885232). + Add 1051-check-if-NAME-has-a-value.patch + +------------------------------------------------------------------- +Wed Jul 16 16:33:12 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch + 0002-units-serial-getty-.service-use-the-default-RestartS.patch + 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch + ------------------------------------------------------------------- Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 4652a12c..50f02669 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -695,6 +695,18 @@ Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch341: 0001-po-add-Ukrainian-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +# PATCH-FIX-SUSE Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +Patch344: 0001-fix-only-discover-Xen-domU.patch # UDEV PATCHES # ============ @@ -802,6 +814,10 @@ Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch +# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) +Patch1051: 1051-check-if-NAME-has-a-value.patch +# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1298,6 +1314,12 @@ cp %{SOURCE7} m4/ %patch336 -p0 %patch337 -p0 %patch338 -p0 +%patch339 -p0 +%patch340 -p0 +%patch341 -p0 +%patch342 -p0 +%patch343 -p0 +%patch344 -p1 # udev patches %patch1001 -p1 @@ -1357,6 +1379,8 @@ cp %{SOURCE7} m4/ %patch1048 -p0 %patch1049 -p0 %patch1050 -p1 +%patch1051 -p1 +%patch1052 -p0 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 49b84eb0..f63d54dc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-po-add-Ukrainian-translation.patch + 0002-man-document-yearly-and-annually-in-systemd.time-7.patch + 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +- Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream + patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch + +------------------------------------------------------------------- +Thu Jul 17 06:32:51 UTC 2014 - rmilasan@suse.com + +- Check if NAME key has a value before going thru the rule (bnc#885232). + Add 1051-check-if-NAME-has-a-value.patch + +------------------------------------------------------------------- +Wed Jul 16 16:33:12 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch + 0002-units-serial-getty-.service-use-the-default-RestartS.patch + 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch + ------------------------------------------------------------------- Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index e9129035..318788d6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -690,6 +690,18 @@ Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch341: 0001-po-add-Ukrainian-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +# PATCH-FIX-SUSE Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +Patch344: 0001-fix-only-discover-Xen-domU.patch # UDEV PATCHES # ============ @@ -797,6 +809,10 @@ Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch +# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) +Patch1051: 1051-check-if-NAME-has-a-value.patch +# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1293,6 +1309,12 @@ cp %{SOURCE7} m4/ %patch336 -p0 %patch337 -p0 %patch338 -p0 +%patch339 -p0 +%patch340 -p0 +%patch341 -p0 +%patch342 -p0 +%patch343 -p0 +%patch344 -p1 # udev patches %patch1001 -p1 @@ -1352,6 +1374,8 @@ cp %{SOURCE7} m4/ %patch1048 -p0 %patch1049 -p0 %patch1050 -p1 +%patch1051 -p1 +%patch1052 -p0 # ensure generate files are removed rm -f units/emergency.service From bc05a7952f91b3297035f90078802bdfcb4f8100a68e12fa104867c3b9d4fef2 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 23 Jul 2014 20:06:11 +0000 Subject: [PATCH 189/991] Accepting request 241980 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/241980 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=194 --- ...h-completion-p-option-for-journalctl.patch | 46 +++++ 0001-compress-fix-return-value.patch | 34 ++++ 0001-detect-s390-virt.patch | 35 ---- 0001-detect-virt-Fix-Xen-domU-discovery.patch | 33 ++++ 0001-fix-only-discover-Xen-domU.patch | 17 -- ...tect-virt-detect-s390-virtualization.patch | 72 ++++++++ ...re-verbose-when-bind-or-listen-fails.patch | 92 ++++++++++ ...rnalctl-man-allow-only-between-terms.patch | 109 ++++++++++++ 0003-Add-quotes-to-warning-message.patch | 41 +++++ ...-systemd-use-pager-for-test-and-help.patch | 111 ++++++++++++ ...the-first-error-from-manager_startup.patch | 57 +++++++ 1053-better-checks-in-write_net_rules.patch | 29 ++++ set-and-use-default-logconsole.patch | 159 ++++++++++++++++++ systemd-mini-rpmlintrc | 7 + systemd-mini.changes | 62 ++++++- systemd-mini.spec | 79 +++++++-- systemd-rpmlintrc | 7 + systemd.changes | 62 ++++++- systemd.spec | 79 +++++++-- 19 files changed, 1049 insertions(+), 82 deletions(-) create mode 100644 0001-bash-completion-p-option-for-journalctl.patch create mode 100644 0001-compress-fix-return-value.patch delete mode 100644 0001-detect-s390-virt.patch create mode 100644 0001-detect-virt-Fix-Xen-domU-discovery.patch delete mode 100644 0001-fix-only-discover-Xen-domU.patch create mode 100644 0001-systemd-detect-virt-detect-s390-virtualization.patch create mode 100644 0002-Be-more-verbose-when-bind-or-listen-fails.patch create mode 100644 0002-journalctl-man-allow-only-between-terms.patch create mode 100644 0003-Add-quotes-to-warning-message.patch create mode 100644 0003-systemd-use-pager-for-test-and-help.patch create mode 100644 0004-systemd-return-the-first-error-from-manager_startup.patch create mode 100644 1053-better-checks-in-write_net_rules.patch create mode 100644 set-and-use-default-logconsole.patch diff --git a/0001-bash-completion-p-option-for-journalctl.patch b/0001-bash-completion-p-option-for-journalctl.patch new file mode 100644 index 00000000..f41318f5 --- /dev/null +++ b/0001-bash-completion-p-option-for-journalctl.patch @@ -0,0 +1,46 @@ +From be8f4a9fa732d61e845e1ab1a62ac3a6b368d3a7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 19 Jul 2014 19:46:04 -0400 +Subject: [PATCH] bash-completion: -p option for journalctl + +--- + shell-completion/bash/journalctl | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git shell-completion/bash/journalctl shell-completion/bash/journalctl +index e4b2f4a..14dcd22 100644 +--- shell-completion/bash/journalctl ++++ shell-completion/bash/journalctl +@@ -35,6 +35,8 @@ __journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} + _UDEV_{SYSNAME,DEVNODE,DEVLINK} + __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) + ++__syslog_priorities=(emerg alert crit err warning notice info debug) ++ + _journalctl() { + local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} + local -A OPTS=( +@@ -44,8 +46,8 @@ _journalctl() { + --no-tail -q --quiet --setup-keys --this-boot --verify + --version --list-catalog --update-catalog --list-boots' + [ARG]='-b --boot --this-boot -D --directory --file -F --field +- -o --output -u --unit --user-unit' +- [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until ++ -o --output -u --unit --user-unit -p --priority' ++ [ARGUNKNOWN]='-c --cursor --interval -n --lines --since --until + --verify-key' + ) + +@@ -68,6 +70,9 @@ _journalctl() { + --field|-F) + comps=${__journal_fields[*]} + ;; ++ --priority|-p) ++ comps=${__syslog_priorities[*]} ++ ;; + --unit|-u) + comps=$(journalctl -F '_SYSTEMD_UNIT' 2>/dev/null) + ;; +-- +1.7.9.2 + diff --git a/0001-compress-fix-return-value.patch b/0001-compress-fix-return-value.patch new file mode 100644 index 00000000..b2e03c27 --- /dev/null +++ b/0001-compress-fix-return-value.patch @@ -0,0 +1,34 @@ +From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 18 Jul 2014 21:44:36 -0400 +Subject: [PATCH] compress: fix return value + +--- + src/journal/compress.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/journal/compress.c src/journal/compress.c +index 316c1a6..ee18bc8 100644 +--- src/journal/compress.c ++++ src/journal/compress.c +@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, + + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); + if (!greedy_realloc(dst, dst_alloc_size, space, 1)) +- return false; ++ return -ENOMEM; + + s.next_in = src; + s.avail_in = src_size; +@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); + if (!greedy_realloc(dst, dst_alloc_size, space, 1)) +- return false; ++ return -ENOMEM; + + s.avail_out = space - used; + s.next_out = *dst + used; +-- +1.7.9.2 + diff --git a/0001-detect-s390-virt.patch b/0001-detect-s390-virt.patch deleted file mode 100644 index 3a437118..00000000 --- a/0001-detect-s390-virt.patch +++ /dev/null @@ -1,35 +0,0 @@ -bnc#880438 - systemd-detect-virt doesn't work on System z - ---- systemd-210/src/shared/virt.c -+++ systemd-210/src/shared/virt.c 2014-06-26 07:55:30.081608729 +0000 -@@ -196,6 +196,30 @@ - } else - return r; - -+#if defined(__s390x__) -+ /* First layer virtualization (PR/SM) is always present on s390x */ -+ _id = "PR/SM"; -+ r = 1; -+ -+ /* Check for second layer virtualization */ -+ _cleanup_fclose_ FILE *f = NULL; -+ char line[LINE_MAX]; -+ f = fopen("/proc/sysinfo", "re"); -+ if (f) { -+ FOREACH_LINE(line, f, return -errno) { -+ if (startswith(line, "VM00 Control Program:")) { -+ if (strstr(line,"z/VM")) -+ _id = "z/VM"; -+ else if (strstr(line,"KVM/Linux")) -+ _id = "KVM"; -+ break; -+ } -+ } -+ } -+ -+ goto finish; -+#endif -+ - /* this will set _id to "other" and return 0 for unknown hypervisors */ - r = detect_vm_cpuid(&_id); - if (r != 0) diff --git a/0001-detect-virt-Fix-Xen-domU-discovery.patch b/0001-detect-virt-Fix-Xen-domU-discovery.patch new file mode 100644 index 00000000..8582f560 --- /dev/null +++ b/0001-detect-virt-Fix-Xen-domU-discovery.patch @@ -0,0 +1,33 @@ +From a71516dfd1858f37712ef52a288bf5fb274383e0 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Thu, 17 Jul 2014 11:25:37 +0200 +Subject: [PATCH] detect-virt: Fix Xen domU discovery + +The conditional for detection xen virtualization contained a little mistake. +It is checking for i to be empty: 'if (!i) {', but it must check for cap instead, +because: 'cap = strsep(&i, ",")' will set cap to the discovered value and i to +the next value after the separator. +Hence, i would be empty, if there is only control_d in domcap, leading to a wrong +domU detection. + +https://bugs.freedesktop.org/show_bug.cgi?id=77271 +--- + src/shared/virt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/virt.c src/shared/virt.c +index 774915f..20a8d7c 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -173,7 +173,7 @@ int detect_vm(const char **id) { + if (streq(cap, "control_d")) + break; + +- if (!i) { ++ if (!cap) { + _id = "xen"; + r = 1; + } +-- +1.7.9.2 + diff --git a/0001-fix-only-discover-Xen-domU.patch b/0001-fix-only-discover-Xen-domU.patch deleted file mode 100644 index c832f0a9..00000000 --- a/0001-fix-only-discover-Xen-domU.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix upstream patch patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -of the commit 37287585b6ba9a55065c8f94458f6db3c0abe0af ---- - systemd-210/src/shared/virt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- systemd-210/src/shared/virt.c -+++ systemd-210/src/shared/virt.c 2014-07-17 07:25:12.169628255 +0000 -@@ -174,7 +174,7 @@ - if (streq(cap, "control_d")) - break; - -- if (!i) { -+ if (!cap) { - _id = "xen"; - r = 1; - } diff --git a/0001-systemd-detect-virt-detect-s390-virtualization.patch b/0001-systemd-detect-virt-detect-s390-virtualization.patch new file mode 100644 index 00000000..300258fb --- /dev/null +++ b/0001-systemd-detect-virt-detect-s390-virtualization.patch @@ -0,0 +1,72 @@ +From f41925b4e442a34c93ad120ef1426c974a047ed1 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Fri, 18 Jul 2014 09:13:36 -0400 +Subject: [PATCH] systemd-detect-virt: detect s390 virtualization + +A system that is running on a logical partition (LPAR) provided by +PR/SM has access to physical hardware (except CPU). It is true that +PR/SM abstracts the hardware, but only for sharing purposes. + +Details are statet at: + +http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/eicaz/eicazzlpar.htm + +-->-- +In other words, PR/SM transforms physical resources into virtual resources so +that many logical partitions can share the same physical resources. +--<-- + +Still, from the OS point of view, the shared virtual resource is real +hardware. ConditionVirtualization must be set to false if the OS runs +directly on PR/SM (e.g. in an LPAR). + +[zj: reorder code so that variables are not allocated when #if-def is +false. Add commit message.] +--- + man/systemd.unit.xml | 1 + + src/shared/virt.c | 17 +++++++++++++++++ + 2 files changed, 18 insertions(+) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 6447584..86a8cbb 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -996,6 +996,7 @@ + virtualization solution, or one of + qemu, + kvm, ++ zvm, + vmware, + microsoft, + oracle, +diff --git src/shared/virt.c src/shared/virt.c +index 20a8d7c..b436895 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -220,6 +220,23 @@ int detect_vm(const char **id) { + goto finish; + } + ++#if defined(__s390__) ++ { ++ _cleanup_free_ char *t = NULL; ++ ++ r = get_status_field("/proc/sysinfo", "VM00 Control Program:", &t); ++ if (r >= 0) { ++ if (streq(t, "z/VM")) ++ _id = "zvm"; ++ else ++ _id = "kvm"; ++ r = 1; ++ ++ goto finish; ++ } ++ } ++#endif ++ + r = 0; + + finish: +-- +1.7.9.2 + diff --git a/0002-Be-more-verbose-when-bind-or-listen-fails.patch b/0002-Be-more-verbose-when-bind-or-listen-fails.patch new file mode 100644 index 00000000..0a8e80e6 --- /dev/null +++ b/0002-Be-more-verbose-when-bind-or-listen-fails.patch @@ -0,0 +1,92 @@ +Based on 6b9732b2bf0499c5e4ea8a9d4f6051d98033f680 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 3 Mar 2014 19:49:40 -0500 +Subject: [PATCH] Be more verbose when bind or listen fails + +Also be more verbose in devnode_acl_all(). +--- + src/core/manager.c | 2 +- + src/journal/journald-native.c | 2 +- + src/journal/journald-stream.c | 4 ++-- + src/journal/journald-syslog.c | 2 +- + src/login/logind-acl.c | 5 ++++- + src/shared/ask-password-api.c | 2 +- + 6 files changed, 10 insertions(+), 7 deletions(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-07-21 10:57:20.286367050 +0000 +@@ -571,7 +571,7 @@ static int manager_setup_notify(Manager + + r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); + return -errno; + } + +--- src/journal/journald-native.c ++++ src/journal/journald-native.c 2014-07-21 00:00:00.000000000 +0000 +@@ -405,7 +405,7 @@ int server_open_native_socket(Server*s) + + r = bind(s->native_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + return -errno; + } + +--- src/journal/journald-stream.c ++++ src/journal/journald-stream.c 2014-07-21 00:00:00.000000000 +0000 +@@ -447,14 +447,14 @@ int server_open_stdout_socket(Server *s) + + r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + return -errno; + } + + chmod(sa.un.sun_path, 0666); + + if (listen(s->stdout_fd, SOMAXCONN) < 0) { +- log_error("listen() failed: %m"); ++ log_error("listen(%s) failed: %m", sa.un.sun_path); + return -errno; + } + } else +--- src/journal/journald-syslog.c ++++ src/journal/journald-syslog.c 2014-07-21 00:00:00.000000000 +0000 +@@ -437,7 +437,7 @@ int server_open_syslog_socket(Server *s) + + r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + return -errno; + } + +--- src/login/logind-acl.c ++++ src/login/logind-acl.c 2014-07-21 10:59:04.986235573 +0000 +@@ -277,7 +277,10 @@ int devnode_acl_all(struct udev *udev, + SET_FOREACH(n, nodes, i) { + int k; + +- log_debug("Fixing up ACLs at %s for seat %s", n, seat); ++ log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"→"UID_FMT"%s%s)", ++ n, seat, old_uid, new_uid, ++ del ? " del" : "", add ? " add" : ""); ++ + k = devnode_acl(n, flush, del, old_uid, add, new_uid); + if (k < 0) + r = k; +--- src/shared/ask-password-api.c ++++ src/shared/ask-password-api.c 2014-07-21 00:00:00.000000000 +0000 +@@ -275,7 +275,7 @@ static int create_socket(char **name) { + + if (r < 0) { + r = -errno; +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + goto fail; + } + diff --git a/0002-journalctl-man-allow-only-between-terms.patch b/0002-journalctl-man-allow-only-between-terms.patch new file mode 100644 index 00000000..c29bdf6f --- /dev/null +++ b/0002-journalctl-man-allow-only-between-terms.patch @@ -0,0 +1,109 @@ +From 4e6029435111adcad71489aca2dd68bc65aeffd4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 19 Jul 2014 21:05:07 -0400 +Subject: [PATCH] journalctl,man: allow + only between terms + +https://bugzilla.redhat.com/show_bug.cgi?id=1110712 +--- + man/journalctl.xml | 19 +++++++++++++++---- + src/journal/journalctl.c | 20 +++++++++++++++++--- + 2 files changed, 32 insertions(+), 7 deletions(-) + +diff --git man/journalctl.xml man/journalctl.xml +index 47b5a05..df9c794 100644 +--- man/journalctl.xml ++++ man/journalctl.xml +@@ -84,10 +84,11 @@ + field, then they are automatically matched as + alternatives, i.e. the resulting output will show + entries matching any of the specified matches for the +- same field. Finally, if the character +- + appears as a separate word on the +- command line, all matches before and after are combined +- in a disjunction (i.e. logical OR). ++ same field. Finally, the character ++ + may appears as a separate word ++ between other terms on the command line. This causes ++ all matches before and after to be combined in a ++ disjunction (i.e. logical OR). + + As shortcuts for a few types of field/value + matches, file paths may be specified. If a file path +@@ -98,11 +99,21 @@ + _KERNEL_DEVICE= match for the + device. + ++ Additional contraints may be added using options ++ , , ++ etc, to futher limit what entries will be shown ++ (logical AND). ++ + Output is interleaved from all accessible + journal files, whether they are rotated or currently + being written, and regardless of whether they belong to the + system itself or are accessible user journals. + ++ The set of journal files which will be used ++ can be modified using the , ++ , , ++ and options, see below. ++ + All users are granted access to their private + per-user journals. However, by default, only root and + users who are members of the systemd-journal +diff --git src/journal/journalctl.c src/journal/journalctl.c +index 92e8286..7aedbf0 100644 +--- src/journal/journalctl.c ++++ src/journal/journalctl.c +@@ -699,15 +699,20 @@ static int generate_new_id128(void) { + + static int add_matches(sd_journal *j, char **args) { + char **i; ++ bool have_term = false; + + assert(j); + + STRV_FOREACH(i, args) { + int r; + +- if (streq(*i, "+")) ++ if (streq(*i, "+")) { ++ if (!have_term) ++ break; + r = sd_journal_add_disjunction(j); +- else if (path_is_absolute(*i)) { ++ have_term = false; ++ ++ } else if (path_is_absolute(*i)) { + _cleanup_free_ char *p, *t = NULL, *t2 = NULL; + const char *path; + _cleanup_free_ char *interpreter = NULL; +@@ -756,8 +761,12 @@ static int add_matches(sd_journal *j, char **args) { + r = sd_journal_add_match(j, t, 0); + if (t2) + r = sd_journal_add_match(j, t2, 0); +- } else ++ have_term = true; ++ ++ } else { + r = sd_journal_add_match(j, *i, 0); ++ have_term = true; ++ } + + if (r < 0) { + log_error("Failed to add match '%s': %s", *i, strerror(-r)); +@@ -765,6 +774,11 @@ static int add_matches(sd_journal *j, char **args) { + } + } + ++ if (!strv_isempty(args) && !have_term) { ++ log_error("\"+\" can only be used between terms"); ++ return -EINVAL; ++ } ++ + return 0; + } + +-- +1.7.9.2 + diff --git a/0003-Add-quotes-to-warning-message.patch b/0003-Add-quotes-to-warning-message.patch new file mode 100644 index 00000000..3a742bac --- /dev/null +++ b/0003-Add-quotes-to-warning-message.patch @@ -0,0 +1,41 @@ +From f0ea29eaeb3449822bfbdfa839b00e323dfc523e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 20 Jul 2014 19:47:42 -0400 +Subject: [PATCH] Add quotes to warning message + +The message for SYSTEMD_LOG_LEVEL= looked a bit strange. +--- + src/shared/log.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git src/shared/log.c src/shared/log.c +index 9039db3..3941e3e 100644 +--- src/shared/log.c ++++ src/shared/log.c +@@ -884,19 +884,19 @@ void log_parse_environment(void) { + + e = secure_getenv("SYSTEMD_LOG_TARGET"); + if (e && log_set_target_from_string(e) < 0) +- log_warning("Failed to parse log target %s. Ignoring.", e); ++ log_warning("Failed to parse log target '%s'. Ignoring.", e); + + e = secure_getenv("SYSTEMD_LOG_LEVEL"); + if (e && log_set_max_level_from_string(e) < 0) +- log_warning("Failed to parse log level %s. Ignoring.", e); ++ log_warning("Failed to parse log level '%s'. Ignoring.", e); + + e = secure_getenv("SYSTEMD_LOG_COLOR"); + if (e && log_show_color_from_string(e) < 0) +- log_warning("Failed to parse bool %s. Ignoring.", e); ++ log_warning("Failed to parse bool '%s'. Ignoring.", e); + + e = secure_getenv("SYSTEMD_LOG_LOCATION"); + if (e && log_show_location_from_string(e) < 0) +- log_warning("Failed to parse bool %s. Ignoring.", e); ++ log_warning("Failed to parse bool '%s'. Ignoring.", e); + } + + LogTarget log_get_target(void) { +-- +1.7.9.2 + diff --git a/0003-systemd-use-pager-for-test-and-help.patch b/0003-systemd-use-pager-for-test-and-help.patch new file mode 100644 index 00000000..a22e0b9d --- /dev/null +++ b/0003-systemd-use-pager-for-test-and-help.patch @@ -0,0 +1,111 @@ +From b87c2aa6bf1247c298c9bd9f56b9b56a87836b2d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 7 Jan 2014 00:00:05 -0500 +Subject: [PATCH] systemd: use pager for --test and --help + +--- + src/core/main.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git src/core/main.c src/core/main.c +index f9ee297..ae38b43 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -50,6 +50,7 @@ + #include "conf-parser.h" + #include "missing.h" + #include "label.h" ++#include "pager.h" + #include "build.h" + #include "strv.h" + #include "def.h" +@@ -94,6 +95,7 @@ static int arg_crash_chvt = -1; + static bool arg_confirm_spawn = false; + static ShowStatus arg_show_status = _SHOW_STATUS_UNSET; + static bool arg_switched_root = false; ++static int arg_no_pager = -1; + static char ***arg_join_controllers = NULL; + static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; + static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; +@@ -117,6 +119,14 @@ static bool arg_default_memory_accounting = false; + + static void nop_handler(int sig) {} + ++static void pager_open_if_enabled(void) { ++ ++ if (arg_no_pager <= 0) ++ return; ++ ++ pager_open(false); ++} ++ + noreturn static void crash(int sig) { + + if (getpid() != 1) +@@ -704,6 +714,7 @@ static int parse_argv(int argc, char *argv[]) { + ARG_SYSTEM, + ARG_USER, + ARG_TEST, ++ ARG_NO_PAGER, + ARG_VERSION, + ARG_DUMP_CONFIGURATION_ITEMS, + ARG_DUMP_CORE, +@@ -725,6 +736,7 @@ static int parse_argv(int argc, char *argv[]) { + { "system", no_argument, NULL, ARG_SYSTEM }, + { "user", no_argument, NULL, ARG_USER }, + { "test", no_argument, NULL, ARG_TEST }, ++ { "no-pager", no_argument, NULL, ARG_NO_PAGER }, + { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, ARG_VERSION }, + { "dump-configuration-items", no_argument, NULL, ARG_DUMP_CONFIGURATION_ITEMS }, +@@ -832,6 +844,12 @@ static int parse_argv(int argc, char *argv[]) { + + case ARG_TEST: + arg_action = ACTION_TEST; ++ if (arg_no_pager < 0) ++ arg_no_pager = true; ++ break; ++ ++ case ARG_NO_PAGER: ++ arg_no_pager = true; + break; + + case ARG_VERSION: +@@ -912,6 +930,8 @@ static int parse_argv(int argc, char *argv[]) { + + case 'h': + arg_action = ACTION_HELP; ++ if (arg_no_pager < 0) ++ arg_no_pager = true; + break; + + case 'D': +@@ -984,6 +1004,7 @@ static int help(void) { + "Starts up and maintains the system or user services.\n\n" + " -h --help Show this help\n" + " --test Determine startup sequence, dump it and exit\n" ++ " --no-pager Do not pipe output into a pager\n" + " --dump-configuration-items Dump understood unit configuration items\n" + " --unit=UNIT Set default unit\n" + " --system Run a system instance, even if PID != 1\n" +@@ -1452,6 +1473,8 @@ int main(int argc, char *argv[]) { + goto finish; + } + ++ pager_open_if_enabled(); ++ + if (arg_action == ACTION_HELP) { + retval = help(); + goto finish; +@@ -1798,6 +1821,8 @@ int main(int argc, char *argv[]) { + } + + finish: ++ pager_close(); ++ + if (m) { + manager_free(m); + m = NULL; +-- +1.7.9.2 + diff --git a/0004-systemd-return-the-first-error-from-manager_startup.patch b/0004-systemd-return-the-first-error-from-manager_startup.patch new file mode 100644 index 00000000..0db56a17 --- /dev/null +++ b/0004-systemd-return-the-first-error-from-manager_startup.patch @@ -0,0 +1,57 @@ +From 1cd974edfd7cd91dcdf321e7202bd220bac50a2d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 18 Jul 2014 17:05:18 -0400 +Subject: [PATCH] systemd: return the first error from manager_startup() + +--- + src/core/manager.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git src/core/manager.c src/core/manager.c +index 2e63c5e..0653d7e 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -1005,11 +1005,8 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + dual_timestamp_get(&m->units_load_finish_timestamp); + + /* Second, deserialize if there is something to deserialize */ +- if (serialization) { +- q = manager_deserialize(m, serialization, fds); +- if (q < 0) +- r = q; +- } ++ if (serialization) ++ r = manager_deserialize(m, serialization, fds); + + /* Any fds left? Find some unit which wants them. This is + * useful to allow container managers to pass some file +@@ -1017,13 +1014,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + * socket-based activation of entire containers. */ + if (fdset_size(fds) > 0) { + q = manager_distribute_fds(m, fds); +- if (q < 0) ++ if (q < 0 && r == 0) + r = q; + } + + /* We might have deserialized the notify fd, but if we didn't + * then let's create the bus now */ +- manager_setup_notify(m); ++ q = manager_setup_notify(m); ++ if (q < 0 && r == 0) ++ r = q; + + /* We might have deserialized the kdbus control fd, but if we + * didn't, then let's create the bus now. */ +@@ -1033,7 +1032,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + + /* Third, fire things up! */ + q = manager_coldplug(m); +- if (q < 0) ++ if (q < 0 && r == 0) + r = q; + + if (serialization) { +-- +1.7.9.2 + diff --git a/1053-better-checks-in-write_net_rules.patch b/1053-better-checks-in-write_net_rules.patch new file mode 100644 index 00000000..50e03693 --- /dev/null +++ b/1053-better-checks-in-write_net_rules.patch @@ -0,0 +1,29 @@ +Index: systemd-210/src/udev/rule_generator/write_net_rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/write_net_rules ++++ systemd-210/src/udev/rule_generator/write_net_rules +@@ -89,6 +89,12 @@ choose_rules_file + + # the DRIVERS key is needed to not match bridges and VLAN sub-interfaces + if [ "$MATCHADDR" ]; then ++ # Check if MACADDR doesn't exist already in the generated rules ++ MAC="$(/usr/bin/grep -w -o -C1 -m1 "$MATCHADDR" "$RULES_FILE" 2>/dev/null || true)" ++ if [ "$MAC" == "$MATCHADDR" ]; then ++ unlock_rules_file ++ exit 0 ++ fi + match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\"" + fi + +@@ -101,8 +107,9 @@ if [ "$MATCHDEVID" ]; then + fi + + if [ "$MATCHID" ]; then +- ID="$(find_all_rules 'KERNELS==' "$MATCHID")" +- if [ "$ID" == "$MATCHID" ]; then ++ # Check if KERNEL doesn't exist already in the generated rules ++ KERNEL="$(find_all_rules 'KERNELS==' "$MATCHID")" ++ if [ "$KERNEL" == "$MATCHID" ]; then + unlock_rules_file + exit 0 + fi diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch new file mode 100644 index 00000000..59c5ff56 --- /dev/null +++ b/set-and-use-default-logconsole.patch @@ -0,0 +1,159 @@ +Use and set default logging console for both journald and kernel messages + +--- + src/journal/journald-console.c | 96 +++++++++++++++++++++++++++++++++++++++++ + src/journal/journald-console.h | 4 + + src/journal/journald-server.c | 5 ++ + 3 files changed, 105 insertions(+) + +--- src/journal/journald-console.c ++++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +@@ -23,6 +23,14 @@ + #include + #include + #include ++#ifdef HAVE_SYSV_COMPAT ++# include ++# include ++# include ++# include ++# include ++# include "util.h" ++#endif + + #include "fileio.h" + #include "journald-server.h" +@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) { + return cached_printk_time; + } + ++#ifdef HAVE_SYSV_COMPAT ++void defaul_tty_path(Server *s) ++{ ++ static const char list[] = "/dev/tty10\0" "/dev/console\0"; ++ const char *vc; ++ ++ if (s->tty_path) ++ return; ++ ++ NULSTR_FOREACH(vc, list) { ++ _cleanup_close_ int fd = -1; ++ ++ if (access(vc, F_OK) < 0) ++ continue; ++ ++ fd = open_terminal(vc, O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ if (fd < 0) ++ continue; ++ ++ s->tty_path = strdup(vc); ++ break; ++ } ++} ++ ++void klogconsole(Server *s) ++{ ++ _cleanup_free_ char *klogconsole_params = NULL; ++ _cleanup_close_ int fd = -1; ++ const char *vc = s->tty_path; ++ const char *num; ++ int tiocl[2]; ++ int r; ++ ++ if (!vc || *vc == 0 || !strneq("/dev/tty", vc, 8)) ++ return; ++ ++ num = vc + strcspn(vc, "0123456789"); ++ if (safe_atoi(num, &r) < 0) ++ return; ++ ++ if (access(vc, F_OK) < 0) ++ return false; ++ ++ fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); ++ if (fd < 0) ++ return; ++ ++ tiocl[0] = TIOCL_SETKMSGREDIRECT; ++ tiocl[1] = r; ++ ++ if (ioctl(fd, TIOCLINUX, tiocl) < 0) ++ return; ++ ++ zero(klogconsole_params); ++ r = parse_env_file("/etc/sysconfig/boot", NEWLINE, ++ "KLOGCONSOLE_PARAMS", &klogconsole_params, ++ NULL); ++ if (r < 0) ++ return; ++ if (!klogconsole_params || *klogconsole_params == 0) ++ return; ++ ++ num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); ++ if (safe_atoi(num, &r) == 0) ++ klogctl(8, 0, r); ++} ++#endif ++ + void server_forward_console( + Server *s, + int priority, +@@ -63,6 +139,10 @@ void server_forward_console( + + if (LOG_PRI(priority) > s->max_level_console) + return; ++ ++ /* Do not write security/authorization (private) messages to console */ ++ if (priority & LOG_AUTHPRIV) ++ return; + + /* First: timestamp */ + if (prefix_timestamp()) { +@@ -101,7 +181,23 @@ void server_forward_console( + fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); + if (fd < 0) { + log_debug("Failed to open %s for logging: %m", tty); ++#ifdef HAVE_SYSV_COMPAT ++ if (fd != -ENOENT && fd != -ENODEV) ++ return; ++ if (tty != s->tty_path) ++ return; ++ if (!streq("/dev/console", tty)) { ++ if (s->tty_path) ++ free(s->tty_path); ++ s->tty_path = NULL; ++ tty = "/dev/console"; ++ fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ if (fd < 0) ++ return; ++ } ++#else + return; ++#endif + } + + if (writev(fd, iovec, n) < 0) +--- src/journal/journald-console.h ++++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +@@ -24,3 +24,7 @@ + #include "journald-server.h" + + void server_forward_console(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred); ++#ifdef HAVE_SYSV_COMPAT ++void klogconsole(Server *s); ++void defaul_tty_path(Server *s); ++#endif +--- src/journal/journald-server.c ++++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +@@ -1509,6 +1509,11 @@ int server_init(Server *s) { + + server_parse_config_file(s); + server_parse_proc_cmdline(s); ++ defaul_tty_path(s); ++ ++ if (s->tty_path) ++ klogconsole(s); ++ + if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { + log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0", + (long long unsigned) s->rate_limit_interval, diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 93db6de4..def95a7d 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -18,3 +18,10 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") +addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") +addFilter(".*files-duplicate.*/systemd-logger.*") +addFilter(".*missing-call-to-setgroups-before-setuid.*") +addFilter(".*missing-call-to-chdir-with-chroot.*") +addFilter(".*systemd-service-without-service.*") +addFilter(".*shlib-policy-missing-suffix.*") +addFilter(".*suse-missing-rclink.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index f63d54dc..bd231f90 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,55 @@ +------------------------------------------------------------------- +Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com + +- Enable better checks in write_net_rules to skip adding duplicated + entries in the generate rules (bnc#888178). + Add 1053-better-checks-in-write_net_rules.patch + +------------------------------------------------------------------- +Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de + +- Change patch set-and-use-default-logconsole.patch to avoid to + write security/authorization (private) messages to console + +------------------------------------------------------------------- +Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de + +- Add patch set-and-use-default-logconsole.patch to use and set + the default logging console for both journald and kernel messages + +------------------------------------------------------------------- +Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-bash-completion-p-option-for-journalctl.patch + 0002-journalctl-man-allow-only-between-terms.patch + 0003-systemd-use-pager-for-test-and-help.patch + +------------------------------------------------------------------- +Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de + +- Use verify scripts and add permission files for systemd logger +- Avoid useless warning about static systemd unit files +- Make pam file a config file +- Remove non-break-space from this changelog + +------------------------------------------------------------------- +Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-compress-fix-return-value.patch + 0002-Be-more-verbose-when-bind-or-listen-fails.patch + 0003-Add-quotes-to-warning-message.patch + 0004-systemd-return-the-first-error-from-manager_startup.patch + +------------------------------------------------------------------- +Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de + +- Replace patch 0001-fix-only-discover-Xen-domU.patch with + upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch +- Replace patch 0001-detect-s390-virt.patch with upstream + patch 0001-systemd-detect-virt-detect-s390-virtualization.patch + ------------------------------------------------------------------- Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de @@ -2504,15 +2556,15 @@ Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com may now be passed more than once. 'systemctl list-sockets' has been added. + systemd gained a new unit 'systemd-static-nodes.service' -    that generates static device nodes earlier during boot, and -    can run in conjunction with udev. + that generates static device nodes earlier during boot, and + can run in conjunction with udev. + systemd-nspawn now places all containers in the new /machine -    top-level cgroup directory in the name=systemd hierarchy. + top-level cgroup directory in the name=systemd hierarchy. + bootchart can now store its data in the journal. + journactl can now take multiple --unit= and --user-unit= -    switches. + switches. + The cryptsetup logic now understands the "luks.key=" kernel -    command line switch. If a configured key file is missing, it + line switch. If a configured key file is missing, it will fallback to prompting the user. - Rebase some patches - Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to diff --git a/systemd-mini.spec b/systemd-mini.spec index 50f02669..821ddb1c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -31,7 +31,8 @@ %else %define has_efi 0 %endif -%bcond_with udevsettle +%bcond_with udevsettle +%bcond_with permission Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -577,8 +578,8 @@ Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch Patch278: 0001-core-fix-invalid-free-in-killall.patch # PATCH-FIX-UPSTREAM added at 2014/06/17 Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch -# PATCH-FIX-SUSE detect virtualization layers on S390 (bnc#880438) -Patch280: 0001-detect-s390-virt.patch +# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) +Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch # PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch # PATCH-FIX-UPSTREAM added at 2014/06/24 @@ -705,8 +706,24 @@ Patch341: 0001-po-add-Ukrainian-translation.patch Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch # PATCH-FIX-UPSTREAM added at 2014/07/17 Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -# PATCH-FIX-SUSE Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -Patch344: 0001-fix-only-discover-Xen-domU.patch +# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch345: 0001-compress-fix-return-value.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch347: 0003-Add-quotes-to-warning-message.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch349: 0001-bash-completion-p-option-for-journalctl.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch350: 0002-journalctl-man-allow-only-between-terms.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch351: 0003-systemd-use-pager-for-test-and-help.patch +# PATCH-FIX-SUSE +Patch352: set-and-use-default-logconsole.patch # UDEV PATCHES # ============ @@ -818,6 +835,8 @@ Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patc Patch1051: 1051-check-if-NAME-has-a-value.patch # PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) +Patch1053: 1053-better-checks-in-write_net_rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -992,6 +1011,7 @@ Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/getent Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl +Requires(post): permissions Conflicts: otherproviders(syslog) %description logger @@ -1255,7 +1275,7 @@ cp %{SOURCE7} m4/ %patch277 -p0 %patch278 -p0 %patch279 -p0 -%patch280 -p1 +%patch280 -p0 %patch281 -p1 %patch282 -p0 %patch283 -p0 @@ -1319,7 +1339,15 @@ cp %{SOURCE7} m4/ %patch341 -p0 %patch342 -p0 %patch343 -p0 -%patch344 -p1 +%patch344 -p0 +%patch345 -p0 +%patch346 -p0 +%patch347 -p0 +%patch348 -p0 +%patch349 -p0 +%patch350 -p0 +%patch351 -p0 +%patch352 -p0 # udev patches %patch1001 -p1 @@ -1381,6 +1409,7 @@ cp %{SOURCE7} m4/ %patch1050 -p1 %patch1051 -p1 %patch1052 -p0 +%patch1053 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -1408,6 +1437,14 @@ do done %endif +# +# In combination with Patch352 set-and-use-default-logconsole.patch +# Ensure that journald log on tty10 +# +%ifarch %ix86 x86_64 x32 +sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf +%endif + %build cflags () { @@ -1751,6 +1788,17 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done +# Add permission files for logger +%if %{with permission} +mkdir -p %{buildroot}%{_sysconfdir}/permissions.d +cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger <<-'EOF' + %{_localstatedir}/log/journal/ root:systemd-journal 2755 +EOF +cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger.paranoid <<-'EOF' + %{_localstatedir}/log/journal/ root:systemd-journal 2755 +EOF +%endif + %find_lang systemd %pre @@ -1922,11 +1970,19 @@ fi %postun -n libgudev-1_0-0 -p /sbin/ldconfig +%if %{with permission} +%verifyscript logger +%verify_permissions -e %{_localstatedir}/log/journal +%endif + %pre logger getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post logger +%if %{with permission} +%set_permissions %{_localstatedir}/log/journal +%endif getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : if [ "$1" -eq 1 ]; then @@ -1960,7 +2016,7 @@ exit 0 %endif -%files +%files -f systemd.lang %defattr(-,root,root) /bin/systemd /bin/systemd-ask-password @@ -2064,7 +2120,7 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so -/etc/pam.d/systemd-user +%config /etc/pam.d/systemd-user %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d @@ -2132,7 +2188,6 @@ exit 0 %exclude %{_datadir}/systemd/gatewayd %endif %{_datadir}/systemd -%{_datadir}/locale/*/LC_MESSAGES %if ! 0%{?bootstrap} # Packaged in sysvinit subpackage @@ -2329,6 +2384,10 @@ exit 0 %files logger %defattr(-,root,root) +%if %{with permission} +%config %{_sysconfdir}/permissions.d/systemd-logger +%config %{_sysconfdir}/permissions.d/systemd-logger.paranoid +%endif %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal %{_localstatedir}/log/README /etc/init.d/systemd-journald diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 93db6de4..def95a7d 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -18,3 +18,10 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") +addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") +addFilter(".*files-duplicate.*/systemd-logger.*") +addFilter(".*missing-call-to-setgroups-before-setuid.*") +addFilter(".*missing-call-to-chdir-with-chroot.*") +addFilter(".*systemd-service-without-service.*") +addFilter(".*shlib-policy-missing-suffix.*") +addFilter(".*suse-missing-rclink.*") diff --git a/systemd.changes b/systemd.changes index f63d54dc..bd231f90 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,55 @@ +------------------------------------------------------------------- +Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com + +- Enable better checks in write_net_rules to skip adding duplicated + entries in the generate rules (bnc#888178). + Add 1053-better-checks-in-write_net_rules.patch + +------------------------------------------------------------------- +Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de + +- Change patch set-and-use-default-logconsole.patch to avoid to + write security/authorization (private) messages to console + +------------------------------------------------------------------- +Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de + +- Add patch set-and-use-default-logconsole.patch to use and set + the default logging console for both journald and kernel messages + +------------------------------------------------------------------- +Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-bash-completion-p-option-for-journalctl.patch + 0002-journalctl-man-allow-only-between-terms.patch + 0003-systemd-use-pager-for-test-and-help.patch + +------------------------------------------------------------------- +Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de + +- Use verify scripts and add permission files for systemd logger +- Avoid useless warning about static systemd unit files +- Make pam file a config file +- Remove non-break-space from this changelog + +------------------------------------------------------------------- +Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-compress-fix-return-value.patch + 0002-Be-more-verbose-when-bind-or-listen-fails.patch + 0003-Add-quotes-to-warning-message.patch + 0004-systemd-return-the-first-error-from-manager_startup.patch + +------------------------------------------------------------------- +Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de + +- Replace patch 0001-fix-only-discover-Xen-domU.patch with + upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch +- Replace patch 0001-detect-s390-virt.patch with upstream + patch 0001-systemd-detect-virt-detect-s390-virtualization.patch + ------------------------------------------------------------------- Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de @@ -2504,15 +2556,15 @@ Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com may now be passed more than once. 'systemctl list-sockets' has been added. + systemd gained a new unit 'systemd-static-nodes.service' -    that generates static device nodes earlier during boot, and -    can run in conjunction with udev. + that generates static device nodes earlier during boot, and + can run in conjunction with udev. + systemd-nspawn now places all containers in the new /machine -    top-level cgroup directory in the name=systemd hierarchy. + top-level cgroup directory in the name=systemd hierarchy. + bootchart can now store its data in the journal. + journactl can now take multiple --unit= and --user-unit= -    switches. + switches. + The cryptsetup logic now understands the "luks.key=" kernel -    command line switch. If a configured key file is missing, it + line switch. If a configured key file is missing, it will fallback to prompting the user. - Rebase some patches - Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to diff --git a/systemd.spec b/systemd.spec index 318788d6..0e5ecf3a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -29,7 +29,8 @@ %else %define has_efi 0 %endif -%bcond_with udevsettle +%bcond_with udevsettle +%bcond_with permission Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -572,8 +573,8 @@ Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch Patch278: 0001-core-fix-invalid-free-in-killall.patch # PATCH-FIX-UPSTREAM added at 2014/06/17 Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch -# PATCH-FIX-SUSE detect virtualization layers on S390 (bnc#880438) -Patch280: 0001-detect-s390-virt.patch +# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) +Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch # PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch # PATCH-FIX-UPSTREAM added at 2014/06/24 @@ -700,8 +701,24 @@ Patch341: 0001-po-add-Ukrainian-translation.patch Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch # PATCH-FIX-UPSTREAM added at 2014/07/17 Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -# PATCH-FIX-SUSE Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -Patch344: 0001-fix-only-discover-Xen-domU.patch +# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch345: 0001-compress-fix-return-value.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch347: 0003-Add-quotes-to-warning-message.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch349: 0001-bash-completion-p-option-for-journalctl.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch350: 0002-journalctl-man-allow-only-between-terms.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch351: 0003-systemd-use-pager-for-test-and-help.patch +# PATCH-FIX-SUSE +Patch352: set-and-use-default-logconsole.patch # UDEV PATCHES # ============ @@ -813,6 +830,8 @@ Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patc Patch1051: 1051-check-if-NAME-has-a-value.patch # PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) +Patch1053: 1053-better-checks-in-write_net_rules.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -987,6 +1006,7 @@ Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/getent Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl +Requires(post): permissions Conflicts: otherproviders(syslog) %description logger @@ -1250,7 +1270,7 @@ cp %{SOURCE7} m4/ %patch277 -p0 %patch278 -p0 %patch279 -p0 -%patch280 -p1 +%patch280 -p0 %patch281 -p1 %patch282 -p0 %patch283 -p0 @@ -1314,7 +1334,15 @@ cp %{SOURCE7} m4/ %patch341 -p0 %patch342 -p0 %patch343 -p0 -%patch344 -p1 +%patch344 -p0 +%patch345 -p0 +%patch346 -p0 +%patch347 -p0 +%patch348 -p0 +%patch349 -p0 +%patch350 -p0 +%patch351 -p0 +%patch352 -p0 # udev patches %patch1001 -p1 @@ -1376,6 +1404,7 @@ cp %{SOURCE7} m4/ %patch1050 -p1 %patch1051 -p1 %patch1052 -p0 +%patch1053 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -1403,6 +1432,14 @@ do done %endif +# +# In combination with Patch352 set-and-use-default-logconsole.patch +# Ensure that journald log on tty10 +# +%ifarch %ix86 x86_64 x32 +sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf +%endif + %build cflags () { @@ -1746,6 +1783,17 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done +# Add permission files for logger +%if %{with permission} +mkdir -p %{buildroot}%{_sysconfdir}/permissions.d +cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger <<-'EOF' + %{_localstatedir}/log/journal/ root:systemd-journal 2755 +EOF +cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger.paranoid <<-'EOF' + %{_localstatedir}/log/journal/ root:systemd-journal 2755 +EOF +%endif + %find_lang systemd %pre @@ -1917,11 +1965,19 @@ fi %postun -n libgudev-1_0-0 -p /sbin/ldconfig +%if %{with permission} +%verifyscript logger +%verify_permissions -e %{_localstatedir}/log/journal +%endif + %pre logger getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post logger +%if %{with permission} +%set_permissions %{_localstatedir}/log/journal +%endif getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : if [ "$1" -eq 1 ]; then @@ -1955,7 +2011,7 @@ exit 0 %endif -%files +%files -f systemd.lang %defattr(-,root,root) /bin/systemd /bin/systemd-ask-password @@ -2059,7 +2115,7 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so -/etc/pam.d/systemd-user +%config /etc/pam.d/systemd-user %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d @@ -2127,7 +2183,6 @@ exit 0 %exclude %{_datadir}/systemd/gatewayd %endif %{_datadir}/systemd -%{_datadir}/locale/*/LC_MESSAGES %if ! 0%{?bootstrap} # Packaged in sysvinit subpackage @@ -2324,6 +2379,10 @@ exit 0 %files logger %defattr(-,root,root) +%if %{with permission} +%config %{_sysconfdir}/permissions.d/systemd-logger +%config %{_sysconfdir}/permissions.d/systemd-logger.paranoid +%endif %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal %{_localstatedir}/log/README /etc/init.d/systemd-journald From c14a1e98d3adbdebd5ca5a11603ded60eeb3786fd6c979a53f8807367ec2defc Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 26 Jul 2014 10:19:44 +0000 Subject: [PATCH 190/991] Accepting request 242359 from Base:System - Disable blkrrpart for SLES12 and below - Add upstream patch 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - Add with condition blkrrpart to be able to disable the patches 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 which uses the BLKRRPART ioctl for e.g. synthesize change events which may interfere with other tools like parted. - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. - Also change udev-generate-peristent-rule to udev-generate-persistent-rule OBS-URL: https://build.opensuse.org/request/show/242359 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195 --- 0001-compress-fix-return-value.patch | 34 ------- ...core-close-socket-fds-asynchronously.patch | 21 ++++- ...-return-early-in-uncompress_startswi.patch | 34 ++++--- ...der-tabs-special-in-string_has_cc-an.patch | 53 ++++------- ...le-setup-run-setfont-before-loadkeys.patch | 93 ++++++++++--------- ...der-failure-when-reading-drop-ins-fa.patch | 30 +++--- ...fsck-implementation-linked-to-bin-tr.patch | 22 ++++- ...from-block-device-ownership-event-lo.patch | 53 +++++++++++ apply-ACL-for-nvidia-device-nodes.patch | 12 ++- ...plock-and-compose_table-and-kbd_rate.patch | 60 ++++++------ ...lock-value-in-etc-sysconfig-keyboard.patch | 58 +++++++----- keep-crypt-password-prompt.patch | 14 +-- log-target-null-instead-kmsg.patch | 40 ++++---- parse-crypttab-for-noauto-option.patch | 19 ++-- set-and-use-default-logconsole.patch | 28 +++--- systemd-mini.changes | 52 ++++++++++- systemd-mini.spec | 30 ++++-- systemd.changes | 52 ++++++++++- systemd.spec | 30 ++++-- ...ule.sh => udev-generate-persistent-rule.sh | 0 20 files changed, 467 insertions(+), 268 deletions(-) delete mode 100644 0001-compress-fix-return-value.patch create mode 100644 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch rename udev-generate-peristent-rule.sh => udev-generate-persistent-rule.sh (100%) diff --git a/0001-compress-fix-return-value.patch b/0001-compress-fix-return-value.patch deleted file mode 100644 index b2e03c27..00000000 --- a/0001-compress-fix-return-value.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - diff --git a/0001-core-close-socket-fds-asynchronously.patch b/0001-core-close-socket-fds-asynchronously.patch index b94b3802..90649f90 100644 --- a/0001-core-close-socket-fds-asynchronously.patch +++ b/0001-core-close-socket-fds-asynchronously.patch @@ -9,8 +9,10 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include #include @@ -37,8 +39,10 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); diff --git a/0001-journal-compress-return-early-in-uncompress_startswi.patch b/0001-journal-compress-return-early-in-uncompress_startswi.patch index 55476789..74777205 100644 --- a/0001-journal-compress-return-early-in-uncompress_startswi.patch +++ b/0001-journal-compress-return-early-in-uncompress_startswi.patch @@ -11,9 +11,19 @@ Reallocation policy was also strange. src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ Reallocation policy was also strange. assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ Reallocation policy was also strange. - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ Reallocation policy was also strange. ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ Reallocation policy was also strange. - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ Reallocation policy was also strange. } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ Reallocation policy was also strange. /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ Reallocation policy was also strange. - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ Reallocation policy was also strange. - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; diff --git a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch index aeb7ab26..7dd59ed5 100644 --- a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +++ b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch @@ -12,11 +12,11 @@ Instead, take a list of exceptions to our usual CC check src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ index 14629dd..514554d 100644 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ index b2e4553..20b208f 100644 return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ index fb1c1bc..b1de590 100644 fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ index d25ee66..d223ecf 100644 return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ index d25ee66..d223ecf 100644 return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ index e23069c..8544940 100644 /** * Check if a string contains any glob patterns. --- -1.7.9.2 - diff --git a/0002-vconsole-setup-run-setfont-before-loadkeys.patch b/0002-vconsole-setup-run-setfont-before-loadkeys.patch index dab9f876..7ef05c2d 100644 --- a/0002-vconsole-setup-run-setfont-before-loadkeys.patch +++ b/0002-vconsole-setup-run-setfont-before-loadkeys.patch @@ -16,8 +16,10 @@ in the original commit the keymap_load() follows. src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ in the original commit the keymap_load() follows. } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ in the original commit the keymap_load() follows. + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ diff --git a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch index 5ee22e2c..74a3f0e8 100644 --- a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +++ b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch @@ -9,9 +9,9 @@ if we can't, complain if we cannot, but don't fail. src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ index 546e560..f2ffc97 100644 return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ index 546e560..f2ffc97 100644 if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ index 546e560..f2ffc97 100644 } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ index 546e560..f2ffc97 100644 } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ index 546e560..f2ffc97 100644 } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ index 546e560..f2ffc97 100644 } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - diff --git a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch index 8c53718c..27bfc4e6 100644 --- a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +++ b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch @@ -9,9 +9,19 @@ Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { diff --git a/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch b/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch new file mode 100644 index 00000000..ecf11ad5 --- /dev/null +++ b/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch @@ -0,0 +1,53 @@ +From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 24 Jul 2014 23:37:35 +0200 +Subject: [PATCH] udev: exclude MD from block device ownership event locking + +MD instantiates devices at open(). This is incomptible with the +locking logic, as the "change" event emitted when stopping a +device will bring it back. +--- + src/udev/udevd.c | 23 +++++++---------------- + 1 file changed, 7 insertions(+), 16 deletions(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index a45d324..db935d6 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -285,26 +285,17 @@ static void worker_new(struct event *event) + udev_event->exec_delay = exec_delay; + + /* +- * Take a "read lock" on the device node; this establishes ++ * Take a shared lock on the device node; this establishes + * a concept of device "ownership" to serialize device +- * access. External processes holding a "write lock" will ++ * access. External processes holding an exclusive lock will + * cause udev to skip the event handling; in the case udev +- * acquired the lock, the external process will block until ++ * acquired the lock, the external process can block until + * udev has finished its event handling. + */ +- +- /* +- * since we make check - device seems unused - we try +- * ioctl to deactivate - and device is found to be opened +- * sure, you try to take a write lock +- * if you get it udev is out +- * if you can't get it, udev is busy +- * we cannot deactivate openned device (as it is in-use) +- * maybe we should just exclude dm from that thing entirely +- * IMHO this sounds like a good plan for this moment +- */ +- if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- !startswith(udev_device_get_sysname(dev), "dm-")) { ++ if (!streq_ptr(udev_device_get_action(dev), "remove") && ++ streq_ptr("block", udev_device_get_subsystem(dev)) && ++ !startswith(udev_device_get_sysname(dev), "dm-") && ++ !startswith(udev_device_get_sysname(dev), "md")) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +-- +1.7.9.2 + diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index f17d6ede..d151032e 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -7,18 +7,20 @@ set ACL on nvidia devices (bnc#808319). logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index a6193b65..96213505 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -7,8 +7,10 @@ Subject: handle disable_caplock and compose_table and kbd_rate src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ Subject: handle disable_caplock and compose_table and kbd_rate pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); + -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ Subject: handle disable_caplock and compose_table and kbd_rate font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ Subject: handle disable_caplock and compose_table and kbd_rate if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 023e66a2..4278436c 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,8 +6,10 @@ Authors: Stanislav Brabec Cristian Rodríguez ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ Cristian Rodríguez pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ Cristian Rodríguez + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ Cristian Rodríguez #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ Cristian Rodríguez #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ Cristian Rodríguez if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ Cristian Rodríguez +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ Cristian Rodríguez + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target diff --git a/keep-crypt-password-prompt.patch b/keep-crypt-password-prompt.patch index 10ddf398..ba356b54 100644 --- a/keep-crypt-password-prompt.patch +++ b/keep-crypt-password-prompt.patch @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) diff --git a/log-target-null-instead-kmsg.patch b/log-target-null-instead-kmsg.patch index f1d429b6..4e715385 100644 --- a/log-target-null-instead-kmsg.patch +++ b/log-target-null-instead-kmsg.patch @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch index cb390f87..13f576db 100644 --- a/parse-crypttab-for-noauto-option.patch +++ b/parse-crypttab-for-noauto-option.patch @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index 59c5ff56..559892d5 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -6,8 +6,10 @@ Use and set default logging console for both journald and kernel messages src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include #include @@ -68,7 +70,7 @@ Use and set default logging console for both journald and kernel messages + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ Use and set default logging console for both journald and kernel messages void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ Use and set default logging console for both journald and kernel messages } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ Use and set default logging console for both journald and kernel messages +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); diff --git a/systemd-mini.changes b/systemd-mini.changes index bd231f90..f97f18df 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de + +- Disable blkrrpart for SLES12 and below + +------------------------------------------------------------------- +Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de + +- Add upstream patch + 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch +- Add with condition blkrrpart to be able to disable the patches + 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 + which uses the BLKRRPART ioctl for e.g. synthesize change events + which may interfere with other tools like parted. + +------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- +Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de + +- Also change udev-generate-peristent-rule to udev-generate-persistent-rule + in file list + +------------------------------------------------------------------- +Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com + +- Rename (fix typo in script name): + udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh + ------------------------------------------------------------------- Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com @@ -296,7 +346,7 @@ Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de - Add upstream patch 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it - fixes udevadm settle exit code which may had roken dracut scripts + fixes udevadm settle exit code which may had broken dracut scripts (bnc#884271 comment#18) ------------------------------------------------------------------- diff --git a/systemd-mini.spec b/systemd-mini.spec index 821ddb1c..98584596 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -31,8 +31,14 @@ %else %define has_efi 0 %endif -%bcond_with udevsettle %bcond_with permission +%if 0%{?suse_version} > 1315 +%bcond_without blkrrpart +%bcond_without udevsettle +%else +%bcond_with blkrrpart +%bcond_with udevsettle +%endif Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -182,7 +188,7 @@ Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink -Source1063: udev-generate-peristent-rule.sh +Source1063: udev-generate-persistent-rule.sh Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs @@ -709,8 +715,6 @@ Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -837,6 +841,8 @@ Patch1051: 1051-check-if-NAME-has-a-value.patch Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch +# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch +Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1340,7 +1346,6 @@ cp %{SOURCE7} m4/ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 @@ -1377,19 +1382,27 @@ cp %{SOURCE7} m4/ %endif %patch1023 -p0 %patch1024 -p0 +%if %{with blkrrpart} %patch1025 -p1 +%endif %patch1026 -p1 +%if %{with blkrrpart} %patch1027 -p1 +%endif %patch1028 -p1 +%if %{with blkrrpart} %patch1029 -p1 %patch1030 -p1 %patch1031 -p1 %patch1032 -p1 %patch1033 -p1 %patch1034 -p1 +%endif %patch1035 -p1 %patch1036 -p1 +%if %{with blkrrpart} %patch1037 -p1 +%endif %patch1038 -p0 %if %{with udevsettle} %patch1039 -p0 @@ -1410,6 +1423,9 @@ cp %{SOURCE7} m4/ %patch1051 -p1 %patch1052 -p0 %patch1053 -p1 +%if %{with blkrrpart} +%patch1054 -p0 +%endif # ensure generate files are removed rm -f units/emergency.service @@ -1590,7 +1606,7 @@ sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule +install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants @@ -2302,7 +2318,7 @@ exit 0 %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%{_prefix}/lib/udev/udev-generate-peristent-rule +%{_prefix}/lib/udev/udev-generate-persistent-rule %{_prefix}/lib/udev/net-set-sriov-names %{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rule_generator.functions diff --git a/systemd.changes b/systemd.changes index bd231f90..f97f18df 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de + +- Disable blkrrpart for SLES12 and below + +------------------------------------------------------------------- +Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de + +- Add upstream patch + 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch +- Add with condition blkrrpart to be able to disable the patches + 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 + which uses the BLKRRPART ioctl for e.g. synthesize change events + which may interfere with other tools like parted. + +------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- +Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de + +- Also change udev-generate-peristent-rule to udev-generate-persistent-rule + in file list + +------------------------------------------------------------------- +Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com + +- Rename (fix typo in script name): + udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh + ------------------------------------------------------------------- Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com @@ -296,7 +346,7 @@ Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de - Add upstream patch 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it - fixes udevadm settle exit code which may had roken dracut scripts + fixes udevadm settle exit code which may had broken dracut scripts (bnc#884271 comment#18) ------------------------------------------------------------------- diff --git a/systemd.spec b/systemd.spec index 0e5ecf3a..e151db11 100644 --- a/systemd.spec +++ b/systemd.spec @@ -29,8 +29,14 @@ %else %define has_efi 0 %endif -%bcond_with udevsettle %bcond_with permission +%if 0%{?suse_version} > 1315 +%bcond_without blkrrpart +%bcond_without udevsettle +%else +%bcond_with blkrrpart +%bcond_with udevsettle +%endif Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -177,7 +183,7 @@ Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule Source1062: systemd-udev-root-symlink -Source1063: udev-generate-peristent-rule.sh +Source1063: udev-generate-persistent-rule.sh Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs @@ -704,8 +710,6 @@ Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -832,6 +836,8 @@ Patch1051: 1051-check-if-NAME-has-a-value.patch Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch +# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch +Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1335,7 +1341,6 @@ cp %{SOURCE7} m4/ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 @@ -1372,19 +1377,27 @@ cp %{SOURCE7} m4/ %endif %patch1023 -p0 %patch1024 -p0 +%if %{with blkrrpart} %patch1025 -p1 +%endif %patch1026 -p1 +%if %{with blkrrpart} %patch1027 -p1 +%endif %patch1028 -p1 +%if %{with blkrrpart} %patch1029 -p1 %patch1030 -p1 %patch1031 -p1 %patch1032 -p1 %patch1033 -p1 %patch1034 -p1 +%endif %patch1035 -p1 %patch1036 -p1 +%if %{with blkrrpart} %patch1037 -p1 +%endif %patch1038 -p0 %if %{with udevsettle} %patch1039 -p0 @@ -1405,6 +1418,9 @@ cp %{SOURCE7} m4/ %patch1051 -p1 %patch1052 -p0 %patch1053 -p1 +%if %{with blkrrpart} +%patch1054 -p0 +%endif # ensure generate files are removed rm -f units/emergency.service @@ -1585,7 +1601,7 @@ sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule +install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants @@ -2297,7 +2313,7 @@ exit 0 %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%{_prefix}/lib/udev/udev-generate-peristent-rule +%{_prefix}/lib/udev/udev-generate-persistent-rule %{_prefix}/lib/udev/net-set-sriov-names %{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rule_generator.functions diff --git a/udev-generate-peristent-rule.sh b/udev-generate-persistent-rule.sh similarity index 100% rename from udev-generate-peristent-rule.sh rename to udev-generate-persistent-rule.sh From 20ad5f583e2c44f7deeea6b31193b0c271f3f2174d2c4da8996938efe9062df4 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 29 Jul 2014 19:21:37 +0000 Subject: [PATCH 191/991] Accepting request 242699 from Base:System - Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid rpmlink warning - Add upstream patches 0001-bus-proxyd-fix-incorrect-comparison.patch 0002-shell-completion-prevent-mangling-unit-names.patch 0003-Always-check-asprintf-return-code.patch 0004-bash-completion-use-list-unit-files-to-get-all-units.patch 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch 0006-parse_boolean-require-exact-matches.patch 0007-drop_duplicates-copy-full-BindMount-struct.patch 0008-shell-completion-prevent-mangling-unit-names-bash.patch 0009-journald-always-add-syslog-facility-for-messages-com.patch - Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid rpmlink warning - Add upstream patches 0001-bus-proxyd-fix-incorrect-comparison.patch 0002-shell-completion-prevent-mangling-unit-names.patch 0003-Always-check-asprintf-return-code.patch 0004-bash-completion-use-list-unit-files-to-get-all-units.patch 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch 0006-parse_boolean-require-exact-matches.patch 0007-drop_duplicates-copy-full-BindMount-struct.patch 0008-shell-completion-prevent-mangling-unit-names-bash.patch 0009-journald-always-add-syslog-facility-for-messages-com.patch OBS-URL: https://build.opensuse.org/request/show/242699 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=196 --- ...-bus-proxyd-fix-incorrect-comparison.patch | 21 ++ ...mpletion-prevent-mangling-unit-names.patch | 67 ++++++ 0003-Always-check-asprintf-return-code.patch | 223 ++++++++++++++++++ ...use-list-unit-files-to-get-all-units.patch | 39 +++ ...e-kernel-s-timezone-when-the-RTC-run.patch | 121 ++++++++++ ...-parse_boolean-require-exact-matches.patch | 48 ++++ ...uplicates-copy-full-BindMount-struct.patch | 31 +++ ...ion-prevent-mangling-unit-names-bash.patch | 87 +++++++ ...add-syslog-facility-for-messages-com.patch | 40 ++++ shut-up-rpmlint-on-var-log-journal.patch | 19 ++ systemd-mini.changes | 16 ++ systemd-mini.spec | 58 +++-- systemd.changes | 16 ++ systemd.spec | 58 +++-- 14 files changed, 802 insertions(+), 42 deletions(-) create mode 100644 0001-bus-proxyd-fix-incorrect-comparison.patch create mode 100644 0002-shell-completion-prevent-mangling-unit-names.patch create mode 100644 0003-Always-check-asprintf-return-code.patch create mode 100644 0004-bash-completion-use-list-unit-files-to-get-all-units.patch create mode 100644 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch create mode 100644 0006-parse_boolean-require-exact-matches.patch create mode 100644 0007-drop_duplicates-copy-full-BindMount-struct.patch create mode 100644 0008-shell-completion-prevent-mangling-unit-names-bash.patch create mode 100644 0009-journald-always-add-syslog-facility-for-messages-com.patch create mode 100644 shut-up-rpmlint-on-var-log-journal.patch diff --git a/0001-bus-proxyd-fix-incorrect-comparison.patch b/0001-bus-proxyd-fix-incorrect-comparison.patch new file mode 100644 index 00000000..404e4c8d --- /dev/null +++ b/0001-bus-proxyd-fix-incorrect-comparison.patch @@ -0,0 +1,21 @@ +Based on e05aa2e02ba35d8b3741dddb79af3c802308414b Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 25 Jul 2014 10:25:06 +0200 +Subject: [PATCH] bus-proxyd: fix incorrect comparison + +We should be interested in k variable. +--- + src/bus-proxyd/bus-proxyd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/bus-proxyd/bus-proxyd.c ++++ src/bus-proxyd/bus-proxyd.c 2014-07-28 09:37:29.274735818 +0000 +@@ -698,7 +698,7 @@ int main(int argc, char *argv[]) { + + k = sd_bus_send(a, m, NULL); + if (k < 0) { +- if (r == -ECONNRESET) ++ if (k == -ECONNRESET) + r = 0; + else { + r = k; diff --git a/0002-shell-completion-prevent-mangling-unit-names.patch b/0002-shell-completion-prevent-mangling-unit-names.patch new file mode 100644 index 00000000..9d8b1324 --- /dev/null +++ b/0002-shell-completion-prevent-mangling-unit-names.patch @@ -0,0 +1,67 @@ +Based on 6d314eca15f6cbda38d82774b210f784d3d4f52a Mon Sep 17 00:00:00 2001 +From: Eric Cook +Date: Sat, 26 Jul 2014 11:15:52 -0400 +Subject: [PATCH] shell-completion: prevent mangling unit names + +Units with literal hex '\xFF' in their names has to be read +and printed properly. +dev-disk-byx2dlabel-root.device != dev-disk-by\x2dlabel-root.device +--- + shell-completion/zsh/_systemctl.in | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git shell-completion/zsh/_systemctl.in shell-completion/zsh/_systemctl.in +index d364d17..e681ec6 100644 +--- shell-completion/zsh/_systemctl ++++ shell-completion/zsh/_systemctl +@@ -100,7 +100,7 @@ _systemctl_all_units() + if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) && + ! _retrieve_cache SYS_ALL_UNITS; + then +- _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo " $a"; done; }) ) ++ _sys_all_units=( $(__systemctl list-units --all | { while read -r a b; do echo -E - " $a"; done; }) ) + _store_cache SYS_ALL_UNITS _sys_all_units + fi + } +@@ -113,7 +113,7 @@ _systemctl_really_all_units() + if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) && + ! _retrieve_cache SYS_REALLY_ALL_UNITS; + then +- all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo " $a"; done; }) ) ++ all_unit_files=( $(__systemctl list-unit-files | { while read -r a b; do echo -E - " $a"; done; }) ) + _systemctl_all_units + really_all_units=($_sys_all_units $all_unit_files) + _sys_really_all_units=(${(u)really_all_units}) +@@ -138,12 +138,12 @@ _filter_units_by_property() { + done + } + +-_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo " $a"; done; }) )} +-_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }) )} +-_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo " $a"; done; }) )} +-_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo " $a"; done; }) )} +-_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo " $a"; done; }) )} +-_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo " $a"; done; }) )} ++_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} ++_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} ++_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} ++_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} ++_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} ++_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "masked" ]] && echo -E - " $a"; done; }) )} + + # Completion functions for ALL_UNITS + for fun in is-active is-failed is-enabled status show cat mask preset help list-dependencies ; do +@@ -219,8 +219,8 @@ for fun in restart reload-or-restart ; do + { + _systemctl_all_units + compadd "$@" - $( _filter_units_by_property CanStart yes \ +- ${_sys_all_units[*]} | while read line; do \ +- [[ "$line" =~ \.device$ ]] || echo " $line"; \ ++ ${_sys_all_units[*]} | while read -r line; do \ ++ [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ + done ) + } + done +-- +1.7.9.2 + diff --git a/0003-Always-check-asprintf-return-code.patch b/0003-Always-check-asprintf-return-code.patch new file mode 100644 index 00000000..00d873f7 --- /dev/null +++ b/0003-Always-check-asprintf-return-code.patch @@ -0,0 +1,223 @@ +Based on 7de80bfe2e61d5818601ccfddbadad3b7703ed70 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 25 Jul 2014 15:38:31 +0200 +Subject: [PATCH] Always check asprintf return code + +There is a small number of the places in sources where we don't check +asprintf() return code and assume that after error the function +returns NULL pointer via the first argument. That's wrong, after +error the content of pointer is undefined. +--- + src/core/unit-printf.c | 8 ++++---- + src/cryptsetup/cryptsetup.c | 11 ++++++++--- + src/journal/journalctl.c | 16 +++++++++++----- + src/run/run.c | 20 ++++++++++---------- + src/shared/install.c | 15 +++++++++------ + src/systemctl/systemctl.c | 18 +++++++++--------- + src/tty-ask-password-agent/tty-ask-password-agent.c | 5 +++-- + 7 files changed, 54 insertions(+), 39 deletions(-) + +--- src/core/unit-printf.c ++++ src/core/unit-printf.c 2014-07-28 09:42:20.726235696 +0000 +@@ -182,7 +182,7 @@ static int specifier_user_name(char spec + char *printed = NULL; + Unit *u = userdata; + ExecContext *c; +- int r; ++ int r = 0; + + assert(u); + +@@ -208,7 +208,7 @@ static int specifier_user_name(char spec + if (r < 0) + return -ENODATA; + +- asprintf(&printed, "%lu", (unsigned long) uid); ++ r = asprintf(&printed, "%lu", (unsigned long) uid); + } + } + +@@ -231,10 +231,10 @@ static int specifier_user_name(char spec + if (specifier == 'u') + printed = strdup(username); + else +- asprintf(&printed, "%lu", (unsigned long) uid); ++ r = asprintf(&printed, "%lu", (unsigned long) uid); + } + +- if (!printed) ++ if (r < 0 || !printed) + return -ENOMEM; + + *ret = printed; +--- src/cryptsetup/cryptsetup.c ++++ src/cryptsetup/cryptsetup.c 2014-07-28 00:00:00.000000000 +0000 +@@ -535,13 +535,18 @@ int main(int argc, char *argv[]) { + description = NULL; + } + ++ k = 0; + if (mount_point && description) +- asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); ++ k = asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); + else if (mount_point) +- asprintf(&name_buffer, "%s on %s", argv[2], mount_point); ++ k = asprintf(&name_buffer, "%s on %s", argv[2], mount_point); + else if (description) +- asprintf(&name_buffer, "%s (%s)", description, argv[2]); ++ k = asprintf(&name_buffer, "%s (%s)", description, argv[2]); + ++ if (k < 0) { ++ log_oom(); ++ goto finish; ++ } + name = name_buffer ? name_buffer : argv[2]; + + k = crypt_init(&cd, argv[3]); +--- src/journal/journalctl.c ++++ src/journal/journalctl.c 2014-07-28 00:00:00.000000000 +0000 +@@ -746,11 +746,17 @@ static int add_matches(sd_journal *j, ch + } + } else + t = strappend("_EXE=", path); +- } else if (S_ISCHR(st.st_mode)) +- asprintf(&t, "_KERNEL_DEVICE=c%u:%u", major(st.st_rdev), minor(st.st_rdev)); +- else if (S_ISBLK(st.st_mode)) +- asprintf(&t, "_KERNEL_DEVICE=b%u:%u", major(st.st_rdev), minor(st.st_rdev)); +- else { ++ } else if (S_ISCHR(st.st_mode)) { ++ if (asprintf(&t, "_KERNEL_DEVICE=c%u:%u", ++ major(st.st_rdev), ++ minor(st.st_rdev)) < 0) ++ return -ENOMEM; ++ } else if (S_ISBLK(st.st_mode)) { ++ if (asprintf(&t, "_KERNEL_DEVICE=b%u:%u", ++ major(st.st_rdev), ++ minor(st.st_rdev)) < 0) ++ return -ENOMEM; ++ } else { + log_error("File is neither a device node, nor regular file, nor executable: %s", *i); + return -EINVAL; + } +--- src/run/run.c ++++ src/run/run.c 2014-07-28 09:46:36.846235596 +0000 +@@ -309,12 +309,12 @@ static int start_transient_service( + _cleanup_free_ char *name = NULL; + int r; + +- if (arg_unit) ++ if (arg_unit) { + name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".service"); +- else +- asprintf(&name, "run-%lu.service", (unsigned long) getpid()); +- if (!name) +- return -ENOMEM; ++ if (!name) ++ return log_oom(); ++ } else if (asprintf(&name, "run-%lu.service", (unsigned long) getpid()) < 0) ++ return log_oom(); + + r = message_start_transient_unit_new(bus, name, &m); + if (r < 0) +@@ -436,12 +436,12 @@ static int start_transient_scope( + + assert(bus); + +- if (arg_unit) ++ if (arg_unit) { + name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".scope"); +- else +- asprintf(&name, "run-%lu.scope", (unsigned long) getpid()); +- if (!name) +- return -ENOMEM; ++ if (!name) ++ return log_oom(); ++ } else if (asprintf(&name, "run-%lu.scope", (unsigned long) getpid()) < 0) ++ return log_oom(); + + r = message_start_transient_unit_new(bus, name, &m); + if (r < 0) +--- src/shared/install.c ++++ src/shared/install.c 2014-07-28 00:00:00.000000000 +0000 +@@ -72,13 +72,16 @@ static int get_config_path(UnitFileScope + + case UNIT_FILE_SYSTEM: + +- if (root_dir && runtime) +- asprintf(&p, "%s/run/systemd/system", root_dir); +- else if (runtime) ++ if (root_dir && runtime) { ++ if (asprintf(&p, "%s/run/systemd/system", root_dir) < 0) ++ return -ENOMEM; ++ } else if (runtime) + p = strdup("/run/systemd/system"); +- else if (root_dir) +- asprintf(&p, "%s/%s", root_dir, SYSTEM_CONFIG_UNIT_PATH); +- else ++ else if (root_dir) { ++ if (asprintf(&p, "%s/%s", root_dir, ++ SYSTEM_CONFIG_UNIT_PATH) < 0) ++ return -ENOMEM; ++ } else + p = strdup(SYSTEM_CONFIG_UNIT_PATH); + + break; +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-07-28 09:51:40.894735541 +0000 +@@ -4639,11 +4639,11 @@ static int enable_sysv_units(const char + + STRV_FOREACH(k, paths.unit_path) { + if (!isempty(arg_root)) +- asprintf(&p, "%s/%s/%s", arg_root, *k, name); ++ j = asprintf(&p, "%s/%s/%s", arg_root, *k, name); + else +- asprintf(&p, "%s/%s", *k, name); ++ j = asprintf(&p, "%s/%s", *k, name); + +- if (!p) { ++ if (j < 0) { + r = log_oom(); + goto finish; + } +@@ -4660,10 +4660,10 @@ static int enable_sysv_units(const char + continue; + + if (!isempty(arg_root)) +- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); ++ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); + else +- asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); +- if (!p) { ++ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); ++ if (j < 0) { + r = log_oom(); + goto finish; + } +@@ -4676,10 +4676,10 @@ static int enable_sysv_units(const char + free(p); + p = NULL; + if (!isempty(arg_root)) +- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); ++ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else +- asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); +- if (!p) { ++ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); ++ if (j < 0) { + r = log_oom(); + goto finish; + } +--- src/tty-ask-password-agent/tty-ask-password-agent.c ++++ src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-28 00:00:00.000000000 +0000 +@@ -102,8 +102,9 @@ static int ask_password_plymouth( + if (accept_cached) { + packet = strdup("c"); + n = 1; +- } else +- asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), message, &n); ++ } else if (asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), ++ message, &n) < 0) ++ packet = NULL; + + if (!packet) { + r = -ENOMEM; diff --git a/0004-bash-completion-use-list-unit-files-to-get-all-units.patch b/0004-bash-completion-use-list-unit-files-to-get-all-units.patch new file mode 100644 index 00000000..b5ab5359 --- /dev/null +++ b/0004-bash-completion-use-list-unit-files-to-get-all-units.patch @@ -0,0 +1,39 @@ +Based on c6a373a26348544d944b08bf0c5dea4f72f6980b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 26 Jul 2014 20:11:58 -0400 +Subject: [PATCH] bash-completion: use list-unit-files to get "all" units + +I think that it is better to return good results slightly more slowly, +than partial quickly. Also reading from disk seems fast enough. Even +the delay on first try with completely cold cache is acceptable. + +This is just for bash, 'cause zsh was already doing this. + +https://bugzilla.redhat.com/show_bug.cgi?id=790768 +--- + shell-completion/bash/systemctl.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in +index c5950cc..69ef04b 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -51,11 +51,13 @@ __filter_units_by_property () { + done + } + +-__get_all_units () { __systemctl $1 list-units --all \ ++__get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ + | { while read -r a b; do echo " $a"; done; }; } + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } +-__get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ ++__get_startable_units () { { ++ __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap ++ __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ + | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } + __get_failed_units () { __systemctl $1 list-units \ + | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } +-- +1.7.9.2 + diff --git a/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch b/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch new file mode 100644 index 00000000..05d6edc1 --- /dev/null +++ b/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch @@ -0,0 +1,121 @@ +Based on c264aeab4b0e7b69f469e12e78d4a48b3ed7a66e Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 27 Jul 2014 00:11:08 +0200 +Subject: [PATCH] core: only set the kernel's timezone when the RTC runs in + local time + +We can not reliably manage any notion of local time. Every daylight +saving time change or time zone change by traveling will make the +time jump, and the local time might jump backwards which creates +unsolvable problems with file timestamps. + +We will no longer tell the kernel our local time zone and leave +everything set to UTC. This will effectively turn FAT timestamps +into UTC timestamps. + +If and only if the machine is configured to read the RTC in local +time mode, the kernel's time zone will be configured, but +systemd-timesysnc will disable the kernel's system time to RTC +syncing. In this mode, the RTC will not be managed, and external +tools like Windows bootups are expected to manage the RTC's time. + +https://bugs.freedesktop.org/show_bug.cgi?id=81538 +--- + src/core/main.c | 23 +++++++++++++++-------- + src/shared/hwclock.c | 15 ++++++++------- + src/shared/hwclock.h | 2 +- + 3 files changed, 24 insertions(+), 16 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-07-28 09:59:35.778235585 +0000 +@@ -1349,7 +1349,14 @@ int main(int argc, char *argv[]) { + if (hwclock_is_localtime() > 0) { + int min; + +- /* The first-time call to settimeofday() does a time warp in the kernel */ ++ /* ++ * The very first call of settimeofday() also does a time warp in the kernel. ++ * ++ * In the rtc-in-local time mode, we set the kernel's timezone, and rely on ++ * external tools to take care of maintaining the RTC and do all adjustments. ++ * This matches the behavior of Windows, which leaves the RTC alone if the ++ * registry tells that the RTC runs in UTC. ++ */ + r = hwclock_set_timezone(&min); + if (r < 0) + log_error("Failed to apply local time delta, ignoring: %s", strerror(-r)); +@@ -1357,19 +1364,19 @@ int main(int argc, char *argv[]) { + log_info("RTC configured in localtime, applying delta of %i minutes to system time.", min); + } else if (!in_initrd()) { + /* +- * Do dummy first-time call to seal the kernel's time warp magic ++ * Do a dummy very first call to seal the kernel's time warp magic. + * + * Do not call this this from inside the initrd. The initrd might not + * carry /etc/adjtime with LOCAL, but the real system could be set up + * that way. In such case, we need to delay the time-warp or the sealing + * until we reach the real system. ++ * ++ * Do no set the kernel's timezone. The concept of local time cannot ++ * be supported reliably, the time will jump or be incorrect at every daylight ++ * saving time change. All kernel local time concepts will be treated ++ * as UTC that way. + */ +- hwclock_reset_timezone(); +- +- /* Tell the kernel our timezone */ +- r = hwclock_set_timezone(NULL); +- if (r < 0) +- log_error("Failed to set the kernel's timezone, ignoring: %s", strerror(-r)); ++ hwclock_reset_timewarp(); + } + } + +--- src/shared/hwclock.c ++++ src/shared/hwclock.c 2014-07-28 09:59:12.914235566 +0000 +@@ -124,9 +124,10 @@ int hwclock_set_timezone(int *min) { + tz.tz_dsttime = 0; /* DST_NONE*/ + + /* +- * If the hardware clock does not run in UTC, but in local time: +- * The very first time we set the kernel's timezone, it will warp +- * the clock so that it runs in UTC instead of local time. ++ * If the RTC does not run in UTC but in local time, the very first ++ * call to settimeofday() will set the kernel's timezone and will warp the ++ * system clock, so that it runs in UTC instead of the local time we ++ * have read from the RTC. + */ + if (settimeofday(tv_null, &tz) < 0) + return -errno; +@@ -135,7 +136,7 @@ int hwclock_set_timezone(int *min) { + return 0; + } + +-int hwclock_reset_timezone(void) { ++int hwclock_reset_timewarp(void) { + const struct timeval *tv_null = NULL; + struct timezone tz; + +@@ -143,9 +144,9 @@ int hwclock_reset_timezone(void) { + tz.tz_dsttime = 0; /* DST_NONE*/ + + /* +- * The very first time we set the kernel's timezone, it will warp +- * the clock. Do a dummy call here, so the time warping is sealed +- * and we set only the timezone with next call. ++ * The very first call to settimeofday() does time warp magic. Do a ++ * dummy call here, so the time warping is sealed and all later calls ++ * behave as expected. + */ + if (settimeofday(tv_null, &tz) < 0) + return -errno; +--- src/shared/hwclock.h ++++ src/shared/hwclock.h 2014-07-28 09:59:25.034736002 +0000 +@@ -23,6 +23,6 @@ + + int hwclock_is_localtime(void); + int hwclock_set_timezone(int *min); +-int hwclock_reset_timezone(void); ++int hwclock_reset_timewarp(void); + int hwclock_get_time(struct tm *tm); + int hwclock_set_time(const struct tm *tm); diff --git a/0006-parse_boolean-require-exact-matches.patch b/0006-parse_boolean-require-exact-matches.patch new file mode 100644 index 00000000..2c279f99 --- /dev/null +++ b/0006-parse_boolean-require-exact-matches.patch @@ -0,0 +1,48 @@ +From 0f625d0b87139fc18cd565c9b6da05c53a0eb7ab Mon Sep 17 00:00:00 2001 +From: Ansgar Burchardt +Date: Sun, 27 Jul 2014 15:19:00 +0200 +Subject: [PATCH] parse_boolean: require exact matches + +Require exact matches in all cases instead of treating strings +starting with 't' ('f') as true (false). + +This is required for config_parse_protect_system to parse ProtectSystem=full +correctly: it uses parse_boolean and only tries a more specific parsing +function if that did not return a valid result. Thus "full" was treated as +"false" before. +--- + src/shared/util.c | 4 ++-- + src/test/test-util.c | 1 + + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git src/shared/util.c src/shared/util.c +index 4fda31c..49c17ef 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -231,9 +231,9 @@ int unlink_noerrno(const char *path) { + int parse_boolean(const char *v) { + assert(v); + +- if (streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || strcaseeq(v, "on")) ++ if (streq(v, "1") || strcaseeq(v, "yes") || strcaseeq(v, "y") || strcaseeq(v, "true") || strcaseeq(v, "t") || strcaseeq(v, "on")) + return 1; +- else if (streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || strcaseeq(v, "off")) ++ else if (streq(v, "0") || strcaseeq(v, "no") || strcaseeq(v, "n") || strcaseeq(v, "false") || strcaseeq(v, "f") || strcaseeq(v, "off")) + return 0; + + return -EINVAL; +diff --git src/test/test-util.c src/test/test-util.c +index ed91a67..9a28ef9 100644 +--- src/test/test-util.c ++++ src/test/test-util.c +@@ -129,6 +129,7 @@ static void test_parse_boolean(void) { + + assert_se(parse_boolean("garbage") < 0); + assert_se(parse_boolean("") < 0); ++ assert_se(parse_boolean("full") < 0); + } + + static void test_parse_pid(void) { +-- +1.7.9.2 + diff --git a/0007-drop_duplicates-copy-full-BindMount-struct.patch b/0007-drop_duplicates-copy-full-BindMount-struct.patch new file mode 100644 index 00000000..434f119d --- /dev/null +++ b/0007-drop_duplicates-copy-full-BindMount-struct.patch @@ -0,0 +1,31 @@ +From e2d7c1a0758ce80d7cb439745deefefdffd67655 Mon Sep 17 00:00:00 2001 +From: Ansgar Burchardt +Date: Sun, 27 Jul 2014 16:32:13 +0200 +Subject: [PATCH] drop_duplicates: copy full BindMount struct + +At least + + t->ignore = f->ignore; + +is missing here. Just copy the full struct to be sure. +--- + src/core/namespace.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git src/core/namespace.c src/core/namespace.c +index 5466b7b..fe95377 100644 +--- src/core/namespace.c ++++ src/core/namespace.c +@@ -124,8 +124,7 @@ static void drop_duplicates(BindMount *m, unsigned *n) { + if (previous && path_equal(f->path, previous->path)) + continue; + +- t->path = f->path; +- t->mode = f->mode; ++ *t = *f; + + previous = t; + +-- +1.7.9.2 + diff --git a/0008-shell-completion-prevent-mangling-unit-names-bash.patch b/0008-shell-completion-prevent-mangling-unit-names-bash.patch new file mode 100644 index 00000000..7a52c0d7 --- /dev/null +++ b/0008-shell-completion-prevent-mangling-unit-names-bash.patch @@ -0,0 +1,87 @@ +Based on c317a1a19cd9584e07ee43f1b6fafc26c2c75cca Mon Sep 17 00:00:00 2001 +From: Eric Cook +Date: Sun, 27 Jul 2014 15:07:03 -0400 +Subject: [PATCH] shell-completion: prevent mangling unit names (bash) + +This fixes the issue noted by Zbigniew in most cases. +if a unit's name is enclosed in single quotes completion still +will not happen after the first `\'. + +https://bugs.freedesktop.org/show_bug.cgi?id=78388 +--- + shell-completion/bash/systemctl.in | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in +index 69ef04b..64b15df 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -158,20 +158,25 @@ _systemctl () { + + elif __contains_word "$verb" ${VERBS[ALL_UNITS]}; then + comps=$( __get_all_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[ENABLED_UNITS]}; then + comps=$( __get_enabled_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then + comps=$( __get_disabled_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then + comps=$( __get_disabled_units $mode; + __get_enabled_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ + $( __get_startable_units $mode)) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +@@ -179,24 +184,30 @@ _systemctl () { + | while read -r line; do \ + [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ + done )) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStop yes \ + $( __get_active_units $mode ) ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[RELOADABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanReload yes \ + $( __get_active_units $mode ) ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[ISOLATABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode AllowIsolate yes \ + $( __get_all_units $mode ) ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[FAILED_UNITS]}; then + comps=$( __get_failed_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[MASKED_UNITS]}; then + comps=$( __get_masked_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then + comps='' +@@ -221,7 +232,7 @@ _systemctl () { + | { while read -r a b; do echo " $a"; done; } ) + fi + +- COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) ++ COMPREPLY=( $(compgen -o filenames -W '$comps' -- "$cur") ) + return 0 + } + +-- +1.7.9.2 + diff --git a/0009-journald-always-add-syslog-facility-for-messages-com.patch b/0009-journald-always-add-syslog-facility-for-messages-com.patch new file mode 100644 index 00000000..58a8bdd2 --- /dev/null +++ b/0009-journald-always-add-syslog-facility-for-messages-com.patch @@ -0,0 +1,40 @@ +From 36dd072cdf03dcac0fcd2d6b42f261444dc7ac88 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Fri, 25 Jul 2014 14:38:22 +0200 +Subject: [PATCH] journald: always add syslog facility for messages coming + from kmsg + +Set SYSLOG_FACILITY field for kernel log messages too. Setting only +SYSLOG_IDENTIFIER="kernel" is not sufficient and tools reading journal +maybe confused by missing SYSLOG_FACILITY field for kernel log messages. +--- + src/journal/journald-kmsg.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c +index 12992e7..bb62a76 100644 +--- src/journal/journald-kmsg.c ++++ src/journal/journald-kmsg.c +@@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + if (asprintf(&syslog_priority, "PRIORITY=%i", priority & LOG_PRIMASK) >= 0) + IOVEC_SET_STRING(iovec[n++], syslog_priority); + ++ if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) ++ IOVEC_SET_STRING(iovec[n++], syslog_facility); ++ + if ((priority & LOG_FACMASK) == LOG_KERN) + IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); + else { +@@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + if (syslog_pid) + IOVEC_SET_STRING(iovec[n++], syslog_pid); + } +- +- if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) +- IOVEC_SET_STRING(iovec[n++], syslog_facility); + } + + message = cunescape_length_with_prefix(p, pl, "MESSAGE="); +-- +1.7.9.2 + diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch new file mode 100644 index 00000000..3230a8f1 --- /dev/null +++ b/shut-up-rpmlint-on-var-log-journal.patch @@ -0,0 +1,19 @@ +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-07-28 09:05:41.002735451 +0000 +@@ -3242,11 +3242,11 @@ noinst_LTLIBRARIES += \ + libsystemd-journal-core.la + + journal-install-hook: +- -$(MKDIR_P) $(DESTDIR)/var/log/journal +- -chown 0:0 $(DESTDIR)/var/log/journal +- -chmod 755 $(DESTDIR)/var/log/journal +- -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ +- -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ ++ -$(MKDIR_P) $(DESTDIR)/var/log/journal/ ++ -@echo chown 0:0 $(DESTDIR)/var/log/journal/ ++ -chmod 755 $(DESTDIR)/var/log/journal/ ++ -@echo setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ ++ -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ + + journal-uninstall-hook: + -rmdir $(DESTDIR)/var/log/journal/ diff --git a/systemd-mini.changes b/systemd-mini.changes index f97f18df..f4d2a66b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de + +- Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid + rpmlink warning +- Add upstream patches + 0001-bus-proxyd-fix-incorrect-comparison.patch + 0002-shell-completion-prevent-mangling-unit-names.patch + 0003-Always-check-asprintf-return-code.patch + 0004-bash-completion-use-list-unit-files-to-get-all-units.patch + 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch + 0006-parse_boolean-require-exact-matches.patch + 0007-drop_duplicates-copy-full-BindMount-struct.patch + 0008-shell-completion-prevent-mangling-unit-names-bash.patch + 0009-journald-always-add-syslog-facility-for-messages-com.patch + ------------------------------------------------------------------- Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 98584596..24ae5099 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -31,11 +31,12 @@ %else %define has_efi 0 %endif -%bcond_with permission %if 0%{?suse_version} > 1315 +%bcond_without permission %bcond_without blkrrpart %bcond_without udevsettle %else +%bcond_with permission %bcond_with blkrrpart %bcond_with udevsettle %endif @@ -714,6 +715,8 @@ Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch +# PATCH-FIX-SUSE Shut up rpmlint warning +Patch345: shut-up-rpmlint-on-var-log-journal.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 @@ -728,6 +731,24 @@ Patch350: 0002-journalctl-man-allow-only-between-terms.patch Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch355: 0003-Always-check-asprintf-return-code.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch358: 0006-parse_boolean-require-exact-matches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch # UDEV PATCHES # ============ @@ -1346,6 +1367,7 @@ cp %{SOURCE7} m4/ %patch342 -p0 %patch343 -p0 %patch344 -p0 +%patch345 -p1 %patch346 -p0 %patch347 -p0 %patch348 -p0 @@ -1353,6 +1375,15 @@ cp %{SOURCE7} m4/ %patch350 -p0 %patch351 -p0 %patch352 -p0 +%patch353 -p0 +%patch354 -p0 +%patch355 -p0 +%patch356 -p0 +%patch357 -p0 +%patch358 -p0 +%patch359 -p0 +%patch360 -p0 +%patch361 -p0 # udev patches %patch1001 -p1 @@ -1688,7 +1719,7 @@ done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal +mkdir -p %{buildroot}%{_localstatedir}/log/journal/ # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump @@ -1804,17 +1835,6 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# Add permission files for logger -%if %{with permission} -mkdir -p %{buildroot}%{_sysconfdir}/permissions.d -cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger <<-'EOF' - %{_localstatedir}/log/journal/ root:systemd-journal 2755 -EOF -cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger.paranoid <<-'EOF' - %{_localstatedir}/log/journal/ root:systemd-journal 2755 -EOF -%endif - %find_lang systemd %pre @@ -1988,7 +2008,7 @@ fi %if %{with permission} %verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal +%verify_permissions -e %{_localstatedir}/log/journal/ %endif %pre logger @@ -1997,7 +2017,7 @@ exit 0 %post logger %if %{with permission} -%set_permissions %{_localstatedir}/log/journal +%set_permissions %{_localstatedir}/log/journal/ %endif getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : @@ -2016,7 +2036,7 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -2400,11 +2420,7 @@ exit 0 %files logger %defattr(-,root,root) -%if %{with permission} -%config %{_sysconfdir}/permissions.d/systemd-logger -%config %{_sysconfdir}/permissions.d/systemd-logger.paranoid -%endif -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal +%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ %{_localstatedir}/log/README /etc/init.d/systemd-journald diff --git a/systemd.changes b/systemd.changes index f97f18df..f4d2a66b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de + +- Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid + rpmlink warning +- Add upstream patches + 0001-bus-proxyd-fix-incorrect-comparison.patch + 0002-shell-completion-prevent-mangling-unit-names.patch + 0003-Always-check-asprintf-return-code.patch + 0004-bash-completion-use-list-unit-files-to-get-all-units.patch + 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch + 0006-parse_boolean-require-exact-matches.patch + 0007-drop_duplicates-copy-full-BindMount-struct.patch + 0008-shell-completion-prevent-mangling-unit-names-bash.patch + 0009-journald-always-add-syslog-facility-for-messages-com.patch + ------------------------------------------------------------------- Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index e151db11..0031cf2e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -29,11 +29,12 @@ %else %define has_efi 0 %endif -%bcond_with permission %if 0%{?suse_version} > 1315 +%bcond_without permission %bcond_without blkrrpart %bcond_without udevsettle %else +%bcond_with permission %bcond_with blkrrpart %bcond_with udevsettle %endif @@ -709,6 +710,8 @@ Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch +# PATCH-FIX-SUSE Shut up rpmlint warning +Patch345: shut-up-rpmlint-on-var-log-journal.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 @@ -723,6 +726,24 @@ Patch350: 0002-journalctl-man-allow-only-between-terms.patch Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch355: 0003-Always-check-asprintf-return-code.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch358: 0006-parse_boolean-require-exact-matches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch # UDEV PATCHES # ============ @@ -1341,6 +1362,7 @@ cp %{SOURCE7} m4/ %patch342 -p0 %patch343 -p0 %patch344 -p0 +%patch345 -p1 %patch346 -p0 %patch347 -p0 %patch348 -p0 @@ -1348,6 +1370,15 @@ cp %{SOURCE7} m4/ %patch350 -p0 %patch351 -p0 %patch352 -p0 +%patch353 -p0 +%patch354 -p0 +%patch355 -p0 +%patch356 -p0 +%patch357 -p0 +%patch358 -p0 +%patch359 -p0 +%patch360 -p0 +%patch361 -p0 # udev patches %patch1001 -p1 @@ -1683,7 +1714,7 @@ done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal +mkdir -p %{buildroot}%{_localstatedir}/log/journal/ # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump @@ -1799,17 +1830,6 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# Add permission files for logger -%if %{with permission} -mkdir -p %{buildroot}%{_sysconfdir}/permissions.d -cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger <<-'EOF' - %{_localstatedir}/log/journal/ root:systemd-journal 2755 -EOF -cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger.paranoid <<-'EOF' - %{_localstatedir}/log/journal/ root:systemd-journal 2755 -EOF -%endif - %find_lang systemd %pre @@ -1983,7 +2003,7 @@ fi %if %{with permission} %verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal +%verify_permissions -e %{_localstatedir}/log/journal/ %endif %pre logger @@ -1992,7 +2012,7 @@ exit 0 %post logger %if %{with permission} -%set_permissions %{_localstatedir}/log/journal +%set_permissions %{_localstatedir}/log/journal/ %endif getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : @@ -2011,7 +2031,7 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -2395,11 +2415,7 @@ exit 0 %files logger %defattr(-,root,root) -%if %{with permission} -%config %{_sysconfdir}/permissions.d/systemd-logger -%config %{_sysconfdir}/permissions.d/systemd-logger.paranoid -%endif -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal +%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ %{_localstatedir}/log/README /etc/init.d/systemd-journald From 45fa941854ac341ca52fc1beada022ddbfc40f440a14f488c12941ab754e2eed Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 31 Jul 2014 19:49:13 +0000 Subject: [PATCH 192/991] Accepting request 243103 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/243103 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=197 --- ...cripts-which-provide-network-before-.patch | 34 ++ ...ophone-mute-keymap-for-Dell-Latitude.patch | 38 ++ ...map-Annotate-all-micmute-workarounds.patch | 54 ++ ...aa13539ed2cd4b31972cd30f678543-apply.patch | 26 + ...add-event-timeout-commandline-option.patch | 119 +++++ 1057-udev-unify-event-timeout-handling.patch | 504 ++++++++++++++++++ 1058-udev-unify-event-timeout-handling.patch | 504 ++++++++++++++++++ ...t-dd5eddd28a74a49607a8fffcaf960040db.patch | 26 + ...r-target-name-for-btrfs-device-ready.patch | 43 ++ systemd-mini.changes | 50 ++ systemd-mini.spec | 37 ++ systemd.changes | 50 ++ systemd.spec | 37 ++ tomcat6-var-lock-subsys-legacy.patch | 18 + tty-ask-password-agent-on-console.patch | 285 ++++++++++ 15 files changed, 1825 insertions(+) create mode 100644 0001-sysv-order-initscripts-which-provide-network-before-.patch create mode 100644 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch create mode 100644 0003-keymap-Annotate-all-micmute-workarounds.patch create mode 100644 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch create mode 100644 1056-udevd-add-event-timeout-commandline-option.patch create mode 100644 1057-udev-unify-event-timeout-handling.patch create mode 100644 1058-udev-unify-event-timeout-handling.patch create mode 100644 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch create mode 100644 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch create mode 100644 tomcat6-var-lock-subsys-legacy.patch create mode 100644 tty-ask-password-agent-on-console.patch diff --git a/0001-sysv-order-initscripts-which-provide-network-before-.patch b/0001-sysv-order-initscripts-which-provide-network-before-.patch new file mode 100644 index 00000000..944b9158 --- /dev/null +++ b/0001-sysv-order-initscripts-which-provide-network-before-.patch @@ -0,0 +1,34 @@ +Based on 805b573fad06b845502e76f3db3a0efa7583149d Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 23 Jul 2014 12:49:14 +0200 +Subject: [PATCH] sysv: order initscripts which provide $network before + network.target + +Due to recent changes where $network "maps" to network-online.target +it is not guaranteed that initscript which provides networking will +be terminated after network.target during shutdown which is against LSB. +--- + src/core/service.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/core/service.c ++++ src/core/service.c 2014-07-30 11:27:16.074235995 +0000 +@@ -820,7 +820,7 @@ static int service_load_sysv_path(Servic + + if (unit_name_to_type(m) == UNIT_SERVICE) + r = unit_merge_by_name(u, m); +- else ++ else { + /* NB: SysV targets + * which are provided + * by a service are +@@ -835,6 +835,9 @@ static int service_load_sysv_path(Servic + * in the SysV + * services! */ + r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, UNIT_WANTS, m, NULL, true); ++ if (r >= 0 && streq(m, SPECIAL_NETWORK_ONLINE_TARGET)) ++ r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_NETWORK_TARGET, NULL, true); ++ } + + if (r < 0) + log_error_unit(u->id, diff --git a/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch b/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch new file mode 100644 index 00000000..7ba1dc4d --- /dev/null +++ b/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch @@ -0,0 +1,38 @@ +From 1f6d36f267186c0e3184bab4c7eca48481c6faab Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Wed, 30 Jul 2014 16:09:08 +0800 +Subject: [PATCH] keymap: Add microphone mute keymap for Dell Latitude + +On the Dell Latitude, the mic mute key event is generated by wmi +driver, the keycode assigned to this hotkey from kernel is +KEY_MICMUTE (248), this keycode is too big for xorg to handle, +in the xorg, the XF86AudioMicMute is assigned to F20. + +Please refer to 4e648ea0 of xkeyboard-config. + +BugLink: https://bugs.launchpad.net/bugs/1326684 +BugLink: https://bugs.launchpad.net/bugs/1339998 +Signed-off-by: Hui Wang +Signed-off-by: Martin Pitt +--- + hwdb/60-keyboard.hwdb | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index c7ff4e4..70e372b 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -229,6 +229,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + KEYBOARD_KEY_8c=!unknown + ++# Dell Latitude microphone mute ++keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* ++ KEYBOARD_KEY_150=f20 # Mic mute toggle ++ + ########################################################### + # Everex + ########################################################### +-- +1.7.9.2 + diff --git a/0003-keymap-Annotate-all-micmute-workarounds.patch b/0003-keymap-Annotate-all-micmute-workarounds.patch new file mode 100644 index 00000000..00f1e431 --- /dev/null +++ b/0003-keymap-Annotate-all-micmute-workarounds.patch @@ -0,0 +1,54 @@ +From d946bb53f94713241004810de92cc37f1e19c2d2 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Wed, 30 Jul 2014 10:54:23 +0200 +Subject: [PATCH] keymap: Annotate all micmute workarounds + +Add a comment to all assignments to f20 that this actually should be "micmute" +in a future when we aren't limited by X.org's key code limiations any more. +--- + hwdb/60-keyboard.hwdb | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 70e372b..cbbbf2c 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -231,7 +231,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + + # Dell Latitude microphone mute + keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* +- KEYBOARD_KEY_150=f20 # Mic mute toggle ++ KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute + + ########################################################### + # Everex +@@ -505,7 +505,7 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_15=volumedown + KEYBOARD_KEY_16=mute + KEYBOARD_KEY_17=prog1 +- KEYBOARD_KEY_1a=f20 ++ KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute + + # ThinkPad Keyboard with TrackPoint + keyboard:usb:v17EFp6009* +@@ -573,7 +573,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* + + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* + KEYBOARD_KEY_f1=f21 +- KEYBOARD_KEY_ce=f20 ++ KEYBOARD_KEY_ce=f20 # micmute + + keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* + KEYBOARD_KEY_a0=!mute +@@ -809,7 +809,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:* + KEYBOARD_KEY_f3=f17 + KEYBOARD_KEY_f2=f18 + KEYBOARD_KEY_f1=f19 +- KEYBOARD_KEY_f0=f20 ++ KEYBOARD_KEY_f0=f20 # micmute + KEYBOARD_KEY_ef=f21 + KEYBOARD_KEY_ee=chat + KEYBOARD_KEY_e4=chat +-- +1.7.9.2 + diff --git a/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch b/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch new file mode 100644 index 00000000..8a108af0 --- /dev/null +++ b/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch @@ -0,0 +1,26 @@ +Exist only to be able to apply the patch +1056-udevd-add-event-timeout-commandline-option.patch +without the BLKRRPART ioctl patches. + +--- systemd-210/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c 2014-07-30 11:52:34.318235685 +0000 +@@ -1311,16 +1311,16 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { + log_error("worker [%u] %s timeout; kill it", worker->pid, + worker->event ? worker->event->devpath : ""); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; ++ + /* drop reference taken for state 'running' */ + worker_unref(worker); + if (worker->event) { +- log_error("seq %llu '%s' killed", +- udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); + worker->event->exitcode = -64; + event_queue_delete(worker->event, true); + worker->event = NULL; diff --git a/1056-udevd-add-event-timeout-commandline-option.patch b/1056-udevd-add-event-timeout-commandline-option.patch new file mode 100644 index 00000000..1f670688 --- /dev/null +++ b/1056-udevd-add-event-timeout-commandline-option.patch @@ -0,0 +1,119 @@ +From 9719859c07aa13539ed2cd4b31972cd30f678543 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Tue, 29 Jul 2014 09:06:14 +0200 +Subject: [PATCH] udevd: add --event-timeout commandline option + +Some events take longer than the default 30 seconds. Killing those +events will leave the machine halfway configured. + +Add a commandline option '--event-timeout' to handle these cases. +--- + man/systemd-udevd.service.xml | 19 +++++++++++++++++++ + src/udev/udevd.c | 12 +++++++++++- + 2 files changed, 30 insertions(+), 1 deletion(-) + +diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml +index f44b7a0..8de43b1 100644 +--- man/systemd-udevd.service.xml ++++ man/systemd-udevd.service.xml +@@ -44,6 +44,7 @@ + + + ++ + + + +@@ -96,6 +97,15 @@ + + + ++ ++ ++ Wait for the event to finish up to the given ++ number of seconds. After this time the event will ++ be terminated. Default is 30. ++ ++ ++ ++ + + + Specify when systemd-udevd should resolve names of users and groups. +@@ -156,6 +166,15 @@ + + + ++ udev.event-timeout= ++ rd.udev.event-timeout= ++ ++ Wait for events to finish up to the given number ++ of seconds. This option might be useful if events are ++ terminated due to a timeout in large configurations. ++ ++ ++ + net.ifnames= + + Network interfaces are renamed to give them predictable names +diff --git src/udev/udevd.c src/udev/udevd.c +index db935d6..c5dd739 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,6 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; ++static int event_timeout = 30; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -312,6 +313,9 @@ static void worker_new(struct event *event) + } + } + ++ if (event_timeout != 30) ++ udev_event->timeout_usec = event_timeout * USEC_PER_SEC; ++ + /* apply rules, create node, symlinks */ + udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +@@ -1009,6 +1013,8 @@ static void kernel_cmdline_options(struct udev *udev) + children_max = strtoul(opt + 18, NULL, 0); + } else if (startswith(opt, "udev.exec-delay=")) { + exec_delay = strtoul(opt + 16, NULL, 0); ++ } else if (startswith(opt, "udev.event-timeout=")) { ++ event_timeout = strtoul(opt + 16, NULL, 0); + } + + free(s); +@@ -1026,6 +1032,7 @@ int main(int argc, char *argv[]) + { "debug", no_argument, NULL, 'D' }, + { "children-max", required_argument, NULL, 'c' }, + { "exec-delay", required_argument, NULL, 'e' }, ++ { "event-timeout", required_argument, NULL, 't' }, + { "resolve-names", required_argument, NULL, 'N' }, + { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, 'V' }, +@@ -1069,6 +1076,9 @@ int main(int argc, char *argv[]) + case 'e': + exec_delay = strtoul(optarg, NULL, 0); + break; ++ case 't': ++ event_timeout = strtoul(optarg, NULL, 0); ++ break; + case 'D': + debug = true; + log_set_max_level(LOG_DEBUG); +@@ -1406,7 +1416,7 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { + log_error("worker [%u] %s timeout; kill it", worker->pid, + worker->event ? worker->event->devpath : ""); + kill(worker->pid, SIGKILL); +-- +1.7.9.2 + diff --git a/1057-udev-unify-event-timeout-handling.patch b/1057-udev-unify-event-timeout-handling.patch new file mode 100644 index 00000000..9aa819b6 --- /dev/null +++ b/1057-udev-unify-event-timeout-handling.patch @@ -0,0 +1,504 @@ +From dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 29 Jul 2014 15:18:27 +0200 +Subject: [PATCH] udev: unify event timeout handling + +--- + man/systemd-udevd.service.xml | 7 +++--- + man/udev.xml | 7 ------ + src/test/test-udev.c | 5 ++-- + src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- + src/udev/udev-rules.c | 38 ++++++++--------------------- + src/udev/udev.h | 8 +++---- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 32 ++++++++++--------------- + 8 files changed, 61 insertions(+), 91 deletions(-) + +diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml +index 8de43b1..3053dc7 100644 +--- man/systemd-udevd.service.xml ++++ man/systemd-udevd.service.xml +@@ -99,9 +99,8 @@ + + + +- Wait for the event to finish up to the given +- number of seconds. After this time the event will +- be terminated. Default is 30. ++ Set the number of seconds to wait for events to finish. After ++ this time the event will be terminated. The default is 30 seconds. + + + +@@ -171,7 +170,7 @@ + + Wait for events to finish up to the given number + of seconds. This option might be useful if events are +- terminated due to a timeout in large configurations. ++ terminated due to kernel drivers taking too long to initialize. + + + +diff --git man/udev.xml man/udev.xml +index 4e5f8f0..123c073 100644 +--- man/udev.xml ++++ man/udev.xml +@@ -516,13 +516,6 @@ + + + +- +- +- Number of seconds an event waits for operations to finish before +- giving up and terminating itself. +- +- +- + + + Usually control and other possibly unsafe characters are replaced +diff --git src/test/test-udev.c src/test/test-udev.c +index b057cc8..26d6537 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -80,7 +80,6 @@ out: + return err; + } + +- + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; +@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 5213a4a..6ad80d5 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) + udev_list_init(udev, &event->seclabel_list, false); + event->fd_signal = -1; + event->birth_usec = now(CLOCK_MONOTONIC); +- event->timeout_usec = 30 * 1000 * 1000; + return event; + } + +@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, + } + + static void spawn_read(struct udev_event *event, +- const char *cmd, +- int fd_stdout, int fd_stderr, +- char *result, size_t ressize) ++ usec_t timeout_usec, ++ const char *cmd, ++ int fd_stdout, int fd_stderr, ++ char *result, size_t ressize) + { + size_t respos = 0; + int fd_ep = -1; +@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, + struct epoll_event ev[4]; + int i; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) { ++ if (age_usec >= timeout_usec) { + log_error("timeout '%s'", cmd); + goto out; + } +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -543,8 +543,9 @@ out: + close(fd_ep); + } + +-static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) +-{ ++static int spawn_wait(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; + +@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) + int timeout; + int fdcount; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) ++ if (age_usec >= timeout_usec) + timeout = 1000; + else +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -657,9 +658,9 @@ out: + } + + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, +- char *result, size_t ressize) +-{ ++ char *result, size_t ressize) { + struct udev *udev = event->udev; + int outpipe[2] = {-1, -1}; + int errpipe[2] = {-1, -1}; +@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, + errpipe[WRITE_END] = -1; + } + +- spawn_read(event, cmd, +- outpipe[READ_END], errpipe[READ_END], +- result, ressize); ++ spawn_read(event, ++ timeout_usec, ++ cmd, ++ outpipe[READ_END], errpipe[READ_END], ++ result, ressize); + +- err = spawn_wait(event, cmd, pid); ++ err = spawn_wait(event, timeout_usec, cmd, pid); + } + + out: +@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) + return r; + } + +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) +-{ ++void udev_event_execute_rules(struct udev_event *event, ++ usec_t timeout_usec, ++ struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + + if (udev_device_get_subsystem(dev) == NULL) +@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + udev_watch_end(event->udev, event->dev_db); + } + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + } + } + +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +-{ ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9864016..aacde38 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -137,7 +137,6 @@ enum token_type { + TK_M_PARENTS_MAX, + + TK_M_TEST, /* val, mode_t */ +- TK_M_EVENT_TIMEOUT, /* int */ + TK_M_PROGRAM, /* val */ + TK_M_IMPORT_FILE, /* val */ + TK_M_IMPORT_PROG, /* val */ +@@ -201,7 +200,6 @@ struct token { + uid_t uid; + gid_t gid; + int devlink_prio; +- int event_timeout; + int watch; + enum udev_builtin_cmd builtin_cmd; + }; +@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) + [TK_M_PARENTS_MAX] = "M PARENTS_MAX", + + [TK_M_TEST] = "M TEST", +- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", + [TK_M_PROGRAM] = "M PROGRAM", + [TK_M_IMPORT_FILE] = "M IMPORT_FILE", + [TK_M_IMPORT_PROG] = "M IMPORT_PROG", +@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) + case TK_A_SECLABEL: + log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); + break; +- case TK_M_EVENT_TIMEOUT: +- log_debug("%s %u", token_str(type), token->key.event_timeout); +- break; + case TK_A_GOTO: + log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); + break; +@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + return 0; + } + +-static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) +-{ ++static int import_program_into_properties(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; + char result[UTIL_LINE_SIZE]; +@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, + case TK_A_MODE_ID: + token->key.mode = *(mode_t *)data; + break; +- case TK_M_EVENT_TIMEOUT: +- token->key.event_timeout = *(int *)data; +- break; + case TK_RULE: + case TK_M_PARENTS_MIN: + case TK_M_PARENTS_MAX: +@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, + rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); + } + +- pos = strstr(value, "event_timeout="); +- if (pos != NULL) { +- int tout = atoi(&pos[strlen("event_timeout=")]); +- +- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); +- } +- +- pos = strstr(value, "string_escape="); + if (pos != NULL) { + pos = &pos[strlen("string_escape=")]; + if (startswith(pos, "none")) +@@ -1829,8 +1813,10 @@ enum escape_type { + ESCAPE_REPLACE, + }; + +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) +-{ ++int udev_rules_apply_to_event(struct udev_rules *rules, ++ struct udev_event *event, ++ usec_t timeout_usec, ++ const sigset_t *sigmask) { + struct token *cur; + struct token *rule; + enum escape_type esc = ESCAPE_UNSET; +@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + goto nomatch; + break; + } +- case TK_M_EVENT_TIMEOUT: +- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); +- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; +- break; + case TK_M_PROGRAM: { + char program[UTIL_PATH_SIZE]; + char **envp; +@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index 62538bc..4aca70b 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -43,7 +43,6 @@ struct udev_event { + struct udev_list run_list; + int exec_delay; + usec_t birth_usec; +- usec_t timeout_usec; + int fd_signal; + unsigned int builtin_run; + unsigned int builtin_ret; +@@ -72,7 +71,7 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * + int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 6a2f548..52cc26c 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +diff --git src/udev/udevd.c src/udev/udevd.c +index c5dd739..dee7a87 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,7 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static int event_timeout = 30; ++static usec_t event_timeout_usec = 30 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -313,13 +313,10 @@ static void worker_new(struct event *event) + } + } + +- if (event_timeout != 30) +- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; +- + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) + } else if (startswith(opt, "udev.exec-delay=")) { + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { +- event_timeout = strtoul(opt + 16, NULL, 0); ++ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; + } + + free(s); + } + } + +-int main(int argc, char *argv[]) +-{ ++int main(int argc, char *argv[]) { + struct udev *udev; + sigset_t mask; + int daemonize = false; +@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) + exec_delay = strtoul(optarg, NULL, 0); + break; + case 't': +- event_timeout = strtoul(optarg, NULL, 0); ++ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; + break; + case 'D': + debug = true; +@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) + " --debug\n" + " --children-max=\n" + " --exec-delay=\n" ++ " --event-timeout=\n" + " --resolve-names=early|late|never\n" + " --version\n" + " --help\n" +@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, +- worker->event ? worker->event->devpath : ""); ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; + + /* drop reference taken for state 'running' */ + worker_unref(worker); +- if (worker->event) { +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event); +- worker->event = NULL; +- } ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event); ++ worker->event = NULL; + } + } + +-- +1.7.9.2 + diff --git a/1058-udev-unify-event-timeout-handling.patch b/1058-udev-unify-event-timeout-handling.patch new file mode 100644 index 00000000..a92d15f7 --- /dev/null +++ b/1058-udev-unify-event-timeout-handling.patch @@ -0,0 +1,504 @@ +Based on dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 29 Jul 2014 15:18:27 +0200 +Subject: [PATCH] udev: unify event timeout handling + +--- + man/systemd-udevd.service.xml | 7 +++--- + man/udev.xml | 7 ------ + src/test/test-udev.c | 5 ++-- + src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- + src/udev/udev-rules.c | 38 ++++++++--------------------- + src/udev/udev.h | 8 +++---- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 32 ++++++++++--------------- + 8 files changed, 61 insertions(+), 91 deletions(-) + +diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml +index 8de43b1..3053dc7 100644 +--- man/systemd-udevd.service.xml ++++ man/systemd-udevd.service.xml +@@ -99,9 +99,8 @@ + + + +- Wait for the event to finish up to the given +- number of seconds. After this time the event will +- be terminated. Default is 30. ++ Set the number of seconds to wait for events to finish. After ++ this time the event will be terminated. The default is 30 seconds. + + + +@@ -171,7 +170,7 @@ + + Wait for events to finish up to the given number + of seconds. This option might be useful if events are +- terminated due to a timeout in large configurations. ++ terminated due to kernel drivers taking too long to initialize. + + + +diff --git man/udev.xml man/udev.xml +index 4e5f8f0..123c073 100644 +--- man/udev.xml ++++ man/udev.xml +@@ -516,13 +516,6 @@ + + + +- +- +- Number of seconds an event waits for operations to finish before +- giving up and terminating itself. +- +- +- + + + Usually control and other possibly unsafe characters are replaced +diff --git src/test/test-udev.c src/test/test-udev.c +index b057cc8..26d6537 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -80,7 +80,6 @@ out: + return err; + } + +- + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; +@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 5213a4a..6ad80d5 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) + udev_list_init(udev, &event->seclabel_list, false); + event->fd_signal = -1; + event->birth_usec = now(CLOCK_MONOTONIC); +- event->timeout_usec = 30 * 1000 * 1000; + return event; + } + +@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, + } + + static void spawn_read(struct udev_event *event, +- const char *cmd, +- int fd_stdout, int fd_stderr, +- char *result, size_t ressize) ++ usec_t timeout_usec, ++ const char *cmd, ++ int fd_stdout, int fd_stderr, ++ char *result, size_t ressize) + { + size_t respos = 0; + int fd_ep = -1; +@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, + struct epoll_event ev[4]; + int i; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) { ++ if (age_usec >= timeout_usec) { + log_error("timeout '%s'", cmd); + goto out; + } +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -543,8 +543,9 @@ out: + close(fd_ep); + } + +-static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) +-{ ++static int spawn_wait(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; + +@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) + int timeout; + int fdcount; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) ++ if (age_usec >= timeout_usec) + timeout = 1000; + else +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -657,9 +658,9 @@ out: + } + + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, +- char *result, size_t ressize) +-{ ++ char *result, size_t ressize) { + struct udev *udev = event->udev; + int outpipe[2] = {-1, -1}; + int errpipe[2] = {-1, -1}; +@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, + errpipe[WRITE_END] = -1; + } + +- spawn_read(event, cmd, +- outpipe[READ_END], errpipe[READ_END], +- result, ressize); ++ spawn_read(event, ++ timeout_usec, ++ cmd, ++ outpipe[READ_END], errpipe[READ_END], ++ result, ressize); + +- err = spawn_wait(event, cmd, pid); ++ err = spawn_wait(event, timeout_usec, cmd, pid); + } + + out: +@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) + return r; + } + +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) +-{ ++void udev_event_execute_rules(struct udev_event *event, ++ usec_t timeout_usec, ++ struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + + if (udev_device_get_subsystem(dev) == NULL) +@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + udev_watch_end(event->udev, event->dev_db); + } + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + } + } + +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +-{ ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9864016..aacde38 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -137,7 +137,6 @@ enum token_type { + TK_M_PARENTS_MAX, + + TK_M_TEST, /* val, mode_t */ +- TK_M_EVENT_TIMEOUT, /* int */ + TK_M_PROGRAM, /* val */ + TK_M_IMPORT_FILE, /* val */ + TK_M_IMPORT_PROG, /* val */ +@@ -201,7 +200,6 @@ struct token { + uid_t uid; + gid_t gid; + int devlink_prio; +- int event_timeout; + int watch; + enum udev_builtin_cmd builtin_cmd; + }; +@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) + [TK_M_PARENTS_MAX] = "M PARENTS_MAX", + + [TK_M_TEST] = "M TEST", +- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", + [TK_M_PROGRAM] = "M PROGRAM", + [TK_M_IMPORT_FILE] = "M IMPORT_FILE", + [TK_M_IMPORT_PROG] = "M IMPORT_PROG", +@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) + case TK_A_SECLABEL: + log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); + break; +- case TK_M_EVENT_TIMEOUT: +- log_debug("%s %u", token_str(type), token->key.event_timeout); +- break; + case TK_A_GOTO: + log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); + break; +@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + return 0; + } + +-static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) +-{ ++static int import_program_into_properties(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; + char result[UTIL_LINE_SIZE]; +@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, + case TK_A_MODE_ID: + token->key.mode = *(mode_t *)data; + break; +- case TK_M_EVENT_TIMEOUT: +- token->key.event_timeout = *(int *)data; +- break; + case TK_RULE: + case TK_M_PARENTS_MIN: + case TK_M_PARENTS_MAX: +@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, + rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); + } + +- pos = strstr(value, "event_timeout="); +- if (pos != NULL) { +- int tout = atoi(&pos[strlen("event_timeout=")]); +- +- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); +- } +- +- pos = strstr(value, "string_escape="); + if (pos != NULL) { + pos = &pos[strlen("string_escape=")]; + if (startswith(pos, "none")) +@@ -1829,8 +1813,10 @@ enum escape_type { + ESCAPE_REPLACE, + }; + +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) +-{ ++int udev_rules_apply_to_event(struct udev_rules *rules, ++ struct udev_event *event, ++ usec_t timeout_usec, ++ const sigset_t *sigmask) { + struct token *cur; + struct token *rule; + enum escape_type esc = ESCAPE_UNSET; +@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + goto nomatch; + break; + } +- case TK_M_EVENT_TIMEOUT: +- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); +- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; +- break; + case TK_M_PROGRAM: { + char program[UTIL_PATH_SIZE]; + char **envp; +@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index 62538bc..4aca70b 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -43,7 +43,6 @@ struct udev_event { + struct udev_list run_list; + int exec_delay; + usec_t birth_usec; +- usec_t timeout_usec; + int fd_signal; + unsigned int builtin_run; + unsigned int builtin_ret; +@@ -72,7 +71,7 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * + int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 6a2f548..52cc26c 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +diff --git src/udev/udevd.c src/udev/udevd.c +index c5dd739..dee7a87 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,7 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static int event_timeout = 30; ++static usec_t event_timeout_usec = 30 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -313,13 +313,10 @@ static void worker_new(struct event *event) + } + } + +- if (event_timeout != 30) +- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; +- + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) + } else if (startswith(opt, "udev.exec-delay=")) { + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { +- event_timeout = strtoul(opt + 16, NULL, 0); ++ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; + } + + free(s); + } + } + +-int main(int argc, char *argv[]) +-{ ++int main(int argc, char *argv[]) { + struct udev *udev; + sigset_t mask; + int daemonize = false; +@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) + exec_delay = strtoul(optarg, NULL, 0); + break; + case 't': +- event_timeout = strtoul(optarg, NULL, 0); ++ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; + break; + case 'D': + debug = true; +@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) + " --debug\n" + " --children-max=\n" + " --exec-delay=\n" ++ " --event-timeout=\n" + " --resolve-names=early|late|never\n" + " --version\n" + " --help\n" +@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, +- worker->event ? worker->event->devpath : ""); ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; + + /* drop reference taken for state 'running' */ + worker_unref(worker); +- if (worker->event) { +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event, true); +- worker->event = NULL; +- } ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event, true); ++ worker->event = NULL; + } + } + +-- +1.7.9.2 + diff --git a/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch b/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch new file mode 100644 index 00000000..62d5d665 --- /dev/null +++ b/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch @@ -0,0 +1,26 @@ +From 9f20a8a376f924c8eb5423cfc1f98644fc1e2d1a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Wed, 30 Jul 2014 10:10:46 +0200 +Subject: [PATCH] udev: fixup commit dd5eddd28a74a49607a8fffcaf960040dba98479 + +Commit dd5eddd28a74a49607a8fffcaf960040dba98479 accidentally +removed one line too many. +--- + src/udev/udev-rules.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 59bc124..cc56215 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -1436,6 +1436,7 @@ static int add_rule(struct udev_rules *rules, char *line, + rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); + } + ++ pos = strstr(value, "string_escape="); + if (pos != NULL) { + pos = &pos[strlen("string_escape=")]; + if (startswith(pos, "none")) +-- +1.7.9.2 + diff --git a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch new file mode 100644 index 00000000..862afa48 --- /dev/null +++ b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch @@ -0,0 +1,43 @@ +From: Jeff Mahoney +Subject: udev: use device mapper target name for btrfs device ready +References: bnc#888215 + +When udev gets a change event for a block device, it calls the builtin +btrfs helper to scan it for a btrfs file system. If the file system was +mounted using a device mapper node, mount(8) will have looked up the +device mapper table and used the /dev/mapper/ node for mount. + +If something like partprobe runs, and then causes change events to be +handled, the btrfs ready event is handled using /dev/dm-N instead of +the device mapper named node. Btrfs caches the last name passed to +the scanning ioctl and uses that to report the device name for +things like /proc/mounts. + +So, after running partprobe we go from: +/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache) +... to ... +/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache) + +This doesn't apply only to LVM device, but multipath as well. + +If the device is a DM device, udev will have already cached the table name +from sysfs and we can use that to pass /dev/mapper/ to the builtin +so that the correct name is used. + +Signed-off-by: Jeff Mahoney +--- + rules/64-btrfs.rules | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/rules/64-btrfs.rules ++++ b/rules/64-btrfs.rules +@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en + ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" + + # let the kernel know about this btrfs filesystem, and check if it is complete +-IMPORT{builtin}="btrfs ready $devnode" ++ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode" ++ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}" + + # mark the device as not ready to be used by the system + ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0" diff --git a/systemd-mini.changes b/systemd-mini.changes index f4d2a66b..04737d6e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com + +- Rename: + udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + to + 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + +------------------------------------------------------------------- +Wed Jul 30 21:10:21 UTC 2014 - jeffm@suse.com + +- udev: use device mapper target name for btrfs device ready (bnc#888215). +- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + +------------------------------------------------------------------- +Wed Jul 30 12:53:07 UTC 2014 - werner@suse.de + +- Add patch tomcat6-var-lock-subsys-legacy.patch to add the + compatibility directory /var/lock/subsys (bnc#889357) + +------------------------------------------------------------------- +Wed Jul 30 11:45:21 UTC 2014 - werner@suse.de + +- Add portabiltiy patch + 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch + +------------------------------------------------------------------- +Wed Jul 30 11:32:23 UTC 2014 - werner@suse.de + +- Port and add upstream patch + 0001-sysv-order-initscripts-which-provide-network-before-.patch + 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch + 0003-keymap-Annotate-all-micmute-workarounds.patch + +------------------------------------------------------------------- +Wed Jul 30 11:10:34 UTC 2014 - werner@suse.de + +- Add patch tty-ask-password-agent-on-console.patch that is for system + console do ask passphrases on all devices of the console (bnc#886211) + +------------------------------------------------------------------- +Wed Jul 30 11:02:27 UTC 2014 - werner@suse.de + +- Add former SUSE and/now upstream patches (bnc#889297) + 1056-udevd-add-event-timeout-commandline-option.patch + 1057-udev-unify-event-timeout-handling.patch + 1058-udev-unify-event-timeout-handling.patch (backport for + compatibility if patch 1022 is not applied) + 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch + ------------------------------------------------------------------- Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 24ae5099..687f6ba4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -749,6 +749,16 @@ Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch # PATCH-FIX-UPSTREAM added at 2014/07/28 Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch +# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console +Patch362: tty-ask-password-agent-on-console.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch +# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) +Patch366: tomcat6-var-lock-subsys-legacy.patch # UDEV PATCHES # ============ @@ -864,6 +874,18 @@ Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch Patch1053: 1053-better-checks-in-write_net_rules.patch # PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch +# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch +Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch +# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch +Patch1057: 1057-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch +Patch1058: 1058-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1384,6 +1406,11 @@ cp %{SOURCE7} m4/ %patch359 -p0 %patch360 -p0 %patch361 -p0 +%patch362 -p1 +%patch363 -p0 +%patch364 -p0 +%patch365 -p0 +%patch366 -p1 # udev patches %patch1001 -p1 @@ -1456,7 +1483,17 @@ cp %{SOURCE7} m4/ %patch1053 -p1 %if %{with blkrrpart} %patch1054 -p0 +%else +%patch1055 -p1 %endif +%patch1056 -p0 +%if %{with udevsettle} +%patch1057 -p0 +%else +%patch1058 -p0 +%endif +%patch1059 -p0 +%patch1060 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index f4d2a66b..04737d6e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com + +- Rename: + udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + to + 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + +------------------------------------------------------------------- +Wed Jul 30 21:10:21 UTC 2014 - jeffm@suse.com + +- udev: use device mapper target name for btrfs device ready (bnc#888215). +- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + +------------------------------------------------------------------- +Wed Jul 30 12:53:07 UTC 2014 - werner@suse.de + +- Add patch tomcat6-var-lock-subsys-legacy.patch to add the + compatibility directory /var/lock/subsys (bnc#889357) + +------------------------------------------------------------------- +Wed Jul 30 11:45:21 UTC 2014 - werner@suse.de + +- Add portabiltiy patch + 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch + +------------------------------------------------------------------- +Wed Jul 30 11:32:23 UTC 2014 - werner@suse.de + +- Port and add upstream patch + 0001-sysv-order-initscripts-which-provide-network-before-.patch + 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch + 0003-keymap-Annotate-all-micmute-workarounds.patch + +------------------------------------------------------------------- +Wed Jul 30 11:10:34 UTC 2014 - werner@suse.de + +- Add patch tty-ask-password-agent-on-console.patch that is for system + console do ask passphrases on all devices of the console (bnc#886211) + +------------------------------------------------------------------- +Wed Jul 30 11:02:27 UTC 2014 - werner@suse.de + +- Add former SUSE and/now upstream patches (bnc#889297) + 1056-udevd-add-event-timeout-commandline-option.patch + 1057-udev-unify-event-timeout-handling.patch + 1058-udev-unify-event-timeout-handling.patch (backport for + compatibility if patch 1022 is not applied) + 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch + ------------------------------------------------------------------- Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 0031cf2e..88659bfc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -744,6 +744,16 @@ Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch # PATCH-FIX-UPSTREAM added at 2014/07/28 Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch +# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console +Patch362: tty-ask-password-agent-on-console.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch +# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) +Patch366: tomcat6-var-lock-subsys-legacy.patch # UDEV PATCHES # ============ @@ -859,6 +869,18 @@ Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch Patch1053: 1053-better-checks-in-write_net_rules.patch # PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch +# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch +Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch +# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch +Patch1057: 1057-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch +Patch1058: 1058-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1379,6 +1401,11 @@ cp %{SOURCE7} m4/ %patch359 -p0 %patch360 -p0 %patch361 -p0 +%patch362 -p1 +%patch363 -p0 +%patch364 -p0 +%patch365 -p0 +%patch366 -p1 # udev patches %patch1001 -p1 @@ -1451,7 +1478,17 @@ cp %{SOURCE7} m4/ %patch1053 -p1 %if %{with blkrrpart} %patch1054 -p0 +%else +%patch1055 -p1 %endif +%patch1056 -p0 +%if %{with udevsettle} +%patch1057 -p0 +%else +%patch1058 -p0 +%endif +%patch1059 -p0 +%patch1060 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/tomcat6-var-lock-subsys-legacy.patch b/tomcat6-var-lock-subsys-legacy.patch new file mode 100644 index 00000000..71452e81 --- /dev/null +++ b/tomcat6-var-lock-subsys-legacy.patch @@ -0,0 +1,18 @@ +Provide /run/lock/subsys directory to be able to provide the +/var/lock/subsys via the symbolic link /var/lock (bnc#889357) + +--- + tmpfiles.d/legacy.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- systemd-210/tmpfiles.d/legacy.conf ++++ systemd-210/tmpfiles.d/legacy.conf 2014-07-30 12:36:36.862735670 +0000 +@@ -16,7 +16,7 @@ d /run/lock 0775 root lock - + # /run/lock/subsys is used for serializing SysV service execution, and + # hence without use on SysV-less systems. + +-#d /run/lock/subsys 0755 root root - ++d /run/lock/subsys 0755 root root - + + # /run/lock/lockdev is used to serialize access to tty devices via + # LCK..xxx style lock files, For more information see: diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch new file mode 100644 index 00000000..1091a730 --- /dev/null +++ b/tty-ask-password-agent-on-console.patch @@ -0,0 +1,285 @@ +--- + src/tty-ask-password-agent/tty-ask-password-agent.c | 190 +++++++++++++++++++- + 1 file changed, 185 insertions(+), 5 deletions(-) + +--- systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-30 10:48:43.602052750 +0000 +@@ -28,8 +28,12 @@ + #include + #include + #include ++#include + #include ++#include ++#include + #include ++#include + #include + + #include "util.h" +@@ -41,6 +45,9 @@ + #include "ask-password-api.h" + #include "strv.h" + #include "build.h" ++#include "fileio.h" ++#include "macro.h" ++#include "list.h" + + static enum { + ACTION_LIST, +@@ -49,6 +56,21 @@ static enum { + ACTION_WALL + } arg_action = ACTION_QUERY; + ++struct console { ++ LIST_FIELDS(struct console, handle); ++ char *tty; ++ pid_t pid; ++ int id; ++}; ++ ++static volatile uint32_t *usemask; ++static volatile sig_atomic_t sigchild; ++static void chld_handler(int sig) ++{ ++ (void)sig; ++ sigchild++; ++} ++ + static bool arg_plymouth = false; + static bool arg_console = false; + +@@ -246,12 +268,77 @@ finish: + return r; + } + ++static const char *current_dev = "/dev/console"; ++static LIST_HEAD(struct console, consoles); ++static int collect_consoles(void) { ++ _cleanup_free_ char *active = NULL; ++ char *w, *state; ++ struct console *c; ++ size_t l; ++ int id; ++ int r; ++ ++ r = read_one_line_file("/sys/class/tty/console/active", &active); ++ if (r < 0) ++ return r; ++ ++ id = 0; ++ FOREACH_WORD(w, l, active, state) { ++ _cleanup_free_ char *tty = NULL; ++ ++ if (strneq(w, "tty0", l)) { ++ if (read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { ++ w = tty; ++ l = strlen(tty); ++ } ++ } ++ ++ c = malloc0(sizeof(struct console)+5+l+1); ++ if (!c) { ++ log_oom(); ++ continue; ++ } ++ ++ c->tty = ((char*)c)+sizeof(struct console); ++ stpncpy(stpcpy(c->tty, "/dev/"),w,l); ++ c->id = id++; ++ ++ LIST_PREPEND(handle, consoles, c); ++ } ++ ++ if (!consoles) { ++ ++ c = malloc0(sizeof(struct console)); ++ if (!c) { ++ log_oom(); ++ return -ENOMEM; ++ } ++ ++ c->tty = (char *)current_dev; ++ c->id = id++; ++ ++ LIST_PREPEND(handle, consoles, c); ++ } ++ ++ return 0; ++} ++ ++static void free_consoles(void) { ++ struct console *c; ++ LIST_FOREACH(handle, c, consoles) { ++ LIST_REMOVE(handle, consoles, c); ++ free(c); ++ } ++ LIST_HEAD_INIT(consoles); ++} ++ + static int parse_password(const char *filename, char **wall) { + char *socket_name = NULL, *message = NULL, *packet = NULL; + uint64_t not_after = 0; + unsigned pid = 0; + int socket_fd = -1; + bool accept_cached = false; ++ size_t packet_length = 0; + + const ConfigTableItem items[] = { + { "Ask", "Socket", config_parse_string, 0, &socket_name }, +@@ -323,7 +410,6 @@ static int parse_password(const char *fi + struct sockaddr sa; + struct sockaddr_un un; + } sa = {}; +- size_t packet_length = 0; + + assert(arg_action == ACTION_QUERY || + arg_action == ACTION_WATCH); +@@ -365,7 +451,7 @@ static int parse_password(const char *fi + char *password = NULL; + + if (arg_console) +- if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) { ++ if ((tty_fd = acquire_terminal(current_dev, false, false, true, (usec_t) -1)) < 0) { + r = tty_fd; + goto finish; + } +@@ -386,6 +472,7 @@ static int parse_password(const char *fi + strcpy(packet+1, password); + } + ++ memset(password, 0, strlen(password)); + free(password); + } + } +@@ -423,6 +510,7 @@ finish: + if (socket_fd >= 0) + close_nointr_nofail(socket_fd); + ++ memset(packet, 0, packet_length); + free(packet); + free(socket_name); + free(message); +@@ -726,8 +814,10 @@ static int parse_argv(int argc, char *ar + } + + int main(int argc, char *argv[]) { ++ int id = 0; + int r; + ++ LIST_HEAD_INIT(consoles); + log_set_target(LOG_TARGET_AUTO); + log_parse_environment(); + log_open(); +@@ -737,11 +827,99 @@ int main(int argc, char *argv[]) { + if ((r = parse_argv(argc, argv)) <= 0) + goto finish; + ++ usemask = (uint32_t*) mmap(NULL, sizeof(uint32_t), PROT_READ|PROT_WRITE, ++ MAP_ANONYMOUS|MAP_SHARED, -1, 0); ++ + if (arg_console) { +- setsid(); +- release_terminal(); +- } ++ if (!arg_plymouth && arg_action != ACTION_WALL && ++ arg_action != ACTION_LIST) { ++ struct console *c; ++ struct sigaction sig = { ++ .sa_handler = chld_handler, ++ .sa_flags = SA_NOCLDSTOP|SA_RESTART, ++ }; ++ struct sigaction oldsig; ++ sigset_t set, oldset; ++ int status = 0; ++ pid_t job; ++ ++ collect_consoles(); ++ ++ if (!consoles->handle_next) { ++ consoles->pid = 0; ++ c = consoles; ++ goto nofork; ++ } + ++ assert_se(sigemptyset(&set) == 0); ++ assert_se(sigaddset(&set, SIGHUP) == 0); ++ assert_se(sigaddset(&set, SIGCHLD) == 0); ++ assert_se(sigemptyset(&sig.sa_mask) == 0); ++ ++ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); ++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); ++ sig.sa_handler = SIG_DFL; ++ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); ++ LIST_FOREACH(handle, c, consoles) { ++ ++ switch ((c->pid = fork())) { ++ case 0: ++ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) ++ _exit(EXIT_FAILURE); ++ zero(sig); ++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); ++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); ++ /* fall through */ ++ nofork: ++ setsid(); ++ release_terminal(); ++ id = c->id; ++ *usemask |= (1<tty; ++ goto forked; /* child */ ++ case -1: ++ log_error("Failed to query password: %s", strerror(errno)); ++ return EXIT_FAILURE; ++ default: ++ break; ++ } ++ } ++ ++ r = 0; ++ while ((job = wait(&status))) { ++ if (job < 0) { ++ if (errno != EINTR) ++ break; ++ continue; ++ } ++ LIST_FOREACH(handle, c, consoles) { ++ if (c->pid == job) { ++ *usemask &= ~(1<id); ++ continue; ++ } ++ if (kill(c->pid, 0) < 0) { ++ *usemask &= ~(1<id); ++ continue; ++ } ++ if (*usemask & (1<id)) ++ continue; ++ kill(c->pid, SIGHUP); ++ usleep(50000); ++ kill(c->pid, SIGKILL); ++ } ++ ++ if (WIFEXITED(status) && !r) ++ r = WEXITSTATUS(status); ++ } ++ free_consoles(); ++ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; /* parent */ ++ ++ } else { ++ setsid(); ++ release_terminal(); ++ } ++ } ++forked: + if (arg_action == ACTION_WATCH || + arg_action == ACTION_WALL) + r = watch_passwords(); +@@ -751,6 +929,8 @@ int main(int argc, char *argv[]) { + if (r < 0) + log_error("Error: %s", strerror(-r)); + ++ free_consoles(); ++ *usemask &= ~(1< Date: Sun, 3 Aug 2014 13:36:33 +0000 Subject: [PATCH 193/991] Accepting request 243367 from Base:System - Add upstream patches 0007-hwdb-update.patch 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - Add upstream patches 0007-hwdb-update.patch 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch OBS-URL: https://build.opensuse.org/request/show/243367 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=198 --- 0007-hwdb-update.patch | 1910 +++++++++++++++++ ...emd-to-manage-loop-device-partitions.patch | 32 + systemd-mini.changes | 7 + systemd-mini.spec | 6 + systemd.changes | 7 + systemd.spec | 6 + 6 files changed, 1968 insertions(+) create mode 100644 0007-hwdb-update.patch create mode 100644 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch diff --git a/0007-hwdb-update.patch b/0007-hwdb-update.patch new file mode 100644 index 00000000..462cdb4a --- /dev/null +++ b/0007-hwdb-update.patch @@ -0,0 +1,1910 @@ +Based on bd64a88fb0478da2e93c363849b73aed8be36ae7 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 31 Jul 2014 23:06:04 +0200 +Subject: [PATCH] hwdb: update + +--- + 20-OUI.hwdb | 380 +++++++++++++++++++++++++++++++++++++++++++++-- + 20-pci-vendor-model.hwdb | 35 +++- + 20-usb-vendor-model.hwdb | 208 +++++++++++++++++++++++-- + 3 files changed, 586 insertions(+), 37 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 97f1e6b..f9501be 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -23288,7 +23288,7 @@ OUI:000CB1* + ID_OUI_FROM_DATABASE=Salland Engineering (Europe) BV + + OUI:000CB2* +- ID_OUI_FROM_DATABASE=Comstar Co., Ltd. ++ ID_OUI_FROM_DATABASE=UNION co., ltd. + + OUI:000CB3* + ID_OUI_FROM_DATABASE=ROUND Co.,Ltd. +@@ -23528,7 +23528,7 @@ OUI:000D01* + ID_OUI_FROM_DATABASE=P&E Microcomputer Systems, Inc. + + OUI:000D02* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:000D03* + ID_OUI_FROM_DATABASE=Matrics, Inc. +@@ -30311,7 +30311,7 @@ OUI:0015DF* + ID_OUI_FROM_DATABASE=Clivet S.p.A. + + OUI:0015E0* +- ID_OUI_FROM_DATABASE=ST-Ericsson ++ ID_OUI_FROM_DATABASE=Ericsson + + OUI:0015E1* + ID_OUI_FROM_DATABASE=Picochip Ltd +@@ -32375,7 +32375,7 @@ OUI:001893* + ID_OUI_FROM_DATABASE=SHENZHEN PHOTON BROADBAND TECHNOLOGY CO.,LTD + + OUI:001894* +- ID_OUI_FROM_DATABASE=zimocom ++ ID_OUI_FROM_DATABASE=NPCore, Inc. + + OUI:001895* + ID_OUI_FROM_DATABASE=Hansun Technologies Inc. +@@ -33887,7 +33887,7 @@ OUI:001A8B* + ID_OUI_FROM_DATABASE=CHUNIL ELECTRIC IND., CO. + + OUI:001A8C* +- ID_OUI_FROM_DATABASE=Astaro AG ++ ID_OUI_FROM_DATABASE=Sophos Ltd + + OUI:001A8D* + ID_OUI_FROM_DATABASE=AVECS Bergen GmbH +@@ -34652,7 +34652,7 @@ OUI:001B8A* + ID_OUI_FROM_DATABASE=2M Electronic A/S + + OUI:001B8B* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:001B8C* + ID_OUI_FROM_DATABASE=JMicron Technology Corp. +@@ -35066,7 +35066,7 @@ OUI:001C14* + ID_OUI_FROM_DATABASE=VMware, Inc + + OUI:001C15* +- ID_OUI_FROM_DATABASE=TXP Corporation ++ ID_OUI_FROM_DATABASE=iPhotonix LLC + + OUI:001C16* + ID_OUI_FROM_DATABASE=ThyssenKrupp Elevator +@@ -35975,7 +35975,7 @@ OUI:001D43* + ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. + + OUI:001D44* +- ID_OUI_FROM_DATABASE=KROHNE ++ ID_OUI_FROM_DATABASE=KROHNE Messtechnik GmbH + + OUI:001D45* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +@@ -36863,7 +36863,7 @@ OUI:001E6B* + ID_OUI_FROM_DATABASE=Cisco SPVTG + + OUI:001E6C* +- ID_OUI_FROM_DATABASE=Carbon Mountain LLC ++ ID_OUI_FROM_DATABASE=Opaque Systems + + OUI:001E6D* + ID_OUI_FROM_DATABASE=IT R&D Center +@@ -38471,7 +38471,7 @@ OUI:002084* + ID_OUI_FROM_DATABASE=OCE PRINTING SYSTEMS, GMBH + + OUI:002085* +- ID_OUI_FROM_DATABASE=EXIDE ELECTRONICS ++ ID_OUI_FROM_DATABASE=Eaton Corporation + + OUI:002086* + ID_OUI_FROM_DATABASE=MICROTECH ELECTRONICS LIMITED +@@ -44312,7 +44312,7 @@ OUI:003A9C* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:003A9D* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:003AAF* + ID_OUI_FROM_DATABASE=BlueBit Ltd. +@@ -46394,7 +46394,7 @@ OUI:0060B8* + ID_OUI_FROM_DATABASE=CORELIS Inc. + + OUI:0060B9* +- ID_OUI_FROM_DATABASE=NEC Infrontia Corporation ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd + + OUI:0060BA* + ID_OUI_FROM_DATABASE=SAHARA NETWORKS, INC. +@@ -49015,6 +49015,9 @@ OUI:00A1DE* + OUI:00A2DA* + ID_OUI_FROM_DATABASE=INAT GmbH + ++OUI:00A2F5* ++ ID_OUI_FROM_DATABASE=Guangzhou Yuanyun Network Technology Co.,Ltd ++ + OUI:00A2FF* + ID_OUI_FROM_DATABASE=abatec group AG + +@@ -49036,6 +49039,9 @@ OUI:00AA70* + OUI:00ACE0* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:00AEFA* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:00B009* + ID_OUI_FROM_DATABASE=Grass Valley Group + +@@ -51613,6 +51619,9 @@ OUI:00F403* + OUI:00F4B9* + ID_OUI_FROM_DATABASE=Apple + ++OUI:00F76F* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:00F860* + ID_OUI_FROM_DATABASE=PT. Panggung Electric Citrabuana + +@@ -51844,6 +51853,9 @@ OUI:0494A1* + OUI:0498F3* + ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd. + ++OUI:0499E6* ++ ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd ++ + OUI:049C62* + ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. + +@@ -52423,6 +52435,9 @@ OUI:0808C2* + OUI:0808EA* + ID_OUI_FROM_DATABASE=AMSC + ++OUI:0809B6* ++ ID_OUI_FROM_DATABASE=Masimo Corp ++ + OUI:080C0B* + ID_OUI_FROM_DATABASE=SysMik GmbH Dresden + +@@ -52438,6 +52453,9 @@ OUI:080EA8* + OUI:080FFA* + ID_OUI_FROM_DATABASE=KSP INC. + ++OUI:08115E* ++ ID_OUI_FROM_DATABASE=Bitel Co., Ltd. ++ + OUI:081196* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -52597,6 +52615,9 @@ OUI:087D21* + OUI:088039* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:0881BC* ++ ID_OUI_FROM_DATABASE=HongKong Ipro Technology Co., Limited ++ + OUI:0881F4* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -52693,6 +52714,9 @@ OUI:08E5DA* + OUI:08E672* + ID_OUI_FROM_DATABASE=JEBSEE ELECTRONICS CO.,LTD. + ++OUI:08E84F* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:08EA44* + ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. + +@@ -52759,6 +52783,9 @@ OUI:0C17F1* + OUI:0C191F* + ID_OUI_FROM_DATABASE=Inform Electronik + ++OUI:0C1DAF* ++ ID_OUI_FROM_DATABASE=Beijing Xiaomi communications co.,ltd ++ + OUI:0C1DC2* + ID_OUI_FROM_DATABASE=SeAH Networks + +@@ -53080,6 +53107,9 @@ OUI:1001CA* + OUI:1005CA* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:1008B1* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:10090C* + ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. + +@@ -53200,6 +53230,9 @@ OUI:104B46* + OUI:104D77* + ID_OUI_FROM_DATABASE=Innovative Computer Engineering + ++OUI:104E07* ++ ID_OUI_FROM_DATABASE=Shanghai Genvision Industries Co.,Ltd ++ + OUI:105172* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + +@@ -53234,7 +53267,7 @@ OUI:1065CF* + ID_OUI_FROM_DATABASE=IQSIM + + OUI:106682* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:10683F* + ID_OUI_FROM_DATABASE=LG Electronics +@@ -53668,6 +53701,9 @@ OUI:14F42A* + OUI:14F65A* + ID_OUI_FROM_DATABASE=Xiaomi inc. + ++OUI:14F893* ++ ID_OUI_FROM_DATABASE=Wuhan FiberHome Digital Technology Co.,Ltd. ++ + OUI:14FEAF* + ID_OUI_FROM_DATABASE=SAGITTAR LIMITED + +@@ -54190,6 +54226,9 @@ OUI:1C7C45* + OUI:1C7CC7* + ID_OUI_FROM_DATABASE=Coriant GmbH + ++OUI:1C7E51* ++ ID_OUI_FROM_DATABASE=3bumen.com ++ + OUI:1C7EE5* + ID_OUI_FROM_DATABASE=D-Link International + +@@ -54220,6 +54259,9 @@ OUI:1C955D* + OUI:1C959F* + ID_OUI_FROM_DATABASE=Veethree Electronics And Marine LLC + ++OUI:1C965A* ++ ID_OUI_FROM_DATABASE=Weifang goertek Electronics CO.,LTD ++ + OUI:1C973D* + ID_OUI_FROM_DATABASE=PRICOM Design + +@@ -54229,6 +54271,9 @@ OUI:1C994C* + OUI:1C9C26* + ID_OUI_FROM_DATABASE=Zoovel Technologies + ++OUI:1C9ECB* ++ ID_OUI_FROM_DATABASE=Beijing Nari Smartchip Microelectronics Company Limited ++ + OUI:1CA2B1* + ID_OUI_FROM_DATABASE=ruwido austria gmbh + +@@ -54254,7 +54299,7 @@ OUI:1CB094* + ID_OUI_FROM_DATABASE=HTC Corporation + + OUI:1CB17F* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:1CB243* + ID_OUI_FROM_DATABASE=TDC A/S +@@ -54478,6 +54523,9 @@ OUI:2074CF* + OUI:207600* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + ++OUI:207693* ++ ID_OUI_FROM_DATABASE=Lenovo (Beijing) Limited. ++ + OUI:207C8F* + ID_OUI_FROM_DATABASE=Quanta Microsystems,Inc. + +@@ -54766,6 +54814,9 @@ OUI:249442* + OUI:249504* + ID_OUI_FROM_DATABASE=SFR + ++OUI:2497ED* ++ ID_OUI_FROM_DATABASE=Techvision Intelligent Technology Limited ++ + OUI:24A2E1* + ID_OUI_FROM_DATABASE=Apple, Inc + +@@ -55306,6 +55357,9 @@ OUI:2C27D7* + OUI:2C282D* + ID_OUI_FROM_DATABASE=BBK COMMUNICATIAO TECHNOLOGY CO.,LTD. + ++OUI:2C2997* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:2C2D48* + ID_OUI_FROM_DATABASE=bct electronic GesmbH + +@@ -55327,6 +55381,9 @@ OUI:2C36F8* + OUI:2C3731* + ID_OUI_FROM_DATABASE=ShenZhen Yifang Digital Technology Co.,LTD + ++OUI:2C3796* ++ ID_OUI_FROM_DATABASE=CYBO CO.,LTD. ++ + OUI:2C3996* + ID_OUI_FROM_DATABASE=SAGEMCOM + +@@ -55390,6 +55447,9 @@ OUI:2C5D93* + OUI:2C5FF3* + ID_OUI_FROM_DATABASE=Pertronic Industries + ++OUI:2C600C* ++ ID_OUI_FROM_DATABASE=QUANTA COMPUTER INC. ++ + OUI:2C625A* + ID_OUI_FROM_DATABASE=Finest Security Systems Co., Ltd + +@@ -55549,12 +55609,18 @@ OUI:2CEDEB* + OUI:2CEE26* + ID_OUI_FROM_DATABASE=Petroleum Geo-Services + ++OUI:2CF0EE* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:2CF203* + ID_OUI_FROM_DATABASE=EMKO ELEKTRONIK SAN VE TIC AS + + OUI:2CF4C5* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:2CF7F1* ++ ID_OUI_FROM_DATABASE=Seeed Technology Inc. ++ + OUI:2CFAA2* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + +@@ -55570,6 +55636,9 @@ OUI:300D2A* + OUI:300ED5* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd + ++OUI:3010B3* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:3010E4* + ID_OUI_FROM_DATABASE=Apple, Inc. + +@@ -55711,6 +55780,9 @@ OUI:307512* + OUI:30766F* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:3077CB* ++ ID_OUI_FROM_DATABASE=Maike Industry(Shenzhen)CO.,LTD ++ + OUI:30786B* + ID_OUI_FROM_DATABASE=TIANJIN Golden Pentagon Electronics Co., Ltd. + +@@ -55831,6 +55903,9 @@ OUI:30F7D7* + OUI:30F9ED* + ID_OUI_FROM_DATABASE=Sony Corporation + ++OUI:30FAB7* ++ ID_OUI_FROM_DATABASE=Tunai Creative ++ + OUI:30FD11* + ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. + +@@ -55909,6 +55984,9 @@ OUI:344B3D* + OUI:344B50* + ID_OUI_FROM_DATABASE=ZTE Corporation + ++OUI:344DEA* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:344DF7* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -55942,6 +56020,9 @@ OUI:346178* + OUI:346288* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:3464A9* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:34684A* + ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. + +@@ -56152,6 +56233,9 @@ OUI:34E2FD* + OUI:34E42A* + ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. + ++OUI:34E6AD* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:34EF44* + ID_OUI_FROM_DATABASE=2Wire + +@@ -56200,6 +56284,9 @@ OUI:380B40* + OUI:380DD4* + ID_OUI_FROM_DATABASE=Primax Electronics LTD. + ++OUI:380E7B* ++ ID_OUI_FROM_DATABASE=V.P.S. Thai Co., Ltd ++ + OUI:380F4A* + ID_OUI_FROM_DATABASE=Apple + +@@ -56989,6 +57076,9 @@ OUI:40984E* + OUI:40987B* + ID_OUI_FROM_DATABASE=Aisino Corporation + ++OUI:409B0D* ++ ID_OUI_FROM_DATABASE=Shenzhen Yourf Kwan Industrial Co., Ltd ++ + OUI:409FC7* + ID_OUI_FROM_DATABASE=BAEKCHUN I&C Co., Ltd. + +@@ -57367,6 +57457,9 @@ OUI:44C56F* + OUI:44C9A2* + ID_OUI_FROM_DATABASE=Greenwald Industries + ++OUI:44CE7D* ++ ID_OUI_FROM_DATABASE=SFR ++ + OUI:44D15E* + ID_OUI_FROM_DATABASE=Shanghai Kingto Information Technology Ltd + +@@ -57703,6 +57796,9 @@ OUI:4C1480* + OUI:4C14A3* + ID_OUI_FROM_DATABASE=TCL Technoly Electronics (Huizhou) Co., Ltd. + ++OUI:4C16F1* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:4C17EB* + ID_OUI_FROM_DATABASE=SAGEMCOM + +@@ -57730,6 +57826,9 @@ OUI:4C26E7* + OUI:4C2C80* + ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd + ++OUI:4C2C83* ++ ID_OUI_FROM_DATABASE=Zhejiang KaNong Network Technology Co.,Ltd. ++ + OUI:4C2F9D* + ID_OUI_FROM_DATABASE=ICM Controls + +@@ -57754,6 +57853,9 @@ OUI:4C3B74* + OUI:4C3C16* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:4C48DA* ++ ID_OUI_FROM_DATABASE=Beijing Autelan Technology Co.,Ltd ++ + OUI:4C4B68* + ID_OUI_FROM_DATABASE=Mobile Device, Inc. + +@@ -57943,6 +58045,9 @@ OUI:4CDF3D* + OUI:4CE1BB* + ID_OUI_FROM_DATABASE=Zhuhai HiFocus Technology Co., Ltd. + ++OUI:4CE2F1* ++ ID_OUI_FROM_DATABASE=sclak srl ++ + OUI:4CE676* + ID_OUI_FROM_DATABASE=Buffalo Inc. + +@@ -58459,6 +58564,9 @@ OUI:549F35* + OUI:54A04F* + ID_OUI_FROM_DATABASE=t-mac Technologies Ltd + ++OUI:54A050* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:54A31B* + ID_OUI_FROM_DATABASE=Shenzhen Linkworld Technology Co,.LTD + +@@ -58525,6 +58633,9 @@ OUI:54E3B0* + OUI:54E43A* + ID_OUI_FROM_DATABASE=Apple, Inc. + ++OUI:54E4BD* ++ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED ++ + OUI:54E63F* + ID_OUI_FROM_DATABASE=ShenZhen LingKeWeiEr Technology Co., Ltd. + +@@ -58603,6 +58714,9 @@ OUI:581FAA* + OUI:581FEF* + ID_OUI_FROM_DATABASE=Tuttnaer LTD + ++OUI:582136* ++ ID_OUI_FROM_DATABASE=KMB systems, s.r.o. ++ + OUI:58238C* + ID_OUI_FROM_DATABASE=Technicolor CH USA + +@@ -58705,6 +58819,9 @@ OUI:587BE9* + OUI:587E61* + ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd + ++OUI:587FB7* ++ ID_OUI_FROM_DATABASE=SONAR INDUSTRIAL CO., LTD. ++ + OUI:587FC8* + ID_OUI_FROM_DATABASE=S2M + +@@ -58903,6 +59020,9 @@ OUI:5C260A* + OUI:5C2AEF* + ID_OUI_FROM_DATABASE=Open Access Pty Ltd + ++OUI:5C2BF5* ++ ID_OUI_FROM_DATABASE=Vivint ++ + OUI:5C2E59* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -59020,6 +59140,9 @@ OUI:5C95AE* + OUI:5C969D* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C97F3* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:5C9AD8* + ID_OUI_FROM_DATABASE=Fujitsu Limited + +@@ -59032,6 +59155,9 @@ OUI:5CA3EB* + OUI:5CA48A* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:5CAAFD* ++ ID_OUI_FROM_DATABASE=Sonos, Inc. ++ + OUI:5CAC4C* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -59167,6 +59293,9 @@ OUI:600308* + OUI:600347* + ID_OUI_FROM_DATABASE=Billion Electric Co. Ltd. + ++OUI:600417* ++ ID_OUI_FROM_DATABASE=POSBANK CO.,LTD ++ + OUI:600F77* + ID_OUI_FROM_DATABASE=SilverPlus, Inc + +@@ -59407,6 +59536,9 @@ OUI:60C547* + OUI:60C5A8* + ID_OUI_FROM_DATABASE=Beijing LT Honway Technology Co.,Ltd + ++OUI:60C798* ++ ID_OUI_FROM_DATABASE=Verifone, Inc. ++ + OUI:60C980* + ID_OUI_FROM_DATABASE=Trymus + +@@ -59947,6 +60079,9 @@ OUI:6828BA* + OUI:682DDC* + ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD + ++OUI:6836B5* ++ ID_OUI_FROM_DATABASE=DriveScale, Inc. ++ + OUI:683B1E* + ID_OUI_FROM_DATABASE=Countwise LTD + +@@ -60007,6 +60142,9 @@ OUI:686E48* + OUI:687251* + ID_OUI_FROM_DATABASE=Ubiquiti Networks + ++OUI:6872DC* ++ ID_OUI_FROM_DATABASE=CETORY.TV Company Limited ++ + OUI:68764F* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + +@@ -60097,6 +60235,9 @@ OUI:68AAD2* + OUI:68AB8A* + ID_OUI_FROM_DATABASE=RF IDeas + ++OUI:68AE20* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:68AF13* + ID_OUI_FROM_DATABASE=Futura Mobility + +@@ -60202,6 +60343,9 @@ OUI:6C0460* + OUI:6C09D6* + ID_OUI_FROM_DATABASE=Digiquest Electronics LTD + ++OUI:6C0B84* ++ ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co.,Ltd. ++ + OUI:6C0E0D* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + +@@ -60268,6 +60412,9 @@ OUI:6C3E6D* + OUI:6C3E9C* + ID_OUI_FROM_DATABASE=KE Knestel Elektronik GmbH + ++OUI:6C4008* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:6C40C6* + ID_OUI_FROM_DATABASE=Nimbus Data Systems, Inc. + +@@ -60850,6 +60997,12 @@ OUI:70F927* + OUI:70F96D* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:70FC8C* ++ ID_OUI_FROM_DATABASE=OneAccess SA ++ ++OUI:70FF5C* ++ ID_OUI_FROM_DATABASE=Cheerzing Communication(Xiamen)Technology Co.,Ltd ++ + OUI:70FF76* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -60967,6 +61120,9 @@ OUI:746F3D* + OUI:7472F2* + ID_OUI_FROM_DATABASE=Chipsip Technology Co., Ltd. + ++OUI:747548* ++ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. ++ + OUI:747818* + ID_OUI_FROM_DATABASE=ServiceAssure + +@@ -61117,6 +61273,9 @@ OUI:74E537* + OUI:74E543* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + ++OUI:74E6E2* ++ ID_OUI_FROM_DATABASE=Dell Inc. ++ + OUI:74E7C6* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -61921,6 +62080,9 @@ OUI:8005DF* + OUI:8007A2* + ID_OUI_FROM_DATABASE=Esson Technology Inc. + ++OUI:800902* ++ ID_OUI_FROM_DATABASE=Keysight Technologies, Inc. ++ + OUI:800A06* + ID_OUI_FROM_DATABASE=COMTEC co.,ltd + +@@ -61945,6 +62107,9 @@ OUI:8018A7* + OUI:801934* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:801967* ++ ID_OUI_FROM_DATABASE=Shanghai Reallytek Information Technology Co.,Ltd ++ + OUI:801DAA* + ID_OUI_FROM_DATABASE=Avaya Inc + +@@ -61972,6 +62137,9 @@ OUI:802FDE* + OUI:803457* + ID_OUI_FROM_DATABASE=OT Systems Limited + ++OUI:803773* ++ ID_OUI_FROM_DATABASE=Netgear Inc ++ + OUI:8038FD* + ID_OUI_FROM_DATABASE=LeapFrog Enterprises, Inc. + +@@ -62146,6 +62314,9 @@ OUI:80BAE6* + OUI:80BBEB* + ID_OUI_FROM_DATABASE=Satmap Systems Ltd + ++OUI:80BE05* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:80C16E* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -62236,6 +62407,9 @@ OUI:841715* + OUI:841766* + ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd + ++OUI:841826* ++ ID_OUI_FROM_DATABASE=Osram GmbH ++ + OUI:84183A* + ID_OUI_FROM_DATABASE=Ruckus Wireless + +@@ -62365,6 +62539,9 @@ OUI:84742A* + OUI:847616* + ID_OUI_FROM_DATABASE=Addat S.r.o. + ++OUI:84788B* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:8478AC* + ID_OUI_FROM_DATABASE=Cisco + +@@ -62506,6 +62683,9 @@ OUI:84E714* + OUI:84EA99* + ID_OUI_FROM_DATABASE=Vieworks + ++OUI:84EB18* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:84ED33* + ID_OUI_FROM_DATABASE=BBMC Co.,Ltd + +@@ -62641,6 +62821,9 @@ OUI:88685C* + OUI:886B76* + ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD + ++OUI:88708C* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:887398* + ID_OUI_FROM_DATABASE=K2E Tekpoint + +@@ -62746,6 +62929,9 @@ OUI:88C626* + OUI:88C663* + ID_OUI_FROM_DATABASE=Apple + ++OUI:88C9D0* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:88CB87* + ID_OUI_FROM_DATABASE=Apple + +@@ -63082,6 +63268,9 @@ OUI:8CDE52* + OUI:8CDE99* + ID_OUI_FROM_DATABASE=Comlab Inc. + ++OUI:8CDF9D* ++ ID_OUI_FROM_DATABASE=NEC Corporation ++ + OUI:8CE081* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -63133,6 +63322,12 @@ OUI:900D66* + OUI:900DCB* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:90179B* ++ ID_OUI_FROM_DATABASE=Nanomegas ++ ++OUI:9017AC* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:90185E* + ID_OUI_FROM_DATABASE=Apex Tool Group GmbH & Co OHG + +@@ -63166,12 +63361,18 @@ OUI:902083* + OUI:902155* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:902181* ++ ID_OUI_FROM_DATABASE=Shanghai Huaqin Telecom Technology Co.,Ltd ++ + OUI:9027E4* + ID_OUI_FROM_DATABASE=Apple + + OUI:902B34* + ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. + ++OUI:902CC7* ++ ID_OUI_FROM_DATABASE=C-MAX Asia Limited ++ + OUI:902E87* + ID_OUI_FROM_DATABASE=LabJack + +@@ -63304,6 +63505,9 @@ OUI:90840D* + OUI:9088A2* + ID_OUI_FROM_DATABASE=IONICS TECHNOLOGY ME LTDA + ++OUI:908C09* ++ ID_OUI_FROM_DATABASE=Total Phase ++ + OUI:908C44* + ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. + +@@ -63337,6 +63541,9 @@ OUI:909916* + OUI:909DE0* + ID_OUI_FROM_DATABASE=Newland Design + Assoc. Inc. + ++OUI:909F33* ++ ID_OUI_FROM_DATABASE=EFM Networks ++ + OUI:909F43* + ID_OUI_FROM_DATABASE=Accutron Instruments Inc. + +@@ -63416,7 +63623,7 @@ OUI:90DA4E* + ID_OUI_FROM_DATABASE=AVANU + + OUI:90DA6A* +- ID_OUI_FROM_DATABASE=MCC System Co., Ltd. ++ ID_OUI_FROM_DATABASE=FOCUS H&S Co., Ltd. + + OUI:90DB46* + ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD +@@ -63580,6 +63787,9 @@ OUI:946269* + OUI:9463D1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:9470D2* ++ ID_OUI_FROM_DATABASE=WINFIRM TECHNOLOGY ++ + OUI:9471AC* + ID_OUI_FROM_DATABASE=TCT Mobile Limited + +@@ -63646,6 +63856,9 @@ OUI:94AE61* + OUI:94AEE3* + ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. + ++OUI:94B40F* ++ ID_OUI_FROM_DATABASE=Aruba Networks ++ + OUI:94B8C5* + ID_OUI_FROM_DATABASE=RuggedCom Inc. + +@@ -63661,9 +63874,15 @@ OUI:94BA56* + OUI:94BF1E* + ID_OUI_FROM_DATABASE=eflow Inc. / Smart Device Planning and Development Division + ++OUI:94BF95* ++ ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd ++ + OUI:94C014* + ID_OUI_FROM_DATABASE=Sorter Sp. j. Konrad Grzeszczyk MichaA, Ziomek + ++OUI:94C038* ++ ID_OUI_FROM_DATABASE=Tallac Networks ++ + OUI:94C150* + ID_OUI_FROM_DATABASE=2Wire Inc + +@@ -63793,6 +64012,9 @@ OUI:980D2E* + OUI:981094* + ID_OUI_FROM_DATABASE=Shenzhen Vsun communication technology Co.,ltd + ++OUI:9816EC* ++ ID_OUI_FROM_DATABASE=IC Intracom ++ + OUI:98208E* + ID_OUI_FROM_DATABASE=Definium Technologies + +@@ -64724,7 +64946,7 @@ OUI:A40CC3* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:A41242* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:A4134E* + ID_OUI_FROM_DATABASE=Luxul +@@ -64753,6 +64975,9 @@ OUI:A42305* + OUI:A424B3* + ID_OUI_FROM_DATABASE=FlatFrog Laboratories AB + ++OUI:A4251B* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:A42940* + ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd + +@@ -64783,6 +65008,9 @@ OUI:A4466B* + OUI:A446FA* + ID_OUI_FROM_DATABASE=AmTRAN Video Corporation + ++OUI:A44AD3* ++ ID_OUI_FROM_DATABASE=ST Electronics(Shanghai) Co.,Ltd ++ + OUI:A44B15* + ID_OUI_FROM_DATABASE=Sun Cupid Technology (HK) LTD + +@@ -64897,6 +65125,9 @@ OUI:A49F85* + OUI:A49F89* + ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. + ++OUI:A4A1C2* ++ ID_OUI_FROM_DATABASE=Ericsson AB (EAB) ++ + OUI:A4A24A* + ID_OUI_FROM_DATABASE=Cisco SPVTG + +@@ -65209,6 +65440,9 @@ OUI:A8995C* + OUI:A89B10* + ID_OUI_FROM_DATABASE=inMotion Ltd. + ++OUI:A89DD2* ++ ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd ++ + OUI:A8A668* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -65488,6 +65722,9 @@ OUI:AC8674* + OUI:AC867E* + ID_OUI_FROM_DATABASE=Create New Technology (HK) Limited Company + ++OUI:AC87A3* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:AC8ACD* + ID_OUI_FROM_DATABASE=ROGER D.Wensker, G.Wensker sp.j. + +@@ -65650,6 +65887,9 @@ OUI:ACF7F3* + OUI:ACF97E* + ID_OUI_FROM_DATABASE=ELESYS INC. + ++OUI:ACFDCE* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:ACFDEC* + ID_OUI_FROM_DATABASE=Apple, Inc + +@@ -66496,6 +66736,9 @@ OUI:B8AD3E* + OUI:B8AE6E* + ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. + ++OUI:B8AEED* ++ ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. ++ + OUI:B8AF67* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -66562,6 +66805,9 @@ OUI:B8D06F* + OUI:B8D49D* + ID_OUI_FROM_DATABASE=M Seven System Ltd. + ++OUI:B8D812* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:B8D9CE* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -66658,6 +66904,9 @@ OUI:BC15A6* + OUI:BC1665* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:BC16F5* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:BC1A67* + ID_OUI_FROM_DATABASE=YF Technology Co., Ltd + +@@ -66766,6 +67015,9 @@ OUI:BC6A16* + OUI:BC6A29* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:BC6B4D* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:BC6E76* + ID_OUI_FROM_DATABASE=Green Energy Options Ltd + +@@ -66868,6 +67120,9 @@ OUI:BCC168* + OUI:BCC23A* + ID_OUI_FROM_DATABASE=Thomson Video Networks + ++OUI:BCC342* ++ ID_OUI_FROM_DATABASE=Panasonic System Networks Co., Ltd. ++ + OUI:BCC61A* + ID_OUI_FROM_DATABASE=SPECTRA EMBEDDED SYSTEMS + +@@ -66907,6 +67162,9 @@ OUI:BCE59F* + OUI:BCEA2B* + ID_OUI_FROM_DATABASE=CityCom GmbH + ++OUI:BCEAFA* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:BCEE7B* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + +@@ -66976,6 +67234,9 @@ OUI:C03580* + OUI:C035BD* + ID_OUI_FROM_DATABASE=Velocytech Aps + ++OUI:C03896* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:C038F9* + ID_OUI_FROM_DATABASE=Nokia Danmark A/S + +@@ -67087,6 +67348,9 @@ OUI:C09132* + OUI:C09134* + ID_OUI_FROM_DATABASE=ProCurve Networking by HP + ++OUI:C09879* ++ ID_OUI_FROM_DATABASE=Acer Inc. ++ + OUI:C098E5* + ID_OUI_FROM_DATABASE=University of Michigan + +@@ -67228,6 +67492,9 @@ OUI:C40528* + OUI:C4084A* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + ++OUI:C40880* ++ ID_OUI_FROM_DATABASE=Shenzhen UTEPO Tech Co., Ltd. ++ + OUI:C40938* + ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd + +@@ -67675,6 +67942,9 @@ OUI:C88439* + OUI:C88447* + ID_OUI_FROM_DATABASE=Beautiful Enterprise Co., Ltd + ++OUI:C88550* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:C8873B* + ID_OUI_FROM_DATABASE=Net Optics + +@@ -67774,6 +68044,9 @@ OUI:C8CBB8* + OUI:C8CD72* + ID_OUI_FROM_DATABASE=SAGEMCOM + ++OUI:C8D019* ++ ID_OUI_FROM_DATABASE=Shanghai Tigercel Communication Technology Co.,Ltd ++ + OUI:C8D10B* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -67960,6 +68233,9 @@ OUI:CC3D82* + OUI:CC3E5F* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:CC3F1D* ++ ID_OUI_FROM_DATABASE=Intesis Software SL ++ + OUI:CC43E3* + ID_OUI_FROM_DATABASE=Trump s.a. + +@@ -68668,6 +68944,9 @@ OUI:D45C70* + OUI:D45D42* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:D46132* ++ ID_OUI_FROM_DATABASE=Pro Concept Manufacturer Co.,Ltd. ++ + OUI:D464F7* + ID_OUI_FROM_DATABASE=CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD + +@@ -68728,6 +69007,9 @@ OUI:D48890* + OUI:D48CB5* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:D48DD9* ++ ID_OUI_FROM_DATABASE=Meld Technology, Inc ++ + OUI:D48F33* + ID_OUI_FROM_DATABASE=Microsoft Corporation + +@@ -68887,6 +69169,9 @@ OUI:D4F0B4* + OUI:D4F143* + ID_OUI_FROM_DATABASE=IPROAD.,Inc + ++OUI:D4F46F* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D4F63F* + ID_OUI_FROM_DATABASE=IEA S.R.L. + +@@ -69058,6 +69343,9 @@ OUI:D87CDD* + OUI:D87EB1* + ID_OUI_FROM_DATABASE=x.o.ware, inc. + ++OUI:D88039* ++ ID_OUI_FROM_DATABASE=Microchip Technology Inc. ++ + OUI:D881CE* + ID_OUI_FROM_DATABASE=AHN INC. + +@@ -69121,6 +69409,9 @@ OUI:D8B12A* + OUI:D8B377* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:D8B6B7* ++ ID_OUI_FROM_DATABASE=Comtrend Corporation ++ + OUI:D8B6C1* + ID_OUI_FROM_DATABASE=NetworkAccountant, Inc. + +@@ -69214,6 +69505,9 @@ OUI:D8EE78* + OUI:D8F0F2* + ID_OUI_FROM_DATABASE=Zeebo Inc + ++OUI:D8FB11* ++ ID_OUI_FROM_DATABASE=AXACORE ++ + OUI:D8FC93* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -69286,6 +69580,9 @@ OUI:DC2C26* + OUI:DC2E6A* + ID_OUI_FROM_DATABASE=HCT. Co., Ltd. + ++OUI:DC2F03* ++ ID_OUI_FROM_DATABASE=Step forward Group Co., Ltd. ++ + OUI:DC309C* + ID_OUI_FROM_DATABASE=Heyrex Limited + +@@ -69418,6 +69715,9 @@ OUI:DCC101* + OUI:DCC422* + ID_OUI_FROM_DATABASE=Systembase Limited + ++OUI:DCC622* ++ ID_OUI_FROM_DATABASE=BUHEUNG SYSTEM ++ + OUI:DCC793* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -69448,6 +69748,9 @@ OUI:DCD52A* + OUI:DCD87F* + ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd + ++OUI:DCDA4F* ++ ID_OUI_FROM_DATABASE=GET Technology,INC ++ + OUI:DCDECA* + ID_OUI_FROM_DATABASE=Akyllor + +@@ -69490,6 +69793,9 @@ OUI:E00B28* + OUI:E00C7F* + ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. + ++OUI:E0107F* ++ ID_OUI_FROM_DATABASE=Ruckus Wireless ++ + OUI:E0143E* + ID_OUI_FROM_DATABASE=Modoosis Inc. + +@@ -69688,6 +69994,9 @@ OUI:E0AF4B* + OUI:E0B2F1* + ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED + ++OUI:E0B52D* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:E0B7B1* + ID_OUI_FROM_DATABASE=Pace plc + +@@ -69829,9 +70138,15 @@ OUI:E41289* + OUI:E41C4B* + ID_OUI_FROM_DATABASE=V2 TECHNOLOGY, INC. + ++OUI:E41D2D* ++ ID_OUI_FROM_DATABASE=Mellanox Technologies, Inc. ++ + OUI:E41F13* + ID_OUI_FROM_DATABASE=IBM Corp + ++OUI:E42354* ++ ID_OUI_FROM_DATABASE=SHENZHEN FUZHI SOFTWARE TECHNOLOGY CO.,LTD ++ + OUI:E425E7* + ID_OUI_FROM_DATABASE=Apple + +@@ -69961,6 +70276,9 @@ OUI:E48AD5* + OUI:E48B7F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:E48C0F* ++ ID_OUI_FROM_DATABASE=Discovery Insure ++ + OUI:E49069* + ID_OUI_FROM_DATABASE=Rockwell Automation + +@@ -70111,6 +70429,9 @@ OUI:E8150E* + OUI:E817FC* + ID_OUI_FROM_DATABASE=NIFTY Corporation + ++OUI:E81863* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:E82877* + ID_OUI_FROM_DATABASE=TMY Co., Ltd. + +@@ -70249,6 +70570,9 @@ OUI:E8944C* + OUI:E894F6* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:E89606* ++ ID_OUI_FROM_DATABASE=testo Instruments (Shenzhen) Co., Ltd. ++ + OUI:E8995A* + ID_OUI_FROM_DATABASE=PiiGAB, Processinformation i Goteborg AB + +@@ -70396,6 +70720,9 @@ OUI:EC0ED6* + OUI:EC1120* + ID_OUI_FROM_DATABASE=FloDesign Wind Turbine Corporation + ++OUI:EC13B2* ++ ID_OUI_FROM_DATABASE=Netonix ++ + OUI:EC14F6* + ID_OUI_FROM_DATABASE=BioControl AS + +@@ -70729,6 +71056,9 @@ OUI:F03A4B* + OUI:F03A55* + ID_OUI_FROM_DATABASE=Omega Elektronik AS + ++OUI:F03D29* ++ ID_OUI_FROM_DATABASE=Actility ++ + OUI:F03FF8* + ID_OUI_FROM_DATABASE=R L Drake + +@@ -70801,6 +71131,9 @@ OUI:F07BCB* + OUI:F07D68* + ID_OUI_FROM_DATABASE=D-Link Corporation + ++OUI:F07F06* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F07F0C* + ID_OUI_FROM_DATABASE=Leopold Kostal GmbH &Co. KG + +@@ -70843,6 +71176,9 @@ OUI:F09CBB* + OUI:F09CE9* + ID_OUI_FROM_DATABASE=Aerohive Networks Inc + ++OUI:F09E63* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F0A764* + ID_OUI_FROM_DATABASE=GST Co., Ltd. + +@@ -71188,6 +71524,9 @@ OUI:F4B72A* + OUI:F4B7E2* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:F4B85E* ++ ID_OUI_FROM_DATABASE=Texas INstruments ++ + OUI:F4BD7C* + ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD + +@@ -71461,6 +71800,9 @@ OUI:F87B8C* + OUI:F8811A* + ID_OUI_FROM_DATABASE=OVERKIZ + ++OUI:F88479* ++ ID_OUI_FROM_DATABASE=Yaojin Technology(Shenzhen)Co.,Ltd ++ + OUI:F884F2* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -71599,6 +71941,9 @@ OUI:F8E7B5* + OUI:F8E811* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:F8E903* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:F8E968* + ID_OUI_FROM_DATABASE=Egker Kft. + +@@ -71782,6 +72127,9 @@ OUI:FC5B24* + OUI:FC5B26* + ID_OUI_FROM_DATABASE=MikroBits + ++OUI:FC5B39* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:FC6018* + ID_OUI_FROM_DATABASE=Zhejiang Kangtai Electric Co., Ltd. + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 77c727d..a6a2754 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -32403,11 +32403,14 @@ pci:v00001131d00007146sv0000153Bsd00001155* + ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) + + pci:v00001131d00007146sv0000153Bsd00001156* +- ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C) + + pci:v00001131d00007146sv0000153Bsd00001157* + ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) + ++pci:v00001131d00007146sv0000153Bsd00001176* ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C (MK3)) ++ + pci:v00001131d00007146sv00001894sd00000020* + ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) + +@@ -42846,7 +42849,7 @@ pci:v00001425d00005012* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller + + pci:v00001425d00005013* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller + + pci:v00001425d00005014* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller +@@ -42924,7 +42927,7 @@ pci:v00001425d00005412* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller + + pci:v00001425d00005413* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller + + pci:v00001425d00005414* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller +@@ -43002,7 +43005,7 @@ pci:v00001425d00005512* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller + + pci:v00001425d00005513* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller + + pci:v00001425d00005514* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller +@@ -43080,7 +43083,7 @@ pci:v00001425d00005612* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller + + pci:v00001425d00005613* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller + + pci:v00001425d00005614* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller +@@ -43236,7 +43239,7 @@ pci:v00001425d00005812* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005813* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005814* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] +@@ -45887,6 +45890,9 @@ pci:v000014E4d00004359sv00001028sd00000011* + pci:v000014E4d00004359sv0000103Csd0000182C* + ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) + ++pci:v000014E4d00004360* ++ ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter ++ + pci:v000014E4d00004365* + ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n + +@@ -45896,6 +45902,9 @@ pci:v000014E4d00004365sv00001028sd00000016* + pci:v000014E4d000043A0* + ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter + ++pci:v000014E4d000043A9* ++ ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n ++ + pci:v000014E4d000043B1* + ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter + +@@ -47886,7 +47895,10 @@ pci:v000015ADd00000774* + ID_MODEL_FROM_DATABASE=USB1.1 UHCI Controller + + pci:v000015ADd00000778* +- ID_MODEL_FROM_DATABASE=USB3 xHCI Controller ++ ID_MODEL_FROM_DATABASE=USB3 xHCI 0.96 Controller ++ ++pci:v000015ADd00000779* ++ ID_MODEL_FROM_DATABASE=USB3 xHCI 1.0 Controller + + pci:v000015ADd00000790* + ID_MODEL_FROM_DATABASE=PCI bridge +@@ -52490,6 +52502,9 @@ pci:v00001A29* + pci:v00001A29d00004338* + ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC + ++pci:v00001A29d00004E36* ++ ID_MODEL_FROM_DATABASE=NP6 Network Processor ++ + pci:v00001A2B* + ID_VENDOR_FROM_DATABASE=Ascom AG + +@@ -73781,6 +73796,9 @@ pci:v0000D161d00001405* + pci:v0000D161d00001420* + ID_MODEL_FROM_DATABASE=Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen) + ++pci:v0000D161d00001820* ++ ID_MODEL_FROM_DATABASE=Wildcard TE820 octal-span T1/E1/J1 card 3.3V (PCI-Express) ++ + pci:v0000D161d00002400* + ID_MODEL_FROM_DATABASE=Wildcard TDM2400P 24-port analog card + +@@ -73820,6 +73838,9 @@ pci:v0000D161d0000800A* + pci:v0000D161d0000800B* + ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card + ++pci:v0000D161d0000800E* ++ ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) ++ + pci:v0000D161d0000B410* + ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 89cd5b1..ed6b2b1 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -524,6 +524,9 @@ usb:v03F0p0317* + usb:v03F0p0324* + ID_MODEL_FROM_DATABASE=SK-2885 keyboard + ++usb:v03F0p034A* ++ ID_MODEL_FROM_DATABASE=Elite Keyboard ++ + usb:v03F0p0401* + ID_MODEL_FROM_DATABASE=ScanJet 5200c + +@@ -767,6 +770,9 @@ usb:v03F0p1317* + usb:v03F0p1327* + ID_MODEL_FROM_DATABASE=iLO Virtual Hub + ++usb:v03F0p134A* ++ ID_MODEL_FROM_DATABASE=Optical Mouse ++ + usb:v03F0p1405* + ID_MODEL_FROM_DATABASE=ScanJet 3670 + +@@ -2336,6 +2342,12 @@ usb:v0403pEF10* + usb:v0403pF070* + ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] + ++usb:v0403pF0C8* ++ ID_MODEL_FROM_DATABASE=SPROG Decoder Programmer ++ ++usb:v0403pF0C9* ++ ID_MODEL_FROM_DATABASE=SPROG-DCC CAN-USB ++ + usb:v0403pF0E9* + ID_MODEL_FROM_DATABASE=Tagsys L-P101 + +@@ -2642,6 +2654,9 @@ usb:v0409p02B4* + usb:v0409p02B6* + ID_MODEL_FROM_DATABASE=Aterm WL300NU-GS 802.11n Wireless Adapter + ++usb:v0409p02BC* ++ ID_MODEL_FROM_DATABASE=Computer Monitor ++ + usb:v0409p0300* + ID_MODEL_FROM_DATABASE=LifeTouch Note + +@@ -5348,6 +5363,9 @@ usb:v0452p0050* + usb:v0452p0051* + ID_MODEL_FROM_DATABASE=Integrated Hub + ++usb:v0452p0100* ++ ID_MODEL_FROM_DATABASE=Control Panel for Leica TCS SP5 ++ + usb:v0453* + ID_VENDOR_FROM_DATABASE=CMD Technology + +@@ -8759,6 +8777,9 @@ usb:v0480pA009* + usb:v0480pA00D* + ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB + ++usb:v0480pB001* ++ ID_MODEL_FROM_DATABASE=Stor.E Partner ++ + usb:v0480pD010* + ID_MODEL_FROM_DATABASE=External Disk 3TB + +@@ -13100,9 +13121,15 @@ usb:v04D8p900A* + usb:v04D8pC001* + ID_MODEL_FROM_DATABASE=PicoLCD 20x4 + ++usb:v04D8pF4B5* ++ ID_MODEL_FROM_DATABASE=SmartScope ++ + usb:v04D8pF8DA* + ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug + ++usb:v04D8pF91C* ++ ID_MODEL_FROM_DATABASE=SPROG IIv3 ++ + usb:v04D8pFAFF* + ID_MODEL_FROM_DATABASE=Dangerous Prototypes BusPirate v4 Bootloader mode + +@@ -13118,6 +13145,9 @@ usb:v04D8pFBBA* + usb:v04D8pFBBB* + ID_MODEL_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (active mode) + ++usb:v04D8pFC1E* ++ ID_MODEL_FROM_DATABASE=Bachrus Speedometer Interface ++ + usb:v04D8pFC92* + ID_MODEL_FROM_DATABASE=Open Bench Logic Sniffer + +@@ -14432,6 +14462,9 @@ usb:v04F2p0403* + usb:v04F2p0418* + ID_MODEL_FROM_DATABASE=KU-0418 Tactical Pad + ++usb:v04F2p0618* ++ ID_MODEL_FROM_DATABASE=RG-0618U Wireless HID Receiver & KG-0609 Wireless Keyboard with Touchpad ++ + usb:v04F2p0760* + ID_MODEL_FROM_DATABASE=Acer KU-0760 Keyboard + +@@ -15336,7 +15369,7 @@ usb:v04FCp0171* + ID_MODEL_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (Mass Storage mode) + + usb:v04FCp0201* +- ID_MODEL_FROM_DATABASE=RS232C Adapter ++ ID_MODEL_FROM_DATABASE=SPCP825 RS232C Adapter + + usb:v04FCp0232* + ID_MODEL_FROM_DATABASE=Fingerprint +@@ -29036,6 +29069,9 @@ usb:v08E3p0301* + usb:v08E4* + ID_VENDOR_FROM_DATABASE=Pioneer Corp. + ++usb:v08E4p0185* ++ ID_MODEL_FROM_DATABASE=DDJ-WeGO2 ++ + usb:v08E5* + ID_VENDOR_FROM_DATABASE=Litronic + +@@ -33080,6 +33116,9 @@ usb:v0B48p300D* + usb:v0B48p300E* + ID_MODEL_FROM_DATABASE=TT-connect C-2400 + ++usb:v0B48p3014* ++ ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 ++ + usb:v0B49* + ID_VENDOR_FROM_DATABASE=ASCII Corp. + +@@ -34086,7 +34125,7 @@ usb:v0BC2p3101* + ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB + + usb:v0BC2p3312* +- ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] ++ ID_MODEL_FROM_DATABASE=SRD00F2 Expansion Desktop Drive (STBV) + + usb:v0BC2p3320* + ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] +@@ -34109,6 +34148,9 @@ usb:v0BC2p5031* + usb:v0BC2p5070* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk + ++usb:v0BC2p5071* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk ++ + usb:v0BC2p50A1* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk + +@@ -34133,6 +34175,9 @@ usb:v0BC2pA0A4* + usb:v0BC2pAB00* + ID_MODEL_FROM_DATABASE=Slim Portable Drive + ++usb:v0BC2pAB20* ++ ID_MODEL_FROM_DATABASE=Backup Plus Portable Drive ++ + usb:v0BC3* + ID_VENDOR_FROM_DATABASE=IPWireless, Inc. + +@@ -34301,6 +34346,9 @@ usb:v0BDAp0176* + usb:v0BDAp0178* + ID_MODEL_FROM_DATABASE=Mass Storage Device + ++usb:v0BDAp0179* ++ ID_MODEL_FROM_DATABASE=RTL8188ETV Wireless LAN 802.11n Network Adapter ++ + usb:v0BDAp0184* + ID_MODEL_FROM_DATABASE=RTS5182 Card Reader + +@@ -34322,6 +34370,9 @@ usb:v0BDAp2832* + usb:v0BDAp2838* + ID_MODEL_FROM_DATABASE=RTL2838 DVB-T + ++usb:v0BDAp5730* ++ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam ++ + usb:v0BDAp8150* + ID_MODEL_FROM_DATABASE=RTL8150 Fast Ethernet Adapter + +@@ -36012,11 +36063,53 @@ usb:v0CE5p0003* + ID_MODEL_FROM_DATABASE=Matrix + + usb:v0CE9* +- ID_VENDOR_FROM_DATABASE=pico Technology ++ ID_VENDOR_FROM_DATABASE=Pico Technology + + usb:v0CE9p1001* + ID_MODEL_FROM_DATABASE=PicoScope3000 series PC Oscilloscope + ++usb:v0CE9p1007* ++ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope ++ ++usb:v0CE9p1008* ++ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope ++ ++usb:v0CE9p1009* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope ++ ++usb:v0CE9p100E* ++ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope ++ ++usb:v0CE9p1012* ++ ID_MODEL_FROM_DATABASE=PicoScope 3000A series PC Oscilloscope ++ ++usb:v0CE9p1016* ++ ID_MODEL_FROM_DATABASE=PicoScope 2000A series PC Oscilloscope ++ ++usb:v0CE9p1018* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000A series PC Oscilloscope ++ ++usb:v0CE9p1200* ++ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope ++ ++usb:v0CE9p1201* ++ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope ++ ++usb:v0CE9p1202* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope ++ ++usb:v0CE9p1203* ++ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope ++ ++usb:v0CE9p1204* ++ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope ++ ++usb:v0CE9p1211* ++ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope ++ ++usb:v0CE9p1212* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope ++ + usb:v0CF1* + ID_VENDOR_FROM_DATABASE=e-Conn Electronic Co., Ltd + +@@ -36998,6 +37091,9 @@ usb:v0DB0p1020* + usb:v0DB0p1967* + ID_MODEL_FROM_DATABASE=Bluetooth Dongle + ++usb:v0DB0p3713* ++ ID_MODEL_FROM_DATABASE=Primo 73 ++ + usb:v0DB0p3801* + ID_MODEL_FROM_DATABASE=Motorola Bluetooth 2.1+EDR Device + +@@ -37112,6 +37208,9 @@ usb:v0DB7p0002* + usb:v0DBA* + ID_VENDOR_FROM_DATABASE=Digidesign + ++usb:v0DBAp1000* ++ ID_MODEL_FROM_DATABASE=Mbox 1 [Mbox] ++ + usb:v0DBAp3000* + ID_MODEL_FROM_DATABASE=Mbox 2 + +@@ -37913,6 +38012,12 @@ usb:v0E6A* + usb:v0E6Ap0101* + ID_MODEL_FROM_DATABASE=MA100 [USB-UART Bridge IC] + ++usb:v0E6Ap030B* ++ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard (Device Firmware Update mode) ++ ++usb:v0E6Ap030C* ++ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard ++ + usb:v0E6Ap6001* + ID_MODEL_FROM_DATABASE=GEMBIRD Flexible keyboard KB-109F-B-DE + +@@ -39548,6 +39653,12 @@ usb:v1039p0824* + usb:v1039p2140* + ID_MODEL_FROM_DATABASE=dsl+ 1100 duo + ++usb:v103A* ++ ID_VENDOR_FROM_DATABASE=PSA ++ ++usb:v103ApF000* ++ ID_MODEL_FROM_DATABASE=Actia Evo XS ++ + usb:v103D* + ID_VENDOR_FROM_DATABASE=Stanton + +@@ -39692,6 +39803,9 @@ usb:v1050p0110* + usb:v1050p0111* + ID_MODEL_FROM_DATABASE=Yubikey NEO OTP+CCID + ++usb:v1050p0200* ++ ID_MODEL_FROM_DATABASE=U2F Gnubby ++ + usb:v1050p0211* + ID_MODEL_FROM_DATABASE=Gnubby + +@@ -39735,16 +39849,25 @@ usb:v1058p0704* + ID_MODEL_FROM_DATABASE=Passport External HDD + + usb:v1058p070A* +- ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA), My Passport for Mac (WDBAAB), My Passport Essential SE (WDBABM), My Passport SE for Mac (WDBABW) ++ ++usb:v1058p070B* ++ ID_MODEL_FROM_DATABASE=My Passport Elite (WDBAAC) ++ ++usb:v1058p070C* ++ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBAAE) + + usb:v1058p071A* +- ID_MODEL_FROM_DATABASE=My Passport ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA) ++ ++usb:v1058p071D* ++ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBALG) + + usb:v1058p0730* + ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) + + usb:v1058p0740* +- ID_MODEL_FROM_DATABASE=My Passport ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) + + usb:v1058p0741* + ID_MODEL_FROM_DATABASE=My Passport Ultra +@@ -39756,22 +39879,22 @@ usb:v1058p0748* + ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) + + usb:v1058p0810* +- ID_MODEL_FROM_DATABASE=My Passport Ultra ++ ID_MODEL_FROM_DATABASE=My Passport Ultra (WDBZFP) + + usb:v1058p0900* + ID_MODEL_FROM_DATABASE=MyBook Essential External HDD + + usb:v1058p0901* +- ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) + + usb:v1058p0902* +- ID_MODEL_FROM_DATABASE=My Book Pro Edition ++ ID_MODEL_FROM_DATABASE=My Book Pro Edition (WDG1T) + + usb:v1058p0903* + ID_MODEL_FROM_DATABASE=My Book Premium Edition + + usb:v1058p0910* +- ID_MODEL_FROM_DATABASE=MyBook Essential External HDD ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) + + usb:v1058p1001* + ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) +@@ -39786,7 +39909,7 @@ usb:v1058p1021* + ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) + + usb:v1058p1023* +- ID_MODEL_FROM_DATABASE=Elements SE ++ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBABV) + + usb:v1058p1048* + ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) +@@ -39809,11 +39932,23 @@ usb:v1058p1104* + usb:v1058p1105* + ID_MODEL_FROM_DATABASE=My Book Studio II + ++usb:v1058p1110* ++ ID_MODEL_FROM_DATABASE=My Book Essential (WDBAAF), My Book for Mac (WDBAAG) ++ ++usb:v1058p1111* ++ ID_MODEL_FROM_DATABASE=My Book Elite (WDBAAH) ++ ++usb:v1058p1112* ++ ID_MODEL_FROM_DATABASE=My Book Studio (WDBAAJ), My Book Studio LX (WDBACH) ++ + usb:v1058p1123* +- ID_MODEL_FROM_DATABASE=My Book 3.0 ++ ID_MODEL_FROM_DATABASE=My Book 3.0 (WDBABP) ++ ++usb:v1058p1130* ++ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) + + usb:v1058p1140* +- ID_MODEL_FROM_DATABASE=My Book Essential USB3.0 ++ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) + + usb:v1059* + ID_VENDOR_FROM_DATABASE=Giesecke & Devrient GmbH +@@ -42098,6 +42233,12 @@ usb:v132Bp2045* + usb:v132Bp2049* + ID_MODEL_FROM_DATABASE=Magicolor 2490MF + ++usb:v133E* ++ ID_VENDOR_FROM_DATABASE=Kemper Digital GmbH ++ ++usb:v133Ep0815* ++ ID_MODEL_FROM_DATABASE=Virus TI Desktop ++ + usb:v1342* + ID_VENDOR_FROM_DATABASE=Mobility + +@@ -42203,6 +42344,9 @@ usb:v134E* + usb:v1357* + ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems + ++usb:v1357p0089* ++ ID_MODEL_FROM_DATABASE=OpenSDA - CDC Serial Port ++ + usb:v1357p0503* + ID_MODEL_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink + +@@ -42213,7 +42357,7 @@ usb:v1366* + ID_VENDOR_FROM_DATABASE=SEGGER + + usb:v1366p0101* +- ID_MODEL_FROM_DATABASE=J-Link ARM ++ ID_MODEL_FROM_DATABASE=J-Link PLUS + + usb:v136B* + ID_VENDOR_FROM_DATABASE=STEC +@@ -42311,6 +42455,9 @@ usb:v138Ap003C* + usb:v138Ap003D* + ID_MODEL_FROM_DATABASE=VFS491 + ++usb:v138Ap003F* ++ ID_MODEL_FROM_DATABASE=VFS495 Fingerprint Reader ++ + usb:v138Ap0050* + ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor + +@@ -42647,6 +42794,9 @@ usb:v13D3p5122* + usb:v13D3p5126* + ID_MODEL_FROM_DATABASE=PC Cam + ++usb:v13D3p5130* ++ ID_MODEL_FROM_DATABASE=Integrated Webcam ++ + usb:v13D3p5702* + ID_MODEL_FROM_DATABASE=UVC VGA Webcam + +@@ -43232,6 +43382,9 @@ usb:v1493p0019* + usb:v1493p001A* + ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] + ++usb:v1493p001D* ++ ID_MODEL_FROM_DATABASE=Greentit [Ambit2 R] ++ + usb:v1497* + ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. + +@@ -49640,12 +49793,39 @@ usb:v2478* + usb:v2478p2008* + ID_MODEL_FROM_DATABASE=U209-000-R Serial Port + ++usb:v249C* ++ ID_VENDOR_FROM_DATABASE=M2Tech s.r.l. ++ + usb:v2632* + ID_VENDOR_FROM_DATABASE=TwinMOS + + usb:v2632p3209* + ID_MODEL_FROM_DATABASE=7-in-1 Card Reader + ++usb:v2639* ++ ID_VENDOR_FROM_DATABASE=Xsens ++ ++usb:v2639p0001* ++ ID_MODEL_FROM_DATABASE=MTi-10 IMU ++ ++usb:v2639p0002* ++ ID_MODEL_FROM_DATABASE=MTi-20 VRU ++ ++usb:v2639p0003* ++ ID_MODEL_FROM_DATABASE=MTi-30 AHRS ++ ++usb:v2639p0011* ++ ID_MODEL_FROM_DATABASE=MTi-100 IMU ++ ++usb:v2639p0012* ++ ID_MODEL_FROM_DATABASE=MTi-200 VRU ++ ++usb:v2639p0013* ++ ID_MODEL_FROM_DATABASE=MTi-300 AHRS ++ ++usb:v2639p0017* ++ ID_MODEL_FROM_DATABASE=MTi-G-700 GPS INS ++ + usb:v2650* + ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex] + +-- +1.7.9.2 + diff --git a/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch b/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch new file mode 100644 index 00000000..20d064f8 --- /dev/null +++ b/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch @@ -0,0 +1,32 @@ +From b5df2eabf3fdd3e1663bc4c948812472084f3e96 Mon Sep 17 00:00:00 2001 +From: Kevin Wells +Date: Thu, 31 Jul 2014 17:38:21 +0200 +Subject: [PATCH] rules: allow systemd to manage loop device partitions + +SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*) +that do not have a backing_file. Partitioned loop devices (ex. loop0p1), +however, are matched by this rule and excluded by systemd even though +they are active devices. + +This change adds an additional check to the rule, ensuring that only +top level loop devices (loop[0-9]+$) are excluded from systemd. +--- + rules/99-systemd.rules.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in +index c3ef81b..aa435c4 100644 +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in +@@ -23,7 +23,7 @@ SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" + + # Ignore loop devices that don't have any file attached +-SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" ++SUBSYSTEM=="block", KERNEL=="loop[0-9]*", ENV{DEVTYPE}=="disk", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" + + # Ignore nbd devices in the "add" event, with "change" the nbd is ready + ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 04737d6e..2d8e7a10 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de + +- Add upstream patches + 0007-hwdb-update.patch + 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch + ------------------------------------------------------------------- Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 687f6ba4..2fd4dbf0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -759,6 +759,8 @@ Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch +# PATCH-FIX-UPSTREAM added at 2014/08/01 +Patch367: 0007-hwdb-update.patch # UDEV PATCHES # ============ @@ -886,6 +888,8 @@ Patch1058: 1058-udev-unify-event-timeout-handling.patch Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1411,6 +1415,7 @@ cp %{SOURCE7} m4/ %patch364 -p0 %patch365 -p0 %patch366 -p1 +%patch367 -p0 # udev patches %patch1001 -p1 @@ -1494,6 +1499,7 @@ cp %{SOURCE7} m4/ %endif %patch1059 -p0 %patch1060 -p1 +%patch1061 -p0 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 04737d6e..2d8e7a10 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de + +- Add upstream patches + 0007-hwdb-update.patch + 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch + ------------------------------------------------------------------- Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 88659bfc..a5f11d12 100644 --- a/systemd.spec +++ b/systemd.spec @@ -754,6 +754,8 @@ Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch +# PATCH-FIX-UPSTREAM added at 2014/08/01 +Patch367: 0007-hwdb-update.patch # UDEV PATCHES # ============ @@ -881,6 +883,8 @@ Patch1058: 1058-udev-unify-event-timeout-handling.patch Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1406,6 +1410,7 @@ cp %{SOURCE7} m4/ %patch364 -p0 %patch365 -p0 %patch366 -p1 +%patch367 -p0 # udev patches %patch1001 -p1 @@ -1489,6 +1494,7 @@ cp %{SOURCE7} m4/ %endif %patch1059 -p0 %patch1060 -p1 +%patch1061 -p0 # ensure generate files are removed rm -f units/emergency.service From 6da4c8e3f47fa8e7250543990ba7f215a62e3f153b17edbd19c5a268da372252 Mon Sep 17 00:00:00 2001 From: Ludwig Nussel Date: Mon, 11 Aug 2014 08:08:39 +0000 Subject: [PATCH 194/991] Accepting request 243963 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/243963 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=199 --- ...s-set-default-permissions-for-GenWQE-devices.patch | 11 +++++++++++ systemd-mini.changes | 6 ++++++ systemd-mini.spec | 3 +++ systemd.changes | 6 ++++++ systemd.spec | 3 +++ 5 files changed, 29 insertions(+) create mode 100644 1062-rules-set-default-permissions-for-GenWQE-devices.patch diff --git a/1062-rules-set-default-permissions-for-GenWQE-devices.patch b/1062-rules-set-default-permissions-for-GenWQE-devices.patch new file mode 100644 index 00000000..8db264df --- /dev/null +++ b/1062-rules-set-default-permissions-for-GenWQE-devices.patch @@ -0,0 +1,11 @@ +Index: systemd-210/rules/50-udev-default.rules +=================================================================== +--- systemd-210.orig/rules/50-udev-default.rules ++++ systemd-210/rules/50-udev-default.rules +@@ -66,4 +66,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st + + KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" + ++KERNEL=="genwqe*", MODE="0666" ++ + LABEL="default_permissions_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index 2d8e7a10..d691713d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com + +- Set default permissions for GenWQE device nodes to 0666 (bnc#890977). + Add 1062-rules-set-default-permissions-for-GenWQE-devices.patch + ------------------------------------------------------------------- Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 2fd4dbf0..98a2cf3c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -890,6 +890,8 @@ Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) +Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1500,6 +1502,7 @@ cp %{SOURCE7} m4/ %patch1059 -p0 %patch1060 -p1 %patch1061 -p0 +%patch1062 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 2d8e7a10..d691713d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com + +- Set default permissions for GenWQE device nodes to 0666 (bnc#890977). + Add 1062-rules-set-default-permissions-for-GenWQE-devices.patch + ------------------------------------------------------------------- Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index a5f11d12..13707cf4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -885,6 +885,8 @@ Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) +Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1495,6 +1497,7 @@ cp %{SOURCE7} m4/ %patch1059 -p0 %patch1060 -p1 %patch1061 -p0 +%patch1062 -p1 # ensure generate files are removed rm -f units/emergency.service From 8d0e9d5913c4d2c394f4716f507c8867a7c91137e50ebeb342b7eb4572f5ef97 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 27 Aug 2014 14:53:07 +0000 Subject: [PATCH 195/991] Accepting request 246497 from Base:System - Add upstream patches for hwdb 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch 0003-keymap-Fix-HP-Pavillon-DV7.patch 0004-hwdb-update-format-description-and-document-reloadin.patch 0008-hwdb-update.patch - Port back and add the missed upstream patches from 2014/08/22 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch 0006-login-share-VT-signal-handler-between-sessions.patch - Add upstream patches 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch 0002-switch-root-umount-the-old-root-correctly.patch 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - man pages from section 3 are developer docs, move them to the -devel package. - Add patch 0001-let-systemctl-completion-ignore-at-names.patch to remove error messages for tab completion for systemctl isolate (bnc#892162) OBS-URL: https://build.opensuse.org/request/show/246497 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=200 --- ...db-keymaps-for-Samsung-900X3E-900X3F.patch | 40 + ...systemctl-completion-ignore-at-names.patch | 11 + ...ation-of-machine-names-in-interface-.patch | 31 + ...wdb-entry-for-Samsung-Series-7-Ultra.patch | 31 + ...h-root-umount-the-old-root-correctly.patch | 26 + ...ot-OK-to-return-1-from-a-main-progra.patch | 27 + 0003-keymap-Fix-HP-Pavillon-DV7.patch | 28 + ...at-description-and-document-reloadin.patch | 60 + ...ller-should-fail-if-prepare_vt-fails.patch | 134 ++ ...llocation-if-query-ids-never-reuse-t.patch | 45 + ...e-VT-signal-handler-between-sessions.patch | 246 +++ ...crease-the-SendBuffer-of-dev-log-to-.patch | 23 + 0008-hwdb-update.patch | 1425 +++++++++++++++++ ...counting-of-early-mounts-without-SMA.patch | 32 + ...-by-one-error-in-Missed-X-kernel-mes.patch | 29 + ...-t-kill-the-unit-when-killing-the-le.patch | 32 + ...o-logic-when-applied-relative-to-ser.patch | 93 ++ ...-bit-more-NFS-compatible-when-checki.patch | 36 + ...press-ID_PATH-for-devices-with-an-un.patch | 96 ++ systemd-mini.changes | 50 + systemd-mini.spec | 69 +- systemd.changes | 50 + systemd.spec | 69 +- 23 files changed, 2681 insertions(+), 2 deletions(-) create mode 100644 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch create mode 100644 0001-let-systemctl-completion-ignore-at-names.patch create mode 100644 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch create mode 100644 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch create mode 100644 0002-switch-root-umount-the-old-root-correctly.patch create mode 100644 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch create mode 100644 0003-keymap-Fix-HP-Pavillon-DV7.patch create mode 100644 0004-hwdb-update-format-description-and-document-reloadin.patch create mode 100644 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch create mode 100644 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch create mode 100644 0006-login-share-VT-signal-handler-between-sessions.patch create mode 100644 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch create mode 100644 0008-hwdb-update.patch create mode 100644 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch create mode 100644 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch create mode 100644 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch create mode 100644 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch create mode 100644 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch create mode 100644 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch diff --git a/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch b/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch new file mode 100644 index 00000000..d3acf899 --- /dev/null +++ b/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch @@ -0,0 +1,40 @@ +From 77e8ff6974ffaa6c9954e3d2264d9aa75ef25233 Mon Sep 17 00:00:00 2001 +From: Kieran Clancy +Date: Thu, 27 Feb 2014 16:02:57 +1030 +Subject: [PATCH] hwdb: keymaps for Samsung 900X3E/900X3F + +Keymaps for Samsung 900X3E and 900X3F should be the same as for other +models in the series. + +I have also moved the comment for '# Series 9' to the right place +--- + hwdb/60-keyboard.hwdb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index edfa842..bd8fd10 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -897,9 +897,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* + KEYBOARD_KEY_a8=! # Fn Lock - Function lock on + KEYBOARD_KEY_a9=! # Fn Lock - Function lock off + ++# Series 7 / 9 + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* +-keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDG]*:pvr* ++keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a0=!mute # Fn+F6 mute +@@ -909,7 +910,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up + KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer + +-# Series 9 + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr* + KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up + KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down +-- +1.7.9.2 + diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch new file mode 100644 index 00000000..ea89c56a --- /dev/null +++ b/0001-let-systemctl-completion-ignore-at-names.patch @@ -0,0 +1,11 @@ +--- systemd-210/shell-completion/bash/systemctl ++++ systemd-210/shell-completion/bash/systemctl 2014-08-20 15:01:04.502736981 +0000 +@@ -43,7 +43,7 @@ __filter_units_by_property () { + local units=("$@") + local props + IFS=$'\n' read -rd '' -a props < \ +- <(__systemctl $mode show --property "$property" -- "${units[@]}") ++ <(__systemctl $mode show --property "$property" -- "${units[@]}" 2> /dev/null) + for ((i=0; $i < ${#units[*]}; i++)); do + if [[ "${props[i]}" = "$property=$value" ]]; then + echo " ${units[i]}" diff --git a/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch b/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch new file mode 100644 index 00000000..4378b91f --- /dev/null +++ b/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch @@ -0,0 +1,31 @@ +Based on 4212a3375e03fd12cb407b34cab59dbe4ed9f4eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 3 Aug 2014 01:28:21 -0400 +Subject: [PATCH] nspawn: fix truncation of machine names in interface names + +Based on patch by Michael Marineau : + +When deriving the network interface name from machine name strncpy was +not properly null terminating the string and the maximum string size as +returned by strlen() is actually IFNAMSIZ-1, not IFNAMSIZ. +--- + src/nspawn/nspawn.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-08-22 10:18:20.390235611 +0000 +@@ -1383,12 +1383,8 @@ static int setup_veth(pid_t pid, char if + + /* Use two different interface name prefixes depending whether + * we are in bridge mode or not. */ +- if (arg_network_bridge) +- memcpy(iface_name, "vb-", 3); +- else +- memcpy(iface_name, "ve-", 3); +- +- strncpy(iface_name+3, arg_machine, IFNAMSIZ - 3); ++ snprintf(iface_name, IFNAMSIZ, "%s-%s", ++ arg_network_bridge ? "vb" : "ve", arg_machine); + + r = sd_rtnl_open(&rtnl, 0); + if (r < 0) { diff --git a/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch b/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch new file mode 100644 index 00000000..30dc17d0 --- /dev/null +++ b/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch @@ -0,0 +1,31 @@ +From 15f392394e75ffb7f318920008fd1bbe4e82b488 Mon Sep 17 00:00:00 2001 +From: Scott Thrasher +Date: Wed, 26 Mar 2014 18:48:13 -0700 +Subject: [PATCH] Add hwdb entry for Samsung Series 7 Ultra + +--- + hwdb/60-keyboard.hwdb | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index bd8fd10..832c686 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -924,6 +924,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr* + KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up + KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle + ++# Series 7 Ultra ++keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr* ++ KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings ++ KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down ++ KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up ++ KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer ++ KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch ++ + # SQ1US + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr* + KEYBOARD_KEY_d4=menu +-- +1.7.9.2 + diff --git a/0002-switch-root-umount-the-old-root-correctly.patch b/0002-switch-root-umount-the-old-root-correctly.patch new file mode 100644 index 00000000..df79c8f0 --- /dev/null +++ b/0002-switch-root-umount-the-old-root-correctly.patch @@ -0,0 +1,26 @@ +Based on 23f25b1496c31ef4c20b8f3ee8328f7b1d5f3a54 Mon Sep 17 00:00:00 2001 +From: Dan Dedrick +Date: Tue, 29 Jul 2014 15:31:23 -0400 +Subject: [PATCH] switch-root: umount the old root correctly + +The unmount occurs after the pivot_root, so the path used to unmount +should take into account the new root directory. This will allow the +umount to actually succeed. +--- + src/core/switch-root.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/switch-root.c ++++ src/core/switch-root.c 2014-08-22 11:22:50.230735231 +0000 +@@ -122,9 +122,9 @@ int switch_root(const char *new_root) { + + /* Immediately get rid of the old root. Since we are + * running off it we need to do this lazily. */ +- if (umount2(temporary_old_root, MNT_DETACH) < 0) { ++ if (umount2("/mnt", MNT_DETACH) < 0) { + r = -errno; +- log_error("Failed to umount old root dir %s: %m", temporary_old_root); ++ log_error("Failed to umount old root dir /mnt: %m"); + goto fail; + } + diff --git a/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch b/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch new file mode 100644 index 00000000..9796af4f --- /dev/null +++ b/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch @@ -0,0 +1,27 @@ +From 4155f7d4be5053d5f34a26e5437fd85e1fe00fa3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 11 Aug 2014 18:23:47 +0200 +Subject: [PATCH] bootchart: it's not OK to return -1 from a main program + +--- + src/bootchart/bootchart.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c +index c0e176d..8ef5ad1 100644 +--- src/bootchart/bootchart.c ++++ src/bootchart/bootchart.c +@@ -380,8 +380,8 @@ int main(int argc, char *argv[]) { + + sampledata = new0(struct list_sample_data, 1); + if (sampledata == NULL) { +- log_error("Failed to allocate memory for a node: %m"); +- return -1; ++ log_oom(); ++ return EXIT_FAILURE; + } + + sampledata->sampletime = gettime_ns(); +-- +1.7.9.2 + diff --git a/0003-keymap-Fix-HP-Pavillon-DV7.patch b/0003-keymap-Fix-HP-Pavillon-DV7.patch new file mode 100644 index 00000000..33908a82 --- /dev/null +++ b/0003-keymap-Fix-HP-Pavillon-DV7.patch @@ -0,0 +1,28 @@ +From efb4bf4e419e14a13eead6289ea40165579a816f Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Tue, 5 Aug 2014 12:29:27 +0200 +Subject: [PATCH] keymap: Fix HP Pavillon DV7 + +Properly disable scan code 94 instead of producing KEY_0. + +https://launchpad.net/bugs/1322770 +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index cbbbf2c..5c3d4ca 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -368,7 +368,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr + KEYBOARD_KEY_b7=print + KEYBOARD_KEY_c2=media # FIXME: quick play + KEYBOARD_KEY_c6=break +- KEYBOARD_KEY_94=0 ++ KEYBOARD_KEY_94=reserved + + # Elitebook + keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr* +-- +1.7.9.2 + diff --git a/0004-hwdb-update-format-description-and-document-reloadin.patch b/0004-hwdb-update-format-description-and-document-reloadin.patch new file mode 100644 index 00000000..a65a46f0 --- /dev/null +++ b/0004-hwdb-update-format-description-and-document-reloadin.patch @@ -0,0 +1,60 @@ +From fa9d4be3f1f4a792b2f3624c2a08fe9cc6ce6e54 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 7 Aug 2014 21:48:57 -0400 +Subject: [PATCH] hwdb: update format description and document reloading + +https://bugs.freedesktop.org/show_bug.cgi?id=82311 +--- + hwdb/60-keyboard.hwdb | 32 +++++++++++++++++++++++--------- + 1 file changed, 23 insertions(+), 9 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 5c3d4ca..ef0ebc5 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -28,19 +28,33 @@ + # driver, is the firmware-provided string exported + # by the kernel DMI modalias. + # +-# Scan codes are specified as: +-# KEYBOARD_KEY_= +-# The scan code should be expressed in hex lowercase and in +-# full bytes, a multiple of 2 digits. The key codes are retrieved +-# and normalized from the kernel input API header. ++# Scan codes are specified as: ++# KEYBOARD_KEY_= ++# The scan code should be expressed in hex lowercase. The key codes ++# are retrieved and normalized from the kernel input API header. + # +-# A '!' as the first charcter of the key identifier string +-# will add the scan code to the AT keyboard's list of scan codes +-# where the driver will synthesize a release event and not expect +-# it to be generated by the hardware. ++# An '!' as the first character of the key identifier string ++# will add the scan code to the AT keyboard's list of scan codes ++# where the driver will synthesize a release event and not expect ++# it to be generated by the hardware. + # + # To debug key presses and access scan code mapping data of + # an input device use the commonly available tool: evtest(1). ++# ++# To update this file, create a new file ++# /etc/udev/hwdb.d/70-keyboad.hwdb ++# and add your rules there. To load the new rules execute (as root): ++# udevadm hwdb --update ++# udevadm trigger /dev/input/eventXX ++# where /dev/input/eventXX is the keyboard in question. If in ++# doubt, simply use /dev/input/event* to reload all input rules. ++# ++# If your changes are generally applicable, open a bug report on ++# http://bugs.freedesktop.org/enter_bug.cgi?product=systemd ++# and include your new rules, a description of the device, and the ++# output of ++# udevadm info /dev/input/eventXX ++# (or /dev/input/event*). + + ########################################## + # Acer +-- +1.7.9.2 + diff --git a/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch b/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch new file mode 100644 index 00000000..848a73d3 --- /dev/null +++ b/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch @@ -0,0 +1,134 @@ +Based on baccf3e40bab6c0b69992ae29c396930de4660c9 Mon Sep 17 00:00:00 2001 +From: Olivier Brunel +Date: Fri, 8 Aug 2014 20:45:43 +0200 +Subject: [PATCH] login: set_controller should fail if prepare_vt fails + +If controllers can expect logind to have "prepared" the VT (e.g. set it to +graphics mode, etc) then TakeControl() should fail if said preparation +failed (and session_restore_vt() was called). + +(David: fixed up !CONFIG_VT case and errno-numbers) +--- + src/login/logind-session.c | 47 +++++++++++++++++++++++++++++++++------------ + src/login/logind-session.h | 2 - + 2 files changed, 36 insertions(+), 13 deletions(-) + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-08-26 10:14:21.014235811 +0000 +@@ -950,8 +950,8 @@ int session_kill(Session *s, KillWho who + static int session_open_vt(Session *s) { + char path[sizeof("/dev/tty") + DECIMAL_STR_MAX(s->vtnr)]; + +- if (!s->vtnr) +- return -1; ++ if (s->vtnr < 1) ++ return -ENODEV; + + if (s->vtfd >= 0) + return s->vtfd; +@@ -975,22 +975,38 @@ static int session_vt_fn(sd_event_source + return 0; + } + +-void session_mute_vt(Session *s) { ++int session_mute_vt(Session *s) { + int vt, r; + struct vt_mode mode = { 0 }; + sigset_t mask; + ++ if (s->vtnr < 1) ++ return 0; ++ + vt = session_open_vt(s); + if (vt < 0) +- return; ++ return vt; ++ ++ r = fchown(vt, s->user->uid, -1); ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot change owner of /dev/tty%u: %m", s->vtnr); ++ goto error; ++ } + + r = ioctl(vt, KDSKBMODE, K_OFF); +- if (r < 0) ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot set K_OFF on /dev/tty%u: %m", s->vtnr); + goto error; ++ } + + r = ioctl(vt, KDSETMODE, KD_GRAPHICS); +- if (r < 0) ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot set KD_GRAPHICS on /dev/tty%u: %m", s->vtnr); + goto error; ++ } + + sigemptyset(&mask); + sigaddset(&mask, SIGUSR1); +@@ -1007,14 +1023,17 @@ void session_mute_vt(Session *s) { + mode.relsig = SIGUSR1; + mode.acqsig = SIGUSR1; + r = ioctl(vt, VT_SETMODE, &mode); +- if (r < 0) ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot set VT_PROCESS on /dev/tty%u: %m", s->vtnr); + goto error; ++ } + +- return; ++ return 0; + + error: +- log_error("cannot mute VT %u for session %s (%d/%d)", s->vtnr, s->id, r, errno); + session_restore_vt(s); ++ return r; + } + + void session_restore_vt(Session *s) { +@@ -1037,6 +1056,8 @@ void session_restore_vt(Session *s) { + mode.mode = VT_AUTO; + ioctl(vt, VT_SETMODE, &mode); + ++ fchown(vt, 0, -1); ++ + close_nointr_nofail(vt); + s->vtfd = -1; + } +@@ -1091,8 +1112,6 @@ int session_set_controller(Session *s, c + return r; + } + +- session_swap_controller(s, t); +- + /* When setting a session controller, we forcibly mute the VT and set + * it into graphics-mode. Applications can override that by changing + * VT state after calling TakeControl(). However, this serves as a good +@@ -1101,7 +1120,11 @@ int session_set_controller(Session *s, c + * exits. + * If logind crashes/restarts, we restore the controller during restart + * or reset the VT in case it crashed/exited, too. */ +- session_mute_vt(s); ++ r = session_mute_vt(s); ++ if (r < 0) ++ return r; ++ ++ session_swap_controller(s, t); + + return 0; + } +--- src/login/logind-session.h ++++ src/login/logind-session.h 2014-08-25 17:19:29.042236429 +0000 +@@ -172,7 +172,7 @@ SessionClass session_class_from_string(c + const char *kill_who_to_string(KillWho k) _const_; + KillWho kill_who_from_string(const char *s) _pure_; + +-void session_mute_vt(Session *s); ++int session_mute_vt(Session *s); + void session_restore_vt(Session *s); + + bool session_is_controller(Session *s, const char *sender); diff --git a/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch b/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch new file mode 100644 index 00000000..5dfa4ed5 --- /dev/null +++ b/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch @@ -0,0 +1,45 @@ +Based on 85529c815b47c22839e0f148af67fd37e977cbfa Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 12 Aug 2014 19:29:27 +0200 +Subject: [PATCH] sd-resolve: fix allocation if query ids, never reuse them + +--- + src/libsystemd/sd-resolve/sd-resolve.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +--- src/libsystemd/sd-resolve/sd-resolve.c ++++ src/libsystemd/sd-resolve/sd-resolve.c 2014-08-22 14:18:24.838235343 +0000 +@@ -81,7 +81,7 @@ struct sd_resolve { + pthread_t workers[WORKERS_MAX]; + unsigned n_valid_workers; + +- unsigned current_id, current_index; ++ unsigned current_id; + sd_resolve_query* queries[QUERIES_MAX]; + unsigned n_queries; + +@@ -892,21 +892,17 @@ static int alloc_query(sd_resolve *resol + if (r < 0) + return r; + +- while (resolve->queries[resolve->current_index]) { +- resolve->current_index++; ++ while (resolve->queries[resolve->current_id % QUERIES_MAX]) + resolve->current_id++; + +- resolve->current_index %= QUERIES_MAX; +- } +- +- q = resolve->queries[resolve->current_index] = new0(sd_resolve_query, 1); ++ q = resolve->queries[resolve->current_id % QUERIES_MAX] = new0(sd_resolve_query, 1); + if (!q) + return -ENOMEM; + + resolve->n_queries++; + + q->resolve = resolve; +- q->id = resolve->current_id; ++ q->id = resolve->current_id++; + + *_q = q; + return 0; diff --git a/0006-login-share-VT-signal-handler-between-sessions.patch b/0006-login-share-VT-signal-handler-between-sessions.patch new file mode 100644 index 00000000..599aa261 --- /dev/null +++ b/0006-login-share-VT-signal-handler-between-sessions.patch @@ -0,0 +1,246 @@ +Based on 92683ad2e28c79891e4123d9a421b018dc58870c Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Mon, 11 Aug 2014 18:17:54 +0200 +Subject: [PATCH] login: share VT-signal handler between sessions + +sd-event does not allow multiple handlers for a single signal. However, +logind sets up signal handlers for each session with VT_PROCESS set (that +is, it has an active controller). Therefore, registering multiple such +controllers will fail. + +Lets make the VT-handler global, as it's mostly trivial, anyway. This way, +the sessions don't have to take care of that and we can simply acknowledge +all VT-switch requests as we always did. +--- + src/libsystemd/sd-event/sd-event.c | 5 +- + src/login/logind-session.c | 26 +------------ + src/login/logind-session.h | 1 + src/login/logind.c | 70 +++++++++++++++++++++++++++++++++++++ + src/shared/util.c | 18 +++++++++ + src/shared/util.h | 1 + 6 files changed, 94 insertions(+), 27 deletions(-) + +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c 2014-08-26 11:02:54.500683967 +0000 +@@ -839,7 +839,6 @@ _public_ int sd_event_add_signal( + assert_return(sig > 0, -EINVAL); + assert_return(sig < _NSIG, -EINVAL); + assert_return(callback, -EINVAL); +- assert_return(ret, -EINVAL); + assert_return(e->state != SD_EVENT_FINISHED, -ESTALE); + assert_return(!event_pid_changed(e), -ECHILD); + +@@ -877,7 +876,9 @@ _public_ int sd_event_add_signal( + } + } + +- *ret = s; ++ if (ret) ++ *ret = s; ++ + return 0; + } + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-08-25 17:22:46.000000000 +0000 +@@ -153,8 +153,6 @@ void session_free(Session *s) { + + hashmap_remove(s->manager->sessions, s->id); + +- s->vt_source = sd_event_source_unref(s->vt_source); +- + free(s->state_file); + free(s); + } +@@ -966,19 +964,9 @@ static int session_open_vt(Session *s) { + return s->vtfd; + } + +-static int session_vt_fn(sd_event_source *source, const struct signalfd_siginfo *si, void *data) { +- Session *s = data; +- +- if (s->vtfd >= 0) +- ioctl(s->vtfd, VT_RELDISP, 1); +- +- return 0; +-} +- + int session_mute_vt(Session *s) { + int vt, r; + struct vt_mode mode = { 0 }; +- sigset_t mask; + + if (s->vtnr < 1) + return 0; +@@ -1008,20 +996,12 @@ int session_mute_vt(Session *s) { + goto error; + } + +- sigemptyset(&mask); +- sigaddset(&mask, SIGUSR1); +- sigprocmask(SIG_BLOCK, &mask, NULL); +- +- r = sd_event_add_signal(s->manager->event, &s->vt_source, SIGUSR1, session_vt_fn, s); +- if (r < 0) +- goto error; +- + /* Oh, thanks to the VT layer, VT_AUTO does not work with KD_GRAPHICS. + * So we need a dummy handler here which just acknowledges *all* VT + * switch requests. */ + mode.mode = VT_PROCESS; +- mode.relsig = SIGUSR1; +- mode.acqsig = SIGUSR1; ++ mode.relsig = SIGRTMIN; ++ mode.acqsig = SIGRTMIN + 1; + r = ioctl(vt, VT_SETMODE, &mode); + if (r < 0) { + r = -errno; +@@ -1045,8 +1025,6 @@ void session_restore_vt(Session *s) { + if (vt < 0) + return; + +- s->vt_source = sd_event_source_unref(s->vt_source); +- + ioctl(vt, KDSETMODE, KD_TEXT); + + if (read_one_line_file("/sys/module/vt/parameters/default_utf8", &utf8) >= 0 && *utf8 == '1') +--- src/login/logind-session.h ++++ src/login/logind-session.h 2014-08-25 00:00:00.000000000 +0000 +@@ -98,7 +98,6 @@ struct Session { + Seat *seat; + unsigned int vtnr; + int vtfd; +- sd_event_source *vt_source; + + pid_t leader; + uint32_t audit_id; +--- src/login/logind.c ++++ src/login/logind.c 2014-08-26 11:18:41.422235366 +0000 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + + #include "sd-daemon.h" +@@ -714,6 +715,47 @@ static int manager_connect_bus(Manager * + return 0; + } + ++static int manager_vt_switch(sd_event_source *src, const struct signalfd_siginfo *si, void *data) { ++ Manager *m = data; ++ Session *active, *iter; ++ ++ /* ++ * We got a VT-switch signal and we have to acknowledge it immediately. ++ * Preferably, we'd just use m->seat0->active->vtfd, but unfortunately, ++ * old user-space might run multiple sessions on a single VT, *sigh*. ++ * Therefore, we have to iterate all sessions and find one with a vtfd ++ * on the requested VT. ++ * As only VTs with active controllers have VT_PROCESS set, our current ++ * notion of the active VT might be wrong (for instance if the switch ++ * happens while we setup VT_PROCESS). Therefore, read the current VT ++ * first and then use s->active->vtnr as reference. Note that this is ++ * not racy, as no further VT-switch can happen as long as we're in ++ * synchronous VT_PROCESS mode. ++ */ ++ ++ assert(m->seat0); ++ seat_read_active_vt(m->seat0); ++ ++ active = m->seat0->active; ++ if (!active || active->vtnr < 1) { ++ log_warning("Received VT_PROCESS signal without a registered session on that VT."); ++ return 0; ++ } ++ ++ if (active->vtfd >= 0) { ++ ioctl(active->vtfd, VT_RELDISP, 1); ++ } else { ++ LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { ++ if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { ++ ioctl(iter->vtfd, VT_RELDISP, 1); ++ break; ++ } ++ } ++ } ++ ++ return 0; ++} ++ + static int manager_connect_console(Manager *m) { + int r; + +@@ -744,6 +786,34 @@ static int manager_connect_console(Manag + return r; + } + ++ /* ++ * SIGRTMIN is used as global VT-release signal, SIGRTMIN + 1 is used ++ * as VT-acquire signal. We ignore any acquire-events (yes, we still ++ * have to provide a valid signal-number for it!) and acknowledge all ++ * release events immediately. ++ */ ++ ++ if (SIGRTMIN + 1 > SIGRTMAX) { ++ log_error("Not enough real-time signals available: %u-%u", SIGRTMIN, SIGRTMAX); ++ return -EINVAL; ++ } ++ ++ r = ignore_signals(SIGRTMIN + 1, -1); ++ if (r < 0) { ++ log_error("Cannot ignore SIGRTMIN + 1: %s", strerror(-r)); ++ return r; ++ } ++ ++ r = sigprocmask_many(SIG_BLOCK, SIGRTMIN, -1); ++ if (r < 0) { ++ log_error("Cannot block SIGRTMIN: %s", strerror(-r)); ++ return r; ++ } ++ ++ r = sd_event_add_signal(m->event, NULL, SIGRTMIN, manager_vt_switch, m); ++ if (r < 0) ++ return r; ++ + return 0; + } + +--- src/shared/util.c ++++ src/shared/util.c 2014-08-26 10:20:14.000000000 +0000 +@@ -2434,6 +2434,24 @@ void sigset_add_many(sigset_t *ss, ...) + va_end(ap); + } + ++int sigprocmask_many(int how, ...) { ++ va_list ap; ++ sigset_t ss; ++ int sig; ++ ++ assert_se(sigemptyset(&ss) == 0); ++ ++ va_start(ap, how); ++ while ((sig = va_arg(ap, int)) > 0) ++ assert_se(sigaddset(&ss, sig) == 0); ++ va_end(ap); ++ ++ if (sigprocmask(how, &ss, NULL) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + char* gethostname_malloc(void) { + struct utsname u; + +--- src/shared/util.h ++++ src/shared/util.h 2014-08-26 10:21:08.000000000 +0000 +@@ -390,6 +390,7 @@ char* dirname_malloc(const char *path); + void rename_process(const char name[8]); + + void sigset_add_many(sigset_t *ss, ...); ++int sigprocmask_many(int how, ...); + + bool hostname_is_set(void); + diff --git a/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch b/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch new file mode 100644 index 00000000..54b97960 --- /dev/null +++ b/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch @@ -0,0 +1,23 @@ +Based on 5e8b767df6e18444d5aff2987b5e5603361ed528 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 13 Aug 2014 18:53:05 +0200 +Subject: [PATCH] journald: also increase the SendBuffer of /dev/log to 8M + +http://lists.freedesktop.org/archives/systemd-devel/2014-August/021825.html +--- + units/systemd-journald.socket | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- units/systemd-journald.socket ++++ units/systemd-journald.socket 2014-08-22 14:31:11.022236471 +0000 +@@ -23,4 +23,10 @@ ListenDatagram=/dev/log + SocketMode=0666 + PassCredentials=yes + PassSecurity=yes ++ ++# Increase both the send and receive buffer, so that things don't ++# block early. Note that journald internally uses the this socket both ++# for receiving syslog messages, and for forwarding them to any other ++# syslog, hence we bump both values. + ReceiveBuffer=8M ++SendBuffer=8M diff --git a/0008-hwdb-update.patch b/0008-hwdb-update.patch new file mode 100644 index 00000000..062b229b --- /dev/null +++ b/0008-hwdb-update.patch @@ -0,0 +1,1425 @@ +From cccc74971fe3c853832d742a15eac94f365603b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 20 Aug 2014 00:38:39 +0200 +Subject: [PATCH] update hwdb + +--- + hwdb/20-OUI.hwdb | 177 +++++++++++- + hwdb/20-pci-vendor-model.hwdb | 592 ++++++++++++++++++++++++++++++++++++++++- + hwdb/20-usb-vendor-model.hwdb | 12 + + 3 files changed, 776 insertions(+), 5 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index f9501be..e0c5fed 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -21371,7 +21371,7 @@ OUI:000A2F* + ID_OUI_FROM_DATABASE=Artnix Inc. + + OUI:000A30* +- ID_OUI_FROM_DATABASE=Johnson Controls-ASG ++ ID_OUI_FROM_DATABASE=Visteon Corporation + + OUI:000A31* + ID_OUI_FROM_DATABASE=HCV Consulting +@@ -51601,6 +51601,9 @@ OUI:00E666* + OUI:00E6D3* + ID_OUI_FROM_DATABASE=NIXDORF COMPUTER CORP. + ++OUI:00E6E8* ++ ID_OUI_FROM_DATABASE=Netzin Technology Corporation,.Ltd. ++ + OUI:00E8AB* + ID_OUI_FROM_DATABASE=Meggitt Training Systems, Inc. + +@@ -51616,6 +51619,9 @@ OUI:00F051* + OUI:00F403* + ID_OUI_FROM_DATABASE=Orbis Systems Oy + ++OUI:00F46F* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:00F4B9* + ID_OUI_FROM_DATABASE=Apple + +@@ -51856,6 +51862,9 @@ OUI:0498F3* + OUI:0499E6* + ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd + ++OUI:049B9C* ++ ID_OUI_FROM_DATABASE=Eadingcore Intelligent Technology Co., Ltd. ++ + OUI:049C62* + ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. + +@@ -52720,6 +52729,9 @@ OUI:08E84F* + OUI:08EA44* + ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. + ++OUI:08EB29* ++ ID_OUI_FROM_DATABASE=Jiangsu Huitong Group Co.,Ltd. ++ + OUI:08EB74* + ID_OUI_FROM_DATABASE=Humax + +@@ -52729,6 +52741,9 @@ OUI:08EBED* + OUI:08EDB9* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:08EE8B* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:08EF3B* + ID_OUI_FROM_DATABASE=MCS Logic Inc. + +@@ -52969,6 +52984,9 @@ OUI:0CAC05* + OUI:0CAF5A* + ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED + ++OUI:0CB319* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:0CB4EF* + ID_OUI_FROM_DATABASE=Digience Co.,Ltd. + +@@ -53036,7 +53054,7 @@ OUI:0CD996* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:0CD9C1* +- ID_OUI_FROM_DATABASE=Johnson Controls-ASG ++ ID_OUI_FROM_DATABASE=Visteon Corporation + + OUI:0CDA41* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited +@@ -53434,6 +53452,9 @@ OUI:10F96F* + OUI:10F9EE* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:10FACE* ++ ID_OUI_FROM_DATABASE=Reacheng Communication Technology Co.,Ltd ++ + OUI:10FBF0* + ID_OUI_FROM_DATABASE=KangSheng LTD. + +@@ -55417,6 +55438,9 @@ OUI:2C441B* + OUI:2C44FD* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:2C5089* ++ ID_OUI_FROM_DATABASE=Shenzhen Kaixuan Visual Technology Co.,Limited ++ + OUI:2C534A* + ID_OUI_FROM_DATABASE=Shenzhen Winyao Electronic Limited + +@@ -55774,6 +55798,9 @@ OUI:306E5C* + OUI:3071B2* + ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. + ++OUI:307350* ++ ID_OUI_FROM_DATABASE=Inpeco SA ++ + OUI:307512* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + +@@ -55972,6 +55999,9 @@ OUI:343111* + OUI:3431C4* + ID_OUI_FROM_DATABASE=AVM GmbH + ++OUI:3438AF* ++ ID_OUI_FROM_DATABASE=Inlab Software GmbH ++ + OUI:3440B5* + ID_OUI_FROM_DATABASE=IBM + +@@ -56323,12 +56353,18 @@ OUI:3826CD* + OUI:3828EA* + ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD + ++OUI:382C4A* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:382DD1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + + OUI:3831AC* + ID_OUI_FROM_DATABASE=WEG + ++OUI:383BC8* ++ ID_OUI_FROM_DATABASE=2wire ++ + OUI:383F10* + ID_OUI_FROM_DATABASE=DBL Technology Ltd. + +@@ -56416,6 +56452,9 @@ OUI:388EE7* + OUI:3891FB* + ID_OUI_FROM_DATABASE=Xenox Holding BV + ++OUI:389496* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:389592* + ID_OUI_FROM_DATABASE=Beijing Tendyron Corporation + +@@ -56605,6 +56644,9 @@ OUI:3C1A79* + OUI:3C1CBE* + ID_OUI_FROM_DATABASE=JADAK LLC + ++OUI:3C1E13* ++ ID_OUI_FROM_DATABASE=HANGZHOU SUNRISE TECHNOLOGY CO., LTD ++ + OUI:3C25D7* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -57343,6 +57385,9 @@ OUI:446C24* + OUI:446D57* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + ++OUI:446D6C* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:44700B* + ID_OUI_FROM_DATABASE=IFFU + +@@ -57778,6 +57823,9 @@ OUI:4C09B4* + OUI:4C0B3A* + ID_OUI_FROM_DATABASE=TCT Mobile Limited + ++OUI:4C0BBE* ++ ID_OUI_FROM_DATABASE=Microsoft ++ + OUI:4C0DEE* + ID_OUI_FROM_DATABASE=JABIL CIRCUIT (SHANGHAI) LTD. + +@@ -58372,6 +58420,9 @@ OUI:50ED94* + OUI:50F003* + ID_OUI_FROM_DATABASE=Open Stack, Inc. + ++OUI:50F43C* ++ ID_OUI_FROM_DATABASE=Leeo Inc ++ + OUI:50F520* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -58405,6 +58456,9 @@ OUI:540536* + OUI:54055F* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:54098D* ++ ID_OUI_FROM_DATABASE=deister electronic GmbH ++ + OUI:54112F* + ID_OUI_FROM_DATABASE=Sulzer Pump Solutions Finland Oy + +@@ -59137,6 +59191,9 @@ OUI:5C93A2* + OUI:5C95AE* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C966A* ++ ID_OUI_FROM_DATABASE=RTNET ++ + OUI:5C969D* + ID_OUI_FROM_DATABASE=Apple + +@@ -59905,6 +59962,9 @@ OUI:64AE0C* + OUI:64AE88* + ID_OUI_FROM_DATABASE=Polytec GmbH + ++OUI:64B21D* ++ ID_OUI_FROM_DATABASE=Chengdu Phycom Tech Co., Ltd. ++ + OUI:64B310* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -59917,6 +59977,9 @@ OUI:64B473* + OUI:64B64A* + ID_OUI_FROM_DATABASE=ViVOtech, Inc. + ++OUI:64B853* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:64B9E8* + ID_OUI_FROM_DATABASE=Apple + +@@ -60208,6 +60271,9 @@ OUI:68974B* + OUI:6897E8* + ID_OUI_FROM_DATABASE=Society of Motion Picture & Television Engineers + ++OUI:6899CD* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:689C5E* + ID_OUI_FROM_DATABASE=AcSiP Technology Corp. + +@@ -60325,6 +60391,9 @@ OUI:68F06D* + OUI:68F125* + ID_OUI_FROM_DATABASE=Data Controls Inc. + ++OUI:68F728* ++ ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd ++ + OUI:68F895* + ID_OUI_FROM_DATABASE=Redflow Limited + +@@ -61081,12 +61150,18 @@ OUI:744D79* + OUI:745327* + ID_OUI_FROM_DATABASE=COMMSEN CO., LIMITED + ++OUI:74547D* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:745612* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + + OUI:745798* + ID_OUI_FROM_DATABASE=TRUMPF Laser GmbH + Co. KG + ++OUI:745C9F* ++ ID_OUI_FROM_DATABASE=TCT mobile ltd. ++ + OUI:745E1C* + ID_OUI_FROM_DATABASE=PIONEER CORPORATION + +@@ -62446,6 +62521,9 @@ OUI:842615* + OUI:84262B* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + ++OUI:842690* ++ ID_OUI_FROM_DATABASE=BEIJING THOUGHT SCIENCE CO.,LTD. ++ + OUI:8427CE* + ID_OUI_FROM_DATABASE=Corporation of the Presiding Bishop of The Church of Jesus Christ of Latter-day Saints + +@@ -62506,6 +62584,9 @@ OUI:844F03* + OUI:845181* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:8455A5* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:84569C* + ID_OUI_FROM_DATABASE=Coho Data, Inc., + +@@ -62611,6 +62692,9 @@ OUI:849CA6* + OUI:849DC5* + ID_OUI_FROM_DATABASE=Centera Photonics Inc. + ++OUI:84A466* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:84A6C8* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -62824,6 +62908,9 @@ OUI:886B76* + OUI:88708C* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:8870EF* ++ ID_OUI_FROM_DATABASE=SC Professional Trading Co., Ltd. ++ + OUI:887398* + ID_OUI_FROM_DATABASE=K2E Tekpoint + +@@ -62998,6 +63085,9 @@ OUI:8C006D* + OUI:8C04FF* + ID_OUI_FROM_DATABASE=Technicolor USA Inc. + ++OUI:8C0551* ++ ID_OUI_FROM_DATABASE=Koubachi AG ++ + OUI:8C078C* + ID_OUI_FROM_DATABASE=FLOW DATA INC + +@@ -63181,6 +63271,9 @@ OUI:8C8E76* + OUI:8C90D3* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:8C9109* ++ ID_OUI_FROM_DATABASE=Toyoshima Electric Technoeogy(Suzhou) Co.,Ltd. ++ + OUI:8C9236* + ID_OUI_FROM_DATABASE=Aus.Linx Technology Co., Ltd. + +@@ -64249,6 +64342,9 @@ OUI:98F8C1* + OUI:98F8DB* + ID_OUI_FROM_DATABASE=Marini Impianti Industriali s.r.l. + ++OUI:98FAE3* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:98FB12* + ID_OUI_FROM_DATABASE=Grand Electronics (HK) Ltd + +@@ -64804,6 +64900,9 @@ OUI:A0A130* + OUI:A0A23C* + ID_OUI_FROM_DATABASE=GPMS + ++OUI:A0A3E2* ++ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc ++ + OUI:A0A763* + ID_OUI_FROM_DATABASE=Polytron Vertrieb GmbH + +@@ -64819,6 +64918,9 @@ OUI:A0B100* + OUI:A0B3CC* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A0B4A5* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:A0B5DA* + ID_OUI_FROM_DATABASE=HongKong THTF Co., Ltd + +@@ -65116,6 +65218,9 @@ OUI:A49A58* + OUI:A49B13* + ID_OUI_FROM_DATABASE=Burroughs Payment Systems, Inc. + ++OUI:A49D49* ++ ID_OUI_FROM_DATABASE=Ketra, Inc. ++ + OUI:A49EDB* + ID_OUI_FROM_DATABASE=AutoCrib, Inc. + +@@ -65389,6 +65494,9 @@ OUI:A8776F* + OUI:A87B39* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:A87C01* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:A87E33* + ID_OUI_FROM_DATABASE=Nokia Danmark A/S + +@@ -65479,6 +65587,9 @@ OUI:A8CCC5* + OUI:A8CE90* + ID_OUI_FROM_DATABASE=CVC + ++OUI:A8D0E3* ++ ID_OUI_FROM_DATABASE=Systech Electronics Ltd. ++ + OUI:A8D0E5* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -65488,6 +65599,9 @@ OUI:A8D236* + OUI:A8D3C8* + ID_OUI_FROM_DATABASE=Wachendorff Elektronik GmbH & Co. KG + ++OUI:A8D88A* ++ ID_OUI_FROM_DATABASE=Wyconn ++ + OUI:A8E018* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -65602,6 +65716,9 @@ OUI:AC3613* + OUI:AC3870* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:AC3A7A* ++ ID_OUI_FROM_DATABASE=Roku ++ + OUI:AC3C0B* + ID_OUI_FROM_DATABASE=Apple + +@@ -66049,6 +66166,9 @@ OUI:B09074* + OUI:B09134* + ID_OUI_FROM_DATABASE=Taleo + ++OUI:B09137* ++ ID_OUI_FROM_DATABASE=ISis ImageStream Internet Solutions, Inc ++ + OUI:B0973A* + ID_OUI_FROM_DATABASE=E-Fuel Corporation + +@@ -66271,6 +66391,9 @@ OUI:B435F7* + OUI:B43741* + ID_OUI_FROM_DATABASE=Consert, Inc. + ++OUI:B43934* ++ ID_OUI_FROM_DATABASE=Pen Generations, Inc. ++ + OUI:B439D6* + ID_OUI_FROM_DATABASE=ProCurve Networking by HP + +@@ -66397,6 +66520,9 @@ OUI:B4A4E3* + OUI:B4A5A9* + ID_OUI_FROM_DATABASE=MODI GmbH + ++OUI:B4A828* ++ ID_OUI_FROM_DATABASE=Shenzhen Concox Information Technology Co., Ltd ++ + OUI:B4A82B* + ID_OUI_FROM_DATABASE=Histar Digital Electronics Co., Ltd. + +@@ -67114,6 +67240,9 @@ OUI:BCBAE1* + OUI:BCBBC9* + ID_OUI_FROM_DATABASE=Kellendonk Elektronik GmbH + ++OUI:BCBC46* ++ ID_OUI_FROM_DATABASE=SKS Welding Systems GmbH ++ + OUI:BCC168* + ID_OUI_FROM_DATABASE=DinBox Sverige AB + +@@ -67840,6 +67969,9 @@ OUI:C819F7* + OUI:C81AFE* + ID_OUI_FROM_DATABASE=DLOGIC GmbH + ++OUI:C81B6B* ++ ID_OUI_FROM_DATABASE=Innova Security ++ + OUI:C81E8E* + ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd + +@@ -68530,6 +68662,9 @@ OUI:D01AA7* + OUI:D01CBB* + ID_OUI_FROM_DATABASE=Beijing Ctimes Digital Technology Co., Ltd. + ++OUI:D02212* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:D022BE* + ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. + +@@ -69259,6 +69394,9 @@ OUI:D831CF* + OUI:D8337F* + ID_OUI_FROM_DATABASE=Office FA.com Co.,Ltd. + ++OUI:D83C69* ++ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp ++ + OUI:D842AC* + ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. + +@@ -69349,6 +69487,9 @@ OUI:D88039* + OUI:D881CE* + ID_OUI_FROM_DATABASE=AHN INC. + ++OUI:D88466* ++ ID_OUI_FROM_DATABASE=Extreme Networks ++ + OUI:D88A3B* + ID_OUI_FROM_DATABASE=UNIT-EM + +@@ -69376,6 +69517,9 @@ OUI:D89760* + OUI:D8977C* + ID_OUI_FROM_DATABASE=Grey Innovation + ++OUI:D897BA* ++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION ++ + OUI:D89D67* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -69442,6 +69586,9 @@ OUI:D8C7C8* + OUI:D8C99D* + ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED + ++OUI:D8CB8A* ++ ID_OUI_FROM_DATABASE=Micro-Star INTL CO., LTD. ++ + OUI:D8CF9C* + ID_OUI_FROM_DATABASE=Apple + +@@ -69505,6 +69652,9 @@ OUI:D8EE78* + OUI:D8F0F2* + ID_OUI_FROM_DATABASE=Zeebo Inc + ++OUI:D8F710* ++ ID_OUI_FROM_DATABASE=Libre Wireless Technologies Inc. ++ + OUI:D8FB11* + ID_OUI_FROM_DATABASE=AXACORE + +@@ -69749,7 +69899,7 @@ OUI:DCD87F* + ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd + + OUI:DCDA4F* +- ID_OUI_FROM_DATABASE=GET Technology,INC ++ ID_OUI_FROM_DATABASE=GETCK TECHNOLOGY, INC + + OUI:DCDECA* + ID_OUI_FROM_DATABASE=Akyllor +@@ -69763,6 +69913,9 @@ OUI:DCE578* + OUI:DCE71C* + ID_OUI_FROM_DATABASE=AUG Elektronik GmbH + ++OUI:DCEC06* ++ ID_OUI_FROM_DATABASE=Heimi Network Technology Co., Ltd. ++ + OUI:DCF05D* + ID_OUI_FROM_DATABASE=Letta Teknoloji + +@@ -69856,6 +70009,9 @@ OUI:E039D7* + OUI:E03C5B* + ID_OUI_FROM_DATABASE=SHENZHEN JIAXINJIE ELECTRON CO.,LTD + ++OUI:E03E44* ++ ID_OUI_FROM_DATABASE=Broadcom Corporation ++ + OUI:E03E4A* + ID_OUI_FROM_DATABASE=Cavanagh Group International + +@@ -70378,6 +70534,9 @@ OUI:E4F4C6* + OUI:E4F7A1* + ID_OUI_FROM_DATABASE=Datafox GmbH + ++OUI:E4F8EF* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:E4FA1D* + ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc. + +@@ -70549,6 +70708,9 @@ OUI:E8802E* + OUI:E880D8* + ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. + ++OUI:E887A3* ++ ID_OUI_FROM_DATABASE=Loxley Public Company Limited ++ + OUI:E8892C* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -70627,6 +70789,9 @@ OUI:E8C320* + OUI:E8CBA1* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:E8CC18* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:E8CC32* + ID_OUI_FROM_DATABASE=Micronet LTD + +@@ -71008,6 +71173,9 @@ OUI:F015A0* + OUI:F01C13* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:F01C2D* ++ ID_OUI_FROM_DATABASE=Juniper Networks ++ + OUI:F01FAF* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -71398,6 +71566,9 @@ OUI:F4472A* + OUI:F44848* + ID_OUI_FROM_DATABASE=Amscreen Group Ltd + ++OUI:F44E05* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F44EFD* + ID_OUI_FROM_DATABASE=Actions Semiconductor Co.,Ltd.(Cayman Islands) + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index a6a2754..3bcdbc0 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -10478,6 +10478,9 @@ pci:v00001014d0000034Asv00001014sd000004C8* + pci:v00001014d0000034Asv00001014sd00000C49* + ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) + ++pci:v00001014d0000044B* ++ ID_MODEL_FROM_DATABASE=GenWQE Accelerator Adapter ++ + pci:v00001014d000004AA* + ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) + +@@ -26387,6 +26390,9 @@ pci:v000010DEd00000FE2* + pci:v000010DEd00000FE3* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] + ++pci:v000010DEd00000FE3sv0000103Csd00002B16* ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) ++ + pci:v000010DEd00000FE3sv000017AAsd00003675* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) + +@@ -26420,6 +26426,9 @@ pci:v000010DEd00000FF1* + pci:v000010DEd00000FF2* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K1] + ++pci:v000010DEd00000FF3* ++ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K420] ++ + pci:v000010DEd00000FF5* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K1 Tesla USM] + +@@ -26546,6 +26555,9 @@ pci:v000010DEd00001029* + pci:v000010DEd0000103A* + ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] + ++pci:v000010DEd0000103C* ++ ID_MODEL_FROM_DATABASE=GK110GL [Quadro K5200] ++ + pci:v000010DEd00001040* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 520] + +@@ -26981,6 +26993,12 @@ pci:v000010DEd00001140sv00001028sd000005F4* + pci:v000010DEd00001140sv00001028sd0000064E* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + ++pci:v000010DEd00001140sv00001028sd00000652* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001028sd00000662* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001028sd0000068D* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + +@@ -27239,9 +27257,15 @@ pci:v000010DEd00001140sv0000152Dsd00000982* + pci:v000010DEd00001140sv0000152Dsd00000983* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + ++pci:v000010DEd00001140sv0000152Dsd00001005* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 820M) ++ + pci:v000010DEd00001140sv0000152Dsd00001012* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + ++pci:v000010DEd00001140sv0000152Dsd00001019* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv0000152Dsd00001030* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + +@@ -27254,6 +27278,9 @@ pci:v000010DEd00001140sv0000152Dsd00001067* + pci:v000010DEd00001140sv0000152Dsd00001072* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv0000152Dsd00001086* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv000017AAsd00002200* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + +@@ -27578,6 +27605,9 @@ pci:v000010DEd000011B0sv000010DEsd0000101B* + pci:v000010DEd000011B1* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] + ++pci:v000010DEd000011B4* ++ ID_MODEL_FROM_DATABASE=GK104GL [Quadro K4200] ++ + pci:v000010DEd000011B6* + ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K3100M] + +@@ -27863,6 +27893,9 @@ pci:v000010DEd00001295sv0000103Csd00002B0F* + pci:v000010DEd00001295sv0000103Csd00002B11* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) + ++pci:v000010DEd00001295sv0000103Csd00002B20* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce 810A) ++ + pci:v000010DEd00001295sv0000103Csd00002B21* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) + +@@ -27887,6 +27920,9 @@ pci:v000010DEd000012BA* + pci:v000010DEd00001340* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] + ++pci:v000010DEd00001340sv0000103Csd00002B2B* ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] (GeForce 830A) ++ + pci:v000010DEd00001341* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] + +@@ -27926,6 +27962,15 @@ pci:v000010DEd00001392* + pci:v000010DEd00001393* + ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] + ++pci:v000010DEd000013B3* ++ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro K2200M] ++ ++pci:v000010DEd000013BA* ++ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K2200] ++ ++pci:v000010DEd000013BB* ++ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] ++ + pci:v000010DF* + ID_VENDOR_FROM_DATABASE=Emulex Corporation + +@@ -29291,6 +29336,9 @@ pci:v00001103d00000622* + pci:v00001103d00000640* + ID_MODEL_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller + ++pci:v00001103d00000644* ++ ID_MODEL_FROM_DATABASE=RocketRAID 644 4 Port SATA-III Controller (eSATA) ++ + pci:v00001103d00001720* + ID_MODEL_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller) + +@@ -40325,6 +40373,12 @@ pci:v00001360d00000205* + pci:v00001360d00000206* + ID_MODEL_FROM_DATABASE=GPS180PEX GPS Receiver (PCI Express) + ++pci:v00001360d00000207* ++ ID_MODEL_FROM_DATABASE=GLN180PEX GPS/GLONASS receiver (PCI Express) ++ ++pci:v00001360d00000208* ++ ID_MODEL_FROM_DATABASE=GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) ++ + pci:v00001360d00000301* + ID_MODEL_FROM_DATABASE=TCR510PCI IRIG Timecode Reader + +@@ -41525,6 +41579,9 @@ pci:v000013F6d00008788sv00001043sd00008428* + pci:v000013F6d00008788sv00001043sd00008467* + ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) + ++pci:v000013F6d00008788sv00001043sd000085F4* ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX II)) ++ + pci:v000013F6d00008788sv000013F6sd00008782* + ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) + +@@ -45905,6 +45962,9 @@ pci:v000014E4d000043A0* + pci:v000014E4d000043A9* + ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n + ++pci:v000014E4d000043AA* ++ ID_MODEL_FROM_DATABASE=BCM43131 802.11b/g/n ++ + pci:v000014E4d000043B1* + ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter + +@@ -46884,7 +46944,7 @@ pci:v000014F1d00008852* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder + + pci:v000014F1d00008852sv00000070sd00008010* +- ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinTV HVR-1400 ExpressCard) + + pci:v000014F1d00008852sv0000107Dsd00006F22* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) +@@ -46898,6 +46958,9 @@ pci:v000014F1d00008852sv0000153Bsd0000117E* + pci:v000014F1d00008852sv000018ACsd0000DB78* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) + ++pci:v000014F1d00008852sv00004254sd00009580* ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (T9580) ++ + pci:v000014F1d00008880* + ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb + +@@ -47438,6 +47501,18 @@ pci:v00001542* + pci:v00001542d00009260* + ID_MODEL_FROM_DATABASE=RCIM-II Real-Time Clock & Interrupt Module + ++pci:v00001542d00009272* ++ ID_MODEL_FROM_DATABASE=Pulse Width Modulator Card ++ ++pci:v00001542d00009277* ++ ID_MODEL_FROM_DATABASE=5 Volt Delta Sigma Converter Card ++ ++pci:v00001542d00009278* ++ ID_MODEL_FROM_DATABASE=10 Volt Delta Sigma Converter Card ++ ++pci:v00001542d00009287* ++ ID_MODEL_FROM_DATABASE=Analog Output Card ++ + pci:v00001543* + ID_VENDOR_FROM_DATABASE=SILICON Laboratories + +@@ -49505,6 +49580,9 @@ pci:v000016B8* + pci:v000016BE* + ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH + ++pci:v000016C3* ++ ID_VENDOR_FROM_DATABASE=Synopsys, Inc. ++ + pci:v000016C6* + ID_VENDOR_FROM_DATABASE=Micrel-Kendin + +@@ -53936,6 +54014,9 @@ pci:v0000416Cd00000100* + pci:v0000416Cd00000200* + ID_MODEL_FROM_DATABASE=CPC + ++pci:v00004254* ++ ID_VENDOR_FROM_DATABASE=DVBSky ++ + pci:v00004321* + ID_VENDOR_FROM_DATABASE=Tata Power Strategic Electronics Division + +@@ -59621,6 +59702,12 @@ pci:v00008086d000015A2* + pci:v00008086d000015A3* + ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V + ++pci:v00008086d000015B7* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V ++ ++pci:v00008086d000015B8* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM ++ + pci:v00008086d00001600* + ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI + +@@ -69614,6 +69701,9 @@ pci:v00008086d00003B23* + pci:v00008086d00003B25* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller + ++pci:v00008086d00003B25sv0000103Csd00003118* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller (HP Smart Array B110i SATA RAID Controller) ++ + pci:v00008086d00003B26* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller + +@@ -70718,6 +70808,489 @@ pci:v00008086d000065FA* + pci:v00008086d000065FF* + ID_MODEL_FROM_DATABASE=5100 Chipset DMA Engine + ++pci:v00008086d00006F00* ++ ID_MODEL_FROM_DATABASE=Broadwell DMI2 ++ ++pci:v00008086d00006F01* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 0 ++ ++pci:v00008086d00006F02* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 ++ ++pci:v00008086d00006F03* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 ++ ++pci:v00008086d00006F04* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F05* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F06* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F07* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F08* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F09* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F0A* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F0B* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F10* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F11* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F12* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F13* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F14* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F15* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F16* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F17* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F18* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F19* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1A* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1B* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1C* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1D* ++ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent ++ ++pci:v00008086d00006F1E* ++ ID_MODEL_FROM_DATABASE=Broadwell Ubox ++ ++pci:v00008086d00006F1F* ++ ID_MODEL_FROM_DATABASE=Broadwell Ubox ++ ++pci:v00008086d00006F20* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 0 ++ ++pci:v00008086d00006F21* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 1 ++ ++pci:v00008086d00006F22* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 2 ++ ++pci:v00008086d00006F23* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 3 ++ ++pci:v00008086d00006F24* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 4 ++ ++pci:v00008086d00006F25* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 5 ++ ++pci:v00008086d00006F26* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 6 ++ ++pci:v00008086d00006F27* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 7 ++ ++pci:v00008086d00006F28* ++ ID_MODEL_FROM_DATABASE=Broadwell Adress Map/VTd_Misc/System Management ++ ++pci:v00008086d00006F29* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Hot Plug ++ ++pci:v00008086d00006F2A* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO RAS/Control Status/Global Errors ++ ++pci:v00008086d00006F2C* ++ ID_MODEL_FROM_DATABASE=Broadwell I/O APIC ++ ++pci:v00008086d00006F30* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 ++ ++pci:v00008086d00006F32* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 ++ ++pci:v00008086d00006F33* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 ++ ++pci:v00008086d00006F34* ++ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent ++ ++pci:v00008086d00006F36* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 ++ ++pci:v00008086d00006F37* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 ++ ++pci:v00008086d00006F38* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 ++ ++pci:v00008086d00006F39* ++ ID_MODEL_FROM_DATABASE=Broadwell IO Performance Monitoring ++ ++pci:v00008086d00006F3A* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 ++ ++pci:v00008086d00006F3E* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 ++ ++pci:v00008086d00006F3F* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 ++ ++pci:v00008086d00006F40* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 ++ ++pci:v00008086d00006F41* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 ++ ++pci:v00008086d00006F43* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 ++ ++pci:v00008086d00006F45* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug ++ ++pci:v00008086d00006F46* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug ++ ++pci:v00008086d00006F47* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug ++ ++pci:v00008086d00006F60* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 ++ ++pci:v00008086d00006F68* ++ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS ++ ++pci:v00008086d00006F6A* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6B* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6C* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6D* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6E* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Broadcast ++ ++pci:v00008086d00006F6F* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast ++ ++pci:v00008086d00006F70* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 Debug ++ ++pci:v00008086d00006F71* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS ++ ++pci:v00008086d00006F76* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug ++ ++pci:v00008086d00006F78* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 Debug ++ ++pci:v00008086d00006F79* ++ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS ++ ++pci:v00008086d00006F7D* ++ ID_MODEL_FROM_DATABASE=Broadwell Ubox ++ ++pci:v00008086d00006F7E* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug ++ ++pci:v00008086d00006F80* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 ++ ++pci:v00008086d00006F81* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 ++ ++pci:v00008086d00006F83* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 ++ ++pci:v00008086d00006F85* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug ++ ++pci:v00008086d00006F86* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug ++ ++pci:v00008086d00006F87* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug ++ ++pci:v00008086d00006F88* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F8A* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F90* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 ++ ++pci:v00008086d00006F93* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 ++ ++pci:v00008086d00006F95* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug ++ ++pci:v00008086d00006F96* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug ++ ++pci:v00008086d00006F98* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F99* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F9A* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F9C* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FA0* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 ++ ++pci:v00008086d00006FA8* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS ++ ++pci:v00008086d00006FAA* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAB* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAC* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAD* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAE* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Broadcast ++ ++pci:v00008086d00006FAF* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast ++ ++pci:v00008086d00006FB0* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Thermal Control ++ ++pci:v00008086d00006FB1* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Thermal Control ++ ++pci:v00008086d00006FB2* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Error ++ ++pci:v00008086d00006FB3* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Error ++ ++pci:v00008086d00006FB4* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Thermal Control ++ ++pci:v00008086d00006FB5* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Thermal Control ++ ++pci:v00008086d00006FB6* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Error ++ ++pci:v00008086d00006FB7* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Error ++ ++pci:v00008086d00006FB8* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FB9* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FBA* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FBB* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FBC* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FBD* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FBE* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FBF* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FC0* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC1* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC2* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC3* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC4* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC5* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC6* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC7* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC8* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC9* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCA* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCB* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCC* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCD* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCE* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCF* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FD0* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Thermal Control ++ ++pci:v00008086d00006FD1* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Thermal Control ++ ++pci:v00008086d00006FD2* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Error ++ ++pci:v00008086d00006FD3* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Error ++ ++pci:v00008086d00006FD4* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Thermal Control ++ ++pci:v00008086d00006FD5* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Thermal Control ++ ++pci:v00008086d00006FD6* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Error ++ ++pci:v00008086d00006FD7* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Error ++ ++pci:v00008086d00006FE0* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE1* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE2* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE3* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE4* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE5* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE6* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE7* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE8* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE9* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEA* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEB* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEC* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FED* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEE* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEF* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF0* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF1* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF8* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF9* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFA* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFB* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFC* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFD* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFE* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ + pci:v00008086d00007000* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] + +@@ -73838,8 +74411,23 @@ pci:v0000D161d0000800A* + pci:v0000D161d0000800B* + ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card + ++pci:v0000D161d0000800C* ++ ID_MODEL_FROM_DATABASE=Wildcard A8A 8-port analog card ++ ++pci:v0000D161d0000800D* ++ ID_MODEL_FROM_DATABASE=Wildcard A8B 8-port analog card (PCI-Express) ++ + pci:v0000D161d0000800E* +- ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) ++ ID_MODEL_FROM_DATABASE=Wildcard TE235/TE435 quad-span T1/E1/J1 card (PCI-Express) ++ ++pci:v0000D161d0000800F* ++ ID_MODEL_FROM_DATABASE=Wildcard A4A 4-port analog card ++ ++pci:v0000D161d00008010* ++ ID_MODEL_FROM_DATABASE=Wildcard A4B 4-port analog card (PCI-Express) ++ ++pci:v0000D161d00008013* ++ ID_MODEL_FROM_DATABASE=Wildcard TE236/TE436 quad-span T1/E1/J1 card + + pci:v0000D161d0000B410* + ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index ed6b2b1..d87313c 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -11243,6 +11243,9 @@ usb:v04A9p3261* + usb:v04A9p3262* + ID_MODEL_FROM_DATABASE=PowerShot A2600 + ++usb:v04A9p3263* ++ ID_MODEL_FROM_DATABASE=PowerShot SX275 HS ++ + usb:v04A9p3264* + ID_MODEL_FROM_DATABASE=PowerShot A1400 + +@@ -11261,6 +11264,9 @@ usb:v04A9p3276* + usb:v04A9p3277* + ID_MODEL_FROM_DATABASE=PowerShot SX510 HS + ++usb:v04A9p3278* ++ ID_MODEL_FROM_DATABASE=PowerShot S200 ++ + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + +@@ -11666,6 +11672,9 @@ usb:v04B4p2050* + usb:v04B4p2830* + ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) + ++usb:v04B4p3813* ++ ID_MODEL_FROM_DATABASE=NANO BIOS Programmer ++ + usb:v04B4p4235* + ID_MODEL_FROM_DATABASE=Monitor 02 Driver + +@@ -33116,6 +33125,9 @@ usb:v0B48p300D* + usb:v0B48p300E* + ID_MODEL_FROM_DATABASE=TT-connect C-2400 + ++usb:v0B48p3012* ++ ID_MODEL_FROM_DATABASE=TT-connect CT2-4650 CI ++ + usb:v0B48p3014* + ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 + +-- +1.7.9.2 + diff --git a/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch b/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch new file mode 100644 index 00000000..b189c671 --- /dev/null +++ b/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch @@ -0,0 +1,32 @@ +From 7c96ab1d2484ab2df3c6a84f1a1d2e076f469085 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 13 Aug 2014 20:01:19 +0200 +Subject: [PATCH] mount-setup: fix counting of early mounts without SMACK + +http://lists.freedesktop.org/archives/systemd-devel/2014-August/021772.html +--- + src/core/mount-setup.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index 206f89a..cc2633e 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -63,8 +63,13 @@ typedef struct MountPoint { + + /* The first three entries we might need before SELinux is up. The + * fourth (securityfs) is needed by IMA to load a custom policy. The +- * other ones we can delay until SELinux and IMA are loaded. */ ++ * other ones we can delay until SELinux and IMA are loaded. When ++ * SMACK is enabled we need smackfs, too, so it's a fifth one. */ ++#ifdef HAVE_SMACK + #define N_EARLY_MOUNT 5 ++#else ++#define N_EARLY_MOUNT 4 ++#endif + + static const MountPoint mount_table[] = { + { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +-- +1.7.9.2 + diff --git a/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch b/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch new file mode 100644 index 00000000..864b9982 --- /dev/null +++ b/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch @@ -0,0 +1,29 @@ +From b9c488f60050248b35640f28e4d00958702ba1c3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Wed, 6 Aug 2014 13:14:51 +0200 +Subject: [PATCH] journald: Fix off-by-one error in "Missed X kernel messages" + warning + +On receiving a message, "kernel_seqnum" is set to "serial + 1". So +subtracting 1 will cause messages like "Missed 0 kernel messages", +which should be "Missed 1 kernel messages". +--- + src/journal/journald-kmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c +index 9935986..fb8ea08 100644 +--- src/journal/journald-kmsg.c ++++ src/journal/journald-kmsg.c +@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + /* Did we lose any? */ + if (serial > *s->kernel_seqnum) + server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages", +- serial - *s->kernel_seqnum - 1); ++ serial - *s->kernel_seqnum); + + /* Make sure we never read this one again. Note that + * we always store the next message serial we expect +-- +1.7.9.2 + diff --git a/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch b/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch new file mode 100644 index 00000000..cd65acf9 --- /dev/null +++ b/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch @@ -0,0 +1,32 @@ +From 9d685ca8193c0da3ad5746be3871f5350179a3b3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Thu, 14 Aug 2014 19:59:16 +0200 +Subject: [PATCH] machine_kill(): Don't kill the unit when killing the leader + +If "machinectl poweroff" or "machinectl reboot" is used on a +systemd-nspawn container started with --keep-unit and --register, it +should *only* send the appropriate signal to the leader PID (i.e. the +container's systemd process). It shouldn't fall through to +manager_kill_unit() to also send the signal to the unit. The latter +ends up killing systemd-nspawn, which takes down the container +prematurely. +--- + src/machine/machine.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git src/machine/machine.c src/machine/machine.c +index 1c9177e..13d3448 100644 +--- src/machine/machine.c ++++ src/machine/machine.c +@@ -493,6 +493,8 @@ int machine_kill(Machine *m, KillWho who, int signo) { + + if (kill(m->leader, signo) < 0) + return -errno; ++ ++ return 0; + } + + /* Otherwise make PID 1 do it for us, for the entire cgroup */ +-- +1.7.9.2 + diff --git a/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch b/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch new file mode 100644 index 00000000..7dee5011 --- /dev/null +++ b/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch @@ -0,0 +1,93 @@ +From ff50244582bf69e8489bba6ce59a21663d7f8274 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 18 Aug 2014 22:21:42 +0200 +Subject: [PATCH] units: fix BindsTo= logic when applied relative to services + with Type=oneshot +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Start jobs for Type=oneshot units are successful when the unit state +transition activating → inactive took place. In such a case all units +that BindsTo= on it previously would continue to run, even though the unit +they dependet on was actually already gone. +--- + src/core/unit.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 44 insertions(+), 4 deletions(-) + +diff --git src/core/unit.c src/core/unit.c +index a5f6b2e..950b83a 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1471,12 +1471,44 @@ static void unit_check_unneeded(Unit *u) { + if (unit_active_or_pending(other)) + return; + +- log_info_unit(u->id, "Service %s is not needed anymore. Stopping.", u->id); ++ log_info_unit(u->id, "Unit %s is not needed anymore. Stopping.", u->id); + + /* Ok, nobody needs us anymore. Sniff. Then let's commit suicide */ + manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); + } + ++static void unit_check_binds_to(Unit *u) { ++ bool stop = false; ++ Unit *other; ++ Iterator i; ++ ++ assert(u); ++ ++ if (u->job) ++ return; ++ ++ if (unit_active_state(u) != UNIT_ACTIVE) ++ return; ++ ++ SET_FOREACH(other, u->dependencies[UNIT_BINDS_TO], i) { ++ if (other->job) ++ continue; ++ ++ if (!UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) ++ continue; ++ ++ stop = true; ++ } ++ ++ if (!stop) ++ return; ++ ++ log_info_unit(u->id, "Unit %s is bound to inactive service. Stopping, too.", u->id); ++ ++ /* A unit we need to run is gone. Sniff. Let's stop this. */ ++ manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); ++} ++ + static void retroactively_start_dependencies(Unit *u) { + Iterator i; + Unit *other; +@@ -1788,11 +1820,19 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + manager_recheck_journal(m); + unit_trigger_notify(u); + +- /* Maybe we finished startup and are now ready for being +- * stopped because unneeded? */ +- if (u->manager->n_reloading <= 0) ++ if (u->manager->n_reloading <= 0) { ++ /* Maybe we finished startup and are now ready for ++ * being stopped because unneeded? */ + unit_check_unneeded(u); + ++ /* Maybe we finished startup, but something we needed ++ * has vanished? Let's die then. (This happens when ++ * something BindsTo= to a Type=oneshot unit, as these ++ * units go directly from starting to inactive, ++ * without ever entering started.) */ ++ unit_check_binds_to(u); ++ } ++ + unit_add_to_dbus_queue(u); + unit_add_to_gc_queue(u); + } +-- +1.7.9.2 + diff --git a/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch b/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch new file mode 100644 index 00000000..becc7844 --- /dev/null +++ b/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch @@ -0,0 +1,36 @@ +From 70421bdce2719d76efffd8afdc28433c75aac5a2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 18 Aug 2014 23:15:51 +0200 +Subject: [PATCH] util: try to be a bit more NFS compatible when checking + whether an FS is writable + +https://bugs.freedesktop.org/show_bug.cgi?id=81169 +--- + src/shared/path-util.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git src/shared/path-util.c src/shared/path-util.c +index 57554cd..67566bc 100644 +--- src/shared/path-util.c ++++ src/shared/path-util.c +@@ -533,7 +533,16 @@ int path_is_read_only_fs(const char *path) { + if (statvfs(path, &st) < 0) + return -errno; + +- return !!(st.f_flag & ST_RDONLY); ++ if (st.f_flag & ST_RDONLY) ++ return true; ++ ++ /* On NFS, statvfs() might not reflect whether we can actually ++ * write to the remote share. Let's try again with ++ * access(W_OK) which is more reliable, at least sometimes. */ ++ if (access(path, W_OK) < 0 && errno == EROFS) ++ return true; ++ ++ return false; + } + + int path_is_os_tree(const char *path) { +-- +1.7.9.2 + diff --git a/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch b/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch new file mode 100644 index 00000000..06966c4c --- /dev/null +++ b/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch @@ -0,0 +1,96 @@ +Based on e98bbfd2074e2b1079b7059341eac25741baf319 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 4 Aug 2014 18:15:34 +0200 +Subject: [PATCH] udev: path_id - suppress ID_PATH for devices with an unknown + parent device type + +https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1321816 +--- + src/udev/udev-builtin-path_id.c | 38 +++++++++++++++++++++++++++----------- + 1 file changed, 27 insertions(+), 11 deletions(-) + +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c 2014-08-22 14:08:59.250235369 +0000 +@@ -524,7 +524,8 @@ static int builtin_path_id(struct udev_d + { + struct udev_device *parent; + char *path = NULL; +- bool some_transport = false; ++ bool supported_transport = false; ++ bool supported_parent = false; + + /* S390 ccw bus */ + parent = udev_device_get_parent_with_subsystem_devtype(dev, "ccw", NULL); +@@ -545,47 +546,62 @@ static int builtin_path_id(struct udev_d + handle_scsi_tape(parent, &path); + } else if (streq(subsys, "scsi")) { + parent = handle_scsi(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "cciss")) { + parent = handle_cciss(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "usb")) { + parent = handle_usb(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "bcma")) { + parent = handle_bcma(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "serio")) { + path_prepend(&path, "serio-%s", udev_device_get_sysnum(parent)); + parent = skip_subsystem(parent, "serio"); + } else if (streq(subsys, "pci")) { + path_prepend(&path, "pci-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "pci"); ++ supported_parent = true; + } else if (streq(subsys, "platform")) { + path_prepend(&path, "platform-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "platform"); +- some_transport = true; ++ supported_transport = true; ++ supported_parent = true; + } else if (streq(subsys, "acpi")) { + path_prepend(&path, "acpi-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "acpi"); ++ supported_parent = true; + } else if (streq(subsys, "xen")) { + path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "xen"); ++ supported_parent = true; + } else if (streq(subsys, "scm")) { + path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "scm"); +- some_transport = true; ++ supported_transport = true; ++ supported_parent = true; + } + + parent = udev_device_get_parent(parent); + } + + /* +- * Do not return a single-parent-device-only for block +- * devices, they might have entire buses behind it which +- * do not get unique IDs only by using the parent device. ++ * Do return devices with have an unknown type of parent device, they ++ * might produce conflicting IDs below multiple independent parent ++ * devices. + */ +- if (!some_transport && streq(udev_device_get_subsystem(dev), "block")) { ++ if (!supported_parent) { ++ free(path); ++ path = NULL; ++ } ++ ++ /* ++ * Do not return a have-only a single-parent block devices, some ++ * have entire hidden buses behind it, and not create predictable ++ * IDs that way. ++ */ ++ if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { + free(path); + path = NULL; + } diff --git a/systemd-mini.changes b/systemd-mini.changes index d691713d..6a8f2c70 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de + +- Add upstream patches for hwdb + 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch + 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch + 0003-keymap-Fix-HP-Pavillon-DV7.patch + 0004-hwdb-update-format-description-and-document-reloadin.patch + 0008-hwdb-update.patch + +------------------------------------------------------------------- +Tue Aug 26 11:25:57 UTC 2014 - werner@suse.de + +- Port back and add the missed upstream patches from 2014/08/22 + 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch + 0006-login-share-VT-signal-handler-between-sessions.patch + +------------------------------------------------------------------- +Fri Aug 22 15:12:23 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch + 0002-switch-root-umount-the-old-root-correctly.patch + 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch + 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch + 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch + 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch + 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch + 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch + 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch + 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch + 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch + +------------------------------------------------------------------- +Fri Aug 22 01:29:06 UTC 2014 - crrodriguez@opensuse.org + +- man pages from section 3 are developer docs, move them to + the -devel package. + +------------------------------------------------------------------- +Wed Aug 20 15:06:25 UTC 2014 - werner@suse.de + +- Add patch 0001-let-systemctl-completion-ignore-at-names.patch to + remove error messages for tab completion for systemctl isolate (bnc#892162) + +------------------------------------------------------------------- +Mon Aug 18 14:40:55 UTC 2014 - werner@suse.de + +- Disable the usage of the systemd groups wheel and adm (bnc#892300) + ------------------------------------------------------------------- Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 98a2cf3c..887777cd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -40,6 +40,7 @@ %bcond_with blkrrpart %bcond_with udevsettle %endif +%bcond_with systemgrps Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -761,6 +762,42 @@ Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch Patch366: tomcat6-var-lock-subsys-legacy.patch # PATCH-FIX-UPSTREAM added at 2014/08/01 Patch367: 0007-hwdb-update.patch +# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) +Patch368: 0001-let-systemctl-completion-ignore-at-names.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch370: 0002-switch-root-umount-the-old-root-correctly.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch385: 0008-hwdb-update.patch # UDEV PATCHES # ============ @@ -892,6 +929,8 @@ Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.p Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch +# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1418,6 +1457,24 @@ cp %{SOURCE7} m4/ %patch365 -p0 %patch366 -p1 %patch367 -p0 +%patch368 -p1 +%patch369 -p0 +%patch370 -p0 +%patch371 -p0 +%patch372 -p0 +%patch373 -p0 +%patch374 -p0 +%patch375 -p0 +%patch376 -p0 +%patch377 -p0 +%patch378 -p0 +%patch379 -p0 +%patch380 -p0 +%patch381 -p0 +%patch382 -p0 +%patch383 -p0 +%patch384 -p0 +%patch385 -p0 # udev patches %patch1001 -p1 @@ -1503,6 +1560,10 @@ cp %{SOURCE7} m4/ %patch1060 -p1 %patch1061 -p0 %patch1062 -p1 +%patch1063 -p0 + +# remove patch backups +find -name '*.orig' -exec rm -f '{}' \+ # ensure generate files are removed rm -f units/emergency.service @@ -1904,8 +1965,10 @@ if read ID < /etc/machine-id > /dev/null 2>&1 ; then chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : fi +%if %{with systemgrps} getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +%endif # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -2065,8 +2128,10 @@ exit 0 %if %{with permission} %set_permissions %{_localstatedir}/log/journal/ %endif +%if %{with systemgrps} getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +%endif if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : @@ -2283,7 +2348,6 @@ exit 0 %exclude %{_mandir}/man*/*udev*.[0-9]* %exclude %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man1/*.1* -%{_mandir}/man3/*.3* %{_mandir}/man5/*.5* %{_mandir}/man7/*.7* %{_mandir}/man8/*.8* @@ -2345,6 +2409,9 @@ exit 0 %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc +%if ! 0%{?bootstrap} +%{_mandir}/man3/*.3* +%endif %files sysvinit %defattr(-,root,root,-) diff --git a/systemd.changes b/systemd.changes index d691713d..6a8f2c70 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de + +- Add upstream patches for hwdb + 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch + 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch + 0003-keymap-Fix-HP-Pavillon-DV7.patch + 0004-hwdb-update-format-description-and-document-reloadin.patch + 0008-hwdb-update.patch + +------------------------------------------------------------------- +Tue Aug 26 11:25:57 UTC 2014 - werner@suse.de + +- Port back and add the missed upstream patches from 2014/08/22 + 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch + 0006-login-share-VT-signal-handler-between-sessions.patch + +------------------------------------------------------------------- +Fri Aug 22 15:12:23 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch + 0002-switch-root-umount-the-old-root-correctly.patch + 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch + 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch + 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch + 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch + 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch + 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch + 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch + 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch + 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch + +------------------------------------------------------------------- +Fri Aug 22 01:29:06 UTC 2014 - crrodriguez@opensuse.org + +- man pages from section 3 are developer docs, move them to + the -devel package. + +------------------------------------------------------------------- +Wed Aug 20 15:06:25 UTC 2014 - werner@suse.de + +- Add patch 0001-let-systemctl-completion-ignore-at-names.patch to + remove error messages for tab completion for systemctl isolate (bnc#892162) + +------------------------------------------------------------------- +Mon Aug 18 14:40:55 UTC 2014 - werner@suse.de + +- Disable the usage of the systemd groups wheel and adm (bnc#892300) + ------------------------------------------------------------------- Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 13707cf4..cfdfe49d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -38,6 +38,7 @@ %bcond_with blkrrpart %bcond_with udevsettle %endif +%bcond_with systemgrps Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -756,6 +757,42 @@ Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch Patch366: tomcat6-var-lock-subsys-legacy.patch # PATCH-FIX-UPSTREAM added at 2014/08/01 Patch367: 0007-hwdb-update.patch +# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) +Patch368: 0001-let-systemctl-completion-ignore-at-names.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch370: 0002-switch-root-umount-the-old-root-correctly.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch385: 0008-hwdb-update.patch # UDEV PATCHES # ============ @@ -887,6 +924,8 @@ Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.p Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch +# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1413,6 +1452,24 @@ cp %{SOURCE7} m4/ %patch365 -p0 %patch366 -p1 %patch367 -p0 +%patch368 -p1 +%patch369 -p0 +%patch370 -p0 +%patch371 -p0 +%patch372 -p0 +%patch373 -p0 +%patch374 -p0 +%patch375 -p0 +%patch376 -p0 +%patch377 -p0 +%patch378 -p0 +%patch379 -p0 +%patch380 -p0 +%patch381 -p0 +%patch382 -p0 +%patch383 -p0 +%patch384 -p0 +%patch385 -p0 # udev patches %patch1001 -p1 @@ -1498,6 +1555,10 @@ cp %{SOURCE7} m4/ %patch1060 -p1 %patch1061 -p0 %patch1062 -p1 +%patch1063 -p0 + +# remove patch backups +find -name '*.orig' -exec rm -f '{}' \+ # ensure generate files are removed rm -f units/emergency.service @@ -1899,8 +1960,10 @@ if read ID < /etc/machine-id > /dev/null 2>&1 ; then chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : fi +%if %{with systemgrps} getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +%endif # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -2060,8 +2123,10 @@ exit 0 %if %{with permission} %set_permissions %{_localstatedir}/log/journal/ %endif +%if %{with systemgrps} getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +%endif if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : @@ -2278,7 +2343,6 @@ exit 0 %exclude %{_mandir}/man*/*udev*.[0-9]* %exclude %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man1/*.1* -%{_mandir}/man3/*.3* %{_mandir}/man5/*.5* %{_mandir}/man7/*.7* %{_mandir}/man8/*.8* @@ -2340,6 +2404,9 @@ exit 0 %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc +%if ! 0%{?bootstrap} +%{_mandir}/man3/*.3* +%endif %files sysvinit %defattr(-,root,root,-) From 77593c6f2f800fc052eca33bfbf5d0101b156aa1fc02db4e676aec6bb2a0f85b Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 29 Aug 2014 15:43:00 +0000 Subject: [PATCH 196/991] Accepting request 246717 from Base:System - Add upstream patches 0001-login-fix-memory-leak-on-DropController.patch 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch 0003-sd-journal-properly-convert-object-size-on-big-endia.patch 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - Add upstream patch 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch to avoid that hwdb ID's for unrecognised USB device are taken from the USB hub. - Add upstream patches 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) - Add upstream patches 0001-login-fix-memory-leak-on-DropController.patch 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch 0003-sd-journal-properly-convert-object-size-on-big-endia.patch 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - Add upstream patch 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch to avoid that hwdb ID's for unrecognised USB device are taken from the USB hub. - Add upstream patches OBS-URL: https://build.opensuse.org/request/show/246717 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=202 --- ...in-fix-memory-leak-on-DropController.patch | 36 ++++++ ...t-error-message-printed-when-bus_pro.patch | 28 ++++ ...emd-fsck-.service-after-local-fs-pre.patch | 29 +++++ ...-race-where-we-might-miss-SIGTERMs-w.patch | 96 ++++++++++++++ ...Adjust-for-more-Samsung-900X4-series.patch | 29 +++++ ...rly-convert-object-size-on-big-endia.patch | 39 ++++++ ...y-that-object-start-with-the-field-n.patch | 41 ++++++ ...db-do-not-look-at-usb_device-parents.patch | 63 +++++++++ systemd-mini.changes | 28 ++++ systemd-mini.spec | 27 ++++ systemd.changes | 28 ++++ systemd.spec | 27 ++++ ...addentropy-ioctl-to-load-random-seed.patch | 121 ++++++++++++++++++ 13 files changed, 592 insertions(+) create mode 100644 0001-login-fix-memory-leak-on-DropController.patch create mode 100644 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch create mode 100644 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch create mode 100644 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch create mode 100644 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch create mode 100644 0003-sd-journal-properly-convert-object-size-on-big-endia.patch create mode 100644 0004-sd-journal-verify-that-object-start-with-the-field-n.patch create mode 100644 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch create mode 100644 use-rndaddentropy-ioctl-to-load-random-seed.patch diff --git a/0001-login-fix-memory-leak-on-DropController.patch b/0001-login-fix-memory-leak-on-DropController.patch new file mode 100644 index 00000000..ba5ed744 --- /dev/null +++ b/0001-login-fix-memory-leak-on-DropController.patch @@ -0,0 +1,36 @@ +From 60240797a4ce464ec7a0537ccbec4c83f599251c Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Fri, 22 Aug 2014 14:57:11 +0200 +Subject: [PATCH] login: fix memory-leak on DropController() + +Our bus-name watch helpers only remove a bus-name if it's not a +controller, anymore. If we call manager_drop_busname() before +unregistering the controller, the busname will not be dropped. Therefore, +first drop the controller, then drop the bus-name. +--- + src/login/logind-session.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 136bbce..0c6e425 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -1061,11 +1061,13 @@ bool session_is_controller(Session *s, const char *sender) { + + static void session_swap_controller(Session *s, char *name) { + SessionDevice *sd; ++ char *c; + + if (s->controller) { +- manager_drop_busname(s->manager, s->controller); +- free(s->controller); ++ c = s->controller; + s->controller = NULL; ++ manager_drop_busname(s->manager, c); ++ free(c); + + /* Drop all devices as they're now unused. Do that after the + * controller is released to avoid sending out useles +-- +1.7.9.2 + diff --git a/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch b/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch new file mode 100644 index 00000000..917c8ec2 --- /dev/null +++ b/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch @@ -0,0 +1,28 @@ +From 498cfc230af8f83675be2e92057956f1792969e4 Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Sat, 23 Aug 2014 21:11:44 +0200 +Subject: [PATCH] systemctl: Correct error message printed when + bus_process_wait fails + +Actually use the variable containing the return code of bus_process_wait when +printing the error message as a result of it failing. +--- + src/systemctl/systemctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index d9b8bee..6534819 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -2382,7 +2382,7 @@ static int wait_for_jobs(sd_bus *bus, Set *s) { + while (!set_isempty(s)) { + q = bus_process_wait(bus); + if (q < 0) { +- log_error("Failed to wait for response: %s", strerror(-r)); ++ log_error("Failed to wait for response: %s", strerror(-q)); + return q; + } + +-- +1.7.9.2 + diff --git a/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch b/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch new file mode 100644 index 00000000..6bc06d23 --- /dev/null +++ b/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch @@ -0,0 +1,29 @@ +From 66f311206e908a5b6f21e66fad73e1e5ea3e31d6 Mon Sep 17 00:00:00 2001 +From: Ivan Shapovalov +Date: Wed, 27 Aug 2014 00:17:43 +0400 +Subject: [PATCH] units: order systemd-fsck@.service after + local-fs-pre.target. + +With this change, it becomes possible to order a unit to activate before any +modifications to the file systems. This is especially useful for supporting +resume from hibernation. +--- + units/systemd-fsck@.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git units/systemd-fsck@.service.in units/systemd-fsck@.service.in +index c12efa8..d2cda6a 100644 +--- units/systemd-fsck@.service.in ++++ units/systemd-fsck@.service.in +@@ -10,7 +10,7 @@ Description=File System Check on %f + Documentation=man:systemd-fsck@.service(8) + DefaultDependencies=no + BindsTo=%i.device +-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service local-fs-pre.target + Before=shutdown.target + + [Service] +-- +1.7.9.2 + diff --git a/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch b/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch new file mode 100644 index 00000000..9cd13c2d --- /dev/null +++ b/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch @@ -0,0 +1,96 @@ +Based on 8a7c93d858c342744adf481565d8bb03b9713dcf Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 27 Aug 2014 21:42:20 +0200 +Subject: [PATCH] util: fix minimal race where we might miss SIGTERMs when + forking off an agent + +Before forking, block all signals, and unblock them afterwards. This way +the child will have them blocked, and we won't lose them. +--- + src/shared/util.c | 39 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 34 insertions(+), 5 deletions(-) + +--- src/shared/util.c ++++ src/shared/util.c 2014-08-28 10:32:06.442693437 +0000 +@@ -894,6 +894,18 @@ int reset_all_signal_handlers(void) { + return 0; + } + ++static int reset_signal_mask(void) { ++ sigset_t ss; ++ ++ if (sigemptyset(&ss) < 0) ++ return -errno; ++ ++ if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + char *strstrip(char *s) { + char *e; + +@@ -5119,9 +5131,9 @@ int fd_inc_rcvbuf(int fd, size_t n) { + } + + int fork_agent(pid_t *pid, const int except[], unsigned n_except, const char *path, ...) { +- pid_t parent_pid, agent_pid; +- int fd; + bool stdout_is_tty, stderr_is_tty; ++ pid_t parent_pid, agent_pid; ++ sigset_t ss, saved_ss; + unsigned n, i; + va_list ap; + char **l; +@@ -5129,16 +5141,25 @@ int fork_agent(pid_t *pid, const int exc + assert(pid); + assert(path); + +- parent_pid = getpid(); +- + /* Spawns a temporary TTY agent, making sure it goes away when + * we go away */ + ++ parent_pid = getpid(); ++ ++ /* First we temporarily block all signals, so that the new ++ * child has them blocked initially. This way, we can be sure ++ * that SIGTERMs are not lost we might send to the agent. */ ++ assert_se(sigfillset(&ss) >= 0); ++ assert_se(sigprocmask(SIG_SETMASK, &ss, &saved_ss) >= 0); ++ + agent_pid = fork(); +- if (agent_pid < 0) ++ if (agent_pid < 0) { ++ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); + return -errno; ++ } + + if (agent_pid != 0) { ++ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); + *pid = agent_pid; + return 0; + } +@@ -5149,6 +5170,12 @@ int fork_agent(pid_t *pid, const int exc + if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0) + _exit(EXIT_FAILURE); + ++ /* Make sure we actually can kill the agent, if we need to, in ++ * case somebody invoked us from a shell script that trapped ++ * SIGTERM or so... */ ++ reset_all_signal_handlers(); ++ reset_signal_mask(); ++ + /* Check whether our parent died before we were able + * to set the death signal */ + if (getppid() != parent_pid) +@@ -5161,6 +5188,8 @@ int fork_agent(pid_t *pid, const int exc + stderr_is_tty = isatty(STDERR_FILENO); + + if (!stdout_is_tty || !stderr_is_tty) { ++ int fd; ++ + /* Detach from stdout/stderr. and reopen + * /dev/tty for them. This is important to + * ensure that when systemctl is started via diff --git a/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch b/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch new file mode 100644 index 00000000..c9ab5e0e --- /dev/null +++ b/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch @@ -0,0 +1,29 @@ +From e512e8a255ef29d5a8eb605f8849202ea3d3e4cb Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Wed, 27 Aug 2014 08:41:10 +0200 +Subject: [PATCH] keymap: Adjust for more Samsung 900X4 series + +Reportedly also applies to NP900X4B, so relax the match to apply to all models +of this series. + +https://launchpad.net/bugs/902332 +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index ef0ebc5..0ffcb83 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -939,7 +939,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* + # Series 7 / 9 + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* +-keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* ++keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a0=!mute # Fn+F6 mute +-- +1.7.9.2 + diff --git a/0003-sd-journal-properly-convert-object-size-on-big-endia.patch b/0003-sd-journal-properly-convert-object-size-on-big-endia.patch new file mode 100644 index 00000000..40e8d57c --- /dev/null +++ b/0003-sd-journal-properly-convert-object-size-on-big-endia.patch @@ -0,0 +1,39 @@ +From 57cd09acf2c63a414aa2131c00a2b3f600eb0133 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 23 Aug 2014 22:35:03 -0400 +Subject: [PATCH] sd-journal: properly convert object->size on big endian + +mmap code crashes when attempting to map an object of zero size. + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758392 +https://bugs.freedesktop.org/show_bug.cgi?id=82894 +--- + src/journal/journal-file.h | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git src/journal/journal-file.h src/journal/journal-file.h +index 3d41682..da2ef3b 100644 +--- src/journal/journal-file.h ++++ src/journal/journal-file.h +@@ -214,14 +214,15 @@ static unsigned type_to_context(int type) { + + static inline int journal_file_object_keep(JournalFile *f, Object *o, uint64_t offset) { + unsigned context = type_to_context(o->object.type); ++ uint64_t s = le64toh(o->object.size); + + return mmap_cache_get(f->mmap, f->fd, f->prot, context, true, +- offset, o->object.size, &f->last_stat, NULL); ++ offset, s, &f->last_stat, NULL); + } + + static inline int journal_file_object_release(JournalFile *f, Object *o, uint64_t offset) { + unsigned context = type_to_context(o->object.type); ++ uint64_t s = le64toh(o->object.size); + +- return mmap_cache_release(f->mmap, f->fd, f->prot, context, +- offset, o->object.size); ++ return mmap_cache_release(f->mmap, f->fd, f->prot, context, offset, s); + } +-- +1.7.9.2 + diff --git a/0004-sd-journal-verify-that-object-start-with-the-field-n.patch b/0004-sd-journal-verify-that-object-start-with-the-field-n.patch new file mode 100644 index 00000000..e3ee663d --- /dev/null +++ b/0004-sd-journal-verify-that-object-start-with-the-field-n.patch @@ -0,0 +1,41 @@ +Based on 0f99f74a14ef193c1ebde687c5cc76e1d67b85ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 26 Aug 2014 23:54:31 -0400 +Subject: [PATCH] sd-journal: verify that object start with the field name + +If the journal is corrupted, we might return an object that does +not start with the expected field name and/or is shorter than it +should. +--- + src/journal/sd-journal.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git src/journal/sd-journal.c src/journal/sd-journal.c +index 80ff8fe..693707c 100644 +--- src/journal/sd-journal.c ++++ src/journal/sd-journal.c +@@ -2571,6 +2571,21 @@ _public_ int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_ + if (r < 0) + return r; + ++ /* Check if we have at least the field name and "=". */ ++ if (ol <= k) { ++ log_debug("%s:offset " OFSfmt ": object has size %zu, expected at least %zu", ++ j->unique_file->path, j->unique_offset, ++ ol, k + 1); ++ return -EBADMSG; ++ } ++ ++ if (memcmp(odata, j->unique_field, k) || ((const char*) odata)[k] != '=') { ++ log_debug("%s:offset " OFSfmt ": object does not start with \"%s=\"", ++ j->unique_file->path, j->unique_offset, ++ j->unique_field); ++ return -EBADMSG; ++ } ++ + /* OK, now let's see if we already returned this data + * object by checking if it exists in the earlier + * traversed files. */ +-- +1.7.9.2 + diff --git a/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch b/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch new file mode 100644 index 00000000..07755c04 --- /dev/null +++ b/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch @@ -0,0 +1,63 @@ +From 77cf759ea05bea476cdcb8d0dcd04c4e6fb3b2ff Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 26 Aug 2014 18:27:36 +0200 +Subject: [PATCH] udev: hwdb - do not look at "usb_device" parents + +Based on a patch from Simon McVittie . + +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758050 +--- + src/udev/udev-builtin-hwdb.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git src/udev/udev-builtin-hwdb.c src/udev/udev-builtin-hwdb.c +index cac97e7..695a31a 100644 +--- src/udev/udev-builtin-hwdb.c ++++ src/udev/udev-builtin-hwdb.c +@@ -88,9 +88,10 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device + const char *filter, bool test) { + struct udev_device *d; + char s[16]; +- int n = 0; ++ bool last = false; ++ int r = 0; + +- for (d = srcdev; d; d = udev_device_get_parent(d)) { ++ for (d = srcdev; d && !last; d = udev_device_get_parent(d)) { + const char *dsubsys; + const char *modalias = NULL; + +@@ -104,19 +105,24 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device + + modalias = udev_device_get_property_value(d, "MODALIAS"); + +- /* the usb_device does not have a modalias, compose one */ +- if (!modalias && streq(dsubsys, "usb")) +- modalias = modalias_usb(d, s, sizeof(s)); ++ if (streq(dsubsys, "usb") && streq_ptr(udev_device_get_devtype(d), "usb_device")) { ++ /* if the usb_device does not have a modalias, compose one */ ++ if (!modalias) ++ modalias = modalias_usb(d, s, sizeof(s)); ++ ++ /* avoid looking at any parent device, they are usually just a USB hub */ ++ last = true; ++ } + + if (!modalias) + continue; + +- n = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); +- if (n > 0) ++ r = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); ++ if (r > 0) + break; + } + +- return n; ++ return r; + } + + static int builtin_hwdb(struct udev_device *dev, int argc, char *argv[], bool test) { +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 6a8f2c70..28287a59 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-login-fix-memory-leak-on-DropController.patch + 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch + 0003-sd-journal-properly-convert-object-size-on-big-endia.patch + 0004-sd-journal-verify-that-object-start-with-the-field-n.patch +- Add upstream patch + 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch + to avoid that hwdb ID's for unrecognised USB device are taken + from the USB hub. + +------------------------------------------------------------------- +Wed Aug 27 16:01:17 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch + 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch + 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch + +------------------------------------------------------------------- +Wed Aug 27 12:52:09 UTC 2014 - werner@suse.de + +- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to + use RNDADDENTROPY ioctl to load random-seed and to increase + entropy count as well (bnc#892096) + ------------------------------------------------------------------- Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 887777cd..991e05e4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -798,6 +798,22 @@ Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch # PATCH-FIX-UPSTREAM added at 2014/08/25 Patch385: 0008-hwdb-update.patch +# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) +Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch390: 0001-login-fix-memory-leak-on-DropController.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch # UDEV PATCHES # ============ @@ -931,6 +947,8 @@ Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1475,6 +1493,14 @@ cp %{SOURCE7} m4/ %patch383 -p0 %patch384 -p0 %patch385 -p0 +%patch386 -p1 +%patch387 -p0 +%patch388 -p0 +%patch389 -p0 +%patch390 -p0 +%patch391 -p0 +%patch392 -p0 +%patch393 -p0 # udev patches %patch1001 -p1 @@ -1561,6 +1587,7 @@ cp %{SOURCE7} m4/ %patch1061 -p0 %patch1062 -p1 %patch1063 -p0 +%patch1064 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index 6a8f2c70..28287a59 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-login-fix-memory-leak-on-DropController.patch + 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch + 0003-sd-journal-properly-convert-object-size-on-big-endia.patch + 0004-sd-journal-verify-that-object-start-with-the-field-n.patch +- Add upstream patch + 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch + to avoid that hwdb ID's for unrecognised USB device are taken + from the USB hub. + +------------------------------------------------------------------- +Wed Aug 27 16:01:17 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch + 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch + 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch + +------------------------------------------------------------------- +Wed Aug 27 12:52:09 UTC 2014 - werner@suse.de + +- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to + use RNDADDENTROPY ioctl to load random-seed and to increase + entropy count as well (bnc#892096) + ------------------------------------------------------------------- Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index cfdfe49d..479cc115 100644 --- a/systemd.spec +++ b/systemd.spec @@ -793,6 +793,22 @@ Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch # PATCH-FIX-UPSTREAM added at 2014/08/25 Patch385: 0008-hwdb-update.patch +# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) +Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch390: 0001-login-fix-memory-leak-on-DropController.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch # UDEV PATCHES # ============ @@ -926,6 +942,8 @@ Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1470,6 +1488,14 @@ cp %{SOURCE7} m4/ %patch383 -p0 %patch384 -p0 %patch385 -p0 +%patch386 -p1 +%patch387 -p0 +%patch388 -p0 +%patch389 -p0 +%patch390 -p0 +%patch391 -p0 +%patch392 -p0 +%patch393 -p0 # udev patches %patch1001 -p1 @@ -1556,6 +1582,7 @@ cp %{SOURCE7} m4/ %patch1061 -p0 %patch1062 -p1 %patch1063 -p0 +%patch1064 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch new file mode 100644 index 00000000..3cbe548a --- /dev/null +++ b/use-rndaddentropy-ioctl-to-load-random-seed.patch @@ -0,0 +1,121 @@ +Simply writing /var/lib/systemd/random-seed back to /dev/(u)random does not +increase the entropy bit count. Therefore use the RNDADDENTROPY ioctl to +write back the bytes and increase the entropy bit counter. + +Related to bnc#892096 + +--- + systemd-210/src/random-seed/random-seed.c | 66 +++++++++++++++++++++++++++--- + 1 file changed, 61 insertions(+), 5 deletions(-) + +--- systemd-210/src/random-seed/random-seed.c ++++ systemd-210/src/random-seed/random-seed.c 2014-08-27 11:58:59.022526580 +0000 +@@ -22,7 +22,9 @@ + #include + #include + #include ++#include + #include ++#include + #include + + #include "log.h" +@@ -32,8 +34,9 @@ + #define POOL_SIZE_MIN 512 + + int main(int argc, char *argv[]) { +- _cleanup_close_ int seed_fd = -1, random_fd = -1; ++ _cleanup_close_ int seed_fd = -1, random_fd = -1, entropy_fd = -1; + _cleanup_free_ void* buf = NULL; ++ size_t entropy_count = 0; + size_t buf_size = 0; + ssize_t k; + int r; +@@ -82,6 +85,23 @@ int main(int argc, char *argv[]) { + + if (streq(argv[1], "load")) { + ++ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); ++ if (entropy_fd < 0) { ++ entropy_count = 0; ++ if (errno != ENOENT) { ++ log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); ++ r = -errno; ++ goto finish; ++ } ++ } else { ++ r = read(entropy_fd, &entropy_count, sizeof(entropy_count)); ++ if (r < 0) { ++ log_error("Failed to read entropy count file: %m"); ++ r = -errno; ++ goto finish; ++ } ++ } ++ + seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); + if (seed_fd < 0) { + seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); +@@ -113,16 +133,37 @@ int main(int argc, char *argv[]) { + } else { + lseek(seed_fd, 0, SEEK_SET); + +- k = loop_write(random_fd, buf, (size_t) k, false); +- if (k <= 0) { +- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); ++ if (entropy_count && (size_t) k == buf_size) { ++ struct rand_pool_info entropy = { ++ .entropy_count = entropy_count, ++ .buf_size = buf_size, ++ }; ++ entropy.buf[0] = ((__u32*)buf)[0]; ++ r = ioctl(random_fd, RNDADDENTROPY, &entropy); ++ if (r < 0) { ++ log_error("Failed to write seed to /dev/urandom: %m"); ++ r = -errno; ++ } ++ } else { ++ k = loop_write(random_fd, buf, (size_t) k, false); ++ if (k <= 0) { ++ log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); + +- r = k == 0 ? -EIO : (int) k; ++ r = k == 0 ? -EIO : (int) k; ++ } + } + } + + } else if (streq(argv[1], "save")) { + ++ /* Read available entropy count, if possible */ ++ f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); ++ if (f) { ++ if (fscanf(f, "%zu", &entropy_count) < 0) ++ entropy_count = 0; ++ fclose(f); ++ } ++ + seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); + if (seed_fd < 0) { + log_error("Failed to open " RANDOM_SEED ": %m"); +@@ -137,6 +178,21 @@ int main(int argc, char *argv[]) { + goto finish; + } + ++ if (entropy_count) { ++ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); ++ if (seed_fd < 0) { ++ log_error("Failed to open " RANDOM_SEED_DIR "entropy_count: %m"); ++ r = -errno; ++ goto finish; ++ } ++ r = write(entropy_fd, &entropy_count, sizeof(entropy_count)); ++ if (r < 0) { ++ log_error("Failed to write entropy count file: %m"); ++ r = -errno; ++ goto finish; ++ } ++ } ++ + } else { + log_error("Unknown verb %s.", argv[1]); + r = -EINVAL; From 018a176a1f77bbcbed242aff20ab3eb639ec4630ddb23765d489fa6cb3f7c22b Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 3 Sep 2014 16:21:43 +0000 Subject: [PATCH 197/991] Accepting request 247222 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/247222 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=203 --- ...ter-templates-from-restartable-units.patch | 30 ++++ 0001-login-simplify-controller-handling.patch | 118 +++++++++++++ 0001-nspawn-fix-network-interface.patch | 21 +++ 0002-systemd-fix-error-message.patch | 29 +++ ...-in-suggested-systemctl-commandlines.patch | 68 +++++++ 0004-config-parser-fix-mem-leak.patch | 24 +++ 0005-login-fix-mem-leak.patch | 23 +++ ...dev-bump-event-timeout-to-60-seconds.patch | 39 ++++ ...lity-links-for-truncated-by-id-links.patch | 167 ++++++++++++++++++ systemd-mini.changes | 29 +++ systemd-mini.spec | 27 +++ systemd.changes | 29 +++ systemd.spec | 27 +++ 13 files changed, 631 insertions(+) create mode 100644 0001-completion-filter-templates-from-restartable-units.patch create mode 100644 0001-login-simplify-controller-handling.patch create mode 100644 0001-nspawn-fix-network-interface.patch create mode 100644 0002-systemd-fix-error-message.patch create mode 100644 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch create mode 100644 0004-config-parser-fix-mem-leak.patch create mode 100644 0005-login-fix-mem-leak.patch create mode 100644 1065-udev-bump-event-timeout-to-60-seconds.patch create mode 100644 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch diff --git a/0001-completion-filter-templates-from-restartable-units.patch b/0001-completion-filter-templates-from-restartable-units.patch new file mode 100644 index 00000000..13e03e03 --- /dev/null +++ b/0001-completion-filter-templates-from-restartable-units.patch @@ -0,0 +1,30 @@ +Based on ec15977a3cd82eff6c94bb13db72195f7cd512e8 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Fri, 29 Aug 2014 20:35:15 -0400 +Subject: [PATCH] completion: filter templates from restartable units + +Since c6a373a2634854, we might encounter unit templates via the +'list-units' verb. These aren't restartable (and we throw errors), so +make sure they're filtered out of the completion options. + +fixes downstream bug: https://bugs.archlinux.org/task/41719 +--- + shell-completion/bash/systemctl.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in +index 64b15df..0150018 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -182,7 +182,7 @@ _systemctl () { + comps=$( __filter_units_by_property $mode CanStart yes \ + $( __get_all_units $mode \ + | while read -r line; do \ +- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ ++ [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ + done )) + compopt -o filenames + +-- +1.7.9.2 + diff --git a/0001-login-simplify-controller-handling.patch b/0001-login-simplify-controller-handling.patch new file mode 100644 index 00000000..0ca9ec52 --- /dev/null +++ b/0001-login-simplify-controller-handling.patch @@ -0,0 +1,118 @@ +Based on b12e56156e5f363ebb8dc4ea5c10f5fd0665dc9d Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Mon, 1 Sep 2014 14:04:44 +0200 +Subject: [PATCH] login: simplify controller handling + +Simplify the way we handler session-controllers and fix several +shortcomings: + * send ReleaseDevice() signals on forced session takeover + * fix mem-leaks for busnames in case VT preparation fails (non-critical) + * avoid passing pre-allocated names to helpers +--- + src/login/logind-session.c | 55 ++++++++++++++++++++++---------------------- + 1 file changed, 28 insertions(+), 27 deletions(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 58453b5..10a43a4 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -1059,32 +1059,30 @@ bool session_is_controller(Session *s, const char *sender) { + return streq_ptr(s->controller, sender); + } + +-static void session_swap_controller(Session *s, char *name) { ++static void session_release_controller(Session *s, bool notify) { ++ _cleanup_free_ char *name = NULL; + SessionDevice *sd; +- char *c; + +- if (s->controller) { +- c = s->controller; +- s->controller = NULL; +- manager_drop_busname(s->manager, c); +- free(c); ++ if (!s->controller) ++ return; + +- /* Drop all devices as they're now unused. Do that after the +- * controller is released to avoid sending out useles +- * dbus signals. */ +- while ((sd = hashmap_first(s->devices))) +- session_device_free(sd); ++ name = s->controller; + +- if (!name) +- session_restore_vt(s); +- } ++ /* By resetting the controller before releasing the devices, we won't ++ * send notification signals. This avoids sending useless notifications ++ * if the controller is released on disconnects. */ ++ if (!notify) ++ s->controller = NULL; + +- s->controller = name; +- session_save(s); ++ while ((sd = hashmap_first(s->devices))) ++ session_device_free(sd); ++ ++ s->controller = NULL; ++ manager_drop_busname(s->manager, name); + } + + int session_set_controller(Session *s, const char *sender, bool force) { +- char *t; ++ _cleanup_free_ char *name = NULL; + int r; + + assert(s); +@@ -1095,15 +1093,13 @@ int session_set_controller(Session *s, const char *sender, bool force) { + if (s->controller && !force) + return -EBUSY; + +- t = strdup(sender); +- if (!t) ++ name = strdup(sender); ++ if (!name) + return -ENOMEM; + +- r = manager_watch_busname(s->manager, sender); +- if (r) { +- free(t); ++ r = manager_watch_busname(s->manager, name); ++ if (r) + return r; +- } + + /* When setting a session controller, we forcibly mute the VT and set + * it into graphics-mode. Applications can override that by changing +@@ -1115,11 +1111,14 @@ int session_set_controller(Session *s, const char *sender, bool force) { + * or reset the VT in case it crashed/exited, too. */ + r = session_mute_vt(s); + if (r < 0) { +- free(t); ++ manager_drop_busname(s->manager, name); + return r; + } + +- session_swap_controller(s, t); ++ session_release_controller(s, true); ++ s->controller = name; ++ name = NULL; ++ session_save(s); + + return 0; + } +@@ -1130,7 +1129,9 @@ void session_drop_controller(Session *s) { + if (!s->controller) + return; + +- session_swap_controller(s, NULL); ++ session_release_controller(s, false); ++ session_save(s); ++ session_restore_vt(s); + } + + static const char* const session_state_table[_SESSION_STATE_MAX] = { +-- +1.7.9.2 + diff --git a/0001-nspawn-fix-network-interface.patch b/0001-nspawn-fix-network-interface.patch new file mode 100644 index 00000000..6e9fce7c --- /dev/null +++ b/0001-nspawn-fix-network-interface.patch @@ -0,0 +1,21 @@ +Based on 3125b3ef5db70d45882c7d6f617705802c5f939e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 28 Aug 2014 12:15:51 +0200 +Subject: [PATCH] nspawn: fix --network-interface + +Use SETLINK when modifying an existing link. +--- + src/nspawn/nspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-08-29 14:11:25.866235309 +0000 +@@ -1568,7 +1568,7 @@ static int move_network_interfaces(pid_t + return -EBUSY; + } + +- r = sd_rtnl_message_new_link(rtnl, &m, RTM_NEWLINK, ifi); ++ r = sd_rtnl_message_new_link(rtnl, &m, RTM_SETLINK, ifi); + if (r < 0) { + log_error("Failed to allocate netlink message: %s", strerror(-r)); + return r; diff --git a/0002-systemd-fix-error-message.patch b/0002-systemd-fix-error-message.patch new file mode 100644 index 00000000..778444a8 --- /dev/null +++ b/0002-systemd-fix-error-message.patch @@ -0,0 +1,29 @@ +Based on 6ad3b2b62cbe34cc02ee98deb5f48047f5e42d26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 30 Aug 2014 17:22:42 -0400 +Subject: [PATCH] systemd: fix error message + +--- + src/core/dbus-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c 2014-09-01 12:51:33.266735961 +0000 +@@ -1114,7 +1114,7 @@ static int method_switch_root(sd_bus *bu + return r; + + if (m->running_as != SYSTEMD_SYSTEM) +- return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "KExec is only supported for system managers."); ++ return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Root switching is only supported by system manager."); + + r = sd_bus_message_read(message, "ss", &root, &init); + if (r < 0) +@@ -1125,7 +1125,7 @@ static int method_switch_root(sd_bus *bu + + /* Safety check */ + if (isempty(init)) { +- if (! path_is_os_tree(root)) ++ if (!path_is_os_tree(root)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified switch root path %s does not seem to be an OS tree. /etc/os-release is missing.", root); + } else { + _cleanup_free_ char *p = NULL; diff --git a/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch b/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch new file mode 100644 index 00000000..38b777fe --- /dev/null +++ b/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch @@ -0,0 +1,68 @@ +From 8e07fc41f86d41e68c5663b2a3c620a0adedcc11 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 31 Aug 2014 00:42:27 -0400 +Subject: [PATCH] Quote unit names in suggested systemctl commandlines + +The fact that unit names have to be quoted can be a bit surprising. +Show quotes in the hint commandline, but only after checking that this +is necessary, since quotes are visually heavy and usually not needed. + +https://bugs.freedesktop.org/show_bug.cgi?id=82832 +--- + src/core/job.c | 11 +++++++++-- + src/systemctl/systemctl.c | 14 ++++++++++++-- + 2 files changed, 21 insertions(+), 4 deletions(-) + +diff --git src/core/job.c src/core/job.c +index 5e4987f..ef5dbce 100644 +--- src/core/job.c ++++ src/core/job.c +@@ -632,11 +632,18 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { + unit_status_printf(u, ANSI_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format); + break; + +- case JOB_FAILED: ++ case JOB_FAILED: { ++ bool quotes; ++ ++ quotes = chars_intersect(u->id, SHELL_NEED_QUOTES); ++ + manager_flip_auto_status(u->manager, true); + unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format); +- manager_status_printf(u->manager, false, NULL, "See 'systemctl status %s' for details.", u->id); ++ manager_status_printf(u->manager, false, NULL, ++ "See \"systemctl status %s%s%s\" for details.", ++ quotes ? "'" : "", u->id, quotes ? "'" : ""); + break; ++ } + + case JOB_DEPENDENCY: + manager_flip_auto_status(u->manager, true); +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 6534819..de43c87 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -2351,8 +2351,18 @@ static int check_wait_response(WaitData *d) { + log_error("Job for %s canceled.", strna(d->name)); + else if (streq(d->result, "dependency")) + log_error("A dependency job for %s failed. See 'journalctl -xn' for details.", strna(d->name)); +- else if (!streq(d->result, "done") && !streq(d->result, "skipped")) +- log_error("Job for %s failed. See 'systemctl status %s' and 'journalctl -xn' for details.", strna(d->name), strna(d->name)); ++ else if (!streq(d->result, "done") && !streq(d->result, "skipped")) { ++ if (d->name) { ++ bool quotes; ++ ++ quotes = chars_intersect(d->name, SHELL_NEED_QUOTES); ++ ++ log_error("Job for %s failed. See \"systemctl status %s%s%s\" and \"journalctl -xn\" for details.", ++ d->name, ++ quotes ? "'" : "", d->name, quotes ? "'" : ""); ++ } else ++ log_error("Job failed. See \"journalctl -xn\" for details."); ++ } + } + + if (streq(d->result, "timeout")) +-- +1.7.9.2 + diff --git a/0004-config-parser-fix-mem-leak.patch b/0004-config-parser-fix-mem-leak.patch new file mode 100644 index 00000000..b45d89c0 --- /dev/null +++ b/0004-config-parser-fix-mem-leak.patch @@ -0,0 +1,24 @@ +From 9e60277835e61597011358afcdbfb3dd712ce128 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sun, 31 Aug 2014 23:13:12 +0200 +Subject: [PATCH] config-parser: fix mem leak + +--- + src/shared/conf-parser.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/conf-parser.c src/shared/conf-parser.c +index 439cfc5..ee6de65 100644 +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c +@@ -710,6 +710,7 @@ int config_parse_strv(const char *unit, + + if (!utf8_is_valid(n)) { + log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); ++ free(n); + continue; + } + +-- +1.7.9.2 + diff --git a/0005-login-fix-mem-leak.patch b/0005-login-fix-mem-leak.patch new file mode 100644 index 00000000..69206fd5 --- /dev/null +++ b/0005-login-fix-mem-leak.patch @@ -0,0 +1,23 @@ +Based on 13f493dc9ace9861c1f27c4d37e8cd6d52fe6a32 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sun, 31 Aug 2014 23:34:01 +0200 +Subject: [PATCH] login: fix mem leak + +--- + src/login/logind-session.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-09-01 12:59:27.870235647 +0000 +@@ -1101,8 +1101,10 @@ int session_set_controller(Session *s, c + * If logind crashes/restarts, we restore the controller during restart + * or reset the VT in case it crashed/exited, too. */ + r = session_mute_vt(s); +- if (r < 0) ++ if (r < 0) { ++ free(t); + return r; ++ } + + session_swap_controller(s, t); + diff --git a/1065-udev-bump-event-timeout-to-60-seconds.patch b/1065-udev-bump-event-timeout-to-60-seconds.patch new file mode 100644 index 00000000..aae4da95 --- /dev/null +++ b/1065-udev-bump-event-timeout-to-60-seconds.patch @@ -0,0 +1,39 @@ +From 2e92633dbae52f5ac9b7b2e068935990d475d2cd Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 30 Aug 2014 11:36:32 +0200 +Subject: [PATCH] udev: bump event timeout to 60 seconds + +--- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 8486049..809adb6 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { + goto out; + } + +- udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +diff --git src/udev/udevd.c src/udev/udevd.c +index 9c2b0d5..e72c5b2 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -73,7 +73,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static usec_t event_timeout_usec = 30 * USEC_PER_SEC; ++static usec_t event_timeout_usec = 60 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +-- +1.7.9.2 + diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch new file mode 100644 index 00000000..3bb4d407 --- /dev/null +++ b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch @@ -0,0 +1,167 @@ +From: Jeff Mahoney +Subject: udev: add option to generate old 'buggy' serials +References: bnc#886852 + +Prior to udev 184, scsi_id would truncate the last character of the model +string when generating the ID_SERIAL value. If a system was installed +prior to that fix being available in udev, there may be configuration +information that refers to the truncated link. + +This patch adds a --truncated-serial option and a udev rule will created +the old truncated links. + +Signed-off-by: Jeff Mahoney +--- + rules/60-persistent-storage.rules | 4 ++++ + src/udev/scsi_id/scsi_id.c | 15 ++++++++++++++- + src/udev/scsi_id/scsi_id.h | 1 + + src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ + 4 files changed, 32 insertions(+), 7 deletions(-) + +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules +@@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par + KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" + KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" + ++# scsi compat links for ATA devices (for compatibility with udev < 184) ++KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}" ++KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n" ++ + # firewire + KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" + KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" +--- a/src/udev/scsi_id/scsi_id.c ++++ b/src/udev/scsi_id/scsi_id.c +@@ -44,6 +44,7 @@ static const struct option options[] = { + { "replace-whitespace", no_argument, NULL, 'u' }, + { "sg-version", required_argument, NULL, 's' }, + { "verbose", no_argument, NULL, 'v' }, ++ { "truncated-serial", no_argument, NULL, '9' }, + { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ + { "export", no_argument, NULL, 'x' }, + { "help", no_argument, NULL, 'h' }, +@@ -56,6 +57,7 @@ static char config_file[MAX_PATH_LEN] = + static enum page_code default_page_code = PAGE_UNSPECIFIED; + static int sg_version = 4; + static int debug = 0; ++static bool compat_truncated = false; + static bool reformat_serial = false; + static bool export = false; + static char vendor_str[64]; +@@ -323,6 +325,7 @@ static void help(void) { + " -g,--whitelisted threat device as whitelisted\n" + " -u,--replace-whitespace replace all whitespace by underscores\n" + " -v,--verbose verbose logging\n" ++ " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" + " --version print version\n" + " -x,--export print values as environment keys\n" + " -h,--help print this help text\n\n"); +@@ -393,6 +396,10 @@ static int set_options(struct udev *udev + debug++; + break; + ++ case '9': ++ compat_truncated = true; ++ break; ++ + case 'V': + printf("%s\n", VERSION); + exit(0); +@@ -535,6 +542,9 @@ static int scsi_id(struct udev *udev, ch + util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); + util_replace_chars(serial_str, NULL); + printf("ID_SERIAL=%s\n", serial_str); ++ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); ++ util_replace_chars(serial_str, NULL); ++ printf("ID_SERIAL_COMPAT=%s\n", serial_str); + util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); + util_replace_chars(serial_str, NULL); + printf("ID_SERIAL_SHORT=%s\n", serial_str); +@@ -565,7 +575,10 @@ static int scsi_id(struct udev *udev, ch + if (reformat_serial) { + char serial_str[MAX_SERIAL_LEN]; + +- util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); ++ if (compat_truncated) ++ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); ++ else ++ util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); + util_replace_chars(serial_str, NULL); + printf("%s\n", serial_str); + goto out; +--- a/src/udev/scsi_id/scsi_id.h ++++ b/src/udev/scsi_id/scsi_id.h +@@ -43,6 +43,7 @@ struct scsi_id_device { + char kernel[64]; + char serial[MAX_SERIAL_LEN]; + char serial_short[MAX_SERIAL_LEN]; ++ char serial_compat[MAX_SERIAL_LEN]; + int use_sg; + + /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ +--- a/src/udev/scsi_id/scsi_serial.c ++++ b/src/udev/scsi_id/scsi_serial.c +@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a + + static int do_scsi_page80_inquiry(struct udev *udev, + struct scsi_id_device *dev_scsi, int fd, +- char *serial, char *serial_short, int max_len); ++ char *serial, char *serial_short, ++ char *serial_compat, int max_len); + + static int sg_err_category_new(struct udev *udev, + int scsi_status, int msg_status, int +@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct + unsigned char page_83[SCSI_INQ_BUFF_LEN]; + + /* also pick up the page 80 serial number */ +- do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, MAX_SERIAL_LEN); ++ do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, NULL, MAX_SERIAL_LEN); + + memzero(page_83, SCSI_INQ_BUFF_LEN); + retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, +@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir + /* Get unit serial number VPD page */ + static int do_scsi_page80_inquiry(struct udev *udev, + struct scsi_id_device *dev_scsi, int fd, +- char *serial, char *serial_short, int max_len) ++ char *serial, char *serial_short, ++ char *serial_compat, int max_len) + { + int retval; + int ser_ind; +@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct + ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); + if (ser_ind < 0) + return 1; ++ if (serial_compat) ++ strcpy(serial_compat, serial); + ser_ind++; /* for the leading 'S' */ +- for (i = 4; i < len + 4; i++, ser_ind++) ++ for (i = 4; i < len + 4; i++, ser_ind++) { + serial[ser_ind] = buf[i]; ++ if (serial_compat) ++ serial_compat[ser_ind - 1] = buf[i]; ++ } + } + if (serial_short != NULL) { + memcpy(serial_short, &buf[4], len); +@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, + return 1; + + if (page_code == PAGE_80) { +- if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, len)) { ++ if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { + retval = 1; + goto completed; + } else { +@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, + for (ind = 4; ind <= page0[3] + 3; ind++) + if (page0[ind] == PAGE_80) + if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, +- dev_scsi->serial, dev_scsi->serial_short, len)) { ++ dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { + /* + * Success + */ diff --git a/systemd-mini.changes b/systemd-mini.changes index 28287a59..33ae215d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com + +- udev: add option to generate old 'buggy' serials (bnc#886852) + Add 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch + +------------------------------------------------------------------- +Tue Sep 2 09:14:03 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-login-simplify-controller-handling.patch + +------------------------------------------------------------------- +Mon Sep 1 13:00:29 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-completion-filter-templates-from-restartable-units.patch + 0002-systemd-fix-error-message.patch + 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch + 0004-config-parser-fix-mem-leak.patch + 0005-login-fix-mem-leak.patch + 1065-udev-bump-event-timeout-to-60-seconds.patch + +------------------------------------------------------------------- +Fri Aug 29 14:14:06 UTC 2014 - werner@suse.de + +- Add upstream patch 0001-nspawn-fix-network-interface.patch to + make option network-interface of systemd-nspawn work + ------------------------------------------------------------------- Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 991e05e4..3f55c4dc 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -814,6 +814,20 @@ Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch # PATCH-FIX-UPSTREAM added at 2014/08/28 Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch +# PATCH-FIX-UPSTREAM added at 2014/08/29 +Patch394: 0001-nspawn-fix-network-interface.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch395: 0001-completion-filter-templates-from-restartable-units.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch396: 0002-systemd-fix-error-message.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch398: 0004-config-parser-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch399: 0005-login-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/02 +Patch400: 0001-login-simplify-controller-handling.patch # UDEV PATCHES # ============ @@ -949,6 +963,10 @@ Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch # PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch +Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch +# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) +Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1501,6 +1519,13 @@ cp %{SOURCE7} m4/ %patch391 -p0 %patch392 -p0 %patch393 -p0 +%patch394 -p0 +%patch395 -p0 +%patch396 -p0 +%patch397 -p0 +%patch398 -p0 +%patch399 -p0 +%patch400 -p0 # udev patches %patch1001 -p1 @@ -1588,6 +1613,8 @@ cp %{SOURCE7} m4/ %patch1062 -p1 %patch1063 -p0 %patch1064 -p0 +%patch1065 -p0 +%patch1066 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index 28287a59..33ae215d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com + +- udev: add option to generate old 'buggy' serials (bnc#886852) + Add 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch + +------------------------------------------------------------------- +Tue Sep 2 09:14:03 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-login-simplify-controller-handling.patch + +------------------------------------------------------------------- +Mon Sep 1 13:00:29 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-completion-filter-templates-from-restartable-units.patch + 0002-systemd-fix-error-message.patch + 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch + 0004-config-parser-fix-mem-leak.patch + 0005-login-fix-mem-leak.patch + 1065-udev-bump-event-timeout-to-60-seconds.patch + +------------------------------------------------------------------- +Fri Aug 29 14:14:06 UTC 2014 - werner@suse.de + +- Add upstream patch 0001-nspawn-fix-network-interface.patch to + make option network-interface of systemd-nspawn work + ------------------------------------------------------------------- Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 479cc115..2c4dca48 100644 --- a/systemd.spec +++ b/systemd.spec @@ -809,6 +809,20 @@ Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch # PATCH-FIX-UPSTREAM added at 2014/08/28 Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch +# PATCH-FIX-UPSTREAM added at 2014/08/29 +Patch394: 0001-nspawn-fix-network-interface.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch395: 0001-completion-filter-templates-from-restartable-units.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch396: 0002-systemd-fix-error-message.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch398: 0004-config-parser-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch399: 0005-login-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/02 +Patch400: 0001-login-simplify-controller-handling.patch # UDEV PATCHES # ============ @@ -944,6 +958,10 @@ Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch # PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch +Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch +# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) +Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1496,6 +1514,13 @@ cp %{SOURCE7} m4/ %patch391 -p0 %patch392 -p0 %patch393 -p0 +%patch394 -p0 +%patch395 -p0 +%patch396 -p0 +%patch397 -p0 +%patch398 -p0 +%patch399 -p0 +%patch400 -p0 # udev patches %patch1001 -p1 @@ -1583,6 +1608,8 @@ cp %{SOURCE7} m4/ %patch1062 -p1 %patch1063 -p0 %patch1064 -p0 +%patch1065 -p0 +%patch1066 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ From b7f7394c7c09a06ec9beedd4e942e3fe89f704a6f0ef4606efc01a117a3bcce4 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 6 Sep 2014 10:17:41 +0000 Subject: [PATCH 198/991] Accepting request 247547 from Base:System - Disable patch module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch for SLES-12 as well as for openSUSE-13.2 (bnc#895087) - Disable patch module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch for SLES-12 as well as for openSUSE-13.2 (bnc#895087) OBS-URL: https://build.opensuse.org/request/show/247547 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=204 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 2 ++ systemd.changes | 7 +++++++ systemd.spec | 2 ++ 4 files changed, 18 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 33ae215d..91d2b719 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de + +- Disable patch + module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + for SLES-12 as well as for openSUSE-13.2 (bnc#895087) + ------------------------------------------------------------------- Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 3f55c4dc..edaeef3c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1206,7 +1206,9 @@ cp %{SOURCE7} m4/ %patch5 -p1 %patch6 -p1 %patch7 -p1 +%if 0%{?suse_version} <= 1310 %patch8 -p1 +%endif %patch9 -p1 %patch12 -p1 %patch13 -p0 diff --git a/systemd.changes b/systemd.changes index 33ae215d..91d2b719 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de + +- Disable patch + module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + for SLES-12 as well as for openSUSE-13.2 (bnc#895087) + ------------------------------------------------------------------- Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 2c4dca48..92f20301 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1201,7 +1201,9 @@ cp %{SOURCE7} m4/ %patch5 -p1 %patch6 -p1 %patch7 -p1 +%if 0%{?suse_version} <= 1310 %patch8 -p1 +%endif %patch9 -p1 %patch12 -p1 %patch13 -p0 From 3ec559f957c16ae2e92daddea0a15e1e7f5e8c5aaf0e97257a9355b942b05e53 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 10 Sep 2014 05:28:31 +0000 Subject: [PATCH 199/991] Accepting request 248040 from Base:System - Add upstream patches 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - Add upstream patches 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch OBS-URL: https://build.opensuse.org/request/show/248040 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=205 --- ....service-ignore-return-code-of-daemo.patch | 29 +++++ ...base-of-Bluetooth-company-identifier.patch | 104 ++++++++++++++++++ systemd-mini.changes | 7 ++ systemd-mini.spec | 6 + systemd.changes | 7 ++ systemd.spec | 6 + 6 files changed, 159 insertions(+) create mode 100644 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch create mode 100644 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch diff --git a/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch b/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch new file mode 100644 index 00000000..722f7382 --- /dev/null +++ b/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch @@ -0,0 +1,29 @@ +From f3b8fbb1da6519e14985ea444f8304673d20ad3f Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 3 Sep 2014 13:28:31 +0200 +Subject: [PATCH] initrd-parse-etc.service: ignore return code of + daemon-reload + +It seems the return code of systemctl daemon-reload can be !=0 in some +circumstances, which causes a failure of the unit and breaks booting in +the initrd. +--- + units/initrd-parse-etc.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git units/initrd-parse-etc.service.in units/initrd-parse-etc.service.in +index c0b2543..42c059b 100644 +--- units/initrd-parse-etc.service.in ++++ units/initrd-parse-etc.service.in +@@ -16,7 +16,7 @@ ConditionPathExists=/etc/initrd-release + + [Service] + Type=oneshot +-ExecStartPre=@rootbindir@/systemctl daemon-reload ++ExecStartPre=-@rootbindir@/systemctl daemon-reload + # we have to retrigger initrd-fs.target after daemon-reload + ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target + ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service +-- +1.7.9.2 + diff --git a/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..9c554056 --- /dev/null +++ b/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,104 @@ +From de68938a2cb3ab535ebd9198723a651753c1a1df Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Mon, 8 Sep 2014 05:06:18 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 77 ++++++++++++++++++++++++++++++++- + 1 file changed, 76 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 9f3136a..14aee74 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -184,7 +184,7 @@ bluetooth:v003B* + ID_VENDOR_FROM_DATABASE=Gennum Corporation + + bluetooth:v003C* +- ID_VENDOR_FROM_DATABASE=Research In Motion ++ ID_VENDOR_FROM_DATABASE=BlackBerry Limited (formerly Research In Motion) + + bluetooth:v003D* + ID_VENDOR_FROM_DATABASE=IPextreme, Inc. +@@ -1073,3 +1073,78 @@ bluetooth:v0162* + + bluetooth:v0163* + ID_VENDOR_FROM_DATABASE=PCH International ++ ++bluetooth:v0164* ++ ID_VENDOR_FROM_DATABASE=Qingdao Yeelink Information Technology Co., Ltd. ++ ++bluetooth:v0165* ++ ID_VENDOR_FROM_DATABASE=Milwaukee Tool (formerly Milwaukee Electric Tools) ++ ++bluetooth:v0166* ++ ID_VENDOR_FROM_DATABASE=MISHIK Pte Ltd ++ ++bluetooth:v0167* ++ ID_VENDOR_FROM_DATABASE=Bayer HealthCare ++ ++bluetooth:v0168* ++ ID_VENDOR_FROM_DATABASE=Spicebox LLC ++ ++bluetooth:v0169* ++ ID_VENDOR_FROM_DATABASE=emberlight ++ ++bluetooth:v016A* ++ ID_VENDOR_FROM_DATABASE=Cooper-Atkins Corporation ++ ++bluetooth:v016B* ++ ID_VENDOR_FROM_DATABASE=Qblinks ++ ++bluetooth:v016C* ++ ID_VENDOR_FROM_DATABASE=MYSPHERA ++ ++bluetooth:v016D* ++ ID_VENDOR_FROM_DATABASE=LifeScan Inc ++ ++bluetooth:v016E* ++ ID_VENDOR_FROM_DATABASE=Volantic AB ++ ++bluetooth:v016F* ++ ID_VENDOR_FROM_DATABASE=Podo Labs, Inc ++ ++bluetooth:v0170* ++ ID_VENDOR_FROM_DATABASE=Roche Diabetes Care AG ++ ++bluetooth:v0171* ++ ID_VENDOR_FROM_DATABASE=Amazon Fulfillment Service ++ ++bluetooth:v0172* ++ ID_VENDOR_FROM_DATABASE=Connovate Technology Private Limited ++ ++bluetooth:v0173* ++ ID_VENDOR_FROM_DATABASE=Kocomojo, LLC ++ ++bluetooth:v0174* ++ ID_VENDOR_FROM_DATABASE=Everykey LLC ++ ++bluetooth:v0175* ++ ID_VENDOR_FROM_DATABASE=Dynamic Controls ++ ++bluetooth:v0176* ++ ID_VENDOR_FROM_DATABASE=SentriLock ++ ++bluetooth:v0177* ++ ID_VENDOR_FROM_DATABASE=I-SYST inc. ++ ++bluetooth:v0178* ++ ID_VENDOR_FROM_DATABASE=CASIO COMPUTER CO., LTD. ++ ++bluetooth:v0179* ++ ID_VENDOR_FROM_DATABASE=LAPIS Semiconductor Co., Ltd. ++ ++bluetooth:v017A* ++ ID_VENDOR_FROM_DATABASE=Telemonitor, Inc. ++ ++bluetooth:v017B* ++ ID_VENDOR_FROM_DATABASE=taskit GmbH ++ ++bluetooth:v017C* ++ ID_VENDOR_FROM_DATABASE=Daimler AG +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 91d2b719..dca120be 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch + 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch + ------------------------------------------------------------------- Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index edaeef3c..978f7b3d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -828,6 +828,10 @@ Patch398: 0004-config-parser-fix-mem-leak.patch Patch399: 0005-login-fix-mem-leak.patch # PATCH-FIX-UPSTREAM added at 2014/09/02 Patch400: 0001-login-simplify-controller-handling.patch +# PATCH-FIX-UPSTREAM added at 2014/09/05 +Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/08 +Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch # UDEV PATCHES # ============ @@ -1528,6 +1532,8 @@ cp %{SOURCE7} m4/ %patch398 -p0 %patch399 -p0 %patch400 -p0 +%patch401 -p0 +%patch402 -p0 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 91d2b719..dca120be 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch + 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch + ------------------------------------------------------------------- Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 92f20301..02c895a9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -823,6 +823,10 @@ Patch398: 0004-config-parser-fix-mem-leak.patch Patch399: 0005-login-fix-mem-leak.patch # PATCH-FIX-UPSTREAM added at 2014/09/02 Patch400: 0001-login-simplify-controller-handling.patch +# PATCH-FIX-UPSTREAM added at 2014/09/05 +Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/08 +Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch # UDEV PATCHES # ============ @@ -1523,6 +1527,8 @@ cp %{SOURCE7} m4/ %patch398 -p0 %patch399 -p0 %patch400 -p0 +%patch401 -p0 +%patch402 -p0 # udev patches %patch1001 -p1 From 6a62c05e32edcd5403ff74fd12f244e549c36d517e97cc81c7127429dd74b5ff Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 17 Sep 2014 15:41:54 +0000 Subject: [PATCH 200/991] Accepting request 249581 from Base:System - Add upstream patches as real fixes 0001-activate-fix-fd-leak-in-do_accept.patch 0002-analyze-avoid-a-null-dereference.patch 0003-analyze-fix-mem-leak.patch 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch 0006-bus-unref-buscreds-on-failure.patch 0007-core-fix-a-potential-mem-leak.patch 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch 0009-journal-do-not-leak-mmaps-on-OOM.patch 0010-manager-use-correct-cleanup-function.patch - Intergrate the work of Robert and rename the patch 1068-udev-remove-userspace-firmware-loading-support.patch to 1078-udev-remove-userspace-firmware-loading-support.patch Also add patch 1079-udev-remove-userspace-firmware-loading-support.patch to apply the same change for opensuse 13.2 and above - Add upstream patch 0001-systemctl-allow-to-change-the-default-target-without.patch to allow to override default target without --force (bnc#896664) - Add upstream patches for udev 1068-udev-net_setup_link-export-the-.link-filename-applie.patch 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch 1070-rules-net-setup-link-remove-stray-linebreak.patch 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch 1072-udev-netif_rename-don-t-log-to-kmsg.patch 1073-udev-drop-print_kmsg.patch 1074-udev-fix-copy-paste-error-in-log-message.patch OBS-URL: https://build.opensuse.org/request/show/249581 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=206 --- 0001-activate-fix-fd-leak-in-do_accept.patch | 26 + ...to-change-the-default-target-without.patch | 51 + 0002-analyze-avoid-a-null-dereference.patch | 30 + 0003-analyze-fix-mem-leak.patch | 27 + ...error-when-state-restore-is-disabled.patch | 33 + ...avoid-using-m-kdbus-after-freeing-it.patch | 35 + 0006-bus-unref-buscreds-on-failure.patch | 32 + 0007-core-fix-a-potential-mem-leak.patch | 25 + ...-Actually-allow-for-succesfully-load.patch | 31 + 0009-hwdb-update.patch | 3363 +++++++++++++++++ 0009-journal-do-not-leak-mmaps-on-OOM.patch | 50 + ...manager-use-correct-cleanup-function.patch | 30 + ...lve-correctly-database-names-on-chan.patch | 53 + ...ink-export-the-.link-filename-applie.patch | 26 + ...link-preserve-ID_NET_LINK_FILE-and-I.patch | 27 + ...et-setup-link-remove-stray-linebreak.patch | 27 + ...full-db-on-MOVE-events-for-devices-w.patch | 54 + ...-udev-netif_rename-don-t-log-to-kmsg.patch | 39 + 1073-udev-drop-print_kmsg.patch | 75 + ...-fix-copy-paste-error-in-log-message.patch | 25 + 1075-udev-timeout-increase-timeout.patch | 28 + ...n-after-a-third-of-the-timeout-befor.patch | 350 ++ ...n-after-a-third-of-the-timeout-befor.patch | 350 ++ ...e-userspace-firmware-loading-support.patch | 349 ++ ...e-userspace-firmware-loading-support.patch | 349 ++ systemd-mini.changes | 60 + systemd-mini.spec | 83 + systemd.changes | 60 + systemd.spec | 83 + 29 files changed, 5771 insertions(+) create mode 100644 0001-activate-fix-fd-leak-in-do_accept.patch create mode 100644 0001-systemctl-allow-to-change-the-default-target-without.patch create mode 100644 0002-analyze-avoid-a-null-dereference.patch create mode 100644 0003-analyze-fix-mem-leak.patch create mode 100644 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch create mode 100644 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch create mode 100644 0006-bus-unref-buscreds-on-failure.patch create mode 100644 0007-core-fix-a-potential-mem-leak.patch create mode 100644 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch create mode 100644 0009-hwdb-update.patch create mode 100644 0009-journal-do-not-leak-mmaps-on-OOM.patch create mode 100644 0010-manager-use-correct-cleanup-function.patch create mode 100644 1067-udev-always-resolve-correctly-database-names-on-chan.patch create mode 100644 1068-udev-net_setup_link-export-the-.link-filename-applie.patch create mode 100644 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch create mode 100644 1070-rules-net-setup-link-remove-stray-linebreak.patch create mode 100644 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch create mode 100644 1072-udev-netif_rename-don-t-log-to-kmsg.patch create mode 100644 1073-udev-drop-print_kmsg.patch create mode 100644 1074-udev-fix-copy-paste-error-in-log-message.patch create mode 100644 1075-udev-timeout-increase-timeout.patch create mode 100644 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch create mode 100644 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch create mode 100644 1078-udev-remove-userspace-firmware-loading-support.patch create mode 100644 1079-udev-remove-userspace-firmware-loading-support.patch diff --git a/0001-activate-fix-fd-leak-in-do_accept.patch b/0001-activate-fix-fd-leak-in-do_accept.patch new file mode 100644 index 00000000..14104a34 --- /dev/null +++ b/0001-activate-fix-fd-leak-in-do_accept.patch @@ -0,0 +1,26 @@ +From aa44499da15a8fa7026463555a7a27e55e4e24a8 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 22:14:41 +0300 +Subject: [PATCH] activate: fix fd leak in do_accept() + +Found with Coverity. +--- + src/activate/activate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/activate/activate.c src/activate/activate.c +index 8942773..0a1df37 100644 +--- src/activate/activate.c ++++ src/activate/activate.c +@@ -242,7 +242,7 @@ static int launch1(const char* child, char** argv, char **env, int fd) { + + static int do_accept(const char* name, char **argv, char **envp, int fd) { + _cleanup_free_ char *local = NULL, *peer = NULL; +- int fd2; ++ _cleanup_close_ int fd2 = -1; + + fd2 = accept(fd, NULL, NULL); + if (fd2 < 0) { +-- +1.7.9.2 + diff --git a/0001-systemctl-allow-to-change-the-default-target-without.patch b/0001-systemctl-allow-to-change-the-default-target-without.patch new file mode 100644 index 00000000..8e78fe01 --- /dev/null +++ b/0001-systemctl-allow-to-change-the-default-target-without.patch @@ -0,0 +1,51 @@ +From a1484a216e79da1fa7e2323095fb1b7203fb7a17 Mon Sep 17 00:00:00 2001 +From: Djalal Harouni +Date: Mon, 14 Apr 2014 01:07:52 +0100 +Subject: [PATCH] systemctl: allow to change the default target without the + --force switch + +Currently "systemctl set-default" will fail to change the default target +due to the 'default.target' being a symlink which is always the case. + +To work around this, the user must specify the "--force" switch to be +able to overwrite the existing symlink. + +This is clearly a regression that was introduced by commit 718db96199e +since it worked before without the "--force" switch and the man pages do +not mention that you need to specify it. It is expected that this is a +symlink. + +So just explicity set the force flag to make it work again. + +https://bugs.freedesktop.org/show_bug.cgi?id=76623 + +Reported-by: +--- + src/systemctl/systemctl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index ee0938f..1b381f7 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -1968,7 +1968,7 @@ static int set_default(sd_bus *bus, char **args) { + return log_oom(); + + if (!bus || avoid_bus()) { +- r = unit_file_set_default(arg_scope, arg_root, unit, arg_force, &changes, &n_changes); ++ r = unit_file_set_default(arg_scope, arg_root, unit, true, &changes, &n_changes); + if (r < 0) { + log_error("Failed to set default target: %s", strerror(-r)); + return r; +@@ -1990,7 +1990,7 @@ static int set_default(sd_bus *bus, char **args) { + "SetDefaultTarget", + &error, + &reply, +- "sb", unit, arg_force); ++ "sb", unit, true); + if (r < 0) { + log_error("Failed to set default target: %s", bus_error_message(&error, -r)); + return r; +-- +1.7.9.2 + diff --git a/0002-analyze-avoid-a-null-dereference.patch b/0002-analyze-avoid-a-null-dereference.patch new file mode 100644 index 00000000..b7662371 --- /dev/null +++ b/0002-analyze-avoid-a-null-dereference.patch @@ -0,0 +1,30 @@ +From d725a138c5c311ba06567d6841933aa5b7b6a435 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Thu, 11 Sep 2014 23:41:44 +0200 +Subject: [PATCH] analyze: avoid a null dereference + +If we have an error in the early sd_bus_* calls then unit_times +will still be null. + +Found with coverity. Fixes: CID#996464 +--- + src/analyze/analyze.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index d860a02..1281d6b 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -277,7 +277,8 @@ static int acquire_time_data(sd_bus *bus, struct unit_times **out) { + return c; + + fail: +- free_unit_times(unit_times, (unsigned) c); ++ if (unit_times) ++ free_unit_times(unit_times, (unsigned) c); + return r; + } + +-- +1.7.9.2 + diff --git a/0003-analyze-fix-mem-leak.patch b/0003-analyze-fix-mem-leak.patch new file mode 100644 index 00000000..10ecbcfc --- /dev/null +++ b/0003-analyze-fix-mem-leak.patch @@ -0,0 +1,27 @@ +From 0ee9613d98cbe1f36ffc98c6bfa51dd2b798fc6d Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 13 Sep 2014 12:29:43 +0200 +Subject: [PATCH] analyze: fix mem leak + +Found with Coverity. Fixes: CID#1237756 +--- + src/analyze/analyze.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index 1281d6b..82f5cf3 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -848,7 +848,8 @@ static int list_dependencies(sd_bus *bus, const char *name) { + char ts[FORMAT_TIMESPAN_MAX]; + struct unit_times *times; + int r; +- const char *path, *id; ++ const char *id; ++ _cleanup_free_ char *path = NULL; + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + struct boot_times *boot; +-- +1.7.9.2 + diff --git a/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch b/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch new file mode 100644 index 00000000..281f7b5c --- /dev/null +++ b/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch @@ -0,0 +1,33 @@ +From b76388e123e8d73ded1fd53937d816b314948517 Mon Sep 17 00:00:00 2001 +From: Michael Biebl +Date: Thu, 11 Sep 2014 00:49:36 +0200 +Subject: [PATCH] backlight: Avoid error when state restore is disabled + +When the state restore is disabled, we would print: +"Unknown verb: load" instead of simply skipping loading the +state. +--- + src/backlight/backlight.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 4d94ebf..0a2bac6 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -372,9 +372,12 @@ int main(int argc, char *argv[]) { + * device probing should be complete), so that the validity + * check at boot time doesn't have to be reliable. */ + +- if (streq(argv[1], "load") && shall_restore_state()) { ++ if (streq(argv[1], "load")) { + _cleanup_free_ char *value = NULL; + ++ if (!shall_restore_state()) ++ return EXIT_SUCCESS; ++ + if (!validate_device(udev, device)) + return EXIT_SUCCESS; + +-- +1.7.9.2 + diff --git a/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch b/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch new file mode 100644 index 00000000..93f4711e --- /dev/null +++ b/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch @@ -0,0 +1,35 @@ +Based on fd989a0bc999d79719408ac28b126d9c9016bcb5 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 12:20:38 +0300 +Subject: [PATCH] bus: avoid using m->kdbus after freeing it + +m->kdbus could be freed before it is released. Changing the +order fixes the issue. + +Found with Coverity. Fixes: CID#1237798 +--- + src/libsystemd/sd-bus/bus-message.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- src/libsystemd/sd-bus/bus-message.c ++++ src/libsystemd/sd-bus/bus-message.c 2014-09-16 10:31:37.538735664 +0000 +@@ -126,9 +126,6 @@ static void message_free(sd_bus_message + + message_reset_parts(m); + +- if (m->free_kdbus) +- free(m->kdbus); +- + if (m->release_kdbus) { + uint64_t off; + +@@ -136,6 +133,9 @@ static void message_free(sd_bus_message + ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &off); + } + ++ if (m->free_kdbus) ++ free(m->kdbus); ++ + if (m->bus) + sd_bus_unref(m->bus); + diff --git a/0006-bus-unref-buscreds-on-failure.patch b/0006-bus-unref-buscreds-on-failure.patch new file mode 100644 index 00000000..d6ec9ccd --- /dev/null +++ b/0006-bus-unref-buscreds-on-failure.patch @@ -0,0 +1,32 @@ +From 2b347169b9046ff2d735ef23e62a8c74f5151600 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 12:20:42 +0300 +Subject: [PATCH] bus: unref buscreds on failure + +Actually unref the buscreds when we are not going to return a +pointer to them. As when bus_creds_add_more fails we immediately +return the error code otherwise and leak the new buscreds. +Found with coverity. Fixes: CID#1237761 +--- + src/libsystemd/sd-bus/sd-bus.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 78e91b9..83b3aa1 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -3339,8 +3339,10 @@ _public_ int sd_bus_get_peer_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **re + } + + r = bus_creds_add_more(c, mask, pid, 0); +- if (r < 0) ++ if (r < 0) { ++ sd_bus_creds_unref(c); + return r; ++ } + + *ret = c; + return 0; +-- +1.7.9.2 + diff --git a/0007-core-fix-a-potential-mem-leak.patch b/0007-core-fix-a-potential-mem-leak.patch new file mode 100644 index 00000000..03003901 --- /dev/null +++ b/0007-core-fix-a-potential-mem-leak.patch @@ -0,0 +1,25 @@ +Based on 4d5e13a125cf8d77d432225ab69826caa1d1cf59 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 13 Sep 2014 12:35:06 +0200 +Subject: [PATCH] core: fix a potential mem leak + +Found with Coverity. Fixes: CID#996438 +--- + src/core/load-fragment.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/core/load-fragment.c ++++ src/core/load-fragment.c 2014-09-16 10:35:13.354235607 +0000 +@@ -1294,8 +1294,11 @@ int config_parse_timer(const char *unit, + } + + v = new0(TimerValue, 1); +- if (!v) ++ if (!v) { ++ if (c) ++ free(c); + return log_oom(); ++ } + + v->base = b; + v->clock_id = id; diff --git a/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch b/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch new file mode 100644 index 00000000..1cc429ce --- /dev/null +++ b/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch @@ -0,0 +1,31 @@ +From b9289d4c6e13ec5fb67bfce69c826d93b004da6a Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Fri, 12 Sep 2014 16:49:48 +0300 +Subject: [PATCH] core: smack-setup: Actually allow for succesfully loading + CIPSO policy + +The line under the last switch statement *loaded_policy = true; +would never be executed. As all switch cases return 0. Thus the +policy would never be marked as loaded. + +Found with Coverity. Fixes: CID#1237785 +--- + src/core/smack-setup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/smack-setup.c src/core/smack-setup.c +index 5f6dabf..5d8a26c 100644 +--- src/core/smack-setup.c ++++ src/core/smack-setup.c +@@ -158,7 +158,7 @@ int smack_setup(bool *loaded_policy) { + return 0; + case 0: + log_info("Successfully loaded Smack/CIPSO policies."); +- return 0; ++ break; + default: + log_warning("Failed to load Smack/CIPSO access rules: %s, ignoring.", + strerror(abs(r))); +-- +1.7.9.2 + diff --git a/0009-hwdb-update.patch b/0009-hwdb-update.patch new file mode 100644 index 00000000..099e33b6 --- /dev/null +++ b/0009-hwdb-update.patch @@ -0,0 +1,3363 @@ +From fea0bfaed5411de43811dc428e763029d3aaabe5 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Tue, 9 Sep 2014 07:44:02 +0200 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 249 +++++- + hwdb/20-pci-vendor-model.hwdb | 1987 ++++++++++++++++++++++++++++++++++++++++- + hwdb/20-usb-vendor-model.hwdb | 2 +- + 3 files changed, 2199 insertions(+), 39 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index e0c5fed..73df96c 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -4103,7 +4103,7 @@ OUI:0050C2561* + ID_OUI_FROM_DATABASE=Seitec Elektronik GmbH + + OUI:0050C2562* +- ID_OUI_FROM_DATABASE=C21 Technology Limited ++ ID_OUI_FROM_DATABASE=C21 Systems Limited + + OUI:0050C2563* + ID_OUI_FROM_DATABASE=ORTRAT, S.L. +@@ -26081,7 +26081,7 @@ OUI:00105D* + ID_OUI_FROM_DATABASE=Draeger Medical + + OUI:00105E* +- ID_OUI_FROM_DATABASE=HEKIMIAN LABORATORIES, INC. ++ ID_OUI_FROM_DATABASE=Spirent plc, Service Assurance Broadband + + OUI:00105F* + ID_OUI_FROM_DATABASE=ZODIAC DATA SYSTEMS +@@ -35786,7 +35786,7 @@ OUI:001D04* + ID_OUI_FROM_DATABASE=Zipit Wireless, Inc. + + OUI:001D05* +- ID_OUI_FROM_DATABASE=iLight ++ ID_OUI_FROM_DATABASE=Eaton Corporation + + OUI:001D06* + ID_OUI_FROM_DATABASE=HM Electronics, Inc. +@@ -44287,6 +44287,9 @@ OUI:0034F1* + OUI:003532* + ID_OUI_FROM_DATABASE=Electro-Metrics Corporation + ++OUI:003560* ++ ID_OUI_FROM_DATABASE=Rosen Aviation ++ + OUI:0036F8* + ID_OUI_FROM_DATABASE=Conti Temic microelectronic GmbH + +@@ -50072,7 +50075,7 @@ OUI:00D01E* + ID_OUI_FROM_DATABASE=PINGTEL CORP. + + OUI:00D01F* +- ID_OUI_FROM_DATABASE=CTAM PTY. LTD. ++ ID_OUI_FROM_DATABASE=Senetas Security + + OUI:00D020* + ID_OUI_FROM_DATABASE=AIM SYSTEM, INC. +@@ -51616,6 +51619,9 @@ OUI:00EEBD* + OUI:00F051* + ID_OUI_FROM_DATABASE=KWB Gmbh + ++OUI:00F3DB* ++ ID_OUI_FROM_DATABASE=WOO Sports ++ + OUI:00F403* + ID_OUI_FROM_DATABASE=Orbis Systems Oy + +@@ -51889,6 +51895,9 @@ OUI:04B3B6* + OUI:04B466* + ID_OUI_FROM_DATABASE=BSP Co., Ltd. + ++OUI:04BD70* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:04BFA8* + ID_OUI_FROM_DATABASE=ISB Corporation + +@@ -51898,6 +51907,9 @@ OUI:04C05B* + OUI:04C06F* + ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd + ++OUI:04C09C* ++ ID_OUI_FROM_DATABASE=Tellabs Inc. ++ + OUI:04C1B9* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + +@@ -52657,6 +52669,9 @@ OUI:089F97* + OUI:08A12B* + ID_OUI_FROM_DATABASE=ShenZhen EZL Technology Co., Ltd + ++OUI:08A5C8* ++ ID_OUI_FROM_DATABASE=Sunnovo International Limited ++ + OUI:08A95A* + ID_OUI_FROM_DATABASE=Azurewave + +@@ -52747,6 +52762,9 @@ OUI:08EE8B* + OUI:08EF3B* + ID_OUI_FROM_DATABASE=MCS Logic Inc. + ++OUI:08EFAB* ++ ID_OUI_FROM_DATABASE=SAYME WIRELESS SENSOR NETWORK ++ + OUI:08F1B7* + ID_OUI_FROM_DATABASE=Towerstream Corpration + +@@ -53125,6 +53143,9 @@ OUI:1001CA* + OUI:1005CA* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:100723* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:1008B1* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -53389,6 +53410,9 @@ OUI:10C586* + OUI:10C61F* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:10C67E* ++ ID_OUI_FROM_DATABASE=SHENZHEN JUCHIN TECHNOLOGY CO., LTD ++ + OUI:10C6FC* + ID_OUI_FROM_DATABASE=Garmin International + +@@ -53446,6 +53470,9 @@ OUI:10F3DB* + OUI:10F49A* + ID_OUI_FROM_DATABASE=T3 Innovation + ++OUI:10F681* ++ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. ++ + OUI:10F96F* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -53527,6 +53554,9 @@ OUI:1435B3* + OUI:143605* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:1436C6* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:14373B* + ID_OUI_FROM_DATABASE=PROCOM Systems + +@@ -53782,6 +53812,9 @@ OUI:18193F* + OUI:181BEB* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + ++OUI:181E78* ++ ID_OUI_FROM_DATABASE=SAGEMCOM ++ + OUI:181EB0* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53881,6 +53914,9 @@ OUI:18622C* + OUI:186472* + ID_OUI_FROM_DATABASE=Aruba Networks + ++OUI:186571* ++ ID_OUI_FROM_DATABASE=Top Victory Electronics (Taiwan) Co., Ltd. ++ + OUI:1866E3* + ID_OUI_FROM_DATABASE=Veros Systems, Inc. + +@@ -54023,7 +54059,7 @@ OUI:18CF5E* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + + OUI:18D071* +- ID_OUI_FROM_DATABASE=DASAN SMC, Inc. ++ ID_OUI_FROM_DATABASE=DASAN CO., LTD. + + OUI:18D5B6* + ID_OUI_FROM_DATABASE=SMG Holdings LLC +@@ -55270,6 +55306,9 @@ OUI:28D576* + OUI:28D93E* + ID_OUI_FROM_DATABASE=Telecor Inc. + ++OUI:28D98A* ++ ID_OUI_FROM_DATABASE=Hangzhou Konke Technology Co.,Ltd. ++ + OUI:28D997* + ID_OUI_FROM_DATABASE=Yuduan Mobile Co., Ltd. + +@@ -55387,6 +55426,9 @@ OUI:2C2D48* + OUI:2C3068* + ID_OUI_FROM_DATABASE=Pantech Co.,Ltd + ++OUI:2C337A* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:2C3427* + ID_OUI_FROM_DATABASE=ERCO & GENER + +@@ -55891,6 +55933,9 @@ OUI:30D357* + OUI:30D46A* + ID_OUI_FROM_DATABASE=Autosales Incorporated + ++OUI:30D587* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:30D6C9* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -56062,6 +56107,9 @@ OUI:346BD3* + OUI:346E8A* + ID_OUI_FROM_DATABASE=Ecosense + ++OUI:346F90* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:346F92* + ID_OUI_FROM_DATABASE=White Rodgers Division + +@@ -56266,6 +56314,9 @@ OUI:34E42A* + OUI:34E6AD* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:34E6D7* ++ ID_OUI_FROM_DATABASE=Dell Inc. ++ + OUI:34EF44* + ID_OUI_FROM_DATABASE=2Wire + +@@ -56413,6 +56464,9 @@ OUI:385FC3* + OUI:386077* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + ++OUI:3863BB* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:3863F6* + ID_OUI_FROM_DATABASE=3NOD MULTIMEDIA(SHENZHEN)CO.,LTD + +@@ -56677,6 +56731,9 @@ OUI:3C3888* + OUI:3C39C3* + ID_OUI_FROM_DATABASE=JW Electronics Co., Ltd. + ++OUI:3C39E7* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:3C3A73* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -56689,6 +56746,9 @@ OUI:3C438E* + OUI:3C46D8* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:3C4937* ++ ID_OUI_FROM_DATABASE=ASSMANN Electronic GmbH ++ + OUI:3C4A92* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -56815,6 +56875,9 @@ OUI:3CAA3F* + OUI:3CAB8E* + ID_OUI_FROM_DATABASE=Apple + ++OUI:3CAE69* ++ ID_OUI_FROM_DATABASE=ESA Elektroschaltanlagen Grimma GmbH ++ + OUI:3CB15B* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -57211,6 +57274,9 @@ OUI:40E730* + OUI:40E793* + ID_OUI_FROM_DATABASE=Shenzhen Siviton Technology Co.,Ltd + ++OUI:40EACE* ++ ID_OUI_FROM_DATABASE=FOUNDER BROADBAND NETWORK SERVICE CO.,LTD ++ + OUI:40ECF8* + ID_OUI_FROM_DATABASE=Siemens AG + +@@ -57535,6 +57601,9 @@ OUI:44DCCB* + OUI:44E08E* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:44E137* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:44E49A* + ID_OUI_FROM_DATABASE=OMNITRONICS PTY LTD + +@@ -58348,6 +58417,9 @@ OUI:50A733* + OUI:50ABBF* + ID_OUI_FROM_DATABASE=Hoseo Telecom + ++OUI:50ADD5* ++ ID_OUI_FROM_DATABASE=Dynalec Corporation ++ + OUI:50AF73* + ID_OUI_FROM_DATABASE=Shenzhen Bitland Information Technology Co., Ltd. + +@@ -58537,6 +58609,9 @@ OUI:544A05* + OUI:544A16* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:545146* ++ ID_OUI_FROM_DATABASE=AMG Systems Ltd. ++ + OUI:5453ED* + ID_OUI_FROM_DATABASE=Sony Corporation + +@@ -58852,6 +58927,9 @@ OUI:58696C* + OUI:5869F9* + ID_OUI_FROM_DATABASE=Fusion Transactive Ltd. + ++OUI:586AB1* ++ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited ++ + OUI:586D8F* + ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC + +@@ -59080,6 +59158,9 @@ OUI:5C2BF5* + OUI:5C2E59* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:5C2ED2* ++ ID_OUI_FROM_DATABASE=ABC(XiSheng) Electronics Co.,Ltd ++ + OUI:5C313E* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -59272,6 +59353,9 @@ OUI:5CDAD4* + OUI:5CDD70* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:5CE0C5* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:5CE0CA* + ID_OUI_FROM_DATABASE=FeiTian United (Beijing) System Technology Co., Ltd. + +@@ -59767,6 +59851,9 @@ OUI:64317E* + OUI:643409* + ID_OUI_FROM_DATABASE=BITwave Pte Ltd + ++OUI:643E8C* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:643F5F* + ID_OUI_FROM_DATABASE=Exablaze + +@@ -59908,6 +59995,9 @@ OUI:6487D7* + OUI:6488FF* + ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. + ++OUI:64899A* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:648D9E* + ID_OUI_FROM_DATABASE=IVT Electronic Co.,Ltd + +@@ -60328,6 +60418,9 @@ OUI:68BC0C* + OUI:68BDAB* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:68C90B* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:68CA00* + ID_OUI_FROM_DATABASE=Octopus Systems Limited + +@@ -60442,6 +60535,9 @@ OUI:6C22AB* + OUI:6C23B9* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:6C25B9* ++ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., ++ + OUI:6C2995* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -60574,6 +60670,9 @@ OUI:6C90B1* + OUI:6C92BF* + ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. + ++OUI:6C94F8* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:6C98EB* + ID_OUI_FROM_DATABASE=Ocedo GmbH + +@@ -60724,6 +60823,9 @@ OUI:700514* + OUI:700BC0* + ID_OUI_FROM_DATABASE=Dewav Technology Company + ++OUI:700FC7* ++ ID_OUI_FROM_DATABASE=SHENZHEN IKINLOOP TECHNOLOGY CO.,LTD. ++ + OUI:700FEC* + ID_OUI_FROM_DATABASE=Poindus Systems Corp. + +@@ -60802,6 +60904,9 @@ OUI:703AD8* + OUI:703C39* + ID_OUI_FROM_DATABASE=SEAWING Kft + ++OUI:703EAC* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:7041B7* + ID_OUI_FROM_DATABASE=Edwards Lifesciences LLC + +@@ -60901,6 +61006,9 @@ OUI:7076DD* + OUI:7076F0* + ID_OUI_FROM_DATABASE=LevelOne Communications (India) Private Limited + ++OUI:7076FF* ++ ID_OUI_FROM_DATABASE=KERLINK ++ + OUI:707BE8* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + +@@ -61105,6 +61213,9 @@ OUI:74273C* + OUI:7427EA* + ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. + ++OUI:7429AF* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:742B0F* + ID_OUI_FROM_DATABASE=Infinidat Ltd. + +@@ -61447,6 +61558,9 @@ OUI:78303B* + OUI:7830E1* + ID_OUI_FROM_DATABASE=UltraClenz, LLC + ++OUI:78312B* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:7831C1* + ID_OUI_FROM_DATABASE=Apple + +@@ -61639,6 +61753,9 @@ OUI:78ACC0* + OUI:78AE0C* + ID_OUI_FROM_DATABASE=Far South Networks + ++OUI:78B3B9* ++ ID_OUI_FROM_DATABASE=ShangHai sunup lighting CO.,LTD ++ + OUI:78B3CE* + ID_OUI_FROM_DATABASE=Elo touch solutions + +@@ -61741,6 +61858,9 @@ OUI:78E7D1* + OUI:78E8B6* + ID_OUI_FROM_DATABASE=zte corporation + ++OUI:78EB14* ++ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO.,LTD ++ + OUI:78EC22* + ID_OUI_FROM_DATABASE=Shanghai Qihui Telecom Technology Co., LTD + +@@ -62569,6 +62689,9 @@ OUI:843A4B* + OUI:843F4E* + ID_OUI_FROM_DATABASE=Tri-Tech Manufacturing, Inc. + ++OUI:844464* ++ ID_OUI_FROM_DATABASE=ServerU Inc ++ + OUI:844823* + ID_OUI_FROM_DATABASE=WOXTER TECHNOLOGY Co. Ltd + +@@ -62605,6 +62728,9 @@ OUI:846223* + OUI:8462A6* + ID_OUI_FROM_DATABASE=EuroCB (Phils), Inc. + ++OUI:8463D6* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:846AED* + ID_OUI_FROM_DATABASE=Wireless Tsukamoto.,co.LTD + +@@ -62665,6 +62791,9 @@ OUI:848E0C* + OUI:848E96* + ID_OUI_FROM_DATABASE=Embertec Pty Ltd + ++OUI:848EDF* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:848F69* + ID_OUI_FROM_DATABASE=Dell Inc. + +@@ -62746,6 +62875,9 @@ OUI:84DB2F* + OUI:84DD20* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:84DDB7* ++ ID_OUI_FROM_DATABASE=Cilag GmbH International ++ + OUI:84DE3D* + ID_OUI_FROM_DATABASE=Crystal Vision Ltd + +@@ -62812,6 +62944,9 @@ OUI:881544* + OUI:8818AE* + ID_OUI_FROM_DATABASE=Tamron Co., Ltd + ++OUI:881DFC* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:881FA1* + ID_OUI_FROM_DATABASE=Apple + +@@ -63367,6 +63502,9 @@ OUI:8CDF9D* + OUI:8CE081* + ID_OUI_FROM_DATABASE=zte corporation + ++OUI:8CE78C* ++ ID_OUI_FROM_DATABASE=DK Networks ++ + OUI:8CE7B3* + ID_OUI_FROM_DATABASE=Sonardyne International Ltd + +@@ -63409,6 +63547,9 @@ OUI:900917* + OUI:900A3A* + ID_OUI_FROM_DATABASE=PSG Plastic Service GmbH + ++OUI:900CB4* ++ ID_OUI_FROM_DATABASE=Alinket Electronic Technology Co., Ltd ++ + OUI:900D66* + ID_OUI_FROM_DATABASE=Digimore Electronics Co., Ltd + +@@ -63556,6 +63697,9 @@ OUI:9067B5* + OUI:9067F3* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:9068C3* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:906DC8* + ID_OUI_FROM_DATABASE=DLG Automação Industrial Ltda + +@@ -63781,6 +63925,9 @@ OUI:940149* + OUI:9401C2* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:9405B6* ++ ID_OUI_FROM_DATABASE=Liling FullRiver Electronics & Technology Ltd ++ + OUI:940B2D* + ID_OUI_FROM_DATABASE=NetView Technologies(Shenzhen) Co., Ltd + +@@ -63913,6 +64060,9 @@ OUI:948B03* + OUI:948D50* + ID_OUI_FROM_DATABASE=Beamex Oy Ab + ++OUI:948E89* ++ ID_OUI_FROM_DATABASE=INDUSTRIAS UNIDAS SA DE CV ++ + OUI:948FEE* + ID_OUI_FROM_DATABASE=Hughes Telematics, Inc. + +@@ -64639,6 +64789,9 @@ OUI:9CD36D* + OUI:9CD643* + ID_OUI_FROM_DATABASE=D-Link International + ++OUI:9CD917* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:9CDF03* + ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH + +@@ -65407,6 +65560,9 @@ OUI:A81B18* + OUI:A81B5D* + ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd + ++OUI:A81D16* ++ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc ++ + OUI:A81FAF* + ID_OUI_FROM_DATABASE=KRYPTON POLSKA + +@@ -65473,6 +65629,9 @@ OUI:A863DF* + OUI:A863F2* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:A86405* ++ ID_OUI_FROM_DATABASE=nimbus 9, Inc ++ + OUI:A865B2* + ID_OUI_FROM_DATABASE=DONGGUAN YISHANG ELECTRONIC TECHNOLOGY CO., LIMITED + +@@ -66064,6 +66223,9 @@ OUI:B0435D* + OUI:B04515* + ID_OUI_FROM_DATABASE=mira fitness,LLC. + ++OUI:B04519* ++ ID_OUI_FROM_DATABASE=TCT mobile ltd ++ + OUI:B04545* + ID_OUI_FROM_DATABASE=YACOUB Automation GmbH + +@@ -67105,6 +67267,9 @@ OUI:BC4760* + OUI:BC4B79* + ID_OUI_FROM_DATABASE=SensingTek + ++OUI:BC4DFB* ++ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc ++ + OUI:BC4E3C* + ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. + +@@ -67114,6 +67279,9 @@ OUI:BC4E5D* + OUI:BC51FE* + ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd + ++OUI:BC52B4* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:BC52B7* + ID_OUI_FROM_DATABASE=Apple + +@@ -67153,6 +67321,9 @@ OUI:BC71C1* + OUI:BC72B1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:BC74D7* ++ ID_OUI_FROM_DATABASE=HangZhou JuRu Technology CO.,LTD ++ + OUI:BC764E* + ID_OUI_FROM_DATABASE=Rackspace US, Inc. + +@@ -67363,6 +67534,9 @@ OUI:C03580* + OUI:C035BD* + ID_OUI_FROM_DATABASE=Velocytech Aps + ++OUI:C035C5* ++ ID_OUI_FROM_DATABASE=Prosoft Systems LTD ++ + OUI:C03896* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -67867,6 +68041,9 @@ OUI:C4BA99* + OUI:C4BD6A* + ID_OUI_FROM_DATABASE=SKF GmbH + ++OUI:C4BE84* ++ ID_OUI_FROM_DATABASE=Texas Instruments. ++ + OUI:C4C0AE* + ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. + +@@ -68527,6 +68704,9 @@ OUI:CCB8F1* + OUI:CCBD35* + ID_OUI_FROM_DATABASE=Steinel GmbH + ++OUI:CCBDD3* ++ ID_OUI_FROM_DATABASE=Ultimaker B.V. ++ + OUI:CCBE71* + ID_OUI_FROM_DATABASE=OptiLogix BV + +@@ -68698,6 +68878,9 @@ OUI:D046DC* + OUI:D04CC1* + ID_OUI_FROM_DATABASE=SINTRONES Technology Corp. + ++OUI:D04F7E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D05099* + ID_OUI_FROM_DATABASE=ASRock Incorporation + +@@ -68734,6 +68917,9 @@ OUI:D05A0F* + OUI:D05AF1* + ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd + ++OUI:D05BA8* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:D05FB8* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -69025,6 +69211,9 @@ OUI:D42F23* + OUI:D4319D* + ID_OUI_FROM_DATABASE=Sinwatec + ++OUI:D43266* ++ ID_OUI_FROM_DATABASE=Fike Corporation ++ + OUI:D437D7* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -69307,6 +69496,9 @@ OUI:D4F143* + OUI:D4F46F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:D4F513* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:D4F63F* + ID_OUI_FROM_DATABASE=IEA S.R.L. + +@@ -69568,6 +69760,9 @@ OUI:D8B8F6* + OUI:D8B90E* + ID_OUI_FROM_DATABASE=Triple Domain Vision Co.,Ltd. + ++OUI:D8BB2C* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D8BF4C* + ID_OUI_FROM_DATABASE=Victory Concept Electronics Limited + +@@ -69635,7 +69830,7 @@ OUI:D8E56D* + ID_OUI_FROM_DATABASE=TCT Mobile Limited + + OUI:D8E72B* +- ID_OUI_FROM_DATABASE=OnPATH Technologies ++ ID_OUI_FROM_DATABASE=NetScout Systems, Inc. + + OUI:D8E743* + ID_OUI_FROM_DATABASE=Wush, Inc +@@ -70084,6 +70279,9 @@ OUI:E08177* + OUI:E087B1* + ID_OUI_FROM_DATABASE=Nata-Info Ltd. + ++OUI:E0885D* ++ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc ++ + OUI:E08A7E* + ID_OUI_FROM_DATABASE=Exponent + +@@ -70474,6 +70672,9 @@ OUI:E4AFA1* + OUI:E4B021* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:E4BAD9* ++ ID_OUI_FROM_DATABASE=360 Fly Inc. ++ + OUI:E4C146* + ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A + +@@ -70603,6 +70804,9 @@ OUI:E82AEA* + OUI:E82E24* + ID_OUI_FROM_DATABASE=Out of the Fog Research LLC + ++OUI:E83381* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:E83935* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -70720,6 +70924,9 @@ OUI:E88D28* + OUI:E88DF5* + ID_OUI_FROM_DATABASE=ZNYX Networks, Inc. + ++OUI:E88E60* ++ ID_OUI_FROM_DATABASE=NSD Corporation ++ + OUI:E89218* + ID_OUI_FROM_DATABASE=Arcontia International AB + +@@ -70918,6 +71125,9 @@ OUI:EC233D* + OUI:EC2368* + ID_OUI_FROM_DATABASE=IntelliVoice Co.,Ltd. + ++OUI:EC24B8* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:EC2AF0* + ID_OUI_FROM_DATABASE=Ypsomed AG + +@@ -70978,6 +71188,9 @@ OUI:EC542E* + OUI:EC55F9* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:EC59E7* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:EC5C69* + ID_OUI_FROM_DATABASE=MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD. + +@@ -71002,6 +71215,9 @@ OUI:EC7C74* + OUI:EC7D9D* + ID_OUI_FROM_DATABASE=MEI + ++OUI:EC8009* ++ ID_OUI_FROM_DATABASE=NovaSparks ++ + OUI:EC836C* + ID_OUI_FROM_DATABASE=RM Tech Co., Ltd. + +@@ -71449,6 +71665,9 @@ OUI:F0F002* + OUI:F0F260* + ID_OUI_FROM_DATABASE=Mobitec AB + ++OUI:F0F336* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD ++ + OUI:F0F5AE* + ID_OUI_FROM_DATABASE=Adaptrum Inc. + +@@ -71476,6 +71695,9 @@ OUI:F0F9F7* + OUI:F0FDA0* + ID_OUI_FROM_DATABASE=Acurix Networks LP + ++OUI:F0FE6B* ++ ID_OUI_FROM_DATABASE=Shanghai High-Flying Electronics Technology Co., Ltd ++ + OUI:F40321* + ID_OUI_FROM_DATABASE=BeNeXt B.V. + +@@ -71758,6 +71980,9 @@ OUI:F4EA67* + OUI:F4EC38* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. + ++OUI:F4EE14* ++ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. ++ + OUI:F4F15A* + ID_OUI_FROM_DATABASE=Apple + +@@ -71881,6 +72106,9 @@ OUI:F83DFF* + OUI:F842FB* + ID_OUI_FROM_DATABASE=Yasuda Joho Co.,ltd. + ++OUI:F84360* ++ ID_OUI_FROM_DATABASE=INGENICO ++ + OUI:F845AD* + ID_OUI_FROM_DATABASE=Konka Group Co., Ltd. + +@@ -72037,12 +72265,18 @@ OUI:F8AC6D* + OUI:F8B156* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:F8B2F3* ++ ID_OUI_FROM_DATABASE=GUANGZHOU BOSMA TECHNOLOGY CO.,LTD ++ + OUI:F8B599* + ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd + + OUI:F8BC12* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:F8BC41* ++ ID_OUI_FROM_DATABASE=Rosslare Enterprises Limited ++ + OUI:F8C001* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -72310,6 +72544,9 @@ OUI:FC6198* + OUI:FC626E* + ID_OUI_FROM_DATABASE=Beijing MDC Telecom + ++OUI:FC62B9* ++ ID_OUI_FROM_DATABASE=ALPS ERECTRIC CO.,LTD ++ + OUI:FC683E* + ID_OUI_FROM_DATABASE=Directed Perception, Inc + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 3bcdbc0..1b98b1d 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -7892,6 +7892,9 @@ pci:v00001002d0000692B* + pci:v00001002d0000692F* + ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] + ++pci:v00001002d00006939* ++ ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285] ++ + pci:v00001002d0000700F* + ID_MODEL_FROM_DATABASE=RS100 AGP Bridge + +@@ -17466,7 +17469,7 @@ pci:v00001093d00000162* + ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-50 + + pci:v00001093d00001150* +- ID_MODEL_FROM_DATABASE=PCI-DIO-32HS High Speed Digital I/O Board ++ ID_MODEL_FROM_DATABASE=PCI-6533 (PCI-DIO-32HS) + + pci:v00001093d00001170* + ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-10 +@@ -17481,22 +17484,31 @@ pci:v00001093d000011B0* + ID_MODEL_FROM_DATABASE=PXI-6070E + + pci:v00001093d000011C0* +- ID_MODEL_FROM_DATABASE=PXI-6040e ++ ID_MODEL_FROM_DATABASE=PXI-6040E + + pci:v00001093d000011D0* +- ID_MODEL_FROM_DATABASE=PXI-6030e ++ ID_MODEL_FROM_DATABASE=PXI-6030E + + pci:v00001093d00001270* +- ID_MODEL_FROM_DATABASE=PCI-6032e ++ ID_MODEL_FROM_DATABASE=PCI-6032E ++ ++pci:v00001093d00001290* ++ ID_MODEL_FROM_DATABASE=PCI-6704 ++ ++pci:v00001093d000012B0* ++ ID_MODEL_FROM_DATABASE=PCI-6534 + + pci:v00001093d00001310* + ID_MODEL_FROM_DATABASE=PCI-6602 + ++pci:v00001093d00001320* ++ ID_MODEL_FROM_DATABASE=PXI-6533 ++ + pci:v00001093d00001330* + ID_MODEL_FROM_DATABASE=PCI-6031E + + pci:v00001093d00001340* +- ID_MODEL_FROM_DATABASE=PCI-6033e ++ ID_MODEL_FROM_DATABASE=PCI-6033E + + pci:v00001093d00001350* + ID_MODEL_FROM_DATABASE=PCI-6071E +@@ -17504,6 +17516,12 @@ pci:v00001093d00001350* + pci:v00001093d00001360* + ID_MODEL_FROM_DATABASE=PXI-6602 + ++pci:v00001093d000013C0* ++ ID_MODEL_FROM_DATABASE=PXI-6508 ++ ++pci:v00001093d00001490* ++ ID_MODEL_FROM_DATABASE=PXI-6534 ++ + pci:v00001093d000014E0* + ID_MODEL_FROM_DATABASE=PCI-6110 + +@@ -17519,6 +17537,9 @@ pci:v00001093d000015B0* + pci:v00001093d00001710* + ID_MODEL_FROM_DATABASE=PXI-6509 + ++pci:v00001093d000017C0* ++ ID_MODEL_FROM_DATABASE=PXI-5690 ++ + pci:v00001093d000017D0* + ID_MODEL_FROM_DATABASE=PCI-6503 + +@@ -17534,6 +17555,33 @@ pci:v00001093d000018B0* + pci:v00001093d000018C0* + ID_MODEL_FROM_DATABASE=PXI-6052E + ++pci:v00001093d00001920* ++ ID_MODEL_FROM_DATABASE=PXI-6704 ++ ++pci:v00001093d00001930* ++ ID_MODEL_FROM_DATABASE=PCI-6040E ++ ++pci:v00001093d000019C0* ++ ID_MODEL_FROM_DATABASE=PCI-4472 ++ ++pci:v00001093d00001AA0* ++ ID_MODEL_FROM_DATABASE=PXI-4110 ++ ++pci:v00001093d00001AD0* ++ ID_MODEL_FROM_DATABASE=PCI-6133 ++ ++pci:v00001093d00001AE0* ++ ID_MODEL_FROM_DATABASE=PXI-6133 ++ ++pci:v00001093d00001E30* ++ ID_MODEL_FROM_DATABASE=PCI-6624 ++ ++pci:v00001093d00001E40* ++ ID_MODEL_FROM_DATABASE=PXI-6624 ++ ++pci:v00001093d00001E50* ++ ID_MODEL_FROM_DATABASE=PXI-5404 ++ + pci:v00001093d00002410* + ID_MODEL_FROM_DATABASE=PCI-6733 + +@@ -17543,12 +17591,42 @@ pci:v00001093d00002420* + pci:v00001093d00002430* + ID_MODEL_FROM_DATABASE=PCI-6731 + ++pci:v00001093d00002470* ++ ID_MODEL_FROM_DATABASE=PCI-4474 ++ ++pci:v00001093d000024A0* ++ ID_MODEL_FROM_DATABASE=PCI-4065 ++ ++pci:v00001093d000024B0* ++ ID_MODEL_FROM_DATABASE=PXI-4200 ++ ++pci:v00001093d000024F0* ++ ID_MODEL_FROM_DATABASE=PXI-4472 ++ ++pci:v00001093d00002510* ++ ID_MODEL_FROM_DATABASE=PCI-4472 ++ ++pci:v00001093d00002520* ++ ID_MODEL_FROM_DATABASE=PCI-4474 ++ ++pci:v00001093d000027A0* ++ ID_MODEL_FROM_DATABASE=PCI-6123 ++ ++pci:v00001093d000027B0* ++ ID_MODEL_FROM_DATABASE=PXI-6123 ++ + pci:v00001093d00002880* + ID_MODEL_FROM_DATABASE=DAQCard-6601 + + pci:v00001093d00002890* + ID_MODEL_FROM_DATABASE=PCI-6036E + ++pci:v00001093d000028A0* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ ++pci:v00001093d000028B0* ++ ID_MODEL_FROM_DATABASE=PCI-6013 ++ + pci:v00001093d000028C0* + ID_MODEL_FROM_DATABASE=PCI-6014 + +@@ -17558,6 +17636,12 @@ pci:v00001093d000028D0* + pci:v00001093d000028E0* + ID_MODEL_FROM_DATABASE=PXI-5122 + ++pci:v00001093d000029F0* ++ ID_MODEL_FROM_DATABASE=PXI-7334 ++ ++pci:v00001093d00002A00* ++ ID_MODEL_FROM_DATABASE=PXI-7344 ++ + pci:v00001093d00002A60* + ID_MODEL_FROM_DATABASE=PCI-6023E + +@@ -17568,7 +17652,13 @@ pci:v00001093d00002A80* + ID_MODEL_FROM_DATABASE=PCI-6025E + + pci:v00001093d00002AB0* +- ID_MODEL_FROM_DATABASE=PXI-6025e ++ ID_MODEL_FROM_DATABASE=PXI-6025E ++ ++pci:v00001093d00002B10* ++ ID_MODEL_FROM_DATABASE=PXI-6527 ++ ++pci:v00001093d00002B20* ++ ID_MODEL_FROM_DATABASE=PCI-6527 + + pci:v00001093d00002B80* + ID_MODEL_FROM_DATABASE=PXI-6713 +@@ -17585,15 +17675,75 @@ pci:v00001093d00002C70* + pci:v00001093d00002C80* + ID_MODEL_FROM_DATABASE=PCI-6035E + ++pci:v00001093d00002C90* ++ ID_MODEL_FROM_DATABASE=PCI-6703 ++ + pci:v00001093d00002CA0* + ID_MODEL_FROM_DATABASE=PCI-6034E + ++pci:v00001093d00002CB0* ++ ID_MODEL_FROM_DATABASE=PCI-7344 ++ + pci:v00001093d00002CC0* + ID_MODEL_FROM_DATABASE=PXI-6608 + ++pci:v00001093d00002D20* ++ ID_MODEL_FROM_DATABASE=PXI-5600 ++ + pci:v00001093d00002DB0* + ID_MODEL_FROM_DATABASE=PCI-6608 + ++pci:v00001093d00002DC0* ++ ID_MODEL_FROM_DATABASE=PCI-4070 ++ ++pci:v00001093d00002DD0* ++ ID_MODEL_FROM_DATABASE=PXI-4070 ++ ++pci:v00001093d00002EB0* ++ ID_MODEL_FROM_DATABASE=PXI-4472 ++ ++pci:v00001093d00002EC0* ++ ID_MODEL_FROM_DATABASE=PXI-6115 ++ ++pci:v00001093d00002ED0* ++ ID_MODEL_FROM_DATABASE=PCI-6115 ++ ++pci:v00001093d00002EE0* ++ ID_MODEL_FROM_DATABASE=PXI-6120 ++ ++pci:v00001093d00002EF0* ++ ID_MODEL_FROM_DATABASE=PCI-6120 ++ ++pci:v00001093d00002FD1* ++ ID_MODEL_FROM_DATABASE=PCI-7334 ++ ++pci:v00001093d00002FD2* ++ ID_MODEL_FROM_DATABASE=PCI-7350 ++ ++pci:v00001093d00002FD3* ++ ID_MODEL_FROM_DATABASE=PCI-7342 ++ ++pci:v00001093d00002FD5* ++ ID_MODEL_FROM_DATABASE=PXI-7350 ++ ++pci:v00001093d00002FD6* ++ ID_MODEL_FROM_DATABASE=PXI-7342 ++ ++pci:v00001093d00007003* ++ ID_MODEL_FROM_DATABASE=PCI-6551 ++ ++pci:v00001093d00007004* ++ ID_MODEL_FROM_DATABASE=PXI-6551 ++ ++pci:v00001093d0000700B* ++ ID_MODEL_FROM_DATABASE=PXI-5421 ++ ++pci:v00001093d0000700C* ++ ID_MODEL_FROM_DATABASE=PCI-5421 ++ ++pci:v00001093d00007023* ++ ID_MODEL_FROM_DATABASE=PXI-2593 ++ + pci:v00001093d0000702C* + ID_MODEL_FROM_DATABASE=PXI-7831R + +@@ -17606,23 +17756,152 @@ pci:v00001093d0000702E* + pci:v00001093d0000702F* + ID_MODEL_FROM_DATABASE=PCI-7811R + ++pci:v00001093d00007030* ++ ID_MODEL_FROM_DATABASE=PCI-CAN (Series 2) ++ ++pci:v00001093d00007031* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/2 (Series 2) ++ ++pci:v00001093d00007032* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS (Series 2) ++ ++pci:v00001093d00007033* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 (Series 2) ++ ++pci:v00001093d00007034* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/DS (Series 2) ++ ++pci:v00001093d00007035* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 1 port) ++ ++pci:v00001093d00007036* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 2 ports) ++ ++pci:v00001093d00007037* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 1 port) ++ ++pci:v00001093d00007038* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 2 ports) ++ ++pci:v00001093d00007039* ++ ID_MODEL_FROM_DATABASE=PXI-8462 (Series 2) ++ ++pci:v00001093d0000703F* ++ ID_MODEL_FROM_DATABASE=PXI-2566 ++ ++pci:v00001093d00007040* ++ ID_MODEL_FROM_DATABASE=PXI-2567 ++ ++pci:v00001093d00007044* ++ ID_MODEL_FROM_DATABASE=MXI-4 Connection Monitor ++ ++pci:v00001093d00007047* ++ ID_MODEL_FROM_DATABASE=PXI-6653 ++ ++pci:v00001093d0000704C* ++ ID_MODEL_FROM_DATABASE=PXI-2530 ++ ++pci:v00001093d0000704F* ++ ID_MODEL_FROM_DATABASE=PXI-4220 ++ ++pci:v00001093d00007050* ++ ID_MODEL_FROM_DATABASE=PXI-4204 ++ + pci:v00001093d00007055* + ID_MODEL_FROM_DATABASE=PXI-7830R + + pci:v00001093d00007056* + ID_MODEL_FROM_DATABASE=PCI-7830R + ++pci:v00001093d0000705A* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/XS (Series 2) ++ ++pci:v00001093d0000705B* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/XS2 (Series 2) ++ ++pci:v00001093d0000705C* ++ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 1 port) ++ ++pci:v00001093d0000705D* ++ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 2 ports) ++ ++pci:v00001093d0000705E* ++ ID_MODEL_FROM_DATABASE=cRIO-9102 ++ ++pci:v00001093d00007060* ++ ID_MODEL_FROM_DATABASE=PXI-5610 ++ ++pci:v00001093d00007064* ++ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module ++ ++pci:v00001093d00007065* ++ ID_MODEL_FROM_DATABASE=PXI-6652 ++ ++pci:v00001093d00007066* ++ ID_MODEL_FROM_DATABASE=PXI-6651 ++ ++pci:v00001093d00007067* ++ ID_MODEL_FROM_DATABASE=PXI-2529 ++ ++pci:v00001093d00007068* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/SW (Series 2) ++ ++pci:v00001093d00007069* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/SW2 (Series 2) ++ ++pci:v00001093d0000706A* ++ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 1 port) ++ ++pci:v00001093d0000706B* ++ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 2 ports) ++ ++pci:v00001093d00007073* ++ ID_MODEL_FROM_DATABASE=PCI-6723 ++ + pci:v00001093d00007074* + ID_MODEL_FROM_DATABASE=PXI-7833R + ++pci:v00001093d00007075* ++ ID_MODEL_FROM_DATABASE=PXI-6552 ++ ++pci:v00001093d00007076* ++ ID_MODEL_FROM_DATABASE=PCI-6552 ++ ++pci:v00001093d0000707C* ++ ID_MODEL_FROM_DATABASE=PXI-1428 ++ ++pci:v00001093d0000707E* ++ ID_MODEL_FROM_DATABASE=PXI-4462 ++ ++pci:v00001093d00007080* ++ ID_MODEL_FROM_DATABASE=PXI-8430/2 (RS-232) Interface ++ ++pci:v00001093d00007081* ++ ID_MODEL_FROM_DATABASE=PXI-8431/2 (RS-485) Interface ++ + pci:v00001093d00007083* + ID_MODEL_FROM_DATABASE=PCI-7833R + + pci:v00001093d00007085* + ID_MODEL_FROM_DATABASE=PCI-6509 + ++pci:v00001093d00007086* ++ ID_MODEL_FROM_DATABASE=PXI-6528 ++ ++pci:v00001093d00007087* ++ ID_MODEL_FROM_DATABASE=PCI-6515 ++ ++pci:v00001093d00007088* ++ ID_MODEL_FROM_DATABASE=PCI-6514 ++ ++pci:v00001093d0000708C* ++ ID_MODEL_FROM_DATABASE=PXI-2568 ++ ++pci:v00001093d0000708D* ++ ID_MODEL_FROM_DATABASE=PXI-2569 ++ + pci:v00001093d000070A9* +- ID_MODEL_FROM_DATABASE=PCI-6528 (Digital I/O at 60V) ++ ID_MODEL_FROM_DATABASE=PCI-6528 + + pci:v00001093d000070AA* + ID_MODEL_FROM_DATABASE=PCI-6229 +@@ -17633,6 +17912,9 @@ pci:v00001093d000070AB* + pci:v00001093d000070AC* + ID_MODEL_FROM_DATABASE=PCI-6289 + ++pci:v00001093d000070AD* ++ ID_MODEL_FROM_DATABASE=PXI-6251 ++ + pci:v00001093d000070AE* + ID_MODEL_FROM_DATABASE=PXI-6220 + +@@ -17642,9 +17924,21 @@ pci:v00001093d000070AF* + pci:v00001093d000070B0* + ID_MODEL_FROM_DATABASE=PCI-6220 + ++pci:v00001093d000070B1* ++ ID_MODEL_FROM_DATABASE=PXI-6229 ++ ++pci:v00001093d000070B2* ++ ID_MODEL_FROM_DATABASE=PXI-6259 ++ ++pci:v00001093d000070B3* ++ ID_MODEL_FROM_DATABASE=PXI-6289 ++ + pci:v00001093d000070B4* + ID_MODEL_FROM_DATABASE=PCI-6250 + ++pci:v00001093d000070B5* ++ ID_MODEL_FROM_DATABASE=PXI-6221 ++ + pci:v00001093d000070B6* + ID_MODEL_FROM_DATABASE=PCI-6280 + +@@ -17652,7 +17946,16 @@ pci:v00001093d000070B7* + ID_MODEL_FROM_DATABASE=PCI-6254 + + pci:v00001093d000070B8* +- ID_MODEL_FROM_DATABASE=PCI-6251 [M Series - High Speed Multifunction DAQ] ++ ID_MODEL_FROM_DATABASE=PCI-6251 ++ ++pci:v00001093d000070B9* ++ ID_MODEL_FROM_DATABASE=PXI-6250 ++ ++pci:v00001093d000070BA* ++ ID_MODEL_FROM_DATABASE=PXI-6254 ++ ++pci:v00001093d000070BB* ++ ID_MODEL_FROM_DATABASE=PXI-6280 + + pci:v00001093d000070BC* + ID_MODEL_FROM_DATABASE=PCI-6284 +@@ -17660,12 +17963,144 @@ pci:v00001093d000070BC* + pci:v00001093d000070BD* + ID_MODEL_FROM_DATABASE=PCI-6281 + ++pci:v00001093d000070BE* ++ ID_MODEL_FROM_DATABASE=PXI-6284 ++ + pci:v00001093d000070BF* + ID_MODEL_FROM_DATABASE=PXI-6281 + + pci:v00001093d000070C0* + ID_MODEL_FROM_DATABASE=PCI-6143 + ++pci:v00001093d000070C3* ++ ID_MODEL_FROM_DATABASE=PCI-6511 ++ ++pci:v00001093d000070C4* ++ ID_MODEL_FROM_DATABASE=PXI-7330 ++ ++pci:v00001093d000070C5* ++ ID_MODEL_FROM_DATABASE=PXI-7340 ++ ++pci:v00001093d000070C6* ++ ID_MODEL_FROM_DATABASE=PCI-7330 ++ ++pci:v00001093d000070C7* ++ ID_MODEL_FROM_DATABASE=PCI-7340 ++ ++pci:v00001093d000070C8* ++ ID_MODEL_FROM_DATABASE=PCI-6513 ++ ++pci:v00001093d000070C9* ++ ID_MODEL_FROM_DATABASE=PXI-6515 ++ ++pci:v00001093d000070CA* ++ ID_MODEL_FROM_DATABASE=PCI-1405 ++ ++pci:v00001093d000070CC* ++ ID_MODEL_FROM_DATABASE=PCI-6512 ++ ++pci:v00001093d000070CD* ++ ID_MODEL_FROM_DATABASE=PXI-6514 ++ ++pci:v00001093d000070CE* ++ ID_MODEL_FROM_DATABASE=PXI-1405 ++ ++pci:v00001093d000070CF* ++ ID_MODEL_FROM_DATABASE=PCIe-GPIB ++ ++pci:v00001093d000070D0* ++ ID_MODEL_FROM_DATABASE=PXI-2570 ++ ++pci:v00001093d000070D1* ++ ID_MODEL_FROM_DATABASE=PXI-6513 ++ ++pci:v00001093d000070D2* ++ ID_MODEL_FROM_DATABASE=PXI-6512 ++ ++pci:v00001093d000070D3* ++ ID_MODEL_FROM_DATABASE=PXI-6511 ++ ++pci:v00001093d000070D4* ++ ID_MODEL_FROM_DATABASE=PCI-6722 ++ ++pci:v00001093d000070D6* ++ ID_MODEL_FROM_DATABASE=PXI-4072 ++ ++pci:v00001093d000070D7* ++ ID_MODEL_FROM_DATABASE=PXI-6541 ++ ++pci:v00001093d000070D8* ++ ID_MODEL_FROM_DATABASE=PXI-6542 ++ ++pci:v00001093d000070D9* ++ ID_MODEL_FROM_DATABASE=PCI-6541 ++ ++pci:v00001093d000070DA* ++ ID_MODEL_FROM_DATABASE=PCI-6542 ++ ++pci:v00001093d000070DB* ++ ID_MODEL_FROM_DATABASE=PCI-8430/2 (RS-232) Interface ++ ++pci:v00001093d000070DC* ++ ID_MODEL_FROM_DATABASE=PCI-8431/2 (RS-485) Interface ++ ++pci:v00001093d000070DD* ++ ID_MODEL_FROM_DATABASE=PXI-8430/4 (RS-232) Interface ++ ++pci:v00001093d000070DE* ++ ID_MODEL_FROM_DATABASE=PXI-8431/4 (RS-485) Interface ++ ++pci:v00001093d000070DF* ++ ID_MODEL_FROM_DATABASE=PCI-8430/4 (RS-232) Interface ++ ++pci:v00001093d000070E0* ++ ID_MODEL_FROM_DATABASE=PCI-8431/4 (RS-485) Interface ++ ++pci:v00001093d000070E1* ++ ID_MODEL_FROM_DATABASE=PXI-2532 ++ ++pci:v00001093d000070E2* ++ ID_MODEL_FROM_DATABASE=PXI-8430/8 (RS-232) Interface ++ ++pci:v00001093d000070E3* ++ ID_MODEL_FROM_DATABASE=PXI-8431/8 (RS-485) Interface ++ ++pci:v00001093d000070E4* ++ ID_MODEL_FROM_DATABASE=PCI-8430/8 (RS-232) Interface ++ ++pci:v00001093d000070E5* ++ ID_MODEL_FROM_DATABASE=PCI-8431/8 (RS-485) Interface ++ ++pci:v00001093d000070E6* ++ ID_MODEL_FROM_DATABASE=PXI-8430/16 (RS-232) Interface ++ ++pci:v00001093d000070E7* ++ ID_MODEL_FROM_DATABASE=PCI-8430/16 (RS-232) Interface ++ ++pci:v00001093d000070E8* ++ ID_MODEL_FROM_DATABASE=PXI-8432/2 (Isolated RS-232) Interface ++ ++pci:v00001093d000070E9* ++ ID_MODEL_FROM_DATABASE=PXI-8433/2 (Isolated RS-485) Interface ++ ++pci:v00001093d000070EA* ++ ID_MODEL_FROM_DATABASE=PCI-8432/2 (Isolated RS-232) Interface ++ ++pci:v00001093d000070EB* ++ ID_MODEL_FROM_DATABASE=PCI-8433/2 (Isolated RS-485) Interface ++ ++pci:v00001093d000070EC* ++ ID_MODEL_FROM_DATABASE=PXI-8432/4 (Isolated RS-232) Interface ++ ++pci:v00001093d000070ED* ++ ID_MODEL_FROM_DATABASE=PXI-8433/4 (Isolated RS-485) Interface ++ ++pci:v00001093d000070EE* ++ ID_MODEL_FROM_DATABASE=PCI-8432/4 (Isolated RS-232) Interface ++ ++pci:v00001093d000070EF* ++ ID_MODEL_FROM_DATABASE=PCI-8433/4 (Isolated RS-485) Interface ++ + pci:v00001093d000070F0* + ID_MODEL_FROM_DATABASE=PXI-5922 + +@@ -17675,57 +18110,363 @@ pci:v00001093d000070F1* + pci:v00001093d000070F2* + ID_MODEL_FROM_DATABASE=PCI-6224 + ++pci:v00001093d000070F3* ++ ID_MODEL_FROM_DATABASE=PXI-6224 ++ ++pci:v00001093d000070F6* ++ ID_MODEL_FROM_DATABASE=cRIO-9101 ++ ++pci:v00001093d000070F7* ++ ID_MODEL_FROM_DATABASE=cRIO-9103 ++ ++pci:v00001093d000070F8* ++ ID_MODEL_FROM_DATABASE=cRIO-9104 ++ ++pci:v00001093d000070FF* ++ ID_MODEL_FROM_DATABASE=PXI-6723 ++ ++pci:v00001093d00007100* ++ ID_MODEL_FROM_DATABASE=PXI-6722 ++ ++pci:v00001093d00007104* ++ ID_MODEL_FROM_DATABASE=PCIx-1429 ++ ++pci:v00001093d00007105* ++ ID_MODEL_FROM_DATABASE=PCIe-1429 ++ ++pci:v00001093d0000710A* ++ ID_MODEL_FROM_DATABASE=PXI-4071 ++ ++pci:v00001093d0000710D* ++ ID_MODEL_FROM_DATABASE=PXI-6143 ++ ++pci:v00001093d0000710E* ++ ID_MODEL_FROM_DATABASE=PCIe-GPIB ++ ++pci:v00001093d0000710F* ++ ID_MODEL_FROM_DATABASE=PXI-5422 ++ ++pci:v00001093d00007110* ++ ID_MODEL_FROM_DATABASE=PCI-5422 ++ ++pci:v00001093d00007111* ++ ID_MODEL_FROM_DATABASE=PXI-5441 ++ ++pci:v00001093d00007119* ++ ID_MODEL_FROM_DATABASE=PXI-6561 ++ ++pci:v00001093d0000711A* ++ ID_MODEL_FROM_DATABASE=PXI-6562 ++ ++pci:v00001093d0000711B* ++ ID_MODEL_FROM_DATABASE=PCI-6561 ++ ++pci:v00001093d0000711C* ++ ID_MODEL_FROM_DATABASE=PCI-6562 ++ ++pci:v00001093d00007120* ++ ID_MODEL_FROM_DATABASE=PCI-7390 ++ + pci:v00001093d00007121* + ID_MODEL_FROM_DATABASE=PXI-5122EX + + pci:v00001093d00007122* + ID_MODEL_FROM_DATABASE=PCI-5122EX + ++pci:v00001093d00007123* ++ ID_MODEL_FROM_DATABASE=PXIe-5653 ++ ++pci:v00001093d00007124* ++ ID_MODEL_FROM_DATABASE=PCI-6510 ++ ++pci:v00001093d00007125* ++ ID_MODEL_FROM_DATABASE=PCI-6516 ++ ++pci:v00001093d00007126* ++ ID_MODEL_FROM_DATABASE=PCI-6517 ++ ++pci:v00001093d00007127* ++ ID_MODEL_FROM_DATABASE=PCI-6518 ++ ++pci:v00001093d00007128* ++ ID_MODEL_FROM_DATABASE=PCI-6519 ++ ++pci:v00001093d00007137* ++ ID_MODEL_FROM_DATABASE=PXI-2575 ++ ++pci:v00001093d0000713C* ++ ID_MODEL_FROM_DATABASE=PXI-2585 ++ ++pci:v00001093d0000713D* ++ ID_MODEL_FROM_DATABASE=PXI-2586 ++ ++pci:v00001093d00007142* ++ ID_MODEL_FROM_DATABASE=PXI-4224 ++ + pci:v00001093d00007144* +- ID_MODEL_FROM_DATABASE=PXI-5124 (12-bit 200 MS/s Digitizer) ++ ID_MODEL_FROM_DATABASE=PXI-5124 + + pci:v00001093d00007145* + ID_MODEL_FROM_DATABASE=PCI-5124 + ++pci:v00001093d00007146* ++ ID_MODEL_FROM_DATABASE=PCI-6132 ++ ++pci:v00001093d00007147* ++ ID_MODEL_FROM_DATABASE=PXI-6132 ++ ++pci:v00001093d00007148* ++ ID_MODEL_FROM_DATABASE=PCI-6122 ++ ++pci:v00001093d00007149* ++ ID_MODEL_FROM_DATABASE=PXI-6122 ++ + pci:v00001093d0000714C* + ID_MODEL_FROM_DATABASE=PXI-5114 + + pci:v00001093d0000714D* + ID_MODEL_FROM_DATABASE=PCI-5114 + ++pci:v00001093d00007150* ++ ID_MODEL_FROM_DATABASE=PXI-2564 ++ + pci:v00001093d00007152* + ID_MODEL_FROM_DATABASE=PCI-5640R + ++pci:v00001093d00007156* ++ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module ++ ++pci:v00001093d0000715D* ++ ID_MODEL_FROM_DATABASE=PCI-1426 ++ ++pci:v00001093d00007167* ++ ID_MODEL_FROM_DATABASE=PXI-5412 ++ ++pci:v00001093d00007168* ++ ID_MODEL_FROM_DATABASE=PCI-5412 ++ ++pci:v00001093d0000716B* ++ ID_MODEL_FROM_DATABASE=PCI-6230 ++ + pci:v00001093d0000716C* + ID_MODEL_FROM_DATABASE=PCI-6225 + ++pci:v00001093d0000716D* ++ ID_MODEL_FROM_DATABASE=PXI-6225 ++ ++pci:v00001093d0000716F* ++ ID_MODEL_FROM_DATABASE=PCI-4461 ++ ++pci:v00001093d00007170* ++ ID_MODEL_FROM_DATABASE=PCI-4462 ++ ++pci:v00001093d00007171* ++ ID_MODEL_FROM_DATABASE=PCI-6010 ++ ++pci:v00001093d00007174* ++ ID_MODEL_FROM_DATABASE=PXI-8360 ++ ++pci:v00001093d00007177* ++ ID_MODEL_FROM_DATABASE=PXI-6230 ++ + pci:v00001093d0000717D* +- ID_MODEL_FROM_DATABASE=PCIE-6251 ++ ID_MODEL_FROM_DATABASE=PCIe-6251 + + pci:v00001093d0000717F* + ID_MODEL_FROM_DATABASE=PCIe-6259 + ++pci:v00001093d00007187* ++ ID_MODEL_FROM_DATABASE=PCI-1410 ++ ++pci:v00001093d0000718B* ++ ID_MODEL_FROM_DATABASE=PCI-6521 ++ ++pci:v00001093d0000718C* ++ ID_MODEL_FROM_DATABASE=PXI-6521 ++ ++pci:v00001093d00007191* ++ ID_MODEL_FROM_DATABASE=PCI-6154 ++ + pci:v00001093d00007193* + ID_MODEL_FROM_DATABASE=PXI-7813R + + pci:v00001093d00007194* + ID_MODEL_FROM_DATABASE=PCI-7813R + ++pci:v00001093d00007195* ++ ID_MODEL_FROM_DATABASE=PCI-8254R ++ ++pci:v00001093d00007197* ++ ID_MODEL_FROM_DATABASE=PXI-5402 ++ ++pci:v00001093d00007198* ++ ID_MODEL_FROM_DATABASE=PCI-5402 ++ ++pci:v00001093d0000719F* ++ ID_MODEL_FROM_DATABASE=PCIe-6535 ++ ++pci:v00001093d000071A0* ++ ID_MODEL_FROM_DATABASE=PCIe-6536 ++ ++pci:v00001093d000071A3* ++ ID_MODEL_FROM_DATABASE=PXI-5650 ++ ++pci:v00001093d000071A4* ++ ID_MODEL_FROM_DATABASE=PXI-5652 ++ ++pci:v00001093d000071A5* ++ ID_MODEL_FROM_DATABASE=PXI-2594 ++ ++pci:v00001093d000071A7* ++ ID_MODEL_FROM_DATABASE=PXI-2595 ++ ++pci:v00001093d000071A9* ++ ID_MODEL_FROM_DATABASE=PXI-2596 ++ ++pci:v00001093d000071AA* ++ ID_MODEL_FROM_DATABASE=PXI-2597 ++ ++pci:v00001093d000071AB* ++ ID_MODEL_FROM_DATABASE=PXI-2598 ++ ++pci:v00001093d000071AC* ++ ID_MODEL_FROM_DATABASE=PXI-2599 ++ ++pci:v00001093d000071AD* ++ ID_MODEL_FROM_DATABASE=PCI-GPIB+ ++ ++pci:v00001093d000071AE* ++ ID_MODEL_FROM_DATABASE=PCIe-1430 ++ ++pci:v00001093d000071B7* ++ ID_MODEL_FROM_DATABASE=PXI-1056 Trigger Routing Module ++ ++pci:v00001093d000071B8* ++ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module ++ ++pci:v00001093d000071B9* ++ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module ++ ++pci:v00001093d000071BB* ++ ID_MODEL_FROM_DATABASE=PXI-2584 ++ + pci:v00001093d000071BC* +- ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) ++ ID_MODEL_FROM_DATABASE=PCI-6221 (37-pin) + +-pci:v00001093d000071D0* +- ID_MODEL_FROM_DATABASE=PXI-6143 ++pci:v00001093d000071BF* ++ ID_MODEL_FROM_DATABASE=PCIe-1427 ++ ++pci:v00001093d000071C5* ++ ID_MODEL_FROM_DATABASE=PCI-6520 ++ ++pci:v00001093d000071C6* ++ ID_MODEL_FROM_DATABASE=PXI-2576 ++ ++pci:v00001093d000071C7* ++ ID_MODEL_FROM_DATABASE=cRIO-9072 + + pci:v00001093d000071DC* + ID_MODEL_FROM_DATABASE=PCI-1588 + ++pci:v00001093d000071E0* ++ ID_MODEL_FROM_DATABASE=PCI-6255 ++ ++pci:v00001093d000071E1* ++ ID_MODEL_FROM_DATABASE=PXI-6255 ++ ++pci:v00001093d000071E2* ++ ID_MODEL_FROM_DATABASE=PXI-5406 ++ ++pci:v00001093d000071E3* ++ ID_MODEL_FROM_DATABASE=PCI-5406 ++ ++pci:v00001093d000071FC* ++ ID_MODEL_FROM_DATABASE=PXI-4022 ++ ++pci:v00001093d00007209* ++ ID_MODEL_FROM_DATABASE=PCI-6233 ++ ++pci:v00001093d0000720A* ++ ID_MODEL_FROM_DATABASE=PXI-6233 ++ ++pci:v00001093d0000720B* ++ ID_MODEL_FROM_DATABASE=PCI-6238 ++ ++pci:v00001093d0000720C* ++ ID_MODEL_FROM_DATABASE=PXI-6238 ++ + pci:v00001093d00007260* + ID_MODEL_FROM_DATABASE=PXI-5142 + + pci:v00001093d00007261* + ID_MODEL_FROM_DATABASE=PCI-5142 + ++pci:v00001093d0000726D* ++ ID_MODEL_FROM_DATABASE=PXI-5651 ++ ++pci:v00001093d00007273* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ ++pci:v00001093d00007274* ++ ID_MODEL_FROM_DATABASE=PXI-4462 ++ ++pci:v00001093d00007279* ++ ID_MODEL_FROM_DATABASE=PCI-6232 ++ ++pci:v00001093d0000727A* ++ ID_MODEL_FROM_DATABASE=PXI-6232 ++ ++pci:v00001093d0000727B* ++ ID_MODEL_FROM_DATABASE=PCI-6239 ++ ++pci:v00001093d0000727C* ++ ID_MODEL_FROM_DATABASE=PXI-6239 ++ ++pci:v00001093d0000727E* ++ ID_MODEL_FROM_DATABASE=SMBus Controller ++ ++pci:v00001093d0000727Esv00001093sd000075AC* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8388) ++ ++pci:v00001093d0000727Esv00001093sd000075AD* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8389) ++ ++pci:v00001093d0000727Esv00001093sd00007650* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8381) ++ ++pci:v00001093d0000727Esv00001093sd00008360* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8360) ++ ++pci:v00001093d0000727Esv00001093sd00008370* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8370) ++ ++pci:v00001093d0000727Esv00001093sd00008375* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8375) ++ ++pci:v00001093d00007281* ++ ID_MODEL_FROM_DATABASE=PCI-6236 ++ ++pci:v00001093d00007282* ++ ID_MODEL_FROM_DATABASE=PXI-6236 ++ ++pci:v00001093d00007283* ++ ID_MODEL_FROM_DATABASE=PXI-2554 ++ ++pci:v00001093d00007288* ++ ID_MODEL_FROM_DATABASE=PXIe-5611 ++ ++pci:v00001093d00007293* ++ ID_MODEL_FROM_DATABASE=PCIe-8255R ++ ++pci:v00001093d0000729D* ++ ID_MODEL_FROM_DATABASE=cRIO-9074 ++ ++pci:v00001093d000072A4* ++ ID_MODEL_FROM_DATABASE=PCIe-4065 ++ ++pci:v00001093d000072A7* ++ ID_MODEL_FROM_DATABASE=PCIe-6537 ++ + pci:v00001093d000072A8* + ID_MODEL_FROM_DATABASE=PXI-5152 + +@@ -17741,21 +18482,117 @@ pci:v00001093d000072AB* + pci:v00001093d000072B8* + ID_MODEL_FROM_DATABASE=PXI-6682 + ++pci:v00001093d000072D0* ++ ID_MODEL_FROM_DATABASE=PXI-2545 ++ ++pci:v00001093d000072D1* ++ ID_MODEL_FROM_DATABASE=PXI-2546 ++ ++pci:v00001093d000072D2* ++ ID_MODEL_FROM_DATABASE=PXI-2547 ++ ++pci:v00001093d000072D3* ++ ID_MODEL_FROM_DATABASE=PXI-2548 ++ ++pci:v00001093d000072D4* ++ ID_MODEL_FROM_DATABASE=PXI-2549 ++ ++pci:v00001093d000072D5* ++ ID_MODEL_FROM_DATABASE=PXI-2555 ++ ++pci:v00001093d000072D6* ++ ID_MODEL_FROM_DATABASE=PXI-2556 ++ ++pci:v00001093d000072D7* ++ ID_MODEL_FROM_DATABASE=PXI-2557 ++ ++pci:v00001093d000072D8* ++ ID_MODEL_FROM_DATABASE=PXI-2558 ++ ++pci:v00001093d000072D9* ++ ID_MODEL_FROM_DATABASE=PXI-2559 ++ ++pci:v00001093d000072E8* ++ ID_MODEL_FROM_DATABASE=PXIe-6251 ++ ++pci:v00001093d000072E9* ++ ID_MODEL_FROM_DATABASE=PXIe-6259 ++ ++pci:v00001093d000072EF* ++ ID_MODEL_FROM_DATABASE=PXI-4498 ++ ++pci:v00001093d000072F0* ++ ID_MODEL_FROM_DATABASE=PXI-4496 ++ ++pci:v00001093d000072FB* ++ ID_MODEL_FROM_DATABASE=PXIe-6672 ++ ++pci:v00001093d0000730E* ++ ID_MODEL_FROM_DATABASE=PXI-4130 ++ + pci:v00001093d0000730F* + ID_MODEL_FROM_DATABASE=PXI-5922EX + + pci:v00001093d00007310* + ID_MODEL_FROM_DATABASE=PCI-5922EX + ++pci:v00001093d0000731C* ++ ID_MODEL_FROM_DATABASE=PXI-2535 ++ ++pci:v00001093d0000731D* ++ ID_MODEL_FROM_DATABASE=PXI-2536 ++ ++pci:v00001093d00007322* ++ ID_MODEL_FROM_DATABASE=PXIe-6124 ++ ++pci:v00001093d00007327* ++ ID_MODEL_FROM_DATABASE=PXI-6529 ++ ++pci:v00001093d00007331* ++ ID_MODEL_FROM_DATABASE=PXIe-5602 ++ ++pci:v00001093d00007332* ++ ID_MODEL_FROM_DATABASE=PXIe-5601 ++ + pci:v00001093d00007333* + ID_MODEL_FROM_DATABASE=PXI-5900 + ++pci:v00001093d00007335* ++ ID_MODEL_FROM_DATABASE=PXI-2533 ++ ++pci:v00001093d00007336* ++ ID_MODEL_FROM_DATABASE=PXI-2534 ++ ++pci:v00001093d00007342* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ + pci:v00001093d00007349* + ID_MODEL_FROM_DATABASE=PXI-5154 + + pci:v00001093d0000734A* + ID_MODEL_FROM_DATABASE=PCI-5154 + ++pci:v00001093d00007357* ++ ID_MODEL_FROM_DATABASE=PXI-4065 ++ ++pci:v00001093d00007359* ++ ID_MODEL_FROM_DATABASE=PXI-4495 ++ ++pci:v00001093d00007370* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ ++pci:v00001093d00007373* ++ ID_MODEL_FROM_DATABASE=sbRIO-9601 ++ ++pci:v00001093d00007374* ++ ID_MODEL_FROM_DATABASE=IOtech-9601 ++ ++pci:v00001093d00007375* ++ ID_MODEL_FROM_DATABASE=sbRIO-9602 ++ ++pci:v00001093d00007378* ++ ID_MODEL_FROM_DATABASE=sbRIO-9641 ++ + pci:v00001093d0000737D* + ID_MODEL_FROM_DATABASE=PXI-5124EX + +@@ -17786,9 +18623,126 @@ pci:v00001093d00007393* + pci:v00001093d00007394* + ID_MODEL_FROM_DATABASE=PCIe-7842R + ++pci:v00001093d00007397* ++ ID_MODEL_FROM_DATABASE=sbRIO-9611 ++ ++pci:v00001093d00007398* ++ ID_MODEL_FROM_DATABASE=sbRIO-9612 ++ ++pci:v00001093d00007399* ++ ID_MODEL_FROM_DATABASE=sbRIO-9631 ++ ++pci:v00001093d0000739A* ++ ID_MODEL_FROM_DATABASE=sbRIO-9632 ++ ++pci:v00001093d0000739B* ++ ID_MODEL_FROM_DATABASE=sbRIO-9642 ++ ++pci:v00001093d000073A1* ++ ID_MODEL_FROM_DATABASE=PXIe-4498 ++ ++pci:v00001093d000073A2* ++ ID_MODEL_FROM_DATABASE=PXIe-4496 ++ + pci:v00001093d000073A5* + ID_MODEL_FROM_DATABASE=PXIe-5641R + ++pci:v00001093d000073A7* ++ ID_MODEL_FROM_DATABASE=PXI-8250 Chassis Monitor Module ++ ++pci:v00001093d000073A8* ++ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS ++ ++pci:v00001093d000073A9* ++ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS ++ ++pci:v00001093d000073AA* ++ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS ++ ++pci:v00001093d000073AB* ++ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS ++ ++pci:v00001093d000073AC* ++ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS ++ ++pci:v00001093d000073AD* ++ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS ++ ++pci:v00001093d000073AF* ++ ID_MODEL_FROM_DATABASE=PXI-8516 LIN ++ ++pci:v00001093d000073B1* ++ ID_MODEL_FROM_DATABASE=PXI-8517 FlexRay ++ ++pci:v00001093d000073B2* ++ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen ++ ++pci:v00001093d000073B3* ++ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen ++ ++pci:v00001093d000073B4* ++ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet ++ ++pci:v00001093d000073B5* ++ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet ++ ++pci:v00001093d000073B6* ++ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS ++ ++pci:v00001093d000073B7* ++ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS ++ ++pci:v00001093d000073B8* ++ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS ++ ++pci:v00001093d000073B9* ++ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS ++ ++pci:v00001093d000073BA* ++ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS ++ ++pci:v00001093d000073BB* ++ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS ++ ++pci:v00001093d000073BD* ++ ID_MODEL_FROM_DATABASE=PCI-8516 LIN ++ ++pci:v00001093d000073BF* ++ ID_MODEL_FROM_DATABASE=PCI-8517 FlexRay ++ ++pci:v00001093d000073C0* ++ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen ++ ++pci:v00001093d000073C1* ++ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen ++ ++pci:v00001093d000073C2* ++ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet ++ ++pci:v00001093d000073C3* ++ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet ++ ++pci:v00001093d000073C5* ++ ID_MODEL_FROM_DATABASE=PXIe-2527 ++ ++pci:v00001093d000073C6* ++ ID_MODEL_FROM_DATABASE=PXIe-2529 ++ ++pci:v00001093d000073C8* ++ ID_MODEL_FROM_DATABASE=PXIe-2530 ++ ++pci:v00001093d000073C9* ++ ID_MODEL_FROM_DATABASE=PXIe-2532 ++ ++pci:v00001093d000073CA* ++ ID_MODEL_FROM_DATABASE=PXIe-2569 ++ ++pci:v00001093d000073CB* ++ ID_MODEL_FROM_DATABASE=PXIe-2575 ++ ++pci:v00001093d000073CC* ++ ID_MODEL_FROM_DATABASE=PXIe-2593 ++ + pci:v00001093d000073D5* + ID_MODEL_FROM_DATABASE=PXI-7951R + +@@ -17804,15 +18758,87 @@ pci:v00001093d000073E1* + pci:v00001093d000073EC* + ID_MODEL_FROM_DATABASE=PXI-7954R + ++pci:v00001093d000073ED* ++ ID_MODEL_FROM_DATABASE=cRIO-9073 ++ + pci:v00001093d000073F0* + ID_MODEL_FROM_DATABASE=PXI-5153 + + pci:v00001093d000073F1* + ID_MODEL_FROM_DATABASE=PCI-5153 + ++pci:v00001093d000073F4* ++ ID_MODEL_FROM_DATABASE=PXI-2515 ++ ++pci:v00001093d000073F6* ++ ID_MODEL_FROM_DATABASE=cRIO-9111 ++ ++pci:v00001093d000073F7* ++ ID_MODEL_FROM_DATABASE=cRIO-9112 ++ ++pci:v00001093d000073F8* ++ ID_MODEL_FROM_DATABASE=cRIO-9113 ++ ++pci:v00001093d000073F9* ++ ID_MODEL_FROM_DATABASE=cRIO-9114 ++ ++pci:v00001093d000073FA* ++ ID_MODEL_FROM_DATABASE=cRIO-9116 ++ ++pci:v00001093d000073FB* ++ ID_MODEL_FROM_DATABASE=cRIO-9118 ++ ++pci:v00001093d00007404* ++ ID_MODEL_FROM_DATABASE=PXI-4132 ++ + pci:v00001093d00007405* + ID_MODEL_FROM_DATABASE=PXIe-6674T + ++pci:v00001093d00007406* ++ ID_MODEL_FROM_DATABASE=PXIe-6674 ++ ++pci:v00001093d0000740E* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/16 (RS-232) Interface ++ ++pci:v00001093d0000740F* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/8 (RS-232) Interface ++ ++pci:v00001093d00007410* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/16 (RS-485) Interface ++ ++pci:v00001093d00007411* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/8 (RS-485) Interface ++ ++pci:v00001093d00007414* ++ ID_MODEL_FROM_DATABASE=PCIe-GPIB+ ++ ++pci:v00001093d0000741C* ++ ID_MODEL_FROM_DATABASE=PXI-5691 ++ ++pci:v00001093d0000741D* ++ ID_MODEL_FROM_DATABASE=PXI-5695 ++ ++pci:v00001093d0000743C* ++ ID_MODEL_FROM_DATABASE=CSC-3059 ++ ++pci:v00001093d00007448* ++ ID_MODEL_FROM_DATABASE=PXI-2510 ++ ++pci:v00001093d00007454* ++ ID_MODEL_FROM_DATABASE=PXI-2512 ++ ++pci:v00001093d00007455* ++ ID_MODEL_FROM_DATABASE=PXI-2514 ++ ++pci:v00001093d00007456* ++ ID_MODEL_FROM_DATABASE=PXIe-2512 ++ ++pci:v00001093d00007457* ++ ID_MODEL_FROM_DATABASE=PXIe-2514 ++ ++pci:v00001093d0000745A* ++ ID_MODEL_FROM_DATABASE=PXI-6682H ++ + pci:v00001093d0000745E* + ID_MODEL_FROM_DATABASE=PXI-5153EX + +@@ -17825,86 +18851,740 @@ pci:v00001093d00007460* + pci:v00001093d00007461* + ID_MODEL_FROM_DATABASE=PCI-5154EX + ++pci:v00001093d0000746D* ++ ID_MODEL_FROM_DATABASE=PXIe-5650 ++ ++pci:v00001093d0000746E* ++ ID_MODEL_FROM_DATABASE=PXIe-5651 ++ ++pci:v00001093d0000746F* ++ ID_MODEL_FROM_DATABASE=PXIe-5652 ++ ++pci:v00001093d00007472* ++ ID_MODEL_FROM_DATABASE=PXI-2800 ++ ++pci:v00001093d00007495* ++ ID_MODEL_FROM_DATABASE=PXIe-5603 ++ ++pci:v00001093d00007497* ++ ID_MODEL_FROM_DATABASE=PXIe-5605 ++ ++pci:v00001093d000074AE* ++ ID_MODEL_FROM_DATABASE=PXIe-2515 ++ ++pci:v00001093d000074B4* ++ ID_MODEL_FROM_DATABASE=PXI-2531 ++ ++pci:v00001093d000074B5* ++ ID_MODEL_FROM_DATABASE=PXIe-2531 ++ ++pci:v00001093d000074C1* ++ ID_MODEL_FROM_DATABASE=PXIe-8430/16 (RS-232) Interface ++ ++pci:v00001093d000074C2* ++ ID_MODEL_FROM_DATABASE=PXIe-8430/8 (RS-232) Interface ++ ++pci:v00001093d000074C3* ++ ID_MODEL_FROM_DATABASE=PXIe-8431/16 (RS-485) Interface ++ ++pci:v00001093d000074C4* ++ ID_MODEL_FROM_DATABASE=PXIe-8431/8 (RS-485) Interface ++ ++pci:v00001093d000074D5* ++ ID_MODEL_FROM_DATABASE=PXIe-5630 ++ ++pci:v00001093d000074D9* ++ ID_MODEL_FROM_DATABASE=PCIe-8432/2 (Isolated RS-232) Interface ++ ++pci:v00001093d000074DA* ++ ID_MODEL_FROM_DATABASE=PCIe-8433/2 (Isolated RS-485) Interface ++ ++pci:v00001093d000074DB* ++ ID_MODEL_FROM_DATABASE=PCIe-8432/4 (Isolated RS-232) Interface ++ ++pci:v00001093d000074DC* ++ ID_MODEL_FROM_DATABASE=PCIe-8433/4 (Isolated RS-485) Interface ++ ++pci:v00001093d000074E8* ++ ID_MODEL_FROM_DATABASE=NI 9148 ++ ++pci:v00001093d00007515* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/2 (RS-232) Interface ++ ++pci:v00001093d00007516* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/4 (RS-232) Interface ++ ++pci:v00001093d00007517* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/2 (RS-485) Interface ++ ++pci:v00001093d00007518* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/4 (RS-485) Interface ++ ++pci:v00001093d0000751B* ++ ID_MODEL_FROM_DATABASE=cRIO-9081 ++ ++pci:v00001093d0000751C* ++ ID_MODEL_FROM_DATABASE=cRIO-9082 ++ ++pci:v00001093d00007528* ++ ID_MODEL_FROM_DATABASE=PXIe-4497 ++ ++pci:v00001093d00007529* ++ ID_MODEL_FROM_DATABASE=PXIe-4499 ++ ++pci:v00001093d0000752A* ++ ID_MODEL_FROM_DATABASE=PXIe-4492 ++ + pci:v00001093d00007539* + ID_MODEL_FROM_DATABASE=NI 9157 + + pci:v00001093d0000753A* + ID_MODEL_FROM_DATABASE=NI 9159 + ++pci:v00001093d00007598* ++ ID_MODEL_FROM_DATABASE=PXI-2571 ++ ++pci:v00001093d000075A4* ++ ID_MODEL_FROM_DATABASE=PXI-4131A ++ ++pci:v00001093d000075B1* ++ ID_MODEL_FROM_DATABASE=PCIe-7854R ++ ++pci:v00001093d000075BA* ++ ID_MODEL_FROM_DATABASE=PXI-2543 ++ ++pci:v00001093d000075BB* ++ ID_MODEL_FROM_DATABASE=PXIe-2543 ++ + pci:v00001093d000075E5* + ID_MODEL_FROM_DATABASE=PXI-6683 + + pci:v00001093d000075E6* + ID_MODEL_FROM_DATABASE=PXI-6683H + ++pci:v00001093d000075EF* ++ ID_MODEL_FROM_DATABASE=PXIe-5632 ++ ++pci:v00001093d0000761F* ++ ID_MODEL_FROM_DATABASE=PXI-2540 ++ ++pci:v00001093d00007620* ++ ID_MODEL_FROM_DATABASE=PXIe-2540 ++ ++pci:v00001093d00007621* ++ ID_MODEL_FROM_DATABASE=PXI-2541 ++ ++pci:v00001093d00007622* ++ ID_MODEL_FROM_DATABASE=PXIe-2541 ++ + pci:v00001093d00007626* + ID_MODEL_FROM_DATABASE=NI 9154 + + pci:v00001093d00007627* + ID_MODEL_FROM_DATABASE=NI 9155 + ++pci:v00001093d00007638* ++ ID_MODEL_FROM_DATABASE=PXI-2720 ++ ++pci:v00001093d00007639* ++ ID_MODEL_FROM_DATABASE=PXI-2722 ++ ++pci:v00001093d0000763A* ++ ID_MODEL_FROM_DATABASE=PXIe-2725 ++ ++pci:v00001093d0000763B* ++ ID_MODEL_FROM_DATABASE=PXIe-2727 ++ ++pci:v00001093d0000763C* ++ ID_MODEL_FROM_DATABASE=PXI-4465 ++ ++pci:v00001093d0000764B* ++ ID_MODEL_FROM_DATABASE=PXIe-2790 ++ ++pci:v00001093d0000764C* ++ ID_MODEL_FROM_DATABASE=PXI-2520 ++ ++pci:v00001093d0000764D* ++ ID_MODEL_FROM_DATABASE=PXI-2521 ++ ++pci:v00001093d0000764E* ++ ID_MODEL_FROM_DATABASE=PXI-2522 ++ ++pci:v00001093d0000764F* ++ ID_MODEL_FROM_DATABASE=PXI-2523 ++ ++pci:v00001093d00007654* ++ ID_MODEL_FROM_DATABASE=PXI-2796 ++ ++pci:v00001093d00007655* ++ ID_MODEL_FROM_DATABASE=PXI-2797 ++ ++pci:v00001093d00007656* ++ ID_MODEL_FROM_DATABASE=PXI-2798 ++ ++pci:v00001093d00007657* ++ ID_MODEL_FROM_DATABASE=PXI-2799 ++ ++pci:v00001093d0000765D* ++ ID_MODEL_FROM_DATABASE=PXI-2542 ++ ++pci:v00001093d0000765E* ++ ID_MODEL_FROM_DATABASE=PXIe-2542 ++ ++pci:v00001093d0000765F* ++ ID_MODEL_FROM_DATABASE=PXI-2544 ++ ++pci:v00001093d00007660* ++ ID_MODEL_FROM_DATABASE=PXIe-2544 ++ ++pci:v00001093d0000766D* ++ ID_MODEL_FROM_DATABASE=PCIe-6535B ++ ++pci:v00001093d0000766E* ++ ID_MODEL_FROM_DATABASE=PCIe-6536B ++ ++pci:v00001093d0000766F* ++ ID_MODEL_FROM_DATABASE=PCIe-6537B ++ ++pci:v00001093d000076A3* ++ ID_MODEL_FROM_DATABASE=PXIe-6535B ++ ++pci:v00001093d000076A4* ++ ID_MODEL_FROM_DATABASE=PXIe-6536B ++ ++pci:v00001093d000076A5* ++ ID_MODEL_FROM_DATABASE=PXIe-6537B ++ ++pci:v00001093d00009020* ++ ID_MODEL_FROM_DATABASE=PXI-2501 ++ ++pci:v00001093d00009030* ++ ID_MODEL_FROM_DATABASE=PXI-2503 ++ ++pci:v00001093d00009040* ++ ID_MODEL_FROM_DATABASE=PXI-2527 ++ ++pci:v00001093d00009050* ++ ID_MODEL_FROM_DATABASE=PXI-2565 ++ ++pci:v00001093d00009060* ++ ID_MODEL_FROM_DATABASE=PXI-2590 ++ ++pci:v00001093d00009070* ++ ID_MODEL_FROM_DATABASE=PXI-2591 ++ ++pci:v00001093d00009080* ++ ID_MODEL_FROM_DATABASE=PXI-2580 ++ ++pci:v00001093d00009090* ++ ID_MODEL_FROM_DATABASE=PCI-4021 ++ ++pci:v00001093d000090A0* ++ ID_MODEL_FROM_DATABASE=PXI-4021 ++ + pci:v00001093d0000B001* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 ++ ID_MODEL_FROM_DATABASE=PCI-1408 + + pci:v00001093d0000B011* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1408 ++ ID_MODEL_FROM_DATABASE=PXI-1408 + + pci:v00001093d0000B021* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1424 ++ ID_MODEL_FROM_DATABASE=PCI-1424 ++ ++pci:v00001093d0000B022* ++ ID_MODEL_FROM_DATABASE=PXI-1424 + + pci:v00001093d0000B031* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1413 ++ ID_MODEL_FROM_DATABASE=PCI-1413 + + pci:v00001093d0000B041* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1407 ++ ID_MODEL_FROM_DATABASE=PCI-1407 + + pci:v00001093d0000B051* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1407 ++ ID_MODEL_FROM_DATABASE=PXI-1407 + + pci:v00001093d0000B061* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1411 ++ ID_MODEL_FROM_DATABASE=PCI-1411 + + pci:v00001093d0000B071* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1422 ++ ID_MODEL_FROM_DATABASE=PCI-1422 + + pci:v00001093d0000B081* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1422 ++ ID_MODEL_FROM_DATABASE=PXI-1422 + + pci:v00001093d0000B091* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 ++ ID_MODEL_FROM_DATABASE=PXI-1411 ++ ++pci:v00001093d0000B0B1* ++ ID_MODEL_FROM_DATABASE=PCI-1409 ++ ++pci:v00001093d0000B0C1* ++ ID_MODEL_FROM_DATABASE=PXI-1409 ++ ++pci:v00001093d0000B0E1* ++ ID_MODEL_FROM_DATABASE=PCI-1428 + + pci:v00001093d0000C4C4* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device + ++pci:v00001093d0000C4C4sv00001093sd0000728A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5421) ++ ++pci:v00001093d0000C4C4sv00001093sd0000728B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5442) ++ ++pci:v00001093d0000C4C4sv00001093sd0000728D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5451) ++ ++pci:v00001093d0000C4C4sv00001093sd000072A2* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5122) ++ ++pci:v00001093d0000C4C4sv00001093sd000072DA* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5422) ++ ++pci:v00001093d0000C4C4sv00001093sd000072F7* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6535) ++ ++pci:v00001093d0000C4C4sv00001093sd000072F8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6536) ++ ++pci:v00001093d0000C4C4sv00001093sd000072F9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6537) ++ ++pci:v00001093d0000C4C4sv00001093sd00007326* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6509) ++ ++pci:v00001093d0000C4C4sv00001093sd0000736C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4140) ++ ++pci:v00001093d0000C4C4sv00001093sd0000738B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622) ++ ++pci:v00001093d0000C4C4sv00001093sd000073C4* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5450) ++ ++pci:v00001093d0000C4C4sv00001093sd000073C7* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6545) ++ ++pci:v00001093d0000C4C4sv00001093sd000073D4* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6544) ++ ++pci:v00001093d0000C4C4sv00001093sd00007425* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6320) ++ ++pci:v00001093d0000C4C4sv00001093sd00007427* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6321) ++ ++pci:v00001093d0000C4C4sv00001093sd00007428* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6323) ++ ++pci:v00001093d0000C4C4sv00001093sd00007429* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6323) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6341) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6341) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6343) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6343) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742F* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6351) ++ ++pci:v00001093d0000C4C4sv00001093sd00007431* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6353) ++ ++pci:v00001093d0000C4C4sv00001093sd00007432* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6361) ++ ++pci:v00001093d0000C4C4sv00001093sd00007433* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6361) ++ ++pci:v00001093d0000C4C4sv00001093sd00007434* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6363) ++ ++pci:v00001093d0000C4C4sv00001093sd00007435* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6363) ++ ++pci:v00001093d0000C4C4sv00001093sd00007436* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6356) ++ ++pci:v00001093d0000C4C4sv00001093sd00007437* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6358) ++ ++pci:v00001093d0000C4C4sv00001093sd00007438* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6366) ++ ++pci:v00001093d0000C4C4sv00001093sd00007439* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6368) ++ ++pci:v00001093d0000C4C4sv00001093sd00007468* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) ++ ++pci:v00001093d0000C4C4sv00001093sd00007469* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) ++ ++pci:v00001093d0000C4C4sv00001093sd00007492* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4300) ++ ++pci:v00001093d0000C4C4sv00001093sd00007498* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6548) ++ ++pci:v00001093d0000C4C4sv00001093sd00007499* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6547) ++ ++pci:v00001093d0000C4C4sv00001093sd000074A8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4330) ++ ++pci:v00001093d0000C4C4sv00001093sd000074A9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4331) ++ ++pci:v00001093d0000C4C4sv00001093sd000074B1* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4154) ++ + pci:v00001093d0000C4C4sv00001093sd000074B2* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) + ++pci:v00001093d0000C4C4sv00001093sd000074B6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1433) ++ ++pci:v00001093d0000C4C4sv00001093sd000074CD* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5643R) ++ + pci:v00001093d0000C4C4sv00001093sd000074D0* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) + ++pci:v00001093d0000C4C4sv00001093sd000074DD* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6376) ++ ++pci:v00001093d0000C4C4sv00001093sd000074DE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6378) ++ + pci:v00001093d0000C4C4sv00001093sd000074E2* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) + + pci:v00001093d0000C4C4sv00001093sd000074E3* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) + ++pci:v00001093d0000C4C4sv00001093sd000074E5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4844) ++ ++pci:v00001093d0000C4C4sv00001093sd000074F3* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5140) ++ ++pci:v00001093d0000C4C4sv00001093sd0000753C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1435) ++ ++pci:v00001093d0000C4C4sv00001093sd00007548* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622 (25MHz DDC)) ++ ++pci:v00001093d0000C4C4sv00001093sd0000754D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5155) ++ ++pci:v00001093d0000C4C4sv00001093sd00007551* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6556) ++ + pci:v00001093d0000C4C4sv00001093sd00007553* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) + ++pci:v00001093d0000C4C4sv00001093sd00007570* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1474R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007571* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1475R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007572* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1476R) ++ ++pci:v00001093d0000C4C4sv00001093sd000075A2* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5693) ++ ++pci:v00001093d0000C4C4sv00001093sd000075A3* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5694) ++ ++pci:v00001093d0000C4C4sv00001093sd000075A5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4141) ++ + pci:v00001093d0000C4C4sv00001093sd000075CE* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) + ++pci:v00001093d0000C4C4sv00001093sd000075CF* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4357) ++ ++pci:v00001093d0000C4C4sv00001093sd000075D2* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-RevB-5643R) ++ ++pci:v00001093d0000C4C4sv00001093sd000075D3* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd000075EE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007613* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6555) ++ ++pci:v00001093d0000C4C4sv00001093sd00007619* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) ++ ++pci:v00001093d0000C4C4sv00001093sd0000761A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) ++ ++pci:v00001093d0000C4C4sv00001093sd00007629* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4142) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4143) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4138) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4144) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4145) ++ ++pci:v00001093d0000C4C4sv00001093sd00007644* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4841) ++ ++pci:v00001093d0000C4C4sv00001093sd00007658* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (4CH)) ++ ++pci:v00001093d0000C4C4sv00001093sd000076AB* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4322) ++ ++pci:v00001093d0000C4C4sv00001093sd000076AD* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4112) ++ ++pci:v00001093d0000C4C4sv00001093sd000076AE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4113) ++ ++pci:v00001093d0000C4C4sv00001093sd000076B5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7971R) ++ ++pci:v00001093d0000C4C4sv00001093sd000076B6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7972R) ++ + pci:v00001093d0000C4C4sv00001093sd000076B7* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) + ++pci:v00001093d0000C4C4sv00001093sd000076C8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6614) ++ ++pci:v00001093d0000C4C4sv00001093sd000076C9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6612) ++ ++pci:v00001093d0000C4C4sv00001093sd000076CB* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd000076CC* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (2CH)) ++ + pci:v00001093d0000C4C4sv00001093sd000076D0* +- ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (2CH)) ++ ++pci:v00001093d0000C4C4sv00001093sd000076D1* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (4CH)) ++ ++pci:v00001093d0000C4C4sv00001093sd000076DC* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4610) ++ ++pci:v00001093d0000C4C4sv00001093sd000076FB* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R-LX110) ++ ++pci:v00001093d0000C4C4sv00001093sd000076FE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd000076FF* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007700* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007701* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007702* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007703* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd0000770C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4139) ++ ++pci:v00001093d0000C4C4sv00001093sd00007711* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4464) ++ ++pci:v00001093d0000C4C4sv00001093sd00007716* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6612) ++ ++pci:v00001093d0000C4C4sv00001093sd0000771E* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4339) ++ ++pci:v00001093d0000C4C4sv00001093sd00007735* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9033) ++ ++pci:v00001093d0000C4C4sv00001093sd0000774B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9031) ++ ++pci:v00001093d0000C4C4sv00001093sd0000774D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9034) ++ ++pci:v00001093d0000C4C4sv00001093sd00007755* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9030) ++ ++pci:v00001093d0000C4C4sv00001093sd00007777* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7976R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007782* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007783* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007784* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6345) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6355) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A7* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6365) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6375) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B4* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7820R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7821R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7822R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9038) + + pci:v00001093d0000C801* + ID_MODEL_FROM_DATABASE=PCI-GPIB + ++pci:v00001093d0000C811* ++ ID_MODEL_FROM_DATABASE=PCI-GPIB+ ++ ++pci:v00001093d0000C821* ++ ID_MODEL_FROM_DATABASE=PXI-GPIB ++ + pci:v00001093d0000C831* +- ID_MODEL_FROM_DATABASE=PCI-GPIB bridge ++ ID_MODEL_FROM_DATABASE=PMC-GPIB ++ ++pci:v00001093d0000C840* ++ ID_MODEL_FROM_DATABASE=PCI-GPIB ++ ++pci:v00001093d0000D130* ++ ID_MODEL_FROM_DATABASE=PCI-232/2 Interface ++ ++pci:v00001093d0000D140* ++ ID_MODEL_FROM_DATABASE=PCI-232/4 Interface ++ ++pci:v00001093d0000D150* ++ ID_MODEL_FROM_DATABASE=PCI-232/8 Interface ++ ++pci:v00001093d0000D160* ++ ID_MODEL_FROM_DATABASE=PCI-485/2 Interface ++ ++pci:v00001093d0000D170* ++ ID_MODEL_FROM_DATABASE=PCI-485/4 Interface ++ ++pci:v00001093d0000D190* ++ ID_MODEL_FROM_DATABASE=PXI-8422/2 (Isolated RS-232) Interface ++ ++pci:v00001093d0000D1A0* ++ ID_MODEL_FROM_DATABASE=PXI-8422/4 (Isolated RS-232) Interface ++ ++pci:v00001093d0000D1B0* ++ ID_MODEL_FROM_DATABASE=PXI-8423/2 (Isolated RS-485) Interface ++ ++pci:v00001093d0000D1C0* ++ ID_MODEL_FROM_DATABASE=PXI-8423/4 (Isolated RS-485) Interface ++ ++pci:v00001093d0000D1D0* ++ ID_MODEL_FROM_DATABASE=PXI-8420/2 (RS-232) Interface ++ ++pci:v00001093d0000D1E0* ++ ID_MODEL_FROM_DATABASE=PXI-8420/4 (RS-232) Interface ++ ++pci:v00001093d0000D1F0* ++ ID_MODEL_FROM_DATABASE=PXI-8420/8 (RS-232) Interface ++ ++pci:v00001093d0000D1F1* ++ ID_MODEL_FROM_DATABASE=PXI-8420/16 (RS-232) Interface ++ ++pci:v00001093d0000D230* ++ ID_MODEL_FROM_DATABASE=PXI-8421/2 (RS-485) Interface ++ ++pci:v00001093d0000D240* ++ ID_MODEL_FROM_DATABASE=PXI-8421/4 (RS-485) Interface ++ ++pci:v00001093d0000D250* ++ ID_MODEL_FROM_DATABASE=PCI-232/2 (Isolated) Interface ++ ++pci:v00001093d0000D260* ++ ID_MODEL_FROM_DATABASE=PCI-485/2 (Isolated) Interface ++ ++pci:v00001093d0000D270* ++ ID_MODEL_FROM_DATABASE=PCI-232/4 (Isolated) Interface ++ ++pci:v00001093d0000D280* ++ ID_MODEL_FROM_DATABASE=PCI-485/4 (Isolated) Interface ++ ++pci:v00001093d0000D290* ++ ID_MODEL_FROM_DATABASE=PCI-485/8 Interface ++ ++pci:v00001093d0000D2A0* ++ ID_MODEL_FROM_DATABASE=PXI-8421/8 (RS-485) Interface ++ ++pci:v00001093d0000D2B0* ++ ID_MODEL_FROM_DATABASE=PCI-232/16 Interface ++ ++pci:v00001093d0000E111* ++ ID_MODEL_FROM_DATABASE=PCI-CAN ++ ++pci:v00001093d0000E131* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (1 port) ++ ++pci:v00001093d0000E141* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS ++ ++pci:v00001093d0000E151* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (1 port) ++ ++pci:v00001093d0000E211* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/2 ++ ++pci:v00001093d0000E231* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (2 ports) ++ ++pci:v00001093d0000E241* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 ++ ++pci:v00001093d0000E251* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (2 ports) ++ ++pci:v00001093d0000E261* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/DS ++ ++pci:v00001093d0000E271* ++ ID_MODEL_FROM_DATABASE=PXI-8462 + + pci:v00001094* + ID_VENDOR_FROM_DATABASE=First International Computers [FIC] +@@ -23331,16 +25011,16 @@ pci:v000010DEd00000367* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000368* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller + + pci:v000010DEd00000368sv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge M605 MCP55 SMBus) + + pci:v000010DEd00000368sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge R805 MCP55 SMBus) + + pci:v000010DEd00000368sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (KN9 series mainboard) + + pci:v000010DEd00000369* + ID_MODEL_FROM_DATABASE=MCP55 Memory Controller +@@ -24530,6 +26210,9 @@ pci:v000010DEd00000641* + pci:v000010DEd00000641sv00001682sd00004009* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) + ++pci:v000010DEd00000642* ++ ID_MODEL_FROM_DATABASE=G96 [D9M-10] ++ + pci:v000010DEd00000643* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] + +@@ -26522,6 +28205,9 @@ pci:v000010DEd0000100A* + pci:v000010DEd0000100C* + ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] + ++pci:v000010DEd0000101E* ++ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20X] ++ + pci:v000010DEd0000101F* + ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] + +@@ -26552,6 +28238,15 @@ pci:v000010DEd00001028* + pci:v000010DEd00001029* + ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40s] + ++pci:v000010DEd0000102A* ++ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40t] ++ ++pci:v000010DEd0000102D* ++ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K80] ++ ++pci:v000010DEd0000102E* ++ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40d] ++ + pci:v000010DEd0000103A* + ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] + +@@ -26582,6 +28277,9 @@ pci:v000010DEd0000104B* + pci:v000010DEd0000104C* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] + ++pci:v000010DEd0000104D* ++ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 710] ++ + pci:v000010DEd00001050* + ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] + +@@ -27551,9 +29249,15 @@ pci:v000010DEd0000118E* + pci:v000010DEd0000118F* + ID_MODEL_FROM_DATABASE=GK104GL [Tesla K10] + ++pci:v000010DEd00001191* ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Rev. 2] ++ + pci:v000010DEd00001193* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] + ++pci:v000010DEd00001194* ++ ID_MODEL_FROM_DATABASE=GK104GL [Tesla K8] ++ + pci:v000010DEd00001195* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] + +@@ -27944,6 +29648,9 @@ pci:v000010DEd00001381* + pci:v000010DEd00001382* + ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] + ++pci:v000010DEd00001389* ++ ID_MODEL_FROM_DATABASE=GM107GL [GRID M3] ++ + pci:v000010DEd00001390* + ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] + +@@ -27971,6 +29678,9 @@ pci:v000010DEd000013BA* + pci:v000010DEd000013BB* + ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] + ++pci:v000010DEd000013BD* ++ ID_MODEL_FROM_DATABASE=GM107GL [Tesla M40] ++ + pci:v000010DF* + ID_VENDOR_FROM_DATABASE=Emulex Corporation + +@@ -31772,6 +33482,30 @@ pci:v0000111Dd0000806E* + pci:v0000111Dd0000806F* + ID_MODEL_FROM_DATABASE=HIO524G2 PCI Express Gen2 Switch + ++pci:v0000111Dd00008088* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch ++ ++pci:v0000111Dd00008088sv00001093sd0000752F* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc Device) ++ ++pci:v0000111Dd00008088sv00001093sd00007543* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc System Host) ++ ++pci:v0000111Dd00008088sv00001093sd0000755C* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8364) ++ ++pci:v0000111Dd00008088sv00001093sd0000755D* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8374) ++ ++pci:v0000111Dd00008088sv00001093sd000075FF* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) ++ ++pci:v0000111Dd00008088sv00001093sd00007600* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) ++ ++pci:v0000111Dd00008088sv00001093sd00007602* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8384) ++ + pci:v0000111E* + ID_VENDOR_FROM_DATABASE=Eldec + +@@ -42929,6 +44663,9 @@ pci:v00001425d00005084* + pci:v00001425d00005085* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller + ++pci:v00001425d00005086* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller ++ + pci:v00001425d00005401* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -43007,6 +44744,9 @@ pci:v00001425d00005484* + pci:v00001425d00005485* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller + ++pci:v00001425d00005486* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller ++ + pci:v00001425d00005501* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -43085,6 +44825,9 @@ pci:v00001425d00005584* + pci:v00001425d00005585* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller + ++pci:v00001425d00005586* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller ++ + pci:v00001425d00005601* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -43163,6 +44906,9 @@ pci:v00001425d00005684* + pci:v00001425d00005685* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller + ++pci:v00001425d00005686* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller ++ + pci:v00001425d00005701* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -43319,6 +45065,9 @@ pci:v00001425d00005884* + pci:v00001425d00005885* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] + ++pci:v00001425d00005886* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller [VF] ++ + pci:v00001425d0000A000* + ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller + +@@ -49862,6 +51611,15 @@ pci:v000016ED* + pci:v000016EDd00001001* + ID_MODEL_FROM_DATABASE=UMIO communication card + ++pci:v000016F2* ++ ID_VENDOR_FROM_DATABASE=ETAS GmbH ++ ++pci:v000016F2d00000200* ++ ID_MODEL_FROM_DATABASE=I/O board ++ ++pci:v000016F2d00000200sv000016F2sd00000010* ++ ID_MODEL_FROM_DATABASE=I/O board (ES53xx I/O board) ++ + pci:v000016F3* + ID_VENDOR_FROM_DATABASE=Jetway Information Co., Ltd. + +@@ -50004,7 +51762,7 @@ pci:v00001775* + ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms + + pci:v0000177D* +- ID_VENDOR_FROM_DATABASE=Cavium Networks ++ ID_VENDOR_FROM_DATABASE=Cavium, Inc. + + pci:v0000177Dd00000001* + ID_MODEL_FROM_DATABASE=Nitrox XL N1 +@@ -50063,6 +51821,147 @@ pci:v0000177Dd00000095* + pci:v0000177Dd00000096* + ID_MODEL_FROM_DATABASE=Octeon III CN70XX Network Processor + ++pci:v0000177Dd0000A001* ++ ID_MODEL_FROM_DATABASE=THUNDERX MRML Bridge ++ ++pci:v0000177Dd0000A002* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge ++ ++pci:v0000177Dd0000A002sv0000177Dsd0000A102* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge (CN88XX PCC Bridge) ++ ++pci:v0000177Dd0000A008* ++ ID_MODEL_FROM_DATABASE=THUNDERX SMMU ++ ++pci:v0000177Dd0000A008sv0000177Dsd0000A108* ++ ID_MODEL_FROM_DATABASE=THUNDERX SMMU (CN88XX SMMU) ++ ++pci:v0000177Dd0000A009* ++ ID_MODEL_FROM_DATABASE=THUNDERX Generic Interrupt Controller ++ ++pci:v0000177Dd0000A00A* ++ ID_MODEL_FROM_DATABASE=THUNDERX GPIO Controller ++ ++pci:v0000177Dd0000A00B* ++ ID_MODEL_FROM_DATABASE=THUNDERX MPI / SPI Controller ++ ++pci:v0000177Dd0000A00C* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIO-PTP Controller ++ ++pci:v0000177Dd0000A00D* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIX Network Controller ++ ++pci:v0000177Dd0000A00E* ++ ID_MODEL_FROM_DATABASE=THUNDERX Reset Controller ++ ++pci:v0000177Dd0000A00F* ++ ID_MODEL_FROM_DATABASE=THUNDERX UART Controller ++ ++pci:v0000177Dd0000A010* ++ ID_MODEL_FROM_DATABASE=THUNDERX eMMC/SD Controller ++ ++pci:v0000177Dd0000A011* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIO-BOOT Controller ++ ++pci:v0000177Dd0000A012* ++ ID_MODEL_FROM_DATABASE=THUNDERX TWSI / I2C Controller ++ ++pci:v0000177Dd0000A013* ++ ID_MODEL_FROM_DATABASE=THUNDERX CCPI (Multi-node connect) ++ ++pci:v0000177Dd0000A014* ++ ID_MODEL_FROM_DATABASE=THUNDERX Voltage Regulator Module ++ ++pci:v0000177Dd0000A015* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCIe Switch Logic Interface ++ ++pci:v0000177Dd0000A016* ++ ID_MODEL_FROM_DATABASE=THUNDERX Key Memory ++ ++pci:v0000177Dd0000A017* ++ ID_MODEL_FROM_DATABASE=THUNDERX GTI (Global System Timers) ++ ++pci:v0000177Dd0000A018* ++ ID_MODEL_FROM_DATABASE=THUNDERX Random Number Generator ++ ++pci:v0000177Dd0000A019* ++ ID_MODEL_FROM_DATABASE=THUNDERX DFA ++ ++pci:v0000177Dd0000A01A* ++ ID_MODEL_FROM_DATABASE=THUNDERX Zip Coprocessor ++ ++pci:v0000177Dd0000A01B* ++ ID_MODEL_FROM_DATABASE=THUNDERX xHCI USB Controller ++ ++pci:v0000177Dd0000A01C* ++ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller ++ ++pci:v0000177Dd0000A01Csv0000177Dsd0000A11C* ++ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller (CN88XX AHCI SATA Controller) ++ ++pci:v0000177Dd0000A01D* ++ ID_MODEL_FROM_DATABASE=THUNDERX RAID Coprocessor ++ ++pci:v0000177Dd0000A01E* ++ ID_MODEL_FROM_DATABASE=THUNDERX Network Interface Controller ++ ++pci:v0000177Dd0000A01F* ++ ID_MODEL_FROM_DATABASE=THUNDERX Traffic Network Switch ++ ++pci:v0000177Dd0000A020* ++ ID_MODEL_FROM_DATABASE=THUNDERX PEM (PCI Express Interface) ++ ++pci:v0000177Dd0000A021* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C (Level-2 Cache Controller) ++ ++pci:v0000177Dd0000A022* ++ ID_MODEL_FROM_DATABASE=THUNDERX LMC (DRAM Controller) ++ ++pci:v0000177Dd0000A023* ++ ID_MODEL_FROM_DATABASE=THUNDERX OCLA (On-Chip Logic Analyzer) ++ ++pci:v0000177Dd0000A024* ++ ID_MODEL_FROM_DATABASE=THUNDERX OSM ++ ++pci:v0000177Dd0000A025* ++ ID_MODEL_FROM_DATABASE=THUNDERX GSER (General Serializer/Deserializer) ++ ++pci:v0000177Dd0000A026* ++ ID_MODEL_FROM_DATABASE=THUNDERX BGX (Common Ethernet Interface) ++ ++pci:v0000177Dd0000A027* ++ ID_MODEL_FROM_DATABASE=THUNDERX IOBN ++ ++pci:v0000177Dd0000A029* ++ ID_MODEL_FROM_DATABASE=THUNDERX NCSI (Network Controller Sideband Interface) ++ ++pci:v0000177Dd0000A02A* ++ ID_MODEL_FROM_DATABASE=THUNDERX SGP ++ ++pci:v0000177Dd0000A02B* ++ ID_MODEL_FROM_DATABASE=THUNDERX SMI / MDIO Controller ++ ++pci:v0000177Dd0000A02C* ++ ID_MODEL_FROM_DATABASE=THUNDERX DAP (Debug Access Port) ++ ++pci:v0000177Dd0000A02D* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCIERC (PCIe Root Complex) ++ ++pci:v0000177Dd0000A02E* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C-TAD ++ ++pci:v0000177Dd0000A02F* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C-CBC ++ ++pci:v0000177Dd0000A030* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C-MCI ++ ++pci:v0000177Dd0000A031* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIO-FUS (Fuse Access Controller) ++ ++pci:v0000177Dd0000A032* ++ ID_MODEL_FROM_DATABASE=THUNDERX FUSF (Fuse Controller) ++ + pci:v00001787* + ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd. + +@@ -53312,6 +55211,12 @@ pci:v00001BBFd00000003* + pci:v00001BBFd00000004* + ID_MODEL_FROM_DATABASE=MAX4 + ++pci:v00001BEE* ++ ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH ++ ++pci:v00001BEEd00000003* ++ ID_MODEL_FROM_DATABASE=CAN-IB200/PCIe ++ + pci:v00001BF4* + ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation + +@@ -58271,6 +60176,9 @@ pci:v00008086d000010D3sv0000103Csd00003250* + pci:v00008086d000010D3sv00001043sd00008369* + ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) + ++pci:v00008086d000010D3sv00001093sd000076E9* ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PCIe-8233 Ethernet Adapter) ++ + pci:v00008086d000010D3sv000010A9sd00008029* + ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) + +@@ -59339,6 +61247,18 @@ pci:v00008086d00001521sv0000108Esd00007B16* + pci:v00008086d00001521sv0000108Esd00007B18* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) + ++pci:v00008086d00001521sv00001093sd00007648* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R Ethernet Adapter) ++ ++pci:v00008086d00001521sv00001093sd00007649* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8236 Ethernet Adapter) ++ ++pci:v00008086d00001521sv00001093sd000076B1* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R-S Ethernet Adapter) ++ ++pci:v00008086d00001521sv00001093sd0000775B* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237 Ethernet Adapter) ++ + pci:v00008086d00001521sv000010A9sd0000802A* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) + +@@ -59498,6 +61418,9 @@ pci:v00008086d00001533* + pci:v00008086d00001533sv0000103Csd00000003* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) + ++pci:v00008086d00001533sv00001093sd00007706* ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Compact Vision System Ethernet Adapter) ++ + pci:v00008086d00001533sv000010A9sd0000802C* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) + +@@ -59703,10 +61626,10 @@ pci:v00008086d000015A3* + ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V + + pci:v00008086d000015B7* +- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM + + pci:v00008086d000015B8* +- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V + + pci:v00008086d00001600* + ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index d87313c..ea1c3e3 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -30222,7 +30222,7 @@ usb:v0930p6544* + ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (2GB) + + usb:v0930p6545* +- ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick ++ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick + + usb:v0931* + ID_VENDOR_FROM_DATABASE=Harmonic Data Systems, Ltd +-- +1.7.9.2 + diff --git a/0009-journal-do-not-leak-mmaps-on-OOM.patch b/0009-journal-do-not-leak-mmaps-on-OOM.patch new file mode 100644 index 00000000..3d92f474 --- /dev/null +++ b/0009-journal-do-not-leak-mmaps-on-OOM.patch @@ -0,0 +1,50 @@ +From b67ddc7bbe31cde7f69f9814204d9bb1d4623c47 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 12:20:41 +0300 +Subject: [PATCH] journal: do not leak mmaps on OOM + +After a section of memory is succesfully allocated, some of the following +actions can still fail due to lack of memory. In this case -ENOMEM is +returned without actually freeing the already mapped memory. +Found with coverity. Fixes: CID#1237762 +--- + src/journal/mmap-cache.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git src/journal/mmap-cache.c src/journal/mmap-cache.c +index 7dbbb5e..908562d 100644 +--- src/journal/mmap-cache.c ++++ src/journal/mmap-cache.c +@@ -496,15 +496,15 @@ static int add_mmap( + + c = context_add(m, context); + if (!c) +- return -ENOMEM; ++ goto outofmem; + + f = fd_add(m, fd); + if (!f) +- return -ENOMEM; ++ goto outofmem; + + w = window_add(m); + if (!w) +- return -ENOMEM; ++ goto outofmem; + + w->keep_always = keep_always; + w->ptr = d; +@@ -522,6 +522,10 @@ static int add_mmap( + if (ret) + *ret = (uint8_t*) w->ptr + (offset - w->offset); + return 1; ++ ++outofmem: ++ munmap(d, wsize); ++ return -ENOMEM; + } + + int mmap_cache_get( +-- +1.7.9.2 + diff --git a/0010-manager-use-correct-cleanup-function.patch b/0010-manager-use-correct-cleanup-function.patch new file mode 100644 index 00000000..0f46dec8 --- /dev/null +++ b/0010-manager-use-correct-cleanup-function.patch @@ -0,0 +1,30 @@ +From 807d0cca2b0daf4cd725298c1b5e062b1126f15b Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Thu, 11 Sep 2014 21:14:53 +0200 +Subject: [PATCH] manager: use correct cleanup function + +Close the dir instead of attempt to free it. + +Introduced in 874310b7b68c4c0d36ff07397db30a959bb7dae5 + +Found with coverity. Fixes: CID#996368 +--- + src/core/manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/manager.c src/core/manager.c +index 9abdf47..095111e 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -896,7 +896,7 @@ static int manager_coldplug(Manager *m) { + + static void manager_build_unit_path_cache(Manager *m) { + char **i; +- _cleanup_free_ DIR *d = NULL; ++ _cleanup_closedir_ DIR *d = NULL; + int r; + + assert(m); +-- +1.7.9.2 + diff --git a/1067-udev-always-resolve-correctly-database-names-on-chan.patch b/1067-udev-always-resolve-correctly-database-names-on-chan.patch new file mode 100644 index 00000000..9fdc9c68 --- /dev/null +++ b/1067-udev-always-resolve-correctly-database-names-on-chan.patch @@ -0,0 +1,53 @@ +From 368082520b25722575783f06879fb5fc2e4c219c Mon Sep 17 00:00:00 2001 +From: Robert Milasan +Date: Sat, 13 Sep 2014 15:18:37 +0200 +Subject: [PATCH] udev: always resolve correctly database names on 'change' + event + +Signed-off-by: Robert Milasan +--- + src/libudev/libudev-device.c | 2 +- + src/libudev/libudev-private.h | 1 + + src/udev/udev-event.c | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c +index d61a2ad..2699374 100644 +--- a/src/libudev/libudev-device.c ++++ b/src/libudev/libudev-device.c +@@ -161,7 +161,7 @@ _public_ dev_t udev_device_get_devnum(struct udev_device *udev_device) + return udev_device->devnum; + } + +-static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) ++int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) + { + char num[32]; + +diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h +index 35ea7ba..05a6410 100644 +--- a/src/libudev/libudev-private.h ++++ b/src/libudev/libudev-private.h +@@ -59,6 +59,7 @@ uid_t udev_device_get_devnode_uid(struct udev_device *udev_device); + gid_t udev_device_get_devnode_gid(struct udev_device *udev_device); + int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); + int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); ++int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum); + int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); + void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); + struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value); +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index e8d6676..2cf0763 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -812,6 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, + if (event->dev_db != NULL) { + udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); + udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); ++ udev_device_set_devnum(event->dev_db, udev_device_get_devnum(dev)); + udev_device_read_db(event->dev_db, NULL); + udev_device_set_info_loaded(event->dev_db); + +-- +1.8.4.5 + diff --git a/1068-udev-net_setup_link-export-the-.link-filename-applie.patch b/1068-udev-net_setup_link-export-the-.link-filename-applie.patch new file mode 100644 index 00000000..e0f7039c --- /dev/null +++ b/1068-udev-net_setup_link-export-the-.link-filename-applie.patch @@ -0,0 +1,26 @@ +From ad6e5b348fa88f44d6cbfe7aabda7612a1d0463f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 8 Sep 2014 14:00:58 +0200 +Subject: [PATCH] udev: net_setup_link - export the .link filename applied to + the link + +--- + src/udev/udev-builtin-net_setup_link.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c +index 6207269..14351de 100644 +--- src/udev/udev-builtin-net_setup_link.c ++++ src/udev/udev-builtin-net_setup_link.c +@@ -57,6 +57,8 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv + return EXIT_FAILURE; + } + ++ udev_builtin_add_property(dev, test, "ID_NET_LINK_FILE", link->filename); ++ + if (name) + udev_builtin_add_property(dev, test, "ID_NET_NAME", name); + +-- +1.7.9.2 + diff --git a/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch b/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch new file mode 100644 index 00000000..7f7d24aa --- /dev/null +++ b/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch @@ -0,0 +1,27 @@ +From e4d7c49050769877c7f10184bbe2a1e77d0b5333 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 8 Sep 2014 17:16:24 +0200 +Subject: [PATCH] rules: net-setup-link - preserve ID_NET_LINK_FILE and + ID_NET_NAME after MOVE + +--- + rules/80-net-setup-link.rules | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules +index f390fcb..27c43b9 100644 +--- rules/80-net-setup-link.rules ++++ rules/80-net-setup-link.rules +@@ -4,7 +4,8 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" + + IMPORT{builtin}="path_id" + +-ACTION=="move", IMPORT{db}="ID_NET_DRIVER" ++ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", ++IMPORT{db}="ID_NET_NAME" + + ACTION!="add", GOTO="net_setup_link_end" + +-- +1.7.9.2 + diff --git a/1070-rules-net-setup-link-remove-stray-linebreak.patch b/1070-rules-net-setup-link-remove-stray-linebreak.patch new file mode 100644 index 00000000..f389aa8c --- /dev/null +++ b/1070-rules-net-setup-link-remove-stray-linebreak.patch @@ -0,0 +1,27 @@ +From 52e231b04635400292179cf51b30d7d9b6323fb2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Mon, 8 Sep 2014 22:53:39 +0300 +Subject: [PATCH] rules: net-setup-link - remove stray linebreak + +If not backslash-escaped, it splits the rule in two. +--- + rules/80-net-setup-link.rules | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules +index 27c43b9..4207694 100644 +--- rules/80-net-setup-link.rules ++++ rules/80-net-setup-link.rules +@@ -4,8 +4,7 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" + + IMPORT{builtin}="path_id" + +-ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", +-IMPORT{db}="ID_NET_NAME" ++ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" + + ACTION!="add", GOTO="net_setup_link_end" + +-- +1.7.9.2 + diff --git a/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch b/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch new file mode 100644 index 00000000..f821d890 --- /dev/null +++ b/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch @@ -0,0 +1,54 @@ +From b081b27e1433cdc7ac72b25ae8b4db887d79187f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 9 Sep 2014 12:23:19 +0200 +Subject: [PATCH] udev: import the full db on MOVE events for devices without + dev_t + +--- + rules/80-net-setup-link.rules | 2 -- + src/udev/udev-event.c | 16 ++++++++++++++++ + 2 files changed, 16 insertions(+), 2 deletions(-) + +diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules +index 4207694..6e411a9 100644 +--- rules/80-net-setup-link.rules ++++ rules/80-net-setup-link.rules +@@ -4,8 +4,6 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" + + IMPORT{builtin}="path_id" + +-ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" +- + ACTION!="add", GOTO="net_setup_link_end" + + IMPORT{builtin}="net_setup_link" +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 00cd6d4..18b92ca 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -805,6 +805,22 @@ void udev_event_execute_rules(struct udev_event *event, + udev_watch_end(event->udev, event->dev_db); + } + ++ if (major(udev_device_get_devnum(dev)) == 0 && ++ streq(udev_device_get_action(dev), "move")) { ++ struct udev_list_entry *entry; ++ ++ for ((entry = udev_device_get_properties_list_entry(event->dev_db)); entry; entry = udev_list_entry_get_next(entry)) { ++ const char *key, *value; ++ struct udev_list_entry *property; ++ ++ key = udev_list_entry_get_name(entry); ++ value = udev_list_entry_get_value(entry); ++ ++ property = udev_device_add_property(event->dev, key, value); ++ udev_list_entry_set_num(property, true); ++ } ++ } ++ + udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + /* rename a new network interface, if needed */ +-- +1.7.9.2 + diff --git a/1072-udev-netif_rename-don-t-log-to-kmsg.patch b/1072-udev-netif_rename-don-t-log-to-kmsg.patch new file mode 100644 index 00000000..2a5cebd2 --- /dev/null +++ b/1072-udev-netif_rename-don-t-log-to-kmsg.patch @@ -0,0 +1,39 @@ +Based on 1187f20655de0c37337ea73e1e55823b83cd7c00 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 9 Sep 2014 22:45:03 +0200 +Subject: [PATCH] udev: netif_rename - don't log to kmsg + +As of 3.17, the kernel will do this on its own, so just do regular log_debug() logging from udev. +--- + src/udev/udev-event.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- src/udev/udev-event.c ++++ src/udev/udev-event.c 2014-09-16 08:52:36.154735794 +0000 +@@ -770,7 +770,7 @@ static int rename_netif(struct udev_even + + r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { +- print_kmsg("renamed network interface %s to %s\n", oldname, name); ++ log_debug("renamed network interface %s to %s", oldname, name); + return r; + } else if (r != -EEXIST) { + log_error("error changing net interface name %s to %s: %s", +@@ -789,7 +789,7 @@ static int rename_netif(struct udev_even + } + + /* log temporary name */ +- print_kmsg("renamed network interface %s to %s\n", oldname, interim); ++ log_debug("renamed network interface %s to %s", oldname, interim); + + loop = 90 * 20; + while (loop--) { +@@ -798,7 +798,7 @@ static int rename_netif(struct udev_even + + r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { +- print_kmsg("renamed network interface %s to %s\n", interim, name); ++ log_debug("renamed network interface %s to %s", interim, name); + break; + } + diff --git a/1073-udev-drop-print_kmsg.patch b/1073-udev-drop-print_kmsg.patch new file mode 100644 index 00000000..27aaa6e3 --- /dev/null +++ b/1073-udev-drop-print_kmsg.patch @@ -0,0 +1,75 @@ +Based on 9d19a679f23c7a72c326cbbbf44e0c9f423dec5d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 9 Sep 2014 22:48:07 +0200 +Subject: [PATCH] udev - drop print_kmsg + +The only remaining user was 'starting version XXX', which is now logged using log_info(). +--- + src/libudev/libudev-private.h | 1 - + src/libudev/libudev-util.c | 25 ------------------------- + src/udev/udevd.c | 2 +- + 3 files changed, 1 insertion(+), 27 deletions(-) + +diff --git src/libudev/libudev-private.h src/libudev/libudev-private.h +index ae97557..cd1c1fb 100644 +--- src/libudev/libudev-private.h ++++ src/libudev/libudev-private.h +@@ -170,6 +170,5 @@ int util_delete_path(struct udev *udev, const char *path); + uid_t util_lookup_user(struct udev *udev, const char *user); + gid_t util_lookup_group(struct udev *udev, const char *group); + int util_resolve_subsys_kernel(struct udev *udev, const char *string, char *result, size_t maxsize, int read_value); +-ssize_t print_kmsg(const char *fmt, ...) _printf_(1, 2); + + #endif +--- src/libudev/libudev-util.c ++++ src/libudev/libudev-util.c 2014-09-16 08:56:01.862736270 +0000 +@@ -422,33 +422,3 @@ static int parse_proc_cmdline_word(const + + return 0; + } +- +-ssize_t print_kmsg(const char *fmt, ...) +-{ +- _cleanup_close_ int fd = -1; +- va_list ap; +- char text[1024]; +- ssize_t len; +- ssize_t ret; +- +- if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { +- fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); +- } else { +- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); +- } +- +- if (fd < 0) +- return -errno; +- +- len = snprintf(text, sizeof(text), "<30>systemd-udevd[%u]: ", getpid()); +- +- va_start(ap, fmt); +- len += vsnprintf(text + len, sizeof(text) - len, fmt, ap); +- va_end(ap); +- +- ret = write(fd, text, len); +- if (ret < 0) +- return -errno; +- +- return ret; +-} +diff --git src/udev/udevd.c src/udev/udevd.c +index be0acc3..b023b6e 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -1200,7 +1200,7 @@ int main(int argc, char *argv[]) { + sd_notify(1, "READY=1"); + } + +- print_kmsg("starting version " VERSION "\n"); ++ log_info("starting version " VERSION "\n"); + + if (!debug) { + int fd; +-- +1.7.9.2 + diff --git a/1074-udev-fix-copy-paste-error-in-log-message.patch b/1074-udev-fix-copy-paste-error-in-log-message.patch new file mode 100644 index 00000000..a617451f --- /dev/null +++ b/1074-udev-fix-copy-paste-error-in-log-message.patch @@ -0,0 +1,25 @@ +From ec3281d3b681b002dfe1a4bea0532a504e37557a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 10 Sep 2014 07:59:22 +0200 +Subject: [PATCH] udev: fix copy-paste error in log message + +--- + src/udev/udev-rules.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index cc56215..6de7511 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -1323,7 +1323,7 @@ static int add_rule(struct udev_rules *rules, char *line, + if (cmd < UDEV_BUILTIN_MAX) + rule_add_key(&rule_tmp, TK_A_RUN_BUILTIN, op, value, &cmd); + else +- log_error("IMPORT{builtin}: '%s' unknown %s:%u", value, filename, lineno); ++ log_error("RUN{builtin}: '%s' unknown %s:%u", value, filename, lineno); + } else if (streq(attr, "program")) { + enum udev_builtin_cmd cmd = UDEV_BUILTIN_MAX; + +-- +1.7.9.2 + diff --git a/1075-udev-timeout-increase-timeout.patch b/1075-udev-timeout-increase-timeout.patch new file mode 100644 index 00000000..08f6daeb --- /dev/null +++ b/1075-udev-timeout-increase-timeout.patch @@ -0,0 +1,28 @@ +From b5338a19864ac3f5632aee48069a669479621dca Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 10 Sep 2014 10:56:26 +0200 +Subject: [PATCH] udev: timeout - increase timeout + +Some kernel modules still take more than one minute to insmod, we no longer rely on the timeout +killing insmod within a given period of time, so just bump this to a much higher value. Its only +purpose is to make sure that nothing stays aronud forever. +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index b023b6e..a7f8cbd 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,7 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static usec_t event_timeout_usec = 60 * USEC_PER_SEC; ++static usec_t event_timeout_usec = 180 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +-- +1.7.9.2 + diff --git a/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch new file mode 100644 index 00000000..4345f929 --- /dev/null +++ b/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch @@ -0,0 +1,350 @@ +Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 11 Sep 2014 18:49:04 +0200 +Subject: [PATCH] udev: timeout - warn after a third of the timeout before + killing + +--- + src/test/test-udev.c | 4 ++-- + src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- + src/udev/udev-rules.c | 8 +++++--- + src/udev/udev.h | 9 ++++++--- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- + 6 files changed, 71 insertions(+), 32 deletions(-) + +diff --git src/test/test-udev.c src/test/test-udev.c +index 566a73a..f085262 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); +- udev_event_execute_run(event, USEC_PER_SEC, NULL); ++ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index a883edc..e8d6676 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -541,6 +541,7 @@ out: + + static int spawn_wait(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; +@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, + + while (pid > 0) { + int timeout; ++ int timeout_warn = 0; + int fdcount; + + if (timeout_usec > 0) { +@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; + if (age_usec >= timeout_usec) + timeout = 1000; +- else +- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ else { ++ if (timeout_warn_usec > 0) ++ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ ++ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ } + } else { + timeout = -1; + } + +- fdcount = poll(pfd, 1, timeout); ++ fdcount = poll(pfd, 1, timeout_warn); + if (fdcount < 0) { + if (errno == EINTR) + continue; +@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, + goto out; + } + if (fdcount == 0) { +- log_error("timeout: killing '%s' [%u]", cmd, pid); +- kill(pid, SIGKILL); ++ log_warning("slow: '%s' [%u]", cmd, pid); ++ ++ fdcount = poll(pfd, 1, timeout); ++ if (fdcount < 0) { ++ if (errno == EINTR) ++ continue; ++ err = -errno; ++ log_error("failed to poll: %m"); ++ goto out; ++ } ++ if (fdcount == 0) { ++ log_error("timeout: killing '%s' [%u]", cmd, pid); ++ kill(pid, SIGKILL); ++ } + } + + if (pfd[0].revents & POLLIN) { +@@ -654,6 +672,7 @@ out: + + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize) { + struct udev *udev = event->udev; +@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, + outpipe[READ_END], errpipe[READ_END], + result, ressize); + +- err = spawn_wait(event, timeout_usec, cmd, pid); ++ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); + } + + out: +@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { + + void udev_event_execute_rules(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + +@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9514dde..db95442 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + + static int import_program_into_properties(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; +@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -1862,6 +1863,7 @@ enum escape_type { + int udev_rules_apply_to_event(struct udev_rules *rules, + struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const sigset_t *sigmask) { + struct token *cur; + struct token *rule; +@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index ed01da3..765ba9e 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -73,7 +73,8 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 809adb6..4738b61 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { + goto out; + } + +- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 +@@ -75,6 +75,7 @@ static int children; + static int children_max; + static int exec_delay; + static usec_t event_timeout_usec = 180 * USEC_PER_SEC; ++static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -129,6 +130,7 @@ struct worker { + enum worker_state state; + struct event *event; + usec_t event_start_usec; ++ bool event_warned; + }; + + /* passed from worker to main process */ +@@ -314,9 +316,9 @@ static void worker_new(struct event *eve + } + + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -410,6 +412,7 @@ out: + worker->pid = pid; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + worker->event = event; + event->state = EVENT_RUNNING; + udev_list_node_append(&worker->node, &worker_list); +@@ -441,6 +444,7 @@ static void event_run(struct event *even + worker->event = event; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + event->state = EVENT_RUNNING; + return; + } +@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { + event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + } + + free(s); +@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { + break; + case 't': + event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + break; + case 'D': + debug = true; +@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { + /* check for hanging events */ + udev_list_node_foreach(loop, &worker_list) { + struct worker *worker = node_to_worker(loop); ++ usec_t ts; + + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); +- kill(worker->pid, SIGKILL); +- worker->state = WORKER_KILLED; +- +- /* drop reference taken for state 'running' */ +- worker_unref(worker); +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event); +- worker->event = NULL; ++ ts = now(CLOCK_MONOTONIC); ++ ++ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { ++ if ((ts - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); ++ kill(worker->pid, SIGKILL); ++ worker->state = WORKER_KILLED; ++ ++ /* drop reference taken for state 'running' */ ++ worker_unref(worker); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event); ++ worker->event = NULL; ++ } else if (!worker->event_warned) { ++ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); ++ worker->event_warned = true; ++ } + } + } + +-- +1.7.9.2 + diff --git a/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch new file mode 100644 index 00000000..57b2d699 --- /dev/null +++ b/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch @@ -0,0 +1,350 @@ +Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 11 Sep 2014 18:49:04 +0200 +Subject: [PATCH] udev: timeout - warn after a third of the timeout before + killing + +--- + src/test/test-udev.c | 4 ++-- + src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- + src/udev/udev-rules.c | 8 +++++--- + src/udev/udev.h | 9 ++++++--- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- + 6 files changed, 71 insertions(+), 32 deletions(-) + +diff --git src/test/test-udev.c src/test/test-udev.c +index 566a73a..f085262 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); +- udev_event_execute_run(event, USEC_PER_SEC, NULL); ++ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index a883edc..e8d6676 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -541,6 +541,7 @@ out: + + static int spawn_wait(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; +@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, + + while (pid > 0) { + int timeout; ++ int timeout_warn = 0; + int fdcount; + + if (timeout_usec > 0) { +@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; + if (age_usec >= timeout_usec) + timeout = 1000; +- else +- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ else { ++ if (timeout_warn_usec > 0) ++ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ ++ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ } + } else { + timeout = -1; + } + +- fdcount = poll(pfd, 1, timeout); ++ fdcount = poll(pfd, 1, timeout_warn); + if (fdcount < 0) { + if (errno == EINTR) + continue; +@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, + goto out; + } + if (fdcount == 0) { +- log_error("timeout: killing '%s' [%u]", cmd, pid); +- kill(pid, SIGKILL); ++ log_warning("slow: '%s' [%u]", cmd, pid); ++ ++ fdcount = poll(pfd, 1, timeout); ++ if (fdcount < 0) { ++ if (errno == EINTR) ++ continue; ++ err = -errno; ++ log_error("failed to poll: %m"); ++ goto out; ++ } ++ if (fdcount == 0) { ++ log_error("timeout: killing '%s' [%u]", cmd, pid); ++ kill(pid, SIGKILL); ++ } + } + + if (pfd[0].revents & POLLIN) { +@@ -654,6 +672,7 @@ out: + + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize) { + struct udev *udev = event->udev; +@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, + outpipe[READ_END], errpipe[READ_END], + result, ressize); + +- err = spawn_wait(event, timeout_usec, cmd, pid); ++ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); + } + + out: +@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { + + void udev_event_execute_rules(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + +@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9514dde..db95442 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + + static int import_program_into_properties(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; +@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -1862,6 +1863,7 @@ enum escape_type { + int udev_rules_apply_to_event(struct udev_rules *rules, + struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const sigset_t *sigmask) { + struct token *cur; + struct token *rule; +@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index ed01da3..765ba9e 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -73,7 +73,8 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 809adb6..4738b61 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { + goto out; + } + +- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 +@@ -75,6 +75,7 @@ static int children; + static int children_max; + static int exec_delay; + static usec_t event_timeout_usec = 180 * USEC_PER_SEC; ++static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -129,6 +130,7 @@ struct worker { + enum worker_state state; + struct event *event; + usec_t event_start_usec; ++ bool event_warned; + }; + + /* passed from worker to main process */ +@@ -314,9 +316,9 @@ static void worker_new(struct event *eve + } + + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -410,6 +412,7 @@ out: + worker->pid = pid; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + worker->event = event; + event->state = EVENT_RUNNING; + udev_list_node_append(&worker->node, &worker_list); +@@ -441,6 +444,7 @@ static void event_run(struct event *even + worker->event = event; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + event->state = EVENT_RUNNING; + return; + } +@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { + event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + } + + free(s); +@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { + break; + case 't': + event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + break; + case 'D': + debug = true; +@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { + /* check for hanging events */ + udev_list_node_foreach(loop, &worker_list) { + struct worker *worker = node_to_worker(loop); ++ usec_t ts; + + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); +- kill(worker->pid, SIGKILL); +- worker->state = WORKER_KILLED; +- +- /* drop reference taken for state 'running' */ +- worker_unref(worker); +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event, true); +- worker->event = NULL; ++ ts = now(CLOCK_MONOTONIC); ++ ++ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { ++ if ((ts - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); ++ kill(worker->pid, SIGKILL); ++ worker->state = WORKER_KILLED; ++ ++ /* drop reference taken for state 'running' */ ++ worker_unref(worker); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event, true); ++ worker->event = NULL; ++ } else if (!worker->event_warned) { ++ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); ++ worker->event_warned = true; ++ } + } + } + +-- +1.7.9.2 + diff --git a/1078-udev-remove-userspace-firmware-loading-support.patch b/1078-udev-remove-userspace-firmware-loading-support.patch new file mode 100644 index 00000000..42e0af98 --- /dev/null +++ b/1078-udev-remove-userspace-firmware-loading-support.patch @@ -0,0 +1,349 @@ +From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 30 Aug 2014 11:34:20 +0200 +Subject: [PATCH] udev: remove userspace firmware loading support + +--- + Makefile.am | 12 --- + README | 9 +-- + TODO | 1 - + configure.ac | 20 ----- + src/udev/udev-builtin-firmware.c | 154 --------------------------------------- + src/udev/udev-builtin.c | 3 - + src/udev/udev.h | 6 -- + src/udev/udevd.c | 13 ---- + +Index: systemd-210/configure.ac +=================================================================== +--- systemd-210.orig/configure.ac ++++ systemd-210/configure.ac +@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th + fi + + # ------------------------------------------------------------------------------ +-AC_ARG_WITH(firmware-path, +- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], +- [Firmware search path (default="")]), +- [], [with_firmware_path=""]) +-OLD_IFS=$IFS +-IFS=: +-for i in $with_firmware_path; do +- if test "x${FIRMWARE_PATH}" = "x"; then +- FIRMWARE_PATH="\\\"${i}/\\\"" +- else +- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" +- fi +-done +-IFS=$OLD_IFS +-AC_SUBST(FIRMWARE_PATH) +-AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) +-AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) +- +-# ------------------------------------------------------------------------------ + AC_ARG_ENABLE([gudev], + AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), + [], [enable_gudev=yes]) +@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ + Build Python: ${PYTHON} + Installation Python: ${PYTHON_BINARY} + sphinx binary: ${SPHINX_BUILD} +- firmware path: ${FIRMWARE_PATH} + PAM modules dir: ${with_pamlibdir} + PAM configuration dir: ${with_pamconfdir} + D-Bus policy dir: ${with_dbuspolicydir} +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ + $(BLKID_LIBS) \ + $(KMOD_LIBS) + +-libudev_core_la_CPPFLAGS = \ +- $(AM_CPPFLAGS) \ +- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" +- +-if ENABLE_FIRMWARE +-libudev_core_la_SOURCES += \ +- src/udev/udev-builtin-firmware.c +- +-dist_udevrules_DATA += \ +- rules/50-firmware.rules +-endif +- + if HAVE_KMOD + libudev_core_la_SOURCES += \ + src/udev/udev-builtin-kmod.c +Index: systemd-210/README +=================================================================== +--- systemd-210.orig/README ++++ systemd-210/README +@@ -51,14 +51,14 @@ REQUIREMENTS: + + Linux kernel >= 3.8 for Smack support + +- Udev will fail to work with the legacy layout: ++ Udev will fail to work with the legacy sysfs layout: + CONFIG_SYSFS_DEPRECATED=n + + Legacy hotplug slows down the system and confuses udev: + CONFIG_UEVENT_HELPER_PATH="" + +- Userspace firmware loading is deprecated, will go away, and +- sometimes causes problems: ++ Userspace firmware loading is not supported and should ++ be disabled in the kernel + CONFIG_FW_LOADER_USER_HELPER=n + + Some udev rules and virtualization detection relies on it: +Index: systemd-210/src/udev/udev-builtin.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin.c ++++ systemd-210/src/udev/udev-builtin.c +@@ -34,9 +34,6 @@ static const struct udev_builtin *builti + [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, + #endif + [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, +-#ifdef HAVE_FIRMWARE +- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, +-#endif + [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, + [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, + [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, +Index: systemd-210/src/udev/udev-builtin-firmware.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-firmware.c ++++ /dev/null +@@ -1,157 +0,0 @@ +-/* +- * firmware - Kernel firmware loader +- * +- * Copyright (C) 2009 Piter Punk +- * Copyright (C) 2009-2011 Kay Sievers +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2 of the +- * License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details:* +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "udev.h" +- +-static bool set_loading(struct udev *udev, char *loadpath, const char *state) +-{ +- FILE *ldfile; +- +- ldfile = fopen(loadpath, "we"); +- if (ldfile == NULL) { +- log_error("error: can not open '%s'", loadpath); +- return false; +- }; +- fprintf(ldfile, "%s\n", state); +- fclose(ldfile); +- return true; +-} +- +-static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) +-{ +- char *buf; +- FILE *fsource = NULL, *ftarget = NULL; +- bool ret = false; +- +- buf = malloc(size); +- if (buf == NULL) { +- log_error("No memory available to load firmware file"); +- return false; +- } +- +- log_debug("writing '%s' (%zi) to '%s'", source, size, target); +- +- fsource = fopen(source, "re"); +- if (fsource == NULL) +- goto exit; +- ftarget = fopen(target, "we"); +- if (ftarget == NULL) +- goto exit; +- if (fread(buf, size, 1, fsource) != 1) +- goto exit; +- if (fwrite(buf, size, 1, ftarget) == 1) +- ret = true; +-exit: +- if (ftarget != NULL) +- fclose(ftarget); +- if (fsource != NULL) +- fclose(fsource); +- free(buf); +- return ret; +-} +- +-static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) +-{ +- struct udev *udev = udev_device_get_udev(dev); +- static const char *searchpath[] = { FIRMWARE_PATH }; +- char loadpath[UTIL_PATH_SIZE]; +- char datapath[UTIL_PATH_SIZE]; +- char fwpath[UTIL_PATH_SIZE]; +- const char *firmware; +- FILE *fwfile = NULL; +- struct utsname kernel; +- struct stat statbuf; +- unsigned int i; +- int rc = EXIT_SUCCESS; +- +- firmware = udev_device_get_property_value(dev, "FIRMWARE"); +- if (firmware == NULL) { +- log_error("firmware parameter missing"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- /* lookup firmware file */ +- uname(&kernel); +- for (i = 0; i < ELEMENTSOF(searchpath); i++) { +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- } +- +- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); +- +- if (fwfile == NULL) { +- log_debug("did not find firmware file '%s'", firmware); +- rc = EXIT_FAILURE; +- /* +- * Do not cancel the request in the initrd, the real root might have +- * the firmware file and the 'coldplug' run in the real root will find +- * this pending request and fulfill or cancel it. +- * */ +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- goto exit; +- } +- +- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- if (!set_loading(udev, loadpath, "1")) +- goto exit; +- +- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); +- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { +- log_error("error sending firmware '%s' to device", firmware); +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- }; +- +- set_loading(udev, loadpath, "0"); +-exit: +- if (fwfile) +- fclose(fwfile); +- return rc; +-} +- +-const struct udev_builtin udev_builtin_firmware = { +- .name = "firmware", +- .cmd = builtin_firmware, +- .help = "kernel firmware loader", +- .run_once = true, +-}; +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -100,9 +100,6 @@ struct event { + dev_t devnum; + int ifindex; + bool is_block; +-#ifdef HAVE_FIRMWARE +- bool nodelay; +-#endif + }; + + static inline struct event *node_to_event(struct udev_list_node *node) +@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude + event->devnum = udev_device_get_devnum(dev); + event->is_block = streq("block", udev_device_get_subsystem(dev)); + event->ifindex = udev_device_get_ifindex(dev); +-#ifdef HAVE_FIRMWARE +- if (streq(udev_device_get_subsystem(dev), "firmware")) +- event->nodelay = true; +-#endif + + udev_queue_export_device_queued(udev_queue_export, dev); + log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), +@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event + return true; + } + +-#ifdef HAVE_FIRMWARE +- /* allow to bypass the dependency tracking */ +- if (event->nodelay) +- continue; +-#endif +- + /* parent device event found */ + if (event->devpath[common] == '/') { + event->delaying_seqnum = loop_event->seqnum; +Index: systemd-210/src/udev/udev.h +=================================================================== +--- systemd-210.orig/src/udev/udev.h ++++ systemd-210/src/udev/udev.h +@@ -141,9 +141,6 @@ enum udev_builtin_cmd { + UDEV_BUILTIN_BLKID, + #endif + UDEV_BUILTIN_BTRFS, +-#ifdef HAVE_FIRMWARE +- UDEV_BUILTIN_FIRMWARE, +-#endif + UDEV_BUILTIN_HWDB, + UDEV_BUILTIN_INPUT_ID, + UDEV_BUILTIN_KEYBOARD, +@@ -172,9 +169,6 @@ struct udev_builtin { + extern const struct udev_builtin udev_builtin_blkid; + #endif + extern const struct udev_builtin udev_builtin_btrfs; +-#ifdef HAVE_FIRMWARE +-extern const struct udev_builtin udev_builtin_firmware; +-#endif + extern const struct udev_builtin udev_builtin_hwdb; + extern const struct udev_builtin udev_builtin_input_id; + extern const struct udev_builtin udev_builtin_keyboard; +Index: systemd-210/TODO +=================================================================== +--- systemd-210.orig/TODO ++++ systemd-210/TODO +@@ -541,7 +541,6 @@ Features: + * ExecOnFailure=/usr/bin/foo + + * udev: +- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) + - move to LGPL + - kill scsi_id + - add trigger --subsystem-match=usb/usb_device device + diff --git a/1079-udev-remove-userspace-firmware-loading-support.patch b/1079-udev-remove-userspace-firmware-loading-support.patch new file mode 100644 index 00000000..37a5e752 --- /dev/null +++ b/1079-udev-remove-userspace-firmware-loading-support.patch @@ -0,0 +1,349 @@ +From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 30 Aug 2014 11:34:20 +0200 +Subject: [PATCH] udev: remove userspace firmware loading support + +--- + Makefile.am | 12 --- + README | 9 +-- + TODO | 1 - + configure.ac | 20 ----- + src/udev/udev-builtin-firmware.c | 154 --------------------------------------- + src/udev/udev-builtin.c | 3 - + src/udev/udev.h | 6 -- + src/udev/udevd.c | 13 ---- + +Index: systemd-210/configure.ac +=================================================================== +--- systemd-210.orig/configure.ac ++++ systemd-210/configure.ac +@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th + fi + + # ------------------------------------------------------------------------------ +-AC_ARG_WITH(firmware-path, +- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], +- [Firmware search path (default="")]), +- [], [with_firmware_path=""]) +-OLD_IFS=$IFS +-IFS=: +-for i in $with_firmware_path; do +- if test "x${FIRMWARE_PATH}" = "x"; then +- FIRMWARE_PATH="\\\"${i}/\\\"" +- else +- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" +- fi +-done +-IFS=$OLD_IFS +-AC_SUBST(FIRMWARE_PATH) +-AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) +-AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) +- +-# ------------------------------------------------------------------------------ + AC_ARG_ENABLE([gudev], + AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), + [], [enable_gudev=yes]) +@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ + Build Python: ${PYTHON} + Installation Python: ${PYTHON_BINARY} + sphinx binary: ${SPHINX_BUILD} +- firmware path: ${FIRMWARE_PATH} + PAM modules dir: ${with_pamlibdir} + PAM configuration dir: ${with_pamconfdir} + D-Bus policy dir: ${with_dbuspolicydir} +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ + $(BLKID_LIBS) \ + $(KMOD_LIBS) + +-libudev_core_la_CPPFLAGS = \ +- $(AM_CPPFLAGS) \ +- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" +- +-if ENABLE_FIRMWARE +-libudev_core_la_SOURCES += \ +- src/udev/udev-builtin-firmware.c +- +-dist_udevrules_DATA += \ +- rules/50-firmware.rules +-endif +- + if HAVE_KMOD + libudev_core_la_SOURCES += \ + src/udev/udev-builtin-kmod.c +Index: systemd-210/README +=================================================================== +--- systemd-210.orig/README ++++ systemd-210/README +@@ -51,14 +51,14 @@ REQUIREMENTS: + + Linux kernel >= 3.8 for Smack support + +- Udev will fail to work with the legacy layout: ++ Udev will fail to work with the legacy sysfs layout: + CONFIG_SYSFS_DEPRECATED=n + + Legacy hotplug slows down the system and confuses udev: + CONFIG_UEVENT_HELPER_PATH="" + +- Userspace firmware loading is deprecated, will go away, and +- sometimes causes problems: ++ Userspace firmware loading is not supported and should ++ be disabled in the kernel + CONFIG_FW_LOADER_USER_HELPER=n + + Some udev rules and virtualization detection relies on it: +Index: systemd-210/src/udev/udev-builtin.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin.c ++++ systemd-210/src/udev/udev-builtin.c +@@ -34,9 +34,6 @@ static const struct udev_builtin *builti + [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, + #endif + [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, +-#ifdef HAVE_FIRMWARE +- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, +-#endif + [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, + [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, + [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, +Index: systemd-210/src/udev/udev-builtin-firmware.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-firmware.c ++++ /dev/null +@@ -1,157 +0,0 @@ +-/* +- * firmware - Kernel firmware loader +- * +- * Copyright (C) 2009 Piter Punk +- * Copyright (C) 2009-2011 Kay Sievers +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2 of the +- * License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details:* +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "udev.h" +- +-static bool set_loading(struct udev *udev, char *loadpath, const char *state) +-{ +- FILE *ldfile; +- +- ldfile = fopen(loadpath, "we"); +- if (ldfile == NULL) { +- log_error("error: can not open '%s'", loadpath); +- return false; +- }; +- fprintf(ldfile, "%s\n", state); +- fclose(ldfile); +- return true; +-} +- +-static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) +-{ +- char *buf; +- FILE *fsource = NULL, *ftarget = NULL; +- bool ret = false; +- +- buf = malloc(size); +- if (buf == NULL) { +- log_error("No memory available to load firmware file"); +- return false; +- } +- +- log_debug("writing '%s' (%zi) to '%s'", source, size, target); +- +- fsource = fopen(source, "re"); +- if (fsource == NULL) +- goto exit; +- ftarget = fopen(target, "we"); +- if (ftarget == NULL) +- goto exit; +- if (fread(buf, size, 1, fsource) != 1) +- goto exit; +- if (fwrite(buf, size, 1, ftarget) == 1) +- ret = true; +-exit: +- if (ftarget != NULL) +- fclose(ftarget); +- if (fsource != NULL) +- fclose(fsource); +- free(buf); +- return ret; +-} +- +-static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) +-{ +- struct udev *udev = udev_device_get_udev(dev); +- static const char *searchpath[] = { FIRMWARE_PATH }; +- char loadpath[UTIL_PATH_SIZE]; +- char datapath[UTIL_PATH_SIZE]; +- char fwpath[UTIL_PATH_SIZE]; +- const char *firmware; +- FILE *fwfile = NULL; +- struct utsname kernel; +- struct stat statbuf; +- unsigned int i; +- int rc = EXIT_SUCCESS; +- +- firmware = udev_device_get_property_value(dev, "FIRMWARE"); +- if (firmware == NULL) { +- log_error("firmware parameter missing"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- /* lookup firmware file */ +- uname(&kernel); +- for (i = 0; i < ELEMENTSOF(searchpath); i++) { +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- } +- +- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); +- +- if (fwfile == NULL) { +- log_debug("did not find firmware file '%s'", firmware); +- rc = EXIT_FAILURE; +- /* +- * Do not cancel the request in the initrd, the real root might have +- * the firmware file and the 'coldplug' run in the real root will find +- * this pending request and fulfill or cancel it. +- * */ +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- goto exit; +- } +- +- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- if (!set_loading(udev, loadpath, "1")) +- goto exit; +- +- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); +- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { +- log_error("error sending firmware '%s' to device", firmware); +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- }; +- +- set_loading(udev, loadpath, "0"); +-exit: +- if (fwfile) +- fclose(fwfile); +- return rc; +-} +- +-const struct udev_builtin udev_builtin_firmware = { +- .name = "firmware", +- .cmd = builtin_firmware, +- .help = "kernel firmware loader", +- .run_once = true, +-}; +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -100,9 +100,6 @@ struct event { + dev_t devnum; + int ifindex; + bool is_block; +-#ifdef HAVE_FIRMWARE +- bool nodelay; +-#endif + }; + + static inline struct event *node_to_event(struct udev_list_node *node) +@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude + event->devnum = udev_device_get_devnum(dev); + event->is_block = streq("block", udev_device_get_subsystem(dev)); + event->ifindex = udev_device_get_ifindex(dev); +-#ifdef HAVE_FIRMWARE +- if (streq(udev_device_get_subsystem(dev), "firmware")) +- event->nodelay = true; +-#endif + + log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), + udev_device_get_action(dev), udev_device_get_subsystem(dev)); +@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event + return true; + } + +-#ifdef HAVE_FIRMWARE +- /* allow to bypass the dependency tracking */ +- if (event->nodelay) +- continue; +-#endif +- + /* parent device event found */ + if (event->devpath[common] == '/') { + event->delaying_seqnum = loop_event->seqnum; +Index: systemd-210/src/udev/udev.h +=================================================================== +--- systemd-210.orig/src/udev/udev.h ++++ systemd-210/src/udev/udev.h +@@ -141,9 +141,6 @@ enum udev_builtin_cmd { + UDEV_BUILTIN_BLKID, + #endif + UDEV_BUILTIN_BTRFS, +-#ifdef HAVE_FIRMWARE +- UDEV_BUILTIN_FIRMWARE, +-#endif + UDEV_BUILTIN_HWDB, + UDEV_BUILTIN_INPUT_ID, + UDEV_BUILTIN_KEYBOARD, +@@ -172,9 +169,6 @@ struct udev_builtin { + extern const struct udev_builtin udev_builtin_blkid; + #endif + extern const struct udev_builtin udev_builtin_btrfs; +-#ifdef HAVE_FIRMWARE +-extern const struct udev_builtin udev_builtin_firmware; +-#endif + extern const struct udev_builtin udev_builtin_hwdb; + extern const struct udev_builtin udev_builtin_input_id; + extern const struct udev_builtin udev_builtin_keyboard; +Index: systemd-210/TODO +=================================================================== +--- systemd-210.orig/TODO ++++ systemd-210/TODO +@@ -541,7 +541,6 @@ Features: + * ExecOnFailure=/usr/bin/foo + + * udev: +- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) + - move to LGPL + - kill scsi_id + - add trigger --subsystem-match=usb/usb_device device + diff --git a/systemd-mini.changes b/systemd-mini.changes index dca120be..6299a5c6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,63 @@ +------------------------------------------------------------------- +Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de + +- Add upstream patches as real fixes + 0001-activate-fix-fd-leak-in-do_accept.patch + 0002-analyze-avoid-a-null-dereference.patch + 0003-analyze-fix-mem-leak.patch + 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch + 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch + 0006-bus-unref-buscreds-on-failure.patch + 0007-core-fix-a-potential-mem-leak.patch + 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch + 0009-journal-do-not-leak-mmaps-on-OOM.patch + 0010-manager-use-correct-cleanup-function.patch +- Intergrate the work of Robert and rename the patch + 1068-udev-remove-userspace-firmware-loading-support.patch + to 1078-udev-remove-userspace-firmware-loading-support.patch + Also add patch + 1079-udev-remove-userspace-firmware-loading-support.patch + to apply the same change for opensuse 13.2 and above + +------------------------------------------------------------------- +Tue Sep 16 10:21:02 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-systemctl-allow-to-change-the-default-target-without.patch + to allow to override default target without --force (bnc#896664) + +------------------------------------------------------------------- +Tue Sep 16 09:10:52 UTC 2014 - werner@suse.de + +- Add upstream patches for udev + 1068-udev-net_setup_link-export-the-.link-filename-applie.patch + 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch + 1070-rules-net-setup-link-remove-stray-linebreak.patch + 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch + 1072-udev-netif_rename-don-t-log-to-kmsg.patch + 1073-udev-drop-print_kmsg.patch + 1074-udev-fix-copy-paste-error-in-log-message.patch + 1075-udev-timeout-increase-timeout.patch (bnc#889297) + 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) + 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) + +------------------------------------------------------------------- +Tue Sep 16 07:55:37 UTC 2014 - rmilasan@suse.com + +- udev: remove userspace firmware loading support (bnc#889297). + Add 1068-udev-remove-userspace-firmware-loading-support.patch + +------------------------------------------------------------------- +Sat Sep 13 13:35:33 UTC 2014 - rmilasan@suse.com + +- udev: always resolve correctly database names on 'change' event (bnc#864745). + Add 1067-udev-always-resolve-correctly-database-names-on-chan.patch + +------------------------------------------------------------------- +Tue Sep 9 14:36:20 UTC 2014 - werner@suse.de + +- Add upstream patch 0009-hwdb-update.patch + ------------------------------------------------------------------- Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 978f7b3d..09ccb39c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -832,6 +832,30 @@ Patch400: 0001-login-simplify-controller-handling.patch Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch # PATCH-FIX-UPSTREAM added at 2014/09/08 Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/09/09 +Patch403: 0009-hwdb-update.patch +# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force +Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch406: 0002-analyze-avoid-a-null-dereference.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch407: 0003-analyze-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch410: 0006-bus-unref-buscreds-on-failure.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch411: 0007-core-fix-a-potential-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch414: 0010-manager-use-correct-cleanup-function.patch # UDEV PATCHES # ============ @@ -971,6 +995,32 @@ Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) +Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch +# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch +Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch +# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch +Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch +# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch +Patch1073: 1073-udev-drop-print_kmsg.patch +# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch +Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch +# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch +Patch1075: 1075-udev-timeout-increase-timeout.patch +# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch +Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch +Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1534,6 +1584,18 @@ cp %{SOURCE7} m4/ %patch400 -p0 %patch401 -p0 %patch402 -p0 +%patch403 -p0 +%patch404 -p0 +%patch405 -p0 +%patch406 -p0 +%patch407 -p0 +%patch408 -p0 +%patch409 -p0 +%patch410 -p0 +%patch411 -p0 +%patch412 -p0 +%patch413 -p0 +%patch414 -p0 # udev patches %patch1001 -p1 @@ -1623,6 +1685,27 @@ cp %{SOURCE7} m4/ %patch1064 -p0 %patch1065 -p0 %patch1066 -p1 +%patch1067 -p1 +%patch1068 -p0 +%patch1069 -p0 +%patch1070 -p0 +%patch1071 -p0 +%patch1072 -p0 +%patch1073 -p0 +%patch1074 -p0 +%patch1075 -p0 +%if %{with udevsettle} +%patch1076 -p0 +%else +%patch1077 -p0 +%endif +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1079 -p1 +%else +%patch1078 -p1 +%endif +%endif # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index dca120be..6299a5c6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,63 @@ +------------------------------------------------------------------- +Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de + +- Add upstream patches as real fixes + 0001-activate-fix-fd-leak-in-do_accept.patch + 0002-analyze-avoid-a-null-dereference.patch + 0003-analyze-fix-mem-leak.patch + 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch + 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch + 0006-bus-unref-buscreds-on-failure.patch + 0007-core-fix-a-potential-mem-leak.patch + 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch + 0009-journal-do-not-leak-mmaps-on-OOM.patch + 0010-manager-use-correct-cleanup-function.patch +- Intergrate the work of Robert and rename the patch + 1068-udev-remove-userspace-firmware-loading-support.patch + to 1078-udev-remove-userspace-firmware-loading-support.patch + Also add patch + 1079-udev-remove-userspace-firmware-loading-support.patch + to apply the same change for opensuse 13.2 and above + +------------------------------------------------------------------- +Tue Sep 16 10:21:02 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-systemctl-allow-to-change-the-default-target-without.patch + to allow to override default target without --force (bnc#896664) + +------------------------------------------------------------------- +Tue Sep 16 09:10:52 UTC 2014 - werner@suse.de + +- Add upstream patches for udev + 1068-udev-net_setup_link-export-the-.link-filename-applie.patch + 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch + 1070-rules-net-setup-link-remove-stray-linebreak.patch + 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch + 1072-udev-netif_rename-don-t-log-to-kmsg.patch + 1073-udev-drop-print_kmsg.patch + 1074-udev-fix-copy-paste-error-in-log-message.patch + 1075-udev-timeout-increase-timeout.patch (bnc#889297) + 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) + 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) + +------------------------------------------------------------------- +Tue Sep 16 07:55:37 UTC 2014 - rmilasan@suse.com + +- udev: remove userspace firmware loading support (bnc#889297). + Add 1068-udev-remove-userspace-firmware-loading-support.patch + +------------------------------------------------------------------- +Sat Sep 13 13:35:33 UTC 2014 - rmilasan@suse.com + +- udev: always resolve correctly database names on 'change' event (bnc#864745). + Add 1067-udev-always-resolve-correctly-database-names-on-chan.patch + +------------------------------------------------------------------- +Tue Sep 9 14:36:20 UTC 2014 - werner@suse.de + +- Add upstream patch 0009-hwdb-update.patch + ------------------------------------------------------------------- Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 02c895a9..17b43729 100644 --- a/systemd.spec +++ b/systemd.spec @@ -827,6 +827,30 @@ Patch400: 0001-login-simplify-controller-handling.patch Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch # PATCH-FIX-UPSTREAM added at 2014/09/08 Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/09/09 +Patch403: 0009-hwdb-update.patch +# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force +Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch406: 0002-analyze-avoid-a-null-dereference.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch407: 0003-analyze-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch410: 0006-bus-unref-buscreds-on-failure.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch411: 0007-core-fix-a-potential-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch414: 0010-manager-use-correct-cleanup-function.patch # UDEV PATCHES # ============ @@ -966,6 +990,32 @@ Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) +Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch +# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch +Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch +# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch +Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch +# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch +Patch1073: 1073-udev-drop-print_kmsg.patch +# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch +Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch +# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch +Patch1075: 1075-udev-timeout-increase-timeout.patch +# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch +Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch +Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1529,6 +1579,18 @@ cp %{SOURCE7} m4/ %patch400 -p0 %patch401 -p0 %patch402 -p0 +%patch403 -p0 +%patch404 -p0 +%patch405 -p0 +%patch406 -p0 +%patch407 -p0 +%patch408 -p0 +%patch409 -p0 +%patch410 -p0 +%patch411 -p0 +%patch412 -p0 +%patch413 -p0 +%patch414 -p0 # udev patches %patch1001 -p1 @@ -1618,6 +1680,27 @@ cp %{SOURCE7} m4/ %patch1064 -p0 %patch1065 -p0 %patch1066 -p1 +%patch1067 -p1 +%patch1068 -p0 +%patch1069 -p0 +%patch1070 -p0 +%patch1071 -p0 +%patch1072 -p0 +%patch1073 -p0 +%patch1074 -p0 +%patch1075 -p0 +%if %{with udevsettle} +%patch1076 -p0 +%else +%patch1077 -p0 +%endif +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1079 -p1 +%else +%patch1078 -p1 +%endif +%endif # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ From e7c96ab7f38529d0480b4db502e0682e8650259568ab8dd9e0fca084414c7ce2 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 20 Sep 2014 13:51:16 +0000 Subject: [PATCH 201/991] Accepting request 250254 from Base:System - Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic to solve bnc#888612 - AUDIT-0: Power button press at gdm login should not prompt for credentials - Add upstream bugfix patches 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch 0003-mount-order-options-before-other-arguments-to-mount.patch 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch 0005-shared-label.h-add-missing-stdio.h-include.patch 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch 1081-udevd-check-return-of-various-functions.patch 1082-udevadm-hwdb-check-return-value-of-fseeko.patch 1083-udev-node-warn-if-chmod-chown-fails.patch 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch 1085-udev-fix-typos.patch 1086-udevd-don-t-fail-if-run-udev-exists.patch - Add upstream bugfix patches 0001-core-fix-resource-leak-in-manager_environment_add.patch 0002-util-remove-a-unnecessary-check.patch 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch 0004-shared-conf-parser.patch 0005-logind-fix-typo.patch 0006-systemctl-fix-resource-leak-CID-1237747.patch 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc OBS-URL: https://build.opensuse.org/request/show/250254 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=207 --- 0001-bnc888612-logind-polkit-acpi.patch | 75 +++++++++++++ ...urce-leak-in-manager_environment_add.patch | 32 ++++++ ...ount-on-the-compiler-initializing-fo.patch | 30 +++++ ...lude-fcntl.h-rather-than-sys-fcntl.h.patch | 25 +++++ 0002-util-remove-a-unnecessary-check.patch | 25 +++++ ...ions-before-other-arguments-to-mount.patch | 39 +++++++ ...xplicitly-don-t-read-from-invalid-fd.patch | 27 +++++ 0004-shared-conf-parser.patch | 31 +++++ ...-don-t-clear-store_wtmp-in-utmp_put_.patch | 106 ++++++++++++++++++ 0005-logind-fix-typo.patch | 25 +++++ ...-label.h-add-missing-stdio.h-include.patch | 24 ++++ ...dian.h-add-missing-byteswap.h-includ.patch | 24 ++++ ...temctl-fix-resource-leak-CID-1237747.patch | 35 ++++++ ...warn-if-we-fail-to-request-SO_PASSCR.patch | 29 +++++ ...er-don-t-leak-memory-on-error-in-DEF.patch | 52 +++++++++ ...int_property-to-use-int-for-booleans.patch | 29 +++++ ...se_argv-warn-if-argumens-are-invalid.patch | 73 ++++++++++++ ...vd-check-return-of-various-functions.patch | 55 +++++++++ ...dm-hwdb-check-return-value-of-fseeko.patch | 45 ++++++++ ...-udev-node-warn-if-chmod-chown-fails.patch | 34 ++++++ ...trl-log-if-setting-SO_PASSCRED-fails.patch | 45 ++++++++ 1085-udev-fix-typos.patch | 33 ++++++ ...-udevd-don-t-fail-if-run-udev-exists.patch | 25 +++++ systemd-mini.changes | 51 +++++++++ systemd-mini.spec | 69 ++++++++++++ systemd.changes | 51 +++++++++ systemd.spec | 69 ++++++++++++ 27 files changed, 1158 insertions(+) create mode 100644 0001-bnc888612-logind-polkit-acpi.patch create mode 100644 0001-core-fix-resource-leak-in-manager_environment_add.patch create mode 100644 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch create mode 100644 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch create mode 100644 0002-util-remove-a-unnecessary-check.patch create mode 100644 0003-mount-order-options-before-other-arguments-to-mount.patch create mode 100644 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch create mode 100644 0004-shared-conf-parser.patch create mode 100644 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch create mode 100644 0005-logind-fix-typo.patch create mode 100644 0005-shared-label.h-add-missing-stdio.h-include.patch create mode 100644 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch create mode 100644 0006-systemctl-fix-resource-leak-CID-1237747.patch create mode 100644 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch create mode 100644 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch create mode 100644 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch create mode 100644 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch create mode 100644 1081-udevd-check-return-of-various-functions.patch create mode 100644 1082-udevadm-hwdb-check-return-value-of-fseeko.patch create mode 100644 1083-udev-node-warn-if-chmod-chown-fails.patch create mode 100644 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch create mode 100644 1085-udev-fix-typos.patch create mode 100644 1086-udevd-don-t-fail-if-run-udev-exists.patch diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch new file mode 100644 index 00000000..ba3a1b52 --- /dev/null +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -0,0 +1,75 @@ +--- + src/login/logind-action.c | 5 +++++ + src/login/logind-dbus.c | 20 ++++++++++++++++---- + 2 files changed, 21 insertions(+), 4 deletions(-) + +Index: systemd-210/src/login/logind-action.c +=================================================================== +--- systemd-210/src/login/logind-action.c ++++ systemd-210/src/login/logind-action.c +@@ -101,6 +101,11 @@ int manager_handle_action( + + /* If the key handling is inhibited, don't do anything */ + if (inhibit_key > 0) { ++ if (inhibit_key == INHIBIT_HANDLE_POWER_KEY) { ++ int fd; ++ fd = open("/run/systemd/acpi-shutdown", O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR); ++ close(fd); ++ } + if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { + log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); + return 0; +Index: systemd-210/src/login/logind-dbus.c +=================================================================== +--- systemd-210/src/login/logind-dbus.c ++++ systemd-210/src/login/logind-dbus.c +@@ -1469,9 +1469,11 @@ static int method_do_shutdown_or_sleep( + sd_bus_error *error) { + + _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; +- bool multiple_sessions, blocked; ++ bool multiple_sessions, blocked, shutdown_through_acpi; + int interactive, r; + uid_t uid; ++ int fd; ++ struct stat buf; + + assert(m); + assert(message); +@@ -1515,7 +1517,17 @@ static int method_do_shutdown_or_sleep( + multiple_sessions = r > 0; + blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); + +- if (multiple_sessions) { ++ fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); ++ if (fd >= 0) { ++ shutdown_through_acpi = ((fstat(fd,&buf) == 0) && (time(NULL) - buf.st_mtime <= 65)); ++ close(fd); ++ unlink ("/run/systemd/acpi-shutdown"); ++ } ++ else ++ shutdown_through_acpi = false; ++ ++ ++ if (multiple_sessions && !shutdown_through_acpi) { + r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, + action_multiple_sessions, interactive, error, method, m); + if (r < 0) +@@ -1524,7 +1536,7 @@ static int method_do_shutdown_or_sleep( + return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + +- if (blocked) { ++ if (blocked && !shutdown_through_acpi) { + r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, + action_ignore_inhibit, interactive, error, method, m); + if (r < 0) +@@ -1533,7 +1545,7 @@ static int method_do_shutdown_or_sleep( + return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + +- if (!multiple_sessions && !blocked) { ++ if (!multiple_sessions && !blocked && !shutdown_through_acpi) { + r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, + action, interactive, error, method, m); + if (r < 0) diff --git a/0001-core-fix-resource-leak-in-manager_environment_add.patch b/0001-core-fix-resource-leak-in-manager_environment_add.patch new file mode 100644 index 00000000..7991b3be --- /dev/null +++ b/0001-core-fix-resource-leak-in-manager_environment_add.patch @@ -0,0 +1,32 @@ +From aa9f8a30fd7dc7aa3aa2575b75b3f9a0ab3f02db Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Tue, 16 Sep 2014 21:11:02 +0200 +Subject: [PATCH] core: fix resource leak in manager_environment_add + +Second error path must free the (potentially) allocated memory in the +first code chunk before returning. + +Found by coverity. Fixes: CID#1237750 +--- + src/core/manager.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git src/core/manager.c src/core/manager.c +index 0770727..e0c1cd1 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -2751,8 +2751,10 @@ int manager_environment_add(Manager *m, char **minus, char **plus) { + + if (!strv_isempty(plus)) { + b = strv_env_merge(2, l, plus); +- if (!b) ++ if (!b) { ++ strv_free(a); + return -ENOMEM; ++ } + + l = b; + } +-- +1.7.9.2 + diff --git a/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch b/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch new file mode 100644 index 00000000..1cf00ff0 --- /dev/null +++ b/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch @@ -0,0 +1,30 @@ +From e8c108ca9f11a382742f212f5b42a02536b3d40f Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 17 Sep 2014 00:27:16 +0300 +Subject: [PATCH] journal: Do not count on the compiler initializing + found_last to false + +There is a very unlikely case where this can happen since gcc usually +does the sane thing. But let's make sure found_last is initialized anyway. + +Fixes: CID#996386 +--- + src/journal/journal-verify.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journal-verify.c src/journal/journal-verify.c +index 6c8ca8c..b4e8f73 100644 +--- src/journal/journal-verify.c ++++ src/journal/journal-verify.c +@@ -804,7 +804,7 @@ int journal_file_verify( + usec_t last_usec = 0; + int data_fd = -1, entry_fd = -1, entry_array_fd = -1; + unsigned i; +- bool found_last; ++ bool found_last = false; + #ifdef HAVE_GCRYPT + uint64_t last_tag = 0; + #endif +-- +1.7.9.2 + diff --git a/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch b/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch new file mode 100644 index 00000000..17cd4197 --- /dev/null +++ b/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch @@ -0,0 +1,25 @@ +From fdb8bd0fe7244b72ddc1c08e401ebddefdaf4f46 Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:38 +0200 +Subject: [PATCH] include fcntl.h rather than sys/fcntl.h + +--- + src/socket-proxy/socket-proxyd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/socket-proxy/socket-proxyd.c src/socket-proxy/socket-proxyd.c +index 81d8457..ff2b24f 100644 +--- src/socket-proxy/socket-proxyd.c ++++ src/socket-proxy/socket-proxyd.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +1.7.9.2 + diff --git a/0002-util-remove-a-unnecessary-check.patch b/0002-util-remove-a-unnecessary-check.patch new file mode 100644 index 00000000..ac7cdfb8 --- /dev/null +++ b/0002-util-remove-a-unnecessary-check.patch @@ -0,0 +1,25 @@ +Based on 42646a8bf24be2c9280554c9d8540c67c835b3c4 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Tue, 16 Sep 2014 22:58:35 +0200 +Subject: [PATCH] util: remove a unnecessary check + +We only break out of the previous loop if fd >= 0 so there is no +use in checking it again. + +Found by coverity. Fixes: CID#1237577 +--- + src/shared/util.c | 3 --- + 1 file changed, 3 deletions(-) + +--- src/shared/util.c ++++ src/shared/util.c 2014-09-18 13:05:08.218236754 +0000 +@@ -1772,9 +1772,6 @@ int open_terminal(const char *name, int + c++; + } + +- if (fd < 0) +- return -errno; +- + r = isatty(fd); + if (r < 0) { + close_nointr_nofail(fd); diff --git a/0003-mount-order-options-before-other-arguments-to-mount.patch b/0003-mount-order-options-before-other-arguments-to-mount.patch new file mode 100644 index 00000000..79c0b3ce --- /dev/null +++ b/0003-mount-order-options-before-other-arguments-to-mount.patch @@ -0,0 +1,39 @@ +Based on 141a1ceaa62578f1ed14f04cae2113dd0f49fd7f Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:59 +0200 +Subject: [PATCH] mount: order options before other arguments to mount + +--- + src/core/mount.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +--- src/core/mount.c ++++ src/core/mount.c 2014-09-19 10:13:51.638238597 +0000 +@@ -947,10 +947,11 @@ static void mount_enter_mounting(Mount * + r = exec_command_set( + m->control_command, + "/bin/mount", +- m->parameters_fragment.what, +- m->where, ++ "-n", + "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", + m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options, ++ m->parameters_fragment.what, ++ m->where, + NULL); + else + r = -ENOENT; +@@ -994,10 +995,11 @@ static void mount_enter_remounting(Mount + r = exec_command_set( + m->control_command, + "/bin/mount", +- m->parameters_fragment.what, +- m->where, ++ "-n", + "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", + "-o", o, ++ m->parameters_fragment.what, ++ m->where, + NULL); + } else + r = -ENOENT; diff --git a/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch b/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch new file mode 100644 index 00000000..bad29c52 --- /dev/null +++ b/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch @@ -0,0 +1,27 @@ +From 3f796750b192e62701e91a95f85389f876d1059b Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 17 Sep 2014 21:44:56 +0200 +Subject: [PATCH] udev: event - explicitly don't read() from invalid fd + +This fixes CID #1237641. +--- + src/udev/udev-event.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 6b8b5a8..c8b1420 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -494,6 +494,9 @@ static void spawn_read(struct udev_event *event, + for (i = 0; i < fdcount; i++) { + int *fd = (int *)ev[i].data.ptr; + ++ if (*fd < 0) ++ continue; ++ + if (ev[i].events & EPOLLIN) { + ssize_t count; + char buf[4096]; +-- +1.7.9.2 + diff --git a/0004-shared-conf-parser.patch b/0004-shared-conf-parser.patch new file mode 100644 index 00000000..8a03d9d5 --- /dev/null +++ b/0004-shared-conf-parser.patch @@ -0,0 +1,31 @@ +Based on 83e341a637b75f7f592a5dc717c34d8b67ed4ffa Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 17 Sep 2014 22:17:53 +0200 +Subject: [PATCH] shared: conf-parser + +Check memory allocation. Found by Coverity. + +Fixes CID #1237644. +--- + src/shared/conf-parser.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- src/shared/conf-parser.h ++++ src/shared/conf-parser.h 2014-09-18 13:07:07.314735514 +0000 +@@ -181,6 +181,8 @@ int log_syntax_internal(const char *unit + assert(data); \ + \ + xs = new0(type, 1); \ ++ if(!xs) \ ++ return -ENOMEM; \ + *xs = invalid; \ + \ + FOREACH_WORD(w, l, rvalue, state) { \ +@@ -213,6 +215,7 @@ int log_syntax_internal(const char *unit + xs = realloc(xs, (++i + 1) * sizeof(type)); \ + if (!xs) \ + return -ENOMEM; \ ++ \ + *(xs + i) = invalid; \ + } \ + \ diff --git a/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch b/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch new file mode 100644 index 00000000..596aa557 --- /dev/null +++ b/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch @@ -0,0 +1,106 @@ +From 863f3ce0d050f005839f6aa41fe7bac5478a7b5e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 19 Sep 2014 08:03:31 +0200 +Subject: [PATCH] shared: wtmp-utmp - don't clear store_wtmp in + utmp_put_dead_process() + +Also modernize a few other things and add comments to explain CID #1237503 +and CID #1237504. +--- + src/shared/utmp-wtmp.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git src/shared/utmp-wtmp.c src/shared/utmp-wtmp.c +index 30a0c03..31f13ec 100644 +--- src/shared/utmp-wtmp.c ++++ src/shared/utmp-wtmp.c +@@ -92,8 +92,6 @@ int utmp_get_runlevel(int *runlevel, int *previous) { + static void init_timestamp(struct utmpx *store, usec_t t) { + assert(store); + +- zero(*store); +- + if (t <= 0) + t = now(CLOCK_REALTIME); + +@@ -143,7 +141,7 @@ static int write_entry_wtmp(const struct utmpx *store) { + assert(store); + + /* wtmp is a simple append-only file where each entry is +- simply appended to * the end; i.e. basically a log. */ ++ simply appended to the end; i.e. basically a log. */ + + errno = 0; + updwtmpx(_PATH_WTMPX, store); +@@ -172,7 +170,7 @@ static int write_entry_both(const struct utmpx *store) { + } + + int utmp_put_shutdown(void) { +- struct utmpx store; ++ struct utmpx store = {}; + + init_entry(&store, 0); + +@@ -183,7 +181,7 @@ int utmp_put_shutdown(void) { + } + + int utmp_put_reboot(usec_t t) { +- struct utmpx store; ++ struct utmpx store = {}; + + init_entry(&store, t); + +@@ -206,16 +204,17 @@ _pure_ static const char *sanitize_id(const char *id) { + } + + int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line) { +- struct utmpx store; ++ struct utmpx store = { ++ .ut_type = INIT_PROCESS, ++ .ut_pid = pid, ++ .ut_session = sid, ++ }; + + assert(id); + + init_timestamp(&store, 0); + +- store.ut_type = INIT_PROCESS; +- store.ut_pid = pid; +- store.ut_session = sid; +- ++ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ + strncpy(store.ut_id, sanitize_id(id), sizeof(store.ut_id)); + + if (line) +@@ -225,14 +224,15 @@ int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line + } + + int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { +- struct utmpx lookup, store, store_wtmp, *found; ++ struct utmpx lookup = { ++ .ut_type = INIT_PROCESS /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ ++ }, store, store_wtmp, *found; + + assert(id); + + setutxent(); + +- zero(lookup); +- lookup.ut_type = INIT_PROCESS; /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ ++ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ + strncpy(lookup.ut_id, sanitize_id(id), sizeof(lookup.ut_id)); + + found = getutxid(&lookup); +@@ -260,7 +260,7 @@ int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { + + + int utmp_put_runlevel(int runlevel, int previous) { +- struct utmpx store; ++ struct utmpx store = {}; + int r; + + assert(runlevel > 0); +-- +1.7.9.2 + diff --git a/0005-logind-fix-typo.patch b/0005-logind-fix-typo.patch new file mode 100644 index 00000000..79916e75 --- /dev/null +++ b/0005-logind-fix-typo.patch @@ -0,0 +1,25 @@ +From 2b2332856bafe25c4aa17db2a90bdcddef1fec1a Mon Sep 17 00:00:00 2001 +From: Ronny Chevalier +Date: Wed, 17 Sep 2014 20:10:44 +0200 +Subject: [PATCH] logind: fix typo + +--- + src/login/logind-session-dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/logind-session-dbus.c src/login/logind-session-dbus.c +index 7d81500..58836fc 100644 +--- src/login/logind-session-dbus.c ++++ src/login/logind-session-dbus.c +@@ -249,7 +249,7 @@ static int method_set_idle_hint(sd_bus *bus, sd_bus_message *message, void *user + return r; + + if (uid != 0 && uid != s->user->uid) +- return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session my set idle hint"); ++ return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session may set idle hint"); + + session_set_idle_hint(s, b); + +-- +1.7.9.2 + diff --git a/0005-shared-label.h-add-missing-stdio.h-include.patch b/0005-shared-label.h-add-missing-stdio.h-include.patch new file mode 100644 index 00000000..1c75aacc --- /dev/null +++ b/0005-shared-label.h-add-missing-stdio.h-include.patch @@ -0,0 +1,24 @@ +From 45f15021e3524b04d574b9ff4e801cb3219daf3f Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:42 +0200 +Subject: [PATCH] shared/label.h: add missing stdio.h include + +--- + src/shared/label.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/label.h src/shared/label.h +index 7294820..cb2ec79 100644 +--- src/shared/label.h ++++ src/shared/label.h +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + int label_init(const char *prefix); + void label_finish(void); +-- +1.7.9.2 + diff --git a/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch b/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch new file mode 100644 index 00000000..0dec2f61 --- /dev/null +++ b/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch @@ -0,0 +1,24 @@ +From 8e8af4cfc7fa373504a22e58966909161acfb72f Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:43 +0200 +Subject: [PATCH] shared/sparse-endian.h: add missing byteswap.h include + +--- + src/shared/sparse-endian.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/sparse-endian.h src/shared/sparse-endian.h +index eb4dbf3..c913fda 100644 +--- src/shared/sparse-endian.h ++++ src/shared/sparse-endian.h +@@ -21,6 +21,7 @@ + #ifndef SPARSE_ENDIAN_H + #define SPARSE_ENDIAN_H + ++#include + #include + #include + +-- +1.7.9.2 + diff --git a/0006-systemctl-fix-resource-leak-CID-1237747.patch b/0006-systemctl-fix-resource-leak-CID-1237747.patch new file mode 100644 index 00000000..f8ec6af1 --- /dev/null +++ b/0006-systemctl-fix-resource-leak-CID-1237747.patch @@ -0,0 +1,35 @@ +From 48a2900c6612052149a1d0dd88aeacb99b49ce4d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Wed, 17 Sep 2014 21:56:25 -0300 +Subject: [PATCH] systemctl: fix resource leak CID #1237747 + +..by simply moving the declaration of "unit" into the STRV_FOREACH +loop as suggested by Andreas. +--- + src/systemctl/systemctl.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 88be871..9012128 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -4449,7 +4449,6 @@ static int show(sd_bus *bus, char **args) { + } + + static int cat(sd_bus *bus, char **args) { +- _cleanup_free_ char *unit = NULL; + _cleanup_strv_free_ char **names = NULL; + char **name; + bool first = true; +@@ -4468,6 +4467,8 @@ static int cat(sd_bus *bus, char **args) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + _cleanup_strv_free_ char **dropin_paths = NULL; + _cleanup_free_ char *fragment_path = NULL; ++ _cleanup_free_ char *unit = NULL; ++ + char **path; + + unit = unit_dbus_path_from_name(*name); +-- +1.7.9.2 + diff --git a/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch b/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch new file mode 100644 index 00000000..15857575 --- /dev/null +++ b/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch @@ -0,0 +1,29 @@ +From 9dedfe7f667a8cb22ba85d0223556c69c4fd0e9a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 09:20:46 +0200 +Subject: [PATCH] libudev: monitor - warn if we fail to request SO_PASSCRED + +The function still succeeds, so there is no functional change. This fixes CID #996288. +--- + src/libudev/libudev-monitor.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c +index 186e5e1..59698b8 100644 +--- src/libudev/libudev-monitor.c ++++ src/libudev/libudev-monitor.c +@@ -412,7 +412,10 @@ _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor) + } + + /* enable receiving of sender credentials */ +- setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ if (err < 0) ++ udev_err(udev_monitor->udev, "setting SO_PASSCRED failed: %m\n"); ++ + return 0; + } + +-- +1.7.9.2 + diff --git a/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch b/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch new file mode 100644 index 00000000..3e5d0c03 --- /dev/null +++ b/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch @@ -0,0 +1,52 @@ +Based on 77c10205bb337585c320e91af4b416f2dcc6faba Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 13:47:00 +0200 +Subject: [PATCH] shared: conf-parser - don't leak memory on error in + DEFINE_CONFIG_PARSE_ENUMV + +Found by Coverity. Fixes CID #1237746. +--- + src/shared/conf-parser.h | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- src/shared/conf-parser.h ++++ src/shared/conf-parser.h 2014-09-18 13:14:43.730234764 +0000 +@@ -171,7 +171,8 @@ int log_syntax_internal(const char *unit + void *data, \ + void *userdata) { \ + \ +- type **enums = data, *xs, x, *ys; \ ++ type **enums = data, x, *ys; \ ++ _cleanup_free_ type *xs = NULL; \ + char *w, *state; \ + size_t l, i = 0; \ + \ +@@ -187,6 +188,7 @@ int log_syntax_internal(const char *unit + \ + FOREACH_WORD(w, l, rvalue, state) { \ + _cleanup_free_ char *en = NULL; \ ++ type *new_xs; \ + \ + en = strndup(w, l); \ + if (!en) \ +@@ -212,8 +214,10 @@ int log_syntax_internal(const char *unit + continue; \ + \ + *(xs + i) = x; \ +- xs = realloc(xs, (++i + 1) * sizeof(type)); \ +- if (!xs) \ ++ new_xs = realloc(xs, (++i + 1) * sizeof(type)); \ ++ if (new_xs) \ ++ xs = new_xs; \ ++ else \ + return -ENOMEM; \ + \ + *(xs + i) = invalid; \ +@@ -221,5 +225,7 @@ int log_syntax_internal(const char *unit + \ + free(*enums); \ + *enums = xs; \ ++ xs = NULL; \ ++ \ + return 0; \ + } diff --git a/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch b/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch new file mode 100644 index 00000000..381d0732 --- /dev/null +++ b/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch @@ -0,0 +1,29 @@ +From c2fa048c4a70c8386c6d8fe939e5ea9edecf1e98 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 18 Sep 2014 13:28:28 +0200 +Subject: [PATCH] bus: fix bus_print_property() to use "int" for booleans + +We always use "int" if we retrieve boolean values from sd-bus, as "bool" +is only a single byte, but full int on va-args. + +Thanks to Werner Fink for the report! +--- + src/libsystemd/sd-bus/bus-util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c +index 7c6da60..9018bce 100644 +--- src/libsystemd/sd-bus/bus-util.c ++++ src/libsystemd/sd-bus/bus-util.c +@@ -631,7 +631,7 @@ int bus_print_property(const char *name, sd_bus_message *property, bool all) { + } + + case SD_BUS_TYPE_BOOLEAN: { +- bool b; ++ int b; + + r = sd_bus_message_read_basic(property, type, &b); + if (r < 0) +-- +1.7.9.2 + diff --git a/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch b/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch new file mode 100644 index 00000000..a623b566 --- /dev/null +++ b/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch @@ -0,0 +1,73 @@ +Based on 6f5cf8a8b1de763383f7382821147e538b7dbd6d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:02:03 +0200 +Subject: [PATCH] udevd: parse_argv - warn if argumens are invalid + +Found by Coverity. Fixes CID #1238780. +--- + src/udev/udevd.c | 34 ++++++++++++++++++++++++++-------- + 1 file changed, 26 insertions(+), 8 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-19 10:36:25.602735652 +0000 +@@ -1002,11 +1002,20 @@ static void kernel_cmdline_options(struc + log_set_max_level(prio); + udev_set_log_priority(udev, prio); + } else if (startswith(opt, "udev.children-max=")) { +- children_max = strtoul(opt + 18, NULL, 0); ++ r = safe_atoi(opt + 18, &children_max); ++ if (r < 0) ++ log_warning("Invalid udev.children-max ignored: %s", opt + 18); + } else if (startswith(opt, "udev.exec-delay=")) { +- exec_delay = strtoul(opt + 16, NULL, 0); ++ r = safe_atoi(opt + 16, &exec_delay); ++ if (r < 0) ++ log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); + } else if (startswith(opt, "udev.event-timeout=")) { +- event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; ++ r = safe_atou64(opt + 16, &event_timeout_usec); ++ if (r < 0) { ++ log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); ++ break; ++ } ++ event_timeout_usec *= USEC_PER_SEC; + event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + } + +@@ -1052,7 +1061,7 @@ int main(int argc, char *argv[]) { + label_init("/dev"); + + for (;;) { +- int option; ++ int option, r; + + option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); + if (option == -1) +@@ -1063,14 +1072,23 @@ int main(int argc, char *argv[]) { + daemonize = true; + break; + case 'c': +- children_max = strtoul(optarg, NULL, 0); ++ r = safe_atoi(optarg, &children_max); ++ if (r < 0) ++ log_warning("Invalid --children-max ignored: %s", optarg); + break; + case 'e': +- exec_delay = strtoul(optarg, NULL, 0); ++ r = safe_atoi(optarg, &exec_delay); ++ if (r < 0) ++ log_warning("Invalid --exec-delay ignored: %s", optarg); + break; + case 't': +- event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; +- event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; ++ r = safe_atou64(optarg, &event_timeout_usec); ++ if (r < 0) ++ log_warning("Invalig --event-timeout ignored: %s", optarg); ++ else { ++ event_timeout_usec *= USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; ++ } + break; + case 'D': + debug = true; diff --git a/1081-udevd-check-return-of-various-functions.patch b/1081-udevd-check-return-of-various-functions.patch new file mode 100644 index 00000000..819e4499 --- /dev/null +++ b/1081-udevd-check-return-of-various-functions.patch @@ -0,0 +1,55 @@ +Based on d457ff8319b1e7c522c146f75e272f1226f4720c Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:07:02 +0200 +Subject: [PATCH] udevd: check return of various functions + +One reported by Coverity. Fixes CID #996252. +--- + src/udev/udevd.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-19 11:33:21.566236309 +0000 +@@ -1044,7 +1044,7 @@ int main(int argc, char *argv[]) { + int fd_worker = -1; + struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker; + struct udev_ctrl_connection *ctrl_conn = NULL; +- int rc = 1; ++ int rc = 1, r; + + udev = udev_new(); + if (udev == NULL) +@@ -1058,7 +1058,11 @@ int main(int argc, char *argv[]) { + log_set_max_level(udev_get_log_priority(udev)); + + log_debug("version %s", VERSION); +- label_init("/dev"); ++ r = label_init("/dev"); ++ if (r < 0) { ++ log_error("could not initialize labelling: %s", strerror(-r)); ++ goto exit; ++ } + + for (;;) { + int option, r; +@@ -1137,10 +1141,18 @@ int main(int argc, char *argv[]) { + } + + /* set umask before creating any file/directory */ +- chdir("/"); ++ r = chdir("/"); ++ if (r < 0) { ++ log_error("could not change dir to /: %m"); ++ goto exit; ++ } + umask(022); + +- mkdir("/run/udev", 0755); ++ r = mkdir("/run/udev", 0755); ++ if (r < 0) { ++ log_error("could not create /run/udev: %m"); ++ goto exit; ++ } + + dev_setup(NULL); + diff --git a/1082-udevadm-hwdb-check-return-value-of-fseeko.patch b/1082-udevadm-hwdb-check-return-value-of-fseeko.patch new file mode 100644 index 00000000..27e6dc45 --- /dev/null +++ b/1082-udevadm-hwdb-check-return-value-of-fseeko.patch @@ -0,0 +1,45 @@ +From f901aaadd68050bc575c1c15b84f8f31fd4d494d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:16:54 +0200 +Subject: [PATCH] udevadm: hwdb - check return value of fseeko() + +Fonud by Coverity. Fixes CID #996255. +--- + src/udev/udevadm-hwdb.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git src/udev/udevadm-hwdb.c src/udev/udevadm-hwdb.c +index 65cbf61..64273fb 100644 +--- src/udev/udevadm-hwdb.c ++++ src/udev/udevadm-hwdb.c +@@ -365,7 +365,12 @@ static int trie_store(struct trie *trie, const char *filename) { + fchmod(fileno(t.f), 0444); + + /* write nodes */ +- fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); ++ err = fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); ++ if (err < 0) { ++ fclose(t.f); ++ unlink_noerrno(filename_tmp); ++ return -errno; ++ } + root_off = trie_store_nodes(&t, trie->root); + h.nodes_root_off = htole64(root_off); + pos = ftello(t.f); +@@ -378,7 +383,12 @@ static int trie_store(struct trie *trie, const char *filename) { + /* write header */ + size = ftello(t.f); + h.file_size = htole64(size); +- fseeko(t.f, 0, SEEK_SET); ++ err = fseeko(t.f, 0, SEEK_SET); ++ if (err < 0) { ++ fclose(t.f); ++ unlink_noerrno(filename_tmp); ++ return -errno; ++ } + fwrite(&h, sizeof(struct trie_header_f), 1, t.f); + err = ferror(t.f); + if (err) +-- +1.7.9.2 + diff --git a/1083-udev-node-warn-if-chmod-chown-fails.patch b/1083-udev-node-warn-if-chmod-chown-fails.patch new file mode 100644 index 00000000..0b78f626 --- /dev/null +++ b/1083-udev-node-warn-if-chmod-chown-fails.patch @@ -0,0 +1,34 @@ +From 543afdc63c02a5af3cf6bd2a264162f23474346a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:22:09 +0200 +Subject: [PATCH] udev: node - warn if chmod/chown fails + +No functional change, just log the warning. + +Fonud by Coverity. Fixes CID #1237544. +--- + src/udev/udev-node.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git src/udev/udev-node.c src/udev/udev-node.c +index c164603..8ef7889 100644 +--- src/udev/udev-node.c ++++ src/udev/udev-node.c +@@ -281,8 +281,12 @@ static int node_permissions_apply(struct udev_device *dev, bool apply, + + if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) { + log_debug("set permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); +- chmod(devnode, mode); +- chown(devnode, uid, gid); ++ err = chmod(devnode, mode); ++ if (err < 0) ++ log_warning("setting mode of %s to %#o failed: %m", devnode, mode); ++ err = chown(devnode, uid, gid); ++ if (err < 0) ++ log_warning("setting owner of %s to uid=%u, gid=%u failed: %m", devnode, uid, gid); + } else { + log_debug("preserve permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); + } +-- +1.7.9.2 + diff --git a/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch b/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch new file mode 100644 index 00000000..1e8f4fcf --- /dev/null +++ b/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch @@ -0,0 +1,45 @@ +Based on 4bbdff757ed4e718a3348b93439a03055cc5e3bc Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:26:11 +0200 +Subject: [PATCH] udev: ctrl - log if setting SO_PASSCRED fails + +No functional change. + +Found by Coverity. Fixes CID #1237533. +--- + src/udev/udev-ctrl.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- src/udev/udev-ctrl.c ++++ src/udev/udev-ctrl.c 2014-09-19 10:45:55.494236229 +0000 +@@ -74,6 +74,7 @@ struct udev_ctrl *udev_ctrl_new_from_fd( + { + struct udev_ctrl *uctrl; + const int on = 1; ++ int r; + + uctrl = new0(struct udev_ctrl, 1); + if (uctrl == NULL) +@@ -92,7 +93,9 @@ struct udev_ctrl *udev_ctrl_new_from_fd( + uctrl->bound = true; + uctrl->sock = fd; + } +- setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ r = setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ if (r < 0) ++ log_warning("could not set SO_PASSCRED: %m"); + + uctrl->saddr.sun_family = AF_LOCAL; + strscpy(uctrl->saddr.sun_path, sizeof(uctrl->saddr.sun_path), "/run/udev/control"); +@@ -209,7 +212,10 @@ struct udev_ctrl_connection *udev_ctrl_g + } + + /* enable receiving of the sender credentials in the messages */ +- setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ if (r < 0) ++ log_warning("colud not set SO_PASSCRED: %m"); ++ + udev_ctrl_ref(uctrl); + return conn; + err: diff --git a/1085-udev-fix-typos.patch b/1085-udev-fix-typos.patch new file mode 100644 index 00000000..f6476200 --- /dev/null +++ b/1085-udev-fix-typos.patch @@ -0,0 +1,33 @@ +Based on 65fea570f03df51dadc06a3e0d261a71fe62aa01 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 20:25:33 +0200 +Subject: [PATCH] udev: fix typos + +Spotted by Andreas Henriksson. +--- + src/udev/udev-ctrl.c | 2 +- + src/udev/udevd.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- src/udev/udev-ctrl.c ++++ src/udev/udev-ctrl.c 2014-09-19 00:00:00.000000000 +0000 +@@ -214,7 +214,7 @@ struct udev_ctrl_connection *udev_ctrl_g + /* enable receiving of the sender credentials in the messages */ + r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); + if (r < 0) +- log_warning("colud not set SO_PASSCRED: %m"); ++ log_warning("could not set SO_PASSCRED: %m"); + + udev_ctrl_ref(uctrl); + return conn; +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-19 10:47:36.306235720 +0000 +@@ -1088,7 +1088,7 @@ int main(int argc, char *argv[]) { + case 't': + r = safe_atou64(optarg, &event_timeout_usec); + if (r < 0) +- log_warning("Invalig --event-timeout ignored: %s", optarg); ++ log_warning("Invalid --event-timeout ignored: %s", optarg); + else { + event_timeout_usec *= USEC_PER_SEC; + event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; diff --git a/1086-udevd-don-t-fail-if-run-udev-exists.patch b/1086-udevd-don-t-fail-if-run-udev-exists.patch new file mode 100644 index 00000000..7f574d6a --- /dev/null +++ b/1086-udevd-don-t-fail-if-run-udev-exists.patch @@ -0,0 +1,25 @@ +From 25773e7fc59b4ce53d67da4e18bfe4d13ab0b14b Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 21:57:49 +0200 +Subject: [PATCH] udevd: don't fail if /run/udev exists + +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index 37db81c..29ccb51 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -1155,7 +1155,7 @@ int main(int argc, char *argv[]) { + umask(022); + + r = mkdir("/run/udev", 0755); +- if (r < 0) { ++ if (r < 0 && errno != EEXIST) { + log_error("could not create /run/udev: %m"); + goto exit; + } +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 6299a5c6..d2bbba4a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de + +- Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic + to solve bnc#888612 - AUDIT-0: Power button press at gdm login + should not prompt for credentials + +------------------------------------------------------------------- +Fri Sep 19 11:36:48 UTC 2014 - werner@suse.de + +- Add upstream bugfix patches + 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch + 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch + 0003-mount-order-options-before-other-arguments-to-mount.patch + 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch + 0005-shared-label.h-add-missing-stdio.h-include.patch + 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch + 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch + 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch + 1081-udevd-check-return-of-various-functions.patch + 1082-udevadm-hwdb-check-return-value-of-fseeko.patch + 1083-udev-node-warn-if-chmod-chown-fails.patch + 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch + 1085-udev-fix-typos.patch + 1086-udevd-don-t-fail-if-run-udev-exists.patch + +------------------------------------------------------------------- +Thu Sep 18 13:21:45 UTC 2014 - werner@suse.de + +- Add upstream bugfix patches + 0001-core-fix-resource-leak-in-manager_environment_add.patch + 0002-util-remove-a-unnecessary-check.patch + 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch + 0004-shared-conf-parser.patch + 0005-logind-fix-typo.patch + 0006-systemctl-fix-resource-leak-CID-1237747.patch + 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc + 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +- Remove 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch as + 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch + is the upstream solution + +------------------------------------------------------------------- +Wed Sep 17 16:02:33 UTC 2014 - werner@suse.de + +- Add patch 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch to + fix for the size of the gcc builtin type bool also known as _Bool + from the include header stdbool.h. + ------------------------------------------------------------------- Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 09ccb39c..01e97923 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -856,6 +856,38 @@ Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch # PATCH-FIX-UPSTREAM added at 2014/09/16 Patch414: 0010-manager-use-correct-cleanup-function.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch416: 0002-util-remove-a-unnecessary-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch418: 0004-shared-conf-parser.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch419: 0005-logind-fix-typo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary +Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch +# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) +Patch430: 0001-bnc888612-logind-polkit-acpi.patch # UDEV PATCHES # ============ @@ -1021,6 +1053,20 @@ Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch # PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch +Patch1081: 1081-udevd-check-return-of-various-functions.patch +# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch +Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch +# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch +Patch1085: 1085-udev-fix-typos.patch +# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch +Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1596,6 +1642,22 @@ cp %{SOURCE7} m4/ %patch412 -p0 %patch413 -p0 %patch414 -p0 +%patch415 -p0 +%patch416 -p0 +%patch417 -p0 +%patch418 -p0 +%patch419 -p0 +%patch420 -p0 +%patch421 -p0 +%patch422 -p0 +%patch423 -p0 +%patch424 -p0 +%patch425 -p0 +%patch426 -p0 +%patch427 -p0 +%patch428 -p0 +%patch429 -p0 +%patch430 -p1 # udev patches %patch1001 -p1 @@ -1706,6 +1768,13 @@ cp %{SOURCE7} m4/ %patch1078 -p1 %endif %endif +%patch1080 -p0 +%patch1081 -p0 +%patch1082 -p0 +%patch1083 -p0 +%patch1084 -p0 +%patch1085 -p0 +%patch1086 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index 6299a5c6..d2bbba4a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de + +- Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic + to solve bnc#888612 - AUDIT-0: Power button press at gdm login + should not prompt for credentials + +------------------------------------------------------------------- +Fri Sep 19 11:36:48 UTC 2014 - werner@suse.de + +- Add upstream bugfix patches + 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch + 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch + 0003-mount-order-options-before-other-arguments-to-mount.patch + 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch + 0005-shared-label.h-add-missing-stdio.h-include.patch + 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch + 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch + 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch + 1081-udevd-check-return-of-various-functions.patch + 1082-udevadm-hwdb-check-return-value-of-fseeko.patch + 1083-udev-node-warn-if-chmod-chown-fails.patch + 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch + 1085-udev-fix-typos.patch + 1086-udevd-don-t-fail-if-run-udev-exists.patch + +------------------------------------------------------------------- +Thu Sep 18 13:21:45 UTC 2014 - werner@suse.de + +- Add upstream bugfix patches + 0001-core-fix-resource-leak-in-manager_environment_add.patch + 0002-util-remove-a-unnecessary-check.patch + 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch + 0004-shared-conf-parser.patch + 0005-logind-fix-typo.patch + 0006-systemctl-fix-resource-leak-CID-1237747.patch + 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc + 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +- Remove 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch as + 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch + is the upstream solution + +------------------------------------------------------------------- +Wed Sep 17 16:02:33 UTC 2014 - werner@suse.de + +- Add patch 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch to + fix for the size of the gcc builtin type bool also known as _Bool + from the include header stdbool.h. + ------------------------------------------------------------------- Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 17b43729..7f58d45c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -851,6 +851,38 @@ Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch # PATCH-FIX-UPSTREAM added at 2014/09/16 Patch414: 0010-manager-use-correct-cleanup-function.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch416: 0002-util-remove-a-unnecessary-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch418: 0004-shared-conf-parser.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch419: 0005-logind-fix-typo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary +Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch +# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) +Patch430: 0001-bnc888612-logind-polkit-acpi.patch # UDEV PATCHES # ============ @@ -1016,6 +1048,20 @@ Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch # PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch +Patch1081: 1081-udevd-check-return-of-various-functions.patch +# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch +Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch +# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch +Patch1085: 1085-udev-fix-typos.patch +# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch +Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1591,6 +1637,22 @@ cp %{SOURCE7} m4/ %patch412 -p0 %patch413 -p0 %patch414 -p0 +%patch415 -p0 +%patch416 -p0 +%patch417 -p0 +%patch418 -p0 +%patch419 -p0 +%patch420 -p0 +%patch421 -p0 +%patch422 -p0 +%patch423 -p0 +%patch424 -p0 +%patch425 -p0 +%patch426 -p0 +%patch427 -p0 +%patch428 -p0 +%patch429 -p0 +%patch430 -p1 # udev patches %patch1001 -p1 @@ -1701,6 +1763,13 @@ cp %{SOURCE7} m4/ %patch1078 -p1 %endif %endif +%patch1080 -p0 +%patch1081 -p0 +%patch1082 -p0 +%patch1083 -p0 +%patch1084 -p0 +%patch1085 -p0 +%patch1086 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ From 799437355d095ec1f1d800e913f252a1ddce4a041281681dc86833aef22bb32d Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 28 Sep 2014 17:56:47 +0000 Subject: [PATCH 202/991] Accepting request 252537 from Base:System - Add upstream patch 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch for bsc#893797 - Drop renaming virtual interfaces in a guest (bnc#898432). Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch - Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch and apply this one - Change patch 0003-mount-order-options-before-other-arguments-to-mount.patch to fix bsc#898240 - Add upstream patches 0001-Fix-warning-about-unused-variable-with-SELINUX.patch 0002-bus-remove-unused-check.patch - Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to be able to avoid killing a running kmod/modprobe (bnc#889297) - Update patch 0001-bnc888612-logind-polkit-acpi.patch - Add upstream patches 0001-login-pause-devices-before-acknowledging-VT-switches.patch May help that history of the shell is saved 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) 0002-util-avoid-non-portable-__WORDSIZE.patch OBS-URL: https://build.opensuse.org/request/show/252537 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=208 --- ...g-about-unused-variable-with-SELINUX.patch | 31 ++ 0001-bnc888612-logind-polkit-acpi.patch | 6 +- ...ces-before-acknowledging-VT-switches.patch | 82 ++++ ...-to-create-veth-link-with-too-long-i.patch | 21 + ...troduce-SELinuxContextFromNet-option.patch | 414 ++++++++++++++++++ ...-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch | 39 ++ 0002-bus-remove-unused-check.patch | 29 ++ 0002-util-avoid-non-portable-__WORDSIZE.patch | 25 ++ ...ions-before-other-arguments-to-mount.patch | 14 +- ...init-timeout-for-kmod-loaded-modules.patch | 135 ++++++ ...aming-of-virtual-interfaces-in-guest.patch | 11 + systemd-mini.changes | 55 +++ systemd-mini.spec | 27 ++ systemd.changes | 55 +++ systemd.spec | 27 ++ 15 files changed, 961 insertions(+), 10 deletions(-) create mode 100644 0001-Fix-warning-about-unused-variable-with-SELINUX.patch create mode 100644 0001-login-pause-devices-before-acknowledging-VT-switches.patch create mode 100644 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch create mode 100644 0001-socket-introduce-SELinuxContextFromNet-option.patch create mode 100644 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch create mode 100644 0002-bus-remove-unused-check.patch create mode 100644 0002-util-avoid-non-portable-__WORDSIZE.patch create mode 100644 1087-infinit-timeout-for-kmod-loaded-modules.patch create mode 100644 1088-drop-renaming-of-virtual-interfaces-in-guest.patch diff --git a/0001-Fix-warning-about-unused-variable-with-SELINUX.patch b/0001-Fix-warning-about-unused-variable-with-SELINUX.patch new file mode 100644 index 00000000..f1fb4ea9 --- /dev/null +++ b/0001-Fix-warning-about-unused-variable-with-SELINUX.patch @@ -0,0 +1,31 @@ +From 493d521d9ffe706741665a88ea14929913ea2eaf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Sep 2014 09:22:40 -0400 +Subject: [PATCH] Fix warning about unused variable with !SELINUX + +src/shared/label.c:255:15: warning: unused variable 'l' [-Wunused-variable] + char *l = NULL; + ^ +--- + src/shared/label.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/shared/label.c src/shared/label.c +index 02b41f0..b6af38d 100644 +--- src/shared/label.c ++++ src/shared/label.c +@@ -252,9 +252,10 @@ fail: + + int label_get_our_label(char **label) { + int r = -EOPNOTSUPP; +- char *l = NULL; + + #ifdef HAVE_SELINUX ++ char *l = NULL; ++ + r = getcon(&l); + if (r < 0) + return r; +-- +1.7.9.2 + diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index ba3a1b52..a7021400 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -5,7 +5,7 @@ Index: systemd-210/src/login/logind-action.c =================================================================== ---- systemd-210/src/login/logind-action.c +--- systemd-210.orig/src/login/logind-action.c +++ systemd-210/src/login/logind-action.c @@ -101,6 +101,11 @@ int manager_handle_action( @@ -21,7 +21,7 @@ Index: systemd-210/src/login/logind-action.c return 0; Index: systemd-210/src/login/logind-dbus.c =================================================================== ---- systemd-210/src/login/logind-dbus.c +--- systemd-210.orig/src/login/logind-dbus.c +++ systemd-210/src/login/logind-dbus.c @@ -1469,9 +1469,11 @@ static int method_do_shutdown_or_sleep( sd_bus_error *error) { @@ -43,7 +43,7 @@ Index: systemd-210/src/login/logind-dbus.c - if (multiple_sessions) { + fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); + if (fd >= 0) { -+ shutdown_through_acpi = ((fstat(fd,&buf) == 0) && (time(NULL) - buf.st_mtime <= 65)); ++ shutdown_through_acpi = ((fstat(fd,&buf) == 0) && (time(NULL) - buf.st_mtime <= 65) && !sleep_verb); + close(fd); + unlink ("/run/systemd/acpi-shutdown"); + } diff --git a/0001-login-pause-devices-before-acknowledging-VT-switches.patch b/0001-login-pause-devices-before-acknowledging-VT-switches.patch new file mode 100644 index 00000000..0a335de2 --- /dev/null +++ b/0001-login-pause-devices-before-acknowledging-VT-switches.patch @@ -0,0 +1,82 @@ +Based on 2ec3ff668ff03410e94cfef8e3ee9384a8222211 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Fri, 19 Sep 2014 13:26:39 +0200 +Subject: [PATCH] login: pause devices before acknowledging VT switches + +If a session controller does not need synchronous VT switches, we allow +them to pass VT control to logind, which acknowledges all VT switches +unconditionally. This works fine with all sessions using the dbus API, +but causes out-of-sync device use if we switch to legacy sessions that +are notified via VT signals. Those are processed before logind notices +the session-switch via sysfs. Therefore, leaving the old session still +active for a short amount of time. + +This, in fact, may cause the legacy session to prepare graphics devices +before the old session was deactivated, and thus, maybe causing the old +session to interfer with graphics device usage. + +Fix this by releasing devices immediately before acknowledging VT +switches. This way, sessions without VT handlers are required to support +async session switching (which they do in that case, anyway). +--- + src/login/logind-session.c | 21 +++++++++++++++++++++ + src/login/logind-session.h | 1 + + src/login/logind.c | 4 ++-- + 3 files changed, 24 insertions(+), 2 deletions(-) + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-09-24 07:40:45.786639180 +0000 +@@ -1040,6 +1040,27 @@ void session_restore_vt(Session *s) { + s->vtfd = -1; + } + ++void session_leave_vt(Session *s) { ++ assert(s); ++ ++ /* This is called whenever we get a VT-switch signal from the kernel. ++ * We acknowledge all of them unconditionally. Note that session are ++ * free to overwrite those handlers and we only register them for ++ * sessions with controllers. Legacy sessions are not affected. ++ * However, if we switch from a non-legacy to a legacy session, we must ++ * make sure to pause all device before acknowledging the switch. We ++ * process the real switch only after we are notified via sysfs, so the ++ * legacy session might have already started using the devices. If we ++ * don't pause the devices before the switch, we might confuse the ++ * session we switch to. */ ++ ++ if (s->vtfd < 0) ++ return; ++ ++ session_device_pause_all(s); ++ ioctl(s->vtfd, VT_RELDISP, 1); ++} ++ + bool session_is_controller(Session *s, const char *sender) { + assert(s); + +--- src/login/logind-session.h ++++ src/login/logind-session.h 2014-09-24 07:41:50.290236363 +0000 +@@ -173,6 +173,7 @@ KillWho kill_who_from_string(const char + + int session_mute_vt(Session *s); + void session_restore_vt(Session *s); ++void session_leave_vt(Session *s); + + bool session_is_controller(Session *s, const char *sender); + int session_set_controller(Session *s, const char *sender, bool force); +--- src/login/logind.c ++++ src/login/logind.c 2014-09-24 00:00:00.000000000 +0000 +@@ -743,11 +743,11 @@ static int manager_vt_switch(sd_event_so + } + + if (active->vtfd >= 0) { +- ioctl(active->vtfd, VT_RELDISP, 1); ++ session_leave_vt(active); + } else { + LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { + if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { +- ioctl(iter->vtfd, VT_RELDISP, 1); ++ session_leave_vt(iter); + break; + } + } diff --git a/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch b/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch new file mode 100644 index 00000000..ee7cea2a --- /dev/null +++ b/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch @@ -0,0 +1,21 @@ +Based on c00524c9cc7fb498c7244350e25823b8352f078c Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 19 Sep 2014 23:02:00 +0200 +Subject: [PATCH] nspawn: don't try to create veth link with too long ifname + +Reported by: James Lott +--- + src/nspawn/nspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-09-23 15:33:06.766236272 +0000 +@@ -1383,7 +1383,7 @@ static int setup_veth(pid_t pid, char if + + /* Use two different interface name prefixes depending whether + * we are in bridge mode or not. */ +- snprintf(iface_name, IFNAMSIZ, "%s-%s", ++ snprintf(iface_name, IFNAMSIZ - 1, "%s-%s", + arg_network_bridge ? "vb" : "ve", arg_machine); + + r = sd_rtnl_open(&rtnl, 0); diff --git a/0001-socket-introduce-SELinuxContextFromNet-option.patch b/0001-socket-introduce-SELinuxContextFromNet-option.patch new file mode 100644 index 00000000..f437c7be --- /dev/null +++ b/0001-socket-introduce-SELinuxContextFromNet-option.patch @@ -0,0 +1,414 @@ +Based on 16115b0a7b7cdf08fb38084d857d572d8a9088dc Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Thu, 24 Jul 2014 10:40:28 +0200 +Subject: [PATCH] socket: introduce SELinuxContextFromNet option + +This makes possible to spawn service instances triggered by socket with +MLS/MCS SELinux labels which are created based on information provided by +connected peer. + +Implementation of label_get_child_mls_label derived from xinetd. + +Reviewed-by: Paul Moore +--- + man/systemd.socket.xml | 26 +++++++ + src/core/execute.c | 30 +++++++-- + src/core/execute.h | 1 + src/core/load-fragment-gperf.gperf.m4 | 3 + src/core/mount.c | 1 + src/core/service.c | 4 - + src/core/service.h | 3 + src/core/socket.c | 16 +++- + src/core/socket.h | 2 + src/core/swap.c | 1 + src/shared/label.c | 113 ++++++++++++++++++++++++++++++++++ + src/shared/label.h | 2 + 12 files changed, 191 insertions(+), 11 deletions(-) + +--- man/systemd.socket.xml ++++ man/systemd.socket.xml 2014-09-23 15:36:49.000000000 +0000 +@@ -570,6 +570,32 @@ + + + ++ SELinuxContextFromNet= ++ Takes a boolean ++ argument. When true systemd will attempt ++ to figure out the SELinux label used ++ for the instantiated service from the ++ information handed by the peer over the ++ network. Note that only the security ++ level is used from the information ++ provided by the peer. Other parts of ++ the resulting SELinux context originate ++ from either the target binary that is ++ effectively triggered by socket unit ++ are taken from the value of the ++ SELinuxContext= ++ option.This configuration option only ++ affects sockets with ++ Accept= mode set to ++ true. Also note that ++ this option is useful only when ++ MLS/MCS SELinux policy is ++ deployed. Defaults to ++ false. ++ ++ ++ ++ + PipeSize= + Takes an size in + bytes. Controls the pipe buffer size +--- src/core/execute.c ++++ src/core/execute.c 2014-09-24 09:22:08.882735864 +0000 +@@ -82,6 +82,7 @@ + #include "selinux-util.h" + #include "errno-list.h" + #include "apparmor-util.h" ++#include "label.h" + + #ifdef HAVE_SECCOMP + #include "seccomp-util.h" +@@ -1123,6 +1124,7 @@ int exec_spawn(ExecCommand *command, + bool apply_chroot, + bool apply_tty_stdin, + bool confirm_spawn, ++ bool selinux_context_net, + CGroupControllerMask cgroup_supported, + const char *cgroup_path, + const char *unit_id, +@@ -1594,11 +1596,29 @@ int exec_spawn(ExecCommand *command, + #endif + + #ifdef HAVE_SELINUX +- if (context->selinux_context && use_selinux()) { +- err = setexeccon(context->selinux_context); +- if (err < 0 && !context->selinux_context_ignore) { +- r = EXIT_SELINUX_CONTEXT; +- goto fail_child; ++ if (use_selinux()) { ++ if (context->selinux_context) { ++ err = setexeccon(context->selinux_context); ++ if (err < 0 && !context->selinux_context_ignore) { ++ r = EXIT_SELINUX_CONTEXT; ++ goto fail_child; ++ } ++ } ++ ++ if (selinux_context_net && socket_fd >= 0) { ++ _cleanup_free_ char *label = NULL; ++ ++ err = label_get_child_mls_label(socket_fd, command->path, &label); ++ if (err < 0) { ++ r = EXIT_SELINUX_CONTEXT; ++ goto fail_child; ++ } ++ ++ err = setexeccon(label); ++ if (err < 0) { ++ r = EXIT_SELINUX_CONTEXT; ++ goto fail_child; ++ } + } + } + #endif +--- src/core/execute.h ++++ src/core/execute.h 2014-09-23 15:46:26.000000000 +0000 +@@ -195,6 +195,7 @@ int exec_spawn(ExecCommand *command, + bool apply_chroot, + bool apply_tty_stdin, + bool confirm_spawn, ++ bool selinux_context_net, + CGroupControllerMask cgroup_mask, + const char *cgroup_path, + const char *unit_id, +--- src/core/load-fragment-gperf.gperf.m4 ++++ src/core/load-fragment-gperf.gperf.m4 2014-09-23 00:00:00.000000000 +0000 +@@ -242,6 +242,9 @@ Socket.SmackLabelIPOut, config_ + `Socket.SmackLabel, config_parse_warn_compat, 0, 0 + Socket.SmackLabelIPIn, config_parse_warn_compat, 0, 0 + Socket.SmackLabelIPOut, config_parse_warn_compat, 0, 0') ++m4_ifdef(`HAVE_SELINUX', ++`Socket.SELinuxContextFromNet, config_parse_bool, 0, offsetof(Socket, selinux_context_from_net)', ++`Socket.SELinuxContextFromNet, config_parse_warn_compat, 0, 0') + EXEC_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl + CGROUP_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl + KILL_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl +--- src/core/mount.c ++++ src/core/mount.c 2014-09-24 09:16:26.234235379 +0000 +@@ -785,6 +785,7 @@ static int mount_spawn(Mount *m, ExecCom + true, + true, + UNIT(m)->manager->confirm_spawn, ++ false, + UNIT(m)->manager->cgroup_supported, + UNIT(m)->cgroup_path, + UNIT(m)->id, +--- src/core/service.c ++++ src/core/service.c 2014-09-23 15:49:24.000000000 +0000 +@@ -1856,6 +1856,7 @@ static int service_spawn( + apply_chroot, + apply_tty_stdin, + UNIT(s)->manager->confirm_spawn, ++ s->socket_fd_selinux_context_net, + UNIT(s)->manager->cgroup_supported, + path, + UNIT(s)->id, +@@ -3787,7 +3788,7 @@ static void service_bus_name_owner_chang + } + } + +-int service_set_socket_fd(Service *s, int fd, Socket *sock) { ++int service_set_socket_fd(Service *s, int fd, Socket *sock, bool selinux_context_net) { + _cleanup_free_ char *peer = NULL; + int r; + +@@ -3825,6 +3826,7 @@ int service_set_socket_fd(Service *s, in + } + + s->socket_fd = fd; ++ s->socket_fd_selinux_context_net = selinux_context_net; + + unit_ref_set(&s->accept_socket, UNIT(sock)); + +--- src/core/service.h ++++ src/core/service.h 2014-09-23 15:51:13.000000000 +0000 +@@ -159,6 +159,7 @@ struct Service { + pid_t main_pid, control_pid; + int socket_fd; + ++ bool socket_fd_selinux_context_net; + bool permissions_start_only; + bool root_directory_start_only; + bool remain_after_exit; +@@ -204,7 +205,7 @@ extern const UnitVTable service_vtable; + + struct Socket; + +-int service_set_socket_fd(Service *s, int fd, struct Socket *socket); ++int service_set_socket_fd(Service *s, int fd, struct Socket *socket, bool selinux_context_net); + + const char* service_state_to_string(ServiceState i) _const_; + ServiceState service_state_from_string(const char *s) _pure_; +--- src/core/socket.c ++++ src/core/socket.c 2014-09-24 09:13:29.698735735 +0000 +@@ -453,7 +453,8 @@ static void socket_dump(Unit *u, FILE *f + "%sBroadcast: %s\n" + "%sPassCredentials: %s\n" + "%sPassSecurity: %s\n" +- "%sTCPCongestion: %s\n", ++ "%sTCPCongestion: %s\n" ++ "%sSELinuxContextFromNet: %s\n", + prefix, socket_state_to_string(s->state), + prefix, socket_result_to_string(s->result), + prefix, socket_address_bind_ipv6_only_to_string(s->bind_ipv6_only), +@@ -466,7 +467,8 @@ static void socket_dump(Unit *u, FILE *f + prefix, yes_no(s->broadcast), + prefix, yes_no(s->pass_cred), + prefix, yes_no(s->pass_sec), +- prefix, strna(s->tcp_congestion)); ++ prefix, strna(s->tcp_congestion), ++ prefix, yes_no(s->selinux_context_from_net)); + + if (s->control_pid > 0) + fprintf(f, +@@ -1000,7 +1002,12 @@ static int socket_open_fds(Socket *s) { + + if (p->type == SOCKET_SOCKET) { + +- if (!know_label) { ++ if (!know_label && s->selinux_context_from_net) { ++ r = label_get_our_label(&label); ++ if (r < 0) ++ return r; ++ know_label = true; ++ } else if (!know_label) { + + if ((r = socket_instantiate_service(s)) < 0) + return r; +@@ -1247,6 +1254,7 @@ static int socket_spawn(Socket *s, ExecC + true, + true, + UNIT(s)->manager->confirm_spawn, ++ s->selinux_context_from_net, + UNIT(s)->manager->cgroup_supported, + UNIT(s)->cgroup_path, + UNIT(s)->id, +@@ -1568,7 +1576,7 @@ static void socket_enter_running(Socket + + unit_choose_id(UNIT(service), name); + +- r = service_set_socket_fd(service, cfd, s); ++ r = service_set_socket_fd(service, cfd, s, s->selinux_context_from_net); + if (r < 0) + goto fail; + +--- src/core/socket.h ++++ src/core/socket.h 2014-09-23 15:55:17.000000000 +0000 +@@ -154,6 +154,8 @@ struct Socket { + char *smack; + char *smack_ip_in; + char *smack_ip_out; ++ ++ bool selinux_context_from_net; + }; + + /* Called from the service code when collecting fds */ +--- src/core/swap.c ++++ src/core/swap.c 2014-09-24 09:17:18.438735618 +0000 +@@ -642,6 +642,7 @@ static int swap_spawn(Swap *s, ExecComma + true, + true, + UNIT(s)->manager->confirm_spawn, ++ false, + UNIT(s)->manager->cgroup_supported, + UNIT(s)->cgroup_path, + UNIT(s)->id, +--- src/shared/label.c ++++ src/shared/label.c 2014-09-23 00:00:00.000000000 +0000 +@@ -31,6 +31,7 @@ + #ifdef HAVE_SELINUX + #include + #include ++#include + #endif + + #include "label.h" +@@ -41,6 +42,12 @@ + #include "smack-util.h" + + #ifdef HAVE_SELINUX ++DEFINE_TRIVIAL_CLEANUP_FUNC(security_context_t, freecon); ++DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); ++ ++#define _cleanup_security_context_free_ _cleanup_(freeconp) ++#define _cleanup_context_free_ _cleanup_(context_freep) ++ + static struct selabel_handle *label_hnd = NULL; + #endif + +@@ -243,6 +250,112 @@ fail: + return r; + } + ++int label_get_our_label(char **label) { ++ int r = -EOPNOTSUPP; ++ char *l = NULL; ++ ++#ifdef HAVE_SELINUX ++ r = getcon(&l); ++ if (r < 0) ++ return r; ++ ++ *label = l; ++#endif ++ ++ return r; ++} ++ ++int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { ++ int r = -EOPNOTSUPP; ++ ++#ifdef HAVE_SELINUX ++ ++ _cleanup_security_context_free_ security_context_t mycon = NULL, peercon = NULL, fcon = NULL, ret = NULL; ++ _cleanup_context_free_ context_t pcon = NULL, bcon = NULL; ++ security_class_t sclass; ++ ++ const char *range = NULL; ++ ++ assert(socket_fd >= 0); ++ assert(exe); ++ assert(label); ++ ++ r = getcon(&mycon); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ r = getpeercon(socket_fd, &peercon); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ r = getexeccon(&fcon); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ if (!fcon) { ++ /* If there is no context set for next exec let's use context ++ of target executable */ ++ r = getfilecon(exe, &fcon); ++ if (r < 0) { ++ r = -errno; ++ goto out; ++ } ++ } ++ ++ bcon = context_new(mycon); ++ if (!bcon) { ++ r = -ENOMEM; ++ goto out; ++ } ++ ++ pcon = context_new(peercon); ++ if (!pcon) { ++ r = -ENOMEM; ++ goto out; ++ } ++ ++ range = context_range_get(pcon); ++ if (!range) { ++ r = -errno; ++ goto out; ++ } ++ ++ r = context_range_set(bcon, range); ++ if (r) { ++ r = -errno; ++ goto out; ++ } ++ ++ freecon(mycon); ++ mycon = context_str(bcon); ++ if (!mycon) { ++ r = -errno; ++ goto out; ++ } ++ ++ sclass = string_to_security_class("process"); ++ r = security_compute_create(mycon, fcon, sclass, &ret); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ *label = ret; ++ r = 0; ++ ++out: ++ if (r < 0 && security_getenforce() == 1) ++ return r; ++#endif ++ return r; ++} ++ + int label_context_set(const char *path, mode_t mode) { + int r = 0; + +--- src/shared/label.h ++++ src/shared/label.h 2014-09-23 00:00:00.000000000 +0000 +@@ -40,6 +40,8 @@ void label_context_clear(void); + void label_free(const char *label); + + int label_get_create_label_from_exe(const char *exe, char **label); ++int label_get_our_label(char **label); ++int label_get_child_mls_label(int socket_fd, const char *exec, char **label); + + int label_mkdir(const char *path, mode_t mode); + diff --git a/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch b/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch new file mode 100644 index 00000000..9f1a8dcb --- /dev/null +++ b/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch @@ -0,0 +1,39 @@ +From 9ed2a35e93f4a9e82585f860f54cdcbbdf3e1f86 Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Tue, 9 Sep 2014 11:09:37 +0200 +Subject: [PATCH] systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling + +If one has a config like: +d /tmp 1777 root root - +X /tmp/important_mount + +All files below /tmp/important_mount will be deleted as the +/tmp/important_mount item will spuriously inherit a max age of 0 +from /tmp. +/tmp has a max age of 0 but age_set is (of course) false. + +This affects also the PrivateTmp feature of systemd. +All tmp files of such services will be deleted unconditionally +and can cause service failures and data loss. + +Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic. +--- + src/tmpfiles/tmpfiles.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index f9830c4..7eafd6b 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -1576,7 +1576,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) { + candidate_item = j; + } + +- if (candidate_item) { ++ if (candidate_item && candidate_item->age_set) { + i->age = candidate_item->age; + i->age_set = true; + } +-- +1.7.9.2 + diff --git a/0002-bus-remove-unused-check.patch b/0002-bus-remove-unused-check.patch new file mode 100644 index 00000000..32c35276 --- /dev/null +++ b/0002-bus-remove-unused-check.patch @@ -0,0 +1,29 @@ +From 04c553e322680b6fcdf5b271e84b0b4b0ad8d5f9 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Tue, 23 Sep 2014 21:34:21 +0200 +Subject: [PATCH] bus: remove unused check + +strerror_r does not return null here and even if it did we would have +problems already at the preceding strlen call. + +Found by coverity. Fixes: CID#1237770 +--- + src/libsystemd/sd-bus/bus-error.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c +index c2e41fb..abdfd73 100644 +--- src/libsystemd/sd-bus/bus-error.c ++++ src/libsystemd/sd-bus/bus-error.c +@@ -312,7 +312,7 @@ static void bus_error_strerror(sd_bus_error *e, int error) { + continue; + } + +- if (!x || errno) { ++ if (errno) { + free(m); + return; + } +-- +1.7.9.2 + diff --git a/0002-util-avoid-non-portable-__WORDSIZE.patch b/0002-util-avoid-non-portable-__WORDSIZE.patch new file mode 100644 index 00000000..7c82d91c --- /dev/null +++ b/0002-util-avoid-non-portable-__WORDSIZE.patch @@ -0,0 +1,25 @@ +Based on 8507eb20b64010b26f23822cbf442bb0bf96511c Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Fri, 19 Sep 2014 20:26:53 +0200 +Subject: [PATCH] util: avoid non-portable __WORDSIZE + +Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified +by any spec. Use explicit size comparisons if we're not interested in the +WORDSIZE, anyway. + +(David: adjust commit message to explain why we do this) +--- + src/shared/util.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/shared/util.h ++++ src/shared/util.h 2014-09-24 06:58:11.378235669 +0000 +@@ -166,7 +166,7 @@ int safe_atolli(const char *s, long long + + int safe_atod(const char *s, double *ret_d); + +-#if __WORDSIZE == 32 ++#if LONG_MAX == INT_MAX + static inline int safe_atolu(const char *s, unsigned long *ret_u) { + assert_cc(sizeof(unsigned long) == sizeof(unsigned)); + return safe_atou(s, (unsigned*) ret_u); diff --git a/0003-mount-order-options-before-other-arguments-to-mount.patch b/0003-mount-order-options-before-other-arguments-to-mount.patch index 79c0b3ce..d777869d 100644 --- a/0003-mount-order-options-before-other-arguments-to-mount.patch +++ b/0003-mount-order-options-before-other-arguments-to-mount.patch @@ -8,18 +8,18 @@ Subject: [PATCH] mount: order options before other arguments to mount 1 file changed, 6 insertions(+), 4 deletions(-) --- src/core/mount.c -+++ src/core/mount.c 2014-09-19 10:13:51.638238597 +0000 ++++ src/core/mount.c 2014-09-25 13:43:44.926563278 +0000 @@ -947,10 +947,11 @@ static void mount_enter_mounting(Mount * r = exec_command_set( m->control_command, "/bin/mount", -- m->parameters_fragment.what, -- m->where, + "-n", - "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", - m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options, -+ m->parameters_fragment.what, -+ m->where, ++ "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", ++ "-o", m->parameters_fragment.options ? m->parameters_fragment.options : "defaults", + m->parameters_fragment.what, + m->where, +- "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", +- m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options, NULL); else r = -ENOENT; diff --git a/1087-infinit-timeout-for-kmod-loaded-modules.patch b/1087-infinit-timeout-for-kmod-loaded-modules.patch new file mode 100644 index 00000000..4208c21f --- /dev/null +++ b/1087-infinit-timeout-for-kmod-loaded-modules.patch @@ -0,0 +1,135 @@ +--- + src/udev/udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + src/udev/udev.h | 1 + + src/udev/udevd.c | 23 +++++++++++++++++++++-- + 3 files changed, 64 insertions(+), 2 deletions(-) + +--- src/udev/udev-event.c ++++ src/udev/udev-event.c 2014-09-24 14:32:53.115639820 +0000 +@@ -959,6 +959,46 @@ void udev_event_execute_rules(struct ude + } + } + ++#ifdef HAVE_KMOD ++static inline void udev_check_and_set_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { ++ char filename[UTIL_PATH_SIZE]; ++ switch (builtin_cmd) { ++ case UDEV_BUILTIN_KMOD: ++ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); ++ touch(filename); ++ default: ++ break; ++ } ++} ++ ++static inline void udev_check_and_unset_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { ++ char filename[UTIL_PATH_SIZE]; ++ switch (builtin_cmd) { ++ case UDEV_BUILTIN_KMOD: ++ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); ++ unlink(filename); ++ default: ++ break; ++ } ++} ++ ++bool udev_check_for_kmod(pid_t pid) { ++ char filename[UTIL_PATH_SIZE]; ++ struct stat st; ++ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)pid); ++ if (stat(filename, &st) == 0) { ++ return true; ++ } ++ return false; ++} ++#else ++# define udev_set_kmod (a,b) ++# define udev_unset_kmod(a,b) ++bool udev_check_for_kmod(pid_t pid) { ++ return false; ++} ++#endif ++ + void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + +@@ -970,7 +1010,9 @@ void udev_event_execute_run(struct udev_ + char command[UTIL_PATH_SIZE]; + + udev_event_apply_format(event, cmd, command, sizeof(command)); ++ udev_check_and_set_kmod(builtin_cmd, event); + udev_builtin_run(event->dev, builtin_cmd, command, false); ++ udev_check_and_unset_kmod(builtin_cmd, event); + } else { + char program[UTIL_PATH_SIZE]; + char **envp; +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-24 15:02:30.895592379 +0000 +@@ -76,6 +76,7 @@ static int children_max; + static int exec_delay; + static usec_t event_timeout_usec = 180 * USEC_PER_SEC; + static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; ++static bool event_killkmod = false; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -1017,6 +1018,12 @@ static void kernel_cmdline_options(struc + } + event_timeout_usec *= USEC_PER_SEC; + event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; ++ } else if (startswith(opt, "udev.killkmod=")) { ++ r = parse_boolean(opt + 14); ++ if (r < 0) ++ log_warning("Invalid udev.killkmod Ignoring: %s", opt + 14); ++ else ++ event_killkmod = r; + } + + free(s); +@@ -1065,7 +1072,7 @@ int main(int argc, char *argv[]) { + } + + for (;;) { +- int option, r; ++ int option; + + option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); + if (option == -1) +@@ -1356,6 +1363,12 @@ int main(int argc, char *argv[]) { + udev_list_node_init(&event_list); + udev_list_node_init(&worker_list); + ++ r = mkdir_p("/run/udev/kmod", 0755); ++ if (r < 0 && errno != EEXIST) { ++ log_error("could not create /run/udev/kmod: %m"); ++ goto exit; ++ } ++ + for (;;) { + static usec_t last_usec; + struct epoll_event ev[8]; +@@ -1440,7 +1453,13 @@ int main(int argc, char *argv[]) { + + if (worker->state != WORKER_RUNNING) + continue; +- ++#ifdef HAVE_KMOD ++ if (udev_check_for_kmod(worker->pid)) { ++ log_debug("worker [%u] %s is using kmod", worker->pid, worker->event->devpath); ++ if (!event_killkmod) ++ continue; ++ } ++#endif + ts = now(CLOCK_MONOTONIC); + + if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { +--- src/udev/udev.h ++++ src/udev/udev.h 2014-09-24 14:33:33.824008084 +0000 +@@ -88,6 +88,7 @@ int udev_event_spawn(struct udev_event * + char *result, size_t ressize); + void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, + struct udev_rules *rules, const sigset_t *sigset); ++bool udev_check_for_kmod(pid_t pid); + void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + diff --git a/1088-drop-renaming-of-virtual-interfaces-in-guest.patch b/1088-drop-renaming-of-virtual-interfaces-in-guest.patch new file mode 100644 index 00000000..a25861cd --- /dev/null +++ b/1088-drop-renaming-of-virtual-interfaces-in-guest.patch @@ -0,0 +1,11 @@ +Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +=================================================================== +--- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules ++++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +@@ -15,6 +15,5 @@ SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACT + + # rename interface if needed + ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" +-ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" + + LABEL="net-sriov-names_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index d2bbba4a..dcfc946e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch + for bsc#893797 + +------------------------------------------------------------------- +Fri Sep 26 09:34:22 UTC 2014 - rmilasan@suse.com + +- Drop renaming virtual interfaces in a guest (bnc#898432). + Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch + +------------------------------------------------------------------- +Thu Sep 25 14:08:35 UTC 2014 - werner@suse.de + +- Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch + to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch + and apply this one + +------------------------------------------------------------------- +Thu Sep 25 13:45:46 UTC 2014 - werner@suse.de + +- Change patch + 0003-mount-order-options-before-other-arguments-to-mount.patch + to fix bsc#898240 + +------------------------------------------------------------------- +Thu Sep 25 09:06:14 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-Fix-warning-about-unused-variable-with-SELINUX.patch + 0002-bus-remove-unused-check.patch + +------------------------------------------------------------------- +Wed Sep 24 15:05:49 UTC 2014 - werner@suse.de + +- Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to + be able to avoid killing a running kmod/modprobe (bnc#889297) + +------------------------------------------------------------------- +Wed Sep 24 08:36:42 UTC 2014 - werner@suse.de + +- Update patch 0001-bnc888612-logind-polkit-acpi.patch + +------------------------------------------------------------------- +Wed Sep 24 07:47:54 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-login-pause-devices-before-acknowledging-VT-switches.patch + May help that history of the shell is saved + 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch + 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) + 0002-util-avoid-non-portable-__WORDSIZE.patch + ------------------------------------------------------------------- Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 01e97923..3bc014d9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -888,6 +888,20 @@ Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved +Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) +Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch436: 0002-bus-remove-unused-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/26 +Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch # UDEV PATCHES # ============ @@ -1067,6 +1081,10 @@ Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch Patch1085: 1085-udev-fix-typos.patch # PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch +# PATCH-FIX-SSUE 1087-infinit-timeout-for-kmod-loaded-modules.patch +Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch +# PATCH-FIX-SSUE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) +Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1658,6 +1676,13 @@ cp %{SOURCE7} m4/ %patch428 -p0 %patch429 -p0 %patch430 -p1 +%patch431 -p0 +%patch432 -p0 +%patch433 -p0 +%patch434 -p0 +%patch435 -p0 +%patch436 -p0 +%patch437 -p0 # udev patches %patch1001 -p1 @@ -1775,6 +1800,8 @@ cp %{SOURCE7} m4/ %patch1084 -p0 %patch1085 -p0 %patch1086 -p0 +%patch1087 -p0 +%patch1088 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index d2bbba4a..dcfc946e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de + +- Add upstream patch + 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch + for bsc#893797 + +------------------------------------------------------------------- +Fri Sep 26 09:34:22 UTC 2014 - rmilasan@suse.com + +- Drop renaming virtual interfaces in a guest (bnc#898432). + Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch + +------------------------------------------------------------------- +Thu Sep 25 14:08:35 UTC 2014 - werner@suse.de + +- Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch + to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch + and apply this one + +------------------------------------------------------------------- +Thu Sep 25 13:45:46 UTC 2014 - werner@suse.de + +- Change patch + 0003-mount-order-options-before-other-arguments-to-mount.patch + to fix bsc#898240 + +------------------------------------------------------------------- +Thu Sep 25 09:06:14 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-Fix-warning-about-unused-variable-with-SELINUX.patch + 0002-bus-remove-unused-check.patch + +------------------------------------------------------------------- +Wed Sep 24 15:05:49 UTC 2014 - werner@suse.de + +- Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to + be able to avoid killing a running kmod/modprobe (bnc#889297) + +------------------------------------------------------------------- +Wed Sep 24 08:36:42 UTC 2014 - werner@suse.de + +- Update patch 0001-bnc888612-logind-polkit-acpi.patch + +------------------------------------------------------------------- +Wed Sep 24 07:47:54 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-login-pause-devices-before-acknowledging-VT-switches.patch + May help that history of the shell is saved + 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch + 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) + 0002-util-avoid-non-portable-__WORDSIZE.patch + ------------------------------------------------------------------- Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 7f58d45c..79e9153c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -883,6 +883,20 @@ Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved +Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) +Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch436: 0002-bus-remove-unused-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/26 +Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch # UDEV PATCHES # ============ @@ -1062,6 +1076,10 @@ Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch Patch1085: 1085-udev-fix-typos.patch # PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch +# PATCH-FIX-SSUE 1087-infinit-timeout-for-kmod-loaded-modules.patch +Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch +# PATCH-FIX-SSUE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) +Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1653,6 +1671,13 @@ cp %{SOURCE7} m4/ %patch428 -p0 %patch429 -p0 %patch430 -p1 +%patch431 -p0 +%patch432 -p0 +%patch433 -p0 +%patch434 -p0 +%patch435 -p0 +%patch436 -p0 +%patch437 -p0 # udev patches %patch1001 -p1 @@ -1770,6 +1795,8 @@ cp %{SOURCE7} m4/ %patch1084 -p0 %patch1085 -p0 %patch1086 -p0 +%patch1087 -p0 +%patch1088 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ From ba9b55aa79e4d3a7960226acc75b5f85ba3450c48e9fa65d957079ad236b880e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 26 Nov 2014 09:36:00 +0000 Subject: [PATCH 203/991] Accepting request 262952 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/262952 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=209 --- ...sh-for-reboot-or-hddown-for-poweroff.patch | 527 +----------------- ...n-t-allow-enabling-if-unit-is-masked.patch | 36 ++ ...ake-configured-units-part-of-swap.ta.patch | 76 +++ ...t-output-reboot-markers-when-running.patch | 27 + ...-support-for-IBM-ThinkPad-X41-Tablet.patch | 38 ++ ...pad-toggle-on-Toshiba-Satellite-P75-.patch | 27 + ...sole-setup-when-switching-from-vgaco.patch | 60 ++ ...add-support-for-Triton2-Power-Button.patch | 24 + ...-hppa-has-fewer-rtsigs-hence-avoid-u.patch | 79 +++ ...handle-removals-of-non-existing-matc.patch | 25 + ...equire-a-signal-event-source-to-be-e.patch | 58 ++ ...ion-fix-completion-of-inactive-units.patch | 95 ++++ ...nd-clean-up-initialization-of-struct.patch | 30 + ...tional-overflow-check-when-enlarging.patch | 35 ++ ...et-list-units-unit-files-honour-type.patch | 94 ++++ ...angle-unit-names-for-the-isolate-suf.patch | 52 ++ ...nue-switch-root-even-if-umount-fails.patch | 50 ++ ...compare-return-against-correct-errno.patch | 26 + ...network-pre.target-as-place-to-hook-.patch | 126 +++++ ...-we-are-running-inside-the-docker-co.patch | 25 + ...-use-n-a-if-PRETTY_NAME-is-not-found.patch | 31 ++ ...s-properties-cannot-be-both-writable.patch | 23 + ...-for-special-keys-on-compaq-ku-0133-.patch | 42 ++ ...cial-keys-on-ThinkPad-X60-X61-Tablet.patch | 33 ++ ...-touchpad-toggle-key-on-Asus-laptops.patch | 25 + ...ightness-keys-on-Dell-Inspiron-1520-.patch | 41 ++ ...dd-support-for-TPS65217-Power-Button.patch | 71 +++ ...-propose-templates-for-disable-re-en.patch | 111 ++++ ...-arguments-to-run-initramfs-shutdown.patch | 70 +++ ...s-own-argv-to-run-initramfs-shutdown.patch | 36 ++ ...ot-return-error-when-snapshot-exists.patch | 25 + ...temctl-obey-state-in-list-unit-files.patch | 28 + ...-try-harder-to-bind-to-notify-socket.patch | 44 ++ ...upport-infinity-syntax-in-parse_nsec.patch | 40 ++ ...w-Entry-for-Dell-XPS12-9Q33-keyboard.patch | 29 + ...chart-parse-userinput-with-safe_atoi.patch | 34 ++ ...abel-return-error-when-writing-fails.patch | 30 + ..._MAC_OVERRIDE-in-journald-for-SMACK-.patch | 41 ++ ...-man-we-don-t-have-Wanted-dependency.patch | 29 + ...-bus-check-return-value-of-vasprintf.patch | 35 ++ ...operties-that-claim-to-be-both-writa.patch | 29 + ...void-prematurely-rejecting-missing-u.patch | 39 ++ ...t-from-format_timestamp_relative-on-.patch | 25 + ...g-at-the-next-unichar-honour-the-siz.patch | 29 + ...ise-level-of-Found-dependency.-lines.patch | 42 ++ 0004-bootchart-check-return-of-strftime.patch | 63 +++ ...the-rescue-argument-to-rescue.target.patch | 27 + ...journal-do-server_vacuum-for-sigusr1.patch | 30 + ...-t-manage-to-properly-allocate-the-e.patch | 43 ++ ...t-check-the-value-of-received-signal.patch | 46 ++ ...ntial-double-free-crash-in-child-pro.patch | 38 ++ ...-try-to-access-data-for-non-existing.patch | 29 + 0005-cryptsetup-fix-an-OOM-check.patch | 25 + ...urnalctl-correct-help-text-for-until.patch | 21 + ...-stricter-checking-of-random-boot-id.patch | 37 ++ ...sd-journal-flush-after-sd-remount-fs.patch | 38 ++ 0005-util-avoid-double-close-of-fd.patch | 28 + 0006-calendarspec-fix-typo-in-annually.patch | 27 + 0006-journald-fix-minor-memory-leak.patch | 24 + ...eck-journal-file-size-to-deduce-if-i.patch | 55 ++ ...not-ignore-errors-in-symlink-removal.patch | 26 + ...urnald-fix-memory-leak-on-error-path.patch | 29 + ...til-introduce-sethostname_idempotent.patch | 85 +++ ...base-of-Bluetooth-company-identifier.patch | 38 ++ ...systemd-journald.service-Type-notify.patch | 27 + ...ste-error-and-actually-set-the-new-h.patch | 26 + ...base-of-Bluetooth-company-identifier.patch | 77 +++ ...l-unmounting-only-if-not-running-ins.patch | 27 + ...e-we-do-not-try-to-print-missing-fie.patch | 57 ++ ...rint-anything-while-passwords-are-be.patch | 180 ++++++ 1053-better-checks-in-write_net_rules.patch | 4 +- 1089-fix-cgroup-device-controller.patch | 74 +++ ...-supported_parent-for-well-known-SCS.patch | 58 ++ 1091-udev-path_id-update-comments.patch | 42 ++ ...dev-do-not-accept-invalid-log-levels.patch | 67 +++ ...-of-udev.event-timeout-kernel-parame.patch | 23 + ...-constants-in-kernel-cmdline-parsers.patch | 58 ++ ...t-ssd-disk-to-use-deadline-scheduler.patch | 28 + 1096-new-udev-root-symlink-generator.patch | 130 +++++ avoid-leaking-socket-descriptors.patch | 339 +++++++++++ journald-advice-about-use-of-memory.patch | 146 +++++ keep-crypt-password-prompt.patch | 45 -- parse-crypttab-for-noauto-option.patch | 2 +- ...f-ARM-based-Chromebook-as-a-power-sw.patch | 8 +- systemd-mini.changes | 290 ++++++++++ systemd-mini.spec | 280 +++++++++- systemd-udev-root-symlink | 9 - systemd.changes | 290 ++++++++++ systemd.spec | 280 +++++++++- watch_resolv.conf_for_become_changed.patch | 159 ++++++ write_dev_root_rule | 13 - 91 files changed, 5311 insertions(+), 629 deletions(-) create mode 100644 0001-core-don-t-allow-enabling-if-unit-is-masked.patch create mode 100644 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch create mode 100644 0001-journalctl-do-not-output-reboot-markers-when-running.patch create mode 100644 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch create mode 100644 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch create mode 100644 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch create mode 100644 0001-logind-add-support-for-Triton2-Power-Button.patch create mode 100644 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch create mode 100644 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch create mode 100644 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch create mode 100644 0001-shell-completion-fix-completion-of-inactive-units.patch create mode 100644 0001-shutdownd-clean-up-initialization-of-struct.patch create mode 100644 0001-strv-add-an-additional-overflow-check-when-enlarging.patch create mode 100644 0001-systemctl-let-list-units-unit-files-honour-type.patch create mode 100644 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch create mode 100644 0001-systemd-continue-switch-root-even-if-umount-fails.patch create mode 100644 0001-tmpfiles-compare-return-against-correct-errno.patch create mode 100644 0001-units-introduce-network-pre.target-as-place-to-hook-.patch create mode 100644 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch create mode 100644 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch create mode 100644 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch create mode 100644 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch create mode 100644 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch create mode 100644 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch create mode 100644 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch create mode 100644 0002-logind-add-support-for-TPS65217-Power-Button.patch create mode 100644 0002-shell-completion-propose-templates-for-disable-re-en.patch create mode 100644 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch create mode 100644 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch create mode 100644 0002-snapshot-return-error-when-snapshot-exists.patch create mode 100644 0002-systemctl-obey-state-in-list-unit-files.patch create mode 100644 0002-systemd-try-harder-to-bind-to-notify-socket.patch create mode 100644 0002-time-also-support-infinity-syntax-in-parse_nsec.patch create mode 100644 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch create mode 100644 0003-bootchart-parse-userinput-with-safe_atoi.patch create mode 100644 0003-fileio-label-return-error-when-writing-fails.patch create mode 100644 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch create mode 100644 0003-man-we-don-t-have-Wanted-dependency.patch create mode 100644 0003-sd-bus-check-return-value-of-vasprintf.patch create mode 100644 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch create mode 100644 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch create mode 100644 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch create mode 100644 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch create mode 100644 0004-Raise-level-of-Found-dependency.-lines.patch create mode 100644 0004-bootchart-check-return-of-strftime.patch create mode 100644 0004-core-map-the-rescue-argument-to-rescue.target.patch create mode 100644 0004-journal-do-server_vacuum-for-sigusr1.patch create mode 100644 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch create mode 100644 0004-sd-event-check-the-value-of-received-signal.patch create mode 100644 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch create mode 100644 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch create mode 100644 0005-cryptsetup-fix-an-OOM-check.patch create mode 100644 0005-journalctl-correct-help-text-for-until.patch create mode 100644 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch create mode 100644 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch create mode 100644 0005-util-avoid-double-close-of-fd.patch create mode 100644 0006-calendarspec-fix-typo-in-annually.patch create mode 100644 0006-journald-fix-minor-memory-leak.patch create mode 100644 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch create mode 100644 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch create mode 100644 0008-journald-fix-memory-leak-on-error-path.patch create mode 100644 0008-util-introduce-sethostname_idempotent.patch create mode 100644 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0009-units-make-systemd-journald.service-Type-notify.patch create mode 100644 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch create mode 100644 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch create mode 100644 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch create mode 100644 0012-manager-do-not-print-anything-while-passwords-are-be.patch create mode 100644 1089-fix-cgroup-device-controller.patch create mode 100644 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch create mode 100644 1091-udev-path_id-update-comments.patch create mode 100644 1092-libudev-do-not-accept-invalid-log-levels.patch create mode 100644 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch create mode 100644 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch create mode 100644 1095-set-ssd-disk-to-use-deadline-scheduler.patch create mode 100644 1096-new-udev-root-symlink-generator.patch create mode 100644 avoid-leaking-socket-descriptors.patch create mode 100644 journald-advice-about-use-of-memory.patch delete mode 100644 keep-crypt-password-prompt.patch delete mode 100644 systemd-udev-root-symlink create mode 100644 watch_resolv.conf_for_become_changed.patch delete mode 100644 write_dev_root_rule diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index 57ca912b..b4aeb6f4 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -1,497 +1,16 @@ -This seems to be a SUSE specific patch. Here we add the check for unmaintained -disk like devices to be able to flush and maybe shut them down. Also we add the -missing sync() system call for the direct halt/reboot systemctl command. Then we -use the system halt as gfallback if poweroff fails for both the direct poweroff -systemctl command as well as for the systemd-shutdown utility. - --- - Makefile.am | 11 + - src/core/hdflush.c | 365 ++++++++++++++++++++++++++++++++++++++++++++++ - src/core/hdflush.h | 25 +++ - src/core/shutdown.c | 12 + - src/systemctl/systemctl.c | 25 ++- - 5 files changed, 429 insertions(+), 9 deletions(-) + systemd-209/src/core/shutdown.c | 4 ++++ + systemd-209/src/systemctl/systemctl.c | 22 +++++++++++++++------- + 2 files changed, 19 insertions(+), 7 deletions(-) ---- systemd-209/Makefile.am -+++ systemd-209/Makefile.am 2014-01-28 11:06:56.000000000 +0000 -@@ -1004,7 +1004,9 @@ libsystemd_core_la_SOURCES = \ - src/core/audit-fd.c \ - src/core/audit-fd.h \ - src/core/async.c \ -- src/core/async.h -+ src/core/async.h \ -+ src/core/hdflush.c \ -+ src/core/hdflush.h - - if HAVE_KMOD - libsystemd_core_la_SOURCES += \ -@@ -1522,6 +1524,8 @@ systemd_shutdown_SOURCES = \ - src/core/shutdown.c \ - src/core/mount-setup.c \ - src/core/mount-setup.h \ -+ src/core/hdflush.c \ -+ src/core/hdflush.h \ - src/core/killall.h \ - src/core/killall.c - -@@ -1818,7 +1822,9 @@ systemd_cgroups_agent_LDADD = \ - - # ------------------------------------------------------------------------------ - systemctl_SOURCES = \ -- src/systemctl/systemctl.c -+ src/systemctl/systemctl.c \ -+ src/core/hdflush.c \ -+ src/core/hdflush.h - - systemctl_LDADD = \ - libsystemd-units.la \ -@@ -1826,6 +1832,7 @@ systemctl_LDADD = \ - libsystemd-internal.la \ - libsystemd-logs.la \ - libsystemd-journal-internal.la \ -+ libudev-internal.la \ - libsystemd-shared.la - - # ------------------------------------------------------------------------------ ---- systemd-209/src/core/hdflush.c -+++ systemd-209/src/core/hdflush.c 2014-01-28 10:58:56.000000000 +0000 -@@ -0,0 +1,367 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+/* -+ * Find all disks on the system, list out IDE, unmanaged ATA disks, and -+ * USB sticks flush the cache of those and optional shut them down. -+ */ -+ -+#include -+#include -+#ifdef LIST_DEBUG -+# include -+#endif -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#ifdef WORDS_BIGENDIAN -+# include -+#endif -+ -+#include "hdflush.h" -+ -+/* Used in flush_cache_ext(), compare with */ -+#define IDBYTES 512 -+#define MASK_EXT 0xE000 /* Bit 15 shall be zero, bit 14 shall be one, bit 13 flush cache ext */ -+#define TEST_EXT 0x6000 -+ -+/* Maybe set in list_disks() and used in do_standby_disk() */ -+#define DISK_IS_IDE 0x00000001 -+#define DISK_IS_SATA 0x00000002 -+#define DISK_EXTFLUSH 0x00000004 -+#define DISK_REMOVABLE 0x00000008 -+#define DISK_MANAGED 0x00000010 -+#define DISK_FLUSHONLY 0x00000020 -+ -+struct sysfs { -+ struct udev *udev; -+ struct udev_enumerate *num; -+ struct udev_list_entry *item; -+ char *devnode; -+ size_t size; -+}; -+ -+static int flush_cache_ext(const struct sysfs *sysfs); -+ -+static struct sysfs * open_sysfs(void) -+{ -+ static struct sysfs sysfs; -+ sysfs.udev = udev_new(); -+ if (!sysfs.udev) -+ goto err; -+ sysfs.num = udev_enumerate_new(sysfs.udev); -+ if (!sysfs.num) -+ goto err; -+ if (udev_enumerate_add_match_subsystem(sysfs.num, "block") < 0) -+ goto err; -+ if (udev_enumerate_add_match_sysname(sysfs.num, "sd?") < 0) -+ goto err; -+ if (udev_enumerate_add_match_sysname(sysfs.num, "hd?") < 0) -+ goto err; -+ if (udev_enumerate_scan_devices(sysfs.num) < 0) -+ goto err; -+ sysfs.item = udev_enumerate_get_list_entry(sysfs.num); -+ sysfs.devnode = NULL; -+ sysfs.size = 0; -+ return &sysfs; -+err: -+ if (sysfs.num) -+ udev_unref(sysfs.udev); -+ if (sysfs.udev) -+ udev_unref(sysfs.udev); -+ return NULL; -+} -+ -+static void close_sysfs(struct sysfs *sysfs) -+{ -+ if (sysfs->num) -+ udev_enumerate_unref(sysfs->num); -+ if (sysfs->udev) -+ udev_unref(sysfs->udev); -+ if (sysfs->devnode) -+ free(sysfs->devnode); -+ sysfs->devnode = NULL; -+} -+ -+ -+static char *list_disks(struct sysfs *sysfs, unsigned int* flags) -+{ -+ struct udev_device *device, *parent; -+ struct udev_list_entry *item; -+ const char *devnode; -+ char path[PATH_MAX]; -+ -+ device = NULL; -+next: -+ if (device) -+ udev_device_unref(device); -+ if (sysfs->devnode) -+ free(sysfs->devnode); -+ sysfs->devnode = NULL; -+ sysfs->size = 0; -+ *flags = 0; -+ -+ if (!sysfs->item) -+ goto empty; -+ item = sysfs->item; -+ sysfs->item = udev_list_entry_get_next(sysfs->item); -+ -+ if (!(device = udev_device_new_from_syspath(sysfs->udev, udev_list_entry_get_name(item)))) -+ goto out; -+ if (!(devnode = udev_device_get_devnode(device))) -+ goto out; -+ if (!(sysfs->devnode = strdup(devnode))) -+ goto out; -+ -+ path[0] = '\0'; -+ parent = udev_device_get_parent(device); -+ if (parent) { -+ const char *sysname, *devpath; -+ struct udev_device *disk; -+ const char *value; -+ int ret; -+ -+ sysname = udev_device_get_sysname(parent); -+ devpath = udev_device_get_devpath(parent); -+ -+ strcpy(path, "/sys"); -+ strcat(path, devpath); -+ strcat(path, "/scsi_disk/"); -+ strcat(path, sysname); -+ -+ disk = udev_device_new_from_syspath(sysfs->udev, path); -+ if (disk) { -+ value = udev_device_get_sysattr_value(disk, "manage_start_stop"); -+ udev_device_unref(disk); -+ -+ if (value && *value != '0') { -+ *flags = DISK_MANAGED; -+#ifndef LIST_DEBUG -+ goto next; /* Device managed by the kernel */ -+#endif -+ } -+ } -+ -+ value = udev_device_get_sysattr_value(device, "size"); -+ if (value && *value) -+ sysfs->size = (size_t)atoll(value); -+ -+ value = udev_device_get_sysattr_value(device, "removable"); -+ if (value && *value != '0') { -+ *flags |= DISK_REMOVABLE; -+ -+ if ((ret = flush_cache_ext(sysfs))) { -+ if (ret < 0) -+ goto next; -+ *flags |= DISK_EXTFLUSH; -+ } -+ goto out; /* Removable disk like USB stick */ -+ } -+ -+ value = udev_device_get_sysname(device); -+ if (value && *value == 'h') { -+ *flags |= DISK_IS_IDE; -+ -+ if ((ret = flush_cache_ext(sysfs))) { -+ if (ret < 0) -+ goto next; -+ *flags |= DISK_EXTFLUSH; -+ } -+ goto out; /* IDE disk found */ -+ } -+ -+ value = udev_device_get_sysattr_value(parent, "vendor"); -+ if (value && strncmp(value, "ATA", 3) == 0) { -+ *flags |= (DISK_IS_IDE|DISK_IS_SATA); -+ -+ if ((ret = flush_cache_ext(sysfs))) { -+ if (ret < 0) -+ goto next; -+ *flags |= DISK_EXTFLUSH; -+ } -+ goto out; /* SATA disk to shutdown */ -+ } -+ goto next; -+ } -+out: -+ udev_device_unref(device); -+empty: -+ return sysfs->devnode; -+} -+#ifndef LIST_DEBUG -+/* -+ * Check IDE/(S)ATA hard disk identity for -+ * the FLUSH CACHE EXT bit set. -+ */ -+static int flush_cache_ext(const struct sysfs *sysfs) -+{ -+#ifndef WIN_IDENTIFY -+#define WIN_IDENTIFY 0xEC -+#endif -+ unsigned char args[4+IDBYTES]; -+ unsigned short *id = (unsigned short*)(&args[4]); -+ int fd = -1, ret = 0; -+ -+ if (sysfs->size < (1<<28)) -+ goto out; /* small disk */ -+ -+ if ((fd = open(sysfs->devnode, O_RDONLY|O_NONBLOCK|O_CLOEXEC)) < 0) -+ goto out; -+ -+ memset(&args[0], 0, sizeof(args)); -+ args[0] = WIN_IDENTIFY; -+ args[3] = 1; -+ if (ioctl(fd, HDIO_DRIVE_CMD, &args)) -+ goto out; -+#ifdef WORDS_BIGENDIAN -+# if 0 -+ { -+ const unsigned short *end = id + IDBYTES/2; -+ const unsigned short *from = id; -+ unsigned short *to = id; -+ -+ while (from < end) -+ *to++ = bswap_16(*from++); -+ } -+# else -+ id[83] = bswap_16(id[83]); -+# endif -+#endif -+ if ((id[83] & MASK_EXT) == TEST_EXT) -+ ret = 1; -+out: -+ if (fd >= 0) -+ close(fd); -+ return ret; -+} -+ -+/* -+ * Put an IDE/SCSI/SATA disk in standby mode. -+ * Code stolen from hdparm.c -+ */ -+static int do_standby_disk(struct sysfs *sysfs, unsigned int flags) -+{ -+#ifndef WIN_STANDBYNOW1 -+#define WIN_STANDBYNOW1 0xE0 -+#endif -+#ifndef WIN_STANDBYNOW2 -+#define WIN_STANDBYNOW2 0x94 -+#endif -+#ifndef WIN_FLUSH_CACHE_EXT -+#define WIN_FLUSH_CACHE_EXT 0xEA -+#endif -+#ifndef WIN_FLUSH_CACHE -+#define WIN_FLUSH_CACHE 0xE7 -+#endif -+ unsigned char flush1[4] = {WIN_FLUSH_CACHE_EXT,0,0,0}; -+ unsigned char flush2[4] = {WIN_FLUSH_CACHE,0,0,0}; -+ unsigned char stdby1[4] = {WIN_STANDBYNOW1,0,0,0}; -+ unsigned char stdby2[4] = {WIN_STANDBYNOW2,0,0,0}; -+ int fd, ret; -+ -+ if ((fd = open(sysfs->devnode, O_RDWR|O_NONBLOCK|O_CLOEXEC)) < 0) -+ return -1; -+ -+ switch (flags & DISK_EXTFLUSH) { -+ case DISK_EXTFLUSH: -+ if ((ret = ioctl(fd, HDIO_DRIVE_CMD, &flush1)) == 0) -+ break; -+ /* Extend flush rejected, try standard flush */ -+ default: -+ ret = ioctl(fd, HDIO_DRIVE_CMD, &flush2) && -+ ioctl(fd, BLKFLSBUF); -+ break; -+ } -+ -+ if ((flags & DISK_FLUSHONLY) == 0x0) { -+ ret = ioctl(fd, HDIO_DRIVE_CMD, &stdby1) && -+ ioctl(fd, HDIO_DRIVE_CMD, &stdby2); -+ } -+ -+ close(fd); -+ -+ if (ret) -+ return -1; -+ return 0; -+} -+#endif -+#ifdef LIST_DEBUG -+int main() -+{ -+ char *disk; -+ unsigned int flags; -+ struct sysfs *sysfs = open_sysfs(); -+ if (!sysfs) -+ goto err; -+ while ((disk = list_disks(sysfs, &flags))) -+ fprintf(stdout, "%s\n", sysfs->devnode); -+ close_sysfs(sysfs); -+err: -+ return 0; -+} -+#else -+/* -+ * List all disks and put them in standby mode. -+ * This has the side-effect of flushing the writecache, -+ * which is exactly what we want on poweroff. -+ */ -+void hddown(void) -+{ -+ struct sysfs *sysfs; -+ unsigned int flags; -+ char *disk; -+ -+ if (!(sysfs = open_sysfs())) -+ return; -+ -+ while ((disk = list_disks(sysfs, &flags))) -+ do_standby_disk(sysfs, flags); -+ -+ close_sysfs(sysfs); -+} -+ -+/* -+ * List all disks and cause them to flush their buffers. -+ */ -+void hdflush(void) -+{ -+ struct sysfs *sysfs; -+ unsigned int flags; -+ char *disk; -+ -+ if (!(sysfs = open_sysfs())) -+ return; -+ -+ while ((disk = list_disks(sysfs, &flags))) -+ do_standby_disk(sysfs, (flags|DISK_FLUSHONLY)); -+ -+ close_sysfs(sysfs); -+} -+#endif ---- systemd-209/src/core/hdflush.h -+++ systemd-209/src/core/hdflush.h 2014-01-28 11:00:08.000000000 +0000 -@@ -0,0 +1,25 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+#pragma once -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+void hdflush(void); -+void hddown(void); --- systemd-209/src/core/shutdown.c +++ systemd-209/src/core/shutdown.c 2014-02-28 11:17:22.000000000 +0000 -@@ -40,6 +40,7 @@ - #include "missing.h" - #include "log.h" - #include "fileio.h" -+#include "hdflush.h" - #include "umount.h" - #include "util.h" - #include "mkdir.h" -@@ -225,7 +226,8 @@ int main(int argc, char *argv[]) { - _cleanup_free_ char *cgroup = NULL; - char *arguments[3]; - unsigned retries; -- int cmd, r; -+ unsigned cmd; -+ int r; - - log_parse_environment(); - r = parse_argv(argc, argv); -@@ -388,8 +390,13 @@ int main(int argc, char *argv[]) { - * on reboot(), but the file systems need to be synce'd - * explicitly in advance. So let's do this here, but not - * needlessly slow down containers. */ -- if (!in_container) -+ if (!in_container) { - sync(); -+ if (cmd == RB_POWER_OFF || cmd == RB_HALT_SYSTEM) -+ hddown(); -+ else -+ hdflush(); -+ } - - switch (cmd) { - -@@ -449,6 +456,10 @@ int main(int argc, char *argv[]) { +@@ -449,6 +449,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); + -+ if (cmd == RB_POWER_OFF) ++ if (cmd == (int)RB_POWER_OFF) + reboot(RB_HALT_SYSTEM); + if (errno == EPERM && in_container) { @@ -499,15 +18,7 @@ systemctl command as well as for the systemd-shutdown utility. * CAP_SYS_BOOT just exit, this will kill our --- systemd-209/src/systemctl/systemctl.c +++ systemd-209/src/systemctl/systemctl.c 2014-02-28 11:19:35.000000000 +0000 -@@ -67,6 +67,7 @@ - #include "logs-show.h" - #include "socket-util.h" - #include "fileio.h" -+#include "hdflush.h" - #include "env-util.h" - #include "bus-util.h" - #include "bus-message.h" -@@ -93,6 +94,7 @@ static bool arg_no_pager = false; +@@ -93,6 +93,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -515,7 +26,7 @@ systemctl command as well as for the systemd-shutdown utility. static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -5566,6 +5568,7 @@ static int halt_parse_argv(int argc, cha +@@ -5578,6 +5579,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -523,7 +34,7 @@ systemctl command as well as for the systemd-shutdown utility. { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -5617,10 +5620,13 @@ static int halt_parse_argv(int argc, cha +@@ -5629,10 +5631,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -538,25 +49,25 @@ systemctl command as well as for the systemd-shutdown utility. case '?': return -EINVAL; -@@ -6266,16 +6272,24 @@ static int halt_now(enum action a) { +@@ -6274,20 +6279,23 @@ done: + + static int halt_now(enum action a) { + +-/* Make sure C-A-D is handled by the kernel from this ++ if (!arg_no_sync) ++ sync(); ++ ++ /* Make sure C-A-D is handled by the kernel from this * point on... */ reboot(RB_ENABLE_CAD); -- switch (a) { -+ if (!arg_no_sync) -+ sync(); + switch (a) { - case ACTION_HALT: - log_info("Halting."); - reboot(RB_HALT_SYSTEM); - return -errno; -+ if (a == ACTION_POWEROFF || a == ACTION_HALT) -+ hddown(); -+ else -+ hdflush(); -+ -+ switch (a) { - +- case ACTION_POWEROFF: log_info("Powering off."); reboot(RB_POWER_OFF); diff --git a/0001-core-don-t-allow-enabling-if-unit-is-masked.patch b/0001-core-don-t-allow-enabling-if-unit-is-masked.patch new file mode 100644 index 00000000..7e193738 --- /dev/null +++ b/0001-core-don-t-allow-enabling-if-unit-is-masked.patch @@ -0,0 +1,36 @@ +From f7101b7368dfe41dbc8b7203e06133cccb589c01 Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Tue, 7 Oct 2014 13:35:41 +0200 +Subject: [PATCH] core: don't allow enabling if unit is masked + +--- + src/shared/install.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git src/shared/install.c src/shared/install.c +index fa064c2..945bb27 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -1516,6 +1516,19 @@ int unit_file_enable( + return r; + + STRV_FOREACH(i, files) { ++ UnitFileState state; ++ ++ state = unit_file_get_state(scope, root_dir, *i); ++ if (state < 0) { ++ log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); ++ return state; ++ } ++ ++ if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { ++ log_error("Failed to enable unit: Unit %s is masked", *i); ++ return -ENOTSUP; ++ } ++ + r = install_info_add_auto(&c, *i); + if (r < 0) + return r; +-- +1.7.9.2 + diff --git a/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch b/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch new file mode 100644 index 00000000..18e76f4f --- /dev/null +++ b/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch @@ -0,0 +1,76 @@ +From 3018d31238caabc2e204aa161e647dc1c1b5d1c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 2 Oct 2014 00:11:36 -0400 +Subject: [PATCH] core/swap: only make configured units part of swap.target + +We used to make all .swap units either RequiredBy=swap.target or +WantedBy=swap.target. But swap.target should be the "configured swap +units", either through /etc/fstab or non-generated .swap units. It +is surprising when systemd starts treating a swap device that was +possibly temporarily enabled as a hard dependency for other units. +So do not add dependencies with swap.target for units gleaned from +/proc/swaps. + +Similarly, we added dependencies for all aliases of the device name, +which clutters up the dependency graph but does not seem to bring any +value, since the status of those following units is consistent with +the main one anyway. + +This should be a fix for [1], and it seems the right thing to do +anyway. + +[1] https://bugzilla.redhat.com/show_bug.cgi?id=1114786 +--- + src/core/swap.c | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +diff --git src/core/swap.c src/core/swap.c +index ef90d0e..b2ca048 100644 +--- src/core/swap.c ++++ src/core/swap.c +@@ -213,7 +213,7 @@ static int swap_add_device_links(Swap *s) { + } + + static int swap_add_default_dependencies(Swap *s) { +- bool nofail = false, noauto = false; ++ bool nofail, noauto; + int r; + + assert(s); +@@ -228,23 +228,25 @@ static int swap_add_default_dependencies(Swap *s) { + if (r < 0) + return r; + +- if (s->from_fragment) { +- SwapParameters *p = &s->parameters_fragment; ++ if (!s->from_fragment) ++ /* The swap unit can either be for an alternative device name, in which ++ * case we don't need to add the dependency on swap.target because this unit ++ * is following a different unit which will have this dependency added, ++ * or it can be derived from /proc/swaps, in which case it was started ++ * manually, and should not become a dependency of swap.target. */ ++ return 0; + +- nofail = p->nofail; +- noauto = p->noauto; +- } ++ nofail = s->parameters_fragment.nofail; ++ noauto = s->parameters_fragment.noauto; + + if (!noauto) { + if (nofail) + r = unit_add_dependency_by_name_inverse(UNIT(s), UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); + else + r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); +- if (r < 0) +- return r; + } + +- return 0; ++ return r < 0 ? r : 0; + } + + static int swap_verify(Swap *s) { +-- +1.7.9.2 + diff --git a/0001-journalctl-do-not-output-reboot-markers-when-running.patch b/0001-journalctl-do-not-output-reboot-markers-when-running.patch new file mode 100644 index 00000000..b2aed874 --- /dev/null +++ b/0001-journalctl-do-not-output-reboot-markers-when-running.patch @@ -0,0 +1,27 @@ +From 4bed248505da4da94d82078fe60326a374970e97 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 26 Sep 2014 10:49:55 -0400 +Subject: [PATCH] journalctl: do not output --reboot-- markers when running + non-interactively + +They are not legal in the export format. +--- + src/journal/journalctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journalctl.c src/journal/journalctl.c +index 47206d3..89a922c 100644 +--- src/journal/journalctl.c ++++ src/journal/journalctl.c +@@ -1939,7 +1939,7 @@ int main(int argc, char *argv[]) { + goto finish; + } + +- if (!arg_merge) { ++ if (!arg_merge && !arg_quiet) { + sd_id128_t boot_id; + + r = sd_journal_get_monotonic_usec(j, NULL, &boot_id); +-- +1.7.9.2 + diff --git a/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch b/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch new file mode 100644 index 00000000..67fb3061 --- /dev/null +++ b/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch @@ -0,0 +1,38 @@ +From 71ed2d38711e345f22e2200bc7bb156aed98972a Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 12 Nov 2014 23:30:46 +0100 +Subject: [PATCH] keymap: Add support for IBM ThinkPad X41 Tablet + +Scancode taken from: +http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons#Linux_Support + +William Jon McCann provided the DMI match. IBM seems to have +swapped the version and model of the system: + Manufacturer: IBM + Product Name: 18666TU + Version: ThinkPad X41 Tablet +--- + hwdb/60-keyboard.hwdb | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index d2ca965..56a4009 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -594,6 +594,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* + KEYBOARD_KEY_6f=down # down on d-pad + KEYBOARD_KEY_69=enter # enter on d-pad + ++# ThinkPad X41 Tablet ++keyboard:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr* ++ KEYBOARD_KEY_6c=direction # rotate ++ KEYBOARD_KEY_68=f13 # toolbox ++ KEYBOARD_KEY_6b=esc # escape ++ KEYBOARD_KEY_69=enter # enter on d-pad ++ + # IdeaPad + keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_42=f23 +-- +1.7.9.2 + diff --git a/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch b/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch new file mode 100644 index 00000000..29bbbcd1 --- /dev/null +++ b/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch @@ -0,0 +1,27 @@ +From a046659f8551e1c8f79ba4b66472444e285255df Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Tue, 7 Oct 2014 11:20:04 +0200 +Subject: [PATCH] keymap: Fix touchpad toggle on Toshiba Satellite P75-A7200 + +Just like everywhere else we use KEY_F21 instead of KEY_TOUCHPAD_TOGGLE for X +friendliness. +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 8a1baa7..1fea32a 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -1094,7 +1094,7 @@ keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75 + KEYBOARD_KEY_13c=brightnessdown + KEYBOARD_KEY_13d=brightnessup + KEYBOARD_KEY_13e=switchvideomode +- KEYBOARD_KEY_13f=touchpad_toggle ++ KEYBOARD_KEY_13f=f21 # Touchpad toggle + KEYBOARD_KEY_9e=wlan + + ########################################################### +-- +1.7.9.2 + diff --git a/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch b/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch new file mode 100644 index 00000000..ba00c036 --- /dev/null +++ b/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch @@ -0,0 +1,60 @@ +From f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 5 Nov 2014 08:30:52 -0500 +Subject: [PATCH] login: rerun vconsole-setup when switching from vgacon to + fbcon + +The initialization performed by systemd-vconsole-setup is reset +when changing console drivers (say from vgacon to fbcon), so we +need to run it in that case. + +See +http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html +http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html +http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html + +This commit adds a udev rule to make systemd-vconsole-setup get run when +the fbcon device becomes available. + +(david: moved into new file 90-vconsole.rules instead of 71-seats.rules; + build-failures are on me, not on Ray) +--- + Makefile.am | 3 +++ + src/vconsole/90-vconsole.rules | 11 +++++++++++ + 2 files changed, 14 insertions(+) + create mode 100644 src/vconsole/90-vconsole.rules + +diff --git Makefile.am Makefile.am +index 3686103..f614b86 100644 +--- Makefile.am ++++ Makefile.am +@@ -4439,6 +4439,9 @@ rootlibexec_PROGRAMS += \ + nodist_systemunit_DATA += \ + units/systemd-vconsole-setup.service + ++dist_udevrules_DATA += \ ++ src/vconsole/90-vconsole.rules ++ + SYSINIT_TARGET_WANTS += \ + systemd-vconsole-setup.service + endif +diff --git src/vconsole/90-vconsole.rules src/vconsole/90-vconsole.rules +new file mode 100644 +index 0000000..bf6a9ef +--- /dev/null ++++ src/vconsole/90-vconsole.rules +@@ -0,0 +1,11 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++ ++# Kernel resets vconsole state when changing console drivers so run ++# systemd-vconsole-setup when fbcon loads ++ ++ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="/usr/lib/systemd/systemd-vconsole-setup" +-- +1.7.9.2 + diff --git a/0001-logind-add-support-for-Triton2-Power-Button.patch b/0001-logind-add-support-for-Triton2-Power-Button.patch new file mode 100644 index 00000000..dbd0047c --- /dev/null +++ b/0001-logind-add-support-for-Triton2-Power-Button.patch @@ -0,0 +1,24 @@ +From 58d4aabedd415a735efeb8c2608ee73618c07f78 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 22 Sep 2014 22:14:39 -0400 +Subject: [PATCH] logind: add support for Triton2 Power Button + +https://bugs.freedesktop.org/show_bug.cgi?id=84201 +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules +index 36fb827..a6997f7 100644 +--- src/login/70-power-switch.rules ++++ src/login/70-power-switch.rules +@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" + + SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" + + LABEL="power_switch_end" +-- +1.7.9.2 + diff --git a/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch b/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch new file mode 100644 index 00000000..f71e16bd --- /dev/null +++ b/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch @@ -0,0 +1,79 @@ +Based on 4dffec1459f50ac9f8f67ccfcb79836b4ed5a50e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 13:44:45 +0200 +Subject: [PATCH] manager: Linux on hppa has fewer rtsigs, hence avoid using + the higher ones there + +https://bugs.freedesktop.org/show_bug.cgi?id=84931 +--- + src/core/manager.c | 29 +++++++++++++++++++++++++++-- + 1 file changed, 27 insertions(+), 2 deletions(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-10-29 14:02:28.635837997 +0000 +@@ -340,11 +340,14 @@ static int manager_setup_signals(Manager + + assert(m); + +- /* We are not interested in SIGSTOP and friends. */ + assert_se(sigaction(SIGCHLD, &sa, NULL) == 0); + +- assert_se(sigemptyset(&mask) == 0); ++ /* We make liberal use of realtime signals here. On ++ * Linux/glibc we have 30 of them (with the exception of Linux ++ * on hppa, see below), between SIGRTMIN+0 ... SIGRTMIN+30 ++ * (aka SIGRTMAX). */ + ++ assert_se(sigemptyset(&mask) == 0); + sigset_add_many(&mask, + SIGCHLD, /* Child died */ + SIGTERM, /* Reexecute daemon */ +@@ -354,6 +357,7 @@ static int manager_setup_signals(Manager + SIGINT, /* Kernel sends us this on control-alt-del */ + SIGWINCH, /* Kernel sends us this on kbrequest (alt-arrowup) */ + SIGPWR, /* Some kernel drivers and upsd send us this on power failure */ ++ + SIGRTMIN+0, /* systemd: start default.target */ + SIGRTMIN+1, /* systemd: isolate rescue.target */ + SIGRTMIN+2, /* systemd: isolate emergency.target */ +@@ -361,19 +365,40 @@ static int manager_setup_signals(Manager + SIGRTMIN+4, /* systemd: start poweroff.target */ + SIGRTMIN+5, /* systemd: start reboot.target */ + SIGRTMIN+6, /* systemd: start kexec.target */ ++ ++ /* ... space for more special targets ... */ ++ + SIGRTMIN+13, /* systemd: Immediate halt */ + SIGRTMIN+14, /* systemd: Immediate poweroff */ + SIGRTMIN+15, /* systemd: Immediate reboot */ + SIGRTMIN+16, /* systemd: Immediate kexec */ ++ ++ /* ... space for more immediate system state changes ... */ ++ + SIGRTMIN+20, /* systemd: enable status messages */ + SIGRTMIN+21, /* systemd: disable status messages */ + SIGRTMIN+22, /* systemd: set log level to LOG_DEBUG */ + SIGRTMIN+23, /* systemd: set log level to LOG_INFO */ + SIGRTMIN+24, /* systemd: Immediate exit (--user only) */ ++ ++ /* .. one free signal here ... */ ++ ++#if !defined(__hppa64__) && !defined(__hppa__) ++ /* Apparently Linux on hppa has fewer RT ++ * signals (SIGRTMAX is SIGRTMIN+25 there), ++ * hence let's not try to make use of them ++ * here. Since these commands are accessible ++ * by different means and only really a safety ++ * net, the missing functionality on hppa ++ * shouldn't matter. */ ++ + SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */ + SIGRTMIN+27, /* systemd: set log target to console */ + SIGRTMIN+28, /* systemd: set log target to kmsg */ + SIGRTMIN+29, /* systemd: set log target to syslog-or-kmsg */ ++ ++ /* ... one free signal here SIGRTMIN+30 ... */ ++#endif + -1); + assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0); + diff --git a/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch b/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch new file mode 100644 index 00000000..c1326c50 --- /dev/null +++ b/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch @@ -0,0 +1,25 @@ +From ef7b6c0190fefaacf6d8f8e1a6dda4ba8b98091b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 29 Oct 2014 17:58:43 +0100 +Subject: [PATCH] sd-bus: properly handle removals of non-existing matches + +--- + src/libsystemd/sd-bus/bus-match.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c +index 18afe0f..5658c61 100644 +--- src/libsystemd/sd-bus/bus-match.c ++++ src/libsystemd/sd-bus/bus-match.c +@@ -537,7 +537,7 @@ static int bus_match_find_compare_value( + else if (BUS_MATCH_CAN_HASH(t)) + n = hashmap_get(c->compare.children, value_str); + else { +- for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next) ++ for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next) + ; + } + +-- +1.7.9.2 + diff --git a/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch b/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch new file mode 100644 index 00000000..4b9e6e87 --- /dev/null +++ b/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch @@ -0,0 +1,58 @@ +From 92daebc0d0268c35f416c1665e0da3d4be5dd69f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 11 Jul 2014 16:48:35 +0200 +Subject: [PATCH] sd-event: don't require a signal event source to be enabled + for the child event source to work + +--- + src/libsystemd/sd-event/sd-event.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index a21f7db..9a9664c 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -1919,14 +1919,13 @@ static int process_signal(sd_event *e, uint32_t events) { + int r; + + assert(e); +- assert(e->signal_sources); + + assert_return(events == EPOLLIN, -EIO); + + for (;;) { + struct signalfd_siginfo si; + ssize_t ss; +- sd_event_source *s; ++ sd_event_source *s = NULL; + + ss = read(e->signal_fd, &si, sizeof(si)); + if (ss < 0) { +@@ -1941,16 +1940,19 @@ static int process_signal(sd_event *e, uint32_t events) { + + read_one = true; + +- s = e->signal_sources[si.ssi_signo]; + if (si.ssi_signo == SIGCHLD) { + r = process_child(e); + if (r < 0) + return r; +- if (r > 0 || !s) ++ if (r > 0) + continue; +- } else +- if (!s) +- return -EIO; ++ } ++ ++ if (e->signal_sources) ++ s = e->signal_sources[si.ssi_signo]; ++ ++ if (!s) ++ continue; + + s->signal.siginfo = si; + r = source_set_pending(s, true); +-- +1.7.9.2 + diff --git a/0001-shell-completion-fix-completion-of-inactive-units.patch b/0001-shell-completion-fix-completion-of-inactive-units.patch new file mode 100644 index 00000000..563d9828 --- /dev/null +++ b/0001-shell-completion-fix-completion-of-inactive-units.patch @@ -0,0 +1,95 @@ +Based on f29c77bc0179b0fa57407dbe30b495be9f5ad2e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 14 Oct 2014 20:20:07 -0400 +Subject: [PATCH] shell-completion: fix completion of inactive units + +Units which not loaded were not proposed properly. OTOH, we should +filter units from get-unit-files by their state if they are currently +loaded. Bring zsh completions in line with bash completion, the same +logic should be used in both implementations. + +https://bugzilla.redhat.com/show_bug.cgi?id=1024379 +https://bugzilla.redhat.com/show_bug.cgi?id=790768 +https://bugs.freedesktop.org/show_bug.cgi?id=84720 +--- + shell-completion/bash/systemctl | 17 +++++++++-------- + shell-completion/zsh/_systemctl | 16 +++++++++------- + 2 files changed, 18 insertions(+), 15 deletions(-) + +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -55,10 +55,14 @@ __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list- + | { while read -r a b; do echo " $a"; done; }; } + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } +-__get_startable_units () { { +- __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap +- __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ +- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } ++__get_startable_units () { ++ # find inactive or failed units, filter out masked and not-found ++ __systemctl $1 list-units --state inactive,failed -- $( __get_all_units ) | \ ++ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } ++__get_restartable_units () { ++ # find !masked, filter out masked and not-found ++ __systemctl $1 list-units --state active,inactive,failed -- $( __get_all_units ) | \ ++ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } + __get_failed_units () { __systemctl $1 list-units \ + | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } + __get_enabled_units () { __systemctl $1 list-unit-files \ +@@ -180,10 +184,7 @@ _systemctl () { + + elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +- $( __get_all_units $mode \ +- | while read -r line; do \ +- [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ +- done )) ++ $( __get_restartable_units $mode)) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then +--- shell-completion/zsh/_systemctl ++++ shell-completion/zsh/_systemctl +@@ -138,8 +138,11 @@ _filter_units_by_property() { + done + } + ++_systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } ++ + _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} +-_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} ++_systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} ++_systemctl_restartable_units(){_sys_restartable_units=($(__systemctl list-units --state inactive,failed,active -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} + _systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} + _systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} + _systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} +@@ -181,8 +184,9 @@ done + # Completion functions for STARTABLE_UNITS + (( $+functions[_systemctl_start] )) || _systemctl_start() + { +- _systemctl_inactive_units +- compadd "$@" -a - _sys_inactive_units ++ _systemctl_startable_units ++ compadd "$@" - $( _filter_units_by_property CanStart yes \ ++ ${_sys_startable_units[*]} ) + } + + # Completion functions for STOPPABLE_UNITS +@@ -217,11 +221,9 @@ done + for fun in restart reload-or-restart ; do + (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() + { +- _systemctl_all_units ++ _systemctl_restartable_units + compadd "$@" - $( _filter_units_by_property CanStart yes \ +- ${_sys_all_units[*]} | while read -r line; do \ +- [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ +- done ) ++ ${_sys_restartable_units[*]} ) + } + done + +-- +1.7.9.2 + diff --git a/0001-shutdownd-clean-up-initialization-of-struct.patch b/0001-shutdownd-clean-up-initialization-of-struct.patch new file mode 100644 index 00000000..3f2fb4ea --- /dev/null +++ b/0001-shutdownd-clean-up-initialization-of-struct.patch @@ -0,0 +1,30 @@ +From b748c7596f79945be5263a0d1c88de64eb0c5146 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 27 Sep 2014 00:25:09 +0200 +Subject: [PATCH] shutdownd: clean up initialization of struct + +No functional change. We just don't assign the value twice. + +Found by coverity. Fixes: CID#1237616 and #1237617 +--- + src/shutdownd/shutdownd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/shutdownd/shutdownd.c src/shutdownd/shutdownd.c +index 99aa4b3..0f008a6 100644 +--- src/shutdownd/shutdownd.c ++++ src/shutdownd/shutdownd.c +@@ -52,8 +52,8 @@ static int read_packet(int fd, union shutdown_buffer *_b) { + union shutdown_buffer b; /* We maintain our own copy here, in + * order not to corrupt the last message */ + struct iovec iovec = { +- iovec.iov_base = &b, +- iovec.iov_len = sizeof(b) - 1, ++ .iov_base = &b, ++ .iov_len = sizeof(b) - 1, + }; + union { + struct cmsghdr cmsghdr; +-- +1.7.9.2 + diff --git a/0001-strv-add-an-additional-overflow-check-when-enlarging.patch b/0001-strv-add-an-additional-overflow-check-when-enlarging.patch new file mode 100644 index 00000000..3f953f4f --- /dev/null +++ b/0001-strv-add-an-additional-overflow-check-when-enlarging.patch @@ -0,0 +1,35 @@ +Based on 97569e154b80541cbad39d78231b7f360d4ff058 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 21 Oct 2014 14:01:28 +0200 +Subject: [PATCH] strv: add an additional overflow check when enlarging + strv()s + +https://bugs.freedesktop.org/show_bug.cgi?id=76745 +--- + src/shared/strv.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- src/shared/strv.c ++++ src/shared/strv.c 2014-10-23 00:00:00.000000000 +0000 +@@ -361,13 +361,19 @@ char *strv_join_quoted(char **l) { + + int strv_push(char ***l, char *value) { + char **c; +- unsigned n; ++ unsigned n, m; + + if (!value) + return 0; + + n = strv_length(*l); +- c = realloc(*l, sizeof(char*) * (n + 2)); ++ ++ /* increase and check for overflow */ ++ m = n + 2; ++ if (m < n) ++ return -ENOMEM; ++ ++ c = realloc(*l, sizeof(char*) * (size_t) m); + if (!c) + return -ENOMEM; + diff --git a/0001-systemctl-let-list-units-unit-files-honour-type.patch b/0001-systemctl-let-list-units-unit-files-honour-type.patch new file mode 100644 index 00000000..1548d84f --- /dev/null +++ b/0001-systemctl-let-list-units-unit-files-honour-type.patch @@ -0,0 +1,94 @@ +Based on 6c71341aeecc3d092ed90f66e1b2c481b8e260ff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 29 Oct 2014 22:46:30 -0400 +Subject: [PATCH] systemctl: let list-{units,unit-files } honour --type + +The docs don't clarify what is expected, but I don't see any reason +why --type should be ignored. + +Also restucture the compund conditions into separate clauses for +easier reading. +--- + src/systemctl/systemctl.c | 48 ++++++++++++++++++++++++++++++++++----------- + 1 file changed, 37 insertions(+), 11 deletions(-) + +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-11-18 00:00:00.000000000 +0000 +@@ -305,21 +305,37 @@ static int compare_unit_info(const void + } + + static bool output_show_unit(const UnitInfo *u, char **patterns) { +- const char *dot; +- + if (!strv_isempty(patterns)) { + char **pattern; + + STRV_FOREACH(pattern, patterns) + if (fnmatch(*pattern, u->id, FNM_NOESCAPE) == 0) +- return true; ++ goto next; + return false; + } + +- return (!arg_types || ((dot = strrchr(u->id, '.')) && +- strv_find(arg_types, dot+1))) && +- (arg_all || !(streq(u->active_state, "inactive") +- || u->following[0]) || u->job_id > 0); ++next: ++ if (arg_types) { ++ const char *dot; ++ ++ dot = strrchr(u->id, '.'); ++ if (!dot) ++ return false; ++ ++ if (!strv_find(arg_types, dot+1)) ++ return false; ++ } ++ ++ if (arg_all) ++ return true; ++ ++ if (u->job_id > 0) ++ return true; ++ ++ if (streq(u->active_state, "inactive") || u->following[0]) ++ return false; ++ ++ return true; + } + + static void output_units_list(const UnitInfo *unit_infos, unsigned c) { +@@ -1019,18 +1035,28 @@ static int compare_unit_file_list(const + } + + static bool output_show_unit_file(const UnitFileList *u, char **patterns) { +- const char *dot; +- + if (!strv_isempty(patterns)) { + char **pattern; + + STRV_FOREACH(pattern, patterns) + if (fnmatch(*pattern, basename(u->path), FNM_NOESCAPE) == 0) +- return true; ++ goto next; + return false; + } + +- return !arg_types || ((dot = strrchr(u->path, '.')) && strv_find(arg_types, dot+1)); ++next: ++ if (!strv_isempty(arg_types)) { ++ const char *dot; ++ ++ dot = strrchr(u->path, '.'); ++ if (!dot) ++ return false; ++ ++ if (!strv_find(arg_types, dot+1)) ++ return false; ++ } ++ ++ return true; + } + + static void output_unit_file_list(const UnitFileList *units, unsigned c) { diff --git a/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch b/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch new file mode 100644 index 00000000..544be067 --- /dev/null +++ b/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch @@ -0,0 +1,52 @@ +From 08073121d8171f8e6be27b0c80e2ec283064760e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 13 Oct 2014 15:43:09 +0200 +Subject: [PATCH] systemctl: when mangle unit names for the "isolate", suffix + with ".target" rather than ".service" by default + +After all, we set AllowIsolate exclusively for target units so far, and +this is more or less the only thing tht makes sense, hence also use +".target" as completion suffix by default. +--- + src/systemctl/systemctl.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 842ca6c..af3cc97 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -2704,7 +2704,7 @@ static enum action verb_to_action(const char *verb) { + static int start_unit(sd_bus *bus, char **args) { + _cleanup_set_free_free_ Set *s = NULL; + _cleanup_strv_free_ char **names = NULL; +- const char *method, *mode, *one_name; ++ const char *method, *mode, *one_name, *suffix = NULL; + char **name; + int r = 0; + +@@ -2717,8 +2717,11 @@ static int start_unit(sd_bus *bus, char **args) { + method = verb_to_method(args[0]); + action = verb_to_action(args[0]); + +- mode = streq(args[0], "isolate") ? "isolate" : +- action_table[action].mode ?: arg_job_mode; ++ if (streq(args[0], "isolate")) { ++ mode = "isolate"; ++ suffix = ".target"; ++ } else ++ mode = action_table[action].mode ?: arg_job_mode; + + one_name = action_table[action].target; + } else { +@@ -2734,7 +2737,7 @@ static int start_unit(sd_bus *bus, char **args) { + if (one_name) + names = strv_new(one_name, NULL); + else { +- r = expand_names(bus, args + 1, NULL, &names); ++ r = expand_names(bus, args + 1, suffix, &names); + if (r < 0) + log_error("Failed to expand names: %s", strerror(-r)); + } +-- +1.7.9.2 + diff --git a/0001-systemd-continue-switch-root-even-if-umount-fails.patch b/0001-systemd-continue-switch-root-even-if-umount-fails.patch new file mode 100644 index 00000000..e8b3ee9f --- /dev/null +++ b/0001-systemd-continue-switch-root-even-if-umount-fails.patch @@ -0,0 +1,50 @@ +Based on d677d4df80e0ea1c66c691f50867fedd63c6770a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 16 Oct 2014 19:12:55 -0500 +Subject: [PATCH] systemd: continue switch-root even if umount fails + +Leaving the old root around seems better than aborting the +switch. +--- + src/core/main.c | 2 +- + src/core/switch-root.c | 11 +++++------ + 2 files changed, 6 insertions(+), 7 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-10-20 13:35:35.915837828 +0000 +@@ -1848,7 +1848,7 @@ finish: + /* And switch root */ + r = switch_root(switch_root_dir); + if (r < 0) +- log_error("Failed to switch root, ignoring: %s", strerror(-r)); ++ log_error("Failed to switch root, trying to continue: %s", strerror(-r)); + } + + args_size = MAX(6, argc+1); +--- src/core/switch-root.c ++++ src/core/switch-root.c 2014-10-20 13:39:58.167121460 +0000 +@@ -68,10 +68,9 @@ int switch_root(const char *new_root) { + goto fail; + } + +- /* Work-around for a kernel bug: for some reason the kernel +- * refuses switching root if any file systems are mounted +- * MS_SHARED. Hence remount them MS_PRIVATE here as a +- * work-around. ++ /* Work-around for kernel design: the kernel refuses switching ++ * root if any file systems are mounted MS_SHARED. Hence ++ * remount them MS_PRIVATE here as a work-around. + * + * https://bugzilla.redhat.com/show_bug.cgi?id=847418 */ + if (mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) < 0) +@@ -124,8 +123,8 @@ int switch_root(const char *new_root) { + * running off it we need to do this lazily. */ + if (umount2("/mnt", MNT_DETACH) < 0) { + r = -errno; +- log_error("Failed to umount old root dir /mnt: %m"); +- goto fail; ++ log_error("Failed to lazily umount old root dir /mnt, %s: %m", ++ errno == ENOENT ? "ignoring" : "leaving it around"); + } + + } else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { diff --git a/0001-tmpfiles-compare-return-against-correct-errno.patch b/0001-tmpfiles-compare-return-against-correct-errno.patch new file mode 100644 index 00000000..10c2e214 --- /dev/null +++ b/0001-tmpfiles-compare-return-against-correct-errno.patch @@ -0,0 +1,26 @@ +From e7aab5412829ed6b50d109f670bd0b1b365838a7 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 11 Oct 2014 20:35:06 -0400 +Subject: [PATCH] tmpfiles: compare return against correct errno + +name_to_handle_at returns -EOPNOTSUPP, not -ENOTSUP. +--- + src/tmpfiles/tmpfiles.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index dafb9ae..8108b43 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -259,7 +259,7 @@ static int dir_is_mount_point(DIR *d, const char *subdir) { + + /* got only one handle; assume different mount points if one + * of both queries was not supported by the filesystem */ +- if (r_p == -ENOSYS || r_p == -ENOTSUP || r == -ENOSYS || r == -ENOTSUP) ++ if (r_p == -ENOSYS || r_p == -EOPNOTSUPP || r == -ENOSYS || r == -EOPNOTSUPP) + return true; + + /* return error */ +-- +1.7.9.2 + diff --git a/0001-units-introduce-network-pre.target-as-place-to-hook-.patch b/0001-units-introduce-network-pre.target-as-place-to-hook-.patch new file mode 100644 index 00000000..ffbc0569 --- /dev/null +++ b/0001-units-introduce-network-pre.target-as-place-to-hook-.patch @@ -0,0 +1,126 @@ +From a4a878d04045b46fa9783664e3643a890b356790 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 11 Jun 2014 11:33:02 +0200 +Subject: [PATCH] units: introduce network-pre.target as place to hook in + firewalls + +network-pre.target is a passive target that should be pulled in by +services that want to be executed before any network is configured (for +example: firewall scrips). + +network-pre.target should be ordered before all network managemet +services (but not be pulled in by them). + +network-pre.target should be order after all services that want to be +executed before any network is configured (and be pulled in by them). +--- + Makefile.am | 1 + + man/systemd.special.xml | 15 +++++++++++++++ + units/local-fs.target | 2 -- + units/network-pre.target | 12 ++++++++++++ + units/network.target | 2 ++ + units/systemd-networkd.service.in | 2 +- + 6 files changed, 31 insertions(+), 3 deletions(-) + create mode 100644 units/network-pre.target + +diff --git Makefile.am Makefile.am +index 3ea95e9..8514ec9 100644 +--- Makefile.am ++++ Makefile.am +@@ -413,6 +413,7 @@ dist_systemunit_DATA = \ + units/remote-fs.target \ + units/remote-fs-pre.target \ + units/network.target \ ++ units/network-pre.target \ + units/network-online.target \ + units/nss-lookup.target \ + units/nss-user-lookup.target \ +diff --git man/systemd.special.xml man/systemd.special.xml +index 38b94a7..cda6edd 100644 +--- man/systemd.special.xml ++++ man/systemd.special.xml +@@ -72,6 +72,7 @@ + multi-user.target, + network.target, + network-online.target, ++ network-pre.target, + nss-lookup.target, + nss-user-lookup.target, + paths.target, +@@ -891,6 +892,20 @@ + + + ++ network-pre.target ++ ++ This passive target unit ++ may be pulled in by services ++ that want to run before any ++ network is set up, for example ++ for the purpose of setting up a ++ firewall. All network ++ management software orders ++ itself after this target, but ++ does not pull it in. ++ ++ ++ + nss-lookup.target + + A target that should be +diff --git units/local-fs.target units/local-fs.target +index ae3cedc..70cb13f 100644 +--- units/local-fs.target ++++ units/local-fs.target +@@ -9,7 +9,5 @@ + Description=Local File Systems + Documentation=man:systemd.special(7) + After=local-fs-pre.target +-DefaultDependencies=no +-Conflicts=shutdown.target + OnFailure=emergency.target + OnFailureJobMode=replace-irreversibly +diff --git units/network-pre.target units/network-pre.target +new file mode 100644 +index 0000000..0ea4bc7 +--- /dev/null ++++ units/network-pre.target +@@ -0,0 +1,12 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Network (Pre) ++Documentation=man:systemd.special(7) ++Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget ++RefuseManualStart=yes +diff --git units/network.target units/network.target +index 65fc64b..61ebdca 100644 +--- units/network.target ++++ units/network.target +@@ -9,3 +9,5 @@ + Description=Network + Documentation=man:systemd.special(7) + Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget ++After=network-pre.target ++RefuseManualStart=yes +diff --git units/systemd-networkd.service.in units/systemd-networkd.service.in +index 373ac4e..48f4d63 100644 +--- units/systemd-networkd.service.in ++++ units/systemd-networkd.service.in +@@ -9,7 +9,7 @@ + Description=Network Service + Documentation=man:systemd-networkd.service(8) + DefaultDependencies=no +-After=dbus.service ++After=dbus.service network-pre.target + Before=network.target + Wants=network.target + ConditionCapability=CAP_NET_ADMIN +-- +1.7.9.2 + diff --git a/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch b/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch new file mode 100644 index 00000000..a5358cc9 --- /dev/null +++ b/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch @@ -0,0 +1,25 @@ +From 893e72da6b27c21b102e1589276e651e9e4f591c Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 9 Sep 2014 18:14:25 +0200 +Subject: [PATCH] virt: detect that we are running inside the docker container + +--- + src/shared/virt.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git src/shared/virt.c src/shared/virt.c +index b436895..f9c4e67 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -310,6 +310,8 @@ int detect_container(const char **id) { + _id = "lxc-libvirt"; + else if (streq(e, "systemd-nspawn")) + _id = "systemd-nspawn"; ++ else if (streq(e, "docker")) ++ _id = "docker"; + else + _id = "other"; + +-- +1.7.9.2 + diff --git a/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch b/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch new file mode 100644 index 00000000..8c1b12e2 --- /dev/null +++ b/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch @@ -0,0 +1,31 @@ +From 1c92ff85b786c423f4436ec26007e79369c9ac05 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 26 Sep 2014 22:01:32 +0200 +Subject: [PATCH] bootchart: use 'n/a' if PRETTY_NAME is not found + +Spotted with coverity. If parsing both /etc/os-release and +/usr/lib/os-release fails then null would be passed on. The calls +to parse the two files are allowed to fail. A empty /etc may not +have had the /etc/os-release symlink restored yet and we just +try again in the loop. If for whatever reason that does not happen +then we now pass on 'n/a' instead of null. +--- + src/bootchart/bootchart.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c +index 366a5ab..813e38d 100644 +--- src/bootchart/bootchart.c ++++ src/bootchart/bootchart.c +@@ -471,7 +471,7 @@ int main(int argc, char *argv[]) { + exit (EXIT_FAILURE); + } + +- svg_do(build); ++ svg_do(strna(build)); + + fprintf(stderr, "systemd-bootchart wrote %s\n", output_file); + +-- +1.7.9.2 + diff --git a/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch b/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch new file mode 100644 index 00000000..3a136da5 --- /dev/null +++ b/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch @@ -0,0 +1,23 @@ +Based on 4c3f1641f13b7687a0dc234d3ae387b7c40494ff Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 19 Nov 2014 20:52:23 +0100 +Subject: [PATCH] core: watchdog bus properties cannot be both writable and + constant + +--- + src/core/dbus-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c 2014-11-20 13:43:06.781518488 +0000 +@@ -1599,8 +1599,8 @@ const sd_bus_vtable bus_manager_vtable[] + SD_BUS_PROPERTY("UnitPath", "as", NULL, offsetof(Manager, lookup_paths.unit_path), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("DefaultStandardOutput", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("DefaultStandardError", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), +- SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), +- SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), ++ SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), 0), ++ SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), 0), + SD_BUS_PROPERTY("ControlGroup", "s", NULL, offsetof(Manager, cgroup_root), 0), + + SD_BUS_METHOD("GetUnit", "s", "o", method_get_unit, SD_BUS_VTABLE_UNPRIVILEGED), diff --git a/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch b/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch new file mode 100644 index 00000000..8304b2d4 --- /dev/null +++ b/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch @@ -0,0 +1,42 @@ +From fc1ae82cae69d8dbbd9e7a31938810a486fac782 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Wed, 22 Oct 2014 14:09:21 +0200 +Subject: [PATCH] hwdb: Add mapping for special keys on compaq ku 0133 + keyboards + +The compaq ku 0133 keyboard has 8 special keys at the top: +http://lackof.org/taggart/hacking/keyboard/cpqwireless.jpg + +3 of these use standard HID usage codes from the consumer page, the 5 +others use part of the reserved 0x07 - 0x1f range. + +This commit adds mapping for this keyboard for these reserved codes, making +the other 5 keys work. + +Cc: Hans de Goede +Signed-off-by: Hans de Goede +--- + hwdb/60-keyboard.hwdb | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 59f467b..06caba9 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -181,6 +181,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr* + KEYBOARD_KEY_9e=email + KEYBOARD_KEY_9f=homepage + ++keyboard:usb:v049Fp0051d*dc*dsc*dp*ic*isc*ip*in01* ++ KEYBOARD_KEY_0c0011=presentation ++ KEYBOARD_KEY_0c0012=addressbook ++ KEYBOARD_KEY_0c0013=info ++ KEYBOARD_KEY_0c0014=prog1 ++ KEYBOARD_KEY_0c0015=messenger ++ + ########################################################### + # Dell + ########################################################### +-- +1.7.9.2 + diff --git a/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch b/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch new file mode 100644 index 00000000..28f7bb2a --- /dev/null +++ b/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch @@ -0,0 +1,33 @@ +From b4c72e52d2109fe7f0ac3440c81ae3e1ce64a143 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 12 Nov 2014 23:31:08 +0100 +Subject: [PATCH] keymap: Fix special keys on ThinkPad X60/X61 Tablet + +KEY_DIRECTION is mapped to XF86RotateWindows, to rotate the display: +http://cgit.freedesktop.org/xkeyboard-config/commit/symbols/inet?id=ec875f6f9b7c4028e11d32b071989c682e6502bd + +And F13 is mapped to XF86Tools, which is closest to the original toolbox +usage: +http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/inet?id=7a2c4bed212ebbcc05f3c959aef659ce7dd31fd8#n221 +--- + hwdb/60-keyboard.hwdb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 56a4009..533ad5b 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -585,8 +585,8 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet* + + # ThinkPad X6 Tablet + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* +- KEYBOARD_KEY_6c=f21 # rotate +- KEYBOARD_KEY_68=screenlock # screenlock ++ KEYBOARD_KEY_6c=direction # rotate ++ KEYBOARD_KEY_68=f13 # toolbox + KEYBOARD_KEY_6b=esc # escape + KEYBOARD_KEY_6d=right # right on d-pad + KEYBOARD_KEY_6e=left # left on d-pad +-- +1.7.9.2 + diff --git a/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch b/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch new file mode 100644 index 00000000..45af9018 --- /dev/null +++ b/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch @@ -0,0 +1,25 @@ +From 4e3deeedc15b03197d591850061316289245c9a9 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Tue, 7 Oct 2014 11:22:31 +0200 +Subject: [PATCH] keymap: Fix touchpad toggle key on Asus laptops + +https://launchpad.net/bugs/1377352 +--- + hwdb/60-keyboard.hwdb | 1 + + 1 file changed, 1 insertion(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 1fea32a..59f467b 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -153,6 +153,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* + + keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* ++keyboard:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + KEYBOARD_KEY_6b=f21 # Touchpad Toggle + + ########################################################### +-- +1.7.9.2 + diff --git a/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch b/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch new file mode 100644 index 00000000..e29c01d9 --- /dev/null +++ b/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch @@ -0,0 +1,41 @@ +From aba248ee6b1eb10baf3d89eca2ad7569459af6ab Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 30 Oct 2014 10:15:54 +0100 +Subject: [PATCH] keymap: Ignore brightness keys on Dell Inspiron 1520 to + avoid double events + +On the Dell Inspiron 1520 both the atkbd and acpi-video input devices report +an event for pressing the brightness up / down key-combos, resulting in user +space seeing double events and increasing / decreasing the brightness 2 steps +for each keypress. + +This hwdb snippet suppresses the atkbd events, making the Inspiron 1520 work +like most modern laptops which emit brightness up / down events through +acpi-video only. + +Reported by Pavel Malyshev + +https://bugzilla.redhat.com/show_bug.cgi?id=1141525 +--- + hwdb/60-keyboard.hwdb | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 06caba9..d2ca965 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -230,6 +230,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr* + KEYBOARD_KEY_84=wlan + ++# Dell Inspiron 1520 ++keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr* ++ KEYBOARD_KEY_85=unknown # Brightness Down, also emitted by acpi-video, ignore ++ KEYBOARD_KEY_86=unknown # Brightness Up, also emitted by acpi-video, ignore ++ + # Latitude XT2 + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr* + KEYBOARD_KEY_9b=up # tablet rocker up +-- +1.7.9.2 + diff --git a/0002-logind-add-support-for-TPS65217-Power-Button.patch b/0002-logind-add-support-for-TPS65217-Power-Button.patch new file mode 100644 index 00000000..17a576de --- /dev/null +++ b/0002-logind-add-support-for-TPS65217-Power-Button.patch @@ -0,0 +1,71 @@ +From 492d7a3038b154e1813a1ece913a5a27148fec19 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Sat, 27 Sep 2014 09:55:44 +0200 +Subject: [PATCH] logind: add support for TPS65217 Power Button + +This PMIC is found on TI AM335x based boards like the beaglebone and +beaglebone black. + +root@beaglebone-white:~# udevadm info -a /dev/input/event0 + +Udevadm info starts with the device specified by the devpath and then +walks up the chain of parent devices. It prints for every device +found, all possible attributes in the udev rules key format. +A rule to match, can be composed by the attributes of the device +and the attributes from one single parent device. + + looking at device +'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0/event0': + KERNEL=="event0" + SUBSYSTEM=="input" + DRIVER=="" + + looking at parent device +'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0': + KERNELS=="input0" + SUBSYSTEMS=="input" + DRIVERS=="" + ATTRS{name}=="tps65217_pwr_but" + ATTRS{phys}=="" + ATTRS{uniq}=="" + ATTRS{properties}=="0" + + looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024': + KERNELS=="0-0024" + SUBSYSTEMS=="i2c" + DRIVERS=="tps65217" + ATTRS{name}=="tps65217" + + looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0': + KERNELS=="i2c-0" + SUBSYSTEMS=="i2c" + DRIVERS=="" + ATTRS{name}=="OMAP I2C adapter" + + looking at parent device '/devices/ocp.3/44e0b000.i2c': + KERNELS=="44e0b000.i2c" + SUBSYSTEMS=="platform" + DRIVERS=="omap_i2c" + + looking at parent device '/devices/ocp.3': + KERNELS=="ocp.3" + SUBSYSTEMS=="platform" + DRIVERS=="" +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules +index a6997f7..695d246 100644 +--- src/login/70-power-switch.rules ++++ src/login/70-power-switch.rules +@@ -10,5 +10,6 @@ ACTION=="remove", GOTO="power_switch_end" + SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" + + LABEL="power_switch_end" +-- +1.7.9.2 + diff --git a/0002-shell-completion-propose-templates-for-disable-re-en.patch b/0002-shell-completion-propose-templates-for-disable-re-en.patch new file mode 100644 index 00000000..3a58e013 --- /dev/null +++ b/0002-shell-completion-propose-templates-for-disable-re-en.patch @@ -0,0 +1,111 @@ +Based on e9a19bd882ff8a2c8aef5c63b39525ea231e5fb9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 14 Oct 2014 21:10:02 -0400 +Subject: [PATCH] shell-completion: propose templates for + disable/[re]enable/[re]start + +Templates can be [re]enabled, on their own if the have DefaultInstance set, +and with an instance suffix in all cases. Propose just the template name +ending in @, to underline the instance suffix may have to be appended. + +Likewise for start/restart. + +This means that sometimes superflous units that one will not really +want to operate on will be proposed, but this seems better than +proposing a very incomplete set of names. + +https://bugs.freedesktop.org/show_bug.cgi?id=66912 +--- + shell-completion/bash/systemctl | 15 +++++++++++---- + shell-completion/zsh/_systemctl | 20 +++++++++++++------- + 2 files changed, 24 insertions(+), 11 deletions(-) + +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -53,6 +53,9 @@ __filter_units_by_property () { + + __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ + | { while read -r a b; do echo " $a"; done; }; } ++__get_template_names () { __systemctl $1 list-unit-files \ ++ | { while read -r a b; do [[ $a =~ @\. ]] && echo " ${a%%@.*}@"; done; }; } ++ + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } + __get_startable_units () { +@@ -169,22 +172,26 @@ _systemctl () { + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then +- comps=$( __get_disabled_units $mode ) ++ comps=$( __get_disabled_units $mode; ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then + comps=$( __get_disabled_units $mode; +- __get_enabled_units $mode ) ++ __get_enabled_units $mode; ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +- $( __get_startable_units $mode)) ++ $( __get_startable_units $mode); ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +- $( __get_restartable_units $mode)) ++ $( __get_restartable_units $mode); \ ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then +--- shell-completion/zsh/_systemctl ++++ shell-completion/zsh/_systemctl +@@ -139,6 +139,8 @@ _filter_units_by_property() { + } + + _systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } ++_systemctl_get_template_names() { __systemctl list-unit-files | { while read -r a b; do [[ $a =~ @\. ]] && echo -E - " ${a%%@.*}@"; done; } } ++ + + _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} + _systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} +@@ -158,20 +160,24 @@ for fun in is-active is-failed is-enabled status show cat mask preset help list- + done + + # Completion functions for ENABLED_UNITS +-for fun in disable reenable ; do +- (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() +- { ++(( $+functions[_systemctl_disable] )) || _systemctl_disable() ++{ ++ _systemctl_enabled_units ++ compadd "$@" -a - _sys_enabled_units ++} ++ ++(( $+functions[_systemctl_reenable] )) || _systemctl_reenable() ++{ + _systemctl_enabled_units + _systemctl_disabled_units +- compadd "$@" -a - _sys_enabled_units _sys_disabled_units +- } +-done ++ compadd "$@" -a - _sys_enabled_units _sys_disabled_units $(_systemctl_get_template_names) ++} + + # Completion functions for DISABLED_UNITS + (( $+functions[_systemctl_enable] )) || _systemctl_enable() + { + _systemctl_disabled_units +- compadd "$@" -a - _sys_disabled_units ++ compadd "$@" -a - _sys_disabled_units $(_systemctl_get_template_names) + } + + # Completion functions for FAILED_UNITS +-- +1.7.9.2 + diff --git a/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch b/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch new file mode 100644 index 00000000..12ad7d2d --- /dev/null +++ b/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch @@ -0,0 +1,70 @@ +Based on 4b5d8d0f22ae61ceb45a25391354ba53b43ee992 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 6 Nov 2014 22:24:13 +0100 +Subject: [PATCH] shutdown: fix arguments to /run/initramfs/shutdown + +Our initrd interface specifies that the verb is in argv[1]. +This is where systemd passes it to systemd-shutdown, but getopt +permutes argv[]. This confuses dracut's shutdown script: + Shutdown called with argument '--log-level'. Rebooting! + +getopt can be convinced to not permute argv[] by having '-' as the first +character of optstring. Let's use it. This requires changing the way +non-option arguments (in our case, the verb) are processed. + +This fixes a bug where the system would reboot instead of powering off. +--- + src/core/shutdown.c | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +--- src/core/shutdown.c ++++ src/core/shutdown.c 2014-11-10 14:14:20.869519112 +0000 +@@ -75,9 +75,9 @@ static int parse_argv(int argc, char *ar + assert(argc >= 1); + assert(argv); + +- opterr = 0; +- +- while ((c = getopt_long(argc, argv, ":", options, NULL)) >= 0) ++ /* "-" prevents getopt from permuting argv[] and moving the verb away ++ * from argv[1]. Our interface to initrd promises it'll be there. */ ++ while ((c = getopt_long(argc, argv, "-", options, NULL)) >= 0) + switch (c) { + + case ARG_LOG_LEVEL: +@@ -115,27 +115,25 @@ static int parse_argv(int argc, char *ar + + break; + +- case '?': +- log_error("Unknown option %s.", argv[optind-1]); +- return -EINVAL; ++ case '\001': ++ if (!arg_verb) ++ arg_verb = optarg; ++ else ++ log_error("Excess arguments, ignoring"); ++ break; + +- case ':': +- log_error("Missing argument to %s.", argv[optind-1]); ++ case '?': + return -EINVAL; + + default: + assert_not_reached("Unhandled option code."); + } + +- if (optind >= argc) { ++ if (!arg_verb) { + log_error("Verb argument missing."); + return -EINVAL; + } + +- arg_verb = argv[optind]; +- +- if (optind + 1 < argc) +- log_error("Excess arguments, ignoring"); + return 0; + } + diff --git a/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch b/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch new file mode 100644 index 00000000..73a98020 --- /dev/null +++ b/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch @@ -0,0 +1,36 @@ +Based on a2726e5cedfa5edeabd7e0784be11bc578555ac5 Mon Sep 17 00:00:00 2001 +From: Marius Tessmann +Date: Fri, 29 Aug 2014 17:51:45 +0200 +Subject: [PATCH] shutdown: pass own argv to /run/initramfs/shutdown + +Since commit b1e90ec515408aec2702522f6f68c4920b56375b systemd passes +its log settings to systemd-shutdown via command line parameters. +However, systemd-shutdown doesn't pass these parameters to +/run/initramfs/shutdown, causing it to fall back to the default log +settings. + +This fixes the following bugs about the shutdown not being quiet +despite "quiet" being in the kernel parameters: + +https://bugs.freedesktop.org/show_bug.cgi?id=79582 +https://bugs.freedesktop.org/show_bug.cgi?id=57216 +--- + src/core/shutdown.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/shutdown.c ++++ src/core/shutdown.c 2014-10-24 12:32:44.704337960 +0000 +@@ -377,11 +377,11 @@ int main(int argc, char *argv[]) { + + if (prepare_new_root() >= 0 && + pivot_to_new_root() >= 0) { +- arguments[0] = (char*) "/shutdown"; ++ argv[0] = (char*) "/shutdown"; + + log_info("Returning to initrd..."); + +- execv("/shutdown", arguments); ++ execv("/shutdown", argv); + log_error("Failed to execute shutdown binary: %m"); + } + } diff --git a/0002-snapshot-return-error-when-snapshot-exists.patch b/0002-snapshot-return-error-when-snapshot-exists.patch new file mode 100644 index 00000000..4a7fcfb3 --- /dev/null +++ b/0002-snapshot-return-error-when-snapshot-exists.patch @@ -0,0 +1,25 @@ +From 7cabba07745b388497e8c0fc19b61984167fd474 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 28 Oct 2014 12:36:17 -0400 +Subject: [PATCH] snapshot: return error when snapshot exists + +--- + src/core/snapshot.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/snapshot.c src/core/snapshot.c +index 5eed615..c2678cb 100644 +--- src/core/snapshot.c ++++ src/core/snapshot.c +@@ -208,7 +208,7 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, sd_bus_error *e, + return sd_bus_error_setf(e, SD_BUS_ERROR_INVALID_ARGS, "Unit name %s lacks snapshot suffix.", name); + + if (manager_get_unit(m, name)) +- sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); ++ return sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); + + } else { + +-- +1.7.9.2 + diff --git a/0002-systemctl-obey-state-in-list-unit-files.patch b/0002-systemctl-obey-state-in-list-unit-files.patch new file mode 100644 index 00000000..aaa1cbf3 --- /dev/null +++ b/0002-systemctl-obey-state-in-list-unit-files.patch @@ -0,0 +1,28 @@ +From fec1530e6b5b8d6dc352c7338010357126e84621 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 29 Oct 2014 22:51:00 -0400 +Subject: [PATCH] systemctl: obey --state in list-unit-files + +--- + src/systemctl/systemctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index b71040b..8481a9b 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -1268,6 +1268,11 @@ next: + return false; + } + ++ if (!strv_isempty(arg_states)) { ++ if (!strv_find(arg_states, unit_file_state_to_string(u->state))) ++ return false; ++ } ++ + return true; + } + +-- +1.7.9.2 + diff --git a/0002-systemd-try-harder-to-bind-to-notify-socket.patch b/0002-systemd-try-harder-to-bind-to-notify-socket.patch new file mode 100644 index 00000000..d0277386 --- /dev/null +++ b/0002-systemd-try-harder-to-bind-to-notify-socket.patch @@ -0,0 +1,44 @@ +Based on e7bc519620cb7bcdbe2166fc2a446453769d827e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 16 Oct 2014 19:15:38 -0500 +Subject: [PATCH] systemd: try harder to bind to notify socket + +Without the socket open we are going to crash and burn. If for +whatever reason we fail during deserialization we will fail when +trying to open the socket. In this case it is better to unlink the old +socket and maybe lose some messages, than to continue without the +notification socket. + +Of course this situation should not happen, but we should handle +it as gracefully as possible anyway. + +https://bugzilla.redhat.com/show_bug.cgi?id=1099299 +--- + src/core/manager.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-10-20 13:47:21.035837897 +0000 +@@ -572,7 +572,21 @@ static int manager_setup_notify(Manager + r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); + if (r < 0) { + log_error("bind(@%s) failed: %m", sa.un.sun_path+1); +- return -errno; ++ if (errno == EADDRINUSE) { ++ log_notice("Removing %s socket and trying again.", m->notify_socket); ++ r = unlink(m->notify_socket); ++ if (r < 0) { ++ log_error("Failed to remove %s: %m", m->notify_socket); ++ return -EADDRINUSE; ++ } ++ ++ r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)); ++ if (r < 0) { ++ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); ++ return -errno; ++ } ++ } else ++ return -errno; + } + + r = setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)); diff --git a/0002-time-also-support-infinity-syntax-in-parse_nsec.patch b/0002-time-also-support-infinity-syntax-in-parse_nsec.patch new file mode 100644 index 00000000..c1f4884c --- /dev/null +++ b/0002-time-also-support-infinity-syntax-in-parse_nsec.patch @@ -0,0 +1,40 @@ +Based on e73c78c27511b03c7abc55aed87896092c0de699 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 19:07:26 +0200 +Subject: [PATCH] time: also support 'infinity' syntax in parse_nsec() + +Let's make parse_usec() and parse_nsec() work similar +--- + src/shared/time-util.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +--- src/shared/time-util.c ++++ src/shared/time-util.c +@@ -773,7 +773,7 @@ int parse_nsec(const char *t, nsec_t *nsec) { + { "", 1ULL }, /* default is nsec */ + }; + +- const char *p; ++ const char *p, *s; + nsec_t r = 0; + bool something = false; + +@@ -781,6 +781,18 @@ int parse_nsec(const char *t, nsec_t *nsec) { + assert(nsec); + + p = t; ++ ++ p += strspn(p, WHITESPACE); ++ s = startswith(p, "infinity"); ++ if (s) { ++ s += strspn(s, WHITESPACE); ++ if (!*s != 0) ++ return -EINVAL; ++ ++ *nsec = ((nsec_t) -1); ++ return 0; ++ } ++ + for (;;) { + long long l, z = 0; + char *e; diff --git a/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch b/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch new file mode 100644 index 00000000..7fab49e6 --- /dev/null +++ b/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch @@ -0,0 +1,29 @@ +From 24119cf10c7ed58a8fc0851745149dcc6dd5757f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Mon, 29 Sep 2014 22:32:10 -0400 +Subject: [PATCH] udev/hwdb: New Entry for Dell XPS12 9Q33 keyboard + +https://bugs.freedesktop.org/show_bug.cgi?id=84437 +--- + hwdb/60-keyboard.hwdb | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 0ffcb83..8a1baa7 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -243,6 +243,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + KEYBOARD_KEY_8c=!unknown + ++# Dell XPS12 9Q33 ++keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr* ++ KEYBOARD_KEY_88=wlan ++ KEYBOARD_KEY_65=switchvideomode # Screen Rotate ++ + # Dell Latitude microphone mute + keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* + KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute +-- +1.7.9.2 + diff --git a/0003-bootchart-parse-userinput-with-safe_atoi.patch b/0003-bootchart-parse-userinput-with-safe_atoi.patch new file mode 100644 index 00000000..16378405 --- /dev/null +++ b/0003-bootchart-parse-userinput-with-safe_atoi.patch @@ -0,0 +1,34 @@ +From 9bcf7507fab6e6b022ae3cc7178237e6e0a09e9a Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 26 Sep 2014 21:41:02 +0200 +Subject: [PATCH] bootchart: parse userinput with safe_atoi + +Found by coverity. Fixes: CID#996409 +--- + src/bootchart/store.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/bootchart/store.c src/bootchart/store.c +index ed683e8..3099ff1 100644 +--- src/bootchart/store.c ++++ src/bootchart/store.c +@@ -192,12 +192,14 @@ vmstat_next: + + m = buf; + while (m) { ++ int r; ++ + if (sscanf(m, "%s %*s %*s %*s %*s %*s %*s %s %s", key, rt, wt) < 3) + goto schedstat_next; + + if (strstr(key, "cpu")) { +- c = atoi((const char*)(key+3)); +- if (c > MAXCPUS) ++ r = safe_atoi((const char*)(key+3), &c); ++ if (r < 0 || c > MAXCPUS) + /* Oops, we only have room for MAXCPUS data */ + break; + sampledata->runtime[c] = atoll(rt); +-- +1.7.9.2 + diff --git a/0003-fileio-label-return-error-when-writing-fails.patch b/0003-fileio-label-return-error-when-writing-fails.patch new file mode 100644 index 00000000..91ea97d9 --- /dev/null +++ b/0003-fileio-label-return-error-when-writing-fails.patch @@ -0,0 +1,30 @@ +Based on 754fc0c720eb998b8e47e695c12807ced0ff3602 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Oct 2014 08:58:40 -0400 +Subject: [PATCH] fileio-label: return error when writing fails + +The status of actually writing the file was totally ignored. +--- + src/shared/fileio-label.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/shared/fileio-label.c ++++ src/shared/fileio-label.c 2014-10-14 14:52:50.883837740 +0000 +@@ -33,7 +33,7 @@ int write_string_file_atomic_label(const + if (r < 0) + return r; + +- write_string_file_atomic(fn, line); ++ r = write_string_file_atomic(fn, line); + + label_context_clear(); + +@@ -47,7 +47,7 @@ int write_env_file_label(const char *fna + if (r < 0) + return r; + +- write_env_file(fname, l); ++ r = write_env_file(fname, l); + + label_context_clear(); + diff --git a/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch b/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch new file mode 100644 index 00000000..c88ed60b --- /dev/null +++ b/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch @@ -0,0 +1,41 @@ +From f2a474aea8f82fa9b695515d4590f4f3398358a7 Mon Sep 17 00:00:00 2001 +From: Juho Son +Date: Thu, 11 Sep 2014 16:06:38 +0900 +Subject: [PATCH] journald: add CAP_MAC_OVERRIDE in journald for SMACK issue + +systemd-journald check the cgroup id to support rate limit option for +every messages. so journald should be available to access cgroup node in +each process send messages to journald. +In system using SMACK, cgroup node in proc is assigned execute label +as each process's execute label. +so if journald don't want to denied for every process, journald +should have all of access rule for all process's label. +It's too heavy. so we could give special smack label for journald te get +all accesses's permission. +'^' label. +When assign '^' execute smack label to systemd-journald, +systemd-journald need to add CAP_MAC_OVERRIDE capability to get that smack privilege. + +so I want to notice this information and set default capability to +journald whether system use SMACK or not. +because that capability affect to only smack enabled kernel +--- + units/systemd-journald.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git units/systemd-journald.service.in units/systemd-journald.service.in +index 7013979..4de38fa 100644 +--- units/systemd-journald.service.in ++++ units/systemd-journald.service.in +@@ -20,7 +20,7 @@ Restart=always + RestartSec=0 + NotifyAccess=all + StandardOutput=null +-CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID ++CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE + WatchdogSec=1min + + # Increase the default a bit in order to allow many simultaneous +-- +1.7.9.2 + diff --git a/0003-man-we-don-t-have-Wanted-dependency.patch b/0003-man-we-don-t-have-Wanted-dependency.patch new file mode 100644 index 00000000..6ab1a897 --- /dev/null +++ b/0003-man-we-don-t-have-Wanted-dependency.patch @@ -0,0 +1,29 @@ +From 3e883473a0f36c220fc45ecf61d6878c9ac308b4 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 15 Oct 2014 09:28:31 +0200 +Subject: [PATCH] man: we don't have 'Wanted' dependency + +--- + man/systemd.unit.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index e9395ff..88c9d7f 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -181,10 +181,10 @@ + foo.service.wants/ may exist. All + unit files symlinked from such a directory are + implicitly added as dependencies of type +- Wanted= to the unit. This is useful ++ Wants= to the unit. This is useful + to hook units into the start-up of other units, + without having to modify their unit files. For details +- about the semantics of Wanted=, see ++ about the semantics of Wants=, see + below. The preferred way to create symlinks in the + .wants/ directory of a unit file + is with the enable command of the +-- +1.7.9.2 + diff --git a/0003-sd-bus-check-return-value-of-vasprintf.patch b/0003-sd-bus-check-return-value-of-vasprintf.patch new file mode 100644 index 00000000..c908f074 --- /dev/null +++ b/0003-sd-bus-check-return-value-of-vasprintf.patch @@ -0,0 +1,35 @@ +From 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Tue, 7 Oct 2014 12:10:06 +0200 +Subject: [PATCH] sd-bus: check return value of vasprintf + +Check for OOM situations when vasprintf() returns < 0 in bus_error_setfv(). + +Spotted by coverity. +--- + src/libsystemd/sd-bus/bus-error.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c +index abdfd73..5ca974a 100644 +--- src/libsystemd/sd-bus/bus-error.c ++++ src/libsystemd/sd-bus/bus-error.c +@@ -194,8 +194,13 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li + return -ENOMEM; + } + +- if (format) +- vasprintf((char**) &e->message, format, ap); ++ if (format) { ++ int r; ++ ++ r = vasprintf((char**) &e->message, format, ap); ++ if (r < 0) ++ return -ENOMEM; ++ } + + e->_need_free = 1; + +-- +1.7.9.2 + diff --git a/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch b/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch new file mode 100644 index 00000000..13b0da4b --- /dev/null +++ b/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch @@ -0,0 +1,29 @@ +From 9b772efb41c2d9f743ba5e96804bdf89b12630d8 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 19 Nov 2014 20:52:47 +0100 +Subject: [PATCH] sd-bus: refuse properties that claim to be both writable and + constant at the same time + +--- + src/libsystemd/sd-bus/bus-objects.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/libsystemd/sd-bus/bus-objects.c src/libsystemd/sd-bus/bus-objects.c +index 0ab1119..7981d65 100644 +--- src/libsystemd/sd-bus/bus-objects.c ++++ src/libsystemd/sd-bus/bus-objects.c +@@ -1682,6 +1682,11 @@ static int add_object_vtable_internal( + goto fail; + } + ++ if (v->flags & SD_BUS_VTABLE_PROPERTY_CONST) { ++ r = -EINVAL; ++ goto fail; ++ } ++ + /* Fall through */ + + case _SD_BUS_VTABLE_PROPERTY: { +-- +1.7.9.2 + diff --git a/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch b/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch new file mode 100644 index 00000000..7aa3506a --- /dev/null +++ b/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch @@ -0,0 +1,39 @@ +From 0ffce503cd6e5a5ff5ba5cd1cc23684cfb8bb9e3 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Thu, 30 Oct 2014 20:12:05 -0400 +Subject: [PATCH] shared/install: avoid prematurely rejecting "missing" units + +f7101b7368df copied some logic to prevent enabling masked units, but +also added a check which causes attempts to enable templated units to +fail. Since we know the logic beyond this check will properly handle +units which truly do not exist, we can rely on the unit file state +comparison to suffice for expressing the intent of f7101b7368df. + +ref: https://bugs.archlinux.org/task/42616 +--- + src/shared/install.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git src/shared/install.c src/shared/install.c +index 035b44c..cab93e8 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -1620,12 +1620,10 @@ int unit_file_enable( + STRV_FOREACH(i, files) { + UnitFileState state; + ++ /* We only want to know if this unit is masked, so we ignore ++ * errors from unit_file_get_state, deferring other checks. ++ * This allows templated units to be enabled on the fly. */ + state = unit_file_get_state(scope, root_dir, *i); +- if (state < 0) { +- log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); +- return state; +- } +- + if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { + log_error("Failed to enable unit: Unit %s is masked", *i); + return -ENOTSUP; +-- +1.7.9.2 + diff --git a/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch b/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch new file mode 100644 index 00000000..17cd7d1a --- /dev/null +++ b/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch @@ -0,0 +1,25 @@ +Based on 65de0395ffe1cfb0f9af86504e8588fb31bb0fbc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 19:08:22 +0200 +Subject: [PATCH] time: earlier exit from format_timestamp_relative() on + special times + +--- + src/shared/time-util.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- src/shared/time-util.c ++++ src/shared/time-util.c 2014-10-29 14:07:28.479838096 +0000 +@@ -194,11 +194,10 @@ char *format_timestamp_relative(char *bu + const char *s; + usec_t n, d; + +- n = now(CLOCK_REALTIME); +- + if (t <= 0 || (t == (usec_t) -1)) + return NULL; + ++ n = now(CLOCK_REALTIME); + if (n > t) { + d = n - t; + s = "ago"; diff --git a/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch b/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch new file mode 100644 index 00000000..bc69be20 --- /dev/null +++ b/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch @@ -0,0 +1,29 @@ +Based on 144b3d9e093dd9310cd9590bec039dc43a7e2ad6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 7 Nov 2014 16:34:00 +0100 +Subject: [PATCH] utf8: when looking at the next unichar, honour the size + parameter, in utf8_is_printable_newline() + +--- + src/shared/utf8.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +--- src/shared/utf8.c ++++ src/shared/utf8.c 2014-11-10 14:20:28.094539264 +0000 +@@ -143,9 +143,14 @@ bool utf8_is_printable_newline(const cha + + for (p = (const uint8_t*) str; length;) { + int encoded_len = utf8_encoded_valid_unichar((const char *)p); +- int val = utf8_encoded_to_unichar((const char*)p); ++ int val; + +- if (encoded_len < 0 || val < 0 || is_unicode_control(val) || ++ if (encoded_len < 0 || ++ (size_t) encoded_len > length) ++ return false; ++ ++ val = utf8_encoded_to_unichar((const char*)p); ++ if (val < 0 || is_unicode_control(val) || + (!newline && val == '\n')) + return false; + diff --git a/0004-Raise-level-of-Found-dependency.-lines.patch b/0004-Raise-level-of-Found-dependency.-lines.patch new file mode 100644 index 00000000..3ae2e49e --- /dev/null +++ b/0004-Raise-level-of-Found-dependency.-lines.patch @@ -0,0 +1,42 @@ +From 14fe721b5f6d8457cc8737fa75f2ed79e7fa534b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 2 Nov 2014 12:10:42 -0500 +Subject: [PATCH] Raise level of 'Found dependency...' lines + +This way they always show up together with 'Found ordering cycle...'. +Ordering cycles are a serious error and a major pain to debug. If +quiet is enabled, only the first and the last line of output are +shown: + +systemd[1]: Found ordering cycle on basic.target/start +systemd[1]: Breaking ordering cycle by deleting job timers.target/start +systemd[1]: Job timers.target/start deleted to break ordering cycle starting with basic.target/start + +which isn't particularly enlightening. So just show the whole message +at the same level. + +https://bugzilla.redhat.com/show_bug.cgi?id=1158206 +--- + src/core/transaction.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git src/core/transaction.c src/core/transaction.c +index 488cb86..bbaa6da 100644 +--- src/core/transaction.c ++++ src/core/transaction.c +@@ -376,9 +376,9 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { + + /* logging for j not k here here to provide consistent narrative */ +- log_info_unit(j->unit->id, +- "Found dependency on %s/%s", +- k->unit->id, job_type_to_string(k->type)); ++ log_warning_unit(j->unit->id, ++ "Found dependency on %s/%s", ++ k->unit->id, job_type_to_string(k->type)); + + if (!delete && hashmap_get(tr->jobs, k->unit) && + !unit_matters_to_anchor(k->unit, k)) { +-- +1.7.9.2 + diff --git a/0004-bootchart-check-return-of-strftime.patch b/0004-bootchart-check-return-of-strftime.patch new file mode 100644 index 00000000..a629c9e9 --- /dev/null +++ b/0004-bootchart-check-return-of-strftime.patch @@ -0,0 +1,63 @@ +From e931d3f4241231e4102eda06adaf7cbfd68c6a5d Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 27 Sep 2014 22:25:07 +0200 +Subject: [PATCH] bootchart: check return of strftime + +Found by coverity. Fixes: CID#996314 and #996312 +--- + src/bootchart/bootchart.c | 8 ++++++-- + src/bootchart/svg.c | 5 +++-- + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c +index 8ef5ad1..366a5ab 100644 +--- src/bootchart/bootchart.c ++++ src/bootchart/bootchart.c +@@ -389,7 +389,9 @@ int main(int argc, char *argv[]) { + + if (!of && (access(arg_output_path, R_OK|W_OK|X_OK) == 0)) { + t = time(NULL); +- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ assert_se(r > 0); ++ + snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); + of = fopen(output_file, "we"); + } +@@ -457,7 +459,9 @@ int main(int argc, char *argv[]) { + + if (!of) { + t = time(NULL); +- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ assert_se(r > 0); ++ + snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); + of = fopen(output_file, "we"); + } +diff --git src/bootchart/svg.c src/bootchart/svg.c +index 135883f..faf377e 100644 +--- src/bootchart/svg.c ++++ src/bootchart/svg.c +@@ -162,7 +162,7 @@ static void svg_title(const char *build) { + char *c; + FILE *f; + time_t t; +- int fd; ++ int fd, r; + struct utsname uts; + + /* grab /proc/cmdline */ +@@ -196,7 +196,8 @@ static void svg_title(const char *build) { + + /* date */ + t = time(NULL); +- strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); ++ r = strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); ++ assert_se(r > 0); + + /* CPU type */ + fd = openat(procfd, "cpuinfo", O_RDONLY); +-- +1.7.9.2 + diff --git a/0004-core-map-the-rescue-argument-to-rescue.target.patch b/0004-core-map-the-rescue-argument-to-rescue.target.patch new file mode 100644 index 00000000..6b639305 --- /dev/null +++ b/0004-core-map-the-rescue-argument-to-rescue.target.patch @@ -0,0 +1,27 @@ +From 5329ab10ffaf5b4a3fd6ebd9380b1ec09d05cfc8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Tue, 7 Oct 2014 14:55:21 +0300 +Subject: [PATCH] core: map the 'rescue' argument to rescue.target + +Even though the 'emergency' and 'single' aliases come from sysvinit, the +lack of 'rescue' is still quite confusing (caught me by surprise for the +9th time yet) and inconsistent with `systemctl rescue` as well. +--- + src/core/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/core/main.c src/core/main.c +index 1a62e04..44373cc 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -272,6 +272,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { + static const char * const rlmap[] = { + "emergency", SPECIAL_EMERGENCY_TARGET, + "-b", SPECIAL_EMERGENCY_TARGET, ++ "rescue", SPECIAL_RESCUE_TARGET, + "single", SPECIAL_RESCUE_TARGET, + "-s", SPECIAL_RESCUE_TARGET, + "s", SPECIAL_RESCUE_TARGET, +-- +1.7.9.2 + diff --git a/0004-journal-do-server_vacuum-for-sigusr1.patch b/0004-journal-do-server_vacuum-for-sigusr1.patch new file mode 100644 index 00000000..530a5397 --- /dev/null +++ b/0004-journal-do-server_vacuum-for-sigusr1.patch @@ -0,0 +1,30 @@ +From 3bfd4e0c6341b0ef946d2198f089743fa99e0a97 Mon Sep 17 00:00:00 2001 +From: WaLyong Cho +Date: Thu, 28 Aug 2014 21:33:03 +0900 +Subject: [PATCH] journal: do server_vacuum for sigusr1 + +runtime journal is migrated to system journal when only +"/run/systemd/journal/flushed" exist. It's ok but according to this +the system journal directory size(max use) can be over the config. If +journal is not rotated during some time the journal directory can be +remained as over the config(or default) size. To avoid, do +server_vacuum just after the system journal migration from runtime. +--- + src/journal/journald-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/journal/journald-server.c src/journal/journald-server.c +index 52111f7..bf9cfcc 100644 +--- src/journal/journald-server.c ++++ src/journal/journald-server.c +@@ -1224,6 +1224,7 @@ static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo * + touch("/run/systemd/journal/flushed"); + server_flush_to_var(s); + server_sync(s); ++ server_vacuum(s); + + return 0; + } +-- +1.7.9.2 + diff --git a/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch b/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch new file mode 100644 index 00000000..9ab7a2da --- /dev/null +++ b/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch @@ -0,0 +1,43 @@ +From 455cd8b137b8ef45d04889f2d967c562a097f1e6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 19:24:53 +0200 +Subject: [PATCH] sd-bus: if we don't manage to properly allocate the error + message for an sd_bus_error, just go on + +sd_bus_error_setfv() must initialize the sd_bus_error value to some +sensible value and then return a good errno code matching that. If it +cannot work at all it should set the error statically to the OOM error. +But if it can work half-way (i.e. initialize the name, but not the +message) it should do so and still return the correct errno number for +it. + +This effectively reverts 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 +--- + src/libsystemd/sd-bus/bus-error.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c +index 5ca974a..af83c12 100644 +--- src/libsystemd/sd-bus/bus-error.c ++++ src/libsystemd/sd-bus/bus-error.c +@@ -194,13 +194,10 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li + return -ENOMEM; + } + +- if (format) { +- int r; +- +- r = vasprintf((char**) &e->message, format, ap); +- if (r < 0) +- return -ENOMEM; +- } ++ /* Of we hit OOM on formatting the pretty message, we ignore ++ * this, since we at least managed to write the error name */ ++ if (format) ++ (void) vasprintf((char**) &e->message, format, ap); + + e->_need_free = 1; + +-- +1.7.9.2 + diff --git a/0004-sd-event-check-the-value-of-received-signal.patch b/0004-sd-event-check-the-value-of-received-signal.patch new file mode 100644 index 00000000..9c4662a9 --- /dev/null +++ b/0004-sd-event-check-the-value-of-received-signal.patch @@ -0,0 +1,46 @@ +From 7057bd993110c1eff0cd3a8776902ca66417634e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Oct 2014 18:49:45 -0400 +Subject: [PATCH] sd-event: check the value of received signal + +Appease coverity report #1237775. + +Also rename ss to n, to make it visually different from ss. +--- + src/libsystemd/sd-event/sd-event.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index b56182d..4c67ee8 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -1973,20 +1973,22 @@ static int process_signal(sd_event *e, uint32_t events) { + + for (;;) { + struct signalfd_siginfo si; +- ssize_t ss; ++ ssize_t n; + sd_event_source *s = NULL; + +- ss = read(e->signal_fd, &si, sizeof(si)); +- if (ss < 0) { ++ n = read(e->signal_fd, &si, sizeof(si)); ++ if (n < 0) { + if (errno == EAGAIN || errno == EINTR) + return read_one; + + return -errno; + } + +- if (_unlikely_(ss != sizeof(si))) ++ if (_unlikely_(n != sizeof(si))) + return -EIO; + ++ assert(si.ssi_signo < _NSIG); ++ + read_one = true; + + if (si.ssi_signo == SIGCHLD) { +-- +1.7.9.2 + diff --git a/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch b/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch new file mode 100644 index 00000000..ba22748a --- /dev/null +++ b/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch @@ -0,0 +1,38 @@ +From 5e78424f4a27c07be50e246308035c877f204038 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 13 Oct 2014 15:25:09 +0200 +Subject: [PATCH] selinux: fix potential double free crash in child process + +Before returning from function we should reset ret to NULL, thus cleanup +function is nop. + +Also context_str() returns pointer to a string containing context but not a +copy, hence we must make copy it explicitly. +--- + src/shared/label.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/shared/label.c src/shared/label.c +index b6af38d..69d4616 100644 +--- src/shared/label.c ++++ src/shared/label.c +@@ -334,7 +334,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { + } + + freecon(mycon); +- mycon = context_str(bcon); ++ mycon = strdup(context_str(bcon)); + if (!mycon) { + r = -errno; + goto out; +@@ -348,6 +348,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { + } + + *label = ret; ++ ret = NULL; + r = 0; + + out: +-- +1.7.9.2 + diff --git a/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch b/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch new file mode 100644 index 00000000..119d1108 --- /dev/null +++ b/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch @@ -0,0 +1,29 @@ +From c119700c06b248b1c2a082b40b1a346f58d89da0 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Sun, 28 Sep 2014 18:12:51 +0300 +Subject: [PATCH] bootchart: Do not try to access data for non-existing CPU's + +Cpu's are assigned normally, so starting at 0, so the MAX_CPU index will +always be one smaller than the actual number. + +Found with Coverity. +--- + src/bootchart/store.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/bootchart/store.c src/bootchart/store.c +index 3099ff1..9ea1b27 100644 +--- src/bootchart/store.c ++++ src/bootchart/store.c +@@ -199,7 +199,7 @@ vmstat_next: + + if (strstr(key, "cpu")) { + r = safe_atoi((const char*)(key+3), &c); +- if (r < 0 || c > MAXCPUS) ++ if (r < 0 || c > MAXCPUS -1) + /* Oops, we only have room for MAXCPUS data */ + break; + sampledata->runtime[c] = atoll(rt); +-- +1.7.9.2 + diff --git a/0005-cryptsetup-fix-an-OOM-check.patch b/0005-cryptsetup-fix-an-OOM-check.patch new file mode 100644 index 00000000..23b39bb5 --- /dev/null +++ b/0005-cryptsetup-fix-an-OOM-check.patch @@ -0,0 +1,25 @@ +From 0e2f14014c65b4d8b30146e414579154cfa932da Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 23 Oct 2014 00:30:04 +0200 +Subject: [PATCH] cryptsetup: fix an OOM check + +--- + src/cryptsetup/cryptsetup-generator.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/cryptsetup/cryptsetup-generator.c src/cryptsetup/cryptsetup-generator.c +index 137b787..c7f30f6 100644 +--- src/cryptsetup/cryptsetup-generator.c ++++ src/cryptsetup/cryptsetup-generator.c +@@ -387,7 +387,7 @@ int main(int argc, char *argv[]) { + if (k == 2 && streq(proc_uuid, device + 5)) { + free(options); + options = strdup(p); +- if (!proc_options) { ++ if (!options) { + log_oom(); + goto cleanup; + } +-- +1.7.9.2 + diff --git a/0005-journalctl-correct-help-text-for-until.patch b/0005-journalctl-correct-help-text-for-until.patch new file mode 100644 index 00000000..77563faf --- /dev/null +++ b/0005-journalctl-correct-help-text-for-until.patch @@ -0,0 +1,21 @@ +Based on 7558251eef610e71595a0aa48952479906cb899a Mon Sep 17 00:00:00 2001 +From: Santiago Vila +Date: Sat, 25 Oct 2014 10:40:30 -0400 +Subject: [PATCH] journalctl: correct help text for --until + +http://bugs.debian.org/766598 +--- + src/journal/journalctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/journal/journalctl.c ++++ src/journal/journalctl.c 2014-10-29 14:10:18.863838313 +0000 +@@ -171,7 +171,7 @@ static int help(void) { + " --user Show only the user journal for the current user\n" + " -M --machine=CONTAINER Operate on local container\n" + " --since=DATE Start showing entries on or newer than the specified date\n" +- " --until=DATE Stop showing entries on or older than the specified date\n" ++ " --until=DATE Stop showing entries on or newer than the specified date\n" + " -c --cursor=CURSOR Start showing entries from the specified cursor\n" + " --after-cursor=CURSOR Start showing entries from after the specified cursor\n" + " --show-cursor Print the cursor after all the entries\n" diff --git a/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch b/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch new file mode 100644 index 00000000..3c3d9e50 --- /dev/null +++ b/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch @@ -0,0 +1,37 @@ +From cef3566998fcae6936d781e678c309950a8a5787 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Oct 2014 20:57:30 -0400 +Subject: [PATCH] sd-id128: do stricter checking of random boot id + +If we are bothering to check whether the kernel is not feeding us +bad data, we might as well do it properly. + +CID #1237692. +--- + src/libsystemd/sd-id128/sd-id128.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git src/libsystemd/sd-id128/sd-id128.c src/libsystemd/sd-id128/sd-id128.c +index a1e44e6..233ffa0 100644 +--- src/libsystemd/sd-id128/sd-id128.c ++++ src/libsystemd/sd-id128/sd-id128.c +@@ -183,11 +183,14 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) { + for (j = 0, p = buf; j < 16; j++) { + int a, b; + +- if (p >= buf + k) ++ if (p >= buf + k - 1) + return -EIO; + +- if (*p == '-') ++ if (*p == '-') { + p++; ++ if (p >= buf + k - 1) ++ return -EIO; ++ } + + a = unhexchar(p[0]); + b = unhexchar(p[1]); +-- +1.7.9.2 + diff --git a/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch b/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch new file mode 100644 index 00000000..875c905e --- /dev/null +++ b/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch @@ -0,0 +1,38 @@ +Based on 1f1926aa5e836caa3bd6df43704aecd606135103 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 2 Nov 2014 21:45:42 -0500 +Subject: [PATCH] units: order sd-journal-flush after sd-remount-fs + +Otherwise we could attempt to flush the journal while /var/log/ was +still ro, and silently skip journal flushing. + +The way that errors in flushing are handled should still be changed to +be more transparent and robust. + +Based on 919699ec301ea507edce4a619141ed22e789ac0d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Oct 2014 16:22:36 +0100 +Subject: [PATCH] units: don't order journal flushing afte remote-fs.target + +Instead, only depend on the actual file systems we need. + +This should solve dep loops on setups where remote-fs.target is moved +into late boot. +--- + units/systemd-journal-flush.service.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- units/systemd-journal-flush.service.in ++++ units/systemd-journal-flush.service.in 2014-11-10 11:46:22.885518923 +0000 +@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal + Documentation=man:systemd-journald.service(8) man:journald.conf(5) + DefaultDependencies=no + Requires=systemd-journald.service +-After=systemd-journald.service local-fs.target remote-fs.target +-Before=systemd-user-sessions.service ++After=systemd-journald.service local-fs.target ++After=systemd-remount-fs.service ++Before=systemd-user-sessions.service systemd-tmpfiles-setup.service + + [Service] + ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service diff --git a/0005-util-avoid-double-close-of-fd.patch b/0005-util-avoid-double-close-of-fd.patch new file mode 100644 index 00000000..e1b5dacc --- /dev/null +++ b/0005-util-avoid-double-close-of-fd.patch @@ -0,0 +1,28 @@ +Based on 6f53e671aa7539cab02c9f739d84d28a343ca5bc Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Wed, 8 Oct 2014 23:57:32 +0200 +Subject: [PATCH] util: avoid double close of fd + +We could end with a double close if we close the fd loop and flush_fd +fails. That would make us goto fail and there we close the fd once +again. This patch sets the fd to the return value for safe_close: -1 +A fd with negative value will be ignored by the next call to +safe_close. + +CID#996223 +--- + src/shared/util.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- src/shared/util.c ++++ src/shared/util.c 2014-10-14 15:42:22.515839157 +0000 +@@ -1969,7 +1969,8 @@ int acquire_terminal( + * ended our handle will be dead. It's important that + * we do this after sleeping, so that we don't enter + * an endless loop. */ +- close_nointr_nofail(fd); ++ if (fd >= 0) close_nointr_nofail(fd); ++ fd = -1; + } + + if (notify >= 0) diff --git a/0006-calendarspec-fix-typo-in-annually.patch b/0006-calendarspec-fix-typo-in-annually.patch new file mode 100644 index 00000000..7e695966 --- /dev/null +++ b/0006-calendarspec-fix-typo-in-annually.patch @@ -0,0 +1,27 @@ +From e90efc70900f8e69cfbafd9e9508bdeb4d40dad7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 25 Oct 2014 11:59:36 -0400 +Subject: [PATCH] calendarspec: fix typo in "annually" + +https://bugs.freedesktop.org/show_bug.cgi?id=85447 +--- + src/shared/calendarspec.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/shared/calendarspec.c src/shared/calendarspec.c +index 4ac74ab..64d0dec 100644 +--- src/shared/calendarspec.c ++++ src/shared/calendarspec.c +@@ -688,7 +688,8 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) { + if (r < 0) + goto fail; + +- } else if (strcaseeq(p, "anually") || strcaseeq(p, "yearly")) { ++ } else if (strcaseeq(p, "annually") || strcaseeq(p, "yearly") ++ || strcaseeq(p, "anually") /* backwards compatibility */ ) { + r = const_chain(1, &c->month); + if (r < 0) + goto fail; +-- +1.7.9.2 + diff --git a/0006-journald-fix-minor-memory-leak.patch b/0006-journald-fix-minor-memory-leak.patch new file mode 100644 index 00000000..72d2ab39 --- /dev/null +++ b/0006-journald-fix-minor-memory-leak.patch @@ -0,0 +1,24 @@ +From 99d0966e75a984bed4f117c888ecc93e16e7b7b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Nov 2014 21:11:16 +0100 +Subject: [PATCH] journald: fix minor memory leak + +--- + src/journal/journald-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/journal/journald-server.c src/journal/journald-server.c +index e062427..cf6bbcc 100644 +--- src/journal/journald-server.c ++++ src/journal/journald-server.c +@@ -1690,6 +1690,7 @@ void server_done(Server *s) { + free(s->buffer); + free(s->tty_path); + free(s->cgroup_root); ++ free(s->hostname_field); + + if (s->mmap) + mmap_cache_unref(s->mmap); +-- +1.7.9.2 + diff --git a/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch b/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch new file mode 100644 index 00000000..f2409242 --- /dev/null +++ b/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch @@ -0,0 +1,55 @@ +From 332076b45b8a78f018ade2dfdc7e4279a56d49cc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Nov 2014 23:10:21 +0100 +Subject: [PATCH] journald: also check journal file size to deduce if it is + empty + +--- + src/journal/journal-vacuum.c | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c +index dbf5d22..d141fe0 100644 +--- src/journal/journal-vacuum.c ++++ src/journal/journal-vacuum.c +@@ -121,22 +121,30 @@ static void patch_realtime( + } + + static int journal_file_empty(int dir_fd, const char *name) { +- int r; +- le64_t n_entries; + _cleanup_close_ int fd; ++ struct stat st; ++ le64_t n_entries; ++ ssize_t n; + + fd = openat(dir_fd, name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd < 0) + return -errno; + +- if (lseek(fd, offsetof(Header, n_entries), SEEK_SET) < 0) ++ if (fstat(fd, &st) < 0) + return -errno; + +- r = read(fd, &n_entries, sizeof(n_entries)); +- if (r != sizeof(n_entries)) +- return r == 0 ? -EINVAL : -errno; ++ /* If an offline file doesn't even have a header we consider it empty */ ++ if (st.st_size < (off_t) sizeof(Header)) ++ return 1; ++ ++ /* If the number of entries is empty, we consider it empty, too */ ++ n = pread(fd, &n_entries, sizeof(n_entries), offsetof(Header, n_entries)); ++ if (n < 0) ++ return -errno; ++ if (n != sizeof(n_entries)) ++ return -EIO; + +- return le64toh(n_entries) == 0; ++ return le64toh(n_entries) <= 0; + } + + int journal_directory_vacuum( +-- +1.7.9.2 + diff --git a/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch b/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch new file mode 100644 index 00000000..a161a1c4 --- /dev/null +++ b/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch @@ -0,0 +1,26 @@ +From e95c98378ac2d34df864de4a9b785fd17defb77b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 25 Oct 2014 15:15:28 -0400 +Subject: [PATCH] systemctl: do not ignore errors in symlink removal + +On an ro fs, systemctl disable ... would fail silently. +--- + src/shared/install.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/install.c src/shared/install.c +index 0d7c30e..035b44c 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -1679,7 +1679,7 @@ int unit_file_disable( + r = install_context_mark_for_removal(&c, &paths, &remove_symlinks_to, config_path, root_dir); + + q = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes, files); +- if (r == 0) ++ if (r >= 0) + r = q; + + return r; +-- +1.7.9.2 + diff --git a/0008-journald-fix-memory-leak-on-error-path.patch b/0008-journald-fix-memory-leak-on-error-path.patch new file mode 100644 index 00000000..6f67860c --- /dev/null +++ b/0008-journald-fix-memory-leak-on-error-path.patch @@ -0,0 +1,29 @@ +From 26d8ff04914a5208d029e899682cd314b7714bf0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Nov 2014 23:10:34 +0100 +Subject: [PATCH] journald: fix memory leak on error path + +--- + src/journal/journal-vacuum.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c +index d141fe0..80723c4 100644 +--- src/journal/journal-vacuum.c ++++ src/journal/journal-vacuum.c +@@ -283,7 +283,11 @@ int journal_directory_vacuum( + + patch_realtime(directory, p, &st, &realtime); + +- GREEDY_REALLOC(list, n_allocated, n_list + 1); ++ if (!GREEDY_REALLOC(list, n_allocated, n_list + 1)) { ++ free(p); ++ r = -ENOMEM; ++ goto finish; ++ } + + list[n_list].filename = p; + list[n_list].usage = 512UL * (uint64_t) st.st_blocks; +-- +1.7.9.2 + diff --git a/0008-util-introduce-sethostname_idempotent.patch b/0008-util-introduce-sethostname_idempotent.patch new file mode 100644 index 00000000..5b42ce14 --- /dev/null +++ b/0008-util-introduce-sethostname_idempotent.patch @@ -0,0 +1,85 @@ +Based on 605f81a8968b2df8a28cca2cf11db99ab948a2af Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 21 Oct 2014 18:17:54 +0200 +Subject: [PATCH] util: introduce sethostname_idempotent + +Function queries system hostname and applies changes only when necessary. Also, +migrate all client of sethostname to sethostname_idempotent while at it. +--- + src/core/hostname-setup.c | 2 +- + src/hostname/hostnamed.c | 2 +- + src/nspawn/nspawn.c | 2 +- + src/shared/util.c | 20 ++++++++++++++++++++ + src/shared/util.h | 2 ++ + 5 files changed, 25 insertions(+), 3 deletions(-) + +--- src/core/hostname-setup.c ++++ src/core/hostname-setup.c 2014-10-29 00:00:00.000000000 +0000 +@@ -99,7 +99,7 @@ int hostname_setup(void) { + hn = "localhost"; + } + +- if (sethostname(hn, strlen(hn)) < 0) { ++ if (sethostname_idempotent(hn) < 0) { + log_warning("Failed to set hostname to <%s>: %m", hn); + return -errno; + } +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c 2014-10-29 14:13:26.124337751 +0000 +@@ -244,7 +244,7 @@ static int context_write_data_hostname(C + else + hn = c->data[PROP_HOSTNAME]; + +- if (sethostname(hn, strlen(hn)) < 0) ++ if (sethostname_idempotent(hn) < 0) + return -errno; + + return 0; +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-10-29 00:00:00.000000000 +0000 +@@ -981,7 +981,7 @@ static int setup_hostname(void) { + if (arg_share_system) + return 0; + +- if (sethostname(arg_machine, strlen(arg_machine)) < 0) ++ if (sethostname_idempotent(arg_machine) < 0) + return -errno; + + return 0; +--- src/shared/util.c ++++ src/shared/util.c 2014-10-29 00:00:00.000000000 +0000 +@@ -6451,6 +6451,26 @@ int fd_warn_permissions(const char *path + return 0; + } + ++int sethostname_idempotent(const char *s) { ++ int r; ++ char buf[HOST_NAME_MAX + 1] = {}; ++ ++ assert(s); ++ ++ r = gethostname(buf, sizeof(buf)); ++ if (r < 0) ++ return -errno; ++ ++ if (streq(buf, s)) ++ return 0; ++ ++ r = sethostname(buf, strlen(buf)); ++ if (r < 0) ++ return -errno; ++ ++ return 1; ++} ++ + unsigned long personality_from_string(const char *p) { + + /* Parse a personality specifier. We introduce our own +--- src/shared/util.h ++++ src/shared/util.h 2014-10-29 14:14:15.764337717 +0000 +@@ -899,3 +899,5 @@ union file_handle_union { + }; + + int umount_recursive(const char *target, int flags); ++ ++int sethostname_idempotent(const char *s); diff --git a/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..69372137 --- /dev/null +++ b/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,38 @@ +From 2e3390ea4684b954edce66b7758b5371d3338a9f Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Thu, 2 Oct 2014 07:53:15 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 14aee74..ee2efdf 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -1148,3 +1148,21 @@ bluetooth:v017B* + + bluetooth:v017C* + ID_VENDOR_FROM_DATABASE=Daimler AG ++ ++bluetooth:v017D* ++ ID_VENDOR_FROM_DATABASE=BatAndCat ++ ++bluetooth:v017E* ++ ID_VENDOR_FROM_DATABASE=BluDotz Ltd ++ ++bluetooth:v017F* ++ ID_VENDOR_FROM_DATABASE=XTel ApS ++ ++bluetooth:v0180* ++ ID_VENDOR_FROM_DATABASE=Gigaset Communications GmbH ++ ++bluetooth:v0181* ++ ID_VENDOR_FROM_DATABASE=Gecko Health Innovations, Inc. ++ ++bluetooth:v0182* ++ ID_VENDOR_FROM_DATABASE=HOP Ubiquitous +-- +1.7.9.2 + diff --git a/0009-units-make-systemd-journald.service-Type-notify.patch b/0009-units-make-systemd-journald.service-Type-notify.patch new file mode 100644 index 00000000..4890daf5 --- /dev/null +++ b/0009-units-make-systemd-journald.service-Type-notify.patch @@ -0,0 +1,27 @@ +Based on a87a38c20196a4aeb56b6ba71d688eefd0b21c30 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 4 Nov 2014 20:28:08 +0100 +Subject: [PATCH] units: make systemd-journald.service Type=notify + +It already calls sd_notify(), so it looks like an oversight. + +Without it, its ordering to systemd-journal-flush.service is +non-deterministic and the SIGUSR1 from flushing may kill journald before +it has its signal handlers set up. + +https://bugs.freedesktop.org/show_bug.cgi?id=85871 +https://bugzilla.redhat.com/show_bug.cgi?id=1159641 +--- + units/systemd-journald.service.in | 1 + + 1 file changed, 1 insertion(+) + +--- units/systemd-journald.service.in ++++ units/systemd-journald.service.in 2014-11-10 12:22:08.461949786 +0000 +@@ -14,6 +14,7 @@ After=systemd-journald.socket syslog.soc + Before=sysinit.target + + [Service] ++Type=notify + ExecStart=@rootlibexecdir@/systemd-journald + Restart=always + RestartSec=0 diff --git a/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch b/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch new file mode 100644 index 00000000..0e7fdba3 --- /dev/null +++ b/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch @@ -0,0 +1,26 @@ +From a9169c1c589bf7c7a29e7905d17e350ce7c7c48e Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 27 Oct 2014 11:08:26 +0100 +Subject: [PATCH] util: fix copy-paste error and actually set the new hostname + +Reported-by: sztanpet on irc +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/util.c src/shared/util.c +index 7d94a28..4143f6d 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -7189,7 +7189,7 @@ int sethostname_idempotent(const char *s) { + if (streq(buf, s)) + return 0; + +- r = sethostname(buf, strlen(buf)); ++ r = sethostname(s, strlen(s)); + if (r < 0) + return -errno; + +-- +1.7.9.2 + diff --git a/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..dbf00485 --- /dev/null +++ b/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,77 @@ +From 5d20fde4a5c4dff4d7c737b545fbd13582d544c1 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Fri, 31 Oct 2014 20:37:59 +0100 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 57 +++++++++++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index ee2efdf..58ca87d 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -1166,3 +1166,60 @@ bluetooth:v0181* + + bluetooth:v0182* + ID_VENDOR_FROM_DATABASE=HOP Ubiquitous ++ ++bluetooth:v0183* ++ ID_VENDOR_FROM_DATABASE=To Be Assigned ++ ++bluetooth:v0184* ++ ID_VENDOR_FROM_DATABASE=Nectar ++ ++bluetooth:v0185* ++ ID_VENDOR_FROM_DATABASE=bel'apps LLC ++ ++bluetooth:v0186* ++ ID_VENDOR_FROM_DATABASE=CORE Lighting Ltd ++ ++bluetooth:v0187* ++ ID_VENDOR_FROM_DATABASE=Seraphim Sense Ltd ++ ++bluetooth:v0188* ++ ID_VENDOR_FROM_DATABASE=Unico RBC ++ ++bluetooth:v0189* ++ ID_VENDOR_FROM_DATABASE=Physical Enterprises Inc. ++ ++bluetooth:v018A* ++ ID_VENDOR_FROM_DATABASE=Able Trend Technology Limited ++ ++bluetooth:v018B* ++ ID_VENDOR_FROM_DATABASE=Konica Minolta, Inc. ++ ++bluetooth:v018C* ++ ID_VENDOR_FROM_DATABASE=Wilo SE ++ ++bluetooth:v018D* ++ ID_VENDOR_FROM_DATABASE=Extron Design Services ++ ++bluetooth:v018E* ++ ID_VENDOR_FROM_DATABASE=Fitbit, Inc. ++ ++bluetooth:v018F* ++ ID_VENDOR_FROM_DATABASE=Fireflies Systems ++ ++bluetooth:v0190* ++ ID_VENDOR_FROM_DATABASE=Intelletto Technologies Inc. ++ ++bluetooth:v0191* ++ ID_VENDOR_FROM_DATABASE=FDK CORPORATION ++ ++bluetooth:v0192* ++ ID_VENDOR_FROM_DATABASE=Cloudleaf, Inc ++ ++bluetooth:v0193* ++ ID_VENDOR_FROM_DATABASE=Maveric Automation LLC ++ ++bluetooth:v0194* ++ ID_VENDOR_FROM_DATABASE=Acoustic Stream Corporation ++ ++bluetooth:v0195* ++ ID_VENDOR_FROM_DATABASE=Zuli +-- +1.7.9.2 + diff --git a/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch b/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch new file mode 100644 index 00000000..cafa5324 --- /dev/null +++ b/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch @@ -0,0 +1,27 @@ +Based on d89b5fed9ea5d9ec293585cb85bb27b56ea6ac9c Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 21 Oct 2014 18:38:42 +0200 +Subject: [PATCH] shutdown: do final unmounting only if not running inside the + container + +If we run in the container then we run in a mount namespace. If namespace dies +then kernel should do unmounting for us, hence we skip unmounting in containers. + +Also, it may be the case that we no longer have capability to do umount, +because we are running in the unprivileged container. + +See: http://lists.freedesktop.org/archives/systemd-devel/2014-October/023536.html +--- + src/core/shutdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/shutdown.c ++++ src/core/shutdown.c 2014-10-29 14:18:38.767837898 +0000 +@@ -278,6 +278,7 @@ int main(int argc, char *argv[]) { + broadcast_signal(SIGKILL, true, false); + + if (in_container) { ++ need_umount = false; + need_swapoff = false; + need_dm_detach = false; + need_loop_detach = false; diff --git a/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch b/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch new file mode 100644 index 00000000..1592a5aa --- /dev/null +++ b/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch @@ -0,0 +1,57 @@ +Based on dec23413ecc90d4a547aa41f02af0482b4513495 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 27 Oct 2014 21:31:29 -0400 +Subject: [PATCH] selinux: make sure we do not try to print missing fields + +UID or GID of 0 is valid, so we cannot use that to distinguish whether +calls to sd_bus_creds_get_* succeeded, and the return value from the +function is the only way to know about missing fields. Print "n/a" if +the fields are missing. + +CID #1238779 +--- + src/core/selinux-access.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git src/core/selinux-access.c src/core/selinux-access.c +index 08ea6ef..351d48f 100644 +--- src/core/selinux-access.c ++++ src/core/selinux-access.c +@@ -53,7 +53,7 @@ struct audit_info { + + /* + Any time an access gets denied this callback will be called +- with the aduit data. We then need to just copy the audit data into the msgbuf. ++ with the audit data. We then need to just copy the audit data into the msgbuf. + */ + static int audit_callback( + void *auditdata, +@@ -64,14 +64,20 @@ static int audit_callback( + const struct audit_info *audit = auditdata; + uid_t uid = 0, login_uid = 0; + gid_t gid = 0; ++ char login_uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; ++ char uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; ++ char gid_buf[DECIMAL_STR_MAX(gid_t)] = "n/a"; + +- sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid); +- sd_bus_creds_get_uid(audit->creds, &uid); +- sd_bus_creds_get_gid(audit->creds, &gid); ++ if (sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid) >= 0) ++ snprintf(login_uid_buf, sizeof(login_uid_buf), UID_FMT, login_uid); ++ if (sd_bus_creds_get_uid(audit->creds, &uid) >= 0) ++ snprintf(uid_buf, sizeof(uid_buf), UID_FMT, uid); ++ if (sd_bus_creds_get_gid(audit->creds, &gid) >= 0) ++ snprintf(gid_buf, sizeof(gid_buf), "%lu", (unsigned long)gid); + + snprintf(msgbuf, msgbufsize, +- "auid=%d uid=%d gid=%d%s%s%s%s%s%s", +- login_uid, uid, gid, ++ "auid=%s uid=%s gid=%s%s%s%s%s%s%s", ++ login_uid_buf, uid_buf, gid_buf, + audit->path ? " path=\"" : "", strempty(audit->path), audit->path ? "\"" : "", + audit->cmdline ? " cmdline=\"" : "", strempty(audit->cmdline), audit->cmdline ? "\"" : ""); + +-- +1.7.9.2 + diff --git a/0012-manager-do-not-print-anything-while-passwords-are-be.patch b/0012-manager-do-not-print-anything-while-passwords-are-be.patch new file mode 100644 index 00000000..88c30eab --- /dev/null +++ b/0012-manager-do-not-print-anything-while-passwords-are-be.patch @@ -0,0 +1,180 @@ +Based on e46b13c8c7f48f81d4e09912f2265daaa7f6d27e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 25 Oct 2014 20:30:51 -0400 +Subject: [PATCH] manager: do not print anything while passwords are being + queried + +https://bugs.freedesktop.org/show_bug.cgi?id=73942 +--- + src/core/manager.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + src/core/manager.h | 5 ++ + 2 files changed, 109 insertions(+), 1 deletion(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-10-29 14:31:18.984212089 +0000 +@@ -25,6 +25,8 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include +@@ -212,6 +214,96 @@ static void manager_print_jobs_in_progre + + } + ++static int have_ask_password(void) { ++ _cleanup_closedir_ DIR *dir; ++ ++ dir = opendir("/run/systemd/ask-password"); ++ if (!dir) { ++ if (errno == ENOENT) ++ return false; ++ else ++ return -errno; ++ } ++ ++ for (;;) { ++ struct dirent *de; ++ ++ errno = 0; ++ de = readdir(dir); ++ if (!de && errno != 0) ++ return -errno; ++ if (!de) ++ return false; ++ ++ if (startswith(de->d_name, "ask.")) ++ return true; ++ } ++} ++ ++static int manager_dispatch_ask_password_fd(sd_event_source *source, ++ int fd, uint32_t revents, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(m); ++ ++ flush_fd(fd); ++ ++ m->have_ask_password = have_ask_password(); ++ if (m->have_ask_password < 0) ++ /* Log error but continue. Negative have_ask_password ++ * is treated as unknown status. */ ++ log_error("Failed to list /run/systemd/ask-password: %s", strerror(m->have_ask_password)); ++ ++ return 0; ++} ++ ++static void manager_close_ask_password(Manager *m) { ++ assert(m); ++ if (m->ask_password_inotify_fd >= 0) close_nointr_nofail(m->ask_password_inotify_fd); ++ m->ask_password_inotify_fd = -1; ++ m->ask_password_event_source = sd_event_source_unref(m->ask_password_event_source); ++ m->have_ask_password = -EINVAL; ++} ++ ++static int manager_check_ask_password(Manager *m) { ++ int r; ++ ++ assert(m); ++ ++ if (!m->ask_password_event_source) { ++ assert(m->ask_password_inotify_fd < 0); ++ ++ mkdir_p_label("/run/systemd/ask-password", 0755); ++ ++ m->ask_password_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); ++ if (m->ask_password_inotify_fd < 0) { ++ log_error("inotify_init1() failed: %m"); ++ return -errno; ++ } ++ ++ if (inotify_add_watch(m->ask_password_inotify_fd, "/run/systemd/ask-password", IN_CREATE|IN_DELETE|IN_MOVE) < 0) { ++ log_error("Failed to add watch on /run/systemd/ask-password: %m"); ++ manager_close_ask_password(m); ++ return -errno; ++ } ++ ++ r = sd_event_add_io(m->event, &m->ask_password_event_source, ++ m->ask_password_inotify_fd, EPOLLIN, ++ manager_dispatch_ask_password_fd, m); ++ if (r < 0) { ++ log_error("Failed to add event source for /run/systemd/ask-password: %m"); ++ manager_close_ask_password(m); ++ return -errno; ++ } ++ ++ /* Queries might have been added meanwhile... */ ++ manager_dispatch_ask_password_fd(m->ask_password_event_source, ++ m->ask_password_inotify_fd, EPOLLIN, m); ++ } ++ ++ return m->have_ask_password; ++} ++ + static int manager_watch_idle_pipe(Manager *m) { + int r; + +@@ -470,6 +562,9 @@ int manager_new(SystemdRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; + m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + ++ m->ask_password_inotify_fd = -1; ++ m->have_ask_password = -EINVAL; /* we don't know */ ++ + r = manager_default_environment(m); + if (r < 0) + goto fail; +@@ -847,6 +942,8 @@ void manager_free(Manager *m) { + if (m->kdbus_fd >= 0) + close_nointr_nofail(m->kdbus_fd); + ++ manager_close_ask_password(m); ++ + manager_close_idle_pipe(m); + + udev_unref(m->udev); +@@ -2526,6 +2623,9 @@ void manager_check_finished(Manager *m) + /* Turn off confirm spawn now */ + m->confirm_spawn = false; + ++ /* No need to update ask password status when we're going non-interactive */ ++ manager_close_ask_password(m); ++ + if (dual_timestamp_is_set(&m->finish_timestamp)) + return; + +@@ -2843,12 +2943,15 @@ static bool manager_get_show_status(Mana + if (m->no_console_output) + return false; + ++ /* If we cannot find out the status properly, just proceed. */ ++ if (manager_check_ask_password(m) > 0) ++ return false; ++ + if (m->show_status > 0) + return true; + + /* If Plymouth is running make sure we show the status, so + * that there's something nice to see when people press Esc */ +- + return plymouth_running(); + } + +--- src/core/manager.h ++++ src/core/manager.h 2014-10-29 00:00:00.000000000 +0000 +@@ -231,6 +231,11 @@ struct Manager { + unsigned n_on_console; + unsigned jobs_in_progress_iteration; + ++ /* Do we have any outstanding password prompts? */ ++ int have_ask_password; ++ int ask_password_inotify_fd; ++ sd_event_source *ask_password_event_source; ++ + /* Type=idle pipes */ + int idle_pipe[4]; + sd_event_source *idle_pipe_event_source; diff --git a/1053-better-checks-in-write_net_rules.patch b/1053-better-checks-in-write_net_rules.patch index 50e03693..5fa8076d 100644 --- a/1053-better-checks-in-write_net_rules.patch +++ b/1053-better-checks-in-write_net_rules.patch @@ -8,7 +8,7 @@ Index: systemd-210/src/udev/rule_generator/write_net_rules if [ "$MATCHADDR" ]; then + # Check if MACADDR doesn't exist already in the generated rules + MAC="$(/usr/bin/grep -w -o -C1 -m1 "$MATCHADDR" "$RULES_FILE" 2>/dev/null || true)" -+ if [ "$MAC" == "$MATCHADDR" ]; then ++ if [ "$MAC" = "$MATCHADDR" ]; then + unlock_rules_file + exit 0 + fi @@ -23,7 +23,7 @@ Index: systemd-210/src/udev/rule_generator/write_net_rules - if [ "$ID" == "$MATCHID" ]; then + # Check if KERNEL doesn't exist already in the generated rules + KERNEL="$(find_all_rules 'KERNELS==' "$MATCHID")" -+ if [ "$KERNEL" == "$MATCHID" ]; then ++ if [ "$KERNEL" = "$MATCHID" ]; then unlock_rules_file exit 0 fi diff --git a/1089-fix-cgroup-device-controller.patch b/1089-fix-cgroup-device-controller.patch new file mode 100644 index 00000000..cd68533f --- /dev/null +++ b/1089-fix-cgroup-device-controller.patch @@ -0,0 +1,74 @@ +From eb0f0863f5af48865fb4569e2076d5f9e2313995 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 10 Mar 2014 21:36:01 +0100 +Subject: nspawn: don't try mknod() of /dev/console with the correct + major/minor + +We overmount /dev/console with an external pty anyway, hence there's no +point in using the real major/minor when we create the node to +overmount. Instead, use the one of /dev/null now. + +This fixes a race against the cgroup device controller setup we are +using. In case /dev/console was create before the cgroup policy was +applied all was good, but if created in the opposite order the mknod() +would fail, since creating /dev/console is not allowed by it. Creating +/dev/null instances is however permitted, and hence use it. + +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index d8d0dae..bef866a 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -879,23 +879,19 @@ static int setup_ptmx(const char *dest) { + } + + static int setup_dev_console(const char *dest, const char *console) { ++ _cleanup_umask_ mode_t u; ++ const char *to; + struct stat st; +- _cleanup_free_ char *to = NULL; + int r; +- _cleanup_umask_ mode_t u; + + assert(dest); + assert(console); + + u = umask(0000); + +- if (stat(console, &st) < 0) { +- log_error("Failed to stat %s: %m", console); ++ if (stat("/dev/null", &st) < 0) { ++ log_error("Failed to stat /dev/null: %m"); + return -errno; +- +- } else if (!S_ISCHR(st.st_mode)) { +- log_error("/dev/console is not a char device"); +- return -EIO; + } + + r = chmod_and_chown(console, 0600, 0, 0); +@@ -904,16 +900,15 @@ static int setup_dev_console(const char *dest, const char *console) { + return r; + } + +- if (asprintf(&to, "%s/dev/console", dest) < 0) +- return log_oom(); +- + /* We need to bind mount the right tty to /dev/console since + * ptys can only exist on pts file systems. To have something +- * to bind mount things on we create a device node first, that +- * has the right major/minor (note that the major minor +- * doesn't actually matter here, since we mount it over +- * anyway). */ ++ * to bind mount things on we create a device node first, and ++ * use /dev/null for that since we the cgroups device policy ++ * allows us to create that freely, while we cannot create ++ * /dev/console. (Note that the major minor doesn't actually ++ * matter here, since we mount it over anyway). */ + ++ to = strappenda(dest, "/dev/console"); + if (mknod(to, (st.st_mode & ~07777) | 0600, st.st_rdev) < 0) { + log_error("mknod() for /dev/console failed: %m"); + return -errno; +-- +cgit v0.10.2 + diff --git a/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch b/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch new file mode 100644 index 00000000..3a3ad550 --- /dev/null +++ b/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch @@ -0,0 +1,58 @@ +Based on cc821d02a37c8c76aaf15bae2d33fee1bdc4b2e0 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 28 Oct 2014 16:50:24 +0100 +Subject: [PATCH] udev: path_id - set supported_parent for well-known SCSI + setups + +--- + src/udev/udev-builtin-path_id.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c 2014-11-03 14:12:48.129956655 +0000 +@@ -379,7 +379,7 @@ out: + return hostdev; + } + +-static struct udev_device *handle_scsi(struct udev_device *parent, char **path) ++static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) + { + const char *devtype; + const char *name; +@@ -394,6 +394,7 @@ static struct udev_device *handle_scsi(s + if (id != NULL) { + parent = skip_subsystem(parent, "scsi"); + path_prepend(path, "ieee1394-0x%s", id); ++ *supported_parent = true; + goto out; + } + +@@ -402,16 +403,19 @@ static struct udev_device *handle_scsi(s + + if (strstr(name, "/rport-") != NULL) { + parent = handle_scsi_fibre_channel(parent, path); ++ *supported_parent = true; + goto out; + } + + if (strstr(name, "/end_device-") != NULL) { + parent = handle_scsi_sas(parent, path); ++ *supported_parent = true; + goto out; + } + + if (strstr(name, "/session") != NULL) { + parent = handle_scsi_iscsi(parent, path); ++ *supported_parent = true; + goto out; + } + +@@ -545,7 +549,7 @@ static int builtin_path_id(struct udev_d + } else if (streq(subsys, "scsi_tape")) { + handle_scsi_tape(parent, &path); + } else if (streq(subsys, "scsi")) { +- parent = handle_scsi(parent, &path); ++ parent = handle_scsi(parent, &path, &supported_parent); + supported_transport = true; + } else if (streq(subsys, "cciss")) { + parent = handle_cciss(parent, &path); diff --git a/1091-udev-path_id-update-comments.patch b/1091-udev-path_id-update-comments.patch new file mode 100644 index 00000000..a695f0db --- /dev/null +++ b/1091-udev-path_id-update-comments.patch @@ -0,0 +1,42 @@ +From a42cdff19f2d34f12ceca0f40707421a8aaa2c2f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 30 Oct 2014 01:18:34 +0100 +Subject: [PATCH] udev: path_id - update comments + +--- + src/udev/udev-builtin-path_id.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git src/udev/udev-builtin-path_id.c src/udev/udev-builtin-path_id.c +index 0d247f6..df996cb 100644 +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c +@@ -548,9 +548,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool + } + + /* +- * Do return devices with have an unknown type of parent device, they +- * might produce conflicting IDs below multiple independent parent +- * devices. ++ * Do not return devices with an unknown parent device type. They ++ * might produce conflicting IDs if the parent does not provide a ++ * unique and predictable name. + */ + if (!supported_parent) { + free(path); +@@ -558,9 +558,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool + } + + /* +- * Do not return a have-only a single-parent block devices, some +- * have entire hidden buses behind it, and not create predictable +- * IDs that way. ++ * Do not return block devices without a well-known transport. Some ++ * devices do not expose their buses and do not provide a unique ++ * and predictable name that way. + */ + if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { + free(path); +-- +1.7.9.2 + diff --git a/1092-libudev-do-not-accept-invalid-log-levels.patch b/1092-libudev-do-not-accept-invalid-log-levels.patch new file mode 100644 index 00000000..10b78859 --- /dev/null +++ b/1092-libudev-do-not-accept-invalid-log-levels.patch @@ -0,0 +1,67 @@ +Based on ee7122c0ec6aa11f02e9e8d94254b353f12d2c14 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 1 Nov 2014 12:06:41 -0400 +Subject: [PATCH] libudev: do not accept invalid log levels + +Invalid log levels lead to a assert failure later on. + +https://bugs.freedesktop.org/show_bug.cgi?id=85657 +--- + src/libudev/libudev-util.c | 10 +++++++--- + src/libudev/libudev.c | 19 ++++++++++++++++--- + 2 files changed, 23 insertions(+), 6 deletions(-) + +--- src/libudev/libudev-util.c ++++ src/libudev/libudev-util.c 2014-11-10 11:33:26.269519209 +0000 +@@ -255,9 +255,13 @@ int util_log_priority(const char *priori + char *endptr; + int prio; + +- prio = strtol(priority, &endptr, 10); +- if (endptr[0] == '\0' || isspace(endptr[0])) +- return prio; ++ prio = strtoul(priority, &endptr, 10); ++ if (endptr[0] == '\0' || isspace(endptr[0])) { ++ if (prio >= 0 && prio <= 7) ++ return prio; ++ else ++ return -ERANGE; ++ } + if (startswith(priority, "err")) + return LOG_ERR; + if (startswith(priority, "info")) +--- src/libudev/libudev.c ++++ src/libudev/libudev.c +@@ -193,7 +193,13 @@ _public_ struct udev *udev_new(void) + } + + if (streq(key, "udev_log")) { +- udev_set_log_priority(udev, util_log_priority(val)); ++ int prio; ++ ++ prio = util_log_priority(val); ++ if (prio < 0) ++ udev_err(udev, "/etc/udev/udev.conf:%u: invalid logging level '%s', ignoring.\n", line_nr, val); ++ else ++ udev_set_log_priority(udev, prio); + continue; + } + } +@@ -201,8 +207,15 @@ _public_ struct udev *udev_new(void) + + /* environment overrides config */ + env = secure_getenv("UDEV_LOG"); +- if (env != NULL) +- udev_set_log_priority(udev, util_log_priority(env)); ++ if (env != NULL) { ++ int prio; ++ ++ prio = util_log_priority(env); ++ if (prio < 0) ++ udev_err(udev, "$UDEV_LOG specifies invalid logging level '%s', ignoring.\n", env); ++ else ++ udev_set_log_priority(udev, prio); ++ } + + return udev; + } diff --git a/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch b/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch new file mode 100644 index 00000000..5f3bb576 --- /dev/null +++ b/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch @@ -0,0 +1,23 @@ +Based on f671774f52838d35d78e62ddcb781b5b65b3373f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 4 Nov 2014 23:45:15 +0000 +Subject: [PATCH] udev: Fix parsing of udev.event-timeout kernel parameter. + +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-11-10 12:28:20.385559165 +0000 +@@ -1011,9 +1011,9 @@ static void kernel_cmdline_options(struc + if (r < 0) + log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); + } else if (startswith(opt, "udev.event-timeout=")) { +- r = safe_atou64(opt + 16, &event_timeout_usec); ++ r = safe_atou64(opt + 19, &event_timeout_usec); + if (r < 0) { +- log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); ++ log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); + break; + } + event_timeout_usec *= USEC_PER_SEC; diff --git a/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch b/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch new file mode 100644 index 00000000..3cd42e5c --- /dev/null +++ b/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch @@ -0,0 +1,58 @@ +Based on cfe2061add5479710f6597899d632e64c54e62ef Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Wed, 5 Nov 2014 12:56:49 +0100 +Subject: [PATCH] udev: avoid magic constants in kernel-cmdline parsers + +Lets recognize the fact that startswith() returns a pointer to the tail on +success. Use it instead of hard-coding string-lengths as magic constants. +--- + src/udev/udevd.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-11-10 12:31:15.745519116 +0000 +@@ -984,7 +984,7 @@ static void kernel_cmdline_options(struc + return; + + FOREACH_WORD_QUOTED(w, l, line, state) { +- char *s, *opt; ++ char *s, *opt, *value; + + s = strndup(w, l); + if (!s) +@@ -996,24 +996,24 @@ static void kernel_cmdline_options(struc + else + opt = s; + +- if (startswith(opt, "udev.log-priority=")) { ++ if ((value = startswith(opt, "udev.log-priority="))) { + int prio; + +- prio = util_log_priority(opt + 18); ++ prio = util_log_priority(value); + log_set_max_level(prio); + udev_set_log_priority(udev, prio); +- } else if (startswith(opt, "udev.children-max=")) { +- r = safe_atoi(opt + 18, &children_max); ++ } else if ((value = startswith(opt, "udev.children-max="))) { ++ r = safe_atoi(value, &children_max); + if (r < 0) +- log_warning("Invalid udev.children-max ignored: %s", opt + 18); +- } else if (startswith(opt, "udev.exec-delay=")) { +- r = safe_atoi(opt + 16, &exec_delay); ++ log_warning("Invalid udev.children-max ignored: %s", value); ++ } else if ((value = startswith(opt, "udev.exec-delay="))) { ++ r = safe_atoi(value, &exec_delay); + if (r < 0) +- log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); +- } else if (startswith(opt, "udev.event-timeout=")) { +- r = safe_atou64(opt + 19, &event_timeout_usec); ++ log_warning("Invalid udev.exec-delay ignored: %s", value); ++ } else if ((value = startswith(opt, "udev.event-timeout="))) { ++ r = safe_atou64(value, &event_timeout_usec); + if (r < 0) { +- log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); ++ log_warning("Invalid udev.event-timeout ignored: %s", value); + break; + } + event_timeout_usec *= USEC_PER_SEC; diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch new file mode 100644 index 00000000..39c4a74a --- /dev/null +++ b/1095-set-ssd-disk-to-use-deadline-scheduler.patch @@ -0,0 +1,28 @@ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2546,6 +2546,7 @@ dist_udevrules_DATA += \ + rules/60-persistent-input.rules \ + rules/60-persistent-alsa.rules \ + rules/60-persistent-storage.rules \ ++ rules/60-ssd-scheduler.rules \ + rules/64-btrfs.rules \ + rules/75-net-description.rules \ + rules/75-tty-description.rules \ +Index: systemd-210/rules/60-ssd-scheduler.rules +=================================================================== +--- /dev/null ++++ systemd-210/rules/60-ssd-scheduler.rules +@@ -0,0 +1,11 @@ ++# do not edit this file, it will be overwritten on update ++ ++ACTION!="add", GOTO="ssd_scheduler_end" ++SUBSYSTEM!="block", GOTO="ssd_scheduler_end" ++ ++IMPORT{cmdline}="elevator" ++ENV{elevator}=="*?", GOTO="ssd_scheduler_end" ++ ++KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" ++ ++LABEL="ssd_scheduler_end" diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch new file mode 100644 index 00000000..49c1b2c9 --- /dev/null +++ b/1096-new-udev-root-symlink-generator.patch @@ -0,0 +1,130 @@ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2791,6 +2791,25 @@ EXTRA_DIST += \ + test/rule-syntax-check.py + + # ------------------------------------------------------------------------------ ++rootsymlink_generator_SOURCES = \ ++ src/udev/rootsymlink_generator/rootsymlink_generator.c ++ ++rootsymlink_generator_CFLAGS = \ ++ $(AM_CFLAGS) ++ ++udevlibexec_PROGRAMS += \ ++ rootsymlink-generator ++ ++nodist_systemunit_DATA += \ ++ units/systemd-udev-root-symlink.service ++ ++SYSINIT_TARGET_WANTS += \ ++ systemd-udev-root-symlink.service ++ ++EXTRA_DIST += \ ++ units/systemd-udev-root-symlink.service.in ++ ++# ------------------------------------------------------------------------------ + ata_id_SOURCES = \ + src/udev/ata_id/ata_id.c + +Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +@@ -0,0 +1,65 @@ ++/* ++ * Copyright (C) 2014-2015 Robert Milasan ++ * ++ * This program is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define BUFFER_SIZE 128 ++ ++#define _ROOTDEV_ "/" ++#define _PATH_ "/run/udev/rules.d" ++#define _FILE_ "10-root-symlink.rules" ++ ++int main() ++{ ++ struct stat statbuf; ++ ++ if (stat(_ROOTDEV_, &statbuf) != 0) ++ return 1; ++ ++ if (major(statbuf.st_dev) > 0) { ++ int fd = -1; ++ char filename[BUFFER_SIZE]; ++ ++ if (mkdir(_PATH_, 0755) != 0 && errno != EEXIST) ++ return errno; ++ ++ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); ++ ++ if ((fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0644)) == -1) ++ return errno; ++ else { ++ char buf[BUFFER_SIZE]; ++ ++ snprintf(buf, BUFFER_SIZE, "ACTION==\"add|change\", SUBSYSTEM==\"block\", ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", ++ major(statbuf.st_dev), minor(statbuf.st_dev)); ++ ++ if (write(fd, buf, strlen(buf)) == -1) ++ return errno; ++ ++ if (close(fd) == -1) ++ return errno; ++ } ++ } ++ ++ return 0; ++} +Index: systemd-210/units/systemd-udev-root-symlink.service.in +=================================================================== +--- /dev/null ++++ systemd-210/units/systemd-udev-root-symlink.service.in +@@ -0,0 +1,10 @@ ++[Unit] ++Description=Rule generator for /dev/root symlink ++Before=systemd-udevd.service ++DefaultDependencies=no ++ConditionPathIsReadWrite=/run/udev ++ ++[Service] ++Type=oneshot ++RemainAfterExit=yes ++ExecStart=@udevlibexec@/rootsymlink-generator +Index: systemd-210/units/systemd-udev-root-symlink.service +=================================================================== +--- /dev/null ++++ systemd-210/units/systemd-udev-root-symlink.service +@@ -0,0 +1,10 @@ ++[Unit] ++Description=Rule generator for /dev/root symlink ++Before=systemd-udevd.service ++DefaultDependencies=no ++ConditionPathIsReadWrite=/run/udev ++ ++[Service] ++Type=oneshot ++RemainAfterExit=yes ++ExecStart=/usr/lib/udev/rootsymlink-generator diff --git a/avoid-leaking-socket-descriptors.patch b/avoid-leaking-socket-descriptors.patch new file mode 100644 index 00000000..d65d1196 --- /dev/null +++ b/avoid-leaking-socket-descriptors.patch @@ -0,0 +1,339 @@ +Based on 249968612f16a71df909d6e73785c18a9ff36a65 +with src/core/dbus.c as well and corrected systemctl +error messages for killing a unit. + +--- + src/analyze/analyze.c | 2 +- + src/bus-proxyd/bus-proxyd.c | 4 +--- + src/cgroups-agent/cgroups-agent.c | 4 +--- + src/core/dbus.c | 2 +- + src/fsck/fsck.c | 2 +- + src/hostname/hostnamectl.c | 2 +- + src/hostname/hostnamed.c | 4 ++-- + src/libsystemd/sd-bus/bus-util.h | 9 +++++++++ + src/libsystemd/sd-bus/busctl.c | 2 +- + src/locale/localectl.c | 2 +- + src/locale/localed.c | 4 ++-- + src/login/inhibit.c | 2 +- + src/login/loginctl.c | 2 +- + src/login/pam-module.c | 4 ++-- + src/machine/machinectl.c | 4 ++-- + src/nspawn/nspawn.c | 4 ++-- + src/run/run.c | 2 +- + src/systemctl/systemctl.c | 2 +- + src/timedate/timedatectl.c | 2 +- + src/timedate/timedated.c | 4 ++-- + 20 files changed, 34 insertions(+), 29 deletions(-) + +--- src/analyze/analyze.c ++++ src/analyze/analyze.c 2014-10-21 11:13:56.113045992 +0000 +@@ -1264,7 +1264,7 @@ static int parse_argv(int argc, char *ar + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/bus-proxyd/bus-proxyd.c ++++ src/bus-proxyd/bus-proxyd.c 2014-10-21 11:16:16.303837968 +0000 +@@ -427,7 +427,7 @@ static int patch_sender(sd_bus *a, sd_bu + + int main(int argc, char *argv[]) { + +- _cleanup_bus_unref_ sd_bus *a = NULL, *b = NULL; ++ _cleanup_bus_close_unref_ sd_bus *a = NULL, *b = NULL; + sd_id128_t server_id; + int r, in_fd, out_fd; + bool got_hello = false; +@@ -777,8 +777,6 @@ int main(int argc, char *argv[]) { + r = 0; + + finish: +- sd_bus_flush(a); +- sd_bus_flush(b); + + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + } +--- src/cgroups-agent/cgroups-agent.c ++++ src/cgroups-agent/cgroups-agent.c 2014-10-21 11:17:37.400197469 +0000 +@@ -26,7 +26,7 @@ + #include "bus-util.h" + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + if (argc != 2) { +@@ -62,7 +62,5 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- sd_bus_flush(bus); +- + return EXIT_SUCCESS; + } +--- src/core/dbus.c ++++ src/core/dbus.c 2014-10-17 09:52:47.000000000 +0000 +@@ -639,7 +639,7 @@ static int bus_setup_disconnected_match( + } + + static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void *userdata) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_close_ int nfd = -1; + Manager *m = userdata; + sd_id128_t id; +--- src/fsck/fsck.c ++++ src/fsck/fsck.c 2014-10-21 11:18:06.003838037 +0000 +@@ -45,7 +45,7 @@ static bool arg_show_progress = false; + + static void start_target(const char *target) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(target); +--- src/hostname/hostnamectl.c ++++ src/hostname/hostnamectl.c 2014-10-21 11:18:19.915858156 +0000 +@@ -468,7 +468,7 @@ static int hostnamectl_main(sd_bus *bus, + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c 2014-10-21 11:24:07.737447673 +0000 +@@ -566,7 +566,7 @@ static const sd_bus_vtable hostname_vtab + }; + + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(c); +@@ -607,7 +607,7 @@ int main(int argc, char *argv[]) { + Context context = {}; + + _cleanup_event_unref_ sd_event *event = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_set_target(LOG_TARGET_AUTO); +--- src/libsystemd/sd-bus/bus-util.h ++++ src/libsystemd/sd-bus/bus-util.h 2014-10-17 09:51:34.000000000 +0000 +@@ -137,11 +137,20 @@ typedef struct UnitInfo { + + int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u); + ++static inline void sd_bus_close_unrefp(sd_bus **bus) { ++ if (*bus) { ++ sd_bus_flush(*bus); ++ sd_bus_close(*bus); ++ sd_bus_unref(*bus); ++ } ++} ++ + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, sd_bus_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_message*, sd_bus_message_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_creds*, sd_bus_creds_unref); + + #define _cleanup_bus_unref_ _cleanup_(sd_bus_unrefp) ++#define _cleanup_bus_close_unref_ _cleanup_(sd_bus_close_unrefp) + #define _cleanup_bus_message_unref_ _cleanup_(sd_bus_message_unrefp) + #define _cleanup_bus_creds_unref_ _cleanup_(sd_bus_creds_unrefp) + #define _cleanup_bus_error_free_ _cleanup_(sd_bus_error_free) +--- src/libsystemd/sd-bus/busctl.c ++++ src/libsystemd/sd-bus/busctl.c 2014-10-21 11:19:01.472337887 +0000 +@@ -484,7 +484,7 @@ static int busctl_main(sd_bus *bus, int + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_parse_environment(); +--- src/locale/localectl.c ++++ src/locale/localectl.c 2014-10-21 11:19:13.811947994 +0000 +@@ -796,7 +796,7 @@ static int localectl_main(sd_bus *bus, i + } + + int main(int argc, char*argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/locale/localed.c ++++ src/locale/localed.c 2014-10-21 11:19:28.415837424 +0000 +@@ -1076,7 +1076,7 @@ static const sd_bus_vtable locale_vtable + }; + + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(c); +@@ -1116,7 +1116,7 @@ static int connect_bus(Context *c, sd_ev + int main(int argc, char *argv[]) { + Context context = {}; + _cleanup_event_unref_ sd_event *event = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_set_target(LOG_TARGET_AUTO); +--- src/login/inhibit.c ++++ src/login/inhibit.c 2014-10-21 11:19:44.470844885 +0000 +@@ -221,7 +221,7 @@ static int parse_argv(int argc, char *ar + + int main(int argc, char *argv[]) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_parse_environment(); +--- src/login/loginctl.c ++++ src/login/loginctl.c 2014-10-21 11:20:16.695837857 +0000 +@@ -1298,7 +1298,7 @@ static int loginctl_main(sd_bus *bus, in + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/login/pam-module.c ++++ src/login/pam-module.c 2014-10-21 10:48:20.000000000 +0000 +@@ -213,7 +213,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess + *seat = NULL, + *type = NULL, *class = NULL, + *class_pam = NULL, *type_pam = NULL, *cvtnr = NULL, *desktop = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int session_fd = -1, existing, r; + bool debug = false, remote; + struct passwd *pw; +@@ -517,7 +517,7 @@ _public_ PAM_EXTERN int pam_sm_close_ses + int argc, const char **argv) { + + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + const void *existing = NULL; + const char *id; + int r; +--- src/machine/machinectl.c ++++ src/machine/machinectl.c 2014-10-21 11:20:45.747838104 +0000 +@@ -550,7 +550,7 @@ static int openpt_in_namespace(pid_t pid + static int login_machine(sd_bus *bus, char **args, unsigned n) { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *reply2 = NULL, *reply3 = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *container_bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *container_bus = NULL; + _cleanup_close_ int master = -1; + _cleanup_free_ char *getty = NULL; + const char *path, *pty, *p; +@@ -879,7 +879,7 @@ static int machinectl_main(sd_bus *bus, + } + + int main(int argc, char*argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-10-21 11:21:05.561523449 +0000 +@@ -1163,7 +1163,7 @@ static int drop_capabilities(void) { + + static int register_machine(pid_t pid) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + if (!arg_register) +@@ -1285,7 +1285,7 @@ static int register_machine(pid_t pid) { + static int terminate_machine(pid_t pid) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + const char *path; + int r; + +--- src/run/run.c ++++ src/run/run.c 2014-10-21 11:22:35.163838021 +0000 +@@ -462,7 +462,7 @@ static int start_transient_scope( + + int main(int argc, char* argv[]) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_free_ char *description = NULL, *command = NULL; + int r; + +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-10-22 09:36:33.399838318 +0000 +@@ -2601,7 +2601,7 @@ static int kill_unit(sd_bus *bus, char * + "ssi", *names, arg_kill_who, arg_signal); + if (q < 0) { + log_error("Failed to kill unit %s: %s", +- *names, bus_error_message(&error, r)); ++ *names, bus_error_message(&error, q)); + if (r == 0) + r = q; + } +@@ -6436,7 +6436,7 @@ static int runlevel_main(void) { + } + + int main(int argc, char*argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/timedate/timedatectl.c ++++ src/timedate/timedatectl.c 2014-10-21 11:23:06.107837988 +0000 +@@ -593,7 +593,7 @@ static int timedatectl_main(sd_bus *bus, + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/timedate/timedated.c ++++ src/timedate/timedated.c 2014-10-21 11:23:26.047838675 +0000 +@@ -779,7 +779,7 @@ static const sd_bus_vtable timedate_vtab + }; + + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(c); +@@ -825,7 +825,7 @@ int main(int argc, char *argv[]) { + }; + + _cleanup_event_unref_ sd_event *event = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_set_target(LOG_TARGET_AUTO); diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch new file mode 100644 index 00000000..008a72ef --- /dev/null +++ b/journald-advice-about-use-of-memory.patch @@ -0,0 +1,146 @@ +--- + src/journal/catalog.c | 21 +++++++++++++++++++-- + src/journal/journal-authenticate.c | 4 ++-- + src/journal/journal-file.c | 2 +- + src/journal/journald-kmsg.c | 2 +- + src/journal/mmap-cache.c | 24 ++++++++++++++++++++++-- + 5 files changed, 45 insertions(+), 8 deletions(-) + +--- src/journal/catalog.c ++++ src/journal/catalog.c 2014-10-24 11:44:59.079838065 +0000 +@@ -472,9 +472,19 @@ finish: + + static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { + const CatalogHeader *h; +- int fd; ++ static const struct { ++ const int index; ++ int advise; ++ } advises[] = { ++ {0,MADV_WILLNEED}, ++ {1,MADV_SEQUENTIAL}, ++ {2,MADV_DONTDUMP}, ++ {3,MADV_DONTFORK} ++ }; ++ int n, fd; + void *p; + struct stat st; ++ size_t psize; + + assert(_fd); + assert(_st); +@@ -494,12 +504,19 @@ static int open_mmap(const char *databas + return -EINVAL; + } + +- p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); ++ psize = PAGE_ALIGN(st.st_size); ++ p = mmap(NULL, psize, PROT_READ, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, 0); + if (p == MAP_FAILED) { + close_nointr_nofail(fd); + return -errno; + } + ++ for (n=0; n < sizeof(advises)/sizeof(advises[0]); n++) { ++ int r = madvise(p, psize, advises[n].advise); ++ if (r < 0) ++ log_warning("Failed to give advice about use of memory: %m"); ++ } ++ + h = p; + if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || + le64toh(h->header_size) < sizeof(CatalogHeader) || +--- src/journal/journal-authenticate.c ++++ src/journal/journal-authenticate.c 2014-10-24 07:41:09.271837523 +0000 +@@ -355,7 +355,7 @@ int journal_file_fss_load(JournalFile *f + goto finish; + } + +- m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); ++ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED|MAP_STACK, fd, 0); + if (m == MAP_FAILED) { + m = NULL; + r = -errno; +@@ -399,7 +399,7 @@ int journal_file_fss_load(JournalFile *f + goto finish; + } + +- f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); ++ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); + if (f->fss_file == MAP_FAILED) { + f->fss_file = NULL; + r = -errno; +--- src/journal/journal-file.c ++++ src/journal/journal-file.c 2014-10-24 07:39:25.603837720 +0000 +@@ -2554,7 +2554,7 @@ int journal_file_open( + goto fail; + } + +- f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED, f->fd, 0); ++ f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED|MAP_STACK, f->fd, 0); + if (f->header == MAP_FAILED) { + f->header = NULL; + r = -errno; +--- src/journal/journald-kmsg.c ++++ src/journal/journald-kmsg.c 2014-10-24 07:38:01.967837989 +0000 +@@ -473,7 +473,7 @@ int server_open_kernel_seqnum(Server *s) + return 0; + } + +- p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); ++ p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); + if (p == MAP_FAILED) { + log_error("Failed to map sequential number file, ignoring: %m"); + close_nointr_nofail(fd); +--- src/journal/mmap-cache.c ++++ src/journal/mmap-cache.c 2014-10-24 11:16:47.759837744 +0000 +@@ -439,12 +439,21 @@ static int add_mmap( + struct stat *st, + void **ret) { + ++ static const struct { ++ const int index; ++ int vise; ++ } ad[] = { ++ {0, MADV_WILLNEED}, ++ {1, MADV_SEQUENTIAL}, ++ {2, MADV_DONTDUMP}, ++ {3, MADV_DONTFORK} ++ }; + uint64_t woffset, wsize; + Context *c; + FileDescriptor *f; + Window *w; + void *d; +- int r; ++ int n, r; + + assert(m); + assert(m->n_ref > 0); +@@ -481,7 +490,7 @@ static int add_mmap( + } + + for (;;) { +- d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); ++ d = mmap(NULL, wsize, prot, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, woffset); + if (d != MAP_FAILED) + break; + if (errno != ENOMEM) +@@ -494,6 +503,17 @@ static int add_mmap( + return -ENOMEM; + } + ++ for (n=0; n < sizeof(ad)/sizeof(ad[0]); n++) { ++ if (ad[n].vise == MADV_DONTFORK) { ++ int flags = fcntl(fd, F_GETFD); ++ if (flags < 0 || !(flags & FD_CLOEXEC)) ++ continue; ++ } ++ r = madvise(d, wsize, ad[n].vise); ++ if (r < 0) ++ log_warning("Failed to give advice about use of memory: %m"); ++ } ++ + c = context_add(m, context); + if (!c) + goto outofmem; diff --git a/keep-crypt-password-prompt.patch b/keep-crypt-password-prompt.patch deleted file mode 100644 index ba356b54..00000000 --- a/keep-crypt-password-prompt.patch +++ /dev/null @@ -1,45 +0,0 @@ -Index: systemd-210/src/core/manager.c -=================================================================== ---- systemd-210.orig/src/core/manager.c -+++ systemd-210/src/core/manager.c -@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m - } - } - -+static int check_for_password_prompt(void) { -+ DIR *d; -+ struct dirent *de; -+ -+ if (!(d = opendir("/run/systemd/ask-password"))) { -+ -+ if (errno == ENOENT) -+ return 1; -+ log_error("opendir(/run/systemd/ask-password): %m"); -+ -+ return -errno; -+ } -+ -+ while ((de = readdir(d))) { -+ if (startswith(de->d_name, "ask.")) { -+ closedir(d); -+ return 0; -+ } -+ } -+ closedir(d); -+ return 1; -+} -+ - static void manager_print_jobs_in_progress(Manager *m) { - static int is_ansi_console = -1; - _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre - - m->jobs_in_progress_iteration++; - -+ //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0) -+ return; -+ - if (m->n_running_jobs > 1) - if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) - job_of_n = NULL; diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch index 13f576db..8709dc70 100644 --- a/parse-crypttab-for-noauto-option.patch +++ b/parse-crypttab-for-noauto-option.patch @@ -44,7 +44,7 @@ Index: systemd-210/src/fstab-generator/fstab-generator.c + } + + if (strcmp((what + 12), name) == 0) { -+ if (strstr(options, "noauto")) ++ if (options && strstr(options, "noauto")) + return 0; + + return 1; diff --git a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch index 52fe82ea..b6859af1 100644 --- a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +++ b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -7,14 +7,12 @@ Subject: rules: add lid switch of ARM based Chromebook as a power switch to src/login/70-power-switch.rules | 1 + 1 file changed, 1 insertion(+) -diff --git a/src/login/70-power-switch.rules b/src/login/70-power-switch.rules -index 36fb827..d925ab7 100644 --- a/src/login/70-power-switch.rules +++ b/src/login/70-power-switch.rules -@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" - - SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" +@@ -11,5 +11,6 @@ SUBSYSTEM=="input", KERNEL=="event*", SU SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" +SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="gpio-keys.8", TAG+="power-switch" LABEL="power_switch_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index dcfc946e..f50611e0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,293 @@ +------------------------------------------------------------------- +Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com + +- Fix error return in rootsymlink_generator.c + Update 1096-new-udev-root-symlink-generator.patch + +------------------------------------------------------------------- +Fri Nov 21 13:35:40 UTC 2014 - werner@suse.de + +- Remove upstream patch + 0001-systemd-logind.service-set-Type-notify.patch + as systemd-logind.service is already from DBus type, compare with + upstream commit eab459bc0639b81b32735f36d3e929e4bfa2cb4b + +------------------------------------------------------------------- +Thu Nov 20 13:45:28 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemd-logind.service-set-Type-notify.patch + 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch + 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch + +------------------------------------------------------------------- +Thu Nov 20 12:18:57 UTC 2014 - werner@suse.de + +- Re-add directory /usr/lib/systemd/system/basic.target.wants + +------------------------------------------------------------------- +Wed Nov 19 15:07:43 UTC 2014 - gber@opensuse.org + +- remove pm-utils-hooks-compat.sh again, pm-utils built-in hooks + partially duplicate hooks run by systemd which may potentially + lead to problems, instead temporarily re-enable + Forward-suspend-hibernate-calls-to-pm-utils.patch until + boo#904828 can be addressed properly + +------------------------------------------------------------------- +Wed Nov 19 00:58:00 UTC 2014 - Led + +- fix bashisms in write_net_rules script +- update patches: + * 1053-better-checks-in-write_net_rules.patch + +------------------------------------------------------------------- +Tue Nov 18 10:26:08 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemctl-let-list-units-unit-files-honour-type.patch + 0002-systemctl-obey-state-in-list-unit-files.patch + which allows to use --type in the systemctl command list-units + and list-unit-files. + +------------------------------------------------------------------- +Tue Nov 18 10:10:28 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch + 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch + +------------------------------------------------------------------- +Thu Nov 13 14:47:17 UTC 2014 - rmilasan@suse.com + +- New root symlink rule generator + Add 1096-new-udev-root-symlink-generator.patch +- Remove write_dev_root_rule and systemd-udev-root-symlink + +------------------------------------------------------------------- +Thu Nov 13 12:59:05 UTC 2014 - werner@suse.de + +- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to skip hdflush as well as hddown but only use halt as fallback + for poweroff as well as synch in systemctl before any reboot command + (compare with commit 4a3ad39957399c4a30fc472a804e72907ecaa4f9) + +------------------------------------------------------------------- +Thu Nov 13 09:54:35 UTC 2014 - rmilasan@suse.com + +- Create rule to set I/O scheduler to deadline if device attribute + 'rotational' equals 0, usually SSDs (bnc#904517). + Add 1095-set-ssd-disk-to-use-deadline-scheduler.patch + +------------------------------------------------------------------- +Thu Nov 13 07:50:49 UTC 2014 - thomas.blume@suse.com + +- fix systemd-fstab-generator crypttab parsing (bnc#903963) + +------------------------------------------------------------------- +Tue Nov 11 19:10:35 UTC 2014 - gber@opensuse.org + +- Add pm-utils-hooks-compat.sh in order to run pm-utils sleep hooks + from systemd (boo#904828) + +------------------------------------------------------------------- +Mon Nov 10 14:23:00 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch + 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch + 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch + +------------------------------------------------------------------- +Mon Nov 10 12:39:35 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-core-don-t-allow-enabling-if-unit-is-masked.patch + 0002-snapshot-return-error-when-snapshot-exists.patch + 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch + 0004-Raise-level-of-Found-dependency.-lines.patch + 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch + 0006-journald-fix-minor-memory-leak.patch + 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch + 0008-journald-fix-memory-leak-on-error-path.patch + 0009-units-make-systemd-journald.service-Type-notify.patch + 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Mon Nov 10 12:36:34 UTC 2014 - werner@suse.de + +- Add upstream patches + 1092-libudev-do-not-accept-invalid-log-levels.patch + 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch + 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch + +------------------------------------------------------------------- +Fri Nov 7 09:45:20 UTC 2014 - werner@suse.de + +- Add patch watch_resolv.conf_for_become_changed.patch to add an + inotify watch on /etc/resolv.conf which enables the reload of + a changed resolver configuration on the fly (bsc#902901) +- Do not apply patch 0022-systemd-tmpfiles-ownerkeep.patch in case + if the script /usr/bin/systemd-tmpfiles-keep is missed + +------------------------------------------------------------------- +Mon Nov 3 14:23:02 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch + 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch + +------------------------------------------------------------------- +Mon Nov 3 14:17:48 UTC 2014 - werner@suse.de + +- Add upstream patches + 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + 1091-udev-path_id-update-comments.patch + which will be applied if patch + 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + is applied a this may fix the trouble with iSCSI (bnc#898233) + +------------------------------------------------------------------- +Thu Oct 30 10:45:01 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch + 0002-time-also-support-infinity-syntax-in-parse_nsec.patch + 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch + 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch + 0005-journalctl-correct-help-text-for-until.patch + 0006-calendarspec-fix-typo-in-annually.patch + 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch + 0008-util-introduce-sethostname_idempotent.patch + 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch + 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch + 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +- Replace patch + keep-crypt-password-prompt.patch as this with + upstream patch + 0012-manager-do-not-print-anything-while-passwords-are-be.patch + +------------------------------------------------------------------- +Fri Oct 24 13:02:45 UTC 2014 - werner@suse.de + +- Add upstream patch + 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +- Add patch journald-advice-about-use-of-memory.patch to use mmap() + flags as well as madvise(2) for journal files. + +------------------------------------------------------------------- +Thu Oct 23 14:05:08 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-strv-add-an-additional-overflow-check-when-enlarging.patch + 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch + 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch + 0004-journal-do-server_vacuum-for-sigusr1.patch + 0005-cryptsetup-fix-an-OOM-check.patch + +------------------------------------------------------------------- +Wed Oct 22 13:56:22 UTC 2014 - werner@suse.de + +- Add upstream patch 1089-fix-cgroup-device-controller.patch + to avoid trouble on existing /dev/console with nspawn (bsc#902240) + +------------------------------------------------------------------- +Tue Oct 21 11:03:31 UTC 2014 - werner@suse.de + +- Modify patch avoid-leaking-socket-descriptors.patch to close + file descriptors for incomming connections in pam module in case + of short memory. + +------------------------------------------------------------------- +Mon Oct 20 14:10:47 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemd-continue-switch-root-even-if-umount-fails.patch + 0002-systemd-try-harder-to-bind-to-notify-socket.patch +- Add patch avoid-leaking-socket-descriptors.patch to close + file descriptors if an incomming connection can not be handled + due e.g. short memory. Could be related to bsc #901481 + +------------------------------------------------------------------- +Wed Oct 15 12:03:36 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-shell-completion-fix-completion-of-inactive-units.patch + 0002-shell-completion-propose-templates-for-disable-re-en.patch + 0003-man-we-don-t-have-Wanted-dependency.patch + 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch + +------------------------------------------------------------------- +Wed Oct 15 08:48:36 UTC 2014 - werner@suse.de + +- Adapt patch + rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch + to make it work even with patch #438 and #439 + +------------------------------------------------------------------- +Tue Oct 14 16:23:51 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch + 0001-tmpfiles-compare-return-against-correct-errno.patch + +------------------------------------------------------------------- +Tue Oct 14 16:19:42 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch + 0001-units-introduce-network-pre.target-as-place-to-hook-.patch + 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch + 0003-sd-bus-check-return-value-of-vasprintf.patch + 0004-core-map-the-rescue-argument-to-rescue.target.patch + 0005-util-avoid-double-close-of-fd.patch + +------------------------------------------------------------------- +Tue Oct 14 16:18:36 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch + 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch + 0003-fileio-label-return-error-when-writing-fails.patch + 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch + 0004-sd-event-check-the-value-of-received-signal.patch + 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch + +------------------------------------------------------------------- +Tue Oct 14 14:46:58 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch + 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Tue Oct 14 14:16:52 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-journalctl-do-not-output-reboot-markers-when-running.patch + 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch + +------------------------------------------------------------------- +Tue Oct 14 13:58:45 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-logind-add-support-for-Triton2-Power-Button.patch + 0002-logind-add-support-for-TPS65217-Power-Button.patch +- Add upstream patches + 0001-shutdownd-clean-up-initialization-of-struct.patch + 0003-bootchart-parse-userinput-with-safe_atoi.patch + 0004-bootchart-check-return-of-strftime.patch + 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch + +------------------------------------------------------------------- +Thu Oct 2 07:21:42 PDT 2014 - lduncan@suse.com + +- Revert patch 1063, which incorrectly disallows + /dev/disk/by-path links for iSCSI (and other) + devices. Will be corrected and re-added once + upstream is consulted. (bnc#898233). Disable: + 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patc + ------------------------------------------------------------------- Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 3bc014d9..43deb2f4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,6 +26,7 @@ %bcond_without compat_libs %bcond_with networkd %bcond_with python +%bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 %define has_efi 1 %else @@ -41,6 +42,7 @@ %bcond_with udevsettle %endif %bcond_with systemgrps +%{expand: %%global has_tmpkeep %(type -p systemd-tmpfiles-keep &>/dev/null && echo 1 || echo 0)} Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -188,8 +190,6 @@ Source10: macros.systemd.upstream Source11: after-local.service Source1060: boot.udev -Source1061: write_dev_root_rule -Source1062: systemd-udev-root-symlink Source1063: udev-generate-persistent-rule.sh Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs @@ -246,7 +246,7 @@ Patch42: systemd-pam_config.patch Patch23: disable-nss-myhostname-warning-bnc-783841.patch # PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) Patch24: handle-etc-HOSTNAME.patch -# PATCH-FIX-OPENSUSE forward to pm-utils -- for code base <= 1310 +# PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -438,8 +438,6 @@ Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch Patch203: respect-nfs-bg-option.patch # PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch -# PATCH-FIX-SUSE Do not override the passphrase prompts due messages of busy jobs -Patch205: keep-crypt-password-prompt.patch # PATCH-FIX-UPSTREAM Fix uninitialized memory Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch # PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) @@ -902,6 +900,150 @@ Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch Patch436: 0002-bus-remove-unused-check.patch # PATCH-FIX-UPSTREAM added at 2014/09/26 Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch442: 0004-bootchart-check-return-of-strftime.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch450: 0003-fileio-label-return-error-when-writing-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch452: 0004-sd-event-check-the-value-of-received-signal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch459: 0005-util-avoid-double-close-of-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/10/13 +Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/14 +Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch +# PATCH-FIX-SUSE added at 2014/10/15 +Patch468: avoid-leaking-socket-descriptors.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch473: 0005-cryptsetup-fix-an-OOM-check.patch +# PATCH-FIX-UPSTREAM added at 2014/10/24 +Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +# PATCH-FIX-SUSE added at 2014/10/24 +Patch475: journald-advice-about-use-of-memory.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch480: 0005-journalctl-correct-help-text-for-until.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch481: 0006-calendarspec-fix-typo-in-annually.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch483: 0008-util-introduce-sethostname_idempotent.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch +# PATCH-FIX-SUSE added at 2014/11/05 +Patch490: watch_resolv.conf_for_become_changed.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch496: 0006-journald-fix-minor-memory-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch498: 0008-journald-fix-memory-leak-on-error-path.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch # UDEV PATCHES # ============ @@ -1081,10 +1223,26 @@ Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch Patch1085: 1085-udev-fix-typos.patch # PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch -# PATCH-FIX-SSUE 1087-infinit-timeout-for-kmod-loaded-modules.patch +# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch -# PATCH-FIX-SSUE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) +# PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch +# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch +Patch1089: 1089-fix-cgroup-device-controller.patch +# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch +Patch1091: 1091-udev-path_id-update-comments.patch +# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch +Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch +# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) +Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch +# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch +Patch1096: 1096-new-udev-root-symlink-generator.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1340,17 +1498,12 @@ cp %{SOURCE7} m4/ %patch22 -p1 %patch23 -p1 %patch24 -p1 -%if 0%{?suse_version} <= 1310 %patch25 -p1 -%endif # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 %patch28 -p1 %patch37 -p1 -%ifarch %arm -%patch38 -p1 -%endif %patch39 -p1 %patch40 -p1 %patch41 -p1 @@ -1430,7 +1583,9 @@ cp %{SOURCE7} m4/ %patch181 -p1 %patch182 -p1 %patch183 -p1 +%if 0%{?has_tmpkeep} %patch184 -p1 +%endif %patch185 -p1 %patch186 -p1 %patch187 -p1 @@ -1451,7 +1606,6 @@ cp %{SOURCE7} m4/ %patch202 -p0 %patch203 -p1 %patch204 -p1 -%patch205 -p1 %patch206 -p0 %patch207 -p0 %patch208 -p1 @@ -1683,6 +1837,81 @@ cp %{SOURCE7} m4/ %patch435 -p0 %patch436 -p0 %patch437 -p0 +%patch438 -p0 +%patch439 -p0 +%ifarch %arm +%patch38 -p1 +%endif +%patch440 -p0 +%patch441 -p0 +%patch442 -p0 +%patch443 -p0 +%patch444 -p0 +%patch445 -p0 +%patch446 -p0 +%patch447 -p0 +%patch448 -p0 +%patch449 -p0 +%patch450 -p0 +%patch451 -p0 +%patch452 -p0 +%patch453 -p0 +%patch454 -p0 +%patch455 -p0 +%patch456 -p0 +%patch457 -p0 +%patch458 -p0 +%patch459 -p0 +%patch460 -p0 +%patch461 -p0 +%patch462 -p0 +%patch463 -p0 +%patch464 -p0 +%patch465 -p0 +%patch466 -p0 +%patch467 -p0 +%patch468 -p0 +%patch469 -p0 +%patch470 -p0 +%patch471 -p0 +%patch472 -p0 +%patch473 -p0 +%patch474 -p0 +%patch475 -p0 +%patch476 -p0 +%patch477 -p0 +%patch478 -p0 +%patch479 -p0 +%patch480 -p0 +%patch481 -p0 +%patch482 -p0 +%patch483 -p0 +%patch484 -p0 +%patch485 -p0 +%patch486 -p0 +%patch487 -p0 +%patch488 -p0 +%patch489 -p0 +%patch490 -p0 +%patch491 -p0 +%patch492 -p0 +%patch493 -p0 +%patch494 -p0 +%patch495 -p0 +%patch496 -p0 +%patch497 -p0 +%patch498 -p0 +%patch499 -p0 +%patch500 -p0 +%patch501 -p0 +%patch502 -p0 +%patch503 -p0 +%patch504 -p0 +%patch505 -p0 +%patch506 -p0 +%patch507 -p0 +%patch509 -p0 +%patch510 -p0 # udev patches %patch1001 -p1 @@ -1768,7 +1997,9 @@ cp %{SOURCE7} m4/ %patch1060 -p1 %patch1061 -p0 %patch1062 -p1 +%if %{with parentpathid} %patch1063 -p0 +%endif %patch1064 -p0 %patch1065 -p0 %patch1066 -p1 @@ -1802,6 +2033,16 @@ cp %{SOURCE7} m4/ %patch1086 -p0 %patch1087 -p0 %patch1088 -p1 +%patch1089 -p1 +%if %{with parentpathid} +%patch1090 -p0 +%patch1091 -p0 +%endif +%patch1092 -p0 +%patch1093 -p0 +%patch1094 -p0 +%patch1095 -p1 +%patch1096 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -1919,7 +2160,7 @@ cflags -Wl,--hash-size=8599 LDFLAGS %if 0%{?suse_version} <= 1310 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ %endif -%if ! 0%{has_efi} +%if ! 0%{?has_efi} --disable-efi \ %endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ @@ -1981,15 +2222,10 @@ sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service -sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} -install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} -install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants -ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} @@ -2457,7 +2693,7 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service %if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif @@ -2691,12 +2927,12 @@ exit 0 %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%{_prefix}/lib/udev/write_dev_root_rule %{_prefix}/lib/udev/udev-generate-persistent-rule %{_prefix}/lib/udev/net-set-sriov-names %{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rule_generator.functions %{_prefix}/lib/udev/write_net_rules +%{_prefix}/lib/udev/rootsymlink-generator %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -2716,8 +2952,6 @@ exit 0 %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_prefix}/lib/systemd/system/*udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket %dir %{_prefix}/lib/systemd/system/sysinit.target.wants diff --git a/systemd-udev-root-symlink b/systemd-udev-root-symlink deleted file mode 100644 index 8cbe87e9..00000000 --- a/systemd-udev-root-symlink +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Create dynamic rule for /dev/root link -Before=udev.service -DefaultDependencies=no - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=@@PREFIX@@/write_dev_root_rule diff --git a/systemd.changes b/systemd.changes index dcfc946e..f50611e0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,293 @@ +------------------------------------------------------------------- +Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com + +- Fix error return in rootsymlink_generator.c + Update 1096-new-udev-root-symlink-generator.patch + +------------------------------------------------------------------- +Fri Nov 21 13:35:40 UTC 2014 - werner@suse.de + +- Remove upstream patch + 0001-systemd-logind.service-set-Type-notify.patch + as systemd-logind.service is already from DBus type, compare with + upstream commit eab459bc0639b81b32735f36d3e929e4bfa2cb4b + +------------------------------------------------------------------- +Thu Nov 20 13:45:28 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemd-logind.service-set-Type-notify.patch + 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch + 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch + +------------------------------------------------------------------- +Thu Nov 20 12:18:57 UTC 2014 - werner@suse.de + +- Re-add directory /usr/lib/systemd/system/basic.target.wants + +------------------------------------------------------------------- +Wed Nov 19 15:07:43 UTC 2014 - gber@opensuse.org + +- remove pm-utils-hooks-compat.sh again, pm-utils built-in hooks + partially duplicate hooks run by systemd which may potentially + lead to problems, instead temporarily re-enable + Forward-suspend-hibernate-calls-to-pm-utils.patch until + boo#904828 can be addressed properly + +------------------------------------------------------------------- +Wed Nov 19 00:58:00 UTC 2014 - Led + +- fix bashisms in write_net_rules script +- update patches: + * 1053-better-checks-in-write_net_rules.patch + +------------------------------------------------------------------- +Tue Nov 18 10:26:08 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemctl-let-list-units-unit-files-honour-type.patch + 0002-systemctl-obey-state-in-list-unit-files.patch + which allows to use --type in the systemctl command list-units + and list-unit-files. + +------------------------------------------------------------------- +Tue Nov 18 10:10:28 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch + 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch + +------------------------------------------------------------------- +Thu Nov 13 14:47:17 UTC 2014 - rmilasan@suse.com + +- New root symlink rule generator + Add 1096-new-udev-root-symlink-generator.patch +- Remove write_dev_root_rule and systemd-udev-root-symlink + +------------------------------------------------------------------- +Thu Nov 13 12:59:05 UTC 2014 - werner@suse.de + +- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + to skip hdflush as well as hddown but only use halt as fallback + for poweroff as well as synch in systemctl before any reboot command + (compare with commit 4a3ad39957399c4a30fc472a804e72907ecaa4f9) + +------------------------------------------------------------------- +Thu Nov 13 09:54:35 UTC 2014 - rmilasan@suse.com + +- Create rule to set I/O scheduler to deadline if device attribute + 'rotational' equals 0, usually SSDs (bnc#904517). + Add 1095-set-ssd-disk-to-use-deadline-scheduler.patch + +------------------------------------------------------------------- +Thu Nov 13 07:50:49 UTC 2014 - thomas.blume@suse.com + +- fix systemd-fstab-generator crypttab parsing (bnc#903963) + +------------------------------------------------------------------- +Tue Nov 11 19:10:35 UTC 2014 - gber@opensuse.org + +- Add pm-utils-hooks-compat.sh in order to run pm-utils sleep hooks + from systemd (boo#904828) + +------------------------------------------------------------------- +Mon Nov 10 14:23:00 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch + 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch + 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch + +------------------------------------------------------------------- +Mon Nov 10 12:39:35 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-core-don-t-allow-enabling-if-unit-is-masked.patch + 0002-snapshot-return-error-when-snapshot-exists.patch + 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch + 0004-Raise-level-of-Found-dependency.-lines.patch + 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch + 0006-journald-fix-minor-memory-leak.patch + 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch + 0008-journald-fix-memory-leak-on-error-path.patch + 0009-units-make-systemd-journald.service-Type-notify.patch + 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Mon Nov 10 12:36:34 UTC 2014 - werner@suse.de + +- Add upstream patches + 1092-libudev-do-not-accept-invalid-log-levels.patch + 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch + 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch + +------------------------------------------------------------------- +Fri Nov 7 09:45:20 UTC 2014 - werner@suse.de + +- Add patch watch_resolv.conf_for_become_changed.patch to add an + inotify watch on /etc/resolv.conf which enables the reload of + a changed resolver configuration on the fly (bsc#902901) +- Do not apply patch 0022-systemd-tmpfiles-ownerkeep.patch in case + if the script /usr/bin/systemd-tmpfiles-keep is missed + +------------------------------------------------------------------- +Mon Nov 3 14:23:02 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch + 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch + +------------------------------------------------------------------- +Mon Nov 3 14:17:48 UTC 2014 - werner@suse.de + +- Add upstream patches + 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + 1091-udev-path_id-update-comments.patch + which will be applied if patch + 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + is applied a this may fix the trouble with iSCSI (bnc#898233) + +------------------------------------------------------------------- +Thu Oct 30 10:45:01 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch + 0002-time-also-support-infinity-syntax-in-parse_nsec.patch + 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch + 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch + 0005-journalctl-correct-help-text-for-until.patch + 0006-calendarspec-fix-typo-in-annually.patch + 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch + 0008-util-introduce-sethostname_idempotent.patch + 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch + 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch + 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +- Replace patch + keep-crypt-password-prompt.patch as this with + upstream patch + 0012-manager-do-not-print-anything-while-passwords-are-be.patch + +------------------------------------------------------------------- +Fri Oct 24 13:02:45 UTC 2014 - werner@suse.de + +- Add upstream patch + 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +- Add patch journald-advice-about-use-of-memory.patch to use mmap() + flags as well as madvise(2) for journal files. + +------------------------------------------------------------------- +Thu Oct 23 14:05:08 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-strv-add-an-additional-overflow-check-when-enlarging.patch + 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch + 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch + 0004-journal-do-server_vacuum-for-sigusr1.patch + 0005-cryptsetup-fix-an-OOM-check.patch + +------------------------------------------------------------------- +Wed Oct 22 13:56:22 UTC 2014 - werner@suse.de + +- Add upstream patch 1089-fix-cgroup-device-controller.patch + to avoid trouble on existing /dev/console with nspawn (bsc#902240) + +------------------------------------------------------------------- +Tue Oct 21 11:03:31 UTC 2014 - werner@suse.de + +- Modify patch avoid-leaking-socket-descriptors.patch to close + file descriptors for incomming connections in pam module in case + of short memory. + +------------------------------------------------------------------- +Mon Oct 20 14:10:47 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemd-continue-switch-root-even-if-umount-fails.patch + 0002-systemd-try-harder-to-bind-to-notify-socket.patch +- Add patch avoid-leaking-socket-descriptors.patch to close + file descriptors if an incomming connection can not be handled + due e.g. short memory. Could be related to bsc #901481 + +------------------------------------------------------------------- +Wed Oct 15 12:03:36 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-shell-completion-fix-completion-of-inactive-units.patch + 0002-shell-completion-propose-templates-for-disable-re-en.patch + 0003-man-we-don-t-have-Wanted-dependency.patch + 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch + +------------------------------------------------------------------- +Wed Oct 15 08:48:36 UTC 2014 - werner@suse.de + +- Adapt patch + rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch + to make it work even with patch #438 and #439 + +------------------------------------------------------------------- +Tue Oct 14 16:23:51 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch + 0001-tmpfiles-compare-return-against-correct-errno.patch + +------------------------------------------------------------------- +Tue Oct 14 16:19:42 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch + 0001-units-introduce-network-pre.target-as-place-to-hook-.patch + 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch + 0003-sd-bus-check-return-value-of-vasprintf.patch + 0004-core-map-the-rescue-argument-to-rescue.target.patch + 0005-util-avoid-double-close-of-fd.patch + +------------------------------------------------------------------- +Tue Oct 14 16:18:36 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch + 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch + 0003-fileio-label-return-error-when-writing-fails.patch + 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch + 0004-sd-event-check-the-value-of-received-signal.patch + 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch + +------------------------------------------------------------------- +Tue Oct 14 14:46:58 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch + 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch + +------------------------------------------------------------------- +Tue Oct 14 14:16:52 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-journalctl-do-not-output-reboot-markers-when-running.patch + 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch + +------------------------------------------------------------------- +Tue Oct 14 13:58:45 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-logind-add-support-for-Triton2-Power-Button.patch + 0002-logind-add-support-for-TPS65217-Power-Button.patch +- Add upstream patches + 0001-shutdownd-clean-up-initialization-of-struct.patch + 0003-bootchart-parse-userinput-with-safe_atoi.patch + 0004-bootchart-check-return-of-strftime.patch + 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch + +------------------------------------------------------------------- +Thu Oct 2 07:21:42 PDT 2014 - lduncan@suse.com + +- Revert patch 1063, which incorrectly disallows + /dev/disk/by-path links for iSCSI (and other) + devices. Will be corrected and re-added once + upstream is consulted. (bnc#898233). Disable: + 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patc + ------------------------------------------------------------------- Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 79e9153c..a8ae7b75 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,6 +24,7 @@ %bcond_without compat_libs %bcond_with networkd %bcond_with python +%bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 %define has_efi 1 %else @@ -39,6 +40,7 @@ %bcond_with udevsettle %endif %bcond_with systemgrps +%{expand: %%global has_tmpkeep %(type -p systemd-tmpfiles-keep &>/dev/null && echo 1 || echo 0)} Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -183,8 +185,6 @@ Source10: macros.systemd.upstream Source11: after-local.service Source1060: boot.udev -Source1061: write_dev_root_rule -Source1062: systemd-udev-root-symlink Source1063: udev-generate-persistent-rule.sh Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs @@ -241,7 +241,7 @@ Patch42: systemd-pam_config.patch Patch23: disable-nss-myhostname-warning-bnc-783841.patch # PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) Patch24: handle-etc-HOSTNAME.patch -# PATCH-FIX-OPENSUSE forward to pm-utils -- for code base <= 1310 +# PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -433,8 +433,6 @@ Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch Patch203: respect-nfs-bg-option.patch # PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch -# PATCH-FIX-SUSE Do not override the passphrase prompts due messages of busy jobs -Patch205: keep-crypt-password-prompt.patch # PATCH-FIX-UPSTREAM Fix uninitialized memory Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch # PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) @@ -897,6 +895,150 @@ Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch Patch436: 0002-bus-remove-unused-check.patch # PATCH-FIX-UPSTREAM added at 2014/09/26 Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch442: 0004-bootchart-check-return-of-strftime.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch450: 0003-fileio-label-return-error-when-writing-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch452: 0004-sd-event-check-the-value-of-received-signal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch459: 0005-util-avoid-double-close-of-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/10/13 +Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/14 +Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch +# PATCH-FIX-SUSE added at 2014/10/15 +Patch468: avoid-leaking-socket-descriptors.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch473: 0005-cryptsetup-fix-an-OOM-check.patch +# PATCH-FIX-UPSTREAM added at 2014/10/24 +Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +# PATCH-FIX-SUSE added at 2014/10/24 +Patch475: journald-advice-about-use-of-memory.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch480: 0005-journalctl-correct-help-text-for-until.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch481: 0006-calendarspec-fix-typo-in-annually.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch483: 0008-util-introduce-sethostname_idempotent.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch +# PATCH-FIX-SUSE added at 2014/11/05 +Patch490: watch_resolv.conf_for_become_changed.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch496: 0006-journald-fix-minor-memory-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch498: 0008-journald-fix-memory-leak-on-error-path.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch # UDEV PATCHES # ============ @@ -1076,10 +1218,26 @@ Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch Patch1085: 1085-udev-fix-typos.patch # PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch -# PATCH-FIX-SSUE 1087-infinit-timeout-for-kmod-loaded-modules.patch +# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch -# PATCH-FIX-SSUE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) +# PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch +# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch +Patch1089: 1089-fix-cgroup-device-controller.patch +# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch +Patch1091: 1091-udev-path_id-update-comments.patch +# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch +Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch +# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) +Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch +# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch +Patch1096: 1096-new-udev-root-symlink-generator.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1335,17 +1493,12 @@ cp %{SOURCE7} m4/ %patch22 -p1 %patch23 -p1 %patch24 -p1 -%if 0%{?suse_version} <= 1310 %patch25 -p1 -%endif # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 %patch28 -p1 %patch37 -p1 -%ifarch %arm -%patch38 -p1 -%endif %patch39 -p1 %patch40 -p1 %patch41 -p1 @@ -1425,7 +1578,9 @@ cp %{SOURCE7} m4/ %patch181 -p1 %patch182 -p1 %patch183 -p1 +%if 0%{?has_tmpkeep} %patch184 -p1 +%endif %patch185 -p1 %patch186 -p1 %patch187 -p1 @@ -1446,7 +1601,6 @@ cp %{SOURCE7} m4/ %patch202 -p0 %patch203 -p1 %patch204 -p1 -%patch205 -p1 %patch206 -p0 %patch207 -p0 %patch208 -p1 @@ -1678,6 +1832,81 @@ cp %{SOURCE7} m4/ %patch435 -p0 %patch436 -p0 %patch437 -p0 +%patch438 -p0 +%patch439 -p0 +%ifarch %arm +%patch38 -p1 +%endif +%patch440 -p0 +%patch441 -p0 +%patch442 -p0 +%patch443 -p0 +%patch444 -p0 +%patch445 -p0 +%patch446 -p0 +%patch447 -p0 +%patch448 -p0 +%patch449 -p0 +%patch450 -p0 +%patch451 -p0 +%patch452 -p0 +%patch453 -p0 +%patch454 -p0 +%patch455 -p0 +%patch456 -p0 +%patch457 -p0 +%patch458 -p0 +%patch459 -p0 +%patch460 -p0 +%patch461 -p0 +%patch462 -p0 +%patch463 -p0 +%patch464 -p0 +%patch465 -p0 +%patch466 -p0 +%patch467 -p0 +%patch468 -p0 +%patch469 -p0 +%patch470 -p0 +%patch471 -p0 +%patch472 -p0 +%patch473 -p0 +%patch474 -p0 +%patch475 -p0 +%patch476 -p0 +%patch477 -p0 +%patch478 -p0 +%patch479 -p0 +%patch480 -p0 +%patch481 -p0 +%patch482 -p0 +%patch483 -p0 +%patch484 -p0 +%patch485 -p0 +%patch486 -p0 +%patch487 -p0 +%patch488 -p0 +%patch489 -p0 +%patch490 -p0 +%patch491 -p0 +%patch492 -p0 +%patch493 -p0 +%patch494 -p0 +%patch495 -p0 +%patch496 -p0 +%patch497 -p0 +%patch498 -p0 +%patch499 -p0 +%patch500 -p0 +%patch501 -p0 +%patch502 -p0 +%patch503 -p0 +%patch504 -p0 +%patch505 -p0 +%patch506 -p0 +%patch507 -p0 +%patch509 -p0 +%patch510 -p0 # udev patches %patch1001 -p1 @@ -1763,7 +1992,9 @@ cp %{SOURCE7} m4/ %patch1060 -p1 %patch1061 -p0 %patch1062 -p1 +%if %{with parentpathid} %patch1063 -p0 +%endif %patch1064 -p0 %patch1065 -p0 %patch1066 -p1 @@ -1797,6 +2028,16 @@ cp %{SOURCE7} m4/ %patch1086 -p0 %patch1087 -p0 %patch1088 -p1 +%patch1089 -p1 +%if %{with parentpathid} +%patch1090 -p0 +%patch1091 -p0 +%endif +%patch1092 -p0 +%patch1093 -p0 +%patch1094 -p0 +%patch1095 -p1 +%patch1096 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -1914,7 +2155,7 @@ cflags -Wl,--hash-size=8599 LDFLAGS %if 0%{?suse_version} <= 1310 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ %endif -%if ! 0%{has_efi} +%if ! 0%{?has_efi} --disable-efi \ %endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ @@ -1976,15 +2217,10 @@ sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service -sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} -install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} -install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants -ln -sf ../systemd-udev-root-symlink.service %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} @@ -2452,7 +2688,7 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service %if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif @@ -2686,12 +2922,12 @@ exit 0 %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%{_prefix}/lib/udev/write_dev_root_rule %{_prefix}/lib/udev/udev-generate-persistent-rule %{_prefix}/lib/udev/net-set-sriov-names %{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rule_generator.functions %{_prefix}/lib/udev/write_net_rules +%{_prefix}/lib/udev/rootsymlink-generator %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -2711,8 +2947,6 @@ exit 0 %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_prefix}/lib/systemd/system/*udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket %dir %{_prefix}/lib/systemd/system/sysinit.target.wants diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch new file mode 100644 index 00000000..41a2b6dc --- /dev/null +++ b/watch_resolv.conf_for_become_changed.patch @@ -0,0 +1,159 @@ +--- + src/core/manager.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/manager.h | 5 ++ + 2 files changed, 108 insertions(+) + +--- src/core/manager.c ++++ src/core/manager.c 2014-11-07 11:12:58.334193988 +0000 +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_AUDIT + #include +@@ -304,6 +305,101 @@ static int manager_check_ask_password(Ma + return m->have_ask_password; + } + ++static int manager_setup_resolv_conf_change(Manager *); ++ ++static int manager_dispatch_resolv_conf_fd(sd_event_source *source, ++ int fd, uint32_t revents, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(m); ++ assert(m->resolv_conf_inotify_fd == fd); ++ ++ if (revents != EPOLLIN) { ++ log_warning("Got unexpected poll event for notify fd."); ++ return 0; ++ } ++ ++ if (fd >= 0) ++ flush_fd(fd); ++ ++ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); ++ ++ if (m->resolv_conf_inotify_fd >= 0) ++ close_nointr_nofail(m->resolv_conf_inotify_fd); ++ m->resolv_conf_inotify_fd = -1; ++ ++ manager_setup_resolv_conf_change(m); ++ ++ return m->resolv_conf_noent ? 0 : res_init(); ++} ++ ++static int manager_setup_resolv_conf_change(Manager *m) { ++ int r; ++ ++ assert(m); ++ assert(m->resolv_conf_inotify_fd < 0); ++ ++ m->resolv_conf_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); ++ if (m->resolv_conf_inotify_fd < 0) { ++ log_error("inotify_init1() failed: %m"); ++ r = -errno; ++ goto fail; ++ } ++ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/resolv.conf", ++ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0) { ++ if (errno == ENOENT) { ++ m->resolv_conf_noent = true; ++ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc", IN_CREATE|IN_MOVED_TO) < 0) { ++ log_error("Failed to add watch on /etc: %m"); ++ r = -errno; ++ goto fail; ++ } ++ } else { ++ log_error("Failed to add watch on /etc/resolv.conf: %m"); ++ r = -errno; ++ goto fail; ++ } ++ } ++ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/host.conf", ++ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0 && errno != ENOENT) { ++ log_error("Failed to add watch on /etc/host.conf: %m"); ++ r = -errno; ++ goto fail; ++ } ++ ++ r = sd_event_add_io(m->event, &m->resolv_conf_event_source, ++ m->resolv_conf_inotify_fd, EPOLLIN, ++ manager_dispatch_resolv_conf_fd, m); ++ if (r < 0) { ++ log_error("Failed to add event source for resolver: %s", strerror(-r)); ++ goto fail; ++ } ++ ++ r = sd_event_source_set_priority(m->resolv_conf_event_source, -10); ++ if (r < 0) { ++ log_error("Failed to add event source for resolver: %s", strerror(-r)); ++ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); ++ goto fail; ++ } ++ ++ return 0; ++fail: ++ if (m->resolv_conf_inotify_fd >= 0) ++ close_nointr_nofail(m->resolv_conf_inotify_fd); ++ m->resolv_conf_inotify_fd = -1; ++ ++ return 0; /* Ignore error here */ ++} ++ ++static void manager_shutdown_resolv_conf_change(Manager *m) { ++ assert(m); ++ ++ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); ++ if (m->resolv_conf_inotify_fd >= 0) ++ close_nointr_nofail(m->resolv_conf_inotify_fd); ++ m->resolv_conf_inotify_fd = -1; ++} ++ + static int manager_watch_idle_pipe(Manager *m) { + int r; + +@@ -562,6 +658,7 @@ int manager_new(SystemdRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; + m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + ++ m->resolv_conf_inotify_fd = -1; + m->ask_password_inotify_fd = -1; + m->have_ask_password = -EINVAL; /* we don't know */ + +@@ -613,6 +710,10 @@ int manager_new(SystemdRunningAs running + if (r < 0) + goto fail; + ++ r = manager_setup_resolv_conf_change(m); ++ if (r < 0) ++ goto fail; ++ + m->udev = udev_new(); + if (!m->udev) { + r = -ENOMEM; +@@ -906,6 +1007,8 @@ void manager_free(Manager *m) { + + assert(m); + ++ manager_shutdown_resolv_conf_change(m); ++ + manager_clear_jobs_and_units(m); + + for (c = 0; c < _UNIT_TYPE_MAX; c++) +--- src/core/manager.h ++++ src/core/manager.h 2014-11-07 11:06:41.466019636 +0000 +@@ -157,6 +157,11 @@ struct Manager { + FILE *proc_self_mountinfo; + sd_event_source *mount_event_source; + ++ /* Watch out any change of /etc/resolv.conf */ ++ int resolv_conf_inotify_fd; ++ sd_event_source *resolv_conf_event_source; ++ bool resolv_conf_noent; ++ + /* Data specific to the swap filesystem */ + FILE *proc_swaps; + sd_event_source *swap_event_source; diff --git a/write_dev_root_rule b/write_dev_root_rule deleted file mode 100644 index dcb7d5b4..00000000 --- a/write_dev_root_rule +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -eval $(@@PREFIX@@/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/) - -[ "$ROOT_MAJOR" -gt 0 ] || exit 0 -mkdir -m 0755 -p /run/udev/rules.d >/dev/null 2>&1 -ln -sf /run/udev /dev/.udev 2>/dev/null || : - -echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", \ -ENV{MAJOR}==\"$ROOT_MAJOR\", ENV{MINOR}==\"$ROOT_MINOR\", \ -SYMLINK+=\"root\"" > /run/udev/rules.d/10-root-symlink.rules - -exit 0 From 3ea9d2ce46299aeb93e7a55a2ff8ea92e15134ea4148921afb76ba380cabb73d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 3 Dec 2014 21:49:55 +0000 Subject: [PATCH 204/991] Accepting request 263344 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/263344 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=210 --- ...-increase-maximum-number-of-children.patch | 22 +++++++++++++++++++ systemd-mini.changes | 14 ++++++++++++ systemd-mini.spec | 3 +++ systemd.changes | 14 ++++++++++++ systemd.spec | 3 +++ 5 files changed, 56 insertions(+) create mode 100644 1097-udevd-increase-maximum-number-of-children.patch diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch new file mode 100644 index 00000000..50bbc56f --- /dev/null +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -0,0 +1,22 @@ +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -454,7 +454,7 @@ static void event_run(struct event *even + + if (children >= children_max) { + if (children_max > 1) +- log_debug("maximum number (%i) of children reached", children); ++ log_error("maximum number (%i) of children reached", children); + return; + } + +@@ -1277,7 +1277,7 @@ int main(int argc, char *argv[]) { + children_max = 8; + + if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { +- children_max += CPU_COUNT(&cpu_set) * 2; ++ children_max += CPU_COUNT(&cpu_set) * 64; + } + } + log_debug("set children_max to %u", children_max); diff --git a/systemd-mini.changes b/systemd-mini.changes index f50611e0..872f66b3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com + +- Change the maximum number of children from CPU_COUNT * 256 to + CPU_COUNT * 64. + Update 1097-udevd-increase-maximum-number-of-children.patch + +------------------------------------------------------------------- +Thu Nov 27 20:30:35 UTC 2014 - rmilasan@suse.com + +- Increase number of children/workers to CPU_COUNT * 256 to avoid + 'maximum number of children reached' (bnc#907393). + Add 1097-udevd-increase-maximum-number-of-children.patch + ------------------------------------------------------------------- Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 43deb2f4..77920367 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1243,6 +1243,8 @@ Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch +# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch +Patch1097: 1097-udevd-increase-maximum-number-of-children.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -2043,6 +2045,7 @@ cp %{SOURCE7} m4/ %patch1094 -p0 %patch1095 -p1 %patch1096 -p1 +%patch1097 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index f50611e0..872f66b3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com + +- Change the maximum number of children from CPU_COUNT * 256 to + CPU_COUNT * 64. + Update 1097-udevd-increase-maximum-number-of-children.patch + +------------------------------------------------------------------- +Thu Nov 27 20:30:35 UTC 2014 - rmilasan@suse.com + +- Increase number of children/workers to CPU_COUNT * 256 to avoid + 'maximum number of children reached' (bnc#907393). + Add 1097-udevd-increase-maximum-number-of-children.patch + ------------------------------------------------------------------- Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index a8ae7b75..16bb7ba7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1238,6 +1238,8 @@ Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch +# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch +Patch1097: 1097-udevd-increase-maximum-number-of-children.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -2038,6 +2040,7 @@ cp %{SOURCE7} m4/ %patch1094 -p0 %patch1095 -p1 %patch1096 -p1 +%patch1097 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ From 5922abecd142da29f724cbd21d821f1a66a8528af4402553f1a00c964c45644d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 16 Dec 2014 13:47:27 +0000 Subject: [PATCH 205/991] Accepting request 264783 from Base:System - fix systemd-nspawn network-veth support (bnc#906709) add 513-nspawn-veth.patch - Add upstream patch 1098-udev-link_setup-respect-kernel-name-assign-policy.patch which may solve bsc#907318 - Add upstream patches 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch 1097-udev-link_setup-respect-kernel-name-assign-policy.patch - fix systemd-nspawn network-veth support (bnc#906709) add 513-nspawn-veth.patch - Add upstream patch 1098-udev-link_setup-respect-kernel-name-assign-policy.patch which may solve bsc#907318 - Add upstream patches 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch 1097-udev-link_setup-respect-kernel-name-assign-policy.patch OBS-URL: https://build.opensuse.org/request/show/264783 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=211 --- ...rfkill-service-is-bount-to-the-actua.patch | 32 +++ ...w-we-generate-file-names-from-rfkill.patch | 116 +++++++++++ ...up-respect-kernel-name-assign-policy.patch | 189 ++++++++++++++++++ 513-nspawn-veth.patch | 39 ++++ systemd-mini.changes | 21 ++ systemd-mini.spec | 12 ++ systemd.changes | 21 ++ systemd.spec | 12 ++ 8 files changed, 442 insertions(+) create mode 100644 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch create mode 100644 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch create mode 100644 1098-udev-link_setup-respect-kernel-name-assign-policy.patch create mode 100644 513-nspawn-veth.patch diff --git a/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch b/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch new file mode 100644 index 00000000..052eeca6 --- /dev/null +++ b/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch @@ -0,0 +1,32 @@ +Based on 812bd1e6ab4c463507557f2bdbb8875fedd92ade Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 21 Nov 2014 01:20:57 +0100 +Subject: [PATCH] units: make sure rfkill service is bount to the actual + hardware + +--- + rules/99-systemd.rules.in | 2 +- + units/systemd-rfkill@.service.in | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in +@@ -62,7 +62,7 @@ SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="pa + + # Pull in rfkill save/restore for all rfkill devices + +-SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" ++SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/rfkill/devices/%k", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" + + # Asynchronously mount file systems implemented by these modules as + # soon as they are loaded. +--- units/systemd-rfkill@.service.in ++++ units/systemd-rfkill@.service.in 2014-12-05 11:52:59.433518948 +0000 +@@ -9,6 +9,7 @@ + Description=Load/Save RF Kill Switch Status of %I + Documentation=man:systemd-rfkill@.service(8) + DefaultDependencies=no ++BindsTo=sys-subsystem-rfkill-devices-%i.device + RequiresMountsFor=/var/lib/systemd/rfkill + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service diff --git a/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch b/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch new file mode 100644 index 00000000..67ad0284 --- /dev/null +++ b/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch @@ -0,0 +1,116 @@ +Based on 4844262f25a3ff6bd23de05a0a6f84a8e2983d74 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 3 Dec 2014 02:02:11 +0100 +Subject: [PATCH] rfkill: rework how we generate file names from rfkill + devices + +Generate the file name from ID_PATH plus the rfkill type (wlan, +bluetooth, ...) and ignore the rfkill device name, since it apparently +is not a stable identifier. + +Also, ensure that devices disappearing don't result in broken services, +simply exit cleanly. +--- + src/rfkill/rfkill.c | 47 ++++++++++++++++++++++++----------------------- + 1 file changed, 24 insertions(+), 23 deletions(-) + +--- src/rfkill/rfkill.c ++++ src/rfkill/rfkill.c 2014-12-05 12:05:59.053518122 +0000 +@@ -28,8 +28,8 @@ + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_device_unref_ struct udev_device *device = NULL; +- _cleanup_free_ char *saved = NULL, *escaped_name = NULL, *escaped_path_id = NULL; +- const char *name, *path_id; ++ _cleanup_free_ char *saved = NULL, *escaped_type = NULL, *escaped_path_id = NULL; ++ const char *name, *type, *path_id; + int r; + + if (argc != 3) { +@@ -55,25 +55,28 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- errno = 0; + device = udev_device_new_from_subsystem_sysname(udev, "rfkill", argv[2]); + if (!device) { +- if (errno != 0) +- log_error("Failed to get rfkill device '%s': %m", argv[2]); +- else +- log_oom(); +- +- return EXIT_FAILURE; ++ log_debug("Failed to get rfkill device '%s', ignoring: %m", argv[2]); ++ return EXIT_SUCCESS; + } + + name = udev_device_get_sysattr_value(device, "name"); + if (!name) { +- log_error("rfkill device has no name?"); +- return EXIT_FAILURE; ++ log_error("rfkill device has no name? Ignoring device."); ++ return EXIT_SUCCESS; ++ } ++ ++ log_debug("Operating on rfkill device '%s'.", name); ++ ++ type = udev_device_get_sysattr_value(device, "type"); ++ if (!type) { ++ log_error("rfkill device has no type? Ignoring device."); ++ return EXIT_SUCCESS; + } + +- escaped_name = cescape(name); +- if (!escaped_name) { ++ escaped_type = cescape(type); ++ if (!escaped_type) { + log_oom(); + return EXIT_FAILURE; + } +@@ -86,9 +89,9 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_name, NULL); ++ saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_type, NULL); + } else +- saved = strjoin("/var/lib/systemd/rfkill/", escaped_name, NULL); ++ saved = strjoin("/var/lib/systemd/rfkill/", escaped_type, NULL); + + if (!saved) { + log_oom(); +@@ -102,19 +105,17 @@ int main(int argc, char *argv[]) { + return EXIT_SUCCESS; + + r = read_one_line_file(saved, &value); ++ if (r == -ENOENT) ++ return EXIT_SUCCESS; + if (r < 0) { +- +- if (r == -ENOENT) +- return EXIT_SUCCESS; +- + log_error("Failed to read %s: %s", saved, strerror(-r)); + return EXIT_FAILURE; + } + + r = udev_device_set_sysattr_value(device, "soft", value); + if (r < 0) { +- log_error("Failed to write system attribute: %s", strerror(-r)); +- return EXIT_FAILURE; ++ log_debug("Failed to write 'soft' attribute on rfkill device, ignoring: %s", strerror(-r)); ++ return EXIT_SUCCESS; + } + + } else if (streq(argv[1], "save")) { +@@ -122,8 +123,8 @@ int main(int argc, char *argv[]) { + + value = udev_device_get_sysattr_value(device, "soft"); + if (!value) { +- log_error("Failed to read system attribute: %s", strerror(-r)); +- return EXIT_FAILURE; ++ log_debug("Failed to read system attribute, ignoring device: %s", strerror(-r)); ++ return EXIT_SUCCESS; + } + + r = write_string_file(saved, value); diff --git a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch new file mode 100644 index 00000000..622cf745 --- /dev/null +++ b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch @@ -0,0 +1,189 @@ +Based on 04b67d49254d956d31bcfe80340fb9df7ed332d3 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 15 Jul 2014 17:57:43 +0200 +Subject: [PATCH] udev: link_setup - respect kernel name assign policy + +Newer kernels export meta-information about the origin of an ifname. Respect this +from the ifname rename logic. We do not rename any interfaces that was originally +named by userspace, nor once which have already been renamed from userspace. + +Moreover, we optionally do not (the default) rename interfaces which the kernel +claims to have named in a predictable way. +--- + man/udev.xml | 13 ++++++++++- + network/99-default.link | 2 - + src/shared/missing.h | 21 +++++++++++++++++ + src/udev/net/link-config.c | 53 +++++++++++++++++++++++++++++++++++++-------- + src/udev/net/link-config.h | 1 + 5 files changed, 79 insertions(+), 11 deletions(-) + +--- man/udev.xml ++++ man/udev.xml 2014-12-05 11:43:18.670867575 +0000 +@@ -914,10 +914,21 @@ + successful one is used. The name is not set directly, but + is exported to udev as the property ID_NET_NAME, + which is, by default, used by a udev rule to set +- NAME. The available policies are: ++ NAME. If the name has already ++ been set by userspace, no renaming is performed. ++ The available policies are: + + + ++ kernel ++ ++ If the kernel claims that the name it ++ has set for a device is predictable, then ++ no renaming is performed. ++ ++ ++ ++ + database + + The name is set based on entries in the Hardware +--- network/99-default.link ++++ network/99-default.link 2014-12-05 00:00:00.000000000 +0000 +@@ -1,3 +1,3 @@ + [Link] +-NamePolicy=database onboard slot path ++NamePolicy=kernel database onboard slot path + MACAddressPolicy=persistent +--- src/shared/missing.h ++++ src/shared/missing.h 2014-12-05 11:33:06.120057836 +0000 +@@ -362,3 +362,24 @@ static inline int setns(int fd, int nsty + return syscall(__NR_setns, fd, nstype); + } + #endif ++ ++#ifndef NET_ADDR_RANDOM ++# define NET_ADDR_RANDOM 1 ++#endif ++ ++#ifndef NET_NAME_ENUM ++# define NET_NAME_ENUM 1 ++#endif ++ ++#ifndef NET_NAME_PREDICTABLE ++# define NET_NAME_PREDICTABLE 2 ++#endif ++ ++#ifndef NET_NAME_USER ++# define NET_NAME_USER 3 ++#endif ++ ++#ifndef NET_NAME_RENAMED ++# define NET_NAME_RENAMED 4 ++#endif ++ +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c 2014-12-05 11:36:51.658018542 +0000 +@@ -20,10 +20,11 @@ + ***/ + + #include +-#include ++#include + + #include "sd-id128.h" + ++#include "missing.h" + #include "link-config.h" + #include "ethtool-util.h" + +@@ -297,7 +298,33 @@ static bool mac_is_random(struct udev_de + return false; + + /* check for NET_ADDR_RANDOM */ +- return type == 1; ++ return type == NET_ADDR_RANDOM; ++} ++ ++static bool should_rename(struct udev_device *device, bool respect_predictable) { ++ const char *s; ++ unsigned type; ++ int r; ++ ++ s = udev_device_get_sysattr_value(device, "name_assign_type"); ++ if (!s) ++ return true; /* if we don't know, assume we should rename */ ++ r = safe_atou(s, &type); ++ if (r < 0) ++ return true; ++ ++ switch (type) { ++ case NET_NAME_USER: ++ case NET_NAME_RENAMED: ++ return false; /* these were already named by userspace, do not touch again */ ++ case NET_NAME_PREDICTABLE: ++ if (respect_predictable) ++ return false; /* the kernel claims to have given a predictable name */ ++ /* fall through */ ++ case NET_NAME_ENUM: ++ default: ++ return true; /* the name is known to be bad, or of an unknown type */ ++ } + } + + static bool mac_is_permanent(struct udev_device *device) { +@@ -371,6 +398,7 @@ int link_config_apply(link_config_ctx *c + const char *new_name = NULL; + struct ether_addr generated_mac; + struct ether_addr *mac = NULL; ++ bool respect_predictable = false; + int r, ifindex; + + assert(ctx); +@@ -406,8 +434,12 @@ int link_config_apply(link_config_ctx *c + if (ctx->enable_name_policy && config->name_policy) { + NamePolicy *policy; + +- for (policy = config->name_policy; !new_name && *policy != _NAMEPOLICY_INVALID; policy++) { ++ for (policy = config->name_policy; !respect_predictable && !new_name && ++ *policy != _NAMEPOLICY_INVALID; policy++) { + switch (*policy) { ++ case NAMEPOLICY_KERNEL: ++ respect_predictable = true; ++ break; + case NAMEPOLICY_DATABASE: + new_name = udev_device_get_property_value(device, "ID_NET_NAME_FROM_DATABASE"); + break; +@@ -429,12 +461,14 @@ int link_config_apply(link_config_ctx *c + } + } + +- if (new_name) +- *name = new_name; /* a name was set by a policy */ +- else if (config->name) +- *name = config->name; /* a name was set manually in the config */ +- else +- *name = NULL; ++ if (should_rename(device, respect_predictable)) { ++ if (!new_name) ++ /* if not set by policy, fall back manually set name */ ++ new_name = config->name; ++ } else ++ new_name = NULL; ++ ++ *name = new_name; + + switch (config->mac_policy) { + case MACPOLICY_PERSISTENT: +@@ -500,6 +534,7 @@ DEFINE_STRING_TABLE_LOOKUP(mac_policy, M + DEFINE_CONFIG_PARSE_ENUM(config_parse_mac_policy, mac_policy, MACPolicy, "Failed to parse MAC address policy"); + + static const char* const name_policy_table[] = { ++ [NAMEPOLICY_KERNEL] = "kernel", + [NAMEPOLICY_DATABASE] = "database", + [NAMEPOLICY_ONBOARD] = "onboard", + [NAMEPOLICY_SLOT] = "slot", +--- src/udev/net/link-config.h ++++ src/udev/net/link-config.h 2014-12-05 00:00:00.000000000 +0000 +@@ -39,6 +39,7 @@ typedef enum MACPolicy { + } MACPolicy; + + typedef enum NamePolicy { ++ NAMEPOLICY_KERNEL, + NAMEPOLICY_DATABASE, + NAMEPOLICY_ONBOARD, + NAMEPOLICY_SLOT, diff --git a/513-nspawn-veth.patch b/513-nspawn-veth.patch new file mode 100644 index 00000000..b24ecf6c --- /dev/null +++ b/513-nspawn-veth.patch @@ -0,0 +1,39 @@ +diff -Naur systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c +--- systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c 2014-11-19 13:10:23.998310815 +0100 ++++ systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c 2014-12-08 12:03:18.059734333 +0100 +@@ -722,6 +722,7 @@ + + int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) { + uint16_t rtm_type; ++ int r; + + assert_return(m, -EINVAL); + assert_return(!m->sealed, -EPERM); +@@ -729,15 +730,21 @@ + sd_rtnl_message_get_type(m, &rtm_type); + + if (rtnl_message_type_is_link(rtm_type)) { +- + if ((type == IFLA_LINKINFO && m->n_containers == 0) || + (type == IFLA_INFO_DATA && m->n_containers == 1 && +- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) +- return add_rtattr(m, type, NULL, 0); +- else if (type == VETH_INFO_PEER && m->n_containers == 2 && ++ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) { ++ r = add_rtattr(m, type, NULL, 0); ++ if ( r > 0) ++ m->container_offsets[m->n_containers ++] = r; ++ return r; ++ } else if (type == VETH_INFO_PEER && m->n_containers == 2 && + GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA && +- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) +- return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); ++ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) { ++ r = add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); ++ if ( r > 0) ++ m->container_offsets[m->n_containers ++] = r; ++ return r; ++ } + } + + return -ENOTSUP; diff --git a/systemd-mini.changes b/systemd-mini.changes index 872f66b3..500446d3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com + +- fix systemd-nspawn network-veth support (bnc#906709) + add 513-nspawn-veth.patch + +------------------------------------------------------------------- +Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de + +- Add upstream patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + which may solve bsc#907318 + +------------------------------------------------------------------- +Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch + 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch + 1097-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 77920367..865c9716 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1044,6 +1044,12 @@ Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch # PATCH-FIX-UPSTREAM added at 2014/11/20 Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch +# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) +Patch513: 513-nspawn-veth.patch # UDEV PATCHES # ============ @@ -1245,6 +1251,8 @@ Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch +# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch +Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1914,6 +1922,9 @@ cp %{SOURCE7} m4/ %patch507 -p0 %patch509 -p0 %patch510 -p0 +%patch511 -p0 +%patch512 -p0 +%patch513 -p1 # udev patches %patch1001 -p1 @@ -2046,6 +2057,7 @@ cp %{SOURCE7} m4/ %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 +%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ diff --git a/systemd.changes b/systemd.changes index 872f66b3..500446d3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com + +- fix systemd-nspawn network-veth support (bnc#906709) + add 513-nspawn-veth.patch + +------------------------------------------------------------------- +Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de + +- Add upstream patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + which may solve bsc#907318 + +------------------------------------------------------------------- +Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch + 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch + 1097-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 16bb7ba7..09e739dc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1039,6 +1039,12 @@ Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch # PATCH-FIX-UPSTREAM added at 2014/11/20 Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch +# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) +Patch513: 513-nspawn-veth.patch # UDEV PATCHES # ============ @@ -1240,6 +1246,8 @@ Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch +# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch +Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1909,6 +1917,9 @@ cp %{SOURCE7} m4/ %patch507 -p0 %patch509 -p0 %patch510 -p0 +%patch511 -p0 +%patch512 -p0 +%patch513 -p1 # udev patches %patch1001 -p1 @@ -2041,6 +2052,7 @@ cp %{SOURCE7} m4/ %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 +%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ From e1d2ae1aadc39e2daf9dfdc5fc20b6c6d0993ea8de3ffac8f97661d9a3c9815c Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 21 Dec 2014 11:03:25 +0000 Subject: [PATCH 206/991] Accepting request 265880 from Base:System use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) OBS-URL: https://build.opensuse.org/request/show/265880 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=212 --- ...x-access-fix-broken-ternary-operator.patch | 23 +++ ...etup-dev-allow-unsafe-file-creation-.patch | 24 ++++ ...n-tmpfiles.d-recommend-using-b-and-c.patch | 24 ++++ ...BindsTo-BoundBy-in-list-dependencies.patch | 35 +++++ ...lt-to-no-hash-when-keyfile-is-specif.patch | 28 ++++ ...tion-destructiveness-check-once-more.patch | 32 +++++ 0022-systemd-tmpfiles-ownerkeep.patch | 10 -- ...up-respect-kernel-name-assign-policy.patch | 131 +++++++----------- systemd-add-user-keep.patch | 78 +++++++++++ systemd-mini.changes | 49 ++++++- systemd-mini.spec | 30 +++- systemd.changes | 49 ++++++- systemd.spec | 30 +++- 13 files changed, 430 insertions(+), 113 deletions(-) create mode 100644 0001-selinux-access-fix-broken-ternary-operator.patch create mode 100644 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch create mode 100644 0002-man-tmpfiles.d-recommend-using-b-and-c.patch create mode 100644 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch create mode 100644 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch create mode 100644 0004-core-fix-transaction-destructiveness-check-once-more.patch delete mode 100644 0022-systemd-tmpfiles-ownerkeep.patch create mode 100644 systemd-add-user-keep.patch diff --git a/0001-selinux-access-fix-broken-ternary-operator.patch b/0001-selinux-access-fix-broken-ternary-operator.patch new file mode 100644 index 00000000..b94de819 --- /dev/null +++ b/0001-selinux-access-fix-broken-ternary-operator.patch @@ -0,0 +1,23 @@ +Based on 1e648011b20c8126412d3cf2699d575d9ba9e0fe Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 21 Nov 2014 17:02:15 +0100 +Subject: [PATCH] selinux-access: fix broken ternary operator + +it seems to be a typo introduced by ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602 +- _r = selinux_access_check(_b, _m, _u->source_path ?:_u->fragment_path, (permission), &_error); \ ++ ({ Unit *_unit = (unit); selinux_generic_access_check(bus,message, _unit->fragment_path ?: _unit->fragment_path, permission,error); }) +--- + src/core/selinux-access.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/selinux-access.h ++++ src/core/selinux-access.h 2014-12-15 11:49:54.521518349 +0000 +@@ -34,7 +34,7 @@ int selinux_generic_access_check(sd_bus + #define selinux_access_check(bus, message, permission, error) \ + selinux_generic_access_check(bus, message, NULL, permission, error) + #define selinux_unit_access_check(unit, bus, message, permission, error) \ +- ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->fragment_path ?: _unit->fragment_path, permission, error); }) ++ ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->source_path ?: _unit->fragment_path, permission, error); }) + + #else + diff --git a/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch b/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch new file mode 100644 index 00000000..8aa6da5f --- /dev/null +++ b/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch @@ -0,0 +1,24 @@ +From 8c94052ee543c3598a3c7b0c46688150aa2c6168 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 27 Oct 2014 17:15:42 +0100 +Subject: [PATCH 1/2] units: tmpfiles-setup-dev - allow unsafe file creation to + happen in /dev at boot + +This will allow us to mark static device nodes with '!' to indicate that they should only be created at early boot. +--- + units/systemd-tmpfiles-setup-dev.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/systemd-tmpfiles-setup-dev.service.in b/units/systemd-tmpfiles-setup-dev.service.in +index f3833fd..0123a03 100644 +--- a/units/systemd-tmpfiles-setup-dev.service.in ++++ b/units/systemd-tmpfiles-setup-dev.service.in +@@ -17,4 +17,4 @@ ConditionCapability=CAP_SYS_MODULE + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create ++ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --boot +-- +2.1.2 + diff --git a/0002-man-tmpfiles.d-recommend-using-b-and-c.patch b/0002-man-tmpfiles.d-recommend-using-b-and-c.patch new file mode 100644 index 00000000..bb6c70d2 --- /dev/null +++ b/0002-man-tmpfiles.d-recommend-using-b-and-c.patch @@ -0,0 +1,24 @@ +diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210-mod/man/tmpfiles.d.xml +--- systemd-210/man/tmpfiles.d.xml 2014-12-16 10:16:51.269189374 +0100 ++++ systemd-210-mod/man/tmpfiles.d.xml 2014-12-16 10:39:49.937552189 +0100 +@@ -158,12 +158,18 @@ + + + c +- Create a character device node if it does not exist yet. ++ Create a character device node if it does not exist yet. ++ It is recommended to suffix this entry with an exclamation mark to only ++ create static device nodes at boot, as udev will not manage static device ++ nodes that are created at runtime. + + + + b +- Create a block device node if it does not exist yet. ++ Create a block device node if it does not exist yet. ++ It is recommended to suffix this entry with an exclamation mark to only ++ create static device nodes at boot, as udev will not manage static device ++ nodes that re created at runtime. + + + diff --git a/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch b/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch new file mode 100644 index 00000000..6a9cd2ac --- /dev/null +++ b/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch @@ -0,0 +1,35 @@ +From c469089cf647ac740c7dcf09c463d2907b6d00eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 22 Nov 2014 20:21:56 -0500 +Subject: [PATCH] systemctl: show BindsTo/BoundBy in list-dependencies + +Suggested-by: Peter Mattern + +http://lists.freedesktop.org/archives/systemd-devel/2014-November/025437.html +--- + src/systemctl/systemctl.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 78b7c96..fd69c69 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -1480,11 +1480,13 @@ static int list_dependencies_get_dependencies(sd_bus *bus, const char *name, cha + "RequiresOverridable\0" + "Requisite\0" + "RequisiteOverridable\0" +- "Wants\0", ++ "Wants\0" ++ "BindsTo\0", + [DEPENDENCY_REVERSE] = "RequiredBy\0" + "RequiredByOverridable\0" + "WantedBy\0" +- "PartOf\0", ++ "PartOf\0" ++ "BoundBy\0", + [DEPENDENCY_AFTER] = "After\0", + [DEPENDENCY_BEFORE] = "Before\0", + }; +-- +1.7.9.2 + diff --git a/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch b/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch new file mode 100644 index 00000000..5424ff1c --- /dev/null +++ b/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch @@ -0,0 +1,28 @@ +Based on 8a52210c9392887a31fdb2845f65b4c5869e8e66 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 24 Nov 2014 09:11:12 -0500 +Subject: [PATCH] cryptsetup: default to no hash when keyfile is specified + +For plain dm-crypt devices, the behavior of cryptsetup package is to +ignore the hash algorithm when a key file is provided. It seems wrong +to ignore a hash when it is explicitly specified, but we should default +to no hash if the keyfile is specified. + +https://bugs.freedesktop.org/show_bug.cgi?id=52630 +--- + src/cryptsetup/cryptsetup.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- src/cryptsetup/cryptsetup.c ++++ src/cryptsetup/cryptsetup.c 2014-12-15 12:00:17.554019752 +0000 +@@ -386,7 +386,9 @@ static int attach_luks_or_plain(struct c + /* plain isn't a real hash type. it just means "use no hash" */ + if (!streq(opt_hash, "plain")) + params.hash = opt_hash; +- } else ++ } else if (!key_file) ++ /* for CRYPT_PLAIN, the behaviour of cryptsetup ++ * package is to not hash when a key file is provided */ + params.hash = "ripemd160"; + + if (opt_cipher) { diff --git a/0004-core-fix-transaction-destructiveness-check-once-more.patch b/0004-core-fix-transaction-destructiveness-check-once-more.patch new file mode 100644 index 00000000..843200c5 --- /dev/null +++ b/0004-core-fix-transaction-destructiveness-check-once-more.patch @@ -0,0 +1,32 @@ +Based on e0312f4db08c7100bd00299614e87bedc759b366 Mon Sep 17 00:00:00 2001 +Based on c21b92ffe7ef939dd32502ac912cf8ad1c5638fd Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 27 Nov 2014 15:23:58 +0100 +Subject: [PATCH] core: fix transaction destructiveness check once more + +The previous fix e0312f4db "core: fix check for transaction +destructiveness" broke test-engine (noticed by Zbyszek). +Apparently I had a wrong idea of the intended semantics of --fail. + +The manpage says the operation should fail if it "conflicts with a +pending job (more specifically: causes an already pending start job to +be reversed into a stop job or vice versa)". + +So let's check job_type_is_conflicting, instead of !is_superset. + +This makes both test-engine and TEST-03-JOBS pass again. +--- + src/core/transaction.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/transaction.c ++++ src/core/transaction.c 2014-12-15 12:06:11.721518136 +0000 +@@ -510,7 +510,7 @@ static int transaction_is_destructive(Tr + assert(!j->transaction_next); + + if (j->unit->job && (mode == JOB_FAIL || j->unit->job->irreversible) && +- !job_type_is_superset(j->type, j->unit->job->type)) { ++ job_type_is_conflicting(j->unit->job->type, j->type)) { + + sd_bus_error_setf(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); + return -EEXIST; diff --git a/0022-systemd-tmpfiles-ownerkeep.patch b/0022-systemd-tmpfiles-ownerkeep.patch deleted file mode 100644 index c7f3589b..00000000 --- a/0022-systemd-tmpfiles-ownerkeep.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -Naur systemd-208/units/systemd-tmpfiles-clean.service.in systemd-208-mod/units/systemd-tmpfiles-clean.service.in ---- systemd-208/units/systemd-tmpfiles-clean.service.in 2013-08-13 20:02:52.826756410 +0000 -+++ systemd-208-mod/units/systemd-tmpfiles-clean.service.in 2014-02-21 13:34:56.456511025 +0000 -@@ -19,5 +19,6 @@ - - [Service] - Type=oneshot -+ExecStart=-@rootbindir@/systemd-tmpfiles-keep - ExecStart=@rootbindir@/systemd-tmpfiles --clean - IOSchedulingClass=idle diff --git a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch index 622cf745..6772f650 100644 --- a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch +++ b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch @@ -17,9 +17,11 @@ claims to have named in a predictable way. src/udev/net/link-config.h | 1 5 files changed, 79 insertions(+), 11 deletions(-) ---- man/udev.xml -+++ man/udev.xml 2014-12-05 11:43:18.670867575 +0000 -@@ -914,10 +914,21 @@ +Index: man/udev.xml +=================================================================== +--- man/udev.xml.orig ++++ man/udev.xml +@@ -914,10 +914,12 @@ successful one is used. The name is not set directly, but is exported to udev as the property ID_NET_NAME, which is, by default, used by a udev rule to set @@ -29,28 +31,15 @@ claims to have named in a predictable way. + The available policies are: - -+ kernel -+ -+ If the kernel claims that the name it -+ has set for a device is predictable, then -+ no renaming is performed. -+ -+ -+ -+ +- ++ database The name is set based on entries in the Hardware ---- network/99-default.link -+++ network/99-default.link 2014-12-05 00:00:00.000000000 +0000 -@@ -1,3 +1,3 @@ - [Link] --NamePolicy=database onboard slot path -+NamePolicy=kernel database onboard slot path - MACAddressPolicy=persistent ---- src/shared/missing.h -+++ src/shared/missing.h 2014-12-05 11:33:06.120057836 +0000 +Index: src/shared/missing.h +=================================================================== +--- src/shared/missing.h.orig ++++ src/shared/missing.h @@ -362,3 +362,24 @@ static inline int setns(int fd, int nsty return syscall(__NR_setns, fd, nstype); } @@ -76,8 +65,10 @@ claims to have named in a predictable way. +# define NET_NAME_RENAMED 4 +#endif + ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c 2014-12-05 11:36:51.658018542 +0000 +Index: src/udev/net/link-config.c +=================================================================== +--- src/udev/net/link-config.c.orig ++++ src/udev/net/link-config.c @@ -20,10 +20,11 @@ ***/ @@ -91,64 +82,44 @@ claims to have named in a predictable way. #include "link-config.h" #include "ethtool-util.h" -@@ -297,7 +298,33 @@ static bool mac_is_random(struct udev_de +@@ -297,23 +298,30 @@ static bool mac_is_random(struct udev_de return false; /* check for NET_ADDR_RANDOM */ - return type == 1; + return type == NET_ADDR_RANDOM; -+} -+ -+static bool should_rename(struct udev_device *device, bool respect_predictable) { -+ const char *s; -+ unsigned type; -+ int r; -+ + } + +-static bool mac_is_permanent(struct udev_device *device) { ++static bool should_rename(struct udev_device *device) { + const char *s; + unsigned type; + int r; + +- s = udev_device_get_sysattr_value(device, "addr_assign_type"); + s = udev_device_get_sysattr_value(device, "name_assign_type"); -+ if (!s) + if (!s) +- return true; /* if we don't know, assume it is permanent */ + return true; /* if we don't know, assume we should rename */ -+ r = safe_atou(s, &type); -+ if (r < 0) -+ return true; -+ + r = safe_atou(s, &type); + if (r < 0) + return true; + +- /* check for NET_ADDR_PERM */ +- return type == 0; + switch (type) { + case NET_NAME_USER: + case NET_NAME_RENAMED: + return false; /* these were already named by userspace, do not touch again */ + case NET_NAME_PREDICTABLE: -+ if (respect_predictable) -+ return false; /* the kernel claims to have given a predictable name */ -+ /* fall through */ + case NET_NAME_ENUM: + default: + return true; /* the name is known to be bad, or of an unknown type */ + } } - static bool mac_is_permanent(struct udev_device *device) { -@@ -371,6 +398,7 @@ int link_config_apply(link_config_ctx *c - const char *new_name = NULL; - struct ether_addr generated_mac; - struct ether_addr *mac = NULL; -+ bool respect_predictable = false; - int r, ifindex; - - assert(ctx); -@@ -406,8 +434,12 @@ int link_config_apply(link_config_ctx *c - if (ctx->enable_name_policy && config->name_policy) { - NamePolicy *policy; - -- for (policy = config->name_policy; !new_name && *policy != _NAMEPOLICY_INVALID; policy++) { -+ for (policy = config->name_policy; !respect_predictable && !new_name && -+ *policy != _NAMEPOLICY_INVALID; policy++) { - switch (*policy) { -+ case NAMEPOLICY_KERNEL: -+ respect_predictable = true; -+ break; - case NAMEPOLICY_DATABASE: - new_name = udev_device_get_property_value(device, "ID_NET_NAME_FROM_DATABASE"); - break; -@@ -429,12 +461,14 @@ int link_config_apply(link_config_ctx *c + #define HASH_KEY SD_ID128_MAKE(d3,1e,48,fa,90,fe,4b,4c,9d,af,d5,d7,a1,b1,2e,8a) +@@ -429,16 +437,16 @@ int link_config_apply(link_config_ctx *c } } @@ -158,32 +129,26 @@ claims to have named in a predictable way. - *name = config->name; /* a name was set manually in the config */ - else - *name = NULL; -+ if (should_rename(device, respect_predictable)) { ++ if (should_rename(device)) { + if (!new_name) + /* if not set by policy, fall back manually set name */ + new_name = config->name; + } else + new_name = NULL; -+ -+ *name = new_name; switch (config->mac_policy) { case MACPOLICY_PERSISTENT: -@@ -500,6 +534,7 @@ DEFINE_STRING_TABLE_LOOKUP(mac_policy, M - DEFINE_CONFIG_PARSE_ENUM(config_parse_mac_policy, mac_policy, MACPolicy, "Failed to parse MAC address policy"); +- if (!mac_is_permanent(device)) { ++ if (mac_is_random(device)) { + r = get_mac(device, false, &generated_mac); + if (r == -ENOENT) + break; +@@ -467,6 +475,8 @@ int link_config_apply(link_config_ctx *c + return r; + } - static const char* const name_policy_table[] = { -+ [NAMEPOLICY_KERNEL] = "kernel", - [NAMEPOLICY_DATABASE] = "database", - [NAMEPOLICY_ONBOARD] = "onboard", - [NAMEPOLICY_SLOT] = "slot", ---- src/udev/net/link-config.h -+++ src/udev/net/link-config.h 2014-12-05 00:00:00.000000000 +0000 -@@ -39,6 +39,7 @@ typedef enum MACPolicy { - } MACPolicy; ++ *name = new_name; ++ + return 0; + } - typedef enum NamePolicy { -+ NAMEPOLICY_KERNEL, - NAMEPOLICY_DATABASE, - NAMEPOLICY_ONBOARD, - NAMEPOLICY_SLOT, diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch new file mode 100644 index 00000000..c1c06ba5 --- /dev/null +++ b/systemd-add-user-keep.patch @@ -0,0 +1,78 @@ +diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210.mod/man/tmpfiles.d.xml +--- systemd-210/man/tmpfiles.d.xml 2014-12-18 09:40:29.403629407 +0100 ++++ systemd-210.mod/man/tmpfiles.d.xml 2014-12-18 10:34:06.274130934 +0100 +@@ -435,8 +435,12 @@ + f, F, + and w may be used to + specify a short string that is written to the +- file, suffixed by a newline. Ignored for all +- other lines. ++ file, suffixed by a newline. ++ For x, X ++ a comma separated list of usernames. If given, ++ only paths belonging to these users will be ++ excluded during directory cleanup. ++ Ignored for all other lines. + + + +diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpfiles.c +--- systemd-210/src/tmpfiles/tmpfiles.c 2014-12-18 09:40:29.342629177 +0100 ++++ systemd-210.mod/src/tmpfiles/tmpfiles.c 2014-12-18 11:58:16.686576974 +0100 +@@ -263,6 +263,7 @@ + struct timespec times[2]; + bool deleted = false; + int r = 0; ++ Item *found = NULL; + + while ((dent = readdir(d))) { + struct stat s; +@@ -306,11 +307,43 @@ + } + + /* Is there an item configured for this path? */ +- if (hashmap_get(items, sub_path)) +- continue; +- +- if (find_glob(globs, sub_path)) +- continue; ++ found = hashmap_get(items, sub_path); ++ ++ if (!found) ++ found = find_glob(globs, sub_path); ++ ++ if (found) { ++ /* evaluate username arguments in ignore statements */ ++ if (found->type == IGNORE_PATH || found->type == IGNORE_DIRECTORY_PATH) { ++ if (!found->argument) ++ continue; ++ else { ++ struct passwd *pw; ++ char *userfound = NULL, *args = strdup(found->argument); ++ bool match = false; ++ int uid = -1; ++ ++ while ((userfound = strsep(&args, ","))) { ++ pw = getpwnam(userfound); ++ ++ if (!pw) ++ log_error("Unknown user '%s' in ignore statement.", userfound); ++ else { ++ uid = pw->pw_uid; ++ if (s.st_uid == uid) { ++ match = true; ++ break; ++ } ++ } ++ } ++ if (match) { ++ found = NULL; ++ continue; ++ } ++ } ++ } else ++ continue; ++ } + + if (S_ISDIR(s.st_mode)) { + diff --git a/systemd-mini.changes b/systemd-mini.changes index 500446d3..f3cc341f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de + +- Use Robert's latest patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + which drops NAMEPOLICY_KERNEL as this breaks all on current + systems out there + +------------------------------------------------------------------- +Wed Dec 17 14:57:42 UTC 2014 - thomas.blume@suse.com + +- remove 0022-systemd-tmpfiles-ownerkeep.patch since this is now + implemented into the systemd-tmpfiles binary +- add user based ignore statements in tmpfiles removal directives + (bnc#903009) + add systemd-add-user-keep.patch + +------------------------------------------------------------------- +Tue Dec 16 09:45:38 UTC 2014 - thomas.blume@suse.com + +- use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) + add upstream patches: + 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch + 0002-man-tmpfiles.d-recommend-using-b-and-c.patch (adapted) + +------------------------------------------------------------------- +Tue Dec 16 08:59:08 UTC 2014 - werner@suse.de + +- Update patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + to Robert's version + +------------------------------------------------------------------- +Mon Dec 15 15:02:22 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-selinux-access-fix-broken-ternary-operator.patch + 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch + 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch + 0004-core-fix-transaction-destructiveness-check-once-more.patch +- Avoid old net devices naming scheme on openSUSE 13.2 and less + maybe caused by patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com @@ -8,8 +52,8 @@ Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de - Add upstream patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which may solve bsc#907318 + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + which may solve bsc#907318 ------------------------------------------------------------------- Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de @@ -17,7 +61,6 @@ Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de - Add upstream patches 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - 1097-udev-link_setup-respect-kernel-name-assign-policy.patch ------------------------------------------------------------------- Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 865c9716..3bfaeabf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -42,7 +42,6 @@ %bcond_with udevsettle %endif %bcond_with systemgrps -%{expand: %%global has_tmpkeep %(type -p systemd-tmpfiles-keep &>/dev/null && echo 1 || echo 0)} Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -169,7 +168,7 @@ Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/awk Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/setfacl Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -396,8 +395,6 @@ Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch -Patch184: 0022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch @@ -1050,6 +1047,21 @@ Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch # PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) Patch513: 513-nspawn-veth.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch +# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) +Patch520: systemd-add-user-keep.patch +# # UDEV PATCHES # ============ @@ -1593,9 +1605,6 @@ cp %{SOURCE7} m4/ %patch181 -p1 %patch182 -p1 %patch183 -p1 -%if 0%{?has_tmpkeep} -%patch184 -p1 -%endif %patch185 -p1 %patch186 -p1 %patch187 -p1 @@ -1925,6 +1934,13 @@ cp %{SOURCE7} m4/ %patch511 -p0 %patch512 -p0 %patch513 -p1 +%patch514 -p0 +%patch515 -p0 +%patch516 -p0 +%patch517 -p0 +%patch518 -p1 +%patch519 -p1 +%patch520 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 500446d3..f3cc341f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de + +- Use Robert's latest patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + which drops NAMEPOLICY_KERNEL as this breaks all on current + systems out there + +------------------------------------------------------------------- +Wed Dec 17 14:57:42 UTC 2014 - thomas.blume@suse.com + +- remove 0022-systemd-tmpfiles-ownerkeep.patch since this is now + implemented into the systemd-tmpfiles binary +- add user based ignore statements in tmpfiles removal directives + (bnc#903009) + add systemd-add-user-keep.patch + +------------------------------------------------------------------- +Tue Dec 16 09:45:38 UTC 2014 - thomas.blume@suse.com + +- use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) + add upstream patches: + 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch + 0002-man-tmpfiles.d-recommend-using-b-and-c.patch (adapted) + +------------------------------------------------------------------- +Tue Dec 16 08:59:08 UTC 2014 - werner@suse.de + +- Update patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + to Robert's version + +------------------------------------------------------------------- +Mon Dec 15 15:02:22 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-selinux-access-fix-broken-ternary-operator.patch + 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch + 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch + 0004-core-fix-transaction-destructiveness-check-once-more.patch +- Avoid old net devices naming scheme on openSUSE 13.2 and less + maybe caused by patch + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com @@ -8,8 +52,8 @@ Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de - Add upstream patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which may solve bsc#907318 + 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + which may solve bsc#907318 ------------------------------------------------------------------- Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de @@ -17,7 +61,6 @@ Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de - Add upstream patches 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - 1097-udev-link_setup-respect-kernel-name-assign-policy.patch ------------------------------------------------------------------- Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 09e739dc..2107f0e3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -40,7 +40,6 @@ %bcond_with udevsettle %endif %bcond_with systemgrps -%{expand: %%global has_tmpkeep %(type -p systemd-tmpfiles-keep &>/dev/null && echo 1 || echo 0)} Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -164,7 +163,7 @@ Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/awk Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/setfacl Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -391,8 +390,6 @@ Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch -Patch184: 0022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch @@ -1045,6 +1042,21 @@ Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch # PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) Patch513: 513-nspawn-veth.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch +# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) +Patch520: systemd-add-user-keep.patch +# # UDEV PATCHES # ============ @@ -1588,9 +1600,6 @@ cp %{SOURCE7} m4/ %patch181 -p1 %patch182 -p1 %patch183 -p1 -%if 0%{?has_tmpkeep} -%patch184 -p1 -%endif %patch185 -p1 %patch186 -p1 %patch187 -p1 @@ -1920,6 +1929,13 @@ cp %{SOURCE7} m4/ %patch511 -p0 %patch512 -p0 %patch513 -p1 +%patch514 -p0 +%patch515 -p0 +%patch516 -p0 +%patch517 -p0 +%patch518 -p1 +%patch519 -p1 +%patch520 -p1 # udev patches %patch1001 -p1 From d0b490f764a9907eb80f08071e246a7d7dc3fb0136091a349880a97eff30546e Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 21 Jan 2015 20:53:05 +0000 Subject: [PATCH 207/991] Accepting request 280880 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/280880 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=213 --- set-and-use-default-logconsole.patch | 2 +- systemd-mini.spec | 2 +- systemd.changes | 7 +++++++ systemd.spec | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index 559892d5..e13cb6dd 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -105,7 +105,7 @@ Index: src/journal/journald-console.c return; + /* Do not write security/authorization (private) messages to console */ -+ if (priority & LOG_AUTHPRIV) ++ if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) + return; + /* First: timestamp */ diff --git a/systemd-mini.spec b/systemd-mini.spec index 3bfaeabf..cfd53782 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/systemd.changes b/systemd.changes index f3cc341f..e1a7458c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com + +- update set-and-use-default-logconsole.patch - fix comparison of + console log facility that caused journald to skip output to console + (boo#912030) + ------------------------------------------------------------------- Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 2107f0e3..3c7e9fb9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From 245c6e2aa4920ddf12d8b2f1b0bc50945c27e60331f7cd12c507d91d90ad6251 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 30 Jan 2015 19:31:20 +0000 Subject: [PATCH 208/991] Accepting request 283257 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/283257 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=214 --- kbd-model-map.patch | 23 +++++++++++++++++++++++ systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 3 +++ systemd.changes | 6 ++++++ systemd.spec | 3 +++ 5 files changed, 48 insertions(+) create mode 100644 kbd-model-map.patch diff --git a/kbd-model-map.patch b/kbd-model-map.patch new file mode 100644 index 00000000..743a67b2 --- /dev/null +++ b/kbd-model-map.patch @@ -0,0 +1,23 @@ +--- + src/locale/kbd-model-map | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +--- src/locale/kbd-model-map ++++ src/locale/kbd-model-map 2015-01-20 11:31:38.357518811 +0000 +@@ -63,3 +63,16 @@ by by,us pc105 - terminate:ctrl_alt_ + il il pc105 - terminate:ctrl_alt_bksp + kazakh kz,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll + lt lt pc105 - terminate:ctrl_alt_bksp ++# Additional layouts offered by YaST ++Pl02 pl pc105 - terminate:ctrl_alt_bksp ++arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ++cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp ++cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle ++es-cp850 es pc105 - terminate:ctrl_alt_bksp ++khmer us,kh pc105 - terminate:ctrl_alt_bksp,grp:alt_shift_toggle ++korean kr pc105 - terminate:ctrl_alt_bksp ++lt.baltic lt pc105 - terminate:ctrl_alt_bksp ++lt.std lt pc105 std terminate:ctrl_alt_bksp ++no-latin1 no pc105 - terminate:ctrl_alt_bksp ++ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll ++sk-qwertz sk,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/systemd-mini.changes b/systemd-mini.changes index f3cc341f..78b33870 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de + +- Add patch kbd-model-map.patch to add missed keyboard layouts + which are offered by YaST2 (bsc#910643 and boo#897803) + +------------------------------------------------------------------- +Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com + +- update set-and-use-default-logconsole.patch - fix comparison of + console log facility that caused journald to skip output to console + (boo#912030) + ------------------------------------------------------------------- Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index cfd53782..015e1e0c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1061,6 +1061,8 @@ Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch +# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) +Patch521: kbd-model-map.patch # # UDEV PATCHES @@ -1941,6 +1943,7 @@ cp %{SOURCE7} m4/ %patch518 -p1 %patch519 -p1 %patch520 -p1 +%patch521 -p0 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index e1a7458c..78b33870 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de + +- Add patch kbd-model-map.patch to add missed keyboard layouts + which are offered by YaST2 (bsc#910643 and boo#897803) + ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index 3c7e9fb9..307e3cab 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1056,6 +1056,8 @@ Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch +# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) +Patch521: kbd-model-map.patch # # UDEV PATCHES @@ -1936,6 +1938,7 @@ cp %{SOURCE7} m4/ %patch518 -p1 %patch519 -p1 %patch520 -p1 +%patch521 -p0 # udev patches %patch1001 -p1 From 70c63e98f93e7d3abb507215913153b9e8a0d2d73b1362b0bc0361fe34d13fd4 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 1 Mar 2015 13:49:19 +0000 Subject: [PATCH 209/991] Accepting request 286653 from Base:System - mark more subpackages as !bootstrap for systemd-mini usage. - spec : remove --with-firmware-path, firmware loader was removed in v217 - spec: remove --disable-multi-seat-x, gone.(fixed in xorg) - spec: Do not enable systemd-readahead-collect.service and systemd-readahead-replay.service as these do not exist anymore. - spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Yast was fixed to write all timezone changes exactly how timedated expects things to be done. - spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg package handles the migration from /etc/HOSTNAME to /etc/hostname and owns both files. -spec: remove boot.udev and systemd-journald.init as they currently serve no purpose. - suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we are in sysvcompat-only codepath, also remove the code targetting other distributions, never compiled as the TARGET_$DISTRO macros are never defined. - systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT - set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards - insserv-generator.patch: Only build when sysvcompat is enabled - vhangup-on-all-consoles.patch add a comment indicating this is a workaround for a kernel bug. - spec: Add option to allow disabling sysvinit compat at build time. - spec: Add option to enable resolved at build time. - spec: Remove all %ifs for !factory products, current systemd releases can neither be built nor installed in older products without upgrading several components of the base system. (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) - spec: remove all dummy "aliases" to /etc/init.d, that made sense only when those init scripts still existed. (dummy localfs.service source: gone) OBS-URL: https://build.opensuse.org/request/show/286653 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=215 --- ...on-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch | 110 - ...escape-unit-names-in-Install-section.patch | 21 - ...-snprintf-a-potentially-NULL-pointer.patch | 25 - 0001-Fix-systemd-stdio-bridge-symlink.patch | 28 - ...g-about-unused-variable-with-SELINUX.patch | 31 - ...s390_con3270_disable_ANSI_colour_esc.patch | 67 +- 0001-activate-fix-fd-leak-in-do_accept.patch | 26 - ...sh-for-reboot-or-hddown-for-poweroff.patch | 49 +- ...network-device-after-NFS-mount-units.patch | 64 +- 0001-architecture-Add-tilegx.patch | 56 - ...restoring-brightness-to-an-unreadabl.patch | 79 - ...completion-fix-__get_startable_units.patch | 25 - ...h-completion-p-option-for-journalctl.patch | 46 - 0001-bnc888612-logind-polkit-acpi.patch | 34 +- ...ibc-s-xattr-support-instead-of-requi.patch | 215 - ...-bus-proxyd-fix-incorrect-comparison.patch | 21 - ...t-s-not-OK-to-invoke-alloca-in-loops.patch | 80 - ...ter-templates-from-restartable-units.patch | 30 - ...ntly-ignore-sections-starting-with-X.patch | 73 - ...-lookup-string-for-BUSNAME_FAILURE_S.patch | 29 - ...core-close-socket-fds-asynchronously.patch | 89 - ...n-t-allow-enabling-if-unit-is-masked.patch | 36 - 0001-core-fix-invalid-free-in-killall.patch | 32 - ...urce-leak-in-manager_environment_add.patch | 32 - ...ake-configured-units-part-of-swap.ta.patch | 76 - ...network-should-be-equivalent-to-netw.patch | 51 - ...e-use-correct-format-string-for-UIDs.patch | 20 - 0001-detect-virt-Fix-Xen-domU-discovery.patch | 33 - ...to-handle-the-3-errnos-that-are-alia.patch | 30 - ...pull-in-sd-event.h-from-event-util.h.patch | 24 - ...or-don-t-return-OOM-on-parentless-de.patch | 20 - ...base-of-Bluetooth-company-identifier.patch | 29 - 0001-hwdb-fix-case-sensitive-match.patch | 25 - ...db-keymaps-for-Samsung-900X3E-900X3F.patch | 40 - 0001-hwdb-update.patch | 6590 -- ....service-ignore-return-code-of-daemo.patch | 29 - ...ount-on-the-compiler-initializing-fo.patch | 30 - ...-up-error-handling-in-update_catalog.patch | 104 - ...-return-early-in-uncompress_startswi.patch | 186 - ...port-of-messages-containing-newlines.patch | 80 - ...t-output-reboot-markers-when-running.patch | 27 - ...map-Add-Lenovo-Enhanced-USB-Keyboard.patch | 36 - ...-support-for-IBM-ThinkPad-X41-Tablet.patch | 38 - ...pad-toggle-on-Toshiba-Satellite-P75-.patch | 27 - ...systemctl-completion-ignore-at-names.patch | 4 +- ...in-fix-memory-leak-on-DropController.patch | 36 - 0001-login-fix-pos-array-allocation.patch | 52 - ...ces-before-acknowledging-VT-switches.patch | 82 - ...sole-setup-when-switching-from-vgaco.patch | 60 - 0001-login-simplify-controller-handling.patch | 118 - ...add-support-for-Triton2-Power-Button.patch | 24 - ...switching-to-unused-VTs-via-SwitchTo.patch | 37 - ...d-switch-if-more-than-1-display-is-c.patch | 168 - ...-don-t-return-uninitialized-variable.patch | 26 - ...-might-fail-due-to-OOM-protect-again.patch | 26 - 0001-make-209-working-on-older-dist.patch | 79 - 0001-make-fortify-happy-with-ppoll.patch | 55 - ...-hppa-has-fewer-rtsigs-hence-avoid-u.patch | 79 - ...bind-mount-journal-on-top-of-a-non-e.patch | 45 - ...-to-create-veth-link-with-too-long-i.patch | 21 - 0001-nspawn-fix-network-interface.patch | 21 - ...ation-of-machine-names-in-interface-.patch | 31 - ...XDG_RUNTIME_DIR_of_the_original_user.patch | 6 +- 0001-parse_uid-return-ENXIO-for-1-uids.patch | 45 - 0001-po-add-Ukrainian-translation.patch | 406 - ...t-of-messages-logged-to-dev-kmsg-whe.patch | 27 - ...-replace-more-dup-by-F_DUPFD_CLOEXEC.patch | 39 - ...k-for-a-64bit-value-when-we-only-hav.patch | 181 - ...handle-removals-of-non-existing-matc.patch | 25 - ...equire-a-signal-event-source-to-be-e.patch | 58 - ...nt-restore-correct-timeout-behaviour.patch | 37 - ...sage-append-fix-uninitialized-memory.patch | 111 - ...x-access-fix-broken-ternary-operator.patch | 23 - ...ion-fix-completion-of-inactive-units.patch | 95 - ...nd-clean-up-initialization-of-struct.patch | 30 - ...troduce-SELinuxContextFromNet-option.patch | 414 - ...tional-overflow-check-when-enlarging.patch | 35 - ...t-error-message-printed-when-bus_pro.patch | 28 - ...to-change-the-default-target-without.patch | 51 - ...et-list-units-unit-files-honour-type.patch | 94 - ...angle-unit-names-for-the-isolate-suf.patch | 52 - ...nue-switch-root-even-if-umount-fails.patch | 50 - ...tect-virt-detect-s390-virtualization.patch | 72 - ...-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch | 39 - ...cripts-which-provide-network-before-.patch | 34 - ...compare-return-against-correct-errno.patch | 26 - ...fix-permissions-on-new-journal-files.patch | 27 - 0001-umount-modernizations.patch | 119 - ...network-pre.target-as-place-to-hook-.patch | 126 - ...xecStopPost-action-part-of-ExecStart.patch | 46 - ...rfkill-service-is-bount-to-the-actua.patch | 32 - ...ork-online.target-after-network.targ.patch | 20 - ...sctl.service.in-run-after-load-modul.patch | 29 - ...etup-dev-allow-unsafe-file-creation-.patch | 24 - ...7F-a-control-chracter-which-it-is-DE.patch | 54 - ...py-character-maps-not-just-fonts-fro.patch | 56 - ...-we-are-running-inside-the-docker-co.patch | 25 - ...irt-rework-container-detection-logic.patch | 159 - ...wdb-entry-for-Samsung-Series-7-Ultra.patch | 31 - ...re-verbose-when-bind-or-listen-fails.patch | 92 - 0002-analyze-avoid-a-null-dereference.patch | 30 - ...bus_open_transport_systemd-instead-o.patch | 46 - 0002-architecture-Add-cris.patch | 55 - ...ht-do-nothing-if-max_brightness-is-0.patch | 108 - ...-use-n-a-if-PRETTY_NAME-is-not-found.patch | 31 - ...emory-leak-when-kdbus-is-not-enabled.patch | 26 - ...sd_bus_try_close-in-exit-on-idle-ser.patch | 59 - 0002-bus-remove-unused-check.patch | 29 - ...nvironment-fields-passed-in-for-tran.patch | 27 - ...-fix-cycle-break-attempts-outside-tr.patch | 42 - ...s-properties-cannot-be-both-writable.patch | 23 - ...ectory-path-if-we-fail-to-remove-it-.patch | 54 - ...ice-name-in-the-message-about-missin.patch | 26 - ...d-add-a-new-chassis-type-for-watches.patch | 26 - ...-for-special-keys-on-compaq-ku-0133-.patch | 42 - ...base-of-Bluetooth-company-identifier.patch | 32 - 0002-hwdb-update.patch | 2058 - ...lude-fcntl.h-rather-than-sys-fcntl.h.patch | 25 - ...s-improve-xz-compression-performance.patch | 82 - ...ly-detect-language-specified-in-line.patch | 99 - ...rnalctl-man-allow-only-between-terms.patch | 109 - ...-MaxFileSec-really-default-to-1month.patch | 30 - ...ophone-mute-keymap-for-Dell-Latitude.patch | 38 - ...eymap-Asus-EeePC-touchpad-toggle-key.patch | 28 - ...cial-keys-on-ThinkPad-X60-X61-Tablet.patch | 33 - ...-touchpad-toggle-key-on-Asus-laptops.patch | 25 - ...ightness-keys-on-Dell-Inspiron-1520-.patch | 41 - ...pos-slot-to-fallback-on-pos-eviction.patch | 52 - ...dd-support-for-TPS65217-Power-Button.patch | 71 - ...kit-policy-for-hibernate-in-line-wit.patch | 28 - 0002-logind-fix-printf-format.patch | 25 - ...l-bus-call-on-machine-objects-when-w.patch | 70 - ...early-and-annually-in-systemd.time-7.patch | 49 - ...t-entire-sections-can-now-be-ignored.patch | 35 - ...n-tmpfiles.d-recommend-using-b-and-c.patch | 24 - ...emory-stream-before-using-the-buffer.patch | 45 - ...pace-fix-uninitialized-memory-access.patch | 28 - ...etting-up-an-inaccessible-mount-poin.patch | 122 - ...ore-journal-directory-is-empty-check.patch | 30 - ...F_DUPFD_CLOEXEC-when-dupping-session.patch | 26 - ...w-we-generate-file-names-from-rfkill.patch | 116 - ...mpletion-prevent-mangling-unit-names.patch | 67 - ...-propose-templates-for-disable-re-en.patch | 111 - ...-arguments-to-run-initramfs-shutdown.patch | 70 - ...s-own-argv-to-run-initramfs-shutdown.patch | 36 - ...ot-return-error-when-snapshot-exists.patch | 25 - ...h-root-umount-the-old-root-correctly.patch | 26 - ...sctl-replaces-some-slashes-with-dots.patch | 97 - ...temctl-obey-state-in-list-unit-files.patch | 28 - ...BindsTo-BoundBy-in-list-dependencies.patch | 35 - ...emctl-update-NAME-to-PATTERN-in-help.patch | 52 - 0002-systemd-fix-error-message.patch | 29 - ...-try-harder-to-bind-to-notify-socket.patch | 44 - ...upport-infinity-syntax-in-parse_nsec.patch | 40 - ...w-Entry-for-Dell-XPS12-9Q33-keyboard.patch | 29 - ...g-caps-so-that-GetAddresses-can-work.patch | 18 - ...emd-fsck-.service-after-local-fs-pre.patch | 29 - ...ty-.service-use-the-default-RestartS.patch | 29 - 0002-util-avoid-non-portable-__WORDSIZE.patch | 25 - ...der-tabs-special-in-string_has_cc-an.patch | 117 - 0002-util-fix-has-cc-check-and-add-test.patch | 25 - ...-race-where-we-might-miss-SIGTERMs-w.patch | 96 - 0002-util-remove-a-unnecessary-check.patch | 25 - ...ping-strings-don-t-allow-smuggling-i.patch | 74 - ...le-setup-run-setfont-before-loadkeys.patch | 167 - 0003-Add-quotes-to-warning-message.patch | 41 - 0003-Always-check-asprintf-return-code.patch | 223 - ...rint-invalid-UTF-8-in-error-messages.patch | 130 - ...-in-suggested-systemctl-commandlines.patch | 68 - 0003-analyze-fix-mem-leak.patch | 27 - 0003-analyze-fix-plot-with-bad-y-size.patch | 31 - 0003-arch-add-crisv32-to-uname-check.patch | 24 - ...-string-table-entries-for-mips-le-ar.patch | 52 - 0003-backlight-unify-error-messages.patch | 115 - ...ot-OK-to-return-1-from-a-main-progra.patch | 27 - ...chart-parse-userinput-with-safe_atoi.patch | 34 - ...-drop-service-from-the-result-string.patch | 25 - ...-put-the-cached-result-of-use_smack-.patch | 32 - 0003-core-allow-transient-mount-units.patch | 115 - ...sure-to-serialize-jobs-for-all-units.patch | 118 - ...der-failure-when-reading-drop-ins-fa.patch | 113 - ...ge-when-inotify-watches-are-exhauste.patch | 30 - ...lt-to-no-hash-when-keyfile-is-specif.patch | 28 - ...do-not-use-unicode-chars-in-C-locale.patch | 134 - ...abel-return-error-when-writing-fails.patch | 30 - ...fsck-implementation-linked-to-bin-tr.patch | 110 - ...-primary-model-string-in-subsystem-m.patch | 51583 ---------------- ...base-of-Bluetooth-company-identifier.patch | 38 - ...l-fix-invalid-free-in-unit_file_mask.patch | 30 - ..._MAC_OVERRIDE-in-journald-for-SMACK-.patch | 41 - ...Adjust-for-more-Samsung-900X4-series.patch | 29 - ...map-Annotate-all-micmute-workarounds.patch | 54 - 0003-keymap-Fix-HP-Pavillon-DV7.patch | 28 - ...onsider-an-unset-model-as-a-wildcard.patch | 39 - ...ing-org.freedesktop.login1.Seat.Swit.patch | 35 - ...d-switch-events-for-30s-after-each-s.patch | 174 - ...tion-XDG_CONFIG_HOME-in-systemd.unit.patch | 40 - ...-man-we-don-t-have-Wanted-dependency.patch | 29 - ...ions-before-other-arguments-to-mount.patch | 39 - ...ure-tmp-var-tmp-and-dev-are-writable.patch | 34 - ...-bus-check-return-value-of-vasprintf.patch | 35 - ...-assert_return-to-check-for-disconne.patch | 498 - ...operties-that-claim-to-be-both-writa.patch | 29 - ...call-epoll_ctl-on-mask-updates-if-ed.patch | 46 - ...rly-convert-object-size-on-big-endia.patch | 39 - ...void-prematurely-rejecting-missing-u.patch | 39 - ...-systemd-use-pager-for-test-and-help.patch | 111 - ...t-from-format_timestamp_relative-on-.patch | 25 - ...password-agent-return-negative-errno.patch | 29 - ...xplicitly-don-t-read-from-invalid-fd.patch | 27 - ...emd-tmpfiles-clean.service-after-tim.patch | 26 - ...useManualStart-from-units-which-are-.patch | 65 - ...de-mixed-for-systemd-nspawn-.service.patch | 26 - ...g-at-the-next-unichar-honour-the-siz.patch | 29 - ...ise-level-of-Found-dependency.-lines.patch | 42 - ...itecture-remove-cris-from-uname-list.patch | 27 - ...error-when-state-restore-is-disabled.patch | 33 - ...f-kernel-exposes-backlight-device-wi.patch | 40 - ...use-list-unit-files-to-get-all-units.patch | 39 - 0004-bootchart-check-return-of-strftime.patch | 63 - 0004-config-parser-fix-mem-leak.patch | 24 - ...rt-for-ERRNO-NOTIFY_SOCKET-message-p.patch | 67 - ...o-relabel-mounts-before-we-loaded-th.patch | 29 - ...tion-destructiveness-check-once-more.patch | 32 - ...the-rescue-argument-to-rescue.target.patch | 27 - ...-add-unit-dependency-on-dev-null-dev.patch | 53 - ...te-more-shell-characters-in-envfiles.patch | 54 - ...y-one-error-in-array-index-assertion.patch | 35 - ...C-network-interface-name-irdac-idrac.patch | 22 - ...rator-properly-escape-instance-names.patch | 39 - ...base-of-Bluetooth-company-identifier.patch | 50 - ...at-description-and-document-reloadin.patch | 60 - 0004-hwdb-update.patch | 3964 -- ...ement-a-union-to-pad-out-file_handle.patch | 117 - ...g-jobs-to-run-queue-in-unit_coldplug.patch | 30 - ...journal-do-server_vacuum-for-sigusr1.patch | 30 - ...ller-should-fail-if-prepare_vt-fails.patch | 134 - ...il-display-count-if-a-device-has-no-.patch | 45 - ...re-GetMachineAddresses-is-available-.patch | 38 - ...ument-missing-options-of-systemd-run.patch | 113 - ...-t-manage-to-properly-allocate-the-e.patch | 43 - ...vent-loop-terminates-explicitly-clos.patch | 27 - ...t-check-the-value-of-received-signal.patch | 46 - ...y-that-object-start-with-the-field-n.patch | 41 - ...ntial-double-free-crash-in-child-pro.patch | 38 - 0004-shared-conf-parser.patch | 31 - ...-don-t-clear-store_wtmp-in-utmp_put_.patch | 106 - ...handle-if-our-service-vanished-durin.patch | 30 - ...d-detect-virt-only-discover-Xen-domU.patch | 79 - ...-python-use-.hex-instead-of-.get_hex.patch | 46 - ...the-first-error-from-manager_startup.patch | 57 - ...e-should-not-allow-files-ending-with.patch | 28 - ...idering-UID-0xFFFF-and-0xFFFFFFFF-va.patch | 31 - ...var-run-with-run-in-remaining-places.patch | 89 - ...ght-Do-not-clamp-brightness-for-LEDs.patch | 60 - ...-saved-brightness-exceeding-max-brig.patch | 64 - ...-try-to-access-data-for-non-existing.patch | 29 - ...avoid-using-m-kdbus-after-freeing-it.patch | 35 - ...s-close-a-bus-that-failed-to-connect.patch | 28 - ...tate-behind-the-D-Bus-API-not-in-the.patch | 137 - ...e-kernel-s-timezone-when-the-RTC-run.patch | 121 - 0005-cryptsetup-fix-an-OOM-check.patch | 25 - ...base-of-Bluetooth-company-identifier.patch | 73 - 0005-hwdb-update.patch | 1560 - ...aiting-jobs-to-run-queue-during-cold.patch | 34 - ...urnalctl-correct-help-text-for-until.patch | 21 - 0005-login-fix-mem-leak.patch | 23 - 0005-logind-fix-policykit-checks.patch | 43 - 0005-logind-fix-typo.patch | 25 - ...switch-handling-from-logind-main-to-.patch | 119 - 0005-man-fix-path-in-crypttab-5.patch | 26 - ...n_by_handle_at-and-others-via-seccom.patch | 94 - 0005-po-add-Greek-translation.patch | 436 - ...daemon-fix-incorrect-variable-access.patch | 25 - ...-stricter-checking-of-random-boot-id.patch | 37 - ...llocation-if-query-ids-never-reuse-t.patch | 45 - ...cept-negative-ERRNO-notification-mes.patch | 25 - ...-label.h-add-missing-stdio.h-include.patch | 24 - 0005-systemd-python-fix-failing-assert.patch | 26 - ...emd-run-add-some-extra-safety-checks.patch | 34 - ...sd-journal-flush-after-sd-remount-fs.patch | 38 - 0005-util-avoid-double-close-of-fd.patch | 28 - ...-return-1-EINVAL-on-allocation-error.patch | 35 - ...k-to-var-run-at-a-couple-of-problems.patch | 60 - 0006-bus-unref-buscreds-on-failure.patch | 32 - 0006-calendarspec-fix-typo-in-annually.patch | 27 - ...base-of-Bluetooth-company-identifier.patch | 82 - 0006-hwdb-update.patch | 4392 -- ...hat-next-entry-is-after-previous-ent.patch | 70 - 0006-journald-fix-minor-memory-leak.patch | 24 - ...-the-kernel-s-quiet-cmdline-argument.patch | 29 - ...add-mir-to-the-list-of-session-types.patch | 90 - ...e-VT-signal-handler-between-sessions.patch | 246 - ...-the-ExecReload-command-should-be-sy.patch | 39 - ...-parse_boolean-require-exact-matches.patch | 48 - ...device-as-SYSTEMD_READY-0-if-no-file.patch | 30 - ...ization-perturbation-value-right-bef.patch | 75 - ...dian.h-add-missing-byteswap.h-includ.patch | 24 - ...temctl-fix-resource-leak-CID-1237747.patch | 35 - ...tatusErrno-value-in-systemctl-status.patch | 37 - ...o-automatic-cleanup-in-XDG_RUNTIME_D.patch | 26 - ...-agent-Do-tell-what-directory-we-fai.patch | 26 - ...t-that-var-run-must-be-a-symlink-run.patch | 30 - 0007-core-fix-a-potential-mem-leak.patch | 25 - ...ss-duplicate-and-misleading-messages.patch | 66 - ...uplicates-copy-full-BindMount-struct.patch | 31 - ...base-of-Bluetooth-company-identifier.patch | 49 - 0007-hwdb-update.patch | 1910 - ...get-file-after-encountering-an-error.patch | 74 - ...eck-journal-file-size-to-deduce-if-i.patch | 55 - ...crease-the-SendBuffer-of-dev-log-to-.patch | 23 - ...d-add-Plantronics-.Audio-mute-button.patch | 32 - ...warn-if-we-fail-to-request-SO_PASSCR.patch | 29 - ...fix-Display-property-of-user-objects.patch | 147 - ...x-cmdline-switch-inconsistency-betwe.patch | 41 - 0007-networkd-fix-typo.patch | 26 - 0007-po-add-German-translation.patch | 448 - ...ccidentally-turn-of-watchdog-timer-e.patch | 29 - ...atus-text-and-errno-values-each-time.patch | 29 - ...not-ignore-errors-in-symlink-removal.patch | 26 - ...skip-mounting-tmp-if-it-is-a-symlink.patch | 26 - ...Reset-signal-mask-on-re-exec-to-init.patch | 51 - ...-system_bus_socket-for-the-D-Bus-soc.patch | 51 - ...-unregister-PIDs-from-PID-hashtables.patch | 102 - ...-Actually-allow-for-succesfully-load.patch | 31 - ...base-of-Bluetooth-company-identifier.patch | 104 - 0008-hwdb-update.patch | 1425 - ...urnald-fix-memory-leak-on-error-path.patch | 29 - ...ep-modes-are-to-be-separated-by-whit.patch | 36 - ...-update-journald-rate-limit-defaults.patch | 28 - ...counting-of-early-mounts-without-SMA.patch | 32 - ...ess-invalid-memory-if-a-signal-match.patch | 27 - ...er-don-t-leak-memory-on-error-in-DEF.patch | 52 - ...ion-prevent-mangling-unit-names-bash.patch | 87 - ...ode-is-long-long-gone-don-t-mention-.patch | 53 - ...til-introduce-sethostname_idempotent.patch | 85 - ...n-the-user-types-a-overly-long-passw.patch | 33 - ...int_property-to-use-int-for-booleans.patch | 29 - ...an-up-signal-reset-logic-when-reexec.patch | 50 - ...base-of-Bluetooth-company-identifier.patch | 38 - 0009-hwdb-update.patch | 3363 - 0009-journal-do-not-leak-mmaps-on-OOM.patch | 50 - ...-by-one-error-in-Missed-X-kernel-mes.patch | 29 - ...add-syslog-facility-for-messages-com.patch | 40 - ...ence-to-systemd-user-sessions.servic.patch | 25 - ...-out-PropertiesChanged-message-if-ac.patch | 70 - ...format-container_uuid-in-UUID-format.patch | 56 - ...ke-if-somebody-sends-us-a-message-wi.patch | 47 - ...systemd-journald.service-Type-notify.patch | 27 - ...ste-error-and-actually-set-the-new-h.patch | 26 - ...base-of-Bluetooth-company-identifier.patch | 77 - ...-suspending-if-there-are-no-displays.patch | 42 - ...-t-kill-the-unit-when-killing-the-le.patch | 32 - 0010-man-update-link-to-LSB.patch | 35 - ...manager-use-correct-cleanup-function.patch | 30 - ...-PropertiesChanged-signals-for-mount.patch | 51 - ...l-unmounting-only-if-not-running-ins.patch | 27 - ...t-fuse.sshfs-as-a-network-filesystem.patch | 25 - ...d-pthread-flag-for-libsystemd-shared.patch | 28 - ...x-corrupt-output-with-empty-messages.patch | 41 - ...emd-bootchart-fix-spacing-in-command.patch | 28 - ...e-we-do-not-try-to-print-missing-fie.patch | 57 - ...o-logic-when-applied-relative-to-ser.patch | 93 - ...-avoid-misleading-error-message-when.patch | 42 - ...e-extra-arguments-with-verify-and-si.patch | 30 - ...ve-stray-reset-of-error-return-value.patch | 24 - 0012-man-add-missing-comma.patch | 26 - ...rint-anything-while-passwords-are-be.patch | 180 - ...-bit-more-NFS-compatible-when-checki.patch | 36 - ...systemd-timedate-udev-spelling-fixes.patch | 118 - ...scape-instance-name-in-systemd-backl.patch | 38 - 0014-journald-with-journaling-FS.patch | 100 +- ...ection-of-missing-proc-self-loginuid.patch | 31 - ...ripts-know-about-Required-and-Should.patch | 68 - ...pletion-smart-to-be-able-to-redirect.patch | 154 +- ...enable-by_path-links-for-ata-devices.patch | 21 +- 1003-udev-netlink-null-rules.patch | 12 +- ...fault-links-for-primary-cd_dvd-drive.patch | 14 +- 1006-udev-always-rename-network.patch | 48 +- 1008-add-msft-compability-rules.patch | 25 - 1009-cdrom_id-use-the-old-MMC-fallback.patch | 54 - ...ev-increase-result-size-for-programs.patch | 13 - 1014-udev-update-net_id-comments.patch | 102 - ...naming-we-cannot-use-virtio-numbers-.patch | 99 - ...name_to_handle_at-is-not-implemented.patch | 30 - ...ynchronize-block-device-event-handli.patch | 83 - ...-the-execution-of-RUN-when-renaming-.patch | 140 - ...-udev-avoid-use-of-uninitialized-err.patch | 37 - ...eyboard-also-hook-into-change-events.patch | 27 - 1021-udev-re-add-persistent-net-rules.patch | 343 +- ...um-API-and-all-assumptions-about-seq.patch | 1445 - ...board-do-tell-on-which-device-EVIOCS.patch | 31 - ...ev-always-close-lock-file-descriptor.patch | 41 - ...ice-mapper-from-block-device-ownersh.patch | 39 - 1026-udevd-inotify-modernizations.patch | 85 - ...change-events-for-partitions-when-to.patch | 84 - 1028-udev-link-config-fix-mem-leak.patch | 34 - ...first-re-reading-the-partition-table.patch | 94 - ...guard-REREADP-logic-with-open-O_ECXL.patch | 23 - ...re-we-always-get-change-for-the-disk.patch | 98 - ...DPT-by-exclusive-lock-instead-of-O_E.patch | 29 - ...lude-device-mapper-from-block-device.patch | 39 - ...eturn-value-from-udev_enumerate_scan.patch | 26 - ...x-invalid-free-in-enable_name_policy.patch | 30 - ...le-fixed-return-code-for-empty-queue.patch | 34 - ...-udev_queue_get_queue_is_empty-logic.patch | 25 - ...ovide-file-descriptor-to-watch-busy-.patch | 248 - ...tch-entire-directory-to-allow-the-re.patch | 40 - 1044-rules-update-qemu-hid-rules.patch | 45 - ...-t-enable-usb-pm-for-Avocent-devices.patch | 29 - ...ink-builtin-should-print-the-reason-.patch | 61 - ...et_setup_link-add-a-bit-more-logging.patch | 39 - ...-ignore-errors-due-to-missing-MAC-ad.patch | 36 - ...-rules-uaccess-add-ID_SOFTWARE_RADIO.patch | 45 - ...from-block-device-ownership-event-lo.patch | 53 - ...add-event-timeout-commandline-option.patch | 119 - 1057-udev-unify-event-timeout-handling.patch | 504 - 1058-udev-unify-event-timeout-handling.patch | 504 - ...t-dd5eddd28a74a49607a8fffcaf960040db.patch | 26 - ...emd-to-manage-loop-device-partitions.patch | 32 - ...press-ID_PATH-for-devices-with-an-un.patch | 96 - ...db-do-not-look-at-usb_device-parents.patch | 63 - ...dev-bump-event-timeout-to-60-seconds.patch | 39 - ...lity-links-for-truncated-by-id-links.patch | 64 +- ...lve-correctly-database-names-on-chan.patch | 53 - ...ink-export-the-.link-filename-applie.patch | 26 - ...link-preserve-ID_NET_LINK_FILE-and-I.patch | 27 - ...et-setup-link-remove-stray-linebreak.patch | 27 - ...full-db-on-MOVE-events-for-devices-w.patch | 54 - ...-udev-netif_rename-don-t-log-to-kmsg.patch | 39 - 1073-udev-drop-print_kmsg.patch | 75 - ...-fix-copy-paste-error-in-log-message.patch | 25 - 1075-udev-timeout-increase-timeout.patch | 28 - ...n-after-a-third-of-the-timeout-befor.patch | 350 - ...n-after-a-third-of-the-timeout-befor.patch | 350 - ...e-userspace-firmware-loading-support.patch | 349 - ...e-userspace-firmware-loading-support.patch | 349 - ...se_argv-warn-if-argumens-are-invalid.patch | 73 - ...vd-check-return-of-various-functions.patch | 55 - ...dm-hwdb-check-return-value-of-fseeko.patch | 45 - ...-udev-node-warn-if-chmod-chown-fails.patch | 34 - ...trl-log-if-setting-SO_PASSCRED-fails.patch | 45 - 1085-udev-fix-typos.patch | 33 - ...-udevd-don-t-fail-if-run-udev-exists.patch | 25 - ...init-timeout-for-kmod-loaded-modules.patch | 135 - 1089-fix-cgroup-device-controller.patch | 74 - ...-supported_parent-for-well-known-SCS.patch | 58 - 1091-udev-path_id-update-comments.patch | 42 - ...dev-do-not-accept-invalid-log-levels.patch | 67 - ...-of-udev.event-timeout-kernel-parame.patch | 23 - ...-constants-in-kernel-cmdline-parsers.patch | 58 - ...t-ssd-disk-to-use-deadline-scheduler.patch | 21 +- 1096-new-udev-root-symlink-generator.patch | 105 +- ...-increase-maximum-number-of-children.patch | 26 +- ...up-respect-kernel-name-assign-policy.patch | 154 - 513-nspawn-veth.patch | 39 - ...es-permissions-to-follow-openSUSE-po.patch | 15 +- ...-suspend-hibernate-calls-to-pm-utils.patch | 49 +- ...pport-for-SysV-scripts-for-the-early.patch | 140 - ...alid-address-familily-is-passed-to-g.patch | 24 - avoid-leaking-socket-descriptors.patch | 339 - boot.udev | 74 - ...le-nss-myhostname-warning-bnc-783841.patch | 18 - ...rtname-is-set-as-hostname-bnc-820213.patch | 17 +- fix-owner-of-var-log-btmp.patch | 20 - ...-boot-prefixed-initscript-bnc-746506.patch | 26 +- ...STEMCTL_OPTIONS-environment-variable.patch | 42 - ...plock-and-compose_table-and-kbd_rate.patch | 95 +- handle-etc-HOSTNAME.patch | 77 - ...lock-value-in-etc-sysconfig-keyboard.patch | 209 +- ...lang-value-in-etc-sysconfig-language.patch | 20 +- insserv-generator.patch | 52 +- journald-advice-about-use-of-memory.patch | 146 +- kbd-model-map.patch | 15 +- ...linker-find-libudev-for-libdevmapper.patch | 40 +- localfs.service | 8 - log-target-null-instead-kmsg.patch | 116 - macros.systemd.upstream | 51 +- ....service-conflict-with-syslog.socket.patch | 19 +- ...USE-etc-sysconfig-kernel-module-list.patch | 64 - ...lly-warn-if-nss-myhostname-is-called.patch | 102 - parse-crypttab-for-noauto-option.patch | 47 +- ...-quit-and-wait-for-emergency-service.patch | 52 +- prepare-suspend-to-disk.patch | 28 - ...script-heuristic-and-add-new-LSB-hea.patch | 91 - respect-nfs-bg-option.patch | 31 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 30 +- ...vice-with-detected-pid-as-RemainAfte.patch | 31 - set-and-use-default-logconsole.patch | 47 +- ...ng-assertion-monotonic-clock-message.patch | 38 - shut-up-rpmlint-on-var-log-journal.patch | 14 +- suse-sysv-bootd-support.diff | 86 + ...ndle-boot-sysctl.conf-kernel_release.patch | 28 +- systemctl-set-default-target.patch | 20 +- systemd-210.tar.xz | 3 - systemd-219.tar.xz | 3 + systemd-add-user-keep.patch | 129 +- systemd-dbus-system-bus-address.patch | 39 +- systemd-journald.init | 33 - systemd-mini-rpmlintrc | 2 + systemd-mini.changes | 560 + systemd-mini.spec | 1727 +- systemd-pam_config.patch | 28 +- systemd-powerd-initctl-support.patch | 16 +- systemd-rpmlintrc | 2 + systemd-sleep-grub | 204 - systemd-tmp-safe-defaults.patch | 16 +- systemd.changes | 560 + systemd.spec | 1727 +- ...or-openSUSE-version-of-etc-sysconfig.patch | 24 - ...s-do-not-clean-for-mandb-index-files.patch | 22 - tty-ask-password-agent-on-console.patch | 334 +- ...addentropy-ioctl-to-load-random-seed.patch | 30 +- ...r-sbin-sulogin-for-emergency-service.patch | 44 - vhangup-on-all-consoles.patch | 24 +- watch_resolv.conf_for_become_changed.patch | 52 +- 516 files changed, 2938 insertions(+), 110758 deletions(-) delete mode 100644 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch delete mode 100644 0001-Do-not-unescape-unit-names-in-Install-section.patch delete mode 100644 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch delete mode 100644 0001-Fix-systemd-stdio-bridge-symlink.patch delete mode 100644 0001-Fix-warning-about-unused-variable-with-SELINUX.patch delete mode 100644 0001-activate-fix-fd-leak-in-do_accept.patch delete mode 100644 0001-architecture-Add-tilegx.patch delete mode 100644 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch delete mode 100644 0001-bash-completion-fix-__get_startable_units.patch delete mode 100644 0001-bash-completion-p-option-for-journalctl.patch delete mode 100644 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch delete mode 100644 0001-bus-proxyd-fix-incorrect-comparison.patch delete mode 100644 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch delete mode 100644 0001-completion-filter-templates-from-restartable-units.patch delete mode 100644 0001-conf-parser-silently-ignore-sections-starting-with-X.patch delete mode 100644 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch delete mode 100644 0001-core-close-socket-fds-asynchronously.patch delete mode 100644 0001-core-don-t-allow-enabling-if-unit-is-masked.patch delete mode 100644 0001-core-fix-invalid-free-in-killall.patch delete mode 100644 0001-core-fix-resource-leak-in-manager_environment_add.patch delete mode 100644 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch delete mode 100644 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch delete mode 100644 0001-core-use-correct-format-string-for-UIDs.patch delete mode 100644 0001-detect-virt-Fix-Xen-domU-discovery.patch delete mode 100644 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch delete mode 100644 0001-event-pull-in-sd-event.h-from-event-util.h.patch delete mode 100644 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch delete mode 100644 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0001-hwdb-fix-case-sensitive-match.patch delete mode 100644 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch delete mode 100644 0001-hwdb-update.patch delete mode 100644 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch delete mode 100644 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch delete mode 100644 0001-journal-cleanup-up-error-handling-in-update_catalog.patch delete mode 100644 0001-journal-compress-return-early-in-uncompress_startswi.patch delete mode 100644 0001-journal-fix-export-of-messages-containing-newlines.patch delete mode 100644 0001-journalctl-do-not-output-reboot-markers-when-running.patch delete mode 100644 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch delete mode 100644 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch delete mode 100644 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch delete mode 100644 0001-login-fix-memory-leak-on-DropController.patch delete mode 100644 0001-login-fix-pos-array-allocation.patch delete mode 100644 0001-login-pause-devices-before-acknowledging-VT-switches.patch delete mode 100644 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch delete mode 100644 0001-login-simplify-controller-handling.patch delete mode 100644 0001-logind-add-support-for-Triton2-Power-Button.patch delete mode 100644 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch delete mode 100644 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch delete mode 100644 0001-machine-don-t-return-uninitialized-variable.patch delete mode 100644 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch delete mode 100644 0001-make-209-working-on-older-dist.patch delete mode 100644 0001-make-fortify-happy-with-ppoll.patch delete mode 100644 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch delete mode 100644 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch delete mode 100644 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch delete mode 100644 0001-nspawn-fix-network-interface.patch delete mode 100644 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch delete mode 100644 0001-parse_uid-return-ENXIO-for-1-uids.patch delete mode 100644 0001-po-add-Ukrainian-translation.patch delete mode 100644 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch delete mode 100644 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch delete mode 100644 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch delete mode 100644 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch delete mode 100644 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch delete mode 100644 0001-sd-event-restore-correct-timeout-behaviour.patch delete mode 100644 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch delete mode 100644 0001-selinux-access-fix-broken-ternary-operator.patch delete mode 100644 0001-shell-completion-fix-completion-of-inactive-units.patch delete mode 100644 0001-shutdownd-clean-up-initialization-of-struct.patch delete mode 100644 0001-socket-introduce-SELinuxContextFromNet-option.patch delete mode 100644 0001-strv-add-an-additional-overflow-check-when-enlarging.patch delete mode 100644 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch delete mode 100644 0001-systemctl-allow-to-change-the-default-target-without.patch delete mode 100644 0001-systemctl-let-list-units-unit-files-honour-type.patch delete mode 100644 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch delete mode 100644 0001-systemd-continue-switch-root-even-if-umount-fails.patch delete mode 100644 0001-systemd-detect-virt-detect-s390-virtualization.patch delete mode 100644 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch delete mode 100644 0001-sysv-order-initscripts-which-provide-network-before-.patch delete mode 100644 0001-tmpfiles-compare-return-against-correct-errno.patch delete mode 100644 0001-tmpfiles-fix-permissions-on-new-journal-files.patch delete mode 100644 0001-umount-modernizations.patch delete mode 100644 0001-units-introduce-network-pre.target-as-place-to-hook-.patch delete mode 100644 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch delete mode 100644 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch delete mode 100644 0001-units-order-network-online.target-after-network.targ.patch delete mode 100644 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch delete mode 100644 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch delete mode 100644 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch delete mode 100644 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch delete mode 100644 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch delete mode 100644 0001-virt-rework-container-detection-logic.patch delete mode 100644 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch delete mode 100644 0002-Be-more-verbose-when-bind-or-listen-fails.patch delete mode 100644 0002-analyze-avoid-a-null-dereference.patch delete mode 100644 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch delete mode 100644 0002-architecture-Add-cris.patch delete mode 100644 0002-backlight-do-nothing-if-max_brightness-is-0.patch delete mode 100644 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch delete mode 100644 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch delete mode 100644 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch delete mode 100644 0002-bus-remove-unused-check.patch delete mode 100644 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch delete mode 100644 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch delete mode 100644 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch delete mode 100644 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch delete mode 100644 0002-fsck-include-device-name-in-the-message-about-missin.patch delete mode 100644 0002-hostnamed-add-a-new-chassis-type-for-watches.patch delete mode 100644 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch delete mode 100644 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0002-hwdb-update.patch delete mode 100644 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch delete mode 100644 0002-journal-compress-improve-xz-compression-performance.patch delete mode 100644 0002-journal-properly-detect-language-specified-in-line.patch delete mode 100644 0002-journalctl-man-allow-only-between-terms.patch delete mode 100644 0002-journald-make-MaxFileSec-really-default-to-1month.patch delete mode 100644 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch delete mode 100644 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch delete mode 100644 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch delete mode 100644 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch delete mode 100644 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch delete mode 100644 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch delete mode 100644 0002-logind-add-support-for-TPS65217-Power-Button.patch delete mode 100644 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch delete mode 100644 0002-logind-fix-printf-format.patch delete mode 100644 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch delete mode 100644 0002-man-document-yearly-and-annually-in-systemd.time-7.patch delete mode 100644 0002-man-note-that-entire-sections-can-now-be-ignored.patch delete mode 100644 0002-man-tmpfiles.d-recommend-using-b-and-c.patch delete mode 100644 0002-manager-flush-memory-stream-before-using-the-buffer.patch delete mode 100644 0002-namespace-fix-uninitialized-memory-access.patch delete mode 100644 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch delete mode 100644 0002-nspawn-restore-journal-directory-is-empty-check.patch delete mode 100644 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch delete mode 100644 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch delete mode 100644 0002-shell-completion-prevent-mangling-unit-names.patch delete mode 100644 0002-shell-completion-propose-templates-for-disable-re-en.patch delete mode 100644 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch delete mode 100644 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch delete mode 100644 0002-snapshot-return-error-when-snapshot-exists.patch delete mode 100644 0002-switch-root-umount-the-old-root-correctly.patch delete mode 100644 0002-sysctl-replaces-some-slashes-with-dots.patch delete mode 100644 0002-systemctl-obey-state-in-list-unit-files.patch delete mode 100644 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch delete mode 100644 0002-systemctl-update-NAME-to-PATTERN-in-help.patch delete mode 100644 0002-systemd-fix-error-message.patch delete mode 100644 0002-systemd-try-harder-to-bind-to-notify-socket.patch delete mode 100644 0002-time-also-support-infinity-syntax-in-parse_nsec.patch delete mode 100644 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch delete mode 100644 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch delete mode 100644 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch delete mode 100644 0002-units-serial-getty-.service-use-the-default-RestartS.patch delete mode 100644 0002-util-avoid-non-portable-__WORDSIZE.patch delete mode 100644 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch delete mode 100644 0002-util-fix-has-cc-check-and-add-test.patch delete mode 100644 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch delete mode 100644 0002-util-remove-a-unnecessary-check.patch delete mode 100644 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch delete mode 100644 0002-vconsole-setup-run-setfont-before-loadkeys.patch delete mode 100644 0003-Add-quotes-to-warning-message.patch delete mode 100644 0003-Always-check-asprintf-return-code.patch delete mode 100644 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch delete mode 100644 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch delete mode 100644 0003-analyze-fix-mem-leak.patch delete mode 100644 0003-analyze-fix-plot-with-bad-y-size.patch delete mode 100644 0003-arch-add-crisv32-to-uname-check.patch delete mode 100644 0003-architecture-add-string-table-entries-for-mips-le-ar.patch delete mode 100644 0003-backlight-unify-error-messages.patch delete mode 100644 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch delete mode 100644 0003-bootchart-parse-userinput-with-safe_atoi.patch delete mode 100644 0003-busname-don-t-drop-service-from-the-result-string.patch delete mode 100644 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch delete mode 100644 0003-core-allow-transient-mount-units.patch delete mode 100644 0003-core-make-sure-to-serialize-jobs-for-all-units.patch delete mode 100644 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch delete mode 100644 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch delete mode 100644 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch delete mode 100644 0003-delta-do-not-use-unicode-chars-in-C-locale.patch delete mode 100644 0003-fileio-label-return-error-when-writing-fails.patch delete mode 100644 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch delete mode 100644 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch delete mode 100644 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0003-install-fix-invalid-free-in-unit_file_mask.patch delete mode 100644 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch delete mode 100644 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch delete mode 100644 0003-keymap-Annotate-all-micmute-workarounds.patch delete mode 100644 0003-keymap-Fix-HP-Pavillon-DV7.patch delete mode 100644 0003-localed-consider-an-unset-model-as-a-wildcard.patch delete mode 100644 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch delete mode 100644 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch delete mode 100644 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch delete mode 100644 0003-man-we-don-t-have-Wanted-dependency.patch delete mode 100644 0003-mount-order-options-before-other-arguments-to-mount.patch delete mode 100644 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch delete mode 100644 0003-sd-bus-check-return-value-of-vasprintf.patch delete mode 100644 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch delete mode 100644 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch delete mode 100644 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch delete mode 100644 0003-sd-journal-properly-convert-object-size-on-big-endia.patch delete mode 100644 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch delete mode 100644 0003-systemd-use-pager-for-test-and-help.patch delete mode 100644 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch delete mode 100644 0003-tty-ask-password-agent-return-negative-errno.patch delete mode 100644 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch delete mode 100644 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch delete mode 100644 0003-units-remove-RefuseManualStart-from-units-which-are-.patch delete mode 100644 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch delete mode 100644 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch delete mode 100644 0004-Raise-level-of-Found-dependency.-lines.patch delete mode 100644 0004-architecture-remove-cris-from-uname-list.patch delete mode 100644 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch delete mode 100644 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch delete mode 100644 0004-bash-completion-use-list-unit-files-to-get-all-units.patch delete mode 100644 0004-bootchart-check-return-of-strftime.patch delete mode 100644 0004-config-parser-fix-mem-leak.patch delete mode 100644 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch delete mode 100644 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch delete mode 100644 0004-core-fix-transaction-destructiveness-check-once-more.patch delete mode 100644 0004-core-map-the-rescue-argument-to-rescue.target.patch delete mode 100644 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch delete mode 100644 0004-fileio-quote-more-shell-characters-in-envfiles.patch delete mode 100644 0004-fix-off-by-one-error-in-array-index-assertion.patch delete mode 100644 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch delete mode 100644 0004-getty-generator-properly-escape-instance-names.patch delete mode 100644 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0004-hwdb-update-format-description-and-document-reloadin.patch delete mode 100644 0004-hwdb-update.patch delete mode 100644 0004-implement-a-union-to-pad-out-file_handle.patch delete mode 100644 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch delete mode 100644 0004-journal-do-server_vacuum-for-sigusr1.patch delete mode 100644 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch delete mode 100644 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch delete mode 100644 0004-machined-make-sure-GetMachineAddresses-is-available-.patch delete mode 100644 0004-man-document-missing-options-of-systemd-run.patch delete mode 100644 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch delete mode 100644 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch delete mode 100644 0004-sd-event-check-the-value-of-received-signal.patch delete mode 100644 0004-sd-journal-verify-that-object-start-with-the-field-n.patch delete mode 100644 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch delete mode 100644 0004-shared-conf-parser.patch delete mode 100644 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch delete mode 100644 0004-socket-properly-handle-if-our-service-vanished-durin.patch delete mode 100644 0004-systemd-detect-virt-only-discover-Xen-domU.patch delete mode 100644 0004-systemd-python-use-.hex-instead-of-.get_hex.patch delete mode 100644 0004-systemd-return-the-first-error-from-manager_startup.patch delete mode 100644 0004-util-ignore_file-should-not-allow-files-ending-with.patch delete mode 100644 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch delete mode 100644 0005-Replace-var-run-with-run-in-remaining-places.patch delete mode 100644 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch delete mode 100644 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch delete mode 100644 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch delete mode 100644 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch delete mode 100644 0005-bus-close-a-bus-that-failed-to-connect.patch delete mode 100644 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch delete mode 100644 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch delete mode 100644 0005-cryptsetup-fix-an-OOM-check.patch delete mode 100644 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0005-hwdb-update.patch delete mode 100644 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch delete mode 100644 0005-journalctl-correct-help-text-for-until.patch delete mode 100644 0005-login-fix-mem-leak.patch delete mode 100644 0005-logind-fix-policykit-checks.patch delete mode 100644 0005-logind-fix-typo.patch delete mode 100644 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch delete mode 100644 0005-man-fix-path-in-crypttab-5.patch delete mode 100644 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch delete mode 100644 0005-po-add-Greek-translation.patch delete mode 100644 0005-sd-daemon-fix-incorrect-variable-access.patch delete mode 100644 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch delete mode 100644 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch delete mode 100644 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch delete mode 100644 0005-shared-label.h-add-missing-stdio.h-include.patch delete mode 100644 0005-systemd-python-fix-failing-assert.patch delete mode 100644 0005-systemd-run-add-some-extra-safety-checks.patch delete mode 100644 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch delete mode 100644 0005-util-avoid-double-close-of-fd.patch delete mode 100644 0006-Do-not-return-1-EINVAL-on-allocation-error.patch delete mode 100644 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch delete mode 100644 0006-bus-unref-buscreds-on-failure.patch delete mode 100644 0006-calendarspec-fix-typo-in-annually.patch delete mode 100644 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0006-hwdb-update.patch delete mode 100644 0006-journal-assume-that-next-entry-is-after-previous-ent.patch delete mode 100644 0006-journald-fix-minor-memory-leak.patch delete mode 100644 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch delete mode 100644 0006-login-add-mir-to-the-list-of-session-types.patch delete mode 100644 0006-login-share-VT-signal-handler-between-sessions.patch delete mode 100644 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch delete mode 100644 0006-parse_boolean-require-exact-matches.patch delete mode 100644 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch delete mode 100644 0006-sd-event-initialization-perturbation-value-right-bef.patch delete mode 100644 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch delete mode 100644 0006-systemctl-fix-resource-leak-CID-1237747.patch delete mode 100644 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch delete mode 100644 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch delete mode 100644 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch delete mode 100644 0007-README-document-that-var-run-must-be-a-symlink-run.patch delete mode 100644 0007-core-fix-a-potential-mem-leak.patch delete mode 100644 0007-dbus-suppress-duplicate-and-misleading-messages.patch delete mode 100644 0007-drop_duplicates-copy-full-BindMount-struct.patch delete mode 100644 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0007-hwdb-update.patch delete mode 100644 0007-journal-forget-file-after-encountering-an-error.patch delete mode 100644 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch delete mode 100644 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch delete mode 100644 0007-keyboard-add-Plantronics-.Audio-mute-button.patch delete mode 100644 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch delete mode 100644 0007-logind-fix-Display-property-of-user-objects.patch delete mode 100644 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch delete mode 100644 0007-networkd-fix-typo.patch delete mode 100644 0007-po-add-German-translation.patch delete mode 100644 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch delete mode 100644 0007-service-flush-status-text-and-errno-values-each-time.patch delete mode 100644 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch delete mode 100644 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch delete mode 100644 0008-Reset-signal-mask-on-re-exec-to-init.patch delete mode 100644 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch delete mode 100644 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch delete mode 100644 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch delete mode 100644 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0008-hwdb-update.patch delete mode 100644 0008-journald-fix-memory-leak-on-error-path.patch delete mode 100644 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch delete mode 100644 0008-man-update-journald-rate-limit-defaults.patch delete mode 100644 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch delete mode 100644 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch delete mode 100644 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch delete mode 100644 0008-shell-completion-prevent-mangling-unit-names-bash.patch delete mode 100644 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch delete mode 100644 0008-util-introduce-sethostname_idempotent.patch delete mode 100644 0009-ask-password-when-the-user-types-a-overly-long-passw.patch delete mode 100644 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch delete mode 100644 0009-core-clean-up-signal-reset-logic-when-reexec.patch delete mode 100644 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0009-hwdb-update.patch delete mode 100644 0009-journal-do-not-leak-mmaps-on-OOM.patch delete mode 100644 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch delete mode 100644 0009-journald-always-add-syslog-facility-for-messages-com.patch delete mode 100644 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch delete mode 100644 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch delete mode 100644 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch delete mode 100644 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch delete mode 100644 0009-units-make-systemd-journald.service-Type-notify.patch delete mode 100644 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch delete mode 100644 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0010-logind-allow-suspending-if-there-are-no-displays.patch delete mode 100644 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch delete mode 100644 0010-man-update-link-to-LSB.patch delete mode 100644 0010-manager-use-correct-cleanup-function.patch delete mode 100644 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch delete mode 100644 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch delete mode 100644 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch delete mode 100644 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch delete mode 100644 0011-logs-show-fix-corrupt-output-with-empty-messages.patch delete mode 100644 0011-man-systemd-bootchart-fix-spacing-in-command.patch delete mode 100644 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch delete mode 100644 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch delete mode 100644 0012-core-transaction-avoid-misleading-error-message-when.patch delete mode 100644 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch delete mode 100644 0012-journald-remove-stray-reset-of-error-return-value.patch delete mode 100644 0012-man-add-missing-comma.patch delete mode 100644 0012-manager-do-not-print-anything-while-passwords-are-be.patch delete mode 100644 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch delete mode 100644 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch delete mode 100644 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch delete mode 100644 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch delete mode 100644 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch delete mode 100644 1008-add-msft-compability-rules.patch delete mode 100644 1009-cdrom_id-use-the-old-MMC-fallback.patch delete mode 100644 1010-udev-increase-result-size-for-programs.patch delete mode 100644 1014-udev-update-net_id-comments.patch delete mode 100644 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch delete mode 100644 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch delete mode 100644 1017-udev-serialize-synchronize-block-device-event-handli.patch delete mode 100644 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch delete mode 100644 1019-udev-avoid-use-of-uninitialized-err.patch delete mode 100644 1020-udev-keyboard-also-hook-into-change-events.patch delete mode 100644 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch delete mode 100644 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch delete mode 100644 1024-udev-always-close-lock-file-descriptor.patch delete mode 100644 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch delete mode 100644 1026-udevd-inotify-modernizations.patch delete mode 100644 1027-udev-synthesize-change-events-for-partitions-when-to.patch delete mode 100644 1028-udev-link-config-fix-mem-leak.patch delete mode 100644 1029-udev-try-first-re-reading-the-partition-table.patch delete mode 100644 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch delete mode 100644 1031-udev-make-sure-we-always-get-change-for-the-disk.patch delete mode 100644 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch delete mode 100644 1033-udev-really-exclude-device-mapper-from-block-device.patch delete mode 100644 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch delete mode 100644 1038-udev-fix-invalid-free-in-enable_name_policy.patch delete mode 100644 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch delete mode 100644 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch delete mode 100644 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch delete mode 100644 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch delete mode 100644 1044-rules-update-qemu-hid-rules.patch delete mode 100644 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch delete mode 100644 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch delete mode 100644 1048-udev-net_setup_link-add-a-bit-more-logging.patch delete mode 100644 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch delete mode 100644 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch delete mode 100644 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch delete mode 100644 1056-udevd-add-event-timeout-commandline-option.patch delete mode 100644 1057-udev-unify-event-timeout-handling.patch delete mode 100644 1058-udev-unify-event-timeout-handling.patch delete mode 100644 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch delete mode 100644 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch delete mode 100644 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch delete mode 100644 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch delete mode 100644 1065-udev-bump-event-timeout-to-60-seconds.patch delete mode 100644 1067-udev-always-resolve-correctly-database-names-on-chan.patch delete mode 100644 1068-udev-net_setup_link-export-the-.link-filename-applie.patch delete mode 100644 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch delete mode 100644 1070-rules-net-setup-link-remove-stray-linebreak.patch delete mode 100644 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch delete mode 100644 1072-udev-netif_rename-don-t-log-to-kmsg.patch delete mode 100644 1073-udev-drop-print_kmsg.patch delete mode 100644 1074-udev-fix-copy-paste-error-in-log-message.patch delete mode 100644 1075-udev-timeout-increase-timeout.patch delete mode 100644 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch delete mode 100644 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch delete mode 100644 1078-udev-remove-userspace-firmware-loading-support.patch delete mode 100644 1079-udev-remove-userspace-firmware-loading-support.patch delete mode 100644 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch delete mode 100644 1081-udevd-check-return-of-various-functions.patch delete mode 100644 1082-udevadm-hwdb-check-return-value-of-fseeko.patch delete mode 100644 1083-udev-node-warn-if-chmod-chown-fails.patch delete mode 100644 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch delete mode 100644 1085-udev-fix-typos.patch delete mode 100644 1086-udevd-don-t-fail-if-run-udev-exists.patch delete mode 100644 1087-infinit-timeout-for-kmod-loaded-modules.patch delete mode 100644 1089-fix-cgroup-device-controller.patch delete mode 100644 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch delete mode 100644 1091-udev-path_id-update-comments.patch delete mode 100644 1092-libudev-do-not-accept-invalid-log-levels.patch delete mode 100644 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch delete mode 100644 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch delete mode 100644 1098-udev-link_setup-respect-kernel-name-assign-policy.patch delete mode 100644 513-nspawn-veth.patch delete mode 100644 Revert-service-drop-support-for-SysV-scripts-for-the-early.patch delete mode 100644 avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch delete mode 100644 avoid-leaking-socket-descriptors.patch delete mode 100644 boot.udev delete mode 100644 disable-nss-myhostname-warning-bnc-783841.patch delete mode 100644 fix-owner-of-var-log-btmp.patch delete mode 100644 handle-SYSTEMCTL_OPTIONS-environment-variable.patch delete mode 100644 handle-etc-HOSTNAME.patch delete mode 100644 localfs.service delete mode 100644 log-target-null-instead-kmsg.patch delete mode 100644 module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch delete mode 100644 optionally-warn-if-nss-myhostname-is-called.patch delete mode 100644 prepare-suspend-to-disk.patch delete mode 100644 remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch delete mode 100644 service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch delete mode 100644 shut-up-annoying-assertion-monotonic-clock-message.patch create mode 100644 suse-sysv-bootd-support.diff delete mode 100644 systemd-210.tar.xz create mode 100644 systemd-219.tar.xz delete mode 100644 systemd-journald.init delete mode 100644 systemd-sleep-grub delete mode 100644 timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch delete mode 100644 tmpfiles-do-not-clean-for-mandb-index-files.patch delete mode 100644 use-usr-sbin-sulogin-for-emergency-service.patch diff --git a/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch b/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch deleted file mode 100644 index 53ccbcf5..00000000 --- a/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch +++ /dev/null @@ -1,110 +0,0 @@ -Based on 874bc134ac6504c45e94174e37af13ff21a6bfe2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 14 Jul 2014 16:53:23 -0400 -Subject: [PATCH] Clear up confusion wrt. ENTRY_SIZE_MAX and DATA_SIZE_MAX - -Define DATA_SIZE_MAX to mean the maximum size of a single -field, and ENTRY_SIZE_MAX to mean the size of the whole -entry, with some rough calculation of overhead over the payload. - -Check if entries are not too big when processing native journal -messages. ---- - src/journal/coredump.c | 6 +++--- - src/journal/journald-native.c | 25 +++++++++++++++++++++---- - 2 files changed, 24 insertions(+), 7 deletions(-) ---- src/journal/coredump.c -+++ src/journal/coredump.c 2014-07-16 13:02:54.438235659 +0000 -@@ -38,10 +38,10 @@ - #include "cgroup-util.h" - - /* Few programs have less than 3MiB resident */ --#define COREDUMP_MIN_START (3*1024*1024) -+#define COREDUMP_MIN_START (3*1024*1024u) - /* Make sure to not make this larger than the maximum journal entry -- * size. See ENTRY_SIZE_MAX in journald-native.c. */ --#define COREDUMP_MAX (767*1024*1024) -+ * size. See DATA_SIZE_MAX in journald-native.c. */ -+#define COREDUMP_MAX (1024*1024*767u) - - enum { - ARG_PID = 1, ---- src/journal/journald-native.c -+++ src/journal/journald-native.c 2014-07-16 12:50:45.000000000 +0000 -@@ -34,8 +34,8 @@ - - /* Make sure not to make this smaller than the maximum coredump - * size. See COREDUMP_MAX in coredump.c */ --#define ENTRY_SIZE_MAX (1024*1024*768) --#define DATA_SIZE_MAX (1024*1024*768) -+#define ENTRY_SIZE_MAX (1024*1024*770u) -+#define DATA_SIZE_MAX (1024*1024*768u) - - static bool valid_user_field(const char *p, size_t l) { - const char *a; -@@ -86,7 +86,7 @@ void server_process_native_message( - struct iovec *iovec = NULL; - unsigned n = 0, j, tn = (unsigned) -1; - const char *p; -- size_t remaining, m = 0; -+ size_t remaining, m = 0, entry_size = 0; - int priority = LOG_INFO; - char *identifier = NULL, *message = NULL; - pid_t object_pid = 0; -@@ -110,9 +110,17 @@ void server_process_native_message( - - if (e == p) { - /* Entry separator */ -+ -+ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ -+ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", -+ n, entry_size); -+ continue; -+ } -+ - server_dispatch_message(s, iovec, n, m, ucred, tv, label, label_len, NULL, priority, object_pid); - n = 0; - priority = LOG_INFO; -+ entry_size = 0; - - p++; - remaining--; -@@ -150,6 +158,7 @@ void server_process_native_message( - iovec[n].iov_base = (char*) p; - iovec[n].iov_len = l; - n++; -+ entry_size += iovec[n].iov_len; - - /* We need to determine the priority - * of this entry for the rate limiting -@@ -218,7 +227,7 @@ void server_process_native_message( - l = le64toh(l_le); - - if (l > DATA_SIZE_MAX) { -- log_debug("Received binary data block too large, ignoring."); -+ log_debug("Received binary data block of %zu bytes is too large, ignoring.", l); - break; - } - -@@ -242,6 +251,7 @@ void server_process_native_message( - iovec[n].iov_base = k; - iovec[n].iov_len = (e - p) + 1 + l; - n++; -+ entry_size += iovec[n].iov_len; - } else - free(k); - -@@ -255,6 +265,13 @@ void server_process_native_message( - - tn = n++; - IOVEC_SET_STRING(iovec[tn], "_TRANSPORT=journal"); -+ entry_size += strlen("_TRANSPORT=journal"); -+ -+ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ -+ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", -+ n, entry_size); -+ goto finish; -+ } - - if (message) { - if (s->forward_to_syslog) diff --git a/0001-Do-not-unescape-unit-names-in-Install-section.patch b/0001-Do-not-unescape-unit-names-in-Install-section.patch deleted file mode 100644 index 18e4aaa1..00000000 --- a/0001-Do-not-unescape-unit-names-in-Install-section.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on 000f6e5667eb4f73e137cbd0d7395a9f9db7728a Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 26 May 2014 20:09:45 +0200 -Subject: [PATCH] Do not unescape unit names in [Install] section - -https://bugs.freedesktop.org/show_bug.cgi?id=49316 ---- - src/shared/conf-parser.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c 2014-05-27 07:36:20.478236631 +0000 -@@ -723,7 +723,7 @@ int config_parse_strv(const char *unit, - FOREACH_WORD_QUOTED(w, l, rvalue, state) { - _cleanup_free_ char *n; - -- n = cunescape_length(w, l); -+ n = strndup(w, l); - if (!n) - return log_oom(); - diff --git a/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch b/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch deleted file mode 100644 index 7f0f7b9c..00000000 --- a/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5effdfa831d75306fc0ff9b47d39997e4ae87f16 Mon Sep 17 00:00:00 2001 -From: Michael Meeks -Date: Tue, 11 Feb 2014 14:42:26 +0000 -Subject: [PATCH] Don't snprintf a potentially NULL pointer. - ---- - src/shared/log.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/log.c b/src/shared/log.c -index 2a075ff..d6b138f 100644 ---- a/src/shared/log.c -+++ b/src/shared/log.c -@@ -479,7 +479,7 @@ static int log_do_header(char *header, size_t size, - func ? "CODE_FUNCTION=" : "", - func ? LINE_MAX : 0, func, - func ? "\n" : "", -- object ? object_name : "", -+ object_name ? object_name : "", - object ? LINE_MAX : 0, object, /* %.0s means no output */ - object ? "\n" : "", - program_invocation_short_name); --- -1.8.4.5 - diff --git a/0001-Fix-systemd-stdio-bridge-symlink.patch b/0001-Fix-systemd-stdio-bridge-symlink.patch deleted file mode 100644 index 02e7e1cc..00000000 --- a/0001-Fix-systemd-stdio-bridge-symlink.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8100c1a8f58b2fb5d97e156420a7e16562e93bc4 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Sun, 2 Mar 2014 23:37:39 -0500 -Subject: [PATCH] Fix systemd-stdio-bridge symlink - -The symlink is created in bindir (/usr/bin), and points to a binary -which lives in rootlibexecdir (/lib/systemd or /usr/lib/systemd). A -relative symlink does not work here. ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git Makefile.am Makefile.am -index 38445fb..e7134a2 100644 ---- Makefile.am -+++ Makefile.am -@@ -1978,7 +1978,7 @@ systemd_bus_proxyd_LDADD = \ - - bus-proxyd-install-hook: - $(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir) -- $(AM_V_LN)$(LN_S) -f ../lib/systemd/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge -+ $(AM_V_LN)$(LN_S) -f $(rootlibexecdir)/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge - - bus-proxyd-uninstall-hook: - rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge --- -1.7.9.2 - diff --git a/0001-Fix-warning-about-unused-variable-with-SELINUX.patch b/0001-Fix-warning-about-unused-variable-with-SELINUX.patch deleted file mode 100644 index f1fb4ea9..00000000 --- a/0001-Fix-warning-about-unused-variable-with-SELINUX.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 493d521d9ffe706741665a88ea14929913ea2eaf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Sep 2014 09:22:40 -0400 -Subject: [PATCH] Fix warning about unused variable with !SELINUX - -src/shared/label.c:255:15: warning: unused variable 'l' [-Wunused-variable] - char *l = NULL; - ^ ---- - src/shared/label.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/shared/label.c src/shared/label.c -index 02b41f0..b6af38d 100644 ---- src/shared/label.c -+++ src/shared/label.c -@@ -252,9 +252,10 @@ fail: - - int label_get_our_label(char **label) { - int r = -EOPNOTSUPP; -- char *l = NULL; - - #ifdef HAVE_SELINUX -+ char *l = NULL; -+ - r = getcon(&l); - if (r < 0) - return r; --- -1.7.9.2 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index f09e8270..ef656b99 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,25 +1,29 @@ --- rules/99-systemd.rules.in | 2 - src/core/manager.c | 24 ++++++++-- - src/shared/util.c | 101 ++++++++++++++++++++++++++++++++++++++++++++-- + src/core/manager.c | 24 ++++++++--- + src/shared/util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- src/shared/util.h | 1 - 4 files changed, 118 insertions(+), 10 deletions(-) + 4 files changed, 116 insertions(+), 10 deletions(-) ---- systemd-208/rules/99-systemd.rules.in -+++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 +Index: systemd/rules/99-systemd.rules.in +=================================================================== +--- systemd.orig/rules/99-systemd.rules.in ++++ systemd/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*", TAG+="systemd" +-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" ---- systemd-210/src/core/manager.c -+++ systemd-210/src/core/manager.c 2014-04-30 10:51:43.398735332 +0000 -@@ -110,7 +110,7 @@ static int manager_watch_jobs_in_progres +Index: systemd/src/core/manager.c +=================================================================== +--- systemd.orig/src/core/manager.c ++++ systemd/src/core/manager.c +@@ -113,7 +113,7 @@ static int manager_watch_jobs_in_progres #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) @@ -28,7 +32,7 @@ char *p = buffer; assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -119,12 +119,14 @@ static void draw_cylon(char buffer[], si +@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si if (pos > 1) { if (pos > 2) p = mempset(p, ' ', pos-2); @@ -45,7 +49,7 @@ *p++ = '*'; } -@@ -135,7 +137,8 @@ static void draw_cylon(char buffer[], si +@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si *p++ = '*'; if (pos < width-1) p = mempset(p, ' ', width-1-pos); @@ -55,7 +59,7 @@ } } -@@ -150,6 +153,7 @@ void manager_flip_auto_status(Manager *m +@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m } static void manager_print_jobs_in_progress(Manager *m) { @@ -63,7 +67,7 @@ _cleanup_free_ char *job_of_n = NULL; Iterator i; Job *j; -@@ -174,10 +178,20 @@ static void manager_print_jobs_in_progre +@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre assert(counter == print_nr + 1); assert(j); @@ -85,9 +89,11 @@ m->jobs_in_progress_iteration++; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-04-30 10:39:17.154736438 +0000 -@@ -2886,6 +2886,7 @@ int status_vprintf(const char *status, b +Index: systemd/src/shared/util.c +=================================================================== +--- systemd.orig/src/shared/util.c ++++ systemd/src/shared/util.c +@@ -3212,6 +3212,7 @@ int status_vprintf(const char *status, b struct iovec iovec[6] = {}; int n = 0; static bool prev_ephemeral; @@ -95,12 +101,12 @@ assert(format); -@@ -2899,6 +2900,41 @@ int status_vprintf(const char *status, b +@@ -3225,6 +3226,41 @@ int status_vprintf(const char *status, b if (fd < 0) return fd; + if (_unlikely_(is_ansi_console < 0)) -+ is_ansi_console = (int)ansi_console(fd); ++ is_ansi_console = ansi_console(fd); + + if (status && !is_ansi_console) { + const char *esc, *ptr; @@ -137,7 +143,7 @@ if (ellipse) { char *e; size_t emax, sl; -@@ -2921,8 +2957,12 @@ int status_vprintf(const char *status, b +@@ -3247,8 +3283,12 @@ int status_vprintf(const char *status, b } } @@ -152,7 +158,7 @@ prev_ephemeral = ephemeral; if (status) { -@@ -3169,12 +3209,47 @@ void columns_lines_cache_reset(int signu +@@ -3504,8 +3544,22 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -176,6 +182,9 @@ return cached_on_tty; } +@@ -3523,6 +3577,27 @@ int files_same(const char *filea, const + a.st_ino == b.st_ino; + } +bool ansi_console(int fd) { + static int cached_ansi_console = -1; @@ -199,13 +208,13 @@ +} + int running_in_chroot(void) { - struct stat a = {}, b = {}; + int ret; -@@ -3630,7 +3705,25 @@ bool tty_is_vc_resolve(const char *tty) +@@ -4006,7 +4081,23 @@ bool tty_is_vc_resolve(const char *tty) const char *default_term_for_tty(const char *tty) { assert(tty); -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102"; +- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; + if (tty_is_vc_resolve(tty)) + return "TERM=linux"; + @@ -221,16 +230,16 @@ + if (streq(mode, "3270")) + return "TERM=ibm327x"; + } -+ if (streq(tty, "ttyS1")) -+ return "TERM=vt220"; +#endif -+ return "TERM=vt102"; ++ return "TERM=vt220"; } bool dirent_is_file(const struct dirent *de) { ---- systemd-210/src/shared/util.h -+++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000 -@@ -418,6 +418,7 @@ unsigned lines(void); +Index: systemd/src/shared/util.h +=================================================================== +--- systemd.orig/src/shared/util.h ++++ systemd/src/shared/util.h +@@ -475,6 +475,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); diff --git a/0001-activate-fix-fd-leak-in-do_accept.patch b/0001-activate-fix-fd-leak-in-do_accept.patch deleted file mode 100644 index 14104a34..00000000 --- a/0001-activate-fix-fd-leak-in-do_accept.patch +++ /dev/null @@ -1,26 +0,0 @@ -From aa44499da15a8fa7026463555a7a27e55e4e24a8 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 22:14:41 +0300 -Subject: [PATCH] activate: fix fd leak in do_accept() - -Found with Coverity. ---- - src/activate/activate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/activate/activate.c src/activate/activate.c -index 8942773..0a1df37 100644 ---- src/activate/activate.c -+++ src/activate/activate.c -@@ -242,7 +242,7 @@ static int launch1(const char* child, char** argv, char **env, int fd) { - - static int do_accept(const char* name, char **argv, char **envp, int fd) { - _cleanup_free_ char *local = NULL, *peer = NULL; -- int fd2; -+ _cleanup_close_ int fd2 = -1; - - fd2 = accept(fd, NULL, NULL); - if (fd2 < 0) { --- -1.7.9.2 - diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index b4aeb6f4..d6b6fa3a 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -1,11 +1,13 @@ --- - systemd-209/src/core/shutdown.c | 4 ++++ - systemd-209/src/systemctl/systemctl.c | 22 +++++++++++++++------- - 2 files changed, 19 insertions(+), 7 deletions(-) + src/core/shutdown.c | 4 ++++ + src/systemctl/systemctl.c | 18 ++++++++++++------ + 2 files changed, 16 insertions(+), 6 deletions(-) ---- systemd-209/src/core/shutdown.c -+++ systemd-209/src/core/shutdown.c 2014-02-28 11:17:22.000000000 +0000 -@@ -449,6 +449,10 @@ int main(int argc, char *argv[]) { +Index: systemd-218/src/core/shutdown.c +=================================================================== +--- systemd-218.orig/src/core/shutdown.c ++++ systemd-218/src/core/shutdown.c +@@ -400,6 +400,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -16,9 +18,11 @@ if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our ---- systemd-209/src/systemctl/systemctl.c -+++ systemd-209/src/systemctl/systemctl.c 2014-02-28 11:19:35.000000000 +0000 -@@ -93,6 +93,7 @@ static bool arg_no_pager = false; +Index: systemd-218/src/systemctl/systemctl.c +=================================================================== +--- systemd-218.orig/src/systemctl/systemctl.c ++++ systemd-218/src/systemctl/systemctl.c +@@ -94,6 +94,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -26,7 +30,7 @@ static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -5578,6 +5579,7 @@ static int halt_parse_argv(int argc, cha +@@ -6813,6 +6814,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -34,7 +38,7 @@ { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -5629,10 +5631,13 @@ static int halt_parse_argv(int argc, cha +@@ -6865,10 +6867,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -49,17 +53,17 @@ case '?': return -EINVAL; -@@ -6274,20 +6279,23 @@ done: - - static int halt_now(enum action a) { - --/* Make sure C-A-D is handled by the kernel from this +@@ -7511,7 +7516,8 @@ static int halt_now(enum action a) { + /* The kernel will automaticall flush ATA disks and suchlike + * on reboot(), but the file systems need to be synce'd + * explicitly in advance. */ +- sync(); + if (!arg_no_sync) + sync(); -+ -+ /* Make sure C-A-D is handled by the kernel from this - * point on... */ - reboot(RB_ENABLE_CAD); + + /* Make sure C-A-D is handled by the kernel from this point + * on... */ +@@ -7519,14 +7525,14 @@ static int halt_now(enum action a) { switch (a) { @@ -67,12 +71,11 @@ - log_info("Halting."); - reboot(RB_HALT_SYSTEM); - return -errno; -- + case ACTION_POWEROFF: log_info("Powering off."); reboot(RB_POWER_OFF); -+ /* Fall through */ -+ ++ /* fall-through */ + case ACTION_HALT: + log_info("Halting."); + reboot(RB_HALT_SYSTEM); diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index 57a87c73..eb070d64 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -11,19 +11,23 @@ NFS share is added as "After=" dependency to the .mount. src/shared/util.c | 1 5 files changed, 234 insertions(+), 2 deletions(-) ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am 2014-02-26 12:44:20.000000000 +0000 -@@ -994,6 +994,8 @@ libsystemd_core_la_SOURCES = \ +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -1134,6 +1134,8 @@ libsystemd_core_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ + src/core/mount-iface.c \ + src/core/mount-iface.h \ + src/core/kmod-setup.c \ + src/core/kmod-setup.h \ src/core/loopback-setup.h \ - src/core/loopback-setup.c \ - src/core/condition.c \ ---- systemd-210/src/core/mount-iface.c -+++ systemd-210/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000 +Index: systemd-218/src/core/mount-iface.c +=================================================================== +--- /dev/null ++++ systemd-218/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -166,7 +170,7 @@ NFS share is added as "After=" dependency to the .mount. + continue; + + ret = ifa->ifa_name; -+ break; ++ break; + } else if (ifa->ifa_addr->sa_family == AF_INET6) { + struct in6_addr *addr, *mask, dest, ip6; + unsigned int prefix; @@ -198,8 +202,10 @@ NFS share is added as "After=" dependency to the .mount. + freeifaddrs(ifa_list); + ifa_list = NULL; +} ---- systemd-210/src/core/mount-iface.h -+++ systemd-210/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000 +Index: systemd-218/src/core/mount-iface.h +=================================================================== +--- /dev/null ++++ systemd-218/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -226,9 +232,11 @@ NFS share is added as "After=" dependency to the .mount. + +char *host2iface(const char *ip); +void freeroutes(void); ---- systemd-210/src/core/mount.c -+++ systemd-210/src/core/mount.c 2014-03-03 12:13:23.406246117 +0000 -@@ -36,6 +36,7 @@ +Index: systemd-218/src/core/mount.c +=================================================================== +--- systemd-218.orig/src/core/mount.c ++++ systemd-218/src/core/mount.c +@@ -38,6 +38,7 @@ #include "mkdir.h" #include "path-util.h" #include "mount-setup.h" @@ -236,7 +244,7 @@ NFS share is added as "After=" dependency to the .mount. #include "unit-name.h" #include "dbus-mount.h" #include "special.h" -@@ -1388,8 +1389,9 @@ static int mount_add_one( +@@ -1365,8 +1366,9 @@ static int mount_add_one( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -247,7 +255,7 @@ NFS share is added as "After=" dependency to the .mount. int r; assert(m); -@@ -1414,6 +1416,8 @@ static int mount_add_one( +@@ -1391,6 +1393,8 @@ static int mount_add_one( if (!e) return -ENOMEM; @@ -256,16 +264,16 @@ NFS share is added as "After=" dependency to the .mount. u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1442,7 +1446,7 @@ static int mount_add_one( +@@ -1419,7 +1423,7 @@ static int mount_add_one( if (m->running_as == SYSTEMD_SYSTEM) { const char* target; -- target = fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; +- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; + target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; - r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) -@@ -1519,6 +1523,32 @@ static int mount_add_one( + goto fail; +@@ -1505,6 +1509,32 @@ static int mount_add_one( goto fail; } @@ -288,7 +296,7 @@ NFS share is added as "After=" dependency to the .mount. + else { + r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); + if (r < 0) -+ log_error_unit(u->id, "Failed to add dependency on %s, ignoring: %s", ++ log_unit_error(u->id, "Failed to add dependency on %s, ignoring: %s", + target, strerror(-r)); + } + } @@ -298,21 +306,23 @@ NFS share is added as "After=" dependency to the .mount. if (changed) unit_add_to_dbus_queue(u); -@@ -1583,6 +1613,7 @@ static int mount_load_proc_self_mountinf - if (k < 0) +@@ -1560,6 +1590,7 @@ static int mount_load_proc_self_mountinf + if (r == 0 && k < 0) r = k; } + freeroutes(); /* Just in case of using the routing table with host2iface() */ return r; } ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000 -@@ -1502,6 +1502,7 @@ bool fstype_is_network(const char *fstyp +Index: systemd-218/src/shared/util.c +=================================================================== +--- systemd-218.orig/src/shared/util.c ++++ systemd-218/src/shared/util.c +@@ -1667,6 +1667,7 @@ bool fstype_is_network(const char *fstyp "ncp\0" "nfs\0" "nfs4\0" + "afs\0" "gfs\0" - "gfs2\0"; - + "gfs2\0" + "glusterfs\0"; diff --git a/0001-architecture-Add-tilegx.patch b/0001-architecture-Add-tilegx.patch deleted file mode 100644 index 277587c3..00000000 --- a/0001-architecture-Add-tilegx.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97 Mon Sep 17 00:00:00 2001 -From: Henrik Grindal Bakken -Date: Thu, 27 Feb 2014 21:19:13 +0100 -Subject: [PATCH] architecture: Add tilegx - -Add Tilera's TILE-GX processor family support. ---- - src/shared/architecture.c | 3 +++ - src/shared/architecture.h | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index ceba492..fcdb3d5 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -112,6 +112,8 @@ Architecture uname_architecture(void) { - { "sh", ARCHITECTURE_SH }, - #elif defined(__m68k__) - { "m68k", ARCHITECTURE_M68K }, -+#elif defined(__tilegx__) -+ { "tilegx", ARCHITECTURE_TILEGX }, - #else - #error "Please register your architecture here!" - #endif -@@ -158,6 +160,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { - [ARCHITECTURE_SH] = "sh", - [ARCHITECTURE_SH64] = "sh64", - [ARCHITECTURE_M68K] = "m68k", -+ [ARCHITECTURE_TILEGX] = "tilegx", - }; - - DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); -diff --git src/shared/architecture.h src/shared/architecture.h -index 3183645..e589a91 100644 ---- src/shared/architecture.h -+++ src/shared/architecture.h -@@ -47,6 +47,7 @@ typedef enum Architecture { - ARCHITECTURE_SH, - ARCHITECTURE_SH64, - ARCHITECTURE_M68K, -+ ARCHITECTURE_TILEGX, - _ARCHITECTURE_MAX, - _ARCHITECTURE_INVALID = -1 - } Architecture; -@@ -107,6 +108,8 @@ Architecture uname_architecture(void); - # define native_architecture() ARCHITECTURE_SH - #elif defined(__m68k__) - # define native_architecture() ARCHITECTURE_M68K -+#elif defined(__tilegx__) -+# define native_architecture() ARCHITECTURE_TILEGX - #else - #error "Please register your architecture here!" - #endif --- -1.7.9.2 - diff --git a/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch b/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch deleted file mode 100644 index 3b20a7e0..00000000 --- a/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 7b909d7407965c03caaba30daae7aee113627a83 Mon Sep 17 00:00:00 2001 -From: Josh Triplett -Date: Tue, 11 Mar 2014 21:16:33 -0700 -Subject: [PATCH] backlight: Avoid restoring brightness to an unreadably dim - level - -Some systems turn the backlight all the way off at the lowest levels. -Clamp saved brightness to at least 1 or 5% of max_brightness. This -avoids preserving an unreadably dim screen, which would otherwise force -the user to disable state restoration. ---- - src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 44 insertions(+) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 81470b3..abf8bcf 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -192,6 +192,48 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { - return true; - } - -+/* Some systems turn the backlight all the way off at the lowest levels. -+ * clamp_brightness clamps the saved brightness to at least 1 or 5% of -+ * max_brightness. This avoids preserving an unreadably dim screen, which -+ * would otherwise force the user to disable state restoration. */ -+static void clamp_brightness(struct udev_device *device, char **value) { -+ int r; -+ const char *max_brightness_str; -+ unsigned brightness, max_brightness, new_brightness; -+ -+ max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); -+ if (!max_brightness_str) { -+ log_warning("Failed to read max_brightness attribute; not checking saved brightness"); -+ return; -+ } -+ -+ r = safe_atou(*value, &brightness); -+ if (r < 0) { -+ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); -+ return; -+ } -+ -+ r = safe_atou(max_brightness_str, &max_brightness); -+ if (r < 0) { -+ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ return; -+ } -+ -+ new_brightness = MAX3(brightness, 1U, max_brightness/20); -+ if (new_brightness != brightness) { -+ char *old_value = *value; -+ -+ r = asprintf(value, "%u", new_brightness); -+ if (r < 0) { -+ log_oom(); -+ return; -+ } -+ -+ log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); -+ free(old_value); -+ } -+} -+ - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_device_unref_ struct udev_device *device = NULL; -@@ -306,6 +348,8 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -+ clamp_brightness(device, &value); -+ - r = udev_device_set_sysattr_value(device, "brightness", value); - if (r < 0) { - log_error("Failed to write system attribute: %s", strerror(-r)); --- -1.7.9.2 - diff --git a/0001-bash-completion-fix-__get_startable_units.patch b/0001-bash-completion-fix-__get_startable_units.patch deleted file mode 100644 index 815e6abd..00000000 --- a/0001-bash-completion-fix-__get_startable_units.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a163b64c4b08e8a4ad39a9a295acf3d1634024a3 Mon Sep 17 00:00:00 2001 -From: Dan Kilman -Date: Sun, 13 Apr 2014 18:06:13 +0300 -Subject: [PATCH] bash completion: fix __get_startable_units - ---- - shell-completion/bash/systemctl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl -index 992e52d..e1c8420 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -56,7 +56,7 @@ __get_all_units () { __systemctl $1 list-units --all \ - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } - __get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ -- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed " ]] && echo " $a"; done; }; } -+ | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } - __get_failed_units () { __systemctl $1 list-units \ - | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } - __get_enabled_units () { __systemctl $1 list-unit-files \ --- -1.7.9.2 - diff --git a/0001-bash-completion-p-option-for-journalctl.patch b/0001-bash-completion-p-option-for-journalctl.patch deleted file mode 100644 index f41318f5..00000000 --- a/0001-bash-completion-p-option-for-journalctl.patch +++ /dev/null @@ -1,46 +0,0 @@ -From be8f4a9fa732d61e845e1ab1a62ac3a6b368d3a7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 19 Jul 2014 19:46:04 -0400 -Subject: [PATCH] bash-completion: -p option for journalctl - ---- - shell-completion/bash/journalctl | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git shell-completion/bash/journalctl shell-completion/bash/journalctl -index e4b2f4a..14dcd22 100644 ---- shell-completion/bash/journalctl -+++ shell-completion/bash/journalctl -@@ -35,6 +35,8 @@ __journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} - _UDEV_{SYSNAME,DEVNODE,DEVLINK} - __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) - -+__syslog_priorities=(emerg alert crit err warning notice info debug) -+ - _journalctl() { - local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} - local -A OPTS=( -@@ -44,8 +46,8 @@ _journalctl() { - --no-tail -q --quiet --setup-keys --this-boot --verify - --version --list-catalog --update-catalog --list-boots' - [ARG]='-b --boot --this-boot -D --directory --file -F --field -- -o --output -u --unit --user-unit' -- [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until -+ -o --output -u --unit --user-unit -p --priority' -+ [ARGUNKNOWN]='-c --cursor --interval -n --lines --since --until - --verify-key' - ) - -@@ -68,6 +70,9 @@ _journalctl() { - --field|-F) - comps=${__journal_fields[*]} - ;; -+ --priority|-p) -+ comps=${__syslog_priorities[*]} -+ ;; - --unit|-u) - comps=$(journalctl -F '_SYSTEMD_UNIT' 2>/dev/null) - ;; --- -1.7.9.2 - diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index a7021400..104339e0 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -3,11 +3,11 @@ src/login/logind-dbus.c | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) -Index: systemd-210/src/login/logind-action.c +Index: systemd-218/src/login/logind-action.c =================================================================== ---- systemd-210.orig/src/login/logind-action.c -+++ systemd-210/src/login/logind-action.c -@@ -101,6 +101,11 @@ int manager_handle_action( +--- systemd-218.orig/src/login/logind-action.c ++++ systemd-218/src/login/logind-action.c +@@ -83,6 +83,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ if (inhibit_key > 0) { @@ -19,11 +19,11 @@ Index: systemd-210/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-210/src/login/logind-dbus.c +Index: systemd-218/src/login/logind-dbus.c =================================================================== ---- systemd-210.orig/src/login/logind-dbus.c -+++ systemd-210/src/login/logind-dbus.c -@@ -1469,9 +1469,11 @@ static int method_do_shutdown_or_sleep( +--- systemd-218.orig/src/login/logind-dbus.c ++++ systemd-218/src/login/logind-dbus.c +@@ -1487,9 +1487,11 @@ static int method_do_shutdown_or_sleep( sd_bus_error *error) { _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; @@ -36,7 +36,7 @@ Index: systemd-210/src/login/logind-dbus.c assert(m); assert(message); -@@ -1515,7 +1517,17 @@ static int method_do_shutdown_or_sleep( +@@ -1533,7 +1535,17 @@ static int method_do_shutdown_or_sleep( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); @@ -52,24 +52,24 @@ Index: systemd-210/src/login/logind-dbus.c + + + if (multiple_sessions && !shutdown_through_acpi) { - r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, - action_multiple_sessions, interactive, error, method, m); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, &m->polkit_registry, error); if (r < 0) -@@ -1524,7 +1536,7 @@ static int method_do_shutdown_or_sleep( + return r; +@@ -1541,7 +1553,7 @@ static int method_do_shutdown_or_sleep( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (blocked) { + if (blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, - action_ignore_inhibit, interactive, error, method, m); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, &m->polkit_registry, error); if (r < 0) -@@ -1533,7 +1545,7 @@ static int method_do_shutdown_or_sleep( + return r; +@@ -1549,7 +1561,7 @@ static int method_do_shutdown_or_sleep( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (!multiple_sessions && !blocked) { + if (!multiple_sessions && !blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, - action, interactive, error, method, m); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, &m->polkit_registry, error); if (r < 0) + return r; diff --git a/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch b/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch deleted file mode 100644 index f8632b99..00000000 --- a/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch +++ /dev/null @@ -1,215 +0,0 @@ -Based on d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 28 May 2014 17:36:40 +0800 -Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring - libattr - ---- - configure.ac | 53 ++----------------------------------------- - src/core/mount-setup.c | 2 - - src/core/socket.c | 4 --- - src/journal/journal-file.c | 7 ----- - src/journal/journal-vacuum.c | 10 -------- - src/shared/label.c | 2 - - src/shared/smack-util.c | 4 --- - 7 files changed, 7 insertions(+), 75 deletions(-) - ---- configure.ac -+++ configure.ac 2014-06-03 00:00:00.000000000 +0000 -@@ -526,44 +526,6 @@ AC_SUBST(ACL_LIBS) - AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) - - # ------------------------------------------------------------------------------ --AC_ARG_ENABLE([xattr], -- AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]), -- [case "${enableval}" in -- yes) have_xattr=yes ;; -- no) have_xattr=no ;; -- *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;; -- esac], -- [have_xattr=auto]) -- --if test "x${have_xattr}" != xno ; then -- AC_CHECK_HEADERS( -- [attr/xattr.h], -- [have_xattr=yes], -- [if test "x$have_xattr" = xyes ; then -- AC_MSG_ERROR([*** XATTR headers not found.]) -- fi]) -- -- AC_CHECK_LIB( -- [attr], -- [fsetxattr], -- [have_xattr=yes], -- [if test "x$have_xattr" = xyes ; then -- AC_MSG_ERROR([*** libattr not found.]) -- fi]) -- -- if test "x$have_xattr" = xyes ; then -- XATTR_LIBS="-lattr" -- AC_DEFINE(HAVE_XATTR, 1, [XATTR available]) -- else -- have_xattr=no -- fi --else -- XATTR_LIBS= --fi --AC_SUBST(XATTR_LIBS) --AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno]) -- --# ------------------------------------------------------------------------------ - AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]), - [case "${enableval}" in - yes) have_smack=yes ;; -@@ -572,17 +534,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([- - esac], - [have_smack=auto]) - --if test "x${have_xattr}" = xno; then -- if test "x${have_smack}" = xyes; then -- AC_MSG_ERROR(SMACK requires xattr support) -- else -- have_smack=no -- fi --else -- if test "x${have_smack}" = xauto; then -- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" -- have_smack=yes -- fi -+if test "x${have_smack}" = xauto; then -+ M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" -+ have_smack=yes - fi - - AC_ARG_WITH(smack-run-label, -@@ -1131,7 +1085,6 @@ AC_MSG_RESULT([ - SMACK: ${have_smack} - XZ: ${have_xz} - ACL: ${have_acl} -- XATTR: ${have_xattr} - GCRYPT: ${have_gcrypt} - QRENCODE: ${have_qrencode} - MICROHTTPD: ${have_microhttpd} ---- src/core/mount-setup.c -+++ src/core/mount-setup.c 2014-06-03 00:00:00.000000000 +0000 -@@ -93,10 +93,8 @@ static const MountPoint mount_table[] = - NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, - NULL, MNT_IN_CONTAINER }, --#ifdef HAVE_XATTR - { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_IN_CONTAINER }, --#endif - { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_IN_CONTAINER }, - { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ---- src/core/socket.c -+++ src/core/socket.c 2014-06-03 00:00:00.000000000 +0000 -@@ -29,9 +29,7 @@ - #include - #include - #include --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "sd-event.h" - #include "log.h" ---- src/journal/journal-file.c -+++ src/journal/journal-file.c 2014-06-03 00:00:00.000000000 +0000 -@@ -26,10 +26,7 @@ - #include - #include - #include -- --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "journal-def.h" - #include "journal-file.h" -@@ -2515,7 +2512,6 @@ int journal_file_open( - } - - if (f->last_stat.st_size == 0 && f->writable) { --#ifdef HAVE_XATTR - uint64_t crtime; - - /* Let's attach the creation time to the journal file, -@@ -2530,7 +2526,6 @@ int journal_file_open( - - crtime = htole64((uint64_t) now(CLOCK_REALTIME)); - fsetxattr(f->fd, "user.crtime_usec", &crtime, sizeof(crtime), XATTR_CREATE); --#endif - - #ifdef HAVE_GCRYPT - /* Try to load the FSPRG state, and if we can't, then ---- src/journal/journal-vacuum.c -+++ src/journal/journal-vacuum.c 2014-06-03 00:00:00.000000000 +0000 -@@ -24,10 +24,7 @@ - #include - #include - #include -- --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "journal-def.h" - #include "journal-file.h" -@@ -79,11 +76,8 @@ static void patch_realtime( - unsigned long long *realtime) { - - usec_t x; -- --#ifdef HAVE_XATTR - uint64_t crtime; - _cleanup_free_ const char *path = NULL; --#endif - - /* The timestamp was determined by the file name, but let's - * see if the file might actually be older than the file name -@@ -106,7 +100,6 @@ static void patch_realtime( - if (x > 0 && x != (usec_t) -1 && x < *realtime) - *realtime = x; - --#ifdef HAVE_XATTR - /* Let's read the original creation time, if possible. Ideally - * we'd just query the creation time the FS might provide, but - * unfortunately there's currently no sane API to query -@@ -125,7 +118,6 @@ static void patch_realtime( - if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime) - *realtime = crtime; - } --#endif - } - - static int journal_file_empty(int dir_fd, const char *name) { ---- src/shared/label.c -+++ src/shared/label.c 2014-06-03 00:00:00.000000000 +0000 -@@ -27,9 +27,7 @@ - #include - #include - #include --#ifdef HAVE_XATTR - #include --#endif - #ifdef HAVE_SELINUX - #include - #include ---- src/shared/smack-util.c -+++ src/shared/smack-util.c 2014-06-03 00:00:00.000000000 +0000 -@@ -23,9 +23,7 @@ - - #include - #include --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "smack-util.h" - diff --git a/0001-bus-proxyd-fix-incorrect-comparison.patch b/0001-bus-proxyd-fix-incorrect-comparison.patch deleted file mode 100644 index 404e4c8d..00000000 --- a/0001-bus-proxyd-fix-incorrect-comparison.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on e05aa2e02ba35d8b3741dddb79af3c802308414b Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 25 Jul 2014 10:25:06 +0200 -Subject: [PATCH] bus-proxyd: fix incorrect comparison - -We should be interested in k variable. ---- - src/bus-proxyd/bus-proxyd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/bus-proxyd/bus-proxyd.c -+++ src/bus-proxyd/bus-proxyd.c 2014-07-28 09:37:29.274735818 +0000 -@@ -698,7 +698,7 @@ int main(int argc, char *argv[]) { - - k = sd_bus_send(a, m, NULL); - if (k < 0) { -- if (r == -ECONNRESET) -+ if (k == -ECONNRESET) - r = 0; - else { - r = k; diff --git a/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch b/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch deleted file mode 100644 index 06845364..00000000 --- a/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch +++ /dev/null @@ -1,80 +0,0 @@ -From a641dcd9bf05418d6a6c165e1c0cff615b4a0f47 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 18 Mar 2014 04:06:36 +0100 -Subject: [PATCH] cgroup: it's not OK to invoke alloca() in loops - ---- - src/core/mount-setup.c | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index 387030a..c6d3f4b 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -216,10 +216,10 @@ int mount_setup_early(void) { - } - - int mount_cgroup_controllers(char ***join_controllers) { -- int r; -- char buf[LINE_MAX]; - _cleanup_set_free_free_ Set *controllers = NULL; - _cleanup_fclose_ FILE *f; -+ char buf[LINE_MAX]; -+ int r; - - /* Mount all available cgroup controllers that are built into the kernel. */ - -@@ -262,6 +262,7 @@ int mount_cgroup_controllers(char ***join_controllers) { - } - - for (;;) { -+ _cleanup_free_ char *options = NULL, *controller = NULL, *where = NULL; - MountPoint p = { - .what = "cgroup", - .type = "cgroup", -@@ -269,7 +270,6 @@ int mount_cgroup_controllers(char ***join_controllers) { - .mode = MNT_IN_CONTAINER, - }; - char ***k = NULL; -- _cleanup_free_ char *options = NULL, *controller; - - controller = set_steal_first(controllers); - if (!controller) -@@ -286,7 +286,7 @@ int mount_cgroup_controllers(char ***join_controllers) { - for (i = *k, j = *k; *i; i++) { - - if (!streq(*i, controller)) { -- char _cleanup_free_ *t; -+ _cleanup_free_ char *t; - - t = set_remove(controllers, *i); - if (!t) { -@@ -308,7 +308,11 @@ int mount_cgroup_controllers(char ***join_controllers) { - controller = NULL; - } - -- p.where = strappenda("/sys/fs/cgroup/", options); -+ where = strappend("/sys/fs/cgroup/", options); -+ if (!where) -+ return log_oom(); -+ -+ p.where = where; - p.options = options; - - r = mount_one(&p, true); -@@ -319,7 +323,11 @@ int mount_cgroup_controllers(char ***join_controllers) { - char **i; - - for (i = *k; *i; i++) { -- char *t = strappenda("/sys/fs/cgroup/", *i); -+ _cleanup_free_ char *t = NULL; -+ -+ t = strappend("/sys/fs/cgroup/", *i); -+ if (!t) -+ return log_oom(); - - r = symlink(options, t); - if (r < 0 && errno != EEXIST) { --- -1.7.9.2 - diff --git a/0001-completion-filter-templates-from-restartable-units.patch b/0001-completion-filter-templates-from-restartable-units.patch deleted file mode 100644 index 13e03e03..00000000 --- a/0001-completion-filter-templates-from-restartable-units.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on ec15977a3cd82eff6c94bb13db72195f7cd512e8 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Fri, 29 Aug 2014 20:35:15 -0400 -Subject: [PATCH] completion: filter templates from restartable units - -Since c6a373a2634854, we might encounter unit templates via the -'list-units' verb. These aren't restartable (and we throw errors), so -make sure they're filtered out of the completion options. - -fixes downstream bug: https://bugs.archlinux.org/task/41719 ---- - shell-completion/bash/systemctl.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in -index 64b15df..0150018 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -182,7 +182,7 @@ _systemctl () { - comps=$( __filter_units_by_property $mode CanStart yes \ - $( __get_all_units $mode \ - | while read -r line; do \ -- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ -+ [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ - done )) - compopt -o filenames - --- -1.7.9.2 - diff --git a/0001-conf-parser-silently-ignore-sections-starting-with-X.patch b/0001-conf-parser-silently-ignore-sections-starting-with-X.patch deleted file mode 100644 index 8ae66062..00000000 --- a/0001-conf-parser-silently-ignore-sections-starting-with-X.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 342aea195051633c69ba7b8c02c82a0e5f8cbde4 Mon Sep 17 00:00:00 2001 -From: Michael Marineau -Date: Fri, 16 May 2014 16:58:31 -0700 -Subject: [PATCH] conf-parser: silently ignore sections starting with "X-" - -This allows external tools to keep additional unit information in a -separate section without scaring users with a big warning. ---- - src/shared/conf-parser.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git src/shared/conf-parser.c src/shared/conf-parser.c -index d27b1b7..062b15b 100644 ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c -@@ -204,6 +204,7 @@ static int parse_line(const char* unit, - bool allow_include, - char **section, - unsigned *section_line, -+ bool *section_ignored, - char *l, - void *userdata) { - -@@ -266,7 +267,7 @@ static int parse_line(const char* unit, - - if (sections && !nulstr_contains(sections, n)) { - -- if (!relaxed) -+ if (!relaxed && !startswith(n, "X-")) - log_syntax(unit, LOG_WARNING, filename, line, EINVAL, - "Unknown section '%s'. Ignoring.", n); - -@@ -274,10 +275,12 @@ static int parse_line(const char* unit, - free(*section); - *section = NULL; - *section_line = 0; -+ *section_ignored = true; - } else { - free(*section); - *section = n; - *section_line = line; -+ *section_ignored = false; - } - - return 0; -@@ -285,7 +288,7 @@ static int parse_line(const char* unit, - - if (sections && !*section) { - -- if (!relaxed) -+ if (!relaxed && !*section_ignored) - log_syntax(unit, LOG_WARNING, filename, line, EINVAL, - "Assignment outside of section. Ignoring."); - -@@ -328,6 +331,7 @@ int config_parse(const char *unit, - _cleanup_free_ char *section = NULL, *continuation = NULL; - _cleanup_fclose_ FILE *ours = NULL; - unsigned line = 0, section_line = 0; -+ bool section_ignored = false; - int r; - - assert(filename); -@@ -399,6 +403,7 @@ int config_parse(const char *unit, - allow_include, - §ion, - §ion_line, -+ §ion_ignored, - p, - userdata); - free(c); --- -1.7.9.2 - diff --git a/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch b/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch deleted file mode 100644 index b8989aef..00000000 --- a/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 36d239dbdaf94ba2d96bb60ac45ecfc58624b1eb Mon Sep 17 00:00:00 2001 -From: Daniel Mack -Date: Fri, 7 Mar 2014 11:41:18 +0100 -Subject: [PATCH] core/busname: add lookup string for - BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT - -When a busname unit enters BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT, the -serialization will not be able to look up the result as string via -busname_result_to_string(). This leads to an assertion trap during -daemon-reexec. ---- - src/core/busname.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/core/busname.c src/core/busname.c -index 4c34538..237011a 100644 ---- src/core/busname.c -+++ src/core/busname.c -@@ -548,6 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); - static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { - [BUSNAME_SUCCESS] = "success", - [BUSNAME_FAILURE_RESOURCES] = "resources", -+ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", - }; - - DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); --- -1.7.9.2 - diff --git a/0001-core-close-socket-fds-asynchronously.patch b/0001-core-close-socket-fds-asynchronously.patch deleted file mode 100644 index 90649f90..00000000 --- a/0001-core-close-socket-fds-asynchronously.patch +++ /dev/null @@ -1,89 +0,0 @@ -Based on 574634bcacb01efe15ca2742effd461a5b7afb5f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 13 May 2014 23:22:13 +0200 -Subject: [PATCH] core: close socket fds asynchronously - -http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html ---- - src/core/async.c | 24 ++++++++++++++++++++++++ - src/core/service.c | 5 +++-- - 2 files changed, 27 insertions(+), 2 deletions(-) - -Index: src/core/service.c -=================================================================== ---- src/core/service.c.orig -+++ src/core/service.c -@@ -25,6 +25,7 @@ - #include - #include - -+#include "async.h" - #include "manager.h" - #include "unit.h" - #include "service.h" -@@ -240,7 +241,7 @@ static void service_close_socket_fd(Serv - if (s->socket_fd < 0) - return; - -- close_nointr_nofail(s->socket_fd); -+ asynchronous_close(s->socket_fd); - s->socket_fd = -1; - } - -@@ -2767,7 +2768,7 @@ static int service_deserialize_item(Unit - else { - - if (s->socket_fd >= 0) -- close_nointr_nofail(s->socket_fd); -+ asynchronous_close(s->socket_fd); - s->socket_fd = fdset_remove(fds, fd); - } - } else if (streq(key, "main-exec-status-pid")) { -Index: src/core/async.c -=================================================================== ---- src/core/async.c.orig -+++ src/core/async.c -@@ -24,6 +24,7 @@ - - #include "async.h" - #include "log.h" -+#include "util.h" - - int asynchronous_job(void* (*func)(void *p), void *arg) { - pthread_attr_t a; -@@ -70,3 +71,26 @@ int asynchronous_sync(void) { - - return asynchronous_job(sync_thread, NULL); - } -+ -+static void *close_thread(void *p) { -+ int fd = PTR_TO_INT(p); -+ if (fd >= 0) -+ close_nointr_nofail(fd); -+ return NULL; -+} -+ -+int asynchronous_close(int fd) { -+ int r; -+ -+ /* This is supposed to behave similar to safe_close(), but -+ * actually invoke close() asynchronously, so that it will -+ * never block. Ideally the kernel would have an API for this, -+ * but it doesn't, so we work around it, and hide this as a -+ * far away as we can. */ -+ -+ r = asynchronous_job(close_thread, INT_TO_PTR(fd)); -+ if (r < 0 && fd >= 0) -+ close_nointr_nofail(fd); -+ -+ return -1; -+} -Index: src/core/async.h -=================================================================== ---- src/core/async.h.orig -+++ src/core/async.h -@@ -23,3 +23,4 @@ - - int asynchronous_job(void* (*func)(void *p), void *arg); - int asynchronous_sync(void); -+int asynchronous_close(int fd); diff --git a/0001-core-don-t-allow-enabling-if-unit-is-masked.patch b/0001-core-don-t-allow-enabling-if-unit-is-masked.patch deleted file mode 100644 index 7e193738..00000000 --- a/0001-core-don-t-allow-enabling-if-unit-is-masked.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f7101b7368dfe41dbc8b7203e06133cccb589c01 Mon Sep 17 00:00:00 2001 -From: Jan Synacek -Date: Tue, 7 Oct 2014 13:35:41 +0200 -Subject: [PATCH] core: don't allow enabling if unit is masked - ---- - src/shared/install.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git src/shared/install.c src/shared/install.c -index fa064c2..945bb27 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -1516,6 +1516,19 @@ int unit_file_enable( - return r; - - STRV_FOREACH(i, files) { -+ UnitFileState state; -+ -+ state = unit_file_get_state(scope, root_dir, *i); -+ if (state < 0) { -+ log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); -+ return state; -+ } -+ -+ if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { -+ log_error("Failed to enable unit: Unit %s is masked", *i); -+ return -ENOTSUP; -+ } -+ - r = install_info_add_auto(&c, *i); - if (r < 0) - return r; --- -1.7.9.2 - diff --git a/0001-core-fix-invalid-free-in-killall.patch b/0001-core-fix-invalid-free-in-killall.patch deleted file mode 100644 index 23d527e8..00000000 --- a/0001-core-fix-invalid-free-in-killall.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3e09eb5c83e56bc0184bd9d9c44f76047464f77c Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Fri, 13 Jun 2014 18:48:19 +0200 -Subject: [PATCH] core: fix invalid free() in killall() - -static int killall(....) in ./src/core/killall.c tries to get "s" -initialized by calling get_process_comm(...) which calls -read_one_line_file(...) which if it fails will mean it is left -uninitialized. -It is then used in argument to strna(s) call where it is -dereferenced(!), in addition to nothing else initializing it before -the scope it is in finishes. ---- - src/core/killall.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/killall.c src/core/killall.c -index 57ed41c..eab48f7 100644 ---- src/core/killall.c -+++ src/core/killall.c -@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { - continue; - - if (sig == SIGKILL) { -- _cleanup_free_ char *s; -+ _cleanup_free_ char *s = NULL; - - get_process_comm(pid, &s); - log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s)); --- -1.7.9.2 - diff --git a/0001-core-fix-resource-leak-in-manager_environment_add.patch b/0001-core-fix-resource-leak-in-manager_environment_add.patch deleted file mode 100644 index 7991b3be..00000000 --- a/0001-core-fix-resource-leak-in-manager_environment_add.patch +++ /dev/null @@ -1,32 +0,0 @@ -From aa9f8a30fd7dc7aa3aa2575b75b3f9a0ab3f02db Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Tue, 16 Sep 2014 21:11:02 +0200 -Subject: [PATCH] core: fix resource leak in manager_environment_add - -Second error path must free the (potentially) allocated memory in the -first code chunk before returning. - -Found by coverity. Fixes: CID#1237750 ---- - src/core/manager.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git src/core/manager.c src/core/manager.c -index 0770727..e0c1cd1 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -2751,8 +2751,10 @@ int manager_environment_add(Manager *m, char **minus, char **plus) { - - if (!strv_isempty(plus)) { - b = strv_env_merge(2, l, plus); -- if (!b) -+ if (!b) { -+ strv_free(a); - return -ENOMEM; -+ } - - l = b; - } --- -1.7.9.2 - diff --git a/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch b/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch deleted file mode 100644 index 18e76f4f..00000000 --- a/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 3018d31238caabc2e204aa161e647dc1c1b5d1c6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 2 Oct 2014 00:11:36 -0400 -Subject: [PATCH] core/swap: only make configured units part of swap.target - -We used to make all .swap units either RequiredBy=swap.target or -WantedBy=swap.target. But swap.target should be the "configured swap -units", either through /etc/fstab or non-generated .swap units. It -is surprising when systemd starts treating a swap device that was -possibly temporarily enabled as a hard dependency for other units. -So do not add dependencies with swap.target for units gleaned from -/proc/swaps. - -Similarly, we added dependencies for all aliases of the device name, -which clutters up the dependency graph but does not seem to bring any -value, since the status of those following units is consistent with -the main one anyway. - -This should be a fix for [1], and it seems the right thing to do -anyway. - -[1] https://bugzilla.redhat.com/show_bug.cgi?id=1114786 ---- - src/core/swap.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git src/core/swap.c src/core/swap.c -index ef90d0e..b2ca048 100644 ---- src/core/swap.c -+++ src/core/swap.c -@@ -213,7 +213,7 @@ static int swap_add_device_links(Swap *s) { - } - - static int swap_add_default_dependencies(Swap *s) { -- bool nofail = false, noauto = false; -+ bool nofail, noauto; - int r; - - assert(s); -@@ -228,23 +228,25 @@ static int swap_add_default_dependencies(Swap *s) { - if (r < 0) - return r; - -- if (s->from_fragment) { -- SwapParameters *p = &s->parameters_fragment; -+ if (!s->from_fragment) -+ /* The swap unit can either be for an alternative device name, in which -+ * case we don't need to add the dependency on swap.target because this unit -+ * is following a different unit which will have this dependency added, -+ * or it can be derived from /proc/swaps, in which case it was started -+ * manually, and should not become a dependency of swap.target. */ -+ return 0; - -- nofail = p->nofail; -- noauto = p->noauto; -- } -+ nofail = s->parameters_fragment.nofail; -+ noauto = s->parameters_fragment.noauto; - - if (!noauto) { - if (nofail) - r = unit_add_dependency_by_name_inverse(UNIT(s), UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); - else - r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); -- if (r < 0) -- return r; - } - -- return 0; -+ return r < 0 ? r : 0; - } - - static int swap_verify(Swap *s) { --- -1.7.9.2 - diff --git a/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch b/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch deleted file mode 100644 index 06371697..00000000 --- a/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0404c609f399b2092a3de52eef9d75b0dc12e94c Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 12 May 2014 21:26:54 +0200 -Subject: [PATCH] core: sysvcompat - $network should be equivalent to - network-online, rather than network target -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Most likely the facility needed is actual connectivity, rather than whether or not the -network managment daemon is running. - -We also need to explicitly pull in the network-online.target, as it is not active by -default. - -This means {systemd-networkd,NetworkManager}-wait-online.service, can be enabled by default -as part of network-online.target, and only delay boot when some service actively pulls it in. - -See: - -Cc: Pavel Šimerda -Cc: Michal Sekletar ---- - TODO | 4 ---- - src/core/service.c | 8 ++++++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -Modified by Andrey Borzenkov for openSUSE. -Index: systemd-210/src/core/service.c -=================================================================== ---- systemd-210.orig/src/core/service.c -+++ systemd-210/src/core/service.c -@@ -404,7 +404,7 @@ static int sysv_translate_facility(const - static const char * const table[] = { - /* LSB defined facilities */ - "local_fs", NULL, -- "network", SPECIAL_NETWORK_TARGET, -+ "network", SPECIAL_NETWORK_ONLINE_TARGET, - "named", SPECIAL_NSS_LOOKUP_TARGET, - "portmap", SPECIAL_RPCBIND_TARGET, - "remote_fs", SPECIAL_REMOTE_FS_TARGET, -@@ -881,6 +881,9 @@ static int service_load_sysv_path(Servic - if (r == 0) - continue; - -+ if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && d == UNIT_AFTER && e == _UNIT_DEPENDENCY_INVALID) -+ e = UNIT_WANTS; -+ - if (e != _UNIT_DEPENDENCY_INVALID) - r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); - else diff --git a/0001-core-use-correct-format-string-for-UIDs.patch b/0001-core-use-correct-format-string-for-UIDs.patch deleted file mode 100644 index f0906df0..00000000 --- a/0001-core-use-correct-format-string-for-UIDs.patch +++ /dev/null @@ -1,20 +0,0 @@ -Based on d6239dc4b0cf55a953d6c40890859b85d504ef19 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= -Date: Wed, 25 Jun 2014 14:54:48 +0200 -Subject: [PATCH] core: use correct format string for UIDs - ---- - src/core/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/main.c -+++ src/core/main.c 2014-06-26 09:29:28.182235325 +0000 -@@ -1526,7 +1526,7 @@ int main(int argc, char *argv[]) { - - } else { - _cleanup_free_ char *t = uid_to_name(getuid()); -- log_debug(PACKAGE_STRING " running in user mode for user "PID_FMT"/%s. (" SYSTEMD_FEATURES ")", -+ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", - getuid(), t); - } - diff --git a/0001-detect-virt-Fix-Xen-domU-discovery.patch b/0001-detect-virt-Fix-Xen-domU-discovery.patch deleted file mode 100644 index 8582f560..00000000 --- a/0001-detect-virt-Fix-Xen-domU-discovery.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a71516dfd1858f37712ef52a288bf5fb274383e0 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Thu, 17 Jul 2014 11:25:37 +0200 -Subject: [PATCH] detect-virt: Fix Xen domU discovery - -The conditional for detection xen virtualization contained a little mistake. -It is checking for i to be empty: 'if (!i) {', but it must check for cap instead, -because: 'cap = strsep(&i, ",")' will set cap to the discovered value and i to -the next value after the separator. -Hence, i would be empty, if there is only control_d in domcap, leading to a wrong -domU detection. - -https://bugs.freedesktop.org/show_bug.cgi?id=77271 ---- - src/shared/virt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/virt.c src/shared/virt.c -index 774915f..20a8d7c 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -173,7 +173,7 @@ int detect_vm(const char **id) { - if (streq(cap, "control_d")) - break; - -- if (!i) { -+ if (!cap) { - _id = "xen"; - r = 1; - } --- -1.7.9.2 - diff --git a/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch b/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch deleted file mode 100644 index d087eeb6..00000000 --- a/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on 0d522a7a0547982eae9ab1b5971e4bed9c2fbc7c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 24 Apr 2014 08:11:39 +0200 -Subject: [PATCH] errno: make sure to handle the 3 errnos that are aliases for - others properly - ---- - Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- Makefile.am -+++ Makefile.am 2014-05-12 00:00:00.000000000 +0000 -@@ -1078,7 +1078,7 @@ BUILT_SOURCES += \ - - src/shared/errno-list.txt: - $(AM_V_at)$(MKDIR_P) $(dir $@) -- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }' > $@ -+ $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' > $@ - - src/shared/errno-from-name.gperf: src/shared/errno-list.txt - $(AM_V_at)$(MKDIR_P) $(dir $@) -@@ -1090,7 +1090,7 @@ src/shared/errno-from-name.h: src/shared - - src/shared/errno-to-name.h: src/shared/errno-list.txt - $(AM_V_at)$(MKDIR_P) $(dir $@) -- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ -+ $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ - - # ------------------------------------------------------------------------------ - systemd_SOURCES = \ diff --git a/0001-event-pull-in-sd-event.h-from-event-util.h.patch b/0001-event-pull-in-sd-event.h-from-event-util.h.patch deleted file mode 100644 index e9fc98ce..00000000 --- a/0001-event-pull-in-sd-event.h-from-event-util.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 138992534878483de28417dfc61c546bba5cb8ad Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 10 Jul 2014 18:25:08 +0200 -Subject: [PATCH] event: pull in sd-event.h from event-util.h - ---- - src/libsystemd/sd-event/event-util.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/libsystemd/sd-event/event-util.h src/libsystemd/sd-event/event-util.h -index e58020d..e7cad9b 100644 ---- src/libsystemd/sd-event/event-util.h -+++ src/libsystemd/sd-event/event-util.h -@@ -22,6 +22,7 @@ - ***/ - - #include "util.h" -+#include "sd-event.h" - - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event*, sd_event_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event_source*, sd_event_source_unref); --- -1.7.9.2 - diff --git a/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch b/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch deleted file mode 100644 index be9add48..00000000 --- a/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 9c4495ca561624c2f0085507dd1288ed5f1247c5 Mon Sep 17 00:00:00 2001 -From: Tomasz Torcz -Date: Wed, 12 Mar 2014 19:25:11 +0100 -Subject: [PATCH] gpt-auto-generator: don't return OOM on parentless devices - ---- - src/gpt-auto-generator/gpt-auto-generator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/gpt-auto-generator/gpt-auto-generator.c -+++ src/gpt-auto-generator/gpt-auto-generator.c 2014-03-18 13:35:11.438235125 +0000 -@@ -254,7 +254,7 @@ static int enumerate_partitions(struct u - - parent = udev_device_get_parent(d); - if (!parent) -- return log_oom(); -+ return 0; - - r = udev_enumerate_add_match_parent(e, parent); - if (r < 0) diff --git a/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 15de6363..00000000 --- a/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e525326bd07ebf3cabcfd730bc479166723f2d44 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Sun, 2 Mar 2014 10:02:10 -0800 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index db3bc24..0335a71 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -902,3 +902,12 @@ bluetooth:v0129* - - bluetooth:v012A* - ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd -+ -+bluetooth:v012B* -+ ID_VENDOR_FROM_DATABASE=SportIQ -+ -+bluetooth:v012C* -+ ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V. -+ -+bluetooth:v012D* -+ ID_VENDOR_FROM_DATABASE=Sony Corporation --- -1.7.9.2 - diff --git a/0001-hwdb-fix-case-sensitive-match.patch b/0001-hwdb-fix-case-sensitive-match.patch deleted file mode 100644 index 64642714..00000000 --- a/0001-hwdb-fix-case-sensitive-match.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4c02dd7153f970244950b5e00f7bdfea8d2ff0be Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 17:55:14 +0200 -Subject: [PATCH] hwdb: fix case-sensitive match - ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index d053766..c7ff4e4 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -870,7 +870,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* - ########################################################### - - # Plantronics .Audio 626 DSP --keyboard:usb:v047fpC006* -+keyboard:usb:v047FpC006* - KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute - - ########################################################### --- -1.7.9.2 - diff --git a/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch b/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch deleted file mode 100644 index d3acf899..00000000 --- a/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 77e8ff6974ffaa6c9954e3d2264d9aa75ef25233 Mon Sep 17 00:00:00 2001 -From: Kieran Clancy -Date: Thu, 27 Feb 2014 16:02:57 +1030 -Subject: [PATCH] hwdb: keymaps for Samsung 900X3E/900X3F - -Keymaps for Samsung 900X3E and 900X3F should be the same as for other -models in the series. - -I have also moved the comment for '# Series 9' to the right place ---- - hwdb/60-keyboard.hwdb | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index edfa842..bd8fd10 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -897,9 +897,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* - KEYBOARD_KEY_a8=! # Fn Lock - Function lock on - KEYBOARD_KEY_a9=! # Fn Lock - Function lock off - -+# Series 7 / 9 - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* --keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDG]*:pvr* -+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* - KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings - KEYBOARD_KEY_a0=!mute # Fn+F6 mute -@@ -909,7 +910,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* - KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up - KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer - --# Series 9 - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr* - KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up - KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down --- -1.7.9.2 - diff --git a/0001-hwdb-update.patch b/0001-hwdb-update.patch deleted file mode 100644 index f487f680..00000000 --- a/0001-hwdb-update.patch +++ /dev/null @@ -1,6590 +0,0 @@ -From 6080625dc833144aca0817d1b9fd23f2fbcdf5c2 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 18 Mar 2014 16:17:51 +0100 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 779 +++++++++++++++++-- - hwdb/20-pci-vendor-model.hwdb | 1671 ++++++++++++++++++++++++++++++++++++----- - hwdb/20-usb-vendor-model.hwdb | 119 ++- - 3 files changed, 2330 insertions(+), 239 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index a51a00a..209b89e 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -13558,6 +13558,9 @@ OUI:40D8551CA* - OUI:40D8551CB* - ID_OUI_FROM_DATABASE=MG S.r.l. - -+OUI:40D8551CC* -+ ID_OUI_FROM_DATABASE=NKT Photonics A/S -+ - OUI:40D8551CD* - ID_OUI_FROM_DATABASE=YXLON International A/S - -@@ -13630,6 +13633,9 @@ OUI:40D8551E3* - OUI:40D8551E4* - ID_OUI_FROM_DATABASE=STEK Ltd - -+OUI:40D85550D* -+ ID_OUI_FROM_DATABASE=Shenzhen MaiWei Cable TV Equipment CO.,LTD. -+ - OUI:40D855EE6* - ID_OUI_FROM_DATABASE=Narinet, Inc. - -@@ -13703,7 +13709,7 @@ OUI:000016* - ID_OUI_FROM_DATABASE=DU PONT PIXEL SYSTEMS . - - OUI:000017* -- ID_OUI_FROM_DATABASE=TEKELEC -+ ID_OUI_FROM_DATABASE=Oracle - - OUI:000018* - ID_OUI_FROM_DATABASE=WEBSTER COMPUTER CORPORATION -@@ -18029,7 +18035,7 @@ OUI:0005BB* - ID_OUI_FROM_DATABASE=Myspace AB - - OUI:0005BC* -- ID_OUI_FROM_DATABASE=Resorsys Ltd. -+ ID_OUI_FROM_DATABASE=Resource Data Management Ltd - - OUI:0005BD* - ID_OUI_FROM_DATABASE=ROAX BV -@@ -18977,7 +18983,7 @@ OUI:0006F7* - ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. - - OUI:0006F8* -- ID_OUI_FROM_DATABASE=CPU Technology, Inc. -+ ID_OUI_FROM_DATABASE=The Boeing Company - - OUI:0006F9* - ID_OUI_FROM_DATABASE=Mitsui Zosen Systems Research Inc. -@@ -19337,7 +19343,7 @@ OUI:00076F* - ID_OUI_FROM_DATABASE=Synoptics Limited - - OUI:000770* -- ID_OUI_FROM_DATABASE=Locusnetworks Corporation -+ ID_OUI_FROM_DATABASE=Ubiquoss Inc - - OUI:000771* - ID_OUI_FROM_DATABASE=Embedded System Corporation -@@ -19616,7 +19622,7 @@ OUI:0007CC* - ID_OUI_FROM_DATABASE=Kaba Benzing GmbH - - OUI:0007CD* -- ID_OUI_FROM_DATABASE=NMTEL Co., Ltd. -+ ID_OUI_FROM_DATABASE=Kumoh Electronic Co, Ltd - - OUI:0007CE* - ID_OUI_FROM_DATABASE=Cabletime Limited -@@ -21584,7 +21590,7 @@ OUI:000A78* - ID_OUI_FROM_DATABASE=OLITEC - - OUI:000A79* -- ID_OUI_FROM_DATABASE=Allied Telesis K.K. corega division -+ ID_OUI_FROM_DATABASE=corega K.K - - OUI:000A7A* - ID_OUI_FROM_DATABASE=Kyoritsu Electric Co., Ltd. -@@ -22643,7 +22649,7 @@ OUI:000BDA* - ID_OUI_FROM_DATABASE=EyeCross Co.,Inc. - - OUI:000BDB* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:000BDC* - ID_OUI_FROM_DATABASE=AKCP -@@ -23774,7 +23780,7 @@ OUI:000D55* - ID_OUI_FROM_DATABASE=SANYCOM Technology Co.,Ltd - - OUI:000D56* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:000D57* - ID_OUI_FROM_DATABASE=Fujitsu I-Network Systems Limited. -@@ -25118,7 +25124,7 @@ OUI:000F1E* - ID_OUI_FROM_DATABASE=Chengdu KT Electric Co.of High & New Technology - - OUI:000F1F* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:000F20* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company -@@ -26435,7 +26441,7 @@ OUI:0010D5* - ID_OUI_FROM_DATABASE=IMASDE CANARIAS, S.A. - - OUI:0010D6* -- ID_OUI_FROM_DATABASE=ITT - A/CD -+ ID_OUI_FROM_DATABASE=Exelis - - OUI:0010D7* - ID_OUI_FROM_DATABASE=ARGOSY RESEARCH INC. -@@ -26762,7 +26768,7 @@ OUI:001142* - ID_OUI_FROM_DATABASE=e-SMARTCOM INC. - - OUI:001143* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001144* - ID_OUI_FROM_DATABASE=Assurance Technology Corp -@@ -27518,7 +27524,7 @@ OUI:00123E* - ID_OUI_FROM_DATABASE=ERUNE technology Co., Ltd. - - OUI:00123F* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001240* - ID_OUI_FROM_DATABASE=AMOI ELECTRONICS CO.,LTD -@@ -28439,7 +28445,7 @@ OUI:001371* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - - OUI:001372* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001373* - ID_OUI_FROM_DATABASE=BLwave Electronics Co., Ltd -@@ -28967,7 +28973,7 @@ OUI:001421* - ID_OUI_FROM_DATABASE=Total Wireless Technologies Pte. Ltd. - - OUI:001422* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001423* - ID_OUI_FROM_DATABASE=J-S Co. NEUROCOM -@@ -30104,7 +30110,7 @@ OUI:00159C* - ID_OUI_FROM_DATABASE=B-KYUNG SYSTEM Co.,Ltd. - - OUI:00159D* -- ID_OUI_FROM_DATABASE=Minicom Advanced Systems ltd -+ ID_OUI_FROM_DATABASE=Tripp Lite - - OUI:00159E* - ID_OUI_FROM_DATABASE=Mad Catz Interactive Inc -@@ -30224,7 +30230,7 @@ OUI:0015C4* - ID_OUI_FROM_DATABASE=FLOVEL CO., LTD. - - OUI:0015C5* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:0015C6* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. -@@ -30914,7 +30920,7 @@ OUI:0016AA* - ID_OUI_FROM_DATABASE=Kei Communication Technology Inc. - - OUI:0016AB* -- ID_OUI_FROM_DATABASE=PBI-Dansensor A/S -+ ID_OUI_FROM_DATABASE=Dansensor A/S - - OUI:0016AC* - ID_OUI_FROM_DATABASE=Toho Technology Corp. -@@ -32342,7 +32348,7 @@ OUI:00188A* - ID_OUI_FROM_DATABASE=Infinova LLC - - OUI:00188B* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:00188C* - ID_OUI_FROM_DATABASE=Mobile Action Technology Inc. -@@ -35348,7 +35354,7 @@ OUI:001C74* - ID_OUI_FROM_DATABASE=Syswan Technologies Inc. - - OUI:001C75* -- ID_OUI_FROM_DATABASE=RF Systems GmbH -+ ID_OUI_FROM_DATABASE=Segnet Ltd. - - OUI:001C76* - ID_OUI_FROM_DATABASE=The Wandsworth Group Ltd -@@ -35831,7 +35837,7 @@ OUI:001D15* - ID_OUI_FROM_DATABASE=Shenzhen Dolphin Electronic Co., Ltd - - OUI:001D16* -- ID_OUI_FROM_DATABASE=Efixo -+ ID_OUI_FROM_DATABASE=SFR - - OUI:001D17* - ID_OUI_FROM_DATABASE=Digital Sky Corporation -@@ -35957,7 +35963,7 @@ OUI:001D3F* - ID_OUI_FROM_DATABASE=Mitron Pty Ltd - - OUI:001D40* -- ID_OUI_FROM_DATABASE=Living Independently Group, Inc. -+ ID_OUI_FROM_DATABASE=Intel – GE Care Innovations LLC - - OUI:001D41* - ID_OUI_FROM_DATABASE=Hardy Instruments -@@ -35969,7 +35975,7 @@ OUI:001D43* - ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. - - OUI:001D44* -- ID_OUI_FROM_DATABASE=Krohne -+ ID_OUI_FROM_DATABASE=KROHNE - - OUI:001D45* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. -@@ -40316,7 +40322,7 @@ OUI:0022EE* - ID_OUI_FROM_DATABASE=Algo Communication Products Ltd - - OUI:0022EF* -- ID_OUI_FROM_DATABASE=Ibis Tek, LLC -+ ID_OUI_FROM_DATABASE=iWDL Technologies - - OUI:0022F0* - ID_OUI_FROM_DATABASE=3 Greens Aviation Limited -@@ -40361,7 +40367,7 @@ OUI:0022FE* - ID_OUI_FROM_DATABASE=Microprocessor Designs Inc - - OUI:0022FF* -- ID_OUI_FROM_DATABASE=NIVIS LLC -+ ID_OUI_FROM_DATABASE=iWDL Technologies - - OUI:002300* - ID_OUI_FROM_DATABASE=Cayee Computer Ltd. -@@ -41258,7 +41264,7 @@ OUI:00242E* - ID_OUI_FROM_DATABASE=Datastrip Inc. - - OUI:00242F* -- ID_OUI_FROM_DATABASE=VirtenSys Inc -+ ID_OUI_FROM_DATABASE=Micron - - OUI:002430* - ID_OUI_FROM_DATABASE=Ruby Tech Corp. -@@ -43028,7 +43034,7 @@ OUI:002686* - ID_OUI_FROM_DATABASE=Quantenna Communcations, Inc. - - OUI:002687* -- ID_OUI_FROM_DATABASE=ALLIED TELESIS, K.K corega division. -+ ID_OUI_FROM_DATABASE=Corega K.K - - OUI:002688* - ID_OUI_FROM_DATABASE=Juniper Networks -@@ -46118,7 +46124,7 @@ OUI:00605F* - ID_OUI_FROM_DATABASE=NIPPON UNISOFT CORPORATION - - OUI:006060* -- ID_OUI_FROM_DATABASE=DAWNING TECHNOLOGIES, INC. -+ ID_OUI_FROM_DATABASE=Data Innovations North America - - OUI:006061* - ID_OUI_FROM_DATABASE=WHISTLE COMMUNICATIONS CORP. -@@ -46621,12 +46627,18 @@ OUI:0070B0* - OUI:0070B3* - ID_OUI_FROM_DATABASE=DATA RECALL LTD. - -+OUI:0071CC* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:00738D* - ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp - - OUI:0073E0* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:007532* -+ ID_OUI_FROM_DATABASE=INID BV -+ - OUI:0075E1* - ID_OUI_FROM_DATABASE=Ampt, LLC - -@@ -48623,7 +48635,7 @@ OUI:00A086* - ID_OUI_FROM_DATABASE=AMBER WAVE SYSTEMS, INC. - - OUI:00A087* -- ID_OUI_FROM_DATABASE=Zarlink Semiconductor Ltd. -+ ID_OUI_FROM_DATABASE=Microsemi Corporation - - OUI:00A088* - ID_OUI_FROM_DATABASE=ESSENTIAL COMMUNICATIONS -@@ -49009,6 +49021,9 @@ OUI:00AA3C* - OUI:00AA70* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:00ACE0* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:00B009* - ID_OUI_FROM_DATABASE=Grass Valley Group - -@@ -51550,6 +51565,9 @@ OUI:00E0FE* - OUI:00E0FF* - ID_OUI_FROM_DATABASE=SECURITY DYNAMICS TECHNOLOGIES, Inc. - -+OUI:00E16D* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:00E175* - ID_OUI_FROM_DATABASE=AK-Systems Ltd - -@@ -51703,6 +51721,9 @@ OUI:0444A1* - OUI:044665* - ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. - -+OUI:04489A* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:044A50* - ID_OUI_FROM_DATABASE=Ramaxel Technology (Shenzhen) limited company - -@@ -51727,6 +51748,9 @@ OUI:045453* - OUI:0455CA* - ID_OUI_FROM_DATABASE=BriView (Xiamen) Corp. - -+OUI:04572F* -+ ID_OUI_FROM_DATABASE=Sertel Electronics UK Ltd -+ - OUI:04586F* - ID_OUI_FROM_DATABASE=Sichuan Whayer information industry Co.,LTD - -@@ -51892,6 +51916,9 @@ OUI:04E548* - OUI:04E662* - ID_OUI_FROM_DATABASE=Acroname Inc. - -+OUI:04E676* -+ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. -+ - OUI:04E9E5* - ID_OUI_FROM_DATABASE=PJRC.COM, LLC - -@@ -52486,6 +52513,9 @@ OUI:085AE0* - OUI:085B0E* - ID_OUI_FROM_DATABASE=Fortinet, Inc. - -+OUI:085DDD* -+ ID_OUI_FROM_DATABASE=Mercury Corporation -+ - OUI:08606E* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -@@ -52504,6 +52534,9 @@ OUI:086DF2* - OUI:087045* - ID_OUI_FROM_DATABASE=Apple - -+OUI:0874F6* -+ ID_OUI_FROM_DATABASE=Winterhalter Gastronom GmbH -+ - OUI:087572* - ID_OUI_FROM_DATABASE=Obelux Oy - -@@ -52573,6 +52606,9 @@ OUI:08ACA5* - OUI:08AF78* - ID_OUI_FROM_DATABASE=Totus Solutions, Inc. - -+OUI:08B2A3* -+ ID_OUI_FROM_DATABASE=Cynny Italia S.r.L. -+ - OUI:08B4CF* - ID_OUI_FROM_DATABASE=Abicom International - -@@ -52615,6 +52651,9 @@ OUI:08D5C0* - OUI:08D833* - ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co,.Ltd - -+OUI:08DF1F* -+ ID_OUI_FROM_DATABASE=Bose Corporation -+ - OUI:08E5DA* - ID_OUI_FROM_DATABASE=NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD. - -@@ -52687,6 +52726,9 @@ OUI:0C191F* - OUI:0C1DC2* - ID_OUI_FROM_DATABASE=SeAH Networks - -+OUI:0C2026* -+ ID_OUI_FROM_DATABASE=noax Technologies AG -+ - OUI:0C2724* - ID_OUI_FROM_DATABASE=Cisco - -@@ -52756,6 +52798,9 @@ OUI:0C5CD8* - OUI:0C6076* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:0C63FC* -+ ID_OUI_FROM_DATABASE=Nanjing Signway Technology Co., Ltd -+ - OUI:0C6803* - ID_OUI_FROM_DATABASE=Cisco - -@@ -52984,6 +53029,9 @@ OUI:1000FD* - OUI:1001CA* - ID_OUI_FROM_DATABASE=Ashley Butterworth - -+OUI:1005CA* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:10090C* - ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. - -@@ -53008,6 +53056,9 @@ OUI:100E2B* - OUI:100E7E* - ID_OUI_FROM_DATABASE=Juniper networks - -+OUI:100F18* -+ ID_OUI_FROM_DATABASE=Fu Gang Electronic(KunShan)CO.,LTD -+ - OUI:1010B6* - ID_OUI_FROM_DATABASE=McCain Inc - -@@ -53158,6 +53209,9 @@ OUI:1083D2* - OUI:10880F* - ID_OUI_FROM_DATABASE=Daruma Telecomunicações e Informática S.A. - -+OUI:1088CE* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:108CCF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -53317,6 +53371,9 @@ OUI:1423D7* - OUI:142BD2* - ID_OUI_FROM_DATABASE=Armtel Ltd. - -+OUI:142BD6* -+ ID_OUI_FROM_DATABASE=Guangdong Appscomm Co.,Ltd -+ - OUI:142D27* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -53329,6 +53386,9 @@ OUI:142DF5* - OUI:14307A* - ID_OUI_FROM_DATABASE=Avermetrics - -+OUI:1430C6* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:14358B* - ID_OUI_FROM_DATABASE=Mediabridge Products, LLC. - -@@ -53344,6 +53404,9 @@ OUI:14373B* - OUI:143AEA* - ID_OUI_FROM_DATABASE=Dynapower Company LLC - -+OUI:143DF2* -+ ID_OUI_FROM_DATABASE=Beijing Shidai Hongyuan Network Communication Co.,Ltd -+ - OUI:143E60* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -@@ -53368,6 +53431,9 @@ OUI:144C1A* - OUI:145412* - ID_OUI_FROM_DATABASE=Entis Co., Ltd. - -+OUI:145645* -+ ID_OUI_FROM_DATABASE=Savitech Corp. -+ - OUI:145A05* - ID_OUI_FROM_DATABASE=Apple - -@@ -53440,6 +53506,9 @@ OUI:14B126* - OUI:14B1C8* - ID_OUI_FROM_DATABASE=InfiniWing, Inc. - -+OUI:14B484* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:14B73D* - ID_OUI_FROM_DATABASE=ARCHEAN Technologies - -@@ -53489,7 +53558,7 @@ OUI:14EB33* - ID_OUI_FROM_DATABASE=BSMediasoft Co., Ltd. - - OUI:14EDA5* -- ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme -+ ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme - - OUI:14EE9D* - ID_OUI_FROM_DATABASE=AirNav Systems LLC -@@ -53572,6 +53641,9 @@ OUI:182032* - OUI:1820A6* - ID_OUI_FROM_DATABASE=Sage Co., Ltd. - -+OUI:18227E* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:182666* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53726,7 +53798,7 @@ OUI:18A905* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - - OUI:18A99B* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:18AA45* - ID_OUI_FROM_DATABASE=Fon Technology -@@ -53779,6 +53851,9 @@ OUI:18CC23* - OUI:18D071* - ID_OUI_FROM_DATABASE=DASAN SMC, Inc. - -+OUI:18D5B6* -+ ID_OUI_FROM_DATABASE=SMG Holdings LLC -+ - OUI:18D66A* - ID_OUI_FROM_DATABASE=Inmarsat - -@@ -53824,6 +53899,9 @@ OUI:18F87A* - OUI:18FA6F* - ID_OUI_FROM_DATABASE=ISC applied systems corp - -+OUI:18FB7B* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:18FC9F* - ID_OUI_FROM_DATABASE=Changhe Electronics Co., Ltd. - -@@ -53863,9 +53941,15 @@ OUI:1C184A* - OUI:1C19DE* - ID_OUI_FROM_DATABASE=eyevis GmbH - -+OUI:1C1AC0* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:1C1B68* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:1C1CFD* -+ ID_OUI_FROM_DATABASE=Dalian Hi-Think Computer Technology, Corp -+ - OUI:1C1D67* - ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd - -@@ -54157,6 +54241,9 @@ OUI:201D03* - OUI:2021A5* - ID_OUI_FROM_DATABASE=LG Electronics Inc - -+OUI:202564* -+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION -+ - OUI:202598* - ID_OUI_FROM_DATABASE=Teleview - -@@ -54202,6 +54289,9 @@ OUI:204E6B* - OUI:204E7F* - ID_OUI_FROM_DATABASE=NETGEAR - -+OUI:2053CA* -+ ID_OUI_FROM_DATABASE=Risk Technology Ltd -+ - OUI:205476* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -@@ -54211,6 +54301,9 @@ OUI:205721* - OUI:2059A0* - ID_OUI_FROM_DATABASE=Paragon Technologies Inc. - -+OUI:205A00* -+ ID_OUI_FROM_DATABASE=Coval -+ - OUI:205B5E* - ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd - -@@ -54265,12 +54358,18 @@ OUI:20918A* - OUI:2091D9* - ID_OUI_FROM_DATABASE=I'M SPA - -+OUI:209AE9* -+ ID_OUI_FROM_DATABASE=Volacomm Co., Ltd -+ - OUI:209BA5* - ID_OUI_FROM_DATABASE=JIAXING GLEAD Electronics Co.,Ltd - - OUI:20A2E7* - ID_OUI_FROM_DATABASE=Lee-Dickens Ltd - -+OUI:20A787* -+ ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited -+ - OUI:20AA25* - ID_OUI_FROM_DATABASE=IP-NET LLC - -@@ -54394,6 +54493,9 @@ OUI:24050F* - OUI:240917* - ID_OUI_FROM_DATABASE=Devlin Electronics Limited - -+OUI:240A11* -+ ID_OUI_FROM_DATABASE=TCT Mobile Limited -+ - OUI:240A64* - ID_OUI_FROM_DATABASE=AzureWaveTechnologies,Inc - -@@ -54691,9 +54793,15 @@ OUI:282CB2* - OUI:283152* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:2832C5* -+ ID_OUI_FROM_DATABASE=Humax.co.,ltd -+ - OUI:283410* - ID_OUI_FROM_DATABASE=Enigma Diagnostics Limited - -+OUI:2834A2* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:283737* - ID_OUI_FROM_DATABASE=Apple - -@@ -54778,6 +54886,9 @@ OUI:2872F0* - OUI:287994* - ID_OUI_FROM_DATABASE=Realplay Digital Technology(Shenzhen) Co.,Ltd - -+OUI:288023* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:28852D* - ID_OUI_FROM_DATABASE=Touch Networks - -@@ -55024,6 +55135,9 @@ OUI:2C3731* - OUI:2C3996* - ID_OUI_FROM_DATABASE=SAGEMCOM - -+OUI:2C39C1* -+ ID_OUI_FROM_DATABASE=Ciena Corporation -+ - OUI:2C3A28* - ID_OUI_FROM_DATABASE=Fagor Electrónica - -@@ -55069,6 +55183,9 @@ OUI:2C5A05* - OUI:2C5AA3* - ID_OUI_FROM_DATABASE=PROMATE ELECTRONIC CO.LTD - -+OUI:2C5BE1* -+ ID_OUI_FROM_DATABASE=Centripetal Networks, Inc -+ - OUI:2C5D93* - ID_OUI_FROM_DATABASE=Ruckus Wireless - -@@ -55117,6 +55234,9 @@ OUI:2C8065* - OUI:2C8158* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd - -+OUI:2C8A72* -+ ID_OUI_FROM_DATABASE=HTC Corporation -+ - OUI:2C8BF2* - ID_OUI_FROM_DATABASE=Hitachi Metals America Ltd - -@@ -55135,6 +55255,9 @@ OUI:2C957F* - OUI:2C9717* - ID_OUI_FROM_DATABASE=I.C.Y. B.V. - -+OUI:2C9AA4* -+ ID_OUI_FROM_DATABASE=NGI SpA -+ - OUI:2C9E5F* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -55327,6 +55450,9 @@ OUI:3055ED* - OUI:3057AC* - ID_OUI_FROM_DATABASE=IRLAB LTD. - -+OUI:3059B7* -+ ID_OUI_FROM_DATABASE=Microsoft -+ - OUI:305D38* - ID_OUI_FROM_DATABASE=Beissbarth - -@@ -55387,6 +55513,9 @@ OUI:308CFB* - OUI:3090AB* - ID_OUI_FROM_DATABASE=Apple - -+OUI:30918F* -+ ID_OUI_FROM_DATABASE=Technicolor -+ - OUI:3092F6* - ID_OUI_FROM_DATABASE=SHANGHAI SUNMON COMMUNICATION TECHNOGY CO.,LTD - -@@ -55417,12 +55546,18 @@ OUI:30B5C2* - OUI:30C750* - ID_OUI_FROM_DATABASE=MIC Technology Group - -+OUI:30C7AE* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:30C82A* - ID_OUI_FROM_DATABASE=Wi-Next s.r.l. - - OUI:30CDA7* - ID_OUI_FROM_DATABASE=Samsung Electronics ITS, Printer division - -+OUI:30D17E* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:30D357* - ID_OUI_FROM_DATABASE=Logosol, Inc. - -@@ -55462,6 +55597,9 @@ OUI:30F70D* - OUI:30F7C5* - ID_OUI_FROM_DATABASE=Apple - -+OUI:30F7D7* -+ ID_OUI_FROM_DATABASE=Thread Technology Co., Ltd -+ - OUI:30F9ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -@@ -55474,6 +55612,9 @@ OUI:3407FB* - OUI:340804* - ID_OUI_FROM_DATABASE=D-Link Corporation - -+OUI:340AFF* -+ ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd -+ - OUI:3413A8* - ID_OUI_FROM_DATABASE=Mediplan Limited - -@@ -55484,7 +55625,7 @@ OUI:34159E* - ID_OUI_FROM_DATABASE=Apple - - OUI:3417EB* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:341A4C* - ID_OUI_FROM_DATABASE=SHENZHEN WEIBU ELECTRONICS CO.,LTD. -@@ -55534,6 +55675,9 @@ OUI:344F5C* - OUI:344F69* - ID_OUI_FROM_DATABASE=EKINOPS SAS - -+OUI:3451AA* -+ ID_OUI_FROM_DATABASE=JID GLOBAL -+ - OUI:3451C9* - ID_OUI_FROM_DATABASE=Apple - -@@ -55543,6 +55687,9 @@ OUI:345B11* - OUI:345C40* - ID_OUI_FROM_DATABASE=Cargt Holdings LLC - -+OUI:345D10* -+ ID_OUI_FROM_DATABASE=Wytek -+ - OUI:346178* - ID_OUI_FROM_DATABASE=The Boeing Company - -@@ -55573,6 +55720,9 @@ OUI:347E39* - OUI:348137* - ID_OUI_FROM_DATABASE=UNICARD SA - -+OUI:3481C4* -+ ID_OUI_FROM_DATABASE=AVM GmbH -+ - OUI:3482DE* - ID_OUI_FROM_DATABASE=Kayo Technology, Inc. - -@@ -55741,6 +55891,9 @@ OUI:34E0D7* - OUI:34E2FD* - ID_OUI_FROM_DATABASE=Apple - -+OUI:34E42A* -+ ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. -+ - OUI:34EF44* - ID_OUI_FROM_DATABASE=2Wire - -@@ -55933,6 +56086,9 @@ OUI:38B74D* - OUI:38BB23* - ID_OUI_FROM_DATABASE=OzVision America LLC - -+OUI:38BB3C* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:38BC1A* - ID_OUI_FROM_DATABASE=Meizu technology co.,ltd - -@@ -56224,6 +56380,9 @@ OUI:3CA72B* - OUI:3CA9F4* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:3CAB8E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:3CB15B* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -56311,6 +56470,9 @@ OUI:3CF72A* - OUI:3CF748* - ID_OUI_FROM_DATABASE=Shenzhen Linsn Technology Development Co.,Ltd - -+OUI:3CF808* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:3CFB96* - ID_OUI_FROM_DATABASE=Emcraft Systems LLC - -@@ -56341,6 +56503,9 @@ OUI:4013D9* - OUI:401597* - ID_OUI_FROM_DATABASE=Protect America, Inc. - -+OUI:40167E* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:40169F* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. - -@@ -56392,6 +56557,9 @@ OUI:404022* - OUI:40406B* - ID_OUI_FROM_DATABASE=Icomera - -+OUI:4045DA* -+ ID_OUI_FROM_DATABASE=Spreadtrum Communications (Shanghai) Co., Ltd. -+ - OUI:404A03* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -@@ -56527,6 +56695,9 @@ OUI:40B2C8* - OUI:40B395* - ID_OUI_FROM_DATABASE=Apple - -+OUI:40B3CD* -+ ID_OUI_FROM_DATABASE=Chiyoda Electronics Co.,Ltd. -+ - OUI:40B3FC* - ID_OUI_FROM_DATABASE=Logital Co. Limited - -@@ -56596,6 +56767,9 @@ OUI:40F02F* - OUI:40F14C* - ID_OUI_FROM_DATABASE=ISE Europe SPRL - -+OUI:40F201* -+ ID_OUI_FROM_DATABASE=SAGEMCOM -+ - OUI:40F2E9* - ID_OUI_FROM_DATABASE=IBM - -@@ -56632,6 +56806,9 @@ OUI:44184F* - OUI:4419B6* - ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. - -+OUI:441E91* -+ ID_OUI_FROM_DATABASE=ARVIDA Intelligent Electronics Technology Co.,Ltd. -+ - OUI:441EA1* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -56776,6 +56953,9 @@ OUI:448312* - OUI:448500* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:4486C1* -+ ID_OUI_FROM_DATABASE=Siemens Low Voltage & Products -+ - OUI:4487FC* - ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. - -@@ -56860,6 +57040,9 @@ OUI:44D2CA* - OUI:44D3CA* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:44D4E0* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:44D63D* - ID_OUI_FROM_DATABASE=Talari Networks - -@@ -56920,6 +57103,9 @@ OUI:48174C* - OUI:481842* - ID_OUI_FROM_DATABASE=Shanghai Winaas Co. Equipment Co. Ltd. - -+OUI:481A84* -+ ID_OUI_FROM_DATABASE=Pointer Telocation Ltd -+ - OUI:481BD2* - ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. - -@@ -56950,9 +57136,15 @@ OUI:4846F1* - OUI:4846FB* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:4851B7* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:485261* - ID_OUI_FROM_DATABASE=SOREEL - -+OUI:485929* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:485A3F* - ID_OUI_FROM_DATABASE=WISOL - -@@ -56971,6 +57163,9 @@ OUI:4860BC* - OUI:4861A3* - ID_OUI_FROM_DATABASE=Concern "Axion" JSC - -+OUI:486276* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:486B91* - ID_OUI_FROM_DATABASE=Fleetwood Group Inc. - -@@ -56986,6 +57181,9 @@ OUI:487119* - OUI:48746E* - ID_OUI_FROM_DATABASE=Apple - -+OUI:488244* -+ ID_OUI_FROM_DATABASE=Life Fitness / Div. of Brunswick -+ - OUI:488E42* - ID_OUI_FROM_DATABASE=DIGALOG GmbH - -@@ -57046,15 +57244,24 @@ OUI:48CB6E* - OUI:48D0CF* - ID_OUI_FROM_DATABASE=Universal Electronics, Inc. - -+OUI:48D18E* -+ ID_OUI_FROM_DATABASE=Metis Communication Co.,Ltd -+ - OUI:48D224* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - - OUI:48D54C* - ID_OUI_FROM_DATABASE=Jeda Networks - -+OUI:48D705* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:48D7FF* - ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH - -+OUI:48D855* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY -+ - OUI:48D8FE* - ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. - -@@ -57136,6 +57343,9 @@ OUI:4C0F6E* - OUI:4C0FC7* - ID_OUI_FROM_DATABASE=Earda Electronics Co.,Ltd - -+OUI:4C11BF* -+ ID_OUI_FROM_DATABASE=ZHEJIANG DAHUA TECHNOLOGY CO.,LTD. -+ - OUI:4C1480* - ID_OUI_FROM_DATABASE=NOREGON SYSTEMS, INC - -@@ -57178,6 +57388,9 @@ OUI:4C322D* - OUI:4C32D9* - ID_OUI_FROM_DATABASE=M Rutty Holdings Pty. Ltd. - -+OUI:4C3909* -+ ID_OUI_FROM_DATABASE=HPL Electric & Power Private Limited -+ - OUI:4C3910* - ID_OUI_FROM_DATABASE=Newtek Electronics co., Ltd. - -@@ -57478,9 +57691,15 @@ OUI:505663* - OUI:5056A8* - ID_OUI_FROM_DATABASE=Jolla Ltd - -+OUI:5056BF* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD -+ - OUI:5057A8* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:505800* -+ ID_OUI_FROM_DATABASE=WyTec International, Inc. -+ - OUI:505AC6* - ID_OUI_FROM_DATABASE=GUANGDONG SUPER TELECOM CO.,LTD. - -@@ -57601,6 +57820,9 @@ OUI:50C271* - OUI:50C58D* - ID_OUI_FROM_DATABASE=Juniper Networks - -+OUI:50C7BF* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:50C971* - ID_OUI_FROM_DATABASE=GN Netcom A/S - -@@ -57706,6 +57928,9 @@ OUI:54271E* - OUI:542A9C* - ID_OUI_FROM_DATABASE=LSY Defense, LLC. - -+OUI:542AA2* -+ ID_OUI_FROM_DATABASE=Alpha Networks Inc. -+ - OUI:542CEA* - ID_OUI_FROM_DATABASE=PROTECTRON - -@@ -57739,9 +57964,15 @@ OUI:544408* - OUI:54466B* - ID_OUI_FROM_DATABASE=Shenzhen CZTIC Electronic Technology Co., Ltd - -+OUI:544A00* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:544A05* - ID_OUI_FROM_DATABASE=wenglor sensoric gmbh - -+OUI:544A16* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:5453ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -@@ -57844,6 +58075,9 @@ OUI:54B620* - OUI:54BEF7* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -+OUI:54C80F* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:54CDA7* - ID_OUI_FROM_DATABASE=Fujian Shenzhou Electronic Co.,Ltd - -@@ -57886,6 +58120,12 @@ OUI:54E6FC* - OUI:54EAA8* - ID_OUI_FROM_DATABASE=Apple, Inc. - -+OUI:54EE75* -+ ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. -+ -+OUI:54EF92* -+ ID_OUI_FROM_DATABASE=Shenzhen Elink Technology Co., LTD -+ - OUI:54F5B6* - ID_OUI_FROM_DATABASE=ORIENTAL PACIFIC INTERNATIONAL LIMITED - -@@ -57928,12 +58168,18 @@ OUI:581CBD* - OUI:581D91* - ID_OUI_FROM_DATABASE=Advanced Mobile Telecom co.,ltd. - -+OUI:581F67* -+ ID_OUI_FROM_DATABASE=Open-m technology limited -+ - OUI:581FAA* - ID_OUI_FROM_DATABASE=Apple - - OUI:581FEF* - ID_OUI_FROM_DATABASE=Tuttnaer LTD - -+OUI:58238C* -+ ID_OUI_FROM_DATABASE=Technicolor CH USA -+ - OUI:582EFE* - ID_OUI_FROM_DATABASE=Lighting Science Group - -@@ -58123,6 +58369,9 @@ OUI:58DB8D* - OUI:58E02C* - ID_OUI_FROM_DATABASE=Micro Technic A/S - -+OUI:58E326* -+ ID_OUI_FROM_DATABASE=Compass Technologies Inc. -+ - OUI:58E476* - ID_OUI_FROM_DATABASE=CENTRON COMMUNICATIONS TECHNOLOGIES FUJIAN CO.,LTD - -@@ -58213,6 +58462,9 @@ OUI:5C260A* - OUI:5C2AEF* - ID_OUI_FROM_DATABASE=Open Access Pty Ltd - -+OUI:5C313E* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:5C3327* - ID_OUI_FROM_DATABASE=Spazio Italia srl - -@@ -58411,6 +58663,9 @@ OUI:5CF370* - OUI:5CF3FC* - ID_OUI_FROM_DATABASE=IBM Corp - -+OUI:5CF4AB* -+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp -+ - OUI:5CF50D* - ID_OUI_FROM_DATABASE=Institute of microelectronic applications - -@@ -58561,6 +58816,9 @@ OUI:60748D* - OUI:607688* - ID_OUI_FROM_DATABASE=Velodyne - -+OUI:60812B* -+ ID_OUI_FROM_DATABASE=Custom Control Concepts -+ - OUI:6083B2* - ID_OUI_FROM_DATABASE=GkWare e.K. - -@@ -58585,9 +58843,15 @@ OUI:608C2B* - OUI:608D17* - ID_OUI_FROM_DATABASE=Sentrus Government Systems Division, Inc - -+OUI:608F5C* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:609084* - ID_OUI_FROM_DATABASE=DSSD Inc - -+OUI:609217* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:609AA4* - ID_OUI_FROM_DATABASE=GVI SECURITY INC. - -@@ -58615,6 +58879,9 @@ OUI:60B3C4* - OUI:60B606* - ID_OUI_FROM_DATABASE=Phorus - -+OUI:60B617* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:60B933* - ID_OUI_FROM_DATABASE=Deutron Electronics Corp. - -@@ -58633,6 +58900,9 @@ OUI:60BD91* - OUI:60BEB5* - ID_OUI_FROM_DATABASE=Motorola Mobility LLC - -+OUI:60C1CB* -+ ID_OUI_FROM_DATABASE=Fujian Great Power PLC Equipment Co.,Ltd -+ - OUI:60C397* - ID_OUI_FROM_DATABASE=2Wire Inc - -@@ -58681,6 +58951,9 @@ OUI:60DE44* - OUI:60E00E* - ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD - -+OUI:60E327* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:60E956* - ID_OUI_FROM_DATABASE=Ayla Networks, Inc - -@@ -58753,6 +59026,9 @@ OUI:640F28* - OUI:641084* - ID_OUI_FROM_DATABASE=HEXIUM Technical Development Co., Ltd. - -+OUI:641225* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:64168D* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -58966,6 +59242,9 @@ OUI:64A3CB* - OUI:64A769* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:64A7DD* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:64A837* - ID_OUI_FROM_DATABASE=Juni Korea Co., Ltd - -@@ -59062,6 +59341,9 @@ OUI:64E8E6* - OUI:64E950* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:64EAC5* -+ ID_OUI_FROM_DATABASE=SiboTech Automation Co., Ltd. -+ - OUI:64EB8C* - ID_OUI_FROM_DATABASE=Seiko Epson Corporation - -@@ -59131,6 +59413,9 @@ OUI:681FD8* - OUI:68234B* - ID_OUI_FROM_DATABASE=Nihon Dengyo Kousaku - -+OUI:6828BA* -+ ID_OUI_FROM_DATABASE=Dejai -+ - OUI:682DDC* - ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD - -@@ -59188,6 +59473,9 @@ OUI:6869F2* - OUI:686E23* - ID_OUI_FROM_DATABASE=Wi3 Inc. - -+OUI:686E48* -+ ID_OUI_FROM_DATABASE=Prophet Electronic Technology Corp.,Ltd -+ - OUI:687251* - ID_OUI_FROM_DATABASE=Ubiquiti Networks - -@@ -59332,6 +59620,9 @@ OUI:68DB96* - OUI:68DCE8* - ID_OUI_FROM_DATABASE=PacketStorm Communications - -+OUI:68DFDD* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:68E41F* - ID_OUI_FROM_DATABASE=Unglaube Identech GmbH - -@@ -59377,12 +59668,18 @@ OUI:6C0E0D* - OUI:6C0F6A* - ID_OUI_FROM_DATABASE=JDC Tech Co., Ltd. - -+OUI:6C14F7* -+ ID_OUI_FROM_DATABASE=Erhardt+Leimer GmbH -+ - OUI:6C15F9* - ID_OUI_FROM_DATABASE=Nautronix Limited - - OUI:6C1811* - ID_OUI_FROM_DATABASE=Decatur Electronics - -+OUI:6C198F* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:6C2056* - ID_OUI_FROM_DATABASE=Cisco - -@@ -59395,6 +59692,9 @@ OUI:6C23B9* - OUI:6C2995* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:6C2C06* -+ ID_OUI_FROM_DATABASE=OOO NPP Systemotechnika-NN -+ - OUI:6C2E33* - ID_OUI_FROM_DATABASE=Accelink Technologies Co.,Ltd. - -@@ -59539,6 +59839,9 @@ OUI:6CA906* - OUI:6CA96F* - ID_OUI_FROM_DATABASE=TransPacket AS - -+OUI:6CAAB3* -+ ID_OUI_FROM_DATABASE=Ruckus Wireless -+ - OUI:6CAB4D* - ID_OUI_FROM_DATABASE=Digital Payment Technologies - -@@ -59608,6 +59911,9 @@ OUI:6CE983* - OUI:6CECA1* - ID_OUI_FROM_DATABASE=SHENZHEN CLOU ELECTRONICS CO. LTD. - -+OUI:6CECEB* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:6CF049* - ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. - -@@ -59623,6 +59929,9 @@ OUI:6CF97C* - OUI:6CFA58* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:6CFAA7* -+ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. -+ - OUI:6CFDB9* - ID_OUI_FROM_DATABASE=Proware Technologies Co Ltd. - -@@ -59686,6 +59995,9 @@ OUI:702F97* - OUI:703018* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:70305D* -+ ID_OUI_FROM_DATABASE=Ubiquoss Inc -+ - OUI:70305E* - ID_OUI_FROM_DATABASE=Nanjing Zhongke Menglian Information Technology Co.,LTD - -@@ -59767,6 +60079,9 @@ OUI:7060DE* - OUI:706173* - ID_OUI_FROM_DATABASE=Calantec GmbH - -+OUI:7062B8* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:706417* - ID_OUI_FROM_DATABASE=ORBIS TECNOLOGIA ELECTRICA S.A. - -@@ -59881,6 +60196,9 @@ OUI:70B14E* - OUI:70B265* - ID_OUI_FROM_DATABASE=Hiltron s.r.l. - -+OUI:70B3D5* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see OUI36 public listing for more information. -+ - OUI:70B599* - ID_OUI_FROM_DATABASE=Embedded Technologies s.r.o. - -@@ -59950,6 +60268,9 @@ OUI:70F395* - OUI:70F927* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:70F96D* -+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -+ - OUI:70FF76* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -59965,12 +60286,18 @@ OUI:741489* - OUI:7415E2* - ID_OUI_FROM_DATABASE=Tri-Sen Systems Corporation - -+OUI:7419F8* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:741E93* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - - OUI:74258A* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:7426AC* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:74273C* - ID_OUI_FROM_DATABASE=ChangYang Technology (Nanjing) Co., LTD - -@@ -60077,7 +60404,7 @@ OUI:747E2D* - ID_OUI_FROM_DATABASE=Beijing Thomson CITIC Digital Technology Co. LTD. - - OUI:74867A* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:74882A* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -@@ -60172,6 +60499,9 @@ OUI:74D675* - OUI:74D850* - ID_OUI_FROM_DATABASE=Evrisko Systems - -+OUI:74DA38* -+ ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. -+ - OUI:74DE2B* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -60292,6 +60622,9 @@ OUI:7831C1* - OUI:78324F* - ID_OUI_FROM_DATABASE=Millennium Group, Inc. - -+OUI:783A84* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:783CE3* - ID_OUI_FROM_DATABASE=Kai-EE - -@@ -60319,6 +60652,9 @@ OUI:7846C4* - OUI:78471D* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:784859* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:78491D* - ID_OUI_FROM_DATABASE=The Will-Burt Company - -@@ -60391,6 +60727,9 @@ OUI:788C54* - OUI:788DF7* - ID_OUI_FROM_DATABASE=Hitron Technologies. Inc - -+OUI:78923E* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:78929C* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -60523,6 +60862,9 @@ OUI:78D38D* - OUI:78D5B5* - ID_OUI_FROM_DATABASE=NAVIELEKTRO KY - -+OUI:78D66F* -+ ID_OUI_FROM_DATABASE=Aristocrat Technologies Australia Pty. Ltd. -+ - OUI:78D6F0* - ID_OUI_FROM_DATABASE=Samsung Electro Mechanics - -@@ -60736,6 +61078,9 @@ OUI:7C6C8F* - OUI:7C6D62* - ID_OUI_FROM_DATABASE=Apple - -+OUI:7C6DF8* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:7C6F06* - ID_OUI_FROM_DATABASE=Caterpillar Trimble Control Technologies - -@@ -60856,6 +61201,9 @@ OUI:7CCFCF* - OUI:7CD1C3* - ID_OUI_FROM_DATABASE=Apple - -+OUI:7CD30A* -+ ID_OUI_FROM_DATABASE=INVENTEC Corporation -+ - OUI:7CD762* - ID_OUI_FROM_DATABASE=Freestyle Technology Pty Ltd - -@@ -60919,6 +61267,9 @@ OUI:7CFADF* - OUI:7CFE28* - ID_OUI_FROM_DATABASE=Salutron Inc. - -+OUI:7CFE4E* -+ ID_OUI_FROM_DATABASE=Shenzhen Safe vision Technology Co.,LTD -+ - OUI:7CFF62* - ID_OUI_FROM_DATABASE=Huizhou Super Electron Technology Co.,Ltd. - -@@ -60940,9 +61291,15 @@ OUI:8007A2* - OUI:800A06* - ID_OUI_FROM_DATABASE=COMTEC co.,ltd - -+OUI:800E24* -+ ID_OUI_FROM_DATABASE=ForgetBox -+ - OUI:801440* - ID_OUI_FROM_DATABASE=Sunlit System Technology Corp - -+OUI:8014A8* -+ ID_OUI_FROM_DATABASE=Guangzhou V-SOLUTION Electronic Technology Co., Ltd. -+ - OUI:8016B7* - ID_OUI_FROM_DATABASE=Brunel University - -@@ -60952,6 +61309,9 @@ OUI:80177D* - OUI:8018A7* - ID_OUI_FROM_DATABASE=Samsung Eletronics Co., Ltd - -+OUI:801934* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:801DAA* - ID_OUI_FROM_DATABASE=Avaya Inc - -@@ -60994,6 +61354,9 @@ OUI:803F5D* - OUI:803FD6* - ID_OUI_FROM_DATABASE=bytes at work AG - -+OUI:80414E* -+ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., -+ - OUI:80427C* - ID_OUI_FROM_DATABASE=Adolf Tedsen GmbH & Co. KG - -@@ -61279,6 +61642,9 @@ OUI:843611* - OUI:843835* - ID_OUI_FROM_DATABASE=Apple - -+OUI:843838* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ - OUI:843A4B* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -61360,6 +61726,9 @@ OUI:848506* - OUI:848D84* - ID_OUI_FROM_DATABASE=Rajant Corporation - -+OUI:848DC7* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:848E0C* - ID_OUI_FROM_DATABASE=Apple - -@@ -61372,6 +61741,12 @@ OUI:848F69* - OUI:849000* - ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik - -+OUI:84948C* -+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc -+ -+OUI:8496D8* -+ ID_OUI_FROM_DATABASE=Pace plc -+ - OUI:8497B8* - ID_OUI_FROM_DATABASE=Memjet Inc. - -@@ -61399,6 +61774,9 @@ OUI:84ACA4* - OUI:84AF1F* - ID_OUI_FROM_DATABASE=Beat System Service Co,. Ltd. - -+OUI:84B153* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:84B59C* - ID_OUI_FROM_DATABASE=Juniper networks - -@@ -61468,6 +61846,9 @@ OUI:880355* - OUI:880905* - ID_OUI_FROM_DATABASE=MTMCommunications - -+OUI:880F10* -+ ID_OUI_FROM_DATABASE=Huami Information Technology Co.,Ltd. -+ - OUI:880FB6* - ID_OUI_FROM_DATABASE=Jabil Circuits India Pvt Ltd,-EHTP unit - -@@ -61558,7 +61939,10 @@ OUI:88576D* - OUI:885A92* - ID_OUI_FROM_DATABASE=Cisco - --OUI:885C4F* -+OUI:885BDD* -+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. -+ -+OUI:885C47* - ID_OUI_FROM_DATABASE=Alcatel Lucent - - OUI:88615A* -@@ -61654,6 +62038,9 @@ OUI:88AE1D* - OUI:88B168* - ID_OUI_FROM_DATABASE=Delta Control GmbH - -+OUI:88B1E1* -+ ID_OUI_FROM_DATABASE=AirTight Networks, Inc. -+ - OUI:88B627* - ID_OUI_FROM_DATABASE=Gembird Europe BV - -@@ -62107,6 +62494,9 @@ OUI:9046B7* - OUI:904716* - ID_OUI_FROM_DATABASE=RORZE CORPORATION - -+OUI:90489A* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:9049FA* - ID_OUI_FROM_DATABASE=Intel Corporation - -@@ -62179,6 +62569,9 @@ OUI:907A28* - OUI:907AF1* - ID_OUI_FROM_DATABASE=SNUPI Technologies - -+OUI:907EBA* -+ ID_OUI_FROM_DATABASE=UTEK TECHNOLOGY (SHENZHEN) CO.,LTD -+ - OUI:907F61* - ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. - -@@ -62197,12 +62590,12 @@ OUI:9088A2* - OUI:908C44* - ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. - -+OUI:908C63* -+ ID_OUI_FROM_DATABASE=GZ Weedong Networks Technology Co. , Ltd -+ - OUI:908D1D* - ID_OUI_FROM_DATABASE=GH Technologies - --OUI:908F93* -- ID_OUI_FROM_DATABASE=MakerBot Industries -- - OUI:908FCF* - ID_OUI_FROM_DATABASE=UNO System Co., Ltd - -@@ -62245,6 +62638,9 @@ OUI:90A7C1* - OUI:90AC3F* - ID_OUI_FROM_DATABASE=BrightSign LLC - -+OUI:90AE1B* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:90B11C* - ID_OUI_FROM_DATABASE=Dell Inc. - -@@ -62303,7 +62699,7 @@ OUI:90DFB7* - ID_OUI_FROM_DATABASE=s.m.s smart microwave sensors GmbH - - OUI:90E0F0* -- ID_OUI_FROM_DATABASE=Harman International -+ ID_OUI_FROM_DATABASE=IEEE 1722a Working Group - - OUI:90E2BA* - ID_OUI_FROM_DATABASE=Intel Corporate -@@ -62683,6 +63079,9 @@ OUI:983571* - OUI:9835B8* - ID_OUI_FROM_DATABASE=Assembled Products Corporation - -+OUI:983713* -+ ID_OUI_FROM_DATABASE=PT.Navicom Indonesia -+ - OUI:983B16* - ID_OUI_FROM_DATABASE=AMPAK Technology Inc - -@@ -62746,6 +63145,9 @@ OUI:986022* - OUI:9866EA* - ID_OUI_FROM_DATABASE=Industrial Control Communications, Inc. - -+OUI:986B3D* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:986CF5* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -62812,6 +63214,9 @@ OUI:98BC57* - OUI:98BC99* - ID_OUI_FROM_DATABASE=Edeltech Co.,Ltd. - -+OUI:98BE94* -+ ID_OUI_FROM_DATABASE=IBM -+ - OUI:98C0EB* - ID_OUI_FROM_DATABASE=Global Regency Ltd - -@@ -62929,6 +63334,9 @@ OUI:9C2840* - OUI:9C28BF* - ID_OUI_FROM_DATABASE=Continental Automotive Czech Republic s.r.o. - -+OUI:9C28EF* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:9C2A70* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -63184,6 +63592,9 @@ OUI:9CFBF1* - OUI:9CFFBE* - ID_OUI_FROM_DATABASE=OTSL Inc. - -+OUI:A002DC* -+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. -+ - OUI:A00363* - ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH - -@@ -63205,6 +63616,9 @@ OUI:A00CA1* - OUI:A01290* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:A012DB* -+ ID_OUI_FROM_DATABASE=TABUCHI ELECTRIC CO.,LTD -+ - OUI:A0133B* - ID_OUI_FROM_DATABASE=Copyright © HiTi Digital, Inc. - -@@ -63235,6 +63649,9 @@ OUI:A021B7* - OUI:A0231B* - ID_OUI_FROM_DATABASE=TeleComp R&D Corp. - -+OUI:A02BB8* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:A02EF3* - ID_OUI_FROM_DATABASE=United Integrated Services Co., Led. - -@@ -63439,6 +63856,9 @@ OUI:A0D12A* - OUI:A0D3C1* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A0DA92* -+ ID_OUI_FROM_DATABASE=Nanjing Glarun Atten Technology Co. Ltd. -+ - OUI:A0DC04* - ID_OUI_FROM_DATABASE=Becker-Antriebe GmbH - -@@ -63502,6 +63922,9 @@ OUI:A0F450* - OUI:A0F459* - ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED - -+OUI:A0FC6E* -+ ID_OUI_FROM_DATABASE=Telegrafia a.s. -+ - OUI:A0FE91* - ID_OUI_FROM_DATABASE=AVAT Automation GmbH - -@@ -63565,6 +63988,12 @@ OUI:A438FC* - OUI:A43A69* - ID_OUI_FROM_DATABASE=Vers Inc - -+OUI:A43BFA* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ -+OUI:A43D78* -+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD -+ - OUI:A4466B* - ID_OUI_FROM_DATABASE=EOC Technology - -@@ -63604,6 +64033,9 @@ OUI:A45C27* - OUI:A45D36* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A46032* -+ ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD -+ - OUI:A46706* - ID_OUI_FROM_DATABASE=Apple - -@@ -63632,7 +64064,13 @@ OUI:A47C14* - ID_OUI_FROM_DATABASE=ChargeStorm AB - - OUI:A47C1F* -- ID_OUI_FROM_DATABASE=Global Microwave Systems Inc. -+ ID_OUI_FROM_DATABASE=Cobham plc -+ -+OUI:A47E39* -+ ID_OUI_FROM_DATABASE=zte corporation -+ -+OUI:A481EE* -+ ID_OUI_FROM_DATABASE=Nokia Corporation - - OUI:A4856B* - ID_OUI_FROM_DATABASE=Q Electronics Ltd -@@ -63664,6 +64102,9 @@ OUI:A49B13* - OUI:A49EDB* - ID_OUI_FROM_DATABASE=AutoCrib, Inc. - -+OUI:A49F85* -+ ID_OUI_FROM_DATABASE=Lyve Minds, Inc -+ - OUI:A49F89* - ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. - -@@ -63964,6 +64405,9 @@ OUI:A8995C* - OUI:A89B10* - ID_OUI_FROM_DATABASE=inMotion Ltd. - -+OUI:A8A668* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:A8AD3D* - ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd - -@@ -64021,6 +64465,9 @@ OUI:A8F274* - OUI:A8F470* - ID_OUI_FROM_DATABASE=Fujian Newland Communication Science Technologies Co.,Ltd. - -+OUI:A8F7E0* -+ ID_OUI_FROM_DATABASE=PLANET Technology Corporation -+ - OUI:A8F94B* - ID_OUI_FROM_DATABASE=Eltex Enterprise Ltd. - -@@ -64258,12 +64705,21 @@ OUI:ACA22C* - OUI:ACA430* - ID_OUI_FROM_DATABASE=Peerless AV - -+OUI:ACA919* -+ ID_OUI_FROM_DATABASE=TrekStor GmbH -+ -+OUI:ACA9A0* -+ ID_OUI_FROM_DATABASE=Audioengine, Ltd. -+ - OUI:ACAB8D* - ID_OUI_FROM_DATABASE=Lyngso Marine A/S - - OUI:ACB313* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:ACB859* -+ ID_OUI_FROM_DATABASE=Uniband Electronic Corp, -+ - OUI:ACBD0B* - ID_OUI_FROM_DATABASE=IMAC CO.,LTD - -@@ -64375,6 +64831,9 @@ OUI:ACF97E* - OUI:ACFDEC* - ID_OUI_FROM_DATABASE=Apple, Inc - -+OUI:B000B4* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:B00594* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -64465,6 +64924,9 @@ OUI:B06CBF* - OUI:B0750C* - ID_OUI_FROM_DATABASE=QA Cafe - -+OUI:B0754D* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:B075D5* - ID_OUI_FROM_DATABASE=ZTE Corporation - -@@ -64528,9 +64990,15 @@ OUI:B09FBA* - OUI:B0A10A* - ID_OUI_FROM_DATABASE=Pivotal Systems Corporation - -+OUI:B0A37E* -+ ID_OUI_FROM_DATABASE=Qingdao Haier Electronics Co.,Ltd -+ - OUI:B0A72A* - ID_OUI_FROM_DATABASE=Ensemble Designs, Inc. - -+OUI:B0A737* -+ ID_OUI_FROM_DATABASE=Roku, Inc. -+ - OUI:B0A86E* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -64597,6 +65065,9 @@ OUI:B0D09C* - OUI:B0D2F5* - ID_OUI_FROM_DATABASE=Vello Systems, Inc. - -+OUI:B0D59D* -+ ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd -+ - OUI:B0D7C5* - ID_OUI_FROM_DATABASE=STP KFT - -@@ -64813,6 +65284,9 @@ OUI:B499BA* - OUI:B49DB4* - ID_OUI_FROM_DATABASE=Axion Technologies Inc. - -+OUI:B49EAC* -+ ID_OUI_FROM_DATABASE=Imagik Int'l Corp -+ - OUI:B49EE6* - ID_OUI_FROM_DATABASE=SHENZHEN TECHNOLOGY CO LTD - -@@ -64900,6 +65374,9 @@ OUI:B4ED19* - OUI:B4ED54* - ID_OUI_FROM_DATABASE=Wohler Technologies - -+OUI:B4EEB4* -+ ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP -+ - OUI:B4EED4* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -64963,6 +65440,9 @@ OUI:B8288B* - OUI:B829F7* - ID_OUI_FROM_DATABASE=Blaster Tech - -+OUI:B82A72* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:B82ADC* - ID_OUI_FROM_DATABASE=EFR Europäische Funk-Rundsteuerung GmbH - -@@ -65047,6 +65527,9 @@ OUI:B87424* - OUI:B87447* - ID_OUI_FROM_DATABASE=Convergence Technologies - -+OUI:B875C0* -+ ID_OUI_FROM_DATABASE=PayPal, Inc. -+ - OUI:B8763F* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -65062,6 +65545,9 @@ OUI:B8797E* - OUI:B87AC9* - ID_OUI_FROM_DATABASE=Siemens Ltd. - -+OUI:B87CF2* -+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. -+ - OUI:B8871E* - ID_OUI_FROM_DATABASE=Good Mind Industries Co., Ltd. - -@@ -65152,6 +65638,9 @@ OUI:B8BB6D* - OUI:B8BEBF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:B8BF83* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:B8C1A2* - ID_OUI_FROM_DATABASE=Dragon Path Technologies Co., Limited - -@@ -65171,7 +65660,7 @@ OUI:B8C855* - ID_OUI_FROM_DATABASE=Shanghai GBCOM Communication Technology Co.,Ltd. - - OUI:B8CA3A* -- ID_OUI_FROM_DATABASE=Dell PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:B8CD93* - ID_OUI_FROM_DATABASE=Penetek, Inc -@@ -65215,6 +65704,9 @@ OUI:B8E856* - OUI:B8E937* - ID_OUI_FROM_DATABASE=Sonos, Inc. - -+OUI:B8EE65* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:B8EE79* - ID_OUI_FROM_DATABASE=YWire Technologies, Inc. - -@@ -65284,6 +65776,9 @@ OUI:BC20A4* - OUI:BC20BA* - ID_OUI_FROM_DATABASE=Inspur (Shandong) Electronic Information Co., Ltd - -+OUI:BC25F0* -+ ID_OUI_FROM_DATABASE=3D Display Technologies Co., Ltd. -+ - OUI:BC261D* - ID_OUI_FROM_DATABASE=HONG KONG TECON TECHNOLOGY - -@@ -65311,6 +65806,9 @@ OUI:BC305B* - OUI:BC307D* - ID_OUI_FROM_DATABASE=Wistron Neweb Corp. - -+OUI:BC3400* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:BC35E5* - ID_OUI_FROM_DATABASE=Hydro Systems Company - -@@ -65419,6 +65917,9 @@ OUI:BC8B55* - OUI:BC8CCD* - ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. - -+OUI:BC8D0E* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:BC926B* - ID_OUI_FROM_DATABASE=Apple - -@@ -65572,6 +66073,9 @@ OUI:C038F9* - OUI:C03B8F* - ID_OUI_FROM_DATABASE=Minicom Digital Signage - -+OUI:C03D46* -+ ID_OUI_FROM_DATABASE=Shanghai Mochui Network Technology Co., Ltd -+ - OUI:C03E0F* - ID_OUI_FROM_DATABASE=BSkyB Ltd - -@@ -65602,6 +66106,9 @@ OUI:C04A00* - OUI:C04DF7* - ID_OUI_FROM_DATABASE=SERELEC - -+OUI:C056E3* -+ ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. -+ - OUI:C057BC* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -65614,6 +66121,9 @@ OUI:C05E6F* - OUI:C05E79* - ID_OUI_FROM_DATABASE=SHENZHEN HUAXUN ARK TECHNOLOGIES CO.,LTD - -+OUI:C06118* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:C0626B* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -65794,6 +66304,9 @@ OUI:C40415* - OUI:C40528* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:C4084A* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:C40938* - ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd - -@@ -65848,6 +66361,9 @@ OUI:C4291D* - OUI:C42C03* - ID_OUI_FROM_DATABASE=Apple - -+OUI:C4346B* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:C436DA* - ID_OUI_FROM_DATABASE=Rusteletech Ltd. - -@@ -65938,6 +66454,9 @@ OUI:C467B5* - OUI:C46AB7* - ID_OUI_FROM_DATABASE=Xiaomi Technology,Inc. - -+OUI:C46BB4* -+ ID_OUI_FROM_DATABASE=myIDkey -+ - OUI:C46DF1* - ID_OUI_FROM_DATABASE=DataGravity - -@@ -65983,6 +66502,9 @@ OUI:C48508* - OUI:C488E5* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:C4913A* -+ ID_OUI_FROM_DATABASE=Shenzhen Sanland Electronic Co., ltd. -+ - OUI:C49300* - ID_OUI_FROM_DATABASE=8Devices - -@@ -66025,6 +66547,9 @@ OUI:C4C755* - OUI:C4C919* - ID_OUI_FROM_DATABASE=Energy Imports Ltd - -+OUI:C4C9EC* -+ ID_OUI_FROM_DATABASE=D&D GROUP sp. z o.o. -+ - OUI:C4CAD9* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -@@ -66113,7 +66638,7 @@ OUI:C81E8E* - ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd - - OUI:C81F66* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:C8208E* - ID_OUI_FROM_DATABASE=Storagedata -@@ -66127,6 +66652,9 @@ OUI:C82A14* - OUI:C82E94* - ID_OUI_FROM_DATABASE=Halfa Enterprise Co., Ltd. - -+OUI:C83168* -+ ID_OUI_FROM_DATABASE=eZEX corporation -+ - OUI:C83232* - ID_OUI_FROM_DATABASE=Hunting Innova - -@@ -66238,6 +66766,9 @@ OUI:C89C1D* - OUI:C89CDC* - ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. - -+OUI:C89F1D* -+ ID_OUI_FROM_DATABASE=SHENZHEN COMMUNICATION TECHNOLOGIES CO.,LTD -+ - OUI:C89F42* - ID_OUI_FROM_DATABASE=VDII Innovation AB - -@@ -66274,6 +66805,9 @@ OUI:C8B373* - OUI:C8B5B7* - ID_OUI_FROM_DATABASE=Apple - -+OUI:C8BA94* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ - OUI:C8BBD3* - ID_OUI_FROM_DATABASE=Embrane - -@@ -66316,6 +66850,9 @@ OUI:C8D3A3* - OUI:C8D429* - ID_OUI_FROM_DATABASE=Muehlbauer AG - -+OUI:C8D590* -+ ID_OUI_FROM_DATABASE=FLIGHT DATA SYSTEMS -+ - OUI:C8D5FE* - ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd - -@@ -66337,6 +66874,9 @@ OUI:C8E0EB* - OUI:C8E1A7* - ID_OUI_FROM_DATABASE=Vertu Corporation Limited - -+OUI:C8E42F* -+ ID_OUI_FROM_DATABASE=Technical Research Design and Development -+ - OUI:C8EE08* - ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD - -@@ -66358,6 +66898,9 @@ OUI:C8F386* - OUI:C8F406* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:C8F650* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:C8F68D* - ID_OUI_FROM_DATABASE=S.E.TECHNOLOGIES LIMITED - -@@ -66379,6 +66922,9 @@ OUI:C8FB26* - OUI:C8FE30* - ID_OUI_FROM_DATABASE=Bejing DAYO Mobile Communication Technology Ltd. - -+OUI:C8FF77* -+ ID_OUI_FROM_DATABASE=Dyson Limited -+ - OUI:CC0080* - ID_OUI_FROM_DATABASE=BETTINI SRL - -@@ -66394,6 +66940,9 @@ OUI:CC051B* - OUI:CC07AB* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:CC07E4* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:CC08E0* - ID_OUI_FROM_DATABASE=Apple - -@@ -66574,6 +67123,9 @@ OUI:CC9E00* - OUI:CC9F35* - ID_OUI_FROM_DATABASE=Transbit Sp. z o.o. - -+OUI:CCA0E5* -+ ID_OUI_FROM_DATABASE=DZG Metering GmbH -+ - OUI:CCA374* - ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd - -@@ -66595,6 +67147,9 @@ OUI:CCB3F8* - OUI:CCB55A* - ID_OUI_FROM_DATABASE=Fraunhofer ITWM - -+OUI:CCB691* -+ ID_OUI_FROM_DATABASE=NECMagnusCommunications -+ - OUI:CCB888* - ID_OUI_FROM_DATABASE=AnB Securite s.a. - -@@ -66610,6 +67165,9 @@ OUI:CCBE71* - OUI:CCC104* - ID_OUI_FROM_DATABASE=Applied Technical Systems - -+OUI:CCC3EA* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:CCC50A* - ID_OUI_FROM_DATABASE=SHENZHEN DAJIAHAO TECHNOLOGY CO.,LTD - -@@ -66643,6 +67201,9 @@ OUI:CCD811* - OUI:CCD9E9* - ID_OUI_FROM_DATABASE=SCR Engineers Ltd. - -+OUI:CCE1D5* -+ ID_OUI_FROM_DATABASE=Buffalo Inc. -+ - OUI:CCE798* - ID_OUI_FROM_DATABASE=My Social Stuff - -@@ -66778,6 +67339,12 @@ OUI:D059C3* - OUI:D05A0F* - ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD - -+OUI:D05AF1* -+ ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd -+ -+OUI:D05FB8* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:D05FCE* - ID_OUI_FROM_DATABASE=Hitachi Data Systems - -@@ -66799,6 +67366,9 @@ OUI:D0699E* - OUI:D069D0* - ID_OUI_FROM_DATABASE=Verto Medical Solutions, LLC - -+OUI:D072DC* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:D0737F* - ID_OUI_FROM_DATABASE=Mini-Circuits - -@@ -66811,6 +67381,9 @@ OUI:D073D5* - OUI:D075BE* - ID_OUI_FROM_DATABASE=Reno A&E - -+OUI:D07650* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:D07AB5* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -66895,6 +67468,9 @@ OUI:D0C42F* - OUI:D0C789* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:D0C7C0* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:D0CDE1* - ID_OUI_FROM_DATABASE=Scientech Electronics - -@@ -67018,6 +67594,9 @@ OUI:D41F0C* - OUI:D4206D* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:D42122* -+ ID_OUI_FROM_DATABASE=Sercomm Corporation -+ - OUI:D4223F* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -@@ -67099,6 +67678,9 @@ OUI:D464F7* - OUI:D466A8* - ID_OUI_FROM_DATABASE=Riedo Networks GmbH - -+OUI:D46761* -+ ID_OUI_FROM_DATABASE=SAHAB TECHNOLOGY -+ - OUI:D467E7* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - -@@ -67168,6 +67750,9 @@ OUI:D49524* - OUI:D496DF* - ID_OUI_FROM_DATABASE=SUNGJIN C&T CO.,LTD - -+OUI:D4970B* -+ ID_OUI_FROM_DATABASE=XIAOMI CORPORATION -+ - OUI:D49A20* - ID_OUI_FROM_DATABASE=Apple - -@@ -67207,6 +67792,9 @@ OUI:D4AE52* - OUI:D4B110* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:D4B43E* -+ ID_OUI_FROM_DATABASE=Messcomp Datentechnik GmbH -+ - OUI:D4BED9* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -67237,6 +67825,9 @@ OUI:D4CBAF* - OUI:D4CEB8* - ID_OUI_FROM_DATABASE=Enatel LTD - -+OUI:D4CFF9* -+ ID_OUI_FROM_DATABASE=Shenzhen Sen5 Technology Co., Ltd. -+ - OUI:D4D184* - ID_OUI_FROM_DATABASE=ADB Broadband Italia - -@@ -67258,6 +67849,9 @@ OUI:D4D919* - OUI:D4DF57* - ID_OUI_FROM_DATABASE=Alpinion Medical Systems - -+OUI:D4E08E* -+ ID_OUI_FROM_DATABASE=ValueHD Corporation -+ - OUI:D4E32C* - ID_OUI_FROM_DATABASE=S. Siedle & Sohne - -@@ -67375,6 +67969,9 @@ OUI:D84606* - OUI:D8490B* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:D8492F* -+ ID_OUI_FROM_DATABASE=CANON INC. -+ - OUI:D84B2A* - ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. - -@@ -67397,7 +67994,7 @@ OUI:D85D84* - ID_OUI_FROM_DATABASE=CAx soft GmbH - - OUI:D86194* -- ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido -+ ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido - - OUI:D862DB* - ID_OUI_FROM_DATABASE=Eno Inc. -@@ -67438,6 +68035,9 @@ OUI:D87988* - OUI:D87CDD* - ID_OUI_FROM_DATABASE=SANIX INCORPORATED - -+OUI:D87EB1* -+ ID_OUI_FROM_DATABASE=x.o.ware, inc. -+ - OUI:D881CE* - ID_OUI_FROM_DATABASE=AHN INC. - -@@ -67462,6 +68062,9 @@ OUI:D8973B* - OUI:D89760* - ID_OUI_FROM_DATABASE=C2 Development, Inc. - -+OUI:D8977C* -+ ID_OUI_FROM_DATABASE=Grey Innovation -+ - OUI:D89D67* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -67525,6 +68128,9 @@ OUI:D8C7C8* - OUI:D8C99D* - ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED - -+OUI:D8CF9C* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D8D1CB* - ID_OUI_FROM_DATABASE=Apple - -@@ -67555,6 +68161,9 @@ OUI:D8DD5F* - OUI:D8DDFD* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:D8DECE* -+ ID_OUI_FROM_DATABASE=ISUNG CO.,LTD -+ - OUI:D8DF0D* - ID_OUI_FROM_DATABASE=beroNet GmbH - -@@ -67660,6 +68269,9 @@ OUI:DC3350* - OUI:DC37D2* - ID_OUI_FROM_DATABASE=Hunan HKT Electronic Technology Co., Ltd - -+OUI:DC38E1* -+ ID_OUI_FROM_DATABASE=Juniper networks -+ - OUI:DC3A5E* - ID_OUI_FROM_DATABASE=Roku, Inc - -@@ -67693,6 +68305,9 @@ OUI:DC5E36* - OUI:DC647C* - ID_OUI_FROM_DATABASE=C.R.S. iiMotion GmbH - -+OUI:DC663A* -+ ID_OUI_FROM_DATABASE=Apacer Technology Inc. -+ - OUI:DC6F00* - ID_OUI_FROM_DATABASE=Livescribe, Inc. - -@@ -67816,6 +68431,9 @@ OUI:DCE71C* - OUI:DCF05D* - ID_OUI_FROM_DATABASE=Letta Teknoloji - -+OUI:DCF110* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:DCF755* - ID_OUI_FROM_DATABASE=SITRONIK - -@@ -67939,6 +68557,9 @@ OUI:E063E5* - OUI:E064BB* - ID_OUI_FROM_DATABASE=DigiView S.r.l. - -+OUI:E06678* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:E067B3* - ID_OUI_FROM_DATABASE=C-Data Technology Co., Ltd - -@@ -68071,6 +68692,9 @@ OUI:E0CA94* - OUI:E0CB4E* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -+OUI:E0CBEE* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:E0CEC3* - ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP - -@@ -68152,6 +68776,9 @@ OUI:E40439* - OUI:E4115B* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:E41218* -+ ID_OUI_FROM_DATABASE=ShenZhen Rapoo Technology Co., Ltd. -+ - OUI:E4121D* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -68341,6 +68968,9 @@ OUI:E4C806* - OUI:E4CE8F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:E4D332* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:E4D3F1* - ID_OUI_FROM_DATABASE=Cisco - -@@ -68371,6 +69001,9 @@ OUI:E4F365* - OUI:E4F3E3* - ID_OUI_FROM_DATABASE=Shanghai iComhome Co.,Ltd. - -+OUI:E4F4C6* -+ ID_OUI_FROM_DATABASE=NETGEAR -+ - OUI:E4F7A1* - ID_OUI_FROM_DATABASE=Datafox GmbH - -@@ -68671,6 +69304,9 @@ OUI:E8EADA* - OUI:E8EDF3* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:E8EF89* -+ ID_OUI_FROM_DATABASE=OPMEX Tech. -+ - OUI:E8F1B0* - ID_OUI_FROM_DATABASE=SAGEMCOM SAS - -@@ -68719,6 +69355,9 @@ OUI:EC2AF0* - OUI:EC2C49* - ID_OUI_FROM_DATABASE=University of Tokyo - -+OUI:EC2E4E* -+ ID_OUI_FROM_DATABASE=HITACHI-LG DATA STORAGE INC -+ - OUI:EC3091* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -68881,6 +69520,9 @@ OUI:ECE09B* - OUI:ECE1A9* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:ECE512* -+ ID_OUI_FROM_DATABASE=tado GmbH -+ - OUI:ECE555* - ID_OUI_FROM_DATABASE=Hirschmann Automation - -@@ -68909,7 +69551,7 @@ OUI:ECF35B* - ID_OUI_FROM_DATABASE=Nokia Corporation - - OUI:ECF4BB* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:ECF72B* - ID_OUI_FROM_DATABASE=HD DIGITAL TECH CO., LTD. -@@ -68948,7 +69590,7 @@ OUI:F01C13* - ID_OUI_FROM_DATABASE=LG Electronics - - OUI:F01FAF* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F0219D* - ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd. -@@ -69085,6 +69727,9 @@ OUI:F08A28* - OUI:F08BFE* - ID_OUI_FROM_DATABASE=COSTEL.,CO.LTD - -+OUI:F08CFB* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:F08EDB* - ID_OUI_FROM_DATABASE=VeloCloud Networks - -@@ -69241,6 +69886,9 @@ OUI:F4044C* - OUI:F4068D* - ID_OUI_FROM_DATABASE=devolo AG - -+OUI:F406A5* -+ ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. -+ - OUI:F40B93* - ID_OUI_FROM_DATABASE=Research In Motion - -@@ -69427,6 +70075,9 @@ OUI:F4B7E2* - OUI:F4BD7C* - ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD - -+OUI:F4C447* -+ ID_OUI_FROM_DATABASE=Coagent International Enterprise Limited -+ - OUI:F4C6D7* - ID_OUI_FROM_DATABASE=blackned GmbH - -@@ -69478,6 +70129,9 @@ OUI:F4F15A* - OUI:F4F5A5* - ID_OUI_FROM_DATABASE=Nokia corporation - -+OUI:F4F5E8* -+ ID_OUI_FROM_DATABASE=Google -+ - OUI:F4F951* - ID_OUI_FROM_DATABASE=Apple - -@@ -69502,6 +70156,9 @@ OUI:F80BD0* - OUI:F80CF3* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:F80D43* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. -+ - OUI:F80DEA* - ID_OUI_FROM_DATABASE=ZyCast Technology Inc. - -@@ -69586,6 +70243,9 @@ OUI:F8472D* - OUI:F84897* - ID_OUI_FROM_DATABASE=Hitachi, Ltd. - -+OUI:F84A73* -+ ID_OUI_FROM_DATABASE=EUMTECH CO., LTD -+ - OUI:F84A7F* - ID_OUI_FROM_DATABASE=Innometriks Inc - -@@ -69622,6 +70282,12 @@ OUI:F85F2A* - OUI:F862AA* - ID_OUI_FROM_DATABASE=xn systems - -+OUI:F86601* -+ ID_OUI_FROM_DATABASE=Suzhou Chi-tek information technology Co., Ltd -+ -+OUI:F866D1* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. -+ - OUI:F866F2* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -69710,13 +70376,13 @@ OUI:F8AC6D* - ID_OUI_FROM_DATABASE=Deltenna Ltd - - OUI:F8B156* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F8B599* - ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd - - OUI:F8BC12* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F8C001* - ID_OUI_FROM_DATABASE=Juniper Networks -@@ -69764,7 +70430,7 @@ OUI:F8DB7F* - ID_OUI_FROM_DATABASE=HTC Corporation - - OUI:F8DB88* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F8DC7A* - ID_OUI_FROM_DATABASE=Variscite LTD -@@ -69892,6 +70558,9 @@ OUI:FC1FC0* - OUI:FC229C* - ID_OUI_FROM_DATABASE=Han Kyung I Net Co.,Ltd. - -+OUI:FC2325* -+ ID_OUI_FROM_DATABASE=EosTek (Shenzhen) Co., Ltd. -+ - OUI:FC253F* - ID_OUI_FROM_DATABASE=Apple - -@@ -69928,6 +70597,9 @@ OUI:FC455F* - OUI:FC48EF* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:FC4AE9* -+ ID_OUI_FROM_DATABASE=Castlenet Technology Inc. -+ - OUI:FC4B1C* - ID_OUI_FROM_DATABASE=INTERSENSOR S.R.L. - -@@ -70030,6 +70702,9 @@ OUI:FCBBA1* - OUI:FCC23D* - ID_OUI_FROM_DATABASE=Atmel Corporation - -+OUI:FCC2DE* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:FCC734* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -70048,6 +70723,9 @@ OUI:FCD4F2* - OUI:FCD4F6* - ID_OUI_FROM_DATABASE=Messana Air.Ray Conditioning s.r.l. - -+OUI:FCD5D9* -+ ID_OUI_FROM_DATABASE=Shenzhen SDMC Technology Co., Ltd. -+ - OUI:FCD6BD* - ID_OUI_FROM_DATABASE=Robert Bosch GmbH - -@@ -70060,6 +70738,9 @@ OUI:FCDB96* - OUI:FCDD55* - ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd - -+OUI:FCE186* -+ ID_OUI_FROM_DATABASE=A3M Co., LTD -+ - OUI:FCE192* - ID_OUI_FROM_DATABASE=Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd - -@@ -70078,12 +70759,18 @@ OUI:FCE892* - OUI:FCEDB9* - ID_OUI_FROM_DATABASE=Arrayent - -+OUI:FCF152* -+ ID_OUI_FROM_DATABASE=Sony Corporation -+ - OUI:FCF1CD* - ID_OUI_FROM_DATABASE=OPTEX-FA CO.,LTD. - - OUI:FCF528* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -+OUI:FCF647* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:FCF8AE* - ID_OUI_FROM_DATABASE=Intel Corporate - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 7f833e3..371a685 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -890,6 +890,9 @@ pci:v00001000d0000005Bsv00001000sd00009295* - pci:v00001000d0000005Bsv00001014sd0000040B* - ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller - -+pci:v00001000d0000005Bsv00001014sd0000040C* -+ ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller -+ - pci:v00001000d0000005Bsv00001014sd00000412* - ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller - -@@ -917,6 +920,9 @@ pci:v00001000d0000005Bsv00001028sd00001F37* - pci:v00001000d0000005Bsv00001028sd00001F38* - ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) - -+pci:v00001000d0000005Bsv000015D9sd00000690* -+ ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB -+ - pci:v00001000d0000005Bsv00008086sd00003510* - ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller - -@@ -950,6 +956,12 @@ pci:v00001000d0000005Dsv00001028sd00001F49* - pci:v00001000d0000005Dsv00001028sd00001F4A* - ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) - -+pci:v00001000d0000005Dsv000017AAsd00001052* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i -+ -+pci:v00001000d0000005Dsv000017AAsd00001053* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix -+ - pci:v00001000d0000005E* - ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS - -@@ -1163,6 +1175,9 @@ pci:v00001000d00000073sv000015D9sd00000400* - pci:v00001000d00000073sv00001734sd00001177* - ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) - -+pci:v00001000d00000073sv000017AAsd00001051* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i -+ - pci:v00001000d00000073sv00008086sd0000350D* - ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller - -@@ -1598,6 +1613,9 @@ pci:v00001000d00001960sv00008086sd00000520* - pci:v00001000d00001960sv00008086sd00000523* - ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 - -+pci:v00001000d00003050* -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 -+ - pci:v00001000d00006001* - ID_MODEL_FROM_DATABASE=DX1 Multiformat Broadcast HD/SD Encoder/Decoder - -@@ -1665,7 +1683,7 @@ pci:v00001002d0000130E* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d0000130F* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] - - pci:v00001002d00001310* - ID_MODEL_FROM_DATABASE=Kaveri -@@ -1673,9 +1691,12 @@ pci:v00001002d00001310* - pci:v00001002d00001311* - ID_MODEL_FROM_DATABASE=Kaveri - --pci:v00001002d00001313* -+pci:v00001002d00001312* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d00001313* -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] -+ - pci:v00001002d00001314* - ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio - -@@ -1686,6 +1707,9 @@ pci:v00001002d00001315* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d00001316* -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] -+ -+pci:v00001002d00001317* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d0000131B* -@@ -1694,6 +1718,9 @@ pci:v00001002d0000131B* - pci:v00001002d0000131C* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d0000131D* -+ ID_MODEL_FROM_DATABASE=Kaveri -+ - pci:v00001002d00001714* - ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] - -@@ -4176,20 +4203,41 @@ pci:v00001002d00006603* - ID_MODEL_FROM_DATABASE=Mars - - pci:v00001002d00006604* -- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M265] -+ ID_MODEL_FROM_DATABASE=Opal XT [Radeon R7 M265] - - pci:v00001002d00006605* -- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M260] -+ ID_MODEL_FROM_DATABASE=Opal PRO [Radeon R7 M260] - - pci:v00001002d00006606* - ID_MODEL_FROM_DATABASE=Mars XTX [Radeon HD 8790M] - - pci:v00001002d00006607* -- ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M] -+ ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M / R5 M240] - - pci:v00001002d00006610* - ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] - -+pci:v00001002d00006610sv00001019sd00000030* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001028sd00002120* -+ ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ -+pci:v00001002d00006610sv00001028sd00002322* -+ ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ -+pci:v00001002d00006610sv00001462sd00002910* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001462sd00002911* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001642sd00003C81* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001642sd00003C91* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ - pci:v00001002d00006611* - ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] - -@@ -4278,13 +4326,13 @@ pci:v00001002d00006663sv00001025sd00000846* - ID_MODEL_FROM_DATABASE=Radeon HD 8570A - - pci:v00001002d00006664* -- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M200 Series] -+ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] - - pci:v00001002d00006665* -- ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M200 Series] -+ ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] - - pci:v00001002d00006667* -- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M200 Series] -+ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] - - pci:v00001002d0000666F* - ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] -@@ -5003,6 +5051,9 @@ pci:v00001002d00006759sv00001B0Asd000090B5* - pci:v00001002d00006759sv00001B0Asd000090B6* - ID_MODEL_FROM_DATABASE=Radeon HD 7570 - -+pci:v00001002d0000675B* -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] -+ - pci:v00001002d0000675D* - ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 7570] - -@@ -5801,6 +5852,9 @@ pci:v00001002d00006798sv00001092sd00003000* - pci:v00001002d00006798sv00001458sd00002261* - ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] - -+pci:v00001002d00006798sv00001462sd00002774* -+ ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE -+ - pci:v00001002d00006798sv00001682sd00003211* - ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition - -@@ -5823,7 +5877,7 @@ pci:v00001002d00006799* - ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] - - pci:v00001002d0000679A* -- ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950] -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] - - pci:v00001002d0000679Asv00001002sd00000B01* - ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM -@@ -5903,6 +5957,9 @@ pci:v00001002d00006801* - pci:v00001002d00006801sv00001002sd00000124* - ID_MODEL_FROM_DATABASE=Radeon HD 8970M - -+pci:v00001002d00006801sv00001462sd00001117* -+ ID_MODEL_FROM_DATABASE=Radeon R9 M290X -+ - pci:v00001002d00006801sv00008086sd00002110* - ID_MODEL_FROM_DATABASE=Radeon HD 8970M - -@@ -5966,6 +6023,12 @@ pci:v00001002d00006821* - pci:v00001002d00006821sv00001002sd0000031E* - ID_MODEL_FROM_DATABASE=FirePro SX4000 - -+pci:v00001002d00006821sv00001028sd000005CC* -+ ID_MODEL_FROM_DATABASE=FirePro M5100 -+ -+pci:v00001002d00006821sv00001028sd000015CC* -+ ID_MODEL_FROM_DATABASE=FirePro M5100 -+ - pci:v00001002d00006822* - ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] - -@@ -6039,7 +6102,7 @@ pci:v00001002d0000683B* - ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series] - - pci:v00001002d0000683D* -- ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] - - pci:v00001002d0000683Dsv00001002sd00000030* - ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -@@ -6050,8 +6113,14 @@ pci:v00001002d0000683Dsv00001019sd00000030* - pci:v00001002d0000683Dsv0000103Csd00006890* - ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM - -+pci:v00001002d0000683Dsv00001043sd00008760* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ -+pci:v00001002d0000683Dsv0000174Bsd00008304* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ - pci:v00001002d0000683F* -- ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750] -+ ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] - - pci:v00001002d00006840* - ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] -@@ -8891,6 +8960,9 @@ pci:v00001002d0000985E* - pci:v00001002d0000985F* - ID_MODEL_FROM_DATABASE=Mullins - -+pci:v00001002d00009900* -+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G] -+ - pci:v00001002d00009901* - ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660D] - -@@ -9498,7 +9570,7 @@ pci:v00001011d0000000D* - ID_MODEL_FROM_DATABASE=PBXGB [TGA2] - - pci:v00001011d0000000F* -- ID_MODEL_FROM_DATABASE=PCI-to-PDQ Interface Chip [PFI] -+ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] - - pci:v00001011d0000000Fsv00001011sd0000DEF1* - ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) -@@ -9596,6 +9668,9 @@ pci:v00001011d00000019sv00001186sd00001102* - pci:v00001011d00000019sv00001186sd00001112* - ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet - -+pci:v00001011d00000019sv000011F0sd00004235* -+ ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] -+ - pci:v00001011d00000019sv00001259sd00002800* - ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet - -@@ -9761,6 +9836,9 @@ pci:v00001013d000000B0* - pci:v00001013d000000B8* - ID_MODEL_FROM_DATABASE=GD 5446 - -+pci:v00001013d000000B8sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001013d000000BC* - ID_MODEL_FROM_DATABASE=GD 5480 - -@@ -10487,6 +10565,9 @@ pci:v0000101Ed00001960sv00001028sd00000511* - pci:v0000101Ed00001960sv0000103Csd000060E7* - ID_MODEL_FROM_DATABASE=NetRAID-1M - -+pci:v0000101Ed00001960sv0000103Csd000060E8* -+ ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] -+ - pci:v0000101Ed00009010* - ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller - -@@ -10811,6 +10892,9 @@ pci:v00001022d00002003* - pci:v00001022d00002020* - ID_MODEL_FROM_DATABASE=53c974 [PCscsi] - -+pci:v00001022d00002020sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001022d00002040* - ID_MODEL_FROM_DATABASE=79c974 - -@@ -12263,6 +12347,9 @@ pci:v0000102Bd00002007* - pci:v0000102Bd00002527* - ID_MODEL_FROM_DATABASE=Millennium G550 - -+pci:v0000102Bd00002527sv0000102Bsd00000F42* -+ ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI -+ - pci:v0000102Bd00002527sv0000102Bsd00000F83* - ID_MODEL_FROM_DATABASE=Millennium G550 - -@@ -12515,6 +12602,9 @@ pci:v0000102Bd00004949* - pci:v0000102Bd00004949sv0000102Bsd00000010* - ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber - -+pci:v0000102Bd00004949sv0000102Bsd00000011* -+ ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber -+ - pci:v0000102Bd00004949sv0000102Bsd00000020* - ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber - -@@ -12527,6 +12617,18 @@ pci:v0000102Bd00004949sv0000102Bsd00000040* - pci:v0000102Bd00004949sv0000102Bsd00000050* - ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber - -+pci:v0000102Bd00004949sv0000102Bsd00001010* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber -+ -+pci:v0000102Bd00004949sv0000102Bsd00001015* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber -+ -+pci:v0000102Bd00004949sv0000102Bsd00001020* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber -+ -+pci:v0000102Bd00004949sv0000102Bsd00001050* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber -+ - pci:v0000102Bd00004CDC* - ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator - -@@ -12911,6 +13013,9 @@ pci:v00001033d00000194sv00001028sd000004DA* - pci:v00001033d00000194sv00001043sd00008413* - ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard - -+pci:v00001033d00000194sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001033d00000194sv00001B96sd00000001* - ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card - -@@ -13853,9 +13958,6 @@ pci:v0000103Cd00004037* - pci:v0000103Cd0000403B* - ID_MODEL_FROM_DATABASE=PCIe Root Port - --pci:v0000103Cd000060E8* -- ID_MODEL_FROM_DATABASE=NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493) -- - pci:v0000103E* - ID_VENDOR_FROM_DATABASE=Solliday Engineering - -@@ -14159,6 +14261,9 @@ pci:v0000104Ad00000010* - pci:v0000104Ad00000010sv0000104Asd00004018* - ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) - -+pci:v0000104Ad00000010sv00001681sd00000010* -+ ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] -+ - pci:v0000104Ad00000010sv00001681sd00000028* - ID_MODEL_FROM_DATABASE=3D Prophet 4000XT - -@@ -14426,6 +14531,9 @@ pci:v0000104Cd00008022sv0000104Csd00008023* - pci:v0000104Cd00008023* - ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] - -+pci:v0000104Cd00008023sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v0000104Cd00008023sv0000103Csd0000088C* - ID_MODEL_FROM_DATABASE=NC8000 laptop - -@@ -15233,6 +15341,9 @@ pci:v00001054d0000302C* - pci:v00001054d0000302D* - ID_MODEL_FROM_DATABASE=M001 PCI Express Switch Downstream Port - -+pci:v00001054d00003070* -+ ID_MODEL_FROM_DATABASE=Hitachi FIVE-FX Fibre Channel to PCIe HBA -+ - pci:v00001054d00003505* - ID_MODEL_FROM_DATABASE=SH7751 PCI Controller (PCIC) - -@@ -16208,6 +16319,9 @@ pci:v0000106Bd0000003E* - pci:v0000106Bd0000003F* - ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB - -+pci:v0000106Bd0000003Fsv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v0000106Bd00000040* - ID_MODEL_FROM_DATABASE=K2 KeyLargo USB - -@@ -16517,6 +16631,9 @@ pci:v00001077d00002422sv0000103Csd000012DD* - pci:v00001077d00002432* - ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA - -+pci:v00001077d00002432sv0000103Csd00007040* -+ ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] -+ - pci:v00001077d00002532* - ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA - -@@ -16815,7 +16932,7 @@ pci:v0000108Dd00000002* - ID_MODEL_FROM_DATABASE=16/4 Token Ring - - pci:v0000108Dd00000004* -- ID_MODEL_FROM_DATABASE=RapidFire 3139 Token-Ring 16/4 PCI Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter - - pci:v0000108Dd00000004sv0000108Dsd00000004* - ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter -@@ -17294,6 +17411,30 @@ pci:v00001093d00002CC0* - pci:v00001093d00002DB0* - ID_MODEL_FROM_DATABASE=PCI-6608 - -+pci:v00001093d0000702C* -+ ID_MODEL_FROM_DATABASE=PXI-7831R -+ -+pci:v00001093d0000702D* -+ ID_MODEL_FROM_DATABASE=PCI-7831R -+ -+pci:v00001093d0000702E* -+ ID_MODEL_FROM_DATABASE=PXI-7811R -+ -+pci:v00001093d0000702F* -+ ID_MODEL_FROM_DATABASE=PCI-7811R -+ -+pci:v00001093d00007055* -+ ID_MODEL_FROM_DATABASE=PXI-7830R -+ -+pci:v00001093d00007056* -+ ID_MODEL_FROM_DATABASE=PCI-7830R -+ -+pci:v00001093d00007074* -+ ID_MODEL_FROM_DATABASE=PXI-7833R -+ -+pci:v00001093d00007083* -+ ID_MODEL_FROM_DATABASE=PCI-7833R -+ - pci:v00001093d00007085* - ID_MODEL_FROM_DATABASE=PCI-6509 - -@@ -17369,6 +17510,9 @@ pci:v00001093d0000714C* - pci:v00001093d0000714D* - ID_MODEL_FROM_DATABASE=PCI-5114 - -+pci:v00001093d00007152* -+ ID_MODEL_FROM_DATABASE=PCI-5640R -+ - pci:v00001093d0000716C* - ID_MODEL_FROM_DATABASE=PCI-6225 - -@@ -17378,6 +17522,12 @@ pci:v00001093d0000717D* - pci:v00001093d0000717F* - ID_MODEL_FROM_DATABASE=PCIe-6259 - -+pci:v00001093d00007193* -+ ID_MODEL_FROM_DATABASE=PXI-7813R -+ -+pci:v00001093d00007194* -+ ID_MODEL_FROM_DATABASE=PCI-7813R -+ - pci:v00001093d000071BC* - ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) - -@@ -17420,6 +17570,51 @@ pci:v00001093d0000734A* - pci:v00001093d0000737D* - ID_MODEL_FROM_DATABASE=PXI-5124EX - -+pci:v00001093d00007384* -+ ID_MODEL_FROM_DATABASE=PXI-7851R -+ -+pci:v00001093d00007385* -+ ID_MODEL_FROM_DATABASE=PXI-7852R -+ -+pci:v00001093d00007386* -+ ID_MODEL_FROM_DATABASE=PCIe-7851R -+ -+pci:v00001093d00007387* -+ ID_MODEL_FROM_DATABASE=PCIe-7852R -+ -+pci:v00001093d00007390* -+ ID_MODEL_FROM_DATABASE=PXI-7841R -+ -+pci:v00001093d00007391* -+ ID_MODEL_FROM_DATABASE=PXI-7842R -+ -+pci:v00001093d00007392* -+ ID_MODEL_FROM_DATABASE=PXI-7853R -+ -+pci:v00001093d00007393* -+ ID_MODEL_FROM_DATABASE=PCIe-7841R -+ -+pci:v00001093d00007394* -+ ID_MODEL_FROM_DATABASE=PCIe-7842R -+ -+pci:v00001093d000073A5* -+ ID_MODEL_FROM_DATABASE=PXIe-5641R -+ -+pci:v00001093d000073D5* -+ ID_MODEL_FROM_DATABASE=PXI-7951R -+ -+pci:v00001093d000073D6* -+ ID_MODEL_FROM_DATABASE=PXI-7952R -+ -+pci:v00001093d000073D7* -+ ID_MODEL_FROM_DATABASE=PXI-7953R -+ -+pci:v00001093d000073E1* -+ ID_MODEL_FROM_DATABASE=PXI-7854R -+ -+pci:v00001093d000073EC* -+ ID_MODEL_FROM_DATABASE=PXI-7954R -+ - pci:v00001093d000073F0* - ID_MODEL_FROM_DATABASE=PXI-5153 - -@@ -17438,6 +17633,18 @@ pci:v00001093d00007460* - pci:v00001093d00007461* - ID_MODEL_FROM_DATABASE=PCI-5154EX - -+pci:v00001093d00007539* -+ ID_MODEL_FROM_DATABASE=NI 9157 -+ -+pci:v00001093d0000753A* -+ ID_MODEL_FROM_DATABASE=NI 9159 -+ -+pci:v00001093d00007626* -+ ID_MODEL_FROM_DATABASE=NI 9154 -+ -+pci:v00001093d00007627* -+ ID_MODEL_FROM_DATABASE=NI 9155 -+ - pci:v00001093d0000B001* - ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 - -@@ -17469,7 +17676,28 @@ pci:v00001093d0000B091* - ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 - - pci:v00001093d0000C4C4* -- ID_MODEL_FROM_DATABASE=PXIe-4353/5160 -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device -+ -+pci:v00001093d0000C4C4sv00001093sd000074B2* -+ ID_MODEL_FROM_DATABASE=PXIe-4353 -+ -+pci:v00001093d0000C4C4sv00001093sd000074D0* -+ ID_MODEL_FROM_DATABASE=PXIe-7961R -+ -+pci:v00001093d0000C4C4sv00001093sd000074E2* -+ ID_MODEL_FROM_DATABASE=PXIe-7962R -+ -+pci:v00001093d0000C4C4sv00001093sd000074E3* -+ ID_MODEL_FROM_DATABASE=PXIe-7965R -+ -+pci:v00001093d0000C4C4sv00001093sd00007553* -+ ID_MODEL_FROM_DATABASE=PCIe-1473R -+ -+pci:v00001093d0000C4C4sv00001093sd000075CE* -+ ID_MODEL_FROM_DATABASE=PXIe-7966R -+ -+pci:v00001093d0000C4C4sv00001093sd000076B7* -+ ID_MODEL_FROM_DATABASE=PXIe-7975R - - pci:v00001093d0000C4C4sv00001093sd000076D0* - ID_MODEL_FROM_DATABASE=PXIe-5160 -@@ -17696,9 +17924,6 @@ pci:v0000109Ed0000036Esv00001461sd00000761* - pci:v0000109Ed0000036Esv00001461sd00000771* - ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 - --pci:v0000109Ed0000036Esv00001464sd0000AA00* -- ID_MODEL_FROM_DATABASE=iTuner Spectra8 -- - pci:v0000109Ed0000036Esv000014F1sd00000001* - ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC - -@@ -18152,6 +18377,9 @@ pci:v000010A9d00008001* - pci:v000010A9d00008002* - ID_MODEL_FROM_DATABASE=G-net NT - -+pci:v000010A9d0000802B* -+ ID_MODEL_FROM_DATABASE=REACT external interrupt controller -+ - pci:v000010AA* - ID_VENDOR_FROM_DATABASE=ACC Microelectronics - -@@ -18485,6 +18713,9 @@ pci:v000010B5d00008732* - pci:v000010B5d00008734* - ID_MODEL_FROM_DATABASE=PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch - -+pci:v000010B5d00008747* -+ ID_MODEL_FROM_DATABASE=PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch -+ - pci:v000010B5d000087B0* - ID_MODEL_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch - -@@ -18969,10 +19200,10 @@ pci:v000010B6d00000009sv000010B6sd00000009* - ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode - - pci:v000010B6d0000000A* -- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode -+ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner - - pci:v000010B6d0000000Asv000010B6sd0000000A* -- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode -+ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner - - pci:v000010B6d0000000B* - ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 -@@ -19001,6 +19232,9 @@ pci:v000010B7* - pci:v000010B7d00000001* - ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) - -+pci:v000010B7d00000001sv00009850sd00000001* -+ ID_MODEL_FROM_DATABASE=3c985B-SX -+ - pci:v000010B7d00000013* - ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) - -@@ -21042,10 +21276,7 @@ pci:v000010DEd000000CC* - ID_MODEL_FROM_DATABASE=NV41GLM [Quadro FX Go1400] - - pci:v000010DEd000000CD* -- ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 3450/4000 SDI] -- --pci:v000010DEd000000CDsv000010DEsd0000029B* -- ID_MODEL_FROM_DATABASE=wx4300 Workstation -+ ID_MODEL_FROM_DATABASE=NV42GL [Quadro FX 3450/4000 SDI] - - pci:v000010DEd000000CE* - ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 1400] -@@ -24858,7 +25089,7 @@ pci:v000010DEd0000086E* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9100M G] - - pci:v000010DEd0000086F* -- ID_MODEL_FROM_DATABASE=C79 [GeForce 9200M G] -+ ID_MODEL_FROM_DATABASE=MCP79 [GeForce 8200M G] - - pci:v000010DEd00000870* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] -@@ -26006,6 +26237,9 @@ pci:v000010DEd00001005sv00003842sd00002795* - pci:v000010DEd0000100A* - ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] - -+pci:v000010DEd0000100C* -+ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] -+ - pci:v000010DEd0000101F* - ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] - -@@ -26582,6 +26816,9 @@ pci:v000010DEd00001140sv00001462sd000010B8* - pci:v000010DEd00001140sv00001462sd000010E9* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -+pci:v000010DEd00001140sv00001462sd00001116* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ - pci:v000010DEd00001140sv00001462sd0000AA33* - ID_MODEL_FROM_DATABASE=GeForce 720M - -@@ -26750,6 +26987,9 @@ pci:v000010DEd00001140sv00001B0Asd00002202* - pci:v000010DEd00001180* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] - -+pci:v000010DEd00001180sv00001043sd000083F1* -+ ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 -+ - pci:v000010DEd00001180sv00003842sd00003682* - ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition - -@@ -26804,6 +27044,15 @@ pci:v000010DEd0000118F* - pci:v000010DEd00001193* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] - -+pci:v000010DEd00001198* -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] -+ -+pci:v000010DEd00001199* -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 870M] -+ -+pci:v000010DEd0000119A* -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 860M] -+ - pci:v000010DEd0000119D* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 775M Mac Edition] - -@@ -27065,6 +27314,9 @@ pci:v000010DEd00001251* - pci:v000010DEd00001280* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 635] - -+pci:v000010DEd00001281* -+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 710] -+ - pci:v000010DEd00001282* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 640 Rev. 2] - -@@ -27107,6 +27359,9 @@ pci:v000010DEd00001294* - pci:v000010DEd00001295* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] - -+pci:v000010DEd00001296* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] -+ - pci:v000010DEd00001298* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 720M] - -@@ -27119,12 +27374,48 @@ pci:v000010DEd000012B9* - pci:v000010DEd000012BA* - ID_MODEL_FROM_DATABASE=GK208GLM [Quadro K510M] - -+pci:v000010DEd00001340* -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] -+ -+pci:v000010DEd00001341* -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] -+ -+pci:v000010DEd00001380* -+ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] -+ -+pci:v000010DEd00001381* -+ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750] -+ -+pci:v000010DEd00001382* -+ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] -+ -+pci:v000010DEd00001390* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] -+ -+pci:v000010DEd00001391* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] -+ -+pci:v000010DEd00001392* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] -+ -+pci:v000010DEd00001393* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] -+ - pci:v000010DF* - ID_VENDOR_FROM_DATABASE=Emulex Corporation - - pci:v000010DFd00000720* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) - -+pci:v000010DFd00000720sv000017AAsd00001056* -+ ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric -+ -+pci:v000010DFd00000720sv000017AAsd00001057* -+ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric -+ -+pci:v000010DFd00000720sv000017AAsd00001059* -+ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric -+ - pci:v000010DFd00000722* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) - -@@ -27167,6 +27458,12 @@ pci:v000010DFd0000E208* - pci:v000010DFd0000E220* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) - -+pci:v000010DFd0000E220sv000017AAsd00001054* -+ ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric -+ -+pci:v000010DFd0000E220sv000017AAsd00001055* -+ ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric -+ - pci:v000010DFd0000E240* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) - -@@ -27573,7 +27870,7 @@ pci:v000010ECd00008029sv00001259sd00002400* - ID_MODEL_FROM_DATABASE=AT-2400 - - pci:v000010ECd00008029sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine - - pci:v000010ECd00008129* - ID_MODEL_FROM_DATABASE=RTL-8129 -@@ -27603,7 +27900,7 @@ pci:v000010ECd00008138sv000010ECsd00008138* - ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter - - pci:v000010ECd00008139* -- ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter - - pci:v000010ECd00008139sv00000357sd0000000A* - ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 -@@ -27638,11 +27935,14 @@ pci:v000010ECd00008139sv00001071sd00008160* - pci:v000010ECd00008139sv000010BDsd00000320* - ID_MODEL_FROM_DATABASE=EP-320X-R - -+pci:v000010ECd00008139sv000010ECsd00008139* -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter -+ - pci:v000010ECd00008139sv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop - - pci:v000010ECd00008139sv00001113sd0000EC01* -- ID_MODEL_FROM_DATABASE=FNC-0107TX -+ ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX - - pci:v000010ECd00008139sv00001186sd00001300* - ID_MODEL_FROM_DATABASE=DFE-538TX -@@ -27734,6 +28034,9 @@ pci:v000010ECd00008139sv0000187Esd00003303* - pci:v000010ECd00008139sv00001904sd00008139* - ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter - -+pci:v000010ECd00008139sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v000010ECd00008139sv00002646sd00000001* - ID_MODEL_FROM_DATABASE=KNE120TX - -@@ -27779,6 +28082,9 @@ pci:v000010ECd00008168sv0000103Csd00001611* - pci:v000010ECd00008168sv0000103Csd00001950* - ID_MODEL_FROM_DATABASE=ProBook 450/455 - -+pci:v000010ECd00008168sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v000010ECd00008168sv00001043sd000011F5* - ID_MODEL_FROM_DATABASE=A6J-Q008 - -@@ -27815,6 +28121,9 @@ pci:v000010ECd00008168sv00001462sd0000238C* - pci:v000010ECd00008168sv00001462sd0000368C* - ID_MODEL_FROM_DATABASE=K9AG Neo2 - -+pci:v000010ECd00008168sv00001462sd00004180* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v000010ECd00008168sv00001462sd00007522* - ID_MODEL_FROM_DATABASE=X58 Pro-E - -@@ -27894,10 +28203,10 @@ pci:v000010ECd00008176sv00001A3Bsd00001139* - ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card - - pci:v000010ECd00008177* -- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter -+ ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter - - pci:v000010ECd00008178* -- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter -+ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter - - pci:v000010ECd00008179* - ID_MODEL_FROM_DATABASE=RTL8188EE Wireless Network Adapter -@@ -27914,11 +28223,14 @@ pci:v000010ECd00008180sv00001737sd00000019* - pci:v000010ECd00008185* - ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller - -+pci:v000010ECd0000818B* -+ ID_MODEL_FROM_DATABASE=RTL8192EE PCIe Wireless Network Adapter -+ - pci:v000010ECd00008190* -- ID_MODEL_FROM_DATABASE=RTL8190 802.11n Wireless LAN -+ ID_MODEL_FROM_DATABASE=RTL8190 802.11n PCI Wireless Network Adapter - - pci:v000010ECd00008191* -- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter -+ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter - - pci:v000010ECd00008192* - ID_MODEL_FROM_DATABASE=RTL8192E/RTL8192SE Wireless LAN Controller -@@ -27938,6 +28250,15 @@ pci:v000010ECd00008199sv00001462sd00006894* - pci:v000010ECd00008723* - ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter - -+pci:v000010ECd00008812* -+ ID_MODEL_FROM_DATABASE=RTL8812AE 802.11ac PCIe Wireless Network Adapter -+ -+pci:v000010ECd00008813* -+ ID_MODEL_FROM_DATABASE=RTL8813AE 802.11ac PCIe Wireless Network Adapter -+ -+pci:v000010ECd00008821* -+ ID_MODEL_FROM_DATABASE=RTL8821AE 802.11ac PCIe Wireless Network Adapter -+ - pci:v000010ECd0000B723* - ID_MODEL_FROM_DATABASE=RTL8723BE PCIe Wireless Network Adapter - -@@ -28211,6 +28532,9 @@ pci:v00001102d00000004sv00001102sd00000058* - pci:v00001102d00000004sv00001102sd00001002* - ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum - -+pci:v00001102d00000004sv00001102sd00001003* -+ ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 -+ - pci:v00001102d00000004sv00001102sd00001007* - ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 - -@@ -28436,6 +28760,9 @@ pci:v00001103d00001742* - pci:v00001103d00002210* - ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller - -+pci:v00001103d00002210sv000011ABsd000011AB* -+ ID_MODEL_FROM_DATABASE=88SX6042 -+ - pci:v00001103d00002300* - ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller - -@@ -28635,7 +28962,7 @@ pci:v00001106d00000415* - ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller - - pci:v00001106d00000415sv00001043sd0000838F* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=Motherboard - - pci:v00001106d00000501* - ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] -@@ -29033,6 +29360,9 @@ pci:v00001106d00003038sv00001849sd00003038* - pci:v00001106d00003038sv000019DAsd0000A179* - ID_MODEL_FROM_DATABASE=ZBOX nano VD01 - -+pci:v00001106d00003038sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001106d00003040* - ID_MODEL_FROM_DATABASE=VT82C586B ACPI - -@@ -29591,6 +29921,9 @@ pci:v00001106d00003238* - pci:v00001106d00003249* - ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller - -+pci:v00001106d00003249sv00001106sd00003249* -+ ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller -+ - pci:v00001106d0000324A* - ID_MODEL_FROM_DATABASE=CX700/VX700 PCI to PCI Bridge - -@@ -30180,7 +30513,7 @@ pci:v00001109d00001400* - ID_MODEL_FROM_DATABASE=EM110TX [EX110TX] - - pci:v0000110A* -- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG -+ ID_VENDOR_FROM_DATABASE=Siemens AG - - pci:v0000110Ad00000002* - ID_MODEL_FROM_DATABASE=Pirahna 2-port -@@ -30216,20 +30549,56 @@ pci:v0000110Ad00002104* - ID_MODEL_FROM_DATABASE=Eicon Diva 2.02 compatible passive ISDN card - - pci:v0000110Ad00003141* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 (Profibus Adapter) -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 / 5621 - - pci:v0000110Ad00003142* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A1 (Profibus Adapter) -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 / 5614 -+ -+pci:v0000110Ad00003143* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 - - pci:v0000110Ad00004021* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) - - pci:v0000110Ad00004029* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A2 (Profibus Adapter) -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 -+ -+pci:v0000110Ad00004029sv0000110Asd00004029* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 -+ -+pci:v0000110Ad00004029sv0000110Asd0000C029* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 - - pci:v0000110Ad00004035* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 - -+pci:v0000110Ad00004036* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1616 -+ -+pci:v0000110Ad00004038* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1604 -+ -+pci:v0000110Ad00004069* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 -+ -+pci:v0000110Ad00004069sv0000110Asd0000C069* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 -+ -+pci:v0000110Ad0000407C* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 -+ -+pci:v0000110Ad0000407D* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A3 -+ -+pci:v0000110Ad0000407E* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5622 -+ -+pci:v0000110Ad00004083* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A3 -+ -+pci:v0000110Ad00004084* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1626 -+ - pci:v0000110Ad00004942* - ID_MODEL_FROM_DATABASE=FPGA I-Bus Tracer for MBD - -@@ -31244,9 +31613,24 @@ pci:v00001131d00007133sv00005ACEsd00006290* - pci:v00001131d00007133sv00005ACEsd00007090* - ID_MODEL_FROM_DATABASE=Behold TV A7 - -+pci:v00001131d00007133sv00005ACEsd00007150* -+ ID_MODEL_FROM_DATABASE=Behold TV H75 -+ -+pci:v00001131d00007133sv00005ACEsd00007151* -+ ID_MODEL_FROM_DATABASE=Behold TV H75 -+ - pci:v00001131d00007133sv00005ACEsd00007190* - ID_MODEL_FROM_DATABASE=Behold TV H7 - -+pci:v00001131d00007133sv00005ACEsd00007191* -+ ID_MODEL_FROM_DATABASE=Behold TV H7 -+ -+pci:v00001131d00007133sv00005ACEsd00007290* -+ ID_MODEL_FROM_DATABASE=Behold TV T7 -+ -+pci:v00001131d00007133sv00005ACEsd00007591* -+ ID_MODEL_FROM_DATABASE=Behold TV X7 -+ - pci:v00001131d00007133sv00005ACEsd00007595* - ID_MODEL_FROM_DATABASE=Behold TV X7 - -@@ -31553,9 +31937,30 @@ pci:v00001131d00007231* - pci:v00001131d00007231sv00005ACEsd00008000* - ID_MODEL_FROM_DATABASE=Behold TV H8 - -+pci:v00001131d00007231sv00005ACEsd00008001* -+ ID_MODEL_FROM_DATABASE=Behold TV H8 -+ -+pci:v00001131d00007231sv00005ACEsd00008050* -+ ID_MODEL_FROM_DATABASE=Behold TV H85 -+ -+pci:v00001131d00007231sv00005ACEsd00008051* -+ ID_MODEL_FROM_DATABASE=Behold TV H85 -+ - pci:v00001131d00007231sv00005ACEsd00008100* - ID_MODEL_FROM_DATABASE=Behold TV A8 - -+pci:v00001131d00007231sv00005ACEsd00008101* -+ ID_MODEL_FROM_DATABASE=Behold TV A8 -+ -+pci:v00001131d00007231sv00005ACEsd00008150* -+ ID_MODEL_FROM_DATABASE=Behold TV A85 -+ -+pci:v00001131d00007231sv00005ACEsd00008151* -+ ID_MODEL_FROM_DATABASE=Behold TV A85 -+ -+pci:v00001131d00007231sv00005ACEsd00008201* -+ ID_MODEL_FROM_DATABASE=Behold TV T8 -+ - pci:v00001131d00009730* - ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller - -@@ -35042,6 +35447,9 @@ pci:v000011C1d00005811* - pci:v000011C1d00005811sv0000103Csd00002A34* - ID_MODEL_FROM_DATABASE=Pavilion a1677c - -+pci:v000011C1d00005811sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v000011C1d00005811sv0000103Csd00002A9E* - ID_MODEL_FROM_DATABASE=Pavilion p6310f - -@@ -35858,6 +36266,9 @@ pci:v00001217d00008330sv00001028sd000004A3* - pci:v00001217d00008331* - ID_MODEL_FROM_DATABASE=O2 Flash Memory Card - -+pci:v00001217d00008520* -+ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller -+ - pci:v00001218* - ID_VENDOR_FROM_DATABASE=Hybricon Corp. - -@@ -36852,7 +37263,7 @@ pci:v00001274d00001171* - ID_MODEL_FROM_DATABASE=ES1373 [AudioPCI] (also Creative Labs CT5803) - - pci:v00001274d00001371* -- ID_MODEL_FROM_DATABASE=ES1371 [AudioPCI-97] -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] - - pci:v00001274d00001371sv00000E11sd00000024* - ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro -@@ -36870,7 +37281,7 @@ pci:v00001274d00001371sv0000107Bsd00008054* - ID_MODEL_FROM_DATABASE=Tabor2 - - pci:v00001274d00001371sv00001274sd00001371* -- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI64V, AudioPCI128 -+ ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 - - pci:v00001274d00001371sv00001274sd00008001* - ID_MODEL_FROM_DATABASE=CT4751 board -@@ -41858,12 +42269,24 @@ pci:v00001425d00005013* - pci:v00001425d00005014* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005015* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005080* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005081* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005083* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005084* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005085* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d00005401* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -41924,12 +42347,24 @@ pci:v00001425d00005413* - pci:v00001425d00005414* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005415* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005480* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005481* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005483* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005484* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005485* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d00005501* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -41990,12 +42425,24 @@ pci:v00001425d00005513* - pci:v00001425d00005514* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller - -+pci:v00001425d00005515* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller -+ - pci:v00001425d00005580* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller - - pci:v00001425d00005581* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller - -+pci:v00001425d00005583* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller -+ -+pci:v00001425d00005584* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller -+ -+pci:v00001425d00005585* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller -+ - pci:v00001425d00005601* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -42056,12 +42503,24 @@ pci:v00001425d00005613* - pci:v00001425d00005614* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller - -+pci:v00001425d00005615* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller -+ - pci:v00001425d00005680* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller - - pci:v00001425d00005681* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller - -+pci:v00001425d00005683* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller -+ -+pci:v00001425d00005684* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller -+ -+pci:v00001425d00005685* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller -+ - pci:v00001425d00005701* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -42122,12 +42581,24 @@ pci:v00001425d00005713* - pci:v00001425d00005714* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005715* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005780* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005781* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005783* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005784* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005785* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d00005801* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -42188,12 +42659,24 @@ pci:v00001425d00005813* - pci:v00001425d00005814* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005815* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005880* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005881* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005883* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005884* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005885* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d0000A000* - ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller - -@@ -42483,7 +42966,7 @@ pci:v00001461d0000F436* - ID_MODEL_FROM_DATABASE=AVerTV Hybrid+FM - - pci:v00001462* -- ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. -+ ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. [MSI] - - pci:v00001463* - ID_VENDOR_FROM_DATABASE=Fast Corporation -@@ -43847,6 +44330,33 @@ pci:v000014E4d0000168E* - pci:v000014E4d0000168Esv0000103Csd00001798* - ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] - -+pci:v000014E4d0000168Esv0000103Csd000017A5* -+ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd000018D3* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001930* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001931* -+ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001932* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001933* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd0000193A* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00003382* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd0000339D* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ - pci:v000014E4d00001690* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe - -@@ -43922,9 +44432,21 @@ pci:v000014E4d000016A1* - pci:v000014E4d000016A2* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet - -+pci:v000014E4d000016A2sv0000103Csd00001916* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ -+pci:v000014E4d000016A2sv0000103Csd00001917* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ - pci:v000014E4d000016A4* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function - -+pci:v000014E4d000016A4sv0000103Csd00001916* -+ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter -+ -+pci:v000014E4d000016A4sv0000103Csd00001917* -+ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter -+ - pci:v000014E4d000016A5* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function - -@@ -44048,12 +44570,78 @@ pci:v000014E4d000016ACsv0000103Csd0000703D* - pci:v000014E4d000016AD* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function - -+pci:v000014E4d000016ADsv0000103Csd00001916* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ -+pci:v000014E4d000016ADsv0000103Csd00001917* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ - pci:v000014E4d000016AE* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function - -+pci:v000014E4d000016AEsv0000103Csd00001798* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd000017A5* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd000018D3* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001930* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001931* -+ ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001932* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001933* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd0000193A* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00003382* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd0000339D* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter -+ - pci:v000014E4d000016AF* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function - -+pci:v000014E4d000016AFsv0000103Csd00001798* -+ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd000017A5* -+ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd000018D3* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001930* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001931* -+ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001932* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001933* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd0000193A* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00003382* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd0000339D* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ - pci:v000014E4d000016B0* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe - -@@ -49484,6 +50072,9 @@ pci:v00001814d0000539F* - pci:v00001814d0000539Fsv0000103Csd00001637* - ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card - -+pci:v00001814d00005592* -+ ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter -+ - pci:v00001814d0000E932* - ID_MODEL_FROM_DATABASE=RT2560F 802.11 b/g PCI - -@@ -50480,6 +51071,12 @@ pci:v0000193Fd00000367* - pci:v0000193Fd00000370* - ID_MODEL_FROM_DATABASE=AHA370-PCIe - -+pci:v0000193Fd00003641* -+ ID_MODEL_FROM_DATABASE=AHA3641 -+ -+pci:v0000193Fd00003642* -+ ID_MODEL_FROM_DATABASE=AHA3642 -+ - pci:v00001942* - ID_VENDOR_FROM_DATABASE=ClearSpeed Technology plc - -@@ -50633,6 +51230,9 @@ pci:v00001957d00000084* - pci:v00001957d00000085* - ID_MODEL_FROM_DATABASE=MPC8347 PBGA - -+pci:v00001957d00000085sv0000110Asd00004046* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 -+ - pci:v00001957d00000086* - ID_MODEL_FROM_DATABASE=MPC8343E - -@@ -51095,6 +51695,9 @@ pci:v000019A2d00000710sv0000103Csd00003341* - pci:v000019A2d00000710sv0000103Csd00003345* - ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter - -+pci:v000019A2d00000710sv0000103Csd0000337B* -+ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ - pci:v000019A2d00000712* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) - -@@ -51104,6 +51707,9 @@ pci:v000019A2d00000714* - pci:v000019A2d00000714sv0000103Csd00003315* - ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter - -+pci:v000019A2d00000714sv0000103Csd0000337B* -+ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ - pci:v000019A8* - ID_VENDOR_FROM_DATABASE=DAQDATA GmbH - -@@ -51236,6 +51842,9 @@ pci:v00001A22* - pci:v00001A29* - ID_VENDOR_FROM_DATABASE=Fortinet, Inc. - -+pci:v00001A29d00004338* -+ ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC -+ - pci:v00001A2B* - ID_VENDOR_FROM_DATABASE=Ascom AG - -@@ -51605,6 +52214,12 @@ pci:v00001AF4d00001005* - pci:v00001AF4d00001009* - ID_MODEL_FROM_DATABASE=Virtio filesystem - -+pci:v00001AF4d00001110* -+ ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory -+ -+pci:v00001AF4d00001110sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001AF5* - ID_VENDOR_FROM_DATABASE=Netezza Corp. - -@@ -51647,6 +52262,9 @@ pci:v00001B21d00000612sv00001849sd00000612* - pci:v00001B21d00001042* - ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller - -+pci:v00001B21d00001042sv00001043sd00008488* -+ ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ - pci:v00001B21d00001042sv00001849sd00001042* - ID_MODEL_FROM_DATABASE=Motherboard - -@@ -51662,6 +52280,39 @@ pci:v00001B2C* - pci:v00001B36* - ID_VENDOR_FROM_DATABASE=Red Hat, Inc. - -+pci:v00001B36d00000001* -+ ID_MODEL_FROM_DATABASE=QEMU PCI-PCI bridge -+ -+pci:v00001B36d00000002* -+ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter -+ -+pci:v00001B36d00000002sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000003* -+ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter -+ -+pci:v00001B36d00000003sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000004* -+ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter -+ -+pci:v00001B36d00000004sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000005* -+ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device -+ -+pci:v00001B36d00000005sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000100* -+ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card -+ -+pci:v00001B36d00000100sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001B37* - ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB - -@@ -51725,6 +52376,9 @@ pci:v00001B4Bd00009130sv00001043sd00008438* - pci:v00001B4Bd00009172* - ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller - -+pci:v00001B4Bd00009178* -+ ID_MODEL_FROM_DATABASE=88SE9170 PCIe SATA 6Gb/s Controller -+ - pci:v00001B4Bd0000917A* - ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller - -@@ -51875,6 +52529,9 @@ pci:v00001BBFd00000004* - pci:v00001BF4* - ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation - -+pci:v00001BF4d00000001* -+ ID_MODEL_FROM_DATABASE=SentinelEX -+ - pci:v00001BFD* - ID_VENDOR_FROM_DATABASE=EeeTOP - -@@ -51902,6 +52559,18 @@ pci:v00001C2Cd000000A1* - pci:v00001C2Cd000000A2* - ID_MODEL_FROM_DATABASE=FBC8XG Capture 8x10Gb - -+pci:v00001C2Cd000000A3* -+ ID_MODEL_FROM_DATABASE=FBC2XG Capture 2x10Gb -+ -+pci:v00001C2Cd000000A4* -+ ID_MODEL_FROM_DATABASE=FBC4XGG3 Capture 4x10Gb -+ -+pci:v00001C2Cd000000A5* -+ ID_MODEL_FROM_DATABASE=FBC2XLG Capture 2x40Gb -+ -+pci:v00001C2Cd000000A6* -+ ID_MODEL_FROM_DATABASE=FBC1CG Capture 1x100Gb -+ - pci:v00001C32* - ID_VENDOR_FROM_DATABASE=Highland Technology, Inc. - -@@ -53970,7 +54639,7 @@ pci:v00008086d00000100sv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - - pci:v00008086d00000100sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard - - pci:v00008086d00000101* - ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port -@@ -53987,6 +54656,9 @@ pci:v00008086d00000102* - pci:v00008086d00000102sv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - -+pci:v00008086d00000102sv00001043sd00000102* -+ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ - pci:v00008086d00000104* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller - -@@ -54065,9 +54737,15 @@ pci:v00008086d00000151* - pci:v00008086d00000151sv00001043sd00001477* - ID_MODEL_FROM_DATABASE=N56VZ - -+pci:v00008086d00000151sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00000151sv00001043sd000084CA* - ID_MODEL_FROM_DATABASE=P8H77-I Motherboard - -+pci:v00008086d00000151sv00008086sd00002010* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00000152* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -@@ -54098,12 +54776,21 @@ pci:v00008086d00000154sv00001043sd00001517* - pci:v00008086d00000155* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - -+pci:v00008086d00000155sv00008086sd00002010* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00000156* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller - - pci:v00008086d00000158* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller - -+pci:v00008086d00000158sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ -+pci:v00008086d00000158sv00008086sd00002010* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00000159* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - -@@ -54116,6 +54803,9 @@ pci:v00008086d0000015C* - pci:v00008086d0000015D* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - -+pci:v00008086d0000015Dsv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d0000015E* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -@@ -54137,6 +54827,9 @@ pci:v00008086d00000166sv00001043sd00002103* - pci:v00008086d0000016A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -+pci:v00008086d0000016Asv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ - pci:v00008086d00000172* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -@@ -54753,7 +55446,7 @@ pci:v00008086d0000095Asv00008086sd00005002* - ID_MODEL_FROM_DATABASE=Wireless-N 7265 - - pci:v00008086d0000095Asv00008086sd0000500A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 - - pci:v00008086d0000095Asv00008086sd00005010* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -@@ -54770,9 +55463,18 @@ pci:v00008086d0000095Asv00008086sd0000502A* - pci:v00008086d0000095Asv00008086sd00005090* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00005100* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ -+pci:v00008086d0000095Asv00008086sd0000510A* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00005110* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00005112* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00005190* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -@@ -54794,9 +55496,15 @@ pci:v00008086d0000095Asv00008086sd00005590* - pci:v00008086d0000095Asv00008086sd00009010* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00009012* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00009110* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00009112* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00009210* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -@@ -55089,397 +55797,409 @@ pci:v00008086d00000D36* - ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller - - pci:v00008086d00000E00* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DMI2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 - - pci:v00008086d00000E01* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode - - pci:v00008086d00000E02* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1a -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a - - pci:v00008086d00000E03* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1b -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b - - pci:v00008086d00000E04* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2a -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a - - pci:v00008086d00000E05* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2b -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2b - - pci:v00008086d00000E06* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2c -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c - - pci:v00008086d00000E07* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2d -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2d - - pci:v00008086d00000E08* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3a -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a - - pci:v00008086d00000E09* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3b -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3b - - pci:v00008086d00000E0A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3c -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3c - - pci:v00008086d00000E0B* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3d -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3d - - pci:v00008086d00000E10* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E13* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E17* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E18* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E1C* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E1D* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E1E* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers - - pci:v00008086d00000E1F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers - - pci:v00008086d00000E20* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 - - pci:v00008086d00000E21* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 - - pci:v00008086d00000E22* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 - - pci:v00008086d00000E23* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 - - pci:v00008086d00000E24* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 - - pci:v00008086d00000E25* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 - - pci:v00008086d00000E26* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 - - pci:v00008086d00000E27* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 - - pci:v00008086d00000E28* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 VTd/Memory Map/Misc -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc - - pci:v00008086d00000E29* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Memory Hotplug -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Memory Hotplug - - pci:v00008086d00000E2A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO RAS -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS - - pci:v00008086d00000E2C* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IOAPIC -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC - - pci:v00008086d00000E2E* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA - - pci:v00008086d00000E2F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA - - pci:v00008086d00000E30* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 - - pci:v00008086d00000E32* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 - - pci:v00008086d00000E33* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 - - pci:v00008086d00000E34* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E36* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E37* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E38* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 - - pci:v00008086d00000E3A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 - - pci:v00008086d00000E3E* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E3F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E40* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 - - pci:v00008086d00000E41* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E43* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 - - pci:v00008086d00000E44* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 -+ -+pci:v00008086d00000E45* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register -+ -+pci:v00008086d00000E47* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register - - pci:v00008086d00000E60* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 - - pci:v00008086d00000E68* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers - - pci:v00008086d00000E6A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E6B* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E6C* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E6D* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E71* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers - - pci:v00008086d00000E74* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E75* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E77* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E79* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers - - pci:v00008086d00000E7D* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers - - pci:v00008086d00000E7F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E80* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 - - pci:v00008086d00000E81* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E83* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 - - pci:v00008086d00000E84* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 -+ -+pci:v00008086d00000E85* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register - - pci:v00008086d00000E87* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Registers - - pci:v00008086d00000E90* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 - - pci:v00008086d00000E93* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 - - pci:v00008086d00000E94* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 1 -+ -+pci:v00008086d00000E95* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register - - pci:v00008086d00000EA0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 - - pci:v00008086d00000EA8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers - - pci:v00008086d00000EAA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAB* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAD* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EAF* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EB0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 - - pci:v00008086d00000EB1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 - - pci:v00008086d00000EB2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 - - pci:v00008086d00000EB3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 - - pci:v00008086d00000EB4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 - - pci:v00008086d00000EB5* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 - - pci:v00008086d00000EB6* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 - - pci:v00008086d00000EB7* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 - - pci:v00008086d00000EBC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EBE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EBF* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EC0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0 - - pci:v00008086d00000EC1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1 - - pci:v00008086d00000EC2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2 - - pci:v00008086d00000EC3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3 - - pci:v00008086d00000EC4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 4 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 4 - - pci:v00008086d00000EC8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 System Address Decoder -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder - - pci:v00008086d00000EC9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers - - pci:v00008086d00000ECA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers - - pci:v00008086d00000ED8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000ED9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDD* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDF* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EE0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE5* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE6* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE7* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEB* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EED* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EF0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 - - pci:v00008086d00000EF1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 - - pci:v00008086d00000EF2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 - - pci:v00008086d00000EF3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 - - pci:v00008086d00000EF4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 - - pci:v00008086d00000EF5* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 - - pci:v00008086d00000EF6* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 - - pci:v00008086d00000EF7* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 - - pci:v00008086d00000EF8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EF9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFB* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFD* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000F00* - ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -@@ -55868,6 +56588,9 @@ pci:v00008086d0000100Esv00001028sd00000151* - pci:v00008086d0000100Esv0000107Bsd00008920* - ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter - -+pci:v00008086d0000100Esv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000100Esv00008086sd0000001E* - ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter - -@@ -56057,6 +56780,9 @@ pci:v00008086d0000101Esv00008086sd0000101E* - pci:v00008086d00001026* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - -+pci:v00008086d00001026sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d00001026sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -56867,15 +57593,24 @@ pci:v00008086d000010D3* - pci:v00008086d000010D3sv0000103Csd00003250* - ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter - -+pci:v00008086d000010D3sv00001043sd00008369* -+ ID_MODEL_FROM_DATABASE=Motherboard -+ - pci:v00008086d000010D3sv000010A9sd00008029* - ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet - - pci:v00008086d000010D3sv000015D9sd0000060A* - ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard - -+pci:v00008086d000010D3sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d000010D3sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter - -+pci:v00008086d000010D3sv00008086sd0000357A* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d000010D3sv00008086sd0000A01F* - ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter - -@@ -57002,6 +57737,9 @@ pci:v00008086d000010EF* - pci:v00008086d000010EFsv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d000010EFsv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d000010F0* - ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection - -@@ -57086,6 +57824,9 @@ pci:v00008086d000010FBsv0000108Esd00007B11* - pci:v00008086d000010FBsv00001734sd000011A9* - ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection - -+pci:v00008086d000010FBsv000017AAsd00001071* -+ ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric -+ - pci:v00008086d000010FBsv00008086sd00000002* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 - -@@ -57182,6 +57923,9 @@ pci:v00008086d00001209* - pci:v00008086d00001209sv0000140Bsd00000610* - ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board - -+pci:v00008086d00001209sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00001209sv00004C53sd00001050* - ID_MODEL_FROM_DATABASE=CT7 mainboard - -@@ -57428,6 +58172,9 @@ pci:v00008086d00001229sv00001775sd00001100* - pci:v00008086d00001229sv00001775sd0000CE90* - ID_MODEL_FROM_DATABASE=CE9 - -+pci:v00008086d00001229sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00001229sv00004C53sd00001080* - ID_MODEL_FROM_DATABASE=CT8 mainboard - -@@ -57782,6 +58529,9 @@ pci:v00008086d00001502* - pci:v00008086d00001502sv00001028sd000004A3* - ID_MODEL_FROM_DATABASE=Precision M4600 - -+pci:v00008086d00001502sv00008086sd0000357A* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00001503* - ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection - -@@ -57878,12 +58628,18 @@ pci:v00008086d00001520* - pci:v00008086d00001521* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection - -+pci:v00008086d00001521sv00001028sd00000602* -+ ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM -+ - pci:v00008086d00001521sv00001028sd00001F60* - ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC - - pci:v00008086d00001521sv00001028sd00001F62* - ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC - -+pci:v00008086d00001521sv00001028sd0000FF9A* -+ ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC -+ - pci:v00008086d00001521sv0000103Csd000017D1* - ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter - -@@ -57911,6 +58667,9 @@ pci:v00008086d00001521sv0000108Esd00007B18* - pci:v00008086d00001521sv000010A9sd0000802A* - ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE - -+pci:v00008086d00001521sv000017AAsd00001074* -+ ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric -+ - pci:v00008086d00001521sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 - -@@ -57962,6 +58721,9 @@ pci:v00008086d00001522sv00008086sd000000A4* - pci:v00008086d00001523* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection - -+pci:v00008086d00001523sv00001028sd00001F9B* -+ ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC -+ - pci:v00008086d00001523sv0000103Csd00001784* - ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter - -@@ -58025,6 +58787,9 @@ pci:v00008086d00001528sv0000108Esd00007B15* - pci:v00008086d00001528sv00001137sd000000BF* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 - -+pci:v00008086d00001528sv000017AAsd00001073* -+ ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric -+ - pci:v00008086d00001528sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 - -@@ -58055,6 +58820,9 @@ pci:v00008086d00001533* - pci:v00008086d00001533sv0000103Csd00000003* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 - -+pci:v00008086d00001533sv000017AAsd00001100* -+ ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter -+ - pci:v00008086d00001533sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 - -@@ -58103,6 +58871,9 @@ pci:v00008086d0000154Asv00008086sd0000011B* - pci:v00008086d0000154Asv00008086sd0000011C* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 - -+pci:v00008086d0000154C* -+ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ - pci:v00008086d0000154D* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter - -@@ -58148,12 +58919,78 @@ pci:v00008086d0000155Dsv00008086sd00000002* - pci:v00008086d00001560* - ID_MODEL_FROM_DATABASE=Ethernet Controller X540 - -+pci:v00008086d00001571* -+ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ -+pci:v00008086d00001572* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter -+ -+pci:v00008086d00001572sv00001028sd00001F99* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC -+ -+pci:v00008086d00001572sv00008086sd00000001* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ -+pci:v00008086d00001572sv00008086sd00000002* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ -+pci:v00008086d00001572sv00008086sd00000004* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ -+pci:v00008086d00001572sv00008086sd00000005* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter -+ -+pci:v00008086d00001572sv00008086sd00000006* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter -+ -+pci:v00008086d00001572sv00008086sd00000007* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ -+pci:v00008086d00001572sv00008086sd00000008* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ - pci:v00008086d0000157B* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection - - pci:v00008086d0000157C* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - -+pci:v00008086d00001580* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane -+ -+pci:v00008086d00001581* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane -+ -+pci:v00008086d00001581sv00001028sd00001F98* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC -+ -+pci:v00008086d00001583* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ -+ -+pci:v00008086d00001583sv00008086sd00000001* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ -+pci:v00008086d00001583sv00008086sd00000002* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ -+pci:v00008086d00001583sv00008086sd00000003* -+ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 -+ -+pci:v00008086d00001584* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ -+ -+pci:v00008086d00001584sv00008086sd00000001* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ -+pci:v00008086d00001584sv00008086sd00000002* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ -+pci:v00008086d00001584sv00008086sd00000003* -+ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 -+ -+pci:v00008086d00001585* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ -+ - pci:v00008086d000015A0* - ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I218-LM - -@@ -58166,6 +59003,117 @@ pci:v00008086d000015A2* - pci:v00008086d000015A3* - ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V - -+pci:v00008086d00001600* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -+ -+pci:v00008086d00001601* -+ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x16 Controller -+ -+pci:v00008086d00001602* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001603* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Camarillo Device -+ -+pci:v00008086d00001604* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -+ -+pci:v00008086d00001605* -+ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x8 Controller -+ -+pci:v00008086d00001606* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001607* -+ ID_MODEL_FROM_DATABASE=Broadwell-U CHAPS Device -+ -+pci:v00008086d00001608* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -+ -+pci:v00008086d00001609* -+ ID_MODEL_FROM_DATABASE=Broadwell-U x4 PCIe -+ -+pci:v00008086d0000160A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160C* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Audio Controller -+ -+pci:v00008086d0000160D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160F* -+ ID_MODEL_FROM_DATABASE=Broadwell-U SoftSKU -+ -+pci:v00008086d00001610* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI -+ -+pci:v00008086d00001612* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001614* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI -+ -+pci:v00008086d00001616* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001618* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI -+ -+pci:v00008086d0000161A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000161B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000161D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000161E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001622* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001626* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001632* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001636* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ - pci:v00008086d00001960* - ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor - -@@ -58308,7 +59256,10 @@ pci:v00008086d00001C02sv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - - pci:v00008086d00001C02sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ -+pci:v00008086d00001C02sv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS - - pci:v00008086d00001C03* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller -@@ -58346,8 +59297,11 @@ pci:v00008086d00001C10sv00001028sd000004AA* - pci:v00008086d00001C10sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - -+pci:v00008086d00001C10sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00001C10sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C12* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 -@@ -58379,18 +59333,27 @@ pci:v00008086d00001C18* - pci:v00008086d00001C18sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - -+pci:v00008086d00001C18sv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00001C1A* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 - - pci:v00008086d00001C1Asv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - -+pci:v00008086d00001C1Asv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00001C1C* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 - - pci:v00008086d00001C1E* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 - -+pci:v00008086d00001C1Esv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00001C20* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller - -@@ -58412,6 +59375,9 @@ pci:v00008086d00001C20sv00001028sd000004DA* - pci:v00008086d00001C20sv00001043sd00008418* - ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard - -+pci:v00008086d00001C20sv00001043sd0000841B* -+ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ - pci:v00008086d00001C20sv00008086sd00002008* - ID_MODEL_FROM_DATABASE=DQ67SW board - -@@ -58434,10 +59400,10 @@ pci:v00008086d00001C22sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C22sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C22sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C24* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller -@@ -58461,10 +59427,10 @@ pci:v00008086d00001C26sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C26sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C26sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C27* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 -@@ -58494,10 +59460,10 @@ pci:v00008086d00001C2Dsv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C2Dsv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C2Dsv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C33* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller -@@ -58521,7 +59487,7 @@ pci:v00008086d00001C3Asv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C3Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C3Asv00008086sd00007270* - ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -@@ -58577,6 +59543,9 @@ pci:v00008086d00001C4A* - pci:v00008086d00001C4Asv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - -+pci:v00008086d00001C4Asv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ - pci:v00008086d00001C4B* - ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller - -@@ -58610,6 +59579,9 @@ pci:v00008086d00001C51* - pci:v00008086d00001C52* - ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller - -+pci:v00008086d00001C52sv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00001C53* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller - -@@ -58622,6 +59594,9 @@ pci:v00008086d00001C55* - pci:v00008086d00001C56* - ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller - -+pci:v00008086d00001C56sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ - pci:v00008086d00001C57* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller - -@@ -59345,6 +60320,9 @@ pci:v00008086d0000225C* - pci:v00008086d0000225D* - ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 3120 series - -+pci:v00008086d0000225E* -+ ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 31S1 -+ - pci:v00008086d00002310* - ID_MODEL_FROM_DATABASE=DH89xxCC LPC Controller - -@@ -59495,6 +60473,9 @@ pci:v00008086d00002415sv000011D4sd00005340* - pci:v00008086d00002415sv00001734sd00001025* - ID_MODEL_FROM_DATABASE=Activy 3xx - -+pci:v00008086d00002415sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002416* - ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller - -@@ -59804,6 +60785,9 @@ pci:v00008086d00002449sv00001186sd00007801* - pci:v00008086d00002449sv0000144Dsd00002602* - ID_MODEL_FROM_DATABASE=HomePNA 1M CNR - -+pci:v00008086d00002449sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002449sv00008086sd00003010* - ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE - -@@ -59897,6 +60881,9 @@ pci:v00008086d0000244Esv00001028sd000002DA* - pci:v00008086d0000244Esv0000103Csd00002A3B* - ID_MODEL_FROM_DATABASE=Pavilion A1512X - -+pci:v00008086d0000244Esv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000244Esv0000103Csd000031FE* - ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 - -@@ -59906,15 +60893,27 @@ pci:v00008086d0000244Esv0000103Csd0000330B* - pci:v00008086d0000244Esv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -+pci:v00008086d0000244Esv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d0000244Esv00001458sd00005000* - ID_MODEL_FROM_DATABASE=Motherboard - -+pci:v00008086d0000244Esv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ -+pci:v00008086d0000244Esv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d0000244Esv000015D9sd00009680* - ID_MODEL_FROM_DATABASE=X7DBN Motherboard - - pci:v00008086d0000244Esv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -+pci:v00008086d0000244Esv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00002450* - ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) - -@@ -60671,6 +61670,9 @@ pci:v00008086d000024CDsv00001734sd00001004* - pci:v00008086d000024CDsv00001734sd00001055* - ID_MODEL_FROM_DATABASE=Amilo M1420 - -+pci:v00008086d000024CDsv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000024CDsv00004C53sd00001090* - ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard - -@@ -60689,6 +61691,9 @@ pci:v00008086d000024D0* - pci:v00008086d000024D1* - ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller - -+pci:v00008086d000024D1sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D1sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60740,6 +61745,9 @@ pci:v00008086d000024D2sv00001014sd000002DD* - pci:v00008086d000024D2sv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024D2sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D2sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60809,6 +61817,9 @@ pci:v00008086d000024D3sv00001014sd000002ED* - pci:v00008086d000024D3sv00001028sd00000156* - ID_MODEL_FROM_DATABASE=Precision 360 - -+pci:v00008086d000024D3sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D3sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60860,6 +61871,9 @@ pci:v00008086d000024D4sv00001014sd000002DD* - pci:v00008086d000024D4sv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024D4sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D4sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60926,6 +61940,9 @@ pci:v00008086d000024D5* - pci:v00008086d000024D5sv0000100Asd0000147B* - ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard - -+pci:v00008086d000024D5sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D5sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60977,6 +61994,9 @@ pci:v00008086d000024D7* - pci:v00008086d000024D7sv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=xSeries server mainboard - -+pci:v00008086d000024D7sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D7sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61040,6 +62060,9 @@ pci:v00008086d000024DBsv00001014sd000002DD* - pci:v00008086d000024DBsv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024DBsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024DBsv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61112,6 +62135,9 @@ pci:v00008086d000024DDsv00001014sd000002DD* - pci:v00008086d000024DDsv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024DDsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024DDsv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61169,6 +62195,9 @@ pci:v00008086d000024DE* - pci:v00008086d000024DEsv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=xSeries server mainboard - -+pci:v00008086d000024DEsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024DEsv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61208,6 +62237,21 @@ pci:v00008086d000024DEsv00008086sd0000524C* - pci:v00008086d000024DF* - ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller - -+pci:v00008086d000024DFsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ -+pci:v00008086d000024F3* -+ ID_MODEL_FROM_DATABASE=Wireless 8260 -+ -+pci:v00008086d000024F3sv00008086sd00000010* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ -+pci:v00008086d000024F4* -+ ID_MODEL_FROM_DATABASE=Wireless 8260 -+ -+pci:v00008086d000024F4sv00008086sd00000030* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ - pci:v00008086d00002500* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) - -@@ -61679,6 +62723,9 @@ pci:v00008086d000025ABsv00001775sd00001100* - pci:v00008086d000025ABsv00001775sd0000CE90* - ID_MODEL_FROM_DATABASE=CE9 - -+pci:v00008086d000025ABsv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000025ABsv00004C53sd000010B0* - ID_MODEL_FROM_DATABASE=CL9 mainboard - -@@ -62330,6 +63377,9 @@ pci:v00008086d00002668sv00001043sd0000814E* - pci:v00008086d00002668sv00001462sd00007028* - ID_MODEL_FROM_DATABASE=915P/G Neo2 - -+pci:v00008086d00002668sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000266A* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller - -@@ -62657,6 +63707,9 @@ pci:v00008086d00002770sv00001043sd0000817A* - pci:v00008086d00002770sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=E4500 - -+pci:v00008086d00002770sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d00002770sv00008086sd0000544E* - ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP - -@@ -62669,6 +63722,9 @@ pci:v00008086d00002772* - pci:v00008086d00002772sv0000103Csd00002A3B* - ID_MODEL_FROM_DATABASE=Pavilion A1512X - -+pci:v00008086d00002772sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d00002772sv00008086sd0000544E* - ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP - -@@ -62831,6 +63887,9 @@ pci:v00008086d000027B8sv00001043sd00008179* - pci:v00008086d000027B8sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=E4500 - -+pci:v00008086d000027B8sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027B8sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -62906,6 +63965,9 @@ pci:v00008086d000027C0sv00001462sd00002310* - pci:v00008086d000027C0sv00001462sd00007236* - ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard - -+pci:v00008086d000027C0sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027C0sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -62961,7 +64023,7 @@ pci:v00008086d000027C4sv00001028sd000001D7* - ID_MODEL_FROM_DATABASE=XPS M1210 - - pci:v00008086d000027C4sv000017AAsd0000200E* -- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 -+ ID_MODEL_FROM_DATABASE=ThinkPad T60 - - pci:v00008086d000027C5* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] -@@ -63026,6 +64088,9 @@ pci:v00008086d000027C8sv0000144Dsd0000C072* - pci:v00008086d000027C8sv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027C8sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027C8sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63089,6 +64154,9 @@ pci:v00008086d000027C9sv0000144Dsd0000C072* - pci:v00008086d000027C9sv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027C9sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027C9sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63152,6 +64220,9 @@ pci:v00008086d000027CAsv0000144Dsd0000C072* - pci:v00008086d000027CAsv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027CAsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027CAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63209,6 +64280,9 @@ pci:v00008086d000027CBsv0000144Dsd0000C072* - pci:v00008086d000027CBsv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027CBsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027CBsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63266,6 +64340,9 @@ pci:v00008086d000027CCsv0000144Dsd0000C072* - pci:v00008086d000027CCsv00001458sd00005006* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027CCsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027CCsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63296,6 +64373,9 @@ pci:v00008086d000027D0sv0000144Dsd0000C072* - pci:v00008086d000027D0sv00001458sd00005001* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027D0sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D0sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63314,6 +64394,9 @@ pci:v00008086d000027D2sv0000103Csd000030A3* - pci:v00008086d000027D2sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=Notebook N150P - -+pci:v00008086d000027D2sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D2sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63326,6 +64409,9 @@ pci:v00008086d000027D4* - pci:v00008086d000027D4sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=Notebook N150P - -+pci:v00008086d000027D4sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D4sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63341,6 +64427,9 @@ pci:v00008086d000027D6sv0000103Csd000030A3* - pci:v00008086d000027D6sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=Notebook N150P - -+pci:v00008086d000027D6sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D6sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63410,6 +64499,9 @@ pci:v00008086d000027D8sv00001458sd0000A002* - pci:v00008086d000027D8sv00001458sd0000A102* - ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard - -+pci:v00008086d000027D8sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D8sv0000152Dsd00000753* - ID_MODEL_FROM_DATABASE=Softmodem - -@@ -63470,6 +64562,9 @@ pci:v00008086d000027DAsv0000144Dsd0000C072* - pci:v00008086d000027DAsv00001458sd00005001* - ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard - -+pci:v00008086d000027DAsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027DAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63545,6 +64640,9 @@ pci:v00008086d000027DFsv0000107Bsd00005048* - pci:v00008086d000027DFsv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop - -+pci:v00008086d000027DFsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027DFsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63632,6 +64730,9 @@ pci:v00008086d00002822* - pci:v00008086d00002822sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d00002822sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002823* - ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller - -@@ -64202,6 +65303,9 @@ pci:v00008086d00002916* - pci:v00008086d00002916sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d00002916sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002916sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -@@ -64223,6 +65327,9 @@ pci:v00008086d00002918sv00001028sd00000236* - pci:v00008086d00002918sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002918sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002919* - ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller - -@@ -64265,6 +65372,9 @@ pci:v00008086d00002921sv00001462sd00007360* - pci:v00008086d00002922* - ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] - -+pci:v00008086d00002922sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002922sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64331,6 +65441,9 @@ pci:v00008086d00002930sv00001028sd0000020D* - pci:v00008086d00002930sv00001028sd00000211* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002930sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002930sv0000103Csd00003628* - ID_MODEL_FROM_DATABASE=dv6-1190en - -@@ -64340,6 +65453,9 @@ pci:v00008086d00002930sv00001043sd00008277* - pci:v00008086d00002930sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002930sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002930sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64388,12 +65504,18 @@ pci:v00008086d00002934sv00001028sd0000029C* - pci:v00008086d00002934sv00001028sd00002011* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002934sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002934sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002934sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002934sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002934sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64433,12 +65555,18 @@ pci:v00008086d00002935sv00001028sd00000287* - pci:v00008086d00002935sv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller - -+pci:v00008086d00002935sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002935sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002935sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002935sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002935sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64472,12 +65600,18 @@ pci:v00008086d00002936sv00001028sd00000287* - pci:v00008086d00002936sv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller - -+pci:v00008086d00002936sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002936sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002936sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002936sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002936sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64511,12 +65645,18 @@ pci:v00008086d00002937sv00001028sd0000029C* - pci:v00008086d00002937sv00001028sd00002011* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002937sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002937sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002937sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002937sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002937sv00008086sd00002937* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64553,12 +65693,18 @@ pci:v00008086d00002938sv00001028sd00000287* - pci:v00008086d00002938sv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller - -+pci:v00008086d00002938sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002938sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002938sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002938sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002938sv00008086sd00002938* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64580,12 +65726,18 @@ pci:v00008086d00002939sv00001028sd00000210* - pci:v00008086d00002939sv00001028sd00000237* - ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller - -+pci:v00008086d00002939sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002939sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002939sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002939sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002939sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64625,12 +65777,18 @@ pci:v00008086d0000293Asv00001028sd00000287* - pci:v00008086d0000293Asv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller - -+pci:v00008086d0000293Asv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000293Asv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d0000293Asv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d0000293Asv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000293Asv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64661,12 +65819,18 @@ pci:v00008086d0000293Csv00001028sd00000287* - pci:v00008086d0000293Csv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller - -+pci:v00008086d0000293Csv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000293Csv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d0000293Csv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d0000293Csv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000293Csv00008086sd0000293C* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64685,6 +65849,9 @@ pci:v00008086d0000293Esv00001028sd0000020D* - pci:v00008086d0000293Esv00001028sd00000211* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d0000293Esv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000293Esv0000103Csd00003628* - ID_MODEL_FROM_DATABASE=dv6-1190en - -@@ -64694,6 +65861,9 @@ pci:v00008086d0000293Esv00001043sd0000829F* - pci:v00008086d0000293Esv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d0000293Esv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000293Esv00008086sd0000293E* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64712,6 +65882,9 @@ pci:v00008086d00002940sv00001028sd0000020D* - pci:v00008086d00002940sv00001028sd00000211* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002940sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002940sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -@@ -64730,6 +65903,9 @@ pci:v00008086d00002944* - pci:v00008086d00002944sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d00002944sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002946* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 - -@@ -64910,6 +66086,9 @@ pci:v00008086d000029C0* - pci:v00008086d000029C0sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d000029C0sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d000029C0sv00001043sd00008276* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -@@ -64919,6 +66098,9 @@ pci:v00008086d000029C0sv00001043sd000082B0* - pci:v00008086d000029C0sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d000029C0sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000029C0sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -66050,6 +67232,9 @@ pci:v00008086d00002F37* - pci:v00008086d00002F38* - ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1 - -+pci:v00008086d00002F39* -+ ID_MODEL_FROM_DATABASE=Haswell-E I/O Performance Monitoring -+ - pci:v00008086d00002F3A* - ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2 - -@@ -66899,6 +68084,9 @@ pci:v00008086d00003591* - pci:v00008086d00003591sv00001014sd000002DD* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d00003591sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d00003591sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -66968,6 +68156,9 @@ pci:v00008086d0000359Bsv00001014sd000002DD* - pci:v00008086d0000359E* - ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub - -+pci:v00008086d0000359Esv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d0000359Esv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -67586,6 +68777,9 @@ pci:v00008086d00003B0A* - pci:v00008086d00003B0Asv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d00003B0Asv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B0B* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller - -@@ -67661,6 +68855,9 @@ pci:v00008086d00003B22* - pci:v00008086d00003B22sv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d00003B22sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B23* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller - -@@ -67715,6 +68912,9 @@ pci:v00008086d00003B30sv00001028sd000002DA* - pci:v00008086d00003B30sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B30sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B30sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67736,6 +68936,9 @@ pci:v00008086d00003B34sv00001028sd000002DA* - pci:v00008086d00003B34sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B34sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B34sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67769,6 +68972,9 @@ pci:v00008086d00003B3Csv00001028sd000002DA* - pci:v00008086d00003B3Csv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B3Csv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B3Csv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67793,12 +68999,18 @@ pci:v00008086d00003B42sv00001028sd000002DA* - pci:v00008086d00003B42sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B42sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B44* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 - - pci:v00008086d00003B44sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B44sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B46* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 - -@@ -67841,6 +69053,9 @@ pci:v00008086d00003B56sv00001028sd000002DA* - pci:v00008086d00003B56sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B56sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B56sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67853,6 +69068,9 @@ pci:v00008086d00003B64* - pci:v00008086d00003B64sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=Aspire 7740G - -+pci:v00008086d00003B64sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B64sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -68601,10 +69819,10 @@ pci:v00008086d0000504C* - ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist TDM - - pci:v00008086d00005200* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server -+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server PCI Bridge - - pci:v00008086d00005201* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server -+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller - - pci:v00008086d00005201sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter -@@ -68612,6 +69830,12 @@ pci:v00008086d00005201sv00008086sd00000001* - pci:v00008086d0000530D* - ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor - -+pci:v00008086d00005845* -+ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller -+ -+pci:v00008086d00005845sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000065C0* - ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub - -@@ -68688,7 +69912,7 @@ pci:v00008086d00007020* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] - - pci:v00008086d00007020sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine - - pci:v00008086d00007030* - ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] -@@ -68720,6 +69944,9 @@ pci:v00008086d00007112* - pci:v00008086d00007112sv000015ADsd00001976* - ID_MODEL_FROM_DATABASE=Virtual Machine Chipset - -+pci:v00008086d00007112sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00007113* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI - -@@ -69383,6 +70610,9 @@ pci:v00008086d00008D04* - pci:v00008086d00008D06* - ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] - -+pci:v00008086d00008D06sv000017AAsd00001031* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i -+ - pci:v00008086d00008D08* - ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] - -@@ -69959,6 +71189,9 @@ pci:v00008086d0000D131* - pci:v00008086d0000D131sv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d0000D131sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d0000D132* - ID_MODEL_FROM_DATABASE=Core Processor DMI - -@@ -69989,6 +71222,9 @@ pci:v00008086d0000D138sv00001028sd000002DA* - pci:v00008086d0000D138sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d0000D138sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d0000D139* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 - -@@ -71144,6 +72380,9 @@ pci:v00009005d00008089* - pci:v00009005d0000808F* - ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID - -+pci:v00009005d0000808Fsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00009005d00008090* - ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID - -@@ -71271,11 +72510,14 @@ pci:v00009710d00009912* - ID_MODEL_FROM_DATABASE=PCIe 9912 Multi-I/O Controller - - pci:v00009710d00009922* -- ID_MODEL_FROM_DATABASE=PCIe 9922 Multi-I/O Controller -+ ID_MODEL_FROM_DATABASE=MCS9922 PCIe Multi-I/O Controller - - pci:v00009710d00009990* - ID_MODEL_FROM_DATABASE=MCS9990 PCIe to 4‐Port USB 2.0 Host Controller - -+pci:v00009850* -+ ID_VENDOR_FROM_DATABASE=3Com (wrong ID) -+ - pci:v00009902* - ID_VENDOR_FROM_DATABASE=Stargen Inc. - -@@ -71381,6 +72623,9 @@ pci:v0000BD11* - pci:v0000BDBD* - ID_VENDOR_FROM_DATABASE=Blackmagic Design - -+pci:v0000BDBDd0000A106* -+ ID_MODEL_FROM_DATABASE=Multibridge Extreme -+ - pci:v0000BDBDd0000A117* - ID_MODEL_FROM_DATABASE=Intensity Pro - -@@ -71585,6 +72830,51 @@ pci:v0000D84D* - pci:v0000DADA* - ID_VENDOR_FROM_DATABASE=Datapath Limited - -+pci:v0000DADAd00000133* -+ ID_MODEL_FROM_DATABASE=VisionRGB-X2 -+ -+pci:v0000DADAd00000139* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E1 -+ -+pci:v0000DADAd00000144* -+ ID_MODEL_FROM_DATABASE=VisionSD8 -+ -+pci:v0000DADAd00000150* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E2 -+ -+pci:v0000DADAd00000151* -+ ID_MODEL_FROM_DATABASE=VisionSD4+1 -+ -+pci:v0000DADAd00000159* -+ ID_MODEL_FROM_DATABASE=VisionAV -+ -+pci:v0000DADAd00000161* -+ ID_MODEL_FROM_DATABASE=DGC161 -+ -+pci:v0000DADAd00000165* -+ ID_MODEL_FROM_DATABASE=DGC165 -+ -+pci:v0000DADAd00000167* -+ ID_MODEL_FROM_DATABASE=DGC167 -+ -+pci:v0000DADAd00000168* -+ ID_MODEL_FROM_DATABASE=DGC168 -+ -+pci:v0000DADAd00001139* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E1S -+ -+pci:v0000DADAd00001150* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E2S -+ -+pci:v0000DADAd00001151* -+ ID_MODEL_FROM_DATABASE=VisionSD4+1S -+ -+pci:v0000DADAd00001153* -+ ID_MODEL_FROM_DATABASE=VisionDVI-DL -+ -+pci:v0000DADAd00001154* -+ ID_MODEL_FROM_DATABASE=VisionSDI2 -+ - pci:v0000DB10* - ID_VENDOR_FROM_DATABASE=Diablo Technologies - -@@ -71735,6 +73025,9 @@ pci:v0000E4BFd0000CC47* - pci:v0000E4BFd0000CC4D* - ID_MODEL_FROM_DATABASE=CCM-BOOGIE - -+pci:v0000E4E4* -+ ID_VENDOR_FROM_DATABASE=Xorcom -+ - pci:v0000E55E* - ID_VENDOR_FROM_DATABASE=Essence Technology, Inc. - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 60dbcd2..014c628 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -20,6 +20,12 @@ usb:v0003* - usb:v0004* - ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart - -+usb:v0011* -+ ID_VENDOR_FROM_DATABASE=Unknown manufacturer -+ -+usb:v0011p7788* -+ ID_MODEL_FROM_DATABASE=Flash mass storage drive -+ - usb:v0053* - ID_VENDOR_FROM_DATABASE=Planex - -@@ -30,7 +36,7 @@ usb:v0079* - ID_VENDOR_FROM_DATABASE=DragonRise Inc. - - usb:v0079p0006* -- ID_MODEL_FROM_DATABASE=Generic USB Joystick -+ ID_MODEL_FROM_DATABASE=PC TWIN SHOCK Gamepad - - usb:v0079p0011* - ID_MODEL_FROM_DATABASE=Gamepad -@@ -63,7 +69,7 @@ usb:v0204* - ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd - - usb:v0204p6025* -- ID_MODEL_FROM_DATABASE=CBM2080 Flash drive controller -+ ID_MODEL_FROM_DATABASE=CBM2080 / CBM2090 Flash drive controller - - usb:v0204p6026* - ID_MODEL_FROM_DATABASE=CBM1180 Flash drive controller -@@ -263,6 +269,9 @@ usb:v03EBp2109* - usb:v03EBp210D* - ID_MODEL_FROM_DATABASE=XPLAIN evaluation kit (CDC ACM) - -+usb:v03EBp2110* -+ ID_MODEL_FROM_DATABASE=AVR JTAGICE3 Debugger and Programmer -+ - usb:v03EBp2122* - ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit - -@@ -1001,6 +1010,9 @@ usb:v03F0p2505* - usb:v03F0p2512* - ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 - -+usb:v03F0p2514* -+ ID_MODEL_FROM_DATABASE=4-port hub -+ - usb:v03F0p2517* - ID_MODEL_FROM_DATABASE=LaserJet 2410 - -@@ -1376,6 +1388,9 @@ usb:v03F0p5111* - usb:v03F0p5211* - ID_MODEL_FROM_DATABASE=PhotoSmart 3300 series - -+usb:v03F0p5307* -+ ID_MODEL_FROM_DATABASE=v165w Stick -+ - usb:v03F0p5311* - ID_MODEL_FROM_DATABASE=OfficeJet 6300 - -@@ -2054,6 +2069,21 @@ usb:v0403p8A28* - usb:v0403p8A98* - ID_MODEL_FROM_DATABASE=TIAO Multi-Protocol Adapter - -+usb:v0403p8B28* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCI70 -+ -+usb:v0403p8B29* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 CLS -+ -+usb:v0403p8B2A* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium Q1 -+ -+usb:v0403p8B2B* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCD -+ -+usb:v0403p8B2C* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 -+ - usb:v0403p9133* - ID_MODEL_FROM_DATABASE=CallerID - -@@ -2156,6 +2186,9 @@ usb:v0403pC8BD* - usb:v0403pC8BE* - ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium D1 - -+usb:v0403pC8BF* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 RLV -+ - usb:v0403pCC48* - ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Mitsubishi - -@@ -2966,6 +2999,9 @@ usb:v040Ap4021* - usb:v040Ap4022* - ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer - -+usb:v040Ap402E* -+ ID_MODEL_FROM_DATABASE=605 Photo Printer -+ - usb:v040Ap4034* - ID_MODEL_FROM_DATABASE=805 Photo Printer - -@@ -4949,6 +4985,9 @@ usb:v043Ep7001* - usb:v043Ep7013* - ID_MODEL_FROM_DATABASE=MP3 Player - -+usb:v043Ep70D7* -+ ID_MODEL_FROM_DATABASE=Mouse Scanner LSM-150 [LG Smart Scan Mouse] -+ - usb:v043Ep70F5* - ID_MODEL_FROM_DATABASE=External HDD - -@@ -5114,6 +5153,9 @@ usb:v044FpB203* - usb:v044FpB300* - ID_MODEL_FROM_DATABASE=Firestorm Dual Power - -+usb:v044FpB303* -+ ID_MODEL_FROM_DATABASE=FireStorm Dual Analog 2 -+ - usb:v044FpB304* - ID_MODEL_FROM_DATABASE=Firestorm Dual Power - -@@ -6437,6 +6479,9 @@ usb:v045Ep0772* - usb:v045Ep0779* - ID_MODEL_FROM_DATABASE=LifeCam HD-3000 - -+usb:v045Ep0780* -+ ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000 -+ - usb:v045Ep0797* - ID_MODEL_FROM_DATABASE=Optical Mouse 200 - -@@ -7313,6 +7358,9 @@ usb:v046DpC062* - usb:v046DpC063* - ID_MODEL_FROM_DATABASE=DELL Laser Mouse - -+usb:v046DpC064* -+ ID_MODEL_FROM_DATABASE=M110 corded optical mouse (M-B0001) -+ - usb:v046DpC066* - ID_MODEL_FROM_DATABASE=G9x Laser Mouse - -@@ -7331,6 +7379,9 @@ usb:v046DpC06B* - usb:v046DpC06C* - ID_MODEL_FROM_DATABASE=Optical Mouse - -+usb:v046DpC077* -+ ID_MODEL_FROM_DATABASE=M105 Optical Mouse -+ - usb:v046DpC101* - ID_MODEL_FROM_DATABASE=UltraX Media Remote - -@@ -7361,6 +7412,9 @@ usb:v046DpC125* - usb:v046DpC126* - ID_MODEL_FROM_DATABASE=Harmony Link - -+usb:v046DpC12B* -+ ID_MODEL_FROM_DATABASE=Harmony Touch Remote -+ - usb:v046DpC201* - ID_MODEL_FROM_DATABASE=WingMan Extreme Joystick with Throttle - -@@ -7448,6 +7502,12 @@ usb:v046DpC226* - usb:v046DpC227* - ID_MODEL_FROM_DATABASE=G15 Refresh Keyboard - -+usb:v046DpC228* -+ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard -+ -+usb:v046DpC229* -+ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard Macro Interface -+ - usb:v046DpC22A* - ID_MODEL_FROM_DATABASE=Gaming Keyboard G110 - -@@ -7466,6 +7526,18 @@ usb:v046DpC245* - usb:v046DpC246* - ID_MODEL_FROM_DATABASE=Gaming Mouse G300 - -+usb:v046DpC248* -+ ID_MODEL_FROM_DATABASE=G105 Gaming Keyboard -+ -+usb:v046DpC24A* -+ ID_MODEL_FROM_DATABASE=G600 Gaming Mouse -+ -+usb:v046DpC24D* -+ ID_MODEL_FROM_DATABASE=G710 Gaming Keyboard -+ -+usb:v046DpC24E* -+ ID_MODEL_FROM_DATABASE=G500s Laser Gaming Mouse -+ - usb:v046DpC281* - ID_MODEL_FROM_DATABASE=WingMan Force - -@@ -8543,6 +8615,9 @@ usb:v0480pA006* - usb:v0480pA007* - ID_MODEL_FROM_DATABASE=External Disk USB 3.0 - -+usb:v0480pA009* -+ ID_MODEL_FROM_DATABASE=Stor.E Basics -+ - usb:v0480pD010* - ID_MODEL_FROM_DATABASE=External Disk 3TB - -@@ -10814,6 +10889,9 @@ usb:v04A9p31E5* - usb:v04A9p31E6* - ID_MODEL_FROM_DATABASE=PowerShot SD940 IS DIGITAL ELPH / Digital IXUS 120 IS / IXY DIGITAL 220 IS - -+usb:v04A9p31E7* -+ ID_MODEL_FROM_DATABASE=SELPHY CP790 -+ - usb:v04A9p31EA* - ID_MODEL_FROM_DATABASE=EOS Rebel T2i / EOS 550D / EOS Kiss X4 - -@@ -10985,6 +11063,9 @@ usb:v04A9p325F* - usb:v04A9p3260* - ID_MODEL_FROM_DATABASE=PowerShot SX270 HS - -+usb:v04A9p3262* -+ ID_MODEL_FROM_DATABASE=PowerShot A2600 -+ - usb:v04A9p3264* - ID_MODEL_FROM_DATABASE=PowerShot A1400 - -@@ -11000,6 +11081,9 @@ usb:v04A9p3271* - usb:v04A9p3276* - ID_MODEL_FROM_DATABASE=PowerShot SX170 IS - -+usb:v04A9p3277* -+ ID_MODEL_FROM_DATABASE=PowerShot SX510 HS -+ - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -@@ -11312,6 +11396,9 @@ usb:v04B3p4482* - usb:v04B3p4485* - ID_MODEL_FROM_DATABASE=Serial Converter - -+usb:v04B3p4524* -+ ID_MODEL_FROM_DATABASE=40 Character Vacuum Fluorescent Display -+ - usb:v04B3p4525* - ID_MODEL_FROM_DATABASE=Double sided CRT - -@@ -12335,6 +12422,9 @@ usb:v04C5p10FE* - usb:v04C5p1150* - ID_MODEL_FROM_DATABASE=fi-6230 - -+usb:v04C5p201D* -+ ID_MODEL_FROM_DATABASE=SATA 3.0 6Gbit/s Adaptor [GROOVY] -+ - usb:v04C6* - ID_VENDOR_FROM_DATABASE=Toshiba America Electronic Components - -@@ -12374,6 +12464,9 @@ usb:v04C8p072D* - usb:v04CA* - ID_VENDOR_FROM_DATABASE=Lite-On Technology Corp. - -+usb:v04CAp004F* -+ ID_MODEL_FROM_DATABASE=SK-9020 keyboard -+ - usb:v04CAp1766* - ID_MODEL_FROM_DATABASE=HID Monitor Controls - -@@ -13346,6 +13439,9 @@ usb:v04E6p5292* - usb:v04E6p5410* - ID_MODEL_FROM_DATABASE=SCR35xx Smart Card Reader - -+usb:v04E6p5591* -+ ID_MODEL_FROM_DATABASE=SCL3711-NFC&RW -+ - usb:v04E6pE000* - ID_MODEL_FROM_DATABASE=SCRx31 Reader - -@@ -14138,6 +14234,9 @@ usb:v04F2p0841* - usb:v04F2p0860* - ID_MODEL_FROM_DATABASE=2.4G Multimedia Wireless Kit - -+usb:v04F2p1121* -+ ID_MODEL_FROM_DATABASE=Periboard 717 Mini Wireless Keyboard -+ - usb:v04F2pA001* - ID_MODEL_FROM_DATABASE=E-Video DC-100 Camera - -@@ -28935,10 +29034,10 @@ usb:v0906* - ID_VENDOR_FROM_DATABASE=Faraday Technology Corp. - - usb:v0908* -- ID_VENDOR_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd -+ ID_VENDOR_FROM_DATABASE=Siemens AG - - usb:v0908p2701* -- ID_MODEL_FROM_DATABASE=Spy Pen VGA -+ ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA - - usb:v0909* - ID_VENDOR_FROM_DATABASE=Audio-Technica Corp. -@@ -38360,6 +38459,12 @@ usb:v0FFC* - usb:v0FFCp0021* - ID_MODEL_FROM_DATABASE=Nord Stage 2 - -+usb:v0FFD* -+ ID_VENDOR_FROM_DATABASE=EarlySense -+ -+usb:v0FFDpFF00* -+ ID_MODEL_FROM_DATABASE=OEM -+ - usb:v0FFF* - ID_VENDOR_FROM_DATABASE=Aopen, Inc. - -@@ -47762,6 +47867,12 @@ usb:v2237* - usb:v2237p4161* - ID_MODEL_FROM_DATABASE=eReader White - -+usb:v228D* -+ ID_VENDOR_FROM_DATABASE=8D Technologies inc. -+ -+usb:v228Dp0001* -+ ID_MODEL_FROM_DATABASE=Terminal Bike Key Reader -+ - usb:v22A6* - ID_VENDOR_FROM_DATABASE=Pie Digital, Inc. - --- -1.7.9.2 - diff --git a/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch b/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch deleted file mode 100644 index 722f7382..00000000 --- a/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f3b8fbb1da6519e14985ea444f8304673d20ad3f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 3 Sep 2014 13:28:31 +0200 -Subject: [PATCH] initrd-parse-etc.service: ignore return code of - daemon-reload - -It seems the return code of systemctl daemon-reload can be !=0 in some -circumstances, which causes a failure of the unit and breaks booting in -the initrd. ---- - units/initrd-parse-etc.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git units/initrd-parse-etc.service.in units/initrd-parse-etc.service.in -index c0b2543..42c059b 100644 ---- units/initrd-parse-etc.service.in -+++ units/initrd-parse-etc.service.in -@@ -16,7 +16,7 @@ ConditionPathExists=/etc/initrd-release - - [Service] - Type=oneshot --ExecStartPre=@rootbindir@/systemctl daemon-reload -+ExecStartPre=-@rootbindir@/systemctl daemon-reload - # we have to retrigger initrd-fs.target after daemon-reload - ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target - ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service --- -1.7.9.2 - diff --git a/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch b/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch deleted file mode 100644 index 1cf00ff0..00000000 --- a/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e8c108ca9f11a382742f212f5b42a02536b3d40f Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 17 Sep 2014 00:27:16 +0300 -Subject: [PATCH] journal: Do not count on the compiler initializing - found_last to false - -There is a very unlikely case where this can happen since gcc usually -does the sane thing. But let's make sure found_last is initialized anyway. - -Fixes: CID#996386 ---- - src/journal/journal-verify.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journal-verify.c src/journal/journal-verify.c -index 6c8ca8c..b4e8f73 100644 ---- src/journal/journal-verify.c -+++ src/journal/journal-verify.c -@@ -804,7 +804,7 @@ int journal_file_verify( - usec_t last_usec = 0; - int data_fd = -1, entry_fd = -1, entry_array_fd = -1; - unsigned i; -- bool found_last; -+ bool found_last = false; - #ifdef HAVE_GCRYPT - uint64_t last_tag = 0; - #endif --- -1.7.9.2 - diff --git a/0001-journal-cleanup-up-error-handling-in-update_catalog.patch b/0001-journal-cleanup-up-error-handling-in-update_catalog.patch deleted file mode 100644 index 2062149b..00000000 --- a/0001-journal-cleanup-up-error-handling-in-update_catalog.patch +++ /dev/null @@ -1,104 +0,0 @@ -From e3b9d9c8027a7c4c55cf1614e0fe9423fad69e8f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Apr 2014 08:44:55 -0400 -Subject: [PATCH] journal: cleanup up error handling in update_catalog() - -- Negative/positive errno mixup caused duplicates not to be detected properly. - Now we get a warning about some duplicate entries in our own catalogs... -- Errors in update_catalog would be ignored, but they should not be. ---- - src/journal/catalog.c | 25 +++++++++++++------------ - src/journal/test-catalog.c | 3 ++- - 2 files changed, 15 insertions(+), 13 deletions(-) - -diff --git src/journal/catalog.c src/journal/catalog.c -index 3ed0b7e..02dedc4 100644 ---- src/journal/catalog.c -+++ src/journal/catalog.c -@@ -103,7 +103,7 @@ static int finish_item( - const char *payload) { - - ssize_t offset; -- CatalogItem *i; -+ _cleanup_free_ CatalogItem *i = NULL; - int r; - - assert(h); -@@ -126,13 +126,14 @@ static int finish_item( - i->offset = htole64((uint64_t) offset); - - r = hashmap_put(h, i, i); -- if (r == EEXIST) { -+ if (r == -EEXIST) { - log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.", - SD_ID128_FORMAT_VAL(id), language ? language : "C"); -- free(i); - return 0; -- } -+ } else if (r < 0) -+ return r; - -+ i = NULL; - return 0; - } - -@@ -383,8 +384,8 @@ error: - int catalog_update(const char* database, const char* root, const char* const* dirs) { - _cleanup_strv_free_ char **files = NULL; - char **f; -- Hashmap *h; - struct strbuf *sb = NULL; -+ _cleanup_hashmap_free_free_ Hashmap *h = NULL; - _cleanup_free_ CatalogItem *items = NULL; - CatalogItem *i; - Iterator j; -@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di - } - - STRV_FOREACH(f, files) { -- log_debug("reading file '%s'", *f); -- catalog_import_file(h, sb, *f); -+ log_debug("Reading file '%s'", *f); -+ r = catalog_import_file(h, sb, *f); -+ if (r < 0) { -+ log_error("Failed to import file '%s': %s.", -+ *f, strerror(-r)); -+ goto finish; -+ } - } - - if (hashmap_size(h) <= 0) { - log_info("No items in catalog."); -- r = 0; - goto finish; - } else - log_debug("Found %u items in catalog.", hashmap_size(h)); -@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di - log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.", - database, n, sb->len, r); - -- r = 0; -- - finish: -- if (h) -- hashmap_free_free(h); - if (sb) - strbuf_cleanup(sb); - -diff --git src/journal/test-catalog.c src/journal/test-catalog.c -index b087a8b..967ab67 100644 ---- src/journal/test-catalog.c -+++ src/journal/test-catalog.c -@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) { - - setlocale(LC_ALL, "de_DE.UTF-8"); - -- log_set_max_level(LOG_DEBUG); -+ log_parse_environment(); -+ log_open(); - - test_catalog_file_lang(); - --- -1.7.9.2 - diff --git a/0001-journal-compress-return-early-in-uncompress_startswi.patch b/0001-journal-compress-return-early-in-uncompress_startswi.patch deleted file mode 100644 index 74777205..00000000 --- a/0001-journal-compress-return-early-in-uncompress_startswi.patch +++ /dev/null @@ -1,186 +0,0 @@ -Based on 5e592c66bdf76dfc8445b332f7a5088ca504ee90 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 4 Jul 2014 19:53:58 -0400 -Subject: [PATCH] journal/compress: return early in uncompress_startswith - -uncompress_startswith would always decode the whole stream, even -if it did not start with the given prefix. - -Reallocation policy was also strange. ---- - src/journal/compress.c | 91 ++++++++++++++----------------------------------- - 1 file changed, 27 insertions(+), 64 deletions(-) - -Index: src/journal/compress.c -=================================================================== ---- src/journal/compress.c.orig -+++ src/journal/compress.c -@@ -25,6 +25,7 @@ - #include - - #include "macro.h" -+#include "util.h" - #include "compress.h" - - bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { -@@ -69,10 +70,9 @@ fail: - bool uncompress_blob(const void *src, uint64_t src_size, - void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { - -- lzma_stream s = LZMA_STREAM_INIT; -+ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; - lzma_ret ret; - uint64_t space; -- bool b = false; - - assert(src); - assert(src_size > 0); -@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui - if (ret != LZMA_OK) - return false; - -- if (*dst_alloc_size <= src_size) { -- void *p; -- -- p = realloc(*dst, src_size*2); -- if (!p) -- return false; -- -- *dst = p; -- *dst_alloc_size = src_size*2; -- } -+ space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space)) -+ return false; - - s.next_in = src; - s.avail_in = src_size; - - s.next_out = *dst; -- space = dst_max > 0 ? MIN(*dst_alloc_size, dst_max) : *dst_alloc_size; - s.avail_out = space; - - for (;;) { -- void *p; -+ uint64_t used; - - ret = lzma_code(&s, LZMA_FINISH); - -@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui - break; - - if (ret != LZMA_OK) -- goto fail; -+ return false; - - if (dst_max > 0 && (space - s.avail_out) >= dst_max) - break; - -- p = realloc(*dst, space*2); -- if (!p) -- goto fail; -- -- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *dst); -- s.avail_out += space; -+ if (dst_max > 0 && space == dst_max) -+ return false; - -- space *= 2; -+ used = space - s.avail_out; -+ space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space)) -+ return false; - -- *dst = p; -- *dst_alloc_size = space; -+ s.avail_out = space - used; -+ s.next_out = *dst + used; - } - - *dst_size = space - s.avail_out; -- b = true; -- --fail: -- lzma_end(&s); -- -- return b; -+ return true; - } - - bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s - const void *prefix, uint64_t prefix_len, - uint8_t extra) { - -- lzma_stream s = LZMA_STREAM_INIT; -+ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; - lzma_ret ret; -- bool b = false; - - /* Checks whether the uncompressed blob starts with the - * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s - if (ret != LZMA_OK) - return false; - -- if (*buffer_size <= prefix_len) { -- void *p; -- -- p = realloc(*buffer, prefix_len*2); -- if (!p) -- return false; -- -- *buffer = p; -- *buffer_size = prefix_len*2; -- } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) -+ return false; - - s.next_in = src; - s.avail_in = src_size; -@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s - s.avail_out = *buffer_size; - - for (;;) { -- void *p; -- - ret = lzma_code(&s, LZMA_FINISH); - - if (ret != LZMA_STREAM_END && ret != LZMA_OK) -- goto fail; -+ return false; - -- if ((*buffer_size - s.avail_out > prefix_len) && -- memcmp(*buffer, prefix, prefix_len) == 0 && -- ((const uint8_t*) *buffer)[prefix_len] == extra) -- break; -+ if (*buffer_size - s.avail_out >= prefix_len + 1) -+ return memcmp(*buffer, prefix, prefix_len) == 0 && -+ ((const uint8_t*) *buffer)[prefix_len] == extra; - - if (ret == LZMA_STREAM_END) -- goto fail; -- -- p = realloc(*buffer, *buffer_size*2); -- if (!p) -- goto fail; -+ return false; - -- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *buffer); - s.avail_out += *buffer_size; - -- *buffer = p; -- *buffer_size *= 2; -- } -- -- b = true; -- --fail: -- lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) -+ return false; - -- return b; -+ s.next_out = *buffer + *buffer_size - s.avail_out; -+ } - } diff --git a/0001-journal-fix-export-of-messages-containing-newlines.patch b/0001-journal-fix-export-of-messages-containing-newlines.patch deleted file mode 100644 index 75cdd023..00000000 --- a/0001-journal-fix-export-of-messages-containing-newlines.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 0ade5ffe2778e7b238bba8d979ca4d53dee1e702 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 31 Mar 2014 08:57:28 -0400 -Subject: [PATCH] journal: fix export of messages containing newlines - -In "export" format, newlines are significant, and messages containing -newlines must be exported as "binary". ---- - src/shared/logs-show.c | 7 ++++--- - src/shared/utf8.c | 5 +++-- - src/shared/utf8.h | 5 ++++- - 3 files changed, 11 insertions(+), 6 deletions(-) - -diff --git src/shared/logs-show.c src/shared/logs-show.c -index 9d14933..b0b66f6 100644 ---- src/shared/logs-show.c -+++ src/shared/logs-show.c -@@ -547,7 +547,9 @@ static int output_export( - startswith(data, "_BOOT_ID=")) - continue; - -- if (!utf8_is_printable(data, length)) { -+ if (utf8_is_printable_newline(data, length, false)) -+ fwrite(data, length, 1, f); -+ else { - const char *c; - uint64_t le64; - -@@ -562,8 +564,7 @@ static int output_export( - le64 = htole64(length - (c - (const char*) data) - 1); - fwrite(&le64, sizeof(le64), 1, f); - fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f); -- } else -- fwrite(data, length, 1, f); -+ } - - fputc('\n', f); - } -diff --git src/shared/utf8.c src/shared/utf8.c -index 0b524d8..c559c13 100644 ---- src/shared/utf8.c -+++ src/shared/utf8.c -@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) { - return unichar; - } - --bool utf8_is_printable(const char* str, size_t length) { -+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) { - const uint8_t *p; - - assert(str); -@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) { - int encoded_len = utf8_encoded_valid_unichar((const char *)p); - int val = utf8_encoded_to_unichar((const char*)p); - -- if (encoded_len < 0 || val < 0 || is_unicode_control(val)) -+ if (encoded_len < 0 || val < 0 || is_unicode_control(val) || -+ (!newline && val == '\n')) - return false; - - length -= encoded_len; -diff --git src/shared/utf8.h src/shared/utf8.h -index c0eb73a..c087995 100644 ---- src/shared/utf8.h -+++ src/shared/utf8.h -@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_; - char *ascii_is_valid(const char *s) _pure_; - char *utf8_escape_invalid(const char *s); - --bool utf8_is_printable(const char* str, size_t length) _pure_; -+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_; -+_pure_ static inline bool utf8_is_printable(const char* str, size_t length) { -+ return utf8_is_printable_newline(str, length, true); -+} - - char *utf16_to_utf8(const void *s, size_t length); - --- -1.7.9.2 - diff --git a/0001-journalctl-do-not-output-reboot-markers-when-running.patch b/0001-journalctl-do-not-output-reboot-markers-when-running.patch deleted file mode 100644 index b2aed874..00000000 --- a/0001-journalctl-do-not-output-reboot-markers-when-running.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4bed248505da4da94d82078fe60326a374970e97 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 26 Sep 2014 10:49:55 -0400 -Subject: [PATCH] journalctl: do not output --reboot-- markers when running - non-interactively - -They are not legal in the export format. ---- - src/journal/journalctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journalctl.c src/journal/journalctl.c -index 47206d3..89a922c 100644 ---- src/journal/journalctl.c -+++ src/journal/journalctl.c -@@ -1939,7 +1939,7 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- if (!arg_merge) { -+ if (!arg_merge && !arg_quiet) { - sd_id128_t boot_id; - - r = sd_journal_get_monotonic_usec(j, NULL, &boot_id); --- -1.7.9.2 - diff --git a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch deleted file mode 100644 index 09bd55ef..00000000 --- a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d258d4967eb24122c2b1014d4e873f61b633f1d2 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Sun, 25 May 2014 11:57:22 +0200 -Subject: [PATCH] keymap: Add Lenovo Enhanced USB Keyboard - -https://bugs.freedesktop.org/show_bug.cgi?id=77234 ---- - hwdb/60-keyboard.hwdb | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 832c686..fe5b3ee 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -579,6 +579,18 @@ keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* - KEYBOARD_KEY_f1=f21 - -+# enhanced USB keyboard -+keyboard:usb:v04B3p301B* -+ KEYBOARD_KEY_90001=prog1 # ThinkVantage -+ KEYBOARD_KEY_90002=screenlock -+ KEYBOARD_KEY_90003=file -+ KEYBOARD_KEY_90004=wordprocessor -+ KEYBOARD_KEY_90005=spreadsheet -+ KEYBOARD_KEY_90006=calc -+ KEYBOARD_KEY_90007=mail -+ KEYBOARD_KEY_90008=www -+ -+ - ########################################################### - # Logitech - ########################################################### --- -1.7.9.2 - diff --git a/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch b/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch deleted file mode 100644 index 67fb3061..00000000 --- a/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 71ed2d38711e345f22e2200bc7bb156aed98972a Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Wed, 12 Nov 2014 23:30:46 +0100 -Subject: [PATCH] keymap: Add support for IBM ThinkPad X41 Tablet - -Scancode taken from: -http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons#Linux_Support - -William Jon McCann provided the DMI match. IBM seems to have -swapped the version and model of the system: - Manufacturer: IBM - Product Name: 18666TU - Version: ThinkPad X41 Tablet ---- - hwdb/60-keyboard.hwdb | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index d2ca965..56a4009 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -594,6 +594,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* - KEYBOARD_KEY_6f=down # down on d-pad - KEYBOARD_KEY_69=enter # enter on d-pad - -+# ThinkPad X41 Tablet -+keyboard:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr* -+ KEYBOARD_KEY_6c=direction # rotate -+ KEYBOARD_KEY_68=f13 # toolbox -+ KEYBOARD_KEY_6b=esc # escape -+ KEYBOARD_KEY_69=enter # enter on d-pad -+ - # IdeaPad - keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* - KEYBOARD_KEY_42=f23 --- -1.7.9.2 - diff --git a/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch b/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch deleted file mode 100644 index 29bbbcd1..00000000 --- a/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a046659f8551e1c8f79ba4b66472444e285255df Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Tue, 7 Oct 2014 11:20:04 +0200 -Subject: [PATCH] keymap: Fix touchpad toggle on Toshiba Satellite P75-A7200 - -Just like everywhere else we use KEY_F21 instead of KEY_TOUCHPAD_TOGGLE for X -friendliness. ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 8a1baa7..1fea32a 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -1094,7 +1094,7 @@ keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75 - KEYBOARD_KEY_13c=brightnessdown - KEYBOARD_KEY_13d=brightnessup - KEYBOARD_KEY_13e=switchvideomode -- KEYBOARD_KEY_13f=touchpad_toggle -+ KEYBOARD_KEY_13f=f21 # Touchpad toggle - KEYBOARD_KEY_9e=wlan - - ########################################################### --- -1.7.9.2 - diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch index ea89c56a..4763dcaf 100644 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ b/0001-let-systemctl-completion-ignore-at-names.patch @@ -1,5 +1,5 @@ ---- systemd-210/shell-completion/bash/systemctl -+++ systemd-210/shell-completion/bash/systemctl 2014-08-20 15:01:04.502736981 +0000 +--- systemd-210/shell-completion/bash/systemctl.in ++++ systemd-210/shell-completion/bash/systemctl.in 2014-08-20 15:01:04.502736981 +0000 @@ -43,7 +43,7 @@ __filter_units_by_property () { local units=("$@") local props diff --git a/0001-login-fix-memory-leak-on-DropController.patch b/0001-login-fix-memory-leak-on-DropController.patch deleted file mode 100644 index ba5ed744..00000000 --- a/0001-login-fix-memory-leak-on-DropController.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 60240797a4ce464ec7a0537ccbec4c83f599251c Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Fri, 22 Aug 2014 14:57:11 +0200 -Subject: [PATCH] login: fix memory-leak on DropController() - -Our bus-name watch helpers only remove a bus-name if it's not a -controller, anymore. If we call manager_drop_busname() before -unregistering the controller, the busname will not be dropped. Therefore, -first drop the controller, then drop the bus-name. ---- - src/login/logind-session.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 136bbce..0c6e425 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -1061,11 +1061,13 @@ bool session_is_controller(Session *s, const char *sender) { - - static void session_swap_controller(Session *s, char *name) { - SessionDevice *sd; -+ char *c; - - if (s->controller) { -- manager_drop_busname(s->manager, s->controller); -- free(s->controller); -+ c = s->controller; - s->controller = NULL; -+ manager_drop_busname(s->manager, c); -+ free(c); - - /* Drop all devices as they're now unused. Do that after the - * controller is released to avoid sending out useles --- -1.7.9.2 - diff --git a/0001-login-fix-pos-array-allocation.patch b/0001-login-fix-pos-array-allocation.patch deleted file mode 100644 index 2549d220..00000000 --- a/0001-login-fix-pos-array-allocation.patch +++ /dev/null @@ -1,52 +0,0 @@ -From a1937e679f76758635d295287398abe526de2522 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Tue, 25 Feb 2014 12:20:25 +0100 -Subject: [PATCH] login: fix pos-array allocation - -GREEDY_REALLOC takes a pointer to the real size, not the array-width as -argument. Therefore, our array is currently way to small to keep the seat -positions. - -Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store -the array-width instead of array-size. ---- - src/login/logind-seat.c | 2 +- - src/shared/util.h | 9 +++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git src/login/logind-seat.c src/login/logind-seat.c -index 631be5f..36ec7ed 100644 ---- src/login/logind-seat.c -+++ src/login/logind-seat.c -@@ -475,7 +475,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) { - if (seat_has_vts(s)) - pos = session->vtnr; - -- if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1)) -+ if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1)) - return; - - seat_evict_position(s, session); -diff --git src/shared/util.h src/shared/util.h -index 9913fce..78b1444 100644 ---- src/shared/util.h -+++ src/shared/util.h -@@ -723,6 +723,15 @@ void* greedy_realloc0(void **p, size_t *allocated, size_t need); - #define GREEDY_REALLOC0(array, allocated, need) \ - greedy_realloc0((void**) &(array), &(allocated), sizeof((array)[0]) * (need)) - -+#define GREEDY_REALLOC0_T(array, count, need) \ -+ ({ \ -+ size_t _size = (count) * sizeof((array)[0]); \ -+ void *_ptr = GREEDY_REALLOC0((array), _size, (need)); \ -+ if (_ptr) \ -+ (count) = _size / sizeof((array)[0]); \ -+ _ptr; \ -+ }) -+ - static inline void _reset_errno_(int *saved_errno) { - errno = *saved_errno; - } --- -1.7.9.2 - diff --git a/0001-login-pause-devices-before-acknowledging-VT-switches.patch b/0001-login-pause-devices-before-acknowledging-VT-switches.patch deleted file mode 100644 index 0a335de2..00000000 --- a/0001-login-pause-devices-before-acknowledging-VT-switches.patch +++ /dev/null @@ -1,82 +0,0 @@ -Based on 2ec3ff668ff03410e94cfef8e3ee9384a8222211 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Fri, 19 Sep 2014 13:26:39 +0200 -Subject: [PATCH] login: pause devices before acknowledging VT switches - -If a session controller does not need synchronous VT switches, we allow -them to pass VT control to logind, which acknowledges all VT switches -unconditionally. This works fine with all sessions using the dbus API, -but causes out-of-sync device use if we switch to legacy sessions that -are notified via VT signals. Those are processed before logind notices -the session-switch via sysfs. Therefore, leaving the old session still -active for a short amount of time. - -This, in fact, may cause the legacy session to prepare graphics devices -before the old session was deactivated, and thus, maybe causing the old -session to interfer with graphics device usage. - -Fix this by releasing devices immediately before acknowledging VT -switches. This way, sessions without VT handlers are required to support -async session switching (which they do in that case, anyway). ---- - src/login/logind-session.c | 21 +++++++++++++++++++++ - src/login/logind-session.h | 1 + - src/login/logind.c | 4 ++-- - 3 files changed, 24 insertions(+), 2 deletions(-) - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-09-24 07:40:45.786639180 +0000 -@@ -1040,6 +1040,27 @@ void session_restore_vt(Session *s) { - s->vtfd = -1; - } - -+void session_leave_vt(Session *s) { -+ assert(s); -+ -+ /* This is called whenever we get a VT-switch signal from the kernel. -+ * We acknowledge all of them unconditionally. Note that session are -+ * free to overwrite those handlers and we only register them for -+ * sessions with controllers. Legacy sessions are not affected. -+ * However, if we switch from a non-legacy to a legacy session, we must -+ * make sure to pause all device before acknowledging the switch. We -+ * process the real switch only after we are notified via sysfs, so the -+ * legacy session might have already started using the devices. If we -+ * don't pause the devices before the switch, we might confuse the -+ * session we switch to. */ -+ -+ if (s->vtfd < 0) -+ return; -+ -+ session_device_pause_all(s); -+ ioctl(s->vtfd, VT_RELDISP, 1); -+} -+ - bool session_is_controller(Session *s, const char *sender) { - assert(s); - ---- src/login/logind-session.h -+++ src/login/logind-session.h 2014-09-24 07:41:50.290236363 +0000 -@@ -173,6 +173,7 @@ KillWho kill_who_from_string(const char - - int session_mute_vt(Session *s); - void session_restore_vt(Session *s); -+void session_leave_vt(Session *s); - - bool session_is_controller(Session *s, const char *sender); - int session_set_controller(Session *s, const char *sender, bool force); ---- src/login/logind.c -+++ src/login/logind.c 2014-09-24 00:00:00.000000000 +0000 -@@ -743,11 +743,11 @@ static int manager_vt_switch(sd_event_so - } - - if (active->vtfd >= 0) { -- ioctl(active->vtfd, VT_RELDISP, 1); -+ session_leave_vt(active); - } else { - LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { - if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { -- ioctl(iter->vtfd, VT_RELDISP, 1); -+ session_leave_vt(iter); - break; - } - } diff --git a/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch b/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch deleted file mode 100644 index ba00c036..00000000 --- a/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch +++ /dev/null @@ -1,60 +0,0 @@ -From f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Wed, 5 Nov 2014 08:30:52 -0500 -Subject: [PATCH] login: rerun vconsole-setup when switching from vgacon to - fbcon - -The initialization performed by systemd-vconsole-setup is reset -when changing console drivers (say from vgacon to fbcon), so we -need to run it in that case. - -See -http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html -http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html -http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html - -This commit adds a udev rule to make systemd-vconsole-setup get run when -the fbcon device becomes available. - -(david: moved into new file 90-vconsole.rules instead of 71-seats.rules; - build-failures are on me, not on Ray) ---- - Makefile.am | 3 +++ - src/vconsole/90-vconsole.rules | 11 +++++++++++ - 2 files changed, 14 insertions(+) - create mode 100644 src/vconsole/90-vconsole.rules - -diff --git Makefile.am Makefile.am -index 3686103..f614b86 100644 ---- Makefile.am -+++ Makefile.am -@@ -4439,6 +4439,9 @@ rootlibexec_PROGRAMS += \ - nodist_systemunit_DATA += \ - units/systemd-vconsole-setup.service - -+dist_udevrules_DATA += \ -+ src/vconsole/90-vconsole.rules -+ - SYSINIT_TARGET_WANTS += \ - systemd-vconsole-setup.service - endif -diff --git src/vconsole/90-vconsole.rules src/vconsole/90-vconsole.rules -new file mode 100644 -index 0000000..bf6a9ef ---- /dev/null -+++ src/vconsole/90-vconsole.rules -@@ -0,0 +1,11 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+ -+# Kernel resets vconsole state when changing console drivers so run -+# systemd-vconsole-setup when fbcon loads -+ -+ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="/usr/lib/systemd/systemd-vconsole-setup" --- -1.7.9.2 - diff --git a/0001-login-simplify-controller-handling.patch b/0001-login-simplify-controller-handling.patch deleted file mode 100644 index 0ca9ec52..00000000 --- a/0001-login-simplify-controller-handling.patch +++ /dev/null @@ -1,118 +0,0 @@ -Based on b12e56156e5f363ebb8dc4ea5c10f5fd0665dc9d Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Mon, 1 Sep 2014 14:04:44 +0200 -Subject: [PATCH] login: simplify controller handling - -Simplify the way we handler session-controllers and fix several -shortcomings: - * send ReleaseDevice() signals on forced session takeover - * fix mem-leaks for busnames in case VT preparation fails (non-critical) - * avoid passing pre-allocated names to helpers ---- - src/login/logind-session.c | 55 ++++++++++++++++++++++---------------------- - 1 file changed, 28 insertions(+), 27 deletions(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 58453b5..10a43a4 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -1059,32 +1059,30 @@ bool session_is_controller(Session *s, const char *sender) { - return streq_ptr(s->controller, sender); - } - --static void session_swap_controller(Session *s, char *name) { -+static void session_release_controller(Session *s, bool notify) { -+ _cleanup_free_ char *name = NULL; - SessionDevice *sd; -- char *c; - -- if (s->controller) { -- c = s->controller; -- s->controller = NULL; -- manager_drop_busname(s->manager, c); -- free(c); -+ if (!s->controller) -+ return; - -- /* Drop all devices as they're now unused. Do that after the -- * controller is released to avoid sending out useles -- * dbus signals. */ -- while ((sd = hashmap_first(s->devices))) -- session_device_free(sd); -+ name = s->controller; - -- if (!name) -- session_restore_vt(s); -- } -+ /* By resetting the controller before releasing the devices, we won't -+ * send notification signals. This avoids sending useless notifications -+ * if the controller is released on disconnects. */ -+ if (!notify) -+ s->controller = NULL; - -- s->controller = name; -- session_save(s); -+ while ((sd = hashmap_first(s->devices))) -+ session_device_free(sd); -+ -+ s->controller = NULL; -+ manager_drop_busname(s->manager, name); - } - - int session_set_controller(Session *s, const char *sender, bool force) { -- char *t; -+ _cleanup_free_ char *name = NULL; - int r; - - assert(s); -@@ -1095,15 +1093,13 @@ int session_set_controller(Session *s, const char *sender, bool force) { - if (s->controller && !force) - return -EBUSY; - -- t = strdup(sender); -- if (!t) -+ name = strdup(sender); -+ if (!name) - return -ENOMEM; - -- r = manager_watch_busname(s->manager, sender); -- if (r) { -- free(t); -+ r = manager_watch_busname(s->manager, name); -+ if (r) - return r; -- } - - /* When setting a session controller, we forcibly mute the VT and set - * it into graphics-mode. Applications can override that by changing -@@ -1115,11 +1111,14 @@ int session_set_controller(Session *s, const char *sender, bool force) { - * or reset the VT in case it crashed/exited, too. */ - r = session_mute_vt(s); - if (r < 0) { -- free(t); -+ manager_drop_busname(s->manager, name); - return r; - } - -- session_swap_controller(s, t); -+ session_release_controller(s, true); -+ s->controller = name; -+ name = NULL; -+ session_save(s); - - return 0; - } -@@ -1130,7 +1129,9 @@ void session_drop_controller(Session *s) { - if (!s->controller) - return; - -- session_swap_controller(s, NULL); -+ session_release_controller(s, false); -+ session_save(s); -+ session_restore_vt(s); - } - - static const char* const session_state_table[_SESSION_STATE_MAX] = { --- -1.7.9.2 - diff --git a/0001-logind-add-support-for-Triton2-Power-Button.patch b/0001-logind-add-support-for-Triton2-Power-Button.patch deleted file mode 100644 index dbd0047c..00000000 --- a/0001-logind-add-support-for-Triton2-Power-Button.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 58d4aabedd415a735efeb8c2608ee73618c07f78 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 22 Sep 2014 22:14:39 -0400 -Subject: [PATCH] logind: add support for Triton2 Power Button - -https://bugs.freedesktop.org/show_bug.cgi?id=84201 ---- - src/login/70-power-switch.rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules -index 36fb827..a6997f7 100644 ---- src/login/70-power-switch.rules -+++ src/login/70-power-switch.rules -@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" - - SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" -+SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" - - LABEL="power_switch_end" --- -1.7.9.2 - diff --git a/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch b/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch deleted file mode 100644 index 269adaba..00000000 --- a/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 154034270c4643b7cfe61c0be1676d78bb1b7b07 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Tue, 8 Jul 2014 12:56:55 +0200 -Subject: [PATCH] logind: allow switching to unused VTs via SwitchTo() - -If compositors use the new SwitchTo() logic to map F1-F12, we should allow -them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic -of gettys won't trigger. - -Reported-by: Jasper St. Pierre -Signed-off-by: David Herrmann ---- - src/login/logind-seat.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git src/login/logind-seat.c src/login/logind-seat.c -index 3114de8..9992195 100644 ---- src/login/logind-seat.c -+++ src/login/logind-seat.c -@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) { - if (!num) - return -EINVAL; - -- if (num >= s->position_count || !s->positions[num]) -+ if (num >= s->position_count || !s->positions[num]) { -+ /* allow switching to unused VTs to trigger auto-activate */ -+ if (seat_has_vts(s) && num < 64) -+ return chvt(num); -+ - return -EINVAL; -+ } - - return session_activate(s->positions[num]); - } --- -1.7.9.2 - diff --git a/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch b/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch deleted file mode 100644 index 382d4bf1..00000000 --- a/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 6a79c58603ea816a1b4fa1520397b4e138bc1ca0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 19:30:16 +0100 -Subject: [PATCH] logind: ignore lid switch if more than 1 display is - connected - -Previously we expected the desktop environment to take an inhibitor -lock, but this opened a race on boot-up where logind might already be -running but no DE is active. - -Hence, let's move checking for additional displays into logind. This -also opens up this logic for other DEs, given that only GNOME -implemented the inhibitor logic so far. ---- - man/logind.conf.xml | 14 +++++++----- - src/login/logind-action.c | 8 +++++++ - src/login/logind-core.c | 55 +++++++++++++++++++++++++++++++++++++++++++-- - src/login/logind.h | 1 + - 4 files changed, 71 insertions(+), 7 deletions(-) - -diff --git man/logind.conf.xml man/logind.conf.xml -index 54cc379..7673201 100644 ---- man/logind.conf.xml -+++ man/logind.conf.xml -@@ -242,10 +242,10 @@ - ignore, logind will - never handle these keys. If - lock, all running -- sessions will be screen-locked; otherwise, -- the specified action -- will be taken in the respective -- event. Only input devices with the -+ sessions will be screen-locked; -+ otherwise, the specified action will -+ be taken in the respective event. Only -+ input devices with the - power-switch udev - tag will be watched for key/lid switch - events. HandlePowerKey= -@@ -257,7 +257,11 @@ - default to suspend. - HandleHibernateKey= - defaults to -- hibernate. -+ hibernate. Note -+ that the lid switch is ignored if the -+ system is inserted in a docking -+ station, or if more than one display -+ is connected. - - - -diff --git src/login/logind-action.c src/login/logind-action.c -index c04f210..da5a830 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -72,10 +72,18 @@ int manager_handle_action( - - /* If we are docked don't react to lid closing */ - if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { -+ int n; -+ - if (manager_is_docked(m)) { - log_debug("Ignoring lid switch request, system is docked."); - return 0; - } -+ -+ n = manager_count_displays(m); -+ if (n != 1) { -+ log_debug("Ignoring lid switch request, %s displays connected."); -+ return 0; -+ } - } - - /* If the key handling is inhibited, don't do anything */ -diff --git src/login/logind-core.c src/login/logind-core.c -index e4e593f..b8d03c3 100644 ---- src/login/logind-core.c -+++ src/login/logind-core.c -@@ -32,6 +32,7 @@ - #include "audit.h" - #include "bus-util.h" - #include "bus-error.h" -+#include "udev-util.h" - #include "logind.h" - - int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device) { -@@ -276,9 +277,11 @@ int manager_process_seat_device(Manager *m, struct udev_device *d) { - return 0; - } - -- /* ignore non-master devices for unknown seats */ -+ seat = hashmap_get(m->seats, sn); - master = udev_device_has_tag(d, "master-of-seat"); -- if (!master && !(seat = hashmap_get(m->seats, sn))) -+ -+ /* Ignore non-master devices for unknown seats */ -+ if (!master && !seat) - return 0; - - r = manager_add_device(m, udev_device_get_syspath(d), master, &device); -@@ -514,3 +517,51 @@ bool manager_is_docked(Manager *m) { - - return false; - } -+ -+int manager_count_displays(Manager *m) { -+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; -+ struct udev_list_entry *item = NULL, *first = NULL; -+ int r; -+ int n = 0; -+ -+ e = udev_enumerate_new(m->udev); -+ if (!e) -+ return -ENOMEM; -+ -+ r = udev_enumerate_add_match_subsystem(e, "drm"); -+ if (r < 0) -+ return r; -+ -+ r = udev_enumerate_scan_devices(e); -+ if (r < 0) -+ return r; -+ -+ first = udev_enumerate_get_list_entry(e); -+ udev_list_entry_foreach(item, first) { -+ _cleanup_udev_device_unref_ struct udev_device *d = NULL; -+ struct udev_device *p; -+ const char *status; -+ -+ d = udev_device_new_from_syspath(m->udev, udev_list_entry_get_name(item)); -+ if (!d) -+ return -ENOMEM; -+ -+ p = udev_device_get_parent(d); -+ if (!p) -+ return -ENOMEM; -+ -+ /* If the parent shares the same subsystem as the -+ * device we are looking at then it is a connector, -+ * which is what we are interested in. */ -+ if (!streq_ptr(udev_device_get_subsystem(p), "drm")) -+ continue; -+ -+ /* We count any connector which is not explicitly -+ * "disconnected" as connected. */ -+ status = udev_device_get_sysattr_value(d, "status"); -+ if (!streq_ptr(status, "disconnected")) -+ n++; -+ } -+ -+ return n; -+} -diff --git src/login/logind.h src/login/logind.h -index 0344acc..74d6641 100644 ---- src/login/logind.h -+++ src/login/logind.h -@@ -149,6 +149,7 @@ int manager_get_user_by_pid(Manager *m, pid_t pid, User **user); - int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session); - - bool manager_is_docked(Manager *m); -+int manager_count_displays(Manager *m); - - extern const sd_bus_vtable manager_vtable[]; - --- -1.7.9.2 - diff --git a/0001-machine-don-t-return-uninitialized-variable.patch b/0001-machine-don-t-return-uninitialized-variable.patch deleted file mode 100644 index 5c1bfd05..00000000 --- a/0001-machine-don-t-return-uninitialized-variable.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f14aa1f1b2e4e99ee20393871b5f64f1378ed6c3 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Sun, 6 Jul 2014 14:12:28 +0200 -Subject: [PATCH] machine: don't return uninitialized variable - -Repotred by Ronny Chevalier ---- - src/machine/machine.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/machine/machine.c src/machine/machine.c -index c0fa1b2..cf38e3f 100644 ---- src/machine/machine.c -+++ src/machine/machine.c -@@ -371,7 +371,7 @@ static int machine_stop_scope(Machine *m) { - free(m->scope_job); - m->scope_job = job; - -- return r; -+ return 0; - } - - int machine_stop(Machine *m) { --- -1.7.9.2 - diff --git a/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch b/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch deleted file mode 100644 index df04192f..00000000 --- a/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 1f97091d3cb0887c264176b47b0a86c269acf0b5 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 27 Jun 2014 18:34:37 +0200 -Subject: [PATCH] main: uid_to_name() might fail due to OOM, protect against - that - ---- - src/core/main.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-07-01 12:25:17.906235000 +0000 -@@ -1525,9 +1525,10 @@ int main(int argc, char *argv[]) { - log_info("Running in initial RAM disk."); - - } else { -- _cleanup_free_ char *t = uid_to_name(getuid()); -- log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", -- getuid(), t); -+ _cleanup_free_ char *t; -+ -+ t = uid_to_name(getuid()); -+ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", getuid(), strna(t)); - } - - if (arg_running_as == SYSTEMD_SYSTEM && !skip_setup) { diff --git a/0001-make-209-working-on-older-dist.patch b/0001-make-209-working-on-older-dist.patch deleted file mode 100644 index 63fbd03b..00000000 --- a/0001-make-209-working-on-older-dist.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- systemd-209/units/kmod-static-nodes.service.in -+++ systemd-209/units/kmod-static-nodes.service.in 2014-02-27 15:04:30.378236539 +0000 -@@ -15,4 +15,5 @@ ConditionPathExists=/lib/modules/%v/modu - [Service] - Type=oneshot - RemainAfterExit=yes -+ExecStartPre=@MKDIR_P@ /run/tmpfiles.d - ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf ---- systemd-209/configure.ac -+++ systemd-209/configure.ac 2014-02-28 17:14:14.866235643 +0000 -@@ -300,9 +300,9 @@ AC_ARG_ENABLE(kmod, AS_HELP_STRING([--di - if test "x$enable_kmod" != "xno"; then - PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no) - if test "x$have_kmod" = "xyes"; then -- PKG_CHECK_MODULES(KMOD, [ libkmod >= 15 ], -+ PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ], - [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])], -- AC_MSG_ERROR([*** kmod version >= 15 not found])) -+ AC_MSG_ERROR([*** kmod version >= 14 not found])) - fi - if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then - AC_MSG_ERROR([*** kmod support requested, but libraries not found]) ---- systemd-209/configure -+++ systemd-209/configure 2014-02-28 17:13:50.770735397 +0000 -@@ -15999,12 +15999,12 @@ if test -n "$KMOD_CFLAGS"; then - pkg_cv_KMOD_CFLAGS="$KMOD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 -- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 -+ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then -- pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 15 " 2>/dev/null` -+ pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 14 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes - else - pkg_failed=yes -@@ -16016,12 +16016,12 @@ if test -n "$KMOD_LIBS"; then - pkg_cv_KMOD_LIBS="$KMOD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 -- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 -+ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then -- pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 15 " 2>/dev/null` -+ pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 14 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes - else - pkg_failed=yes -@@ -16042,18 +16042,18 @@ else - _pkg_short_errors_supported=no - fi - if test $_pkg_short_errors_supported = yes; then -- KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 15 " 2>&1` -+ KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 14 " 2>&1` - else -- KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 15 " 2>&1` -+ KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 14 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$KMOD_PKG_ERRORS" >&5 - -- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 -+ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 - elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } -- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 -+ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 - else - KMOD_CFLAGS=$pkg_cv_KMOD_CFLAGS - KMOD_LIBS=$pkg_cv_KMOD_LIBS diff --git a/0001-make-fortify-happy-with-ppoll.patch b/0001-make-fortify-happy-with-ppoll.patch deleted file mode 100644 index ed27a725..00000000 --- a/0001-make-fortify-happy-with-ppoll.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- systemd-209/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-209/src/libsystemd/sd-bus/sd-bus.c 2014-02-28 11:08:21.354235373 +0000 -@@ -2548,7 +2548,7 @@ static int bus_poll(sd_bus *bus, bool ne - n = 2; - } - -- r = ppoll(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); -+ r = __ppoll_alias(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); - if (r < 0) - return -errno; - ---- systemd-209/src/core/hostname-setup.c -+++ systemd-209/src/core/hostname-setup.c 2014-02-28 11:14:51.594832792 +0000 -@@ -50,8 +50,8 @@ static int read_and_strip_hostname(const - } - - /* strip any leftover of a domain name */ -- if (domain = strchr(s, '.')) { -- *domain = NULL; -+ if ((domain = strchr(s, '.'))) { -+ *domain = '\0'; - } - - *hn = s; ---- systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-02-28 11:41:42.254735820 +0000 -@@ -142,7 +142,7 @@ static int ask_password_plymouth( - goto finish; - } - -- if ((j = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { -+ if ((j = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { - - if (errno == EINTR) - continue; -@@ -595,7 +595,7 @@ static int watch_passwords(void) { - if ((r = show_passwords()) < 0) - log_error("Failed to show password: %s", strerror(-r)); - -- if (poll(pollfd, _FD_MAX, -1) < 0) { -+ if (__poll_alias(pollfd, _FD_MAX, -1) < 0) { - - if (errno == EINTR) - continue; ---- systemd-209/src/shared/ask-password-api.c -+++ systemd-209/src/shared/ask-password-api.c 2014-02-28 11:47:21.754234675 +0000 -@@ -138,7 +138,7 @@ int ask_password_tty( - goto finish; - } - -- if ((k = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { -+ if ((k = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { - - if (errno == EINTR) - continue; diff --git a/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch b/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch deleted file mode 100644 index f71e16bd..00000000 --- a/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch +++ /dev/null @@ -1,79 +0,0 @@ -Based on 4dffec1459f50ac9f8f67ccfcb79836b4ed5a50e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 13:44:45 +0200 -Subject: [PATCH] manager: Linux on hppa has fewer rtsigs, hence avoid using - the higher ones there - -https://bugs.freedesktop.org/show_bug.cgi?id=84931 ---- - src/core/manager.c | 29 +++++++++++++++++++++++++++-- - 1 file changed, 27 insertions(+), 2 deletions(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-10-29 14:02:28.635837997 +0000 -@@ -340,11 +340,14 @@ static int manager_setup_signals(Manager - - assert(m); - -- /* We are not interested in SIGSTOP and friends. */ - assert_se(sigaction(SIGCHLD, &sa, NULL) == 0); - -- assert_se(sigemptyset(&mask) == 0); -+ /* We make liberal use of realtime signals here. On -+ * Linux/glibc we have 30 of them (with the exception of Linux -+ * on hppa, see below), between SIGRTMIN+0 ... SIGRTMIN+30 -+ * (aka SIGRTMAX). */ - -+ assert_se(sigemptyset(&mask) == 0); - sigset_add_many(&mask, - SIGCHLD, /* Child died */ - SIGTERM, /* Reexecute daemon */ -@@ -354,6 +357,7 @@ static int manager_setup_signals(Manager - SIGINT, /* Kernel sends us this on control-alt-del */ - SIGWINCH, /* Kernel sends us this on kbrequest (alt-arrowup) */ - SIGPWR, /* Some kernel drivers and upsd send us this on power failure */ -+ - SIGRTMIN+0, /* systemd: start default.target */ - SIGRTMIN+1, /* systemd: isolate rescue.target */ - SIGRTMIN+2, /* systemd: isolate emergency.target */ -@@ -361,19 +365,40 @@ static int manager_setup_signals(Manager - SIGRTMIN+4, /* systemd: start poweroff.target */ - SIGRTMIN+5, /* systemd: start reboot.target */ - SIGRTMIN+6, /* systemd: start kexec.target */ -+ -+ /* ... space for more special targets ... */ -+ - SIGRTMIN+13, /* systemd: Immediate halt */ - SIGRTMIN+14, /* systemd: Immediate poweroff */ - SIGRTMIN+15, /* systemd: Immediate reboot */ - SIGRTMIN+16, /* systemd: Immediate kexec */ -+ -+ /* ... space for more immediate system state changes ... */ -+ - SIGRTMIN+20, /* systemd: enable status messages */ - SIGRTMIN+21, /* systemd: disable status messages */ - SIGRTMIN+22, /* systemd: set log level to LOG_DEBUG */ - SIGRTMIN+23, /* systemd: set log level to LOG_INFO */ - SIGRTMIN+24, /* systemd: Immediate exit (--user only) */ -+ -+ /* .. one free signal here ... */ -+ -+#if !defined(__hppa64__) && !defined(__hppa__) -+ /* Apparently Linux on hppa has fewer RT -+ * signals (SIGRTMAX is SIGRTMIN+25 there), -+ * hence let's not try to make use of them -+ * here. Since these commands are accessible -+ * by different means and only really a safety -+ * net, the missing functionality on hppa -+ * shouldn't matter. */ -+ - SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */ - SIGRTMIN+27, /* systemd: set log target to console */ - SIGRTMIN+28, /* systemd: set log target to kmsg */ - SIGRTMIN+29, /* systemd: set log target to syslog-or-kmsg */ -+ -+ /* ... one free signal here SIGRTMIN+30 ... */ -+#endif - -1); - assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0); - diff --git a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch deleted file mode 100644 index 7d5b066f..00000000 --- a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +++ /dev/null @@ -1,45 +0,0 @@ -From e6a4a517befe559adf6d1dbbadf425c3538849c9 Mon Sep 17 00:00:00 2001 -From: Djalal Harouni -Date: Fri, 11 Apr 2014 01:45:52 +0100 -Subject: [PATCH] nspawn: allow to bind mount journal on top of a non empty - container journal dentry - -Currently if nspawn was called with --link-journal=host or ---link-journal=auto and the right /var/log/journal/machine-id/ exists -then the bind mount the subdirectory into the container might fail due -to the ~/mycontainer/var/log/journal/machine-id/ of the container not -being empty. - -There is no reason to check if the container journal subdir is empty -since there will be a bind mount on top of it. The user asked for a bind -mount so give it. - -Note: a next call with --link-journal=guest may fail due to the -/var/log/journal/machine-id/ on the host not being empty. - -https://bugs.freedesktop.org/show_bug.cgi?id=76193 - -Reported-by: Tobias Hunger ---- - src/nspawn/nspawn.c | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 9d9238f..ef84664 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1143,11 +1143,6 @@ static int setup_journal(const char *directory) { - } else if (access(p, F_OK) < 0) - return 0; - -- if (dir_is_empty(q) == 0) { -- log_error("%s not empty.", q); -- return -ENOTEMPTY; -- } -- - r = mkdir_p(q, 0755); - if (r < 0) { - log_error("Failed to create %s: %m", q); --- -1.7.9.2 - diff --git a/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch b/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch deleted file mode 100644 index ee7cea2a..00000000 --- a/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on c00524c9cc7fb498c7244350e25823b8352f078c Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 19 Sep 2014 23:02:00 +0200 -Subject: [PATCH] nspawn: don't try to create veth link with too long ifname - -Reported by: James Lott ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-09-23 15:33:06.766236272 +0000 -@@ -1383,7 +1383,7 @@ static int setup_veth(pid_t pid, char if - - /* Use two different interface name prefixes depending whether - * we are in bridge mode or not. */ -- snprintf(iface_name, IFNAMSIZ, "%s-%s", -+ snprintf(iface_name, IFNAMSIZ - 1, "%s-%s", - arg_network_bridge ? "vb" : "ve", arg_machine); - - r = sd_rtnl_open(&rtnl, 0); diff --git a/0001-nspawn-fix-network-interface.patch b/0001-nspawn-fix-network-interface.patch deleted file mode 100644 index 6e9fce7c..00000000 --- a/0001-nspawn-fix-network-interface.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on 3125b3ef5db70d45882c7d6f617705802c5f939e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 28 Aug 2014 12:15:51 +0200 -Subject: [PATCH] nspawn: fix --network-interface - -Use SETLINK when modifying an existing link. ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-08-29 14:11:25.866235309 +0000 -@@ -1568,7 +1568,7 @@ static int move_network_interfaces(pid_t - return -EBUSY; - } - -- r = sd_rtnl_message_new_link(rtnl, &m, RTM_NEWLINK, ifi); -+ r = sd_rtnl_message_new_link(rtnl, &m, RTM_SETLINK, ifi); - if (r < 0) { - log_error("Failed to allocate netlink message: %s", strerror(-r)); - return r; diff --git a/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch b/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch deleted file mode 100644 index 4378b91f..00000000 --- a/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch +++ /dev/null @@ -1,31 +0,0 @@ -Based on 4212a3375e03fd12cb407b34cab59dbe4ed9f4eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 3 Aug 2014 01:28:21 -0400 -Subject: [PATCH] nspawn: fix truncation of machine names in interface names - -Based on patch by Michael Marineau : - -When deriving the network interface name from machine name strncpy was -not properly null terminating the string and the maximum string size as -returned by strlen() is actually IFNAMSIZ-1, not IFNAMSIZ. ---- - src/nspawn/nspawn.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-08-22 10:18:20.390235611 +0000 -@@ -1383,12 +1383,8 @@ static int setup_veth(pid_t pid, char if - - /* Use two different interface name prefixes depending whether - * we are in bridge mode or not. */ -- if (arg_network_bridge) -- memcpy(iface_name, "vb-", 3); -- else -- memcpy(iface_name, "ve-", 3); -- -- strncpy(iface_name+3, arg_machine, IFNAMSIZ - 3); -+ snprintf(iface_name, IFNAMSIZ, "%s-%s", -+ arg_network_bridge ? "vb" : "ve", arg_machine); - - r = sd_rtnl_open(&rtnl, 0); - if (r < 0) { diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch index 4dcfb70f..291de476 100644 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -8,11 +8,11 @@ is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. This belongs to BNC#852015 and also to BNC#855160 --- - pam-module.c | 19 +++++++++++++++++++ + pam_systemd.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---- systemd-209/src/login/pam-module.c -+++ systemd-209/src/login/pam-module.c 2014-02-26 14:31:30.158235525 +0000 +--- systemd-209/src/login/pam_systemd.c ++++ systemd-209/src/login/pam_systemd.c 2014-02-26 14:31:30.158235525 +0000 @@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); if (r != PAM_SUCCESS) diff --git a/0001-parse_uid-return-ENXIO-for-1-uids.patch b/0001-parse_uid-return-ENXIO-for-1-uids.patch deleted file mode 100644 index bc23d1a9..00000000 --- a/0001-parse_uid-return-ENXIO-for-1-uids.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f841a154efbb3162d2a732936f031ac7a6b0d4cf Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 1 Jul 2014 16:00:05 +0200 -Subject: [PATCH] parse_uid: return -ENXIO for -1 uids - ---- - src/shared/audit.c | 3 --- - src/shared/util.c | 4 ++-- - 2 files changed, 2 insertions(+), 5 deletions(-) - -diff --git src/shared/audit.c src/shared/audit.c -index 5466447..f101050 100644 ---- src/shared/audit.c -+++ src/shared/audit.c -@@ -77,9 +77,6 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) { - if (r < 0) - return r; - -- if (u == (uid_t) -1) -- return -ENXIO; -- - *uid = (uid_t) u; - return 0; - } -diff --git src/shared/util.c src/shared/util.c -index e75f6c9..9b5a47a 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -282,11 +282,11 @@ int parse_uid(const char *s, uid_t* ret_uid) { - - /* Some libc APIs use (uid_t) -1 as special placeholder */ - if (uid == (uid_t) 0xFFFFFFFF) -- return -EINVAL; -+ return -ENXIO; - - /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ - if (uid == (uid_t) 0xFFFF) -- return -EINVAL; -+ return -ENXIO; - - *ret_uid = uid; - return 0; --- -1.7.9.2 - diff --git a/0001-po-add-Ukrainian-translation.patch b/0001-po-add-Ukrainian-translation.patch deleted file mode 100644 index b7dba0ee..00000000 --- a/0001-po-add-Ukrainian-translation.patch +++ /dev/null @@ -1,406 +0,0 @@ -From 260b6323cc2aebe722d5b8e43fa63a502f906774 Mon Sep 17 00:00:00 2001 -From: Daniel Korostil -Date: Thu, 17 Jul 2014 02:07:29 +0300 -Subject: [PATCH] po: add Ukrainian translation - ---- - po/LINGUAS | 1 + - po/uk.po | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 378 insertions(+) - create mode 100644 po/uk.po - -diff --git po/LINGUAS po/LINGUAS -index 2cb0f30..f214ece 100644 ---- po/LINGUAS -+++ po/LINGUAS -@@ -4,3 +4,4 @@ fr - it - pl - ru -+uk -diff --git po/uk.po po/uk.po -new file mode 100644 -index 0000000..7a5212a ---- /dev/null -+++ po/uk.po -@@ -0,0 +1,377 @@ -+# Ukrainian translation for systemd. -+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER -+# This file is distributed under the same license as the systemd package. -+# Eugene Melnik , 2014. -+# Daniel Korostil , 2014. -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd master\n" -+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" -+"temd&keywords=I18N+L10N&component=general\n" -+"POT-Creation-Date: 2014-06-06 22:16+0000\n" -+"PO-Revision-Date: 2014-07-16 19:13+0300\n" -+"Last-Translator: Daniel Korostil \n" -+"Language-Team: linux.org.ua\n" -+"Language: uk\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"X-Generator: Virtaal 0.7.1\n" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Set host name" -+msgstr "Встановити назву вузла" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Засвідчення потрібне, щоб встановити назву локального вузла." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 -+msgid "Set static host name" -+msgstr "Встановити статичну назву вузла" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Засвідчення потрібне, щоб вказати статично налаштовану назву локального " -+"вузла, так само й форматовану." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Встановити інформацію про машину" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Authentication is required to set local machine information." -+msgstr "Засвідчення потрібно, щоб вказати локальну інформацію про машини." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 -+msgid "Set system locale" -+msgstr "Вказати системну локаль" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "Засвідчення потрібно, щоб встановити системну локаль." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Вказати налаштування системної клавіатури" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "Засвідчення потрібно, щоб вказати налаштування системної клавіатури." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow applications to inhibit system shutdown" -+msgstr "Дозволити програмам перешкоджати вимкненню системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:2 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"shutdown." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати вимкненню системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:3 -+msgid "Allow applications to delay system shutdown" -+msgstr "Дозволити програмам затримувати вимкнення системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:4 -+msgid "" -+"Authentication is required to allow an application to delay system shutdown." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам затримувати вимкнення системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:5 -+msgid "Allow applications to inhibit system sleep" -+msgstr "Дозволити програмам перешкоджати засинанню системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow an application to inhibit system sleep." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати засинанню системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:7 -+msgid "Allow applications to delay system sleep" -+msgstr "Дозволити програмами затримувати засинання системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow an application to delay system sleep." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам затримувати засинання системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:9 -+msgid "Allow applications to inhibit automatic system suspend" -+msgstr "Дозволити програмам перешкоджати автоматичному призупиненню системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:10 -+msgid "" -+"Authentication is required to allow an application to inhibit automatic " -+"system suspend." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати автоматичному " -+"призупиненню системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:11 -+msgid "Allow applications to inhibit system handling of the power key" -+msgstr "Дозволити програмам перешкоджати обробленню системою клавіші живлення" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:12 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the power key." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші живлення." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:13 -+msgid "Allow applications to inhibit system handling of the suspend key" -+msgstr "" -+"Дозволити програмам перешкоджати обробленню системою клавіші призупинення" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:14 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the suspend key." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші призупинення." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:15 -+msgid "Allow applications to inhibit system handling of the hibernate key" -+msgstr "Дозволити програмам перешкоджати обробленню системою клавіші присипання" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:16 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the hibernate key." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші присипання." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:17 -+msgid "Allow applications to inhibit system handling of the lid switch" -+msgstr "" -+"Дозволити програмам перешкоджати обробленню системою клавіші перемикання " -+"кришки" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:18 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the lid switch." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші перемикання кришки." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:19 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Дозволити незареєстрованим користувачам запускати програми" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:20 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити незареєстрованим користувачам запускати " -+"програми." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:21 -+msgid "Allow attaching devices to seats" -+msgstr "Дозволити під'єднання пристроїв до місць" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:22 -+msgid "Authentication is required for attaching a device to a seat." -+msgstr "Засвідчення потрібно, щоб під'єднувати пристрої до місць." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:23 -+msgid "Flush device to seat attachments" -+msgstr "Очисний пристрій для під'єднань до місця" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:24 -+msgid "" -+"Authentication is required for resetting how devices are attached to seats." -+msgstr "Засвідчення потрібно, щоб перезапустити спосіб під'єднання до місць." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:25 -+msgid "Power off the system" -+msgstr "Вимкнути систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:26 -+msgid "Authentication is required for powering off the system." -+msgstr "Засвідчення потрібно, щоб вимкнути систему." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:27 -+msgid "Power off the system while other users are logged in" -+msgstr "Вимикнути систему, коли інші користувачі ще в ній" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:28 -+msgid "" -+"Authentication is required for powering off the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб вимкнути систему, коли інші користувачі в ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:29 -+msgid "Power off the system while an application asked to inhibit it" -+msgstr "Вимкнути систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:30 -+msgid "" -+"Authentication is required for powering off the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб вимкнути систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:31 -+msgid "Reboot the system" -+msgstr "Перезавантажити систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:32 -+msgid "Authentication is required for rebooting the system." -+msgstr "Для перезавантаження системи необхідна ідентифікація." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:33 -+msgid "Reboot the system while other users are logged in" -+msgstr "Перезавантажити, якщо інщі користувачі в системі" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:34 -+msgid "" -+"Authentication is required for rebooting the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб перезапустити систему, коли інші користувачі в " -+"ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:35 -+msgid "Reboot the system while an application asked to inhibit it" -+msgstr "Перезапустити систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:36 -+msgid "" -+"Authentication is required for rebooting the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб перезапустити систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:37 -+msgid "Suspend the system" -+msgstr "Призупинити систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:38 -+msgid "Authentication is required for suspending the system." -+msgstr "Засвідчення потрібно, щоб призупинити систему." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:39 -+msgid "Suspend the system while other users are logged in" -+msgstr "Призупинити систему, коли інші користувачі в ній" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:40 -+msgid "" -+"Authentication is required for suspending the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб призупинити систему, коли інші користувачі в ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:41 -+msgid "Suspend the system while an application asked to inhibit it" -+msgstr "Призупинити систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:42 -+msgid "" -+"Authentication is required for suspending the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб призупнити систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:43 -+msgid "Hibernate the system" -+msgstr "Приспати систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:44 -+msgid "Authentication is required for hibernating the system." -+msgstr "Засвідчення потрібно, щоб приспати систему." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:45 -+msgid "Hibernate the system while other users are logged in" -+msgstr "Приспати систему, коли інші користувачі в ній" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:46 -+msgid "" -+"Authentication is required for hibernating the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб присипання систему, коли інші користувачі в ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:47 -+msgid "Hibernate the system while an application asked to inhibit it" -+msgstr "Приспати систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:48 -+msgid "" -+"Authentication is required for hibernating the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб приспати систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 -+msgid "Set system time" -+msgstr "Вказати системний час" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 -+msgid "Authentication is required to set the system time." -+msgstr "Засвідчення потрібно, щоб вказати системний час." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Set system timezone" -+msgstr "Вказати системний часовий пояс" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Засвідчення потрібно, щоб вказати системний часовий пояс." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Вкажіть RTC для локального часового поясу або UTC" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "Засвідчення потрібно, щоб контролювати, чи RTC зберігає час, чи UTC." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Turn network time synchronization on or off" -+msgstr "Увімкнути або вимкнути синхронізування через мережу" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Засвідчення потрібно, щоб контролювати, чи синхронізування часу через мережу " -+"запущено." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 -+msgid "Send passphrase back to system" -+msgstr "Надіслати пароль назад у систему" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 -+msgid "" -+"Authentication is required to send the entered passphrase back to the system." -+msgstr "Засвідчення потрібно, щоб надіслати введений пароль назад у систему." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 -+msgid "Privileged system and service manager access" -+msgstr "Привілейований доступ до менеджера системи і служб" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 -+msgid "Authentication is required to access the system and service manager." -+msgstr "Засвідчення потрібно, щоб доступитись до менеджера системи і служб." --- -1.7.9.2 - diff --git a/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch b/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch deleted file mode 100644 index 9d10cced..00000000 --- a/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +++ /dev/null @@ -1,27 +0,0 @@ -Based on b2103dccb354de3f38c49c14ccb637bdf665e40f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 5 Apr 2014 13:59:01 -0400 -Subject: [PATCH] reduce the amount of messages logged to /dev/kmsg when - "debug" is specified - ---- - src/core/main.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-04-14 13:50:48.490814738 +0000 -@@ -412,12 +412,8 @@ static int parse_proc_cmdline_word(const - if (arg_show_status == _SHOW_STATUS_UNSET) - arg_show_status = SHOW_STATUS_AUTO; - } else if (streq(word, "debug")) { -- /* Log to kmsg, the journal socket will fill up before the -- * journal is started and tools running during that time -- * will block with every log message for for 60 seconds, -- * before they give up. */ -- log_set_max_level(LOG_DEBUG); -- log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_CONSOLE : LOG_TARGET_KMSG); -+ if (detect_container(NULL) > 0) -+ log_set_target(LOG_TARGET_CONSOLE); - } else if (!in_initrd()) { - unsigned i; - diff --git a/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch b/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch deleted file mode 100644 index 0438c3ee..00000000 --- a/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ead349509e325aad720bb0349521a9e56e2ac7c0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 13 May 2014 16:40:53 +0200 -Subject: [PATCH] replace more dup() by F_DUPFD_CLOEXEC - ---- - src/login/inhibit.c | 2 +- - src/shared/install.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/login/inhibit.c src/login/inhibit.c -index 48c2ec4..ae3afdf 100644 ---- src/login/inhibit.c -+++ src/login/inhibit.c -@@ -64,7 +64,7 @@ static int inhibit(sd_bus *bus, sd_bus_error *error) { - if (r < 0) - return r; - -- r = dup(fd); -+ r = fcntl(fd, F_DUPFD_CLOEXEC, 3); - if (r < 0) - return -errno; - -diff --git src/shared/install.c src/shared/install.c -index acfba25..9ce9403 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -332,7 +332,7 @@ static int remove_marked_symlinks( - int q, cfd; - deleted = false; - -- cfd = dup(fd); -+ cfd = fcntl(fd, F_DUPFD_CLOEXEC, 3); - if (cfd < 0) { - r = -errno; - break; --- -1.7.9.2 - diff --git a/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch b/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch deleted file mode 100644 index 47dbcce3..00000000 --- a/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch +++ /dev/null @@ -1,181 +0,0 @@ -From 42c4ebcbd4cbd7b27667eb8081ee4dc46f9ece17 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 13 Mar 2014 20:33:22 +0100 -Subject: [PATCH] sd-bus: don't look for a 64bit value when we only have 32bit - value on reply cookie hash table access - -This broke hashtable lookups for the message cookies on s390x, which is -a 64bit BE machine where accessing 32bit values as 64bit and vice versa -will explode. - -Also, while we are at it, be a bit more careful when dealing with the -64bit cookies we expose and the 32bit serial numbers dbus uses in its -payload. - -Problem identified by Fridrich Strba. ---- - src/libsystemd/sd-bus/bus-dump.c | 4 ++-- - src/libsystemd/sd-bus/bus-kernel.c | 2 +- - src/libsystemd/sd-bus/bus-message.c | 15 ++++++++++----- - src/libsystemd/sd-bus/bus-message.h | 5 +++-- - src/libsystemd/sd-bus/sd-bus.c | 12 ++++++------ - 5 files changed, 22 insertions(+), 16 deletions(-) - -diff --git a/src/libsystemd/sd-bus/bus-dump.c b/src/libsystemd/sd-bus/bus-dump.c -index 0e41549..ea81644 100644 ---- a/src/libsystemd/sd-bus/bus-dump.c -+++ b/src/libsystemd/sd-bus/bus-dump.c -@@ -69,10 +69,10 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { - if (BUS_MESSAGE_COOKIE(m) == 0xFFFFFFFFULL) - fprintf(f, " Cookie=-1"); - else -- fprintf(f, " Cookie=%lu", (unsigned long) BUS_MESSAGE_COOKIE(m)); -+ fprintf(f, " Cookie=%" PRIu64, BUS_MESSAGE_COOKIE(m)); - - if (m->reply_cookie != 0) -- fprintf(f, " ReplyCookie=%lu", (unsigned long) m->reply_cookie); -+ fprintf(f, " ReplyCookie=%" PRIu64, m->reply_cookie); - - fputs("\n", f); - -diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c -index 8a2ca02..80ef15b 100644 ---- a/src/libsystemd/sd-bus/bus-kernel.c -+++ b/src/libsystemd/sd-bus/bus-kernel.c -@@ -266,7 +266,7 @@ static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) { - well_known ? 0 : - m->destination ? unique : KDBUS_DST_ID_BROADCAST; - m->kdbus->payload_type = KDBUS_PAYLOAD_DBUS; -- m->kdbus->cookie = m->header->serial; -+ m->kdbus->cookie = (uint64_t) m->header->serial; - m->kdbus->priority = m->priority; - - if (m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) -diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c -index fb894ef..97ab0e3 100644 ---- a/src/libsystemd/sd-bus/bus-message.c -+++ b/src/libsystemd/sd-bus/bus-message.c -@@ -617,7 +617,7 @@ static int message_new_reply( - t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; - t->reply_cookie = BUS_MESSAGE_COOKIE(call); - -- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); -+ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); - if (r < 0) - goto fail; - -@@ -752,7 +752,7 @@ int bus_message_new_synthetic_error( - t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; - t->reply_cookie = cookie; - -- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); -+ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); - if (r < 0) - goto fail; - -@@ -5075,21 +5075,26 @@ int bus_message_parse_fields(sd_bus_message *m) { - break; - } - -- case BUS_MESSAGE_HEADER_REPLY_SERIAL: -+ case BUS_MESSAGE_HEADER_REPLY_SERIAL: { -+ uint32_t serial; -+ - if (m->reply_cookie != 0) - return -EBADMSG; - - if (!streq(signature, "u")) - return -EBADMSG; - -- r = message_peek_field_uint32(m, &ri, item_size, &m->reply_cookie); -+ r = message_peek_field_uint32(m, &ri, item_size, &serial); - if (r < 0) - return r; - -+ m->reply_cookie = serial; -+ - if (m->reply_cookie == 0) - return -EBADMSG; - - break; -+ } - - case BUS_MESSAGE_HEADER_UNIX_FDS: - if (unix_fds != 0) -@@ -5489,7 +5494,7 @@ int bus_message_remarshal(sd_bus *bus, sd_bus_message **m) { - return -ENOMEM; - - n->reply_cookie = (*m)->reply_cookie; -- r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, n->reply_cookie); -+ r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) n->reply_cookie); - if (r < 0) - return r; - -diff --git a/src/libsystemd/sd-bus/bus-message.h b/src/libsystemd/sd-bus/bus-message.h -index 5fbe3e6..df79294 100644 ---- a/src/libsystemd/sd-bus/bus-message.h -+++ b/src/libsystemd/sd-bus/bus-message.h -@@ -84,7 +84,7 @@ struct sd_bus_message { - - sd_bus *bus; - -- uint32_t reply_cookie; -+ uint64_t reply_cookie; - - const char *path; - const char *interface; -@@ -162,7 +162,8 @@ static inline uint64_t BUS_MESSAGE_BSWAP64(sd_bus_message *m, uint64_t u) { - return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u; - } - --static inline uint32_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { -+static inline uint64_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { -+ /* Note that we return the serial converted to a 64bit value here */ - return BUS_MESSAGE_BSWAP32(m, m->header->serial); - } - -diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c -index ca7c428..8e44e50 100644 ---- a/src/libsystemd/sd-bus/sd-bus.c -+++ b/src/libsystemd/sd-bus/sd-bus.c -@@ -1486,15 +1486,15 @@ static int bus_write_message(sd_bus *bus, sd_bus_message *m, bool hint_sync_call - return r; - - if (bus->is_kernel || *idx >= BUS_MESSAGE_SIZE(m)) -- log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", -+ log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", - bus_message_type_to_string(m->header->type), - strna(sd_bus_message_get_sender(m)), - strna(sd_bus_message_get_destination(m)), - strna(sd_bus_message_get_path(m)), - strna(sd_bus_message_get_interface(m)), - strna(sd_bus_message_get_member(m)), -- (unsigned long) BUS_MESSAGE_COOKIE(m), -- (unsigned long) m->reply_cookie, -+ BUS_MESSAGE_COOKIE(m), -+ m->reply_cookie, - strna(m->error.message)); - - return r; -@@ -2253,15 +2253,15 @@ static int process_message(sd_bus *bus, sd_bus_message *m) { - bus->current = m; - bus->iteration_counter++; - -- log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", -+ log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", - bus_message_type_to_string(m->header->type), - strna(sd_bus_message_get_sender(m)), - strna(sd_bus_message_get_destination(m)), - strna(sd_bus_message_get_path(m)), - strna(sd_bus_message_get_interface(m)), - strna(sd_bus_message_get_member(m)), -- (unsigned long) BUS_MESSAGE_COOKIE(m), -- (unsigned long) m->reply_cookie, -+ BUS_MESSAGE_COOKIE(m), -+ m->reply_cookie, - strna(m->error.message)); - - r = process_hello(bus, m); --- -1.9.0 - diff --git a/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch b/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch deleted file mode 100644 index c1326c50..00000000 --- a/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ef7b6c0190fefaacf6d8f8e1a6dda4ba8b98091b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 29 Oct 2014 17:58:43 +0100 -Subject: [PATCH] sd-bus: properly handle removals of non-existing matches - ---- - src/libsystemd/sd-bus/bus-match.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c -index 18afe0f..5658c61 100644 ---- src/libsystemd/sd-bus/bus-match.c -+++ src/libsystemd/sd-bus/bus-match.c -@@ -537,7 +537,7 @@ static int bus_match_find_compare_value( - else if (BUS_MATCH_CAN_HASH(t)) - n = hashmap_get(c->compare.children, value_str); - else { -- for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next) -+ for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next) - ; - } - --- -1.7.9.2 - diff --git a/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch b/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch deleted file mode 100644 index 4b9e6e87..00000000 --- a/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 92daebc0d0268c35f416c1665e0da3d4be5dd69f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 11 Jul 2014 16:48:35 +0200 -Subject: [PATCH] sd-event: don't require a signal event source to be enabled - for the child event source to work - ---- - src/libsystemd/sd-event/sd-event.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index a21f7db..9a9664c 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -1919,14 +1919,13 @@ static int process_signal(sd_event *e, uint32_t events) { - int r; - - assert(e); -- assert(e->signal_sources); - - assert_return(events == EPOLLIN, -EIO); - - for (;;) { - struct signalfd_siginfo si; - ssize_t ss; -- sd_event_source *s; -+ sd_event_source *s = NULL; - - ss = read(e->signal_fd, &si, sizeof(si)); - if (ss < 0) { -@@ -1941,16 +1940,19 @@ static int process_signal(sd_event *e, uint32_t events) { - - read_one = true; - -- s = e->signal_sources[si.ssi_signo]; - if (si.ssi_signo == SIGCHLD) { - r = process_child(e); - if (r < 0) - return r; -- if (r > 0 || !s) -+ if (r > 0) - continue; -- } else -- if (!s) -- return -EIO; -+ } -+ -+ if (e->signal_sources) -+ s = e->signal_sources[si.ssi_signo]; -+ -+ if (!s) -+ continue; - - s->signal.siginfo = si; - r = source_set_pending(s, true); --- -1.7.9.2 - diff --git a/0001-sd-event-restore-correct-timeout-behaviour.patch b/0001-sd-event-restore-correct-timeout-behaviour.patch deleted file mode 100644 index 8787f3f3..00000000 --- a/0001-sd-event-restore-correct-timeout-behaviour.patch +++ /dev/null @@ -1,37 +0,0 @@ -Based on eec6022cf039e62233139000b9e95db943959e48 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 13:43:30 +0200 -Subject: [PATCH] sd-event: restore correct timeout behaviour - ---- - src/libsystemd/sd-event/sd-event.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c 2014-06-06 10:26:51.422235695 +0000 -@@ -2047,6 +2047,7 @@ _public_ int sd_event_run(sd_event *e, u - unsigned ev_queue_max; - sd_event_source *p; - int r, i, m; -+ bool timedout; - - assert_return(e, -EINVAL); - assert_return(!event_pid_changed(e), -ECHILD); -@@ -2084,6 +2085,8 @@ _public_ int sd_event_run(sd_event *e, u - goto finish; - } - -+ timedout = m == 0; -+ - dual_timestamp_get(&e->timestamp); - - for (i = 0; i < m; i++) { -@@ -2123,7 +2126,7 @@ _public_ int sd_event_run(sd_event *e, u - - p = event_next_pending(e); - if (!p) { -- r = 1; -+ r = !timedout; - goto finish; - } - diff --git a/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch b/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch deleted file mode 100644 index cde6a3da..00000000 --- a/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch +++ /dev/null @@ -1,111 +0,0 @@ -Backport of 7ca1d31964a2553f7bd011bc10ac42e0ebc1f975 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 2 May 2014 22:29:18 +0200 -Subject: [PATCH] sd-rtnl-message: append - fix uninitialized memory - -We were not properly clearing the padding at the front of some containers. ---- - src/libsystemd/sd-rtnl/rtnl-message.c | 42 +++++++++++++++++++++------------- - 1 file changed, 27 insertions(+), 15 deletions(-) - ---- src/libsystemd/sd-rtnl/rtnl-message.c -+++ src/libsystemd/sd-rtnl/rtnl-message.c 2014-05-05 13:33:01.998235340 +0000 -@@ -314,24 +314,28 @@ int sd_rtnl_message_link_get_flags(sd_rt - /* If successful the updated message will be correctly aligned, if - unsuccessful the old message is untouched. */ - static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) { -- uint32_t rta_length, message_length; -+ uint32_t rta_length; -+ size_t message_length, padding_length; - struct nlmsghdr *new_hdr; - struct rtattr *rta; - char *padding; - unsigned i; -+ int offset; - - assert(m); - assert(m->hdr); - assert(!m->sealed); - assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len); -- assert(!data || data_length > 0); -- assert(data || m->n_containers < RTNL_CONTAINER_DEPTH); -+ assert(!data || data_length); -+ -+ /* get offset of the new attribute */ -+ offset = m->hdr->nlmsg_len; - - /* get the size of the new rta attribute (with padding at the end) */ - rta_length = RTA_LENGTH(data_length); - - /* get the new message size (with padding at the end) */ -- message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length); -+ message_length = offset + RTA_ALIGN(rta_length); - - /* realloc to fit the new attribute */ - new_hdr = realloc(m->hdr, message_length); -@@ -340,32 +344,35 @@ static int add_rtattr(sd_rtnl_message *m - m->hdr = new_hdr; - - /* get pointer to the attribute we are about to add */ -- rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len); -+ rta = (struct rtattr *) ((uint8_t *) m->hdr + offset); - - /* if we are inside containers, extend them */ - for (i = 0; i < m->n_containers; i++) -- GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len; -+ GET_CONTAINER(m, i)->rta_len += message_length - offset; - - /* fill in the attribute */ - rta->rta_type = type; - rta->rta_len = rta_length; -- if (!data) { -- /* this is the start of a new container */ -- m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len; -- } else { -+ if (data) - /* we don't deal with the case where the user lies about the type - * and gives us too little data (so don't do that) -- */ -+ */ - padding = mempcpy(RTA_DATA(rta), data, data_length); -- /* make sure also the padding at the end of the message is initialized */ -- memzero(padding, -- (uint8_t *) m->hdr + message_length - (uint8_t *) padding); -+ else { -+ /* if no data was passed, make sure we still initialize the padding -+ note that we can have data_length > 0 (used by some containers) */ -+ padding = RTA_DATA(rta); -+ data_length = 0; - } - -+ /* make sure also the padding at the end of the message is initialized */ -+ padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding; -+ memzero(padding, padding_length); -+ - /* update message size */ - m->hdr->nlmsg_len = message_length; - -- return 0; -+ return offset; - } - - int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) { -@@ -498,6 +505,7 @@ int sd_rtnl_message_append_u32(sd_rtnl_m - - assert_return(m, -EINVAL); - assert_return(!m->sealed, -EPERM); -+ assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE); - - r = sd_rtnl_message_get_type(m, &rtm_type); - if (r < 0) -@@ -548,6 +556,10 @@ int sd_rtnl_message_append_u32(sd_rtnl_m - if (r < 0) - return r; - -+ m->container_offsets[m->n_containers ++] = r; -+ -+ m->container_offsets[m->n_containers ++] = r; -+ - return 0; - } - diff --git a/0001-selinux-access-fix-broken-ternary-operator.patch b/0001-selinux-access-fix-broken-ternary-operator.patch deleted file mode 100644 index b94de819..00000000 --- a/0001-selinux-access-fix-broken-ternary-operator.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 1e648011b20c8126412d3cf2699d575d9ba9e0fe Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 21 Nov 2014 17:02:15 +0100 -Subject: [PATCH] selinux-access: fix broken ternary operator - -it seems to be a typo introduced by ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602 -- _r = selinux_access_check(_b, _m, _u->source_path ?:_u->fragment_path, (permission), &_error); \ -+ ({ Unit *_unit = (unit); selinux_generic_access_check(bus,message, _unit->fragment_path ?: _unit->fragment_path, permission,error); }) ---- - src/core/selinux-access.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/selinux-access.h -+++ src/core/selinux-access.h 2014-12-15 11:49:54.521518349 +0000 -@@ -34,7 +34,7 @@ int selinux_generic_access_check(sd_bus - #define selinux_access_check(bus, message, permission, error) \ - selinux_generic_access_check(bus, message, NULL, permission, error) - #define selinux_unit_access_check(unit, bus, message, permission, error) \ -- ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->fragment_path ?: _unit->fragment_path, permission, error); }) -+ ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->source_path ?: _unit->fragment_path, permission, error); }) - - #else - diff --git a/0001-shell-completion-fix-completion-of-inactive-units.patch b/0001-shell-completion-fix-completion-of-inactive-units.patch deleted file mode 100644 index 563d9828..00000000 --- a/0001-shell-completion-fix-completion-of-inactive-units.patch +++ /dev/null @@ -1,95 +0,0 @@ -Based on f29c77bc0179b0fa57407dbe30b495be9f5ad2e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 14 Oct 2014 20:20:07 -0400 -Subject: [PATCH] shell-completion: fix completion of inactive units - -Units which not loaded were not proposed properly. OTOH, we should -filter units from get-unit-files by their state if they are currently -loaded. Bring zsh completions in line with bash completion, the same -logic should be used in both implementations. - -https://bugzilla.redhat.com/show_bug.cgi?id=1024379 -https://bugzilla.redhat.com/show_bug.cgi?id=790768 -https://bugs.freedesktop.org/show_bug.cgi?id=84720 ---- - shell-completion/bash/systemctl | 17 +++++++++-------- - shell-completion/zsh/_systemctl | 16 +++++++++------- - 2 files changed, 18 insertions(+), 15 deletions(-) - ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -55,10 +55,14 @@ __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list- - | { while read -r a b; do echo " $a"; done; }; } - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } --__get_startable_units () { { -- __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap -- __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ -- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } -+__get_startable_units () { -+ # find inactive or failed units, filter out masked and not-found -+ __systemctl $1 list-units --state inactive,failed -- $( __get_all_units ) | \ -+ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } -+__get_restartable_units () { -+ # find !masked, filter out masked and not-found -+ __systemctl $1 list-units --state active,inactive,failed -- $( __get_all_units ) | \ -+ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } - __get_failed_units () { __systemctl $1 list-units \ - | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } - __get_enabled_units () { __systemctl $1 list-unit-files \ -@@ -180,10 +184,7 @@ _systemctl () { - - elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -- $( __get_all_units $mode \ -- | while read -r line; do \ -- [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ -- done )) -+ $( __get_restartable_units $mode)) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then ---- shell-completion/zsh/_systemctl -+++ shell-completion/zsh/_systemctl -@@ -138,8 +138,11 @@ _filter_units_by_property() { - done - } - -+_systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } -+ - _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} --_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} -+_systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} -+_systemctl_restartable_units(){_sys_restartable_units=($(__systemctl list-units --state inactive,failed,active -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} - _systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} - _systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} - _systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} -@@ -181,8 +184,9 @@ done - # Completion functions for STARTABLE_UNITS - (( $+functions[_systemctl_start] )) || _systemctl_start() - { -- _systemctl_inactive_units -- compadd "$@" -a - _sys_inactive_units -+ _systemctl_startable_units -+ compadd "$@" - $( _filter_units_by_property CanStart yes \ -+ ${_sys_startable_units[*]} ) - } - - # Completion functions for STOPPABLE_UNITS -@@ -217,11 +221,9 @@ done - for fun in restart reload-or-restart ; do - (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() - { -- _systemctl_all_units -+ _systemctl_restartable_units - compadd "$@" - $( _filter_units_by_property CanStart yes \ -- ${_sys_all_units[*]} | while read -r line; do \ -- [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ -- done ) -+ ${_sys_restartable_units[*]} ) - } - done - --- -1.7.9.2 - diff --git a/0001-shutdownd-clean-up-initialization-of-struct.patch b/0001-shutdownd-clean-up-initialization-of-struct.patch deleted file mode 100644 index 3f2fb4ea..00000000 --- a/0001-shutdownd-clean-up-initialization-of-struct.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b748c7596f79945be5263a0d1c88de64eb0c5146 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 27 Sep 2014 00:25:09 +0200 -Subject: [PATCH] shutdownd: clean up initialization of struct - -No functional change. We just don't assign the value twice. - -Found by coverity. Fixes: CID#1237616 and #1237617 ---- - src/shutdownd/shutdownd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/shutdownd/shutdownd.c src/shutdownd/shutdownd.c -index 99aa4b3..0f008a6 100644 ---- src/shutdownd/shutdownd.c -+++ src/shutdownd/shutdownd.c -@@ -52,8 +52,8 @@ static int read_packet(int fd, union shutdown_buffer *_b) { - union shutdown_buffer b; /* We maintain our own copy here, in - * order not to corrupt the last message */ - struct iovec iovec = { -- iovec.iov_base = &b, -- iovec.iov_len = sizeof(b) - 1, -+ .iov_base = &b, -+ .iov_len = sizeof(b) - 1, - }; - union { - struct cmsghdr cmsghdr; --- -1.7.9.2 - diff --git a/0001-socket-introduce-SELinuxContextFromNet-option.patch b/0001-socket-introduce-SELinuxContextFromNet-option.patch deleted file mode 100644 index f437c7be..00000000 --- a/0001-socket-introduce-SELinuxContextFromNet-option.patch +++ /dev/null @@ -1,414 +0,0 @@ -Based on 16115b0a7b7cdf08fb38084d857d572d8a9088dc Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 24 Jul 2014 10:40:28 +0200 -Subject: [PATCH] socket: introduce SELinuxContextFromNet option - -This makes possible to spawn service instances triggered by socket with -MLS/MCS SELinux labels which are created based on information provided by -connected peer. - -Implementation of label_get_child_mls_label derived from xinetd. - -Reviewed-by: Paul Moore ---- - man/systemd.socket.xml | 26 +++++++ - src/core/execute.c | 30 +++++++-- - src/core/execute.h | 1 - src/core/load-fragment-gperf.gperf.m4 | 3 - src/core/mount.c | 1 - src/core/service.c | 4 - - src/core/service.h | 3 - src/core/socket.c | 16 +++- - src/core/socket.h | 2 - src/core/swap.c | 1 - src/shared/label.c | 113 ++++++++++++++++++++++++++++++++++ - src/shared/label.h | 2 - 12 files changed, 191 insertions(+), 11 deletions(-) - ---- man/systemd.socket.xml -+++ man/systemd.socket.xml 2014-09-23 15:36:49.000000000 +0000 -@@ -570,6 +570,32 @@ - - - -+ SELinuxContextFromNet= -+ Takes a boolean -+ argument. When true systemd will attempt -+ to figure out the SELinux label used -+ for the instantiated service from the -+ information handed by the peer over the -+ network. Note that only the security -+ level is used from the information -+ provided by the peer. Other parts of -+ the resulting SELinux context originate -+ from either the target binary that is -+ effectively triggered by socket unit -+ are taken from the value of the -+ SELinuxContext= -+ option.This configuration option only -+ affects sockets with -+ Accept= mode set to -+ true. Also note that -+ this option is useful only when -+ MLS/MCS SELinux policy is -+ deployed. Defaults to -+ false. -+ -+ -+ -+ - PipeSize= - Takes an size in - bytes. Controls the pipe buffer size ---- src/core/execute.c -+++ src/core/execute.c 2014-09-24 09:22:08.882735864 +0000 -@@ -82,6 +82,7 @@ - #include "selinux-util.h" - #include "errno-list.h" - #include "apparmor-util.h" -+#include "label.h" - - #ifdef HAVE_SECCOMP - #include "seccomp-util.h" -@@ -1123,6 +1124,7 @@ int exec_spawn(ExecCommand *command, - bool apply_chroot, - bool apply_tty_stdin, - bool confirm_spawn, -+ bool selinux_context_net, - CGroupControllerMask cgroup_supported, - const char *cgroup_path, - const char *unit_id, -@@ -1594,11 +1596,29 @@ int exec_spawn(ExecCommand *command, - #endif - - #ifdef HAVE_SELINUX -- if (context->selinux_context && use_selinux()) { -- err = setexeccon(context->selinux_context); -- if (err < 0 && !context->selinux_context_ignore) { -- r = EXIT_SELINUX_CONTEXT; -- goto fail_child; -+ if (use_selinux()) { -+ if (context->selinux_context) { -+ err = setexeccon(context->selinux_context); -+ if (err < 0 && !context->selinux_context_ignore) { -+ r = EXIT_SELINUX_CONTEXT; -+ goto fail_child; -+ } -+ } -+ -+ if (selinux_context_net && socket_fd >= 0) { -+ _cleanup_free_ char *label = NULL; -+ -+ err = label_get_child_mls_label(socket_fd, command->path, &label); -+ if (err < 0) { -+ r = EXIT_SELINUX_CONTEXT; -+ goto fail_child; -+ } -+ -+ err = setexeccon(label); -+ if (err < 0) { -+ r = EXIT_SELINUX_CONTEXT; -+ goto fail_child; -+ } - } - } - #endif ---- src/core/execute.h -+++ src/core/execute.h 2014-09-23 15:46:26.000000000 +0000 -@@ -195,6 +195,7 @@ int exec_spawn(ExecCommand *command, - bool apply_chroot, - bool apply_tty_stdin, - bool confirm_spawn, -+ bool selinux_context_net, - CGroupControllerMask cgroup_mask, - const char *cgroup_path, - const char *unit_id, ---- src/core/load-fragment-gperf.gperf.m4 -+++ src/core/load-fragment-gperf.gperf.m4 2014-09-23 00:00:00.000000000 +0000 -@@ -242,6 +242,9 @@ Socket.SmackLabelIPOut, config_ - `Socket.SmackLabel, config_parse_warn_compat, 0, 0 - Socket.SmackLabelIPIn, config_parse_warn_compat, 0, 0 - Socket.SmackLabelIPOut, config_parse_warn_compat, 0, 0') -+m4_ifdef(`HAVE_SELINUX', -+`Socket.SELinuxContextFromNet, config_parse_bool, 0, offsetof(Socket, selinux_context_from_net)', -+`Socket.SELinuxContextFromNet, config_parse_warn_compat, 0, 0') - EXEC_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl - CGROUP_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl - KILL_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl ---- src/core/mount.c -+++ src/core/mount.c 2014-09-24 09:16:26.234235379 +0000 -@@ -785,6 +785,7 @@ static int mount_spawn(Mount *m, ExecCom - true, - true, - UNIT(m)->manager->confirm_spawn, -+ false, - UNIT(m)->manager->cgroup_supported, - UNIT(m)->cgroup_path, - UNIT(m)->id, ---- src/core/service.c -+++ src/core/service.c 2014-09-23 15:49:24.000000000 +0000 -@@ -1856,6 +1856,7 @@ static int service_spawn( - apply_chroot, - apply_tty_stdin, - UNIT(s)->manager->confirm_spawn, -+ s->socket_fd_selinux_context_net, - UNIT(s)->manager->cgroup_supported, - path, - UNIT(s)->id, -@@ -3787,7 +3788,7 @@ static void service_bus_name_owner_chang - } - } - --int service_set_socket_fd(Service *s, int fd, Socket *sock) { -+int service_set_socket_fd(Service *s, int fd, Socket *sock, bool selinux_context_net) { - _cleanup_free_ char *peer = NULL; - int r; - -@@ -3825,6 +3826,7 @@ int service_set_socket_fd(Service *s, in - } - - s->socket_fd = fd; -+ s->socket_fd_selinux_context_net = selinux_context_net; - - unit_ref_set(&s->accept_socket, UNIT(sock)); - ---- src/core/service.h -+++ src/core/service.h 2014-09-23 15:51:13.000000000 +0000 -@@ -159,6 +159,7 @@ struct Service { - pid_t main_pid, control_pid; - int socket_fd; - -+ bool socket_fd_selinux_context_net; - bool permissions_start_only; - bool root_directory_start_only; - bool remain_after_exit; -@@ -204,7 +205,7 @@ extern const UnitVTable service_vtable; - - struct Socket; - --int service_set_socket_fd(Service *s, int fd, struct Socket *socket); -+int service_set_socket_fd(Service *s, int fd, struct Socket *socket, bool selinux_context_net); - - const char* service_state_to_string(ServiceState i) _const_; - ServiceState service_state_from_string(const char *s) _pure_; ---- src/core/socket.c -+++ src/core/socket.c 2014-09-24 09:13:29.698735735 +0000 -@@ -453,7 +453,8 @@ static void socket_dump(Unit *u, FILE *f - "%sBroadcast: %s\n" - "%sPassCredentials: %s\n" - "%sPassSecurity: %s\n" -- "%sTCPCongestion: %s\n", -+ "%sTCPCongestion: %s\n" -+ "%sSELinuxContextFromNet: %s\n", - prefix, socket_state_to_string(s->state), - prefix, socket_result_to_string(s->result), - prefix, socket_address_bind_ipv6_only_to_string(s->bind_ipv6_only), -@@ -466,7 +467,8 @@ static void socket_dump(Unit *u, FILE *f - prefix, yes_no(s->broadcast), - prefix, yes_no(s->pass_cred), - prefix, yes_no(s->pass_sec), -- prefix, strna(s->tcp_congestion)); -+ prefix, strna(s->tcp_congestion), -+ prefix, yes_no(s->selinux_context_from_net)); - - if (s->control_pid > 0) - fprintf(f, -@@ -1000,7 +1002,12 @@ static int socket_open_fds(Socket *s) { - - if (p->type == SOCKET_SOCKET) { - -- if (!know_label) { -+ if (!know_label && s->selinux_context_from_net) { -+ r = label_get_our_label(&label); -+ if (r < 0) -+ return r; -+ know_label = true; -+ } else if (!know_label) { - - if ((r = socket_instantiate_service(s)) < 0) - return r; -@@ -1247,6 +1254,7 @@ static int socket_spawn(Socket *s, ExecC - true, - true, - UNIT(s)->manager->confirm_spawn, -+ s->selinux_context_from_net, - UNIT(s)->manager->cgroup_supported, - UNIT(s)->cgroup_path, - UNIT(s)->id, -@@ -1568,7 +1576,7 @@ static void socket_enter_running(Socket - - unit_choose_id(UNIT(service), name); - -- r = service_set_socket_fd(service, cfd, s); -+ r = service_set_socket_fd(service, cfd, s, s->selinux_context_from_net); - if (r < 0) - goto fail; - ---- src/core/socket.h -+++ src/core/socket.h 2014-09-23 15:55:17.000000000 +0000 -@@ -154,6 +154,8 @@ struct Socket { - char *smack; - char *smack_ip_in; - char *smack_ip_out; -+ -+ bool selinux_context_from_net; - }; - - /* Called from the service code when collecting fds */ ---- src/core/swap.c -+++ src/core/swap.c 2014-09-24 09:17:18.438735618 +0000 -@@ -642,6 +642,7 @@ static int swap_spawn(Swap *s, ExecComma - true, - true, - UNIT(s)->manager->confirm_spawn, -+ false, - UNIT(s)->manager->cgroup_supported, - UNIT(s)->cgroup_path, - UNIT(s)->id, ---- src/shared/label.c -+++ src/shared/label.c 2014-09-23 00:00:00.000000000 +0000 -@@ -31,6 +31,7 @@ - #ifdef HAVE_SELINUX - #include - #include -+#include - #endif - - #include "label.h" -@@ -41,6 +42,12 @@ - #include "smack-util.h" - - #ifdef HAVE_SELINUX -+DEFINE_TRIVIAL_CLEANUP_FUNC(security_context_t, freecon); -+DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); -+ -+#define _cleanup_security_context_free_ _cleanup_(freeconp) -+#define _cleanup_context_free_ _cleanup_(context_freep) -+ - static struct selabel_handle *label_hnd = NULL; - #endif - -@@ -243,6 +250,112 @@ fail: - return r; - } - -+int label_get_our_label(char **label) { -+ int r = -EOPNOTSUPP; -+ char *l = NULL; -+ -+#ifdef HAVE_SELINUX -+ r = getcon(&l); -+ if (r < 0) -+ return r; -+ -+ *label = l; -+#endif -+ -+ return r; -+} -+ -+int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { -+ int r = -EOPNOTSUPP; -+ -+#ifdef HAVE_SELINUX -+ -+ _cleanup_security_context_free_ security_context_t mycon = NULL, peercon = NULL, fcon = NULL, ret = NULL; -+ _cleanup_context_free_ context_t pcon = NULL, bcon = NULL; -+ security_class_t sclass; -+ -+ const char *range = NULL; -+ -+ assert(socket_fd >= 0); -+ assert(exe); -+ assert(label); -+ -+ r = getcon(&mycon); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ r = getpeercon(socket_fd, &peercon); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ r = getexeccon(&fcon); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ if (!fcon) { -+ /* If there is no context set for next exec let's use context -+ of target executable */ -+ r = getfilecon(exe, &fcon); -+ if (r < 0) { -+ r = -errno; -+ goto out; -+ } -+ } -+ -+ bcon = context_new(mycon); -+ if (!bcon) { -+ r = -ENOMEM; -+ goto out; -+ } -+ -+ pcon = context_new(peercon); -+ if (!pcon) { -+ r = -ENOMEM; -+ goto out; -+ } -+ -+ range = context_range_get(pcon); -+ if (!range) { -+ r = -errno; -+ goto out; -+ } -+ -+ r = context_range_set(bcon, range); -+ if (r) { -+ r = -errno; -+ goto out; -+ } -+ -+ freecon(mycon); -+ mycon = context_str(bcon); -+ if (!mycon) { -+ r = -errno; -+ goto out; -+ } -+ -+ sclass = string_to_security_class("process"); -+ r = security_compute_create(mycon, fcon, sclass, &ret); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ *label = ret; -+ r = 0; -+ -+out: -+ if (r < 0 && security_getenforce() == 1) -+ return r; -+#endif -+ return r; -+} -+ - int label_context_set(const char *path, mode_t mode) { - int r = 0; - ---- src/shared/label.h -+++ src/shared/label.h 2014-09-23 00:00:00.000000000 +0000 -@@ -40,6 +40,8 @@ void label_context_clear(void); - void label_free(const char *label); - - int label_get_create_label_from_exe(const char *exe, char **label); -+int label_get_our_label(char **label); -+int label_get_child_mls_label(int socket_fd, const char *exec, char **label); - - int label_mkdir(const char *path, mode_t mode); - diff --git a/0001-strv-add-an-additional-overflow-check-when-enlarging.patch b/0001-strv-add-an-additional-overflow-check-when-enlarging.patch deleted file mode 100644 index 3f953f4f..00000000 --- a/0001-strv-add-an-additional-overflow-check-when-enlarging.patch +++ /dev/null @@ -1,35 +0,0 @@ -Based on 97569e154b80541cbad39d78231b7f360d4ff058 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 21 Oct 2014 14:01:28 +0200 -Subject: [PATCH] strv: add an additional overflow check when enlarging - strv()s - -https://bugs.freedesktop.org/show_bug.cgi?id=76745 ---- - src/shared/strv.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- src/shared/strv.c -+++ src/shared/strv.c 2014-10-23 00:00:00.000000000 +0000 -@@ -361,13 +361,19 @@ char *strv_join_quoted(char **l) { - - int strv_push(char ***l, char *value) { - char **c; -- unsigned n; -+ unsigned n, m; - - if (!value) - return 0; - - n = strv_length(*l); -- c = realloc(*l, sizeof(char*) * (n + 2)); -+ -+ /* increase and check for overflow */ -+ m = n + 2; -+ if (m < n) -+ return -ENOMEM; -+ -+ c = realloc(*l, sizeof(char*) * (size_t) m); - if (!c) - return -ENOMEM; - diff --git a/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch b/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch deleted file mode 100644 index 917c8ec2..00000000 --- a/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 498cfc230af8f83675be2e92057956f1792969e4 Mon Sep 17 00:00:00 2001 -From: Sjoerd Simons -Date: Sat, 23 Aug 2014 21:11:44 +0200 -Subject: [PATCH] systemctl: Correct error message printed when - bus_process_wait fails - -Actually use the variable containing the return code of bus_process_wait when -printing the error message as a result of it failing. ---- - src/systemctl/systemctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index d9b8bee..6534819 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -2382,7 +2382,7 @@ static int wait_for_jobs(sd_bus *bus, Set *s) { - while (!set_isempty(s)) { - q = bus_process_wait(bus); - if (q < 0) { -- log_error("Failed to wait for response: %s", strerror(-r)); -+ log_error("Failed to wait for response: %s", strerror(-q)); - return q; - } - --- -1.7.9.2 - diff --git a/0001-systemctl-allow-to-change-the-default-target-without.patch b/0001-systemctl-allow-to-change-the-default-target-without.patch deleted file mode 100644 index 8e78fe01..00000000 --- a/0001-systemctl-allow-to-change-the-default-target-without.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a1484a216e79da1fa7e2323095fb1b7203fb7a17 Mon Sep 17 00:00:00 2001 -From: Djalal Harouni -Date: Mon, 14 Apr 2014 01:07:52 +0100 -Subject: [PATCH] systemctl: allow to change the default target without the - --force switch - -Currently "systemctl set-default" will fail to change the default target -due to the 'default.target' being a symlink which is always the case. - -To work around this, the user must specify the "--force" switch to be -able to overwrite the existing symlink. - -This is clearly a regression that was introduced by commit 718db96199e -since it worked before without the "--force" switch and the man pages do -not mention that you need to specify it. It is expected that this is a -symlink. - -So just explicity set the force flag to make it work again. - -https://bugs.freedesktop.org/show_bug.cgi?id=76623 - -Reported-by: ---- - src/systemctl/systemctl.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index ee0938f..1b381f7 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -1968,7 +1968,7 @@ static int set_default(sd_bus *bus, char **args) { - return log_oom(); - - if (!bus || avoid_bus()) { -- r = unit_file_set_default(arg_scope, arg_root, unit, arg_force, &changes, &n_changes); -+ r = unit_file_set_default(arg_scope, arg_root, unit, true, &changes, &n_changes); - if (r < 0) { - log_error("Failed to set default target: %s", strerror(-r)); - return r; -@@ -1990,7 +1990,7 @@ static int set_default(sd_bus *bus, char **args) { - "SetDefaultTarget", - &error, - &reply, -- "sb", unit, arg_force); -+ "sb", unit, true); - if (r < 0) { - log_error("Failed to set default target: %s", bus_error_message(&error, -r)); - return r; --- -1.7.9.2 - diff --git a/0001-systemctl-let-list-units-unit-files-honour-type.patch b/0001-systemctl-let-list-units-unit-files-honour-type.patch deleted file mode 100644 index 1548d84f..00000000 --- a/0001-systemctl-let-list-units-unit-files-honour-type.patch +++ /dev/null @@ -1,94 +0,0 @@ -Based on 6c71341aeecc3d092ed90f66e1b2c481b8e260ff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 29 Oct 2014 22:46:30 -0400 -Subject: [PATCH] systemctl: let list-{units,unit-files } honour --type - -The docs don't clarify what is expected, but I don't see any reason -why --type should be ignored. - -Also restucture the compund conditions into separate clauses for -easier reading. ---- - src/systemctl/systemctl.c | 48 ++++++++++++++++++++++++++++++++++----------- - 1 file changed, 37 insertions(+), 11 deletions(-) - ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-11-18 00:00:00.000000000 +0000 -@@ -305,21 +305,37 @@ static int compare_unit_info(const void - } - - static bool output_show_unit(const UnitInfo *u, char **patterns) { -- const char *dot; -- - if (!strv_isempty(patterns)) { - char **pattern; - - STRV_FOREACH(pattern, patterns) - if (fnmatch(*pattern, u->id, FNM_NOESCAPE) == 0) -- return true; -+ goto next; - return false; - } - -- return (!arg_types || ((dot = strrchr(u->id, '.')) && -- strv_find(arg_types, dot+1))) && -- (arg_all || !(streq(u->active_state, "inactive") -- || u->following[0]) || u->job_id > 0); -+next: -+ if (arg_types) { -+ const char *dot; -+ -+ dot = strrchr(u->id, '.'); -+ if (!dot) -+ return false; -+ -+ if (!strv_find(arg_types, dot+1)) -+ return false; -+ } -+ -+ if (arg_all) -+ return true; -+ -+ if (u->job_id > 0) -+ return true; -+ -+ if (streq(u->active_state, "inactive") || u->following[0]) -+ return false; -+ -+ return true; - } - - static void output_units_list(const UnitInfo *unit_infos, unsigned c) { -@@ -1019,18 +1035,28 @@ static int compare_unit_file_list(const - } - - static bool output_show_unit_file(const UnitFileList *u, char **patterns) { -- const char *dot; -- - if (!strv_isempty(patterns)) { - char **pattern; - - STRV_FOREACH(pattern, patterns) - if (fnmatch(*pattern, basename(u->path), FNM_NOESCAPE) == 0) -- return true; -+ goto next; - return false; - } - -- return !arg_types || ((dot = strrchr(u->path, '.')) && strv_find(arg_types, dot+1)); -+next: -+ if (!strv_isempty(arg_types)) { -+ const char *dot; -+ -+ dot = strrchr(u->path, '.'); -+ if (!dot) -+ return false; -+ -+ if (!strv_find(arg_types, dot+1)) -+ return false; -+ } -+ -+ return true; - } - - static void output_unit_file_list(const UnitFileList *units, unsigned c) { diff --git a/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch b/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch deleted file mode 100644 index 544be067..00000000 --- a/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 08073121d8171f8e6be27b0c80e2ec283064760e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 13 Oct 2014 15:43:09 +0200 -Subject: [PATCH] systemctl: when mangle unit names for the "isolate", suffix - with ".target" rather than ".service" by default - -After all, we set AllowIsolate exclusively for target units so far, and -this is more or less the only thing tht makes sense, hence also use -".target" as completion suffix by default. ---- - src/systemctl/systemctl.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 842ca6c..af3cc97 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -2704,7 +2704,7 @@ static enum action verb_to_action(const char *verb) { - static int start_unit(sd_bus *bus, char **args) { - _cleanup_set_free_free_ Set *s = NULL; - _cleanup_strv_free_ char **names = NULL; -- const char *method, *mode, *one_name; -+ const char *method, *mode, *one_name, *suffix = NULL; - char **name; - int r = 0; - -@@ -2717,8 +2717,11 @@ static int start_unit(sd_bus *bus, char **args) { - method = verb_to_method(args[0]); - action = verb_to_action(args[0]); - -- mode = streq(args[0], "isolate") ? "isolate" : -- action_table[action].mode ?: arg_job_mode; -+ if (streq(args[0], "isolate")) { -+ mode = "isolate"; -+ suffix = ".target"; -+ } else -+ mode = action_table[action].mode ?: arg_job_mode; - - one_name = action_table[action].target; - } else { -@@ -2734,7 +2737,7 @@ static int start_unit(sd_bus *bus, char **args) { - if (one_name) - names = strv_new(one_name, NULL); - else { -- r = expand_names(bus, args + 1, NULL, &names); -+ r = expand_names(bus, args + 1, suffix, &names); - if (r < 0) - log_error("Failed to expand names: %s", strerror(-r)); - } --- -1.7.9.2 - diff --git a/0001-systemd-continue-switch-root-even-if-umount-fails.patch b/0001-systemd-continue-switch-root-even-if-umount-fails.patch deleted file mode 100644 index e8b3ee9f..00000000 --- a/0001-systemd-continue-switch-root-even-if-umount-fails.patch +++ /dev/null @@ -1,50 +0,0 @@ -Based on d677d4df80e0ea1c66c691f50867fedd63c6770a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 16 Oct 2014 19:12:55 -0500 -Subject: [PATCH] systemd: continue switch-root even if umount fails - -Leaving the old root around seems better than aborting the -switch. ---- - src/core/main.c | 2 +- - src/core/switch-root.c | 11 +++++------ - 2 files changed, 6 insertions(+), 7 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-10-20 13:35:35.915837828 +0000 -@@ -1848,7 +1848,7 @@ finish: - /* And switch root */ - r = switch_root(switch_root_dir); - if (r < 0) -- log_error("Failed to switch root, ignoring: %s", strerror(-r)); -+ log_error("Failed to switch root, trying to continue: %s", strerror(-r)); - } - - args_size = MAX(6, argc+1); ---- src/core/switch-root.c -+++ src/core/switch-root.c 2014-10-20 13:39:58.167121460 +0000 -@@ -68,10 +68,9 @@ int switch_root(const char *new_root) { - goto fail; - } - -- /* Work-around for a kernel bug: for some reason the kernel -- * refuses switching root if any file systems are mounted -- * MS_SHARED. Hence remount them MS_PRIVATE here as a -- * work-around. -+ /* Work-around for kernel design: the kernel refuses switching -+ * root if any file systems are mounted MS_SHARED. Hence -+ * remount them MS_PRIVATE here as a work-around. - * - * https://bugzilla.redhat.com/show_bug.cgi?id=847418 */ - if (mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) < 0) -@@ -124,8 +123,8 @@ int switch_root(const char *new_root) { - * running off it we need to do this lazily. */ - if (umount2("/mnt", MNT_DETACH) < 0) { - r = -errno; -- log_error("Failed to umount old root dir /mnt: %m"); -- goto fail; -+ log_error("Failed to lazily umount old root dir /mnt, %s: %m", -+ errno == ENOENT ? "ignoring" : "leaving it around"); - } - - } else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { diff --git a/0001-systemd-detect-virt-detect-s390-virtualization.patch b/0001-systemd-detect-virt-detect-s390-virtualization.patch deleted file mode 100644 index 300258fb..00000000 --- a/0001-systemd-detect-virt-detect-s390-virtualization.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f41925b4e442a34c93ad120ef1426c974a047ed1 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Fri, 18 Jul 2014 09:13:36 -0400 -Subject: [PATCH] systemd-detect-virt: detect s390 virtualization - -A system that is running on a logical partition (LPAR) provided by -PR/SM has access to physical hardware (except CPU). It is true that -PR/SM abstracts the hardware, but only for sharing purposes. - -Details are statet at: - -http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/eicaz/eicazzlpar.htm - --->-- -In other words, PR/SM transforms physical resources into virtual resources so -that many logical partitions can share the same physical resources. ---<-- - -Still, from the OS point of view, the shared virtual resource is real -hardware. ConditionVirtualization must be set to false if the OS runs -directly on PR/SM (e.g. in an LPAR). - -[zj: reorder code so that variables are not allocated when #if-def is -false. Add commit message.] ---- - man/systemd.unit.xml | 1 + - src/shared/virt.c | 17 +++++++++++++++++ - 2 files changed, 18 insertions(+) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 6447584..86a8cbb 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -996,6 +996,7 @@ - virtualization solution, or one of - qemu, - kvm, -+ zvm, - vmware, - microsoft, - oracle, -diff --git src/shared/virt.c src/shared/virt.c -index 20a8d7c..b436895 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -220,6 +220,23 @@ int detect_vm(const char **id) { - goto finish; - } - -+#if defined(__s390__) -+ { -+ _cleanup_free_ char *t = NULL; -+ -+ r = get_status_field("/proc/sysinfo", "VM00 Control Program:", &t); -+ if (r >= 0) { -+ if (streq(t, "z/VM")) -+ _id = "zvm"; -+ else -+ _id = "kvm"; -+ r = 1; -+ -+ goto finish; -+ } -+ } -+#endif -+ - r = 0; - - finish: --- -1.7.9.2 - diff --git a/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch b/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch deleted file mode 100644 index 9f1a8dcb..00000000 --- a/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 9ed2a35e93f4a9e82585f860f54cdcbbdf3e1f86 Mon Sep 17 00:00:00 2001 -From: Richard Weinberger -Date: Tue, 9 Sep 2014 11:09:37 +0200 -Subject: [PATCH] systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling - -If one has a config like: -d /tmp 1777 root root - -X /tmp/important_mount - -All files below /tmp/important_mount will be deleted as the -/tmp/important_mount item will spuriously inherit a max age of 0 -from /tmp. -/tmp has a max age of 0 but age_set is (of course) false. - -This affects also the PrivateTmp feature of systemd. -All tmp files of such services will be deleted unconditionally -and can cause service failures and data loss. - -Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic. ---- - src/tmpfiles/tmpfiles.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index f9830c4..7eafd6b 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -1576,7 +1576,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) { - candidate_item = j; - } - -- if (candidate_item) { -+ if (candidate_item && candidate_item->age_set) { - i->age = candidate_item->age; - i->age_set = true; - } --- -1.7.9.2 - diff --git a/0001-sysv-order-initscripts-which-provide-network-before-.patch b/0001-sysv-order-initscripts-which-provide-network-before-.patch deleted file mode 100644 index 944b9158..00000000 --- a/0001-sysv-order-initscripts-which-provide-network-before-.patch +++ /dev/null @@ -1,34 +0,0 @@ -Based on 805b573fad06b845502e76f3db3a0efa7583149d Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 23 Jul 2014 12:49:14 +0200 -Subject: [PATCH] sysv: order initscripts which provide $network before - network.target - -Due to recent changes where $network "maps" to network-online.target -it is not guaranteed that initscript which provides networking will -be terminated after network.target during shutdown which is against LSB. ---- - src/core/service.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/core/service.c -+++ src/core/service.c 2014-07-30 11:27:16.074235995 +0000 -@@ -820,7 +820,7 @@ static int service_load_sysv_path(Servic - - if (unit_name_to_type(m) == UNIT_SERVICE) - r = unit_merge_by_name(u, m); -- else -+ else { - /* NB: SysV targets - * which are provided - * by a service are -@@ -835,6 +835,9 @@ static int service_load_sysv_path(Servic - * in the SysV - * services! */ - r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, UNIT_WANTS, m, NULL, true); -+ if (r >= 0 && streq(m, SPECIAL_NETWORK_ONLINE_TARGET)) -+ r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_NETWORK_TARGET, NULL, true); -+ } - - if (r < 0) - log_error_unit(u->id, diff --git a/0001-tmpfiles-compare-return-against-correct-errno.patch b/0001-tmpfiles-compare-return-against-correct-errno.patch deleted file mode 100644 index 10c2e214..00000000 --- a/0001-tmpfiles-compare-return-against-correct-errno.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e7aab5412829ed6b50d109f670bd0b1b365838a7 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sat, 11 Oct 2014 20:35:06 -0400 -Subject: [PATCH] tmpfiles: compare return against correct errno - -name_to_handle_at returns -EOPNOTSUPP, not -ENOTSUP. ---- - src/tmpfiles/tmpfiles.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index dafb9ae..8108b43 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -259,7 +259,7 @@ static int dir_is_mount_point(DIR *d, const char *subdir) { - - /* got only one handle; assume different mount points if one - * of both queries was not supported by the filesystem */ -- if (r_p == -ENOSYS || r_p == -ENOTSUP || r == -ENOSYS || r == -ENOTSUP) -+ if (r_p == -ENOSYS || r_p == -EOPNOTSUPP || r == -ENOSYS || r == -EOPNOTSUPP) - return true; - - /* return error */ --- -1.7.9.2 - diff --git a/0001-tmpfiles-fix-permissions-on-new-journal-files.patch b/0001-tmpfiles-fix-permissions-on-new-journal-files.patch deleted file mode 100644 index de54a2e5..00000000 --- a/0001-tmpfiles-fix-permissions-on-new-journal-files.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a606871da508995f5ede113a8fc6538afd98966c Mon Sep 17 00:00:00 2001 -From: Greg KH -Date: Tue, 15 Apr 2014 14:12:01 -0700 -Subject: [PATCH] tmpfiles: fix permissions on new journal files - -When starting up journald on a new system, set the proper permissions on -the system.journal files, not only on the journal directory. ---- - tmpfiles.d/systemd.conf | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git tmpfiles.d/systemd.conf tmpfiles.d/systemd.conf -index 7c6d6b9..c470045 100644 ---- tmpfiles.d/systemd.conf -+++ tmpfiles.d/systemd.conf -@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root - - d /run/systemd/shutdown 0755 root root - - - m /var/log/journal 2755 root systemd-journal - - --m /var/log/journal/%m 2755 root systemd-journal - - -+Z /var/log/journal/%m 2755 root systemd-journal - - - m /run/log/journal 2755 root systemd-journal - - --m /run/log/journal/%m 2755 root systemd-journal - - -+Z /run/log/journal/%m 2755 root systemd-journal - - --- -1.7.9.2 - diff --git a/0001-umount-modernizations.patch b/0001-umount-modernizations.patch deleted file mode 100644 index 1397d155..00000000 --- a/0001-umount-modernizations.patch +++ /dev/null @@ -1,119 +0,0 @@ -From c3544e8d2c2d870a2aff0944aff4ab7824b9ae6b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 21:35:15 +0200 -Subject: [PATCH] umount: modernizations - ---- - src/core/umount.c | 65 ++++++++++++++++++++++------------------------------- - 1 file changed, 27 insertions(+), 38 deletions(-) - -diff --git src/core/umount.c src/core/umount.c -index d1258f0..a30f674 100644 ---- src/core/umount.c -+++ src/core/umount.c -@@ -61,52 +61,46 @@ static void mount_points_list_free(MountPoint **head) { - } - - static int mount_points_list_get(MountPoint **head) { -- FILE *proc_self_mountinfo; -- char *path, *p; -+ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; - unsigned int i; -- int r; - - assert(head); - -- if (!(proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"))) -+ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); -+ if (!proc_self_mountinfo) - return -errno; - - for (i = 1;; i++) { -- int k; -+ _cleanup_free_ char *path = NULL; -+ char *p = NULL; - MountPoint *m; -+ int k; - -- path = p = NULL; -- -- if ((k = fscanf(proc_self_mountinfo, -- "%*s " /* (1) mount id */ -- "%*s " /* (2) parent id */ -- "%*s " /* (3) major:minor */ -- "%*s " /* (4) root */ -- "%ms " /* (5) mount point */ -- "%*s" /* (6) mount options */ -- "%*[^-]" /* (7) optional fields */ -- "- " /* (8) separator */ -- "%*s " /* (9) file system type */ -- "%*s" /* (10) mount source */ -- "%*s" /* (11) mount options 2 */ -- "%*[^\n]", /* some rubbish at the end */ -- &path)) != 1) { -+ k = fscanf(proc_self_mountinfo, -+ "%*s " /* (1) mount id */ -+ "%*s " /* (2) parent id */ -+ "%*s " /* (3) major:minor */ -+ "%*s " /* (4) root */ -+ "%ms " /* (5) mount point */ -+ "%*s" /* (6) mount options */ -+ "%*[^-]" /* (7) optional fields */ -+ "- " /* (8) separator */ -+ "%*s " /* (9) file system type */ -+ "%*s" /* (10) mount source */ -+ "%*s" /* (11) mount options 2 */ -+ "%*[^\n]", /* some rubbish at the end */ -+ &path); -+ if (k != 1) { - if (k == EOF) - break; - - log_warning("Failed to parse /proc/self/mountinfo:%u.", i); -- -- free(path); - continue; - } - - p = cunescape(path); -- free(path); -- -- if (!p) { -- r = -ENOMEM; -- goto finish; -- } -+ if (!p) -+ return -ENOMEM; - - /* Ignore mount points we can't unmount because they - * are API or because we are keeping them open (like -@@ -118,22 +112,17 @@ static int mount_points_list_get(MountPoint **head) { - continue; - } - -- if (!(m = new0(MountPoint, 1))) { -+ m = new0(MountPoint, 1); -+ if (!m) { - free(p); -- r = -ENOMEM; -- goto finish; -+ return -ENOMEM; - } - - m->path = p; - LIST_PREPEND(mount_point, *head, m); - } - -- r = 0; -- --finish: -- fclose(proc_self_mountinfo); -- -- return r; -+ return 0; - } - - static int swap_list_get(MountPoint **head) { --- -1.7.9.2 - diff --git a/0001-units-introduce-network-pre.target-as-place-to-hook-.patch b/0001-units-introduce-network-pre.target-as-place-to-hook-.patch deleted file mode 100644 index ffbc0569..00000000 --- a/0001-units-introduce-network-pre.target-as-place-to-hook-.patch +++ /dev/null @@ -1,126 +0,0 @@ -From a4a878d04045b46fa9783664e3643a890b356790 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 11 Jun 2014 11:33:02 +0200 -Subject: [PATCH] units: introduce network-pre.target as place to hook in - firewalls - -network-pre.target is a passive target that should be pulled in by -services that want to be executed before any network is configured (for -example: firewall scrips). - -network-pre.target should be ordered before all network managemet -services (but not be pulled in by them). - -network-pre.target should be order after all services that want to be -executed before any network is configured (and be pulled in by them). ---- - Makefile.am | 1 + - man/systemd.special.xml | 15 +++++++++++++++ - units/local-fs.target | 2 -- - units/network-pre.target | 12 ++++++++++++ - units/network.target | 2 ++ - units/systemd-networkd.service.in | 2 +- - 6 files changed, 31 insertions(+), 3 deletions(-) - create mode 100644 units/network-pre.target - -diff --git Makefile.am Makefile.am -index 3ea95e9..8514ec9 100644 ---- Makefile.am -+++ Makefile.am -@@ -413,6 +413,7 @@ dist_systemunit_DATA = \ - units/remote-fs.target \ - units/remote-fs-pre.target \ - units/network.target \ -+ units/network-pre.target \ - units/network-online.target \ - units/nss-lookup.target \ - units/nss-user-lookup.target \ -diff --git man/systemd.special.xml man/systemd.special.xml -index 38b94a7..cda6edd 100644 ---- man/systemd.special.xml -+++ man/systemd.special.xml -@@ -72,6 +72,7 @@ - multi-user.target, - network.target, - network-online.target, -+ network-pre.target, - nss-lookup.target, - nss-user-lookup.target, - paths.target, -@@ -891,6 +892,20 @@ - - - -+ network-pre.target -+ -+ This passive target unit -+ may be pulled in by services -+ that want to run before any -+ network is set up, for example -+ for the purpose of setting up a -+ firewall. All network -+ management software orders -+ itself after this target, but -+ does not pull it in. -+ -+ -+ - nss-lookup.target - - A target that should be -diff --git units/local-fs.target units/local-fs.target -index ae3cedc..70cb13f 100644 ---- units/local-fs.target -+++ units/local-fs.target -@@ -9,7 +9,5 @@ - Description=Local File Systems - Documentation=man:systemd.special(7) - After=local-fs-pre.target --DefaultDependencies=no --Conflicts=shutdown.target - OnFailure=emergency.target - OnFailureJobMode=replace-irreversibly -diff --git units/network-pre.target units/network-pre.target -new file mode 100644 -index 0000000..0ea4bc7 ---- /dev/null -+++ units/network-pre.target -@@ -0,0 +1,12 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Network (Pre) -+Documentation=man:systemd.special(7) -+Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget -+RefuseManualStart=yes -diff --git units/network.target units/network.target -index 65fc64b..61ebdca 100644 ---- units/network.target -+++ units/network.target -@@ -9,3 +9,5 @@ - Description=Network - Documentation=man:systemd.special(7) - Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget -+After=network-pre.target -+RefuseManualStart=yes -diff --git units/systemd-networkd.service.in units/systemd-networkd.service.in -index 373ac4e..48f4d63 100644 ---- units/systemd-networkd.service.in -+++ units/systemd-networkd.service.in -@@ -9,7 +9,7 @@ - Description=Network Service - Documentation=man:systemd-networkd.service(8) - DefaultDependencies=no --After=dbus.service -+After=dbus.service network-pre.target - Before=network.target - Wants=network.target - ConditionCapability=CAP_NET_ADMIN --- -1.7.9.2 - diff --git a/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch b/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch deleted file mode 100644 index bb9010bd..00000000 --- a/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch +++ /dev/null @@ -1,46 +0,0 @@ -Based on d3381512282f2ca1c7669f77fb736a90fdce6982 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 8 Jul 2014 17:42:23 +0200 -Subject: [PATCH] units: make ExecStopPost action part of ExecStart - -Currently after exiting rescue shell we isolate default target. User -might want to isolate to some other target than default one. However -issuing systemctl isolate command to desired target would bring system -to default target as a consequence of running ExecStopPost action. - -Having common ancestor for rescue shell and possible followup systemctl -default command should fix this. If user exits rescue shell we will -proceed with isolating default target, otherwise, on manual isolate, -parent shell process is terminated and we don't isolate default target, -but target chosen by user. - -Suggested-by: Michal Schmidt ---- - units/emergency.service.in | 3 +-- - units/rescue.service.m4.in | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - ---- units/emergency.service.in -+++ units/emergency.service.in 2014-07-10 13:31:50.662235825 +0000 -@@ -18,8 +18,7 @@ WorkingDirectory=/root - ExecStartPre=-/usr/bin/plymouth quit - ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' --ExecStart=-/usr/sbin/sulogin --ExecStopPost=@SYSTEMCTL@ --fail --no-block default -+ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" - Type=idle - StandardInput=tty-force - StandardOutput=inherit ---- units/rescue.service.m4.in -+++ units/rescue.service.m4.in 2014-07-10 13:32:15.678235509 +0000 -@@ -19,8 +19,7 @@ WorkingDirectory=/root - ExecStartPre=-/usr/bin/plymouth quit - ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' --ExecStart=-/usr/sbin/sulogin --ExecStopPost=-@SYSTEMCTL@ --fail --no-block default -+ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" - Type=idle - StandardInput=tty-force - StandardOutput=inherit diff --git a/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch b/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch deleted file mode 100644 index 052eeca6..00000000 --- a/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch +++ /dev/null @@ -1,32 +0,0 @@ -Based on 812bd1e6ab4c463507557f2bdbb8875fedd92ade Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 21 Nov 2014 01:20:57 +0100 -Subject: [PATCH] units: make sure rfkill service is bount to the actual - hardware - ---- - rules/99-systemd.rules.in | 2 +- - units/systemd-rfkill@.service.in | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in -@@ -62,7 +62,7 @@ SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="pa - - # Pull in rfkill save/restore for all rfkill devices - --SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" -+SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/rfkill/devices/%k", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" - - # Asynchronously mount file systems implemented by these modules as - # soon as they are loaded. ---- units/systemd-rfkill@.service.in -+++ units/systemd-rfkill@.service.in 2014-12-05 11:52:59.433518948 +0000 -@@ -9,6 +9,7 @@ - Description=Load/Save RF Kill Switch Status of %I - Documentation=man:systemd-rfkill@.service(8) - DefaultDependencies=no -+BindsTo=sys-subsystem-rfkill-devices-%i.device - RequiresMountsFor=/var/lib/systemd/rfkill - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service diff --git a/0001-units-order-network-online.target-after-network.targ.patch b/0001-units-order-network-online.target-after-network.targ.patch deleted file mode 100644 index d09fa29e..00000000 --- a/0001-units-order-network-online.target-after-network.targ.patch +++ /dev/null @@ -1,20 +0,0 @@ -Based on 58e027023b47b32e42cf93dd4a629b869ee1ef25 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 11 Jun 2014 14:58:32 +0200 -Subject: [PATCH] units: order network-online.target after network.target - -There might be implementations around where the network-online logic -might not talk to any network configuration service (and thus not have -to wait for it), hence let's explicitly order network-online.target -after network.target to avoid any ambiguities. ---- - units/network-online.target | 1 + - 1 file changed, 1 insertion(+) - ---- units/network-online.target -+++ units/network-online.target 2014-06-26 00:00:00.000000000 +0000 -@@ -9,3 +9,4 @@ - Description=Network is Online - Documentation=man:systemd.special(7) - Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget -+After=network.target diff --git a/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch b/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch deleted file mode 100644 index 6c60f8b7..00000000 --- a/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 0b73eab7a2185ae0377650e3fdb8208347a8a575 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Sat, 23 Mar 2013 03:54:16 +0100 -Subject: [PATCH] units/systemd-sysctl.service.in: run after load-modules - -Modules might or will register new sysctl options. - -[zj: This mechanism of adding modules just to reliably set sysctl -attributes is not ideal. Nevertheless, sysctl for dynamically created -attributes is simply broken, and this is the easiest workaround.] - -https://bugzilla.redhat.com/show_bug.cgi?id=1022977 -https://bugzilla.novell.com/show_bug.cgi?id=725412 ---- - units/systemd-sysctl.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git units/systemd-sysctl.service.in units/systemd-sysctl.service.in -index 5c7c5d7..ade9dc3 100644 ---- units/systemd-sysctl.service.in -+++ units/systemd-sysctl.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service - DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service -+After=systemd-modules-load.service - Before=sysinit.target shutdown.target - ConditionPathIsReadWrite=/proc/sys/ - ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch b/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch deleted file mode 100644 index 8aa6da5f..00000000 --- a/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8c94052ee543c3598a3c7b0c46688150aa2c6168 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 27 Oct 2014 17:15:42 +0100 -Subject: [PATCH 1/2] units: tmpfiles-setup-dev - allow unsafe file creation to - happen in /dev at boot - -This will allow us to mark static device nodes with '!' to indicate that they should only be created at early boot. ---- - units/systemd-tmpfiles-setup-dev.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/systemd-tmpfiles-setup-dev.service.in b/units/systemd-tmpfiles-setup-dev.service.in -index f3833fd..0123a03 100644 ---- a/units/systemd-tmpfiles-setup-dev.service.in -+++ b/units/systemd-tmpfiles-setup-dev.service.in -@@ -17,4 +17,4 @@ ConditionCapability=CAP_SYS_MODULE - [Service] - Type=oneshot - RemainAfterExit=yes --ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create -+ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --boot --- -2.1.2 - diff --git a/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch b/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch deleted file mode 100644 index 9a6c97a5..00000000 --- a/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 3a8a916338d8446b938f3cf40f6aae0c611892e3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 11:47:10 +0200 -Subject: [PATCH] util: consider 0x7F a control chracter (which it is: DEL) - -Let's better be safe than sorry. ---- - src/shared/util.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git src/shared/util.c src/shared/util.c -index 3d875c7..d25ee66 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1608,8 +1608,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - return -ETIMEDOUT; - } - -+ errno = 0; - if (!fgets(line, sizeof(line), f)) -- return -EIO; -+ return errno ? -errno : -EIO; - - truncate_nl(line); - -@@ -5355,6 +5356,9 @@ bool string_is_safe(const char *p) { - if (*t > 0 && *t < ' ') - return false; - -+ if (*t == 127) -+ return false; -+ - if (strchr("\\\"\'", *t)) - return false; - } -@@ -5371,10 +5375,14 @@ bool string_has_cc(const char *p) { - - assert(p); - -- for (t = p; *t; t++) -+ for (t = p; *t; t++) { - if (*t > 0 && *t < ' ' && *t != '\t') - return true; - -+ if (*t == 127) -+ return true; -+ } -+ - return false; - } - --- -1.7.9.2 - diff --git a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch deleted file mode 100644 index bf379908..00000000 --- a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +++ /dev/null @@ -1,56 +0,0 @@ -From ff452e76e2c0f89a32542b7179bb2fd538335933 Mon Sep 17 00:00:00 2001 -From: Carl Schaefer -Date: Mon, 23 Jun 2014 18:23:48 +0200 -Subject: [PATCH] vconsole: also copy character maps (not just fonts) from vt1 - to vt2, vt3, ... - -https://bugs.freedesktop.org/show_bug.cgi?id=78796 ---- - src/vconsole/vconsole-setup.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git src/vconsole/vconsole-setup.c src/vconsole/vconsole-setup.c -index 0f2b706..e0c4050 100644 ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c -@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch - */ - static void font_copy_to_all_vcs(int fd) { - struct vt_stat vcs = {}; -+ unsigned char map8[E_TABSZ]; -+ unsigned short map16[E_TABSZ]; -+ struct unimapdesc unimapd; -+ struct unipair unipairs[USHRT_MAX]; - int i, r; - - /* get active, and 16 bit mask of used VT numbers */ -@@ -209,6 +213,26 @@ static void font_copy_to_all_vcs(int fd) { - cfo.op = KD_FONT_OP_COPY; - cfo.height = vcs.v_active-1; /* tty1 == index 0 */ - ioctl(vcfd, KDFONTOP, &cfo); -+ -+ /* copy map of 8bit chars */ -+ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) -+ ioctl(vcfd, PIO_SCRNMAP, map8); -+ -+ /* copy map of 8bit chars -> 16bit Unicode values */ -+ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) -+ ioctl(vcfd, PIO_UNISCRNMAP, map16); -+ -+ /* copy unicode translation table */ -+ /* unimapd is a ushort count and a pointer to an -+ array of struct unipair { ushort, ushort } */ -+ unimapd.entries = unipairs; -+ unimapd.entry_ct = USHRT_MAX; -+ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { -+ struct unimapinit adv = { 0, 0, 0 }; -+ -+ ioctl(vcfd, PIO_UNIMAPCLR, &adv); -+ ioctl(vcfd, PIO_UNIMAP, &unimapd); -+ } - } - } - --- -1.7.9.2 - diff --git a/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch b/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch deleted file mode 100644 index a5358cc9..00000000 --- a/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 893e72da6b27c21b102e1589276e651e9e4f591c Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 9 Sep 2014 18:14:25 +0200 -Subject: [PATCH] virt: detect that we are running inside the docker container - ---- - src/shared/virt.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git src/shared/virt.c src/shared/virt.c -index b436895..f9c4e67 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -310,6 +310,8 @@ int detect_container(const char **id) { - _id = "lxc-libvirt"; - else if (streq(e, "systemd-nspawn")) - _id = "systemd-nspawn"; -+ else if (streq(e, "docker")) -+ _id = "docker"; - else - _id = "other"; - --- -1.7.9.2 - diff --git a/0001-virt-rework-container-detection-logic.patch b/0001-virt-rework-container-detection-logic.patch deleted file mode 100644 index 4adc20a2..00000000 --- a/0001-virt-rework-container-detection-logic.patch +++ /dev/null @@ -1,159 +0,0 @@ -Based on fdd25311706bd32580ec4d43211cdf4665d2f9de Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 28 May 2014 18:37:11 +0800 -Subject: [PATCH] virt: rework container detection logic - -Instead of accessing /proc/1/environ directly, trying to read the -$container variable from it, let's make PID 1 save the contents of that -variable to /run/systemd/container. This allows us to detect containers -without the need for CAP_SYS_PTRACE, which allows us to drop it from a -number of daemons and from the file capabilities of systemd-detect-virt. - -Also, don't consider chroot a container technology anymore. After all, -we don't consider file system namespaces container technology anymore, -and hence chroot() should be considered a container even less. ---- - Makefile.am | 3 --- - configure.ac | 2 -- - src/core/main.c | 12 ++++++++++++ - src/shared/virt.c | 48 ++++++++++++++++++++++++++++++------------------ - 4 files changed, 42 insertions(+), 23 deletions(-) - -diff --git Makefile.am Makefile.am -index 5b26bc3..f66ef42 100644 ---- Makefile.am -+++ Makefile.am -@@ -1798,9 +1798,6 @@ systemd_detect_virt_SOURCES = \ - systemd_detect_virt_LDADD = \ - libsystemd-shared.la - --systemd-detect-virt-install-hook: -- -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt -- - INSTALL_EXEC_HOOKS += \ - systemd-detect-virt-install-hook - ---- configure.ac -+++ configure.ac 2014-06-03 14:16:45.046237826 +0000 -@@ -68,8 +68,6 @@ AC_PATH_PROG([XSLTPROC], [xsltproc]) - AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon]) - AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck]) - --AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap]) -- - AC_PATH_PROG([KILL], [kill], [/usr/bin/kill]) - - AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod]) -diff --git src/core/main.c src/core/main.c -index 77cc2fb..d5d1ee2 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1261,6 +1261,16 @@ static int status_welcome(void) { - isempty(pretty_name) ? "Linux" : pretty_name); - } - -+static int write_container_id(void) { -+ const char *c; -+ -+ c = getenv("container"); -+ if (isempty(c)) -+ return 0; -+ -+ return write_string_file("/run/systemd/container", c); -+} -+ - int main(int argc, char *argv[]) { - Manager *m = NULL; - int r, retval = EXIT_FAILURE; -@@ -1544,6 +1554,8 @@ int main(int argc, char *argv[]) { - if (virtualization) - log_info("Detected virtualization '%s'.", virtualization); - -+ write_container_id(); -+ - log_info("Detected architecture '%s'.", architecture_to_string(uname_architecture())); - - if (in_initrd()) -diff --git src/shared/virt.c src/shared/virt.c -index 0db0514..1e227c5 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -217,8 +217,8 @@ int detect_container(const char **id) { - static thread_local int cached_found = -1; - static thread_local const char *cached_id = NULL; - -- _cleanup_free_ char *e = NULL; -- const char *_id = NULL; -+ _cleanup_free_ char *m = NULL; -+ const char *_id = NULL, *e = NULL; - int r; - - if (_likely_(cached_found >= 0)) { -@@ -229,17 +229,6 @@ int detect_container(const char **id) { - return cached_found; - } - -- /* Unfortunately many of these operations require root access -- * in one way or another */ -- -- r = running_in_chroot(); -- if (r < 0) -- return r; -- if (r > 0) { -- _id = "chroot"; -- goto finish; -- } -- - /* /proc/vz exists in container and outside of the container, - * /proc/bc only outside of the container. */ - if (access("/proc/vz", F_OK) >= 0 && -@@ -249,11 +238,32 @@ int detect_container(const char **id) { - goto finish; - } - -- r = getenv_for_pid(1, "container", &e); -- if (r < 0) -- return r; -- if (r == 0) -- goto finish; -+ if (getpid() == 1) { -+ /* If we are PID 1 we can just check our own -+ * environment variable */ -+ -+ e = getenv("container"); -+ if (isempty(e)) { -+ r = 0; -+ goto finish; -+ } -+ } else { -+ -+ /* Otherwise, PID 1 dropped this information into a -+ * file in /run. This is better than accessing -+ * /proc/1/environ, since we don't need CAP_SYS_PTRACE -+ * for that. */ -+ -+ r = read_one_line_file("/run/systemd/container", &m); -+ if (r == -ENOENT) { -+ r = 0; -+ goto finish; -+ } -+ if (r < 0) -+ return r; -+ -+ e = m; -+ } - - /* We only recognize a selected few here, since we want to - * enforce a redacted namespace */ -@@ -266,6 +276,8 @@ int detect_container(const char **id) { - else - _id = "other"; - -+ r = 1; -+ - finish: - cached_found = r; - --- -1.7.9.2 - diff --git a/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch b/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch deleted file mode 100644 index 30dc17d0..00000000 --- a/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 15f392394e75ffb7f318920008fd1bbe4e82b488 Mon Sep 17 00:00:00 2001 -From: Scott Thrasher -Date: Wed, 26 Mar 2014 18:48:13 -0700 -Subject: [PATCH] Add hwdb entry for Samsung Series 7 Ultra - ---- - hwdb/60-keyboard.hwdb | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index bd8fd10..832c686 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -924,6 +924,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr* - KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up - KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle - -+# Series 7 Ultra -+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr* -+ KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings -+ KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down -+ KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up -+ KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer -+ KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch -+ - # SQ1US - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr* - KEYBOARD_KEY_d4=menu --- -1.7.9.2 - diff --git a/0002-Be-more-verbose-when-bind-or-listen-fails.patch b/0002-Be-more-verbose-when-bind-or-listen-fails.patch deleted file mode 100644 index 0a8e80e6..00000000 --- a/0002-Be-more-verbose-when-bind-or-listen-fails.patch +++ /dev/null @@ -1,92 +0,0 @@ -Based on 6b9732b2bf0499c5e4ea8a9d4f6051d98033f680 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 3 Mar 2014 19:49:40 -0500 -Subject: [PATCH] Be more verbose when bind or listen fails - -Also be more verbose in devnode_acl_all(). ---- - src/core/manager.c | 2 +- - src/journal/journald-native.c | 2 +- - src/journal/journald-stream.c | 4 ++-- - src/journal/journald-syslog.c | 2 +- - src/login/logind-acl.c | 5 ++++- - src/shared/ask-password-api.c | 2 +- - 6 files changed, 10 insertions(+), 7 deletions(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-07-21 10:57:20.286367050 +0000 -@@ -571,7 +571,7 @@ static int manager_setup_notify(Manager - - r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); - return -errno; - } - ---- src/journal/journald-native.c -+++ src/journal/journald-native.c 2014-07-21 00:00:00.000000000 +0000 -@@ -405,7 +405,7 @@ int server_open_native_socket(Server*s) - - r = bind(s->native_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - return -errno; - } - ---- src/journal/journald-stream.c -+++ src/journal/journald-stream.c 2014-07-21 00:00:00.000000000 +0000 -@@ -447,14 +447,14 @@ int server_open_stdout_socket(Server *s) - - r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - return -errno; - } - - chmod(sa.un.sun_path, 0666); - - if (listen(s->stdout_fd, SOMAXCONN) < 0) { -- log_error("listen() failed: %m"); -+ log_error("listen(%s) failed: %m", sa.un.sun_path); - return -errno; - } - } else ---- src/journal/journald-syslog.c -+++ src/journal/journald-syslog.c 2014-07-21 00:00:00.000000000 +0000 -@@ -437,7 +437,7 @@ int server_open_syslog_socket(Server *s) - - r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - return -errno; - } - ---- src/login/logind-acl.c -+++ src/login/logind-acl.c 2014-07-21 10:59:04.986235573 +0000 -@@ -277,7 +277,10 @@ int devnode_acl_all(struct udev *udev, - SET_FOREACH(n, nodes, i) { - int k; - -- log_debug("Fixing up ACLs at %s for seat %s", n, seat); -+ log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"→"UID_FMT"%s%s)", -+ n, seat, old_uid, new_uid, -+ del ? " del" : "", add ? " add" : ""); -+ - k = devnode_acl(n, flush, del, old_uid, add, new_uid); - if (k < 0) - r = k; ---- src/shared/ask-password-api.c -+++ src/shared/ask-password-api.c 2014-07-21 00:00:00.000000000 +0000 -@@ -275,7 +275,7 @@ static int create_socket(char **name) { - - if (r < 0) { - r = -errno; -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - goto fail; - } - diff --git a/0002-analyze-avoid-a-null-dereference.patch b/0002-analyze-avoid-a-null-dereference.patch deleted file mode 100644 index b7662371..00000000 --- a/0002-analyze-avoid-a-null-dereference.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d725a138c5c311ba06567d6841933aa5b7b6a435 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Thu, 11 Sep 2014 23:41:44 +0200 -Subject: [PATCH] analyze: avoid a null dereference - -If we have an error in the early sd_bus_* calls then unit_times -will still be null. - -Found with coverity. Fixes: CID#996464 ---- - src/analyze/analyze.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index d860a02..1281d6b 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -277,7 +277,8 @@ static int acquire_time_data(sd_bus *bus, struct unit_times **out) { - return c; - - fail: -- free_unit_times(unit_times, (unsigned) c); -+ if (unit_times) -+ free_unit_times(unit_times, (unsigned) c); - return r; - } - --- -1.7.9.2 - diff --git a/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch b/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch deleted file mode 100644 index c18fcb9e..00000000 --- a/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1f89214e6e990a0b552f6854f87f8514ca384956 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= -Date: Fri, 21 Feb 2014 11:55:24 +0100 -Subject: [PATCH] analyze/run: use bus_open_transport_systemd instead of - bus_open_transport - -Both systemd-analyze and systemd-run only access org.freedesktop.systemd1 -on the bus. This patch allows using systemd-run --user and systemd-analyze ---user even if the user session's bus is not properly integrated with the -systemd user unit. - -https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports... ---- - src/analyze/analyze.c | 2 +- - src/run/run.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index 4c5fcfe..0a4190c 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -1335,7 +1335,7 @@ int main(int argc, char *argv[]) { - if (r <= 0) - goto finish; - -- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); -+ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); - if (r < 0) { - log_error("Failed to create bus connection: %s", strerror(-r)); - goto finish; -diff --git src/run/run.c src/run/run.c -index e4c695c..9d5527b 100644 ---- src/run/run.c -+++ src/run/run.c -@@ -593,7 +593,7 @@ int main(int argc, char* argv[]) { - arg_description = description; - } - -- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); -+ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); - if (r < 0) { - log_error("Failed to create bus connection: %s", strerror(-r)); - goto finish; --- -1.7.9.2 - diff --git a/0002-architecture-Add-cris.patch b/0002-architecture-Add-cris.patch deleted file mode 100644 index a93d29d9..00000000 --- a/0002-architecture-Add-cris.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 86bafac9540ba9e111ccba2fdf4161fe3a67cd3b Mon Sep 17 00:00:00 2001 -From: Umut Tezduyar Lindskog -Date: Tue, 4 Mar 2014 13:58:35 +0100 -Subject: [PATCH] architecture: Add cris - ---- - src/shared/architecture.c | 3 +++ - src/shared/architecture.h | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index fcdb3d5..9e0c3ef 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -114,6 +114,8 @@ Architecture uname_architecture(void) { - { "m68k", ARCHITECTURE_M68K }, - #elif defined(__tilegx__) - { "tilegx", ARCHITECTURE_TILEGX }, -+#elif defined(__cris__) -+ { "cris", ARCHITECTURE_CRIS }, - #else - #error "Please register your architecture here!" - #endif -@@ -161,6 +163,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { - [ARCHITECTURE_SH64] = "sh64", - [ARCHITECTURE_M68K] = "m68k", - [ARCHITECTURE_TILEGX] = "tilegx", -+ [ARCHITECTURE_CRIS] = "cris", - }; - - DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); -diff --git src/shared/architecture.h src/shared/architecture.h -index e589a91..20e848b 100644 ---- src/shared/architecture.h -+++ src/shared/architecture.h -@@ -48,6 +48,7 @@ typedef enum Architecture { - ARCHITECTURE_SH64, - ARCHITECTURE_M68K, - ARCHITECTURE_TILEGX, -+ ARCHITECTURE_CRIS, - _ARCHITECTURE_MAX, - _ARCHITECTURE_INVALID = -1 - } Architecture; -@@ -110,6 +111,8 @@ Architecture uname_architecture(void); - # define native_architecture() ARCHITECTURE_M68K - #elif defined(__tilegx__) - # define native_architecture() ARCHITECTURE_TILEGX -+#elif defined(__cris__) -+# define native_architecture() ARCHITECTURE_CRIS - #else - #error "Please register your architecture here!" - #endif --- -1.7.9.2 - diff --git a/0002-backlight-do-nothing-if-max_brightness-is-0.patch b/0002-backlight-do-nothing-if-max_brightness-is-0.patch deleted file mode 100644 index 8ca31e28..00000000 --- a/0002-backlight-do-nothing-if-max_brightness-is-0.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 3cadce7d33e263ec7a6a83c00c11144930258b22 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= -Date: Thu, 27 Mar 2014 23:41:59 +0100 -Subject: [PATCH] backlight: do nothing if max_brightness is 0 - -On virtually any newer Asus mainboard, the eeepc-wmi driver is loaded. -It exposes a backlight device despite the lack of any physical backlight -devices. This fake backlight device has max_brightness set to 0. Since -the introduction of the clamp_brightness function, systemd-backlight -tries to write '1' to brightness and fails. - -This patch changes systemd-backlight to exit gracefully when -max_brightness is 0 before performing any action. This affects -both the load and save actions. ---- - src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++-------------- - 1 file changed, 30 insertions(+), 14 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index abf8bcf..ce0385b 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -192,30 +192,37 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { - return true; - } - --/* Some systems turn the backlight all the way off at the lowest levels. -- * clamp_brightness clamps the saved brightness to at least 1 or 5% of -- * max_brightness. This avoids preserving an unreadably dim screen, which -- * would otherwise force the user to disable state restoration. */ --static void clamp_brightness(struct udev_device *device, char **value) { -+static unsigned get_max_brightness(struct udev_device *device) { - int r; - const char *max_brightness_str; -- unsigned brightness, max_brightness, new_brightness; -+ unsigned max_brightness; - - max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); - if (!max_brightness_str) { -- log_warning("Failed to read max_brightness attribute; not checking saved brightness"); -- return; -+ log_warning("Failed to read max_brightness attribute"); -+ return 0; - } - -- r = safe_atou(*value, &brightness); -+ r = safe_atou(max_brightness_str, &max_brightness); - if (r < 0) { -- log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); -- return; -+ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ return 0; - } - -- r = safe_atou(max_brightness_str, &max_brightness); -+ return max_brightness; -+} -+ -+/* Some systems turn the backlight all the way off at the lowest levels. -+ * clamp_brightness clamps the saved brightness to at least 1 or 5% of -+ * max_brightness. This avoids preserving an unreadably dim screen, which -+ * would otherwise force the user to disable state restoration. */ -+static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { -+ int r; -+ unsigned brightness, new_brightness; -+ -+ r = safe_atou(*value, &brightness); - if (r < 0) { -- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); - return; - } - -@@ -239,6 +246,7 @@ int main(int argc, char *argv[]) { - _cleanup_udev_device_unref_ struct udev_device *device = NULL; - _cleanup_free_ char *saved = NULL, *ss = NULL, *escaped_ss = NULL, *escaped_sysname = NULL, *escaped_path_id = NULL; - const char *sysname, *path_id; -+ unsigned max_brightness; - int r; - - if (argc != 3) { -@@ -294,6 +302,14 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -+ /* If max_brightness is 0, then there is no actual backlight -+ * device. This happens on desktops with Asus mainboards -+ * that load the eeepc-wmi module. -+ */ -+ max_brightness = get_max_brightness(device); -+ if (max_brightness == 0) -+ return EXIT_SUCCESS; -+ - escaped_ss = cescape(ss); - if (!escaped_ss) { - log_oom(); -@@ -348,7 +364,7 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- clamp_brightness(device, &value); -+ clamp_brightness(device, &value, max_brightness); - - r = udev_device_set_sysattr_value(device, "brightness", value); - if (r < 0) { --- -1.7.9.2 - diff --git a/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch b/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch deleted file mode 100644 index 8c1b12e2..00000000 --- a/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1c92ff85b786c423f4436ec26007e79369c9ac05 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 26 Sep 2014 22:01:32 +0200 -Subject: [PATCH] bootchart: use 'n/a' if PRETTY_NAME is not found - -Spotted with coverity. If parsing both /etc/os-release and -/usr/lib/os-release fails then null would be passed on. The calls -to parse the two files are allowed to fail. A empty /etc may not -have had the /etc/os-release symlink restored yet and we just -try again in the loop. If for whatever reason that does not happen -then we now pass on 'n/a' instead of null. ---- - src/bootchart/bootchart.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c -index 366a5ab..813e38d 100644 ---- src/bootchart/bootchart.c -+++ src/bootchart/bootchart.c -@@ -471,7 +471,7 @@ int main(int argc, char *argv[]) { - exit (EXIT_FAILURE); - } - -- svg_do(build); -+ svg_do(strna(build)); - - fprintf(stderr, "systemd-bootchart wrote %s\n", output_file); - --- -1.7.9.2 - diff --git a/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch b/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch deleted file mode 100644 index 718f6862..00000000 --- a/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 82923adfe5c4fa09cc91fd2a2e374c936cd4a186 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 13 Mar 2014 20:00:50 +0100 -Subject: [PATCH] bus: fix memory leak when kdbus is not enabled - ---- - src/libsystemd/sd-bus/sd-bus.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index ffa3369..ca7c428 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -1189,7 +1189,8 @@ _public_ int sd_bus_open_user(sd_bus **ret) { - #ifdef ENABLE_KDBUS - asprintf(&b->address, KERNEL_USER_BUS_FMT, (unsigned long) getuid()); - #else -- return -ECONNREFUSED; -+ r = -ECONNREFUSED; -+ goto fail; - #endif - } - --- -1.7.9.2 - diff --git a/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch b/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch deleted file mode 100644 index 3961c020..00000000 --- a/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b27adf354a83ad25f4a209c0a6f7989ecab7b4e2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 13:31:25 +0200 -Subject: [PATCH] bus: make use of sd_bus_try_close() in exit-on-idle services - ---- - src/libsystemd/sd-bus/bus-util.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c -index 6bd21cc..6441c5b 100644 ---- src/libsystemd/sd-bus/bus-util.c -+++ src/libsystemd/sd-bus/bus-util.c -@@ -43,7 +43,9 @@ static int name_owner_change_callback(sd_bus *bus, sd_bus_message *m, void *user - assert(m); - assert(e); - -+ sd_bus_close(bus); - sd_event_exit(e, 0); -+ - return 1; - } - -@@ -121,11 +123,30 @@ int bus_event_loop_with_idle( - return r; - - if (r == 0 && !exiting) { -- r = bus_async_unregister_and_exit(e, bus, name); -+ -+ r = sd_bus_try_close(bus); -+ if (r == -EBUSY) -+ continue; -+ -+ if (r == -ENOTSUP) { -+ /* Fallback for dbus1 connections: we -+ * unregister the name and wait for -+ * the response to come through for -+ * it */ -+ -+ r = bus_async_unregister_and_exit(e, bus, name); -+ if (r < 0) -+ return r; -+ -+ exiting = true; -+ continue; -+ } -+ - if (r < 0) - return r; - -- exiting = true; -+ sd_event_exit(e, 0); -+ break; - } - } - --- -1.7.9.2 - diff --git a/0002-bus-remove-unused-check.patch b/0002-bus-remove-unused-check.patch deleted file mode 100644 index 32c35276..00000000 --- a/0002-bus-remove-unused-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 04c553e322680b6fcdf5b271e84b0b4b0ad8d5f9 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Tue, 23 Sep 2014 21:34:21 +0200 -Subject: [PATCH] bus: remove unused check - -strerror_r does not return null here and even if it did we would have -problems already at the preceding strlen call. - -Found by coverity. Fixes: CID#1237770 ---- - src/libsystemd/sd-bus/bus-error.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c -index c2e41fb..abdfd73 100644 ---- src/libsystemd/sd-bus/bus-error.c -+++ src/libsystemd/sd-bus/bus-error.c -@@ -312,7 +312,7 @@ static void bus_error_strerror(sd_bus_error *e, int error) { - continue; - } - -- if (!x || errno) { -+ if (errno) { - free(m); - return; - } --- -1.7.9.2 - diff --git a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch deleted file mode 100644 index ec455770..00000000 --- a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cdd7b7dfd44649b204c43e907f03d4294de4f28a Mon Sep 17 00:00:00 2001 -From: Hristo Venev -Date: Mon, 23 Jun 2014 18:53:04 +0200 -Subject: [PATCH] core: make sure Environment fields passed in for transient - units are properly written to unit files - -https://bugs.freedesktop.org/show_bug.cgi?id=76744 ---- - src/core/dbus-execute.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/dbus-execute.c src/core/dbus-execute.c -index cb9a077..ecbadd7 100644 ---- src/core/dbus-execute.c -+++ src/core/dbus-execute.c -@@ -848,7 +848,7 @@ int bus_exec_context_set_transient_property( - strv_free(c->environment); - c->environment = e; - -- joined = strv_join(c->environment, " "); -+ joined = strv_join_quoted(c->environment); - if (!joined) - return -ENOMEM; - --- -1.7.9.2 - diff --git a/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch b/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch deleted file mode 100644 index 61888e5f..00000000 --- a/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 375ae4aa4d2f89ae8afdd27e9f2b8336fcc2a046 Mon Sep 17 00:00:00 2001 -From: Uoti Urpala -Date: Mon, 23 Jun 2014 16:50:03 +0300 -Subject: [PATCH] core/transaction: fix cycle break attempts outside - transaction - -Patch fixes some incorrect-looking code in transaction.c. -It could fix cases where Debian users with bad package configurations -had systemd go into an infinite loop printing messages about breaking an -ordering cycle, though I have not reproduced that problem myself. - -transaction_verify_order_one() considers jobs/units outside current -transaction when checking whether ordering dependencies cause cycles. -It would also incorrectly try to break cycles at these jobs; this -cannot work, as the break action is to remove the job from the -transaction, which is a no-op if the job isn't part of the transaction -to begin with. The unit_matters_to_anchor() test also looks like it -would not work correctly for non-transaction jobs. Add a check to -verify that the unit is part of the transaction before considering a -job a candidate for deletion. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752259 ---- - src/core/transaction.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/transaction.c src/core/transaction.c -index d23a45c..805d40a 100644 ---- src/core/transaction.c -+++ src/core/transaction.c -@@ -381,7 +381,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi - "Found dependency on %s/%s", - k->unit->id, job_type_to_string(k->type)); - -- if (!delete && -+ if (!delete && hashmap_get(tr->jobs, k->unit) && - !unit_matters_to_anchor(k->unit, k)) { - /* Ok, we can drop this one, so let's - * do so. */ --- -1.7.9.2 - diff --git a/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch b/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch deleted file mode 100644 index 3a136da5..00000000 --- a/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 4c3f1641f13b7687a0dc234d3ae387b7c40494ff Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 19 Nov 2014 20:52:23 +0100 -Subject: [PATCH] core: watchdog bus properties cannot be both writable and - constant - ---- - src/core/dbus-manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c 2014-11-20 13:43:06.781518488 +0000 -@@ -1599,8 +1599,8 @@ const sd_bus_vtable bus_manager_vtable[] - SD_BUS_PROPERTY("UnitPath", "as", NULL, offsetof(Manager, lookup_paths.unit_path), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("DefaultStandardOutput", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("DefaultStandardError", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), -- SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), -- SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), -+ SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), 0), -+ SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), 0), - SD_BUS_PROPERTY("ControlGroup", "s", NULL, offsetof(Manager, cgroup_root), 0), - - SD_BUS_METHOD("GetUnit", "s", "o", method_get_unit, SD_BUS_VTABLE_UNPRIVILEGED), diff --git a/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch b/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch deleted file mode 100644 index 67454ead..00000000 --- a/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 98b47d54ce946ad3524f84eb38d2413498a333dc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 17:11:39 +0100 -Subject: [PATCH] execute: free directory path if we fail to remove it because - we cannot allocate a thread - ---- - src/core/execute.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git src/core/execute.c src/core/execute.c -index 9de6e87..3312885 100644 ---- src/core/execute.c -+++ src/core/execute.c -@@ -2713,6 +2713,8 @@ static void *remove_tmpdir_thread(void *p) { - } - - void exec_runtime_destroy(ExecRuntime *rt) { -+ int r; -+ - if (!rt) - return; - -@@ -2722,13 +2724,25 @@ void exec_runtime_destroy(ExecRuntime *rt) { - - if (rt->tmp_dir) { - log_debug("Spawning thread to nuke %s", rt->tmp_dir); -- asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); -+ -+ r = asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); -+ if (r < 0) { -+ log_warning("Failed to nuke %s: %s", rt->tmp_dir, strerror(-r)); -+ free(rt->tmp_dir); -+ } -+ - rt->tmp_dir = NULL; - } - - if (rt->var_tmp_dir) { - log_debug("Spawning thread to nuke %s", rt->var_tmp_dir); -- asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); -+ -+ r = asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); -+ if (r < 0) { -+ log_warning("Failed to nuke %s: %s", rt->var_tmp_dir, strerror(-r)); -+ free(rt->var_tmp_dir); -+ } -+ - rt->var_tmp_dir = NULL; - } - --- -1.7.9.2 - diff --git a/0002-fsck-include-device-name-in-the-message-about-missin.patch b/0002-fsck-include-device-name-in-the-message-about-missin.patch deleted file mode 100644 index 7ec3506f..00000000 --- a/0002-fsck-include-device-name-in-the-message-about-missin.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 8d2a6145334257c8a9ceabc9dd52dff06cca818e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 26 May 2014 23:03:11 -0400 -Subject: [PATCH] fsck: include device name in the message about missing fsck - ---- - src/fsck/fsck.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-03 14:15:15.746235301 +0000 -@@ -284,10 +284,12 @@ int main(int argc, char *argv[]) { - r = access(checker, X_OK); - if (r < 0) { - if (errno == ENOENT) { -- log_info("%s doesn't exist, not checking file system.", checker); -+ log_info("%s doesn't exist, not checking file system on %s", -+ checker, device); - return EXIT_SUCCESS; - } else -- log_warning("%s cannot be used: %m", checker); -+ log_warning("%s cannot be used for %s: %m", -+ checker, device); - } - } - diff --git a/0002-hostnamed-add-a-new-chassis-type-for-watches.patch b/0002-hostnamed-add-a-new-chassis-type-for-watches.patch deleted file mode 100644 index a20c11c6..00000000 --- a/0002-hostnamed-add-a-new-chassis-type-for-watches.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c49e59c1831f20fe02276d7bc6ba7d23d24c4ab3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 9 Jul 2014 13:20:05 +0200 -Subject: [PATCH] hostnamed: add a new chassis type for watches - ---- - src/hostname/hostnamed.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 514554d..eaae113 100644 ---- src/hostname/hostnamed.c -+++ src/hostname/hostnamed.c -@@ -144,7 +144,8 @@ static bool valid_chassis(const char *chassis) { - "laptop\0" - "server\0" - "tablet\0" -- "handset\0", -+ "handset\0" -+ "watch\0", - chassis); - } - --- -1.7.9.2 - diff --git a/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch b/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch deleted file mode 100644 index 8304b2d4..00000000 --- a/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fc1ae82cae69d8dbbd9e7a31938810a486fac782 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 22 Oct 2014 14:09:21 +0200 -Subject: [PATCH] hwdb: Add mapping for special keys on compaq ku 0133 - keyboards - -The compaq ku 0133 keyboard has 8 special keys at the top: -http://lackof.org/taggart/hacking/keyboard/cpqwireless.jpg - -3 of these use standard HID usage codes from the consumer page, the 5 -others use part of the reserved 0x07 - 0x1f range. - -This commit adds mapping for this keyboard for these reserved codes, making -the other 5 keys work. - -Cc: Hans de Goede -Signed-off-by: Hans de Goede ---- - hwdb/60-keyboard.hwdb | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 59f467b..06caba9 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -181,6 +181,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr* - KEYBOARD_KEY_9e=email - KEYBOARD_KEY_9f=homepage - -+keyboard:usb:v049Fp0051d*dc*dsc*dp*ic*isc*ip*in01* -+ KEYBOARD_KEY_0c0011=presentation -+ KEYBOARD_KEY_0c0012=addressbook -+ KEYBOARD_KEY_0c0013=info -+ KEYBOARD_KEY_0c0014=prog1 -+ KEYBOARD_KEY_0c0015=messenger -+ - ########################################################### - # Dell - ########################################################### --- -1.7.9.2 - diff --git a/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index a386c649..00000000 --- a/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f401e2b24ba17452f9655993a6dedefdffe06d23 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Tue, 11 Mar 2014 09:33:31 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 0335a71..7d86f10 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -911,3 +911,15 @@ bluetooth:v012C* - - bluetooth:v012D* - ID_VENDOR_FROM_DATABASE=Sony Corporation -+ -+bluetooth:v012E* -+ ID_VENDOR_FROM_DATABASE=ASSA ABLOY -+ -+bluetooth:v012F* -+ ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd. -+ -+bluetooth:v0130* -+ ID_VENDOR_FROM_DATABASE=Warehouse Innovations -+ -+bluetooth:v0131* -+ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation --- -1.7.9.2 - diff --git a/0002-hwdb-update.patch b/0002-hwdb-update.patch deleted file mode 100644 index 1d3abc28..00000000 --- a/0002-hwdb-update.patch +++ /dev/null @@ -1,2058 +0,0 @@ -From dbe633cc027e31a0d4fb488a3c68b7762ef0e7b3 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 13 Apr 2014 23:46:27 -0700 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 275 +++++++++++++++++++++- - hwdb/20-pci-vendor-model.hwdb | 522 ++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 751 insertions(+), 46 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 209b89e..17794ed 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -6929,7 +6929,7 @@ OUI:0050C2912* - ID_OUI_FROM_DATABASE=ASSET InterTech, Inc. - - OUI:0050C2913* -- ID_OUI_FROM_DATABASE=Selex Sensors & Airborne Systems -+ ID_OUI_FROM_DATABASE=Selex Ex Ltd - - OUI:0050C2914* - ID_OUI_FROM_DATABASE=IO-Connect -@@ -15944,7 +15944,7 @@ OUI:000300* - ID_OUI_FROM_DATABASE=Barracuda Networks, Inc. - - OUI:000301* -- ID_OUI_FROM_DATABASE=Avantas Networks Corporation -+ ID_OUI_FROM_DATABASE=EXFO - - OUI:000302* - ID_OUI_FROM_DATABASE=Charles Industries, Ltd. -@@ -24575,7 +24575,7 @@ OUI:000E65* - ID_OUI_FROM_DATABASE=TransCore - - OUI:000E66* -- ID_OUI_FROM_DATABASE=Hitachi Advanced Digital, Inc. -+ ID_OUI_FROM_DATABASE=Hitachi Industry & Control Solutions, Ltd. - - OUI:000E67* - ID_OUI_FROM_DATABASE=Eltis Microelectronics Ltd. -@@ -24947,7 +24947,7 @@ OUI:000EE1* - ID_OUI_FROM_DATABASE=ExtremeSpeed Inc. - - OUI:000EE2* -- ID_OUI_FROM_DATABASE=Custom Engineering S.p.A. -+ ID_OUI_FROM_DATABASE=Custom Engineering - - OUI:000EE3* - ID_OUI_FROM_DATABASE=Chiyu Technology Co.,Ltd -@@ -51760,6 +51760,9 @@ OUI:045A95* - OUI:045C06* - ID_OUI_FROM_DATABASE=Zmodo Technology Corporation - -+OUI:045C8E* -+ ID_OUI_FROM_DATABASE=gosund GROUP CO.,LTD -+ - OUI:045D56* - ID_OUI_FROM_DATABASE=camtron industrial inc. - -@@ -51865,6 +51868,9 @@ OUI:04C5A4* - OUI:04C880* - ID_OUI_FROM_DATABASE=Samtec Inc - -+OUI:04C991* -+ ID_OUI_FROM_DATABASE=Phistek INC. -+ - OUI:04CB1D* - ID_OUI_FROM_DATABASE=Traka plc - -@@ -52633,6 +52639,9 @@ OUI:08CA45* - OUI:08CC68* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:08CD9B* -+ ID_OUI_FROM_DATABASE=samtec automotive electronics & software GmbH -+ - OUI:08D09F* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -52684,6 +52693,9 @@ OUI:08F2F4* - OUI:08F6F8* - ID_OUI_FROM_DATABASE=GET Engineering - -+OUI:08F728* -+ ID_OUI_FROM_DATABASE=GLOBO Multimedia Sp. z o.o. Sp.k. -+ - OUI:08FAE0* - ID_OUI_FROM_DATABASE=Fohhn Audio AG - -@@ -52750,6 +52762,9 @@ OUI:0C3021* - OUI:0C37DC* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:0C383E* -+ ID_OUI_FROM_DATABASE=Fanvil Technology Co., Ltd. -+ - OUI:0C3956* - ID_OUI_FROM_DATABASE=Observator instruments - -@@ -53104,6 +53119,9 @@ OUI:102D96* - OUI:102EAF* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:103047* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:103378* - ID_OUI_FROM_DATABASE=FLECTRON Co., LTD - -@@ -53215,6 +53233,9 @@ OUI:1088CE* - OUI:108CCF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:109266* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:1093E9* - ID_OUI_FROM_DATABASE=Apple - -@@ -53260,6 +53281,9 @@ OUI:10BF48* - OUI:10C2BA* - ID_OUI_FROM_DATABASE=UTT Co., Ltd. - -+OUI:10C37B* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:10C586* - ID_OUI_FROM_DATABASE=BIO SOUND LAB CO., LTD. - -@@ -53365,6 +53389,9 @@ OUI:141BBD* - OUI:141BF0* - ID_OUI_FROM_DATABASE=Intellimedia Systems Ltd - -+OUI:141FBA* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:1423D7* - ID_OUI_FROM_DATABASE=EUTRONIX CO., LTD. - -@@ -53518,6 +53545,9 @@ OUI:14B968* - OUI:14C089* - ID_OUI_FROM_DATABASE=DUNE HD LTD - -+OUI:14C126* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:14C21D* - ID_OUI_FROM_DATABASE=Sabtech Industries - -@@ -53572,6 +53602,9 @@ OUI:14F28E* - OUI:14F42A* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:14F65A* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:14FEAF* - ID_OUI_FROM_DATABASE=SAGITTAR LIMITED - -@@ -53659,6 +53692,9 @@ OUI:182B05* - OUI:182C91* - ID_OUI_FROM_DATABASE=Concept Development, Inc. - -+OUI:183009* -+ ID_OUI_FROM_DATABASE=Woojin Industrial Systems Co., Ltd. -+ - OUI:1832A2* - ID_OUI_FROM_DATABASE=LAON TECHNOLOGY CO., LTD. - -@@ -53698,6 +53734,9 @@ OUI:184617* - OUI:1848D8* - ID_OUI_FROM_DATABASE=Fastback Networks - -+OUI:184A6F* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd -+ - OUI:184E94* - ID_OUI_FROM_DATABASE=MESSOA TECHNOLOGIES INC. - -@@ -53758,6 +53797,9 @@ OUI:1880F5* - OUI:188331* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:1883BF* -+ ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation -+ - OUI:188410* - ID_OUI_FROM_DATABASE=CoreTrust Inc. - -@@ -54322,6 +54364,9 @@ OUI:206A8A* - OUI:206AFF* - ID_OUI_FROM_DATABASE=Atlas Elektronik UK Limited - -+OUI:206E9C* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:206FEC* - ID_OUI_FROM_DATABASE=Braemac CA LLC - -@@ -54838,6 +54883,9 @@ OUI:284C53* - OUI:284D92* - ID_OUI_FROM_DATABASE=Luminator - -+OUI:284ED7* -+ ID_OUI_FROM_DATABASE=OutSmart Power Systems, Inc. -+ - OUI:284FCE* - ID_OUI_FROM_DATABASE=Liaoning Wontel Science and Technology Development Co.,Ltd. - -@@ -54976,6 +55024,9 @@ OUI:28C68E* - OUI:28C718* - ID_OUI_FROM_DATABASE=Altierre - -+OUI:28C7CE* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:28C825* - ID_OUI_FROM_DATABASE=DellKing Industrial Co., Ltd - -@@ -55069,6 +55120,9 @@ OUI:28FBD3* - OUI:28FC51* - ID_OUI_FROM_DATABASE=The Electric Controller and Manufacturing Co., LLC - -+OUI:28FCF6* -+ ID_OUI_FROM_DATABASE=Shenzhen Xin KingBrand enterprises Co.,Ltd -+ - OUI:2C002C* - ID_OUI_FROM_DATABASE=UNOWHY - -@@ -55291,6 +55345,9 @@ OUI:2CB693* - OUI:2CB69D* - ID_OUI_FROM_DATABASE=RED Digital Cinema - -+OUI:2CBE08* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:2CBE97* - ID_OUI_FROM_DATABASE=Ingenieurbuero Bickele und Buehler GmbH - -@@ -55354,6 +55411,9 @@ OUI:30055C* - OUI:300B9C* - ID_OUI_FROM_DATABASE=Delta Mobile Systems, Inc. - -+OUI:300D2A* -+ ID_OUI_FROM_DATABASE=Zhejiang Wellcom Technology Co.,Ltd. -+ - OUI:300ED5* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd - -@@ -55450,6 +55510,9 @@ OUI:3055ED* - OUI:3057AC* - ID_OUI_FROM_DATABASE=IRLAB LTD. - -+OUI:30595B* -+ ID_OUI_FROM_DATABASE=streamnow AG -+ - OUI:3059B7* - ID_OUI_FROM_DATABASE=Microsoft - -@@ -55543,6 +55606,9 @@ OUI:30B3A2* - OUI:30B5C2* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:30B5F1* -+ ID_OUI_FROM_DATABASE=Aitexin Technology Co., Ltd -+ - OUI:30C750* - ID_OUI_FROM_DATABASE=MIC Technology Group - -@@ -55606,6 +55672,9 @@ OUI:30F9ED* - OUI:30FD11* - ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. - -+OUI:340286* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:3407FB* - ID_OUI_FROM_DATABASE=Ericsson AB - -@@ -55654,6 +55723,9 @@ OUI:342F6E* - OUI:343111* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:3431C4* -+ ID_OUI_FROM_DATABASE=AVM GmbH -+ - OUI:3440B5* - ID_OUI_FROM_DATABASE=IBM - -@@ -55840,6 +55912,9 @@ OUI:34C059* - OUI:34C3AC* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:34C5D0* -+ ID_OUI_FROM_DATABASE=Hagleitner Hygiene International GmbH -+ - OUI:34C69A* - ID_OUI_FROM_DATABASE=Enecsys Ltd - -@@ -55963,6 +56038,9 @@ OUI:3826CD* - OUI:3828EA* - ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD - -+OUI:382DD1* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:3831AC* - ID_OUI_FROM_DATABASE=WEG - -@@ -56371,6 +56449,9 @@ OUI:3C99F7* - OUI:3C9F81* - ID_OUI_FROM_DATABASE=Shenzhen CATIC Bit Communications Technology Co.,Ltd - -+OUI:3CA10D* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:3CA315* - ID_OUI_FROM_DATABASE=Bless Information & Communications Co., Ltd - -@@ -56380,6 +56461,9 @@ OUI:3CA72B* - OUI:3CA9F4* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:3CAA3F* -+ ID_OUI_FROM_DATABASE=iKey, Ltd. -+ - OUI:3CAB8E* - ID_OUI_FROM_DATABASE=Apple - -@@ -56413,6 +56497,9 @@ OUI:3CC99E* - OUI:3CCA87* - ID_OUI_FROM_DATABASE=Iders Incorporated - -+OUI:3CCD5A* -+ ID_OUI_FROM_DATABASE=Technische Alternative GmbH -+ - OUI:3CCD93* - ID_OUI_FROM_DATABASE=LG ELECTRONICS INC - -@@ -57109,6 +57196,9 @@ OUI:481A84* - OUI:481BD2* - ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. - -+OUI:4826E8* -+ ID_OUI_FROM_DATABASE=Tek-Air Systems, Inc. -+ - OUI:48282F* - ID_OUI_FROM_DATABASE=ZTE Corporation - -@@ -57260,7 +57350,7 @@ OUI:48D7FF* - ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH - - OUI:48D855* -- ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY -+ ID_OUI_FROM_DATABASE=Telvent - - OUI:48D8FE* - ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. -@@ -57748,6 +57838,9 @@ OUI:507E5D* - OUI:508569* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD - -+OUI:508789* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:5087B8* - ID_OUI_FROM_DATABASE=Nuvyyo Inc - -@@ -57880,6 +57973,9 @@ OUI:50FC30* - OUI:50FC9F* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:50FEF2* -+ ID_OUI_FROM_DATABASE=Sify Technologies Ltd -+ - OUI:5403F5* - ID_OUI_FROM_DATABASE=EBN Technology Corp. - -@@ -58072,6 +58168,9 @@ OUI:54AE27* - OUI:54B620* - ID_OUI_FROM_DATABASE=SUHDOL E&C Co.Ltd. - -+OUI:54B753* -+ ID_OUI_FROM_DATABASE=Hunan Fenghui Yinjia Science And Technology Co.,Ltd -+ - OUI:54BEF7* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -@@ -58132,6 +58231,9 @@ OUI:54F5B6* - OUI:54F666* - ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG - -+OUI:54FA3E* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD -+ - OUI:54FB58* - ID_OUI_FROM_DATABASE=WISEWARE, Lda - -@@ -58462,6 +58564,9 @@ OUI:5C260A* - OUI:5C2AEF* - ID_OUI_FROM_DATABASE=Open Access Pty Ltd - -+OUI:5C2E59* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:5C313E* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -58519,6 +58624,9 @@ OUI:5C57C8* - OUI:5C5948* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C5BC2* -+ ID_OUI_FROM_DATABASE=YIK Corporation -+ - OUI:5C5EAB* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -58558,6 +58666,9 @@ OUI:5C8778* - OUI:5C89D4* - ID_OUI_FROM_DATABASE=Beijing Banner Electric Co.,Ltd - -+OUI:5C8D4E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:5C95AE* - ID_OUI_FROM_DATABASE=Apple - -@@ -58819,6 +58930,9 @@ OUI:607688* - OUI:60812B* - ID_OUI_FROM_DATABASE=Custom Control Concepts - -+OUI:6081F9* -+ ID_OUI_FROM_DATABASE=Helium Systems, Inc -+ - OUI:6083B2* - ID_OUI_FROM_DATABASE=GkWare e.K. - -@@ -58867,6 +58981,9 @@ OUI:60A10A* - OUI:60A44C* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -+OUI:60A8FE* -+ ID_OUI_FROM_DATABASE=Nokia Solutions and Networks -+ - OUI:60A9B0* - ID_OUI_FROM_DATABASE=Merchandising Technologies, Inc - -@@ -58918,6 +59035,9 @@ OUI:60C980* - OUI:60CBFB* - ID_OUI_FROM_DATABASE=AirScape Inc. - -+OUI:60CDA9* -+ ID_OUI_FROM_DATABASE=Abloomy -+ - OUI:60CDC5* - ID_OUI_FROM_DATABASE=Taiwan Carol Electronics., Ltd - -@@ -59092,6 +59212,9 @@ OUI:644D70* - OUI:644F74* - ID_OUI_FROM_DATABASE=LENUS Co., Ltd. - -+OUI:644FB0* -+ ID_OUI_FROM_DATABASE=Hyunjin.com -+ - OUI:64517E* - ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. - -@@ -59146,6 +59269,9 @@ OUI:64680C* - OUI:6469BC* - ID_OUI_FROM_DATABASE=Hytera Communications Co .,ltd - -+OUI:646CB2* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:646E6C* - ID_OUI_FROM_DATABASE=Radio Datacom LLC - -@@ -59305,6 +59431,9 @@ OUI:64D814* - OUI:64D912* - ID_OUI_FROM_DATABASE=Solidica, Inc. - -+OUI:64D954* -+ ID_OUI_FROM_DATABASE=TAICANG AND W ELECTRONICS CO LTD -+ - OUI:64D989* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -59368,6 +59497,9 @@ OUI:64F987* - OUI:64FC8C* - ID_OUI_FROM_DATABASE=Zonar Systems - -+OUI:680571* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:6805CA* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -59701,6 +59833,9 @@ OUI:6C2E33* - OUI:6C2E85* - ID_OUI_FROM_DATABASE=SAGEMCOM - -+OUI:6C2F2C* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:6C32DE* - ID_OUI_FROM_DATABASE=Indieon Technologies Pvt. Ltd. - -@@ -59860,6 +59995,9 @@ OUI:6CADF8* - OUI:6CAE8B* - ID_OUI_FROM_DATABASE=IBM Corporation - -+OUI:6CB0CE* -+ ID_OUI_FROM_DATABASE=NETGEAR -+ - OUI:6CB311* - ID_OUI_FROM_DATABASE=Shenzhen Lianrui Electronics Co.,Ltd - -@@ -59875,6 +60013,9 @@ OUI:6CBEE9* - OUI:6CC1D2* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:6CC217* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:6CC26B* - ID_OUI_FROM_DATABASE=Apple - -@@ -59929,6 +60070,9 @@ OUI:6CF97C* - OUI:6CFA58* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:6CFA89* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:6CFAA7* - ID_OUI_FROM_DATABASE=AMPAK Technology Inc. - -@@ -60097,6 +60241,9 @@ OUI:7071B3* - OUI:7071BC* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -+OUI:70720D* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:70723C* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -60502,6 +60649,9 @@ OUI:74D850* - OUI:74DA38* - ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. - -+OUI:74DBD1* -+ ID_OUI_FROM_DATABASE=Ebay Inc -+ - OUI:74DE2B* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -60733,6 +60883,9 @@ OUI:78923E* - OUI:78929C* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:789684* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:7898FD* - ID_OUI_FROM_DATABASE=Q9 Networks Inc. - -@@ -60922,6 +61075,9 @@ OUI:78F7BE* - OUI:78F7D0* - ID_OUI_FROM_DATABASE=Silverbrook Research - -+OUI:78FD94* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:78FE3D* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -61060,6 +61216,9 @@ OUI:7C69F6* - OUI:7C6AB3* - ID_OUI_FROM_DATABASE=IBC TECHNOLOGIES INC. - -+OUI:7C6AC3* -+ ID_OUI_FROM_DATABASE=GatesAir, Inc -+ - OUI:7C6ADB* - ID_OUI_FROM_DATABASE=SafeTone Technology Co.,Ltd - -@@ -61087,6 +61246,9 @@ OUI:7C6F06* - OUI:7C6FF8* - ID_OUI_FROM_DATABASE=ShenZhen ACTO Digital Video Technology Co.,Ltd. - -+OUI:7C70BC* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:7C72E4* - ID_OUI_FROM_DATABASE=Unikey Technologies - -@@ -61174,6 +61336,9 @@ OUI:7CBFB1* - OUI:7CC3A1* - ID_OUI_FROM_DATABASE=Apple - -+OUI:7CC4EF* -+ ID_OUI_FROM_DATABASE=Devialet -+ - OUI:7CC537* - ID_OUI_FROM_DATABASE=Apple - -@@ -61231,6 +61396,9 @@ OUI:7CE044* - OUI:7CE1FF* - ID_OUI_FROM_DATABASE=Computer Performance, Inc. DBA Digital Loggers, Inc. - -+OUI:7CE524* -+ ID_OUI_FROM_DATABASE=Quirky, Inc. -+ - OUI:7CE56B* - ID_OUI_FROM_DATABASE=ESEN Optoelectronics Technology Co.,Ltd. - -@@ -61477,6 +61645,9 @@ OUI:80A1D7* - OUI:80AAA4* - ID_OUI_FROM_DATABASE=USAG - -+OUI:80AD67* -+ ID_OUI_FROM_DATABASE=Kasda Digital Technology Co.,Ltd -+ - OUI:80B219* - ID_OUI_FROM_DATABASE=ELEKTRON TECHNOLOGY UK LIMITED - -@@ -61564,6 +61735,9 @@ OUI:80FFA8* - OUI:8400D2* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:8401A7* -+ ID_OUI_FROM_DATABASE=Greyware Automation Products, Inc -+ - OUI:840B2D* - ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS CO., LTD - -@@ -61576,6 +61750,9 @@ OUI:841715* - OUI:841766* - ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd - -+OUI:84183A* -+ ID_OUI_FROM_DATABASE=Ruckus Wireless -+ - OUI:841888* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -61723,6 +61900,9 @@ OUI:848433* - OUI:848506* - ID_OUI_FROM_DATABASE=Apple - -+OUI:84850A* -+ ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH -+ - OUI:848D84* - ID_OUI_FROM_DATABASE=Rajant Corporation - -@@ -61885,6 +62065,9 @@ OUI:8823FE* - OUI:88252C* - ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation - -+OUI:882950* -+ ID_OUI_FROM_DATABASE=Dalian Netmoon Tech Develop Co.,Ltd -+ - OUI:882E5A* - ID_OUI_FROM_DATABASE=storONE - -@@ -61948,6 +62131,9 @@ OUI:885C47* - OUI:88615A* - ID_OUI_FROM_DATABASE=Siano Mobile Silicon Ltd. - -+OUI:8863DF* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:88685C* - ID_OUI_FROM_DATABASE=Shenzhen ChuangDao & Perpetual Eternal Technology Co.,Ltd - -@@ -62098,6 +62284,9 @@ OUI:88E917* - OUI:88ED1C* - ID_OUI_FROM_DATABASE=Cudo Communication Co., Ltd. - -+OUI:88F031* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:88F077* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -62326,6 +62515,9 @@ OUI:8CB864* - OUI:8CBEBE* - ID_OUI_FROM_DATABASE=Xiaomi Technology Co.,Ltd - -+OUI:8CBF9D* -+ ID_OUI_FROM_DATABASE=Shanghai Xinyou Information Technology Ltd. Co. -+ - OUI:8CC121* - ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company - -@@ -62662,6 +62854,9 @@ OUI:90B97D* - OUI:90C115* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:90C792* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:90CC24* - ID_OUI_FROM_DATABASE=Synaptics, Inc - -@@ -63259,6 +63454,9 @@ OUI:98EC65* - OUI:98F0AB* - ID_OUI_FROM_DATABASE=Apple - -+OUI:98F170* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:98F537* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -63496,6 +63694,9 @@ OUI:9CA577* - OUI:9CA9E4* - ID_OUI_FROM_DATABASE=zte corporation - -+OUI:9CAD97* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:9CADEF* - ID_OUI_FROM_DATABASE=Obihai Technology, Inc. - -@@ -64456,6 +64657,9 @@ OUI:A8E018* - OUI:A8E3EE* - ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. - -+OUI:A8E539* -+ ID_OUI_FROM_DATABASE=Moimstone Co.,Ltd -+ - OUI:A8EF26* - ID_OUI_FROM_DATABASE=Tritonwave - -@@ -64702,6 +64906,9 @@ OUI:ACA016* - OUI:ACA22C* - ID_OUI_FROM_DATABASE=Baycity Technologies Ltd - -+OUI:ACA31E* -+ ID_OUI_FROM_DATABASE=Aruba Networks -+ - OUI:ACA430* - ID_OUI_FROM_DATABASE=Peerless AV - -@@ -64837,6 +65044,12 @@ OUI:B000B4* - OUI:B00594* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -+OUI:B009D3* -+ ID_OUI_FROM_DATABASE=Avizia -+ -+OUI:B01041* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:B01203* - ID_OUI_FROM_DATABASE=Dynamics Hong Kong Limited - -@@ -64951,6 +65164,9 @@ OUI:B0808C* - OUI:B081D8* - ID_OUI_FROM_DATABASE=I-sys Corp - -+OUI:B083FE* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:B0869E* - ID_OUI_FROM_DATABASE=Chloride S.r.L - -@@ -65122,6 +65338,9 @@ OUI:B407F9* - OUI:B40832* - ID_OUI_FROM_DATABASE=TC Communications - -+OUI:B40B44* -+ ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. -+ - OUI:B40B7A* - ID_OUI_FROM_DATABASE=Brusa Elektronik AG - -@@ -65200,6 +65419,9 @@ OUI:B4417A* - OUI:B4430D* - ID_OUI_FROM_DATABASE=Broadlink Pty Ltd - -+OUI:B4475E* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:B44CC2* - ID_OUI_FROM_DATABASE=NR ELECTRIC CO., LTD - -@@ -65608,6 +65830,9 @@ OUI:B8A8AF* - OUI:B8AC6F* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:B8AD3E* -+ ID_OUI_FROM_DATABASE=BLUECOM -+ - OUI:B8AE6E* - ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. - -@@ -65842,6 +66067,9 @@ OUI:BC4B79* - OUI:BC4E3C* - ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. - -+OUI:BC4E5D* -+ ID_OUI_FROM_DATABASE=ZhongMiao Technology Co., Ltd. -+ - OUI:BC51FE* - ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd - -@@ -65974,6 +66202,9 @@ OUI:BCC6DB* - OUI:BCC810* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:BCCAB5* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:BCCD45* - ID_OUI_FROM_DATABASE=VOISMART - -@@ -66748,6 +66979,9 @@ OUI:C88B47* - OUI:C8903E* - ID_OUI_FROM_DATABASE=Pakton Technologies - -+OUI:C891F9* -+ ID_OUI_FROM_DATABASE=SAGEMCOM -+ - OUI:C89346* - ID_OUI_FROM_DATABASE=MXCHIP Company Limited - -@@ -67000,6 +67234,9 @@ OUI:CC3A61* - OUI:CC3C3F* - ID_OUI_FROM_DATABASE=SA.S.S. Datentechnik AG - -+OUI:CC3D82* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:CC3E5F* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -67303,6 +67540,9 @@ OUI:D03761* - OUI:D03972* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:D039B3* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:D046DC* - ID_OUI_FROM_DATABASE=Southwest Research Institute - -@@ -67735,6 +67975,9 @@ OUI:D48FAA* - OUI:D491AF* - ID_OUI_FROM_DATABASE=Electroacustica General Iberica, S.A. - -+OUI:D49398* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:D493A0* - ID_OUI_FROM_DATABASE=Fidelix Oy - -@@ -68057,7 +68300,7 @@ OUI:D89695* - ID_OUI_FROM_DATABASE=Apple - - OUI:D8973B* -- ID_OUI_FROM_DATABASE=Emerson Network Power Embedded Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:D89760* - ID_OUI_FROM_DATABASE=C2 Development, Inc. -@@ -68170,6 +68413,9 @@ OUI:D8DF0D* - OUI:D8E3AE* - ID_OUI_FROM_DATABASE=CIRTEC MEDICAL SYSTEMS - -+OUI:D8E56D* -+ ID_OUI_FROM_DATABASE=TCT Mobile Limited -+ - OUI:D8E72B* - ID_OUI_FROM_DATABASE=OnPATH Technologies - -@@ -69319,6 +69565,9 @@ OUI:E8F928* - OUI:E8FC60* - ID_OUI_FROM_DATABASE=ELCOM Innovations Private Limited - -+OUI:E8FCAF* -+ ID_OUI_FROM_DATABASE=NETGEAR INC., -+ - OUI:EC0ED6* - ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS - -@@ -69442,6 +69691,9 @@ OUI:EC888F* - OUI:EC89F5* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:EC8A4C* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:EC8EAD* - ID_OUI_FROM_DATABASE=DLX - -@@ -70099,6 +70351,9 @@ OUI:F4CE46* - OUI:F4CFE2* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:F4D261* -+ ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd -+ - OUI:F4D9FB* - ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD - -@@ -70111,6 +70366,9 @@ OUI:F4DCDA* - OUI:F4DCF9* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:F4DD9E* -+ ID_OUI_FROM_DATABASE=GoPro -+ - OUI:F4E142* - ID_OUI_FROM_DATABASE=Delta Elektronika BV - -@@ -70318,6 +70576,9 @@ OUI:F87B8C* - OUI:F8811A* - ID_OUI_FROM_DATABASE=OVERKIZ - -+OUI:F884F2* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:F88C1C* - ID_OUI_FROM_DATABASE=KAISHUN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING - -@@ -70586,7 +70847,7 @@ OUI:FC3FAB* - ID_OUI_FROM_DATABASE=Henan Lanxin Technology Co., Ltd - - OUI:FC4463* -- ID_OUI_FROM_DATABASE=Universal Audio -+ ID_OUI_FROM_DATABASE=Universal Audio, Inc - - OUI:FC4499* - ID_OUI_FROM_DATABASE=Swarco LEA d.o.o. -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 371a685..d54cb2a 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -497,6 +497,9 @@ pci:v00000E11d0000F130* - pci:v00000E11d0000F150* - ID_MODEL_FROM_DATABASE=NetFlex-3/P ThunderLAN 2.3 - -+pci:v00000E55* -+ ID_VENDOR_FROM_DATABASE=HaSoTec GmbH -+ - pci:v00000EAC* - ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG - -@@ -1169,6 +1172,12 @@ pci:v00001000d00000073sv00001137sd000000B0* - pci:v00001000d00000073sv00001137sd000000B1* - ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i - -+pci:v00001000d00000073sv00001137sd000000C2* -+ ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide -+ -+pci:v00001000d00000073sv00001137sd000000C3* -+ ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide -+ - pci:v00001000d00000073sv000015D9sd00000400* - ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR - -@@ -1665,25 +1674,25 @@ pci:v00001002d00001307* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d00001309* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d0000130A* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] - - pci:v00001002d0000130B* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] - - pci:v00001002d0000130C* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d0000130D* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] - - pci:v00001002d0000130E* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] - - pci:v00001002d0000130F* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d00001310* - ID_MODEL_FROM_DATABASE=Kaveri -@@ -1695,7 +1704,7 @@ pci:v00001002d00001312* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d00001313* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d00001314* - ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio -@@ -1704,22 +1713,25 @@ pci:v00001002d00001314sv0000174Bsd00001001* - ID_MODEL_FROM_DATABASE=PURE Fusion Mini - - pci:v00001002d00001315* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] - - pci:v00001002d00001316* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] - - pci:v00001002d00001317* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d00001318* -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] -+ - pci:v00001002d0000131B* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] - - pci:v00001002d0000131C* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d0000131D* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] - - pci:v00001002d00001714* - ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] -@@ -4275,7 +4287,7 @@ pci:v00001002d00006641* - ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] - - pci:v00001002d00006649* -- ID_MODEL_FROM_DATABASE=Bonaire -+ ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] - - pci:v00001002d00006650* - ID_MODEL_FROM_DATABASE=Bonaire -@@ -4326,13 +4338,13 @@ pci:v00001002d00006663sv00001025sd00000846* - ID_MODEL_FROM_DATABASE=Radeon HD 8570A - - pci:v00001002d00006664* -- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] -+ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] - - pci:v00001002d00006665* - ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] - - pci:v00001002d00006667* -- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] -+ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] - - pci:v00001002d0000666F* - ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] -@@ -5808,7 +5820,7 @@ pci:v00001002d00006792* - ID_MODEL_FROM_DATABASE=Tahiti - - pci:v00001002d00006798* -- ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/R9 280X] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] - - pci:v00001002d00006798sv00001002sd00003000* - ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -@@ -5934,7 +5946,7 @@ pci:v00001002d000067B1* - ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] - - pci:v00001002d000067B9* -- ID_MODEL_FROM_DATABASE=Vesuvius -+ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] - - pci:v00001002d000067BE* - ID_MODEL_FROM_DATABASE=Hawaii LE -@@ -5952,7 +5964,7 @@ pci:v00001002d00006800sv00008086sd00002111* - ID_MODEL_FROM_DATABASE=Radeon HD 7970M - - pci:v00001002d00006801* -- ID_MODEL_FROM_DATABASE=Neptune [Radeon HD 8970M] -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] - - pci:v00001002d00006801sv00001002sd00000124* - ID_MODEL_FROM_DATABASE=Radeon HD 8970M -@@ -6017,6 +6029,9 @@ pci:v00001002d00006820* - pci:v00001002d00006820sv0000103Csd00001851* - ID_MODEL_FROM_DATABASE=Radeon HD 7750M - -+pci:v00001002d00006820sv000017AAsd00003801* -+ ID_MODEL_FROM_DATABASE=Radeon R9 M275 -+ - pci:v00001002d00006821* - ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] - -@@ -7817,6 +7832,12 @@ pci:v00001002d000068FAsv000017AFsd00003015* - pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE - -+pci:v00001002d00006900* -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] -+ -+pci:v00001002d00006901* -+ ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] -+ - pci:v00001002d00006920* - ID_MODEL_FROM_DATABASE=Tonga - -@@ -10391,6 +10412,15 @@ pci:v00001014d0000034Asv00001014sd00000499* - pci:v00001014d0000034Asv00001014sd0000049A* - ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) - -+pci:v00001014d0000034Asv00001014sd000004C7* -+ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) -+ -+pci:v00001014d0000034Asv00001014sd000004C8* -+ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) -+ -+pci:v00001014d0000034Asv00001014sd00000C49* -+ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) -+ - pci:v00001014d000004AA* - ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) - -@@ -13793,6 +13823,63 @@ pci:v0000103Cd00003238sv0000103Csd00003211* - pci:v0000103Cd00003238sv0000103Csd00003212* - ID_MODEL_FROM_DATABASE=Smart Array E200 - -+pci:v0000103Cd00003239* -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers -+ -+pci:v0000103Cd00003239sv0000103Csd000021BD* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021BE* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021BF* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C0* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C1* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C2* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C3* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C4* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C5* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C6* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C7* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C8* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C9* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CA* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CB* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CC* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CD* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CE* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ - pci:v0000103Cd0000323A* - ID_MODEL_FROM_DATABASE=Smart Array G6 controllers - -@@ -17954,6 +18041,54 @@ pci:v0000109Ed0000036Esv000018ACsd0000D500* - pci:v0000109Ed0000036Esv0000270Fsd0000FC00* - ID_MODEL_FROM_DATABASE=Digitop DTT-1000 - -+pci:v0000109Ed0000036Esv0000AA00sd00001460* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 -+ -+pci:v0000109Ed0000036Esv0000AA01sd00001461* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 -+ -+pci:v0000109Ed0000036Esv0000AA02sd00001462* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 -+ -+pci:v0000109Ed0000036Esv0000AA03sd00001463* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 -+ -+pci:v0000109Ed0000036Esv0000AA04sd00001464* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 -+ -+pci:v0000109Ed0000036Esv0000AA05sd00001465* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 -+ -+pci:v0000109Ed0000036Esv0000AA06sd00001466* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 -+ -+pci:v0000109Ed0000036Esv0000AA07sd00001467* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 -+ -+pci:v0000109Ed0000036Esv0000AA08sd00001468* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 -+ -+pci:v0000109Ed0000036Esv0000AA09sd00001469* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 -+ -+pci:v0000109Ed0000036Esv0000AA0Asd0000146A* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 -+ -+pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 -+ -+pci:v0000109Ed0000036Esv0000AA0Csd0000146C* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 -+ -+pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 -+ -+pci:v0000109Ed0000036Esv0000AA0Esd0000146E* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 -+ -+pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 -+ - pci:v0000109Ed0000036Esv0000BD11sd00001200* - ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) - -@@ -26009,6 +26144,9 @@ pci:v000010DEd00000E1A* - pci:v000010DEd00000E1B* - ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller - -+pci:v000010DEd00000E1Bsv0000103Csd0000197B* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v000010DEd00000E1Bsv00001043sd00008428* - ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 - -@@ -26165,6 +26303,9 @@ pci:v000010DEd00000FF5* - pci:v000010DEd00000FF6* - ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] - -+pci:v000010DEd00000FF6sv0000103Csd0000197B* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v000010DEd00000FF7* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] - -@@ -26234,6 +26375,12 @@ pci:v000010DEd00001005sv00003842sd00002794* - pci:v000010DEd00001005sv00003842sd00002795* - ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature - -+pci:v000010DEd00001007* -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] -+ -+pci:v000010DEd00001008* -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Ti Rev. 2] -+ - pci:v000010DEd0000100A* - ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] - -@@ -26294,6 +26441,9 @@ pci:v000010DEd0000104Asv000010B0sd0000104A* - pci:v000010DEd0000104B* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] - -+pci:v000010DEd0000104C* -+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] -+ - pci:v000010DEd00001050* - ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] - -@@ -26333,6 +26483,24 @@ pci:v000010DEd00001058sv00001043sd000010BC* - pci:v000010DEd00001058sv00001043sd00001652* - ID_MODEL_FROM_DATABASE=GeForce GT 610M - -+pci:v000010DEd00001058sv000017AAsd0000367A* -+ ID_MODEL_FROM_DATABASE=GeForce 610M -+ -+pci:v000010DEd00001058sv000017AAsd00003682* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd00001058sv000017AAsd00003687* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd00001058sv000017AAsd00003692* -+ ID_MODEL_FROM_DATABASE=GeForce 705A -+ -+pci:v000010DEd00001058sv000017AAsd00003695* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd00001058sv000017AAsd0000A117* -+ ID_MODEL_FROM_DATABASE=GeForce 610M -+ - pci:v000010DEd00001059* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] - -@@ -26351,6 +26519,15 @@ pci:v000010DEd0000105B* - pci:v000010DEd0000105Bsv0000103Csd00002AFB* - ID_MODEL_FROM_DATABASE=GeForce 705A - -+pci:v000010DEd0000105Bsv000017AAsd0000309D* -+ ID_MODEL_FROM_DATABASE=GeForce 705A -+ -+pci:v000010DEd0000105Bsv000017AAsd000030B1* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd0000105Bsv000017AAsd000036A1* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ - pci:v000010DEd0000107C* - ID_MODEL_FROM_DATABASE=GF119 [NVS 315] - -@@ -26675,6 +26852,30 @@ pci:v000010DEd00001140sv00001043sd000014C7* - pci:v000010DEd00001140sv00001043sd00001507* - ID_MODEL_FROM_DATABASE=GeForce GT 620M - -+pci:v000010DEd00001140sv00001043sd000015AD* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd000015ED* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000160D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000163D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000166D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd000016CD* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd000016DD* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000170D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ - pci:v000010DEd00001140sv00001043sd00002132* - ID_MODEL_FROM_DATABASE=GeForce GT 620M - -@@ -26699,6 +26900,12 @@ pci:v000010DEd00001140sv00001043sd0000223A* - pci:v000010DEd00001140sv00001043sd0000224A* - ID_MODEL_FROM_DATABASE=GeForce GT 710M - -+pci:v000010DEd00001140sv00001043sd0000227A* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000228A* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ - pci:v000010DEd00001140sv00001043sd00008595* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -@@ -26864,9 +27071,48 @@ pci:v000010DEd00001140sv000017AAsd00002213* - pci:v000010DEd00001140sv000017AAsd00002220* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -+pci:v000010DEd00001140sv000017AAsd0000309C* -+ ID_MODEL_FROM_DATABASE=GeForce GT 720A -+ -+pci:v000010DEd00001140sv000017AAsd000030B4* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ - pci:v000010DEd00001140sv000017AAsd00003656* - ID_MODEL_FROM_DATABASE=GeForce GT 620M - -+pci:v000010DEd00001140sv000017AAsd0000365A* -+ ID_MODEL_FROM_DATABASE=GeForce 705M -+ -+pci:v000010DEd00001140sv000017AAsd0000365E* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd0000366C* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd00003685* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd00003686* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd00003687* -+ ID_MODEL_FROM_DATABASE=GeForce 705A -+ -+pci:v000010DEd00001140sv000017AAsd00003696* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369B* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369C* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369D* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369E* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ - pci:v000010DEd00001140sv000017AAsd00003800* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -@@ -27044,6 +27290,9 @@ pci:v000010DEd0000118F* - pci:v000010DEd00001193* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] - -+pci:v000010DEd00001195* -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] -+ - pci:v000010DEd00001198* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] - -@@ -27173,6 +27422,9 @@ pci:v000010DEd000011E2* - pci:v000010DEd000011E3* - ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] - -+pci:v000010DEd000011E3sv000017AAsd00003683* -+ ID_MODEL_FROM_DATABASE=GeForce GTX 760A -+ - pci:v000010DEd000011FA* - ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] - -@@ -27323,6 +27575,9 @@ pci:v000010DEd00001282* - pci:v000010DEd00001284* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 630 Rev. 2] - -+pci:v000010DEd00001286* -+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] -+ - pci:v000010DEd00001290* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] - -@@ -27380,6 +27635,15 @@ pci:v000010DEd00001340* - pci:v000010DEd00001341* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] - -+pci:v000010DEd00001341sv000017AAsd00003697* -+ ID_MODEL_FROM_DATABASE=GeForce 840A -+ -+pci:v000010DEd00001341sv000017AAsd00003699* -+ ID_MODEL_FROM_DATABASE=GeForce 840A -+ -+pci:v000010DEd00001341sv000017AAsd0000369C* -+ ID_MODEL_FROM_DATABASE=GeForce 840A -+ - pci:v000010DEd00001380* - ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] - -@@ -27395,6 +27659,12 @@ pci:v000010DEd00001390* - pci:v000010DEd00001391* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] - -+pci:v000010DEd00001391sv000017AAsd00003697* -+ ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ -+pci:v000010DEd00001391sv000017AAsd0000A125* -+ ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ - pci:v000010DEd00001392* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] - -@@ -27839,6 +28109,9 @@ pci:v000010ECd00005227* - pci:v000010ECd00005227sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -+pci:v000010ECd00005227sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v000010ECd00005229* - ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader - -@@ -27848,6 +28121,12 @@ pci:v000010ECd00005229sv00001025sd00000813* - pci:v000010ECd00005229sv0000103Csd0000194E* - ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook - -+pci:v000010ECd00005249* -+ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader -+ -+pci:v000010ECd00005249sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v000010ECd00005288* - ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader - -@@ -30561,7 +30840,7 @@ pci:v0000110Ad00004021* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) - - pci:v0000110Ad00004029* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 - - pci:v0000110Ad00004029sv0000110Asd00004029* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 -@@ -30581,6 +30860,9 @@ pci:v0000110Ad00004038* - pci:v0000110Ad00004069* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 - -+pci:v0000110Ad00004069sv0000110Asd00004069* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 -+ - pci:v0000110Ad00004069sv0000110Asd0000C069* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 - -@@ -31541,6 +31823,9 @@ pci:v00001131d00007133sv0000153Bsd00001160* - pci:v00001131d00007133sv0000153Bsd00001162* - ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile - -+pci:v00001131d00007133sv000017DEsd00007256* -+ ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card -+ - pci:v00001131d00007133sv000017DEsd00007350* - ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner - -@@ -33651,7 +33936,7 @@ pci:v00001180d00000476sv000014EFsd00000220* - ID_MODEL_FROM_DATABASE=PCD-RP-220S - - pci:v00001180d00000476sv000017AAsd0000201C* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00001180d00000476sv000017AAsd000020C4* - ID_MODEL_FROM_DATABASE=ThinkPad T61 -@@ -33711,7 +33996,7 @@ pci:v00001180d00000552sv0000144Dsd0000C00C* - ID_MODEL_FROM_DATABASE=P30/P35 notebook - - pci:v00001180d00000552sv000017AAsd0000201E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00001180d00000554* - ID_MODEL_FROM_DATABASE=R5C554 -@@ -33813,7 +34098,7 @@ pci:v00001180d00000822sv0000144Dsd0000C018* - ID_MODEL_FROM_DATABASE=X20 IV - - pci:v00001180d00000822sv000017AAsd0000201D* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00001180d00000822sv000017AAsd000020C7* - ID_MODEL_FROM_DATABASE=ThinkPad T61 -@@ -33833,6 +34118,9 @@ pci:v00001180d00000832sv00001028sd000001D7* - pci:v00001180d00000832sv00001028sd000001F3* - ID_MODEL_FROM_DATABASE=Inspiron 1420 - -+pci:v00001180d00000832sv00001028sd0000024D* -+ ID_MODEL_FROM_DATABASE=Latitude E4300 -+ - pci:v00001180d00000832sv0000103Csd000030B5* - ID_MODEL_FROM_DATABASE=Presario V3242AU - -@@ -49442,6 +49730,18 @@ pci:v00001797d00006812* - pci:v00001797d00006813* - ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller - -+pci:v00001797d00006814* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ -+pci:v00001797d00006815* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ -+pci:v00001797d00006816* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ -+pci:v00001797d00006817* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ - pci:v00001799* - ID_VENDOR_FROM_DATABASE=Belkin - -@@ -50978,12 +51278,33 @@ pci:v00001924d00000813sv00001924sd00007904* - pci:v00001924d00000903* - ID_MODEL_FROM_DATABASE=SFC9120 - -+pci:v00001924d00000903sv00001014sd000004CC* -+ ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra -+ - pci:v00001924d00000903sv00001924sd00008002* - ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter - -+pci:v00001924d00000903sv00001924sd00008003* -+ ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ - pci:v00001924d00000903sv00001924sd00008006* - ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter - -+pci:v00001924d00000903sv00001924sd00008007* -+ ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter -+ -+pci:v00001924d00000903sv00001924sd00008009* -+ ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter -+ -+pci:v00001924d00000903sv00001924sd0000800A* -+ ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter -+ -+pci:v00001924d00000923* -+ ID_MODEL_FROM_DATABASE=SFC9140 -+ -+pci:v00001924d00000923sv00001924sd0000800B* -+ ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ - pci:v00001924d00001803* - ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] - -@@ -51227,6 +51548,9 @@ pci:v00001957d00000083* - pci:v00001957d00000084* - ID_MODEL_FROM_DATABASE=MPC8347E PBGA - -+pci:v00001957d00000084sv0000110Asd00004074* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 -+ - pci:v00001957d00000085* - ID_MODEL_FROM_DATABASE=MPC8347 PBGA - -@@ -51456,7 +51780,7 @@ pci:v00001969d00002062* - ID_MODEL_FROM_DATABASE=AR8152 v2.0 Fast Ethernet - - pci:v00001969d0000E091* -- ID_MODEL_FROM_DATABASE=Killer E2200 Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=Killer E220x Gigabit Ethernet Controller - - pci:v0000196A* - ID_VENDOR_FROM_DATABASE=Sensory Networks Inc. -@@ -52214,8 +52538,14 @@ pci:v00001AF4d00001005* - pci:v00001AF4d00001009* - ID_MODEL_FROM_DATABASE=Virtio filesystem - -+pci:v00001AF4d00001010* -+ ID_MODEL_FROM_DATABASE=Virtio GPU -+ -+pci:v00001AF4d00001012* -+ ID_MODEL_FROM_DATABASE=Virtio input device -+ - pci:v00001AF4d00001110* -- ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory -+ ID_MODEL_FROM_DATABASE=Inter-VM shared memory - - pci:v00001AF4d00001110sv00001AF4sd00001100* - ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -@@ -52397,6 +52727,9 @@ pci:v00001B4Bd000091A4* - pci:v00001B4Bd00009230* - ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller - -+pci:v00001B4Bd00009445* -+ ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller -+ - pci:v00001B4Bd00009480* - ID_MODEL_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller - -@@ -55550,15 +55883,24 @@ pci:v00008086d00000964* - pci:v00008086d00000A04* - ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller - -+pci:v00008086d00000A04sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00000A06* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - - pci:v00008086d00000A0C* - ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller - -+pci:v00008086d00000A0Csv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00000A16* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - -+pci:v00008086d00000A16sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00000A22* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - -@@ -55655,6 +55997,9 @@ pci:v00008086d00000C01* - pci:v00008086d00000C04* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller - -+pci:v00008086d00000C04sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00000C04sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -57360,7 +57705,7 @@ pci:v00008086d0000109Asv000017AAsd00002001* - ID_MODEL_FROM_DATABASE=ThinkPad T60 - - pci:v00008086d0000109Asv000017AAsd0000207E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00008086d0000109Asv00008086sd0000109A* - ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection -@@ -58847,6 +59192,9 @@ pci:v00008086d00001539* - pci:v00008086d0000153A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM - -+pci:v00008086d0000153Asv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d0000153Asv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -58901,6 +59249,9 @@ pci:v00008086d00001559* - pci:v00008086d0000155A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM - -+pci:v00008086d0000155Asv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d0000155C* - ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter - -@@ -63816,7 +64167,7 @@ pci:v00008086d000027A0sv000017AAsd00002015* - ID_MODEL_FROM_DATABASE=ThinkPad T60 - - pci:v00008086d000027A0sv000017AAsd00002017* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027A1* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port -@@ -63834,7 +64185,7 @@ pci:v00008086d000027A2sv0000103Csd000030A1* - ID_MODEL_FROM_DATABASE=NC2400 - - pci:v00008086d000027A2sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027A2sv00009902sd00001584* - ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F -@@ -63849,7 +64200,7 @@ pci:v00008086d000027A6sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) - - pci:v00008086d000027A6sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027AC* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub -@@ -63915,7 +64266,7 @@ pci:v00008086d000027B9sv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop - - pci:v00008086d000027B9sv000017AAsd00002009* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027BC* - ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller -@@ -64035,7 +64386,7 @@ pci:v00008086d000027C5sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=Compaq nw8440 - - pci:v00008086d000027C5sv000017AAsd0000200D* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027C6* - ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] -@@ -64095,7 +64446,7 @@ pci:v00008086d000027C8sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027C8sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027C8sv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64161,7 +64512,7 @@ pci:v00008086d000027C9sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027C9sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027C9sv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64227,7 +64578,7 @@ pci:v00008086d000027CAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027CAsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027CAsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64287,7 +64638,7 @@ pci:v00008086d000027CBsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027CBsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027CBsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64347,7 +64698,7 @@ pci:v00008086d000027CCsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027CCsv000017AAsd0000200B* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027CCsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64509,7 +64860,7 @@ pci:v00008086d000027D8sv00001734sd000010AD* - ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP - - pci:v00008086d000027D8sv000017AAsd00002010* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027D8sv000017AAsd00003802* - ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] -@@ -64569,7 +64920,7 @@ pci:v00008086d000027DAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027DAsv000017AAsd0000200F* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027DAsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64647,7 +64998,7 @@ pci:v00008086d000027DFsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027DFsv000017AAsd0000200C* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027DFsv00008086sd0000544E* - ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -@@ -70358,6 +70709,9 @@ pci:v00008086d00008C02* - pci:v00008086d00008C03* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] - -+pci:v00008086d00008C03sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C03sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70442,6 +70796,9 @@ pci:v00008086d00008C1F* - pci:v00008086d00008C20* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller - -+pci:v00008086d00008C20sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C20sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70451,6 +70808,9 @@ pci:v00008086d00008C21* - pci:v00008086d00008C22* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller - -+pci:v00008086d00008C22sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C22sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70463,18 +70823,27 @@ pci:v00008086d00008C24* - pci:v00008086d00008C26* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 - -+pci:v00008086d00008C26sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C26sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - - pci:v00008086d00008C2D* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 - -+pci:v00008086d00008C2Dsv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C2Dsv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - - pci:v00008086d00008C31* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI - -+pci:v00008086d00008C31sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C31sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70487,6 +70856,9 @@ pci:v00008086d00008C34* - pci:v00008086d00008C3A* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 - -+pci:v00008086d00008C3Asv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C3Asv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70547,6 +70919,9 @@ pci:v00008086d00008C4E* - pci:v00008086d00008C4F* - ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller - -+pci:v00008086d00008C4Fsv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C4Fsv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70820,6 +71195,9 @@ pci:v00008086d00009C02* - pci:v00008086d00009C03* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] - -+pci:v00008086d00009C03sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C04* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] - -@@ -70907,12 +71285,18 @@ pci:v00008086d00009C1F* - pci:v00008086d00009C20* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller - -+pci:v00008086d00009C20sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C21* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller - - pci:v00008086d00009C22* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller - -+pci:v00008086d00009C22sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C23* - ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters - -@@ -70922,12 +71306,18 @@ pci:v00008086d00009C24* - pci:v00008086d00009C26* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 - -+pci:v00008086d00009C26sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C2D* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 - - pci:v00008086d00009C31* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC - -+pci:v00008086d00009C31sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C35* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller - -@@ -70937,6 +71327,9 @@ pci:v00008086d00009C36* - pci:v00008086d00009C3A* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 - -+pci:v00008086d00009C3Asv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C3B* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 - -@@ -70958,6 +71351,9 @@ pci:v00008086d00009C42* - pci:v00008086d00009C43* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller - -+pci:v00008086d00009C43sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C44* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller - -@@ -72557,6 +72953,54 @@ pci:v0000A727d00000013* - pci:v0000A727d00006803* - ID_MODEL_FROM_DATABASE=3CRDAG675B Wireless 11a/b/g Adapter - -+pci:v0000AA00* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA01* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA02* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA03* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA04* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA05* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA06* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA07* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA08* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA09* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0A* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0B* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0C* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0D* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0E* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0F* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ - pci:v0000AA42* - ID_VENDOR_FROM_DATABASE=Scitex Digital Video - --- -1.7.9.2 - diff --git a/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch b/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch deleted file mode 100644 index 17cd4197..00000000 --- a/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch +++ /dev/null @@ -1,25 +0,0 @@ -From fdb8bd0fe7244b72ddc1c08e401ebddefdaf4f46 Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:38 +0200 -Subject: [PATCH] include fcntl.h rather than sys/fcntl.h - ---- - src/socket-proxy/socket-proxyd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/socket-proxy/socket-proxyd.c src/socket-proxy/socket-proxyd.c -index 81d8457..ff2b24f 100644 ---- src/socket-proxy/socket-proxyd.c -+++ src/socket-proxy/socket-proxyd.c -@@ -26,7 +26,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include --- -1.7.9.2 - diff --git a/0002-journal-compress-improve-xz-compression-performance.patch b/0002-journal-compress-improve-xz-compression-performance.patch deleted file mode 100644 index adccdaad..00000000 --- a/0002-journal-compress-improve-xz-compression-performance.patch +++ /dev/null @@ -1,82 +0,0 @@ -Based on 1930eed2a7855d2df06ccf51f9e394428bf547e2 Mon Sep 17 00:00:00 2001 -From: Jon Severinsson -Date: Tue, 8 Jul 2014 18:29:46 +0200 -Subject: [PATCH] journal/compress: improve xz compression performance - -The new lzma2 compression options at the top of compress_blob_xz are -equivalent to using preset "0", exept for using a 1 MiB dictionary -(the same as preset "1"). This makes the memory usage at most 7.5 MiB -in the compressor, and 1 MiB in the decompressor, instead of the -previous 92 MiB in the compressor and 8 MiB in the decompressor. - -According to test-compress-benchmark this commit makes XZ compression -20 times faster, with no increase in compressed data size. -Using more realistic test data (an ELF binary rather than repeating -ASCII letters 'a' through 'z' in order) it only provides a factor 10 -speedup, and at a cost if a 10% increase in compressed data size. -But that is still a worthwhile trade-off. - -According to test-compress-benchmark XZ compression is still 25 times -slower than LZ4, but the compressed data is one eighth the size. -Using more realistic test data XZ compression is only 18 times slower -than LZ4, and the compressed data is only one quarter the size. - ---- - src/journal/compress.c | 33 ++++++++++++++------------------- - 1 file changed, 14 insertions(+), 19 deletions(-) - ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 12:09:45.814235274 +0000 -@@ -28,8 +28,15 @@ - #include "compress.h" - - bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { -- lzma_stream s = LZMA_STREAM_INIT; -+ static const lzma_options_lzma opt = { -+ 1u << 20u, NULL, 0, LZMA_LC_DEFAULT, LZMA_LP_DEFAULT, -+ LZMA_PB_DEFAULT, LZMA_MODE_FAST, 128, LZMA_MF_HC3, 4}; -+ static const lzma_filter filters[2] = { -+ {LZMA_FILTER_LZMA2, (lzma_options_lzma*) &opt}, -+ {LZMA_VLI_UNKNOWN, NULL} -+ }; - lzma_ret ret; -+ size_t out_pos = 0; - bool b = false; - - assert(src); -@@ -40,29 +47,17 @@ bool compress_blob(const void *src, uint - /* Returns false if we couldn't compress the data or the - * compressed result is longer than the original */ - -- ret = lzma_easy_encoder(&s, LZMA_PRESET_DEFAULT, LZMA_CHECK_NONE); -- if (ret != LZMA_OK) -+ if (src_size < 80) - return false; - -- s.next_in = src; -- s.avail_in = src_size; -- s.next_out = dst; -- s.avail_out = src_size; -- -- /* Does it fit? */ -- if (lzma_code(&s, LZMA_FINISH) != LZMA_STREAM_END) -- goto fail; -- -- /* Is it actually shorter? */ -- if (s.avail_out == 0) -- goto fail; -+ ret = lzma_stream_buffer_encode((lzma_filter*) filters, LZMA_CHECK_NONE, NULL, -+ src, src_size, dst, &out_pos, src_size - 1); -+ if (ret != LZMA_OK) -+ return false; - -- *dst_size = src_size - s.avail_out; -+ *dst_size = out_pos; - b = true; - --fail: -- lzma_end(&s); -- - return b; - } - diff --git a/0002-journal-properly-detect-language-specified-in-line.patch b/0002-journal-properly-detect-language-specified-in-line.patch deleted file mode 100644 index 361518a2..00000000 --- a/0002-journal-properly-detect-language-specified-in-line.patch +++ /dev/null @@ -1,99 +0,0 @@ -From baf167ee0a2953f98e4e7d4c35752ef737832674 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Apr 2014 20:57:27 -0400 -Subject: [PATCH] journal: properly detect language specified in line - -... it turns out that the duplicates in our own catalog were not real -duplicates, but translations. ---- - TODO | 2 ++ - src/journal/catalog.c | 53 +++++++++++++++++++++++++++++++------------------ - 2 files changed, 36 insertions(+), 19 deletions(-) - -diff --git TODO TODO -index 0343b94..a7307f7 100644 ---- TODO -+++ TODO -@@ -709,6 +709,8 @@ External: - - * fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it - -+* register catalog database signature as file magic -+ - Regularly: - - * look for close() vs. close_nointr() vs. close_nointr_nofail() -diff --git src/journal/catalog.c src/journal/catalog.c -index 02dedc4..f03357d 100644 ---- src/journal/catalog.c -+++ src/journal/catalog.c -@@ -159,6 +159,37 @@ int catalog_file_lang(const char* filename, char **lang) { - return 1; - } - -+static int catalog_entry_lang(const char* filename, int line, -+ const char* t, const char* deflang, char **lang) { -+ size_t c; -+ -+ c = strlen(t); -+ if (c == 0) { -+ log_error("[%s:%u] Language too short.", filename, line); -+ return -EINVAL; -+ } -+ if (c > 31) { -+ log_error("[%s:%u] language too long.", filename, line); -+ return -EINVAL; -+ } -+ -+ if (deflang) { -+ if (streq(t, deflang)) { -+ log_warning("[%s:%u] language specified unnecessarily", -+ filename, line); -+ return 0; -+ } else -+ log_warning("[%s:%u] language differs from default for file", -+ filename, line); -+ } -+ -+ *lang = strdup(t); -+ if (!*lang) -+ return -ENOMEM; -+ -+ return 0; -+} -+ - int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { - _cleanup_fclose_ FILE *f = NULL; - _cleanup_free_ char *payload = NULL; -@@ -238,25 +269,9 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { - if (with_language) { - t = strstrip(line + 2 + 1 + 32 + 1); - -- c = strlen(t); -- if (c <= 0) { -- log_error("[%s:%u] Language too short.", path, n); -- return -EINVAL; -- } -- if (c > 31) { -- log_error("[%s:%u] language too long.", path, n); -- return -EINVAL; -- } -- -- if (deflang) { -- log_warning("[%s:%u] language %s", path, n, -- streq(t, deflang) ? -- "specified unnecessarily" : -- "differs from default for file"); -- lang = strdup(t); -- if (!lang) -- return -ENOMEM; -- } -+ r = catalog_entry_lang(path, n, t, deflang, &lang); -+ if (r < 0) -+ return r; - } - - got_id = true; --- -1.7.9.2 - diff --git a/0002-journalctl-man-allow-only-between-terms.patch b/0002-journalctl-man-allow-only-between-terms.patch deleted file mode 100644 index c29bdf6f..00000000 --- a/0002-journalctl-man-allow-only-between-terms.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 4e6029435111adcad71489aca2dd68bc65aeffd4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 19 Jul 2014 21:05:07 -0400 -Subject: [PATCH] journalctl,man: allow + only between terms - -https://bugzilla.redhat.com/show_bug.cgi?id=1110712 ---- - man/journalctl.xml | 19 +++++++++++++++---- - src/journal/journalctl.c | 20 +++++++++++++++++--- - 2 files changed, 32 insertions(+), 7 deletions(-) - -diff --git man/journalctl.xml man/journalctl.xml -index 47b5a05..df9c794 100644 ---- man/journalctl.xml -+++ man/journalctl.xml -@@ -84,10 +84,11 @@ - field, then they are automatically matched as - alternatives, i.e. the resulting output will show - entries matching any of the specified matches for the -- same field. Finally, if the character -- + appears as a separate word on the -- command line, all matches before and after are combined -- in a disjunction (i.e. logical OR). -+ same field. Finally, the character -+ + may appears as a separate word -+ between other terms on the command line. This causes -+ all matches before and after to be combined in a -+ disjunction (i.e. logical OR). - - As shortcuts for a few types of field/value - matches, file paths may be specified. If a file path -@@ -98,11 +99,21 @@ - _KERNEL_DEVICE= match for the - device. - -+ Additional contraints may be added using options -+ , , -+ etc, to futher limit what entries will be shown -+ (logical AND). -+ - Output is interleaved from all accessible - journal files, whether they are rotated or currently - being written, and regardless of whether they belong to the - system itself or are accessible user journals. - -+ The set of journal files which will be used -+ can be modified using the , -+ , , -+ and options, see below. -+ - All users are granted access to their private - per-user journals. However, by default, only root and - users who are members of the systemd-journal -diff --git src/journal/journalctl.c src/journal/journalctl.c -index 92e8286..7aedbf0 100644 ---- src/journal/journalctl.c -+++ src/journal/journalctl.c -@@ -699,15 +699,20 @@ static int generate_new_id128(void) { - - static int add_matches(sd_journal *j, char **args) { - char **i; -+ bool have_term = false; - - assert(j); - - STRV_FOREACH(i, args) { - int r; - -- if (streq(*i, "+")) -+ if (streq(*i, "+")) { -+ if (!have_term) -+ break; - r = sd_journal_add_disjunction(j); -- else if (path_is_absolute(*i)) { -+ have_term = false; -+ -+ } else if (path_is_absolute(*i)) { - _cleanup_free_ char *p, *t = NULL, *t2 = NULL; - const char *path; - _cleanup_free_ char *interpreter = NULL; -@@ -756,8 +761,12 @@ static int add_matches(sd_journal *j, char **args) { - r = sd_journal_add_match(j, t, 0); - if (t2) - r = sd_journal_add_match(j, t2, 0); -- } else -+ have_term = true; -+ -+ } else { - r = sd_journal_add_match(j, *i, 0); -+ have_term = true; -+ } - - if (r < 0) { - log_error("Failed to add match '%s': %s", *i, strerror(-r)); -@@ -765,6 +774,11 @@ static int add_matches(sd_journal *j, char **args) { - } - } - -+ if (!strv_isempty(args) && !have_term) { -+ log_error("\"+\" can only be used between terms"); -+ return -EINVAL; -+ } -+ - return 0; - } - --- -1.7.9.2 - diff --git a/0002-journald-make-MaxFileSec-really-default-to-1month.patch b/0002-journald-make-MaxFileSec-really-default-to-1month.patch deleted file mode 100644 index 9b48fcae..00000000 --- a/0002-journald-make-MaxFileSec-really-default-to-1month.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on e150e82097211f09b911c7784a89ef9efed713ca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= -Date: Thu, 26 Jun 2014 22:11:35 +0200 -Subject: [PATCH] journald: make MaxFileSec really default to 1month - -journald.conf(5) states that the default for MaxFileSec is one month, -but the code didn't respect that. ---- - src/journal/journald-server.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-01 12:28:25.506735287 +0000 -@@ -68,6 +68,7 @@ - #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE) - #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC) - #define DEFAULT_RATE_LIMIT_BURST 1000 -+#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH - - #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC) - -@@ -1496,6 +1497,8 @@ int server_init(Server *s) { - - s->forward_to_syslog = true; - -+ s->max_file_usec = DEFAULT_MAX_FILE_USEC; -+ - s->max_level_store = LOG_DEBUG; - s->max_level_syslog = LOG_DEBUG; - s->max_level_kmsg = LOG_NOTICE; diff --git a/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch b/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch deleted file mode 100644 index 7ba1dc4d..00000000 --- a/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 1f6d36f267186c0e3184bab4c7eca48481c6faab Mon Sep 17 00:00:00 2001 -From: Hui Wang -Date: Wed, 30 Jul 2014 16:09:08 +0800 -Subject: [PATCH] keymap: Add microphone mute keymap for Dell Latitude - -On the Dell Latitude, the mic mute key event is generated by wmi -driver, the keycode assigned to this hotkey from kernel is -KEY_MICMUTE (248), this keycode is too big for xorg to handle, -in the xorg, the XF86AudioMicMute is assigned to F20. - -Please refer to 4e648ea0 of xkeyboard-config. - -BugLink: https://bugs.launchpad.net/bugs/1326684 -BugLink: https://bugs.launchpad.net/bugs/1339998 -Signed-off-by: Hui Wang -Signed-off-by: Martin Pitt ---- - hwdb/60-keyboard.hwdb | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index c7ff4e4..70e372b 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -229,6 +229,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* - KEYBOARD_KEY_8c=!unknown - -+# Dell Latitude microphone mute -+keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* -+ KEYBOARD_KEY_150=f20 # Mic mute toggle -+ - ########################################################### - # Everex - ########################################################### --- -1.7.9.2 - diff --git a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch deleted file mode 100644 index e921c60b..00000000 --- a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e55edb22a71e67f01534d28f91c6aa27bba48fc1 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Sun, 25 May 2014 12:16:35 +0200 -Subject: [PATCH] keymap: Asus EeePC touchpad toggle key - -Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events, -so use the F21 convention. - -https://bugs.freedesktop.org/show_bug.cgi?id=72807 ---- - hwdb/60-keyboard.hwdb | 1 + - 1 file changed, 1 insertion(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index fe5b3ee..05e6a04 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -138,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* - KEYBOARD_KEY_ef=mute - - keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* -+keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* - KEYBOARD_KEY_6b=f21 # Touchpad Toggle - - ########################################################### --- -1.7.9.2 - diff --git a/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch b/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch deleted file mode 100644 index 28f7bb2a..00000000 --- a/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b4c72e52d2109fe7f0ac3440c81ae3e1ce64a143 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Wed, 12 Nov 2014 23:31:08 +0100 -Subject: [PATCH] keymap: Fix special keys on ThinkPad X60/X61 Tablet - -KEY_DIRECTION is mapped to XF86RotateWindows, to rotate the display: -http://cgit.freedesktop.org/xkeyboard-config/commit/symbols/inet?id=ec875f6f9b7c4028e11d32b071989c682e6502bd - -And F13 is mapped to XF86Tools, which is closest to the original toolbox -usage: -http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/inet?id=7a2c4bed212ebbcc05f3c959aef659ce7dd31fd8#n221 ---- - hwdb/60-keyboard.hwdb | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 56a4009..533ad5b 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -585,8 +585,8 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet* - - # ThinkPad X6 Tablet - keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* -- KEYBOARD_KEY_6c=f21 # rotate -- KEYBOARD_KEY_68=screenlock # screenlock -+ KEYBOARD_KEY_6c=direction # rotate -+ KEYBOARD_KEY_68=f13 # toolbox - KEYBOARD_KEY_6b=esc # escape - KEYBOARD_KEY_6d=right # right on d-pad - KEYBOARD_KEY_6e=left # left on d-pad --- -1.7.9.2 - diff --git a/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch b/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch deleted file mode 100644 index 45af9018..00000000 --- a/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4e3deeedc15b03197d591850061316289245c9a9 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Tue, 7 Oct 2014 11:22:31 +0200 -Subject: [PATCH] keymap: Fix touchpad toggle key on Asus laptops - -https://launchpad.net/bugs/1377352 ---- - hwdb/60-keyboard.hwdb | 1 + - 1 file changed, 1 insertion(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 1fea32a..59f467b 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -153,6 +153,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* - - keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* - keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* -+keyboard:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* - KEYBOARD_KEY_6b=f21 # Touchpad Toggle - - ########################################################### --- -1.7.9.2 - diff --git a/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch b/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch deleted file mode 100644 index e29c01d9..00000000 --- a/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From aba248ee6b1eb10baf3d89eca2ad7569459af6ab Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 30 Oct 2014 10:15:54 +0100 -Subject: [PATCH] keymap: Ignore brightness keys on Dell Inspiron 1520 to - avoid double events - -On the Dell Inspiron 1520 both the atkbd and acpi-video input devices report -an event for pressing the brightness up / down key-combos, resulting in user -space seeing double events and increasing / decreasing the brightness 2 steps -for each keypress. - -This hwdb snippet suppresses the atkbd events, making the Inspiron 1520 work -like most modern laptops which emit brightness up / down events through -acpi-video only. - -Reported by Pavel Malyshev - -https://bugzilla.redhat.com/show_bug.cgi?id=1141525 ---- - hwdb/60-keyboard.hwdb | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 06caba9..d2ca965 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -230,6 +230,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr* - KEYBOARD_KEY_84=wlan - -+# Dell Inspiron 1520 -+keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr* -+ KEYBOARD_KEY_85=unknown # Brightness Down, also emitted by acpi-video, ignore -+ KEYBOARD_KEY_86=unknown # Brightness Up, also emitted by acpi-video, ignore -+ - # Latitude XT2 - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr* - KEYBOARD_KEY_9b=up # tablet rocker up --- -1.7.9.2 - diff --git a/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch b/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch deleted file mode 100644 index a1934486..00000000 --- a/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 3e6b205f81e743c7354ccbc69eb45afbdbebe2dc Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Tue, 25 Feb 2014 13:08:24 +0100 -Subject: [PATCH] login: set pos-slot to fallback on pos-eviction - -If we evict a session position, we open the position slot for future -sessions. However, there might already be another session on the same -position if both were started on the same VT. This is currently done if -gdm spawns the session on its own Xserver. - -Hence, look for such a session on pos-eviction and claim the new slot -immediately. ---- - src/login/logind-seat.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git src/login/logind-seat.c src/login/logind-seat.c -index 36ec7ed..96cf08e 100644 ---- src/login/logind-seat.c -+++ src/login/logind-seat.c -@@ -459,6 +459,7 @@ int seat_stop_sessions(Seat *s, bool force) { - } - - void seat_evict_position(Seat *s, Session *session) { -+ Session *iter; - unsigned int pos = session->pos; - - session->pos = 0; -@@ -466,8 +467,19 @@ void seat_evict_position(Seat *s, Session *session) { - if (!pos) - return; - -- if (pos < s->position_count && s->positions[pos] == session) -+ if (pos < s->position_count && s->positions[pos] == session) { - s->positions[pos] = NULL; -+ -+ /* There might be another session claiming the same -+ * position (eg., during gdm->session transition), so lets look -+ * for it and set it on the free slot. */ -+ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { -+ if (iter->pos == pos) { -+ s->positions[pos] = iter; -+ break; -+ } -+ } -+ } - } - - void seat_claim_position(Seat *s, Session *session, unsigned int pos) { --- -1.7.9.2 - diff --git a/0002-logind-add-support-for-TPS65217-Power-Button.patch b/0002-logind-add-support-for-TPS65217-Power-Button.patch deleted file mode 100644 index 17a576de..00000000 --- a/0002-logind-add-support-for-TPS65217-Power-Button.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 492d7a3038b154e1813a1ece913a5a27148fec19 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Sat, 27 Sep 2014 09:55:44 +0200 -Subject: [PATCH] logind: add support for TPS65217 Power Button - -This PMIC is found on TI AM335x based boards like the beaglebone and -beaglebone black. - -root@beaglebone-white:~# udevadm info -a /dev/input/event0 - -Udevadm info starts with the device specified by the devpath and then -walks up the chain of parent devices. It prints for every device -found, all possible attributes in the udev rules key format. -A rule to match, can be composed by the attributes of the device -and the attributes from one single parent device. - - looking at device -'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0/event0': - KERNEL=="event0" - SUBSYSTEM=="input" - DRIVER=="" - - looking at parent device -'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0': - KERNELS=="input0" - SUBSYSTEMS=="input" - DRIVERS=="" - ATTRS{name}=="tps65217_pwr_but" - ATTRS{phys}=="" - ATTRS{uniq}=="" - ATTRS{properties}=="0" - - looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024': - KERNELS=="0-0024" - SUBSYSTEMS=="i2c" - DRIVERS=="tps65217" - ATTRS{name}=="tps65217" - - looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0': - KERNELS=="i2c-0" - SUBSYSTEMS=="i2c" - DRIVERS=="" - ATTRS{name}=="OMAP I2C adapter" - - looking at parent device '/devices/ocp.3/44e0b000.i2c': - KERNELS=="44e0b000.i2c" - SUBSYSTEMS=="platform" - DRIVERS=="omap_i2c" - - looking at parent device '/devices/ocp.3': - KERNELS=="ocp.3" - SUBSYSTEMS=="platform" - DRIVERS=="" ---- - src/login/70-power-switch.rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules -index a6997f7..695d246 100644 ---- src/login/70-power-switch.rules -+++ src/login/70-power-switch.rules -@@ -10,5 +10,6 @@ ACTION=="remove", GOTO="power_switch_end" - SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" -+SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" - - LABEL="power_switch_end" --- -1.7.9.2 - diff --git a/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch b/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch deleted file mode 100644 index 73ffb867..00000000 --- a/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 301f9684e6465df5d0590f6c571fe3229ded966d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 15 May 2014 18:30:07 +0200 -Subject: [PATCH] logind: bring polkit policy for hibernate in line with - suspend/poweroff/reboot - -THere's no reason why hibernate should be better protected then -suspendor poweroff, so sync the policies. ---- - src/login/org.freedesktop.login1.policy.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/org.freedesktop.login1.policy.in src/login/org.freedesktop.login1.policy.in -index b96d32d..b8e90f1 100644 ---- src/login/org.freedesktop.login1.policy.in -+++ src/login/org.freedesktop.login1.policy.in -@@ -254,7 +254,7 @@ - - auth_admin_keep - auth_admin_keep -- auth_admin_keep -+ yes - - org.freedesktop.login1.hibernate - --- -1.7.9.2 - diff --git a/0002-logind-fix-printf-format.patch b/0002-logind-fix-printf-format.patch deleted file mode 100644 index 61bbc9aa..00000000 --- a/0002-logind-fix-printf-format.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7e9110a29d90041b0364cb93a84aec9dd72363b6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 19:39:51 +0100 -Subject: [PATCH] logind: fix printf format - ---- - src/login/logind-action.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index da5a830..c9d8bc5 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -81,7 +81,7 @@ int manager_handle_action( - - n = manager_count_displays(m); - if (n != 1) { -- log_debug("Ignoring lid switch request, %s displays connected."); -+ log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } - } --- -1.7.9.2 - diff --git a/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch b/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch deleted file mode 100644 index c3381ef7..00000000 --- a/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch +++ /dev/null @@ -1,70 +0,0 @@ -From de58a50e24a0d55e3bbcc77f8f6170a7322acf52 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 18 Mar 2014 04:43:08 +0100 -Subject: [PATCH] machined: fix Kill() bus call on machine objects when "what" - is specified as "leader" - ---- - src/machine/machine.c | 10 +++++++++- - src/machine/machined-dbus.c | 4 ++-- - src/machine/machined.h | 2 +- - 3 files changed, 12 insertions(+), 4 deletions(-) - -diff --git src/machine/machine.c src/machine/machine.c -index 4596a80..9a5cc9a 100644 ---- src/machine/machine.c -+++ src/machine/machine.c -@@ -410,7 +410,15 @@ int machine_kill(Machine *m, KillWho who, int signo) { - if (!m->unit) - return -ESRCH; - -- return manager_kill_unit(m->manager, m->unit, who, signo, NULL); -+ if (who == KILL_LEADER) { -+ /* If we shall simply kill the leader, do so directly */ -+ -+ if (kill(m->leader, signo) < 0) -+ return -errno; -+ } -+ -+ /* Otherwise make PID 1 do it for us, for the entire cgroup */ -+ return manager_kill_unit(m->manager, m->unit, signo, NULL); - } - - static const char* const machine_class_table[_MACHINE_CLASS_MAX] = { -diff --git src/machine/machined-dbus.c src/machine/machined-dbus.c -index 09d28bb..9473105 100644 ---- src/machine/machined-dbus.c -+++ src/machine/machined-dbus.c -@@ -655,7 +655,7 @@ int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c - return 1; - } - --int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error) { -+int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error) { - assert(manager); - assert(unit); - -@@ -667,7 +667,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo - "KillUnit", - error, - NULL, -- "ssi", unit, who == KILL_LEADER ? "main" : "all", signo); -+ "ssi", unit, "all", signo); - } - - int manager_unit_is_active(Manager *manager, const char *unit) { -diff --git src/machine/machined.h src/machine/machined.h -index d4b581b..2dba303 100644 ---- src/machine/machined.h -+++ src/machine/machined.h -@@ -67,6 +67,6 @@ int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_b - - int manager_start_scope(Manager *manager, const char *scope, pid_t pid, const char *slice, const char *description, sd_bus_message *more_properties, sd_bus_error *error, char **job); - int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, char **job); --int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error); -+int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error); - int manager_unit_is_active(Manager *manager, const char *unit); - int manager_job_is_active(Manager *manager, const char *path); --- -1.7.9.2 - diff --git a/0002-man-document-yearly-and-annually-in-systemd.time-7.patch b/0002-man-document-yearly-and-annually-in-systemd.time-7.patch deleted file mode 100644 index 521b22cc..00000000 --- a/0002-man-document-yearly-and-annually-in-systemd.time-7.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 8c275eef38bf7e3e592e4cb35a497522d1f15bb6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Jul 2014 22:17:29 -0400 -Subject: [PATCH] man: document yearly and annually in systemd.time(7) - -https://bugs.freedesktop.org/show_bug.cgi?id=81158 ---- - man/systemd.time.xml | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git man/systemd.time.xml man/systemd.time.xml -index 0706cdf..02431a5 100644 ---- man/systemd.time.xml -+++ man/systemd.time.xml -@@ -243,12 +243,16 @@ - - The special expressions - hourly, daily, -- monthly and weekly -- may be used as calendar events which refer to -- *-*-* *:00:00, *-*-* -- 00:00:00, *-*-01 00:00:00 and -- Mon *-*-* 00:00:00, -- respectively. -+ monthly, weekly, -+ and yearly or -+ annually may be used as calendar -+ events which refer to -+ *-*-* *:00:00, -+ *-*-* 00:00:00, -+ *-*-01 00:00:00, -+ Mon *-*-* 00:00:00, and -+ *-01-01 00:00:00 respectively. -+ - - Examples for valid timestamps and their - normalized form: -@@ -277,6 +281,8 @@ Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03 - daily → *-*-* 00:00:00 - monthly → *-*-01 00:00:00 - weekly → Mon *-*-* 00:00:00 -+ yearly → *-01-01 00:00:00 -+ annually → *-01-01 00:00:00 - *:2/3 → *-*-* *:02/3:00 - - Calendar events are used by timer units, see --- -1.7.9.2 - diff --git a/0002-man-note-that-entire-sections-can-now-be-ignored.patch b/0002-man-note-that-entire-sections-can-now-be-ignored.patch deleted file mode 100644 index 2db35728..00000000 --- a/0002-man-note-that-entire-sections-can-now-be-ignored.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2bcc2523711e69e6daa744641e56ed8b78646676 Mon Sep 17 00:00:00 2001 -From: Michael Marineau -Date: Sat, 17 May 2014 16:09:08 -0700 -Subject: [PATCH] man: note that entire sections can now be ignored - -Prefixing a section name with "X-" will cause it and all of its contents -to be silently ignored as of commit 342aea19. ---- - man/systemd.unit.xml | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 157530b..e903156 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -139,10 +139,12 @@ - Unit files may contain additional options on top - of those listed here. If systemd encounters an unknown - option, it will write a warning log message but -- continue loading the unit. If an option is prefixed -- with , it is ignored completely by -- systemd. Applications may use this to include -- additional information in the unit files. -+ continue loading the unit. If an option or section name -+ is prefixed with , it is ignored -+ completely by systemd. Options within an ignored -+ section do not need the prefix. Applications may use -+ this to include additional information in the unit -+ files. - - Boolean arguments used in unit files can be - written in various formats. For positive settings the --- -1.7.9.2 - diff --git a/0002-man-tmpfiles.d-recommend-using-b-and-c.patch b/0002-man-tmpfiles.d-recommend-using-b-and-c.patch deleted file mode 100644 index bb6c70d2..00000000 --- a/0002-man-tmpfiles.d-recommend-using-b-and-c.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210-mod/man/tmpfiles.d.xml ---- systemd-210/man/tmpfiles.d.xml 2014-12-16 10:16:51.269189374 +0100 -+++ systemd-210-mod/man/tmpfiles.d.xml 2014-12-16 10:39:49.937552189 +0100 -@@ -158,12 +158,18 @@ - - - c -- Create a character device node if it does not exist yet. -+ Create a character device node if it does not exist yet. -+ It is recommended to suffix this entry with an exclamation mark to only -+ create static device nodes at boot, as udev will not manage static device -+ nodes that are created at runtime. - - - - b -- Create a block device node if it does not exist yet. -+ Create a block device node if it does not exist yet. -+ It is recommended to suffix this entry with an exclamation mark to only -+ create static device nodes at boot, as udev will not manage static device -+ nodes that re created at runtime. - - - diff --git a/0002-manager-flush-memory-stream-before-using-the-buffer.patch b/0002-manager-flush-memory-stream-before-using-the-buffer.patch deleted file mode 100644 index 39ca371c..00000000 --- a/0002-manager-flush-memory-stream-before-using-the-buffer.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b2cdc6664ef6b56e47d38649d69b9943d9f9f5d0 Mon Sep 17 00:00:00 2001 -From: Daniel Mack -Date: Fri, 7 Mar 2014 14:43:59 +0100 -Subject: [PATCH] manager: flush memory stream before using the buffer - -When the manager receives a SIGUSR2 signal, it opens a memory stream -with open_memstream(), uses the returned file handle for logging, and -dumps the logged content with log_dump(). - -However, the char* buffer is only safe to use after the file handle has -been flushed with fflush, as the man pages states: - - When the stream is closed (fclose(3)) or flushed (fflush(3)), the - locations pointed to by ptr and sizeloc are updated to contain, - respectively, a pointer to the buffer and the current size of the - buffer. - These values remain valid only as long as the caller performs no - further output on the stream. If further output is performed, then the - stream must again be flushed before trying to access these variables. - -Without that call, dump remains NULL and the daemon crashes in -log_dump(). ---- - src/core/manager.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/core/manager.c src/core/manager.c -index 27a1cc6..78f4f3d 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -1621,6 +1621,11 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t - break; - } - -+ if (fflush(f)) { -+ log_warning("Failed to flush status stream"); -+ break; -+ } -+ - log_dump(LOG_INFO, dump); - break; - } --- -1.7.9.2 - diff --git a/0002-namespace-fix-uninitialized-memory-access.patch b/0002-namespace-fix-uninitialized-memory-access.patch deleted file mode 100644 index bb6ea8ea..00000000 --- a/0002-namespace-fix-uninitialized-memory-access.patch +++ /dev/null @@ -1,28 +0,0 @@ -Based on 002b226843e77630128da580225f9c3ef8474db2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 16:27:53 +0200 -Subject: [PATCH] namespace: fix uninitialized memory access - ---- - src/core/namespace.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- src/core/namespace.c -+++ src/core/namespace.c 2014-07-04 00:00:00.000000000 +0000 -@@ -68,6 +68,7 @@ static int append_mounts(BindMount **p, - STRV_FOREACH(i, strv) { - - (*p)->ignore = false; -+ (*p)->done = false; - - if ((mode == INACCESSIBLE || mode == READONLY) && (*i)[0] == '-') { - (*p)->ignore = true; -@@ -298,7 +299,7 @@ int setup_namespace( - private_dev; - - if (n > 0) { -- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); -+ m = mounts = (BindMount *) alloca0(n * sizeof(BindMount)); - r = append_mounts(&m, read_write_dirs, READWRITE); - if (r < 0) - return r; diff --git a/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch b/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch deleted file mode 100644 index dfbf403c..00000000 --- a/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch +++ /dev/null @@ -1,122 +0,0 @@ -Based on 6d313367d9ef780560e117e886502a99fa220eac Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 21:35:35 +0200 -Subject: [PATCH] namespace: when setting up an inaccessible mount point, - unmounting everything below - -This has the benefit of not triggering any autofs mount points -unnecessarily. - ---- - src/core/namespace.c | 6 ++++ - src/shared/util.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/shared/util.h | 2 + - 3 files changed, 76 insertions(+) - ---- src/core/namespace.c -+++ src/core/namespace.c 2014-06-11 00:00:00.000000000 +0000 -@@ -220,6 +220,12 @@ static int apply_mount( - return mount_dev(m); - - case INACCESSIBLE: -+ -+ /* First, get rid of everything that is below if there -+ * is anything... Then, overmount it with an -+ * inaccessible directory. */ -+ umount_recursive(m->path, 0); -+ - what = "/run/systemd/inaccessible"; - break; - ---- src/shared/util.c -+++ src/shared/util.c 2014-06-11 00:00:00.000000000 +0000 -@@ -54,6 +54,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -4635,6 +4636,73 @@ char *strjoin(const char *x, ...) { - return r; - } - -+int umount_recursive(const char *prefix, int flags) { -+ bool again; -+ int n = 0, r; -+ -+ /* Try to umount everything recursively below a -+ * directory. Also, take care of stacked mounts, and keep -+ * unmounting them until they are gone. */ -+ -+ do { -+ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; -+ -+ again = false; -+ r = 0; -+ -+ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); -+ if (!proc_self_mountinfo) -+ return -errno; -+ -+ for (;;) { -+ _cleanup_free_ char *path = NULL, *p = NULL; -+ int k; -+ -+ k = fscanf(proc_self_mountinfo, -+ "%*s " /* (1) mount id */ -+ "%*s " /* (2) parent id */ -+ "%*s " /* (3) major:minor */ -+ "%*s " /* (4) root */ -+ "%ms " /* (5) mount point */ -+ "%*s" /* (6) mount options */ -+ "%*[^-]" /* (7) optional fields */ -+ "- " /* (8) separator */ -+ "%*s " /* (9) file system type */ -+ "%*s" /* (10) mount source */ -+ "%*s" /* (11) mount options 2 */ -+ "%*[^\n]", /* some rubbish at the end */ -+ &path); -+ -+ if (k != 1) { -+ if (k == EOF) -+ break; -+ -+ continue; -+ } -+ -+ p = cunescape(path); -+ if (!p) -+ return -ENOMEM; -+ -+ if (!path_startswith(p, prefix)) -+ continue; -+ -+ if (umount2(p, flags) < 0) { -+ r = -errno; -+ continue; -+ } -+ -+ again = true; -+ n++; -+ -+ break; -+ } -+ -+ } while (again); -+ -+ return r ? r : n; -+} -+ - bool is_main_thread(void) { - static thread_local int cached = 0; - ---- src/shared/util.h -+++ src/shared/util.h 2014-06-11 10:10:08.000000000 +0000 -@@ -890,3 +890,5 @@ union file_handle_union { - struct file_handle handle; - char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; - }; -+ -+int umount_recursive(const char *target, int flags); diff --git a/0002-nspawn-restore-journal-directory-is-empty-check.patch b/0002-nspawn-restore-journal-directory-is-empty-check.patch deleted file mode 100644 index c3d60bd4..00000000 --- a/0002-nspawn-restore-journal-directory-is-empty-check.patch +++ /dev/null @@ -1,30 +0,0 @@ -From cdb2b9d05a2f3d649f47bd2ba24eb3fe30b52e92 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 May 2014 15:19:46 +0900 -Subject: [PATCH] nspawn: restore journal directory is empty check - -This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9. - -Instead of removing the error message about non-empty journal bind mount -directories, simply downgrade the message to a warning and proceed. ---- - src/nspawn/nspawn.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index ef84664..eb9c5e0 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1143,6 +1143,9 @@ static int setup_journal(const char *directory) { - } else if (access(p, F_OK) < 0) - return 0; - -+ if (dir_is_empty(q) == 0) -+ log_warning("%s is not empty, proceeding anyway.", q); -+ - r = mkdir_p(q, 0755); - if (r < 0) { - log_error("Failed to create %s: %m", q); --- -1.7.9.2 - diff --git a/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch b/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch deleted file mode 100644 index 06a4521c..00000000 --- a/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 85c08dc013f9f99b58bc9b79284af0b35304237b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 13 May 2014 16:35:34 +0200 -Subject: [PATCH] pam_systemd: use F_DUPFD_CLOEXEC when dupping session fds - -http://lists.freedesktop.org/archives/systemd-devel/2014-May/019034.html ---- - src/login/pam-module.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/pam-module.c src/login/pam-module.c -index 9873dd5..1259457 100644 ---- src/login/pam-module.c -+++ src/login/pam-module.c -@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( - } - - if (session_fd >= 0) { -- session_fd = dup(session_fd); -+ session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3); - if (session_fd < 0) { - pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m"); - return PAM_SESSION_ERR; --- -1.7.9.2 - diff --git a/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch b/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch deleted file mode 100644 index 67ad0284..00000000 --- a/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch +++ /dev/null @@ -1,116 +0,0 @@ -Based on 4844262f25a3ff6bd23de05a0a6f84a8e2983d74 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 3 Dec 2014 02:02:11 +0100 -Subject: [PATCH] rfkill: rework how we generate file names from rfkill - devices - -Generate the file name from ID_PATH plus the rfkill type (wlan, -bluetooth, ...) and ignore the rfkill device name, since it apparently -is not a stable identifier. - -Also, ensure that devices disappearing don't result in broken services, -simply exit cleanly. ---- - src/rfkill/rfkill.c | 47 ++++++++++++++++++++++++----------------------- - 1 file changed, 24 insertions(+), 23 deletions(-) - ---- src/rfkill/rfkill.c -+++ src/rfkill/rfkill.c 2014-12-05 12:05:59.053518122 +0000 -@@ -28,8 +28,8 @@ - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_device_unref_ struct udev_device *device = NULL; -- _cleanup_free_ char *saved = NULL, *escaped_name = NULL, *escaped_path_id = NULL; -- const char *name, *path_id; -+ _cleanup_free_ char *saved = NULL, *escaped_type = NULL, *escaped_path_id = NULL; -+ const char *name, *type, *path_id; - int r; - - if (argc != 3) { -@@ -55,25 +55,28 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- errno = 0; - device = udev_device_new_from_subsystem_sysname(udev, "rfkill", argv[2]); - if (!device) { -- if (errno != 0) -- log_error("Failed to get rfkill device '%s': %m", argv[2]); -- else -- log_oom(); -- -- return EXIT_FAILURE; -+ log_debug("Failed to get rfkill device '%s', ignoring: %m", argv[2]); -+ return EXIT_SUCCESS; - } - - name = udev_device_get_sysattr_value(device, "name"); - if (!name) { -- log_error("rfkill device has no name?"); -- return EXIT_FAILURE; -+ log_error("rfkill device has no name? Ignoring device."); -+ return EXIT_SUCCESS; -+ } -+ -+ log_debug("Operating on rfkill device '%s'.", name); -+ -+ type = udev_device_get_sysattr_value(device, "type"); -+ if (!type) { -+ log_error("rfkill device has no type? Ignoring device."); -+ return EXIT_SUCCESS; - } - -- escaped_name = cescape(name); -- if (!escaped_name) { -+ escaped_type = cescape(type); -+ if (!escaped_type) { - log_oom(); - return EXIT_FAILURE; - } -@@ -86,9 +89,9 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_name, NULL); -+ saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_type, NULL); - } else -- saved = strjoin("/var/lib/systemd/rfkill/", escaped_name, NULL); -+ saved = strjoin("/var/lib/systemd/rfkill/", escaped_type, NULL); - - if (!saved) { - log_oom(); -@@ -102,19 +105,17 @@ int main(int argc, char *argv[]) { - return EXIT_SUCCESS; - - r = read_one_line_file(saved, &value); -+ if (r == -ENOENT) -+ return EXIT_SUCCESS; - if (r < 0) { -- -- if (r == -ENOENT) -- return EXIT_SUCCESS; -- - log_error("Failed to read %s: %s", saved, strerror(-r)); - return EXIT_FAILURE; - } - - r = udev_device_set_sysattr_value(device, "soft", value); - if (r < 0) { -- log_error("Failed to write system attribute: %s", strerror(-r)); -- return EXIT_FAILURE; -+ log_debug("Failed to write 'soft' attribute on rfkill device, ignoring: %s", strerror(-r)); -+ return EXIT_SUCCESS; - } - - } else if (streq(argv[1], "save")) { -@@ -122,8 +123,8 @@ int main(int argc, char *argv[]) { - - value = udev_device_get_sysattr_value(device, "soft"); - if (!value) { -- log_error("Failed to read system attribute: %s", strerror(-r)); -- return EXIT_FAILURE; -+ log_debug("Failed to read system attribute, ignoring device: %s", strerror(-r)); -+ return EXIT_SUCCESS; - } - - r = write_string_file(saved, value); diff --git a/0002-shell-completion-prevent-mangling-unit-names.patch b/0002-shell-completion-prevent-mangling-unit-names.patch deleted file mode 100644 index 9d8b1324..00000000 --- a/0002-shell-completion-prevent-mangling-unit-names.patch +++ /dev/null @@ -1,67 +0,0 @@ -Based on 6d314eca15f6cbda38d82774b210f784d3d4f52a Mon Sep 17 00:00:00 2001 -From: Eric Cook -Date: Sat, 26 Jul 2014 11:15:52 -0400 -Subject: [PATCH] shell-completion: prevent mangling unit names - -Units with literal hex '\xFF' in their names has to be read -and printed properly. -dev-disk-byx2dlabel-root.device != dev-disk-by\x2dlabel-root.device ---- - shell-completion/zsh/_systemctl.in | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git shell-completion/zsh/_systemctl.in shell-completion/zsh/_systemctl.in -index d364d17..e681ec6 100644 ---- shell-completion/zsh/_systemctl -+++ shell-completion/zsh/_systemctl -@@ -100,7 +100,7 @@ _systemctl_all_units() - if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) && - ! _retrieve_cache SYS_ALL_UNITS; - then -- _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo " $a"; done; }) ) -+ _sys_all_units=( $(__systemctl list-units --all | { while read -r a b; do echo -E - " $a"; done; }) ) - _store_cache SYS_ALL_UNITS _sys_all_units - fi - } -@@ -113,7 +113,7 @@ _systemctl_really_all_units() - if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) && - ! _retrieve_cache SYS_REALLY_ALL_UNITS; - then -- all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo " $a"; done; }) ) -+ all_unit_files=( $(__systemctl list-unit-files | { while read -r a b; do echo -E - " $a"; done; }) ) - _systemctl_all_units - really_all_units=($_sys_all_units $all_unit_files) - _sys_really_all_units=(${(u)really_all_units}) -@@ -138,12 +138,12 @@ _filter_units_by_property() { - done - } - --_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo " $a"; done; }) )} --_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }) )} --_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo " $a"; done; }) )} --_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo " $a"; done; }) )} --_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo " $a"; done; }) )} --_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo " $a"; done; }) )} -+_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} -+_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} -+_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} -+_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} -+_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} -+_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "masked" ]] && echo -E - " $a"; done; }) )} - - # Completion functions for ALL_UNITS - for fun in is-active is-failed is-enabled status show cat mask preset help list-dependencies ; do -@@ -219,8 +219,8 @@ for fun in restart reload-or-restart ; do - { - _systemctl_all_units - compadd "$@" - $( _filter_units_by_property CanStart yes \ -- ${_sys_all_units[*]} | while read line; do \ -- [[ "$line" =~ \.device$ ]] || echo " $line"; \ -+ ${_sys_all_units[*]} | while read -r line; do \ -+ [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ - done ) - } - done --- -1.7.9.2 - diff --git a/0002-shell-completion-propose-templates-for-disable-re-en.patch b/0002-shell-completion-propose-templates-for-disable-re-en.patch deleted file mode 100644 index 3a58e013..00000000 --- a/0002-shell-completion-propose-templates-for-disable-re-en.patch +++ /dev/null @@ -1,111 +0,0 @@ -Based on e9a19bd882ff8a2c8aef5c63b39525ea231e5fb9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 14 Oct 2014 21:10:02 -0400 -Subject: [PATCH] shell-completion: propose templates for - disable/[re]enable/[re]start - -Templates can be [re]enabled, on their own if the have DefaultInstance set, -and with an instance suffix in all cases. Propose just the template name -ending in @, to underline the instance suffix may have to be appended. - -Likewise for start/restart. - -This means that sometimes superflous units that one will not really -want to operate on will be proposed, but this seems better than -proposing a very incomplete set of names. - -https://bugs.freedesktop.org/show_bug.cgi?id=66912 ---- - shell-completion/bash/systemctl | 15 +++++++++++---- - shell-completion/zsh/_systemctl | 20 +++++++++++++------- - 2 files changed, 24 insertions(+), 11 deletions(-) - ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -53,6 +53,9 @@ __filter_units_by_property () { - - __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ - | { while read -r a b; do echo " $a"; done; }; } -+__get_template_names () { __systemctl $1 list-unit-files \ -+ | { while read -r a b; do [[ $a =~ @\. ]] && echo " ${a%%@.*}@"; done; }; } -+ - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } - __get_startable_units () { -@@ -169,22 +172,26 @@ _systemctl () { - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then -- comps=$( __get_disabled_units $mode ) -+ comps=$( __get_disabled_units $mode; -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then - comps=$( __get_disabled_units $mode; -- __get_enabled_units $mode ) -+ __get_enabled_units $mode; -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -- $( __get_startable_units $mode)) -+ $( __get_startable_units $mode); -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -- $( __get_restartable_units $mode)) -+ $( __get_restartable_units $mode); \ -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then ---- shell-completion/zsh/_systemctl -+++ shell-completion/zsh/_systemctl -@@ -139,6 +139,8 @@ _filter_units_by_property() { - } - - _systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } -+_systemctl_get_template_names() { __systemctl list-unit-files | { while read -r a b; do [[ $a =~ @\. ]] && echo -E - " ${a%%@.*}@"; done; } } -+ - - _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} - _systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} -@@ -158,20 +160,24 @@ for fun in is-active is-failed is-enabled status show cat mask preset help list- - done - - # Completion functions for ENABLED_UNITS --for fun in disable reenable ; do -- (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() -- { -+(( $+functions[_systemctl_disable] )) || _systemctl_disable() -+{ -+ _systemctl_enabled_units -+ compadd "$@" -a - _sys_enabled_units -+} -+ -+(( $+functions[_systemctl_reenable] )) || _systemctl_reenable() -+{ - _systemctl_enabled_units - _systemctl_disabled_units -- compadd "$@" -a - _sys_enabled_units _sys_disabled_units -- } --done -+ compadd "$@" -a - _sys_enabled_units _sys_disabled_units $(_systemctl_get_template_names) -+} - - # Completion functions for DISABLED_UNITS - (( $+functions[_systemctl_enable] )) || _systemctl_enable() - { - _systemctl_disabled_units -- compadd "$@" -a - _sys_disabled_units -+ compadd "$@" -a - _sys_disabled_units $(_systemctl_get_template_names) - } - - # Completion functions for FAILED_UNITS --- -1.7.9.2 - diff --git a/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch b/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch deleted file mode 100644 index 12ad7d2d..00000000 --- a/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch +++ /dev/null @@ -1,70 +0,0 @@ -Based on 4b5d8d0f22ae61ceb45a25391354ba53b43ee992 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 6 Nov 2014 22:24:13 +0100 -Subject: [PATCH] shutdown: fix arguments to /run/initramfs/shutdown - -Our initrd interface specifies that the verb is in argv[1]. -This is where systemd passes it to systemd-shutdown, but getopt -permutes argv[]. This confuses dracut's shutdown script: - Shutdown called with argument '--log-level'. Rebooting! - -getopt can be convinced to not permute argv[] by having '-' as the first -character of optstring. Let's use it. This requires changing the way -non-option arguments (in our case, the verb) are processed. - -This fixes a bug where the system would reboot instead of powering off. ---- - src/core/shutdown.c | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - ---- src/core/shutdown.c -+++ src/core/shutdown.c 2014-11-10 14:14:20.869519112 +0000 -@@ -75,9 +75,9 @@ static int parse_argv(int argc, char *ar - assert(argc >= 1); - assert(argv); - -- opterr = 0; -- -- while ((c = getopt_long(argc, argv, ":", options, NULL)) >= 0) -+ /* "-" prevents getopt from permuting argv[] and moving the verb away -+ * from argv[1]. Our interface to initrd promises it'll be there. */ -+ while ((c = getopt_long(argc, argv, "-", options, NULL)) >= 0) - switch (c) { - - case ARG_LOG_LEVEL: -@@ -115,27 +115,25 @@ static int parse_argv(int argc, char *ar - - break; - -- case '?': -- log_error("Unknown option %s.", argv[optind-1]); -- return -EINVAL; -+ case '\001': -+ if (!arg_verb) -+ arg_verb = optarg; -+ else -+ log_error("Excess arguments, ignoring"); -+ break; - -- case ':': -- log_error("Missing argument to %s.", argv[optind-1]); -+ case '?': - return -EINVAL; - - default: - assert_not_reached("Unhandled option code."); - } - -- if (optind >= argc) { -+ if (!arg_verb) { - log_error("Verb argument missing."); - return -EINVAL; - } - -- arg_verb = argv[optind]; -- -- if (optind + 1 < argc) -- log_error("Excess arguments, ignoring"); - return 0; - } - diff --git a/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch b/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch deleted file mode 100644 index 73a98020..00000000 --- a/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +++ /dev/null @@ -1,36 +0,0 @@ -Based on a2726e5cedfa5edeabd7e0784be11bc578555ac5 Mon Sep 17 00:00:00 2001 -From: Marius Tessmann -Date: Fri, 29 Aug 2014 17:51:45 +0200 -Subject: [PATCH] shutdown: pass own argv to /run/initramfs/shutdown - -Since commit b1e90ec515408aec2702522f6f68c4920b56375b systemd passes -its log settings to systemd-shutdown via command line parameters. -However, systemd-shutdown doesn't pass these parameters to -/run/initramfs/shutdown, causing it to fall back to the default log -settings. - -This fixes the following bugs about the shutdown not being quiet -despite "quiet" being in the kernel parameters: - -https://bugs.freedesktop.org/show_bug.cgi?id=79582 -https://bugs.freedesktop.org/show_bug.cgi?id=57216 ---- - src/core/shutdown.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/shutdown.c -+++ src/core/shutdown.c 2014-10-24 12:32:44.704337960 +0000 -@@ -377,11 +377,11 @@ int main(int argc, char *argv[]) { - - if (prepare_new_root() >= 0 && - pivot_to_new_root() >= 0) { -- arguments[0] = (char*) "/shutdown"; -+ argv[0] = (char*) "/shutdown"; - - log_info("Returning to initrd..."); - -- execv("/shutdown", arguments); -+ execv("/shutdown", argv); - log_error("Failed to execute shutdown binary: %m"); - } - } diff --git a/0002-snapshot-return-error-when-snapshot-exists.patch b/0002-snapshot-return-error-when-snapshot-exists.patch deleted file mode 100644 index 4a7fcfb3..00000000 --- a/0002-snapshot-return-error-when-snapshot-exists.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7cabba07745b388497e8c0fc19b61984167fd474 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 28 Oct 2014 12:36:17 -0400 -Subject: [PATCH] snapshot: return error when snapshot exists - ---- - src/core/snapshot.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/snapshot.c src/core/snapshot.c -index 5eed615..c2678cb 100644 ---- src/core/snapshot.c -+++ src/core/snapshot.c -@@ -208,7 +208,7 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, sd_bus_error *e, - return sd_bus_error_setf(e, SD_BUS_ERROR_INVALID_ARGS, "Unit name %s lacks snapshot suffix.", name); - - if (manager_get_unit(m, name)) -- sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); -+ return sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); - - } else { - --- -1.7.9.2 - diff --git a/0002-switch-root-umount-the-old-root-correctly.patch b/0002-switch-root-umount-the-old-root-correctly.patch deleted file mode 100644 index df79c8f0..00000000 --- a/0002-switch-root-umount-the-old-root-correctly.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 23f25b1496c31ef4c20b8f3ee8328f7b1d5f3a54 Mon Sep 17 00:00:00 2001 -From: Dan Dedrick -Date: Tue, 29 Jul 2014 15:31:23 -0400 -Subject: [PATCH] switch-root: umount the old root correctly - -The unmount occurs after the pivot_root, so the path used to unmount -should take into account the new root directory. This will allow the -umount to actually succeed. ---- - src/core/switch-root.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/switch-root.c -+++ src/core/switch-root.c 2014-08-22 11:22:50.230735231 +0000 -@@ -122,9 +122,9 @@ int switch_root(const char *new_root) { - - /* Immediately get rid of the old root. Since we are - * running off it we need to do this lazily. */ -- if (umount2(temporary_old_root, MNT_DETACH) < 0) { -+ if (umount2("/mnt", MNT_DETACH) < 0) { - r = -errno; -- log_error("Failed to umount old root dir %s: %m", temporary_old_root); -+ log_error("Failed to umount old root dir /mnt: %m"); - goto fail; - } - diff --git a/0002-sysctl-replaces-some-slashes-with-dots.patch b/0002-sysctl-replaces-some-slashes-with-dots.patch deleted file mode 100644 index d46fd449..00000000 --- a/0002-sysctl-replaces-some-slashes-with-dots.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 2e573fcf8754fdfe0db0a783b1631ec1679b063a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Apr 2014 21:33:46 -0400 -Subject: [PATCH] sysctl: replaces some slashes with dots - -It turns out that plain sysctl understands a.b/c syntax to write to -/proc/sys/a/b.c. Support this for compatibility. - -https://bugs.freedesktop.org/show_bug.cgi?id=77466 ---- - man/sysctl.d.xml | 29 +++++++++++++++++++++-------- - src/sysctl/sysctl.c | 18 ++++++++++++++++-- - 2 files changed, 37 insertions(+), 10 deletions(-) - -diff --git man/sysctl.d.xml man/sysctl.d.xml -index 00a857b..db53b49 100644 ---- man/sysctl.d.xml -+++ man/sysctl.d.xml -@@ -68,13 +68,26 @@ - The configuration files contain a list of - variable assignments, separated by newlines. Empty - lines and lines whose first non-whitespace character -- is # or ; are ignored. -- -- Note that both / and . are accepted as label -- separators within sysctl variable -- names. kernel.domainname=foo and -- kernel/domainname=foo hence are -- entirely equivalent. -+ is # or ; are -+ ignored. -+ -+ Note that either / or -+ . may be used as separators within -+ sysctl variable names. If the first separator is a -+ slash, remaining slashes and dots are left intact. If -+ the first separator is a dot, dots and slashes are -+ interchanged. kernel.domainname=foo -+ and kernel/domainname=foo are -+ equivalent and will cause foo to -+ be written to -+ /proc/sys/kernel/domainname. -+ Either -+ net.ipv4.conf.enp3s0/200.forwarding -+ or -+ net/ipv4/conf/enp3s0.200/forwarding -+ may be used to refer to -+ /proc/sys/net/ipv4/conf/enp3s0.200/forwarding. -+ - - Each configuration file shall be named in the - style of program.conf. -@@ -109,7 +122,7 @@ - early on boot. The network interface-specific options - will also be applied individually for each network - interface as it shows up in the system. (More -- specifically, that is -+ specifically, - net.ipv4.conf.*, - net.ipv6.conf.*, - net.ipv4.neigh.* and net.ipv6.neigh.*) -diff --git src/sysctl/sysctl.c src/sysctl/sysctl.c -index 283eefe..06defa5 100644 ---- src/sysctl/sysctl.c -+++ src/sysctl/sysctl.c -@@ -48,12 +48,26 @@ static const char conf_file_dirs[] = - #endif - ; - --static char *normalize_sysctl(char *s) { -+static char* normalize_sysctl(char *s) { - char *n; - -- for (n = s; *n; n++) -+ n = strpbrk(s, "/."); -+ /* If the first separator is a slash, the path is -+ * assumed to be normalized and slashes remain slashes -+ * and dots remains dots. */ -+ if (!n || *n == '/') -+ return s; -+ -+ /* Otherwise, dots become slashes and slashes become -+ * dots. Fun. */ -+ while (n) { - if (*n == '.') - *n = '/'; -+ else -+ *n = '.'; -+ -+ n = strpbrk(n + 1, "/."); -+ } - - return s; - } --- -1.7.9.2 - diff --git a/0002-systemctl-obey-state-in-list-unit-files.patch b/0002-systemctl-obey-state-in-list-unit-files.patch deleted file mode 100644 index aaa1cbf3..00000000 --- a/0002-systemctl-obey-state-in-list-unit-files.patch +++ /dev/null @@ -1,28 +0,0 @@ -From fec1530e6b5b8d6dc352c7338010357126e84621 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 29 Oct 2014 22:51:00 -0400 -Subject: [PATCH] systemctl: obey --state in list-unit-files - ---- - src/systemctl/systemctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index b71040b..8481a9b 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -1268,6 +1268,11 @@ next: - return false; - } - -+ if (!strv_isempty(arg_states)) { -+ if (!strv_find(arg_states, unit_file_state_to_string(u->state))) -+ return false; -+ } -+ - return true; - } - --- -1.7.9.2 - diff --git a/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch b/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch deleted file mode 100644 index 6a9cd2ac..00000000 --- a/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c469089cf647ac740c7dcf09c463d2907b6d00eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 22 Nov 2014 20:21:56 -0500 -Subject: [PATCH] systemctl: show BindsTo/BoundBy in list-dependencies - -Suggested-by: Peter Mattern - -http://lists.freedesktop.org/archives/systemd-devel/2014-November/025437.html ---- - src/systemctl/systemctl.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 78b7c96..fd69c69 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -1480,11 +1480,13 @@ static int list_dependencies_get_dependencies(sd_bus *bus, const char *name, cha - "RequiresOverridable\0" - "Requisite\0" - "RequisiteOverridable\0" -- "Wants\0", -+ "Wants\0" -+ "BindsTo\0", - [DEPENDENCY_REVERSE] = "RequiredBy\0" - "RequiredByOverridable\0" - "WantedBy\0" -- "PartOf\0", -+ "PartOf\0" -+ "BoundBy\0", - [DEPENDENCY_AFTER] = "After\0", - [DEPENDENCY_BEFORE] = "Before\0", - }; --- -1.7.9.2 - diff --git a/0002-systemctl-update-NAME-to-PATTERN-in-help.patch b/0002-systemctl-update-NAME-to-PATTERN-in-help.patch deleted file mode 100644 index fd9096b9..00000000 --- a/0002-systemctl-update-NAME-to-PATTERN-in-help.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b3ae710c251d0ce5cf2cef63208e325497b5e323 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 1 Apr 2014 20:43:15 -0400 -Subject: [PATCH] systemctl: update NAME to PATTERN in help() - -Previously the man page was modified, but not help(). ---- - TODO | 2 ++ - src/systemctl/systemctl.c | 14 +++++++------- - 2 files changed, 9 insertions(+), 7 deletions(-) - -diff --git TODO TODO -index 4ff69ff..0343b94 100644 ---- TODO -+++ TODO -@@ -1,4 +1,6 @@ - Bugfixes: -+* Should systemctl status \* work on all unit types, not just .service? -+ - * enabling an instance unit creates a pointless link, and - the unit will be started with getty@getty.service: - $ systemctl enable getty@.service -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 6b88f85..653a324 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -5403,15 +5403,15 @@ static int systemctl_help(void) { - " otherwise restart if active\n" - " isolate NAME Start one unit and stop all others\n" - " kill NAME... Send signal to processes of a unit\n" -- " is-active NAME... Check whether units are active\n" -- " is-failed NAME... Check whether units are failed\n" -- " status [NAME...|PID...] Show runtime status of one or more units\n" -- " show [NAME...|JOB...] Show properties of one or more\n" -+ " is-active PATTERN... Check whether units are active\n" -+ " is-failed PATTERN... Check whether units are failed\n" -+ " status [PATTERN...|PID...] Show runtime status of one or more units\n" -+ " show [PATTERN...|JOB...] Show properties of one or more\n" - " units/jobs or the manager\n" -- " cat NAME... Show files and drop-ins of one or more units\n" -+ " cat PATTERN... Show files and drop-ins of one or more units\n" - " set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n" -- " help NAME...|PID... Show manual for one or more units\n" -- " reset-failed [NAME...] Reset failed state for all, one, or more\n" -+ " help PATTERN...|PID... Show manual for one or more units\n" -+ " reset-failed [PATTERN...] Reset failed state for all, one, or more\n" - " units\n" - " list-dependencies [NAME] Recursively show units which are required\n" - " or wanted by this unit or by which this\n" --- -1.7.9.2 - diff --git a/0002-systemd-fix-error-message.patch b/0002-systemd-fix-error-message.patch deleted file mode 100644 index 778444a8..00000000 --- a/0002-systemd-fix-error-message.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 6ad3b2b62cbe34cc02ee98deb5f48047f5e42d26 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 30 Aug 2014 17:22:42 -0400 -Subject: [PATCH] systemd: fix error message - ---- - src/core/dbus-manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c 2014-09-01 12:51:33.266735961 +0000 -@@ -1114,7 +1114,7 @@ static int method_switch_root(sd_bus *bu - return r; - - if (m->running_as != SYSTEMD_SYSTEM) -- return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "KExec is only supported for system managers."); -+ return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Root switching is only supported by system manager."); - - r = sd_bus_message_read(message, "ss", &root, &init); - if (r < 0) -@@ -1125,7 +1125,7 @@ static int method_switch_root(sd_bus *bu - - /* Safety check */ - if (isempty(init)) { -- if (! path_is_os_tree(root)) -+ if (!path_is_os_tree(root)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified switch root path %s does not seem to be an OS tree. /etc/os-release is missing.", root); - } else { - _cleanup_free_ char *p = NULL; diff --git a/0002-systemd-try-harder-to-bind-to-notify-socket.patch b/0002-systemd-try-harder-to-bind-to-notify-socket.patch deleted file mode 100644 index d0277386..00000000 --- a/0002-systemd-try-harder-to-bind-to-notify-socket.patch +++ /dev/null @@ -1,44 +0,0 @@ -Based on e7bc519620cb7bcdbe2166fc2a446453769d827e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 16 Oct 2014 19:15:38 -0500 -Subject: [PATCH] systemd: try harder to bind to notify socket - -Without the socket open we are going to crash and burn. If for -whatever reason we fail during deserialization we will fail when -trying to open the socket. In this case it is better to unlink the old -socket and maybe lose some messages, than to continue without the -notification socket. - -Of course this situation should not happen, but we should handle -it as gracefully as possible anyway. - -https://bugzilla.redhat.com/show_bug.cgi?id=1099299 ---- - src/core/manager.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-10-20 13:47:21.035837897 +0000 -@@ -572,7 +572,21 @@ static int manager_setup_notify(Manager - r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); - if (r < 0) { - log_error("bind(@%s) failed: %m", sa.un.sun_path+1); -- return -errno; -+ if (errno == EADDRINUSE) { -+ log_notice("Removing %s socket and trying again.", m->notify_socket); -+ r = unlink(m->notify_socket); -+ if (r < 0) { -+ log_error("Failed to remove %s: %m", m->notify_socket); -+ return -EADDRINUSE; -+ } -+ -+ r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)); -+ if (r < 0) { -+ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); -+ return -errno; -+ } -+ } else -+ return -errno; - } - - r = setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)); diff --git a/0002-time-also-support-infinity-syntax-in-parse_nsec.patch b/0002-time-also-support-infinity-syntax-in-parse_nsec.patch deleted file mode 100644 index c1f4884c..00000000 --- a/0002-time-also-support-infinity-syntax-in-parse_nsec.patch +++ /dev/null @@ -1,40 +0,0 @@ -Based on e73c78c27511b03c7abc55aed87896092c0de699 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 19:07:26 +0200 -Subject: [PATCH] time: also support 'infinity' syntax in parse_nsec() - -Let's make parse_usec() and parse_nsec() work similar ---- - src/shared/time-util.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - ---- src/shared/time-util.c -+++ src/shared/time-util.c -@@ -773,7 +773,7 @@ int parse_nsec(const char *t, nsec_t *nsec) { - { "", 1ULL }, /* default is nsec */ - }; - -- const char *p; -+ const char *p, *s; - nsec_t r = 0; - bool something = false; - -@@ -781,6 +781,18 @@ int parse_nsec(const char *t, nsec_t *nsec) { - assert(nsec); - - p = t; -+ -+ p += strspn(p, WHITESPACE); -+ s = startswith(p, "infinity"); -+ if (s) { -+ s += strspn(s, WHITESPACE); -+ if (!*s != 0) -+ return -EINVAL; -+ -+ *nsec = ((nsec_t) -1); -+ return 0; -+ } -+ - for (;;) { - long long l, z = 0; - char *e; diff --git a/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch b/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch deleted file mode 100644 index 7fab49e6..00000000 --- a/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 24119cf10c7ed58a8fc0851745149dcc6dd5757f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Mon, 29 Sep 2014 22:32:10 -0400 -Subject: [PATCH] udev/hwdb: New Entry for Dell XPS12 9Q33 keyboard - -https://bugs.freedesktop.org/show_bug.cgi?id=84437 ---- - hwdb/60-keyboard.hwdb | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 0ffcb83..8a1baa7 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -243,6 +243,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* - KEYBOARD_KEY_8c=!unknown - -+# Dell XPS12 9Q33 -+keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr* -+ KEYBOARD_KEY_88=wlan -+ KEYBOARD_KEY_65=switchvideomode # Screen Rotate -+ - # Dell Latitude microphone mute - keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* - KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute --- -1.7.9.2 - diff --git a/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch b/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch deleted file mode 100644 index 58189d0f..00000000 --- a/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch +++ /dev/null @@ -1,18 +0,0 @@ -Basedo n a55954297dade7b432fd3a4f328f23261621ff79 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 19 Jun 2014 19:53:16 +0200 -Subject: [PATCH] units: add missing caps so that GetAddresses() can work - ---- - units/systemd-machined.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- units/systemd-machined.service.in -+++ units/systemd-machined.service.in 2014-06-24 11:26:19.554235869 +0000 -@@ -15,5 +15,5 @@ After=machine.slice - [Service] - ExecStart=@rootlibexecdir@/systemd-machined - BusName=org.freedesktop.machine1 --CapabilityBoundingSet=CAP_KILL -+CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID - WatchdogSec=1min diff --git a/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch b/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch deleted file mode 100644 index 6bc06d23..00000000 --- a/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 66f311206e908a5b6f21e66fad73e1e5ea3e31d6 Mon Sep 17 00:00:00 2001 -From: Ivan Shapovalov -Date: Wed, 27 Aug 2014 00:17:43 +0400 -Subject: [PATCH] units: order systemd-fsck@.service after - local-fs-pre.target. - -With this change, it becomes possible to order a unit to activate before any -modifications to the file systems. This is especially useful for supporting -resume from hibernation. ---- - units/systemd-fsck@.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git units/systemd-fsck@.service.in units/systemd-fsck@.service.in -index c12efa8..d2cda6a 100644 ---- units/systemd-fsck@.service.in -+++ units/systemd-fsck@.service.in -@@ -10,7 +10,7 @@ Description=File System Check on %f - Documentation=man:systemd-fsck@.service(8) - DefaultDependencies=no - BindsTo=%i.device --After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service local-fs-pre.target - Before=shutdown.target - - [Service] --- -1.7.9.2 - diff --git a/0002-units-serial-getty-.service-use-the-default-RestartS.patch b/0002-units-serial-getty-.service-use-the-default-RestartS.patch deleted file mode 100644 index 3945e4cd..00000000 --- a/0002-units-serial-getty-.service-use-the-default-RestartS.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 4bf04322b8b7ecca4f3d65cfc642d0ac16356129 Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Tue, 15 Jul 2014 18:28:10 +0200 -Subject: [PATCH] units/serial-getty@.service: use the default RestartSec - -For pluggable ttys such as USB serial devices, the getty is restarted -and exits in a loop until the remove event reaches systemd. Under -certain circumstances the restart loop can overload the system in a -way that prevents the remove event from reaching systemd for a long -time (e.g. at least several minutes on a small embedded system). - -Use the default RestartSec to prevent the restart loop from -overloading the system. Serial gettys are interactive units, so -waiting an extra 100ms really doesn't make a difference anyways -compared to the time it takes the user to log in. ---- - units/serial-getty@.service.m4 | 1 - - 1 file changed, 1 deletion(-) - ---- units/serial-getty@.service.m4 -+++ units/serial-getty@.service.m4 2014-07-16 00:00:00.000000000 +0000 -@@ -27,7 +27,6 @@ ExecStart=-/sbin/agetty --keep-baud %I 1 - ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always --RestartSec=0 - UtmpIdentifier=%I - TTYPath=/dev/%I - TTYReset=yes diff --git a/0002-util-avoid-non-portable-__WORDSIZE.patch b/0002-util-avoid-non-portable-__WORDSIZE.patch deleted file mode 100644 index 7c82d91c..00000000 --- a/0002-util-avoid-non-portable-__WORDSIZE.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 8507eb20b64010b26f23822cbf442bb0bf96511c Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Fri, 19 Sep 2014 20:26:53 +0200 -Subject: [PATCH] util: avoid non-portable __WORDSIZE - -Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified -by any spec. Use explicit size comparisons if we're not interested in the -WORDSIZE, anyway. - -(David: adjust commit message to explain why we do this) ---- - src/shared/util.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/shared/util.h -+++ src/shared/util.h 2014-09-24 06:58:11.378235669 +0000 -@@ -166,7 +166,7 @@ int safe_atolli(const char *s, long long - - int safe_atod(const char *s, double *ret_d); - --#if __WORDSIZE == 32 -+#if LONG_MAX == INT_MAX - static inline int safe_atolu(const char *s, unsigned long *ret_u) { - assert_cc(sizeof(unsigned long) == sizeof(unsigned)); - return safe_atou(s, (unsigned*) ret_u); diff --git a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch deleted file mode 100644 index 7dd59ed5..00000000 --- a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 6294aa76d818e831de4592b41a37e225fd0871f9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 12:04:55 +0200 -Subject: [PATCH] util: don't consider tabs special in string_has_cc() anymore - -Instead, take a list of exceptions to our usual CC check ---- - src/hostname/hostnamed.c | 3 +-- - src/shared/env-util.c | 4 +++- - src/shared/fileio.c | 2 +- - src/shared/util.c | 19 ++++++++++--------- - src/shared/util.h | 5 +++-- - 5 files changed, 18 insertions(+), 15 deletions(-) - -Index: src/hostname/hostnamed.c -=================================================================== ---- src/hostname/hostnamed.c.orig -+++ src/hostname/hostnamed.c -@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, - - if (prop == PROP_ICON_NAME && !filename_is_safe(name)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); -- if (prop == PROP_PRETTY_HOSTNAME && -- (string_has_cc(name) || chars_intersect(name, "\t"))) -+ if (prop == PROP_PRETTY_HOSTNAME && string_has_cc(name, NULL)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); - if (prop == PROP_CHASSIS && !valid_chassis(name)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -Index: src/shared/env-util.c -=================================================================== ---- src/shared/env-util.c.orig -+++ src/shared/env-util.c -@@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { - if (!utf8_is_valid(e)) - return false; - -- if (string_has_cc(e)) -+ /* bash allows tabs in environment variables, and so should -+ * we */ -+ if (string_has_cc(e, "\t")) - return false; - - /* POSIX says the overall size of the environment block cannot -Index: src/shared/fileio.c -=================================================================== ---- src/shared/fileio.c.orig -+++ src/shared/fileio.c -@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const - p++; - fwrite(v, 1, p-v, f); - -- if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { -+ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { - fputc('\"', f); - - for (; *p; p++) { -Index: src/shared/util.c -=================================================================== ---- src/shared/util.c.orig -+++ src/shared/util.c -@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { - bool string_is_safe(const char *p) { - const char *t; - -- assert(p); -+ if (!p) -+ return false; - - for (t = p; *t; t++) { - if (*t > 0 && *t < ' ') - return false; - -- if (*t == 127) -- return false; -- -- if (strchr("\\\"\'", *t)) -+ if (strchr("\\\"\'\0x7f", *t)) - return false; - } - -@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { - } - - /** -- * Check if a string contains control characters. -- * Spaces and tabs are not considered control characters. -+ * Check if a string contains control characters. If 'ok' is non-NULL -+ * it may be a string containing additional CCs to be considered OK. - */ --bool string_has_cc(const char *p) { -+bool string_has_cc(const char *p, const char *ok) { - const char *t; - - assert(p); - - for (t = p; *t; t++) { -- if (*t > 0 && *t < ' ' && *t != '\t') -+ if (ok && strchr(ok, *t)) -+ return false; -+ -+ if (*t > 0 && *t < ' ') - return true; - - if (*t == 127) -Index: src/shared/util.h -=================================================================== ---- src/shared/util.h.orig -+++ src/shared/util.h -@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup - bool filename_is_safe(const char *p) _pure_; - bool path_is_safe(const char *p) _pure_; - bool string_is_safe(const char *p) _pure_; --bool string_has_cc(const char *p) _pure_; -+bool string_has_cc(const char *p, const char *ok) _pure_; - - /** - * Check if a string contains any glob patterns. diff --git a/0002-util-fix-has-cc-check-and-add-test.patch b/0002-util-fix-has-cc-check-and-add-test.patch deleted file mode 100644 index f39ad16c..00000000 --- a/0002-util-fix-has-cc-check-and-add-test.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 1cb1767a29458b3d16d6b161b4ee34dd496ff60d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Jul 2014 09:21:15 -0400 -Subject: [PATCH] util: fix has cc check and add test - ---- - src/shared/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/util.c src/shared/util.c -index 3342798..75dc58b 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -5419,7 +5419,7 @@ bool string_has_cc(const char *p, const char *ok) { - - for (t = p; *t; t++) { - if (ok && strchr(ok, *t)) -- return false; -+ continue; - - if (*t > 0 && *t < ' ') - return true; --- -1.7.9.2 - diff --git a/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch b/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch deleted file mode 100644 index 9cd13c2d..00000000 --- a/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch +++ /dev/null @@ -1,96 +0,0 @@ -Based on 8a7c93d858c342744adf481565d8bb03b9713dcf Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 27 Aug 2014 21:42:20 +0200 -Subject: [PATCH] util: fix minimal race where we might miss SIGTERMs when - forking off an agent - -Before forking, block all signals, and unblock them afterwards. This way -the child will have them blocked, and we won't lose them. ---- - src/shared/util.c | 39 ++++++++++++++++++++++++++++++++++----- - 1 file changed, 34 insertions(+), 5 deletions(-) - ---- src/shared/util.c -+++ src/shared/util.c 2014-08-28 10:32:06.442693437 +0000 -@@ -894,6 +894,18 @@ int reset_all_signal_handlers(void) { - return 0; - } - -+static int reset_signal_mask(void) { -+ sigset_t ss; -+ -+ if (sigemptyset(&ss) < 0) -+ return -errno; -+ -+ if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - char *strstrip(char *s) { - char *e; - -@@ -5119,9 +5131,9 @@ int fd_inc_rcvbuf(int fd, size_t n) { - } - - int fork_agent(pid_t *pid, const int except[], unsigned n_except, const char *path, ...) { -- pid_t parent_pid, agent_pid; -- int fd; - bool stdout_is_tty, stderr_is_tty; -+ pid_t parent_pid, agent_pid; -+ sigset_t ss, saved_ss; - unsigned n, i; - va_list ap; - char **l; -@@ -5129,16 +5141,25 @@ int fork_agent(pid_t *pid, const int exc - assert(pid); - assert(path); - -- parent_pid = getpid(); -- - /* Spawns a temporary TTY agent, making sure it goes away when - * we go away */ - -+ parent_pid = getpid(); -+ -+ /* First we temporarily block all signals, so that the new -+ * child has them blocked initially. This way, we can be sure -+ * that SIGTERMs are not lost we might send to the agent. */ -+ assert_se(sigfillset(&ss) >= 0); -+ assert_se(sigprocmask(SIG_SETMASK, &ss, &saved_ss) >= 0); -+ - agent_pid = fork(); -- if (agent_pid < 0) -+ if (agent_pid < 0) { -+ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); - return -errno; -+ } - - if (agent_pid != 0) { -+ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); - *pid = agent_pid; - return 0; - } -@@ -5149,6 +5170,12 @@ int fork_agent(pid_t *pid, const int exc - if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0) - _exit(EXIT_FAILURE); - -+ /* Make sure we actually can kill the agent, if we need to, in -+ * case somebody invoked us from a shell script that trapped -+ * SIGTERM or so... */ -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ - /* Check whether our parent died before we were able - * to set the death signal */ - if (getppid() != parent_pid) -@@ -5161,6 +5188,8 @@ int fork_agent(pid_t *pid, const int exc - stderr_is_tty = isatty(STDERR_FILENO); - - if (!stdout_is_tty || !stderr_is_tty) { -+ int fd; -+ - /* Detach from stdout/stderr. and reopen - * /dev/tty for them. This is important to - * ensure that when systemctl is started via diff --git a/0002-util-remove-a-unnecessary-check.patch b/0002-util-remove-a-unnecessary-check.patch deleted file mode 100644 index ac7cdfb8..00000000 --- a/0002-util-remove-a-unnecessary-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 42646a8bf24be2c9280554c9d8540c67c835b3c4 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Tue, 16 Sep 2014 22:58:35 +0200 -Subject: [PATCH] util: remove a unnecessary check - -We only break out of the previous loop if fd >= 0 so there is no -use in checking it again. - -Found by coverity. Fixes: CID#1237577 ---- - src/shared/util.c | 3 --- - 1 file changed, 3 deletions(-) - ---- src/shared/util.c -+++ src/shared/util.c 2014-09-18 13:05:08.218236754 +0000 -@@ -1772,9 +1772,6 @@ int open_terminal(const char *name, int - c++; - } - -- if (fd < 0) -- return -errno; -- - r = isatty(fd); - if (r < 0) { - close_nointr_nofail(fd); diff --git a/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch b/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch deleted file mode 100644 index b202ce37..00000000 --- a/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch +++ /dev/null @@ -1,74 +0,0 @@ -Based on e0a33e7ba619eb44f732aaf23cb249fa43d0ce8d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Jul 2014 13:42:25 +0200 -Subject: [PATCH] util: when unescaping strings, don't allow smuggling in of - additional NUL bytes - -Better safe than sorry. ---- - src/shared/util.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git src/shared/util.c src/shared/util.c -index ceafa01..4ad3f20 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1256,7 +1256,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre - a = unhexchar(f[1]); - b = unhexchar(f[2]); - -- if (a < 0 || b < 0) { -+ if (a < 0 || b < 0 || (a == 0 && b == 0)) { - /* Invalid escape code, let's take it literal then */ - *(t++) = '\\'; - *(t++) = 'x'; -@@ -1283,7 +1283,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre - b = unoctchar(f[1]); - c = unoctchar(f[2]); - -- if (a < 0 || b < 0 || c < 0) { -+ if (a < 0 || b < 0 || c < 0 || (a == 0 && b == 0 && c == 0)) { - /* Invalid escape code, let's take it literal then */ - *(t++) = '\\'; - *(t++) = f[0]; -@@ -1566,8 +1566,7 @@ int chvt(int vt) { - - int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - struct termios old_termios, new_termios; -- char c; -- char line[LINE_MAX]; -+ char c, line[LINE_MAX]; - - assert(f); - assert(ret); -@@ -1604,9 +1603,10 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - } - } - -- if (t != (usec_t) -1) -+ if (t != (usec_t) -1) { - if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0) - return -ETIMEDOUT; -+ } - - if (!fgets(line, sizeof(line), f)) - return -EIO; -@@ -1624,6 +1624,7 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - } - - int ask(char *ret, const char *replies, const char *text, ...) { -+ int r; - - assert(ret); - assert(replies); -@@ -1632,7 +1633,6 @@ int ask(char *ret, const char *replies, const char *text, ...) { - for (;;) { - va_list ap; - char c; -- int r; - bool need_nl = true; - - if (on_tty()) --- -1.7.9.2 - diff --git a/0002-vconsole-setup-run-setfont-before-loadkeys.patch b/0002-vconsole-setup-run-setfont-before-loadkeys.patch deleted file mode 100644 index 7ef05c2d..00000000 --- a/0002-vconsole-setup-run-setfont-before-loadkeys.patch +++ /dev/null @@ -1,167 +0,0 @@ -Based on abee28c56d523e55751b0c007d0bf812cc285c00 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 1 Jul 2014 22:20:11 -0400 -Subject: [PATCH] vconsole-setup: run setfont before loadkeys - -https://bugs.freedesktop.org/show_bug.cgi?id=80685 - -For SUSE please note that this had been ported on top of the patches - * handle-disable_caplock-and-compose_table-and-kbd_rate.patch - * handle-numlock-value-in-etc-sysconfig-keyboard.patch -that is that now set_kbd_rate() will be called first before font_load(). -Then font_load() is followed by load_compose_table() and afterwards as -in the original commit the keymap_load() follows. - ---- - src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- - 1 file changed, 47 insertions(+), 46 deletions(-) - -Index: src/vconsole/vconsole-setup.c -=================================================================== ---- src/vconsole/vconsole-setup.c.orig -+++ src/vconsole/vconsole-setup.c -@@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, - - int main(int argc, char **argv) { - const char *vc; -- char *vc_keymap = NULL; -- char *vc_keymap_toggle = NULL; -- char *vc_font = NULL; -- char *vc_font_map = NULL; -- char *vc_font_unimap = NULL; -+ _cleanup_free_ char -+ *vc_keymap = NULL, *vc_keymap_toggle = NULL, -+ *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; -+ _cleanup_close_ int fd = -1; - #ifdef HAVE_SYSV_COMPAT -- char *vc_kbd_delay = NULL; -- char *vc_kbd_rate = NULL; -- char *vc_kbd_disable_caps_lock = NULL; -- char *vc_kbd_numlock = NULL; -- char *vc_compose_table = NULL; -+ _cleanup_free_ char -+ *vc_kbd_numlock = NULL, *vc_kbd_delay = NULL, -+ *vc_kbd_rate = NULL, * vc_kbd_disable_caps_lock = NULL, -+ *vc_compose_table = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; -+ bool numlock = false; - #endif -- int fd = -1; - bool utf8; - bool disable_capslock = false; -- bool numlock = false; - pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -377,12 +374,12 @@ int main(int argc, char **argv) { - fd = open_terminal(vc, O_RDWR|O_CLOEXEC); - if (fd < 0) { - log_error("Failed to open %s: %m", vc); -- goto finish; -+ return EXIT_FAILURE; - } - - if (!is_vconsole(fd)) { - log_error("Device %s is not a virtual console.", vc); -- goto finish; -+ return EXIT_FAILURE; - } - - utf8 = is_locale_utf8(); -@@ -464,58 +461,62 @@ int main(int argc, char **argv) { - if (r < 0 && r != -ENOENT) - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } -+#ifdef HAVE_SYSV_COMPAT -+finish: -+ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); -+ if (r < 0) { -+ log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); -+#endif - - if (utf8) - enable_utf8(fd); - else - disable_utf8(fd); - -- r = EXIT_FAILURE; -- -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && --#ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && --#endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; -+ r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); -+ if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } - --finish: -- if (keymap_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -- if (numlock) -- touch("/run/numlock-on"); -- else -- unlink("/run/numlock-on"); -+ if (font_pid > 0) -+ wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - - #ifdef HAVE_SYSV_COMPAT -+ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); -+ if (r < 0) { -+ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ - if (compose_table_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); -- -- if (kbd_rate_pid > 0) -- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); - #endif - -- if (font_pid > 0) { -- wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (font_copy) -- font_copy_to_all_vcs(fd); -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { -+ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); -+ return EXIT_FAILURE; - } - -- free(vc_keymap); -- free(vc_font); -- free(vc_font_map); -- free(vc_font_unimap); -- free(vc_kbd_numlock); -+ if (keymap_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ - #ifdef HAVE_SYSV_COMPAT -- free(vc_kbd_delay); -- free(vc_kbd_rate); -- free(vc_kbd_disable_caps_lock); -- free(vc_compose_table); -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - #endif - -- if (fd >= 0) -- close_nointr_nofail(fd); -+ /* Only copy the font when we started setfont successfully */ -+ if (font_copy && font_pid > 0) -+ font_copy_to_all_vcs(fd); - - return r; - } diff --git a/0003-Add-quotes-to-warning-message.patch b/0003-Add-quotes-to-warning-message.patch deleted file mode 100644 index 3a742bac..00000000 --- a/0003-Add-quotes-to-warning-message.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f0ea29eaeb3449822bfbdfa839b00e323dfc523e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 20 Jul 2014 19:47:42 -0400 -Subject: [PATCH] Add quotes to warning message - -The message for SYSTEMD_LOG_LEVEL= looked a bit strange. ---- - src/shared/log.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git src/shared/log.c src/shared/log.c -index 9039db3..3941e3e 100644 ---- src/shared/log.c -+++ src/shared/log.c -@@ -884,19 +884,19 @@ void log_parse_environment(void) { - - e = secure_getenv("SYSTEMD_LOG_TARGET"); - if (e && log_set_target_from_string(e) < 0) -- log_warning("Failed to parse log target %s. Ignoring.", e); -+ log_warning("Failed to parse log target '%s'. Ignoring.", e); - - e = secure_getenv("SYSTEMD_LOG_LEVEL"); - if (e && log_set_max_level_from_string(e) < 0) -- log_warning("Failed to parse log level %s. Ignoring.", e); -+ log_warning("Failed to parse log level '%s'. Ignoring.", e); - - e = secure_getenv("SYSTEMD_LOG_COLOR"); - if (e && log_show_color_from_string(e) < 0) -- log_warning("Failed to parse bool %s. Ignoring.", e); -+ log_warning("Failed to parse bool '%s'. Ignoring.", e); - - e = secure_getenv("SYSTEMD_LOG_LOCATION"); - if (e && log_show_location_from_string(e) < 0) -- log_warning("Failed to parse bool %s. Ignoring.", e); -+ log_warning("Failed to parse bool '%s'. Ignoring.", e); - } - - LogTarget log_get_target(void) { --- -1.7.9.2 - diff --git a/0003-Always-check-asprintf-return-code.patch b/0003-Always-check-asprintf-return-code.patch deleted file mode 100644 index 00d873f7..00000000 --- a/0003-Always-check-asprintf-return-code.patch +++ /dev/null @@ -1,223 +0,0 @@ -Based on 7de80bfe2e61d5818601ccfddbadad3b7703ed70 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Fri, 25 Jul 2014 15:38:31 +0200 -Subject: [PATCH] Always check asprintf return code - -There is a small number of the places in sources where we don't check -asprintf() return code and assume that after error the function -returns NULL pointer via the first argument. That's wrong, after -error the content of pointer is undefined. ---- - src/core/unit-printf.c | 8 ++++---- - src/cryptsetup/cryptsetup.c | 11 ++++++++--- - src/journal/journalctl.c | 16 +++++++++++----- - src/run/run.c | 20 ++++++++++---------- - src/shared/install.c | 15 +++++++++------ - src/systemctl/systemctl.c | 18 +++++++++--------- - src/tty-ask-password-agent/tty-ask-password-agent.c | 5 +++-- - 7 files changed, 54 insertions(+), 39 deletions(-) - ---- src/core/unit-printf.c -+++ src/core/unit-printf.c 2014-07-28 09:42:20.726235696 +0000 -@@ -182,7 +182,7 @@ static int specifier_user_name(char spec - char *printed = NULL; - Unit *u = userdata; - ExecContext *c; -- int r; -+ int r = 0; - - assert(u); - -@@ -208,7 +208,7 @@ static int specifier_user_name(char spec - if (r < 0) - return -ENODATA; - -- asprintf(&printed, "%lu", (unsigned long) uid); -+ r = asprintf(&printed, "%lu", (unsigned long) uid); - } - } - -@@ -231,10 +231,10 @@ static int specifier_user_name(char spec - if (specifier == 'u') - printed = strdup(username); - else -- asprintf(&printed, "%lu", (unsigned long) uid); -+ r = asprintf(&printed, "%lu", (unsigned long) uid); - } - -- if (!printed) -+ if (r < 0 || !printed) - return -ENOMEM; - - *ret = printed; ---- src/cryptsetup/cryptsetup.c -+++ src/cryptsetup/cryptsetup.c 2014-07-28 00:00:00.000000000 +0000 -@@ -535,13 +535,18 @@ int main(int argc, char *argv[]) { - description = NULL; - } - -+ k = 0; - if (mount_point && description) -- asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); -+ k = asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); - else if (mount_point) -- asprintf(&name_buffer, "%s on %s", argv[2], mount_point); -+ k = asprintf(&name_buffer, "%s on %s", argv[2], mount_point); - else if (description) -- asprintf(&name_buffer, "%s (%s)", description, argv[2]); -+ k = asprintf(&name_buffer, "%s (%s)", description, argv[2]); - -+ if (k < 0) { -+ log_oom(); -+ goto finish; -+ } - name = name_buffer ? name_buffer : argv[2]; - - k = crypt_init(&cd, argv[3]); ---- src/journal/journalctl.c -+++ src/journal/journalctl.c 2014-07-28 00:00:00.000000000 +0000 -@@ -746,11 +746,17 @@ static int add_matches(sd_journal *j, ch - } - } else - t = strappend("_EXE=", path); -- } else if (S_ISCHR(st.st_mode)) -- asprintf(&t, "_KERNEL_DEVICE=c%u:%u", major(st.st_rdev), minor(st.st_rdev)); -- else if (S_ISBLK(st.st_mode)) -- asprintf(&t, "_KERNEL_DEVICE=b%u:%u", major(st.st_rdev), minor(st.st_rdev)); -- else { -+ } else if (S_ISCHR(st.st_mode)) { -+ if (asprintf(&t, "_KERNEL_DEVICE=c%u:%u", -+ major(st.st_rdev), -+ minor(st.st_rdev)) < 0) -+ return -ENOMEM; -+ } else if (S_ISBLK(st.st_mode)) { -+ if (asprintf(&t, "_KERNEL_DEVICE=b%u:%u", -+ major(st.st_rdev), -+ minor(st.st_rdev)) < 0) -+ return -ENOMEM; -+ } else { - log_error("File is neither a device node, nor regular file, nor executable: %s", *i); - return -EINVAL; - } ---- src/run/run.c -+++ src/run/run.c 2014-07-28 09:46:36.846235596 +0000 -@@ -309,12 +309,12 @@ static int start_transient_service( - _cleanup_free_ char *name = NULL; - int r; - -- if (arg_unit) -+ if (arg_unit) { - name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".service"); -- else -- asprintf(&name, "run-%lu.service", (unsigned long) getpid()); -- if (!name) -- return -ENOMEM; -+ if (!name) -+ return log_oom(); -+ } else if (asprintf(&name, "run-%lu.service", (unsigned long) getpid()) < 0) -+ return log_oom(); - - r = message_start_transient_unit_new(bus, name, &m); - if (r < 0) -@@ -436,12 +436,12 @@ static int start_transient_scope( - - assert(bus); - -- if (arg_unit) -+ if (arg_unit) { - name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".scope"); -- else -- asprintf(&name, "run-%lu.scope", (unsigned long) getpid()); -- if (!name) -- return -ENOMEM; -+ if (!name) -+ return log_oom(); -+ } else if (asprintf(&name, "run-%lu.scope", (unsigned long) getpid()) < 0) -+ return log_oom(); - - r = message_start_transient_unit_new(bus, name, &m); - if (r < 0) ---- src/shared/install.c -+++ src/shared/install.c 2014-07-28 00:00:00.000000000 +0000 -@@ -72,13 +72,16 @@ static int get_config_path(UnitFileScope - - case UNIT_FILE_SYSTEM: - -- if (root_dir && runtime) -- asprintf(&p, "%s/run/systemd/system", root_dir); -- else if (runtime) -+ if (root_dir && runtime) { -+ if (asprintf(&p, "%s/run/systemd/system", root_dir) < 0) -+ return -ENOMEM; -+ } else if (runtime) - p = strdup("/run/systemd/system"); -- else if (root_dir) -- asprintf(&p, "%s/%s", root_dir, SYSTEM_CONFIG_UNIT_PATH); -- else -+ else if (root_dir) { -+ if (asprintf(&p, "%s/%s", root_dir, -+ SYSTEM_CONFIG_UNIT_PATH) < 0) -+ return -ENOMEM; -+ } else - p = strdup(SYSTEM_CONFIG_UNIT_PATH); - - break; ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-07-28 09:51:40.894735541 +0000 -@@ -4639,11 +4639,11 @@ static int enable_sysv_units(const char - - STRV_FOREACH(k, paths.unit_path) { - if (!isempty(arg_root)) -- asprintf(&p, "%s/%s/%s", arg_root, *k, name); -+ j = asprintf(&p, "%s/%s/%s", arg_root, *k, name); - else -- asprintf(&p, "%s/%s", *k, name); -+ j = asprintf(&p, "%s/%s", *k, name); - -- if (!p) { -+ if (j < 0) { - r = log_oom(); - goto finish; - } -@@ -4660,10 +4660,10 @@ static int enable_sysv_units(const char - continue; - - if (!isempty(arg_root)) -- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); -+ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); - else -- asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); -- if (!p) { -+ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); -+ if (j < 0) { - r = log_oom(); - goto finish; - } -@@ -4676,10 +4676,10 @@ static int enable_sysv_units(const char - free(p); - p = NULL; - if (!isempty(arg_root)) -- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); -+ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); - else -- asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -- if (!p) { -+ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (j < 0) { - r = log_oom(); - goto finish; - } ---- src/tty-ask-password-agent/tty-ask-password-agent.c -+++ src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-28 00:00:00.000000000 +0000 -@@ -102,8 +102,9 @@ static int ask_password_plymouth( - if (accept_cached) { - packet = strdup("c"); - n = 1; -- } else -- asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), message, &n); -+ } else if (asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), -+ message, &n) < 0) -+ packet = NULL; - - if (!packet) { - r = -ENOMEM; diff --git a/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch b/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch deleted file mode 100644 index 7f485448..00000000 --- a/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch +++ /dev/null @@ -1,130 +0,0 @@ -From b5d742138f71e87312541a89aac5657015f50f48 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 4 Mar 2014 09:50:26 -0500 -Subject: [PATCH] Do not print invalid UTF-8 in error messages - -Inexplicably, 550a40ec ('core: do not print invalid utf-8 in error -messages') only fixed two paths. Convert all of them now. ---- - src/core/load-fragment.c | 13 ++++--------- - src/shared/conf-parser.c | 7 +++---- - src/shared/conf-parser.h | 6 ++++++ - src/shared/fileio.c | 9 ++++++--- - 4 files changed, 19 insertions(+), 16 deletions(-) - -diff --git src/core/load-fragment.c src/core/load-fragment.c -index d77bf5c..5628d8c 100644 ---- src/core/load-fragment.c -+++ src/core/load-fragment.c -@@ -536,9 +536,7 @@ int config_parse_exec(const char *unit, - } - - if (!utf8_is_valid(path)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", -- rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - r = 0; - goto fail; - } -@@ -553,9 +551,7 @@ int config_parse_exec(const char *unit, - } - - if (!utf8_is_valid(c)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", -- rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - r = 0; - goto fail; - } -@@ -1960,8 +1956,7 @@ int config_parse_unit_requires_mounts_for( - return log_oom(); - - if (!utf8_is_valid(n)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - continue; - } - -diff --git src/shared/conf-parser.c src/shared/conf-parser.c -index 0a87a71..d27b1b7 100644 ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c -@@ -618,8 +618,7 @@ int config_parse_string(const char *unit - return log_oom(); - - if (!utf8_is_valid(n)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "String is not UTF-8 clean, ignoring assignment: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - free(n); - return 0; - } -@@ -656,8 +655,7 @@ int config_parse_path(const char *unit, - assert(data); - - if (!utf8_is_valid(rvalue)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - return 0; - } - -@@ -725,8 +723,7 @@ int config_parse_strv(const char *unit, - return log_oom(); - - if (!utf8_is_valid(n)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "String is not UTF-8 clean, ignoring: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - continue; - } - -diff --git src/shared/conf-parser.h src/shared/conf-parser.h -index e1c7ab4..ba0e58d 100644 ---- src/shared/conf-parser.h -+++ src/shared/conf-parser.h -@@ -121,6 +121,12 @@ int log_syntax_internal(const char *unit, int level, - config_file, config_line, \ - error, __VA_ARGS__) - -+#define log_invalid_utf8(unit, level, config_file, config_line, error, rvalue) { \ -+ _cleanup_free_ char *__p = utf8_escape_invalid(rvalue); \ -+ log_syntax(unit, level, config_file, config_line, error, \ -+ "String is not UTF-8 clean, ignoring assignment: %s", __p); \ -+ } -+ - #define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ - int function(const char *unit, \ - const char *filename, \ -diff --git src/shared/fileio.c src/shared/fileio.c -index d591567..f101269 100644 ---- src/shared/fileio.c -+++ src/shared/fileio.c -@@ -598,15 +598,18 @@ static int load_env_file_push(const char *filename, unsigned line, - int r; - - if (!utf8_is_valid(key)) { -+ _cleanup_free_ char *t = utf8_escape_invalid(key); -+ - log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.", -- filename, line, key); -+ filename, line, t); - return -EINVAL; - } - - if (value && !utf8_is_valid(value)) { -- /* FIXME: filter UTF-8 */ -+ _cleanup_free_ char *t = utf8_escape_invalid(value); -+ - log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.", -- filename, line, key, value); -+ filename, line, key, t); - return -EINVAL; - } - --- -1.7.9.2 - diff --git a/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch b/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch deleted file mode 100644 index 38b777fe..00000000 --- a/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 8e07fc41f86d41e68c5663b2a3c620a0adedcc11 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 31 Aug 2014 00:42:27 -0400 -Subject: [PATCH] Quote unit names in suggested systemctl commandlines - -The fact that unit names have to be quoted can be a bit surprising. -Show quotes in the hint commandline, but only after checking that this -is necessary, since quotes are visually heavy and usually not needed. - -https://bugs.freedesktop.org/show_bug.cgi?id=82832 ---- - src/core/job.c | 11 +++++++++-- - src/systemctl/systemctl.c | 14 ++++++++++++-- - 2 files changed, 21 insertions(+), 4 deletions(-) - -diff --git src/core/job.c src/core/job.c -index 5e4987f..ef5dbce 100644 ---- src/core/job.c -+++ src/core/job.c -@@ -632,11 +632,18 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { - unit_status_printf(u, ANSI_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format); - break; - -- case JOB_FAILED: -+ case JOB_FAILED: { -+ bool quotes; -+ -+ quotes = chars_intersect(u->id, SHELL_NEED_QUOTES); -+ - manager_flip_auto_status(u->manager, true); - unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format); -- manager_status_printf(u->manager, false, NULL, "See 'systemctl status %s' for details.", u->id); -+ manager_status_printf(u->manager, false, NULL, -+ "See \"systemctl status %s%s%s\" for details.", -+ quotes ? "'" : "", u->id, quotes ? "'" : ""); - break; -+ } - - case JOB_DEPENDENCY: - manager_flip_auto_status(u->manager, true); -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 6534819..de43c87 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -2351,8 +2351,18 @@ static int check_wait_response(WaitData *d) { - log_error("Job for %s canceled.", strna(d->name)); - else if (streq(d->result, "dependency")) - log_error("A dependency job for %s failed. See 'journalctl -xn' for details.", strna(d->name)); -- else if (!streq(d->result, "done") && !streq(d->result, "skipped")) -- log_error("Job for %s failed. See 'systemctl status %s' and 'journalctl -xn' for details.", strna(d->name), strna(d->name)); -+ else if (!streq(d->result, "done") && !streq(d->result, "skipped")) { -+ if (d->name) { -+ bool quotes; -+ -+ quotes = chars_intersect(d->name, SHELL_NEED_QUOTES); -+ -+ log_error("Job for %s failed. See \"systemctl status %s%s%s\" and \"journalctl -xn\" for details.", -+ d->name, -+ quotes ? "'" : "", d->name, quotes ? "'" : ""); -+ } else -+ log_error("Job failed. See \"journalctl -xn\" for details."); -+ } - } - - if (streq(d->result, "timeout")) --- -1.7.9.2 - diff --git a/0003-analyze-fix-mem-leak.patch b/0003-analyze-fix-mem-leak.patch deleted file mode 100644 index 10ecbcfc..00000000 --- a/0003-analyze-fix-mem-leak.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0ee9613d98cbe1f36ffc98c6bfa51dd2b798fc6d Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 13 Sep 2014 12:29:43 +0200 -Subject: [PATCH] analyze: fix mem leak - -Found with Coverity. Fixes: CID#1237756 ---- - src/analyze/analyze.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index 1281d6b..82f5cf3 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -848,7 +848,8 @@ static int list_dependencies(sd_bus *bus, const char *name) { - char ts[FORMAT_TIMESPAN_MAX]; - struct unit_times *times; - int r; -- const char *path, *id; -+ const char *id; -+ _cleanup_free_ char *path = NULL; - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - struct boot_times *boot; --- -1.7.9.2 - diff --git a/0003-analyze-fix-plot-with-bad-y-size.patch b/0003-analyze-fix-plot-with-bad-y-size.patch deleted file mode 100644 index 07761449..00000000 --- a/0003-analyze-fix-plot-with-bad-y-size.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a213b7e977221ca96bbc1b19a5a879c912ba2488 Mon Sep 17 00:00:00 2001 -From: Jeffrey Clark -Date: Wed, 23 Apr 2014 22:37:43 +0200 -Subject: [PATCH] analyze: fix plot with bad y size - -systemd-analyze plot > test.svg produces output with all y and height -element attributes equal to zero. This of course causes the resulting -svg to appear blank (zero height). Bug does not affect x86. Looks like -a compiler optimization may be the culprit. - -https://github.com/archlinuxarm/PKGBUILDs/issues/815 ---- - src/analyze/analyze.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index ba236d9..ebaa9d0 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -43,7 +43,7 @@ - #include "pager.h" - - #define SCALE_X (0.1 / 1000.0) /* pixels per us */ --#define SCALE_Y 20.0 -+#define SCALE_Y (20.0) - - #define compare(a, b) (((a) > (b))? 1 : (((b) > (a))? -1 : 0)) - --- -1.7.9.2 - diff --git a/0003-arch-add-crisv32-to-uname-check.patch b/0003-arch-add-crisv32-to-uname-check.patch deleted file mode 100644 index c8a9e7f3..00000000 --- a/0003-arch-add-crisv32-to-uname-check.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9b3a0ba3e9e28382a1072bf0e2c07a3661432743 Mon Sep 17 00:00:00 2001 -From: Umut Tezduyar Lindskog -Date: Thu, 3 Jul 2014 09:54:45 +0200 -Subject: [PATCH] arch: add crisv32 to uname check - ---- - src/shared/architecture.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index 9e0c3ef..7dd049a 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -116,6 +116,7 @@ Architecture uname_architecture(void) { - { "tilegx", ARCHITECTURE_TILEGX }, - #elif defined(__cris__) - { "cris", ARCHITECTURE_CRIS }, -+ { "crisv32", ARCHITECTURE_CRIS }, - #else - #error "Please register your architecture here!" - #endif --- -1.7.9.2 - diff --git a/0003-architecture-add-string-table-entries-for-mips-le-ar.patch b/0003-architecture-add-string-table-entries-for-mips-le-ar.patch deleted file mode 100644 index c3944702..00000000 --- a/0003-architecture-add-string-table-entries-for-mips-le-ar.patch +++ /dev/null @@ -1,52 +0,0 @@ -Based on 037c26d0aeb750ca9c8d605884ea1db7baecfea8 Mon Sep 17 00:00:00 2001 -Based on 9a00f57a5ba7ed431e6bac8d8b36518708503b4e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 14:59:06 +0200 -Subject: [PATCH] architecture: add string table entries for mips-le archs - which were missing - ---- - src/shared/architecture.c | 2 ++ - src/shared/architecture.h | 4 ++++ - 2 files changed, 6 insertions(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index 6cdca4e..dc45f35 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -153,7 +153,9 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { - [ARCHITECTURE_SPARC] = "sparc", - [ARCHITECTURE_SPARC64] = "sparc64", - [ARCHITECTURE_MIPS] = "mips", -+ [ARCHITECTURE_MIPS_LE] = "mips-le", - [ARCHITECTURE_MIPS64] = "mips64", -+ [ARCHITECTURE_MIPS64_LE] = "mips64-le", - [ARCHITECTURE_ALPHA] = "alpha", - [ARCHITECTURE_ARM] = "arm", - [ARCHITECTURE_ARM_BE] = "arm-be", -diff --git src/shared/architecture.h src/shared/architecture.h -index 20e848b..0807924 100644 ---- src/shared/architecture.h -+++ src/shared/architecture.h -@@ -23,6 +23,8 @@ - - #include "util.h" - -+/* A cleaned up architecture definition */ -+ - typedef enum Architecture { - ARCHITECTURE_X86 = 0, - ARCHITECTURE_X86_64, -@@ -38,7 +40,9 @@ typedef enum Architecture { - ARCHITECTURE_SPARC, - ARCHITECTURE_SPARC64, - ARCHITECTURE_MIPS, -+ ARCHITECTURE_MIPS_LE, - ARCHITECTURE_MIPS64, -+ ARCHITECTURE_MIPS64_LE, - ARCHITECTURE_ALPHA, - ARCHITECTURE_ARM, - ARCHITECTURE_ARM_BE, --- -1.7.9.2 - diff --git a/0003-backlight-unify-error-messages.patch b/0003-backlight-unify-error-messages.patch deleted file mode 100644 index 452de616..00000000 --- a/0003-backlight-unify-error-messages.patch +++ /dev/null @@ -1,115 +0,0 @@ -Based on 938d2699d2e818bd996614e89ea3d668200ad2a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 7 Apr 2014 20:57:22 -0400 -Subject: [PATCH] backlight: unify error messages - ---- - src/backlight/backlight.c | 29 +++++++++++++++++++---------- - 1 file changed, 19 insertions(+), 10 deletions(-) - ---- src/backlight/backlight.c -+++ src/backlight/backlight.c 2014-05-12 13:31:50.502235843 +0000 -@@ -24,6 +24,7 @@ - #include "fileio.h" - #include "libudev.h" - #include "udev-util.h" -+#include "def.h" - - static struct udev_device *find_pci_or_platform_parent(struct udev_device *device) { - struct udev_device *parent; -@@ -50,7 +51,7 @@ static struct udev_device *find_pci_or_p - if (!c) - return NULL; - -- c += strspn(c, "0123456789"); -+ c += strspn(c, DIGITS); - if (*c == '-') { - /* A connector DRM device, let's ignore all but LVDS and eDP! */ - -@@ -67,7 +68,8 @@ static struct udev_device *find_pci_or_p - unsigned long class = 0; - - if (safe_atolu(value, &class) < 0) { -- log_warning("Cannot parse PCI class %s of device %s:%s.", value, subsystem, sysname); -+ log_warning("Cannot parse PCI class %s of device %s:%s.", -+ value, subsystem, sysname); - return NULL; - } - -@@ -175,7 +177,9 @@ static bool validate_device(struct udev - if (same_device(parent, other_parent)) { - /* Both have the same PCI parent, that means - * we are out. */ -- log_debug("Skipping backlight device %s, since backlight device %s is on same PCI device and, takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); -+ log_debug("Skipping backlight device %s, since device %s is on same PCI device and takes precedence.", -+ udev_device_get_sysname(device), -+ udev_device_get_sysname(other)); - return false; - } - -@@ -184,7 +188,9 @@ static bool validate_device(struct udev - /* The other is connected to the platform bus - * and we are a PCI device, that also means we - * are out. */ -- log_debug("Skipping backlight device %s, since backlight device %s is a platform device and takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); -+ log_debug("Skipping backlight device %s, since device %s is a platform device and takes precedence.", -+ udev_device_get_sysname(device), -+ udev_device_get_sysname(other)); - return false; - } - } -@@ -199,13 +205,14 @@ static unsigned get_max_brightness(struc - - max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); - if (!max_brightness_str) { -- log_warning("Failed to read max_brightness attribute"); -+ log_warning("Failed to read 'max_brightness' attribute"); - return 0; - } - - r = safe_atou(max_brightness_str, &max_brightness); - if (r < 0) { -- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ log_warning("Failed to parse 'max_brightness' \"%s\": %s", -+ max_brightness_str, strerror(-r)); - return 0; - } - -@@ -262,7 +269,8 @@ int main(int argc, char *argv[]) { - - r = mkdir_p("/var/lib/systemd/backlight", 0755); - if (r < 0) { -- log_error("Failed to create backlight directory: %s", strerror(-r)); -+ log_error("Failed to create backlight directory /var/lib/systemd/backlight: %s", -+ strerror(-r)); - return EXIT_FAILURE; - } - -@@ -274,7 +282,7 @@ int main(int argc, char *argv[]) { - - sysname = strchr(argv[2], ':'); - if (!sysname) { -- log_error("Requires pair of subsystem and sysname for specifying backlight device."); -+ log_error("Requires a subsystem and sysname pair specifying a backlight device."); - return EXIT_FAILURE; - } - -@@ -368,7 +376,8 @@ int main(int argc, char *argv[]) { - - r = udev_device_set_sysattr_value(device, "brightness", value); - if (r < 0) { -- log_error("Failed to write system attribute: %s", strerror(-r)); -+ log_error("Failed to write system 'brightness' attribute: %s", -+ strerror(-r)); - return EXIT_FAILURE; - } - -@@ -382,7 +391,7 @@ int main(int argc, char *argv[]) { - - value = udev_device_get_sysattr_value(device, "brightness"); - if (!value) { -- log_error("Failed to read system attribute: %s", strerror(-r)); -+ log_error("Failed to read system 'brightness' attribute: %s", strerror(-r)); - return EXIT_FAILURE; - } - diff --git a/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch b/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch deleted file mode 100644 index 9796af4f..00000000 --- a/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4155f7d4be5053d5f34a26e5437fd85e1fe00fa3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 11 Aug 2014 18:23:47 +0200 -Subject: [PATCH] bootchart: it's not OK to return -1 from a main program - ---- - src/bootchart/bootchart.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c -index c0e176d..8ef5ad1 100644 ---- src/bootchart/bootchart.c -+++ src/bootchart/bootchart.c -@@ -380,8 +380,8 @@ int main(int argc, char *argv[]) { - - sampledata = new0(struct list_sample_data, 1); - if (sampledata == NULL) { -- log_error("Failed to allocate memory for a node: %m"); -- return -1; -+ log_oom(); -+ return EXIT_FAILURE; - } - - sampledata->sampletime = gettime_ns(); --- -1.7.9.2 - diff --git a/0003-bootchart-parse-userinput-with-safe_atoi.patch b/0003-bootchart-parse-userinput-with-safe_atoi.patch deleted file mode 100644 index 16378405..00000000 --- a/0003-bootchart-parse-userinput-with-safe_atoi.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9bcf7507fab6e6b022ae3cc7178237e6e0a09e9a Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 26 Sep 2014 21:41:02 +0200 -Subject: [PATCH] bootchart: parse userinput with safe_atoi - -Found by coverity. Fixes: CID#996409 ---- - src/bootchart/store.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/bootchart/store.c src/bootchart/store.c -index ed683e8..3099ff1 100644 ---- src/bootchart/store.c -+++ src/bootchart/store.c -@@ -192,12 +192,14 @@ vmstat_next: - - m = buf; - while (m) { -+ int r; -+ - if (sscanf(m, "%s %*s %*s %*s %*s %*s %*s %s %s", key, rt, wt) < 3) - goto schedstat_next; - - if (strstr(key, "cpu")) { -- c = atoi((const char*)(key+3)); -- if (c > MAXCPUS) -+ r = safe_atoi((const char*)(key+3), &c); -+ if (r < 0 || c > MAXCPUS) - /* Oops, we only have room for MAXCPUS data */ - break; - sampledata->runtime[c] = atoll(rt); --- -1.7.9.2 - diff --git a/0003-busname-don-t-drop-service-from-the-result-string.patch b/0003-busname-don-t-drop-service-from-the-result-string.patch deleted file mode 100644 index 37b7bd5c..00000000 --- a/0003-busname-don-t-drop-service-from-the-result-string.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 700ff4d97311902a440109a2c081731ab6ae8a20 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 7 Mar 2014 17:29:16 +0100 -Subject: [PATCH] busname: don't drop 'service' from the result string - ---- - src/core/busname.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/busname.c src/core/busname.c -index 237011a..bca2145 100644 ---- src/core/busname.c -+++ src/core/busname.c -@@ -548,7 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); - static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { - [BUSNAME_SUCCESS] = "success", - [BUSNAME_FAILURE_RESOURCES] = "resources", -- [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", -+ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "service-failed-permanent", - }; - - DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); --- -1.7.9.2 - diff --git a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch deleted file mode 100644 index 8305035f..00000000 --- a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d1d8e5d49f3149d03ceb94d1d2f6c14e7abccb6f Mon Sep 17 00:00:00 2001 -From: Ronan Le Martret -Date: Tue, 22 Apr 2014 10:33:25 +0200 -Subject: [PATCH] core: You can not put the cached result of use_smack fct, as - we are not sure the "/sys" is mounted. So we should mount - "sys" before "/proc" - -https://bugs.freedesktop.org/show_bug.cgi?id=77646 ---- - src/core/mount-setup.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index ae8447c..991bfdf 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -67,10 +67,10 @@ typedef struct MountPoint { - #define N_EARLY_MOUNT 5 - - static const MountPoint mount_table[] = { -- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -- NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, - NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, --- -1.7.9.2 - diff --git a/0003-core-allow-transient-mount-units.patch b/0003-core-allow-transient-mount-units.patch deleted file mode 100644 index 607bdaea..00000000 --- a/0003-core-allow-transient-mount-units.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 0e252f6b375af59eac9bd6d2fe8dd6ee2f51998d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 6 Jun 2014 15:10:20 +0200 -Subject: [PATCH] core: allow transient mount units - -For now only What=, Options=, Type= are supported, and Where= is deduced -from the unit name. ---- - src/core/dbus-mount.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++- - src/core/mount.c | 2 ++ - 2 files changed, 65 insertions(+), 1 deletion(-) - -diff --git src/core/dbus-mount.c src/core/dbus-mount.c -index e64d3ea..e27019d 100644 ---- src/core/dbus-mount.c -+++ src/core/dbus-mount.c -@@ -124,6 +124,47 @@ const sd_bus_vtable bus_mount_vtable[] = { - SD_BUS_VTABLE_END - }; - -+static int bus_mount_set_transient_property( -+ Mount *m, -+ const char *name, -+ sd_bus_message *message, -+ UnitSetPropertiesMode mode, -+ sd_bus_error *error) { -+ -+ const char *new_property; -+ char **property; -+ char *p; -+ int r; -+ -+ assert(m); -+ assert(name); -+ assert(message); -+ -+ if (streq(name, "What")) -+ property = &m->parameters_fragment.what; -+ else if (streq(name, "Options")) -+ property = &m->parameters_fragment.options; -+ else if (streq(name, "Type")) -+ property = &m->parameters_fragment.fstype; -+ else -+ return 0; -+ -+ r = sd_bus_message_read(message, "s", &new_property); -+ if (r < 0) -+ return r; -+ -+ if (mode != UNIT_CHECK) { -+ p = strdup(new_property); -+ if (!p) -+ return -ENOMEM; -+ -+ free(*property); -+ *property = p; -+ } -+ -+ return 1; -+} -+ - int bus_mount_set_property( - Unit *u, - const char *name, -@@ -132,12 +173,33 @@ int bus_mount_set_property( - sd_bus_error *error) { - - Mount *m = MOUNT(u); -+ int r; - - assert(m); - assert(name); - assert(message); - -- return bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); -+ r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); -+ if (r != 0) -+ return r; -+ -+ if (u->transient && u->load_state == UNIT_STUB) { -+ /* This is a transient unit, let's load a little more */ -+ -+ r = bus_mount_set_transient_property(m, name, message, mode, error); -+ if (r != 0) -+ return r; -+ -+ r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, mode, error); -+ if (r != 0) -+ return r; -+ -+ r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, mode, error); -+ if (r != 0) -+ return r; -+ } -+ -+ return 0; - } - - int bus_mount_commit_properties(Unit *u) { -diff --git src/core/mount.c src/core/mount.c -index a979837..14ac0a0 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -1819,6 +1819,8 @@ const UnitVTable mount_vtable = { - - .get_timeout = mount_get_timeout, - -+ .can_transient = true, -+ - .enumerate = mount_enumerate, - .shutdown = mount_shutdown, - --- -1.7.9.2 - diff --git a/0003-core-make-sure-to-serialize-jobs-for-all-units.patch b/0003-core-make-sure-to-serialize-jobs-for-all-units.patch deleted file mode 100644 index 30c4615f..00000000 --- a/0003-core-make-sure-to-serialize-jobs-for-all-units.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 9bdb98c59451ed090f8d35d470a54710f389ce71 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 May 2014 01:15:03 +0200 -Subject: [PATCH] core: make sure to serialize jobs for all units - -Previously we wouldn't serialize jobs for units that themselves have -nothing to serialize. - -http://lists.freedesktop.org/archives/systemd-devel/2014-May/019051.html ---- - src/core/manager.c | 3 --- - src/core/unit.c | 43 +++++++++++++++++++++---------------------- - 2 files changed, 21 insertions(+), 25 deletions(-) - -diff --git src/core/manager.c src/core/manager.c -index 1e3e127..d0af674 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -2131,9 +2131,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) { - if (u->id != t) - continue; - -- if (!unit_can_serialize(u)) -- continue; -- - /* Start marker */ - fputs(u->id, f); - fputc('\n', f); -diff --git src/core/unit.c src/core/unit.c -index c4ed923..41651ba 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -2288,25 +2288,25 @@ bool unit_can_serialize(Unit *u) { - } - - int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) { -- ExecRuntime *rt; - int r; - - assert(u); - assert(f); - assert(fds); - -- if (!unit_can_serialize(u)) -- return 0; -- -- r = UNIT_VTABLE(u)->serialize(u, f, fds); -- if (r < 0) -- return r; -+ if (unit_can_serialize(u)) { -+ ExecRuntime *rt; - -- rt = unit_get_exec_runtime(u); -- if (rt) { -- r = exec_runtime_serialize(rt, u, f, fds); -+ r = UNIT_VTABLE(u)->serialize(u, f, fds); - if (r < 0) - return r; -+ -+ rt = unit_get_exec_runtime(u); -+ if (rt) { -+ r = exec_runtime_serialize(rt, u, f, fds); -+ if (r < 0) -+ return r; -+ } - } - - dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); -@@ -2368,17 +2368,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) { - } - - int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { -- size_t offset; - ExecRuntime **rt = NULL; -+ size_t offset; - int r; - - assert(u); - assert(f); - assert(fds); - -- if (!unit_can_serialize(u)) -- return 0; -- - offset = UNIT_VTABLE(u)->exec_runtime_offset; - if (offset > 0) - rt = (ExecRuntime**) ((uint8_t*) u + offset); -@@ -2503,17 +2500,19 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { - continue; - } - -- if (rt) { -- r = exec_runtime_deserialize_item(rt, u, l, v, fds); -+ if (unit_can_serialize(u)) { -+ if (rt) { -+ r = exec_runtime_deserialize_item(rt, u, l, v, fds); -+ if (r < 0) -+ return r; -+ if (r > 0) -+ continue; -+ } -+ -+ r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); - if (r < 0) - return r; -- if (r > 0) -- continue; - } -- -- r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); -- if (r < 0) -- return r; - } - } - --- -1.7.9.2 - diff --git a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch deleted file mode 100644 index 74a3f0e8..00000000 --- a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +++ /dev/null @@ -1,113 +0,0 @@ -From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 May 2014 16:49:12 +0900 -Subject: [PATCH] core: never consider failure when reading drop-ins fatal - -drop-ins don't carry the main configuration of a unit, hence read them -if we can't, complain if we cannot, but don't fail. ---- - src/core/load-dropin.c | 42 +++++++++++++----------------------------- - 1 file changed, 13 insertions(+), 29 deletions(-) - -Index: src/core/load-dropin.c -=================================================================== ---- src/core/load-dropin.c.orig -+++ src/core/load-dropin.c -@@ -58,6 +58,7 @@ static int iterate_dir( - if (errno == ENOENT) - return 0; - -+ log_error("Failed to open directory %s: %m", path); - return -errno; - } - -@@ -101,7 +102,6 @@ static int process_dir( - char ***strv) { - - _cleanup_free_ char *path = NULL; -- int r; - - assert(u); - assert(unit_path); -@@ -112,11 +112,8 @@ static int process_dir( - if (!path) - return log_oom(); - -- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) { -- r = iterate_dir(u, path, dependency, strv); -- if (r < 0) -- return r; -- } -+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) -+ iterate_dir(u, path, dependency, strv); - - if (u->instance) { - _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +127,8 @@ static int process_dir( - if (!p) - return log_oom(); - -- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) { -- r = iterate_dir(u, p, dependency, strv); -- if (r < 0) -- return r; -- } -+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) -+ iterate_dir(u, p, dependency, strv); - } - - return 0; -@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { - SET_FOREACH(t, u->names, i) { - char **p; - -- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { -- /* This loads the drop-in config snippets */ -- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); -- if (r < 0) -- return NULL; -- } -+ STRV_FOREACH(p, u->manager->lookup_paths.unit_path) -+ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); - } - - if (strv_isempty(strv)) -@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { - int unit_load_dropin(Unit *u) { - Iterator i; - char *t, **f; -- int r; - - assert(u); - -@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { - char **p; - - STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { -- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); -- if (r < 0) -- return r; -- -- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); -- if (r < 0) -- return r; -+ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); -+ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); - } - } - -@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { - return 0; - - STRV_FOREACH(f, u->dropin_paths) { -- r = config_parse(u->id, *f, NULL, -- UNIT_VTABLE(u)->sections, config_item_perf_lookup, -- (void*) load_fragment_gperf_lookup, false, false, u); -- if (r < 0) -- return r; -+ config_parse(u->id, *f, NULL, -+ UNIT_VTABLE(u)->sections, config_item_perf_lookup, -+ (void*) load_fragment_gperf_lookup, false, false, u); - } - - u->dropin_mtime = now(CLOCK_REALTIME); diff --git a/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch b/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch deleted file mode 100644 index 5a60b86b..00000000 --- a/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 18abe7bd3e13525b257da69ac49ff7841c289567 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Jul 2014 22:52:53 -0400 -Subject: [PATCH] core: nicer message when inotify watches are exhausted - -inotify_add_watch returns ENOSPC, which translates to -"No space left on device", which is misleading. - -https://bugs.freedesktop.org/show_bug.cgi?id=73628 ---- - src/core/path.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/core/path.c src/core/path.c -index 20e454d..f54c77f 100644 ---- src/core/path.c -+++ src/core/path.c -@@ -99,7 +99,8 @@ int path_spec_watch(PathSpec *s, sd_event_io_handler_t handler) { - break; - } - -- log_warning("Failed to add watch on %s: %m", s->path); -+ log_warning("Failed to add watch on %s: %s", s->path, -+ errno == ENOSPC ? "too many watches" : strerror(-r)); - r = -errno; - if (cut) - *cut = tmp; --- -1.7.9.2 - diff --git a/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch b/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch deleted file mode 100644 index 5424ff1c..00000000 --- a/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch +++ /dev/null @@ -1,28 +0,0 @@ -Based on 8a52210c9392887a31fdb2845f65b4c5869e8e66 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 24 Nov 2014 09:11:12 -0500 -Subject: [PATCH] cryptsetup: default to no hash when keyfile is specified - -For plain dm-crypt devices, the behavior of cryptsetup package is to -ignore the hash algorithm when a key file is provided. It seems wrong -to ignore a hash when it is explicitly specified, but we should default -to no hash if the keyfile is specified. - -https://bugs.freedesktop.org/show_bug.cgi?id=52630 ---- - src/cryptsetup/cryptsetup.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- src/cryptsetup/cryptsetup.c -+++ src/cryptsetup/cryptsetup.c 2014-12-15 12:00:17.554019752 +0000 -@@ -386,7 +386,9 @@ static int attach_luks_or_plain(struct c - /* plain isn't a real hash type. it just means "use no hash" */ - if (!streq(opt_hash, "plain")) - params.hash = opt_hash; -- } else -+ } else if (!key_file) -+ /* for CRYPT_PLAIN, the behaviour of cryptsetup -+ * package is to not hash when a key file is provided */ - params.hash = "ripemd160"; - - if (opt_cipher) { diff --git a/0003-delta-do-not-use-unicode-chars-in-C-locale.patch b/0003-delta-do-not-use-unicode-chars-in-C-locale.patch deleted file mode 100644 index f7360178..00000000 --- a/0003-delta-do-not-use-unicode-chars-in-C-locale.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 00a5cc3a63c125633e822f39efd9c32223169f62 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Apr 2014 23:33:41 -0400 -Subject: [PATCH] delta: do not use unicode chars in C locale - -https://bugzilla.redhat.com/show_bug.cgi?id=1088418 ---- - src/delta/delta.c | 40 +++++++++++++++++++++++++--------------- - 1 file changed, 25 insertions(+), 15 deletions(-) - -diff --git src/delta/delta.c src/delta/delta.c -index 369f8f8..8fc37c5 100644 ---- src/delta/delta.c -+++ src/delta/delta.c -@@ -85,6 +85,10 @@ static void pager_open_if_enabled(void) { - pager_open(false); - } - -+static inline const char* arrow(void) { -+ return is_locale_utf8() ? "→" : "->"; -+} -+ - static int equivalent(const char *a, const char *b) { - _cleanup_free_ char *x = NULL, *y = NULL; - -@@ -103,8 +107,9 @@ static int notify_override_masked(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_MASKED)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -112,8 +117,9 @@ static int notify_override_equivalent(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_EQUIVALENT)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -121,8 +127,9 @@ static int notify_override_redirected(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_REDIRECTED)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -130,8 +137,9 @@ static int notify_override_overridden(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_OVERRIDDEN)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -139,8 +147,9 @@ static int notify_override_extended(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_EXTENDED)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -241,7 +250,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const - return -ENOMEM; - d = p + strlen(toppath) + 1; - -- log_debug("Adding at top: %s → %s", d, p); -+ log_debug("Adding at top: %s %s %s", d, arrow(), p); - k = hashmap_put(top, d, p); - if (k >= 0) { - p = strdup(p); -@@ -253,7 +262,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const - return k; - } - -- log_debug("Adding at bottom: %s → %s", d, p); -+ log_debug("Adding at bottom: %s %s %s", d, arrow(), p); - free(hashmap_remove(bottom, d)); - k = hashmap_put(bottom, d, p); - if (k < 0) { -@@ -276,7 +285,8 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const - if (!p) - return -ENOMEM; - -- log_debug("Adding to drops: %s → %s → %s", unit, basename(p), p); -+ log_debug("Adding to drops: %s %s %s %s %s", -+ unit, arrow(), basename(p), arrow(), p); - k = hashmap_put(h, basename(p), p); - if (k < 0) { - free(p); -@@ -328,7 +338,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch - if (!p) - return -ENOMEM; - -- log_debug("Adding at top: %s → %s", basename(p), p); -+ log_debug("Adding at top: %s %s %s", basename(p), arrow(), p); - k = hashmap_put(top, basename(p), p); - if (k >= 0) { - p = strdup(p); -@@ -339,7 +349,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch - return k; - } - -- log_debug("Adding at bottom: %s → %s", basename(p), p); -+ log_debug("Adding at bottom: %s %s %s", basename(p), arrow(), p); - free(hashmap_remove(bottom, basename(p))); - k = hashmap_put(bottom, basename(p), p); - if (k < 0) { --- -1.7.9.2 - diff --git a/0003-fileio-label-return-error-when-writing-fails.patch b/0003-fileio-label-return-error-when-writing-fails.patch deleted file mode 100644 index 91ea97d9..00000000 --- a/0003-fileio-label-return-error-when-writing-fails.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on 754fc0c720eb998b8e47e695c12807ced0ff3602 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 3 Oct 2014 08:58:40 -0400 -Subject: [PATCH] fileio-label: return error when writing fails - -The status of actually writing the file was totally ignored. ---- - src/shared/fileio-label.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/shared/fileio-label.c -+++ src/shared/fileio-label.c 2014-10-14 14:52:50.883837740 +0000 -@@ -33,7 +33,7 @@ int write_string_file_atomic_label(const - if (r < 0) - return r; - -- write_string_file_atomic(fn, line); -+ r = write_string_file_atomic(fn, line); - - label_context_clear(); - -@@ -47,7 +47,7 @@ int write_env_file_label(const char *fna - if (r < 0) - return r; - -- write_env_file(fname, l); -+ r = write_env_file(fname, l); - - label_context_clear(); - diff --git a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch deleted file mode 100644 index 27bfc4e6..00000000 --- a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +++ /dev/null @@ -1,110 +0,0 @@ -Based on 571d0134bd464444567cf4eb0d2ed8df40045f36 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 24 Jun 2014 19:37:22 +0200 -Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true - non-existant - ---- - src/fsck/fsck.c | 32 ++++++++++++++++++++++---------- - src/shared/path-util.c | 26 +++++++++++++++----------- - 2 files changed, 37 insertions(+), 21 deletions(-) - -Index: src/fsck/fsck.c -=================================================================== ---- src/fsck/fsck.c.orig -+++ src/fsck/fsck.c -@@ -37,6 +37,7 @@ - #include "bus-errors.h" - #include "fileio.h" - #include "udev-util.h" -+#include "path-util.h" - - static bool arg_skip = false; - static bool arg_force = false; -@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { - - type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); - if (type) { -- const char *checker = strappenda("/sbin/fsck.", type); -- r = access(checker, X_OK); -- if (r < 0) { -- if (errno == ENOENT) { -- log_info("%s doesn't exist, not checking file system on %s", -- checker, device); -- return EXIT_SUCCESS; -- } else -- log_warning("%s cannot be used for %s: %m", -- checker, device); -+ _cleanup_free_ char *p = NULL, *d = NULL; -+ const char *checker = strappenda("fsck.", type); -+ r = find_binary(checker, &p); -+ if (r == -ENOENT) { -+ log_info("fsck.%s doesn't exist, not checking file system on %s", -+ type, device); -+ return EXIT_SUCCESS; -+ } else if (r < 0) { -+ log_warning("fsck.%s cannot be used for %s: %m", -+ type, device); -+ return r; -+ } -+ -+ /* An fsck that is linked to /bin/true is a non-existant fsck */ -+ r = readlink_malloc(p, &d); -+ if (r >= 0 && -+ (path_equal(d, "/bin/true") || -+ path_equal(d, "/usr/bin/true") || -+ path_equal(d, "/dev/null"))) { -+ log_info("fsck.%s doesn't exist, not checking file system on %s", -+ type, device); -+ return EXIT_SUCCESS; - } - } - -Index: src/shared/path-util.c -=================================================================== ---- src/shared/path-util.c.orig -+++ src/shared/path-util.c -@@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { - - int find_binary(const char *name, char **filename) { - assert(name); -- assert(filename); - -- if (strchr(name, '/')) { -- char *p; -+ if (is_path(name)) { -+ if (access(name, X_OK) < 0) -+ return -errno; -+ -+ if (filename) { -+ char *p; - -- if (path_is_absolute(name)) -- p = strdup(name); -- else - p = path_make_absolute_cwd(name); -- if (!p) -- return -ENOMEM; -+ if (!p) -+ return -ENOMEM; -+ -+ *filename = p; -+ } - -- *filename = p; - return 0; - } else { - const char *path; -@@ -463,8 +465,10 @@ int find_binary(const char *name, char * - continue; - } - -- path_kill_slashes(p); -- *filename = p; -+ if (filename) { -+ path_kill_slashes(p); -+ *filename = p; -+ } - - return 0; - } diff --git a/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch b/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch deleted file mode 100644 index 6515929b..00000000 --- a/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch +++ /dev/null @@ -1,51583 +0,0 @@ -Based on d060b62fcb4746d3758c567e9379c6728a035b66 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 14 Apr 2014 07:54:35 -0700 -Subject: [PATCH] hwdb: PCI - include "primary" model string in subsystem - model string - -The data in the PCI ids file is randomly inconsistent. Many -subvendor model strings just describe the "product" where the -hardware is built into, not the hardware itself. This causes -some "Network Card Model Foo" to show up as "Laptop Model Bar". - -Try to make the best out of this mess and concatenate both -strings to describe the hardware. ---- - hwdb/20-pci-vendor-model.hwdb |21356 +++++++++++++++++++++--------------------- - 1 file changed, 10678 insertions(+), 10678 deletions(-) - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index d54cb2a..14637d3 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -15,10 +15,10 @@ pci:v0000001Cd00000001* - ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller - - pci:v0000001Cd00000001sv0000001Csd00000004* -- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 -+ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000) - - pci:v0000001Cd00000001sv0000001Csd00000005* -- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 (Optically Isolated) -+ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000 (Optically Isolated)) - - pci:v0000003D* - ID_VENDOR_FROM_DATABASE=Lockheed Martin-Marietta Corp -@@ -189,19 +189,19 @@ pci:v00000E11d00000046* - ID_MODEL_FROM_DATABASE=Smart Array 64xx - - pci:v00000E11d00000046sv00000E11sd00004091* -- ID_MODEL_FROM_DATABASE=Smart Array 6i -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6i) - - pci:v00000E11d00000046sv00000E11sd0000409A* -- ID_MODEL_FROM_DATABASE=Smart Array 641 -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 641) - - pci:v00000E11d00000046sv00000E11sd0000409B* -- ID_MODEL_FROM_DATABASE=Smart Array 642 -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 642) - - pci:v00000E11d00000046sv00000E11sd0000409C* -- ID_MODEL_FROM_DATABASE=Smart Array 6400 -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400) - - pci:v00000E11d00000046sv00000E11sd0000409D* -- ID_MODEL_FROM_DATABASE=Smart Array 6400 EM -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400 EM) - - pci:v00000E11d00000049* - ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module -@@ -321,7 +321,7 @@ pci:v00000E11d0000A0F0* - ID_MODEL_FROM_DATABASE=Advanced System Management Controller - - pci:v00000E11d0000A0F0sv00000E11sd0000B0F3* -- ID_MODEL_FROM_DATABASE=ProLiant DL360 -+ ID_MODEL_FROM_DATABASE=Advanced System Management Controller (ProLiant DL360) - - pci:v00000E11d0000A0F3* - ID_MODEL_FROM_DATABASE=Triflex PCI to ISA Bridge -@@ -330,10 +330,10 @@ pci:v00000E11d0000A0F7* - ID_MODEL_FROM_DATABASE=PCI Hotplug Controller - - pci:v00000E11d0000A0F7sv00008086sd0000002A* -- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller A -+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (A) - - pci:v00000E11d0000A0F7sv00008086sd0000002B* -- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller B -+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (B) - - pci:v00000E11d0000A0F8* - ID_MODEL_FROM_DATABASE=ZFMicro Chipset USB -@@ -345,19 +345,19 @@ pci:v00000E11d0000AE10* - ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller - - pci:v00000E11d0000AE10sv00000E11sd00004030* -- ID_MODEL_FROM_DATABASE=Smart-2/P Array Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2/P Array Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004031* -- ID_MODEL_FROM_DATABASE=Smart-2SL Array Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2SL Array Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004032* -- ID_MODEL_FROM_DATABASE=Smart Array 3200 Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3200 Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004033* -- ID_MODEL_FROM_DATABASE=Smart Array 3100ES Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3100ES Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004034* -- ID_MODEL_FROM_DATABASE=Smart Array 221 Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 221 Controller) - - pci:v00000E11d0000AE29* - ID_MODEL_FROM_DATABASE=MIS-L -@@ -468,13 +468,13 @@ pci:v00000E11d0000B178* - ID_MODEL_FROM_DATABASE=Smart Array 5i/532 - - pci:v00000E11d0000B178sv00000E11sd00004080* -- ID_MODEL_FROM_DATABASE=Smart Array 5i -+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5i) - - pci:v00000E11d0000B178sv00000E11sd00004082* -- ID_MODEL_FROM_DATABASE=Smart Array 532 -+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 532) - - pci:v00000E11d0000B178sv00000E11sd00004083* -- ID_MODEL_FROM_DATABASE=Smart Array 5312 -+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5312) - - pci:v00000E11d0000B1A4* - ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter -@@ -516,7 +516,7 @@ pci:v00001000d00000001* - ID_MODEL_FROM_DATABASE=53c810 - - pci:v00001000d00000001sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C810AE PCI to SCSI I/O Processor -+ ID_MODEL_FROM_DATABASE=53c810 (LSI53C810AE PCI to SCSI I/O Processor) - - pci:v00001000d00000002* - ID_MODEL_FROM_DATABASE=53c820 -@@ -525,7 +525,7 @@ pci:v00001000d00000003* - ID_MODEL_FROM_DATABASE=53c825 - - pci:v00001000d00000003sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) -+ ID_MODEL_FROM_DATABASE=53c825 (LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)) - - pci:v00001000d00000004* - ID_MODEL_FROM_DATABASE=53c815 -@@ -537,49 +537,49 @@ pci:v00001000d00000006* - ID_MODEL_FROM_DATABASE=53c860 - - pci:v00001000d00000006sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C860E PCI to Ultra SCSI I/O Processor -+ ID_MODEL_FROM_DATABASE=53c860 (LSI53C860E PCI to Ultra SCSI I/O Processor) - - pci:v00001000d0000000A* - ID_MODEL_FROM_DATABASE=53c1510 - - pci:v00001000d0000000Asv00000E11sd0000B143* -- ID_MODEL_FROM_DATABASE=Integrated Dual Channel Wide Ultra2 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1510 (Integrated Dual Channel Wide Ultra2 SCSI Controller) - - pci:v00001000d0000000Asv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) -+ ID_MODEL_FROM_DATABASE=53c1510 (LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)) - - pci:v00001000d0000000B* - ID_MODEL_FROM_DATABASE=53C896/897 - - pci:v00001000d0000000Bsv00000E11sd00006004* -- ID_MODEL_FROM_DATABASE=EOB003 Series SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53C896/897 (EOB003 Series SCSI host adapter) - - pci:v00001000d0000000Bsv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller -+ ID_MODEL_FROM_DATABASE=53C896/897 (LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller) - - pci:v00001000d0000000Bsv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53C896/897 (LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter) - - pci:v00001000d0000000Bsv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53C896/897 (LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter) - - pci:v00001000d0000000Bsv000013E9sd00001000* -- ID_MODEL_FROM_DATABASE=6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics) -+ ID_MODEL_FROM_DATABASE=53C896/897 (6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)) - - pci:v00001000d0000000C* - ID_MODEL_FROM_DATABASE=53c895 - - pci:v00001000d0000000Csv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=LSI8951U PCI to Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c895 (LSI8951U PCI to Ultra2 SCSI host adapter) - - pci:v00001000d0000000Csv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=LSI8952U PCI to Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c895 (LSI8952U PCI to Ultra2 SCSI host adapter) - - pci:v00001000d0000000Csv00001DE1sd00003906* -- ID_MODEL_FROM_DATABASE=DC-390U2B SCSI adapter -+ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2B SCSI adapter) - - pci:v00001000d0000000Csv00001DE1sd00003907* -- ID_MODEL_FROM_DATABASE=DC-390U2W -+ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2W) - - pci:v00001000d0000000D* - ID_MODEL_FROM_DATABASE=53c885 -@@ -588,151 +588,151 @@ pci:v00001000d0000000F* - ID_MODEL_FROM_DATABASE=53c875 - - pci:v00001000d0000000Fsv00000E11sd00007004* -- ID_MODEL_FROM_DATABASE=Embedded Ultra Wide SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875 (Embedded Ultra Wide SCSI Controller) - - pci:v00001000d0000000Fsv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C876/E PCI to Dual Channel SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875 (LSI53C876/E PCI to Dual Channel SCSI Controller) - - pci:v00001000d0000000Fsv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=LSI22801 PCI to Dual Channel Ultra SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c875 (LSI22801 PCI to Dual Channel Ultra SCSI host adapter) - - pci:v00001000d0000000Fsv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=LSI22802 PCI to Dual Channel Ultra SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c875 (LSI22802 PCI to Dual Channel Ultra SCSI host adapter) - - pci:v00001000d0000000Fsv00001092sd00008760* -- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875 (FirePort 40 Dual SCSI Controller) - - pci:v00001000d0000000Fsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Wide Ultra SCSI -+ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Wide Ultra SCSI) - - pci:v00001000d0000000Fsv00001775sd000010D1* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Ultra SCSI -+ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Ultra SCSI) - - pci:v00001000d0000000Fsv00001DE1sd00003904* -- ID_MODEL_FROM_DATABASE=DC390F/U Ultra Wide SCSI Adapter -+ ID_MODEL_FROM_DATABASE=53c875 (DC390F/U Ultra Wide SCSI Adapter) - - pci:v00001000d0000000Fsv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=53c875 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00001000d0000000Fsv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=53c875 (CT7 mainboard) - - pci:v00001000d00000010* - ID_MODEL_FROM_DATABASE=53C1510 - - pci:v00001000d00000010sv00000E11sd00004040* -- ID_MODEL_FROM_DATABASE=Integrated Smart Array Controller -+ ID_MODEL_FROM_DATABASE=53C1510 (Integrated Smart Array Controller) - - pci:v00001000d00000010sv00000E11sd00004048* -- ID_MODEL_FROM_DATABASE=RAID LC2 Controller -+ ID_MODEL_FROM_DATABASE=53C1510 (RAID LC2 Controller) - - pci:v00001000d00000010sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) -+ ID_MODEL_FROM_DATABASE=53C1510 (PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)) - - pci:v00001000d00000012* - ID_MODEL_FROM_DATABASE=53c895a - - pci:v00001000d00000012sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C895A PCI to Ultra2 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c895a (LSI53C895A PCI to Ultra2 SCSI Controller) - - pci:v00001000d00000013* - ID_MODEL_FROM_DATABASE=53c875a - - pci:v00001000d00000013sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C875A PCI to Ultra SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875a (LSI53C875A PCI to Ultra SCSI Controller) - - pci:v00001000d00000020* - ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter - - pci:v00001000d00000020sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller) - - pci:v00001000d00000020sv0000107Bsd00001040* -- ID_MODEL_FROM_DATABASE=Server Onboard 53C1010-33 -+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (Server Onboard 53C1010-33) - - pci:v00001000d00000020sv00001DE1sd00001020* -- ID_MODEL_FROM_DATABASE=DC-390U3W -+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (DC-390U3W) - - pci:v00001000d00000021* - ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter - - pci:v00001000d00000021sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller) - - pci:v00001000d00000021sv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=Asus TR-DLS onboard 53C1010-66 -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Asus TR-DLS onboard 53C1010-66) - - pci:v00001000d00000021sv0000103Csd00001300* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [AB306A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [AB306A]) - - pci:v00001000d00000021sv0000103Csd00001310* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A9918A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A9918A]) - - pci:v00001000d00000021sv0000103Csd00001330* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7059A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7059A]) - - pci:v00001000d00000021sv0000103Csd00001340* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7060A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7060A]) - - pci:v00001000d00000021sv0000124Bsd00001070* -- ID_MODEL_FROM_DATABASE=PMC-USCSI3 -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (PMC-USCSI3) - - pci:v00001000d00000021sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (CT8 mainboard) - - pci:v00001000d00000021sv00004C53sd00001300* -- ID_MODEL_FROM_DATABASE=P017 mezzanine (32-bit PMC) -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (32-bit PMC)) - - pci:v00001000d00000021sv00004C53sd00001310* -- ID_MODEL_FROM_DATABASE=P017 mezzanine (64-bit PMC) -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (64-bit PMC)) - - pci:v00001000d0000002F* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] - - pci:v00001000d0000002Fsv00001028sd00001F3E* -- ID_MODEL_FROM_DATABASE=SPERC 8 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] (SPERC 8) - - pci:v00001000d00000030* - ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI - - pci:v00001000d00000030sv00000E11sd000000DA* -- ID_MODEL_FROM_DATABASE=ProLiant ML 350 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (ProLiant ML 350) - - pci:v00001000d00000030sv00001028sd00000123* -- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) - - pci:v00001000d00000030sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) - - pci:v00001000d00000030sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)) - - pci:v00001000d00000030sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) - - pci:v00001000d00000030sv00001028sd0000018A* -- ID_MODEL_FROM_DATABASE=PERC 4/IM -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PERC 4/IM) - - pci:v00001000d00000030sv00001028sd00001010* -- ID_MODEL_FROM_DATABASE=LSI U320 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI U320 SCSI Controller) - - pci:v00001000d00000030sv0000103Csd000012C5* -- ID_MODEL_FROM_DATABASE=Ultra320 SCSI [A7173A] -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Ultra320 SCSI [A7173A]) - - pci:v00001000d00000030sv0000103Csd00001323* -- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Core I/O LAN/SCSI Combo [AB314A]) - - pci:v00001000d00000030sv0000103Csd00003108* -- ID_MODEL_FROM_DATABASE=Single Channel Ultra320 SCSI HBA G2 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Single Channel Ultra320 SCSI HBA G2) - - pci:v00001000d00000030sv0000124Bsd00001170* -- ID_MODEL_FROM_DATABASE=PMC-USCSI320 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PMC-USCSI320) - - pci:v00001000d00000030sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=LSI Logic Parallel SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic Parallel SCSI Controller) - - pci:v00001000d00000030sv00001734sd00001052* -- ID_MODEL_FROM_DATABASE=PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PRIMERGY BX/RX/TX S2 series onboard SCSI(IME)) - - pci:v00001000d00000031* - ID_MODEL_FROM_DATABASE=53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI -@@ -741,7 +741,7 @@ pci:v00001000d00000032* - ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI - - pci:v00001000d00000032sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller) - - pci:v00001000d00000033* - ID_MODEL_FROM_DATABASE=1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI -@@ -750,10 +750,10 @@ pci:v00001000d00000040* - ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI - - pci:v00001000d00000040sv00001000sd00000033* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XR -+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XR) - - pci:v00001000d00000040sv00001000sd00000066* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XRWS -+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XRWS) - - pci:v00001000d00000041* - ID_MODEL_FROM_DATABASE=53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI -@@ -762,73 +762,73 @@ pci:v00001000d00000050* - ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS - - pci:v00001000d00000050sv00001028sd00001F04* -- ID_MODEL_FROM_DATABASE=SAS 5/E -+ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5/E) - - pci:v00001000d00000050sv00001028sd00001F09* -- ID_MODEL_FROM_DATABASE=SAS 5i/R -+ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5i/R) - - pci:v00001000d00000054* - ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS - - pci:v00001000d00000054sv00001028sd00001F04* -- ID_MODEL_FROM_DATABASE=SAS 5/E Adapter Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/E Adapter Controller) - - pci:v00001000d00000054sv00001028sd00001F05* -- ID_MODEL_FROM_DATABASE=SAS 5/i Adapter Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Adapter Controller) - - pci:v00001000d00000054sv00001028sd00001F06* -- ID_MODEL_FROM_DATABASE=SAS 5/i Integrated Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Integrated Controller) - - pci:v00001000d00000054sv00001028sd00001F07* -- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) - - pci:v00001000d00000054sv00001028sd00001F08* -- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) - - pci:v00001000d00000054sv00001028sd00001F09* -- ID_MODEL_FROM_DATABASE=SAS 5/iR Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Adapter RAID Controller) - - pci:v00001000d00000054sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=SAS Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS Controller) - - pci:v00001000d00000055* - ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS - - pci:v00001000d00000055sv00001033sd00008336* -- ID_MODEL_FROM_DATABASE=SAS1068 -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS1068) - - pci:v00001000d00000056* - ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS - - pci:v00001000d00000056sv00001014sd000003BB* -- ID_MODEL_FROM_DATABASE=ServeRAID BR10il SAS/SATA Controller v2 -+ ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS (ServeRAID BR10il SAS/SATA Controller v2) - - pci:v00001000d00000057* - ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS - - pci:v00001000d00000057sv00008086sd0000346C* -- ID_MODEL_FROM_DATABASE=Embedded Software RAID Technology II (ESTRII) -+ ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS (Embedded Software RAID Technology II (ESTRII)) - - pci:v00001000d00000058* - ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS - - pci:v00001000d00000058sv00001000sd00003140* -- ID_MODEL_FROM_DATABASE=SAS3081E-R 8-Port SAS/SATA Host Bus Adapter -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS3081E-R 8-Port SAS/SATA Host Bus Adapter) - - pci:v00001000d00000058sv00001028sd0000021D* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Workstations RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Workstations RAID Controller) - - pci:v00001000d00000058sv00001028sd00001F0E* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Adapter RAID Controller) - - pci:v00001000d00000058sv00001028sd00001F0F* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Blades RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Blades RAID Controller) - - pci:v00001000d00000058sv00001028sd00001F10* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated RAID Controller) - - pci:v00001000d00000058sv0000103Csd00003229* -- ID_MODEL_FROM_DATABASE=SC44Ge Host Bus Adapter -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SC44Ge Host Bus Adapter) - - pci:v00001000d00000059* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 8208ELP/8208ELP -@@ -840,97 +840,97 @@ pci:v00001000d0000005B* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] - - pci:v00001000d0000005Bsv00001000sd00009265* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265-8i) - - pci:v00001000d0000005Bsv00001000sd00009266* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-8i) - - pci:v00001000d0000005Bsv00001000sd00009267* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9267-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9267-8i) - - pci:v00001000d0000005Bsv00001000sd00009268* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265CV-8i / 9270CV-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265CV-8i / 9270CV-8i) - - pci:v00001000d0000005Bsv00001000sd00009269* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-4i) - - pci:v00001000d0000005Bsv00001000sd00009270* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-8i) - - pci:v00001000d0000005Bsv00001000sd00009271* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8i) - - pci:v00001000d0000005Bsv00001000sd00009272* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9272-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9272-8i) - - pci:v00001000d0000005Bsv00001000sd00009273* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270CV-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270CV-8i) - - pci:v00001000d0000005Bsv00001000sd00009274* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-4i) - - pci:v00001000d0000005Bsv00001000sd00009275* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8iCC -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8iCC) - - pci:v00001000d0000005Bsv00001000sd00009276* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-4i) - - pci:v00001000d0000005Bsv00001000sd00009285* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285-8e) - - pci:v00001000d0000005Bsv00001000sd00009288* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285CV-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285CV-8e) - - pci:v00001000d0000005Bsv00001000sd00009290* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286-8e) - - pci:v00001000d0000005Bsv00001000sd00009291* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8e) - - pci:v00001000d0000005Bsv00001000sd00009295* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8eCC -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8eCC) - - pci:v00001000d0000005Bsv00001014sd0000040B* -- ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110 SAS/SATA Controller) - - pci:v00001000d0000005Bsv00001014sd0000040C* -- ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5120 SAS/SATA Controller) - - pci:v00001000d0000005Bsv00001014sd00000412* -- ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110e SAS/SATA Controller) - - pci:v00001000d0000005Bsv00001028sd00001F2D* -- ID_MODEL_FROM_DATABASE=PERC H810 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H810 Adapter) - - pci:v00001000d0000005Bsv00001028sd00001F30* -- ID_MODEL_FROM_DATABASE=PERC H710 Embedded -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Embedded) - - pci:v00001000d0000005Bsv00001028sd00001F31* -- ID_MODEL_FROM_DATABASE=PERC H710P Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Adapter) - - pci:v00001000d0000005Bsv00001028sd00001F33* -- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for blades)) - - pci:v00001000d0000005Bsv00001028sd00001F34* -- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for monolithics) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for monolithics)) - - pci:v00001000d0000005Bsv00001028sd00001F35* -- ID_MODEL_FROM_DATABASE=PERC H710 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Adapter) - - pci:v00001000d0000005Bsv00001028sd00001F37* -- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for blades)) - - pci:v00001000d0000005Bsv00001028sd00001F38* -- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for monolithics)) - - pci:v00001000d0000005Bsv000015D9sd00000690* -- ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (LSI MegaRAID ROMB) - - pci:v00001000d0000005Bsv00008086sd00003510* -- ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25PB080 RAID Controller) - - pci:v00001000d0000005Bsv00008086sd00003513* -- ID_MODEL_FROM_DATABASE=RMS25CB080 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25CB080 RAID Controller) - - pci:v00001000d0000005C* - ID_MODEL_FROM_DATABASE=SAS1064A PCI-X Fusion-MPT SAS -@@ -939,31 +939,31 @@ pci:v00001000d0000005D* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] - - pci:v00001000d0000005Dsv00001028sd00001F41* -- ID_MODEL_FROM_DATABASE=PERC H830 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H830 Adapter) - - pci:v00001000d0000005Dsv00001028sd00001F42* -- ID_MODEL_FROM_DATABASE=PERC H730P Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Adapter) - - pci:v00001000d0000005Dsv00001028sd00001F43* -- ID_MODEL_FROM_DATABASE=PERC H730 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Adapter) - - pci:v00001000d0000005Dsv00001028sd00001F47* -- ID_MODEL_FROM_DATABASE=PERC H730P Mini -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini) - - pci:v00001000d0000005Dsv00001028sd00001F48* -- ID_MODEL_FROM_DATABASE=PERC H730P Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini (for blades)) - - pci:v00001000d0000005Dsv00001028sd00001F49* -- ID_MODEL_FROM_DATABASE=PERC H730 Mini -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini) - - pci:v00001000d0000005Dsv00001028sd00001F4A* -- ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) - - pci:v00001000d0000005Dsv000017AAsd00001052* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) - - pci:v00001000d0000005Dsv000017AAsd00001053* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720ix) - - pci:v00001000d0000005E* - ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS -@@ -972,109 +972,109 @@ pci:v00001000d0000005F* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] - - pci:v00001000d0000005Fsv00001028sd00001F44* -- ID_MODEL_FROM_DATABASE=PERC H330 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Adapter) - - pci:v00001000d0000005Fsv00001028sd00001F4B* -- ID_MODEL_FROM_DATABASE=PERC H330 Mini -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini) - - pci:v00001000d0000005Fsv00001028sd00001F4C* -- ID_MODEL_FROM_DATABASE=PERC H330 Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini (for blades)) - - pci:v00001000d0000005Fsv00001028sd00001F4D* -- ID_MODEL_FROM_DATABASE=PERC H330 Embedded (for monolithic) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Embedded (for monolithic)) - - pci:v00001000d00000060* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 - - pci:v00001000d00000060sv00001000sd00001006* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8888ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8888ELP) - - pci:v00001000d00000060sv00001000sd0000100A* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708ELP) - - pci:v00001000d00000060sv00001000sd0000100E* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8884E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8884E) - - pci:v00001000d00000060sv00001000sd0000100F* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708E) - - pci:v00001000d00000060sv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-8ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-8ELP) - - pci:v00001000d00000060sv00001000sd00001011* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-4ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-4ELP) - - pci:v00001000d00000060sv00001000sd00001012* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8704ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8704ELP) - - pci:v00001000d00000060sv00001000sd00001016* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8880EM2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8880EM2) - - pci:v00001000d00000060sv00001014sd00000363* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001014sd00000364* -- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8808E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8808E) - - pci:v00001000d00000060sv00001014sd00000365* -- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8884E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8884E) - - pci:v00001000d00000060sv00001014sd00000379* -- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8880EM2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8880EM2) - - pci:v00001000d00000060sv00001028sd00001F0A* -- ID_MODEL_FROM_DATABASE=PERC 6/E Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/E Adapter RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F0B* -- ID_MODEL_FROM_DATABASE=PERC 6/i Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Adapter RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F0C* -- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F0D* -- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F11* -- ID_MODEL_FROM_DATABASE=CERC 6/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (CERC 6/i Integrated RAID Controller) - - pci:v00001000d00000060sv00001033sd0000835A* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001043sd0000824D* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001170sd0000002F* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001170sd00000036* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv000015D9sd0000C080* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv000017AAsd00006B7C* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv000018A1sd00000003* -- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (LSI MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00008086sd00001006* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EP) - - pci:v00001000d00000060sv00008086sd0000100A* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EV -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EV) - - pci:v00001000d00000060sv00008086sd00001010* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSATA28E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSATA28E) - - pci:v00001000d00000060sv00008086sd000034CC* -- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) - - pci:v00001000d00000060sv00008086sd000034CD* -- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) - - pci:v00001000d00000060sv00008086sd00003505* -- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSASMP2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSASMP2) - - pci:v00001000d00000062* - ID_MODEL_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS -@@ -1101,100 +1101,100 @@ pci:v00001000d00000072* - ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] - - pci:v00001000d00000072sv00001028sd00001F1C* -- ID_MODEL_FROM_DATABASE=6Gbps SAS HBA Adapter -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (6Gbps SAS HBA Adapter) - - pci:v00001000d00000072sv00001028sd00001F1D* -- ID_MODEL_FROM_DATABASE=PERC H200 Adapter -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Adapter) - - pci:v00001000d00000072sv00001028sd00001F1E* -- ID_MODEL_FROM_DATABASE=PERC H200 Integrated -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Integrated) - - pci:v00001000d00000072sv00001028sd00001F1F* -- ID_MODEL_FROM_DATABASE=PERC H200 Modular -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Modular) - - pci:v00001000d00000072sv00001028sd00001F20* -- ID_MODEL_FROM_DATABASE=PERC H200 Embedded -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Embedded) - - pci:v00001000d00000072sv00001028sd00001F22* -- ID_MODEL_FROM_DATABASE=Internal Tape Adapter -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (Internal Tape Adapter) - - pci:v00001000d00000072sv00008086sd0000350F* -- ID_MODEL_FROM_DATABASE=RMS2LL040 RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (RMS2LL040 RAID Controller) - - pci:v00001000d00000073* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] - - pci:v00001000d00000073sv00001000sd00009240* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-8i) - - pci:v00001000d00000073sv00001000sd00009241* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-4i) - - pci:v00001000d00000073sv00001000sd000092A0* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9220-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9220-8i) - - pci:v00001000d00000073sv00001014sd000003B1* -- ID_MODEL_FROM_DATABASE=ServeRAID M1015 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ServeRAID M1015 SAS/SATA Controller) - - pci:v00001000d00000073sv00001028sd00001F4E* -- ID_MODEL_FROM_DATABASE=PERC H310 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Adapter) - - pci:v00001000d00000073sv00001028sd00001F4F* -- ID_MODEL_FROM_DATABASE=PERC H310 Integrated -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Integrated) - - pci:v00001000d00000073sv00001028sd00001F50* -- ID_MODEL_FROM_DATABASE=PERC H310 Mini Blades -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Blades) - - pci:v00001000d00000073sv00001028sd00001F51* -- ID_MODEL_FROM_DATABASE=PERC H310 Mini Monolithics -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Monolithics) - - pci:v00001000d00000073sv00001028sd00001F52* -- ID_MODEL_FROM_DATABASE=PERC H310 Embedded1 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded1) - - pci:v00001000d00000073sv00001028sd00001F53* -- ID_MODEL_FROM_DATABASE=PERC H310 Embedded2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded2) - - pci:v00001000d00000073sv00001028sd00001F54* -- ID_MODEL_FROM_DATABASE=PERC H310 Reserved -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Reserved) - - pci:v00001000d00000073sv00001054sd00003035* -- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS 9240-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (LSI MegaRAID SAS 9240-8i) - - pci:v00001000d00000073sv00001137sd00000072* -- ID_MODEL_FROM_DATABASE=2004 iMR ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2004 iMR ROMB) - - pci:v00001000d00000073sv00001137sd00000073* -- ID_MODEL_FROM_DATABASE=2008 ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2008 ROMB) - - pci:v00001000d00000073sv00001137sd000000B0* -- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) - - pci:v00001000d00000073sv00001137sd000000B1* -- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) - - pci:v00001000d00000073sv00001137sd000000C2* -- ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Double Wide) - - pci:v00001000d00000073sv00001137sd000000C3* -- ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Single Wide) - - pci:v00001000d00000073sv000015D9sd00000400* -- ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (Supermicro SMC2008-iMR) - - pci:v00001000d00000073sv00001734sd00001177* -- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Ctrl SAS 6G 0/1 (D2607)) - - pci:v00001000d00000073sv000017AAsd00001051* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ThinkServer RAID 510i) - - pci:v00001000d00000073sv00008086sd0000350D* -- ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RMS2AF040 RAID Controller) - - pci:v00001000d00000073sv00008086sd00009240* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC080 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC080) - - pci:v00001000d00000073sv00008086sd00009241* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC040 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC040) - - pci:v00001000d00000074* - ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] -@@ -1209,106 +1209,106 @@ pci:v00001000d00000079* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] - - pci:v00001000d00000079sv00001000sd00009251* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4ix -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4ix) - - pci:v00001000d00000079sv00001000sd00009256* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8ix -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8ix) - - pci:v00001000d00000079sv00001000sd00009260* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4i) - - pci:v00001000d00000079sv00001000sd00009261* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8i) - - pci:v00001000d00000079sv00001000sd00009262* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9262-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9262-8i) - - pci:v00001000d00000079sv00001000sd00009263* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9261-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9261-8i) - - pci:v00001000d00000079sv00001000sd00009264* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9264-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9264-8i) - - pci:v00001000d00000079sv00001000sd00009267* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-4i) - - pci:v00001000d00000079sv00001000sd00009268* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-8i) - - pci:v00001000d00000079sv00001000sd00009275* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8ex -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8ex) - - pci:v00001000d00000079sv00001000sd00009276* -- ID_MODEL_FROM_DATABASE=MR9260-16i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MR9260-16i) - - pci:v00001000d00000079sv00001000sd00009280* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8e) - - pci:v00001000d00000079sv00001000sd00009281* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9281-8E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9281-8E) - - pci:v00001000d00000079sv00001000sd00009282* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-4i4e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-4i4e) - - pci:v00001000d00000079sv00001000sd00009290* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280DE-24i4e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280DE-24i4e) - - pci:v00001000d00000079sv00001014sd000003B2* -- ID_MODEL_FROM_DATABASE=ServeRAID M5015 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5015 SAS/SATA Controller) - - pci:v00001000d00000079sv00001014sd000003B3* -- ID_MODEL_FROM_DATABASE=ServeRAID M5025 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5025 SAS/SATA Controller) - - pci:v00001000d00000079sv00001028sd00001F15* -- ID_MODEL_FROM_DATABASE=PERC H800 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Adapter) - - pci:v00001000d00000079sv00001028sd00001F16* -- ID_MODEL_FROM_DATABASE=PERC H700 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Adapter) - - pci:v00001000d00000079sv00001028sd00001F17* -- ID_MODEL_FROM_DATABASE=PERC H700 Integrated -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) - - pci:v00001000d00000079sv00001028sd00001F18* -- ID_MODEL_FROM_DATABASE=PERC H700 Modular -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Modular) - - pci:v00001000d00000079sv00001028sd00001F1A* -- ID_MODEL_FROM_DATABASE=PERC H800 Proto Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Proto Adapter) - - pci:v00001000d00000079sv00001028sd00001F1B* -- ID_MODEL_FROM_DATABASE=PERC H700 Integrated -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) - - pci:v00001000d00000079sv00001043sd00008480* -- ID_MODEL_FROM_DATABASE=PIKE-2108 16PD -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PIKE-2108 16PD) - - pci:v00001000d00000079sv00001734sd00001176* -- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 5/6 512MB (D2616) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 5/6 512MB (D2616)) - - pci:v00001000d00000079sv00001734sd00001177* -- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 0/1 (D2607)) - - pci:v00001000d00000079sv00008086sd00009256* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260DE-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260DE-8i) - - pci:v00001000d00000079sv00008086sd00009260* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL040 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL040) - - pci:v00001000d00000079sv00008086sd00009261* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL080 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL080) - - pci:v00001000d00000079sv00008086sd00009264* -- ID_MODEL_FROM_DATABASE=Warm Beach (Caster Lite) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (Warm Beach (Caster Lite)) - - pci:v00001000d00000079sv00008086sd00009267* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB040 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB040) - - pci:v00001000d00000079sv00008086sd00009268* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB080 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB080) - - pci:v00001000d0000007C* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE - - pci:v00001000d0000007Csv00001014sd00000395* -- ID_MODEL_FROM_DATABASE=ServeRAID-AR10is SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE (ServeRAID-AR10is SAS/SATA Controller) - - pci:v00001000d0000007E* - ID_MODEL_FROM_DATABASE=SSS6200 PCI-Express Flash SSD -@@ -1338,16 +1338,16 @@ pci:v00001000d00000087* - ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 - - pci:v00001000d00000087sv00001590sd00000044* -- ID_MODEL_FROM_DATABASE=H220i -+ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 (H220i) - - pci:v00001000d0000008F* - ID_MODEL_FROM_DATABASE=53c875J - - pci:v00001000d0000008Fsv00001092sd00008000* -- ID_MODEL_FROM_DATABASE=FirePort 40 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 SCSI Controller) - - pci:v00001000d0000008Fsv00001092sd00008760* -- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 Dual SCSI Host Adapter) - - pci:v00001000d00000090* - ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3 -@@ -1368,151 +1368,151 @@ pci:v00001000d00000097* - ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 - - pci:v00001000d00000097sv00001028sd00001F45* -- ID_MODEL_FROM_DATABASE=12GB/s HBA internal -+ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA internal) - - pci:v00001000d00000097sv00001028sd00001F46* -- ID_MODEL_FROM_DATABASE=12GB/s HBA external -+ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA external) - - pci:v00001000d00000407* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00000407sv00001000sd00000530* -- ID_MODEL_FROM_DATABASE=MegaRAID 530 SCSI 320-0X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (530 SCSI 320-0X RAID Controller) - - pci:v00001000d00000407sv00001000sd00000531* -- ID_MODEL_FROM_DATABASE=MegaRAID 531 SCSI 320-4X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (531 SCSI 320-4X RAID Controller) - - pci:v00001000d00000407sv00001000sd00000532* -- ID_MODEL_FROM_DATABASE=MegaRAID 532 SCSI 320-2X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (532 SCSI 320-2X RAID Controller) - - pci:v00001000d00000407sv00001028sd00000531* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00000407sv00001028sd00000533* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00000407sv00008086sd00000530* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCZCRX -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCZCRX) - - pci:v00001000d00000407sv00008086sd00000532* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42X -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42X) - - pci:v00001000d00000408* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00000408sv00001000sd00000001* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-1E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-1E RAID Controller) - - pci:v00001000d00000408sv00001000sd00000002* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-2E RAID Controller) - - pci:v00001000d00000408sv00001025sd0000004D* -- ID_MODEL_FROM_DATABASE=MegaRAID ACER ROMB-2E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (ACER ROMB-2E RAID Controller) - - pci:v00001000d00000408sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/SC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/SC) - - pci:v00001000d00000408sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/DC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/DC) - - pci:v00001000d00000408sv00001028sd00000012* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller RAC4 -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller RAC4) - - pci:v00001000d00000408sv00001028sd00000015* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) - - pci:v00001000d00000408sv00001028sd00001F03* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) - - pci:v00001000d00000408sv00001734sd00001065* -- ID_MODEL_FROM_DATABASE=FSC MegaRAID PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID (FSC MegaRAID PCI Express ROMB) - - pci:v00001000d00000408sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42E -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42E) - - pci:v00001000d00000408sv00008086sd00003449* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SROMBU -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SROMBU) - - pci:v00001000d00000409* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00000409sv00001000sd00003004* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-4X RAID Controller) - - pci:v00001000d00000409sv00001000sd00003008* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-8X RAID Controller) - - pci:v00001000d00000409sv00008086sd00003008* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS28X -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS28X) - - pci:v00001000d00000409sv00008086sd00003431* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Alief SROMBU42E -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Alief SROMBU42E) - - pci:v00001000d00000409sv00008086sd00003499* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Harwich SROMBU42E -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Harwich SROMBU42E) - - pci:v00001000d00000411* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 - - pci:v00001000d00000411sv00001000sd00001001* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8408E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8408E) - - pci:v00001000d00000411sv00001000sd00001002* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8480E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8480E) - - pci:v00001000d00000411sv00001000sd00001003* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8344ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8344ELP) - - pci:v00001000d00000411sv00001000sd00001004* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8308ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8308ELP) - - pci:v00001000d00000411sv00001000sd00001008* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 84016E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 84016E) - - pci:v00001000d00000411sv00001000sd0000100C* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-12E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-12E) - - pci:v00001000d00000411sv00001000sd0000100D* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-16E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-16E) - - pci:v00001000d00000411sv00001000sd00002004* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-8ELP) - - pci:v00001000d00000411sv00001000sd00002005* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-4ELP) - - pci:v00001000d00000411sv00001033sd00008287* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000411sv00001054sd00003016* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS RoMB Server -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS RoMB Server) - - pci:v00001000d00000411sv00001734sd00001081* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000411sv00001734sd000010A3* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000411sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS18E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS18E) - - pci:v00001000d00000411sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS144E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS144E) - - pci:v00001000d00000411sv00008086sd00003500* -- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) - - pci:v00001000d00000411sv00008086sd00003501* -- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) - - pci:v00001000d00000411sv00008086sd00003504* -- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) - - pci:v00001000d00000413* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] - - pci:v00001000d00000413sv00001000sd00001005* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8300XLP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] (MegaRAID SAS 8300XLP) - - pci:v00001000d00000621* - ID_MODEL_FROM_DATABASE=FC909 Fibre Channel Adapter -@@ -1521,7 +1521,7 @@ pci:v00001000d00000622* - ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter - - pci:v00001000d00000622sv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=44929 O Dual Fibre Channel card -+ ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter (44929 O Dual Fibre Channel card) - - pci:v00001000d00000623* - ID_MODEL_FROM_DATABASE=FC929 LAN -@@ -1536,7 +1536,7 @@ pci:v00001000d00000626* - ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter - - pci:v00001000d00000626sv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=7202-XP-LC Dual Fibre Channel card -+ ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter (7202-XP-LC Dual Fibre Channel card) - - pci:v00001000d00000627* - ID_MODEL_FROM_DATABASE=FC929X LAN -@@ -1563,7 +1563,7 @@ pci:v00001000d00000702* - ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet - - pci:v00001000d00000702sv00001318sd00000000* -- ID_MODEL_FROM_DATABASE=PEI100X -+ ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet (PEI100X) - - pci:v00001000d00000804* - ID_MODEL_FROM_DATABASE=SA2010 -@@ -1587,40 +1587,40 @@ pci:v00001000d00001960* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00001960sv00001000sd00000518* -- ID_MODEL_FROM_DATABASE=MegaRAID 518 SCSI 320-2 Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (518 SCSI 320-2 Controller) - - pci:v00001000d00001960sv00001000sd00000520* -- ID_MODEL_FROM_DATABASE=MegaRAID 520 SCSI 320-1 Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (520 SCSI 320-1 Controller) - - pci:v00001000d00001960sv00001000sd00000522* -- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4 133 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4 133 RAID Controller) - - pci:v00001000d00001960sv00001000sd00000523* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-6 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-6 RAID Controller) - - pci:v00001000d00001960sv00001000sd00004523* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-4 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-4 RAID Controller) - - pci:v00001000d00001960sv00001000sd0000A520* -- ID_MODEL_FROM_DATABASE=MegaRAID ZCR SCSI 320-0 Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (ZCR SCSI 320-0 Controller) - - pci:v00001000d00001960sv00001028sd00000518* -- ID_MODEL_FROM_DATABASE=MegaRAID 518 DELL PERC 4/DC RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (518 DELL PERC 4/DC RAID Controller) - - pci:v00001000d00001960sv00001028sd00000520* -- ID_MODEL_FROM_DATABASE=MegaRAID 520 DELL PERC 4/SC RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (520 DELL PERC 4/SC RAID Controller) - - pci:v00001000d00001960sv00001028sd00000531* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00001960sv00001028sd00000533* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00001960sv00008086sd00000520* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCU41L -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCU41L) - - pci:v00001000d00001960sv00008086sd00000523* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS16) - - pci:v00001000d00003050* - ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 -@@ -1710,7 +1710,7 @@ pci:v00001002d00001314* - ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio - - pci:v00001002d00001314sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio (PURE Fusion Mini) - - pci:v00001002d00001315* - ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] -@@ -1737,13 +1737,13 @@ pci:v00001002d00001714* - ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] - - pci:v00001002d00001714sv0000103Csd0000168B* -- ID_MODEL_FROM_DATABASE=ProBook 4535s -+ ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] (ProBook 4535s) - - pci:v00001002d00003150* - ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] - - pci:v00001002d00003150sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=nx8220 -+ ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] (nx8220) - - pci:v00001002d00003151* - ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400] -@@ -1791,73 +1791,73 @@ pci:v00001002d00004150* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] - - pci:v00001002d00004150sv00001002sd00000002* -- ID_MODEL_FROM_DATABASE=R9600 Pro primary (Asus OEM for HP) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro primary (Asus OEM for HP)) - - pci:v00001002d00004150sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro secondary (Asus OEM for HP)) - - pci:v00001002d00004150sv00001002sd00004722* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (All-in-Wonder 2006 AGP Edition) - - pci:v00001002d00004150sv00001458sd00004024* -- ID_MODEL_FROM_DATABASE=GV-R96128D -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GV-R96128D) - - pci:v00001002d00004150sv0000148Csd00002064* -- ID_MODEL_FROM_DATABASE=R96A-C3N -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) - - pci:v00001002d00004150sv0000148Csd00002066* -- ID_MODEL_FROM_DATABASE=R96A-C3N -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) - - pci:v00001002d00004150sv0000174Bsd00007C19* -- ID_MODEL_FROM_DATABASE=Atlantis Radeon 9600 Pro -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Atlantis Radeon 9600 Pro) - - pci:v00001002d00004150sv0000174Bsd00007C29* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO) - - pci:v00001002d00004150sv000017EEsd00002002* -- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb Primary -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Radeon 9600 256Mb Primary) - - pci:v00001002d00004150sv000018BCsd00000101* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Primary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO (Primary)) - - pci:v00001002d00004151* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] - - pci:v00001002d00004151sv00001043sd0000C004* -- ID_MODEL_FROM_DATABASE=A9600SE -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] (A9600SE) - - pci:v00001002d00004152* - ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] - - pci:v00001002d00004152sv00001002sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) - - pci:v00001002d00004152sv00001002sd00004772* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (All-in-Wonder 9600 XT) - - pci:v00001002d00004152sv00001043sd0000C002* -- ID_MODEL_FROM_DATABASE=Radeon 9600 XT TVD -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT TVD) - - pci:v00001002d00004152sv00001043sd0000C01A* -- ID_MODEL_FROM_DATABASE=A9600XT/TD -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (A9600XT/TD) - - pci:v00001002d00004152sv00001462sd00009510* -- ID_MODEL_FROM_DATABASE=RX9600XT (MS-8951) -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (RX9600XT (MS-8951)) - - pci:v00001002d00004152sv0000174Bsd00007C29* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) - - pci:v00001002d00004152sv00001787sd00004002* -- ID_MODEL_FROM_DATABASE=Radeon 9600 XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT) - - pci:v00001002d00004153* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] - - pci:v00001002d00004153sv00001043sd0000010C* -- ID_MODEL_FROM_DATABASE=A9550GE/TD -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (A9550GE/TD) - - pci:v00001002d00004153sv00001462sd0000932C* -- ID_MODEL_FROM_DATABASE=RX9550SE-TD128 (MS-8932) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (RX9550SE-TD128 (MS-8932)) - - pci:v00001002d00004154* - ID_MODEL_FROM_DATABASE=RV350 GL [FireGL T2] -@@ -1887,64 +1887,64 @@ pci:v00001002d00004170* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) - - pci:v00001002d00004170sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R9600 Pro secondary (Asus OEM for HP)) - - pci:v00001002d00004170sv00001002sd00004723* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (All-in-Wonder 2006 AGP Edition (Secondary)) - - pci:v00001002d00004170sv00001458sd00004025* -- ID_MODEL_FROM_DATABASE=GV-R96128D (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GV-R96128D (Secondary)) - - pci:v00001002d00004170sv0000148Csd00002067* -- ID_MODEL_FROM_DATABASE=R96A-C3N (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R96A-C3N (Secondary)) - - pci:v00001002d00004170sv0000174Bsd00007C28* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) - - pci:v00001002d00004170sv000017EEsd00002003* -- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (Radeon 9600 256Mb (Secondary)) - - pci:v00001002d00004170sv000018BCsd00000100* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) - - pci:v00001002d00004171* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) - - pci:v00001002d00004171sv00001043sd0000C005* -- ID_MODEL_FROM_DATABASE=A9600SE (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) (A9600SE (Secondary)) - - pci:v00001002d00004172* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) - - pci:v00001002d00004172sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) - - pci:v00001002d00004172sv00001002sd00004773* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (All-in-Wonder 9600 XT (Secondary)) - - pci:v00001002d00004172sv00001043sd0000C003* -- ID_MODEL_FROM_DATABASE=A9600XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT (Secondary)) - - pci:v00001002d00004172sv00001043sd0000C01B* -- ID_MODEL_FROM_DATABASE=A9600XT/TD (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT/TD (Secondary)) - - pci:v00001002d00004172sv0000174Bsd00007C28* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) - - pci:v00001002d00004172sv00001787sd00004003* -- ID_MODEL_FROM_DATABASE=Radeon 9600 XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600 XT (Secondary)) - - pci:v00001002d00004173* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) - - pci:v00001002d00004173sv00001043sd0000010D* -- ID_MODEL_FROM_DATABASE=A9550GE/TD (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) (A9550GE/TD (Secondary)) - - pci:v00001002d00004242* - ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] - - pci:v00001002d00004242sv00001002sd000002AA* -- ID_MODEL_FROM_DATABASE=Radeon 8500 AIW DV Edition -+ ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] (Radeon 8500 AIW DV Edition) - - pci:v00001002d00004243* - ID_MODEL_FROM_DATABASE=R200 PCI Bridge [All-in-Wonder Radeon 8500DV] -@@ -1953,22 +1953,22 @@ pci:v00001002d00004336* - ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] - - pci:v00001002d00004336sv00001002sd00004336* -- ID_MODEL_FROM_DATABASE=Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M) -+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)) - - pci:v00001002d00004336sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Video -+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4400 builtin Video) - - pci:v00001002d00004336sv0000161Fsd00002029* -- ID_MODEL_FROM_DATABASE=eMachines M5312 builtin Video -+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (eMachines M5312 builtin Video) - - pci:v00001002d00004337* - ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] - - pci:v00001002d00004337sv00001014sd0000053A* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (ThinkPad R40e) - - pci:v00001002d00004337sv0000103Csd00000850* -- ID_MODEL_FROM_DATABASE=Radeon IGP 345M -+ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (Radeon IGP 345M) - - pci:v00001002d00004341* - ID_MODEL_FROM_DATABASE=IXP150 AC'97 Audio Controller -@@ -2013,160 +2013,160 @@ pci:v00001002d00004370* - ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller - - pci:v00001002d00004370sv00001025sd00000079* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5024WLMMi) - - pci:v00001002d00004370sv00001025sd00000091* -- ID_MODEL_FROM_DATABASE=Aspire 5032WXMi -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5032WXMi) - - pci:v00001002d00004370sv0000103Csd00002A05* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004370sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6125) - - pci:v00001002d00004370sv0000105Bsd00000C81* -- ID_MODEL_FROM_DATABASE=Realtek ALC 653 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Realtek ALC 653) - - pci:v00001002d00004370sv0000107Bsd00000300* -- ID_MODEL_FROM_DATABASE=MX6421 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6421) - - pci:v00001002d00004370sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MS-1013 Notebook) - - pci:v00001002d00004371* - ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge - - pci:v00001002d00004371sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (MX6125) - - pci:v00001002d00004371sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (Aspire L250) - - pci:v00001002d00004372* - ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller - - pci:v00001002d00004372sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire 5024WLMMi) - - pci:v00001002d00004372sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004372sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MX6125) - - pci:v00001002d00004372sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MS-1013 Notebook) - - pci:v00001002d00004372sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire L250) - - pci:v00001002d00004373* - ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller - - pci:v00001002d00004373sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire 5024WLMMi) - - pci:v00001002d00004373sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004373sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (MX6125) - - pci:v00001002d00004373sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire L250) - - pci:v00001002d00004374* - ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller - - pci:v00001002d00004374sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004374sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) - - pci:v00001002d00004374sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) - - pci:v00001002d00004375* - ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller - - pci:v00001002d00004375sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire 5024WLMMi) - - pci:v00001002d00004375sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004375sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) - - pci:v00001002d00004375sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) - - pci:v00001002d00004376* - ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller - - pci:v00001002d00004376sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire 5024WLMMi) - - pci:v00001002d00004376sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004376sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MX6125) - - pci:v00001002d00004376sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MS-1013 Notebook) - - pci:v00001002d00004376sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire L250) - - pci:v00001002d00004377* - ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge - - pci:v00001002d00004377sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire 5024WLMi) - - pci:v00001002d00004377sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004377sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (MX6125) - - pci:v00001002d00004377sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire L250) - - pci:v00001002d00004378* - ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller - - pci:v00001002d00004378sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (Aspire 5024WLMMi) - - pci:v00001002d00004378sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MX6125) - - pci:v00001002d00004378sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MS-1013 Notebook) - - pci:v00001002d00004379* - ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller - - pci:v00001002d00004379sv00001462sd00007141* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller (Aspire L250) - - pci:v00001002d0000437A* - ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller - - pci:v00001002d0000437Asv00001002sd00004379* -- ID_MODEL_FROM_DATABASE=4379 Serial ATA Controller -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (4379 Serial ATA Controller) - - pci:v00001002d0000437Asv00001002sd0000437A* -- ID_MODEL_FROM_DATABASE=437A Serial ATA Controller -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (437A Serial ATA Controller) - - pci:v00001002d0000437Asv00001462sd00007141* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Aspire L250) - - pci:v00001002d0000437Asv000014F1sd00008800* -- ID_MODEL_FROM_DATABASE=Leadtek WinFast TV2000XP Expert -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Leadtek WinFast TV2000XP Expert) - - pci:v00001002d0000437B* - ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller -@@ -2175,31 +2175,31 @@ pci:v00001002d0000437Bsv00001002sd0000437B* - ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller - - pci:v00001002d0000437Bsv000010CFsd00001326* -- ID_MODEL_FROM_DATABASE=Fujitsu Lifebook A3040 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Fujitsu Lifebook A3040) - - pci:v00001002d0000437Bsv00001734sd000010B8* -- ID_MODEL_FROM_DATABASE=Realtek High Definition Audio -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Realtek High Definition Audio) - - pci:v00001002d00004380* - ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA - - pci:v00001002d00004380sv0000103Csd00002813* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (DC5750 Microtower) - - pci:v00001002d00004380sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Satellite P305D-S8995E) - - pci:v00001002d00004380sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-MA790FX-DS5 (rev. 1.0) -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (GA-MA790FX-DS5 (rev. 1.0)) - - pci:v00001002d00004380sv00001458sd0000B005* -- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Gigabyte GA-MA69G-S3H Motherboard) - - pci:v00001002d00004380sv00001462sd00007327* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (K9AG Neo2) - - pci:v00001002d00004380sv000017F2sd00005999* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (KI690-AM2 Motherboard) - - pci:v00001002d00004381* - ID_MODEL_FROM_DATABASE=SB600 SATA Controller (RAID 5 mode) -@@ -2211,34 +2211,34 @@ pci:v00001002d00004383* - ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) - - pci:v00001002d00004383sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (A785GM-M) - - pci:v00001002d00004383sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Pavilion DM1Z-3000) - - pci:v00001002d00004383sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (DC5750 Microtower) - - pci:v00001002d00004383sv00001043sd00008230* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M3A78-EH Motherboard) - - pci:v00001002d00004383sv00001043sd0000836C* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A785TD Motherboard) - - pci:v00001002d00004383sv00001043sd00008410* -- ID_MODEL_FROM_DATABASE=M4A89GTD PRO/USB3 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A89GTD PRO/USB3 Motherboard) - - pci:v00001002d00004383sv00001043sd0000841B* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M5A88-V EVO) - - pci:v00001002d00004383sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Satellite P305D-S8995E) - - pci:v00001002d00004383sv00001458sd0000A022* -- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (GA-MA770-DS3rev2.0 Motherboard) - - pci:v00001002d00004383sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (KI690-AM2 Motherboard) - - pci:v00001002d00004384* - ID_MODEL_FROM_DATABASE=SBx00 PCI to PCI Bridge -@@ -2247,160 +2247,160 @@ pci:v00001002d00004385* - ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller - - pci:v00001002d00004385sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (A785GM-M) - - pci:v00001002d00004385sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Pavilion DM1Z-3000) - - pci:v00001002d00004385sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (DC5750 Microtower) - - pci:v00001002d00004385sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M3A78-EH Motherboard) - - pci:v00001002d00004385sv00001043sd00008389* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M4A785TD Motherboard) - - pci:v00001002d00004385sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Satellite P305D-S8995E) - - pci:v00001002d00004385sv00001458sd00004385* -- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (GA-MA770-DS3rev2.0 Motherboard) - - pci:v00001002d00004385sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (K9AG Neo2) - - pci:v00001002d00004385sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (H8DGU) - - pci:v00001002d00004385sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (PURE Fusion Mini) - - pci:v00001002d00004385sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (KI690-AM2 Motherboard) - - pci:v00001002d00004386* - ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) - - pci:v00001002d00004386sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (DC5750 Microtower) - - pci:v00001002d00004386sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (Satellite P305D-S8995E) - - pci:v00001002d00004386sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (K9AG Neo2) - - pci:v00001002d00004386sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (KI690-AM2 Motherboard) - - pci:v00001002d00004387* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) - - pci:v00001002d00004387sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (DC5750 Microtower) - - pci:v00001002d00004387sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (Satellite P305D-S8995E) - - pci:v00001002d00004387sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (K9AG Neo2) - - pci:v00001002d00004387sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (KI690-AM2 Motherboard) - - pci:v00001002d00004388* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) - - pci:v00001002d00004388sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (DC5750 Microtower) - - pci:v00001002d00004388sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (Satellite P305D-S8995E) - - pci:v00001002d00004388sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (K9AG Neo2) - - pci:v00001002d00004388sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (KI690-AM2 Motherboard) - - pci:v00001002d00004389* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) - - pci:v00001002d00004389sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (DC5750 Microtower) - - pci:v00001002d00004389sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (Satellite P305D-S8995E) - - pci:v00001002d00004389sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (K9AG Neo2) - - pci:v00001002d00004389sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (KI690-AM2 Motherboard) - - pci:v00001002d0000438A* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) - - pci:v00001002d0000438Asv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (DC5750 Microtower) - - pci:v00001002d0000438Asv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (Satellite P305D-S8995E) - - pci:v00001002d0000438Asv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (K9AG Neo2) - - pci:v00001002d0000438Asv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (KI690-AM2 Motherboard) - - pci:v00001002d0000438B* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) - - pci:v00001002d0000438Bsv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (DC5750 Microtower) - - pci:v00001002d0000438Bsv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (Satellite P305D-S8995E) - - pci:v00001002d0000438Bsv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (K9AG Neo2) - - pci:v00001002d0000438Bsv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (KI690-AM2 Motherboard) - - pci:v00001002d0000438C* - ID_MODEL_FROM_DATABASE=SB600 IDE - - pci:v00001002d0000438Csv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 IDE (DC5750 Microtower) - - pci:v00001002d0000438Csv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 IDE (Satellite P305D-S8995E) - - pci:v00001002d0000438Csv00001458sd00005002* -- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 IDE (Gigabyte GA-MA69G-S3H Motherboard) - - pci:v00001002d0000438Csv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 IDE (K9AG Neo2) - - pci:v00001002d0000438Csv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 IDE (KI690-AM2 Motherboard) - - pci:v00001002d0000438D* - ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge - - pci:v00001002d0000438Dsv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (DC5750 Microtower) - - pci:v00001002d0000438Dsv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (Satellite P305D-S8995E) - - pci:v00001002d0000438Dsv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (K9AG Neo2) - - pci:v00001002d0000438Dsv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (KI690-AM2 Motherboard) - - pci:v00001002d0000438E* - ID_MODEL_FROM_DATABASE=SB600 AC97 Modem -@@ -2409,31 +2409,31 @@ pci:v00001002d00004390* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] - - pci:v00001002d00004390sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M3A78-EH Motherboard) - - pci:v00001002d00004390sv00001043sd00008389* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M4A785TD Motherboard) - - pci:v00001002d00004390sv00001458sd0000B002* -- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (GA-MA770-DS3rev2.0 Motherboard) - - pci:v00001002d00004390sv00001849sd00004390* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (Motherboard (one of many)) - - pci:v00001002d00004391* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] - - pci:v00001002d00004391sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (Pavilion DM1Z-3000) - - pci:v00001002d00004391sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M3A78-EH Motherboard) - - pci:v00001002d00004391sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M5A88-V EVO) - - pci:v00001002d00004391sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (PURE Fusion Mini) - - pci:v00001002d00004392* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] -@@ -2451,97 +2451,97 @@ pci:v00001002d00004396* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller - - pci:v00001002d00004396sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (A785GM-M) - - pci:v00001002d00004396sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (Pavilion DM1Z-3000) - - pci:v00001002d00004396sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M3A78-EH Motherboard) - - pci:v00001002d00004396sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M5A88-V EVO) - - pci:v00001002d00004396sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (H8DGU) - - pci:v00001002d00004396sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (PURE Fusion Mini) - - pci:v00001002d00004397* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller - - pci:v00001002d00004397sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (A785GM-M) - - pci:v00001002d00004397sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (Pavilion DM1Z-3000) - - pci:v00001002d00004397sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M3A78-EH Motherboard) - - pci:v00001002d00004397sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M5A88-V EVO) - - pci:v00001002d00004397sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (H8DGU) - - pci:v00001002d00004397sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (PURE Fusion Mini) - - pci:v00001002d00004398* - ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller - - pci:v00001002d00004398sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (A785GM-M) - - pci:v00001002d00004398sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (M3A78-EH Motherboard) - - pci:v00001002d00004398sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (H8DGU) - - pci:v00001002d00004399* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller - - pci:v00001002d00004399sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (A785GM-M) - - pci:v00001002d00004399sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M3A78-EH Motherboard) - - pci:v00001002d00004399sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M5A88-V EVO) - - pci:v00001002d00004399sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (PURE Fusion Mini) - - pci:v00001002d0000439C* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller - - pci:v00001002d0000439Csv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (A785GM-M) - - pci:v00001002d0000439Csv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (M3A78-EH Motherboard) - - pci:v00001002d0000439D* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller - - pci:v00001002d0000439Dsv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (A785GM-M) - - pci:v00001002d0000439Dsv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (Pavilion DM1Z-3000) - - pci:v00001002d0000439Dsv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M3A78-EH Motherboard) - - pci:v00001002d0000439Dsv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M5A88-V EVO) - - pci:v00001002d0000439Dsv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (PURE Fusion Mini) - - pci:v00001002d000043A0* - ID_MODEL_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) -@@ -2568,88 +2568,88 @@ pci:v00001002d00004742* - ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X - - pci:v00001002d00004742sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00000061* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) - - pci:v00001002d00004742sv00001002sd00000062* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) - - pci:v00001002d00004742sv00001002sd00000063* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) - - pci:v00001002d00004742sv00001002sd00000080* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00004742* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00008001* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001028sd00000082* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001028sd00004082* -- ID_MODEL_FROM_DATABASE=Optiplex GX1 Onboard Display Adapter -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Optiplex GX1 Onboard Display Adapter) - - pci:v00001002d00004742sv00001028sd00008082* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001028sd0000C082* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00008086sd00004152* -- ID_MODEL_FROM_DATABASE=Xpert 98D AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Xpert 98D AGP 2X) - - pci:v00001002d00004742sv00008086sd0000464A* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004744* - ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X - - pci:v00001002d00004744sv00001002sd00004744* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage Pro Turbo AGP) - - pci:v00001002d00004744sv00008086sd00004D55* -- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 1X [Intel MU440EX] -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage 3D Pro AGP 1X [Intel MU440EX]) - - pci:v00001002d00004749* - ID_MODEL_FROM_DATABASE=3D Rage PRO PCI - - pci:v00001002d00004749sv00001002sd00000061* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW -+ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) - - pci:v00001002d00004749sv00001002sd00000062* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW -+ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) - - pci:v00001002d0000474D* - ID_MODEL_FROM_DATABASE=Rage XL AGP 2X - - pci:v00001002d0000474Dsv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) - - pci:v00001002d0000474Dsv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) - - pci:v00001002d0000474Dsv00001002sd00000080* - ID_MODEL_FROM_DATABASE=Rage XL AGP 2X - - pci:v00001002d0000474Dsv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 AGP 2X) - - pci:v00001002d0000474Dsv00001002sd0000474D* -- ID_MODEL_FROM_DATABASE=Rage XL AGP -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) - - pci:v00001002d0000474Dsv00001033sd0000806A* -- ID_MODEL_FROM_DATABASE=Rage XL AGP -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) - - pci:v00001002d0000474E* - ID_MODEL_FROM_DATABASE=Rage XC AGP -@@ -2670,79 +2670,79 @@ pci:v00001002d00004750* - ID_MODEL_FROM_DATABASE=3D Rage Pro PCI - - pci:v00001002d00004750sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00000080* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00004750* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004752* - ID_MODEL_FROM_DATABASE=Rage XL PCI - - pci:v00001002d00004752sv00000E11sd0000001E* -- ID_MODEL_FROM_DATABASE=Proliant Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) - - pci:v00001002d00004752sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) - - pci:v00001002d00004752sv00001002sd00004752* -- ID_MODEL_FROM_DATABASE=Proliant Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) - - pci:v00001002d00004752sv00001002sd00008008* -- ID_MODEL_FROM_DATABASE=Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) - - pci:v00001002d00004752sv00001014sd00000240* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (eServer xSeries server mainboard) - - pci:v00001002d00004752sv00001028sd000000CE* -- ID_MODEL_FROM_DATABASE=PowerEdge 1400 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1400) - - pci:v00001002d00004752sv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=PowerEdge 2550 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2550) - - pci:v00001002d00004752sv00001028sd000000D9* -- ID_MODEL_FROM_DATABASE=PowerEdge 2500 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2500) - - pci:v00001002d00004752sv00001028sd00000134* -- ID_MODEL_FROM_DATABASE=PowerEdge 600SC -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 600SC) - - pci:v00001002d00004752sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1750) - - pci:v00001002d00004752sv00001028sd00000165* -- ID_MODEL_FROM_DATABASE=PowerEdge 750 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 750) - - pci:v00001002d00004752sv0000103Csd000010E1* -- ID_MODEL_FROM_DATABASE=NetServer Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (NetServer Rage XL) - - pci:v00001002d00004752sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (ProLiant DL140 G2) - - pci:v00001002d00004752sv0000107Bsd00006400* -- ID_MODEL_FROM_DATABASE=6400 Server -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (6400 Server) - - pci:v00001002d00004752sv00001734sd0000007A* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard VGA -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PRIMERGY RX/TX series onboard VGA) - - pci:v00001002d00004752sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Primergy Econel 200 D2020 mainboard) - - pci:v00001002d00004752sv00008086sd00003411* -- ID_MODEL_FROM_DATABASE=SDS2 Mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (SDS2 Mainboard) - - pci:v00001002d00004752sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (S875WP1-E mainboard) - - pci:v00001002d00004752sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (S845WD1-E mainboard) - - pci:v00001002d00004753* - ID_MODEL_FROM_DATABASE=Rage XC -@@ -2760,28 +2760,28 @@ pci:v00001002d00004756* - ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] - - pci:v00001002d00004756sv00001002sd00004756* -- ID_MODEL_FROM_DATABASE=Rage IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] (Rage IIC) - - pci:v00001002d00004757* - ID_MODEL_FROM_DATABASE=3D Rage IIC AGP - - pci:v00001002d00004757sv00001002sd00004757* -- ID_MODEL_FROM_DATABASE=Rage IIC AGP -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) - - pci:v00001002d00004757sv00001028sd00000089* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004757sv00001028sd0000008E* -- ID_MODEL_FROM_DATABASE=PowerEdge 1300 onboard video -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (PowerEdge 1300 onboard video) - - pci:v00001002d00004757sv00001028sd00004082* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004757sv00001028sd00008082* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004757sv00001028sd0000C082* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004758* - ID_MODEL_FROM_DATABASE=210888GX [Mach64 GX PCI] -@@ -2793,40 +2793,40 @@ pci:v00001002d0000475A* - ID_MODEL_FROM_DATABASE=3D Rage IIC AGP - - pci:v00001002d0000475Asv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 2x XPERT 98 -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D Pro AGP 2x XPERT 98) - - pci:v00001002d0000475Asv00001002sd00000087* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d0000475Asv00001002sd0000475A* -- ID_MODEL_FROM_DATABASE=Rage IIC AGP -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) - - pci:v00001002d00004966* - ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] - - pci:v00001002d00004966sv000010F1sd00000002* -- ID_MODEL_FROM_DATABASE=RV250 If [Tachyon G9000 PRO] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Tachyon G9000 PRO]) - - pci:v00001002d00004966sv0000148Csd00002039* -- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 Pro "Evil Commando"] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 Pro "Evil Commando"]) - - pci:v00001002d00004966sv00001509sd00009A00* -- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "AT009"] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "AT009"]) - - pci:v00001002d00004966sv00001681sd00000040* -- ID_MODEL_FROM_DATABASE=RV250 If [3D prophet 9000] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [3D prophet 9000]) - - pci:v00001002d00004966sv0000174Bsd00007176* -- ID_MODEL_FROM_DATABASE=Radeon 9000 Pro -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (Radeon 9000 Pro) - - pci:v00001002d00004966sv0000174Bsd00007192* -- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "Atlantis"] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "Atlantis"]) - - pci:v00001002d00004966sv000017AFsd00002005* -- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000 Pro] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000 Pro]) - - pci:v00001002d00004966sv000017AFsd00002006* -- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000]) - - pci:v00001002d0000496E* - ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000] (Secondary) -@@ -2835,7 +2835,7 @@ pci:v00001002d00004A49* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] - - pci:v00001002d00004A49sv0000174Bsd00002620* -- ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GTO AGP] -+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] (R420 [Radeon X800 GTO AGP]) - - pci:v00001002d00004A4A* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GT AGP] -@@ -2859,7 +2859,7 @@ pci:v00001002d00004A54* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] - - pci:v00001002d00004A54sv00001002sd00004422* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 VE AGP -+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] (All-In-Wonder X800 VE AGP) - - pci:v00001002d00004A69* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO] (Secondary) -@@ -2898,40 +2898,40 @@ pci:v00001002d00004C42* - ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X - - pci:v00001002d00004C42sv00000E11sd0000B0E7* -- ID_MODEL_FROM_DATABASE=Rage LT Pro (Compaq Presario 5240) -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro (Compaq Presario 5240)) - - pci:v00001002d00004C42sv00000E11sd0000B0E8* -- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) - - pci:v00001002d00004C42sv00000E11sd0000B10E* -- ID_MODEL_FROM_DATABASE=3D Rage LT Pro (Compaq Armada 1750) -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (3D Rage LT Pro (Compaq Armada 1750)) - - pci:v00001002d00004C42sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001002sd00004C42* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001002sd00008001* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001028sd00000085* -- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) - - pci:v00001002d00004C46* - ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 - - pci:v00001002d00004C46sv00001002sd00000155* -- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p -+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) - - pci:v00001002d00004C46sv00001014sd00000155* -- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p -+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) - - pci:v00001002d00004C46sv00001028sd000000B1* -- ID_MODEL_FROM_DATABASE=Latitude C600 -+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (Latitude C600) - - pci:v00001002d00004C47* - ID_MODEL_FROM_DATABASE=3D Rage IIC PCI / Mobility Radeon 7500/7500C -@@ -2940,55 +2940,55 @@ pci:v00001002d00004C49* - ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI - - pci:v00001002d00004C49sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C49sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C49sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C49sv00001002sd00004C49* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C4D* - ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series - - pci:v00001002d00004C4Dsv00000E11sd0000B111* -- ID_MODEL_FROM_DATABASE=Armada M700 -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada M700) - - pci:v00001002d00004C4Dsv00000E11sd0000B160* -- ID_MODEL_FROM_DATABASE=Armada E500 -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada E500) - - pci:v00001002d00004C4Dsv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X (Mobility) -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Xpert 98 AGP 2X (Mobility)) - - pci:v00001002d00004C4Dsv00001014sd00000154* -- ID_MODEL_FROM_DATABASE=ThinkPad A20m/A21m -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (ThinkPad A20m/A21m) - - pci:v00001002d00004C4Dsv00001028sd000000AA* -- ID_MODEL_FROM_DATABASE=Latitude CPt -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPt) - - pci:v00001002d00004C4Dsv00001028sd000000BB* -- ID_MODEL_FROM_DATABASE=Latitude CPx -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPx) - - pci:v00001002d00004C4Dsv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Satellite 1715XCDS laptop -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Satellite 1715XCDS laptop) - - pci:v00001002d00004C4Dsv000013BDsd00001019* -- ID_MODEL_FROM_DATABASE=PC-AR10 -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (PC-AR10) - - pci:v00001002d00004C50* - ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI - - pci:v00001002d00004C50sv00001002sd00004C50* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C52* - ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI - - pci:v00001002d00004C52sv00001033sd00008112* -- ID_MODEL_FROM_DATABASE=Versa Note VXi -+ ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI (Versa Note VXi) - - pci:v00001002d00004C54* - ID_MODEL_FROM_DATABASE=264LT [Mach64 LT] -@@ -2997,22 +2997,22 @@ pci:v00001002d00004C57* - ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] - - pci:v00001002d00004C57sv00001014sd00000517* -- ID_MODEL_FROM_DATABASE=ThinkPad T30 -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) - - pci:v00001002d00004C57sv00001014sd00000530* -- ID_MODEL_FROM_DATABASE=ThinkPad T42 2373-4WU -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) - - pci:v00001002d00004C57sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW (Dell Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) - - pci:v00001002d00004C57sv00001028sd0000012A* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Latitude C640) - - pci:v00001002d00004C57sv00001043sd00001622* -- ID_MODEL_FROM_DATABASE=Mobility Radeon M7 (L3C/S) -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Mobility Radeon M7 (L3C/S)) - - pci:v00001002d00004C57sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW in vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW in vpr Matrix 170B4) - - pci:v00001002d00004C58* - ID_MODEL_FROM_DATABASE=RV200/M7 GL [Mobility FireGL 7800] -@@ -3021,31 +3021,31 @@ pci:v00001002d00004C59* - ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] - - pci:v00001002d00004C59sv00000E11sd0000B111* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Evo N600c) - - pci:v00001002d00004C59sv00001014sd00000235* -- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p (2652/2653) -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad A30/A30p (2652/2653)) - - pci:v00001002d00004C59sv00001014sd00000239* -- ID_MODEL_FROM_DATABASE=ThinkPad X22/X23/X24 -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad X22/X23/X24) - - pci:v00001002d00004C59sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (XE4500 Notebook) - - pci:v00001002d00004C59sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00001002d00004C59sv0000104Dsd00008140* -- ID_MODEL_FROM_DATABASE=PCG-Z1SP laptop -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (PCG-Z1SP laptop) - - pci:v00001002d00004C59sv00001509sd00001930* -- ID_MODEL_FROM_DATABASE=Medion MD9703 -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Medion MD9703) - - pci:v00001002d00004C66* - ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] - - pci:v00001002d00004C66sv00001014sd0000054D* -- ID_MODEL_FROM_DATABASE=ThinkPad T41 -+ ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] (ThinkPad T41) - - pci:v00001002d00004C6E* - ID_MODEL_FROM_DATABASE=RV250/M9 [Mobility Radeon 9000] (Secondary) -@@ -3063,19 +3063,19 @@ pci:v00001002d00004E44* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] - - pci:v00001002d00004E44sv00001002sd0000515E* -- ID_MODEL_FROM_DATABASE=Radeon ES1000 -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) - - pci:v00001002d00004E44sv00001002sd00005965* -- ID_MODEL_FROM_DATABASE=Radeon ES1000 -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) - - pci:v00001002d00004E45* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] - - pci:v00001002d00004E45sv00001002sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Radeon R300 NE [Radeon 9500 Pro]) - - pci:v00001002d00004E45sv00001681sd00000002* -- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]) - - pci:v00001002d00004E46* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9600 TX] -@@ -3093,7 +3093,7 @@ pci:v00001002d00004E4A* - ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] - - pci:v00001002d00004E4Asv00001002sd00004E4A* -- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] -+ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] (R360 [Radeon 9800 XT]) - - pci:v00001002d00004E4B* - ID_MODEL_FROM_DATABASE=R350 GL [FireGL X2 AGP Pro] -@@ -3102,22 +3102,22 @@ pci:v00001002d00004E50* - ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] - - pci:v00001002d00004E50sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (TravelMate 290) - - pci:v00001002d00004E50sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC8000 laptop) - - pci:v00001002d00004E50sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC6000 laptop) - - pci:v00001002d00004E50sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P35 notebook -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (P35 notebook) - - pci:v00001002d00004E50sv00001462sd00000311* -- ID_MODEL_FROM_DATABASE=MSI M510A -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (MSI M510A) - - pci:v00001002d00004E50sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420W -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (Amilo M1420W) - - pci:v00001002d00004E51* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] -@@ -3126,7 +3126,7 @@ pci:v00001002d00004E52* - ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] - - pci:v00001002d00004E52sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P35 notebook -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] (P35 notebook) - - pci:v00001002d00004E54* - ID_MODEL_FROM_DATABASE=RV350/M10 GL [Mobility FireGL T2] -@@ -3141,10 +3141,10 @@ pci:v00001002d00004E65* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) - - pci:v00001002d00004E65sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Radeon R300 NE [Radeon 9500 Pro]) - - pci:v00001002d00004E65sv00001681sd00000003* -- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)) - - pci:v00001002d00004E66* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) -@@ -3162,10 +3162,10 @@ pci:v00001002d00004E6A* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) - - pci:v00001002d00004E6Asv00001002sd00004E6A* -- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (R360 [Radeon 9800 XT] (Secondary)) - - pci:v00001002d00004E6Asv00001002sd00004E71* -- ID_MODEL_FROM_DATABASE=M10 NQ [Radeon Mobility 9600] -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (M10 NQ [Radeon Mobility 9600]) - - pci:v00001002d00004E71* - ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600] (Secondary) -@@ -3180,46 +3180,46 @@ pci:v00001002d00005044* - ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI - - pci:v00001002d00005044sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) - - pci:v00001002d00005044sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) - - pci:v00001002d00005046* - ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS - - pci:v00001002d00005046sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) - - pci:v00001002d00005046sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005046sv00001002sd00000014* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) - - pci:v00001002d00005046sv00001002sd00000018* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005046sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) - - pci:v00001002d00005046sv00001002sd0000002A* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) - - pci:v00001002d00005046sv00001002sd00000048* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) - - pci:v00001002d00005046sv00001002sd00002000* -- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (VGA device) -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (VGA device)) - - pci:v00001002d00005046sv00001002sd00002001* -- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (Extra device?!) -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)) - - pci:v00001002d00005050* - ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] - - pci:v00001002d00005050sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 128 -+ ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] (Xpert 128) - - pci:v00001002d00005052* - ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4X TMDS -@@ -3228,79 +3228,79 @@ pci:v00001002d00005144* - ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] - - pci:v00001002d00005144sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon VE) - - pci:v00001002d00005144sv00001002sd00000009* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000000A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000001A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Radeon AIW -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) - - pci:v00001002d00005144sv00001002sd00000038* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd00000039* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000008A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd000000BA* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd00000139* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000028A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd000002AA* -- ID_MODEL_FROM_DATABASE=Radeon AIW -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) - - pci:v00001002d00005144sv00001002sd0000053A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005148* - ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] - - pci:v00001002d00005148sv00001002sd0000010A* -- ID_MODEL_FROM_DATABASE=FireGL 8800 64Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 64Mb) - - pci:v00001002d00005148sv00001002sd00000152* -- ID_MODEL_FROM_DATABASE=FireGL 8800 128Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 128Mb) - - pci:v00001002d00005148sv00001002sd00000162* -- ID_MODEL_FROM_DATABASE=FireGL 8700 32Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 32Mb) - - pci:v00001002d00005148sv00001002sd00000172* -- ID_MODEL_FROM_DATABASE=FireGL 8700 64Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 64Mb) - - pci:v00001002d0000514C* - ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] - - pci:v00001002d0000514Csv00001002sd0000003A* -- ID_MODEL_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [Radeon 8500 LE]) - - pci:v00001002d0000514Csv00001002sd0000013A* -- ID_MODEL_FROM_DATABASE=Radeon 8500 -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500) - - pci:v00001002d0000514Csv0000148Csd00002026* -- ID_MODEL_FROM_DATABASE=R200 QL [Radeon 8500 Evil Master II Multi Display Edition] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (R200 QL [Radeon 8500 Evil Master II Multi Display Edition]) - - pci:v00001002d0000514Csv00001681sd00000010* -- ID_MODEL_FROM_DATABASE=Radeon 8500 [3D Prophet 8500 128Mb] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 [3D Prophet 8500 128Mb]) - - pci:v00001002d0000514Csv0000174Bsd00007149* -- ID_MODEL_FROM_DATABASE=Radeon 8500 LE -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 LE) - - pci:v00001002d0000514Csv00001787sd00000F08* -- ID_MODEL_FROM_DATABASE=Radeon R200 QL [PowerMagic Radeon 8500] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [PowerMagic Radeon 8500]) - - pci:v00001002d0000514D* - ID_MODEL_FROM_DATABASE=R200 [Radeon 9100] -@@ -3309,196 +3309,196 @@ pci:v00001002d00005157* - ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] - - pci:v00001002d00005157sv00001002sd0000013A* -- ID_MODEL_FROM_DATABASE=Radeon 7500 -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500) - - pci:v00001002d00005157sv00001002sd00000F2B* -- ID_MODEL_FROM_DATABASE=ALL-IN-WONDER VE PCI -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (ALL-IN-WONDER VE PCI) - - pci:v00001002d00005157sv00001002sd0000103A* -- ID_MODEL_FROM_DATABASE=Dell Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Dell Optiplex GX260) - - pci:v00001002d00005157sv00001458sd00004000* -- ID_MODEL_FROM_DATABASE=RV200 QW [RADEON 7500 PRO MAYA AR] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [RADEON 7500 PRO MAYA AR]) - - pci:v00001002d00005157sv0000148Csd00002024* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500LE Dual Display] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500LE Dual Display]) - - pci:v00001002d00005157sv0000148Csd00002025* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 Evil Master Multi Display Edition] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 Evil Master Multi Display Edition]) - - pci:v00001002d00005157sv0000148Csd00002036* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 PCI Dual Display] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 PCI Dual Display]) - - pci:v00001002d00005157sv0000174Bsd00007146* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 LE] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 LE]) - - pci:v00001002d00005157sv0000174Bsd00007147* -- ID_MODEL_FROM_DATABASE=Radeon 7500 LE -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500 LE) - - pci:v00001002d00005157sv0000174Bsd00007161* -- ID_MODEL_FROM_DATABASE=Radeon RV200 QW [Radeon 7500 LE] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon RV200 QW [Radeon 7500 LE]) - - pci:v00001002d00005157sv000017AFsd00000202* -- ID_MODEL_FROM_DATABASE=RV200 QW [Excalibur Radeon 7500LE] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Excalibur Radeon 7500LE]) - - pci:v00001002d00005159* - ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] - - pci:v00001002d00005159sv00001002sd0000000A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd0000000B* -- ID_MODEL_FROM_DATABASE=Radeon 7000 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) - - pci:v00001002d00005159sv00001002sd00000038* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd0000003A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd000000BA* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd0000013A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd00000908* -- ID_MODEL_FROM_DATABASE=XVR-100 (supplied by Sun) -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (XVR-100 (supplied by Sun)) - - pci:v00001002d00005159sv00001014sd0000029A* -- ID_MODEL_FROM_DATABASE=Remote Supervisor Adapter II (RSA2) -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Remote Supervisor Adapter II (RSA2)) - - pci:v00001002d00005159sv00001014sd000002C8* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (eServer xSeries server mainboard) - - pci:v00001002d00005159sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Embedded Radeon 7000/VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 1850 Embedded Radeon 7000/VE) - - pci:v00001002d00005159sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Embedded Radeon 7000-M -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 2850 Embedded Radeon 7000-M) - - pci:v00001002d00005159sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Embedded Radeon 7000/VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 6850 Embedded Radeon 7000/VE) - - pci:v00001002d00005159sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge SC1425) - - pci:v00001002d00005159sv0000103Csd00001292* -- ID_MODEL_FROM_DATABASE=Radeon 7000 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) - - pci:v00001002d00005159sv00001043sd0000C00A* -- ID_MODEL_FROM_DATABASE=A7000/T/64M -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (A7000/T/64M) - - pci:v00001002d00005159sv00001458sd00004002* -- ID_MODEL_FROM_DATABASE=RV100 QY [RADEON 7000 PRO MAYA AV Series] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [RADEON 7000 PRO MAYA AV Series]) - - pci:v00001002d00005159sv0000148Csd00002003* -- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Multi-Display Edition] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Multi-Display Edition]) - - pci:v00001002d00005159sv0000148Csd00002023* -- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Evil Master Multi-Display] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Evil Master Multi-Display]) - - pci:v00001002d00005159sv0000174Bsd00000280* -- ID_MODEL_FROM_DATABASE=Radeon RV100 QY [Radeon 7000/VE] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon RV100 QY [Radeon 7000/VE]) - - pci:v00001002d00005159sv0000174Bsd00007112* -- ID_MODEL_FROM_DATABASE=Radeon VE 7000 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000) - - pci:v00001002d00005159sv0000174Bsd00007C28* -- ID_MODEL_FROM_DATABASE=Radeon VE 7000 DDR -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000 DDR) - - pci:v00001002d00005159sv00001787sd00000202* -- ID_MODEL_FROM_DATABASE=RV100 QY [Excalibur Radeon 7000] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Excalibur Radeon 7000]) - - pci:v00001002d00005159sv000017EEsd00001001* -- ID_MODEL_FROM_DATABASE=Radeon 7000 64MB DDR + DVI -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000 64MB DDR + DVI) - - pci:v00001002d0000515E* - ID_MODEL_FROM_DATABASE=ES1000 - - pci:v00001002d0000515Esv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 1955 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge SC440) - - pci:v00001002d0000515Esv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 860) - - pci:v00001002d0000515Esv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R900 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 2970 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T605 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R300 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T300 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R805 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000223* -- ID_MODEL_FROM_DATABASE=PowerEdge R905 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R905 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T105 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R200 Embedded ATI ES1000) - - pci:v00001002d0000515Esv0000103Csd00001304* -- ID_MODEL_FROM_DATABASE=Integrity iLO2 Advanced KVM VGA [AD307A] -+ ID_MODEL_FROM_DATABASE=ES1000 (Integrity iLO2 Advanced KVM VGA [AD307A]) - - pci:v00001002d0000515Esv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=ES1000 (X7DVL-E-O motherboard) - - pci:v00001002d0000515Esv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=ES1000 (X7DBN Motherboard) - - pci:v00001002d0000515Esv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=ES1000 (S5000PSLSATA Server Board) - - pci:v00001002d00005245* - ID_MODEL_FROM_DATABASE=Rage 128 GL PCI - - pci:v00001002d00005245sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 128 -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Xpert 128) - - pci:v00001002d00005245sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) - - pci:v00001002d00005245sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) - - pci:v00001002d00005245sv00001002sd00000068* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) - - pci:v00001002d00005246* - ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x - - pci:v00001002d00005246sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Magnum/Xpert 128/Xpert 99 -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert 128/Xpert 99) - - pci:v00001002d00005246sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Magnum/Xpert128/X99/Xpert2000 -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert128/X99/Xpert2000) - - pci:v00001002d00005246sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) - - pci:v00001002d00005246sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury/Xpert 128/Xpert 2000) - - pci:v00001002d00005246sv00001002sd00000068* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) - - pci:v00001002d00005246sv00001002sd00000448* -- ID_MODEL_FROM_DATABASE=Rage Fury -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury) - - pci:v00001002d0000524B* - ID_MODEL_FROM_DATABASE=Rage 128 VR PCI -@@ -3507,73 +3507,73 @@ pci:v00001002d0000524C* - ID_MODEL_FROM_DATABASE=Rage 128 VR AGP - - pci:v00001002d0000524Csv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99/Xpert 2000) - - pci:v00001002d0000524Csv00001002sd00000088* -- ID_MODEL_FROM_DATABASE=Xpert 99 -+ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99) - - pci:v00001002d00005346* - ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x - - pci:v00001002d00005346sv00001002sd00000048* -- ID_MODEL_FROM_DATABASE=RAGE 128 16MB VGA TVOUT AMC PAL -+ ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x (RAGE 128 16MB VGA TVOUT AMC PAL) - - pci:v00001002d0000534D* - ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x - - pci:v00001002d0000534Dsv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 99/Xpert 2000) - - pci:v00001002d0000534Dsv00001002sd00000018* -- ID_MODEL_FROM_DATABASE=Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 2000) - - pci:v00001002d00005354* - ID_MODEL_FROM_DATABASE=Mach 64 VT - - pci:v00001002d00005354sv00001002sd00005654* -- ID_MODEL_FROM_DATABASE=Mach 64 reference -+ ID_MODEL_FROM_DATABASE=Mach 64 VT (Mach 64 reference) - - pci:v00001002d00005446* - ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x - - pci:v00001002d00005446sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro) - - pci:v00001002d00005446sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005446sv00001002sd00000018* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005446sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) - - pci:v00001002d00005446sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) - - pci:v00001002d00005446sv00001002sd0000002A* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) - - pci:v00001002d00005446sv00001002sd0000002B* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) - - pci:v00001002d00005446sv00001002sd00000048* -- ID_MODEL_FROM_DATABASE=Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Xpert 2000 Pro) - - pci:v00001002d00005452* - ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP - - pci:v00001002d00005452sv00001002sd0000001C* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) - - pci:v00001002d00005452sv0000103Csd00001279* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) - - pci:v00001002d00005460* - ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] - - pci:v00001002d00005460sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] (CR11/VR11 Single Board Computer) - - pci:v00001002d00005461* - ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] -@@ -3594,16 +3594,16 @@ pci:v00001002d0000554B* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] - - pci:v00001002d0000554Bsv00001002sd00000302* -- ID_MODEL_FROM_DATABASE=Radeon X800 SE -+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] (Radeon X800 SE) - - pci:v00001002d0000554D* - ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] - - pci:v00001002d0000554Dsv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 XL -+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (All-In-Wonder X800 XL) - - pci:v00001002d0000554Dsv00001458sd00002124* -- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) -+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (GV-R80L256V-B (AGP)) - - pci:v00001002d0000554E* - ID_MODEL_FROM_DATABASE=R430 [All-In-Wonder X800 GT] -@@ -3627,7 +3627,7 @@ pci:v00001002d0000556D* - ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) - - pci:v00001002d0000556Dsv00001458sd00002125* -- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) -+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) (GV-R80L256V-B (AGP)) - - pci:v00001002d0000556F* - ID_MODEL_FROM_DATABASE=R430 [Radeon X800] (Secondary) -@@ -3648,16 +3648,16 @@ pci:v00001002d00005653* - ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] - - pci:v00001002d00005653sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (Aspire 5024WLMi) - - pci:v00001002d00005653sv0000103Csd00000940* -- ID_MODEL_FROM_DATABASE=HP Compaq NW8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (HP Compaq NW8240 Mobile Workstation) - - pci:v00001002d00005654* - ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] - - pci:v00001002d00005654sv00001002sd00005654* -- ID_MODEL_FROM_DATABASE=Mach64VT Reference -+ ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] (Mach64VT Reference) - - pci:v00001002d00005655* - ID_MODEL_FROM_DATABASE=264VT3 [Mach64 VT3] -@@ -3699,22 +3699,22 @@ pci:v00001002d00005940* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) - - pci:v00001002d00005940sv000017AFsd00002021* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) (Excalibur Radeon 9250 (Secondary)) - - pci:v00001002d00005941* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) - - pci:v00001002d00005941sv00001458sd00004019* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) - - pci:v00001002d00005941sv0000174Bsd00007C12* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) - - pci:v00001002d00005941sv000017AFsd0000200D* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Excalibur Radeon 9200) - - pci:v00001002d00005941sv000018BCsd00000050* -- ID_MODEL_FROM_DATABASE=GC-R9200-C3 (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (GC-R9200-C3 (Secondary)) - - pci:v00001002d00005944* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE PCI] -@@ -3723,22 +3723,22 @@ pci:v00001002d00005950* - ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge - - pci:v00001002d00005950sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire 5024WLMMi) - - pci:v00001002d00005950sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (DC5750 Microtower) - - pci:v00001002d00005950sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Pavilion t3030.de Desktop PC) - - pci:v00001002d00005950sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MX6125) - - pci:v00001002d00005950sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MS-1013 Notebook) - - pci:v00001002d00005950sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire L250) - - pci:v00001002d00005951* - ID_MODEL_FROM_DATABASE=RX480/RX482 Host Bridge -@@ -3750,19 +3750,19 @@ pci:v00001002d00005954* - ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] - - pci:v00001002d00005954sv00001002sd00005954* -- ID_MODEL_FROM_DATABASE=RV370 [Radeon Xpress 200G Series] -+ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] (RV370 [Radeon Xpress 200G Series]) - - pci:v00001002d00005955* - ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] - - pci:v00001002d00005955sv00001002sd00005955* -- ID_MODEL_FROM_DATABASE=RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] -+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)]) - - pci:v00001002d00005955sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MX6125) - - pci:v00001002d00005955sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MS-1013 Notebook) - - pci:v00001002d00005956* - ID_MODEL_FROM_DATABASE=RD790 Host Bridge -@@ -3771,7 +3771,7 @@ pci:v00001002d00005957* - ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge - - pci:v00001002d00005957sv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge (A770CrossFire Motherboard) - - pci:v00001002d00005958* - ID_MODEL_FROM_DATABASE=RD780 Host Bridge -@@ -3780,37 +3780,37 @@ pci:v00001002d00005960* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] - - pci:v00001002d00005960sv000017AFsd00002020* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Excalibur Radeon 9250) - - pci:v00001002d00005961* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] - - pci:v00001002d00005961sv00001002sd00002F72* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 9200 Series -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (All-in-Wonder 9200 Series) - - pci:v00001002d00005961sv00001019sd00004C30* -- ID_MODEL_FROM_DATABASE=Radeon 9200 VIVO -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 VIVO) - - pci:v00001002d00005961sv000012ABsd00005961* -- ID_MODEL_FROM_DATABASE=YUAN SMARTVGA Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (YUAN SMARTVGA Radeon 9200) - - pci:v00001002d00005961sv00001458sd00004018* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) - - pci:v00001002d00005961sv0000174Bsd00007C13* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) - - pci:v00001002d00005961sv000017AFsd0000200C* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Excalibur Radeon 9200) - - pci:v00001002d00005961sv000018BCsd00000050* -- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster) - - pci:v00001002d00005961sv000018BCsd00000051* -- ID_MODEL_FROM_DATABASE=GC-R9200-C3 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (GC-R9200-C3) - - pci:v00001002d00005961sv000018BCsd00000053* -- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster VIVO -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster VIVO) - - pci:v00001002d00005962* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] -@@ -3819,37 +3819,37 @@ pci:v00001002d00005964* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] - - pci:v00001002d00005964sv00001002sd00005964* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz) - - pci:v00001002d00005964sv00001043sd0000C006* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE / TD / 128M -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE / TD / 128M) - - pci:v00001002d00005964sv00001458sd00004018* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) - - pci:v00001002d00005964sv00001458sd00004032* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE 128MB) - - pci:v00001002d00005964sv0000147Bsd00006191* -- ID_MODEL_FROM_DATABASE=R9200SE-DT -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (R9200SE-DT) - - pci:v00001002d00005964sv0000148Csd00002073* -- ID_MODEL_FROM_DATABASE=CN-AG92E -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (CN-AG92E) - - pci:v00001002d00005964sv0000174Bsd00007C13* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) - - pci:v00001002d00005964sv00001787sd00005964* -- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Excalibur 9200SE VIVO 128M) - - pci:v00001002d00005964sv000017AFsd00002012* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE Excalibur) - - pci:v00001002d00005964sv000018BCsd00000170* -- ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE 128MB Game Buster -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Sapphire Radeon 9200 SE 128MB Game Buster) - - pci:v00001002d00005964sv000018BCsd00000173* -- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) - - pci:v00001002d00005965* - ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] -@@ -3858,10 +3858,10 @@ pci:v00001002d00005974* - ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] - - pci:v00001002d00005974sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (DC5750 Microtower) - - pci:v00001002d00005974sv00001462sd00007141* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (Aspire L250) - - pci:v00001002d00005975* - ID_MODEL_FROM_DATABASE=RS482M [Mobility Radeon Xpress 200] -@@ -3870,7 +3870,7 @@ pci:v00001002d00005978* - ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) - - pci:v00001002d00005978sv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) (A770CrossFire Motherboard) - - pci:v00001002d00005979* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port B) -@@ -3891,13 +3891,13 @@ pci:v00001002d0000597E* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) - - pci:v00001002d0000597Esv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) (A770CrossFire Motherboard) - - pci:v00001002d0000597F* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) - - pci:v00001002d0000597Fsv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) (A770CrossFire Motherboard) - - pci:v00001002d00005980* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port A) -@@ -3918,7 +3918,7 @@ pci:v00001002d00005A12* - ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part - - pci:v00001002d00005A12sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part (H8DGU) - - pci:v00001002d00005A13* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port A) -@@ -3939,7 +3939,7 @@ pci:v00001002d00005A18* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) - - pci:v00001002d00005A18sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) (H8DGU) - - pci:v00001002d00005A19* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port E) -@@ -3963,7 +3963,7 @@ pci:v00001002d00005A1F* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) - - pci:v00001002d00005A1Fsv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) (H8DGU) - - pci:v00001002d00005A20* - ID_MODEL_FROM_DATABASE=RD890S PCI Express bridge for GPP2 port 1 -@@ -3996,7 +3996,7 @@ pci:v00001002d00005A3F* - ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] - - pci:v00001002d00005A3Fsv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] (Aspire L250) - - pci:v00001002d00005A41* - ID_MODEL_FROM_DATABASE=RS400 [Radeon Xpress 200] -@@ -4014,25 +4014,25 @@ pci:v00001002d00005B60* - ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] - - pci:v00001002d00005B60sv00001043sd0000002A* -- ID_MODEL_FROM_DATABASE=Extreme AX300SE-X -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300SE-X) - - pci:v00001002d00005B60sv00001043sd0000032E* -- ID_MODEL_FROM_DATABASE=Extreme AX300/TD -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300/TD) - - pci:v00001002d00005B60sv00001458sd00002102* -- ID_MODEL_FROM_DATABASE=GV-RX30S128D (X300SE) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (GV-RX30S128D (X300SE)) - - pci:v00001002d00005B60sv00001462sd00000400* -- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940 REV:200) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940 REV:200)) - - pci:v00001002d00005B60sv00001462sd00000402* -- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940)) - - pci:v00001002d00005B60sv0000174Bsd00000500* -- ID_MODEL_FROM_DATABASE=Radeon X300 (PCIE) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Radeon X300 (PCIE)) - - pci:v00001002d00005B60sv0000196Dsd00001086* -- ID_MODEL_FROM_DATABASE=X300SE HM -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (X300SE HM) - - pci:v00001002d00005B62* - ID_MODEL_FROM_DATABASE=RV370 [Radeon X600/X600 SE] -@@ -4053,13 +4053,13 @@ pci:v00001002d00005B70* - ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] - - pci:v00001002d00005B70sv00001462sd00000403* -- ID_MODEL_FROM_DATABASE=Radeon X300 SE 128MB DDR -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE 128MB DDR) - - pci:v00001002d00005B70sv0000174Bsd00000501* -- ID_MODEL_FROM_DATABASE=Radeon X300 SE -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE) - - pci:v00001002d00005B70sv0000196Dsd00001087* -- ID_MODEL_FROM_DATABASE=Radeon X300 SE HyperMemory -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE HyperMemory) - - pci:v00001002d00005B72* - ID_MODEL_FROM_DATABASE=RV380 [Radeon X300/X550/X1050 Series] (Secondary) -@@ -4080,37 +4080,37 @@ pci:v00001002d00005C63* - ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] - - pci:v00001002d00005C63sv00001002sd00005C63* -- ID_MODEL_FROM_DATABASE=Apple iBook G4 2004 -+ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (Apple iBook G4 2004) - - pci:v00001002d00005C63sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (P30 notebook) - - pci:v00001002d00005D44* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) - - pci:v00001002d00005D44sv00001458sd00004019* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) - - pci:v00001002d00005D44sv00001458sd00004032* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB) - - pci:v00001002d00005D44sv0000147Bsd00006190* -- ID_MODEL_FROM_DATABASE=R9200SE-DT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (R9200SE-DT (Secondary)) - - pci:v00001002d00005D44sv0000174Bsd00007C12* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) - - pci:v00001002d00005D44sv00001787sd00005965* -- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Excalibur 9200SE VIVO 128M (Secondary)) - - pci:v00001002d00005D44sv000017AFsd00002013* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE Excalibur (Secondary)) - - pci:v00001002d00005D44sv000018BCsd00000171* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB Game Buster (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB Game Buster (Secondary)) - - pci:v00001002d00005D44sv000018BCsd00000172* -- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) - - pci:v00001002d00005D45* - ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] (Secondary) -@@ -4140,7 +4140,7 @@ pci:v00001002d00005D52* - ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] - - pci:v00001002d00005D52sv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Primary) -+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (PowerColor X850XT PCIe (Primary)) - - pci:v00001002d00005D57* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] -@@ -4155,7 +4155,7 @@ pci:v00001002d00005D72* - ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) - - pci:v00001002d00005D72sv00001002sd00000B13* -- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Secondary) -+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) (PowerColor X850XT PCIe (Secondary)) - - pci:v00001002d00005D77* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] (Secondary) -@@ -4179,13 +4179,13 @@ pci:v00001002d00005E4D* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] - - pci:v00001002d00005E4Dsv0000148Csd00002116* -- ID_MODEL_FROM_DATABASE=Bravo X700 -+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Bravo X700) - - pci:v00001002d00005E4F* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] - - pci:v00001002d00005E4Fsv00001569sd00001E4F* -- ID_MODEL_FROM_DATABASE=Radeon X550 XT -+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Radeon X550 XT) - - pci:v00001002d00005E6B* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 PRO] (Secondary) -@@ -4194,7 +4194,7 @@ pci:v00001002d00005E6D* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) - - pci:v00001002d00005E6Dsv0000148Csd00002117* -- ID_MODEL_FROM_DATABASE=Bravo X700 (Secondary) -+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) (Bravo X700 (Secondary)) - - pci:v00001002d00005F57* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] -@@ -4206,7 +4206,7 @@ pci:v00001002d00006601* - ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] - - pci:v00001002d00006601sv0000103Csd00002100* -- ID_MODEL_FROM_DATABASE=FirePro M4100 -+ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] (FirePro M4100) - - pci:v00001002d00006602* - ID_MODEL_FROM_DATABASE=Mars -@@ -4230,40 +4230,40 @@ pci:v00001002d00006610* - ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] - - pci:v00001002d00006610sv00001019sd00000030* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001028sd00002120* -- ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) - - pci:v00001002d00006610sv00001028sd00002322* -- ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) - - pci:v00001002d00006610sv00001462sd00002910* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001462sd00002911* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001642sd00003C81* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001642sd00003C91* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006611* - ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] - - pci:v00001002d00006611sv00001028sd0000210B* -- ID_MODEL_FROM_DATABASE=Radeon R5 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R5 240 OEM) - - pci:v00001002d00006611sv0000174Bsd00004248* -- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) - - pci:v00001002d00006611sv0000174Bsd0000A240* -- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) - - pci:v00001002d00006611sv00001B0Asd000090D3* -- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) - - pci:v00001002d00006613* - ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] -@@ -4302,28 +4302,28 @@ pci:v00001002d0000665C* - ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] - - pci:v00001002d0000665Csv00001043sd00000452* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 DirectCU II OC -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 DirectCU II OC) - - pci:v00001002d0000665Csv00001462sd00002930* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 OC -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 OC) - - pci:v00001002d0000665Csv00001462sd00002932* -- ID_MODEL_FROM_DATABASE=Radeon HD 8770 -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 8770) - - pci:v00001002d0000665Csv00001462sd00002934* -- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) - - pci:v00001002d0000665Csv0000148Csd00009260* -- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) - - pci:v00001002d0000665Csv00001682sd00003310* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Black Edition 2 GB -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Black Edition 2 GB) - - pci:v00001002d0000665Csv0000174Bsd0000E253* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Dual-X OC -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Dual-X OC) - - pci:v00001002d0000665Csv00001787sd00002329* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 TurboDuo -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 TurboDuo) - - pci:v00001002d0000665D* - ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series] -@@ -4335,7 +4335,7 @@ pci:v00001002d00006663* - ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] - - pci:v00001002d00006663sv00001025sd00000846* -- ID_MODEL_FROM_DATABASE=Radeon HD 8570A -+ ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] (Radeon HD 8570A) - - pci:v00001002d00006664* - ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] -@@ -4377,34 +4377,34 @@ pci:v00001002d00006720* - ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] - - pci:v00001002d00006720sv00001028sd0000048F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv00001028sd00000490* -- ID_MODEL_FROM_DATABASE=Alienware M17x R3 Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Alienware M17x R3 Radeon HD 6970M) - - pci:v00001002d00006720sv00001028sd000004A4* -- ID_MODEL_FROM_DATABASE=FirePro M8900 -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) - - pci:v00001002d00006720sv00001028sd000004BA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv00001028sd0000053F* -- ID_MODEL_FROM_DATABASE=FirePro M8900 -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) - - pci:v00001002d00006720sv0000106Bsd00000B00* -- ID_MODEL_FROM_DATABASE=Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) - - pci:v00001002d00006720sv00001558sd00005102* -- ID_MODEL_FROM_DATABASE=Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) - - pci:v00001002d00006720sv00001558sd00005104* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv00001558sd00007201* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv0000174Bsd0000E188* -- ID_MODEL_FROM_DATABASE=Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) - - pci:v00001002d00006724* - ID_MODEL_FROM_DATABASE=Blackcomb [Mobility Radeon HD 6000 series] -@@ -4416,511 +4416,511 @@ pci:v00001002d00006738* - ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] - - pci:v00001002d00006738sv00001682sd00003103* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Radeon HD 8670) - - pci:v00001002d00006738sv00001787sd0000201A* -- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] -+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) - - pci:v00001002d00006738sv00001787sd0000201B* -- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] -+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) - - pci:v00001002d00006739* - ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] - - pci:v00001002d00006739sv00001043sd000003B4* -- ID_MODEL_FROM_DATABASE=EAH6850 [Radeon HD 6850] -+ ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] (EAH6850 [Radeon HD 6850]) - - pci:v00001002d0000673E* - ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] - - pci:v00001002d0000673Esv0000148Csd00007720* -- ID_MODEL_FROM_DATABASE=Radeon HD 7720 OEM -+ ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] (Radeon HD 7720 OEM) - - pci:v00001002d00006740* - ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] - - pci:v00001002d00006740sv00001019sd0000238C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001019sd00002391* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001019sd00002392* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Precision M4600) - - pci:v00001002d00006740sv00001028sd0000053E* -- ID_MODEL_FROM_DATABASE=FirePro M5950 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) - - pci:v00001002d00006740sv0000103Csd00001630* -- ID_MODEL_FROM_DATABASE=FirePro M5950 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) - - pci:v00001002d00006740sv0000103Csd00001631* -- ID_MODEL_FROM_DATABASE=FirePro M5950 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) - - pci:v00001002d00006740sv0000103Csd0000164B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000103Csd0000164E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000103Csd00001657* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00001658* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000165A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000165B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00001688* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00001689* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000168A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000185E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7690M XT -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 7690M XT) - - pci:v00001002d00006740sv0000103Csd00003388* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00003389* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00003582* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000366C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001043sd00001D02* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001043sd00001D12* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000104Dsd00009084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000104Dsd00009085* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B074* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B077* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B088* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv000017AAsd00003982* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006741* - ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] - - pci:v00001002d00006741sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001019sd0000238F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000379* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000037B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000037E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000382* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000384* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000385* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000386* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000387* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000388* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000442* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000451* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000489* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000048B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000048C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000513* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000515* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000516* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000051E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000051F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000520* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000521* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000052A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000555* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000556* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000055D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000055E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000056D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000600* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000605* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000606* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000619* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001028sd000004C1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004C5* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004CD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004D7* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004D9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd0000052D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000103Csd00001617* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd00001646* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00001647* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd0000164B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd0000164E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd00001688* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00001689* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd0000168A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00001860* -- ID_MODEL_FROM_DATABASE=Radeon HD 7690M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7690M) - - pci:v00001002d00006741sv0000103Csd00003385* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000103Csd00003560* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd0000358D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00003590* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00003593* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd0000366C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00001CD2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002121* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002122* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002123* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002125* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) - - pci:v00001002d00006741sv00001043sd00002127* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) - - pci:v00001002d00006741sv0000104Dsd0000907B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000104Dsd00009080* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000106Bsd000000E2* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", Late 2011] -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (MacBookPro8,2 [Core i7, 15", Late 2011]) - - pci:v00001002d00006741sv00001179sd0000FD63* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001179sd0000FD65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000144Dsd0000C093* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000144Dsd0000C0AC* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000144Dsd0000C0B3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000144Dsd0000C539* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000144Dsd0000C609* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000152Dsd00000914* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv000017AAsd000021E1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv000017AAsd00003970* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv000017AAsd00003976* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001854sd00000907* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006742* - ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] - - pci:v00001002d00006742sv00001002sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00001019sd00002393* -- ID_MODEL_FROM_DATABASE=Radeon HD 6610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6610M) - - pci:v00001002d00006742sv00001043sd00001D82* -- ID_MODEL_FROM_DATABASE=K53SK Laptop Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (K53SK Laptop Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB22* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB23* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB27* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB2A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB2C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB30* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB31* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB32* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB38* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB39* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB3A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB3B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB40* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB41* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB47* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB48* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB49* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB51* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB53* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB81* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB82* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB83* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FC56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FCD4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FCEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001458sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00001462sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv0000148Csd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00001682sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv0000174Bsd00005570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 5570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 5570]) - - pci:v00001002d00006742sv0000174Bsd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv0000174Bsd00007570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 7570]) - - pci:v00001002d00006742sv0000174Bsd00008510* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8510] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8510]) - - pci:v00001002d00006742sv0000174Bsd00008570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8570]) - - pci:v00001002d00006742sv00001787sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv000017AFsd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Radeon HD 6625M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6625M) - - pci:v00001002d00006743* - ID_MODEL_FROM_DATABASE=Whistler [Radeon E6760] -@@ -4935,133 +4935,133 @@ pci:v00001002d00006750* - ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] - - pci:v00001002d00006750sv00001462sd00002670* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6670A) - - pci:v00001002d00006750sv000017AAsd00003079* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) - - pci:v00001002d00006750sv000017AAsd0000307A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006750sv000017AAsd00003087* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) - - pci:v00001002d00006750sv000017AAsd00003618* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006750sv000017AAsd00003623* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006750sv000017AAsd00003627* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006751* - ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] - - pci:v00001002d00006751sv00001028sd00000548* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006751sv00001462sd00002671* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) - - pci:v00001002d00006751sv00001462sd00002672* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) - - pci:v00001002d00006751sv00001462sd00002680* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006751sv00001462sd00002681* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006751sv000017AAsd00003087* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006758* - ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] - - pci:v00001002d00006758sv00001028sd00000B0E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006758sv0000103Csd00006882* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006758sv00001462sd0000250A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv0000148Csd00007670* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv00001545sd00007670* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv00001682sd00003300* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv0000174Bsd00007670* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv0000174Bsd0000E181* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006758sv00001787sd00002309* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006759* - ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] - - pci:v00001002d00006759sv0000103Csd00003130* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001043sd00000403* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001462sd00002500* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001462sd00002509* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv0000148Csd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv00001642sd00003A67* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001682sd00003280* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv00001682sd00003530* -- ID_MODEL_FROM_DATABASE=Radeon HD 8550 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 8550) - - pci:v00001002d00006759sv0000174Bsd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv0000174Bsd0000E142* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv0000174Bsd0000E181* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd0000908F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd00009090* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd00009091* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd00009092* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd0000909E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd000090B5* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv00001B0Asd000090B6* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d0000675B* - ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] -@@ -5073,526 +5073,526 @@ pci:v00001002d0000675F* - ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] - - pci:v00001002d0000675Fsv0000148Csd00006510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) - - pci:v00001002d0000675Fsv0000148Csd00006530* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6530) - - pci:v00001002d0000675Fsv0000148Csd00007510* -- ID_MODEL_FROM_DATABASE=Radeon HD 7510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) - - pci:v00001002d0000675Fsv00001545sd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7570) - - pci:v00001002d0000675Fsv0000174Bsd00006510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) - - pci:v00001002d0000675Fsv0000174Bsd00007510* -- ID_MODEL_FROM_DATABASE=Radeon HD 7510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) - - pci:v00001002d0000675Fsv0000174Bsd00008510* -- ID_MODEL_FROM_DATABASE=Radeon HD 8510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 8510) - - pci:v00001002d0000675Fsv00001787sd00002012* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 2GB GDDR3 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 2GB GDDR3) - - pci:v00001002d0000675Fsv00001787sd00002314* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 1GB DDR2/GDDR3 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 1GB DDR2/GDDR3) - - pci:v00001002d00006760* - ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] - - pci:v00001002d00006760sv00001002sd00000124* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001002sd00000134* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd0000238B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd00002390* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd00009985* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004C1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004C3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004CA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004CB* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004CC* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Vostro 3350) - - pci:v00001002d00006760sv00001028sd000004D1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004D3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004D7* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000502* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000503* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000506* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000507* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd0000051C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001028sd0000051D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv0000103Csd0000161A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000161B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000161E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000161F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001622* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv0000103Csd00001623* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv0000103Csd0000164A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000164D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001651* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001656* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00001658* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00001659* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000165B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000165D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000165F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001661* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001663* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001665* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001667* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001669* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000166B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000166C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000166E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001670* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001672* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000167A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000167B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000167D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000167F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000168C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000168F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001694* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001696* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001698* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000169A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000169C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00001855* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd00001859* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd0000185C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd0000185D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000103Csd0000185F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000103Csd00001863* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd0000355C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000355F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003563* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003565* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003567* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003569* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003581* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003584* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000358C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000358F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003592* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003596* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000366B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003671* -- ID_MODEL_FROM_DATABASE=FirePro M3900 -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (FirePro M3900) - - pci:v00001002d00006760sv0000103Csd00003673* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000100A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000100C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000101B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000101C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000102A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv00001043sd0000102C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000104B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000105D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000106B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000106D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000107D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00001CB2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00001D22* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00001D32* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00002001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00002002* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00002107* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00002108* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00002109* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd000084A0* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd000084E9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00008515* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00008517* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000855A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000104Dsd0000907B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000104Dsd00009084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000104Dsd00009085* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001179sd00000003* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001179sd00000004* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001179sd0000FB22* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB23* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB2C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB31* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB32* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB33* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB38* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB39* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB3A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB40* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB41* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB42* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB47* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB48* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB51* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB53* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB81* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB82* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB83* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FC51* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001179sd0000FC52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FC56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FCD3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FCD4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FCEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FDEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000144Dsd0000B074* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000B084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C095* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C0B3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000144Dsd0000C538* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C581* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C589* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C609* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000144Dsd0000C625* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000144Dsd0000C636* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv00001462sd000010AC* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000152Dsd00000916* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd000021E5* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd00003900* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00003902* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00003969* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd00003970* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00003976* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd0000397B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd0000397D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd00005101* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv000017AAsd00005102* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00005103* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00005106* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv00001854sd00000897* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001854sd00000900* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001854sd00000908* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001854sd00002015* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006761* - ID_MODEL_FROM_DATABASE=Seymour LP [Radeon HD 6430M] -@@ -5619,22 +5619,22 @@ pci:v00001002d00006770* - ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] - - pci:v00001002d00006770sv000017AAsd0000308D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7450A) - - pci:v00001002d00006770sv000017AAsd00003623* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd00003627* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd00003629* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd0000363C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd00003658* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7470A) - - pci:v00001002d00006771* - ID_MODEL_FROM_DATABASE=Caicos XTX [Radeon HD 8490 / R5 235X OEM] -@@ -5646,133 +5646,133 @@ pci:v00001002d00006778* - ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] - - pci:v00001002d00006778sv00001019sd00000024* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) - - pci:v00001002d00006778sv00001019sd00000027* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001028sd00002120* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) - - pci:v00001002d00006778sv00001462sd0000B491* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001462sd0000B492* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001462sd0000B493* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 OEM -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470 OEM) - - pci:v00001002d00006778sv00001642sd00003C65* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001642sd00003C75* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv0000174Bsd00008145* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv0000174Bsd0000E145* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) - - pci:v00001002d00006779* - ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] - - pci:v00001002d00006779sv00001019sd00000016* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001019sd00000017* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001019sd00000018* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001028sd00002120* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000103Csd00002128* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000103Csd00002AEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) - - pci:v00001002d00006779sv00001462sd00002125* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001462sd00002346* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv00001462sd00002490* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001462sd00002494* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001462sd00002496* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000148Csd00007450* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000148Csd00008450* -- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) - - pci:v00001002d00006779sv00001545sd00007470* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7470) - - pci:v00001002d00006779sv00001642sd00003A65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001642sd00003A66* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv00001642sd00003A75* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001642sd00003A76* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv00001682sd00003200* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000174Bsd00007450* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000174Bsd0000E164* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1 GB DDR3 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450 1 GB DDR3) - - pci:v00001002d00006779sv0000174Bsd0000E180* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000174Bsd0000E201* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv000017AFsd00008450* -- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) - - pci:v00001002d00006779sv00001B0Asd00009096* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001B0Asd00009097* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001B0Asd000090A8* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450A) - - pci:v00001002d00006779sv00001B0Asd000090B1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001B0Asd000090B3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) - - pci:v00001002d00006779sv00001B0Asd000090BB* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) - - pci:v00001002d0000677B* - ID_MODEL_FROM_DATABASE=Caicos PRO [Radeon HD 7450] -@@ -5790,25 +5790,25 @@ pci:v00001002d0000678A* - ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] - - pci:v00001002d0000678Asv00001002sd0000030C* -- ID_MODEL_FROM_DATABASE=FirePro W8000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) - - pci:v00001002d0000678Asv00001002sd00000310* -- ID_MODEL_FROM_DATABASE=FirePro S9000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S9000) - - pci:v00001002d0000678Asv00001002sd00000420* -- ID_MODEL_FROM_DATABASE=Radeon Sky 700 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 700) - - pci:v00001002d0000678Asv00001002sd00000422* -- ID_MODEL_FROM_DATABASE=Radeon Sky 900 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 900) - - pci:v00001002d0000678Asv00001002sd00000B0E* -- ID_MODEL_FROM_DATABASE=FirePro S10000 Passive -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000 Passive) - - pci:v00001002d0000678Asv00001002sd00000B2A* -- ID_MODEL_FROM_DATABASE=FirePro S10000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000) - - pci:v00001002d0000678Asv00001028sd0000030C* -- ID_MODEL_FROM_DATABASE=FirePro W8000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) - - pci:v00001002d00006790* - ID_MODEL_FROM_DATABASE=Tahiti -@@ -5823,67 +5823,67 @@ pci:v00001002d00006798* - ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] - - pci:v00001002d00006798sv00001002sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) - - pci:v00001002d00006798sv00001002sd00003001* -- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X]) - - pci:v00001002d00006798sv00001002sd00004000* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970 OEM -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 8970 OEM) - - pci:v00001002d00006798sv00001043sd0000041C* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II) - - pci:v00001002d00006798sv00001043sd00000420* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) - - pci:v00001002d00006798sv00001043sd00000444* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) - - pci:v00001002d00006798sv00001043sd00000448* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) - - pci:v00001002d00006798sv00001043sd0000044A* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970]) - - pci:v00001002d00006798sv00001043sd0000044C* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970 Platinum] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970 Platinum]) - - pci:v00001002d00006798sv00001043sd00003001* -- ID_MODEL_FROM_DATABASE=Tahiti XTL [ROG Matrix R9 280X] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [ROG Matrix R9 280X]) - - pci:v00001002d00006798sv00001043sd00003006* -- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X DirectCU II TOP] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X DirectCU II TOP]) - - pci:v00001002d00006798sv00001043sd00009999* -- ID_MODEL_FROM_DATABASE=ARES II -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (ARES II) - - pci:v00001002d00006798sv00001092sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) - - pci:v00001002d00006798sv00001458sd00002261* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition OC]) - - pci:v00001002d00006798sv00001462sd00002774* -- ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (MSI R7970 TF 3GD5/OC BE) - - pci:v00001002d00006798sv00001682sd00003211* -- ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970 Black Edition) - - pci:v00001002d00006798sv00001682sd00003213* -- ID_MODEL_FROM_DATABASE=HD 7970 Black Edition -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 Black Edition) - - pci:v00001002d00006798sv00001682sd00003214* -- ID_MODEL_FROM_DATABASE=Double D HD 7970 -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970) - - pci:v00001002d00006798sv00001787sd0000201C* -- ID_MODEL_FROM_DATABASE=HD 7970 IceQ X² -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 IceQ X²) - - pci:v00001002d00006798sv00001787sd00002317* -- ID_MODEL_FROM_DATABASE=Radeon HD 7990 -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 7990) - - pci:v00001002d00006798sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) - - pci:v00001002d00006799* - ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] -@@ -5892,28 +5892,28 @@ pci:v00001002d0000679A* - ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] - - pci:v00001002d0000679Asv00001002sd00000B01* -- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) - - pci:v00001002d0000679Asv00001002sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti PRO2 [Radeon HD 7950 Boost] -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Tahiti PRO2 [Radeon HD 7950 Boost]) - - pci:v00001002d0000679Asv00001462sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) - - pci:v00001002d0000679B* - ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] - - pci:v00001002d0000679Bsv00001002sd00000B28* -- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) - - pci:v00001002d0000679Bsv00001002sd00000B2A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7990 -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 7990) - - pci:v00001002d0000679Bsv00001462sd00008036* -- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) - - pci:v00001002d0000679Bsv0000148Csd00008990* -- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) - - pci:v00001002d0000679E* - ID_MODEL_FROM_DATABASE=Tahiti LE [Radeon HD 7870 XT] -@@ -5955,28 +5955,28 @@ pci:v00001002d00006800* - ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] - - pci:v00001002d00006800sv00001002sd00000124* -- ID_MODEL_FROM_DATABASE=Radeon HD 7970M -+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) - - pci:v00001002d00006800sv00008086sd00002110* -- ID_MODEL_FROM_DATABASE=Radeon HD 7970M -+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) - - pci:v00001002d00006800sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Radeon HD 7970M -+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) - - pci:v00001002d00006801* - ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] - - pci:v00001002d00006801sv00001002sd00000124* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970M -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) - - pci:v00001002d00006801sv00001462sd00001117* -- ID_MODEL_FROM_DATABASE=Radeon R9 M290X -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon R9 M290X) - - pci:v00001002d00006801sv00008086sd00002110* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970M -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) - - pci:v00001002d00006801sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970M -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) - - pci:v00001002d00006802* - ID_MODEL_FROM_DATABASE=Wimbledon -@@ -5988,10 +5988,10 @@ pci:v00001002d00006808* - ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] - - pci:v00001002d00006808sv00001002sd00000310* -- ID_MODEL_FROM_DATABASE=FirePro S7000 -+ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (FirePro S7000) - - pci:v00001002d00006808sv00001002sd00000420* -- ID_MODEL_FROM_DATABASE=Radeon Sky 500 -+ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (Radeon Sky 500) - - pci:v00001002d00006809* - ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000] -@@ -6012,37 +6012,37 @@ pci:v00001002d00006818* - ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] - - pci:v00001002d00006818sv00001002sd00000B05* -- ID_MODEL_FROM_DATABASE=Radeon HD 8870 OEM -+ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8870 OEM) - - pci:v00001002d00006818sv0000174Bsd00008B04* -- ID_MODEL_FROM_DATABASE=Radeon HD 8860 -+ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8860) - - pci:v00001002d00006819* - ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] - - pci:v00001002d00006819sv0000174Bsd0000E221* -- ID_MODEL_FROM_DATABASE=Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP -+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) - - pci:v00001002d00006820* - ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] - - pci:v00001002d00006820sv0000103Csd00001851* -- ID_MODEL_FROM_DATABASE=Radeon HD 7750M -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) - - pci:v00001002d00006820sv000017AAsd00003801* -- ID_MODEL_FROM_DATABASE=Radeon R9 M275 -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) - - pci:v00001002d00006821* - ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] - - pci:v00001002d00006821sv00001002sd0000031E* -- ID_MODEL_FROM_DATABASE=FirePro SX4000 -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) - - pci:v00001002d00006821sv00001028sd000005CC* -- ID_MODEL_FROM_DATABASE=FirePro M5100 -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) - - pci:v00001002d00006821sv00001028sd000015CC* -- ID_MODEL_FROM_DATABASE=FirePro M5100 -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) - - pci:v00001002d00006822* - ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] -@@ -6054,7 +6054,7 @@ pci:v00001002d00006825* - ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] - - pci:v00001002d00006825sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Chelsea PRO -+ ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] (Chelsea PRO) - - pci:v00001002d00006826* - ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7700M Series] -@@ -6081,7 +6081,7 @@ pci:v00001002d0000682F* - ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] - - pci:v00001002d0000682Fsv0000103Csd00001851* -- ID_MODEL_FROM_DATABASE=Radeon HD 7750M -+ ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] (Radeon HD 7750M) - - pci:v00001002d00006830* - ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7800M Series] -@@ -6096,16 +6096,16 @@ pci:v00001002d00006837* - ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] - - pci:v00001002d00006837sv00001462sd00002796* -- ID_MODEL_FROM_DATABASE=Radeon HD 8730 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) - - pci:v00001002d00006837sv00001462sd00008092* -- ID_MODEL_FROM_DATABASE=Radeon HD 8730 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) - - pci:v00001002d00006837sv0000148Csd00008730* -- ID_MODEL_FROM_DATABASE=Radeon HD 8730 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) - - pci:v00001002d00006837sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 6570) - - pci:v00001002d00006838* - ID_MODEL_FROM_DATABASE=Cape Verde -@@ -6120,19 +6120,19 @@ pci:v00001002d0000683D* - ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] - - pci:v00001002d0000683Dsv00001002sd00000030* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv00001019sd00000030* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv0000103Csd00006890* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv00001043sd00008760* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv0000174Bsd00008304* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683F* - ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] -@@ -6141,322 +6141,322 @@ pci:v00001002d00006840* - ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] - - pci:v00001002d00006840sv00001025sd0000050E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000050F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000513* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000056D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000059A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000059B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000059E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000600* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000606* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000696* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000697* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000698* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000699* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000757* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd0000056A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd0000056E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd00000598* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd0000059D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd000005A3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd000005B9* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd000005BB* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000017F1* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7570M) - - pci:v00001002d00006840sv0000103Csd000017F4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv0000103Csd00001813* -- ID_MODEL_FROM_DATABASE=Radeon HD 7590M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7590M) - - pci:v00001002d00006840sv0000103Csd0000182F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001830* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001835* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000183A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000183C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000183E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001840* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001842* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001844* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001848* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000184A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000184C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001895* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001897* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000018A5* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000018A7* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000018F4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd0000100A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd0000104B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd000010DC* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002121* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002122* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002123* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002125* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002127* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB11* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB22* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB23* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB2C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB31* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB32* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB38* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB39* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB3A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB40* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB41* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB47* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB48* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB51* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB53* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB81* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB82* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB83* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FC56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FCD4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FCEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000144Dsd0000C0C5* -- ID_MODEL_FROM_DATABASE=Radeon HD 7690M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7690M) - - pci:v00001002d00006840sv0000144Dsd0000C0CE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000144Dsd0000C0DA* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00003970* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd0000397B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00005101* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00005102* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00005103* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006841* - ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] - - pci:v00001002d00006841sv00001028sd00000561* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001028sd0000056C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001028sd0000057F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv0000103Csd000017F1* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv0000103Csd000017F4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001813* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv0000103Csd0000183A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd0000183C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd0000183E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001840* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001842* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001844* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd0000100A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd0000104B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd000010DC* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd00002134* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv00001179sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv00001179sd0000FB43* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FB91* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FB92* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FB93* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FBA2* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FBA3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv0000144Dsd0000C0C7* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006842* - ID_MODEL_FROM_DATABASE=Thames LE [Radeon HD 7000M Series] -@@ -6471,13 +6471,13 @@ pci:v00001002d00006889* - ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] - - pci:v00001002d00006889sv00001002sd00000301* -- ID_MODEL_FROM_DATABASE=FirePro V7800P -+ ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] (FirePro V7800P) - - pci:v00001002d0000688A* - ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] - - pci:v00001002d0000688Asv00001002sd0000030C* -- ID_MODEL_FROM_DATABASE=FirePro V9800P -+ ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] (FirePro V9800P) - - pci:v00001002d0000688C* - ID_MODEL_FROM_DATABASE=Cypress XT GL [FireStream 9370] -@@ -6489,28 +6489,28 @@ pci:v00001002d00006898* - ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] - - pci:v00001002d00006898sv00001002sd00000B00* -- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Eyefinity⁶ Edition -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Eyefinity⁶ Edition) - - pci:v00001002d00006898sv0000106Bsd000000D0* -- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Mac Edition -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Mac Edition) - - pci:v00001002d00006898sv00001462sd00008032* -- ID_MODEL_FROM_DATABASE=Radeon HD 5870 1 GB GDDR5 -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 1 GB GDDR5) - - pci:v00001002d00006898sv0000174Bsd00006870* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870 1600SP Edition -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 6870 1600SP Edition) - - pci:v00001002d00006899* - ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] - - pci:v00001002d00006899sv00001043sd00000330* -- ID_MODEL_FROM_DATABASE=Radeon HD 5850 -+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850) - - pci:v00001002d00006899sv0000174Bsd0000237B* -- ID_MODEL_FROM_DATABASE=Radeon HD 5850 X2 -+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850 X2) - - pci:v00001002d00006899sv0000174Bsd00006850* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850 1440SP Edition -+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 6850 1440SP Edition) - - pci:v00001002d0000689B* - ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 6800 Series] -@@ -6519,7 +6519,7 @@ pci:v00001002d0000689C* - ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] - - pci:v00001002d0000689Csv00001043sd00000352* -- ID_MODEL_FROM_DATABASE=ARES -+ ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] (ARES) - - pci:v00001002d0000689D* - ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] -@@ -6531,79 +6531,79 @@ pci:v00001002d000068A0* - ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] - - pci:v00001002d000068A0sv00001028sd000012EF* -- ID_MODEL_FROM_DATABASE=FirePro M7820 -+ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) - - pci:v00001002d000068A0sv0000103Csd00001520* -- ID_MODEL_FROM_DATABASE=FirePro M7820 -+ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) - - pci:v00001002d000068A1* - ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] - - pci:v00001002d000068A1sv0000106Bsd000000CC* -- ID_MODEL_FROM_DATABASE=iMac MC511 Mobility Radeon HD 5850 MXM Module -+ ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] (iMac MC511 Mobility Radeon HD 5850 MXM Module) - - pci:v00001002d000068A8* - ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] - - pci:v00001002d000068A8sv00001025sd00000442* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000451* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000513* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000515* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000516* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000525* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000526* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000056D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001028sd0000048F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv00001028sd00000490* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv00001028sd000004B9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv00001028sd000004BA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv0000103Csd0000159B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv0000144Dsd0000C0AD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A9* - ID_MODEL_FROM_DATABASE=Juniper XT [FirePro V5800] -@@ -6612,7 +6612,7 @@ pci:v00001002d000068B8* - ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] - - pci:v00001002d000068B8sv0000106Bsd000000CF* -- ID_MODEL_FROM_DATABASE=MacPro5,1 [Mac Pro 2.8GHz DDR3] -+ ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] (MacPro5,1 [Mac Pro 2.8GHz DDR3]) - - pci:v00001002d000068B9* - ID_MODEL_FROM_DATABASE=Juniper LE [Radeon HD 5670 640SP Edition] -@@ -6624,466 +6624,466 @@ pci:v00001002d000068BE* - ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] - - pci:v00001002d000068BEsv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750 -+ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] (Radeon HD 6750) - - pci:v00001002d000068BF* - ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] - - pci:v00001002d000068BFsv0000174Bsd00006750* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750 -+ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] (Radeon HD 6750) - - pci:v00001002d000068C0* - ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] - - pci:v00001002d000068C0sv00001019sd00002383* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv00001028sd000002A2* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv00001028sd000002FE* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv00001028sd00000419* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv0000103Csd0000147D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv0000103Csd00001521* -- ID_MODEL_FROM_DATABASE=Madison XT [FirePro M5800] -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Madison XT [FirePro M5800]) - - pci:v00001002d000068C0sv0000103Csd00001593* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) - - pci:v00001002d000068C0sv0000103Csd00001596* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) - - pci:v00001002d000068C0sv0000103Csd00001599* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) - - pci:v00001002d000068C0sv00001043sd00001C22* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv000017AAsd00003927* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv000017AAsd00003952* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv000017AAsd00003978* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Radeon HD 6570M) - - pci:v00001002d000068C1* - ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] - - pci:v00001002d000068C1sv00001025sd00000205* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000293* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000294* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000296* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000308* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000030A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000311* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000312* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000031C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000031D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000033D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000033E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000033F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000346* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Aspire 7740G) - - pci:v00001002d000068C1sv00001025sd00000348* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000356* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000357* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000358* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000359* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000360* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000362* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000364* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000365* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000366* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000367* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000368* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000372* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000373* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000377* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000378* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000379* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000382* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000383* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000384* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000385* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000386* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000387* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000388* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000038B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000038C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000039A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000411* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000412* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000418* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000419* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000420* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000421* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000425* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000042A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000042E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000042F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000432* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000433* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000442* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000044C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000044E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000451* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000454* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000455* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000475* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000476* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000487* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000489* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000498* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000517* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd00000525* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd00000526* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000052B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000052C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd00000607* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001028sd0000041B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000447* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000448* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000456* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000457* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001436* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001437* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001440* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001448* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001449* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000144A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000144B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000147B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000149C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000149E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001521* -- ID_MODEL_FROM_DATABASE=Madison Pro [FirePro M5800] -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Madison Pro [FirePro M5800]) - - pci:v00001002d000068C1sv00001043sd00001BC2* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000104Dsd00009071* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000104Dsd00009077* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD00* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD12* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD1A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD30* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD31* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD50* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD52* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv00001179sd0000FD63* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv00001179sd0000FD65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv00001179sd0000FDD0* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FDD2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv0000144Dsd0000C07E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000144Dsd0000C085* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000014C0sd00000043* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000014C0sd0000004D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000017AAsd00003928* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000017AAsd00003951* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000017AAsd00003977* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C7* - ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] - - pci:v00001002d000068C7sv00001462sd00002241* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) - - pci:v00001002d000068C7sv00001462sd00002243* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) - - pci:v00001002d000068C7sv00001462sd00002244* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) - - pci:v00001002d000068C7sv00001462sd00002245* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550A -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) - - pci:v00001002d000068C7sv00001462sd00002246* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550A -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) - - pci:v00001002d000068C8* - ID_MODEL_FROM_DATABASE=Redwood XT GL [FirePro V4800] -@@ -7095,115 +7095,115 @@ pci:v00001002d000068D8* - ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] - - pci:v00001002d000068D8sv00001028sd000068E0* -- ID_MODEL_FROM_DATABASE=Radeon HD 5670 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) - - pci:v00001002d000068D8sv0000174Bsd00005690* -- ID_MODEL_FROM_DATABASE=Radeon HD 5690 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) - - pci:v00001002d000068D8sv0000174Bsd00005730* -- ID_MODEL_FROM_DATABASE=Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) - - pci:v00001002d000068D8sv0000174Bsd0000E151* -- ID_MODEL_FROM_DATABASE=Radeon HD 5670 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) - - pci:v00001002d000068D8sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) - - pci:v00001002d000068D8sv000017AFsd00003010* -- ID_MODEL_FROM_DATABASE=Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) - - pci:v00001002d000068D8sv000017AFsd00003011* -- ID_MODEL_FROM_DATABASE=Radeon HD 5690 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) - - pci:v00001002d000068D9* - ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] - - pci:v00001002d000068D9sv0000103Csd00006870* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv0000103Csd00006872* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001043sd000003CE* -- ID_MODEL_FROM_DATABASE=Radeon HD 5550 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) - - pci:v00001002d000068D9sv00001462sd00002151* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001462sd00002240* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6610 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) - - pci:v00001002d000068D9sv00001545sd00005550* -- ID_MODEL_FROM_DATABASE=Radeon HD 5550 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) - - pci:v00001002d000068D9sv00001545sd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 7570) - - pci:v00001002d000068D9sv00001642sd00003985* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001642sd00003996* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv0000174Bsd00006510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv0000174Bsd00006610* -- ID_MODEL_FROM_DATABASE=Radeon HD 6610 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) - - pci:v00001002d000068D9sv0000174Bsd0000E142* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv000017AFsd00003010* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5630) - - pci:v00001002d000068DA* - ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] - - pci:v00001002d000068DAsv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6390 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) - - pci:v00001002d000068DAsv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) - - pci:v00001002d000068DAsv00001545sd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 7570) - - pci:v00001002d000068DAsv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6390 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) - - pci:v00001002d000068DAsv0000174Bsd00005570* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5570) - - pci:v00001002d000068DAsv0000174Bsd00005630* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) - - pci:v00001002d000068DAsv0000174Bsd00006490* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) - - pci:v00001002d000068DAsv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) - - pci:v00001002d000068DAsv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6390 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) - - pci:v00001002d000068DAsv000017AFsd00003010* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) - - pci:v00001002d000068DE* - ID_MODEL_FROM_DATABASE=Redwood -@@ -7212,349 +7212,349 @@ pci:v00001002d000068E0* - ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] - - pci:v00001002d000068E0sv00001028sd00000404* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv00001028sd00000414* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv00001028sd00000434* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001433* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001434* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001469* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd0000146B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001486* -- ID_MODEL_FROM_DATABASE=TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450)) - - pci:v00001002d000068E0sv0000103Csd00001622* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001623* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd0000EEEE* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000104Dsd00009076* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv00001682sd0000304E* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E0sv00001682sd00006000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E0sv000017AAsd00009E52* -- ID_MODEL_FROM_DATABASE=FirePro M3800 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) - - pci:v00001002d000068E0sv000017AAsd00009E53* -- ID_MODEL_FROM_DATABASE=FirePro M3800 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) - - pci:v00001002d000068E1* - ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] - - pci:v00001002d000068E1sv00001043sd0000041F* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv00001043sd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) - - pci:v00001002d000068E1sv0000148Csd00003002* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6250] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6250]) - - pci:v00001002d000068E1sv0000148Csd00003003* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) - - pci:v00001002d000068E1sv0000148Csd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv0000148Csd00008350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350]) - - pci:v00001002d000068E1sv00001545sd00005450* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv00001682sd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv00001682sd00006000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv00001682sd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000174Bsd00005470* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5470] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5470]) - - pci:v00001002d000068E1sv0000174Bsd00006000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000174Bsd00006230* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) - - pci:v00001002d000068E1sv0000174Bsd00006350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) - - pci:v00001002d000068E1sv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv000017AFsd00003001* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) - - pci:v00001002d000068E1sv000017AFsd00003014* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) - - pci:v00001002d000068E1sv000017AFsd00003015* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv000017AFsd00008350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350 OEM] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350 OEM]) - - pci:v00001002d000068E4* - ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] - - pci:v00001002d000068E4sv00001019sd00002386* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) - - pci:v00001002d000068E4sv00001019sd00002387* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) - - pci:v00001002d000068E4sv00001019sd0000238D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd00000382* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd00000489* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd0000048A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd0000048B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd0000048C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004C1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004CA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004CC* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004CD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004D7* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001411* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001421* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001426* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001428* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000142A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000142B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000143A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000143C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001445* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001639* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001641* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001643* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00003578* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000357A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00003673* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00003675* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001043sd00001C92* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001043sd000084A1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001043sd000084AD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 7350]) - - pci:v00001002d000068E4sv00001558sd00004510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001558sd00005505* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000174Bsd00005450* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 5450]) - - pci:v00001002d000068E4sv000017AAsd000021DD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv000017AAsd000021E9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv000017AAsd00003971* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv000017AAsd00003972* -- ID_MODEL_FROM_DATABASE=Radeon HD 7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) - - pci:v00001002d000068E4sv000017AAsd0000397A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) - - pci:v00001002d000068E4sv000017AAsd0000397B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) - - pci:v00001002d000068E4sv000017AAsd0000397F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) - - pci:v00001002d000068E5* - ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] - - pci:v00001002d000068E5sv00001179sd0000FD3C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD50* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD52* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD63* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD73* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD75* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDD0* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDD2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDEA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDF8* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv0000148Csd00005450* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 5450]) - - pci:v00001002d000068E5sv0000148Csd00006350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 6350]) - - pci:v00001002d000068E5sv0000148Csd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) - - pci:v00001002d000068E5sv0000148Csd00008350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 8350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 8350]) - - pci:v00001002d000068E5sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) - - pci:v00001002d000068E8* - ID_MODEL_FROM_DATABASE=Cedar -@@ -7575,259 +7575,259 @@ pci:v00001002d000068F9* - ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] - - pci:v00001002d000068F9sv00001019sd00000001* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001019sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001019sd00000019* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001025sd00000518* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001025sd00000519* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (XPS 8300) - - pci:v00001002d000068F9sv00001028sd00002126* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000103Csd00002126* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000103Csd00002AAC* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000103Csd00002AAE* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000103Csd00003580* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001043sd00000386* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001043sd000003C2* -- ID_MODEL_FROM_DATABASE=EAH5450 SILENT/DI/512MD2 (LP) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (EAH5450 SILENT/DI/512MD2 (LP)) - - pci:v00001002d000068F9sv00001462sd00002130* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002131* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002133* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001462sd00002180* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002181* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002182* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001462sd00002183* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001462sd00002230* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002231* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002495* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 5530/6250 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530/6250) - - pci:v00001002d000068F9sv0000148Csd00003002* -- ID_MODEL_FROM_DATABASE=Radeon HD 6290 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) - - pci:v00001002d000068F9sv0000148Csd00003003* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv0000148Csd00003004* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000148Csd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv0000148Csd00008350* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) - - pci:v00001002d000068F9sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv00001642sd00003983* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001642sd00003984* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001642sd00003987* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001642sd00003997* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001642sd00003A05* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001642sd00003B31* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350A -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350A) - - pci:v00001002d000068F9sv00001682sd00003270* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv0000174Bsd00003987* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000174Bsd00005470* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv0000174Bsd00005490* -- ID_MODEL_FROM_DATABASE=Radeon HD 5490 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) - - pci:v00001002d000068F9sv0000174Bsd00005530* -- ID_MODEL_FROM_DATABASE=Radeon HD 5530 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) - - pci:v00001002d000068F9sv0000174Bsd00006230* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv0000174Bsd00006250* -- ID_MODEL_FROM_DATABASE=Radeon HD 6250 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) - - pci:v00001002d000068F9sv0000174Bsd00006290* -- ID_MODEL_FROM_DATABASE=Radeon HD 6290 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) - - pci:v00001002d000068F9sv0000174Bsd00006350* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv0000174Bsd00008350* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) - - pci:v00001002d000068F9sv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000174Bsd0000E145* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv00001787sd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 5530 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) - - pci:v00001002d000068F9sv00001787sd00003002* -- ID_MODEL_FROM_DATABASE=Radeon HD 5490 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) - - pci:v00001002d000068F9sv000017AAsd00003602* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AAsd00003603* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AAsd0000360F* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AAsd00003619* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6250 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) - - pci:v00001002d000068F9sv000017AFsd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv000017AFsd00003002* -- ID_MODEL_FROM_DATABASE=Radeon HD 6290 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) - - pci:v00001002d000068F9sv000017AFsd00003011* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv000017AFsd00003012* -- ID_MODEL_FROM_DATABASE=Radeon HD 5490 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) - - pci:v00001002d000068F9sv000017AFsd00003013* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv000017AFsd00003014* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068FA* - ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] - - pci:v00001002d000068FAsv00001019sd00000019* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000021* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000022* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000026* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000103Csd00002ADF* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350A -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) - - pci:v00001002d000068FAsv0000103Csd00002AE8* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350A -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) - - pci:v00001002d000068FAsv00001043sd00008350* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) - - pci:v00001002d000068FAsv00001462sd00002128* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002184* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002186* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002495* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd0000B490* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001642sd00003985* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd00008153* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E180* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv000017AFsd00003015* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE -@@ -7863,16 +7863,16 @@ pci:v00001002d00007109* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] - - pci:v00001002d00007109sv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-in-Wonder X1800XL -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (All-in-Wonder X1800XL) - - pci:v00001002d00007109sv00001002sd00000D02* -- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (Radeon X1800 CrossFire Edition) - - pci:v00001002d0000710A* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] - - pci:v00001002d0000710Asv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=Radeon X1800 GTO² -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] (Radeon X1800 GTO²) - - pci:v00001002d0000710B* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] -@@ -7887,10 +7887,10 @@ pci:v00001002d00007129* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) - - pci:v00001002d00007129sv00001002sd00000323* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X1800 XL (Secondary) -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (All-In-Wonder X1800 XL (Secondary)) - - pci:v00001002d00007129sv00001002sd00000D03* -- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (Radeon X1800 CrossFire Edition (Secondary)) - - pci:v00001002d00007140* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550/X1600 Series] -@@ -7899,10 +7899,10 @@ pci:v00001002d00007142* - ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] - - pci:v00001002d00007142sv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition -+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (All-in-Wonder 2006 PCI-E Edition) - - pci:v00001002d00007142sv00001043sd00000142* -- ID_MODEL_FROM_DATABASE=EAX1300PRO/TD/256M -+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (EAX1300PRO/TD/256M) - - pci:v00001002d00007143* - ID_MODEL_FROM_DATABASE=RV505 [Radeon X1300/X1550 Series] -@@ -7911,16 +7911,16 @@ pci:v00001002d00007145* - ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] - - pci:v00001002d00007145sv000017AAsd00002006* -- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 -+ ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] (Thinkpad T60 model 2007) - - pci:v00001002d00007146* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] - - pci:v00001002d00007146sv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (All-in-Wonder 2006 PCI-E Edition) - - pci:v00001002d00007146sv00001545sd00001996* -- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (Radeon X1300 512MB PCI-e) - - pci:v00001002d00007147* - ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 64-bit] -@@ -7944,7 +7944,7 @@ pci:v00001002d00007162* - ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) - - pci:v00001002d00007162sv00001002sd00000323* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) - - pci:v00001002d00007163* - ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 Series] (Secondary) -@@ -7953,10 +7953,10 @@ pci:v00001002d00007166* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) - - pci:v00001002d00007166sv00001002sd00000323* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) - - pci:v00001002d00007166sv00001545sd00001997* -- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e (Secondary) -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (Radeon X1300 512MB PCI-e (Secondary)) - - pci:v00001002d00007167* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1550 64-bit] (Secondary) -@@ -7983,7 +7983,7 @@ pci:v00001002d00007188* - ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] - - pci:v00001002d00007188sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=6910p -+ ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] (6910p) - - pci:v00001002d0000718A* - ID_MODEL_FROM_DATABASE=RV516/M64 [Mobility Radeon X2300] -@@ -8028,16 +8028,16 @@ pci:v00001002d000071C0* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] - - pci:v00001002d000071C0sv00001002sd0000E160* -- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO -+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) - - pci:v00001002d000071C0sv0000174Bsd0000E160* -- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO -+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) - - pci:v00001002d000071C1* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] - - pci:v00001002d000071C1sv0000174Bsd00000880* -- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Radeon X1700 FSC) - - pci:v00001002d000071C2* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 PRO] -@@ -8046,22 +8046,22 @@ pci:v00001002d000071C4* - ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] - - pci:v00001002d000071C4sv000017AAsd00002007* -- ID_MODEL_FROM_DATABASE=ThinkPad T60p -+ ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] (ThinkPad T60p) - - pci:v00001002d000071C5* - ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] - - pci:v00001002d000071C5sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq nx9420 Notebook) - - pci:v00001002d000071C5sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq NW8440 -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq NW8440) - - pci:v00001002d000071C5sv00001043sd000010B2* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (A6J-Q008) - - pci:v00001002d000071C5sv0000106Bsd00000080* -- ID_MODEL_FROM_DATABASE=MacBook Pro -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (MacBook Pro) - - pci:v00001002d000071C6* - ID_MODEL_FROM_DATABASE=RV530LE [Radeon X1600/X1650 PRO] -@@ -8070,7 +8070,7 @@ pci:v00001002d000071C7* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] - - pci:v00001002d000071C7sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=PowerColor X1650 PRO AGP -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (PowerColor X1650 PRO AGP) - - pci:v00001002d000071CE* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1300 XT/X1600 PRO] -@@ -8094,13 +8094,13 @@ pci:v00001002d000071E0* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) - - pci:v00001002d000071E0sv0000174Bsd0000E161* -- ID_MODEL_FROM_DATABASE=Radeon X1600 GTO (Secondary) -+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) (Radeon X1600 GTO (Secondary)) - - pci:v00001002d000071E1* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) - - pci:v00001002d000071E1sv0000174Bsd00000881* -- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC (Secondary) -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1700 FSC (Secondary)) - - pci:v00001002d000071E2* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) -@@ -8112,7 +8112,7 @@ pci:v00001002d000071E7* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) - - pci:v00001002d000071E7sv00001787sd00003001* -- ID_MODEL_FROM_DATABASE=Radeon X1650 PRO AGP -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1650 PRO AGP) - - pci:v00001002d000071F2* - ID_MODEL_FROM_DATABASE=RV530 GL [FireGL V3400] (Secondary) -@@ -8127,7 +8127,7 @@ pci:v00001002d00007240* - ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] - - pci:v00001002d00007240sv00001002sd00000D02* -- ID_MODEL_FROM_DATABASE=Radeon X1950 CrossFire Edition -+ ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] (Radeon X1950 CrossFire Edition) - - pci:v00001002d00007244* - ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XT] -@@ -8139,25 +8139,25 @@ pci:v00001002d00007249* - ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] - - pci:v00001002d00007249sv00001002sd00000412* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X1900 -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (All-In-Wonder X1900) - - pci:v00001002d00007249sv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=Radeon X1900 XT/XTX -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XT/XTX) - - pci:v00001002d00007249sv00001002sd00000D02* -- ID_MODEL_FROM_DATABASE=Radeon X1900 CrossFire Edition -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 CrossFire Edition) - - pci:v00001002d00007249sv00001043sd00000160* -- ID_MODEL_FROM_DATABASE=Radeon X1900 XTX 512 MB GDDR3 -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XTX 512 MB GDDR3) - - pci:v00001002d0000724B* - ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] - - pci:v00001002d0000724Bsv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=Radeon X1900 (Primary) -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Primary)) - - pci:v00001002d0000724Bsv00001002sd00000B13* -- ID_MODEL_FROM_DATABASE=Radeon X1900 (Secondary) -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Secondary)) - - pci:v00001002d0000724E* - ID_MODEL_FROM_DATABASE=R580 GL [FireGL V7350] -@@ -8181,7 +8181,7 @@ pci:v00001002d00007291* - ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] - - pci:v00001002d00007291sv00001462sd00000810* -- ID_MODEL_FROM_DATABASE=Radeon X1700 SE -+ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] (Radeon X1700 SE) - - pci:v00001002d00007293* - ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT] -@@ -8214,10 +8214,10 @@ pci:v00001002d00007910* - ID_MODEL_FROM_DATABASE=RS690 Host Bridge - - pci:v00001002d00007910sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (Satellite P305D-S8995E) - - pci:v00001002d00007910sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (KI690-AM2 Motherboard) - - pci:v00001002d00007911* - ID_MODEL_FROM_DATABASE=RS690 Host Bridge -@@ -8238,31 +8238,31 @@ pci:v00001002d00007917* - ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) - - pci:v00001002d00007917sv00001002sd00007910* -- ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge -+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) (RS690 PCI to PCI Bridge) - - pci:v00001002d00007919* - ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] - - pci:v00001002d00007919sv00001179sd00007919* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (Satellite P305D-S8995E) - - pci:v00001002d00007919sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (KI690-AM2 Motherboard) - - pci:v00001002d0000791E* - ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] - - pci:v00001002d0000791Esv00001462sd00007327* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (K9AG Neo2) - - pci:v00001002d0000791Esv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (KI690-AM2 Motherboard) - - pci:v00001002d0000791F* - ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] - - pci:v00001002d0000791Fsv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] (Satellite P305D-S8995E) - - pci:v00001002d00007930* - ID_MODEL_FROM_DATABASE=RS600 Host Bridge -@@ -8301,13 +8301,13 @@ pci:v00001002d00009400* - ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] - - pci:v00001002d00009400sv00001002sd00002552* -- ID_MODEL_FROM_DATABASE=Radeon HD 2900 XT -+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 XT) - - pci:v00001002d00009400sv00001002sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 2900 PRO -+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 PRO) - - pci:v00001002d00009400sv00001002sd00003142* -- ID_MODEL_FROM_DATABASE=HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe -+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe) - - pci:v00001002d00009401* - ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 XT] -@@ -8337,10 +8337,10 @@ pci:v00001002d00009442* - ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] - - pci:v00001002d00009442sv00001002sd00000502* -- ID_MODEL_FROM_DATABASE=MSI Radeon HD 4850 512MB GDDR3 -+ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (MSI Radeon HD 4850 512MB GDDR3) - - pci:v00001002d00009442sv0000174Bsd0000E810* -- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 -+ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (Radeon HD 4850 512MB GDDR3) - - pci:v00001002d00009443* - ID_MODEL_FROM_DATABASE=R700 [Radeon HD 4850 X2] -@@ -8364,7 +8364,7 @@ pci:v00001002d0000944E* - ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] - - pci:v00001002d0000944Esv0000174Bsd00003261* -- ID_MODEL_FROM_DATABASE=Radeon HD 4810 -+ ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] (Radeon HD 4810) - - pci:v00001002d00009450* - ID_MODEL_FROM_DATABASE=RV770 GL [FireStream 9270] -@@ -8391,7 +8391,7 @@ pci:v00001002d00009480* - ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] - - pci:v00001002d00009480sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4650 [dv6-1190en] -+ ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] (Mobility Radeon HD 4650 [dv6-1190en]) - - pci:v00001002d00009488* - ID_MODEL_FROM_DATABASE=RV730/M96-XT [Mobility Radeon HD 4670] -@@ -8403,7 +8403,7 @@ pci:v00001002d00009490* - ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] - - pci:v00001002d00009490sv0000174Bsd0000E880* -- ID_MODEL_FROM_DATABASE=Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO -+ ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] (Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO) - - pci:v00001002d00009491* - ID_MODEL_FROM_DATABASE=RV730/M96-CSP [Radeon E4690] -@@ -8412,19 +8412,19 @@ pci:v00001002d00009495* - ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] - - pci:v00001002d00009495sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650/4670 AGP -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650/4670 AGP) - - pci:v00001002d00009495sv00001092sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4670 AGP 512MB DDR2 -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4670 AGP 512MB DDR2) - - pci:v00001002d00009495sv00001458sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) - - pci:v00001002d00009495sv00001682sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) - - pci:v00001002d00009495sv0000174Bsd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP DDR2 -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP DDR2) - - pci:v00001002d00009498* - ID_MODEL_FROM_DATABASE=RV730 PRO [Radeon HD 4650] -@@ -8457,22 +8457,22 @@ pci:v00001002d000094C1* - ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] - - pci:v00001002d000094C1sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) - - pci:v00001002d000094C1sv00001028sd00000D02* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) - - pci:v00001002d000094C3* - ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] - - pci:v00001002d000094C3sv00001028sd00000302* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 Pro -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 Pro) - - pci:v00001002d000094C3sv0000174Bsd0000E400* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) - - pci:v00001002d000094C3sv000018BCsd00003550* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) - - pci:v00001002d000094C4* - ID_MODEL_FROM_DATABASE=RV610 LE [Radeon HD 2400 PRO AGP] -@@ -8490,7 +8490,7 @@ pci:v00001002d000094C9* - ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] - - pci:v00001002d000094C9sv00001002sd000094C9* -- ID_MODEL_FROM_DATABASE=Radeon HD2400 -+ ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] (Radeon HD2400) - - pci:v00001002d000094CB* - ID_MODEL_FROM_DATABASE=RV610 [Radeon E2400] -@@ -8505,7 +8505,7 @@ pci:v00001002d00009501* - ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] - - pci:v00001002d00009501sv0000174Bsd0000E620* -- ID_MODEL_FROM_DATABASE=Radeon HD 3870 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] (Radeon HD 3870) - - pci:v00001002d00009504* - ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850] -@@ -8514,13 +8514,13 @@ pci:v00001002d00009505* - ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] - - pci:v00001002d00009505sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3850 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3850) - - pci:v00001002d00009505sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3690/3850 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690/3850) - - pci:v00001002d00009505sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3690 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690) - - pci:v00001002d00009506* - ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850 X2] -@@ -8556,76 +8556,76 @@ pci:v00001002d0000954F* - ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] - - pci:v00001002d0000954Fsv00001462sd00001618* -- ID_MODEL_FROM_DATABASE=R4350 MD512H (MS-V161) -+ ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] (R4350 MD512H (MS-V161)) - - pci:v00001002d00009552* - ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] - - pci:v00001002d00009552sv00001028sd00001103* -- ID_MODEL_FROM_DATABASE=M92 [Mobility Radeon HD 4330] -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (M92 [Mobility Radeon HD 4330]) - - pci:v00001002d00009552sv00001458sd000021AC* -- ID_MODEL_FROM_DATABASE=Radeon HD 4350 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350) - - pci:v00001002d00009552sv00001458sd000021ED* -- ID_MODEL_FROM_DATABASE=Radeon HD 4550 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4550) - - pci:v00001002d00009552sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 4350 Go! Green 512MB GDDR3 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350 Go! Green 512MB GDDR3) - - pci:v00001002d00009552sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 4350/4550 HyperMemory DDR2 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350/4550 HyperMemory DDR2) - - pci:v00001002d00009553* - ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] - - pci:v00001002d00009553sv00001025sd0000015E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd0000017D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd00000205* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd00000206* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd00000237* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001028sd000002BE* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001028sd000002E8* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv0000103Csd00003624* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv0000103Csd00003636* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv00001043sd00001B32* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001043sd00001B42* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv0000104Dsd00009056* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001179sd0000FF82* -- ID_MODEL_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145) -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Satellite L505-13T GPU (Mobility Radeon HD 5145)) - - pci:v00001002d00009555* - ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] - - pci:v00001002d00009555sv0000103Csd00001411* -- ID_MODEL_FROM_DATABASE=ProBook 4720s GPU (Mobility Radeon HD 4350) -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] (ProBook 4720s GPU (Mobility Radeon HD 4350)) - - pci:v00001002d00009557* - ID_MODEL_FROM_DATABASE=RV711 GL [FirePro RG220] -@@ -8643,10 +8643,10 @@ pci:v00001002d00009583* - ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] - - pci:v00001002d00009583sv0000106Bsd00000083* -- ID_MODEL_FROM_DATABASE=iMac 7,1 -+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (iMac 7,1) - - pci:v00001002d00009583sv00001734sd00001107* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 2700 -+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (Mobility Radeon HD 2700) - - pci:v00001002d00009586* - ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT AGP] -@@ -8658,13 +8658,13 @@ pci:v00001002d00009588* - ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] - - pci:v00001002d00009588sv00001458sd0000216C* -- ID_MODEL_FROM_DATABASE=Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) -+ ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] (Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H)) - - pci:v00001002d00009589* - ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] - - pci:v00001002d00009589sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3610 -+ ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] (Radeon HD 3610) - - pci:v00001002d0000958A* - ID_MODEL_FROM_DATABASE=RV630 [Radeon HD 2600 X2] -@@ -8682,7 +8682,7 @@ pci:v00001002d00009591* - ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] - - pci:v00001002d00009591sv00001002sd00009591* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3650 -+ ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] (Mobility Radeon HD 3650) - - pci:v00001002d00009593* - ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3670] -@@ -8694,7 +8694,7 @@ pci:v00001002d00009596* - ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] - - pci:v00001002d00009596sv00001043sd00000028* -- ID_MODEL_FROM_DATABASE=EAH3650 SILENT/HTDI/512M/A -+ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] (EAH3650 SILENT/HTDI/512M/A) - - pci:v00001002d00009597* - ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] -@@ -8703,19 +8703,19 @@ pci:v00001002d00009598* - ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] - - pci:v00001002d00009598sv00001002sd00009598* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3600 -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Mobility Radeon HD 3600) - - pci:v00001002d00009598sv00001043sd000001D6* -- ID_MODEL_FROM_DATABASE=EAH3650 Silent -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (EAH3650 Silent) - - pci:v00001002d00009598sv00001043sd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 4570) - - pci:v00001002d00009598sv0000174Bsd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 3750 -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 3750) - - pci:v00001002d00009598sv0000174Bsd00004580* -- ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 4580] -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (RV635 PRO [Radeon HD 4580]) - - pci:v00001002d00009599* - ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] -@@ -8724,7 +8724,7 @@ pci:v00001002d000095C0* - ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] - - pci:v00001002d000095C0sv00001002sd000095C0* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3470 -+ ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] (Mobility Radeon HD 3470) - - pci:v00001002d000095C2* - ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3410/3430] -@@ -8733,13 +8733,13 @@ pci:v00001002d000095C4* - ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] - - pci:v00001002d000095C4sv00001002sd000095C4* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3400 -+ ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] (Mobility Radeon HD 3400) - - pci:v00001002d000095C5* - ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] - - pci:v00001002d000095C5sv00001028sd00000342* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] (OptiPlex 980) - - pci:v00001002d000095C6* - ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450 AGP] -@@ -8760,7 +8760,7 @@ pci:v00001002d00009610* - ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] - - pci:v00001002d00009610sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-MA78GM-S2H Motherboard -+ ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] (GA-MA78GM-S2H Motherboard) - - pci:v00001002d00009611* - ID_MODEL_FROM_DATABASE=RS780C [Radeon 3100] -@@ -8823,22 +8823,22 @@ pci:v00001002d0000970F* - ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] - - pci:v00001002d0000970Fsv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (A785GM-M) - - pci:v00001002d0000970Fsv00001043sd000083A2* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M4A785TD Motherboard) - - pci:v00001002d0000970Fsv00001043sd0000843E* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M5A88-V EVO) - - pci:v00001002d00009710* - ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] - - pci:v00001002d00009710sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (A785GM-M) - - pci:v00001002d00009710sv00001043sd000083A2* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (M4A785TD Motherboard) - - pci:v00001002d00009712* - ID_MODEL_FROM_DATABASE=RS880M [Mobility Radeon HD 4225/4250] -@@ -8853,13 +8853,13 @@ pci:v00001002d00009715* - ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] - - pci:v00001002d00009715sv00001043sd0000843E* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] (M5A88-V EVO) - - pci:v00001002d00009802* - ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] - - pci:v00001002d00009802sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] (PURE Fusion Mini) - - pci:v00001002d00009803* - ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] -@@ -8991,16 +8991,16 @@ pci:v00001002d00009902* - ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller - - pci:v00001002d00009902sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller (ProBook 455 G1 Notebook) - - pci:v00001002d00009903* - ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] - - pci:v00001002d00009903sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) - - pci:v00001002d00009903sv0000103Csd00001952* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) - - pci:v00001002d00009904* - ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7560D] -@@ -9114,10 +9114,10 @@ pci:v00001002d0000AA10* - ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] - - pci:v00001002d0000AA10sv0000174Bsd0000AA10* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) - - pci:v00001002d0000AA10sv000018BCsd0000AA10* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) - - pci:v00001002d0000AA18* - ID_MODEL_FROM_DATABASE=RV670/680 HDMI Audio [Radeon HD 3690/3800 Series] -@@ -9132,13 +9132,13 @@ pci:v00001002d0000AA30* - ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] - - pci:v00001002d0000AA30sv0000174Bsd0000AA30* -- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink -+ ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] (Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink) - - pci:v00001002d0000AA38* - ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] - - pci:v00001002d0000AA38sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] (dv6-1190en) - - pci:v00001002d0000AA50* - ID_MODEL_FROM_DATABASE=Cypress HDMI Audio [Radeon HD 5800 Series] -@@ -9150,16 +9150,16 @@ pci:v00001002d0000AA60* - ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] - - pci:v00001002d0000AA60sv00001025sd0000033D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Mobility Radeon HD 5650) - - pci:v00001002d0000AA60sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Aspire 7740G) - - pci:v00001002d0000AA68* - ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] - - pci:v00001002d0000AA68sv00001028sd0000AA68* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] (XPS 8300) - - pci:v00001002d0000AA80* - ID_MODEL_FROM_DATABASE=Cayman/Antilles HDMI Audio [Radeon HD 6900 Series] -@@ -9171,13 +9171,13 @@ pci:v00001002d0000AA90* - ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] - - pci:v00001002d0000AA90sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] (Precision M4600) - - pci:v00001002d0000AA98* - ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] - - pci:v00001002d0000AA98sv0000174Bsd0000AA98* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1GB DDR3 -+ ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] (Radeon HD 6450 1GB DDR3) - - pci:v00001002d0000AAA0* - ID_MODEL_FROM_DATABASE=Tahiti XT HDMI Audio [Radeon HD 7970 Series] -@@ -9264,10 +9264,10 @@ pci:v00001004d00000304sv00001004sd00000304* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio - - pci:v00001004d00000304sv0000122Dsd00001206* -- ID_MODEL_FROM_DATABASE=DSP368 Audio -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (DSP368 Audio) - - pci:v00001004d00000304sv00001483sd00005020* -- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (XWave Thunder 3D Audio) - - pci:v00001004d00000305* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport -@@ -9276,10 +9276,10 @@ pci:v00001004d00000305sv00001004sd00000305* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport - - pci:v00001004d00000305sv0000122Dsd00001207* -- ID_MODEL_FROM_DATABASE=DSP368 Audio Gameport -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (DSP368 Audio Gameport) - - pci:v00001004d00000305sv00001483sd00005021* -- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Gameport -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (XWave Thunder 3D Audio Gameport) - - pci:v00001004d00000306* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers -@@ -9288,22 +9288,22 @@ pci:v00001004d00000306sv00001004sd00000306* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers - - pci:v00001004d00000306sv0000122Dsd00001208* -- ID_MODEL_FROM_DATABASE=DSP368 Audio Support Registers -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (DSP368 Audio Support Registers) - - pci:v00001004d00000306sv00001483sd00005022* -- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Support Registers -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (XWave Thunder 3D Audio Support Registers) - - pci:v00001004d00000307* - ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio - - pci:v00001004d00000307sv00001004sd00000703* -- ID_MODEL_FROM_DATABASE=Philips Rhythmic Edge PSC703 -+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Rhythmic Edge PSC703) - - pci:v00001004d00000307sv00001004sd00000705* -- ID_MODEL_FROM_DATABASE=Philips Seismic Edge PSC705 -+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Seismic Edge PSC705) - - pci:v00001004d00000307sv00001004sd00000706* -- ID_MODEL_FROM_DATABASE=Philips Acoustic Edge PSC706 -+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Acoustic Edge PSC706) - - pci:v00001004d00000308* - ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio Gameport -@@ -9375,16 +9375,16 @@ pci:v0000100Bd00000020* - ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller - - pci:v0000100Bd00000020sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Network -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Pavilion ze4400 builtin Network) - - pci:v0000100Bd00000020sv000012D9sd0000000C* -- ID_MODEL_FROM_DATABASE=Aculab E1/T1 PMXc cPCI carrier card -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Aculab E1/T1 PMXc cPCI carrier card) - - pci:v0000100Bd00000020sv00001385sd0000F311* -- ID_MODEL_FROM_DATABASE=FA311 / FA312 (FA311 with WoL HW) -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA311 / FA312 (FA311 with WoL HW)) - - pci:v0000100Bd00000020sv00001385sd0000F312* -- ID_MODEL_FROM_DATABASE=FA312 (rev. A1) Fast Ethernet PCI Adapter -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA312 (rev. A1) Fast Ethernet PCI Adapter) - - pci:v0000100Bd00000021* - ID_MODEL_FROM_DATABASE=PC87200 PCI to ISA Bridge -@@ -9393,13 +9393,13 @@ pci:v0000100Bd00000022* - ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller - - pci:v0000100Bd00000022sv00001186sd00004900* -- ID_MODEL_FROM_DATABASE=DGE-500T -+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (DGE-500T) - - pci:v0000100Bd00000022sv00001385sd0000621A* -- ID_MODEL_FROM_DATABASE=GA621 -+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA621) - - pci:v0000100Bd00000022sv00001385sd0000622A* -- ID_MODEL_FROM_DATABASE=GA622T -+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA622T) - - pci:v0000100Bd00000028* - ID_MODEL_FROM_DATABASE=Geode GX2 Host Bridge -@@ -9435,13 +9435,13 @@ pci:v0000100Bd00000502* - ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller - - pci:v0000100Bd00000502sv0000100Bsd00000502* -- ID_MODEL_FROM_DATABASE=IDE Controller -+ ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller (IDE Controller) - - pci:v0000100Bd00000503* - ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller - - pci:v0000100Bd00000503sv0000100Bsd00000503* -- ID_MODEL_FROM_DATABASE=XpressAudio controller -+ ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller (XpressAudio controller) - - pci:v0000100Bd00000504* - ID_MODEL_FROM_DATABASE=SCx200 Video -@@ -9453,19 +9453,19 @@ pci:v0000100Bd00000510* - ID_MODEL_FROM_DATABASE=SC1100 Bridge - - pci:v0000100Bd00000510sv0000100Bsd00000500* -- ID_MODEL_FROM_DATABASE=GPIO and LPC support bridge -+ ID_MODEL_FROM_DATABASE=SC1100 Bridge (GPIO and LPC support bridge) - - pci:v0000100Bd00000511* - ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI - - pci:v0000100Bd00000511sv0000100Bsd00000501* -- ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI bridge -+ ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI (bridge) - - pci:v0000100Bd00000515* - ID_MODEL_FROM_DATABASE=SC1100 XBus - - pci:v0000100Bd00000515sv0000100Bsd00000505* -- ID_MODEL_FROM_DATABASE=SC1100 PCI to XBus bridge -+ ID_MODEL_FROM_DATABASE=SC1100 XBus (SC1100 PCI to XBus bridge) - - pci:v0000100Bd0000D001* - ID_MODEL_FROM_DATABASE=87410 IDE -@@ -9534,55 +9534,55 @@ pci:v00001011d00000009* - ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] - - pci:v00001011d00000009sv00001025sd00000310* -- ID_MODEL_FROM_DATABASE=21140 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (21140 Fast Ethernet) - - pci:v00001011d00000009sv000010B8sd00002001* -- ID_MODEL_FROM_DATABASE=SMC9332BDT EtherPower 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BDT EtherPower 10/100) - - pci:v00001011d00000009sv000010B8sd00002002* -- ID_MODEL_FROM_DATABASE=SMC9332BVT EtherPower T4 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BVT EtherPower T4 10/100) - - pci:v00001011d00000009sv000010B8sd00002003* -- ID_MODEL_FROM_DATABASE=SMC9334BDT EtherPower 10/100 (1-port) -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9334BDT EtherPower 10/100 (1-port)) - - pci:v00001011d00000009sv00001109sd00002400* -- ID_MODEL_FROM_DATABASE=ANA-6944A/TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (ANA-6944A/TX Fast Ethernet) - - pci:v00001011d00000009sv00001112sd00002300* -- ID_MODEL_FROM_DATABASE=RNS2300 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2300 Fast Ethernet) - - pci:v00001011d00000009sv00001112sd00002320* -- ID_MODEL_FROM_DATABASE=RNS2320 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2320 Fast Ethernet) - - pci:v00001011d00000009sv00001112sd00002340* -- ID_MODEL_FROM_DATABASE=RNS2340 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2340 Fast Ethernet) - - pci:v00001011d00000009sv00001113sd00001207* -- ID_MODEL_FROM_DATABASE=EN-1207-TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (EN-1207-TX Fast Ethernet) - - pci:v00001011d00000009sv00001186sd00001100* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-500TX Fast Ethernet) - - pci:v00001011d00000009sv00001186sd00001112* -- ID_MODEL_FROM_DATABASE=DFE-570TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-570TX Fast Ethernet) - - pci:v00001011d00000009sv00001186sd00001140* -- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) - - pci:v00001011d00000009sv00001186sd00001142* -- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) - - pci:v00001011d00000009sv000011F6sd00000503* -- ID_MODEL_FROM_DATABASE=Freedomline Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (Freedomline Fast Ethernet) - - pci:v00001011d00000009sv00001282sd00009100* -- ID_MODEL_FROM_DATABASE=AEF-380TXD Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (AEF-380TXD Fast Ethernet) - - pci:v00001011d00000009sv00001385sd00001100* -- ID_MODEL_FROM_DATABASE=FA310TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (FA310TX Fast Ethernet) - - pci:v00001011d00000009sv00002646sd00000001* -- ID_MODEL_FROM_DATABASE=KNE100TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (KNE100TX Fast Ethernet) - - pci:v00001011d0000000A* - ID_MODEL_FROM_DATABASE=21230 Video Codec -@@ -9594,16 +9594,16 @@ pci:v00001011d0000000F* - ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] - - pci:v00001011d0000000Fsv00001011sd0000DEF1* -- ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) -+ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (DEFPA)) - - pci:v00001011d0000000Fsv0000103Csd0000DEF1* -- ID_MODEL_FROM_DATABASE=FDDI controller (3X-DEFPA) -+ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (3X-DEFPA)) - - pci:v00001011d00000014* - ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] - - pci:v00001011d00000014sv00001186sd00000100* -- ID_MODEL_FROM_DATABASE=DE-530+ -+ ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] (DE-530+) - - pci:v00001011d00000016* - ID_MODEL_FROM_DATABASE=DGLPB [OPPO] -@@ -9618,133 +9618,133 @@ pci:v00001011d00000019* - ID_MODEL_FROM_DATABASE=DECchip 21142/43 - - pci:v00001011d00000019sv00001011sd0000500A* -- ID_MODEL_FROM_DATABASE=DE500A Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500A Fast Ethernet) - - pci:v00001011d00000019sv00001011sd0000500B* -- ID_MODEL_FROM_DATABASE=DE500B Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500B Fast Ethernet) - - pci:v00001011d00000019sv00001014sd00000001* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 EtherJet Cardbus) - - pci:v00001011d00000019sv00001025sd00000315* -- ID_MODEL_FROM_DATABASE=ALN315 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ALN315 Fast Ethernet) - - pci:v00001011d00000019sv00001033sd0000800C* -- ID_MODEL_FROM_DATABASE=PC-9821-CS01 100BASE-TX Interface Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821-CS01 100BASE-TX Interface Card) - - pci:v00001011d00000019sv00001033sd0000800D* -- ID_MODEL_FROM_DATABASE=PC-9821NR-B06 100BASE-TX Interface Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821NR-B06 100BASE-TX Interface Card) - - pci:v00001011d00000019sv0000103Csd0000125A* -- ID_MODEL_FROM_DATABASE=10/100Base-TX (PCI) [A5506B] -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100Base-TX (PCI) [A5506B]) - - pci:v00001011d00000019sv0000108Dsd00000016* -- ID_MODEL_FROM_DATABASE=Rapidfire 2327 10/100 Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Rapidfire 2327 10/100 Ethernet) - - pci:v00001011d00000019sv0000108Dsd00000017* -- ID_MODEL_FROM_DATABASE=GoCard 2250 Ethernet 10/100 Cardbus -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (GoCard 2250 Ethernet 10/100 Cardbus) - - pci:v00001011d00000019sv000010B8sd00002005* -- ID_MODEL_FROM_DATABASE=SMC8032DT Extreme Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8032DT Extreme Ethernet 10/100) - - pci:v00001011d00000019sv000010B8sd00008034* -- ID_MODEL_FROM_DATABASE=SMC8034 Extreme Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8034 Extreme Ethernet 10/100) - - pci:v00001011d00000019sv000010EFsd00008169* -- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) - - pci:v00001011d00000019sv00001109sd00002A00* -- ID_MODEL_FROM_DATABASE=ANA-6911A/TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TX Fast Ethernet) - - pci:v00001011d00000019sv00001109sd00002B00* -- ID_MODEL_FROM_DATABASE=ANA-6911A/TXC Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TXC Fast Ethernet) - - pci:v00001011d00000019sv00001109sd00003000* -- ID_MODEL_FROM_DATABASE=ANA-6922/TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6922/TX Fast Ethernet) - - pci:v00001011d00000019sv00001113sd00001207* -- ID_MODEL_FROM_DATABASE=Cheetah Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cheetah Fast Ethernet) - - pci:v00001011d00000019sv00001113sd00002220* -- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) - - pci:v00001011d00000019sv0000115Dsd00000002* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet 10/100) - - pci:v00001011d00000019sv00001179sd00000203* -- ID_MODEL_FROM_DATABASE=Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Fast Ethernet) - - pci:v00001011d00000019sv00001179sd00000204* -- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001100* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001101* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001102* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001112* -- ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-570TX Quad Fast Ethernet) - - pci:v00001011d00000019sv000011F0sd00004235* -- ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (21143 [FASTLine-II UTP 10/100]) - - pci:v00001011d00000019sv00001259sd00002800* -- ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (AT-2800Tx Fast Ethernet) - - pci:v00001011d00000019sv00001266sd00000004* -- ID_MODEL_FROM_DATABASE=Eagle Fast EtherMAX -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Eagle Fast EtherMAX) - - pci:v00001011d00000019sv000012AFsd00000019* -- ID_MODEL_FROM_DATABASE=NetFlyer Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (NetFlyer Cardbus Fast Ethernet) - - pci:v00001011d00000019sv00001374sd00000001* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001374sd00000002* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001374sd00000007* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001374sd00000008* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001385sd00002100* -- ID_MODEL_FROM_DATABASE=FA510 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FA510) - - pci:v00001011d00000019sv00001395sd00000001* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet CardBus PC Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 Ethernet CardBus PC Card) - - pci:v00001011d00000019sv000013D1sd0000AB01* -- ID_MODEL_FROM_DATABASE=EtherFast 10/100 Cardbus (PCMPC200) -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherFast 10/100 Cardbus (PCMPC200)) - - pci:v00001011d00000019sv00001498sd0000000A* -- ID_MODEL_FROM_DATABASE=TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter) - - pci:v00001011d00000019sv00001498sd0000000B* -- ID_MODEL_FROM_DATABASE=TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter) - - pci:v00001011d00000019sv00001498sd0000000C* -- ID_MODEL_FROM_DATABASE=TPMC880-12 Single 10Base2 PMC Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-12 Single 10Base2 PMC Ethernet Adapter) - - pci:v00001011d00000019sv000014CBsd00000100* -- ID_MODEL_FROM_DATABASE=LNDL-100N 100Base-TX Ethernet PC Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (LNDL-100N 100Base-TX Ethernet PC Card) - - pci:v00001011d00000019sv00001668sd00002000* -- ID_MODEL_FROM_DATABASE=FastNet Pro (PE2000) -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FastNet Pro (PE2000)) - - pci:v00001011d00000019sv00002646sd00000001* -- ID_MODEL_FROM_DATABASE=KNE100TX -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE100TX) - - pci:v00001011d00000019sv00002646sd00000002* -- ID_MODEL_FROM_DATABASE=KNE-CB4TX -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE-CB4TX) - - pci:v00001011d00000019sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherExpress PRO/100 Mobile CardBus 32) - - pci:v00001011d0000001A* - ID_MODEL_FROM_DATABASE=Farallon PN9000SX Gigabit Ethernet -@@ -9780,46 +9780,46 @@ pci:v00001011d00000046* - ID_MODEL_FROM_DATABASE=DECchip 21554 - - pci:v00001011d00000046sv00000E11sd00004050* -- ID_MODEL_FROM_DATABASE=Smart Array 4200 Controller -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4200 Controller) - - pci:v00001011d00000046sv00000E11sd00004051* -- ID_MODEL_FROM_DATABASE=Smart Array 4250ES Controller -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4250ES Controller) - - pci:v00001011d00000046sv00000E11sd00004058* -- ID_MODEL_FROM_DATABASE=Smart Array 431 Controller -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 431 Controller) - - pci:v00001011d00000046sv0000103Csd000010C2* -- ID_MODEL_FROM_DATABASE=NetRAID-4M -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (NetRAID-4M) - - pci:v00001011d00000046sv000012D9sd0000000A* -- ID_MODEL_FROM_DATABASE=IP Telephony card -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (IP Telephony card) - - pci:v00001011d00000046sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (CT7 mainboard) - - pci:v00001011d00000046sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (CE7 mainboard) - - pci:v00001011d00000046sv00009005sd00000364* -- ID_MODEL_FROM_DATABASE=5400S (Mustang) -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) - - pci:v00001011d00000046sv00009005sd00000365* -- ID_MODEL_FROM_DATABASE=5400S (Mustang) -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) - - pci:v00001011d00000046sv00009005sd00001364* -- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) - - pci:v00001011d00000046sv00009005sd00001365* -- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) - - pci:v00001011d00000046sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CC8-1-BLUES -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (CC8-1-BLUES) - - pci:v00001011d00001065* - ID_MODEL_FROM_DATABASE=StrongARM DC21285 - - pci:v00001011d00001065sv00001069sd00000020* -- ID_MODEL_FROM_DATABASE=DAC960P / DAC1164P -+ ID_MODEL_FROM_DATABASE=StrongARM DC21285 (DAC960P / DAC1164P) - - pci:v00001012* - ID_VENDOR_FROM_DATABASE=Micronics Computers Inc -@@ -9858,13 +9858,13 @@ pci:v00001013d000000B8* - ID_MODEL_FROM_DATABASE=GD 5446 - - pci:v00001013d000000B8sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=GD 5446 (QEMU Virtual Machine) - - pci:v00001013d000000BC* - ID_MODEL_FROM_DATABASE=GD 5480 - - pci:v00001013d000000BCsv00001013sd000000BC* -- ID_MODEL_FROM_DATABASE=CL-GD5480 -+ ID_MODEL_FROM_DATABASE=GD 5480 (CL-GD5480) - - pci:v00001013d000000D0* - ID_MODEL_FROM_DATABASE=GD 5462 -@@ -9882,10 +9882,10 @@ pci:v00001013d000000D6* - ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] - - pci:v00001013d000000D6sv000013CEsd00008031* -- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) - - pci:v00001013d000000D6sv000013CFsd00008031* -- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) - - pci:v00001013d000000E8* - ID_MODEL_FROM_DATABASE=GD 5436U -@@ -9921,34 +9921,34 @@ pci:v00001013d00006001* - ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] - - pci:v00001013d00006001sv00001014sd00001010* -- ID_MODEL_FROM_DATABASE=CS4610 SoundFusion Audio Accelerator -+ ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] (CS4610 SoundFusion Audio Accelerator) - - pci:v00001013d00006003* - ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] - - pci:v00001013d00006003sv00001013sd00004280* -- ID_MODEL_FROM_DATABASE=Crystal SoundFusion PCI Audio Accelerator -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Crystal SoundFusion PCI Audio Accelerator) - - pci:v00001013d00006003sv00001014sd00000153* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A20m -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (ThinkPad 600X/A20m) - - pci:v00001013d00006003sv0000153Bsd0000112E* -- ID_MODEL_FROM_DATABASE=DMX XFire 1024 -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (DMX XFire 1024) - - pci:v00001013d00006003sv0000153Bsd00001136* -- ID_MODEL_FROM_DATABASE=SiXPack 5.1+ -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (SiXPack 5.1+) - - pci:v00001013d00006003sv00001681sd00000050* -- ID_MODEL_FROM_DATABASE=Game Theater XP -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Game Theater XP) - - pci:v00001013d00006003sv00001681sd0000A010* -- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo II -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo II) - - pci:v00001013d00006003sv00001681sd0000A011* -- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo III 7.1 -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo III 7.1) - - pci:v00001013d00006003sv00005053sd00003357* -- ID_MODEL_FROM_DATABASE=Santa Cruz -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Santa Cruz) - - pci:v00001013d00006004* - ID_MODEL_FROM_DATABASE=CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] -@@ -10029,16 +10029,16 @@ pci:v00001014d0000002E* - ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] - - pci:v00001014d0000002Esv00001014sd0000002E* -- ID_MODEL_FROM_DATABASE=ServeRAID-3x -+ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-3x) - - pci:v00001014d0000002Esv00001014sd0000022E* -- ID_MODEL_FROM_DATABASE=ServeRAID-4H -+ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-4H) - - pci:v00001014d00000031* - ID_MODEL_FROM_DATABASE=2 Port Serial Adapter - - pci:v00001014d00000031sv00001014sd00000031* -- ID_MODEL_FROM_DATABASE=2721 WAN IOA - 2 Port Sync Serial Adapter -+ ID_MODEL_FROM_DATABASE=2 Port Serial Adapter (2721 WAN IOA - 2 Port Sync Serial Adapter) - - pci:v00001014d00000036* - ID_MODEL_FROM_DATABASE=PCI to 32-bit LocalBus Bridge [Miami] -@@ -10056,25 +10056,25 @@ pci:v00001014d0000003E* - ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller - - pci:v00001014d0000003Esv00001014sd0000003E* -- ID_MODEL_FROM_DATABASE=Token-Ring Adapter -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter) - - pci:v00001014d0000003Esv00001014sd000000CD* -- ID_MODEL_FROM_DATABASE=Token-Ring Adapter + Wake-On-LAN -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter + Wake-On-LAN) - - pci:v00001014d0000003Esv00001014sd000000CE* -- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2) - - pci:v00001014d0000003Esv00001014sd000000CF* -- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter Special -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter Special) - - pci:v00001014d0000003Esv00001014sd000000E4* -- ID_MODEL_FROM_DATABASE=High-Speed 100/16/4 Token-Ring Adapter -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (High-Speed 100/16/4 Token-Ring Adapter) - - pci:v00001014d0000003Esv00001014sd000000E5* -- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 + Wake-On-LAN -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2 + Wake-On-LAN) - - pci:v00001014d0000003Esv00001014sd0000016D* -- ID_MODEL_FROM_DATABASE=iSeries 2744 Card -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (iSeries 2744 Card) - - pci:v00001014d00000045* - ID_MODEL_FROM_DATABASE=SSA Adapter -@@ -10131,7 +10131,7 @@ pci:v00001014d00000090* - ID_MODEL_FROM_DATABASE=GXT 3000P - - pci:v00001014d00000090sv00001014sd0000008E* -- ID_MODEL_FROM_DATABASE=GXT-3000P -+ ID_MODEL_FROM_DATABASE=GXT 3000P (GXT-3000P) - - pci:v00001014d00000091* - ID_MODEL_FROM_DATABASE=SSA Adapter -@@ -10143,13 +10143,13 @@ pci:v00001014d00000096* - ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller - - pci:v00001014d00000096sv00001014sd00000097* -- ID_MODEL_FROM_DATABASE=iSeries 2778 DASD IOA -+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2778 DASD IOA) - - pci:v00001014d00000096sv00001014sd00000098* -- ID_MODEL_FROM_DATABASE=iSeries 2763 DASD IOA -+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2763 DASD IOA) - - pci:v00001014d00000096sv00001014sd00000099* -- ID_MODEL_FROM_DATABASE=iSeries 2748 DASD IOA -+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2748 DASD IOA) - - pci:v00001014d0000009F* - ID_MODEL_FROM_DATABASE=PCI 4758 Cryptographic Accelerator -@@ -10164,7 +10164,7 @@ pci:v00001014d000000B7* - ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] - - pci:v00001014d000000B7sv00001092sd000000B8* -- ID_MODEL_FROM_DATABASE=FireGL1 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] (FireGL1 AGP 32Mb) - - pci:v00001014d000000B8* - ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter -@@ -10188,13 +10188,13 @@ pci:v00001014d00000142* - ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input - - pci:v00001014d00000142sv00001014sd00000143* -- ID_MODEL_FROM_DATABASE=Yotta Input Controller (ytin) -+ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input (Yotta Input Controller (ytin)) - - pci:v00001014d00000144* - ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output - - pci:v00001014d00000144sv00001014sd00000145* -- ID_MODEL_FROM_DATABASE=Yotta Output Controller (ytout) -+ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output (Yotta Output Controller (ytout)) - - pci:v00001014d00000156* - ID_MODEL_FROM_DATABASE=405GP PLB to PCI Bridge -@@ -10218,10 +10218,10 @@ pci:v00001014d00000180* - ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller - - pci:v00001014d00000180sv00001014sd00000241* -- ID_MODEL_FROM_DATABASE=iSeries 2757 DASD IOA -+ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (iSeries 2757 DASD IOA) - - pci:v00001014d00000180sv00001014sd00000264* -- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X U320 SCSI RAID Adapter (2780) -+ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (Quad Channel PCI-X U320 SCSI RAID Adapter (2780)) - - pci:v00001014d00000188* - ID_MODEL_FROM_DATABASE=EADS-X PCI-X to PCI-X Bridge -@@ -10233,28 +10233,28 @@ pci:v00001014d000001BD* - ID_MODEL_FROM_DATABASE=ServeRAID Controller - - pci:v00001014d000001BDsv00001014sd000001BD* -- ID_MODEL_FROM_DATABASE=ServeRAID 4Lx -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 4Lx) - - pci:v00001014d000001BDsv00001014sd000001BE* -- ID_MODEL_FROM_DATABASE=ServeRAID-4M -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4M) - - pci:v00001014d000001BDsv00001014sd000001BF* -- ID_MODEL_FROM_DATABASE=ServeRAID-4L -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4L) - - pci:v00001014d000001BDsv00001014sd00000208* -- ID_MODEL_FROM_DATABASE=ServeRAID-4Mx -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Mx) - - pci:v00001014d000001BDsv00001014sd0000020E* -- ID_MODEL_FROM_DATABASE=ServeRAID-4Lx -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Lx) - - pci:v00001014d000001BDsv00001014sd0000022E* -- ID_MODEL_FROM_DATABASE=ServeRAID-4H -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4H) - - pci:v00001014d000001BDsv00001014sd00000258* -- ID_MODEL_FROM_DATABASE=ServeRAID-5i -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) - - pci:v00001014d000001BDsv00001014sd00000259* -- ID_MODEL_FROM_DATABASE=ServeRAID-5i -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) - - pci:v00001014d000001C1* - ID_MODEL_FROM_DATABASE=64bit/66MHz PCI ATM 155 UTP -@@ -10266,10 +10266,10 @@ pci:v00001014d000001EF* - ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge - - pci:v00001014d000001EFsv00001734sd0000102B* -- ID_MODEL_FROM_DATABASE=PCEAS PCI-X Dual Port ESCON Adapter -+ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAS PCI-X Dual Port ESCON Adapter) - - pci:v00001014d000001EFsv00001734sd000010F8* -- ID_MODEL_FROM_DATABASE=PCEAT PCI-Express Dual Port ESCON Adapter -+ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAT PCI-Express Dual Port ESCON Adapter) - - pci:v00001014d000001FF* - ID_MODEL_FROM_DATABASE=10/100 Mbps Ethernet -@@ -10278,13 +10278,13 @@ pci:v00001014d00000219* - ID_MODEL_FROM_DATABASE=Multiport Serial Adapter - - pci:v00001014d00000219sv00001014sd0000021A* -- ID_MODEL_FROM_DATABASE=Dual RVX -+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Dual RVX) - - pci:v00001014d00000219sv00001014sd00000251* -- ID_MODEL_FROM_DATABASE=Internal Modem/RVX -+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Internal Modem/RVX) - - pci:v00001014d00000219sv00001014sd00000252* -- ID_MODEL_FROM_DATABASE=Quad Internal Modem -+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Quad Internal Modem) - - pci:v00001014d0000021B* - ID_MODEL_FROM_DATABASE=GXT6500P Graphics Adapter -@@ -10299,16 +10299,16 @@ pci:v00001014d0000028C* - ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller - - pci:v00001014d0000028Csv00001014sd0000028D* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR SAS RAID Adapter (572E) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR SAS RAID Adapter (572E)) - - pci:v00001014d0000028Csv00001014sd000002BE* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)) - - pci:v00001014d0000028Csv00001014sd000002C0* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI Adapter (571A) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI Adapter (571A)) - - pci:v00001014d0000028Csv00001014sd0000030D* -- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575B) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575B)) - - pci:v00001014d000002A1* - ID_MODEL_FROM_DATABASE=Calgary PCI-X Host Bridge -@@ -10317,13 +10317,13 @@ pci:v00001014d000002BD* - ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller - - pci:v00001014d000002BDsv00001014sd000002C1* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) - - pci:v00001014d000002BDsv00001014sd000002C2* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)) - - pci:v00001014d000002BDsv00001014sd00000338* -- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575C) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575C)) - - pci:v00001014d00000302* - ID_MODEL_FROM_DATABASE=Winnipeg PCI-X Host Bridge -@@ -10338,88 +10338,88 @@ pci:v00001014d0000032D* - ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip - - pci:v00001014d0000032Dsv00001014sd000003A1* -- ID_MODEL_FROM_DATABASE=PCIe PowerXCell 8i Cell Accelerator Board -+ ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip (PCIe PowerXCell 8i Cell Accelerator Board) - - pci:v00001014d00000339* - ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller - - pci:v00001014d00000339sv00001014sd0000030A* -- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS RAID Adapter (574E) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS RAID Adapter (574E)) - - pci:v00001014d00000339sv00001014sd0000033A* -- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS Adapter (57B3) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS Adapter (57B3)) - - pci:v00001014d00000339sv00001014sd0000035C* -- ID_MODEL_FROM_DATABASE=PCIe x8 Internal 3Gb SAS adapter (57CC) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe x8 Internal 3Gb SAS adapter (57CC)) - - pci:v00001014d00000339sv00001014sd00000360* -- ID_MODEL_FROM_DATABASE=PCI-E Auxiliary Cache Adapter (57B7) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCI-E Auxiliary Cache Adapter (57B7)) - - pci:v00001014d0000033D* - ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) - - pci:v00001014d0000033Dsv00001014sd0000033C* -- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5)) - - pci:v00001014d0000033Dsv00001014sd00000353* -- ID_MODEL_FROM_DATABASE=PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3)) - - pci:v00001014d0000033Dsv00001014sd00000354* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Dual-port (57C4) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Dual-port (57C4)) - - pci:v00001014d0000033Dsv00001014sd00000356* -- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D)) - - pci:v00001014d0000033Dsv00001014sd0000035F* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57B2) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Quad-port (57B2)) - - pci:v00001014d0000034A* - ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) - - pci:v00001014d0000034Asv00001014sd0000033B* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS RAID Adapter Quad-port (57B4) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)) - - pci:v00001014d0000034Asv00001014sd00000355* -- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1)) - - pci:v00001014d0000034Asv00001014sd00000357* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57C6) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS Adapter Quad-port (57C6)) - - pci:v00001014d0000034Asv00001014sd0000035D* -- ID_MODEL_FROM_DATABASE=PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8)) - - pci:v00001014d0000034Asv00001014sd0000035E* -- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE)) - - pci:v00001014d0000034Asv00001014sd000003FB* -- ID_MODEL_FROM_DATABASE=PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5)) - - pci:v00001014d0000034Asv00001014sd000003FE* -- ID_MODEL_FROM_DATABASE=PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8)) - - pci:v00001014d0000034Asv00001014sd000003FF* -- ID_MODEL_FROM_DATABASE=PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7)) - - pci:v00001014d0000034Asv00001014sd00000474* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB)) - - pci:v00001014d0000034Asv00001014sd00000475* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC)) - - pci:v00001014d0000034Asv00001014sd00000499* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED)) - - pci:v00001014d0000034Asv00001014sd0000049A* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE)) - - pci:v00001014d0000034Asv00001014sd000004C7* -- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA)) - - pci:v00001014d0000034Asv00001014sd000004C8* -- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2)) - - pci:v00001014d0000034Asv00001014sd00000C49* -- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) - - pci:v00001014d000004AA* - ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) -@@ -10461,13 +10461,13 @@ pci:v0000101Ad00000007* - ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G - - pci:v0000101Ad00000007sv0000101Asd00000019* -- ID_MODEL_FROM_DATABASE=BYNET BIC2C -+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2C) - - pci:v0000101Ad00000007sv0000101Asd0000001C* -- ID_MODEL_FROM_DATABASE=BYNET BIC2G -+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2G) - - pci:v0000101Ad00000007sv0000101Asd0000001F* -- ID_MODEL_FROM_DATABASE=BYNET BIC4G -+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC4G) - - pci:v0000101Ad00000009* - ID_MODEL_FROM_DATABASE=PQS Memory Controller -@@ -10488,19 +10488,19 @@ pci:v0000101Ad00001DC1* - ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M - - pci:v0000101Ad00001DC1sv0000101Asd00000019* -- ID_MODEL_FROM_DATABASE=BIC2M -+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC2M) - - pci:v0000101Ad00001DC1sv0000101Asd0000001F* -- ID_MODEL_FROM_DATABASE=BIC4M -+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC4M) - - pci:v0000101Ad00001DC1sv0000101Asd00000ECE* -- ID_MODEL_FROM_DATABASE=BYA4M -+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BYA4M) - - pci:v0000101Ad00001FA8* - ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) - - pci:v0000101Ad00001FA8sv0000101Asd000000C3* -- ID_MODEL_FROM_DATABASE=BYNET BIC2SE -+ ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) (BYNET BIC2SE) - - pci:v0000101B* - ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor -@@ -10557,46 +10557,46 @@ pci:v0000101Ed00001960* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v0000101Ed00001960sv0000101Esd00000471* -- ID_MODEL_FROM_DATABASE=MegaRAID 471 Enterprise 1600 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (471 Enterprise 1600 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000475* -- ID_MODEL_FROM_DATABASE=MegaRAID 475 Express 500/500LC RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (475 Express 500/500LC RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000477* -- ID_MODEL_FROM_DATABASE=MegaRAID 477 Elite 3100 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (477 Elite 3100 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000493* -- ID_MODEL_FROM_DATABASE=MegaRAID 493 Elite 1600 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (493 Elite 1600 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000494* -- ID_MODEL_FROM_DATABASE=MegaRAID 494 Elite 1650 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (494 Elite 1650 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000503* -- ID_MODEL_FROM_DATABASE=MegaRAID 503 Enterprise 1650 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (503 Enterprise 1650 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000511* -- ID_MODEL_FROM_DATABASE=MegaRAID 511 i4 IDE RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (511 i4 IDE RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000522* -- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4133 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4133 RAID Controller) - - pci:v0000101Ed00001960sv00001028sd00000471* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/QC) - - pci:v0000101Ed00001960sv00001028sd00000475* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/SC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/SC) - - pci:v0000101Ed00001960sv00001028sd00000493* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/DC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/DC) - - pci:v0000101Ed00001960sv00001028sd00000511* -- ID_MODEL_FROM_DATABASE=PowerEdge Cost Effective RAID Controller ATA100/4Ch -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Cost Effective RAID Controller ATA100/4Ch) - - pci:v0000101Ed00001960sv0000103Csd000060E7* -- ID_MODEL_FROM_DATABASE=NetRAID-1M -+ ID_MODEL_FROM_DATABASE=MegaRAID (NetRAID-1M) - - pci:v0000101Ed00001960sv0000103Csd000060E8* -- ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] -+ ID_MODEL_FROM_DATABASE=MegaRAID (NetRaid 2M [AMI MegaRaid 493]) - - pci:v0000101Ed00009010* - ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller -@@ -10623,7 +10623,7 @@ pci:v0000101Ed00009063* - ID_MODEL_FROM_DATABASE=MegaRAC - - pci:v0000101Ed00009063sv0000101Esd00000767* -- ID_MODEL_FROM_DATABASE=Dell Remote Assistant Card 2 -+ ID_MODEL_FROM_DATABASE=MegaRAC (Dell Remote Assistant Card 2) - - pci:v0000101F* - ID_VENDOR_FROM_DATABASE=PictureTel -@@ -10731,7 +10731,7 @@ pci:v00001022d00001510* - ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex - - pci:v00001022d00001510sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex (PURE Fusion Mini) - - pci:v00001022d00001512* - ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port -@@ -10842,79 +10842,79 @@ pci:v00001022d00002000* - ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] - - pci:v00001022d00002000sv00001014sd00002000* -- ID_MODEL_FROM_DATABASE=NetFinity 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (NetFinity 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001022sd00002000* -- ID_MODEL_FROM_DATABASE=PCnet - Fast 79C971 -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PCnet - Fast 79C971) - - pci:v00001022d00002000sv0000103Csd0000104C* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd00001064* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd00001065* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd0000106C* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd0000106E* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd000010EA* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv00001113sd00001220* -- ID_MODEL_FROM_DATABASE=EN1220 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (EN1220 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002450* -- ID_MODEL_FROM_DATABASE=AT-2450 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002454* -- ID_MODEL_FROM_DATABASE=AT-2450v4 10Mb Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450v4 10Mb Ethernet Adapter) - - pci:v00001022d00002000sv00001259sd00002700* -- ID_MODEL_FROM_DATABASE=AT-2700TX 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700TX 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002701* -- ID_MODEL_FROM_DATABASE=AT-2700FX 100Mb Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FX 100Mb Ethernet) - - pci:v00001022d00002000sv00001259sd00002702* -- ID_MODEL_FROM_DATABASE=AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002703* -- ID_MODEL_FROM_DATABASE=AT-2701FX -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FX) - - pci:v00001022d00002000sv00001259sd00002704* -- ID_MODEL_FROM_DATABASE=AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet) - - pci:v00001022d00002000sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00001022d00002000sv00004C53sd00001010* -- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CP5/CR6 mainboard) - - pci:v00001022d00002000sv00004C53sd00001020* -- ID_MODEL_FROM_DATABASE=VR6 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (VR6 mainboard) - - pci:v00001022d00002000sv00004C53sd00001030* -- ID_MODEL_FROM_DATABASE=PC5 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC5 mainboard) - - pci:v00001022d00002000sv00004C53sd00001040* -- ID_MODEL_FROM_DATABASE=CL7 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CL7 mainboard) - - pci:v00001022d00002000sv00004C53sd00001060* -- ID_MODEL_FROM_DATABASE=PC7 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC7 mainboard) - - pci:v00001022d00002001* - ID_MODEL_FROM_DATABASE=79c978 [HomePNA] - - pci:v00001022d00002001sv00001092sd00000A78* -- ID_MODEL_FROM_DATABASE=Multimedia Home Network Adapter -+ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (Multimedia Home Network Adapter) - - pci:v00001022d00002001sv00001668sd00000299* -- ID_MODEL_FROM_DATABASE=ActionLink Home Network Adapter -+ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (ActionLink Home Network Adapter) - - pci:v00001022d00002003* - ID_MODEL_FROM_DATABASE=Am 1771 MBW [Alchemy] -@@ -10923,7 +10923,7 @@ pci:v00001022d00002020* - ID_MODEL_FROM_DATABASE=53c974 [PCscsi] - - pci:v00001022d00002020sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=53c974 [PCscsi] (QEMU Virtual Machine) - - pci:v00001022d00002040* - ID_MODEL_FROM_DATABASE=79c974 -@@ -11043,7 +11043,7 @@ pci:v00001022d00007440* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA - - pci:v00001022d00007440sv00001043sd00008044* -- ID_MODEL_FROM_DATABASE=A7M-D Mainboard -+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA (A7M-D Mainboard) - - pci:v00001022d00007441* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] IDE -@@ -11052,7 +11052,7 @@ pci:v00001022d00007443* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI - - pci:v00001022d00007443sv00001043sd00008044* -- ID_MODEL_FROM_DATABASE=A7M-D Mainboard -+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI (A7M-D Mainboard) - - pci:v00001022d00007445* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] Audio -@@ -11088,7 +11088,7 @@ pci:v00001022d00007460* - ID_MODEL_FROM_DATABASE=AMD-8111 PCI - - pci:v00001022d00007460sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 PCI (HDAMB) - - pci:v00001022d00007461* - ID_MODEL_FROM_DATABASE=AMD-8111 USB -@@ -11103,22 +11103,22 @@ pci:v00001022d00007464* - ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI - - pci:v00001022d00007464sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI (HDAMB) - - pci:v00001022d00007468* - ID_MODEL_FROM_DATABASE=AMD-8111 LPC - - pci:v00001022d00007468sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 LPC (HDAMB) - - pci:v00001022d00007469* - ID_MODEL_FROM_DATABASE=AMD-8111 IDE - - pci:v00001022d00007469sv00001022sd00002B80* -- ID_MODEL_FROM_DATABASE=AMD-8111 IDE [Quartet] -+ ID_MODEL_FROM_DATABASE=AMD-8111 IDE ([Quartet]) - - pci:v00001022d00007469sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 IDE (HDAMB) - - pci:v00001022d0000746A* - ID_MODEL_FROM_DATABASE=AMD-8111 SMBus 2.0 -@@ -11127,13 +11127,13 @@ pci:v00001022d0000746B* - ID_MODEL_FROM_DATABASE=AMD-8111 ACPI - - pci:v00001022d0000746Bsv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 ACPI (HDAMB) - - pci:v00001022d0000746D* - ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio - - pci:v00001022d0000746Dsv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio (HDAMB) - - pci:v00001022d0000746E* - ID_MODEL_FROM_DATABASE=AMD-8111 MC97 Modem -@@ -11148,10 +11148,10 @@ pci:v00001022d00007801* - ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] - - pci:v00001022d00007801sv0000103Csd0000168B* -- ID_MODEL_FROM_DATABASE=ProBook 4535s Notebook -+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 4535s Notebook) - - pci:v00001022d00007801sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 455 G1 Notebook) - - pci:v00001022d00007802* - ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode] -@@ -11172,25 +11172,25 @@ pci:v00001022d00007807* - ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller - - pci:v00001022d00007807sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d00007808* - ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller - - pci:v00001022d00007808sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d00007809* - ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller - - pci:v00001022d00007809sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d0000780B* - ID_MODEL_FROM_DATABASE=FCH SMBus Controller - - pci:v00001022d0000780Bsv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH SMBus Controller (ProBook 455 G1 Notebook) - - pci:v00001022d0000780C* - ID_MODEL_FROM_DATABASE=FCH IDE Controller -@@ -11199,16 +11199,16 @@ pci:v00001022d0000780D* - ID_MODEL_FROM_DATABASE=FCH Azalia Controller - - pci:v00001022d0000780Dsv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (ProBook 455 G1 Notebook) - - pci:v00001022d0000780Dsv00001043sd00008444* -- ID_MODEL_FROM_DATABASE=F2A85-M Series -+ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (F2A85-M Series) - - pci:v00001022d0000780E* - ID_MODEL_FROM_DATABASE=FCH LPC Bridge - - pci:v00001022d0000780Esv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH LPC Bridge (ProBook 455 G1 Notebook) - - pci:v00001022d0000780F* - ID_MODEL_FROM_DATABASE=FCH PCI Bridge -@@ -11223,7 +11223,7 @@ pci:v00001022d00007814* - ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller - - pci:v00001022d00007814sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d00007900* - ID_MODEL_FROM_DATABASE=FCH SATA Controller [IDE mode] -@@ -11262,16 +11262,16 @@ pci:v00001022d00009600* - ID_MODEL_FROM_DATABASE=RS780 Host Bridge - - pci:v00001022d00009600sv00001043sd000082F1* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=RS780 Host Bridge (M3A78-EH Motherboard) - - pci:v00001022d00009601* - ID_MODEL_FROM_DATABASE=RS880 Host Bridge - - pci:v00001022d00009601sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (A785GM-M) - - pci:v00001022d00009601sv00001043sd0000843E* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (M5A88-V EVO) - - pci:v00001022d00009602* - ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (int gfx) -@@ -11316,7 +11316,7 @@ pci:v00001023d00002001* - ID_MODEL_FROM_DATABASE=4DWave NX - - pci:v00001023d00002001sv0000122Dsd00001400* -- ID_MODEL_FROM_DATABASE=Trident PCI288-Q3DII (NX) -+ ID_MODEL_FROM_DATABASE=4DWave NX (Trident PCI288-Q3DII (NX)) - - pci:v00001023d00002100* - ID_MODEL_FROM_DATABASE=CyberBlade XP4m32 -@@ -11328,13 +11328,13 @@ pci:v00001023d00008400* - ID_MODEL_FROM_DATABASE=CyberBlade/i7 - - pci:v00001023d00008400sv00001023sd00008400* -- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade/i7 (CyberBlade i7 AGP) - - pci:v00001023d00008420* - ID_MODEL_FROM_DATABASE=CyberBlade/i7d - - pci:v00001023d00008420sv00000E11sd0000B15A* -- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade/i7d (CyberBlade i7 AGP) - - pci:v00001023d00008500* - ID_MODEL_FROM_DATABASE=CyberBlade/i1 -@@ -11343,19 +11343,19 @@ pci:v00001023d00008520* - ID_MODEL_FROM_DATABASE=CyberBlade i1 - - pci:v00001023d00008520sv00000E11sd0000B16E* -- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) - - pci:v00001023d00008520sv00001023sd00008520* -- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) - - pci:v00001023d00008620* - ID_MODEL_FROM_DATABASE=CyberBlade/i1 - - pci:v00001023d00008620sv00001014sd00000502* -- ID_MODEL_FROM_DATABASE=ThinkPad R30/T30 -+ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (ThinkPad R30/T30) - - pci:v00001023d00008620sv00001014sd00001025* -- ID_MODEL_FROM_DATABASE=Travelmate 352TE -+ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (Travelmate 352TE) - - pci:v00001023d00008820* - ID_MODEL_FROM_DATABASE=CyberBlade XPAi1 -@@ -11460,7 +11460,7 @@ pci:v00001023d00009880* - ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP - - pci:v00001023d00009880sv00001023sd00009880* -- ID_MODEL_FROM_DATABASE=Blade 3D -+ ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP (Blade 3D) - - pci:v00001023d00009910* - ID_MODEL_FROM_DATABASE=CyberBlade/XP -@@ -11523,7 +11523,7 @@ pci:v00001025d00001533* - ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge - - pci:v00001025d00001533sv000010B9sd00001533* -- ID_MODEL_FROM_DATABASE=ALI M1533 Aladdin IV/V ISA South Bridge -+ ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge (ALI M1533 Aladdin IV/V ISA South Bridge) - - pci:v00001025d00001535* - ID_MODEL_FROM_DATABASE=M1535 PCI Bridge + Super I/O + FIR -@@ -11532,7 +11532,7 @@ pci:v00001025d00001541* - ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] - - pci:v00001025d00001541sv000010B9sd00001541* -- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP+PCI North Bridge -+ ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] (ALI M1541 Aladdin V/V+ AGP+PCI North Bridge) - - pci:v00001025d00001542* - ID_MODEL_FROM_DATABASE=M1542 Northbridge [Aladdin V] -@@ -11658,31 +11658,31 @@ pci:v00001028d00000001* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si - - pci:v00001028d00000001sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=PowerEdge 2400 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si (PowerEdge 2400) - - pci:v00001028d00000002* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di - - pci:v00001028d00000002sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=PowerEdge 4400 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PowerEdge 4400) - - pci:v00001028d00000002sv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=PERC 3/DiV [Viper] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiV [Viper]) - - pci:v00001028d00000002sv00001028sd000000D9* -- ID_MODEL_FROM_DATABASE=PERC 3/DiL [Lexus] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiL [Lexus]) - - pci:v00001028d00000003* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si - - pci:v00001028d00000003sv00001028sd00000003* -- ID_MODEL_FROM_DATABASE=PowerEdge 2450 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si (PowerEdge 2450) - - pci:v00001028d00000004* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] - - pci:v00001028d00000004sv00001028sd00000004* -- ID_MODEL_FROM_DATABASE=PERC 3/DiF [Iguana] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] (PERC 3/DiF [Iguana]) - - pci:v00001028d00000006* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di -@@ -11700,13 +11700,13 @@ pci:v00001028d0000000A* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di - - pci:v00001028d0000000Asv00001028sd00000106* -- ID_MODEL_FROM_DATABASE=PERC 3/DiJ [Jaguar] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiJ [Jaguar]) - - pci:v00001028d0000000Asv00001028sd0000011B* -- ID_MODEL_FROM_DATABASE=PERC 3/DiD [Dagger] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiD [Dagger]) - - pci:v00001028d0000000Asv00001028sd00000121* -- ID_MODEL_FROM_DATABASE=PERC 3/DiB [Boxster] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiB [Boxster]) - - pci:v00001028d0000000C* - ID_MODEL_FROM_DATABASE=Embedded Remote Access or ERA/O -@@ -11721,7 +11721,7 @@ pci:v00001028d0000000F* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di - - pci:v00001028d0000000Fsv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di (PowerEdge 1750) - - pci:v00001028d00000010* - ID_MODEL_FROM_DATABASE=Remote Access Card 4 -@@ -11736,19 +11736,19 @@ pci:v00001028d00000013* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 - - pci:v00001028d00000013sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Si -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Si) - - pci:v00001028d00000013sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000013sv00001028sd0000016E* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000013sv00001028sd0000016F* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000013sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000014* - ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card SMIC interface -@@ -11757,19 +11757,19 @@ pci:v00001028d00000015* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 - - pci:v00001028d00000015sv00001028sd00001F01* -- ID_MODEL_FROM_DATABASE=PERC 5/E Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/E Adapter RAID Controller) - - pci:v00001028d00000015sv00001028sd00001F02* -- ID_MODEL_FROM_DATABASE=PERC 5/i Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Adapter RAID Controller) - - pci:v00001028d00000015sv00001028sd00001F03* -- ID_MODEL_FROM_DATABASE=PERC 5/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Integrated RAID Controller) - - pci:v00001028d00000016* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 - - pci:v00001028d00000016sv00001028sd00001F24* -- ID_MODEL_FROM_DATABASE=PERC S300 Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 (PERC S300 Controller) - - pci:v00001029* - ID_VENDOR_FROM_DATABASE=Siemens Nixdorf IS -@@ -11787,28 +11787,28 @@ pci:v0000102Ad0000001F* - ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers - - pci:v0000102Ad0000001Fsv00009005sd0000000F* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) - - pci:v0000102Ad0000001Fsv00009005sd00000106* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) - - pci:v0000102Ad0000001Fsv00009005sd0000A180* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) - - pci:v0000102Ad000000C5* - ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller - - pci:v0000102Ad000000C5sv00001028sd000000C5* -- ID_MODEL_FROM_DATABASE=PowerEdge 2550/2650/4600 -+ ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller (PowerEdge 2550/2650/4600) - - pci:v0000102Ad000000CF* - ID_MODEL_FROM_DATABASE=AIC-7899P U160/m - - pci:v0000102Ad000000CFsv00001028sd00000106* -- ID_MODEL_FROM_DATABASE=PowerEdge 4600 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 4600) - - pci:v0000102Ad000000CFsv00001028sd00000121* -- ID_MODEL_FROM_DATABASE=PowerEdge 2650 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2650) - - pci:v0000102B* - ID_VENDOR_FROM_DATABASE=Matrox Electronics Systems Ltd. -@@ -11829,34 +11829,34 @@ pci:v0000102Bd0000051A* - ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] - - pci:v0000102Bd0000051Asv0000102Bsd00000100* -- ID_MODEL_FROM_DATABASE=MGA-1064SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1064SG Mystique) - - pci:v0000102Bd0000051Asv0000102Bsd00001100* -- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) - - pci:v0000102Bd0000051Asv0000102Bsd00001200* -- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) - - pci:v0000102Bd0000051Asv00001100sd0000102B* -- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) - - pci:v0000102Bd0000051Asv0000110Asd00000018* -- ID_MODEL_FROM_DATABASE=Scenic Pro C5 (D1025) -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (Scenic Pro C5 (D1025)) - - pci:v0000102Bd0000051B* - ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] - - pci:v0000102Bd0000051Bsv0000102Bsd0000051B* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051Bsv0000102Bsd00001100* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051Bsv0000102Bsd00001200* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051Bsv0000102Bsd00002100* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051E* - ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] AGP -@@ -11868,391 +11868,391 @@ pci:v0000102Bd00000520* - ID_MODEL_FROM_DATABASE=MGA G200 - - pci:v0000102Bd00000520sv0000102Bsd0000DBC2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000DBC8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000DBE2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000DBE8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G200 SD -+ ID_MODEL_FROM_DATABASE=MGA G200 (Millennium G200 SD) - - pci:v0000102Bd00000520sv0000102Bsd0000FF04* -- ID_MODEL_FROM_DATABASE=Marvel G200 -+ ID_MODEL_FROM_DATABASE=MGA G200 (Marvel G200) - - pci:v0000102Bd00000521* - ID_MODEL_FROM_DATABASE=MGA G200 AGP - - pci:v0000102Bd00000521sv00001014sd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd000048E9* -- ID_MODEL_FROM_DATABASE=Mystique G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd000048F8* -- ID_MODEL_FROM_DATABASE=Millennium G200 SD AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 SD AGP) - - pci:v0000102Bd00000521sv0000102Bsd00004A60* -- ID_MODEL_FROM_DATABASE=Millennium G200 LE AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 LE AGP) - - pci:v0000102Bd00000521sv0000102Bsd00004A64* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000C93C* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000C9B0* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000C9BC* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000CA60* -- ID_MODEL_FROM_DATABASE=Millennium G250 LE AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 LE AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000CA6C* -- ID_MODEL_FROM_DATABASE=Millennium G250 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000DBBC* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000DBC2* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBC3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBC8* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD4* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD5* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD9* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBE2* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBE3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBE8* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF4* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF5* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF9* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000F806* -- ID_MODEL_FROM_DATABASE=Mystique G200 Video AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 Video AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF00* -- ID_MODEL_FROM_DATABASE=MGA-G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF02* -- ID_MODEL_FROM_DATABASE=Mystique G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF04* -- ID_MODEL_FROM_DATABASE=Marvel G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Marvel G200 AGP) - - pci:v0000102Bd00000521sv0000110Asd00000032* -- ID_MODEL_FROM_DATABASE=MGA-G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) - - pci:v0000102Bd00000522* - ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) - - pci:v0000102Bd00000522sv0000103Csd000031FA* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) (ProLiant DL140 G3) - - pci:v0000102Bd00000525* - ID_MODEL_FROM_DATABASE=MGA G400/G450 - - pci:v0000102Bd00000525sv00000E11sd0000B16F* -- ID_MODEL_FROM_DATABASE=MGA-G400 AGP -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (MGA-G400 AGP) - - pci:v0000102Bd00000525sv0000102Bsd00000328* -- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) - - pci:v0000102Bd00000525sv0000102Bsd00000338* -- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) - - pci:v0000102Bd00000525sv0000102Bsd00000378* -- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SDRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SDRAM) - - pci:v0000102Bd00000525sv0000102Bsd00000541* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head) - - pci:v0000102Bd00000525sv0000102Bsd00000542* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX) - - pci:v0000102Bd00000525sv0000102Bsd00000543* -- ID_MODEL_FROM_DATABASE=Millennium G450 Single Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Single Head LX) - - pci:v0000102Bd00000525sv0000102Bsd00000641* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head) - - pci:v0000102Bd00000525sv0000102Bsd00000642* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head LX) - - pci:v0000102Bd00000525sv0000102Bsd00000643* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Single Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Single Head LX) - - pci:v0000102Bd00000525sv0000102Bsd000007C0* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LE -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LE) - - pci:v0000102Bd00000525sv0000102Bsd000007C1* -- ID_MODEL_FROM_DATABASE=Millennium G450 SDR Dual Head LE -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 SDR Dual Head LE) - - pci:v0000102Bd00000525sv0000102Bsd00000D41* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head PCI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head PCI) - - pci:v0000102Bd00000525sv0000102Bsd00000D42* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX PCI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX PCI) - - pci:v0000102Bd00000525sv0000102Bsd00000D43* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb Dual Head PCI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb Dual Head PCI) - - pci:v0000102Bd00000525sv0000102Bsd00000E00* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000E01* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000E02* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000E03* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000F80* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) - - pci:v0000102Bd00000525sv0000102Bsd00000F81* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) - - pci:v0000102Bd00000525sv0000102Bsd00000F82* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) - - pci:v0000102Bd00000525sv0000102Bsd00000F83* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) - - pci:v0000102Bd00000525sv0000102Bsd000019D8* -- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SGRAM) - - pci:v0000102Bd00000525sv0000102Bsd000019F8* -- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SGRAM) - - pci:v0000102Bd00000525sv0000102Bsd00002159* -- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head 16Mb -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head 16Mb) - - pci:v0000102Bd00000525sv0000102Bsd00002179* -- ID_MODEL_FROM_DATABASE=Millennium G400 MAX/Dual Head 32Mb -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 MAX/Dual Head 32Mb) - - pci:v0000102Bd00000525sv0000102Bsd0000217D* -- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head Max -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head Max) - - pci:v0000102Bd00000525sv0000102Bsd000023C0* -- ID_MODEL_FROM_DATABASE=Millennium G450 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) - - pci:v0000102Bd00000525sv0000102Bsd000023C1* -- ID_MODEL_FROM_DATABASE=Millennium G450 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) - - pci:v0000102Bd00000525sv0000102Bsd000023C2* -- ID_MODEL_FROM_DATABASE=Millennium G450 DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) - - pci:v0000102Bd00000525sv0000102Bsd000023C3* -- ID_MODEL_FROM_DATABASE=Millennium G450 DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) - - pci:v0000102Bd00000525sv0000102Bsd00002F58* -- ID_MODEL_FROM_DATABASE=Millennium G400 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) - - pci:v0000102Bd00000525sv0000102Bsd00002F78* -- ID_MODEL_FROM_DATABASE=Millennium G400 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) - - pci:v0000102Bd00000525sv0000102Bsd00003693* -- ID_MODEL_FROM_DATABASE=Marvel G400 AGP -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G400 AGP) - - pci:v0000102Bd00000525sv0000102Bsd00005DD0* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00005F50* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00005F51* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00005F52* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00009010* -- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head) - - pci:v0000102Bd00000525sv00001458sd00000400* -- ID_MODEL_FROM_DATABASE=GA-G400 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (GA-G400) - - pci:v0000102Bd00000525sv00001705sd00000001* -- ID_MODEL_FROM_DATABASE=Millennium G450 32MB SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB SGRAM) - - pci:v0000102Bd00000525sv00001705sd00000002* -- ID_MODEL_FROM_DATABASE=Millennium G450 16MB SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB SGRAM) - - pci:v0000102Bd00000525sv00001705sd00000003* -- ID_MODEL_FROM_DATABASE=Millennium G450 32MB -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB) - - pci:v0000102Bd00000525sv00001705sd00000004* -- ID_MODEL_FROM_DATABASE=Millennium G450 16MB -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB) - - pci:v0000102Bd00000527* - ID_MODEL_FROM_DATABASE=Parhelia - - pci:v0000102Bd00000527sv0000102Bsd00000840* -- ID_MODEL_FROM_DATABASE=Parhelia 128Mb -+ ID_MODEL_FROM_DATABASE=Parhelia (128Mb) - - pci:v0000102Bd00000527sv0000102Bsd00000850* -- ID_MODEL_FROM_DATABASE=Parhelia 256MB -+ ID_MODEL_FROM_DATABASE=Parhelia (256MB) - - pci:v0000102Bd00000527sv0000102Bsd00000870* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000527sv0000102Bsd00000880* -- ID_MODEL_FROM_DATABASE=P-256 Edge Overlap Controller -+ ID_MODEL_FROM_DATABASE=Parhelia (P-256 Edge Overlap Controller) - - pci:v0000102Bd00000528* - ID_MODEL_FROM_DATABASE=Parhelia - - pci:v0000102Bd00000528sv0000102Bsd00001020* -- ID_MODEL_FROM_DATABASE=Parhelia 128MB -+ ID_MODEL_FROM_DATABASE=Parhelia (128MB) - - pci:v0000102Bd00000528sv0000102Bsd00001030* -- ID_MODEL_FROM_DATABASE=Parhelia 256 MB Dual DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (256 MB Dual DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001040* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001050* -- ID_MODEL_FROM_DATABASE=Sono S20 -+ ID_MODEL_FROM_DATABASE=Parhelia (Sono S20) - - pci:v0000102Bd00000528sv0000102Bsd00001060* -- ID_MODEL_FROM_DATABASE=PJ-30L -+ ID_MODEL_FROM_DATABASE=Parhelia (PJ-30L) - - pci:v0000102Bd00000528sv0000102Bsd00001070* -- ID_MODEL_FROM_DATABASE=PJ-40L -+ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40L) - - pci:v0000102Bd00000528sv0000102Bsd00001421* -- ID_MODEL_FROM_DATABASE=MED5mp -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp) - - pci:v0000102Bd00000528sv0000102Bsd00001431* -- ID_MODEL_FROM_DATABASE=MED3mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001451* -- ID_MODEL_FROM_DATABASE=MED5mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001491* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd000014B1* -- ID_MODEL_FROM_DATABASE=MED3mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd000014C1* -- ID_MODEL_FROM_DATABASE=MED5mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd000014E1* -- ID_MODEL_FROM_DATABASE=Parhelia PCI 256MB -+ ID_MODEL_FROM_DATABASE=Parhelia (PCI 256MB) - - pci:v0000102Bd00000528sv0000102Bsd000014F1* -- ID_MODEL_FROM_DATABASE=Parhelia Precision SGT -+ ID_MODEL_FROM_DATABASE=Parhelia (Precision SGT) - - pci:v0000102Bd00000528sv0000102Bsd00001501* -- ID_MODEL_FROM_DATABASE=ATC-4MP -+ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) - - pci:v0000102Bd00000528sv0000102Bsd00001511* -- ID_MODEL_FROM_DATABASE=ATC-4MP -+ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) - - pci:v0000102Bd00000528sv0000102Bsd00001521* -- ID_MODEL_FROM_DATABASE=TheatreVUE T30 -+ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T30) - - pci:v0000102Bd00000528sv0000102Bsd00001531* -- ID_MODEL_FROM_DATABASE=TheatreVUE T20 -+ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T20) - - pci:v0000102Bd00000528sv0000102Bsd00001541* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001551* -- ID_MODEL_FROM_DATABASE=MED3mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001561* -- ID_MODEL_FROM_DATABASE=MED5mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001571* -- ID_MODEL_FROM_DATABASE=Parhelia DL256 PCI -+ ID_MODEL_FROM_DATABASE=Parhelia (DL256 PCI) - - pci:v0000102Bd00000528sv0000102Bsd00001591* -- ID_MODEL_FROM_DATABASE=Parhelia Precision SDT -+ ID_MODEL_FROM_DATABASE=Parhelia (Precision SDT) - - pci:v0000102Bd00000528sv0000102Bsd000015A1* -- ID_MODEL_FROM_DATABASE=MED4mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED4mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00002011* -- ID_MODEL_FROM_DATABASE=Parhelia HR256 -+ ID_MODEL_FROM_DATABASE=Parhelia (HR256) - - pci:v0000102Bd00000528sv0000102Bsd00002021* -- ID_MODEL_FROM_DATABASE=QID Pro -+ ID_MODEL_FROM_DATABASE=Parhelia (QID Pro) - - pci:v0000102Bd00000528sv0000102Bsd00002061* -- ID_MODEL_FROM_DATABASE=PJ-40LP -+ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40LP) - - pci:v0000102Bd00000528sv0000102Bsd00002081* -- ID_MODEL_FROM_DATABASE=EWS Quad -+ ID_MODEL_FROM_DATABASE=Parhelia (EWS Quad) - - pci:v0000102Bd00000528sv0000102Bsd00002411* -- ID_MODEL_FROM_DATABASE=PPX-OUT8 -+ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT8) - - pci:v0000102Bd00000528sv0000102Bsd00002421* -- ID_MODEL_FROM_DATABASE=VPX-OUT8 -+ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT8) - - pci:v0000102Bd00000528sv0000102Bsd00002441* -- ID_MODEL_FROM_DATABASE=PPX-OUT4 -+ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT4) - - pci:v0000102Bd00000528sv0000102Bsd00002451* -- ID_MODEL_FROM_DATABASE=VPX-OUT4 -+ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT4) - - pci:v0000102Bd00000528sv0000102Bsd00002491* -- ID_MODEL_FROM_DATABASE=LPX-OUT4 -+ ID_MODEL_FROM_DATABASE=Parhelia (LPX-OUT4) - - pci:v0000102Bd00000530* - ID_MODEL_FROM_DATABASE=MGA G200EV -@@ -12261,37 +12261,37 @@ pci:v0000102Bd00000532* - ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 - - pci:v0000102Bd00000532sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R710 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R610 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T610 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M610 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R410 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T410 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M710 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd000002A4* -- ID_MODEL_FROM_DATABASE=PowerEdge T310 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) - - pci:v0000102Bd00000533* - ID_MODEL_FROM_DATABASE=MGA G200EH - - pci:v0000102Bd00000533sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=MGA G200EH (iLO4) - - pci:v0000102Bd00000534* - ID_MODEL_FROM_DATABASE=G200eR2 -@@ -12300,40 +12300,40 @@ pci:v0000102Bd00000540* - ID_MODEL_FROM_DATABASE=M91XX - - pci:v0000102Bd00000540sv0000102Bsd00002080* -- ID_MODEL_FROM_DATABASE=M9140 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9140 LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd000020C0* -- ID_MODEL_FROM_DATABASE=Xenia -+ ID_MODEL_FROM_DATABASE=M91XX (Xenia) - - pci:v0000102Bd00000540sv0000102Bsd000020C1* -- ID_MODEL_FROM_DATABASE=Xenia Pro -+ ID_MODEL_FROM_DATABASE=M91XX (Xenia Pro) - - pci:v0000102Bd00000540sv0000102Bsd00002100* -- ID_MODEL_FROM_DATABASE=M9120 PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9120 PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002140* -- ID_MODEL_FROM_DATABASE=M9125 PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9125 PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002180* -- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd000021C0* -- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x1 -+ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x1) - - pci:v0000102Bd00000540sv0000102Bsd00002200* -- ID_MODEL_FROM_DATABASE=VDA1164 Output Board -+ ID_MODEL_FROM_DATABASE=M91XX (VDA1164 Output Board) - - pci:v0000102Bd00000540sv0000102Bsd00002240* -- ID_MODEL_FROM_DATABASE=M9148 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9148 LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002241* -- ID_MODEL_FROM_DATABASE=M9138 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9138 LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002280* -- ID_MODEL_FROM_DATABASE=M9188 ATX PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9188 ATX PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd000022C0* -- ID_MODEL_FROM_DATABASE=M9128 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9128 LP PCIe x16) - - pci:v0000102Bd00000D10* - ID_MODEL_FROM_DATABASE=MGA Ultima/Impression -@@ -12342,34 +12342,34 @@ pci:v0000102Bd00001000* - ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] - - pci:v0000102Bd00001000sv0000102Bsd0000FF01* -- ID_MODEL_FROM_DATABASE=Productiva G100 -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100) - - pci:v0000102Bd00001000sv0000102Bsd0000FF05* -- ID_MODEL_FROM_DATABASE=Productiva G100 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100 Multi-Monitor) - - pci:v0000102Bd00001001* - ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP - - pci:v0000102Bd00001001sv0000102Bsd00001001* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF00* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF01* -- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (Millennium G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF04* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF05* -- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP Multi-Monitor) - - pci:v0000102Bd00001001sv0000110Asd0000001E* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00002007* - ID_MODEL_FROM_DATABASE=MGA Mistral -@@ -12378,163 +12378,163 @@ pci:v0000102Bd00002527* - ID_MODEL_FROM_DATABASE=Millennium G550 - - pci:v0000102Bd00002527sv0000102Bsd00000F42* -- ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI -+ ID_MODEL_FROM_DATABASE=Millennium G550 (Matrox G550 Low Profile PCI) - - pci:v0000102Bd00002527sv0000102Bsd00000F83* - ID_MODEL_FROM_DATABASE=Millennium G550 - - pci:v0000102Bd00002527sv0000102Bsd00000F84* -- ID_MODEL_FROM_DATABASE=Millennium G550 Dual Head DDR 32Mb -+ ID_MODEL_FROM_DATABASE=Millennium G550 (Dual Head DDR 32Mb) - - pci:v0000102Bd00002527sv0000102Bsd00001E41* - ID_MODEL_FROM_DATABASE=Millennium G550 - - pci:v0000102Bd00002527sv0000102Bsd00002300* -- ID_MODEL_FROM_DATABASE=Millennium G550 LP PCIE -+ ID_MODEL_FROM_DATABASE=Millennium G550 (LP PCIE) - - pci:v0000102Bd00002537* - ID_MODEL_FROM_DATABASE=Millenium P650/P750 - - pci:v0000102Bd00002537sv0000102Bsd00001820* -- ID_MODEL_FROM_DATABASE=Millennium P750 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P750 64MB) - - pci:v0000102Bd00002537sv0000102Bsd00001830* -- ID_MODEL_FROM_DATABASE=Millennium P650 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 64MB) - - pci:v0000102Bd00002537sv0000102Bsd00001850* -- ID_MODEL_FROM_DATABASE=RAD2mp -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD2mp) - - pci:v0000102Bd00002537sv0000102Bsd00001860* -- ID_MODEL_FROM_DATABASE=RAD3mp -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD3mp) - - pci:v0000102Bd00002537sv0000102Bsd00001880* -- ID_MODEL_FROM_DATABASE=Sono S10 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Sono S10) - - pci:v0000102Bd00002537sv0000102Bsd00001C10* -- ID_MODEL_FROM_DATABASE=QID 128MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID 128MB) - - pci:v0000102Bd00002537sv0000102Bsd00002811* -- ID_MODEL_FROM_DATABASE=Millennium P650 Low-profile PCI 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 Low-profile PCI 64MB) - - pci:v0000102Bd00002537sv0000102Bsd00002821* -- ID_MODEL_FROM_DATABASE=Millenium P650 Low-profile PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millenium P650 Low-profile PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002841* -- ID_MODEL_FROM_DATABASE=RAD PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002851* -- ID_MODEL_FROM_DATABASE=Spectrum PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Spectrum PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002871* -- ID_MODEL_FROM_DATABASE=EpicA TC2 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC2) - - pci:v0000102Bd00002537sv0000102Bsd00002C11* -- ID_MODEL_FROM_DATABASE=QID Low-profile PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID Low-profile PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002C21* -- ID_MODEL_FROM_DATABASE=QID LP PCI LW -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI LW) - - pci:v0000102Bd00002537sv0000102Bsd00002C31* -- ID_MODEL_FROM_DATABASE=QID LP PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002C41* -- ID_MODEL_FROM_DATABASE=EpicA TC4 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC4) - - pci:v0000102Bd00002537sv0000102Bsd00003001* -- ID_MODEL_FROM_DATABASE=Extio F1400 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1400) - - pci:v0000102Bd00002537sv0000102Bsd00003011* -- ID_MODEL_FROM_DATABASE=Extio F1220 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1220) - - pci:v0000102Bd00002537sv0000102Bsd00003041* -- ID_MODEL_FROM_DATABASE=RG-200DL -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-200DL) - - pci:v0000102Bd00002537sv0000102Bsd00003051* -- ID_MODEL_FROM_DATABASE=RG-400SL -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-400SL) - - pci:v0000102Bd00002537sv0000102Bsd00003061* -- ID_MODEL_FROM_DATABASE=Extio F1420 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1420) - - pci:v0000102Bd00002537sv0000102Bsd00003081* -- ID_MODEL_FROM_DATABASE=Extio F1240 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1240) - - pci:v0000102Bd00002538* - ID_MODEL_FROM_DATABASE=Millenium P650 PCIe - - pci:v0000102Bd00002538sv0000102Bsd00000847* -- ID_MODEL_FROM_DATABASE=RAD PCIe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (RAD PCIe) - - pci:v0000102Bd00002538sv0000102Bsd000008C7* -- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 128MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 128MB) - - pci:v0000102Bd00002538sv0000102Bsd00000907* -- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 64MB) - - pci:v0000102Bd00002538sv0000102Bsd00000947* -- ID_MODEL_FROM_DATABASE=Parhelia APVe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) - - pci:v0000102Bd00002538sv0000102Bsd00000987* -- ID_MODEL_FROM_DATABASE=ATC PCIe 4MP -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (ATC PCIe 4MP) - - pci:v0000102Bd00002538sv0000102Bsd00001047* -- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 128MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 128MB) - - pci:v0000102Bd00002538sv0000102Bsd00001087* -- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 64MB) - - pci:v0000102Bd00002538sv0000102Bsd00001801* -- ID_MODEL_FROM_DATABASE=Millenium P650 PCIe x1 -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (x1) - - pci:v0000102Bd00002538sv0000102Bsd00002538* -- ID_MODEL_FROM_DATABASE=Parhelia APVe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) - - pci:v0000102Bd00002538sv0000102Bsd00003007* -- ID_MODEL_FROM_DATABASE=QID Low-profile PCIe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID Low-profile PCIe) - - pci:v0000102Bd00002538sv0000102Bsd00003087* -- ID_MODEL_FROM_DATABASE=Aurora VX3mp -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Aurora VX3mp) - - pci:v0000102Bd00002538sv0000102Bsd000030C7* -- ID_MODEL_FROM_DATABASE=QID LP PCIe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID LP PCIe) - - pci:v0000102Bd00002539* - ID_MODEL_FROM_DATABASE=Millennium P690 - - pci:v0000102Bd00002539sv0000102Bsd00000040* -- ID_MODEL_FROM_DATABASE=Millenium P690 PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd00000042* -- ID_MODEL_FROM_DATABASE=ONYX -+ ID_MODEL_FROM_DATABASE=Millennium P690 (ONYX) - - pci:v0000102Bd00002539sv0000102Bsd00000043* -- ID_MODEL_FROM_DATABASE=SPECTRA -+ ID_MODEL_FROM_DATABASE=Millennium P690 (SPECTRA) - - pci:v0000102Bd00002539sv0000102Bsd00000080* -- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd00000081* -- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd00000082* -- ID_MODEL_FROM_DATABASE=RAD LPX PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd000000C0* -- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCI) - - pci:v0000102Bd00002539sv0000102Bsd000000C2* -- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCI) - - pci:v0000102Bd00002539sv0000102Bsd000000C3* -- ID_MODEL_FROM_DATABASE=RAD LPX PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCI) - - pci:v0000102Bd00002539sv0000102Bsd00000101* -- ID_MODEL_FROM_DATABASE=Millenium P690 PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCI) - - pci:v0000102Bd00002539sv0000102Bsd00000140* -- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x1 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x1) - - pci:v0000102Bd00002539sv0000102Bsd00000180* -- ID_MODEL_FROM_DATABASE=Display Wall IP Decode 128 MB -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Display Wall IP Decode 128 MB) - - pci:v0000102Bd00004164* - ID_MODEL_FROM_DATABASE=Morphis QxT frame grabber -@@ -12558,43 +12558,43 @@ pci:v0000102Bd0000475D* - ID_MODEL_FROM_DATABASE=Vio frame grabber family - - pci:v0000102Bd0000475Dsv0000102Bsd00004B90* -- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber (single channel) -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber (single channel)) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B91* -- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B92* -- ID_MODEL_FROM_DATABASE=Vio Analog frame grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Analog frame grabber) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B93* -- ID_MODEL_FROM_DATABASE=Vio SDI Frame Grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio SDI Frame Grabber) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B94* -- ID_MODEL_FROM_DATABASE=Vio DVI-A frame grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio DVI-A frame grabber) - - pci:v0000102Bd0000475F* - ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber - - pci:v0000102Bd0000475Fsv0000102Bsd0000475F* -- ID_MODEL_FROM_DATABASE=Solios eCL/XCL-F frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eCL/XCL-F frame grabber) - - pci:v0000102Bd0000475Fsv0000102Bsd00004D5F* -- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Full) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eV-CL (single-Full) frame grabber) - - pci:v0000102Bd0000475Fsv0000102Bsd00004E5F* -- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Full) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eM-CL (single-Full) frame grabber) - - pci:v0000102Bd000047A1* - ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber - - pci:v0000102Bd000047A1sv0000102Bsd00004BE0* -- ID_MODEL_FROM_DATABASE=Solios eA/XA (single) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (single) frame grabber) - - pci:v0000102Bd000047A1sv0000102Bsd00004BE1* -- ID_MODEL_FROM_DATABASE=Solios eA/XA (dual) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (dual) frame grabber) - - pci:v0000102Bd000047A1sv0000102Bsd00004BE2* -- ID_MODEL_FROM_DATABASE=Solios eA/XA (quad) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (quad) frame grabber) - - pci:v0000102Bd000047A2* - ID_MODEL_FROM_DATABASE=Solios COM port -@@ -12603,25 +12603,25 @@ pci:v0000102Bd000047C1* - ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber - - pci:v0000102Bd000047C1sv0000102Bsd00000000* -- ID_MODEL_FROM_DATABASE=Solios frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004B80* -- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (single-Medium) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (single-Medium) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004B81* -- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (dual-Base) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (dual-Base) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004D80* -- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Medium) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (single-Medium) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004D81* -- ID_MODEL_FROM_DATABASE=Solios eV-CL (dual-Base) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (dual-Base) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004E80* -- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Medium) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (single-Medium) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004E81* -- ID_MODEL_FROM_DATABASE=Solios eM-CL (dual-Base) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (dual-Base) frame grabber) - - pci:v0000102Bd000047C2* - ID_MODEL_FROM_DATABASE=Solios COM port -@@ -12630,34 +12630,34 @@ pci:v0000102Bd00004949* - ID_MODEL_FROM_DATABASE=Radient frame grabber family - - pci:v0000102Bd00004949sv0000102Bsd00000010* -- ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Single-full) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000011* -- ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCLV (Single-full) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000020* -- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-base) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000030* -- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-full) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-full) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000040* -- ID_MODEL_FROM_DATABASE=Radient eCL (Quad-base) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Quad-base) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000050* -- ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Golden) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001010* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-6) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001015* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (dual CXP-6) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001020* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-3) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001050* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (Golden) frame grabber) - - pci:v0000102Bd00004CDC* - ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator -@@ -12687,22 +12687,22 @@ pci:v0000102Cd000000C0sv0000102Csd000000C0* - ID_MODEL_FROM_DATABASE=F69000 HiQVideo - - pci:v0000102Cd000000C0sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001010* -- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CP5/CR6 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001020* -- ID_MODEL_FROM_DATABASE=VR6 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (VR6 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001030* -- ID_MODEL_FROM_DATABASE=PC5 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (PC5 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CT7 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CE7 mainboard) - - pci:v0000102Cd000000D0* - ID_MODEL_FROM_DATABASE=F65545 -@@ -12723,10 +12723,10 @@ pci:v0000102Cd000000E5* - ID_MODEL_FROM_DATABASE=F65555 HiQVPro - - pci:v0000102Cd000000E5sv00000E11sd0000B049* -- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop Display Controller -+ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Armada 1700 Laptop Display Controller) - - pci:v0000102Cd000000E5sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite Pro/Satellite -+ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Satellite Pro/Satellite) - - pci:v0000102Cd000000F0* - ID_MODEL_FROM_DATABASE=F68554 -@@ -12741,16 +12741,16 @@ pci:v0000102Cd00000C30* - ID_MODEL_FROM_DATABASE=F69030 - - pci:v0000102Cd00000C30sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v0000102Cd00000C30sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CT7 mainboard) - - pci:v0000102Cd00000C30sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CE7 mainboard) - - pci:v0000102Cd00000C30sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CT8 mainboard) - - pci:v0000102D* - ID_VENDOR_FROM_DATABASE=Wyse Technology Inc. -@@ -12894,34 +12894,34 @@ pci:v00001033d00000035* - ID_MODEL_FROM_DATABASE=OHCI USB Controller - - pci:v00001033d00000035sv00001033sd00000035* -- ID_MODEL_FROM_DATABASE=USB Controller -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB Controller) - - pci:v00001033d00000035sv0000103Csd00001293* -- ID_MODEL_FROM_DATABASE=USB add-in card -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB add-in card) - - pci:v00001033d00000035sv0000103Csd00001294* -- ID_MODEL_FROM_DATABASE=USB 2.0 add-in card -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB 2.0 add-in card) - - pci:v00001033d00000035sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=USB -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB) - - pci:v00001033d00000035sv000012EEsd00007000* -- ID_MODEL_FROM_DATABASE=Root Hub -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) - - pci:v00001033d00000035sv000014C2sd00000105* -- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PTI-205N USB 2.0 Host Controller) - - pci:v00001033d00000035sv00001799sd00000001* -- ID_MODEL_FROM_DATABASE=Root Hub -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) - - pci:v00001033d00000035sv00001931sd0000000A* -- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (PPP data) -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (PPP data)) - - pci:v00001033d00000035sv00001931sd0000000B* -- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (GSM data) -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (GSM data)) - - pci:v00001033d00000035sv0000807Dsd00000035* -- ID_MODEL_FROM_DATABASE=PCI-USB2 (OHCI subsystem) -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PCI-USB2 (OHCI subsystem)) - - pci:v00001033d0000003B* - ID_MODEL_FROM_DATABASE=PCI to C-bus Bridge -@@ -12942,28 +12942,28 @@ pci:v00001033d00000067* - ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset - - pci:v00001033d00000067sv00001010sd00000020* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) - - pci:v00001033d00000067sv00001010sd00000080* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) - - pci:v00001033d00000067sv00001010sd00000088* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) - - pci:v00001033d00000067sv00001010sd00000090* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) - - pci:v00001033d00000067sv00001010sd00000098* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) - - pci:v00001033d00000067sv00001010sd000000A0* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) - - pci:v00001033d00000067sv00001010sd000000A8* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 32Mb) - - pci:v00001033d00000067sv00001010sd00000120* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) - - pci:v00001033d00000072* - ID_MODEL_FROM_DATABASE=uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr -@@ -12972,7 +12972,7 @@ pci:v00001033d00000074* - ID_MODEL_FROM_DATABASE=56k Voice Modem - - pci:v00001033d00000074sv00001033sd00008014* -- ID_MODEL_FROM_DATABASE=RCV56ACF 56k Voice Modem -+ ID_MODEL_FROM_DATABASE=56k Voice Modem (RCV56ACF 56k Voice Modem) - - pci:v00001033d0000009B* - ID_MODEL_FROM_DATABASE=Vrc5476 -@@ -12987,7 +12987,7 @@ pci:v00001033d000000CD* - ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller - - pci:v00001033d000000CDsv000012EEsd00008011* -- ID_MODEL_FROM_DATABASE=Root hub -+ ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller (Root hub) - - pci:v00001033d000000CE* - ID_MODEL_FROM_DATABASE=uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller -@@ -12999,16 +12999,16 @@ pci:v00001033d000000E0* - ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller - - pci:v00001033d000000E0sv000012EEsd00007001* -- ID_MODEL_FROM_DATABASE=Root hub -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root hub) - - pci:v00001033d000000E0sv000014C2sd00000205* -- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PTI-205N USB 2.0 Host Controller) - - pci:v00001033d000000E0sv00001799sd00000002* -- ID_MODEL_FROM_DATABASE=Root Hub -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root Hub) - - pci:v00001033d000000E0sv0000807Dsd00001043* -- ID_MODEL_FROM_DATABASE=PCI-USB2 (EHCI subsystem) -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PCI-USB2 (EHCI subsystem)) - - pci:v00001033d000000E7* - ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller -@@ -13032,22 +13032,22 @@ pci:v00001033d00000194* - ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller - - pci:v00001033d00000194sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Precision M4600) - - pci:v00001033d00000194sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3350) - - pci:v00001033d00000194sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3750) - - pci:v00001033d00000194sv00001043sd00008413* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (P8P67 Deluxe Motherboard) - - pci:v00001033d00000194sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (QEMU Virtual Machine) - - pci:v00001033d00000194sv00001B96sd00000001* -- ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (USB 3.0 PCIe Card) - - pci:v00001033d000001E7* - ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller -@@ -13116,7 +13116,7 @@ pci:v00001039d00000182* - ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller - - pci:v00001039d00000182sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller (D2030-A1) - - pci:v00001039d00000186* - ID_MODEL_FROM_DATABASE=AHCI Controller (0106) -@@ -13131,7 +13131,7 @@ pci:v00001039d00000200* - ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA - - pci:v00001039d00000200sv00001039sd00000000* -- ID_MODEL_FROM_DATABASE=SiS5597 SVGA (Shared RAM) -+ ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA (SiS5597 SVGA (Shared RAM)) - - pci:v00001039d00000204* - ID_MODEL_FROM_DATABASE=82C204 -@@ -13143,7 +13143,7 @@ pci:v00001039d00000300* - ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter - - pci:v00001039d00000300sv0000107Dsd00002720* -- ID_MODEL_FROM_DATABASE=Leadtek WinFast VR300 -+ ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter (Leadtek WinFast VR300) - - pci:v00001039d00000310* - ID_MODEL_FROM_DATABASE=315H PCI/AGP VGA Display Adapter -@@ -13239,7 +13239,7 @@ pci:v00001039d00000741* - ID_MODEL_FROM_DATABASE=741/741GX/M741 Host - - pci:v00001039d00000741sv00001849sd00000741* -- ID_MODEL_FROM_DATABASE=K7S41/K7S41GX motherboard -+ ID_MODEL_FROM_DATABASE=741/741GX/M741 Host (K7S41/K7S41GX motherboard) - - pci:v00001039d00000745* - ID_MODEL_FROM_DATABASE=745 Host -@@ -13257,25 +13257,25 @@ pci:v00001039d00000761* - ID_MODEL_FROM_DATABASE=761/M761 Host - - pci:v00001039d00000761sv00001734sd00001099* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=761/M761 Host (D2030-A1 Motherboard) - - pci:v00001039d00000900* - ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet - - pci:v00001039d00000900sv00001019sd00000A14* -- ID_MODEL_FROM_DATABASE=K7S5A motherboard -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (K7S5A motherboard) - - pci:v00001039d00000900sv00001039sd00000900* -- ID_MODEL_FROM_DATABASE=SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA] -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA]) - - pci:v00001039d00000900sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (CUSI-FX motherboard) - - pci:v00001039d00000900sv00001043sd000080A7* -- ID_MODEL_FROM_DATABASE=Motherboard P4S800D-X -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (Motherboard P4S800D-X) - - pci:v00001039d00000900sv00001462sd00000900* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (MS-6701 motherboard) - - pci:v00001039d00000961* - ID_MODEL_FROM_DATABASE=SiS961 [MuTIOL Media IO] -@@ -13335,22 +13335,22 @@ pci:v00001039d00005513* - ID_MODEL_FROM_DATABASE=5513 IDE Controller - - pci:v00001039d00005513sv00001019sd00000970* -- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (P6STP-FL motherboard) - - pci:v00001039d00005513sv00001039sd00005513* -- ID_MODEL_FROM_DATABASE=SiS5513 EIDE Controller (A,B step) -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (SiS5513 EIDE Controller (A,B step)) - - pci:v00001039d00005513sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (CUSI-FX motherboard) - - pci:v00001039d00005513sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (MS-6701 motherboard) - - pci:v00001039d00005513sv00001631sd00005513* -- ID_MODEL_FROM_DATABASE=GA-8SIML Rev1.0 Motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (GA-8SIML Rev1.0 Motherboard) - - pci:v00001039d00005513sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (D2030-A1 Motherboard) - - pci:v00001039d00005517* - ID_MODEL_FROM_DATABASE=5517 -@@ -13389,13 +13389,13 @@ pci:v00001039d00006300* - ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter - - pci:v00001039d00006300sv00001019sd00000970* -- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard -+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (P6STP-FL motherboard) - - pci:v00001039d00006300sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (CUSI-FX motherboard) - - pci:v00001039d00006300sv0000104Dsd000080E2* -- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 -+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (VAIO PCV-J200) - - pci:v00001039d00006306* - ID_MODEL_FROM_DATABASE=530/620 PCI/AGP VGA Display Adapter -@@ -13404,49 +13404,49 @@ pci:v00001039d00006325* - ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter - - pci:v00001039d00006325sv00001039sd00006325* -- ID_MODEL_FROM_DATABASE=SiS 651 onboard [Asus P4SC-EA] -+ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651 onboard [Asus P4SC-EA]) - - pci:v00001039d00006325sv00001631sd00001004* -- ID_MODEL_FROM_DATABASE=SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] -+ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651C onboard [Gigabyte GA-8SIML Rev1.0]) - - pci:v00001039d00006326* - ID_MODEL_FROM_DATABASE=86C326 5598/6326 - - pci:v00001039d00006326sv00001039sd00006326* -- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) - - pci:v00001039d00006326sv00001092sd00000A50* -- ID_MODEL_FROM_DATABASE=SpeedStar A50 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A50) - - pci:v00001039d00006326sv00001092sd00000A70* -- ID_MODEL_FROM_DATABASE=SpeedStar A70 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) - - pci:v00001039d00006326sv00001092sd00004910* -- ID_MODEL_FROM_DATABASE=SpeedStar A70 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) - - pci:v00001039d00006326sv00001092sd00004920* -- ID_MODEL_FROM_DATABASE=SpeedStar A70 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) - - pci:v00001039d00006326sv000010B0sd00006326* -- ID_MODEL_FROM_DATABASE=S6110-B (AGP) -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (S6110-B (AGP)) - - pci:v00001039d00006326sv00001569sd00006326* -- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) - - pci:v00001039d00006330* - ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter - - pci:v00001039d00006330sv00001039sd00006330* -- ID_MODEL_FROM_DATABASE=[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter ([M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter) - - pci:v00001039d00006330sv00001043sd00008113* -- ID_MODEL_FROM_DATABASE=SiS Real 256E (ASUS P5S800-VM motherboard) -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS Real 256E (ASUS P5S800-VM motherboard)) - - pci:v00001039d00006330sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=SiS661FX GUI 2D/3D Accelerator -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS661FX GUI 2D/3D Accelerator) - - pci:v00001039d00006330sv00001734sd00001099* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (D2030-A1) - - pci:v00001039d00006350* - ID_MODEL_FROM_DATABASE=770/670 PCIE VGA Display Adapter -@@ -13458,70 +13458,70 @@ pci:v00001039d00007001* - ID_MODEL_FROM_DATABASE=USB 1.1 Controller - - pci:v00001039d00007001sv00001019sd00000A14* -- ID_MODEL_FROM_DATABASE=K7S5A motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (K7S5A motherboard) - - pci:v00001039d00007001sv00001039sd00007000* -- ID_MODEL_FROM_DATABASE=Onboard USB Controller -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Onboard USB Controller) - - pci:v00001039d00007001sv00001462sd00005470* -- ID_MODEL_FROM_DATABASE=ECS K7SOM+ motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ECS K7SOM+ motherboard) - - pci:v00001039d00007001sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (MS-6701 motherboard) - - pci:v00001039d00007001sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (D2030-A1 Motherboard) - - pci:v00001039d00007002* - ID_MODEL_FROM_DATABASE=USB 2.0 Controller - - pci:v00001039d00007002sv00001462sd00005470* -- ID_MODEL_FROM_DATABASE=K7SOM+ 5.2C Motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (K7SOM+ 5.2C Motherboard) - - pci:v00001039d00007002sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (MS-6701 motherboard) - - pci:v00001039d00007002sv00001509sd00007002* -- ID_MODEL_FROM_DATABASE=Onboard USB Controller -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (Onboard USB Controller) - - pci:v00001039d00007002sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (D2030-A1) - - pci:v00001039d00007007* - ID_MODEL_FROM_DATABASE=FireWire Controller - - pci:v00001039d00007007sv00001462sd0000701D* -- ID_MODEL_FROM_DATABASE=MS-6701 -+ ID_MODEL_FROM_DATABASE=FireWire Controller (MS-6701) - - pci:v00001039d00007012* - ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller - - pci:v00001039d00007012sv00001019sd00000F05* -- ID_MODEL_FROM_DATABASE=A928 (i-Buddie) -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A928 (i-Buddie)) - - pci:v00001039d00007012sv00001039sd00007012* -- ID_MODEL_FROM_DATABASE=SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller) - - pci:v00001039d00007012sv00001043sd0000818F* -- ID_MODEL_FROM_DATABASE=A8S-X Motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A8S-X Motherboard) - - pci:v00001039d00007012sv000013F6sd00000300* -- ID_MODEL_FROM_DATABASE=CMI9739(A) on ECS K7SOM+ motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (CMI9739(A) on ECS K7SOM+ motherboard) - - pci:v00001039d00007012sv00001462sd00005850* -- ID_MODEL_FROM_DATABASE=MSI 648 Max (MS-6585) -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MSI 648 Max (MS-6585)) - - pci:v00001039d00007012sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MS-6701 motherboard) - - pci:v00001039d00007012sv000015BDsd00001001* -- ID_MODEL_FROM_DATABASE=DFI 661FX motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (DFI 661FX motherboard) - - pci:v00001039d00007012sv00001734sd0000109F* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (D2030-A1 Motherboard) - - pci:v00001039d00007012sv00001849sd00007012* -- ID_MODEL_FROM_DATABASE=K7S41GX motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (K7S41GX motherboard) - - pci:v00001039d00007013* - ID_MODEL_FROM_DATABASE=AC'97 Modem Controller -@@ -13530,7 +13530,7 @@ pci:v00001039d00007016* - ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter - - pci:v00001039d00007016sv00001039sd00007016* -- ID_MODEL_FROM_DATABASE=SiS7016 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter (SiS7016 10/100 Ethernet Adapter) - - pci:v00001039d00007018* - ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator -@@ -13560,7 +13560,7 @@ pci:v00001039d00007018sv00001043sd0000800B* - ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator - - pci:v00001039d00007018sv0000104Dsd000080E2* -- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 -+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator (VAIO PCV-J200) - - pci:v00001039d00007018sv00001054sd00007018* - ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator -@@ -13635,25 +13635,25 @@ pci:v0000103Cd00001029* - ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter - - pci:v0000103Cd00001029sv0000107Esd0000000F* -- ID_MODEL_FROM_DATABASE=Interphase 5560 Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (Interphase 5560 Fibre Channel Adapter) - - pci:v0000103Cd00001029sv00009004sd00009210* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd00001029sv00009004sd00009211* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd0000102A* - ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter - - pci:v0000103Cd0000102Asv0000107Esd0000000E* -- ID_MODEL_FROM_DATABASE=Interphase 5540/5541 Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (Interphase 5540/5541 Fibre Channel Adapter) - - pci:v0000103Cd0000102Asv00009004sd00009110* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd0000102Asv00009004sd00009111* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd00001030* - ID_MODEL_FROM_DATABASE=J2585A DeskDirect 10/100VG NIC -@@ -13662,13 +13662,13 @@ pci:v0000103Cd00001031* - ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter - - pci:v0000103Cd00001031sv0000103Csd00001040* -- ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC -+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2973A DeskDirect 10BaseT NIC) - - pci:v0000103Cd00001031sv0000103Csd00001041* -- ID_MODEL_FROM_DATABASE=J2585B DeskDirect 10/100VG NIC -+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2585B DeskDirect 10/100VG NIC) - - pci:v0000103Cd00001031sv0000103Csd00001042* -- ID_MODEL_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC -+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2970A DeskDirect 10BaseT/2 NIC) - - pci:v0000103Cd00001040* - ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC -@@ -13683,28 +13683,28 @@ pci:v0000103Cd00001048* - ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART - - pci:v0000103Cd00001048sv0000103Csd00001049* -- ID_MODEL_FROM_DATABASE=Tosca Console -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Console) - - pci:v0000103Cd00001048sv0000103Csd0000104A* -- ID_MODEL_FROM_DATABASE=Tosca Secondary -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Secondary) - - pci:v0000103Cd00001048sv0000103Csd0000104B* -- ID_MODEL_FROM_DATABASE=Maestro SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Maestro SP2) - - pci:v0000103Cd00001048sv0000103Csd00001223* -- ID_MODEL_FROM_DATABASE=Superdome Console -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Superdome Console) - - pci:v0000103Cd00001048sv0000103Csd00001226* -- ID_MODEL_FROM_DATABASE=Keystone SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Keystone SP2) - - pci:v0000103Cd00001048sv0000103Csd00001227* -- ID_MODEL_FROM_DATABASE=Powerbar SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Powerbar SP2) - - pci:v0000103Cd00001048sv0000103Csd00001282* -- ID_MODEL_FROM_DATABASE=Everest SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Everest SP2) - - pci:v0000103Cd00001048sv0000103Csd00001301* -- ID_MODEL_FROM_DATABASE=Diva RMP3 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Diva RMP3) - - pci:v0000103Cd00001054* - ID_MODEL_FROM_DATABASE=PCI Local Bus Adapter -@@ -13758,7 +13758,7 @@ pci:v0000103Cd00001290* - ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port - - pci:v0000103Cd00001290sv0000103Csd00001291* -- ID_MODEL_FROM_DATABASE=Diva SP2 -+ ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port (Diva SP2) - - pci:v0000103Cd00001291* - ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port -@@ -13794,208 +13794,208 @@ pci:v0000103Cd00003220* - ID_MODEL_FROM_DATABASE=Smart Array P600 - - pci:v0000103Cd00003220sv0000103Csd00003225* -- ID_MODEL_FROM_DATABASE=3 Gb/s SAS RAID -+ ID_MODEL_FROM_DATABASE=Smart Array P600 (3 Gb/s SAS RAID) - - pci:v0000103Cd00003230* - ID_MODEL_FROM_DATABASE=Smart Array Controller - - pci:v0000103Cd00003230sv0000103Csd00003223* -- ID_MODEL_FROM_DATABASE=Smart Array P800 -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (Smart Array P800) - - pci:v0000103Cd00003230sv0000103Csd00003234* -- ID_MODEL_FROM_DATABASE=P400 SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400 SAS Controller) - - pci:v0000103Cd00003230sv0000103Csd00003235* -- ID_MODEL_FROM_DATABASE=P400i SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400i SAS Controller) - - pci:v0000103Cd00003230sv0000103Csd00003237* -- ID_MODEL_FROM_DATABASE=E500 SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (E500 SAS Controller) - - pci:v0000103Cd00003230sv0000103Csd0000323D* -- ID_MODEL_FROM_DATABASE=P700m SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (P700m SAS Controller) - - pci:v0000103Cd00003238* - ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) - - pci:v0000103Cd00003238sv0000103Csd00003211* -- ID_MODEL_FROM_DATABASE=Smart Array E200i -+ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200i) - - pci:v0000103Cd00003238sv0000103Csd00003212* -- ID_MODEL_FROM_DATABASE=Smart Array E200 -+ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200) - - pci:v0000103Cd00003239* - ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers - - pci:v0000103Cd00003239sv0000103Csd000021BD* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021BE* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021BF* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C0* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C1* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C2* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C3* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C4* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C5* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C6* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C7* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C8* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C9* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CA* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CB* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CC* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CD* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CE* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd0000323A* - ID_MODEL_FROM_DATABASE=Smart Array G6 controllers - - pci:v0000103Cd0000323Asv0000103Csd00003241* -- ID_MODEL_FROM_DATABASE=Smart Array P212 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P212) - - pci:v0000103Cd0000323Asv0000103Csd00003243* -- ID_MODEL_FROM_DATABASE=Smart Array P410 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410) - - pci:v0000103Cd0000323Asv0000103Csd00003245* -- ID_MODEL_FROM_DATABASE=Smart Array P410i -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410i) - - pci:v0000103Cd0000323Asv0000103Csd00003247* -- ID_MODEL_FROM_DATABASE=Smart Array P411 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P411) - - pci:v0000103Cd0000323Asv0000103Csd00003249* -- ID_MODEL_FROM_DATABASE=Smart Array P812 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P812) - - pci:v0000103Cd0000323Asv0000103Csd0000324A* -- ID_MODEL_FROM_DATABASE=HP Smart Array 712m (Mezzanine RAID controller) -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (HP Smart Array 712m (Mezzanine RAID controller)) - - pci:v0000103Cd0000323Asv0000103Csd0000324B* -- ID_MODEL_FROM_DATABASE=Smart Array P711m (Mezzanine RAID controller) -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P711m (Mezzanine RAID controller)) - - pci:v0000103Cd0000323B* - ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers - - pci:v0000103Cd0000323Bsv0000103Csd00003350* -- ID_MODEL_FROM_DATABASE=P222 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P222) - - pci:v0000103Cd0000323Bsv0000103Csd00003351* -- ID_MODEL_FROM_DATABASE=P420 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420) - - pci:v0000103Cd0000323Bsv0000103Csd00003352* -- ID_MODEL_FROM_DATABASE=P421 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P421) - - pci:v0000103Cd0000323Bsv0000103Csd00003354* -- ID_MODEL_FROM_DATABASE=P420i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420i) - - pci:v0000103Cd0000323Bsv0000103Csd00003355* -- ID_MODEL_FROM_DATABASE=P220i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P220i) - - pci:v0000103Cd0000323C* - ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers - - pci:v0000103Cd0000323Csv0000103Csd00001920* -- ID_MODEL_FROM_DATABASE=P430i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430i) - - pci:v0000103Cd0000323Csv0000103Csd00001921* -- ID_MODEL_FROM_DATABASE=P830i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830i) - - pci:v0000103Cd0000323Csv0000103Csd00001922* -- ID_MODEL_FROM_DATABASE=P430 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430) - - pci:v0000103Cd0000323Csv0000103Csd00001923* -- ID_MODEL_FROM_DATABASE=P431 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P431) - - pci:v0000103Cd0000323Csv0000103Csd00001924* -- ID_MODEL_FROM_DATABASE=P830 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830) - - pci:v0000103Cd0000323Csv0000103Csd00001925* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (Smart Array) - - pci:v0000103Cd0000323Csv0000103Csd00001926* -- ID_MODEL_FROM_DATABASE=P731m -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P731m) - - pci:v0000103Cd0000323Csv0000103Csd00001928* -- ID_MODEL_FROM_DATABASE=P230i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P230i) - - pci:v0000103Cd00003300* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller - - pci:v0000103Cd00003300sv0000103Csd00003304* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) - - pci:v0000103Cd00003300sv0000103Csd00003305* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) - - pci:v0000103Cd00003300sv0000103Csd00003309* -- ID_MODEL_FROM_DATABASE=iLO2 GXL/iLO3 GXE -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2 GXL/iLO3 GXE) - - pci:v0000103Cd00003300sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO3) - - pci:v0000103Cd00003300sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO4) - - pci:v0000103Cd00003301* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port - - pci:v0000103Cd00003301sv0000103Csd00003304* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) - - pci:v0000103Cd00003301sv0000103Csd00003305* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) - - pci:v0000103Cd00003301sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO3) - - pci:v0000103Cd00003301sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO4) - - pci:v0000103Cd00003302* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface - - pci:v0000103Cd00003302sv0000103Csd00003304* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) - - pci:v0000103Cd00003302sv0000103Csd00003305* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) - - pci:v0000103Cd00003302sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO3) - - pci:v0000103Cd00003302sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO4) - - pci:v0000103Cd00003305* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out (iLO2) Controller -@@ -14004,31 +14004,31 @@ pci:v0000103Cd00003306* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support - - pci:v0000103Cd00003306sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO3) - - pci:v0000103Cd00003306sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO4) - - pci:v0000103Cd00003307* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging - - pci:v0000103Cd00003307sv0000103Csd00003309* -- ID_MODEL_FROM_DATABASE=iLO 2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO 2) - - pci:v0000103Cd00003307sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO3) - - pci:v0000103Cd00003307sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO4) - - pci:v0000103Cd00003308* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer - - pci:v0000103Cd00003308sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO3) - - pci:v0000103Cd00003308sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO4) - - pci:v0000103Cd0000402F* - ID_MODEL_FROM_DATABASE=PCIe Root Port -@@ -14082,19 +14082,19 @@ pci:v00001043d00000675* - ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D - - pci:v00001043d00000675sv00000675sd00001704* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) -+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, D, C)) - - pci:v00001043d00000675sv00000675sd00001707* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001043d00000675sv000010CFsd0000105E* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001043d00009602* - ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) - - pci:v00001043d00009602sv00001043sd000083A2* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) (M4A785TD Motherboard) - - pci:v00001044* - ID_VENDOR_FROM_DATABASE=Adaptec (formerly DPT) -@@ -14112,118 +14112,118 @@ pci:v00001044d0000A501* - ID_MODEL_FROM_DATABASE=SmartRAID V Controller - - pci:v00001044d0000A501sv00001044sd0000C001* -- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C002* -- ID_MODEL_FROM_DATABASE=PM1654U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1654U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C003* -- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C004* -- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C005* -- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C00A* -- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C00B* -- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C00C* -- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C00D* -- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C00E* -- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C00F* -- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C014* -- ID_MODEL_FROM_DATABASE=PM3754U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3754U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C015* -- ID_MODEL_FROM_DATABASE=PM3755U2B Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755U2B Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C016* -- ID_MODEL_FROM_DATABASE=PM3755F Fibre Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755F Fibre Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C01E* -- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C01F* -- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C020* -- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C021* -- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Quad Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Quad Channel) - - pci:v00001044d0000A501sv00001044sd0000C028* -- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C029* -- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C02A* -- ID_MODEL_FROM_DATABASE=PM2865F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C03C* -- ID_MODEL_FROM_DATABASE=2000S Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C03D* -- ID_MODEL_FROM_DATABASE=2000S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C03E* -- ID_MODEL_FROM_DATABASE=2000F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C046* -- ID_MODEL_FROM_DATABASE=3000S Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C047* -- ID_MODEL_FROM_DATABASE=3000S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C048* -- ID_MODEL_FROM_DATABASE=3000F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C050* -- ID_MODEL_FROM_DATABASE=5000S Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C051* -- ID_MODEL_FROM_DATABASE=5000S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C052* -- ID_MODEL_FROM_DATABASE=5000F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C05A* -- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel) - - pci:v00001044d0000A501sv00001044sd0000C05B* -- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel DAC -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel DAC) - - pci:v00001044d0000A501sv00001044sd0000C064* -- ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C065* -- ID_MODEL_FROM_DATABASE=3410S Ultra160 Four Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3410S Ultra160 Four Channel) - - pci:v00001044d0000A501sv00001044sd0000C066* -- ID_MODEL_FROM_DATABASE=3010S Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Fibre Channel) - - pci:v00001044d0000A511* - ID_MODEL_FROM_DATABASE=SmartRAID V Controller - - pci:v00001044d0000A511sv00001044sd0000C032* -- ID_MODEL_FROM_DATABASE=ASR-2005S I2O Zero Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2005S I2O Zero Channel) - - pci:v00001044d0000A511sv00001044sd0000C035* -- ID_MODEL_FROM_DATABASE=ASR-2010S I2O Zero Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2010S I2O Zero Channel) - - pci:v00001044d0000C066* - ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel -@@ -14325,7 +14325,7 @@ pci:v00001048d00008901* - ID_MODEL_FROM_DATABASE=Gloria XL - - pci:v00001048d00008901sv00001048sd00000935* -- ID_MODEL_FROM_DATABASE=GLoria XL (Virge) -+ ID_MODEL_FROM_DATABASE=Gloria XL (GLoria XL (Virge)) - - pci:v00001049* - ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc. -@@ -14346,19 +14346,19 @@ pci:v0000104Ad00000010* - ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] - - pci:v0000104Ad00000010sv0000104Asd00004018* -- ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (ST PowerVR Kyro (64MB AGP TVO)) - - pci:v0000104Ad00000010sv00001681sd00000010* -- ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (PowerVR Kyro II [3D Prophet 4500]) - - pci:v0000104Ad00000010sv00001681sd00000028* -- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) - - pci:v0000104Ad00000010sv00001681sd0000C010* -- ID_MODEL_FROM_DATABASE=3D Prophet 4500 TV-Out -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4500 TV-Out) - - pci:v0000104Ad00000010sv00001681sd0000C069* -- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) - - pci:v0000104Ad00000201* - ID_MODEL_FROM_DATABASE=STPC Vega Northbridge -@@ -14400,7 +14400,7 @@ pci:v0000104Ad00000500* - ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver - - pci:v0000104Ad00000500sv0000104Asd00000500* -- ID_MODEL_FROM_DATABASE=BeWAN ADSL PCI st -+ ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver (BeWAN ADSL PCI st) - - pci:v0000104Ad00000564* - ID_MODEL_FROM_DATABASE=STPC Client Northbridge -@@ -14454,115 +14454,115 @@ pci:v0000104Cd00003D07* - ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] - - pci:v0000104Cd00003D07sv00001011sd00004D10* -- ID_MODEL_FROM_DATABASE=Comet -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Comet) - - pci:v0000104Cd00003D07sv00001040sd0000000F* -- ID_MODEL_FROM_DATABASE=AccelStar II -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) - - pci:v0000104Cd00003D07sv00001040sd00000011* -- ID_MODEL_FROM_DATABASE=AccelStar II -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) - - pci:v0000104Cd00003D07sv00001048sd00000A31* -- ID_MODEL_FROM_DATABASE=WINNER 2000 -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WINNER 2000) - - pci:v0000104Cd00003D07sv00001048sd00000A32* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A34* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A35* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A36* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A43* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A44* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv0000107Dsd00002633* -- ID_MODEL_FROM_DATABASE=WinFast 3D L2300 -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WinFast 3D L2300) - - pci:v0000104Cd00003D07sv00001092sd00000126* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000127* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000136* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000141* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000146* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000148* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000149* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000152* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000154* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000155* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000156* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000157* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001097sd00003D01* -- ID_MODEL_FROM_DATABASE=Jeronimo Pro -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Jeronimo Pro) - - pci:v0000104Cd00003D07sv00001102sd0000100F* -- ID_MODEL_FROM_DATABASE=Graphics Blaster Extreme -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Graphics Blaster Extreme) - - pci:v0000104Cd00003D07sv00003D3Dsd00000100* -- ID_MODEL_FROM_DATABASE=Reference Permedia 2 3D -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Reference Permedia 2 3D) - - pci:v0000104Cd00008000* - ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller - - pci:v0000104Cd00008000sv0000105Esd00008003* -- ID_MODEL_FROM_DATABASE=FireBoard200 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) - - pci:v0000104Cd00008000sv00001443sd00008003* -- ID_MODEL_FROM_DATABASE=FireBoard200 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) - - pci:v0000104Cd00008000sv00001443sd00008005* -- ID_MODEL_FROM_DATABASE=FireBoard400 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) - - pci:v0000104Cd00008000sv00001443sd00008006* -- ID_MODEL_FROM_DATABASE=FireBoard400 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) - - pci:v0000104Cd00008000sv0000E4BFsd00001010* -- ID_MODEL_FROM_DATABASE=CF1-1-SNARE -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-1-SNARE) - - pci:v0000104Cd00008000sv0000E4BFsd00001020* -- ID_MODEL_FROM_DATABASE=CF1-2-SNARE -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-2-SNARE) - - pci:v0000104Cd00008000sv0000E4BFsd00001040* -- ID_MODEL_FROM_DATABASE=FireCompact400 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireCompact400) - - pci:v0000104Cd00008009* - ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller - - pci:v0000104Cd00008009sv0000104Dsd00008032* -- ID_MODEL_FROM_DATABASE=8032 OHCI i.LINK (IEEE 1394) Controller -+ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (8032 OHCI i.LINK (IEEE 1394) Controller) - - pci:v0000104Cd00008009sv00001443sd00008010* -- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI -+ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (FireBoard400-OHCI) - - pci:v0000104Cd00008017* - ID_MODEL_FROM_DATABASE=PCI4410 FireWire Controller -@@ -14571,223 +14571,223 @@ pci:v0000104Cd00008019* - ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller - - pci:v0000104Cd00008019sv000011BDsd0000000A* -- ID_MODEL_FROM_DATABASE=Studio DV500-1394 -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV500-1394) - - pci:v0000104Cd00008019sv000011BDsd0000000E* -- ID_MODEL_FROM_DATABASE=Studio DV -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV) - - pci:v0000104Cd00008019sv00001443sd00008010* -- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (FireBoard400-OHCI) - - pci:v0000104Cd00008019sv0000E4BFsd00001010* -- ID_MODEL_FROM_DATABASE=CF2-1-CYMBAL -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (CF2-1-CYMBAL) - - pci:v0000104Cd00008020* - ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) - - pci:v0000104Cd00008020sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Precision 530) - - pci:v0000104Cd00008020sv0000104Dsd000080E2* -- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (VAIO PCV-J200) - - pci:v0000104Cd00008020sv000011BDsd0000000F* -- ID_MODEL_FROM_DATABASE=Studio DV500-1394 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Studio DV500-1394) - - pci:v0000104Cd00008020sv000011BDsd0000001C* -- ID_MODEL_FROM_DATABASE=Excalibur 4.1 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Excalibur 4.1) - - pci:v0000104Cd00008020sv00001443sd00008010* -- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (FireBoard400-OHCI) - - pci:v0000104Cd00008021* - ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) - - pci:v0000104Cd00008021sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (Vaio PCG-FX403) - - pci:v0000104Cd00008021sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v0000104Cd00008022* - ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] - - pci:v0000104Cd00008022sv0000104Csd00008023* -- ID_MODEL_FROM_DATABASE=TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) -+ ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)) - - pci:v0000104Cd00008023* - ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] - - pci:v0000104Cd00008023sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Precision Workstation 670 Mainboard) - - pci:v0000104Cd00008023sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (NC8000 laptop) - - pci:v0000104Cd00008023sv00001043sd0000808B* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (K8N4/A8N Series Mainboard) - - pci:v0000104Cd00008023sv00001043sd0000815B* -- ID_MODEL_FROM_DATABASE=P5W DH Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (P5W DH Deluxe Motherboard) - - pci:v0000104Cd00008023sv00001443sd00008023* -- ID_MODEL_FROM_DATABASE=FireCard400 -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (FireCard400) - - pci:v0000104Cd00008023sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Desktop Board DP35DP) - - pci:v0000104Cd00008024* - ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) - - pci:v0000104Cd00008024sv0000107Dsd00006620* -- ID_MODEL_FROM_DATABASE=Winfast DV2000 FireWire Controller -+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Winfast DV2000 FireWire Controller) - - pci:v0000104Cd00008024sv00001443sd00008024* -- ID_MODEL_FROM_DATABASE=FireBoard Blue -+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (FireBoard Blue) - - pci:v0000104Cd00008024sv00001458sd00001000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Motherboard) - - pci:v0000104Cd00008025* - ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller - - pci:v0000104Cd00008025sv00001043sd0000813C* -- ID_MODEL_FROM_DATABASE=P5P series mainboard -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (P5P series mainboard) - - pci:v0000104Cd00008025sv00001443sd00008025* -- ID_MODEL_FROM_DATABASE=FireBoard800 -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FireBoard800) - - pci:v0000104Cd00008025sv00001458sd00001000* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GA-K8N Ultra-9 Mainboard) - - pci:v0000104Cd00008025sv00001546sd00008025* -- ID_MODEL_FROM_DATABASE=FWB-PCI01 -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FWB-PCI01) - - pci:v0000104Cd00008025sv000017FCsd00008025* -- ID_MODEL_FROM_DATABASE=GIC3800 -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GIC3800) - - pci:v0000104Cd00008026* - ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) - - pci:v0000104Cd00008026sv00001025sd00000035* -- ID_MODEL_FROM_DATABASE=TravelMate 660 -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (TravelMate 660) - - pci:v0000104Cd00008026sv00001025sd0000003C* -- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compaq CL50 motherboard) -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (Aspire 2001WLCi (Compaq CL50 motherboard)) - - pci:v0000104Cd00008026sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (XE4500 Notebook) - - pci:v0000104Cd00008026sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (NX9500) - - pci:v0000104Cd00008026sv00001043sd0000808D* -- ID_MODEL_FROM_DATABASE=A7V333 mainboard. -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (A7V333 mainboard.) - - pci:v0000104Cd00008027* - ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller - - pci:v0000104Cd00008027sv00001028sd000000E5* -- ID_MODEL_FROM_DATABASE=Latitude C810 -+ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Latitude C810) - - pci:v0000104Cd00008027sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller ((Dell Inspiron 8100)) - - pci:v0000104Cd00008029* - ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller - - pci:v0000104Cd00008029sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Latitude D505) - - pci:v0000104Cd00008029sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Inspiron 5160) - - pci:v0000104Cd00008029sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2900 -+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (MIM2900) - - pci:v0000104Cd0000802B* - ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller - - pci:v0000104Cd0000802Bsv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D400) - - pci:v0000104Cd0000802Bsv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) -+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller ((Latitude D800)) - - pci:v0000104Cd0000802E* - ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller - - pci:v0000104Cd0000802Esv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller (Inspiron 700m/710m) - - pci:v0000104Cd00008031* - ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller - - pci:v0000104Cd00008031sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008031sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008031sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (NX6110/NC6120) - - pci:v0000104Cd00008031sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (MX6125) - - pci:v0000104Cd00008032* - ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller - - pci:v0000104Cd00008032sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008032sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008032sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (NX6110/NC6120) - - pci:v0000104Cd00008032sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (MX6125) - - pci:v0000104Cd00008033* - ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller - - pci:v0000104Cd00008033sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008033sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008033sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (NX6110/NC6120) - - pci:v0000104Cd00008033sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (MX6125) - - pci:v0000104Cd00008034* - ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller - - pci:v0000104Cd00008034sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008034sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008034sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (NX6110/NC6120) - - pci:v0000104Cd00008034sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (MX6125) - - pci:v0000104Cd00008035* - ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller - - pci:v0000104Cd00008035sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008035sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (NX6110/NC6120) - - pci:v0000104Cd00008036* - ID_MODEL_FROM_DATABASE=PCI6515 Cardbus Controller -@@ -14799,67 +14799,67 @@ pci:v0000104Cd00008039* - ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller - - pci:v0000104Cd00008039sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nx9420 Notebook) - - pci:v0000104Cd00008039sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (NC2400) - - pci:v0000104Cd00008039sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nw8440) - - pci:v0000104Cd00008039sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (VAIO VGN-NR120E) - - pci:v0000104Cd0000803A* - ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller - - pci:v0000104Cd0000803Asv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=nx9420 -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (nx9420) - - pci:v0000104Cd0000803Asv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (NC2400) - - pci:v0000104Cd0000803Asv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (Compaq nw8440) - - pci:v0000104Cd0000803Asv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (VAIO VGN-NR120E) - - pci:v0000104Cd0000803B* - ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) - - pci:v0000104Cd0000803Bsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=nx9420 -+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (nx9420) - - pci:v0000104Cd0000803Bsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (Compaq nw8440) - - pci:v0000104Cd0000803Bsv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (VAIO VGN-NR120E) - - pci:v0000104Cd0000803C* - ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller - - pci:v0000104Cd0000803Csv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=nx9420 -+ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (nx9420) - - pci:v0000104Cd0000803Csv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (Compaq nw8440) - - pci:v0000104Cd0000803D* - ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller - - pci:v0000104Cd0000803Dsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (Compaq nx9420 Notebook) - - pci:v0000104Cd0000803Dsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (NC2400) - - pci:v0000104Cd0000803Dsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=nc8430 -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc8430) - - pci:v0000104Cd0000803Dsv0000103Csd000030AA* -- ID_MODEL_FROM_DATABASE=nc6310 -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc6310) - - pci:v0000104Cd00008101* - ID_MODEL_FROM_DATABASE=TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) -@@ -14871,16 +14871,16 @@ pci:v0000104Cd00008204* - ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function - - pci:v0000104Cd00008204sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D400) - - pci:v0000104Cd00008204sv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=Latitude D800 -+ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D800) - - pci:v0000104Cd00008231* - ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge - - pci:v0000104Cd00008231sv00005678sd00001234* -- ID_MODEL_FROM_DATABASE=DC-1394 PCIe -+ ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge (DC-1394 PCIe) - - pci:v0000104Cd00008232* - ID_MODEL_FROM_DATABASE=XIO3130 PCI Express Switch (Upstream) -@@ -14892,7 +14892,7 @@ pci:v0000104Cd00008235* - ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) - - pci:v0000104Cd00008235sv00005678sd00001234* -- ID_MODEL_FROM_DATABASE=DC-1394 PCIe -+ ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) (DC-1394 PCIe) - - pci:v0000104Cd0000823E* - ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] -@@ -14901,7 +14901,7 @@ pci:v0000104Cd0000823F* - ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] - - pci:v0000104Cd0000823Fsv00001546sd0000803C* -- ID_MODEL_FROM_DATABASE=FWB-PCIE1X11B -+ ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (FWB-PCIE1X11B) - - pci:v0000104Cd00008240* - ID_MODEL_FROM_DATABASE=XIO2001 PCI Express-to-PCI Bridge -@@ -14913,16 +14913,16 @@ pci:v0000104Cd00008400* - ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface - - pci:v0000104Cd00008400sv00001186sd00003B00* -- ID_MODEL_FROM_DATABASE=DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]) - - pci:v0000104Cd00008400sv00001186sd00003B01* -- ID_MODEL_FROM_DATABASE=DWL-520+ 22Mbps PCI Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-520+ 22Mbps PCI Wireless Adapter) - - pci:v0000104Cd00008400sv00001395sd00002201* -- ID_MODEL_FROM_DATABASE=WL22-PC -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL22-PC) - - pci:v0000104Cd00008400sv000016ABsd00008501* -- ID_MODEL_FROM_DATABASE=WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter) - - pci:v0000104Cd00008401* - ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface -@@ -14937,58 +14937,58 @@ pci:v0000104Cd00009066* - ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface - - pci:v0000104Cd00009066sv00000308sd00003404* -- ID_MODEL_FROM_DATABASE=G-102 v1 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-102 v1 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv00000308sd00003406* -- ID_MODEL_FROM_DATABASE=G-162 v2 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v2 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv0000104Csd00009066* -- ID_MODEL_FROM_DATABASE=WL212 Sitecom Wireless Network PCI-Card 100M (Version 1) -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WL212 Sitecom Wireless Network PCI-Card 100M (Version 1)) - - pci:v0000104Cd00009066sv0000104Csd00009067* -- ID_MODEL_FROM_DATABASE=TNETW1130GVF -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (TNETW1130GVF) - - pci:v0000104Cd00009066sv0000104Csd00009096* -- ID_MODEL_FROM_DATABASE=Trendnet TEW-412PC Wireless PCI Adapter (Version A) -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Trendnet TEW-412PC Wireless PCI Adapter (Version A)) - - pci:v0000104Cd00009066sv00001186sd00003B04* -- ID_MODEL_FROM_DATABASE=DWL-G520+ Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G520+ Wireless PCI Adapter) - - pci:v0000104Cd00009066sv00001186sd00003B05* -- ID_MODEL_FROM_DATABASE=DWL-G650+ AirPlusG+ CardBus Wireless LAN -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G650+ AirPlusG+ CardBus Wireless LAN) - - pci:v0000104Cd00009066sv00001186sd00003B08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1) -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1)) - - pci:v0000104Cd00009066sv00001385sd00004C00* -- ID_MODEL_FROM_DATABASE=WG311v2 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WG311v2 802.11g Wireless PCI Adapter) - - pci:v0000104Cd00009066sv000013D1sd0000ABA0* -- ID_MODEL_FROM_DATABASE=SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+) - - pci:v0000104Cd00009066sv000014EAsd0000AB07* -- ID_MODEL_FROM_DATABASE=GW-NS54GM Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (GW-NS54GM Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv000016ECsd0000010D* -- ID_MODEL_FROM_DATABASE=USR5416 802.11g Wireless Turbo PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5416 802.11g Wireless Turbo PCI Adapter) - - pci:v0000104Cd00009066sv000016ECsd0000010E* -- ID_MODEL_FROM_DATABASE=USR5410 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5410 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv00001737sd00000033* -- ID_MODEL_FROM_DATABASE=WPC54G v2 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WPC54G v2 802.11g Wireless-G Notebook Adapter) - - pci:v0000104Cd00009066sv000017CFsd00000032* -- ID_MODEL_FROM_DATABASE=G-162 v1 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v1 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv000017CFsd00000033* -- ID_MODEL_FROM_DATABASE=Z-Com XG650 Wireless miniPCI 802.11b/g -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Z-Com XG650 Wireless miniPCI 802.11b/g) - - pci:v0000104Cd00009066sv0000187Esd0000340B* -- ID_MODEL_FROM_DATABASE=G-302 v2 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-302 v2 802.11g Wireless PCI Adapter) - - pci:v0000104Cd00009066sv0000187Esd0000340C* -- ID_MODEL_FROM_DATABASE=G-360 v2 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-360 v2 802.11g Wireless PCI Adapter) - - pci:v0000104Cd0000A001* - ID_MODEL_FROM_DATABASE=TDC1570 -@@ -15003,13 +15003,13 @@ pci:v0000104Cd0000A106* - ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 - - pci:v0000104Cd0000A106sv0000175Csd00005000* -- ID_MODEL_FROM_DATABASE=ASI50xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI50xx Audio Adapter) - - pci:v0000104Cd0000A106sv0000175Csd00006400* -- ID_MODEL_FROM_DATABASE=ASI6400 Cobranet series -+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI6400 Cobranet series) - - pci:v0000104Cd0000A106sv0000175Csd00008700* -- ID_MODEL_FROM_DATABASE=ASI87xx Radio Tuner card -+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI87xx Radio Tuner card) - - pci:v0000104Cd0000AC10* - ID_MODEL_FROM_DATABASE=PCI1050 -@@ -15030,7 +15030,7 @@ pci:v0000104Cd0000AC16* - ID_MODEL_FROM_DATABASE=PCI1250 - - pci:v0000104Cd0000AC16sv00001014sd00000092* -- ID_MODEL_FROM_DATABASE=ThinkPad 600 -+ ID_MODEL_FROM_DATABASE=PCI1250 (ThinkPad 600) - - pci:v0000104Cd0000AC17* - ID_MODEL_FROM_DATABASE=PCI1220 -@@ -15048,19 +15048,19 @@ pci:v0000104Cd0000AC1B* - ID_MODEL_FROM_DATABASE=PCI1450 - - pci:v0000104Cd0000AC1Bsv00000E11sd0000B113* -- ID_MODEL_FROM_DATABASE=Armada M700 -+ ID_MODEL_FROM_DATABASE=PCI1450 (Armada M700) - - pci:v0000104Cd0000AC1Bsv00001014sd00000130* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A21m/T20/T22 -+ ID_MODEL_FROM_DATABASE=PCI1450 (ThinkPad 600X/A21m/T20/T22) - - pci:v0000104Cd0000AC1C* - ID_MODEL_FROM_DATABASE=PCI1225 - - pci:v0000104Cd0000AC1Csv00000E11sd0000B121* -- ID_MODEL_FROM_DATABASE=Armada E500 -+ ID_MODEL_FROM_DATABASE=PCI1225 (Armada E500) - - pci:v0000104Cd0000AC1Csv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=Latitude CPi A400XT -+ ID_MODEL_FROM_DATABASE=PCI1225 (Latitude CPi A400XT) - - pci:v0000104Cd0000AC1D* - ID_MODEL_FROM_DATABASE=PCI1251A -@@ -15102,40 +15102,40 @@ pci:v0000104Cd0000AC42* - ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller - - pci:v0000104Cd0000AC42sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=PCI4451 PC card CardBus Controller (Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller (PCI4451 PC card CardBus Controller (Inspiron 8100)) - - pci:v0000104Cd0000AC44* - ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller - - pci:v0000104Cd0000AC44sv00001028sd00000149* -- ID_MODEL_FROM_DATABASE=Inspiron 5100 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5100) - - pci:v0000104Cd0000AC44sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Latitude D505) - - pci:v0000104Cd0000AC44sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5160) - - pci:v0000104Cd0000AC44sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (MIM2000) - - pci:v0000104Cd0000AC46* - ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller - - pci:v0000104Cd0000AC46sv00001014sd00000552* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller (ThinkPad) - - pci:v0000104Cd0000AC47* - ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller - - pci:v0000104Cd0000AC47sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D400) - - pci:v0000104Cd0000AC47sv00001028sd0000013F* -- ID_MODEL_FROM_DATABASE=Precision M60 -+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Precision M60) - - pci:v0000104Cd0000AC47sv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=Latitude D800 -+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D800) - - pci:v0000104Cd0000AC48* - ID_MODEL_FROM_DATABASE=PCI7610 PC Card Cardbus Controller -@@ -15147,10 +15147,10 @@ pci:v0000104Cd0000AC4A* - ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge - - pci:v0000104Cd0000AC4Asv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D400) - - pci:v0000104Cd0000AC4Asv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=Latitude D800 -+ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D800) - - pci:v0000104Cd0000AC4B* - ID_MODEL_FROM_DATABASE=PCI7610 SD/MMC controller -@@ -15165,28 +15165,28 @@ pci:v0000104Cd0000AC51* - ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller - - pci:v0000104Cd0000AC51sv00000E11sd0000004E* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Evo N600c) - - pci:v0000104Cd0000AC51sv00001014sd00000148* -- ID_MODEL_FROM_DATABASE=ThinkPad A20m -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad A20m) - - pci:v0000104Cd0000AC51sv00001014sd0000023B* -- ID_MODEL_FROM_DATABASE=ThinkPad T23 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad T23) - - pci:v0000104Cd0000AC51sv00001028sd000000B1* -- ID_MODEL_FROM_DATABASE=Latitude C600 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C600) - - pci:v0000104Cd0000AC51sv00001028sd0000012A* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C640) - - pci:v0000104Cd0000AC51sv00001033sd000080CD* -- ID_MODEL_FROM_DATABASE=Versa Note VXi -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Versa Note VXi) - - pci:v0000104Cd0000AC51sv000010CFsd00001095* -- ID_MODEL_FROM_DATABASE=Lifebook S-4510/C6155 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Lifebook S-4510/C6155) - - pci:v0000104Cd0000AC51sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CP2-2-HIPHOP -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (CP2-2-HIPHOP) - - pci:v0000104Cd0000AC52* - ID_MODEL_FROM_DATABASE=PCI1451 PC card Cardbus Controller -@@ -15198,55 +15198,55 @@ pci:v0000104Cd0000AC54* - ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller - - pci:v0000104Cd0000AC54sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller (tc1100 tablet) - - pci:v0000104Cd0000AC55* - ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller - - pci:v0000104Cd0000AC55sv00001014sd00000512* -- ID_MODEL_FROM_DATABASE=ThinkPad T30/T40 -+ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (ThinkPad T30/T40) - - pci:v0000104Cd0000AC55sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (XE4500 Notebook) - - pci:v0000104Cd0000AC56* - ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller - - pci:v0000104Cd0000AC56sv00001014sd00000512* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R50e) - - pci:v0000104Cd0000AC56sv00001014sd00000528* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R40e) - - pci:v0000104Cd0000AC56sv000017AAsd00002012* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad T60/R60 series) - - pci:v0000104Cd0000AC60* - ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller - - pci:v0000104Cd0000AC60sv0000175Csd00005100* -- ID_MODEL_FROM_DATABASE=ASI51xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI51xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000175Csd00006100* -- ID_MODEL_FROM_DATABASE=ASI61xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI61xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000175Csd00006200* -- ID_MODEL_FROM_DATABASE=ASI62xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI62xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000175Csd00008800* -- ID_MODEL_FROM_DATABASE=ASI88xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI88xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000186Fsd00003001* -- ID_MODEL_FROM_DATABASE=WR-G303 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G303 PCI radio receiver) - - pci:v0000104Cd0000AC60sv0000186Fsd00003005* -- ID_MODEL_FROM_DATABASE=WR-G305 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G305 PCI radio receiver) - - pci:v0000104Cd0000AC60sv0000186Fsd00003101* -- ID_MODEL_FROM_DATABASE=WR-G313 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G313 PCI radio receiver) - - pci:v0000104Cd0000AC60sv0000186Fsd00003105* -- ID_MODEL_FROM_DATABASE=WR-G315 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G315 PCI radio receiver) - - pci:v0000104Cd0000AC8D* - ID_MODEL_FROM_DATABASE=PCI 7620 -@@ -15255,13 +15255,13 @@ pci:v0000104Cd0000AC8E* - ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller - - pci:v0000104Cd0000AC8Esv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller (Inspiron 700m/710m) - - pci:v0000104Cd0000AC8F* - ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller - - pci:v0000104Cd0000AC8Fsv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller (Inspiron 700m/710m) - - pci:v0000104Cd0000B001* - ID_MODEL_FROM_DATABASE=TMS320C6424 -@@ -15336,10 +15336,10 @@ pci:v00001050d00000840* - ID_MODEL_FROM_DATABASE=W89C840 - - pci:v00001050d00000840sv00001050sd00000001* -- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) - - pci:v00001050d00000840sv00001050sd00000840* -- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) - - pci:v00001050d00000940* - ID_MODEL_FROM_DATABASE=W89C940 -@@ -15351,22 +15351,22 @@ pci:v00001050d00006692* - ID_MODEL_FROM_DATABASE=W6692 - - pci:v00001050d00006692sv00001043sd00001702* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) - - pci:v00001050d00006692sv00001043sd00001703* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00006692sv00001043sd00001707* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00006692sv0000144Fsd00001702* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) - - pci:v00001050d00006692sv0000144Fsd00001703* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00006692sv0000144Fsd00001707* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00009921* - ID_MODEL_FROM_DATABASE=W99200F MPEG-1 Video Encoder -@@ -15501,76 +15501,76 @@ pci:v00001057d00001801* - ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor - - pci:v00001057d00001801sv000014FBsd00000101* -- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM]) - - pci:v00001057d00001801sv000014FBsd00000102* -- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM-2]) - - pci:v00001057d00001801sv000014FBsd00000202* -- ID_MODEL_FROM_DATABASE=Transas Radar Integrator Board [RIB-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Integrator Board [RIB-2]) - - pci:v00001057d00001801sv000014FBsd00000611* -- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci-1] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci-1]) - - pci:v00001057d00001801sv000014FBsd00000612* -- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci-2]) - - pci:v00001057d00001801sv000014FBsd00000613* -- ID_MODEL_FROM_DATABASE=3 channels CAN bus Controller [CanPci-3] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (3 channels CAN bus Controller [CanPci-3]) - - pci:v00001057d00001801sv000014FBsd00000614* -- ID_MODEL_FROM_DATABASE=4 channels CAN bus Controller [CanPci-4] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (4 channels CAN bus Controller [CanPci-4]) - - pci:v00001057d00001801sv000014FBsd00000621* -- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci2-1] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci2-1]) - - pci:v00001057d00001801sv000014FBsd00000622* -- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci2-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci2-2]) - - pci:v00001057d00001801sv000014FBsd00000810* -- ID_MODEL_FROM_DATABASE=Transas VTS Radar Integrator Board [RIB-4] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas VTS Radar Integrator Board [RIB-4]) - - pci:v00001057d00001801sv0000175Csd00004200* -- ID_MODEL_FROM_DATABASE=ASI4215 Audio Adapter -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4215 Audio Adapter) - - pci:v00001057d00001801sv0000175Csd00004300* -- ID_MODEL_FROM_DATABASE=ASI43xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI43xx Audio Adapter) - - pci:v00001057d00001801sv0000175Csd00004400* -- ID_MODEL_FROM_DATABASE=ASI4401 Audio Adapter -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4401 Audio Adapter) - - pci:v00001057d00001801sv0000ECC0sd00000010* -- ID_MODEL_FROM_DATABASE=Darla -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla) - - pci:v00001057d00001801sv0000ECC0sd00000020* -- ID_MODEL_FROM_DATABASE=Gina -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina) - - pci:v00001057d00001801sv0000ECC0sd00000030* -- ID_MODEL_FROM_DATABASE=Layla rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000031* -- ID_MODEL_FROM_DATABASE=Layla rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000040* -- ID_MODEL_FROM_DATABASE=Darla24 rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000041* -- ID_MODEL_FROM_DATABASE=Darla24 rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000050* -- ID_MODEL_FROM_DATABASE=Gina24 rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000051* -- ID_MODEL_FROM_DATABASE=Gina24 rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000070* -- ID_MODEL_FROM_DATABASE=Mona rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000071* -- ID_MODEL_FROM_DATABASE=Mona rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000072* -- ID_MODEL_FROM_DATABASE=Mona rev.2 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.2) - - pci:v00001057d000018C0* - ID_MODEL_FROM_DATABASE=MPC8265A/8266/8272 -@@ -15585,40 +15585,40 @@ pci:v00001057d00003410* - ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor - - pci:v00001057d00003410sv0000ECC0sd00000050* -- ID_MODEL_FROM_DATABASE=Gina24 rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.0) - - pci:v00001057d00003410sv0000ECC0sd00000051* -- ID_MODEL_FROM_DATABASE=Gina24 rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.1) - - pci:v00001057d00003410sv0000ECC0sd00000060* -- ID_MODEL_FROM_DATABASE=Layla24 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Layla24) - - pci:v00001057d00003410sv0000ECC0sd00000070* -- ID_MODEL_FROM_DATABASE=Mona rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.0) - - pci:v00001057d00003410sv0000ECC0sd00000071* -- ID_MODEL_FROM_DATABASE=Mona rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.1) - - pci:v00001057d00003410sv0000ECC0sd00000072* -- ID_MODEL_FROM_DATABASE=Mona rev.2 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.2) - - pci:v00001057d00003410sv0000ECC0sd00000080* -- ID_MODEL_FROM_DATABASE=Mia rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.0) - - pci:v00001057d00003410sv0000ECC0sd00000081* -- ID_MODEL_FROM_DATABASE=Mia rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.1) - - pci:v00001057d00003410sv0000ECC0sd00000090* -- ID_MODEL_FROM_DATABASE=Indigo -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo) - - pci:v00001057d00003410sv0000ECC0sd000000A0* -- ID_MODEL_FROM_DATABASE=Indigo IO -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo IO) - - pci:v00001057d00003410sv0000ECC0sd000000B0* -- ID_MODEL_FROM_DATABASE=Indigo DJ -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo DJ) - - pci:v00001057d00003410sv0000ECC0sd00000100* -- ID_MODEL_FROM_DATABASE=3G -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (3G) - - pci:v00001057d00004801* - ID_MODEL_FROM_DATABASE=Raven -@@ -15639,55 +15639,55 @@ pci:v00001057d00005600* - ID_MODEL_FROM_DATABASE=SM56 PCI Modem - - pci:v00001057d00005600sv00001057sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001057sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice Modem) - - pci:v00001057d00005600sv00001057sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001057sd00005600* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv000013D2sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv000013D2sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv000013D2sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001436sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001436sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv00001436sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv0000144Fsd0000100C* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001494sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001494sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv000014C8sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv000014C8sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001668sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001668sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005608* - ID_MODEL_FROM_DATABASE=Wildcard X100P -@@ -15723,16 +15723,16 @@ pci:v0000105Ad00000D30* - ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) - - pci:v0000105Ad00000D30sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=AV7266-E South Bridge Promise RAID -+ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (AV7266-E South Bridge Promise RAID) - - pci:v0000105Ad00000D30sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=Ultra100 -+ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (Ultra100) - - pci:v0000105Ad00000D38* - ID_MODEL_FROM_DATABASE=20263 - - pci:v0000105Ad00000D38sv0000105Asd00004D39* -- ID_MODEL_FROM_DATABASE=Fasttrak66 -+ ID_MODEL_FROM_DATABASE=20263 (Fasttrak66) - - pci:v0000105Ad00001275* - ID_MODEL_FROM_DATABASE=20275 -@@ -15744,10 +15744,10 @@ pci:v0000105Ad00003319* - ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) - - pci:v0000105Ad00003319sv0000105Asd00003319* -- ID_MODEL_FROM_DATABASE=FastTrak S150 TX4 4 port SATA PCI board -+ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (FastTrak S150 TX4 4 port SATA PCI board) - - pci:v0000105Ad00003319sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (S875WP1-E mainboard) - - pci:v0000105Ad00003371* - ID_MODEL_FROM_DATABASE=PDC20371 (FastTrak S150 TX2plus) -@@ -15756,13 +15756,13 @@ pci:v0000105Ad00003373* - ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) - - pci:v0000105Ad00003373sv00001043sd000080F5* -- ID_MODEL_FROM_DATABASE=K8V Deluxe/PC-DL Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8V Deluxe/PC-DL Deluxe motherboard) - - pci:v0000105Ad00003373sv00001462sd0000590D* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (KT6 Delta-FIS2R (MS-6590)) - - pci:v0000105Ad00003373sv00001462sd0000702E* -- ID_MODEL_FROM_DATABASE=K8T NEO FIS2R motherboard -+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8T NEO FIS2R motherboard) - - pci:v0000105Ad00003375* - ID_MODEL_FROM_DATABASE=PDC20375 (SATA150 TX2plus) -@@ -15771,7 +15771,7 @@ pci:v0000105Ad00003376* - ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) - - pci:v0000105Ad00003376sv00001043sd0000809E* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) (A7V8X motherboard) - - pci:v0000105Ad00003515* - ID_MODEL_FROM_DATABASE=PDC40719 [FastTrak TX4300/TX4310] -@@ -15813,58 +15813,58 @@ pci:v0000105Ad00004D30* - ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) - - pci:v0000105Ad00004D30sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=Ultra100 -+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (Ultra100) - - pci:v0000105Ad00004D30sv0000105Asd00004D39* -- ID_MODEL_FROM_DATABASE=FastTrak100 -+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (FastTrak100) - - pci:v0000105Ad00004D30sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (S845WD1-E mainboard) - - pci:v0000105Ad00004D33* - ID_MODEL_FROM_DATABASE=20246 - - pci:v0000105Ad00004D33sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=20246 IDE Controller -+ ID_MODEL_FROM_DATABASE=20246 (IDE Controller) - - pci:v0000105Ad00004D38* - ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) - - pci:v0000105Ad00004D38sv0000105Asd00004D30* -- ID_MODEL_FROM_DATABASE=Ultra Device on SuperTrak -+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra Device on SuperTrak) - - pci:v0000105Ad00004D38sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=Ultra66 -+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra66) - - pci:v0000105Ad00004D38sv0000105Asd00004D39* -- ID_MODEL_FROM_DATABASE=FastTrak66 -+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (FastTrak66) - - pci:v0000105Ad00004D68* - ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] - - pci:v0000105Ad00004D68sv0000105Asd00004D68* -- ID_MODEL_FROM_DATABASE=Ultra100 TX2 -+ ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] (Ultra100 TX2) - - pci:v0000105Ad00004D69* - ID_MODEL_FROM_DATABASE=20269 - - pci:v0000105Ad00004D69sv0000105Asd00004D68* -- ID_MODEL_FROM_DATABASE=Ultra133TX2 -+ ID_MODEL_FROM_DATABASE=20269 (Ultra133TX2) - - pci:v0000105Ad00005275* - ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) - - pci:v0000105Ad00005275sv00001043sd0000807E* -- ID_MODEL_FROM_DATABASE=A7V333 motherboard. -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (A7V333 motherboard.) - - pci:v0000105Ad00005275sv0000105Asd00000275* -- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 IDE -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (SuperTrak SX6000 IDE) - - pci:v0000105Ad00005275sv0000105Asd00001275* -- ID_MODEL_FROM_DATABASE=MBFastTrak133 Lite (tm) Controller (RAID mode) -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBFastTrak133 Lite (tm) Controller (RAID mode)) - - pci:v0000105Ad00005275sv00001458sd0000B001* -- ID_MODEL_FROM_DATABASE=MBUltra 133 -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBUltra 133) - - pci:v0000105Ad00005300* - ID_MODEL_FROM_DATABASE=DC5300 -@@ -15873,13 +15873,13 @@ pci:v0000105Ad00006268* - ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) - - pci:v0000105Ad00006268sv0000105Asd00004D68* -- ID_MODEL_FROM_DATABASE=FastTrak100 TX2 -+ ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) (FastTrak100 TX2) - - pci:v0000105Ad00006269* - ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) - - pci:v0000105Ad00006269sv0000105Asd00006269* -- ID_MODEL_FROM_DATABASE=FastTrak TX2/TX2000 -+ ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) (FastTrak TX2/TX2000) - - pci:v0000105Ad00006300* - ID_MODEL_FROM_DATABASE=PDC81731 [FastTrak SX8300] -@@ -15912,43 +15912,43 @@ pci:v0000105Ad00008650* - ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] - - pci:v0000105Ad00008650sv0000105Asd00004600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX4650A -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650A) - - pci:v0000105Ad00008650sv0000105Asd00004601* -- ID_MODEL_FROM_DATABASE=SuperTrak EX4650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650) - - pci:v0000105Ad00008650sv0000105Asd00004610* -- ID_MODEL_FROM_DATABASE=SuperTrak EX4650EL -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650EL) - - pci:v0000105Ad00008650sv0000105Asd00008600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650EL -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650EL) - - pci:v0000105Ad00008650sv0000105Asd00008601* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650A -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650A) - - pci:v0000105Ad00008650sv0000105Asd00008602* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8654 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8654) - - pci:v0000105Ad00008650sv0000105Asd00008603* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8658 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8658) - - pci:v0000105Ad00008650sv0000105Asd00008604* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650) - - pci:v0000105Ad00008650sv0000105Asd00008610* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650M -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650M) - - pci:v0000105Ad00008650sv0000105Asd0000A600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX12650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX12650) - - pci:v0000105Ad00008650sv0000105Asd0000B600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX16650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16650) - - pci:v0000105Ad00008650sv0000105Asd0000B601* -- ID_MODEL_FROM_DATABASE=SuperTrak EX16654 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16654) - - pci:v0000105Ad00008650sv0000105Asd0000B602* -- ID_MODEL_FROM_DATABASE=SuperTrak EX16658 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16658) - - pci:v0000105Ad00008760* - ID_MODEL_FROM_DATABASE=PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller] -@@ -15975,106 +15975,106 @@ pci:v0000105Dd00002339* - ID_MODEL_FROM_DATABASE=Imagine 128-II - - pci:v0000105Dd00002339sv0000105Dsd00000000* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000001* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000002* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000003* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000004* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000005* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000006* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000007* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000008* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000009* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) - - pci:v0000105Dd00002339sv0000105Dsd0000000A* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd0000000B* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb H-VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb H-VRAM) - - pci:v0000105Dd00002339sv000011A4sd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000000* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000004* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000005* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000006* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000008* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000009* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd0000000C* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd0000493D* - ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] - - pci:v0000105Dd0000493Dsv000011A4sd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000011A4sd0000000B* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000002* -- ID_MODEL_FROM_DATABASE=Barco Metheus 4 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 4 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000003* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000007* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000008* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000009* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd00005348* - ID_MODEL_FROM_DATABASE=Revolution 4 - - pci:v0000105Dd00005348sv0000105Dsd00000037* -- ID_MODEL_FROM_DATABASE=Revolution IV-FP AGP (For SGI 1600SW) -+ ID_MODEL_FROM_DATABASE=Revolution 4 (Revolution IV-FP AGP (For SGI 1600SW)) - - pci:v0000105Dd00005348sv000011A4sd00000028* -- ID_MODEL_FROM_DATABASE=PVS5600M -+ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600M) - - pci:v0000105Dd00005348sv000011A4sd00000038* -- ID_MODEL_FROM_DATABASE=PVS5600D -+ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600D) - - pci:v0000105E* - ID_VENDOR_FROM_DATABASE=Vtech Computers Ltd -@@ -16236,43 +16236,43 @@ pci:v00001069d00000050* - ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device - - pci:v00001069d00000050sv00001069sd00000050* -- ID_MODEL_FROM_DATABASE=AcceleRAID 352 support Device -+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 352 support Device) - - pci:v00001069d00000050sv00001069sd00000052* -- ID_MODEL_FROM_DATABASE=AcceleRAID 170 support Device -+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 170 support Device) - - pci:v00001069d00000050sv00001069sd00000054* -- ID_MODEL_FROM_DATABASE=AcceleRAID 160 support Device -+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 160 support Device) - - pci:v00001069d0000B166* - ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device - - pci:v00001069d0000B166sv00001014sd00000242* -- ID_MODEL_FROM_DATABASE=iSeries 2872 DASD IOA -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (iSeries 2872 DASD IOA) - - pci:v00001069d0000B166sv00001014sd00000266* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) - - pci:v00001069d0000B166sv00001014sd00000278* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) - - pci:v00001069d0000B166sv00001014sd000002D3* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) - - pci:v00001069d0000B166sv00001014sd000002D4* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) - - pci:v00001069d0000B166sv00001069sd00000200* -- ID_MODEL_FROM_DATABASE=AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000B166sv00001069sd00000202* -- ID_MODEL_FROM_DATABASE=AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000B166sv00001069sd00000204* -- ID_MODEL_FROM_DATABASE=AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000B166sv00001069sd00000206* -- ID_MODEL_FROM_DATABASE=AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000BA55* - ID_MODEL_FROM_DATABASE=eXtremeRAID 1100 support Device -@@ -16281,16 +16281,16 @@ pci:v00001069d0000BA56* - ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device - - pci:v00001069d0000BA56sv00001069sd00000030* -- ID_MODEL_FROM_DATABASE=eXtremeRAID 3000 support Device -+ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 3000 support Device) - - pci:v00001069d0000BA56sv00001069sd00000040* -- ID_MODEL_FROM_DATABASE=eXtremeRAID 2000 support Device -+ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 2000 support Device) - - pci:v00001069d0000BA57* - ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device - - pci:v00001069d0000BA57sv00001069sd00000072* -- ID_MODEL_FROM_DATABASE=eXtremeRAID 5000 support Device -+ ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device (eXtremeRAID 5000 support Device) - - pci:v0000106A* - ID_VENDOR_FROM_DATABASE=Aten Research Inc -@@ -16380,7 +16380,7 @@ pci:v0000106Bd00000031* - ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire - - pci:v0000106Bd00000031sv0000106Bsd00005811* -- ID_MODEL_FROM_DATABASE=iBook G4 2004 -+ ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire (iBook G4 2004) - - pci:v0000106Bd00000032* - ID_MODEL_FROM_DATABASE=UniNorth 2 GMAC (Sun GEM) -@@ -16407,7 +16407,7 @@ pci:v0000106Bd0000003F* - ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB - - pci:v0000106Bd0000003Fsv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB (QEMU Virtual Machine) - - pci:v0000106Bd00000040* - ID_MODEL_FROM_DATABASE=K2 KeyLargo USB -@@ -16563,13 +16563,13 @@ pci:v00001073d00000004* - ID_MODEL_FROM_DATABASE=YMF-724 - - pci:v00001073d00000004sv00001073sd00000004* -- ID_MODEL_FROM_DATABASE=YMF724-Based PCI Audio Adapter -+ ID_MODEL_FROM_DATABASE=YMF-724 (YMF724-Based PCI Audio Adapter) - - pci:v00001073d00000005* - ID_MODEL_FROM_DATABASE=DS1 Audio - - pci:v00001073d00000005sv00001073sd00000005* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d00000006* - ID_MODEL_FROM_DATABASE=DS1 Audio -@@ -16578,46 +16578,46 @@ pci:v00001073d00000008* - ID_MODEL_FROM_DATABASE=DS1 Audio - - pci:v00001073d00000008sv00001073sd00000008* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000A* - ID_MODEL_FROM_DATABASE=DS1L Audio - - pci:v00001073d0000000Asv00001073sd00000004* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000Asv00001073sd0000000A* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000Asv00008086sd00004D55* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC [Intel MU440EX] -+ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC [Intel MU440EX]) - - pci:v00001073d0000000C* - ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] - - pci:v00001073d0000000Csv0000107Asd0000000C* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000D* - ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] - - pci:v00001073d0000000Dsv00001073sd0000000D* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d00000010* - ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] - - pci:v00001073d00000010sv00001073sd00000006* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d00000010sv00001073sd00000010* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d00000012* - ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] - - pci:v00001073d00000012sv00001073sd00000012* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio Codec -+ ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] (DS-XG PCI Audio Codec) - - pci:v00001073d00000020* - ID_MODEL_FROM_DATABASE=DS-1 Audio -@@ -16662,10 +16662,10 @@ pci:v00001077d00001216* - ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor - - pci:v00001077d00001216sv0000101Esd00008471* -- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID -+ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) - - pci:v00001077d00001216sv0000101Esd00008493* -- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID -+ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) - - pci:v00001077d00001240* - ID_MODEL_FROM_DATABASE=ISP1240 SCSI Host Adapter -@@ -16689,7 +16689,7 @@ pci:v00001077d00002200* - ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter - - pci:v00001077d00002200sv00001077sd00000002* -- ID_MODEL_FROM_DATABASE=QLA2200 -+ ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter (QLA2200) - - pci:v00001077d00002300* - ID_MODEL_FROM_DATABASE=QLA2300 64-bit Fibre Channel Adapter -@@ -16698,10 +16698,10 @@ pci:v00001077d00002312* - ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA - - pci:v00001077d00002312sv0000103Csd00000131* -- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Single port [A7538A] -+ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Single port [A7538A]) - - pci:v00001077d00002312sv0000103Csd000012BA* -- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Dual port [A6826A] -+ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Dual port [A6826A]) - - pci:v00001077d00002322* - ID_MODEL_FROM_DATABASE=ISP2322-based 2Gb Fibre Channel to PCI-X HBA -@@ -16710,25 +16710,25 @@ pci:v00001077d00002422* - ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA - - pci:v00001077d00002422sv0000103Csd000012D7* -- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB379A] -+ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB379A]) - - pci:v00001077d00002422sv0000103Csd000012DD* -- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB429A] -+ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB429A]) - - pci:v00001077d00002432* - ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA - - pci:v00001077d00002432sv0000103Csd00007040* -- ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] -+ ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA (FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A]) - - pci:v00001077d00002532* - ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA - - pci:v00001077d00002532sv0000103Csd00003262* -- ID_MODEL_FROM_DATABASE=StorageWorks 81Q -+ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (StorageWorks 81Q) - - pci:v00001077d00002532sv00001077sd00000167* -- ID_MODEL_FROM_DATABASE=QME2572 Dual Port FC8 HBA Mezzanine -+ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (QME2572 Dual Port FC8 HBA Mezzanine) - - pci:v00001077d00003022* - ID_MODEL_FROM_DATABASE=ISP4022-based Ethernet NIC -@@ -16770,55 +16770,55 @@ pci:v00001077d00008020* - ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller - - pci:v00001077d00008020sv0000103Csd00003346* -- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (CN1000Q Dual Port Converged Network Adapter) - - pci:v00001077d00008020sv0000103Csd00003733* -- ID_MODEL_FROM_DATABASE=NC523SFP 10Gb 2-port Server Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (NC523SFP 10Gb 2-port Server Adapter) - - pci:v00001077d00008020sv00001077sd00000203* -- ID_MODEL_FROM_DATABASE=8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008020sv00001077sd00000207* -- ID_MODEL_FROM_DATABASE=8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008020sv00001077sd0000020B* -- ID_MODEL_FROM_DATABASE=3200 Series Dual Port 10Gb Intelligent Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Dual Port 10Gb Intelligent Ethernet Adapter) - - pci:v00001077d00008020sv00001077sd0000020C* -- ID_MODEL_FROM_DATABASE=3200 Series Quad Port 1Gb Intelligent Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Quad Port 1Gb Intelligent Ethernet Adapter) - - pci:v00001077d00008020sv00001077sd0000020F* -- ID_MODEL_FROM_DATABASE=3200 Series Single Port 10Gb Intelligent Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Single Port 10Gb Intelligent Ethernet Adapter) - - pci:v00001077d00008020sv00001077sd00000210* -- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (QME8242-k 10GbE Dual Port Mezzanine Card) - - pci:v00001077d00008021* - ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) - - pci:v00001077d00008021sv0000103Csd00003348* -- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (CN1000Q Dual Port Converged Network Adapter) - - pci:v00001077d00008021sv00001077sd00000211* -- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, FCoE -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (QME8242-k 10GbE Dual Port Mezzanine Card, FCoE) - - pci:v00001077d00008022* - ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) - - pci:v00001077d00008022sv0000103Csd00003347* -- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (CN1000Q Dual Port Converged Network Adapter) - - pci:v00001077d00008022sv00001077sd00000212* -- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI) - - pci:v00001077d00008030* - ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller - - pci:v00001077d00008030sv00001077sd00000243* -- ID_MODEL_FROM_DATABASE=8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008030sv00001077sd00000246* -- ID_MODEL_FROM_DATABASE=8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008031* - ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (FCoE) -@@ -17022,7 +17022,7 @@ pci:v0000108Dd00000004* - ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter - - pci:v0000108Dd00000004sv0000108Dsd00000004* -- ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter (OC-3139/3140 RapidFire Token-Ring 16/4 Adapter) - - pci:v0000108Dd00000005* - ID_MODEL_FROM_DATABASE=GoCard 3250 Token-Ring 16/4 CardBus PC Card -@@ -17034,13 +17034,13 @@ pci:v0000108Dd00000007* - ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter - - pci:v0000108Dd00000007sv0000108Dsd00000007* -- ID_MODEL_FROM_DATABASE=OC-3141 RapidFire Token-Ring 16/4 Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter (OC-3141 RapidFire Token-Ring 16/4 Adapter) - - pci:v0000108Dd00000008* - ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter - - pci:v0000108Dd00000008sv0000108Dsd00000008* -- ID_MODEL_FROM_DATABASE=OC-3540 RapidFire HSTR 100/16/4 Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter (OC-3540 RapidFire HSTR 100/16/4 Adapter) - - pci:v0000108Dd00000011* - ID_MODEL_FROM_DATABASE=OC-2315 -@@ -17058,10 +17058,10 @@ pci:v0000108Dd00000019* - ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter - - pci:v0000108Dd00000019sv0000108Dsd00000016* -- ID_MODEL_FROM_DATABASE=OC-2327 Rapidfire 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2327 Rapidfire 10/100 Ethernet Adapter) - - pci:v0000108Dd00000019sv0000108Dsd00000017* -- ID_MODEL_FROM_DATABASE=OC-2250 GoCard 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2250 GoCard 10/100 Ethernet Adapter) - - pci:v0000108Dd00000021* - ID_MODEL_FROM_DATABASE=OC-6151/6152 [RapidFire ATM 155] -@@ -17085,25 +17085,25 @@ pci:v0000108Ed00001100* - ID_MODEL_FROM_DATABASE=RIO EBUS - - pci:v0000108Ed00001100sv0000108Esd00001100* -- ID_MODEL_FROM_DATABASE=RIO EBUS on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO EBUS (on Blade 100 motherboard) - - pci:v0000108Ed00001101* - ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] - - pci:v0000108Ed00001101sv0000108Esd00001101* -- ID_MODEL_FROM_DATABASE=RIO GEM on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] (RIO GEM on Blade 100 motherboard) - - pci:v0000108Ed00001102* - ID_MODEL_FROM_DATABASE=RIO 1394 - - pci:v0000108Ed00001102sv0000108Esd00001102* -- ID_MODEL_FROM_DATABASE=RIO 1394 on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO 1394 (on Blade 100 motherboard) - - pci:v0000108Ed00001103* - ID_MODEL_FROM_DATABASE=RIO USB - - pci:v0000108Ed00001103sv0000108Esd00001103* -- ID_MODEL_FROM_DATABASE=RIO USB on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO USB (on Blade 100 motherboard) - - pci:v0000108Ed00001647* - ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge] -@@ -17124,7 +17124,7 @@ pci:v0000108Ed00005000* - ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge - - pci:v0000108Ed00005000sv0000108Esd00005000* -- ID_MODEL_FROM_DATABASE=Netra AX1105-500 -+ ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge (Netra AX1105-500) - - pci:v0000108Ed00005043* - ID_MODEL_FROM_DATABASE=SunPCI Co-processor -@@ -17226,7 +17226,7 @@ pci:v0000108Ed0000A001* - ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] - - pci:v0000108Ed0000A001sv0000108Esd0000A001* -- ID_MODEL_FROM_DATABASE=Ultra IIe on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] (Ultra IIe on Blade 100 motherboard) - - pci:v0000108Ed0000A801* - ID_MODEL_FROM_DATABASE=Schizo Fireplane-PCI bus bridge module [pcisch] -@@ -17295,7 +17295,7 @@ pci:v00001092d00000028* - ID_MODEL_FROM_DATABASE=Viper V770 - - pci:v00001092d00000028sv00001092sd00004A00* -- ID_MODEL_FROM_DATABASE=Viper V770 32MB -+ ID_MODEL_FROM_DATABASE=Viper V770 (32MB) - - pci:v00001092d000000A0* - ID_MODEL_FROM_DATABASE=Speedstar Pro SE -@@ -17766,28 +17766,28 @@ pci:v00001093d0000C4C4* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device - - pci:v00001093d0000C4C4sv00001093sd000074B2* -- ID_MODEL_FROM_DATABASE=PXIe-4353 -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) - - pci:v00001093d0000C4C4sv00001093sd000074D0* -- ID_MODEL_FROM_DATABASE=PXIe-7961R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) - - pci:v00001093d0000C4C4sv00001093sd000074E2* -- ID_MODEL_FROM_DATABASE=PXIe-7962R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) - - pci:v00001093d0000C4C4sv00001093sd000074E3* -- ID_MODEL_FROM_DATABASE=PXIe-7965R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) - - pci:v00001093d0000C4C4sv00001093sd00007553* -- ID_MODEL_FROM_DATABASE=PCIe-1473R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) - - pci:v00001093d0000C4C4sv00001093sd000075CE* -- ID_MODEL_FROM_DATABASE=PXIe-7966R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) - - pci:v00001093d0000C4C4sv00001093sd000076B7* -- ID_MODEL_FROM_DATABASE=PXIe-7975R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) - - pci:v00001093d0000C4C4sv00001093sd000076D0* -- ID_MODEL_FROM_DATABASE=PXIe-5160 -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) - - pci:v00001093d0000C801* - ID_MODEL_FROM_DATABASE=PCI-GPIB -@@ -17820,19 +17820,19 @@ pci:v00001095d00000648* - ID_MODEL_FROM_DATABASE=PCI0648 - - pci:v00001095d00000648sv00001043sd00008025* -- ID_MODEL_FROM_DATABASE=CUBX motherboard -+ ID_MODEL_FROM_DATABASE=PCI0648 (CUBX motherboard) - - pci:v00001095d00000649* - ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller - - pci:v00001095d00000649sv00000E11sd0000005D* -- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 Dual Channel Controller -+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 Dual Channel Controller) - - pci:v00001095d00000649sv00000E11sd0000007E* -- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 IDE RAID Controller -+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 IDE RAID Controller) - - pci:v00001095d00000649sv0000101Esd00000649* -- ID_MODEL_FROM_DATABASE=AMI MegaRAID IDE 100 Controller -+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (AMI MegaRAID IDE 100 Controller) - - pci:v00001095d00000650* - ID_MODEL_FROM_DATABASE=PBC0650A -@@ -17850,34 +17850,34 @@ pci:v00001095d00000680* - ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller - - pci:v00001095d00000680sv00001095sd00000680* -- ID_MODEL_FROM_DATABASE=SiI 0680 ATA/133 Controller -+ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (SiI 0680 ATA/133 Controller) - - pci:v00001095d00000680sv00001095sd00003680* -- ID_MODEL_FROM_DATABASE=Winic W-680 (Silicon Image 680 based) -+ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (Winic W-680 (Silicon Image 680 based)) - - pci:v00001095d00003112* - ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller - - pci:v00001095d00003112sv00001095sd00003112* -- ID_MODEL_FROM_DATABASE=SiI 3112 SATALink Controller -+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATALink Controller) - - pci:v00001095d00003112sv00001095sd00006112* -- ID_MODEL_FROM_DATABASE=SiI 3112 SATARaid Controller -+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATARaid Controller) - - pci:v00001095d00003112sv00009005sd00000250* -- ID_MODEL_FROM_DATABASE=SATAConnect 1205SA Host Controller -+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SATAConnect 1205SA Host Controller) - - pci:v00001095d00003114* - ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller - - pci:v00001095d00003114sv00001043sd00008167* -- ID_MODEL_FROM_DATABASE=A8N-SLI Deluxe/Premium Mainboard -+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (A8N-SLI Deluxe/Premium Mainboard) - - pci:v00001095d00003114sv00001095sd00003114* -- ID_MODEL_FROM_DATABASE=SiI 3114 SATALink Controller -+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATALink Controller) - - pci:v00001095d00003114sv00001095sd00006114* -- ID_MODEL_FROM_DATABASE=SiI 3114 SATARaid Controller -+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATARaid Controller) - - pci:v00001095d00003124* - ID_MODEL_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller -@@ -17892,10 +17892,10 @@ pci:v00001095d00003512* - ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller - - pci:v00001095d00003512sv00001095sd00003512* -- ID_MODEL_FROM_DATABASE=SiI 3512 SATALink Controller -+ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATALink Controller) - - pci:v00001095d00003512sv00001095sd00006512* -- ID_MODEL_FROM_DATABASE=SiI 3512 SATARaid Controller -+ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATARaid Controller) - - pci:v00001095d00003531* - ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller -@@ -17949,412 +17949,412 @@ pci:v0000109Ed00000369* - ID_MODEL_FROM_DATABASE=Bt878 Video Capture - - pci:v0000109Ed00000369sv00001002sd00000001* -- ID_MODEL_FROM_DATABASE=TV-Wonder -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder) - - pci:v0000109Ed00000369sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=TV-Wonder/VE -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder/VE) - - pci:v0000109Ed0000036C* - ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture - - pci:v0000109Ed0000036Csv000013E9sd00000070* -- ID_MODEL_FROM_DATABASE=Win/TV (Video Section) -+ ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture (Win/TV (Video Section)) - - pci:v0000109Ed0000036E* - ID_MODEL_FROM_DATABASE=Bt878 Video Capture - - pci:v0000109Ed0000036Esv00000070sd000013EB* -- ID_MODEL_FROM_DATABASE=WinTV Series -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinTV Series) - - pci:v0000109Ed0000036Esv00000070sd0000FF01* -- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Viewcast Osprey 200) - - pci:v0000109Ed0000036Esv00000071sd00000101* -- ID_MODEL_FROM_DATABASE=DigiTV PCI -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DigiTV PCI) - - pci:v0000109Ed0000036Esv0000107Dsd00006606* -- ID_MODEL_FROM_DATABASE=WinFast TV 2000 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinFast TV 2000) - - pci:v0000109Ed0000036Esv000011BDsd00000012* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) - - pci:v0000109Ed0000036Esv000011BDsd0000001C* -- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV Sat (DBC receiver)) - - pci:v0000109Ed0000036Esv0000127Asd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) - - pci:v0000109Ed0000036Esv0000127Asd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv0000127Asd00000003* -- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv0000127Asd00000048* -- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) - - pci:v0000109Ed0000036Esv0000144Fsd00003000* -- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Video -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (MagicTView CPH060 - Video) - - pci:v0000109Ed0000036Esv00001461sd00000002* -- ID_MODEL_FROM_DATABASE=TV98 Series (TV/No FM/Remote) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV98 Series (TV/No FM/Remote)) - - pci:v0000109Ed0000036Esv00001461sd00000003* -- ID_MODEL_FROM_DATABASE=AverMedia UltraTV PCI 350 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia UltraTV PCI 350) - - pci:v0000109Ed0000036Esv00001461sd00000004* -- ID_MODEL_FROM_DATABASE=AVerTV WDM Video Capture -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AVerTV WDM Video Capture) - - pci:v0000109Ed0000036Esv00001461sd00000761* -- ID_MODEL_FROM_DATABASE=AverTV DVB-T -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverTV DVB-T) - - pci:v0000109Ed0000036Esv00001461sd00000771* -- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia AVerTV DVB-T 771) - - pci:v0000109Ed0000036Esv000014F1sd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) - - pci:v0000109Ed0000036Esv000014F1sd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv000014F1sd00000003* -- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv000014F1sd00000048* -- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) - - pci:v0000109Ed0000036Esv00001822sd00000001* -- ID_MODEL_FROM_DATABASE=VisionPlus DVB card -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (VisionPlus DVB card) - - pci:v0000109Ed0000036Esv00001851sd00001850* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video) - - pci:v0000109Ed0000036Esv00001851sd00001851* -- ID_MODEL_FROM_DATABASE=FlyVideo II -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo II) - - pci:v0000109Ed0000036Esv00001852sd00001852* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video (with FM Tuner)) - - pci:v0000109Ed0000036Esv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DViCO FusionHDTV5 Lite) - - pci:v0000109Ed0000036Esv0000270Fsd0000FC00* -- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Digitop DTT-1000) - - pci:v0000109Ed0000036Esv0000AA00sd00001460* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input0) - - pci:v0000109Ed0000036Esv0000AA01sd00001461* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input1) - - pci:v0000109Ed0000036Esv0000AA02sd00001462* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input2) - - pci:v0000109Ed0000036Esv0000AA03sd00001463* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input3) - - pci:v0000109Ed0000036Esv0000AA04sd00001464* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input0) - - pci:v0000109Ed0000036Esv0000AA05sd00001465* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input1) - - pci:v0000109Ed0000036Esv0000AA06sd00001466* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input2) - - pci:v0000109Ed0000036Esv0000AA07sd00001467* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input3) - - pci:v0000109Ed0000036Esv0000AA08sd00001468* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input0) - - pci:v0000109Ed0000036Esv0000AA09sd00001469* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input1) - - pci:v0000109Ed0000036Esv0000AA0Asd0000146A* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input2) - - pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input3) - - pci:v0000109Ed0000036Esv0000AA0Csd0000146C* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input0) - - pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input1) - - pci:v0000109Ed0000036Esv0000AA0Esd0000146E* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input2) - - pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input3) - - pci:v0000109Ed0000036Esv0000BD11sd00001200* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) - - pci:v0000109Ed0000036F* - ID_MODEL_FROM_DATABASE=Bt879 Video Capture - - pci:v0000109Ed0000036Fsv0000127Asd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv0000127Asd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv0000127Asd00000244* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv0000127Asd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv0000127Asd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00001522* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) - - pci:v0000109Ed0000036Fsv0000127Asd00001622* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) - - pci:v0000109Ed0000036Fsv0000127Asd00001722* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv000014F1sd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv000014F1sd00000244* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv000014F1sd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv000014F1sd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00001522* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) - - pci:v0000109Ed0000036Fsv000014F1sd00001622* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) - - pci:v0000109Ed0000036Fsv000014F1sd00001722* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv00001851sd00001850* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video) - - pci:v0000109Ed0000036Fsv00001851sd00001851* -- ID_MODEL_FROM_DATABASE=FlyVideo II -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo II) - - pci:v0000109Ed0000036Fsv00001852sd00001852* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video (with FM Tuner)) - - pci:v0000109Ed00000370* - ID_MODEL_FROM_DATABASE=Bt880 Video Capture - - pci:v0000109Ed00000370sv00001851sd00001850* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 -+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98) - - pci:v0000109Ed00000370sv00001851sd00001851* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 EZ - video -+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 EZ - video) - - pci:v0000109Ed00000370sv00001852sd00001852* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 (with FM Tuner) -+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 (with FM Tuner)) - - pci:v0000109Ed00000878* - ID_MODEL_FROM_DATABASE=Bt878 Audio Capture - - pci:v0000109Ed00000878sv00000070sd000013EB* -- ID_MODEL_FROM_DATABASE=WinTV Series -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (WinTV Series) - - pci:v0000109Ed00000878sv00000070sd0000FF01* -- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Viewcast Osprey 200) - - pci:v0000109Ed00000878sv00000071sd00000101* -- ID_MODEL_FROM_DATABASE=DigiTV PCI -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DigiTV PCI) - - pci:v0000109Ed00000878sv00001002sd00000001* -- ID_MODEL_FROM_DATABASE=TV-Wonder -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder) - - pci:v0000109Ed00000878sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=TV-Wonder/VE -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder/VE) - - pci:v0000109Ed00000878sv000011BDsd00000012* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) - - pci:v0000109Ed00000878sv000011BDsd0000001C* -- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV Sat (DBC receiver)) - - pci:v0000109Ed00000878sv0000127Asd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv0000127Asd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv0000127Asd00000003* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv0000127Asd00000048* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000013E9sd00000070* -- ID_MODEL_FROM_DATABASE=Win/TV (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Win/TV (Audio Section)) - - pci:v0000109Ed00000878sv0000144Fsd00003000* -- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Audio -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (MagicTView CPH060 - Audio) - - pci:v0000109Ed00000878sv00001461sd00000002* -- ID_MODEL_FROM_DATABASE=Avermedia PCTV98 Audio Capture -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Avermedia PCTV98 Audio Capture) - - pci:v0000109Ed00000878sv00001461sd00000003* -- ID_MODEL_FROM_DATABASE=UltraTV PCI 350 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (UltraTV PCI 350) - - pci:v0000109Ed00000878sv00001461sd00000004* -- ID_MODEL_FROM_DATABASE=AVerTV WDM Audio Capture -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV WDM Audio Capture) - - pci:v0000109Ed00000878sv00001461sd00000761* -- ID_MODEL_FROM_DATABASE=AVerTV DVB-T -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV DVB-T) - - pci:v0000109Ed00000878sv00001461sd00000771* -- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AverMedia AVerTV DVB-T 771) - - pci:v0000109Ed00000878sv000014F1sd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000014F1sd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000014F1sd00000003* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000014F1sd00000048* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv00001822sd00000001* -- ID_MODEL_FROM_DATABASE=VisionPlus DVB Card -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (VisionPlus DVB Card) - - pci:v0000109Ed00000878sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DViCO FusionHDTV5 Lite) - - pci:v0000109Ed00000878sv0000270Fsd0000FC00* -- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Digitop DTT-1000) - - pci:v0000109Ed00000878sv0000BD11sd00001200* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) - - pci:v0000109Ed00000879* - ID_MODEL_FROM_DATABASE=Bt879 Audio Capture - - pci:v0000109Ed00000879sv0000127Asd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000244* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001522* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001622* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001722* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000244* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001522* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001622* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001722* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000880* - ID_MODEL_FROM_DATABASE=Bt880 Audio Capture -@@ -18585,7 +18585,7 @@ pci:v000010B4d00001B1D* - ID_MODEL_FROM_DATABASE=Velocity 128 3D - - pci:v000010B4d00001B1Dsv000010B4sd0000237E* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=Velocity 128 3D (Velocity 4400) - - pci:v000010B5* - ID_VENDOR_FROM_DATABASE=PLX Technology, Inc. -@@ -18597,13 +18597,13 @@ pci:v000010B5d00000557* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00000557sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card) - - pci:v000010B5d00001000* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00001000sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM AT400P Quad T1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AT400P Quad T1 PCI card) - - pci:v000010B5d00001024* - ID_MODEL_FROM_DATABASE=Acromag, Inc. IndustryPack Carrier Card -@@ -18636,7 +18636,7 @@ pci:v000010B5d00002000* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00002000sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM AE400P Quad E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AE400P Quad E1 PCI card) - - pci:v000010B5d00002540* - ID_MODEL_FROM_DATABASE=IXXAT CAN-Interface PC-I 04/PCI -@@ -18651,19 +18651,19 @@ pci:v000010B5d00004000* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00004000sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card) - - pci:v000010B5d00004001* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00004001sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM A400PE Quad E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PE Quad E1 PCI card) - - pci:v000010B5d00004002* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00004002sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM A400PT Quad T1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PT Quad T1 PCI card) - - pci:v000010B5d00006140* - ID_MODEL_FROM_DATABASE=PCI6140 32-bit 33MHz PCI-to-PCI Bridge -@@ -18690,28 +18690,28 @@ pci:v000010B5d00006540* - ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge - - pci:v000010B5d00006540sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (CR11 Single Board Computer) - - pci:v000010B5d00006540sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (PSL09 PrPMC) - - pci:v000010B5d00006541* - ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) - - pci:v000010B5d00006541sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (CR11 Single Board Computer) - - pci:v000010B5d00006541sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (PSL09 PrPMC) - - pci:v000010B5d00006542* - ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) - - pci:v000010B5d00006542sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (CR11 Single Board Computer) - - pci:v000010B5d00006542sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (PSL09 PrPMC) - - pci:v000010B5d00008111* - ID_MODEL_FROM_DATABASE=PEX 8111 PCI Express-to-PCI Bridge -@@ -18807,7 +18807,7 @@ pci:v000010B5d00008624* - ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] - - pci:v000010B5d00008624sv000013A3sd00001845* -- ID_MODEL_FROM_DATABASE=DX1845 Acceleration Card -+ ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] (DX1845 Acceleration Card) - - pci:v000010B5d00008625* - ID_MODEL_FROM_DATABASE=PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch -@@ -18861,85 +18861,85 @@ pci:v000010B5d00009030* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009030sv000010B5sd00002695* -- ID_MODEL_FROM_DATABASE=Hilscher CIF50-PB/DPS Profibus -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Hilscher CIF50-PB/DPS Profibus) - - pci:v000010B5d00009030sv000010B5sd00002862* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00002906* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board) - - pci:v000010B5d00009030sv000010B5sd00002940* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00002977* -- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCI CAN Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCI CAN Board) - - pci:v000010B5d00009030sv000010B5sd00002978* -- ID_MODEL_FROM_DATABASE=SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card) - - pci:v000010B5d00009030sv000010B5sd00003025* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00003068* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00003463* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000012FEsd00000111* -- ID_MODEL_FROM_DATABASE=CPCI-ASIO4 (ESD 4-port Serial Interface Board) -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (CPCI-ASIO4 (ESD 4-port Serial Interface Board)) - - pci:v000010B5d00009030sv00001369sd00009C01* -- ID_MODEL_FROM_DATABASE=VX222v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222v2) - - pci:v000010B5d00009030sv00001369sd00009D01* -- ID_MODEL_FROM_DATABASE=VX222-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) - - pci:v000010B5d00009030sv00001369sd00009D02* -- ID_MODEL_FROM_DATABASE=VX222-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) - - pci:v000010B5d00009030sv00001369sd00009E01* -- ID_MODEL_FROM_DATABASE=PCX924v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924v2) - - pci:v000010B5d00009030sv00001369sd00009F01* -- ID_MODEL_FROM_DATABASE=PCX924-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) - - pci:v000010B5d00009030sv00001369sd00009F02* -- ID_MODEL_FROM_DATABASE=PCX924-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) - - pci:v000010B5d00009030sv00001369sd0000A001* -- ID_MODEL_FROM_DATABASE=PCX22v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX22v2) - - pci:v000010B5d00009030sv00001369sd0000A701* -- ID_MODEL_FROM_DATABASE=LCM220v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM220v2) - - pci:v000010B5d00009030sv00001369sd0000A801* -- ID_MODEL_FROM_DATABASE=LCM200 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM200) - - pci:v000010B5d00009030sv00001397sd00003136* -- ID_MODEL_FROM_DATABASE=4xS0-ISDN PCI Adapter -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (4xS0-ISDN PCI Adapter) - - pci:v000010B5d00009030sv00001397sd00003137* -- ID_MODEL_FROM_DATABASE=S2M-E1-ISDN PCI Adapter -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (S2M-E1-ISDN PCI Adapter) - - pci:v000010B5d00009030sv00001518sd00000200* -- ID_MODEL_FROM_DATABASE=Kontron ThinkIO-C -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Kontron ThinkIO-C) - - pci:v000010B5d00009030sv000015EDsd00001002* -- ID_MODEL_FROM_DATABASE=MCCS 8-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 8-port Serial Hot Swap) - - pci:v000010B5d00009030sv000015EDsd00001003* -- ID_MODEL_FROM_DATABASE=MCCS 16-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 16-port Serial Hot Swap) - - pci:v000010B5d00009030sv0000E1C5sd00000001* -- ID_MODEL_FROM_DATABASE=TE1-PCI -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TE1-PCI) - - pci:v000010B5d00009030sv0000E1C5sd00000005* -- ID_MODEL_FROM_DATABASE=TA1-PCI -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI) - - pci:v000010B5d00009030sv0000E1C5sd00000006* -- ID_MODEL_FROM_DATABASE=TA1-PCI4 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI4) - - pci:v000010B5d00009036* - ID_MODEL_FROM_DATABASE=9036 -@@ -18948,145 +18948,145 @@ pci:v000010B5d00009050* - ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge - - pci:v000010B5d00009050sv000010B5sd00001067* -- ID_MODEL_FROM_DATABASE=IXXAT CAN i165 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IXXAT CAN i165) - - pci:v000010B5d00009050sv000010B5sd0000114E* -- ID_MODEL_FROM_DATABASE=Wasco WITIO PCI168extended -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco WITIO PCI168extended) - - pci:v000010B5d00009050sv000010B5sd00001169* -- ID_MODEL_FROM_DATABASE=Wasco OPTOIO32standard 32 digital in, 32 digital out -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco OPTOIO32standard 32 digital in, 32 digital out) - - pci:v000010B5d00009050sv000010B5sd00001172* -- ID_MODEL_FROM_DATABASE=IK220 (Heidenhain) -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IK220 (Heidenhain)) - - pci:v000010B5d00009050sv000010B5sd00002036* -- ID_MODEL_FROM_DATABASE=SatPak GPS -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SatPak GPS) - - pci:v000010B5d00009050sv000010B5sd00002221* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV: Timecode Reader Board) - - pci:v000010B5d00009050sv000010B5sd00002273* -- ID_MODEL_FROM_DATABASE=SH ARC-PCI SOHARD ARCNET card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SH ARC-PCI SOHARD ARCNET card) - - pci:v000010B5d00009050sv000010B5sd00002431* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D: Timecode Reader Board) - - pci:v000010B5d00009050sv000010B5sd00002905* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS: Time Synchronisation Board -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCI TS: Time Synchronisation Board) - - pci:v000010B5d00009050sv000010B5sd00003196* -- ID_MODEL_FROM_DATABASE=Goramo PLX200SYN sync serial card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Goramo PLX200SYN sync serial card) - - pci:v000010B5d00009050sv000010B5sd00009050* -- ID_MODEL_FROM_DATABASE=PCI-I04 PCI Passive PC/CAN Interface -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCI-I04 PCI Passive PC/CAN Interface) - - pci:v000010B5d00009050sv00001369sd00008901* -- ID_MODEL_FROM_DATABASE=PCX11+ PCI -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX11+ PCI) - - pci:v000010B5d00009050sv00001369sd00008F01* -- ID_MODEL_FROM_DATABASE=VX222 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (VX222) - - pci:v000010B5d00009050sv00001369sd00009401* -- ID_MODEL_FROM_DATABASE=PCX924 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX924) - - pci:v000010B5d00009050sv00001369sd00009501* -- ID_MODEL_FROM_DATABASE=PCX22 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX22) - - pci:v000010B5d00009050sv00001498sd00000362* -- ID_MODEL_FROM_DATABASE=TPMC866 8 Channel Serial Card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (TPMC866 8 Channel Serial Card) - - pci:v000010B5d00009050sv00001522sd00000001* -- ID_MODEL_FROM_DATABASE=RockForce 4 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 4 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000002* -- ID_MODEL_FROM_DATABASE=RockForce 2 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 2 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000003* -- ID_MODEL_FROM_DATABASE=RockForce 6 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 6 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000004* -- ID_MODEL_FROM_DATABASE=RockForce 8 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 8 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000010* -- ID_MODEL_FROM_DATABASE=RockForce2000 4 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 4 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000020* -- ID_MODEL_FROM_DATABASE=RockForce2000 2 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 2 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv000015EDsd00001000* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial) - - pci:v000010B5d00009050sv000015EDsd00001001* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial) - - pci:v000010B5d00009050sv000015EDsd00001002* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial Hot Swap) - - pci:v000010B5d00009050sv000015EDsd00001003* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial Hot Swap) - - pci:v000010B5d00009050sv00005654sd00002036* -- ID_MODEL_FROM_DATABASE=OpenSwitch 6 Telephony card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 6 Telephony card) - - pci:v000010B5d00009050sv00005654sd00003132* -- ID_MODEL_FROM_DATABASE=OpenSwitch 12 Telephony card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 12 Telephony card) - - pci:v000010B5d00009050sv00005654sd00005634* -- ID_MODEL_FROM_DATABASE=OpenLine4 Telephony Card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenLine4 Telephony Card) - - pci:v000010B5d00009050sv0000D531sd0000C002* -- ID_MODEL_FROM_DATABASE=PCIntelliCAN 2xSJA1000 CAN bus -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCIntelliCAN 2xSJA1000 CAN bus) - - pci:v000010B5d00009050sv0000D84Dsd00004006* -- ID_MODEL_FROM_DATABASE=EX-4006 1P -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4006 1P) - - pci:v000010B5d00009050sv0000D84Dsd00004008* -- ID_MODEL_FROM_DATABASE=EX-4008 1P EPP/ECP -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4008 1P EPP/ECP) - - pci:v000010B5d00009050sv0000D84Dsd00004014* -- ID_MODEL_FROM_DATABASE=EX-4014 2P -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4014 2P) - - pci:v000010B5d00009050sv0000D84Dsd00004018* -- ID_MODEL_FROM_DATABASE=EX-4018 3P EPP/ECP -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4018 3P EPP/ECP) - - pci:v000010B5d00009050sv0000D84Dsd00004025* -- ID_MODEL_FROM_DATABASE=EX-4025 1S(16C550) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4025 1S(16C550) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004027* -- ID_MODEL_FROM_DATABASE=EX-4027 1S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4027 1S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004028* -- ID_MODEL_FROM_DATABASE=EX-4028 1S(16C850) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4028 1S(16C850) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004036* -- ID_MODEL_FROM_DATABASE=EX-4036 2S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4036 2S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004037* -- ID_MODEL_FROM_DATABASE=EX-4037 2S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4037 2S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004038* -- ID_MODEL_FROM_DATABASE=EX-4038 2S(16C850) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4038 2S(16C850) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004052* -- ID_MODEL_FROM_DATABASE=EX-4052 1S(16C550) RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4052 1S(16C550) RS-422/485) - - pci:v000010B5d00009050sv0000D84Dsd00004053* -- ID_MODEL_FROM_DATABASE=EX-4053 2S(16C550) RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4053 2S(16C550) RS-422/485) - - pci:v000010B5d00009050sv0000D84Dsd00004055* -- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C550) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C550) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004058* -- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004065* -- ID_MODEL_FROM_DATABASE=EX-4065 8S(16C550) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4065 8S(16C550) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004068* -- ID_MODEL_FROM_DATABASE=EX-4068 8S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4068 8S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004078* -- ID_MODEL_FROM_DATABASE=EX-4078 2S(16C552) RS-232+1P -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4078 2S(16C552) RS-232+1P) - - pci:v000010B5d00009052* - ID_MODEL_FROM_DATABASE=PCI9052 PCI <-> IOBus Bridge -@@ -19095,88 +19095,88 @@ pci:v000010B5d00009054* - ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009054sv000010B5sd00002455* -- ID_MODEL_FROM_DATABASE=Wessex Techology PHIL-PCI -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Wessex Techology PHIL-PCI) - - pci:v000010B5d00009054sv000010B5sd00002696* -- ID_MODEL_FROM_DATABASE=Innes Corp AM Radcap card -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp AM Radcap card) - - pci:v000010B5d00009054sv000010B5sd00002717* -- ID_MODEL_FROM_DATABASE=Innes Corp Auricon card -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp Auricon card) - - pci:v000010B5d00009054sv000010B5sd00002844* -- ID_MODEL_FROM_DATABASE=Innes Corp TVS Encoder card -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp TVS Encoder card) - - pci:v000010B5d00009054sv000012C7sd00004001* -- ID_MODEL_FROM_DATABASE=Intel Dialogic DM/V960-4T1 PCI -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Intel Dialogic DM/V960-4T1 PCI) - - pci:v000010B5d00009054sv000012D9sd00000002* -- ID_MODEL_FROM_DATABASE=PCI Prosody Card rev 1.5 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PCI Prosody Card rev 1.5) - - pci:v000010B5d00009054sv000014B4sd0000D100* -- ID_MODEL_FROM_DATABASE=Dektec DTA-100 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-100) - - pci:v000010B5d00009054sv000014B4sd0000D114* -- ID_MODEL_FROM_DATABASE=Dektec DTA-120 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-120) - - pci:v000010B5d00009054sv000016DFsd00000011* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM PCI -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM PCI) - - pci:v000010B5d00009054sv000016DFsd00000012* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8) - - pci:v000010B5d00009054sv000016DFsd00000013* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 (without CAS Signaling) -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8 (without CAS Signaling)) - - pci:v000010B5d00009054sv000016DFsd00000014* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 4 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 4) - - pci:v000010B5d00009054sv000016DFsd00000015* -- ID_MODEL_FROM_DATABASE=PIKA Daytona MM -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA Daytona MM) - - pci:v000010B5d00009054sv000016DFsd00000016* -- ID_MODEL_FROM_DATABASE=PIKA InLine MM -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA InLine MM) - - pci:v000010B5d00009056* - ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009056sv000010B5sd00002979* -- ID_MODEL_FROM_DATABASE=CellinkBlade 11 - CPCI board VoATM AAL1 -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (CellinkBlade 11 - CPCI board VoATM AAL1) - - pci:v000010B5d00009056sv000010B5sd00003268* -- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCIe CAN Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCIe CAN Board) - - pci:v000010B5d00009056sv000010B5sd00003352* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe HD: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe HD: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003353* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe D: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe D: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003354* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe LV: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe LV: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003355* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe L: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe L: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003415* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCIe TS: Time Synchronisation Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCIe TS: Time Synchronisation Board) - - pci:v000010B5d00009056sv000010B5sd00003493* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe 3G: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe 3G: Timecode Reader Board) - - pci:v000010B5d00009056sv00001369sd0000C001* -- ID_MODEL_FROM_DATABASE=LX6464ES -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX6464ES) - - pci:v000010B5d00009056sv00001369sd0000C201* -- ID_MODEL_FROM_DATABASE=LX1616ES -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX1616ES) - - pci:v000010B5d00009056sv000014B4sd0000D10A* -- ID_MODEL_FROM_DATABASE=DekTec DTA-110T -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (DekTec DTA-110T) - - pci:v000010B5d00009056sv000014B4sd0000D140* -- ID_MODEL_FROM_DATABASE=Dektec DTA-140 -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-140) - - pci:v000010B5d00009056sv00001A0Esd0000006F* -- ID_MODEL_FROM_DATABASE=Dektec DTA-111 -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-111) - - pci:v000010B5d00009060* - ID_MODEL_FROM_DATABASE=PCI9060 32-bit 33MHz PCI <-> IOBus Bridge -@@ -19185,7 +19185,7 @@ pci:v000010B5d0000906D* - ID_MODEL_FROM_DATABASE=9060SD - - pci:v000010B5d0000906Dsv0000125Csd00000640* -- ID_MODEL_FROM_DATABASE=Aries 16000P -+ ID_MODEL_FROM_DATABASE=9060SD (Aries 16000P) - - pci:v000010B5d0000906E* - ID_MODEL_FROM_DATABASE=9060ES -@@ -19194,61 +19194,61 @@ pci:v000010B5d00009080* - ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009080sv0000103Csd000010EB* -- ID_MODEL_FROM_DATABASE=(Agilent) E2777B 83K Series Optical Communication Interface -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E2777B 83K Series Optical Communication Interface) - - pci:v000010B5d00009080sv0000103Csd000010EC* -- ID_MODEL_FROM_DATABASE=(Agilent) E6978-66442 PCI CIC -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E6978-66442 PCI CIC) - - pci:v000010B5d00009080sv000010B5sd00001123* -- ID_MODEL_FROM_DATABASE=Sectra KK631 encryption board -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (Sectra KK631 encryption board) - - pci:v000010B5d00009080sv000010B5sd00009080* -- ID_MODEL_FROM_DATABASE=9080 [real subsystem ID not set] -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (9080 [real subsystem ID not set]) - - pci:v000010B5d00009080sv000012D9sd00000002* -- ID_MODEL_FROM_DATABASE=PCI Prosody Card -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCI Prosody Card) - - pci:v000010B5d00009080sv000012DFsd00004422* -- ID_MODEL_FROM_DATABASE=4422PCI ["Do-All" Telemetry Data Aquisition System] -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (4422PCI ["Do-All" Telemetry Data Aquisition System]) - - pci:v000010B5d00009080sv00001369sd00009601* -- ID_MODEL_FROM_DATABASE=PCX822np -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822np) - - pci:v000010B5d00009080sv00001369sd0000A102* -- ID_MODEL_FROM_DATABASE=PCX822v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822v2) - - pci:v000010B5d00009080sv00001369sd0000A201* -- ID_MODEL_FROM_DATABASE=PCX442 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX442) - - pci:v000010B5d00009080sv00001369sd0000A301* -- ID_MODEL_FROM_DATABASE=LCM440v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM440v2) - - pci:v000010B5d00009080sv00001369sd0000A401* -- ID_MODEL_FROM_DATABASE=VX822 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822) - - pci:v000010B5d00009080sv00001369sd0000A402* -- ID_MODEL_FROM_DATABASE=VX822v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822v2) - - pci:v000010B5d00009080sv00001369sd0000A901* -- ID_MODEL_FROM_DATABASE=LCM420 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM420) - - pci:v000010B5d00009080sv00001369sd0000AA01* -- ID_MODEL_FROM_DATABASE=VX820v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX820v2) - - pci:v000010B5d00009080sv00001517sd0000000B* -- ID_MODEL_FROM_DATABASE=ECSG-1R3ADC-PMC Clock synthesizer -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (ECSG-1R3ADC-PMC Clock synthesizer) - - pci:v000010B5d00009656* - ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge - - pci:v000010B5d00009656sv00001517sd0000000F* -- ID_MODEL_FROM_DATABASE=ECDR-GC314-PMC Receiver -+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (ECDR-GC314-PMC Receiver) - - pci:v000010B5d00009656sv00001885sd00000700* -- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S40 -+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S40) - - pci:v000010B5d00009656sv00001885sd00000701* -- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S30 -+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S30) - - pci:v000010B5d0000A100* - ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink -@@ -19263,28 +19263,28 @@ pci:v000010B5d0000D00D* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d0000D00Dsv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card) - - pci:v000010B5d0000D33D* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d0000D33Dsv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PT Quad T1/J1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PT Quad T1/J1 PCI card) - - pci:v000010B5d0000D44D* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d0000D44Dsv000010B5sd000017F6* -- ID_MODEL_FROM_DATABASE=Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card) - - pci:v000010B5d0000D44Dsv000010B5sd000017F7* -- ID_MODEL_FROM_DATABASE=Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card) - - pci:v000010B5d0000D44Dsv000010B5sd000017F8* -- ID_MODEL_FROM_DATABASE=Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card) - - pci:v000010B5d0000D44Dsv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PE Quad E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PE Quad E1 PCI card) - - pci:v000010B6* - ID_VENDOR_FROM_DATABASE=Madge Networks -@@ -19299,19 +19299,19 @@ pci:v000010B6d00000002sv000010B6sd00000002* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 - - pci:v000010B6d00000002sv000010B6sd00000006* -- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter -+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 (16/4 CardBus Adapter) - - pci:v000010B6d00000003* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 - - pci:v000010B6d00000003sv00000E11sd0000B0FD* -- ID_MODEL_FROM_DATABASE=Compaq NC4621 PCI, 4/16, WOL -+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Compaq NC4621 PCI, 4/16, WOL) - - pci:v000010B6d00000003sv000010B6sd00000003* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 - - pci:v000010B6d00000003sv000010B6sd00000007* -- ID_MODEL_FROM_DATABASE=Presto PCI Plus Adapter -+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Presto PCI Plus Adapter) - - pci:v000010B6d00000004* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk1 -@@ -19320,13 +19320,13 @@ pci:v000010B6d00000006* - ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter - - pci:v000010B6d00000006sv000010B6sd00000006* -- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter -+ ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter (16/4 CardBus Adapter) - - pci:v000010B6d00000007* - ID_MODEL_FROM_DATABASE=Presto PCI Adapter - - pci:v000010B6d00000007sv000010B6sd00000007* -- ID_MODEL_FROM_DATABASE=Presto PCI -+ ID_MODEL_FROM_DATABASE=Presto PCI Adapter (Presto PCI) - - pci:v000010B6d00000009* - ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode -@@ -19347,7 +19347,7 @@ pci:v000010B6d0000000Bsv000010B6sd00000008* - ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 - - pci:v000010B6d0000000Bsv000010B6sd0000000B* -- ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter Mk2 -+ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 (16/4 Cardbus Adapter Mk2) - - pci:v000010B6d0000000C* - ID_MODEL_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter -@@ -19368,13 +19368,13 @@ pci:v000010B7d00000001* - ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) - - pci:v000010B7d00000001sv00009850sd00000001* -- ID_MODEL_FROM_DATABASE=3c985B-SX -+ ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) (3c985B-SX) - - pci:v000010B7d00000013* - ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) - - pci:v000010B7d00000013sv000010B7sd00002031* -- ID_MODEL_FROM_DATABASE=3CRDAG675 11a/b/g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) (3CRDAG675 11a/b/g Wireless PCI Adapter) - - pci:v000010B7d00000910* - ID_MODEL_FROM_DATABASE=3C910-A01 -@@ -19386,10 +19386,10 @@ pci:v000010B7d00001007* - ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem - - pci:v000010B7d00001007sv000010B7sd0000615B* -- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem -+ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) - - pci:v000010B7d00001007sv000010B7sd0000615C* -- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem -+ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) - - pci:v000010B7d00001201* - ID_MODEL_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port A [Hydra] -@@ -19401,16 +19401,16 @@ pci:v000010B7d00001700* - ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] - - pci:v000010B7d00001700sv00001043sd000080EB* -- ID_MODEL_FROM_DATABASE=A7V600/P4P800/K8V motherboard -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (A7V600/P4P800/K8V motherboard) - - pci:v000010B7d00001700sv000010B7sd00000010* -- ID_MODEL_FROM_DATABASE=3C940 Gigabit LOM Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C940 Gigabit LOM Ethernet Adapter) - - pci:v000010B7d00001700sv000010B7sd00000020* -- ID_MODEL_FROM_DATABASE=3C941 Gigabit LOM Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C941 Gigabit LOM Ethernet Adapter) - - pci:v000010B7d00001700sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (KV8-MAX3 motherboard) - - pci:v000010B7d00003390* - ID_MODEL_FROM_DATABASE=3c339 TokenLink Velocity -@@ -19419,7 +19419,7 @@ pci:v000010B7d00003590* - ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL - - pci:v000010B7d00003590sv000010B7sd00003590* -- ID_MODEL_FROM_DATABASE=TokenLink Velocity XL Adapter (3C359/359B) -+ ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL (TokenLink Velocity XL Adapter (3C359/359B)) - - pci:v000010B7d00004500* - ID_MODEL_FROM_DATABASE=3c450 HomePNA [Tornado] -@@ -19431,19 +19431,19 @@ pci:v000010B7d00005057* - ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] - - pci:v000010B7d00005057sv000010B7sd00005A57* -- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card -+ ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) - - pci:v000010B7d00005157* - ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] - - pci:v000010B7d00005157sv000010B7sd00005B57* -- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card -+ ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] (3C575 Megahertz 10/100 LAN Cardbus PC Card) - - pci:v000010B7d00005257* - ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] - - pci:v000010B7d00005257sv000010B7sd00005C57* -- ID_MODEL_FROM_DATABASE=FE575C-3Com 10/100 LAN CardBus-Fast Ethernet -+ ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] (FE575C-3Com 10/100 LAN CardBus-Fast Ethernet) - - pci:v000010B7d00005900* - ID_MODEL_FROM_DATABASE=3c590 10BaseT [Vortex] -@@ -19467,7 +19467,7 @@ pci:v000010B7d00005B57* - ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] - - pci:v000010B7d00005B57sv000010B7sd00005B57* -- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card -+ ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) - - pci:v000010B7d00006000* - ID_MODEL_FROM_DATABASE=3CRSHPW796 [OfficeConnect Wireless CardBus] -@@ -19482,31 +19482,31 @@ pci:v000010B7d00006056* - ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] - - pci:v000010B7d00006056sv000010B7sd00006556* -- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] (10/100 Mini PCI Ethernet Adapter) - - pci:v000010B7d00006560* - ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] - - pci:v000010B7d00006560sv000010B7sd0000656A* -- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] (3CCFEM656 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006561* - ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus - - pci:v000010B7d00006561sv000010B7sd0000656B* -- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006562* - ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] - - pci:v000010B7d00006562sv000010B7sd0000656B* -- ID_MODEL_FROM_DATABASE=3CCFEM656B 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] (3CCFEM656B 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006563* - ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus - - pci:v000010B7d00006563sv000010B7sd0000656B* -- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006564* - ID_MODEL_FROM_DATABASE=3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado] -@@ -19542,13 +19542,13 @@ pci:v000010B7d00009004* - ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] - - pci:v000010B7d00009004sv000010B7sd00009004* -- ID_MODEL_FROM_DATABASE=3C900B-TPO Etherlink XL TPO 10Mb -+ ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] (3C900B-TPO Etherlink XL TPO 10Mb) - - pci:v000010B7d00009005* - ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] - - pci:v000010B7d00009005sv000010B7sd00009005* -- ID_MODEL_FROM_DATABASE=3C900B-Combo Etherlink XL Combo -+ ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] (3C900B-Combo Etherlink XL Combo) - - pci:v000010B7d00009006* - ID_MODEL_FROM_DATABASE=3c900B-TPC Etherlink XL [Cyclone] -@@ -19572,67 +19572,67 @@ pci:v000010B7d00009055* - ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] - - pci:v000010B7d00009055sv00001028sd00000080* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000081* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000082* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000083* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000084* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000085* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000086* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000087* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000089* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000090* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000091* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000092* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000093* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000094* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000096* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000097* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000098* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000099* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv000010B7sd00009055* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009056* - ID_MODEL_FROM_DATABASE=3c905B-T4 Fast EtherLink XL [Cyclone] -@@ -19647,40 +19647,40 @@ pci:v000010B7d00009200* - ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] - - pci:v000010B7d00009200sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) - - pci:v000010B7d00009200sv00001028sd00000097* -- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) - - pci:v000010B7d00009200sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (OptiPlex GX110) - - pci:v000010B7d00009200sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Precision 530) - - pci:v000010B7d00009200sv00001028sd000000FE* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Optiplex GX240) - - pci:v000010B7d00009200sv00001028sd0000012A* -- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller [Latitude C640] -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller [Latitude C640]) - - pci:v000010B7d00009200sv000010B7sd00001000* -- ID_MODEL_FROM_DATABASE=3C905CX-TX/TX-M Fast Etherlink for PC Management NIC -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C905CX-TX/TX-M Fast Etherlink for PC Management NIC) - - pci:v000010B7d00009200sv000010B7sd00007000* -- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (10/100 Mini PCI Ethernet Adapter) - - pci:v000010B7d00009200sv000010F1sd00002466* -- ID_MODEL_FROM_DATABASE=Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)) - - pci:v000010B7d00009200sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (X10 Laptop) - - pci:v000010B7d00009201* - ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] - - pci:v000010B7d00009201sv00001043sd000080AB* -- ID_MODEL_FROM_DATABASE=A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller -+ ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] (A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller) - - pci:v000010B7d00009202* - ID_MODEL_FROM_DATABASE=3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller -@@ -19695,22 +19695,22 @@ pci:v000010B7d00009800* - ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] - - pci:v000010B7d00009800sv000010B7sd00009800* -- ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter -+ ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] (3c980-TX Fast Etherlink XL Server Adapter) - - pci:v000010B7d00009805* - ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] - - pci:v000010B7d00009805sv000010B7sd00001201* -- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port A -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port A) - - pci:v000010B7d00009805sv000010B7sd00001202* -- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port B -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port B) - - pci:v000010B7d00009805sv000010B7sd00009805* -- ID_MODEL_FROM_DATABASE=3c980 10/100baseTX NIC [Python-T] -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (3c980 10/100baseTX NIC [Python-T]) - - pci:v000010B7d00009805sv000010F1sd00002462* -- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (Thunder K7 S2462) - - pci:v000010B7d00009900* - ID_MODEL_FROM_DATABASE=3C990-TX [Typhoon] -@@ -19725,25 +19725,25 @@ pci:v000010B7d00009904* - ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] - - pci:v000010B7d00009904sv000010B7sd00001000* -- ID_MODEL_FROM_DATABASE=3CR990B-TX-M [Typhoon2] -+ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990B-TX-M [Typhoon2]) - - pci:v000010B7d00009904sv000010B7sd00002000* -- ID_MODEL_FROM_DATABASE=3CR990BSVR [Typhoon2 Server] -+ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990BSVR [Typhoon2 Server]) - - pci:v000010B7d00009905* - ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] - - pci:v000010B7d00009905sv000010B7sd00001101* -- ID_MODEL_FROM_DATABASE=3CR990-FX-95 [Typhoon Fiber 56-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 [Typhoon Fiber 56-bit]) - - pci:v000010B7d00009905sv000010B7sd00001102* -- ID_MODEL_FROM_DATABASE=3CR990-FX-97 [Typhoon Fiber 168-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 [Typhoon Fiber 168-bit]) - - pci:v000010B7d00009905sv000010B7sd00002101* -- ID_MODEL_FROM_DATABASE=3CR990-FX-95 Server [Typhoon Fiber 56-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 Server [Typhoon Fiber 56-bit]) - - pci:v000010B7d00009905sv000010B7sd00002102* -- ID_MODEL_FROM_DATABASE=3CR990-FX-97 Server [Typhoon Fiber 168-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 Server [Typhoon Fiber 168-bit]) - - pci:v000010B7d00009908* - ID_MODEL_FROM_DATABASE=3CR990SVR95 [Typhoon Server 56-bit] -@@ -19764,49 +19764,49 @@ pci:v000010B8d00000005* - ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter - - pci:v000010B8d00000005sv00001055sd0000E000* -- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171Q-PCI] -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171Q-PCI]) - - pci:v000010B8d00000005sv00001055sd0000E002* -- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171G-PCI] -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171G-PCI]) - - pci:v000010B8d00000005sv000010B8sd0000A011* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A014* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A015* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A016* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A017* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000006* - ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter - - pci:v000010B8d00000006sv00001055sd0000E100* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv00001055sd0000E102* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv00001055sd0000E300* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv00001055sd0000E302* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv000010B8sd0000A012* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv000013A2sd00008002* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv000013A2sd00008006* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00001000* - ID_MODEL_FROM_DATABASE=FDC 37c665 -@@ -19869,13 +19869,13 @@ pci:v000010B9d00001521* - ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] - - pci:v000010B9d00001521sv000010B9sd00001521* -- ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge -+ ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] (ALI M1521 Aladdin III CPU Bridge) - - pci:v000010B9d00001523* - ID_MODEL_FROM_DATABASE=M1523 - - pci:v000010B9d00001523sv000010B9sd00001523* -- ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge -+ ID_MODEL_FROM_DATABASE=M1523 (ALI M1523 ISA Bridge) - - pci:v000010B9d00001531* - ID_MODEL_FROM_DATABASE=M1531 [Aladdin IV] -@@ -19884,16 +19884,16 @@ pci:v000010B9d00001533* - ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] - - pci:v000010B9d00001533sv00001014sd0000053B* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ThinkPad R40e) - - pci:v000010B9d00001533sv000010B9sd00001533* -- ID_MODEL_FROM_DATABASE=ALi M1533 Aladdin IV/V ISA Bridge -+ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ALi M1533 Aladdin IV/V ISA Bridge) - - pci:v000010B9d00001541* - ID_MODEL_FROM_DATABASE=M1541 - - pci:v000010B9d00001541sv000010B9sd00001541* -- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP System Controller -+ ID_MODEL_FROM_DATABASE=M1541 (ALI M1541 Aladdin V/V+ AGP System Controller) - - pci:v000010B9d00001543* - ID_MODEL_FROM_DATABASE=M1543 -@@ -19902,10 +19902,10 @@ pci:v000010B9d00001563* - ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge - - pci:v000010B9d00001563sv000010B9sd00001563* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00001563sv00001849sd00001563* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00001573* - ID_MODEL_FROM_DATABASE=PCI to LPC Controller -@@ -20007,22 +20007,22 @@ pci:v000010B9d00005229* - ID_MODEL_FROM_DATABASE=M5229 IDE - - pci:v000010B9d00005229sv00001014sd0000050F* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R30) - - pci:v000010B9d00005229sv00001014sd0000053D* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R40e) - - pci:v000010B9d00005229sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin IDE -+ ID_MODEL_FROM_DATABASE=M5229 IDE (Pavilion ze4400 builtin IDE) - - pci:v000010B9d00005229sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M5229 IDE (XE4500 Notebook) - - pci:v000010B9d00005229sv00001043sd00008053* -- ID_MODEL_FROM_DATABASE=A7A266 Motherboard IDE -+ ID_MODEL_FROM_DATABASE=M5229 IDE (A7A266 Motherboard IDE) - - pci:v000010B9d00005229sv00001849sd00005229* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard IDE (PATA) -+ ID_MODEL_FROM_DATABASE=M5229 IDE (ASRock 939Dual-SATA2 Motherboard IDE (PATA)) - - pci:v000010B9d00005235* - ID_MODEL_FROM_DATABASE=M5225 -@@ -20031,31 +20031,31 @@ pci:v000010B9d00005237* - ID_MODEL_FROM_DATABASE=USB 1.1 Controller - - pci:v000010B9d00005237sv00001014sd00000540* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ThinkPad R40e) - - pci:v000010B9d00005237sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin USB -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Pavilion ze4400 builtin USB) - - pci:v000010B9d00005237sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (XE4500 Notebook) - - pci:v000010B9d00005237sv0000104Dsd0000810F* -- ID_MODEL_FROM_DATABASE=VAIO PCG-U1 USB/OHCI Revision 1.0 -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (VAIO PCG-U1 USB/OHCI Revision 1.0) - - pci:v000010B9d00005237sv000010B9sd00005237* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005237sv00001849sd00005237* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005239* - ID_MODEL_FROM_DATABASE=USB 2.0 Controller - - pci:v000010B9d00005239sv000010B9sd00005239* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005239sv00001849sd00005239* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005243* - ID_MODEL_FROM_DATABASE=M1541 PCI to AGP Controller -@@ -20103,7 +20103,7 @@ pci:v000010B9d00005288* - ID_MODEL_FROM_DATABASE=ULi M5288 SATA - - pci:v000010B9d00005288sv00001043sd00008056* -- ID_MODEL_FROM_DATABASE=A8R-MVP Mainboard -+ ID_MODEL_FROM_DATABASE=ULi M5288 SATA (A8R-MVP Mainboard) - - pci:v000010B9d00005289* - ID_MODEL_FROM_DATABASE=ULi 5289 SATA -@@ -20115,16 +20115,16 @@ pci:v000010B9d00005451* - ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device - - pci:v000010B9d00005451sv00001014sd00000506* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R30) - - pci:v000010B9d00005451sv00001014sd0000053E* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R40e) - - pci:v000010B9d00005451sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Audio -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (Pavilion ze4400 builtin Audio) - - pci:v000010B9d00005451sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (XE4500 Notebook) - - pci:v000010B9d00005453* - ID_MODEL_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device -@@ -20133,22 +20133,22 @@ pci:v000010B9d00005455* - ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device - - pci:v000010B9d00005455sv000010B9sd00005455* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005455sv00001849sd00000850* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005457* - ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller - - pci:v000010B9d00005457sv00001014sd00000535* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (ThinkPad R40e) - - pci:v000010B9d00005457sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Modem Device -+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (Pavilion ze4400 builtin Modem Device) - - pci:v000010B9d00005457sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (XE4500 Notebook) - - pci:v000010B9d00005459* - ID_MODEL_FROM_DATABASE=SmartLink SmartPCI561 56K Modem -@@ -20169,19 +20169,19 @@ pci:v000010B9d00007101* - ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] - - pci:v000010B9d00007101sv00001014sd00000510* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R30) - - pci:v000010B9d00007101sv00001014sd0000053C* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R40e) - - pci:v000010B9d00007101sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (Pavilion ze4400) - - pci:v000010B9d00007101sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (XE4500 Notebook) - - pci:v000010B9d00007101sv00001849sd00007101* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010BA* - ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp. -@@ -20196,7 +20196,7 @@ pci:v000010BAd00000308* - ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] - - pci:v000010BAd00000308sv000010DDsd00000024* -- ID_MODEL_FROM_DATABASE=Tornado 3000 -+ ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] (Tornado 3000) - - pci:v000010BAd00001002* - ID_MODEL_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator] -@@ -20259,79 +20259,79 @@ pci:v000010C8d00000004* - ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] - - pci:v000010C8d00000004sv00001014sd000000BA* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001025sd00001007* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd00000074* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd00000075* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd0000007D* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd0000007E* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001033sd0000802F* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv0000104Dsd0000801B* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv0000104Dsd0000802F* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv0000104Dsd0000830B* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010BAsd00000E00* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010C8sd00000004* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010CFsd00001029* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd00008308* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd00008309* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd0000830B* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd0000830D* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd00008312* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000005* - ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] - - pci:v000010C8d00000005sv00001014sd000000DD* -- ID_MODEL_FROM_DATABASE=ThinkPad 570 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (ThinkPad 570) - - pci:v000010C8d00000005sv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=Latitude CPi A -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (Latitude CPi A) - - pci:v000010C8d00000006* - ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] - - pci:v000010C8d00000006sv00001014sd00000152* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X -+ ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] (ThinkPad 600X) - - pci:v000010C8d00000016* - ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] - - pci:v000010C8d00000016sv000010C8sd00000016* -- ID_MODEL_FROM_DATABASE=MagicMedia 256XL+ -+ ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] (MagicMedia 256XL+) - - pci:v000010C8d00000025* - ID_MODEL_FROM_DATABASE=NM2230 [MagicGraph 256AV+] -@@ -20343,40 +20343,40 @@ pci:v000010C8d00008005* - ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] - - pci:v000010C8d00008005sv00000E11sd0000B0D1* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Discovery -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Discovery) - - pci:v000010C8d00008005sv00000E11sd0000B126* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Durango -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Durango) - - pci:v000010C8d00008005sv00001014sd000000DD* -- ID_MODEL_FROM_DATABASE=ThinkPad 390/i1720/i1721 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (ThinkPad 390/i1720/i1721) - - pci:v000010C8d00008005sv00001025sd00001003* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on TravelMate 720 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on TravelMate 720) - - pci:v000010C8d00008005sv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=Latitude CPi A -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (Latitude CPi A) - - pci:v000010C8d00008005sv00001028sd0000008F* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Colorado Inspiron -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Colorado Inspiron) - - pci:v000010C8d00008005sv0000103Csd00000007* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager II -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager II) - - pci:v000010C8d00008005sv0000103Csd00000008* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager III -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager III) - - pci:v000010C8d00008005sv0000103Csd0000000D* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Omnibook 900 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Omnibook 900) - - pci:v000010C8d00008005sv000010C8sd00008005* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on FireAnt -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on FireAnt) - - pci:v000010C8d00008005sv0000110Asd00008005* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) - - pci:v000010C8d00008005sv000014C0sd00000004* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) - - pci:v000010C8d00008006* - ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX Audio] -@@ -20415,10 +20415,10 @@ pci:v000010CDd00001300* - ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U - - pci:v000010CDd00001300sv000010CDsd00001310* -- ID_MODEL_FROM_DATABASE=ASC1300 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (ASC1300 SCSI Adapter) - - pci:v000010CDd00001300sv00001195sd00001320* -- ID_MODEL_FROM_DATABASE=Ultra-SCSI CardBus PC Card REX CB31 -+ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (Ultra-SCSI CardBus PC Card REX CB31) - - pci:v000010CDd00002300* - ID_MODEL_FROM_DATABASE=ABP940-UW -@@ -20511,7 +20511,7 @@ pci:v000010D9d00000531* - ID_MODEL_FROM_DATABASE=MX987x5 - - pci:v000010D9d00000531sv00001186sd00001200* -- ID_MODEL_FROM_DATABASE=DFE-540TX ProFAST 10/100 Adapter -+ ID_MODEL_FROM_DATABASE=MX987x5 (DFE-540TX ProFAST 10/100 Adapter) - - pci:v000010D9d00008625* - ID_MODEL_FROM_DATABASE=MX86250 -@@ -20559,7 +20559,7 @@ pci:v000010DDd00000100* - ID_MODEL_FROM_DATABASE=Lightning 1200 - - pci:v000010DDd00000100sv000010DDsd00000023* -- ID_MODEL_FROM_DATABASE=Lightning 1200 15+16M -+ ID_MODEL_FROM_DATABASE=Lightning 1200 (15+16M) - - pci:v000010DE* - ID_VENDOR_FROM_DATABASE=NVIDIA Corporation -@@ -20574,193 +20574,193 @@ pci:v000010DEd00000020* - ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] - - pci:v000010DEd00000020sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=V3400 TNT -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (V3400 TNT) - - pci:v000010DEd00000020sv00001048sd00000C18* -- ID_MODEL_FROM_DATABASE=Erazor II SGRAM -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II SGRAM) - - pci:v000010DEd00000020sv00001048sd00000C19* -- ID_MODEL_FROM_DATABASE=Erazor II -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) - - pci:v000010DEd00000020sv00001048sd00000C1B* -- ID_MODEL_FROM_DATABASE=Erazor II -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) - - pci:v000010DEd00000020sv00001048sd00000C1C* -- ID_MODEL_FROM_DATABASE=Erazor II -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) - - pci:v000010DEd00000020sv00001092sd00000550* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00000552* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004804* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004808* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004810* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004812* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004815* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004820* -- ID_MODEL_FROM_DATABASE=Viper V550 with TV out -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550 with TV out) - - pci:v000010DEd00000020sv00001092sd00004822* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004904* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004914* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00008225* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv000010B4sd0000273D* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) - - pci:v000010DEd00000020sv000010B4sd0000273E* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) - - pci:v000010DEd00000020sv000010B4sd00002740* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) - - pci:v000010DEd00000020sv000010DEsd00000020* -- ID_MODEL_FROM_DATABASE=Riva TNT -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Riva TNT) - - pci:v000010DEd00000020sv00001102sd00001015* -- ID_MODEL_FROM_DATABASE=Graphics Blaster CT6710 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster CT6710) - - pci:v000010DEd00000020sv00001102sd00001016* -- ID_MODEL_FROM_DATABASE=Graphics Blaster RIVA TNT -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster RIVA TNT) - - pci:v000010DEd00000028* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] - - pci:v000010DEd00000028sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800 SGRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SGRAM) - - pci:v000010DEd00000028sv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800 SDRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SDRAM) - - pci:v000010DEd00000028sv00001043sd00000205* -- ID_MODEL_FROM_DATABASE=PCI-V3800 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (PCI-V3800) - - pci:v000010DEd00000028sv00001043sd00004000* -- ID_MODEL_FROM_DATABASE=AGP-V3800PRO -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800PRO) - - pci:v000010DEd00000028sv00001048sd00000C21* -- ID_MODEL_FROM_DATABASE=Synergy II -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Synergy II) - - pci:v000010DEd00000028sv00001048sd00000C28* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C29* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C2A* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C2B* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C31* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv00001048sd00000C32* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv00001048sd00000C33* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv00001048sd00000C34* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv0000107Dsd00002134* -- ID_MODEL_FROM_DATABASE=WinFast 3D S320 II + TV-Out -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (WinFast 3D S320 II + TV-Out) - - pci:v000010DEd00000028sv00001092sd00004804* -- ID_MODEL_FROM_DATABASE=Viper V770 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) - - pci:v000010DEd00000028sv00001092sd00004A00* -- ID_MODEL_FROM_DATABASE=Viper V770 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) - - pci:v000010DEd00000028sv00001092sd00004A02* -- ID_MODEL_FROM_DATABASE=Viper V770 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) - - pci:v000010DEd00000028sv00001092sd00005A00* -- ID_MODEL_FROM_DATABASE=RIVA TNT2/TNT2 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2/TNT2 Pro) - - pci:v000010DEd00000028sv00001092sd00005A40* -- ID_MODEL_FROM_DATABASE=Viper V770D AGP -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770D AGP) - - pci:v000010DEd00000028sv00001092sd00006A02* -- ID_MODEL_FROM_DATABASE=Viper V770 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) - - pci:v000010DEd00000028sv00001092sd00007A02* -- ID_MODEL_FROM_DATABASE=Viper V770 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) - - pci:v000010DEd00000028sv000010DEsd00000005* -- ID_MODEL_FROM_DATABASE=RIVA TNT2 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2 Pro) - - pci:v000010DEd00000028sv000010DEsd0000000F* -- ID_MODEL_FROM_DATABASE=Compaq NVIDIA TNT2 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Compaq NVIDIA TNT2 Pro) - - pci:v000010DEd00000028sv00001102sd00001020* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2) - - pci:v000010DEd00000028sv00001102sd00001026* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Digital -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2 Digital) - - pci:v000010DEd00000028sv00001462sd00008806* -- ID_MODEL_FROM_DATABASE=MS-8806 AGPhantom Graphics Card -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (MS-8806 AGPhantom Graphics Card) - - pci:v000010DEd00000028sv000014AFsd00005810* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Maxi Gamer Xentor) - - pci:v000010DEd00000029* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] - - pci:v000010DEd00000029sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Deluxe -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Deluxe) - - pci:v000010DEd00000029sv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Ultra SDRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Ultra SDRAM) - - pci:v000010DEd00000029sv00001043sd00000205* -- ID_MODEL_FROM_DATABASE=PCI-V3800 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (PCI-V3800 Ultra) - - pci:v000010DEd00000029sv00001048sd00000C2E* -- ID_MODEL_FROM_DATABASE=Erazor III Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) - - pci:v000010DEd00000029sv00001048sd00000C2F* -- ID_MODEL_FROM_DATABASE=Erazor III Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) - - pci:v000010DEd00000029sv00001048sd00000C30* -- ID_MODEL_FROM_DATABASE=Erazor III Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) - - pci:v000010DEd00000029sv00001102sd00001021* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) - - pci:v000010DEd00000029sv00001102sd00001029* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) - - pci:v000010DEd00000029sv00001102sd0000102F* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) - - pci:v000010DEd00000029sv000014AFsd00005820* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor 32 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Maxi Gamer Xentor 32) - - pci:v000010DEd00000029sv00004843sd00004F34* -- ID_MODEL_FROM_DATABASE=Dynamite -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Dynamite) - - pci:v000010DEd0000002A* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2] -@@ -20772,85 +20772,85 @@ pci:v000010DEd0000002C* - ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] - - pci:v000010DEd0000002Csv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat SDRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat SDRAM) - - pci:v000010DEd0000002Csv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat) - - pci:v000010DEd0000002Csv00001048sd00000C20* -- ID_MODEL_FROM_DATABASE=TNT2 Vanta -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) - - pci:v000010DEd0000002Csv00001048sd00000C21* -- ID_MODEL_FROM_DATABASE=TNT2 Vanta -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) - - pci:v000010DEd0000002Csv00001048sd00000C25* -- ID_MODEL_FROM_DATABASE=TNT2 Vanta 16MB -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta 16MB) - - pci:v000010DEd0000002Csv00001092sd00006820* -- ID_MODEL_FROM_DATABASE=Viper V730 -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Viper V730) - - pci:v000010DEd0000002Csv00001102sd00001031* -- ID_MODEL_FROM_DATABASE=CT6938 VANTA 8MB -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6938 VANTA 8MB) - - pci:v000010DEd0000002Csv00001102sd00001034* -- ID_MODEL_FROM_DATABASE=CT6894 VANTA 16MB -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6894 VANTA 16MB) - - pci:v000010DEd0000002Csv000014AFsd00005008* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix 2 -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Maxi Gamer Phoenix 2) - - pci:v000010DEd0000002D* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] - - pci:v000010DEd0000002Dsv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800M -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) - - pci:v000010DEd0000002Dsv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800M -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) - - pci:v000010DEd0000002Dsv00001048sd00000C3A* -- ID_MODEL_FROM_DATABASE=Erazor III LT -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) - - pci:v000010DEd0000002Dsv00001048sd00000C3B* -- ID_MODEL_FROM_DATABASE=Erazor III LT -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) - - pci:v000010DEd0000002Dsv0000107Dsd00002137* -- ID_MODEL_FROM_DATABASE=WinFast 3D S325 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (WinFast 3D S325) - - pci:v000010DEd0000002Dsv000010DEsd00000006* -- ID_MODEL_FROM_DATABASE=RIVA TNT2 Model 64/Model 64 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (RIVA TNT2 Model 64/Model 64 Pro) - - pci:v000010DEd0000002Dsv000010DEsd0000001E* -- ID_MODEL_FROM_DATABASE=M64 AGP4x -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (M64 AGP4x) - - pci:v000010DEd0000002Dsv00001102sd00001023* -- ID_MODEL_FROM_DATABASE=CT6892 RIVA TNT2 Value -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6892 RIVA TNT2 Value) - - pci:v000010DEd0000002Dsv00001102sd00001024* -- ID_MODEL_FROM_DATABASE=CT6932 RIVA TNT2 Value 32Mb -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6932 RIVA TNT2 Value 32Mb) - - pci:v000010DEd0000002Dsv00001102sd0000102C* -- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value [Jumper] -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value [Jumper]) - - pci:v000010DEd0000002Dsv00001102sd00001030* -- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value) - - pci:v000010DEd0000002Dsv0000110Asd0000006F* -- ID_MODEL_FROM_DATABASE=GM1000-16 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) - - pci:v000010DEd0000002Dsv0000110Asd00000081* -- ID_MODEL_FROM_DATABASE=GM1000-16 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) - - pci:v000010DEd0000002Dsv00001462sd00008808* -- ID_MODEL_FROM_DATABASE=MSI-8808 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (MSI-8808) - - pci:v000010DEd0000002Dsv000014AFsd00005620* -- ID_MODEL_FROM_DATABASE=Gamer Cougar Video Edition -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Gamer Cougar Video Edition) - - pci:v000010DEd0000002Dsv00001554sd00001041* -- ID_MODEL_FROM_DATABASE=Pixelview RIVA TNT2 M64 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Pixelview RIVA TNT2 M64) - - pci:v000010DEd0000002Dsv00001569sd0000002D* -- ID_MODEL_FROM_DATABASE=Palit Microsystems Daytona TNT2 M64 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Palit Microsystems Daytona TNT2 M64) - - pci:v000010DEd00000034* - ID_MODEL_FROM_DATABASE=MCP04 SMBus -@@ -20889,19 +20889,19 @@ pci:v000010DEd00000041* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] - - pci:v000010DEd00000041sv00001043sd0000817B* -- ID_MODEL_FROM_DATABASE=V9999 Gamer Edition -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (V9999 Gamer Edition) - - pci:v000010DEd00000041sv0000107Dsd00002992* -- ID_MODEL_FROM_DATABASE=WinFast A400 -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (WinFast A400) - - pci:v000010DEd00000041sv00001458sd0000310F* -- ID_MODEL_FROM_DATABASE=Geforce 6800 GV-N6812 -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (Geforce 6800 GV-N6812) - - pci:v000010DEd00000042* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] - - pci:v000010DEd00000042sv0000107Dsd0000299B* -- ID_MODEL_FROM_DATABASE=WinFast A400 LE -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] (WinFast A400 LE) - - pci:v000010DEd00000043* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XE] -@@ -20913,16 +20913,16 @@ pci:v000010DEd00000045* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] - - pci:v000010DEd00000045sv00001043sd0000817D* -- ID_MODEL_FROM_DATABASE=V9999GT -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (V9999GT) - - pci:v000010DEd00000045sv00001458sd00003140* -- ID_MODEL_FROM_DATABASE=GV-N68T256D -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (GV-N68T256D) - - pci:v000010DEd00000047* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] - - pci:v000010DEd00000047sv00001682sd00002109* -- ID_MODEL_FROM_DATABASE=GeForce 6800 GS -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] (GeForce 6800 GS) - - pci:v000010DEd00000048* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XT] -@@ -20934,133 +20934,133 @@ pci:v000010DEd00000050* - ID_MODEL_FROM_DATABASE=CK804 ISA Bridge - - pci:v000010DEd00000050sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000050sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (Tomcat K8E (S2865)) - - pci:v000010DEd00000050sv00001458sd00000C11* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000050sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (MSI K8N Diamond) - - pci:v000010DEd00000050sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N Neo4-F mainboard) - - pci:v000010DEd00000050sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (KN8-Ultra Mainboard) - - pci:v000010DEd00000050sv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (NF4 AM2L Mainboard) - - pci:v000010DEd00000051* - ID_MODEL_FROM_DATABASE=CK804 ISA Bridge - - pci:v000010DEd00000051sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 ISA Bridge -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (PowerEdge T105 ISA Bridge) - - pci:v000010DEd00000052* - ID_MODEL_FROM_DATABASE=CK804 SMBus - - pci:v000010DEd00000052sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 SMBus -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (PowerEdge T105 SMBus) - - pci:v000010DEd00000052sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000052sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (Tomcat K8E (S2865)) - - pci:v000010DEd00000052sv00001458sd00000C11* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000052sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (MSI K8N Diamond) - - pci:v000010DEd00000052sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N Neo4-F mainboard) - - pci:v000010DEd00000052sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (KN8-Ultra Mainboard) - - pci:v000010DEd00000052sv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (NF4 AM2L Mainboard) - - pci:v000010DEd00000053* - ID_MODEL_FROM_DATABASE=CK804 IDE - - pci:v000010DEd00000053sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000053sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 IDE (Tomcat K8E (S2865)) - - pci:v000010DEd00000053sv00001458sd00005002* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000053sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 IDE (MSI K8N Diamond) - - pci:v000010DEd00000053sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N Neo4-F mainboard) - - pci:v000010DEd00000053sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (KN8-Ultra Mainboard) - - pci:v000010DEd00000053sv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (NF4 AM2L Mainboard) - - pci:v000010DEd00000054* - ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller - - pci:v000010DEd00000054sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) - - pci:v000010DEd00000054sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (A8N Series Mainboard) - - pci:v000010DEd00000054sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000054sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000054sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (MSI K8N Diamond) - - pci:v000010DEd00000054sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000054sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000054sv00001565sd00005401* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) - - pci:v000010DEd00000055* - ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller - - pci:v000010DEd00000055sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) - - pci:v000010DEd00000055sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000055sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000055sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000055sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000055sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000055sv00001565sd00005401* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) - - pci:v000010DEd00000056* - ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller -@@ -21069,28 +21069,28 @@ pci:v000010DEd00000057* - ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller - - pci:v000010DEd00000057sv00001043sd00008141* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000057sv000010DEsd0000CB84* -- ID_MODEL_FROM_DATABASE=NF4 Lanparty -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 Lanparty) - - pci:v000010DEd00000057sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000057sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000057sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (MSI K8N Diamond) - - pci:v000010DEd00000057sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000057sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000057sv00001565sd00002501* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 AM2L Mainboard) - - pci:v000010DEd00000058* - ID_MODEL_FROM_DATABASE=CK804 AC'97 Modem -@@ -21099,73 +21099,73 @@ pci:v000010DEd00000059* - ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller - - pci:v000010DEd00000059sv00001043sd0000812A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000059sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000059sv00001462sd00007585* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000059sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000059sv00001565sd00008211* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005A* - ID_MODEL_FROM_DATABASE=CK804 USB Controller - - pci:v000010DEd0000005Asv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) - - pci:v000010DEd0000005Asv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd0000005Asv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) - - pci:v000010DEd0000005Asv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd0000005Asv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) - - pci:v000010DEd0000005Asv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) - - pci:v000010DEd0000005Asv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) - - pci:v000010DEd0000005Asv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005B* - ID_MODEL_FROM_DATABASE=CK804 USB Controller - - pci:v000010DEd0000005Bsv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) - - pci:v000010DEd0000005Bsv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd0000005Bsv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) - - pci:v000010DEd0000005Bsv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd0000005Bsv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) - - pci:v000010DEd0000005Bsv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) - - pci:v000010DEd0000005Bsv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) - - pci:v000010DEd0000005Bsv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005C* - ID_MODEL_FROM_DATABASE=CK804 PCI Bridge -@@ -21177,34 +21177,34 @@ pci:v000010DEd0000005E* - ID_MODEL_FROM_DATABASE=CK804 Memory Controller - - pci:v000010DEd0000005Esv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Memory Controller -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (PowerEdge T105 Memory Controller) - - pci:v000010DEd0000005Esv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (A8N Series Mainboard) - - pci:v000010DEd0000005Esv000010DEsd0000005E* -- ID_MODEL_FROM_DATABASE=ECS Elitegroup NFORCE3-A939 motherboard. -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (ECS Elitegroup NFORCE3-A939 motherboard.) - - pci:v000010DEd0000005Esv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Tomcat K8E (S2865)) - - pci:v000010DEd0000005Esv000010F1sd00002891* -- ID_MODEL_FROM_DATABASE=Thunder K8SRE Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Thunder K8SRE Mainboard) - - pci:v000010DEd0000005Esv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd0000005Esv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=K8N Diamond Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Diamond Mainboard) - - pci:v000010DEd0000005Esv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Neo4-F Mainboard) - - pci:v000010DEd0000005Esv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (KN8-Ultra Mainboard) - - pci:v000010DEd0000005Esv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005F* - ID_MODEL_FROM_DATABASE=CK804 Memory Controller -@@ -21213,61 +21213,61 @@ pci:v000010DEd00000060* - ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge - - pci:v000010DEd00000060sv00001043sd000080AD* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard -+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (A7N8X Mainboard) - - pci:v000010DEd00000060sv0000147Bsd00001C02* -- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X -+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (NF7-S/NF7 (nVidia-nForce2) 2.X) - - pci:v000010DEd00000060sv0000A0A0sd000003BA* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (UK79G-1394 motherboard) - - pci:v000010DEd00000064* - ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) - - pci:v000010DEd00000064sv0000147Bsd00001C02* -- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X -+ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (NF7-S/NF7 (nVidia-nForce2) 2.X) - - pci:v000010DEd00000064sv0000A0A0sd000003BB* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (UK79G-1394 motherboard) - - pci:v000010DEd00000065* - ID_MODEL_FROM_DATABASE=nForce2 IDE - - pci:v000010DEd00000065sv000010DEsd00000C11* -- ID_MODEL_FROM_DATABASE=nForce 2 EIDE Controller -+ ID_MODEL_FROM_DATABASE=nForce2 IDE (nForce 2 EIDE Controller) - - pci:v000010DEd00000065sv0000A0A0sd000003B2* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 IDE (UK79G-1394 motherboard) - - pci:v000010DEd00000066* - ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller - - pci:v000010DEd00000066sv00001043sd000080A7* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard onboard nForce2 Ethernet -+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (A7N8X Mainboard onboard nForce2 Ethernet) - - pci:v000010DEd00000066sv000010DEsd00000C11* -- ID_MODEL_FROM_DATABASE=nForce MCP-T Networking Adapter -+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (nForce MCP-T Networking Adapter) - - pci:v000010DEd00000066sv0000A0A0sd000003B3* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (UK79G-1394 motherboard) - - pci:v000010DEd00000067* - ID_MODEL_FROM_DATABASE=nForce2 USB Controller - - pci:v000010DEd00000067sv00001043sd00000C11* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) - - pci:v000010DEd00000067sv0000A0A0sd000003B4* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) - - pci:v000010DEd00000068* - ID_MODEL_FROM_DATABASE=nForce2 USB Controller - - pci:v000010DEd00000068sv00001043sd00000C11* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) - - pci:v000010DEd00000068sv0000A0A0sd000003B4* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) - - pci:v000010DEd0000006A* - ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) -@@ -21276,16 +21276,16 @@ pci:v000010DEd0000006Asv00001043sd00008095* - ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) - - pci:v000010DEd0000006Asv0000A0A0sd00000304* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) (UK79G-1394 motherboard) - - pci:v000010DEd0000006B* - ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit - - pci:v000010DEd0000006Bsv000010DEsd0000006B* -- ID_MODEL_FROM_DATABASE=nForce2 MCP Audio Processing Unit -+ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (nForce2 MCP Audio Processing Unit) - - pci:v000010DEd0000006Bsv0000A0A0sd00000304* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (UK79G-1394 motherboard) - - pci:v000010DEd0000006C* - ID_MODEL_FROM_DATABASE=nForce2 External PCI Bridge -@@ -21297,25 +21297,25 @@ pci:v000010DEd0000006E* - ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller - - pci:v000010DEd0000006Esv0000A0A0sd00000306* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller (UK79G-1394 motherboard) - - pci:v000010DEd00000080* - ID_MODEL_FROM_DATABASE=MCP2A ISA bridge - - pci:v000010DEd00000080sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A ISA bridge (NV7 Motherboard) - - pci:v000010DEd00000084* - ID_MODEL_FROM_DATABASE=MCP2A SMBus - - pci:v000010DEd00000084sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A SMBus (NV7 Motherboard) - - pci:v000010DEd00000085* - ID_MODEL_FROM_DATABASE=MCP2A IDE - - pci:v000010DEd00000085sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A IDE (NV7 Motherboard) - - pci:v000010DEd00000086* - ID_MODEL_FROM_DATABASE=MCP2A Ethernet Controller -@@ -21324,19 +21324,19 @@ pci:v000010DEd00000087* - ID_MODEL_FROM_DATABASE=MCP2A USB Controller - - pci:v000010DEd00000087sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) - - pci:v000010DEd00000088* - ID_MODEL_FROM_DATABASE=MCP2A USB Controller - - pci:v000010DEd00000088sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) - - pci:v000010DEd0000008A* - ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller - - pci:v000010DEd0000008Asv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller (NV7 Motherboard) - - pci:v000010DEd0000008B* - ID_MODEL_FROM_DATABASE=MCP2A PCI Bridge -@@ -21378,7 +21378,7 @@ pci:v000010DEd000000A0* - ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] - - pci:v000010DEd000000A0sv000014AFsd00005810* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor -+ ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] (Maxi Gamer Xentor) - - pci:v000010DEd000000C0* - ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 GS] -@@ -21459,46 +21459,46 @@ pci:v000010DEd000000DF* - ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller - - pci:v000010DEd000000DFsv00001043sd000080A7* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (K8N-E) - - pci:v000010DEd000000DFsv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000DFsv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (NF8 Mainboard) - - pci:v000010DEd000000E0* - ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge - - pci:v000010DEd000000E0sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N-E) - - pci:v000010DEd000000E0sv000010DEsd00000C11* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Winfast NF3250K8AA) - - pci:v000010DEd000000E0sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E0sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (NF8 Mainboard) - - pci:v000010DEd000000E0sv00001849sd000000E0* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Motherboard (one of many)) - - pci:v000010DEd000000E1* - ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge - - pci:v000010DEd000000E1sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N-E) - - pci:v000010DEd000000E1sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E1sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (NF8 Mainboard) - - pci:v000010DEd000000E1sv00001849sd000000E1* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (Motherboard (one of many)) - - pci:v000010DEd000000E2* - ID_MODEL_FROM_DATABASE=nForce3 250Gb AGP Host to PCI Bridge -@@ -21507,55 +21507,55 @@ pci:v000010DEd000000E3* - ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller - - pci:v000010DEd000000E3sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (K8N-E) - - pci:v000010DEd000000E3sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000E3sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (NF8 Mainboard) - - pci:v000010DEd000000E3sv00001849sd000000E3* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Motherboard (one of many)) - - pci:v000010DEd000000E4* - ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management - - pci:v000010DEd000000E4sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N-E) - - pci:v000010DEd000000E4sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Winfast NF3250K8AA) - - pci:v000010DEd000000E4sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E4sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (NF8 Mainboard) - - pci:v000010DEd000000E4sv00001849sd000000E4* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Motherboard (one of many)) - - pci:v000010DEd000000E5* - ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) - - pci:v000010DEd000000E5sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N-E) - - pci:v000010DEd000000E5sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Winfast NF3250K8AA) - - pci:v000010DEd000000E5sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E5sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (NF8 Mainboard) - - pci:v000010DEd000000E5sv00001849sd000000E5* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) - - pci:v000010DEd000000E5sv0000F849sd000000E5* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) - - pci:v000010DEd000000E6* - ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller -@@ -21564,52 +21564,52 @@ pci:v000010DEd000000E7* - ID_MODEL_FROM_DATABASE=CK8S USB Controller - - pci:v000010DEd000000E7sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N-E) - - pci:v000010DEd000000E7sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000E7sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E7sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (NF8 Mainboard) - - pci:v000010DEd000000E7sv00001849sd000000E7* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Motherboard (one of many)) - - pci:v000010DEd000000E8* - ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller - - pci:v000010DEd000000E8sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N-E) - - pci:v000010DEd000000E8sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000E8sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E8sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (NF8 Mainboard) - - pci:v000010DEd000000E8sv00001849sd000000E8* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Motherboard (one of many)) - - pci:v000010DEd000000EA* - ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller - - pci:v000010DEd000000EAsv00001043sd0000819D* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N-E) - - pci:v000010DEd000000EAsv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000EAsv00001462sd0000B010* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N Neo-FSR v2.0) - - pci:v000010DEd000000EAsv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (NF8 Mainboard) - - pci:v000010DEd000000ED* - ID_MODEL_FROM_DATABASE=nForce3 250Gb PCI-to-PCI Bridge -@@ -21621,28 +21621,28 @@ pci:v000010DEd000000F1* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] - - pci:v000010DEd000000F1sv00001043sd000081A6* -- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) - - pci:v000010DEd000000F1sv00001043sd000081C6* -- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) - - pci:v000010DEd000000F1sv00001458sd00003150* -- ID_MODEL_FROM_DATABASE=GV-N66T128VP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-N66T128VP) - - pci:v000010DEd000000F1sv00001554sd00001191* -- ID_MODEL_FROM_DATABASE=PixelView PV-N43UA (128KD) -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (PixelView PV-N43UA (128KD)) - - pci:v000010DEd000000F1sv00001682sd00002119* -- ID_MODEL_FROM_DATABASE=GeForce 6600 GT AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GeForce 6600 GT AGP) - - pci:v000010DEd000000F2* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] - - pci:v000010DEd000000F2sv00001554sd00001194* -- ID_MODEL_FROM_DATABASE=PixelView PV-N43AT (256KD) -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (PixelView PV-N43AT (256KD)) - - pci:v000010DEd000000F2sv00001682sd0000211C* -- ID_MODEL_FROM_DATABASE=GeForce 6600 256MB DDR DUAL DVI TV -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GeForce 6600 256MB DDR DUAL DVI TV) - - pci:v000010DEd000000F3* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6200] -@@ -21657,7 +21657,7 @@ pci:v000010DEd000000F6* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] - - pci:v000010DEd000000F6sv00001682sd0000217E* -- ID_MODEL_FROM_DATABASE=XFX GeForce 6800 XTreme 256MB DDR3 AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] (XFX GeForce 6800 XTreme 256MB DDR3 AGP) - - pci:v000010DEd000000F8* - ID_MODEL_FROM_DATABASE=NV40GL [Quadro FX 3400/4400] -@@ -21666,10 +21666,10 @@ pci:v000010DEd000000F9* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] - - pci:v000010DEd000000F9sv000010DEsd000000F9* -- ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (NV40 [GeForce 6800 GT]) - - pci:v000010DEd000000F9sv00001682sd00002120* -- ID_MODEL_FROM_DATABASE=GEFORCE 6800 GT PCI-E -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (GEFORCE 6800 GT PCI-E) - - pci:v000010DEd000000FA* - ID_MODEL_FROM_DATABASE=NV36 [GeForce PCX 5750] -@@ -21693,130 +21693,130 @@ pci:v000010DEd00000100* - ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] - - pci:v000010DEd00000100sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) - - pci:v000010DEd00000100sv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) - - pci:v000010DEd00000100sv00001043sd00004008* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) - - pci:v000010DEd00000100sv00001043sd00004009* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) - - pci:v000010DEd00000100sv00001048sd00000C41* -- ID_MODEL_FROM_DATABASE=Erazor X -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Erazor X) - - pci:v000010DEd00000100sv00001048sd00000C43* -- ID_MODEL_FROM_DATABASE=ERAZOR X PCI -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (ERAZOR X PCI) - - pci:v000010DEd00000100sv00001048sd00000C48* -- ID_MODEL_FROM_DATABASE=Synergy Force -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Synergy Force) - - pci:v000010DEd00000100sv00001102sd0000102D* -- ID_MODEL_FROM_DATABASE=CT6941 GeForce 256 -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (CT6941 GeForce 256) - - pci:v000010DEd00000100sv000014AFsd00005022* -- ID_MODEL_FROM_DATABASE=3D Prophet SE -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (3D Prophet SE) - - pci:v000010DEd00000101* - ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] - - pci:v000010DEd00000101sv00001043sd00000202* -- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR) - - pci:v000010DEd00000101sv00001043sd0000400A* -- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SGRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SGRAM) - - pci:v000010DEd00000101sv00001043sd0000400B* -- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SDRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SDRAM) - - pci:v000010DEd00000101sv00001048sd00000C42* -- ID_MODEL_FROM_DATABASE=Erazor X -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (Erazor X) - - pci:v000010DEd00000101sv0000107Dsd00002822* -- ID_MODEL_FROM_DATABASE=WinFast GeForce 256 -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (WinFast GeForce 256) - - pci:v000010DEd00000101sv00001102sd0000102E* -- ID_MODEL_FROM_DATABASE=CT6970/CT6971 -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (CT6970/CT6971) - - pci:v000010DEd00000101sv000014AFsd00005021* -- ID_MODEL_FROM_DATABASE=3D Prophet DDR-DVI -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (3D Prophet DDR-DVI) - - pci:v000010DEd00000103* - ID_MODEL_FROM_DATABASE=NV10GL [Quadro] - - pci:v000010DEd00000103sv00001048sd00000C40* -- ID_MODEL_FROM_DATABASE=GLoria II-64 -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64) - - pci:v000010DEd00000103sv00001048sd00000C44* -- ID_MODEL_FROM_DATABASE=GLoria II -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) - - pci:v000010DEd00000103sv00001048sd00000C45* -- ID_MODEL_FROM_DATABASE=GLoria II -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) - - pci:v000010DEd00000103sv00001048sd00000C4A* -- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro) - - pci:v000010DEd00000103sv00001048sd00000C4B* -- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro DVII -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro DVII) - - pci:v000010DEd00000110* - ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] - - pci:v000010DEd00000110sv00001043sd00004015* -- ID_MODEL_FROM_DATABASE=AGP-V7100 Pro -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (AGP-V7100 Pro) - - pci:v000010DEd00000110sv00001043sd00004021* -- ID_MODEL_FROM_DATABASE=V7100 Deluxe Combo -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Deluxe Combo) - - pci:v000010DEd00000110sv00001043sd00004031* -- ID_MODEL_FROM_DATABASE=V7100 Pro with TV output -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Pro with TV output) - - pci:v000010DEd00000110sv00001048sd00000C60* -- ID_MODEL_FROM_DATABASE=Gladiac MX -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac MX) - - pci:v000010DEd00000110sv00001048sd00000C61* -- ID_MODEL_FROM_DATABASE=Gladiac 511PCI -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511PCI) - - pci:v000010DEd00000110sv00001048sd00000C63* -- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 32MB -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 32MB) - - pci:v000010DEd00000110sv00001048sd00000C64* -- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 64MB -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 64MB) - - pci:v000010DEd00000110sv00001048sd00000C65* -- ID_MODEL_FROM_DATABASE=Gladiac 511TWIN -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TWIN) - - pci:v000010DEd00000110sv00001048sd00000C66* -- ID_MODEL_FROM_DATABASE=Gladiac 311 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 311) - - pci:v000010DEd00000110sv000010B0sd00000001* -- ID_MODEL_FROM_DATABASE=GeForce2 MX Jumbo TV -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (GeForce2 MX Jumbo TV) - - pci:v000010DEd00000110sv000010DEsd00000091* -- ID_MODEL_FROM_DATABASE=Dell OEM GeForce 2 MX 400 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Dell OEM GeForce 2 MX 400) - - pci:v000010DEd00000110sv000010DEsd000000A1* -- ID_MODEL_FROM_DATABASE=Apple OEM GeForce2 MX -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Apple OEM GeForce2 MX) - - pci:v000010DEd00000110sv00001462sd00008523* -- ID_MODEL_FROM_DATABASE=MS-8852 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MS-8852) - - pci:v000010DEd00000110sv00001462sd00008817* -- ID_MODEL_FROM_DATABASE=MSI GeForce2 MX400 Pro32S [MS-8817] -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MSI GeForce2 MX400 Pro32S [MS-8817]) - - pci:v000010DEd00000110sv000014AFsd00007102* -- ID_MODEL_FROM_DATABASE=3D Prophet II MX -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX) - - pci:v000010DEd00000110sv000014AFsd00007103* -- ID_MODEL_FROM_DATABASE=3D Prophet II MX Dual-Display -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX Dual-Display) - - pci:v000010DEd00000110sv00001545sd00000023* -- ID_MODEL_FROM_DATABASE=Xtasy Rev. B2 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Xtasy Rev. B2) - - pci:v000010DEd00000110sv00001554sd00001081* -- ID_MODEL_FROM_DATABASE=MVGA-NVG11AM(400) -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MVGA-NVG11AM(400)) - - pci:v000010DEd00000111* - ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX200] -@@ -21831,28 +21831,28 @@ pci:v000010DEd00000140* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] - - pci:v000010DEd00000140sv00001458sd00003125* -- ID_MODEL_FROM_DATABASE=GV-NX66T128D -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T128D) - - pci:v000010DEd00000140sv00001458sd00003126* -- ID_MODEL_FROM_DATABASE=GV-NX66T256DE -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T256DE) - - pci:v000010DEd00000140sv00001462sd00008939* -- ID_MODEL_FROM_DATABASE=MS-8983 -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (MS-8983) - - pci:v000010DEd00000141* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] - - pci:v000010DEd00000141sv00001043sd000081B0* -- ID_MODEL_FROM_DATABASE=EN6600 Silencer -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (EN6600 Silencer) - - pci:v000010DEd00000141sv0000107Dsd0000593A* -- ID_MODEL_FROM_DATABASE=LR2A22 128MB TV OUT -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (LR2A22 128MB TV OUT) - - pci:v000010DEd00000141sv0000107Dsd0000597B* -- ID_MODEL_FROM_DATABASE=WINFAST PX6600 -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (WINFAST PX6600) - - pci:v000010DEd00000141sv00001458sd00003124* -- ID_MODEL_FROM_DATABASE=GV-NX66128DP Turbo Force Edition -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GV-NX66128DP Turbo Force Edition) - - pci:v000010DEd00000142* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 LE] -@@ -21897,49 +21897,49 @@ pci:v000010DEd00000150* - ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] - - pci:v000010DEd00000150sv00001043sd00004016* -- ID_MODEL_FROM_DATABASE=V7700 AGP Video Card -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (V7700 AGP Video Card) - - pci:v000010DEd00000150sv00001043sd0000402A* -- ID_MODEL_FROM_DATABASE=AGP-V7700 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (AGP-V7700) - - pci:v000010DEd00000150sv00001048sd00000C50* -- ID_MODEL_FROM_DATABASE=Gladiac -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac) - - pci:v000010DEd00000150sv00001048sd00000C52* -- ID_MODEL_FROM_DATABASE=Gladiac-64 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac-64) - - pci:v000010DEd00000150sv0000107Dsd00002840* -- ID_MODEL_FROM_DATABASE=WinFast GeForce2 GTS with TV output -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce2 GTS with TV output) - - pci:v000010DEd00000150sv0000107Dsd00002842* -- ID_MODEL_FROM_DATABASE=WinFast GeForce 2 Pro -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce 2 Pro) - - pci:v000010DEd00000150sv000010DEsd0000002E* -- ID_MODEL_FROM_DATABASE=GeForce2 GTS -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (GeForce2 GTS) - - pci:v000010DEd00000150sv00001462sd0000815A* -- ID_MODEL_FROM_DATABASE=MS-8815 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (MS-8815) - - pci:v000010DEd00000150sv00001462sd00008831* -- ID_MODEL_FROM_DATABASE=Creative GeForce2 Pro -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Creative GeForce2 Pro) - - pci:v000010DEd00000151* - ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] - - pci:v000010DEd00000151sv00001043sd0000405F* -- ID_MODEL_FROM_DATABASE=V7700Ti -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (V7700Ti) - - pci:v000010DEd00000151sv00001462sd00005506* -- ID_MODEL_FROM_DATABASE=Creative 3D Blaster GeForce2 Titanium -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (Creative 3D Blaster GeForce2 Titanium) - - pci:v000010DEd00000151sv00001462sd00008364* -- ID_MODEL_FROM_DATABASE=MS-8836 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (MS-8836) - - pci:v000010DEd00000152* - ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] - - pci:v000010DEd00000152sv00001048sd00000C56* -- ID_MODEL_FROM_DATABASE=GLADIAC Ultra -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] (GLADIAC Ultra) - - pci:v000010DEd00000153* - ID_MODEL_FROM_DATABASE=NV15GL [Quadro2 Pro] -@@ -21990,40 +21990,40 @@ pci:v000010DEd00000170* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] - - pci:v000010DEd00000170sv00001462sd00008630* -- ID_MODEL_FROM_DATABASE=MS-8863 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] (MS-8863) - - pci:v000010DEd00000171* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] - - pci:v000010DEd00000171sv000010B0sd00000002* -- ID_MODEL_FROM_DATABASE=Gainward Pro/600 TV -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Gainward Pro/600 TV) - - pci:v000010DEd00000171sv000010DEsd00000008* -- ID_MODEL_FROM_DATABASE=Apple OEM GeForce4 MX 440 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Apple OEM GeForce4 MX 440) - - pci:v000010DEd00000171sv00001462sd00008661* -- ID_MODEL_FROM_DATABASE=G4MX440-VTP -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (G4MX440-VTP) - - pci:v000010DEd00000171sv00001462sd00008730* -- ID_MODEL_FROM_DATABASE=MX440SES-T (MS-8873) -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MX440SES-T (MS-8873)) - - pci:v000010DEd00000171sv00001462sd00008743* -- ID_MODEL_FROM_DATABASE=MS-8874 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MS-8874) - - pci:v000010DEd00000171sv00001462sd00008852* -- ID_MODEL_FROM_DATABASE=GeForce4 MX440 PCI -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (GeForce4 MX440 PCI) - - pci:v000010DEd00000171sv0000147Bsd00008F00* -- ID_MODEL_FROM_DATABASE=Abit Siluro GeForce4MX440 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Abit Siluro GeForce4MX440) - - pci:v000010DEd00000172* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] - - pci:v000010DEd00000172sv00001462sd00008730* -- ID_MODEL_FROM_DATABASE=MS-8873 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8873) - - pci:v000010DEd00000172sv00001462sd00008784* -- ID_MODEL_FROM_DATABASE=MS-8878 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8878) - - pci:v000010DEd00000173* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440-SE] -@@ -22038,13 +22038,13 @@ pci:v000010DEd00000176* - ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] - - pci:v000010DEd00000176sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (tc1100 tablet) - - pci:v000010DEd00000176sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (X10 Laptop) - - pci:v000010DEd00000176sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (Cx9 / Vx9 mainboard) - - pci:v000010DEd00000177* - ID_MODEL_FROM_DATABASE=NV17M [GeForce4 460 Go] -@@ -22056,7 +22056,7 @@ pci:v000010DEd00000179* - ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] - - pci:v000010DEd00000179sv000010DEsd00000179* -- ID_MODEL_FROM_DATABASE=GeForce4 MX (Mac) -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] (GeForce4 MX (Mac)) - - pci:v000010DEd0000017A* - ID_MODEL_FROM_DATABASE=NV17GL [Quadro NVS] -@@ -22074,25 +22074,25 @@ pci:v000010DEd00000181* - ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] - - pci:v000010DEd00000181sv00001043sd00008063* -- ID_MODEL_FROM_DATABASE=GeForce4 MX 440 AGP 8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (GeForce4 MX 440 AGP 8X) - - pci:v000010DEd00000181sv00001043sd0000806F* -- ID_MODEL_FROM_DATABASE=V9180 Magic -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (V9180 Magic) - - pci:v000010DEd00000181sv00001462sd00008880* -- ID_MODEL_FROM_DATABASE=MS-StarForce GeForce4 MX 440 with AGP8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-StarForce GeForce4 MX 440 with AGP8X) - - pci:v000010DEd00000181sv00001462sd00008900* -- ID_MODEL_FROM_DATABASE=MS-8890 GeForce 4 MX440 AGP8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-8890 GeForce 4 MX440 AGP8X) - - pci:v000010DEd00000181sv00001462sd00009350* -- ID_MODEL_FROM_DATABASE=MSI GeForce4 MX T8X with AGP8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MSI GeForce4 MX T8X with AGP8X) - - pci:v000010DEd00000181sv0000147Bsd00008F0D* -- ID_MODEL_FROM_DATABASE=Siluro GF4 MX-8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (Siluro GF4 MX-8X) - - pci:v000010DEd00000181sv00001554sd00001111* -- ID_MODEL_FROM_DATABASE=PixelView MVGA-NVG18A -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (PixelView MVGA-NVG18A) - - pci:v000010DEd00000182* - ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440SE AGP 8x] -@@ -22146,7 +22146,7 @@ pci:v000010DEd00000193* - ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] - - pci:v000010DEd00000193sv0000107Dsd000020BD* -- ID_MODEL_FROM_DATABASE=WinFast PX 8800 GTS TDH -+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] (WinFast PX 8800 GTS TDH) - - pci:v000010DEd00000194* - ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 Ultra] -@@ -22212,13 +22212,13 @@ pci:v000010DEd000001D1* - ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] - - pci:v000010DEd000001D1sv0000107Dsd00005EFA* -- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD128 -+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD128) - - pci:v000010DEd000001D1sv0000107Dsd00005EFB* -- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD256 -+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD256) - - pci:v000010DEd000001D1sv00001462sd00000345* -- ID_MODEL_FROM_DATABASE=7300LE PCI Express Graphics Adapter -+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (7300LE PCI Express Graphics Adapter) - - pci:v000010DEd000001D2* - ID_MODEL_FROM_DATABASE=G72 [GeForce 7550 LE] -@@ -22239,7 +22239,7 @@ pci:v000010DEd000001D8* - ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] - - pci:v000010DEd000001D8sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] (XPS M1210) - - pci:v000010DEd000001D9* - ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7450] -@@ -22260,7 +22260,7 @@ pci:v000010DEd000001DE* - ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] - - pci:v000010DEd000001DEsv000010DEsd000001DC* -- ID_MODEL_FROM_DATABASE=Quadro FX Go350M -+ ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] (Quadro FX Go350M) - - pci:v000010DEd000001DF* - ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 GS] -@@ -22269,7 +22269,7 @@ pci:v000010DEd000001E0* - ID_MODEL_FROM_DATABASE=nForce2 IGP2 - - pci:v000010DEd000001E0sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 IGP2 (NV7 Motherboard) - - pci:v000010DEd000001E8* - ID_MODEL_FROM_DATABASE=nForce2 AGP -@@ -22278,55 +22278,55 @@ pci:v000010DEd000001EA* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 - - pci:v000010DEd000001EAsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 (UK79G-1394 motherboard) - - pci:v000010DEd000001EB* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 - - pci:v000010DEd000001EBsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 (UK79G-1394 motherboard) - - pci:v000010DEd000001EC* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 - - pci:v000010DEd000001ECsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 (UK79G-1394 motherboard) - - pci:v000010DEd000001ED* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 - - pci:v000010DEd000001EDsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 (UK79G-1394 motherboard) - - pci:v000010DEd000001EE* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 - - pci:v000010DEd000001EEsv000010DEsd000001EE* -- ID_MODEL_FROM_DATABASE=MSI Delta-L nForce2 memory controller -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (MSI Delta-L nForce2 memory controller) - - pci:v000010DEd000001EEsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (UK79G-1394 motherboard) - - pci:v000010DEd000001EF* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 - - pci:v000010DEd000001EFsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 (UK79G-1394 motherboard) - - pci:v000010DEd000001F0* - ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] - - pci:v000010DEd000001F0sv0000A0A0sd000003B5* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] (UK79G-1394 motherboard) - - pci:v000010DEd00000200* - ID_MODEL_FROM_DATABASE=NV20 [GeForce3] - - pci:v000010DEd00000200sv00001043sd0000402F* -- ID_MODEL_FROM_DATABASE=AGP-V8200 DDR -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (AGP-V8200 DDR) - - pci:v000010DEd00000200sv00001048sd00000C70* -- ID_MODEL_FROM_DATABASE=GLADIAC 920 -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (GLADIAC 920) - - pci:v000010DEd00000201* - ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 200] -@@ -22335,10 +22335,10 @@ pci:v000010DEd00000202* - ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] - - pci:v000010DEd00000202sv00001043sd0000405B* -- ID_MODEL_FROM_DATABASE=V8200 T5 -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (V8200 T5) - - pci:v000010DEd00000202sv00001545sd0000002F* -- ID_MODEL_FROM_DATABASE=Xtasy 6964 -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (Xtasy 6964) - - pci:v000010DEd00000203* - ID_MODEL_FROM_DATABASE=NV20GL [Quadro DCC] -@@ -22359,10 +22359,10 @@ pci:v000010DEd00000221* - ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] - - pci:v000010DEd00000221sv00001043sd000081E1* -- ID_MODEL_FROM_DATABASE=N6200/TD/256M/A -+ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (N6200/TD/256M/A) - - pci:v000010DEd00000221sv00003842sd0000A341* -- ID_MODEL_FROM_DATABASE=256A8N341DX -+ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (256A8N341DX) - - pci:v000010DEd00000222* - ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 A-LE] -@@ -22374,10 +22374,10 @@ pci:v000010DEd00000240* - ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] - - pci:v000010DEd00000240sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM -+ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (A8N-VM CSM) - - pci:v000010DEd00000240sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (K8NGM2 series) - - pci:v000010DEd00000241* - ID_MODEL_FROM_DATABASE=C51 [GeForce 6150 LE] -@@ -22386,7 +22386,7 @@ pci:v000010DEd00000242* - ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] - - pci:v000010DEd00000242sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] (Winfast 6100K8MB) - - pci:v000010DEd00000243* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge -@@ -22395,13 +22395,13 @@ pci:v000010DEd00000244* - ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] - - pci:v000010DEd00000244sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V3242AU) - - pci:v000010DEd00000244sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V6133CL) - - pci:v000010DEd00000244sv000010DEsd00000244* -- ID_MODEL_FROM_DATABASE=GeForce Go 6150 -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (GeForce Go 6150) - - pci:v000010DEd00000245* - ID_MODEL_FROM_DATABASE=C51 [Quadro NVS 210S/GeForce 6150LE] -@@ -22413,7 +22413,7 @@ pci:v000010DEd00000247* - ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] - - pci:v000010DEd00000247sv00001043sd00001382* -- ID_MODEL_FROM_DATABASE=MCP51 PCI-X GeForce Go 6100 -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] (MCP51 PCI-X GeForce Go 6100) - - pci:v000010DEd00000248* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge -@@ -22446,13 +22446,13 @@ pci:v000010DEd00000251* - ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] - - pci:v000010DEd00000251sv00001043sd00008023* -- ID_MODEL_FROM_DATABASE=v8440 GeForce 4 Ti4400 -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (v8440 GeForce 4 Ti4400) - - pci:v000010DEd00000251sv000010DEsd00000251* -- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) - - pci:v000010DEd00000251sv00001462sd00008710* -- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) - - pci:v000010DEd00000252* - ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti] -@@ -22461,10 +22461,10 @@ pci:v000010DEd00000253* - ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] - - pci:v000010DEd00000253sv0000107Dsd00002896* -- ID_MODEL_FROM_DATABASE=WinFast A250 LE TD (Dual VGA/TV-out/DVI) -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (WinFast A250 LE TD (Dual VGA/TV-out/DVI)) - - pci:v000010DEd00000253sv0000147Bsd00008F09* -- ID_MODEL_FROM_DATABASE=Siluro (Dual VGA/TV-out/DVI) -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (Siluro (Dual VGA/TV-out/DVI)) - - pci:v000010DEd00000258* - ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 900 XGL] -@@ -22479,25 +22479,25 @@ pci:v000010DEd00000260* - ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge - - pci:v000010DEd00000260sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Pavilion a1677c) - - pci:v000010DEd00000260sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Presario V6133CL) - - pci:v000010DEd00000260sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd00000260sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (GA-M55plus-S3G) - - pci:v000010DEd00000260sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (K8NGM2 series) - - pci:v000010DEd00000261* - ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge - - pci:v000010DEd00000261sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Winfast 6100K8MB) - - pci:v000010DEd00000262* - ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge -@@ -22509,64 +22509,64 @@ pci:v000010DEd00000264* - ID_MODEL_FROM_DATABASE=MCP51 SMBus - - pci:v000010DEd00000264sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Pavilion a1677c) - - pci:v000010DEd00000264sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Presario V6133CL) - - pci:v000010DEd00000264sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (A8N-VM CSM Mainboard) - - pci:v000010DEd00000264sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Winfast 6100K8MB) - - pci:v000010DEd00000264sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (K8NGM2 series) - - pci:v000010DEd00000265* - ID_MODEL_FROM_DATABASE=MCP51 IDE - - pci:v000010DEd00000265sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (Pavilion a1677c) - - pci:v000010DEd00000265sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (Presario V6133CL) - - pci:v000010DEd00000265sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (A8N-VM CSM Mainboard) - - pci:v000010DEd00000265sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (K8NGM2 series) - - pci:v000010DEd00000265sv0000F05Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (Winfast 6100K8MB) - - pci:v000010DEd00000266* - ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller - - pci:v000010DEd00000266sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) - - pci:v000010DEd00000266sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Presario V6133CL) - - pci:v000010DEd00000266sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd00000266sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) - - pci:v000010DEd00000267* - ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller - - pci:v000010DEd00000267sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) - - pci:v000010DEd00000267sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd00000267sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) - - pci:v000010DEd00000268* - ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller -@@ -22575,16 +22575,16 @@ pci:v000010DEd00000269* - ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller - - pci:v000010DEd00000269sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Pavilion a1677c) - - pci:v000010DEd00000269sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Presario V6133CL) - - pci:v000010DEd00000269sv00001043sd00008141* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd00000269sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (K8NGM2 series) - - pci:v000010DEd0000026A* - ID_MODEL_FROM_DATABASE=MCP51 MCI -@@ -22593,142 +22593,142 @@ pci:v000010DEd0000026B* - ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller - - pci:v000010DEd0000026Bsv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller (Winfast 6100K8MB) - - pci:v000010DEd0000026C* - ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio - - pci:v000010DEd0000026Csv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Pavilion a1677c) - - pci:v000010DEd0000026Csv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V3242AU) - - pci:v000010DEd0000026Csv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V6133CL) - - pci:v000010DEd0000026Csv000010DEsd0000CB84* -- ID_MODEL_FROM_DATABASE=ASUSTeK Computer Inc. A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (ASUSTeK Computer Inc. A8N-VM CSM Mainboard) - - pci:v000010DEd0000026Csv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (K8NGM2 series) - - pci:v000010DEd0000026D* - ID_MODEL_FROM_DATABASE=MCP51 USB Controller - - pci:v000010DEd0000026Dsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) - - pci:v000010DEd0000026Dsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) - - pci:v000010DEd0000026Dsv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd0000026Dsv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) - - pci:v000010DEd0000026Dsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) - - pci:v000010DEd0000026E* - ID_MODEL_FROM_DATABASE=MCP51 USB Controller - - pci:v000010DEd0000026Esv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) - - pci:v000010DEd0000026Esv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) - - pci:v000010DEd0000026Esv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd0000026Esv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) - - pci:v000010DEd0000026Esv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) - - pci:v000010DEd0000026F* - ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge - - pci:v000010DEd0000026Fsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge (Presario V6133CL) - - pci:v000010DEd00000270* - ID_MODEL_FROM_DATABASE=MCP51 Host Bridge - - pci:v000010DEd00000270sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Pavilion a1677c) - - pci:v000010DEd00000270sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Presario V6133CL) - - pci:v000010DEd00000270sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd00000270sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Winfast 6100K8MB) - - pci:v000010DEd00000270sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (GA-M55plus-S3G) - - pci:v000010DEd00000270sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (K8NGM2 series) - - pci:v000010DEd00000271* - ID_MODEL_FROM_DATABASE=MCP51 PMU - - pci:v000010DEd00000271sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V3242AU) - - pci:v000010DEd00000271sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V6133CL) - - pci:v000010DEd00000272* - ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 - - pci:v000010DEd00000272sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Pavilion a1677c) - - pci:v000010DEd00000272sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Winfast 6100K8MB) - - pci:v000010DEd0000027E* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 - - pci:v000010DEd0000027Esv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Pavilion a1677c) - - pci:v000010DEd0000027Esv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Presario V6133CL) - - pci:v000010DEd0000027Esv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (A8N-VM CSM Mainboard) - - pci:v000010DEd0000027Esv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (GA-M55plus-S3G) - - pci:v000010DEd0000027Esv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (K8NGM2 series) - - pci:v000010DEd0000027F* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 - - pci:v000010DEd0000027Fsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Pavilion a1677c) - - pci:v000010DEd0000027Fsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Presario V6133CL) - - pci:v000010DEd0000027Fsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (A8N-VM CSM Mainboard) - - pci:v000010DEd0000027Fsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (GA-M55plus-S3G) - - pci:v000010DEd0000027Fsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (K8NGM2 series) - - pci:v000010DEd00000280* - ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4800] -@@ -22758,7 +22758,7 @@ pci:v000010DEd00000291* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] - - pci:v000010DEd00000291sv000010DEsd0000042B* -- ID_MODEL_FROM_DATABASE=NX7900GTO-T2D512E [7900 GTO] -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] (NX7900GTO-T2D512E [7900 GTO]) - - pci:v000010DEd00000292* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GS] -@@ -22773,13 +22773,13 @@ pci:v000010DEd00000295* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] - - pci:v000010DEd00000295sv00001043sd00008225* -- ID_MODEL_FROM_DATABASE=GeForce 7950 GT -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (GeForce 7950 GT) - - pci:v000010DEd00000295sv0000107Dsd00002A68* -- ID_MODEL_FROM_DATABASE=WinFast PX7950GT TDH -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (WinFast PX7950GT TDH) - - pci:v000010DEd00000295sv00001462sd00000663* -- ID_MODEL_FROM_DATABASE=NX7950GT-VT2D512EZ-HD -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (NX7950GT-VT2D512EZ-HD) - - pci:v000010DEd00000297* - ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7950 GTX] -@@ -22803,7 +22803,7 @@ pci:v000010DEd0000029D* - ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] - - pci:v000010DEd0000029Dsv00001028sd0000019B* -- ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 3500M] -+ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] (G71GLM [Quadro FX 3500M]) - - pci:v000010DEd0000029E* - ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 1500] -@@ -22824,16 +22824,16 @@ pci:v000010DEd000002E0* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] - - pci:v000010DEd000002E0sv000002E0sd00002249* -- ID_MODEL_FROM_DATABASE=GF 7600GT 560M 256MB DDR3 DUAL DVI TV -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GF 7600GT 560M 256MB DDR3 DUAL DVI TV) - - pci:v000010DEd000002E1* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] - - pci:v000010DEd000002E1sv00001682sd0000222B* -- ID_MODEL_FROM_DATABASE=PV-T73K-UAL3 (256MB) -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (PV-T73K-UAL3 (256MB)) - - pci:v000010DEd000002E1sv00001682sd00002247* -- ID_MODEL_FROM_DATABASE=GF 7600GS 512MB DDR2 -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (GF 7600GS 512MB DDR2) - - pci:v000010DEd000002E2* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] -@@ -22845,28 +22845,28 @@ pci:v000010DEd000002E4* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] - - pci:v000010DEd000002E4sv00001682sd00002271* -- ID_MODEL_FROM_DATABASE=PV-T71A-YDF7 (512MB) -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (PV-T71A-YDF7 (512MB)) - - pci:v000010DEd000002F0* - ID_MODEL_FROM_DATABASE=C51 Host Bridge - - pci:v000010DEd000002F0sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) - - pci:v000010DEd000002F0sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) - - pci:v000010DEd000002F0sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd000002F0sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) - - pci:v000010DEd000002F1* - ID_MODEL_FROM_DATABASE=C51 Host Bridge - - pci:v000010DEd000002F1sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) - - pci:v000010DEd000002F2* - ID_MODEL_FROM_DATABASE=C51 Host Bridge -@@ -22890,55 +22890,55 @@ pci:v000010DEd000002F8* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 - - pci:v000010DEd000002F8sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Pavilion a1677c) - - pci:v000010DEd000002F8sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Presario V6133CL) - - pci:v000010DEd000002F8sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002F8sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (GA-M55plus-S3G) - - pci:v000010DEd000002F8sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (K8NGM2 series) - - pci:v000010DEd000002F9* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 - - pci:v000010DEd000002F9sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Pavilion a1677c) - - pci:v000010DEd000002F9sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Presario V6133CL) - - pci:v000010DEd000002F9sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002F9sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (GA-M55plus-S3G) - - pci:v000010DEd000002F9sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (K8NGM2 series) - - pci:v000010DEd000002FA* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 - - pci:v000010DEd000002FAsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Pavilion a1677c) - - pci:v000010DEd000002FAsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Presario V6133CL) - - pci:v000010DEd000002FAsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002FAsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (GA-M55plus-S3G) - - pci:v000010DEd000002FAsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (K8NGM2 series) - - pci:v000010DEd000002FB* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge -@@ -22947,49 +22947,49 @@ pci:v000010DEd000002FC* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge - - pci:v000010DEd000002FCsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) - - pci:v000010DEd000002FD* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge - - pci:v000010DEd000002FDsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) - - pci:v000010DEd000002FE* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 - - pci:v000010DEd000002FEsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Pavilion a1677c) - - pci:v000010DEd000002FEsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Presario V6133CL) - - pci:v000010DEd000002FEsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002FEsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (GA-M55plus-S3G) - - pci:v000010DEd000002FEsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (K8NGM2 series) - - pci:v000010DEd000002FF* - ID_MODEL_FROM_DATABASE=C51 Host Bridge - - pci:v000010DEd000002FFsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) - - pci:v000010DEd000002FFsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) - - pci:v000010DEd000002FFsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd000002FFsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) - - pci:v000010DEd000002FFsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) - - pci:v000010DEd00000300* - ID_MODEL_FROM_DATABASE=NV30 [GeForce FX] -@@ -23016,7 +23016,7 @@ pci:v000010DEd00000314* - ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] - - pci:v000010DEd00000314sv00001043sd0000814A* -- ID_MODEL_FROM_DATABASE=V9560XT/TD -+ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] (V9560XT/TD) - - pci:v000010DEd00000316* - ID_MODEL_FROM_DATABASE=NV31M -@@ -23043,25 +23043,25 @@ pci:v000010DEd00000322* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] - - pci:v000010DEd00000322sv00001043sd000002FB* -- ID_MODEL_FROM_DATABASE=V9250 Magic -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9250 Magic) - - pci:v000010DEd00000322sv00001043sd00008180* -- ID_MODEL_FROM_DATABASE=V9520-X/TD/128M -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9520-X/TD/128M) - - pci:v000010DEd00000322sv0000107Dsd00002967* -- ID_MODEL_FROM_DATABASE=WinFast A340T 128MB -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (WinFast A340T 128MB) - - pci:v000010DEd00000322sv00001462sd00009110* -- ID_MODEL_FROM_DATABASE=MS-8911 (FX5200-TD128) -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8911 (FX5200-TD128)) - - pci:v000010DEd00000322sv00001462sd00009171* -- ID_MODEL_FROM_DATABASE=MS-8917 (FX5200-T128) -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8917 (FX5200-T128)) - - pci:v000010DEd00000322sv00001462sd00009360* -- ID_MODEL_FROM_DATABASE=MS-8936 (FX5200-T128) -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8936 (FX5200-T128)) - - pci:v000010DEd00000322sv00001682sd00001351* -- ID_MODEL_FROM_DATABASE=GeForce FX 5200 -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (GeForce FX 5200) - - pci:v000010DEd00000323* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200LE] -@@ -23070,13 +23070,13 @@ pci:v000010DEd00000324* - ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] - - pci:v000010DEd00000324sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Inspiron 5160) - - pci:v000010DEd00000324sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=Pavilion ZD7000 laptop -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Pavilion ZD7000 laptop) - - pci:v000010DEd00000324sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (MIM2000) - - pci:v000010DEd00000325* - ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5250] -@@ -23085,10 +23085,10 @@ pci:v000010DEd00000326* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] - - pci:v000010DEd00000326sv00001458sd0000310D* -- ID_MODEL_FROM_DATABASE=GeForce FX 5500 128 MB -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce FX 5500 128 MB) - - pci:v000010DEd00000326sv00001682sd00002034* -- ID_MODEL_FROM_DATABASE=GeForce 5500 256 MB -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce 5500 256 MB) - - pci:v000010DEd00000327* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5100] -@@ -23100,7 +23100,7 @@ pci:v000010DEd00000329* - ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] - - pci:v000010DEd00000329sv000010DEsd00000010* -- ID_MODEL_FROM_DATABASE=Powerbook G4 -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] (Powerbook G4) - - pci:v000010DEd0000032A* - ID_MODEL_FROM_DATABASE=NV34GL [Quadro NVS 280 PCI] -@@ -23124,13 +23124,13 @@ pci:v000010DEd00000330* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] - - pci:v000010DEd00000330sv00001043sd00008137* -- ID_MODEL_FROM_DATABASE=V9950 Ultra / 256 MB -+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] (V9950 Ultra / 256 MB) - - pci:v000010DEd00000331* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] - - pci:v000010DEd00000331sv00001043sd00008145* -- ID_MODEL_FROM_DATABASE=V9950GE -+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] (V9950GE) - - pci:v000010DEd00000332* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900XT] -@@ -23142,7 +23142,7 @@ pci:v000010DEd00000334* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] - - pci:v000010DEd00000334sv00001462sd00009373* -- ID_MODEL_FROM_DATABASE=FX5900ZT-VTD128 (MS-8937) -+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] (FX5900ZT-VTD128 (MS-8937)) - - pci:v000010DEd00000338* - ID_MODEL_FROM_DATABASE=NV35GL [Quadro FX 3000] -@@ -23154,7 +23154,7 @@ pci:v000010DEd00000341* - ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] - - pci:v000010DEd00000341sv00001462sd00009380* -- ID_MODEL_FROM_DATABASE=MS-8938 (FX5700U-TD128) -+ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] (MS-8938 (FX5700U-TD128)) - - pci:v000010DEd00000342* - ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700] -@@ -23169,7 +23169,7 @@ pci:v000010DEd00000347* - ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] - - pci:v000010DEd00000347sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] (NX9500) - - pci:v000010DEd00000348* - ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] -@@ -23190,13 +23190,13 @@ pci:v000010DEd00000361* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000361sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge -+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) - - pci:v000010DEd00000362* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000362sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (KN9 series mainboard) - - pci:v000010DEd00000363* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge -@@ -23205,7 +23205,7 @@ pci:v000010DEd00000364* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000364sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge -+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) - - pci:v000010DEd00000365* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge -@@ -23220,19 +23220,19 @@ pci:v000010DEd00000368* - ID_MODEL_FROM_DATABASE=MCP55 SMBus - - pci:v000010DEd00000368sv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 SMBus -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) - - pci:v000010DEd00000368sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SMBus -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) - - pci:v000010DEd00000368sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) - - pci:v000010DEd00000369* - ID_MODEL_FROM_DATABASE=MCP55 Memory Controller - - pci:v000010DEd00000369sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller (KN9 series mainboard) - - pci:v000010DEd0000036A* - ID_MODEL_FROM_DATABASE=MCP55 Memory Controller -@@ -23244,31 +23244,31 @@ pci:v000010DEd0000036C* - ID_MODEL_FROM_DATABASE=MCP55 USB Controller - - pci:v000010DEd0000036Csv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) - - pci:v000010DEd0000036Csv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) - - pci:v000010DEd0000036Csv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) - - pci:v000010DEd0000036D* - ID_MODEL_FROM_DATABASE=MCP55 USB Controller - - pci:v000010DEd0000036Dsv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) - - pci:v000010DEd0000036Dsv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) - - pci:v000010DEd0000036Dsv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) - - pci:v000010DEd0000036E* - ID_MODEL_FROM_DATABASE=MCP55 IDE - - pci:v000010DEd0000036Esv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 IDE (KN9 series mainboard) - - pci:v000010DEd00000370* - ID_MODEL_FROM_DATABASE=MCP55 PCI bridge -@@ -23277,7 +23277,7 @@ pci:v000010DEd00000371* - ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio - - pci:v000010DEd00000371sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio (KN9 series mainboard) - - pci:v000010DEd00000372* - ID_MODEL_FROM_DATABASE=MCP55 Ethernet -@@ -23286,7 +23286,7 @@ pci:v000010DEd00000373* - ID_MODEL_FROM_DATABASE=MCP55 Ethernet - - pci:v000010DEd00000373sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 Ethernet (KN9 series mainboard) - - pci:v000010DEd00000374* - ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge -@@ -23313,10 +23313,10 @@ pci:v000010DEd0000037F* - ID_MODEL_FROM_DATABASE=MCP55 SATA Controller - - pci:v000010DEd0000037Fsv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SATA Controller -+ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (PowerEdge R805 MCP55 SATA Controller) - - pci:v000010DEd0000037Fsv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (KN9 series mainboard) - - pci:v000010DEd0000038B* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7650 GS] -@@ -23328,25 +23328,25 @@ pci:v000010DEd00000391* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] - - pci:v000010DEd00000391sv00001458sd00003427* -- ID_MODEL_FROM_DATABASE=GV-NX76T128D-RH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GV-NX76T128D-RH) - - pci:v000010DEd00000391sv00001462sd00000452* -- ID_MODEL_FROM_DATABASE=NX7600GT-VT2D256E -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (NX7600GT-VT2D256E) - - pci:v000010DEd00000392* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] - - pci:v000010DEd00000392sv00001462sd00000622* -- ID_MODEL_FROM_DATABASE=NX7600GS-T2D256EH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (NX7600GS-T2D256EH) - - pci:v000010DEd00000393* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] - - pci:v000010DEd00000393sv000010DEsd00000412* -- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) - - pci:v000010DEd00000393sv00001462sd00000412* -- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) - - pci:v000010DEd00000394* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 LE] -@@ -23364,7 +23364,7 @@ pci:v000010DEd00000398* - ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] - - pci:v000010DEd00000398sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=Acer 9814 WKMI -+ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] (Acer 9814 WKMI) - - pci:v000010DEd00000399* - ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600 GT] -@@ -23379,7 +23379,7 @@ pci:v000010DEd0000039C* - ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] - - pci:v000010DEd0000039Csv000010DEsd0000039C* -- ID_MODEL_FROM_DATABASE=Quadro FX 560M -+ ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] (Quadro FX 560M) - - pci:v000010DEd0000039D* - ID_MODEL_FROM_DATABASE=G73 -@@ -23481,7 +23481,7 @@ pci:v000010DEd000003D0* - ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] - - pci:v000010DEd000003D0sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] (Inspiron 531) - - pci:v000010DEd000003D1* - ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 405] -@@ -23499,22 +23499,22 @@ pci:v000010DEd000003E0* - ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge - - pci:v000010DEd000003E0sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (Inspiron 531) - - pci:v000010DEd000003E0sv00001849sd000003E0* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003E1* - ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge - - pci:v000010DEd000003E1sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (M4N68T series motherboard) - - pci:v000010DEd000003E2* - ID_MODEL_FROM_DATABASE=MCP61 Host Bridge - - pci:v000010DEd000003E2sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 Host Bridge (M4N68T series motherboard) - - pci:v000010DEd000003E3* - ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge -@@ -23535,55 +23535,55 @@ pci:v000010DEd000003E8* - ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge - - pci:v000010DEd000003E8sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) - - pci:v000010DEd000003E8sv00001849sd000003E8* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003E9* - ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge - - pci:v000010DEd000003E9sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) - - pci:v000010DEd000003E9sv00001849sd000003E9* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003EA* - ID_MODEL_FROM_DATABASE=MCP61 Memory Controller - - pci:v000010DEd000003EAsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) - - pci:v000010DEd000003EAsv00001849sd000003EA* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003EB* - ID_MODEL_FROM_DATABASE=MCP61 SMBus - - pci:v000010DEd000003EBsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 SMBus (Inspiron 531) - - pci:v000010DEd000003EBsv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 SMBus (M4N68T series motherboard) - - pci:v000010DEd000003EBsv00001849sd000003EB* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 SMBus (939NF6G-VSTA Board) - - pci:v000010DEd000003EC* - ID_MODEL_FROM_DATABASE=MCP61 IDE - - pci:v000010DEd000003ECsv00001025sd00000392* -- ID_MODEL_FROM_DATABASE=ET1350 -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (ET1350) - - pci:v000010DEd000003ECsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (Inspiron 531) - - pci:v000010DEd000003ECsv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (M4N68T series motherboard) - - pci:v000010DEd000003ECsv00001849sd000003EC* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (939NF6G-VSTA Board) - - pci:v000010DEd000003EE* - ID_MODEL_FROM_DATABASE=MCP61 Ethernet -@@ -23592,61 +23592,61 @@ pci:v000010DEd000003EF* - ID_MODEL_FROM_DATABASE=MCP61 Ethernet - - pci:v000010DEd000003EFsv00001025sd00008000* -- ID_MODEL_FROM_DATABASE=ET1350 -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (ET1350) - - pci:v000010DEd000003EFsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (Inspiron 531) - - pci:v000010DEd000003EFsv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (M4N68T series motherboard) - - pci:v000010DEd000003EFsv00001849sd000003EF* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (939NF6G-VSTA Board) - - pci:v000010DEd000003F0* - ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio - - pci:v000010DEd000003F0sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (Inspiron 531) - - pci:v000010DEd000003F0sv00001043sd00008415* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (M4N68T series motherboard) - - pci:v000010DEd000003F0sv00001849sd00000888* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (939NF6G-VSTA Board) - - pci:v000010DEd000003F1* - ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller - - pci:v000010DEd000003F1sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (Inspiron 531) - - pci:v000010DEd000003F1sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (M4N68T series motherboard) - - pci:v000010DEd000003F1sv00001849sd000003F1* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F2* - ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller - - pci:v000010DEd000003F2sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (Inspiron 531) - - pci:v000010DEd000003F2sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (M4N68T series motherboard) - - pci:v000010DEd000003F2sv00001849sd000003F2* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F3* - ID_MODEL_FROM_DATABASE=MCP61 PCI bridge - - pci:v000010DEd000003F3sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (Inspiron 531) - - pci:v000010DEd000003F3sv00001849sd000003F3* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003F4* - ID_MODEL_FROM_DATABASE=MCP61 SMU -@@ -23655,25 +23655,25 @@ pci:v000010DEd000003F5* - ID_MODEL_FROM_DATABASE=MCP61 Memory Controller - - pci:v000010DEd000003F5sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) - - pci:v000010DEd000003F5sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (M4N68T series motherboard) - - pci:v000010DEd000003F5sv00001849sd000003EB* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F6* - ID_MODEL_FROM_DATABASE=MCP61 SATA Controller - - pci:v000010DEd000003F6sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (Inspiron 531) - - pci:v000010DEd000003F6sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (M4N68T series motherboard) - - pci:v000010DEd000003F6sv00001849sd000003F6* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F7* - ID_MODEL_FROM_DATABASE=MCP61 SATA Controller -@@ -23682,7 +23682,7 @@ pci:v000010DEd00000400* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] - - pci:v000010DEd00000400sv00001043sd00008241* -- ID_MODEL_FROM_DATABASE=EN8600GTS -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] (EN8600GTS) - - pci:v000010DEd00000401* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] -@@ -23691,10 +23691,10 @@ pci:v000010DEd00000402* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] - - pci:v000010DEd00000402sv00001458sd00003455* -- ID_MODEL_FROM_DATABASE=GV-NX86T512H -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (GV-NX86T512H) - - pci:v000010DEd00000402sv00001462sd00000910* -- ID_MODEL_FROM_DATABASE=NX8600GT-T2D256EZ -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (NX8600GT-T2D256EZ) - - pci:v000010DEd00000403* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GS] -@@ -23703,7 +23703,7 @@ pci:v000010DEd00000404* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] - - pci:v000010DEd00000404sv00001462sd00001230* -- ID_MODEL_FROM_DATABASE=NX8400GS-TD256E -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] (NX8400GS-TD256E) - - pci:v000010DEd00000405* - ID_MODEL_FROM_DATABASE=G84M [GeForce 9500M GS] -@@ -23730,7 +23730,7 @@ pci:v000010DEd0000040C* - ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] - - pci:v000010DEd0000040Csv000017AAsd000020D9* -- ID_MODEL_FROM_DATABASE=ThinkPad T61p -+ ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] (ThinkPad T61p) - - pci:v000010DEd0000040D* - ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 1600M] -@@ -23754,7 +23754,7 @@ pci:v000010DEd00000421* - ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] - - pci:v000010DEd00000421sv00001462sd00000960* -- ID_MODEL_FROM_DATABASE=NX8500GT-TD512EH/M2 -+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] (NX8500GT-TD512EH/M2) - - pci:v000010DEd00000422* - ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 GS] -@@ -23769,7 +23769,7 @@ pci:v000010DEd00000425* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] - - pci:v000010DEd00000425sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] (Aspire 5920G) - - pci:v000010DEd00000426* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GT] -@@ -23778,10 +23778,10 @@ pci:v000010DEd00000427* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] - - pci:v000010DEd00000427sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv6700) - - pci:v000010DEd00000427sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000428* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M G] -@@ -23790,7 +23790,7 @@ pci:v000010DEd00000429* - ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] - - pci:v000010DEd00000429sv000017AAsd000020D8* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] (ThinkPad T61) - - pci:v000010DEd0000042A* - ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 130M] -@@ -23820,7 +23820,7 @@ pci:v000010DEd00000442* - ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge - - pci:v000010DEd00000442sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000443* - ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge -@@ -23829,7 +23829,7 @@ pci:v000010DEd00000444* - ID_MODEL_FROM_DATABASE=MCP65 Memory Controller - - pci:v000010DEd00000444sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 Memory Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000445* - ID_MODEL_FROM_DATABASE=MCP65 Memory Controller -@@ -23838,31 +23838,31 @@ pci:v000010DEd00000446* - ID_MODEL_FROM_DATABASE=MCP65 SMBus - - pci:v000010DEd00000446sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 SMBus (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000447* - ID_MODEL_FROM_DATABASE=MCP65 SMU - - pci:v000010DEd00000447sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 SMU (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000448* - ID_MODEL_FROM_DATABASE=MCP65 IDE - - pci:v000010DEd00000448sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 IDE (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000449* - ID_MODEL_FROM_DATABASE=MCP65 PCI bridge - - pci:v000010DEd00000449sv000010DEsd0000CB84* -- ID_MODEL_FROM_DATABASE=HP Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 PCI bridge (HP Pavilion dv9668eg Laptop) - - pci:v000010DEd0000044A* - ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio - - pci:v000010DEd0000044Asv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio (Pavilion dv9668eg Laptop) - - pci:v000010DEd0000044B* - ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio -@@ -23883,7 +23883,7 @@ pci:v000010DEd00000450* - ID_MODEL_FROM_DATABASE=MCP65 Ethernet - - pci:v000010DEd00000450sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 Ethernet (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000451* - ID_MODEL_FROM_DATABASE=MCP65 Ethernet -@@ -23898,13 +23898,13 @@ pci:v000010DEd00000454* - ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller - - pci:v000010DEd00000454sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000455* - ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller - - pci:v000010DEd00000455sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000456* - ID_MODEL_FROM_DATABASE=MCP65 USB Controller -@@ -23943,7 +23943,7 @@ pci:v000010DEd0000045D* - ID_MODEL_FROM_DATABASE=MCP65 SATA Controller - - pci:v000010DEd0000045Dsv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd0000045E* - ID_MODEL_FROM_DATABASE=MCP65 SATA Controller -@@ -23964,7 +23964,7 @@ pci:v000010DEd0000053B* - ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] - - pci:v000010DEd0000053Bsv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] (M2N68-AM Motherbord) - - pci:v000010DEd0000053E* - ID_MODEL_FROM_DATABASE=C68 [GeForce 7025 / nForce 630a] -@@ -23976,7 +23976,7 @@ pci:v000010DEd00000542* - ID_MODEL_FROM_DATABASE=MCP67 SMBus - - pci:v000010DEd00000542sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=MCP67 SMBus (M2N68-AM Motherbord) - - pci:v000010DEd00000543* - ID_MODEL_FROM_DATABASE=MCP67 Co-processor -@@ -23985,25 +23985,25 @@ pci:v000010DEd00000547* - ID_MODEL_FROM_DATABASE=MCP67 Memory Controller - - pci:v000010DEd00000547sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (M2N68-AM Motherbord) - - pci:v000010DEd00000547sv00001849sd00000547* -- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready -+ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (ALiveNF7G-HDready) - - pci:v000010DEd00000548* - ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge - - pci:v000010DEd00000548sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge (M2N68-AM Motherboard) - - pci:v000010DEd0000054C* - ID_MODEL_FROM_DATABASE=MCP67 Ethernet - - pci:v000010DEd0000054Csv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (M2N68-AM Motherbord) - - pci:v000010DEd0000054Csv00001849sd0000054C* -- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready, MCP67 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (ALiveNF7G-HDready, MCP67 Gigabit Ethernet) - - pci:v000010DEd0000054D* - ID_MODEL_FROM_DATABASE=MCP67 Ethernet -@@ -24018,25 +24018,25 @@ pci:v000010DEd00000550* - ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller - - pci:v000010DEd00000550sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000554* - ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller - - pci:v000010DEd00000554sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000555* - ID_MODEL_FROM_DATABASE=MCP67 SATA Controller - - pci:v000010DEd00000555sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 SATA Controller (M2N68-AM Motherboard) - - pci:v000010DEd0000055C* - ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio - - pci:v000010DEd0000055Csv00001043sd00008290* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio (M2N68-AM Motherboard) - - pci:v000010DEd0000055D* - ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio -@@ -24045,19 +24045,19 @@ pci:v000010DEd0000055E* - ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller - - pci:v000010DEd0000055Esv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller (M2N68-AM Motherboard) - - pci:v000010DEd0000055F* - ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller - - pci:v000010DEd0000055Fsv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000560* - ID_MODEL_FROM_DATABASE=MCP67 IDE Controller - - pci:v000010DEd00000560sv0000F043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 IDE Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000561* - ID_MODEL_FROM_DATABASE=MCP67 PCI Bridge -@@ -24066,7 +24066,7 @@ pci:v000010DEd00000562* - ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge - - pci:v000010DEd00000562sv00001849sd00000562* -- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready -+ ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge (ALiveNF7G-HDready) - - pci:v000010DEd00000563* - ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge -@@ -24075,64 +24075,64 @@ pci:v000010DEd00000568* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller - - pci:v000010DEd00000568sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) - - pci:v000010DEd00000568sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) - - pci:v000010DEd00000568sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) - - pci:v000010DEd00000568sv00001849sd00000568* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) - - pci:v000010DEd00000569* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge - - pci:v000010DEd00000569sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) - - pci:v000010DEd00000569sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) - - pci:v000010DEd00000569sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) - - pci:v000010DEd00000569sv00001849sd00000569* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) - - pci:v000010DEd0000056A* - ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) - - pci:v000010DEd0000056Asv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) (MCP73PVT-SM) - - pci:v000010DEd0000056C* - ID_MODEL_FROM_DATABASE=MCP73 IDE - - pci:v000010DEd0000056Csv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 IDE (MCP73PVT-SM) - - pci:v000010DEd0000056Csv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 IDE (JW-IN7150-HD) - - pci:v000010DEd0000056D* - ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge - - pci:v000010DEd0000056Dsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) - - pci:v000010DEd0000056E* - ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge - - pci:v000010DEd0000056Esv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) - - pci:v000010DEd0000056F* - ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge - - pci:v000010DEd0000056Fsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) - - pci:v000010DEd000005B1* - ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch -@@ -24156,7 +24156,7 @@ pci:v000010DEd000005E3* - ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] - - pci:v000010DEd000005E3sv00001682sd00002490* -- ID_MODEL_FROM_DATABASE=GX-285N-ZDF -+ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] (GX-285N-ZDF) - - pci:v000010DEd000005E6* - ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 275] -@@ -24165,19 +24165,19 @@ pci:v000010DEd000005E7* - ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] - - pci:v000010DEd000005E7sv000010DEsd00000595* -- ID_MODEL_FROM_DATABASE=Tesla T10 Processor -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) - - pci:v000010DEd000005E7sv000010DEsd0000068F* -- ID_MODEL_FROM_DATABASE=Tesla T10 Processor -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) - - pci:v000010DEd000005E7sv000010DEsd00000697* -- ID_MODEL_FROM_DATABASE=Tesla M1060 -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) - - pci:v000010DEd000005E7sv000010DEsd00000714* -- ID_MODEL_FROM_DATABASE=Tesla M1060 -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) - - pci:v000010DEd000005E7sv000010DEsd00000743* -- ID_MODEL_FROM_DATABASE=Tesla M1060 -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) - - pci:v000010DEd000005EA* - ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260] -@@ -24240,7 +24240,7 @@ pci:v000010DEd00000609* - ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] - - pci:v000010DEd00000609sv0000106Bsd000000A7* -- ID_MODEL_FROM_DATABASE=GeForce 8800 GS -+ ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] (GeForce 8800 GS) - - pci:v000010DEd0000060A* - ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 280M] -@@ -24261,16 +24261,16 @@ pci:v000010DEd00000610* - ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] - - pci:v000010DEd00000610sv00001682sd00002385* -- ID_MODEL_FROM_DATABASE=GeForce 9600 GSO 768mb -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] (GeForce 9600 GSO 768mb) - - pci:v000010DEd00000611* - ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] - - pci:v000010DEd00000611sv0000107Dsd00002AB0* -- ID_MODEL_FROM_DATABASE=Winfast PX8800 GT PCI-E -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (Winfast PX8800 GT PCI-E) - - pci:v000010DEd00000611sv000019DAsd00001040* -- ID_MODEL_FROM_DATABASE=ZT-88TES2P-FSP -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (ZT-88TES2P-FSP) - - pci:v000010DEd00000612* - ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GTX / 9800 GTX+] -@@ -24282,22 +24282,22 @@ pci:v000010DEd00000614* - ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] - - pci:v000010DEd00000614sv0000107Dsd00002AB3* -- ID_MODEL_FROM_DATABASE=WinFast PX9800 GT (S-Fanpipe) -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] (WinFast PX9800 GT (S-Fanpipe)) - - pci:v000010DEd00000615* - ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] - - pci:v000010DEd00000615sv00003842sd00001150* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1150-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1150-TR) - - pci:v000010DEd00000615sv00003842sd00001151* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1151-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1151-TR) - - pci:v000010DEd00000615sv00003842sd00001155* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1155-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1155-TR) - - pci:v000010DEd00000615sv00003842sd00001156* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1156-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1156-TR) - - pci:v000010DEd00000617* - ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GTX] -@@ -24336,10 +24336,10 @@ pci:v000010DEd00000622* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] - - pci:v000010DEd00000622sv0000107Dsd00002AC1* -- ID_MODEL_FROM_DATABASE=WinFast PX9600GT 1024MB -+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (WinFast PX9600GT 1024MB) - - pci:v000010DEd00000622sv00001458sd00003481* -- ID_MODEL_FROM_DATABASE=GV-NX96T512HP -+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GV-NX96T512HP) - - pci:v000010DEd00000623* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GS] -@@ -24375,7 +24375,7 @@ pci:v000010DEd0000062E* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] - - pci:v000010DEd0000062Esv0000106Bsd00000605* -- ID_MODEL_FROM_DATABASE=GeForce GT 130 -+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GeForce GT 130) - - pci:v000010DEd0000062F* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9800 S] -@@ -24435,7 +24435,7 @@ pci:v000010DEd00000649* - ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] - - pci:v000010DEd00000649sv00001043sd0000202D* -- ID_MODEL_FROM_DATABASE=GeForce GT 220M -+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] (GeForce GT 220M) - - pci:v000010DEd0000064A* - ID_MODEL_FROM_DATABASE=G96M [GeForce 9700M GT] -@@ -24459,7 +24459,7 @@ pci:v000010DEd00000652* - ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] - - pci:v000010DEd00000652sv0000152Dsd00000850* -- ID_MODEL_FROM_DATABASE=GeForce GT 240M LE -+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] (GeForce GT 240M LE) - - pci:v000010DEd00000653* - ID_MODEL_FROM_DATABASE=G96M [GeForce GT 120M] -@@ -24468,10 +24468,10 @@ pci:v000010DEd00000654* - ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] - - pci:v000010DEd00000654sv00001043sd000014A2* -- ID_MODEL_FROM_DATABASE=GeForce GT 320M -+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) - - pci:v000010DEd00000654sv00001043sd000014D2* -- ID_MODEL_FROM_DATABASE=GeForce GT 320M -+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) - - pci:v000010DEd00000655* - ID_MODEL_FROM_DATABASE=G96 [GeForce GT 120] -@@ -24519,28 +24519,28 @@ pci:v000010DEd000006D1* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] - - pci:v000010DEd000006D1sv000010DEsd00000771* -- ID_MODEL_FROM_DATABASE=Tesla C2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2050) - - pci:v000010DEd000006D1sv000010DEsd00000772* -- ID_MODEL_FROM_DATABASE=Tesla C2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2070) - - pci:v000010DEd000006D2* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] - - pci:v000010DEd000006D2sv000010DEsd00000774* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D2sv000010DEsd00000830* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D2sv000010DEsd00000842* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D2sv000010DEsd0000088F* -- ID_MODEL_FROM_DATABASE=Tesla X2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla X2070) - - pci:v000010DEd000006D2sv000010DEsd00000908* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D8* - ID_MODEL_FROM_DATABASE=GF100GL [Quadro 6000] -@@ -24561,37 +24561,37 @@ pci:v000010DEd000006DE* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] - - pci:v000010DEd000006DEsv000010DEsd00000773* -- ID_MODEL_FROM_DATABASE=Tesla S2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla S2050) - - pci:v000010DEd000006DEsv000010DEsd0000082F* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000840* -- ID_MODEL_FROM_DATABASE=Tesla X2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla X2070) - - pci:v000010DEd000006DEsv000010DEsd00000842* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000846* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000866* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000907* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd0000091E* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DF* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] - - pci:v000010DEd000006DFsv000010DEsd0000084D* -- ID_MODEL_FROM_DATABASE=Tesla M2070-Q -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) - - pci:v000010DEd000006DFsv000010DEsd0000087F* -- ID_MODEL_FROM_DATABASE=Tesla M2070-Q -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) - - pci:v000010DEd000006E0* - ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 GE] -@@ -24609,7 +24609,7 @@ pci:v000010DEd000006E4* - ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] - - pci:v000010DEd000006E4sv00001458sd00003475* -- ID_MODEL_FROM_DATABASE=GV-NX84S256HE [GeForce 8400 GS] -+ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] (GV-NX84S256HE [GeForce 8400 GS]) - - pci:v000010DEd000006E5* - ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] -@@ -24624,13 +24624,13 @@ pci:v000010DEd000006E8* - ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] - - pci:v000010DEd000006E8sv0000103Csd0000360B* -- ID_MODEL_FROM_DATABASE=GeForce 9200M GE -+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] (GeForce 9200M GE) - - pci:v000010DEd000006E9* - ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] - - pci:v000010DEd000006E9sv00001043sd000019B2* -- ID_MODEL_FROM_DATABASE=U6V laptop -+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] (U6V laptop) - - pci:v000010DEd000006EA* - ID_MODEL_FROM_DATABASE=G98M [Quadro NVS 150M] -@@ -24672,139 +24672,139 @@ pci:v000010DEd000006FF* - ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] - - pci:v000010DEd000006FFsv000010DEsd00000711* -- ID_MODEL_FROM_DATABASE=HICx8 + Graphics -+ ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] (HICx8 + Graphics) - - pci:v000010DEd00000751* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller - - pci:v000010DEd00000751sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) - - pci:v000010DEd00000751sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) - - pci:v000010DEd00000751sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) - - pci:v000010DEd00000751sv00001849sd00000751* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) - - pci:v000010DEd00000752* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus - - pci:v000010DEd00000752sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (Pavilion p6310f) - - pci:v000010DEd00000752sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (M3N72-D) - - pci:v000010DEd00000752sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K9N2GM-FIH) - - pci:v000010DEd00000752sv00001849sd00000752* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 SMBus -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K10N78FullHD-hSLI R3.0 SMBus) - - pci:v000010DEd00000753* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor - - pci:v000010DEd00000753sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (Pavilion p6310f) - - pci:v000010DEd00000753sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (M3N72-D) - - pci:v000010DEd00000753sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K9N2GM-FIH) - - pci:v000010DEd00000753sv00001849sd00000753* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Co-Processor -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K10N78FullHD-hSLI R3.0 Co-Processor) - - pci:v000010DEd00000754* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller - - pci:v000010DEd00000754sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) - - pci:v000010DEd00000754sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) - - pci:v000010DEd00000754sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) - - pci:v000010DEd00000754sv00001849sd00000754* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) - - pci:v000010DEd00000759* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE - - pci:v000010DEd00000759sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (M3N72-D) - - pci:v000010DEd00000759sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K9N2GM-FIH) - - pci:v000010DEd00000759sv00001849sd00000759* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K10N78FullHD-hSLI R3.0 IDE) - - pci:v000010DEd0000075A* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge - - pci:v000010DEd0000075Asv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) - - pci:v000010DEd0000075Asv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) - - pci:v000010DEd0000075Asv00001849sd0000075A* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) - - pci:v000010DEd0000075B* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge - - pci:v000010DEd0000075Bsv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) - - pci:v000010DEd0000075Bsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) - - pci:v000010DEd0000075Bsv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) - - pci:v000010DEd0000075Bsv00001849sd0000075B* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) - - pci:v000010DEd0000075C* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge - - pci:v000010DEd0000075Csv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (Pavilion p6310f) - - pci:v000010DEd0000075Csv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K9N2GM-FIH) - - pci:v000010DEd0000075Csv00001849sd0000075C* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 LPC Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K10N78FullHD-hSLI R3.0 LPC Bridge) - - pci:v000010DEd0000075D* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge - - pci:v000010DEd0000075Dsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (M3N72-D) - - pci:v000010DEd00000760* - ID_MODEL_FROM_DATABASE=MCP77 Ethernet - - pci:v000010DEd00000760sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (Pavilion p6310f) - - pci:v000010DEd00000760sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (M3N72-D) - - pci:v000010DEd00000760sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K9N2GM-FIH) - - pci:v000010DEd00000760sv00001849sd00000760* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Ethernet -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K10N78FullHD-hSLI R3.0 Ethernet) - - pci:v000010DEd00000761* - ID_MODEL_FROM_DATABASE=MCP77 Ethernet -@@ -24819,118 +24819,118 @@ pci:v000010DEd00000774* - ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio - - pci:v000010DEd00000774sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (Pavilion p6310f) - - pci:v000010DEd00000774sv00001043sd000082FE* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (M3N72-D) - - pci:v000010DEd00000774sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K9N2GM-FIH) - - pci:v000010DEd00000774sv00001849sd00003662* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 High Definition Audio -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K10N78FullHD-hSLI R3.0 High Definition Audio) - - pci:v000010DEd00000778* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge - - pci:v000010DEd00000778sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) - - pci:v000010DEd00000778sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) - - pci:v000010DEd00000778sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) - - pci:v000010DEd00000778sv00001849sd00000778* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) - - pci:v000010DEd0000077A* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge - - pci:v000010DEd0000077Asv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) - - pci:v000010DEd0000077Asv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) - - pci:v000010DEd0000077Asv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K9N2GM-FIH) - - pci:v000010DEd0000077Asv00001849sd0000077A* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) - - pci:v000010DEd0000077B* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller - - pci:v000010DEd0000077Bsv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Bsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) - - pci:v000010DEd0000077Bsv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Bsv00001849sd0000077B* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) - - pci:v000010DEd0000077C* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller - - pci:v000010DEd0000077Csv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Csv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) - - pci:v000010DEd0000077Csv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Csv00001849sd0000077C* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) - - pci:v000010DEd0000077D* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller - - pci:v000010DEd0000077Dsv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Dsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) - - pci:v000010DEd0000077Dsv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Dsv00001849sd0000077D* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) - - pci:v000010DEd0000077E* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller - - pci:v000010DEd0000077Esv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Esv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) - - pci:v000010DEd0000077Esv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Esv00001849sd0000077E* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) - - pci:v000010DEd000007C0* - ID_MODEL_FROM_DATABASE=MCP73 Host Bridge - - pci:v000010DEd000007C0sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (JW-IN7150-HD) - - pci:v000010DEd000007C1* - ID_MODEL_FROM_DATABASE=MCP73 Host Bridge - - pci:v000010DEd000007C1sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (MCP73PVT-SM) - - pci:v000010DEd000007C2* - ID_MODEL_FROM_DATABASE=MCP73 Host Bridge -@@ -24942,124 +24942,124 @@ pci:v000010DEd000007C8* - ID_MODEL_FROM_DATABASE=MCP73 Memory Controller - - pci:v000010DEd000007C8sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) - - pci:v000010DEd000007C8sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) - - pci:v000010DEd000007CB* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CBsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CBsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007CD* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CDsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CDsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007CE* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CEsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CEsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007CF* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CFsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CFsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D0* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D0sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D0sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D1* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D1sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D1sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D2* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D2sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D2sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D3* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D3sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D3sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D6* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D6sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D6sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D7* - ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge - - pci:v000010DEd000007D7sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (MCP73PVT-SM) - - pci:v000010DEd000007D7sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (JW-IN7150-HD) - - pci:v000010DEd000007D8* - ID_MODEL_FROM_DATABASE=MCP73 SMBus - - pci:v000010DEd000007D8sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 SMBus (MCP73PVT-SM) - - pci:v000010DEd000007D8sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 SMBus (JW-IN7150-HD) - - pci:v000010DEd000007D9* - ID_MODEL_FROM_DATABASE=MCP73 Memory Controller - - pci:v000010DEd000007D9sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) - - pci:v000010DEd000007D9sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) - - pci:v000010DEd000007DA* - ID_MODEL_FROM_DATABASE=MCP73 Co-processor - - pci:v000010DEd000007DAsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Co-processor (JW-IN7150-HD) - - pci:v000010DEd000007DC* - ID_MODEL_FROM_DATABASE=MCP73 Ethernet -@@ -25077,13 +25077,13 @@ pci:v000010DEd000007E0* - ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] - - pci:v000010DEd000007E0sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] (JW-IN7150-HD) - - pci:v000010DEd000007E1* - ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] - - pci:v000010DEd000007E1sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] (MCP73PVT-SM) - - pci:v000010DEd000007E2* - ID_MODEL_FROM_DATABASE=C73 [GeForce 7050 / nForce 630i] -@@ -25101,7 +25101,7 @@ pci:v000010DEd000007F4* - ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA - - pci:v000010DEd000007F4sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA (MCP73PVT-SM) - - pci:v000010DEd000007F8* - ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller -@@ -25110,7 +25110,7 @@ pci:v000010DEd000007FC* - ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio - - pci:v000010DEd000007FCsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio (MCP73PVT-SM) - - pci:v000010DEd000007FCsv000010DEsd000007FC* - ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio -@@ -25119,10 +25119,10 @@ pci:v000010DEd000007FE* - ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB - - pci:v000010DEd000007FEsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (MCP73PVT-SM) - - pci:v000010DEd000007FEsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (JW-IN7150-HD) - - pci:v000010DEd00000840* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8200M] -@@ -25140,7 +25140,7 @@ pci:v000010DEd00000847* - ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] - - pci:v000010DEd00000847sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] (Pavilion p6310f) - - pci:v000010DEd00000848* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8300] -@@ -25149,10 +25149,10 @@ pci:v000010DEd00000849* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] - - pci:v000010DEd00000849sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K9N2GM-FIH) - - pci:v000010DEd00000849sv00001849sd00000849* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 GeForce 8200 -+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K10N78FullHD-hSLI R3.0 GeForce 8200) - - pci:v000010DEd0000084A* - ID_MODEL_FROM_DATABASE=C77 [nForce 730a] -@@ -25167,7 +25167,7 @@ pci:v000010DEd0000084D* - ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] - - pci:v000010DEd0000084Dsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D mGPU -+ ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] (M3N72-D mGPU) - - pci:v000010DEd0000084F* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8100 / nForce 720a] -@@ -25185,7 +25185,7 @@ pci:v000010DEd00000863* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] - - pci:v000010DEd00000863sv0000106Bsd000000AA* -- ID_MODEL_FROM_DATABASE=MacBook5,1 -+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] (MacBook5,1) - - pci:v000010DEd00000864* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9300] -@@ -25197,13 +25197,13 @@ pci:v000010DEd00000866* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] - - pci:v000010DEd00000866sv0000106Bsd000000B1* -- ID_MODEL_FROM_DATABASE=GeForce 9400M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] (GeForce 9400M) - - pci:v000010DEd00000867* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] - - pci:v000010DEd00000867sv0000106Bsd000000AD* -- ID_MODEL_FROM_DATABASE=iMac 9,1 -+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] (iMac 9,1) - - pci:v000010DEd00000868* - ID_MODEL_FROM_DATABASE=C79 [nForce 760i SLI] -@@ -25236,28 +25236,28 @@ pci:v000010DEd00000872* - ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] - - pci:v000010DEd00000872sv00001043sd000019B4* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000872sv00001043sd00001AA2* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000872sv00001043sd00001C02* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000872sv00001043sd00001C42* -- ID_MODEL_FROM_DATABASE=GeForce G205M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) - - pci:v000010DEd00000873* - ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] - - pci:v000010DEd00000873sv00001043sd000019B4* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000873sv00001043sd00001C12* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000873sv00001043sd00001C52* -- ID_MODEL_FROM_DATABASE=GeForce G205M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) - - pci:v000010DEd00000874* - ID_MODEL_FROM_DATABASE=C79 [ION] -@@ -25272,7 +25272,7 @@ pci:v000010DEd0000087D* - ID_MODEL_FROM_DATABASE=ION VGA - - pci:v000010DEd0000087Dsv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=ION VGA (IONITX-F-E) - - pci:v000010DEd0000087E* - ID_MODEL_FROM_DATABASE=ION LE VGA -@@ -25299,7 +25299,7 @@ pci:v000010DEd00000A20* - ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] - - pci:v000010DEd00000A20sv00001043sd00008311* -- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 -+ ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] (ENGT220/DI/1GD3(LP)/V2) - - pci:v000010DEd00000A21* - ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M] -@@ -25368,7 +25368,7 @@ pci:v000010DEd00000A65* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] - - pci:v000010DEd00000A65sv00001043sd00008334* -- ID_MODEL_FROM_DATABASE=EN210 SILENT -+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] (EN210 SILENT) - - pci:v000010DEd00000A66* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 310] -@@ -25389,10 +25389,10 @@ pci:v000010DEd00000A6C* - ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] - - pci:v000010DEd00000A6Csv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (Latitude E6510) - - pci:v000010DEd00000A6Csv000017AAsd00002142* -- ID_MODEL_FROM_DATABASE=ThinkPad T410 -+ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (ThinkPad T410) - - pci:v000010DEd00000A6E* - ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M] -@@ -25416,7 +25416,7 @@ pci:v000010DEd00000A74* - ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] - - pci:v000010DEd00000A74sv00001B0Asd0000903A* -- ID_MODEL_FROM_DATABASE=GeForce G210 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] (GeForce G210) - - pci:v000010DEd00000A75* - ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M] -@@ -25431,127 +25431,127 @@ pci:v000010DEd00000A7A* - ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] - - pci:v000010DEd00000A7Asv0000104Dsd0000907E* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC50* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC61* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC71* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC90* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCC0* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCD0* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCE2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCF2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD16* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD40* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD50* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD52* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD61* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD71* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD92* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD96* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FDD0* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FDD2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FDFE* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C0A2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C0B2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C581* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C587* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C588* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C597* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C606* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001462sd0000AA51* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AA58* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AC71* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AC81* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001462sd0000AC82* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AE33* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001642sd00003980* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv000017AAsd00003950* -- ID_MODEL_FROM_DATABASE=GeForce 405M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) - - pci:v000010DEd00000A7Asv000017AAsd0000397D* -- ID_MODEL_FROM_DATABASE=GeForce 405M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) - - pci:v000010DEd00000A7Asv00001B0Asd00002091* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001B0Asd000090B4* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001BFDsd00000003* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001BFDsd00008006* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001BFDsd00008007* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7B* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 505] -@@ -25593,64 +25593,64 @@ pci:v000010DEd00000A98* - ID_MODEL_FROM_DATABASE=MCP79 Memory Controller - - pci:v000010DEd00000A98sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (iMac 9,1) - - pci:v000010DEd00000AA0* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AA0sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AA2* - ID_MODEL_FROM_DATABASE=MCP79 SMBus - - pci:v000010DEd00000AA2sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 SMBus (Apple iMac 9,1) - - pci:v000010DEd00000AA2sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 SMBus (IONITX-F-E) - - pci:v000010DEd00000AA3* - ID_MODEL_FROM_DATABASE=MCP79 Co-processor - - pci:v000010DEd00000AA3sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (Apple iMac 9,1) - - pci:v000010DEd00000AA3sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (IONITX-F-E) - - pci:v000010DEd00000AA4* - ID_MODEL_FROM_DATABASE=MCP79 Memory Controller - - pci:v000010DEd00000AA4sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (IONITX-F-E) - - pci:v000010DEd00000AA5* - ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller - - pci:v000010DEd00000AA5sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA5sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) - - pci:v000010DEd00000AA6* - ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller - - pci:v000010DEd00000AA6sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA6sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) - - pci:v000010DEd00000AA7* - ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller - - pci:v000010DEd00000AA7sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA7sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) - - pci:v000010DEd00000AA8* - ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller -@@ -25659,10 +25659,10 @@ pci:v000010DEd00000AA9* - ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller - - pci:v000010DEd00000AA9sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA9sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) - - pci:v000010DEd00000AAA* - ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller -@@ -25671,7 +25671,7 @@ pci:v000010DEd00000AAB* - ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge - - pci:v000010DEd00000AABsv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AAC* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge -@@ -25680,13 +25680,13 @@ pci:v000010DEd00000AAD* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge - - pci:v000010DEd00000AADsv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (IONITX-F-E) - - pci:v000010DEd00000AAE* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge - - pci:v000010DEd00000AAEsv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AAF* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge -@@ -25695,10 +25695,10 @@ pci:v000010DEd00000AB0* - ID_MODEL_FROM_DATABASE=MCP79 Ethernet - - pci:v000010DEd00000AB0sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (Apple iMac 9,1) - - pci:v000010DEd00000AB0sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (IONITX-F-E) - - pci:v000010DEd00000AB1* - ID_MODEL_FROM_DATABASE=MCP79 Ethernet -@@ -25713,7 +25713,7 @@ pci:v000010DEd00000AB4* - ID_MODEL_FROM_DATABASE=MCP79 SATA Controller - - pci:v000010DEd00000AB4sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller (IONITX-F-E) - - pci:v000010DEd00000AB5* - ID_MODEL_FROM_DATABASE=MCP79 SATA Controller -@@ -25731,7 +25731,7 @@ pci:v000010DEd00000AB9* - ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller - - pci:v000010DEd00000AB9sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller (Apple iMac 9,1) - - pci:v000010DEd00000ABA* - ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller -@@ -25755,7 +25755,7 @@ pci:v000010DEd00000AC0* - ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio - - pci:v000010DEd00000AC0sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio (Apple iMac 9,1) - - pci:v000010DEd00000AC1* - ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio -@@ -25770,7 +25770,7 @@ pci:v000010DEd00000AC4* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AC4sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AC5* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge -@@ -25779,13 +25779,13 @@ pci:v000010DEd00000AC6* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AC6sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AC7* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AC7sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AC8* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge -@@ -25794,22 +25794,22 @@ pci:v000010DEd00000AD0* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) - - pci:v000010DEd00000AD0sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K9N2GM-FIH) - - pci:v000010DEd00000AD0sv00001849sd00000AD0* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K10N78FullHD-hSLI R3.0 IDE) - - pci:v000010DEd00000AD4* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller - - pci:v000010DEd00000AD4sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (Pavilion p6310f) - - pci:v000010DEd00000AD4sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (M3N72-D) - - pci:v000010DEd00000AD4sv00001849sd00000AD4* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 AHCI Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (K10N78FullHD-hSLI R3.0 AHCI Controller) - - pci:v000010DEd00000AD8* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (RAID mode) -@@ -25818,16 +25818,16 @@ pci:v000010DEd00000BE2* - ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller - - pci:v000010DEd00000BE2sv00001043sd00008311* -- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 -+ ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller (ENGT220/DI/1GD3(LP)/V2) - - pci:v000010DEd00000BE3* - ID_MODEL_FROM_DATABASE=High Definition Audio Controller - - pci:v000010DEd00000BE3sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (Latitude E6510) - - pci:v000010DEd00000BE3sv000010DEsd0000066D* -- ID_MODEL_FROM_DATABASE=G98 [GeForce 8400GS] -+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (G98 [GeForce 8400GS]) - - pci:v000010DEd00000BE4* - ID_MODEL_FROM_DATABASE=High Definition Audio Controller -@@ -25839,22 +25839,22 @@ pci:v000010DEd00000BE9* - ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller - - pci:v000010DEd00000BE9sv00001558sd00008687* -- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU -+ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (CLEVO/KAPOK W860CU) - - pci:v000010DEd00000BE9sv00003842sd00001452* -- ID_MODEL_FROM_DATABASE=GeForce GTS 450 -+ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (GeForce GTS 450) - - pci:v000010DEd00000BEA* - ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller - - pci:v000010DEd00000BEAsv00003842sd00001430* -- ID_MODEL_FROM_DATABASE=GeForce GT 430 -+ ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller (GeForce GT 430) - - pci:v000010DEd00000BEB* - ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller - - pci:v000010DEd00000BEBsv00001462sd00002322* -- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC -+ ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller (N460GTX Cyclone 1GD5/OC) - - pci:v000010DEd00000BEE* - ID_MODEL_FROM_DATABASE=GF116 High Definition Audio Controller -@@ -25968,7 +25968,7 @@ pci:v000010DEd00000DD1* - ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] - - pci:v000010DEd00000DD1sv00001558sd00008687* -- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU -+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] (CLEVO/KAPOK W860CU) - - pci:v000010DEd00000DD2* - ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 445M] -@@ -25983,7 +25983,7 @@ pci:v000010DEd00000DD8* - ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] - - pci:v000010DEd00000DD8sv000010DEsd00000914* -- ID_MODEL_FROM_DATABASE=Quadro 2000D -+ ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] (Quadro 2000D) - - pci:v000010DEd00000DDA* - ID_MODEL_FROM_DATABASE=GF106GLM [Quadro 2000M] -@@ -25995,7 +25995,7 @@ pci:v000010DEd00000DE1* - ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] - - pci:v000010DEd00000DE1sv00003842sd00001430* -- ID_MODEL_FROM_DATABASE=GeForce GT 430 -+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] (GeForce GT 430) - - pci:v000010DEd00000DE2* - ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 420] -@@ -26019,49 +26019,49 @@ pci:v000010DEd00000DE9* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] - - pci:v000010DEd00000DE9sv00001025sd00000692* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000725* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000728* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd0000072B* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd0000072E* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000753* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000754* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv000017AAsd00003977* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 640M LE) - - pci:v000010DEd00000DE9sv00001B0Asd00002210* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 635M) - - pci:v000010DEd00000DEA* - ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] - - pci:v000010DEd00000DEAsv000017AAsd0000365A* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd0000365B* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd0000365E* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd00003660* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd0000366C* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEB* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 555M] -@@ -26094,10 +26094,10 @@ pci:v000010DEd00000DF4* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] - - pci:v000010DEd00000DF4sv0000152Dsd00000952* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) - - pci:v000010DEd00000DF4sv0000152Dsd00000953* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) - - pci:v000010DEd00000DF5* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 525M] -@@ -26124,7 +26124,7 @@ pci:v000010DEd00000E08* - ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller - - pci:v000010DEd00000E08sv000010B0sd0000104A* -- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 -+ ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller (Gainward GeForce GT 610) - - pci:v000010DEd00000E09* - ID_MODEL_FROM_DATABASE=GF110 High Definition Audio Controller -@@ -26145,16 +26145,16 @@ pci:v000010DEd00000E1B* - ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller - - pci:v000010DEd00000E1Bsv0000103Csd0000197B* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (ZBook 15) - - pci:v000010DEd00000E1Bsv00001043sd00008428* -- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 -+ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (GTX650-DC-1GD5) - - pci:v000010DEd00000E22* - ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] - - pci:v000010DEd00000E22sv00001462sd00002322* -- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC -+ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] (N460GTX Cyclone 1GD5/OC) - - pci:v000010DEd00000E23* - ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460 SE] -@@ -26193,7 +26193,7 @@ pci:v000010DEd00000FC6* - ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] - - pci:v000010DEd00000FC6sv00001043sd00008428* -- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 -+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) - - pci:v000010DEd00000FCD* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] -@@ -26205,34 +26205,34 @@ pci:v000010DEd00000FD1* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] - - pci:v000010DEd00000FD1sv00001043sd00001597* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD1sv00001043sd000015A7* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD1sv00001043sd00002103* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (N56VZ) - - pci:v000010DEd00000FD1sv00001043sd00002105* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD1sv00001043sd00002141* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD2* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] - - pci:v000010DEd00000FD2sv00001028sd0000054F* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) - - pci:v000010DEd00000FD2sv00001028sd0000055F* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) - - pci:v000010DEd00000FD2sv00001028sd00000595* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) - - pci:v000010DEd00000FD2sv00001028sd000005B2* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) - - pci:v000010DEd00000FD3* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M LE] -@@ -26265,7 +26265,7 @@ pci:v000010DEd00000FE3* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] - - pci:v000010DEd00000FE3sv000017AAsd00003675* -- ID_MODEL_FROM_DATABASE=GeForce GT 745A -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) - - pci:v000010DEd00000FE4* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M] -@@ -26280,7 +26280,7 @@ pci:v000010DEd00000FE7* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] - - pci:v000010DEd00000FE7sv000010DEsd0000101E* -- ID_MODEL_FROM_DATABASE=GRID K100 -+ ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] (GRID K100) - - pci:v000010DEd00000FE9* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M Mac Edition] -@@ -26304,13 +26304,13 @@ pci:v000010DEd00000FF6* - ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] - - pci:v000010DEd00000FF6sv0000103Csd0000197B* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] (ZBook 15) - - pci:v000010DEd00000FF7* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] - - pci:v000010DEd00000FF7sv000010DEsd00001037* -- ID_MODEL_FROM_DATABASE=GRID K140Q -+ ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] (GRID K140Q) - - pci:v000010DEd00000FF8* - ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K500M] -@@ -26343,37 +26343,37 @@ pci:v000010DEd00001004* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] - - pci:v000010DEd00001004sv00003842sd00000784* -- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 SC w/ ACX Cooler] -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 SC w/ ACX Cooler]) - - pci:v000010DEd00001004sv00003842sd00001784* -- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler] -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler]) - - pci:v000010DEd00001004sv00003842sd00001788* -- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler] -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler]) - - pci:v000010DEd00001005* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] - - pci:v000010DEd00001005sv00001043sd00008451* -- ID_MODEL_FROM_DATABASE=GTXTITAN-6GD5 -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GTXTITAN-6GD5) - - pci:v000010DEd00001005sv000010DEsd00001035* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) - - pci:v000010DEd00001005sv00003842sd00002790* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) - - pci:v000010DEd00001005sv00003842sd00002791* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC) - - pci:v000010DEd00001005sv00003842sd00002793* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Signature -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Signature) - - pci:v000010DEd00001005sv00003842sd00002794* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper) - - pci:v000010DEd00001005sv00003842sd00002795* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper Signature) - - pci:v000010DEd00001007* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] -@@ -26436,7 +26436,7 @@ pci:v000010DEd0000104A* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] - - pci:v000010DEd0000104Asv000010B0sd0000104A* -- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 -+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] (Gainward GeForce GT 610) - - pci:v000010DEd0000104B* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] -@@ -26469,37 +26469,37 @@ pci:v000010DEd00001058* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] - - pci:v000010DEd00001058sv0000103Csd00002AED* -- ID_MODEL_FROM_DATABASE=GeForce 610 -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) - - pci:v000010DEd00001058sv0000103Csd00002AF1* -- ID_MODEL_FROM_DATABASE=GeForce 610 -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) - - pci:v000010DEd00001058sv00001043sd000010AC* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd00001058sv00001043sd000010BC* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd00001058sv00001043sd00001652* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd00001058sv000017AAsd0000367A* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) - - pci:v000010DEd00001058sv000017AAsd00003682* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) - - pci:v000010DEd00001058sv000017AAsd00003687* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) - - pci:v000010DEd00001058sv000017AAsd00003692* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 705A) - - pci:v000010DEd00001058sv000017AAsd00003695* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) - - pci:v000010DEd00001058sv000017AAsd0000A117* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) - - pci:v000010DEd00001059* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] -@@ -26508,25 +26508,25 @@ pci:v000010DEd0000105A* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] - - pci:v000010DEd0000105Asv00001043sd00002111* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd0000105Asv00001043sd00002112* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd0000105B* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] - - pci:v000010DEd0000105Bsv0000103Csd00002AFB* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) - - pci:v000010DEd0000105Bsv000017AAsd0000309D* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) - - pci:v000010DEd0000105Bsv000017AAsd000030B1* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) - - pci:v000010DEd0000105Bsv000017AAsd000036A1* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) - - pci:v000010DEd0000107C* - ID_MODEL_FROM_DATABASE=GF119 [NVS 315] -@@ -26541,7 +26541,7 @@ pci:v000010DEd00001081* - ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] - - pci:v000010DEd00001081sv000010DEsd0000087E* -- ID_MODEL_FROM_DATABASE=Leadtek WinFast GTX 570 -+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] (Leadtek WinFast GTX 570) - - pci:v000010DEd00001082* - ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 Ti OEM] -@@ -26571,31 +26571,31 @@ pci:v000010DEd00001091* - ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] - - pci:v000010DEd00001091sv000010DEsd0000088E* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001091sv000010DEsd00000891* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001091sv000010DEsd00000974* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001091sv000010DEsd0000098D* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001094* - ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] - - pci:v000010DEd00001094sv000010DEsd00000888* -- ID_MODEL_FROM_DATABASE=Tesla M2075 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] (Tesla M2075) - - pci:v000010DEd00001096* - ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] - - pci:v000010DEd00001096sv000010DEsd00000910* -- ID_MODEL_FROM_DATABASE=Tesla C2075 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2075) - - pci:v000010DEd00001096sv000010DEsd00000911* -- ID_MODEL_FROM_DATABASE=Tesla C2050 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2050) - - pci:v000010DEd0000109A* - ID_MODEL_FROM_DATABASE=GF100GLM [Quadro 5010M] -@@ -26604,7 +26604,7 @@ pci:v000010DEd0000109B* - ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] - - pci:v000010DEd0000109Bsv000010DEsd00000918* -- ID_MODEL_FROM_DATABASE=Quadro 7000 -+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] (Quadro 7000) - - pci:v000010DEd000010C0* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 9300 GS Rev. 2] -@@ -26622,622 +26622,622 @@ pci:v000010DEd00001140* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] - - pci:v000010DEd00001140sv00001025sd00000600* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000606* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000064A* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000064C* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000067A* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000680* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000686* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000689* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000068B* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000068D* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000068E* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000691* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000692* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000694* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000702* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000719* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000725* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000728* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000072B* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000072E* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000732* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000763* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000773* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000774* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000776* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd0000077A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077B* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077C* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077D* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077E* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077F* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000781* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000798* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000799* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd0000079B* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd0000079C* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000807* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000821* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000823* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000830* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000837* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000841* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001028sd0000054D* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd0000054E* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000554* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001028sd00000557* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001028sd00000562* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd00000565* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000568* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000590* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000592* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd00000594* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd00000595* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005A2* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005B1* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005B3* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005DA* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd000005DE* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001028sd000005E0* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001028sd000005E8* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd000005F4* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv0000103Csd000018EF* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018F9* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018FB* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018FD* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018FF* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd00002AEF* -- ID_MODEL_FROM_DATABASE=GeForce GT 720A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) - - pci:v000010DEd00001140sv0000103Csd00002AF9* -- ID_MODEL_FROM_DATABASE=GeForce 710A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710A) - - pci:v000010DEd00001140sv00001043sd000010DD* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv00001043sd000010ED* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv00001043sd000011FD* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000124D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000126D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000131D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd000013FD* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd000014C7* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd00001507* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001043sd000015AD* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd000015ED* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000160D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000163D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000166D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd000016CD* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd000016DD* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000170D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd00002132* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001043sd00002136* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv00001043sd000021BA* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd000021FA* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000220A* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000221A* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000223A* -- ID_MODEL_FROM_DATABASE=GeForce GT 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) - - pci:v000010DEd00001140sv00001043sd0000224A* -- ID_MODEL_FROM_DATABASE=GeForce GT 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) - - pci:v000010DEd00001140sv00001043sd0000227A* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000228A* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd00008595* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001072sd0000152D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000010CFsd000017F5* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001179sd0000FA01* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA02* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA03* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA05* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA11* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA13* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA18* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA19* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA21* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA23* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA2A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA32* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA33* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA36* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA38* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA42* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA43* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA45* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA47* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA49* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA58* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA59* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA88* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA89* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000144Dsd0000B092* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv0000144Dsd0000C0D5* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000144Dsd0000C0D7* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv0000144Dsd0000C0E2* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv0000144Dsd0000C0E3* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv0000144Dsd0000C0E4* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv0000144Dsd0000C652* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv0000144Dsd0000C709* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000144Dsd0000C711* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000144Dsd0000C736* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001462sd000010B8* -- ID_MODEL_FROM_DATABASE=GeForce GT 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) - - pci:v000010DEd00001140sv00001462sd000010E9* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001462sd00001116* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001462sd0000AA33* -- ID_MODEL_FROM_DATABASE=GeForce 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) - - pci:v000010DEd00001140sv00001462sd0000AAA2* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001462sd0000AAA3* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001462sd0000AE71* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv0000152Dsd00000926* -- ID_MODEL_FROM_DATABASE=GeForce 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 620M) - - pci:v000010DEd00001140sv0000152Dsd00000982* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000152Dsd00000983* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000152Dsd00001012* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000152Dsd00001030* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000152Dsd00001055* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000152Dsd00001067* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv0000152Dsd00001072* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00002200* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv000017AAsd00002213* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00002220* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000309C* -- ID_MODEL_FROM_DATABASE=GeForce GT 720A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) - - pci:v000010DEd00001140sv000017AAsd000030B4* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd00003656* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv000017AAsd0000365A* -- ID_MODEL_FROM_DATABASE=GeForce 705M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) - - pci:v000010DEd00001140sv000017AAsd0000365E* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd0000366C* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd00003685* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd00003686* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd00003687* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705A) - - pci:v000010DEd00001140sv000017AAsd00003696* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369B* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369C* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369D* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369E* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd00003800* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003801* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003802* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003803* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003804* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003901* -- ID_MODEL_FROM_DATABASE=GeForce 610M / GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) - - pci:v000010DEd00001140sv000017AAsd00003902* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00003903* -- ID_MODEL_FROM_DATABASE=GeForce 610M/710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M) - - pci:v000010DEd00001140sv000017AAsd00003904* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M/625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M) - - pci:v000010DEd00001140sv000017AAsd00003905* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003910* -- ID_MODEL_FROM_DATABASE=GeForce 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) - - pci:v000010DEd00001140sv000017AAsd00003912* -- ID_MODEL_FROM_DATABASE=GeForce 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) - - pci:v000010DEd00001140sv000017AAsd00003977* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003983* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) - - pci:v000010DEd00001140sv000017AAsd00005001* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) - - pci:v000010DEd00001140sv000017AAsd00005003* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00005005* -- ID_MODEL_FROM_DATABASE=GeForce 705M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) - - pci:v000010DEd00001140sv000017AAsd0000500D* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv000017AAsd00005014* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00005017* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00005019* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000501A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000501F* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00005025* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00005027* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000502A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000502B* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000502D* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000502E* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000502F* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000503E* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000503F* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001854sd00000177* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001854sd00000180* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001854sd00000190* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001854sd00000192* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001B0Asd000020DD* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001B0Asd000020DF* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001B0Asd00002202* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001180* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] - - pci:v000010DEd00001180sv00001043sd000083F1* -- ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GTX680-DC2-2GD5) - - pci:v000010DEd00001180sv00003842sd00003682* -- ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GeForce GTX 680 Mac Edition) - - pci:v000010DEd00001182* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti] -@@ -27252,7 +27252,7 @@ pci:v000010DEd00001185* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] - - pci:v000010DEd00001185sv000010DEsd0000106F* -- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] (GK104 [GeForce GTX 760 OEM]) - - pci:v000010DEd00001187* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760] -@@ -27264,7 +27264,7 @@ pci:v000010DEd00001189* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] - - pci:v000010DEd00001189sv000010DEsd00001074* -- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] (GK104 [GeForce GTX 760 Ti OEM]) - - pci:v000010DEd0000118A* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K520] -@@ -27279,7 +27279,7 @@ pci:v000010DEd0000118D* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] - - pci:v000010DEd0000118Dsv000010DEsd0000101D* -- ID_MODEL_FROM_DATABASE=GRID K200 -+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] (GRID K200) - - pci:v000010DEd0000118E* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] -@@ -27324,7 +27324,7 @@ pci:v000010DEd000011A3* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] - - pci:v000010DEd000011A3sv0000106Bsd0000010D* -- ID_MODEL_FROM_DATABASE=iMac 13,2 -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] (iMac 13,2) - - pci:v000010DEd000011A7* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX] -@@ -27333,10 +27333,10 @@ pci:v000010DEd000011B0* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] - - pci:v000010DEd000011B0sv000010DEsd0000101A* -- ID_MODEL_FROM_DATABASE=GRID K240Q -+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K240Q) - - pci:v000010DEd000011B0sv000010DEsd0000101B* -- ID_MODEL_FROM_DATABASE=GRID K260Q -+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K260Q) - - pci:v000010DEd000011B1* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] -@@ -27375,28 +27375,28 @@ pci:v000010DEd000011C2* - ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] - - pci:v000010DEd000011C2sv00001043sd0000845B* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost DirectCU II OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost DirectCU II OC) - - pci:v000010DEd000011C2sv00001462sd00002874* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost TwinFrozr II OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost TwinFrozr II OC) - - pci:v000010DEd000011C2sv00001569sd000011C2* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) - - pci:v000010DEd000011C2sv000019DAsd00001281* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) - - pci:v000010DEd000011C2sv00003842sd00003657* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost) - - pci:v000010DEd000011C2sv00003842sd00003658* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost Superclocked -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost Superclocked) - - pci:v000010DEd000011C3* - ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] - - pci:v000010DEd000011C3sv000010DEsd00001030* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti OEM -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] (GeForce GTX 650 Ti OEM) - - pci:v000010DEd000011C4* - ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 645 OEM] -@@ -27423,7 +27423,7 @@ pci:v000010DEd000011E3* - ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] - - pci:v000010DEd000011E3sv000017AAsd00003683* -- ID_MODEL_FROM_DATABASE=GeForce GTX 760A -+ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] (GeForce GTX 760A) - - pci:v000010DEd000011FA* - ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] -@@ -27486,55 +27486,55 @@ pci:v000010DEd00001247* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] - - pci:v000010DEd00001247sv00001043sd00001752* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001247sv00001043sd00002050* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001247sv00001043sd00002051* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001247sv00001043sd0000212A* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001247sv00001043sd0000212B* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001247sv00001043sd0000212C* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001247sv0000152Dsd00000930* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001248* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] - - pci:v000010DEd00001248sv0000152Dsd00000930* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001248sv000017C0sd000010E7* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv000017C0sd000010E8* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv000017C0sd000010EA* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00000890* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00000891* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00001795* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00001796* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00003005* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001249* - ID_MODEL_FROM_DATABASE=GF116 [GeForce GTS 450 Rev. 3] -@@ -27546,19 +27546,19 @@ pci:v000010DEd0000124D* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] - - pci:v000010DEd0000124Dsv00001028sd00000491* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001028sd00000570* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001028sd00000571* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001462sd0000108D* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001462sd000010CC* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001251* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 560M] -@@ -27582,16 +27582,16 @@ pci:v000010DEd00001290* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] - - pci:v000010DEd00001290sv0000103Csd00002AFA* -- ID_MODEL_FROM_DATABASE=GeForce GT 730A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) - - pci:v000010DEd00001290sv0000103Csd00002B04* -- ID_MODEL_FROM_DATABASE=GeForce GT 730A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) - - pci:v000010DEd00001290sv00001043sd000013AD* -- ID_MODEL_FROM_DATABASE=GeForce GT 730M -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) - - pci:v000010DEd00001290sv00001043sd000013CD* -- ID_MODEL_FROM_DATABASE=GeForce GT 730M -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) - - pci:v000010DEd00001291* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 735M] -@@ -27600,10 +27600,10 @@ pci:v000010DEd00001292* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] - - pci:v000010DEd00001292sv000017AAsd00003675* -- ID_MODEL_FROM_DATABASE=GeForce GT 740A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) - - pci:v000010DEd00001292sv000017AAsd00003684* -- ID_MODEL_FROM_DATABASE=GeForce GT 740A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) - - pci:v000010DEd00001293* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] -@@ -27636,13 +27636,13 @@ pci:v000010DEd00001341* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] - - pci:v000010DEd00001341sv000017AAsd00003697* -- ID_MODEL_FROM_DATABASE=GeForce 840A -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) - - pci:v000010DEd00001341sv000017AAsd00003699* -- ID_MODEL_FROM_DATABASE=GeForce 840A -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) - - pci:v000010DEd00001341sv000017AAsd0000369C* -- ID_MODEL_FROM_DATABASE=GeForce 840A -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) - - pci:v000010DEd00001380* - ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] -@@ -27660,10 +27660,10 @@ pci:v000010DEd00001391* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] - - pci:v000010DEd00001391sv000017AAsd00003697* -- ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) - - pci:v000010DEd00001391sv000017AAsd0000A125* -- ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) - - pci:v000010DEd00001392* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] -@@ -27678,13 +27678,13 @@ pci:v000010DFd00000720* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) - - pci:v000010DFd00000720sv000017AAsd00001056* -- ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14102-UX-L AnyFabric) - - pci:v000010DFd00000720sv000017AAsd00001057* -- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UX-L AnyFabric) - - pci:v000010DFd00000720sv000017AAsd00001059* -- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UT-L AnyFabric) - - pci:v000010DFd00000722* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) -@@ -27729,10 +27729,10 @@ pci:v000010DFd0000E220* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) - - pci:v000010DFd0000E220sv000017AAsd00001054* -- ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16002B-M6-L AnyFabric) - - pci:v000010DFd0000E220sv000017AAsd00001055* -- ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16004B-M8-L AnyFabric) - - pci:v000010DFd0000E240* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) -@@ -27831,7 +27831,7 @@ pci:v000010DFd0000FC00* - ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter - - pci:v000010DFd0000FC00sv000010DFsd0000FC00* -- ID_MODEL_FROM_DATABASE=LP10000 LightPulse Fibre Channel Host Adapter -+ ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter (LP10000 LightPulse Fibre Channel Host Adapter) - - pci:v000010DFd0000FC10* - ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter -@@ -27897,7 +27897,7 @@ pci:v000010E1d00000391* - ID_MODEL_FROM_DATABASE=TRM-S1040 - - pci:v000010E1d00000391sv000010E1sd00000391* -- ID_MODEL_FROM_DATABASE=DC-315U SCSI-3 Host Adapter -+ ID_MODEL_FROM_DATABASE=TRM-S1040 (DC-315U SCSI-3 Host Adapter) - - pci:v000010E1d0000690C* - ID_MODEL_FROM_DATABASE=DC-690c -@@ -27921,7 +27921,7 @@ pci:v000010E3d00000148* - ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] - - pci:v000010E3d00000148sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] (VR11 Single Board Computer) - - pci:v000010E3d00000860* - ID_MODEL_FROM_DATABASE=CA91C860 [QSpan] -@@ -28107,25 +28107,25 @@ pci:v000010ECd00005227* - ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader - - pci:v000010ECd00005227sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad T440p) - - pci:v000010ECd00005227sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad X240) - - pci:v000010ECd00005229* - ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader - - pci:v000010ECd00005229sv00001025sd00000813* -- ID_MODEL_FROM_DATABASE=Aspire R7-571 -+ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (Aspire R7-571) - - pci:v000010ECd00005229sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (ProBook 455 G1 Notebook) - - pci:v000010ECd00005249* - ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader - - pci:v000010ECd00005249sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) - - pci:v000010ECd00005288* - ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader -@@ -28134,334 +28134,334 @@ pci:v000010ECd00008029* - ID_MODEL_FROM_DATABASE=RTL-8029(AS) - - pci:v000010ECd00008029sv000010B8sd00002011* -- ID_MODEL_FROM_DATABASE=EZ-Card (SMC1208) -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EZ-Card (SMC1208)) - - pci:v000010ECd00008029sv000010ECsd00008029* - ID_MODEL_FROM_DATABASE=RTL-8029(AS) - - pci:v000010ECd00008029sv00001113sd00001208* -- ID_MODEL_FROM_DATABASE=EN1208 -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EN1208) - - pci:v000010ECd00008029sv00001186sd00000300* -- ID_MODEL_FROM_DATABASE=DE-528 -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (DE-528) - - pci:v000010ECd00008029sv00001259sd00002400* -- ID_MODEL_FROM_DATABASE=AT-2400 -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (AT-2400) - - pci:v000010ECd00008029sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (QEMU Virtual Machine) - - pci:v000010ECd00008129* - ID_MODEL_FROM_DATABASE=RTL-8129 - - pci:v000010ECd00008129sv000010ECsd00008129* -- ID_MODEL_FROM_DATABASE=RT8129 Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL-8129 (RT8129 Fast Ethernet Adapter) - - pci:v000010ECd00008129sv000011ECsd00008129* -- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) -+ ID_MODEL_FROM_DATABASE=RTL-8129 (RTL8111/8168 PCIe Gigabit Ethernet (misconfigured)) - - pci:v000010ECd00008136* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller - - pci:v000010ECd00008136sv0000103Csd00002AB1* -- ID_MODEL_FROM_DATABASE=Pavillion p6774 -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) - - pci:v000010ECd00008136sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) - - pci:v000010ECd00008136sv00001179sd0000FF64* -- ID_MODEL_FROM_DATABASE=RTL8102E PCI-E Fast Ethernet NIC -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) - - pci:v000010ECd00008138* - ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter - - pci:v000010ECd00008138sv000010ECsd00008138* -- ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter (RT8139 (B/C) Fast Ethernet Adapter) - - pci:v000010ECd00008139* - ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter - - pci:v000010ECd00008139sv00000357sd0000000A* -- ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TTP-Monitoring Card V2.0) - - pci:v000010ECd00008139sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TravelMate 290) - - pci:v000010ECd00008139sv00001025sd00008920* -- ID_MODEL_FROM_DATABASE=ALN-325 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) - - pci:v000010ECd00008139sv00001025sd00008921* -- ID_MODEL_FROM_DATABASE=ALN-325 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) - - pci:v000010ECd00008139sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (NX9500) - - pci:v000010ECd00008139sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Pavilion t3030.de Desktop PC) - - pci:v000010ECd00008139sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Presario C700) - - pci:v000010ECd00008139sv00001043sd00001045* -- ID_MODEL_FROM_DATABASE=L8400B or L3C/S notebook -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (L8400B or L3C/S notebook) - - pci:v000010ECd00008139sv00001043sd00008109* -- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P5P800-MX Mainboard) - - pci:v000010ECd00008139sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MIM2000) - - pci:v000010ECd00008139sv000010BDsd00000320* -- ID_MODEL_FROM_DATABASE=EP-320X-R -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EP-320X-R) - - pci:v000010ECd00008139sv000010ECsd00008139* - ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter - - pci:v000010ECd00008139sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Panasonic CF-Y5 laptop) - - pci:v000010ECd00008139sv00001113sd0000EC01* -- ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LevelOne FNC-0107TX/FNC-0109TX) - - pci:v000010ECd00008139sv00001186sd00001300* -- ID_MODEL_FROM_DATABASE=DFE-538TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DFE-538TX) - - pci:v000010ECd00008139sv00001186sd00001320* -- ID_MODEL_FROM_DATABASE=SN5200 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (SN5200) - - pci:v000010ECd00008139sv00001186sd00008139* -- ID_MODEL_FROM_DATABASE=DRN-32TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DRN-32TX) - - pci:v000010ECd00008139sv000011F6sd00008139* -- ID_MODEL_FROM_DATABASE=FN22-3(A) LinxPRO Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN22-3(A) LinxPRO Ethernet Adapter) - - pci:v000010ECd00008139sv00001259sd00002500* -- ID_MODEL_FROM_DATABASE=AT-2500TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX) - - pci:v000010ECd00008139sv00001259sd00002503* -- ID_MODEL_FROM_DATABASE=AT-2500TX/ACPI -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX/ACPI) - - pci:v000010ECd00008139sv00001385sd0000F31D* -- ID_MODEL_FROM_DATABASE=FA311 v2 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FA311 v2) - - pci:v000010ECd00008139sv00001395sd00002100* -- ID_MODEL_FROM_DATABASE=AMB2100 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AMB2100) - - pci:v000010ECd00008139sv00001429sd0000D010* -- ID_MODEL_FROM_DATABASE=ND010/ND012 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ND010/ND012) - - pci:v000010ECd00008139sv00001432sd00009130* -- ID_MODEL_FROM_DATABASE=EN-9130TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EN-9130TX) - - pci:v000010ECd00008139sv00001436sd00008139* -- ID_MODEL_FROM_DATABASE=RT8139 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RT8139) - - pci:v000010ECd00008139sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P30/P35 notebook) - - pci:v000010ECd00008139sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-7VM400M/7VT600 Motherboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GA-7VM400M/7VT600 Motherboard) - - pci:v000010ECd00008139sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MS-1013 Notebook) - - pci:v000010ECd00008139sv00001462sd0000217C* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Aspire L250) - - pci:v000010ECd00008139sv00001462sd0000788C* -- ID_MODEL_FROM_DATABASE=865PE Neo2-V Mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (865PE Neo2-V Mainboard) - - pci:v000010ECd00008139sv0000146Csd00001439* -- ID_MODEL_FROM_DATABASE=FE-1439TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FE-1439TX) - - pci:v000010ECd00008139sv00001489sd00006001* -- ID_MODEL_FROM_DATABASE=GF100TXRII -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRII) - - pci:v000010ECd00008139sv00001489sd00006002* -- ID_MODEL_FROM_DATABASE=GF100TXRA -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRA) - - pci:v000010ECd00008139sv0000149Csd0000139A* -- ID_MODEL_FROM_DATABASE=LFE-8139ATX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139ATX) - - pci:v000010ECd00008139sv0000149Csd00008139* -- ID_MODEL_FROM_DATABASE=LFE-8139TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139TX) - - pci:v000010ECd00008139sv000014CBsd00000200* -- ID_MODEL_FROM_DATABASE=LNR-100 Family 10/100 Base-TX Ethernet -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LNR-100 Family 10/100 Base-TX Ethernet) - - pci:v000010ECd00008139sv00001565sd00002300* -- ID_MODEL_FROM_DATABASE=P4TSV Onboard LAN (RTL8100B) -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P4TSV Onboard LAN (RTL8100B)) - - pci:v000010ECd00008139sv00001631sd00007003* -- ID_MODEL_FROM_DATABASE=Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard) - - pci:v000010ECd00008139sv00001695sd00009001* -- ID_MODEL_FROM_DATABASE=Onboard RTL8101L 10/100 MBit -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8101L 10/100 MBit) - - pci:v000010ECd00008139sv000016ECsd000000FF* -- ID_MODEL_FROM_DATABASE=USR997900A -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (USR997900A) - - pci:v000010ECd00008139sv00001799sd00005000* -- ID_MODEL_FROM_DATABASE=F5D5000 PCI Card/Desktop Network PCI Card -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5000 PCI Card/Desktop Network PCI Card) - - pci:v000010ECd00008139sv00001799sd00005010* -- ID_MODEL_FROM_DATABASE=F5D5010 CardBus Notebook Network Card -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5010 CardBus Notebook Network Card) - - pci:v000010ECd00008139sv0000187Esd00003303* -- ID_MODEL_FROM_DATABASE=FN312 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN312) - - pci:v000010ECd00008139sv00001904sd00008139* -- ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RTL8139D Fast Ethernet Adapter) - - pci:v000010ECd00008139sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (QEMU Virtual Machine) - - pci:v000010ECd00008139sv00002646sd00000001* -- ID_MODEL_FROM_DATABASE=KNE120TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KNE120TX) - - pci:v000010ECd00008139sv00008E2Esd00007000* -- ID_MODEL_FROM_DATABASE=KF-230TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX) - - pci:v000010ECd00008139sv00008E2Esd00007100* -- ID_MODEL_FROM_DATABASE=KF-230TX/2 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX/2) - - pci:v000010ECd00008139sv0000A0A0sd00000007* -- ID_MODEL_FROM_DATABASE=ALN-325C -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325C) - - pci:v000010ECd00008167* - ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet - - pci:v000010ECd00008167sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-MA69G-S3H Motherboard -+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (GA-MA69G-S3H Motherboard) - - pci:v000010ECd00008167sv00001462sd0000235C* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (P965 Neo MS-7235 mainboard) - - pci:v000010ECd00008167sv00001462sd0000236C* -- ID_MODEL_FROM_DATABASE=945P Neo3-F motherboard -+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (945P Neo3-F motherboard) - - pci:v000010ECd00008168* - ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller - - pci:v000010ECd00008168sv00001019sd00008168* -- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) - - pci:v000010ECd00008168sv00001028sd00000283* -- ID_MODEL_FROM_DATABASE=Vostro 220 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 220) - - pci:v000010ECd00008168sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3350) - - pci:v000010ECd00008168sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3750) - - pci:v000010ECd00008168sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Pavilion DM1Z-3000) - - pci:v000010ECd00008168sv0000103Csd00001950* -- ID_MODEL_FROM_DATABASE=ProBook 450/455 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (ProBook 450/455) - - pci:v000010ECd00008168sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Asus IPIBL-LB Motherboard) - - pci:v000010ECd00008168sv00001043sd000011F5* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (A6J-Q008) - - pci:v000010ECd00008168sv00001043sd000016D5* -- ID_MODEL_FROM_DATABASE=U6V/U31J laptop -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (U6V/U31J laptop) - - pci:v000010ECd00008168sv00001043sd000081AA* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P5B) - - pci:v000010ECd00008168sv00001043sd000082C6* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M3A78-EH Motherboard) - - pci:v000010ECd00008168sv00001043sd000083A3* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M4A785TD Motherboard) - - pci:v000010ECd00008168sv00001043sd00008432* -- ID_MODEL_FROM_DATABASE=P8P67 and other motherboards -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) - - pci:v000010ECd00008168sv00001043sd00008505* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) - - pci:v000010ECd00008168sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) - - pci:v000010ECd00008168sv000010ECsd00008168* -- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) - - pci:v000010ECd00008168sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard) - - pci:v000010ECd00008168sv00001462sd0000238C* -- ID_MODEL_FROM_DATABASE=Onboard RTL8111b on MSI P965 Platinum Mainboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Onboard RTL8111b on MSI P965 Platinum Mainboard) - - pci:v000010ECd00008168sv00001462sd0000368C* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (K9AG Neo2) - - pci:v000010ECd00008168sv00001462sd00004180* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Wind PC MS-7418) - - pci:v000010ECd00008168sv00001462sd00007522* -- ID_MODEL_FROM_DATABASE=X58 Pro-E -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (X58 Pro-E) - - pci:v000010ECd00008168sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (CC11/CL11) - - pci:v000010ECd00008168sv00001849sd00008168* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many)) - - pci:v000010ECd00008168sv00008086sd0000D615* -- ID_MODEL_FROM_DATABASE=Desktop Board D510MO/D525MW -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Desktop Board D510MO/D525MW) - - pci:v000010ECd00008169* - ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller - - pci:v000010ECd00008169sv00001025sd00000079* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Aspire 5024WLMi) - - pci:v000010ECd00008169sv000010BDsd00003202* -- ID_MODEL_FROM_DATABASE=EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter) - - pci:v000010ECd00008169sv000010ECsd00008169* -- ID_MODEL_FROM_DATABASE=RTL8169/8110 Family PCI Gigabit Ethernet NIC -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (RTL8169/8110 Family PCI Gigabit Ethernet NIC) - - pci:v000010ECd00008169sv00001259sd0000C107* -- ID_MODEL_FROM_DATABASE=CG-LAPCIGT -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (CG-LAPCIGT) - - pci:v000010ECd00008169sv00001371sd0000434E* -- ID_MODEL_FROM_DATABASE=ProG-2000L -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (ProG-2000L) - - pci:v000010ECd00008169sv00001385sd0000311A* -- ID_MODEL_FROM_DATABASE=GA311 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA311) - - pci:v000010ECd00008169sv00001385sd00005200* -- ID_MODEL_FROM_DATABASE=GA511 Gigabit PC Card -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA511 Gigabit PC Card) - - pci:v000010ECd00008169sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA-8I915ME-G Mainboard) - - pci:v000010ECd00008169sv00001462sd0000030C* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 mainboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8N Neo-FSR v2.0 mainboard) - - pci:v000010ECd00008169sv00001462sd0000065C* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Hetis 865GV-E (MS-7065)) - - pci:v000010ECd00008169sv00001462sd0000702C* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T NEO 2 motherboard) - - pci:v000010ECd00008169sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T Neo2-F V2.0) - - pci:v000010ECd00008169sv000016ECsd0000011F* -- ID_MODEL_FROM_DATABASE=USR997903 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (USR997903) - - pci:v000010ECd00008169sv00001734sd00001091* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (D2030-A1) - - pci:v000010ECd00008169sv0000A0A0sd00000449* -- ID_MODEL_FROM_DATABASE=AK86-L motherboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (AK86-L motherboard) - - pci:v000010ECd00008171* - ID_MODEL_FROM_DATABASE=RTL8191SEvA Wireless LAN Controller -@@ -28479,7 +28479,7 @@ pci:v000010ECd00008176* - ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter - - pci:v000010ECd00008176sv00001A3Bsd00001139* -- ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter (AW-NE139H Half-size Mini PCIe Card) - - pci:v000010ECd00008177* - ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter -@@ -28494,10 +28494,10 @@ pci:v000010ECd00008180* - ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC - - pci:v000010ECd00008180sv00001385sd00004700* -- ID_MODEL_FROM_DATABASE=MA521 802.11b Wireless PC Card -+ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (MA521 802.11b Wireless PC Card) - - pci:v000010ECd00008180sv00001737sd00000019* -- ID_MODEL_FROM_DATABASE=WPC11v4 802.11b Wireless-B Notebook Adapter -+ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (WPC11v4 802.11b Wireless-B Notebook Adapter) - - pci:v000010ECd00008185* - ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller -@@ -28524,7 +28524,7 @@ pci:v000010ECd00008199* - ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller - - pci:v000010ECd00008199sv00001462sd00006894* -- ID_MODEL_FROM_DATABASE=MN54G2 / MS-6894 Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller (MN54G2 / MS-6894 Wireless Mini PCIe Card) - - pci:v000010ECd00008723* - ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter -@@ -28734,115 +28734,115 @@ pci:v00001102d00000002* - ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 - - pci:v00001102d00000002sv0000100Asd00001102* -- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF) - - pci:v00001102d00000002sv00001102sd00000020* -- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00000021* -- ID_MODEL_FROM_DATABASE=CT4620 SBLive! -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4620 SBLive!) - - pci:v00001102d00000002sv00001102sd0000002F* -- ID_MODEL_FROM_DATABASE=SBLive! mainboard implementation -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! mainboard implementation) - - pci:v00001102d00000002sv00001102sd0000100A* -- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM [SB0220] -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM [SB0220]) - - pci:v00001102d00000002sv00001102sd00004001* -- ID_MODEL_FROM_DATABASE=E-mu APS -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (E-mu APS) - - pci:v00001102d00000002sv00001102sd00008022* -- ID_MODEL_FROM_DATABASE=CT4780 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4780 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008023* -- ID_MODEL_FROM_DATABASE=CT4790 SoundBlaster PCI512 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4790 SoundBlaster PCI512) - - pci:v00001102d00000002sv00001102sd00008024* -- ID_MODEL_FROM_DATABASE=CT4760 SBLive! -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) - - pci:v00001102d00000002sv00001102sd00008025* -- ID_MODEL_FROM_DATABASE=SBLive! Mainboard Implementation -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Mainboard Implementation) - - pci:v00001102d00000002sv00001102sd00008026* -- ID_MODEL_FROM_DATABASE=CT4830 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4830 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008027* -- ID_MODEL_FROM_DATABASE=CT4832 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4832 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008028* -- ID_MODEL_FROM_DATABASE=CT4760 SBLive! OEM version -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive! OEM version) - - pci:v00001102d00000002sv00001102sd00008031* -- ID_MODEL_FROM_DATABASE=CT4831 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4831 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008040* -- ID_MODEL_FROM_DATABASE=CT4760 SBLive! -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) - - pci:v00001102d00000002sv00001102sd00008051* -- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008061* -- ID_MODEL_FROM_DATABASE=SBLive! Player 5.1 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Player 5.1) - - pci:v00001102d00000002sv00001102sd00008064* -- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Model SB0100 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Model SB0100) - - pci:v00001102d00000002sv00001102sd00008065* -- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Digital Model SB0220 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Digital Model SB0220) - - pci:v00001102d00000002sv00001102sd00008066* -- ID_MODEL_FROM_DATABASE=Live! 5.1 Digital [SB0228] -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (Live! 5.1 Digital [SB0228]) - - pci:v00001102d00000002sv00001102sd00008067* -- ID_MODEL_FROM_DATABASE=SBLive! 5.1 eMicro 28028 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 eMicro 28028) - - pci:v00001102d00000004* - ID_MODEL_FROM_DATABASE=SB Audigy - - pci:v00001102d00000004sv00001102sd00000051* -- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player) - - pci:v00001102d00000004sv00001102sd00000053* -- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) - - pci:v00001102d00000004sv00001102sd00000058* -- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) - - pci:v00001102d00000004sv00001102sd00001002* -- ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 Platinum) - - pci:v00001102d00000004sv00001102sd00001003* -- ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0350 Audigy 2) - - pci:v00001102d00000004sv00001102sd00001007* -- ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0240 Audigy 2 Platinum 6.1) - - pci:v00001102d00000004sv00001102sd00001009* -- ID_MODEL_FROM_DATABASE=SB Audigy2 OEM HP -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 OEM HP) - - pci:v00001102d00000004sv00001102sd00002001* -- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS Platinum Pro -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS Platinum Pro) - - pci:v00001102d00000004sv00001102sd00002002* -- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS (SB0350) -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS (SB0350)) - - pci:v00001102d00000004sv00001102sd00004001* -- ID_MODEL_FROM_DATABASE=E-MU 1010 -+ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 1010) - - pci:v00001102d00000004sv00001102sd00004002* -- ID_MODEL_FROM_DATABASE=E-MU 0404 -+ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 0404) - - pci:v00001102d00000005* - ID_MODEL_FROM_DATABASE=SB X-Fi - - pci:v00001102d00000005sv00001102sd00000021* -- ID_MODEL_FROM_DATABASE=X-Fi Platinum -+ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi Platinum) - - pci:v00001102d00000005sv00001102sd0000002C* -- ID_MODEL_FROM_DATABASE=X-Fi XtremeGamer FATAL1TY PRO -+ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeGamer FATAL1TY PRO) - - pci:v00001102d00000005sv00001102sd00001003* -- ID_MODEL_FROM_DATABASE=X-Fi XtremeMusic -+ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeMusic) - - pci:v00001102d00000006* - ID_MODEL_FROM_DATABASE=[SB Live! Value] EMU10k1X -@@ -28851,37 +28851,37 @@ pci:v00001102d00000007* - ID_MODEL_FROM_DATABASE=CA0106 Soundblaster - - pci:v00001102d00000007sv00001102sd00000007* -- ID_MODEL_FROM_DATABASE=SBLive! 24bit -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SBLive! 24bit) - - pci:v00001102d00000007sv00001102sd00001001* -- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0310 Audigy LS) - - pci:v00001102d00000007sv00001102sd00001002* -- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0312 Audigy LS) - - pci:v00001102d00000007sv00001102sd00001006* -- ID_MODEL_FROM_DATABASE=SB0410 SBLive! 24-bit -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0410 SBLive! 24-bit) - - pci:v00001102d00000007sv00001102sd0000100A* -- ID_MODEL_FROM_DATABASE=SB0570 [SB Audigy SE] -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0570 [SB Audigy SE]) - - pci:v00001102d00000007sv00001102sd00001012* -- ID_MODEL_FROM_DATABASE=SB0790 X-Fi XA -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0790 X-Fi XA) - - pci:v00001102d00000007sv00001102sd00001013* -- ID_MODEL_FROM_DATABASE=Soundblaster X-Fi Xtreme Audio -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (Soundblaster X-Fi Xtreme Audio) - - pci:v00001102d00000007sv00001462sd00001009* -- ID_MODEL_FROM_DATABASE=K8N Diamond -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (K8N Diamond) - - pci:v00001102d00000008* - ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value - - pci:v00001102d00000008sv00001102sd00000008* -- ID_MODEL_FROM_DATABASE=EMU0404 Digital Audio System -+ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU0404 Digital Audio System) - - pci:v00001102d00000008sv00001102sd00004004* -- ID_MODEL_FROM_DATABASE=EMU1010 Digital Audio System [MAEM8960] -+ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU1010 Digital Audio System [MAEM8960]) - - pci:v00001102d00000009* - ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG -@@ -28890,13 +28890,13 @@ pci:v00001102d00000009sv00001102sd00000010* - ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG - - pci:v00001102d00000009sv00001102sd00000018* -- ID_MODEL_FROM_DATABASE=SB1040 -+ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG (SB1040) - - pci:v00001102d0000000B* - ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] - - pci:v00001102d0000000Bsv00001102sd00000041* -- ID_MODEL_FROM_DATABASE=SB0880 [SoundBlaster X-Fi Titanium PCI-e] -+ ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) - - pci:v00001102d00004001* - ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port -@@ -28908,7 +28908,7 @@ pci:v00001102d00007002* - ID_MODEL_FROM_DATABASE=SB Live! Game Port - - pci:v00001102d00007002sv00001102sd00000020* -- ID_MODEL_FROM_DATABASE=Gameport Joystick -+ ID_MODEL_FROM_DATABASE=SB Live! Game Port (Gameport Joystick) - - pci:v00001102d00007003* - ID_MODEL_FROM_DATABASE=SB Audigy Game Port -@@ -28917,7 +28917,7 @@ pci:v00001102d00007003sv00001102sd00000040* - ID_MODEL_FROM_DATABASE=SB Audigy Game Port - - pci:v00001102d00007003sv00001102sd00000060* -- ID_MODEL_FROM_DATABASE=SB Audigy2 MIDI/Game Port -+ ID_MODEL_FROM_DATABASE=SB Audigy Game Port (SB Audigy2 MIDI/Game Port) - - pci:v00001102d00007004* - ID_MODEL_FROM_DATABASE=[SB Live! Value] Input device controller -@@ -28926,10 +28926,10 @@ pci:v00001102d00007005* - ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port - - pci:v00001102d00007005sv00001102sd00001001* -- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS MIDI/Game port -+ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0310 Audigy LS MIDI/Game port) - - pci:v00001102d00007005sv00001102sd00001002* -- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS MIDI/Game port -+ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0312 Audigy LS MIDI/Game port) - - pci:v00001102d00007006* - ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge -@@ -28938,49 +28938,49 @@ pci:v00001102d00008938* - ID_MODEL_FROM_DATABASE=Ectiva EV1938 - - pci:v00001102d00008938sv00001033sd000080E5* -- ID_MODEL_FROM_DATABASE=SlimTower-Jim (NEC) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (SlimTower-Jim (NEC)) - - pci:v00001102d00008938sv00001071sd00007150* -- ID_MODEL_FROM_DATABASE=Mitac 7150 -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Mitac 7150) - - pci:v00001102d00008938sv0000110Asd00005938* -- ID_MODEL_FROM_DATABASE=Siemens Scenic Mobile 510PIII -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Siemens Scenic Mobile 510PIII) - - pci:v00001102d00008938sv000013BDsd0000100C* -- ID_MODEL_FROM_DATABASE=Ceres-C (Sharp, Intel BX) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Ceres-C (Sharp, Intel BX)) - - pci:v00001102d00008938sv000013BDsd0000100D* -- ID_MODEL_FROM_DATABASE=Sharp, Intel Banister -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Sharp, Intel Banister) - - pci:v00001102d00008938sv000013BDsd0000100E* -- ID_MODEL_FROM_DATABASE=TwinHead P09S/P09S3 (Sharp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (TwinHead P09S/P09S3 (Sharp)) - - pci:v00001102d00008938sv000013BDsd0000F6F1* -- ID_MODEL_FROM_DATABASE=Marlin (Sharp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Marlin (Sharp)) - - pci:v00001102d00008938sv000014FFsd00000E70* -- ID_MODEL_FROM_DATABASE=P88TE (TWINHEAD INTERNATIONAL Corp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (P88TE (TWINHEAD INTERNATIONAL Corp)) - - pci:v00001102d00008938sv000014FFsd0000C401* -- ID_MODEL_FROM_DATABASE=Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)) - - pci:v00001102d00008938sv0000156Dsd0000B400* -- ID_MODEL_FROM_DATABASE=G400 - Geo (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G400 - Geo (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B550* -- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B560* -- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B700* -- ID_MODEL_FROM_DATABASE=G700/U700 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G700/U700 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B795* -- ID_MODEL_FROM_DATABASE=G795 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G795 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B797* -- ID_MODEL_FROM_DATABASE=G797 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G797 (AlphaTop (Taiwan))) - - pci:v00001103* - ID_VENDOR_FROM_DATABASE=HighPoint Technologies, Inc. -@@ -28992,16 +28992,16 @@ pci:v00001103d00000004* - ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N - - pci:v00001103d00000004sv00001103sd00000001* -- ID_MODEL_FROM_DATABASE=HPT370A -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370A) - - pci:v00001103d00000004sv00001103sd00000004* -- ID_MODEL_FROM_DATABASE=HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)) - - pci:v00001103d00000004sv00001103sd00000005* -- ID_MODEL_FROM_DATABASE=HPT370 UDMA100 -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370 UDMA100) - - pci:v00001103d00000004sv00001103sd00000006* -- ID_MODEL_FROM_DATABASE=HPT302/302N -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT302/302N) - - pci:v00001103d00000005* - ID_MODEL_FROM_DATABASE=HPT372A/372N -@@ -29040,7 +29040,7 @@ pci:v00001103d00002210* - ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller - - pci:v00001103d00002210sv000011ABsd000011AB* -- ID_MODEL_FROM_DATABASE=88SX6042 -+ ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller (88SX6042) - - pci:v00001103d00002300* - ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller -@@ -29112,13 +29112,13 @@ pci:v00001105d00008475* - ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder - - pci:v00001105d00008475sv00001105sd00000001* -- ID_MODEL_FROM_DATABASE=REALmagic X-Card -+ ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder (REALmagic X-Card) - - pci:v00001105d00008476* - ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder - - pci:v00001105d00008476sv0000127Dsd00000000* -- ID_MODEL_FROM_DATABASE=CineView II -+ ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder (CineView II) - - pci:v00001105d00008485* - ID_MODEL_FROM_DATABASE=EM8485 REALmagic DVD/MPEG-4 A/V Decoder -@@ -29163,7 +29163,7 @@ pci:v00001106d00000282* - ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge - - pci:v00001106d00000282sv00001043sd000080A3* -- ID_MODEL_FROM_DATABASE=A8V Deluxe -+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge (A8V Deluxe) - - pci:v00001106d00000290* - ID_MODEL_FROM_DATABASE=K8M890 Host Bridge -@@ -29178,28 +29178,28 @@ pci:v00001106d00000305* - ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] - - pci:v00001106d00000305sv00001019sd00000987* -- ID_MODEL_FROM_DATABASE=K7VZA Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (K7VZA Mainboard) - - pci:v00001106d00000305sv00001043sd00008033* -- ID_MODEL_FROM_DATABASE=A7V Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V Mainboard) - - pci:v00001106d00000305sv00001043sd0000803E* -- ID_MODEL_FROM_DATABASE=A7V-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V-E Mainboard) - - pci:v00001106d00000305sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V133/A7V133-C Mainboard) - - pci:v00001106d00000305sv0000147Bsd0000A401* -- ID_MODEL_FROM_DATABASE=KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard) - - pci:v00001106d00000308* - ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge - - pci:v00001106d00000308sv00001043sd00008199* -- ID_MODEL_FROM_DATABASE=P4V800D-X Mainboard -+ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (P4V800D-X Mainboard) - - pci:v00001106d00000308sv00001849sd00000308* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (Motherboard) - - pci:v00001106d00000314* - ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge -@@ -29226,7 +29226,7 @@ pci:v00001106d00000364* - ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge - - pci:v00001106d00000364sv00001043sd000081CE* -- ID_MODEL_FROM_DATABASE=P5VD2-VM mothervoard -+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge (P5VD2-VM mothervoard) - - pci:v00001106d00000391* - ID_MODEL_FROM_DATABASE=VT8371 [KX133] -@@ -29241,7 +29241,7 @@ pci:v00001106d00000415* - ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller - - pci:v00001106d00000415sv00001043sd0000838F* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller (Motherboard) - - pci:v00001106d00000501* - ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] -@@ -29256,55 +29256,55 @@ pci:v00001106d00000571* - ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE - - pci:v00001106d00000571sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (P6VXA Motherboard) - - pci:v00001106d00000571sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00000571sv00001043sd00008052* -- ID_MODEL_FROM_DATABASE=VT8233A Bus Master ATA100/66/33 IDE -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT8233A Bus Master ATA100/66/33 IDE) - - pci:v00001106d00000571sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V8X / A7V333 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X / A7V333 motherboard) - - pci:v00001106d00000571sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev. 1.01 -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X-X motherboard rev. 1.01) - - pci:v00001106d00000571sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00000571sv00001106sd00000571* -- ID_MODEL_FROM_DATABASE=VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE) - - pci:v00001106d00000571sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (Magnia Z310) - - pci:v00001106d00000571sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (FX41 motherboard) - - pci:v00001106d00000571sv00001458sd00005002* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (GA-7VAX Mainboard) - - pci:v00001106d00000571sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00000571sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T NEO 2 motherboard) - - pci:v00001106d00000571sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T Neo2-F V2.0) - - pci:v00001106d00000571sv00001462sd00007120* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT4AV motherboard) - - pci:v00001106d00000571sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8MM3-V mainboard) - - pci:v00001106d00000571sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KV8-MAX3 motherboard) - - pci:v00001106d00000571sv00001849sd00000571* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K7VT series Motherboards) - - pci:v00001106d00000576* - ID_MODEL_FROM_DATABASE=VT82C576 3V [Apollo Master] -@@ -29313,7 +29313,7 @@ pci:v00001106d00000581* - ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller - - pci:v00001106d00000581sv00001106sd00000581* -- ID_MODEL_FROM_DATABASE=Wrong IDE ID -+ ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller (Wrong IDE ID) - - pci:v00001106d00000585* - ID_MODEL_FROM_DATABASE=VT82C585VP [Apollo VP1/VPX] -@@ -29322,7 +29322,7 @@ pci:v00001106d00000586* - ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] - - pci:v00001106d00000586sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=MVP3 ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] (MVP3 ISA Bridge) - - pci:v00001106d00000591* - ID_MODEL_FROM_DATABASE=VT8237A SATA 2-Port Controller -@@ -29334,10 +29334,10 @@ pci:v00001106d00000596* - ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] - - pci:v00001106d00000596sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) - - pci:v00001106d00000596sv00001458sd00000596* -- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) - - pci:v00001106d00000597* - ID_MODEL_FROM_DATABASE=VT82C597 [Apollo VP3] -@@ -29352,10 +29352,10 @@ pci:v00001106d00000605* - ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] - - pci:v00001106d00000605sv0000103Csd00001254* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00001106d00000605sv00001043sd0000802C* -- ID_MODEL_FROM_DATABASE=CUV4X mainboard -+ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (CUV4X mainboard) - - pci:v00001106d00000680* - ID_MODEL_FROM_DATABASE=VT82C680 [Apollo P6] -@@ -29364,49 +29364,49 @@ pci:v00001106d00000686* - ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] - - pci:v00001106d00000686sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (P6VXA Motherboard) - - pci:v00001106d00000686sv0000103Csd00001256* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00001106d00000686sv00001043sd0000802C* -- ID_MODEL_FROM_DATABASE=CUV4X mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (CUV4X mainboard) - - pci:v00001106d00000686sv00001043sd00008033* -- ID_MODEL_FROM_DATABASE=A7V Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V Mainboard) - - pci:v00001106d00000686sv00001043sd0000803E* -- ID_MODEL_FROM_DATABASE=A7V-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V-E Mainboard) - - pci:v00001106d00000686sv00001043sd00008040* -- ID_MODEL_FROM_DATABASE=A7M266 Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7M266 Mainboard) - - pci:v00001106d00000686sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V133/A7V133-C Mainboard) - - pci:v00001106d00000686sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) - - pci:v00001106d00000686sv00001106sd00000686* -- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) - - pci:v00001106d00000686sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (Magnia Z310) - - pci:v00001106d00000686sv0000147Bsd0000A702* -- ID_MODEL_FROM_DATABASE=KG7-Lite Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (KG7-Lite Mainboard) - - pci:v00001106d00000691* - ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] - - pci:v00001106d00000691sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (P6VXA Motherboard) - - pci:v00001106d00000691sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (Magnia Z310) - - pci:v00001106d00000691sv00001458sd00000691* -- ID_MODEL_FROM_DATABASE=VT82C691 Apollo Pro System Controller -+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (VT82C691 Apollo Pro System Controller) - - pci:v00001106d00000693* - ID_MODEL_FROM_DATABASE=VT82C693 [Apollo Pro Plus] -@@ -29586,61 +29586,61 @@ pci:v00001106d00003038* - ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller - - pci:v00001106d00003038sv00000925sd00001234* -- ID_MODEL_FROM_DATABASE=VA-502 Mainboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VA-502 Mainboard) - - pci:v00001106d00003038sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (P6VXA Motherboard) - - pci:v00001106d00003038sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003038sv00001043sd00008080* -- ID_MODEL_FROM_DATABASE=A7V333 motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V333 motherboard) - - pci:v00001106d00003038sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=VT6202 USB2.0 4 port controller -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VT6202 USB2.0 4 port controller) - - pci:v00001106d00003038sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V8X-X motherboard) - - pci:v00001106d00003038sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003038sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (Magnia Z310) - - pci:v00001106d00003038sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (GA-7VAX Mainboard) - - pci:v00001106d00003038sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003038sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T NEO 2 motherboard) - - pci:v00001106d00003038sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T Neo2-F V2.0) - - pci:v00001106d00003038sv00001462sd00007120* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT4AV motherboard) - - pci:v00001106d00003038sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8MM3-V mainboard) - - pci:v00001106d00003038sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KV8-MAX3 motherboard) - - pci:v00001106d00003038sv0000182Dsd0000201D* -- ID_MODEL_FROM_DATABASE=CN-029 USB2.0 4 port PCI Card -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (CN-029 USB2.0 4 port PCI Card) - - pci:v00001106d00003038sv00001849sd00003038* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K7VT series Motherboards) - - pci:v00001106d00003038sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (ZBOX nano VD01) - - pci:v00001106d00003038sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (QEMU Virtual Machine) - - pci:v00001106d00003040* - ID_MODEL_FROM_DATABASE=VT82C586B ACPI -@@ -29649,52 +29649,52 @@ pci:v00001106d00003043* - ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] - - pci:v00001106d00003043sv000010BDsd00000000* -- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) - - pci:v00001106d00003043sv00001106sd00000100* -- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) - - pci:v00001106d00003043sv00001186sd00001400* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev A -+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (DFE-530TX rev A) - - pci:v00001106d00003044* - ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller - - pci:v00001106d00003044sv00000010sd00000001* -- ID_MODEL_FROM_DATABASE=IEEE 1394 4port DCST 1394-3+1B -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (IEEE 1394 4port DCST 1394-3+1B) - - pci:v00001106d00003044sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (TravelMate 290) - - pci:v00001106d00003044sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Pavilion t3030.de Desktop PC) - - pci:v00001106d00003044sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Media Center PC m7590n -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Media Center PC m7590n) - - pci:v00001106d00003044sv00001043sd0000808A* -- ID_MODEL_FROM_DATABASE=A8V/A8N/P4P800 series motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (A8V/A8N/P4P800 series motherboard) - - pci:v00001106d00003044sv00001043sd000081FE* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Motherboard) - - pci:v00001106d00003044sv00001458sd00001000* -- ID_MODEL_FROM_DATABASE=GA-7VT600-1394 Motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (GA-7VT600-1394 Motherboard) - - pci:v00001106d00003044sv00001462sd0000207D* -- ID_MODEL_FROM_DATABASE=K8NGM2 series motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8NGM2 series motherboard) - - pci:v00001106d00003044sv00001462sd0000217D* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Aspire L250) - - pci:v00001106d00003044sv00001462sd0000590D* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003044sv00001462sd0000702D* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8T NEO 2 motherboard) - - pci:v00001106d00003044sv00001462sd0000971D* -- ID_MODEL_FROM_DATABASE=MS-6917 -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (MS-6917) - - pci:v00001106d00003050* - ID_MODEL_FROM_DATABASE=VT82C596 Power Management -@@ -29709,205 +29709,205 @@ pci:v00001106d00003057* - ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] - - pci:v00001106d00003057sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (P6VXA Motherboard) - - pci:v00001106d00003057sv00001019sd00000987* -- ID_MODEL_FROM_DATABASE=K7VZA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (K7VZA Motherboard) - - pci:v00001106d00003057sv00001043sd00008033* -- ID_MODEL_FROM_DATABASE=A7V Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V Mainboard) - - pci:v00001106d00003057sv00001043sd0000803E* -- ID_MODEL_FROM_DATABASE=A7V-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V-E Mainboard) - - pci:v00001106d00003057sv00001043sd00008040* -- ID_MODEL_FROM_DATABASE=A7M266 Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7M266 Mainboard) - - pci:v00001106d00003057sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V133/A7V133-C Mainboard) - - pci:v00001106d00003057sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (Magnia Z310) - - pci:v00001106d00003058* - ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller - - pci:v00001106d00003058sv00000E11sd00000097* -- ID_MODEL_FROM_DATABASE=SoundMax Digital Integrated Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (SoundMax Digital Integrated Audio) - - pci:v00001106d00003058sv00000E11sd0000B194* -- ID_MODEL_FROM_DATABASE=Soundmax integrated digital audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Soundmax integrated digital audio) - - pci:v00001106d00003058sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (P6VXA Motherboard) - - pci:v00001106d00003058sv00001019sd00000987* -- ID_MODEL_FROM_DATABASE=K7VZA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (K7VZA Motherboard) - - pci:v00001106d00003058sv0000103Csd00001251* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00001106d00003058sv00001043sd00001106* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (A7V133/A7V133-C Mainboard) - - pci:v00001106d00003058sv00001106sd00004511* -- ID_MODEL_FROM_DATABASE=Onboard Audio on EP7KXA -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio on EP7KXA) - - pci:v00001106d00003058sv00001106sd0000AA03* -- ID_MODEL_FROM_DATABASE=VT1612A AC'97 Audio Controller -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (VT1612A AC'97 Audio Controller) - - pci:v00001106d00003058sv000011D4sd00005348* -- ID_MODEL_FROM_DATABASE=AD1881A audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (AD1881A audio) - - pci:v00001106d00003058sv00001458sd00007600* -- ID_MODEL_FROM_DATABASE=Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) - - pci:v00001106d00003058sv00001462sd00003091* -- ID_MODEL_FROM_DATABASE=MS-6309 Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 Onboard Audio) - - pci:v00001106d00003058sv00001462sd00003092* -- ID_MODEL_FROM_DATABASE=MS-6309 v2.x Mainboard (VIA VT1611A codec) -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 v2.x Mainboard (VIA VT1611A codec)) - - pci:v00001106d00003058sv00001462sd00003300* -- ID_MODEL_FROM_DATABASE=MS-6330 Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6330 Onboard Audio) - - pci:v00001106d00003058sv000015DDsd00007609* -- ID_MODEL_FROM_DATABASE=Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) - - pci:v00001106d00003059* - ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller - - pci:v00001106d00003059sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003059sv00001019sd00001877* -- ID_MODEL_FROM_DATABASE=K8M800-M2 (V2.0) onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8M800-M2 (V2.0) onboard audio) - - pci:v00001106d00003059sv00001043sd00008095* -- ID_MODEL_FROM_DATABASE=A7V8X Motherboard (Realtek ALC650 codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X Motherboard (Realtek ALC650 codec)) - - pci:v00001106d00003059sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X-X Motherboard) - - pci:v00001106d00003059sv00001043sd000080B0* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])) - - pci:v00001106d00003059sv00001043sd0000810D* -- ID_MODEL_FROM_DATABASE=Asus P5VD1-X (AD1888 codec [SoundMax]) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Asus P5VD1-X (AD1888 codec [SoundMax])) - - pci:v00001106d00003059sv00001043sd0000812A* -- ID_MODEL_FROM_DATABASE=A8V Deluxe motherboard (Realtek ALC850 codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A8V Deluxe motherboard (Realtek ALC850 codec)) - - pci:v00001106d00003059sv000010ECsd00008168* -- ID_MODEL_FROM_DATABASE=High Definition Audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (High Definition Audio) - - pci:v00001106d00003059sv00001106sd00003059* -- ID_MODEL_FROM_DATABASE=L7VMM2 Motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VMM2 Motherboard) - - pci:v00001106d00003059sv00001106sd00004161* -- ID_MODEL_FROM_DATABASE=K7VT2 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT2 motherboard) - - pci:v00001106d00003059sv00001106sd00004170* -- ID_MODEL_FROM_DATABASE=PCPartner P4M800-8237R Motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (PCPartner P4M800-8237R Motherboard) - - pci:v00001106d00003059sv00001106sd00004552* -- ID_MODEL_FROM_DATABASE=Soyo KT-600 Dragon Plus (Realtek ALC 650) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Soyo KT-600 Dragon Plus (Realtek ALC 650)) - - pci:v00001106d00003059sv00001297sd0000C160* -- ID_MODEL_FROM_DATABASE=FX41 motherboard (Realtek ALC650 codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (FX41 motherboard (Realtek ALC650 codec)) - - pci:v00001106d00003059sv00001413sd0000147B* -- ID_MODEL_FROM_DATABASE=KV8 Pro motherboard onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8 Pro motherboard onboard audio) - - pci:v00001106d00003059sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-7VAX Onboard Audio (Realtek ALC650) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (GA-7VAX Onboard Audio (Realtek ALC650)) - - pci:v00001106d00003059sv00001462sd00000080* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8T NEO 2 motherboard) - - pci:v00001106d00003059sv00001462sd00003800* -- ID_MODEL_FROM_DATABASE=KT266 onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT266 onboard audio) - - pci:v00001106d00003059sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003059sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8MM3-V mainboard) - - pci:v00001106d00003059sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8-MAX3 motherboard) - - pci:v00001106d00003059sv00001695sd0000300C* -- ID_MODEL_FROM_DATABASE=EP-8KRA2+ Mainboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (EP-8KRA2+ Mainboard) - - pci:v00001106d00003059sv00001849sd00000850* -- ID_MODEL_FROM_DATABASE=ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)) - - pci:v00001106d00003059sv00001849sd00009739* -- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard (C-Media CMI9739A codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (P4VT8 Mainboard (C-Media CMI9739A codec)) - - pci:v00001106d00003059sv00001849sd00009761* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT series Motherboards) - - pci:v00001106d00003059sv00004005sd00004710* -- ID_MODEL_FROM_DATABASE=MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)) - - pci:v00001106d00003059sv0000A0A0sd000001B6* -- ID_MODEL_FROM_DATABASE=AK77-8XN onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK77-8XN onboard audio) - - pci:v00001106d00003059sv0000A0A0sd00000342* -- ID_MODEL_FROM_DATABASE=AK86-L motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK86-L motherboard) - - pci:v00001106d00003065* - ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] - - pci:v00001106d00003065sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V8X-X Motherboard) - - pci:v00001106d00003065sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600-X Motherboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V600-X Motherboard) - - pci:v00001106d00003065sv00001106sd00000102* -- ID_MODEL_FROM_DATABASE=VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6102 [Rhine II] Embeded Ethernet Controller on VT8235) - - pci:v00001106d00003065sv00001186sd00001400* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev A -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev A) - - pci:v00001106d00003065sv00001186sd00001401* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev B -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev B) - - pci:v00001106d00003065sv000013B9sd00001421* -- ID_MODEL_FROM_DATABASE=LD-10/100AL PCI Fast Ethernet Adapter (rev.B) -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (LD-10/100AL PCI Fast Ethernet Adapter (rev.B)) - - pci:v00001106d00003065sv00001462sd00007061* -- ID_MODEL_FROM_DATABASE=MS-7061 -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (MS-7061) - - pci:v00001106d00003065sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K8MM3-V mainboard) - - pci:v00001106d00003065sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (NV7 Motherboard) - - pci:v00001106d00003065sv00001695sd00003005* -- ID_MODEL_FROM_DATABASE=VT6103 -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6103) - - pci:v00001106d00003065sv00001695sd0000300C* -- ID_MODEL_FROM_DATABASE=Realtek ALC655 sound chip -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (Realtek ALC655 sound chip) - - pci:v00001106d00003065sv00001849sd00003065* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K7VT series Motherboards) - - pci:v00001106d00003068* - ID_MODEL_FROM_DATABASE=AC'97 Modem Controller - - pci:v00001106d00003068sv00001462sd0000309E* -- ID_MODEL_FROM_DATABASE=MS-6309 Saturn Motherboard -+ ID_MODEL_FROM_DATABASE=AC'97 Modem Controller (MS-6309 Saturn Motherboard) - - pci:v00001106d00003074* - ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge - - pci:v00001106d00003074sv00001043sd00008052* -- ID_MODEL_FROM_DATABASE=VT8233A -+ ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge (VT8233A) - - pci:v00001106d00003091* - ID_MODEL_FROM_DATABASE=VT8633 [Apollo Pro266] -@@ -29916,13 +29916,13 @@ pci:v00001106d00003099* - ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] - - pci:v00001106d00003099sv00001043sd00008064* -- ID_MODEL_FROM_DATABASE=A7V266-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V266-E Mainboard) - - pci:v00001106d00003099sv00001043sd0000807F* -- ID_MODEL_FROM_DATABASE=A7V333 Mainboard -+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V333 Mainboard) - - pci:v00001106d00003099sv00001849sd00003099* -- ID_MODEL_FROM_DATABASE=K7VT2 motherboard -+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (K7VT2 motherboard) - - pci:v00001106d00003101* - ID_MODEL_FROM_DATABASE=VT8653 Host Bridge -@@ -29937,70 +29937,70 @@ pci:v00001106d00003104* - ID_MODEL_FROM_DATABASE=USB 2.0 - - pci:v00001106d00003104sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=USB 2.0 (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003104sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X motherboard) - - pci:v00001106d00003104sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev 1.01 -+ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X-X motherboard rev 1.01) - - pci:v00001106d00003104sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003104sv00001106sd00003104* -- ID_MODEL_FROM_DATABASE=USB 2.0 Controller -+ ID_MODEL_FROM_DATABASE=USB 2.0 (Controller) - - pci:v00001106d00003104sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (FX41 motherboard) - - pci:v00001106d00003104sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (GA-7VAX Mainboard) - - pci:v00001106d00003104sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=USB 2.0 (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003104sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T NEO 2 motherboard) - - pci:v00001106d00003104sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T Neo2-F V2.0) - - pci:v00001106d00003104sv00001462sd00007120* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (KT4AV motherboard) - - pci:v00001106d00003104sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K8MM3-V mainboard) - - pci:v00001106d00003104sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (KV8-MAX3 motherboard) - - pci:v00001106d00003104sv0000182Dsd0000201D* -- ID_MODEL_FROM_DATABASE=CN-029 USB 2.0 4 port PCI Card -+ ID_MODEL_FROM_DATABASE=USB 2.0 (CN-029 USB 2.0 4 port PCI Card) - - pci:v00001106d00003104sv00001849sd00003104* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K7VT series Motherboards) - - pci:v00001106d00003104sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=USB 2.0 (ZBOX nano VD01) - - pci:v00001106d00003106* - ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] - - pci:v00001106d00003106sv00001106sd00000105* -- ID_MODEL_FROM_DATABASE=VT6106S [Rhine-III] -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (VT6106S [Rhine-III]) - - pci:v00001106d00003106sv00001186sd00001403* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev C -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX rev C) - - pci:v00001106d00003106sv00001186sd00001405* -- ID_MODEL_FROM_DATABASE=DFE-520TX Fast Ethernet PCI Adapter -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-520TX Fast Ethernet PCI Adapter) - - pci:v00001106d00003106sv00001186sd00001406* -- ID_MODEL_FROM_DATABASE=DFE-530TX+ rev F2 -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX+ rev F2) - - pci:v00001106d00003106sv00001186sd00001407* -- ID_MODEL_FROM_DATABASE=DFE-538TX -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-538TX) - - pci:v00001106d00003108* - ID_MODEL_FROM_DATABASE=K8M800/K8N800/K8N800A [S3 UniChrome Pro] -@@ -30018,7 +30018,7 @@ pci:v00001106d00003116* - ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge - - pci:v00001106d00003116sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge (FX41 motherboard) - - pci:v00001106d00003118* - ID_MODEL_FROM_DATABASE=CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] -@@ -30045,7 +30045,7 @@ pci:v00001106d00003147* - ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge - - pci:v00001106d00003147sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V333 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge (A7V333 motherboard) - - pci:v00001106d00003148* - ID_MODEL_FROM_DATABASE=P4M266 Host Bridge -@@ -30054,34 +30054,34 @@ pci:v00001106d00003149* - ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller - - pci:v00001106d00003149sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003149sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-7VM400AM(F) Motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (GA-7VM400AM(F) Motherboard) - - pci:v00001106d00003149sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003149sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T Neo 2 Motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo 2 Motherboard) - - pci:v00001106d00003149sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo2-F V2.0) - - pci:v00001106d00003149sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8MM3-V mainboard) - - pci:v00001106d00003149sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV8-MAX3 motherboard) - - pci:v00001106d00003149sv0000147Bsd00001408* -- ID_MODEL_FROM_DATABASE=KV7 -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV7) - - pci:v00001106d00003149sv00001849sd00003149* -- ID_MODEL_FROM_DATABASE=K7VT6 motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K7VT6 motherboard) - - pci:v00001106d00003149sv0000A0A0sd000004AD* -- ID_MODEL_FROM_DATABASE=AK86-L motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (AK86-L motherboard) - - pci:v00001106d00003156* - ID_MODEL_FROM_DATABASE=P/KN266 Host Bridge -@@ -30093,40 +30093,40 @@ pci:v00001106d00003164* - ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller - - pci:v00001106d00003164sv00001043sd000080F4* -- ID_MODEL_FROM_DATABASE=P4P800 Mainboard Deluxe ATX -+ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (P4P800 Mainboard Deluxe ATX) - - pci:v00001106d00003164sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (915P/G Neo2) - - pci:v00001106d00003168* - ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge - - pci:v00001106d00003168sv00001849sd00003168* -- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard -+ ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge (P4VT8 Mainboard) - - pci:v00001106d00003177* - ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge - - pci:v00001106d00003177sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003177sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X motherboard) - - pci:v00001106d00003177sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X-X motherboard) - - pci:v00001106d00003177sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (KT4AV motherboard) - - pci:v00001106d00003177sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (FX41 motherboard) - - pci:v00001106d00003177sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (GA-7VAX Mainboard) - - pci:v00001106d00003177sv00001849sd00003177* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (K7VT series Motherboards) - - pci:v00001106d00003178* - ID_MODEL_FROM_DATABASE=ProSavageDDR P4N333 Host Bridge -@@ -30135,25 +30135,25 @@ pci:v00001106d00003188* - ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge - - pci:v00001106d00003188sv00001043sd000080A3* -- ID_MODEL_FROM_DATABASE=K8V Deluxe/K8V-X motherboard -+ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (K8V Deluxe/K8V-X motherboard) - - pci:v00001106d00003188sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (KV8-MAX3 motherboard) - - pci:v00001106d00003189* - ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge - - pci:v00001106d00003189sv00001043sd0000807F* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (A7V8X motherboard) - - pci:v00001106d00003189sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard (KT400A) -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (KT4AV motherboard (KT400A)) - - pci:v00001106d00003189sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (GA-7VAX Mainboard) - - pci:v00001106d00003189sv00001849sd00003189* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (K7VT series Motherboards) - - pci:v00001106d00003204* - ID_MODEL_FROM_DATABASE=K8M800 Host Bridge -@@ -30162,7 +30162,7 @@ pci:v00001106d00003205* - ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge - - pci:v00001106d00003205sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-7VM400M Motherboard -+ ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge (GA-7VM400M Motherboard) - - pci:v00001106d00003208* - ID_MODEL_FROM_DATABASE=PT890 Host Bridge -@@ -30177,19 +30177,19 @@ pci:v00001106d00003227* - ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] - - pci:v00001106d00003227sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003227sv00001106sd00003227* -- ID_MODEL_FROM_DATABASE=DFI KT600-AL / Soltek SL-B9D-FGR Motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (DFI KT600-AL / Soltek SL-B9D-FGR Motherboard) - - pci:v00001106d00003227sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-7VT600 Motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (GA-7VT600 Motherboard) - - pci:v00001106d00003227sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (KV8-MAX3 motherboard) - - pci:v00001106d00003227sv00001849sd00003227* -- ID_MODEL_FROM_DATABASE=K7VT4 motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (K7VT4 motherboard) - - pci:v00001106d00003230* - ID_MODEL_FROM_DATABASE=K8M890CE/K8N890CE [Chrome 9] -@@ -30237,7 +30237,7 @@ pci:v00001106d00003288* - ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller - - pci:v00001106d00003288sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX VD01 -+ ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller (ZBOX VD01) - - pci:v00001106d00003290* - ID_MODEL_FROM_DATABASE=K8M890 Host Bridge -@@ -30294,10 +30294,10 @@ pci:v00001106d00003403* - ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller - - pci:v00001106d00003403sv00001043sd00008374* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (M5A88-V EVO) - - pci:v00001106d00003403sv00001043sd00008384* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (P8P67 Deluxe Motherboard) - - pci:v00001106d00003409* - ID_MODEL_FROM_DATABASE=VX855/VX875 DRAM Bus Control -@@ -30306,7 +30306,7 @@ pci:v00001106d00003410* - ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control - - pci:v00001106d00003410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control (ZBOX nano VD01) - - pci:v00001106d00003432* - ID_MODEL_FROM_DATABASE=VL80x xHCI USB 3.0 Controller -@@ -30378,7 +30378,7 @@ pci:v00001106d00004410* - ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control - - pci:v00001106d00004410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control (ZBOX nano VD01) - - pci:v00001106d00005030* - ID_MODEL_FROM_DATABASE=VT82C596 ACPI [Apollo PRO] -@@ -30456,7 +30456,7 @@ pci:v00001106d00006410* - ID_MODEL_FROM_DATABASE=VX900 Scratch Registers - - pci:v00001106d00006410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 Scratch Registers (ZBOX nano VD01) - - pci:v00001106d00007122* - ID_MODEL_FROM_DATABASE=VX900 Graphics [Chrome9 HD] -@@ -30468,10 +30468,10 @@ pci:v00001106d00007205* - ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] - - pci:v00001106d00007205sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=Gigabyte GA-7VM400(A)M(F) Motherboard -+ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (Gigabyte GA-7VM400(A)M(F) Motherboard) - - pci:v00001106d00007205sv00001462sd00007061* -- ID_MODEL_FROM_DATABASE=MS-7061 -+ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (MS-7061) - - pci:v00001106d00007208* - ID_MODEL_FROM_DATABASE=PT890 Host Bridge -@@ -30534,7 +30534,7 @@ pci:v00001106d00007410* - ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control - - pci:v00001106d00007410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control (ZBOX nano VD01) - - pci:v00001106d00008231* - ID_MODEL_FROM_DATABASE=VT8231 [PCI-to-ISA Bridge] -@@ -30564,7 +30564,7 @@ pci:v00001106d00008410* - ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management - - pci:v00001106d00008410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX VD01 -+ ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management (ZBOX VD01) - - pci:v00001106d00008500* - ID_MODEL_FROM_DATABASE=KLE133/PLE133/PLE133T -@@ -30582,7 +30582,7 @@ pci:v00001106d00008598* - ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] - - pci:v00001106d00008598sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] (P6VXA Motherboard) - - pci:v00001106d00008601* - ID_MODEL_FROM_DATABASE=VT8601 [Apollo ProMedia AGP] -@@ -30669,7 +30669,7 @@ pci:v00001106d0000B188* - ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] - - pci:v00001106d0000B188sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] (KV8-MAX3 motherboard) - - pci:v00001106d0000B198* - ID_MODEL_FROM_DATABASE=VT8237/VX700 PCI Bridge -@@ -30846,7 +30846,7 @@ pci:v0000110Ad00004029sv0000110Asd00004029* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 - - pci:v0000110Ad00004029sv0000110Asd0000C029* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 (SIMATIC NET CP 5614 A2) - - pci:v0000110Ad00004035* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 -@@ -30864,7 +30864,7 @@ pci:v0000110Ad00004069sv0000110Asd00004069* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 - - pci:v0000110Ad00004069sv0000110Asd0000C069* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 (SIMATIC NET CP 5624) - - pci:v0000110Ad0000407C* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 -@@ -30942,25 +30942,25 @@ pci:v00001113d00001211* - ID_MODEL_FROM_DATABASE=SMC2-1211TX - - pci:v00001113d00001211sv0000103Csd00001207* -- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) - - pci:v00001113d00001211sv00001113sd00001211* -- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) - - pci:v00001113d00001216* - ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter - - pci:v00001113d00001216sv00001113sd00001216* -- ID_MODEL_FROM_DATABASE=EN1207F series PCI Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN1207F series PCI Fast Ethernet Adapter) - - pci:v00001113d00001216sv00001113sd00002220* -- ID_MODEL_FROM_DATABASE=EN2220A Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2220A Cardbus Fast Ethernet Adapter) - - pci:v00001113d00001216sv00001113sd00002242* -- ID_MODEL_FROM_DATABASE=EN2242 10/100 Ethernet Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2242 10/100 Ethernet Mini-PCI Card) - - pci:v00001113d00001216sv0000111Asd00001020* -- ID_MODEL_FROM_DATABASE=SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]) - - pci:v00001113d00001217* - ID_MODEL_FROM_DATABASE=EN-1217 Ethernet Adapter -@@ -31272,37 +31272,37 @@ pci:v0000111Ad00000003* - ID_MODEL_FROM_DATABASE=ENI-25P ATM - - pci:v0000111Ad00000003sv0000111Asd00000000* -- ID_MODEL_FROM_DATABASE=ENI-25p Miniport ATM Adapter -+ ID_MODEL_FROM_DATABASE=ENI-25P ATM (ENI-25p Miniport ATM Adapter) - - pci:v0000111Ad00000005* - ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) - - pci:v0000111Ad00000005sv0000111Asd00000001* -- ID_MODEL_FROM_DATABASE=ENI-3010 ATM -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) - - pci:v0000111Ad00000005sv0000111Asd00000009* -- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0)) - - pci:v0000111Ad00000005sv0000111Asd00000101* -- ID_MODEL_FROM_DATABASE=ENI-3010 ATM -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) - - pci:v0000111Ad00000005sv0000111Asd00000109* -- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0)) - - pci:v0000111Ad00000005sv0000111Asd00000809* -- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0 or 8) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0 or 8)) - - pci:v0000111Ad00000005sv0000111Asd00000909* -- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0 or 8) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0 or 8)) - - pci:v0000111Ad00000005sv0000111Asd00000A09* -- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=<0..15>) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=<0..15>)) - - pci:v0000111Ad00000007* - ID_MODEL_FROM_DATABASE=SpeedStream ADSL - - pci:v0000111Ad00000007sv0000111Asd00001001* -- ID_MODEL_FROM_DATABASE=ENI-3061 ADSL [ASIC] -+ ID_MODEL_FROM_DATABASE=SpeedStream ADSL (ENI-3061 ADSL [ASIC]) - - pci:v0000111Ad00001020* - ID_MODEL_FROM_DATABASE=SpeedStream PCI 10/100 Network Card -@@ -31446,7 +31446,7 @@ pci:v0000111Dd0000806A* - ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch - - pci:v0000111Dd0000806Asv000014C1sd0000000C* -- ID_MODEL_FROM_DATABASE=10G-PCIE2-8B2 -+ ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch (10G-PCIE2-8B2) - - pci:v0000111Dd0000806C* - ID_MODEL_FROM_DATABASE=PES16T4A/4T4G2 PCI Express Gen2 Switch -@@ -31515,7 +31515,7 @@ pci:v00001127d00000400* - ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter - - pci:v00001127d00000400sv00001127sd00000400* -- ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM -+ ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter (ForeRunnerHE ATM) - - pci:v00001129* - ID_VENDOR_FROM_DATABASE=Firmworks -@@ -31557,13 +31557,13 @@ pci:v00001131d00001561* - ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller - - pci:v00001131d00001561sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K onboard USB 1.1 host controller -+ ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller (C2K onboard USB 1.1 host controller) - - pci:v00001131d00001562* - ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller - - pci:v00001131d00001562sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K onboard USB 2.0 host controller -+ ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller (C2K onboard USB 2.0 host controller) - - pci:v00001131d00003400* - ID_MODEL_FROM_DATABASE=SmartPCI56(UCB1500) 56K Modem -@@ -31572,49 +31572,49 @@ pci:v00001131d00005400* - ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 - - pci:v00001131d00005400sv000012CAsd00000000* -- ID_MODEL_FROM_DATABASE=BlueICE -+ ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 (BlueICE) - - pci:v00001131d00005402* - ID_MODEL_FROM_DATABASE=TriMedia TM1300 - - pci:v00001131d00005402sv00001244sd00000F00* -- ID_MODEL_FROM_DATABASE=Fritz!Card DSL -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (Fritz!Card DSL) - - pci:v00001131d00005402sv000015EBsd00001300* -- ID_MODEL_FROM_DATABASE=DT1300 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1300) - - pci:v00001131d00005402sv000015EBsd00001302* -- ID_MODEL_FROM_DATABASE=DT1302 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1302) - - pci:v00001131d00005402sv000015EBsd00001304* -- ID_MODEL_FROM_DATABASE=DT1304 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1304) - - pci:v00001131d00005402sv000015EBsd00001305* -- ID_MODEL_FROM_DATABASE=DT1305 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1305) - - pci:v00001131d00005402sv000015EBsd00001306* -- ID_MODEL_FROM_DATABASE=PMCDT1306 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PMCDT1306) - - pci:v00001131d00005402sv000015EBsd00001308* -- ID_MODEL_FROM_DATABASE=DT1308 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1308) - - pci:v00001131d00005402sv000015EBsd00001331* -- ID_MODEL_FROM_DATABASE=DT1301 with SAA7121 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7121) - - pci:v00001131d00005402sv000015EBsd00001337* -- ID_MODEL_FROM_DATABASE=DT1301 with SAA7127 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7127) - - pci:v00001131d00005402sv000015EBsd00002D3D* -- ID_MODEL_FROM_DATABASE=X3D -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (X3D) - - pci:v00001131d00005402sv000015EBsd00007022* -- ID_MODEL_FROM_DATABASE=PTM1300 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PTM1300) - - pci:v00001131d00005405* - ID_MODEL_FROM_DATABASE=TriMedia TM1500 - - pci:v00001131d00005405sv00001136sd00000005* -- ID_MODEL_FROM_DATABASE=LCP-1500 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1500 (LCP-1500) - - pci:v00001131d00005406* - ID_MODEL_FROM_DATABASE=TriMedia TM1700 -@@ -31623,409 +31623,409 @@ pci:v00001131d0000540B* - ID_MODEL_FROM_DATABASE=PNX1005 Media Processor - - pci:v00001131d0000540Bsv00001131sd00000020* -- ID_MODEL_FROM_DATABASE=PNXLite PCI Demo Board -+ ID_MODEL_FROM_DATABASE=PNX1005 Media Processor (PNXLite PCI Demo Board) - - pci:v00001131d00007130* - ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder - - pci:v00001131d00007130sv00000000sd00004016* -- ID_MODEL_FROM_DATABASE=Behold TV 401 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 401) - - pci:v00001131d00007130sv00000000sd00004051* -- ID_MODEL_FROM_DATABASE=Behold TV 405 FM -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 405 FM) - - pci:v00001131d00007130sv00000000sd00005051* -- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) - - pci:v00001131d00007130sv00000000sd0000505B* -- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) - - pci:v00001131d00007130sv0000102Bsd000048D0* -- ID_MODEL_FROM_DATABASE=Matrox CronosPlus -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Matrox CronosPlus) - - pci:v00001131d00007130sv00001048sd0000226B* -- ID_MODEL_FROM_DATABASE=ELSA EX-VISION 300TV -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (ELSA EX-VISION 300TV) - - pci:v00001131d00007130sv0000107Dsd00006655* -- ID_MODEL_FROM_DATABASE=WinFast DTV1000S -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (WinFast DTV1000S) - - pci:v00001131d00007130sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=SAA7130-based TV tuner card -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (SAA7130-based TV tuner card) - - pci:v00001131d00007130sv00001131sd00002001* -- ID_MODEL_FROM_DATABASE=10MOONS PCI TV CAPTURE CARD -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (10MOONS PCI TV CAPTURE CARD) - - pci:v00001131d00007130sv00001131sd00002005* -- ID_MODEL_FROM_DATABASE=Techcom (India) TV Tuner Card (SSD-TV-670) -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Techcom (India) TV Tuner Card (SSD-TV-670)) - - pci:v00001131d00007130sv00001458sd00009006* -- ID_MODEL_FROM_DATABASE=GT-PS700 DVB-S tuner -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (GT-PS700 DVB-S tuner) - - pci:v00001131d00007130sv00001461sd0000050C* -- ID_MODEL_FROM_DATABASE=Nagase Sangyo TransGear 3000TV -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Nagase Sangyo TransGear 3000TV) - - pci:v00001131d00007130sv00001461sd000010FF* -- ID_MODEL_FROM_DATABASE=AVerMedia DVD EZMaker -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AVerMedia DVD EZMaker) - - pci:v00001131d00007130sv00001461sd00002108* -- ID_MODEL_FROM_DATABASE=AverMedia AverTV/305 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV/305) - - pci:v00001131d00007130sv00001461sd00002115* -- ID_MODEL_FROM_DATABASE=AverMedia AverTV Studio 305 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV Studio 305) - - pci:v00001131d00007130sv0000153Bsd00001152* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 200 TV -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Terratec Cinergy 200 TV) - - pci:v00001131d00007130sv0000185Bsd0000C100* -- ID_MODEL_FROM_DATABASE=Compro VideoMate TV PVR/FM -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Compro VideoMate TV PVR/FM) - - pci:v00001131d00007130sv0000185Bsd0000C901* -- ID_MODEL_FROM_DATABASE=Videomate DVB-T200 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Videomate DVB-T200) - - pci:v00001131d00007130sv00005168sd00000138* -- ID_MODEL_FROM_DATABASE=LifeView FlyVIDEO2000 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (LifeView FlyVIDEO2000) - - pci:v00001131d00007130sv00005ACEsd00005010* -- ID_MODEL_FROM_DATABASE=Behold TV 501 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 501) - - pci:v00001131d00007130sv00005ACEsd00005050* -- ID_MODEL_FROM_DATABASE=Behold TV 505 FM -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 FM) - - pci:v00001131d00007133* - ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder - - pci:v00001131d00007133sv00000000sd00004091* -- ID_MODEL_FROM_DATABASE=Beholder BeholdTV 409 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Beholder BeholdTV 409 FM) - - pci:v00001131d00007133sv00000000sd00005071* -- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) - - pci:v00001131d00007133sv00000000sd0000507B* -- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) - - pci:v00001131d00007133sv00000000sd00005201* -- ID_MODEL_FROM_DATABASE=Behold TV Columbus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV Columbus) - - pci:v00001131d00007133sv00000070sd00006701* -- ID_MODEL_FROM_DATABASE=WinTV HVR-1110 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (WinTV HVR-1110) - - pci:v00001131d00007133sv00001019sd00004CB5* -- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)) - - pci:v00001131d00007133sv00001043sd00000210* -- ID_MODEL_FROM_DATABASE=FlyTV mini Asus Digimatrix -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (FlyTV mini Asus Digimatrix) - - pci:v00001131d00007133sv00001043sd00004843* -- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7133 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ASUS TV-FM 7133) - - pci:v00001131d00007133sv00001043sd00004845* -- ID_MODEL_FROM_DATABASE=TV-FM 7135 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV-FM 7135) - - pci:v00001131d00007133sv00001043sd00004862* -- ID_MODEL_FROM_DATABASE=P7131 Dual -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (P7131 Dual) - - pci:v00001131d00007133sv00001043sd00004876* -- ID_MODEL_FROM_DATABASE=My Cinema-P7131 Hybrid -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (My Cinema-P7131 Hybrid) - - pci:v00001131d00007133sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (SAA713x-based TV tuner card) - - pci:v00001131d00007133sv00001131sd00002001* -- ID_MODEL_FROM_DATABASE=Proteus Pro [philips reference design] -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Proteus Pro [philips reference design]) - - pci:v00001131d00007133sv00001131sd00002018* -- ID_MODEL_FROM_DATABASE=Tiger reference design -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Tiger reference design) - - pci:v00001131d00007133sv00001131sd00004EE9* -- ID_MODEL_FROM_DATABASE=MonsterTV Mobile -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (MonsterTV Mobile) - - pci:v00001131d00007133sv00001131sd00007133* -- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 301i -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Pinnacle PCTV 301i) - - pci:v00001131d00007133sv000011BDsd0000002B* -- ID_MODEL_FROM_DATABASE=PCTV Stereo -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV Stereo) - - pci:v00001131d00007133sv000011BDsd0000002E* -- ID_MODEL_FROM_DATABASE=PCTV 110i (saa7133) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV 110i (saa7133)) - - pci:v00001131d00007133sv000012ABsd00000800* -- ID_MODEL_FROM_DATABASE=PURPLE TV -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PURPLE TV) - - pci:v00001131d00007133sv000013C2sd00002804* -- ID_MODEL_FROM_DATABASE=Technotrend Budget T-3000 Hybrid -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Technotrend Budget T-3000 Hybrid) - - pci:v00001131d00007133sv00001421sd00000335* -- ID_MODEL_FROM_DATABASE=Instant TV DVB-T Cardbus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV DVB-T Cardbus) - - pci:v00001131d00007133sv00001421sd00001370* -- ID_MODEL_FROM_DATABASE=Instant TV (saa7135) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV (saa7135)) - - pci:v00001131d00007133sv00001435sd00007330* -- ID_MODEL_FROM_DATABASE=VFG7330 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7330) - - pci:v00001131d00007133sv00001435sd00007350* -- ID_MODEL_FROM_DATABASE=VFG7350 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7350) - - pci:v00001131d00007133sv00001458sd00009001* -- ID_MODEL_FROM_DATABASE=GC-PTV-TAF Hybrid TV card -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GC-PTV-TAF Hybrid TV card) - - pci:v00001131d00007133sv00001458sd00009002* -- ID_MODEL_FROM_DATABASE=GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009003* -- ID_MODEL_FROM_DATABASE=GT-PTV-AF-RH Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-AF-RH Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009004* -- ID_MODEL_FROM_DATABASE=GT-P8000 DVB-T/Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P8000 DVB-T/Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009005* -- ID_MODEL_FROM_DATABASE=GT-P6000 Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P6000 Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009008* -- ID_MODEL_FROM_DATABASE=GT-P5100 Analog TV tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P5100 Analog TV tuner) - - pci:v00001131d00007133sv00001461sd00001044* -- ID_MODEL_FROM_DATABASE=AVerTVHD MCE A180 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTVHD MCE A180) - - pci:v00001131d00007133sv00001461sd00004836* -- ID_MODEL_FROM_DATABASE=M10D Hybrid DVBT -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M10D Hybrid DVBT) - - pci:v00001131d00007133sv00001461sd0000861E* -- ID_MODEL_FROM_DATABASE=M105 PAL/SECAM/NTSC/FM Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M105 PAL/SECAM/NTSC/FM Tuner) - - pci:v00001131d00007133sv00001461sd0000A14B* -- ID_MODEL_FROM_DATABASE=AVerTV Studio 509 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTV Studio 509) - - pci:v00001131d00007133sv00001461sd0000A836* -- ID_MODEL_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M115 DVB-T, PAL/SECAM/NTSC Tuner) - - pci:v00001131d00007133sv00001461sd0000F01D* -- ID_MODEL_FROM_DATABASE=DVB-T Super 007 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (DVB-T Super 007) - - pci:v00001131d00007133sv00001461sd0000F31F* -- ID_MODEL_FROM_DATABASE=Avermedia AVerTV GO 007 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Avermedia AVerTV GO 007 FM) - - pci:v00001131d00007133sv00001461sd0000F936* -- ID_MODEL_FROM_DATABASE=Hybrid+FM PCI (rev A16D) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Hybrid+FM PCI (rev A16D)) - - pci:v00001131d00007133sv00001462sd00006231* -- ID_MODEL_FROM_DATABASE=TV@nywhere Plus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV@nywhere Plus) - - pci:v00001131d00007133sv00001489sd00000214* -- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum FM) - - pci:v00001131d00007133sv000014C0sd00001212* -- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum Mini2 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum Mini2) - - pci:v00001131d00007133sv0000153Bsd00001160* -- ID_MODEL_FROM_DATABASE=Cinergy 250 PCI TV -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Cinergy 250 PCI TV) - - pci:v00001131d00007133sv0000153Bsd00001162* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Terratec Cinergy 400 mobile) - - pci:v00001131d00007133sv000017DEsd00007256* -- ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PlusTV All In One PI610 card) - - pci:v00001131d00007133sv000017DEsd00007350* -- ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 110 Digital / Analog HDTV Tuner) - - pci:v00001131d00007133sv000017DEsd00007352* -- ID_MODEL_FROM_DATABASE=ATSC 115 Digital / Analog HDTV Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 115 Digital / Analog HDTV Tuner) - - pci:v00001131d00007133sv0000185Bsd0000C100* -- ID_MODEL_FROM_DATABASE=VideoMate TV -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate TV) - - pci:v00001131d00007133sv0000185Bsd0000C900* -- ID_MODEL_FROM_DATABASE=VideoMate T750 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate T750) - - pci:v00001131d00007133sv00005168sd00000306* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T DUO -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T DUO) - - pci:v00001131d00007133sv00005168sd00000319* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio) - - pci:v00001131d00007133sv00005168sd00000502* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Duo CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Duo CardBus) - - pci:v00001131d00007133sv00005168sd00000520* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio CardBus) - - pci:v00001131d00007133sv00005168sd00001502* -- ID_MODEL_FROM_DATABASE=LifeView FlyTV CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV CardBus) - - pci:v00001131d00007133sv00005168sd00002502* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T CardBus) - - pci:v00001131d00007133sv00005168sd00002520* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-S Duo CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-S Duo CardBus) - - pci:v00001131d00007133sv00005168sd00003502* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Hybrid CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Hybrid CardBus) - - pci:v00001131d00007133sv00005168sd00003520* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio N CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio N CardBus) - - pci:v00001131d00007133sv00005ACEsd00005030* -- ID_MODEL_FROM_DATABASE=Behold TV 503 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 503 FM) - - pci:v00001131d00007133sv00005ACEsd00005090* -- ID_MODEL_FROM_DATABASE=Behold TV 509 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 509 FM) - - pci:v00001131d00007133sv00005ACEsd00006090* -- ID_MODEL_FROM_DATABASE=Behold TV 609 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) - - pci:v00001131d00007133sv00005ACEsd00006091* -- ID_MODEL_FROM_DATABASE=Behold TV 609 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) - - pci:v00001131d00007133sv00005ACEsd00006092* -- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) - - pci:v00001131d00007133sv00005ACEsd00006093* -- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) - - pci:v00001131d00007133sv00005ACEsd00006190* -- ID_MODEL_FROM_DATABASE=Behold TV M6 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6) - - pci:v00001131d00007133sv00005ACEsd00006191* -- ID_MODEL_FROM_DATABASE=Behold TV M63 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M63) - - pci:v00001131d00007133sv00005ACEsd00006193* -- ID_MODEL_FROM_DATABASE=Behold TV M6 Extra -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6 Extra) - - pci:v00001131d00007133sv00005ACEsd00006290* -- ID_MODEL_FROM_DATABASE=Behold TV H6 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H6) - - pci:v00001131d00007133sv00005ACEsd00007090* -- ID_MODEL_FROM_DATABASE=Behold TV A7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV A7) - - pci:v00001131d00007133sv00005ACEsd00007150* -- ID_MODEL_FROM_DATABASE=Behold TV H75 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) - - pci:v00001131d00007133sv00005ACEsd00007151* -- ID_MODEL_FROM_DATABASE=Behold TV H75 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) - - pci:v00001131d00007133sv00005ACEsd00007190* -- ID_MODEL_FROM_DATABASE=Behold TV H7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) - - pci:v00001131d00007133sv00005ACEsd00007191* -- ID_MODEL_FROM_DATABASE=Behold TV H7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) - - pci:v00001131d00007133sv00005ACEsd00007290* -- ID_MODEL_FROM_DATABASE=Behold TV T7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV T7) - - pci:v00001131d00007133sv00005ACEsd00007591* -- ID_MODEL_FROM_DATABASE=Behold TV X7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) - - pci:v00001131d00007133sv00005ACEsd00007595* -- ID_MODEL_FROM_DATABASE=Behold TV X7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) - - pci:v00001131d00007134* - ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder - - pci:v00001131d00007134sv00000000sd00004036* -- ID_MODEL_FROM_DATABASE=Behold TV 403 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403) - - pci:v00001131d00007134sv00000000sd00004037* -- ID_MODEL_FROM_DATABASE=Behold TV 403 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403 FM) - - pci:v00001131d00007134sv00000000sd00004071* -- ID_MODEL_FROM_DATABASE=Behold TV 407 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 407 FM) - - pci:v00001131d00007134sv00001019sd00004CB4* -- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)) - - pci:v00001131d00007134sv00001043sd00000210* -- ID_MODEL_FROM_DATABASE=Digimatrix TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Digimatrix TV) - - pci:v00001131d00007134sv00001043sd00004840* -- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7134 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ASUS TV-FM 7134) - - pci:v00001131d00007134sv00001043sd00004842* -- ID_MODEL_FROM_DATABASE=TV-FM 7134 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (TV-FM 7134) - - pci:v00001131d00007134sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SAA713x-based TV tuner card) - - pci:v00001131d00007134sv00001131sd00002004* -- ID_MODEL_FROM_DATABASE=EUROPA V3 reference design -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EUROPA V3 reference design) - - pci:v00001131d00007134sv00001131sd00004E85* -- ID_MODEL_FROM_DATABASE=SKNet Monster TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SKNet Monster TV) - - pci:v00001131d00007134sv00001131sd00006752* -- ID_MODEL_FROM_DATABASE=EMPRESS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EMPRESS) - - pci:v00001131d00007134sv000011BDsd0000002B* -- ID_MODEL_FROM_DATABASE=PCTV Stereo -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV Stereo) - - pci:v00001131d00007134sv000011BDsd0000002D* -- ID_MODEL_FROM_DATABASE=PCTV 300i DVB-T + PAL -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV 300i DVB-T + PAL) - - pci:v00001131d00007134sv00001461sd00002C00* -- ID_MODEL_FROM_DATABASE=AverTV Hybrid+FM PCI -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverTV Hybrid+FM PCI) - - pci:v00001131d00007134sv00001461sd00009715* -- ID_MODEL_FROM_DATABASE=AVerTV Studio 307 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Studio 307) - - pci:v00001131d00007134sv00001461sd0000A70A* -- ID_MODEL_FROM_DATABASE=Avermedia AVerTV 307 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Avermedia AVerTV 307) - - pci:v00001131d00007134sv00001461sd0000A70B* -- ID_MODEL_FROM_DATABASE=AverMedia M156 / Medion 2819 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverMedia M156 / Medion 2819) - - pci:v00001131d00007134sv00001461sd0000D6EE* -- ID_MODEL_FROM_DATABASE=Cardbus TV/Radio (E500) -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Cardbus TV/Radio (E500)) - - pci:v00001131d00007134sv00001471sd0000B7E9* -- ID_MODEL_FROM_DATABASE=AVerTV Cardbus plus -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Cardbus plus) - - pci:v00001131d00007134sv0000153Bsd00001142* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 400 TV) - - pci:v00001131d00007134sv0000153Bsd00001143* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV) - - pci:v00001131d00007134sv0000153Bsd00001158* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV MK3 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV MK3) - - pci:v00001131d00007134sv00001540sd00009524* -- ID_MODEL_FROM_DATABASE=ProVideo PV952 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ProVideo PV952) - - pci:v00001131d00007134sv000016BEsd00000003* -- ID_MODEL_FROM_DATABASE=Medion 7134 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Medion 7134) - - pci:v00001131d00007134sv0000185Bsd0000C200* -- ID_MODEL_FROM_DATABASE=Compro VideoMate Gold+ Pal -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Compro VideoMate Gold+ Pal) - - pci:v00001131d00007134sv0000185Bsd0000C900* -- ID_MODEL_FROM_DATABASE=Videomate DVB-T300 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Videomate DVB-T300) - - pci:v00001131d00007134sv00001894sd0000A006* -- ID_MODEL_FROM_DATABASE=KNC One TV-Station DVR -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station DVR) - - pci:v00001131d00007134sv00001894sd0000FE01* -- ID_MODEL_FROM_DATABASE=KNC One TV-Station RDS / Typhoon TV Tuner RDS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station RDS / Typhoon TV Tuner RDS) - - pci:v00001131d00007134sv00005168sd00000138* -- ID_MODEL_FROM_DATABASE=FLY TV PRIME 34FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FLY TV PRIME 34FM) - - pci:v00001131d00007134sv00005168sd00000300* -- ID_MODEL_FROM_DATABASE=FlyDVB-S -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FlyDVB-S) - - pci:v00001131d00007134sv00005ACEsd00005070* -- ID_MODEL_FROM_DATABASE=Behold TV 507 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 507 FM) - - pci:v00001131d00007134sv00005ACEsd00006070* -- ID_MODEL_FROM_DATABASE=Behold TV 607 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) - - pci:v00001131d00007134sv00005ACEsd00006071* -- ID_MODEL_FROM_DATABASE=Behold TV 607 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) - - pci:v00001131d00007134sv00005ACEsd00006072* -- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) - - pci:v00001131d00007134sv00005ACEsd00006073* -- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) - - pci:v00001131d00007145* - ID_MODEL_FROM_DATABASE=SAA7145 -@@ -32034,223 +32034,223 @@ pci:v00001131d00007146* - ID_MODEL_FROM_DATABASE=SAA7146 - - pci:v00001131d00007146sv0000110Asd00000000* -- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) - - pci:v00001131d00007146sv0000110Asd0000FFFF* -- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) - - pci:v00001131d00007146sv00001124sd00002581* -- ID_MODEL_FROM_DATABASE=Leutron Vision PicPort -+ ID_MODEL_FROM_DATABASE=SAA7146 (Leutron Vision PicPort) - - pci:v00001131d00007146sv00001131sd00004F56* -- ID_MODEL_FROM_DATABASE=KNC1 DVB-S Budget -+ ID_MODEL_FROM_DATABASE=SAA7146 (KNC1 DVB-S Budget) - - pci:v00001131d00007146sv00001131sd00004F60* -- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Activy DVB-S Budget Rev AL -+ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu-Siemens Activy DVB-S Budget Rev AL) - - pci:v00001131d00007146sv00001131sd00004F61* -- ID_MODEL_FROM_DATABASE=Activy DVB-S Budget Rev GR -+ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-S Budget Rev GR) - - pci:v00001131d00007146sv00001131sd00005F61* -- ID_MODEL_FROM_DATABASE=Activy DVB-T Budget -+ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-T Budget) - - pci:v00001131d00007146sv0000114Bsd00002003* -- ID_MODEL_FROM_DATABASE=DVRaptor Video Edit/Capture Card -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVRaptor Video Edit/Capture Card) - - pci:v00001131d00007146sv000011BDsd00000006* -- ID_MODEL_FROM_DATABASE=DV500 Overlay -+ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) - - pci:v00001131d00007146sv000011BDsd0000000A* -- ID_MODEL_FROM_DATABASE=DV500 Overlay -+ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) - - pci:v00001131d00007146sv000011BDsd0000000F* -- ID_MODEL_FROM_DATABASE=DV500 Overlay -+ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) - - pci:v00001131d00007146sv000013C2sd00000000* -- ID_MODEL_FROM_DATABASE=Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5) - - pci:v00001131d00007146sv000013C2sd00000001* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) - - pci:v00001131d00007146sv000013C2sd00000002* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv000013C2sd00000003* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv000013C2sd00000004* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv000013C2sd00000006* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) - - pci:v00001131d00007146sv000013C2sd00000008* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB-T -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB-T) - - pci:v00001131d00007146sv000013C2sd0000000A* -- ID_MODEL_FROM_DATABASE=Octal/Technotrend DVB-C for iTV -+ ID_MODEL_FROM_DATABASE=SAA7146 (Octal/Technotrend DVB-C for iTV) - - pci:v00001131d00007146sv000013C2sd0000000E* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.3) - - pci:v00001131d00007146sv000013C2sd00001003* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card) - - pci:v00001131d00007146sv000013C2sd00001004* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card) - - pci:v00001131d00007146sv000013C2sd00001005* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) - - pci:v00001131d00007146sv000013C2sd0000100C* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) - - pci:v00001131d00007146sv000013C2sd0000100F* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) - - pci:v00001131d00007146sv000013C2sd00001010* -- ID_MODEL_FROM_DATABASE=DVB C-1500 -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVB C-1500) - - pci:v00001131d00007146sv000013C2sd00001011* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) - - pci:v00001131d00007146sv000013C2sd00001012* -- ID_MODEL_FROM_DATABASE=DVB T-1500 -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVB T-1500) - - pci:v00001131d00007146sv000013C2sd00001013* -- ID_MODEL_FROM_DATABASE=SATELCO Multimedia DVB -+ ID_MODEL_FROM_DATABASE=SAA7146 (SATELCO Multimedia DVB) - - pci:v00001131d00007146sv000013C2sd00001016* -- ID_MODEL_FROM_DATABASE=WinTV-NOVA-SE DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (WinTV-NOVA-SE DVB card) - - pci:v00001131d00007146sv000013C2sd00001018* -- ID_MODEL_FROM_DATABASE=DVB S-1401 -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVB S-1401) - - pci:v00001131d00007146sv000013C2sd00001019* -- ID_MODEL_FROM_DATABASE=S2-3200 -+ ID_MODEL_FROM_DATABASE=SAA7146 (S2-3200) - - pci:v00001131d00007146sv000013C2sd00001102* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv0000153Bsd00001155* -- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-S -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) - - pci:v00001131d00007146sv0000153Bsd00001156* -- ID_MODEL_FROM_DATABASE=Terratec Cynergy 1200C -+ ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) - - pci:v00001131d00007146sv0000153Bsd00001157* -- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-T -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) - - pci:v00001131d00007146sv00001894sd00000020* -- ID_MODEL_FROM_DATABASE=KNC One DVB-C V1.0 -+ ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) - - pci:v00001131d00007146sv00001894sd00000023* -- ID_MODEL_FROM_DATABASE=TVStation DVB-C plus -+ ID_MODEL_FROM_DATABASE=SAA7146 (TVStation DVB-C plus) - - pci:v00001131d00007160* - ID_MODEL_FROM_DATABASE=SAA7160 - - pci:v00001131d00007160sv00001458sd00009009* -- ID_MODEL_FROM_DATABASE=E8000 DVB-T/Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) - - pci:v00001131d00007162* - ID_MODEL_FROM_DATABASE=SAA7162 - - pci:v00001131d00007162sv000011BDsd00000101* -- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 7010iX TV Card -+ ID_MODEL_FROM_DATABASE=SAA7162 (Pinnacle PCTV 7010iX TV Card) - - pci:v00001131d00007164* - ID_MODEL_FROM_DATABASE=SAA7164 - - pci:v00001131d00007164sv00000070sd00008800* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008810* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008851* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008853* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008880* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008891* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd000088A0* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd000088A1* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008900* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008901* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008940* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 (submodel 89619) -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200 (submodel 89619)) - - pci:v00001131d00007164sv00000070sd00008951* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008953* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008980* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008991* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008993* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd000089A0* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd000089A1* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007231* - ID_MODEL_FROM_DATABASE=SAA7231 - - pci:v00001131d00007231sv00005ACEsd00008000* -- ID_MODEL_FROM_DATABASE=Behold TV H8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) - - pci:v00001131d00007231sv00005ACEsd00008001* -- ID_MODEL_FROM_DATABASE=Behold TV H8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) - - pci:v00001131d00007231sv00005ACEsd00008050* -- ID_MODEL_FROM_DATABASE=Behold TV H85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) - - pci:v00001131d00007231sv00005ACEsd00008051* -- ID_MODEL_FROM_DATABASE=Behold TV H85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) - - pci:v00001131d00007231sv00005ACEsd00008100* -- ID_MODEL_FROM_DATABASE=Behold TV A8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) - - pci:v00001131d00007231sv00005ACEsd00008101* -- ID_MODEL_FROM_DATABASE=Behold TV A8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) - - pci:v00001131d00007231sv00005ACEsd00008150* -- ID_MODEL_FROM_DATABASE=Behold TV A85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) - - pci:v00001131d00007231sv00005ACEsd00008151* -- ID_MODEL_FROM_DATABASE=Behold TV A85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) - - pci:v00001131d00007231sv00005ACEsd00008201* -- ID_MODEL_FROM_DATABASE=Behold TV T8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV T8) - - pci:v00001131d00009730* - ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller - - pci:v00001131d00009730sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=Integrated Multimedia and Peripheral Controller -+ ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller (Integrated Multimedia and Peripheral Controller) - - pci:v00001132* - ID_VENDOR_FROM_DATABASE=Mitel Corp. -@@ -32364,7 +32364,7 @@ pci:v00001133d0000E010* - ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI - - pci:v00001133d0000E010sv0000110Asd00000021* -- ID_MODEL_FROM_DATABASE=Fujitsu Siemens ISDN S0 -+ ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI (Fujitsu Siemens ISDN S0) - - pci:v00001133d0000E011* - ID_MODEL_FROM_DATABASE=Diva Server BRI S/T Rev 2 -@@ -32376,10 +32376,10 @@ pci:v00001133d0000E013* - ID_MODEL_FROM_DATABASE=4BRI - - pci:v00001133d0000E013sv00001133sd00001300* -- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCI v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCI v2) - - pci:v00001133d0000E013sv00001133sd0000E013* -- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCI v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCI v2) - - pci:v00001133d0000E014* - ID_MODEL_FROM_DATABASE=Diva Server PRI-30M PCI -@@ -32394,22 +32394,22 @@ pci:v00001133d0000E017* - ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 - - pci:v00001133d0000E017sv00001133sd0000E017* -- ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI-8M 2.0 PCI -+ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 (Diva Server Voice 4BRI-8M 2.0 PCI) - - pci:v00001133d0000E018* - ID_MODEL_FROM_DATABASE=BRI - - pci:v00001133d0000E018sv00001133sd00001800* -- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCI v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCI v2) - - pci:v00001133d0000E018sv00001133sd0000E018* -- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCI v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCI v2) - - pci:v00001133d0000E019* - ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 - - pci:v00001133d0000E019sv00001133sd0000E019* -- ID_MODEL_FROM_DATABASE=Diva Server Voice PRI 2.0 PCI -+ ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 (Diva Server Voice PRI 2.0 PCI) - - pci:v00001133d0000E01A* - ID_MODEL_FROM_DATABASE=Diva BRI-2FX PCI v2 -@@ -32424,85 +32424,85 @@ pci:v00001133d0000E01C* - ID_MODEL_FROM_DATABASE=PRI - - pci:v00001133d0000E01Csv00001133sd00001C01* -- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-8 PCI v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-8 PCI v3) - - pci:v00001133d0000E01Csv00001133sd00001C02* -- ID_MODEL_FROM_DATABASE=Diva PRI/T1-24 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/T1-24 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C03* -- ID_MODEL_FROM_DATABASE=Diva PRI/E1-30 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1-30 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C04* -- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-CTI PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-CTI PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C05* -- ID_MODEL_FROM_DATABASE=Diva V-PRI/T1-24 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/T1-24 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C06* -- ID_MODEL_FROM_DATABASE=Diva V-PRI/E1-30 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/E1-30 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C07* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1-8 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1-8 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C08* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/T1-24 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/T1-24 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C09* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1-30 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1-30 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C0A* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C0B* -- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/T1-24 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/T1-24 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C0C* -- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/E1-30 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/E1-30 Cornet NQ) - - pci:v00001133d0000E01E* - ID_MODEL_FROM_DATABASE=2PRI - - pci:v00001133d0000E01Esv00001133sd00001E01* -- ID_MODEL_FROM_DATABASE=Diva 2PRI/E1/T1-60 PCI v1 -+ ID_MODEL_FROM_DATABASE=2PRI (Diva 2PRI/E1/T1-60 PCI v1) - - pci:v00001133d0000E01Esv00001133sd0000E01E* -- ID_MODEL_FROM_DATABASE=Diva V-2PRI/E1/T1-60 PCI v1 -+ ID_MODEL_FROM_DATABASE=2PRI (Diva V-2PRI/E1/T1-60 PCI v1) - - pci:v00001133d0000E020* - ID_MODEL_FROM_DATABASE=4PRI - - pci:v00001133d0000E020sv00001133sd00002001* -- ID_MODEL_FROM_DATABASE=Diva 4PRI/E1/T1-120 PCI v1 -+ ID_MODEL_FROM_DATABASE=4PRI (Diva 4PRI/E1/T1-120 PCI v1) - - pci:v00001133d0000E020sv00001133sd0000E020* -- ID_MODEL_FROM_DATABASE=Diva V-4PRI/E1/T1-120 PCI v1 -+ ID_MODEL_FROM_DATABASE=4PRI (Diva V-4PRI/E1/T1-120 PCI v1) - - pci:v00001133d0000E022* - ID_MODEL_FROM_DATABASE=Analog-2 - - pci:v00001133d0000E022sv00001133sd00002200* -- ID_MODEL_FROM_DATABASE=Diva V-Analog-2 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-2 (Diva V-Analog-2 PCI v1) - - pci:v00001133d0000E022sv00001133sd0000E022* -- ID_MODEL_FROM_DATABASE=Diva Analog-2 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-2 (Diva Analog-2 PCI v1) - - pci:v00001133d0000E024* - ID_MODEL_FROM_DATABASE=Analog-4 - - pci:v00001133d0000E024sv00001133sd00002400* -- ID_MODEL_FROM_DATABASE=Diva V-Analog-4 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-4 (Diva V-Analog-4 PCI v1) - - pci:v00001133d0000E024sv00001133sd0000E024* -- ID_MODEL_FROM_DATABASE=Diva Analog-4 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-4 (Diva Analog-4 PCI v1) - - pci:v00001133d0000E028* - ID_MODEL_FROM_DATABASE=Analog-8 - - pci:v00001133d0000E028sv00001133sd00002800* -- ID_MODEL_FROM_DATABASE=Diva V-Analog-8 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-8 (Diva V-Analog-8 PCI v1) - - pci:v00001133d0000E028sv00001133sd0000E028* -- ID_MODEL_FROM_DATABASE=Diva Analog-8 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-8 (Diva Analog-8 PCI v1) - - pci:v00001133d0000E02A* - ID_MODEL_FROM_DATABASE=Diva IPM-300 PCI v1 -@@ -32514,19 +32514,19 @@ pci:v00001133d0000E02E* - ID_MODEL_FROM_DATABASE=4BRI - - pci:v00001133d0000E02Esv00001133sd00002E01* -- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCIe v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCIe v2) - - pci:v00001133d0000E02Esv00001133sd0000E02E* -- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCIe v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCIe v2) - - pci:v00001133d0000E032* - ID_MODEL_FROM_DATABASE=BRI - - pci:v00001133d0000E032sv00001133sd00003201* -- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCIe v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCIe v2) - - pci:v00001133d0000E032sv00001133sd0000E032* -- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCIe v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCIe v2) - - pci:v00001133d0000E034* - ID_MODEL_FROM_DATABASE=Diva BRI-CTI PCI v2 -@@ -32574,88 +32574,88 @@ pci:v00001137d00000042* - ID_MODEL_FROM_DATABASE=VIC Management Controller - - pci:v00001137d00000042sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC P81E PCIe Management Controller) - - pci:v00001137d00000042sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225 PCIe Management Controller) - - pci:v00001137d00000042sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1285 PCIe Management Controller) - - pci:v00001137d00000042sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225T PCIe Management Controller) - - pci:v00001137d00000043* - ID_MODEL_FROM_DATABASE=VIC Ethernet NIC - - pci:v00001137d00000043sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC P81E PCIe Ethernet NIC) - - pci:v00001137d00000043sv00001137sd00000048* -- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC M81KR Mezzanine Ethernet NIC) - - pci:v00001137d00000043sv00001137sd0000004F* -- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1280 Mezzanine Ethernet NIC) - - pci:v00001137d00000043sv00001137sd00000084* -- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1240 MLOM Ethernet NIC) - - pci:v00001137d00000043sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225 PCIe Ethernet NIC) - - pci:v00001137d00000043sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1285 PCIe Ethernet NIC) - - pci:v00001137d00000043sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225T PCIe Ethernet NIC) - - pci:v00001137d00000044* - ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic - - pci:v00001137d00000044sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC P81E PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd00000048* -- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC M81KR Mezzanine Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd0000004F* -- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1280 Mezzanine Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd00000084* -- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1240 MLOM Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225 PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1285 PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225T PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000045* - ID_MODEL_FROM_DATABASE=VIC FCoE HBA - - pci:v00001137d00000045sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC P81E PCIe FCoE HBA) - - pci:v00001137d00000045sv00001137sd00000048* -- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC M81KR Mezzanine FCoE HBA) - - pci:v00001137d00000045sv00001137sd0000004F* -- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1280 Mezzanine FCoE HBA) - - pci:v00001137d00000045sv00001137sd00000084* -- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1240 MLOM FCoE HBA) - - pci:v00001137d00000045sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225 PCIe FCoE HBA) - - pci:v00001137d00000045sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1285 PCIe FCoE HBA) - - pci:v00001137d00000045sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225T PCIe FCoE HBA) - - pci:v00001137d0000004E* - ID_MODEL_FROM_DATABASE=VIC 82 PCIe Upstream Port -@@ -32814,49 +32814,49 @@ pci:v00001148d00004000* - ID_MODEL_FROM_DATABASE=FDDI Adapter - - pci:v00001148d00004000sv00000E11sd0000B03B* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS Fibre SC -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS Fibre SC) - - pci:v00001148d00004000sv00000E11sd0000B03C* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre SC -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre SC) - - pci:v00001148d00004000sv00000E11sd0000B03D* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS UTP -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS UTP) - - pci:v00001148d00004000sv00000E11sd0000B03E* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS UTP -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS UTP) - - pci:v00001148d00004000sv00000E11sd0000B03F* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre MIC -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre MIC) - - pci:v00001148d00004000sv00001148sd00005521* -- ID_MODEL_FROM_DATABASE=FDDI SK-5521 (SK-NET FDDI-UP) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5521 (SK-NET FDDI-UP)) - - pci:v00001148d00004000sv00001148sd00005522* -- ID_MODEL_FROM_DATABASE=FDDI SK-5522 (SK-NET FDDI-UP DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5522 (SK-NET FDDI-UP DAS)) - - pci:v00001148d00004000sv00001148sd00005541* -- ID_MODEL_FROM_DATABASE=FDDI SK-5541 (SK-NET FDDI-FP) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5541 (SK-NET FDDI-FP)) - - pci:v00001148d00004000sv00001148sd00005543* -- ID_MODEL_FROM_DATABASE=FDDI SK-5543 (SK-NET FDDI-LP) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5543 (SK-NET FDDI-LP)) - - pci:v00001148d00004000sv00001148sd00005544* -- ID_MODEL_FROM_DATABASE=FDDI SK-5544 (SK-NET FDDI-LP DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5544 (SK-NET FDDI-LP DAS)) - - pci:v00001148d00004000sv00001148sd00005821* -- ID_MODEL_FROM_DATABASE=FDDI SK-5821 (SK-NET FDDI-UP64) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5821 (SK-NET FDDI-UP64)) - - pci:v00001148d00004000sv00001148sd00005822* -- ID_MODEL_FROM_DATABASE=FDDI SK-5822 (SK-NET FDDI-UP64 DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5822 (SK-NET FDDI-UP64 DAS)) - - pci:v00001148d00004000sv00001148sd00005841* -- ID_MODEL_FROM_DATABASE=FDDI SK-5841 (SK-NET FDDI-FP64) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5841 (SK-NET FDDI-FP64)) - - pci:v00001148d00004000sv00001148sd00005843* -- ID_MODEL_FROM_DATABASE=FDDI SK-5843 (SK-NET FDDI-LP64) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5843 (SK-NET FDDI-LP64)) - - pci:v00001148d00004000sv00001148sd00005844* -- ID_MODEL_FROM_DATABASE=FDDI SK-5844 (SK-NET FDDI-LP64 DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5844 (SK-NET FDDI-LP64 DAS)) - - pci:v00001148d00004200* - ID_MODEL_FROM_DATABASE=Token Ring adapter -@@ -32865,115 +32865,115 @@ pci:v00001148d00004300* - ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) - - pci:v00001148d00004300sv00001148sd00009821* -- ID_MODEL_FROM_DATABASE=SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)) - - pci:v00001148d00004300sv00001148sd00009822* -- ID_MODEL_FROM_DATABASE=SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)) - - pci:v00001148d00004300sv00001148sd00009841* -- ID_MODEL_FROM_DATABASE=SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)) - - pci:v00001148d00004300sv00001148sd00009842* -- ID_MODEL_FROM_DATABASE=SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)) - - pci:v00001148d00004300sv00001148sd00009843* -- ID_MODEL_FROM_DATABASE=SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)) - - pci:v00001148d00004300sv00001148sd00009844* -- ID_MODEL_FROM_DATABASE=SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)) - - pci:v00001148d00004300sv00001148sd00009861* -- ID_MODEL_FROM_DATABASE=SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)) - - pci:v00001148d00004300sv00001148sd00009862* -- ID_MODEL_FROM_DATABASE=SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)) - - pci:v00001148d00004300sv00001148sd00009871* -- ID_MODEL_FROM_DATABASE=SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)) - - pci:v00001148d00004300sv00001148sd00009872* - ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) - - pci:v00001148d00004300sv00001259sd00002970* -- ID_MODEL_FROM_DATABASE=AT-2970SX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002971* -- ID_MODEL_FROM_DATABASE=AT-2970LX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002972* -- ID_MODEL_FROM_DATABASE=AT-2970TX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002973* -- ID_MODEL_FROM_DATABASE=AT-2971SX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971SX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002974* -- ID_MODEL_FROM_DATABASE=AT-2971T Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971T Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002975* -- ID_MODEL_FROM_DATABASE=AT-2970SX/2SC Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX/2SC Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002976* -- ID_MODEL_FROM_DATABASE=AT-2970LX/2SC Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX/2SC Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002977* -- ID_MODEL_FROM_DATABASE=AT-2970TX/2TX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX/2TX Gigabit Ethernet Adapter) - - pci:v00001148d00004320* - ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC - - pci:v00001148d00004320sv00001148sd00000121* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8001 Adapter) - - pci:v00001148d00004320sv00001148sd00000221* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8002 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8002 Adapter) - - pci:v00001148d00004320sv00001148sd00000321* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8003 Adapter) - - pci:v00001148d00004320sv00001148sd00000421* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8004 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8004 Adapter) - - pci:v00001148d00004320sv00001148sd00000621* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8006 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8006 Adapter) - - pci:v00001148d00004320sv00001148sd00000721* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8007 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8007 Adapter) - - pci:v00001148d00004320sv00001148sd00000821* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8008 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8008 Adapter) - - pci:v00001148d00004320sv00001148sd00000921* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8009 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8009 Adapter) - - pci:v00001148d00004320sv00001148sd00001121* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8011 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8011 Adapter) - - pci:v00001148d00004320sv00001148sd00001221* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8012 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8012 Adapter) - - pci:v00001148d00004320sv00001148sd00003221* -- ID_MODEL_FROM_DATABASE=SK-9521 V2.0 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 V2.0 10/100/1000Base-T Adapter) - - pci:v00001148d00004320sv00001148sd00005021* -- ID_MODEL_FROM_DATABASE=SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter) - - pci:v00001148d00004320sv00001148sd00005041* -- ID_MODEL_FROM_DATABASE=SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter) - - pci:v00001148d00004320sv00001148sd00005043* -- ID_MODEL_FROM_DATABASE=SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter) - - pci:v00001148d00004320sv00001148sd00005051* -- ID_MODEL_FROM_DATABASE=SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter) - - pci:v00001148d00004320sv00001148sd00005061* -- ID_MODEL_FROM_DATABASE=SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter) - - pci:v00001148d00004320sv00001148sd00005071* -- ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter) - - pci:v00001148d00004320sv00001148sd00009521* -- ID_MODEL_FROM_DATABASE=SK-9521 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 10/100/1000Base-T Adapter) - - pci:v00001148d00004400* - ID_MODEL_FROM_DATABASE=SK-9Dxx Gigabit Ethernet Adapter -@@ -32991,25 +32991,25 @@ pci:v00001148d00009E00* - ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 - - pci:v00001148d00009E00sv00001148sd00002100* -- ID_MODEL_FROM_DATABASE=SK-9E21 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21 Server Adapter) - - pci:v00001148d00009E00sv00001148sd000021D0* -- ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21D 10/100/1000Base-T Adapter) - - pci:v00001148d00009E00sv00001148sd00002200* -- ID_MODEL_FROM_DATABASE=SK-9E22 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E22 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00008100* -- ID_MODEL_FROM_DATABASE=SK-9E81 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E81 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00008200* -- ID_MODEL_FROM_DATABASE=SK-9E82 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E82 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00009100* -- ID_MODEL_FROM_DATABASE=SK-9E91 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E91 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00009200* -- ID_MODEL_FROM_DATABASE=SK-9E92 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E92 Server Adapter) - - pci:v00001148d00009E01* - ID_MODEL_FROM_DATABASE=SK-9E21M 10/100/1000Base-T Adapter -@@ -33111,16 +33111,16 @@ pci:v0000114Fd0000001D* - ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI - - pci:v0000114Fd0000001Dsv0000114Fsd00000050* -- ID_MODEL_FROM_DATABASE=DataFire RAS E1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS E1 Adapter) - - pci:v0000114Fd0000001Dsv0000114Fsd00000051* -- ID_MODEL_FROM_DATABASE=DataFire RAS Dual E1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual E1 Adapter) - - pci:v0000114Fd0000001Dsv0000114Fsd00000052* -- ID_MODEL_FROM_DATABASE=DataFire RAS T1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS T1 Adapter) - - pci:v0000114Fd0000001Dsv0000114Fsd00000053* -- ID_MODEL_FROM_DATABASE=DataFire RAS Dual T1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual T1 Adapter) - - pci:v0000114Fd00000023* - ID_MODEL_FROM_DATABASE=AccelePort RAS -@@ -33129,10 +33129,10 @@ pci:v0000114Fd00000024* - ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U - - pci:v0000114Fd00000024sv0000114Fsd00000030* -- ID_MODEL_FROM_DATABASE=DataFire RAS BRI U Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI U Adapter) - - pci:v0000114Fd00000024sv0000114Fsd00000031* -- ID_MODEL_FROM_DATABASE=DataFire RAS BRI S/T Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI S/T Adapter) - - pci:v0000114Fd00000026* - ID_MODEL_FROM_DATABASE=AccelePort 4r 920 -@@ -33156,19 +33156,19 @@ pci:v0000114Fd00000040* - ID_MODEL_FROM_DATABASE=AccelePort Xp - - pci:v0000114Fd00000040sv0000114Fsd00000042* -- ID_MODEL_FROM_DATABASE=AccelePort 2p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 2p PCI) - - pci:v0000114Fd00000040sv0000114Fsd00000043* -- ID_MODEL_FROM_DATABASE=AccelePort 4p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 4p PCI) - - pci:v0000114Fd00000040sv0000114Fsd00000044* -- ID_MODEL_FROM_DATABASE=AccelePort 8p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 8p PCI) - - pci:v0000114Fd00000040sv0000114Fsd00000045* -- ID_MODEL_FROM_DATABASE=AccelePort 16p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 16p PCI) - - pci:v0000114Fd00000040sv0000114Fsd0000004E* -- ID_MODEL_FROM_DATABASE=AccelePort 32p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 32p PCI) - - pci:v0000114Fd00000042* - ID_MODEL_FROM_DATABASE=AccelePort 2p -@@ -33300,22 +33300,22 @@ pci:v0000115Dd00000003* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000003sv00001014sd00000181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv00001014sd00001181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv00001014sd00008181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv00001014sd00009181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv0000115Dsd00000181* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000003sv0000115Dsd00000182* -- ID_MODEL_FROM_DATABASE=RealPort2 CardBus Ethernet 10/100 (R2BE-100) -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (RealPort2 CardBus Ethernet 10/100 (R2BE-100)) - - pci:v0000115Dd00000003sv0000115Dsd00001181* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33324,19 +33324,19 @@ pci:v0000115Dd00000003sv00001179sd00000181* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000003sv00008086sd00008181* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) - - pci:v0000115Dd00000003sv00008086sd00009181* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) - - pci:v0000115Dd00000005* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000005sv00001014sd00000182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000005sv00001014sd00001182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000005sv0000115Dsd00000182* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33348,10 +33348,10 @@ pci:v0000115Dd00000007* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000007sv00001014sd00000182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000007sv00001014sd00001182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000007sv0000115Dsd00000182* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33363,7 +33363,7 @@ pci:v0000115Dd0000000B* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd0000000Bsv00001014sd00000183* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd0000000Bsv0000115Dsd00000183* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33375,7 +33375,7 @@ pci:v0000115Dd0000000F* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd0000000Fsv00001014sd00000183* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd0000000Fsv0000115Dsd00000183* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33387,22 +33387,22 @@ pci:v0000115Dd00000101* - ID_MODEL_FROM_DATABASE=Cardbus 56k modem - - pci:v0000115Dd00000101sv0000115Dsd00001081* -- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus 56k modem (Cardbus 56k Modem) - - pci:v0000115Dd00000103* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem - - pci:v0000115Dd00000103sv00001014sd00009181* -- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus 56k Modem) - - pci:v0000115Dd00000103sv00001115sd00001181* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 100 + 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus Ethernet 100 + 56k Modem) - - pci:v0000115Dd00000103sv0000115Dsd00001181* -- ID_MODEL_FROM_DATABASE=CBEM56G-100 Ethernet + 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (CBEM56G-100 Ethernet + 56k Modem) - - pci:v0000115Dd00000103sv00008086sd00009181* -- ID_MODEL_FROM_DATABASE=PRO/100 LAN + Modem56 CardBus -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (PRO/100 LAN + Modem56 CardBus) - - pci:v0000115E* - ID_VENDOR_FROM_DATABASE=Peer Protocols Inc -@@ -33429,7 +33429,7 @@ pci:v00001163d00002000* - ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 - - pci:v00001163d00002000sv00001092sd00002000* -- ID_MODEL_FROM_DATABASE=Stealth II S220 -+ ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 (Stealth II S220) - - pci:v00001164* - ID_VENDOR_FROM_DATABASE=Advanced Peripherals Technologies -@@ -33510,7 +33510,7 @@ pci:v00001166d00000132* - ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge - - pci:v00001166d00000132sv00001166sd00000132* -- ID_MODEL_FROM_DATABASE=HT2000 PCI-Express bridge -+ ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge (HT2000 PCI-Express bridge) - - pci:v00001166d00000140* - ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge -@@ -33531,13 +33531,13 @@ pci:v00001166d00000201* - ID_MODEL_FROM_DATABASE=CSB5 South Bridge - - pci:v00001166d00000201sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=CSB5 South Bridge (CT8 mainboard) - - pci:v00001166d00000203* - ID_MODEL_FROM_DATABASE=CSB6 South Bridge - - pci:v00001166d00000203sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series -+ ID_MODEL_FROM_DATABASE=CSB6 South Bridge (PRIMERGY RX/TX series) - - pci:v00001166d00000205* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] Legacy South Bridge -@@ -33549,37 +33549,37 @@ pci:v00001166d00000212* - ID_MODEL_FROM_DATABASE=CSB5 IDE Controller - - pci:v00001166d00000212sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1750) - - pci:v00001166d00000212sv00001028sd0000810B* -- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 -+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1650/2550) - - pci:v00001166d00000212sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (CT8 mainboard) - - pci:v00001166d00000213* - ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller - - pci:v00001166d00000213sv00001028sd00004134* -- ID_MODEL_FROM_DATABASE=PowerEdge 600SC -+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PowerEdge 600SC) - - pci:v00001166d00000213sv00001028sd0000C134* -- ID_MODEL_FROM_DATABASE=Poweredge SC600 -+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (Poweredge SC600) - - pci:v00001166d00000213sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard IDE -+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PRIMERGY RX/TX series onboard IDE) - - pci:v00001166d00000214* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE - - pci:v00001166d00000214sv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 IDE -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE (PowerEdge 2970 HT1000 IDE) - - pci:v00001166d00000217* - ID_MODEL_FROM_DATABASE=CSB6 IDE Controller - - pci:v00001166d00000217sv00001028sd00004134* -- ID_MODEL_FROM_DATABASE=Poweredge SC600 -+ ID_MODEL_FROM_DATABASE=CSB6 IDE Controller (Poweredge SC600) - - pci:v00001166d0000021B* - ID_MODEL_FROM_DATABASE=HT1100 HD Audio -@@ -33588,22 +33588,22 @@ pci:v00001166d00000220* - ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller - - pci:v00001166d00000220sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller (CT8 mainboard) - - pci:v00001166d00000221* - ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller - - pci:v00001166d00000221sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard OHCI -+ ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller (PRIMERGY RX/TX series onboard OHCI) - - pci:v00001166d00000223* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB - - pci:v00001166d00000223sv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 USB Controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge 2970 HT1000 USB Controller) - - pci:v00001166d00000223sv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 USB Controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge T605 HT1000 USB Controller) - - pci:v00001166d00000225* - ID_MODEL_FROM_DATABASE=CSB5 LPC bridge -@@ -33612,22 +33612,22 @@ pci:v00001166d00000227* - ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge - - pci:v00001166d00000227sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series -+ ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge (PRIMERGY RX/TX series) - - pci:v00001166d00000230* - ID_MODEL_FROM_DATABASE=CSB5 LPC bridge - - pci:v00001166d00000230sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=CSB5 LPC bridge (CT8 mainboard) - - pci:v00001166d00000234* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC - - pci:v00001166d00000234sv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 LPC -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge 2970 HT1000 LPC) - - pci:v00001166d00000234sv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 LPC -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge T605 HT1000 LPC) - - pci:v00001166d00000235* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] XIOAPIC0-2 -@@ -33648,13 +33648,13 @@ pci:v00001166d0000024A* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) - - pci:v00001166d0000024Asv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) (PowerEdge T605 onboard SATA Controller) - - pci:v00001166d0000024B* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) - - pci:v00001166d0000024Bsv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 SATA controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) (PowerEdge 2970 HT1000 SATA controller) - - pci:v00001166d00000406* - ID_MODEL_FROM_DATABASE=HT1100 PCI-X Bridge -@@ -33666,7 +33666,7 @@ pci:v00001166d0000040A* - ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge - - pci:v00001166d0000040Asv00001028sd00000223* -- ID_MODEL_FROM_DATABASE=PowerEdge R905 HT1100 ISA-LPC Bridge -+ ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge (PowerEdge R905 HT1100 ISA-LPC Bridge) - - pci:v00001166d00000410* - ID_MODEL_FROM_DATABASE=HT1100 SATA Controller (Native SATA Mode) -@@ -33783,7 +33783,7 @@ pci:v00001179d00000601* - ID_MODEL_FROM_DATABASE=CPU to PCI bridge - - pci:v00001179d00000601sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite Pro -+ ID_MODEL_FROM_DATABASE=CPU to PCI bridge (Satellite Pro) - - pci:v00001179d00000602* - ID_MODEL_FROM_DATABASE=PCI to ISA bridge -@@ -33798,13 +33798,13 @@ pci:v00001179d0000060A* - ID_MODEL_FROM_DATABASE=ToPIC95 - - pci:v00001179d0000060Asv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite Pro -+ ID_MODEL_FROM_DATABASE=ToPIC95 (Satellite Pro) - - pci:v00001179d0000060F* - ID_MODEL_FROM_DATABASE=ToPIC97 - - pci:v00001179d0000060Fsv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite 4010 -+ ID_MODEL_FROM_DATABASE=ToPIC97 (Satellite 4010) - - pci:v00001179d00000617* - ID_MODEL_FROM_DATABASE=ToPIC100 PCI to Cardbus Bridge with ZV Support -@@ -33846,16 +33846,16 @@ pci:v0000117Cd00000030* - ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter - - pci:v0000117Cd00000030sv0000117Csd00008013* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL4D -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4D) - - pci:v0000117Cd00000030sv0000117Csd00008014* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL4S -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4S) - - pci:v0000117Cd00000030sv0000117Csd00008027* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D) - - pci:v0000117Cd00000030sv0000117Csd0000802F* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D Low Profile -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D Low Profile) - - pci:v0000117Cd00000033* - ID_MODEL_FROM_DATABASE=SAS Adapter -@@ -33882,67 +33882,67 @@ pci:v00001180d00000475* - ID_MODEL_FROM_DATABASE=RL5c475 - - pci:v00001180d00000475sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 CardBus bridge -+ ID_MODEL_FROM_DATABASE=RL5c475 (vpr Matrix 170B4 CardBus bridge) - - pci:v00001180d00000476* - ID_MODEL_FROM_DATABASE=RL5c476 II - - pci:v00001180d00000476sv00001014sd00000185* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad A/T/X Series) - - pci:v00001180d00000476sv00001014sd0000056C* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad Z60t) - - pci:v00001180d00000476sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Latitude X300 laptop) - - pci:v00001180d00000476sv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Inspiron 6000 laptop) - - pci:v00001180d00000476sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6710b) - - pci:v00001180d00000476sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6910p) - - pci:v00001180d00000476sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (A6J-Q008) - - pci:v00001180d00000476sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=RL5c476 II (V6800V) - - pci:v00001180d00000476sv00001043sd00001987* -- ID_MODEL_FROM_DATABASE=Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines ) -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )) - - pci:v00001180d00000476sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Vaio PCG-FX403) - - pci:v00001180d00000476sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00001180d00000476sv0000104Dsd0000814E* -- ID_MODEL_FROM_DATABASE=VAIO GRZ390Z -+ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO GRZ390Z) - - pci:v00001180d00000476sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Panasonic CF-Y5 laptop) - - pci:v00001180d00000476sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (X10 Laptop) - - pci:v00001180d00000476sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=RL5c476 II (P30/P35 notebook) - - pci:v00001180d00000476sv000014EFsd00000220* -- ID_MODEL_FROM_DATABASE=PCD-RP-220S -+ ID_MODEL_FROM_DATABASE=RL5c476 II (PCD-RP-220S) - - pci:v00001180d00000476sv000017AAsd0000201C* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad X60/X60s) - - pci:v00001180d00000476sv000017AAsd000020C4* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad T61) - - pci:v00001180d00000476sv000017AAsd000020C6* -- ID_MODEL_FROM_DATABASE=ThinkPad R61 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad R61) - - pci:v00001180d00000477* - ID_MODEL_FROM_DATABASE=RL5c477 -@@ -33951,7 +33951,7 @@ pci:v00001180d00000478* - ID_MODEL_FROM_DATABASE=RL5c478 - - pci:v00001180d00000478sv00001014sd00000184* -- ID_MODEL_FROM_DATABASE=ThinkPad A30p -+ ID_MODEL_FROM_DATABASE=RL5c478 (ThinkPad A30p) - - pci:v00001180d00000511* - ID_MODEL_FROM_DATABASE=R5C511 -@@ -33960,43 +33960,43 @@ pci:v00001180d00000522* - ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller - - pci:v00001180d00000522sv00001014sd000001CF* -- ID_MODEL_FROM_DATABASE=ThinkPad A30p -+ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (ThinkPad A30p) - - pci:v00001180d00000522sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (V6800V) - - pci:v00001180d00000551* - ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller - - pci:v00001180d00000551sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller (vpr Matrix 170B4) - - pci:v00001180d00000552* - ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller - - pci:v00001180d00000552sv00001014sd00000511* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad A/T/X Series) - - pci:v00001180d00000552sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Latitude X300 laptop) - - pci:v00001180d00000552sv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Inspiron 6000 laptop) - - pci:v00001180d00000552sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (A6J-Q008) - - pci:v00001180d00000552sv00001043sd00001757* -- ID_MODEL_FROM_DATABASE=M2400N laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (M2400N laptop) - - pci:v00001180d00000552sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (X10 Laptop) - - pci:v00001180d00000552sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (P30/P35 notebook) - - pci:v00001180d00000552sv000017AAsd0000201E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad X60/X60s) - - pci:v00001180d00000554* - ID_MODEL_FROM_DATABASE=R5C554 -@@ -34011,37 +34011,37 @@ pci:v00001180d00000592* - ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter - - pci:v00001180d00000592sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Aspire 5920G) - - pci:v00001180d00000592sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (XPS M1210) - - pci:v00001180d00000592sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Inspiron 1420) - - pci:v00001180d00000592sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V3242AU) - - pci:v00001180d00000592sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V6133CL) - - pci:v00001180d00000592sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv6700) - - pci:v00001180d00000592sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv9668eg Laptop) - - pci:v00001180d00000592sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (A6J-Q008) - - pci:v00001180d00000592sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (V6800V) - - pci:v00001180d00000592sv0000144Dsd0000C018* -- ID_MODEL_FROM_DATABASE=X20 IV -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (X20 IV) - - pci:v00001180d00000592sv000017AAsd000020CA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (ThinkPad T61) - - pci:v00001180d00000811* - ID_MODEL_FROM_DATABASE=R5C811 -@@ -34050,94 +34050,94 @@ pci:v00001180d00000822* - ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter - - pci:v00001180d00000822sv00001014sd00000556* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s / Z60t -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60s / Z60t) - - pci:v00001180d00000822sv00001014sd00000598* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60m -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad Z60m) - - pci:v00001180d00000822sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Aspire 5920G) - - pci:v00001180d00000822sv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 6000 laptop) - - pci:v00001180d00000822sv00001028sd000001A2* -- ID_MODEL_FROM_DATABASE=Inspiron 9200 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 9200) - - pci:v00001180d00000822sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (XPS M1210) - - pci:v00001180d00000822sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 1420) - - pci:v00001180d00000822sv0000103Csd000003B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V3242AU) - - pci:v00001180d00000822sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V6133CL) - - pci:v00001180d00000822sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Compaq 6910p) - - pci:v00001180d00000822sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv6700) - - pci:v00001180d00000822sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv9668eg Laptop) - - pci:v00001180d00000822sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (A6J-Q008) - - pci:v00001180d00000822sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=ASUS V6800V -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ASUS V6800V) - - pci:v00001180d00000822sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Panasonic CF-Y5 laptop) - - pci:v00001180d00000822sv0000144Dsd0000C018* -- ID_MODEL_FROM_DATABASE=X20 IV -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (X20 IV) - - pci:v00001180d00000822sv000017AAsd0000201D* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60/X60s) - - pci:v00001180d00000822sv000017AAsd000020C7* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad T61) - - pci:v00001180d00000822sv000017AAsd000020C8* -- ID_MODEL_FROM_DATABASE=ThinkPad W500 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad W500) - - pci:v00001180d00000832* - ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller - - pci:v00001180d00000832sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Aspire 5920G) - - pci:v00001180d00000832sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (XPS M1210) - - pci:v00001180d00000832sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Inspiron 1420) - - pci:v00001180d00000832sv00001028sd0000024D* -- ID_MODEL_FROM_DATABASE=Latitude E4300 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Latitude E4300) - - pci:v00001180d00000832sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V3242AU) - - pci:v00001180d00000832sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V6133CL) - - pci:v00001180d00000832sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Compaq 6910p) - - pci:v00001180d00000832sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv6700) - - pci:v00001180d00000832sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv9668eg Laptop) - - pci:v00001180d00000832sv000017AAsd000020C7* -- ID_MODEL_FROM_DATABASE=ThinkPad R61 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (ThinkPad R61) - - pci:v00001180d00000841* - ID_MODEL_FROM_DATABASE=R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 -@@ -34146,58 +34146,58 @@ pci:v00001180d00000843* - ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller - - pci:v00001180d00000843sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Aspire 5920G) - - pci:v00001180d00000843sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (XPS M1210) - - pci:v00001180d00000843sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Inspiron 1420) - - pci:v00001180d00000843sv00001028sd000001F5* -- ID_MODEL_FROM_DATABASE=Dell Inspiron 1501 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Inspiron 1501) - - pci:v00001180d00000843sv00001028sd0000024F* -- ID_MODEL_FROM_DATABASE=Dell Latitude e6500 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Latitude e6500) - - pci:v00001180d00000843sv0000103Csd000003B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V3242AU) - - pci:v00001180d00000843sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V6133CL) - - pci:v00001180d00000843sv00001183sd00000843* -- ID_MODEL_FROM_DATABASE=Alienware Aurora m9700 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Alienware Aurora m9700) - - pci:v00001180d00000852* - ID_MODEL_FROM_DATABASE=xD-Picture Card Controller - - pci:v00001180d00000852sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Aspire 5920G) - - pci:v00001180d00000852sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Inspiron 1420) - - pci:v00001180d00000852sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V3242AU) - - pci:v00001180d00000852sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V6133CL) - - pci:v00001180d00000852sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv6700) - - pci:v00001180d00000852sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv9668eg Laptop) - - pci:v00001180d00000852sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (V6800V) - - pci:v00001180d00000852sv00001180sd00000852* -- ID_MODEL_FROM_DATABASE=Pavilion 2410us -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion 2410us) - - pci:v00001180d00000852sv00001324sd000010CF* -- ID_MODEL_FROM_DATABASE=P7120 -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (P7120) - - pci:v00001180d0000E230* - ID_MODEL_FROM_DATABASE=R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] -@@ -34206,19 +34206,19 @@ pci:v00001180d0000E476* - ID_MODEL_FROM_DATABASE=CardBus bridge - - pci:v00001180d0000E476sv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6410) - - pci:v00001180d0000E476sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6510) - - pci:v00001180d0000E822* - ID_MODEL_FROM_DATABASE=MMC/SD Host Controller - - pci:v00001180d0000E822sv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6410) - - pci:v00001180d0000E822sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6510) - - pci:v00001180d0000E823* - ID_MODEL_FROM_DATABASE=PCIe SDXC/MMC Host Controller -@@ -34227,10 +34227,10 @@ pci:v00001180d0000E832* - ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller - - pci:v00001180d0000E832sv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6410) - - pci:v00001180d0000E832sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6510) - - pci:v00001180d0000E852* - ID_MODEL_FROM_DATABASE=PCIe xD-Picture Card Controller -@@ -34254,10 +34254,10 @@ pci:v00001186d00001002* - ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet - - pci:v00001186d00001002sv00001186sd00001002* -- ID_MODEL_FROM_DATABASE=DFE-550TX/FX -+ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-550TX/FX) - - pci:v00001186d00001002sv00001186sd00001012* -- ID_MODEL_FROM_DATABASE=DFE-580TX -+ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-580TX) - - pci:v00001186d00001025* - ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G650 Adapter -@@ -34272,13 +34272,13 @@ pci:v00001186d00001300* - ID_MODEL_FROM_DATABASE=RTL8139 Ethernet - - pci:v00001186d00001300sv00001186sd00001300* -- ID_MODEL_FROM_DATABASE=DFE-538TX 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-538TX 10/100 Ethernet Adapter) - - pci:v00001186d00001300sv00001186sd00001301* -- ID_MODEL_FROM_DATABASE=DFE-530TX+ 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-530TX+ 10/100 Ethernet Adapter) - - pci:v00001186d00001300sv00001186sd00001303* -- ID_MODEL_FROM_DATABASE=DFE-528TX 10/100 Fast Ethernet PCI Adapter -+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-528TX 10/100 Fast Ethernet PCI Adapter) - - pci:v00001186d00001340* - ID_MODEL_FROM_DATABASE=DFE-690TXD CardBus PC Card -@@ -34296,10 +34296,10 @@ pci:v00001186d00003300* - ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] - - pci:v00001186d00003300sv00001186sd00003300* -- ID_MODEL_FROM_DATABASE=DWL-610 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-610 Wireless Cardbus Adapter) - - pci:v00001186d00003300sv00001186sd00003301* -- ID_MODEL_FROM_DATABASE=DWL-510 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-510 Wireless PCI Adapter) - - pci:v00001186d00003A10* - ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B) -@@ -34317,7 +34317,7 @@ pci:v00001186d00004300* - ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter - - pci:v00001186d00004300sv00001186sd00004B10* -- ID_MODEL_FROM_DATABASE=DGE-560T PCI Express (x1) Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter (DGE-560T PCI Express (x1) Gigabit Ethernet Adapter) - - pci:v00001186d00004302* - ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169] -@@ -34338,7 +34338,7 @@ pci:v00001186d00004C00* - ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter - - pci:v00001186d00004C00sv00001186sd00004C00* -- ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (DGE-530T Gigabit Ethernet Adapter) - - pci:v00001186d00008400* - ID_MODEL_FROM_DATABASE=D-Link DWL-650+ CardBus PC Card -@@ -34620,7 +34620,7 @@ pci:v000011ABd00001FA6* - ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter - - pci:v000011ABd00001FA6sv00001186sd00003B08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1) -+ ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1)) - - pci:v000011ABd00001FA7* - ID_MODEL_FROM_DATABASE=88W8310 and 88W8000G [Libertas] 802.11g client chipset -@@ -34629,13 +34629,13 @@ pci:v000011ABd00001FAA* - ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless - - pci:v000011ABd00001FAAsv00001385sd00004E00* -- ID_MODEL_FROM_DATABASE=WG511v2 54 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG511v2 54 Mbps Wireless PC Card) - - pci:v000011ABd00001FAAsv00001385sd00006B00* -- ID_MODEL_FROM_DATABASE=WG311v3 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG311v3 802.11g Wireless PCI Adapter) - - pci:v000011ABd00001FAAsv00001737sd00000040* -- ID_MODEL_FROM_DATABASE=WPC54G v5 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WPC54G v5 802.11g Wireless-G Notebook Adapter) - - pci:v000011ABd00002211* - ID_MODEL_FROM_DATABASE=88SB2211 PCI Express to PCI Bridge -@@ -34647,19 +34647,19 @@ pci:v000011ABd00002A02* - ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless - - pci:v000011ABd00002A02sv000007D1sd00003B02* -- ID_MODEL_FROM_DATABASE=DIR-615 rev. A1 Mini PCI Wireless Module -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (DIR-615 rev. A1 Mini PCI Wireless Module) - - pci:v000011ABd00002A02sv00001385sd00007C00* -- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless PC Card) - - pci:v000011ABd00002A02sv00001385sd00007C01* -- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter) - - pci:v000011ABd00002A02sv00001385sd00007E00* -- ID_MODEL_FROM_DATABASE=WN311T RangeMax Next 300 Mbps Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN311T RangeMax Next 300 Mbps Wireless PCI Adapter) - - pci:v000011ABd00002A02sv00001799sd0000801B* -- ID_MODEL_FROM_DATABASE=F5D8011 v2 802.11n N1 Wireless Notebook Card -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (F5D8011 v2 802.11n N1 Wireless Notebook Card) - - pci:v000011ABd00002A08* - ID_MODEL_FROM_DATABASE=88W8362e [TopDog] 802.11a/b/g/n Wireless -@@ -34701,58 +34701,58 @@ pci:v000011ABd00004320* - ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller - - pci:v000011ABd00004320sv00001019sd00000F38* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) - - pci:v000011ABd00004320sv00001019sd00008001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) - - pci:v000011ABd00004320sv00001043sd0000173C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004320sv00001043sd0000811A* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004320sv0000105Bsd00000C19* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Foxconn) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)) - - pci:v000011ABd00004320sv000010B8sd0000B452* -- ID_MODEL_FROM_DATABASE=EZ Card 1000 (SMC9452TXV.2) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (EZ Card 1000 (SMC9452TXV.2)) - - pci:v000011ABd00004320sv000011ABsd00000121* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8001) - - pci:v000011ABd00004320sv000011ABsd00000321* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8003) - - pci:v000011ABd00004320sv000011ABsd00001021* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8010 -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8010) - - pci:v000011ABd00004320sv000011ABsd00004320* -- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)) - - pci:v000011ABd00004320sv000011ABsd00005021* -- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)) - - pci:v000011ABd00004320sv000011ABsd00009521* -- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)) - - pci:v000011ABd00004320sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)) - - pci:v000011ABd00004320sv0000147Bsd00001406* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Abit) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Abit)) - - pci:v000011ABd00004320sv000015D4sd00000047* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Iwill) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Iwill)) - - pci:v000011ABd00004320sv00001695sd00009025* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Epox) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Epox)) - - pci:v000011ABd00004320sv000017F2sd00001C03* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Albatron) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Albatron)) - - pci:v000011ABd00004320sv0000270Fsd00002803* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Chaintech) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)) - - pci:v000011ABd00004340* - ID_MODEL_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller -@@ -34779,115 +34779,115 @@ pci:v000011ABd00004347* - ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller - - pci:v000011ABd00004347sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 PrAMC Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller (Telum ASLP10 PrAMC Gigabit Ethernet) - - pci:v000011ABd00004350* - ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004350sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (Toshiba) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (Toshiba)) - - pci:v000011ABd00004350sv000011ABsd00003521* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8035 -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell RDK-8035) - - pci:v000011ABd00004350sv00001854sd0000000D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000000E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000000F* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000011* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000012* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000016* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000017* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000018* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000019* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000001C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000001E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000020* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351* - ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004351sv0000107Bsd00004009* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Wistron) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Wistron)) - - pci:v000011ABd00004351sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Panasonic) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Panasonic)) - - pci:v000011ABd00004351sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Toshiba) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Toshiba)) - - pci:v000011ABd00004351sv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Compal) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Compal)) - - pci:v000011ABd00004351sv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Inventec) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Inventec)) - - pci:v000011ABd00004351sv000011ABsd00003621* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8036 -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell RDK-8036) - - pci:v000011ABd00004351sv000013D1sd0000AC12* -- ID_MODEL_FROM_DATABASE=Abocom EFE3K - 10/100 Ethernet Expresscard -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Abocom EFE3K - 10/100 Ethernet Expresscard) - - pci:v000011ABd00004351sv0000161Fsd0000203D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Arima) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Arima)) - - pci:v000011ABd00004351sv00001854sd0000000D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000000E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000000F* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000011* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000012* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000016* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000017* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000018* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000019* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000001C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000001E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000020* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004352* - ID_MODEL_FROM_DATABASE=88E8038 PCI-E Fast Ethernet Controller -@@ -34896,19 +34896,19 @@ pci:v000011ABd00004353* - ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004353sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller (VAIO VGN-NR120E) - - pci:v000011ABd00004354* - ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004354sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) - - pci:v000011ABd00004355* - ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller - - pci:v000011ABd00004355sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller (Satellite P305D-S8995E) - - pci:v000011ABd00004356* - ID_MODEL_FROM_DATABASE=88EC033 PCI-E Fast Ethernet Controller -@@ -34923,163 +34923,163 @@ pci:v000011ABd00004360* - ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller - - pci:v000011ABd00004360sv00001043sd00008134* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004360sv0000107Bsd00004009* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Wistron) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Wistron)) - - pci:v000011ABd00004360sv000011ABsd00005221* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8052 -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell RDK-8052) - - pci:v000011ABd00004360sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)) - - pci:v000011ABd00004360sv00001462sd0000052C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (MSI) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (MSI)) - - pci:v000011ABd00004360sv00001849sd00008052* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (ASRock) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (ASRock)) - - pci:v000011ABd00004360sv0000A0A0sd00000509* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Aopen) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Aopen)) - - pci:v000011ABd00004361* - ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller - - pci:v000011ABd00004361sv0000107Bsd00003015* -- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Gateway) -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Gateway)) - - pci:v000011ABd00004361sv000011ABsd00005021* -- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) - - pci:v000011ABd00004361sv00008086sd00003063* -- ID_MODEL_FROM_DATABASE=D925XCVLK mainboard -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (D925XCVLK mainboard) - - pci:v000011ABd00004361sv00008086sd00003439* -- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) - - pci:v000011ABd00004362* - ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller - - pci:v000011ABd00004362sv0000103Csd00002A0D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004362sv00001043sd00008142* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)) - - pci:v000011ABd00004362sv0000109Fsd00003197* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Trigem) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Trigem)) - - pci:v000011ABd00004362sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Panasonic) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)) - - pci:v000011ABd00004362sv000010FDsd0000A430* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (SOYO) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (SOYO)) - - pci:v000011ABd00004362sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Toshiba) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)) - - pci:v000011ABd00004362sv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) - - pci:v000011ABd00004362sv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Inventec) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Inventec)) - - pci:v000011ABd00004362sv000011ABsd00005321* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8053 -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell RDK-8053) - - pci:v000011ABd00004362sv00001297sd0000C240* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C241* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C242* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C243* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C244* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv000013D1sd0000AC11* -- ID_MODEL_FROM_DATABASE=EGE5K - Giga Ethernet Expresscard -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (EGE5K - Giga Ethernet Expresscard) - - pci:v000011ABd00004362sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)) - - pci:v000011ABd00004362sv00001462sd0000058C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (MSI) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (MSI)) - - pci:v000011ABd00004362sv000014C0sd00000012* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) - - pci:v000011ABd00004362sv00001558sd000004A0* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Clevo) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Clevo)) - - pci:v000011ABd00004362sv000015BDsd00001003* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (DFI) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (DFI)) - - pci:v000011ABd00004362sv0000161Fsd0000203C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) - - pci:v000011ABd00004362sv0000161Fsd0000203D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) - - pci:v000011ABd00004362sv00001695sd00009029* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Epox) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Epox)) - - pci:v000011ABd00004362sv000017F2sd00002C08* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Albatron) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Albatron)) - - pci:v000011ABd00004362sv000017FFsd00000585* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Quanta) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Quanta)) - - pci:v000011ABd00004362sv00001849sd00008053* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (ASRock) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (ASRock)) - - pci:v000011ABd00004362sv00001854sd0000000B* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000000C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000010* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000013* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000014* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000015* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001A* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001B* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001F* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000021* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000022* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv0000270Fsd00002801* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Chaintech) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)) - - pci:v000011ABd00004362sv0000A0A0sd00000506* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Aopen) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Aopen)) - - pci:v000011ABd00004363* - ID_MODEL_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller -@@ -35088,10 +35088,10 @@ pci:v000011ABd00004364* - ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller - - pci:v000011ABd00004364sv00001043sd000081F8* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (Motherboard) - - pci:v000011ABd00004364sv000011BAsd000000BA* -- ID_MODEL_FROM_DATABASE=8056 Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (8056 Gigabit Ethernet Controller) - - pci:v000011ABd00004365* - ID_MODEL_FROM_DATABASE=88E8070 based Ethernet Controller -@@ -35112,7 +35112,7 @@ pci:v000011ABd0000436A* - ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller - - pci:v000011ABd0000436Asv000011ABsd000000BA* -- ID_MODEL_FROM_DATABASE=Imac 8,1 Wired Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller (Imac 8,1 Wired Ethernet Adapter) - - pci:v000011ABd0000436B* - ID_MODEL_FROM_DATABASE=88E8071 PCI-E Gigabit Ethernet Controller -@@ -35178,7 +35178,7 @@ pci:v000011ABd00006101* - ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface - - pci:v000011ABd00006101sv00001043sd000082E0* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface (P5K PRO Motherboard) - - pci:v000011ABd00006111* - ID_MODEL_FROM_DATABASE=88SE6111 1-port PATA133(IDE) and 1-port SATA II Controllers -@@ -35217,7 +35217,7 @@ pci:v000011ABd00006480* - ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller - - pci:v000011ABd00006480sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K CompactPCI single board computer -+ ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller (C2K CompactPCI single board computer) - - pci:v000011ABd00006485* - ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller, Revision B -@@ -35226,7 +35226,7 @@ pci:v000011ABd00007042* - ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II - - pci:v000011ABd00007042sv000016B8sd0000434B* -- ID_MODEL_FROM_DATABASE=Tempo SATA E4P -+ ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II (Tempo SATA E4P) - - pci:v000011ABd00007810* - ID_MODEL_FROM_DATABASE=MV78100 [Discovery Innovation] ARM SoC -@@ -35259,19 +35259,19 @@ pci:v000011ADd00000002sv000011ADsd0000FFFF* - ID_MODEL_FROM_DATABASE=LNE100TX - - pci:v000011ADd00000002sv00001385sd0000F004* -- ID_MODEL_FROM_DATABASE=FA310TX -+ ID_MODEL_FROM_DATABASE=LNE100TX (FA310TX) - - pci:v000011ADd00000002sv00002646sd0000F002* -- ID_MODEL_FROM_DATABASE=KNE110TX EtheRx Fast Ethernet -+ ID_MODEL_FROM_DATABASE=LNE100TX (KNE110TX EtheRx Fast Ethernet) - - pci:v000011ADd0000C115* - ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] - - pci:v000011ADd0000C115sv000011ADsd0000C001* -- ID_MODEL_FROM_DATABASE=LNE100TX [ver 2.0] -+ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (LNE100TX [ver 2.0]) - - pci:v000011ADd0000C115sv00002646sd0000000B* -- ID_MODEL_FROM_DATABASE=KNE111TX -+ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (KNE111TX) - - pci:v000011AE* - ID_VENDOR_FROM_DATABASE=Aztech System Ltd -@@ -35355,28 +35355,28 @@ pci:v000011BDd00000040* - ID_MODEL_FROM_DATABASE=Royal TS Function 1 - - pci:v000011BDd00000040sv000011BDsd00000044* -- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 1 -+ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV 2000i Dual DVB-T Pro PCI Tuner 1) - - pci:v000011BDd00000040sv000011BDsd00000045* -- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 1 -+ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV Dual Sat Pro PCI 4000i Tuner 1) - - pci:v000011BDd00000041* - ID_MODEL_FROM_DATABASE=RoyalTS Function 2 - - pci:v000011BDd00000041sv000011BDsd00000044* -- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 2 -+ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV 2000i Dual DVB-T Pro PCI Tuner 2) - - pci:v000011BDd00000041sv000011BDsd00000045* -- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 2 -+ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV Dual Sat Pro PCI 4000i Tuner 2) - - pci:v000011BDd00000042* - ID_MODEL_FROM_DATABASE=Royal TS Function 3 - - pci:v000011BDd00000042sv000011BDsd00000044* -- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Common -+ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV 2000i Dual DVB-T Pro PCI Common) - - pci:v000011BDd00000042sv000011BDsd00000045* -- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Common -+ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV Dual Sat Pro PCI 4000i Common) - - pci:v000011BDd00000051* - ID_MODEL_FROM_DATABASE=PCTV HD 800i -@@ -35400,154 +35400,154 @@ pci:v000011C1d00000440* - ID_MODEL_FROM_DATABASE=56k WinModem - - pci:v000011C1d00000440sv00001033sd00008015* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv00001033sd00008047* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv00001033sd0000804F* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000010CFsd0000102C* -- ID_MODEL_FROM_DATABASE=LB LT Modem V.90 56k -+ ID_MODEL_FROM_DATABASE=56k WinModem (LB LT Modem V.90 56k) - - pci:v000011C1d00000440sv000010CFsd0000104A* -- ID_MODEL_FROM_DATABASE=BIBLO LT Modem 56k -+ ID_MODEL_FROM_DATABASE=56k WinModem (BIBLO LT Modem 56k) - - pci:v000011C1d00000440sv000010CFsd0000105F* -- ID_MODEL_FROM_DATABASE=LB2 LT Modem V.90 56k -+ ID_MODEL_FROM_DATABASE=56k WinModem (LB2 LT Modem V.90 56k) - - pci:v000011C1d00000440sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Internal V.90 Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) - - pci:v000011C1d00000440sv000011C1sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv0000122Dsd00004101* -- ID_MODEL_FROM_DATABASE=MDP7800-U Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) - - pci:v000011C1d00000440sv0000122Dsd00004102* -- ID_MODEL_FROM_DATABASE=MDP7800SP-U Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800SP-U Modem) - - pci:v000011C1d00000440sv000013E0sd00000040* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd00000441* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd00000450* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd0000F100* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd0000F101* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv0000144Dsd00002101* -- ID_MODEL_FROM_DATABASE=LT56PV Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PV Modem) - - pci:v000011C1d00000440sv0000149Fsd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000441* - ID_MODEL_FROM_DATABASE=56k WinModem - - pci:v000011C1d00000441sv00001033sd0000804D* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv00001033sd00008065* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv00001092sd00000440* -- ID_MODEL_FROM_DATABASE=Supra 56i -+ ID_MODEL_FROM_DATABASE=56k WinModem (Supra 56i) - - pci:v000011C1d00000441sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Internal V.90 Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) - - pci:v000011C1d00000441sv000011C1sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000011C1sd00000441* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv0000122Dsd00004100* -- ID_MODEL_FROM_DATABASE=MDP7800-U Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) - - pci:v000011C1d00000441sv000013E0sd00000040* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000100* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000410* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000420* -- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem -+ ID_MODEL_FROM_DATABASE=56k WinModem (TelePath Internet 56k WinModem) - - pci:v000011C1d00000441sv000013E0sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000443* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd0000F102* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv00001416sd00009804* -- ID_MODEL_FROM_DATABASE=CommWave 56k Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (CommWave 56k Modem) - - pci:v000011C1d00000441sv0000141Dsd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv0000144Fsd00000441* -- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) - - pci:v000011C1d00000441sv0000144Fsd00000449* -- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) - - pci:v000011C1d00000441sv0000144Fsd0000110D* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) - - pci:v000011C1d00000441sv00001468sd00000441* -- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DF Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Presario 56k V.90 DF Modem) - - pci:v000011C1d00000441sv00001668sd00000440* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) - - pci:v000011C1d00000442* - ID_MODEL_FROM_DATABASE=56k WinModem - - pci:v000011C1d00000442sv000011C1sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000011C1sd00000442* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000013E0sd00000412* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000013E0sd00000442* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000013FCsd00002471* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv0000144Dsd00002104* -- ID_MODEL_FROM_DATABASE=LT56PT Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PT Modem) - - pci:v000011C1d00000442sv0000144Fsd00001104* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv0000149Fsd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv00001668sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000443* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35559,10 +35559,10 @@ pci:v000011C1d00000445* - ID_MODEL_FROM_DATABASE=LT WinModem - - pci:v000011C1d00000445sv00008086sd00002203* -- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card) -+ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)) - - pci:v000011C1d00000445sv00008086sd00002204* -- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI on Armada E500 -+ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI on Armada E500) - - pci:v000011C1d00000446* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35574,64 +35574,64 @@ pci:v000011C1d00000448* - ID_MODEL_FROM_DATABASE=WinModem 56k - - pci:v000011C1d00000448sv00001014sd00000131* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=WinModem 56k (Lucent Win Modem) - - pci:v000011C1d00000448sv00001033sd00008066* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000448sv000013E0sd00000030* -- ID_MODEL_FROM_DATABASE=56k Voice Modem -+ ID_MODEL_FROM_DATABASE=WinModem 56k (56k Voice Modem) - - pci:v000011C1d00000448sv000013E0sd00000040* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000448sv00001668sd00002400* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k (MiniPCI Ethernet+Modem) -+ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k (MiniPCI Ethernet+Modem)) - - pci:v000011C1d00000449* - ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k - - pci:v000011C1d00000449sv00000E11sd0000B14D* -- ID_MODEL_FROM_DATABASE=56k V.90 Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (56k V.90 Modem) - - pci:v000011C1d00000449sv00001014sd0000018C* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (ThinkPad 600X) - - pci:v000011C1d00000449sv000013E0sd00000020* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000449sv000013E0sd00000041* -- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (TelePath Internet 56k WinModem) - - pci:v000011C1d00000449sv00001436sd00000440* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) - - pci:v000011C1d00000449sv0000144Fsd00000449* -- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DFi Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent 56k V.90 DFi Modem) - - pci:v000011C1d00000449sv00001468sd00000410* -- ID_MODEL_FROM_DATABASE=IBM ThinkPad T23 -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (IBM ThinkPad T23) - - pci:v000011C1d00000449sv00001468sd00000440* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) - - pci:v000011C1d00000449sv00001468sd00000449* -- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DFi Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Presario 56k V.90 DFi Modem) - - pci:v000011C1d0000044A* - ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) - - pci:v000011C1d0000044Asv000010CFsd00001072* -- ID_MODEL_FROM_DATABASE=LB Global LT Modem -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LB Global LT Modem) - - pci:v000011C1d0000044Asv000013E0sd00000012* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d0000044Asv000013E0sd00000042* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d0000044Asv0000144Fsd00001005* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d0000044B* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35652,13 +35652,13 @@ pci:v000011C1d00000450* - ID_MODEL_FROM_DATABASE=LT WinModem - - pci:v000011C1d00000450sv00001033sd000080A8* -- ID_MODEL_FROM_DATABASE=Versa Note Vxi -+ ID_MODEL_FROM_DATABASE=LT WinModem (Versa Note Vxi) - - pci:v000011C1d00000450sv0000144Fsd00004005* -- ID_MODEL_FROM_DATABASE=Magnia SG20 -+ ID_MODEL_FROM_DATABASE=LT WinModem (Magnia SG20) - - pci:v000011C1d00000450sv00001468sd00000450* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=LT WinModem (Evo N600c) - - pci:v000011C1d00000451* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35733,22 +35733,22 @@ pci:v000011C1d00005811* - ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller - - pci:v000011C1d00005811sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion a1677c) - - pci:v000011C1d00005811sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Asus IPIBL-LB Motherboard) - - pci:v000011C1d00005811sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion p6310f) - - pci:v000011C1d00005811sv00001043sd00008294* -- ID_MODEL_FROM_DATABASE=LSI FW322/323 IEEE 1394a FireWire Controller -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (LSI FW322/323 IEEE 1394a FireWire Controller) - - pci:v000011C1d00005811sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (D865PERL mainboard) - - pci:v000011C1d00005811sv0000DEADsd00000800* -- ID_MODEL_FROM_DATABASE=FireWire Host Bus Adapter -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (FireWire Host Bus Adapter) - - pci:v000011C1d00005901* - ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller -@@ -35757,10 +35757,10 @@ pci:v000011C1d00005901sv000011C1sd00005900* - ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller - - pci:v000011C1d00005901sv00001443sd00000643* -- ID_MODEL_FROM_DATABASE=FireBoard800-e V.2 -+ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FireBoard800-e V.2) - - pci:v000011C1d00005901sv00001546sd00000643* -- ID_MODEL_FROM_DATABASE=FWB-PCIE1X2x -+ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FWB-PCIE1X2x) - - pci:v000011C1d00005903* - ID_MODEL_FROM_DATABASE=FW533 [TrueFire] PCIe 1394a Controller -@@ -35769,7 +35769,7 @@ pci:v000011C1d00008110* - ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch - - pci:v000011C1d00008110sv000012D9sd0000000C* -- ID_MODEL_FROM_DATABASE=E1/T1 PMXc cPCI carrier card -+ ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch (E1/T1 PMXc cPCI carrier card) - - pci:v000011C1d0000AB10* - ID_MODEL_FROM_DATABASE=WL60010 Wireless LAN MAC -@@ -35778,16 +35778,16 @@ pci:v000011C1d0000AB11* - ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC - - pci:v000011C1d0000AB11sv000011C1sd0000AB12* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1102) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1102)) - - pci:v000011C1d0000AB11sv000011C1sd0000AB13* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0512) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0512)) - - pci:v000011C1d0000AB11sv000011C1sd0000AB15* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1106) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1106)) - - pci:v000011C1d0000AB11sv000011C1sd0000AB16* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0516) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0516)) - - pci:v000011C1d0000AB20* - ID_MODEL_FROM_DATABASE=ORiNOCO PCI Adapter -@@ -35856,10 +35856,10 @@ pci:v000011CBd00002000* - ID_MODEL_FROM_DATABASE=PCI_9050 - - pci:v000011CBd00002000sv000011CBsd00000200* -- ID_MODEL_FROM_DATABASE=SX -+ ID_MODEL_FROM_DATABASE=PCI_9050 (SX) - - pci:v000011CBd00002000sv000011CBsd0000B008* -- ID_MODEL_FROM_DATABASE=I/O8+ -+ ID_MODEL_FROM_DATABASE=PCI_9050 (I/O8+) - - pci:v000011CBd00004000* - ID_MODEL_FROM_DATABASE=SUPI_1 -@@ -35949,28 +35949,28 @@ pci:v000011DEd00006057* - ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset - - pci:v000011DEd00006057sv00001031sd00007EFE* -- ID_MODEL_FROM_DATABASE=DC10 Plus -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (DC10 Plus) - - pci:v000011DEd00006057sv00001031sd0000FC00* -- ID_MODEL_FROM_DATABASE=MiroVIDEO DC50, Motion JPEG Capture/CODEC Board -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (MiroVIDEO DC50, Motion JPEG Capture/CODEC Board) - - pci:v000011DEd00006057sv000012F8sd00008A02* -- ID_MODEL_FROM_DATABASE=Tekram Video Kit -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (Tekram Video Kit) - - pci:v000011DEd00006057sv000013CAsd00004231* -- ID_MODEL_FROM_DATABASE=JPEG/TV Card -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (JPEG/TV Card) - - pci:v000011DEd00006120* - ID_MODEL_FROM_DATABASE=ZR36120 - - pci:v000011DEd00006120sv00001328sd0000F001* -- ID_MODEL_FROM_DATABASE=Cinemaster C DVD Decoder -+ ID_MODEL_FROM_DATABASE=ZR36120 (Cinemaster C DVD Decoder) - - pci:v000011DEd00006120sv000013C2sd00000000* -- ID_MODEL_FROM_DATABASE=MediaFocus Satellite TV Card -+ ID_MODEL_FROM_DATABASE=ZR36120 (MediaFocus Satellite TV Card) - - pci:v000011DEd00006120sv00001DE1sd00009FFF* -- ID_MODEL_FROM_DATABASE=Video Kit C210 -+ ID_MODEL_FROM_DATABASE=ZR36120 (Video Kit C210) - - pci:v000011DF* - ID_VENDOR_FROM_DATABASE=New Wave PDG -@@ -36102,13 +36102,13 @@ pci:v000011F6d00002011* - ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 - - pci:v000011F6d00002011sv000011F6sd00002011* -- ID_MODEL_FROM_DATABASE=RL100-ATX -+ ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 (RL100-ATX) - - pci:v000011F6d00002201* - ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) - - pci:v000011F6d00002201sv000011F6sd00002011* -- ID_MODEL_FROM_DATABASE=ReadyLink 100TX -+ ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) (ReadyLink 100TX) - - pci:v000011F6d00009881* - ID_MODEL_FROM_DATABASE=RL100TX Fast Ethernet -@@ -36138,10 +36138,10 @@ pci:v000011F8d00008032* - ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN - - pci:v000011F8d00008032sv0000117Csd0000003B* -- ID_MODEL_FROM_DATABASE=Celerity FC-82EN Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-82EN Fibre Channel Adapter) - - pci:v000011F8d00008032sv0000117Csd0000003C* -- ID_MODEL_FROM_DATABASE=Celerity FC-84EN Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-84EN Fibre Channel Adapter) - - pci:v000011F9* - ID_VENDOR_FROM_DATABASE=I-Cube Inc -@@ -36285,16 +36285,16 @@ pci:v00001202d00004300* - ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter - - pci:v00001202d00004300sv00001202sd00009841* -- ID_MODEL_FROM_DATABASE=SK-9841 LX -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX) - - pci:v00001202d00004300sv00001202sd00009842* -- ID_MODEL_FROM_DATABASE=SK-9841 LX dual link -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX dual link) - - pci:v00001202d00004300sv00001202sd00009843* -- ID_MODEL_FROM_DATABASE=SK-9843 SX -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX) - - pci:v00001202d00004300sv00001202sd00009844* -- ID_MODEL_FROM_DATABASE=SK-9843 SX dual link -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX dual link) - - pci:v00001203* - ID_VENDOR_FROM_DATABASE=Bayer Corporation, Agfa Division -@@ -36411,7 +36411,7 @@ pci:v00001217d000000F7* - ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) - - pci:v00001217d000000F7sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) - - pci:v00001217d000010F7* - ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller -@@ -36420,7 +36420,7 @@ pci:v00001217d000011F7* - ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller - - pci:v00001217d000011F7sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller (Precision M4600) - - pci:v00001217d000013F7* - ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller -@@ -36447,31 +36447,31 @@ pci:v00001217d00006933* - ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller - - pci:v00001217d00006933sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller (Travelmate 612 TX) - - pci:v00001217d00006972* - ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller - - pci:v00001217d00006972sv00001014sd0000020C* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (ThinkPad R30) - - pci:v00001217d00006972sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Latitude D500) - - pci:v00001217d00006972sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Magnia Z310) - - pci:v00001217d00007110* - ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator - - pci:v00001217d00007110sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC8000 laptop) - - pci:v00001217d00007110sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC6000 laptop) - - pci:v00001217d00007110sv00001734sd0000106C* -- ID_MODEL_FROM_DATABASE=Amilo A1645 -+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (Amilo A1645) - - pci:v00001217d00007112* - ID_MODEL_FROM_DATABASE=OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller -@@ -36480,7 +36480,7 @@ pci:v00001217d00007113* - ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller - - pci:v00001217d00007113sv00001025sd00000035* -- ID_MODEL_FROM_DATABASE=TravelMate 660 -+ ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller (TravelMate 660) - - pci:v00001217d00007114* - ID_MODEL_FROM_DATABASE=OZ711M1/MC1 4-in-1 MemoryCardBus Controller -@@ -36489,13 +36489,13 @@ pci:v00001217d00007120* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller - - pci:v00001217d00007120sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) - - pci:v00001217d00007130* - ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller - - pci:v00001217d00007130sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) - - pci:v00001217d00007134* - ID_MODEL_FROM_DATABASE=OZ711MP1/MS1 MemoryCardBus Controller -@@ -36519,13 +36519,13 @@ pci:v00001217d00007223* - ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller - - pci:v00001217d00007223sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC8000 laptop) - - pci:v00001217d00007223sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC6000 laptop) - - pci:v00001217d00007223sv000010CFsd000011C4* -- ID_MODEL_FROM_DATABASE=Lifebook P5020D Laptop -+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (Lifebook P5020D Laptop) - - pci:v00001217d00007233* - ID_MODEL_FROM_DATABASE=OZ711MP3/MS3 4-in-1 MemoryCardBus Controller -@@ -36540,7 +36540,7 @@ pci:v00001217d00008320* - ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller - - pci:v00001217d00008320sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) - - pci:v00001217d00008321* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller -@@ -36549,7 +36549,7 @@ pci:v00001217d00008330* - ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller - - pci:v00001217d00008330sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller (Precision M4600) - - pci:v00001217d00008331* - ID_MODEL_FROM_DATABASE=O2 Flash Memory Card -@@ -36576,52 +36576,52 @@ pci:v0000121Ad00000003* - ID_MODEL_FROM_DATABASE=Voodoo Banshee - - pci:v0000121Ad00000003sv00001092sd00000003* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00004000* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00004002* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00004801* -- ID_MODEL_FROM_DATABASE=Monster Fusion AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) - - pci:v0000121Ad00000003sv00001092sd00004803* -- ID_MODEL_FROM_DATABASE=Monster Fusion AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) - - pci:v0000121Ad00000003sv00001092sd00008030* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00008035* -- ID_MODEL_FROM_DATABASE=Monster Fusion AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) - - pci:v0000121Ad00000003sv000010B0sd00000001* -- ID_MODEL_FROM_DATABASE=Dragon 4000 -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Dragon 4000) - - pci:v0000121Ad00000003sv00001102sd00001017* -- ID_MODEL_FROM_DATABASE=3D Blaster Banshee PCI (CT6760) -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee PCI (CT6760)) - - pci:v0000121Ad00000003sv00001102sd00001018* -- ID_MODEL_FROM_DATABASE=3D Blaster Banshee VE -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee VE) - - pci:v0000121Ad00000003sv0000121Asd00000001* -- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP) - - pci:v0000121Ad00000003sv0000121Asd00000003* -- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP SGRAM -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP SGRAM) - - pci:v0000121Ad00000003sv0000121Asd00000004* - ID_MODEL_FROM_DATABASE=Voodoo Banshee - - pci:v0000121Ad00000003sv0000139Csd00000016* -- ID_MODEL_FROM_DATABASE=Raven -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) - - pci:v0000121Ad00000003sv0000139Csd00000017* -- ID_MODEL_FROM_DATABASE=Raven -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) - - pci:v0000121Ad00000003sv000014AFsd00000002* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Maxi Gamer Phoenix) - - pci:v0000121Ad00000004* - ID_MODEL_FROM_DATABASE=Voodoo Banshee [Velocity 100] -@@ -36630,70 +36630,70 @@ pci:v0000121Ad00000005* - ID_MODEL_FROM_DATABASE=Voodoo 3 - - pci:v0000121Ad00000005sv0000121Asd00000004* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000030* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000031* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000034* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000036* -- ID_MODEL_FROM_DATABASE=Voodoo3 2000 PCI -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 2000 PCI) - - pci:v0000121Ad00000005sv0000121Asd00000037* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000038* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd0000003A* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000044* -- ID_MODEL_FROM_DATABASE=Voodoo3 -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3) - - pci:v0000121Ad00000005sv0000121Asd0000004B* -- ID_MODEL_FROM_DATABASE=Velocity 100 -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 100) - - pci:v0000121Ad00000005sv0000121Asd0000004C* -- ID_MODEL_FROM_DATABASE=Velocity 200 -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 200) - - pci:v0000121Ad00000005sv0000121Asd0000004D* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd0000004E* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000051* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000052* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000057* -- ID_MODEL_FROM_DATABASE=Voodoo3 3000 PCI -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3000 PCI) - - pci:v0000121Ad00000005sv0000121Asd00000060* -- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (NTSC) -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (NTSC)) - - pci:v0000121Ad00000005sv0000121Asd00000061* -- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (PAL) -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (PAL)) - - pci:v0000121Ad00000005sv0000121Asd00000062* -- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (SECAM) -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (SECAM)) - - pci:v0000121Ad00000009* - ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 - - pci:v0000121Ad00000009sv0000121Asd00000003* -- ID_MODEL_FROM_DATABASE=Voodoo5 PCI 5500 -+ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 PCI 5500) - - pci:v0000121Ad00000009sv0000121Asd00000009* -- ID_MODEL_FROM_DATABASE=Voodoo5 AGP 5500/6000 -+ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 AGP 5500/6000) - - pci:v0000121Ad00000057* - ID_MODEL_FROM_DATABASE=Voodoo 3/3000 [Avenger] -@@ -36930,31 +36930,31 @@ pci:v0000123Fd00008120* - ID_MODEL_FROM_DATABASE=DVxplore Codec - - pci:v0000123Fd00008120sv000010DEsd000001E1* -- ID_MODEL_FROM_DATABASE=NVTV PAL -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) - - pci:v0000123Fd00008120sv000010DEsd000001E2* -- ID_MODEL_FROM_DATABASE=NVTV NTSC -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) - - pci:v0000123Fd00008120sv000010DEsd000001E3* -- ID_MODEL_FROM_DATABASE=NVTV PAL -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) - - pci:v0000123Fd00008120sv000010DEsd00000248* -- ID_MODEL_FROM_DATABASE=NVTV NTSC -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) - - pci:v0000123Fd00008120sv000010DEsd00000249* -- ID_MODEL_FROM_DATABASE=NVTV PAL -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) - - pci:v0000123Fd00008120sv000011BDsd00000006* -- ID_MODEL_FROM_DATABASE=DV500 E4 -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) - - pci:v0000123Fd00008120sv000011BDsd0000000A* -- ID_MODEL_FROM_DATABASE=DV500 E4 -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) - - pci:v0000123Fd00008120sv000011BDsd0000000F* -- ID_MODEL_FROM_DATABASE=DV500 E4 -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) - - pci:v0000123Fd00008120sv00001809sd00000016* -- ID_MODEL_FROM_DATABASE=Emuzed MAUI-III PCI PVR FM TV -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (Emuzed MAUI-III PCI PVR FM TV) - - pci:v0000123Fd00008888* - ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder -@@ -36981,10 +36981,10 @@ pci:v00001242d00001560* - ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller - - pci:v00001242d00001560sv00001242sd00006562* -- ID_MODEL_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter) - - pci:v00001242d00001560sv00001242sd0000656A* -- ID_MODEL_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX-6562 PCI-X Fibre Channel Adapter) - - pci:v00001242d00004643* - ID_MODEL_FROM_DATABASE=FCI-1063 Fibre Channel Adapter -@@ -37011,7 +37011,7 @@ pci:v00001244d00000A00* - ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] - - pci:v00001244d00000A00sv00001244sd00000A00* -- ID_MODEL_FROM_DATABASE=FRITZ!Card ISDN Controller -+ ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] (FRITZ!Card ISDN Controller) - - pci:v00001244d00000E00* - ID_MODEL_FROM_DATABASE=Fritz!PCI v2.0 ISDN -@@ -37053,7 +37053,7 @@ pci:v0000124Bd00000040* - ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier - - pci:v0000124Bd00000040sv0000124Bsd00009080* -- ID_MODEL_FROM_DATABASE=PCI9080 Bridge -+ ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier (PCI9080 Bridge) - - pci:v0000124C* - ID_VENDOR_FROM_DATABASE=Solitron Technologies, Inc. -@@ -37164,7 +37164,7 @@ pci:v0000125Bd00001400* - ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller - - pci:v0000125Bd00001400sv00001186sd00001100* -- ID_MODEL_FROM_DATABASE=AX8814X Based PCI Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller (AX8814X Based PCI Fast Ethernet Adapter) - - pci:v0000125C* - ID_VENDOR_FROM_DATABASE=Aurora Technologies, Inc. -@@ -37188,61 +37188,61 @@ pci:v0000125Dd00001968* - ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 - - pci:v0000125Dd00001968sv00001028sd00000085* -- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 PCI -+ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 PCI) - - pci:v0000125Dd00001968sv00001033sd00008051* -- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 Audiodrive) - - pci:v0000125Dd00001969* - ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive - - pci:v0000125Dd00001969sv00001014sd00000166* -- ID_MODEL_FROM_DATABASE=ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard -+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard) - - pci:v0000125Dd00001969sv0000125Dsd00008888* -- ID_MODEL_FROM_DATABASE=Solo-1 Audio Adapter -+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Solo-1 Audio Adapter) - - pci:v0000125Dd00001969sv0000153Bsd0000111B* -- ID_MODEL_FROM_DATABASE=Terratec 128i PCI -+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Terratec 128i PCI) - - pci:v0000125Dd00001978* - ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E - - pci:v0000125Dd00001978sv00000E11sd0000B112* -- ID_MODEL_FROM_DATABASE=Armada M700/E500 -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Armada M700/E500) - - pci:v0000125Dd00001978sv00001033sd0000803C* -- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) - - pci:v0000125Dd00001978sv00001033sd00008058* -- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) - - pci:v0000125Dd00001978sv00001092sd00004000* -- ID_MODEL_FROM_DATABASE=Monster Sound MX400 -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Monster Sound MX400) - - pci:v0000125Dd00001978sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) - - pci:v0000125Dd00001988* - ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 - - pci:v0000125Dd00001988sv00000E11sd00000098* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Evo N600c) - - pci:v0000125Dd00001988sv00001092sd00004100* -- ID_MODEL_FROM_DATABASE=Sonic Impact S100 -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Sonic Impact S100) - - pci:v0000125Dd00001988sv0000125Dsd00000431* -- ID_MODEL_FROM_DATABASE=Allegro AudioDrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) - - pci:v0000125Dd00001988sv0000125Dsd00001988* -- ID_MODEL_FROM_DATABASE=ESS Allegro-1 Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (ESS Allegro-1 Audiodrive) - - pci:v0000125Dd00001988sv0000125Dsd00001998* -- ID_MODEL_FROM_DATABASE=Allegro AudioDrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) - - pci:v0000125Dd00001988sv0000125Dsd00001999* -- ID_MODEL_FROM_DATABASE=Allegro-1 AudioDrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro-1 AudioDrive) - - pci:v0000125Dd00001989* - ID_MODEL_FROM_DATABASE=ESS Modem -@@ -37254,13 +37254,13 @@ pci:v0000125Dd00001998* - ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator - - pci:v0000125Dd00001998sv00001028sd000000B1* -- ID_MODEL_FROM_DATABASE=Latitude C600 -+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C600) - - pci:v0000125Dd00001998sv00001028sd000000E5* -- ID_MODEL_FROM_DATABASE=Latitude C810 -+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C810) - - pci:v0000125Dd00001998sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i (Dell Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (ES1983S Maestro-3i (Dell Inspiron 8100)) - - pci:v0000125Dd00001999* - ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator -@@ -37281,34 +37281,34 @@ pci:v0000125Dd00002898* - ID_MODEL_FROM_DATABASE=ES2898 Modem - - pci:v0000125Dd00002898sv0000125Dsd00000424* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000425* -- ID_MODEL_FROM_DATABASE=ES56T-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56T-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000426* -- ID_MODEL_FROM_DATABASE=ES56V-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56V-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000427* -- ID_MODEL_FROM_DATABASE=VW-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (VW-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000428* -- ID_MODEL_FROM_DATABASE=ES56ST-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56ST-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000429* -- ID_MODEL_FROM_DATABASE=ES56SV-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56SV-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000147Asd0000C001* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000148Dsd00001030* -- ID_MODEL_FROM_DATABASE=HCF WV-PI56 [ESS ES56-PI Data Fax Modem] -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (HCF WV-PI56 [ESS ES56-PI Data Fax Modem]) - - pci:v0000125Dd00002898sv000014FEsd00000428* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125Dd00002898sv000014FEsd00000429* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125E* - ID_VENDOR_FROM_DATABASE=Specialvideo Engineering SRL -@@ -37323,40 +37323,40 @@ pci:v00001260d00003872* - ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] - - pci:v00001260d00003872sv00001468sd00000202* -- ID_MODEL_FROM_DATABASE=LAN-Express IEEE 802.11b Wireless LAN -+ ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] (LAN-Express IEEE 802.11b Wireless LAN) - - pci:v00001260d00003873* - ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] - - pci:v00001260d00003873sv000010CFsd00001169* -- ID_MODEL_FROM_DATABASE=MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874]) - - pci:v00001260d00003873sv00001186sd00003501* -- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874]) - - pci:v00001260d00003873sv00001186sd00003700* -- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev E1) [ISL3872] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev E1) [ISL3872]) - - pci:v00001260d00003873sv00001385sd00004105* -- ID_MODEL_FROM_DATABASE=MA311 802.11b wireless adapter [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MA311 802.11b wireless adapter [ISL3874]) - - pci:v00001260d00003873sv00001668sd00000414* -- ID_MODEL_FROM_DATABASE=HWP01170-01 802.11b PCI Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (HWP01170-01 802.11b PCI Wireless Adapter) - - pci:v00001260d00003873sv000016A5sd00001601* -- ID_MODEL_FROM_DATABASE=AIR.mate PC-400 PCI Wireless LAN Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (AIR.mate PC-400 PCI Wireless LAN Adapter) - - pci:v00001260d00003873sv00001737sd00003874* -- ID_MODEL_FROM_DATABASE=WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874]) - - pci:v00001260d00003873sv00004033sd00007033* -- ID_MODEL_FROM_DATABASE=PCW200 802.11b Wireless PCI Adapter [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (PCW200 802.11b Wireless PCI Adapter [ISL3874]) - - pci:v00001260d00003873sv00008086sd00002510* -- ID_MODEL_FROM_DATABASE=M3AWEB Wireless 802.11b MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (M3AWEB Wireless 802.11b MiniPCI Adapter) - - pci:v00001260d00003873sv00008086sd00002513* -- ID_MODEL_FROM_DATABASE=Wireless 802.11b MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (Wireless 802.11b MiniPCI Adapter) - - pci:v00001260d00003877* - ID_MODEL_FROM_DATABASE=ISL3877 [Prism Indigo] -@@ -37365,58 +37365,58 @@ pci:v00001260d00003886* - ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] - - pci:v00001260d00003886sv000017CFsd00000037* -- ID_MODEL_FROM_DATABASE=XG-901 and clones Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] (XG-901 and clones Wireless Adapter) - - pci:v00001260d00003890* - ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] - - pci:v00001260d00003890sv000010B8sd00002802* -- ID_MODEL_FROM_DATABASE=SMC2802W V1 Wireless PCI Adapter [ISL3890] -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V1 Wireless PCI Adapter [ISL3890]) - - pci:v00001260d00003890sv000010B8sd00002835* -- ID_MODEL_FROM_DATABASE=SMC2835W Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W Wireless Cardbus Adapter) - - pci:v00001260d00003890sv000010B8sd0000A835* -- ID_MODEL_FROM_DATABASE=SMC2835W V2 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V2 Wireless Cardbus Adapter) - - pci:v00001260d00003890sv00001113sd00004203* -- ID_MODEL_FROM_DATABASE=WN4201B -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WN4201B) - - pci:v00001260d00003890sv00001113sd00008201* -- ID_MODEL_FROM_DATABASE=T-Com T-Sinus 154pcicard Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Com T-Sinus 154pcicard Wireless PCI Adapter) - - pci:v00001260d00003890sv00001113sd0000B301* -- ID_MODEL_FROM_DATABASE=T-Sinus 154card Cardbus -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Sinus 154card Cardbus) - - pci:v00001260d00003890sv00001113sd0000EE03* -- ID_MODEL_FROM_DATABASE=SMC2802W V2 Wireless PCI Adapter [ISL3886] -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V2 Wireless PCI Adapter [ISL3886]) - - pci:v00001260d00003890sv00001113sd0000EE08* -- ID_MODEL_FROM_DATABASE=SMC2835W V3 EU Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V3 EU Wireless Cardbus Adapter) - - pci:v00001260d00003890sv00001186sd00003202* -- ID_MODEL_FROM_DATABASE=DWL-G650 A1 Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (DWL-G650 A1 Wireless Adapter) - - pci:v00001260d00003890sv00001259sd0000C104* -- ID_MODEL_FROM_DATABASE=CG-WLCB54GT Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (CG-WLCB54GT Wireless Adapter) - - pci:v00001260d00003890sv00001260sd00000000* -- ID_MODEL_FROM_DATABASE=WG511 v1 54 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v1 54 Mbps Wireless PC Card) - - pci:v00001260d00003890sv00001385sd00004800* -- ID_MODEL_FROM_DATABASE=WG511 v2/v3 54 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v2/v3 54 Mbps Wireless PC Card) - - pci:v00001260d00003890sv000016A5sd00001605* -- ID_MODEL_FROM_DATABASE=ALLNET ALL0271 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (ALLNET ALL0271 Wireless PCI Adapter) - - pci:v00001260d00003890sv000017CFsd00000014* -- ID_MODEL_FROM_DATABASE=XG-600 and clones Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-600 and clones Wireless Adapter) - - pci:v00001260d00003890sv000017CFsd00000020* -- ID_MODEL_FROM_DATABASE=XG-900 and clones Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-900 and clones Wireless Adapter) - - pci:v00001260d00003890sv0000187Esd00003403* -- ID_MODEL_FROM_DATABASE=G-110 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (G-110 802.11g Wireless Cardbus Adapter) - - pci:v00001260d00008130* - ID_MODEL_FROM_DATABASE=HMP8130 NTSC/PAL Video Decoder -@@ -37428,7 +37428,7 @@ pci:v00001260d0000FFFF* - ID_MODEL_FROM_DATABASE=ISL3886IK - - pci:v00001260d0000FFFFsv00001260sd00000000* -- ID_MODEL_FROM_DATABASE=Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter -+ ID_MODEL_FROM_DATABASE=ISL3886IK (Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter) - - pci:v00001261* - ID_VENDOR_FROM_DATABASE=Matsushita-Kotobuki Electronics Industries, Ltd. -@@ -37455,7 +37455,7 @@ pci:v00001266d00001910* - ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter - - pci:v00001266d00001910sv00001266sd00001910* -- ID_MODEL_FROM_DATABASE=NE2000Plus Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter (NE2000Plus Ethernet Adapter) - - pci:v00001267* - ID_VENDOR_FROM_DATABASE=S. A. Telecommunications -@@ -37554,169 +37554,169 @@ pci:v00001274d00001371* - ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] - - pci:v00001274d00001371sv00000E11sd00000024* -- ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI on Motherboard Compaq Deskpro) - - pci:v00001274d00001371sv00000E11sd0000B1A7* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) - - pci:v00001274d00001371sv00001033sd000080AC* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) - - pci:v00001274d00001371sv00001042sd00001854* -- ID_MODEL_FROM_DATABASE=Tazer -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tazer) - - pci:v00001274d00001371sv0000107Bsd00008054* -- ID_MODEL_FROM_DATABASE=Tabor2 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tabor2) - - pci:v00001274d00001371sv00001274sd00001371* -- ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI 64V/128 / Creative Sound Blaster CT4810) - - pci:v00001274d00001371sv00001274sd00008001* -- ID_MODEL_FROM_DATABASE=CT4751 board -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (CT4751 board) - - pci:v00001274d00001371sv00001462sd00006470* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A) - - pci:v00001274d00001371sv00001462sd00006560* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10) - - pci:v00001274d00001371sv00001462sd00006630* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A) - - pci:v00001274d00001371sv00001462sd00006631* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A) - - pci:v00001274d00001371sv00001462sd00006632* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A) - - pci:v00001274d00001371sv00001462sd00006633* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A) - - pci:v00001274d00001371sv00001462sd00006820* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00) - - pci:v00001274d00001371sv00001462sd00006822* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A) - - pci:v00001274d00001371sv00001462sd00006830* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00) - - pci:v00001274d00001371sv00001462sd00006880* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00) - - pci:v00001274d00001371sv00001462sd00006900* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00) - - pci:v00001274d00001371sv00001462sd00006910* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6191 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6191) - - pci:v00001274d00001371sv00001462sd00006930* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6193 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6193) - - pci:v00001274d00001371sv00001462sd00006990* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A) - - pci:v00001274d00001371sv00001462sd00006991* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A) - - pci:v00001274d00001371sv000014A4sd00002077* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KR639 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KR639) - - pci:v00001274d00001371sv000014A4sd00002105* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR800 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR800) - - pci:v00001274d00001371sv000014A4sd00002107* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR801 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR801) - - pci:v00001274d00001371sv000014A4sd00002172* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard DR739 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard DR739) - - pci:v00001274d00001371sv00001509sd00009902* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW11 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW11) - - pci:v00001274d00001371sv00001509sd00009903* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW31 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW31) - - pci:v00001274d00001371sv00001509sd00009904* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KA11 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KA11) - - pci:v00001274d00001371sv00001509sd00009905* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KC13 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KC13) - - pci:v00001274d00001371sv0000152Dsd00008801* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810E -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810E) - - pci:v00001274d00001371sv0000152Dsd00008802* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810) - - pci:v00001274d00001371sv0000152Dsd00008803* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810E -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810E) - - pci:v00001274d00001371sv0000152Dsd00008804* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810-S -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810-S) - - pci:v00001274d00001371sv0000152Dsd00008805* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3820-S -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3820-S) - - pci:v00001274d00001371sv0000270Fsd00002001* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6CTR -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6CTR) - - pci:v00001274d00001371sv0000270Fsd00002200* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WTX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WTX) - - pci:v00001274d00001371sv0000270Fsd00003000* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WSV -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WSV) - - pci:v00001274d00001371sv0000270Fsd00003100* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV2 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV2) - - pci:v00001274d00001371sv0000270Fsd00003102* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV) - - pci:v00001274d00001371sv0000270Fsd00007060* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6ASA2 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6ASA2) - - pci:v00001274d00001371sv00008086sd00004249* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BI440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BI440ZX) - - pci:v00001274d00001371sv00008086sd0000424C* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BL440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BL440ZX) - - pci:v00001274d00001371sv00008086sd0000425A* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BZ440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BZ440ZX) - - pci:v00001274d00001371sv00008086sd00004341* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cayman -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cayman) - - pci:v00001274d00001371sv00008086sd00004343* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cape Cod -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cape Cod) - - pci:v00001274d00001371sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=D815EEA Motherboard -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (D815EEA Motherboard) - - pci:v00001274d00001371sv00008086sd00004649* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Fire Island -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Fire Island) - - pci:v00001274d00001371sv00008086sd0000464A* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard FJ440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard FJ440ZX) - - pci:v00001274d00001371sv00008086sd00004D4F* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Montreal -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Montreal) - - pci:v00001274d00001371sv00008086sd00004F43* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard OC440LX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard OC440LX) - - pci:v00001274d00001371sv00008086sd00005243* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard RC440BX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard RC440BX) - - pci:v00001274d00001371sv00008086sd00005352* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard SunRiver -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard SunRiver) - - pci:v00001274d00001371sv00008086sd00005643* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Vancouver -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Vancouver) - - pci:v00001274d00001371sv00008086sd00005753* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard WS440BX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard WS440BX) - - pci:v00001274d00005000* - ID_MODEL_FROM_DATABASE=ES1370 [AudioPCI] -@@ -37725,31 +37725,31 @@ pci:v00001274d00005880* - ID_MODEL_FROM_DATABASE=5880B [AudioPCI] - - pci:v00001274d00005880sv00001274sd00002000* -- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) - - pci:v00001274d00005880sv00001274sd00002003* -- ID_MODEL_FROM_DATABASE=Creative SoundBlaster AudioPCI 128 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative SoundBlaster AudioPCI 128) - - pci:v00001274d00005880sv00001274sd00005880* -- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) - - pci:v00001274d00005880sv00001274sd00008001* -- ID_MODEL_FROM_DATABASE=Sound Blaster 16PCI 4.1ch -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Sound Blaster 16PCI 4.1ch) - - pci:v00001274d00005880sv00001458sd0000A000* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6OXET -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6OXET) - - pci:v00001274d00005880sv00001462sd00006880* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard MS-6188 1.00 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard MS-6188 1.00) - - pci:v00001274d00005880sv0000270Fsd00002001* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6CTR -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6CTR) - - pci:v00001274d00005880sv0000270Fsd00002200* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6WTX -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6WTX) - - pci:v00001274d00005880sv0000270Fsd00007040* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6ATA4 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6ATA4) - - pci:v00001274d00008001* - ID_MODEL_FROM_DATABASE=CT5880 [AudioPCI] -@@ -37809,181 +37809,181 @@ pci:v0000127Ad00001002* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00001002sv00001092sd0000094C* -- ID_MODEL_FROM_DATABASE=SupraExpress 56i PRO [Diamond SUP2380] -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (SupraExpress 56i PRO [Diamond SUP2380]) - - pci:v0000127Ad00001002sv0000122Dsd00004002* -- ID_MODEL_FROM_DATABASE=HPG / MDP3858-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (HPG / MDP3858-U) - - pci:v0000127Ad00001002sv0000122Dsd00004005* -- ID_MODEL_FROM_DATABASE=MDP3858-E -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-E) - - pci:v0000127Ad00001002sv0000122Dsd00004007* -- ID_MODEL_FROM_DATABASE=MDP3858-A/-NZ -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-A/-NZ) - - pci:v0000127Ad00001002sv0000122Dsd00004012* -- ID_MODEL_FROM_DATABASE=MDP3858-SA -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-SA) - - pci:v0000127Ad00001002sv0000122Dsd00004017* -- ID_MODEL_FROM_DATABASE=MDP3858-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) - - pci:v0000127Ad00001002sv0000122Dsd00004018* -- ID_MODEL_FROM_DATABASE=MDP3858-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) - - pci:v0000127Ad00001002sv0000127Asd00001002* -- ID_MODEL_FROM_DATABASE=Rockwell 56K D/F HCF Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Rockwell 56K D/F HCF Modem) - - pci:v0000127Ad00001003* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00001003sv00000E11sd0000B0BC* -- ID_MODEL_FROM_DATABASE=229-DF Zephyr -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Zephyr) - - pci:v0000127Ad00001003sv00000E11sd0000B114* -- ID_MODEL_FROM_DATABASE=229-DF Cheetah -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Cheetah) - - pci:v0000127Ad00001003sv00001033sd0000802B* -- ID_MODEL_FROM_DATABASE=229-DF -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF) - - pci:v0000127Ad00001003sv000013DFsd00001003* -- ID_MODEL_FROM_DATABASE=PCI56RX Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PCI56RX Modem) - - pci:v0000127Ad00001003sv000013E0sd00000117* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv000013E0sd00000147* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 Spain V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 Spain V.90 Modem) - - pci:v0000127Ad00001003sv000013E0sd00000197* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv000013E0sd000001C7* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 WW V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 WW V.90 Modem) - - pci:v0000127Ad00001003sv000013E0sd000001F7* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv00001436sd00001003* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv00001436sd00001103* -- ID_MODEL_FROM_DATABASE=IBM 5614PM3G V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM 5614PM3G V.90 Modem) - - pci:v0000127Ad00001003sv00001436sd00001602* -- ID_MODEL_FROM_DATABASE=Compaq 229-DF Ducati -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq 229-DF Ducati) - - pci:v0000127Ad00001004* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem - - pci:v0000127Ad00001004sv00001048sd00001500* -- ID_MODEL_FROM_DATABASE=MicroLink 56k Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (MicroLink 56k Modem) - - pci:v0000127Ad00001004sv000010CFsd00001059* -- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFRT -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Fujitsu 229-DFRT) - - pci:v0000127Ad00001005* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v0000127Ad00001005sv00001005sd0000127A* -- ID_MODEL_FROM_DATABASE=AOpen FM56-P -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (AOpen FM56-P) - - pci:v0000127Ad00001005sv00001033sd00008029* -- ID_MODEL_FROM_DATABASE=229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (229-DFSV) - - pci:v0000127Ad00001005sv00001033sd00008054* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Modem) - - pci:v0000127Ad00001005sv000010CFsd0000103C* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00001005sv000010CFsd00001055* -- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) - - pci:v0000127Ad00001005sv000010CFsd00001056* -- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) - - pci:v0000127Ad00001005sv0000122Dsd00004003* -- ID_MODEL_FROM_DATABASE=MDP3858SP-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-U) - - pci:v0000127Ad00001005sv0000122Dsd00004006* -- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-E -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-E) - - pci:v0000127Ad00001005sv0000122Dsd00004008* -- ID_MODEL_FROM_DATABASE=MDP3858SP-A/SP-NZ -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-A/SP-NZ) - - pci:v0000127Ad00001005sv0000122Dsd00004009* -- ID_MODEL_FROM_DATABASE=MDP3858SP-E -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-E) - - pci:v0000127Ad00001005sv0000122Dsd00004010* -- ID_MODEL_FROM_DATABASE=MDP3858V-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-U) - - pci:v0000127Ad00001005sv0000122Dsd00004011* -- ID_MODEL_FROM_DATABASE=MDP3858SP-SA -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-SA) - - pci:v0000127Ad00001005sv0000122Dsd00004013* -- ID_MODEL_FROM_DATABASE=MDP3858V-A/V-NZ -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-A/V-NZ) - - pci:v0000127Ad00001005sv0000122Dsd00004015* -- ID_MODEL_FROM_DATABASE=MDP3858SP-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-W) - - pci:v0000127Ad00001005sv0000122Dsd00004016* -- ID_MODEL_FROM_DATABASE=MDP3858V-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-W) - - pci:v0000127Ad00001005sv0000122Dsd00004019* -- ID_MODEL_FROM_DATABASE=MDP3858V-SA -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-SA) - - pci:v0000127Ad00001005sv000013DFsd00001005* -- ID_MODEL_FROM_DATABASE=PCI56RVP Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (PCI56RVP Modem) - - pci:v0000127Ad00001005sv000013E0sd00000187* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv000013E0sd000001A7* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv000013E0sd000001B7* -- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 Spain V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 Spain V.90 Modem) - - pci:v0000127Ad00001005sv000013E0sd000001D7* -- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 WW V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 WW V.90 Modem) - - pci:v0000127Ad00001005sv00001436sd00001005* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv00001436sd00001105* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv00001437sd00001105* -- ID_MODEL_FROM_DATABASE=IBM 5614PS3G V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM 5614PS3G V.90 Modem) - - pci:v0000127Ad00001022* - ID_MODEL_FROM_DATABASE=HCF 56k Modem - - pci:v0000127Ad00001022sv00001436sd00001303* -- ID_MODEL_FROM_DATABASE=M3-5614PM3G V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (M3-5614PM3G V.90 Modem) - - pci:v0000127Ad00001023* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00001023sv0000122Dsd00004020* -- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858-WE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Packard Bell MDP3858-WE) - - pci:v0000127Ad00001023sv0000122Dsd00004023* -- ID_MODEL_FROM_DATABASE=MDP3858-UE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-UE) - - pci:v0000127Ad00001023sv000013E0sd00000247* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 Spain V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 Spain V.90 Modem) - - pci:v0000127Ad00001023sv000013E0sd00000297* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001023sv000013E0sd000002C7* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 WW V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 WW V.90 Modem) - - pci:v0000127Ad00001023sv00001436sd00001203* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001023sv00001436sd00001303* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001024* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem -@@ -37992,19 +37992,19 @@ pci:v0000127Ad00001025* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v0000127Ad00001025sv000010CFsd0000106A* -- ID_MODEL_FROM_DATABASE=Fujitsu 235-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 235-DFSV) - - pci:v0000127Ad00001025sv0000122Dsd00004021* -- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-WE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-WE) - - pci:v0000127Ad00001025sv0000122Dsd00004022* -- ID_MODEL_FROM_DATABASE=MDP3858SP-WE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-WE) - - pci:v0000127Ad00001025sv0000122Dsd00004024* -- ID_MODEL_FROM_DATABASE=MDP3858V-UE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-UE) - - pci:v0000127Ad00001025sv0000122Dsd00004025* -- ID_MODEL_FROM_DATABASE=MDP3858SP-UE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-UE) - - pci:v0000127Ad00001026* - ID_MODEL_FROM_DATABASE=HCF 56k PCI Speakerphone Modem -@@ -38034,85 +38034,85 @@ pci:v0000127Ad00002005* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00002005sv0000104Dsd00008044* -- ID_MODEL_FROM_DATABASE=229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd00008045* -- ID_MODEL_FROM_DATABASE=229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd00008055* -- ID_MODEL_FROM_DATABASE=PBE/Aztech 235W-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PBE/Aztech 235W-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd00008056* -- ID_MODEL_FROM_DATABASE=235-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (235-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd0000805A* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002005sv0000104Dsd0000805F* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002005sv0000104Dsd00008074* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002013* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem - - pci:v0000127Ad00002013sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002013sv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002014* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem - - pci:v0000127Ad00002014sv000010CFsd00001057* -- ID_MODEL_FROM_DATABASE=Fujitsu Citicorp III -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Fujitsu Citicorp III) - - pci:v0000127Ad00002014sv0000122Dsd00004050* -- ID_MODEL_FROM_DATABASE=MSP3880-U -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-U) - - pci:v0000127Ad00002014sv0000122Dsd00004055* -- ID_MODEL_FROM_DATABASE=MSP3880-W -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-W) - - pci:v0000127Ad00002015* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v0000127Ad00002015sv000010CFsd00001063* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00002015sv000010CFsd00001064* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00002015sv00001468sd00002015* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00002016* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem - - pci:v0000127Ad00002016sv0000122Dsd00004051* -- ID_MODEL_FROM_DATABASE=MSP3880V-W -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-W) - - pci:v0000127Ad00002016sv0000122Dsd00004052* -- ID_MODEL_FROM_DATABASE=MSP3880SP-W -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-W) - - pci:v0000127Ad00002016sv0000122Dsd00004054* -- ID_MODEL_FROM_DATABASE=MSP3880V-U -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-U) - - pci:v0000127Ad00002016sv0000122Dsd00004056* -- ID_MODEL_FROM_DATABASE=MSP3880SP-U -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-U) - - pci:v0000127Ad00002016sv0000122Dsd00004057* -- ID_MODEL_FROM_DATABASE=MSP3880SP-A -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-A) - - pci:v0000127Ad00004311* - ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem - - pci:v0000127Ad00004311sv0000127Asd00004311* -- ID_MODEL_FROM_DATABASE=Ring Modular? Riptide HSF RT HP Dom -+ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (Ring Modular? Riptide HSF RT HP Dom) - - pci:v0000127Ad00004311sv000013E0sd00000210* -- ID_MODEL_FROM_DATABASE=HP-GVC -+ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (HP-GVC) - - pci:v0000127Ad00004320* - ID_MODEL_FROM_DATABASE=Riptide PCI Audio Controller -@@ -38124,16 +38124,16 @@ pci:v0000127Ad00004321* - ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem - - pci:v0000127Ad00004321sv00001235sd00004321* -- ID_MODEL_FROM_DATABASE=Hewlett Packard DF -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) - - pci:v0000127Ad00004321sv00001235sd00004324* -- ID_MODEL_FROM_DATABASE=Hewlett Packard DF -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) - - pci:v0000127Ad00004321sv000013E0sd00000210* -- ID_MODEL_FROM_DATABASE=Hewlett Packard DF -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) - - pci:v0000127Ad00004321sv0000144Dsd00002321* -- ID_MODEL_FROM_DATABASE=Riptide -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Riptide) - - pci:v0000127Ad00004322* - ID_MODEL_FROM_DATABASE=Riptide PCI Game Controller -@@ -38190,7 +38190,7 @@ pci:v00001282d00009102* - ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet - - pci:v00001282d00009102sv00000291sd00008212* -- ID_MODEL_FROM_DATABASE=DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit -+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit) - - pci:v00001282d00009132* - ID_MODEL_FROM_DATABASE=Ethernet 100/10 MBit -@@ -38208,19 +38208,19 @@ pci:v00001283d00008211* - ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 - - pci:v00001283d00008211sv00001043sd00008138* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 (P5GD1-VW Mainboard) - - pci:v00001283d00008212* - ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller - - pci:v00001283d00008212sv00001283sd00000001* -- ID_MODEL_FROM_DATABASE=IT/ITE8212 Dual channel ATA RAID controller -+ ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller (IT/ITE8212 Dual channel ATA RAID controller) - - pci:v00001283d00008213* - ID_MODEL_FROM_DATABASE=IT8213 IDE Controller - - pci:v00001283d00008213sv00001458sd0000B000* -- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard -+ ID_MODEL_FROM_DATABASE=IT8213 IDE Controller (GA-EG45M-DS2H Mainboard) - - pci:v00001283d00008330* - ID_MODEL_FROM_DATABASE=IT8330G -@@ -38451,19 +38451,19 @@ pci:v000012AEd00000001* - ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet - - pci:v000012AEd00000001sv00001014sd00000104* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX PCI Adapter) - - pci:v000012AEd00000001sv000012AEsd00000001* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX (Universal) -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX (Universal)) - - pci:v000012AEd00000002* - ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) - - pci:v000012AEd00000002sv000010A9sd00008002* -- ID_MODEL_FROM_DATABASE=Acenic Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Acenic Gigabit Ethernet) - - pci:v000012AEd00000002sv000012AEsd00000002* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-T (3C986-T) -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Gigabit Ethernet-T (3C986-T)) - - pci:v000012AEd000000FA* - ID_MODEL_FROM_DATABASE=Farallon PN9100-T Gigabit Ethernet -@@ -38505,64 +38505,64 @@ pci:v000012B9d00001006* - ID_MODEL_FROM_DATABASE=WinModem - - pci:v000012B9d00001006sv000012B9sd0000005C* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 3472) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 3472)) - - pci:v000012B9d00001006sv000012B9sd0000005E* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 662975) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 662975)) - - pci:v000012B9d00001006sv000012B9sd00000062* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662978) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662978)) - - pci:v000012B9d00001006sv000012B9sd00000068* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 5690) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 5690)) - - pci:v000012B9d00001006sv000012B9sd0000007A* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662974) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662974)) - - pci:v000012B9d00001006sv000012B9sd0000007F* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 5698, 5699) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 5698, 5699)) - - pci:v000012B9d00001006sv000012B9sd00000080* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 2975, 3528) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 2975, 3528)) - - pci:v000012B9d00001006sv000012B9sd00000081* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Models 2974, 3529) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Models 2974, 3529)) - - pci:v000012B9d00001006sv000012B9sd00000091* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 2978) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 2978)) - - pci:v000012B9d00001007* - ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem - - pci:v000012B9d00001007sv000012B9sd000000A3* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Model 3595) -+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem ((Model 3595)) - - pci:v000012B9d00001007sv000012B9sd000000C4* -- ID_MODEL_FROM_DATABASE=U.S. Robotics V.92 Voice Faxmodem (2884A/B/C) -+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (U.S. Robotics V.92 Voice Faxmodem (2884A/B/C)) - - pci:v000012B9d00001008* - ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 - - pci:v000012B9d00001008sv000012B9sd000000A2* -- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 2977) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 2977)) - - pci:v000012B9d00001008sv000012B9sd000000AA* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 2976) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 2976)) - - pci:v000012B9d00001008sv000012B9sd000000AB* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 5609) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 5609)) - - pci:v000012B9d00001008sv000012B9sd000000AC* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 3298) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 3298)) - - pci:v000012B9d00001008sv000012B9sd000000AD* -- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 5610) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 5610)) - - pci:v000012B9d00001008sv000012B9sd000000D3* -- ID_MODEL_FROM_DATABASE=USR 56K Internal V92 FAX Modem (Model 5610) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal V92 FAX Modem (Model 5610)) - - pci:v000012B9d00001008sv000012B9sd0000BABA* -- ID_MODEL_FROM_DATABASE=USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk]) - - pci:v000012BA* - ID_VENDOR_FROM_DATABASE=BittWare, Inc. -@@ -38586,7 +38586,7 @@ pci:v000012BEd00003042* - ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite - - pci:v000012BEd00003042sv000012BEsd00003042* -- ID_MODEL_FROM_DATABASE=Anchor Chips Lite Evaluation Board -+ ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite (Anchor Chips Lite Evaluation Board) - - pci:v000012BF* - ID_VENDOR_FROM_DATABASE=Fujifilm Microdevices -@@ -38781,58 +38781,58 @@ pci:v000012D2d00000018* - ID_MODEL_FROM_DATABASE=Riva128 - - pci:v000012D2d00000018sv00001048sd00000C10* -- ID_MODEL_FROM_DATABASE=VICTORY Erazor -+ ID_MODEL_FROM_DATABASE=Riva128 (VICTORY Erazor) - - pci:v000012D2d00000018sv0000107Bsd00008030* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv00001092sd00000350* -- ID_MODEL_FROM_DATABASE=Viper V330 -+ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) - - pci:v000012D2d00000018sv00001092sd00001092* -- ID_MODEL_FROM_DATABASE=Viper V330 -+ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) - - pci:v000012D2d00000018sv000010B4sd00001B1B* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00001B1D* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00001B1E* -- ID_MODEL_FROM_DATABASE=STB Velocity 128, PAL TV-Out -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128, PAL TV-Out) - - pci:v000012D2d00000018sv000010B4sd00001B20* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 Sapphire -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 Sapphire) - - pci:v000012D2d00000018sv000010B4sd00001B21* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00001B22* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, NTSC TV-Out -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, NTSC TV-Out) - - pci:v000012D2d00000018sv000010B4sd00001B23* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, PAL TV-Out -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, PAL TV-Out) - - pci:v000012D2d00000018sv000010B4sd00001B27* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 DVD -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 DVD) - - pci:v000012D2d00000018sv000010B4sd00001B88* -- ID_MODEL_FROM_DATABASE=MVP Pro 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (MVP Pro 128) - - pci:v000012D2d00000018sv000010B4sd0000222A* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) - - pci:v000012D2d00000018sv000010B4sd00002230* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00002232* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00002235* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) - - pci:v000012D2d00000018sv00002A15sd000054A3* -- ID_MODEL_FROM_DATABASE=3DVision-SAGP / 3DexPlorer 3000 -+ ID_MODEL_FROM_DATABASE=Riva128 (3DVision-SAGP / 3DexPlorer 3000) - - pci:v000012D2d00000019* - ID_MODEL_FROM_DATABASE=Riva128ZX -@@ -38916,7 +38916,7 @@ pci:v000012D8d0000E110* - ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge - - pci:v000012D8d0000E110sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 CompactPCI Bridge -+ ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge (CC11/CL11 CompactPCI Bridge) - - pci:v000012D8d0000E111* - ID_MODEL_FROM_DATABASE=PI7C9X111SL PCIe-to-PCI Reversible Bridge -@@ -38940,10 +38940,10 @@ pci:v000012D9d00001078* - ID_MODEL_FROM_DATABASE=Prosody X class e1000 device - - pci:v000012D9d00001078sv000012D9sd0000000D* -- ID_MODEL_FROM_DATABASE=Prosody X PCI -+ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X PCI) - - pci:v000012D9d00001078sv000012D9sd0000000E* -- ID_MODEL_FROM_DATABASE=Prosody X cPCI -+ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X cPCI) - - pci:v000012DA* - ID_VENDOR_FROM_DATABASE=True Time Inc. -@@ -39015,67 +39015,67 @@ pci:v000012EBd00000001* - ID_MODEL_FROM_DATABASE=Vortex 1 - - pci:v000012EBd00000001sv0000104Dsd00008036* -- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) - - pci:v000012EBd00000001sv00001092sd00002000* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv00001092sd00002100* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv00001092sd00002110* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv00001092sd00002200* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv0000122Dsd00001002* -- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) - - pci:v000012EBd00000001sv000012EBsd00000001* -- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) - - pci:v000012EBd00000001sv00005053sd00003355* -- ID_MODEL_FROM_DATABASE=Montego -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Montego) - - pci:v000012EBd00000001sv000050B2sd00001111* -- ID_MODEL_FROM_DATABASE=XLerate -+ ID_MODEL_FROM_DATABASE=Vortex 1 (XLerate) - - pci:v000012EBd00000002* - ID_MODEL_FROM_DATABASE=Vortex 2 - - pci:v000012EBd00000002sv0000104Dsd00008049* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv0000104Dsd0000807B* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv00001092sd00003000* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003001* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003002* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003003* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003004* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv000012EBsd00000002* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv000012EBsd00000088* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv0000144Dsd00003510* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv00005053sd00003356* -- ID_MODEL_FROM_DATABASE=Montego II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Montego II) - - pci:v000012EBd00000003* - ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor -@@ -39465,16 +39465,16 @@ pci:v00001317d00000985* - ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 - - pci:v00001317d00000985sv00001734sd0000100C* -- ID_MODEL_FROM_DATABASE=Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter -+ ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 (Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter) - - pci:v00001317d00001985* - ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet - - pci:v00001317d00001985sv00001385sd0000511A* -- ID_MODEL_FROM_DATABASE=FA511 -+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (FA511) - - pci:v00001317d00001985sv00001395sd00002103* -- ID_MODEL_FROM_DATABASE=CB100-EZ (4-LED version) -+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (CB100-EZ (4-LED version)) - - pci:v00001317d00002850* - ID_MODEL_FROM_DATABASE=HSP MicroModem 56 -@@ -39486,10 +39486,10 @@ pci:v00001317d00008201* - ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface - - pci:v00001317d00008201sv000010B8sd00002635* -- ID_MODEL_FROM_DATABASE=SMC2635W v1 802.11b Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v1 802.11b Wireless Cardbus Adapter) - - pci:v00001317d00008201sv00001317sd00008201* -- ID_MODEL_FROM_DATABASE=SMC2635W v2 802.11b Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v2 802.11b Wireless Cardbus Adapter) - - pci:v00001317d00008211* - ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface -@@ -39510,13 +39510,13 @@ pci:v00001319d00000801* - ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] - - pci:v00001319d00000801sv00001319sd00001319* -- ID_MODEL_FROM_DATABASE=FM801 PCI Audio -+ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] (FM801 PCI Audio) - - pci:v00001319d00000802* - ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] - - pci:v00001319d00000802sv00001319sd00001319* -- ID_MODEL_FROM_DATABASE=FM801 PCI Joystick -+ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] (FM801 PCI Joystick) - - pci:v00001319d00001000* - ID_MODEL_FROM_DATABASE=FM801 PCI Audio -@@ -39618,7 +39618,7 @@ pci:v0000131Fd00002030* - ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 - - pci:v0000131Fd00002030sv0000131Fsd00002030* -- ID_MODEL_FROM_DATABASE=PCI Serial Card -+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 (PCI Serial Card) - - pci:v0000131Fd00002031* - ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16650 -@@ -39834,7 +39834,7 @@ pci:v0000134Dd00007890* - ID_MODEL_FROM_DATABASE=HSP MicroModem 56 - - pci:v0000134Dd00007890sv0000134Dsd00000001* -- ID_MODEL_FROM_DATABASE=PCT789 adapter -+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56 (PCT789 adapter) - - pci:v0000134Dd00007891* - ID_MODEL_FROM_DATABASE=HSP MicroModem 56 -@@ -40119,7 +40119,7 @@ pci:v00001371d0000434E* - ID_MODEL_FROM_DATABASE=GigaCard Network Adapter - - pci:v00001371d0000434Esv00001371sd0000434E* -- ID_MODEL_FROM_DATABASE=N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) -+ ID_MODEL_FROM_DATABASE=GigaCard Network Adapter (N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)) - - pci:v00001373* - ID_VENDOR_FROM_DATABASE=Silicon Vision Inc -@@ -40515,10 +40515,10 @@ pci:v00001394d00000001* - ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet - - pci:v00001394d00000001sv00001186sd00004800* -- ID_MODEL_FROM_DATABASE=DGE-500SX -+ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (DGE-500SX) - - pci:v00001394d00000001sv00001394sd00000001* -- ID_MODEL_FROM_DATABASE=NetCelerator Adapter -+ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (NetCelerator Adapter) - - pci:v00001395* - ID_VENDOR_FROM_DATABASE=Ambicom Inc -@@ -40533,40 +40533,40 @@ pci:v00001397d000008B4* - ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] - - pci:v00001397d000008B4sv00001397sd0000B520* -- ID_MODEL_FROM_DATABASE=HFC-4S [IOB4ST] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [IOB4ST]) - - pci:v00001397d000008B4sv00001397sd0000B540* -- ID_MODEL_FROM_DATABASE=HFC-4S [Swyx 4xS0 SX2 QuadBri] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx 4xS0 SX2 QuadBri]) - - pci:v00001397d000008B4sv00001397sd0000B550* -- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns quadBRI] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns quadBRI]) - - pci:v00001397d000008B4sv00001397sd0000B556* -- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns DuoDBRI] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns DuoDBRI]) - - pci:v00001397d000008B4sv00001397sd0000E888* -- ID_MODEL_FROM_DATABASE=HFC-4S [OpenVox B200P / B400P] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P / B400P]) - - pci:v00001397d000016B8* - ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] - - pci:v00001397d000016B8sv00001397sd0000B562* -- ID_MODEL_FROM_DATABASE=HFC-8S [IOB8ST] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB8ST]) - - pci:v00001397d00002BD0* - ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] - - pci:v00001397d00002BD0sv00000675sd00001704* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C)) - - pci:v00001397d00002BD0sv00000675sd00001708* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C, ACPI) -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C, ACPI)) - - pci:v00001397d00002BD0sv00001397sd00002BD0* -- ID_MODEL_FROM_DATABASE=ISDN Board -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Board) - - pci:v00001397d00002BD0sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CI1-1-Harp -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (CI1-1-Harp) - - pci:v00001397d000030B1* - ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] -@@ -40665,46 +40665,46 @@ pci:v000013A3d0000002F* - ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor - - pci:v000013A3d0000002Fsv000013A3sd00001600* -- ID_MODEL_FROM_DATABASE=DR1600 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1600 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001605* -- ID_MODEL_FROM_DATABASE=DR1605 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1605 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001610* -- ID_MODEL_FROM_DATABASE=DR1610 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1610 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001615* -- ID_MODEL_FROM_DATABASE=DR1615 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1615 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001620* -- ID_MODEL_FROM_DATABASE=DR1620 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1620 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001625* -- ID_MODEL_FROM_DATABASE=DR1625 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1625 Acceleration Card) - - pci:v000013A3d00000033* - ID_MODEL_FROM_DATABASE=8201 Acceleration Processor - - pci:v000013A3d00000033sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1710 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8201 Acceleration Processor (DX1710 Acceleration Card) - - pci:v000013A3d00000034* - ID_MODEL_FROM_DATABASE=8202 Acceleration Processor - - pci:v000013A3d00000034sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1720 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8202 Acceleration Processor (DX1720 Acceleration Card) - - pci:v000013A3d00000035* - ID_MODEL_FROM_DATABASE=8203 Acceleration Processor - - pci:v000013A3d00000035sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1730 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8203 Acceleration Processor (DX1730 Acceleration Card) - - pci:v000013A3d00000037* - ID_MODEL_FROM_DATABASE=8204 Acceleration Processor - - pci:v000013A3d00000037sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1740 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8204 Acceleration Processor (DX1740 Acceleration Card) - - pci:v000013A4* - ID_VENDOR_FROM_DATABASE=Rascom Inc -@@ -41067,7 +41067,7 @@ pci:v000013F0d00000200* - ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY - - pci:v000013F0d00000200sv00001043sd00008213* -- ID_MODEL_FROM_DATABASE=NX1001 -+ ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY (NX1001) - - pci:v000013F0d00000201* - ID_MODEL_FROM_DATABASE=ST201 Sundance Ethernet -@@ -41079,7 +41079,7 @@ pci:v000013F0d00001023* - ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet - - pci:v000013F0d00001023sv00001043sd00008180* -- ID_MODEL_FROM_DATABASE=NX1101 -+ ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet (NX1101) - - pci:v000013F1* - ID_VENDOR_FROM_DATABASE=Oce' - Technologies B.V. -@@ -41109,76 +41109,76 @@ pci:v000013F6d00000100* - ID_MODEL_FROM_DATABASE=CM8338A - - pci:v000013F6d00000100sv000013F6sd0000FFFF* -- ID_MODEL_FROM_DATABASE=CMI8338/C3DX PCI Audio Device -+ ID_MODEL_FROM_DATABASE=CM8338A (CMI8338/C3DX PCI Audio Device) - - pci:v000013F6d00000101* - ID_MODEL_FROM_DATABASE=CM8338B - - pci:v000013F6d00000101sv000013F6sd00000101* -- ID_MODEL_FROM_DATABASE=CMI8338-031 PCI Audio Device -+ ID_MODEL_FROM_DATABASE=CM8338B (CMI8338-031 PCI Audio Device) - - pci:v000013F6d00000111* - ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio - - pci:v000013F6d00000111sv00001019sd00000970* -- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (P6STP-FL motherboard) - - pci:v000013F6d00000111sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CUSI-FX motherboard) - - pci:v000013F6d00000111sv00001043sd00008077* -- ID_MODEL_FROM_DATABASE=CMI8738 6-channel audio controller -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6-channel audio controller) - - pci:v000013F6d00000111sv00001043sd000080E2* -- ID_MODEL_FROM_DATABASE=CMI8738 6ch-MX -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6ch-MX) - - pci:v000013F6d00000111sv000013F6sd00000111* -- ID_MODEL_FROM_DATABASE=CMI8738/C3DX PCI Audio Device -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738/C3DX PCI Audio Device) - - pci:v000013F6d00000111sv000013F6sd00009761* -- ID_MODEL_FROM_DATABASE=Theatron Agrippa -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Theatron Agrippa) - - pci:v000013F6d00000111sv0000153Bsd00001144* -- ID_MODEL_FROM_DATABASE=Aureon 5.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 5.1) - - pci:v000013F6d00000111sv0000153Bsd00001170* -- ID_MODEL_FROM_DATABASE=Aureon 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 7.1) - - pci:v000013F6d00000111sv00001681sd0000A000* -- ID_MODEL_FROM_DATABASE=Gamesurround MUSE XL -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Gamesurround MUSE XL) - - pci:v000013F6d00000111sv000017ABsd00000604* -- ID_MODEL_FROM_DATABASE=PSC604 Dynamic Edge -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC604 Dynamic Edge) - - pci:v000013F6d00000111sv000017ABsd00000605* -- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) - - pci:v000013F6d00000111sv000017ABsd00007777* -- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) - - pci:v000013F6d00000111sv0000270Fsd00001103* -- ID_MODEL_FROM_DATABASE=CT-7NJS Ultra motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CT-7NJS Ultra motherboard) - - pci:v000013F6d00000111sv0000270Fsd0000F462* -- ID_MODEL_FROM_DATABASE=7NJL1 motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (7NJL1 motherboard) - - pci:v000013F6d00000111sv0000584Dsd00003731* -- ID_MODEL_FROM_DATABASE=Digital X-Mystique -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Digital X-Mystique) - - pci:v000013F6d00000111sv0000584Dsd00003741* -- ID_MODEL_FROM_DATABASE=X-Plosion 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Plosion 7.1) - - pci:v000013F6d00000111sv0000584Dsd00003751* -- ID_MODEL_FROM_DATABASE=X-Raider 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Raider 7.1) - - pci:v000013F6d00000111sv0000584Dsd00003761* -- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP) - - pci:v000013F6d00000111sv0000584Dsd00003771* -- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP Value -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP Value) - - pci:v000013F6d00000111sv00007284sd00008384* -- ID_MODEL_FROM_DATABASE=Striker 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Striker 7.1) - - pci:v000013F6d00000211* - ID_MODEL_FROM_DATABASE=CM8738 -@@ -41187,85 +41187,85 @@ pci:v000013F6d00005011* - ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] - - pci:v000013F6d00005011sv000013F6sd00005011* -- ID_MODEL_FROM_DATABASE=HDA Controller -+ ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] (HDA Controller) - - pci:v000013F6d00008788* - ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] - - pci:v000013F6d00008788sv00001043sd00008269* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2)) - - pci:v000013F6d00008788sv00001043sd00008275* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) - - pci:v000013F6d00008788sv00001043sd000082B7* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2X) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2X)) - - pci:v000013F6d00008788sv00001043sd00008314* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3)) - - pci:v000013F6d00008788sv00001043sd00008327* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) - - pci:v000013F6d00008788sv00001043sd0000834F* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar D1) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar D1)) - - pci:v000013F6d00008788sv00001043sd0000835C* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Essence STX) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) - - pci:v000013F6d00008788sv00001043sd0000835D* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar ST) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar ST)) - - pci:v000013F6d00008788sv00001043sd0000835E* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3 Slim) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3 Slim)) - - pci:v000013F6d00008788sv00001043sd0000838E* -- ID_MODEL_FROM_DATABASE=Virtuoso 66 (Xonar DS) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 66 (Xonar DS)) - - pci:v000013F6d00008788sv00001043sd00008428* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Xense) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Xense)) - - pci:v000013F6d00008788sv00001043sd00008467* -- ID_MODEL_FROM_DATABASE=CMI8786 (Xonar DG) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) - - pci:v000013F6d00008788sv000013F6sd00008782* -- ID_MODEL_FROM_DATABASE=PCI 2.0 HD Audio -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) - - pci:v000013F6d00008788sv000013F6sd0000FFFF* -- ID_MODEL_FROM_DATABASE=CMI8787-HG2PCI -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8787-HG2PCI) - - pci:v000013F6d00008788sv000014C3sd00001710* -- ID_MODEL_FROM_DATABASE=HiFier Fantasia -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Fantasia) - - pci:v000013F6d00008788sv000014C3sd00001711* -- ID_MODEL_FROM_DATABASE=HiFier Serenade -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade) - - pci:v000013F6d00008788sv000014C3sd00001713* -- ID_MODEL_FROM_DATABASE=HiFier Serenade III -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade III) - - pci:v000013F6d00008788sv00001A58sd00000910* -- ID_MODEL_FROM_DATABASE=Barracuda AC-1 -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Barracuda AC-1) - - pci:v000013F6d00008788sv0000415Asd00005431* -- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1) - - pci:v000013F6d00008788sv00005431sd0000017A* -- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 2G -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1 2G) - - pci:v000013F6d00008788sv0000584Dsd00003781* -- ID_MODEL_FROM_DATABASE=HDA X-Purity 7.1 Platinum -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HDA X-Purity 7.1 Platinum) - - pci:v000013F6d00008788sv00007284sd00009761* -- ID_MODEL_FROM_DATABASE=CLARO -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO) - - pci:v000013F6d00008788sv00007284sd00009781* -- ID_MODEL_FROM_DATABASE=CLARO halo -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO halo) - - pci:v000013F6d00008788sv00007284sd00009783* -- ID_MODEL_FROM_DATABASE=eCLARO -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (eCLARO) - - pci:v000013F6d00008788sv00007284sd00009787* -- ID_MODEL_FROM_DATABASE=CLARO II -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO II) - - pci:v000013F7* - ID_VENDOR_FROM_DATABASE=Wildfire Communications -@@ -41298,13 +41298,13 @@ pci:v000013FEd00001600* - ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) - - pci:v000013FEd00001600sv00001601sd00000002* -- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1601 2-port unisolated RS-422/485) - - pci:v000013FEd00001600sv00001602sd00000002* -- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1602 2-port isolated RS-422/485) - - pci:v000013FEd00001600sv00001612sd00000004* -- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1612 4-port RS-232/422/485) - - pci:v000013FEd00001603* - ID_MODEL_FROM_DATABASE=PCI-1603 2-port isolated RS-232/current loop -@@ -41316,13 +41316,13 @@ pci:v000013FEd000016FF* - ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) - - pci:v000013FEd000016FFsv00001601sd00000000* -- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 PCI communications card -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1601 2-port unisolated RS-422/485 PCI communications card) - - pci:v000013FEd000016FFsv00001602sd00000000* -- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1602 2-port isolated RS-422/485) - - pci:v000013FEd000016FFsv00001612sd00000000* -- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1612 4-port RS-232/422/485) - - pci:v000013FEd00001711* - ID_MODEL_FROM_DATABASE=PCI-1711 16-channel data acquisition card 12-bit, 100kS/s -@@ -41676,37 +41676,37 @@ pci:v00001409d00007168* - ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) - - pci:v00001409d00007168sv00001409sd00000002* -- ID_MODEL_FROM_DATABASE=SER4036A3V (2x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4036A3V (2x RS232 port)) - - pci:v00001409d00007168sv00001409sd00004027* -- ID_MODEL_FROM_DATABASE=SER4027A (1x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027A (1x RS232 port)) - - pci:v00001409d00007168sv00001409sd00004037* -- ID_MODEL_FROM_DATABASE=SER4037A (2x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037A (2x RS232 port)) - - pci:v00001409d00007168sv00001409sd00004056* -- ID_MODEL_FROM_DATABASE=SER4056A (4x RS232) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056A (4x RS232)) - - pci:v00001409d00007168sv00001409sd00005027* -- ID_MODEL_FROM_DATABASE=SER4027D -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027D) - - pci:v00001409d00007168sv00001409sd00005037* -- ID_MODEL_FROM_DATABASE=SER4037D (2x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037D (2x RS232 port)) - - pci:v00001409d00007168sv00001409sd00005066* -- ID_MODEL_FROM_DATABASE=SER4066R (8x RS232) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4066R (8x RS232)) - - pci:v00001409d00007168sv00001409sd00006056* -- ID_MODEL_FROM_DATABASE=SER4056D (4x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056D (4x RS232 port)) - - pci:v00001409d00007268* - ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) - - pci:v00001409d00007268sv00001409sd00000103* -- ID_MODEL_FROM_DATABASE=PAR4008A -+ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4008A) - - pci:v00001409d00007268sv00001409sd00000104* -- ID_MODEL_FROM_DATABASE=PAR4018A -+ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4018A) - - pci:v0000140A* - ID_VENDOR_FROM_DATABASE=DSP Research Inc -@@ -41739,106 +41739,106 @@ pci:v00001412d00001712* - ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller - - pci:v00001412d00001712sv00001412sd00001712* -- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24) - - pci:v00001412d00001712sv00001412sd00003632* -- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 192 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 192) - - pci:v00001412d00001712sv00001412sd0000D630* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010) - - pci:v00001412d00001712sv00001412sd0000D631* -- ID_MODEL_FROM_DATABASE=M-Audio Delta DiO -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta DiO) - - pci:v00001412d00001712sv00001412sd0000D632* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 66 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 66) - - pci:v00001412d00001712sv00001412sd0000D633* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 44 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 44) - - pci:v00001412d00001712sv00001412sd0000D634* -- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 2496 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 2496) - - pci:v00001412d00001712sv00001412sd0000D635* -- ID_MODEL_FROM_DATABASE=M-Audio Delta TDIF -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta TDIF) - - pci:v00001412d00001712sv00001412sd0000D637* -- ID_MODEL_FROM_DATABASE=M-Audio Delta RBUS -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta RBUS) - - pci:v00001412d00001712sv00001412sd0000D638* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 410 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 410) - - pci:v00001412d00001712sv00001412sd0000D63B* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010LT -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010LT) - - pci:v00001412d00001712sv00001412sd0000D63C* -- ID_MODEL_FROM_DATABASE=Digigram VX442 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Digigram VX442) - - pci:v00001412d00001712sv00001416sd00001712* -- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 Media 7.1 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24 Media 7.1) - - pci:v00001412d00001712sv0000153Bsd00001115* -- ID_MODEL_FROM_DATABASE=EWS88 MT -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT) - - pci:v00001412d00001712sv0000153Bsd00001125* -- ID_MODEL_FROM_DATABASE=EWS88 MT (Master) -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT (Master)) - - pci:v00001412d00001712sv0000153Bsd0000112B* -- ID_MODEL_FROM_DATABASE=EWS88 D -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D) - - pci:v00001412d00001712sv0000153Bsd0000112C* -- ID_MODEL_FROM_DATABASE=EWS88 D (Master) -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D (Master)) - - pci:v00001412d00001712sv0000153Bsd00001130* -- ID_MODEL_FROM_DATABASE=EWX 24/96 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWX 24/96) - - pci:v00001412d00001712sv0000153Bsd00001138* -- ID_MODEL_FROM_DATABASE=DMX 6fire 24/96 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (DMX 6fire 24/96) - - pci:v00001412d00001712sv0000153Bsd00001151* -- ID_MODEL_FROM_DATABASE=PHASE88 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (PHASE88) - - pci:v00001412d00001712sv000016CEsd00001040* -- ID_MODEL_FROM_DATABASE=Edirol DA-2496 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Edirol DA-2496) - - pci:v00001412d00001724* - ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller - - pci:v00001412d00001724sv000010B0sd00000200* -- ID_MODEL_FROM_DATABASE=Hollywood@Home 7.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Hollywood@Home 7.1) - - pci:v00001412d00001724sv00001412sd00001724* -- ID_MODEL_FROM_DATABASE=Albatron PX865PE 7.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Albatron PX865PE 7.1) - - pci:v00001412d00001724sv00001412sd00003630* -- ID_MODEL_FROM_DATABASE=M-Audio Revolution 7.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 7.1) - - pci:v00001412d00001724sv00001412sd00003631* -- ID_MODEL_FROM_DATABASE=M-Audio Revolution 5.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 5.1) - - pci:v00001412d00001724sv0000153Bsd00001145* -- ID_MODEL_FROM_DATABASE=Aureon 7.1 Space -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Space) - - pci:v00001412d00001724sv0000153Bsd00001147* -- ID_MODEL_FROM_DATABASE=Aureon 5.1 Sky -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 5.1 Sky) - - pci:v00001412d00001724sv0000153Bsd00001150* -- ID_MODEL_FROM_DATABASE=PHASE 22 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PHASE 22) - - pci:v00001412d00001724sv0000153Bsd00001153* -- ID_MODEL_FROM_DATABASE=Aureon 7.1 Universe -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Universe) - - pci:v00001412d00001724sv000017ABsd00001906* -- ID_MODEL_FROM_DATABASE=PSC 724 [Ultimate Edge] -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PSC 724 [Ultimate Edge]) - - pci:v00001412d00001724sv0000270Fsd0000F641* -- ID_MODEL_FROM_DATABASE=ZNF3-150 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-150) - - pci:v00001412d00001724sv0000270Fsd0000F645* -- ID_MODEL_FROM_DATABASE=ZNF3-250 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-250) - - pci:v00001412d00001724sv00003130sd00004154* -- ID_MODEL_FROM_DATABASE=MAYA 44 MKII -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (MAYA 44 MKII) - - pci:v00001413* - ID_VENDOR_FROM_DATABASE=Addonics -@@ -41904,28 +41904,28 @@ pci:v00001415d00009501* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) - - pci:v00001415d00009501sv000012C4sd00000201* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (2 port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (2 port)) - - pci:v00001415d00009501sv000012C4sd00000202* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (4 port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (4 port)) - - pci:v00001415d00009501sv000012C4sd00000203* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (8 port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (8 port)) - - pci:v00001415d00009501sv000012C4sd00000210* -- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p1-4) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/104-Plus (8 port, p1-4)) - - pci:v00001415d00009501sv0000131Fsd00002050* -- ID_MODEL_FROM_DATABASE=CyberPro (4-port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberPro (4-port)) - - pci:v00001415d00009501sv0000131Fsd00002051* -- ID_MODEL_FROM_DATABASE=CyberSerial 4S Plus -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberSerial 4S Plus) - - pci:v00001415d00009501sv000015EDsd00002000* -- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 8 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 8) - - pci:v00001415d00009501sv000015EDsd00002001* -- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 16 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 16) - - pci:v00001415d00009505* - ID_MODEL_FROM_DATABASE=OXuPCI952 (Dual 16C950 UART) -@@ -41940,19 +41940,19 @@ pci:v00001415d00009510* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) - - pci:v00001415d00009510sv000012C4sd00000200* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (Unused) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) (Titan/cPCI (Unused)) - - pci:v00001415d00009511* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) - - pci:v00001415d00009511sv000012C4sd00000211* -- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p5-8) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (Titan/104-Plus (8 port, p5-8)) - - pci:v00001415d00009511sv000015EDsd00002000* -- ID_MODEL_FROM_DATABASE=MCCR Serial p4-7 of 8 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-7 of 8) - - pci:v00001415d00009511sv000015EDsd00002001* -- ID_MODEL_FROM_DATABASE=MCCR Serial p4-15 of 16 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-15 of 16) - - pci:v00001415d00009512* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (32bit bus) -@@ -41970,10 +41970,10 @@ pci:v00001415d0000C158* - ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART - - pci:v00001415d0000C158sv0000E4BFsd0000C504* -- ID_MODEL_FROM_DATABASE=CP4-SCAT Wireless Technologies Carrier Board -+ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (CP4-SCAT Wireless Technologies Carrier Board) - - pci:v00001415d0000C158sv0000E4BFsd0000D551* -- ID_MODEL_FROM_DATABASE=DU1-MUSTANG Dual-Port RS-485 Interface -+ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (DU1-MUSTANG Dual-Port RS-485 Interface) - - pci:v00001415d0000C308* - ID_MODEL_FROM_DATABASE=EX-44016 16-port serial -@@ -42042,7 +42042,7 @@ pci:v00001425d00000030* - ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter - - pci:v00001425d00000030sv0000103Csd0000705E* -- ID_MODEL_FROM_DATABASE=PCIe 10GBase-SR [AD386A] -+ ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter (PCIe 10GBase-SR [AD386A]) - - pci:v00001425d00000031* - ID_MODEL_FROM_DATABASE=T320 10GbE Dual Port Adapter -@@ -43170,13 +43170,13 @@ pci:v0000144Dd0000A820* - ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X - - pci:v0000144Dd0000A820sv00001028sd00001F95* -- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 400GB -+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 400GB) - - pci:v0000144Dd0000A820sv00001028sd00001F96* -- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 800GB -+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 800GB) - - pci:v0000144Dd0000A820sv00001028sd00001F97* -- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 1600GB -+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 1600GB) - - pci:v0000144E* - ID_VENDOR_FROM_DATABASE=OLITEC -@@ -43656,19 +43656,19 @@ pci:v000014C1d00000008* - ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC - - pci:v000014C1d00000008sv000014C1sd00000008* -- ID_MODEL_FROM_DATABASE=10G-PCIE-8A -+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A) - - pci:v000014C1d00000008sv000014C1sd00000009* -- ID_MODEL_FROM_DATABASE=10G-PCIE-8A (MSI-X firmware) -+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A (MSI-X firmware)) - - pci:v000014C1d00000008sv000014C1sd0000000A* -- ID_MODEL_FROM_DATABASE=10G-PCIE-8B -+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8B) - - pci:v000014C1d00008043* - ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect - - pci:v000014C1d00008043sv0000103Csd00001240* -- ID_MODEL_FROM_DATABASE=Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) -+ ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect (Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)) - - pci:v000014C2* - ID_VENDOR_FROM_DATABASE=DTK Computer -@@ -43929,19 +43929,19 @@ pci:v000014E4d00001600* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express - - pci:v000014E4d00001600sv00001028sd000001C1* -- ID_MODEL_FROM_DATABASE=Precision 490 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Precision 490) - - pci:v000014E4d00001600sv00001028sd000001C2* -- ID_MODEL_FROM_DATABASE=Latitude D620 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Latitude D620) - - pci:v000014E4d00001600sv0000103Csd00003015* -- ID_MODEL_FROM_DATABASE=PCIe LAN on Motherboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (PCIe LAN on Motherboard) - - pci:v000014E4d00001600sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 Onboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (E4500 Onboard) - - pci:v000014E4d00001600sv00001259sd00002705* -- ID_MODEL_FROM_DATABASE=AT-2711FX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (AT-2711FX) - - pci:v000014E4d00001601* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5752M Gigabit Ethernet PCI Express -@@ -43956,52 +43956,52 @@ pci:v000014E4d00001639* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet - - pci:v000014E4d00001639sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 BCM5709 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R710 BCM5709 Gigabit Ethernet) - - pci:v000014E4d00001639sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 BCM5709 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R610 BCM5709 Gigabit Ethernet) - - pci:v000014E4d00001639sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 BCM5709 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge T610 BCM5709 Gigabit Ethernet) - - pci:v000014E4d00001639sv0000103Csd00007055* -- ID_MODEL_FROM_DATABASE=NC382i Integrated Multi-port PCI Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382i Integrated Multi-port PCI Express Gigabit Server Adapter) - - pci:v000014E4d00001639sv0000103Csd00007059* -- ID_MODEL_FROM_DATABASE=NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter) - - pci:v000014E4d00001639sv000010A9sd00008027* -- ID_MODEL_FROM_DATABASE=Quad port Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (Quad port Gigabit Ethernet Controller) - - pci:v000014E4d0000163A* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet - - pci:v000014E4d0000163Asv00001028sd0000027B* -- ID_MODEL_FROM_DATABASE=PowerEdge M805 Broadcom NetXtreme II BCM5709S -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M805 Broadcom NetXtreme II BCM5709S) - - pci:v000014E4d0000163Asv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 BCM5709S Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M710 BCM5709S Gigabit Ethernet) - - pci:v000014E4d0000163Asv0000103Csd0000171D* -- ID_MODEL_FROM_DATABASE=NC382m Dual Port 1GbE Multifunction BL-c Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382m Dual Port 1GbE Multifunction BL-c Adapter) - - pci:v000014E4d0000163Asv0000103Csd00007056* -- ID_MODEL_FROM_DATABASE=NC382i Integrated Quad Port PCI Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382i Integrated Quad Port PCI Express Gigabit Server Adapter) - - pci:v000014E4d0000163Asv00001259sd00002984* -- ID_MODEL_FROM_DATABASE=AT-2973SX -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (AT-2973SX) - - pci:v000014E4d0000163B* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet - - pci:v000014E4d0000163Bsv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 BCM5716 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R410 BCM5716 Gigabit Ethernet) - - pci:v000014E4d0000163Bsv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 BCM5716 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge T410 BCM5716 Gigabit Ethernet) - - pci:v000014E4d0000163Bsv00001028sd000002F1* -- ID_MODEL_FROM_DATABASE=PowerEdge R510 BCM5716 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R510 BCM5716 Gigabit Ethernet) - - pci:v000014E4d0000163C* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716S Gigabit Ethernet -@@ -44028,220 +44028,220 @@ pci:v000014E4d00001644* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet - - pci:v000014E4d00001644sv00001014sd00000277* -- ID_MODEL_FROM_DATABASE=Broadcom Vigil B5700 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom Vigil B5700 1000Base-T) - - pci:v000014E4d00001644sv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) - - pci:v000014E4d00001644sv00001028sd00000106* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) - - pci:v000014E4d00001644sv00001028sd00000109* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000Base-T) - - pci:v000014E4d00001644sv00001028sd0000010A* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000BaseTX) - - pci:v000014E4d00001644sv000010B7sd00001000* -- ID_MODEL_FROM_DATABASE=3C996-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-T 1000Base-T) - - pci:v000014E4d00001644sv000010B7sd00001001* -- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996B-T 1000Base-T) - - pci:v000014E4d00001644sv000010B7sd00001002* -- ID_MODEL_FROM_DATABASE=3C996C-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996C-T 1000Base-T) - - pci:v000014E4d00001644sv000010B7sd00001003* -- ID_MODEL_FROM_DATABASE=3C997-T 1000Base-T Dual Port -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-T 1000Base-T Dual Port) - - pci:v000014E4d00001644sv000010B7sd00001004* -- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-SX 1000Base-SX) - - pci:v000014E4d00001644sv000010B7sd00001005* -- ID_MODEL_FROM_DATABASE=3C997-SX 1000Base-SX Dual Port -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-SX 1000Base-SX Dual Port) - - pci:v000014E4d00001644sv000010B7sd00001008* -- ID_MODEL_FROM_DATABASE=3C942 Gigabit LOM (31X31) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C942 Gigabit LOM (31X31)) - - pci:v000014E4d00001644sv000014E4sd00000002* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) - - pci:v000014E4d00001644sv000014E4sd00000003* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) - - pci:v000014E4d00001644sv000014E4sd00000004* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-T) - - pci:v000014E4d00001644sv000014E4sd00001028* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000BaseTX) - - pci:v000014E4d00001644sv000014E4sd00001644* -- ID_MODEL_FROM_DATABASE=BCM5700 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (BCM5700 1000Base-T) - - pci:v000014E4d00001645* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet - - pci:v000014E4d00001645sv00000E11sd0000007C* -- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) - - pci:v000014E4d00001645sv00000E11sd0000007D* -- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) - - pci:v000014E4d00001645sv00000E11sd00000085* -- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) - - pci:v000014E4d00001645sv00000E11sd00000099* -- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) - - pci:v000014E4d00001645sv00000E11sd0000009A* -- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) - - pci:v000014E4d00001645sv00000E11sd000000C1* -- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) - - pci:v000014E4d00001645sv00001028sd00000121* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Broadcom BCM5701 1000Base-T) - - pci:v000014E4d00001645sv0000103Csd0000128A* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T (HP, OEM 3COM) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T (HP, OEM 3COM)) - - pci:v000014E4d00001645sv0000103Csd0000128B* -- ID_MODEL_FROM_DATABASE=1000Base-SX (PCI) [A7073A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (1000Base-SX (PCI) [A7073A]) - - pci:v000014E4d00001645sv0000103Csd000012A4* -- ID_MODEL_FROM_DATABASE=Core Lan 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core Lan 1000Base-T) - - pci:v000014E4d00001645sv0000103Csd000012C1* -- ID_MODEL_FROM_DATABASE=IOX Core Lan 1000Base-T [A7109AX] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IOX Core Lan 1000Base-T [A7109AX]) - - pci:v000014E4d00001645sv0000103Csd00001300* -- ID_MODEL_FROM_DATABASE=Core LAN/SCSI Combo [A6794A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core LAN/SCSI Combo [A6794A]) - - pci:v000014E4d00001645sv000010A9sd00008010* -- ID_MODEL_FROM_DATABASE=IO9/IO10 Gigabit Ethernet (Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IO9/IO10 Gigabit Ethernet (Copper)) - - pci:v000014E4d00001645sv000010A9sd00008011* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Copper)) - - pci:v000014E4d00001645sv000010A9sd00008012* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Fiber) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Fiber)) - - pci:v000014E4d00001645sv000010B7sd00001004* -- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996-SX 1000Base-SX) - - pci:v000014E4d00001645sv000010B7sd00001006* -- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996B-T 1000Base-T) - - pci:v000014E4d00001645sv000010B7sd00001007* -- ID_MODEL_FROM_DATABASE=3C1000-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C1000-T 1000Base-T) - - pci:v000014E4d00001645sv000010B7sd00001008* -- ID_MODEL_FROM_DATABASE=3C940-BR01 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C940-BR01 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000001* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000005* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000006* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000007* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-SX) - - pci:v000014E4d00001645sv000014E4sd00000008* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00001645* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet - - pci:v000014E4d00001645sv000014E4sd00008008* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001646* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet - - pci:v000014E4d00001646sv00000E11sd000000BB* -- ID_MODEL_FROM_DATABASE=NC7760 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (NC7760 1000BaseTX) - - pci:v000014E4d00001646sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5702 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (Broadcom BCM5702 1000BaseTX) - - pci:v000014E4d00001646sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5702 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (BCM5702 1000BaseTX) - - pci:v000014E4d00001647* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet - - pci:v000014E4d00001647sv00000E11sd00000099* -- ID_MODEL_FROM_DATABASE=NC7780 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7780 1000BaseTX) - - pci:v000014E4d00001647sv00000E11sd0000009A* -- ID_MODEL_FROM_DATABASE=NC7770 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7770 1000BaseTX) - - pci:v000014E4d00001647sv000010A9sd00008010* -- ID_MODEL_FROM_DATABASE=SGI IO9 Gigabit Ethernet (Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (SGI IO9 Gigabit Ethernet (Copper)) - - pci:v000014E4d00001647sv000014E4sd00000009* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001647sv000014E4sd0000000A* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseSX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseSX) - - pci:v000014E4d00001647sv000014E4sd0000000B* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001647sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001647sv000014E4sd0000800A* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001648* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet - - pci:v000014E4d00001648sv00000E11sd000000CF* -- ID_MODEL_FROM_DATABASE=NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv00000E11sd000000D0* -- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv00000E11sd000000D1* -- ID_MODEL_FROM_DATABASE=NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 1750) - - pci:v000014E4d00001648sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Broadcom NetXtreme BCM5704 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 6850 Broadcom NetXtreme BCM5704) - - pci:v000014E4d00001648sv0000103Csd0000310F* -- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv000010A9sd00008013* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Copper)) - - pci:v000014E4d00001648sv000010A9sd00008018* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (A330) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (A330)) - - pci:v000014E4d00001648sv000010A9sd0000801A* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (IA-blade) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (IA-blade)) - - pci:v000014E4d00001648sv000010A9sd0000801B* -- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Copper)) - - pci:v000014E4d00001648sv000010B7sd00002000* -- ID_MODEL_FROM_DATABASE=3C998-T Dual Port 10/100/1000 PCI-X -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C998-T Dual Port 10/100/1000 PCI-X) - - pci:v000014E4d00001648sv000010B7sd00003000* -- ID_MODEL_FROM_DATABASE=3C999-T Quad Port 10/100/1000 PCI-X -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C999-T Quad Port 10/100/1000 PCI-X) - - pci:v000014E4d00001648sv00001166sd00001648* -- ID_MODEL_FROM_DATABASE=NetXtreme CIOB-E 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NetXtreme CIOB-E 1000Base-T) - - pci:v000014E4d00001648sv00001734sd0000100B* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard LAN -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PRIMERGY RX/TX series onboard LAN) - - pci:v000014E4d00001649* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S_2 Gigabit Ethernet -@@ -44250,46 +44250,46 @@ pci:v000014E4d0000164A* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet - - pci:v000014E4d0000164Asv0000103Csd00001709* -- ID_MODEL_FROM_DATABASE=NC371i Integrated PCI-X Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC371i Integrated PCI-X Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Asv0000103Csd00003070* -- ID_MODEL_FROM_DATABASE=NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Asv0000103Csd00003101* -- ID_MODEL_FROM_DATABASE=NC370T MultifuNCtion Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370T MultifuNCtion Gigabit Server Adapter) - - pci:v000014E4d0000164Asv0000103Csd00003106* -- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164C* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet - - pci:v000014E4d0000164Csv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R900 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge 2970 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge T605 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00000223* -- ID_MODEL_FROM_DATABASE=PowerEdge R905 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R905 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00001F12* -- ID_MODEL_FROM_DATABASE=PowerEdge R805/R905 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805/R905 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv0000103Csd00007037* -- ID_MODEL_FROM_DATABASE=NC373T PCI Express Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373T PCI Express Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Csv0000103Csd00007038* -- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Csv0000103Csd00007045* -- ID_MODEL_FROM_DATABASE=NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702FE Gigabit Ethernet -@@ -44298,10 +44298,10 @@ pci:v000014E4d0000164E* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] - - pci:v000014E4d0000164Esv0000103Csd0000171C* -- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532m Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d0000164Esv0000103Csd00007058* -- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532i Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d0000164F* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711 10-Gigabit PCIe -@@ -44310,31 +44310,31 @@ pci:v000014E4d00001650* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe - - pci:v000014E4d00001650sv0000103Csd0000171C* -- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532m Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d00001650sv0000103Csd00007058* -- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532i Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d00001653* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet - - pci:v000014E4d00001653sv00000E11sd000000E3* -- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (NC7761 Gigabit Server Adapter) - - pci:v000014E4d00001653sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (Primergy Econel 200 D2020 mainboard) - - pci:v000014E4d00001654* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet - - pci:v000014E4d00001654sv00000E11sd000000E3* -- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC7761 Gigabit Server Adapter) - - pci:v000014E4d00001654sv0000103Csd00003100* -- ID_MODEL_FROM_DATABASE=NC1020 ProLiant Gigabit Server Adapter 32 PCI -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC1020 ProLiant Gigabit Server Adapter 32 PCI) - - pci:v000014E4d00001654sv0000103Csd00003226* -- ID_MODEL_FROM_DATABASE=NC150T 4-port Gigabit Combo Switch & Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC150T 4-port Gigabit Combo Switch & Adapter) - - pci:v000014E4d00001655* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe -@@ -44349,52 +44349,52 @@ pci:v000014E4d00001659* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express - - pci:v000014E4d00001659sv00001014sd000002C6* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (eServer xSeries server mainboard) - - pci:v000014E4d00001659sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge 860) - - pci:v000014E4d00001659sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 Broadcom NetXtreme BCM5721 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge R200 Broadcom NetXtreme BCM5721) - - pci:v000014E4d00001659sv0000103Csd0000170B* -- ID_MODEL_FROM_DATABASE=NC320m PCI Express Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320m PCI Express Dual Port Gigabit Server Adapter) - - pci:v000014E4d00001659sv0000103Csd00007031* -- ID_MODEL_FROM_DATABASE=NC320T PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320T PCIe Gigabit Server Adapter) - - pci:v000014E4d00001659sv0000103Csd00007032* -- ID_MODEL_FROM_DATABASE=NC320i PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320i PCIe Gigabit Server Adapter) - - pci:v000014E4d00001659sv00001734sd00001061* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard LAN -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PRIMERGY RX/TX S2 series onboard LAN) - - pci:v000014E4d0000165A* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express - - pci:v000014E4d0000165Asv00001014sd00000378* -- ID_MODEL_FROM_DATABASE=IBM System x3350 (Machine type 4192) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (IBM System x3350 (Machine type 4192)) - - pci:v000014E4d0000165Asv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 Broadcom NetXtreme 5722 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge R300 Broadcom NetXtreme 5722) - - pci:v000014E4d0000165Asv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 Broadcom NetXtreme 5722 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T300 Broadcom NetXtreme 5722) - - pci:v000014E4d0000165Asv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Broadcom NetXtreme 5722 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T105 Broadcom NetXtreme 5722) - - pci:v000014E4d0000165Asv0000103Csd00007051* -- ID_MODEL_FROM_DATABASE=NC105i PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105i PCIe Gigabit Server Adapter) - - pci:v000014E4d0000165Asv0000103Csd00007052* -- ID_MODEL_FROM_DATABASE=NC105T PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105T PCIe Gigabit Server Adapter) - - pci:v000014E4d0000165B* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe - - pci:v000014E4d0000165Bsv0000103Csd0000705D* -- ID_MODEL_FROM_DATABASE=NC107i Integrated PCI Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe (NC107i Integrated PCI Express Gigabit Server Adapter) - - pci:v000014E4d0000165C* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5724 Gigabit Ethernet PCIe -@@ -44403,25 +44403,25 @@ pci:v000014E4d0000165D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet - - pci:v000014E4d0000165Dsv00001028sd0000865D* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Latitude D400) - - pci:v000014E4d0000165Dsv000014E4sd0000165D* -- ID_MODEL_FROM_DATABASE=Dell Latitude D600 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Dell Latitude D600) - - pci:v000014E4d0000165E* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet - - pci:v000014E4d0000165Esv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC8000 laptop) - - pci:v000014E4d0000165Esv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC6000 laptop) - - pci:v000014E4d0000165Esv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NX6110/NC6120) - - pci:v000014E4d0000165Esv000010CFsd00001279* -- ID_MODEL_FROM_DATABASE=LifeBook E8010D -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (LifeBook E8010D) - - pci:v000014E4d0000165F* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5720 Gigabit Ethernet PCIe -@@ -44439,7 +44439,7 @@ pci:v000014E4d00001668* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet - - pci:v000014E4d00001668sv0000103Csd00007039* -- ID_MODEL_FROM_DATABASE=NC324i PCIe Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet (NC324i PCIe Dual Port Gigabit Server Adapter) - - pci:v000014E4d00001669* - ID_MODEL_FROM_DATABASE=NetXtreme 5714S Gigabit Ethernet -@@ -44448,7 +44448,7 @@ pci:v000014E4d0000166A* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet - - pci:v000014E4d0000166Asv0000103Csd00007035* -- ID_MODEL_FROM_DATABASE=NC325i Integrated Dual port PCIe Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet (NC325i Integrated Dual port PCIe Express Gigabit Server Adapter) - - pci:v000014E4d0000166B* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5780S Gigabit Ethernet -@@ -44472,91 +44472,91 @@ pci:v000014E4d00001677* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express - - pci:v000014E4d00001677sv00001028sd00000176* -- ID_MODEL_FROM_DATABASE=Dimension XPS Gen 4 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension XPS Gen 4) - - pci:v000014E4d00001677sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension 8400) - - pci:v000014E4d00001677sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Optiplex GX280) - - pci:v000014E4d00001677sv00001028sd00000182* -- ID_MODEL_FROM_DATABASE=Latitude D610 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Latitude D610) - - pci:v000014E4d00001677sv00001028sd00000187* -- ID_MODEL_FROM_DATABASE=Precision M70 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision M70) - - pci:v000014E4d00001677sv00001028sd000001A8* -- ID_MODEL_FROM_DATABASE=Precision 380 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision 380) - - pci:v000014E4d00001677sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (OptiPlex GX620) - - pci:v000014E4d00001677sv0000103Csd00003006* -- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (DC7100 SFF(DX878AV)) - - pci:v000014E4d00001677sv00001462sd0000028C* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (915P/G Neo2) - - pci:v000014E4d00001677sv00001734sd0000105D* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Scenic W620) - - pci:v000014E4d00001678* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet - - pci:v000014E4d00001678sv0000103Csd0000703E* -- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) - - pci:v000014E4d00001679* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet - - pci:v000014E4d00001679sv0000103Csd00001707* -- ID_MODEL_FROM_DATABASE=NC326m PCIe Dual Port Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326m PCIe Dual Port Adapter) - - pci:v000014E4d00001679sv0000103Csd0000170C* -- ID_MODEL_FROM_DATABASE=NC325m PCIe Quad Port Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC325m PCIe Quad Port Adapter) - - pci:v000014E4d00001679sv0000103Csd0000703C* -- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) - - pci:v000014E4d0000167A* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express - - pci:v000014E4d0000167Asv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (OptiPlex 745) - - pci:v000014E4d0000167Asv00001028sd000001DE* -- ID_MODEL_FROM_DATABASE=Precision 390 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision 390) - - pci:v000014E4d0000167Asv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (PowerEdge SC440) - - pci:v000014E4d0000167Asv00001028sd00000214* -- ID_MODEL_FROM_DATABASE=Precision T3400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T3400) - - pci:v000014E4d0000167Asv00001028sd0000021E* -- ID_MODEL_FROM_DATABASE=Precision T5400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T5400) - - pci:v000014E4d0000167B* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express - - pci:v000014E4d0000167Bsv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express (DC5750 Microtower) - - pci:v000014E4d0000167D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express - - pci:v000014E4d0000167Dsv00001014sd00000577* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad Z60t) - - pci:v000014E4d0000167Dsv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP nx8220 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP nx8220) - - pci:v000014E4d0000167Dsv0000103Csd00000940* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP Compaq nw8240 Mobile Workstation) - - pci:v000014E4d0000167Dsv000017AAsd00002081* -- ID_MODEL_FROM_DATABASE=ThinkPad R60e -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad R60e) - - pci:v000014E4d0000167E* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5751F Fast Ethernet PCI Express -@@ -44592,22 +44592,22 @@ pci:v000014E4d00001688* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet - - pci:v000014E4d00001688sv00001259sd00002708* -- ID_MODEL_FROM_DATABASE=AT-2712 FX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet (AT-2712 FX) - - pci:v000014E4d0000168A* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet - - pci:v000014E4d0000168Asv00001028sd00001F5C* -- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) - - pci:v000014E4d0000168Asv00001028sd00001F5D* -- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) - - pci:v000014E4d0000168Asv00001028sd00001F67* -- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) - - pci:v000014E4d0000168Asv00001028sd00001F68* -- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) - - pci:v000014E4d0000168D* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet -@@ -44616,34 +44616,34 @@ pci:v000014E4d0000168E* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet - - pci:v000014E4d0000168Esv0000103Csd00001798* -- ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (Flex-10 10Gb 2-port 530FLB Adapter [Meru]) - - pci:v000014E4d0000168Esv0000103Csd000017A5* -- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Flex-10 10Gb 2-port 530M Adapter) - - pci:v000014E4d0000168Esv0000103Csd000018D3* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530T Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001930* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001931* -- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP StoreFabric CN1100R Dual Port Converged Network Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001932* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLB Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001933* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534M Adapter) - - pci:v000014E4d0000168Esv0000103Csd0000193A* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) - - pci:v000014E4d0000168Esv0000103Csd00003382* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) - - pci:v000014E4d0000168Esv0000103Csd0000339D* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530SFP+ Adapter) - - pci:v000014E4d00001690* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe -@@ -44652,22 +44652,22 @@ pci:v000014E4d00001691* - ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe - - pci:v000014E4d00001691sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe (XPS 8300) - - pci:v000014E4d00001692* - ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe - - pci:v000014E4d00001692sv00001025sd0000033D* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe (Aspire 7740G) - - pci:v000014E4d00001693* - ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express - - pci:v000014E4d00001693sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (Aspire 5920G) - - pci:v000014E4d00001693sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=6710b -+ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (6710b) - - pci:v000014E4d00001694* - ID_MODEL_FROM_DATABASE=NetLink BCM57790 Gigabit Ethernet PCIe -@@ -44676,10 +44676,10 @@ pci:v000014E4d00001696* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet - - pci:v000014E4d00001696sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (d530 CMT (DG746A)) - - pci:v000014E4d00001696sv000014E4sd0000000D* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (NetXtreme BCM5782 1000Base-T) - - pci:v000014E4d00001698* - ID_MODEL_FROM_DATABASE=NetLink BCM5784M Gigabit Ethernet PCIe -@@ -44697,16 +44697,16 @@ pci:v000014E4d0000169C* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet - - pci:v000014E4d0000169Csv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (MX6125) - - pci:v000014E4d0000169Csv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (NC2400) - - pci:v000014E4d0000169Csv0000144Dsd0000C018* -- ID_MODEL_FROM_DATABASE=X20 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (X20) - - pci:v000014E4d0000169Csv00001462sd0000590C* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (KT6 Delta-FIS2R (MS-6590)) - - pci:v000014E4d0000169D* - ID_MODEL_FROM_DATABASE=NetLink BCM5789 Gigabit Ethernet PCI Express -@@ -44721,112 +44721,112 @@ pci:v000014E4d000016A2* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet - - pci:v000014E4d000016A2sv0000103Csd00001916* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630FLB Adapter) - - pci:v000014E4d000016A2sv0000103Csd00001917* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) - - pci:v000014E4d000016A4* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function - - pci:v000014E4d000016A4sv0000103Csd00001916* -- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630FLB Adapter) - - pci:v000014E4d000016A4sv0000103Csd00001917* -- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630M Adapter) - - pci:v000014E4d000016A5* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function - - pci:v000014E4d000016A5sv00001028sd00001F5C* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A5sv00001028sd00001F5D* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A5sv00001028sd00001F67* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A5sv00001028sd00001F68* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A6* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet - - pci:v000014E4d000016A6sv00000E11sd000000BB* -- ID_MODEL_FROM_DATABASE=NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) - - pci:v000014E4d000016A6sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016A6sv000014E4sd0000000C* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016A6sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016A7* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet - - pci:v000014E4d000016A7sv00000E11sd000000CA* -- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016A7sv00000E11sd000000CB* -- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016A7sv00001014sd0000026F* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (eServer xSeries server mainboard) - - pci:v000014E4d000016A7sv000014E4sd00000009* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016A7sv000014E4sd0000000A* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) - - pci:v000014E4d000016A7sv000014E4sd0000000B* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016A7sv000014E4sd0000800A* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016A8* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet - - pci:v000014E4d000016A8sv0000103Csd0000132B* -- ID_MODEL_FROM_DATABASE=PCI-X 1000Mbps Dual-port Built-in -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (PCI-X 1000Mbps Dual-port Built-in) - - pci:v000014E4d000016A8sv000010A9sd00008014* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Fiber) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Fiber)) - - pci:v000014E4d000016A8sv000010A9sd0000801C* -- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Fiber) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Fiber)) - - pci:v000014E4d000016A8sv000010B7sd00002001* -- ID_MODEL_FROM_DATABASE=3C998-SX Dual Port 1000-SX PCI-X -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (3C998-SX Dual Port 1000-SX PCI-X) - - pci:v000014E4d000016A9* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function - - pci:v000014E4d000016A9sv00001028sd00001F5C* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016A9sv00001028sd00001F5D* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016A9sv00001028sd00001F67* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016A9sv00001028sd00001F68* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016AA* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet - - pci:v000014E4d000016AAsv0000103Csd00003102* -- ID_MODEL_FROM_DATABASE=NC370F MultifuNCtion Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370F MultifuNCtion Gigabit Server Adapter) - - pci:v000014E4d000016AAsv0000103Csd0000310C* -- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016AB* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function -@@ -44838,97 +44838,97 @@ pci:v000014E4d000016ACsv00001014sd00000304* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet - - pci:v000014E4d000016ACsv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Broadcom NetXtreme II BCM5708S -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge 1955 Broadcom NetXtreme II BCM5708S) - - pci:v000014E4d000016ACsv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 Broadcom NetXtreme II BCM5708S -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge M605 Broadcom NetXtreme II BCM5708S) - - pci:v000014E4d000016ACsv0000103Csd00001706* -- ID_MODEL_FROM_DATABASE=NC373m Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373m Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016ACsv0000103Csd00007038* -- ID_MODEL_FROM_DATABASE=NC373i PCI Express Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i PCI Express Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016ACsv0000103Csd0000703B* -- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016ACsv0000103Csd0000703D* -- ID_MODEL_FROM_DATABASE=NC373F PCI Express Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373F PCI Express Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016AD* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function - - pci:v000014E4d000016ADsv0000103Csd00001916* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630FLB Adapter) - - pci:v000014E4d000016ADsv0000103Csd00001917* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630M Adapter) - - pci:v000014E4d000016AE* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function - - pci:v000014E4d000016AEsv0000103Csd00001798* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLB Adapter) - - pci:v000014E4d000016AEsv0000103Csd000017A5* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530M Adapter) - - pci:v000014E4d000016AEsv0000103Csd000018D3* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530T Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001930* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001931* -- ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR CN1100R Dual Port Converged Network Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001932* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLB Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001933* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534M Adapter) - - pci:v000014E4d000016AEsv0000103Csd0000193A* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 533FLR-T Adapter) - - pci:v000014E4d000016AEsv0000103Csd00003382* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter) - - pci:v000014E4d000016AEsv0000103Csd0000339D* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530SFP+ Adapter) - - pci:v000014E4d000016AF* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function - - pci:v000014E4d000016AFsv0000103Csd00001798* -- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530FLB Adapter) - - pci:v000014E4d000016AFsv0000103Csd000017A5* -- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530M Adapter) - - pci:v000014E4d000016AFsv0000103Csd000018D3* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530T Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001930* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001931* -- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP StoreFabric CN1100R Dual Port Converged Network Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001932* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLB Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001933* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534M Adapter) - - pci:v000014E4d000016AFsv0000103Csd0000193A* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) - - pci:v000014E4d000016AFsv0000103Csd00003382* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) - - pci:v000014E4d000016AFsv0000103Csd0000339D* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530SFP+ Adapter) - - pci:v000014E4d000016B0* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe -@@ -44937,7 +44937,7 @@ pci:v000014E4d000016B1* - ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe - - pci:v000014E4d000016B1sv00001849sd000096B1* -- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard -+ ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe (Z77 Extreme4 motherboard) - - pci:v000014E4d000016B2* - ID_MODEL_FROM_DATABASE=NetLink BCM57791 Gigabit Ethernet PCIe -@@ -44970,37 +44970,37 @@ pci:v000014E4d000016C6* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet - - pci:v000014E4d000016C6sv000010B7sd00001100* -- ID_MODEL_FROM_DATABASE=3C1000B-T 10/100/1000 PCI -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (3C1000B-T 10/100/1000 PCI) - - pci:v000014E4d000016C6sv000014E4sd0000000C* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016C6sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016C7* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet - - pci:v000014E4d000016C7sv00000E11sd000000CA* -- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016C7sv00000E11sd000000CB* -- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016C7sv0000103Csd000012C3* -- ID_MODEL_FROM_DATABASE=Combo FC/GigE-SX [A9782A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-SX [A9782A]) - - pci:v000014E4d000016C7sv0000103Csd000012CA* -- ID_MODEL_FROM_DATABASE=Combo FC/GigE-T [A9784A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-T [A9784A]) - - pci:v000014E4d000016C7sv0000103Csd00001321* -- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Core I/O LAN/SCSI Combo [AB314A]) - - pci:v000014E4d000016C7sv000014E4sd00000009* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016C7sv000014E4sd0000000A* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) - - pci:v000014E4d000016DD* - ID_MODEL_FROM_DATABASE=NetLink BCM5781 Gigabit Ethernet PCI Express -@@ -45015,10 +45015,10 @@ pci:v000014E4d000016FD* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express - - pci:v000014E4d000016FDsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nx9420 Notebook) - - pci:v000014E4d000016FDsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nw8440) - - pci:v000014E4d000016FE* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5753F Fast Ethernet PCI Express -@@ -45027,40 +45027,40 @@ pci:v000014E4d0000170C* - ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX - - pci:v000014E4d0000170Csv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6000 laptop) - - pci:v000014E4d0000170Csv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 700m/710m) - - pci:v000014E4d0000170Csv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 5160) - - pci:v000014E4d0000170Csv00001028sd000001AF* -- ID_MODEL_FROM_DATABASE=Inspiron 6400 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6400) - - pci:v000014E4d0000170Csv00001028sd000001CD* -- ID_MODEL_FROM_DATABASE=Inspiron 9400 Laptop -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 9400 Laptop) - - pci:v000014E4d0000170Csv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (XPS M1210) - - pci:v000014E4d0000170Csv00001028sd000001D8* -- ID_MODEL_FROM_DATABASE=Inspiron E1405 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron E1405) - - pci:v000014E4d0000170Csv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX6110/NC6120) - - pci:v000014E4d0000170Csv0000103Csd000030A2* -- ID_MODEL_FROM_DATABASE=NX7300 laptop -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX7300 laptop) - - pci:v000014E4d0000170Csv000014E4sd0000170C* -- ID_MODEL_FROM_DATABASE=HP Compaq 6720t Mobile Thin Client -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (HP Compaq 6720t Mobile Thin Client) - - pci:v000014E4d0000170D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX - - pci:v000014E4d0000170Dsv00001014sd00000545* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX (ThinkPad R40e) - - pci:v000014E4d0000170E* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX -@@ -45072,16 +45072,16 @@ pci:v000014E4d00001713* - ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express - - pci:v000014E4d00001713sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Inspiron 1420) - - pci:v000014E4d00001713sv00001028sd00000209* -- ID_MODEL_FROM_DATABASE=XPS M1330 -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (XPS M1330) - - pci:v000014E4d00001713sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Compaq 6710b) - - pci:v000014E4d00001713sv000017AAsd00003A23* -- ID_MODEL_FROM_DATABASE=IdeaPad S10e -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (IdeaPad S10e) - - pci:v000014E4d00003352* - ID_MODEL_FROM_DATABASE=BCM3352 -@@ -45108,16 +45108,16 @@ pci:v000014E4d00004301* - ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller - - pci:v000014E4d00004301sv00001028sd00000407* -- ID_MODEL_FROM_DATABASE=TrueMobile 1180 Onboard WLAN -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (TrueMobile 1180 Onboard WLAN) - - pci:v000014E4d00004301sv00001043sd00000120* -- ID_MODEL_FROM_DATABASE=WL-103b Wireless LAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WL-103b Wireless LAN PC Card) - - pci:v000014E4d00004301sv000016A5sd00001602* -- ID_MODEL_FROM_DATABASE=B-300 802.11b Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (B-300 802.11b Wireless CardBus Adapter) - - pci:v000014E4d00004301sv00001737sd00004301* -- ID_MODEL_FROM_DATABASE=WMP11 v2.7 802.11b Wireless-B PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WMP11 v2.7 802.11b Wireless-B PCI Adapter) - - pci:v000014E4d00004305* - ID_MODEL_FROM_DATABASE=BCM4307 V.90 56k Modem -@@ -45135,85 +45135,85 @@ pci:v000014E4d00004311* - ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN - - pci:v000014E4d00004311sv00001028sd00000007* -- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN Mini-Card) - - pci:v000014E4d00004311sv00001028sd00000008* -- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN ExpressCard -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN ExpressCard) - - pci:v000014E4d00004311sv0000103Csd00001363* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001364* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001365* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001374* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001375* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001376* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001377* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd0000137F* -- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001380* -- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) - - pci:v000014E4d00004311sv000014E4sd00004311* -- ID_MODEL_FROM_DATABASE=BCM94311MCG -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM94311MCG) - - pci:v000014E4d00004312* - ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g - - pci:v000014E4d00004312sv00001028sd00000007* -- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN Mini-Card) - - pci:v000014E4d00004312sv00001028sd00000008* -- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN ExpressCard -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN ExpressCard) - - pci:v000014E4d00004312sv0000103Csd0000135A* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd0000135F* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001360* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001361* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001362* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001370* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001371* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001372* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001373* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Presario V3242AU) - - pci:v000014E4d00004312sv0000106Bsd00000089* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (AirPort Extreme) - - pci:v000014E4d00004312sv00001371sd0000103C* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11 Multiband-netwerkadapter(6715s) -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11 Multiband-netwerkadapter(6715s)) - - pci:v000014E4d00004313* - ID_MODEL_FROM_DATABASE=BCM4311 802.11a -@@ -45222,175 +45222,175 @@ pci:v000014E4d00004315* - ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY - - pci:v000014E4d00004315sv00001028sd0000000B* -- ID_MODEL_FROM_DATABASE=Wireless 1395 WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1395 WLAN Mini-Card) - - pci:v000014E4d00004315sv00001028sd0000000C* -- ID_MODEL_FROM_DATABASE=Wireless 1397 WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1397 WLAN Mini-Card) - - pci:v000014E4d00004315sv0000103Csd0000137C* -- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004315sv0000103Csd0000137D* -- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004315sv0000103Csd00001507* -- ID_MODEL_FROM_DATABASE=U98Z049.00 Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (U98Z049.00 Wireless Mini PCIe Card) - - pci:v000014E4d00004315sv0000105Bsd0000E003* -- ID_MODEL_FROM_DATABASE=T77H030.00 Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H030.00 Wireless Mini PCIe Card) - - pci:v000014E4d00004315sv0000105Bsd0000E01B* -- ID_MODEL_FROM_DATABASE=T77H106.00 Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H106.00 Wireless Half-size Mini PCIe Card) - - pci:v000014E4d00004318* - ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller - - pci:v000014E4d00004318sv00001028sd00000005* -- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN Mini-PCI Card) - - pci:v000014E4d00004318sv00001028sd00000006* -- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN PC Card) - - pci:v000014E4d00004318sv0000103Csd00001355* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004318sv0000103Csd00001356* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004318sv0000103Csd00001357* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004318sv00001043sd0000100F* -- ID_MODEL_FROM_DATABASE=WL-138G v2 / WL-138gE / WL-100gE -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WL-138G v2 / WL-138gE / WL-100gE) - - pci:v000014E4d00004318sv00001043sd0000120F* -- ID_MODEL_FROM_DATABASE=A6U notebook embedded card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (A6U notebook embedded card) - - pci:v000014E4d00004318sv00001154sd00000355* -- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter) - - pci:v000014E4d00004318sv00001468sd00000311* -- ID_MODEL_FROM_DATABASE=Aspire 3022WLMi, 5024WLMi, 5020 -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Aspire 3022WLMi, 5024WLMi, 5020) - - pci:v000014E4d00004318sv00001468sd00000312* -- ID_MODEL_FROM_DATABASE=TravelMate 2410 -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (TravelMate 2410) - - pci:v000014E4d00004318sv000014E4sd00000449* -- ID_MODEL_FROM_DATABASE=Gateway 7510GX -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Gateway 7510GX) - - pci:v000014E4d00004318sv000016ECsd00000119* -- ID_MODEL_FROM_DATABASE=U.S.Robotics Wireless MAXg PC Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (U.S.Robotics Wireless MAXg PC Card) - - pci:v000014E4d00004318sv00001737sd00000042* -- ID_MODEL_FROM_DATABASE=WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster) - - pci:v000014E4d00004318sv00001737sd00000048* -- ID_MODEL_FROM_DATABASE=WPC54G v3 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54G v3 802.11g Wireless-G Notebook Adapter) - - pci:v000014E4d00004318sv00001737sd00000049* -- ID_MODEL_FROM_DATABASE=WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster) - - pci:v000014E4d00004318sv00001799sd00007000* -- ID_MODEL_FROM_DATABASE=F5D7000 v4000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7000 v4000 Wireless G Desktop Card) - - pci:v000014E4d00004318sv00001799sd00007001* -- ID_MODEL_FROM_DATABASE=F5D7001 v2000 Wireless G Plus Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7001 v2000 Wireless G Plus Desktop Card) - - pci:v000014E4d00004318sv00001799sd00007010* -- ID_MODEL_FROM_DATABASE=F5D7010 v4000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7010 v4000 Wireless G Notebook Card) - - pci:v000014E4d00004318sv00001799sd00007011* -- ID_MODEL_FROM_DATABASE=F5D7011 v2000 High-Speed Mode Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7011 v2000 High-Speed Mode Wireless G Notebook Card) - - pci:v000014E4d00004319* - ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver - - pci:v000014E4d00004319sv00001028sd00000005* -- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN Mini-PCI Card) - - pci:v000014E4d00004319sv00001028sd00000006* -- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN PC Card) - - pci:v000014E4d00004319sv0000103Csd00001358* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004319sv0000103Csd00001359* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004319sv0000103Csd0000135A* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004320* - ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller - - pci:v000014E4d00004320sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN Mini-PCI Card) - - pci:v000014E4d00004320sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN PC Card) - - pci:v000014E4d00004320sv00001028sd00000003* -- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN Mini-PCI Card) - - pci:v000014E4d00004320sv00001028sd00000004* -- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN PC Card) - - pci:v000014E4d00004320sv0000103Csd000012F4* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv0000103Csd000012F8* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv0000103Csd000012FA* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv0000103Csd000012FB* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv00001043sd0000100F* -- ID_MODEL_FROM_DATABASE=WL-100G -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WL-100G) - - pci:v000014E4d00004320sv00001057sd00007025* -- ID_MODEL_FROM_DATABASE=WN825G -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WN825G) - - pci:v000014E4d00004320sv0000106Bsd0000004E* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (AirPort Extreme) - - pci:v000014E4d00004320sv00001154sd00000330* -- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter) - - pci:v000014E4d00004320sv0000144Fsd00007050* -- ID_MODEL_FROM_DATABASE=eMachines M6805 802.11g Built-in Wireless -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (eMachines M6805 802.11g Built-in Wireless) - - pci:v000014E4d00004320sv0000144Fsd00007051* -- ID_MODEL_FROM_DATABASE=Sonnet Aria Extreme PCI -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Sonnet Aria Extreme PCI) - - pci:v000014E4d00004320sv00001737sd00000013* -- ID_MODEL_FROM_DATABASE=WMP54G v1 802.11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v1 802.11g PCI Adapter) - - pci:v000014E4d00004320sv00001737sd00000014* -- ID_MODEL_FROM_DATABASE=WMP54G v2 802.11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v2 802.11g PCI Adapter) - - pci:v000014E4d00004320sv00001737sd00000015* -- ID_MODEL_FROM_DATABASE=WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster) - - pci:v000014E4d00004320sv00001737sd00004320* -- ID_MODEL_FROM_DATABASE=WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter) - - pci:v000014E4d00004320sv00001799sd00007000* -- ID_MODEL_FROM_DATABASE=F5D7000 v1000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7000 v1000 Wireless G Desktop Card) - - pci:v000014E4d00004320sv00001799sd00007001* -- ID_MODEL_FROM_DATABASE=F5D7001 v1000 Wireless G Plus Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7001 v1000 Wireless G Plus Desktop Card) - - pci:v000014E4d00004320sv00001799sd00007010* -- ID_MODEL_FROM_DATABASE=F5D7010 v1000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7010 v1000 Wireless G Notebook Card) - - pci:v000014E4d00004320sv00001799sd00007011* -- ID_MODEL_FROM_DATABASE=F5D7011 v1000 High-Speed Mode Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7011 v1000 High-Speed Mode Wireless G Notebook Card) - - pci:v000014E4d00004320sv0000185Fsd00001220* -- ID_MODEL_FROM_DATABASE=TravelMate 290E WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TravelMate 290E WLAN Mini-PCI Card) - - pci:v000014E4d00004321* - ID_MODEL_FROM_DATABASE=BCM4321 802.11a Wireless Network Controller -@@ -45402,31 +45402,31 @@ pci:v000014E4d00004324* - ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller - - pci:v000014E4d00004324sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=Truemobile 1400 -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1400) - - pci:v000014E4d00004324sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=TrueMobile 1400 Dual Band WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (TrueMobile 1400 Dual Band WLAN PC Card) - - pci:v000014E4d00004324sv00001028sd00000003* -- ID_MODEL_FROM_DATABASE=Truemobile 1450 MiniPCI -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1450 MiniPCI) - - pci:v000014E4d00004324sv00001028sd00000004* -- ID_MODEL_FROM_DATABASE=Wireless 1450 Dual Band WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Wireless 1450 Dual Band WLAN PC Card) - - pci:v000014E4d00004324sv0000103Csd000012F9* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004324sv0000103Csd000012FC* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004325* - ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller - - pci:v000014E4d00004325sv00001414sd00000003* -- ID_MODEL_FROM_DATABASE=Wireless Notebook Adapter MN-720 -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless Notebook Adapter MN-720) - - pci:v000014E4d00004325sv00001414sd00000004* -- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter MN-730 -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless PCI Adapter MN-730) - - pci:v000014E4d00004326* - ID_MODEL_FROM_DATABASE=BCM4307 Chipcommon I/O Controller? -@@ -45435,58 +45435,58 @@ pci:v000014E4d00004328* - ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n - - pci:v000014E4d00004328sv00001028sd00000009* -- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-Card) - - pci:v000014E4d00004328sv00001028sd0000000A* -- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-card -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-card) - - pci:v000014E4d00004328sv0000103Csd00001366* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000103Csd00001367* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000103Csd00001368* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000103Csd00001369* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000106Bsd00000087* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd00000088* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd0000008B* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd0000008C* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd00000090* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv000014E4sd00004328* -- ID_MODEL_FROM_DATABASE=BCM4328 802.11a/b/g/n -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (BCM4328 802.11a/b/g/n) - - pci:v000014E4d00004328sv00001737sd00000066* -- ID_MODEL_FROM_DATABASE=WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter) - - pci:v000014E4d00004328sv00001737sd00000068* -- ID_MODEL_FROM_DATABASE=WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard) - - pci:v000014E4d00004329* - ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n - - pci:v000014E4d00004329sv00001385sd00007B00* -- ID_MODEL_FROM_DATABASE=WN511B RangeMax NEXT Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN511B RangeMax NEXT Wireless Notebook Adapter) - - pci:v000014E4d00004329sv00001385sd00007D00* -- ID_MODEL_FROM_DATABASE=WN311B RangeMax Next 270 Mbps Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN311B RangeMax Next 270 Mbps Wireless PCI Adapter) - - pci:v000014E4d00004329sv00001737sd00000058* -- ID_MODEL_FROM_DATABASE=WPC300N v1 Wireless-N Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WPC300N v1 Wireless-N Notebook Adapter) - - pci:v000014E4d0000432A* - ID_MODEL_FROM_DATABASE=BCM4321 802.11an Wireless Network Controller -@@ -45495,19 +45495,19 @@ pci:v000014E4d0000432B* - ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller - - pci:v000014E4d0000432Bsv00001028sd0000000D* -- ID_MODEL_FROM_DATABASE=Wireless 1510 Wireless-N WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (Wireless 1510 Wireless-N WLAN Mini-Card) - - pci:v000014E4d0000432Bsv0000106Bsd0000008D* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) - - pci:v000014E4d0000432Bsv0000106Bsd0000008E* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) - - pci:v000014E4d0000432C* - ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n - - pci:v000014E4d0000432Csv00001799sd0000D311* -- ID_MODEL_FROM_DATABASE=Dynex DX-NNBX 802.11n WLAN Cardbus Card -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n (Dynex DX-NNBX 802.11n WLAN Cardbus Card) - - pci:v000014E4d0000432D* - ID_MODEL_FROM_DATABASE=BCM4322 802.11an Wireless Network Controller -@@ -45516,25 +45516,25 @@ pci:v000014E4d00004331* - ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n - - pci:v000014E4d00004331sv0000106Bsd000000D6* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000E4* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000EF* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000F4* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000F5* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd0000010E* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd0000010F* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004333* - ID_MODEL_FROM_DATABASE=Serial (EDGE/GPRS modem part of Option GT Combo Edge) -@@ -45549,25 +45549,25 @@ pci:v000014E4d00004353* - ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n - - pci:v000014E4d00004353sv00001028sd0000000E* -- ID_MODEL_FROM_DATABASE=Wireless 1520 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (Wireless 1520 Half-size Mini PCIe Card) - - pci:v000014E4d00004353sv0000103Csd00001509* -- ID_MODEL_FROM_DATABASE=WMIB-275N Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (WMIB-275N Half-size Mini PCIe Card) - - pci:v000014E4d00004353sv0000106Bsd00000093* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004353sv0000106Bsd000000D1* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004353sv0000106Bsd000000E9* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004357* - ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n - - pci:v000014E4d00004357sv0000105Bsd0000E021* -- ID_MODEL_FROM_DATABASE=T77H103.00 Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n (T77H103.00 Wireless Half-size Mini PCIe Card) - - pci:v000014E4d00004358* - ID_MODEL_FROM_DATABASE=BCM43227 802.11b/g/n -@@ -45576,16 +45576,16 @@ pci:v000014E4d00004359* - ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n - - pci:v000014E4d00004359sv00001028sd00000011* -- ID_MODEL_FROM_DATABASE=Wireless 1530 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (Wireless 1530 Half-size Mini PCIe Card) - - pci:v000014E4d00004359sv0000103Csd0000182C* -- ID_MODEL_FROM_DATABASE=BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter -+ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) - - pci:v000014E4d00004365* - ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n - - pci:v000014E4d00004365sv00001028sd00000016* -- ID_MODEL_FROM_DATABASE=Wireless 1704 802.11n + BT 4.0 -+ ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n (Wireless 1704 802.11n + BT 4.0) - - pci:v000014E4d000043A0* - ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter -@@ -45597,13 +45597,13 @@ pci:v000014E4d00004401* - ID_MODEL_FROM_DATABASE=BCM4401 100Base-T - - pci:v000014E4d00004401sv00001025sd00000035* -- ID_MODEL_FROM_DATABASE=TravelMate 660 -+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (TravelMate 660) - - pci:v000014E4d00004401sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (tc1100 tablet) - - pci:v000014E4d00004401sv00001043sd000080A8* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (A7V8X motherboard) - - pci:v000014E4d00004402* - ID_MODEL_FROM_DATABASE=BCM4402 Integrated 10/100BaseT -@@ -45696,7 +45696,7 @@ pci:v000014E4d00004727* - ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter - - pci:v000014E4d00004727sv00001028sd00000010* -- ID_MODEL_FROM_DATABASE=Inspiron M5010 / XPS 8300 -+ ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter (Inspiron M5010 / XPS 8300) - - pci:v000014E4d00005365* - ID_MODEL_FROM_DATABASE=BCM5365P Sentry5 Host Bridge -@@ -45867,55 +45867,55 @@ pci:v000014F1d00001033* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v000014F1d00001033sv00001033sd00008077* -- ID_MODEL_FROM_DATABASE=NEC -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (NEC) - - pci:v000014F1d00001033sv0000122Dsd00004027* -- ID_MODEL_FROM_DATABASE=Dell Zeus - MDP3880-W(B) Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Zeus - MDP3880-W(B) Data Fax Modem) - - pci:v000014F1d00001033sv0000122Dsd00004030* -- ID_MODEL_FROM_DATABASE=Dell Mercury - MDP3880-U(B) Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Mercury - MDP3880-U(B) Data Fax Modem) - - pci:v000014F1d00001033sv0000122Dsd00004034* -- ID_MODEL_FROM_DATABASE=Dell Thor - MDP3880-W(U) Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Thor - MDP3880-W(U) Data Fax Modem) - - pci:v000014F1d00001033sv000013E0sd0000020D* -- ID_MODEL_FROM_DATABASE=Dell Copper -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Copper) - - pci:v000014F1d00001033sv000013E0sd0000020E* -- ID_MODEL_FROM_DATABASE=Dell Silver -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Silver) - - pci:v000014F1d00001033sv000013E0sd00000261* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv000013E0sd00000290* -- ID_MODEL_FROM_DATABASE=Compaq Goldwing -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Goldwing) - - pci:v000014F1d00001033sv000013E0sd000002A0* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv000013E0sd000002B0* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv000013E0sd000002C0* -- ID_MODEL_FROM_DATABASE=Compaq Scooter -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Scooter) - - pci:v000014F1d00001033sv000013E0sd000002D0* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv0000144Fsd00001500* -- ID_MODEL_FROM_DATABASE=IBM P85-DF (1) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (1)) - - pci:v000014F1d00001033sv0000144Fsd00001501* -- ID_MODEL_FROM_DATABASE=IBM P85-DF (2) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (2)) - - pci:v000014F1d00001033sv0000144Fsd0000150A* -- ID_MODEL_FROM_DATABASE=IBM P85-DF (3) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (3)) - - pci:v000014F1d00001033sv0000144Fsd0000150B* -- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (1) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (1)) - - pci:v000014F1d00001033sv0000144Fsd00001510* -- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (2) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (2)) - - pci:v000014F1d00001034* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem -@@ -45924,31 +45924,31 @@ pci:v000014F1d00001035* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v000014F1d00001035sv000010CFsd00001098* -- ID_MODEL_FROM_DATABASE=Fujitsu P85-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu P85-DFSV) - - pci:v000014F1d00001036* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem - - pci:v000014F1d00001036sv0000104Dsd00008067* -- ID_MODEL_FROM_DATABASE=HCF 56k Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (HCF 56k Modem) - - pci:v000014F1d00001036sv0000122Dsd00004029* -- ID_MODEL_FROM_DATABASE=MDP3880SP-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-W) - - pci:v000014F1d00001036sv0000122Dsd00004031* -- ID_MODEL_FROM_DATABASE=MDP3880SP-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-U) - - pci:v000014F1d00001036sv000013E0sd00000209* -- ID_MODEL_FROM_DATABASE=Dell Titanium -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Titanium) - - pci:v000014F1d00001036sv000013E0sd0000020A* -- ID_MODEL_FROM_DATABASE=Dell Graphite -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Graphite) - - pci:v000014F1d00001036sv000013E0sd00000260* -- ID_MODEL_FROM_DATABASE=Gateway Red Owl -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway Red Owl) - - pci:v000014F1d00001036sv000013E0sd00000270* -- ID_MODEL_FROM_DATABASE=Gateway White Horse -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway White Horse) - - pci:v000014F1d00001052* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide) -@@ -45966,7 +45966,7 @@ pci:v000014F1d00001056* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) - - pci:v000014F1d00001056sv0000122Dsd00004035* -- ID_MODEL_FROM_DATABASE=MDP3900V-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) (MDP3900V-W) - - pci:v000014F1d00001057* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) -@@ -45987,7 +45987,7 @@ pci:v000014F1d00001066* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem - - pci:v000014F1d00001066sv0000122Dsd00004033* -- ID_MODEL_FROM_DATABASE=Dell Athena - MDP3900V-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Athena - MDP3900V-U) - - pci:v000014F1d00001085* - ID_MODEL_FROM_DATABASE=HCF V90 56k Data/Fax/Voice/Spkp PCI Modem -@@ -46011,16 +46011,16 @@ pci:v000014F1d00001453* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v000014F1d00001453sv000013E0sd00000240* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001453sv000013E0sd00000250* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001453sv0000144Fsd00001502* -- ID_MODEL_FROM_DATABASE=IBM P95-DF (1) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (1)) - - pci:v000014F1d00001453sv0000144Fsd00001503* -- ID_MODEL_FROM_DATABASE=IBM P95-DF (2) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (2)) - - pci:v000014F1d00001454* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem -@@ -46032,10 +46032,10 @@ pci:v000014F1d00001456* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem - - pci:v000014F1d00001456sv0000122Dsd00004035* -- ID_MODEL_FROM_DATABASE=Dell Europa - MDP3900V-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Europa - MDP3900V-W) - - pci:v000014F1d00001456sv0000122Dsd00004302* -- ID_MODEL_FROM_DATABASE=Dell MP3930V-W(C) MiniPCI -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell MP3930V-W(C) MiniPCI) - - pci:v000014F1d00001610* - ID_MODEL_FROM_DATABASE=ADSL AccessRunner PCI Arbitration Device -@@ -46056,10 +46056,10 @@ pci:v000014F1d00001803* - ID_MODEL_FROM_DATABASE=HCF 56k Modem - - pci:v000014F1d00001803sv00000E11sd00000023* -- ID_MODEL_FROM_DATABASE=623-LAN Grizzly -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Grizzly) - - pci:v000014F1d00001803sv00000E11sd00000043* -- ID_MODEL_FROM_DATABASE=623-LAN Yogi -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Yogi) - - pci:v000014F1d00001811* - ID_MODEL_FROM_DATABASE=MiniPCI Network Adapter -@@ -46068,10 +46068,10 @@ pci:v000014F1d00001815* - ID_MODEL_FROM_DATABASE=HCF 56k Modem - - pci:v000014F1d00001815sv00000E11sd00000022* -- ID_MODEL_FROM_DATABASE=Grizzly -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Grizzly) - - pci:v000014F1d00001815sv00000E11sd00000042* -- ID_MODEL_FROM_DATABASE=Yogi -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Yogi) - - pci:v000014F1d00002003* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem -@@ -46089,28 +46089,28 @@ pci:v000014F1d00002013* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem - - pci:v000014F1d00002013sv00000E11sd0000B195* -- ID_MODEL_FROM_DATABASE=Bear -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Bear) - - pci:v000014F1d00002013sv00000E11sd0000B196* -- ID_MODEL_FROM_DATABASE=Seminole 1 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 1) - - pci:v000014F1d00002013sv00000E11sd0000B1BE* -- ID_MODEL_FROM_DATABASE=Seminole 2 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 2) - - pci:v000014F1d00002013sv00001025sd00008013* -- ID_MODEL_FROM_DATABASE=Acer -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Acer) - - pci:v000014F1d00002013sv00001033sd0000809D* -- ID_MODEL_FROM_DATABASE=NEC -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) - - pci:v000014F1d00002013sv00001033sd000080BC* -- ID_MODEL_FROM_DATABASE=NEC -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) - - pci:v000014F1d00002013sv0000155Dsd00006793* -- ID_MODEL_FROM_DATABASE=HP -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (HP) - - pci:v000014F1d00002013sv0000155Dsd00008850* -- ID_MODEL_FROM_DATABASE=E Machines -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (E Machines) - - pci:v000014F1d00002014* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem -@@ -46131,7 +46131,7 @@ pci:v000014F1d00002045* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) - - pci:v000014F1d00002045sv000014F1sd00002045* -- ID_MODEL_FROM_DATABASE=Generic SoftK56 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) (Generic SoftK56) - - pci:v000014F1d00002046* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA) -@@ -46152,7 +46152,7 @@ pci:v000014F1d00002093* - ID_MODEL_FROM_DATABASE=HSF 56k Modem - - pci:v000014F1d00002093sv0000155Dsd00002F07* -- ID_MODEL_FROM_DATABASE=Legend -+ ID_MODEL_FROM_DATABASE=HSF 56k Modem (Legend) - - pci:v000014F1d00002143* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA) -@@ -46206,13 +46206,13 @@ pci:v000014F1d00002443* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) - - pci:v000014F1d00002443sv0000104Dsd00008075* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) - - pci:v000014F1d00002443sv0000104Dsd00008083* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) - - pci:v000014F1d00002443sv0000104Dsd00008097* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) - - pci:v000014F1d00002444* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA) -@@ -46239,13 +46239,13 @@ pci:v000014F1d00002F00* - ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem - - pci:v000014F1d00002F00sv000013E0sd00008D84* -- ID_MODEL_FROM_DATABASE=IBM HSFi V.90 -+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (IBM HSFi V.90) - - pci:v000014F1d00002F00sv000013E0sd00008D85* -- ID_MODEL_FROM_DATABASE=Compaq Stinger -+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Compaq Stinger) - - pci:v000014F1d00002F00sv000014F1sd00002004* -- ID_MODEL_FROM_DATABASE=Dynalink 56PMi -+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Dynalink 56PMi) - - pci:v000014F1d00002F02* - ID_MODEL_FROM_DATABASE=HSF 56k HSFi Data/Fax -@@ -46257,16 +46257,16 @@ pci:v000014F1d00002F20* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem - - pci:v000014F1d00002F20sv000014F1sd0000200C* -- ID_MODEL_FROM_DATABASE=Soft Data Fax Modem with SmartCP -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Soft Data Fax Modem with SmartCP) - - pci:v000014F1d00002F20sv000014F1sd0000200F* -- ID_MODEL_FROM_DATABASE=Dimension 3000 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Dimension 3000) - - pci:v000014F1d00002F30* - ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP - - pci:v000014F1d00002F30sv000014F1sd00002014* -- ID_MODEL_FROM_DATABASE=Devolo MikroLink 56K Modem PCI -+ ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP (Devolo MikroLink 56K Modem PCI) - - pci:v000014F1d00002F50* - ID_MODEL_FROM_DATABASE=Conexant SoftK56 Data/Fax Modem -@@ -46275,13 +46275,13 @@ pci:v000014F1d00005B7A* - ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder - - pci:v000014F1d00005B7Asv00000070sd00007444* -- ID_MODEL_FROM_DATABASE=WinTV HVR-1600 -+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinTV HVR-1600) - - pci:v000014F1d00005B7Asv0000107Dsd00006F34* -- ID_MODEL_FROM_DATABASE=WinFast DVR3100 H -+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinFast DVR3100 H) - - pci:v000014F1d00005B7Asv00005854sd00003343* -- ID_MODEL_FROM_DATABASE=GoTView PCI DVD3 Hybrid -+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (GoTView PCI DVD3 Hybrid) - - pci:v000014F1d00008200* - ID_MODEL_FROM_DATABASE=CX25850 -@@ -46293,304 +46293,304 @@ pci:v000014F1d00008800* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder - - pci:v000014F1d00008800sv00000070sd00002801* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 28xxx (Roslyn) models) - - pci:v000014F1d00008800sv00000070sd00003400* -- ID_MODEL_FROM_DATABASE=WinTV 34604 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 34604) - - pci:v000014F1d00008800sv00000070sd00003401* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 34xxx models) - - pci:v000014F1d00008800sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-4000-HD) - - pci:v000014F1d00008800sv00000070sd00007801* -- ID_MODEL_FROM_DATABASE=WinTV HVR-1800 MCE -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-1800 MCE) - - pci:v000014F1d00008800sv00000070sd00009001* -- ID_MODEL_FROM_DATABASE=Nova-T DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-T DVB-T) - - pci:v000014F1d00008800sv00000070sd00009200* -- ID_MODEL_FROM_DATABASE=Nova-SE2 DVB-S -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-SE2 DVB-S) - - pci:v000014F1d00008800sv00000070sd00009202* -- ID_MODEL_FROM_DATABASE=Nova-S-Plus DVB-S -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-S-Plus DVB-S) - - pci:v000014F1d00008800sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008800sv00000070sd00009600* -- ID_MODEL_FROM_DATABASE=WinTV 88x Video -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 88x Video) - - pci:v000014F1d00008800sv00000070sd00009802* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid (Low Profile) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid (Low Profile)) - - pci:v000014F1d00008800sv00001002sd000000F8* -- ID_MODEL_FROM_DATABASE=ATI TV Wonder Pro -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) - - pci:v000014F1d00008800sv00001002sd0000A101* -- ID_MODEL_FROM_DATABASE=HDTV Wonder -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) - - pci:v000014F1d00008800sv00001043sd00004823* -- ID_MODEL_FROM_DATABASE=ASUS PVR-416 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ASUS PVR-416) - - pci:v000014F1d00008800sv0000107Dsd00006611* -- ID_MODEL_FROM_DATABASE=Winfast TV 2000XP Expert -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Winfast TV 2000XP Expert) - - pci:v000014F1d00008800sv0000107Dsd00006613* -- ID_MODEL_FROM_DATABASE=Leadtek Winfast 2000XP Expert -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast 2000XP Expert) - - pci:v000014F1d00008800sv0000107Dsd00006620* -- ID_MODEL_FROM_DATABASE=Leadtek Winfast DV2000 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast DV2000) - - pci:v000014F1d00008800sv0000107Dsd0000663C* -- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek PVR 2000) - - pci:v000014F1d00008800sv0000107Dsd0000665F* -- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinFast DTV1000-T) - - pci:v000014F1d00008800sv000010FCsd0000D003* -- ID_MODEL_FROM_DATABASE=IODATA GV-VCP3/PCI -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV-VCP3/PCI) - - pci:v000014F1d00008800sv000010FCsd0000D035* -- ID_MODEL_FROM_DATABASE=IODATA GV/BCTV7E -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV/BCTV7E) - - pci:v000014F1d00008800sv00001421sd00000334* -- ID_MODEL_FROM_DATABASE=Instant TV DVB-T PCI -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Instant TV DVB-T PCI) - - pci:v000014F1d00008800sv00001461sd0000000A* -- ID_MODEL_FROM_DATABASE=AVerTV 303 (M126) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AVerTV 303 (M126)) - - pci:v000014F1d00008800sv00001461sd0000000B* -- ID_MODEL_FROM_DATABASE=AverTV Studio 303 (M126) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AverTV Studio 303 (M126)) - - pci:v000014F1d00008800sv00001461sd00008011* -- ID_MODEL_FROM_DATABASE=UltraTV Media Center PCI 550 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (UltraTV Media Center PCI 550) - - pci:v000014F1d00008800sv00001462sd00008606* -- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (MSI TV-@nywhere Master) - - pci:v000014F1d00008800sv000014C7sd00000107* -- ID_MODEL_FROM_DATABASE=GDI Black Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GDI Black Gold) - - pci:v000014F1d00008800sv000014F1sd00000187* -- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Conexant DVB-T reference design) - - pci:v000014F1d00008800sv000014F1sd00000342* -- ID_MODEL_FROM_DATABASE=Digital-Logic MICROSPACE Entertainment Center (MEC) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Digital-Logic MICROSPACE Entertainment Center (MEC)) - - pci:v000014F1d00008800sv0000153Bsd00001166* -- ID_MODEL_FROM_DATABASE=Cinergy 1400 DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Cinergy 1400 DVB-T) - - pci:v000014F1d00008800sv00001540sd00002580* -- ID_MODEL_FROM_DATABASE=Provideo PV259 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Provideo PV259) - - pci:v000014F1d00008800sv00001554sd00004811* -- ID_MODEL_FROM_DATABASE=PixelView -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (PixelView) - - pci:v000014F1d00008800sv00001554sd00004813* -- ID_MODEL_FROM_DATABASE=Club 3D ZAP1000 MCE Edition -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Club 3D ZAP1000 MCE Edition) - - pci:v000014F1d00008800sv000017DEsd000008A1* -- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T with cx22702 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T with cx22702) - - pci:v000014F1d00008800sv000017DEsd000008A6* -- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T) - - pci:v000014F1d00008800sv000017DEsd000008B2* -- ID_MODEL_FROM_DATABASE=KWorld DVB-S 100 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld DVB-S 100) - - pci:v000014F1d00008800sv000017DEsd0000A8A6* -- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T) - - pci:v000014F1d00008800sv00001822sd00000025* -- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T Pro -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T Pro) - - pci:v000014F1d00008800sv0000185Bsd0000E000* -- ID_MODEL_FROM_DATABASE=VideoMate X500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (VideoMate X500) - - pci:v000014F1d00008800sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=FusionHDTV 5 Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 5 Gold) - - pci:v000014F1d00008800sv000018ACsd0000D810* -- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-Q -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-Q) - - pci:v000014F1d00008800sv000018ACsd0000D820* -- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-T) - - pci:v000014F1d00008800sv000018ACsd0000DB00* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T1 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T1) - - pci:v000014F1d00008800sv000018ACsd0000DB11* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Plus -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Plus) - - pci:v000014F1d00008800sv000018ACsd0000DB50* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Digital -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Digital) - - pci:v000014F1d00008800sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TV Tuner Card -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GoTView PCI Hybrid TV Tuner Card) - - pci:v000014F1d00008800sv00007063sd00003000* -- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD3000 HDTV) - - pci:v000014F1d00008800sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD-5500) - - pci:v000014F1d00008801* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] - - pci:v000014F1d00008801sv00000070sd00002801* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 28xxx (Roslyn) models) - - pci:v000014F1d00008801sv0000185Bsd0000E000* -- ID_MODEL_FROM_DATABASE=VideoMate X500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (VideoMate X500) - - pci:v000014F1d00008801sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio AVStream Device -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio AVStream Device) - - pci:v000014F1d00008801sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (pcHDTV HD-5500) - - pci:v000014F1d00008802* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] - - pci:v000014F1d00008802sv00000070sd00002801* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Hauppauge WinTV 28xxx (Roslyn) models) - - pci:v000014F1d00008802sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV HVR-4000-HD) - - pci:v000014F1d00008802sv00000070sd00009002* -- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Nova-T DVB-T Model 909) - - pci:v000014F1d00008802sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008802sv00000070sd00009600* -- ID_MODEL_FROM_DATABASE=WinTV 88x MPEG Encoder -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV 88x MPEG Encoder) - - pci:v000014F1d00008802sv00001043sd00004823* -- ID_MODEL_FROM_DATABASE=ASUS PVR-416 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (ASUS PVR-416) - - pci:v000014F1d00008802sv0000107Dsd0000663C* -- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Leadtek PVR 2000) - - pci:v000014F1d00008802sv0000107Dsd0000665F* -- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinFast DTV1000-T) - - pci:v000014F1d00008802sv000014F1sd00000187* -- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Conexant DVB-T reference design) - - pci:v000014F1d00008802sv000017DEsd000008A1* -- ID_MODEL_FROM_DATABASE=XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture) - - pci:v000014F1d00008802sv000017DEsd000008A6* -- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (KWorld/VStream XPert DVB-T) - - pci:v000014F1d00008802sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV5 Gold) - - pci:v000014F1d00008802sv000018ACsd0000D810* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-Q) - - pci:v000014F1d00008802sv000018ACsd0000D820* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-T) - - pci:v000014F1d00008802sv000018ACsd0000DB00* -- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T1) - - pci:v000014F1d00008802sv000018ACsd0000DB10* -- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T Plus -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T Plus) - - pci:v000014F1d00008802sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TS Capture Device -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (GoTView PCI Hybrid TS Capture Device) - - pci:v000014F1d00008802sv00007063sd00003000* -- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD3000 HDTV) - - pci:v000014F1d00008802sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD-5500) - - pci:v000014F1d00008804* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] - - pci:v000014F1d00008804sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV HVR-4000-HD) - - pci:v000014F1d00008804sv00000070sd00009002* -- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (Nova-T DVB-T Model 909) - - pci:v000014F1d00008804sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008804sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (pcHDTV HD-5500) - - pci:v000014F1d00008811* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] - - pci:v000014F1d00008811sv00000070sd00003400* -- ID_MODEL_FROM_DATABASE=WinTV 34604 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 34604) - - pci:v000014F1d00008811sv00000070sd00003401* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 34xxx models) - - pci:v000014F1d00008811sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV HVR-4000-HD) - - pci:v000014F1d00008811sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008811sv00000070sd00009600* -- ID_MODEL_FROM_DATABASE=WinTV 88x Audio -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 88x Audio) - - pci:v000014F1d00008811sv00001462sd00008606* -- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (MSI TV-@nywhere Master) - - pci:v000014F1d00008811sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV5 Gold) - - pci:v000014F1d00008811sv000018ACsd0000D810* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-Q) - - pci:v000014F1d00008811sv000018ACsd0000D820* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-T) - - pci:v000014F1d00008811sv000018ACsd0000DB00* -- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DVICO FusionHDTV DVB-T1) - - pci:v000014F1d00008811sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio Capture Device -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio Capture Device) - - pci:v000014F1d00008852* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder - - pci:v000014F1d00008852sv00000070sd00008010* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV HVR-1400 ExpressCard -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) - - pci:v000014F1d00008852sv0000107Dsd00006F22* -- ID_MODEL_FROM_DATABASE=WinFast PxTV1200 -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) - - pci:v000014F1d00008852sv00001461sd0000C039* -- ID_MODEL_FROM_DATABASE=AVerTV Hybrid Express (A577) -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (AVerTV Hybrid Express (A577)) - - pci:v000014F1d00008852sv0000153Bsd0000117E* -- ID_MODEL_FROM_DATABASE=Cinergy T PCIe Dual -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Cinergy T PCIe Dual) - - pci:v000014F1d00008852sv000018ACsd0000DB78* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Express -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) - - pci:v000014F1d00008880* - ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb - - pci:v000014F1d00008880sv00000070sd0000C108* -- ID_MODEL_FROM_DATABASE=WinTV-HVR-4400-HD model 1278 -+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (WinTV-HVR-4400-HD model 1278) - - pci:v000014F1d00008880sv00005654sd00002389* -- ID_MODEL_FROM_DATABASE=GoTView X5 DVD Hybrid PCI-E -+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 DVD Hybrid PCI-E) - - pci:v000014F1d00008880sv00005654sd00002390* -- ID_MODEL_FROM_DATABASE=GoTView X5 3D HYBRID PCI-E -+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 3D HYBRID PCI-E) - - pci:v000014F2* - ID_VENDOR_FROM_DATABASE=MOBILITY Electronics -@@ -46842,100 +46842,100 @@ pci:v00001522d00000100* - ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge - - pci:v00001522d00000100sv00001522sd00000200* -- ID_MODEL_FROM_DATABASE=RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000300* -- ID_MODEL_FROM_DATABASE=RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000400* -- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000500* -- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000600* -- ID_MODEL_FROM_DATABASE=RockForce+ 2 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 2 Port V.90 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000700* -- ID_MODEL_FROM_DATABASE=RockForce+ 4 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 4 Port V.90 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000800* -- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000C00* -- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) - - pci:v00001522d00000100sv00001522sd00000D00* -- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) - - pci:v00001522d00000100sv00001522sd00001D00* -- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) - - pci:v00001522d00000100sv00001522sd00002000* -- ID_MODEL_FROM_DATABASE=RockForceD1 1 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD1 1 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002100* -- ID_MODEL_FROM_DATABASE=RockForceF1 1 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF1 1 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00002200* -- ID_MODEL_FROM_DATABASE=RockForceD2 2 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD2 2 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002300* -- ID_MODEL_FROM_DATABASE=RockForceF2 2 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF2 2 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00002400* -- ID_MODEL_FROM_DATABASE=RockForceD4 4 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD4 4 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002500* -- ID_MODEL_FROM_DATABASE=RockForceF4 4 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF4 4 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00002600* -- ID_MODEL_FROM_DATABASE=RockForceD8 8 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD8 8 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002700* -- ID_MODEL_FROM_DATABASE=RockForceF8 8 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF8 8 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003000* -- ID_MODEL_FROM_DATABASE=IQ Express D1 - 1 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D1 - 1 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003100* -- ID_MODEL_FROM_DATABASE=IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003200* -- ID_MODEL_FROM_DATABASE=IQ Express D2 - 2 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D2 - 2 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003300* -- ID_MODEL_FROM_DATABASE=IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003400* -- ID_MODEL_FROM_DATABASE=IQ Express D4 - 4 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D4 - 4 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003500* -- ID_MODEL_FROM_DATABASE=IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003C00* -- ID_MODEL_FROM_DATABASE=IQ Express D8 - 8 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D8 - 8 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003D00* -- ID_MODEL_FROM_DATABASE=IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00004000* - ID_MODEL_FROM_DATABASE=PCI Express UART - - pci:v00001522d00004000sv00001522sd00004001* -- ID_MODEL_FROM_DATABASE=IQ Express 1-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 1-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004002* -- ID_MODEL_FROM_DATABASE=IQ Express 2-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 2-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004004* -- ID_MODEL_FROM_DATABASE=IQ Express 4-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 4-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004008* -- ID_MODEL_FROM_DATABASE=IQ Express 8-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 8-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004100* -- ID_MODEL_FROM_DATABASE=IQ Express SideBand -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express SideBand) - - pci:v00001523* - ID_VENDOR_FROM_DATABASE=MUSIC Semiconductors -@@ -46947,7 +46947,7 @@ pci:v00001524d00000510* - ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller - - pci:v00001524d00000510sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller (NX9500) - - pci:v00001524d00000520* - ID_MODEL_FROM_DATABASE=FLASH memory: ENE Technology Inc: -@@ -46986,16 +46986,16 @@ pci:v00001524d00001410* - ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller - - pci:v00001524d00001410sv00001025sd0000003C* -- ID_MODEL_FROM_DATABASE=CL50 motherboard -+ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (CL50 motherboard) - - pci:v00001524d00001410sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (TravelMate 290) - - pci:v00001524d00001411* - ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller - - pci:v00001524d00001411sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller (NX9500) - - pci:v00001524d00001412* - ID_MODEL_FROM_DATABASE=CB-712/4 Cardbus Controller -@@ -47598,7 +47598,7 @@ pci:v000015ADd00000801* - ID_MODEL_FROM_DATABASE=Virtual Machine Interface - - pci:v000015ADd00000801sv000015ADsd00000800* -- ID_MODEL_FROM_DATABASE=Hypervisor ROM Interface -+ ID_MODEL_FROM_DATABASE=Virtual Machine Interface (Hypervisor ROM Interface) - - pci:v000015ADd00001977* - ID_MODEL_FROM_DATABASE=HD Audio Controller -@@ -47748,10 +47748,10 @@ pci:v000015B3d00006746* - ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] - - pci:v000015B3d00006746sv0000103Csd00001781* -- ID_MODEL_FROM_DATABASE=NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter -+ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter) - - pci:v000015B3d00006746sv0000103Csd00003349* -- ID_MODEL_FROM_DATABASE=NC543i 2-port 4xQDR IB/10Gb Adapter -+ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 2-port 4xQDR IB/10Gb Adapter) - - pci:v000015B3d00006750* - ID_MODEL_FROM_DATABASE=MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] -@@ -47763,7 +47763,7 @@ pci:v000015B3d00006764* - ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] - - pci:v000015B3d00006764sv0000103Csd00003313* -- ID_MODEL_FROM_DATABASE=HP NC542m Dual Port Flex-10 10GbE BLc Adapter -+ ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] (HP NC542m Dual Port Flex-10 10GbE BLc Adapter) - - pci:v000015B3d0000676E* - ID_MODEL_FROM_DATABASE=MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s] -@@ -47886,13 +47886,13 @@ pci:v000015BCd00000105* - ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES - - pci:v000015BCd00000105sv0000117Csd00000022* -- ID_MODEL_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42XS Fibre Channel Adapter) - - pci:v000015BCd00000105sv0000117Csd00000025* -- ID_MODEL_FROM_DATABASE=Celerity FC-44ES Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-44ES Fibre Channel Adapter) - - pci:v000015BCd00000105sv0000117Csd00000026* -- ID_MODEL_FROM_DATABASE=Celerity FC-42ES Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42ES Fibre Channel Adapter) - - pci:v000015BCd00001100* - ID_MODEL_FROM_DATABASE=E8001-66442 PCI Express CIC -@@ -48306,34 +48306,34 @@ pci:v00001657d00000013* - ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA - - pci:v00001657d00000013sv0000103Csd00001742* -- ID_MODEL_FROM_DATABASE=HP 82B 8Gbps dual port FC HBA -+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 82B 8Gbps dual port FC HBA) - - pci:v00001657d00000013sv0000103Csd00001744* -- ID_MODEL_FROM_DATABASE=HP 42B 4Gbps dual port FC HBA -+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 42B 4Gbps dual port FC HBA) - - pci:v00001657d00000013sv00001657sd00000014* -- ID_MODEL_FROM_DATABASE=425/825 4Gbps/8Gbps PCIe dual port FC HBA -+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (425/825 4Gbps/8Gbps PCIe dual port FC HBA) - - pci:v00001657d00000014* - ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - - pci:v00001657d00000014sv00001657sd00000014* -- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - FCOE -+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- FCOE) - - pci:v00001657d00000014sv00001657sd00000015* -- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - LL -+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- LL) - - pci:v00001657d00000017* - ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA - - pci:v00001657d00000017sv0000103Csd00001741* -- ID_MODEL_FROM_DATABASE=HP 41B 4Gbps single port FC HBA -+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 41B 4Gbps single port FC HBA) - - pci:v00001657d00000017sv0000103Csd00001743* -- ID_MODEL_FROM_DATABASE=HP 81B 8Gbps single port FC HBA -+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 81B 8Gbps single port FC HBA) - - pci:v00001657d00000017sv00001657sd00000014* -- ID_MODEL_FROM_DATABASE=415/815 4Gbps/8Gbps single port PCIe FC HBA -+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (415/815 4Gbps/8Gbps single port PCIe FC HBA) - - pci:v00001657d00000021* - ID_MODEL_FROM_DATABASE=804 8Gbps FC HBA for HP Bladesystem c-class -@@ -48342,13 +48342,13 @@ pci:v00001657d00000022* - ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter - - pci:v00001657d00000022sv00001657sd00000022* -- ID_MODEL_FROM_DATABASE=10Gbps CNA - FCOE -+ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - FCOE) - - pci:v00001657d00000022sv00001657sd00000023* -- ID_MODEL_FROM_DATABASE=10Gbps CNA - LL -+ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - LL) - - pci:v00001657d00000022sv00001657sd00000024* -- ID_MODEL_FROM_DATABASE=16Gbps FC HBA -+ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (16Gbps FC HBA) - - pci:v00001657d00000023* - ID_MODEL_FROM_DATABASE=1867/1869 16Gbps FC HBA -@@ -48435,10 +48435,10 @@ pci:v0000167Bd00002102* - ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 - - pci:v0000167Bd00002102sv0000187Esd00003406* -- ID_MODEL_FROM_DATABASE=ZyAIR B-122 CardBus 11Mbs Wireless LAN Card -+ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-122 CardBus 11Mbs Wireless LAN Card) - - pci:v0000167Bd00002102sv0000187Esd00003407* -- ID_MODEL_FROM_DATABASE=ZyAIR B-320 802.11b Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-320 802.11b Wireless PCI Adapter) - - pci:v0000167Bd00002116* - ID_MODEL_FROM_DATABASE=ZD1212B Wireless Adapter -@@ -48471,16 +48471,16 @@ pci:v0000168Cd00000007* - ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] - - pci:v0000168Cd00000007sv00001737sd00000007* -- ID_MODEL_FROM_DATABASE=WPC54A Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (WPC54A Wireless PC Card) - - pci:v0000168Cd00000007sv00001B47sd00000100* -- ID_MODEL_FROM_DATABASE=Harmony 8450CN Wireless CardBus Module -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Harmony 8450CN Wireless CardBus Module) - - pci:v0000168Cd00000007sv00001B47sd00000110* -- ID_MODEL_FROM_DATABASE=Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter) - - pci:v0000168Cd00000007sv00008086sd00002501* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 5000 LAN PCI Adapter Module -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (PRO/Wireless 5000 LAN PCI Adapter Module) - - pci:v0000168Cd00000011* - ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001A 802.11a] -@@ -48489,562 +48489,562 @@ pci:v0000168Cd00000012* - ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] - - pci:v0000168Cd00000012sv00001186sd00003A03* -- ID_MODEL_FROM_DATABASE=AirPro DWL-A650 Wireless Cardbus Adapter (rev.B) -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-A650 Wireless Cardbus Adapter (rev.B)) - - pci:v0000168Cd00000012sv00001186sd00003A04* -- ID_MODEL_FROM_DATABASE=AirPro DWL-AB650 Multimode Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB650 Multimode Wireless Cardbus Adapter) - - pci:v0000168Cd00000012sv00001186sd00003A05* -- ID_MODEL_FROM_DATABASE=AirPro DWL-AB520 Multimode Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB520 Multimode Wireless PCI Adapter) - - pci:v0000168Cd00000012sv0000126Csd00008031* -- ID_MODEL_FROM_DATABASE=2201 Mobile Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (2201 Mobile Adapter) - - pci:v0000168Cd00000012sv00001385sd00004400* -- ID_MODEL_FROM_DATABASE=WAB501 802.11ab Wireless CardBus Card -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (WAB501 802.11ab Wireless CardBus Card) - - pci:v0000168Cd00000012sv00001B47sd0000AA00* -- ID_MODEL_FROM_DATABASE=8460 802.11ab Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (8460 802.11ab Wireless CardBus Adapter) - - pci:v0000168Cd00000013* - ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter - - pci:v0000168Cd00000013sv00000308sd00003402* -- ID_MODEL_FROM_DATABASE=AG-100 802.11ag Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AG-100 802.11ag Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00000308sd00003405* -- ID_MODEL_FROM_DATABASE=G-102 v2 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-102 v2 802.11g Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00000308sd00003408* -- ID_MODEL_FROM_DATABASE=G-170S 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-170S 802.11g Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv00000E11sd000000E5* -- ID_MODEL_FROM_DATABASE=NC6000/NC8000 laptop -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (NC6000/NC8000 laptop) - - pci:v0000168Cd00000013sv000010B7sd00006002* -- ID_MODEL_FROM_DATABASE=3CRWE154A72 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRWE154A72 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv00001113sd0000D301* -- ID_MODEL_FROM_DATABASE=Philips CPWNA100 Wireless CardBus adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Philips CPWNA100 Wireless CardBus adapter) - - pci:v0000168Cd00000013sv00001113sd0000EE23* -- ID_MODEL_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (SMCWPCIT-G 108Mbps Wireless PCI adapter) - - pci:v0000168Cd00000013sv00001154sd0000033B* -- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AMG54 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AMG54) - - pci:v0000168Cd00000013sv00001154sd0000034E* -- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003202* -- ID_MODEL_FROM_DATABASE=DWL-G650 (Rev B3,B5) Wireless cardbus adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650 (Rev B3,B5) Wireless cardbus adapter) - - pci:v0000168Cd00000013sv00001186sd00003203* -- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. A) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) - - pci:v0000168Cd00000013sv00001186sd00003A07* -- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG650 Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A08* -- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG520 Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A12* -- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)) - - pci:v0000168Cd00000013sv00001186sd00003A13* -- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. B) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. B)) - - pci:v0000168Cd00000013sv00001186sd00003A14* -- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A)) - - pci:v0000168Cd00000013sv00001186sd00003A17* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G680 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G680 Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A18* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G550 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G550 Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A1A* -- ID_MODEL_FROM_DATABASE=WNA-2330 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WNA-2330 802.11bg Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A63* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A93* -- ID_MODEL_FROM_DATABASE=Conceptronic C54I Wireless 801.11g PCI card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54I Wireless 801.11g PCI card) - - pci:v0000168Cd00000013sv00001186sd00003A94* -- ID_MODEL_FROM_DATABASE=Conceptronic C54C 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54C 802.11g Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003AB0* -- ID_MODEL_FROM_DATABASE=Allnet ALL0281 Wireless PCI Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Allnet ALL0281 Wireless PCI Card) - - pci:v0000168Cd00000013sv00001385sd00004600* -- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) - - pci:v0000168Cd00000013sv00001385sd00004610* -- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) - - pci:v0000168Cd00000013sv00001385sd00004900* -- ID_MODEL_FROM_DATABASE=WG311v1 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311v1 802.11g Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001385sd00004A00* -- ID_MODEL_FROM_DATABASE=WAG311 802.11a/g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG311 802.11a/g Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001385sd00004B00* -- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.A/B) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.A/B)) - - pci:v0000168Cd00000013sv00001385sd00004D00* -- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A2) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A2)) - - pci:v0000168Cd00000013sv00001385sd00004F00* -- ID_MODEL_FROM_DATABASE=WG511U Double 108 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511U Double 108 Mbps Wireless PC Card) - - pci:v0000168Cd00000013sv00001385sd00005A00* -- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A3) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A3)) - - pci:v0000168Cd00000013sv00001385sd00005B00* -- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.C) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.C)) - - pci:v0000168Cd00000013sv00001385sd00005D00* -- ID_MODEL_FROM_DATABASE=WPN511 RangeMax Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPN511 RangeMax Wireless PC Card) - - pci:v0000168Cd00000013sv00001458sd0000E911* -- ID_MODEL_FROM_DATABASE=GN-WIAG02 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (GN-WIAG02) - - pci:v0000168Cd00000013sv00001468sd00000403* -- ID_MODEL_FROM_DATABASE=U10H014 802.11g Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (U10H014 802.11g Cardbus Adapter) - - pci:v0000168Cd00000013sv00001468sd00000408* -- ID_MODEL_FROM_DATABASE=ThinkPad 11b/g Wireless LAN Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (ThinkPad 11b/g Wireless LAN Mini PCI Adapter) - - pci:v0000168Cd00000013sv000014B7sd00000A10* -- ID_MODEL_FROM_DATABASE=8480-WD 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8480-WD 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv000014B7sd00000A60* -- ID_MODEL_FROM_DATABASE=8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter) - - pci:v0000168Cd00000013sv000014B7sd0000AA30* -- ID_MODEL_FROM_DATABASE=8800-FC 802.11bg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8800-FC 802.11bg Cardbus Adapter) - - pci:v0000168Cd00000013sv000014B7sd0000AA40* -- ID_MODEL_FROM_DATABASE=8470-WD 802.11bg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8470-WD 802.11bg Cardbus Adapter) - - pci:v0000168Cd00000013sv000014B9sd0000CB21* -- ID_MODEL_FROM_DATABASE=CB21 802.11a/b/g Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CB21 802.11a/b/g Cardbus Adapter) - - pci:v0000168Cd00000013sv00001668sd00001026* -- ID_MODEL_FROM_DATABASE=IBM HighRate 11 a/b/g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (IBM HighRate 11 a/b/g Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00000013* -- ID_MODEL_FROM_DATABASE=AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001025* -- ID_MODEL_FROM_DATABASE=DWL-G650B2 Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650B2 Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001027* -- ID_MODEL_FROM_DATABASE=Engenius NL-3054CB ARIES b/g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius NL-3054CB ARIES b/g CardBus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001042* -- ID_MODEL_FROM_DATABASE=Ubiquiti Networks SuperRange a/b/g Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Ubiquiti Networks SuperRange a/b/g Cardbus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001051* -- ID_MODEL_FROM_DATABASE=EZ Connect g 802.11g 108Mbps Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (EZ Connect g 802.11g 108Mbps Wireless PCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002026* -- ID_MODEL_FROM_DATABASE=Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002027* -- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) - - pci:v0000168Cd00000013sv0000168Csd00002041* -- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002042* -- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002051* -- ID_MODEL_FROM_DATABASE=TRENDnet TEW-443PI Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (TRENDnet TEW-443PI Wireless PCI Adapter) - - pci:v0000168Cd00000013sv000016A5sd0000160A* -- ID_MODEL_FROM_DATABASE=BWP712 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (BWP712 802.11bg Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv000016ABsd00007302* -- ID_MODEL_FROM_DATABASE=Trust Speedshare Turbo Pro Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Trust Speedshare Turbo Pro Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001737sd00000017* -- ID_MODEL_FROM_DATABASE=WPC55AG -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG) - - pci:v0000168Cd00000013sv00001737sd00000026* -- ID_MODEL_FROM_DATABASE=WMP55AG v1.1 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.1) - - pci:v0000168Cd00000013sv00001737sd00000035* -- ID_MODEL_FROM_DATABASE=WPC55AG v1.2 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG v1.2 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv00001737sd00000036* -- ID_MODEL_FROM_DATABASE=WMP55AG v1.2 802.11abg PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.2 802.11abg PCI Adapter) - - pci:v0000168Cd00000013sv00001799sd00003000* -- ID_MODEL_FROM_DATABASE=F6D3000 Dual-Band Wireless A+G Desktop Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3000 Dual-Band Wireless A+G Desktop Card) - - pci:v0000168Cd00000013sv00001799sd00003010* -- ID_MODEL_FROM_DATABASE=F6D3010 Dual-Band Wireless A+G Notebook Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3010 Dual-Band Wireless A+G Notebook Card) - - pci:v0000168Cd00000013sv000017CFsd00000042* -- ID_MODEL_FROM_DATABASE=Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter) - - pci:v0000168Cd00000013sv0000185Fsd00001012* -- ID_MODEL_FROM_DATABASE=CM9 Wireless a/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CM9 Wireless a/b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000185Fsd00002012* -- ID_MODEL_FROM_DATABASE=Wistron NeWeb WLAN a+b+g model CB9 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Wistron NeWeb WLAN a+b+g model CB9) - - pci:v0000168Cd00000013sv0000A727sd00006801* -- ID_MODEL_FROM_DATABASE=3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card) - - pci:v0000168Cd0000001A* - ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] - - pci:v0000168Cd0000001Asv00001052sd0000168C* -- ID_MODEL_FROM_DATABASE=Sweex Wireless Lan PC Card 54Mbps -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Sweex Wireless Lan PC Card 54Mbps) - - pci:v0000168Cd0000001Asv00001113sd0000EE20* -- ID_MODEL_FROM_DATABASE=SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)) - - pci:v0000168Cd0000001Asv00001113sd0000EE24* -- ID_MODEL_FROM_DATABASE=SMC Wireless PCI Card WPCI-G -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless PCI Card WPCI-G) - - pci:v0000168Cd0000001Asv00001186sd00003A15* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1)) - - pci:v0000168Cd0000001Asv00001186sd00003A16* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless PCI Adapter(rev.B) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)) - - pci:v0000168Cd0000001Asv00001186sd00003A1C* -- ID_MODEL_FROM_DATABASE=WNA-1330 Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WNA-1330 Notebook Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003A1D* -- ID_MODEL_FROM_DATABASE=WDA-1320 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WDA-1320 Desktop Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003A23* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G520+A Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G520+A Wireless PCI Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003A24* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G650+A Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G650+A Wireless Cardbus Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003B08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1)) - - pci:v0000168Cd0000001Asv0000168Csd0000001A* -- ID_MODEL_FROM_DATABASE=Belkin FD7000 -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Belkin FD7000) - - pci:v0000168Cd0000001Asv0000168Csd00001052* -- ID_MODEL_FROM_DATABASE=TP-Link TL-WN510G Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (TP-Link TL-WN510G Wireless CardBus Adapter) - - pci:v0000168Cd0000001Asv0000168Csd00002052* -- ID_MODEL_FROM_DATABASE=Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]) - - pci:v0000168Cd0000001Asv000016ECsd00000122* -- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter Model 5418 -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Wireless PCI Adapter Model 5418) - - pci:v0000168Cd0000001Asv00001737sd00000053* -- ID_MODEL_FROM_DATABASE=WPC54G v7 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WPC54G v7 802.11g Wireless-G Notebook Adapter) - - pci:v0000168Cd0000001Asv00001799sd0000700C* -- ID_MODEL_FROM_DATABASE=F5D7000 v5000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7000 v5000 Wireless G Desktop Card) - - pci:v0000168Cd0000001Asv00001799sd0000701D* -- ID_MODEL_FROM_DATABASE=F5D7010 v5000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7010 v5000 Wireless G Notebook Card) - - pci:v0000168Cd0000001Asv000017F9sd00000008* -- ID_MODEL_FROM_DATABASE=DX-WGNBC 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGNBC 802.11bg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Asv000017F9sd00000018* -- ID_MODEL_FROM_DATABASE=DX-WGDTC 802.11bg Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGDTC 802.11bg Wireless PCI Adapter) - - pci:v0000168Cd0000001B* - ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] - - pci:v0000168Cd0000001Bsv00000777sd00001107* -- ID_MODEL_FROM_DATABASE=UB5 802.11a Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (UB5 802.11a Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00000777sd00003002* -- ID_MODEL_FROM_DATABASE=XR2 802.11g Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR2 802.11g Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00000777sd00003005* -- ID_MODEL_FROM_DATABASE=XR5 802.11a Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR5 802.11a Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00000777sd00003009* -- ID_MODEL_FROM_DATABASE=XR9 900MHz Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR9 900MHz Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00001154sd0000034E* -- ID_MODEL_FROM_DATABASE=WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Bsv00001186sd00003A19* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter) - - pci:v0000168Cd0000001Bsv00001186sd00003A22* -- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B) -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B)) - - pci:v0000168Cd0000001Bsv000011ADsd00005001* -- ID_MODEL_FROM_DATABASE=WN5301A 802.11bg Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WN5301A 802.11bg Wireless PCI Adapter) - - pci:v0000168Cd0000001Bsv00001458sd0000E901* -- ID_MODEL_FROM_DATABASE=GN-WI01HT Wireless a/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (GN-WI01HT Wireless a/b/g MiniPCI Adapter) - - pci:v0000168Cd0000001Bsv0000168Csd0000001B* -- ID_MODEL_FROM_DATABASE=Wireless LAN PCI LiteOn -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless LAN PCI LiteOn) - - pci:v0000168Cd0000001Bsv0000168Csd00001062* -- ID_MODEL_FROM_DATABASE=IPN-W100CB 802.11abg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (IPN-W100CB 802.11abg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Bsv0000168Csd00002062* -- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG) -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)) - - pci:v0000168Cd0000001Bsv0000168Csd00002063* -- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG) - - pci:v0000168Cd0000001Bsv000017F9sd0000000B* -- ID_MODEL_FROM_DATABASE=WL-711A 802.11abg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WL-711A 802.11abg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Bsv000017F9sd0000000C* -- ID_MODEL_FROM_DATABASE=WPIA-112AG 802.11abg Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WPIA-112AG 802.11abg Wireless PCI Adapter) - - pci:v0000168Cd0000001Bsv000017F9sd0000000D* -- ID_MODEL_FROM_DATABASE=PC-686X 802.11abg Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (PC-686X 802.11abg Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv0000185Fsd00001600* -- ID_MODEL_FROM_DATABASE=DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW)) - - pci:v0000168Cd0000001Bsv00001948sd00003ABA* -- ID_MODEL_FROM_DATABASE=RBTBJ-AW 802.11abg Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (RBTBJ-AW 802.11abg Wireless Cardbus Adapter) - - pci:v0000168Cd0000001Bsv0000A727sd00006804* -- ID_MODEL_FROM_DATABASE=Wireless 11a/b/g PC Card with XJACK(r) Antenna -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless 11a/b/g PC Card with XJACK(r) Antenna) - - pci:v0000168Cd0000001C* - ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) - - pci:v0000168Cd0000001Csv00000777sd00003006* -- ID_MODEL_FROM_DATABASE=SRX 802.11abg Wireless ExpressCard Adapter -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (SRX 802.11abg Wireless ExpressCard Adapter) - - pci:v0000168Cd0000001Csv0000103Csd0000137A* -- ID_MODEL_FROM_DATABASE=AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC) - - pci:v0000168Cd0000001Csv0000106Bsd00000086* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPort Extreme) - - pci:v0000168Cd0000001Csv0000144Fsd00007106* -- ID_MODEL_FROM_DATABASE=WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card) - - pci:v0000168Cd0000001Csv0000144Fsd00007128* -- ID_MODEL_FROM_DATABASE=WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card) - - pci:v0000168Cd0000001Csv00001468sd00000428* -- ID_MODEL_FROM_DATABASE=AR5BXB63 802.11bg NIC -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 802.11bg NIC) - - pci:v0000168Cd0000001Csv00001468sd0000042A* -- ID_MODEL_FROM_DATABASE=AR5007EG 802.11bg NIC -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5007EG 802.11bg NIC) - - pci:v0000168Cd0000001Csv0000147Bsd00001033* -- ID_MODEL_FROM_DATABASE=AirPace Wi-Fi -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPace Wi-Fi) - - pci:v0000168Cd0000001Csv0000168Csd0000001C* -- ID_MODEL_FROM_DATABASE=AR242x 802.11abg NIC (PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg NIC (PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003061* -- ID_MODEL_FROM_DATABASE=AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EGS 802.11bg NIC (2.4GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003062* -- ID_MODEL_FROM_DATABASE=AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003063* -- ID_MODEL_FROM_DATABASE=AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003065* -- ID_MODEL_FROM_DATABASE=AR5006EG 802.11bg NIC (2.4GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EG 802.11bg NIC (2.4GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003067* -- ID_MODEL_FROM_DATABASE=AR242x 802.11abg Wireless PCI Express Adapter (rev 01) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg Wireless PCI Express Adapter (rev 01)) - - pci:v0000168Cd0000001Csv00001A3Bsd00001026* -- ID_MODEL_FROM_DATABASE=AW-GE780 802.11bg Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AW-GE780 802.11bg Wireless Mini PCIe Card) - - pci:v0000168Cd0000001D* - ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] - - pci:v0000168Cd0000001Dsv00001799sd0000720B* -- ID_MODEL_FROM_DATABASE=F5D7000 v8000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7000 v8000 Wireless G Desktop Card) - - pci:v0000168Cd0000001Dsv00001799sd0000721B* -- ID_MODEL_FROM_DATABASE=F5D7010 v8000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7010 v8000 Wireless G Notebook Card) - - pci:v0000168Cd00000020* - ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC - - pci:v0000168Cd00000020sv00000308sd00003407* -- ID_MODEL_FROM_DATABASE=M-102 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-102 802.11g Wireless Cardbus Adapter) - - pci:v0000168Cd00000020sv00001186sd00003A67* -- ID_MODEL_FROM_DATABASE=DWL-G650M Super G MIMO Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G650M Super G MIMO Wireless Notebook Adapter) - - pci:v0000168Cd00000020sv00001186sd00003A68* -- ID_MODEL_FROM_DATABASE=DWL-G520M Wireless 108G MIMO Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G520M Wireless 108G MIMO Desktop Adapter) - - pci:v0000168Cd00000020sv0000187Esd0000340E* -- ID_MODEL_FROM_DATABASE=M-302 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-302 802.11g Wireless PCI Adapter) - - pci:v0000168Cd00000020sv00001976sd00002003* -- ID_MODEL_FROM_DATABASE=TEW-601PC 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (TEW-601PC 802.11g Wireless CardBus Adapter) - - pci:v0000168Cd00000023* - ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] - - pci:v0000168Cd00000023sv00000308sd0000340B* -- ID_MODEL_FROM_DATABASE=NWD-170N 802.11bgn Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-170N 802.11bgn Wireless CardBus Adapter) - - pci:v0000168Cd00000023sv00001154sd00000365* -- ID_MODEL_FROM_DATABASE=Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter) - - pci:v0000168Cd00000023sv00001154sd00000367* -- ID_MODEL_FROM_DATABASE=WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter) - - pci:v0000168Cd00000023sv00001186sd00003A6A* -- ID_MODEL_FROM_DATABASE=DWA-642 802.11n RangeBooster N CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-642 802.11n RangeBooster N CardBus Adapter) - - pci:v0000168Cd00000023sv00001186sd00003A6B* -- ID_MODEL_FROM_DATABASE=DWA-547 802.11n RangeBooster N 650 DeskTop Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-547 802.11n RangeBooster N 650 DeskTop Adapter) - - pci:v0000168Cd00000023sv00001186sd00003A6D* -- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A1) -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-552 802.11n Xtreme N Desktop Adapter (rev A1)) - - pci:v0000168Cd00000023sv00001186sd00003A76* -- ID_MODEL_FROM_DATABASE=DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1) -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1)) - - pci:v0000168Cd00000023sv00001737sd00000059* -- ID_MODEL_FROM_DATABASE=WPC300N v2 Wireless-N Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC300N v2 Wireless-N Notebook Adapter) - - pci:v0000168Cd00000023sv00001737sd00000069* -- ID_MODEL_FROM_DATABASE=WPC100 v1 802.11n RangePlus Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC100 v1 802.11n RangePlus Wireless Notebook Adapter) - - pci:v0000168Cd00000023sv00001737sd00000072* -- ID_MODEL_FROM_DATABASE=WMP110 v1 802.11n RangePlus Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WMP110 v1 802.11n RangePlus Wireless PCI Adapter) - - pci:v0000168Cd00000023sv00001799sd00008011* -- ID_MODEL_FROM_DATABASE=F5D8011 v1 802.11n N1 Wireless Notebook Card -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (F5D8011 v1 802.11n N1 Wireless Notebook Card) - - pci:v0000168Cd00000023sv0000187Esd00003411* -- ID_MODEL_FROM_DATABASE=NWD-370N 802.11n Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-370N 802.11n Wireless PCI Adapter) - - pci:v0000168Cd00000023sv00001976sd00002008* -- ID_MODEL_FROM_DATABASE=TEW-621PC 802.11bgn Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (TEW-621PC 802.11bgn Wireless CardBus Adapter) - - pci:v0000168Cd00000024* - ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) - - pci:v0000168Cd00000024sv0000106Bsd00000087* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (AirPort Extreme) - - pci:v0000168Cd00000024sv00001186sd00003A70* -- ID_MODEL_FROM_DATABASE=DWA-556 Xtreme N PCI Express Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (DWA-556 Xtreme N PCI Express Desktop Adapter) - - pci:v0000168Cd00000027* - ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] - - pci:v0000168Cd00000027sv00000777sd00004082* -- ID_MODEL_FROM_DATABASE=SR71-A 802.11abgn Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] (SR71-A 802.11abgn Wireless Mini PCI Adapter) - - pci:v0000168Cd00000029* - ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter - - pci:v0000168Cd00000029sv00000777sd00004005* -- ID_MODEL_FROM_DATABASE=SR71-15 802.11an Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (SR71-15 802.11an Mini PCI Adapter) - - pci:v0000168Cd00000029sv00001186sd00003A7A* -- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A2) -+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)) - - pci:v0000168Cd00000029sv00001186sd00003A7D* -- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A3) -+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A3)) - - pci:v0000168Cd0000002A* - ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) - - pci:v0000168Cd0000002Asv00000777sd00004F05* -- ID_MODEL_FROM_DATABASE=SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]) - - pci:v0000168Cd0000002Asv0000103Csd00003041* -- ID_MODEL_FROM_DATABASE=AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) - - pci:v0000168Cd0000002Asv0000105Bsd0000E006* -- ID_MODEL_FROM_DATABASE=T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv0000105Bsd0000E01F* -- ID_MODEL_FROM_DATABASE=T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) - - pci:v0000168Cd0000002Asv0000106Bsd0000008F* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AirPort Extreme) - - pci:v0000168Cd0000002Asv000011ADsd00006600* -- ID_MODEL_FROM_DATABASE=WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv0000144Fsd00007141* -- ID_MODEL_FROM_DATABASE=WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv0000168Csd00000203* -- ID_MODEL_FROM_DATABASE=DW1525 802.11abgn WLAN PCIe Card [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (DW1525 802.11abgn WLAN PCIe Card [AR9280]) - - pci:v0000168Cd0000002Asv00001A32sd00000303* -- ID_MODEL_FROM_DATABASE=EM303 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM303 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv00001A32sd00000306* -- ID_MODEL_FROM_DATABASE=EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) - - pci:v0000168Cd0000002Asv00001A3Bsd00001067* -- ID_MODEL_FROM_DATABASE=AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv00001A3Bsd00001081* -- ID_MODEL_FROM_DATABASE=AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) - - pci:v0000168Cd0000002B* - ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) - - pci:v0000168Cd0000002Bsv00001028sd00000204* -- ID_MODEL_FROM_DATABASE=Wireless 1502 802.11bgn Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1502 802.11bgn Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD] -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD]) - - pci:v0000168Cd0000002Bsv0000103Csd0000303F* -- ID_MODEL_FROM_DATABASE=U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000103Csd00003040* -- ID_MODEL_FROM_DATABASE=U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000105Bsd0000E017* -- ID_MODEL_FROM_DATABASE=T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000105Bsd0000E023* -- ID_MODEL_FROM_DATABASE=T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001113sd0000E811* -- ID_MODEL_FROM_DATABASE=WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000185Fsd000030AF* -- ID_MODEL_FROM_DATABASE=DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001931sd00000023* -- ID_MODEL_FROM_DATABASE=Option GTM67x PCIe WiFi Adapter -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Option GTM67x PCIe WiFi Adapter) - - pci:v0000168Cd0000002Bsv00001A3Bsd00001089* -- ID_MODEL_FROM_DATABASE=AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001A3Bsd00002C37* -- ID_MODEL_FROM_DATABASE=AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) - - pci:v0000168Cd0000002Bsv00001B9Asd00000401* -- ID_MODEL_FROM_DATABASE=XW204E 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (XW204E 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001B9Asd00000C03* -- ID_MODEL_FROM_DATABASE=WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) - - pci:v0000168Cd0000002C* - ID_MODEL_FROM_DATABASE=AR2427 802.11bg Wireless Network Adapter (PCI-Express) -@@ -49059,25 +49059,25 @@ pci:v0000168Cd00000030* - ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter - - pci:v0000168Cd00000030sv0000103Csd00001627* -- ID_MODEL_FROM_DATABASE=AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter) - - pci:v0000168Cd00000030sv0000106Bsd0000009A* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AirPort Extreme) - - pci:v0000168Cd00000030sv00001186sd00003A7E* -- ID_MODEL_FROM_DATABASE=DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter) - - pci:v0000168Cd00000030sv00001A56sd00002000* -- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382] -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]) - - pci:v0000168Cd00000030sv00001A56sd00002001* -- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380] -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]) - - pci:v0000168Cd00000032* - ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter - - pci:v0000168Cd00000032sv0000103Csd00001838* -- ID_MODEL_FROM_DATABASE=AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter -+ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter) - - pci:v0000168Cd00000033* - ID_MODEL_FROM_DATABASE=AR9580 Wireless Network Adapter -@@ -49086,7 +49086,7 @@ pci:v0000168Cd00000034* - ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter - - pci:v0000168Cd00000034sv00001A56sd00002003* -- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1202 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter (Killer Wireless-N 1202 Half-size Mini PCIe Card) - - pci:v0000168Cd00000036* - ID_MODEL_FROM_DATABASE=QCA9565 / AR9565 Wireless Network Adapter -@@ -49095,7 +49095,7 @@ pci:v0000168Cd00000037* - ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter - - pci:v0000168Cd00000037sv00001A3Bsd00002100* -- ID_MODEL_FROM_DATABASE=AW-NB100H 802.11n Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AW-NB100H 802.11n Wireless Mini PCIe Card) - - pci:v0000168Cd0000003C* - ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter -@@ -49107,7 +49107,7 @@ pci:v0000168Cd00001014* - ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC - - pci:v0000168Cd00001014sv00001014sd0000058A* -- ID_MODEL_FROM_DATABASE=ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) -+ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)) - - pci:v0000168Cd00009013* - ID_MODEL_FROM_DATABASE=AR5002X Wireless Network Adapter -@@ -49125,7 +49125,7 @@ pci:v0000168Cd0000FF1D* - ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter - - pci:v0000168Cd0000FF1Dsv0000168Csd0000EE1C* -- ID_MODEL_FROM_DATABASE=AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3] -+ ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter (AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3]) - - pci:v00001695* - ID_VENDOR_FROM_DATABASE=EPoX Computer Co., Ltd. -@@ -49524,16 +49524,16 @@ pci:v00001737d00001032* - ID_MODEL_FROM_DATABASE=Gigabit Network Adapter - - pci:v00001737d00001032sv00001737sd00000015* -- ID_MODEL_FROM_DATABASE=EG1032 v2 Instant Gigabit Network Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v2 Instant Gigabit Network Adapter) - - pci:v00001737d00001032sv00001737sd00000024* -- ID_MODEL_FROM_DATABASE=EG1032 v3 Instant Gigabit Network Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v3 Instant Gigabit Network Adapter) - - pci:v00001737d00001064* - ID_MODEL_FROM_DATABASE=Gigabit Network Adapter - - pci:v00001737d00001064sv00001737sd00000016* -- ID_MODEL_FROM_DATABASE=EG1064 v2 Instant Gigabit Network Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1064 v2 Instant Gigabit Network Adapter) - - pci:v00001737d0000AB08* - ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet -@@ -49554,7 +49554,7 @@ pci:v0000173Bd000003EA* - ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet - - pci:v0000173Bd000003EAsv0000173Bsd00000001* -- ID_MODEL_FROM_DATABASE=AC1002 -+ ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet (AC1002) - - pci:v0000173Bd000003EB* - ID_MODEL_FROM_DATABASE=AC1003 Gigabit Ethernet -@@ -49851,19 +49851,19 @@ pci:v000017CBd00000001* - ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card - - pci:v000017CBd00000001sv00001385sd00005C00* -- ID_MODEL_FROM_DATABASE=WGM511 Pre-N 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WGM511 Pre-N 802.11g Wireless CardBus Adapter) - - pci:v000017CBd00000001sv00001737sd00000045* -- ID_MODEL_FROM_DATABASE=WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX -+ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX) - - pci:v000017CBd00000002* - ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card - - pci:v000017CBd00000002sv00001385sd00006D00* -- ID_MODEL_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter) - - pci:v000017CBd00000002sv00001737sd00000054* -- ID_MODEL_FROM_DATABASE=WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400 -+ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400) - - pci:v000017CC* - ID_VENDOR_FROM_DATABASE=NetChip Technology, Inc -@@ -49914,7 +49914,7 @@ pci:v000017D3d00001280* - ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller - - pci:v000017D3d00001280sv000017D3sd00001221* -- ID_MODEL_FROM_DATABASE=ARC-1221 8-Port PCI-Express to SATA RAID Controller -+ ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller (ARC-1221 8-Port PCI-Express to SATA RAID Controller) - - pci:v000017D3d00001300* - ID_MODEL_FROM_DATABASE=ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter -@@ -49923,7 +49923,7 @@ pci:v000017D3d00001680* - ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller - - pci:v000017D3d00001680sv000017D3sd00001212* -- ID_MODEL_FROM_DATABASE=ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller -+ ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller (ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller) - - pci:v000017D3d00001880* - ID_MODEL_FROM_DATABASE=ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller -@@ -49941,82 +49941,82 @@ pci:v000017D5d00005831* - ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X - - pci:v000017D5d00005831sv0000103Csd000012D5* -- ID_MODEL_FROM_DATABASE=PCI-X 133MHz 10GbE SR Fiber -+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (PCI-X 133MHz 10GbE SR Fiber) - - pci:v000017D5d00005831sv000010A9sd00008020* -- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) -+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) - - pci:v000017D5d00005831sv000010A9sd00008024* -- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) -+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) - - pci:v000017D5d00005832* - ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 - - pci:v000017D5d00005832sv0000103Csd00001337* -- ID_MODEL_FROM_DATABASE=PCI-X 266MHz 10GigE SR [AD385A] -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (PCI-X 266MHz 10GigE SR [AD385A]) - - pci:v000017D5d00005832sv000010A9sd00008021* -- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet II (PCI-X, Fiber) -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Single Port 10-Gigabit Ethernet II (PCI-X, Fiber)) - - pci:v000017D5d00005832sv000017D5sd00006020* -- ID_MODEL_FROM_DATABASE=Xframe II SR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR) - - pci:v000017D5d00005832sv000017D5sd00006021* -- ID_MODEL_FROM_DATABASE=Xframe II SR, Low Profile -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR, Low Profile) - - pci:v000017D5d00005832sv000017D5sd00006022* -- ID_MODEL_FROM_DATABASE=Xframe E SR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E SR) - - pci:v000017D5d00005832sv000017D5sd00006420* -- ID_MODEL_FROM_DATABASE=Xframe II LR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR) - - pci:v000017D5d00005832sv000017D5sd00006421* -- ID_MODEL_FROM_DATABASE=Xframe II LR, Low Profile -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR, Low Profile) - - pci:v000017D5d00005832sv000017D5sd00006422* -- ID_MODEL_FROM_DATABASE=Xframe E LR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E LR) - - pci:v000017D5d00005832sv000017D5sd00006C20* -- ID_MODEL_FROM_DATABASE=Xframe II CX4 -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4) - - pci:v000017D5d00005832sv000017D5sd00006C21* -- ID_MODEL_FROM_DATABASE=Xframe II CX4, Low Profile -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4, Low Profile) - - pci:v000017D5d00005832sv000017D5sd00006C22* -- ID_MODEL_FROM_DATABASE=Xframe E CX4 -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E CX4) - - pci:v000017D5d00005833* - ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe - - pci:v000017D5d00005833sv000017D5sd00006030* -- ID_MODEL_FROM_DATABASE=X3110 Single Port SR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port SR) - - pci:v000017D5d00005833sv000017D5sd00006031* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port SR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port SR) - - pci:v000017D5d00005833sv000017D5sd00006430* -- ID_MODEL_FROM_DATABASE=X3110 Single Port LR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LR) - - pci:v000017D5d00005833sv000017D5sd00006431* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port LR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LR) - - pci:v000017D5d00005833sv000017D5sd00007030* -- ID_MODEL_FROM_DATABASE=X3110 Single Port LRM -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LRM) - - pci:v000017D5d00005833sv000017D5sd00007031* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port LRM -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LRM) - - pci:v000017D5d00005833sv000017D5sd00007430* -- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-T -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-T) - - pci:v000017D5d00005833sv000017D5sd00007431* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-T -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-T) - - pci:v000017D5d00005833sv000017D5sd00007830* -- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-CR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-CR) - - pci:v000017D5d00005833sv000017D5sd00007831* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-CR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-CR) - - pci:v000017DB* - ID_VENDOR_FROM_DATABASE=Cray Inc -@@ -50103,16 +50103,16 @@ pci:v000017FEd00002120* - ID_MODEL_FROM_DATABASE=IPN 2120 802.11b - - pci:v000017FEd00002120sv00001737sd00000020* -- ID_MODEL_FROM_DATABASE=WMP11 v4 802.11b Wireless-B PCI Adapter -+ ID_MODEL_FROM_DATABASE=IPN 2120 802.11b (WMP11 v4 802.11b Wireless-B PCI Adapter) - - pci:v000017FEd00002220* - ID_MODEL_FROM_DATABASE=IPN 2220 802.11g - - pci:v000017FEd00002220sv00001468sd00000305* -- ID_MODEL_FROM_DATABASE=T60N871 802.11g Mini PCI Wireless Adapter -+ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (T60N871 802.11g Mini PCI Wireless Adapter) - - pci:v000017FEd00002220sv00001737sd00000029* -- ID_MODEL_FROM_DATABASE=WPC54G v4 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (WPC54G v4 802.11g Wireless-G Notebook Adapter) - - pci:v000017FF* - ID_VENDOR_FROM_DATABASE=Benq Corporation -@@ -50133,13 +50133,13 @@ pci:v00001813d00004000* - ID_MODEL_FROM_DATABASE=HaM controllerless modem - - pci:v00001813d00004000sv000016BEsd00000001* -- ID_MODEL_FROM_DATABASE=V9x HAM Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HaM controllerless modem (V9x HAM Data Fax Modem) - - pci:v00001813d00004100* - ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem - - pci:v00001813d00004100sv000016BEsd00000002* -- ID_MODEL_FROM_DATABASE=V9x HAM 1394 -+ ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem (V9x HAM 1394) - - pci:v00001814* - ID_VENDOR_FROM_DATABASE=Ralink corp. -@@ -50148,13 +50148,13 @@ pci:v00001814d00000101* - ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 - - pci:v00001814d00000101sv00001043sd00000127* -- ID_MODEL_FROM_DATABASE=WiFi-b add-on Card -+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (WiFi-b add-on Card) - - pci:v00001814d00000101sv00001371sd00000010* -- ID_MODEL_FROM_DATABASE=Minitar MNW2BPCI Wireless PCI Card -+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (Minitar MNW2BPCI Wireless PCI Card) - - pci:v00001814d00000101sv00001462sd00006828* -- ID_MODEL_FROM_DATABASE=PC11B2 (MS-6828) Wireless 11b PCI Card -+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (PC11B2 (MS-6828) Wireless 11b PCI Card) - - pci:v00001814d00000200* - ID_MODEL_FROM_DATABASE=RT2500 802.11g PCI [PC54G2] -@@ -50163,58 +50163,58 @@ pci:v00001814d00000201* - ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg - - pci:v00001814d00000201sv00001043sd0000130F* -- ID_MODEL_FROM_DATABASE=WL-130g -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-130g) - - pci:v00001814d00000201sv00001186sd00003C00* -- ID_MODEL_FROM_DATABASE=DWL-G650X Wireless 11g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (DWL-G650X Wireless 11g CardBus Adapter) - - pci:v00001814d00000201sv00001371sd0000001E* -- ID_MODEL_FROM_DATABASE=CWC-854 Wireless-G CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWC-854 Wireless-G CardBus Adapter) - - pci:v00001814d00000201sv00001371sd0000001F* -- ID_MODEL_FROM_DATABASE=CWM-854 Wireless-G Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWM-854 Wireless-G Mini PCI Adapter) - - pci:v00001814d00000201sv00001371sd00000020* -- ID_MODEL_FROM_DATABASE=CWP-854 Wireless-G PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWP-854 Wireless-G PCI Adapter) - - pci:v00001814d00000201sv00001458sd0000E381* -- ID_MODEL_FROM_DATABASE=GN-WMKG 802.11b/g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WMKG 802.11b/g Wireless CardBus Adapter) - - pci:v00001814d00000201sv00001458sd0000E931* -- ID_MODEL_FROM_DATABASE=GN-WIKG 802.11b/g mini-PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WIKG 802.11b/g mini-PCI Adapter) - - pci:v00001814d00000201sv00001462sd00006833* -- ID_MODEL_FROM_DATABASE=Unknown 802.11g mini-PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Unknown 802.11g mini-PCI Adapter) - - pci:v00001814d00000201sv00001462sd00006835* -- ID_MODEL_FROM_DATABASE=Wireless 11G CardBus CB54G2 -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Wireless 11G CardBus CB54G2) - - pci:v00001814d00000201sv00001737sd00000032* -- ID_MODEL_FROM_DATABASE=WMP54G v4.0 PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WMP54G v4.0 PCI Adapter) - - pci:v00001814d00000201sv00001799sd0000700A* -- ID_MODEL_FROM_DATABASE=F5D7000 v2000/v3000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7000 v2000/v3000 Wireless G Desktop Card) - - pci:v00001814d00000201sv00001799sd0000701A* -- ID_MODEL_FROM_DATABASE=F5D7010 v2000/v3000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7010 v2000/v3000 Wireless G Notebook Card) - - pci:v00001814d00000201sv00001814sd00002560* - ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg - - pci:v00001814d00000201sv0000182Dsd00009073* -- ID_MODEL_FROM_DATABASE=WL-115 Wireless Network PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-115 Wireless Network PCI Adapter) - - pci:v00001814d00000201sv0000185Fsd000022A0* -- ID_MODEL_FROM_DATABASE=CN-WF513 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CN-WF513 Wireless Cardbus Adapter) - - pci:v00001814d00000201sv000018EBsd00005312* -- ID_MODEL_FROM_DATABASE=WL531P IEEE 802.11g PCI Card-EU -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL531P IEEE 802.11g PCI Card-EU) - - pci:v00001814d00000201sv00001948sd00003C00* -- ID_MODEL_FROM_DATABASE=C54RC v1 Wireless 11g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54RC v1 Wireless 11g CardBus Adapter) - - pci:v00001814d00000201sv00001948sd00003C01* -- ID_MODEL_FROM_DATABASE=C54Ri v1 Wireless 11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54Ri v1 Wireless 11g PCI Adapter) - - pci:v00001814d00000300* - ID_MODEL_FROM_DATABASE=Wireless Adapter Canyon CN-WF511 -@@ -50223,88 +50223,88 @@ pci:v00001814d00000301* - ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI - - pci:v00001814d00000301sv00001186sd00003C08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1) -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1)) - - pci:v00001814d00000301sv00001186sd00003C09* -- ID_MODEL_FROM_DATABASE=DWL-G510 Rev C -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (DWL-G510 Rev C) - - pci:v00001814d00000301sv000013D1sd0000ABE3* -- ID_MODEL_FROM_DATABASE=miniPCI Pluscom 802.11 a/b/g -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (miniPCI Pluscom 802.11 a/b/g) - - pci:v00001814d00000301sv00001458sd0000E933* -- ID_MODEL_FROM_DATABASE=GN-WI01GS -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WI01GS) - - pci:v00001814d00000301sv00001458sd0000E934* -- ID_MODEL_FROM_DATABASE=GN-WP01GS -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WP01GS) - - pci:v00001814d00000301sv00001737sd00000055* -- ID_MODEL_FROM_DATABASE=WMP54G v4.1 -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (WMP54G v4.1) - - pci:v00001814d00000301sv00001799sd0000700E* -- ID_MODEL_FROM_DATABASE=F5D7000 v6000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7000 v6000 Wireless G Desktop Card) - - pci:v00001814d00000301sv00001799sd0000701E* -- ID_MODEL_FROM_DATABASE=F5D7010 v6000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7010 v6000 Wireless G Notebook Card) - - pci:v00001814d00000301sv000017F9sd00000012* -- ID_MODEL_FROM_DATABASE=AWLC3026T 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AWLC3026T 802.11g Wireless CardBus Adapter) - - pci:v00001814d00000301sv00001814sd00002561* -- ID_MODEL_FROM_DATABASE=EW-7108PCg/EW-7128g -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (EW-7108PCg/EW-7128g) - - pci:v00001814d00000302* - ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g - - pci:v00001814d00000302sv00001186sd00003A71* -- ID_MODEL_FROM_DATABASE=DWA-510 Wireless G Desktop Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (DWA-510 Wireless G Desktop Adapter) - - pci:v00001814d00000302sv00001186sd00003C08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2) -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2)) - - pci:v00001814d00000302sv00001186sd00003C09* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless Network Adapter (Rev.C) -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G510 Wireless Network Adapter (Rev.C)) - - pci:v00001814d00000302sv00001462sd0000B834* -- ID_MODEL_FROM_DATABASE=PC54G3 Wireless 11g PCI Card -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (PC54G3 Wireless 11g PCI Card) - - pci:v00001814d00000302sv00001948sd00003C23* -- ID_MODEL_FROM_DATABASE=C54RC v2 Wireless 11g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54RC v2 Wireless 11g CardBus Adapter) - - pci:v00001814d00000302sv00001948sd00003C24* -- ID_MODEL_FROM_DATABASE=C54Ri v2 Wireless 11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54Ri v2 Wireless 11g PCI Adapter) - - pci:v00001814d00000401* - ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO - - pci:v00001814d00000401sv00001737sd00000052* -- ID_MODEL_FROM_DATABASE=WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster -+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster) - - pci:v00001814d00000401sv000017F9sd00000011* -- ID_MODEL_FROM_DATABASE=WPCR-137G 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPCR-137G 802.11bg Wireless CardBus Adapter) - - pci:v00001814d00000401sv000017F9sd00000016* -- ID_MODEL_FROM_DATABASE=WPIR-119GH 802.11bg Wireless Desktop Adapter -+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPIR-119GH 802.11bg Wireless Desktop Adapter) - - pci:v00001814d00000601* - ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI - - pci:v00001814d00000601sv00001799sd0000801C* -- ID_MODEL_FROM_DATABASE=F5D8011 v3 802.11n N1 Wireless Notebook Card -+ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (F5D8011 v3 802.11n N1 Wireless Notebook Card) - - pci:v00001814d00000601sv0000187Esd00003412* -- ID_MODEL_FROM_DATABASE=NWD-310N 802.11n Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (NWD-310N 802.11n Wireless PCI Adapter) - - pci:v00001814d00000681* - ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe - - pci:v00001814d00000681sv00001458sd0000E939* -- ID_MODEL_FROM_DATABASE=GN-WS30N-RH 802.11bgn Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe (GN-WS30N-RH 802.11bgn Mini PCIe Card) - - pci:v00001814d00000701* - ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R - - pci:v00001814d00000701sv00001737sd00000074* -- ID_MODEL_FROM_DATABASE=WMP110 v2 802.11n RangePlus Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R (WMP110 v2 802.11n RangePlus Wireless PCI Adapter) - - pci:v00001814d00000781* - ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe -@@ -50313,7 +50313,7 @@ pci:v00001814d00003060* - ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R - - pci:v00001814d00003060sv00001186sd00003C04* -- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A1) -+ ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A1)) - - pci:v00001814d00003062* - ID_MODEL_FROM_DATABASE=RT3062 Wireless 802.11n 2T/2R -@@ -50322,7 +50322,7 @@ pci:v00001814d00003090* - ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe - - pci:v00001814d00003090sv000013BDsd00001057* -- ID_MODEL_FROM_DATABASE=GN-WS32L-RH Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe (GN-WS32L-RH Half-size Mini PCIe Card) - - pci:v00001814d00003091* - ID_MODEL_FROM_DATABASE=RT3091 Wireless 802.11n 1T/2R PCIe -@@ -50334,13 +50334,13 @@ pci:v00001814d00003290* - ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe - - pci:v00001814d00003290sv0000103Csd000018EC* -- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter -+ ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) - - pci:v00001814d00003298* - ID_MODEL_FROM_DATABASE=RT3290 Bluetooth - - pci:v00001814d00003298sv0000103Csd000018EC* -- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter -+ ID_MODEL_FROM_DATABASE=RT3290 Bluetooth (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) - - pci:v00001814d00003592* - ID_MODEL_FROM_DATABASE=RT3592 Wireless 802.11abgn 2T/2R PCIe -@@ -50352,16 +50352,16 @@ pci:v00001814d00005360* - ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R - - pci:v00001814d00005360sv00001186sd00003C05* -- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A2) -+ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A2)) - - pci:v00001814d00005360sv000020F4sd0000703A* -- ID_MODEL_FROM_DATABASE=TEW-703PI N150 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (TEW-703PI N150 Wireless PCI Adapter) - - pci:v00001814d00005390* - ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe - - pci:v00001814d00005390sv0000103Csd00001636* -- ID_MODEL_FROM_DATABASE=U98Z077.00 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe (U98Z077.00 Half-size Mini PCIe Card) - - pci:v00001814d00005392* - ID_MODEL_FROM_DATABASE=RT5392 PCIe Wireless Network Adapter -@@ -50370,7 +50370,7 @@ pci:v00001814d0000539F* - ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] - - pci:v00001814d0000539Fsv0000103Csd00001637* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card -+ ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] (Pavilion DM1Z-3000 PCIe wireless card) - - pci:v00001814d00005592* - ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter -@@ -50637,7 +50637,7 @@ pci:v000018C3d00000720* - ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller - - pci:v000018C3d00000720sv000007CAsd0000032E* -- ID_MODEL_FROM_DATABASE=Hybrid M779 PCI-E -+ ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller (Hybrid M779 PCI-E) - - pci:v000018C8* - ID_VENDOR_FROM_DATABASE=Cray Inc -@@ -50697,70 +50697,70 @@ pci:v000018ECd00006D05* - ID_MODEL_FROM_DATABASE=ML555 - - pci:v000018ECd00006D05sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=ML555 (NIC (ethernet interfaces)) - - pci:v000018ECd00006D05sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 4x1G) - - pci:v000018ECd00006D05sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 2x10G) - - pci:v000018ECd00006D05sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd00006D05sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd00006D05sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=ML555 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd00006D05sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=ML555 (Testing design) - - pci:v000018ECd00006D05sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=ML555 (Boot design) - - pci:v000018ECd0000C006* - ID_MODEL_FROM_DATABASE=COMBO6 - - pci:v000018ECd0000C006sv000018ECsd0000D001* -- ID_MODEL_FROM_DATABASE=COMBO-4MTX -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4MTX) - - pci:v000018ECd0000C006sv000018ECsd0000D002* -- ID_MODEL_FROM_DATABASE=COMBO-4SFP -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFP) - - pci:v000018ECd0000C006sv000018ECsd0000D003* -- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFPRO) - - pci:v000018ECd0000C006sv000018ECsd0000D004* -- ID_MODEL_FROM_DATABASE=COMBO-2XFP -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-2XFP) - - pci:v000018ECd0000C032* - ID_MODEL_FROM_DATABASE=COMBO-LXT110 - - pci:v000018ECd0000C032sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (ethernet interfaces)) - - pci:v000018ECd0000C032sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 4x1G) - - pci:v000018ECd0000C032sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 2x10G) - - pci:v000018ECd0000C032sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd0000C032sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd0000C032sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd0000C032sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Testing design) - - pci:v000018ECd0000C032sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Boot design) - - pci:v000018ECd0000C045* - ID_MODEL_FROM_DATABASE=COMBO6E -@@ -50772,70 +50772,70 @@ pci:v000018ECd0000C058* - ID_MODEL_FROM_DATABASE=COMBO6X - - pci:v000018ECd0000C058sv000018ECsd0000D001* -- ID_MODEL_FROM_DATABASE=COMBO-4MTX -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4MTX) - - pci:v000018ECd0000C058sv000018ECsd0000D002* -- ID_MODEL_FROM_DATABASE=COMBO-4SFP -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFP) - - pci:v000018ECd0000C058sv000018ECsd0000D003* -- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFPRO) - - pci:v000018ECd0000C058sv000018ECsd0000D004* -- ID_MODEL_FROM_DATABASE=COMBO-2XFP -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-2XFP) - - pci:v000018ECd0000C132* - ID_MODEL_FROM_DATABASE=COMBO-LXT155 - - pci:v000018ECd0000C132sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (ethernet interfaces)) - - pci:v000018ECd0000C132sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 4x1G) - - pci:v000018ECd0000C132sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 2x10G) - - pci:v000018ECd0000C132sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd0000C132sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd0000C132sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd0000C132sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Testing design) - - pci:v000018ECd0000C132sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Boot design) - - pci:v000018ECd0000C232* - ID_MODEL_FROM_DATABASE=COMBO-FXT100 - - pci:v000018ECd0000C232sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (ethernet interfaces)) - - pci:v000018ECd0000C232sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 4x1G) - - pci:v000018ECd0000C232sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 2x10G) - - pci:v000018ECd0000C232sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd0000C232sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd0000C232sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd0000C232sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Testing design) - - pci:v000018ECd0000C232sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Boot design) - - pci:v000018EE* - ID_VENDOR_FROM_DATABASE=Chenming Mold Ind. Corp. -@@ -51075,235 +51075,235 @@ pci:v00001924d00000703* - ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] - - pci:v00001924d00000703sv000010B8sd00000102* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) - - pci:v00001924d00000703sv000010B8sd00000103* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) - - pci:v00001924d00000703sv000010B8sd00000201* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) - - pci:v00001924d00000703sv00001924sd00000101* -- ID_MODEL_FROM_DATABASE=SFE4001-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A1) - - pci:v00001924d00000703sv00001924sd00000102* -- ID_MODEL_FROM_DATABASE=SFE4001-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A2) - - pci:v00001924d00000703sv00001924sd00000103* -- ID_MODEL_FROM_DATABASE=SFE4001-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A3) - - pci:v00001924d00000703sv00001924sd00000201* -- ID_MODEL_FROM_DATABASE=SFE4002-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4002-A1) - - pci:v00001924d00000703sv00001924sd00000301* -- ID_MODEL_FROM_DATABASE=SFE4003-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A1) - - pci:v00001924d00000703sv00001924sd00000302* -- ID_MODEL_FROM_DATABASE=SFE4003-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A2) - - pci:v00001924d00000703sv00001924sd00000303* -- ID_MODEL_FROM_DATABASE=SFE4003-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A3) - - pci:v00001924d00000703sv00001924sd00000304* -- ID_MODEL_FROM_DATABASE=SFE4003-A4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A4) - - pci:v00001924d00000703sv00001924sd00000500* -- ID_MODEL_FROM_DATABASE=SFE4005-A0 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4005-A0) - - pci:v00001924d00000710* - ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] - - pci:v00001924d00000710sv000010B8sd00000103* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) - - pci:v00001924d00000710sv000010B8sd00000201* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) - - pci:v00001924d00000710sv00001924sd00000102* -- ID_MODEL_FROM_DATABASE=SFE4001-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A2) - - pci:v00001924d00000710sv00001924sd00000103* -- ID_MODEL_FROM_DATABASE=SFE4001-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A3) - - pci:v00001924d00000710sv00001924sd00000201* -- ID_MODEL_FROM_DATABASE=SFE4002-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4002-A1) - - pci:v00001924d00000710sv00001924sd00000302* -- ID_MODEL_FROM_DATABASE=SFE4003-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A2) - - pci:v00001924d00000710sv00001924sd00000303* -- ID_MODEL_FROM_DATABASE=SFE4003-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A3) - - pci:v00001924d00000710sv00001924sd00000304* -- ID_MODEL_FROM_DATABASE=SFE4003-A4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A4) - - pci:v00001924d00000710sv00001924sd00000500* -- ID_MODEL_FROM_DATABASE=SFE4005-A0 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4005-A0) - - pci:v00001924d00000710sv00001924sd00005102* -- ID_MODEL_FROM_DATABASE=SFN4111T-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-A2) - - pci:v00001924d00000710sv00001924sd00005103* -- ID_MODEL_FROM_DATABASE=SFN4111T-R3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R3) - - pci:v00001924d00000710sv00001924sd00005104* -- ID_MODEL_FROM_DATABASE=SFN4111T-R4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R4) - - pci:v00001924d00000710sv00001924sd00005105* -- ID_MODEL_FROM_DATABASE=SFN4111T-R5 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R5) - - pci:v00001924d00000710sv00001924sd00005201* -- ID_MODEL_FROM_DATABASE=SFN4112F-R1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R1) - - pci:v00001924d00000710sv00001924sd00005202* -- ID_MODEL_FROM_DATABASE=SFN4112F-R2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R2) - - pci:v00001924d00000803* - ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] - - pci:v00001924d00000803sv00001014sd00000478* -- ID_MODEL_FROM_DATABASE=2-port 10GbE Low-Latency (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE Low-Latency (R7)) - - pci:v00001924d00000803sv00001014sd00000479* -- ID_MODEL_FROM_DATABASE=2-port 10GbE OpenOnload (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE OpenOnload (R7)) - - pci:v00001924d00000803sv00001014sd000004A7* -- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Low-latency Dual-port HBA (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Low-latency Dual-port HBA (R7)) - - pci:v00001924d00000803sv00001014sd000004A8* -- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Dual-port HBA (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Dual-port HBA (R7)) - - pci:v00001924d00000803sv0000103Csd00002132* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1)) - - pci:v00001924d00000803sv0000103Csd00002136* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570SFP+ Adapter (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570SFP+ Adapter (R7)) - - pci:v00001924d00000803sv00001924sd00001201* -- ID_MODEL_FROM_DATABASE=SFA6902F-R1 SFP+ AOE Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFA6902F-R1 SFP+ AOE Adapter) - - pci:v00001924d00000803sv00001924sd00006200* -- ID_MODEL_FROM_DATABASE=SFN5122F-R0 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R0 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006201* -- ID_MODEL_FROM_DATABASE=SFN5122F-R1 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R1 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006202* -- ID_MODEL_FROM_DATABASE=SFN5122F-R2 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R2 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006204* -- ID_MODEL_FROM_DATABASE=SFN5122F-R4 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R4 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006205* -- ID_MODEL_FROM_DATABASE=SFN5122F-R5 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R5 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006206* -- ID_MODEL_FROM_DATABASE=SFN5122F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006207* -- ID_MODEL_FROM_DATABASE=SFN5122F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R7 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006210* -- ID_MODEL_FROM_DATABASE=SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006211* -- ID_MODEL_FROM_DATABASE=SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006217* -- ID_MODEL_FROM_DATABASE=SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006227* -- ID_MODEL_FROM_DATABASE=SFN6122F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6122F-R7 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006237* -- ID_MODEL_FROM_DATABASE=SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006501* -- ID_MODEL_FROM_DATABASE=SFN5802K-R1 Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5802K-R1 Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006511* -- ID_MODEL_FROM_DATABASE=SFN5814H-R1 Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5814H-R1 Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006521* -- ID_MODEL_FROM_DATABASE=SFN5812H-R1 Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5812H-R1 Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006562* -- ID_MODEL_FROM_DATABASE=SFN6832F-R2 SFP+ Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6832F-R2 SFP+ Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006A05* -- ID_MODEL_FROM_DATABASE=SFN5112F-R5 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R5 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006A06* -- ID_MODEL_FROM_DATABASE=SFN5112F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007206* -- ID_MODEL_FROM_DATABASE=SFN5162F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007207* -- ID_MODEL_FROM_DATABASE=SFN5162F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R7 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007A06* -- ID_MODEL_FROM_DATABASE=SFN5152F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007A07* -- ID_MODEL_FROM_DATABASE=SFN5152F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R7 SFP+ Server Adapter) - - pci:v00001924d00000813* - ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] - - pci:v00001924d00000813sv00001924sd00006100* -- ID_MODEL_FROM_DATABASE=SFN5121T-R0 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R0 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006102* -- ID_MODEL_FROM_DATABASE=SFN5121T-R2 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R2 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006103* -- ID_MODEL_FROM_DATABASE=SFN5121T-R3 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R3 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006104* -- ID_MODEL_FROM_DATABASE=SFN5121T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006902* -- ID_MODEL_FROM_DATABASE=SFN5111T-R2 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R2 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006904* -- ID_MODEL_FROM_DATABASE=SFN5111T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00007104* -- ID_MODEL_FROM_DATABASE=SFN5161T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5161T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00007904* -- ID_MODEL_FROM_DATABASE=SFN5151T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5151T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000903* - ID_MODEL_FROM_DATABASE=SFC9120 - - pci:v00001924d00000903sv00001014sd000004CC* -- ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R2 2x10GbE SFP+ Flareon Ultra) - - pci:v00001924d00000903sv00001924sd00008002* -- ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R1 SFP+ Server Adapter) - - pci:v00001924d00000903sv00001924sd00008003* -- ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) - - pci:v00001924d00000903sv00001924sd00008006* -- ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7022F-R1 SFP+ Server Adapter) - - pci:v00001924d00000903sv00001924sd00008007* -- ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7322F-R2 Precision Time SFP+ Server Adapter) - - pci:v00001924d00000903sv00001924sd00008009* -- ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter) - - pci:v00001924d00000903sv00001924sd0000800A* -- ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter) - - pci:v00001924d00000923* - ID_MODEL_FROM_DATABASE=SFC9140 - - pci:v00001924d00000923sv00001924sd0000800B* -- ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9140 (SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) - - pci:v00001924d00001803* - ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] -@@ -51315,40 +51315,40 @@ pci:v00001924d00006703* - ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] - - pci:v00001924d00006703sv000010B8sd00000102* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) - - pci:v00001924d00006703sv000010B8sd00000103* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) - - pci:v00001924d00006703sv000010B8sd00000201* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) - - pci:v00001924d00006703sv00001924sd00000101* -- ID_MODEL_FROM_DATABASE=SFE4001-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A1) - - pci:v00001924d00006703sv00001924sd00000102* -- ID_MODEL_FROM_DATABASE=SFE4001-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A2) - - pci:v00001924d00006703sv00001924sd00000103* -- ID_MODEL_FROM_DATABASE=SFE4001-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A3) - - pci:v00001924d00006703sv00001924sd00000201* -- ID_MODEL_FROM_DATABASE=SFE4002-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4002-A1) - - pci:v00001924d00006703sv00001924sd00000301* -- ID_MODEL_FROM_DATABASE=SFE4003-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A1) - - pci:v00001924d00006703sv00001924sd00000302* -- ID_MODEL_FROM_DATABASE=SFE4003-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A2) - - pci:v00001924d00006703sv00001924sd00000303* -- ID_MODEL_FROM_DATABASE=SFE4003-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A3) - - pci:v00001924d00006703sv00001924sd00000304* -- ID_MODEL_FROM_DATABASE=SFE4003-A4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A4) - - pci:v00001924d00006703sv00001924sd00000500* -- ID_MODEL_FROM_DATABASE=SFE4005-A0 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4005-A0) - - pci:v00001924d0000C101* - ID_MODEL_FROM_DATABASE=EF1-21022T [EtherFabric] -@@ -51549,13 +51549,13 @@ pci:v00001957d00000084* - ID_MODEL_FROM_DATABASE=MPC8347E PBGA - - pci:v00001957d00000084sv0000110Asd00004074* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 -+ ID_MODEL_FROM_DATABASE=MPC8347E PBGA (SIMATIC NET CP 1628) - - pci:v00001957d00000085* - ID_MODEL_FROM_DATABASE=MPC8347 PBGA - - pci:v00001957d00000085sv0000110Asd00004046* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 -+ ID_MODEL_FROM_DATABASE=MPC8347 PBGA (SIMATIC NET CP 1623) - - pci:v00001957d00000086* - ID_MODEL_FROM_DATABASE=MPC8343E -@@ -51570,7 +51570,7 @@ pci:v00001957d000000B6* - ID_MODEL_FROM_DATABASE=MPC8314E - - pci:v00001957d000000B6sv00001A56sd00001101* -- ID_MODEL_FROM_DATABASE=Killer Xeno Pro Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=MPC8314E (Killer Xeno Pro Gigabit Ethernet Controller) - - pci:v00001957d000000C2* - ID_MODEL_FROM_DATABASE=MPC8379E -@@ -51621,7 +51621,7 @@ pci:v00001957d00000111* - ID_MODEL_FROM_DATABASE=P1022 - - pci:v00001957d00000111sv00001C7Fsd00005200* -- ID_MODEL_FROM_DATABASE=EB5200 -+ ID_MODEL_FROM_DATABASE=P1022 (EB5200) - - pci:v00001957d00000118* - ID_MODEL_FROM_DATABASE=P1013E -@@ -51660,7 +51660,7 @@ pci:v00001957d0000C006* - ID_MODEL_FROM_DATABASE=MPC8308 - - pci:v00001957d0000C006sv00001A56sd00001201* -- ID_MODEL_FROM_DATABASE=Killer E2100 Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=MPC8308 (Killer E2100 Gigabit Ethernet Controller) - - pci:v00001958* - ID_VENDOR_FROM_DATABASE=Faster Technology, LLC. -@@ -51726,13 +51726,13 @@ pci:v00001969d00001026* - ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet - - pci:v00001969d00001026sv00001043sd00008304* -- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard -+ ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (P5KPL-CM Motherboard) - - pci:v00001969d00001048* - ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet - - pci:v00001969d00001048sv00001043sd00008226* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet (P5KPL-VM Motherboard) - - pci:v00001969d00001062* - ID_MODEL_FROM_DATABASE=AR8132 Fast Ethernet -@@ -51741,7 +51741,7 @@ pci:v00001969d00001063* - ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet - - pci:v00001969d00001063sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-G31M-ES2L Motherboard -+ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) - - pci:v00001969d00001066* - ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet -@@ -51762,7 +51762,7 @@ pci:v00001969d00001091* - ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet - - pci:v00001969d00001091sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet (N56VZ) - - pci:v00001969d000010A0* - ID_MODEL_FROM_DATABASE=QCA8172 Fast Ethernet -@@ -51804,7 +51804,7 @@ pci:v00001971d00001011* - ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] - - pci:v00001971d00001011sv00001043sd00000001* -- ID_MODEL_FROM_DATABASE=PhysX P1 -+ ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] (PhysX P1) - - pci:v00001974* - ID_VENDOR_FROM_DATABASE=Eberspaecher Electronics -@@ -51834,25 +51834,25 @@ pci:v0000197Bd00002361* - ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE - - pci:v0000197Bd00002361sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE (P965 Neo MS-7235 mainboard) - - pci:v0000197Bd00002362* - ID_MODEL_FROM_DATABASE=JMB362 SATA Controller - - pci:v0000197Bd00002362sv00001043sd00008460* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=JMB362 SATA Controller (P8P67 Deluxe Motherboard) - - pci:v0000197Bd00002363* - ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller - - pci:v0000197Bd00002363sv00001043sd000081E4* -- ID_MODEL_FROM_DATABASE=P5B [JMB363] -+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (P5B [JMB363]) - - pci:v0000197Bd00002363sv00001458sd0000B000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard) - - pci:v0000197Bd00002363sv00001849sd00002363* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard (one of many)) - - pci:v0000197Bd00002364* - ID_MODEL_FROM_DATABASE=JMB364 AHCI Controller -@@ -51984,19 +51984,19 @@ pci:v000019A2d00000700* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC - - pci:v000019A2d00000700sv0000103Csd00001747* -- ID_MODEL_FROM_DATABASE=NC550SFP DualPort 10GbE Server Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP DualPort 10GbE Server Adapter) - - pci:v000019A2d00000700sv0000103Csd00001749* -- ID_MODEL_FROM_DATABASE=NC550SFP Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP Dual Port Server Adapter) - - pci:v000019A2d00000700sv0000103Csd0000174A* -- ID_MODEL_FROM_DATABASE=NC551m Dual Port FlexFabric 10Gb Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551m Dual Port FlexFabric 10Gb Adapter) - - pci:v000019A2d00000700sv0000103Csd0000174B* -- ID_MODEL_FROM_DATABASE=StorageWorks NC550 DualPort Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (StorageWorks NC550 DualPort Converged Network Adapter) - - pci:v000019A2d00000700sv0000103Csd00003314* -- ID_MODEL_FROM_DATABASE=NC551i Dual Port FlexFabric 10Gb Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551i Dual Port FlexFabric 10Gb Adapter) - - pci:v000019A2d00000702* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator -@@ -52008,19 +52008,19 @@ pci:v000019A2d00000710* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) - - pci:v000019A2d00000710sv0000103Csd00003315* -- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000710sv0000103Csd00003340* -- ID_MODEL_FROM_DATABASE=NC552SFP 2-port 10Gb Server Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552SFP 2-port 10Gb Server Adapter) - - pci:v000019A2d00000710sv0000103Csd00003341* -- ID_MODEL_FROM_DATABASE=NC552m 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552m 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000710sv0000103Csd00003345* -- ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553m 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000710sv0000103Csd0000337B* -- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000712* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) -@@ -52029,10 +52029,10 @@ pci:v000019A2d00000714* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) - - pci:v000019A2d00000714sv0000103Csd00003315* -- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000714sv0000103Csd0000337B* -- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A8* - ID_VENDOR_FROM_DATABASE=DAQDATA GmbH -@@ -52332,16 +52332,16 @@ pci:v00001A78d00000031* - ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive - - pci:v00001A78d00000031sv00001A78sd00000034* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) - - pci:v00001A78d00000031sv00001A78sd00000037* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3D] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) - - pci:v00001A78d00000031sv00001A78sd00000038* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) - - pci:v00001A78d00000031sv00001A78sd00000039* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4D] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) - - pci:v00001A78d00000040* - ID_MODEL_FROM_DATABASE=FlashMAX II -@@ -52479,25 +52479,25 @@ pci:v00001AEDd00001005* - ID_MODEL_FROM_DATABASE=ioDimm3 - - pci:v00001AEDd00001005sv00001014sd000003C3* -- ID_MODEL_FROM_DATABASE=High IOPS SSD PCIe Adapter -+ ID_MODEL_FROM_DATABASE=ioDimm3 (High IOPS SSD PCIe Adapter) - - pci:v00001AEDd00001005sv0000103Csd0000176F* -- ID_MODEL_FROM_DATABASE=1.28TB MLC PCIe ioDrive Duo -+ ID_MODEL_FROM_DATABASE=ioDimm3 (1.28TB MLC PCIe ioDrive Duo) - - pci:v00001AEDd00001005sv0000103Csd00001770* -- ID_MODEL_FROM_DATABASE=5.2TB MLC PCIe ioDrive Octal -+ ID_MODEL_FROM_DATABASE=ioDimm3 (5.2TB MLC PCIe ioDrive Octal) - - pci:v00001AEDd00001005sv0000103Csd0000178B* -- ID_MODEL_FROM_DATABASE=160GB SLC PCIe ioDrive -+ ID_MODEL_FROM_DATABASE=ioDimm3 (160GB SLC PCIe ioDrive) - - pci:v00001AEDd00001005sv0000103Csd0000178C* -- ID_MODEL_FROM_DATABASE=320GB MLC PCIe ioDrive -+ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB MLC PCIe ioDrive) - - pci:v00001AEDd00001005sv0000103Csd0000178D* -- ID_MODEL_FROM_DATABASE=320GB SLC PCIe ioDrive Duo -+ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB SLC PCIe ioDrive Duo) - - pci:v00001AEDd00001005sv0000103Csd0000178E* -- ID_MODEL_FROM_DATABASE=640GB MLC PCIe ioDrive Duo -+ ID_MODEL_FROM_DATABASE=ioDimm3 (640GB MLC PCIe ioDrive Duo) - - pci:v00001AEDd00001006* - ID_MODEL_FROM_DATABASE=ioXtreme -@@ -52548,7 +52548,7 @@ pci:v00001AF4d00001110* - ID_MODEL_FROM_DATABASE=Inter-VM shared memory - - pci:v00001AF4d00001110sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=Inter-VM shared memory (QEMU Virtual Machine) - - pci:v00001AF5* - ID_VENDOR_FROM_DATABASE=Netezza Corp. -@@ -52587,22 +52587,22 @@ pci:v00001B21d00000612* - ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller - - pci:v00001B21d00000612sv00001849sd00000612* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller (Motherboard) - - pci:v00001B21d00001042* - ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller - - pci:v00001B21d00001042sv00001043sd00008488* -- ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (P8B WS Motherboard) - - pci:v00001B21d00001042sv00001849sd00001042* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (Motherboard) - - pci:v00001B21d00001080* - ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge - - pci:v00001B21d00001080sv00001849sd00001080* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) - - pci:v00001B2C* - ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. -@@ -52617,31 +52617,31 @@ pci:v00001B36d00000002* - ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter - - pci:v00001B36d00000002sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter (QEMU Virtual Machine) - - pci:v00001B36d00000003* - ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter - - pci:v00001B36d00000003sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter (QEMU Virtual Machine) - - pci:v00001B36d00000004* - ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter - - pci:v00001B36d00000004sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter (QEMU Virtual Machine) - - pci:v00001B36d00000005* - ID_MODEL_FROM_DATABASE=QEMU PCI Test Device - - pci:v00001B36d00000005sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device (QEMU Virtual Machine) - - pci:v00001B36d00000100* - ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card - - pci:v00001B36d00000100sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card (QEMU Virtual Machine) - - pci:v00001B37* - ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB -@@ -52662,10 +52662,10 @@ pci:v00001B3Ed00001FA8* - ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X - - pci:v00001B3Ed00001FA8sv00001B3Esd000000A3* -- ID_MODEL_FROM_DATABASE=BYNET BIC2SX -+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SX) - - pci:v00001B3Ed00001FA8sv00001B3Esd000000C3* -- ID_MODEL_FROM_DATABASE=BYNET BIC2SE -+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SE) - - pci:v00001B40* - ID_VENDOR_FROM_DATABASE=Schooner Information Technology, Inc. -@@ -52701,7 +52701,7 @@ pci:v00001B4Bd00009130* - ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo - - pci:v00001B4Bd00009130sv00001043sd00008438* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo (P8P67 Deluxe Motherboard) - - pci:v00001B4Bd00009172* - ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller -@@ -52767,7 +52767,7 @@ pci:v00001B73d00001000* - ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller - - pci:v00001B73d00001000sv00001D5Csd00001000* -- ID_MODEL_FROM_DATABASE=Anker USB 3.0 Express Card -+ ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller (Anker USB 3.0 Express Card) - - pci:v00001B73d00001009* - ID_MODEL_FROM_DATABASE=FL1009 USB 3.0 Host Controller -@@ -53010,67 +53010,67 @@ pci:v00001FC9d00003010* - ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC - - pci:v00001FC9d00003010sv00000000sd00003002* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port XFP SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port XFP SmartNIC) - - pci:v00001FC9d00003010sv00000000sd00003004* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) - - pci:v00001FC9d00003010sv00000000sd00003008* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port CX4 SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port CX4 SmartNIC) - - pci:v00001FC9d00003014* - ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port - - pci:v00001FC9d00003014sv00000000sd00003003* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port XFP Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port XFP Low Profile SmartNIC) - - pci:v00001FC9d00003014sv00000000sd00003005* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003014sv00000000sd00003014* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003110* - ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC - - pci:v00001FC9d00003110sv00000000sd00003004* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) - - pci:v00001FC9d00003114* - ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC - - pci:v00001FC9d00003114sv00000000sd00003005* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003114sv00000000sd00003011* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003114sv00000000sd00003012* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003114sv00000000sd00003014* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003310* - ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC - - pci:v00001FC9d00003310sv00000000sd00003004* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) - - pci:v00001FC9d00003314* - ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC - - pci:v00001FC9d00003314sv00000000sd00003005* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003314sv00000000sd00003011* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003314sv00000000sd00003012* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003314sv00000000sd00003014* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) - - pci:v00001FCE* - ID_VENDOR_FROM_DATABASE=Cognio Inc. -@@ -53172,31 +53172,31 @@ pci:v00003388d00000021* - ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) - - pci:v00003388d00000021sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K CompactPCI interface bridge -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (C2K CompactPCI interface bridge) - - pci:v00003388d00000021sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CE9) - - pci:v00003388d00000021sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT7 mainboard) - - pci:v00003388d00000021sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT8 mainboard) - - pci:v00003388d00000021sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (Cx9 mainboard) - - pci:v00003388d00000021sv00004C53sd000010A0* -- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CA3/CR3 mainboard) - - pci:v00003388d00000021sv00004C53sd00003010* -- ID_MODEL_FROM_DATABASE=PPCI mezzanine (32-bit PMC) -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (32-bit PMC)) - - pci:v00003388d00000021sv00004C53sd00003011* -- ID_MODEL_FROM_DATABASE=PPCI mezzanine (64-bit PMC) -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (64-bit PMC)) - - pci:v00003388d00000021sv00004C53sd00004000* -- ID_MODEL_FROM_DATABASE=PMCCARR1 carrier board -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PMCCARR1 carrier board) - - pci:v00003388d00000022* - ID_MODEL_FROM_DATABASE=HiNT HB4 PCI-PCI Bridge (PCI6150) -@@ -53220,19 +53220,19 @@ pci:v00003388d00008011* - ID_MODEL_FROM_DATABASE=VXPro II Chipset - - pci:v00003388d00008011sv00003388sd00008011* -- ID_MODEL_FROM_DATABASE=VXPro II Chipset CPU to PCI Bridge -+ ID_MODEL_FROM_DATABASE=VXPro II Chipset (CPU to PCI Bridge) - - pci:v00003388d00008012* - ID_MODEL_FROM_DATABASE=VXPro II Chipset - - pci:v00003388d00008012sv00003388sd00008012* -- ID_MODEL_FROM_DATABASE=VXPro II Chipset PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VXPro II Chipset (PCI to ISA Bridge) - - pci:v00003388d00008013* - ID_MODEL_FROM_DATABASE=VXPro II IDE - - pci:v00003388d00008013sv00003388sd00008013* -- ID_MODEL_FROM_DATABASE=VXPro II Chipset EIDE Controller -+ ID_MODEL_FROM_DATABASE=VXPro II IDE (VXPro II Chipset EIDE Controller) - - pci:v00003388d0000A103* - ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink HD Pro -@@ -53277,13 +53277,13 @@ pci:v00003D3Dd00000002* - ID_MODEL_FROM_DATABASE=GLINT 500TX - - pci:v00003D3Dd00000002sv00000000sd00000000* -- ID_MODEL_FROM_DATABASE=GLoria L -+ ID_MODEL_FROM_DATABASE=GLINT 500TX (GLoria L) - - pci:v00003D3Dd00000003* - ID_MODEL_FROM_DATABASE=GLINT Delta - - pci:v00003D3Dd00000003sv00000000sd00000000* -- ID_MODEL_FROM_DATABASE=GLoria XL -+ ID_MODEL_FROM_DATABASE=GLINT Delta (GLoria XL) - - pci:v00003D3Dd00000004* - ID_MODEL_FROM_DATABASE=Permedia -@@ -53295,10 +53295,10 @@ pci:v00003D3Dd00000006* - ID_MODEL_FROM_DATABASE=GLINT MX - - pci:v00003D3Dd00000006sv00000000sd00000000* -- ID_MODEL_FROM_DATABASE=GLoria XL -+ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XL) - - pci:v00003D3Dd00000006sv00001048sd00000A42* -- ID_MODEL_FROM_DATABASE=GLoria XXL -+ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XXL) - - pci:v00003D3Dd00000007* - ID_MODEL_FROM_DATABASE=3D Extreme -@@ -53307,55 +53307,55 @@ pci:v00003D3Dd00000008* - ID_MODEL_FROM_DATABASE=GLINT Gamma G1 - - pci:v00003D3Dd00000008sv00001048sd00000A42* -- ID_MODEL_FROM_DATABASE=GLoria XXL -+ ID_MODEL_FROM_DATABASE=GLINT Gamma G1 (GLoria XXL) - - pci:v00003D3Dd00000009* - ID_MODEL_FROM_DATABASE=Permedia II 2D+3D - - pci:v00003D3Dd00000009sv00001040sd00000011* -- ID_MODEL_FROM_DATABASE=AccelStar II -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II) - - pci:v00003D3Dd00000009sv00001048sd00000A42* -- ID_MODEL_FROM_DATABASE=GLoria XXL -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (GLoria XXL) - - pci:v00003D3Dd00000009sv000013E9sd00001000* -- ID_MODEL_FROM_DATABASE=6221L-4U -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (6221L-4U) - - pci:v00003D3Dd00000009sv00003D3Dsd00000100* -- ID_MODEL_FROM_DATABASE=AccelStar II 3D Accelerator -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II 3D Accelerator) - - pci:v00003D3Dd00000009sv00003D3Dsd00000111* -- ID_MODEL_FROM_DATABASE=Permedia 3:16 -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia 3:16) - - pci:v00003D3Dd00000009sv00003D3Dsd00000114* -- ID_MODEL_FROM_DATABASE=Santa Ana -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana) - - pci:v00003D3Dd00000009sv00003D3Dsd00000116* -- ID_MODEL_FROM_DATABASE=Oxygen GVX1 -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen GVX1) - - pci:v00003D3Dd00000009sv00003D3Dsd00000119* -- ID_MODEL_FROM_DATABASE=Scirocco -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Scirocco) - - pci:v00003D3Dd00000009sv00003D3Dsd00000120* -- ID_MODEL_FROM_DATABASE=Santa Ana PCL -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana PCL) - - pci:v00003D3Dd00000009sv00003D3Dsd00000125* -- ID_MODEL_FROM_DATABASE=Oxygen VX1 -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen VX1) - - pci:v00003D3Dd00000009sv00003D3Dsd00000127* -- ID_MODEL_FROM_DATABASE=Permedia3 Create! -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia3 Create!) - - pci:v00003D3Dd0000000A* - ID_MODEL_FROM_DATABASE=GLINT R3 - - pci:v00003D3Dd0000000Asv00003D3Dsd00000121* -- ID_MODEL_FROM_DATABASE=Oxygen VX1 -+ ID_MODEL_FROM_DATABASE=GLINT R3 (Oxygen VX1) - - pci:v00003D3Dd0000000C* - ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] - - pci:v00003D3Dd0000000Csv00003D3Dsd00000144* -- ID_MODEL_FROM_DATABASE=Oxygen VX1-4X AGP [Permedia 4] -+ ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] (Oxygen VX1-4X AGP [Permedia 4]) - - pci:v00003D3Dd0000000D* - ID_MODEL_FROM_DATABASE=GLint R4 rev A -@@ -53472,13 +53472,13 @@ pci:v00004040d00000001* - ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface - - pci:v00004040d00000001sv0000103Csd00007047* -- ID_MODEL_FROM_DATABASE=NC510F PCIe 10-Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface (NC510F PCIe 10-Gigabit Server Adapter) - - pci:v00004040d00000002* - ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface - - pci:v00004040d00000002sv0000103Csd00007048* -- ID_MODEL_FROM_DATABASE=NC510c PCIe 10-Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface (NC510c PCIe 10-Gigabit Server Adapter) - - pci:v00004040d00000003* - ID_MODEL_FROM_DATABASE=NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface -@@ -53490,7 +53490,7 @@ pci:v00004040d00000005* - ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class - - pci:v00004040d00000005sv0000103Csd0000170E* -- ID_MODEL_FROM_DATABASE=NC512m Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class (NC512m Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v00004040d00000024* - ID_MODEL_FROM_DATABASE=XG Mgmt -@@ -53502,28 +53502,28 @@ pci:v00004040d00000100* - ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter - - pci:v00004040d00000100sv0000103Csd0000171B* -- ID_MODEL_FROM_DATABASE=NC522m Dual Port 10GbE Multifunction BL-c Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522m Dual Port 10GbE Multifunction BL-c Adapter) - - pci:v00004040d00000100sv0000103Csd00001740* -- ID_MODEL_FROM_DATABASE=NC375T PCI Express Quad Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375T PCI Express Quad Port Gigabit Server Adapter) - - pci:v00004040d00000100sv0000103Csd00003251* -- ID_MODEL_FROM_DATABASE=NC375i 1G w/NC524SFP 10G Module -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i 1G w/NC524SFP 10G Module) - - pci:v00004040d00000100sv0000103Csd0000705A* -- ID_MODEL_FROM_DATABASE=NC375i Integrated Quad Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i Integrated Quad Port Multifunction Gigabit Server Adapter) - - pci:v00004040d00000100sv0000103Csd0000705B* -- ID_MODEL_FROM_DATABASE=NC522SFP Dual Port 10GbE Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522SFP Dual Port 10GbE Server Adapter) - - pci:v00004040d00000100sv0000152Dsd0000896B* -- ID_MODEL_FROM_DATABASE=TG20 Dual Port 10GbE Server/Storage Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (TG20 Dual Port 10GbE Server/Storage Adapter) - - pci:v00004040d00000100sv00004040sd00000124* -- ID_MODEL_FROM_DATABASE=NX3031 Quad Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NX3031 Quad Port Gigabit Server Adapter) - - pci:v00004040d00000100sv00004040sd00000126* -- ID_MODEL_FROM_DATABASE=Dual Port SFP+ 10GbE Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (Dual Port SFP+ 10GbE Server Adapter) - - pci:v00004143* - ID_VENDOR_FROM_DATABASE=Digital Equipment Corp -@@ -53571,190 +53571,190 @@ pci:v00004444d00000016* - ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder - - pci:v00004444d00000016sv00000070sd00000003* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00000009* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00000801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00000807* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00004001* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00004009* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00004801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00004803* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00008003* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00008801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd0000C801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd0000E807* -- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (1st unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (1st unit)) - - pci:v00004444d00000016sv00000070sd0000E817* -- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (2nd unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (2nd unit)) - - pci:v00004444d00000016sv00000070sd0000FF92* -- ID_MODEL_FROM_DATABASE=WiNTV PVR-550 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WiNTV PVR-550) - - pci:v00004444d00000016sv00000270sd00000801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv0000104Dsd0000013D* -- ID_MODEL_FROM_DATABASE=ENX-26 TV Encoder -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (ENX-26 TV Encoder) - - pci:v00004444d00000016sv000010FCsd0000D038* -- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (1st unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (1st unit)) - - pci:v00004444d00000016sv000010FCsd0000D039* -- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (2nd unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (2nd unit)) - - pci:v00004444d00000016sv000012ABsd0000FFF3* -- ID_MODEL_FROM_DATABASE=MPG600 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) - - pci:v00004444d00000016sv000012ABsd0000FFFF* -- ID_MODEL_FROM_DATABASE=MPG600 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) - - pci:v00004444d00000016sv00001461sd0000C00A* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C00B* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C00C* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner)) - - pci:v00004444d00000016sv00001461sd0000C010* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C011* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C018* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C019* -- ID_MODEL_FROM_DATABASE=UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C01A* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C01B* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C030* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C031* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C032* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C033* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C034* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C035* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C03F* -- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) - - pci:v00004444d00000016sv00001461sd0000C136* -- ID_MODEL_FROM_DATABASE=M104 mini-PCI Analog TV -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M104 mini-PCI Analog TV) - - pci:v00004444d00000016sv00001461sd0000C20A* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C218* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C219* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C21A* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C21B* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C230* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C231* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C232* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C233* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C234* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C235* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C337* -- ID_MODEL_FROM_DATABASE=E106 AVerMedia AVerTV Video Capture -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (E106 AVerMedia AVerTV Video Capture) - - pci:v00004444d00000016sv00001461sd0000C439* -- ID_MODEL_FROM_DATABASE=M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner)) - - pci:v00004444d00000016sv00001461sd0000C5FF* -- ID_MODEL_FROM_DATABASE=C755 AVerTV Video Capture card (no tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C755 AVerTV Video Capture card (no tuner)) - - pci:v00004444d00000016sv00001461sd0000C6FF* -- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) - - pci:v00004444d00000016sv00001461sd0000C739* -- ID_MODEL_FROM_DATABASE=M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner)) - - pci:v00004444d00000016sv00009005sd00000092* -- ID_MODEL_FROM_DATABASE=VideOh! AVC-2010 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2010) - - pci:v00004444d00000016sv00009005sd00000093* -- ID_MODEL_FROM_DATABASE=VideOh! AVC-2410 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2410) - - pci:v00004444d00000803* - ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder - - pci:v00004444d00000803sv00000070sd00004000* -- ID_MODEL_FROM_DATABASE=WinTV PVR-350 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350) - - pci:v00004444d00000803sv00000070sd00004001* -- ID_MODEL_FROM_DATABASE=WinTV PVR-250 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-250) - - pci:v00004444d00000803sv00000070sd00004800* -- ID_MODEL_FROM_DATABASE=WinTV PVR-350 (V1) -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350 (V1)) - - pci:v00004444d00000803sv000012ABsd00000000* -- ID_MODEL_FROM_DATABASE=MPG160 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (MPG160) - - pci:v00004444d00000803sv00001461sd0000A3CE* -- ID_MODEL_FROM_DATABASE=M179 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) - - pci:v00004444d00000803sv00001461sd0000A3CF* -- ID_MODEL_FROM_DATABASE=M179 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) - - pci:v00004468* - ID_VENDOR_FROM_DATABASE=Bridgeport machines -@@ -53961,7 +53961,7 @@ pci:v00004A14d00005000* - ID_MODEL_FROM_DATABASE=NV5000SC - - pci:v00004A14d00005000sv00004A14sd00005000* -- ID_MODEL_FROM_DATABASE=RT8029-Based Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=NV5000SC (RT8029-Based Ethernet Adapter) - - pci:v00004B10* - ID_VENDOR_FROM_DATABASE=Buslogic Inc. -@@ -53976,16 +53976,16 @@ pci:v00004C53d00000000* - ID_MODEL_FROM_DATABASE=PLUSTEST device - - pci:v00004C53d00000000sv00004C53sd00003000* -- ID_MODEL_FROM_DATABASE=PLUSTEST card (PC104+) -+ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PC104+)) - - pci:v00004C53d00000000sv00004C53sd00003001* -- ID_MODEL_FROM_DATABASE=PLUSTEST card (PMC) -+ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PMC)) - - pci:v00004C53d00000001* - ID_MODEL_FROM_DATABASE=PLUSTEST-MM device - - pci:v00004C53d00000001sv00004C53sd00003002* -- ID_MODEL_FROM_DATABASE=PLUSTEST-MM card (PMC) -+ ID_MODEL_FROM_DATABASE=PLUSTEST-MM device (PLUSTEST-MM card (PMC)) - - pci:v00004CA1* - ID_VENDOR_FROM_DATABASE=Seanix Technology Inc -@@ -54222,13 +54222,13 @@ pci:v00005333d00008900* - ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] - - pci:v00005333d00008900sv00005333sd00008900* -- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX -+ ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] (86C775 Trio64V2/DX) - - pci:v00005333d00008901* - ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] - - pci:v00005333d00008901sv00005333sd00008901* -- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX, 86C785 Trio64V2/GX -+ ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] (86C775 Trio64V2/DX, 86C785 Trio64V2/GX) - - pci:v00005333d00008902* - ID_MODEL_FROM_DATABASE=Plato/PX -@@ -54240,13 +54240,13 @@ pci:v00005333d00008904* - ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] - - pci:v00005333d00008904sv00001014sd000000DB* -- ID_MODEL_FROM_DATABASE=Integrated Trio3D -+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Integrated Trio3D) - - pci:v00005333d00008904sv00004843sd0000314A* -- ID_MODEL_FROM_DATABASE=Terminator 128/3D GLH -+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Terminator 128/3D GLH) - - pci:v00005333d00008904sv00005333sd00008904* -- ID_MODEL_FROM_DATABASE=86C365 Trio3D AGP -+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (86C365 Trio3D AGP) - - pci:v00005333d00008905* - ID_MODEL_FROM_DATABASE=Trio 64V+ family -@@ -54285,40 +54285,40 @@ pci:v00005333d00008A01* - ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] - - pci:v00005333d00008A01sv00000E11sd0000B032* -- ID_MODEL_FROM_DATABASE=ViRGE/GX -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/GX) - - pci:v00005333d00008A01sv000010B4sd00001617* -- ID_MODEL_FROM_DATABASE=Nitro 3D -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) - - pci:v00005333d00008A01sv000010B4sd00001717* -- ID_MODEL_FROM_DATABASE=Nitro 3D -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) - - pci:v00005333d00008A01sv00005333sd00008A01* -- ID_MODEL_FROM_DATABASE=ViRGE/DX -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/DX) - - pci:v00005333d00008A10* - ID_MODEL_FROM_DATABASE=ViRGE/GX2 - - pci:v00005333d00008A10sv00001092sd00008A10* -- ID_MODEL_FROM_DATABASE=Stealth 3D 4000 -+ ID_MODEL_FROM_DATABASE=ViRGE/GX2 (Stealth 3D 4000) - - pci:v00005333d00008A13* - ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] - - pci:v00005333d00008A13sv00005333sd00008A13* -- ID_MODEL_FROM_DATABASE=Trio3D/2X -+ ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] (Trio3D/2X) - - pci:v00005333d00008A20* - ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] - - pci:v00005333d00008A20sv00005333sd00008A20* -- ID_MODEL_FROM_DATABASE=86C391 Savage3D -+ ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] (86C391 Savage3D) - - pci:v00005333d00008A21* - ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] - - pci:v00005333d00008A21sv00005333sd00008A21* -- ID_MODEL_FROM_DATABASE=86C390 Savage3D/MV -+ ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] (86C390 Savage3D/MV) - - pci:v00005333d00008A22* - ID_MODEL_FROM_DATABASE=Savage 4 -@@ -54330,85 +54330,85 @@ pci:v00005333d00008A22sv00001033sd00008069* - ID_MODEL_FROM_DATABASE=Savage 4 - - pci:v00005333d00008A22sv00001033sd00008110* -- ID_MODEL_FROM_DATABASE=Savage 4 LT -+ ID_MODEL_FROM_DATABASE=Savage 4 (LT) - - pci:v00005333d00008A22sv0000105Dsd00000018* -- ID_MODEL_FROM_DATABASE=SR9 8Mb SDRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 8Mb SDRAM) - - pci:v00005333d00008A22sv0000105Dsd0000002A* -- ID_MODEL_FROM_DATABASE=SR9 Pro 16Mb SDRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 16Mb SDRAM) - - pci:v00005333d00008A22sv0000105Dsd0000003A* -- ID_MODEL_FROM_DATABASE=SR9 Pro 32Mb SDRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 32Mb SDRAM) - - pci:v00005333d00008A22sv0000105Dsd0000092F* -- ID_MODEL_FROM_DATABASE=SR9 Pro+ 16Mb SGRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro+ 16Mb SGRAM) - - pci:v00005333d00008A22sv00001092sd00004207* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004800* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004807* -- ID_MODEL_FROM_DATABASE=SpeedStar A90 -+ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A90) - - pci:v00005333d00008A22sv00001092sd00004808* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004809* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd0000480E* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004904* -- ID_MODEL_FROM_DATABASE=Stealth III S520 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S520) - - pci:v00005333d00008A22sv00001092sd00004905* -- ID_MODEL_FROM_DATABASE=SpeedStar A200 -+ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A200) - - pci:v00005333d00008A22sv00001092sd00004A09* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004A0B* -- ID_MODEL_FROM_DATABASE=Stealth III S540 Xtreme -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540 Xtreme) - - pci:v00005333d00008A22sv00001092sd00004A0F* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004E01* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001102sd0000101D* -- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 -+ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) - - pci:v00005333d00008A22sv00001102sd0000101E* -- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 -+ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) - - pci:v00005333d00008A22sv00005333sd00008100* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 100 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 100) - - pci:v00005333d00008A22sv00005333sd00008110* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 110 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 110) - - pci:v00005333d00008A22sv00005333sd00008125* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 125 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 125) - - pci:v00005333d00008A22sv00005333sd00008143* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 143 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 143) - - pci:v00005333d00008A22sv00005333sd00008A22* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4) - - pci:v00005333d00008A22sv00005333sd00008A2E* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 32bit -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 32bit) - - pci:v00005333d00008A22sv00005333sd00009125* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 125 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 125) - - pci:v00005333d00008A22sv00005333sd00009143* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 143 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 143) - - pci:v00005333d00008A23* - ID_MODEL_FROM_DATABASE=Savage 4 -@@ -54417,7 +54417,7 @@ pci:v00005333d00008A25* - ID_MODEL_FROM_DATABASE=ProSavage PM133 - - pci:v00005333d00008A25sv00000303sd00000303* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=ProSavage PM133 (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00005333d00008A26* - ID_MODEL_FROM_DATABASE=ProSavage KM133 -@@ -54447,16 +54447,16 @@ pci:v00005333d00008C12* - ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] - - pci:v00005333d00008C12sv00001014sd0000017F* -- ID_MODEL_FROM_DATABASE=ThinkPad T20/T22 -+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (ThinkPad T20/T22) - - pci:v00005333d00008C12sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=86C584 SuperSavage/IXC Toshiba -+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (86C584 SuperSavage/IXC Toshiba) - - pci:v00005333d00008C13* - ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] - - pci:v00005333d00008C13sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] (Magnia Z310) - - pci:v00005333d00008C22* - ID_MODEL_FROM_DATABASE=SuperSavage MX/128 -@@ -54483,7 +54483,7 @@ pci:v00005333d00008C2E* - ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR - - pci:v00005333d00008C2Esv00001014sd000001FC* -- ID_MODEL_FROM_DATABASE=ThinkPad T23 -+ ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR (ThinkPad T23) - - pci:v00005333d00008C2F* - ID_MODEL_FROM_DATABASE=SuperSavage IX/C DDR -@@ -54513,7 +54513,7 @@ pci:v00005333d00008E48* - ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] - - pci:v00005333d00008E48sv00005333sd00000130* -- ID_MODEL_FROM_DATABASE=Chrome S27 256M DDR2 -+ ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] (Chrome S27 256M DDR2) - - pci:v00005333d00009043* - ID_MODEL_FROM_DATABASE=Chrome 430 GT -@@ -54528,28 +54528,28 @@ pci:v00005333d00009102* - ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] - - pci:v00005333d00009102sv00001092sd00005932* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005934* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005952* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005954* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A35* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A37* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A55* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A57* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d0000CA00* - ID_MODEL_FROM_DATABASE=SonicVibes -@@ -54774,13 +54774,13 @@ pci:v00008086d00000044* - ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller - - pci:v00008086d00000044sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Aspire 7740G) - - pci:v00008086d00000044sv00001025sd00000487* -- ID_MODEL_FROM_DATABASE=TravelMate 5742 -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) - - pci:v00008086d00000044sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) - - pci:v00008086d00000045* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port -@@ -54789,7 +54789,7 @@ pci:v00008086d00000046* - ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller - - pci:v00008086d00000046sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) - - pci:v00008086d00000047* - ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port -@@ -54816,202 +54816,202 @@ pci:v00008086d00000082* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] - - pci:v00008086d00000082sv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) - - pci:v00008086d00000082sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) - - pci:v00008086d00000082sv00008086sd00001307* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 BG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 BG) - - pci:v00008086d00000082sv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) - - pci:v00008086d00000082sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) - - pci:v00008086d00000083* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] - - pci:v00008086d00000083sv00008086sd00001205* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001206* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000083sv00008086sd00001225* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001226* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000083sv00008086sd00001305* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000083sv00008086sd00001325* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000084* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] - - pci:v00008086d00000084sv00008086sd00001215* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000084sv00008086sd00001216* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000084sv00008086sd00001315* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000084sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000085* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] - - pci:v00008086d00000085sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) - - pci:v00008086d00000085sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) - - pci:v00008086d00000087* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] - - pci:v00008086d00000087sv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) - - pci:v00008086d00000087sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) - - pci:v00008086d00000087sv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) - - pci:v00008086d00000087sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) - - pci:v00008086d00000089* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] - - pci:v00008086d00000089sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) - - pci:v00008086d00000089sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) - - pci:v00008086d0000008A* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] - - pci:v00008086d0000008Asv00008086sd00005305* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) - - pci:v00008086d0000008Asv00008086sd00005307* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) - - pci:v00008086d0000008Asv00008086sd00005325* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) - - pci:v00008086d0000008Asv00008086sd00005327* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) - - pci:v00008086d0000008B* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] - - pci:v00008086d0000008Bsv00008086sd00005315* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) - - pci:v00008086d0000008Bsv00008086sd00005317* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) - - pci:v00008086d00000090* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] - - pci:v00008086d00000090sv00008086sd00005211* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) - - pci:v00008086d00000090sv00008086sd00005215* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) - - pci:v00008086d00000090sv00008086sd00005216* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) - - pci:v00008086d00000091* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] - - pci:v00008086d00000091sv00008086sd00005201* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) - - pci:v00008086d00000091sv00008086sd00005205* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) - - pci:v00008086d00000091sv00008086sd00005206* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) - - pci:v00008086d00000091sv00008086sd00005207* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BG) - - pci:v00008086d00000091sv00008086sd00005221* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) - - pci:v00008086d00000091sv00008086sd00005225* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) - - pci:v00008086d00000091sv00008086sd00005226* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) - - pci:v00008086d00000100* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller - - pci:v00008086d00000100sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (XPS 8300) - - pci:v00008086d00000100sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (P8P67/P8H67 Series Motherboard) - - pci:v00008086d00000101* - ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port - - pci:v00008086d00000101sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (Vostro 3350) - - pci:v00008086d00000101sv0000106Bsd000000DC* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00000102* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller - - pci:v00008086d00000102sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (XPS 8300) - - pci:v00008086d00000102sv00001043sd00000102* -- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (P8H67 Series Motherboard) - - pci:v00008086d00000104* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller - - pci:v00008086d00000104sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Precision M4600) - - pci:v00008086d00000104sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3350) - - pci:v00008086d00000104sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3750) - - pci:v00008086d00000104sv0000106Bsd000000DC* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00000105* - ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port - - pci:v00008086d00000105sv0000106Bsd000000DC* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00000106* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller -@@ -55044,7 +55044,7 @@ pci:v00008086d00000116* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller - - pci:v00008086d00000116sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3750) - - pci:v00008086d00000122* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller -@@ -55053,64 +55053,64 @@ pci:v00008086d00000126* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller - - pci:v00008086d00000126sv00001028sd000004CC* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3350) - - pci:v00008086d00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller - - pci:v00008086d00000150sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) - - pci:v00008086d00000150sv00001849sd00000150* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) - - pci:v00008086d00000151* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - - pci:v00008086d00000151sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (N56VZ) - - pci:v00008086d00000151sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) - - pci:v00008086d00000151sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8H77-I Motherboard) - - pci:v00008086d00000151sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) - - pci:v00008086d00000152* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - - pci:v00008086d00000152sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8H77-I Motherboard) - - pci:v00008086d00000153* - ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem - - pci:v00008086d00000153sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem (Zenbook Prime UX31A) - - pci:v00008086d00000154* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller - - pci:v00008086d00000154sv00001025sd00000813* -- ID_MODEL_FROM_DATABASE=Aspire R7-571 -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Aspire R7-571) - - pci:v00008086d00000154sv0000103Csd000017F6* -- ID_MODEL_FROM_DATABASE=ProBook 4540s -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (ProBook 4540s) - - pci:v00008086d00000154sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (N56VZ) - - pci:v00008086d00000154sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Zenbook Prime UX31A) - - pci:v00008086d00000155* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - - pci:v00008086d00000155sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) - - pci:v00008086d00000156* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller -@@ -55119,10 +55119,10 @@ pci:v00008086d00000158* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller - - pci:v00008086d00000158sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (P8 series motherboard) - - pci:v00008086d00000158sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (Server Board S1200BTS) - - pci:v00008086d00000159* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port -@@ -55137,7 +55137,7 @@ pci:v00008086d0000015D* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - - pci:v00008086d0000015Dsv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) - - pci:v00008086d0000015E* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller -@@ -55146,22 +55146,22 @@ pci:v00008086d00000162* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - - pci:v00008086d00000162sv00001849sd00000162* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) - - pci:v00008086d00000166* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller - - pci:v00008086d00000166sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (Zenbook Prime UX31A) - - pci:v00008086d00000166sv00001043sd00002103* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (N56VZ) - - pci:v00008086d0000016A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - - pci:v00008086d0000016Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8B WS Motherboard) - - pci:v00008086d00000172* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller -@@ -55179,19 +55179,19 @@ pci:v00008086d00000326* - ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A - - pci:v00008086d00000326sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (ProLiant DL140 G2) - - pci:v00008086d00000326sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (CR11/VR11 Single Board Computer) - - pci:v00008086d00000327* - ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B - - pci:v00008086d00000327sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (ProLiant DL140 G2) - - pci:v00008086d00000327sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (CR11/VR11 Single Board Computer) - - pci:v00008086d00000329* - ID_MODEL_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge A -@@ -55260,7 +55260,7 @@ pci:v00008086d00000416* - ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller - - pci:v00008086d00000416sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller (ThinkPad T440p) - - pci:v00008086d0000041A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller -@@ -55365,16 +55365,16 @@ pci:v00008086d00000600* - ID_MODEL_FROM_DATABASE=RAID Controller - - pci:v00008086d00000600sv00008086sd00000136* -- ID_MODEL_FROM_DATABASE=SRCU31L -+ ID_MODEL_FROM_DATABASE=RAID Controller (SRCU31L) - - pci:v00008086d00000600sv00008086sd000001AF* -- ID_MODEL_FROM_DATABASE=SRCZCR -+ ID_MODEL_FROM_DATABASE=RAID Controller (SRCZCR) - - pci:v00008086d00000600sv00008086sd000001C1* -- ID_MODEL_FROM_DATABASE=ICP Vortex GDT8546RZ -+ ID_MODEL_FROM_DATABASE=RAID Controller (ICP Vortex GDT8546RZ) - - pci:v00008086d00000600sv00008086sd000001F7* -- ID_MODEL_FROM_DATABASE=SCRU32 -+ ID_MODEL_FROM_DATABASE=RAID Controller (SCRU32) - - pci:v00008086d0000061F* - ID_MODEL_FROM_DATABASE=80303 I/O Processor -@@ -55467,301 +55467,301 @@ pci:v00008086d00000885* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 - - pci:v00008086d00000885sv00008086sd00001305* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) - - pci:v00008086d00000885sv00008086sd00001307* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) - - pci:v00008086d00000885sv00008086sd00001325* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) - - pci:v00008086d00000885sv00008086sd00001327* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) - - pci:v00008086d00000886* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 - - pci:v00008086d00000886sv00008086sd00001315* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) - - pci:v00008086d00000886sv00008086sd00001317* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) - - pci:v00008086d00000887* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 - - pci:v00008086d00000887sv00008086sd00004062* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) - - pci:v00008086d00000887sv00008086sd00004462* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) - - pci:v00008086d00000888* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 - - pci:v00008086d00000888sv00008086sd00004262* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) - - pci:v00008086d0000088E* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 - - pci:v00008086d0000088Esv00008086sd00004060* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) - - pci:v00008086d0000088Esv00008086sd00004460* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) - - pci:v00008086d0000088F* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 - - pci:v00008086d0000088Fsv00008086sd00004260* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) - - pci:v00008086d00000890* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 - - pci:v00008086d00000890sv00008086sd00004022* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000890sv00008086sd00004422* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000890sv00008086sd00004822* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000891* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 - - pci:v00008086d00000891sv00008086sd00004222* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000892* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 - - pci:v00008086d00000892sv00008086sd00000062* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) - - pci:v00008086d00000892sv00008086sd00000462* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) - - pci:v00008086d00000893* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 - - pci:v00008086d00000893sv00008086sd00000262* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) - - pci:v00008086d00000894* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 - - pci:v00008086d00000894sv00008086sd00000022* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000894sv00008086sd00000422* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000894sv00008086sd00000822* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000895* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 - - pci:v00008086d00000895sv00008086sd00000222* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000896* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 - - pci:v00008086d00000896sv00008086sd00005005* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) - - pci:v00008086d00000896sv00008086sd00005007* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) - - pci:v00008086d00000896sv00008086sd00005025* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) - - pci:v00008086d00000896sv00008086sd00005027* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) - - pci:v00008086d00000897* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 - - pci:v00008086d00000897sv00008086sd00005015* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) - - pci:v00008086d00000897sv00008086sd00005017* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) - - pci:v00008086d000008AE* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 - - pci:v00008086d000008AEsv00008086sd00001005* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) - - pci:v00008086d000008AEsv00008086sd00001007* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) - - pci:v00008086d000008AEsv00008086sd00001025* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) - - pci:v00008086d000008AEsv00008086sd00001027* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) - - pci:v00008086d000008AF* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 - - pci:v00008086d000008AFsv00008086sd00001015* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) - - pci:v00008086d000008AFsv00008086sd00001017* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) - - pci:v00008086d000008B1* - ID_MODEL_FROM_DATABASE=Wireless 7260 - - pci:v00008086d000008B1sv00008086sd00004060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004062* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004160* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004162* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004460* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004462* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000486E* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004870* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004A6C* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004A6E* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004A70* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000C020* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C062* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000C160* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C162* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000C420* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C460* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C462* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B2* - ID_MODEL_FROM_DATABASE=Wireless 7260 - - pci:v00008086d000008B2sv00008086sd00004220* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd00004260* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd00004262* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd00004270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B2sv00008086sd0000C220* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd0000C260* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd0000C262* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd0000C270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B3* - ID_MODEL_FROM_DATABASE=Wireless 3160 - - pci:v00008086d000008B3sv00008086sd00000060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-N 3160) - - pci:v00008086d000008B3sv00008086sd00000062* -- ID_MODEL_FROM_DATABASE=Wireless-N 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless-N 3160) - - pci:v00008086d000008B3sv00008086sd00000070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B3sv00008086sd00000170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B3sv00008086sd00000470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B3sv00008086sd00008060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless N-3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless N-3160) - - pci:v00008086d000008B3sv00008086sd00008062* -- ID_MODEL_FROM_DATABASE=Wireless N-3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless N-3160) - - pci:v00008086d000008B3sv00008086sd00008070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008B3sv00008086sd00008170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008B3sv00008086sd00008470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008B4* - ID_MODEL_FROM_DATABASE=Wireless 3160 - - pci:v00008086d000008B4sv00008086sd00000270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B4sv00008086sd00008270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008CF* - ID_MODEL_FROM_DATABASE=Atom Processor Z2760 Integrated Graphics Controller -@@ -55770,106 +55770,106 @@ pci:v00008086d0000095A* - ID_MODEL_FROM_DATABASE=Wireless 7265 - - pci:v00008086d0000095Asv00008086sd00001010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005000* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005002* -- ID_MODEL_FROM_DATABASE=Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd0000500A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005012* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005020* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd0000502A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005090* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005100* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd0000510A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005110* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005112* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005190* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005400* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005410* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005420* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005490* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005590* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009012* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009110* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009112* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009210* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009310* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009410* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009510* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095B* - ID_MODEL_FROM_DATABASE=Wireless 7265 - - pci:v00008086d0000095Bsv00008086sd00005200* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Bsv00008086sd00005202* -- ID_MODEL_FROM_DATABASE=Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) - - pci:v00008086d0000095Bsv00008086sd00005210* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Bsv00008086sd00005290* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Bsv00008086sd00005302* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Bsv00008086sd00005310* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d00000960* - ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge -@@ -55884,7 +55884,7 @@ pci:v00008086d00000A04* - ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller - - pci:v00008086d00000A04sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller (ThinkPad X240) - - pci:v00008086d00000A06* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller -@@ -55893,13 +55893,13 @@ pci:v00008086d00000A0C* - ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller - - pci:v00008086d00000A0Csv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller (ThinkPad X240) - - pci:v00008086d00000A16* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - - pci:v00008086d00000A16sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller (ThinkPad X240) - - pci:v00008086d00000A22* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller -@@ -55917,7 +55917,7 @@ pci:v00008086d00000BE1* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller - - pci:v00008086d00000BE1sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller (D270S/D250S Motherboard) - - pci:v00008086d00000BE2* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller -@@ -55980,7 +55980,7 @@ pci:v00008086d00000BF5* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller - - pci:v00008086d00000BF5sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller (D270S/D250S Motherboard) - - pci:v00008086d00000BF6* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller -@@ -55998,10 +55998,10 @@ pci:v00008086d00000C04* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller - - pci:v00008086d00000C04sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ZBook 15) - - pci:v00008086d00000C04sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ThinkPad T440p) - - pci:v00008086d00000C05* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller -@@ -56016,7 +56016,7 @@ pci:v00008086d00000C0C* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller - - pci:v00008086d00000C0Csv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (ThinkPad T440p) - - pci:v00008086d00000C46* - ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 1 -@@ -56787,34 +56787,34 @@ pci:v00008086d00001000* - ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001000sv00000E11sd0000B0DF* -- ID_MODEL_FROM_DATABASE=NC6132 Gigabit Ethernet Adapter (1000-SX) -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6132 Gigabit Ethernet Adapter (1000-SX)) - - pci:v00008086d00001000sv00000E11sd0000B0E0* -- ID_MODEL_FROM_DATABASE=NC6133 Gigabit Ethernet Adapter (1000-LX) -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6133 Gigabit Ethernet Adapter (1000-LX)) - - pci:v00008086d00001000sv00000E11sd0000B123* -- ID_MODEL_FROM_DATABASE=NC6134 Gigabit Ethernet Adapter (1000-LX) -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6134 Gigabit Ethernet Adapter (1000-LX)) - - pci:v00008086d00001000sv00001014sd00000119* -- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) - - pci:v00008086d00001000sv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (PRO/1000 Gigabit Server Adapter) - - pci:v00008086d00001001* - ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001001sv00000E11sd0000004A* -- ID_MODEL_FROM_DATABASE=NC6136 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (NC6136 Gigabit Server Adapter) - - pci:v00008086d00001001sv00001014sd000001EA* -- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) - - pci:v00008086d00001001sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) - - pci:v00008086d00001001sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) - - pci:v00008086d00001002* - ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II -@@ -56823,64 +56823,64 @@ pci:v00008086d00001002sv00008086sd0000200E* - ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II - - pci:v00008086d00001002sv00008086sd00002013* -- ID_MODEL_FROM_DATABASE=Pro 100 SR Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 SR Mobile Combo Adapter) - - pci:v00008086d00001002sv00008086sd00002017* -- ID_MODEL_FROM_DATABASE=Pro 100 S Combo Mobile Adapter -+ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 S Combo Mobile Adapter) - - pci:v00008086d00001004* - ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001004sv00000E11sd00000049* -- ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7132 Gigabit Upgrade Module) - - pci:v00008086d00001004sv00000E11sd0000B1A4* -- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7131 Gigabit Server Adapter) - - pci:v00008086d00001004sv00001014sd000010F2* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (Gigabit Ethernet Server Adapter) - - pci:v00008086d00001004sv00008086sd00001004* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) - - pci:v00008086d00001004sv00008086sd00002004* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) - - pci:v00008086d00001008* - ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001008sv00001014sd00000269* -- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) - - pci:v00008086d00001008sv00001028sd0000011B* -- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PowerEdge 1650/2550) - - pci:v00008086d00001008sv00001028sd0000011C* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) - - pci:v00008086d00001008sv00008086sd00001107* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) - - pci:v00008086d00001008sv00008086sd00002107* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) - - pci:v00008086d00001008sv00008086sd00002110* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Desktop Adapter) - - pci:v00008086d00001008sv00008086sd00003108* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) - - pci:v00008086d00001009* - ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001009sv00001014sd00000268* -- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) - - pci:v00008086d00001009sv00008086sd00001109* -- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) - - pci:v00008086d00001009sv00008086sd00002109* -- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) - - pci:v00008086d0000100A* - ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller -@@ -56889,286 +56889,286 @@ pci:v00008086d0000100C* - ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000100Csv00008086sd00001112* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) - - pci:v00008086d0000100Csv00008086sd00002112* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) - - pci:v00008086d0000100D* - ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) - - pci:v00008086d0000100Dsv00001028sd00000123* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (PRO/1000 XT Network Connection) - - pci:v00008086d0000100Dsv00001079sd0000891F* -- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) - - pci:v00008086d0000100Dsv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (CT8 mainboard) - - pci:v00008086d0000100Dsv00008086sd0000110D* -- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) - - pci:v00008086d0000100E* - ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller - - pci:v00008086d0000100Esv00001014sd00000265* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Esv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Esv00001014sd0000026A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Esv00001028sd0000002E* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX260) - - pci:v00008086d0000100Esv00001028sd00000134* -- ID_MODEL_FROM_DATABASE=PowerEdge 600SC -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PowerEdge 600SC) - - pci:v00008086d0000100Esv00001028sd00000151* -- ID_MODEL_FROM_DATABASE=Optiplex GX270 -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX270) - - pci:v00008086d0000100Esv0000107Bsd00008920* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d0000100Esv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (QEMU Virtual Machine) - - pci:v00008086d0000100Esv00008086sd0000001E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d0000100Esv00008086sd0000002E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d0000100Esv00008086sd00001376* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000100Esv00008086sd00001476* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000100F* - ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000100Fsv00001014sd00000269* -- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) - - pci:v00008086d0000100Fsv00001014sd0000028E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Fsv000015ADsd00000750* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Single Port Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Single Port Adapter) - - pci:v00008086d0000100Fsv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Fsv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Server Adapter) - - pci:v00008086d00001010* - ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001010sv00000E11sd000000DB* -- ID_MODEL_FROM_DATABASE=NC7170 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (NC7170 Gigabit Server Adapter) - - pci:v00008086d00001010sv00001014sd0000027C* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Adapter) - - pci:v00008086d00001010sv000015ADsd00000760* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Adapter) - - pci:v00008086d00001010sv000018FBsd00007872* -- ID_MODEL_FROM_DATABASE=RESlink-X -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (RESlink-X) - - pci:v00008086d00001010sv00001FC1sd00000026* -- ID_MODEL_FROM_DATABASE=Niagara 2260 Bypass Card -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (Niagara 2260 Bypass Card) - - pci:v00008086d00001010sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CT8 mainboard) - - pci:v00008086d00001010sv00004C53sd000010A0* -- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CA3/CR3 mainboard) - - pci:v00008086d00001010sv00008086sd00001011* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d00001010sv00008086sd00001012* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d00001010sv00008086sd0000101A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Connection) - - pci:v00008086d00001010sv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (SE7501HG2 Mainboard) - - pci:v00008086d00001011* - ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001011sv00001014sd00000268* -- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) - - pci:v00008086d00001011sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter) - - pci:v00008086d00001011sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter (LX) -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter (LX)) - - pci:v00008086d00001012* - ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001012sv00000E11sd000000DC* -- ID_MODEL_FROM_DATABASE=NC6170 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (NC6170 Gigabit Server Adapter) - - pci:v00008086d00001012sv00008086sd00001012* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Dual Port Server Adapter) - - pci:v00008086d00001013* - ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller - - pci:v00008086d00001013sv00008086sd00000013* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001013sv00008086sd00001013* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001013sv00008086sd00001113* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d00001014* - ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller - - pci:v00008086d00001014sv00008086sd00000014* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Connection -+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Desktop Connection) - - pci:v00008086d00001014sv00008086sd00001014* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001015* - ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) - - pci:v00008086d00001015sv00008086sd00001015* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001016* - ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) - - pci:v00008086d00001016sv00001014sd0000052C* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001016sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001016sv00008086sd00001016* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001017* - ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller - - pci:v00008086d00001017sv00008086sd00001017* -- ID_MODEL_FROM_DATABASE=PR0/1000 MT Desktop Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (PR0/1000 MT Desktop Connection) - - pci:v00008086d00001018* - ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller - - pci:v00008086d00001018sv00008086sd00001018* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001019* - ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller - - pci:v00008086d00001019sv00001458sd00001019* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d00001019sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Intel Gigabit Ethernet (Kenai II) -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel Gigabit Ethernet (Kenai II)) - - pci:v00008086d00001019sv00008086sd00001019* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Desktop Connection -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (PRO/1000 CT Desktop Connection) - - pci:v00008086d00001019sv00008086sd0000301F* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D865PERL mainboard) - - pci:v00008086d00001019sv00008086sd00003025* -- ID_MODEL_FROM_DATABASE=D875PBZ motherboard -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D875PBZ motherboard) - - pci:v00008086d00001019sv00008086sd0000302C* -- ID_MODEL_FROM_DATABASE=Intel 82865G Mainboard (D865GBF) -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel 82865G Mainboard (D865GBF)) - - pci:v00008086d00001019sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (S875WP1-E mainboard) - - pci:v00008086d0000101A* - ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) - - pci:v00008086d0000101Asv00008086sd0000101A* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) (PRO/1000 CT Mobile Connection) - - pci:v00008086d0000101D* - ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller - - pci:v00008086d0000101Dsv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (PRO/1000 MT Quad Port Server Adapter) - - pci:v00008086d0000101E* - ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) - - pci:v00008086d0000101Esv00001014sd00000549* -- ID_MODEL_FROM_DATABASE=Thinkpad -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (Thinkpad) - - pci:v00008086d0000101Esv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d0000101Esv00008086sd0000101E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001026* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - - pci:v00008086d00001026sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d00001026sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision 470) - - pci:v00008086d00001026sv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) - - pci:v00008086d00001026sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) - - pci:v00008086d00001026sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) - - pci:v00008086d00001026sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 GT Server Adapter) - - pci:v00008086d00001026sv00008086sd00001026* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) - - pci:v00008086d00001027* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - - pci:v00008086d00001027sv0000103Csd00003103* -- ID_MODEL_FROM_DATABASE=NC310F PCI-X Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (NC310F PCI-X Gigabit Server Adapter) - - pci:v00008086d00001027sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) - - pci:v00008086d00001027sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) - - pci:v00008086d00001027sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) - - pci:v00008086d00001027sv00008086sd00001027* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter) - - pci:v00008086d00001028* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - - pci:v00008086d00001028sv00008086sd00001028* -- ID_MODEL_FROM_DATABASE=PRO/1000 MB Server Connection -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MB Server Connection) - - pci:v00008086d00001029* - ID_MODEL_FROM_DATABASE=82559 Ethernet Controller -@@ -57180,31 +57180,31 @@ pci:v00008086d00001031* - ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller - - pci:v00008086d00001031sv00001014sd00000209* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (ThinkPad A/T/X Series) - - pci:v00008086d00001031sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00001031sv0000104Dsd0000813C* -- ID_MODEL_FROM_DATABASE=Vaio PCG-GRV616G -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GRV616G) - - pci:v00008086d00001031sv0000107Bsd00005350* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C000* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C003* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (vpr Matrix 170B4) - - pci:v00008086d00001032* - ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE Ethernet Controller -@@ -57228,16 +57228,16 @@ pci:v00008086d00001038* - ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller - - pci:v00008086d00001038sv00000E11sd00000098* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller (Evo N600c) - - pci:v00008086d00001039* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller - - pci:v00008086d00001039sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (NetVista A30p) - - pci:v00008086d00001039sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH1 -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (PC8 onboard ethernet ETH1) - - pci:v00008086d0000103A* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (CNR) Ethernet Controller -@@ -57252,13 +57252,13 @@ pci:v00008086d0000103D* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller - - pci:v00008086d0000103Dsv00001014sd00000522* -- ID_MODEL_FROM_DATABASE=ThinkPad R40 -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (ThinkPad R40) - - pci:v00008086d0000103Dsv00001028sd00002002* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (Latitude D500) - - pci:v00008086d0000103Dsv00008086sd0000103D* -- ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (82562EZ 10/100 Ethernet Controller) - - pci:v00008086d0000103E* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (MOB) Ethernet Controller -@@ -57267,43 +57267,43 @@ pci:v00008086d00001040* - ID_MODEL_FROM_DATABASE=536EP Data Fax Modem - - pci:v00008086d00001040sv000016BEsd00001040* -- ID_MODEL_FROM_DATABASE=V.9X DSP Data Fax Modem -+ ID_MODEL_FROM_DATABASE=536EP Data Fax Modem (V.9X DSP Data Fax Modem) - - pci:v00008086d00001043* - ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter - - pci:v00008086d00001043sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (tc1100 tablet) - - pci:v00008086d00001043sv00008086sd00002522* -- ID_MODEL_FROM_DATABASE=Samsung X10/P30 integrated WLAN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Samsung X10/P30 integrated WLAN) - - pci:v00008086d00001043sv00008086sd00002527* -- ID_MODEL_FROM_DATABASE=MIM2000/Centrino -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (MIM2000/Centrino) - - pci:v00008086d00001043sv00008086sd00002561* -- ID_MODEL_FROM_DATABASE=Dell Latitude D800 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Dell Latitude D800) - - pci:v00008086d00001043sv00008086sd00002581* -- ID_MODEL_FROM_DATABASE=Toshiba Satellite M10 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Toshiba Satellite M10) - - pci:v00008086d00001048* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d00001048sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001048sv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001049* - ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection - - pci:v00008086d00001049sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (Compaq 6910p) - - pci:v00008086d00001049sv000017AAsd000020B9* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (ThinkPad T61/R61) - - pci:v00008086d0000104A* - ID_MODEL_FROM_DATABASE=82566DM Gigabit Network Connection -@@ -57321,22 +57321,22 @@ pci:v00008086d00001050* - ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller - - pci:v00008086d00001050sv00001028sd0000019D* -- ID_MODEL_FROM_DATABASE=Dimension 3000 -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Dimension 3000) - - pci:v00008086d00001050sv00001462sd0000728C* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d00001050sv00001462sd0000758C* -- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (MS-6758 (875P Neo)) - - pci:v00008086d00001050sv00008086sd00003020* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (D865PERL mainboard) - - pci:v00008086d00001050sv00008086sd0000302F* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Desktop Board D865GBF) - - pci:v00008086d00001050sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (S875WP1-E mainboard) - - pci:v00008086d00001051* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) integrated LAN Controller -@@ -57369,70 +57369,70 @@ pci:v00008086d0000105E* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d0000105Esv0000103Csd00007044* -- ID_MODEL_FROM_DATABASE=NC360T PCI Express Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (NC360T PCI Express Dual Port Gigabit Server Adapter) - - pci:v00008086d0000105Esv0000103Csd0000704E* -- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T (PCIe) [AD337A] -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-T (PCIe) [AD337A]) - - pci:v00008086d0000105Esv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d0000105Esv00001775sd00006003* -- ID_MODEL_FROM_DATABASE=Telum GE-QT -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Telum GE-QT) - - pci:v00008086d0000105Esv000018DFsd00001214* -- ID_MODEL_FROM_DATABASE=2x 1GbE, PCIe x1, dual Intel 82571EB chips -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (2x 1GbE, PCIe x1, dual Intel 82571EB chips) - - pci:v00008086d0000105Esv00008086sd0000005E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Connection) - - pci:v00008086d0000105Esv00008086sd0000105E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Network Connection) - - pci:v00008086d0000105Esv00008086sd000010D5* -- ID_MODEL_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (82571PT Gigabit PT Quad Port Server ExpressModule) - - pci:v00008086d0000105Esv00008086sd0000115E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) - - pci:v00008086d0000105Esv00008086sd0000125E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) - - pci:v00008086d0000105Esv00008086sd0000135E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) - - pci:v00008086d0000105F* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d0000105Fsv0000103Csd0000704F* -- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-SX (PCIe) [AD338A] -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-SX (PCIe) [AD338A]) - - pci:v00008086d0000105Fsv00008086sd0000005A* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d0000105Fsv00008086sd0000115F* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d0000105Fsv00008086sd0000125F* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d0000105Fsv00008086sd0000135F* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d00001060* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d00001060sv00008086sd00000060* -- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) - - pci:v00008086d00001060sv00008086sd00001060* -- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) - - pci:v00008086d00001064* - ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller - - pci:v00008086d00001064sv00001043sd000080F8* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller (P5GD1-VW Mainboard) - - pci:v00008086d00001065* - ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller -@@ -57459,148 +57459,148 @@ pci:v00008086d00001075* - ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller - - pci:v00008086d00001075sv00001028sd00000165* -- ID_MODEL_FROM_DATABASE=PowerEdge 750 -+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PowerEdge 750) - - pci:v00008086d00001075sv00008086sd00000075* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection -+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) - - pci:v00008086d00001075sv00008086sd00001075* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection -+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) - - pci:v00008086d00001076* - ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller - - pci:v00008086d00001076sv00001028sd00000165* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00001028sd0000106D* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00008086sd00000076* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00008086sd00001076* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00008086sd00001176* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d00001076sv00008086sd00001276* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Adapter -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Adapter) - - pci:v00008086d00001077* - ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller - - pci:v00008086d00001077sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001077sv00008086sd00000077* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001077sv00008086sd00001077* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001078* - ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller - - pci:v00008086d00001078sv00008086sd00001078* -- ID_MODEL_FROM_DATABASE=82541ER-based Network Connection -+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (82541ER-based Network Connection) - - pci:v00008086d00001079* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d00001079sv0000103Csd000012A6* -- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T [A9900A] -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000Base-T [A9900A]) - - pci:v00008086d00001079sv0000103Csd000012CF* -- ID_MODEL_FROM_DATABASE=Core Dual Port 1000Base-T [AB352A] -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Core Dual Port 1000Base-T [AB352A]) - - pci:v00008086d00001079sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (V5D Single Board Computer Gigabit Ethernet) - - pci:v00008086d00001079sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CE9) - - pci:v00008086d00001079sv00001FC1sd00000027* -- ID_MODEL_FROM_DATABASE=Niagara 2261 Failover NIC -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Niagara 2261 Failover NIC) - - pci:v00008086d00001079sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d00001079sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CL9 mainboard) - - pci:v00008086d00001079sv00008086sd00000079* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) - - pci:v00008086d00001079sv00008086sd00001079* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) - - pci:v00008086d00001079sv00008086sd00001179* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d00001079sv00008086sd0000117A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d0000107A* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d0000107Asv0000103Csd000012A8* -- ID_MODEL_FROM_DATABASE=Dual Port 1000base-SX [A9899A] -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000base-SX [A9899A]) - - pci:v00008086d0000107Asv00008086sd0000107A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) - - pci:v00008086d0000107Asv00008086sd0000127A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) - - pci:v00008086d0000107B* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d0000107Bsv00008086sd0000007B* -- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) - - pci:v00008086d0000107Bsv00008086sd0000107B* -- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) - - pci:v00008086d0000107C* - ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller - - pci:v00008086d0000107Csv00008086sd00001376* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000107Csv00008086sd00001476* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000107D* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000107Dsv00008086sd00001082* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) - - pci:v00008086d0000107Dsv00008086sd00001084* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) - - pci:v00008086d0000107Dsv00008086sd00001092* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) - - pci:v00008086d0000107E* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) - - pci:v00008086d0000107Esv00008086sd00001084* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) - - pci:v00008086d0000107Esv00008086sd00001085* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) - - pci:v00008086d0000107Esv00008086sd00001094* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) - - pci:v00008086d0000107F* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller -@@ -57636,16 +57636,16 @@ pci:v00008086d0000108A* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d0000108Asv00008086sd0000108A* -- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) - - pci:v00008086d0000108Asv00008086sd0000118A* -- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) - - pci:v00008086d0000108B* - ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000108Bsv00001462sd0000176C* -- ID_MODEL_FROM_DATABASE=on board on MSI 945P - NEO (MS-7176) -+ ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) (on board on MSI 945P - NEO (MS-7176)) - - pci:v00008086d0000108C* - ID_MODEL_FROM_DATABASE=82573E Gigabit Ethernet Controller (Copper) -@@ -57675,13 +57675,13 @@ pci:v00008086d00001096* - ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001096sv000015D9sd00001096* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Motherboard) - - pci:v00008086d00001096sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (X7DVL-E-O motherboard) - - pci:v00008086d00001096sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Intel S5000PSLSATA Server Board) - - pci:v00008086d00001097* - ID_MODEL_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber) -@@ -57693,28 +57693,28 @@ pci:v00008086d00001099* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001099sv00008086sd00001099* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) - - pci:v00008086d0000109A* - ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller - - pci:v00008086d0000109Asv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=PRO/1000 PL -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL) - - pci:v00008086d0000109Asv000017AAsd00002001* -- ID_MODEL_FROM_DATABASE=ThinkPad T60 -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad T60) - - pci:v00008086d0000109Asv000017AAsd0000207E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad X60/X60s) - - pci:v00008086d0000109Asv00008086sd0000109A* -- ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL Network Connection) - - pci:v00008086d0000109Asv00008086sd0000309C* -- ID_MODEL_FROM_DATABASE=Desktop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D945GTP) - - pci:v00008086d0000109Asv00008086sd000030A5* -- ID_MODEL_FROM_DATABASE=Desktop Board D975XBX -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D975XBX) - - pci:v00008086d0000109B* - ID_MODEL_FROM_DATABASE=82546GB PRO/1000 GF Quad Port Server Adapter -@@ -57723,10 +57723,10 @@ pci:v00008086d0000109E* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d0000109Esv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) - - pci:v00008086d0000109Esv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) - - pci:v00008086d000010A0* - ID_MODEL_FROM_DATABASE=82571EB PRO/1000 AT Quad Port Bypass Adapter -@@ -57738,19 +57738,19 @@ pci:v00008086d000010A4* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d000010A4sv00008086sd000010A4* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) - - pci:v00008086d000010A4sv00008086sd000011A4* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) - - pci:v00008086d000010A5* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) - - pci:v00008086d000010A5sv00008086sd000010A5* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) - - pci:v00008086d000010A5sv00008086sd000010A6* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) - - pci:v00008086d000010A6* - ID_MODEL_FROM_DATABASE=82599EB 10-Gigabit Dummy Function -@@ -57759,7 +57759,7 @@ pci:v00008086d000010A7* - ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection - - pci:v00008086d000010A7sv00008086sd000010A8* -- ID_MODEL_FROM_DATABASE=82575EB Gigabit Riser Card -+ ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection (82575EB Gigabit Riser Card) - - pci:v00008086d000010A9* - ID_MODEL_FROM_DATABASE=82575EB Gigabit Backplane Connection -@@ -57780,13 +57780,13 @@ pci:v00008086d000010B5* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) - - pci:v00008086d000010B5sv0000103Csd00003109* -- ID_MODEL_FROM_DATABASE=NC340T PCI-X Quad-port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (NC340T PCI-X Quad-port Gigabit Server Adapter) - - pci:v00008086d000010B5sv00008086sd00001099* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) - - pci:v00008086d000010B5sv00008086sd00001199* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) - - pci:v00008086d000010B6* - ID_MODEL_FROM_DATABASE=82598 10GbE PCI-Express Ethernet Controller -@@ -57795,13 +57795,13 @@ pci:v00008086d000010B9* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) - - pci:v00008086d000010B9sv0000103Csd0000704A* -- ID_MODEL_FROM_DATABASE=HP 110T PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (HP 110T PCIe Gigabit Server Adapter) - - pci:v00008086d000010B9sv00008086sd00001083* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) - - pci:v00008086d000010B9sv00008086sd00001093* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) - - pci:v00008086d000010BA* - ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) -@@ -57813,22 +57813,22 @@ pci:v00008086d000010BC* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) - - pci:v00008086d000010BCsv0000103Csd0000704B* -- ID_MODEL_FROM_DATABASE=NC364T PCI Express Quad Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (NC364T PCI Express Quad Port Gigabit Server Adapter) - - pci:v00008086d000010BCsv0000108Esd000011BC* -- ID_MODEL_FROM_DATABASE=x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter) - - pci:v00008086d000010BCsv00008086sd000010BC* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) - - pci:v00008086d000010BCsv00008086sd000011BC* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) - - pci:v00008086d000010BD* - ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection - - pci:v00008086d000010BDsv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection (OptiPlex 755) - - pci:v00008086d000010BF* - ID_MODEL_FROM_DATABASE=82567LF Gigabit Network Connection -@@ -57837,7 +57837,7 @@ pci:v00008086d000010C0* - ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection - - pci:v00008086d000010C0sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection (Inspiron 530) - - pci:v00008086d000010C2* - ID_MODEL_FROM_DATABASE=82562G-2 10/100 Network Connection -@@ -57855,67 +57855,67 @@ pci:v00008086d000010C6* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection - - pci:v00008086d000010C6sv00008086sd0000A05F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) - - pci:v00008086d000010C6sv00008086sd0000A15F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) - - pci:v00008086d000010C7* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection - - pci:v00008086d000010C7sv00001014sd0000037F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C7sv00001014sd00000380* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) - - pci:v00008086d000010C7sv00008086sd0000A05F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C7sv00008086sd0000A15F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C7sv00008086sd0000A16F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C8* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection - - pci:v00008086d000010C8sv00008086sd0000A10C* -- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) - - pci:v00008086d000010C8sv00008086sd0000A11C* -- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) - - pci:v00008086d000010C8sv00008086sd0000A12C* -- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) - - pci:v00008086d000010C9* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010C9sv0000103Csd000031EF* -- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) - - pci:v00008086d000010C9sv0000103Csd0000323F* -- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) - - pci:v00008086d000010C9sv000010A9sd00008028* -- ID_MODEL_FROM_DATABASE=UV-BaseIO dual-port GbE -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (UV-BaseIO dual-port GbE) - - pci:v00008086d000010C9sv000013A3sd00000037* -- ID_MODEL_FROM_DATABASE=DS4100 Secure Multi-Gigabit Server Adapter with Compression -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (DS4100 Secure Multi-Gigabit Server Adapter with Compression) - - pci:v00008086d000010C9sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (H8DGU) - - pci:v00008086d000010C9sv00008086sd0000A01C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) - - pci:v00008086d000010C9sv00008086sd0000A03C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) - - pci:v00008086d000010C9sv00008086sd0000A04C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) - - pci:v00008086d000010CA* - ID_MODEL_FROM_DATABASE=82576 Virtual Function -@@ -57936,34 +57936,34 @@ pci:v00008086d000010D3* - ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection - - pci:v00008086d000010D3sv0000103Csd00003250* -- ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112T PCI Express single Port Gigabit Server Adapter) - - pci:v00008086d000010D3sv00001043sd00008369* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) - - pci:v00008086d000010D3sv000010A9sd00008029* -- ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) - - pci:v00008086d000010D3sv000015D9sd0000060A* -- ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (X7SPA-H/X7SPA-HF Motherboard) - - pci:v00008086d000010D3sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (C7SIM-Q Motherboard) - - pci:v00008086d000010D3sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT2 Desktop Adapter) - - pci:v00008086d000010D3sv00008086sd0000357A* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Server Board S1200BTS) - - pci:v00008086d000010D3sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT Desktop Adapter) - - pci:v00008086d000010D3sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC1-GROOVE) - - pci:v00008086d000010D3sv0000E4BFsd000050C2* -- ID_MODEL_FROM_DATABASE=PC2-LIMBO -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC2-LIMBO) - - pci:v00008086d000010D4* - ID_MODEL_FROM_DATABASE=Matrox Concord GE (customized Intel 82574) -@@ -57975,13 +57975,13 @@ pci:v00008086d000010D6* - ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection - - pci:v00008086d000010D6sv00008086sd000010D6* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010D6sv00008086sd0000145A* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010D6sv00008086sd0000147A* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010D8* - ID_MODEL_FROM_DATABASE=82599EB 10 Gigabit Unprogrammed -@@ -57990,13 +57990,13 @@ pci:v00008086d000010D9* - ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter - - pci:v00008086d000010D9sv0000103Csd00001716* -- ID_MODEL_FROM_DATABASE=NC360m Dual Port 1GbE BL-c Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter (NC360m Dual Port 1GbE BL-c Adapter) - - pci:v00008086d000010DA* - ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter - - pci:v00008086d000010DAsv0000103Csd00001717* -- ID_MODEL_FROM_DATABASE=NC364m Quad Port 1GbE BL-c Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter (NC364m Quad Port 1GbE BL-c Adapter) - - pci:v00008086d000010DB* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit Dual Port Network Connection -@@ -58014,13 +58014,13 @@ pci:v00008086d000010E1* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection - - pci:v00008086d000010E1sv00008086sd0000A15F* -- ID_MODEL_FROM_DATABASE=10-Gigabit SR Dual Port Express Module -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit SR Dual Port Express Module) - - pci:v00008086d000010E2* - ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection - - pci:v00008086d000010E2sv00008086sd000010E2* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010E5* - ID_MODEL_FROM_DATABASE=82567LM-4 Gigabit Network Connection -@@ -58029,37 +58029,37 @@ pci:v00008086d000010E6* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010E6sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) - - pci:v00008086d000010E6sv00008086sd0000A02F* -- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) - - pci:v00008086d000010E7* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010E7sv0000103Csd000031FF* -- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual Port BL-c Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual Port BL-c Gigabit Server Adapter) - - pci:v00008086d000010E8* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010E8sv00008086sd0000A02B* -- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) - - pci:v00008086d000010E8sv00008086sd0000A02C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) - - pci:v00008086d000010EA* - ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection - - pci:v00008086d000010EAsv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6410) - - pci:v00008086d000010EAsv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6510) - - pci:v00008086d000010EAsv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (PC1-GROOVE) - - pci:v00008086d000010EB* - ID_MODEL_FROM_DATABASE=82577LC Gigabit Network Connection -@@ -58068,10 +58068,10 @@ pci:v00008086d000010EC* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection - - pci:v00008086d000010ECsv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) - - pci:v00008086d000010ECsv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) - - pci:v00008086d000010ED* - ID_MODEL_FROM_DATABASE=82599 Ethernet Controller Virtual Function -@@ -58080,10 +58080,10 @@ pci:v00008086d000010EF* - ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection - - pci:v00008086d000010EFsv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (OptiPlex 980) - - pci:v00008086d000010EFsv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (C7SIM-Q Motherboard) - - pci:v00008086d000010F0* - ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection -@@ -58092,19 +58092,19 @@ pci:v00008086d000010F1* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection - - pci:v00008086d000010F1sv00008086sd0000A20F* -- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) - - pci:v00008086d000010F1sv00008086sd0000A21F* -- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) - - pci:v00008086d000010F4* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection - - pci:v00008086d000010F4sv00008086sd0000106F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) - - pci:v00008086d000010F4sv00008086sd0000A06F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) - - pci:v00008086d000010F5* - ID_MODEL_FROM_DATABASE=82567LM Gigabit Network Connection -@@ -58116,25 +58116,25 @@ pci:v00008086d000010F7* - ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection - - pci:v00008086d000010F7sv0000108Esd00007B12* -- ID_MODEL_FROM_DATABASE=Sun Dual 10GbE PCIe 2.0 FEM -+ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Sun Dual 10GbE PCIe 2.0 FEM) - - pci:v00008086d000010F7sv00008086sd0000000D* -- ID_MODEL_FROM_DATABASE=Ethernet Mezzanine Adapter X520-KX4-2 -+ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Ethernet Mezzanine Adapter X520-KX4-2) - - pci:v00008086d000010F8* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection - - pci:v00008086d000010F8sv00001028sd00001F63* -- ID_MODEL_FROM_DATABASE=10GbE 2P X520k bNDC -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (10GbE 2P X520k bNDC) - - pci:v00008086d000010F8sv0000103Csd000017D2* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560M Adapter) - - pci:v00008086d000010F8sv0000103Csd000018D0* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLB Adapter -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560FLB Adapter) - - pci:v00008086d000010F8sv00008086sd0000000C* -- ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4-KR Mezz -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet X520 10GbE Dual Port KX4-KR Mezz) - - pci:v00008086d000010F9* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection -@@ -58143,58 +58143,58 @@ pci:v00008086d000010FB* - ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection - - pci:v00008086d000010FBsv00001028sd00001F72* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X520/I350 rNDC -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10G 4P X520/I350 rNDC) - - pci:v00008086d000010FBsv0000103Csd000017D0* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560FLR-SFP+ Adapter) - - pci:v00008086d000010FBsv0000103Csd000017D2* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560M Adapter) - - pci:v00008086d000010FBsv0000103Csd000017D3* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560SFP+ Adapter) - - pci:v00008086d000010FBsv0000103Csd0000211B* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port P560FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port P560FLR-SFP+ Adapter) - - pci:v00008086d000010FBsv0000103Csd00002147* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port 561i Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port 561i Adapter) - - pci:v00008086d000010FBsv0000103Csd00002159* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 562i Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 562i Adapter) - - pci:v00008086d000010FBsv0000108Esd00007B11* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00001734sd000011A9* -- ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (10 Gigabit Dual Port Network Connection) - - pci:v00008086d000010FBsv000017AAsd00001071* -- ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (ThinkServer X520-2 AnyFabric) - - pci:v00008086d000010FBsv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-DA2) - - pci:v00008086d000010FBsv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) - - pci:v00008086d000010FBsv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet OCP Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd0000000A* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) - - pci:v00008086d000010FBsv00008086sd0000000C* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd00007A11* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd00007A12* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FC* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection -@@ -58209,19 +58209,19 @@ pci:v00008086d00001130* - ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub - - pci:v00008086d00001130sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Travelmate 612 TX) - - pci:v00008086d00001130sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (TUSL2-C Mainboard) - - pci:v00008086d00001130sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Vaio PCG-FX403) - - pci:v00008086d00001130sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EEA2 mainboard) - - pci:v00008086d00001130sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EGEW Mainboard) - - pci:v00008086d00001131* - ID_MODEL_FROM_DATABASE=82815 815 Chipset AGP Bridge -@@ -58230,28 +58230,28 @@ pci:v00008086d00001132* - ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) - - pci:v00008086d00001132sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Travelmate 612 TX) - - pci:v00008086d00001132sv0000103Csd00002001* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (e-pc 40) - - pci:v00008086d00001132sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Vaio PCG-FX403) - - pci:v00008086d00001132sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 Mainboard -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA2 Mainboard) - - pci:v00008086d00001132sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=D815EEA Motherboard -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA Motherboard) - - pci:v00008086d00001132sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EGEW Mainboard) - - pci:v00008086d00001161* - ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller - - pci:v00008086d00001161sv00008086sd00001161* -- ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub APIC -+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller (82806AA PCI64 Hub APIC) - - pci:v00008086d00001162* - ID_MODEL_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip -@@ -58260,25 +58260,25 @@ pci:v00008086d00001200* - ID_MODEL_FROM_DATABASE=IXP1200 Network Processor - - pci:v00008086d00001200sv0000172Asd00000000* -- ID_MODEL_FROM_DATABASE=AEP SSL Accelerator -+ ID_MODEL_FROM_DATABASE=IXP1200 Network Processor (AEP SSL Accelerator) - - pci:v00008086d00001209* - ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller - - pci:v00008086d00001209sv0000140Bsd00000610* -- ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PMC610 quad Ethernet board) - - pci:v00008086d00001209sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (QEMU Virtual Machine) - - pci:v00008086d00001209sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CT7 mainboard) - - pci:v00008086d00001209sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CE7 mainboard) - - pci:v00008086d00001209sv00004C53sd00001070* -- ID_MODEL_FROM_DATABASE=PC6 mainboard -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PC6 mainboard) - - pci:v00008086d00001221* - ID_MODEL_FROM_DATABASE=82092AA PCI to PCMCIA Bridge -@@ -58305,487 +58305,487 @@ pci:v00008086d00001229* - ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 - - pci:v00008086d00001229sv00000E11sd00003001* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003002* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003003* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003004* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003005* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003006* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003007* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd0000B01E* -- ID_MODEL_FROM_DATABASE=NC3120 Fast Ethernet NIC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3120 Fast Ethernet NIC) - - pci:v00008086d00001229sv00000E11sd0000B01F* -- ID_MODEL_FROM_DATABASE=NC3122 Fast Ethernet NIC (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3122 Fast Ethernet NIC (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B02F* -- ID_MODEL_FROM_DATABASE=NC1120 Ethernet NIC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC1120 Ethernet NIC) - - pci:v00008086d00001229sv00000E11sd0000B04A* -- ID_MODEL_FROM_DATABASE=Netelligent 10/100TX NIC with Wake on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netelligent 10/100TX NIC with Wake on LAN) - - pci:v00008086d00001229sv00000E11sd0000B0C6* -- ID_MODEL_FROM_DATABASE=NC3161 Fast Ethernet NIC (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3161 Fast Ethernet NIC (embedded, WOL)) - - pci:v00008086d00001229sv00000E11sd0000B0C7* -- ID_MODEL_FROM_DATABASE=NC3160 Fast Ethernet NIC (embedded) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3160 Fast Ethernet NIC (embedded)) - - pci:v00008086d00001229sv00000E11sd0000B0D7* -- ID_MODEL_FROM_DATABASE=NC3121 Fast Ethernet NIC (WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3121 Fast Ethernet NIC (WOL)) - - pci:v00008086d00001229sv00000E11sd0000B0DD* -- ID_MODEL_FROM_DATABASE=NC3131 Fast Ethernet NIC (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3131 Fast Ethernet NIC (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B0DE* -- ID_MODEL_FROM_DATABASE=NC3132 Fast Ethernet Module (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3132 Fast Ethernet Module (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B0E1* -- ID_MODEL_FROM_DATABASE=NC3133 Fast Ethernet Module (100-FX) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3133 Fast Ethernet Module (100-FX)) - - pci:v00008086d00001229sv00000E11sd0000B134* -- ID_MODEL_FROM_DATABASE=NC3163 Fast Ethernet NIC (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3163 Fast Ethernet NIC (embedded, WOL)) - - pci:v00008086d00001229sv00000E11sd0000B13C* -- ID_MODEL_FROM_DATABASE=NC3162 Fast Ethernet NIC (embedded) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3162 Fast Ethernet NIC (embedded)) - - pci:v00008086d00001229sv00000E11sd0000B144* -- ID_MODEL_FROM_DATABASE=NC3123 Fast Ethernet NIC (WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3123 Fast Ethernet NIC (WOL)) - - pci:v00008086d00001229sv00000E11sd0000B163* -- ID_MODEL_FROM_DATABASE=NC3134 Fast Ethernet NIC (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3134 Fast Ethernet NIC (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B164* -- ID_MODEL_FROM_DATABASE=NC3135 Fast Ethernet Upgrade Module (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3135 Fast Ethernet Upgrade Module (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B1A4* -- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC7131 Gigabit Server Adapter) - - pci:v00008086d00001229sv00001014sd0000005C* -- ID_MODEL_FROM_DATABASE=82558B Ethernet Pro 10/100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B Ethernet Pro 10/100) - - pci:v00008086d00001229sv00001014sd000001BC* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN On Motherboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN On Motherboard) - - pci:v00008086d00001229sv00001014sd000001F1* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001014sd000001F2* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001014sd00000207* -- ID_MODEL_FROM_DATABASE=Ethernet Pro/100 S -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Ethernet Pro/100 S) - - pci:v00008086d00001229sv00001014sd00000232* -- ID_MODEL_FROM_DATABASE=10/100 Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Dual Port Server Adapter) - - pci:v00008086d00001229sv00001014sd0000023A* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad R30) - - pci:v00008086d00001229sv00001014sd0000105C* -- ID_MODEL_FROM_DATABASE=Netfinity 10/100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netfinity 10/100) - - pci:v00008086d00001229sv00001014sd00002205* -- ID_MODEL_FROM_DATABASE=ThinkPad A22p -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad A22p) - - pci:v00008086d00001229sv00001014sd0000305C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Management Adapter) - - pci:v00008086d00001229sv00001014sd0000405C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Adapter with Alert on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Adapter with Alert on LAN) - - pci:v00008086d00001229sv00001014sd0000505C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) - - pci:v00008086d00001229sv00001014sd0000605C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) - - pci:v00008086d00001229sv00001014sd0000705C* -- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) - - pci:v00008086d00001229sv00001014sd0000805C* -- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) - - pci:v00008086d00001229sv00001028sd0000009B* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001028sd000000CE* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001033sd00008000* -- ID_MODEL_FROM_DATABASE=PC-9821X-B06 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC-9821X-B06) - - pci:v00008086d00001229sv00001033sd00008016* -- ID_MODEL_FROM_DATABASE=PK-UG-X006 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) - - pci:v00008086d00001229sv00001033sd0000801F* -- ID_MODEL_FROM_DATABASE=PK-UG-X006 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) - - pci:v00008086d00001229sv00001033sd00008026* -- ID_MODEL_FROM_DATABASE=PK-UG-X006 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) - - pci:v00008086d00001229sv00001033sd00008063* -- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) - - pci:v00008086d00001229sv00001033sd00008064* -- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) - - pci:v00008086d00001229sv0000103Csd000010C0* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010C3* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010CA* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010CB* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010E3* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010E4* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd00001200* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000108Esd000010CF* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100(B) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100(B)) - - pci:v00008086d00001229sv000010C3sd00001100* -- ID_MODEL_FROM_DATABASE=SmartEther100 SC1100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SmartEther100 SC1100) - - pci:v00008086d00001229sv000010CFsd00001115* -- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) - - pci:v00008086d00001229sv000010CFsd00001143* -- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) - - pci:v00008086d00001229sv0000110Asd0000008B* -- ID_MODEL_FROM_DATABASE=82551QM Fast Ethernet Multifuction PCI/CardBus Controller -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82551QM Fast Ethernet Multifuction PCI/CardBus Controller) - - pci:v00008086d00001229sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH2 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC8 onboard ethernet ETH2) - - pci:v00008086d00001229sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) - - pci:v00008086d00001229sv00001179sd00000002* -- ID_MODEL_FROM_DATABASE=PCI FastEther LAN on Docker -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PCI FastEther LAN on Docker) - - pci:v00008086d00001229sv00001179sd00000003* -- ID_MODEL_FROM_DATABASE=8255x-based Fast Ethernet -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Fast Ethernet) - - pci:v00008086d00001229sv00001259sd00002560* -- ID_MODEL_FROM_DATABASE=AT-2560 100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100) - - pci:v00008086d00001229sv00001259sd00002561* -- ID_MODEL_FROM_DATABASE=AT-2560 100 FX Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100 FX Ethernet Adapter) - - pci:v00008086d00001229sv00001266sd00000001* -- ID_MODEL_FROM_DATABASE=NE10/100 Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NE10/100 Adapter) - - pci:v00008086d00001229sv000013E9sd00001000* -- ID_MODEL_FROM_DATABASE=6221L-4U -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (6221L-4U) - - pci:v00008086d00001229sv0000144Dsd00002501* -- ID_MODEL_FROM_DATABASE=SEM-2000 MiniPCI LAN Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2000 MiniPCI LAN Adapter) - - pci:v00008086d00001229sv0000144Dsd00002502* -- ID_MODEL_FROM_DATABASE=SEM-2100IL MiniPCI LAN Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2100IL MiniPCI LAN Adapter) - - pci:v00008086d00001229sv00001668sd00001100* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)) - - pci:v00008086d00001229sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CR11/VR11 Single Board Computer) - - pci:v00008086d00001229sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CE9) - - pci:v00008086d00001229sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (QEMU Virtual Machine) - - pci:v00008086d00001229sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CT8 mainboard) - - pci:v00008086d00001229sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PSL09 PrPMC) - - pci:v00008086d00001229sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX)) - - pci:v00008086d00001229sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (T4) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (T4)) - - pci:v00008086d00001229sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/10+ -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/10+) - - pci:v00008086d00001229sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 WfM -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 WfM) - - pci:v00008086d00001229sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=82557 10/100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100) - - pci:v00008086d00001229sv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=82557 10/100 with Wake on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100 with Wake on LAN) - - pci:v00008086d00001229sv00008086sd00000007* -- ID_MODEL_FROM_DATABASE=82558 10/100 Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 Adapter) - - pci:v00008086d00001229sv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=82558 10/100 with Wake on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 with Wake on LAN) - - pci:v00008086d00001229sv00008086sd00000009* -- ID_MODEL_FROM_DATABASE=82558B PRO/100+ PCI (TP) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B PRO/100+ PCI (TP)) - - pci:v00008086d00001229sv00008086sd0000000A* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) - - pci:v00008086d00001229sv00008086sd0000000B* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+) - - pci:v00008086d00001229sv00008086sd0000000C* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) - - pci:v00008086d00001229sv00008086sd0000000D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Alert On LAN II* Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Alert On LAN II* Adapter) - - pci:v00008086d00001229sv00008086sd0000000E* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN*) - - pci:v00008086d00001229sv00008086sd0000000F* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) - - pci:v00008086d00001229sv00008086sd00000011* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) - - pci:v00008086d00001229sv00008086sd00000012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (D) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (D)) - - pci:v00008086d00001229sv00008086sd00000013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (E) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (E)) - - pci:v00008086d00001229sv00008086sd00000030* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Management Adapter with Alert On LAN* GC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Management Adapter with Alert On LAN* GC) - - pci:v00008086d00001229sv00008086sd00000031* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000040* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000041* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000042* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000050* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00001009* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter) - - pci:v00008086d00001229sv00008086sd0000100C* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter (PILA8470B) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter (PILA8470B)) - - pci:v00008086d00001229sv00008086sd00001012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (D) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (D)) - - pci:v00008086d00001229sv00008086sd00001013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (E) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (E)) - - pci:v00008086d00001229sv00008086sd00001015* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Dual Port Server Adapter) - - pci:v00008086d00001229sv00008086sd00001017* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Server Adapter) - - pci:v00008086d00001229sv00008086sd00001030* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server) - - pci:v00008086d00001229sv00008086sd00001040* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) - - pci:v00008086d00001229sv00008086sd00001041* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) - - pci:v00008086d00001229sv00008086sd00001042* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) - - pci:v00008086d00001229sv00008086sd00001050* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) - - pci:v00008086d00001229sv00008086sd00001051* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) - - pci:v00008086d00001229sv00008086sd00001052* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) - - pci:v00008086d00001229sv00008086sd000010F0* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Adapter) - - pci:v00008086d00001229sv00008086sd00001229* -- ID_MODEL_FROM_DATABASE=82557/8/9 [Ethernet Pro 100] -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557/8/9 [Ethernet Pro 100]) - - pci:v00008086d00001229sv00008086sd00002009* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) - - pci:v00008086d00001229sv00008086sd0000200D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Cardbus -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Cardbus) - - pci:v00008086d00001229sv00008086sd0000200E* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 LAN+V90 Cardbus Modem -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 LAN+V90 Cardbus Modem) - - pci:v00008086d00001229sv00008086sd0000200F* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002016* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002017* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Combo Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Combo Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002018* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002019* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Combo Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Combo Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002101* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002102* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002103* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002104* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002105* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002106* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002107* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd00002108* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd00002200* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002201* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002202* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002203* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002204* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002205* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002206* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002207* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002208* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002402* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002407* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002408* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002409* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd0000240F* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002410* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002411* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002412* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002413* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00003000* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN on Motherboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN on Motherboard) - - pci:v00008086d00001229sv00008086sd00003001* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Basic Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Basic Alert on LAN*) - - pci:v00008086d00001229sv00008086sd00003002* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN II* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN II*) - - pci:v00008086d00001229sv00008086sd00003006* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003007* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003008* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd00003010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003011* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd0000301A* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (S845WD1-E mainboard) - - pci:v00008086d00001229sv00008086sd00003411* -- ID_MODEL_FROM_DATABASE=SDS2 Mainboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SDS2 Mainboard) - - pci:v00008086d0000122D* - ID_MODEL_FROM_DATABASE=430FX - 82437FX TSC [Triton I] -@@ -58809,7 +58809,7 @@ pci:v00008086d00001237* - ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] - - pci:v00008086d00001237sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] (Qemu virtual machine) - - pci:v00008086d00001239* - ID_MODEL_FROM_DATABASE=82371FB PIIX IDE Interface -@@ -58857,10 +58857,10 @@ pci:v00008086d00001461* - ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC - - pci:v00008086d00001461sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (P4DP6) - - pci:v00008086d00001461sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9/Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (Cx9/Vx9 mainboard) - - pci:v00008086d00001462* - ID_MODEL_FROM_DATABASE=82870P2 P64H2 Hot Plug Controller -@@ -58872,16 +58872,16 @@ pci:v00008086d00001502* - ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection - - pci:v00008086d00001502sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Precision M4600) - - pci:v00008086d00001502sv00008086sd0000357A* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Server Board S1200BTS) - - pci:v00008086d00001503* - ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection - - pci:v00008086d00001503sv00001043sd0000849C* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection (P8P67 Deluxe Motherboard) - - pci:v00008086d00001507* - ID_MODEL_FROM_DATABASE=Ethernet Express Module X520-P2 -@@ -58911,19 +58911,19 @@ pci:v00008086d0000150D* - ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection - - pci:v00008086d0000150Dsv00008086sd0000A10C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Mezzanine Card -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection (Gigabit ET Quad Port Mezzanine Card) - - pci:v00008086d0000150E* - ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection - - pci:v00008086d0000150Esv0000103Csd00001780* -- ID_MODEL_FROM_DATABASE=NC365T 4-port Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (NC365T 4-port Ethernet Server Adapter) - - pci:v00008086d0000150Esv00008086sd000012A1* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) - - pci:v00008086d0000150Esv00008086sd000012A2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) - - pci:v00008086d0000150F* - ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection -@@ -58947,16 +58947,16 @@ pci:v00008086d00001516* - ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection - - pci:v00008086d00001516sv00008086sd000012B1* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) - - pci:v00008086d00001516sv00008086sd000012B2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) - - pci:v00008086d00001517* - ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection - - pci:v00008086d00001517sv00001137sd0000006A* -- ID_MODEL_FROM_DATABASE=UCS CNA M61KR-I Intel Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection (UCS CNA M61KR-I Intel Converged Network Adapter) - - pci:v00008086d00001518* - ID_MODEL_FROM_DATABASE=82576NS SerDes Gigabit Network Connection -@@ -58965,7 +58965,7 @@ pci:v00008086d0000151C* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection - - pci:v00008086d0000151Csv0000108Esd00007B13* -- ID_MODEL_FROM_DATABASE=Dual 10GBASE-T LP -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection (Dual 10GBASE-T LP) - - pci:v00008086d00001520* - ID_MODEL_FROM_DATABASE=I350 Ethernet Controller Virtual Function -@@ -58974,115 +58974,115 @@ pci:v00008086d00001521* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection - - pci:v00008086d00001521sv00001028sd00000602* -- ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) - - pci:v00008086d00001521sv00001028sd00001F60* -- ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) - - pci:v00008086d00001521sv00001028sd00001F62* -- ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) - - pci:v00008086d00001521sv00001028sd0000FF9A* -- ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) - - pci:v00008086d00001521sv0000103Csd000017D1* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366FLR Adapter) - - pci:v00008086d00001521sv0000103Csd00002003* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 367i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 367i Adapter) - - pci:v00008086d00001521sv0000103Csd00002226* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 1-port 364i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 1-port 364i Adapter) - - pci:v00008086d00001521sv0000103Csd0000337F* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361i Adapter) - - pci:v00008086d00001521sv0000103Csd00003380* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366i Adapter) - - pci:v00008086d00001521sv0000103Csd0000339E* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361T Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361T Adapter) - - pci:v00008086d00001521sv0000108Esd00007B16* -- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, UTP -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, UTP) - - pci:v00008086d00001521sv0000108Esd00007B18* -- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) - - pci:v00008086d00001521sv000010A9sd0000802A* -- ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) - - pci:v00008086d00001521sv000017AAsd00001074* -- ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (ThinkServer I350-T4 AnyFabric) - - pci:v00008086d00001521sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) - - pci:v00008086d00001521sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001521sv00008086sd000000A1* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) - - pci:v00008086d00001521sv00008086sd000000A2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001521sv00008086sd00005001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) - - pci:v00008086d00001521sv00008086sd00005002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001522* - ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection - - pci:v00008086d00001522sv0000108Esd00007B17* -- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, MMF -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, MMF) - - pci:v00008086d00001522sv0000108Esd00007B19* -- ID_MODEL_FROM_DATABASE=Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF) - - pci:v00008086d00001522sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001522sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) - - pci:v00008086d00001522sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) - - pci:v00008086d00001522sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F1 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F1) - - pci:v00008086d00001522sv00008086sd000000A2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001522sv00008086sd000000A3* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) - - pci:v00008086d00001522sv00008086sd000000A4* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) - - pci:v00008086d00001523* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection - - pci:v00008086d00001523sv00001028sd00001F9B* -- ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) - - pci:v00008086d00001523sv0000103Csd00001784* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) - - pci:v00008086d00001523sv0000103Csd000018D1* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) - - pci:v00008086d00001523sv0000103Csd00001989* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 363i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 363i Adapter) - - pci:v00008086d00001523sv0000103Csd0000339F* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366M Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 4-port 366M Adapter) - - pci:v00008086d00001523sv00008086sd00001F52* -- ID_MODEL_FROM_DATABASE=1GbE 4P I350 Mezz -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (1GbE 4P I350 Mezz) - - pci:v00008086d00001524* - ID_MODEL_FROM_DATABASE=I350 Gigabit Connection -@@ -59094,64 +59094,64 @@ pci:v00008086d00001526* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d00001526sv00008086sd0000A05C* -- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) - - pci:v00008086d00001526sv00008086sd0000A06C* -- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) - - pci:v00008086d00001527* - ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection - - pci:v00008086d00001527sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) - - pci:v00008086d00001527sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) - - pci:v00008086d00001528* - ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 - - pci:v00008086d00001528sv00001028sd00001F61* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) - - pci:v00008086d00001528sv0000103Csd0000192D* -- ID_MODEL_FROM_DATABASE=561FLR-T 2-port 10Gb Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (561FLR-T 2-port 10Gb Ethernet Adapter) - - pci:v00008086d00001528sv0000103Csd00002004* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561i Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561i Adapter) - - pci:v00008086d00001528sv0000103Csd0000211A* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561T Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561T Adapter) - - pci:v00008086d00001528sv0000108Esd00007B14* -- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T) - - pci:v00008086d00001528sv0000108Esd00007B15* -- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T) - - pci:v00008086d00001528sv00001137sd000000BF* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) - - pci:v00008086d00001528sv000017AAsd00001073* -- ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (ThinkServer X540-T2 AnyFabric) - - pci:v00008086d00001528sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) - - pci:v00008086d00001528sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) - - pci:v00008086d00001528sv00008086sd0000001A* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) - - pci:v00008086d00001528sv00008086sd000000A2* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) - - pci:v00008086d00001528sv00008086sd00001F61* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) - - pci:v00008086d00001528sv00008086sd00005003* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X540-t Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 2P X540-t Adapter) - - pci:v00008086d00001529* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection with FCoE -@@ -59163,16 +59163,16 @@ pci:v00008086d00001533* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection - - pci:v00008086d00001533sv0000103Csd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - - pci:v00008086d00001533sv000017AAsd00001100* -- ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) - - pci:v00008086d00001533sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - - pci:v00008086d00001533sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - - pci:v00008086d00001534* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -@@ -59193,10 +59193,10 @@ pci:v00008086d0000153A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM - - pci:v00008086d0000153Asv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ZBook 15) - - pci:v00008086d0000153Asv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ThinkPad T440p) - - pci:v00008086d0000153B* - ID_MODEL_FROM_DATABASE=Ethernet Connection I217-V -@@ -59211,13 +59211,13 @@ pci:v00008086d0000154A* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 - - pci:v00008086d0000154Asv00008086sd0000011A* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154Asv00008086sd0000011B* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154Asv00008086sd0000011C* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154C* - ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -@@ -59226,13 +59226,13 @@ pci:v00008086d0000154D* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter - - pci:v00008086d0000154Dsv00008086sd00007B11* -- ID_MODEL_FROM_DATABASE=10GbE 2P X520 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter (10GbE 2P X520 Adapter) - - pci:v00008086d00001557* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection - - pci:v00008086d00001557sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-1 -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection (Ethernet OCP Server Adapter X520-1) - - pci:v00008086d00001558* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-Q1 -@@ -59250,22 +59250,22 @@ pci:v00008086d0000155A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM - - pci:v00008086d0000155Asv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM (ThinkPad X240) - - pci:v00008086d0000155C* - ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter - - pci:v00008086d0000155Csv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X540-T2) - - pci:v00008086d0000155D* - ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter - - pci:v00008086d0000155Dsv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-SR2 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-SR2) - - pci:v00008086d0000155Dsv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-LR2 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-LR2) - - pci:v00008086d00001560* - ID_MODEL_FROM_DATABASE=Ethernet Controller X540 -@@ -59277,28 +59277,28 @@ pci:v00008086d00001572* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter - - pci:v00008086d00001572sv00001028sd00001F99* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) - - pci:v00008086d00001572sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000007* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d00001572sv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d0000157B* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -@@ -59313,31 +59313,31 @@ pci:v00008086d00001581* - ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane - - pci:v00008086d00001581sv00001028sd00001F98* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) - - pci:v00008086d00001583* - ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ - - pci:v00008086d00001583sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) - - pci:v00008086d00001584* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - - pci:v00008086d00001584sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) - - pci:v00008086d00001584sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) - - pci:v00008086d00001584sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q1) - - pci:v00008086d00001585* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ -@@ -59469,82 +59469,82 @@ pci:v00008086d00001960* - ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor - - pci:v00008086d00001960sv0000101Esd00000431* -- ID_MODEL_FROM_DATABASE=MegaRAID 431 RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 431 RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000438* -- ID_MODEL_FROM_DATABASE=MegaRAID 438 Ultra2 LVD RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438 Ultra2 LVD RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000466* -- ID_MODEL_FROM_DATABASE=MegaRAID 466 Express Plus RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466 Express Plus RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000467* -- ID_MODEL_FROM_DATABASE=MegaRAID 467 Enterprise 1500 RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 467 Enterprise 1500 RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000490* -- ID_MODEL_FROM_DATABASE=MegaRAID 490 Express 300 RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 490 Express 300 RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000762* -- ID_MODEL_FROM_DATABASE=MegaRAID 762 Express RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 762 Express RAID Controller) - - pci:v00008086d00001960sv0000101Esd000009A0* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv00001028sd00000467* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/DC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/DC) - - pci:v00008086d00001960sv00001028sd00001111* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv0000103Csd000003A2* -- ID_MODEL_FROM_DATABASE=MegaRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) - - pci:v00008086d00001960sv0000103Csd000010C6* -- ID_MODEL_FROM_DATABASE=MegaRAID 438, NetRAID-3Si -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438, NetRAID-3Si) - - pci:v00008086d00001960sv0000103Csd000010C7* -- ID_MODEL_FROM_DATABASE=MegaRAID T5, Integrated NetRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID T5, Integrated NetRAID) - - pci:v00008086d00001960sv0000103Csd000010CC* -- ID_MODEL_FROM_DATABASE=MegaRAID, Integrated NetRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID, Integrated NetRAID) - - pci:v00008086d00001960sv0000103Csd000010CD* -- ID_MODEL_FROM_DATABASE=NetRAID-1Si -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (NetRAID-1Si) - - pci:v00008086d00001960sv0000105Asd00000000* -- ID_MODEL_FROM_DATABASE=SuperTrak -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak) - - pci:v00008086d00001960sv0000105Asd00002168* -- ID_MODEL_FROM_DATABASE=SuperTrak Pro -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak Pro) - - pci:v00008086d00001960sv0000105Asd00005168* -- ID_MODEL_FROM_DATABASE=SuperTrak66/100 -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak66/100) - - pci:v00008086d00001960sv00001111sd00001111* -- ID_MODEL_FROM_DATABASE=MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv00001111sd00001112* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv0000113Csd000003A2* -- ID_MODEL_FROM_DATABASE=MegaRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) - - pci:v00008086d00001960sv0000E4BFsd00001010* -- ID_MODEL_FROM_DATABASE=CG1-RADIO -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CG1-RADIO) - - pci:v00008086d00001960sv0000E4BFsd00001020* -- ID_MODEL_FROM_DATABASE=CU2-QUARTET -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU2-QUARTET) - - pci:v00008086d00001960sv0000E4BFsd00001040* -- ID_MODEL_FROM_DATABASE=CU1-CHORUS -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU1-CHORUS) - - pci:v00008086d00001960sv0000E4BFsd00003100* -- ID_MODEL_FROM_DATABASE=CX1-BAND -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CX1-BAND) - - pci:v00008086d00001962* - ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor - - pci:v00008086d00001962sv0000105Asd00000000* -- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 I2O CPU -+ ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor (SuperTrak SX6000 I2O CPU) - - pci:v00008086d00001A21* - ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset Host Bridge (Hub A) -@@ -59559,10 +59559,10 @@ pci:v00008086d00001A30* - ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge - - pci:v00008086d00001A30sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Optiplex GX240) - - pci:v00008086d00001A30sv000015D9sd00003280* -- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard -+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Supermicro P4SBE Mainboard) - - pci:v00008086d00001A31* - ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset AGP Bridge -@@ -59571,28 +59571,28 @@ pci:v00008086d00001A38* - ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine - - pci:v00008086d00001A38sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (X7DVL-E-O motherboard) - - pci:v00008086d00001A38sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (Intel S5000PSLSATA Server Board) - - pci:v00008086d00001A48* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d00001A48sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) - - pci:v00008086d00001A48sv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) - - pci:v00008086d00001B48* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d00001B48sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001B48sv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001C00* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller -@@ -59604,28 +59604,28 @@ pci:v00008086d00001C02* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller - - pci:v00008086d00001C02sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (XPS 8300) - - pci:v00008086d00001C02sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (P8 series motherboard) - - pci:v00008086d00001C02sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (Server Board S1200BTS) - - pci:v00008086d00001C03* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller - - pci:v00008086d00001C03sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Precision M4600) - - pci:v00008086d00001C03sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3350) - - pci:v00008086d00001C03sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3750) - - pci:v00008086d00001C03sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C04* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller -@@ -59643,58 +59643,58 @@ pci:v00008086d00001C10* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 - - pci:v00008086d00001C10sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (XPS 8300) - - pci:v00008086d00001C10sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Vostro 3750) - - pci:v00008086d00001C10sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (P8 series motherboard) - - pci:v00008086d00001C10sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C12* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 - - pci:v00008086d00001C12sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (XPS 8300) - - pci:v00008086d00001C12sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C14* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 - - pci:v00008086d00001C14sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Vostro 3750) - - pci:v00008086d00001C14sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C16* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 - - pci:v00008086d00001C16sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 (XPS 8300) - - pci:v00008086d00001C18* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 - - pci:v00008086d00001C18sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Vostro 3750) - - pci:v00008086d00001C18sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Server Board S1200BTS) - - pci:v00008086d00001C1A* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 - - pci:v00008086d00001C1Asv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (Vostro 3750) - - pci:v00008086d00001C1Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (P8 series motherboard) - - pci:v00008086d00001C1C* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 -@@ -59703,58 +59703,58 @@ pci:v00008086d00001C1E* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 - - pci:v00008086d00001C1Esv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 (P8 series motherboard) - - pci:v00008086d00001C20* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller - - pci:v00008086d00001C20sv00001028sd00000490* -- ID_MODEL_FROM_DATABASE=Alienware M17x R3 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Alienware M17x R3) - - pci:v00008086d00001C20sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Precision M4600) - - pci:v00008086d00001C20sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (XPS 8300) - - pci:v00008086d00001C20sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3350) - - pci:v00008086d00001C20sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3750) - - pci:v00008086d00001C20sv00001043sd00008418* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8P67 Deluxe Motherboard) - - pci:v00008086d00001C20sv00001043sd0000841B* -- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8H67 Series Motherboard) - - pci:v00008086d00001C20sv00008086sd00002008* -- ID_MODEL_FROM_DATABASE=DQ67SW board -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (DQ67SW board) - - pci:v00008086d00001C20sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C22* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller - - pci:v00008086d00001C22sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Precision M4600) - - pci:v00008086d00001C22sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (XPS 8300) - - pci:v00008086d00001C22sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3350) - - pci:v00008086d00001C22sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3750) - - pci:v00008086d00001C22sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (P8 series motherboard) - - pci:v00008086d00001C22sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C24* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller -@@ -59766,55 +59766,55 @@ pci:v00008086d00001C26* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 - - pci:v00008086d00001C26sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Precision M4600) - - pci:v00008086d00001C26sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (XPS 8300) - - pci:v00008086d00001C26sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3350) - - pci:v00008086d00001C26sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3750) - - pci:v00008086d00001C26sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) - - pci:v00008086d00001C26sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C27* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 - - pci:v00008086d00001C27sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C2C* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 - - pci:v00008086d00001C2Csv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C2D* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 - - pci:v00008086d00001C2Dsv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Precision M4600) - - pci:v00008086d00001C2Dsv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (XPS 8300) - - pci:v00008086d00001C2Dsv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3350) - - pci:v00008086d00001C2Dsv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3750) - - pci:v00008086d00001C2Dsv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) - - pci:v00008086d00001C2Dsv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C33* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller -@@ -59826,22 +59826,22 @@ pci:v00008086d00001C3A* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 - - pci:v00008086d00001C3Asv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Precision M4600) - - pci:v00008086d00001C3Asv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (XPS 8300) - - pci:v00008086d00001C3Asv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3350) - - pci:v00008086d00001C3Asv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3750) - - pci:v00008086d00001C3Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (P8 series motherboard) - - pci:v00008086d00001C3Asv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C3B* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #2 -@@ -59874,7 +59874,7 @@ pci:v00008086d00001C46* - ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller - - pci:v00008086d00001C46sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller (P8P67 Deluxe Motherboard) - - pci:v00008086d00001C47* - ID_MODEL_FROM_DATABASE=UM67 Express Chipset Family LPC Controller -@@ -59886,25 +59886,25 @@ pci:v00008086d00001C49* - ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller - - pci:v00008086d00001C49sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C4A* - ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller - - pci:v00008086d00001C4Asv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (XPS 8300) - - pci:v00008086d00001C4Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (P8H67 Series Motherboard) - - pci:v00008086d00001C4B* - ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller - - pci:v00008086d00001C4Bsv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3350) - - pci:v00008086d00001C4Bsv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3750) - - pci:v00008086d00001C4C* - ID_MODEL_FROM_DATABASE=Q65 Express Chipset Family LPC Controller -@@ -59919,7 +59919,7 @@ pci:v00008086d00001C4F* - ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller - - pci:v00008086d00001C4Fsv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller (Precision M4600) - - pci:v00008086d00001C50* - ID_MODEL_FROM_DATABASE=B65 Express Chipset Family LPC Controller -@@ -59931,7 +59931,7 @@ pci:v00008086d00001C52* - ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller - - pci:v00008086d00001C52sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller (Server Board S1200BTS) - - pci:v00008086d00001C53* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller -@@ -59946,7 +59946,7 @@ pci:v00008086d00001C56* - ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller - - pci:v00008086d00001C56sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller (P8B WS Motherboard) - - pci:v00008086d00001C57* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller -@@ -60177,19 +60177,19 @@ pci:v00008086d00001E02* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] - - pci:v00008086d00001E02sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) - - pci:v00008086d00001E02sv00001849sd00001E02* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) - - pci:v00008086d00001E03* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] - - pci:v00008086d00001E03sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (N56VZ) - - pci:v00008086d00001E03sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (Zenbook Prime UX31A) - - pci:v00008086d00001E04* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode] -@@ -60216,25 +60216,25 @@ pci:v00008086d00001E10* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 - - pci:v00008086d00001E10sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (N56VZ) - - pci:v00008086d00001E10sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Zenbook Prime UX31A) - - pci:v00008086d00001E10sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (P8H77-I Motherboard) - - pci:v00008086d00001E10sv00001849sd00001E10* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Motherboard) - - pci:v00008086d00001E12* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 - - pci:v00008086d00001E12sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (N56VZ) - - pci:v00008086d00001E12sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (Zenbook Prime UX31A) - - pci:v00008086d00001E14* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 3 -@@ -60243,25 +60243,25 @@ pci:v00008086d00001E16* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 - - pci:v00008086d00001E16sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (N56VZ) - - pci:v00008086d00001E16sv00001849sd00001618* -- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (Z77 Extreme4 motherboard) - - pci:v00008086d00001E18* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 - - pci:v00008086d00001E18sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (P8H77-I Motherboard) - - pci:v00008086d00001E18sv00001849sd00001E18* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (Motherboard) - - pci:v00008086d00001E1A* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 - - pci:v00008086d00001E1Asv00001849sd00001E1A* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 (Motherboard) - - pci:v00008086d00001E1C* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 7 -@@ -60270,43 +60270,43 @@ pci:v00008086d00001E1E* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 - - pci:v00008086d00001E1Esv00001849sd00001E1E* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 (Motherboard) - - pci:v00008086d00001E20* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller - - pci:v00008086d00001E20sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (N56VZ) - - pci:v00008086d00001E20sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E20sv00001043sd00008415* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) - - pci:v00008086d00001E20sv00001849sd00001898* -- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) - - pci:v00008086d00001E22* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller - - pci:v00008086d00001E22sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (N56VZ) - - pci:v00008086d00001E22sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E22sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) - - pci:v00008086d00001E22sv00001849sd00001E22* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) - - pci:v00008086d00001E24* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller - - pci:v00008086d00001E24sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E25* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family DMI to PCI Bridge -@@ -60315,49 +60315,49 @@ pci:v00008086d00001E26* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 - - pci:v00008086d00001E26sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (N56VZ) - - pci:v00008086d00001E26sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E26sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) - - pci:v00008086d00001E26sv00001849sd00001E26* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) - - pci:v00008086d00001E2D* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 - - pci:v00008086d00001E2Dsv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (N56VZ) - - pci:v00008086d00001E2Dsv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) - - pci:v00008086d00001E2Dsv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) - - pci:v00008086d00001E2Dsv00001849sd00001E2D* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) - - pci:v00008086d00001E31* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller - - pci:v00008086d00001E31sv0000103Csd000017AB* -- ID_MODEL_FROM_DATABASE=ProBook 6570b -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (ProBook 6570b) - - pci:v00008086d00001E31sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (N56VZ) - - pci:v00008086d00001E31sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E31sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) - - pci:v00008086d00001E31sv00001849sd00001E31* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) - - pci:v00008086d00001E33* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family LAN Controller -@@ -60366,16 +60366,16 @@ pci:v00008086d00001E3A* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 - - pci:v00008086d00001E3Asv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (N56VZ) - - pci:v00008086d00001E3Asv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E3Asv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) - - pci:v00008086d00001E3Asv00001849sd00001E3A* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) - - pci:v00008086d00001E3B* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #2 -@@ -60399,7 +60399,7 @@ pci:v00008086d00001E44* - ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller - - pci:v00008086d00001E44sv00001849sd00001E44* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) - - pci:v00008086d00001E45* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller -@@ -60420,7 +60420,7 @@ pci:v00008086d00001E4A* - ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller - - pci:v00008086d00001E4Asv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller (P8H77-I Motherboard) - - pci:v00008086d00001E4B* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller -@@ -60468,10 +60468,10 @@ pci:v00008086d00001E59* - ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller - - pci:v00008086d00001E59sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (N56VZ) - - pci:v00008086d00001E59sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E5A* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller -@@ -60804,28 +60804,28 @@ pci:v00008086d00002415* - ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller - - pci:v00008086d00002415sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Precision Workstation 220 Integrated Digital Audio) - - pci:v00008086d00002415sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (OptiPlex GX110) - - pci:v00008086d00002415sv0000110Asd00000051* -- ID_MODEL_FROM_DATABASE=Activy 2xx -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 2xx) - - pci:v00008086d00002415sv000011D4sd00000040* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002415sv000011D4sd00000048* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002415sv000011D4sd00005340* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002415sv00001734sd00001025* -- ID_MODEL_FROM_DATABASE=Activy 3xx -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 3xx) - - pci:v00008086d00002415sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (QEMU Virtual Machine) - - pci:v00008086d00002416* - ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller -@@ -60849,10 +60849,10 @@ pci:v00008086d00002425* - ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller - - pci:v00008086d00002425sv000011D4sd00000040* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002425sv000011D4sd00000048* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002426* - ID_MODEL_FROM_DATABASE=82801AB AC'97 Modem Controller -@@ -60864,352 +60864,352 @@ pci:v00008086d00002440* - ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) - - pci:v00008086d00002440sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E -+ ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) (S845WD1-E) - - pci:v00008086d00002442* - ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 - - pci:v00008086d00002442sv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Netvista A40/A40p) - - pci:v00008086d00002442sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) - - pci:v00008086d00002442sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) - - pci:v00008086d00002442sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) - - pci:v00008086d00002442sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) - - pci:v00008086d00002442sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) - - pci:v00008086d00002442sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) - - pci:v00008086d00002442sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) - - pci:v00008086d00002442sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) - - pci:v00008086d00002442sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) - - pci:v00008086d00002442sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EGEW Mainboard) - - pci:v00008086d00002442sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) - - pci:v00008086d00002443* - ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller - - pci:v00008086d00002443sv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Netvista A40/A40p) - - pci:v00008086d00002443sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Travelmate 612 TX) - - pci:v00008086d00002443sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Dimension 8100) - - pci:v00008086d00002443sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Precision 530) - - pci:v00008086d00002443sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Optiplex GX240) - - pci:v00008086d00002443sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (e-pc 40) - - pci:v00008086d00002443sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TUSL2-C Mainboard) - - pci:v00008086d00002443sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Vaio PCG-FX403) - - pci:v00008086d00002443sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TH7II-RAID) - - pci:v00008086d00002443sv000015D9sd00003280* -- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Supermicro P4SBE Mainboard) - - pci:v00008086d00002443sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EEA2 mainboard) - - pci:v00008086d00002443sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EGEW Mainboard) - - pci:v00008086d00002443sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (S845WD1-E mainboard) - - pci:v00008086d00002444* - ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 - - pci:v00008086d00002444sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) - - pci:v00008086d00002444sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) - - pci:v00008086d00002444sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) - - pci:v00008086d00002444sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) - - pci:v00008086d00002444sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) - - pci:v00008086d00002444sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) - - pci:v00008086d00002444sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) - - pci:v00008086d00002444sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) - - pci:v00008086d00002444sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) - - pci:v00008086d00002444sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) - - pci:v00008086d00002445* - ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller - - pci:v00008086d00002445sv00000E11sd0000000B* -- ID_MODEL_FROM_DATABASE=Compaq Deskpro EN Audio -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Compaq Deskpro EN Audio) - - pci:v00008086d00002445sv00000E11sd00000088* -- ID_MODEL_FROM_DATABASE=Evo D500 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Evo D500) - - pci:v00008086d00002445sv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Netvista A40/A40p) - - pci:v00008086d00002445sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Travelmate 612 TX) - - pci:v00008086d00002445sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Precision 530) - - pci:v00008086d00002445sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (e-pc 40) - - pci:v00008086d00002445sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Vaio PCG-FX403) - - pci:v00008086d00002445sv00001462sd00003370* -- ID_MODEL_FROM_DATABASE=STAC9721 AC -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (STAC9721 AC) - - pci:v00008086d00002445sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (TH7II-RAID) - - pci:v00008086d00002445sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (D815EGEW Mainboard) - - pci:v00008086d00002446* - ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller - - pci:v00008086d00002446sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Travelmate 612 TX) - - pci:v00008086d00002446sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Vaio PCG-FX403) - - pci:v00008086d00002448* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge - - pci:v00008086d00002448sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Latitude E6510) - - pci:v00008086d00002448sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002448sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (NX6110/NC6120) - - pci:v00008086d00002448sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nx9420 Notebook) - - pci:v00008086d00002448sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nw8440) - - pci:v00008086d00002448sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq 6910p) - - pci:v00008086d00002448sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (VAIO VGN-NR120E) - - pci:v00008086d00002448sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) - - pci:v00008086d00002448sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) - - pci:v00008086d00002448sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) - - pci:v00008086d00002448sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (GA-D525TUD) - - pci:v00008086d00002448sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Amilo M1420) - - pci:v00008086d00002448sv000017AAsd000020AE* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) - - pci:v00008086d00002448sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) - - pci:v00008086d00002448sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (CCG-RUMBA) - - pci:v00008086d00002449* - ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller - - pci:v00008086d00002449sv00000E11sd00000012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) - - pci:v00008086d00002449sv00000E11sd00000091* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001CE* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001DC* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001EB* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001EC* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000202* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000205* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000217* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000234* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd0000023D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000244* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000245* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000265* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) - - pci:v00008086d00002449sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) - - pci:v00008086d00002449sv00001014sd0000026A* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) - - pci:v00008086d00002449sv0000109Fsd0000315D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv0000109Fsd00003181* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001179sd0000FF01* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Network Connection) - - pci:v00008086d00002449sv00001186sd00007801* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv0000144Dsd00002602* -- ID_MODEL_FROM_DATABASE=HomePNA 1M CNR -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (HomePNA 1M CNR) - - pci:v00008086d00002449sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (QEMU Virtual Machine) - - pci:v00008086d00002449sv00008086sd00003010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00008086sd00003011* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) - - pci:v00008086d00002449sv00008086sd00003012* -- ID_MODEL_FROM_DATABASE=82562EH based Phoneline -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) - - pci:v00008086d00002449sv00008086sd00003013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00008086sd00003014* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) - - pci:v00008086d00002449sv00008086sd00003015* -- ID_MODEL_FROM_DATABASE=82562EH based Phoneline -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) - - pci:v00008086d00002449sv00008086sd00003016* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile Combo) - - pci:v00008086d00002449sv00008086sd00003017* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile) - - pci:v00008086d00002449sv00008086sd00003018* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100) - - pci:v00008086d0000244A* - ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller - - pci:v00008086d0000244Asv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612TX -+ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Travelmate 612TX) - - pci:v00008086d0000244Asv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Vaio PCG-FX403) - - pci:v00008086d0000244B* - ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller - - pci:v00008086d0000244Bsv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Netvista A40/A40p) - - pci:v00008086d0000244Bsv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Dimension 8100) - - pci:v00008086d0000244Bsv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Precision 530) - - pci:v00008086d0000244Bsv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Optiplex GX240) - - pci:v00008086d0000244Bsv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (e-pc 40) - - pci:v00008086d0000244Bsv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TUSL2-C Mainboard) - - pci:v00008086d0000244Bsv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TH7II-RAID) - - pci:v00008086d0000244Bsv000015D9sd00003280* -- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Supermicro P4SBE Mainboard) - - pci:v00008086d0000244Bsv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EEA2 mainboard) - - pci:v00008086d0000244Bsv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EGEW Mainboard) - - pci:v00008086d0000244Bsv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (S845WD1-E mainboard) - - pci:v00008086d0000244C* - ID_MODEL_FROM_DATABASE=82801BAM ISA Bridge (LPC) -@@ -61218,52 +61218,52 @@ pci:v00008086d0000244E* - ID_MODEL_FROM_DATABASE=82801 PCI Bridge - - pci:v00008086d0000244Esv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (NetVista A30p) - - pci:v00008086d0000244Esv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Inspiron 530) - - pci:v00008086d0000244Esv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Optiplex 755) - - pci:v00008086d0000244Esv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (OptiPlex 980) - - pci:v00008086d0000244Esv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Pavilion A1512X) - - pci:v00008086d0000244Esv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000244Esv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant DL140 G3) - - pci:v00008086d0000244Esv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant ML150 G6 Server) - - pci:v00008086d0000244Esv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P5K PRO Motherboard) - - pci:v00008086d0000244Esv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P8 series motherboard) - - pci:v00008086d0000244Esv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Motherboard) - - pci:v00008086d0000244Esv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Wind PC MS-7418) - - pci:v00008086d0000244Esv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (C7SIM-Q Motherboard) - - pci:v00008086d0000244Esv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (X7DBN Motherboard) - - pci:v00008086d0000244Esv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (CC11/CL11) - - pci:v00008086d0000244Esv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Server Board S1200BTS) - - pci:v00008086d00002450* - ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) -@@ -61293,160 +61293,160 @@ pci:v00008086d00002482* - ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 - - pci:v00008086d00002482sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Evo N600c) - - pci:v00008086d00002482sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (ThinkPad A/T/X Series) - - pci:v00008086d00002482sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002482sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (P4DP6) - - pci:v00008086d00002482sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (vpr Matrix 170B4) - - pci:v00008086d00002482sv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (SE7501HG2 Mainboard) - - pci:v00008086d00002482sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Latitude C640) - - pci:v00008086d00002483* - ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller - - pci:v00008086d00002483sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002483sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002483sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (P4DP6) - - pci:v00008086d00002483sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (vpr Matrix 170B4) - - pci:v00008086d00002484* - ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 - - pci:v00008086d00002484sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (Evo N600c) - - pci:v00008086d00002484sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (ThinkPad A/T/X Series) - - pci:v00008086d00002484sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002484sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (P4DP6) - - pci:v00008086d00002484sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (vpr Matrix 170B4) - - pci:v00008086d00002485* - ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller - - pci:v00008086d00002485sv00001013sd00005959* -- ID_MODEL_FROM_DATABASE=Crystal WMD Audio Codec -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (Crystal WMD Audio Codec) - - pci:v00008086d00002485sv00001014sd00000222* -- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p/T23 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A30/A30p/T23) - - pci:v00008086d00002485sv00001014sd00000508* -- ID_MODEL_FROM_DATABASE=ThinkPad T30 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad T30) - - pci:v00008086d00002485sv00001014sd0000051C* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002485sv00001043sd00001583* -- ID_MODEL_FROM_DATABASE=L3C (SPDIF) -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3C (SPDIF)) - - pci:v00008086d00002485sv00001043sd00001623* -- ID_MODEL_FROM_DATABASE=L2B (no SPDIF) -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L2B (no SPDIF)) - - pci:v00008086d00002485sv00001043sd00001643* -- ID_MODEL_FROM_DATABASE=L3F -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3F) - - pci:v00008086d00002485sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002485sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (vpr Matrix 170B4) - - pci:v00008086d00002486* - ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller - - pci:v00008086d00002486sv00001014sd00000223* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002486sv00001014sd00000503* -- ID_MODEL_FROM_DATABASE=ThinkPad R31 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad R31) - - pci:v00008086d00002486sv00001014sd0000051A* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002486sv0000101Fsd00001025* -- ID_MODEL_FROM_DATABASE=620 Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (620 Series) - - pci:v00008086d00002486sv00001043sd00001496* -- ID_MODEL_FROM_DATABASE=PCtel HSP56 MR -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (PCtel HSP56 MR) - - pci:v00008086d00002486sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002486sv0000134Dsd00004C21* -- ID_MODEL_FROM_DATABASE=Dell Inspiron 2100 internal modem -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (Dell Inspiron 2100 internal modem) - - pci:v00008086d00002486sv0000144Dsd00002115* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 internal modem -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (vpr Matrix 170B4 internal modem) - - pci:v00008086d00002486sv000014F1sd00005421* -- ID_MODEL_FROM_DATABASE=MD56ORD V.92 MDC Modem -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (MD56ORD V.92 MDC Modem) - - pci:v00008086d00002487* - ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 - - pci:v00008086d00002487sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (Evo N600c) - - pci:v00008086d00002487sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (ThinkPad A/T/X Series) - - pci:v00008086d00002487sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002487sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (P4DP6) - - pci:v00008086d00002487sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (vpr Matrix 170B4) - - pci:v00008086d0000248A* - ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller - - pci:v00008086d0000248Asv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Evo N600c) - - pci:v00008086d0000248Asv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (ThinkPad A/T/X Series) - - pci:v00008086d0000248Asv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d0000248Asv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (vpr Matrix 170B4) - - pci:v00008086d0000248Asv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Latitude C640) - - pci:v00008086d0000248B* - ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller - - pci:v00008086d0000248Bsv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller (P4DP6) - - pci:v00008086d0000248C* - ID_MODEL_FROM_DATABASE=82801CAM ISA Bridge (LPC) -@@ -61455,10 +61455,10 @@ pci:v00008086d000024C0* - ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge - - pci:v00008086d000024C0sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (NetVista A30p) - - pci:v00008086d000024C0sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (845PE Max (MS-6580)) - - pci:v00008086d000024C1* - ID_MODEL_FROM_DATABASE=82801DBL (ICH4-L) IDE Controller -@@ -61467,574 +61467,574 @@ pci:v00008086d000024C2* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 - - pci:v00008086d000024C2sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NetVista A30p) - - pci:v00008086d000024C2sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (ThinkPad) - - pci:v00008086d000024C2sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (TravelMate 290) - - pci:v00008086d000024C2sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Optiplex GX260) - - pci:v00008086d000024C2sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D505) - - pci:v00008086d000024C2sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 700m/710m) - - pci:v00008086d000024C2sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 5160) - - pci:v00008086d000024C2sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC8000 laptop) - - pci:v00008086d000024C2sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC6000 laptop) - - pci:v00008086d000024C2sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (tc1100 tablet) - - pci:v00008086d000024C2sv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P4B533) - - pci:v00008086d000024C2sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (MIM2000) - - pci:v00008086d000024C2sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard USB 1.x -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (PC8 onboard USB 1.x) - - pci:v00008086d000024C2sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (X10 Laptop) - - pci:v00008086d000024C2sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P30/P35 notebook) - - pci:v00008086d000024C2sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (845PE Max (MS-6580)) - - pci:v00008086d000024C2sv00001509sd00002990* -- ID_MODEL_FROM_DATABASE=Averatec 5110H laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Averatec 5110H laptop) - - pci:v00008086d000024C2sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C2sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Amilo M1420) - - pci:v00008086d000024C2sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C2sv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude X300) - - pci:v00008086d000024C2sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D400/D500) - - pci:v00008086d000024C2sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CC9-SAMBA) - - pci:v00008086d000024C2sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CD2-BEBOP) - - pci:v00008086d000024C3* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller - - pci:v00008086d000024C3sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NetVista A30p) - - pci:v00008086d000024C3sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (ThinkPad) - - pci:v00008086d000024C3sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (TravelMate 290) - - pci:v00008086d000024C3sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Optiplex GX260) - - pci:v00008086d000024C3sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Latitude X300) - - pci:v00008086d000024C3sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Inspiron 700m/710m) - - pci:v00008086d000024C3sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC8000 laptop) - - pci:v00008086d000024C3sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC6000 laptop) - - pci:v00008086d000024C3sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (tc1100 tablet) - - pci:v00008086d000024C3sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (MIM2000) - - pci:v00008086d000024C3sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard SMbus -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (PC8 onboard SMbus) - - pci:v00008086d000024C3sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (X10 Laptop) - - pci:v00008086d000024C3sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (P30/P35 notebook) - - pci:v00008086d000024C3sv00001458sd000024C2* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (GA-8PE667 Ultra) - - pci:v00008086d000024C3sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (845PE Max (MS-6580)) - - pci:v00008086d000024C3sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C3sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Amilo M1420) - - pci:v00008086d000024C3sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C3sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CC9-SAMBA) - - pci:v00008086d000024C3sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CD2-BEBOP) - - pci:v00008086d000024C4* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 - - pci:v00008086d000024C4sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NetVista A30p) - - pci:v00008086d000024C4sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (ThinkPad) - - pci:v00008086d000024C4sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (TravelMate 290) - - pci:v00008086d000024C4sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Optiplex GX260) - - pci:v00008086d000024C4sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D505) - - pci:v00008086d000024C4sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 700m/710m) - - pci:v00008086d000024C4sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 5160) - - pci:v00008086d000024C4sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC8000 laptop) - - pci:v00008086d000024C4sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC6000 laptop) - - pci:v00008086d000024C4sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (tc1100 tablet) - - pci:v00008086d000024C4sv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P4B533) - - pci:v00008086d000024C4sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (MIM2000) - - pci:v00008086d000024C4sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P30/P35 notebook) - - pci:v00008086d000024C4sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (845PE Max (MS-6580)) - - pci:v00008086d000024C4sv00001509sd00002990* -- ID_MODEL_FROM_DATABASE=Averatec 5110H -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Averatec 5110H) - - pci:v00008086d000024C4sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C4sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C4sv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude X300) - - pci:v00008086d000024C4sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D400/D500) - - pci:v00008086d000024C4sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CC9-SAMBA) - - pci:v00008086d000024C4sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CD2-BEBOP) - - pci:v00008086d000024C5* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller - - pci:v00008086d000024C5sv00000E11sd000000B8* -- ID_MODEL_FROM_DATABASE=Analog Devices Inc. codec [SoundMAX] -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Analog Devices Inc. codec [SoundMAX]) - - pci:v00008086d000024C5sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) - - pci:v00008086d000024C5sv00001014sd00000537* -- ID_MODEL_FROM_DATABASE=ThinkPad T41 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) - - pci:v00008086d000024C5sv00001014sd0000055F* -- ID_MODEL_FROM_DATABASE=Thinkpad R50e model 1634 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) - - pci:v00008086d000024C5sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (TravelMate 290) - - pci:v00008086d000024C5sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D400) - - pci:v00008086d000024C5sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude X300) - - pci:v00008086d000024C5sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D500) - - pci:v00008086d000024C5sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D505) - - pci:v00008086d000024C5sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m [SigmaTel STAC9750,51] -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 700m/710m [SigmaTel STAC9750,51]) - - pci:v00008086d000024C5sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 5160) - - pci:v00008086d000024C5sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC8000 laptop) - - pci:v00008086d000024C5sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC6000 laptop) - - pci:v00008086d000024C5sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (tc1100 tablet) - - pci:v00008086d000024C5sv00001043sd00001713* -- ID_MODEL_FROM_DATABASE=M2400N/M6800N laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (M2400N/M6800N laptop) - - pci:v00008086d000024C5sv00001043sd000080B0* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P4B533) - - pci:v00008086d000024C5sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (MIM2000) - - pci:v00008086d000024C5sv00001179sd00000201* -- ID_MODEL_FROM_DATABASE=Toshiba Tecra M1 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Toshiba Tecra M1) - - pci:v00008086d000024C5sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (X10 Laptop) - - pci:v00008086d000024C5sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P30/P35 notebook) - - pci:v00008086d000024C5sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (GA-8PE667 Ultra) - - pci:v00008086d000024C5sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (845PE Max (MS-6580)) - - pci:v00008086d000024C5sv00001734sd00001005* -- ID_MODEL_FROM_DATABASE=D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T) - - pci:v00008086d000024C5sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Amilo M1420) - - pci:v00008086d000024C5sv00008086sd000024C5* -- ID_MODEL_FROM_DATABASE=Dell Dimension 2400 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Dell Dimension 2400) - - pci:v00008086d000024C6* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller - - pci:v00008086d000024C6sv00001014sd00000524* -- ID_MODEL_FROM_DATABASE=ThinkPad T41 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) - - pci:v00008086d000024C6sv00001014sd00000525* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) - - pci:v00008086d000024C6sv00001014sd00000559* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad R50e) - - pci:v00008086d000024C6sv00001025sd0000003C* -- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compal CL50 motherboard) implementation -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Aspire 2001WLCi (Compal CL50 motherboard) implementation) - - pci:v00008086d000024C6sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (TravelMate 290) - - pci:v00008086d000024C6sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Inspiron 5160) - - pci:v00008086d000024C6sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC8000 laptop) - - pci:v00008086d000024C6sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC6000 laptop) - - pci:v00008086d000024C6sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (tc1100 tablet) - - pci:v00008086d000024C6sv00001043sd00001716* -- ID_MODEL_FROM_DATABASE=M2400N laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M2400N laptop) - - pci:v00008086d000024C6sv00001043sd00001826* -- ID_MODEL_FROM_DATABASE=M6800N -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M6800N) - - pci:v00008086d000024C6sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (MIM2000) - - pci:v00008086d000024C6sv0000134Dsd00004C21* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Latitude D500) - - pci:v00008086d000024C6sv0000144Dsd00002115* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (X10 Laptop) - - pci:v00008086d000024C6sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (P30/P35 notebook) - - pci:v00008086d000024C6sv000014F1sd00005422* -- ID_MODEL_FROM_DATABASE=D480 MDC V.9x Modem -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (D480 MDC V.9x Modem) - - pci:v00008086d000024C7* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 - - pci:v00008086d000024C7sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NetVista A30p) - - pci:v00008086d000024C7sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (ThinkPad) - - pci:v00008086d000024C7sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (TravelMate 290) - - pci:v00008086d000024C7sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Optiplex GX260) - - pci:v00008086d000024C7sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D505) - - pci:v00008086d000024C7sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 700m/710m) - - pci:v00008086d000024C7sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 5160) - - pci:v00008086d000024C7sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC8000 laptop) - - pci:v00008086d000024C7sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC6000 laptop) - - pci:v00008086d000024C7sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (tc1100 tablet) - - pci:v00008086d000024C7sv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P4B533) - - pci:v00008086d000024C7sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (MIM2000) - - pci:v00008086d000024C7sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P30/P35 notebook) - - pci:v00008086d000024C7sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (845PE Max (MS-6580)) - - pci:v00008086d000024C7sv00001509sd00002990* -- ID_MODEL_FROM_DATABASE=Averatec 5110H -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Averatec 5110H) - - pci:v00008086d000024C7sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C7sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C7sv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude X300) - - pci:v00008086d000024C7sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D400/D500) - - pci:v00008086d000024C7sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CC9-SAMBA) - - pci:v00008086d000024C7sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CD2-BEBOP) - - pci:v00008086d000024CA* - ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller - - pci:v00008086d000024CAsv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (ThinkPad) - - pci:v00008086d000024CAsv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (TravelMate 290) - - pci:v00008086d000024CAsv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude X300) - - pci:v00008086d000024CAsv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D505) - - pci:v00008086d000024CAsv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 700m/710m) - - pci:v00008086d000024CAsv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 5160) - - pci:v00008086d000024CAsv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC8000 laptop) - - pci:v00008086d000024CAsv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC6000 laptop) - - pci:v00008086d000024CAsv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (tc1100 tablet) - - pci:v00008086d000024CAsv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (MIM2000) - - pci:v00008086d000024CAsv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (X10 Laptop) - - pci:v00008086d000024CAsv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (P30/P35 notebook) - - pci:v00008086d000024CAsv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Amilo M1420) - - pci:v00008086d000024CAsv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D400/D500) - - pci:v00008086d000024CB* - ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller - - pci:v00008086d000024CBsv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (NetVista A30p) - - pci:v00008086d000024CBsv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Optiplex GX260) - - pci:v00008086d000024CBsv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (P4B533) - - pci:v00008086d000024CBsv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard IDE -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (PC8 onboard IDE) - - pci:v00008086d000024CBsv00001458sd000024C2* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (GA-8PE667 Ultra) - - pci:v00008086d000024CBsv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (845PE Max (MS-6580)) - - pci:v00008086d000024CBsv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024CBsv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d000024CBsv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CC9-SAMBA) - - pci:v00008086d000024CBsv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CD2-BEBOP) - - pci:v00008086d000024CC* - ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge - - pci:v00008086d000024CCsv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (P30 notebook) - - pci:v00008086d000024CCsv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (Amilo M1420) - - pci:v00008086d000024CD* - ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller - - pci:v00008086d000024CDsv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NetVista A30p) - - pci:v00008086d000024CDsv00001014sd0000052E* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (ThinkPad) - - pci:v00008086d000024CDsv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (TravelMate 290) - - pci:v00008086d000024CDsv00001028sd0000011D* -- ID_MODEL_FROM_DATABASE=Latitude D600 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D600) - - pci:v00008086d000024CDsv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Optiplex GX260) - - pci:v00008086d000024CDsv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D400) - - pci:v00008086d000024CDsv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D500) - - pci:v00008086d000024CDsv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D505) - - pci:v00008086d000024CDsv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 700m/710m) - - pci:v00008086d000024CDsv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 5160) - - pci:v00008086d000024CDsv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC8000 laptop) - - pci:v00008086d000024CDsv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC6000 laptop) - - pci:v00008086d000024CDsv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (tc1100 tablet) - - pci:v00008086d000024CDsv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P4B533) - - pci:v00008086d000024CDsv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (MIM2000) - - pci:v00008086d000024CDsv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard USB 2.0 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (PC8 onboard USB 2.0) - - pci:v00008086d000024CDsv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Satellite 2430 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Satellite 2430) - - pci:v00008086d000024CDsv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (X10 Laptop) - - pci:v00008086d000024CDsv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P30/P35 notebook) - - pci:v00008086d000024CDsv00001462sd00003981* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (845PE Max (MS-6580)) - - pci:v00008086d000024CDsv00001509sd00001968* -- ID_MODEL_FROM_DATABASE=Averatec 5110H -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Averatec 5110H) - - pci:v00008086d000024CDsv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024CDsv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Amilo M1420) - - pci:v00008086d000024CDsv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (QEMU Virtual Machine) - - pci:v00008086d000024CDsv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d000024CDsv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude X300) - - pci:v00008086d000024CDsv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CC9-SAMBA) - - pci:v00008086d000024CDsv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CD2-BEBOP) - - pci:v00008086d000024D0* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) LPC Interface Bridge -@@ -62043,436 +62043,436 @@ pci:v00008086d000024D1* - ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller - - pci:v00008086d000024D1sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D1sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision 470) - - pci:v00008086d000024D1sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (PowerEdge SC1425) - - pci:v00008086d000024D1sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (d530 CMT (DG746A)) - - pci:v00008086d000024D1sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (ProLiant DL140 G2) - - pci:v00008086d000024D1sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4P800 series motherboard) - - pci:v00008086d000024D1sv00001458sd000024D1* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D1sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D1sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D1sv00001565sd00005200* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4TSV Motherboard (865G)) - - pci:v00008086d000024D1sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4SCE Mainboard) - - pci:v00008086d000024D1sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (S875WP1-E mainboard) - - pci:v00008086d000024D1sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GBF) - - pci:v00008086d000024D1sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GLC) - - pci:v00008086d000024D1sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (D865PERL mainboard) - - pci:v00008086d000024D2* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 - - pci:v00008086d000024D2sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) - - pci:v00008086d000024D2sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) - - pci:v00008086d000024D2sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D2sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision 470) - - pci:v00008086d000024D2sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1850 onboard UHCI) - - pci:v00008086d000024D2sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 2850 onboard UHCI) - - pci:v00008086d000024D2sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 6850 onboard UHCI) - - pci:v00008086d000024D2sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1800) - - pci:v00008086d000024D2sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge SC1425) - - pci:v00008086d000024D2sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (NX9500) - - pci:v00008086d000024D2sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (d530 CMT (DG746A)) - - pci:v00008086d000024D2sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (ProLiant DL140 G2) - - pci:v00008086d000024D2sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D2sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (GA-8IPE1000/8KNXP motherboard) - - pci:v00008086d000024D2sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D2sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4TSV Motherboard (865G)) - - pci:v00008086d000024D2sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4SCE Mainboard) - - pci:v00008086d000024D2sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PRIMERGY RX/TX series onboard UHCI) - - pci:v00008086d000024D2sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (S875WP1-E mainboard) - - pci:v00008086d000024D2sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GBF) - - pci:v00008086d000024D2sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GLC) - - pci:v00008086d000024D2sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (D865PERL mainboard) - - pci:v00008086d000024D3* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller - - pci:v00008086d000024D3sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) - - pci:v00008086d000024D3sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) - - pci:v00008086d000024D3sv00001028sd00000156* -- ID_MODEL_FROM_DATABASE=Precision 360 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 360) - - pci:v00008086d000024D3sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D3sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 470) - - pci:v00008086d000024D3sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d330 uT -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (d330 uT) - - pci:v00008086d000024D3sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (ProLiant DL140 G2) - - pci:v00008086d000024D3sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D3sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D3sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D3sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D3sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4TSV Motherboard (865G)) - - pci:v00008086d000024D3sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4SCE Mainboard) - - pci:v00008086d000024D3sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series SMBus -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (PRIMERGY RX/TX S2 series SMBus) - - pci:v00008086d000024D3sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (S875WP1-E mainboard) - - pci:v00008086d000024D3sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GBF) - - pci:v00008086d000024D3sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GLC) - - pci:v00008086d000024D3sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (D865PERL mainboard) - - pci:v00008086d000024D4* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 - - pci:v00008086d000024D4sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) - - pci:v00008086d000024D4sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) - - pci:v00008086d000024D4sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D4sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision 470) - - pci:v00008086d000024D4sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1850 onboard UHCI) - - pci:v00008086d000024D4sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 2850 onboard UHCI) - - pci:v00008086d000024D4sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 6850 onboard UHCI) - - pci:v00008086d000024D4sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1800) - - pci:v00008086d000024D4sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge SC1425) - - pci:v00008086d000024D4sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (NX9500) - - pci:v00008086d000024D4sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (d530 CMT (DG746A)) - - pci:v00008086d000024D4sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (ProLiant DL140 G2) - - pci:v00008086d000024D4sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D4sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D4sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D4sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D4sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4TSV Motherboard (865G)) - - pci:v00008086d000024D4sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4SCE Mainboard) - - pci:v00008086d000024D4sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PRIMERGY RX/TX S2 series onboard UHCI) - - pci:v00008086d000024D4sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (S875WP1-E mainboard) - - pci:v00008086d000024D4sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GBF) - - pci:v00008086d000024D4sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GLC) - - pci:v00008086d000024D4sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (D865PERL mainboard) - - pci:v00008086d000024D5* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller - - pci:v00008086d000024D5sv0000100Asd0000147B* -- ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Abit IS7-E motherboard) - - pci:v00008086d000024D5sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D5sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision 470) - - pci:v00008086d000024D5sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (NX9500) - - pci:v00008086d000024D5sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d330 uT -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (d330 uT) - - pci:v00008086d000024D5sv00001043sd000080F3* -- ID_MODEL_FROM_DATABASE=P4P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P4P800 series motherboard) - - pci:v00008086d000024D5sv00001043sd0000810F* -- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P5P800-MX Mainboard) - - pci:v00008086d000024D5sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (GA-8IPE1000/8KNXP motherboard) - - pci:v00008086d000024D5sv00001462sd00000080* -- ID_MODEL_FROM_DATABASE=865PE Neo2-V (MS-6788) Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2-V (MS-6788) Mainboard) - - pci:v00008086d000024D5sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D5sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D5sv00008086sd0000A000* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) - - pci:v00008086d000024D5sv00008086sd0000E000* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) - - pci:v00008086d000024D5sv00008086sd0000E001* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Desktop Board D865GBF) - - pci:v00008086d000024D5sv00008086sd0000E002* -- ID_MODEL_FROM_DATABASE=SoundMax Intergrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (SoundMax Intergrated Digital Audio) - - pci:v00008086d000024D6* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller - - pci:v00008086d000024D6sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller (NX9500) - - pci:v00008086d000024D7* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 - - pci:v00008086d000024D7sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (xSeries server mainboard) - - pci:v00008086d000024D7sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D7sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision 470) - - pci:v00008086d000024D7sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1850 onboard UHCI) - - pci:v00008086d000024D7sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 2850 onboard UHCI) - - pci:v00008086d000024D7sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 6850 onboard UHCI) - - pci:v00008086d000024D7sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1800) - - pci:v00008086d000024D7sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (NX9500) - - pci:v00008086d000024D7sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (d530 CMT (DG746A)) - - pci:v00008086d000024D7sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D7sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D7sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D7sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D7sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4TSV Motherboard (865G)) - - pci:v00008086d000024D7sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4SCE Mainboard) - - pci:v00008086d000024D7sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PRIMERGY RX/TX S2 series onboard UHCI) - - pci:v00008086d000024D7sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (S875WP1-E mainboard) - - pci:v00008086d000024D7sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GBF) - - pci:v00008086d000024D7sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GLC) - - pci:v00008086d000024D7sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (D865PERL mainboard) - - pci:v00008086d000024DB* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller - - pci:v00008086d000024DBsv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DBsv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DBsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024DBsv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision 470) - - pci:v00008086d000024DBsv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 IDE Controller -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 1850 IDE Controller) - - pci:v00008086d000024DBsv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 IDE Controller -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 2850 IDE Controller) - - pci:v00008086d000024DBsv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 IDE Controller -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 6850 IDE Controller) - - pci:v00008086d000024DBsv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge SC1425) - - pci:v00008086d000024DBsv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (NX9500) - - pci:v00008086d000024DBsv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (d530 CMT (DG746A)) - - pci:v00008086d000024DBsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4P800/P5P800 series motherboard) - - pci:v00008086d000024DBsv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024DBsv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024DBsv00001462sd00007580* -- ID_MODEL_FROM_DATABASE=MSI 875P -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (MSI 875P) - - pci:v00008086d000024DBsv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024DBsv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4TSV Motherboard (865G)) - - pci:v00008086d000024DBsv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4SCE Mainboard) - - pci:v00008086d000024DBsv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard IDE -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PRIMERGY RX/TX S2 series onboard IDE) - - pci:v00008086d000024DBsv00008086sd000024DB* -- ID_MODEL_FROM_DATABASE=P4C800 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4C800 Mainboard) - - pci:v00008086d000024DBsv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (S875WP1-E mainboard) - - pci:v00008086d000024DBsv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GBF) - - pci:v00008086d000024DBsv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GLC) - - pci:v00008086d000024DBsv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (D865PERL mainboard) - - pci:v00008086d000024DC* - ID_MODEL_FROM_DATABASE=82801EB (ICH5) LPC Interface Bridge -@@ -62481,142 +62481,142 @@ pci:v00008086d000024DD* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller - - pci:v00008086d000024DDsv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DDsv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DDsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024DDsv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision 470) - - pci:v00008086d000024DDsv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1850 onboard EHCI) - - pci:v00008086d000024DDsv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 2850 onboard EHCI) - - pci:v00008086d000024DDsv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 6850 onboard EHCI) - - pci:v00008086d000024DDsv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1800) - - pci:v00008086d000024DDsv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge SC1425) - - pci:v00008086d000024DDsv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (NX9500) - - pci:v00008086d000024DDsv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (d530 CMT (DG746A)) - - pci:v00008086d000024DDsv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (ProLiant DL140 G2) - - pci:v00008086d000024DDsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (P4P800/P5P800 series motherboard) - - pci:v00008086d000024DDsv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024DDsv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024DDsv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024DDsv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (S875WP1-E mainboard) - - pci:v00008086d000024DDsv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GBF) - - pci:v00008086d000024DDsv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GLC) - - pci:v00008086d000024DDsv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (D865PERL mainboard) - - pci:v00008086d000024DE* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 - - pci:v00008086d000024DEsv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (xSeries server mainboard) - - pci:v00008086d000024DEsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024DEsv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision 470) - - pci:v00008086d000024DEsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024DEsv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024DEsv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024DEsv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024DEsv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4TSV Motherboard (865G)) - - pci:v00008086d000024DEsv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4SCE Mainboard) - - pci:v00008086d000024DEsv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (PRIMERGY RX/TX S2 series onboard UHCI) - - pci:v00008086d000024DEsv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (S875WP1-E mainboard) - - pci:v00008086d000024DEsv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GBF) - - pci:v00008086d000024DEsv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GLC) - - pci:v00008086d000024DEsv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (D865PERL mainboard) - - pci:v00008086d000024DF* - ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller - - pci:v00008086d000024DFsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024F3* - ID_MODEL_FROM_DATABASE=Wireless 8260 - - pci:v00008086d000024F3sv00008086sd00000010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) - - pci:v00008086d000024F4* - ID_MODEL_FROM_DATABASE=Wireless 8260 - - pci:v00008086d000024F4sv00008086sd00000030* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) - - pci:v00008086d00002500* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) - - pci:v00008086d00002500sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Chipset -+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (Precision Workstation 220 Chipset) - - pci:v00008086d00002500sv00001043sd0000801C* -- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset -+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) - - pci:v00008086d00002501* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) - - pci:v00008086d00002501sv00001043sd0000801C* -- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset -+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) - - pci:v00008086d0000250B* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge -@@ -62634,16 +62634,16 @@ pci:v00008086d00002530* - ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) - - pci:v00008086d00002530sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (Dimension 8100) - - pci:v00008086d00002530sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (TH7II-RAID) - - pci:v00008086d00002531* - ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) - - pci:v00008086d00002531sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) (Precision 530) - - pci:v00008086d00002532* - ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset AGP Bridge -@@ -62658,19 +62658,19 @@ pci:v00008086d00002540* - ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub - - pci:v00008086d00002540sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub (P4DP6) - - pci:v00008086d00002541* - ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller - - pci:v00008086d00002541sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (P4DP6) - - pci:v00008086d00002541sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d00002541sv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (SE7501HG2 Mainboard) - - pci:v00008086d00002543* - ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B PCI-to-PCI Bridge -@@ -62679,7 +62679,7 @@ pci:v00008086d00002544* - ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller - - pci:v00008086d00002544sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d00002545* - ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface C PCI-to-PCI Bridge -@@ -62697,10 +62697,10 @@ pci:v00008086d0000254C* - ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub - - pci:v00008086d0000254Csv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (Cx9 / Vx9 mainboard) - - pci:v00008086d0000254Csv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (SE7501HG2 Mainboard) - - pci:v00008086d00002550* - ID_MODEL_FROM_DATABASE=E7505 Memory Controller Hub -@@ -62724,13 +62724,13 @@ pci:v00008086d00002560* - ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface - - pci:v00008086d00002560sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (Optiplex GX260) - - pci:v00008086d00002560sv00001458sd00002560* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (GA-8PE667 Ultra) - - pci:v00008086d00002560sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (845PE Max (MS-6580)) - - pci:v00008086d00002561* - ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge -@@ -62739,31 +62739,31 @@ pci:v00008086d00002562* - ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device - - pci:v00008086d00002562sv00000E11sd000000B9* -- ID_MODEL_FROM_DATABASE=Evo D510 SFF -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (Evo D510 SFF) - - pci:v00008086d00002562sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (NetVista A30p) - - pci:v00008086d00002562sv00001734sd00001003* -- ID_MODEL_FROM_DATABASE=D1521 Mainboard (Fujitsu-Siemens) -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1521 Mainboard (Fujitsu-Siemens)) - - pci:v00008086d00002562sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d00002570* - ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface - - pci:v00008086d00002570sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (NX9500) - - pci:v00008086d00002570sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d330 uT -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (d330 uT) - - pci:v00008086d00002570sv00001043sd000080F2* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (P4P800/P5P800 series motherboard) - - pci:v00008086d00002570sv00001458sd00002570* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d00002571* - ID_MODEL_FROM_DATABASE=82865G/PE/P AGP Bridge -@@ -62772,25 +62772,25 @@ pci:v00008086d00002572* - ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller - - pci:v00008086d00002572sv00001028sd0000019D* -- ID_MODEL_FROM_DATABASE=Dimension 3000 -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Dimension 3000) - - pci:v00008086d00002572sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=D530 sff(dc578av) -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (D530 sff(dc578av)) - - pci:v00008086d00002572sv00001043sd000080A5* -- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (P5P800-MX Mainboard) - - pci:v00008086d00002572sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d00002572sv00001734sd0000101B* -- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Scenic E300 i865GV -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Fujitsu-Siemens Scenic E300 i865GV) - - pci:v00008086d00002572sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GBF) - - pci:v00008086d00002572sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GLC) - - pci:v00008086d00002573* - ID_MODEL_FROM_DATABASE=82865G/PE/P PCI to CSA Bridge -@@ -62802,13 +62802,13 @@ pci:v00008086d00002578* - ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub - - pci:v00008086d00002578sv00001458sd00002578* -- ID_MODEL_FROM_DATABASE=GA-8KNXP motherboard (875P) -+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (GA-8KNXP motherboard (875P)) - - pci:v00008086d00002578sv00001462sd00007580* -- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) -+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (MS-6758 (875P Neo)) - - pci:v00008086d00002578sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Motherboard -+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (P4SCE Motherboard) - - pci:v00008086d00002579* - ID_MODEL_FROM_DATABASE=82875P Processor to AGP Controller -@@ -62823,13 +62823,13 @@ pci:v00008086d00002580* - ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub - - pci:v00008086d00002580sv00001458sd00002580* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (GA-8I915ME-G Mainboard) - - pci:v00008086d00002580sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (915P/G Neo2) - - pci:v00008086d00002580sv00001734sd0000105B* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (Scenic W620) - - pci:v00008086d00002581* - ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL PCI Express Root Port -@@ -62838,28 +62838,28 @@ pci:v00008086d00002582* - ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller - - pci:v00008086d00002582sv00001028sd00001079* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Optiplex GX280) - - pci:v00008086d00002582sv0000103Csd00003006* -- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (DC7100 SFF(DX878AV)) - - pci:v00008086d00002582sv00001043sd00002582* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002582sv00001458sd00002582* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d00002582sv00001734sd0000105B* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Scenic W620) - - pci:v00008086d00002582sv00001849sd00002582* -- ID_MODEL_FROM_DATABASE=ASRock P4Dual-915GL -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (ASRock P4Dual-915GL) - - pci:v00008086d00002584* - ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub - - pci:v00008086d00002584sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub (Dimension 8400) - - pci:v00008086d00002585* - ID_MODEL_FROM_DATABASE=82925X/XE PCI Express Root Port -@@ -62877,58 +62877,58 @@ pci:v00008086d00002590* - ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller - - pci:v00008086d00002590sv00001014sd00000575* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (ThinkPad Z60t) - - pci:v00008086d00002590sv00001028sd00000182* -- ID_MODEL_FROM_DATABASE=Dell Latitude C610 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Dell Latitude C610) - - pci:v00008086d00002590sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Compaq nw8240/nx8220) - - pci:v00008086d00002590sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (NX6110/NC6120) - - pci:v00008086d00002590sv0000104Dsd000081B7* -- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) - - pci:v00008086d00002590sv0000A304sd000081B7* -- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) - - pci:v00008086d00002590sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CCD-CALYPSO) - - pci:v00008086d00002590sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CD3-JIVE) - - pci:v00008086d00002590sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (XB1) - - pci:v00008086d00002591* - ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port - - pci:v00008086d00002591sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002592* - ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller - - pci:v00008086d00002592sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) - - pci:v00008086d00002592sv0000103Csd0000308A* -- ID_MODEL_FROM_DATABASE=NC6220 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NC6220) - - pci:v00008086d00002592sv00001043sd00001881* -- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) - - pci:v00008086d00002592sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) - - pci:v00008086d00002592sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) - - pci:v00008086d00002592sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) - - pci:v00008086d000025A1* - ID_MODEL_FROM_DATABASE=6300ESB LPC Interface Controller -@@ -62937,79 +62937,79 @@ pci:v00008086d000025A2* - ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller - - pci:v00008086d000025A2sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A2sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer IDE -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (V5D Single Board Computer IDE) - - pci:v00008086d000025A2sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A2sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CE9) - - pci:v00008086d000025A2sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CL9 mainboard) - - pci:v00008086d000025A2sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (PSL09 PrPMC) - - pci:v00008086d000025A3* - ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller - - pci:v00008086d000025A3sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A3sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A3sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CE9) - - pci:v00008086d000025A3sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CL9 mainboard) - - pci:v00008086d000025A3sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025A3sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (PSL09 PrPMC) - - pci:v00008086d000025A4* - ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller - - pci:v00008086d000025A4sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A4sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (V5D Single Board Computer) - - pci:v00008086d000025A4sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A4sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CE9) - - pci:v00008086d000025A4sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CL9 mainboard) - - pci:v00008086d000025A4sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025A4sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (PSL09 PrPMC) - - pci:v00008086d000025A6* - ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller - - pci:v00008086d000025A6sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A6sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CE9) - - pci:v00008086d000025A6sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CL9 mainboard) - - pci:v00008086d000025A7* - ID_MODEL_FROM_DATABASE=6300ESB AC'97 Modem Controller -@@ -63018,121 +63018,121 @@ pci:v00008086d000025A9* - ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller - - pci:v00008086d000025A9sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A9sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (V5D Single Board Computer USB) - - pci:v00008086d000025A9sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A9sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) - - pci:v00008086d000025A9sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) - - pci:v00008086d000025A9sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025A9sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) - - pci:v00008086d000025AA* - ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller - - pci:v00008086d000025AAsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025AAsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025AAsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) - - pci:v00008086d000025AAsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) - - pci:v00008086d000025AAsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025AAsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) - - pci:v00008086d000025AB* - ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer - - pci:v00008086d000025ABsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025ABsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (V5D Single Board Computer) - - pci:v00008086d000025ABsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CR11/VR11 Single Board Computer) - - pci:v00008086d000025ABsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CE9) - - pci:v00008086d000025ABsv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (QEMU Virtual Machine) - - pci:v00008086d000025ABsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CL9 mainboard) - - pci:v00008086d000025ABsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Telum ASLP10 Processor AMC) - - pci:v00008086d000025ABsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (PSL09 PrPMC) - - pci:v00008086d000025AC* - ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller - - pci:v00008086d000025ACsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025ACsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (V5D Single Board Computer) - - pci:v00008086d000025ACsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025ACsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CE9) - - pci:v00008086d000025ACsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CL9 mainboard) - - pci:v00008086d000025ACsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025ACsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (PSL09 PrPMC) - - pci:v00008086d000025AD* - ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller - - pci:v00008086d000025ADsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025ADsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB 2.0 -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (V5D Single Board Computer USB 2.0) - - pci:v00008086d000025ADsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025ADsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CE9) - - pci:v00008086d000025ADsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CL9 mainboard) - - pci:v00008086d000025ADsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025ADsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (PSL09 PrPMC) - - pci:v00008086d000025AE* - ID_MODEL_FROM_DATABASE=6300ESB 64-bit PCI-X Bridge -@@ -63141,13 +63141,13 @@ pci:v00008086d000025B0* - ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller - - pci:v00008086d000025B0sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025B0sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025B0sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (PSL09 PrPMC) - - pci:v00008086d000025C0* - ID_MODEL_FROM_DATABASE=5000X Chipset Memory Controller Hub -@@ -63159,16 +63159,16 @@ pci:v00008086d000025D4* - ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub - - pci:v00008086d000025D4sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub (X7DVL-E-O motherboard) - - pci:v00008086d000025D8* - ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub - - pci:v00008086d000025D8sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (X7DBN Motherboard) - - pci:v00008086d000025D8sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (S5000PSLSATA Server Board) - - pci:v00008086d000025E2* - ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 2 -@@ -63192,79 +63192,79 @@ pci:v00008086d000025F0* - ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers - - pci:v00008086d000025F0sv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 FSB Registers -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (PowerEdge 1955 FSB Registers) - - pci:v00008086d000025F0sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (ProLiant DL140 G3) - - pci:v00008086d000025F0sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F0sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DBN Motherboard) - - pci:v00008086d000025F0sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F1* - ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers - - pci:v00008086d000025F1sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) - - pci:v00008086d000025F1sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F1sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) - - pci:v00008086d000025F1sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F3* - ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers - - pci:v00008086d000025F3sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) - - pci:v00008086d000025F3sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F3sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) - - pci:v00008086d000025F3sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F5* - ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers - - pci:v00008086d000025F5sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) - - pci:v00008086d000025F5sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F5sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) - - pci:v00008086d000025F5sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F6* - ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers - - pci:v00008086d000025F6sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) - - pci:v00008086d000025F6sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F6sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) - - pci:v00008086d000025F6sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F7* - ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 2-3 -@@ -63282,7 +63282,7 @@ pci:v00008086d00002600* - ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 - - pci:v00008086d00002600sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Hub Interface -+ ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 (PowerEdge 6850 Hub Interface) - - pci:v00008086d00002601* - ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port D -@@ -63363,76 +63363,76 @@ pci:v00008086d00002620* - ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge - - pci:v00008086d00002620sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Bridge -+ ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge (PowerEdge 6850 Memory Bridge) - - pci:v00008086d00002621* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers - - pci:v00008086d00002621sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 XMB Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers (PowerEdge 6850 XMB Registers) - - pci:v00008086d00002622* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers - - pci:v00008086d00002622sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Interleaving Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers (PowerEdge 6850 Memory Interleaving Registers) - - pci:v00008086d00002623* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration - - pci:v00008086d00002623sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 DDR Initialization and Calibration -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration (PowerEdge 6850 DDR Initialization and Calibration) - - pci:v00008086d00002624* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002624sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002625* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002625sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002626* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002626sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002627* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002627sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002640* - ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge - - pci:v00008086d00002640sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (915P/G Neo2) - - pci:v00008086d00002640sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (Scenic W620) - - pci:v00008086d00002640sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CCD-CALYPSO) - - pci:v00008086d00002640sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CD3-JIVE) - - pci:v00008086d00002640sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (XB1) - - pci:v00008086d00002641* - ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge - - pci:v00008086d00002641sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (Compaq nw8240/nx8220) - - pci:v00008086d00002641sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (NX6110/NC6120) - - pci:v00008086d00002642* - ID_MODEL_FROM_DATABASE=82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge -@@ -63441,34 +63441,34 @@ pci:v00008086d00002651* - ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller - - pci:v00008086d00002651sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Optiplex GX280) - - pci:v00008086d00002651sv00001043sd00002601* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002651sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Scenic W620) - - pci:v00008086d00002651sv00008086sd00004147* -- ID_MODEL_FROM_DATABASE=D915GAG Motherboard -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (D915GAG Motherboard) - - pci:v00008086d00002651sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CCD-CALYPSO) - - pci:v00008086d00002651sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CD3-JIVE) - - pci:v00008086d00002651sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (XB1) - - pci:v00008086d00002652* - ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller - - pci:v00008086d00002652sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (Dimension 8400) - - pci:v00008086d00002652sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (915P/G Neo2) - - pci:v00008086d00002653* - ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) SATA Controller -@@ -63477,289 +63477,289 @@ pci:v00008086d00002658* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 - - pci:v00008086d00002658sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Dimension 8400) - - pci:v00008086d00002658sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Optiplex GX280) - - pci:v00008086d00002658sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Compaq nw8240/nx8220) - - pci:v00008086d00002658sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (NX6110/NC6120) - - pci:v00008086d00002658sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (P5GD1-VW Mainboard) - - pci:v00008086d00002658sv00001458sd00002558* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (GA-8I915ME-G Mainboard) - - pci:v00008086d00002658sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (915P/G Neo2) - - pci:v00008086d00002658sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Scenic W620) - - pci:v00008086d00002658sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CCD-CALYPSO) - - pci:v00008086d00002658sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CD3-JIVE) - - pci:v00008086d00002658sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (XB1) - - pci:v00008086d00002659* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 - - pci:v00008086d00002659sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Dimension 8400) - - pci:v00008086d00002659sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Optiplex GX280) - - pci:v00008086d00002659sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Compaq nw8240/nx8220) - - pci:v00008086d00002659sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (NX6110/NC6120) - - pci:v00008086d00002659sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (P5GD1-VW Mainboard) - - pci:v00008086d00002659sv00001458sd00002659* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (GA-8I915ME-G Mainboard) - - pci:v00008086d00002659sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (915P/G Neo2) - - pci:v00008086d00002659sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Scenic W620) - - pci:v00008086d00002659sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CCD-CALYPSO) - - pci:v00008086d00002659sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CD3-JIVE) - - pci:v00008086d00002659sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (XB1) - - pci:v00008086d0000265A* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 - - pci:v00008086d0000265Asv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Dimension 8400) - - pci:v00008086d0000265Asv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Optiplex GX280) - - pci:v00008086d0000265Asv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Compaq nw8240/nx8220) - - pci:v00008086d0000265Asv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (NX6110/NC6120) - - pci:v00008086d0000265Asv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (P5GD1-VW Mainboard) - - pci:v00008086d0000265Asv00001458sd0000265A* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (GA-8I915ME-G Mainboard) - - pci:v00008086d0000265Asv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (915P/G Neo2) - - pci:v00008086d0000265Asv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Scenic W620) - - pci:v00008086d0000265Asv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CCD-CALYPSO) - - pci:v00008086d0000265Asv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CD3-JIVE) - - pci:v00008086d0000265Asv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (XB1) - - pci:v00008086d0000265B* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 - - pci:v00008086d0000265Bsv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Dimension 8400) - - pci:v00008086d0000265Bsv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Optiplex GX280) - - pci:v00008086d0000265Bsv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (NX6110/NC6120) - - pci:v00008086d0000265Bsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (P5GD1-VW Mainboard) - - pci:v00008086d0000265Bsv00001458sd0000265A* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (GA-8I915ME-G Mainboard) - - pci:v00008086d0000265Bsv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (915P/G Neo2) - - pci:v00008086d0000265Bsv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Scenic W620) - - pci:v00008086d0000265Bsv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CCD-CALYPSO) - - pci:v00008086d0000265Bsv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CD3-JIVE) - - pci:v00008086d0000265Bsv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (XB1) - - pci:v00008086d0000265C* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller - - pci:v00008086d0000265Csv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 8400) - - pci:v00008086d0000265Csv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Optiplex GX280) - - pci:v00008086d0000265Csv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000265Csv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (NX6110/NC6120) - - pci:v00008086d0000265Csv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (P5GD1-VW Mainboard) - - pci:v00008086d0000265Csv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000265Csv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (915P/G Neo2) - - pci:v00008086d0000265Csv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Scenic W620) - - pci:v00008086d0000265Csv00008086sd0000265C* -- ID_MODEL_FROM_DATABASE=Dimension 3100 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 3100) - - pci:v00008086d0000265Csv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CCD-CALYPSO) - - pci:v00008086d0000265Csv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CD3-JIVE) - - pci:v00008086d0000265Csv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (XB1) - - pci:v00008086d00002660* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 - - pci:v00008086d00002660sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002660sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (NX6110/NC6120) - - pci:v00008086d00002660sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CCD-CALYPSO) - - pci:v00008086d00002660sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CD3-JIVE) - - pci:v00008086d00002660sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (XB1) - - pci:v00008086d00002662* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 - - pci:v00008086d00002662sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002662sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CCD-CALYPSO) - - pci:v00008086d00002662sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CD3-JIVE) - - pci:v00008086d00002662sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (XB1) - - pci:v00008086d00002664* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 - - pci:v00008086d00002664sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CCD-CALYPSO) - - pci:v00008086d00002664sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CD3-JIVE) - - pci:v00008086d00002664sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (XB1) - - pci:v00008086d00002666* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 - - pci:v00008086d00002666sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CCD-CALYPSO) - - pci:v00008086d00002666sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CD3-JIVE) - - pci:v00008086d00002666sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (XB1) - - pci:v00008086d00002668* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller - - pci:v00008086d00002668sv00001014sd000005B7* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (ThinkPad Z60t) - - pci:v00008086d00002668sv0000103Csd00002A09* -- ID_MODEL_FROM_DATABASE=PufferM-UL8E -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (PufferM-UL8E) - - pci:v00008086d00002668sv00001043sd00001173* -- ID_MODEL_FROM_DATABASE=Asus A6VC -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (Asus A6VC) - - pci:v00008086d00002668sv00001043sd0000814E* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002668sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (915P/G Neo2) - - pci:v00008086d00002668sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) - - pci:v00008086d0000266A* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller - - pci:v00008086d0000266Asv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Dimension 8400) - - pci:v00008086d0000266Asv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Optiplex GX280) - - pci:v00008086d0000266Asv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (P5GD1-VW Mainboard) - - pci:v00008086d0000266Asv00001458sd0000266A* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000266Asv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (915P/G Neo2) - - pci:v00008086d0000266Asv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Scenic W620) - - pci:v00008086d0000266Asv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CCD-CALYPSO) - - pci:v00008086d0000266Asv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CD3-JIVE) - - pci:v00008086d0000266Asv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (XB1) - - pci:v00008086d0000266C* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller -@@ -63768,103 +63768,103 @@ pci:v00008086d0000266D* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller - - pci:v00008086d0000266Dsv00001025sd0000006A* -- ID_MODEL_FROM_DATABASE=Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)) - - pci:v00008086d0000266Dsv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000266Dsv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (NX6110/NC6120) - - pci:v00008086d0000266E* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller - - pci:v00008086d0000266Esv00001025sd0000006A* -- ID_MODEL_FROM_DATABASE=Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)) - - pci:v00008086d0000266Esv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dimension 8400) - - pci:v00008086d0000266Esv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Optiplex GX280) - - pci:v00008086d0000266Esv00001028sd00000182* -- ID_MODEL_FROM_DATABASE=Latitude D610 Laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Latitude D610 Laptop) - - pci:v00008086d0000266Esv00001028sd00000187* -- ID_MODEL_FROM_DATABASE=Dell Precision M70 Laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dell Precision M70 Laptop) - - pci:v00008086d0000266Esv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Inspiron 6000 laptop) - - pci:v00008086d0000266Esv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000266Esv0000103Csd00000944* -- ID_MODEL_FROM_DATABASE=Compaq NC6220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq NC6220) - - pci:v00008086d0000266Esv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (NX6110/NC6120) - - pci:v00008086d0000266Esv0000103Csd00003006* -- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (DC7100 SFF(DX878AV)) - - pci:v00008086d0000266Esv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000266Esv0000152Dsd00000745* -- ID_MODEL_FROM_DATABASE=Packard Bell A8550 Laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Packard Bell A8550 Laptop) - - pci:v00008086d0000266Esv00001734sd0000105A* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Scenic W620) - - pci:v00008086d0000266F* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller - - pci:v00008086d0000266Fsv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Dimension 8400) - - pci:v00008086d0000266Fsv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000266Fsv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (NX6110/NC6120) - - pci:v00008086d0000266Fsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (P5GD1-VW Mainboard) - - pci:v00008086d0000266Fsv00001458sd0000266F* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000266Fsv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (915P/G Neo2) - - pci:v00008086d0000266Fsv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Scenic W620) - - pci:v00008086d0000266Fsv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CCD-CALYPSO) - - pci:v00008086d0000266Fsv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CD3-JIVE) - - pci:v00008086d0000266Fsv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (XB1) - - pci:v00008086d00002670* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller - - pci:v00008086d00002670sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (ProLiant DL140 G3) - - pci:v00008086d00002670sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DVL-E-O motherboard) - - pci:v00008086d00002670sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DBN Motherboard) - - pci:v00008086d00002670sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002680* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller -@@ -63873,22 +63873,22 @@ pci:v00008086d00002681* - ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller - - pci:v00008086d00002681sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (ProLiant DL140 G3) - - pci:v00008086d00002681sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DVL-E-O motherboard) - - pci:v00008086d00002681sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DBN Motherboard) - - pci:v00008086d00002681sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002682* - ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller - - pci:v00008086d00002682sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=Adaptec Serial ATA HostRAID -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller (Adaptec Serial ATA HostRAID) - - pci:v00008086d00002683* - ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller -@@ -63897,109 +63897,109 @@ pci:v00008086d00002688* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 - - pci:v00008086d00002688sv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge 1955 onboard USB) - - pci:v00008086d00002688sv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge R900 onboard USB) - - pci:v00008086d00002688sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (ProLiant DL140 G3) - - pci:v00008086d00002688sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DVL-E-O motherboard) - - pci:v00008086d00002688sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DBN Motherboard) - - pci:v00008086d00002688sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002689* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 - - pci:v00008086d00002689sv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge 1955 onboard USB) - - pci:v00008086d00002689sv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge R900 onboard USB) - - pci:v00008086d00002689sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (ProLiant DL140 G3) - - pci:v00008086d00002689sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DVL-E-O motherboard) - - pci:v00008086d00002689sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DBN Motherboard) - - pci:v00008086d00002689sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000268A* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 - - pci:v00008086d0000268Asv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (PowerEdge R900 onboard USB) - - pci:v00008086d0000268Asv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (ProLiant DL140 G3) - - pci:v00008086d0000268Asv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DVL-E-O motherboard) - - pci:v00008086d0000268Asv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DBN Motherboard) - - pci:v00008086d0000268Asv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000268B* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 - - pci:v00008086d0000268Bsv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (PowerEdge R900 onboard USB) - - pci:v00008086d0000268Bsv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (X7DVL-E-O motherboard) - - pci:v00008086d0000268Bsv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000268C* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller - - pci:v00008086d0000268Csv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge 1955 onboard USB) - - pci:v00008086d0000268Csv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge R900 onboard USB) - - pci:v00008086d0000268Csv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (ProLiant DL140 G3) - - pci:v00008086d0000268Csv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DVL-E-O motherboard) - - pci:v00008086d0000268Csv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DBN Motherboard) - - pci:v00008086d0000268Csv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002690* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 - - pci:v00008086d00002690sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (ProLiant DL140 G3) - - pci:v00008086d00002690sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (X7DBN Motherboard) - - pci:v00008086d00002692* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 - - pci:v00008086d00002692sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 (ProLiant DL140 G3) - - pci:v00008086d00002694* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 3 -@@ -64020,49 +64020,49 @@ pci:v00008086d0000269B* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller - - pci:v00008086d0000269Bsv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (ProLiant DL140 G3) - - pci:v00008086d0000269Bsv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DVL-E-O motherboard) - - pci:v00008086d0000269Bsv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DBN Motherboard) - - pci:v00008086d0000269Bsv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000269E* - ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller - - pci:v00008086d0000269Esv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (ProLiant DL140 G3) - - pci:v00008086d0000269Esv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DVL-E-O motherboard) - - pci:v00008086d0000269Esv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DBN Motherboard) - - pci:v00008086d00002770* - ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub - - pci:v00008086d00002770sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (OptiPlex GX620) - - pci:v00008086d00002770sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Pavilion A1512X) - - pci:v00008086d00002770sv00001043sd0000817A* -- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (P5LD2-VM Mainboard) - - pci:v00008086d00002770sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (E4500) - - pci:v00008086d00002770sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Wind PC MS-7418) - - pci:v00008086d00002770sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (DeskTop Board D945GTP) - - pci:v00008086d00002771* - ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL PCI Express Root Port -@@ -64071,16 +64071,16 @@ pci:v00008086d00002772* - ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller - - pci:v00008086d00002772sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Pavilion A1512X) - - pci:v00008086d00002772sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Wind PC MS-7418) - - pci:v00008086d00002772sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (DeskTop Board D945GTP) - - pci:v00008086d00002772sv00008086sd0000D605* -- ID_MODEL_FROM_DATABASE=Intel Desktop Board D945GCCR -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Intel Desktop Board D945GCCR) - - pci:v00008086d00002774* - ID_MODEL_FROM_DATABASE=82955X Memory Controller Hub -@@ -64095,10 +64095,10 @@ pci:v00008086d00002778* - ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub - - pci:v00008086d00002778sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge SC440) - - pci:v00008086d00002778sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge 860) - - pci:v00008086d00002779* - ID_MODEL_FROM_DATABASE=E7230/3000/3010 PCI Express Root Port -@@ -64110,7 +64110,7 @@ pci:v00008086d0000277C* - ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub - - pci:v00008086d0000277Csv00001043sd00008178* -- ID_MODEL_FROM_DATABASE=P5WDG2 WS Professional motherboard -+ ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub (P5WDG2 WS Professional motherboard) - - pci:v00008086d0000277D* - ID_MODEL_FROM_DATABASE=82975X PCI Express Root Port -@@ -64119,94 +64119,94 @@ pci:v00008086d00002782* - ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller - - pci:v00008086d00002782sv00001043sd00002582* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002782sv00001734sd0000105B* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (Scenic W620) - - pci:v00008086d00002792* - ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller - - pci:v00008086d00002792sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) - - pci:v00008086d00002792sv00001043sd00001881* -- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) - - pci:v00008086d00002792sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) - - pci:v00008086d00002792sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) - - pci:v00008086d00002792sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) - - pci:v00008086d000027A0* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub - - pci:v00008086d000027A0sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (9814 WKMI) - - pci:v00008086d000027A0sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (XPS M1210) - - pci:v00008086d000027A0sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nx9420 Notebook) - - pci:v00008086d000027A0sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (NC2400) - - pci:v00008086d000027A0sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nw8440) - - pci:v00008086d000027A0sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) - - pci:v00008086d000027A0sv000017AAsd00002015* -- ID_MODEL_FROM_DATABASE=ThinkPad T60 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) - - pci:v00008086d000027A0sv000017AAsd00002017* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027A1* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port - - pci:v00008086d000027A1sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nx9420 Notebook) - - pci:v00008086d000027A1sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) - - pci:v00008086d000027A2* - ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller - - pci:v00008086d000027A2sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (NC2400) - - pci:v00008086d000027A2sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027A2sv00009902sd00001584* -- ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (CCE MPL-D10H120F) - - pci:v00008086d000027A6* - ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller - - pci:v00008086d000027A6sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (NC2400) - - pci:v00008086d000027A6sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (CC11/CL11 integrated graphics (secondary)) - - pci:v00008086d000027A6sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027AC* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub - - pci:v00008086d000027ACsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub (CC11/CL11) - - pci:v00008086d000027AD* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express PCI Express Root Port -@@ -64215,178 +64215,178 @@ pci:v00008086d000027AE* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller - - pci:v00008086d000027AEsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (primary) -+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller (CC11/CL11 integrated graphics (primary)) - - pci:v00008086d000027B0* - ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge - - pci:v00008086d000027B0sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (Pavilion A1512X) - - pci:v00008086d000027B0sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (DeskTop Board D945GTP) - - pci:v00008086d000027B8* - ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge - - pci:v00008086d000027B8sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (PowerEdge 860) - - pci:v00008086d000027B8sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (P5KPL-VM Motherboard) - - pci:v00008086d000027B8sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (E4500) - - pci:v00008086d000027B8sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (Wind PC MS-7418) - - pci:v00008086d000027B8sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (CC11/CL11) - - pci:v00008086d000027B8sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (DeskTop Board D945GTP) - - pci:v00008086d000027B9* - ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge - - pci:v00008086d000027B9sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (XPS M1210) - - pci:v00008086d000027B9sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nx9420 Notebook) - - pci:v00008086d000027B9sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (NC2400) - - pci:v00008086d000027B9sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) - - pci:v00008086d000027B9sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) - - pci:v00008086d000027B9sv000017AAsd00002009* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027BC* - ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller - - pci:v00008086d000027BCsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (D270S/D250S Motherboard) - - pci:v00008086d000027BCsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Notebook N150P) - - pci:v00008086d000027BCsv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (GA-D525TUD) - - pci:v00008086d000027BCsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (DeskTop Board D510MO) - - pci:v00008086d000027BCsv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Desktop Board D425KT) - - pci:v00008086d000027BD* - ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge - - pci:v00008086d000027BDsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge (9814 WKMI) - - pci:v00008086d000027C0* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] - - pci:v00008086d000027C0sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (OptiPlex GX620) - - pci:v00008086d000027C0sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge SC440) - - pci:v00008086d000027C0sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge 860) - - pci:v00008086d000027C0sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (P5KPL-VM Motherboard) - - pci:v00008086d000027C0sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (E4500) - - pci:v00008086d000027C0sv00001462sd00002310* -- ID_MODEL_FROM_DATABASE=MSI Hetis 945 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (MSI Hetis 945) - - pci:v00008086d000027C0sv00001462sd00007236* -- ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (945P Neo3-F Rev. 2.2 motherboard) - - pci:v00008086d000027C0sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Wind PC MS-7418) - - pci:v00008086d000027C0sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (CC11/CL11) - - pci:v00008086d000027C0sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Desktop Board D425KT) - - pci:v00008086d000027C0sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (DeskTop Board D945GTP) - - pci:v00008086d000027C1* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] - - pci:v00008086d000027C1sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (PowerEdge SC440) - - pci:v00008086d000027C1sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Pavilion A1512X) - - pci:v00008086d000027C1sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (D270S/D250S Motherboard) - - pci:v00008086d000027C1sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Notebook N150P) - - pci:v00008086d000027C1sv00001458sd0000B005* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (GA-D525TUD) - - pci:v00008086d000027C1sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (CC11/CL11) - - pci:v00008086d000027C1sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D510MO) - - pci:v00008086d000027C1sv00008086sd00005842* -- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D975XBX) - - pci:v00008086d000027C3* - ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] - - pci:v00008086d000027C3sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (CC11/CL11) - - pci:v00008086d000027C3sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (DeskTop Board D945GTP) - - pci:v00008086d000027C4* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] - - pci:v00008086d000027C4sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (9814 WKMI) - - pci:v00008086d000027C4sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) - - pci:v00008086d000027C4sv000017AAsd0000200E* -- ID_MODEL_FROM_DATABASE=ThinkPad T60 -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) - - pci:v00008086d000027C5* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] - - pci:v00008086d000027C5sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nx9420 Notebook) - - pci:v00008086d000027C5sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nw8440) - - pci:v00008086d000027C5sv000017AAsd0000200D* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027C6* - ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] -@@ -64395,553 +64395,553 @@ pci:v00008086d000027C8* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 - - pci:v00008086d000027C8sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (9814 WKMI) - - pci:v00008086d000027C8sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (OptiPlex GX620) - - pci:v00008086d000027C8sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (XPS M1210) - - pci:v00008086d000027C8sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge SC440) - - pci:v00008086d000027C8sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge 860) - - pci:v00008086d000027C8sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Pavilion A1512X) - - pci:v00008086d000027C8sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nx9420 Notebook) - - pci:v00008086d000027C8sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (NC2400) - - pci:v00008086d000027C8sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nw8440) - - pci:v00008086d000027C8sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (A6J-Q008) - - pci:v00008086d000027C8sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027C8sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) - - pci:v00008086d000027C8sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) - - pci:v00008086d000027C8sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Notebook N150P) - - pci:v00008086d000027C8sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (GA-D525TUD) - - pci:v00008086d000027C8sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Wind PC MS-7418) - - pci:v00008086d000027C8sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (CC11/CL11) - - pci:v00008086d000027C8sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027C8sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D510MO) - - pci:v00008086d000027C8sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Desktop Board D425KT) - - pci:v00008086d000027C8sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D945GTP) - - pci:v00008086d000027C9* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 - - pci:v00008086d000027C9sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (9814 WKMI) - - pci:v00008086d000027C9sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (OptiPlex GX620) - - pci:v00008086d000027C9sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (XPS M1210) - - pci:v00008086d000027C9sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge SC440) - - pci:v00008086d000027C9sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge 860) - - pci:v00008086d000027C9sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Pavilion A1512X) - - pci:v00008086d000027C9sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nx9420 Notebook) - - pci:v00008086d000027C9sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (NC2400) - - pci:v00008086d000027C9sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nw8440) - - pci:v00008086d000027C9sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (A6J-Q008) - - pci:v00008086d000027C9sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027C9sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) - - pci:v00008086d000027C9sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) - - pci:v00008086d000027C9sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Notebook N150P) - - pci:v00008086d000027C9sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (GA-D525TUD) - - pci:v00008086d000027C9sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Wind PC MS-7418) - - pci:v00008086d000027C9sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (CC11/CL11) - - pci:v00008086d000027C9sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027C9sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D510MO) - - pci:v00008086d000027C9sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Desktop Board D425KT) - - pci:v00008086d000027C9sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D945GTP) - - pci:v00008086d000027CA* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 - - pci:v00008086d000027CAsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (9814 WKMI) - - pci:v00008086d000027CAsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (OptiPlex GX620) - - pci:v00008086d000027CAsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (XPS M1210) - - pci:v00008086d000027CAsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge SC440) - - pci:v00008086d000027CAsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge 860) - - pci:v00008086d000027CAsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Pavilion A1512X) - - pci:v00008086d000027CAsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nx9420 Notebook) - - pci:v00008086d000027CAsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (NC2400) - - pci:v00008086d000027CAsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nw8440) - - pci:v00008086d000027CAsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (A6J-Q008) - - pci:v00008086d000027CAsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027CAsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) - - pci:v00008086d000027CAsv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) - - pci:v00008086d000027CAsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Notebook N150P) - - pci:v00008086d000027CAsv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (GA-D525TUD) - - pci:v00008086d000027CAsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Wind PC MS-7418) - - pci:v00008086d000027CAsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (CC11/CL11) - - pci:v00008086d000027CAsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027CAsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D510MO) - - pci:v00008086d000027CAsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D945GTP) - - pci:v00008086d000027CB* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 - - pci:v00008086d000027CBsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (9814 WKMI) - - pci:v00008086d000027CBsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (OptiPlex GX620) - - pci:v00008086d000027CBsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (XPS M1210) - - pci:v00008086d000027CBsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (PowerEdge SC440) - - pci:v00008086d000027CBsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Pavilion A1512X) - - pci:v00008086d000027CBsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nx9420 Notebook) - - pci:v00008086d000027CBsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (NC2400) - - pci:v00008086d000027CBsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nw8440) - - pci:v00008086d000027CBsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (A6J-Q008) - - pci:v00008086d000027CBsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027CBsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) - - pci:v00008086d000027CBsv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) - - pci:v00008086d000027CBsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Notebook N150P) - - pci:v00008086d000027CBsv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (GA-D525TUD) - - pci:v00008086d000027CBsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Wind PC MS-7418) - - pci:v00008086d000027CBsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (CC11/CL11) - - pci:v00008086d000027CBsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027CBsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D510MO) - - pci:v00008086d000027CBsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D945GTP) - - pci:v00008086d000027CC* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller - - pci:v00008086d000027CCsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (9814 WKMI) - - pci:v00008086d000027CCsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (OptiPlex GX620) - - pci:v00008086d000027CCsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (XPS M1210) - - pci:v00008086d000027CCsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge SC440) - - pci:v00008086d000027CCsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge 860) - - pci:v00008086d000027CCsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Pavilion A1512X) - - pci:v00008086d000027CCsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nx9420 Notebook) - - pci:v00008086d000027CCsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (NC2400) - - pci:v00008086d000027CCsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nw8440) - - pci:v00008086d000027CCsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (A6J-Q008) - - pci:v00008086d000027CCsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027CCsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) - - pci:v00008086d000027CCsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) - - pci:v00008086d000027CCsv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (GA-D525TUD) - - pci:v00008086d000027CCsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Wind PC MS-7418) - - pci:v00008086d000027CCsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (CC11/CL11) - - pci:v00008086d000027CCsv000017AAsd0000200B* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027CCsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D510MO) - - pci:v00008086d000027CCsv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Desktop Board D425KT) - - pci:v00008086d000027CCsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D945GTP) - - pci:v00008086d000027D0* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 - - pci:v00008086d000027D0sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nx9420 Notebook) - - pci:v00008086d000027D0sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) - - pci:v00008086d000027D0sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) - - pci:v00008086d000027D0sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (GA-D525TUD) - - pci:v00008086d000027D0sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Wind PC MS-7418) - - pci:v00008086d000027D0sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (CC11/CL11) - - pci:v00008086d000027D0sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Desktop Board D425KT) - - pci:v00008086d000027D2* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 - - pci:v00008086d000027D2sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nx9420 Notebook) - - pci:v00008086d000027D2sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) - - pci:v00008086d000027D2sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) - - pci:v00008086d000027D2sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Wind PC MS-7418) - - pci:v00008086d000027D2sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (CC11/CL11) - - pci:v00008086d000027D2sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Desktop Board D425KT) - - pci:v00008086d000027D4* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 - - pci:v00008086d000027D4sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) - - pci:v00008086d000027D4sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Wind PC MS-7418) - - pci:v00008086d000027D4sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (CC11/CL11) - - pci:v00008086d000027D4sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Desktop Board D425KT) - - pci:v00008086d000027D6* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 - - pci:v00008086d000027D6sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) - - pci:v00008086d000027D6sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) - - pci:v00008086d000027D6sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Wind PC MS-7418) - - pci:v00008086d000027D6sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (CC11/CL11) - - pci:v00008086d000027D6sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Desktop Board D425KT) - - pci:v00008086d000027D8* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller - - pci:v00008086d000027D8sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (9814 WKMI) - - pci:v00008086d000027D8sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (XPS M1210) - - pci:v00008086d000027D8sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Pavilion A1512X) - - pci:v00008086d000027D8sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nx9420 Notebook) - - pci:v00008086d000027D8sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (NC2400) - - pci:v00008086d000027D8sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nw8440) - - pci:v00008086d000027D8sv00001043sd00001123* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (A6J-Q008) - - pci:v00008086d000027D8sv00001043sd000013C4* -- ID_MODEL_FROM_DATABASE=Asus G2P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus G2P) - - pci:v00008086d000027D8sv00001043sd0000817F* -- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard (Realtek ALC 882 codec) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5LD2-VM Mainboard (Realtek ALC 882 codec)) - - pci:v00008086d000027D8sv00001043sd00008290* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-VM Motherboard) - - pci:v00008086d000027D8sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-CM Motherboard) - - pci:v00008086d000027D8sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) - - pci:v00008086d000027D8sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) - - pci:v00008086d000027D8sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Panasonic CF-Y5 laptop) - - pci:v00008086d000027D8sv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=Toshiba Satellite A100-796 audio (Realtek ALC861) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Toshiba Satellite A100-796 audio (Realtek ALC861)) - - pci:v00008086d000027D8sv00001179sd0000FF31* -- ID_MODEL_FROM_DATABASE=AC97 Data Fax SoftModem with SmartCP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (AC97 Data Fax SoftModem with SmartCP) - - pci:v00008086d000027D8sv00001447sd00001043* -- ID_MODEL_FROM_DATABASE=Asus A8JP (Analog Devices AD1986A) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus A8JP (Analog Devices AD1986A)) - - pci:v00008086d000027D8sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Notebook N150P) - - pci:v00008086d000027D8sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-D525TUD (Realtek ALC887) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-D525TUD (Realtek ALC887)) - - pci:v00008086d000027D8sv00001458sd0000A102* -- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-8I945PG-RH Mainboard) - - pci:v00008086d000027D8sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Wind PC MS-7418) - - pci:v00008086d000027D8sv0000152Dsd00000753* -- ID_MODEL_FROM_DATABASE=Softmodem -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Softmodem) - - pci:v00008086d000027D8sv00001734sd000010AD* -- ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Conexant softmodem SmartCP) - - pci:v00008086d000027D8sv000017AAsd00002010* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027D8sv000017AAsd00003802* -- ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Lenovo 3000 C200 audio [Realtek ALC861VD]) - - pci:v00008086d000027D8sv00008086sd00001112* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) - - pci:v00008086d000027D8sv00008086sd000027D8* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) - - pci:v00008086d000027D8sv00008086sd0000D618* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D510MO) - - pci:v00008086d000027D8sv00008384sd00007680* -- ID_MODEL_FROM_DATABASE=STAC9221 HD Audio Codec -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (STAC9221 HD Audio Codec) - - pci:v00008086d000027DA* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller - - pci:v00008086d000027DAsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (9814 WKMI) - - pci:v00008086d000027DAsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (OptiPlex GX620) - - pci:v00008086d000027DAsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (XPS M1210) - - pci:v00008086d000027DAsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge SC440) - - pci:v00008086d000027DAsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge 860) - - pci:v00008086d000027DAsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Pavilion A1512X) - - pci:v00008086d000027DAsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (P5KPL-VM Motherboard) - - pci:v00008086d000027DAsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) - - pci:v00008086d000027DAsv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) - - pci:v00008086d000027DAsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Notebook N150P) - - pci:v00008086d000027DAsv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (GA-8I945PG-RH/GA-D525TUD Mainboard) - - pci:v00008086d000027DAsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Wind PC MS-7418) - - pci:v00008086d000027DAsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (CC11/CL11) - - pci:v00008086d000027DAsv000017AAsd0000200F* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027DAsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D510MO) - - pci:v00008086d000027DAsv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Desktop Board D425KT) - - pci:v00008086d000027DAsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D945GTP) - - pci:v00008086d000027DAsv00008086sd00005842* -- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D975XBX) - - pci:v00008086d000027DC* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller - - pci:v00008086d000027DCsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (Pavilion A1512X) - - pci:v00008086d000027DCsv00008086sd0000308D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (DeskTop Board D945GTP) - - pci:v00008086d000027DD* - ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Modem Controller -@@ -64950,88 +64950,88 @@ pci:v00008086d000027DE* - ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller - - pci:v00008086d000027DEsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (OptiPlex GX620) - - pci:v00008086d000027DEsv00001462sd00007267* -- ID_MODEL_FROM_DATABASE=Realtek ALC883 Audio Controller -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (Realtek ALC883 Audio Controller) - - pci:v00008086d000027DEsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11 integrated audio (AD1981BL codec) -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (CC11 integrated audio (AD1981BL codec)) - - pci:v00008086d000027DF* - ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller - - pci:v00008086d000027DFsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge SC440) - - pci:v00008086d000027DFsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge 860) - - pci:v00008086d000027DFsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Pavilion A1512X) - - pci:v00008086d000027DFsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nx9420 Notebook) - - pci:v00008086d000027DFsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (NC2400) - - pci:v00008086d000027DFsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nw8440) - - pci:v00008086d000027DFsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (A6J-Q008) - - pci:v00008086d000027DFsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (P5KPL-VM Motherboard) - - pci:v00008086d000027DFsv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (E4500) - - pci:v00008086d000027DFsv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Panasonic CF-Y5 laptop) - - pci:v00008086d000027DFsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Wind PC MS-7418) - - pci:v00008086d000027DFsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (CC11/CL11) - - pci:v00008086d000027DFsv000017AAsd0000200C* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027DFsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (DeskTop Board D945GTP) - - pci:v00008086d000027E0* - ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 - - pci:v00008086d000027E0sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (CC11/CL11) - - pci:v00008086d000027E2* - ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 - - pci:v00008086d000027E2sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (CC11/CL11) - - pci:v00008086d00002810* - ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller - - pci:v00008086d00002810sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller (P5B) - - pci:v00008086d00002811* - ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller - - pci:v00008086d00002811sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (Compaq 6910p) - - pci:v00008086d00002811sv000017AAsd000020B6* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (ThinkPad T61/R61) - - pci:v00008086d00002811sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (CCG-RUMBA) - - pci:v00008086d00002812* - ID_MODEL_FROM_DATABASE=82801HH (ICH8DH) LPC Interface Controller -@@ -65043,34 +65043,34 @@ pci:v00008086d00002815* - ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller - - pci:v00008086d00002815sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Aspire 5920G) - - pci:v00008086d00002815sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Inspiron 1420) - - pci:v00008086d00002815sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Compaq 6710b) - - pci:v00008086d00002815sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Pavilion dv6700) - - pci:v00008086d00002815sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Presario C700) - - pci:v00008086d00002815sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Vaio VGN-FZ260E) - - pci:v00008086d00002815sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) - - pci:v00008086d00002820* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] - - pci:v00008086d00002820sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (OptiPlex 745) - - pci:v00008086d00002820sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002821* - ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode] -@@ -65079,10 +65079,10 @@ pci:v00008086d00002822* - ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] - - pci:v00008086d00002822sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Inspiron 530) - - pci:v00008086d00002822sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002823* - ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller -@@ -65091,16 +65091,16 @@ pci:v00008086d00002824* - ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] - - pci:v00008086d00002824sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] (P5B) - - pci:v00008086d00002825* - ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] - - pci:v00008086d00002825sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (OptiPlex 745) - - pci:v00008086d00002825sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002826* - ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller -@@ -65112,424 +65112,424 @@ pci:v00008086d00002828* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] - - pci:v00008086d00002828sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Inspiron 1420) - - pci:v00008086d00002828sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Compaq 6710b) - - pci:v00008086d00002828sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (CCG-RUMBA) - - pci:v00008086d00002829* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] - - pci:v00008086d00002829sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Aspire 5920G) - - pci:v00008086d00002829sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6710b) - - pci:v00008086d00002829sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6910p) - - pci:v00008086d00002829sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Pavilion dv6700) - - pci:v00008086d00002829sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Presario C700) - - pci:v00008086d00002829sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Vaio VGN-FZ260E) - - pci:v00008086d00002829sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (VAIO VGN-NR120E) - - pci:v00008086d00002829sv000017AAsd000020A7* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) - - pci:v00008086d00002829sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) - - pci:v00008086d0000282A* - ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] - - pci:v00008086d0000282Asv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (Latitude E6510) - - pci:v00008086d0000282Asv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (PC1-GROOVE) - - pci:v00008086d00002830* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 - - pci:v00008086d00002830sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Acer Aspire 5920G) - - pci:v00008086d00002830sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (OptiPlex 745) - - pci:v00008086d00002830sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Inspiron 1420) - - pci:v00008086d00002830sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6710b) - - pci:v00008086d00002830sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6910p) - - pci:v00008086d00002830sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Pavilion dv6700) - - pci:v00008086d00002830sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Presario C700) - - pci:v00008086d00002830sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P5B) - - pci:v00008086d00002830sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Vaio VGN-FZ260E) - - pci:v00008086d00002830sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (VAIO VGN-NR120E) - - pci:v00008086d00002830sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002830sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) - - pci:v00008086d00002830sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) - - pci:v00008086d00002831* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 - - pci:v00008086d00002831sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Aspire 5920G) - - pci:v00008086d00002831sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (OptiPlex 745) - - pci:v00008086d00002831sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Inspiron 1420) - - pci:v00008086d00002831sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6710b) - - pci:v00008086d00002831sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6910p) - - pci:v00008086d00002831sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Pavilion dv6700) - - pci:v00008086d00002831sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Presario C700) - - pci:v00008086d00002831sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P5B) - - pci:v00008086d00002831sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Vaio VGN-FZ260E) - - pci:v00008086d00002831sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (VAIO VGN-NR120E) - - pci:v00008086d00002831sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002831sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) - - pci:v00008086d00002831sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) - - pci:v00008086d00002832* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 - - pci:v00008086d00002832sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Aspire 5920G) - - pci:v00008086d00002832sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (OptiPlex 745) - - pci:v00008086d00002832sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Inspiron 1420) - - pci:v00008086d00002832sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6710b) - - pci:v00008086d00002832sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6910p) - - pci:v00008086d00002832sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Pavilion dv6700) - - pci:v00008086d00002832sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Presario C700) - - pci:v00008086d00002832sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (P5B) - - pci:v00008086d00002832sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Vaio VGN-FZ260E) - - pci:v00008086d00002832sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (VAIO VGN-NR120E) - - pci:v00008086d00002832sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) - - pci:v00008086d00002832sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) - - pci:v00008086d00002833* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 - - pci:v00008086d00002833sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) - - pci:v00008086d00002834* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 - - pci:v00008086d00002834sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Aspire 5920G) - - pci:v00008086d00002834sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (OptiPlex 745) - - pci:v00008086d00002834sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Inspiron 1420) - - pci:v00008086d00002834sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6710b) - - pci:v00008086d00002834sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6910p) - - pci:v00008086d00002834sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Pavilion dv6700) - - pci:v00008086d00002834sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) - - pci:v00008086d00002834sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Vaio VGN-FZ260E) - - pci:v00008086d00002834sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (VAIO VGN-NR120E) - - pci:v00008086d00002834sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002834sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) - - pci:v00008086d00002834sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) - - pci:v00008086d00002835* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 - - pci:v00008086d00002835sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Acer Aspire 5920G) - - pci:v00008086d00002835sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (OptiPlex 745) - - pci:v00008086d00002835sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Inspiron 1420) - - pci:v00008086d00002835sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6710b) - - pci:v00008086d00002835sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6910p) - - pci:v00008086d00002835sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Pavilion dv6700) - - pci:v00008086d00002835sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (P5B) - - pci:v00008086d00002835sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Vaio VGN-FZ260E) - - pci:v00008086d00002835sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (VAIO VGN-NR120E) - - pci:v00008086d00002835sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=Thinkpad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) - - pci:v00008086d00002835sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) - - pci:v00008086d00002836* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 - - pci:v00008086d00002836sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Aspire 5920G) - - pci:v00008086d00002836sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (OptiPlex 745) - - pci:v00008086d00002836sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Inspiron 1420) - - pci:v00008086d00002836sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6710b) - - pci:v00008086d00002836sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6910p) - - pci:v00008086d00002836sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Pavilion dv6700) - - pci:v00008086d00002836sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Presario C700) - - pci:v00008086d00002836sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P5B) - - pci:v00008086d00002836sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Vaio VGN-FZ260E) - - pci:v00008086d00002836sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (VAIO VGN-NR120E) - - pci:v00008086d00002836sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002836sv000017AAsd000020AB* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) - - pci:v00008086d00002836sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) - - pci:v00008086d0000283A* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 - - pci:v00008086d0000283Asv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Acer Aspire 5920G) - - pci:v00008086d0000283Asv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (OptiPlex 745) - - pci:v00008086d0000283Asv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Inspiron 1420) - - pci:v00008086d0000283Asv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6710b) - - pci:v00008086d0000283Asv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6910p) - - pci:v00008086d0000283Asv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Pavilion dv6700) - - pci:v00008086d0000283Asv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (P5B) - - pci:v00008086d0000283Asv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Vaio VGN-FZ260E) - - pci:v00008086d0000283Asv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (VAIO VGN-NR120E) - - pci:v00008086d0000283Asv000017AAsd000020AB* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) - - pci:v00008086d0000283Asv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) - - pci:v00008086d0000283E* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller - - pci:v00008086d0000283Esv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Aspire 5920G) - - pci:v00008086d0000283Esv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (OptiPlex 745) - - pci:v00008086d0000283Esv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Inspiron 1420) - - pci:v00008086d0000283Esv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Presario C700) - - pci:v00008086d0000283Esv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P5B) - - pci:v00008086d0000283Esv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-FZ260E) - - pci:v00008086d0000283Esv0000104Dsd00009008* -- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-SZ79SN_C) - - pci:v00008086d0000283Esv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (VAIO VGN-NR120E) - - pci:v00008086d0000283Esv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P965 Neo MS-7235 mainboard) - - pci:v00008086d0000283Esv000017AAsd000020A9* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) - - pci:v00008086d0000283Esv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) - - pci:v00008086d0000283F* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 - - pci:v00008086d0000283Fsv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (OptiPlex 745) - - pci:v00008086d0000283Fsv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Compaq 6910p) - - pci:v00008086d0000283Fsv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (VAIO VGN-NR120E) - - pci:v00008086d0000283Fsv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) - - pci:v00008086d00002841* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 - - pci:v00008086d00002841sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Compaq 6910p) - - pci:v00008086d00002841sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (VAIO VGN-NR120E) - - pci:v00008086d00002841sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) - - pci:v00008086d00002843* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 - - pci:v00008086d00002843sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (VAIO VGN-NR120E) - - pci:v00008086d00002843sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) - - pci:v00008086d00002845* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 - - pci:v00008086d00002845sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) - - pci:v00008086d00002847* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 - - pci:v00008086d00002847sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (OptiPlex 745) - - pci:v00008086d00002847sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Compaq 6910p) - - pci:v00008086d00002847sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) - - pci:v00008086d00002849* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 -@@ -65538,70 +65538,70 @@ pci:v00008086d0000284B* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller - - pci:v00008086d0000284Bsv00001025sd0000011F* -- ID_MODEL_FROM_DATABASE=Realtek ALC268 audio codec -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC268 audio codec) - - pci:v00008086d0000284Bsv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Aspire 5920G) - - pci:v00008086d0000284Bsv00001025sd00000145* -- ID_MODEL_FROM_DATABASE=Realtek ALC889 (Aspire 8920G w. Dolby Theather) -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC889 (Aspire 8920G w. Dolby Theather)) - - pci:v00008086d0000284Bsv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (OptiPlex 745) - - pci:v00008086d0000284Bsv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Inspiron 1420) - - pci:v00008086d0000284Bsv00001028sd000001F9* -- ID_MODEL_FROM_DATABASE=Dell Latitude D630 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Latitude D630) - - pci:v00008086d0000284Bsv00001028sd000001FF* -- ID_MODEL_FROM_DATABASE=Dell Precision M4300 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Precision M4300) - - pci:v00008086d0000284Bsv00001028sd00000256* -- ID_MODEL_FROM_DATABASE=Studio 1735 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Studio 1735) - - pci:v00008086d0000284Bsv0000103Csd00002802* -- ID_MODEL_FROM_DATABASE=HP Compaq dc7700p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (HP Compaq dc7700p) - - pci:v00008086d0000284Bsv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6710b) - - pci:v00008086d0000284Bsv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6910p) - - pci:v00008086d0000284Bsv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Pavilion dv6700) - - pci:v00008086d0000284Bsv00001043sd00001339* -- ID_MODEL_FROM_DATABASE=Asus M51S series -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Asus M51S series) - - pci:v00008086d0000284Bsv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (P5B) - - pci:v00008086d0000284Bsv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-FZ260E) - - pci:v00008086d0000284Bsv0000104Dsd00009008* -- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-SZ79SN_C) - - pci:v00008086d0000284Bsv0000104Dsd00009016* -- ID_MODEL_FROM_DATABASE=Sony VAIO VGN-AR51M -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Sony VAIO VGN-AR51M) - - pci:v00008086d0000284Bsv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (VAIO VGN-NR120E) - - pci:v00008086d0000284Bsv000014F1sd00005051* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Presario C700) - - pci:v00008086d0000284Bsv000017AAsd000020AC* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) - - pci:v00008086d0000284Bsv00008384sd00007616* -- ID_MODEL_FROM_DATABASE=Dell Vostro 1400 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) - - pci:v00008086d0000284Bsv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (CCG-RUMBA) - - pci:v00008086d0000284F* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) Thermal Reporting Device -@@ -65610,34 +65610,34 @@ pci:v00008086d00002850* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller - - pci:v00008086d00002850sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Aspire 5920G) - - pci:v00008086d00002850sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Inspiron 1420) - - pci:v00008086d00002850sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6710b) - - pci:v00008086d00002850sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6910p) - - pci:v00008086d00002850sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Pavilion dv6700) - - pci:v00008086d00002850sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Presario C700) - - pci:v00008086d00002850sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Vaio VGN-FZ260E) - - pci:v00008086d00002850sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (VAIO VGN-NR120E) - - pci:v00008086d00002850sv000017AAsd000020A6* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) - - pci:v00008086d00002850sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) - - pci:v00008086d00002912* - ID_MODEL_FROM_DATABASE=82801IH (ICH9DH) LPC Interface Controller -@@ -65646,40 +65646,40 @@ pci:v00008086d00002914* - ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller - - pci:v00008086d00002914sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller (Optiplex 755) - - pci:v00008086d00002916* - ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller - - pci:v00008086d00002916sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Inspiron 530) - - pci:v00008086d00002916sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002916sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (P5K PRO Motherboard) - - pci:v00008086d00002916sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Desktop Board DP35DP) - - pci:v00008086d00002917* - ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller - - pci:v00008086d00002917sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller (CCM-BOOGIE) - - pci:v00008086d00002918* - ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller - - pci:v00008086d00002918sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 82801IB (ICH9) LPC Interface Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (PowerEdge R610 82801IB (ICH9) LPC Interface Controller) - - pci:v00008086d00002918sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (G33/P35 Neo) - - pci:v00008086d00002918sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (QEMU Virtual Machine) - - pci:v00008086d00002919* - ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller -@@ -65688,46 +65688,46 @@ pci:v00008086d00002920* - ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] - - pci:v00008086d00002920sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Inspiron 530) - - pci:v00008086d00002920sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) - - pci:v00008086d00002920sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) - - pci:v00008086d00002920sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Optiplex 755) - - pci:v00008086d00002920sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R200 onboard SATA Controller) - - pci:v00008086d00002920sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (P5K PRO Motherboard) - - pci:v00008086d00002921* - ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] - - pci:v00008086d00002921sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R710 SATA IDE Controller) - - pci:v00008086d00002921sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R610 SATA IDE Controller) - - pci:v00008086d00002921sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge T610 SATA IDE Controller) - - pci:v00008086d00002921sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (G33/P35 Neo) - - pci:v00008086d00002922* - ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] - - pci:v00008086d00002922sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (QEMU Virtual Machine) - - pci:v00008086d00002922sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (Desktop Board DP35DP) - - pci:v00008086d00002923* - ID_MODEL_FROM_DATABASE=82801IB (ICH9) 4 port SATA Controller [AHCI mode] -@@ -65736,31 +65736,31 @@ pci:v00008086d00002925* - ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] - - pci:v00008086d00002925sv00001734sd000010E0* -- ID_MODEL_FROM_DATABASE=System Board D2542 -+ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) - - pci:v00008086d00002925sv00008086sd00002925* -- ID_MODEL_FROM_DATABASE=System Board D2542 -+ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) - - pci:v00008086d00002926* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] - - pci:v00008086d00002926sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Inspiron 530) - - pci:v00008086d00002926sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) - - pci:v00008086d00002926sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) - - pci:v00008086d00002926sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Optiplex 755) - - pci:v00008086d00002926sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (P5K PRO Motherboard) - - pci:v00008086d00002926sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (G33/P35 Neo) - - pci:v00008086d00002928* - ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] -@@ -65769,10 +65769,10 @@ pci:v00008086d00002929* - ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] - - pci:v00008086d00002929sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (dv6-1190en) - - pci:v00008086d00002929sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (CCM-BOOGIE) - - pci:v00008086d0000292C* - ID_MODEL_FROM_DATABASE=82801IEM (ICH9M-E) SATA Controller [RAID mode] -@@ -65781,511 +65781,511 @@ pci:v00008086d0000292D* - ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] - - pci:v00008086d0000292Dsv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] (CCM-BOOGIE) - - pci:v00008086d00002930* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller - - pci:v00008086d00002930sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Inspiron 530) - - pci:v00008086d00002930sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Optiplex 755) - - pci:v00008086d00002930sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002930sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (dv6-1190en) - - pci:v00008086d00002930sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (P5K PRO Motherboard) - - pci:v00008086d00002930sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (G33/P35 Neo) - - pci:v00008086d00002930sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (QEMU Virtual Machine) - - pci:v00008086d00002930sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Desktop Board DP35DP) - - pci:v00008086d00002930sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (CCM-BOOGIE) - - pci:v00008086d00002932* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem - - pci:v00008086d00002932sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem (dv6-1190en) - - pci:v00008086d00002934* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 - - pci:v00008086d00002934sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Inspiron 530) - - pci:v00008086d00002934sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R300 onboard UHCI) - - pci:v00008086d00002934sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002934sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) - - pci:v00008086d00002934sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R200 onboard UHCI) - - pci:v00008086d00002934sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002934sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd00002011* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) - - pci:v00008086d00002934sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002934sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (P5K PRO Motherboard) - - pci:v00008086d00002934sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (G33/P35 Neo) - - pci:v00008086d00002934sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (QEMU Virtual Machine) - - pci:v00008086d00002934sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Desktop Board DP35DP) - - pci:v00008086d00002934sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (CCM-BOOGIE) - - pci:v00008086d00002935* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 - - pci:v00008086d00002935sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Inspiron 530) - - pci:v00008086d00002935sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R300 onboard UHCI) - - pci:v00008086d00002935sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002935sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Optiplex 755) - - pci:v00008086d00002935sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002935sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002935sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002935sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R200 onboard UHCI) - - pci:v00008086d00002935sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002935sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002935sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002935sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (P5K PRO Motherboard) - - pci:v00008086d00002935sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (G33/P35 Neo) - - pci:v00008086d00002935sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (QEMU Virtual Machine) - - pci:v00008086d00002935sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Desktop Board DP35DP) - - pci:v00008086d00002935sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (CCM-BOOGIE) - - pci:v00008086d00002936* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 - - pci:v00008086d00002936sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Inspiron 530) - - pci:v00008086d00002936sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R300 onboard UHCI) - - pci:v00008086d00002936sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002936sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Optiplex 755) - - pci:v00008086d00002936sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002936sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R200 onboard UHCI) - - pci:v00008086d00002936sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002936sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002936sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002936sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (P5K PRO Motherboard) - - pci:v00008086d00002936sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (G33/P35 Neo) - - pci:v00008086d00002936sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (QEMU Virtual Machine) - - pci:v00008086d00002936sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Desktop Board DP35DP) - - pci:v00008086d00002936sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (CCM-BOOGIE) - - pci:v00008086d00002937* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 - - pci:v00008086d00002937sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Inspiron 530) - - pci:v00008086d00002937sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) - - pci:v00008086d00002937sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002937sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00002011* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) - - pci:v00008086d00002937sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002937sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (P5K PRO Motherboard) - - pci:v00008086d00002937sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (G33/P35 Neo) - - pci:v00008086d00002937sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (QEMU Virtual Machine) - - pci:v00008086d00002937sv00008086sd00002937* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) - - pci:v00008086d00002937sv00008086sd00002942* -- ID_MODEL_FROM_DATABASE=828011 (ICH9 Family ) USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (828011 (ICH9 Family ) USB UHCI Controller) - - pci:v00008086d00002937sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Desktop Board DP35DP) - - pci:v00008086d00002937sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (CCM-BOOGIE) - - pci:v00008086d00002938* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 - - pci:v00008086d00002938sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Inspiron 530) - - pci:v00008086d00002938sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) - - pci:v00008086d00002938sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002938sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002938sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002938sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002938sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002938sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002938sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (P5K PRO Motherboard) - - pci:v00008086d00002938sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (G33/P35 Neo) - - pci:v00008086d00002938sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (QEMU Virtual Machine) - - pci:v00008086d00002938sv00008086sd00002938* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) - - pci:v00008086d00002938sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Desktop Board DP35DP) - - pci:v00008086d00002938sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (CCM-BOOGIE) - - pci:v00008086d00002939* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 - - pci:v00008086d00002939sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Inspiron 530) - - pci:v00008086d00002939sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002939sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002939sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002939sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (P5K PRO Motherboard) - - pci:v00008086d00002939sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (G33/P35 Neo) - - pci:v00008086d00002939sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (QEMU Virtual Machine) - - pci:v00008086d00002939sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Desktop Board DP35DP) - - pci:v00008086d00002939sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (CCM-BOOGIE) - - pci:v00008086d0000293A* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 - - pci:v00008086d0000293Asv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Inspiron 530) - - pci:v00008086d0000293Asv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R300 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T300 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Optiplex 755) - - pci:v00008086d0000293Asv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R710 USB EHCI Controller) - - pci:v00008086d0000293Asv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R610 USB EHCI Controller) - - pci:v00008086d0000293Asv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T610 USB EHCI Controller) - - pci:v00008086d0000293Asv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R200 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M610 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M710 USB EHCI Controller) - - pci:v00008086d0000293Asv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000293Asv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (P5K PRO Motherboard) - - pci:v00008086d0000293Asv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (G33/P35 Neo) - - pci:v00008086d0000293Asv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (QEMU Virtual Machine) - - pci:v00008086d0000293Asv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Desktop Board DP35DP) - - pci:v00008086d0000293Asv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (CCM-BOOGIE) - - pci:v00008086d0000293C* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 - - pci:v00008086d0000293Csv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Inspiron 530) - - pci:v00008086d0000293Csv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) - - pci:v00008086d0000293Csv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R710 USB EHCI Controller) - - pci:v00008086d0000293Csv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R610 USB EHCI Controller) - - pci:v00008086d0000293Csv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge T610 USB EHCI Controller) - - pci:v00008086d0000293Csv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M610 onboard EHCI) - - pci:v00008086d0000293Csv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M710 USB EHCI Controller) - - pci:v00008086d0000293Csv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000293Csv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (P5K PRO Motherboard) - - pci:v00008086d0000293Csv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (G33/P35 Neo) - - pci:v00008086d0000293Csv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (QEMU Virtual Machine) - - pci:v00008086d0000293Csv00008086sd0000293C* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) - - pci:v00008086d0000293Csv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Desktop Board DP35DP) - - pci:v00008086d0000293Csv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (CCM-BOOGIE) - - pci:v00008086d0000293E* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller - - pci:v00008086d0000293Esv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Inspiron 530) - - pci:v00008086d0000293Esv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) - - pci:v00008086d0000293Esv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000293Esv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (dv6-1190en) - - pci:v00008086d0000293Esv00001043sd0000829F* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (P5K PRO Motherboard) - - pci:v00008086d0000293Esv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (G33/P35 Neo) - - pci:v00008086d0000293Esv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (QEMU Virtual Machine) - - pci:v00008086d0000293Esv00008086sd0000293E* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) - - pci:v00008086d0000293Esv00008086sd00002940* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) - - pci:v00008086d0000293Esv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (CCM-BOOGIE) - - pci:v00008086d00002940* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 - - pci:v00008086d00002940sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Inspiron 530) - - pci:v00008086d00002940sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) - - pci:v00008086d00002940sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002940sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (P5K PRO Motherboard) - - pci:v00008086d00002940sv00008086sd00002940* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) - - pci:v00008086d00002942* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 - - pci:v00008086d00002942sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 (Inspiron 530) - - pci:v00008086d00002944* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 - - pci:v00008086d00002944sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Inspiron 530) - - pci:v00008086d00002944sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002946* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 - - pci:v00008086d00002946sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 (Inspiron 530) - - pci:v00008086d00002948* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 - - pci:v00008086d00002948sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (Inspiron 530) - - pci:v00008086d00002948sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (P5K PRO Motherboard) - - pci:v00008086d0000294A* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 - - pci:v00008086d0000294Asv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (Inspiron 530) - - pci:v00008086d0000294Asv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (P5K PRO Motherboard) - - pci:v00008086d0000294C* - ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection - - pci:v00008086d0000294Csv000017AAsd0000302E* -- ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection -+ ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection (82566DM-2 Gigabit Network Connection) - - pci:v00008086d00002970* - ID_MODEL_FROM_DATABASE=82946GZ/PL/GL Memory Controller Hub -@@ -66330,7 +66330,7 @@ pci:v00008086d00002990* - ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub - - pci:v00008086d00002990sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub (OptiPlex 745) - - pci:v00008086d00002991* - ID_MODEL_FROM_DATABASE=82Q963/Q965 PCI Express Root Port -@@ -66357,10 +66357,10 @@ pci:v00008086d000029A0* - ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub - - pci:v00008086d000029A0sv00001043sd000081EA* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (P5B) - - pci:v00008086d000029A0sv00001462sd00007276* -- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] -+ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (MS-7276 [G965MDH]) - - pci:v00008086d000029A1* - ID_MODEL_FROM_DATABASE=82P965/G965 PCI Express Root Port -@@ -66369,7 +66369,7 @@ pci:v00008086d000029A2* - ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller - - pci:v00008086d000029A2sv00001462sd00007276* -- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] -+ ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller (MS-7276 [G965MDH]) - - pci:v00008086d000029A3* - ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller -@@ -66390,31 +66390,31 @@ pci:v00008086d000029B0* - ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller - - pci:v00008086d000029B0sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller (OptiPlex 755) - - pci:v00008086d000029B1* - ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port - - pci:v00008086d000029B1sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port (OptiPlex 755) - - pci:v00008086d000029B2* - ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller - - pci:v00008086d000029B2sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) - - pci:v00008086d000029B3* - ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller - - pci:v00008086d000029B3sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) - - pci:v00008086d000029B4* - ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller - - pci:v00008086d000029B4sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller (OptiPlex 755) - - pci:v00008086d000029B5* - ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller -@@ -66423,70 +66423,70 @@ pci:v00008086d000029B6* - ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller - - pci:v00008086d000029B6sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller (OptiPlex 755) - - pci:v00008086d000029B7* - ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller - - pci:v00008086d000029B7sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller (OptiPlex 755) - - pci:v00008086d000029C0* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller - - pci:v00008086d000029C0sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Inspiron 530) - - pci:v00008086d000029C0sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d000029C0sv00001043sd00008276* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5K PRO Motherboard) - - pci:v00008086d000029C0sv00001043sd000082B0* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5KPL-VM Motherboard) - - pci:v00008086d000029C0sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (G33/P35 Neo) - - pci:v00008086d000029C0sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (QEMU Virtual Machine) - - pci:v00008086d000029C0sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Desktop Board DP35DP) - - pci:v00008086d000029C1* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port - - pci:v00008086d000029C1sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (Inspiron 530) - - pci:v00008086d000029C1sv00001043sd00008276* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (P5K PRO Motherboard) - - pci:v00008086d000029C2* - ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller - - pci:v00008086d000029C2sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) - - pci:v00008086d000029C2sv00001043sd000082B0* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) - - pci:v00008086d000029C3* - ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller - - pci:v00008086d000029C3sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) - - pci:v00008086d000029C3sv00001043sd000082B0* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) - - pci:v00008086d000029C4* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller - - pci:v00008086d000029C4sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller (Desktop Board DP35DP) - - pci:v00008086d000029C5* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller -@@ -66570,37 +66570,37 @@ pci:v00008086d00002A00* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub - - pci:v00008086d00002A00sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Acer Aspire 5920G) - - pci:v00008086d00002A00sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Inspiron 1420) - - pci:v00008086d00002A00sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6710b) - - pci:v00008086d00002A00sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6910p) - - pci:v00008086d00002A00sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Pavilion dv6700) - - pci:v00008086d00002A00sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Presario C700) - - pci:v00008086d00002A00sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Vaio VGN-FZ260E) - - pci:v00008086d00002A00sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (VAIO VGN-NR120E) - - pci:v00008086d00002A00sv000017AAsd000020B1* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61) - - pci:v00008086d00002A00sv000017AAsd000020B3* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) - - pci:v00008086d00002A00sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) - - pci:v00008086d00002A01* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 PCI Express Root Port -@@ -66609,52 +66609,52 @@ pci:v00008086d00002A02* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) - - pci:v00008086d00002A02sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Inspiron 1420) - - pci:v00008086d00002A02sv00001028sd000001F9* -- ID_MODEL_FROM_DATABASE=Latitude D630 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Latitude D630) - - pci:v00008086d00002A02sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Compaq 6710b) - - pci:v00008086d00002A02sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Presario C700) - - pci:v00008086d00002A02sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (VAIO VGN-NR120E) - - pci:v00008086d00002A02sv000017AAsd000020B5* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) - - pci:v00008086d00002A02sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) - - pci:v00008086d00002A03* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) - - pci:v00008086d00002A03sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Dell Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) - - pci:v00008086d00002A03sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) - - pci:v00008086d00002A03sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Presario C700) - - pci:v00008086d00002A03sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (VAIO VGN-NR120E) - - pci:v00008086d00002A03sv000017AAsd000020B5* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) - - pci:v00008086d00002A03sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) - - pci:v00008086d00002A04* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller - - pci:v00008086d00002A04sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller (Compaq 6910p) - - pci:v00008086d00002A05* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller -@@ -66663,19 +66663,19 @@ pci:v00008086d00002A06* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller - - pci:v00008086d00002A06sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller (Compaq 6910p) - - pci:v00008086d00002A07* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller - - pci:v00008086d00002A07sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller (Compaq 6910p) - - pci:v00008086d00002A10* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub - - pci:v00008086d00002A10sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub (CCG-RUMBA) - - pci:v00008086d00002A11* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 PCI Express Root Port -@@ -66684,13 +66684,13 @@ pci:v00008086d00002A12* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller - - pci:v00008086d00002A12sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) - - pci:v00008086d00002A13* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller - - pci:v00008086d00002A13sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) - - pci:v00008086d00002A14* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller -@@ -66708,25 +66708,25 @@ pci:v00008086d00002A40* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub - - pci:v00008086d00002A40sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub (CCM-BOOGIE) - - pci:v00008086d00002A41* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port - - pci:v00008086d00002A41sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port (CCM-BOOGIE) - - pci:v00008086d00002A42* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002A42sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) - - pci:v00008086d00002A43* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002A43sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) - - pci:v00008086d00002A44* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller -@@ -67251,34 +67251,34 @@ pci:v00008086d00002E20* - ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller - - pci:v00008086d00002E20sv00001028sd00000283* -- ID_MODEL_FROM_DATABASE=Dell Vostro 220 -+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (Dell Vostro 220) - - pci:v00008086d00002E20sv00001043sd000082D3* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00002E20sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00002E21* - ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port - - pci:v00008086d00002E21sv00001043sd000082D3* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (P5Q Deluxe Motherboard) - - pci:v00008086d00002E21sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (GA-EP45-DS5 Motherboard) - - pci:v00008086d00002E22* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002E22sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) - - pci:v00008086d00002E23* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002E23sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) - - pci:v00008086d00002E24* - ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller -@@ -67917,16 +67917,16 @@ pci:v00008086d00003200* - ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA - - pci:v00008086d00003200sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K onboard SATA host bus adapter -+ ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA (C2K onboard SATA host bus adapter) - - pci:v00008086d00003310* - ID_MODEL_FROM_DATABASE=IOP348 I/O Processor - - pci:v00008086d00003310sv00001054sd00003030* -- ID_MODEL_FROM_DATABASE=HRA380 Hitachi RAID Adapter to PCIe -+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA380 Hitachi RAID Adapter to PCIe) - - pci:v00008086d00003310sv00001054sd00003034* -- ID_MODEL_FROM_DATABASE=HRA381 Hitachi RAID Adapter to PCIe -+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA381 Hitachi RAID Adapter to PCIe) - - pci:v00008086d00003313* - ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA -@@ -67944,31 +67944,31 @@ pci:v00008086d00003340* - ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller - - pci:v00008086d00003340sv00001014sd00000529* -- ID_MODEL_FROM_DATABASE=Thinkpad T40 series -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (Thinkpad T40 series) - - pci:v00008086d00003340sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (TravelMate 290) - - pci:v00008086d00003340sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC8000 laptop) - - pci:v00008086d00003340sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC6000 laptop) - - pci:v00008086d00003340sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (tc1100 tablet) - - pci:v00008086d00003340sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (X10 Laptop) - - pci:v00008086d00003340sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (P30/P35 notebook) - - pci:v00008086d00003341* - ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller - - pci:v00008086d00003341sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller (P30 notebook) - - pci:v00008086d00003363* - ID_MODEL_FROM_DATABASE=IOC340 I/O Controller in IOC Mode SAS/SATA -@@ -67995,19 +67995,19 @@ pci:v00008086d00003403* - ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port - - pci:v00008086d00003403sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R610 I/O Hub to ESI Port) - - pci:v00008086d00003403sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge M610 I/O Hub to ESI Port) - - pci:v00008086d00003403sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R410 I/O Hub to ESI Port) - - pci:v00008086d00003403sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge T410 I/O Hub to ESI Port) - - pci:v00008086d00003403sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (ProLiant ML150 G6 Server) - - pci:v00008086d00003404* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port -@@ -68019,7 +68019,7 @@ pci:v00008086d00003406* - ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port - - pci:v00008086d00003406sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port (ProLiant G6 series) - - pci:v00008086d00003407* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port -@@ -68028,7 +68028,7 @@ pci:v00008086d00003408* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 - - pci:v00008086d00003408sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 (ProLiant G6 series) - - pci:v00008086d00003409* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 2 -@@ -68037,7 +68037,7 @@ pci:v00008086d0000340A* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 - - pci:v00008086d0000340Asv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 (ProLiant ML150 G6 Server) - - pci:v00008086d0000340B* - ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 4 -@@ -68052,7 +68052,7 @@ pci:v00008086d0000340E* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 - - pci:v00008086d0000340Esv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 (ProLiant ML150 G6 Server) - - pci:v00008086d0000340F* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 8 -@@ -68079,13 +68079,13 @@ pci:v00008086d00003422* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers - - pci:v00008086d00003422sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (ProLiant G6 series) - - pci:v00008086d00003423* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers - - pci:v00008086d00003423sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (ProLiant G6 series) - - pci:v00008086d00003425* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Physical and Link Layer Registers Port 0 -@@ -68118,7 +68118,7 @@ pci:v00008086d0000342E* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers - - pci:v00008086d0000342Esv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers (ProLiant G6 series) - - pci:v00008086d0000342F* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Trusted Execution Technology Registers -@@ -68142,10 +68142,10 @@ pci:v00008086d00003500* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port - - pci:v00008086d00003500sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (ProLiant DL140 G3) - - pci:v00008086d00003500sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (X7DBN Motherboard) - - pci:v00008086d00003501* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express Upstream Port -@@ -68160,10 +68160,10 @@ pci:v00008086d0000350C* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge - - pci:v00008086d0000350Csv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (ProLiant DL140 G3) - - pci:v00008086d0000350Csv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (X7DBN Motherboard) - - pci:v00008086d0000350D* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express to PCI-X Bridge -@@ -68172,10 +68172,10 @@ pci:v00008086d00003510* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 - - pci:v00008086d00003510sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (ProLiant DL140 G3) - - pci:v00008086d00003510sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (X7DBN Motherboard) - - pci:v00008086d00003511* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E1 -@@ -68190,7 +68190,7 @@ pci:v00008086d00003518* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 - - pci:v00008086d00003518sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 (X7DBN Motherboard) - - pci:v00008086d00003519* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E3 -@@ -68199,13 +68199,13 @@ pci:v00008086d00003575* - ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge - - pci:v00008086d00003575sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (Evo N600c) - - pci:v00008086d00003575sv00001014sd0000021D* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (ThinkPad A/T/X Series) - - pci:v00008086d00003575sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00003576* - ID_MODEL_FROM_DATABASE=82830M/MP AGP Bridge -@@ -68214,7 +68214,7 @@ pci:v00008086d00003577* - ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller - - pci:v00008086d00003577sv00001014sd00000513* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller (ThinkPad A/T/X Series) - - pci:v00008086d00003578* - ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge -@@ -68223,181 +68223,181 @@ pci:v00008086d00003580* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller - - pci:v00008086d00003580sv00001014sd0000055C* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) - - pci:v00008086d00003580sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) - - pci:v00008086d00003580sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) - - pci:v00008086d00003580sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) - - pci:v00008086d00003580sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) - - pci:v00008086d00003580sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) - - pci:v00008086d00003580sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) - - pci:v00008086d00003580sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) - - pci:v00008086d00003580sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) - - pci:v00008086d00003580sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) - - pci:v00008086d00003580sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) - - pci:v00008086d00003580sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) - - pci:v00008086d00003580sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) - - pci:v00008086d00003580sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CC9-SAMBA) - - pci:v00008086d00003580sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CD2-BEBOP) - - pci:v00008086d00003581* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller - - pci:v00008086d00003581sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller (Amilo M1420) - - pci:v00008086d00003582* - ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device - - pci:v00008086d00003582sv00001014sd00000562* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (ThinkPad R50e) - - pci:v00008086d00003582sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D400) - - pci:v00008086d00003582sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude X300) - - pci:v00008086d00003582sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D500) - - pci:v00008086d00003582sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D505) - - pci:v00008086d00003582sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Inspiron 700m/710m) - - pci:v00008086d00003582sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 integrated graphics -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PC8 integrated graphics) - - pci:v00008086d00003582sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer VGA -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (V5D Single Board Computer VGA) - - pci:v00008086d00003582sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CE9) - - pci:v00008086d00003582sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CL9 mainboard) - - pci:v00008086d00003582sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PSL09 PrPMC) - - pci:v00008086d00003582sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CC9-SAMBA) - - pci:v00008086d00003582sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CD2-BEBOP) - - pci:v00008086d00003584* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller - - pci:v00008086d00003584sv00001014sd0000055D* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) - - pci:v00008086d00003584sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) - - pci:v00008086d00003584sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) - - pci:v00008086d00003584sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) - - pci:v00008086d00003584sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) - - pci:v00008086d00003584sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) - - pci:v00008086d00003584sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) - - pci:v00008086d00003584sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) - - pci:v00008086d00003584sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) - - pci:v00008086d00003584sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) - - pci:v00008086d00003584sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) - - pci:v00008086d00003584sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) - - pci:v00008086d00003584sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) - - pci:v00008086d00003585* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller - - pci:v00008086d00003585sv00001014sd0000055E* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) - - pci:v00008086d00003585sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) - - pci:v00008086d00003585sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) - - pci:v00008086d00003585sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) - - pci:v00008086d00003585sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) - - pci:v00008086d00003585sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) - - pci:v00008086d00003585sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) - - pci:v00008086d00003585sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) - - pci:v00008086d00003585sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) - - pci:v00008086d00003585sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) - - pci:v00008086d00003585sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) - - pci:v00008086d00003585sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) - - pci:v00008086d00003585sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) - - pci:v00008086d0000358C* - ID_MODEL_FROM_DATABASE=82854 GMCH -@@ -68409,70 +68409,70 @@ pci:v00008086d00003590* - ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub - - pci:v00008086d00003590sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (eServer xSeries server mainboard) - - pci:v00008086d00003590sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Memory Controller Hub -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 1850 Memory Controller Hub) - - pci:v00008086d00003590sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Memory Controller Hub -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 2850 Memory Controller Hub) - - pci:v00008086d00003590sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge SC1425) - - pci:v00008086d00003590sv00001734sd0000103E* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PRIMERGY RX/TX S2 series) - - pci:v00008086d00003590sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (CR11/VR11 Single Board Computer) - - pci:v00008086d00003590sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (Telum ASLP10 Processor AMC) - - pci:v00008086d00003591* - ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers - - pci:v00008086d00003591sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (eServer xSeries server mainboard) - - pci:v00008086d00003591sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision Workstation 670 Mainboard) - - pci:v00008086d00003591sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision 470) - - pci:v00008086d00003591sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (ProLiant DL140 G2) - - pci:v00008086d00003591sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Telum ASLP10 Processor AMC) - - pci:v00008086d00003592* - ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub - - pci:v00008086d00003592sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d00003593* - ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers - - pci:v00008086d00003593sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d00003594* - ID_MODEL_FROM_DATABASE=E7520 DMA Controller - - pci:v00008086d00003594sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d00003594sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d00003595* - ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A - - pci:v00008086d00003595sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A (CR11/VR11 Single Board Computer) - - pci:v00008086d00003596* - ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A1 -@@ -68481,19 +68481,19 @@ pci:v00008086d00003597* - ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B - - pci:v00008086d00003597sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B (CR11/VR11 Single Board Computer) - - pci:v00008086d00003598* - ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 - - pci:v00008086d00003598sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 (CR11/VR11 Single Board Computer) - - pci:v00008086d00003599* - ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C - - pci:v00008086d00003599sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C (CR11/VR11 Single Board Computer) - - pci:v00008086d0000359A* - ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C1 -@@ -68502,16 +68502,16 @@ pci:v00008086d0000359B* - ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers - - pci:v00008086d0000359Bsv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers (eServer xSeries server mainboard) - - pci:v00008086d0000359E* - ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub - - pci:v00008086d0000359Esv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision Workstation 670 Mainboard) - - pci:v00008086d0000359Esv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision 470) - - pci:v00008086d000035B0* - ID_MODEL_FROM_DATABASE=3100 Chipset Memory I/O Controller Hub -@@ -68562,7 +68562,7 @@ pci:v00008086d0000360C* - ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers - - pci:v00008086d0000360Csv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 7300 Chipset FSB Registers -+ ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers (PowerEdge R900 7300 Chipset FSB Registers) - - pci:v00008086d0000360D* - ID_MODEL_FROM_DATABASE=7300 Chipset Snoop Filter Registers -@@ -68724,19 +68724,19 @@ pci:v00008086d00003A16* - ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller - - pci:v00008086d00003A16sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 LPC Interface Controller -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge R410 LPC Interface Controller) - - pci:v00008086d00003A16sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 LPC Interface Controller -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge T410 LPC Interface Controller) - - pci:v00008086d00003A16sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (ProLiant G6 series) - - pci:v00008086d00003A16sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A16sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A18* - ID_MODEL_FROM_DATABASE=82801JIB (ICH10) LPC Interface Controller -@@ -68748,52 +68748,52 @@ pci:v00008086d00003A20* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 - - pci:v00008086d00003A20sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge R410 SATA IDE Controller) - - pci:v00008086d00003A20sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge T410 SATA IDE Controller) - - pci:v00008086d00003A22* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller - - pci:v00008086d00003A22sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (ProLiant G6 series) - - pci:v00008086d00003A22sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A22sv00001458sd0000B005* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A25* - ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller - - pci:v00008086d00003A25sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R410) -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R410)) - - pci:v00008086d00003A25sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE T410) -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE T410)) - - pci:v00008086d00003A25sv00001028sd000002F1* -- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R510) -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R510)) - - pci:v00008086d00003A26* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 - - pci:v00008086d00003A26sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge R410 SATA IDE Controller) - - pci:v00008086d00003A26sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge T410 SATA IDE Controller) - - pci:v00008086d00003A30* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller - - pci:v00008086d00003A30sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A30sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A32* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Thermal Subsystem -@@ -68802,178 +68802,178 @@ pci:v00008086d00003A34* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 - - pci:v00008086d00003A34sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A34sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A34sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (ProLiant G6 series) - - pci:v00008086d00003A34sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A34sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A35* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 - - pci:v00008086d00003A35sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A35sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A35sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (ProLiant G6 series) - - pci:v00008086d00003A35sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A35sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A36* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 - - pci:v00008086d00003A36sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A36sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A36sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (ProLiant G6 series) - - pci:v00008086d00003A36sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A36sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A37* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 - - pci:v00008086d00003A37sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A37sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A37sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (ProLiant G6 series) - - pci:v00008086d00003A37sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A37sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (Motherboard) - - pci:v00008086d00003A38* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 - - pci:v00008086d00003A38sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A38sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A38sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A38sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A38sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (Motherboard) - - pci:v00008086d00003A39* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 - - pci:v00008086d00003A39sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A39sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A39sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A39sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A39sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (Motherboard) - - pci:v00008086d00003A3A* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 - - pci:v00008086d00003A3Asv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge R410 USB EHCI Controller) - - pci:v00008086d00003A3Asv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge T410 USB EHCI Controller) - - pci:v00008086d00003A3Asv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (ProLiant G6 series) - - pci:v00008086d00003A3Asv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A3Asv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A3C* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 - - pci:v00008086d00003A3Csv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge R410 USB EHCI Controller) - - pci:v00008086d00003A3Csv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge T410 USB EHCI Controller) - - pci:v00008086d00003A3Csv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (ProLiant G6 series) - - pci:v00008086d00003A3Csv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A3Csv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (Motherboard) - - pci:v00008086d00003A3E* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller - - pci:v00008086d00003A3Esv00001043sd00008311* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A3Esv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-EP45-UD3R Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-UD3R Motherboard) - - pci:v00008086d00003A3Esv00001458sd0000A102* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A40* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 - - pci:v00008086d00003A40sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 PCI Express Port 1 -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge R410 PCI Express Port 1) - - pci:v00008086d00003A40sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 PCI Express Port 1 -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge T410 PCI Express Port 1) - - pci:v00008086d00003A40sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A40sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A40sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A40sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A42* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Port 2 -@@ -68982,43 +68982,43 @@ pci:v00008086d00003A44* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 - - pci:v00008086d00003A44sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A46* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 - - pci:v00008086d00003A46sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A46sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A48* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 - - pci:v00008086d00003A48sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A48sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (P6T Deluxe Motherboard) - - pci:v00008086d00003A48sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A4A* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 - - pci:v00008086d00003A4Asv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A4Asv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A4Asv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A4Asv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A4C* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Gigabit Ethernet Controller -@@ -69108,10 +69108,10 @@ pci:v00008086d00003B07* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller - - pci:v00008086d00003B07sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Latitude E6510) - - pci:v00008086d00003B07sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (PC1-GROOVE) - - pci:v00008086d00003B08* - ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller -@@ -69120,16 +69120,16 @@ pci:v00008086d00003B09* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller - - pci:v00008086d00003B09sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) - - pci:v00008086d00003B0A* - ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller - - pci:v00008086d00003B0Asv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (OptiPlex 980) - - pci:v00008086d00003B0Asv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B0B* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller -@@ -69204,10 +69204,10 @@ pci:v00008086d00003B22* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller - - pci:v00008086d00003B22sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (OptiPlex 980) - - pci:v00008086d00003B22sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B23* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller -@@ -69225,7 +69225,7 @@ pci:v00008086d00003B29* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller - - pci:v00008086d00003B29sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) - - pci:v00008086d00003B2C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller -@@ -69234,64 +69234,64 @@ pci:v00008086d00003B2D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller - - pci:v00008086d00003B2Dsv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) - - pci:v00008086d00003B2E* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller - - pci:v00008086d00003B2Esv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (PC1-GROOVE) - - pci:v00008086d00003B2F* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller - - pci:v00008086d00003B2Fsv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (Latitude E6510) - - pci:v00008086d00003B2Fsv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (PC1-GROOVE) - - pci:v00008086d00003B30* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller - - pci:v00008086d00003B30sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Aspire 7740G) - - pci:v00008086d00003B30sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (OptiPlex 980) - - pci:v00008086d00003B30sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) - - pci:v00008086d00003B30sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B30sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) - - pci:v00008086d00003B32* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem - - pci:v00008086d00003B32sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) - - pci:v00008086d00003B34* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller - - pci:v00008086d00003B34sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) - - pci:v00008086d00003B34sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) - - pci:v00008086d00003B34sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - - pci:v00008086d00003B34sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B34sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - - pci:v00008086d00003B36* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller -@@ -69315,19 +69315,19 @@ pci:v00008086d00003B3C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller - - pci:v00008086d00003B3Csv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) - - pci:v00008086d00003B3Csv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) - - pci:v00008086d00003B3Csv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - - pci:v00008086d00003B3Csv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B3Csv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - - pci:v00008086d00003B3E* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller -@@ -69345,40 +69345,40 @@ pci:v00008086d00003B42* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 - - pci:v00008086d00003B42sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (OptiPlex 980) - - pci:v00008086d00003B42sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) - - pci:v00008086d00003B42sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) - - pci:v00008086d00003B44* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 - - pci:v00008086d00003B44sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Latitude E6510) - - pci:v00008086d00003B44sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) - - pci:v00008086d00003B46* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 - - pci:v00008086d00003B46sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) - - pci:v00008086d00003B48* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 - - pci:v00008086d00003B48sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) - - pci:v00008086d00003B4A* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 - - pci:v00008086d00003B4Asv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) - - pci:v00008086d00003B4C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 -@@ -69396,19 +69396,19 @@ pci:v00008086d00003B56* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio - - pci:v00008086d00003B56sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Aspire 7740G) - - pci:v00008086d00003B56sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (OptiPlex 980) - - pci:v00008086d00003B56sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) - - pci:v00008086d00003B56sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) - - pci:v00008086d00003B56sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) - - pci:v00008086d00003B57* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio -@@ -69417,13 +69417,13 @@ pci:v00008086d00003B64* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller - - pci:v00008086d00003B64sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Aspire 7740G) - - pci:v00008086d00003B64sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B64sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) - - pci:v00008086d00003B65* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller -@@ -69435,7 +69435,7 @@ pci:v00008086d00003B67* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller - - pci:v00008086d00003B67sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller (PC1-GROOVE) - - pci:v00008086d00003C00* - ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMI2 -@@ -69765,25 +69765,25 @@ pci:v00008086d00004220* - ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection - - pci:v00008086d00004220sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Compaq nw8240/nx8220) - - pci:v00008086d00004220sv0000103Csd000012F6* -- ID_MODEL_FROM_DATABASE=nc6120/nx8220/nw8240 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (nc6120/nx8220/nw8240) - - pci:v00008086d00004220sv00008086sd00002701* -- ID_MODEL_FROM_DATABASE=WM3B2300BG Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (WM3B2300BG Mini-PCI Card) - - pci:v00008086d00004220sv00008086sd00002712* -- ID_MODEL_FROM_DATABASE=IBM ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (IBM ThinkPad R50e) - - pci:v00008086d00004220sv00008086sd00002721* -- ID_MODEL_FROM_DATABASE=Dell B130 laptop integrated WLAN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell B130 laptop integrated WLAN) - - pci:v00008086d00004220sv00008086sd00002722* -- ID_MODEL_FROM_DATABASE=Dell Latitude D600 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell Latitude D600) - - pci:v00008086d00004220sv00008086sd00002731* -- ID_MODEL_FROM_DATABASE=Samsung P35 integrated WLAN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Samsung P35 integrated WLAN) - - pci:v00008086d00004222* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection -@@ -69792,40 +69792,40 @@ pci:v00008086d00004222sv0000103Csd0000135C* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection - - pci:v00008086d00004222sv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004222sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004222sv00008086sd00001005* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004222sv00008086sd00001034* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004222sv00008086sd00001044* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004222sv00008086sd00001C00* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004223* - ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection - - pci:v00008086d00004223sv00001000sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B Americas/Europe ZZA -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Americas/Europe ZZA) - - pci:v00008086d00004223sv00001001sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B Europe ZZE -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Europe ZZE) - - pci:v00008086d00004223sv00001002sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B Japan ZZJ -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Japan ZZJ) - - pci:v00008086d00004223sv00001003sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B High-Band ZZH -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B High-Band ZZH) - - pci:v00008086d00004223sv00001351sd0000103C* -- ID_MODEL_FROM_DATABASE=Compaq NC6220 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (Compaq NC6220) - - pci:v00008086d00004224* - ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection -@@ -69834,106 +69834,106 @@ pci:v00008086d00004227* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection - - pci:v00008086d00004227sv00008086sd00001011* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60e/X60s -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (ThinkPad T60/R60e/X60s) - - pci:v00008086d00004227sv00008086sd00001014* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004229* - ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection - - pci:v00008086d00004229sv00008086sd00001100* -- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Vaio VGN-SZ79SN_C) - - pci:v00008086d00004229sv00008086sd00001101* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (PRO/Wireless 4965 AG or AGN) - - pci:v00008086d0000422B* - ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 - - pci:v00008086d0000422Bsv00008086sd00001101* -- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) - - pci:v00008086d0000422Bsv00008086sd00001121* -- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) - - pci:v00008086d0000422C* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 - - pci:v00008086d0000422Csv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) - - pci:v00008086d0000422Csv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) - - pci:v00008086d0000422Csv00008086sd00001307* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 BG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 BG) - - pci:v00008086d0000422Csv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) - - pci:v00008086d0000422Csv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) - - pci:v00008086d00004230* - ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection - - pci:v00008086d00004230sv00008086sd00001110* -- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T51 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T51) - - pci:v00008086d00004230sv00008086sd00001111* -- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T61) - - pci:v00008086d00004232* - ID_MODEL_FROM_DATABASE=WiFi Link 5100 - - pci:v00008086d00004232sv00008086sd00001201* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001204* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001205* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001206* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004232sv00008086sd00001221* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001224* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001225* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001226* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004232sv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001304* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001305* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004232sv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001324* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001325* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004235* - ID_MODEL_FROM_DATABASE=Ultimate N WiFi Link 5300 -@@ -69945,43 +69945,43 @@ pci:v00008086d00004237* - ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection - - pci:v00008086d00004237sv00008086sd00001211* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001214* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001215* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) - - pci:v00008086d00004237sv00008086sd00001216* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) - - pci:v00008086d00004237sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001314* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001315* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) - - pci:v00008086d00004237sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) - - pci:v00008086d00004238* - ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 - - pci:v00008086d00004238sv00008086sd00001111* -- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) - - pci:v00008086d00004239* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 - - pci:v00008086d00004239sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) - - pci:v00008086d00004239sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) - - pci:v00008086d0000423A* - ID_MODEL_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection -@@ -69993,37 +69993,37 @@ pci:v00008086d0000423C* - ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 - - pci:v00008086d0000423Csv00008086sd00001201* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Csv00008086sd00001206* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000423Csv00008086sd00001221* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Csv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Csv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000423Csv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423D* - ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 - - pci:v00008086d0000423Dsv00008086sd00001211* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Dsv00008086sd00001216* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000423Dsv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Dsv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000444E* - ID_MODEL_FROM_DATABASE=Turbo Memory Controller -@@ -70176,7 +70176,7 @@ pci:v00008086d00005201* - ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller - - pci:v00008086d00005201sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller (EtherExpress PRO/100 Server Ethernet Adapter) - - pci:v00008086d0000530D* - ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor -@@ -70185,7 +70185,7 @@ pci:v00008086d00005845* - ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller - - pci:v00008086d00005845sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller (QEMU Virtual Machine) - - pci:v00008086d000065C0* - ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub -@@ -70212,16 +70212,16 @@ pci:v00008086d000065F0* - ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers - - pci:v00008086d000065F0sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 -+ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge R300) - - pci:v00008086d000065F0sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 -+ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge T300) - - pci:v00008086d000065F1* - ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers - - pci:v00008086d000065F1sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 -+ ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers (PowerEdge T300) - - pci:v00008086d000065F3* - ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers -@@ -70251,19 +70251,19 @@ pci:v00008086d00007000* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] - - pci:v00008086d00007000sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] (Qemu virtual machine) - - pci:v00008086d00007010* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] - - pci:v00008086d00007010sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] (Qemu virtual machine) - - pci:v00008086d00007020* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] - - pci:v00008086d00007020sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] (QEMU Virtual Machine) - - pci:v00008086d00007030* - ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] -@@ -70281,52 +70281,52 @@ pci:v00008086d00007110* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA - - pci:v00008086d00007110sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA (Virtual Machine Chipset) - - pci:v00008086d00007111* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE - - pci:v00008086d00007111sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE (Virtual Machine Chipset) - - pci:v00008086d00007112* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB - - pci:v00008086d00007112sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (Virtual Machine Chipset) - - pci:v00008086d00007112sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (QEMU Virtual Machine) - - pci:v00008086d00007113* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI - - pci:v00008086d00007113sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Virtual Machine Chipset) - - pci:v00008086d00007113sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Qemu virtual machine) - - pci:v00008086d00007120* - ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) - - pci:v00008086d00007120sv00004C53sd00001040* -- ID_MODEL_FROM_DATABASE=CL7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (CL7 mainboard) - - pci:v00008086d00007120sv00004C53sd00001060* -- ID_MODEL_FROM_DATABASE=PC7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (PC7 mainboard) - - pci:v00008086d00007121* - ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller - - pci:v00008086d00007121sv00004C53sd00001040* -- ID_MODEL_FROM_DATABASE=CL7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (CL7 mainboard) - - pci:v00008086d00007121sv00004C53sd00001060* -- ID_MODEL_FROM_DATABASE=PC7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (PC7 mainboard) - - pci:v00008086d00007121sv00008086sd00004341* -- ID_MODEL_FROM_DATABASE=Cayman (CA810) Mainboard -+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (Cayman (CA810) Mainboard) - - pci:v00008086d00007122* - ID_MODEL_FROM_DATABASE=82810 DC-100 (GMCH) Graphics Memory Controller Hub -@@ -70338,13 +70338,13 @@ pci:v00008086d00007124* - ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub - - pci:v00008086d00007124sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub (OptiPlex GX110) - - pci:v00008086d00007125* - ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller - - pci:v00008086d00007125sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller (OptiPlex GX110) - - pci:v00008086d00007126* - ID_MODEL_FROM_DATABASE=82810 DC-133 System and Graphics Controller -@@ -70365,73 +70365,73 @@ pci:v00008086d00007190* - ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge - - pci:v00008086d00007190sv00000E11sd00000500* -- ID_MODEL_FROM_DATABASE=Armada 1750 Laptop System Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada 1750 Laptop System Chipset) - - pci:v00008086d00007190sv00000E11sd0000B110* -- ID_MODEL_FROM_DATABASE=Armada M700/E500 -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada M700/E500) - - pci:v00008086d00007190sv00001028sd0000008E* -- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (PowerEdge 1300 mainboard) - - pci:v00008086d00007190sv00001043sd0000803B* -- ID_MODEL_FROM_DATABASE=CUBX-L/E Mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CUBX-L/E Mainboard) - - pci:v00008086d00007190sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Toshiba Tecra 8100 Laptop System Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Toshiba Tecra 8100 Laptop System Chipset) - - pci:v00008086d00007190sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Virtual Machine Chipset) - - pci:v00008086d00007190sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CT7 mainboard) - - pci:v00008086d00007190sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CE7 mainboard) - - pci:v00008086d00007191* - ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge - - pci:v00008086d00007191sv00001028sd0000008E* -- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (PowerEdge 1300 mainboard) - - pci:v00008086d00007192* - ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) - - pci:v00008086d00007192sv00000E11sd00000460* -- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop System Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Armada 1700 Laptop System Chipset) - - pci:v00008086d00007192sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite 4010 -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Satellite 4010) - - pci:v00008086d00007192sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00008086d00007192sv00008086sd00007190* -- ID_MODEL_FROM_DATABASE=Dell PowerEdge 350 -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Dell PowerEdge 350) - - pci:v00008086d00007194* - ID_MODEL_FROM_DATABASE=82440MX Host Bridge - - pci:v00008086d00007194sv00001033sd00000000* -- ID_MODEL_FROM_DATABASE=Versa Note Vxi -+ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (Versa Note Vxi) - - pci:v00008086d00007194sv00004C53sd000010A0* -- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard -+ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (CA3/CR3 mainboard) - - pci:v00008086d00007195* - ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller - - pci:v00008086d00007195sv00001033sd000080CC* -- ID_MODEL_FROM_DATABASE=Versa Note VXi -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (Versa Note VXi) - - pci:v00008086d00007195sv000010CFsd00001099* -- ID_MODEL_FROM_DATABASE=QSound_SigmaTel Stac97 PCI Audio -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (QSound_SigmaTel Stac97 PCI Audio) - - pci:v00008086d00007195sv000011D4sd00000040* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00007195sv000011D4sd00000048* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00007196* - ID_MODEL_FROM_DATABASE=82440MX AC'97 Modem Controller -@@ -70452,10 +70452,10 @@ pci:v00008086d000071A0* - ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge - - pci:v00008086d000071A0sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CT7 mainboard) - - pci:v00008086d000071A0sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CE7 mainboard) - - pci:v00008086d000071A1* - ID_MODEL_FROM_DATABASE=440GX - 82443GX AGP bridge -@@ -70464,7 +70464,7 @@ pci:v00008086d000071A2* - ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) - - pci:v00008086d000071A2sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00008086d00007600* - ID_MODEL_FROM_DATABASE=82372FB PIIX5 ISA -@@ -70482,25 +70482,25 @@ pci:v00008086d00007800* - ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator - - pci:v00008086d00007800sv0000003Dsd00000008* -- ID_MODEL_FROM_DATABASE=Starfighter AGP -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) - - pci:v00008086d00007800sv0000003Dsd0000000B* -- ID_MODEL_FROM_DATABASE=Starfighter AGP -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) - - pci:v00008086d00007800sv00001092sd00000100* -- ID_MODEL_FROM_DATABASE=Stealth II G460 -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Stealth II G460) - - pci:v00008086d00007800sv000010B4sd0000201A* -- ID_MODEL_FROM_DATABASE=Lightspeed 740 -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) - - pci:v00008086d00007800sv000010B4sd0000202F* -- ID_MODEL_FROM_DATABASE=Lightspeed 740 -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) - - pci:v00008086d00007800sv00008086sd00000000* -- ID_MODEL_FROM_DATABASE=Terminator 2x/i -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Terminator 2x/i) - - pci:v00008086d00007800sv00008086sd00000100* -- ID_MODEL_FROM_DATABASE=Intel740 Graphics Accelerator -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Intel740 Graphics Accelerator) - - pci:v00008086d00008002* - ID_MODEL_FROM_DATABASE=Trusted Execution Technology Registers -@@ -70611,13 +70611,13 @@ pci:v00008086d00008500* - ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) - - pci:v00008086d00008500sv00001993sd00000DED* -- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#2 -+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#2) - - pci:v00008086d00008500sv00001993sd00000DEE* -- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#1 -+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#1) - - pci:v00008086d00008500sv00001993sd00000DEF* -- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#0 -+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#0) - - pci:v00008086d00008800* - ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T PCI Express Port -@@ -70710,10 +70710,10 @@ pci:v00008086d00008C03* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] - - pci:v00008086d00008C03sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ZBook 15) - - pci:v00008086d00008C03sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ThinkPad T440p) - - pci:v00008086d00008C04* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] -@@ -70743,7 +70743,7 @@ pci:v00008086d00008C10* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 - - pci:v00008086d00008C10sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 (ThinkPad T440p) - - pci:v00008086d00008C11* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 -@@ -70752,7 +70752,7 @@ pci:v00008086d00008C12* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 - - pci:v00008086d00008C12sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 (ThinkPad T440p) - - pci:v00008086d00008C13* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 -@@ -70797,10 +70797,10 @@ pci:v00008086d00008C20* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller - - pci:v00008086d00008C20sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ZBook 15) - - pci:v00008086d00008C20sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ThinkPad T440p) - - pci:v00008086d00008C21* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller -@@ -70809,10 +70809,10 @@ pci:v00008086d00008C22* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller - - pci:v00008086d00008C22sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ZBook 15) - - pci:v00008086d00008C22sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ThinkPad T440p) - - pci:v00008086d00008C23* - ID_MODEL_FROM_DATABASE=8 Series Chipset Family CHAP Counters -@@ -70824,28 +70824,28 @@ pci:v00008086d00008C26* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 - - pci:v00008086d00008C26sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ZBook 15) - - pci:v00008086d00008C26sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ThinkPad T440p) - - pci:v00008086d00008C2D* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 - - pci:v00008086d00008C2Dsv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ZBook 15) - - pci:v00008086d00008C2Dsv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ThinkPad T440p) - - pci:v00008086d00008C31* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI - - pci:v00008086d00008C31sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ZBook 15) - - pci:v00008086d00008C31sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ThinkPad T440p) - - pci:v00008086d00008C33* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LAN Controller -@@ -70857,10 +70857,10 @@ pci:v00008086d00008C3A* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 - - pci:v00008086d00008C3Asv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ZBook 15) - - pci:v00008086d00008C3Asv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ThinkPad T440p) - - pci:v00008086d00008C3B* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #2 -@@ -70920,10 +70920,10 @@ pci:v00008086d00008C4F* - ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller - - pci:v00008086d00008C4Fsv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ZBook 15) - - pci:v00008086d00008C4Fsv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ThinkPad T440p) - - pci:v00008086d00008C50* - ID_MODEL_FROM_DATABASE=B85 Express LPC Controller -@@ -70986,7 +70986,7 @@ pci:v00008086d00008D06* - ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] - - pci:v00008086d00008D06sv000017AAsd00001031* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i -+ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] (ThinkServer RAID 110i) - - pci:v00008086d00008D08* - ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] -@@ -71196,7 +71196,7 @@ pci:v00008086d00009C03* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] - - pci:v00008086d00009C03sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) - - pci:v00008086d00009C04* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -@@ -71286,7 +71286,7 @@ pci:v00008086d00009C20* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller - - pci:v00008086d00009C20sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) - - pci:v00008086d00009C21* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller -@@ -71295,7 +71295,7 @@ pci:v00008086d00009C22* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller - - pci:v00008086d00009C22sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) - - pci:v00008086d00009C23* - ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters -@@ -71307,7 +71307,7 @@ pci:v00008086d00009C26* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 - - pci:v00008086d00009C26sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) - - pci:v00008086d00009C2D* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 -@@ -71316,7 +71316,7 @@ pci:v00008086d00009C31* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC - - pci:v00008086d00009C31sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) - - pci:v00008086d00009C35* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller -@@ -71328,7 +71328,7 @@ pci:v00008086d00009C3A* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 - - pci:v00008086d00009C3Asv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) - - pci:v00008086d00009C3B* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 -@@ -71352,7 +71352,7 @@ pci:v00008086d00009C43* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller - - pci:v00008086d00009C43sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) - - pci:v00008086d00009C44* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -@@ -71496,25 +71496,25 @@ pci:v00008086d0000A000* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge - - pci:v00008086d0000A000sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (GA-D525TUD) - - pci:v00008086d0000A000sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (DeskTop Board D510MO) - - pci:v00008086d0000A000sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Desktop Board D425KT) - - pci:v00008086d0000A001* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller - - pci:v00008086d0000A001sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (GA-D525TUD) - - pci:v00008086d0000A001sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (DeskTop Board D510MO) - - pci:v00008086d0000A001sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Desktop Board D425KT) - - pci:v00008086d0000A002* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller -@@ -71526,19 +71526,19 @@ pci:v00008086d0000A010* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge - - pci:v00008086d0000A010sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Notebook N150P) - - pci:v00008086d0000A011* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller - - pci:v00008086d0000A011sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) - - pci:v00008086d0000A012* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller - - pci:v00008086d0000A012sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) - - pci:v00008086d0000A013* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter -@@ -71559,22 +71559,22 @@ pci:v00008086d0000B555* - ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge - - pci:v00008086d0000B555sv000012C7sd00005005* -- ID_MODEL_FROM_DATABASE=SS7HD PCI Adaptor Card -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HD PCI Adaptor Card) - - pci:v00008086d0000B555sv000012C7sd00005006* -- ID_MODEL_FROM_DATABASE=SS7HDC cPCI Adaptor Card -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HDC cPCI Adaptor Card) - - pci:v00008086d0000B555sv000012D9sd0000000A* -- ID_MODEL_FROM_DATABASE=PCI VoIP Gateway -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (PCI VoIP Gateway) - - pci:v00008086d0000B555sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CT7 mainboard) - - pci:v00008086d0000B555sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CE7 mainboard) - - pci:v00008086d0000B555sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CC8-1-BLUES -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CC8-1-BLUES) - - pci:v00008086d0000D130* - ID_MODEL_FROM_DATABASE=Core Processor DMI -@@ -71583,16 +71583,16 @@ pci:v00008086d0000D131* - ID_MODEL_FROM_DATABASE=Core Processor DMI - - pci:v00008086d0000D131sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=Core Processor DMI (OptiPlex 980) - - pci:v00008086d0000D131sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=Core Processor DMI (C7SIM-Q Motherboard) - - pci:v00008086d0000D132* - ID_MODEL_FROM_DATABASE=Core Processor DMI - - pci:v00008086d0000D132sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=Core Processor DMI (Latitude E6510) - - pci:v00008086d0000D133* - ID_MODEL_FROM_DATABASE=Core Processor DMI -@@ -71613,13 +71613,13 @@ pci:v00008086d0000D138* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 - - pci:v00008086d0000D138sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (OptiPlex 980) - - pci:v00008086d0000D138sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (Latitude E6510) - - pci:v00008086d0000D138sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (C7SIM-Q Motherboard) - - pci:v00008086d0000D139* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 -@@ -71730,7 +71730,7 @@ pci:v00009004d00005078* - ID_MODEL_FROM_DATABASE=AIC-7850 - - pci:v00009004d00005078sv00009004sd00007850* -- ID_MODEL_FROM_DATABASE=AHA-2904/Integrated AIC-7850 -+ ID_MODEL_FROM_DATABASE=AIC-7850 (AHA-2904/Integrated AIC-7850) - - pci:v00009004d00005175* - ID_MODEL_FROM_DATABASE=AIC-755x -@@ -71766,10 +71766,10 @@ pci:v00009004d00005647* - ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine - - pci:v00009004d00005647sv00009004sd00007710* -- ID_MODEL_FROM_DATABASE=ANA-7711F TCP Offload Engine - Optical -+ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711F TCP Offload Engine - Optical) - - pci:v00009004d00005647sv00009004sd00007711* -- ID_MODEL_FROM_DATABASE=ANA-7711LP TCP Offload Engine - Copper -+ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711LP TCP Offload Engine - Copper) - - pci:v00009004d00005675* - ID_MODEL_FROM_DATABASE=AIC-755x -@@ -71799,7 +71799,7 @@ pci:v00009004d00006075* - ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 - - pci:v00009004d00006075sv00009004sd00007560* -- ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 Cardbus -+ ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 (Cardbus) - - pci:v00009004d00006078* - ID_MODEL_FROM_DATABASE=AIC-7860 -@@ -71808,7 +71808,7 @@ pci:v00009004d00006178* - ID_MODEL_FROM_DATABASE=AIC-7861 - - pci:v00009004d00006178sv00009004sd00007861* -- ID_MODEL_FROM_DATABASE=AHA-2940AU Single -+ ID_MODEL_FROM_DATABASE=AIC-7861 (AHA-2940AU Single) - - pci:v00009004d00006278* - ID_MODEL_FROM_DATABASE=AIC-7860 -@@ -71832,46 +71832,46 @@ pci:v00009004d00006915* - ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A - - pci:v00009004d00006915sv00009004sd00000008* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) - - pci:v00009004d00006915sv00009004sd00000009* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) - - pci:v00009004d00006915sv00009004sd00000010* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) - - pci:v00009004d00006915sv00009004sd00000018* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) - - pci:v00009004d00006915sv00009004sd00000019* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) - - pci:v00009004d00006915sv00009004sd00000020* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) - - pci:v00009004d00006915sv00009004sd00000028* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) - - pci:v00009004d00006915sv00009004sd00008008* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008009* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008010* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008018* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008019* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008020* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008028* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) - - pci:v00009004d00007078* - ID_MODEL_FROM_DATABASE=AHA-294x / AIC-7870 -@@ -71910,7 +71910,7 @@ pci:v00009004d00007815* - ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC - - pci:v00009004d00007815sv00009004sd00007815* -- ID_MODEL_FROM_DATABASE=ARO-1130U2 RAID Controller -+ ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC (ARO-1130U2 RAID Controller) - - pci:v00009004d00007815sv00009004sd00007840* - ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC -@@ -71961,25 +71961,25 @@ pci:v00009004d00007895* - ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 - - pci:v00009004d00007895sv00009004sd00007890* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007895sv00009004sd00007891* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual) - - pci:v00009004d00007895sv00009004sd00007892* -- ID_MODEL_FROM_DATABASE=AHA-3940AU/AUW/AUWD/UWD -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3940AU/AUW/AUWD/UWD) - - pci:v00009004d00007895sv00009004sd00007894* -- ID_MODEL_FROM_DATABASE=AHA-3944AUWD -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3944AUWD) - - pci:v00009004d00007895sv00009004sd00007895* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007895sv00009004sd00007896* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007895sv00009004sd00007897* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007896* - ID_MODEL_FROM_DATABASE=AIC-789x -@@ -71991,13 +71991,13 @@ pci:v00009004d00008078* - ID_MODEL_FROM_DATABASE=AIC-7880U - - pci:v00009004d00008078sv00009004sd00007880* -- ID_MODEL_FROM_DATABASE=AIC-7880P Ultra/Ultra Wide SCSI Chipset -+ ID_MODEL_FROM_DATABASE=AIC-7880U (AIC-7880P Ultra/Ultra Wide SCSI Chipset) - - pci:v00009004d00008178* - ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U - - pci:v00009004d00008178sv00009004sd00007881* -- ID_MODEL_FROM_DATABASE=AHA-2940UW SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U (AHA-2940UW SCSI Host Adapter) - - pci:v00009004d00008278* - ID_MODEL_FROM_DATABASE=AHA-3940U/UW/UWD / AIC-7882U -@@ -72018,13 +72018,13 @@ pci:v00009004d00008778* - ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x - - pci:v00009004d00008778sv00009004sd00007887* -- ID_MODEL_FROM_DATABASE=2940UW Pro Ultra-Wide SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x (2940UW Pro Ultra-Wide SCSI Controller) - - pci:v00009004d00008878* - ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 - - pci:v00009004d00008878sv00009004sd00007888* -- ID_MODEL_FROM_DATABASE=AHA-2930UW SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 (AHA-2930UW SCSI Controller) - - pci:v00009004d00008B78* - ID_MODEL_FROM_DATABASE=ABA-1030 -@@ -72039,19 +72039,19 @@ pci:v00009005d00000010* - ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W - - pci:v00009005d00000010sv00009005sd00002180* -- ID_MODEL_FROM_DATABASE=AHA-2940U2 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2 SCSI Controller) - - pci:v00009005d00000010sv00009005sd00008100* -- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) - - pci:v00009005d00000010sv00009005sd0000A100* -- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) - - pci:v00009005d00000010sv00009005sd0000A180* -- ID_MODEL_FROM_DATABASE=AHA-2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2W SCSI Controller) - - pci:v00009005d00000010sv00009005sd0000E100* -- ID_MODEL_FROM_DATABASE=AHA-2950U2B SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2950U2B SCSI Controller) - - pci:v00009005d00000011* - ID_MODEL_FROM_DATABASE=AHA-2930U2 -@@ -72060,19 +72060,19 @@ pci:v00009005d00000013* - ID_MODEL_FROM_DATABASE=78902 - - pci:v00009005d00000013sv00009005sd00000003* -- ID_MODEL_FROM_DATABASE=AAA-131U2 Array1000 1 Channel RAID Controller -+ ID_MODEL_FROM_DATABASE=78902 (AAA-131U2 Array1000 1 Channel RAID Controller) - - pci:v00009005d00000013sv00009005sd0000000F* -- ID_MODEL_FROM_DATABASE=AIC7890_ARO -+ ID_MODEL_FROM_DATABASE=78902 (AIC7890_ARO) - - pci:v00009005d0000001F* - ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 - - pci:v00009005d0000001Fsv00009005sd0000000F* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) - - pci:v00009005d0000001Fsv00009005sd0000A180* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) - - pci:v00009005d00000020* - ID_MODEL_FROM_DATABASE=AIC-7890 -@@ -72090,10 +72090,10 @@ pci:v00009005d00000050* - ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x - - pci:v00009005d00000050sv00009005sd0000F500* -- ID_MODEL_FROM_DATABASE=AHA-3950U2B -+ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) - - pci:v00009005d00000050sv00009005sd0000FFFF* -- ID_MODEL_FROM_DATABASE=AHA-3950U2B -+ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) - - pci:v00009005d00000051* - ID_MODEL_FROM_DATABASE=AHA-3950U2D -@@ -72105,7 +72105,7 @@ pci:v00009005d00000053* - ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller - - pci:v00009005d00000053sv00009005sd0000FFFF* -- ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller mainboard implementation -+ ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller (mainboard implementation) - - pci:v00009005d0000005F* - ID_MODEL_FROM_DATABASE=AIC-7896U2/7897U2 -@@ -72114,25 +72114,25 @@ pci:v00009005d00000080* - ID_MODEL_FROM_DATABASE=AIC-7892A U160/m - - pci:v00009005d00000080sv00000E11sd0000E2A0* -- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter) - - pci:v00009005d00000080sv00009005sd00006220* -- ID_MODEL_FROM_DATABASE=AHA-29160C -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (AHA-29160C) - - pci:v00009005d00000080sv00009005sd000062A0* -- ID_MODEL_FROM_DATABASE=29160N Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160N Ultra160 SCSI Controller) - - pci:v00009005d00000080sv00009005sd0000E220* -- ID_MODEL_FROM_DATABASE=29160LP Low Profile Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160LP Low Profile Ultra160 SCSI Controller) - - pci:v00009005d00000080sv00009005sd0000E2A0* -- ID_MODEL_FROM_DATABASE=29160 Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160 Ultra160 SCSI Controller) - - pci:v00009005d00000081* - ID_MODEL_FROM_DATABASE=AIC-7892B U160/m - - pci:v00009005d00000081sv00009005sd000062A1* -- ID_MODEL_FROM_DATABASE=19160 Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892B U160/m (19160 Ultra160 SCSI Controller) - - pci:v00009005d00000083* - ID_MODEL_FROM_DATABASE=AIC-7892D U160/m -@@ -72141,10 +72141,10 @@ pci:v00009005d0000008F* - ID_MODEL_FROM_DATABASE=AIC-7892P U160/m - - pci:v00009005d0000008Fsv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Magnia Z310) - - pci:v00009005d0000008Fsv000015D9sd00009005* -- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Onboard SCSI Host Adapter) - - pci:v00009005d00000092* - ID_MODEL_FROM_DATABASE=AVC-2010 [VideoH!] -@@ -72156,10 +72156,10 @@ pci:v00009005d000000C0* - ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m - - pci:v00009005d000000C0sv00000E11sd0000F620* -- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter) - - pci:v00009005d000000C0sv00009005sd0000F620* -- ID_MODEL_FROM_DATABASE=AHA-3960D U160/m -+ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (AHA-3960D U160/m) - - pci:v00009005d000000C1* - ID_MODEL_FROM_DATABASE=AIC-7899B U160/m -@@ -72171,28 +72171,28 @@ pci:v00009005d000000C5* - ID_MODEL_FROM_DATABASE=RAID subsystem HBA - - pci:v00009005d000000C5sv00001028sd000000C5* -- ID_MODEL_FROM_DATABASE=PowerEdge 2400,2500,2550,4400 -+ ID_MODEL_FROM_DATABASE=RAID subsystem HBA (PowerEdge 2400,2500,2550,4400) - - pci:v00009005d000000CF* - ID_MODEL_FROM_DATABASE=AIC-7899P U160/m - - pci:v00009005d000000CFsv00001028sd000000CE* -- ID_MODEL_FROM_DATABASE=PowerEdge 1400 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 1400) - - pci:v00009005d000000CFsv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=PowerEdge 2550 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2550) - - pci:v00009005d000000CFsv00001028sd000000D9* -- ID_MODEL_FROM_DATABASE=PowerEdge 2500 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2500) - - pci:v00009005d000000CFsv000010F1sd00002462* -- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Thunder K7 S2462) - - pci:v00009005d000000CFsv000015D9sd00009005* -- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Onboard SCSI Host Adapter) - - pci:v00009005d000000CFsv00008086sd00003411* -- ID_MODEL_FROM_DATABASE=SDS2 Mainboard -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (SDS2 Mainboard) - - pci:v00009005d00000241* - ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1420SA -@@ -72210,13 +72210,13 @@ pci:v00009005d00000250* - ID_MODEL_FROM_DATABASE=ServeRAID Controller - - pci:v00009005d00000250sv00001014sd00000279* -- ID_MODEL_FROM_DATABASE=ServeRAID 6M -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6M) - - pci:v00009005d00000250sv00001014sd0000028C* -- ID_MODEL_FROM_DATABASE=ServeRAID 6i/6i+ -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6i/6i+) - - pci:v00009005d00000250sv00001014sd0000028E* -- ID_MODEL_FROM_DATABASE=ServeRAID 7k -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 7k) - - pci:v00009005d00000279* - ID_MODEL_FROM_DATABASE=ServeRAID 6M -@@ -72225,415 +72225,415 @@ pci:v00009005d00000283* - ID_MODEL_FROM_DATABASE=AAC-RAID - - pci:v00009005d00000283sv00009005sd00000283* -- ID_MODEL_FROM_DATABASE=Catapult -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Catapult) - - pci:v00009005d00000284* - ID_MODEL_FROM_DATABASE=AAC-RAID - - pci:v00009005d00000284sv00009005sd00000284* -- ID_MODEL_FROM_DATABASE=Tomcat -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Tomcat) - - pci:v00009005d00000285* - ID_MODEL_FROM_DATABASE=AAC-RAID - - pci:v00009005d00000285sv00000E11sd00000295* -- ID_MODEL_FROM_DATABASE=SATA 6Ch (Bearcat) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SATA 6Ch (Bearcat)) - - pci:v00009005d00000285sv00001014sd000002F2* -- ID_MODEL_FROM_DATABASE=ServeRAID 8i -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ServeRAID 8i) - - pci:v00009005d00000285sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 320/DC -+ ID_MODEL_FROM_DATABASE=AAC-RAID (PowerEdge Expandable RAID Controller 320/DC) - - pci:v00009005d00000285sv00001028sd00000291* -- ID_MODEL_FROM_DATABASE=CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)) - - pci:v00009005d00000285sv0000103Csd00003227* -- ID_MODEL_FROM_DATABASE=AAR-2610SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2610SA) - - pci:v00009005d00000285sv0000108Esd00000286* -- ID_MODEL_FROM_DATABASE=Sun StorageTek SAS RAID HBA, Internal -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Sun StorageTek SAS RAID HBA, Internal) - - pci:v00009005d00000285sv0000108Esd00000287* -- ID_MODEL_FROM_DATABASE=STK RAID EXT -+ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EXT) - - pci:v00009005d00000285sv0000108Esd00007AAC* -- ID_MODEL_FROM_DATABASE=STK RAID REM -+ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID REM) - - pci:v00009005d00000285sv0000108Esd00007AAE* -- ID_MODEL_FROM_DATABASE=STK RAID EX -+ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EX) - - pci:v00009005d00000285sv000015D9sd000002B5* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4i -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4i) - - pci:v00009005d00000285sv000015D9sd000002B6* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i) - - pci:v00009005d00000285sv000015D9sd000002C9* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4iR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4iR) - - pci:v00009005d00000285sv000015D9sd000002CA* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR) - - pci:v00009005d00000285sv000015D9sd000002D2* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i-LP -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i-LP) - - pci:v00009005d00000285sv000015D9sd000002D3* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR-LP -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR-LP) - - pci:v00009005d00000285sv000017AAsd00000286* -- ID_MODEL_FROM_DATABASE=Legend S220 (Legend Crusader) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S220 (Legend Crusader)) - - pci:v00009005d00000285sv000017AAsd00000287* -- ID_MODEL_FROM_DATABASE=Legend S230 (Legend Vulcan) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S230 (Legend Vulcan)) - - pci:v00009005d00000285sv00009005sd00000285* -- ID_MODEL_FROM_DATABASE=2200S (Vulcan) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan)) - - pci:v00009005d00000285sv00009005sd00000286* -- ID_MODEL_FROM_DATABASE=2120S (Crusader) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (2120S (Crusader)) - - pci:v00009005d00000285sv00009005sd00000287* -- ID_MODEL_FROM_DATABASE=2200S (Vulcan-2m) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan-2m)) - - pci:v00009005d00000285sv00009005sd00000288* -- ID_MODEL_FROM_DATABASE=3230S (Harrier) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3230S (Harrier)) - - pci:v00009005d00000285sv00009005sd00000289* -- ID_MODEL_FROM_DATABASE=3240S (Tornado) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3240S (Tornado)) - - pci:v00009005d00000285sv00009005sd0000028A* -- ID_MODEL_FROM_DATABASE=ASR-2020ZCR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020ZCR) - - pci:v00009005d00000285sv00009005sd0000028B* -- ID_MODEL_FROM_DATABASE=ASR-2025ZCR (Terminator) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025ZCR (Terminator)) - - pci:v00009005d00000285sv00009005sd0000028E* -- ID_MODEL_FROM_DATABASE=ASR-2020SA (Skyhawk) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020SA (Skyhawk)) - - pci:v00009005d00000285sv00009005sd0000028F* -- ID_MODEL_FROM_DATABASE=ASR-2025SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025SA) - - pci:v00009005d00000285sv00009005sd00000290* -- ID_MODEL_FROM_DATABASE=AAR-2410SA PCI SATA 4ch (Jaguar II) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2410SA PCI SATA 4ch (Jaguar II)) - - pci:v00009005d00000285sv00009005sd00000292* -- ID_MODEL_FROM_DATABASE=AAR-2810SA PCI SATA 8ch (Corsair-8) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2810SA PCI SATA 8ch (Corsair-8)) - - pci:v00009005d00000285sv00009005sd00000293* -- ID_MODEL_FROM_DATABASE=AAR-21610SA PCI SATA 16ch (Corsair-16) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-21610SA PCI SATA 16ch (Corsair-16)) - - pci:v00009005d00000285sv00009005sd00000294* -- ID_MODEL_FROM_DATABASE=ESD SO-DIMM PCI-X SATA ZCR (Prowler) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ESD SO-DIMM PCI-X SATA ZCR (Prowler)) - - pci:v00009005d00000285sv00009005sd00000296* -- ID_MODEL_FROM_DATABASE=ASR-2240S -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2240S) - - pci:v00009005d00000285sv00009005sd00000297* -- ID_MODEL_FROM_DATABASE=ASR-4005SAS -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4005SAS) - - pci:v00009005d00000285sv00009005sd00000298* -- ID_MODEL_FROM_DATABASE=ASR-4000 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4000) - - pci:v00009005d00000285sv00009005sd00000299* -- ID_MODEL_FROM_DATABASE=ASR-4800SAS -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4800SAS) - - pci:v00009005d00000285sv00009005sd0000029A* -- ID_MODEL_FROM_DATABASE=4805SAS -+ ID_MODEL_FROM_DATABASE=AAC-RAID (4805SAS) - - pci:v00009005d00000285sv00009005sd000002A4* -- ID_MODEL_FROM_DATABASE=ICP ICP9085LI -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP9085LI) - - pci:v00009005d00000285sv00009005sd000002A5* -- ID_MODEL_FROM_DATABASE=ICP ICP5085BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BR) - - pci:v00009005d00000285sv00009005sd000002B5* -- ID_MODEL_FROM_DATABASE=ASR5800 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5800) - - pci:v00009005d00000285sv00009005sd000002B6* -- ID_MODEL_FROM_DATABASE=ASR5805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5805) - - pci:v00009005d00000285sv00009005sd000002B7* -- ID_MODEL_FROM_DATABASE=ASR5808 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5808) - - pci:v00009005d00000285sv00009005sd000002B8* -- ID_MODEL_FROM_DATABASE=ICP5445SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5445SL) - - pci:v00009005d00000285sv00009005sd000002B9* -- ID_MODEL_FROM_DATABASE=ICP5085SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5085SL) - - pci:v00009005d00000285sv00009005sd000002BA* -- ID_MODEL_FROM_DATABASE=ICP5805SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805SL) - - pci:v00009005d00000285sv00009005sd000002BB* -- ID_MODEL_FROM_DATABASE=3405 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3405) - - pci:v00009005d00000285sv00009005sd000002BC* -- ID_MODEL_FROM_DATABASE=3805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3805) - - pci:v00009005d00000285sv00009005sd000002BD* -- ID_MODEL_FROM_DATABASE=31205 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (31205) - - pci:v00009005d00000285sv00009005sd000002BE* -- ID_MODEL_FROM_DATABASE=31605 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (31605) - - pci:v00009005d00000285sv00009005sd000002BF* -- ID_MODEL_FROM_DATABASE=ICP ICP5045BL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5045BL) - - pci:v00009005d00000285sv00009005sd000002C0* -- ID_MODEL_FROM_DATABASE=ICP ICP5085BL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BL) - - pci:v00009005d00000285sv00009005sd000002C1* -- ID_MODEL_FROM_DATABASE=ICP ICP5125BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125BR) - - pci:v00009005d00000285sv00009005sd000002C2* -- ID_MODEL_FROM_DATABASE=ICP ICP5165BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165BR) - - pci:v00009005d00000285sv00009005sd000002C3* -- ID_MODEL_FROM_DATABASE=51205 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51205) - - pci:v00009005d00000285sv00009005sd000002C4* -- ID_MODEL_FROM_DATABASE=51605 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51605) - - pci:v00009005d00000285sv00009005sd000002C5* -- ID_MODEL_FROM_DATABASE=ICP ICP5125SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125SL) - - pci:v00009005d00000285sv00009005sd000002C6* -- ID_MODEL_FROM_DATABASE=ICP ICP5165SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165SL) - - pci:v00009005d00000285sv00009005sd000002C7* -- ID_MODEL_FROM_DATABASE=3085 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3085) - - pci:v00009005d00000285sv00009005sd000002C8* -- ID_MODEL_FROM_DATABASE=ICP5805BL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805BL) - - pci:v00009005d00000285sv00009005sd000002CE* -- ID_MODEL_FROM_DATABASE=51245 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51245) - - pci:v00009005d00000285sv00009005sd000002CF* -- ID_MODEL_FROM_DATABASE=51645 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51645) - - pci:v00009005d00000285sv00009005sd000002D0* -- ID_MODEL_FROM_DATABASE=52445 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (52445) - - pci:v00009005d00000285sv00009005sd000002D1* -- ID_MODEL_FROM_DATABASE=5405 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5405) - - pci:v00009005d00000285sv00009005sd000002D4* -- ID_MODEL_FROM_DATABASE=ASR-2045 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045) - - pci:v00009005d00000285sv00009005sd000002D5* -- ID_MODEL_FROM_DATABASE=ASR-2405 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405) - - pci:v00009005d00000285sv00009005sd000002D6* -- ID_MODEL_FROM_DATABASE=ASR-2445 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445) - - pci:v00009005d00000285sv00009005sd000002D7* -- ID_MODEL_FROM_DATABASE=ASR-2805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805) - - pci:v00009005d00000285sv00009005sd000002D8* -- ID_MODEL_FROM_DATABASE=5405G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5405G) - - pci:v00009005d00000285sv00009005sd000002D9* -- ID_MODEL_FROM_DATABASE=5445G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5445G) - - pci:v00009005d00000285sv00009005sd000002DA* -- ID_MODEL_FROM_DATABASE=5805G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5805G) - - pci:v00009005d00000285sv00009005sd000002DB* -- ID_MODEL_FROM_DATABASE=5085G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5085G) - - pci:v00009005d00000285sv00009005sd000002DC* -- ID_MODEL_FROM_DATABASE=51245G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51245G) - - pci:v00009005d00000285sv00009005sd000002DD* -- ID_MODEL_FROM_DATABASE=51645G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51645G) - - pci:v00009005d00000285sv00009005sd000002DE* -- ID_MODEL_FROM_DATABASE=52445G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (52445G) - - pci:v00009005d00000285sv00009005sd000002DF* -- ID_MODEL_FROM_DATABASE=ASR-2045G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045G) - - pci:v00009005d00000285sv00009005sd000002E0* -- ID_MODEL_FROM_DATABASE=ASR-2405G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405G) - - pci:v00009005d00000285sv00009005sd000002E1* -- ID_MODEL_FROM_DATABASE=ASR-2445G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445G) - - pci:v00009005d00000285sv00009005sd000002E2* -- ID_MODEL_FROM_DATABASE=ASR-2805G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805G) - - pci:v00009005d00000286* - ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) - - pci:v00009005d00000286sv00001014sd0000034D* -- ID_MODEL_FROM_DATABASE=8s -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (8s) - - pci:v00009005d00000286sv00001014sd00009540* -- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l4 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l4) - - pci:v00009005d00000286sv00001014sd00009580* -- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l8 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l8) - - pci:v00009005d00000286sv00009005sd0000028C* -- ID_MODEL_FROM_DATABASE=ASR-2230S + ASR-2230SLP PCI-X (Lancer) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2230S + ASR-2230SLP PCI-X (Lancer)) - - pci:v00009005d00000286sv00009005sd0000028D* -- ID_MODEL_FROM_DATABASE=ASR-2130S -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2130S) - - pci:v00009005d00000286sv00009005sd0000029B* -- ID_MODEL_FROM_DATABASE=ASR-2820SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2820SA) - - pci:v00009005d00000286sv00009005sd0000029C* -- ID_MODEL_FROM_DATABASE=ASR-2620SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2620SA) - - pci:v00009005d00000286sv00009005sd0000029D* -- ID_MODEL_FROM_DATABASE=ASR-2420SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2420SA) - - pci:v00009005d00000286sv00009005sd0000029E* -- ID_MODEL_FROM_DATABASE=ICP ICP9024R0 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9024R0) - - pci:v00009005d00000286sv00009005sd0000029F* -- ID_MODEL_FROM_DATABASE=ICP ICP9014R0 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9014R0) - - pci:v00009005d00000286sv00009005sd000002A0* -- ID_MODEL_FROM_DATABASE=ICP ICP9047MA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9047MA) - - pci:v00009005d00000286sv00009005sd000002A1* -- ID_MODEL_FROM_DATABASE=ICP ICP9087MA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9087MA) - - pci:v00009005d00000286sv00009005sd000002A2* -- ID_MODEL_FROM_DATABASE=3800 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3800) - - pci:v00009005d00000286sv00009005sd000002A3* -- ID_MODEL_FROM_DATABASE=ICP ICP5445AU -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5445AU) - - pci:v00009005d00000286sv00009005sd000002A4* -- ID_MODEL_FROM_DATABASE=ICP ICP9085LI -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9085LI) - - pci:v00009005d00000286sv00009005sd000002A5* -- ID_MODEL_FROM_DATABASE=ICP ICP5085BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085BR) - - pci:v00009005d00000286sv00009005sd000002A6* -- ID_MODEL_FROM_DATABASE=ICP9067MA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP9067MA) - - pci:v00009005d00000286sv00009005sd000002A7* -- ID_MODEL_FROM_DATABASE=3805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3805) - - pci:v00009005d00000286sv00009005sd000002A8* -- ID_MODEL_FROM_DATABASE=3400 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3400) - - pci:v00009005d00000286sv00009005sd000002A9* -- ID_MODEL_FROM_DATABASE=ICP ICP5085AU -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085AU) - - pci:v00009005d00000286sv00009005sd000002AA* -- ID_MODEL_FROM_DATABASE=ICP ICP5045AU -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AU) - - pci:v00009005d00000286sv00009005sd000002AC* -- ID_MODEL_FROM_DATABASE=1800 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (1800) - - pci:v00009005d00000286sv00009005sd000002B3* -- ID_MODEL_FROM_DATABASE=2400 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (2400) - - pci:v00009005d00000286sv00009005sd000002B4* -- ID_MODEL_FROM_DATABASE=ICP ICP5045AL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AL) - - pci:v00009005d00000286sv00009005sd00000800* -- ID_MODEL_FROM_DATABASE=Callisto -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (Callisto) - - pci:v00009005d0000028B* - ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 - - pci:v00009005d0000028Bsv00009005sd00000200* -- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000201* -- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000300* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6405 - 4 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6405 - 4 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000301* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6805 - 8 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6805 - 8 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000302* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000310* -- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000311* -- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS) - - pci:v00009005d0000028Bsv00009005sd00000400* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61205 - 12 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61205 - 12 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000401* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61605 - 16 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61605 - 16 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000403* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-62405 - 24 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-62405 - 24 internal 6G SAS ports) - - pci:v00009005d0000028C* - ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 - - pci:v00009005d0000028Csv00009005sd00000500* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000501* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000502* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000503* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000504* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000505* -- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000506* -- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028D* - ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 - - pci:v00009005d0000028Dsv00009005sd00000550* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000551* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000552* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000553* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000554* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d00000410* - ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) - - pci:v00009005d00000410sv00009005sd00000410* -- ID_MODEL_FROM_DATABASE=ASC-48300(Spirit RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-48300(Spirit RAID)) - - pci:v00009005d00000410sv00009005sd00000411* -- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-58300 (Oakmont RAID)) - - pci:v00009005d00000412* - ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) - - pci:v00009005d00000412sv00009005sd00000412* -- ID_MODEL_FROM_DATABASE=ASC-48300 (Spirit non-RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-48300 (Spirit non-RAID)) - - pci:v00009005d00000412sv00009005sd00000413* -- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont non-RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-58300 (Oakmont non-RAID)) - - pci:v00009005d00000415* - ID_MODEL_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA RAID) -@@ -72657,13 +72657,13 @@ pci:v00009005d00000430* - ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) - - pci:v00009005d00000430sv00009005sd00000430* -- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) (ASC-44300 (Spirit-Lite RAID)) - - pci:v00009005d00000432* - ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) - - pci:v00009005d00000432sv00009005sd00000432* -- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite non-RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) (ASC-44300 (Spirit-Lite non-RAID)) - - pci:v00009005d0000043E* - ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC non-RAID) -@@ -72678,22 +72678,22 @@ pci:v00009005d00000500* - ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller - - pci:v00009005d00000500sv00001014sd000002C1* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) - - pci:v00009005d00000500sv00001014sd000002C2* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/572D) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)) - - pci:v00009005d00000503* - ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller - - pci:v00009005d00000503sv00001014sd000002BF* -- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E) -+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)) - - pci:v00009005d00000503sv00001014sd000002C3* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572F) -+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572F)) - - pci:v00009005d00000503sv00001014sd000002D5* -- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F) -+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)) - - pci:v00009005d00000910* - ID_MODEL_FROM_DATABASE=AUA-3100B -@@ -72714,10 +72714,10 @@ pci:v00009005d00008011* - ID_MODEL_FROM_DATABASE=ASC-39320D - - pci:v00009005d00008011sv00000E11sd000000AC* -- ID_MODEL_FROM_DATABASE=ASC-39320D U320 -+ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) - - pci:v00009005d00008011sv00009005sd00000041* -- ID_MODEL_FROM_DATABASE=ASC-39320D U320 -+ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) - - pci:v00009005d00008012* - ID_MODEL_FROM_DATABASE=ASC-29320 U320 -@@ -72738,10 +72738,10 @@ pci:v00009005d00008017* - ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 - - pci:v00009005d00008017sv00009005sd00000044* -- ID_MODEL_FROM_DATABASE=ASC-29320ALP PCIx U320 -+ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320ALP PCIx U320) - - pci:v00009005d00008017sv00009005sd00000045* -- ID_MODEL_FROM_DATABASE=ASC-29320LPE PCIe U320 -+ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320LPE PCIe U320) - - pci:v00009005d0000801C* - ID_MODEL_FROM_DATABASE=ASC-39320D U320 -@@ -72750,7 +72750,7 @@ pci:v00009005d0000801D* - ID_MODEL_FROM_DATABASE=AIC-7902B U320 - - pci:v00009005d0000801Dsv00001014sd000002CC* -- ID_MODEL_FROM_DATABASE=ServeRAID 7e -+ ID_MODEL_FROM_DATABASE=AIC-7902B U320 (ServeRAID 7e) - - pci:v00009005d0000801E* - ID_MODEL_FROM_DATABASE=AIC-7901A U320 -@@ -72759,7 +72759,7 @@ pci:v00009005d0000801F* - ID_MODEL_FROM_DATABASE=AIC-7902 U320 - - pci:v00009005d0000801Fsv00001734sd00001011* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX300 onboard SCSI -+ ID_MODEL_FROM_DATABASE=AIC-7902 U320 (PRIMERGY RX300 onboard SCSI) - - pci:v00009005d00008080* - ID_MODEL_FROM_DATABASE=ASC-29320A U320 w/HostRAID -@@ -72777,7 +72777,7 @@ pci:v00009005d0000808F* - ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID - - pci:v00009005d0000808Fsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID (Precision Workstation 670 Mainboard) - - pci:v00009005d00008090* - ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID -@@ -72810,7 +72810,7 @@ pci:v00009005d0000809D* - ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID - - pci:v00009005d0000809Dsv00001014sd000002CC* -- ID_MODEL_FROM_DATABASE=ServeRAID 7e -+ ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID (ServeRAID 7e) - - pci:v00009005d0000809E* - ID_MODEL_FROM_DATABASE=AIC-7901A U320 w/HostRAID -@@ -72858,7 +72858,7 @@ pci:v00009710d00009815* - ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller - - pci:v00009710d00009815sv00001000sd00000020* -- ID_MODEL_FROM_DATABASE=2P0S (2 port parallel adaptor) -+ ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller (2P0S (2 port parallel adaptor)) - - pci:v00009710d00009820* - ID_MODEL_FROM_DATABASE=PCI 9820 Multi-I/O Controller -@@ -72867,31 +72867,31 @@ pci:v00009710d00009835* - ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller - - pci:v00009710d00009835sv00001000sd00000002* -- ID_MODEL_FROM_DATABASE=2S (16C550 UART) -+ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (2S (16C550 UART)) - - pci:v00009710d00009835sv00001000sd00000012* -- ID_MODEL_FROM_DATABASE=1P2S -+ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (1P2S) - - pci:v00009710d00009845* - ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller - - pci:v00009710d00009845sv00001000sd00000004* -- ID_MODEL_FROM_DATABASE=0P4S (4 port 16550A serial card) -+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P4S (4 port 16550A serial card)) - - pci:v00009710d00009845sv00001000sd00000006* -- ID_MODEL_FROM_DATABASE=0P6S (6 port 16550a serial card) -+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P6S (6 port 16550a serial card)) - - pci:v00009710d00009845sv00001000sd00000014* -- ID_MODEL_FROM_DATABASE=1P4S (1 Parallel / 4 16550A Serial Port Adapter) -+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (1P4S (1 Parallel / 4 16550A Serial Port Adapter)) - - pci:v00009710d00009855* - ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller - - pci:v00009710d00009855sv00001000sd00000014* -- ID_MODEL_FROM_DATABASE=1P4S -+ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (1P4S) - - pci:v00009710d00009855sv00001000sd00000022* -- ID_MODEL_FROM_DATABASE=2P2S (2 Parallel / 2 16550A Serial Port Adapter) -+ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (2P2S (2 Parallel / 2 16550A Serial Port Adapter)) - - pci:v00009710d00009865* - ID_MODEL_FROM_DATABASE=PCI 9865 Multi-I/O Controller -@@ -73350,40 +73350,40 @@ pci:v0000DD01d00000003* - ID_MODEL_FROM_DATABASE=Octopus DVB Adapter - - pci:v0000DD01d00000003sv0000DD01sd00000001* -- ID_MODEL_FROM_DATABASE=Octopus DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000002* -- ID_MODEL_FROM_DATABASE=Octopus LE DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus LE DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000003* -- ID_MODEL_FROM_DATABASE=Octopus OEM -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus OEM) - - pci:v0000DD01d00000003sv0000DD01sd00000004* -- ID_MODEL_FROM_DATABASE=Octopus V3 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus V3 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000010* -- ID_MODEL_FROM_DATABASE=Octopus Mini -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus Mini) - - pci:v0000DD01d00000003sv0000DD01sd00000020* -- ID_MODEL_FROM_DATABASE=Cine S2 V6 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000021* -- ID_MODEL_FROM_DATABASE=Cine S2 V6.5 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6.5 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000030* -- ID_MODEL_FROM_DATABASE=Cine CT V6.1 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine CT V6.1 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd0000DB03* -- ID_MODEL_FROM_DATABASE=Mystique SaTiX-S2 V3 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Mystique SaTiX-S2 V3 DVB adapter) - - pci:v0000DD01d00000011* - ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter - - pci:v0000DD01d00000011sv0000DD01sd00000040* -- ID_MODEL_FROM_DATABASE=Octopus CI -+ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI) - - pci:v0000DD01d00000011sv0000DD01sd00000041* -- ID_MODEL_FROM_DATABASE=Octopus CI Single -+ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI Single) - - pci:v0000DEAD* - ID_VENDOR_FROM_DATABASE=Indigita Corporation -@@ -73416,22 +73416,22 @@ pci:v0000E159d00000001* - ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface - - pci:v0000E159d00000001sv00000059sd00000001* -- ID_MODEL_FROM_DATABASE=128k ISDN-S/T Adapter -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-S/T Adapter) - - pci:v0000E159d00000001sv00000059sd00000003* -- ID_MODEL_FROM_DATABASE=128k ISDN-U Adapter -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-U Adapter) - - pci:v0000E159d00000001sv000000A7sd00000001* -- ID_MODEL_FROM_DATABASE=TELES.S0/PCI 2.x ISDN Adapter -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (TELES.S0/PCI 2.x ISDN Adapter) - - pci:v0000E159d00000001sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Digium X100P/X101P analogue PSTN FXO interface -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (Digium X100P/X101P analogue PSTN FXO interface) - - pci:v0000E159d00000001sv0000B100sd00000003* -- ID_MODEL_FROM_DATABASE=OpenVox A400P 4-port analog card -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (OpenVox A400P 4-port analog card) - - pci:v0000E159d00000001sv0000B1D9sd00000003* -- ID_MODEL_FROM_DATABASE=AX400P 4-port analog card -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (AX400P 4-port analog card) - - pci:v0000E159d00000002* - ID_MODEL_FROM_DATABASE=Tiger100APC ISDN chipset --- -1.7.9.2 - diff --git a/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 5f097f39..00000000 --- a/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f89b42ec0fd51feab5566d6bdbacee101023c037 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Tue, 25 Mar 2014 20:21:23 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 7d86f10..b928f5a 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -923,3 +923,21 @@ bluetooth:v0130* - - bluetooth:v0131* - ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation -+ -+bluetooth:v0132* -+ ID_VENDOR_FROM_DATABASE=MADS Inc -+ -+bluetooth:v0133* -+ ID_VENDOR_FROM_DATABASE=Blue Maestro Limited -+ -+bluetooth:v0134* -+ ID_VENDOR_FROM_DATABASE=Resolution Products, Inc. -+ -+bluetooth:v0135* -+ ID_VENDOR_FROM_DATABASE=Airewear LLC -+ -+bluetooth:v0136* -+ ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o. -+ -+bluetooth:v0137* -+ ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. --- -1.7.9.2 - diff --git a/0003-install-fix-invalid-free-in-unit_file_mask.patch b/0003-install-fix-invalid-free-in-unit_file_mask.patch deleted file mode 100644 index 0fe0581b..00000000 --- a/0003-install-fix-invalid-free-in-unit_file_mask.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 223217749e57996336d5730b0a28716cca56d45d Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Fri, 13 Jun 2014 18:48:18 +0200 -Subject: [PATCH] install: fix invalid free() in unit_file_mask() - -int unit_file_mask(...) in ./src/shared/install.c calls -get_config_path(...) which can in 4 error cases return without setting -"ret", and thus "prefix" can be uninitialized when unit_file_mask(...) -finishes (which it does directly after the error is returned from -get_config_path(...)). ---- - src/shared/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/install.c src/shared/install.c -index 487d0f6..f562063 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -563,7 +563,7 @@ int unit_file_mask( - unsigned *n_changes) { - - char **i; -- _cleanup_free_ char *prefix; -+ _cleanup_free_ char *prefix = NULL; - int r; - - assert(scope >= 0); --- -1.7.9.2 - diff --git a/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch b/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch deleted file mode 100644 index c88ed60b..00000000 --- a/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f2a474aea8f82fa9b695515d4590f4f3398358a7 Mon Sep 17 00:00:00 2001 -From: Juho Son -Date: Thu, 11 Sep 2014 16:06:38 +0900 -Subject: [PATCH] journald: add CAP_MAC_OVERRIDE in journald for SMACK issue - -systemd-journald check the cgroup id to support rate limit option for -every messages. so journald should be available to access cgroup node in -each process send messages to journald. -In system using SMACK, cgroup node in proc is assigned execute label -as each process's execute label. -so if journald don't want to denied for every process, journald -should have all of access rule for all process's label. -It's too heavy. so we could give special smack label for journald te get -all accesses's permission. -'^' label. -When assign '^' execute smack label to systemd-journald, -systemd-journald need to add CAP_MAC_OVERRIDE capability to get that smack privilege. - -so I want to notice this information and set default capability to -journald whether system use SMACK or not. -because that capability affect to only smack enabled kernel ---- - units/systemd-journald.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git units/systemd-journald.service.in units/systemd-journald.service.in -index 7013979..4de38fa 100644 ---- units/systemd-journald.service.in -+++ units/systemd-journald.service.in -@@ -20,7 +20,7 @@ Restart=always - RestartSec=0 - NotifyAccess=all - StandardOutput=null --CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID -+CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE - WatchdogSec=1min - - # Increase the default a bit in order to allow many simultaneous --- -1.7.9.2 - diff --git a/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch b/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch deleted file mode 100644 index c9ab5e0e..00000000 --- a/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e512e8a255ef29d5a8eb605f8849202ea3d3e4cb Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Wed, 27 Aug 2014 08:41:10 +0200 -Subject: [PATCH] keymap: Adjust for more Samsung 900X4 series - -Reportedly also applies to NP900X4B, so relax the match to apply to all models -of this series. - -https://launchpad.net/bugs/902332 ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index ef0ebc5..0ffcb83 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -939,7 +939,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* - # Series 7 / 9 - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* --keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* -+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* - KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings - KEYBOARD_KEY_a0=!mute # Fn+F6 mute --- -1.7.9.2 - diff --git a/0003-keymap-Annotate-all-micmute-workarounds.patch b/0003-keymap-Annotate-all-micmute-workarounds.patch deleted file mode 100644 index 00f1e431..00000000 --- a/0003-keymap-Annotate-all-micmute-workarounds.patch +++ /dev/null @@ -1,54 +0,0 @@ -From d946bb53f94713241004810de92cc37f1e19c2d2 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Wed, 30 Jul 2014 10:54:23 +0200 -Subject: [PATCH] keymap: Annotate all micmute workarounds - -Add a comment to all assignments to f20 that this actually should be "micmute" -in a future when we aren't limited by X.org's key code limiations any more. ---- - hwdb/60-keyboard.hwdb | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 70e372b..cbbbf2c 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -231,7 +231,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* - - # Dell Latitude microphone mute - keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* -- KEYBOARD_KEY_150=f20 # Mic mute toggle -+ KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute - - ########################################################### - # Everex -@@ -505,7 +505,7 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* - KEYBOARD_KEY_15=volumedown - KEYBOARD_KEY_16=mute - KEYBOARD_KEY_17=prog1 -- KEYBOARD_KEY_1a=f20 -+ KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute - - # ThinkPad Keyboard with TrackPoint - keyboard:usb:v17EFp6009* -@@ -573,7 +573,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* - - keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* - KEYBOARD_KEY_f1=f21 -- KEYBOARD_KEY_ce=f20 -+ KEYBOARD_KEY_ce=f20 # micmute - - keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* - KEYBOARD_KEY_a0=!mute -@@ -809,7 +809,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:* - KEYBOARD_KEY_f3=f17 - KEYBOARD_KEY_f2=f18 - KEYBOARD_KEY_f1=f19 -- KEYBOARD_KEY_f0=f20 -+ KEYBOARD_KEY_f0=f20 # micmute - KEYBOARD_KEY_ef=f21 - KEYBOARD_KEY_ee=chat - KEYBOARD_KEY_e4=chat --- -1.7.9.2 - diff --git a/0003-keymap-Fix-HP-Pavillon-DV7.patch b/0003-keymap-Fix-HP-Pavillon-DV7.patch deleted file mode 100644 index 33908a82..00000000 --- a/0003-keymap-Fix-HP-Pavillon-DV7.patch +++ /dev/null @@ -1,28 +0,0 @@ -From efb4bf4e419e14a13eead6289ea40165579a816f Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Tue, 5 Aug 2014 12:29:27 +0200 -Subject: [PATCH] keymap: Fix HP Pavillon DV7 - -Properly disable scan code 94 instead of producing KEY_0. - -https://launchpad.net/bugs/1322770 ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index cbbbf2c..5c3d4ca 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -368,7 +368,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr - KEYBOARD_KEY_b7=print - KEYBOARD_KEY_c2=media # FIXME: quick play - KEYBOARD_KEY_c6=break -- KEYBOARD_KEY_94=0 -+ KEYBOARD_KEY_94=reserved - - # Elitebook - keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr* --- -1.7.9.2 - diff --git a/0003-localed-consider-an-unset-model-as-a-wildcard.patch b/0003-localed-consider-an-unset-model-as-a-wildcard.patch deleted file mode 100644 index 3fbdb74e..00000000 --- a/0003-localed-consider-an-unset-model-as-a-wildcard.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 387066c2e5bda159201896b194711965b52f34a9 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 30 May 2014 18:20:16 +0200 -Subject: [PATCH] localed: consider an unset model as a wildcard - ---- - src/locale/localed.c | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git src/locale/localed.c src/locale/localed.c -index e3061c8..358f6c2 100644 ---- src/locale/localed.c -+++ src/locale/localed.c -@@ -712,15 +712,16 @@ static int find_legacy_keymap(Context *c, char **new_keymap) { - } - } - -- if (matching > 0 && -- streq_ptr(c->x11_model, a[2])) { -- matching++; -- -- if (streq_ptr(c->x11_variant, a[3])) { -+ if (matching > 0) { -+ if (isempty(c->x11_model) || streq_ptr(c->x11_model, a[2])) { - matching++; - -- if (streq_ptr(c->x11_options, a[4])) -+ if (streq_ptr(c->x11_variant, a[3])) { - matching++; -+ -+ if (streq_ptr(c->x11_options, a[4])) -+ matching++; -+ } - } - } - --- -1.7.9.2 - diff --git a/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch b/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch deleted file mode 100644 index e4752edc..00000000 --- a/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9c413373d2112055a0142ef522bf95af9b491b4a Mon Sep 17 00:00:00 2001 -From: "Jasper St. Pierre" -Date: Fri, 21 Feb 2014 18:23:17 -0500 -Subject: [PATCH] login: Allow calling org.freedesktop.login1.Seat.SwitchTo - ---- - src/login/org.freedesktop.login1.conf | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git src/login/org.freedesktop.login1.conf src/login/org.freedesktop.login1.conf -index d677f61..1318328 100644 ---- src/login/org.freedesktop.login1.conf -+++ src/login/org.freedesktop.login1.conf -@@ -141,6 +141,18 @@ - send_member="ActivateSession"/> - - -+ -+ -+ -+ -+ -+ - --- -1.7.9.2 - diff --git a/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch b/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch deleted file mode 100644 index 596702d6..00000000 --- a/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch +++ /dev/null @@ -1,174 +0,0 @@ -From f9cd6be10ece07e10488c05e270a0b5860779864 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 20:49:33 +0100 -Subject: [PATCH] logind: ignore lid switch events for 30s after each suspend - and 3min after startup - -This is needed to give USB docking stations and suchlike time to settle, -so that a display connected to an USB docking station can actually act -as a lid swith inhibitor correctly. - -With this change we should have somewhat reliable docking station -support in place. ---- - src/login/logind-action.c | 15 ++++++++++++++- - src/login/logind-dbus.c | 3 +++ - src/login/logind.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ - src/login/logind.h | 7 +++++++ - 4 files changed, 69 insertions(+), 1 deletion(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index c9d8bc5..ae7b350 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -70,20 +70,33 @@ int manager_handle_action( - return 0; - } - -- /* If we are docked don't react to lid closing */ - if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { - int n; - -+ /* If we are docked don't react to lid closing */ - if (manager_is_docked(m)) { - log_debug("Ignoring lid switch request, system is docked."); - return 0; - } - -+ /* If we have more than one or no displays connected, -+ * don't react to lid closing. The no display case we -+ * treat like this under the assumption that there is -+ * no modern drm driver available. */ - n = manager_count_displays(m); - if (n != 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } -+ -+ /* If the last system suspend or startup is too close, -+ * let's not suspend for now, to give USB docking -+ * stations some time to settle so that we can -+ * properly watch its displays. */ -+ if (m->lid_switch_ignore_event_source) { -+ log_debug("Ignoring lid switch request, system startup or resume too close."); -+ return 0; -+ } - } - - /* If the key handling is inhibited, don't do anything */ -diff --git src/login/logind-dbus.c src/login/logind-dbus.c -index fc89531..c9c58f3 100644 ---- src/login/logind-dbus.c -+++ src/login/logind-dbus.c -@@ -1337,6 +1337,9 @@ static int execute_shutdown_or_sleep( - m->action_job = c; - m->action_what = w; - -+ /* Make sure the lid switch is ignored for a while */ -+ manager_set_lid_switch_ignore(m, now(CLOCK_MONOTONIC) + IGNORE_LID_SWITCH_SUSPEND_USEC); -+ - return 0; - } - -diff --git src/login/logind.c src/login/logind.c -index 10f61ab..fd113b3 100644 ---- src/login/logind.c -+++ src/login/logind.c -@@ -144,6 +144,7 @@ void manager_free(Manager *m) { - sd_event_source_unref(m->udev_device_event_source); - sd_event_source_unref(m->udev_vcsa_event_source); - sd_event_source_unref(m->udev_button_event_source); -+ sd_event_source_unref(m->lid_switch_ignore_event_source); - - if (m->console_active_fd >= 0) - close_nointr_nofail(m->console_active_fd); -@@ -959,6 +960,46 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us - return 0; - } - -+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(e); -+ assert(m); -+ -+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); -+ return 0; -+} -+ -+int manager_set_lid_switch_ignore(Manager *m, usec_t until) { -+ int r; -+ -+ assert(m); -+ -+ if (until <= now(CLOCK_MONOTONIC)) -+ return 0; -+ -+ /* We want to ignore the lid switch for a while after each -+ * suspend, and after boot-up. Hence let's install a timer for -+ * this. As long as the event source exists we ignore the lid -+ * switch. */ -+ -+ if (m->lid_switch_ignore_event_source) { -+ usec_t u; -+ -+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); -+ if (r < 0) -+ return r; -+ -+ if (until <= u) -+ return 0; -+ -+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); -+ } else -+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); -+ -+ return r; -+} -+ - int manager_startup(Manager *m) { - int r; - Seat *seat; -@@ -994,6 +1035,10 @@ int manager_startup(Manager *m) { - return r; - } - -+ r = manager_set_lid_switch_ignore(m, 0 + IGNORE_LID_SWITCH_STARTUP_USEC); -+ if (r < 0) -+ log_warning("Failed to set up lid switch ignore event source: %s", strerror(-r)); -+ - /* Deserialize state */ - r = manager_enumerate_devices(m); - if (r < 0) -diff --git src/login/logind.h src/login/logind.h -index 74d6641..4bb8e7b 100644 ---- src/login/logind.h -+++ src/login/logind.h -@@ -42,6 +42,9 @@ typedef struct Manager Manager; - #include "logind-button.h" - #include "logind-action.h" - -+#define IGNORE_LID_SWITCH_STARTUP_USEC (3 * USEC_PER_MINUTE) -+#define IGNORE_LID_SWITCH_SUSPEND_USEC (30 * USEC_PER_SEC) -+ - struct Manager { - sd_event *event; - sd_bus *bus; -@@ -118,6 +121,8 @@ struct Manager { - bool lid_switch_ignore_inhibited; - - Hashmap *polkit_registry; -+ -+ sd_event_source *lid_switch_ignore_event_source; - }; - - Manager *manager_new(void); -@@ -178,3 +183,5 @@ const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned lengt - - int manager_watch_busname(Manager *manager, const char *name); - void manager_drop_busname(Manager *manager, const char *name); -+ -+int manager_set_lid_switch_ignore(Manager *m, usec_t until); --- -1.7.9.2 - diff --git a/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch b/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch deleted file mode 100644 index 070a9100..00000000 --- a/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 05a2f6fefedd7254fd799502191d025d2908cf74 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen -Date: Sat, 12 Apr 2014 08:37:38 +0300 -Subject: [PATCH] man: mention XDG_CONFIG_HOME in systemd.unit - ---- - man/systemd.unit.xml | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 07a73fd..bcd4ba8 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -70,7 +70,8 @@ - ... - - -- $HOME/.config/systemd/user/* -+ $XDG_CONFIG_HOME/systemd/user/* -+$HOME/.config/systemd/user/* - /etc/systemd/user/* - /run/systemd/user/* - /usr/lib/systemd/user/* -@@ -320,8 +321,12 @@ - - - -+ $XDG_CONFIG_HOME/systemd/user -+ User configuration (only used when $XDG_CONFIG_HOME is set) -+ -+ - $HOME/.config/systemd/user -- User configuration -+ User configuration (only used when $XDG_CONFIG_HOME is not set) - - - /etc/systemd/user --- -1.7.9.2 - diff --git a/0003-man-we-don-t-have-Wanted-dependency.patch b/0003-man-we-don-t-have-Wanted-dependency.patch deleted file mode 100644 index 6ab1a897..00000000 --- a/0003-man-we-don-t-have-Wanted-dependency.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3e883473a0f36c220fc45ecf61d6878c9ac308b4 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 15 Oct 2014 09:28:31 +0200 -Subject: [PATCH] man: we don't have 'Wanted' dependency - ---- - man/systemd.unit.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index e9395ff..88c9d7f 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -181,10 +181,10 @@ - foo.service.wants/ may exist. All - unit files symlinked from such a directory are - implicitly added as dependencies of type -- Wanted= to the unit. This is useful -+ Wants= to the unit. This is useful - to hook units into the start-up of other units, - without having to modify their unit files. For details -- about the semantics of Wanted=, see -+ about the semantics of Wants=, see - below. The preferred way to create symlinks in the - .wants/ directory of a unit file - is with the enable command of the --- -1.7.9.2 - diff --git a/0003-mount-order-options-before-other-arguments-to-mount.patch b/0003-mount-order-options-before-other-arguments-to-mount.patch deleted file mode 100644 index d777869d..00000000 --- a/0003-mount-order-options-before-other-arguments-to-mount.patch +++ /dev/null @@ -1,39 +0,0 @@ -Based on 141a1ceaa62578f1ed14f04cae2113dd0f49fd7f Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:59 +0200 -Subject: [PATCH] mount: order options before other arguments to mount - ---- - src/core/mount.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - ---- src/core/mount.c -+++ src/core/mount.c 2014-09-25 13:43:44.926563278 +0000 -@@ -947,10 +947,11 @@ static void mount_enter_mounting(Mount * - r = exec_command_set( - m->control_command, - "/bin/mount", -+ "-n", -+ "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", -+ "-o", m->parameters_fragment.options ? m->parameters_fragment.options : "defaults", - m->parameters_fragment.what, - m->where, -- "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", -- m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options, - NULL); - else - r = -ENOENT; -@@ -994,10 +995,11 @@ static void mount_enter_remounting(Mount - r = exec_command_set( - m->control_command, - "/bin/mount", -- m->parameters_fragment.what, -- m->where, -+ "-n", - "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", - "-o", o, -+ m->parameters_fragment.what, -+ m->where, - NULL); - } else - r = -ENOENT; diff --git a/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch b/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch deleted file mode 100644 index a8e538e2..00000000 --- a/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch +++ /dev/null @@ -1,34 +0,0 @@ -Based on 664064d60c36e1f62c7e9177e4c7498035467e07 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 16:27:57 +0200 -Subject: [PATCH] namespace: make sure /tmp, /var/tmp and /dev are writable in - namespaces we set up - ---- - src/core/namespace.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - ---- src/core/namespace.c -+++ src/core/namespace.c 2014-07-04 09:55:21.582234949 +0000 -@@ -263,14 +263,17 @@ static int make_read_only(BindMount *m) - - assert(m); - -- if (m->mode != INACCESSIBLE && m->mode != READONLY) -- return 0; -+ if (IN_SET(m->mode, INACCESSIBLE, READONLY)) -+ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); -+ else if (IN_SET(m->mode, READWRITE, PRIVATE_TMP, PRIVATE_VAR_TMP, PRIVATE_DEV)) -+ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_REC, NULL); -+ else -+ r = 0; - -- r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); - if (r < 0 && !(m->ignore && errno == ENOENT)) - return -errno; - -- return 0; -+ return r; - } - - int setup_namespace( diff --git a/0003-sd-bus-check-return-value-of-vasprintf.patch b/0003-sd-bus-check-return-value-of-vasprintf.patch deleted file mode 100644 index c908f074..00000000 --- a/0003-sd-bus-check-return-value-of-vasprintf.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 Mon Sep 17 00:00:00 2001 -From: Daniel Mack -Date: Tue, 7 Oct 2014 12:10:06 +0200 -Subject: [PATCH] sd-bus: check return value of vasprintf - -Check for OOM situations when vasprintf() returns < 0 in bus_error_setfv(). - -Spotted by coverity. ---- - src/libsystemd/sd-bus/bus-error.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c -index abdfd73..5ca974a 100644 ---- src/libsystemd/sd-bus/bus-error.c -+++ src/libsystemd/sd-bus/bus-error.c -@@ -194,8 +194,13 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li - return -ENOMEM; - } - -- if (format) -- vasprintf((char**) &e->message, format, ap); -+ if (format) { -+ int r; -+ -+ r = vasprintf((char**) &e->message, format, ap); -+ if (r < 0) -+ return -ENOMEM; -+ } - - e->_need_free = 1; - --- -1.7.9.2 - diff --git a/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch b/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch deleted file mode 100644 index 72455f2c..00000000 --- a/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch +++ /dev/null @@ -1,498 +0,0 @@ -From a3d59cd1b0a2738d06893948492113f2c35be0af Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 19 Mar 2014 21:41:21 +0100 -Subject: [PATCH] sd-bus: don't use assert_return() to check for disconnected - bus connections - -A terminated connection is a runtime error and not a developer mistake, -hence don't use assert_return() to check for it. ---- - src/libsystemd/sd-bus/bus-control.c | 20 +++++++++++++----- - src/libsystemd/sd-bus/bus-convenience.c | 58 +++++++++++++++++++++++++++++++++++++++++------------- - src/libsystemd/sd-bus/bus-objects.c | 23 +++++++++++++++------ - src/libsystemd/sd-bus/sd-bus.c | 49 +++++++++++++++++++++++++++++++++------------ - 4 files changed, 113 insertions(+), 37 deletions(-) - ---- src/libsystemd/sd-bus/bus-control.c -+++ src/libsystemd/sd-bus/bus-control.c 2014-03-28 00:00:00.000000000 +0000 -@@ -128,12 +128,14 @@ _public_ int sd_bus_request_name(sd_bus - assert_return(bus, -EINVAL); - assert_return(name, -EINVAL); - assert_return(bus->bus_client, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(!(flags & ~(SD_BUS_NAME_ALLOW_REPLACEMENT|SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_QUEUE)), -EINVAL); - assert_return(service_name_is_valid(name), -EINVAL); - assert_return(name[0] != ':', -EINVAL); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_request_name_kernel(bus, name, flags); - else -@@ -201,11 +203,13 @@ _public_ int sd_bus_release_name(sd_bus - assert_return(bus, -EINVAL); - assert_return(name, -EINVAL); - assert_return(bus->bus_client, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(service_name_is_valid(name), -EINVAL); - assert_return(name[0] != ':', -EINVAL); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_release_name_kernel(bus, name); - else -@@ -344,9 +348,11 @@ static int bus_list_names_dbus1(sd_bus * - _public_ int sd_bus_list_names(sd_bus *bus, char ***acquired, char ***activatable) { - assert_return(bus, -EINVAL); - assert_return(acquired || activatable, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_list_names_kernel(bus, acquired, activatable); - else -@@ -737,11 +743,13 @@ _public_ int sd_bus_get_owner( - assert_return(name, -EINVAL); - assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); - assert_return(mask == 0 || creds, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(service_name_is_valid(name), -EINVAL); - assert_return(bus->bus_client, -ENODATA); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_get_owner_kdbus(bus, name, mask, creds); - else -@@ -1198,10 +1206,12 @@ _public_ int sd_bus_get_owner_machine_id - assert_return(bus, -EINVAL); - assert_return(name, -EINVAL); - assert_return(machine, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(service_name_is_valid(name), -EINVAL); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (streq_ptr(name, bus->unique_name)) - return sd_id128_get_machine(machine); - ---- src/libsystemd/sd-bus/bus-convenience.c -+++ src/libsystemd/sd-bus/bus-convenience.c 2014-03-28 00:00:00.000000000 +0000 -@@ -36,9 +36,11 @@ _public_ int sd_bus_emit_signal( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_message_new_signal(bus, &m, path, interface, member); - if (r < 0) - return r; -@@ -70,9 +72,11 @@ _public_ int sd_bus_call_method( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_message_new_method_call(bus, &m, destination, path, interface, member); - if (r < 0) - return r; -@@ -100,9 +104,12 @@ _public_ int sd_bus_reply_method_return( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -134,9 +141,12 @@ _public_ int sd_bus_reply_method_error( - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); - assert_return(sd_bus_error_is_set(e), -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -159,9 +169,12 @@ _public_ int sd_bus_reply_method_errorf( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -182,9 +195,12 @@ _public_ int sd_bus_reply_method_errno( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -208,9 +224,12 @@ _public_ int sd_bus_reply_method_errnof( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -239,9 +258,11 @@ _public_ int sd_bus_get_property( - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(reply, -EINVAL); - assert_return(signature_is_single(type, false), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &rep, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -273,9 +294,11 @@ _public_ int sd_bus_get_property_trivial - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(bus_type_is_trivial(type), -EINVAL); - assert_return(ptr, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -309,9 +332,11 @@ _public_ int sd_bus_get_property_string( - assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(ret, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -348,9 +373,11 @@ _public_ int sd_bus_get_property_strv( - assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(ret, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -383,9 +410,11 @@ _public_ int sd_bus_set_property( - assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(signature_is_single(type, false), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_message_new_method_call(bus, &m, destination, path, "org.freedesktop.DBus.Properties", "Set"); - if (r < 0) - return r; -@@ -416,9 +445,12 @@ _public_ int sd_bus_query_sender_creds(s - - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - c = sd_bus_message_get_creds(call); - - /* All data we need? */ ---- src/libsystemd/sd-bus/bus-objects.c -+++ src/libsystemd/sd-bus/bus-objects.c 2014-03-28 00:00:00.000000000 +0000 -@@ -2196,9 +2196,10 @@ _public_ int sd_bus_emit_properties_chan - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); - assert_return(interface_name_is_valid(interface), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - /* A non-NULL but empty names list means nothing needs to be - generated. A NULL list OTOH indicates that all properties -@@ -2241,9 +2242,11 @@ _public_ int sd_bus_emit_properties_chan - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); - assert_return(interface_name_is_valid(interface), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (!name) - return 0; - -@@ -2361,9 +2364,11 @@ _public_ int sd_bus_emit_interfaces_adde - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (strv_isempty(interfaces)) - return 0; - -@@ -2421,9 +2426,11 @@ _public_ int sd_bus_emit_interfaces_adde - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - interfaces = strv_from_stdarg_alloca(interface); - - return sd_bus_emit_interfaces_added_strv(bus, path, interfaces); -@@ -2435,9 +2442,11 @@ _public_ int sd_bus_emit_interfaces_remo - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (strv_isempty(interfaces)) - return 0; - -@@ -2461,9 +2470,11 @@ _public_ int sd_bus_emit_interfaces_remo - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - interfaces = strv_from_stdarg_alloca(interface); - - return sd_bus_emit_interfaces_removed_strv(bus, path, interfaces); ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c 2014-03-28 12:19:27.146736146 +0000 -@@ -1592,10 +1592,12 @@ static int bus_send_internal(sd_bus *bus - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (m->n_fds > 0) { - r = sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD); - if (r < 0) -@@ -1671,10 +1673,12 @@ _public_ int sd_bus_send_to(sd_bus *bus, - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (!streq_ptr(m->destination, destination)) { - - if (!destination) -@@ -1726,13 +1730,15 @@ _public_ int sd_bus_call_async( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); - assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); - assert_return(callback, -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func); - if (r < 0) - return r; -@@ -1839,13 +1845,15 @@ _public_ int sd_bus_call( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); - assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); - assert_return(!bus_error_is_dirty(error), -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = bus_ensure_running(bus); - if (r < 0) - return r; -@@ -1971,9 +1979,11 @@ _public_ int sd_bus_get_events(sd_bus *b - int flags = 0; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) -+ return -ENOTCONN; -+ - if (bus->state == BUS_OPENING) - flags |= POLLOUT; - else if (bus->state == BUS_AUTHENTICATING) { -@@ -1998,9 +2008,11 @@ _public_ int sd_bus_get_timeout(sd_bus * - - assert_return(bus, -EINVAL); - assert_return(timeout_usec, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) -+ return -ENOTCONN; -+ - if (bus->state == BUS_CLOSING) { - *timeout_usec = 0; - return 1; -@@ -2510,7 +2522,8 @@ static int bus_poll(sd_bus *bus, bool ne - if (bus->state == BUS_CLOSING) - return 1; - -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - e = sd_bus_get_events(bus); - if (e < 0) -@@ -2565,7 +2578,8 @@ _public_ int sd_bus_wait(sd_bus *bus, ui - if (bus->state == BUS_CLOSING) - return 0; - -- assert_return(BUS_IS_OPEN(bus->state) , -ENOTCONN); -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - if (bus->rqueue_size > 0) - return 0; -@@ -2582,7 +2596,8 @@ _public_ int sd_bus_flush(sd_bus *bus) { - if (bus->state == BUS_CLOSING) - return 0; - -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - r = bus_ensure_running(bus); - if (r < 0) -@@ -3058,9 +3073,13 @@ _public_ int sd_bus_get_peer_creds(sd_bu - assert_return(bus, -EINVAL); - assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); - assert_return(ret, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); -- assert_return(!bus->is_kernel, -ENOTSUP); -+ -+ if (!bus->is_kernel) -+ return -ENOTSUP; -+ -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - if (!bus->ucred_valid && !isempty(bus->label)) - return -ENODATA; -@@ -3099,9 +3118,13 @@ _public_ int sd_bus_try_close(sd_bus *bu - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); -- assert_return(bus->is_kernel, -ENOTSUP); -+ -+ if (!bus->is_kernel) -+ return -ENOTSUP; -+ -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - if (bus->rqueue_size > 0) - return -EBUSY; diff --git a/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch b/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch deleted file mode 100644 index 13b0da4b..00000000 --- a/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9b772efb41c2d9f743ba5e96804bdf89b12630d8 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 19 Nov 2014 20:52:47 +0100 -Subject: [PATCH] sd-bus: refuse properties that claim to be both writable and - constant at the same time - ---- - src/libsystemd/sd-bus/bus-objects.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/libsystemd/sd-bus/bus-objects.c src/libsystemd/sd-bus/bus-objects.c -index 0ab1119..7981d65 100644 ---- src/libsystemd/sd-bus/bus-objects.c -+++ src/libsystemd/sd-bus/bus-objects.c -@@ -1682,6 +1682,11 @@ static int add_object_vtable_internal( - goto fail; - } - -+ if (v->flags & SD_BUS_VTABLE_PROPERTY_CONST) { -+ r = -EINVAL; -+ goto fail; -+ } -+ - /* Fall through */ - - case _SD_BUS_VTABLE_PROPERTY: { --- -1.7.9.2 - diff --git a/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch b/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch deleted file mode 100644 index f401411e..00000000 --- a/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b63c8d4f0364457b0ead8793504012bb7113974f Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 10 Jul 2014 00:47:23 +0200 -Subject: [PATCH] sd-event: always call epoll_ctl() on mask-updates if - edge-triggered - -A call to sd_event_source_set_io_events() skipps calling into the kernel -if the new event-mask matches the old one. This is safe for -level-triggered sources as the kernel moves them onto the ready-list -automatically if events change. However, edge-triggered sources might not -be on the ready-list even though events are present. - -A call to sd_event_source_set_io_events() with EPOLLET set might thus be -used to just move the io-source onto the ready-list so the next poll -will return it again. This is very useful to avoid starvation in -priority-based event queues. - -Imagine a read() loop on an edge-triggered fd. If we cannot read data fast -enough to drain the receive queue, we might decide to skip reading for now -and schedule it for later. On edge-triggered io-sources we have to make -sure it's put on the ready-list so the next dispatch-round will return it -again if it's still the highest priority task. We could make sd-event -handle edge-triggered sources directly and allow marking them ready again. -However, it's much simpler to let the kernel do that for now via -EPOLL_CTL_MOD. ---- - src/libsystemd/sd-event/sd-event.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index 53f1904..a21f7db 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -1282,7 +1282,8 @@ _public_ int sd_event_source_set_io_events(sd_event_source *s, uint32_t events) - assert_return(s->event->state != SD_EVENT_FINISHED, -ESTALE); - assert_return(!event_pid_changed(s->event), -ECHILD); - -- if (s->io.events == events) -+ /* edge-triggered updates are never skipped, so we can reset edges */ -+ if (s->io.events == events && !(events & EPOLLET)) - return 0; - - if (s->enabled != SD_EVENT_OFF) { --- -1.7.9.2 - diff --git a/0003-sd-journal-properly-convert-object-size-on-big-endia.patch b/0003-sd-journal-properly-convert-object-size-on-big-endia.patch deleted file mode 100644 index 40e8d57c..00000000 --- a/0003-sd-journal-properly-convert-object-size-on-big-endia.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 57cd09acf2c63a414aa2131c00a2b3f600eb0133 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 23 Aug 2014 22:35:03 -0400 -Subject: [PATCH] sd-journal: properly convert object->size on big endian - -mmap code crashes when attempting to map an object of zero size. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758392 -https://bugs.freedesktop.org/show_bug.cgi?id=82894 ---- - src/journal/journal-file.h | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git src/journal/journal-file.h src/journal/journal-file.h -index 3d41682..da2ef3b 100644 ---- src/journal/journal-file.h -+++ src/journal/journal-file.h -@@ -214,14 +214,15 @@ static unsigned type_to_context(int type) { - - static inline int journal_file_object_keep(JournalFile *f, Object *o, uint64_t offset) { - unsigned context = type_to_context(o->object.type); -+ uint64_t s = le64toh(o->object.size); - - return mmap_cache_get(f->mmap, f->fd, f->prot, context, true, -- offset, o->object.size, &f->last_stat, NULL); -+ offset, s, &f->last_stat, NULL); - } - - static inline int journal_file_object_release(JournalFile *f, Object *o, uint64_t offset) { - unsigned context = type_to_context(o->object.type); -+ uint64_t s = le64toh(o->object.size); - -- return mmap_cache_release(f->mmap, f->fd, f->prot, context, -- offset, o->object.size); -+ return mmap_cache_release(f->mmap, f->fd, f->prot, context, offset, s); - } --- -1.7.9.2 - diff --git a/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch b/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch deleted file mode 100644 index 7aa3506a..00000000 --- a/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0ffce503cd6e5a5ff5ba5cd1cc23684cfb8bb9e3 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Thu, 30 Oct 2014 20:12:05 -0400 -Subject: [PATCH] shared/install: avoid prematurely rejecting "missing" units - -f7101b7368df copied some logic to prevent enabling masked units, but -also added a check which causes attempts to enable templated units to -fail. Since we know the logic beyond this check will properly handle -units which truly do not exist, we can rely on the unit file state -comparison to suffice for expressing the intent of f7101b7368df. - -ref: https://bugs.archlinux.org/task/42616 ---- - src/shared/install.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git src/shared/install.c src/shared/install.c -index 035b44c..cab93e8 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -1620,12 +1620,10 @@ int unit_file_enable( - STRV_FOREACH(i, files) { - UnitFileState state; - -+ /* We only want to know if this unit is masked, so we ignore -+ * errors from unit_file_get_state, deferring other checks. -+ * This allows templated units to be enabled on the fly. */ - state = unit_file_get_state(scope, root_dir, *i); -- if (state < 0) { -- log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); -- return state; -- } -- - if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { - log_error("Failed to enable unit: Unit %s is masked", *i); - return -ENOTSUP; --- -1.7.9.2 - diff --git a/0003-systemd-use-pager-for-test-and-help.patch b/0003-systemd-use-pager-for-test-and-help.patch deleted file mode 100644 index a22e0b9d..00000000 --- a/0003-systemd-use-pager-for-test-and-help.patch +++ /dev/null @@ -1,111 +0,0 @@ -From b87c2aa6bf1247c298c9bd9f56b9b56a87836b2d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 7 Jan 2014 00:00:05 -0500 -Subject: [PATCH] systemd: use pager for --test and --help - ---- - src/core/main.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git src/core/main.c src/core/main.c -index f9ee297..ae38b43 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -50,6 +50,7 @@ - #include "conf-parser.h" - #include "missing.h" - #include "label.h" -+#include "pager.h" - #include "build.h" - #include "strv.h" - #include "def.h" -@@ -94,6 +95,7 @@ static int arg_crash_chvt = -1; - static bool arg_confirm_spawn = false; - static ShowStatus arg_show_status = _SHOW_STATUS_UNSET; - static bool arg_switched_root = false; -+static int arg_no_pager = -1; - static char ***arg_join_controllers = NULL; - static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; - static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; -@@ -117,6 +119,14 @@ static bool arg_default_memory_accounting = false; - - static void nop_handler(int sig) {} - -+static void pager_open_if_enabled(void) { -+ -+ if (arg_no_pager <= 0) -+ return; -+ -+ pager_open(false); -+} -+ - noreturn static void crash(int sig) { - - if (getpid() != 1) -@@ -704,6 +714,7 @@ static int parse_argv(int argc, char *argv[]) { - ARG_SYSTEM, - ARG_USER, - ARG_TEST, -+ ARG_NO_PAGER, - ARG_VERSION, - ARG_DUMP_CONFIGURATION_ITEMS, - ARG_DUMP_CORE, -@@ -725,6 +736,7 @@ static int parse_argv(int argc, char *argv[]) { - { "system", no_argument, NULL, ARG_SYSTEM }, - { "user", no_argument, NULL, ARG_USER }, - { "test", no_argument, NULL, ARG_TEST }, -+ { "no-pager", no_argument, NULL, ARG_NO_PAGER }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, ARG_VERSION }, - { "dump-configuration-items", no_argument, NULL, ARG_DUMP_CONFIGURATION_ITEMS }, -@@ -832,6 +844,12 @@ static int parse_argv(int argc, char *argv[]) { - - case ARG_TEST: - arg_action = ACTION_TEST; -+ if (arg_no_pager < 0) -+ arg_no_pager = true; -+ break; -+ -+ case ARG_NO_PAGER: -+ arg_no_pager = true; - break; - - case ARG_VERSION: -@@ -912,6 +930,8 @@ static int parse_argv(int argc, char *argv[]) { - - case 'h': - arg_action = ACTION_HELP; -+ if (arg_no_pager < 0) -+ arg_no_pager = true; - break; - - case 'D': -@@ -984,6 +1004,7 @@ static int help(void) { - "Starts up and maintains the system or user services.\n\n" - " -h --help Show this help\n" - " --test Determine startup sequence, dump it and exit\n" -+ " --no-pager Do not pipe output into a pager\n" - " --dump-configuration-items Dump understood unit configuration items\n" - " --unit=UNIT Set default unit\n" - " --system Run a system instance, even if PID != 1\n" -@@ -1452,6 +1473,8 @@ int main(int argc, char *argv[]) { - goto finish; - } - -+ pager_open_if_enabled(); -+ - if (arg_action == ACTION_HELP) { - retval = help(); - goto finish; -@@ -1798,6 +1821,8 @@ int main(int argc, char *argv[]) { - } - - finish: -+ pager_close(); -+ - if (m) { - manager_free(m); - m = NULL; --- -1.7.9.2 - diff --git a/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch b/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch deleted file mode 100644 index 17cd7d1a..00000000 --- a/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 65de0395ffe1cfb0f9af86504e8588fb31bb0fbc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 19:08:22 +0200 -Subject: [PATCH] time: earlier exit from format_timestamp_relative() on - special times - ---- - src/shared/time-util.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- src/shared/time-util.c -+++ src/shared/time-util.c 2014-10-29 14:07:28.479838096 +0000 -@@ -194,11 +194,10 @@ char *format_timestamp_relative(char *bu - const char *s; - usec_t n, d; - -- n = now(CLOCK_REALTIME); -- - if (t <= 0 || (t == (usec_t) -1)) - return NULL; - -+ n = now(CLOCK_REALTIME); - if (n > t) { - d = n - t; - s = "ago"; diff --git a/0003-tty-ask-password-agent-return-negative-errno.patch b/0003-tty-ask-password-agent-return-negative-errno.patch deleted file mode 100644 index 9f839a7f..00000000 --- a/0003-tty-ask-password-agent-return-negative-errno.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ee0e4cca5ac37a094dfe1074907dae70c7b7701c Mon Sep 17 00:00:00 2001 -From: Florian Albrechtskirchinger -Date: Thu, 3 Apr 2014 21:17:20 +0200 -Subject: [PATCH] tty-ask-password-agent: return negative errno - -Return negative errno in wall_tty_block(). get_ctty_devnr() already -returns a negative errno in case of failure, no need to negate it again. - -Reported-by: Simon ---- - .../tty-ask-password-agent.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 1d067af..3203474 100644 ---- src/tty-ask-password-agent/tty-ask-password-agent.c -+++ src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -432,7 +432,7 @@ static int wall_tty_block(void) { - - r = get_ctty_devnr(0, &devnr); - if (r < 0) -- return -r; -+ return r; - - if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0) - return -ENOMEM; --- -1.7.9.2 - diff --git a/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch b/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch deleted file mode 100644 index bad29c52..00000000 --- a/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3f796750b192e62701e91a95f85389f876d1059b Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 17 Sep 2014 21:44:56 +0200 -Subject: [PATCH] udev: event - explicitly don't read() from invalid fd - -This fixes CID #1237641. ---- - src/udev/udev-event.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 6b8b5a8..c8b1420 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -494,6 +494,9 @@ static void spawn_read(struct udev_event *event, - for (i = 0; i < fdcount; i++) { - int *fd = (int *)ev[i].data.ptr; - -+ if (*fd < 0) -+ continue; -+ - if (ev[i].events & EPOLLIN) { - ssize_t count; - char buf[4096]; --- -1.7.9.2 - diff --git a/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch b/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch deleted file mode 100644 index 5f466ea6..00000000 --- a/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 497d1986c13032f1ef8f4592bb7ed8d3aa321a47 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 20 Jun 2014 00:15:39 +0200 -Subject: [PATCH] units: order systemd-tmpfiles-clean.service after - time-sync.target - -That way, on systems lacking an RTC we don't false start removing aged -files too early. ---- - units/systemd-tmpfiles-clean.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- units/systemd-tmpfiles-clean.service.in -+++ units/systemd-tmpfiles-clean.service.in 2014-06-24 10:47:57.398235644 +0000 -@@ -10,8 +10,9 @@ Description=Cleanup of Temporary Directo - Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) - DefaultDependencies=no - Wants=local-fs.target --After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target --Before=sysinit.target shutdown.target -+Conflicts=shutdown.target -+After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target -+Before=shutdown.target - ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d - ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d - ConditionDirectoryNotEmpty=|/etc/tmpfiles.d diff --git a/0003-units-remove-RefuseManualStart-from-units-which-are-.patch b/0003-units-remove-RefuseManualStart-from-units-which-are-.patch deleted file mode 100644 index d9ffedbf..00000000 --- a/0003-units-remove-RefuseManualStart-from-units-which-are-.patch +++ /dev/null @@ -1,65 +0,0 @@ -Based on 0fdeb6e011dfdb17636c81e2d7e0d632186359ce Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 28 Jun 2014 00:06:30 -0400 -Subject: [PATCH] units: remove RefuseManualStart from units which are always - around - -In a normal running system, non-passive targets and units used during -early bootup are always started. So refusing "manual start" for them -doesn't make any difference, because a "start" command doesn't cause -any action. - -In early boot however, the administrator might want to start on -of those targets or services by hand. We shouldn't interfere with that. - -Note: in case of systemd-tmpfiles-setup.service, really running the -unit after system is up would break the system. So e.g. restarting -should not be allowed. The unit has "RefuseManualStop=yes", which -prevents restart too. ---- - units/basic.target | 1 - - units/sysinit.target | 1 - - units/systemd-tmpfiles-setup.service.in | 1 - - units/user/basic.target | 1 - - 4 files changed, 4 deletions(-) - -diff --git units/basic.target units/basic.target -index d7c68f4..b890d48 100644 ---- units/basic.target -+++ units/basic.target -@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) - Requires=sysinit.target - Wants=sockets.target timers.target paths.target slices.target - After=sysinit.target sockets.target timers.target paths.target slices.target --RefuseManualStart=yes -diff --git units/sysinit.target units/sysinit.target -index 8f4fb8f..ec33503 100644 ---- units/sysinit.target -+++ units/sysinit.target -@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) - Conflicts=emergency.service emergency.target - Wants=local-fs.target swap.target - After=local-fs.target swap.target emergency.service emergency.target --RefuseManualStart=yes ---- units/systemd-tmpfiles-setup.service.in -+++ units/systemd-tmpfiles-setup.service.in 2014-07-01 12:17:48.154235348 +0000 -@@ -18,7 +18,6 @@ ConditionDirectoryNotEmpty=|/lib/tmpfile - ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d - ConditionDirectoryNotEmpty=|/etc/tmpfiles.d - ConditionDirectoryNotEmpty=|/run/tmpfiles.d --RefuseManualStart=yes - RefuseManualStop=yes - - [Service] -diff --git units/user/basic.target units/user/basic.target -index b74d13c..afc6e93 100644 ---- units/user/basic.target -+++ units/user/basic.target -@@ -10,4 +10,3 @@ Description=Basic System - Documentation=man:systemd.special(7) - Wants=sockets.target timers.target paths.target - After=sockets.target timers.target paths.target --RefuseManualStart=yes --- -1.7.9.2 - diff --git a/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch b/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch deleted file mode 100644 index 15c8d7f5..00000000 --- a/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d8e40d62ab871a87fde421c4b246bb45bc3cbe2d Mon Sep 17 00:00:00 2001 -From: Jonathan Liu -Date: Thu, 29 May 2014 01:17:25 +1000 -Subject: [PATCH] units: use KillMode=mixed for systemd-nspawn@.service - -This causes the container to shut down cleanly when the service is -stopped. ---- - units/systemd-nspawn@.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git units/systemd-nspawn@.service.in units/systemd-nspawn@.service.in -index ff36e90..e373628 100644 ---- units/systemd-nspawn@.service.in -+++ units/systemd-nspawn@.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1) - - [Service] - ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i -+KillMode=mixed - Type=notify - - [Install] --- -1.7.9.2 - diff --git a/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch b/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch deleted file mode 100644 index bc69be20..00000000 --- a/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 144b3d9e093dd9310cd9590bec039dc43a7e2ad6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 7 Nov 2014 16:34:00 +0100 -Subject: [PATCH] utf8: when looking at the next unichar, honour the size - parameter, in utf8_is_printable_newline() - ---- - src/shared/utf8.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - ---- src/shared/utf8.c -+++ src/shared/utf8.c 2014-11-10 14:20:28.094539264 +0000 -@@ -143,9 +143,14 @@ bool utf8_is_printable_newline(const cha - - for (p = (const uint8_t*) str; length;) { - int encoded_len = utf8_encoded_valid_unichar((const char *)p); -- int val = utf8_encoded_to_unichar((const char*)p); -+ int val; - -- if (encoded_len < 0 || val < 0 || is_unicode_control(val) || -+ if (encoded_len < 0 || -+ (size_t) encoded_len > length) -+ return false; -+ -+ val = utf8_encoded_to_unichar((const char*)p); -+ if (val < 0 || is_unicode_control(val) || - (!newline && val == '\n')) - return false; - diff --git a/0004-Raise-level-of-Found-dependency.-lines.patch b/0004-Raise-level-of-Found-dependency.-lines.patch deleted file mode 100644 index 3ae2e49e..00000000 --- a/0004-Raise-level-of-Found-dependency.-lines.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 14fe721b5f6d8457cc8737fa75f2ed79e7fa534b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 2 Nov 2014 12:10:42 -0500 -Subject: [PATCH] Raise level of 'Found dependency...' lines - -This way they always show up together with 'Found ordering cycle...'. -Ordering cycles are a serious error and a major pain to debug. If -quiet is enabled, only the first and the last line of output are -shown: - -systemd[1]: Found ordering cycle on basic.target/start -systemd[1]: Breaking ordering cycle by deleting job timers.target/start -systemd[1]: Job timers.target/start deleted to break ordering cycle starting with basic.target/start - -which isn't particularly enlightening. So just show the whole message -at the same level. - -https://bugzilla.redhat.com/show_bug.cgi?id=1158206 ---- - src/core/transaction.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git src/core/transaction.c src/core/transaction.c -index 488cb86..bbaa6da 100644 ---- src/core/transaction.c -+++ src/core/transaction.c -@@ -376,9 +376,9 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi - for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { - - /* logging for j not k here here to provide consistent narrative */ -- log_info_unit(j->unit->id, -- "Found dependency on %s/%s", -- k->unit->id, job_type_to_string(k->type)); -+ log_warning_unit(j->unit->id, -+ "Found dependency on %s/%s", -+ k->unit->id, job_type_to_string(k->type)); - - if (!delete && hashmap_get(tr->jobs, k->unit) && - !unit_matters_to_anchor(k->unit, k)) { --- -1.7.9.2 - diff --git a/0004-architecture-remove-cris-from-uname-list.patch b/0004-architecture-remove-cris-from-uname-list.patch deleted file mode 100644 index dc1aa466..00000000 --- a/0004-architecture-remove-cris-from-uname-list.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bc4bc52bc3de56405045b0437e145a7067fb085d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 22:52:44 +0200 -Subject: [PATCH] architecture: remove "cris" from uname list - -the only correct name appears to be "crisv32"... - -http://lists.freedesktop.org/archives/systemd-devel/2014-July/020899.html ---- - src/shared/architecture.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git src/shared/architecture.c src/shared/architecture.c -index 7dd049a..6cdca4e 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -115,7 +115,6 @@ Architecture uname_architecture(void) { - #elif defined(__tilegx__) - { "tilegx", ARCHITECTURE_TILEGX }, - #elif defined(__cris__) -- { "cris", ARCHITECTURE_CRIS }, - { "crisv32", ARCHITECTURE_CRIS }, - #else - #error "Please register your architecture here!" --- -1.7.9.2 - diff --git a/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch b/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch deleted file mode 100644 index 281f7b5c..00000000 --- a/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b76388e123e8d73ded1fd53937d816b314948517 Mon Sep 17 00:00:00 2001 -From: Michael Biebl -Date: Thu, 11 Sep 2014 00:49:36 +0200 -Subject: [PATCH] backlight: Avoid error when state restore is disabled - -When the state restore is disabled, we would print: -"Unknown verb: load" instead of simply skipping loading the -state. ---- - src/backlight/backlight.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 4d94ebf..0a2bac6 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -372,9 +372,12 @@ int main(int argc, char *argv[]) { - * device probing should be complete), so that the validity - * check at boot time doesn't have to be reliable. */ - -- if (streq(argv[1], "load") && shall_restore_state()) { -+ if (streq(argv[1], "load")) { - _cleanup_free_ char *value = NULL; - -+ if (!shall_restore_state()) -+ return EXIT_SUCCESS; -+ - if (!validate_device(udev, device)) - return EXIT_SUCCESS; - --- -1.7.9.2 - diff --git a/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch b/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch deleted file mode 100644 index d0ec9ec8..00000000 --- a/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c7fdf44d08e1217d40dc092fb90a65978a0f541f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 23 Apr 2014 06:55:54 +0200 -Subject: [PATCH] backlight: warn if kernel exposes backlight device with - bogus max_brightness - -We shouldn't silently tape over broken kernel drivers. ---- - src/backlight/backlight.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 754a646..c708391 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -205,14 +205,18 @@ static unsigned get_max_brightness(struct udev_device *device) { - - max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); - if (!max_brightness_str) { -- log_warning("Failed to read 'max_brightness' attribute"); -+ log_warning("Failed to read 'max_brightness' attribute."); - return 0; - } - - r = safe_atou(max_brightness_str, &max_brightness); - if (r < 0) { -- log_warning("Failed to parse 'max_brightness' \"%s\": %s", -- max_brightness_str, strerror(-r)); -+ log_warning("Failed to parse 'max_brightness' \"%s\": %s", max_brightness_str, strerror(-r)); -+ return 0; -+ } -+ -+ if (max_brightness <= 0) { -+ log_warning("Maximum brightness is 0, ignoring device."); - return 0; - } - --- -1.7.9.2 - diff --git a/0004-bash-completion-use-list-unit-files-to-get-all-units.patch b/0004-bash-completion-use-list-unit-files-to-get-all-units.patch deleted file mode 100644 index b5ab5359..00000000 --- a/0004-bash-completion-use-list-unit-files-to-get-all-units.patch +++ /dev/null @@ -1,39 +0,0 @@ -Based on c6a373a26348544d944b08bf0c5dea4f72f6980b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 26 Jul 2014 20:11:58 -0400 -Subject: [PATCH] bash-completion: use list-unit-files to get "all" units - -I think that it is better to return good results slightly more slowly, -than partial quickly. Also reading from disk seems fast enough. Even -the delay on first try with completely cold cache is acceptable. - -This is just for bash, 'cause zsh was already doing this. - -https://bugzilla.redhat.com/show_bug.cgi?id=790768 ---- - shell-completion/bash/systemctl.in | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in -index c5950cc..69ef04b 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -51,11 +51,13 @@ __filter_units_by_property () { - done - } - --__get_all_units () { __systemctl $1 list-units --all \ -+__get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ - | { while read -r a b; do echo " $a"; done; }; } - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } --__get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ -+__get_startable_units () { { -+ __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap -+ __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ - | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } - __get_failed_units () { __systemctl $1 list-units \ - | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } --- -1.7.9.2 - diff --git a/0004-bootchart-check-return-of-strftime.patch b/0004-bootchart-check-return-of-strftime.patch deleted file mode 100644 index a629c9e9..00000000 --- a/0004-bootchart-check-return-of-strftime.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e931d3f4241231e4102eda06adaf7cbfd68c6a5d Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 27 Sep 2014 22:25:07 +0200 -Subject: [PATCH] bootchart: check return of strftime - -Found by coverity. Fixes: CID#996314 and #996312 ---- - src/bootchart/bootchart.c | 8 ++++++-- - src/bootchart/svg.c | 5 +++-- - 2 files changed, 9 insertions(+), 4 deletions(-) - -diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c -index 8ef5ad1..366a5ab 100644 ---- src/bootchart/bootchart.c -+++ src/bootchart/bootchart.c -@@ -389,7 +389,9 @@ int main(int argc, char *argv[]) { - - if (!of && (access(arg_output_path, R_OK|W_OK|X_OK) == 0)) { - t = time(NULL); -- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ assert_se(r > 0); -+ - snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); - of = fopen(output_file, "we"); - } -@@ -457,7 +459,9 @@ int main(int argc, char *argv[]) { - - if (!of) { - t = time(NULL); -- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ assert_se(r > 0); -+ - snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); - of = fopen(output_file, "we"); - } -diff --git src/bootchart/svg.c src/bootchart/svg.c -index 135883f..faf377e 100644 ---- src/bootchart/svg.c -+++ src/bootchart/svg.c -@@ -162,7 +162,7 @@ static void svg_title(const char *build) { - char *c; - FILE *f; - time_t t; -- int fd; -+ int fd, r; - struct utsname uts; - - /* grab /proc/cmdline */ -@@ -196,7 +196,8 @@ static void svg_title(const char *build) { - - /* date */ - t = time(NULL); -- strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); -+ r = strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); -+ assert_se(r > 0); - - /* CPU type */ - fd = openat(procfd, "cpuinfo", O_RDONLY); --- -1.7.9.2 - diff --git a/0004-config-parser-fix-mem-leak.patch b/0004-config-parser-fix-mem-leak.patch deleted file mode 100644 index b45d89c0..00000000 --- a/0004-config-parser-fix-mem-leak.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9e60277835e61597011358afcdbfb3dd712ce128 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sun, 31 Aug 2014 23:13:12 +0200 -Subject: [PATCH] config-parser: fix mem leak - ---- - src/shared/conf-parser.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/conf-parser.c src/shared/conf-parser.c -index 439cfc5..ee6de65 100644 ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c -@@ -710,6 +710,7 @@ int config_parse_strv(const char *unit, - - if (!utf8_is_valid(n)) { - log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); -+ free(n); - continue; - } - --- -1.7.9.2 - diff --git a/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch b/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch deleted file mode 100644 index 3ae99a64..00000000 --- a/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch +++ /dev/null @@ -1,67 +0,0 @@ -Based on 4774e357268e4a1e9fa82adb0563a538932a4c8e Mon Sep 17 00:00:00 2001 -From: Miguel Angel Ajo -Date: Mon, 7 Jul 2014 14:20:36 +0200 -Subject: [PATCH] core: Added support for ERRNO NOTIFY_SOCKET message parsing, - and added StatusErrno dbus property along StatusText to - allow notification of numeric status condition while - degraded service operation or any other special situation. - ---- - src/core/dbus-service.c | 1 + - src/core/service.c | 17 +++++++++++++++++ - src/core/service.h | 1 + - 3 files changed, 19 insertions(+) - -diff --git src/core/dbus-service.c src/core/dbus-service.c -index 093289f..5a881e8 100644 ---- src/core/dbus-service.c -+++ src/core/dbus-service.c -@@ -60,6 +60,7 @@ const sd_bus_vtable bus_service_vtable[] = { - SD_BUS_PROPERTY("ControlPID", "u", bus_property_get_pid, offsetof(Service, control_pid), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("BusName", "s", NULL, offsetof(Service, bus_name), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("StatusText", "s", NULL, offsetof(Service, status_text), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), -+ SD_BUS_PROPERTY("StatusErrno", "i", NULL, offsetof(Service, status_errno), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("Result", "s", property_get_result, offsetof(Service, result), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - BUS_EXEC_STATUS_VTABLE("ExecMain", offsetof(Service, main_exec_status), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - BUS_EXEC_COMMAND_LIST_VTABLE("ExecStartPre", offsetof(Service, exec_command[SERVICE_EXEC_START_PRE]), SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION), -diff --git src/core/service.c src/core/service.c -index 0b19767..ace45e2 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -2637,6 +2637,23 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - free(t); - } - -+ /* Interpret ERRNO= */ -+ e = strv_find_prefix(tags, "ERRNO="); -+ if (e) { -+ int status_errno; -+ -+ if (safe_atoi(e + 6, &status_errno) < 0) -+ log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); -+ else { -+ log_debug_unit(u->id, "%s: got %s", u->id, e); -+ -+ if (s->status_errno != status_errno) { -+ s->status_errno = status_errno; -+ notify_dbus = true; -+ } -+ } -+ } -+ - /* Interpret WATCHDOG= */ - if (strv_find(tags, "WATCHDOG=1")) { - log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); ---- src/core/service.h -+++ src/core/service.h 2014-07-08 12:54:39.238736046 +0200 -@@ -187,6 +187,7 @@ struct Service { - char *bus_name; - - char *status_text; -+ int status_errno; - - RateLimit start_limit; - StartLimitAction start_limit_action; --- -1.7.9.2 - diff --git a/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch b/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch deleted file mode 100644 index 17d7f268..00000000 --- a/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c4bfd1691f4d3e26d6d7f34dbca941e119956e8a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Mar 2014 21:04:02 +0100 -Subject: [PATCH] core: don't try to relabel mounts before we loaded the - policy - ---- - src/core/mount-setup.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index 147333a..0a45b24 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -172,7 +172,10 @@ static int mount_one(const MountPoint *p, bool relabel) { - - /* The access mode here doesn't really matter too much, since - * the mounted file system will take precedence anyway. */ -- mkdir_p_label(p->where, 0755); -+ if (relabel) -+ mkdir_p_label(p->where, 0755); -+ else -+ mkdir_p(p->where, 0755); - - log_debug("Mounting %s to %s of type %s with options %s.", - p->what, --- -1.7.9.2 - diff --git a/0004-core-fix-transaction-destructiveness-check-once-more.patch b/0004-core-fix-transaction-destructiveness-check-once-more.patch deleted file mode 100644 index 843200c5..00000000 --- a/0004-core-fix-transaction-destructiveness-check-once-more.patch +++ /dev/null @@ -1,32 +0,0 @@ -Based on e0312f4db08c7100bd00299614e87bedc759b366 Mon Sep 17 00:00:00 2001 -Based on c21b92ffe7ef939dd32502ac912cf8ad1c5638fd Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 27 Nov 2014 15:23:58 +0100 -Subject: [PATCH] core: fix transaction destructiveness check once more - -The previous fix e0312f4db "core: fix check for transaction -destructiveness" broke test-engine (noticed by Zbyszek). -Apparently I had a wrong idea of the intended semantics of --fail. - -The manpage says the operation should fail if it "conflicts with a -pending job (more specifically: causes an already pending start job to -be reversed into a stop job or vice versa)". - -So let's check job_type_is_conflicting, instead of !is_superset. - -This makes both test-engine and TEST-03-JOBS pass again. ---- - src/core/transaction.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/transaction.c -+++ src/core/transaction.c 2014-12-15 12:06:11.721518136 +0000 -@@ -510,7 +510,7 @@ static int transaction_is_destructive(Tr - assert(!j->transaction_next); - - if (j->unit->job && (mode == JOB_FAIL || j->unit->job->irreversible) && -- !job_type_is_superset(j->type, j->unit->job->type)) { -+ job_type_is_conflicting(j->unit->job->type, j->type)) { - - sd_bus_error_setf(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); - return -EEXIST; diff --git a/0004-core-map-the-rescue-argument-to-rescue.target.patch b/0004-core-map-the-rescue-argument-to-rescue.target.patch deleted file mode 100644 index 6b639305..00000000 --- a/0004-core-map-the-rescue-argument-to-rescue.target.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5329ab10ffaf5b4a3fd6ebd9380b1ec09d05cfc8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Tue, 7 Oct 2014 14:55:21 +0300 -Subject: [PATCH] core: map the 'rescue' argument to rescue.target - -Even though the 'emergency' and 'single' aliases come from sysvinit, the -lack of 'rescue' is still quite confusing (caught me by surprise for the -9th time yet) and inconsistent with `systemctl rescue` as well. ---- - src/core/main.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/core/main.c src/core/main.c -index 1a62e04..44373cc 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -272,6 +272,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { - static const char * const rlmap[] = { - "emergency", SPECIAL_EMERGENCY_TARGET, - "-b", SPECIAL_EMERGENCY_TARGET, -+ "rescue", SPECIAL_RESCUE_TARGET, - "single", SPECIAL_RESCUE_TARGET, - "-s", SPECIAL_RESCUE_TARGET, - "s", SPECIAL_RESCUE_TARGET, --- -1.7.9.2 - diff --git a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch deleted file mode 100644 index 4bed22a5..00000000 --- a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +++ /dev/null @@ -1,53 +0,0 @@ -Based on bde29068aa3815c88190a91e9867605a0aeaf9c4 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 23 Jun 2014 19:18:44 +0200 -Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices - when it is listed as password file - -As special magic, don't create device dependencies for /dev/null. Of -course, there might be similar devices we might want to include, but -given that none of them really make sense to specify as password source -there's really no point in checking for anything else here. - -https://bugs.freedesktop.org/show_bug.cgi?id=75816 ---- - src/cryptsetup/cryptsetup-generator.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - ---- src/cryptsetup/cryptsetup-generator.c -+++ src/cryptsetup/cryptsetup-generator.c 2014-06-25 17:24:14.338237375 +0000 -@@ -29,6 +29,7 @@ - #include "mkdir.h" - #include "strv.h" - #include "fileio.h" -+#include "path-util.h" - - static const char *arg_dest = "/tmp"; - static bool arg_enabled = true; -@@ -141,14 +142,18 @@ static int create_disk( - if (uu == NULL) - return log_oom(); - -- if (is_device_path(uu)) { -- _cleanup_free_ char *dd = unit_name_from_path(uu, ".device"); -- if (dd == NULL) -- return log_oom(); -- -- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); -- } else -- fprintf(f, "RequiresMountsFor=%s\n", password); -+ if (!path_equal(uu, "/dev/null")) { -+ if (is_device_path(uu)) { -+ _cleanup_free_ char *dd; -+ -+ dd = unit_name_from_path(uu, ".device"); -+ if (!dd) -+ return log_oom(); -+ -+ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); -+ } else -+ fprintf(f, "RequiresMountsFor=%s\n", password); -+ } - } - } - diff --git a/0004-fileio-quote-more-shell-characters-in-envfiles.patch b/0004-fileio-quote-more-shell-characters-in-envfiles.patch deleted file mode 100644 index b4cd3e96..00000000 --- a/0004-fileio-quote-more-shell-characters-in-envfiles.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 0ce5a80601597fe4d1a715a8f70ce8d5ccaa2d86 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Sun, 13 Jul 2014 18:49:00 +0300 -Subject: [PATCH] fileio: quote more shell characters in envfiles - -Turns out, making strings shell-proof is harder than expected: - - # machinectl set-hostname "foo|poweroff" && . /etc/machine-info - -(This could be simplified by quoting *and* escaping all characters, -which is harmless in shell but unnecessary.) ---- - src/shared/fileio.c | 4 ++-- - src/shared/util.h | 6 ++++++ - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git src/shared/fileio.c src/shared/fileio.c -index b0ab780..cbb40c2 100644 ---- src/shared/fileio.c -+++ src/shared/fileio.c -@@ -738,11 +738,11 @@ static void write_env_var(FILE *f, const char *v) { - p++; - fwrite(v, 1, p-v, f); - -- if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { -+ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE SHELL_NEED_QUOTES)) { - fputc('\"', f); - - for (; *p; p++) { -- if (strchr("\'\"\\`$", *p)) -+ if (strchr(SHELL_NEED_ESCAPE, *p)) - fputc('\\', f); - - fputc(*p, f); -diff --git src/shared/util.h src/shared/util.h -index c5eadc9..b3187a9 100644 ---- src/shared/util.h -+++ src/shared/util.h -@@ -93,6 +93,12 @@ - #define COMMENTS "#;" - #define GLOB_CHARS "*?[" - -+/* What characters are special in the shell? */ -+/* must be escaped outside and inside double-quotes */ -+#define SHELL_NEED_ESCAPE "\"\\`$" -+/* can be escaped or double-quoted */ -+#define SHELL_NEED_QUOTES SHELL_NEED_ESCAPE GLOB_CHARS "'()<>|&;" -+ - #define FORMAT_BYTES_MAX 8 - - #define ANSI_HIGHLIGHT_ON "\x1B[1;39m" --- -1.7.9.2 - diff --git a/0004-fix-off-by-one-error-in-array-index-assertion.patch b/0004-fix-off-by-one-error-in-array-index-assertion.patch deleted file mode 100644 index 9b718e05..00000000 --- a/0004-fix-off-by-one-error-in-array-index-assertion.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 26abdc73a212b90f7c4b71808a1028d2e87ab09f Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sat, 8 Mar 2014 17:32:53 -0500 -Subject: [PATCH] fix off by one error in array index assertion - -Since the index is already post-incremented when the array is appended -to, this assertion can be wrongly reached when the array is at capacity -(with the NULL terminator). The bug is reproducible on shutdown with -the following settings in /etc/systemd/system.conf: - - LogTarget=journal-or-kmsg - LogColor=yes - LogLocation=yes - -Reported by Thermi on IRC. ---- - src/core/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/main.c src/core/main.c -index 6ebfe64..f1b06d8 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1994,7 +1994,7 @@ finish: - if (log_get_show_location()) - command_line[pos++] = "--log-location"; - -- assert(pos + 1 < ELEMENTSOF(command_line)); -+ assert(pos < ELEMENTSOF(command_line)); - - if (arm_reboot_watchdog && arg_shutdown_watchdog > 0) { - char *e; --- -1.7.9.2 - diff --git a/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch b/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch deleted file mode 100644 index 065c0ea9..00000000 --- a/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +++ /dev/null @@ -1,22 +0,0 @@ -From b3e4387351c835766f96796a20d94971afea7d3b Mon Sep 17 00:00:00 2001 -From: Tomasz Torcz -Date: Tue, 25 Feb 2014 12:43:55 +0100 -Subject: [PATCH] fix typo in iDRAC network interface name: irdac->idrac - ---- - hwdb/20-net-ifname.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/20-net-ifname.hwdb hwdb/20-net-ifname.hwdb -index 29d2633..2408dc1 100644 ---- hwdb/20-net-ifname.hwdb -+++ hwdb/20-net-ifname.hwdb -@@ -2,4 +2,4 @@ - - # Dell iDRAC Virtual USB NIC - usb:v413CpA102* -- ID_NET_NAME_FROM_DATABASE=irdac -+ ID_NET_NAME_FROM_DATABASE=idrac --- -1.7.9.2 - diff --git a/0004-getty-generator-properly-escape-instance-names.patch b/0004-getty-generator-properly-escape-instance-names.patch deleted file mode 100644 index 26feb694..00000000 --- a/0004-getty-generator-properly-escape-instance-names.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a2ae516a25dafe41e0cd296ab7b5d022fa62b95f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 19 Jun 2014 22:02:55 -0400 -Subject: [PATCH] getty-generator: properly escape instance names - -Otherwise the add_symlink() function tries to make directories for -each slash even for the slash after the @ symbol in the final link -name, failing for /dev/3270/tty1. - -Based on a patch by Werner Fink . ---- - src/getty-generator/getty-generator.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/getty-generator/getty-generator.c src/getty-generator/getty-generator.c -index 35cd858..7d4b546 100644 ---- src/getty-generator/getty-generator.c -+++ src/getty-generator/getty-generator.c -@@ -67,7 +67,7 @@ static int add_serial_getty(const char *tty) { - - log_debug("Automatically adding serial getty for /dev/%s.", tty); - -- n = unit_name_replace_instance("serial-getty@.service", tty); -+ n = unit_name_from_path_instance("serial-getty", tty, ".service"); - if (!n) - return log_oom(); - -@@ -81,7 +81,7 @@ static int add_container_getty(const char *tty) { - - log_debug("Automatically adding container getty for /dev/pts/%s.", tty); - -- n = unit_name_replace_instance("container-getty@.service", tty); -+ n = unit_name_from_path_instance("container-getty", tty, ".service"); - if (!n) - return log_oom(); - --- -1.7.9.2 - diff --git a/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 7ae03b91..00000000 --- a/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,50 +0,0 @@ -From b189101727e80a09864c5e5880663ef565467f19 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Sat, 12 Apr 2014 10:38:16 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index b928f5a..28aa2a7 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -733,7 +733,7 @@ bluetooth:v00F1* - ID_VENDOR_FROM_DATABASE=Witron Technology Limited - - bluetooth:v00F2* -- ID_VENDOR_FROM_DATABASE=Morse Project Inc. -+ ID_VENDOR_FROM_DATABASE=Aether Things Inc. (formerly Morse Project Inc.) - - bluetooth:v00F3* - ID_VENDOR_FROM_DATABASE=Kent Displays Inc. -@@ -941,3 +941,24 @@ bluetooth:v0136* - - bluetooth:v0137* - ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. -+ -+bluetooth:v0138* -+ ID_VENDOR_FROM_DATABASE=NTEO Inc. -+ -+bluetooth:v0139* -+ ID_VENDOR_FROM_DATABASE=Focus Systems Corporation -+ -+bluetooth:v013A* -+ ID_VENDOR_FROM_DATABASE=Tencent Holdings Limited -+ -+bluetooth:v013B* -+ ID_VENDOR_FROM_DATABASE=Allegion -+ -+bluetooth:v013C* -+ ID_VENDOR_FROM_DATABASE=Murata Manufacuring Co., Ltd. -+ -+bluetooth:v013D* -+ ID_VENDOR_FROM_DATABASE=WirelessWERX -+ -+bluetooth:v013E* -+ ID_VENDOR_FROM_DATABASE=nimai --- -1.7.9.2 - diff --git a/0004-hwdb-update-format-description-and-document-reloadin.patch b/0004-hwdb-update-format-description-and-document-reloadin.patch deleted file mode 100644 index a65a46f0..00000000 --- a/0004-hwdb-update-format-description-and-document-reloadin.patch +++ /dev/null @@ -1,60 +0,0 @@ -From fa9d4be3f1f4a792b2f3624c2a08fe9cc6ce6e54 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 7 Aug 2014 21:48:57 -0400 -Subject: [PATCH] hwdb: update format description and document reloading - -https://bugs.freedesktop.org/show_bug.cgi?id=82311 ---- - hwdb/60-keyboard.hwdb | 32 +++++++++++++++++++++++--------- - 1 file changed, 23 insertions(+), 9 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 5c3d4ca..ef0ebc5 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -28,19 +28,33 @@ - # driver, is the firmware-provided string exported - # by the kernel DMI modalias. - # --# Scan codes are specified as: --# KEYBOARD_KEY_= --# The scan code should be expressed in hex lowercase and in --# full bytes, a multiple of 2 digits. The key codes are retrieved --# and normalized from the kernel input API header. -+# Scan codes are specified as: -+# KEYBOARD_KEY_= -+# The scan code should be expressed in hex lowercase. The key codes -+# are retrieved and normalized from the kernel input API header. - # --# A '!' as the first charcter of the key identifier string --# will add the scan code to the AT keyboard's list of scan codes --# where the driver will synthesize a release event and not expect --# it to be generated by the hardware. -+# An '!' as the first character of the key identifier string -+# will add the scan code to the AT keyboard's list of scan codes -+# where the driver will synthesize a release event and not expect -+# it to be generated by the hardware. - # - # To debug key presses and access scan code mapping data of - # an input device use the commonly available tool: evtest(1). -+# -+# To update this file, create a new file -+# /etc/udev/hwdb.d/70-keyboad.hwdb -+# and add your rules there. To load the new rules execute (as root): -+# udevadm hwdb --update -+# udevadm trigger /dev/input/eventXX -+# where /dev/input/eventXX is the keyboard in question. If in -+# doubt, simply use /dev/input/event* to reload all input rules. -+# -+# If your changes are generally applicable, open a bug report on -+# http://bugs.freedesktop.org/enter_bug.cgi?product=systemd -+# and include your new rules, a description of the device, and the -+# output of -+# udevadm info /dev/input/eventXX -+# (or /dev/input/event*). - - ########################################## - # Acer --- -1.7.9.2 - diff --git a/0004-hwdb-update.patch b/0004-hwdb-update.patch deleted file mode 100644 index 572bcd32..00000000 --- a/0004-hwdb-update.patch +++ /dev/null @@ -1,3964 +0,0 @@ -From 61fb23db45c626d92b4e33f09b9287f58a3625a5 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 5 May 2014 14:23:10 +0200 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 295 +++++++++++- - hwdb/20-pci-vendor-model.hwdb | 174 ++++++-- - hwdb/20-usb-vendor-model.hwdb | 992 +++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 1368 insertions(+), 93 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 17794ed..afc0d90 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -13940,7 +13940,7 @@ OUI:000063* - ID_OUI_FROM_DATABASE=BARCO CONTROL ROOMS GMBH - - OUI:000064* -- ID_OUI_FROM_DATABASE=YOKOGAWA DIGITAL COMPUTER CORP -+ ID_OUI_FROM_DATABASE=Yokogawa Electric Corporation - - OUI:000065* - ID_OUI_FROM_DATABASE=Network General Corporation -@@ -14927,7 +14927,7 @@ OUI:0001AE* - ID_OUI_FROM_DATABASE=Trex Enterprises - - OUI:0001AF* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:0001B0* - ID_OUI_FROM_DATABASE=Fulltek Technology Co., Ltd. -@@ -18272,7 +18272,7 @@ OUI:00060A* - ID_OUI_FROM_DATABASE=Blue2space - - OUI:00060B* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:00060C* - ID_OUI_FROM_DATABASE=Melco Industries, Inc. -@@ -20441,7 +20441,7 @@ OUI:0008F8* - ID_OUI_FROM_DATABASE=UTC CCS - - OUI:0008F9* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:0008FA* - ID_OUI_FROM_DATABASE=Karl E.Brinkmann GmbH -@@ -46612,6 +46612,9 @@ OUI:0064A6* - OUI:00664B* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:006B8E* -+ ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. -+ - OUI:006B9E* - ID_OUI_FROM_DATABASE=VIZIO Inc - -@@ -46850,7 +46853,7 @@ OUI:008041* - ID_OUI_FROM_DATABASE=VEB KOMBINAT ROBOTRON - - OUI:008042* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:008043* - ID_OUI_FROM_DATABASE=NETWORLD, INC. -@@ -49919,7 +49922,7 @@ OUI:00C0F8* - ID_OUI_FROM_DATABASE=ABOUT COMPUTING INC. - - OUI:00C0F9* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:00C0FA* - ID_OUI_FROM_DATABASE=CANARY COMMUNICATIONS, INC. -@@ -50957,7 +50960,7 @@ OUI:00E034* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:00E035* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:00E036* - ID_OUI_FROM_DATABASE=PIONEER CORPORATION -@@ -52477,6 +52480,9 @@ OUI:0838A5* - OUI:083AB8* - ID_OUI_FROM_DATABASE=Shinoda Plasma Co., Ltd. - -+OUI:083D88* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:083E0C* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -52495,9 +52501,6 @@ OUI:084027* - OUI:08482C* - ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. - --OUI:084929* -- ID_OUI_FROM_DATABASE=CYBATI -- - OUI:084E1C* - ID_OUI_FROM_DATABASE=H2A Systems, LLC - -@@ -52867,6 +52870,9 @@ OUI:0C8910* - OUI:0C8BFD* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:0C8C8F* -+ ID_OUI_FROM_DATABASE=Kamo Technology Limited -+ - OUI:0C8CDC* - ID_OUI_FROM_DATABASE=Suunto Oy - -@@ -53515,6 +53521,9 @@ OUI:1499E2* - OUI:149FE8* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:14A364* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:14A62C* - ID_OUI_FROM_DATABASE=S.M. Dezac S.A. - -@@ -54403,6 +54412,9 @@ OUI:20918A* - OUI:2091D9* - ID_OUI_FROM_DATABASE=I'M SPA - -+OUI:20934D* -+ ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd -+ - OUI:209AE9* - ID_OUI_FROM_DATABASE=Volacomm Co., Ltd - -@@ -54598,6 +54610,9 @@ OUI:24470E* - OUI:24497B* - ID_OUI_FROM_DATABASE=Innovative Converged Devices Inc - -+OUI:244F1D* -+ ID_OUI_FROM_DATABASE=iRule LLC -+ - OUI:245FDF* - ID_OUI_FROM_DATABASE=KYOCERA Corporation - -@@ -54751,6 +54766,9 @@ OUI:24DEC6* - OUI:24E271* - ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd - -+OUI:24E314* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:24E6BA* - ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky - -@@ -54829,6 +54847,9 @@ OUI:2826A6* - OUI:28285D* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -+OUI:2829CC* -+ ID_OUI_FROM_DATABASE=Corsa Technology Incorporated -+ - OUI:2829D9* - ID_OUI_FROM_DATABASE=GlobalBeiMing technology (Beijing)Co. Ltd - -@@ -55087,12 +55108,18 @@ OUI:28E14C* - OUI:28E297* - ID_OUI_FROM_DATABASE=Shanghai InfoTM Microelectronics Co.,Ltd. - -+OUI:28E31F* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:28E347* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - - OUI:28E608* - ID_OUI_FROM_DATABASE=Tokheim - -+OUI:28E6E9* -+ ID_OUI_FROM_DATABASE=SIS Sat Internet Services GmbH -+ - OUI:28E794* - ID_OUI_FROM_DATABASE=Microtime Computer Inc. - -@@ -55225,6 +55252,9 @@ OUI:2C534A* - OUI:2C542D* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:2C54CF* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:2C553C* - ID_OUI_FROM_DATABASE=Gainspeed, Inc. - -@@ -55330,6 +55360,9 @@ OUI:2CA835* - OUI:2CAB25* - ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd - -+OUI:2CABA4* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:2CB05D* - ID_OUI_FROM_DATABASE=NETGEAR - -@@ -55456,6 +55489,9 @@ OUI:303294* - OUI:3032D4* - ID_OUI_FROM_DATABASE=Hanilstm Co., Ltd. - -+OUI:303335* -+ ID_OUI_FROM_DATABASE=Boosty -+ - OUI:3037A6* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -55888,6 +55924,9 @@ OUI:34BA9A* - OUI:34BB1F* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:34BB26* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:34BCA6* - ID_OUI_FROM_DATABASE=Beijing Ding Qing Technology, Ltd. - -@@ -55975,6 +56014,9 @@ OUI:34EF44* - OUI:34EF8B* - ID_OUI_FROM_DATABASE=NTT Communications Corporation - -+OUI:34F0CA* -+ ID_OUI_FROM_DATABASE=Shenzhen Linghangyuan Digital Technology Co.,Ltd. -+ - OUI:34F39B* - ID_OUI_FROM_DATABASE=WizLAN Ltd. - -@@ -56023,6 +56065,9 @@ OUI:381766* - OUI:38192F* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:381C1A* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:381C4A* - ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd. - -@@ -56236,6 +56281,9 @@ OUI:38F597* - OUI:38F708* - ID_OUI_FROM_DATABASE=National Resource Management, Inc. - -+OUI:38F889* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:38F8B7* - ID_OUI_FROM_DATABASE=V2COM PARTICIPACOES S.A. - -@@ -56287,6 +56335,9 @@ OUI:3C15C2* - OUI:3C15EA* - ID_OUI_FROM_DATABASE=TESCOM CO., LTD. - -+OUI:3C189F* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:3C18A0* - ID_OUI_FROM_DATABASE=Luxshare Precision Industry Co.,Ltd. - -@@ -56521,6 +56572,9 @@ OUI:3CD7DA* - OUI:3CD92B* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -+OUI:3CD9CE* -+ ID_OUI_FROM_DATABASE=Eclipse WiFi -+ - OUI:3CDF1E* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -56725,6 +56779,9 @@ OUI:407A80* - OUI:407B1B* - ID_OUI_FROM_DATABASE=Mettle Networks Inc. - -+OUI:408256* -+ ID_OUI_FROM_DATABASE=Continental Automotive GmbH -+ - OUI:4083DE* - ID_OUI_FROM_DATABASE=Motorola - -@@ -56818,6 +56875,9 @@ OUI:40C245* - OUI:40C4D6* - ID_OUI_FROM_DATABASE=ChongQing Camyu Technology Development Co.,Ltd. - -+OUI:40C62A* -+ ID_OUI_FROM_DATABASE=Shanghai Jing Ren Electronic Technology Co., Ltd. -+ - OUI:40C7C9* - ID_OUI_FROM_DATABASE=Naviit Inc. - -@@ -57001,6 +57061,9 @@ OUI:446132* - OUI:44619C* - ID_OUI_FROM_DATABASE=FONsystem co. ltd. - -+OUI:44666E* -+ ID_OUI_FROM_DATABASE=IP-LINE -+ - OUI:446755* - ID_OUI_FROM_DATABASE=Orbit Irrigation - -@@ -57019,6 +57082,9 @@ OUI:44700B* - OUI:447098* - ID_OUI_FROM_DATABASE=MING HONG TECHNOLOGY (SHEN ZHEN) LIMITED - -+OUI:44746C* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:447BC4* - ID_OUI_FROM_DATABASE=DualShine Technology(SZ)Co.,Ltd - -@@ -57079,6 +57145,9 @@ OUI:44A42D* - OUI:44A689* - ID_OUI_FROM_DATABASE=PROMAX ELECTRONICA SA - -+OUI:44A6E5* -+ ID_OUI_FROM_DATABASE=THINKING TECHNOLOGY CO.,LTD -+ - OUI:44A7CF* - ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. - -@@ -57178,6 +57247,9 @@ OUI:48022A* - OUI:480362* - ID_OUI_FROM_DATABASE=DESAY ELECTRONICS(HUIZHOU)CO.,LTD - -+OUI:480C49* -+ ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC -+ - OUI:481249* - ID_OUI_FROM_DATABASE=Luxcom Technologies Inc. - -@@ -57463,6 +57535,9 @@ OUI:4C2258* - OUI:4C2578* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:4C26E7* -+ ID_OUI_FROM_DATABASE=Welgate Co., Ltd. -+ - OUI:4C2C80* - ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd - -@@ -57535,6 +57610,9 @@ OUI:4C63EB* - OUI:4C64D9* - ID_OUI_FROM_DATABASE=Guangdong Leawin Group Co., Ltd - -+OUI:4C6E6E* -+ ID_OUI_FROM_DATABASE=Comnect Technology CO.,LTD -+ - OUI:4C72B9* - ID_OUI_FROM_DATABASE=Pegatron Corporation - -@@ -57565,6 +57643,9 @@ OUI:4C8093* - OUI:4C82CF* - ID_OUI_FROM_DATABASE=Echostar Technologies - -+OUI:4C83DE* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:4C8B30* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -@@ -57592,6 +57673,9 @@ OUI:4C9E80* - OUI:4C9EE4* - ID_OUI_FROM_DATABASE=Hanyang Navicom Co.,Ltd. - -+OUI:4C9EFF* -+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp -+ - OUI:4CA56D* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -57775,6 +57859,9 @@ OUI:504A6E* - OUI:504F94* - ID_OUI_FROM_DATABASE=Loxone Electronics GmbH - -+OUI:505065* -+ ID_OUI_FROM_DATABASE=TAKT Corporation -+ - OUI:505663* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -57808,6 +57895,9 @@ OUI:506313* - OUI:506441* - ID_OUI_FROM_DATABASE=Greenlee - -+OUI:506787* -+ ID_OUI_FROM_DATABASE=iTellus -+ - OUI:5067F0* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -@@ -58693,6 +58783,12 @@ OUI:5CAC4C* - OUI:5CB524* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:5CB6CC* -+ ID_OUI_FROM_DATABASE=NovaComm Technologies Inc. -+ -+OUI:5CB8CB* -+ ID_OUI_FROM_DATABASE=Allis Communications -+ - OUI:5CBD9E* - ID_OUI_FROM_DATABASE=HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED - -@@ -58789,6 +58885,9 @@ OUI:5CF8A1* - OUI:5CF938* - ID_OUI_FROM_DATABASE=Apple, Inc - -+OUI:5CF96A* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:5CF9DD* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -58927,6 +59026,9 @@ OUI:60748D* - OUI:607688* - ID_OUI_FROM_DATABASE=Velodyne - -+OUI:6077E2* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:60812B* - ID_OUI_FROM_DATABASE=Custom Control Concepts - -@@ -59074,6 +59176,9 @@ OUI:60E00E* - OUI:60E327* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:60E701* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:60E956* - ID_OUI_FROM_DATABASE=Ayla Networks, Inc - -@@ -59131,6 +59236,9 @@ OUI:6405BE* - OUI:64094C* - ID_OUI_FROM_DATABASE=Beijing Superbee Wireless Technology Co.,Ltd - -+OUI:640980* -+ ID_OUI_FROM_DATABASE=XIAOMI Electronics,CO.,LTD -+ - OUI:640B4A* - ID_OUI_FROM_DATABASE=Digital Telecom Technology Limited - -@@ -59254,6 +59362,9 @@ OUI:645FFF* - OUI:646223* - ID_OUI_FROM_DATABASE=Cellient Co., Ltd. - -+OUI:64649B* -+ ID_OUI_FROM_DATABASE=juniper networks -+ - OUI:6465C0* - ID_OUI_FROM_DATABASE=Nuvon, Inc - -@@ -59680,6 +59791,9 @@ OUI:689C5E* - OUI:689C70* - ID_OUI_FROM_DATABASE=Apple - -+OUI:68A0F6* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:68A1B7* - ID_OUI_FROM_DATABASE=Honghao Mingchuan Technology (Beijing) CO.,Ltd. - -@@ -60130,6 +60244,9 @@ OUI:702B1D* - OUI:702C1F* - ID_OUI_FROM_DATABASE=Wisol - -+OUI:702DD1* -+ ID_OUI_FROM_DATABASE=Newings Communication CO., LTD. -+ - OUI:702F4B* - ID_OUI_FROM_DATABASE=PolyVision Inc. - -@@ -60211,6 +60328,9 @@ OUI:705986* - OUI:705AB6* - ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. - -+OUI:705B2E* -+ ID_OUI_FROM_DATABASE=M2Communication Inc. -+ - OUI:705CAD* - ID_OUI_FROM_DATABASE=Konami Gaming Inc - -@@ -60568,6 +60688,9 @@ OUI:748EF8* - OUI:748F1B* - ID_OUI_FROM_DATABASE=MasterImage 3D - -+OUI:748F4D* -+ ID_OUI_FROM_DATABASE=MEN Mikro Elektronik GmbH -+ - OUI:749050* - ID_OUI_FROM_DATABASE=Renesas Electronics Corporation - -@@ -60694,6 +60817,9 @@ OUI:74F07D* - OUI:74F102* - ID_OUI_FROM_DATABASE=Beijing HCHCOM Technology Co., Ltd - -+OUI:74F413* -+ ID_OUI_FROM_DATABASE=Maxwell Forest -+ - OUI:74F612* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -61582,6 +61708,9 @@ OUI:806CBC* - OUI:80711F* - ID_OUI_FROM_DATABASE=Juniper Networks - -+OUI:80717A* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:807693* - ID_OUI_FROM_DATABASE=Newag SA - -@@ -61633,6 +61762,9 @@ OUI:80946C* - OUI:8096B1* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:8096CA* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind Co.,Ltd -+ - OUI:80971B* - ID_OUI_FROM_DATABASE=Altenergy Power System,Inc. - -@@ -61699,6 +61831,9 @@ OUI:80D019* - OUI:80D18B* - ID_OUI_FROM_DATABASE=Hangzhou I'converge Technology Co.,Ltd - -+OUI:80D21D* -+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc -+ - OUI:80D433* - ID_OUI_FROM_DATABASE=LzLabs GmbH - -@@ -62356,6 +62491,9 @@ OUI:8C2F39* - OUI:8C3330* - ID_OUI_FROM_DATABASE=EmFirst Co., Ltd. - -+OUI:8C3357* -+ ID_OUI_FROM_DATABASE=HiteVision Digital Media Technology Co.,Ltd. -+ - OUI:8C3AE3* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -62842,6 +62980,9 @@ OUI:90B134* - OUI:90B21F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:90B686* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:90B8D0* - ID_OUI_FROM_DATABASE=Joyent, Inc. - -@@ -62887,6 +63028,9 @@ OUI:90D92C* - OUI:90DA4E* - ID_OUI_FROM_DATABASE=AVANU - -+OUI:90DA6A* -+ ID_OUI_FROM_DATABASE=MCC System Co., Ltd. -+ - OUI:90DB46* - ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD - -@@ -63100,6 +63244,9 @@ OUI:94ACCA* - OUI:94AE61* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:94AEE3* -+ ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. -+ - OUI:94B8C5* - ID_OUI_FROM_DATABASE=RuggedCom Inc. - -@@ -63151,6 +63298,9 @@ OUI:94CE2C* - OUI:94D019* - ID_OUI_FROM_DATABASE=Cydle Corp. - -+OUI:94D60E* -+ ID_OUI_FROM_DATABASE=shenzhen yunmao information technologies co., ltd -+ - OUI:94D723* - ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd - -@@ -63730,6 +63880,9 @@ OUI:9CC077* - OUI:9CC0D2* - ID_OUI_FROM_DATABASE=Conductix-Wampfler AG - -+OUI:9CC172* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:9CC7A6* - ID_OUI_FROM_DATABASE=AVM GmbH - -@@ -63799,6 +63952,9 @@ OUI:A002DC* - OUI:A00363* - ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH - -+OUI:A00627* -+ ID_OUI_FROM_DATABASE=NEXPA System -+ - OUI:A00798* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -63898,6 +64054,9 @@ OUI:A051C6* - OUI:A055DE* - ID_OUI_FROM_DATABASE=Pace plc - -+OUI:A056B2* -+ ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH -+ - OUI:A0593A* - ID_OUI_FROM_DATABASE=V.D.S. Video Display Systems srl - -@@ -64234,6 +64393,9 @@ OUI:A45C27* - OUI:A45D36* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A45DA1* -+ ID_OUI_FROM_DATABASE=ADB Broadband Italia -+ - OUI:A46032* - ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD - -@@ -64312,6 +64474,9 @@ OUI:A49F89* - OUI:A4A24A* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:A4A4D3* -+ ID_OUI_FROM_DATABASE=Bluebank Communication Technology Co.Ltd -+ - OUI:A4A80F* - ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd. - -@@ -64462,6 +64627,9 @@ OUI:A80600* - OUI:A80C0D* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:A81374* -+ ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company -+ - OUI:A8154D* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -@@ -64495,6 +64663,9 @@ OUI:A82BD6* - OUI:A830AD* - ID_OUI_FROM_DATABASE=Wei Fang Goertek Electronics Co.,Ltd - -+OUI:A8329A* -+ ID_OUI_FROM_DATABASE=Digicom Futuristic Technologies Ltd. -+ - OUI:A83944* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -@@ -64582,6 +64753,9 @@ OUI:A88CEE* - OUI:A88D7B* - ID_OUI_FROM_DATABASE=SunDroid Global limited. - -+OUI:A88E24* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:A8922C* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -64903,6 +65077,9 @@ OUI:AC9CE4* - OUI:ACA016* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:ACA213* -+ ID_OUI_FROM_DATABASE=Shenzhen Bilian electronic CO.,LTD -+ - OUI:ACA22C* - ID_OUI_FROM_DATABASE=Baycity Technologies Ltd - -@@ -65068,6 +65245,9 @@ OUI:B01B7C* - OUI:B01C91* - ID_OUI_FROM_DATABASE=Elim Co - -+OUI:B01F81* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:B024F3* - ID_OUI_FROM_DATABASE=Progeny Systems - -@@ -65113,6 +65293,9 @@ OUI:B058C4* - OUI:B05B1F* - ID_OUI_FROM_DATABASE=THERMO FISHER SCIENTIFIC S.P.A. - -+OUI:B05B67* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:B05CE5* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -65338,6 +65521,9 @@ OUI:B407F9* - OUI:B40832* - ID_OUI_FROM_DATABASE=TC Communications - -+OUI:B40AC6* -+ ID_OUI_FROM_DATABASE=DEXON Systems Ltd. -+ - OUI:B40B44* - ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. - -@@ -65533,6 +65719,9 @@ OUI:B4AA4D* - OUI:B4AB2C* - ID_OUI_FROM_DATABASE=MtM Technology Corporation - -+OUI:B4AE6F* -+ ID_OUI_FROM_DATABASE=Circle Reliance, Inc. -+ - OUI:B4B017* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -65566,6 +65755,9 @@ OUI:B4C810* - OUI:B4CCE9* - ID_OUI_FROM_DATABASE=PROSYST - -+OUI:B4CEF6* -+ ID_OUI_FROM_DATABASE=HTC Corporation -+ - OUI:B4CFDB* - ID_OUI_FROM_DATABASE=Shenzhen Jiuzhou Electric Co.,LTD - -@@ -65812,6 +66004,9 @@ OUI:B898B0* - OUI:B898F7* - ID_OUI_FROM_DATABASE=Gionee Communication Equipment Co,Ltd.ShenZhen - -+OUI:B89919* -+ ID_OUI_FROM_DATABASE=7signal Solutions, Inc -+ - OUI:B89AED* - ID_OUI_FROM_DATABASE=OceanServer Technology, Inc - -@@ -66160,6 +66355,9 @@ OUI:BC9889* - OUI:BC99BC* - ID_OUI_FROM_DATABASE=FonSee Technology Inc. - -+OUI:BC9CC5* -+ ID_OUI_FROM_DATABASE=Beijing Huafei Technology Co., Ltd. -+ - OUI:BC9DA5* - ID_OUI_FROM_DATABASE=DASCOM Europe GmbH - -@@ -66511,6 +66709,9 @@ OUI:C0EAE4* - OUI:C0F1C4* - ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. - -+OUI:C0F2FB* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:C0F79D* - ID_OUI_FROM_DATABASE=Powercode - -@@ -66613,6 +66814,9 @@ OUI:C43C3C* - OUI:C43DC7* - ID_OUI_FROM_DATABASE=NETGEAR - -+OUI:C44202* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:C4438F* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -66634,6 +66838,9 @@ OUI:C44AD0* - OUI:C44B44* - ID_OUI_FROM_DATABASE=Omniprint Inc. - -+OUI:C44BD1* -+ ID_OUI_FROM_DATABASE=Wallys Communications Teachnologies Co.,Ltd. -+ - OUI:C44E1F* - ID_OUI_FROM_DATABASE=BlueN - -@@ -66835,6 +67042,9 @@ OUI:C4F57C* - OUI:C4FCE4* - ID_OUI_FROM_DATABASE=DishTV NZ Ltd - -+OUI:C80210* -+ ID_OUI_FROM_DATABASE=LG Innotek -+ - OUI:C80258* - ID_OUI_FROM_DATABASE=ITW GSE ApS - -@@ -67363,6 +67573,9 @@ OUI:CC9F35* - OUI:CCA0E5* - ID_OUI_FROM_DATABASE=DZG Metering GmbH - -+OUI:CCA223* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:CCA374* - ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd - -@@ -67498,6 +67711,9 @@ OUI:CCFE3C* - OUI:D00790* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:D00AAB* -+ ID_OUI_FROM_DATABASE=Yokogawa Digital Computer Corporation -+ - OUI:D00EA4* - ID_OUI_FROM_DATABASE=Porsche Cars North America - -@@ -67576,6 +67792,9 @@ OUI:D05875* - OUI:D059C3* - ID_OUI_FROM_DATABASE=CeraMicro Technology Corporation - -+OUI:D059E4* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:D05A0F* - ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD - -@@ -68248,6 +68467,9 @@ OUI:D86595* - OUI:D866C6* - ID_OUI_FROM_DATABASE=Shenzhen Daystar Technology Co.,ltd - -+OUI:D866EE* -+ ID_OUI_FROM_DATABASE=BOXIN COMMUNICATION CO.,LTD. -+ - OUI:D867D9* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -68542,6 +68764,9 @@ OUI:DC49C9* - OUI:DC4EDE* - ID_OUI_FROM_DATABASE=SHINYEI TECHNOLOGY CO., LTD. - -+OUI:DC537C* -+ ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc. -+ - OUI:DC5726* - ID_OUI_FROM_DATABASE=Power-One - -@@ -69112,6 +69337,9 @@ OUI:E45614* - OUI:E457A8* - ID_OUI_FROM_DATABASE=Stuart Manufacturing, Inc. - -+OUI:E45D52* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:E46449* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -69298,6 +69526,9 @@ OUI:E81132* - OUI:E81324* - ID_OUI_FROM_DATABASE=GuangZhou Bonsoninfo System CO.,LTD - -+OUI:E8150E* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:E817FC* - ID_OUI_FROM_DATABASE=NIFTY Corporation - -@@ -69373,6 +69604,9 @@ OUI:E85B5B* - OUI:E85BF0* - ID_OUI_FROM_DATABASE=Imaging Diagnostics - -+OUI:E85D6B* -+ ID_OUI_FROM_DATABASE=Luminate Wireless -+ - OUI:E85E53* - ID_OUI_FROM_DATABASE=Infratec Datentechnik GmbH - -@@ -69409,6 +69643,9 @@ OUI:E878A1* - OUI:E87AF3* - ID_OUI_FROM_DATABASE=S5 Tech S.r.l. - -+OUI:E8802E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:E880D8* - ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. - -@@ -69719,7 +69956,7 @@ OUI:EC9B5B* - ID_OUI_FROM_DATABASE=Nokia Corporation - - OUI:EC9ECD* -- ID_OUI_FROM_DATABASE=Emerson Network Power and Embedded Computing -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:ECA29B* - ID_OUI_FROM_DATABASE=Kemppi Oy -@@ -69745,6 +69982,9 @@ OUI:ECC38A* - OUI:ECC882* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:ECCB30* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:ECCD6D* - ID_OUI_FROM_DATABASE=Allied Telesis, Inc. - -@@ -69763,6 +70003,9 @@ OUI:ECD925* - OUI:ECD950* - ID_OUI_FROM_DATABASE=IRT SA - -+OUI:ECD9D1* -+ ID_OUI_FROM_DATABASE=Shenzhen TG-NET Botone Technology Co.,Ltd. -+ - OUI:ECDE3D* - ID_OUI_FROM_DATABASE=Lamprey Networks, Inc. - -@@ -70144,6 +70387,12 @@ OUI:F406A5* - OUI:F40B93* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:F40E11* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ -+OUI:F40F1B* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F40F9B* - ID_OUI_FROM_DATABASE=WAVELINK - -@@ -70165,6 +70414,9 @@ OUI:F41FC2* - OUI:F42012* - ID_OUI_FROM_DATABASE=Cuciniale GmbH - -+OUI:F42833* -+ ID_OUI_FROM_DATABASE=MMPC Inc. -+ - OUI:F42896* - ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA - -@@ -70294,6 +70546,9 @@ OUI:F499AC* - OUI:F49F54* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:F49FF3* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:F4A294* - ID_OUI_FROM_DATABASE=EAGLE WORLD DEVELOPMENT CO., LIMITED - -@@ -70351,6 +70606,9 @@ OUI:F4CE46* - OUI:F4CFE2* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:F4D032* -+ ID_OUI_FROM_DATABASE=Yunnan Ideal Information&Technology.,Ltd -+ - OUI:F4D261* - ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd - -@@ -70390,12 +70648,18 @@ OUI:F4F5A5* - OUI:F4F5E8* - ID_OUI_FROM_DATABASE=Google - -+OUI:F4F646* -+ ID_OUI_FROM_DATABASE=Dediprog Technology Co. Ltd. -+ - OUI:F4F951* - ID_OUI_FROM_DATABASE=Apple - - OUI:F4FC32* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:F4FD2B* -+ ID_OUI_FROM_DATABASE=ZOYI Company -+ - OUI:F80113* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -70798,6 +71062,9 @@ OUI:FC1607* - OUI:FC1794* - ID_OUI_FROM_DATABASE=InterCreative Co., Ltd - -+OUI:FC1910* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:FC19D0* - ID_OUI_FROM_DATABASE=Cloud Vision Networks Technology Co.,Ltd. - -@@ -70906,6 +71173,9 @@ OUI:FC7516* - OUI:FC75E6* - ID_OUI_FROM_DATABASE=Handreamnet - -+OUI:FC790B* -+ ID_OUI_FROM_DATABASE=Hitachi High Technologies America, Inc. -+ - OUI:FC7CE7* - ID_OUI_FROM_DATABASE=FCI USA LLC - -@@ -70948,6 +71218,9 @@ OUI:FCA841* - OUI:FCA9B0* - ID_OUI_FROM_DATABASE=MIARTECH (SHANGHAI),INC. - -+OUI:FCAA14* -+ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. -+ - OUI:FCAD0F* - ID_OUI_FROM_DATABASE=QTS NETWORKS - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 14637d3..2957774 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -1673,6 +1673,9 @@ pci:v00001002d00001306* - pci:v00001002d00001307* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d00001308* -+ ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller -+ - pci:v00001002d00001309* - ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - -@@ -4268,6 +4271,9 @@ pci:v00001002d00006611sv00001B0Asd000090D3* - pci:v00001002d00006613* - ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] - -+pci:v00001002d00006613sv00001682sd00007240* -+ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] (R7 240 2048 MB) -+ - pci:v00001002d00006620* - ID_MODEL_FROM_DATABASE=Mars - -@@ -6024,31 +6030,31 @@ pci:v00001002d00006819sv0000174Bsd0000E221* - ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) - - pci:v00001002d00006820* -- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] - - pci:v00001002d00006820sv0000103Csd00001851* -- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon HD 7750M) - - pci:v00001002d00006820sv000017AAsd00003801* -- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon R9 M275) - - pci:v00001002d00006821* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] - - pci:v00001002d00006821sv00001002sd0000031E* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro SX4000) - - pci:v00001002d00006821sv00001028sd000005CC* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) - - pci:v00001002d00006821sv00001028sd000015CC* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) - - pci:v00001002d00006822* - ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] - - pci:v00001002d00006823* -- ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M] -+ ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M / R9 M265X] - - pci:v00001002d00006825* - ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] -@@ -7770,64 +7776,73 @@ pci:v00001002d000068F9sv000017AFsd00003014* - ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068FA* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] - - pci:v00001002d000068FAsv00001019sd00000019* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000021* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000022* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000026* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000103Csd00002ADF* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) - - pci:v00001002d000068FAsv0000103Csd00002AE8* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) - - pci:v00001002d000068FAsv00001043sd00008350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) - - pci:v00001002d000068FAsv00001462sd00002128* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002184* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002186* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002495* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd0000B490* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001642sd00003985* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) -+ -+pci:v00001002d000068FAsv0000174Bsd00003510* -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) -+ -+pci:v00001002d000068FAsv0000174Bsd00003521* -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) -+ -+pci:v00001002d000068FAsv0000174Bsd00003522* -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) - - pci:v00001002d000068FAsv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd00008153* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E180* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv000017AFsd00003015* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE -@@ -8886,7 +8901,7 @@ pci:v00001002d0000980A* - ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7290] - - pci:v00001002d00009830* -- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400] -+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400 / R3 Series] - - pci:v00001002d00009831* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400E] -@@ -8904,13 +8919,13 @@ pci:v00001002d00009835* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8310E] - - pci:v00001002d00009836* -- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280] -+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280 / R3 Series] - - pci:v00001002d00009837* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280E] - - pci:v00001002d00009838* -- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240] -+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240 / R3 Series] - - pci:v00001002d00009839* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8180] -@@ -10724,6 +10739,33 @@ pci:v00001022d00001418* - pci:v00001022d00001419* - ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) I/O Memory Management Unit - -+pci:v00001022d0000141A* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 0 -+ -+pci:v00001022d0000141B* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 1 -+ -+pci:v00001022d0000141C* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 2 -+ -+pci:v00001022d0000141D* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 3 -+ -+pci:v00001022d0000141E* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 4 -+ -+pci:v00001022d0000141F* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 5 -+ -+pci:v00001022d00001422* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Complex -+ -+pci:v00001022d00001423* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) I/O Memory Management Unit -+ -+pci:v00001022d00001426* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Port -+ - pci:v00001022d00001439* - ID_MODEL_FROM_DATABASE=Family 16h Processor Functions 5:1 - -@@ -17621,6 +17663,9 @@ pci:v00001093d000071BC* - pci:v00001093d000071D0* - ID_MODEL_FROM_DATABASE=PXI-6143 - -+pci:v00001093d000071DC* -+ ID_MODEL_FROM_DATABASE=PCI-1588 -+ - pci:v00001093d00007260* - ID_MODEL_FROM_DATABASE=PXI-5142 - -@@ -17639,6 +17684,9 @@ pci:v00001093d000072AA* - pci:v00001093d000072AB* - ID_MODEL_FROM_DATABASE=PCI-5105 - -+pci:v00001093d000072B8* -+ ID_MODEL_FROM_DATABASE=PXI-6682 -+ - pci:v00001093d0000730F* - ID_MODEL_FROM_DATABASE=PXI-5922EX - -@@ -17708,6 +17756,9 @@ pci:v00001093d000073F0* - pci:v00001093d000073F1* - ID_MODEL_FROM_DATABASE=PCI-5153 - -+pci:v00001093d00007405* -+ ID_MODEL_FROM_DATABASE=PXIe-6674T -+ - pci:v00001093d0000745E* - ID_MODEL_FROM_DATABASE=PXI-5153EX - -@@ -17726,6 +17777,12 @@ pci:v00001093d00007539* - pci:v00001093d0000753A* - ID_MODEL_FROM_DATABASE=NI 9159 - -+pci:v00001093d000075E5* -+ ID_MODEL_FROM_DATABASE=PXI-6683 -+ -+pci:v00001093d000075E6* -+ ID_MODEL_FROM_DATABASE=PXI-6683H -+ - pci:v00001093d00007626* - ID_MODEL_FROM_DATABASE=NI 9154 - -@@ -28100,6 +28157,9 @@ pci:v000010EC* - pci:v000010ECd00000139* - ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ Ethernet Controller - -+pci:v000010ECd00005208* -+ ID_MODEL_FROM_DATABASE=RTS5208 PCI Express Card Reader -+ - pci:v000010ECd00005209* - ID_MODEL_FROM_DATABASE=RTS5209 PCI Express Card Reader - -@@ -28128,7 +28188,7 @@ pci:v000010ECd00005249sv0000103Csd00001909* - ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) - - pci:v000010ECd00005288* -- ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader -+ ID_MODEL_FROM_DATABASE=RTS5288 PCI Express Card Reader - - pci:v000010ECd00008029* - ID_MODEL_FROM_DATABASE=RTL-8029(AS) -@@ -32153,6 +32213,9 @@ pci:v00001131d00007160* - pci:v00001131d00007160sv00001458sd00009009* - ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) - -+pci:v00001131d00007160sv00001461sd00001455* -+ ID_MODEL_FROM_DATABASE=SAA7160 (AVerTV Hybrid Speedy PCI-E (H788)) -+ - pci:v00001131d00007162* - ID_MODEL_FROM_DATABASE=SAA7162 - -@@ -34691,6 +34754,9 @@ pci:v000011ABd00002A42* - pci:v000011ABd00002A43* - ID_MODEL_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless - -+pci:v000011ABd00002A55* -+ ID_MODEL_FROM_DATABASE=88W8864 [Avastar] 802.11ac Wireless -+ - pci:v000011ABd00002B36* - ID_MODEL_FROM_DATABASE=88W8764 [Avastar] 802.11n Wireless - -@@ -36536,6 +36602,9 @@ pci:v00001217d00008120* - pci:v00001217d00008130* - ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller - -+pci:v00001217d00008221* -+ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller -+ - pci:v00001217d00008320* - ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller - -@@ -43278,7 +43347,13 @@ pci:v00001469* - ID_VENDOR_FROM_DATABASE=Cleveland Motion Controls - - pci:v0000146A* -- ID_VENDOR_FROM_DATABASE=IFR -+ ID_VENDOR_FROM_DATABASE=Aeroflex -+ -+pci:v0000146Ad00003010* -+ ID_MODEL_FROM_DATABASE=3010 RF Synthesizer -+ -+pci:v0000146Ad00003A11* -+ ID_MODEL_FROM_DATABASE=3011A PXI RF Synthesizer - - pci:v0000146B* - ID_VENDOR_FROM_DATABASE=Parascan Technologies Ltd -@@ -52409,6 +52484,9 @@ pci:v00001AB8d00004006* - pci:v00001AB9* - ID_VENDOR_FROM_DATABASE=Espia Srl - -+pci:v00001AC8* -+ ID_VENDOR_FROM_DATABASE=Aeroflex Gaisler -+ - pci:v00001ACC* - ID_VENDOR_FROM_DATABASE=Point of View BV - -@@ -52724,9 +52802,15 @@ pci:v00001B4Bd000091A0* - pci:v00001B4Bd000091A4* - ID_MODEL_FROM_DATABASE=88SE912x IDE Controller - -+pci:v00001B4Bd00009220* -+ ID_MODEL_FROM_DATABASE=88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller -+ - pci:v00001B4Bd00009230* - ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller - -+pci:v00001B4Bd00009235* -+ ID_MODEL_FROM_DATABASE=88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller -+ - pci:v00001B4Bd00009445* - ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller - -@@ -54693,7 +54777,7 @@ pci:v00006688* - ID_VENDOR_FROM_DATABASE=Zycoo Co., Ltd - - pci:v00006688d00001200* -- ID_MODEL_FROM_DATABASE=CooVOX TDM Analog Module -+ ID_MODEL_FROM_DATABASE=CooVox TDM Analog Module - - pci:v00006688d00001400* - ID_MODEL_FROM_DATABASE=CooVOX TDM GSM Module -@@ -59066,8 +59150,11 @@ pci:v00008086d00001522sv00008086sd000000A4* - pci:v00008086d00001523* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection - -+pci:v00008086d00001523sv00001028sd00000060* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 2P I350 LOM) -+ - pci:v00008086d00001523sv00001028sd00001F9B* -- ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350-t bNDC) - - pci:v00008086d00001523sv0000103Csd00001784* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) -@@ -59183,9 +59270,6 @@ pci:v00008086d00001536* - pci:v00008086d00001537* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - --pci:v00008086d00001538* -- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -- - pci:v00008086d00001539* - ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection - -@@ -59270,6 +59354,12 @@ pci:v00008086d0000155Dsv00008086sd00000002* - pci:v00008086d00001560* - ID_MODEL_FROM_DATABASE=Ethernet Controller X540 - -+pci:v00008086d0000156F* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-LM -+ -+pci:v00008086d00001570* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V -+ - pci:v00008086d00001571* - ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function - -@@ -59316,16 +59406,16 @@ pci:v00008086d00001581sv00001028sd00001F98* - ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) - - pci:v00008086d00001583* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - - pci:v00008086d00001583sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) - - pci:v00008086d00001584* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 014c628..52586bc 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -21,7 +21,7 @@ usb:v0004* - ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart - - usb:v0011* -- ID_VENDOR_FROM_DATABASE=Unknown manufacturer -+ ID_VENDOR_FROM_DATABASE=Unknown - - usb:v0011p7788* - ID_MODEL_FROM_DATABASE=Flash mass storage drive -@@ -275,6 +275,9 @@ usb:v03EBp2110* - usb:v03EBp2122* - ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit - -+usb:v03EBp2141* -+ ID_MODEL_FROM_DATABASE=ICE debugger -+ - usb:v03EBp2310* - ID_MODEL_FROM_DATABASE=EVK11xx evaluation board - -@@ -455,6 +458,9 @@ usb:v03F0p0121* - usb:v03F0p0122* - ID_MODEL_FROM_DATABASE=HID Internet Keyboard - -+usb:v03F0p0139* -+ ID_MODEL_FROM_DATABASE=Barcode Scanner 4430 -+ - usb:v03F0p0201* - ID_MODEL_FROM_DATABASE=ScanJet 6200c - -@@ -782,6 +788,9 @@ usb:v03F0p1517* - usb:v03F0p1524* - ID_MODEL_FROM_DATABASE=Smart Card Keyboard - KR - -+usb:v03F0p1539* -+ ID_MODEL_FROM_DATABASE=Mini Magnetic Stripe Reader -+ - usb:v03F0p1602* - ID_MODEL_FROM_DATABASE=PhotoSmart 330 series - -@@ -893,6 +902,9 @@ usb:v03F0p1D02* - usb:v03F0p1D17* - ID_MODEL_FROM_DATABASE=LaserJet 1320 - -+usb:v03F0p1D24* -+ ID_MODEL_FROM_DATABASE=Barcode scanner -+ - usb:v03F0p1E02* - ID_MODEL_FROM_DATABASE=PhotoSmart A320 Printer series - -@@ -935,6 +947,9 @@ usb:v03F0p2012* - usb:v03F0p201D* - ID_MODEL_FROM_DATABASE=un2400 Gobi Wireless Modem (QDL mode) - -+usb:v03F0p2039* -+ ID_MODEL_FROM_DATABASE=Cashdrawer -+ - usb:v03F0p2102* - ID_MODEL_FROM_DATABASE=PhotoSmart 7345 - -@@ -1008,7 +1023,7 @@ usb:v03F0p2505* - ID_MODEL_FROM_DATABASE=ScanJet 3770 - - usb:v03F0p2512* -- ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 -+ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 / Compaq LA2405 series monitor - - usb:v03F0p2514* - ID_MODEL_FROM_DATABASE=4-port hub -@@ -1046,6 +1061,9 @@ usb:v03F0p2704* - usb:v03F0p2717* - ID_MODEL_FROM_DATABASE=Color LaserJet 2830 - -+usb:v03F0p2724* -+ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader IDRA-334133-HP -+ - usb:v03F0p2811* - ID_MODEL_FROM_DATABASE=PSC-2100 - -@@ -1424,6 +1442,9 @@ usb:v03F0p5817* - usb:v03F0p5911* - ID_MODEL_FROM_DATABASE=PhotoSmart C6180 - -+usb:v03F0p5912* -+ ID_MODEL_FROM_DATABASE=Officejet Pro 8600 -+ - usb:v03F0p5A11* - ID_MODEL_FROM_DATABASE=PhotoSmart C7100 series - -@@ -1532,6 +1553,9 @@ usb:v03F0p6B02* - usb:v03F0p6B11* - ID_MODEL_FROM_DATABASE=Photosmart C4500 series - -+usb:v03F0p6C11* -+ ID_MODEL_FROM_DATABASE=Photosmart C4480 -+ - usb:v03F0p6C17* - ID_MODEL_FROM_DATABASE=Color LaserJet 4610 - -@@ -1913,6 +1937,9 @@ usb:v03FC* - usb:v03FD* - ID_VENDOR_FROM_DATABASE=Xilinx, Inc. - -+usb:v03FDp0008* -+ ID_MODEL_FROM_DATABASE=Platform Cable USB II -+ - usb:v03FE* - ID_VENDOR_FROM_DATABASE=Farallon Comunications - -@@ -2012,6 +2039,9 @@ usb:v0403p0232* - usb:v0403p1060* - ID_MODEL_FROM_DATABASE=JTAG adapter - -+usb:v0403p1234* -+ ID_MODEL_FROM_DATABASE=IronLogic RFID Adapter [Z-2 USB] -+ - usb:v0403p6001* - ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC - -@@ -2084,12 +2114,18 @@ usb:v0403p8B2B* - usb:v0403p8B2C* - ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 - -+usb:v0403p9132* -+ ID_MODEL_FROM_DATABASE=LCD and Temperature Interface -+ - usb:v0403p9133* - ID_MODEL_FROM_DATABASE=CallerID - - usb:v0403p9135* - ID_MODEL_FROM_DATABASE=Rotary Pub alarm - -+usb:v0403p9136* -+ ID_MODEL_FROM_DATABASE=Pulsecounter -+ - usb:v0403p9E90* - ID_MODEL_FROM_DATABASE=Marvell OpenRD Base/Client - -@@ -2291,6 +2327,9 @@ usb:v0403pEF10* - usb:v0403pF070* - ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] - -+usb:v0403pF0E9* -+ ID_MODEL_FROM_DATABASE=Tagsys L-P101 -+ - usb:v0403pF1A0* - ID_MODEL_FROM_DATABASE=Asix PRESTO Programmer - -@@ -2999,6 +3038,9 @@ usb:v040Ap4021* - usb:v040Ap4022* - ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer - -+usb:v040Ap402B* -+ ID_MODEL_FROM_DATABASE=Photo Printer 6850 -+ - usb:v040Ap402E* - ID_MODEL_FROM_DATABASE=605 Photo Printer - -@@ -4379,6 +4421,9 @@ usb:v0424p7500* - usb:v0424p9512* - ID_MODEL_FROM_DATABASE=SMC9512/9514 USB Hub - -+usb:v0424p9514* -+ ID_MODEL_FROM_DATABASE=SMC9514 Hub -+ - usb:v0424pA700* - ID_MODEL_FROM_DATABASE=2 Port Hub - -@@ -5219,6 +5264,9 @@ usb:v0451p2046* - usb:v0451p2077* - ID_MODEL_FROM_DATABASE=TUSB2077 Hub - -+usb:v0451p2F90* -+ ID_MODEL_FROM_DATABASE=SM-USB-DIG -+ - usb:v0451p3410* - ID_MODEL_FROM_DATABASE=TUSB3410 Microcontroller - -@@ -5534,6 +5582,9 @@ usb:v0458p5003* - usb:v0458p5004* - ID_MODEL_FROM_DATABASE=G-pen Tablet - -+usb:v0458p505E* -+ ID_MODEL_FROM_DATABASE=Genius iSlim 330 -+ - usb:v0458p6001* - ID_MODEL_FROM_DATABASE=GF3000F Ethernet Adapter - -@@ -5600,6 +5651,24 @@ usb:v0458p705A* - usb:v0458p705C* - ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF - -+usb:v0458p7061* -+ ID_MODEL_FROM_DATABASE=Genius iLook 1321 V2 -+ -+usb:v0458p7066* -+ ID_MODEL_FROM_DATABASE=Acer Crystal Eye Webcam -+ -+usb:v0458p7067* -+ ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF V2 -+ -+usb:v0458p7068* -+ ID_MODEL_FROM_DATABASE=Genius eFace 1325R -+ -+usb:v0458p706D* -+ ID_MODEL_FROM_DATABASE=Genius iSlim 2000AF V2 -+ -+usb:v0458p7076* -+ ID_MODEL_FROM_DATABASE=Genius FaceCam 312 -+ - usb:v0458p7079* - ID_MODEL_FROM_DATABASE=FaceCam 2025R - -@@ -5609,6 +5678,12 @@ usb:v0458p707F* - usb:v0458p7088* - ID_MODEL_FROM_DATABASE=WideCam 1050 - -+usb:v0458p7089* -+ ID_MODEL_FROM_DATABASE=Genius FaceCam 320 -+ -+usb:v0458p708C* -+ ID_MODEL_FROM_DATABASE=Genius WideCam F100 -+ - usb:v0459* - ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc. - -@@ -6017,6 +6092,15 @@ usb:v045Ep02B0* - usb:v045Ep02B6* - ID_MODEL_FROM_DATABASE=Xbox 360 / Bluetooth Wireless Headset - -+usb:v045Ep02BE* -+ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Audio -+ -+usb:v045Ep02BF* -+ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Camera -+ -+usb:v045Ep02C2* -+ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Motor -+ - usb:v045Ep0400* - ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002 - -@@ -6866,6 +6950,9 @@ usb:v046Dp0830* - usb:v046Dp0840* - ID_MODEL_FROM_DATABASE=QuickCam Express - -+usb:v046Dp0843* -+ ID_MODEL_FROM_DATABASE=Webcam C930e -+ - usb:v046Dp0850* - ID_MODEL_FROM_DATABASE=QuickCam Web - -@@ -7169,6 +7256,12 @@ usb:v046Dp0A1F* - usb:v046Dp0A29* - ID_MODEL_FROM_DATABASE=H600 [Wireless Headset] - -+usb:v046Dp0A38* -+ ID_MODEL_FROM_DATABASE=Headset H340 -+ -+usb:v046Dp0A4D* -+ ID_MODEL_FROM_DATABASE=G430 Surround Sound Gaming Headset -+ - usb:v046Dp0B02* - ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode) - -@@ -7650,7 +7743,7 @@ usb:v046DpC31B* - ID_MODEL_FROM_DATABASE=Compact Keyboard K300 - - usb:v046DpC31C* -- ID_MODEL_FROM_DATABASE=Keyboard K120 for Business -+ ID_MODEL_FROM_DATABASE=Keyboard K120 - - usb:v046DpC31D* - ID_MODEL_FROM_DATABASE=Media Keyboard K200 -@@ -7751,6 +7844,9 @@ usb:v046DpC529* - usb:v046DpC52B* - ID_MODEL_FROM_DATABASE=Unifying Receiver - -+usb:v046DpC52D* -+ ID_MODEL_FROM_DATABASE=R700 Remote Presenter receiver -+ - usb:v046DpC52E* - ID_MODEL_FROM_DATABASE=MK260 Wireless Combo Receiver - -@@ -7760,6 +7856,18 @@ usb:v046DpC52F* - usb:v046DpC532* - ID_MODEL_FROM_DATABASE=Unifying Receiver - -+usb:v046DpC603* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT -+ -+usb:v046DpC605* -+ ID_MODEL_FROM_DATABASE=3Dconnexion CADman -+ -+usb:v046DpC606* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Classic -+ -+usb:v046DpC621* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Spaceball 5000 -+ - usb:v046DpC623* - ID_MODEL_FROM_DATABASE=3Dconnexion Space Traveller 3D Mouse - -@@ -7772,9 +7880,18 @@ usb:v046DpC626* - usb:v046DpC627* - ID_MODEL_FROM_DATABASE=3Dconnexion Space Explorer 3D Mouse - -+usb:v046DpC628* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Navigator for Notebooks -+ - usb:v046DpC629* - ID_MODEL_FROM_DATABASE=3Dconnexion SpacePilot Pro 3D Mouse - -+usb:v046DpC62B* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Mouse Pro -+ -+usb:v046DpC640* -+ ID_MODEL_FROM_DATABASE=NuLOOQ navigator -+ - usb:v046DpC702* - ID_MODEL_FROM_DATABASE=Cordless Presenter - -@@ -8609,6 +8726,9 @@ usb:v0480p0011* - usb:v0480p0014* - ID_MODEL_FROM_DATABASE=InTouch Module - -+usb:v0480p0100* -+ ID_MODEL_FROM_DATABASE=Stor.E Slim USB 3.0 -+ - usb:v0480pA006* - ID_MODEL_FROM_DATABASE=External Disk 1.5TB - -@@ -10043,6 +10163,9 @@ usb:v04A9p2225* - usb:v04A9p2228* - ID_MODEL_FROM_DATABASE=CanoScan 4400F - -+usb:v04A9p2229* -+ ID_MODEL_FROM_DATABASE=CanoScan 8600F -+ - usb:v04A9p2602* - ID_MODEL_FROM_DATABASE=MultiPASS C555 - -@@ -10988,6 +11111,9 @@ usb:v04A9p3233* - usb:v04A9p3234* - ID_MODEL_FROM_DATABASE=PowerShot SX150 IS - -+usb:v04A9p3235* -+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 510 HS / IXUS 1100 HS -+ - usb:v04A9p3236* - ID_MODEL_FROM_DATABASE=PowerShot S100 - -@@ -11057,12 +11183,18 @@ usb:v04A9p325B* - usb:v04A9p325C* - ID_MODEL_FROM_DATABASE=PowerShot SX500 IS - -+usb:v04A9p325E* -+ ID_MODEL_FROM_DATABASE=PowerShot N -+ - usb:v04A9p325F* - ID_MODEL_FROM_DATABASE=PowerShot SX280 HS - - usb:v04A9p3260* - ID_MODEL_FROM_DATABASE=PowerShot SX270 HS - -+usb:v04A9p3261* -+ ID_MODEL_FROM_DATABASE=PowerShot A3500 IS -+ - usb:v04A9p3262* - ID_MODEL_FROM_DATABASE=PowerShot A2600 - -@@ -11087,6 +11219,15 @@ usb:v04A9p3277* - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -+usb:v04A9p3288* -+ ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 -+ -+usb:v04A9p3289* -+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 340 HS / IXUS 265 HS -+ -+usb:v04A9p328A* -+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 150 IS / IXUS 155 -+ - usb:v04AA* - ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd - -@@ -11471,6 +11612,9 @@ usb:v04B4p2050* - usb:v04B4p2830* - ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) - -+usb:v04B4p4235* -+ ID_MODEL_FROM_DATABASE=Monitor 02 Driver -+ - usb:v04B4p4381* - ID_MODEL_FROM_DATABASE=SCAPS USC-1 Scanner Controller - -@@ -12407,6 +12551,9 @@ usb:v04C5p10AE* - usb:v04C5p10AF* - ID_MODEL_FROM_DATABASE=fi-4220C2 - -+usb:v04C5p10C7* -+ ID_MODEL_FROM_DATABASE=fi-60f scanner -+ - usb:v04C5p10E0* - ID_MODEL_FROM_DATABASE=fi-5120c Scanner - -@@ -12981,7 +13128,7 @@ usb:v04D9p2519* - ID_MODEL_FROM_DATABASE=Shenzhen LogoTech 2.4GHz receiver - - usb:v04D9p2832* -- ID_MODEL_FROM_DATABASE=1channel Telephone line recorder -+ ID_MODEL_FROM_DATABASE=HT82A832R Audio MCU - - usb:v04D9p2834* - ID_MODEL_FROM_DATABASE=HT82A834R Audio MCU -@@ -13070,6 +13217,9 @@ usb:v04DAp2374* - usb:v04DAp2451* - ID_MODEL_FROM_DATABASE=HDC-SD9 - -+usb:v04DAp245B* -+ ID_MODEL_FROM_DATABASE=HC-X920K (3MOS Full HD video camcorder) -+ - usb:v04DAp2497* - ID_MODEL_FROM_DATABASE=HDC-TM700 - -@@ -13535,6 +13685,9 @@ usb:v04E8p1006* - usb:v04E8p130C* - ID_MODEL_FROM_DATABASE=NX100 - -+usb:v04E8p1F05* -+ ID_MODEL_FROM_DATABASE=S2 Portable [JMicron] (500GB) -+ - usb:v04E8p1F06* - ID_MODEL_FROM_DATABASE=HX-MU064DA portable harddisk - -@@ -13670,6 +13823,9 @@ usb:v04E8p3310* - usb:v04E8p3315* - ID_MODEL_FROM_DATABASE=ML-2540 Series Laser Printer - -+usb:v04E8p331E* -+ ID_MODEL_FROM_DATABASE=M262x/M282x Xpress Series Laser Printer -+ - usb:v04E8p3409* - ID_MODEL_FROM_DATABASE=SCX-4216F Scanner - -@@ -13718,6 +13874,9 @@ usb:v04E8p3420* - usb:v04E8p3426* - ID_MODEL_FROM_DATABASE=SCX-4500 Laser Printer - -+usb:v04E8p342D* -+ ID_MODEL_FROM_DATABASE=SCX-4x28 Series -+ - usb:v04E8p344F* - ID_MODEL_FROM_DATABASE=SCX-3400 Series - -@@ -14058,7 +14217,7 @@ usb:v04E8p685B* - ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (mass storage mode) - - usb:v04E8p685C* -- ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] -+ ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] (Mass storage mode) - - usb:v04E8p685D* - ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (Download mode) -@@ -14067,7 +14226,10 @@ usb:v04E8p685E* - ID_MODEL_FROM_DATABASE=GT-I9100 / GT-C3350 Phones (USB Debugging mode) - - usb:v04E8p6860* -- ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] -+ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] , GT-I9500 [Galaxy S 4] -+ -+usb:v04E8p6863* -+ ID_MODEL_FROM_DATABASE=GT-I9500 [Galaxy S4] / GT-I9250 [Galaxy Nexus] (network tethering) - - usb:v04E8p6865* - ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode) -@@ -14075,6 +14237,9 @@ usb:v04E8p6865* - usb:v04E8p6866* - ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode) - -+usb:v04E8p6868* -+ ID_MODEL_FROM_DATABASE=Escape Composite driver for Android Phones: Modem+Diagnostic+ADB -+ - usb:v04E8p6875* - ID_MODEL_FROM_DATABASE=GT-B3710 Standalone LTE device (Commercial) - -@@ -14342,6 +14507,12 @@ usb:v04F2pB057* - usb:v04F2pB059* - ID_MODEL_FROM_DATABASE=CKF7037 HP webcam - -+usb:v04F2pB064* -+ ID_MODEL_FROM_DATABASE=CNA7137 Integrated Webcam -+ -+usb:v04F2pB070* -+ ID_MODEL_FROM_DATABASE=Camera -+ - usb:v04F2pB071* - ID_MODEL_FROM_DATABASE=2.0M UVC Webcam / CNF7129 - -@@ -14411,6 +14582,9 @@ usb:v04F2pB2B0* - usb:v04F2pB2B9* - ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera UVC - -+usb:v04F2pB2DA* -+ ID_MODEL_FROM_DATABASE=thinkpad t430s camera -+ - usb:v04F2pB2EA* - ID_MODEL_FROM_DATABASE=Integrated Camera [ThinkPad] - -@@ -14420,6 +14594,9 @@ usb:v04F2pB330* - usb:v04F2pB354* - ID_MODEL_FROM_DATABASE=UVC 1.00 device HD UVC WebCam - -+usb:v04F2pB394* -+ ID_MODEL_FROM_DATABASE=Integrated Camera -+ - usb:v04F3* - ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp. - -@@ -15038,6 +15215,9 @@ usb:v04F9p01EB* - usb:v04F9p01F4* - ID_MODEL_FROM_DATABASE=MFC-5890CN - -+usb:v04F9p0217* -+ ID_MODEL_FROM_DATABASE=MFC-8480DN -+ - usb:v04F9p0223* - ID_MODEL_FROM_DATABASE=DCP-365CN - -@@ -15158,9 +15338,15 @@ usb:v04FCp5331* - usb:v04FCp5360* - ID_MODEL_FROM_DATABASE=Sunplus Generic Digital Camera - -+usb:v04FCp5563* -+ ID_MODEL_FROM_DATABASE=Digital Media Player MP3/WMA [The Sharper Image] -+ - usb:v04FCp5720* - ID_MODEL_FROM_DATABASE=Card Reader Driver - -+usb:v04FCp6333* -+ ID_MODEL_FROM_DATABASE=Siri A9 UVC chipset -+ - usb:v04FCp7333* - ID_MODEL_FROM_DATABASE=Finet Technology Palmpix DC-85 - -@@ -15239,6 +15425,18 @@ usb:v0502p3325* - usb:v0502p3341* - ID_MODEL_FROM_DATABASE=Iconia tablet A500 - -+usb:v0502p33C3* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 -+ -+usb:v0502p33C4* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode) -+ -+usb:v0502p33C7* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (USB tethering) -+ -+usb:v0502p33C8* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode, USB tethering) -+ - usb:v0502pD001* - ID_MODEL_FROM_DATABASE=Divio NW801/DVC-V6+ Digital Camera - -@@ -15446,6 +15644,9 @@ usb:v050Dp0416* - usb:v050Dp0551* - ID_MODEL_FROM_DATABASE=F6C550-AVR UPS - -+usb:v050Dp065A* -+ ID_MODEL_FROM_DATABASE=F8T065BF Mini Bluetooth 4.0 Adapter -+ - usb:v050Dp0706* - ID_MODEL_FROM_DATABASE=2-N-1 7-Port Hub (Lower half) - -@@ -15497,6 +15698,9 @@ usb:v050Dp2103* - usb:v050Dp21F1* - ID_MODEL_FROM_DATABASE=N300 WLAN N Adapter [ISY] - -+usb:v050Dp21F2* -+ ID_MODEL_FROM_DATABASE=RTL8192CU 802.11n WLAN Adapter [ISY IWL 4000] -+ - usb:v050Dp258A* - ID_MODEL_FROM_DATABASE=F5U258 Host to Host cable - -@@ -15728,6 +15932,9 @@ usb:v0525p1200* - usb:v0525p1265* - ID_MODEL_FROM_DATABASE=File-backed Storage Gadget - -+usb:v0525p3424* -+ ID_MODEL_FROM_DATABASE=Lumidigm Venus fingerprint sensor -+ - usb:v0525pA0F0* - ID_MODEL_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2 - -@@ -16655,6 +16862,9 @@ usb:v054Cp035B* - usb:v054Cp035C* - ID_MODEL_FROM_DATABASE=NWZ-A726/A728/A729 - -+usb:v054Cp035F* -+ ID_MODEL_FROM_DATABASE=UP-DR200 Photo Printer -+ - usb:v054Cp0382* - ID_MODEL_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1) - -@@ -16694,9 +16904,18 @@ usb:v054Cp0485* - usb:v054Cp04CB* - ID_MODEL_FROM_DATABASE=WALKMAN NWZ-E354 - -+usb:v054Cp0541* -+ ID_MODEL_FROM_DATABASE=DSC-HX100V [Cybershot Digital Still Camera] -+ -+usb:v054Cp0689* -+ ID_MODEL_FROM_DATABASE=Walkman NWZ-B173F -+ - usb:v054Cp06BB* - ID_MODEL_FROM_DATABASE=WALKMAN NWZ-F805 - -+usb:v054Cp088C* -+ ID_MODEL_FROM_DATABASE=Portable Headphone Amplifier -+ - usb:v054Cp1000* - ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver - -@@ -16721,6 +16940,12 @@ usb:v0550p0004* - usb:v0550p0005* - ID_MODEL_FROM_DATABASE=InkJet Color Printer - -+usb:v0550p000B* -+ ID_MODEL_FROM_DATABASE=Workcentre 24 -+ -+usb:v0550p014E* -+ ID_MODEL_FROM_DATABASE=CM215b Printer -+ - usb:v0551* - ID_VENDOR_FROM_DATABASE=CompuTrend Systems, Inc. - -@@ -17306,6 +17531,9 @@ usb:v056Ap0069* - usb:v056Ap0081* - ID_MODEL_FROM_DATABASE=Graphire Wireless 6x8 - -+usb:v056Ap0084* -+ ID_MODEL_FROM_DATABASE=Wireless adapter for Bamboo tablets -+ - usb:v056Ap0090* - ID_MODEL_FROM_DATABASE=TPC90 - -@@ -17372,6 +17600,9 @@ usb:v056Ap00D1* - usb:v056Ap00D3* - ID_MODEL_FROM_DATABASE=Bamboo Fun (CTH-661) - -+usb:v056Ap00D4* -+ ID_MODEL_FROM_DATABASE=Bamboo Pen (CTL-460) -+ - usb:v056Ap00D6* - ID_MODEL_FROM_DATABASE=Bamboo Pen & Touch (CTH-460) - -@@ -17390,6 +17621,12 @@ usb:v056Ap00F6* - usb:v056Ap00F8* - ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet - -+usb:v056Ap0307* -+ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) tablet -+ -+usb:v056Ap0309* -+ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) touchscreen -+ - usb:v056Ap0400* - ID_MODEL_FROM_DATABASE=PenPartner 4x5 - -@@ -18719,6 +18956,9 @@ usb:v0586p341E* - usb:v0586p341F* - ID_MODEL_FROM_DATABASE=NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU] - -+usb:v0586p3425* -+ ID_MODEL_FROM_DATABASE=NWD6505 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] -+ - usb:v0586p343E* - ID_MODEL_FROM_DATABASE=N220 802.11bgn Wireless Adapter - -@@ -18737,9 +18977,15 @@ usb:v058A* - usb:v058B* - ID_VENDOR_FROM_DATABASE=Infineon Technologies - -+usb:v058Bp0015* -+ ID_MODEL_FROM_DATABASE=Flash Loader utility -+ - usb:v058Bp001C* - ID_MODEL_FROM_DATABASE=Flash Drive - -+usb:v058Bp0041* -+ ID_MODEL_FROM_DATABASE=Flash Loader utility -+ - usb:v058C* - ID_VENDOR_FROM_DATABASE=In Focus Systems - -@@ -18855,7 +19101,7 @@ usb:v058Fp6366* - ID_MODEL_FROM_DATABASE=Multi Flash Reader - - usb:v058Fp6377* -- ID_MODEL_FROM_DATABASE=Multimedia Card Reader -+ ID_MODEL_FROM_DATABASE=AU6375 4-LUN card reader - - usb:v058Fp6386* - ID_MODEL_FROM_DATABASE=Memory Card -@@ -18926,12 +19172,18 @@ usb:v058Fp9510* - usb:v058Fp9520* - ID_MODEL_FROM_DATABASE=EMV Certified Smart Card Reader - -+usb:v058Fp9540* -+ ID_MODEL_FROM_DATABASE=AU9540 Smartcard Reader -+ - usb:v058Fp9720* - ID_MODEL_FROM_DATABASE=USB-Serial Adapter - - usb:v058FpA014* - ID_MODEL_FROM_DATABASE=Asus Integrated Webcam - -+usb:v058FpB002* -+ ID_MODEL_FROM_DATABASE=Acer Integrated Webcam -+ - usb:v0590* - ID_VENDOR_FROM_DATABASE=Omron Corp. - -@@ -18983,6 +19235,9 @@ usb:v0596p0002* - usb:v0596p0500* - ID_MODEL_FROM_DATABASE=PCT Multitouch HID Controller - -+usb:v0596p0543* -+ ID_MODEL_FROM_DATABASE=DELL XPS touchscreen -+ - usb:v0597* - ID_VENDOR_FROM_DATABASE=Trisignal Communications - -@@ -19055,6 +19310,9 @@ usb:v059Bp0061* - usb:v059Bp006D* - ID_MODEL_FROM_DATABASE=HipZip MP3 Player - -+usb:v059Bp0070* -+ ID_MODEL_FROM_DATABASE=eGo Portable Hard Drive -+ - usb:v059Bp007C* - ID_MODEL_FROM_DATABASE=Ultra Max USB/1394 - -@@ -19163,9 +19421,15 @@ usb:v059Fp0323* - usb:v059Fp0421* - ID_MODEL_FROM_DATABASE=Big Disk G465 - -+usb:v059Fp0525* -+ ID_MODEL_FROM_DATABASE=BigDisk Extreme 500 -+ - usb:v059Fp0641* - ID_MODEL_FROM_DATABASE=Mobile Hard Drive - -+usb:v059Fp0829* -+ ID_MODEL_FROM_DATABASE=BigDisk Extreme+ -+ - usb:v059Fp100C* - ID_MODEL_FROM_DATABASE=Rugged Triple Interface Mobile Hard Drive - -@@ -19190,6 +19454,9 @@ usb:v059Fp1049* - usb:v059Fp1052* - ID_MODEL_FROM_DATABASE=P'9220 Mobile Drive - -+usb:v059Fp1064* -+ ID_MODEL_FROM_DATABASE=Rugged 16 and 32 GB -+ - usb:v059FpA601* - ID_MODEL_FROM_DATABASE=HardDrive - -@@ -19464,7 +19731,7 @@ usb:v05ACp0225* - ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS) - - usb:v05ACp0229* -- ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ANSI) -+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI) - - usb:v05ACp022A* - ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ISO) -@@ -19545,7 +19812,7 @@ usb:v05ACp0302* - ID_MODEL_FROM_DATABASE=Optical Mouse [Fujitsu] - - usb:v05ACp0304* -- ID_MODEL_FROM_DATABASE=Optical USB Mouse [Mitsumi] -+ ID_MODEL_FROM_DATABASE=Mighty Mouse [Mitsumi, M1152] - - usb:v05ACp0306* - ID_MODEL_FROM_DATABASE=Optical USB Mouse [Fujitsu] -@@ -19577,6 +19844,9 @@ usb:v05ACp1003* - usb:v05ACp1006* - ID_MODEL_FROM_DATABASE=Hub in Aluminum Keyboard - -+usb:v05ACp1008* -+ ID_MODEL_FROM_DATABASE=Mini DisplayPort to Dual-Link DVI Adapter -+ - usb:v05ACp1101* - ID_MODEL_FROM_DATABASE=Speakers - -@@ -19670,6 +19940,9 @@ usb:v05ACp1265* - usb:v05ACp1266* - ID_MODEL_FROM_DATABASE=iPod Nano 6.Gen - -+usb:v05ACp1267* -+ ID_MODEL_FROM_DATABASE=iPod Nano 7.Gen -+ - usb:v05ACp1281* - ID_MODEL_FROM_DATABASE=Apple Mobile Device [Recovery Mode] - -@@ -19700,6 +19973,9 @@ usb:v05ACp1299* - usb:v05ACp129A* - ID_MODEL_FROM_DATABASE=iPad - -+usb:v05ACp129C* -+ ID_MODEL_FROM_DATABASE=iPhone 4(CDMA) -+ - usb:v05ACp129E* - ID_MODEL_FROM_DATABASE=iPod Touch 4.Gen - -@@ -19712,15 +19988,30 @@ usb:v05ACp12A0* - usb:v05ACp12A2* - ID_MODEL_FROM_DATABASE=iPad 2 (3G; 64GB) - -+usb:v05ACp12A3* -+ ID_MODEL_FROM_DATABASE=iPad 2 (CDMA) -+ -+usb:v05ACp12A4* -+ ID_MODEL_FROM_DATABASE=iPad 3 (wifi) -+ -+usb:v05ACp12A5* -+ ID_MODEL_FROM_DATABASE=iPad 3 (CDMA) -+ - usb:v05ACp12A6* - ID_MODEL_FROM_DATABASE=iPad 3 (3G, 16 GB) - -+usb:v05ACp12A8* -+ ID_MODEL_FROM_DATABASE=iPhone5/5C/5S -+ - usb:v05ACp12A9* - ID_MODEL_FROM_DATABASE=iPad 2 - - usb:v05ACp12AA* - ID_MODEL_FROM_DATABASE=iPod Touch 5.Gen [A1421] - -+usb:v05ACp12AB* -+ ID_MODEL_FROM_DATABASE=iPad 4 (WiFi, 32GB) -+ - usb:v05ACp1300* - ID_MODEL_FROM_DATABASE=iPod Shuffle - -@@ -19742,6 +20033,15 @@ usb:v05ACp1402* - usb:v05ACp1500* - ID_MODEL_FROM_DATABASE=SuperDrive [A1379] - -+usb:v05ACp8005* -+ ID_MODEL_FROM_DATABASE=OHCI Root Hub Simulation -+ -+usb:v05ACp8006* -+ ID_MODEL_FROM_DATABASE=EHCI Root Hub Simulation -+ -+usb:v05ACp8007* -+ ID_MODEL_FROM_DATABASE=XHCI Root Hub USB 2.0 Simulation -+ - usb:v05ACp8202* - ID_MODEL_FROM_DATABASE=HCF V.90 Data/Fax Modem - -@@ -19838,6 +20138,9 @@ usb:v05ACp8510* - usb:v05ACp911C* - ID_MODEL_FROM_DATABASE=Hub in A1082 [Cinema HD Display 23"] - -+usb:v05ACp9127* -+ ID_MODEL_FROM_DATABASE=Hub in Thunderbolt Display -+ - usb:v05ACp912F* - ID_MODEL_FROM_DATABASE=Hub in 30" Cinema Display - -@@ -20042,6 +20345,9 @@ usb:v05C6p9202* - usb:v05C6p9203* - ID_MODEL_FROM_DATABASE=Gobi Wireless Modem - -+usb:v05C6p9205* -+ ID_MODEL_FROM_DATABASE=Gobi 2000 -+ - usb:v05C6p9211* - ID_MODEL_FROM_DATABASE=Acer Gobi Wireless Modem (QDL mode) - -@@ -20123,9 +20429,18 @@ usb:v05C8p021A* - usb:v05C8p0318* - ID_MODEL_FROM_DATABASE=Webcam - -+usb:v05C8p0361* -+ ID_MODEL_FROM_DATABASE=SunplusIT INC. HP Truevision HD Webcam -+ -+usb:v05C8p036E* -+ ID_MODEL_FROM_DATABASE=Webcam -+ - usb:v05C8p0403* - ID_MODEL_FROM_DATABASE=Webcam - -+usb:v05C8p041B* -+ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam -+ - usb:v05C9* - ID_VENDOR_FROM_DATABASE=Semtech Corp. - -@@ -20861,6 +21176,9 @@ usb:v05DCp4D12* - usb:v05DCp4D30* - ID_MODEL_FROM_DATABASE=MP3 Player - -+usb:v05DCpA209* -+ ID_MODEL_FROM_DATABASE=JumpDrive S70 -+ - usb:v05DCpA300* - ID_MODEL_FROM_DATABASE=JumpDrive2 - -@@ -20921,6 +21239,9 @@ usb:v05DCpA701* - usb:v05DCpA731* - ID_MODEL_FROM_DATABASE=JumpDrive FireFly - -+usb:v05DCpA768* -+ ID_MODEL_FROM_DATABASE=JumpDrive Retrax -+ - usb:v05DCpA790* - ID_MODEL_FROM_DATABASE=JumpDrive 2GB - -@@ -20930,6 +21251,9 @@ usb:v05DCpA811* - usb:v05DCpA813* - ID_MODEL_FROM_DATABASE=16gB flash thumb drive - -+usb:v05DCpA815* -+ ID_MODEL_FROM_DATABASE=JumpDrive V10 -+ - usb:v05DCpB002* - ID_MODEL_FROM_DATABASE=USB CF Reader - -@@ -20939,6 +21263,9 @@ usb:v05DCpB018* - usb:v05DCpB047* - ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000] - -+usb:v05DCpBA02* -+ ID_MODEL_FROM_DATABASE=Workflow CFR1 -+ - usb:v05DCpC753* - ID_MODEL_FROM_DATABASE=JumpDrive TwistTurn - -@@ -21084,7 +21411,7 @@ usb:v05E3p0607* - ID_MODEL_FROM_DATABASE=Logitech G110 Hub - - usb:v05E3p0608* -- ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB -+ ID_MODEL_FROM_DATABASE=Hub - - usb:v05E3p0610* - ID_MODEL_FROM_DATABASE=4-port hub -@@ -21158,6 +21485,9 @@ usb:v05E3p0718* - usb:v05E3p0719* - ID_MODEL_FROM_DATABASE=SATA adapter - -+usb:v05E3p0722* -+ ID_MODEL_FROM_DATABASE=SD/MMC card reader -+ - usb:v05E3p0723* - ID_MODEL_FROM_DATABASE=GL827L SD/MMC/MS Flash Card Reader - -@@ -21170,9 +21500,18 @@ usb:v05E3p0727* - usb:v05E3p0731* - ID_MODEL_FROM_DATABASE=GL3310 SATA 3Gb/s Bridge Controller - -+usb:v05E3p0732* -+ ID_MODEL_FROM_DATABASE=All-in-One Cardreader -+ - usb:v05E3p0736* - ID_MODEL_FROM_DATABASE=microSD Reader/Writer - -+usb:v05E3p0741* -+ ID_MODEL_FROM_DATABASE=microSD Card Reader -+ -+usb:v05E3p0743* -+ ID_MODEL_FROM_DATABASE=SDXC and microSDXC CardReader -+ - usb:v05E3p0760* - ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader/Writer - -@@ -21296,6 +21635,9 @@ usb:v05F3p0081* - usb:v05F3p00FF* - ID_MODEL_FROM_DATABASE=VEC Footpedal - -+usb:v05F3p0203* -+ ID_MODEL_FROM_DATABASE=Y-mouse Keyboard & Mouse Adapter -+ - usb:v05F3p020B* - ID_MODEL_FROM_DATABASE=PS2 Adapter - -@@ -21410,6 +21752,9 @@ usb:v05FEp0014* - usb:v05FEp1010* - ID_MODEL_FROM_DATABASE=Optical Wireless - -+usb:v05FEp2001* -+ ID_MODEL_FROM_DATABASE=Microsoft Wireless Receiver 700 -+ - usb:v05FF* - ID_VENDOR_FROM_DATABASE=LeCroy Corp. - -@@ -21434,6 +21779,9 @@ usb:v0603* - usb:v0603p00F1* - ID_MODEL_FROM_DATABASE=Keyboard - -+usb:v0603p00F2* -+ ID_MODEL_FROM_DATABASE=Keyboard (Labtec Ultra Flat Keyboard) -+ - usb:v0603p6871* - ID_MODEL_FROM_DATABASE=Mouse - -@@ -21491,6 +21839,9 @@ usb:v060Bp2231* - usb:v060Bp2270* - ID_MODEL_FROM_DATABASE=Gigabyte K8100 Aivia Gaming Keyboard - -+usb:v060Bp5253* -+ ID_MODEL_FROM_DATABASE=Thermaltake MEKA G-Unit Gaming Keyboard -+ - usb:v060Bp5811* - ID_MODEL_FROM_DATABASE=ACK-571U Wireless Keyboard - -@@ -21911,6 +22262,9 @@ usb:v064EpA110* - usb:v064EpA114* - ID_MODEL_FROM_DATABASE=Lemote Webcam - -+usb:v064EpA116* -+ ID_MODEL_FROM_DATABASE=UVC 1.3MPixel WebCam -+ - usb:v064EpA136* - ID_MODEL_FROM_DATABASE=Asus Integrated Webcam [CN031B] - -@@ -22893,7 +23247,7 @@ usb:v068Ep00F4* - ID_MODEL_FROM_DATABASE=Combatstick - - usb:v068Ep00FA* -- ID_MODEL_FROM_DATABASE=Flight Sim Pedals -+ ID_MODEL_FROM_DATABASE=Ch Throttle Quadrant - - usb:v068Ep00FF* - ID_MODEL_FROM_DATABASE=Flight Sim Yoke -@@ -22955,6 +23309,9 @@ usb:v0698p9999* - usb:v0699* - ID_VENDOR_FROM_DATABASE=Tektronix, Inc. - -+usb:v0699p0347* -+ ID_MODEL_FROM_DATABASE=AFG 3022B -+ - usb:v069A* - ID_VENDOR_FROM_DATABASE=Askey Computer Corp. - -@@ -23486,6 +23843,9 @@ usb:v06C2* - usb:v06C2p0030* - ID_MODEL_FROM_DATABASE=PhidgetRFID - -+usb:v06C2p0031* -+ ID_MODEL_FROM_DATABASE=RFID reader -+ - usb:v06C2p0038* - ID_MODEL_FROM_DATABASE=4-Motor PhidgetServo v3.0 - -@@ -23789,6 +24149,12 @@ usb:v06D3p0394* - usb:v06D3p03A1* - ID_MODEL_FROM_DATABASE=CP9550D/DW Port - -+usb:v06D3p3B30* -+ ID_MODEL_FROM_DATABASE=CP-D70DW / CP-D707DW -+ -+usb:v06D3p3B31* -+ ID_MODEL_FROM_DATABASE=CP-K60DW-S -+ - usb:v06D4* - ID_VENDOR_FROM_DATABASE=Cisco Systems - -@@ -24575,6 +24941,9 @@ usb:v072Fp1000* - usb:v072Fp1001* - ID_MODEL_FROM_DATABASE=PLDT Drive - -+usb:v072Fp2200* -+ ID_MODEL_FROM_DATABASE=ACR122U -+ - usb:v072Fp8002* - ID_MODEL_FROM_DATABASE=AET63 BioTRUSTKey - -@@ -25046,6 +25415,12 @@ usb:v0765* - usb:v0765p5001* - ID_MODEL_FROM_DATABASE=Huey PRO Colorimeter - -+usb:v0765p5020* -+ ID_MODEL_FROM_DATABASE=i1 Display Pro -+ -+usb:v0765p6003* -+ ID_MODEL_FROM_DATABASE=ColorMunki Smile -+ - usb:v0765pD094* - ID_MODEL_FROM_DATABASE=X-Rite DTP94 [Quato Silver Haze Pro] - -@@ -25325,12 +25700,24 @@ usb:v0781p5530* - usb:v0781p5567* - ID_MODEL_FROM_DATABASE=Cruzer Blade - -+usb:v0781p556C* -+ ID_MODEL_FROM_DATABASE=Ultra -+ -+usb:v0781p556D* -+ ID_MODEL_FROM_DATABASE=Memory Vault -+ - usb:v0781p5571* - ID_MODEL_FROM_DATABASE=Cruzer Fit - -+usb:v0781p5576* -+ ID_MODEL_FROM_DATABASE=Cruzer Facet -+ - usb:v0781p5580* - ID_MODEL_FROM_DATABASE=SDCZ80 Flash Drive - -+usb:v0781p5581* -+ ID_MODEL_FROM_DATABASE=Ultra -+ - usb:v0781p5E10* - ID_MODEL_FROM_DATABASE=Encrypted - -@@ -25830,7 +26217,7 @@ usb:v07AAp001A* - ID_MODEL_FROM_DATABASE=ULUSB-11 Key - - usb:v07AAp001C* -- ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] -+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] - - usb:v07AAp002E* - ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] -@@ -26114,6 +26501,9 @@ usb:v07B4p0114* - usb:v07B4p0118* - ID_MODEL_FROM_DATABASE=Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW - -+usb:v07B4p0125* -+ ID_MODEL_FROM_DATABASE=Tough TG-1 Camera -+ - usb:v07B4p0184* - ID_MODEL_FROM_DATABASE=P-S100 port - -@@ -26441,6 +26831,9 @@ usb:v07C4pA400* - usb:v07C4pA600* - ID_MODEL_FROM_DATABASE=Card Reader - -+usb:v07C4pA604* -+ ID_MODEL_FROM_DATABASE=12-in-1 Card Reader -+ - usb:v07C4pAD01* - ID_MODEL_FROM_DATABASE=Mass Storage Device - -@@ -26474,6 +26867,9 @@ usb:v07C4pC010* - usb:v07C5* - ID_VENDOR_FROM_DATABASE=APG Cash Drawer - -+usb:v07C5p0500* -+ ID_MODEL_FROM_DATABASE=Cash Drawer -+ - usb:v07C6* - ID_VENDOR_FROM_DATABASE=ShareWave, Inc. - -@@ -27140,6 +27536,9 @@ usb:v0803* - usb:v0803p1300* - ID_MODEL_FROM_DATABASE=V92 Faxmodem - -+usb:v0803p3095* -+ ID_MODEL_FROM_DATABASE=V.92 56K Mini External Modem Model 3095 -+ - usb:v0803p4310* - ID_MODEL_FROM_DATABASE=4410a Wireless-G Adapter [Intersil ISL3887] - -@@ -27713,6 +28112,9 @@ usb:v0846p9018* - usb:v0846p9020* - ID_MODEL_FROM_DATABASE=WNA3100(v1) Wireless-N 300 [Broadcom BCM43231] - -+usb:v0846p9021* -+ ID_MODEL_FROM_DATABASE=WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU] -+ - usb:v0846p9030* - ID_MODEL_FROM_DATABASE=WNA1100 Wireless-N 150 [Atheros AR9271] - -@@ -27722,9 +28124,21 @@ usb:v0846p9040* - usb:v0846p9041* - ID_MODEL_FROM_DATABASE=WNA1000M 802.11bgn [Realtek RTL8188CUS] - -+usb:v0846p9042* -+ ID_MODEL_FROM_DATABASE=On Networks N150MA 802.11bgn [Realtek RTL8188CUS] -+ -+usb:v0846p9050* -+ ID_MODEL_FROM_DATABASE=A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] -+ -+usb:v0846p9052* -+ ID_MODEL_FROM_DATABASE=A6100 AC600 DB Wireless Adapter [Realtek RTL8811AU] -+ - usb:v0846pA001* - ID_MODEL_FROM_DATABASE=PA101 10 Mbps HPNA Home Phoneline RJ-1 - -+usb:v0846pF001* -+ ID_MODEL_FROM_DATABASE=On Networks N300MA 802.11bgn [Realtek RTL8192CU] -+ - usb:v084D* - ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co., Inc. - -@@ -27875,8 +28289,17 @@ usb:v085Ap8027* - usb:v085C* - ID_VENDOR_FROM_DATABASE=ColorVision, Inc. - -+usb:v085Cp0100* -+ ID_MODEL_FROM_DATABASE=Spyder 1 -+ - usb:v085Cp0200* -- ID_MODEL_FROM_DATABASE=Monitor Spyder -+ ID_MODEL_FROM_DATABASE=Spyder 2 -+ -+usb:v085Cp0300* -+ ID_MODEL_FROM_DATABASE=Spyder 3 -+ -+usb:v085Cp0400* -+ ID_MODEL_FROM_DATABASE=Spyder 4 - - usb:v0862* - ID_VENDOR_FROM_DATABASE=Teletrol Systems, Inc. -@@ -28127,6 +28550,12 @@ usb:v0892* - usb:v0892p0101* - ID_MODEL_FROM_DATABASE=Smartdio Reader/Writer - -+usb:v0894* -+ ID_VENDOR_FROM_DATABASE=TSI Incorporated -+ -+usb:v0894p0010* -+ ID_MODEL_FROM_DATABASE=Remote NDIS Network Device -+ - usb:v0897* - ID_VENDOR_FROM_DATABASE=Lauterbach - -@@ -28181,6 +28610,18 @@ usb:v08A9p0015* - usb:v08AE* - ID_VENDOR_FROM_DATABASE=Macally (Mace Group, Inc.) - -+usb:v08B0* -+ ID_VENDOR_FROM_DATABASE=Metrohm -+ -+usb:v08B0p0006* -+ ID_MODEL_FROM_DATABASE=814 Sample Processor -+ -+usb:v08B0p0015* -+ ID_MODEL_FROM_DATABASE=857 Titrando -+ -+usb:v08B0p001A* -+ ID_MODEL_FROM_DATABASE=852 Titrando -+ - usb:v08B4* - ID_VENDOR_FROM_DATABASE=Sorenson Vision, Inc. - -@@ -29036,6 +29477,12 @@ usb:v0906* - usb:v0908* - ID_VENDOR_FROM_DATABASE=Siemens AG - -+usb:v0908p01F4* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5711 -+ -+usb:v0908p01FE* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET PC Adapter A2 -+ - usb:v0908p2701* - ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA - -@@ -29285,12 +29732,18 @@ usb:v091Ep23CC* - usb:v091Ep2459* - ID_MODEL_FROM_DATABASE=GPSmap 62/78 series - -+usb:v091Ep2491* -+ ID_MODEL_FROM_DATABASE=Edge 800 -+ - usb:v091Ep2519* - ID_MODEL_FROM_DATABASE=eTrex 30 - - usb:v091Ep2535* - ID_MODEL_FROM_DATABASE=Edge 800 - -+usb:v091Ep253C* -+ ID_MODEL_FROM_DATABASE=GPSmap 62sc -+ - usb:v091Ep255B* - ID_MODEL_FROM_DATABASE=Nuvi 2505LM - -@@ -29315,12 +29768,18 @@ usb:v0922p0007* - usb:v0922p0009* - ID_MODEL_FROM_DATABASE=LabelWriter 310 - -+usb:v0922p0019* -+ ID_MODEL_FROM_DATABASE=LabelWriter 400 -+ - usb:v0922p001A* - ID_MODEL_FROM_DATABASE=LabelWriter 400 Turbo - - usb:v0922p0020* - ID_MODEL_FROM_DATABASE=LabelWriter 450 - -+usb:v0922p1001* -+ ID_MODEL_FROM_DATABASE=LabelManager PnP -+ - usb:v0923* - ID_VENDOR_FROM_DATABASE=IC Media Corp. - -@@ -29363,6 +29822,9 @@ usb:v0925* - usb:v0925p0005* - ID_MODEL_FROM_DATABASE=Gamtec.,Ltd SmartJoy PLUS Adapter - -+usb:v0925p03E8* -+ ID_MODEL_FROM_DATABASE=Wii Classic Controller Adapter -+ - usb:v0925p3881* - ID_MODEL_FROM_DATABASE=Saleae Logic - -@@ -29417,6 +29879,9 @@ usb:v0930p000C* - usb:v0930p0010* - ID_MODEL_FROM_DATABASE=Gigabeat S (mtp) - -+usb:v0930p0200* -+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth (Taiyo Yuden) -+ - usb:v0930p0301* - ID_MODEL_FROM_DATABASE=PCX1100U Cable Modem (WDM) - -@@ -29483,6 +29948,9 @@ usb:v0930p070B* - usb:v0930p0A07* - ID_MODEL_FROM_DATABASE=WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572] - -+usb:v0930p0A13* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Toshiba] -+ - usb:v0930p0B05* - ID_MODEL_FROM_DATABASE=PX1220E-1G25 External hard drive - -@@ -29691,7 +30159,7 @@ usb:v0939* - ID_VENDOR_FROM_DATABASE=Lumberg, Inc. - - usb:v0939p0B15* -- ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0) -+ ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 - - usb:v093A* - ID_VENDOR_FROM_DATABASE=Pixart Imaging, Inc. -@@ -29753,6 +30221,9 @@ usb:v093Ap260F* - usb:v093Ap2621* - ID_MODEL_FROM_DATABASE=PAC731x Trust Webcam - -+usb:v093Ap2622* -+ ID_MODEL_FROM_DATABASE=Webcam Genius -+ - usb:v093Ap2624* - ID_MODEL_FROM_DATABASE=Webcam - -@@ -29951,6 +30422,9 @@ usb:v0951p1653* - usb:v0951p1656* - ID_MODEL_FROM_DATABASE=DataTraveler Ultimate G2 - -+usb:v0951p1665* -+ ID_MODEL_FROM_DATABASE=Digital DataTraveler SE9 64GB -+ - usb:v0951p1689* - ID_MODEL_FROM_DATABASE=DataTraveler SE9 - -@@ -29993,6 +30467,9 @@ usb:v0957p0200* - usb:v0957p0202* - ID_MODEL_FROM_DATABASE=E-Video DC-350 Camera - -+usb:v0957p0407* -+ ID_MODEL_FROM_DATABASE=33220A Waveform Generator -+ - usb:v0957p0518* - ID_MODEL_FROM_DATABASE=82357B GPIB Interface - -@@ -30033,7 +30510,7 @@ usb:v095Dp0001* - ID_MODEL_FROM_DATABASE=Polycom ViaVideo - - usb:v0967* -- ID_VENDOR_FROM_DATABASE=Acer (??) -+ ID_VENDOR_FROM_DATABASE=Acer NeWeb Corp. - - usb:v0967p0204* - ID_MODEL_FROM_DATABASE=WarpLink 802.11b Adapter -@@ -30056,6 +30533,12 @@ usb:v096Ep0807* - usb:v0971* - ID_VENDOR_FROM_DATABASE=Gretag-Macbeth AG - -+usb:v0971p2000* -+ ID_MODEL_FROM_DATABASE=i1 Pro -+ -+usb:v0971p2001* -+ ID_MODEL_FROM_DATABASE=i1 Monitor -+ - usb:v0971p2003* - ID_MODEL_FROM_DATABASE=Eye-One display - -@@ -30063,7 +30546,7 @@ usb:v0971p2005* - ID_MODEL_FROM_DATABASE=Huey - - usb:v0971p2007* -- ID_MODEL_FROM_DATABASE=ColorMunki -+ ID_MODEL_FROM_DATABASE=ColorMunki Photo - - usb:v0973* - ID_VENDOR_FROM_DATABASE=Schlumberger -@@ -30182,6 +30665,9 @@ usb:v099Ap0638* - usb:v099Ap610C* - ID_MODEL_FROM_DATABASE=EL-610 Super Mini Electron luminescent Keyboard - -+usb:v099Ap713A* -+ ID_MODEL_FROM_DATABASE=WK-713 Multimedia Keyboard -+ - usb:v099Ap7160* - ID_MODEL_FROM_DATABASE=Hyper Slim Keyboard - -@@ -30375,7 +30861,10 @@ usb:v09D3* - ID_VENDOR_FROM_DATABASE=Com One - - usb:v09D3p0001* -- ID_MODEL_FROM_DATABASE=ISDN TA -+ ID_MODEL_FROM_DATABASE=ISDN TA / Light Rider 128K -+ -+usb:v09D3p000B* -+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter class 1 [BlueLight] - - usb:v09D7* - ID_VENDOR_FROM_DATABASE=Novatel Wireless -@@ -30596,6 +31085,12 @@ usb:v0A07p00DA* - usb:v0A0B* - ID_VENDOR_FROM_DATABASE=Cybex Computer Products Co. - -+usb:v0A0D* -+ ID_VENDOR_FROM_DATABASE=Servergy, Inc -+ -+usb:v0A0Dp2514* -+ ID_MODEL_FROM_DATABASE=CTS-1000 Internal Hub -+ - usb:v0A11* - ID_VENDOR_FROM_DATABASE=Xentec, Inc. - -@@ -30887,6 +31382,9 @@ usb:v0A48p5024* - usb:v0A48p5025* - ID_MODEL_FROM_DATABASE=Mass Storage Device - -+usb:v0A4A* -+ ID_VENDOR_FROM_DATABASE=Ploytec GmbH -+ - usb:v0A4B* - ID_VENDOR_FROM_DATABASE=Fujitsu Media Devices, Ltd - -@@ -31217,6 +31715,9 @@ usb:v0A5CpBD11* - usb:v0A5CpBD13* - ID_MODEL_FROM_DATABASE=BCM4323 802.11abgn Wireless Adapter - -+usb:v0A5CpBD16* -+ ID_MODEL_FROM_DATABASE=BCM4319 802.11bgn Wireless Adapter -+ - usb:v0A5CpBD17* - ID_MODEL_FROM_DATABASE=BCM43236 802.11abgn Wireless Adapter - -@@ -31775,6 +32276,9 @@ usb:v0AC8pC33F* - usb:v0AC8pC429* - ID_MODEL_FROM_DATABASE=Lenovo ThinkCentre Web Camera - -+usb:v0AC8pC42D* -+ ID_MODEL_FROM_DATABASE=Lenovo IdeaCentre Web Camera -+ - usb:v0AC9* - ID_VENDOR_FROM_DATABASE=Micro Solutions, Inc. - -@@ -31823,6 +32327,9 @@ usb:v0ACDp0630* - usb:v0ACDp0810* - ID_MODEL_FROM_DATABASE=SecurePIN (IDPA-506100Y) PIN Pad - -+usb:v0ACDp2030* -+ ID_MODEL_FROM_DATABASE=ValueMag Magnetic Stripe Reader -+ - usb:v0ACE* - ID_VENDOR_FROM_DATABASE=ZyDAS - -@@ -32024,6 +32531,12 @@ usb:v0AF9p0010* - usb:v0AF9p0011* - ID_MODEL_FROM_DATABASE=Micro Innovations IC50C Webcam - -+usb:v0AFA* -+ ID_VENDOR_FROM_DATABASE=DMC Co., Ltd. -+ -+usb:v0AFAp07D2* -+ ID_MODEL_FROM_DATABASE=Controller Board for Projected Capacitive Touch Screen DUS3000 -+ - usb:v0AFC* - ID_VENDOR_FROM_DATABASE=Zaptronix Ltd - -@@ -32042,6 +32555,9 @@ usb:v0B00* - usb:v0B05* - ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. - -+usb:v0B05p0001* -+ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (CD-ROM mode) -+ - usb:v0B05p1101* - ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC4S) - -@@ -32147,6 +32663,9 @@ usb:v0B05p1784* - usb:v0B05p1786* - ID_MODEL_FROM_DATABASE=USB-N10 802.11n Network Adapter [Realtek RTL8188SU] - -+usb:v0B05p1788* -+ ID_MODEL_FROM_DATABASE=BT-270 Bluetooth Adapter -+ - usb:v0B05p1791* - ID_MODEL_FROM_DATABASE=WL-167G v3 802.11n Adapter [Realtek RTL8188SU] - -@@ -32159,12 +32678,18 @@ usb:v0B05p179E* - usb:v0B05p179F* - ID_MODEL_FROM_DATABASE=Eee Note EA800 (tablet mode) - -+usb:v0B05p17A0* -+ ID_MODEL_FROM_DATABASE=Xonar U3 sound card -+ - usb:v0B05p17A1* - ID_MODEL_FROM_DATABASE=Eee Note EA800 (mass storage mode) - - usb:v0B05p17AB* - ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] - -+usb:v0B05p17C9* -+ ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] -+ - usb:v0B05p4C80* - ID_MODEL_FROM_DATABASE=Transformer Pad TF300TG - -@@ -32183,6 +32708,12 @@ usb:v0B05p4D01* - usb:v0B05p4DAF* - ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700 (Fastboot) - -+usb:v0B05p5410* -+ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (MTP mode) -+ -+usb:v0B05p5412* -+ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) -+ - usb:v0B05p6101* - ID_MODEL_FROM_DATABASE=Cable Modem - -@@ -32228,9 +32759,15 @@ usb:v0B0E* - usb:v0B0Ep0420* - ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 - -+usb:v0B0Ep094D* -+ ID_MODEL_FROM_DATABASE=GN Netcom / Jabra REVO Wireless -+ - usb:v0B0Ep1022* - ID_MODEL_FROM_DATABASE=Jabra PRO 9450, Type 9400BS (DECT Headset) - -+usb:v0B0Ep2007* -+ ID_MODEL_FROM_DATABASE=GN 2000 Stereo Corded Headset -+ - usb:v0B0Ep620C* - ID_MODEL_FROM_DATABASE=Jabra BT620s - -@@ -32291,6 +32828,9 @@ usb:v0B33* - usb:v0B33p0020* - ID_MODEL_FROM_DATABASE=ShuttleXpress - -+usb:v0B33p0700* -+ ID_MODEL_FROM_DATABASE=RollerMouse Pro -+ - usb:v0B37* - ID_VENDOR_FROM_DATABASE=Hitachi ULSI Systems Co., Ltd - -@@ -32687,6 +33227,9 @@ usb:v0B95p1720* - usb:v0B95p1780* - ID_MODEL_FROM_DATABASE=AX88178 - -+usb:v0B95p1790* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet -+ - usb:v0B95p7720* - ID_MODEL_FROM_DATABASE=AX88772 - -@@ -32786,6 +33329,9 @@ usb:v0BAFp011B* - usb:v0BAFp0121* - ID_MODEL_FROM_DATABASE=USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B] - -+usb:v0BAFp0303* -+ ID_MODEL_FROM_DATABASE=USR5637 56K Faxmodem -+ - usb:v0BAFp6112* - ID_MODEL_FROM_DATABASE=FaxModem Model 5633 - -@@ -33332,6 +33878,9 @@ usb:v0BB4p0C01* - usb:v0BB4p0C02* - ID_MODEL_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo (Debug) - -+usb:v0BB4p0C03* -+ ID_MODEL_FROM_DATABASE=Android Phone [Fairphone First Edition (FP1)] -+ - usb:v0BB4p0C13* - ID_MODEL_FROM_DATABASE=Diamond - -@@ -33371,6 +33920,12 @@ usb:v0BB4p0CA2* - usb:v0BB4p0CA5* - ID_MODEL_FROM_DATABASE=Android Phone [Evo Shift 4G] - -+usb:v0BB4p0CAE* -+ ID_MODEL_FROM_DATABASE=T-Mobile MyTouch 4G Slide [Doubleshot] -+ -+usb:v0BB4p0DEA* -+ ID_MODEL_FROM_DATABASE=M7_UL [HTC One] -+ - usb:v0BB4p0FF8* - ID_MODEL_FROM_DATABASE=Desire HD (Tethering Mode) - -@@ -33443,18 +33998,33 @@ usb:v0BC2p2320* - usb:v0BC2p3008* - ID_MODEL_FROM_DATABASE=FreeAgent Desk 1TB - -+usb:v0BC2p3101* -+ ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB -+ -+usb:v0BC2p3312* -+ ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] -+ - usb:v0BC2p3320* - ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] - - usb:v0BC2p3332* - ID_MODEL_FROM_DATABASE=Expansion - -+usb:v0BC2p5020* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex -+ - usb:v0BC2p5021* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 2.0 - -+usb:v0BC2p5030* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Upgrade Cable STAE104 -+ - usb:v0BC2p5031* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 3.0 - -+usb:v0BC2p5070* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk -+ - usb:v0BC2p50A1* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk - -@@ -33476,6 +34046,9 @@ usb:v0BC2pA0A1* - usb:v0BC2pA0A4* - ID_MODEL_FROM_DATABASE=Backup Plus Desktop Drive - -+usb:v0BC2pAB00* -+ ID_MODEL_FROM_DATABASE=Slim Portable Drive -+ - usb:v0BC3* - ID_VENDOR_FROM_DATABASE=IPWireless, Inc. - -@@ -33650,6 +34223,12 @@ usb:v0BDAp0184* - usb:v0BDAp0186* - ID_MODEL_FROM_DATABASE=Card Reader - -+usb:v0BDAp0301* -+ ID_MODEL_FROM_DATABASE=multicard reader -+ -+usb:v0BDAp1724* -+ ID_MODEL_FROM_DATABASE=RTL8723AU 802.11n WLAN Adapter -+ - usb:v0BDAp2831* - ID_MODEL_FROM_DATABASE=RTL2831U DVB-T - -@@ -33707,6 +34286,9 @@ usb:v0BDAp8198* - usb:v0BDAp8199* - ID_MODEL_FROM_DATABASE=RTL8187SU 802.11g WLAN Adapter - -+usb:v0BDAp8812* -+ ID_MODEL_FROM_DATABASE=RTL8812AU 802.11a/b/g/n/ac WLAN Adapter -+ - usb:v0BDB* - ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV - -@@ -34038,7 +34620,7 @@ usb:v0C24p0019* - ID_MODEL_FROM_DATABASE=Bluetooth Device - - usb:v0C24p0021* -- ID_MODEL_FROM_DATABASE=Bluetooth Device -+ ID_MODEL_FROM_DATABASE=Bluetooth Device (V2.1+EDR) - - usb:v0C24p0C24* - ID_MODEL_FROM_DATABASE=Bluetooth Device(SAMPLE) -@@ -34142,6 +34724,9 @@ usb:v0C45* - usb:v0C45p0011* - ID_MODEL_FROM_DATABASE=EBUDDY - -+usb:v0C45p0520* -+ ID_MODEL_FROM_DATABASE=MaxTrack Wireless Mouse -+ - usb:v0C45p1018* - ID_MODEL_FROM_DATABASE=Compact Flash storage memory card reader - -@@ -34496,9 +35081,15 @@ usb:v0C45p62C0* - usb:v0C45p62E0* - ID_MODEL_FROM_DATABASE=MSI Starcam Racer - -+usb:v0C45p6300* -+ ID_MODEL_FROM_DATABASE=PC Microscope camera -+ - usb:v0C45p6310* - ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera - -+usb:v0C45p6340* -+ ID_MODEL_FROM_DATABASE=Camera -+ - usb:v0C45p6341* - ID_MODEL_FROM_DATABASE=Defender G-Lens 2577 HD720p Camera - -@@ -34526,6 +35117,12 @@ usb:v0C45p6419* - usb:v0C45p641D* - ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam - -+usb:v0C45p643F* -+ ID_MODEL_FROM_DATABASE=Dell Integrated HD Webcam -+ -+usb:v0C45p644D* -+ ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam -+ - usb:v0C45p6480* - ID_MODEL_FROM_DATABASE=Sonix 1.3 MP Laptop Integrated Webcam - -@@ -34535,6 +35132,9 @@ usb:v0C45p648B* - usb:v0C45p64BD* - ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera - -+usb:v0C45p7401* -+ ID_MODEL_FROM_DATABASE=TEMPer Temperature Sensor -+ - usb:v0C45p7402* - ID_MODEL_FROM_DATABASE=TEMPerHUM Temperature & Humidity Sensor - -@@ -35390,6 +35990,9 @@ usb:v0CF3p3000* - usb:v0CF3p3002* - ID_MODEL_FROM_DATABASE=AR3011 Bluetooth - -+usb:v0CF3p3004* -+ ID_MODEL_FROM_DATABASE=AR3012 Bluetooth 4.0 -+ - usb:v0CF3p3005* - ID_MODEL_FROM_DATABASE=AR3011 Bluetooth - -@@ -35564,6 +36167,15 @@ usb:v0D35* - usb:v0D3A* - ID_VENDOR_FROM_DATABASE=Posiflex Technologies, Inc. - -+usb:v0D3Ap0206* -+ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer -+ -+usb:v0D3Ap0207* -+ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer -+ -+usb:v0D3Ap0500* -+ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader -+ - usb:v0D3C* - ID_VENDOR_FROM_DATABASE=Sri Cable Technology, Ltd - -@@ -35573,6 +36185,9 @@ usb:v0D3D* - usb:v0D3Dp0001* - ID_MODEL_FROM_DATABASE=HID Keyboard - -+usb:v0D3Dp0040* -+ ID_MODEL_FROM_DATABASE=PS/2 Adapter -+ - usb:v0D3E* - ID_VENDOR_FROM_DATABASE=Fitcom, inc. - -@@ -35651,6 +36266,9 @@ usb:v0D49p7010* - usb:v0D49p7100* - ID_MODEL_FROM_DATABASE=OneTouch II 300GB External Hard Disk - -+usb:v0D49p7310* -+ ID_MODEL_FROM_DATABASE=OneTouch 4 -+ - usb:v0D49p7410* - ID_MODEL_FROM_DATABASE=Mobile Hard Disk Drive (1TB) - -@@ -35858,6 +36476,9 @@ usb:v0D78* - usb:v0D7A* - ID_VENDOR_FROM_DATABASE=MARX Datentechnik GmbH - -+usb:v0D7Ap0001* -+ ID_MODEL_FROM_DATABASE=CrypToken -+ - usb:v0D7B* - ID_VENDOR_FROM_DATABASE=Wellco Technology Co., Ltd - -@@ -36404,6 +37025,12 @@ usb:v0DB7* - usb:v0DB7p0002* - ID_MODEL_FROM_DATABASE=Goldpfeil P-LAN - -+usb:v0DBA* -+ ID_VENDOR_FROM_DATABASE=Digidesign -+ -+usb:v0DBAp3000* -+ ID_MODEL_FROM_DATABASE=Mbox 2 -+ - usb:v0DBC* - ID_VENDOR_FROM_DATABASE=A&D Medical - -@@ -36776,6 +37403,9 @@ usb:v0DF6p0060* - usb:v0DF6p0062* - ID_MODEL_FROM_DATABASE=WLA-5000 802.11abgn [Ralink RT3572] - -+usb:v0DF6p0072* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Sitecom] -+ - usb:v0DF6p061C* - ID_MODEL_FROM_DATABASE=LN-028 Network USB 2.0 Adapter - -@@ -37253,6 +37883,9 @@ usb:v0E79p14AD* - usb:v0E79p150E* - ID_MODEL_FROM_DATABASE=80 G9 - -+usb:v0E79p3001* -+ ID_MODEL_FROM_DATABASE=40 Titanium -+ - usb:v0E7B* - ID_VENDOR_FROM_DATABASE=On-Tech Industry Co., Ltd - -@@ -37292,9 +37925,15 @@ usb:v0E8Dp1806* - usb:v0E8Dp1836* - ID_MODEL_FROM_DATABASE=Samsung SE-S084 Super WriteMaster Slim External DVD writer - -+usb:v0E8Dp2000* -+ ID_MODEL_FROM_DATABASE=MT65xx Preloader -+ - usb:v0E8Dp3329* - ID_MODEL_FROM_DATABASE=Qstarz BT-Q1000XT - -+usb:v0E8Dp763E* -+ ID_MODEL_FROM_DATABASE=MT7630e Bluetooth Adapter -+ - usb:v0E8F* - ID_VENDOR_FROM_DATABASE=GreenAsia Inc. - -@@ -37302,7 +37941,7 @@ usb:v0E8Fp0003* - ID_MODEL_FROM_DATABASE=MaxFire Blaze2 - - usb:v0E8Fp0012* -- ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Gamepad -+ ID_MODEL_FROM_DATABASE=Joystick/Gamepad - - usb:v0E8Fp0016* - ID_MODEL_FROM_DATABASE=4 port USB 1.1 hub UH-174 -@@ -37436,9 +38075,18 @@ usb:v0EB7* - usb:v0EB8* - ID_VENDOR_FROM_DATABASE=Mettler Toledo - -+usb:v0EB8p2200* -+ ID_MODEL_FROM_DATABASE=Ariva Scale -+ - usb:v0EB8pF000* - ID_MODEL_FROM_DATABASE=PS60 Scale - -+usb:v0EBB* -+ ID_VENDOR_FROM_DATABASE=Thermo Fisher Scientific -+ -+usb:v0EBBp0002* -+ ID_MODEL_FROM_DATABASE=FT-IR Spectrometer -+ - usb:v0EBE* - ID_VENDOR_FROM_DATABASE=VWeb Corp. - -@@ -37559,6 +38207,12 @@ usb:v0EEFp0001* - usb:v0EEFp0002* - ID_MODEL_FROM_DATABASE=Touchscreen Controller(Professional) - -+usb:v0EEFp7200* -+ ID_MODEL_FROM_DATABASE=Touchscreen Controller -+ -+usb:v0EEFpA802* -+ ID_MODEL_FROM_DATABASE=eGalaxTouch EXC7920 -+ - usb:v0EF0* - ID_VENDOR_FROM_DATABASE=Hitachi Cable, Ltd - -@@ -37670,6 +38324,12 @@ usb:v0F12* - usb:v0F13* - ID_VENDOR_FROM_DATABASE=Acetek Technology Co., Ltd - -+usb:v0F14* -+ ID_VENDOR_FROM_DATABASE=Ingenico -+ -+usb:v0F14p0012* -+ ID_MODEL_FROM_DATABASE=Vital'Act 3S -+ - usb:v0F18* - ID_VENDOR_FROM_DATABASE=Finger Lakes Instrumentation - -@@ -37754,6 +38414,12 @@ usb:v0F37* - usb:v0F38* - ID_VENDOR_FROM_DATABASE=Nien-Yi Industrial Corp. - -+usb:v0F39* -+ ID_VENDOR_FROM_DATABASE=TG3 Electronics -+ -+usb:v0F39p0876* -+ ID_MODEL_FROM_DATABASE=Keyboard [87 Francium Pro] -+ - usb:v0F3D* - ID_VENDOR_FROM_DATABASE=Airprime, Incorporated - -@@ -37841,6 +38507,9 @@ usb:v0F63* - usb:v0F63p0010* - ID_MODEL_FROM_DATABASE=Leapster Explorer - -+usb:v0F63p0022* -+ ID_MODEL_FROM_DATABASE=Leap Reader -+ - usb:v0F63p0500* - ID_MODEL_FROM_DATABASE=Fly Fusion - -@@ -37928,6 +38597,9 @@ usb:v0F6Ep0404* - usb:v0F73* - ID_VENDOR_FROM_DATABASE=DFI - -+usb:v0F78* -+ ID_VENDOR_FROM_DATABASE=Guntermann & Drunck GmbH -+ - usb:v0F7C* - ID_VENDOR_FROM_DATABASE=DQ Technology, Inc. - -@@ -38064,7 +38736,7 @@ usb:v0FCAp8001* - ID_MODEL_FROM_DATABASE=Blackberry Handheld - - usb:v0FCAp8004* -- ID_MODEL_FROM_DATABASE=Blackberry Handheld -+ ID_MODEL_FROM_DATABASE=Blackberry - - usb:v0FCAp8007* - ID_MODEL_FROM_DATABASE=Blackberry Handheld -@@ -38147,6 +38819,12 @@ usb:v0FCEp3138* - usb:v0FCEp3149* - ID_MODEL_FROM_DATABASE=Xperia X8 - -+usb:v0FCEp514F* -+ ID_MODEL_FROM_DATABASE=Xperia arc S [Adb-Enable Mode] -+ -+usb:v0FCEp5169* -+ ID_MODEL_FROM_DATABASE=Xperia S [Adb-Enable Mode] -+ - usb:v0FCEp5177* - ID_MODEL_FROM_DATABASE=Xperia Ion [Debug Mode] - -@@ -38309,6 +38987,9 @@ usb:v0FCEpE166* - usb:v0FCEpE167* - ID_MODEL_FROM_DATABASE=XPERIA mini - -+usb:v0FCEpF0FA* -+ ID_MODEL_FROM_DATABASE=Liveview micro display MN800 in DFU mode -+ - usb:v0FCF* - ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc. - -@@ -38316,13 +38997,16 @@ usb:v0FCFp1003* - ID_MODEL_FROM_DATABASE=ANT Development Board - - usb:v0FCFp1004* -- ID_MODEL_FROM_DATABASE=ANT2USB -+ ID_MODEL_FROM_DATABASE=ANTUSB Stick - - usb:v0FCFp1006* - ID_MODEL_FROM_DATABASE=ANT Development Board - - usb:v0FCFp1008* -- ID_MODEL_FROM_DATABASE=Mini stick Suunto -+ ID_MODEL_FROM_DATABASE=ANTUSB2 Stick -+ -+usb:v0FCFp1009* -+ ID_MODEL_FROM_DATABASE=ANTUSB-m Stick - - usb:v0FD0* - ID_VENDOR_FROM_DATABASE=Tulip Computers B.V. -@@ -38378,6 +39062,12 @@ usb:v0FDAp0100* - usb:v0FDC* - ID_VENDOR_FROM_DATABASE=Micro Plus - -+usb:v0FDE* -+ ID_VENDOR_FROM_DATABASE=Oregon Scientific -+ -+usb:v0FDEpCA01* -+ ID_MODEL_FROM_DATABASE=WMRS200 weather station -+ - usb:v0FE0* - ID_VENDOR_FROM_DATABASE=Osterhout Design Group - -@@ -38471,6 +39161,9 @@ usb:v0FFF* - usb:v1000* - ID_VENDOR_FROM_DATABASE=Speed Tech Corp. - -+usb:v1000p153B* -+ ID_MODEL_FROM_DATABASE=TerraTec Electronic GmbH -+ - usb:v1001* - ID_VENDOR_FROM_DATABASE=Ritronics Components (S) Pte., Ltd - -@@ -38504,6 +39197,9 @@ usb:v1004p618E* - usb:v1004p618F* - ID_MODEL_FROM_DATABASE=Ally/Optimus One - -+usb:v1004p61C5* -+ ID_MODEL_FROM_DATABASE=P880 / Charge only -+ - usb:v1004p61C6* - ID_MODEL_FROM_DATABASE=Vortex (msc) - -@@ -38514,7 +39210,7 @@ usb:v1004p61F1* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [LG Software mode] - - usb:v1004p61F9* -- ID_MODEL_FROM_DATABASE=V909 G-Slate -+ ID_MODEL_FROM_DATABASE=Optimus (Various Models) MTP Mode - - usb:v1004p61FC* - ID_MODEL_FROM_DATABASE=Optimus 3 -@@ -38528,9 +39224,15 @@ usb:v1004p6300* - usb:v1004p631C* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [MTP mode] - -+usb:v1004p631D* -+ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Camera/PTP Mode) -+ - usb:v1004p631E* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [Camera/PTP mode] - -+usb:v1004p631F* -+ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode) -+ - usb:v1004p6356* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [Virtual CD mode] - -@@ -38540,6 +39242,9 @@ usb:v1004p6800* - usb:v1004p7000* - ID_MODEL_FROM_DATABASE=LG LDP-7024D(LD)USB - -+usb:v1004p91C8* -+ ID_MODEL_FROM_DATABASE=P880 / USB tethering -+ - usb:v1004pA400* - ID_MODEL_FROM_DATABASE=Renoir (KC910) - -@@ -38742,13 +39447,13 @@ usb:v1033p0068* - ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231 - - usb:v1038* -- ID_VENDOR_FROM_DATABASE=Ideazon, Inc. -+ ID_VENDOR_FROM_DATABASE=SteelSeries ApS - - usb:v1038p0100* -- ID_MODEL_FROM_DATABASE=Zboard -+ ID_MODEL_FROM_DATABASE=Ideazon Zboard - - usb:v1038p1361* -- ID_MODEL_FROM_DATABASE=Sensei -+ ID_MODEL_FROM_DATABASE=Ideazon Sensei - - usb:v1039* - ID_VENDOR_FROM_DATABASE=devolo AG -@@ -38946,28 +39651,37 @@ usb:v1058p0704* - ID_MODEL_FROM_DATABASE=Passport External HDD - - usb:v1058p070A* -- ID_MODEL_FROM_DATABASE=My Passport Essential SE -+ ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) - - usb:v1058p071A* - ID_MODEL_FROM_DATABASE=My Passport - - usb:v1058p0730* -- ID_MODEL_FROM_DATABASE=My Passport -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) - - usb:v1058p0740* - ID_MODEL_FROM_DATABASE=My Passport - -+usb:v1058p0741* -+ ID_MODEL_FROM_DATABASE=My Passport Ultra -+ - usb:v1058p0742* - ID_MODEL_FROM_DATABASE=My Passport Essential SE - - usb:v1058p0748* -- ID_MODEL_FROM_DATABASE=My Passport 1TB USB 3.0 -+ ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) -+ -+usb:v1058p0810* -+ ID_MODEL_FROM_DATABASE=My Passport Ultra - - usb:v1058p0900* - ID_MODEL_FROM_DATABASE=MyBook Essential External HDD - - usb:v1058p0901* -- ID_MODEL_FROM_DATABASE=MyBook External HDD -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) -+ -+usb:v1058p0902* -+ ID_MODEL_FROM_DATABASE=My Book Pro Edition - - usb:v1058p0903* - ID_MODEL_FROM_DATABASE=My Book Premium Edition -@@ -38976,20 +39690,32 @@ usb:v1058p0910* - ID_MODEL_FROM_DATABASE=MyBook Essential External HDD - - usb:v1058p1001* -- ID_MODEL_FROM_DATABASE=External Hard Disk [Elements] -+ ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) - - usb:v1058p1003* - ID_MODEL_FROM_DATABASE=Elements 1000 GB - - usb:v1058p1010* -- ID_MODEL_FROM_DATABASE=Elements External HDD -+ ID_MODEL_FROM_DATABASE=Elements Portable (WDBAAR) - - usb:v1058p1021* -- ID_MODEL_FROM_DATABASE=Elements 2TB -+ ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) - - usb:v1058p1023* - ID_MODEL_FROM_DATABASE=Elements SE - -+usb:v1058p1048* -+ ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) -+ -+usb:v1058p10A2* -+ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBPCK) -+ -+usb:v1058p10A8* -+ ID_MODEL_FROM_DATABASE=Elements Portable (WDBUZG) -+ -+usb:v1058p1100* -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition 2.0 (WDH1U) -+ - usb:v1058p1103* - ID_MODEL_FROM_DATABASE=My Book Studio - -@@ -39272,6 +39998,9 @@ usb:v106Fp0009* - usb:v106Fp000A* - ID_MODEL_FROM_DATABASE=CR10x Coin Recycler - -+usb:v106Fp000C* -+ ID_MODEL_FROM_DATABASE=Xchange -+ - usb:v1076* - ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc. - -@@ -39335,6 +40064,12 @@ usb:v1099* - usb:v109A* - ID_VENDOR_FROM_DATABASE=DATASOFT Systems GmbH - -+usb:v109B* -+ ID_VENDOR_FROM_DATABASE=Hisense -+ -+usb:v109Bp9118* -+ ID_MODEL_FROM_DATABASE=Medion P4013 Mobile -+ - usb:v109F* - ID_VENDOR_FROM_DATABASE=eSOL Co., Ltd - -@@ -39458,6 +40193,15 @@ usb:v10BF* - usb:v10BFp0001* - ID_MODEL_FROM_DATABASE=SmartHome PowerLinc - -+usb:v10C3* -+ ID_VENDOR_FROM_DATABASE=Universal Laser Systems, Inc. -+ -+usb:v10C3p00A4* -+ ID_MODEL_FROM_DATABASE=ULS PLS Series Laser Engraver Firmware Loader -+ -+usb:v10C3p00A5* -+ ID_MODEL_FROM_DATABASE=ULS Print Support -+ - usb:v10C4* - ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc. - -@@ -39509,6 +40253,12 @@ usb:v10C4p8461* - usb:v10C4p8477* - ID_MODEL_FROM_DATABASE=Balluff RFID Reader - -+usb:v10C4p8496* -+ ID_MODEL_FROM_DATABASE=SiLabs Cypress FW downloader -+ -+usb:v10C4p8497* -+ ID_MODEL_FROM_DATABASE=SiLabs Cypress EVB -+ - usb:v10C4p8605* - ID_MODEL_FROM_DATABASE=dilitronics ESoLUX solar lighting controller - -@@ -39527,6 +40277,9 @@ usb:v10C4p8863* - usb:v10C4p8897* - ID_MODEL_FROM_DATABASE=C8051F38x HDMI Splitter [UHBX] - -+usb:v10C4p8918* -+ ID_MODEL_FROM_DATABASE=C8051F38x HDMI Audio Extractor [VSA-HA-DP] -+ - usb:v10C4pEA60* - ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light - -@@ -39908,6 +40661,9 @@ usb:v1141* - usb:v1142* - ID_VENDOR_FROM_DATABASE=CyberScan Technologies, Inc. - -+usb:v1142p0709* -+ ID_MODEL_FROM_DATABASE=Cyberview High Speed Scanner -+ - usb:v1145* - ID_VENDOR_FROM_DATABASE=Japan Radio Company - -@@ -39938,6 +40694,9 @@ usb:v114D* - usb:v114F* - ID_VENDOR_FROM_DATABASE=Wavecom - -+usb:v114Fp1234* -+ ID_MODEL_FROM_DATABASE=Fastrack Xtend FXT001 Modem -+ - usb:v115B* - ID_VENDOR_FROM_DATABASE=Salix Technology Co., Ltd. - -@@ -40128,7 +40887,7 @@ usb:v1199p683A* - ID_MODEL_FROM_DATABASE=MC8785 Device - - usb:v1199p683C* -- ID_MODEL_FROM_DATABASE=MC8790 Device -+ ID_MODEL_FROM_DATABASE=Mobile Broadband 3G/UMTS (MC8790 Device) - - usb:v1199p6850* - ID_MODEL_FROM_DATABASE=AirCard 880 Device -@@ -40196,6 +40955,12 @@ usb:v1199p9009* - usb:v1199p900A* - ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem - -+usb:v1199p9055* -+ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (NAT mode) -+ -+usb:v1199p9057* -+ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (IP passthrough mode) -+ - usb:v119A* - ID_VENDOR_FROM_DATABASE=ZHAN QI Technology Co., Ltd - -@@ -40238,12 +41003,30 @@ usb:v11ACp6565* - usb:v11B0* - ID_VENDOR_FROM_DATABASE=ATECH FLASH TECHNOLOGY - -+usb:v11B0p6208* -+ ID_MODEL_FROM_DATABASE=PRO-28U -+ -+usb:v11BE* -+ ID_VENDOR_FROM_DATABASE=R&D International NV -+ -+usb:v11BEpF0A0* -+ ID_MODEL_FROM_DATABASE=Martin Maxxyz DMX -+ - usb:v11C5* - ID_VENDOR_FROM_DATABASE=Inmax - - usb:v11C5p0521* - ID_MODEL_FROM_DATABASE=IMT-0521 Smartcard Reader - -+usb:v11CA* -+ ID_VENDOR_FROM_DATABASE=VeriFone Inc -+ -+usb:v11CAp0207* -+ ID_MODEL_FROM_DATABASE=PIN Pad VX 810 -+ -+usb:v11CAp0220* -+ ID_MODEL_FROM_DATABASE=PIN Pad VX 805 -+ - usb:v11DB* - ID_VENDOR_FROM_DATABASE=Topfield Co., Ltd. - -@@ -40274,6 +41057,9 @@ usb:v11F5p0005* - usb:v11F5p0008* - ID_MODEL_FROM_DATABASE=UMTS/HSDPA Data Card - -+usb:v11F5p0101* -+ ID_MODEL_FROM_DATABASE=RCU Connect -+ - usb:v11F6* - ID_VENDOR_FROM_DATABASE=Prolific - -@@ -40284,7 +41070,7 @@ usb:v11F7* - ID_VENDOR_FROM_DATABASE=Alcatel (?) - - usb:v11F7p02DF* -- ID_MODEL_FROM_DATABASE=TD10 Mobile phone USB cable -+ ID_MODEL_FROM_DATABASE=Serial cable (v2) for TD-10 Mobile Phone - - usb:v1203* - ID_VENDOR_FROM_DATABASE=TSC Auto ID Technology Co., Ltd -@@ -40352,6 +41138,9 @@ usb:v1228p0012* - usb:v1228p0015* - ID_MODEL_FROM_DATABASE=TPaq21/MPaq21 Datalogger - -+usb:v1228p584C* -+ ID_MODEL_FROM_DATABASE=XL2 Logger -+ - usb:v1230* - ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A. - -@@ -40377,20 +41166,110 @@ usb:v1235* - ID_VENDOR_FROM_DATABASE=Novation EMS - - usb:v1235p0001* -- ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation -+ ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition - - usb:v1235p0002* - ID_MODEL_FROM_DATABASE=Speedio - - usb:v1235p0003* -- ID_MODEL_FROM_DATABASE=ReMOTE ZeRO SL -+ ID_MODEL_FROM_DATABASE=RemoteSL + ZeroSL -+ -+usb:v1235p0004* -+ ID_MODEL_FROM_DATABASE=ReMOTE LE -+ -+usb:v1235p0005* -+ ID_MODEL_FROM_DATABASE=XIOSynth [First Edition] -+ -+usb:v1235p0006* -+ ID_MODEL_FROM_DATABASE=XStation -+ -+usb:v1235p0007* -+ ID_MODEL_FROM_DATABASE=XIOSynth -+ -+usb:v1235p0008* -+ ID_MODEL_FROM_DATABASE=ReMOTE SL Compact -+ -+usb:v1235p0009* -+ ID_MODEL_FROM_DATABASE=nIO -+ -+usb:v1235p000A* -+ ID_MODEL_FROM_DATABASE=Nocturn -+ -+usb:v1235p000B* -+ ID_MODEL_FROM_DATABASE=ReMOTE SL MkII -+ -+usb:v1235p000C* -+ ID_MODEL_FROM_DATABASE=ZeRO MkII -+ -+usb:v1235p000E* -+ ID_MODEL_FROM_DATABASE=Launchpad -+ -+usb:v1235p0010* -+ ID_MODEL_FROM_DATABASE=Saffire 6 -+ -+usb:v1235p0011* -+ ID_MODEL_FROM_DATABASE=Ultranova -+ -+usb:v1235p0012* -+ ID_MODEL_FROM_DATABASE=Nocturn Keyboard -+ -+usb:v1235p0013* -+ ID_MODEL_FROM_DATABASE=VRM Box -+ -+usb:v1235p0014* -+ ID_MODEL_FROM_DATABASE=VRM Box Audio Class (2-out) -+ -+usb:v1235p0015* -+ ID_MODEL_FROM_DATABASE=Dicer -+ -+usb:v1235p0016* -+ ID_MODEL_FROM_DATABASE=Ultranova -+ -+usb:v1235p0018* -+ ID_MODEL_FROM_DATABASE=Twitch -+ -+usb:v1235p0019* -+ ID_MODEL_FROM_DATABASE=Impulse 25 -+ -+usb:v1235p001A* -+ ID_MODEL_FROM_DATABASE=Impulse 49 -+ -+usb:v1235p001B* -+ ID_MODEL_FROM_DATABASE=Impulse 61 - - usb:v1235p4661* - ID_MODEL_FROM_DATABASE=ReMOTE25 - -+usb:v1235p8000* -+ ID_MODEL_FROM_DATABASE=Scarlett 18i6 -+ -+usb:v1235p8002* -+ ID_MODEL_FROM_DATABASE=Scarlett 8i6 -+ - usb:v1235p8006* - ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2 - -+usb:v1235p8008* -+ ID_MODEL_FROM_DATABASE=Saffire 6 -+ -+usb:v1235p800A* -+ ID_MODEL_FROM_DATABASE=Scarlett 2i4 -+ -+usb:v1235p800C* -+ ID_MODEL_FROM_DATABASE=Scarlett 18i20 -+ -+usb:v1235p800E* -+ ID_MODEL_FROM_DATABASE=iTrack Solo -+ -+usb:v1235p8010* -+ ID_MODEL_FROM_DATABASE=Forte -+ -+usb:v1235p8012* -+ ID_MODEL_FROM_DATABASE=Scarlett 6i6 -+ -+usb:v1235p8014* -+ ID_MODEL_FROM_DATABASE=Scarlett 18i8 -+ - usb:v1241* - ID_VENDOR_FROM_DATABASE=Belkin - -@@ -40410,7 +41289,7 @@ usb:v1241p1166* - ID_MODEL_FROM_DATABASE=MI-2150 Trust Mouse - - usb:v1241p1177* -- ID_MODEL_FROM_DATABASE=F8E842-DL Mouse -+ ID_MODEL_FROM_DATABASE=Mouse [HT82M21A] - - usb:v1241p1503* - ID_MODEL_FROM_DATABASE=Keyboard -@@ -40463,6 +41342,9 @@ usb:v125Fp312A* - usb:v125Fp312B* - ID_MODEL_FROM_DATABASE=Superior S102 Pro - -+usb:v125FpA22A* -+ ID_MODEL_FROM_DATABASE=DashDrive Elite HE720 500GB -+ - usb:v125FpA91A* - ID_MODEL_FROM_DATABASE=Portable HDD CH91 - -@@ -40478,6 +41360,9 @@ usb:v125FpC93A* - usb:v125FpC96A* - ID_MODEL_FROM_DATABASE=C906 Flash Drive - -+usb:v125FpCB10* -+ ID_MODEL_FROM_DATABASE=Dash Drive UV100 -+ - usb:v1260* - ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp. - -@@ -40637,6 +41522,9 @@ usb:v1283p0150* - usb:v1286* - ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc. - -+usb:v1286p00BC* -+ ID_MODEL_FROM_DATABASE=Marvell JTAG Probe -+ - usb:v1286p1FAB* - ID_MODEL_FROM_DATABASE=88W8338 [Libertas] 802.11g - -@@ -40733,6 +41621,12 @@ usb:v12C4p0006* - usb:v12C4p0008* - ID_MODEL_FROM_DATABASE=Teleprompter Foot Control (v1) - -+usb:v12CF* -+ ID_VENDOR_FROM_DATABASE=DEXIN -+ -+usb:v12CFp0170* -+ ID_MODEL_FROM_DATABASE=Tt eSPORTS BLACK Gaming mouse -+ - usb:v12D1* - ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd. - -@@ -40802,9 +41696,15 @@ usb:v12D1p14CF* - usb:v12D1p14D1* - ID_MODEL_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode) - -+usb:v12D1p14DB* -+ ID_MODEL_FROM_DATABASE=E353/E3131 -+ - usb:v12D1p14F1* - ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem - -+usb:v12D1p14FE* -+ ID_MODEL_FROM_DATABASE=Modem (Mass Storage Mode) -+ - usb:v12D1p1501* - ID_MODEL_FROM_DATABASE=Pulse - -@@ -40826,6 +41726,9 @@ usb:v12D1p1521* - usb:v12D1p155A* - ID_MODEL_FROM_DATABASE=R205 Mobile WiFi (CD-ROM mode) - -+usb:v12D1p1575* -+ ID_MODEL_FROM_DATABASE=K5150 LTE modem -+ - usb:v12D1p1805* - ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone - -@@ -41376,7 +42279,7 @@ usb:v13BA* - ID_VENDOR_FROM_DATABASE=PCPlay - - usb:v13BAp0001* -- ID_MODEL_FROM_DATABASE=König Electronic CMP-KEYPAD12 Numeric Keypad -+ ID_MODEL_FROM_DATABASE=Konig Electronic CMP-KEYPAD12 Numeric Keypad - - usb:v13BAp0017* - ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter -@@ -44096,6 +44999,9 @@ usb:v1740p9801* - usb:v1743* - ID_VENDOR_FROM_DATABASE=General Atomics - -+usb:v1748* -+ ID_VENDOR_FROM_DATABASE=MQP Electronics -+ - usb:v174C* - ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. - -@@ -46569,7 +47475,7 @@ usb:v1C7B* - ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD. - - usb:v1C83* -- ID_VENDOR_FROM_DATABASE=Schomäcker GmbH -+ ID_VENDOR_FROM_DATABASE=Schomaecker GmbH - - usb:v1C83p0001* - ID_MODEL_FROM_DATABASE=RS150 V2 -@@ -47678,6 +48584,12 @@ usb:v2047* - usb:v2047p0200* - ID_MODEL_FROM_DATABASE=MSP430 USB HID Bootstrap Loader - -+usb:v2047p0855* -+ ID_MODEL_FROM_DATABASE=Invensense Embedded MotionApp HID Sensor -+ -+usb:v2047p0964* -+ ID_MODEL_FROM_DATABASE=Inventio Software MSP430 -+ - usb:v2080* - ID_VENDOR_FROM_DATABASE=Barnes & Noble - --- -1.7.9.2 - diff --git a/0004-implement-a-union-to-pad-out-file_handle.patch b/0004-implement-a-union-to-pad-out-file_handle.patch deleted file mode 100644 index cbb924cc..00000000 --- a/0004-implement-a-union-to-pad-out-file_handle.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 370c860f748d149097710dc7952a64f627db9de7 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sat, 19 Apr 2014 13:22:35 -0400 -Subject: [PATCH] implement a union to pad out file_handle - -Cases where name_to_handle_at is used allocated the full struct to be -MAX_HANDLE_SZ, and assigned this size to handle_bytes. This is wrong -since handle_bytes should describe the length of the flexible array -member and not the whole struct. - -Define a union type which includes sufficient padding to allow -assignment of MAX_HANDLE_SZ to be correct. ---- - src/libudev/libudev-monitor.c | 6 ++---- - src/readahead/readahead-common.c | 6 ++---- - src/shared/util.h | 6 ++++++ - src/tmpfiles/tmpfiles.c | 11 ++++------- - 4 files changed, 14 insertions(+), 15 deletions(-) - -diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c -index 3f7436b..0a2ab82 100644 ---- src/libudev/libudev-monitor.c -+++ src/libudev/libudev-monitor.c -@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev) - - /* we consider udev running when /dev is on devtmpfs */ - static bool udev_has_devtmpfs(struct udev *udev) { -- struct file_handle *h; -+ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; - int mount_id; - _cleanup_fclose_ FILE *f = NULL; - char line[LINE_MAX], *e; - int r; - -- h = alloca(MAX_HANDLE_SZ); -- h->handle_bytes = MAX_HANDLE_SZ; -- r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0); -+ r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); - if (r < 0) - return false; - -diff --git src/readahead/readahead-common.c src/readahead/readahead-common.c -index 5ffa88b..49679fc 100644 ---- src/readahead/readahead-common.c -+++ src/readahead/readahead-common.c -@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) { - if (major(st.st_dev) == 0) { - _cleanup_fclose_ FILE *f = NULL; - int mount_id; -- struct file_handle *h; -+ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; - - /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. - * -@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) { - * and then lookup the mount ID in mountinfo to find - * the mount options. */ - -- h = alloca(MAX_HANDLE_SZ); -- h->handle_bytes = MAX_HANDLE_SZ; -- r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); -+ r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW); - if (r < 0) - return false; - -diff --git src/shared/util.h src/shared/util.h -index 900f1cf..891848a 100644 ---- src/shared/util.h -+++ src/shared/util.h -@@ -22,6 +22,7 @@ - ***/ - - #include -+#include - #include - #include - #include -@@ -883,3 +884,8 @@ int fd_warn_permissions(const char *path - - unsigned long personality_from_string(const char *p); - const char *personality_to_string(unsigned long); -+ -+union file_handle_union { -+ struct file_handle handle; -+ char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; -+}; -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index 33e7cbc..04b472d 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) { - } - - static int dir_is_mount_point(DIR *d, const char *subdir) { -- struct file_handle *h; -+ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ }; - int mount_id_parent, mount_id; - int r_p, r; - -- h = alloca(MAX_HANDLE_SZ); -- -- h->handle_bytes = MAX_HANDLE_SZ; -- r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0); -+ r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0); - if (r_p < 0) - r_p = -errno; - -- h->handle_bytes = MAX_HANDLE_SZ; -- r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0); -+ h.handle.handle_bytes = MAX_HANDLE_SZ; -+ r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0); - if (r < 0) - r = -errno; - --- -1.7.9.2 - diff --git a/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch b/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch deleted file mode 100644 index 0358d8cc..00000000 --- a/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on 20a83d7bf4542875f8033b68682a4da4993010e8 Mon Sep 17 00:00:00 2001 -From: Brandon Philips -Date: Fri, 25 Apr 2014 09:31:59 -0600 -Subject: [PATCH] job: add waiting jobs to run queue in unit_coldplug - -When we have job installed and added to run queue for service which is -still in dead state and systemd initiates reload then after reload we -never add deserialized job to the run queue again. This is caused by -check in service_coldplug() where we check if deserialized state is -something else than dead state, which is not the case thus we never call -service_set_state() and finally unit_notify() where we would have added -job to the run queue. - -Thanks to Michal Sekletar for the original patch. ---- - src/core/job.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- src/core/job.c -+++ src/core/job.c 2014-05-12 12:58:30.354235531 +0000 -@@ -1057,6 +1057,9 @@ int job_coldplug(Job *j) { - if (j->timer_event_source) - j->timer_event_source = sd_event_source_unref(j->timer_event_source); - -+ if (j->state == JOB_WAITING) -+ job_add_to_run_queue(j); -+ - r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); - if (r < 0) - log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0004-journal-do-server_vacuum-for-sigusr1.patch b/0004-journal-do-server_vacuum-for-sigusr1.patch deleted file mode 100644 index 530a5397..00000000 --- a/0004-journal-do-server_vacuum-for-sigusr1.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3bfd4e0c6341b0ef946d2198f089743fa99e0a97 Mon Sep 17 00:00:00 2001 -From: WaLyong Cho -Date: Thu, 28 Aug 2014 21:33:03 +0900 -Subject: [PATCH] journal: do server_vacuum for sigusr1 - -runtime journal is migrated to system journal when only -"/run/systemd/journal/flushed" exist. It's ok but according to this -the system journal directory size(max use) can be over the config. If -journal is not rotated during some time the journal directory can be -remained as over the config(or default) size. To avoid, do -server_vacuum just after the system journal migration from runtime. ---- - src/journal/journald-server.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/journal/journald-server.c src/journal/journald-server.c -index 52111f7..bf9cfcc 100644 ---- src/journal/journald-server.c -+++ src/journal/journald-server.c -@@ -1224,6 +1224,7 @@ static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo * - touch("/run/systemd/journal/flushed"); - server_flush_to_var(s); - server_sync(s); -+ server_vacuum(s); - - return 0; - } --- -1.7.9.2 - diff --git a/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch b/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch deleted file mode 100644 index 848a73d3..00000000 --- a/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch +++ /dev/null @@ -1,134 +0,0 @@ -Based on baccf3e40bab6c0b69992ae29c396930de4660c9 Mon Sep 17 00:00:00 2001 -From: Olivier Brunel -Date: Fri, 8 Aug 2014 20:45:43 +0200 -Subject: [PATCH] login: set_controller should fail if prepare_vt fails - -If controllers can expect logind to have "prepared" the VT (e.g. set it to -graphics mode, etc) then TakeControl() should fail if said preparation -failed (and session_restore_vt() was called). - -(David: fixed up !CONFIG_VT case and errno-numbers) ---- - src/login/logind-session.c | 47 +++++++++++++++++++++++++++++++++------------ - src/login/logind-session.h | 2 - - 2 files changed, 36 insertions(+), 13 deletions(-) - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-08-26 10:14:21.014235811 +0000 -@@ -950,8 +950,8 @@ int session_kill(Session *s, KillWho who - static int session_open_vt(Session *s) { - char path[sizeof("/dev/tty") + DECIMAL_STR_MAX(s->vtnr)]; - -- if (!s->vtnr) -- return -1; -+ if (s->vtnr < 1) -+ return -ENODEV; - - if (s->vtfd >= 0) - return s->vtfd; -@@ -975,22 +975,38 @@ static int session_vt_fn(sd_event_source - return 0; - } - --void session_mute_vt(Session *s) { -+int session_mute_vt(Session *s) { - int vt, r; - struct vt_mode mode = { 0 }; - sigset_t mask; - -+ if (s->vtnr < 1) -+ return 0; -+ - vt = session_open_vt(s); - if (vt < 0) -- return; -+ return vt; -+ -+ r = fchown(vt, s->user->uid, -1); -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot change owner of /dev/tty%u: %m", s->vtnr); -+ goto error; -+ } - - r = ioctl(vt, KDSKBMODE, K_OFF); -- if (r < 0) -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot set K_OFF on /dev/tty%u: %m", s->vtnr); - goto error; -+ } - - r = ioctl(vt, KDSETMODE, KD_GRAPHICS); -- if (r < 0) -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot set KD_GRAPHICS on /dev/tty%u: %m", s->vtnr); - goto error; -+ } - - sigemptyset(&mask); - sigaddset(&mask, SIGUSR1); -@@ -1007,14 +1023,17 @@ void session_mute_vt(Session *s) { - mode.relsig = SIGUSR1; - mode.acqsig = SIGUSR1; - r = ioctl(vt, VT_SETMODE, &mode); -- if (r < 0) -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot set VT_PROCESS on /dev/tty%u: %m", s->vtnr); - goto error; -+ } - -- return; -+ return 0; - - error: -- log_error("cannot mute VT %u for session %s (%d/%d)", s->vtnr, s->id, r, errno); - session_restore_vt(s); -+ return r; - } - - void session_restore_vt(Session *s) { -@@ -1037,6 +1056,8 @@ void session_restore_vt(Session *s) { - mode.mode = VT_AUTO; - ioctl(vt, VT_SETMODE, &mode); - -+ fchown(vt, 0, -1); -+ - close_nointr_nofail(vt); - s->vtfd = -1; - } -@@ -1091,8 +1112,6 @@ int session_set_controller(Session *s, c - return r; - } - -- session_swap_controller(s, t); -- - /* When setting a session controller, we forcibly mute the VT and set - * it into graphics-mode. Applications can override that by changing - * VT state after calling TakeControl(). However, this serves as a good -@@ -1101,7 +1120,11 @@ int session_set_controller(Session *s, c - * exits. - * If logind crashes/restarts, we restore the controller during restart - * or reset the VT in case it crashed/exited, too. */ -- session_mute_vt(s); -+ r = session_mute_vt(s); -+ if (r < 0) -+ return r; -+ -+ session_swap_controller(s, t); - - return 0; - } ---- src/login/logind-session.h -+++ src/login/logind-session.h 2014-08-25 17:19:29.042236429 +0000 -@@ -172,7 +172,7 @@ SessionClass session_class_from_string(c - const char *kill_who_to_string(KillWho k) _const_; - KillWho kill_who_from_string(const char *s) _pure_; - --void session_mute_vt(Session *s); -+int session_mute_vt(Session *s); - void session_restore_vt(Session *s); - - bool session_is_controller(Session *s, const char *sender); diff --git a/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch b/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch deleted file mode 100644 index c19bfcee..00000000 --- a/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 94036de887ad5b0dc805abe38b5c1c58b57d9465 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Tue, 11 Mar 2014 17:49:00 +0200 -Subject: [PATCH] logind: Do not fail display count if a device has no parent - -udev_device_get_parent() may return NULL when the device doesn't have a -parent, as is the case with (for example) /sys/devices/virtual/drm/ttm. - -Also, log an actual error message instead of "-12 displays connected". ---- - src/login/logind-action.c | 4 +++- - src/login/logind-core.c | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index ae7b350..1928f43 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -84,7 +84,9 @@ int manager_handle_action( - * treat like this under the assumption that there is - * no modern drm driver available. */ - n = manager_count_displays(m); -- if (n != 1) { -+ if (n < 0) -+ log_warning("Display counting failed: %s", strerror(-n)); -+ else if (n != 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } -diff --git src/login/logind-core.c src/login/logind-core.c -index ca34d37..053d2ed 100644 ---- src/login/logind-core.c -+++ src/login/logind-core.c -@@ -520,7 +520,7 @@ int manager_count_displays(Manager *m) { - - p = udev_device_get_parent(d); - if (!p) -- return -ENOMEM; -+ continue; - - /* If the parent shares the same subsystem as the - * device we are looking at then it is a connector, --- -1.7.9.2 - diff --git a/0004-machined-make-sure-GetMachineAddresses-is-available-.patch b/0004-machined-make-sure-GetMachineAddresses-is-available-.patch deleted file mode 100644 index 20b625ba..00000000 --- a/0004-machined-make-sure-GetMachineAddresses-is-available-.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d3152a09ac5804ec8603daee12f98cf03523cce0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 19 May 2014 00:47:26 +0900 -Subject: [PATCH] machined: make sure GetMachineAddresses() is available for - unprivileged processes - ---- - src/machine/org.freedesktop.machine1.conf | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git src/machine/org.freedesktop.machine1.conf src/machine/org.freedesktop.machine1.conf -index 970ccd8..ab349a5 100644 ---- src/machine/org.freedesktop.machine1.conf -+++ src/machine/org.freedesktop.machine1.conf -@@ -42,12 +42,20 @@ - - -+ -+ - - - -+ -+ - - - --- -1.7.9.2 - diff --git a/0004-man-document-missing-options-of-systemd-run.patch b/0004-man-document-missing-options-of-systemd-run.patch deleted file mode 100644 index a6e6551d..00000000 --- a/0004-man-document-missing-options-of-systemd-run.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 981ee551945f4e00de52fcbb7780fd7476bcd47e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 5 Mar 2014 03:37:48 +0100 -Subject: [PATCH] man: document missing options of systemd-run - ---- - man/systemd-run.xml | 71 +++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 60 insertions(+), 11 deletions(-) - -diff --git man/systemd-run.xml man/systemd-run.xml -index 95c1cb7..81d41dc 100644 ---- man/systemd-run.xml -+++ man/systemd-run.xml -@@ -121,9 +121,9 @@ along with systemd; If not, see . - - - -- Provide description for the unit. If not -- specified, the command itself will be used as a description. -- See Description= in -+ Provide description for the service or scope -+ unit. If not specified, the command itself will be used as a -+ description. See Description= in - systemd.unit5. - - -@@ -140,10 +140,10 @@ along with systemd; If not, see . - - - -- After the service's process has terminated, keep -- the service around until it is explicitly stopped. This is -- useful to collect runtime information about the service after -- it finished running. Also see -+ After the service or scope process has -+ terminated, keep the service around until it is explicitly -+ stopped. This is useful to collect runtime information about -+ the service after it finished running. Also see - RemainAfterExit= in - systemd.service5. - -@@ -153,15 +153,64 @@ along with systemd; If not, see . - - - -- When terminating the scope unit, send a SIGHUP -- immediately after SIGTERM. This is useful to indicate to -- shells and shell-like processes that the connection has been -- severed. Also see SendSIGHUP= in -+ When terminating the scope or service unit, -+ send a SIGHUP immediately after SIGTERM. This is useful to -+ indicate to shells and shell-like processes that the -+ connection has been severed. Also see -+ SendSIGHUP= in - systemd.kill5. - - - - -+ -+ -+ -+ Sets the service type. Also see -+ Type= in -+ systemd.service5. This -+ option has no effect in conjunction with -+ . Defaults to -+ simple. -+ -+ -+ -+ -+ -+ -+ -+ Runs the service process under the UNIX user -+ and group. Also see User= and -+ Group= in -+ systemd.exec5. This -+ option has no effect in conjunction with -+ . -+ -+ -+ -+ -+ -+ -+ Runs the service process with the specified -+ nice level. Also see Nice= in -+ systemd.exec5. This -+ option has no effect in conjunction with -+ . -+ -+ -+ -+ -+ -+ -+ Runs the service process with the specified -+ environment variables set. Also see -+ Environment= in -+ systemd.exec5. This -+ option has no effect in conjunction with -+ . -+ -+ -+ - - - --- -1.7.9.2 - diff --git a/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch b/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch deleted file mode 100644 index 9ab7a2da..00000000 --- a/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 455cd8b137b8ef45d04889f2d967c562a097f1e6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 19:24:53 +0200 -Subject: [PATCH] sd-bus: if we don't manage to properly allocate the error - message for an sd_bus_error, just go on - -sd_bus_error_setfv() must initialize the sd_bus_error value to some -sensible value and then return a good errno code matching that. If it -cannot work at all it should set the error statically to the OOM error. -But if it can work half-way (i.e. initialize the name, but not the -message) it should do so and still return the correct errno number for -it. - -This effectively reverts 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 ---- - src/libsystemd/sd-bus/bus-error.c | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c -index 5ca974a..af83c12 100644 ---- src/libsystemd/sd-bus/bus-error.c -+++ src/libsystemd/sd-bus/bus-error.c -@@ -194,13 +194,10 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li - return -ENOMEM; - } - -- if (format) { -- int r; -- -- r = vasprintf((char**) &e->message, format, ap); -- if (r < 0) -- return -ENOMEM; -- } -+ /* Of we hit OOM on formatting the pretty message, we ignore -+ * this, since we at least managed to write the error name */ -+ if (format) -+ (void) vasprintf((char**) &e->message, format, ap); - - e->_need_free = 1; - --- -1.7.9.2 - diff --git a/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch b/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch deleted file mode 100644 index 51b46fb4..00000000 --- a/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7bb4d371af5ec6b8c50b71d2a80c2866d8134d9a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Jul 2014 17:36:47 +0200 -Subject: [PATCH] sd-bus: when an event loop terminates, explicitly close the - bus - -This makes sure we actually release the bus and all the messages it -references. ---- - src/libsystemd/sd-bus/sd-bus.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index d52afe8..eb267d4 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -2940,6 +2940,7 @@ static int quit_callback(sd_event_source *event, void *userdata) { - assert(event); - - sd_bus_flush(bus); -+ sd_bus_close(bus); - - return 1; - } --- -1.7.9.2 - diff --git a/0004-sd-event-check-the-value-of-received-signal.patch b/0004-sd-event-check-the-value-of-received-signal.patch deleted file mode 100644 index 9c4662a9..00000000 --- a/0004-sd-event-check-the-value-of-received-signal.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7057bd993110c1eff0cd3a8776902ca66417634e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 3 Oct 2014 18:49:45 -0400 -Subject: [PATCH] sd-event: check the value of received signal - -Appease coverity report #1237775. - -Also rename ss to n, to make it visually different from ss. ---- - src/libsystemd/sd-event/sd-event.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index b56182d..4c67ee8 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -1973,20 +1973,22 @@ static int process_signal(sd_event *e, uint32_t events) { - - for (;;) { - struct signalfd_siginfo si; -- ssize_t ss; -+ ssize_t n; - sd_event_source *s = NULL; - -- ss = read(e->signal_fd, &si, sizeof(si)); -- if (ss < 0) { -+ n = read(e->signal_fd, &si, sizeof(si)); -+ if (n < 0) { - if (errno == EAGAIN || errno == EINTR) - return read_one; - - return -errno; - } - -- if (_unlikely_(ss != sizeof(si))) -+ if (_unlikely_(n != sizeof(si))) - return -EIO; - -+ assert(si.ssi_signo < _NSIG); -+ - read_one = true; - - if (si.ssi_signo == SIGCHLD) { --- -1.7.9.2 - diff --git a/0004-sd-journal-verify-that-object-start-with-the-field-n.patch b/0004-sd-journal-verify-that-object-start-with-the-field-n.patch deleted file mode 100644 index e3ee663d..00000000 --- a/0004-sd-journal-verify-that-object-start-with-the-field-n.patch +++ /dev/null @@ -1,41 +0,0 @@ -Based on 0f99f74a14ef193c1ebde687c5cc76e1d67b85ef Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 26 Aug 2014 23:54:31 -0400 -Subject: [PATCH] sd-journal: verify that object start with the field name - -If the journal is corrupted, we might return an object that does -not start with the expected field name and/or is shorter than it -should. ---- - src/journal/sd-journal.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git src/journal/sd-journal.c src/journal/sd-journal.c -index 80ff8fe..693707c 100644 ---- src/journal/sd-journal.c -+++ src/journal/sd-journal.c -@@ -2571,6 +2571,21 @@ _public_ int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_ - if (r < 0) - return r; - -+ /* Check if we have at least the field name and "=". */ -+ if (ol <= k) { -+ log_debug("%s:offset " OFSfmt ": object has size %zu, expected at least %zu", -+ j->unique_file->path, j->unique_offset, -+ ol, k + 1); -+ return -EBADMSG; -+ } -+ -+ if (memcmp(odata, j->unique_field, k) || ((const char*) odata)[k] != '=') { -+ log_debug("%s:offset " OFSfmt ": object does not start with \"%s=\"", -+ j->unique_file->path, j->unique_offset, -+ j->unique_field); -+ return -EBADMSG; -+ } -+ - /* OK, now let's see if we already returned this data - * object by checking if it exists in the earlier - * traversed files. */ --- -1.7.9.2 - diff --git a/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch b/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch deleted file mode 100644 index ba22748a..00000000 --- a/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5e78424f4a27c07be50e246308035c877f204038 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 13 Oct 2014 15:25:09 +0200 -Subject: [PATCH] selinux: fix potential double free crash in child process - -Before returning from function we should reset ret to NULL, thus cleanup -function is nop. - -Also context_str() returns pointer to a string containing context but not a -copy, hence we must make copy it explicitly. ---- - src/shared/label.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/shared/label.c src/shared/label.c -index b6af38d..69d4616 100644 ---- src/shared/label.c -+++ src/shared/label.c -@@ -334,7 +334,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { - } - - freecon(mycon); -- mycon = context_str(bcon); -+ mycon = strdup(context_str(bcon)); - if (!mycon) { - r = -errno; - goto out; -@@ -348,6 +348,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { - } - - *label = ret; -+ ret = NULL; - r = 0; - - out: --- -1.7.9.2 - diff --git a/0004-shared-conf-parser.patch b/0004-shared-conf-parser.patch deleted file mode 100644 index 8a03d9d5..00000000 --- a/0004-shared-conf-parser.patch +++ /dev/null @@ -1,31 +0,0 @@ -Based on 83e341a637b75f7f592a5dc717c34d8b67ed4ffa Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 17 Sep 2014 22:17:53 +0200 -Subject: [PATCH] shared: conf-parser - -Check memory allocation. Found by Coverity. - -Fixes CID #1237644. ---- - src/shared/conf-parser.h | 4 ++++ - 1 file changed, 4 insertions(+) - ---- src/shared/conf-parser.h -+++ src/shared/conf-parser.h 2014-09-18 13:07:07.314735514 +0000 -@@ -181,6 +181,8 @@ int log_syntax_internal(const char *unit - assert(data); \ - \ - xs = new0(type, 1); \ -+ if(!xs) \ -+ return -ENOMEM; \ - *xs = invalid; \ - \ - FOREACH_WORD(w, l, rvalue, state) { \ -@@ -213,6 +215,7 @@ int log_syntax_internal(const char *unit - xs = realloc(xs, (++i + 1) * sizeof(type)); \ - if (!xs) \ - return -ENOMEM; \ -+ \ - *(xs + i) = invalid; \ - } \ - \ diff --git a/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch b/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch deleted file mode 100644 index 596aa557..00000000 --- a/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 863f3ce0d050f005839f6aa41fe7bac5478a7b5e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 19 Sep 2014 08:03:31 +0200 -Subject: [PATCH] shared: wtmp-utmp - don't clear store_wtmp in - utmp_put_dead_process() - -Also modernize a few other things and add comments to explain CID #1237503 -and CID #1237504. ---- - src/shared/utmp-wtmp.c | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git src/shared/utmp-wtmp.c src/shared/utmp-wtmp.c -index 30a0c03..31f13ec 100644 ---- src/shared/utmp-wtmp.c -+++ src/shared/utmp-wtmp.c -@@ -92,8 +92,6 @@ int utmp_get_runlevel(int *runlevel, int *previous) { - static void init_timestamp(struct utmpx *store, usec_t t) { - assert(store); - -- zero(*store); -- - if (t <= 0) - t = now(CLOCK_REALTIME); - -@@ -143,7 +141,7 @@ static int write_entry_wtmp(const struct utmpx *store) { - assert(store); - - /* wtmp is a simple append-only file where each entry is -- simply appended to * the end; i.e. basically a log. */ -+ simply appended to the end; i.e. basically a log. */ - - errno = 0; - updwtmpx(_PATH_WTMPX, store); -@@ -172,7 +170,7 @@ static int write_entry_both(const struct utmpx *store) { - } - - int utmp_put_shutdown(void) { -- struct utmpx store; -+ struct utmpx store = {}; - - init_entry(&store, 0); - -@@ -183,7 +181,7 @@ int utmp_put_shutdown(void) { - } - - int utmp_put_reboot(usec_t t) { -- struct utmpx store; -+ struct utmpx store = {}; - - init_entry(&store, t); - -@@ -206,16 +204,17 @@ _pure_ static const char *sanitize_id(const char *id) { - } - - int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line) { -- struct utmpx store; -+ struct utmpx store = { -+ .ut_type = INIT_PROCESS, -+ .ut_pid = pid, -+ .ut_session = sid, -+ }; - - assert(id); - - init_timestamp(&store, 0); - -- store.ut_type = INIT_PROCESS; -- store.ut_pid = pid; -- store.ut_session = sid; -- -+ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ - strncpy(store.ut_id, sanitize_id(id), sizeof(store.ut_id)); - - if (line) -@@ -225,14 +224,15 @@ int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line - } - - int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { -- struct utmpx lookup, store, store_wtmp, *found; -+ struct utmpx lookup = { -+ .ut_type = INIT_PROCESS /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ -+ }, store, store_wtmp, *found; - - assert(id); - - setutxent(); - -- zero(lookup); -- lookup.ut_type = INIT_PROCESS; /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ -+ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ - strncpy(lookup.ut_id, sanitize_id(id), sizeof(lookup.ut_id)); - - found = getutxid(&lookup); -@@ -260,7 +260,7 @@ int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { - - - int utmp_put_runlevel(int runlevel, int previous) { -- struct utmpx store; -+ struct utmpx store = {}; - int r; - - assert(runlevel > 0); --- -1.7.9.2 - diff --git a/0004-socket-properly-handle-if-our-service-vanished-durin.patch b/0004-socket-properly-handle-if-our-service-vanished-durin.patch deleted file mode 100644 index b119ad24..00000000 --- a/0004-socket-properly-handle-if-our-service-vanished-durin.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 640ace4a8de907994a1b95f6d368c3e6a8fcf60f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 May 2014 16:56:21 +0900 -Subject: [PATCH] socket: properly handle if our service vanished during - runtime - ---- - src/core/socket.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git src/core/socket.c src/core/socket.c -index 05af8fe..aca20fd 100644 ---- src/core/socket.c -+++ src/core/socket.c -@@ -1503,6 +1503,12 @@ static void socket_enter_running(Socket *s, int cfd) { - } - - if (!pending) { -+ if (!UNIT_ISSET(s->service)) { -+ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id); -+ r = -ENOENT; -+ goto fail; -+ } -+ - r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL); - if (r < 0) - goto fail; --- -1.7.9.2 - diff --git a/0004-systemd-detect-virt-only-discover-Xen-domU.patch b/0004-systemd-detect-virt-only-discover-Xen-domU.patch deleted file mode 100644 index 246e09b3..00000000 --- a/0004-systemd-detect-virt-only-discover-Xen-domU.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 37287585b6ba9a55065c8f94458f6db3c0abe0af Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Fri, 6 Jun 2014 16:36:45 +0200 -Subject: [PATCH] systemd-detect-virt: only discover Xen domU - -The current vm detection lacks the distinction between Xen dom0 and Xen domU. -Both, dom0 and domU are running inside the hypervisor. -Therefore systemd-detect-virt and the ConditionVirtualization directive detect -dom0 as a virtual machine. - -dom0 is not using virtual devices but is accessing the real hardware. -Therefore dom0 should be considered the virtualisation host and not a virtual -machine. - -https://bugs.freedesktop.org/show_bug.cgi?id=77271 ---- - src/shared/virt.c | 34 +++++++++++++++++++++++++++------- - 1 file changed, 27 insertions(+), 7 deletions(-) - -diff --git src/shared/virt.c src/shared/virt.c -index 1e227c5..774915f 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -148,7 +148,7 @@ static int detect_vm_dmi(const char **_id) { - - /* Returns a short identifier for the various VM implementations */ - int detect_vm(const char **id) { -- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; -+ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; - static thread_local int cached_found = -1; - static thread_local const char *cached_id = NULL; - const char *_id = NULL; -@@ -162,17 +162,37 @@ int detect_vm(const char **id) { - return cached_found; - } - -- /* Try high-level hypervisor sysfs file first: -+ /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file: - * -- * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ -- r = read_one_line_file("/sys/hypervisor/type", &hvtype); -+ * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */ -+ r = read_one_line_file("/proc/xen/capabilities", &domcap); - if (r >= 0) { -- if (streq(hvtype, "xen")) { -+ char *cap, *i = domcap; -+ -+ while ((cap = strsep(&i, ","))) -+ if (streq(cap, "control_d")) -+ break; -+ -+ if (!i) { - _id = "xen"; - r = 1; -- goto finish; - } -- } else if (r != -ENOENT) -+ -+ goto finish; -+ -+ } else if (r == -ENOENT) { -+ _cleanup_free_ char *hvtype = NULL; -+ -+ r = read_one_line_file("/sys/hypervisor/type", &hvtype); -+ if (r >= 0) { -+ if (streq(hvtype, "xen")) { -+ _id = "xen"; -+ r = 1; -+ goto finish; -+ } -+ } else if (r != -ENOENT) -+ return r; -+ } else - return r; - - /* this will set _id to "other" and return 0 for unknown hypervisors */ --- -1.7.9.2 - diff --git a/0004-systemd-python-use-.hex-instead-of-.get_hex.patch b/0004-systemd-python-use-.hex-instead-of-.get_hex.patch deleted file mode 100644 index 4ddad20e..00000000 --- a/0004-systemd-python-use-.hex-instead-of-.get_hex.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b532cf3722e04adb0bd075666eb9989a9390d0a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 5 Apr 2014 13:23:25 -0400 -Subject: [PATCH] systemd-python: use .hex instead of .get_hex() - -It turns out the latter got removed in Python 3. - -https://bugs.freedesktop.org/show_bug.cgi?id=77086 ---- - src/python-systemd/journal.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git src/python-systemd/journal.py src/python-systemd/journal.py -index 9c7e004..dd1f229 100644 ---- src/python-systemd/journal.py -+++ src/python-systemd/journal.py -@@ -293,7 +293,7 @@ class Reader(_Reader): - monotonic = monotonic.totalseconds() - monotonic = int(monotonic * 1000000) - if isinstance(bootid, _uuid.UUID): -- bootid = bootid.get_hex() -+ bootid = bootid.hex - return super(Reader, self).seek_monotonic(monotonic, bootid) - - def log_level(self, level): -@@ -314,7 +314,7 @@ class Reader(_Reader): - Equivalent to add_match(MESSAGE_ID=`messageid`). - """ - if isinstance(messageid, _uuid.UUID): -- messageid = messageid.get_hex() -+ messageid = messageid.hex - self.add_match(MESSAGE_ID=messageid) - - def this_boot(self, bootid=None): -@@ -346,7 +346,7 @@ class Reader(_Reader): - - def get_catalog(mid): - if isinstance(mid, _uuid.UUID): -- mid = mid.get_hex() -+ mid = mid.hex - return _get_catalog(mid) - - def _make_line(field, value): --- -1.7.9.2 - diff --git a/0004-systemd-return-the-first-error-from-manager_startup.patch b/0004-systemd-return-the-first-error-from-manager_startup.patch deleted file mode 100644 index 0db56a17..00000000 --- a/0004-systemd-return-the-first-error-from-manager_startup.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 1cd974edfd7cd91dcdf321e7202bd220bac50a2d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 18 Jul 2014 17:05:18 -0400 -Subject: [PATCH] systemd: return the first error from manager_startup() - ---- - src/core/manager.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git src/core/manager.c src/core/manager.c -index 2e63c5e..0653d7e 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -1005,11 +1005,8 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - dual_timestamp_get(&m->units_load_finish_timestamp); - - /* Second, deserialize if there is something to deserialize */ -- if (serialization) { -- q = manager_deserialize(m, serialization, fds); -- if (q < 0) -- r = q; -- } -+ if (serialization) -+ r = manager_deserialize(m, serialization, fds); - - /* Any fds left? Find some unit which wants them. This is - * useful to allow container managers to pass some file -@@ -1017,13 +1014,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - * socket-based activation of entire containers. */ - if (fdset_size(fds) > 0) { - q = manager_distribute_fds(m, fds); -- if (q < 0) -+ if (q < 0 && r == 0) - r = q; - } - - /* We might have deserialized the notify fd, but if we didn't - * then let's create the bus now */ -- manager_setup_notify(m); -+ q = manager_setup_notify(m); -+ if (q < 0 && r == 0) -+ r = q; - - /* We might have deserialized the kdbus control fd, but if we - * didn't, then let's create the bus now. */ -@@ -1033,7 +1032,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - - /* Third, fire things up! */ - q = manager_coldplug(m); -- if (q < 0) -+ if (q < 0 && r == 0) - r = q; - - if (serialization) { --- -1.7.9.2 - diff --git a/0004-util-ignore_file-should-not-allow-files-ending-with.patch b/0004-util-ignore_file-should-not-allow-files-ending-with.patch deleted file mode 100644 index a30b4c4f..00000000 --- a/0004-util-ignore_file-should-not-allow-files-ending-with.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 93f1a06374e335e8508d89e1bdaadf45be6ab777 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 31 May 2014 21:36:23 +0200 -Subject: [PATCH] util: ignore_file should not allow files ending with '~' - -ignore_file currently allows any file ending with '~' while it -seems that the opposite was intended: -a228a22fda4faa9ecb7c5a5e499980c8ae5d2a08 ---- - src/shared/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/util.c src/shared/util.c -index 0c27394..17b0ae1 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1371,7 +1371,7 @@ bool ignore_file(const char *filename) { - assert(filename); - - if (endswith(filename, "~")) -- return false; -+ return true; - - return ignore_file_allow_backup(filename); - } --- -1.7.9.2 - diff --git a/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch b/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch deleted file mode 100644 index 23ccc1d5..00000000 --- a/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 306a55c86360a7ae7b2509771d5ea6ab0d166d85 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 29 Jun 2014 22:15:33 +0200 -Subject: [PATCH] util: refuse considering UID 0xFFFF and 0xFFFFFFFF valid - ---- - src/shared/util.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git src/shared/util.c src/shared/util.c -index e7ff0f8..1709bb7 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -280,6 +280,14 @@ int parse_uid(const char *s, uid_t* ret_uid) { - if ((unsigned long) uid != ul) - return -ERANGE; - -+ /* Some libc APIs use (uid_t) -1 as special placeholder */ -+ if (uid == (uid_t) 0xFFFFFFFF) -+ return -EINVAL; -+ -+ /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ -+ if (uid == (uid_t) 0xFFFF) -+ return -EINVAL; -+ - *ret_uid = uid; - return 0; - } --- -1.7.9.2 - diff --git a/0005-Replace-var-run-with-run-in-remaining-places.patch b/0005-Replace-var-run-with-run-in-remaining-places.patch deleted file mode 100644 index 67c35e18..00000000 --- a/0005-Replace-var-run-with-run-in-remaining-places.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 41a55c46ab8fb4ef6727434227071321fc762cce Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 25 Feb 2014 20:11:04 -0500 -Subject: [PATCH] Replace /var/run with /run in remaining places - -/run was already used almost everywhere, fix the remaining places -for consistency. ---- - man/daemon.xml | 2 +- - man/runlevel.xml | 2 +- - man/tmpfiles.d.xml | 4 ++-- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/systemctl/systemctl.c | 4 ++-- - 5 files changed, 8 insertions(+), 8 deletions(-) - -diff --git man/daemon.xml man/daemon.xml -index 88dd082..fd29ba7 100644 ---- man/daemon.xml -+++ man/daemon.xml -@@ -149,7 +149,7 @@ - write the daemon PID (as returned by - getpid()) to a - PID file, for example -- /var/run/foobar.pid -+ /run/foobar.pid - (for a hypothetical daemon "foobar") - to ensure that the daemon cannot be - started more than once. This must be -diff --git man/runlevel.xml man/runlevel.xml -index 976753a..4db06dc 100644 ---- man/runlevel.xml -+++ man/runlevel.xml -@@ -124,7 +124,7 @@ - - - -- /var/run/utmp -+ /run/utmp - - The utmp database - runlevel reads the -diff --git man/tmpfiles.d.xml man/tmpfiles.d.xml -index 812129f..0a006d1 100644 ---- man/tmpfiles.d.xml -+++ man/tmpfiles.d.xml -@@ -441,8 +441,8 @@ r! /tmp/.X[0-9]*-lock - /etc/tmpfiles.d/screen.conf example - screen needs two directories created at boot with specific modes and ownership. - -- d /var/run/screens 1777 root root 10d --d /var/run/uscreens 0755 root root 10d12h -+ d /run/screens 1777 root root 10d -+d /run/uscreens 0755 root root 10d12h - - - /etc/tmpfiles.d/abrt.conf example -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 20f540d..1318272 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) - machine = NULL; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/var/run/dbus/system_bus_socket") - 1; -+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); - - return 0; - } -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 34d7079..8692716 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -3758,8 +3758,8 @@ static int show_one( - streq(verb, "status")) { - /* According to LSB: "program not running" */ - /* 0: program is running or service is OK -- * 1: program is dead and /var/run pid file exists -- * 2: program is dead and /var/lock lock file exists -+ * 1: program is dead and /run PID file exists -+ * 2: program is dead and /run/lock lock file exists - * 3: program is not running - * 4: program or service status is unknown - */ --- -1.7.9.2 - diff --git a/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch b/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch deleted file mode 100644 index 37c42d2e..00000000 --- a/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 4cd2b2cf8ca585d15ebc859701b346658262b5bb Mon Sep 17 00:00:00 2001 -From: Denis Tikhomirov -Date: Thu, 5 Jun 2014 23:59:40 +0400 -Subject: [PATCH] backlight: Do not clamp brightness for LEDs - -https://bugs.freedesktop.org/show_bug.cgi?id=77092 - -On Thu, Jun 05, 2014 at 08:37:20AM +0200, Lennart Poettering wrote: -> The patch is line-broken, please send an uncorrupted patch! -I am very sorry, I forgot that my client limits line width. I will use -mutt now on. -> clamp_brightness() clamps the brightness value to the range of the -> actual device. This is a recent addition that was added to deal with -> driver updates where the resolution is changed. I don't think this part -> should be dropped for LED devices. The clamp_brightness() call hence -> should be called unconditionally, however, internally it should use a -> different min_brightness value if something is an !backlight devices... -Thank you for explanation, this sounds very reasonable to me. Please, -see updated patch: ---- - src/backlight/backlight.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 691472c..4d94ebf 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -225,11 +225,13 @@ static unsigned get_max_brightness(struct udev_device *device) { - - /* Some systems turn the backlight all the way off at the lowest levels. - * clamp_brightness clamps the saved brightness to at least 1 or 5% of -- * max_brightness. This avoids preserving an unreadably dim screen, which -- * would otherwise force the user to disable state restoration. */ -+ * max_brightness in case of 'backlight' subsystem. This avoids preserving -+ * an unreadably dim screen, which would otherwise force the user to -+ * disable state restoration. */ - static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { - int r; - unsigned brightness, new_brightness, min_brightness; -+ const char *subsystem; - - r = safe_atou(*value, &brightness); - if (r < 0) { -@@ -237,7 +239,12 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned - return; - } - -- min_brightness = MAX(1U, max_brightness/20); -+ subsystem = udev_device_get_subsystem(device); -+ if (streq_ptr(subsystem, "backlight")) -+ min_brightness = MAX(1U, max_brightness/20); -+ else -+ min_brightness = 0; -+ - new_brightness = CLAMP(brightness, min_brightness, max_brightness); - if (new_brightness != brightness) { - char *old_value = *value; --- -1.7.9.2 - diff --git a/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch b/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch deleted file mode 100644 index bee5ed1a..00000000 --- a/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0c9d8f1d4b5018199cb5a9b57580dc1480a7f915 Mon Sep 17 00:00:00 2001 -From: Jani Nikula -Date: Wed, 7 May 2014 12:01:01 +0300 -Subject: [PATCH] backlight: handle saved brightness exceeding max brightness - -If too high a brightness value has been saved (e.g. due to kernel -mechanism changing from one kernel version to another, or booting the -userspace on another system), the brightness update fails and the -process exits. - -Clamp saved brightness between the policy minimum introduced in - -commit 7b909d7407965c03caaba30daae7aee113627a83 -Author: Josh Triplett -Date: Tue Mar 11 21:16:33 2014 -0700 - - backlight: Avoid restoring brightness to an unreadably dim level - -and the absolute maximum. - -https://bugs.freedesktop.org/show_bug.cgi?id=78200 ---- - src/backlight/backlight.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index c708391..691472c 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -229,7 +229,7 @@ static unsigned get_max_brightness(struct udev_device *device) { - * would otherwise force the user to disable state restoration. */ - static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { - int r; -- unsigned brightness, new_brightness; -+ unsigned brightness, new_brightness, min_brightness; - - r = safe_atou(*value, &brightness); - if (r < 0) { -@@ -237,7 +237,8 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned - return; - } - -- new_brightness = MAX3(brightness, 1U, max_brightness/20); -+ min_brightness = MAX(1U, max_brightness/20); -+ new_brightness = CLAMP(brightness, min_brightness, max_brightness); - if (new_brightness != brightness) { - char *old_value = *value; - -@@ -247,7 +248,11 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned - return; - } - -- log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); -+ log_info("Saved brightness %s %s to %s.", old_value, -+ new_brightness > brightness ? -+ "too low; increasing" : "too high; decreasing", -+ *value); -+ - free(old_value); - } - } --- -1.7.9.2 - diff --git a/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch b/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch deleted file mode 100644 index 119d1108..00000000 --- a/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c119700c06b248b1c2a082b40b1a346f58d89da0 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Sun, 28 Sep 2014 18:12:51 +0300 -Subject: [PATCH] bootchart: Do not try to access data for non-existing CPU's - -Cpu's are assigned normally, so starting at 0, so the MAX_CPU index will -always be one smaller than the actual number. - -Found with Coverity. ---- - src/bootchart/store.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/bootchart/store.c src/bootchart/store.c -index 3099ff1..9ea1b27 100644 ---- src/bootchart/store.c -+++ src/bootchart/store.c -@@ -199,7 +199,7 @@ vmstat_next: - - if (strstr(key, "cpu")) { - r = safe_atoi((const char*)(key+3), &c); -- if (r < 0 || c > MAXCPUS) -+ if (r < 0 || c > MAXCPUS -1) - /* Oops, we only have room for MAXCPUS data */ - break; - sampledata->runtime[c] = atoll(rt); --- -1.7.9.2 - diff --git a/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch b/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch deleted file mode 100644 index 93f4711e..00000000 --- a/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch +++ /dev/null @@ -1,35 +0,0 @@ -Based on fd989a0bc999d79719408ac28b126d9c9016bcb5 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 12:20:38 +0300 -Subject: [PATCH] bus: avoid using m->kdbus after freeing it - -m->kdbus could be freed before it is released. Changing the -order fixes the issue. - -Found with Coverity. Fixes: CID#1237798 ---- - src/libsystemd/sd-bus/bus-message.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- src/libsystemd/sd-bus/bus-message.c -+++ src/libsystemd/sd-bus/bus-message.c 2014-09-16 10:31:37.538735664 +0000 -@@ -126,9 +126,6 @@ static void message_free(sd_bus_message - - message_reset_parts(m); - -- if (m->free_kdbus) -- free(m->kdbus); -- - if (m->release_kdbus) { - uint64_t off; - -@@ -136,6 +133,9 @@ static void message_free(sd_bus_message - ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &off); - } - -+ if (m->free_kdbus) -+ free(m->kdbus); -+ - if (m->bus) - sd_bus_unref(m->bus); - diff --git a/0005-bus-close-a-bus-that-failed-to-connect.patch b/0005-bus-close-a-bus-that-failed-to-connect.patch deleted file mode 100644 index 9633317f..00000000 --- a/0005-bus-close-a-bus-that-failed-to-connect.patch +++ /dev/null @@ -1,28 +0,0 @@ -From db9bb83fa5ec72da38eb5bd0c259ef8c76a71858 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 01:19:21 +0200 -Subject: [PATCH] bus: close a bus that failed to connect - ---- - src/libsystemd/sd-bus/sd-bus.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index c25375c..28fc19e 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -1033,8 +1033,10 @@ _public_ int sd_bus_start(sd_bus *bus) { - else - return -EINVAL; - -- if (r < 0) -+ if (r < 0) { -+ sd_bus_close(bus); - return r; -+ } - - return bus_send_hello(bus); - } --- -1.7.9.2 - diff --git a/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch b/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch deleted file mode 100644 index 361a1713..00000000 --- a/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch +++ /dev/null @@ -1,137 +0,0 @@ -From cdc06ed7b6120c1049305fa7033f228ee9d86043 Mon Sep 17 00:00:00 2001 -From: David Strauss -Date: Mon, 28 Apr 2014 12:08:32 -0700 -Subject: [PATCH] core: Filter by state behind the D-Bus API, not in the - systemctl client. - ---- - src/core/dbus-manager.c | 24 +++++++++++++++++++++++- - src/core/org.freedesktop.systemd1.conf | 4 ++++ - src/systemctl/systemctl.c | 24 +++++++++++++----------- - 3 files changed, 40 insertions(+), 12 deletions(-) - -diff --git src/core/dbus-manager.c src/core/dbus-manager.c -index 58e484d..d5fab0a 100644 ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c -@@ -728,7 +728,7 @@ static int method_reset_failed(sd_bus *bus, sd_bus_message *message, void *userd - return sd_bus_reply_method_return(message, NULL); - } - --static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { -+static int list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error, char **states) { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - Manager *m = userdata; - const char *k; -@@ -761,6 +761,12 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat - - following = unit_following(u); - -+ if (!strv_isempty(states) && -+ !strv_contains(states, unit_load_state_to_string(u->load_state)) && -+ !strv_contains(states, unit_active_state_to_string(unit_active_state(u))) && -+ !strv_contains(states, unit_sub_state_to_string(u))) -+ continue; -+ - unit_path = unit_dbus_path(u); - if (!unit_path) - return -ENOMEM; -@@ -794,6 +800,21 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat - return sd_bus_send(bus, reply, NULL); - } - -+static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { -+ return list_units_filtered(bus, message, userdata, error, NULL); -+} -+ -+static int method_list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { -+ _cleanup_strv_free_ char **states = NULL; -+ int r; -+ -+ r = sd_bus_message_read_strv(message, &states); -+ if (r < 0) -+ return r; -+ -+ return list_units_filtered(bus, message, userdata, error, states); -+} -+ - static int method_list_jobs(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - Manager *m = userdata; -@@ -1670,6 +1691,7 @@ const sd_bus_vtable bus_manager_vtable[] = { - SD_BUS_METHOD("ClearJobs", NULL, NULL, method_clear_jobs, 0), - SD_BUS_METHOD("ResetFailed", NULL, NULL, method_reset_failed, 0), - SD_BUS_METHOD("ListUnits", NULL, "a(ssssssouso)", method_list_units, SD_BUS_VTABLE_UNPRIVILEGED), -+ SD_BUS_METHOD("ListUnitsFiltered", "as", "a(ssssssouso)", method_list_units_filtered, SD_BUS_VTABLE_UNPRIVILEGED), - SD_BUS_METHOD("ListJobs", NULL, "a(usssoo)", method_list_jobs, SD_BUS_VTABLE_UNPRIVILEGED), - SD_BUS_METHOD("Subscribe", NULL, NULL, method_subscribe, SD_BUS_VTABLE_UNPRIVILEGED), - SD_BUS_METHOD("Unsubscribe", NULL, NULL, method_unsubscribe, SD_BUS_VTABLE_UNPRIVILEGED), -diff --git src/core/org.freedesktop.systemd1.conf src/core/org.freedesktop.systemd1.conf -index a375dce..9dfca81 100644 ---- src/core/org.freedesktop.systemd1.conf -+++ src/core/org.freedesktop.systemd1.conf -@@ -64,6 +64,10 @@ - - -+ -+ - - load_state) || -- strv_contains(arg_states, u->sub_state) || -- strv_contains(arg_states, u->active_state); -- - if (!strv_isempty(patterns)) { - char **pattern; - -@@ -467,6 +461,7 @@ static int get_unit_list( - UnitInfo **_unit_infos, - char **patterns) { - -+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - _cleanup_free_ UnitInfo *unit_infos = NULL; -@@ -478,15 +473,22 @@ static int get_unit_list( - assert(_reply); - assert(_unit_infos); - -- r = sd_bus_call_method( -+ r = sd_bus_message_new_method_call( - bus, -+ &m, - "org.freedesktop.systemd1", - "/org/freedesktop/systemd1", - "org.freedesktop.systemd1.Manager", -- "ListUnits", -- &error, -- &reply, -- NULL); -+ "ListUnitsFiltered"); -+ -+ if (r < 0) -+ return bus_log_create_error(r); -+ -+ r = sd_bus_message_append_strv(m, arg_states); -+ if (r < 0) -+ return bus_log_create_error(r); -+ -+ r = sd_bus_call(bus, m, 0, &error, &reply); - if (r < 0) { - log_error("Failed to list units: %s", bus_error_message(&error, r)); - return r; --- -1.7.9.2 - diff --git a/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch b/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch deleted file mode 100644 index 05d6edc1..00000000 --- a/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch +++ /dev/null @@ -1,121 +0,0 @@ -Based on c264aeab4b0e7b69f469e12e78d4a48b3ed7a66e Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 27 Jul 2014 00:11:08 +0200 -Subject: [PATCH] core: only set the kernel's timezone when the RTC runs in - local time - -We can not reliably manage any notion of local time. Every daylight -saving time change or time zone change by traveling will make the -time jump, and the local time might jump backwards which creates -unsolvable problems with file timestamps. - -We will no longer tell the kernel our local time zone and leave -everything set to UTC. This will effectively turn FAT timestamps -into UTC timestamps. - -If and only if the machine is configured to read the RTC in local -time mode, the kernel's time zone will be configured, but -systemd-timesysnc will disable the kernel's system time to RTC -syncing. In this mode, the RTC will not be managed, and external -tools like Windows bootups are expected to manage the RTC's time. - -https://bugs.freedesktop.org/show_bug.cgi?id=81538 ---- - src/core/main.c | 23 +++++++++++++++-------- - src/shared/hwclock.c | 15 ++++++++------- - src/shared/hwclock.h | 2 +- - 3 files changed, 24 insertions(+), 16 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-07-28 09:59:35.778235585 +0000 -@@ -1349,7 +1349,14 @@ int main(int argc, char *argv[]) { - if (hwclock_is_localtime() > 0) { - int min; - -- /* The first-time call to settimeofday() does a time warp in the kernel */ -+ /* -+ * The very first call of settimeofday() also does a time warp in the kernel. -+ * -+ * In the rtc-in-local time mode, we set the kernel's timezone, and rely on -+ * external tools to take care of maintaining the RTC and do all adjustments. -+ * This matches the behavior of Windows, which leaves the RTC alone if the -+ * registry tells that the RTC runs in UTC. -+ */ - r = hwclock_set_timezone(&min); - if (r < 0) - log_error("Failed to apply local time delta, ignoring: %s", strerror(-r)); -@@ -1357,19 +1364,19 @@ int main(int argc, char *argv[]) { - log_info("RTC configured in localtime, applying delta of %i minutes to system time.", min); - } else if (!in_initrd()) { - /* -- * Do dummy first-time call to seal the kernel's time warp magic -+ * Do a dummy very first call to seal the kernel's time warp magic. - * - * Do not call this this from inside the initrd. The initrd might not - * carry /etc/adjtime with LOCAL, but the real system could be set up - * that way. In such case, we need to delay the time-warp or the sealing - * until we reach the real system. -+ * -+ * Do no set the kernel's timezone. The concept of local time cannot -+ * be supported reliably, the time will jump or be incorrect at every daylight -+ * saving time change. All kernel local time concepts will be treated -+ * as UTC that way. - */ -- hwclock_reset_timezone(); -- -- /* Tell the kernel our timezone */ -- r = hwclock_set_timezone(NULL); -- if (r < 0) -- log_error("Failed to set the kernel's timezone, ignoring: %s", strerror(-r)); -+ hwclock_reset_timewarp(); - } - } - ---- src/shared/hwclock.c -+++ src/shared/hwclock.c 2014-07-28 09:59:12.914235566 +0000 -@@ -124,9 +124,10 @@ int hwclock_set_timezone(int *min) { - tz.tz_dsttime = 0; /* DST_NONE*/ - - /* -- * If the hardware clock does not run in UTC, but in local time: -- * The very first time we set the kernel's timezone, it will warp -- * the clock so that it runs in UTC instead of local time. -+ * If the RTC does not run in UTC but in local time, the very first -+ * call to settimeofday() will set the kernel's timezone and will warp the -+ * system clock, so that it runs in UTC instead of the local time we -+ * have read from the RTC. - */ - if (settimeofday(tv_null, &tz) < 0) - return -errno; -@@ -135,7 +136,7 @@ int hwclock_set_timezone(int *min) { - return 0; - } - --int hwclock_reset_timezone(void) { -+int hwclock_reset_timewarp(void) { - const struct timeval *tv_null = NULL; - struct timezone tz; - -@@ -143,9 +144,9 @@ int hwclock_reset_timezone(void) { - tz.tz_dsttime = 0; /* DST_NONE*/ - - /* -- * The very first time we set the kernel's timezone, it will warp -- * the clock. Do a dummy call here, so the time warping is sealed -- * and we set only the timezone with next call. -+ * The very first call to settimeofday() does time warp magic. Do a -+ * dummy call here, so the time warping is sealed and all later calls -+ * behave as expected. - */ - if (settimeofday(tv_null, &tz) < 0) - return -errno; ---- src/shared/hwclock.h -+++ src/shared/hwclock.h 2014-07-28 09:59:25.034736002 +0000 -@@ -23,6 +23,6 @@ - - int hwclock_is_localtime(void); - int hwclock_set_timezone(int *min); --int hwclock_reset_timezone(void); -+int hwclock_reset_timewarp(void); - int hwclock_get_time(struct tm *tm); - int hwclock_set_time(const struct tm *tm); diff --git a/0005-cryptsetup-fix-an-OOM-check.patch b/0005-cryptsetup-fix-an-OOM-check.patch deleted file mode 100644 index 23b39bb5..00000000 --- a/0005-cryptsetup-fix-an-OOM-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0e2f14014c65b4d8b30146e414579154cfa932da Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 23 Oct 2014 00:30:04 +0200 -Subject: [PATCH] cryptsetup: fix an OOM check - ---- - src/cryptsetup/cryptsetup-generator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/cryptsetup/cryptsetup-generator.c src/cryptsetup/cryptsetup-generator.c -index 137b787..c7f30f6 100644 ---- src/cryptsetup/cryptsetup-generator.c -+++ src/cryptsetup/cryptsetup-generator.c -@@ -387,7 +387,7 @@ int main(int argc, char *argv[]) { - if (k == 2 && streq(proc_uuid, device + 5)) { - free(options); - options = strdup(p); -- if (!proc_options) { -+ if (!options) { - log_oom(); - goto cleanup; - } --- -1.7.9.2 - diff --git a/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index a309f6b9..00000000 --- a/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 24e29480bd800d3acdb3087e5863440bd0dd1d80 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Fri, 16 May 2014 15:57:35 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 53 ++++++++++++++++++++++++++++++++- - 1 file changed, 52 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 28aa2a7..a65c7db 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -961,4 +961,55 @@ bluetooth:v013D* - ID_VENDOR_FROM_DATABASE=WirelessWERX - - bluetooth:v013E* -- ID_VENDOR_FROM_DATABASE=nimai -+ ID_VENDOR_FROM_DATABASE=Nod, Inc. -+ -+bluetooth:v013F* -+ ID_VENDOR_FROM_DATABASE=B&B Manufacturing Company -+ -+bluetooth:v0140* -+ ID_VENDOR_FROM_DATABASE=Alpine Electronics (China) Co., Ltd -+ -+bluetooth:v0141* -+ ID_VENDOR_FROM_DATABASE=FedEx Services -+ -+bluetooth:v0142* -+ ID_VENDOR_FROM_DATABASE=Grape Systems Inc. -+ -+bluetooth:v0143* -+ ID_VENDOR_FROM_DATABASE=Bkon Connect -+ -+bluetooth:v0144* -+ ID_VENDOR_FROM_DATABASE=Lintech GmbH -+ -+bluetooth:v0145* -+ ID_VENDOR_FROM_DATABASE=Novatel Wireless -+ -+bluetooth:v0146* -+ ID_VENDOR_FROM_DATABASE=Ciright -+ -+bluetooth:v0147* -+ ID_VENDOR_FROM_DATABASE=Mighty Cast, Inc. -+ -+bluetooth:v0148* -+ ID_VENDOR_FROM_DATABASE=Ambimat Electronics -+ -+bluetooth:v0149* -+ ID_VENDOR_FROM_DATABASE=Perytons Ltd. -+ -+bluetooth:v014A* -+ ID_VENDOR_FROM_DATABASE=Tivoli Audio, LLC -+ -+bluetooth:v014B* -+ ID_VENDOR_FROM_DATABASE=Master Lock -+ -+bluetooth:v014C* -+ ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd -+ -+bluetooth:v014D* -+ ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. -+ -+bluetooth:v014E* -+ ID_VENDOR_FROM_DATABASE=Tangerine, Inc. -+ -+bluetooth:v014F* -+ ID_VENDOR_FROM_DATABASE=B&W Group Ltd. --- -1.7.9.2 - diff --git a/0005-hwdb-update.patch b/0005-hwdb-update.patch deleted file mode 100644 index e97da5f5..00000000 --- a/0005-hwdb-update.patch +++ /dev/null @@ -1,1560 +0,0 @@ -From 7ba52a1283a0864b56947fa091048e8fe31a5899 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 21 May 2014 18:19:24 +0900 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 155 ++++++++++++++++++++- - hwdb/20-pci-vendor-model.hwdb | 141 ++++++++++++++++--- - hwdb/20-usb-vendor-model.hwdb | 302 ++++++++++++++++++++++++++++++++++++++++- - 3 files changed, 572 insertions(+), 26 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index afc0d90..6188bfc 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -52915,6 +52915,9 @@ OUI:0CA42A* - OUI:0CA694* - ID_OUI_FROM_DATABASE=Sunitec Enterprise Co.,Ltd - -+OUI:0CAC05* -+ ID_OUI_FROM_DATABASE=Unitend Technologies Inc. -+ - OUI:0CAF5A* - ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED - -@@ -53164,6 +53167,9 @@ OUI:1048B1* - OUI:104D77* - ID_OUI_FROM_DATABASE=Innovative Computer Engineering - -+OUI:105172* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:1056CA* - ID_OUI_FROM_DATABASE=Peplink International Ltd. - -@@ -53488,6 +53494,9 @@ OUI:147373* - OUI:147411* - ID_OUI_FROM_DATABASE=RIM - -+OUI:147590* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:147DB3* - ID_OUI_FROM_DATABASE=JOA TELECOM.CO.,LTD - -@@ -53899,6 +53908,9 @@ OUI:18C8E7* - OUI:18CC23* - ID_OUI_FROM_DATABASE=Philio Technology Corporation - -+OUI:18CF5E* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:18D071* - ID_OUI_FROM_DATABASE=DASAN SMC, Inc. - -@@ -54517,6 +54529,9 @@ OUI:20E791* - OUI:20EAC7* - ID_OUI_FROM_DATABASE=SHENZHEN RIOPINE ELECTRONICS CO., LTD - -+OUI:20ED74* -+ ID_OUI_FROM_DATABASE=Ability enterprise co.,Ltd. -+ - OUI:20EEC6* - ID_OUI_FROM_DATABASE=Elefirst Science & Tech Co ., ltd - -@@ -54742,6 +54757,9 @@ OUI:24CBE7* - OUI:24CF21* - ID_OUI_FROM_DATABASE=Shenzhen State Micro Technology Co., Ltd - -+OUI:24D13F* -+ ID_OUI_FROM_DATABASE=MEXUS CO.,LTD -+ - OUI:24D2CC* - ID_OUI_FROM_DATABASE=SmartDrive Systems Inc. - -@@ -55438,6 +55456,9 @@ OUI:2CF203* - OUI:2CF4C5* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:2CFAA2* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:30055C* - ID_OUI_FROM_DATABASE=Brother industries, LTD. - -@@ -55708,6 +55729,9 @@ OUI:30F9ED* - OUI:30FD11* - ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. - -+OUI:3400A3* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:340286* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -56077,6 +56101,9 @@ OUI:38229D* - OUI:3822D6* - ID_OUI_FROM_DATABASE=H3C Technologies Co., Limited - -+OUI:38262B* -+ ID_OUI_FROM_DATABASE=UTran Technology -+ - OUI:3826CD* - ID_OUI_FROM_DATABASE=ANDTEK - -@@ -56395,6 +56422,9 @@ OUI:3C404F* - OUI:3C438E* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:3C46D8* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:3C4A92* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -56710,6 +56740,9 @@ OUI:404A18* - OUI:404D8E* - ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd - -+OUI:404EEB* -+ ID_OUI_FROM_DATABASE=Higher Way Electronic Co., Ltd. -+ - OUI:4050E0* - ID_OUI_FROM_DATABASE=Milton Security Group LLC - -@@ -57709,6 +57742,9 @@ OUI:4CB9C8* - OUI:4CBAA3* - ID_OUI_FROM_DATABASE=Bison Electronics Inc. - -+OUI:4CBB58* -+ ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. -+ - OUI:4CBCA5* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -57757,6 +57793,9 @@ OUI:4CEDDE* - OUI:4CF02E* - ID_OUI_FROM_DATABASE=Vifa Denmark A/S - -+OUI:4CF2BF* -+ ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd. -+ - OUI:4CF45B* - ID_OUI_FROM_DATABASE=Blue Clover Devices - -@@ -57994,6 +58033,9 @@ OUI:50B888* - OUI:50B8A2* - ID_OUI_FROM_DATABASE=ImTech Technologies LLC, - -+OUI:50BD5F* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:50C006* - ID_OUI_FROM_DATABASE=Carmanah Signs - -@@ -58285,6 +58327,9 @@ OUI:54D1B0* - OUI:54D46F* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:54DF00* -+ ID_OUI_FROM_DATABASE=Ulterius Technologies, LLC -+ - OUI:54DF63* - ID_OUI_FROM_DATABASE=Intrakey technologies GmbH - -@@ -58597,6 +58642,9 @@ OUI:58F6BF* - OUI:58F98E* - ID_OUI_FROM_DATABASE=SECUDOS GmbH - -+OUI:58FCDB* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:58FD20* - ID_OUI_FROM_DATABASE=Bravida Sakerhet AB - -@@ -58621,6 +58669,9 @@ OUI:5C1193* - OUI:5C1437* - ID_OUI_FROM_DATABASE=Thyssenkrupp Aufzugswerke GmbH - -+OUI:5C1515* -+ ID_OUI_FROM_DATABASE=ADVAN -+ - OUI:5C15E1* - ID_OUI_FROM_DATABASE=AIDC TECHNOLOGY (S) PTE LTD - -@@ -58891,12 +58942,18 @@ OUI:5CF96A* - OUI:5CF9DD* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:5CF9F0* -+ ID_OUI_FROM_DATABASE=Atomos Engineering P/L -+ - OUI:5CFF35* - ID_OUI_FROM_DATABASE=Wistron Corporation - - OUI:5CFFFF* - ID_OUI_FROM_DATABASE=Shenzhen Kezhonglong Optoelectronic Technology Co., Ltd - -+OUI:600292* -+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION -+ - OUI:6002B4* - ID_OUI_FROM_DATABASE=Wistron NeWeb Corp. - -@@ -59323,6 +59380,9 @@ OUI:644F74* - OUI:644FB0* - ID_OUI_FROM_DATABASE=Hyunjin.com - -+OUI:645106* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:64517E* - ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. - -@@ -59902,6 +59962,9 @@ OUI:68FB95* - OUI:68FCB3* - ID_OUI_FROM_DATABASE=Next Level Security Systems, Inc. - -+OUI:6C0273* -+ ID_OUI_FROM_DATABASE=Shenzhen Jin Yun Video Equipment Co., Ltd. -+ - OUI:6C0460* - ID_OUI_FROM_DATABASE=RBH Access Technologies Inc. - -@@ -60874,6 +60937,9 @@ OUI:781FDB* - OUI:78223D* - ID_OUI_FROM_DATABASE=Affirmed Networks - -+OUI:7824AF* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:782544* - ID_OUI_FROM_DATABASE=Omnima Limited - -@@ -60919,6 +60985,9 @@ OUI:784405* - OUI:784476* - ID_OUI_FROM_DATABASE=Zioncom technology co.,ltd - -+OUI:784561* -+ ID_OUI_FROM_DATABASE=CyberTAN Technology Inc. -+ - OUI:7845C4* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -61024,6 +61093,9 @@ OUI:789966* - OUI:78998F* - ID_OUI_FROM_DATABASE=MEDILINE ITALIA SRL - -+OUI:789CE7* -+ ID_OUI_FROM_DATABASE=Shenzhen Aikede Technology Co., Ltd -+ - OUI:789ED0* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -61480,6 +61552,9 @@ OUI:7CC8D7* - OUI:7CCB0D* - ID_OUI_FROM_DATABASE=Antaira Technologies, LLC - -+OUI:7CCCB8* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:7CCD11* - ID_OUI_FROM_DATABASE=MS-Magnet - -@@ -61945,6 +62020,9 @@ OUI:842F75* - OUI:8430E5* - ID_OUI_FROM_DATABASE=SkyHawke Technologies, LLC - -+OUI:8432EA* -+ ID_OUI_FROM_DATABASE=ANHUI WANZTEN P&T CO., LTD -+ - OUI:843497* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -63295,6 +63373,9 @@ OUI:94CDAC* - OUI:94CE2C* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -+OUI:94CE31* -+ ID_OUI_FROM_DATABASE=CTS Limited -+ - OUI:94D019* - ID_OUI_FROM_DATABASE=Cydle Corp. - -@@ -63409,6 +63490,9 @@ OUI:982CBE* - OUI:982D56* - ID_OUI_FROM_DATABASE=Resolution Audio - -+OUI:982F3C* -+ ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. -+ - OUI:983000* - ID_OUI_FROM_DATABASE=Beijing KEMACOM Technologies Co., Ltd. - -@@ -63508,6 +63592,9 @@ OUI:9876B6* - OUI:987770* - ID_OUI_FROM_DATABASE=Pep Digital Technology (Guangzhou) Co., Ltd - -+OUI:987E46* -+ ID_OUI_FROM_DATABASE=Emizon Networks Limited -+ - OUI:988217* - ID_OUI_FROM_DATABASE=Disruptive Ltd - -@@ -64303,6 +64390,9 @@ OUI:A40BED* - OUI:A40CC3* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:A41242* -+ ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ - OUI:A4134E* - ID_OUI_FROM_DATABASE=Luxul - -@@ -65740,6 +65830,9 @@ OUI:B4B5AF* - OUI:B4B676* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:B4B859* -+ ID_OUI_FROM_DATABASE=Texa Spa -+ - OUI:B4B88D* - ID_OUI_FROM_DATABASE=Thuh Company - -@@ -65815,6 +65908,9 @@ OUI:B80305* - OUI:B80415* - ID_OUI_FROM_DATABASE=Bayan Audio - -+OUI:B808CF* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:B80B9D* - ID_OUI_FROM_DATABASE=ROPEX Industrie-Elektronik GmbH - -@@ -66277,6 +66373,9 @@ OUI:BC5FF4* - OUI:BC629F* - ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. - -+OUI:BC671C* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:BC6778* - ID_OUI_FROM_DATABASE=Apple - -@@ -66412,6 +66511,9 @@ OUI:BCCFCC* - OUI:BCD177* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:BCD1D3* -+ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp -+ - OUI:BCD5B6* - ID_OUI_FROM_DATABASE=d2d technologies - -@@ -66706,6 +66808,9 @@ OUI:C0E54E* - OUI:C0EAE4* - ID_OUI_FROM_DATABASE=Sonicwall - -+OUI:C0EEFB* -+ ID_OUI_FROM_DATABASE=OnePlus Tech (Shenzhen) Ltd -+ - OUI:C0F1C4* - ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. - -@@ -66721,6 +66826,9 @@ OUI:C0F8DA* - OUI:C0F991* - ID_OUI_FROM_DATABASE=GME Standard Communications P/L - -+OUI:C40006* -+ ID_OUI_FROM_DATABASE=Lipi Data Systems Ltd. -+ - OUI:C40142* - ID_OUI_FROM_DATABASE=MaxMedia Technology Limited - -@@ -67885,6 +67993,9 @@ OUI:D09C30* - OUI:D09D0A* - ID_OUI_FROM_DATABASE=LINKCOM - -+OUI:D0A0D6* -+ ID_OUI_FROM_DATABASE=Chengdu TD Tech Ltd. -+ - OUI:D0A311* - ID_OUI_FROM_DATABASE=Neuberger Gebäudeautomation GmbH - -@@ -68126,7 +68237,7 @@ OUI:D45AB2* - ID_OUI_FROM_DATABASE=Galleon Systems - - OUI:D45C70* -- ID_OUI_FROM_DATABASE=Wireless Gigabit Alliance -+ ID_OUI_FROM_DATABASE=Wi-Fi Alliance - - OUI:D45D42* - ID_OUI_FROM_DATABASE=Nokia Corporation -@@ -68359,6 +68470,9 @@ OUI:D808F5* - OUI:D809C3* - ID_OUI_FROM_DATABASE=Cercacor Labs - -+OUI:D80CCF* -+ ID_OUI_FROM_DATABASE=C.G.V. S.A.S. -+ - OUI:D80DE3* - ID_OUI_FROM_DATABASE=FXI TECHNOLOGIES AS - -@@ -68386,6 +68500,9 @@ OUI:D81EDE* - OUI:D824BD* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:D82522* -+ ID_OUI_FROM_DATABASE=Pace plc -+ - OUI:D826B9* - ID_OUI_FROM_DATABASE=Guangdong Coagent Electronics S &T Co., Ltd. - -@@ -68521,6 +68638,9 @@ OUI:D89685* - OUI:D89695* - ID_OUI_FROM_DATABASE=Apple - -+OUI:D896E0* -+ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. -+ - OUI:D8973B* - ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - -@@ -68941,6 +69061,9 @@ OUI:E01C41* - OUI:E01CEE* - ID_OUI_FROM_DATABASE=Bravo Tech, Inc. - -+OUI:E01D38* -+ ID_OUI_FROM_DATABASE=Beijing HuaqinWorld Technology Co.,Ltd -+ - OUI:E01D3B* - ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd - -@@ -69373,6 +69496,9 @@ OUI:E47CF9* - OUI:E47D5A* - ID_OUI_FROM_DATABASE=Beijing Hanbang Technology Corp. - -+OUI:E47FB2* -+ ID_OUI_FROM_DATABASE=Fujitsu Limited -+ - OUI:E48184* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -@@ -69829,6 +69955,9 @@ OUI:EC219F* - OUI:EC2257* - ID_OUI_FROM_DATABASE=JiangSu NanJing University Electronic Information Technology Co.,Ltd - -+OUI:EC2280* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:EC233D* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -69970,6 +70099,9 @@ OUI:ECB106* - OUI:ECB541* - ID_OUI_FROM_DATABASE=SHINANO E and E Co.Ltd. - -+OUI:ECB907* -+ ID_OUI_FROM_DATABASE=CloudGenix Inc -+ - OUI:ECBBAE* - ID_OUI_FROM_DATABASE=Digivoice Tecnologia em Eletronica Ltda - -@@ -70189,6 +70321,9 @@ OUI:F0728C* - OUI:F073AE* - ID_OUI_FROM_DATABASE=PEAK-System Technik - -+OUI:F0761C* -+ ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. -+ - OUI:F07765* - ID_OUI_FROM_DATABASE=Sourcefire, Inc - -@@ -70378,6 +70513,9 @@ OUI:F40321* - OUI:F4044C* - ID_OUI_FROM_DATABASE=ValenceTech Limited - -+OUI:F40669* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:F4068D* - ID_OUI_FROM_DATABASE=devolo AG - -@@ -70642,6 +70780,9 @@ OUI:F4EC38* - OUI:F4F15A* - ID_OUI_FROM_DATABASE=Apple - -+OUI:F4F26D* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:F4F5A5* - ID_OUI_FROM_DATABASE=Nokia corporation - -@@ -70825,6 +70966,9 @@ OUI:F871FE* - OUI:F872EA* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:F87394* -+ ID_OUI_FROM_DATABASE=NETGEAR INC., -+ - OUI:F8769B* - ID_OUI_FROM_DATABASE=Neopis Co., Ltd. - -@@ -70915,6 +71059,9 @@ OUI:F8C001* - OUI:F8C091* - ID_OUI_FROM_DATABASE=Highgates Technology - -+OUI:F8C288* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F8C678* - ID_OUI_FROM_DATABASE=Carefusion - -@@ -71167,6 +71314,9 @@ OUI:FC683E* - OUI:FC6C31* - ID_OUI_FROM_DATABASE=LXinstruments GmbH - -+OUI:FC6DC0* -+ ID_OUI_FROM_DATABASE=BME CORPORATION -+ - OUI:FC7516* - ID_OUI_FROM_DATABASE=D-Link International - -@@ -71319,3 +71469,6 @@ OUI:FCFBFB* - - OUI:FCFE77* - ID_OUI_FROM_DATABASE=Hitachi Reftechno, Inc. -+ -+OUI:FCFFAA* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAL public listing for more information. -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 2957774..62941b9 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -4205,6 +4205,9 @@ pci:v00001002d00005F57* - pci:v00001002d00006600* - ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] - -+pci:v00001002d00006600sv0000103Csd00001952* -+ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] (ProBook 455 G1) -+ - pci:v00001002d00006601* - ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] - -@@ -4292,6 +4295,12 @@ pci:v00001002d00006640* - pci:v00001002d00006641* - ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] - -+pci:v00001002d00006646* -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon R9 M280X] -+ -+pci:v00001002d00006647* -+ ID_MODEL_FROM_DATABASE=Bonaire PRO [Radeon R9 M270X] -+ - pci:v00001002d00006649* - ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] - -@@ -6137,6 +6146,9 @@ pci:v00001002d0000683Dsv0000103Csd00006890* - pci:v00001002d0000683Dsv00001043sd00008760* - ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - -+pci:v00001002d0000683Dsv00001462sd00002710* -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (R7770-PMD1GD5) -+ - pci:v00001002d0000683Dsv0000174Bsd00008304* - ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - -@@ -7856,6 +7868,15 @@ pci:v00001002d00006901* - pci:v00001002d00006920* - ID_MODEL_FROM_DATABASE=Tonga - -+pci:v00001002d00006921* -+ ID_MODEL_FROM_DATABASE=Amethyst XT [Radeon R9 M295X] -+ -+pci:v00001002d0000692B* -+ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] -+ -+pci:v00001002d0000692F* -+ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] -+ - pci:v00001002d0000700F* - ID_MODEL_FROM_DATABASE=RS100 AGP Bridge - -@@ -24470,6 +24491,9 @@ pci:v000010DEd00000640* - pci:v000010DEd00000641* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] - -+pci:v000010DEd00000641sv00001682sd00004009* -+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) -+ - pci:v000010DEd00000643* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] - -@@ -26306,6 +26330,9 @@ pci:v000010DEd00000FD8* - pci:v000010DEd00000FD9* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 645M] - -+pci:v000010DEd00000FDB* -+ ID_MODEL_FROM_DATABASE=GK107M -+ - pci:v000010DEd00000FDF* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 740M] - -@@ -26861,6 +26888,12 @@ pci:v000010DEd00001140sv00001028sd000005E8* - pci:v000010DEd00001140sv00001028sd000005F4* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv00001028sd0000064E* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001028sd0000068D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv0000103Csd000018EF* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -@@ -27185,6 +27218,36 @@ pci:v000010DEd00001140sv000017AAsd00003803* - pci:v000010DEd00001140sv000017AAsd00003804* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv000017AAsd00003806* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) -+ -+pci:v000010DEd00001140sv000017AAsd00003808* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) -+ -+pci:v000010DEd00001140sv000017AAsd0000380D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd0000380E* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd0000380F* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003811* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003812* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003813* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003816* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003818* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv000017AAsd00003901* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) - -@@ -27260,12 +27323,27 @@ pci:v000010DEd00001140sv000017AAsd0000502E* - pci:v000010DEd00001140sv000017AAsd0000502F* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv000017AAsd00005030* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) -+ -+pci:v000010DEd00001140sv000017AAsd00005031* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) -+ -+pci:v000010DEd00001140sv000017AAsd00005032* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00005033* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv000017AAsd0000503E* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000503F* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -+pci:v000010DEd00001140sv000017AAsd00005040* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001854sd00000177* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - -@@ -28443,7 +28521,7 @@ pci:v000010ECd00008168sv00001043sd00008432* - ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) - - pci:v000010ECd00008168sv00001043sd00008505* -- ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8 series motherboard) - - pci:v000010ECd00008168sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) -@@ -35300,6 +35378,9 @@ pci:v000011ABd00007810* - pci:v000011ABd00007820* - ID_MODEL_FROM_DATABASE=MV78200 [Discovery Innovation] ARM SoC - -+pci:v000011ABd00007823* -+ ID_MODEL_FROM_DATABASE=MV78230 [Armada XP] ARM SoC -+ - pci:v000011ABd0000F003* - ID_MODEL_FROM_DATABASE=GT-64010 Primary Image Piranha Image Generator - -@@ -36602,17 +36683,20 @@ pci:v00001217d00008120* - pci:v00001217d00008130* - ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller - -+pci:v00001217d00008220* -+ ID_MODEL_FROM_DATABASE=OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller -+ - pci:v00001217d00008221* -- ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller -+ ID_MODEL_FROM_DATABASE=OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller - - pci:v00001217d00008320* -- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller -+ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller - - pci:v00001217d00008320sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) -+ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller (Precision M4600) - - pci:v00001217d00008321* -- ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller -+ ID_MODEL_FROM_DATABASE=OZ600RJ0/OZ900RJ0/OZ600RJS SD/MMC Card Reader Controller - - pci:v00001217d00008330* - ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller -@@ -46403,6 +46487,9 @@ pci:v000014F1d00008800sv00000070sd00009802* - pci:v000014F1d00008800sv00001002sd000000F8* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) - -+pci:v000014F1d00008800sv00001002sd000000F9* -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder) -+ - pci:v000014F1d00008800sv00001002sd0000A101* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) - -@@ -50978,6 +51065,12 @@ pci:v000018F4d00000125* - pci:v000018F4d00000135* - ID_MODEL_FROM_DATABASE=NT20E2-PTP Network Adapter 2x10Gb - -+pci:v000018F4d00000145* -+ ID_MODEL_FROM_DATABASE=NT40E3-4-PTP Network Adapter 4x10Gb -+ -+pci:v000018F4d00000155* -+ ID_MODEL_FROM_DATABASE=NT100E3-1-PTP Network Adapter 1x100Gb -+ - pci:v000018F6* - ID_VENDOR_FROM_DATABASE=NextIO - -@@ -55143,7 +55236,7 @@ pci:v00008086d00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller - - pci:v00008086d00000150sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) - - pci:v00008086d00000150sv00001849sd00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) -@@ -55229,6 +55322,9 @@ pci:v00008086d0000015E* - pci:v00008086d00000162* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -+pci:v00008086d00000162sv00001043sd000084CA* -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8 series motherboard) -+ - pci:v00008086d00000162sv00001849sd00000162* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) - -@@ -59061,10 +59157,10 @@ pci:v00008086d00001521sv00001028sd00000602* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) - - pci:v00008086d00001521sv00001028sd00001F60* -- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P I350-t rNDC) - - pci:v00008086d00001521sv00001028sd00001F62* -- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X540/I350 rNDC) - - pci:v00008086d00001521sv00001028sd0000FF9A* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) -@@ -59250,7 +59346,10 @@ pci:v00008086d00001533* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection - - pci:v00008086d00001533sv0000103Csd00000003* -- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) -+ -+pci:v00008086d00001533sv000010A9sd0000802C* -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) - - pci:v00008086d00001533sv000017AAsd00001100* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) -@@ -59261,15 +59360,15 @@ pci:v00008086d00001533sv00008086sd00000001* - pci:v00008086d00001533sv00008086sd00000002* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - --pci:v00008086d00001534* -- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -- - pci:v00008086d00001536* - ID_MODEL_FROM_DATABASE=I210 Gigabit Fiber Network Connection - - pci:v00008086d00001537* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - -+pci:v00008086d00001538* -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -+ - pci:v00008086d00001539* - ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection - -@@ -60267,7 +60366,7 @@ pci:v00008086d00001E02* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] - - pci:v00008086d00001E02sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8 series motherboard) - - pci:v00008086d00001E02sv00001849sd00001E02* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) -@@ -60374,6 +60473,9 @@ pci:v00008086d00001E20sv00001043sd00001517* - pci:v00008086d00001E20sv00001043sd00008415* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) - -+pci:v00008086d00001E20sv00001043sd00008445* -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (ASUS P8Z77-V LX Motherboard) -+ - pci:v00008086d00001E20sv00001849sd00001898* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) - -@@ -60387,7 +60489,7 @@ pci:v00008086d00001E22sv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E22sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8 series motherboard) - - pci:v00008086d00001E22sv00001849sd00001E22* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) -@@ -60411,7 +60513,7 @@ pci:v00008086d00001E26sv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E26sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) - - pci:v00008086d00001E26sv00001849sd00001E26* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) -@@ -60426,7 +60528,7 @@ pci:v00008086d00001E2Dsv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) - - pci:v00008086d00001E2Dsv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) - - pci:v00008086d00001E2Dsv00001849sd00001E2D* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) -@@ -60444,7 +60546,7 @@ pci:v00008086d00001E31sv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E31sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8 series motherboard) - - pci:v00008086d00001E31sv00001849sd00001E31* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) -@@ -60462,7 +60564,7 @@ pci:v00008086d00001E3Asv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E3Asv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8 series motherboard) - - pci:v00008086d00001E3Asv00001849sd00001E3A* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) -@@ -60488,6 +60590,9 @@ pci:v00008086d00001E43* - pci:v00008086d00001E44* - ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller - -+pci:v00008086d00001E44sv00001043sd000084CA* -+ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (P8 series motherboard) -+ - pci:v00008086d00001E44sv00001849sd00001E44* - ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 52586bc..05f267d 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -41163,7 +41163,7 @@ usb:v1234pED02* - ID_MODEL_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle - - usb:v1235* -- ID_VENDOR_FROM_DATABASE=Novation EMS -+ ID_VENDOR_FROM_DATABASE=Focusrite-Novation - - usb:v1235p0001* - ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition -@@ -41729,6 +41729,9 @@ usb:v12D1p155A* - usb:v12D1p1575* - ID_MODEL_FROM_DATABASE=K5150 LTE modem - -+usb:v12D1p15CA* -+ ID_MODEL_FROM_DATABASE=E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode) -+ - usb:v12D1p1805* - ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone - -@@ -41744,6 +41747,12 @@ usb:v12D1p1C20* - usb:v12D1p1D50* - ID_MODEL_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband - -+usb:v12D1p1F01* -+ ID_MODEL_FROM_DATABASE=E353/E3131 (Mass storage mode) -+ -+usb:v12D1p1F16* -+ ID_MODEL_FROM_DATABASE=K5150 LTE modem (Mass Storage Mode) -+ - usb:v12D1p380B* - ID_MODEL_FROM_DATABASE=WiMAX USB modem(s) - -@@ -41762,6 +41771,12 @@ usb:v12D6p0888* - usb:v12D7* - ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD. - -+usb:v12D8* -+ ID_VENDOR_FROM_DATABASE=Araneus Information Systems Oy -+ -+usb:v12D8p0001* -+ ID_MODEL_FROM_DATABASE=Alea I True Random Number Generator -+ - usb:v12E6* - ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH - -@@ -41805,7 +41820,7 @@ usb:v1307p0163* - ID_MODEL_FROM_DATABASE=256MB/512MB/1GB Flash Drive - - usb:v1307p0165* -- ID_MODEL_FROM_DATABASE=2GB/4GB Flash Drive -+ ID_MODEL_FROM_DATABASE=2GB/4GB/8GB Flash Drive - - usb:v1307p0190* - ID_MODEL_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader -@@ -41846,6 +41861,51 @@ usb:v1312* - usb:v1313* - ID_VENDOR_FROM_DATABASE=ThorLabs - -+usb:v1313p0010* -+ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (Jungo) -+ -+usb:v1313p0011* -+ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (Jungo) -+ -+usb:v1313p0012* -+ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (Jungo) -+ -+usb:v1313p0110* -+ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (VISA) -+ -+usb:v1313p0111* -+ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (VISA) -+ -+usb:v1313p0112* -+ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (VISA) -+ -+usb:v1313p8001* -+ ID_MODEL_FROM_DATABASE=TXP-Series Slot (TXP5001, TXP5004) -+ -+usb:v1313p8012* -+ ID_MODEL_FROM_DATABASE=BC106 Camera Beam Profiler -+ -+usb:v1313p8013* -+ ID_MODEL_FROM_DATABASE=WFS10 Wavefront Sensor -+ -+usb:v1313p8017* -+ ID_MODEL_FROM_DATABASE=BC206 Camera Beam Profiler -+ -+usb:v1313p8019* -+ ID_MODEL_FROM_DATABASE=BP2 Multi Slit Beam Profiler -+ -+usb:v1313p8020* -+ ID_MODEL_FROM_DATABASE=PM300 Optical Power Meter -+ -+usb:v1313p8021* -+ ID_MODEL_FROM_DATABASE=PM300E Optical Power and Energy Meter -+ -+usb:v1313p8022* -+ ID_MODEL_FROM_DATABASE=PM320E Optical Power and Energy Meter -+ -+usb:v1313p8030* -+ ID_MODEL_FROM_DATABASE=ER100 Extinction Ratio Meter -+ - usb:v1313p8070* - ID_MODEL_FROM_DATABASE=PM100D - -@@ -41975,6 +42035,18 @@ usb:v1342p0204* - usb:v1342p0304* - ID_MODEL_FROM_DATABASE=EasiDock Ethernet - -+usb:v1343* -+ ID_VENDOR_FROM_DATABASE=Citizen Systems -+ -+usb:v1343p0003* -+ ID_MODEL_FROM_DATABASE=CX / DNP DS40 -+ -+usb:v1343p0004* -+ ID_MODEL_FROM_DATABASE=CX-W / DNP DS80 -+ -+usb:v1343p0005* -+ ID_MODEL_FROM_DATABASE=CY / DNP DSRX -+ - usb:v1345* - ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp. - -@@ -42002,6 +42074,12 @@ usb:v1347p0403* - usb:v1347p0404* - ID_MODEL_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD - -+usb:v1347p0405* -+ ID_MODEL_FROM_DATABASE=Gx CCD-I CCD -+ -+usb:v1347p0406* -+ ID_MODEL_FROM_DATABASE=Gx CCD-F CCD -+ - usb:v1347p0410* - ID_MODEL_FROM_DATABASE=G1-0400 CCD - -@@ -42149,6 +42227,9 @@ usb:v138Ap003C* - usb:v138Ap003D* - ID_MODEL_FROM_DATABASE=VFS491 - -+usb:v138Ap0050* -+ ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor -+ - usb:v138E* - ID_VENDOR_FROM_DATABASE=Jungo LTD - -@@ -42161,6 +42242,9 @@ usb:v1390* - usb:v1390p0001* - ID_MODEL_FROM_DATABASE=GO 520 T/GO 630/ONE XL (v9) - -+usb:v1390p5454* -+ ID_MODEL_FROM_DATABASE=Blue & Me 2 -+ - usb:v1391* - ID_VENDOR_FROM_DATABASE=IdealTEK, Inc. - -@@ -42263,6 +42347,15 @@ usb:v13B1p0039* - usb:v13B1p003A* - ID_MODEL_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236] - -+usb:v13B1p003B* -+ ID_MODEL_FROM_DATABASE=AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573] -+ -+usb:v13B1p003E* -+ ID_MODEL_FROM_DATABASE=AE6000 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] -+ -+usb:v13B1p003F* -+ ID_MODEL_FROM_DATABASE=WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] -+ - usb:v13B1p13B1* - ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster - -@@ -42446,6 +42539,12 @@ usb:v13D3p3315* - usb:v13D3p3375* - ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter - -+usb:v13D3p3392* -+ ID_MODEL_FROM_DATABASE=Azurewave 43228+20702 -+ -+usb:v13D3p3394* -+ ID_MODEL_FROM_DATABASE=Bluetooth -+ - usb:v13D3p5070* - ID_MODEL_FROM_DATABASE=Webcam - -@@ -42458,6 +42557,9 @@ usb:v13D3p5115* - usb:v13D3p5116* - ID_MODEL_FROM_DATABASE=Integrated Webcam - -+usb:v13D3p5122* -+ ID_MODEL_FROM_DATABASE=2M Integrated Webcam -+ - usb:v13D3p5126* - ID_MODEL_FROM_DATABASE=PC Cam - -@@ -42524,6 +42626,9 @@ usb:v13FDp0840* - usb:v13FDp0841* - ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW - -+usb:v13FDp1040* -+ ID_MODEL_FROM_DATABASE=INIC-1511L PATA Bridge -+ - usb:v13FDp1340* - ID_MODEL_FROM_DATABASE=Hi-Speed USB to SATA Bridge - -@@ -42533,9 +42638,15 @@ usb:v13FDp160F* - usb:v13FDp1640* - ID_MODEL_FROM_DATABASE=INIC-1610L SATA Bridge - -+usb:v13FDp1669* -+ ID_MODEL_FROM_DATABASE=INIC-1609PN -+ - usb:v13FDp1840* - ID_MODEL_FROM_DATABASE=INIC-1608 SATA bridge - -+usb:v13FDp1E40* -+ ID_MODEL_FROM_DATABASE=INIC-1610P SATA bridge -+ - usb:v13FE* - ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc. - -@@ -42555,10 +42666,10 @@ usb:v13FEp1E50* - ID_MODEL_FROM_DATABASE=U3 Smart Drive - - usb:v13FEp1F00* -- ID_MODEL_FROM_DATABASE=DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive -+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler / Patriot Xporter - - usb:v13FEp1F23* -- ID_MODEL_FROM_DATABASE=2Gb -+ ID_MODEL_FROM_DATABASE=PS2232 flash drive controller - - usb:v13FEp2240* - ID_MODEL_FROM_DATABASE=microSD card reader -@@ -42569,12 +42680,18 @@ usb:v13FEp3100* - usb:v13FEp3123* - ID_MODEL_FROM_DATABASE=Verbatim STORE N GO 4GB - -+usb:v13FEp3600* -+ ID_MODEL_FROM_DATABASE=flash drive (4GB, EMTEC) -+ - usb:v13FEp3800* - ID_MODEL_FROM_DATABASE=Rage XT Flash Drive - - usb:v13FEp3E00* - ID_MODEL_FROM_DATABASE=Flash Drive - -+usb:v13FEp5000* -+ ID_MODEL_FROM_DATABASE=USB flash drive (32 GB SHARKOON Accelerate) -+ - usb:v13FEp5100* - ID_MODEL_FROM_DATABASE=Flash Drive - -@@ -42674,6 +42791,12 @@ usb:v1415p2000* - usb:v1419* - ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD. - -+usb:v1421* -+ ID_VENDOR_FROM_DATABASE=Sensor Technology -+ -+usb:v1421p0605* -+ ID_MODEL_FROM_DATABASE=Sentech Camera -+ - usb:v1429* - ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co. - -@@ -42776,6 +42899,18 @@ usb:v1457p5118* - usb:v1457p5119* - ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port - -+usb:v1457p511A* -+ ID_MODEL_FROM_DATABASE=HXD8 u-boot usbtty CDC ACM Mode -+ -+usb:v1457p511B* -+ ID_MODEL_FROM_DATABASE=SMDK2440 u-boot usbtty CDC ACM mode -+ -+usb:v1457p511C* -+ ID_MODEL_FROM_DATABASE=SMDK2443 u-boot usbtty CDC ACM mode -+ -+usb:v1457p511D* -+ ID_MODEL_FROM_DATABASE=QT2410 u-boot usbtty CDC ACM mode -+ - usb:v1457p5120* - ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial - -@@ -42935,6 +43070,9 @@ usb:v148E* - usb:v148F* - ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp. - -+usb:v148Fp1000* -+ ID_MODEL_FROM_DATABASE=Motorola BC4 Bluetooth 3.0+HS Adapter -+ - usb:v148Fp1706* - ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter - -@@ -42983,6 +43121,9 @@ usb:v148Fp5372* - usb:v148Fp5572* - ID_MODEL_FROM_DATABASE=RT5572 Wireless Adapter - -+usb:v148Fp7601* -+ ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter -+ - usb:v148Fp9020* - ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter - -@@ -42998,6 +43139,15 @@ usb:v1491p0020* - usb:v1493* - ID_VENDOR_FROM_DATABASE=Suunto - -+usb:v1493p0010* -+ ID_MODEL_FROM_DATABASE=Bluebird [Ambit] -+ -+usb:v1493p0019* -+ ID_MODEL_FROM_DATABASE=Duck [Ambit2] -+ -+usb:v1493p001A* -+ ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] -+ - usb:v1497* - ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. - -@@ -43118,6 +43268,9 @@ usb:v14CD* - usb:v14CDp121C* - ID_MODEL_FROM_DATABASE=microSD card reader - -+usb:v14CDp121F* -+ ID_MODEL_FROM_DATABASE=microSD CardReader SY-T18 -+ - usb:v14CDp123A* - ID_MODEL_FROM_DATABASE=SD/MMC/RS-MMC Card Reader - -@@ -43131,7 +43284,7 @@ usb:v14CDp6116* - ID_MODEL_FROM_DATABASE=M6116 SATA Bridge - - usb:v14CDp6600* -- ID_MODEL_FROM_DATABASE=USB 2.0 IDE DEVICE -+ ID_MODEL_FROM_DATABASE=M110E PATA bridge - - usb:v14CDp6700* - ID_MODEL_FROM_DATABASE=Card Reader -@@ -43166,6 +43319,9 @@ usb:v14E1* - usb:v14E1p5000* - ID_MODEL_FROM_DATABASE=PenMount 5000 Touch Controller - -+usb:v14E4* -+ ID_VENDOR_FROM_DATABASE=Broadcom Corp. -+ - usb:v14E5* - ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd. - -@@ -43214,6 +43370,15 @@ usb:v1501* - usb:v1509* - ID_VENDOR_FROM_DATABASE=First International Computer, Inc. - -+usb:v1509p0A01* -+ ID_MODEL_FROM_DATABASE=LI-3100 Area Meter -+ -+usb:v1509p0A02* -+ ID_MODEL_FROM_DATABASE=LI-7000 CO2/H2O Gas Analyzer -+ -+usb:v1509p0A03* -+ ID_MODEL_FROM_DATABASE=C-DiGit Blot Scanner -+ - usb:v1509p9242* - ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver - -@@ -43253,6 +43418,12 @@ usb:v1518p0001* - usb:v1518p0002* - ID_MODEL_FROM_DATABASE=HDReye (before firmware loads) - -+usb:v1519* -+ ID_VENDOR_FROM_DATABASE=Comneon -+ -+usb:v1519p0020* -+ ID_MODEL_FROM_DATABASE=HSIC Device -+ - usb:v1520* - ID_VENDOR_FROM_DATABASE=Bitwire Corp. - -@@ -43280,6 +43451,15 @@ usb:v1529p3100* - usb:v152A* - ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH - -+usb:v152Ap8400* -+ ID_MODEL_FROM_DATABASE=INI DVS128 -+ -+usb:v152Ap840D* -+ ID_MODEL_FROM_DATABASE=INI DAViS -+ -+usb:v152Ap841A* -+ ID_MODEL_FROM_DATABASE=INI DAViS FX3 -+ - usb:v152D* - ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp. - -@@ -43337,6 +43517,9 @@ usb:v1532p0007* - usb:v1532p0013* - ID_MODEL_FROM_DATABASE=Orochi mouse - -+usb:v1532p0015* -+ ID_MODEL_FROM_DATABASE=Naga Mouse -+ - usb:v1532p0016* - ID_MODEL_FROM_DATABASE=DeathAdder Mouse - -@@ -43364,9 +43547,21 @@ usb:v1532p0102* - usb:v1532p0109* - ID_MODEL_FROM_DATABASE=Lycosa Keyboard - -+usb:v1532p0113* -+ ID_MODEL_FROM_DATABASE=RZ07-0074 Gaming Keypad [Orbweaver] -+ - usb:v1532p0300* - ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra] - -+usb:v153B* -+ ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH -+ -+usb:v153Bp1181* -+ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 1 -+ -+usb:v153Bp1182* -+ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 2 -+ - usb:v1546* - ID_VENDOR_FROM_DATABASE=U-Blox AG - -@@ -43388,12 +43583,18 @@ usb:v154B* - usb:v154Bp0010* - ID_MODEL_FROM_DATABASE=USB 2.0 Flash Drive - -+usb:v154Bp0048* -+ ID_MODEL_FROM_DATABASE=Flash Drive -+ - usb:v154Bp004D* - ID_MODEL_FROM_DATABASE=8 GB Flash Drive - - usb:v154Bp0057* - ID_MODEL_FROM_DATABASE=32GB Micro Slide Attache Flash Drive - -+usb:v154Bp007A* -+ ID_MODEL_FROM_DATABASE=8GB Classic Attache Flash Drive -+ - usb:v154Bp6545* - ID_MODEL_FROM_DATABASE=FD Device - -@@ -43530,7 +43731,10 @@ usb:v15A2p0052* - ID_MODEL_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode - - usb:v15A2p0054* -- ID_MODEL_FROM_DATABASE=i.MX6Q SystemOnChip in RecoveryMode -+ ID_MODEL_FROM_DATABASE=i.MX 6Dual/6Quad SystemOnChip in RecoveryMode -+ -+usb:v15A2p0061* -+ ID_MODEL_FROM_DATABASE=i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode - - usb:v15A4* - ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc. -@@ -43640,6 +43844,9 @@ usb:v15C2p0036* - usb:v15C2p0038* - ID_MODEL_FROM_DATABASE=GD01 MX LCD Display/IR Receiver - -+usb:v15C2p0042* -+ ID_MODEL_FROM_DATABASE=Antec Veris Multimedia Station E-Z IR Receiver -+ - usb:v15C2pFFDA* - ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller - -@@ -43724,6 +43931,9 @@ usb:v15D9p0A4C* - usb:v15D9p0A4D* - ID_MODEL_FROM_DATABASE=Optical Mouse - -+usb:v15D9p0A4F* -+ ID_MODEL_FROM_DATABASE=Optical Mouse -+ - usb:v15DC* - ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc. - -@@ -44507,6 +44717,15 @@ usb:v1690p0740* - usb:v1690p0901* - ID_MODEL_FROM_DATABASE=Voyager 205 ADSL Router - -+usb:v1690p2000* -+ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard -+ -+usb:v1690p2001* -+ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard -+ -+usb:v1690pFE12* -+ ID_MODEL_FROM_DATABASE=Bootloader -+ - usb:v1696* - ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc. - -@@ -44669,6 +44888,9 @@ usb:v16C0p06B4* - usb:v16C0p06B5* - ID_MODEL_FROM_DATABASE=USB2LPT with 3 interfaces (native, HID, printer) - -+usb:v16C0p0762* -+ ID_MODEL_FROM_DATABASE=Osmocom SIMtrace -+ - usb:v16C0p076B* - ID_MODEL_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader - -@@ -44759,6 +44981,15 @@ usb:v16D0p075D* - usb:v16D0p080A* - ID_MODEL_FROM_DATABASE=S2E1 Interface - -+usb:v16D0p0870* -+ ID_MODEL_FROM_DATABASE=Kaufmann Automotive GmbH, RKS+CAN Interface -+ -+usb:v16D1* -+ ID_VENDOR_FROM_DATABASE=Suprema Inc. -+ -+usb:v16D1p0401* -+ ID_MODEL_FROM_DATABASE=SUP-SFR400(A) BioMini Fingerprint Reader -+ - usb:v16D3* - ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc. - -@@ -44774,6 +45005,9 @@ usb:v16D5p6501* - usb:v16D5p6502* - ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem - -+usb:v16D5p6603* -+ ID_MODEL_FROM_DATABASE=ADU-890WH modem -+ - usb:v16D6* - ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o. - -@@ -44870,6 +45104,18 @@ usb:v170Bp0011* - usb:v170D* - ID_VENDOR_FROM_DATABASE=Avnera - -+usb:v1711* -+ ID_VENDOR_FROM_DATABASE=Leica Microsystems -+ -+usb:v1711p3020* -+ ID_MODEL_FROM_DATABASE=IC80 HD Camera -+ -+usb:v1724* -+ ID_VENDOR_FROM_DATABASE=Meyer Instruments (MIS) -+ -+usb:v1724p0115* -+ ID_MODEL_FROM_DATABASE=PAXcam5 -+ - usb:v1725* - ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor - -@@ -44957,9 +45203,21 @@ usb:v1737p0078* - usb:v1737p0079* - ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572] - -+usb:v173D* -+ ID_VENDOR_FROM_DATABASE=QSENN -+ -+usb:v173Dp0002* -+ ID_MODEL_FROM_DATABASE=GP-K7000 keyboard -+ - usb:v1740* - ID_VENDOR_FROM_DATABASE=Senao - -+usb:v1740p0100* -+ ID_MODEL_FROM_DATABASE=EUB1200AC AC1200 DB Wireless Adapter [Realtek RTL8812AU] -+ -+usb:v1740p0600* -+ ID_MODEL_FROM_DATABASE=EUB600v1 802.11abgn Wireless Adapter [Ralink RT3572] -+ - usb:v1740p0605* - ID_MODEL_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter - -@@ -45002,14 +45260,20 @@ usb:v1743* - usb:v1748* - ID_VENDOR_FROM_DATABASE=MQP Electronics - -+usb:v1748p0101* -+ ID_MODEL_FROM_DATABASE=Packet-Master USB12 -+ - usb:v174C* - ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. - - usb:v174Cp5106* - ID_MODEL_FROM_DATABASE=Transcend StoreJet 25M3 - -+usb:v174Cp5136* -+ ID_MODEL_FROM_DATABASE=ASM1053 SATA 6Gb/s bridge -+ - usb:v174Cp55AA* -- ID_MODEL_FROM_DATABASE=ASMedia 2105 SATA bridge -+ ID_MODEL_FROM_DATABASE=ASM1051 SATA 3Gb/s bridge - - usb:v174F* - ID_VENDOR_FROM_DATABASE=Syntek -@@ -45137,6 +45401,9 @@ usb:v1781p0C31* - usb:v1781p0C9F* - ID_MODEL_FROM_DATABASE=USBtiny - -+usb:v1781p1EEF* -+ ID_MODEL_FROM_DATABASE=OpenAPC SecuKey -+ - usb:v1782* - ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc. - -@@ -45206,6 +45473,9 @@ usb:v17A0p0100* - usb:v17A0p0101* - ID_MODEL_FROM_DATABASE=UB1 boundary microphone - -+usb:v17A0p0120* -+ ID_MODEL_FROM_DATABASE=Meteorite condenser microphone -+ - usb:v17A0p0200* - ID_MODEL_FROM_DATABASE=StudioDock monitors (internal hub) - -@@ -45221,6 +45491,9 @@ usb:v17A0p0301* - usb:v17A0p0302* - ID_MODEL_FROM_DATABASE=GoMic compact condenser microphone - -+usb:v17A0p0303* -+ ID_MODEL_FROM_DATABASE=C01U Pro condenser microphone -+ - usb:v17A0p0304* - ID_MODEL_FROM_DATABASE=Q2U handheld mic with XLR - -@@ -45371,6 +45644,9 @@ usb:v17E9p037C* - usb:v17E9p037D* - ID_MODEL_FROM_DATABASE=Plugable USB2-HDMI-165 - -+usb:v17E9p410A* -+ ID_MODEL_FROM_DATABASE=HDMI Adapter -+ - usb:v17E9p430A* - ID_MODEL_FROM_DATABASE=HP Port Replicator (Composite Device) - -@@ -45383,6 +45659,9 @@ usb:v17EB* - usb:v17EF* - ID_VENDOR_FROM_DATABASE=Lenovo - -+usb:v17EFp1000* -+ ID_MODEL_FROM_DATABASE=Hub -+ - usb:v17EFp1003* - ID_MODEL_FROM_DATABASE=Integrated Smart Card Reader - -@@ -45395,6 +45674,9 @@ usb:v17EFp1008* - usb:v17EFp100A* - ID_MODEL_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3 - -+usb:v17EFp304B* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [ThinkPad OneLink GigaLAN] -+ - usb:v17EFp3815* - ID_MODEL_FROM_DATABASE=ChipsBnk 2GB USB Stick - -@@ -45455,6 +45737,12 @@ usb:v17EFp6009* - usb:v17EFp6014* - ID_MODEL_FROM_DATABASE=Mini Wireless Keyboard N5901 - -+usb:v17EFp6025* -+ ID_MODEL_FROM_DATABASE=ThinkPad Travel Mouse -+ -+usb:v17EFp7203* -+ ID_MODEL_FROM_DATABASE=Ethernet adapter [U2L 100P-Y1] -+ - usb:v17EFp7423* - ID_MODEL_FROM_DATABASE=IdeaPad A1 Tablet - --- -1.7.9.2 - diff --git a/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch b/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch deleted file mode 100644 index ea295af2..00000000 --- a/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch +++ /dev/null @@ -1,34 +0,0 @@ -Based on 1727a595225132eb73ec134b6979d9c713b42e8c Mon Sep 17 00:00:00 2001 -From: Michael Marineau -Date: Mon, 12 May 2014 09:26:16 +0200 -Subject: [PATCH] job: always add waiting jobs to run queue during coldplug - -commit 20a83d7bf was not equivalent to the original bug fix proposed by -Michal Sekletar . The committed version only added -the job to the run queue if the job had a timeout, which most jobs do -not have. Just re-ordering the code gets us the intended functionality ---- - src/core/job.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- src/core/job.c -+++ src/core/job.c 2014-05-12 13:11:24.918735646 +0000 -@@ -1051,15 +1051,15 @@ int job_coldplug(Job *j) { - - assert(j); - -+ if (j->state == JOB_WAITING) -+ job_add_to_run_queue(j); -+ - if (j->begin_usec == 0 || j->unit->job_timeout == 0) - return 0; - - if (j->timer_event_source) - j->timer_event_source = sd_event_source_unref(j->timer_event_source); - -- if (j->state == JOB_WAITING) -- job_add_to_run_queue(j); -- - r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); - if (r < 0) - log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0005-journalctl-correct-help-text-for-until.patch b/0005-journalctl-correct-help-text-for-until.patch deleted file mode 100644 index 77563faf..00000000 --- a/0005-journalctl-correct-help-text-for-until.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on 7558251eef610e71595a0aa48952479906cb899a Mon Sep 17 00:00:00 2001 -From: Santiago Vila -Date: Sat, 25 Oct 2014 10:40:30 -0400 -Subject: [PATCH] journalctl: correct help text for --until - -http://bugs.debian.org/766598 ---- - src/journal/journalctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/journal/journalctl.c -+++ src/journal/journalctl.c 2014-10-29 14:10:18.863838313 +0000 -@@ -171,7 +171,7 @@ static int help(void) { - " --user Show only the user journal for the current user\n" - " -M --machine=CONTAINER Operate on local container\n" - " --since=DATE Start showing entries on or newer than the specified date\n" -- " --until=DATE Stop showing entries on or older than the specified date\n" -+ " --until=DATE Stop showing entries on or newer than the specified date\n" - " -c --cursor=CURSOR Start showing entries from the specified cursor\n" - " --after-cursor=CURSOR Start showing entries from after the specified cursor\n" - " --show-cursor Print the cursor after all the entries\n" diff --git a/0005-login-fix-mem-leak.patch b/0005-login-fix-mem-leak.patch deleted file mode 100644 index 69206fd5..00000000 --- a/0005-login-fix-mem-leak.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 13f493dc9ace9861c1f27c4d37e8cd6d52fe6a32 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sun, 31 Aug 2014 23:34:01 +0200 -Subject: [PATCH] login: fix mem leak - ---- - src/login/logind-session.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-09-01 12:59:27.870235647 +0000 -@@ -1101,8 +1101,10 @@ int session_set_controller(Session *s, c - * If logind crashes/restarts, we restore the controller during restart - * or reset the VT in case it crashed/exited, too. */ - r = session_mute_vt(s); -- if (r < 0) -+ if (r < 0) { -+ free(t); - return r; -+ } - - session_swap_controller(s, t); - diff --git a/0005-logind-fix-policykit-checks.patch b/0005-logind-fix-policykit-checks.patch deleted file mode 100644 index 69cf61a6..00000000 --- a/0005-logind-fix-policykit-checks.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 055d406624cb9e01963558767420b71e5f75d2d3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 10 Mar 2014 08:25:15 -0400 -Subject: [PATCH] logind: fix policykit checks - ---- - src/login/logind-dbus.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git src/login/logind-dbus.c src/login/logind-dbus.c -index c9c58f3..235b131 100644 ---- src/login/logind-dbus.c -+++ src/login/logind-dbus.c -@@ -1480,6 +1480,8 @@ static int method_do_shutdown_or_sleep( - action_multiple_sessions, interactive, error, method, m); - if (r < 0) - return r; -+ if (r == 0) -+ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - - if (blocked) { -@@ -1487,6 +1489,8 @@ static int method_do_shutdown_or_sleep( - action_ignore_inhibit, interactive, error, method, m); - if (r < 0) - return r; -+ if (r == 0) -+ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - - if (!multiple_sessions && !blocked) { -@@ -1494,6 +1498,8 @@ static int method_do_shutdown_or_sleep( - action, interactive, error, method, m); - if (r < 0) - return r; -+ if (r == 0) -+ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - - r = bus_manager_shutdown_or_sleep_now_or_later(m, unit_name, w, error); --- -1.7.9.2 - diff --git a/0005-logind-fix-typo.patch b/0005-logind-fix-typo.patch deleted file mode 100644 index 79916e75..00000000 --- a/0005-logind-fix-typo.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2b2332856bafe25c4aa17db2a90bdcddef1fec1a Mon Sep 17 00:00:00 2001 -From: Ronny Chevalier -Date: Wed, 17 Sep 2014 20:10:44 +0200 -Subject: [PATCH] logind: fix typo - ---- - src/login/logind-session-dbus.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/logind-session-dbus.c src/login/logind-session-dbus.c -index 7d81500..58836fc 100644 ---- src/login/logind-session-dbus.c -+++ src/login/logind-session-dbus.c -@@ -249,7 +249,7 @@ static int method_set_idle_hint(sd_bus *bus, sd_bus_message *message, void *user - return r; - - if (uid != 0 && uid != s->user->uid) -- return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session my set idle hint"); -+ return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session may set idle hint"); - - session_set_idle_hint(s, b); - --- -1.7.9.2 - diff --git a/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch b/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch deleted file mode 100644 index aaae9d12..00000000 --- a/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch +++ /dev/null @@ -1,119 +0,0 @@ -From b5d3e1688133077ca20542a20dcd8919147e72e1 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 11 Mar 2014 22:38:54 +0100 -Subject: [PATCH] logind: move lid switch handling from logind-main to - logind-core - -../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore' -collect2: error: ld returned 1 exit status -make[2]: *** [test-login-tables] ---- - src/login/logind-dbus.c | 40 ++++++++++++++++++++++++++++++++++++++++ - src/login/logind.c | 40 ---------------------------------------- - 2 files changed, 40 insertions(+), 40 deletions(-) - -diff --git src/login/logind-dbus.c src/login/logind-dbus.c -index c5f9cb3..2ef87f7 100644 ---- src/login/logind-dbus.c -+++ src/login/logind-dbus.c -@@ -1305,6 +1305,46 @@ static int bus_manager_log_shutdown( - q, NULL); - } - -+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(e); -+ assert(m); -+ -+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); -+ return 0; -+} -+ -+int manager_set_lid_switch_ignore(Manager *m, usec_t until) { -+ int r; -+ -+ assert(m); -+ -+ if (until <= now(CLOCK_MONOTONIC)) -+ return 0; -+ -+ /* We want to ignore the lid switch for a while after each -+ * suspend, and after boot-up. Hence let's install a timer for -+ * this. As long as the event source exists we ignore the lid -+ * switch. */ -+ -+ if (m->lid_switch_ignore_event_source) { -+ usec_t u; -+ -+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); -+ if (r < 0) -+ return r; -+ -+ if (until <= u) -+ return 0; -+ -+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); -+ } else -+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); -+ -+ return r; -+} -+ - static int execute_shutdown_or_sleep( - Manager *m, - InhibitWhat w, -diff --git src/login/logind.c src/login/logind.c -index 03b7753..2d734ff 100644 ---- src/login/logind.c -+++ src/login/logind.c -@@ -962,46 +962,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us - return 0; - } - --static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { -- Manager *m = userdata; -- -- assert(e); -- assert(m); -- -- m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); -- return 0; --} -- --int manager_set_lid_switch_ignore(Manager *m, usec_t until) { -- int r; -- -- assert(m); -- -- if (until <= now(CLOCK_MONOTONIC)) -- return 0; -- -- /* We want to ignore the lid switch for a while after each -- * suspend, and after boot-up. Hence let's install a timer for -- * this. As long as the event source exists we ignore the lid -- * switch. */ -- -- if (m->lid_switch_ignore_event_source) { -- usec_t u; -- -- r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); -- if (r < 0) -- return r; -- -- if (until <= u) -- return 0; -- -- r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); -- } else -- r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); -- -- return r; --} -- - int manager_startup(Manager *m) { - int r; - Seat *seat; --- -1.7.9.2 - diff --git a/0005-man-fix-path-in-crypttab-5.patch b/0005-man-fix-path-in-crypttab-5.patch deleted file mode 100644 index d0aef604..00000000 --- a/0005-man-fix-path-in-crypttab-5.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9fcdf32294e66f91d2a177f73a77049832768311 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 23 Jun 2014 23:07:53 -0400 -Subject: [PATCH] man: fix path in crypttab(5) - -https://bugs.freedesktop.org/show_bug.cgi?id=75816 ---- - man/crypttab.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git man/crypttab.xml man/crypttab.xml -index 668e51d..9030015 100644 ---- man/crypttab.xml -+++ man/crypttab.xml -@@ -369,7 +369,7 @@ - luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b - swap /dev/sda7 /dev/urandom swap - truecrypt /dev/sda2 /etc/container_password tcrypt --hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile -+hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile - - - --- -1.7.9.2 - diff --git a/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch b/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch deleted file mode 100644 index e5b6706d..00000000 --- a/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 28650077f36466d9c5ee27ef2006fae3171a2430 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 30 Jun 2014 16:22:12 +0200 -Subject: [PATCH] nspawn: block open_by_handle_at() and others via seccomp - -Let's protect ourselves against the recently reported docker security -issue. Our man page makes clear that we do not make any security -promises anyway, but well, this one is easy to mitigate, so let's do it. -While we are at it block a couple of more syscalls that are no good in -containers, too. ---- - src/nspawn/nspawn.c | 47 +++++++++++++++++++++++++++++++++++------------ - 1 file changed, 35 insertions(+), 12 deletions(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index fd61d07..656c1bf 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1864,22 +1864,25 @@ static int setup_macvlan(pid_t pid) { - return 0; - } - --static int audit_still_doesnt_work_in_containers(void) { -+static int setup_seccomp(void) { - - #ifdef HAVE_SECCOMP -+ static const int blacklist[] = { -+ SCMP_SYS(kexec_load), -+ SCMP_SYS(open_by_handle_at), -+ SCMP_SYS(init_module), -+ SCMP_SYS(finit_module), -+ SCMP_SYS(delete_module), -+ SCMP_SYS(iopl), -+ SCMP_SYS(ioperm), -+ SCMP_SYS(swapon), -+ SCMP_SYS(swapoff), -+ }; -+ - scmp_filter_ctx seccomp; -+ unsigned i; - int r; - -- /* -- Audit is broken in containers, much of the userspace audit -- hookup will fail if running inside a container. We don't -- care and just turn off creation of audit sockets. -- -- This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail -- with EAFNOSUPPORT which audit userspace uses as indication -- that audit is disabled in the kernel. -- */ -- - seccomp = seccomp_init(SCMP_ACT_ALLOW); - if (!seccomp) - return log_oom(); -@@ -1890,6 +1893,26 @@ static int audit_still_doesnt_work_in_containers(void) { - goto finish; - } - -+ for (i = 0; i < ELEMENTSOF(blacklist); i++) { -+ r = seccomp_rule_add(seccomp, SCMP_ACT_ERRNO(EPERM), blacklist[i], 0); -+ if (r == -EFAULT) -+ continue; /* unknown syscall */ -+ if (r < 0) { -+ log_error("Failed to block syscall: %s", strerror(-r)); -+ goto finish; -+ } -+ } -+ -+ /* -+ Audit is broken in containers, much of the userspace audit -+ hookup will fail if running inside a container. We don't -+ care and just turn off creation of audit sockets. -+ -+ This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail -+ with EAFNOSUPPORT which audit userspace uses as indication -+ that audit is disabled in the kernel. -+ */ -+ - r = seccomp_rule_add( - seccomp, - SCMP_ACT_ERRNO(EAFNOSUPPORT), -@@ -3050,7 +3073,7 @@ int main(int argc, char *argv[]) { - - dev_setup(arg_directory); - -- if (audit_still_doesnt_work_in_containers() < 0) -+ if (setup_seccomp() < 0) - goto child_fail; - - if (setup_dev_console(arg_directory, console) < 0) --- -1.7.9.2 - diff --git a/0005-po-add-Greek-translation.patch b/0005-po-add-Greek-translation.patch deleted file mode 100644 index 029ce4fa..00000000 --- a/0005-po-add-Greek-translation.patch +++ /dev/null @@ -1,436 +0,0 @@ -From 3d89c35c2ae08c3fbf1a037c4df54c8e5ae56faf Mon Sep 17 00:00:00 2001 -From: Dimitris Spingos -Date: Wed, 7 May 2014 18:27:02 +0200 -Subject: [PATCH] po: add Greek translation - -https://bugs.freedesktop.org/show_bug.cgi?id=78064 ---- - po/LINGUAS | 3 +- - po/el.po | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 406 insertions(+), 1 deletion(-) - create mode 100644 po/el.po - -diff --git po/LINGUAS po/LINGUAS -index 0301751..820ca82 100644 ---- po/LINGUAS -+++ po/LINGUAS -@@ -1,4 +1,5 @@ -+el - fr -+it - pl - ru --it -diff --git po/el.po po/el.po -new file mode 100644 -index 0000000..1570565 ---- /dev/null -+++ po/el.po -@@ -0,0 +1,404 @@ -+# Greek translation for systemd. -+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER -+# This file is distributed under the same license as the systemd package. -+# Dimitris Spingos , 2014. -+# Dimitris Spingos (Δημήτρης Σπίγγος) , 2014. -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd master\n" -+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" -+"temd&keywords=I18N+L10N&component=general\n" -+"POT-Creation-Date: 2014-04-25 15:51+0000\n" -+"PO-Revision-Date: 2014-04-29 09:17+0300\n" -+"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) \n" -+"Language-Team: team@lists.gnome.gr\n" -+"Language: el\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Virtaal 0.7.0\n" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Set host name" -+msgstr "Ορισμός ονόματος οικοδεσπότη" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 -+msgid "Set static host name" -+msgstr "Ορισμός στατικού ονόματος οικοδεσπότη" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ορίσετε το στατικά ρυθμισμένο όνομα τοπικού " -+"οικοδεσπότη, καθώς και το pretty όνομα οικοδεσπότη." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Ορισμός πληροφοριών μηχανής" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Authentication is required to set local machine information." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε πληροφορίες τοπικής μηχανής." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 -+msgid "Set system locale" -+msgstr "Ορισμός τοπικών ρυθμίσεων συστήματος" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ορίσετε τις τοπικές ρυθμίσεις του συστήματος." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Ορισμός ρυθμίσεων πληκτρολογίου συστήματος" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ορίσετε τις ρυθμίσεις πληκτρολογίου του " -+"συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow applications to inhibit system shutdown" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τον τερματισμό του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:2 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"shutdown." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει τον " -+"τερματισμό του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:3 -+msgid "Allow applications to delay system shutdown" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να καθυστερούν τον τερματισμό του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:4 -+msgid "" -+"Authentication is required to allow an application to delay system shutdown." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " -+"τον τερματισμό του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:5 -+msgid "Allow applications to inhibit system sleep" -+msgstr "Να επιτρέπεται στις εφαρμογές να αποτρέπουν την ύπνωση του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow an application to inhibit system sleep." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"ύπνωση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:7 -+msgid "Allow applications to delay system sleep" -+msgstr "Να επιτρέπεται στις εφαρμογές να καθυστερούν την ύπνωση του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow an application to delay system sleep." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " -+"την ύπνωση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:9 -+msgid "Allow applications to inhibit automatic system suspend" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν την αυτόματη αναστολή του " -+"συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:10 -+msgid "" -+"Authentication is required to allow an application to inhibit automatic " -+"system suspend." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"αυτόματη αναστολή του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:11 -+msgid "Allow applications to inhibit system handling of the power key" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " -+"ενεργοποίησης του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:12 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the power key." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του πλήκτρου ενεργοποίησης του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:13 -+msgid "Allow applications to inhibit system handling of the suspend key" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " -+"αναστολής του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:14 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the suspend key." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του πλήκτρου αναστολής του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:15 -+msgid "Allow applications to inhibit system handling of the hibernate key" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " -+"αδρανοποίησης του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:16 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the hibernate key." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του πλήκτρου αδρανοποίησης του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:17 -+msgid "Allow applications to inhibit system handling of the lid switch" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του διακόπτη " -+"καλύμματος του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:18 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the lid switch." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του διακόπτη καλύμματος του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:19 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Να επιτρέπεται σε μη συνδεμένους χρήστες να εκτελούν προγράμματα" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:20 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μη συνδεμένους χρήστες να " -+"εκτελούν προγράμματα." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:21 -+msgid "Allow attaching devices to seats" -+msgstr "Να επιτρέπεται η προσάρτηση συσκευών στους σταθμούς εργασίας" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:22 -+msgid "Authentication is required for attaching a device to a seat." -+msgstr "" -+"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:23 -+msgid "Flush device to seat attachments" -+msgstr "Αφαίρεση συσκευής από προσαρτήσεις σταθμού εργασίας" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:24 -+msgid "" -+"Authentication is required for resetting how devices are attached to seats." -+msgstr "" -+"Απαιτείται πιστοποίηση για επαναφορά του τρόπου που οι συσκευές προσαρτώνται " -+"στους σταθμούς εργασίας." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:25 -+msgid "Power off the system" -+msgstr "Σβήσιμο του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:26 -+msgid "Authentication is required for powering off the system." -+msgstr "Απαιτείται πιστοποίηση για την σβήσιμο του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:27 -+msgid "Power off the system while other users are logged in" -+msgstr "Σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:28 -+msgid "" -+"Authentication is required for powering off the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι " -+"συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:29 -+msgid "Power off the system while an application asked to inhibit it" -+msgstr "Απενεργοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:30 -+msgid "" -+"Authentication is required for powering off the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για απενεργοποίηση του συστήματος ενώ μια εφαρμογή " -+"ζήτησε να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:31 -+msgid "Reboot the system" -+msgstr "Επανεκκίνηση του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:32 -+msgid "Authentication is required for rebooting the system." -+msgstr "Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:33 -+msgid "Reboot the system while other users are logged in" -+msgstr "Επανεκκίνηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:34 -+msgid "" -+"Authentication is required for rebooting the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ άλλοι χρήστες " -+"είναι συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:35 -+msgid "Reboot the system while an application asked to inhibit it" -+msgstr "Επανεκκίνηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:36 -+msgid "" -+"Authentication is required for rebooting the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ μια εφαρμογή " -+"ζήτησε να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:37 -+msgid "Suspend the system" -+msgstr "Αναστολή του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:38 -+msgid "Authentication is required for suspending the system." -+msgstr "Απαιτείται πιστοποίηση για την αναστολή του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:39 -+msgid "Suspend the system while other users are logged in" -+msgstr "Αναστολή του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:40 -+msgid "" -+"Authentication is required for suspending the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ άλλοι χρήστες είναι " -+"συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:41 -+msgid "Suspend the system while an application asked to inhibit it" -+msgstr "Αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:42 -+msgid "" -+"Authentication is required for suspending the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε " -+"να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:43 -+msgid "Hibernate the system" -+msgstr "Αδρανοποίηση του συτήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:44 -+msgid "Authentication is required for hibernating the system." -+msgstr "Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:45 -+msgid "Hibernate the system while other users are logged in" -+msgstr "Αδρανοποίηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:46 -+msgid "" -+"Authentication is required for hibernating the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ άλλοι χρήστες " -+"είναι συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:47 -+msgid "Hibernate the system while an application asked to inhibit it" -+msgstr "Αδρανοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:48 -+msgid "" -+"Authentication is required for hibernating the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ μια εφαρμογή " -+"ζήτησε να αποτραπεί." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 -+msgid "Set system time" -+msgstr "Ορισμός ώρας συστήματος" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 -+msgid "Authentication is required to set the system time." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Set system timezone" -+msgstr "Ορισμός ζώνης ώρας συστήματος" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα ζώνης του συστήματος." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Ορισμός RTC στην τοπική ζώνη ώρας ή UTC" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ελέγξετε αν το RTC αποθηκεύει την τοπική ή την " -+"ώρα UTC." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Turn network time synchronization on or off" -+msgstr "Ενεργοποίηση/Απενεργοποίηση συγχρονισμού ώρας δικτύου" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα " -+"ενεργοποιηθεί." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 -+msgid "Send passphrase back to system" -+msgstr "Αποστολή του συνθηματικού πίσω στο σύστημα" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 -+msgid "" -+"Authentication is required to send the entered passphrase back to the system." -+msgstr "" -+"Απαιτείται πιστοποίηση για αποστολή του εισερχόμενου συνθηματικού πίσω στο " -+"σύστημα." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 -+msgid "Privileged system and service manager access" -+msgstr "Προνομιούχος πρόσβαση διαχειριστή συστήματος και υπηρεσίας" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 -+msgid "Authentication is required to access the system and service manager." -+msgstr "" -+"Απαιτείται πιστοποίηση για να προσπελάσετε τον διαχειριστή συστήματος και " -+"υπηρεσιών." --- -1.7.9.2 - diff --git a/0005-sd-daemon-fix-incorrect-variable-access.patch b/0005-sd-daemon-fix-incorrect-variable-access.patch deleted file mode 100644 index 99a923b2..00000000 --- a/0005-sd-daemon-fix-incorrect-variable-access.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 56dc9aec21ab23f76fadf45585adf88e71aa8078 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Mar 2014 23:54:14 +0100 -Subject: [PATCH] sd-daemon: fix incorrect variable access - ---- - src/libsystemd/sd-daemon/sd-daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-daemon/sd-daemon.c src/libsystemd/sd-daemon/sd-daemon.c -index 21fb346..b013438 100644 ---- src/libsystemd/sd-daemon/sd-daemon.c -+++ src/libsystemd/sd-daemon/sd-daemon.c -@@ -517,7 +517,7 @@ _public_ int sd_watchdog_enabled(int unset_environment, uint64_t *usec) { - r = -errno; - goto finish; - } -- if (!p || p == e || *p || l <= 0) { -+ if (!p || p == e || *p || ll <= 0) { - r = -EINVAL; - goto finish; - } --- -1.7.9.2 - diff --git a/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch b/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch deleted file mode 100644 index 3c3d9e50..00000000 --- a/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cef3566998fcae6936d781e678c309950a8a5787 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 3 Oct 2014 20:57:30 -0400 -Subject: [PATCH] sd-id128: do stricter checking of random boot id - -If we are bothering to check whether the kernel is not feeding us -bad data, we might as well do it properly. - -CID #1237692. ---- - src/libsystemd/sd-id128/sd-id128.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git src/libsystemd/sd-id128/sd-id128.c src/libsystemd/sd-id128/sd-id128.c -index a1e44e6..233ffa0 100644 ---- src/libsystemd/sd-id128/sd-id128.c -+++ src/libsystemd/sd-id128/sd-id128.c -@@ -183,11 +183,14 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) { - for (j = 0, p = buf; j < 16; j++) { - int a, b; - -- if (p >= buf + k) -+ if (p >= buf + k - 1) - return -EIO; - -- if (*p == '-') -+ if (*p == '-') { - p++; -+ if (p >= buf + k - 1) -+ return -EIO; -+ } - - a = unhexchar(p[0]); - b = unhexchar(p[1]); --- -1.7.9.2 - diff --git a/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch b/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch deleted file mode 100644 index 5dfa4ed5..00000000 --- a/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch +++ /dev/null @@ -1,45 +0,0 @@ -Based on 85529c815b47c22839e0f148af67fd37e977cbfa Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 12 Aug 2014 19:29:27 +0200 -Subject: [PATCH] sd-resolve: fix allocation if query ids, never reuse them - ---- - src/libsystemd/sd-resolve/sd-resolve.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - ---- src/libsystemd/sd-resolve/sd-resolve.c -+++ src/libsystemd/sd-resolve/sd-resolve.c 2014-08-22 14:18:24.838235343 +0000 -@@ -81,7 +81,7 @@ struct sd_resolve { - pthread_t workers[WORKERS_MAX]; - unsigned n_valid_workers; - -- unsigned current_id, current_index; -+ unsigned current_id; - sd_resolve_query* queries[QUERIES_MAX]; - unsigned n_queries; - -@@ -892,21 +892,17 @@ static int alloc_query(sd_resolve *resol - if (r < 0) - return r; - -- while (resolve->queries[resolve->current_index]) { -- resolve->current_index++; -+ while (resolve->queries[resolve->current_id % QUERIES_MAX]) - resolve->current_id++; - -- resolve->current_index %= QUERIES_MAX; -- } -- -- q = resolve->queries[resolve->current_index] = new0(sd_resolve_query, 1); -+ q = resolve->queries[resolve->current_id % QUERIES_MAX] = new0(sd_resolve_query, 1); - if (!q) - return -ENOMEM; - - resolve->n_queries++; - - q->resolve = resolve; -- q->id = resolve->current_id; -+ q->id = resolve->current_id++; - - *_q = q; - return 0; diff --git a/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch b/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch deleted file mode 100644 index ed5997e0..00000000 --- a/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2040ccf171404b709acb0ecf1d1f17b87c5d05f0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 17:32:44 +0200 -Subject: [PATCH] service: don't accept negative ERRNO= notification messages - ---- - src/core/service.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/service.c src/core/service.c -index 5c54a34..d5aff99 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -2637,7 +2637,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - if (e) { - int status_errno; - -- if (safe_atoi(e + 6, &status_errno) < 0) -+ if (safe_atoi(e + 6, &status_errno) < 0 || status_errno < 0) - log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); - else { - log_debug_unit(u->id, "%s: got %s", u->id, e); --- -1.7.9.2 - diff --git a/0005-shared-label.h-add-missing-stdio.h-include.patch b/0005-shared-label.h-add-missing-stdio.h-include.patch deleted file mode 100644 index 1c75aacc..00000000 --- a/0005-shared-label.h-add-missing-stdio.h-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 45f15021e3524b04d574b9ff4e801cb3219daf3f Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:42 +0200 -Subject: [PATCH] shared/label.h: add missing stdio.h include - ---- - src/shared/label.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/label.h src/shared/label.h -index 7294820..cb2ec79 100644 ---- src/shared/label.h -+++ src/shared/label.h -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - int label_init(const char *prefix); - void label_finish(void); --- -1.7.9.2 - diff --git a/0005-systemd-python-fix-failing-assert.patch b/0005-systemd-python-fix-failing-assert.patch deleted file mode 100644 index 9b0290d3..00000000 --- a/0005-systemd-python-fix-failing-assert.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b65f24238b0627143916a9c7f8315483a9666676 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 5 Apr 2014 13:29:50 -0400 -Subject: [PATCH] systemd-python: fix failing assert - -A parameter which was always null before, now get's set to -the module. ---- - src/python-systemd/_reader.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git src/python-systemd/_reader.c src/python-systemd/_reader.c -index 059b904..9a19a10 100644 ---- src/python-systemd/_reader.c -+++ src/python-systemd/_reader.c -@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) { - sd_id128_t id; - _cleanup_free_ char *msg = NULL; - -- assert(!self); - assert(args); - - if (!PyArg_ParseTuple(args, "z:get_catalog", &id_)) --- -1.7.9.2 - diff --git a/0005-systemd-run-add-some-extra-safety-checks.patch b/0005-systemd-run-add-some-extra-safety-checks.patch deleted file mode 100644 index 22d41889..00000000 --- a/0005-systemd-run-add-some-extra-safety-checks.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1ac67edb7c4d31a287fa98c0b554ae98bd34e71b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 5 Mar 2014 03:38:36 +0100 -Subject: [PATCH] systemd-run: add some extra safety checks - ---- - src/run/run.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/run/run.c src/run/run.c -index 81763c9..e71ca7d 100644 ---- src/run/run.c -+++ src/run/run.c -@@ -37,7 +37,7 @@ static const char *arg_description = NULL; - static const char *arg_slice = NULL; - static bool arg_send_sighup = false; - static BusTransport arg_transport = BUS_TRANSPORT_LOCAL; --static char *arg_host = NULL; -+static const char *arg_host = NULL; - static bool arg_user = false; - static const char *arg_service_type = NULL; - static const char *arg_exec_user = NULL; -@@ -186,7 +186,7 @@ static int parse_argv(int argc, char *argv[]) { - - case ARG_NICE: - r = safe_atoi(optarg, &arg_nice); -- if (r < 0) { -+ if (r < 0 || arg_nice < PRIO_MIN || arg_nice >= PRIO_MAX) { - log_error("Failed to parse nice value"); - return -EINVAL; - } --- -1.7.9.2 - diff --git a/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch b/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch deleted file mode 100644 index 875c905e..00000000 --- a/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch +++ /dev/null @@ -1,38 +0,0 @@ -Based on 1f1926aa5e836caa3bd6df43704aecd606135103 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 2 Nov 2014 21:45:42 -0500 -Subject: [PATCH] units: order sd-journal-flush after sd-remount-fs - -Otherwise we could attempt to flush the journal while /var/log/ was -still ro, and silently skip journal flushing. - -The way that errors in flushing are handled should still be changed to -be more transparent and robust. - -Based on 919699ec301ea507edce4a619141ed22e789ac0d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Oct 2014 16:22:36 +0100 -Subject: [PATCH] units: don't order journal flushing afte remote-fs.target - -Instead, only depend on the actual file systems we need. - -This should solve dep loops on setups where remote-fs.target is moved -into late boot. ---- - units/systemd-journal-flush.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- units/systemd-journal-flush.service.in -+++ units/systemd-journal-flush.service.in 2014-11-10 11:46:22.885518923 +0000 -@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal - Documentation=man:systemd-journald.service(8) man:journald.conf(5) - DefaultDependencies=no - Requires=systemd-journald.service --After=systemd-journald.service local-fs.target remote-fs.target --Before=systemd-user-sessions.service -+After=systemd-journald.service local-fs.target -+After=systemd-remount-fs.service -+Before=systemd-user-sessions.service systemd-tmpfiles-setup.service - - [Service] - ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service diff --git a/0005-util-avoid-double-close-of-fd.patch b/0005-util-avoid-double-close-of-fd.patch deleted file mode 100644 index e1b5dacc..00000000 --- a/0005-util-avoid-double-close-of-fd.patch +++ /dev/null @@ -1,28 +0,0 @@ -Based on 6f53e671aa7539cab02c9f739d84d28a343ca5bc Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Wed, 8 Oct 2014 23:57:32 +0200 -Subject: [PATCH] util: avoid double close of fd - -We could end with a double close if we close the fd loop and flush_fd -fails. That would make us goto fail and there we close the fd once -again. This patch sets the fd to the return value for safe_close: -1 -A fd with negative value will be ignored by the next call to -safe_close. - -CID#996223 ---- - src/shared/util.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- src/shared/util.c -+++ src/shared/util.c 2014-10-14 15:42:22.515839157 +0000 -@@ -1969,7 +1969,8 @@ int acquire_terminal( - * ended our handle will be dead. It's important that - * we do this after sleeping, so that we don't enter - * an endless loop. */ -- close_nointr_nofail(fd); -+ if (fd >= 0) close_nointr_nofail(fd); -+ fd = -1; - } - - if (notify >= 0) diff --git a/0006-Do-not-return-1-EINVAL-on-allocation-error.patch b/0006-Do-not-return-1-EINVAL-on-allocation-error.patch deleted file mode 100644 index bf1db2c6..00000000 --- a/0006-Do-not-return-1-EINVAL-on-allocation-error.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 315db1a8aed226a51a4cf700172249cfd10ae115 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 14 Mar 2014 09:05:56 -0400 -Subject: [PATCH] Do not return -1 (EINVAL) on allocation error - ---- - src/core/socket.c | 8 +++----- - -diff --git src/core/socket.c src/core/socket.c -index 8ecc9f9..b39bec2 100644 ---- src/core/socket.c -+++ src/core/socket.c -@@ -198,16 +198,14 @@ static int socket_instantiate_service(Socket *s) { - - assert(s->accept); - -- if (!(prefix = unit_name_to_prefix(UNIT(s)->id))) -+ prefix = unit_name_to_prefix(UNIT(s)->id); -+ if (!prefix) - return -ENOMEM; - -- r = asprintf(&name, "%s@%u.service", prefix, s->n_accepted); -- -- if (r < 0) -+ if (asprintf(&name, "%s@%u.service", prefix, s->n_accepted) < 0) - return -ENOMEM; - - r = manager_load_unit(UNIT(s)->manager, name, NULL, NULL, &u); -- - if (r < 0) - return r; - --- -1.7.9.2 - diff --git a/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch b/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch deleted file mode 100644 index ed9a7a79..00000000 --- a/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch +++ /dev/null @@ -1,60 +0,0 @@ -From df1e02046144f41176c32ed011369fd8dba36b76 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 02:47:43 +0100 -Subject: [PATCH] Revert back to /var/run at a couple of problems -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This partially reverts 41a55c46ab8fb4ef6727434227071321fc762cce - -Some specifications we want to stay compatibility actually document -/var/run, not /run, and we should stay compatible with that. In order to -make sure our D-Bus implementation works on any system, regardless if -running systemd or not, we should always use /var/run which is the -only path mandated by the D-Bus spec. - -Similar, glibc hardcodes the utmp location to /var/run, and this is -exposed in _UTMP_PATH in limits.h, hence let's stay in sync with this -public API, too. - -We simply do not support systems where /var/run is not a symlink → /run. -Hence both are equivalent. Staying compatible with upstream -specifications hence weighs more than cleaning up superficial -appearance. ---- - man/runlevel.xml | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git man/runlevel.xml man/runlevel.xml -index 4db06dc..976753a 100644 ---- man/runlevel.xml -+++ man/runlevel.xml -@@ -124,7 +124,7 @@ - - - -- /run/utmp -+ /var/run/utmp - - The utmp database - runlevel reads the -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 1318272..636715f 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) - machine = NULL; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); -+ strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); - - return 0; - } --- -1.7.9.2 - diff --git a/0006-bus-unref-buscreds-on-failure.patch b/0006-bus-unref-buscreds-on-failure.patch deleted file mode 100644 index d6ec9ccd..00000000 --- a/0006-bus-unref-buscreds-on-failure.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2b347169b9046ff2d735ef23e62a8c74f5151600 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 12:20:42 +0300 -Subject: [PATCH] bus: unref buscreds on failure - -Actually unref the buscreds when we are not going to return a -pointer to them. As when bus_creds_add_more fails we immediately -return the error code otherwise and leak the new buscreds. -Found with coverity. Fixes: CID#1237761 ---- - src/libsystemd/sd-bus/sd-bus.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 78e91b9..83b3aa1 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -3339,8 +3339,10 @@ _public_ int sd_bus_get_peer_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **re - } - - r = bus_creds_add_more(c, mask, pid, 0); -- if (r < 0) -+ if (r < 0) { -+ sd_bus_creds_unref(c); - return r; -+ } - - *ret = c; - return 0; --- -1.7.9.2 - diff --git a/0006-calendarspec-fix-typo-in-annually.patch b/0006-calendarspec-fix-typo-in-annually.patch deleted file mode 100644 index 7e695966..00000000 --- a/0006-calendarspec-fix-typo-in-annually.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e90efc70900f8e69cfbafd9e9508bdeb4d40dad7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 25 Oct 2014 11:59:36 -0400 -Subject: [PATCH] calendarspec: fix typo in "annually" - -https://bugs.freedesktop.org/show_bug.cgi?id=85447 ---- - src/shared/calendarspec.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/shared/calendarspec.c src/shared/calendarspec.c -index 4ac74ab..64d0dec 100644 ---- src/shared/calendarspec.c -+++ src/shared/calendarspec.c -@@ -688,7 +688,8 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) { - if (r < 0) - goto fail; - -- } else if (strcaseeq(p, "anually") || strcaseeq(p, "yearly")) { -+ } else if (strcaseeq(p, "annually") || strcaseeq(p, "yearly") -+ || strcaseeq(p, "anually") /* backwards compatibility */ ) { - r = const_chain(1, &c->month); - if (r < 0) - goto fail; --- -1.7.9.2 - diff --git a/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index c4e89bb1..00000000 --- a/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 7cfa80f07e94c3e48703d145ef03a73dd6e7b983 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Wed, 18 Jun 2014 13:55:32 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 42 ++++++++++++++++++++++++++++++--- - 1 file changed, 39 insertions(+), 3 deletions(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index a65c7db..377748a 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -115,7 +115,7 @@ bluetooth:v0024* - ID_VENDOR_FROM_DATABASE=Alcatel - - bluetooth:v0025* -- ID_VENDOR_FROM_DATABASE=Philips Semiconductors -+ ID_VENDOR_FROM_DATABASE=NXP Semiconductors (formerly Philips Semiconductors) - - bluetooth:v0026* - ID_VENDOR_FROM_DATABASE=C Technologies -@@ -427,7 +427,7 @@ bluetooth:v008B* - ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC - - bluetooth:v008C* -- ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.) -+ ID_VENDOR_FROM_DATABASE=Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.) - - bluetooth:v008D* - ID_VENDOR_FROM_DATABASE=Zscan Software -@@ -1006,10 +1006,46 @@ bluetooth:v014C* - ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd - - bluetooth:v014D* -- ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. -+ ID_VENDOR_FROM_DATABASE=Huizhou Desay SV Automotive CO., LTD. - - bluetooth:v014E* - ID_VENDOR_FROM_DATABASE=Tangerine, Inc. - - bluetooth:v014F* - ID_VENDOR_FROM_DATABASE=B&W Group Ltd. -+ -+bluetooth:v0150* -+ ID_VENDOR_FROM_DATABASE=Pioneer Corporation -+ -+bluetooth:v0151* -+ ID_VENDOR_FROM_DATABASE=OnBeep -+ -+bluetooth:v0152* -+ ID_VENDOR_FROM_DATABASE=Vernier Software & Technology -+ -+bluetooth:v0153* -+ ID_VENDOR_FROM_DATABASE=ROL Ergo -+ -+bluetooth:v0154* -+ ID_VENDOR_FROM_DATABASE=Pebble Technology -+ -+bluetooth:v0155* -+ ID_VENDOR_FROM_DATABASE=NETATMO -+ -+bluetooth:v0156* -+ ID_VENDOR_FROM_DATABASE=Accumulate AB -+ -+bluetooth:v0157* -+ ID_VENDOR_FROM_DATABASE=Anhui Huami Information Technology Co., Ltd. -+ -+bluetooth:v0158* -+ ID_VENDOR_FROM_DATABASE=Inmite s.r.o. -+ -+bluetooth:v0159* -+ ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. -+ -+bluetooth:v015A* -+ ID_VENDOR_FROM_DATABASE=micus AG -+ -+bluetooth:v015B* -+ ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. --- -1.7.9.2 - diff --git a/0006-hwdb-update.patch b/0006-hwdb-update.patch deleted file mode 100644 index 080bd96c..00000000 --- a/0006-hwdb-update.patch +++ /dev/null @@ -1,4392 +0,0 @@ -From 98be1a746ac0d7a17e69ccb05936a4d6b3223e97 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 3 Jul 2014 16:28:40 +0200 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 543 +++++++++++++++++++-- - hwdb/20-pci-classes.hwdb | 27 ++ - hwdb/20-pci-vendor-model.hwdb | 1071 +++++++++++++++++++++++++++-------------- - hwdb/20-usb-classes.hwdb | 3 + - hwdb/20-usb-vendor-model.hwdb | 102 +++- - 5 files changed, 1362 insertions(+), 384 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 6188bfc..97f1e6b 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -6446,7 +6446,7 @@ OUI:0050C2871* - ID_OUI_FROM_DATABASE=R-S-I Elektrotechnik GmbH & Co. KG - - OUI:0050C2872* -- ID_OUI_FROM_DATABASE=Oliotalo - Objecthouse Oy -+ ID_OUI_FROM_DATABASE=Oliotalo Oy - - OUI:0050C2873* - ID_OUI_FROM_DATABASE=XRONET Corporation -@@ -37139,76 +37139,76 @@ OUI:001EC7* - ID_OUI_FROM_DATABASE=2Wire, Inc. - - OUI:001EC8* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Rapid Mobile (Pty) Ltd - - OUI:001EC9* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001ECA* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Nortel - - OUI:001ECB* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE="RPC "Energoautomatika" Ltd - - OUI:001ECC* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=CDVI - - OUI:001ECD* - ID_OUI_FROM_DATABASE=KYLAND Technology Co. LTD - - OUI:001ECE* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=BISA Technologies (Hong Kong) Limited - - OUI:001ECF* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=PHILIPS ELECTRONICS UK LTD - - OUI:001ED0* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Ingespace - - OUI:001ED1* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Keyprocessor B.V. - - OUI:001ED2* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Ray Shine Video Technology Inc - - OUI:001ED3* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Dot Technology Int'l Co., Ltd. - - OUI:001ED4* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Doble Engineering - - OUI:001ED5* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Tekon-Automatics - - OUI:001ED6* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Alentec & Orion AB - - OUI:001ED7* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=H-Stream Wireless, Inc. - - OUI:001ED8* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Digital United Inc. - - OUI:001ED9* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Mitsubishi Precision Co.,LTd. - - OUI:001EDA* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Wesemann Elektrotechniek B.V. - - OUI:001EDB* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Giken Trastem Co., Ltd. - - OUI:001EDC* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - - OUI:001EDD* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=WASKO S.A. - - OUI:001EDE* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=BYD COMPANY LIMITED - - OUI:001EDF* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Master Industrialization Center Kista - - OUI:001EE0* - ID_OUI_FROM_DATABASE=Urmet Domus SpA -@@ -45800,7 +45800,7 @@ OUI:0050F8* - ID_OUI_FROM_DATABASE=ENTREGA TECHNOLOGIES, INC. - - OUI:0050F9* -- ID_OUI_FROM_DATABASE=SENSORMATIC ACD -+ ID_OUI_FROM_DATABASE=Sensormatic Electronics LLC - - OUI:0050FA* - ID_OUI_FROM_DATABASE=OXTEL, LTD. -@@ -45829,6 +45829,9 @@ OUI:0054AF* - OUI:005907* - ID_OUI_FROM_DATABASE=LenovoEMC Products USA, LLC - -+OUI:005A39* -+ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO., LTD. -+ - OUI:005CB1* - ID_OUI_FROM_DATABASE=Gospell DIGITAL TECHNOLOGY CO., LTD - -@@ -46603,6 +46606,9 @@ OUI:0060FE* - OUI:0060FF* - ID_OUI_FROM_DATABASE=QuVis, Inc. - -+OUI:006171* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:006440* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -48238,6 +48244,9 @@ OUI:009C02* - OUI:009D8E* - ID_OUI_FROM_DATABASE=CARDIAC RECORDERS, INC. - -+OUI:009EC8* -+ ID_OUI_FROM_DATABASE=Beijing Xiaomi Electronic Products Co., Ltd. -+ - OUI:00A000* - ID_OUI_FROM_DATABASE=CENTILLION NETWORKS, INC. - -@@ -50740,6 +50749,9 @@ OUI:00D38D* - OUI:00D632* - ID_OUI_FROM_DATABASE=GE Energy - -+OUI:00D9D1* -+ ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. -+ - OUI:00DB1E* - ID_OUI_FROM_DATABASE=Albedo Telecom SL - -@@ -51778,6 +51790,9 @@ OUI:0462D7* - OUI:0463E0* - ID_OUI_FROM_DATABASE=Nome Oy - -+OUI:046785* -+ ID_OUI_FROM_DATABASE=scemtec Hard- und Software fuer Mess- und Steuerungstechnik GmbH -+ - OUI:046D42* - ID_OUI_FROM_DATABASE=Bryston Ltd. - -@@ -51901,6 +51916,9 @@ OUI:04DB8A* - OUI:04DD4C* - ID_OUI_FROM_DATABASE=Velocytech - -+OUI:04DEDB* -+ ID_OUI_FROM_DATABASE=Rockport Networks Inc -+ - OUI:04DF69* - ID_OUI_FROM_DATABASE=Car Connectivity Consortium - -@@ -52498,6 +52516,9 @@ OUI:083F76* - OUI:084027* - ID_OUI_FROM_DATABASE=Gridstore Inc. - -+OUI:084656* -+ ID_OUI_FROM_DATABASE=VODALYS Ingénierie -+ - OUI:08482C* - ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. - -@@ -52966,6 +52987,9 @@ OUI:0CCDD3* - OUI:0CCDFB* - ID_OUI_FROM_DATABASE=EDIC Systems Inc. - -+OUI:0CCFD1* -+ ID_OUI_FROM_DATABASE=SPRINGWAVE Co., Ltd -+ - OUI:0CD292* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -53089,6 +53113,9 @@ OUI:1010B6* - OUI:101212* - ID_OUI_FROM_DATABASE=Vivo International Corporation Pty Ltd - -+OUI:101218* -+ ID_OUI_FROM_DATABASE=Korins Inc. -+ - OUI:101248* - ID_OUI_FROM_DATABASE=ITG, Inc. - -@@ -53128,6 +53155,9 @@ OUI:102D96* - OUI:102EAF* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:102F6B* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:103047* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53164,6 +53194,9 @@ OUI:104780* - OUI:1048B1* - ID_OUI_FROM_DATABASE=Beijing Duokan Technology Limited - -+OUI:104B46* -+ ID_OUI_FROM_DATABASE=Mitsubishi Electric Corporation -+ - OUI:104D77* - ID_OUI_FROM_DATABASE=Innovative Computer Engineering - -@@ -53242,6 +53275,9 @@ OUI:10880F* - OUI:1088CE* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - -+OUI:108A1B* -+ ID_OUI_FROM_DATABASE=RAONIX Inc. -+ - OUI:108CCF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -53458,6 +53494,9 @@ OUI:144319* - OUI:1446E4* - ID_OUI_FROM_DATABASE=AVISTEL - -+OUI:14488B* -+ ID_OUI_FROM_DATABASE=Shenzhen Doov Technology Co.,Ltd -+ - OUI:144978* - ID_OUI_FROM_DATABASE=Digital Control Incorporated - -@@ -53473,6 +53512,9 @@ OUI:145412* - OUI:145645* - ID_OUI_FROM_DATABASE=Savitech Corp. - -+OUI:1458D0* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:145A05* - ID_OUI_FROM_DATABASE=Apple - -@@ -53608,6 +53650,9 @@ OUI:14EB33* - OUI:14EDA5* - ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme - -+OUI:14EDE4* -+ ID_OUI_FROM_DATABASE=Kaiam Corporation -+ - OUI:14EE9D* - ID_OUI_FROM_DATABASE=AirNav Systems LLC - -@@ -53794,6 +53839,9 @@ OUI:1867B0* - OUI:186D99* - ID_OUI_FROM_DATABASE=Adanis Inc. - -+OUI:187117* -+ ID_OUI_FROM_DATABASE=eta plus electronic gmbh -+ - OUI:1879A2* - ID_OUI_FROM_DATABASE=GMJ ELECTRIC LIMITED - -@@ -53812,6 +53860,9 @@ OUI:1880CE* - OUI:1880F5* - ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd - -+OUI:188219* -+ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. -+ - OUI:188331* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53857,6 +53908,9 @@ OUI:189EFC* - OUI:18A905* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -+OUI:18A958* -+ ID_OUI_FROM_DATABASE=PROVISION THAI CO., LTD. -+ - OUI:18A99B* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -54049,6 +54103,9 @@ OUI:1C43EC* - OUI:1C4593* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:1C4840* -+ ID_OUI_FROM_DATABASE=IMS Messsysteme GmbH -+ - OUI:1C48F9* - ID_OUI_FROM_DATABASE=GN Netcom A/S - -@@ -54064,6 +54121,9 @@ OUI:1C4BD6* - OUI:1C51B5* - ID_OUI_FROM_DATABASE=Techaya LTD - -+OUI:1C5216* -+ ID_OUI_FROM_DATABASE=DONGGUAN HELE ELECTRONICS CO., LTD -+ - OUI:1C52D6* - ID_OUI_FROM_DATABASE=FLAT DISPLAY TECHNOLOGY CORPORATION - -@@ -54100,6 +54160,9 @@ OUI:1C66AA* - OUI:1C69A5* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:1C6A7A* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:1C6BCA* - ID_OUI_FROM_DATABASE=Mitsunami Co., Ltd. - -@@ -54163,6 +54226,12 @@ OUI:1C973D* - OUI:1C994C* - ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd. - -+OUI:1C9C26* -+ ID_OUI_FROM_DATABASE=Zoovel Technologies -+ -+OUI:1CA2B1* -+ ID_OUI_FROM_DATABASE=ruwido austria gmbh -+ - OUI:1CA770* - ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LT - -@@ -54217,6 +54286,9 @@ OUI:1CC63C* - OUI:1CD40C* - ID_OUI_FROM_DATABASE=Kriwan Industrie-Elektronik GmbH - -+OUI:1CDEA7* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:1CDF0F* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -54286,6 +54358,9 @@ OUI:20107A* - OUI:201257* - ID_OUI_FROM_DATABASE=Most Lucky Trading Ltd - -+OUI:2012D5* -+ ID_OUI_FROM_DATABASE=Scientech Materials Corporation -+ - OUI:2013E0* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -54370,6 +54445,9 @@ OUI:205A00* - OUI:205B5E* - ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd - -+OUI:205CFA* -+ ID_OUI_FROM_DATABASE=Yangzhou ChangLian Network Technology Co,ltd. -+ - OUI:206432* - ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO MECHANICS CO.,LTD. - -@@ -54439,6 +54517,9 @@ OUI:20A2E7* - OUI:20A787* - ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited - -+OUI:20A99B* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:20AA25* - ID_OUI_FROM_DATABASE=IP-NET LLC - -@@ -54469,6 +54550,9 @@ OUI:20BFDB* - OUI:20C1AF* - ID_OUI_FROM_DATABASE=i Wit Digital Co., Limited - -+OUI:20C38F* -+ ID_OUI_FROM_DATABASE=Texas Instruments Inc -+ - OUI:20C60D* - ID_OUI_FROM_DATABASE=Shanghai annijie Information technology Co.,LTD - -@@ -54616,6 +54700,9 @@ OUI:2437EF* - OUI:243C20* - ID_OUI_FROM_DATABASE=Dynamode Group - -+OUI:2442BC* -+ ID_OUI_FROM_DATABASE=Alinco,incorporated -+ - OUI:244597* - ID_OUI_FROM_DATABASE=GEMUE Gebr. Mueller Apparatebau - -@@ -55027,6 +55114,9 @@ OUI:28A241* - OUI:28A574* - ID_OUI_FROM_DATABASE=Miller Electric Mfg. Co. - -+OUI:28A5EE* -+ ID_OUI_FROM_DATABASE=Shenzhen SDGI CATV Co., Ltd -+ - OUI:28AF0A* - ID_OUI_FROM_DATABASE=Sirius XM Radio Inc - -@@ -55177,6 +55267,9 @@ OUI:2C0033* - OUI:2C00F7* - ID_OUI_FROM_DATABASE=XOS - -+OUI:2C010B* -+ ID_OUI_FROM_DATABASE=NASCENT Technology, LLC - RemKon -+ - OUI:2C0623* - ID_OUI_FROM_DATABASE=Win Leader Inc. - -@@ -55192,6 +55285,9 @@ OUI:2C18AE* - OUI:2C1984* - ID_OUI_FROM_DATABASE=IDN Telecom, Inc. - -+OUI:2C1A31* -+ ID_OUI_FROM_DATABASE=Electronics Company Limited -+ - OUI:2C1EEA* - ID_OUI_FROM_DATABASE=AERODEV - -@@ -55369,6 +55465,9 @@ OUI:2C9EFC* - OUI:2CA157* - ID_OUI_FROM_DATABASE=acromate, Inc. - -+OUI:2CA30E* -+ ID_OUI_FROM_DATABASE=POWER DRAGON DEVELOPMENT LIMITED -+ - OUI:2CA780* - ID_OUI_FROM_DATABASE=True Technologies Inc. - -@@ -55540,6 +55639,9 @@ OUI:303EAD* - OUI:304174* - ID_OUI_FROM_DATABASE=ALTEC LANSING LLC - -+OUI:304225* -+ ID_OUI_FROM_DATABASE=BURG-WÄCHTER KG -+ - OUI:304449* - ID_OUI_FROM_DATABASE=PLATH GmbH - -@@ -55603,6 +55705,9 @@ OUI:306E5C* - OUI:3071B2* - ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. - -+OUI:307512* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:30766F* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -55735,6 +55840,9 @@ OUI:3400A3* - OUI:340286* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:34029B* -+ ID_OUI_FROM_DATABASE=CloudBerry Technologies Private Limited -+ - OUI:3407FB* - ID_OUI_FROM_DATABASE=Ericsson AB - -@@ -55774,6 +55882,9 @@ OUI:3423BA* - OUI:34255D* - ID_OUI_FROM_DATABASE=Shenzhen Loadcom Technology Co.,Ltd - -+OUI:3428F0* -+ ID_OUI_FROM_DATABASE=ATN International Limited -+ - OUI:3429EA* - ID_OUI_FROM_DATABASE=MCD ELECTRONICS SP. Z O.O. - -@@ -55798,6 +55909,9 @@ OUI:344B3D* - OUI:344B50* - ID_OUI_FROM_DATABASE=ZTE Corporation - -+OUI:344DF7* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:344F3F* - ID_OUI_FROM_DATABASE=IO-Power Technology Co., Ltd. - -@@ -55825,6 +55939,9 @@ OUI:345D10* - OUI:346178* - ID_OUI_FROM_DATABASE=The Boeing Company - -+OUI:346288* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:34684A* - ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. - -@@ -55939,6 +56056,9 @@ OUI:34B1F7* - OUI:34B571* - ID_OUI_FROM_DATABASE=PLDS - -+OUI:34B7FD* -+ ID_OUI_FROM_DATABASE=Guangzhou Younghead Electronic Technology Co.,Ltd -+ - OUI:34BA51* - ID_OUI_FROM_DATABASE=Se-Kure Controls, Inc. - -@@ -56047,6 +56167,9 @@ OUI:34F39B* - OUI:34F62D* - ID_OUI_FROM_DATABASE=SHARP Corporation - -+OUI:34F6D2* -+ ID_OUI_FROM_DATABASE=Panasonic Taiwan Co.,Ltd. -+ - OUI:34F968* - ID_OUI_FROM_DATABASE=ATEK Products, LLC - -@@ -56062,6 +56185,9 @@ OUI:380197* - OUI:3806B4* - ID_OUI_FROM_DATABASE=A.D.C. GmbH - -+OUI:3808FD* -+ ID_OUI_FROM_DATABASE=Silca Spa -+ - OUI:380A0A* - ID_OUI_FROM_DATABASE=Sky-City Communication and Electronics Limited Company - -@@ -56137,6 +56263,9 @@ OUI:384608* - OUI:38484C* - ID_OUI_FROM_DATABASE=Apple - -+OUI:384B76* -+ ID_OUI_FROM_DATABASE=AIRTAME ApS -+ - OUI:384FF0* - ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc. - -@@ -56227,6 +56356,9 @@ OUI:38AA3C* - OUI:38B12D* - ID_OUI_FROM_DATABASE=Sonotronic Nagel GmbH - -+OUI:38B1DB* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:38B5BD* - ID_OUI_FROM_DATABASE=E.G.O. Elektro-Ger - -@@ -56302,6 +56434,9 @@ OUI:38EE9D* - OUI:38F098* - ID_OUI_FROM_DATABASE=Vapor Stone Rail Systems - -+OUI:38F33F* -+ ID_OUI_FROM_DATABASE=TATSUNO CORPORATION -+ - OUI:38F597* - ID_OUI_FROM_DATABASE=home2net GmbH - -@@ -56443,6 +56578,9 @@ OUI:3C57D5* - OUI:3C5A37* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:3C5AB4* -+ ID_OUI_FROM_DATABASE=Google -+ - OUI:3C5F01* - ID_OUI_FROM_DATABASE=Synerchip Co., Ltd. - -@@ -56803,6 +56941,9 @@ OUI:407074* - OUI:407496* - ID_OUI_FROM_DATABASE=aFUN TECHNOLOGY INC. - -+OUI:40786A* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:407875* - ID_OUI_FROM_DATABASE=IMBEL - Industria de Material Belico do Brasil - -@@ -56929,6 +57070,9 @@ OUI:40D40E* - OUI:40D559* - ID_OUI_FROM_DATABASE=MICRO S.E.R.I. - -+OUI:40E230* -+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc. -+ - OUI:40E730* - ID_OUI_FROM_DATABASE=DEY Storage Systems, Inc. - -@@ -57145,6 +57289,9 @@ OUI:4486C1* - OUI:4487FC* - ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. - -+OUI:4488CB* -+ ID_OUI_FROM_DATABASE=Camco Technologies NV -+ - OUI:448A5B* - ID_OUI_FROM_DATABASE=Micro-Star INT'L CO., LTD. - -@@ -57337,6 +57484,9 @@ OUI:4851B7* - OUI:485261* - ID_OUI_FROM_DATABASE=SOREEL - -+OUI:4857DD* -+ ID_OUI_FROM_DATABASE=Facebook -+ - OUI:485929* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -57361,6 +57511,9 @@ OUI:4861A3* - OUI:486276* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:486B2C* -+ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., -+ - OUI:486B91* - ID_OUI_FROM_DATABASE=Fleetwood Group Inc. - -@@ -57391,6 +57544,9 @@ OUI:4891F6* - OUI:489BE2* - ID_OUI_FROM_DATABASE=SCI Innovations Ltd - -+OUI:489D18* -+ ID_OUI_FROM_DATABASE=Flashbay Limited -+ - OUI:489D24* - ID_OUI_FROM_DATABASE=Research In Motion - -@@ -57655,6 +57811,9 @@ OUI:4C7367* - OUI:4C73A5* - ID_OUI_FROM_DATABASE=KOVE - -+OUI:4C7403* -+ ID_OUI_FROM_DATABASE=Mundo Reader (bq) -+ - OUI:4C774F* - ID_OUI_FROM_DATABASE=Embedded Wireless Labs - -@@ -57745,6 +57904,9 @@ OUI:4CBAA3* - OUI:4CBB58* - ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. - -+OUI:4CBC42* -+ ID_OUI_FROM_DATABASE=Shenzhen Hangsheng Electronics Co.,Ltd. -+ - OUI:4CBCA5* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -57784,6 +57946,9 @@ OUI:4CE1BB* - OUI:4CE676* - ID_OUI_FROM_DATABASE=Buffalo Inc. - -+OUI:4CE933* -+ ID_OUI_FROM_DATABASE=RailComm, LLC -+ - OUI:4CEB42* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -57799,6 +57964,9 @@ OUI:4CF2BF* - OUI:4CF45B* - ID_OUI_FROM_DATABASE=Blue Clover Devices - -+OUI:4CF5A0* -+ ID_OUI_FROM_DATABASE=Scalable Network Technologies Inc -+ - OUI:4CF737* - ID_OUI_FROM_DATABASE=SamJi Electronics Co., Ltd - -@@ -57823,6 +57991,9 @@ OUI:500E6D* - OUI:5011EB* - ID_OUI_FROM_DATABASE=SilverNet Ltd - -+OUI:5014B5* -+ ID_OUI_FROM_DATABASE=Richfit Information Technology Co., Ltd -+ - OUI:5017FF* - ID_OUI_FROM_DATABASE=Cisco - -@@ -57847,6 +58018,9 @@ OUI:502690* - OUI:5027C7* - ID_OUI_FROM_DATABASE=TECHNART Co.,Ltd - -+OUI:50294D* -+ ID_OUI_FROM_DATABASE=NANJING IOT SENSOR TECHNOLOGY CO,LTD -+ - OUI:502A7E* - ID_OUI_FROM_DATABASE=Smart electronic GmbH - -@@ -57937,6 +58111,9 @@ OUI:506441* - OUI:506787* - ID_OUI_FROM_DATABASE=iTellus - -+OUI:5067AE* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:5067F0* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -@@ -58276,6 +58453,9 @@ OUI:549B12* - OUI:549D85* - ID_OUI_FROM_DATABASE=EnerAccess inc - -+OUI:549F35* -+ ID_OUI_FROM_DATABASE=Dell Inc. -+ - OUI:54A04F* - ID_OUI_FROM_DATABASE=t-mac Technologies Ltd - -@@ -58366,6 +58546,9 @@ OUI:54F5B6* - OUI:54F666* - ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG - -+OUI:54F876* -+ ID_OUI_FROM_DATABASE=ABB AG -+ - OUI:54FA3E* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD - -@@ -58375,6 +58558,9 @@ OUI:54FB58* - OUI:54FDBF* - ID_OUI_FROM_DATABASE=Scheidt & Bachmann GmbH - -+OUI:54FFCF* -+ ID_OUI_FROM_DATABASE=Mopria Alliance -+ - OUI:580528* - ID_OUI_FROM_DATABASE=LABRIS NETWORKS - -@@ -58390,6 +58576,9 @@ OUI:5809E5* - OUI:580A20* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:58108C* -+ ID_OUI_FROM_DATABASE=Intelbras -+ - OUI:581243* - ID_OUI_FROM_DATABASE=AcSiP Technology Corp. - -@@ -58504,9 +58693,15 @@ OUI:587521* - OUI:587675* - ID_OUI_FROM_DATABASE=Beijing ECHO Technologies Co.,Ltd - -+OUI:5876C5* -+ ID_OUI_FROM_DATABASE=DIGI I'S LTD -+ - OUI:587A4D* - ID_OUI_FROM_DATABASE=Stonesoft Corporation - -+OUI:587BE9* -+ ID_OUI_FROM_DATABASE=AirPro Technology India Pvt. Ltd -+ - OUI:587E61* - ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd - -@@ -58633,6 +58828,9 @@ OUI:58EECE* - OUI:58F387* - ID_OUI_FROM_DATABASE=HCCP - -+OUI:58F39C* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:58F67B* - ID_OUI_FROM_DATABASE=Xia Men UnionCore Technology LTD. - -@@ -58810,6 +59008,12 @@ OUI:5C89D4* - OUI:5C8D4E* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C8FE0* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ -+OUI:5C93A2* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:5C95AE* - ID_OUI_FROM_DATABASE=Apple - -@@ -59011,6 +59215,9 @@ OUI:60334B* - OUI:603553* - ID_OUI_FROM_DATABASE=Buwon Technology - -+OUI:603696* -+ ID_OUI_FROM_DATABASE=The Sapling Company -+ - OUI:6036DD* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -59038,9 +59245,18 @@ OUI:604616* - OUI:6047D4* - ID_OUI_FROM_DATABASE=FORICS Electronic Technology Co., Ltd. - -+OUI:604826* -+ ID_OUI_FROM_DATABASE=Newbridge Technologies Int. Ltd. -+ - OUI:604A1C* - ID_OUI_FROM_DATABASE=SUYIN Corporation - -+OUI:6050C1* -+ ID_OUI_FROM_DATABASE=Kinetek Sports -+ -+OUI:60512C* -+ ID_OUI_FROM_DATABASE=TCT mobile limited -+ - OUI:6052D0* - ID_OUI_FROM_DATABASE=FACTS Engineering - -@@ -59125,6 +59341,9 @@ OUI:609084* - OUI:609217* - ID_OUI_FROM_DATABASE=Apple - -+OUI:6099D1* -+ ID_OUI_FROM_DATABASE=Vuzix / Lenovo -+ - OUI:609AA4* - ID_OUI_FROM_DATABASE=GVI SECURITY INC. - -@@ -59284,6 +59503,9 @@ OUI:60FEF9* - OUI:60FFDD* - ID_OUI_FROM_DATABASE=C.E. ELECTRONICS, INC - -+OUI:64002D* -+ ID_OUI_FROM_DATABASE=Powerlinq Co., LTD -+ - OUI:6400F1* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -59557,6 +59779,9 @@ OUI:64B310* - OUI:64B370* - ID_OUI_FROM_DATABASE=PowerComm Solutons LLC - -+OUI:64B473* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:64B64A* - ID_OUI_FROM_DATABASE=ViVOtech, Inc. - -@@ -59917,6 +60142,9 @@ OUI:68D247* - OUI:68D925* - ID_OUI_FROM_DATABASE=ProSys Development Services - -+OUI:68D93C* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:68DB67* - ID_OUI_FROM_DATABASE=Nantong Coship Electronics Co., Ltd - -@@ -59950,6 +60178,9 @@ OUI:68EE96* - OUI:68EFBD* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:68F06D* -+ ID_OUI_FROM_DATABASE=ALONG INDUSTRIAL CO., LIMITED -+ - OUI:68F125* - ID_OUI_FROM_DATABASE=Data Controls Inc. - -@@ -60079,6 +60310,9 @@ OUI:6C626D* - OUI:6C641A* - ID_OUI_FROM_DATABASE=Penguin Computing - -+OUI:6C6EFE* -+ ID_OUI_FROM_DATABASE=Core Logic Inc. -+ - OUI:6C6F18* - ID_OUI_FROM_DATABASE=Stereotaxis, Inc. - -@@ -60091,6 +60325,9 @@ OUI:6C709F* - OUI:6C71D9* - ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc - -+OUI:6C7660* -+ ID_OUI_FROM_DATABASE=KYOCERA Corporation -+ - OUI:6C81FE* - ID_OUI_FROM_DATABASE=Mitsuba Corporation - -@@ -60122,7 +60359,7 @@ OUI:6C92BF* - ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. - - OUI:6C98EB* -- ID_OUI_FROM_DATABASE=Xyne GmbH -+ ID_OUI_FROM_DATABASE=Ocedo GmbH - - OUI:6C9989* - ID_OUI_FROM_DATABASE=Cisco -@@ -60187,6 +60424,9 @@ OUI:6CB7F4* - OUI:6CBEE9* - ID_OUI_FROM_DATABASE=Alcatel-Lucent-IPD - -+OUI:6CBFB5* -+ ID_OUI_FROM_DATABASE=Noon Technology Co., Ltd -+ - OUI:6CC1D2* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -60514,6 +60754,9 @@ OUI:70A8E3* - OUI:70AAB2* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:70AF25* -+ ID_OUI_FROM_DATABASE=Nishiyama Industry Co.,LTD. -+ - OUI:70B035* - ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd - -@@ -60535,6 +60778,9 @@ OUI:70B599* - OUI:70B921* - ID_OUI_FROM_DATABASE=FiberHome Telecommunication Technologies CO.,LTD - -+OUI:70BAEF* -+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -+ - OUI:70C6AC* - ID_OUI_FROM_DATABASE=Bosch Automotive Aftermarket - -@@ -60586,6 +60832,9 @@ OUI:70EE50* - OUI:70F176* - ID_OUI_FROM_DATABASE=Data Modul AG - -+OUI:70F196* -+ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc -+ - OUI:70F1A1* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -60796,6 +61045,9 @@ OUI:74B00C* - OUI:74B9EB* - ID_OUI_FROM_DATABASE=Fujian JinQianMao Electronic Technology Co.,Ltd - -+OUI:74BADB* -+ ID_OUI_FROM_DATABASE=Longconn Electornics(shenzhen)Co.,Ltd -+ - OUI:74BE08* - ID_OUI_FROM_DATABASE=ATEK Products, LLC - -@@ -60844,6 +61096,9 @@ OUI:74DE2B* - OUI:74E06E* - ID_OUI_FROM_DATABASE=Ergophone GmbH - -+OUI:74E14A* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:74E1B6* - ID_OUI_FROM_DATABASE=Apple - -@@ -61318,6 +61573,9 @@ OUI:7C092B* - OUI:7C0A50* - ID_OUI_FROM_DATABASE=J-MEX Inc. - -+OUI:7C0ECE* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:7C11BE* - ID_OUI_FROM_DATABASE=Apple - -@@ -61345,6 +61603,9 @@ OUI:7C2048* - OUI:7C2064* - ID_OUI_FROM_DATABASE=Alcatel Lucent IPD - -+OUI:7C2587* -+ ID_OUI_FROM_DATABASE=chaowifi.com -+ - OUI:7C2CF3* - ID_OUI_FROM_DATABASE=Secure Electrans Ltd - -@@ -61504,6 +61765,9 @@ OUI:7CAD74* - OUI:7CB03E* - ID_OUI_FROM_DATABASE=OSRAM GmbH - -+OUI:7CB177* -+ ID_OUI_FROM_DATABASE=Satelco AG -+ - OUI:7CB21B* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -@@ -61774,6 +62038,9 @@ OUI:8065E9* - OUI:806629* - ID_OUI_FROM_DATABASE=Prescope Technologies CO.,LTD. - -+OUI:806C1B* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:806C8B* - ID_OUI_FROM_DATABASE=KAESER KOMPRESSOREN AG - -@@ -61918,9 +62185,15 @@ OUI:80D733* - OUI:80DB31* - ID_OUI_FROM_DATABASE=Power Quotient International Co., Ltd. - -+OUI:80E650* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:80EA96* - ID_OUI_FROM_DATABASE=Apple - -+OUI:80EACA* -+ ID_OUI_FROM_DATABASE=Dialog Semiconductor Hellas SA -+ - OUI:80EE73* - ID_OUI_FROM_DATABASE=Shuttle Inc. - -@@ -61933,6 +62206,9 @@ OUI:80F593* - OUI:80F62E* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:80F8EB* -+ ID_OUI_FROM_DATABASE=RayTight -+ - OUI:80FA5B* - ID_OUI_FROM_DATABASE=CLEVO CO. - -@@ -62116,6 +62392,9 @@ OUI:848506* - OUI:84850A* - ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH - -+OUI:8486F3* -+ ID_OUI_FROM_DATABASE=Greenvity Communications -+ - OUI:848D84* - ID_OUI_FROM_DATABASE=Rajant Corporation - -@@ -62134,9 +62413,15 @@ OUI:848F69* - OUI:849000* - ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik - -+OUI:84930C* -+ ID_OUI_FROM_DATABASE=InCoax Networks Europe AB -+ - OUI:84948C* - ID_OUI_FROM_DATABASE=Hitron Technologies. Inc - -+OUI:849681* -+ ID_OUI_FROM_DATABASE=Cathay Communication Co.,Ltd -+ - OUI:8496D8* - ID_OUI_FROM_DATABASE=Pace plc - -@@ -62206,6 +62491,9 @@ OUI:84DE3D* - OUI:84DF0C* - ID_OUI_FROM_DATABASE=NET2GRID BV - -+OUI:84E058* -+ ID_OUI_FROM_DATABASE=Pace plc -+ - OUI:84E4D9* - ID_OUI_FROM_DATABASE=Shenzhen NEED technology Ltd. - -@@ -62545,6 +62833,9 @@ OUI:8C0EE3* - OUI:8C11CB* - ID_OUI_FROM_DATABASE=ABUS Security-Center GmbH & Co. KG - -+OUI:8C18D9* -+ ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co., Ltd -+ - OUI:8C1F94* - ID_OUI_FROM_DATABASE=RF Surgical System Inc. - -@@ -62632,6 +62923,9 @@ OUI:8C5AF0* - OUI:8C5CA1* - ID_OUI_FROM_DATABASE=d-broad,INC - -+OUI:8C5D60* -+ ID_OUI_FROM_DATABASE=UCI Corporation Co.,Ltd. -+ - OUI:8C5FDF* - ID_OUI_FROM_DATABASE=Beijing Railway Signal Factory - -@@ -62683,6 +62977,9 @@ OUI:8C7CFF* - OUI:8C7EB3* - ID_OUI_FROM_DATABASE=Lytro, Inc. - -+OUI:8C7F3B* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:8C82A8* - ID_OUI_FROM_DATABASE=Insigma Technology Co.,Ltd - -@@ -62716,6 +63013,9 @@ OUI:8CAE4C* - OUI:8CAE89* - ID_OUI_FROM_DATABASE=Y-cam Solutions Ltd - -+OUI:8CB094* -+ ID_OUI_FROM_DATABASE=Airtech I&C Co., Ltd -+ - OUI:8CB64F* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -62770,6 +63070,9 @@ OUI:8CD628* - OUI:8CDB25* - ID_OUI_FROM_DATABASE=ESG Solutions - -+OUI:8CDCD4* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:8CDD8D* - ID_OUI_FROM_DATABASE=Wifly-City System Inc. - -@@ -62788,6 +63091,9 @@ OUI:8CE7B3* - OUI:8CEEC6* - ID_OUI_FROM_DATABASE=Precepscion Pty. Ltd. - -+OUI:8CF813* -+ ID_OUI_FROM_DATABASE=ORANGE POLSKA -+ - OUI:8CF945* - ID_OUI_FROM_DATABASE=Power Automation pte Ltd - -@@ -62851,6 +63157,9 @@ OUI:901D27* - OUI:901EDD* - ID_OUI_FROM_DATABASE=GREAT COMPUTER CORPORATION - -+OUI:90203A* -+ ID_OUI_FROM_DATABASE=BYD Precision Manufacture Co.,Ltd -+ - OUI:902083* - ID_OUI_FROM_DATABASE=General Engine Management Systems Ltd. - -@@ -63127,6 +63436,9 @@ OUI:90E6BA* - OUI:90EA60* - ID_OUI_FROM_DATABASE=SPI Lasers Ltd - -+OUI:90EF68* -+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation -+ - OUI:90F1AA* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD - -@@ -63154,6 +63466,9 @@ OUI:90FB5B* - OUI:90FBA6* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd - -+OUI:90FD61* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:90FF79* - ID_OUI_FROM_DATABASE=Metro Ethernet Forum - -@@ -63247,6 +63562,9 @@ OUI:945103* - OUI:9451BF* - ID_OUI_FROM_DATABASE=Hyundai ESG - -+OUI:945493* -+ ID_OUI_FROM_DATABASE=Rigado, LLC -+ - OUI:94592D* - ID_OUI_FROM_DATABASE=EKE Building Technology Systems Ltd - -@@ -63256,6 +63574,9 @@ OUI:945B7E* - OUI:946124* - ID_OUI_FROM_DATABASE=Pason Systems - -+OUI:946269* -+ ID_OUI_FROM_DATABASE=Arris Group, Inc. -+ - OUI:9463D1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -63622,6 +63943,9 @@ OUI:988EDD* - OUI:989080* - ID_OUI_FROM_DATABASE=Linkpower Network System Inc Ltd. - -+OUI:989096* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:9893CC* - ID_OUI_FROM_DATABASE=LG Electronics Inc. - -@@ -63781,6 +64105,9 @@ OUI:9C3178* - OUI:9C31B6* - ID_OUI_FROM_DATABASE=Kulite Semiconductor Products Inc - -+OUI:9C3583* -+ ID_OUI_FROM_DATABASE=Nipro Diagnostics, Inc -+ - OUI:9C3AAF* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -64234,6 +64561,9 @@ OUI:A08C9B* - OUI:A090DE* - ID_OUI_FROM_DATABASE=VEEDIMS,LLC - -+OUI:A09347* -+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD. -+ - OUI:A09805* - ID_OUI_FROM_DATABASE=OpenVox Communication Co Ltd - -@@ -64336,6 +64666,9 @@ OUI:A0E534* - OUI:A0E5E9* - ID_OUI_FROM_DATABASE=enimai Inc - -+OUI:A0E6F8* -+ ID_OUI_FROM_DATABASE=Texas Instruments Inc -+ - OUI:A0E9DB* - ID_OUI_FROM_DATABASE=Ningbo FreeWings Technologies Co.,Ltd - -@@ -64498,6 +64831,9 @@ OUI:A46CC1* - OUI:A46E79* - ID_OUI_FROM_DATABASE=DFT System Co.Ltd - -+OUI:A470D6* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:A47733* - ID_OUI_FROM_DATABASE=Google - -@@ -64643,7 +64979,7 @@ OUI:A4D3B5* - ID_OUI_FROM_DATABASE=GLITEL Stropkov, s.r.o. - - OUI:A4D856* -- ID_OUI_FROM_DATABASE=Qualcomm Labs Inc. -+ ID_OUI_FROM_DATABASE=Gimbal, Inc - - OUI:A4DA3F* - ID_OUI_FROM_DATABASE=Bionics Corp. -@@ -64732,6 +65068,9 @@ OUI:A81758* - OUI:A81B18* - ID_OUI_FROM_DATABASE=XTS CORP - -+OUI:A81B5D* -+ ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd -+ - OUI:A81FAF* - ID_OUI_FROM_DATABASE=KRYPTON POLSKA - -@@ -64984,6 +65323,9 @@ OUI:AC0A61* - OUI:AC0DFE* - ID_OUI_FROM_DATABASE=Ekon GmbH - myGEKKO - -+OUI:AC11D3* -+ ID_OUI_FROM_DATABASE=Suzhou HOTEK Video Technology Co. Ltd -+ - OUI:AC1461* - ID_OUI_FROM_DATABASE=ATAW Co., Ltd. - -@@ -65023,6 +65365,9 @@ OUI:AC34CB* - OUI:AC3613* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:AC3870* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:AC3C0B* - ID_OUI_FROM_DATABASE=Apple - -@@ -65191,6 +65536,9 @@ OUI:ACAB8D* - OUI:ACB313* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:ACB74F* -+ ID_OUI_FROM_DATABASE=METEL s.r.o. -+ - OUI:ACB859* - ID_OUI_FROM_DATABASE=Uniband Electronic Corp, - -@@ -65356,6 +65704,9 @@ OUI:B03850* - OUI:B0435D* - ID_OUI_FROM_DATABASE=NuLEDs, Inc. - -+OUI:B04515* -+ ID_OUI_FROM_DATABASE=mira fitness,LLC. -+ - OUI:B04545* - ID_OUI_FROM_DATABASE=YACOUB Automation GmbH - -@@ -65635,6 +65986,9 @@ OUI:B41489* - OUI:B41513* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:B41780* -+ ID_OUI_FROM_DATABASE=DTI Group Ltd -+ - OUI:B418D1* - ID_OUI_FROM_DATABASE=Apple - -@@ -65746,6 +66100,12 @@ OUI:B4749F* - OUI:B4750E* - ID_OUI_FROM_DATABASE=Belkin International Inc. - -+OUI:B479A7* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ -+OUI:B47C29* -+ ID_OUI_FROM_DATABASE=Shenzhen Guzidi Technology Co.,Ltd -+ - OUI:B47F5E* - ID_OUI_FROM_DATABASE=Foresight Manufacture (S) Pte Ltd - -@@ -65923,6 +66283,9 @@ OUI:B81619* - OUI:B817C2* - ID_OUI_FROM_DATABASE=Apple - -+OUI:B8186F* -+ ID_OUI_FROM_DATABASE=ORIENTAL MOTOR CO., LTD. -+ - OUI:B81999* - ID_OUI_FROM_DATABASE=Nesys - -@@ -65989,6 +66352,9 @@ OUI:B843E4* - OUI:B847C6* - ID_OUI_FROM_DATABASE=SanJet Technology Corp. - -+OUI:B84FD5* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:B85510* - ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. - -@@ -66109,6 +66475,9 @@ OUI:B89AED* - OUI:B89BC9* - ID_OUI_FROM_DATABASE=SMC Networks Inc - -+OUI:B89BE4* -+ ID_OUI_FROM_DATABASE=ABB Power Systems Power Generation -+ - OUI:B8A386* - ID_OUI_FROM_DATABASE=D-Link International - -@@ -66151,6 +66520,9 @@ OUI:B8BA72* - OUI:B8BB6D* - ID_OUI_FROM_DATABASE=ENERES Co.,Ltd. - -+OUI:B8BD79* -+ ID_OUI_FROM_DATABASE=TrendPoint Systems -+ - OUI:B8BEBF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -66226,6 +66598,9 @@ OUI:B8EE65* - OUI:B8EE79* - ID_OUI_FROM_DATABASE=YWire Technologies, Inc. - -+OUI:B8F317* -+ ID_OUI_FROM_DATABASE=iSun Smasher Communications Private Limited -+ - OUI:B8F4D0* - ID_OUI_FROM_DATABASE=Herrmann Ultraschalltechnik GmbH & Co. Kg - -@@ -66373,6 +66748,9 @@ OUI:BC5FF4* - OUI:BC629F* - ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. - -+OUI:BC6641* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:BC671C* - ID_OUI_FROM_DATABASE=Cisco - -@@ -66838,6 +67216,9 @@ OUI:C4017C* - OUI:C401B1* - ID_OUI_FROM_DATABASE=SeekTech INC - -+OUI:C401CE* -+ ID_OUI_FROM_DATABASE=PRESITION (2000) CO., LTD. -+ - OUI:C40415* - ID_OUI_FROM_DATABASE=NETGEAR INC., - -@@ -66970,6 +67351,12 @@ OUI:C455C2* - OUI:C45600* - ID_OUI_FROM_DATABASE=Galleon Embedded Computing - -+OUI:C456FE* -+ ID_OUI_FROM_DATABASE=Lava International Ltd. -+ -+OUI:C4576E* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD -+ - OUI:C458C2* - ID_OUI_FROM_DATABASE=Shenzhen TATFOOK Technology Co., Ltd. - -@@ -67081,6 +67468,9 @@ OUI:C4B512* - OUI:C4BA99* - ID_OUI_FROM_DATABASE=I+ME Actia Informatik und Mikro-Elektronik GmbH - -+OUI:C4BD6A* -+ ID_OUI_FROM_DATABASE=SKF GmbH -+ - OUI:C4C0AE* - ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. - -@@ -67429,6 +67819,9 @@ OUI:C8E1A7* - OUI:C8E42F* - ID_OUI_FROM_DATABASE=Technical Research Design and Development - -+OUI:C8E7D8* -+ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. -+ - OUI:C8EE08* - ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD - -@@ -67480,6 +67873,9 @@ OUI:C8FF77* - OUI:CC0080* - ID_OUI_FROM_DATABASE=BETTINI SRL - -+OUI:CC03FA* -+ ID_OUI_FROM_DATABASE=Technicolor CH USA -+ - OUI:CC047C* - ID_OUI_FROM_DATABASE=G-WAY Microwave - -@@ -67507,6 +67903,9 @@ OUI:CC0CDA* - OUI:CC0DEC* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:CC10A3* -+ ID_OUI_FROM_DATABASE=Beijing Nan Bao Technology Co., Ltd. -+ - OUI:CC14A6* - ID_OUI_FROM_DATABASE=Yichun MyEnergy Domain, Inc - -@@ -67531,6 +67930,9 @@ OUI:CC2A80* - OUI:CC2D8C* - ID_OUI_FROM_DATABASE=LG ELECTRONICS INC - -+OUI:CC3080* -+ ID_OUI_FROM_DATABASE=VAIO Corporation -+ - OUI:CC33BB* - ID_OUI_FROM_DATABASE=SAGEMCOM SAS - -@@ -67756,9 +68158,15 @@ OUI:CCD539* - OUI:CCD811* - ID_OUI_FROM_DATABASE=Aiconn Technology Corporation - -+OUI:CCD8C1* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:CCD9E9* - ID_OUI_FROM_DATABASE=SCR Engineers Ltd. - -+OUI:CCE17F* -+ ID_OUI_FROM_DATABASE=juniper networks -+ - OUI:CCE1D5* - ID_OUI_FROM_DATABASE=Buffalo Inc. - -@@ -67786,6 +68194,9 @@ OUI:CCF3A5* - OUI:CCF407* - ID_OUI_FROM_DATABASE=EUKREA ELECTROMATIQUE SARL - -+OUI:CCF538* -+ ID_OUI_FROM_DATABASE=3isysnetworks -+ - OUI:CCF67A* - ID_OUI_FROM_DATABASE=Ayecka Communication Systems LTD - -@@ -67825,6 +68236,9 @@ OUI:D00AAB* - OUI:D00EA4* - ID_OUI_FROM_DATABASE=Porsche Cars North America - -+OUI:D01242* -+ ID_OUI_FROM_DATABASE=BIOS Corporation -+ - OUI:D0131E* - ID_OUI_FROM_DATABASE=Sunrex Technology Corp - -@@ -67915,6 +68329,9 @@ OUI:D05FB8* - OUI:D05FCE* - ID_OUI_FROM_DATABASE=Hitachi Data Systems - -+OUI:D062A0* -+ ID_OUI_FROM_DATABASE=China Essence Technology (Zhumadian) Co., Ltd. -+ - OUI:D0634D* - ID_OUI_FROM_DATABASE=Meiko Maschinenbau GmbH & Co. KG - -@@ -67963,6 +68380,9 @@ OUI:D07E28* - OUI:D07E35* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:D084B0* -+ ID_OUI_FROM_DATABASE=Sagemcom -+ - OUI:D08999* - ID_OUI_FROM_DATABASE=APCON, Inc. - -@@ -68110,6 +68530,9 @@ OUI:D0F27F* - OUI:D0F73B* - ID_OUI_FROM_DATABASE=Helmut Mauell GmbH - -+OUI:D0FA1D* -+ ID_OUI_FROM_DATABASE=Qihoo 360 Technology Co.,Ltd -+ - OUI:D0FF50* - ID_OUI_FROM_DATABASE=Texas Instruments, Inc - -@@ -68191,6 +68614,9 @@ OUI:D42F23* - OUI:D4319D* - ID_OUI_FROM_DATABASE=Sinwatec - -+OUI:D437D7* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:D43A65* - ID_OUI_FROM_DATABASE=IGRS Engineering Lab Ltd. - -@@ -68278,6 +68704,9 @@ OUI:D46F42* - OUI:D479C3* - ID_OUI_FROM_DATABASE=Cameronet GmbH & Co. KG - -+OUI:D47B35* -+ ID_OUI_FROM_DATABASE=NEO Monitors AS -+ - OUI:D47B75* - ID_OUI_FROM_DATABASE=HARTING Electronics GmbH - -@@ -68299,6 +68728,9 @@ OUI:D48890* - OUI:D48CB5* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:D48F33* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:D48FAA* - ID_OUI_FROM_DATABASE=Sogecam Industrial, S.A. - -@@ -68440,6 +68872,9 @@ OUI:D4EA0E* - OUI:D4EC0C* - ID_OUI_FROM_DATABASE=Harley-Davidson Motor Company - -+OUI:D4EC86* -+ ID_OUI_FROM_DATABASE=LinkedHope Intelligent Technologies Co., Ltd -+ - OUI:D4EE07* - ID_OUI_FROM_DATABASE=HIWIFI Co., Ltd. - -@@ -68551,6 +68986,9 @@ OUI:D8490B* - OUI:D8492F* - ID_OUI_FROM_DATABASE=CANON INC. - -+OUI:D84A87* -+ ID_OUI_FROM_DATABASE=OI ELECTRIC CO.,LTD -+ - OUI:D84B2A* - ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. - -@@ -68860,6 +69298,9 @@ OUI:DC37D2* - OUI:DC38E1* - ID_OUI_FROM_DATABASE=Juniper networks - -+OUI:DC3979* -+ ID_OUI_FROM_DATABASE=Skyport Systems -+ - OUI:DC3A5E* - ID_OUI_FROM_DATABASE=Roku, Inc - -@@ -69199,6 +69640,9 @@ OUI:E09467* - OUI:E09579* - ID_OUI_FROM_DATABASE=ORTHOsoft inc, d/b/a Zimmer CAS - -+OUI:E09796* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:E097F2* - ID_OUI_FROM_DATABASE=Atomax Inc. - -@@ -69226,6 +69670,9 @@ OUI:E0AAB0* - OUI:E0ABFE* - ID_OUI_FROM_DATABASE=Orb Networks, Inc. - -+OUI:E0ACF1* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:E0AE5E* - ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. - -@@ -69523,6 +69970,9 @@ OUI:E492E7* - OUI:E492FB* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:E4956E* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:E496AE* - ID_OUI_FROM_DATABASE=ALTOGRAPHICS Inc. - -@@ -69553,6 +70003,9 @@ OUI:E4B021* - OUI:E4C146* - ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A - -+OUI:E4C62B* -+ ID_OUI_FROM_DATABASE=Airware -+ - OUI:E4C63D* - ID_OUI_FROM_DATABASE=Apple, Inc. - -@@ -69910,6 +70363,9 @@ OUI:E8EA6A* - OUI:E8EADA* - ID_OUI_FROM_DATABASE=Denkovi Assembly Electroncs LTD - -+OUI:E8ED05* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:E8EDF3* - ID_OUI_FROM_DATABASE=Cisco - -@@ -69931,6 +70387,9 @@ OUI:E8FC60* - OUI:E8FCAF* - ID_OUI_FROM_DATABASE=NETGEAR INC., - -+OUI:EC0EC4* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:EC0ED6* - ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS - -@@ -69949,6 +70408,9 @@ OUI:EC1766* - OUI:EC1A59* - ID_OUI_FROM_DATABASE=Belkin International Inc. - -+OUI:EC1D7F* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:EC219F* - ID_OUI_FROM_DATABASE=VidaBox LLC - -@@ -69982,6 +70444,9 @@ OUI:EC3586* - OUI:EC3BF0* - ID_OUI_FROM_DATABASE=NovelSat - -+OUI:EC3C5A* -+ ID_OUI_FROM_DATABASE=SHEN ZHEN HENG SHENG HUI DIGITAL TECHNOLOGY CO.,LTD -+ - OUI:EC3E09* - ID_OUI_FROM_DATABASE=PERFORMANCE DESIGNED PRODUCTS, LLC - -@@ -70522,6 +70987,9 @@ OUI:F4068D* - OUI:F406A5* - ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. - -+OUI:F409D8* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ - OUI:F40B93* - ID_OUI_FROM_DATABASE=Research In Motion - -@@ -70555,6 +71023,9 @@ OUI:F42012* - OUI:F42833* - ID_OUI_FROM_DATABASE=MMPC Inc. - -+OUI:F42853* -+ ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. -+ - OUI:F42896* - ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA - -@@ -70780,6 +71251,9 @@ OUI:F4EC38* - OUI:F4F15A* - ID_OUI_FROM_DATABASE=Apple - -+OUI:F4F1E1* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:F4F26D* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -@@ -70855,6 +71329,9 @@ OUI:F81EDF* - OUI:F82285* - ID_OUI_FROM_DATABASE=Cypress Technology CO., LTD. - -+OUI:F82441* -+ ID_OUI_FROM_DATABASE=Yeelink -+ - OUI:F82793* - ID_OUI_FROM_DATABASE=Apple, Inc - -@@ -71119,6 +71596,9 @@ OUI:F8E4FB* - OUI:F8E7B5* - ID_OUI_FROM_DATABASE=µTech Tecnologia LTDA - -+OUI:F8E811* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:F8E968* - ID_OUI_FROM_DATABASE=Egker Kft. - -@@ -71221,6 +71701,9 @@ OUI:FC1BFF* - OUI:FC1D59* - ID_OUI_FROM_DATABASE=I Smart Cities HK Ltd - -+OUI:FC1D84* -+ ID_OUI_FROM_DATABASE=Autobase -+ - OUI:FC1E16* - ID_OUI_FROM_DATABASE=IPEVO corp - -@@ -71359,6 +71842,9 @@ OUI:FC9947* - OUI:FC9FAE* - ID_OUI_FROM_DATABASE=Fidus Systems Inc - -+OUI:FC9FE1* -+ ID_OUI_FROM_DATABASE=CONWIN.Tech. Ltd -+ - OUI:FCA13E* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -71419,6 +71905,9 @@ OUI:FCD817* - OUI:FCDB96* - ID_OUI_FROM_DATABASE=ENERVALLEY CO., LTD - -+OUI:FCDBB3* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:FCDD55* - ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd - -diff --git hwdb/20-pci-classes.hwdb hwdb/20-pci-classes.hwdb -index fd1d5d0..5702c40 100644 ---- hwdb/20-pci-classes.hwdb -+++ hwdb/20-pci-classes.hwdb -@@ -47,12 +47,24 @@ pci:v*d*sv*sd*bc01sc06i00* - pci:v*d*sv*sd*bc01sc06i01* - ID_PCI_INTERFACE_FROM_DATABASE=AHCI 1.0 - -+pci:v*d*sv*sd*bc01sc06i02* -+ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus -+ - pci:v*d*sv*sd*bc01sc07* - ID_PCI_SUBCLASS_FROM_DATABASE=Serial Attached SCSI controller - -+pci:v*d*sv*sd*bc01sc07i01* -+ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus -+ - pci:v*d*sv*sd*bc01sc08* - ID_PCI_SUBCLASS_FROM_DATABASE=Non-Volatile memory controller - -+pci:v*d*sv*sd*bc01sc08i01* -+ ID_PCI_INTERFACE_FROM_DATABASE=NVMHCI -+ -+pci:v*d*sv*sd*bc01sc08i02* -+ ID_PCI_INTERFACE_FROM_DATABASE=NVM Express -+ - pci:v*d*sv*sd*bc01sc80* - ID_PCI_SUBCLASS_FROM_DATABASE=Mass storage controller - -@@ -80,6 +92,9 @@ pci:v*d*sv*sd*bc02sc05* - pci:v*d*sv*sd*bc02sc06* - ID_PCI_SUBCLASS_FROM_DATABASE=PICMG controller - -+pci:v*d*sv*sd*bc02sc07* -+ ID_PCI_SUBCLASS_FROM_DATABASE=Infiniband controller -+ - pci:v*d*sv*sd*bc02sc80* - ID_PCI_SUBCLASS_FROM_DATABASE=Network controller - -@@ -311,6 +326,9 @@ pci:v*d*sv*sd*bc08sc02i01* - pci:v*d*sv*sd*bc08sc02i02* - ID_PCI_INTERFACE_FROM_DATABASE=EISA Timers - -+pci:v*d*sv*sd*bc08sc02i03* -+ ID_PCI_INTERFACE_FROM_DATABASE=HPET -+ - pci:v*d*sv*sd*bc08sc03* - ID_PCI_SUBCLASS_FROM_DATABASE=RTC - -@@ -527,5 +545,14 @@ pci:v*d*sv*sd*bc11sc20* - pci:v*d*sv*sd*bc11sc80* - ID_PCI_SUBCLASS_FROM_DATABASE=Signal processing controller - -+pci:v*d*sv*sd*bc12* -+ ID_PCI_CLASS_FROM_DATABASE=Processing accelerators -+ -+pci:v*d*sv*sd*bc12sc00* -+ ID_PCI_SUBCLASS_FROM_DATABASE=Processing accelerators -+ -+pci:v*d*sv*sd*bc13* -+ ID_PCI_CLASS_FROM_DATABASE=Non-Essential Instrumentation -+ - pci:v*d*sv*sd*bcFF* - ID_PCI_CLASS_FROM_DATABASE=Unassigned class -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 62941b9..77c727d 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -959,6 +959,15 @@ pci:v00001000d0000005Dsv00001028sd00001F49* - pci:v00001000d0000005Dsv00001028sd00001F4A* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) - -+pci:v00001000d0000005Dsv00001028sd00001F4D* -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xS) -+ -+pci:v00001000d0000005Dsv00001028sd00001F4F* -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Slim) -+ -+pci:v00001000d0000005Dsv00001028sd00001F54* -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xD) -+ - pci:v00001000d0000005Dsv000017AAsd00001052* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) - -@@ -1677,7 +1686,7 @@ pci:v00001002d00001308* - ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller - - pci:v00001002d00001309* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6/R7 Graphics] - - pci:v00001002d0000130A* - ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] -@@ -3003,7 +3012,7 @@ pci:v00001002d00004C57sv00001014sd00000517* - ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) - - pci:v00001002d00004C57sv00001014sd00000530* -- ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T4x Series) - - pci:v00001002d00004C57sv00001028sd000000E6* - ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) -@@ -4362,7 +4371,7 @@ pci:v00001002d00006667* - ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] - - pci:v00001002d0000666F* -- ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] -+ ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M / R5 M230] - - pci:v00001002d00006670* - ID_MODEL_FROM_DATABASE=Hainan -@@ -5937,10 +5946,10 @@ pci:v00001002d0000679F* - ID_MODEL_FROM_DATABASE=Tahiti - - pci:v00001002d000067A0* -- ID_MODEL_FROM_DATABASE=Hawaii XT GL -+ ID_MODEL_FROM_DATABASE=Hawaii XT GL [FirePro W9100] - - pci:v00001002d000067A1* -- ID_MODEL_FROM_DATABASE=Hawaii GL -+ ID_MODEL_FROM_DATABASE=Hawaii PRO GL [FirePro W8100] - - pci:v00001002d000067A2* - ID_MODEL_FROM_DATABASE=Hawaii GL -@@ -5961,7 +5970,7 @@ pci:v00001002d000067B1* - ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] - - pci:v00001002d000067B9* -- ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] -+ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295X2] - - pci:v00001002d000067BE* - ID_MODEL_FROM_DATABASE=Hawaii LE -@@ -7860,7 +7869,13 @@ pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE - - pci:v00001002d00006900* -- ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] -+ -+pci:v00001002d00006900sv00001028sd00000640* -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M265) -+ -+pci:v00001002d00006900sv00001179sd0000F934* -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M260) - - pci:v00001002d00006901* - ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] -@@ -8027,6 +8042,9 @@ pci:v00001002d0000718A* - pci:v00001002d0000718B* - ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] - -+pci:v00001002d0000718Bsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001002d0000718C* - ID_MODEL_FROM_DATABASE=RV516/M62-CSP64 [Mobility Radeon X1350] - -@@ -8969,26 +8987,29 @@ pci:v00001002d0000983E* - pci:v00001002d0000983F* - ID_MODEL_FROM_DATABASE=Kabini - -+pci:v00001002d00009840* -+ ID_MODEL_FROM_DATABASE=Kabini HDMI/DP Audio -+ - pci:v00001002d00009850* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A6-6200 with R3 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] - - pci:v00001002d00009851* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R4/R5 Graphics] - - pci:v00001002d00009852* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] - - pci:v00001002d00009853* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-4000 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] - - pci:v00001002d00009854* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-3700 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] - - pci:v00001002d00009855* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2450M with R3 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R6 Graphics] - - pci:v00001002d00009856* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] - - pci:v00001002d00009857* - ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] -@@ -12347,6 +12368,9 @@ pci:v0000102Bd00000532sv00001028sd0000029C* - pci:v0000102Bd00000532sv00001028sd000002A4* - ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) - -+pci:v0000102Bd00000532sv000015D9sd00000624* -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (X9SCM-F Motherboard) -+ - pci:v0000102Bd00000532sv000015D9sd0000A811* - ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) - -@@ -13169,6 +13193,9 @@ pci:v00001039d00000016* - pci:v00001039d00000018* - ID_MODEL_FROM_DATABASE=SiS85C503/5513 (LPC Bridge) - -+pci:v00001039d00000163* -+ ID_MODEL_FROM_DATABASE=163 802.11b/g Wireless LAN Adapter -+ - pci:v00001039d00000180* - ID_MODEL_FROM_DATABASE=RAID bus controller 180 SATA/PATA [SiS] - -@@ -14141,6 +14168,9 @@ pci:v00001042d00003020* - pci:v00001043* - ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc. - -+pci:v00001043d00000464* -+ ID_MODEL_FROM_DATABASE=Radeon R9 270x GPU -+ - pci:v00001043d00000675* - ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D - -@@ -17978,6 +18008,9 @@ pci:v00001095d00003512sv00001095sd00006512* - pci:v00001095d00003531* - ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller - -+pci:v00001095d00003531sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00001096* - ID_VENDOR_FROM_DATABASE=Alacron - -@@ -26261,6 +26294,9 @@ pci:v000010DEd00000F00* - pci:v000010DEd00000F01* - ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 620] - -+pci:v000010DEd00000F02* -+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 730] -+ - pci:v000010DEd00000FC0* - ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 640 OEM] - -@@ -26276,6 +26312,9 @@ pci:v000010DEd00000FC6* - pci:v000010DEd00000FC6sv00001043sd00008428* - ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) - -+pci:v000010DEd00000FC8* -+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 740] -+ - pci:v000010DEd00000FCD* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] - -@@ -26420,6 +26459,9 @@ pci:v000010DEd00000FFE* - pci:v000010DEd00000FFF* - ID_MODEL_FROM_DATABASE=GK107GL [Quadro 410] - -+pci:v000010DEd00001001* -+ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX TITAN Z] -+ - pci:v000010DEd00001003* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan LE] - -@@ -26828,9 +26870,57 @@ pci:v000010DEd00001140sv00001025sd00000830* - pci:v000010DEd00001140sv00001025sd00000837* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv00001025sd0000083E* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001025sd00000841* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - -+pci:v000010DEd00001140sv00001025sd00000854* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000855* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000856* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000857* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000858* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000868* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000869* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) -+ -+pci:v000010DEd00001140sv00001025sd00000873* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000878* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000087B* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000087C* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) -+ -+pci:v000010DEd00001140sv00001025sd00000881* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000088A* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000090F* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000921* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001028sd0000054D* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -@@ -26966,6 +27056,18 @@ pci:v000010DEd00001140sv00001043sd000016DD* - pci:v000010DEd00001140sv00001043sd0000170D* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -+pci:v000010DEd00001140sv00001043sd0000176D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001043sd0000178D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001043sd0000179D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001043sd000017DD* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001043sd00002132* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - -@@ -27713,6 +27815,9 @@ pci:v000010DEd00001284* - pci:v000010DEd00001286* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] - -+pci:v000010DEd00001287* -+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 730] -+ - pci:v000010DEd00001290* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] - -@@ -27749,6 +27854,21 @@ pci:v000010DEd00001294* - pci:v000010DEd00001295* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] - -+pci:v000010DEd00001295sv0000103Csd00002B0D* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B0F* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B11* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B21* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B22* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) -+ - pci:v000010DEd00001296* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] - -@@ -28302,7 +28422,7 @@ pci:v000010ECd00008136* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller - - pci:v000010ECd00008136sv0000103Csd00002AB1* -- ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion p6774) - - pci:v000010ECd00008136sv0000103Csd000030CC* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) -@@ -28310,6 +28430,9 @@ pci:v000010ECd00008136sv0000103Csd000030CC* - pci:v000010ECd00008136sv00001179sd0000FF64* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) - -+pci:v000010ECd00008136sv000017C0sd00001053* -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (AzureWave AW-NE766 802.11B/G/N Mini PCIe Card Model RT2700E) -+ - pci:v000010ECd00008138* - ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter - -@@ -29036,6 +29159,9 @@ pci:v00001102d0000000B* - pci:v00001102d0000000Bsv00001102sd00000041* - ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) - -+pci:v00001102d00000012* -+ ID_MODEL_FROM_DATABASE=SB Recon3D -+ - pci:v00001102d00004001* - ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port - -@@ -30878,6 +31004,9 @@ pci:v00001106d0000E340* - pci:v00001106d0000E353* - ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port - -+pci:v00001106d0000E410* -+ ID_MODEL_FROM_DATABASE=VX900 PCI Express Physical Layer Electrical Sub-block -+ - pci:v00001106d0000F208* - ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller - -@@ -35045,6 +35174,9 @@ pci:v000011ABd00004353sv0000104Dsd0000902D* - pci:v000011ABd00004354* - ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller - -+pci:v000011ABd00004354sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (R730 Laptop) -+ - pci:v000011ABd00004354sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) - -@@ -36557,6 +36689,9 @@ pci:v00001217* - pci:v00001217d000000F7* - ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) - -+pci:v00001217d000000F7sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001217d000000F7sv00001179sd0000FF50* - ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) - -@@ -36635,12 +36770,18 @@ pci:v00001217d00007114* - pci:v00001217d00007120* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller - -+pci:v00001217d00007120sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001217d00007120sv00001179sd0000FF50* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) - - pci:v00001217d00007130* - ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller - -+pci:v00001217d00007130sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001217d00007130sv00001179sd0000FF50* - ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) - -@@ -42276,7 +42417,7 @@ pci:v00001425d00004083* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller - - pci:v00001425d00004084* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller - - pci:v00001425d00004085* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -@@ -42348,7 +42489,7 @@ pci:v00001425d00004483* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller - - pci:v00001425d00004484* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller - - pci:v00001425d00004485* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -@@ -42420,7 +42561,7 @@ pci:v00001425d00004583* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller - - pci:v00001425d00004584* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller - - pci:v00001425d00004585* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller -@@ -42492,7 +42633,7 @@ pci:v00001425d00004683* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller - - pci:v00001425d00004684* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller - - pci:v00001425d00004685* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller -@@ -42564,7 +42705,7 @@ pci:v00001425d00004783* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller - - pci:v00001425d00004784* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller - - pci:v00001425d00004785* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -@@ -42579,76 +42720,76 @@ pci:v00001425d00004788* - ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller - - pci:v00001425d00004801* -- ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004802* -- ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004803* -- ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004804* -- ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004805* -- ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004806* -- ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004807* -- ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004808* -- ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004809* -- ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480A* -- ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480B* -- ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480C* -- ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480D* -- ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480E* -- ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480F* -- ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004880* -- ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004881* -- ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004882* -- ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004883* -- ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004884* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004885* -- ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004886* -- ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004887* -- ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004888* -- ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005001* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller -@@ -43041,82 +43182,82 @@ pci:v00001425d00005785* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller - - pci:v00001425d00005801* -- ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005802* -- ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005803* -- ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005804* -- ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005805* -- ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005806* -- ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005807* -- ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005808* -- ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005809* -- ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580A* -- ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580B* -- ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580C* -- ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580D* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580E* -- ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580F* -- ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005810* -- ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005811* -- ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005812* -- ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005813* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005814* -- ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005815* -- ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005880* -- ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005881* -- ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005883* -- ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005884* -- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005885* -- ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000A000* - ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller -@@ -43562,6 +43703,9 @@ pci:v0000148E* - pci:v0000148F* - ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc. - -+pci:v0000148Fd00005370* -+ ID_MODEL_FROM_DATABASE=Dexlink AUWL15I1 -+ - pci:v00001490* - ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd. - -@@ -44885,6 +45029,9 @@ pci:v000014E4d000016A2sv0000103Csd00001916* - pci:v000014E4d000016A2sv0000103Csd00001917* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) - -+pci:v000014E4d000016A3* -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57786 Gigabit Ethernet PCIe -+ - pci:v000014E4d000016A4* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function - -@@ -47796,7 +47943,7 @@ pci:v000015B3d00001003* - ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3] - - pci:v000015B3d00001004* -- ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Virtual Function] -+ ID_MODEL_FROM_DATABASE=MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] - - pci:v000015B3d00001005* - ID_MODEL_FROM_DATABASE=MT27510 Family -@@ -47807,9 +47954,6 @@ pci:v000015B3d00001006* - pci:v000015B3d00001007* - ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro] - --pci:v000015B3d00001008* -- ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro Virtual Function] -- - pci:v000015B3d00001009* - ID_MODEL_FROM_DATABASE=MT27530 Family - -@@ -49187,6 +49331,9 @@ pci:v0000168Cd0000002Bsv0000105Bsd0000E017* - pci:v0000168Cd0000002Bsv0000105Bsd0000E023* - ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) - -+pci:v0000168Cd0000002Bsv0000105Bsd0000E025* -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.05 802.11bgn Wireless Half-size Mini PCIe Card) -+ - pci:v0000168Cd0000002Bsv00001113sd0000E811* - ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) - -@@ -50471,6 +50618,9 @@ pci:v00001814d00000701sv00001737sd00000074* - pci:v00001814d00000781* - ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe - -+pci:v00001814d00000781sv00001814sd00002790* -+ ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe -+ - pci:v00001814d00003060* - ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R - -@@ -51911,6 +52061,9 @@ pci:v00001969d00001063* - pci:v00001969d00001063sv00001458sd0000E000* - ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) - -+pci:v00001969d00001063sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00001969d00001066* - ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet - -@@ -52358,6 +52511,18 @@ pci:v00001A2Bd0000000A* - pci:v00001A2Bd0000000E* - ID_MODEL_FROM_DATABASE=DSLP-104 v1.1 - -+pci:v00001A30* -+ ID_VENDOR_FROM_DATABASE=Lantiq -+ -+pci:v00001A30d00000680* -+ ID_MODEL_FROM_DATABASE=MtW8171 [Hyperion II] -+ -+pci:v00001A30d00000700* -+ ID_MODEL_FROM_DATABASE=Wave300 PSB8224 [Hyperion III] -+ -+pci:v00001A30d00000710* -+ ID_MODEL_FROM_DATABASE=Wave300 PSB8231 [Hyperion III] -+ - pci:v00001A32* - ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc - -@@ -52497,19 +52662,19 @@ pci:v00001A78* - ID_VENDOR_FROM_DATABASE=Virident Systems Inc. - - pci:v00001A78d00000031* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive - - pci:v00001A78d00000031sv00001A78sd00000034* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) - - pci:v00001A78d00000031sv00001A78sd00000037* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) - - pci:v00001A78d00000031sv00001A78sd00000038* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) - - pci:v00001A78d00000031sv00001A78sd00000039* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) - - pci:v00001A78d00000040* - ID_MODEL_FROM_DATABASE=FlashMAX II -@@ -52520,6 +52685,9 @@ pci:v00001A78d00000041* - pci:v00001A78d00000042* - ID_MODEL_FROM_DATABASE=FlashMAX II - -+pci:v00001A78d00000050* -+ ID_MODEL_FROM_DATABASE=FlashMAX III -+ - pci:v00001A84* - ID_VENDOR_FROM_DATABASE=Commex Technologies - -@@ -52682,6 +52850,15 @@ pci:v00001AEDd00001008* - pci:v00001AEDd00002001* - ID_MODEL_FROM_DATABASE=ioDrive2 - -+pci:v00001AEDd00003001* -+ ID_MODEL_FROM_DATABASE=ioMemory FHHL -+ -+pci:v00001AEDd00003002* -+ ID_MODEL_FROM_DATABASE=ioMemory HHHL -+ -+pci:v00001AEDd00003003* -+ ID_MODEL_FROM_DATABASE=ioMemory Mezzanine -+ - pci:v00001AEE* - ID_VENDOR_FROM_DATABASE=Caustic Graphics Inc. - -@@ -52775,6 +52952,9 @@ pci:v00001B21d00001080* - pci:v00001B21d00001080sv00001849sd00001080* - ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) - -+pci:v00001B21d00001142* -+ ID_MODEL_FROM_DATABASE=ASM1042A USB 3.0 Host Controller -+ - pci:v00001B2C* - ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. - -@@ -52916,6 +53096,9 @@ pci:v00001B4Bd00009485* - pci:v00001B55* - ID_VENDOR_FROM_DATABASE=NetUP Inc. - -+pci:v00001B55d000018F6* -+ ID_MODEL_FROM_DATABASE=Dual DVB Universal CI card -+ - pci:v00001B55d00002A2C* - ID_MODEL_FROM_DATABASE=Dual DVB-S2-CI card - -@@ -53135,6 +53318,9 @@ pci:v00001CE4d00000002* - pci:v00001CF7* - ID_VENDOR_FROM_DATABASE=Subspace Dynamics - -+pci:v00001D21* -+ ID_VENDOR_FROM_DATABASE=Allo -+ - pci:v00001D44* - ID_VENDOR_FROM_DATABASE=DPT - -@@ -54956,15 +55142,30 @@ pci:v00008086d00000044sv00001025sd00000347* - pci:v00008086d00000044sv00001025sd00000487* - ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) - -+pci:v00008086d00000044sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (R730 Laptop) -+ -+pci:v00008086d00000044sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00000044sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) - - pci:v00008086d00000045* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port - -+pci:v00008086d00000045sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00000046* - ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller - -+pci:v00008086d00000046sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (R730 Laptop) -+ -+pci:v00008086d00000046sv000017C0sd000010D9* -+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00000046sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) - -@@ -55238,6 +55439,9 @@ pci:v00008086d00000150* - pci:v00008086d00000150sv00001043sd000084CA* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) - -+pci:v00008086d00000150sv000015D9sd00000624* -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (X9SCM-F Motherboard) -+ - pci:v00008086d00000150sv00001849sd00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) - -@@ -55445,6 +55649,9 @@ pci:v00008086d00000416sv000017AAsd0000220E* - pci:v00008086d0000041A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller - -+pci:v00008086d0000041E* -+ ID_MODEL_FROM_DATABASE=4th Generation Core Processor Family Integrated Graphics Controller -+ - pci:v00008086d00000433* - ID_MODEL_FROM_DATABASE=Coleto Creek ACC - ME/CPM interface - -@@ -56727,241 +56934,85 @@ pci:v00008086d00000EFD* - ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000F00* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -- --pci:v00008086d00000F01* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -- --pci:v00008086d00000F02* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -- --pci:v00008086d00000F03* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register - - pci:v00008086d00000F04* -- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller -- --pci:v00008086d00000F05* -- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller - - pci:v00008086d00000F06* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller -- --pci:v00008086d00000F07* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 DMA Controller - - pci:v00008086d00000F08* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller - - pci:v00008086d00000F09* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller - - pci:v00008086d00000F0A* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 -- --pci:v00008086d00000F0B* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #1 - - pci:v00008086d00000F0C* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 -- --pci:v00008086d00000F0D* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #2 - - pci:v00008086d00000F0E* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller -- --pci:v00008086d00000F0F* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller -- --pci:v00008086d00000F10* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller -- --pci:v00008086d00000F11* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller -- --pci:v00008086d00000F12* -- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller -- --pci:v00008086d00000F13* -- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller - - pci:v00008086d00000F14* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller - - pci:v00008086d00000F15* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller - - pci:v00008086d00000F16* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -- --pci:v00008086d00000F17* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller - - pci:v00008086d00000F18* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -- --pci:v00008086d00000F19* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -- --pci:v00008086d00000F1A* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -- --pci:v00008086d00000F1B* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine - - pci:v00008086d00000F1C* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F1D* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F1E* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F1F* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F20* -- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller -- --pci:v00008086d00000F21* -- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller -- --pci:v00008086d00000F22* -- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller -- --pci:v00008086d00000F23* -- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller -- --pci:v00008086d00000F24* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F25* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F26* -- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller -- --pci:v00008086d00000F27* -- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Power Control Unit - - pci:v00008086d00000F28* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F29* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F2A* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F2B* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F2E* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F2F* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F30* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller - - pci:v00008086d00000F31* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -- --pci:v00008086d00000F32* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -- --pci:v00008086d00000F33* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Graphics & Display - - pci:v00008086d00000F34* -- ID_MODEL_FROM_DATABASE=ValleyView USB Enhanced Host Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB EHCI - - pci:v00008086d00000F35* -- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller -- --pci:v00008086d00000F36* -- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB xHCI - - pci:v00008086d00000F37* -- ID_MODEL_FROM_DATABASE=ValleyView OTG -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series OTG USB Device - - pci:v00008086d00000F38* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F39* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3A* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3B* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3C* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3D* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3E* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3F* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Camera ISP - - pci:v00008086d00000F40* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 DMA Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 DMA Controller - - pci:v00008086d00000F41* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #1 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #1 - - pci:v00008086d00000F42* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #2 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #2 - - pci:v00008086d00000F43* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #3 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #3 - - pci:v00008086d00000F44* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #4 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #4 - - pci:v00008086d00000F45* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #5 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #5 - - pci:v00008086d00000F46* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #6 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #6 - - pci:v00008086d00000F47* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #7 -- --pci:v00008086d00000F48* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F49* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4A* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4B* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4C* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4D* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4E* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4F* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F50* -- ID_MODEL_FROM_DATABASE=ValleyView MIPI-HSI Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #7 - - pci:v00008086d00001000* - ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) -@@ -57842,6 +57893,9 @@ pci:v00008086d00001091* - pci:v00008086d00001092* - ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection - -+pci:v00008086d00001092sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d00001093* - ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection - -@@ -59403,7 +59457,7 @@ pci:v00008086d0000154Asv00008086sd0000011C* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154C* -- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function - - pci:v00008086d0000154D* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter -@@ -59460,34 +59514,37 @@ pci:v00008086d00001570* - ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V - - pci:v00008086d00001571* -- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function - - pci:v00008086d00001572* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ - - pci:v00008086d00001572sv00001028sd00001F99* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC) -+ -+pci:v00008086d00001572sv00008086sd00000000* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710) - - pci:v00008086d00001572sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 2P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000007* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d00001572sv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d0000157B* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -@@ -59496,17 +59553,20 @@ pci:v00008086d0000157C* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - - pci:v00008086d00001580* -- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE backplane - - pci:v00008086d00001581* -- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane - - pci:v00008086d00001581sv00001028sd00001F98* -- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane (Ethernet 10G 4P X710-k bNDC) - - pci:v00008086d00001583* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - -+pci:v00008086d00001583sv00008086sd00000000* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) -+ - pci:v00008086d00001583sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - -@@ -59519,6 +59579,9 @@ pci:v00008086d00001583sv00008086sd00000003* - pci:v00008086d00001584* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - -+pci:v00008086d00001584sv00008086sd00000000* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) -+ - pci:v00008086d00001584sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) - -@@ -61244,9 +61307,15 @@ pci:v00008086d00002448sv0000104Dsd0000902D* - pci:v00008086d00002448sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) - -+pci:v00008086d00002448sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d00002448sv0000144Dsd0000C00C* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) - -+pci:v00008086d00002448sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (R730 Laptop) -+ - pci:v00008086d00002448sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) - -@@ -61259,6 +61328,12 @@ pci:v00008086d00002448sv00001734sd00001055* - pci:v00008086d00002448sv000017AAsd000020AE* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) - -+pci:v00008086d00002448sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion Akoya E7214 Notebook PC [MD98410]) -+ -+pci:v00008086d00002448sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002448sv00008086sd0000544B* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) - -@@ -61872,7 +61947,7 @@ pci:v00008086d000024C5sv00001014sd00000267* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) - - pci:v00008086d000024C5sv00001014sd00000537* -- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T4x Series) - - pci:v00008086d000024C5sv00001014sd0000055F* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) -@@ -61944,7 +62019,7 @@ pci:v00008086d000024C6* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller - - pci:v00008086d000024C6sv00001014sd00000524* -- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T4x Series) - - pci:v00008086d000024C6sv00001014sd00000525* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) -@@ -64358,6 +64433,9 @@ pci:v00008086d000027A0sv0000103Csd000030A3* - pci:v00008086d000027A0sv00001043sd00001237* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) - -+pci:v00008086d000027A0sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027A0sv000017AAsd00002015* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) - -@@ -64373,6 +64451,9 @@ pci:v00008086d000027A1sv0000103Csd0000309F* - pci:v00008086d000027A1sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) - -+pci:v00008086d000027A1sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027A2* - ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller - -@@ -64457,6 +64538,9 @@ pci:v00008086d000027B9sv0000103Csd000030A1* - pci:v00008086d000027B9sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) - -+pci:v00008086d000027B9sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027B9sv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) - -@@ -64568,6 +64652,9 @@ pci:v00008086d000027C4sv00001025sd0000006C* - pci:v00008086d000027C4sv00001028sd000001D7* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) - -+pci:v00008086d000027C4sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027C4sv000017AAsd0000200E* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) - -@@ -64625,6 +64712,9 @@ pci:v00008086d000027C8sv00001043sd00008179* - pci:v00008086d000027C8sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) - -+pci:v00008086d000027C8sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027C8sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) - -@@ -64691,6 +64781,9 @@ pci:v00008086d000027C9sv00001043sd00008179* - pci:v00008086d000027C9sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) - -+pci:v00008086d000027C9sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027C9sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) - -@@ -64757,6 +64850,9 @@ pci:v00008086d000027CAsv00001043sd00008179* - pci:v00008086d000027CAsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) - -+pci:v00008086d000027CAsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027CAsv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) - -@@ -64817,6 +64913,9 @@ pci:v00008086d000027CBsv00001043sd00008179* - pci:v00008086d000027CBsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) - -+pci:v00008086d000027CBsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027CBsv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) - -@@ -64880,6 +64979,9 @@ pci:v00008086d000027CCsv00001043sd00008179* - pci:v00008086d000027CCsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) - -+pci:v00008086d000027CCsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027CCsv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) - -@@ -64913,6 +65015,9 @@ pci:v00008086d000027D0sv0000103Csd0000309F* - pci:v00008086d000027D0sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) - -+pci:v00008086d000027D0sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D0sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) - -@@ -64937,6 +65042,9 @@ pci:v00008086d000027D2sv0000103Csd0000309F* - pci:v00008086d000027D2sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) - -+pci:v00008086d000027D2sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D2sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) - -@@ -64952,6 +65060,9 @@ pci:v00008086d000027D2sv00008086sd0000544B* - pci:v00008086d000027D4* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 - -+pci:v00008086d000027D4sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D4sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) - -@@ -64970,6 +65081,9 @@ pci:v00008086d000027D6* - pci:v00008086d000027D6sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) - -+pci:v00008086d000027D6sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D6sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) - -@@ -65021,6 +65135,9 @@ pci:v00008086d000027D8sv00001043sd000082EA* - pci:v00008086d000027D8sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) - -+pci:v00008086d000027D8sv00001071sd00008207* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D8sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) - -@@ -65099,6 +65216,9 @@ pci:v00008086d000027DAsv00001043sd00008179* - pci:v00008086d000027DAsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) - -+pci:v00008086d000027DAsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027DAsv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) - -@@ -65258,6 +65378,9 @@ pci:v00008086d00002815sv0000104Dsd00009005* - pci:v00008086d00002815sv0000104Dsd0000902D* - ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) - -+pci:v00008086d00002815sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002820* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] - -@@ -65342,6 +65465,9 @@ pci:v00008086d00002829sv0000104Dsd0000902D* - pci:v00008086d00002829sv000017AAsd000020A7* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) - -+pci:v00008086d00002829sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002829sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) - -@@ -65393,6 +65519,9 @@ pci:v00008086d00002830sv00001462sd00007235* - pci:v00008086d00002830sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) - -+pci:v00008086d00002830sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002830sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) - -@@ -65435,6 +65564,9 @@ pci:v00008086d00002831sv00001462sd00007235* - pci:v00008086d00002831sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) - -+pci:v00008086d00002831sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002831sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) - -@@ -65474,6 +65606,9 @@ pci:v00008086d00002832sv0000104Dsd0000902D* - pci:v00008086d00002832sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) - -+pci:v00008086d00002832sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002832sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) - -@@ -65519,6 +65654,9 @@ pci:v00008086d00002834sv00001462sd00007235* - pci:v00008086d00002834sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) - -+pci:v00008086d00002834sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002834sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) - -@@ -65555,6 +65693,9 @@ pci:v00008086d00002835sv0000104Dsd0000902D* - pci:v00008086d00002835sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) - -+pci:v00008086d00002835sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002835sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) - -@@ -65597,6 +65738,9 @@ pci:v00008086d00002836sv00001462sd00007235* - pci:v00008086d00002836sv000017AAsd000020AB* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) - -+pci:v00008086d00002836sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002836sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) - -@@ -65633,6 +65777,9 @@ pci:v00008086d0000283Asv0000104Dsd0000902D* - pci:v00008086d0000283Asv000017AAsd000020AB* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) - -+pci:v00008086d0000283Asv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d0000283Asv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) - -@@ -65669,6 +65816,9 @@ pci:v00008086d0000283Esv00001462sd00007235* - pci:v00008086d0000283Esv000017AAsd000020A9* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) - -+pci:v00008086d0000283Esv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d0000283Esv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) - -@@ -65687,6 +65837,9 @@ pci:v00008086d0000283Fsv0000104Dsd0000902D* - pci:v00008086d0000283Fsv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) - -+pci:v00008086d0000283Fsv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002841* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 - -@@ -65699,6 +65852,9 @@ pci:v00008086d00002841sv0000104Dsd0000902D* - pci:v00008086d00002841sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) - -+pci:v00008086d00002841sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002843* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 - -@@ -65708,12 +65864,18 @@ pci:v00008086d00002843sv0000104Dsd0000902D* - pci:v00008086d00002843sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) - -+pci:v00008086d00002843sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002845* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 - - pci:v00008086d00002845sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) - -+pci:v00008086d00002845sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002847* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 - -@@ -65726,6 +65888,9 @@ pci:v00008086d00002847sv0000103Csd000030C1* - pci:v00008086d00002847sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) - -+pci:v00008086d00002847sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002849* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 - -@@ -65792,6 +65957,9 @@ pci:v00008086d0000284Bsv000014F1sd00005051* - pci:v00008086d0000284Bsv000017AAsd000020AC* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) - -+pci:v00008086d0000284Bsv000017C0sd00004088* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d0000284Bsv00008384sd00007616* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) - -@@ -65831,6 +65999,9 @@ pci:v00008086d00002850sv0000104Dsd0000902D* - pci:v00008086d00002850sv000017AAsd000020A6* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) - -+pci:v00008086d00002850sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002850sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) - -@@ -66794,6 +66965,9 @@ pci:v00008086d00002A00sv000017AAsd000020B1* - pci:v00008086d00002A00sv000017AAsd000020B3* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) - -+pci:v00008086d00002A00sv000017C0sd00004082* -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002A00sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) - -@@ -66821,6 +66995,9 @@ pci:v00008086d00002A02sv0000104Dsd0000902D* - pci:v00008086d00002A02sv000017AAsd000020B5* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) - -+pci:v00008086d00002A02sv000017C0sd00004082* -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002A02sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) - -@@ -66828,7 +67005,7 @@ pci:v00008086d00002A03* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) - - pci:v00008086d00002A03sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Inspiron 1420) - - pci:v00008086d00002A03sv0000103Csd000030C0* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) -@@ -66842,6 +67019,9 @@ pci:v00008086d00002A03sv0000104Dsd0000902D* - pci:v00008086d00002A03sv000017AAsd000020B5* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) - -+pci:v00008086d00002A03sv000017C0sd00004082* -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002A03sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) - -@@ -67317,13 +67497,13 @@ pci:v00008086d00002D10* - ID_MODEL_FROM_DATABASE=Core Processor QPI Link 0 - - pci:v00008086d00002D11* -- ID_MODEL_FROM_DATABASE=Core Processor QPI Physical 0 -+ ID_MODEL_FROM_DATABASE=1st Generation Core Processor QPI Physical 0 - - pci:v00008086d00002D12* -- ID_MODEL_FROM_DATABASE=Core Processor Reserved -+ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved - - pci:v00008086d00002D13* -- ID_MODEL_FROM_DATABASE=Core Processor Reserved -+ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved - - pci:v00008086d00002D81* - ID_MODEL_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture System Address Decoder -@@ -67427,6 +67607,9 @@ pci:v00008086d00002E11* - pci:v00008086d00002E12* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - -+pci:v00008086d00002E12sv000017AAsd00003048* -+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (ThinkCentre M6258) -+ - pci:v00008086d00002E13* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - -@@ -69317,6 +69500,12 @@ pci:v00008086d00003B09* - pci:v00008086d00003B09sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) - -+pci:v00008086d00003B09sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (R730 Laptop) -+ -+pci:v00008086d00003B09sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B0A* - ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller - -@@ -69416,18 +69605,36 @@ pci:v00008086d00003B26* - pci:v00008086d00003B28* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller - -+pci:v00008086d00003B28sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (R730 Laptop) -+ -+pci:v00008086d00003B28sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B29* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller - - pci:v00008086d00003B29sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) - -+pci:v00008086d00003B29sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (R730 Laptop) -+ -+pci:v00008086d00003B29sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B2C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller - - pci:v00008086d00003B2D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller - -+pci:v00008086d00003B2Dsv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (R730 Laptop) -+ -+pci:v00008086d00003B2Dsv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B2Dsv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) - -@@ -69458,9 +69665,15 @@ pci:v00008086d00003B30sv00001028sd000002DA* - pci:v00008086d00003B30sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) - -+pci:v00008086d00003B30sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (R730 Laptop) -+ - pci:v00008086d00003B30sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B30sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B30sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) - -@@ -69470,6 +69683,12 @@ pci:v00008086d00003B32* - pci:v00008086d00003B32sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) - -+pci:v00008086d00003B32sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (R730 Laptop) -+ -+pci:v00008086d00003B32sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B34* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller - -@@ -69482,9 +69701,15 @@ pci:v00008086d00003B34sv00001028sd000002DA* - pci:v00008086d00003B34sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - -+pci:v00008086d00003B34sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) -+ - pci:v00008086d00003B34sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B34sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B34sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - -@@ -69518,9 +69743,15 @@ pci:v00008086d00003B3Csv00001028sd000002DA* - pci:v00008086d00003B3Csv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - -+pci:v00008086d00003B3Csv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) -+ - pci:v00008086d00003B3Csv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B3Csv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B3Csv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - -@@ -69545,9 +69776,15 @@ pci:v00008086d00003B42sv00001028sd000002DA* - pci:v00008086d00003B42sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) - -+pci:v00008086d00003B42sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (R730 Laptop) -+ - pci:v00008086d00003B42sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) - -+pci:v00008086d00003B42sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B44* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 - -@@ -69557,24 +69794,39 @@ pci:v00008086d00003B44sv00001028sd0000040B* - pci:v00008086d00003B44sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) - -+pci:v00008086d00003B44sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B46* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 - - pci:v00008086d00003B46sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) - -+pci:v00008086d00003B46sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (R730 Laptop) -+ -+pci:v00008086d00003B46sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B48* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 - - pci:v00008086d00003B48sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) - -+pci:v00008086d00003B48sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (R730 Laptop) -+ - pci:v00008086d00003B4A* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 - - pci:v00008086d00003B4Asv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) - -+pci:v00008086d00003B4Asv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B4C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 - -@@ -69599,9 +69851,15 @@ pci:v00008086d00003B56sv00001028sd000002DA* - pci:v00008086d00003B56sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) - -+pci:v00008086d00003B56sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (R730 Laptop) -+ - pci:v00008086d00003B56sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) - -+pci:v00008086d00003B56sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B56sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) - -@@ -69617,6 +69875,9 @@ pci:v00008086d00003B64sv00001025sd00000347* - pci:v00008086d00003B64sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B64sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B64sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) - -@@ -69990,7 +70251,7 @@ pci:v00008086d00004222sv00008086sd00001000* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004222sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (WM3945ABG MOW2) - - pci:v00008086d00004222sv00008086sd00001005* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) -@@ -71168,6 +71429,114 @@ pci:v00008086d00008C5E* - pci:v00008086d00008C5F* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LPC Controller - -+pci:v00008086d00008C80* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C81* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C82* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] -+ -+pci:v00008086d00008C83* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] -+ -+pci:v00008086d00008C84* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C85* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C86* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C87* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C88* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C89* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C8E* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C8F* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C90* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 1 -+ -+pci:v00008086d00008C92* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 2 -+ -+pci:v00008086d00008C94* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 3 -+ -+pci:v00008086d00008C96* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 4 -+ -+pci:v00008086d00008C98* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 5 -+ -+pci:v00008086d00008C9A* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 6 -+ -+pci:v00008086d00008C9C* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 7 -+ -+pci:v00008086d00008C9E* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 8 -+ -+pci:v00008086d00008CA0* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HD Audio Controller -+ -+pci:v00008086d00008CA2* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SMBus Controller -+ -+pci:v00008086d00008CA4* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Thermal Controller -+ -+pci:v00008086d00008CA6* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #1 -+ -+pci:v00008086d00008CAD* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #2 -+ -+pci:v00008086d00008CB1* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB xHCI Controller -+ -+pci:v00008086d00008CB3* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LAN Controller -+ -+pci:v00008086d00008CBA* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #1 -+ -+pci:v00008086d00008CBB* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #2 -+ -+pci:v00008086d00008CBC* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family IDE-R Controller -+ -+pci:v00008086d00008CBD* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family KT Controller -+ -+pci:v00008086d00008CC1* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller -+ -+pci:v00008086d00008CC2* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller -+ -+pci:v00008086d00008CC3* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HM97 LPC Controller -+ -+pci:v00008086d00008CC4* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Z97 LPC Controller -+ -+pci:v00008086d00008CC6* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family H97 Controller -+ - pci:v00008086d00008D00* - ID_MODEL_FROM_DATABASE=Wellsburg 4-port SATA Controller [IDE mode] - -@@ -71379,208 +71748,208 @@ pci:v00008086d000096A1* - ID_MODEL_FROM_DATABASE=Integrated RAID - - pci:v00008086d00009C00* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] - - pci:v00008086d00009C01* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] - - pci:v00008086d00009C02* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] - - pci:v00008086d00009C03* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] - - pci:v00008086d00009C03sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] (ThinkPad X240) - - pci:v00008086d00009C04* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C05* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C06* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C07* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C08* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] - - pci:v00008086d00009C09* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] - - pci:v00008086d00009C0A* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0B* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0C* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0D* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0E* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C0F* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C10* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 - - pci:v00008086d00009C11* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 - - pci:v00008086d00009C12* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 - - pci:v00008086d00009C13* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 - - pci:v00008086d00009C14* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 - - pci:v00008086d00009C15* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 - - pci:v00008086d00009C16* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 - - pci:v00008086d00009C17* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 - - pci:v00008086d00009C18* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 - - pci:v00008086d00009C19* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 - - pci:v00008086d00009C1A* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 - - pci:v00008086d00009C1B* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 - - pci:v00008086d00009C1C* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 - - pci:v00008086d00009C1D* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 - - pci:v00008086d00009C1E* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 - - pci:v00008086d00009C1F* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 - - pci:v00008086d00009C20* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller -+ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller - - pci:v00008086d00009C20sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller (ThinkPad X240) - - pci:v00008086d00009C21* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller -+ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller - - pci:v00008086d00009C22* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller -+ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller - - pci:v00008086d00009C22sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller (ThinkPad X240) - - pci:v00008086d00009C23* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters -+ ID_MODEL_FROM_DATABASE=8 Series CHAP Counters - - pci:v00008086d00009C24* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP Thermal -+ ID_MODEL_FROM_DATABASE=8 Series Thermal - - pci:v00008086d00009C26* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 -+ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 - - pci:v00008086d00009C26sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 (ThinkPad X240) - - pci:v00008086d00009C2D* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 -+ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #2 - - pci:v00008086d00009C31* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC -+ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC - - pci:v00008086d00009C31sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC (ThinkPad X240) - - pci:v00008086d00009C35* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller -+ ID_MODEL_FROM_DATABASE=8 Series SDIO Controller - - pci:v00008086d00009C36* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP Audio DSP Controller -+ ID_MODEL_FROM_DATABASE=8 Series Audio DSP Controller - - pci:v00008086d00009C3A* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 -+ ID_MODEL_FROM_DATABASE=8 Series HECI #0 - - pci:v00008086d00009C3Asv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series HECI #0 (ThinkPad X240) - - pci:v00008086d00009C3B* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 -+ ID_MODEL_FROM_DATABASE=8 Series HECI #1 - - pci:v00008086d00009C3C* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI IDER -+ ID_MODEL_FROM_DATABASE=8 Series HECI IDER - - pci:v00008086d00009C3D* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI KT -+ ID_MODEL_FROM_DATABASE=8 Series HECI KT - - pci:v00008086d00009C40* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C41* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C42* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C43* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C43sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller (ThinkPad X240) - - pci:v00008086d00009C44* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C45* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C46* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C47* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C60* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP Low Power Sub-System DMA -+ ID_MODEL_FROM_DATABASE=8 Series Low Power Sub-System DMA - - pci:v00008086d00009C61* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #0 -+ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #0 - - pci:v00008086d00009C62* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #1 -+ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #1 - - pci:v00008086d00009C63* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #0 -+ ID_MODEL_FROM_DATABASE=8 Series UART Controller #0 - - pci:v00008086d00009C64* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #1 -+ ID_MODEL_FROM_DATABASE=8 Series UART Controller #1 - - pci:v00008086d00009C65* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #0 -+ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #0 - - pci:v00008086d00009C66* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #1 -+ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #1 - - pci:v00008086d00009C83* - ID_MODEL_FROM_DATABASE=Wildcat Point-LP SATA Controller [AHCI Mode] -diff --git hwdb/20-usb-classes.hwdb hwdb/20-usb-classes.hwdb -index 3294d8a..418d39b 100644 ---- hwdb/20-usb-classes.hwdb -+++ hwdb/20-usb-classes.hwdb -@@ -311,6 +311,9 @@ usb:v*p*d*dcEFdsc02dp02* - usb:v*p*d*dcEFdsc03dp01* - ID_USB_PROTOCOL_FROM_DATABASE=Cable Based Association - -+usb:v*p*d*dcEFdsc05* -+ ID_USB_SUBCLASS_FROM_DATABASE=USB3 Vision -+ - usb:v*p*d*dcFE* - ID_USB_CLASS_FROM_DATABASE=Application Specific Interface - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 05f267d..89cd5b1 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -284,9 +284,18 @@ usb:v03EBp2310* - usb:v03EBp2FE4* - ID_MODEL_FROM_DATABASE=ATxmega32A4U DFU bootloader - -+usb:v03EBp2FE6* -+ ID_MODEL_FROM_DATABASE=Cactus V6 (DFU) -+ -+usb:v03EBp2FEA* -+ ID_MODEL_FROM_DATABASE=Cactus RF60 (DFU) -+ - usb:v03EBp2FF0* - ID_MODEL_FROM_DATABASE=atmega32u2 DFU bootloader - -+usb:v03EBp2FF4* -+ ID_MODEL_FROM_DATABASE=atmega32u4 DFU bootloader -+ - usb:v03EBp2FFA* - ID_MODEL_FROM_DATABASE=at90usb162 DFU bootloader - -@@ -4409,6 +4418,9 @@ usb:v0424p2602* - usb:v0424p2640* - ID_MODEL_FROM_DATABASE=USB 2.0 Hub - -+usb:v0424p2660* -+ ID_MODEL_FROM_DATABASE=Hub -+ - usb:v0424p4060* - ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader - -@@ -5373,7 +5385,7 @@ usb:v0457p0162* - ID_MODEL_FROM_DATABASE=SiS162 usb Wireless LAN Adapter - - usb:v0457p0163* -- ID_MODEL_FROM_DATABASE=802.11 Wireless LAN Adapter -+ ID_MODEL_FROM_DATABASE=SiS163U 802.11 Wireless LAN Adapter - - usb:v0457p0817* - ID_MODEL_FROM_DATABASE=SiS-184-ASUS-4352.17 touch panel -@@ -6947,6 +6959,9 @@ usb:v046Dp082D* - usb:v046Dp0830* - ID_MODEL_FROM_DATABASE=QuickClip - -+usb:v046Dp0837* -+ ID_MODEL_FROM_DATABASE=BCC950 ConferenceCam -+ - usb:v046Dp0840* - ID_MODEL_FROM_DATABASE=QuickCam Express - -@@ -7856,6 +7871,9 @@ usb:v046DpC52F* - usb:v046DpC532* - ID_MODEL_FROM_DATABASE=Unifying Receiver - -+usb:v046DpC534* -+ ID_MODEL_FROM_DATABASE=Unifying Receiver -+ - usb:v046DpC603* - ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT - -@@ -8738,6 +8756,9 @@ usb:v0480pA007* - usb:v0480pA009* - ID_MODEL_FROM_DATABASE=Stor.E Basics - -+usb:v0480pA00D* -+ ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB -+ - usb:v0480pD010* - ID_MODEL_FROM_DATABASE=External Disk 3TB - -@@ -10943,6 +10964,9 @@ usb:v04A9p3196* - usb:v04A9p319A* - ID_MODEL_FROM_DATABASE=EOS 7D - -+usb:v04A9p319B* -+ ID_MODEL_FROM_DATABASE=EOS 50D -+ - usb:v04A9p31AA* - ID_MODEL_FROM_DATABASE=SELPHY CP770 - -@@ -11219,6 +11243,15 @@ usb:v04A9p3277* - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -+usb:v04A9p327F* -+ ID_MODEL_FROM_DATABASE=EOS Rebel T5 / EOS 1200D / EOS Kiss X70 -+ -+usb:v04A9p3284* -+ ID_MODEL_FROM_DATABASE=PowerShot D30 -+ -+usb:v04A9p3286* -+ ID_MODEL_FROM_DATABASE=PowerShot SX600 HS -+ - usb:v04A9p3288* - ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 - -@@ -13040,6 +13073,9 @@ usb:v04D8p0036* - usb:v04D8p00E0* - ID_MODEL_FROM_DATABASE=PIC32 Starter Board - -+usb:v04D8p04CD* -+ ID_MODEL_FROM_DATABASE=28Cxxx EEPROM Programmer -+ - usb:v04D8p0A04* - ID_MODEL_FROM_DATABASE=AGP LIN Serial Analyzer - -@@ -14093,6 +14129,9 @@ usb:v04E8p5F05* - usb:v04E8p6032* - ID_MODEL_FROM_DATABASE=G2 Portable hard drive - -+usb:v04E8p6033* -+ ID_MODEL_FROM_DATABASE=G2 Portable device -+ - usb:v04E8p6034* - ID_MODEL_FROM_DATABASE=G2 Portable hard drive - -@@ -14102,6 +14141,9 @@ usb:v04E8p60B3* - usb:v04E8p60C4* - ID_MODEL_FROM_DATABASE=M2 Portable Hard Drive USB 3.0 - -+usb:v04E8p6124* -+ ID_MODEL_FROM_DATABASE=D3 Station External Hard Drive -+ - usb:v04E8p61B6* - ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB - -@@ -15224,6 +15266,9 @@ usb:v04F9p0223* - usb:v04F9p0248* - ID_MODEL_FROM_DATABASE=DCP-7055 scanner/printer - -+usb:v04F9p02B3* -+ ID_MODEL_FROM_DATABASE=MFC J4510DW -+ - usb:v04F9p1000* - ID_MODEL_FROM_DATABASE=Printer - -@@ -15546,7 +15591,7 @@ usb:v050Dp0013* - ID_MODEL_FROM_DATABASE=F8T013 Bluetooth Adapter - - usb:v050Dp0017* -- ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 -+ ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 / F4U017 USB 2.0 7-port Hub - - usb:v050Dp003A* - ID_MODEL_FROM_DATABASE=Universal Media Reader -@@ -15683,6 +15728,9 @@ usb:v050Dp1106* - usb:v050Dp1109* - ID_MODEL_FROM_DATABASE=F9L1109v1 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] - -+usb:v050Dp110A* -+ ID_MODEL_FROM_DATABASE=F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] -+ - usb:v050Dp11F2* - ID_MODEL_FROM_DATABASE=ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS] - -@@ -15723,7 +15771,7 @@ usb:v050Dp6051* - ID_MODEL_FROM_DATABASE=F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201] - - usb:v050Dp615A* -- ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323] -+ ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101v1 802.11abgn Wireless Adapter [Broadcom BCM4323] - - usb:v050Dp7050* - ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887] -@@ -16358,6 +16406,9 @@ usb:v0547p2810* - usb:v0547p4D90* - ID_MODEL_FROM_DATABASE=AmScope MD1900 camera - -+usb:v0547p7000* -+ ID_MODEL_FROM_DATABASE=PowerSpec MCE460 Front Panel LED Display -+ - usb:v0547p7777* - ID_MODEL_FROM_DATABASE=Bluetooth Device - -@@ -21677,6 +21728,9 @@ usb:v05F9p2601* - usb:v05F9p2602* - ID_MODEL_FROM_DATABASE=Datalogic Magellan 1100i Barcode Scanner - -+usb:v05F9p4204* -+ ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4470 Fixed Scanner -+ - usb:v05F9p5204* - ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4170 (config mode) - -@@ -23234,6 +23288,9 @@ usb:v068Ep00D3* - usb:v068Ep00E2* - ID_MODEL_FROM_DATABASE=HFX OEM Joystick - -+usb:v068Ep00F0* -+ ID_MODEL_FROM_DATABASE=Multi-Function Panel -+ - usb:v068Ep00F1* - ID_MODEL_FROM_DATABASE=Pro Throttle - -@@ -25838,6 +25895,9 @@ usb:v0781p74D0* - usb:v0781p74D1* - ID_MODEL_FROM_DATABASE=Sansa Clip+ (msc) - -+usb:v0781p74E5* -+ ID_MODEL_FROM_DATABASE=Sansa Clip Zip -+ - usb:v0781p8181* - ID_MODEL_FROM_DATABASE=Pen Flash - -@@ -26219,6 +26279,9 @@ usb:v07AAp001A* - usb:v07AAp001C* - ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] - -+usb:v07AAp0020* -+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] -+ - usb:v07AAp002E* - ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] - -@@ -26939,6 +27002,9 @@ usb:v07CApA827* - usb:v07CApA867* - ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A867) - -+usb:v07CApB300* -+ ID_MODEL_FROM_DATABASE=A300 DVB-T TV receiver -+ - usb:v07CApB800* - ID_MODEL_FROM_DATABASE=MR800 FM Radio - -@@ -27941,6 +28007,9 @@ usb:v083Ap4507* - usb:v083Ap4521* - ID_MODEL_FROM_DATABASE=Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887] - -+usb:v083Ap4531* -+ ID_MODEL_FROM_DATABASE=T-Com Sinus 154 data II [Intersil ISL3887] -+ - usb:v083Ap5046* - ID_MODEL_FROM_DATABASE=SpeedStream 10/100 Ethernet [pegasus] - -@@ -30476,6 +30545,9 @@ usb:v0957p0518* - usb:v0957p0A07* - ID_MODEL_FROM_DATABASE=34411A Multimeter - -+usb:v0957p1507* -+ ID_MODEL_FROM_DATABASE=33210A Waveform Generator -+ - usb:v0957p1745* - ID_MODEL_FROM_DATABASE=Test and Measurement Device (IVI) - -@@ -30876,13 +30948,13 @@ usb:v09D9* - ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd - - usb:v09DA* -- ID_VENDOR_FROM_DATABASE=A4 Tech Co., Ltd -+ ID_VENDOR_FROM_DATABASE=A4Tech Co., Ltd. - - usb:v09DAp0006* - ID_MODEL_FROM_DATABASE=Optical Mouse WOP-35 / Trust 450L Optical Mouse - - usb:v09DAp000A* -- ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D -+ ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D / OP-620D - - usb:v09DAp000E* - ID_MODEL_FROM_DATABASE=X-F710F Optical Mouse 3xFire Gaming Mouse -@@ -32174,6 +32246,9 @@ usb:v0AB1* - usb:v0AB1p0002* - ID_MODEL_FROM_DATABASE=OBID RFID-Reader - -+usb:v0AB1p0004* -+ ID_MODEL_FROM_DATABASE=OBID classic-pro -+ - usb:v0ABA* - ID_VENDOR_FROM_DATABASE=Ellisys - -@@ -32571,7 +32646,7 @@ usb:v0B05p1708* - ID_MODEL_FROM_DATABASE=Mass Storage Device - - usb:v0B05p170B* -- ID_MODEL_FROM_DATABASE=Mass Storage Device -+ ID_MODEL_FROM_DATABASE=Multi card reader - - usb:v0B05p170C* - ID_MODEL_FROM_DATABASE=WL-159g 802.11bg -@@ -32687,6 +32762,9 @@ usb:v0B05p17A1* - usb:v0B05p17AB* - ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] - -+usb:v0B05p17C7* -+ ID_MODEL_FROM_DATABASE=WL-330NUL -+ - usb:v0B05p17C9* - ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] - -@@ -32714,6 +32792,9 @@ usb:v0B05p5410* - usb:v0B05p5412* - ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) - -+usb:v0B05p550F* -+ ID_MODEL_FROM_DATABASE=ASUS fonepad 7 -+ - usb:v0B05p6101* - ID_MODEL_FROM_DATABASE=Cable Modem - -@@ -32756,6 +32837,9 @@ usb:v0B0Dp0000* - usb:v0B0E* - ID_VENDOR_FROM_DATABASE=GN Netcom - -+usb:v0B0Ep034C* -+ ID_MODEL_FROM_DATABASE=Jabra UC Voice 750 MS -+ - usb:v0B0Ep0420* - ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 - -@@ -49610,6 +49694,12 @@ usb:v2659p1212* - usb:v2659p1213* - ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (US) - -+usb:v2676* -+ ID_VENDOR_FROM_DATABASE=Basler AG -+ -+usb:v2676pBA02* -+ ID_MODEL_FROM_DATABASE=ace -+ - usb:v2730* - ID_VENDOR_FROM_DATABASE=Citizen - --- -1.7.9.2 - diff --git a/0006-journal-assume-that-next-entry-is-after-previous-ent.patch b/0006-journal-assume-that-next-entry-is-after-previous-ent.patch deleted file mode 100644 index aa974fa7..00000000 --- a/0006-journal-assume-that-next-entry-is-after-previous-ent.patch +++ /dev/null @@ -1,70 +0,0 @@ -From fb099c8d2af6620db2709e826a258089d10cdfe8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 27 Feb 2014 00:07:29 -0500 -Subject: [PATCH] journal: assume that next entry is after previous entry - -With a corrupted file, we can get in a situation where two entries -in the entry array point to the same object. Then journal_file_next_entry -will find the first one using generic_arrray_bisect, and try to move to -the second one, but since the address is the same, generic_array_get will -return the first one. journal_file_next_entry ends up in an infinite loop. - -https://bugzilla.redhat.com/show_bug.cgi?id=1047039 ---- - src/journal/journal-file.c | 26 ++++++++++++++++++++------ - 1 file changed, 20 insertions(+), 6 deletions(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index 5876733..0e1fc7f 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -1359,7 +1359,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st - } - - typedef struct ChainCacheItem { -- uint64_t first; /* the array at the begin of the chain */ -+ uint64_t first; /* the array at the beginning of the chain */ - uint64_t array; /* the cached array */ - uint64_t begin; /* the first item in the cached array */ - uint64_t total; /* the total number of items in all arrays before this one in the chain */ -@@ -1945,7 +1945,7 @@ int journal_file_next_entry( - direction_t direction, - Object **ret, uint64_t *offset) { - -- uint64_t i, n; -+ uint64_t i, n, ofs; - int r; - - assert(f); -@@ -1986,10 +1986,24 @@ int journal_file_next_entry( - } - - /* And jump to it */ -- return generic_array_get(f, -- le64toh(f->header->entry_array_offset), -- i, -- ret, offset); -+ r = generic_array_get(f, -+ le64toh(f->header->entry_array_offset), -+ i, -+ ret, &ofs); -+ if (r <= 0) -+ return r; -+ -+ if (p > 0 && -+ (direction == DIRECTION_DOWN ? ofs <= p : ofs >= p)) { -+ log_debug("%s: entry array corrupted at entry %"PRIu64, -+ f->path, i); -+ return -EBADMSG; -+ } -+ -+ if (offset) -+ *offset = ofs; -+ -+ return 1; - } - - int journal_file_skip_entry( --- -1.7.9.2 - diff --git a/0006-journald-fix-minor-memory-leak.patch b/0006-journald-fix-minor-memory-leak.patch deleted file mode 100644 index 72d2ab39..00000000 --- a/0006-journald-fix-minor-memory-leak.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 99d0966e75a984bed4f117c888ecc93e16e7b7b6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Nov 2014 21:11:16 +0100 -Subject: [PATCH] journald: fix minor memory leak - ---- - src/journal/journald-server.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/journal/journald-server.c src/journal/journald-server.c -index e062427..cf6bbcc 100644 ---- src/journal/journald-server.c -+++ src/journal/journald-server.c -@@ -1690,6 +1690,7 @@ void server_done(Server *s) { - free(s->buffer); - free(s->tty_path); - free(s->cgroup_root); -+ free(s->hostname_field); - - if (s->mmap) - mmap_cache_unref(s->mmap); --- -1.7.9.2 - diff --git a/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch b/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch deleted file mode 100644 index e76abb48..00000000 --- a/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e683212f049ac5d3f95fb17300cfa2fd971f78f3 Mon Sep 17 00:00:00 2001 -From: Ronny Chevalier -Date: Tue, 3 Jun 2014 19:44:03 +0200 -Subject: [PATCH] log: honour the kernel's quiet cmdline argument - -It was forgotten in b1e90ec515408aec2702522f6f68c4920b56375b - -See https://bugs.freedesktop.org/show_bug.cgi?id=79582 ---- - src/shared/log.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/shared/log.c src/shared/log.c -index 9039db3..6f17705 100644 ---- src/shared/log.c -+++ src/shared/log.c -@@ -878,6 +878,9 @@ void log_parse_environment(void) { - if (l == 5 && startswith(w, "debug")) { - log_set_max_level(LOG_DEBUG); - break; -+ } else if (l == 5 && startswith(w, "quiet")) { -+ log_set_max_level(LOG_WARNING); -+ break; - } - } - } --- -1.7.9.2 - diff --git a/0006-login-add-mir-to-the-list-of-session-types.patch b/0006-login-add-mir-to-the-list-of-session-types.patch deleted file mode 100644 index 9e966958..00000000 --- a/0006-login-add-mir-to-the-list-of-session-types.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9541666b8d97f107335dd7e3cb93b4d2cfbf19c9 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Wed, 9 Apr 2014 21:22:48 +0200 -Subject: [PATCH] login: add 'mir' to the list of session types - -Add Mir to the list of session types. This is implemented for LightDM -in lp:~robert-ancell/lightdm/xdg-session-desktop [1]. - -[1] https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merge/214108 - -(david: adjusted commit-header and fixed whitespace issues) ---- - man/pam_systemd.xml | 5 +++-- - man/sd_session_is_active.xml | 6 +++--- - src/login/logind-session.c | 1 + - src/login/logind-session.h | 1 + - src/systemd/sd-login.h | 2 +- - 5 files changed, 9 insertions(+), 6 deletions(-) - -diff --git man/pam_systemd.xml man/pam_systemd.xml -index 3022cdb..f973899 100644 ---- man/pam_systemd.xml -+++ man/pam_systemd.xml -@@ -145,8 +145,9 @@ - variable takes precedence. One of - unspecified, - tty, -- x11 or -- wayland. See -+ x11, -+ wayland or -+ mir. See - sd_session_get_type3 - for details about the session type. - -diff --git man/sd_session_is_active.xml man/sd_session_is_active.xml -index ddb2bee..31a6119 100644 ---- man/sd_session_is_active.xml -+++ man/sd_session_is_active.xml -@@ -201,9 +201,9 @@ - be used to determine the type of the session - identified by the specified session identifier. The - returned string is one of x11, -- wayland, tty or -- unspecified and needs to be freed -- with the libc -+ wayland, tty, -+ mir or unspecified and -+ needs to be freed with the libc - free3 - call after use. - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-05-20 12:49:07.150236121 +0000 -@@ -1124,6 +1124,7 @@ static const char* const session_type_ta - [SESSION_TTY] = "tty", - [SESSION_X11] = "x11", - [SESSION_WAYLAND] = "wayland", -+ [SESSION_MIR] = "mir", - [SESSION_UNSPECIFIED] = "unspecified", - }; - -diff --git src/login/logind-session.h src/login/logind-session.h -index c9af5eb..7ecc9f0 100644 ---- src/login/logind-session.h -+++ src/login/logind-session.h -@@ -55,6 +55,7 @@ typedef enum SessionType { - SESSION_TTY, - SESSION_X11, - SESSION_WAYLAND, -+ SESSION_MIR, - _SESSION_TYPE_MAX, - _SESSION_TYPE_INVALID = -1 - } SessionType; -diff --git src/systemd/sd-login.h src/systemd/sd-login.h -index a4ca231..776733a 100644 ---- src/systemd/sd-login.h -+++ src/systemd/sd-login.h -@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat); - /* Determine the (PAM) service name this session was registered by. */ - int sd_session_get_service(const char *session, char **service); - --/* Determine the type of this session, i.e. one of "tty", "x11" or "unspecified". */ -+/* Determine the type of this session, i.e. one of "tty", "x11", "wayland", "mir" or "unspecified". */ - int sd_session_get_type(const char *session, char **type); - - /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ --- -1.7.9.2 - diff --git a/0006-login-share-VT-signal-handler-between-sessions.patch b/0006-login-share-VT-signal-handler-between-sessions.patch deleted file mode 100644 index 599aa261..00000000 --- a/0006-login-share-VT-signal-handler-between-sessions.patch +++ /dev/null @@ -1,246 +0,0 @@ -Based on 92683ad2e28c79891e4123d9a421b018dc58870c Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Mon, 11 Aug 2014 18:17:54 +0200 -Subject: [PATCH] login: share VT-signal handler between sessions - -sd-event does not allow multiple handlers for a single signal. However, -logind sets up signal handlers for each session with VT_PROCESS set (that -is, it has an active controller). Therefore, registering multiple such -controllers will fail. - -Lets make the VT-handler global, as it's mostly trivial, anyway. This way, -the sessions don't have to take care of that and we can simply acknowledge -all VT-switch requests as we always did. ---- - src/libsystemd/sd-event/sd-event.c | 5 +- - src/login/logind-session.c | 26 +------------ - src/login/logind-session.h | 1 - src/login/logind.c | 70 +++++++++++++++++++++++++++++++++++++ - src/shared/util.c | 18 +++++++++ - src/shared/util.h | 1 - 6 files changed, 94 insertions(+), 27 deletions(-) - ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c 2014-08-26 11:02:54.500683967 +0000 -@@ -839,7 +839,6 @@ _public_ int sd_event_add_signal( - assert_return(sig > 0, -EINVAL); - assert_return(sig < _NSIG, -EINVAL); - assert_return(callback, -EINVAL); -- assert_return(ret, -EINVAL); - assert_return(e->state != SD_EVENT_FINISHED, -ESTALE); - assert_return(!event_pid_changed(e), -ECHILD); - -@@ -877,7 +876,9 @@ _public_ int sd_event_add_signal( - } - } - -- *ret = s; -+ if (ret) -+ *ret = s; -+ - return 0; - } - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-08-25 17:22:46.000000000 +0000 -@@ -153,8 +153,6 @@ void session_free(Session *s) { - - hashmap_remove(s->manager->sessions, s->id); - -- s->vt_source = sd_event_source_unref(s->vt_source); -- - free(s->state_file); - free(s); - } -@@ -966,19 +964,9 @@ static int session_open_vt(Session *s) { - return s->vtfd; - } - --static int session_vt_fn(sd_event_source *source, const struct signalfd_siginfo *si, void *data) { -- Session *s = data; -- -- if (s->vtfd >= 0) -- ioctl(s->vtfd, VT_RELDISP, 1); -- -- return 0; --} -- - int session_mute_vt(Session *s) { - int vt, r; - struct vt_mode mode = { 0 }; -- sigset_t mask; - - if (s->vtnr < 1) - return 0; -@@ -1008,20 +996,12 @@ int session_mute_vt(Session *s) { - goto error; - } - -- sigemptyset(&mask); -- sigaddset(&mask, SIGUSR1); -- sigprocmask(SIG_BLOCK, &mask, NULL); -- -- r = sd_event_add_signal(s->manager->event, &s->vt_source, SIGUSR1, session_vt_fn, s); -- if (r < 0) -- goto error; -- - /* Oh, thanks to the VT layer, VT_AUTO does not work with KD_GRAPHICS. - * So we need a dummy handler here which just acknowledges *all* VT - * switch requests. */ - mode.mode = VT_PROCESS; -- mode.relsig = SIGUSR1; -- mode.acqsig = SIGUSR1; -+ mode.relsig = SIGRTMIN; -+ mode.acqsig = SIGRTMIN + 1; - r = ioctl(vt, VT_SETMODE, &mode); - if (r < 0) { - r = -errno; -@@ -1045,8 +1025,6 @@ void session_restore_vt(Session *s) { - if (vt < 0) - return; - -- s->vt_source = sd_event_source_unref(s->vt_source); -- - ioctl(vt, KDSETMODE, KD_TEXT); - - if (read_one_line_file("/sys/module/vt/parameters/default_utf8", &utf8) >= 0 && *utf8 == '1') ---- src/login/logind-session.h -+++ src/login/logind-session.h 2014-08-25 00:00:00.000000000 +0000 -@@ -98,7 +98,6 @@ struct Session { - Seat *seat; - unsigned int vtnr; - int vtfd; -- sd_event_source *vt_source; - - pid_t leader; - uint32_t audit_id; ---- src/login/logind.c -+++ src/login/logind.c 2014-08-26 11:18:41.422235366 +0000 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - - #include "sd-daemon.h" -@@ -714,6 +715,47 @@ static int manager_connect_bus(Manager * - return 0; - } - -+static int manager_vt_switch(sd_event_source *src, const struct signalfd_siginfo *si, void *data) { -+ Manager *m = data; -+ Session *active, *iter; -+ -+ /* -+ * We got a VT-switch signal and we have to acknowledge it immediately. -+ * Preferably, we'd just use m->seat0->active->vtfd, but unfortunately, -+ * old user-space might run multiple sessions on a single VT, *sigh*. -+ * Therefore, we have to iterate all sessions and find one with a vtfd -+ * on the requested VT. -+ * As only VTs with active controllers have VT_PROCESS set, our current -+ * notion of the active VT might be wrong (for instance if the switch -+ * happens while we setup VT_PROCESS). Therefore, read the current VT -+ * first and then use s->active->vtnr as reference. Note that this is -+ * not racy, as no further VT-switch can happen as long as we're in -+ * synchronous VT_PROCESS mode. -+ */ -+ -+ assert(m->seat0); -+ seat_read_active_vt(m->seat0); -+ -+ active = m->seat0->active; -+ if (!active || active->vtnr < 1) { -+ log_warning("Received VT_PROCESS signal without a registered session on that VT."); -+ return 0; -+ } -+ -+ if (active->vtfd >= 0) { -+ ioctl(active->vtfd, VT_RELDISP, 1); -+ } else { -+ LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { -+ if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { -+ ioctl(iter->vtfd, VT_RELDISP, 1); -+ break; -+ } -+ } -+ } -+ -+ return 0; -+} -+ - static int manager_connect_console(Manager *m) { - int r; - -@@ -744,6 +786,34 @@ static int manager_connect_console(Manag - return r; - } - -+ /* -+ * SIGRTMIN is used as global VT-release signal, SIGRTMIN + 1 is used -+ * as VT-acquire signal. We ignore any acquire-events (yes, we still -+ * have to provide a valid signal-number for it!) and acknowledge all -+ * release events immediately. -+ */ -+ -+ if (SIGRTMIN + 1 > SIGRTMAX) { -+ log_error("Not enough real-time signals available: %u-%u", SIGRTMIN, SIGRTMAX); -+ return -EINVAL; -+ } -+ -+ r = ignore_signals(SIGRTMIN + 1, -1); -+ if (r < 0) { -+ log_error("Cannot ignore SIGRTMIN + 1: %s", strerror(-r)); -+ return r; -+ } -+ -+ r = sigprocmask_many(SIG_BLOCK, SIGRTMIN, -1); -+ if (r < 0) { -+ log_error("Cannot block SIGRTMIN: %s", strerror(-r)); -+ return r; -+ } -+ -+ r = sd_event_add_signal(m->event, NULL, SIGRTMIN, manager_vt_switch, m); -+ if (r < 0) -+ return r; -+ - return 0; - } - ---- src/shared/util.c -+++ src/shared/util.c 2014-08-26 10:20:14.000000000 +0000 -@@ -2434,6 +2434,24 @@ void sigset_add_many(sigset_t *ss, ...) - va_end(ap); - } - -+int sigprocmask_many(int how, ...) { -+ va_list ap; -+ sigset_t ss; -+ int sig; -+ -+ assert_se(sigemptyset(&ss) == 0); -+ -+ va_start(ap, how); -+ while ((sig = va_arg(ap, int)) > 0) -+ assert_se(sigaddset(&ss, sig) == 0); -+ va_end(ap); -+ -+ if (sigprocmask(how, &ss, NULL) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - char* gethostname_malloc(void) { - struct utsname u; - ---- src/shared/util.h -+++ src/shared/util.h 2014-08-26 10:21:08.000000000 +0000 -@@ -390,6 +390,7 @@ char* dirname_malloc(const char *path); - void rename_process(const char name[8]); - - void sigset_add_many(sigset_t *ss, ...); -+int sigprocmask_many(int how, ...); - - bool hostname_is_set(void); - diff --git a/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch b/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch deleted file mode 100644 index 4313946b..00000000 --- a/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 33169701b0640d3629d4c36cf8c71dc26d2cb7e1 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 May 2014 01:33:22 +0200 -Subject: [PATCH] man: clarify that the ExecReload= command should be - synchronous - -http://lists.freedesktop.org/archives/systemd-devel/2014-May/019054.html ---- - man/systemd.service.xml | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git man/systemd.service.xml man/systemd.service.xml -index af32ccb..364ad7d 100644 ---- man/systemd.service.xml -+++ man/systemd.service.xml -@@ -519,6 +519,20 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} - following: - - /bin/kill -HUP $MAINPID -+ -+ Note however that reloading a -+ daemon by sending a signal (as with -+ the example line above) is usually not -+ a good choice, because this is an -+ asynchronous operation and hence not -+ suitable to order reloads of multiple -+ services against each other. It is -+ strongly recommended to set -+ ExecReload= to a -+ command that no only triggers a -+ configuration reload of the daemon, -+ but also synchronously waits for it -+ complete. - - - --- -1.7.9.2 - diff --git a/0006-parse_boolean-require-exact-matches.patch b/0006-parse_boolean-require-exact-matches.patch deleted file mode 100644 index 2c279f99..00000000 --- a/0006-parse_boolean-require-exact-matches.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0f625d0b87139fc18cd565c9b6da05c53a0eb7ab Mon Sep 17 00:00:00 2001 -From: Ansgar Burchardt -Date: Sun, 27 Jul 2014 15:19:00 +0200 -Subject: [PATCH] parse_boolean: require exact matches - -Require exact matches in all cases instead of treating strings -starting with 't' ('f') as true (false). - -This is required for config_parse_protect_system to parse ProtectSystem=full -correctly: it uses parse_boolean and only tries a more specific parsing -function if that did not return a valid result. Thus "full" was treated as -"false" before. ---- - src/shared/util.c | 4 ++-- - src/test/test-util.c | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git src/shared/util.c src/shared/util.c -index 4fda31c..49c17ef 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -231,9 +231,9 @@ int unlink_noerrno(const char *path) { - int parse_boolean(const char *v) { - assert(v); - -- if (streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || strcaseeq(v, "on")) -+ if (streq(v, "1") || strcaseeq(v, "yes") || strcaseeq(v, "y") || strcaseeq(v, "true") || strcaseeq(v, "t") || strcaseeq(v, "on")) - return 1; -- else if (streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || strcaseeq(v, "off")) -+ else if (streq(v, "0") || strcaseeq(v, "no") || strcaseeq(v, "n") || strcaseeq(v, "false") || strcaseeq(v, "f") || strcaseeq(v, "off")) - return 0; - - return -EINVAL; -diff --git src/test/test-util.c src/test/test-util.c -index ed91a67..9a28ef9 100644 ---- src/test/test-util.c -+++ src/test/test-util.c -@@ -129,6 +129,7 @@ static void test_parse_boolean(void) { - - assert_se(parse_boolean("garbage") < 0); - assert_se(parse_boolean("") < 0); -+ assert_se(parse_boolean("full") < 0); - } - - static void test_parse_pid(void) { --- -1.7.9.2 - diff --git a/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch b/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch deleted file mode 100644 index ce18d6c5..00000000 --- a/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ebc54302d7fc70927d5dc119e178ff03f6a911ed Mon Sep 17 00:00:00 2001 -From: Peter Rajnoha -Date: Mon, 10 Mar 2014 22:58:14 +0100 -Subject: [PATCH] rules: mark loop device as SYSTEMD_READY=0 if no file is - attached - -Check existence of loop/backing_file in sysfs and mark loop devices with -SYSTEMD_READY if missing. Such loop files is uninitialized and it's not -ready for use yet (there's no file attached). ---- - rules/99-systemd.rules.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in -index 021359a..04a59c4 100644 ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in -@@ -22,6 +22,9 @@ SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_T - SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" - SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" - -+# Ignore loop devices that don't have any file attached -+SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" -+ - # Ignore nbd devices in the "add" event, with "change" the nbd is ready - ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" - --- -1.7.9.2 - diff --git a/0006-sd-event-initialization-perturbation-value-right-bef.patch b/0006-sd-event-initialization-perturbation-value-right-bef.patch deleted file mode 100644 index a561cabb..00000000 --- a/0006-sd-event-initialization-perturbation-value-right-bef.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 52444dc478fe38b5b69a771923ab429a41927aa5 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Mar 2014 23:54:21 +0100 -Subject: [PATCH] sd-event: initialization perturbation value right before we - use it - -That way, we don't forget to initialize it when the watchdog is -initialized before all event sources. ---- - src/libsystemd/sd-event/sd-event.c | 34 +++++++++++++++++++++------------- - 1 file changed, 21 insertions(+), 13 deletions(-) - ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c 2014-03-28 12:44:05.652327044 +0000 -@@ -648,13 +648,31 @@ _public_ int sd_event_add_io( - return 0; - } - -+static void initialize_perturb(sd_event *e) { -+ sd_id128_t bootid = {}; -+ -+ /* When we sleep for longer, we try to realign the wakeup to -+ the same time wihtin each minute/second/250ms, so that -+ events all across the system can be coalesced into a single -+ CPU wakeup. However, let's take some system-specific -+ randomness for this value, so that in a network of systems -+ with synced clocks timer events are distributed a -+ bit. Here, we calculate a perturbation usec offset from the -+ boot ID. */ -+ -+ if (_likely_(e->perturb != (usec_t) -1)) -+ return; -+ -+ if (sd_id128_get_boot(&bootid) >= 0) -+ e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; -+} -+ - static int event_setup_timer_fd( - sd_event *e, - EventSourceType type, - int *timer_fd, - clockid_t id) { - -- sd_id128_t bootid = {}; - struct epoll_event ev = {}; - int r, fd; - -@@ -677,18 +695,6 @@ static int event_setup_timer_fd( - return -errno; - } - -- /* When we sleep for longer, we try to realign the wakeup to -- the same time wihtin each minute/second/250ms, so that -- events all across the system can be coalesced into a single -- CPU wakeup. However, let's take some system-specific -- randomness for this value, so that in a network of systems -- with synced clocks timer events are distributed a -- bit. Here, we calculate a perturbation usec offset from the -- boot ID. */ -- -- if (sd_id128_get_boot(&bootid) >= 0) -- e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; -- - *timer_fd = fd; - return 0; - } -@@ -1506,6 +1512,8 @@ static usec_t sleep_between(sd_event *e, - if (b <= a + 1) - return a; - -+ initialize_perturb(e); -+ - /* - Find a good time to wake up again between times a and b. We - have two goals here: diff --git a/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch b/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch deleted file mode 100644 index 0dec2f61..00000000 --- a/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8e8af4cfc7fa373504a22e58966909161acfb72f Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:43 +0200 -Subject: [PATCH] shared/sparse-endian.h: add missing byteswap.h include - ---- - src/shared/sparse-endian.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/sparse-endian.h src/shared/sparse-endian.h -index eb4dbf3..c913fda 100644 ---- src/shared/sparse-endian.h -+++ src/shared/sparse-endian.h -@@ -21,6 +21,7 @@ - #ifndef SPARSE_ENDIAN_H - #define SPARSE_ENDIAN_H - -+#include - #include - #include - --- -1.7.9.2 - diff --git a/0006-systemctl-fix-resource-leak-CID-1237747.patch b/0006-systemctl-fix-resource-leak-CID-1237747.patch deleted file mode 100644 index f8ec6af1..00000000 --- a/0006-systemctl-fix-resource-leak-CID-1237747.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 48a2900c6612052149a1d0dd88aeacb99b49ce4d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Wed, 17 Sep 2014 21:56:25 -0300 -Subject: [PATCH] systemctl: fix resource leak CID #1237747 - -..by simply moving the declaration of "unit" into the STRV_FOREACH -loop as suggested by Andreas. ---- - src/systemctl/systemctl.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 88be871..9012128 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -4449,7 +4449,6 @@ static int show(sd_bus *bus, char **args) { - } - - static int cat(sd_bus *bus, char **args) { -- _cleanup_free_ char *unit = NULL; - _cleanup_strv_free_ char **names = NULL; - char **name; - bool first = true; -@@ -4468,6 +4467,8 @@ static int cat(sd_bus *bus, char **args) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_strv_free_ char **dropin_paths = NULL; - _cleanup_free_ char *fragment_path = NULL; -+ _cleanup_free_ char *unit = NULL; -+ - char **path; - - unit = unit_dbus_path_from_name(*name); --- -1.7.9.2 - diff --git a/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch b/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch deleted file mode 100644 index b1fc0988..00000000 --- a/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch +++ /dev/null @@ -1,37 +0,0 @@ -Based on b4af5a803aa71a57733ca46fef29b7afb20a626c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 17:33:26 +0200 -Subject: [PATCH] systemctl: show StatusErrno value in "systemctl status" - ---- - src/systemctl/systemctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-07-08 10:57:30.170735691 +0000 -@@ -2710,6 +2710,7 @@ typedef struct UnitStatusInfo { - const char *status_text; - const char *pid_file; - bool running:1; -+ int status_errno; - - usec_t start_timestamp; - usec_t exit_timestamp; -@@ -2982,6 +2983,8 @@ static void print_status_info( - - if (i->status_text) - printf(" Status: \"%s\"\n", i->status_text); -+ if (i->status_errno > 0) -+ printf(" Error: %i (%s)\n", i->status_errno, strerror(i->status_errno)); - - if (i->control_group && - (i->main_pid > 0 || i->control_pid > 0 || cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, i->control_group, false) == 0)) { -@@ -3203,6 +3206,8 @@ static int status_property(const char *n - i->exit_code = (int) j; - else if (streq(name, "ExecMainStatus")) - i->exit_status = (int) j; -+ else if (streq(name, "StatusErrno")) -+ i->status_errno = (int) j; - - break; - } diff --git a/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch b/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch deleted file mode 100644 index 8647f1e1..00000000 --- a/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 6fc27667950fe153033f0f49cb5b57e8954c3e54 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 30 Jun 2014 19:06:18 +0200 -Subject: [PATCH] tmpfiles: don't do automatic cleanup in $XDG_RUNTIME_DIR - -Now that logind will clean up all IPC resources of a user we should -really consider $XDG_RUNTIME_DIR as just another kind of IPC with the -same life-cycle logic as the other IPC resources. This should be safe -now to do since every user gets his own $XDG_RUNTIME_DIR tmpfs instance -with a fixed size limit, so that flooding of it will more effectively be -averted. ---- - tmpfiles.d/systemd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- tmpfiles.d/systemd.conf -+++ tmpfiles.d/systemd.conf 2014-07-01 12:31:01.858735866 +0000 -@@ -7,7 +7,7 @@ - - # See tmpfiles.d(5) for details - --d /run/user 0755 root root ~10d -+d /run/user 0755 root root - - F! /run/utmp 0664 root utmp - - - f /var/log/wtmp 0664 root utmp - diff --git a/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch b/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch deleted file mode 100644 index aa77e4cc..00000000 --- a/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 267b3e41df5a2181f2911433539f81de2fa1511a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Thu, 29 May 2014 14:17:37 -0400 -Subject: [PATCH] tty-ask-password-agent: Do tell what directory we failed to - open - ---- - .../tty-ask-password-agent.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 3203474..55a2215 100644 ---- src/tty-ask-password-agent/tty-ask-password-agent.c -+++ src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -501,7 +501,7 @@ static int show_passwords(void) { - if (errno == ENOENT) - return 0; - -- log_error("opendir(): %m"); -+ log_error("opendir(/run/systemd/ask-password): %m"); - return -errno; - } - --- -1.7.9.2 - diff --git a/0007-README-document-that-var-run-must-be-a-symlink-run.patch b/0007-README-document-that-var-run-must-be-a-symlink-run.patch deleted file mode 100644 index 4b8b4384..00000000 --- a/0007-README-document-that-var-run-must-be-a-symlink-run.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 47bc23c18cbc87471dc832534c8565625e4a9d16 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 02:54:37 +0100 -Subject: [PATCH] =?UTF-8?q?README:=20document=20that=20/var/run=20must=20be=20?= - =?UTF-8?q?a=20symlink=20=E2=86=92=20/run?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - ---- - README | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git README README -index b918132..7a227e7 100644 ---- README -+++ README -@@ -190,6 +190,9 @@ WARNINGS: - about this, since this kind of file system setup is not really - supported anymore by the basic set of Linux OS components. - -+ systemd requires that the /run mount point exists. systemd also -+ requires that /var/run is a a symlink → /run. -+ - For more information on this issue consult - http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken - --- -1.7.9.2 - diff --git a/0007-core-fix-a-potential-mem-leak.patch b/0007-core-fix-a-potential-mem-leak.patch deleted file mode 100644 index 03003901..00000000 --- a/0007-core-fix-a-potential-mem-leak.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 4d5e13a125cf8d77d432225ab69826caa1d1cf59 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 13 Sep 2014 12:35:06 +0200 -Subject: [PATCH] core: fix a potential mem leak - -Found with Coverity. Fixes: CID#996438 ---- - src/core/load-fragment.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/core/load-fragment.c -+++ src/core/load-fragment.c 2014-09-16 10:35:13.354235607 +0000 -@@ -1294,8 +1294,11 @@ int config_parse_timer(const char *unit, - } - - v = new0(TimerValue, 1); -- if (!v) -+ if (!v) { -+ if (c) -+ free(c); - return log_oom(); -+ } - - v->base = b; - v->clock_id = id; diff --git a/0007-dbus-suppress-duplicate-and-misleading-messages.patch b/0007-dbus-suppress-duplicate-and-misleading-messages.patch deleted file mode 100644 index c4051609..00000000 --- a/0007-dbus-suppress-duplicate-and-misleading-messages.patch +++ /dev/null @@ -1,66 +0,0 @@ -From fe7f06f142cf42928e419d8578afd75bf1439672 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 11 Mar 2014 04:10:19 +0100 -Subject: [PATCH] dbus: suppress duplicate and misleading messages - -When we try to send a signal on a connection we didn't hae the time to -process the Disconnected message yet, don't generate multiple warning -messages, but only a single debug message. - -https://bugs.freedesktop.org/show_bug.cgi?id=75874 ---- - src/core/dbus-manager.c | 7 +++++-- - src/core/dbus-unit.c | 12 ++---------- - 2 files changed, 7 insertions(+), 12 deletions(-) - -diff --git src/core/dbus-manager.c src/core/dbus-manager.c -index 34ef1f5..30f28b6 100644 ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c -@@ -1357,8 +1357,11 @@ static int reply_unit_file_changes_and_f - unsigned i; - int r; - -- if (n_changes > 0) -- bus_manager_foreach_client(m, send_unit_files_changed, NULL); -+ if (n_changes > 0) { -+ r = bus_manager_foreach_client(m, send_unit_files_changed, NULL); -+ if (r < 0) -+ log_debug("Failed to send UnitFilesChanged signal: %s", strerror(-r)); -+ } - - r = sd_bus_message_new_method_return(message, &reply); - if (r < 0) -diff --git src/core/dbus-unit.c src/core/dbus-unit.c -index 515ac8b..07e7f20 100644 ---- src/core/dbus-unit.c -+++ src/core/dbus-unit.c -@@ -638,21 +638,13 @@ static int send_changed_signal(sd_bus *bus, void *userdata) { - bus, p, - UNIT_VTABLE(u)->bus_interface, - NULL); -- if (r < 0) { -- log_warning("Failed to send out specific PropertiesChanged signal for %s: %s", u->id, strerror(-r)); -+ if (r < 0) - return r; -- } - -- r = sd_bus_emit_properties_changed_strv( -+ return sd_bus_emit_properties_changed_strv( - bus, p, - "org.freedesktop.systemd1.Unit", - NULL); -- if (r < 0) { -- log_warning("Failed to send out generic PropertiesChanged signal for %s: %s", u->id, strerror(-r)); -- return r; -- } -- -- return 0; - } - - void bus_unit_send_change_signal(Unit *u) { --- -1.7.9.2 - ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c 2014-03-11 11:05:44.350235568 +0000 diff --git a/0007-drop_duplicates-copy-full-BindMount-struct.patch b/0007-drop_duplicates-copy-full-BindMount-struct.patch deleted file mode 100644 index 434f119d..00000000 --- a/0007-drop_duplicates-copy-full-BindMount-struct.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e2d7c1a0758ce80d7cb439745deefefdffd67655 Mon Sep 17 00:00:00 2001 -From: Ansgar Burchardt -Date: Sun, 27 Jul 2014 16:32:13 +0200 -Subject: [PATCH] drop_duplicates: copy full BindMount struct - -At least - - t->ignore = f->ignore; - -is missing here. Just copy the full struct to be sure. ---- - src/core/namespace.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git src/core/namespace.c src/core/namespace.c -index 5466b7b..fe95377 100644 ---- src/core/namespace.c -+++ src/core/namespace.c -@@ -124,8 +124,7 @@ static void drop_duplicates(BindMount *m, unsigned *n) { - if (previous && path_equal(f->path, previous->path)) - continue; - -- t->path = f->path; -- t->mode = f->mode; -+ *t = *f; - - previous = t; - --- -1.7.9.2 - diff --git a/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 7b77e2ab..00000000 --- a/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 063e36db8aed7b54100b33089deb6d2e86d516b9 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Thu, 3 Jul 2014 16:13:48 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 377748a..9f3136a 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -1045,7 +1045,31 @@ bluetooth:v0159* - ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. - - bluetooth:v015A* -- ID_VENDOR_FROM_DATABASE=micus AG -+ ID_VENDOR_FROM_DATABASE=micas AG - - bluetooth:v015B* - ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. -+ -+bluetooth:v015C* -+ ID_VENDOR_FROM_DATABASE=Pitius Tec S.L. -+ -+bluetooth:v015D* -+ ID_VENDOR_FROM_DATABASE=Estimote, Inc. -+ -+bluetooth:v015E* -+ ID_VENDOR_FROM_DATABASE=Unikey Technologies, Inc. -+ -+bluetooth:v015F* -+ ID_VENDOR_FROM_DATABASE=Timer Cap Co. -+ -+bluetooth:v0160* -+ ID_VENDOR_FROM_DATABASE=AwoX -+ -+bluetooth:v0161* -+ ID_VENDOR_FROM_DATABASE=yikes -+ -+bluetooth:v0162* -+ ID_VENDOR_FROM_DATABASE=MADSGlobal NZ Ltd. -+ -+bluetooth:v0163* -+ ID_VENDOR_FROM_DATABASE=PCH International --- -1.7.9.2 - diff --git a/0007-hwdb-update.patch b/0007-hwdb-update.patch deleted file mode 100644 index 462cdb4a..00000000 --- a/0007-hwdb-update.patch +++ /dev/null @@ -1,1910 +0,0 @@ -Based on bd64a88fb0478da2e93c363849b73aed8be36ae7 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 31 Jul 2014 23:06:04 +0200 -Subject: [PATCH] hwdb: update - ---- - 20-OUI.hwdb | 380 +++++++++++++++++++++++++++++++++++++++++++++-- - 20-pci-vendor-model.hwdb | 35 +++- - 20-usb-vendor-model.hwdb | 208 +++++++++++++++++++++++-- - 3 files changed, 586 insertions(+), 37 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 97f1e6b..f9501be 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -23288,7 +23288,7 @@ OUI:000CB1* - ID_OUI_FROM_DATABASE=Salland Engineering (Europe) BV - - OUI:000CB2* -- ID_OUI_FROM_DATABASE=Comstar Co., Ltd. -+ ID_OUI_FROM_DATABASE=UNION co., ltd. - - OUI:000CB3* - ID_OUI_FROM_DATABASE=ROUND Co.,Ltd. -@@ -23528,7 +23528,7 @@ OUI:000D01* - ID_OUI_FROM_DATABASE=P&E Microcomputer Systems, Inc. - - OUI:000D02* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:000D03* - ID_OUI_FROM_DATABASE=Matrics, Inc. -@@ -30311,7 +30311,7 @@ OUI:0015DF* - ID_OUI_FROM_DATABASE=Clivet S.p.A. - - OUI:0015E0* -- ID_OUI_FROM_DATABASE=ST-Ericsson -+ ID_OUI_FROM_DATABASE=Ericsson - - OUI:0015E1* - ID_OUI_FROM_DATABASE=Picochip Ltd -@@ -32375,7 +32375,7 @@ OUI:001893* - ID_OUI_FROM_DATABASE=SHENZHEN PHOTON BROADBAND TECHNOLOGY CO.,LTD - - OUI:001894* -- ID_OUI_FROM_DATABASE=zimocom -+ ID_OUI_FROM_DATABASE=NPCore, Inc. - - OUI:001895* - ID_OUI_FROM_DATABASE=Hansun Technologies Inc. -@@ -33887,7 +33887,7 @@ OUI:001A8B* - ID_OUI_FROM_DATABASE=CHUNIL ELECTRIC IND., CO. - - OUI:001A8C* -- ID_OUI_FROM_DATABASE=Astaro AG -+ ID_OUI_FROM_DATABASE=Sophos Ltd - - OUI:001A8D* - ID_OUI_FROM_DATABASE=AVECS Bergen GmbH -@@ -34652,7 +34652,7 @@ OUI:001B8A* - ID_OUI_FROM_DATABASE=2M Electronic A/S - - OUI:001B8B* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:001B8C* - ID_OUI_FROM_DATABASE=JMicron Technology Corp. -@@ -35066,7 +35066,7 @@ OUI:001C14* - ID_OUI_FROM_DATABASE=VMware, Inc - - OUI:001C15* -- ID_OUI_FROM_DATABASE=TXP Corporation -+ ID_OUI_FROM_DATABASE=iPhotonix LLC - - OUI:001C16* - ID_OUI_FROM_DATABASE=ThyssenKrupp Elevator -@@ -35975,7 +35975,7 @@ OUI:001D43* - ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. - - OUI:001D44* -- ID_OUI_FROM_DATABASE=KROHNE -+ ID_OUI_FROM_DATABASE=KROHNE Messtechnik GmbH - - OUI:001D45* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. -@@ -36863,7 +36863,7 @@ OUI:001E6B* - ID_OUI_FROM_DATABASE=Cisco SPVTG - - OUI:001E6C* -- ID_OUI_FROM_DATABASE=Carbon Mountain LLC -+ ID_OUI_FROM_DATABASE=Opaque Systems - - OUI:001E6D* - ID_OUI_FROM_DATABASE=IT R&D Center -@@ -38471,7 +38471,7 @@ OUI:002084* - ID_OUI_FROM_DATABASE=OCE PRINTING SYSTEMS, GMBH - - OUI:002085* -- ID_OUI_FROM_DATABASE=EXIDE ELECTRONICS -+ ID_OUI_FROM_DATABASE=Eaton Corporation - - OUI:002086* - ID_OUI_FROM_DATABASE=MICROTECH ELECTRONICS LIMITED -@@ -44312,7 +44312,7 @@ OUI:003A9C* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:003A9D* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:003AAF* - ID_OUI_FROM_DATABASE=BlueBit Ltd. -@@ -46394,7 +46394,7 @@ OUI:0060B8* - ID_OUI_FROM_DATABASE=CORELIS Inc. - - OUI:0060B9* -- ID_OUI_FROM_DATABASE=NEC Infrontia Corporation -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd - - OUI:0060BA* - ID_OUI_FROM_DATABASE=SAHARA NETWORKS, INC. -@@ -49015,6 +49015,9 @@ OUI:00A1DE* - OUI:00A2DA* - ID_OUI_FROM_DATABASE=INAT GmbH - -+OUI:00A2F5* -+ ID_OUI_FROM_DATABASE=Guangzhou Yuanyun Network Technology Co.,Ltd -+ - OUI:00A2FF* - ID_OUI_FROM_DATABASE=abatec group AG - -@@ -49036,6 +49039,9 @@ OUI:00AA70* - OUI:00ACE0* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:00AEFA* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:00B009* - ID_OUI_FROM_DATABASE=Grass Valley Group - -@@ -51613,6 +51619,9 @@ OUI:00F403* - OUI:00F4B9* - ID_OUI_FROM_DATABASE=Apple - -+OUI:00F76F* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:00F860* - ID_OUI_FROM_DATABASE=PT. Panggung Electric Citrabuana - -@@ -51844,6 +51853,9 @@ OUI:0494A1* - OUI:0498F3* - ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd. - -+OUI:0499E6* -+ ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd -+ - OUI:049C62* - ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. - -@@ -52423,6 +52435,9 @@ OUI:0808C2* - OUI:0808EA* - ID_OUI_FROM_DATABASE=AMSC - -+OUI:0809B6* -+ ID_OUI_FROM_DATABASE=Masimo Corp -+ - OUI:080C0B* - ID_OUI_FROM_DATABASE=SysMik GmbH Dresden - -@@ -52438,6 +52453,9 @@ OUI:080EA8* - OUI:080FFA* - ID_OUI_FROM_DATABASE=KSP INC. - -+OUI:08115E* -+ ID_OUI_FROM_DATABASE=Bitel Co., Ltd. -+ - OUI:081196* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -52597,6 +52615,9 @@ OUI:087D21* - OUI:088039* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:0881BC* -+ ID_OUI_FROM_DATABASE=HongKong Ipro Technology Co., Limited -+ - OUI:0881F4* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -52693,6 +52714,9 @@ OUI:08E5DA* - OUI:08E672* - ID_OUI_FROM_DATABASE=JEBSEE ELECTRONICS CO.,LTD. - -+OUI:08E84F* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:08EA44* - ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. - -@@ -52759,6 +52783,9 @@ OUI:0C17F1* - OUI:0C191F* - ID_OUI_FROM_DATABASE=Inform Electronik - -+OUI:0C1DAF* -+ ID_OUI_FROM_DATABASE=Beijing Xiaomi communications co.,ltd -+ - OUI:0C1DC2* - ID_OUI_FROM_DATABASE=SeAH Networks - -@@ -53080,6 +53107,9 @@ OUI:1001CA* - OUI:1005CA* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:1008B1* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:10090C* - ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. - -@@ -53200,6 +53230,9 @@ OUI:104B46* - OUI:104D77* - ID_OUI_FROM_DATABASE=Innovative Computer Engineering - -+OUI:104E07* -+ ID_OUI_FROM_DATABASE=Shanghai Genvision Industries Co.,Ltd -+ - OUI:105172* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -@@ -53234,7 +53267,7 @@ OUI:1065CF* - ID_OUI_FROM_DATABASE=IQSIM - - OUI:106682* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:10683F* - ID_OUI_FROM_DATABASE=LG Electronics -@@ -53668,6 +53701,9 @@ OUI:14F42A* - OUI:14F65A* - ID_OUI_FROM_DATABASE=Xiaomi inc. - -+OUI:14F893* -+ ID_OUI_FROM_DATABASE=Wuhan FiberHome Digital Technology Co.,Ltd. -+ - OUI:14FEAF* - ID_OUI_FROM_DATABASE=SAGITTAR LIMITED - -@@ -54190,6 +54226,9 @@ OUI:1C7C45* - OUI:1C7CC7* - ID_OUI_FROM_DATABASE=Coriant GmbH - -+OUI:1C7E51* -+ ID_OUI_FROM_DATABASE=3bumen.com -+ - OUI:1C7EE5* - ID_OUI_FROM_DATABASE=D-Link International - -@@ -54220,6 +54259,9 @@ OUI:1C955D* - OUI:1C959F* - ID_OUI_FROM_DATABASE=Veethree Electronics And Marine LLC - -+OUI:1C965A* -+ ID_OUI_FROM_DATABASE=Weifang goertek Electronics CO.,LTD -+ - OUI:1C973D* - ID_OUI_FROM_DATABASE=PRICOM Design - -@@ -54229,6 +54271,9 @@ OUI:1C994C* - OUI:1C9C26* - ID_OUI_FROM_DATABASE=Zoovel Technologies - -+OUI:1C9ECB* -+ ID_OUI_FROM_DATABASE=Beijing Nari Smartchip Microelectronics Company Limited -+ - OUI:1CA2B1* - ID_OUI_FROM_DATABASE=ruwido austria gmbh - -@@ -54254,7 +54299,7 @@ OUI:1CB094* - ID_OUI_FROM_DATABASE=HTC Corporation - - OUI:1CB17F* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:1CB243* - ID_OUI_FROM_DATABASE=TDC A/S -@@ -54478,6 +54523,9 @@ OUI:2074CF* - OUI:207600* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -+OUI:207693* -+ ID_OUI_FROM_DATABASE=Lenovo (Beijing) Limited. -+ - OUI:207C8F* - ID_OUI_FROM_DATABASE=Quanta Microsystems,Inc. - -@@ -54766,6 +54814,9 @@ OUI:249442* - OUI:249504* - ID_OUI_FROM_DATABASE=SFR - -+OUI:2497ED* -+ ID_OUI_FROM_DATABASE=Techvision Intelligent Technology Limited -+ - OUI:24A2E1* - ID_OUI_FROM_DATABASE=Apple, Inc - -@@ -55306,6 +55357,9 @@ OUI:2C27D7* - OUI:2C282D* - ID_OUI_FROM_DATABASE=BBK COMMUNICATIAO TECHNOLOGY CO.,LTD. - -+OUI:2C2997* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:2C2D48* - ID_OUI_FROM_DATABASE=bct electronic GesmbH - -@@ -55327,6 +55381,9 @@ OUI:2C36F8* - OUI:2C3731* - ID_OUI_FROM_DATABASE=ShenZhen Yifang Digital Technology Co.,LTD - -+OUI:2C3796* -+ ID_OUI_FROM_DATABASE=CYBO CO.,LTD. -+ - OUI:2C3996* - ID_OUI_FROM_DATABASE=SAGEMCOM - -@@ -55390,6 +55447,9 @@ OUI:2C5D93* - OUI:2C5FF3* - ID_OUI_FROM_DATABASE=Pertronic Industries - -+OUI:2C600C* -+ ID_OUI_FROM_DATABASE=QUANTA COMPUTER INC. -+ - OUI:2C625A* - ID_OUI_FROM_DATABASE=Finest Security Systems Co., Ltd - -@@ -55549,12 +55609,18 @@ OUI:2CEDEB* - OUI:2CEE26* - ID_OUI_FROM_DATABASE=Petroleum Geo-Services - -+OUI:2CF0EE* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:2CF203* - ID_OUI_FROM_DATABASE=EMKO ELEKTRONIK SAN VE TIC AS - - OUI:2CF4C5* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:2CF7F1* -+ ID_OUI_FROM_DATABASE=Seeed Technology Inc. -+ - OUI:2CFAA2* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -@@ -55570,6 +55636,9 @@ OUI:300D2A* - OUI:300ED5* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd - -+OUI:3010B3* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:3010E4* - ID_OUI_FROM_DATABASE=Apple, Inc. - -@@ -55711,6 +55780,9 @@ OUI:307512* - OUI:30766F* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:3077CB* -+ ID_OUI_FROM_DATABASE=Maike Industry(Shenzhen)CO.,LTD -+ - OUI:30786B* - ID_OUI_FROM_DATABASE=TIANJIN Golden Pentagon Electronics Co., Ltd. - -@@ -55831,6 +55903,9 @@ OUI:30F7D7* - OUI:30F9ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -+OUI:30FAB7* -+ ID_OUI_FROM_DATABASE=Tunai Creative -+ - OUI:30FD11* - ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. - -@@ -55909,6 +55984,9 @@ OUI:344B3D* - OUI:344B50* - ID_OUI_FROM_DATABASE=ZTE Corporation - -+OUI:344DEA* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:344DF7* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -55942,6 +56020,9 @@ OUI:346178* - OUI:346288* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:3464A9* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:34684A* - ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. - -@@ -56152,6 +56233,9 @@ OUI:34E2FD* - OUI:34E42A* - ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. - -+OUI:34E6AD* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:34EF44* - ID_OUI_FROM_DATABASE=2Wire - -@@ -56200,6 +56284,9 @@ OUI:380B40* - OUI:380DD4* - ID_OUI_FROM_DATABASE=Primax Electronics LTD. - -+OUI:380E7B* -+ ID_OUI_FROM_DATABASE=V.P.S. Thai Co., Ltd -+ - OUI:380F4A* - ID_OUI_FROM_DATABASE=Apple - -@@ -56989,6 +57076,9 @@ OUI:40984E* - OUI:40987B* - ID_OUI_FROM_DATABASE=Aisino Corporation - -+OUI:409B0D* -+ ID_OUI_FROM_DATABASE=Shenzhen Yourf Kwan Industrial Co., Ltd -+ - OUI:409FC7* - ID_OUI_FROM_DATABASE=BAEKCHUN I&C Co., Ltd. - -@@ -57367,6 +57457,9 @@ OUI:44C56F* - OUI:44C9A2* - ID_OUI_FROM_DATABASE=Greenwald Industries - -+OUI:44CE7D* -+ ID_OUI_FROM_DATABASE=SFR -+ - OUI:44D15E* - ID_OUI_FROM_DATABASE=Shanghai Kingto Information Technology Ltd - -@@ -57703,6 +57796,9 @@ OUI:4C1480* - OUI:4C14A3* - ID_OUI_FROM_DATABASE=TCL Technoly Electronics (Huizhou) Co., Ltd. - -+OUI:4C16F1* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:4C17EB* - ID_OUI_FROM_DATABASE=SAGEMCOM - -@@ -57730,6 +57826,9 @@ OUI:4C26E7* - OUI:4C2C80* - ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd - -+OUI:4C2C83* -+ ID_OUI_FROM_DATABASE=Zhejiang KaNong Network Technology Co.,Ltd. -+ - OUI:4C2F9D* - ID_OUI_FROM_DATABASE=ICM Controls - -@@ -57754,6 +57853,9 @@ OUI:4C3B74* - OUI:4C3C16* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:4C48DA* -+ ID_OUI_FROM_DATABASE=Beijing Autelan Technology Co.,Ltd -+ - OUI:4C4B68* - ID_OUI_FROM_DATABASE=Mobile Device, Inc. - -@@ -57943,6 +58045,9 @@ OUI:4CDF3D* - OUI:4CE1BB* - ID_OUI_FROM_DATABASE=Zhuhai HiFocus Technology Co., Ltd. - -+OUI:4CE2F1* -+ ID_OUI_FROM_DATABASE=sclak srl -+ - OUI:4CE676* - ID_OUI_FROM_DATABASE=Buffalo Inc. - -@@ -58459,6 +58564,9 @@ OUI:549F35* - OUI:54A04F* - ID_OUI_FROM_DATABASE=t-mac Technologies Ltd - -+OUI:54A050* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:54A31B* - ID_OUI_FROM_DATABASE=Shenzhen Linkworld Technology Co,.LTD - -@@ -58525,6 +58633,9 @@ OUI:54E3B0* - OUI:54E43A* - ID_OUI_FROM_DATABASE=Apple, Inc. - -+OUI:54E4BD* -+ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED -+ - OUI:54E63F* - ID_OUI_FROM_DATABASE=ShenZhen LingKeWeiEr Technology Co., Ltd. - -@@ -58603,6 +58714,9 @@ OUI:581FAA* - OUI:581FEF* - ID_OUI_FROM_DATABASE=Tuttnaer LTD - -+OUI:582136* -+ ID_OUI_FROM_DATABASE=KMB systems, s.r.o. -+ - OUI:58238C* - ID_OUI_FROM_DATABASE=Technicolor CH USA - -@@ -58705,6 +58819,9 @@ OUI:587BE9* - OUI:587E61* - ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd - -+OUI:587FB7* -+ ID_OUI_FROM_DATABASE=SONAR INDUSTRIAL CO., LTD. -+ - OUI:587FC8* - ID_OUI_FROM_DATABASE=S2M - -@@ -58903,6 +59020,9 @@ OUI:5C260A* - OUI:5C2AEF* - ID_OUI_FROM_DATABASE=Open Access Pty Ltd - -+OUI:5C2BF5* -+ ID_OUI_FROM_DATABASE=Vivint -+ - OUI:5C2E59* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -59020,6 +59140,9 @@ OUI:5C95AE* - OUI:5C969D* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C97F3* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:5C9AD8* - ID_OUI_FROM_DATABASE=Fujitsu Limited - -@@ -59032,6 +59155,9 @@ OUI:5CA3EB* - OUI:5CA48A* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:5CAAFD* -+ ID_OUI_FROM_DATABASE=Sonos, Inc. -+ - OUI:5CAC4C* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -59167,6 +59293,9 @@ OUI:600308* - OUI:600347* - ID_OUI_FROM_DATABASE=Billion Electric Co. Ltd. - -+OUI:600417* -+ ID_OUI_FROM_DATABASE=POSBANK CO.,LTD -+ - OUI:600F77* - ID_OUI_FROM_DATABASE=SilverPlus, Inc - -@@ -59407,6 +59536,9 @@ OUI:60C547* - OUI:60C5A8* - ID_OUI_FROM_DATABASE=Beijing LT Honway Technology Co.,Ltd - -+OUI:60C798* -+ ID_OUI_FROM_DATABASE=Verifone, Inc. -+ - OUI:60C980* - ID_OUI_FROM_DATABASE=Trymus - -@@ -59947,6 +60079,9 @@ OUI:6828BA* - OUI:682DDC* - ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD - -+OUI:6836B5* -+ ID_OUI_FROM_DATABASE=DriveScale, Inc. -+ - OUI:683B1E* - ID_OUI_FROM_DATABASE=Countwise LTD - -@@ -60007,6 +60142,9 @@ OUI:686E48* - OUI:687251* - ID_OUI_FROM_DATABASE=Ubiquiti Networks - -+OUI:6872DC* -+ ID_OUI_FROM_DATABASE=CETORY.TV Company Limited -+ - OUI:68764F* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -@@ -60097,6 +60235,9 @@ OUI:68AAD2* - OUI:68AB8A* - ID_OUI_FROM_DATABASE=RF IDeas - -+OUI:68AE20* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:68AF13* - ID_OUI_FROM_DATABASE=Futura Mobility - -@@ -60202,6 +60343,9 @@ OUI:6C0460* - OUI:6C09D6* - ID_OUI_FROM_DATABASE=Digiquest Electronics LTD - -+OUI:6C0B84* -+ ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co.,Ltd. -+ - OUI:6C0E0D* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -@@ -60268,6 +60412,9 @@ OUI:6C3E6D* - OUI:6C3E9C* - ID_OUI_FROM_DATABASE=KE Knestel Elektronik GmbH - -+OUI:6C4008* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:6C40C6* - ID_OUI_FROM_DATABASE=Nimbus Data Systems, Inc. - -@@ -60850,6 +60997,12 @@ OUI:70F927* - OUI:70F96D* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:70FC8C* -+ ID_OUI_FROM_DATABASE=OneAccess SA -+ -+OUI:70FF5C* -+ ID_OUI_FROM_DATABASE=Cheerzing Communication(Xiamen)Technology Co.,Ltd -+ - OUI:70FF76* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -60967,6 +61120,9 @@ OUI:746F3D* - OUI:7472F2* - ID_OUI_FROM_DATABASE=Chipsip Technology Co., Ltd. - -+OUI:747548* -+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. -+ - OUI:747818* - ID_OUI_FROM_DATABASE=ServiceAssure - -@@ -61117,6 +61273,9 @@ OUI:74E537* - OUI:74E543* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -+OUI:74E6E2* -+ ID_OUI_FROM_DATABASE=Dell Inc. -+ - OUI:74E7C6* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -61921,6 +62080,9 @@ OUI:8005DF* - OUI:8007A2* - ID_OUI_FROM_DATABASE=Esson Technology Inc. - -+OUI:800902* -+ ID_OUI_FROM_DATABASE=Keysight Technologies, Inc. -+ - OUI:800A06* - ID_OUI_FROM_DATABASE=COMTEC co.,ltd - -@@ -61945,6 +62107,9 @@ OUI:8018A7* - OUI:801934* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:801967* -+ ID_OUI_FROM_DATABASE=Shanghai Reallytek Information Technology Co.,Ltd -+ - OUI:801DAA* - ID_OUI_FROM_DATABASE=Avaya Inc - -@@ -61972,6 +62137,9 @@ OUI:802FDE* - OUI:803457* - ID_OUI_FROM_DATABASE=OT Systems Limited - -+OUI:803773* -+ ID_OUI_FROM_DATABASE=Netgear Inc -+ - OUI:8038FD* - ID_OUI_FROM_DATABASE=LeapFrog Enterprises, Inc. - -@@ -62146,6 +62314,9 @@ OUI:80BAE6* - OUI:80BBEB* - ID_OUI_FROM_DATABASE=Satmap Systems Ltd - -+OUI:80BE05* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:80C16E* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -62236,6 +62407,9 @@ OUI:841715* - OUI:841766* - ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd - -+OUI:841826* -+ ID_OUI_FROM_DATABASE=Osram GmbH -+ - OUI:84183A* - ID_OUI_FROM_DATABASE=Ruckus Wireless - -@@ -62365,6 +62539,9 @@ OUI:84742A* - OUI:847616* - ID_OUI_FROM_DATABASE=Addat S.r.o. - -+OUI:84788B* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:8478AC* - ID_OUI_FROM_DATABASE=Cisco - -@@ -62506,6 +62683,9 @@ OUI:84E714* - OUI:84EA99* - ID_OUI_FROM_DATABASE=Vieworks - -+OUI:84EB18* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:84ED33* - ID_OUI_FROM_DATABASE=BBMC Co.,Ltd - -@@ -62641,6 +62821,9 @@ OUI:88685C* - OUI:886B76* - ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD - -+OUI:88708C* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:887398* - ID_OUI_FROM_DATABASE=K2E Tekpoint - -@@ -62746,6 +62929,9 @@ OUI:88C626* - OUI:88C663* - ID_OUI_FROM_DATABASE=Apple - -+OUI:88C9D0* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:88CB87* - ID_OUI_FROM_DATABASE=Apple - -@@ -63082,6 +63268,9 @@ OUI:8CDE52* - OUI:8CDE99* - ID_OUI_FROM_DATABASE=Comlab Inc. - -+OUI:8CDF9D* -+ ID_OUI_FROM_DATABASE=NEC Corporation -+ - OUI:8CE081* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -63133,6 +63322,12 @@ OUI:900D66* - OUI:900DCB* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:90179B* -+ ID_OUI_FROM_DATABASE=Nanomegas -+ -+OUI:9017AC* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:90185E* - ID_OUI_FROM_DATABASE=Apex Tool Group GmbH & Co OHG - -@@ -63166,12 +63361,18 @@ OUI:902083* - OUI:902155* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:902181* -+ ID_OUI_FROM_DATABASE=Shanghai Huaqin Telecom Technology Co.,Ltd -+ - OUI:9027E4* - ID_OUI_FROM_DATABASE=Apple - - OUI:902B34* - ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. - -+OUI:902CC7* -+ ID_OUI_FROM_DATABASE=C-MAX Asia Limited -+ - OUI:902E87* - ID_OUI_FROM_DATABASE=LabJack - -@@ -63304,6 +63505,9 @@ OUI:90840D* - OUI:9088A2* - ID_OUI_FROM_DATABASE=IONICS TECHNOLOGY ME LTDA - -+OUI:908C09* -+ ID_OUI_FROM_DATABASE=Total Phase -+ - OUI:908C44* - ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. - -@@ -63337,6 +63541,9 @@ OUI:909916* - OUI:909DE0* - ID_OUI_FROM_DATABASE=Newland Design + Assoc. Inc. - -+OUI:909F33* -+ ID_OUI_FROM_DATABASE=EFM Networks -+ - OUI:909F43* - ID_OUI_FROM_DATABASE=Accutron Instruments Inc. - -@@ -63416,7 +63623,7 @@ OUI:90DA4E* - ID_OUI_FROM_DATABASE=AVANU - - OUI:90DA6A* -- ID_OUI_FROM_DATABASE=MCC System Co., Ltd. -+ ID_OUI_FROM_DATABASE=FOCUS H&S Co., Ltd. - - OUI:90DB46* - ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD -@@ -63580,6 +63787,9 @@ OUI:946269* - OUI:9463D1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:9470D2* -+ ID_OUI_FROM_DATABASE=WINFIRM TECHNOLOGY -+ - OUI:9471AC* - ID_OUI_FROM_DATABASE=TCT Mobile Limited - -@@ -63646,6 +63856,9 @@ OUI:94AE61* - OUI:94AEE3* - ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. - -+OUI:94B40F* -+ ID_OUI_FROM_DATABASE=Aruba Networks -+ - OUI:94B8C5* - ID_OUI_FROM_DATABASE=RuggedCom Inc. - -@@ -63661,9 +63874,15 @@ OUI:94BA56* - OUI:94BF1E* - ID_OUI_FROM_DATABASE=eflow Inc. / Smart Device Planning and Development Division - -+OUI:94BF95* -+ ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd -+ - OUI:94C014* - ID_OUI_FROM_DATABASE=Sorter Sp. j. Konrad Grzeszczyk MichaA, Ziomek - -+OUI:94C038* -+ ID_OUI_FROM_DATABASE=Tallac Networks -+ - OUI:94C150* - ID_OUI_FROM_DATABASE=2Wire Inc - -@@ -63793,6 +64012,9 @@ OUI:980D2E* - OUI:981094* - ID_OUI_FROM_DATABASE=Shenzhen Vsun communication technology Co.,ltd - -+OUI:9816EC* -+ ID_OUI_FROM_DATABASE=IC Intracom -+ - OUI:98208E* - ID_OUI_FROM_DATABASE=Definium Technologies - -@@ -64724,7 +64946,7 @@ OUI:A40CC3* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:A41242* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:A4134E* - ID_OUI_FROM_DATABASE=Luxul -@@ -64753,6 +64975,9 @@ OUI:A42305* - OUI:A424B3* - ID_OUI_FROM_DATABASE=FlatFrog Laboratories AB - -+OUI:A4251B* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:A42940* - ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd - -@@ -64783,6 +65008,9 @@ OUI:A4466B* - OUI:A446FA* - ID_OUI_FROM_DATABASE=AmTRAN Video Corporation - -+OUI:A44AD3* -+ ID_OUI_FROM_DATABASE=ST Electronics(Shanghai) Co.,Ltd -+ - OUI:A44B15* - ID_OUI_FROM_DATABASE=Sun Cupid Technology (HK) LTD - -@@ -64897,6 +65125,9 @@ OUI:A49F85* - OUI:A49F89* - ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. - -+OUI:A4A1C2* -+ ID_OUI_FROM_DATABASE=Ericsson AB (EAB) -+ - OUI:A4A24A* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -@@ -65209,6 +65440,9 @@ OUI:A8995C* - OUI:A89B10* - ID_OUI_FROM_DATABASE=inMotion Ltd. - -+OUI:A89DD2* -+ ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd -+ - OUI:A8A668* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -65488,6 +65722,9 @@ OUI:AC8674* - OUI:AC867E* - ID_OUI_FROM_DATABASE=Create New Technology (HK) Limited Company - -+OUI:AC87A3* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:AC8ACD* - ID_OUI_FROM_DATABASE=ROGER D.Wensker, G.Wensker sp.j. - -@@ -65650,6 +65887,9 @@ OUI:ACF7F3* - OUI:ACF97E* - ID_OUI_FROM_DATABASE=ELESYS INC. - -+OUI:ACFDCE* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:ACFDEC* - ID_OUI_FROM_DATABASE=Apple, Inc - -@@ -66496,6 +66736,9 @@ OUI:B8AD3E* - OUI:B8AE6E* - ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. - -+OUI:B8AEED* -+ ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. -+ - OUI:B8AF67* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -66562,6 +66805,9 @@ OUI:B8D06F* - OUI:B8D49D* - ID_OUI_FROM_DATABASE=M Seven System Ltd. - -+OUI:B8D812* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:B8D9CE* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -66658,6 +66904,9 @@ OUI:BC15A6* - OUI:BC1665* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:BC16F5* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:BC1A67* - ID_OUI_FROM_DATABASE=YF Technology Co., Ltd - -@@ -66766,6 +67015,9 @@ OUI:BC6A16* - OUI:BC6A29* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:BC6B4D* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:BC6E76* - ID_OUI_FROM_DATABASE=Green Energy Options Ltd - -@@ -66868,6 +67120,9 @@ OUI:BCC168* - OUI:BCC23A* - ID_OUI_FROM_DATABASE=Thomson Video Networks - -+OUI:BCC342* -+ ID_OUI_FROM_DATABASE=Panasonic System Networks Co., Ltd. -+ - OUI:BCC61A* - ID_OUI_FROM_DATABASE=SPECTRA EMBEDDED SYSTEMS - -@@ -66907,6 +67162,9 @@ OUI:BCE59F* - OUI:BCEA2B* - ID_OUI_FROM_DATABASE=CityCom GmbH - -+OUI:BCEAFA* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:BCEE7B* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -@@ -66976,6 +67234,9 @@ OUI:C03580* - OUI:C035BD* - ID_OUI_FROM_DATABASE=Velocytech Aps - -+OUI:C03896* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:C038F9* - ID_OUI_FROM_DATABASE=Nokia Danmark A/S - -@@ -67087,6 +67348,9 @@ OUI:C09132* - OUI:C09134* - ID_OUI_FROM_DATABASE=ProCurve Networking by HP - -+OUI:C09879* -+ ID_OUI_FROM_DATABASE=Acer Inc. -+ - OUI:C098E5* - ID_OUI_FROM_DATABASE=University of Michigan - -@@ -67228,6 +67492,9 @@ OUI:C40528* - OUI:C4084A* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -+OUI:C40880* -+ ID_OUI_FROM_DATABASE=Shenzhen UTEPO Tech Co., Ltd. -+ - OUI:C40938* - ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd - -@@ -67675,6 +67942,9 @@ OUI:C88439* - OUI:C88447* - ID_OUI_FROM_DATABASE=Beautiful Enterprise Co., Ltd - -+OUI:C88550* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:C8873B* - ID_OUI_FROM_DATABASE=Net Optics - -@@ -67774,6 +68044,9 @@ OUI:C8CBB8* - OUI:C8CD72* - ID_OUI_FROM_DATABASE=SAGEMCOM - -+OUI:C8D019* -+ ID_OUI_FROM_DATABASE=Shanghai Tigercel Communication Technology Co.,Ltd -+ - OUI:C8D10B* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -67960,6 +68233,9 @@ OUI:CC3D82* - OUI:CC3E5F* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:CC3F1D* -+ ID_OUI_FROM_DATABASE=Intesis Software SL -+ - OUI:CC43E3* - ID_OUI_FROM_DATABASE=Trump s.a. - -@@ -68668,6 +68944,9 @@ OUI:D45C70* - OUI:D45D42* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:D46132* -+ ID_OUI_FROM_DATABASE=Pro Concept Manufacturer Co.,Ltd. -+ - OUI:D464F7* - ID_OUI_FROM_DATABASE=CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD - -@@ -68728,6 +69007,9 @@ OUI:D48890* - OUI:D48CB5* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:D48DD9* -+ ID_OUI_FROM_DATABASE=Meld Technology, Inc -+ - OUI:D48F33* - ID_OUI_FROM_DATABASE=Microsoft Corporation - -@@ -68887,6 +69169,9 @@ OUI:D4F0B4* - OUI:D4F143* - ID_OUI_FROM_DATABASE=IPROAD.,Inc - -+OUI:D4F46F* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D4F63F* - ID_OUI_FROM_DATABASE=IEA S.R.L. - -@@ -69058,6 +69343,9 @@ OUI:D87CDD* - OUI:D87EB1* - ID_OUI_FROM_DATABASE=x.o.ware, inc. - -+OUI:D88039* -+ ID_OUI_FROM_DATABASE=Microchip Technology Inc. -+ - OUI:D881CE* - ID_OUI_FROM_DATABASE=AHN INC. - -@@ -69121,6 +69409,9 @@ OUI:D8B12A* - OUI:D8B377* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:D8B6B7* -+ ID_OUI_FROM_DATABASE=Comtrend Corporation -+ - OUI:D8B6C1* - ID_OUI_FROM_DATABASE=NetworkAccountant, Inc. - -@@ -69214,6 +69505,9 @@ OUI:D8EE78* - OUI:D8F0F2* - ID_OUI_FROM_DATABASE=Zeebo Inc - -+OUI:D8FB11* -+ ID_OUI_FROM_DATABASE=AXACORE -+ - OUI:D8FC93* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -69286,6 +69580,9 @@ OUI:DC2C26* - OUI:DC2E6A* - ID_OUI_FROM_DATABASE=HCT. Co., Ltd. - -+OUI:DC2F03* -+ ID_OUI_FROM_DATABASE=Step forward Group Co., Ltd. -+ - OUI:DC309C* - ID_OUI_FROM_DATABASE=Heyrex Limited - -@@ -69418,6 +69715,9 @@ OUI:DCC101* - OUI:DCC422* - ID_OUI_FROM_DATABASE=Systembase Limited - -+OUI:DCC622* -+ ID_OUI_FROM_DATABASE=BUHEUNG SYSTEM -+ - OUI:DCC793* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -69448,6 +69748,9 @@ OUI:DCD52A* - OUI:DCD87F* - ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd - -+OUI:DCDA4F* -+ ID_OUI_FROM_DATABASE=GET Technology,INC -+ - OUI:DCDECA* - ID_OUI_FROM_DATABASE=Akyllor - -@@ -69490,6 +69793,9 @@ OUI:E00B28* - OUI:E00C7F* - ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. - -+OUI:E0107F* -+ ID_OUI_FROM_DATABASE=Ruckus Wireless -+ - OUI:E0143E* - ID_OUI_FROM_DATABASE=Modoosis Inc. - -@@ -69688,6 +69994,9 @@ OUI:E0AF4B* - OUI:E0B2F1* - ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED - -+OUI:E0B52D* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:E0B7B1* - ID_OUI_FROM_DATABASE=Pace plc - -@@ -69829,9 +70138,15 @@ OUI:E41289* - OUI:E41C4B* - ID_OUI_FROM_DATABASE=V2 TECHNOLOGY, INC. - -+OUI:E41D2D* -+ ID_OUI_FROM_DATABASE=Mellanox Technologies, Inc. -+ - OUI:E41F13* - ID_OUI_FROM_DATABASE=IBM Corp - -+OUI:E42354* -+ ID_OUI_FROM_DATABASE=SHENZHEN FUZHI SOFTWARE TECHNOLOGY CO.,LTD -+ - OUI:E425E7* - ID_OUI_FROM_DATABASE=Apple - -@@ -69961,6 +70276,9 @@ OUI:E48AD5* - OUI:E48B7F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:E48C0F* -+ ID_OUI_FROM_DATABASE=Discovery Insure -+ - OUI:E49069* - ID_OUI_FROM_DATABASE=Rockwell Automation - -@@ -70111,6 +70429,9 @@ OUI:E8150E* - OUI:E817FC* - ID_OUI_FROM_DATABASE=NIFTY Corporation - -+OUI:E81863* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:E82877* - ID_OUI_FROM_DATABASE=TMY Co., Ltd. - -@@ -70249,6 +70570,9 @@ OUI:E8944C* - OUI:E894F6* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:E89606* -+ ID_OUI_FROM_DATABASE=testo Instruments (Shenzhen) Co., Ltd. -+ - OUI:E8995A* - ID_OUI_FROM_DATABASE=PiiGAB, Processinformation i Goteborg AB - -@@ -70396,6 +70720,9 @@ OUI:EC0ED6* - OUI:EC1120* - ID_OUI_FROM_DATABASE=FloDesign Wind Turbine Corporation - -+OUI:EC13B2* -+ ID_OUI_FROM_DATABASE=Netonix -+ - OUI:EC14F6* - ID_OUI_FROM_DATABASE=BioControl AS - -@@ -70729,6 +71056,9 @@ OUI:F03A4B* - OUI:F03A55* - ID_OUI_FROM_DATABASE=Omega Elektronik AS - -+OUI:F03D29* -+ ID_OUI_FROM_DATABASE=Actility -+ - OUI:F03FF8* - ID_OUI_FROM_DATABASE=R L Drake - -@@ -70801,6 +71131,9 @@ OUI:F07BCB* - OUI:F07D68* - ID_OUI_FROM_DATABASE=D-Link Corporation - -+OUI:F07F06* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F07F0C* - ID_OUI_FROM_DATABASE=Leopold Kostal GmbH &Co. KG - -@@ -70843,6 +71176,9 @@ OUI:F09CBB* - OUI:F09CE9* - ID_OUI_FROM_DATABASE=Aerohive Networks Inc - -+OUI:F09E63* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F0A764* - ID_OUI_FROM_DATABASE=GST Co., Ltd. - -@@ -71188,6 +71524,9 @@ OUI:F4B72A* - OUI:F4B7E2* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:F4B85E* -+ ID_OUI_FROM_DATABASE=Texas INstruments -+ - OUI:F4BD7C* - ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD - -@@ -71461,6 +71800,9 @@ OUI:F87B8C* - OUI:F8811A* - ID_OUI_FROM_DATABASE=OVERKIZ - -+OUI:F88479* -+ ID_OUI_FROM_DATABASE=Yaojin Technology(Shenzhen)Co.,Ltd -+ - OUI:F884F2* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -71599,6 +71941,9 @@ OUI:F8E7B5* - OUI:F8E811* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:F8E903* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:F8E968* - ID_OUI_FROM_DATABASE=Egker Kft. - -@@ -71782,6 +72127,9 @@ OUI:FC5B24* - OUI:FC5B26* - ID_OUI_FROM_DATABASE=MikroBits - -+OUI:FC5B39* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:FC6018* - ID_OUI_FROM_DATABASE=Zhejiang Kangtai Electric Co., Ltd. - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 77c727d..a6a2754 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -32403,11 +32403,14 @@ pci:v00001131d00007146sv0000153Bsd00001155* - ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) - - pci:v00001131d00007146sv0000153Bsd00001156* -- ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C) - - pci:v00001131d00007146sv0000153Bsd00001157* - ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) - -+pci:v00001131d00007146sv0000153Bsd00001176* -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C (MK3)) -+ - pci:v00001131d00007146sv00001894sd00000020* - ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) - -@@ -42846,7 +42849,7 @@ pci:v00001425d00005012* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller - - pci:v00001425d00005013* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller - - pci:v00001425d00005014* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller -@@ -42924,7 +42927,7 @@ pci:v00001425d00005412* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller - - pci:v00001425d00005413* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller - - pci:v00001425d00005414* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller -@@ -43002,7 +43005,7 @@ pci:v00001425d00005512* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller - - pci:v00001425d00005513* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller - - pci:v00001425d00005514* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller -@@ -43080,7 +43083,7 @@ pci:v00001425d00005612* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller - - pci:v00001425d00005613* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller - - pci:v00001425d00005614* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller -@@ -43236,7 +43239,7 @@ pci:v00001425d00005812* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005813* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005814* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] -@@ -45887,6 +45890,9 @@ pci:v000014E4d00004359sv00001028sd00000011* - pci:v000014E4d00004359sv0000103Csd0000182C* - ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) - -+pci:v000014E4d00004360* -+ ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter -+ - pci:v000014E4d00004365* - ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n - -@@ -45896,6 +45902,9 @@ pci:v000014E4d00004365sv00001028sd00000016* - pci:v000014E4d000043A0* - ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter - -+pci:v000014E4d000043A9* -+ ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n -+ - pci:v000014E4d000043B1* - ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter - -@@ -47886,7 +47895,10 @@ pci:v000015ADd00000774* - ID_MODEL_FROM_DATABASE=USB1.1 UHCI Controller - - pci:v000015ADd00000778* -- ID_MODEL_FROM_DATABASE=USB3 xHCI Controller -+ ID_MODEL_FROM_DATABASE=USB3 xHCI 0.96 Controller -+ -+pci:v000015ADd00000779* -+ ID_MODEL_FROM_DATABASE=USB3 xHCI 1.0 Controller - - pci:v000015ADd00000790* - ID_MODEL_FROM_DATABASE=PCI bridge -@@ -52490,6 +52502,9 @@ pci:v00001A29* - pci:v00001A29d00004338* - ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC - -+pci:v00001A29d00004E36* -+ ID_MODEL_FROM_DATABASE=NP6 Network Processor -+ - pci:v00001A2B* - ID_VENDOR_FROM_DATABASE=Ascom AG - -@@ -73781,6 +73796,9 @@ pci:v0000D161d00001405* - pci:v0000D161d00001420* - ID_MODEL_FROM_DATABASE=Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen) - -+pci:v0000D161d00001820* -+ ID_MODEL_FROM_DATABASE=Wildcard TE820 octal-span T1/E1/J1 card 3.3V (PCI-Express) -+ - pci:v0000D161d00002400* - ID_MODEL_FROM_DATABASE=Wildcard TDM2400P 24-port analog card - -@@ -73820,6 +73838,9 @@ pci:v0000D161d0000800A* - pci:v0000D161d0000800B* - ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card - -+pci:v0000D161d0000800E* -+ ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) -+ - pci:v0000D161d0000B410* - ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 89cd5b1..ed6b2b1 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -524,6 +524,9 @@ usb:v03F0p0317* - usb:v03F0p0324* - ID_MODEL_FROM_DATABASE=SK-2885 keyboard - -+usb:v03F0p034A* -+ ID_MODEL_FROM_DATABASE=Elite Keyboard -+ - usb:v03F0p0401* - ID_MODEL_FROM_DATABASE=ScanJet 5200c - -@@ -767,6 +770,9 @@ usb:v03F0p1317* - usb:v03F0p1327* - ID_MODEL_FROM_DATABASE=iLO Virtual Hub - -+usb:v03F0p134A* -+ ID_MODEL_FROM_DATABASE=Optical Mouse -+ - usb:v03F0p1405* - ID_MODEL_FROM_DATABASE=ScanJet 3670 - -@@ -2336,6 +2342,12 @@ usb:v0403pEF10* - usb:v0403pF070* - ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] - -+usb:v0403pF0C8* -+ ID_MODEL_FROM_DATABASE=SPROG Decoder Programmer -+ -+usb:v0403pF0C9* -+ ID_MODEL_FROM_DATABASE=SPROG-DCC CAN-USB -+ - usb:v0403pF0E9* - ID_MODEL_FROM_DATABASE=Tagsys L-P101 - -@@ -2642,6 +2654,9 @@ usb:v0409p02B4* - usb:v0409p02B6* - ID_MODEL_FROM_DATABASE=Aterm WL300NU-GS 802.11n Wireless Adapter - -+usb:v0409p02BC* -+ ID_MODEL_FROM_DATABASE=Computer Monitor -+ - usb:v0409p0300* - ID_MODEL_FROM_DATABASE=LifeTouch Note - -@@ -5348,6 +5363,9 @@ usb:v0452p0050* - usb:v0452p0051* - ID_MODEL_FROM_DATABASE=Integrated Hub - -+usb:v0452p0100* -+ ID_MODEL_FROM_DATABASE=Control Panel for Leica TCS SP5 -+ - usb:v0453* - ID_VENDOR_FROM_DATABASE=CMD Technology - -@@ -8759,6 +8777,9 @@ usb:v0480pA009* - usb:v0480pA00D* - ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB - -+usb:v0480pB001* -+ ID_MODEL_FROM_DATABASE=Stor.E Partner -+ - usb:v0480pD010* - ID_MODEL_FROM_DATABASE=External Disk 3TB - -@@ -13100,9 +13121,15 @@ usb:v04D8p900A* - usb:v04D8pC001* - ID_MODEL_FROM_DATABASE=PicoLCD 20x4 - -+usb:v04D8pF4B5* -+ ID_MODEL_FROM_DATABASE=SmartScope -+ - usb:v04D8pF8DA* - ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug - -+usb:v04D8pF91C* -+ ID_MODEL_FROM_DATABASE=SPROG IIv3 -+ - usb:v04D8pFAFF* - ID_MODEL_FROM_DATABASE=Dangerous Prototypes BusPirate v4 Bootloader mode - -@@ -13118,6 +13145,9 @@ usb:v04D8pFBBA* - usb:v04D8pFBBB* - ID_MODEL_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (active mode) - -+usb:v04D8pFC1E* -+ ID_MODEL_FROM_DATABASE=Bachrus Speedometer Interface -+ - usb:v04D8pFC92* - ID_MODEL_FROM_DATABASE=Open Bench Logic Sniffer - -@@ -14432,6 +14462,9 @@ usb:v04F2p0403* - usb:v04F2p0418* - ID_MODEL_FROM_DATABASE=KU-0418 Tactical Pad - -+usb:v04F2p0618* -+ ID_MODEL_FROM_DATABASE=RG-0618U Wireless HID Receiver & KG-0609 Wireless Keyboard with Touchpad -+ - usb:v04F2p0760* - ID_MODEL_FROM_DATABASE=Acer KU-0760 Keyboard - -@@ -15336,7 +15369,7 @@ usb:v04FCp0171* - ID_MODEL_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (Mass Storage mode) - - usb:v04FCp0201* -- ID_MODEL_FROM_DATABASE=RS232C Adapter -+ ID_MODEL_FROM_DATABASE=SPCP825 RS232C Adapter - - usb:v04FCp0232* - ID_MODEL_FROM_DATABASE=Fingerprint -@@ -29036,6 +29069,9 @@ usb:v08E3p0301* - usb:v08E4* - ID_VENDOR_FROM_DATABASE=Pioneer Corp. - -+usb:v08E4p0185* -+ ID_MODEL_FROM_DATABASE=DDJ-WeGO2 -+ - usb:v08E5* - ID_VENDOR_FROM_DATABASE=Litronic - -@@ -33080,6 +33116,9 @@ usb:v0B48p300D* - usb:v0B48p300E* - ID_MODEL_FROM_DATABASE=TT-connect C-2400 - -+usb:v0B48p3014* -+ ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 -+ - usb:v0B49* - ID_VENDOR_FROM_DATABASE=ASCII Corp. - -@@ -34086,7 +34125,7 @@ usb:v0BC2p3101* - ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB - - usb:v0BC2p3312* -- ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] -+ ID_MODEL_FROM_DATABASE=SRD00F2 Expansion Desktop Drive (STBV) - - usb:v0BC2p3320* - ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] -@@ -34109,6 +34148,9 @@ usb:v0BC2p5031* - usb:v0BC2p5070* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk - -+usb:v0BC2p5071* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk -+ - usb:v0BC2p50A1* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk - -@@ -34133,6 +34175,9 @@ usb:v0BC2pA0A4* - usb:v0BC2pAB00* - ID_MODEL_FROM_DATABASE=Slim Portable Drive - -+usb:v0BC2pAB20* -+ ID_MODEL_FROM_DATABASE=Backup Plus Portable Drive -+ - usb:v0BC3* - ID_VENDOR_FROM_DATABASE=IPWireless, Inc. - -@@ -34301,6 +34346,9 @@ usb:v0BDAp0176* - usb:v0BDAp0178* - ID_MODEL_FROM_DATABASE=Mass Storage Device - -+usb:v0BDAp0179* -+ ID_MODEL_FROM_DATABASE=RTL8188ETV Wireless LAN 802.11n Network Adapter -+ - usb:v0BDAp0184* - ID_MODEL_FROM_DATABASE=RTS5182 Card Reader - -@@ -34322,6 +34370,9 @@ usb:v0BDAp2832* - usb:v0BDAp2838* - ID_MODEL_FROM_DATABASE=RTL2838 DVB-T - -+usb:v0BDAp5730* -+ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam -+ - usb:v0BDAp8150* - ID_MODEL_FROM_DATABASE=RTL8150 Fast Ethernet Adapter - -@@ -36012,11 +36063,53 @@ usb:v0CE5p0003* - ID_MODEL_FROM_DATABASE=Matrix - - usb:v0CE9* -- ID_VENDOR_FROM_DATABASE=pico Technology -+ ID_VENDOR_FROM_DATABASE=Pico Technology - - usb:v0CE9p1001* - ID_MODEL_FROM_DATABASE=PicoScope3000 series PC Oscilloscope - -+usb:v0CE9p1007* -+ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope -+ -+usb:v0CE9p1008* -+ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope -+ -+usb:v0CE9p1009* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope -+ -+usb:v0CE9p100E* -+ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope -+ -+usb:v0CE9p1012* -+ ID_MODEL_FROM_DATABASE=PicoScope 3000A series PC Oscilloscope -+ -+usb:v0CE9p1016* -+ ID_MODEL_FROM_DATABASE=PicoScope 2000A series PC Oscilloscope -+ -+usb:v0CE9p1018* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000A series PC Oscilloscope -+ -+usb:v0CE9p1200* -+ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope -+ -+usb:v0CE9p1201* -+ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope -+ -+usb:v0CE9p1202* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope -+ -+usb:v0CE9p1203* -+ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope -+ -+usb:v0CE9p1204* -+ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope -+ -+usb:v0CE9p1211* -+ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope -+ -+usb:v0CE9p1212* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope -+ - usb:v0CF1* - ID_VENDOR_FROM_DATABASE=e-Conn Electronic Co., Ltd - -@@ -36998,6 +37091,9 @@ usb:v0DB0p1020* - usb:v0DB0p1967* - ID_MODEL_FROM_DATABASE=Bluetooth Dongle - -+usb:v0DB0p3713* -+ ID_MODEL_FROM_DATABASE=Primo 73 -+ - usb:v0DB0p3801* - ID_MODEL_FROM_DATABASE=Motorola Bluetooth 2.1+EDR Device - -@@ -37112,6 +37208,9 @@ usb:v0DB7p0002* - usb:v0DBA* - ID_VENDOR_FROM_DATABASE=Digidesign - -+usb:v0DBAp1000* -+ ID_MODEL_FROM_DATABASE=Mbox 1 [Mbox] -+ - usb:v0DBAp3000* - ID_MODEL_FROM_DATABASE=Mbox 2 - -@@ -37913,6 +38012,12 @@ usb:v0E6A* - usb:v0E6Ap0101* - ID_MODEL_FROM_DATABASE=MA100 [USB-UART Bridge IC] - -+usb:v0E6Ap030B* -+ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard (Device Firmware Update mode) -+ -+usb:v0E6Ap030C* -+ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard -+ - usb:v0E6Ap6001* - ID_MODEL_FROM_DATABASE=GEMBIRD Flexible keyboard KB-109F-B-DE - -@@ -39548,6 +39653,12 @@ usb:v1039p0824* - usb:v1039p2140* - ID_MODEL_FROM_DATABASE=dsl+ 1100 duo - -+usb:v103A* -+ ID_VENDOR_FROM_DATABASE=PSA -+ -+usb:v103ApF000* -+ ID_MODEL_FROM_DATABASE=Actia Evo XS -+ - usb:v103D* - ID_VENDOR_FROM_DATABASE=Stanton - -@@ -39692,6 +39803,9 @@ usb:v1050p0110* - usb:v1050p0111* - ID_MODEL_FROM_DATABASE=Yubikey NEO OTP+CCID - -+usb:v1050p0200* -+ ID_MODEL_FROM_DATABASE=U2F Gnubby -+ - usb:v1050p0211* - ID_MODEL_FROM_DATABASE=Gnubby - -@@ -39735,16 +39849,25 @@ usb:v1058p0704* - ID_MODEL_FROM_DATABASE=Passport External HDD - - usb:v1058p070A* -- ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA), My Passport for Mac (WDBAAB), My Passport Essential SE (WDBABM), My Passport SE for Mac (WDBABW) -+ -+usb:v1058p070B* -+ ID_MODEL_FROM_DATABASE=My Passport Elite (WDBAAC) -+ -+usb:v1058p070C* -+ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBAAE) - - usb:v1058p071A* -- ID_MODEL_FROM_DATABASE=My Passport -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA) -+ -+usb:v1058p071D* -+ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBALG) - - usb:v1058p0730* - ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) - - usb:v1058p0740* -- ID_MODEL_FROM_DATABASE=My Passport -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) - - usb:v1058p0741* - ID_MODEL_FROM_DATABASE=My Passport Ultra -@@ -39756,22 +39879,22 @@ usb:v1058p0748* - ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) - - usb:v1058p0810* -- ID_MODEL_FROM_DATABASE=My Passport Ultra -+ ID_MODEL_FROM_DATABASE=My Passport Ultra (WDBZFP) - - usb:v1058p0900* - ID_MODEL_FROM_DATABASE=MyBook Essential External HDD - - usb:v1058p0901* -- ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) - - usb:v1058p0902* -- ID_MODEL_FROM_DATABASE=My Book Pro Edition -+ ID_MODEL_FROM_DATABASE=My Book Pro Edition (WDG1T) - - usb:v1058p0903* - ID_MODEL_FROM_DATABASE=My Book Premium Edition - - usb:v1058p0910* -- ID_MODEL_FROM_DATABASE=MyBook Essential External HDD -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) - - usb:v1058p1001* - ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) -@@ -39786,7 +39909,7 @@ usb:v1058p1021* - ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) - - usb:v1058p1023* -- ID_MODEL_FROM_DATABASE=Elements SE -+ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBABV) - - usb:v1058p1048* - ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) -@@ -39809,11 +39932,23 @@ usb:v1058p1104* - usb:v1058p1105* - ID_MODEL_FROM_DATABASE=My Book Studio II - -+usb:v1058p1110* -+ ID_MODEL_FROM_DATABASE=My Book Essential (WDBAAF), My Book for Mac (WDBAAG) -+ -+usb:v1058p1111* -+ ID_MODEL_FROM_DATABASE=My Book Elite (WDBAAH) -+ -+usb:v1058p1112* -+ ID_MODEL_FROM_DATABASE=My Book Studio (WDBAAJ), My Book Studio LX (WDBACH) -+ - usb:v1058p1123* -- ID_MODEL_FROM_DATABASE=My Book 3.0 -+ ID_MODEL_FROM_DATABASE=My Book 3.0 (WDBABP) -+ -+usb:v1058p1130* -+ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) - - usb:v1058p1140* -- ID_MODEL_FROM_DATABASE=My Book Essential USB3.0 -+ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) - - usb:v1059* - ID_VENDOR_FROM_DATABASE=Giesecke & Devrient GmbH -@@ -42098,6 +42233,12 @@ usb:v132Bp2045* - usb:v132Bp2049* - ID_MODEL_FROM_DATABASE=Magicolor 2490MF - -+usb:v133E* -+ ID_VENDOR_FROM_DATABASE=Kemper Digital GmbH -+ -+usb:v133Ep0815* -+ ID_MODEL_FROM_DATABASE=Virus TI Desktop -+ - usb:v1342* - ID_VENDOR_FROM_DATABASE=Mobility - -@@ -42203,6 +42344,9 @@ usb:v134E* - usb:v1357* - ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems - -+usb:v1357p0089* -+ ID_MODEL_FROM_DATABASE=OpenSDA - CDC Serial Port -+ - usb:v1357p0503* - ID_MODEL_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink - -@@ -42213,7 +42357,7 @@ usb:v1366* - ID_VENDOR_FROM_DATABASE=SEGGER - - usb:v1366p0101* -- ID_MODEL_FROM_DATABASE=J-Link ARM -+ ID_MODEL_FROM_DATABASE=J-Link PLUS - - usb:v136B* - ID_VENDOR_FROM_DATABASE=STEC -@@ -42311,6 +42455,9 @@ usb:v138Ap003C* - usb:v138Ap003D* - ID_MODEL_FROM_DATABASE=VFS491 - -+usb:v138Ap003F* -+ ID_MODEL_FROM_DATABASE=VFS495 Fingerprint Reader -+ - usb:v138Ap0050* - ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor - -@@ -42647,6 +42794,9 @@ usb:v13D3p5122* - usb:v13D3p5126* - ID_MODEL_FROM_DATABASE=PC Cam - -+usb:v13D3p5130* -+ ID_MODEL_FROM_DATABASE=Integrated Webcam -+ - usb:v13D3p5702* - ID_MODEL_FROM_DATABASE=UVC VGA Webcam - -@@ -43232,6 +43382,9 @@ usb:v1493p0019* - usb:v1493p001A* - ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] - -+usb:v1493p001D* -+ ID_MODEL_FROM_DATABASE=Greentit [Ambit2 R] -+ - usb:v1497* - ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. - -@@ -49640,12 +49793,39 @@ usb:v2478* - usb:v2478p2008* - ID_MODEL_FROM_DATABASE=U209-000-R Serial Port - -+usb:v249C* -+ ID_VENDOR_FROM_DATABASE=M2Tech s.r.l. -+ - usb:v2632* - ID_VENDOR_FROM_DATABASE=TwinMOS - - usb:v2632p3209* - ID_MODEL_FROM_DATABASE=7-in-1 Card Reader - -+usb:v2639* -+ ID_VENDOR_FROM_DATABASE=Xsens -+ -+usb:v2639p0001* -+ ID_MODEL_FROM_DATABASE=MTi-10 IMU -+ -+usb:v2639p0002* -+ ID_MODEL_FROM_DATABASE=MTi-20 VRU -+ -+usb:v2639p0003* -+ ID_MODEL_FROM_DATABASE=MTi-30 AHRS -+ -+usb:v2639p0011* -+ ID_MODEL_FROM_DATABASE=MTi-100 IMU -+ -+usb:v2639p0012* -+ ID_MODEL_FROM_DATABASE=MTi-200 VRU -+ -+usb:v2639p0013* -+ ID_MODEL_FROM_DATABASE=MTi-300 AHRS -+ -+usb:v2639p0017* -+ ID_MODEL_FROM_DATABASE=MTi-G-700 GPS INS -+ - usb:v2650* - ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex] - --- -1.7.9.2 - diff --git a/0007-journal-forget-file-after-encountering-an-error.patch b/0007-journal-forget-file-after-encountering-an-error.patch deleted file mode 100644 index e195e6bf..00000000 --- a/0007-journal-forget-file-after-encountering-an-error.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a9a245c128af6c0418085062c60251bc51fa4a94 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 27 Feb 2014 00:11:54 -0500 -Subject: [PATCH] journal: forget file after encountering an error - -If we encounter an inconsistency in a file, let's just -ignore it. Otherwise, after previous patch, we would try, -and fail, to use this file in every invocation of sd_journal_next -or sd_journal_previous that happens afterwards. ---- - src/journal/sd-journal.c | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -diff --git src/journal/sd-journal.c src/journal/sd-journal.c -index ef455e9..b54bc21 100644 ---- src/journal/sd-journal.c -+++ src/journal/sd-journal.c -@@ -51,6 +51,8 @@ - - #define DEFAULT_DATA_THRESHOLD (64*1024) - -+static void remove_file_real(sd_journal *j, JournalFile *f); -+ - static bool journal_pid_changed(sd_journal *j) { - assert(j); - -@@ -885,6 +887,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { - r = next_beyond_location(j, f, direction, &o, &p); - if (r < 0) { - log_debug("Can't iterate through %s, ignoring: %s", f->path, strerror(-r)); -+ remove_file_real(j, f); - continue; - } else if (r == 0) - continue; -@@ -1339,7 +1342,7 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) { - } - - static int remove_file(sd_journal *j, const char *prefix, const char *filename) { -- char *path; -+ _cleanup_free_ char *path; - JournalFile *f; - - assert(j); -@@ -1351,10 +1354,17 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) - return -ENOMEM; - - f = hashmap_get(j->files, path); -- free(path); - if (!f) - return 0; - -+ remove_file_real(j, f); -+ return 0; -+} -+ -+static void remove_file_real(sd_journal *j, JournalFile *f) { -+ assert(j); -+ assert(f); -+ - hashmap_remove(j->files, f->path); - - log_debug("File %s removed.", f->path); -@@ -1372,8 +1382,6 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) - journal_file_close(f); - - j->current_invalidate_counter ++; -- -- return 0; - } - - static int add_directory(sd_journal *j, const char *prefix, const char *dirname) { --- -1.7.9.2 - diff --git a/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch b/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch deleted file mode 100644 index f2409242..00000000 --- a/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 332076b45b8a78f018ade2dfdc7e4279a56d49cc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Nov 2014 23:10:21 +0100 -Subject: [PATCH] journald: also check journal file size to deduce if it is - empty - ---- - src/journal/journal-vacuum.c | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c -index dbf5d22..d141fe0 100644 ---- src/journal/journal-vacuum.c -+++ src/journal/journal-vacuum.c -@@ -121,22 +121,30 @@ static void patch_realtime( - } - - static int journal_file_empty(int dir_fd, const char *name) { -- int r; -- le64_t n_entries; - _cleanup_close_ int fd; -+ struct stat st; -+ le64_t n_entries; -+ ssize_t n; - - fd = openat(dir_fd, name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd < 0) - return -errno; - -- if (lseek(fd, offsetof(Header, n_entries), SEEK_SET) < 0) -+ if (fstat(fd, &st) < 0) - return -errno; - -- r = read(fd, &n_entries, sizeof(n_entries)); -- if (r != sizeof(n_entries)) -- return r == 0 ? -EINVAL : -errno; -+ /* If an offline file doesn't even have a header we consider it empty */ -+ if (st.st_size < (off_t) sizeof(Header)) -+ return 1; -+ -+ /* If the number of entries is empty, we consider it empty, too */ -+ n = pread(fd, &n_entries, sizeof(n_entries), offsetof(Header, n_entries)); -+ if (n < 0) -+ return -errno; -+ if (n != sizeof(n_entries)) -+ return -EIO; - -- return le64toh(n_entries) == 0; -+ return le64toh(n_entries) <= 0; - } - - int journal_directory_vacuum( --- -1.7.9.2 - diff --git a/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch b/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch deleted file mode 100644 index 54b97960..00000000 --- a/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 5e8b767df6e18444d5aff2987b5e5603361ed528 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 13 Aug 2014 18:53:05 +0200 -Subject: [PATCH] journald: also increase the SendBuffer of /dev/log to 8M - -http://lists.freedesktop.org/archives/systemd-devel/2014-August/021825.html ---- - units/systemd-journald.socket | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- units/systemd-journald.socket -+++ units/systemd-journald.socket 2014-08-22 14:31:11.022236471 +0000 -@@ -23,4 +23,10 @@ ListenDatagram=/dev/log - SocketMode=0666 - PassCredentials=yes - PassSecurity=yes -+ -+# Increase both the send and receive buffer, so that things don't -+# block early. Note that journald internally uses the this socket both -+# for receiving syslog messages, and for forwarding them to any other -+# syslog, hence we bump both values. - ReceiveBuffer=8M -+SendBuffer=8M diff --git a/0007-keyboard-add-Plantronics-.Audio-mute-button.patch b/0007-keyboard-add-Plantronics-.Audio-mute-button.patch deleted file mode 100644 index 53c701bd..00000000 --- a/0007-keyboard-add-Plantronics-.Audio-mute-button.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9e3dbf6b2b99d0e16989d9cedb458729db5a60c3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 1 Jun 2014 14:01:23 -0400 -Subject: [PATCH] keyboard: add Plantronics .Audio mute button - -https://bugs.freedesktop.org/show_bug.cgi?id=79495 ---- - hwdb/60-keyboard.hwdb | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 05e6a04..d053766 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -866,6 +866,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* - KEYBOARD_KEY_f3=volumeup - - ########################################################### -+# Plantronics -+########################################################### -+ -+# Plantronics .Audio 626 DSP -+keyboard:usb:v047fpC006* -+ KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute -+ -+########################################################### - # Quanta - ########################################################### - --- -1.7.9.2 - diff --git a/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch b/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch deleted file mode 100644 index 15857575..00000000 --- a/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9dedfe7f667a8cb22ba85d0223556c69c4fd0e9a Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 09:20:46 +0200 -Subject: [PATCH] libudev: monitor - warn if we fail to request SO_PASSCRED - -The function still succeeds, so there is no functional change. This fixes CID #996288. ---- - src/libudev/libudev-monitor.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c -index 186e5e1..59698b8 100644 ---- src/libudev/libudev-monitor.c -+++ src/libudev/libudev-monitor.c -@@ -412,7 +412,10 @@ _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor) - } - - /* enable receiving of sender credentials */ -- setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ if (err < 0) -+ udev_err(udev_monitor->udev, "setting SO_PASSCRED failed: %m\n"); -+ - return 0; - } - --- -1.7.9.2 - diff --git a/0007-logind-fix-Display-property-of-user-objects.patch b/0007-logind-fix-Display-property-of-user-objects.patch deleted file mode 100644 index 8fbbbeac..00000000 --- a/0007-logind-fix-Display-property-of-user-objects.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 952d32609f9bceee444fa2690afb4d28539b4b92 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 19 May 2014 09:03:20 +0900 -Subject: [PATCH] logind: fix Display property of user objects - -When we dropped support for creating a per-user to the "main" X11 -display we stopped returning useful data in the "Display" user property. -With this change this is fixed and we again expose an appropriate -(graphical session) in the property that is useful as the "main" one, if -one is needed. ---- - src/login/logind-session.c | 8 ++++++-- - src/login/logind-session.h | 2 ++ - src/login/logind-user-dbus.c | 2 +- - src/login/logind-user.c | 37 +++++++++++++++++++++++++++++++++++++ - src/login/logind-user.h | 1 + - 5 files changed, 47 insertions(+), 3 deletions(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 4fb229e..9a54101 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -545,6 +545,8 @@ int session_start(Session *s) { - - s->started = true; - -+ user_elect_display(s->user); -+ - /* Save data */ - session_save(s); - user_save(s->user); -@@ -553,7 +555,7 @@ int session_start(Session *s) { - - /* Send signals */ - session_send_signal(s, true); -- user_send_changed(s->user, "Sessions", NULL); -+ user_send_changed(s->user, "Sessions", "Display", NULL); - if (s->seat) { - if (s->seat->active == s) - seat_send_changed(s->seat, "Sessions", "ActiveSession", NULL); -@@ -612,6 +614,8 @@ int session_stop(Session *s, bool force) { - - s->stopping = true; - -+ user_elect_display(s->user); -+ - session_save(s); - user_save(s->user); - -@@ -660,7 +664,7 @@ int session_finalize(Session *s) { - } - - user_save(s->user); -- user_send_changed(s->user, "Sessions", NULL); -+ user_send_changed(s->user, "Sessions", "Display", NULL); - - return r; - } -diff --git src/login/logind-session.h src/login/logind-session.h -index f78f309..81957df 100644 ---- src/login/logind-session.h -+++ src/login/logind-session.h -@@ -60,6 +60,8 @@ typedef enum SessionType { - _SESSION_TYPE_INVALID = -1 - } SessionType; - -+#define SESSION_TYPE_IS_GRAPHICAL(type) IN_SET(type, SESSION_X11, SESSION_WAYLAND, SESSION_MIR) -+ - enum KillWho { - KILL_LEADER, - KILL_ALL, -diff --git src/login/logind-user-dbus.c src/login/logind-user-dbus.c -index 6266ccb..51793f6 100644 ---- src/login/logind-user-dbus.c -+++ src/login/logind-user-dbus.c -@@ -220,7 +220,7 @@ const sd_bus_vtable user_vtable[] = { - SD_BUS_PROPERTY("RuntimePath", "s", NULL, offsetof(User, runtime_path), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("Service", "s", NULL, offsetof(User, service), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("Slice", "s", NULL, offsetof(User, slice), SD_BUS_VTABLE_PROPERTY_CONST), -- SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_CONST), -+ SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("State", "s", property_get_state, 0, 0), - SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), -diff --git src/login/logind-user.c src/login/logind-user.c -index 5fffa65..fdbccb3 100644 ---- src/login/logind-user.c -+++ src/login/logind-user.c -@@ -713,6 +713,43 @@ int user_kill(User *u, int signo) { - return manager_kill_unit(u->manager, u->slice, KILL_ALL, signo, NULL); - } - -+void user_elect_display(User *u) { -+ Session *graphical = NULL, *text = NULL, *s; -+ -+ assert(u); -+ -+ /* This elects a primary session for each user, which we call -+ * the "display". We try to keep the assignment stable, but we -+ * "upgrade" to better choices. */ -+ -+ LIST_FOREACH(sessions_by_user, s, u->sessions) { -+ -+ if (s->class != SESSION_USER) -+ continue; -+ -+ if (s->stopping) -+ continue; -+ -+ if (SESSION_TYPE_IS_GRAPHICAL(s->type)) -+ graphical = s; -+ else -+ text = s; -+ } -+ -+ if (graphical && -+ (!u->display || -+ u->display->class != SESSION_USER || -+ u->display->stopping || -+ !SESSION_TYPE_IS_GRAPHICAL(u->display->type))) -+ u->display = graphical; -+ -+ if (text && -+ (!u->display || -+ u->display->class != SESSION_USER || -+ u->display->stopping)) -+ u->display = text; -+} -+ - static const char* const user_state_table[_USER_STATE_MAX] = { - [USER_OFFLINE] = "offline", - [USER_OPENING] = "opening", -diff --git src/login/logind-user.h src/login/logind-user.h -index f237d2a..4e0568f 100644 ---- src/login/logind-user.h -+++ src/login/logind-user.h -@@ -80,6 +80,7 @@ int user_save(User *u); - int user_load(User *u); - int user_kill(User *u, int signo); - int user_check_linger_file(User *u); -+void user_elect_display(User *u); - - extern const sd_bus_vtable user_vtable[]; - int user_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error); --- -1.7.9.2 - diff --git a/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch b/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch deleted file mode 100644 index ee54ea31..00000000 --- a/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 332bc31992acffc6f32e194c0122e01607bd0e27 Mon Sep 17 00:00:00 2001 -From: Alison Chaiken -Date: Fri, 16 May 2014 09:25:53 +0200 -Subject: [PATCH] man: readahead: fix cmdline switch inconsistency between - readahead.c and docs - -Source code has "files-max" and XML has --max-files. ---- - man/systemd-readahead-replay.service.xml | 2 +- - src/readahead/readahead.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd-readahead-replay.service.xml man/systemd-readahead-replay.service.xml -index 67b41f5..669fe78 100644 ---- man/systemd-readahead-replay.service.xml -+++ man/systemd-readahead-replay.service.xml -@@ -117,7 +117,7 @@ - - - -- -+ - - Maximum number of - files to read ahead. Only valid -diff --git src/readahead/readahead.c src/readahead/readahead.c -index d6729ec..73cf538 100644 ---- src/readahead/readahead.c -+++ src/readahead/readahead.c -@@ -42,7 +42,7 @@ static int help(void) { - "Collect read-ahead data on early boot.\n\n" - " -h --help Show this help\n" - " --version Show package version\n" -- " --max-files=INT Maximum number of files to read ahead\n" -+ " --files-max=INT Maximum number of files to read ahead\n" - " --file-size-max=BYTES Maximum size of files to read ahead\n" - " --timeout=USEC Maximum time to spend collecting data\n\n\n", - program_invocation_short_name); --- -1.7.9.2 - diff --git a/0007-networkd-fix-typo.patch b/0007-networkd-fix-typo.patch deleted file mode 100644 index 8bd67322..00000000 --- a/0007-networkd-fix-typo.patch +++ /dev/null @@ -1,26 +0,0 @@ -From eed0eee85ac34abd81cd9e81fdb6a19f47b6c8a3 Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Fri, 14 Mar 2014 18:19:29 +0100 -Subject: [PATCH] networkd: fix typo - -It's HAVE_SPLIT_USR not HAVE_SPLIT_USER ---- - src/network/networkd-manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/network/networkd-manager.c src/network/networkd-manager.c -index c730e71..ea414b1 100644 ---- src/network/networkd-manager.c -+++ src/network/networkd-manager.c -@@ -33,7 +33,7 @@ const char* const network_dirs[] = { - "/etc/systemd/network", - "/run/systemd/network", - "/usr/lib/systemd/network", --#ifdef HAVE_SPLIT_USER -+#ifdef HAVE_SPLIT_USR - "/lib/systemd/network", - #endif - NULL}; --- -1.7.9.2 - diff --git a/0007-po-add-German-translation.patch b/0007-po-add-German-translation.patch deleted file mode 100644 index d653c8ff..00000000 --- a/0007-po-add-German-translation.patch +++ /dev/null @@ -1,448 +0,0 @@ -From 351e57652a7d9a51f9064c089794d13801eaee73 Mon Sep 17 00:00:00 2001 -From: Benjamin Steinwender -Date: Sun, 8 Jun 2014 18:39:50 +0200 -Subject: [PATCH] po: add German translation - -https://bugs.freedesktop.org/show_bug.cgi?id=79430 ---- - po/LINGUAS | 1 + - po/de.po | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 419 insertions(+) - create mode 100644 po/de.po - -diff --git po/LINGUAS po/LINGUAS -index 820ca82..2cb0f30 100644 ---- po/LINGUAS -+++ po/LINGUAS -@@ -1,3 +1,4 @@ -+de - el - fr - it -diff --git po/de.po po/de.po -new file mode 100644 -index 0000000..a41e33d ---- /dev/null -+++ po/de.po -@@ -0,0 +1,418 @@ -+# German translation for systemd. -+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER -+# This file is distributed under the same license as the systemd package. -+# Christian Kirbach , 2014. -+# Benjamin Steinwender , 2014. -+# -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd master\n" -+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?" -+"product=systemd&keywords=I18N+L10N&component=general\n" -+"POT-Creation-Date: 2014-06-02 10:25+0000\n" -+"PO-Revision-Date: 2014-06-02 22:43+0100\n" -+"Last-Translator: Benjamin Steinwender \n" -+"Language-Team: German \n" -+"Language: de\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Poedit 1.6.5\n" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Set host name" -+msgstr "Rechnername festlegen" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Legitimierung ist zum Festlegen des lokalen Rechnernamens notwendig" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 -+msgid "Set static host name" -+msgstr "Statischen Rechnernamen festlegen" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Authentifizierung ist erforderlich, um den statisch geänderten, lokalen " -+"Rechnernamen, sowie den beschönigten Rechnernamen festzulegen." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Maschinen-Information festlegen" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Authentication is required to set local machine information." -+msgstr "" -+"Legitimierung ist zum Festlegen der lokalen Maschinen-Information " -+"erforderlich." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 -+msgid "Set system locale" -+msgstr "Die lokale Sprachumgebung festlegen" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "" -+"Legitimierung ist zum Festlegen der systemweiten Spracheinstellungen " -+"erforderlich." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Tastatureinstellungen des Systems festlegen" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "" -+"Legitimierung ist zum Festlegen der Tastatureinstellungen des Systems " -+"erforderlich." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow applications to inhibit system shutdown" -+msgstr "Anwendungen dürfen das Herunterfahren des Systems unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:2 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"shutdown." -+msgstr "" -+"Legitimierung ist notwendig, um Anwendungen das Herunterfahren des Systems " -+"zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:3 -+msgid "Allow applications to delay system shutdown" -+msgstr "Anwendungen dürfen das Herunterfahren des Systems verzögern" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:4 -+msgid "" -+"Authentication is required to allow an application to delay system shutdown." -+msgstr "" -+"Legitimierung ist notwendig, um Anwendungen das Verzögern des Herunterfahren " -+"des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:5 -+msgid "Allow applications to inhibit system sleep" -+msgstr "Anwendungen dürfen den Bereitschaftsmodus unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow an application to inhibit system sleep." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden des " -+"Bereitschaftsmodus zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:7 -+msgid "Allow applications to delay system sleep" -+msgstr "Anwendungen dürfen den Bereitschaftsmodus verzögern" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow an application to delay system sleep." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Verzögern des " -+"Bereitschaftsmodus zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:9 -+msgid "Allow applications to inhibit automatic system suspend" -+msgstr "Anwendungen dürfen den automatischen Bereitschaftsmodus unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:10 -+msgid "" -+"Authentication is required to allow an application to inhibit automatic " -+"system suspend." -+msgstr "" -+"Legitimierung ist notwendig, um Anwendungen das Unterbinden des " -+"automatischen Bereitschaftsmodus zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:11 -+msgid "Allow applications to inhibit system handling of the power key" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Ein-/Ausschaltknopfs des Systems " -+"unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:12 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the power key." -+msgstr "" -+"Legitmierung ist erforderlich, um Anwendungen das Unterbinden der Auswertung " -+"der Ein-/Ausschaltknopfs des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:13 -+msgid "Allow applications to inhibit system handling of the suspend key" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Bereitschaftsknopfs des Systems " -+"unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:14 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the suspend key." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " -+"Auswertung des Bereitschaftsknopfes des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:15 -+msgid "Allow applications to inhibit system handling of the hibernate key" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Knopfs für den Ruhezustand unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:16 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the hibernate key." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " -+"Auswertung des Knopfs für den Ruhezustand zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:17 -+msgid "Allow applications to inhibit system handling of the lid switch" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Notebookdeckelschalters unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:18 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the lid switch." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " -+"Auswertung des Notebookdeckelschalters des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:19 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Nicht angemeldete Benutzer dürfen Programme ausführen" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:20 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs." -+msgstr "" -+"Legitimierung ist erforderlich, damit nicht angemeldete Benutzer Programme " -+"ausführen dürfen." -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:21 -+msgid "Allow attaching devices to seats" -+msgstr "Das Anschließen von Geräten an Arbeitsstationen erlauben" -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:22 -+msgid "Authentication is required for attaching a device to a seat." -+msgstr "" -+"Legitimierung ist zum Anschließen eines Geräts an eine Arbeitsstation " -+"notwendig." -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:23 -+msgid "Flush device to seat attachments" -+msgstr "Zurücksetzen der an eine Arbeitsstation angeschlossenen Geräte" -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:24 -+msgid "" -+"Authentication is required for resetting how devices are attached to seats." -+msgstr "" -+"Legitimierung ist zum Zurücksetzen notwendig, wie Geräte an eine " -+"Arbeitsstation angeschlossen werden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:25 -+msgid "Power off the system" -+msgstr "Das System ausschalten" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:26 -+msgid "Authentication is required for powering off the system." -+msgstr "Legitimierung ist zum Ausschalten des Systems notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:27 -+msgid "Power off the system while other users are logged in" -+msgstr "Das System herunter fahren, während andere Benutzer angemeldet sind" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:28 -+msgid "" -+"Authentication is required for powering off the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Herunterfahren des Systems notwendig, während andere " -+"Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:29 -+msgid "Power off the system while an application asked to inhibit it" -+msgstr "" -+"Das System ausschalten, während eine Anwendung anfordert es zu unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:30 -+msgid "" -+"Authentication is required for powering off the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Ausschalten des Systems notwendig, während eine " -+"Anwendung anfordert es zu unterbinden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:31 -+msgid "Reboot the system" -+msgstr "Das System neu starten" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:32 -+msgid "Authentication is required for rebooting the system." -+msgstr "Legitimierung ist zum Neustart des Systems notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:33 -+msgid "Reboot the system while other users are logged in" -+msgstr "Das Systems neu starten, während andere Benutzer angemeldet sind" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:34 -+msgid "" -+"Authentication is required for rebooting the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Neustart des Systems notwendig, während andere " -+"Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:35 -+msgid "Reboot the system while an application asked to inhibit it" -+msgstr "" -+"Das System neu starten, während eine Anwendung anfordert es zu unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:36 -+msgid "" -+"Authentication is required for rebooting the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Neustart des Systems notwendig, während eine Anwendung " -+"anforderte es zu unterbinden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:37 -+msgid "Suspend the system" -+msgstr "Das System in Bereitschaft versetzen" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:38 -+msgid "Authentication is required for suspending the system." -+msgstr "Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:39 -+msgid "Suspend the system while other users are logged in" -+msgstr "" -+"Das System in Bereitschaft versetzen, während andere Benutzer angemeldet " -+"sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:40 -+msgid "" -+"Authentication is required for suspending the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " -+"während andere Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:41 -+msgid "Suspend the system while an application asked to inhibit it" -+msgstr "" -+"Das System in Bereitschaft versetzen, während eine Anwendung anfordert dies " -+"zu unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:42 -+msgid "" -+"Authentication is required for suspending the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " -+"während eine Anwendung anfordert dies zu unterbinden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:43 -+msgid "Hibernate the system" -+msgstr "Den Ruhezustand des Systems aktivieren" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:44 -+msgid "Authentication is required for hibernating the system." -+msgstr "" -+"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:45 -+msgid "Hibernate the system while other users are logged in" -+msgstr "" -+"Den Ruhezustand des Systems aktivieren, während andere Benutzer angemeldet " -+"sind" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:46 -+msgid "" -+"Authentication is required for hibernating the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig, " -+"während andere Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:47 -+msgid "Hibernate the system while an application asked to inhibit it" -+msgstr "" -+"Das System in den Ruhezustand versetzen, während eine Anwendung wünscht dies " -+"zu verhindern" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:48 -+msgid "" -+"Authentication is required for hibernating the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Versetzen des System in den Ruhezustand notwendig, " -+"während eine Anwendung wünscht dies zu verhindern." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 -+msgid "Set system time" -+msgstr "Die Systemzeit festlegen" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 -+msgid "Authentication is required to set the system time." -+msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Set system timezone" -+msgstr "Die Systemzeitzone festlegen" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Legitimierung ist zum Festlegen der Systemzeitzone notwendig." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Echtzeituhr auf lokale Zeitzone oder UTC setzen" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "" -+"Legitimierung ist notwendig zum Festlegen, ob die Echtzeituhr auf lokale " -+"Zeitzone oder UTC eingestellt ist." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Turn network time synchronization on or off" -+msgstr "Netzwerkzeitabgeich ein- oder ausschalten" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein " -+"soll, erforderlich." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 -+msgid "Send passphrase back to system" -+msgstr "Passphrase zurück an das System senden" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 -+msgid "" -+"Authentication is required to send the entered passphrase back to the system." -+msgstr "" -+"Legitimierung ist zum Senden des eingegebenen Kennworts zurück an das System " -+"notwendig." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 -+msgid "Privileged system and service manager access" -+msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 -+msgid "Authentication is required to access the system and service manager." -+msgstr "" -+"Legitimierung ist notwendig für den Zugriff auf die System- und " -+"Dienstverwaltung." --- -1.7.9.2 - diff --git a/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch b/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch deleted file mode 100644 index ee4c169a..00000000 --- a/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 75145780813957ecbe6835f2c8bc20113a3605d2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 25 Mar 2014 00:01:51 +0100 -Subject: [PATCH] sd-event: don't accidentally turn of watchdog timer event if - we determine 0 - ---- - src/libsystemd/sd-event/sd-event.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index d6a3d1c..4aabec1 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -2087,6 +2087,11 @@ static int arm_watchdog(sd_event *e) { - - timespec_store(&its.it_value, t); - -+ /* Make sure we never set the watchdog to 0, which tells the -+ * kernel to disable it. */ -+ if (its.it_value.tv_sec == 0 && its.it_value.tv_nsec == 0) -+ its.it_value.tv_nsec = 1; -+ - r = timerfd_settime(e->watchdog_fd, TFD_TIMER_ABSTIME, &its, NULL); - if (r < 0) - return -errno; --- -1.7.9.2 - diff --git a/0007-service-flush-status-text-and-errno-values-each-time.patch b/0007-service-flush-status-text-and-errno-values-each-time.patch deleted file mode 100644 index 7dbe5a89..00000000 --- a/0007-service-flush-status-text-and-errno-values-each-time.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8cfdb077b8e3da1c47fc1d735d051f21f33144c1 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 17:33:46 +0200 -Subject: [PATCH] service: flush status text and errno values each time a - service is started - -We shouldn't show status texts from previous service starts ---- - src/core/service.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git src/core/service.c src/core/service.c -index d5aff99..0f542ed 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -1699,6 +1699,10 @@ static int service_start(Unit *u) { - s->main_pid_alien = false; - s->forbid_restart = false; - -+ free(s->status_text); -+ s->status_text = NULL; -+ s->status_errno = 0; -+ - service_enter_start_pre(s); - return 0; - } --- -1.7.9.2 - diff --git a/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch b/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch deleted file mode 100644 index a161a1c4..00000000 --- a/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e95c98378ac2d34df864de4a9b785fd17defb77b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 25 Oct 2014 15:15:28 -0400 -Subject: [PATCH] systemctl: do not ignore errors in symlink removal - -On an ro fs, systemctl disable ... would fail silently. ---- - src/shared/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/install.c src/shared/install.c -index 0d7c30e..035b44c 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -1679,7 +1679,7 @@ int unit_file_disable( - r = install_context_mark_for_removal(&c, &paths, &remove_symlinks_to, config_path, root_dir); - - q = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes, files); -- if (r == 0) -+ if (r >= 0) - r = q; - - return r; --- -1.7.9.2 - diff --git a/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch b/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch deleted file mode 100644 index a1046c39..00000000 --- a/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8ebf02d6f382ce1ac7e0d44a713b8795a07b08cd Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 30 Jun 2014 21:44:05 +0200 -Subject: [PATCH] units: skip mounting /tmp if it is a symlink - -We shouldn't get confused if people have symlinked /tmp somewhere, so -let's simply skip the mount then. ---- - units/tmp.mount | 1 + - 1 file changed, 1 insertion(+) - -diff --git units/tmp.mount units/tmp.mount -index 99a3ba3..00a0d28 100644 ---- units/tmp.mount -+++ units/tmp.mount -@@ -9,6 +9,7 @@ - Description=Temporary Directory - Documentation=man:hier(7) - Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems -+ConditionPathIsSymbolicLink=!/tmp - DefaultDependencies=no - Conflicts=umount.target - Before=local-fs.target umount.target --- -1.7.9.2 - diff --git a/0008-Reset-signal-mask-on-re-exec-to-init.patch b/0008-Reset-signal-mask-on-re-exec-to-init.patch deleted file mode 100644 index 9fe7d1ea..00000000 --- a/0008-Reset-signal-mask-on-re-exec-to-init.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 5a85ca1cb622fda4a39c8a6f00dccea7f8a1e82a Mon Sep 17 00:00:00 2001 -From: Ruediger Oertel -Date: Fri, 13 Jun 2014 16:41:06 +0200 -Subject: [PATCH] Reset signal-mask on re-exec to init=.. - -Process 1 (aka init) needs to be started with an empty signal mask. -That includes the process 1 that's started after the initrd is finished. -When the initrd is using systemd (as it does with dracut based initrds) -then it is systemd that calls the real init. Normally this is systemd -again, except when the user uses for instance "init=/bin/bash" on the -kernel command line. ---- - src/core/main.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git src/core/main.c src/core/main.c -index 3aac5d1..3e57f07 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1843,6 +1843,7 @@ finish: - if (reexecute) { - const char **args; - unsigned i, args_size; -+ sigset_t ss, o_ss; - - /* Close and disarm the watchdog, so that the new - * instance can reinitialize it, but doesn't get -@@ -1926,6 +1927,11 @@ finish: - args[i++] = NULL; - assert(i <= args_size); - -+ /* reenable any blocked signals, especially important -+ * if we switch from initial ramdisk to init=... */ -+ sigemptyset(&ss); -+ sigprocmask(SIG_SETMASK, &ss, &o_ss); -+ - if (switch_root_init) { - args[0] = switch_root_init; - execv(args[0], (char* const*) args); -@@ -1944,6 +1950,8 @@ finish: - log_error("Failed to execute /bin/sh, giving up: %m"); - } else - log_warning("Failed to execute /sbin/init, giving up: %m"); -+ -+ sigprocmask(SIG_SETMASK, &o_ss, NULL); - } - - if (arg_serialization) { --- -1.7.9.2 - diff --git a/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch b/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch deleted file mode 100644 index 25994e95..00000000 --- a/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 1ae383a8a3ae4824453e297352fda603d2d3fd5e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 25 Feb 2014 21:26:31 -0500 -Subject: [PATCH] Use /var/run/dbus/system_bus_socket for the D-Bus socket - ---- - man/systemd-bus-proxyd@.service.xml | 2 +- - src/shared/def.h | 2 +- - units/systemd-bus-proxyd.socket | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git man/systemd-bus-proxyd@.service.xml man/systemd-bus-proxyd@.service.xml -index 75a3c8b..3a5930d 100644 ---- man/systemd-bus-proxyd@.service.xml -+++ man/systemd-bus-proxyd@.service.xml -@@ -59,7 +59,7 @@ along with systemd; If not, see . - systemd-bus-proxyd.socket will launch - systemd-bus-proxyd@.service for connections - to the classic D-Bus socket in -- /run/dbus/system_bus_socket. -+ /var/run/dbus/system_bus_socket. - - systemd-bus-proxyd@.service is launched - for an existing D-Bus connection and will use -diff --git src/shared/def.h src/shared/def.h -index 7777756..aa489d8 100644 ---- src/shared/def.h -+++ src/shared/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS -diff --git units/systemd-bus-proxyd.socket units/systemd-bus-proxyd.socket -index 406e15b..6c42d38 100644 ---- units/systemd-bus-proxyd.socket -+++ units/systemd-bus-proxyd.socket -@@ -9,5 +9,5 @@ - Description=Legacy D-Bus Protocol Compatibility Socket - - [Socket] --ListenStream=/run/dbus/system_bus_socket -+ListenStream=/var/run/dbus/system_bus_socket - Accept=yes --- -1.7.9.2 - diff --git a/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch b/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch deleted file mode 100644 index 8dfd01bc..00000000 --- a/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch +++ /dev/null @@ -1,102 +0,0 @@ -From bd44e61b0480712ec5585ff7b0295362a5f9dd36 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 6 Mar 2014 02:19:42 +0100 -Subject: [PATCH] core: correctly unregister PIDs from PID hashtables - ---- - src/core/unit.c | 42 ++++++++++++++++++------------------------ - 1 file changed, 18 insertions(+), 24 deletions(-) - -diff --git src/core/unit.c src/core/unit.c -index 2437ee3..85250ca 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1704,11 +1704,11 @@ int unit_watch_pid(Unit *u, pid_t pid) { - /* Watch a specific PID. We only support one or two units - * watching each PID for now, not more. */ - -- r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); -+ r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); - if (r < 0) - return r; - -- r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); -+ r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); - if (r < 0) - return r; - -@@ -1737,7 +1737,17 @@ void unit_unwatch_pid(Unit *u, pid_t pid) { - set_remove(u->pids, LONG_TO_PTR(pid)); - } - --static int watch_pids_in_path(Unit *u, const char *path) { -+void unit_unwatch_all_pids(Unit *u) { -+ assert(u); -+ -+ while (!set_isempty(u->pids)) -+ unit_unwatch_pid(u, PTR_TO_LONG(set_first(u->pids))); -+ -+ set_free(u->pids); -+ u->pids = NULL; -+} -+ -+static int unit_watch_pids_in_path(Unit *u, const char *path) { - _cleanup_closedir_ DIR *d = NULL; - _cleanup_fclose_ FILE *f = NULL; - int ret = 0, r; -@@ -1775,7 +1785,7 @@ static int watch_pids_in_path(Unit *u, const char *path) { - if (!p) - return -ENOMEM; - -- r = watch_pids_in_path(u, p); -+ r = unit_watch_pids_in_path(u, p); - if (r < 0 && ret >= 0) - ret = r; - } -@@ -1788,31 +1798,15 @@ static int watch_pids_in_path(Unit *u, const char *path) { - return ret; - } - -- - int unit_watch_all_pids(Unit *u) { - assert(u); - -- if (!u->cgroup_path) -- return -ENOENT; -- - /* Adds all PIDs from our cgroup to the set of PIDs we watch */ - -- return watch_pids_in_path(u, u->cgroup_path); --} -- --void unit_unwatch_all_pids(Unit *u) { -- Iterator i; -- void *e; -- -- assert(u); -- -- SET_FOREACH(e, u->pids, i) { -- hashmap_remove_value(u->manager->watch_pids1, e, u); -- hashmap_remove_value(u->manager->watch_pids2, e, u); -- } -+ if (!u->cgroup_path) -+ return -ENOENT; - -- set_free(u->pids); -- u->pids = NULL; -+ return unit_watch_pids_in_path(u, u->cgroup_path); - } - - void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { -@@ -1830,7 +1824,7 @@ void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { - continue; - - if (!pid_is_unwaited(pid)) -- set_remove(u->pids, e); -+ unit_unwatch_pid(u, pid); - } - } - --- -1.7.9.2 - diff --git a/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch b/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch deleted file mode 100644 index 1cc429ce..00000000 --- a/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b9289d4c6e13ec5fb67bfce69c826d93b004da6a Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Fri, 12 Sep 2014 16:49:48 +0300 -Subject: [PATCH] core: smack-setup: Actually allow for succesfully loading - CIPSO policy - -The line under the last switch statement *loaded_policy = true; -would never be executed. As all switch cases return 0. Thus the -policy would never be marked as loaded. - -Found with Coverity. Fixes: CID#1237785 ---- - src/core/smack-setup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/smack-setup.c src/core/smack-setup.c -index 5f6dabf..5d8a26c 100644 ---- src/core/smack-setup.c -+++ src/core/smack-setup.c -@@ -158,7 +158,7 @@ int smack_setup(bool *loaded_policy) { - return 0; - case 0: - log_info("Successfully loaded Smack/CIPSO policies."); -- return 0; -+ break; - default: - log_warning("Failed to load Smack/CIPSO access rules: %s, ignoring.", - strerror(abs(r))); --- -1.7.9.2 - diff --git a/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 9c554056..00000000 --- a/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,104 +0,0 @@ -From de68938a2cb3ab535ebd9198723a651753c1a1df Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Mon, 8 Sep 2014 05:06:18 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 77 ++++++++++++++++++++++++++++++++- - 1 file changed, 76 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 9f3136a..14aee74 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -184,7 +184,7 @@ bluetooth:v003B* - ID_VENDOR_FROM_DATABASE=Gennum Corporation - - bluetooth:v003C* -- ID_VENDOR_FROM_DATABASE=Research In Motion -+ ID_VENDOR_FROM_DATABASE=BlackBerry Limited (formerly Research In Motion) - - bluetooth:v003D* - ID_VENDOR_FROM_DATABASE=IPextreme, Inc. -@@ -1073,3 +1073,78 @@ bluetooth:v0162* - - bluetooth:v0163* - ID_VENDOR_FROM_DATABASE=PCH International -+ -+bluetooth:v0164* -+ ID_VENDOR_FROM_DATABASE=Qingdao Yeelink Information Technology Co., Ltd. -+ -+bluetooth:v0165* -+ ID_VENDOR_FROM_DATABASE=Milwaukee Tool (formerly Milwaukee Electric Tools) -+ -+bluetooth:v0166* -+ ID_VENDOR_FROM_DATABASE=MISHIK Pte Ltd -+ -+bluetooth:v0167* -+ ID_VENDOR_FROM_DATABASE=Bayer HealthCare -+ -+bluetooth:v0168* -+ ID_VENDOR_FROM_DATABASE=Spicebox LLC -+ -+bluetooth:v0169* -+ ID_VENDOR_FROM_DATABASE=emberlight -+ -+bluetooth:v016A* -+ ID_VENDOR_FROM_DATABASE=Cooper-Atkins Corporation -+ -+bluetooth:v016B* -+ ID_VENDOR_FROM_DATABASE=Qblinks -+ -+bluetooth:v016C* -+ ID_VENDOR_FROM_DATABASE=MYSPHERA -+ -+bluetooth:v016D* -+ ID_VENDOR_FROM_DATABASE=LifeScan Inc -+ -+bluetooth:v016E* -+ ID_VENDOR_FROM_DATABASE=Volantic AB -+ -+bluetooth:v016F* -+ ID_VENDOR_FROM_DATABASE=Podo Labs, Inc -+ -+bluetooth:v0170* -+ ID_VENDOR_FROM_DATABASE=Roche Diabetes Care AG -+ -+bluetooth:v0171* -+ ID_VENDOR_FROM_DATABASE=Amazon Fulfillment Service -+ -+bluetooth:v0172* -+ ID_VENDOR_FROM_DATABASE=Connovate Technology Private Limited -+ -+bluetooth:v0173* -+ ID_VENDOR_FROM_DATABASE=Kocomojo, LLC -+ -+bluetooth:v0174* -+ ID_VENDOR_FROM_DATABASE=Everykey LLC -+ -+bluetooth:v0175* -+ ID_VENDOR_FROM_DATABASE=Dynamic Controls -+ -+bluetooth:v0176* -+ ID_VENDOR_FROM_DATABASE=SentriLock -+ -+bluetooth:v0177* -+ ID_VENDOR_FROM_DATABASE=I-SYST inc. -+ -+bluetooth:v0178* -+ ID_VENDOR_FROM_DATABASE=CASIO COMPUTER CO., LTD. -+ -+bluetooth:v0179* -+ ID_VENDOR_FROM_DATABASE=LAPIS Semiconductor Co., Ltd. -+ -+bluetooth:v017A* -+ ID_VENDOR_FROM_DATABASE=Telemonitor, Inc. -+ -+bluetooth:v017B* -+ ID_VENDOR_FROM_DATABASE=taskit GmbH -+ -+bluetooth:v017C* -+ ID_VENDOR_FROM_DATABASE=Daimler AG --- -1.7.9.2 - diff --git a/0008-hwdb-update.patch b/0008-hwdb-update.patch deleted file mode 100644 index 062b229b..00000000 --- a/0008-hwdb-update.patch +++ /dev/null @@ -1,1425 +0,0 @@ -From cccc74971fe3c853832d742a15eac94f365603b6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 20 Aug 2014 00:38:39 +0200 -Subject: [PATCH] update hwdb - ---- - hwdb/20-OUI.hwdb | 177 +++++++++++- - hwdb/20-pci-vendor-model.hwdb | 592 ++++++++++++++++++++++++++++++++++++++++- - hwdb/20-usb-vendor-model.hwdb | 12 + - 3 files changed, 776 insertions(+), 5 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index f9501be..e0c5fed 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -21371,7 +21371,7 @@ OUI:000A2F* - ID_OUI_FROM_DATABASE=Artnix Inc. - - OUI:000A30* -- ID_OUI_FROM_DATABASE=Johnson Controls-ASG -+ ID_OUI_FROM_DATABASE=Visteon Corporation - - OUI:000A31* - ID_OUI_FROM_DATABASE=HCV Consulting -@@ -51601,6 +51601,9 @@ OUI:00E666* - OUI:00E6D3* - ID_OUI_FROM_DATABASE=NIXDORF COMPUTER CORP. - -+OUI:00E6E8* -+ ID_OUI_FROM_DATABASE=Netzin Technology Corporation,.Ltd. -+ - OUI:00E8AB* - ID_OUI_FROM_DATABASE=Meggitt Training Systems, Inc. - -@@ -51616,6 +51619,9 @@ OUI:00F051* - OUI:00F403* - ID_OUI_FROM_DATABASE=Orbis Systems Oy - -+OUI:00F46F* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:00F4B9* - ID_OUI_FROM_DATABASE=Apple - -@@ -51856,6 +51862,9 @@ OUI:0498F3* - OUI:0499E6* - ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd - -+OUI:049B9C* -+ ID_OUI_FROM_DATABASE=Eadingcore Intelligent Technology Co., Ltd. -+ - OUI:049C62* - ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. - -@@ -52720,6 +52729,9 @@ OUI:08E84F* - OUI:08EA44* - ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. - -+OUI:08EB29* -+ ID_OUI_FROM_DATABASE=Jiangsu Huitong Group Co.,Ltd. -+ - OUI:08EB74* - ID_OUI_FROM_DATABASE=Humax - -@@ -52729,6 +52741,9 @@ OUI:08EBED* - OUI:08EDB9* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:08EE8B* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:08EF3B* - ID_OUI_FROM_DATABASE=MCS Logic Inc. - -@@ -52969,6 +52984,9 @@ OUI:0CAC05* - OUI:0CAF5A* - ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED - -+OUI:0CB319* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:0CB4EF* - ID_OUI_FROM_DATABASE=Digience Co.,Ltd. - -@@ -53036,7 +53054,7 @@ OUI:0CD996* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:0CD9C1* -- ID_OUI_FROM_DATABASE=Johnson Controls-ASG -+ ID_OUI_FROM_DATABASE=Visteon Corporation - - OUI:0CDA41* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -@@ -53434,6 +53452,9 @@ OUI:10F96F* - OUI:10F9EE* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:10FACE* -+ ID_OUI_FROM_DATABASE=Reacheng Communication Technology Co.,Ltd -+ - OUI:10FBF0* - ID_OUI_FROM_DATABASE=KangSheng LTD. - -@@ -55417,6 +55438,9 @@ OUI:2C441B* - OUI:2C44FD* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:2C5089* -+ ID_OUI_FROM_DATABASE=Shenzhen Kaixuan Visual Technology Co.,Limited -+ - OUI:2C534A* - ID_OUI_FROM_DATABASE=Shenzhen Winyao Electronic Limited - -@@ -55774,6 +55798,9 @@ OUI:306E5C* - OUI:3071B2* - ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. - -+OUI:307350* -+ ID_OUI_FROM_DATABASE=Inpeco SA -+ - OUI:307512* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -@@ -55972,6 +55999,9 @@ OUI:343111* - OUI:3431C4* - ID_OUI_FROM_DATABASE=AVM GmbH - -+OUI:3438AF* -+ ID_OUI_FROM_DATABASE=Inlab Software GmbH -+ - OUI:3440B5* - ID_OUI_FROM_DATABASE=IBM - -@@ -56323,12 +56353,18 @@ OUI:3826CD* - OUI:3828EA* - ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD - -+OUI:382C4A* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:382DD1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - - OUI:3831AC* - ID_OUI_FROM_DATABASE=WEG - -+OUI:383BC8* -+ ID_OUI_FROM_DATABASE=2wire -+ - OUI:383F10* - ID_OUI_FROM_DATABASE=DBL Technology Ltd. - -@@ -56416,6 +56452,9 @@ OUI:388EE7* - OUI:3891FB* - ID_OUI_FROM_DATABASE=Xenox Holding BV - -+OUI:389496* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:389592* - ID_OUI_FROM_DATABASE=Beijing Tendyron Corporation - -@@ -56605,6 +56644,9 @@ OUI:3C1A79* - OUI:3C1CBE* - ID_OUI_FROM_DATABASE=JADAK LLC - -+OUI:3C1E13* -+ ID_OUI_FROM_DATABASE=HANGZHOU SUNRISE TECHNOLOGY CO., LTD -+ - OUI:3C25D7* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -57343,6 +57385,9 @@ OUI:446C24* - OUI:446D57* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -+OUI:446D6C* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:44700B* - ID_OUI_FROM_DATABASE=IFFU - -@@ -57778,6 +57823,9 @@ OUI:4C09B4* - OUI:4C0B3A* - ID_OUI_FROM_DATABASE=TCT Mobile Limited - -+OUI:4C0BBE* -+ ID_OUI_FROM_DATABASE=Microsoft -+ - OUI:4C0DEE* - ID_OUI_FROM_DATABASE=JABIL CIRCUIT (SHANGHAI) LTD. - -@@ -58372,6 +58420,9 @@ OUI:50ED94* - OUI:50F003* - ID_OUI_FROM_DATABASE=Open Stack, Inc. - -+OUI:50F43C* -+ ID_OUI_FROM_DATABASE=Leeo Inc -+ - OUI:50F520* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -58405,6 +58456,9 @@ OUI:540536* - OUI:54055F* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:54098D* -+ ID_OUI_FROM_DATABASE=deister electronic GmbH -+ - OUI:54112F* - ID_OUI_FROM_DATABASE=Sulzer Pump Solutions Finland Oy - -@@ -59137,6 +59191,9 @@ OUI:5C93A2* - OUI:5C95AE* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C966A* -+ ID_OUI_FROM_DATABASE=RTNET -+ - OUI:5C969D* - ID_OUI_FROM_DATABASE=Apple - -@@ -59905,6 +59962,9 @@ OUI:64AE0C* - OUI:64AE88* - ID_OUI_FROM_DATABASE=Polytec GmbH - -+OUI:64B21D* -+ ID_OUI_FROM_DATABASE=Chengdu Phycom Tech Co., Ltd. -+ - OUI:64B310* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -59917,6 +59977,9 @@ OUI:64B473* - OUI:64B64A* - ID_OUI_FROM_DATABASE=ViVOtech, Inc. - -+OUI:64B853* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:64B9E8* - ID_OUI_FROM_DATABASE=Apple - -@@ -60208,6 +60271,9 @@ OUI:68974B* - OUI:6897E8* - ID_OUI_FROM_DATABASE=Society of Motion Picture & Television Engineers - -+OUI:6899CD* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:689C5E* - ID_OUI_FROM_DATABASE=AcSiP Technology Corp. - -@@ -60325,6 +60391,9 @@ OUI:68F06D* - OUI:68F125* - ID_OUI_FROM_DATABASE=Data Controls Inc. - -+OUI:68F728* -+ ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd -+ - OUI:68F895* - ID_OUI_FROM_DATABASE=Redflow Limited - -@@ -61081,12 +61150,18 @@ OUI:744D79* - OUI:745327* - ID_OUI_FROM_DATABASE=COMMSEN CO., LIMITED - -+OUI:74547D* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:745612* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - - OUI:745798* - ID_OUI_FROM_DATABASE=TRUMPF Laser GmbH + Co. KG - -+OUI:745C9F* -+ ID_OUI_FROM_DATABASE=TCT mobile ltd. -+ - OUI:745E1C* - ID_OUI_FROM_DATABASE=PIONEER CORPORATION - -@@ -62446,6 +62521,9 @@ OUI:842615* - OUI:84262B* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -+OUI:842690* -+ ID_OUI_FROM_DATABASE=BEIJING THOUGHT SCIENCE CO.,LTD. -+ - OUI:8427CE* - ID_OUI_FROM_DATABASE=Corporation of the Presiding Bishop of The Church of Jesus Christ of Latter-day Saints - -@@ -62506,6 +62584,9 @@ OUI:844F03* - OUI:845181* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:8455A5* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:84569C* - ID_OUI_FROM_DATABASE=Coho Data, Inc., - -@@ -62611,6 +62692,9 @@ OUI:849CA6* - OUI:849DC5* - ID_OUI_FROM_DATABASE=Centera Photonics Inc. - -+OUI:84A466* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:84A6C8* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -62824,6 +62908,9 @@ OUI:886B76* - OUI:88708C* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:8870EF* -+ ID_OUI_FROM_DATABASE=SC Professional Trading Co., Ltd. -+ - OUI:887398* - ID_OUI_FROM_DATABASE=K2E Tekpoint - -@@ -62998,6 +63085,9 @@ OUI:8C006D* - OUI:8C04FF* - ID_OUI_FROM_DATABASE=Technicolor USA Inc. - -+OUI:8C0551* -+ ID_OUI_FROM_DATABASE=Koubachi AG -+ - OUI:8C078C* - ID_OUI_FROM_DATABASE=FLOW DATA INC - -@@ -63181,6 +63271,9 @@ OUI:8C8E76* - OUI:8C90D3* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:8C9109* -+ ID_OUI_FROM_DATABASE=Toyoshima Electric Technoeogy(Suzhou) Co.,Ltd. -+ - OUI:8C9236* - ID_OUI_FROM_DATABASE=Aus.Linx Technology Co., Ltd. - -@@ -64249,6 +64342,9 @@ OUI:98F8C1* - OUI:98F8DB* - ID_OUI_FROM_DATABASE=Marini Impianti Industriali s.r.l. - -+OUI:98FAE3* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:98FB12* - ID_OUI_FROM_DATABASE=Grand Electronics (HK) Ltd - -@@ -64804,6 +64900,9 @@ OUI:A0A130* - OUI:A0A23C* - ID_OUI_FROM_DATABASE=GPMS - -+OUI:A0A3E2* -+ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc -+ - OUI:A0A763* - ID_OUI_FROM_DATABASE=Polytron Vertrieb GmbH - -@@ -64819,6 +64918,9 @@ OUI:A0B100* - OUI:A0B3CC* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A0B4A5* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:A0B5DA* - ID_OUI_FROM_DATABASE=HongKong THTF Co., Ltd - -@@ -65116,6 +65218,9 @@ OUI:A49A58* - OUI:A49B13* - ID_OUI_FROM_DATABASE=Burroughs Payment Systems, Inc. - -+OUI:A49D49* -+ ID_OUI_FROM_DATABASE=Ketra, Inc. -+ - OUI:A49EDB* - ID_OUI_FROM_DATABASE=AutoCrib, Inc. - -@@ -65389,6 +65494,9 @@ OUI:A8776F* - OUI:A87B39* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:A87C01* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:A87E33* - ID_OUI_FROM_DATABASE=Nokia Danmark A/S - -@@ -65479,6 +65587,9 @@ OUI:A8CCC5* - OUI:A8CE90* - ID_OUI_FROM_DATABASE=CVC - -+OUI:A8D0E3* -+ ID_OUI_FROM_DATABASE=Systech Electronics Ltd. -+ - OUI:A8D0E5* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -65488,6 +65599,9 @@ OUI:A8D236* - OUI:A8D3C8* - ID_OUI_FROM_DATABASE=Wachendorff Elektronik GmbH & Co. KG - -+OUI:A8D88A* -+ ID_OUI_FROM_DATABASE=Wyconn -+ - OUI:A8E018* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -65602,6 +65716,9 @@ OUI:AC3613* - OUI:AC3870* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:AC3A7A* -+ ID_OUI_FROM_DATABASE=Roku -+ - OUI:AC3C0B* - ID_OUI_FROM_DATABASE=Apple - -@@ -66049,6 +66166,9 @@ OUI:B09074* - OUI:B09134* - ID_OUI_FROM_DATABASE=Taleo - -+OUI:B09137* -+ ID_OUI_FROM_DATABASE=ISis ImageStream Internet Solutions, Inc -+ - OUI:B0973A* - ID_OUI_FROM_DATABASE=E-Fuel Corporation - -@@ -66271,6 +66391,9 @@ OUI:B435F7* - OUI:B43741* - ID_OUI_FROM_DATABASE=Consert, Inc. - -+OUI:B43934* -+ ID_OUI_FROM_DATABASE=Pen Generations, Inc. -+ - OUI:B439D6* - ID_OUI_FROM_DATABASE=ProCurve Networking by HP - -@@ -66397,6 +66520,9 @@ OUI:B4A4E3* - OUI:B4A5A9* - ID_OUI_FROM_DATABASE=MODI GmbH - -+OUI:B4A828* -+ ID_OUI_FROM_DATABASE=Shenzhen Concox Information Technology Co., Ltd -+ - OUI:B4A82B* - ID_OUI_FROM_DATABASE=Histar Digital Electronics Co., Ltd. - -@@ -67114,6 +67240,9 @@ OUI:BCBAE1* - OUI:BCBBC9* - ID_OUI_FROM_DATABASE=Kellendonk Elektronik GmbH - -+OUI:BCBC46* -+ ID_OUI_FROM_DATABASE=SKS Welding Systems GmbH -+ - OUI:BCC168* - ID_OUI_FROM_DATABASE=DinBox Sverige AB - -@@ -67840,6 +67969,9 @@ OUI:C819F7* - OUI:C81AFE* - ID_OUI_FROM_DATABASE=DLOGIC GmbH - -+OUI:C81B6B* -+ ID_OUI_FROM_DATABASE=Innova Security -+ - OUI:C81E8E* - ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd - -@@ -68530,6 +68662,9 @@ OUI:D01AA7* - OUI:D01CBB* - ID_OUI_FROM_DATABASE=Beijing Ctimes Digital Technology Co., Ltd. - -+OUI:D02212* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:D022BE* - ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. - -@@ -69259,6 +69394,9 @@ OUI:D831CF* - OUI:D8337F* - ID_OUI_FROM_DATABASE=Office FA.com Co.,Ltd. - -+OUI:D83C69* -+ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp -+ - OUI:D842AC* - ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. - -@@ -69349,6 +69487,9 @@ OUI:D88039* - OUI:D881CE* - ID_OUI_FROM_DATABASE=AHN INC. - -+OUI:D88466* -+ ID_OUI_FROM_DATABASE=Extreme Networks -+ - OUI:D88A3B* - ID_OUI_FROM_DATABASE=UNIT-EM - -@@ -69376,6 +69517,9 @@ OUI:D89760* - OUI:D8977C* - ID_OUI_FROM_DATABASE=Grey Innovation - -+OUI:D897BA* -+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION -+ - OUI:D89D67* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -69442,6 +69586,9 @@ OUI:D8C7C8* - OUI:D8C99D* - ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED - -+OUI:D8CB8A* -+ ID_OUI_FROM_DATABASE=Micro-Star INTL CO., LTD. -+ - OUI:D8CF9C* - ID_OUI_FROM_DATABASE=Apple - -@@ -69505,6 +69652,9 @@ OUI:D8EE78* - OUI:D8F0F2* - ID_OUI_FROM_DATABASE=Zeebo Inc - -+OUI:D8F710* -+ ID_OUI_FROM_DATABASE=Libre Wireless Technologies Inc. -+ - OUI:D8FB11* - ID_OUI_FROM_DATABASE=AXACORE - -@@ -69749,7 +69899,7 @@ OUI:DCD87F* - ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd - - OUI:DCDA4F* -- ID_OUI_FROM_DATABASE=GET Technology,INC -+ ID_OUI_FROM_DATABASE=GETCK TECHNOLOGY, INC - - OUI:DCDECA* - ID_OUI_FROM_DATABASE=Akyllor -@@ -69763,6 +69913,9 @@ OUI:DCE578* - OUI:DCE71C* - ID_OUI_FROM_DATABASE=AUG Elektronik GmbH - -+OUI:DCEC06* -+ ID_OUI_FROM_DATABASE=Heimi Network Technology Co., Ltd. -+ - OUI:DCF05D* - ID_OUI_FROM_DATABASE=Letta Teknoloji - -@@ -69856,6 +70009,9 @@ OUI:E039D7* - OUI:E03C5B* - ID_OUI_FROM_DATABASE=SHENZHEN JIAXINJIE ELECTRON CO.,LTD - -+OUI:E03E44* -+ ID_OUI_FROM_DATABASE=Broadcom Corporation -+ - OUI:E03E4A* - ID_OUI_FROM_DATABASE=Cavanagh Group International - -@@ -70378,6 +70534,9 @@ OUI:E4F4C6* - OUI:E4F7A1* - ID_OUI_FROM_DATABASE=Datafox GmbH - -+OUI:E4F8EF* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:E4FA1D* - ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc. - -@@ -70549,6 +70708,9 @@ OUI:E8802E* - OUI:E880D8* - ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. - -+OUI:E887A3* -+ ID_OUI_FROM_DATABASE=Loxley Public Company Limited -+ - OUI:E8892C* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -70627,6 +70789,9 @@ OUI:E8C320* - OUI:E8CBA1* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:E8CC18* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:E8CC32* - ID_OUI_FROM_DATABASE=Micronet LTD - -@@ -71008,6 +71173,9 @@ OUI:F015A0* - OUI:F01C13* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:F01C2D* -+ ID_OUI_FROM_DATABASE=Juniper Networks -+ - OUI:F01FAF* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -71398,6 +71566,9 @@ OUI:F4472A* - OUI:F44848* - ID_OUI_FROM_DATABASE=Amscreen Group Ltd - -+OUI:F44E05* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F44EFD* - ID_OUI_FROM_DATABASE=Actions Semiconductor Co.,Ltd.(Cayman Islands) - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index a6a2754..3bcdbc0 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -10478,6 +10478,9 @@ pci:v00001014d0000034Asv00001014sd000004C8* - pci:v00001014d0000034Asv00001014sd00000C49* - ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) - -+pci:v00001014d0000044B* -+ ID_MODEL_FROM_DATABASE=GenWQE Accelerator Adapter -+ - pci:v00001014d000004AA* - ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) - -@@ -26387,6 +26390,9 @@ pci:v000010DEd00000FE2* - pci:v000010DEd00000FE3* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] - -+pci:v000010DEd00000FE3sv0000103Csd00002B16* -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) -+ - pci:v000010DEd00000FE3sv000017AAsd00003675* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) - -@@ -26420,6 +26426,9 @@ pci:v000010DEd00000FF1* - pci:v000010DEd00000FF2* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K1] - -+pci:v000010DEd00000FF3* -+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K420] -+ - pci:v000010DEd00000FF5* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K1 Tesla USM] - -@@ -26546,6 +26555,9 @@ pci:v000010DEd00001029* - pci:v000010DEd0000103A* - ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] - -+pci:v000010DEd0000103C* -+ ID_MODEL_FROM_DATABASE=GK110GL [Quadro K5200] -+ - pci:v000010DEd00001040* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 520] - -@@ -26981,6 +26993,12 @@ pci:v000010DEd00001140sv00001028sd000005F4* - pci:v000010DEd00001140sv00001028sd0000064E* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -+pci:v000010DEd00001140sv00001028sd00000652* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001028sd00000662* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001028sd0000068D* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -@@ -27239,9 +27257,15 @@ pci:v000010DEd00001140sv0000152Dsd00000982* - pci:v000010DEd00001140sv0000152Dsd00000983* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -+pci:v000010DEd00001140sv0000152Dsd00001005* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 820M) -+ - pci:v000010DEd00001140sv0000152Dsd00001012* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - -+pci:v000010DEd00001140sv0000152Dsd00001019* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv0000152Dsd00001030* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -@@ -27254,6 +27278,9 @@ pci:v000010DEd00001140sv0000152Dsd00001067* - pci:v000010DEd00001140sv0000152Dsd00001072* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv0000152Dsd00001086* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv000017AAsd00002200* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - -@@ -27578,6 +27605,9 @@ pci:v000010DEd000011B0sv000010DEsd0000101B* - pci:v000010DEd000011B1* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] - -+pci:v000010DEd000011B4* -+ ID_MODEL_FROM_DATABASE=GK104GL [Quadro K4200] -+ - pci:v000010DEd000011B6* - ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K3100M] - -@@ -27863,6 +27893,9 @@ pci:v000010DEd00001295sv0000103Csd00002B0F* - pci:v000010DEd00001295sv0000103Csd00002B11* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) - -+pci:v000010DEd00001295sv0000103Csd00002B20* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce 810A) -+ - pci:v000010DEd00001295sv0000103Csd00002B21* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) - -@@ -27887,6 +27920,9 @@ pci:v000010DEd000012BA* - pci:v000010DEd00001340* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] - -+pci:v000010DEd00001340sv0000103Csd00002B2B* -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] (GeForce 830A) -+ - pci:v000010DEd00001341* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] - -@@ -27926,6 +27962,15 @@ pci:v000010DEd00001392* - pci:v000010DEd00001393* - ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] - -+pci:v000010DEd000013B3* -+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro K2200M] -+ -+pci:v000010DEd000013BA* -+ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K2200] -+ -+pci:v000010DEd000013BB* -+ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] -+ - pci:v000010DF* - ID_VENDOR_FROM_DATABASE=Emulex Corporation - -@@ -29291,6 +29336,9 @@ pci:v00001103d00000622* - pci:v00001103d00000640* - ID_MODEL_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller - -+pci:v00001103d00000644* -+ ID_MODEL_FROM_DATABASE=RocketRAID 644 4 Port SATA-III Controller (eSATA) -+ - pci:v00001103d00001720* - ID_MODEL_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller) - -@@ -40325,6 +40373,12 @@ pci:v00001360d00000205* - pci:v00001360d00000206* - ID_MODEL_FROM_DATABASE=GPS180PEX GPS Receiver (PCI Express) - -+pci:v00001360d00000207* -+ ID_MODEL_FROM_DATABASE=GLN180PEX GPS/GLONASS receiver (PCI Express) -+ -+pci:v00001360d00000208* -+ ID_MODEL_FROM_DATABASE=GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) -+ - pci:v00001360d00000301* - ID_MODEL_FROM_DATABASE=TCR510PCI IRIG Timecode Reader - -@@ -41525,6 +41579,9 @@ pci:v000013F6d00008788sv00001043sd00008428* - pci:v000013F6d00008788sv00001043sd00008467* - ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) - -+pci:v000013F6d00008788sv00001043sd000085F4* -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX II)) -+ - pci:v000013F6d00008788sv000013F6sd00008782* - ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) - -@@ -45905,6 +45962,9 @@ pci:v000014E4d000043A0* - pci:v000014E4d000043A9* - ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n - -+pci:v000014E4d000043AA* -+ ID_MODEL_FROM_DATABASE=BCM43131 802.11b/g/n -+ - pci:v000014E4d000043B1* - ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter - -@@ -46884,7 +46944,7 @@ pci:v000014F1d00008852* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder - - pci:v000014F1d00008852sv00000070sd00008010* -- ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinTV HVR-1400 ExpressCard) - - pci:v000014F1d00008852sv0000107Dsd00006F22* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) -@@ -46898,6 +46958,9 @@ pci:v000014F1d00008852sv0000153Bsd0000117E* - pci:v000014F1d00008852sv000018ACsd0000DB78* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) - -+pci:v000014F1d00008852sv00004254sd00009580* -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (T9580) -+ - pci:v000014F1d00008880* - ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb - -@@ -47438,6 +47501,18 @@ pci:v00001542* - pci:v00001542d00009260* - ID_MODEL_FROM_DATABASE=RCIM-II Real-Time Clock & Interrupt Module - -+pci:v00001542d00009272* -+ ID_MODEL_FROM_DATABASE=Pulse Width Modulator Card -+ -+pci:v00001542d00009277* -+ ID_MODEL_FROM_DATABASE=5 Volt Delta Sigma Converter Card -+ -+pci:v00001542d00009278* -+ ID_MODEL_FROM_DATABASE=10 Volt Delta Sigma Converter Card -+ -+pci:v00001542d00009287* -+ ID_MODEL_FROM_DATABASE=Analog Output Card -+ - pci:v00001543* - ID_VENDOR_FROM_DATABASE=SILICON Laboratories - -@@ -49505,6 +49580,9 @@ pci:v000016B8* - pci:v000016BE* - ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH - -+pci:v000016C3* -+ ID_VENDOR_FROM_DATABASE=Synopsys, Inc. -+ - pci:v000016C6* - ID_VENDOR_FROM_DATABASE=Micrel-Kendin - -@@ -53936,6 +54014,9 @@ pci:v0000416Cd00000100* - pci:v0000416Cd00000200* - ID_MODEL_FROM_DATABASE=CPC - -+pci:v00004254* -+ ID_VENDOR_FROM_DATABASE=DVBSky -+ - pci:v00004321* - ID_VENDOR_FROM_DATABASE=Tata Power Strategic Electronics Division - -@@ -59621,6 +59702,12 @@ pci:v00008086d000015A2* - pci:v00008086d000015A3* - ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V - -+pci:v00008086d000015B7* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V -+ -+pci:v00008086d000015B8* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM -+ - pci:v00008086d00001600* - ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI - -@@ -69614,6 +69701,9 @@ pci:v00008086d00003B23* - pci:v00008086d00003B25* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller - -+pci:v00008086d00003B25sv0000103Csd00003118* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller (HP Smart Array B110i SATA RAID Controller) -+ - pci:v00008086d00003B26* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller - -@@ -70718,6 +70808,489 @@ pci:v00008086d000065FA* - pci:v00008086d000065FF* - ID_MODEL_FROM_DATABASE=5100 Chipset DMA Engine - -+pci:v00008086d00006F00* -+ ID_MODEL_FROM_DATABASE=Broadwell DMI2 -+ -+pci:v00008086d00006F01* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 0 -+ -+pci:v00008086d00006F02* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 -+ -+pci:v00008086d00006F03* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 -+ -+pci:v00008086d00006F04* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F05* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F06* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F07* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F08* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F09* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F0A* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F0B* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F10* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F11* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F12* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F13* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F14* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F15* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F16* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F17* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F18* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F19* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1A* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1B* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1C* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1D* -+ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent -+ -+pci:v00008086d00006F1E* -+ ID_MODEL_FROM_DATABASE=Broadwell Ubox -+ -+pci:v00008086d00006F1F* -+ ID_MODEL_FROM_DATABASE=Broadwell Ubox -+ -+pci:v00008086d00006F20* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 0 -+ -+pci:v00008086d00006F21* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 1 -+ -+pci:v00008086d00006F22* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 2 -+ -+pci:v00008086d00006F23* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 3 -+ -+pci:v00008086d00006F24* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 4 -+ -+pci:v00008086d00006F25* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 5 -+ -+pci:v00008086d00006F26* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 6 -+ -+pci:v00008086d00006F27* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 7 -+ -+pci:v00008086d00006F28* -+ ID_MODEL_FROM_DATABASE=Broadwell Adress Map/VTd_Misc/System Management -+ -+pci:v00008086d00006F29* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Hot Plug -+ -+pci:v00008086d00006F2A* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO RAS/Control Status/Global Errors -+ -+pci:v00008086d00006F2C* -+ ID_MODEL_FROM_DATABASE=Broadwell I/O APIC -+ -+pci:v00008086d00006F30* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 -+ -+pci:v00008086d00006F32* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 -+ -+pci:v00008086d00006F33* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 -+ -+pci:v00008086d00006F34* -+ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent -+ -+pci:v00008086d00006F36* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 -+ -+pci:v00008086d00006F37* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 -+ -+pci:v00008086d00006F38* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 -+ -+pci:v00008086d00006F39* -+ ID_MODEL_FROM_DATABASE=Broadwell IO Performance Monitoring -+ -+pci:v00008086d00006F3A* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 -+ -+pci:v00008086d00006F3E* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 -+ -+pci:v00008086d00006F3F* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 -+ -+pci:v00008086d00006F40* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 -+ -+pci:v00008086d00006F41* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 -+ -+pci:v00008086d00006F43* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 -+ -+pci:v00008086d00006F45* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug -+ -+pci:v00008086d00006F46* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug -+ -+pci:v00008086d00006F47* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug -+ -+pci:v00008086d00006F60* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 -+ -+pci:v00008086d00006F68* -+ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS -+ -+pci:v00008086d00006F6A* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6B* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6C* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6D* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6E* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Broadcast -+ -+pci:v00008086d00006F6F* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast -+ -+pci:v00008086d00006F70* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 Debug -+ -+pci:v00008086d00006F71* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS -+ -+pci:v00008086d00006F76* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug -+ -+pci:v00008086d00006F78* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 Debug -+ -+pci:v00008086d00006F79* -+ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS -+ -+pci:v00008086d00006F7D* -+ ID_MODEL_FROM_DATABASE=Broadwell Ubox -+ -+pci:v00008086d00006F7E* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug -+ -+pci:v00008086d00006F80* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 -+ -+pci:v00008086d00006F81* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 -+ -+pci:v00008086d00006F83* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 -+ -+pci:v00008086d00006F85* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug -+ -+pci:v00008086d00006F86* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug -+ -+pci:v00008086d00006F87* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug -+ -+pci:v00008086d00006F88* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F8A* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F90* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 -+ -+pci:v00008086d00006F93* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 -+ -+pci:v00008086d00006F95* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug -+ -+pci:v00008086d00006F96* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug -+ -+pci:v00008086d00006F98* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F99* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F9A* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F9C* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FA0* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 -+ -+pci:v00008086d00006FA8* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS -+ -+pci:v00008086d00006FAA* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAB* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAC* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAD* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAE* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Broadcast -+ -+pci:v00008086d00006FAF* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast -+ -+pci:v00008086d00006FB0* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Thermal Control -+ -+pci:v00008086d00006FB1* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Thermal Control -+ -+pci:v00008086d00006FB2* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Error -+ -+pci:v00008086d00006FB3* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Error -+ -+pci:v00008086d00006FB4* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Thermal Control -+ -+pci:v00008086d00006FB5* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Thermal Control -+ -+pci:v00008086d00006FB6* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Error -+ -+pci:v00008086d00006FB7* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Error -+ -+pci:v00008086d00006FB8* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FB9* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FBA* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FBB* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FBC* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FBD* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FBE* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FBF* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FC0* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC1* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC2* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC3* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC4* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC5* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC6* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC7* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC8* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC9* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCA* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCB* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCC* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCD* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCE* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCF* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FD0* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Thermal Control -+ -+pci:v00008086d00006FD1* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Thermal Control -+ -+pci:v00008086d00006FD2* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Error -+ -+pci:v00008086d00006FD3* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Error -+ -+pci:v00008086d00006FD4* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Thermal Control -+ -+pci:v00008086d00006FD5* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Thermal Control -+ -+pci:v00008086d00006FD6* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Error -+ -+pci:v00008086d00006FD7* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Error -+ -+pci:v00008086d00006FE0* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE1* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE2* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE3* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE4* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE5* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE6* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE7* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE8* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE9* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEA* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEB* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEC* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FED* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEE* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEF* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF0* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF1* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF8* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF9* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFA* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFB* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFC* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFD* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFE* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ - pci:v00008086d00007000* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] - -@@ -73838,8 +74411,23 @@ pci:v0000D161d0000800A* - pci:v0000D161d0000800B* - ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card - -+pci:v0000D161d0000800C* -+ ID_MODEL_FROM_DATABASE=Wildcard A8A 8-port analog card -+ -+pci:v0000D161d0000800D* -+ ID_MODEL_FROM_DATABASE=Wildcard A8B 8-port analog card (PCI-Express) -+ - pci:v0000D161d0000800E* -- ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) -+ ID_MODEL_FROM_DATABASE=Wildcard TE235/TE435 quad-span T1/E1/J1 card (PCI-Express) -+ -+pci:v0000D161d0000800F* -+ ID_MODEL_FROM_DATABASE=Wildcard A4A 4-port analog card -+ -+pci:v0000D161d00008010* -+ ID_MODEL_FROM_DATABASE=Wildcard A4B 4-port analog card (PCI-Express) -+ -+pci:v0000D161d00008013* -+ ID_MODEL_FROM_DATABASE=Wildcard TE236/TE436 quad-span T1/E1/J1 card - - pci:v0000D161d0000B410* - ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index ed6b2b1..d87313c 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -11243,6 +11243,9 @@ usb:v04A9p3261* - usb:v04A9p3262* - ID_MODEL_FROM_DATABASE=PowerShot A2600 - -+usb:v04A9p3263* -+ ID_MODEL_FROM_DATABASE=PowerShot SX275 HS -+ - usb:v04A9p3264* - ID_MODEL_FROM_DATABASE=PowerShot A1400 - -@@ -11261,6 +11264,9 @@ usb:v04A9p3276* - usb:v04A9p3277* - ID_MODEL_FROM_DATABASE=PowerShot SX510 HS - -+usb:v04A9p3278* -+ ID_MODEL_FROM_DATABASE=PowerShot S200 -+ - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -@@ -11666,6 +11672,9 @@ usb:v04B4p2050* - usb:v04B4p2830* - ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) - -+usb:v04B4p3813* -+ ID_MODEL_FROM_DATABASE=NANO BIOS Programmer -+ - usb:v04B4p4235* - ID_MODEL_FROM_DATABASE=Monitor 02 Driver - -@@ -33116,6 +33125,9 @@ usb:v0B48p300D* - usb:v0B48p300E* - ID_MODEL_FROM_DATABASE=TT-connect C-2400 - -+usb:v0B48p3012* -+ ID_MODEL_FROM_DATABASE=TT-connect CT2-4650 CI -+ - usb:v0B48p3014* - ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 - --- -1.7.9.2 - diff --git a/0008-journald-fix-memory-leak-on-error-path.patch b/0008-journald-fix-memory-leak-on-error-path.patch deleted file mode 100644 index 6f67860c..00000000 --- a/0008-journald-fix-memory-leak-on-error-path.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 26d8ff04914a5208d029e899682cd314b7714bf0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Nov 2014 23:10:34 +0100 -Subject: [PATCH] journald: fix memory leak on error path - ---- - src/journal/journal-vacuum.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c -index d141fe0..80723c4 100644 ---- src/journal/journal-vacuum.c -+++ src/journal/journal-vacuum.c -@@ -283,7 +283,11 @@ int journal_directory_vacuum( - - patch_realtime(directory, p, &st, &realtime); - -- GREEDY_REALLOC(list, n_allocated, n_list + 1); -+ if (!GREEDY_REALLOC(list, n_allocated, n_list + 1)) { -+ free(p); -+ r = -ENOMEM; -+ goto finish; -+ } - - list[n_list].filename = p; - list[n_list].usage = 512UL * (uint64_t) st.st_blocks; --- -1.7.9.2 - diff --git a/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch b/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch deleted file mode 100644 index b43a43c1..00000000 --- a/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 252094eb05c58270a0bc35b14ad30a126ddbb3bb Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 11 Mar 2014 05:23:39 +0100 -Subject: [PATCH] man: multiple sleep modes are to be separated by whitespace, - not commas - -As pointed out by Jason A. Donenfeld. ---- - man/systemd-sleep.conf.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd-sleep.conf.xml man/systemd-sleep.conf.xml -index a917f4d..d0ea6d8 100644 ---- man/systemd-sleep.conf.xml -+++ man/systemd-sleep.conf.xml -@@ -128,7 +128,7 @@ along with systemd; If not, see . - systemd-hibernate.service8, or - systemd-hybrid-sleep.service8. - More than one value can be specified by separating -- multiple values with commas. They will be tried -+ multiple values with whitespace. They will be tried - in turn, until one is written without error. If - neither succeeds, the operation will be aborted. - -@@ -146,7 +146,7 @@ along with systemd; If not, see . - systemd-hibernate.service8, or - systemd-hybrid-sleep.service8. - More than one value can be specified by separating -- multiple values with commas. They will be tried -+ multiple values with whitespace. They will be tried - in turn, until one is written without error. If - neither succeeds, the operation will be aborted. - --- -1.7.9.2 - diff --git a/0008-man-update-journald-rate-limit-defaults.patch b/0008-man-update-journald-rate-limit-defaults.patch deleted file mode 100644 index 54aad943..00000000 --- a/0008-man-update-journald-rate-limit-defaults.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8f18f550e7023948f199616fdfbb0f09711fd615 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Wed, 30 Apr 2014 19:53:13 +0300 -Subject: [PATCH] man: update journald rate limit defaults - -This brings the man page back into sync with the actual code. ---- - man/journald.conf.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/journald.conf.xml man/journald.conf.xml -index 239a2ec..5cd09a2 100644 ---- man/journald.conf.xml -+++ man/journald.conf.xml -@@ -190,8 +190,8 @@ - limiting is applied per-service, so - that two services which log do not - interfere with each other's -- limits. Defaults to 200 messages in -- 10s. The time specification for -+ limits. Defaults to 1000 messages in -+ 30s. The time specification for - RateLimitInterval= - may be specified in the following - units: s, --- -1.7.9.2 - diff --git a/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch b/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch deleted file mode 100644 index b189c671..00000000 --- a/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7c96ab1d2484ab2df3c6a84f1a1d2e076f469085 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 13 Aug 2014 20:01:19 +0200 -Subject: [PATCH] mount-setup: fix counting of early mounts without SMACK - -http://lists.freedesktop.org/archives/systemd-devel/2014-August/021772.html ---- - src/core/mount-setup.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index 206f89a..cc2633e 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -63,8 +63,13 @@ typedef struct MountPoint { - - /* The first three entries we might need before SELinux is up. The - * fourth (securityfs) is needed by IMA to load a custom policy. The -- * other ones we can delay until SELinux and IMA are loaded. */ -+ * other ones we can delay until SELinux and IMA are loaded. When -+ * SMACK is enabled we need smackfs, too, so it's a fifth one. */ -+#ifdef HAVE_SMACK - #define N_EARLY_MOUNT 5 -+#else -+#define N_EARLY_MOUNT 4 -+#endif - - static const MountPoint mount_table[] = { - { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, --- -1.7.9.2 - diff --git a/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch b/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch deleted file mode 100644 index d2eac44b..00000000 --- a/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bbb6ff0216a7c081a2e63e01b1f121592b0165bb Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 14 Mar 2014 21:12:36 +0100 -Subject: [PATCH] sd-bus: don't access invalid memory if a signal matcher was - freed from its own callback - ---- - src/libsystemd/sd-bus/bus-match.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c -index 8280488..c54ca8d 100644 ---- src/libsystemd/sd-bus/bus-match.c -+++ src/libsystemd/sd-bus/bus-match.c -@@ -293,6 +293,9 @@ int bus_match_run( - r = bus_maybe_reply_error(m, r, &error_buffer); - if (r != 0) - return r; -+ -+ if (bus && bus->match_callbacks_modified) -+ return 0; - } - - return bus_match_run(bus, node->next, m); --- -1.7.9.2 - diff --git a/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch b/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch deleted file mode 100644 index 3e5d0c03..00000000 --- a/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch +++ /dev/null @@ -1,52 +0,0 @@ -Based on 77c10205bb337585c320e91af4b416f2dcc6faba Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 13:47:00 +0200 -Subject: [PATCH] shared: conf-parser - don't leak memory on error in - DEFINE_CONFIG_PARSE_ENUMV - -Found by Coverity. Fixes CID #1237746. ---- - src/shared/conf-parser.h | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - ---- src/shared/conf-parser.h -+++ src/shared/conf-parser.h 2014-09-18 13:14:43.730234764 +0000 -@@ -171,7 +171,8 @@ int log_syntax_internal(const char *unit - void *data, \ - void *userdata) { \ - \ -- type **enums = data, *xs, x, *ys; \ -+ type **enums = data, x, *ys; \ -+ _cleanup_free_ type *xs = NULL; \ - char *w, *state; \ - size_t l, i = 0; \ - \ -@@ -187,6 +188,7 @@ int log_syntax_internal(const char *unit - \ - FOREACH_WORD(w, l, rvalue, state) { \ - _cleanup_free_ char *en = NULL; \ -+ type *new_xs; \ - \ - en = strndup(w, l); \ - if (!en) \ -@@ -212,8 +214,10 @@ int log_syntax_internal(const char *unit - continue; \ - \ - *(xs + i) = x; \ -- xs = realloc(xs, (++i + 1) * sizeof(type)); \ -- if (!xs) \ -+ new_xs = realloc(xs, (++i + 1) * sizeof(type)); \ -+ if (new_xs) \ -+ xs = new_xs; \ -+ else \ - return -ENOMEM; \ - \ - *(xs + i) = invalid; \ -@@ -221,5 +225,7 @@ int log_syntax_internal(const char *unit - \ - free(*enums); \ - *enums = xs; \ -+ xs = NULL; \ -+ \ - return 0; \ - } diff --git a/0008-shell-completion-prevent-mangling-unit-names-bash.patch b/0008-shell-completion-prevent-mangling-unit-names-bash.patch deleted file mode 100644 index 7a52c0d7..00000000 --- a/0008-shell-completion-prevent-mangling-unit-names-bash.patch +++ /dev/null @@ -1,87 +0,0 @@ -Based on c317a1a19cd9584e07ee43f1b6fafc26c2c75cca Mon Sep 17 00:00:00 2001 -From: Eric Cook -Date: Sun, 27 Jul 2014 15:07:03 -0400 -Subject: [PATCH] shell-completion: prevent mangling unit names (bash) - -This fixes the issue noted by Zbigniew in most cases. -if a unit's name is enclosed in single quotes completion still -will not happen after the first `\'. - -https://bugs.freedesktop.org/show_bug.cgi?id=78388 ---- - shell-completion/bash/systemctl.in | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in -index 69ef04b..64b15df 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -158,20 +158,25 @@ _systemctl () { - - elif __contains_word "$verb" ${VERBS[ALL_UNITS]}; then - comps=$( __get_all_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[ENABLED_UNITS]}; then - comps=$( __get_enabled_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then - comps=$( __get_disabled_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then - comps=$( __get_disabled_units $mode; - __get_enabled_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ - $( __get_startable_units $mode)) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -@@ -179,24 +184,30 @@ _systemctl () { - | while read -r line; do \ - [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ - done )) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStop yes \ - $( __get_active_units $mode ) ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[RELOADABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanReload yes \ - $( __get_active_units $mode ) ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[ISOLATABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode AllowIsolate yes \ - $( __get_all_units $mode ) ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[FAILED_UNITS]}; then - comps=$( __get_failed_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[MASKED_UNITS]}; then - comps=$( __get_masked_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then - comps='' -@@ -221,7 +232,7 @@ _systemctl () { - | { while read -r a b; do echo " $a"; done; } ) - fi - -- COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) -+ COMPREPLY=( $(compgen -o filenames -W '$comps' -- "$cur") ) - return 0 - } - --- -1.7.9.2 - diff --git a/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch b/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch deleted file mode 100644 index b4564a5a..00000000 --- a/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 0088d63151e088d62104d88f866e9eb049091c22 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 25 Mar 2014 00:31:48 +0100 -Subject: [PATCH] systemctl: --kill-mode is long long gone, don't mention it - in the man page - ---- - man/systemctl.xml | 5 ++--- - shell-completion/bash/systemctl | 5 +---- - 2 files changed, 3 insertions(+), 7 deletions(-) - -diff --git man/systemctl.xml man/systemctl.xml -index 77447dd..b4727d9 100644 ---- man/systemctl.xml -+++ man/systemctl.xml -@@ -664,9 +664,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service - - Send a signal to one or more processes of the - unit. Use to select which -- process to kill. Use to select -- the kill mode and to select the -- signal to send. -+ process to kill. Use to select -+ the signal to send. - - - -diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl -index dc7ef66..0dfc868 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -74,7 +74,7 @@ _systemctl () { - [STANDALONE]='--all -a --reverse --after --before --defaults --fail --ignore-dependencies --failed --force -f --full -l --global - --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall - --quiet -q --privileged -P --system --user --version --runtime' -- [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root' -+ [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' - ) - - if __contains_word "--user" ${COMP_WORDS[*]}; then -@@ -99,9 +99,6 @@ _systemctl () { - --kill-who) - comps='all control main' - ;; -- --kill-mode) -- comps='control-group process' -- ;; - --root) - comps=$(compgen -A directory -- "$cur" ) - compopt -o filenames --- -1.7.9.2 - diff --git a/0008-util-introduce-sethostname_idempotent.patch b/0008-util-introduce-sethostname_idempotent.patch deleted file mode 100644 index 5b42ce14..00000000 --- a/0008-util-introduce-sethostname_idempotent.patch +++ /dev/null @@ -1,85 +0,0 @@ -Based on 605f81a8968b2df8a28cca2cf11db99ab948a2af Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 21 Oct 2014 18:17:54 +0200 -Subject: [PATCH] util: introduce sethostname_idempotent - -Function queries system hostname and applies changes only when necessary. Also, -migrate all client of sethostname to sethostname_idempotent while at it. ---- - src/core/hostname-setup.c | 2 +- - src/hostname/hostnamed.c | 2 +- - src/nspawn/nspawn.c | 2 +- - src/shared/util.c | 20 ++++++++++++++++++++ - src/shared/util.h | 2 ++ - 5 files changed, 25 insertions(+), 3 deletions(-) - ---- src/core/hostname-setup.c -+++ src/core/hostname-setup.c 2014-10-29 00:00:00.000000000 +0000 -@@ -99,7 +99,7 @@ int hostname_setup(void) { - hn = "localhost"; - } - -- if (sethostname(hn, strlen(hn)) < 0) { -+ if (sethostname_idempotent(hn) < 0) { - log_warning("Failed to set hostname to <%s>: %m", hn); - return -errno; - } ---- src/hostname/hostnamed.c -+++ src/hostname/hostnamed.c 2014-10-29 14:13:26.124337751 +0000 -@@ -244,7 +244,7 @@ static int context_write_data_hostname(C - else - hn = c->data[PROP_HOSTNAME]; - -- if (sethostname(hn, strlen(hn)) < 0) -+ if (sethostname_idempotent(hn) < 0) - return -errno; - - return 0; ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-10-29 00:00:00.000000000 +0000 -@@ -981,7 +981,7 @@ static int setup_hostname(void) { - if (arg_share_system) - return 0; - -- if (sethostname(arg_machine, strlen(arg_machine)) < 0) -+ if (sethostname_idempotent(arg_machine) < 0) - return -errno; - - return 0; ---- src/shared/util.c -+++ src/shared/util.c 2014-10-29 00:00:00.000000000 +0000 -@@ -6451,6 +6451,26 @@ int fd_warn_permissions(const char *path - return 0; - } - -+int sethostname_idempotent(const char *s) { -+ int r; -+ char buf[HOST_NAME_MAX + 1] = {}; -+ -+ assert(s); -+ -+ r = gethostname(buf, sizeof(buf)); -+ if (r < 0) -+ return -errno; -+ -+ if (streq(buf, s)) -+ return 0; -+ -+ r = sethostname(buf, strlen(buf)); -+ if (r < 0) -+ return -errno; -+ -+ return 1; -+} -+ - unsigned long personality_from_string(const char *p) { - - /* Parse a personality specifier. We introduce our own ---- src/shared/util.h -+++ src/shared/util.h 2014-10-29 14:14:15.764337717 +0000 -@@ -899,3 +899,5 @@ union file_handle_union { - }; - - int umount_recursive(const char *target, int flags); -+ -+int sethostname_idempotent(const char *s); diff --git a/0009-ask-password-when-the-user-types-a-overly-long-passw.patch b/0009-ask-password-when-the-user-types-a-overly-long-passw.patch deleted file mode 100644 index 840c4a18..00000000 --- a/0009-ask-password-when-the-user-types-a-overly-long-passw.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 036eeac5a1799fa2c0ae11a14d8c667b5d303189 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 25 Mar 2014 01:27:05 +0100 -Subject: [PATCH] ask-password: when the user types a overly long password, - beep and refuse -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Based on a similar patch from David Härdeman. ---- - src/shared/ask-password-api.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/shared/ask-password-api.c src/shared/ask-password-api.c -index 117f0c6..96f16cc 100644 ---- src/shared/ask-password-api.c -+++ src/shared/ask-password-api.c -@@ -207,6 +207,11 @@ int ask_password_tty( - if (ttyfd >= 0) - loop_write(ttyfd, "(no echo) ", 10, false); - } else { -+ if (p >= sizeof(passphrase)-1) { -+ loop_write(ttyfd, "\a", 1, false); -+ continue; -+ } -+ - passphrase[p++] = c; - - if (!silent_mode && ttyfd >= 0) --- -1.7.9.2 - diff --git a/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch b/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch deleted file mode 100644 index 381d0732..00000000 --- a/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c2fa048c4a70c8386c6d8fe939e5ea9edecf1e98 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 18 Sep 2014 13:28:28 +0200 -Subject: [PATCH] bus: fix bus_print_property() to use "int" for booleans - -We always use "int" if we retrieve boolean values from sd-bus, as "bool" -is only a single byte, but full int on va-args. - -Thanks to Werner Fink for the report! ---- - src/libsystemd/sd-bus/bus-util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c -index 7c6da60..9018bce 100644 ---- src/libsystemd/sd-bus/bus-util.c -+++ src/libsystemd/sd-bus/bus-util.c -@@ -631,7 +631,7 @@ int bus_print_property(const char *name, sd_bus_message *property, bool all) { - } - - case SD_BUS_TYPE_BOOLEAN: { -- bool b; -+ int b; - - r = sd_bus_message_read_basic(property, type, &b); - if (r < 0) --- -1.7.9.2 - diff --git a/0009-core-clean-up-signal-reset-logic-when-reexec.patch b/0009-core-clean-up-signal-reset-logic-when-reexec.patch deleted file mode 100644 index cfe54186..00000000 --- a/0009-core-clean-up-signal-reset-logic-when-reexec.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 9bfcda9528636914aef3e0ab91191bb81654c83d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 20 Jun 2014 16:58:21 +0200 -Subject: [PATCH] core: clean-up signal reset logic when reexec - -There's no need to save the old sigmask, if we are going to die. Let's -simplify this. Also, reset all the signal handlers, so that we don't -leave SIG_IGN set for some of them across reexec. ---- - src/core/main.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git src/core/main.c src/core/main.c -index 863ba52..6981e72 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1824,7 +1824,7 @@ finish: - if (reexecute) { - const char **args; - unsigned i, args_size; -- sigset_t ss, o_ss; -+ sigset_t ss; - - /* Close and disarm the watchdog, so that the new - * instance can reinitialize it, but doesn't get -@@ -1910,8 +1910,10 @@ finish: - - /* reenable any blocked signals, especially important - * if we switch from initial ramdisk to init=... */ -- sigemptyset(&ss); -- sigprocmask(SIG_SETMASK, &ss, &o_ss); -+ reset_all_signal_handlers(); -+ -+ assert_se(sigemptyset(&ss) == 0); -+ assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0); - - if (switch_root_init) { - args[0] = switch_root_init; -@@ -1931,8 +1933,6 @@ finish: - log_error("Failed to execute /bin/sh, giving up: %m"); - } else - log_warning("Failed to execute /sbin/init, giving up: %m"); -- -- sigprocmask(SIG_SETMASK, &o_ss, NULL); - } - - if (arg_serialization) { --- -1.7.9.2 - diff --git a/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 69372137..00000000 --- a/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2e3390ea4684b954edce66b7758b5371d3338a9f Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Thu, 2 Oct 2014 07:53:15 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 14aee74..ee2efdf 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -1148,3 +1148,21 @@ bluetooth:v017B* - - bluetooth:v017C* - ID_VENDOR_FROM_DATABASE=Daimler AG -+ -+bluetooth:v017D* -+ ID_VENDOR_FROM_DATABASE=BatAndCat -+ -+bluetooth:v017E* -+ ID_VENDOR_FROM_DATABASE=BluDotz Ltd -+ -+bluetooth:v017F* -+ ID_VENDOR_FROM_DATABASE=XTel ApS -+ -+bluetooth:v0180* -+ ID_VENDOR_FROM_DATABASE=Gigaset Communications GmbH -+ -+bluetooth:v0181* -+ ID_VENDOR_FROM_DATABASE=Gecko Health Innovations, Inc. -+ -+bluetooth:v0182* -+ ID_VENDOR_FROM_DATABASE=HOP Ubiquitous --- -1.7.9.2 - diff --git a/0009-hwdb-update.patch b/0009-hwdb-update.patch deleted file mode 100644 index 099e33b6..00000000 --- a/0009-hwdb-update.patch +++ /dev/null @@ -1,3363 +0,0 @@ -From fea0bfaed5411de43811dc428e763029d3aaabe5 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Tue, 9 Sep 2014 07:44:02 +0200 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 249 +++++- - hwdb/20-pci-vendor-model.hwdb | 1987 ++++++++++++++++++++++++++++++++++++++++- - hwdb/20-usb-vendor-model.hwdb | 2 +- - 3 files changed, 2199 insertions(+), 39 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index e0c5fed..73df96c 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -4103,7 +4103,7 @@ OUI:0050C2561* - ID_OUI_FROM_DATABASE=Seitec Elektronik GmbH - - OUI:0050C2562* -- ID_OUI_FROM_DATABASE=C21 Technology Limited -+ ID_OUI_FROM_DATABASE=C21 Systems Limited - - OUI:0050C2563* - ID_OUI_FROM_DATABASE=ORTRAT, S.L. -@@ -26081,7 +26081,7 @@ OUI:00105D* - ID_OUI_FROM_DATABASE=Draeger Medical - - OUI:00105E* -- ID_OUI_FROM_DATABASE=HEKIMIAN LABORATORIES, INC. -+ ID_OUI_FROM_DATABASE=Spirent plc, Service Assurance Broadband - - OUI:00105F* - ID_OUI_FROM_DATABASE=ZODIAC DATA SYSTEMS -@@ -35786,7 +35786,7 @@ OUI:001D04* - ID_OUI_FROM_DATABASE=Zipit Wireless, Inc. - - OUI:001D05* -- ID_OUI_FROM_DATABASE=iLight -+ ID_OUI_FROM_DATABASE=Eaton Corporation - - OUI:001D06* - ID_OUI_FROM_DATABASE=HM Electronics, Inc. -@@ -44287,6 +44287,9 @@ OUI:0034F1* - OUI:003532* - ID_OUI_FROM_DATABASE=Electro-Metrics Corporation - -+OUI:003560* -+ ID_OUI_FROM_DATABASE=Rosen Aviation -+ - OUI:0036F8* - ID_OUI_FROM_DATABASE=Conti Temic microelectronic GmbH - -@@ -50072,7 +50075,7 @@ OUI:00D01E* - ID_OUI_FROM_DATABASE=PINGTEL CORP. - - OUI:00D01F* -- ID_OUI_FROM_DATABASE=CTAM PTY. LTD. -+ ID_OUI_FROM_DATABASE=Senetas Security - - OUI:00D020* - ID_OUI_FROM_DATABASE=AIM SYSTEM, INC. -@@ -51616,6 +51619,9 @@ OUI:00EEBD* - OUI:00F051* - ID_OUI_FROM_DATABASE=KWB Gmbh - -+OUI:00F3DB* -+ ID_OUI_FROM_DATABASE=WOO Sports -+ - OUI:00F403* - ID_OUI_FROM_DATABASE=Orbis Systems Oy - -@@ -51889,6 +51895,9 @@ OUI:04B3B6* - OUI:04B466* - ID_OUI_FROM_DATABASE=BSP Co., Ltd. - -+OUI:04BD70* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:04BFA8* - ID_OUI_FROM_DATABASE=ISB Corporation - -@@ -51898,6 +51907,9 @@ OUI:04C05B* - OUI:04C06F* - ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd - -+OUI:04C09C* -+ ID_OUI_FROM_DATABASE=Tellabs Inc. -+ - OUI:04C1B9* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - -@@ -52657,6 +52669,9 @@ OUI:089F97* - OUI:08A12B* - ID_OUI_FROM_DATABASE=ShenZhen EZL Technology Co., Ltd - -+OUI:08A5C8* -+ ID_OUI_FROM_DATABASE=Sunnovo International Limited -+ - OUI:08A95A* - ID_OUI_FROM_DATABASE=Azurewave - -@@ -52747,6 +52762,9 @@ OUI:08EE8B* - OUI:08EF3B* - ID_OUI_FROM_DATABASE=MCS Logic Inc. - -+OUI:08EFAB* -+ ID_OUI_FROM_DATABASE=SAYME WIRELESS SENSOR NETWORK -+ - OUI:08F1B7* - ID_OUI_FROM_DATABASE=Towerstream Corpration - -@@ -53125,6 +53143,9 @@ OUI:1001CA* - OUI:1005CA* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:100723* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:1008B1* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -53389,6 +53410,9 @@ OUI:10C586* - OUI:10C61F* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:10C67E* -+ ID_OUI_FROM_DATABASE=SHENZHEN JUCHIN TECHNOLOGY CO., LTD -+ - OUI:10C6FC* - ID_OUI_FROM_DATABASE=Garmin International - -@@ -53446,6 +53470,9 @@ OUI:10F3DB* - OUI:10F49A* - ID_OUI_FROM_DATABASE=T3 Innovation - -+OUI:10F681* -+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. -+ - OUI:10F96F* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -53527,6 +53554,9 @@ OUI:1435B3* - OUI:143605* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:1436C6* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:14373B* - ID_OUI_FROM_DATABASE=PROCOM Systems - -@@ -53782,6 +53812,9 @@ OUI:18193F* - OUI:181BEB* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -+OUI:181E78* -+ ID_OUI_FROM_DATABASE=SAGEMCOM -+ - OUI:181EB0* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53881,6 +53914,9 @@ OUI:18622C* - OUI:186472* - ID_OUI_FROM_DATABASE=Aruba Networks - -+OUI:186571* -+ ID_OUI_FROM_DATABASE=Top Victory Electronics (Taiwan) Co., Ltd. -+ - OUI:1866E3* - ID_OUI_FROM_DATABASE=Veros Systems, Inc. - -@@ -54023,7 +54059,7 @@ OUI:18CF5E* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - - OUI:18D071* -- ID_OUI_FROM_DATABASE=DASAN SMC, Inc. -+ ID_OUI_FROM_DATABASE=DASAN CO., LTD. - - OUI:18D5B6* - ID_OUI_FROM_DATABASE=SMG Holdings LLC -@@ -55270,6 +55306,9 @@ OUI:28D576* - OUI:28D93E* - ID_OUI_FROM_DATABASE=Telecor Inc. - -+OUI:28D98A* -+ ID_OUI_FROM_DATABASE=Hangzhou Konke Technology Co.,Ltd. -+ - OUI:28D997* - ID_OUI_FROM_DATABASE=Yuduan Mobile Co., Ltd. - -@@ -55387,6 +55426,9 @@ OUI:2C2D48* - OUI:2C3068* - ID_OUI_FROM_DATABASE=Pantech Co.,Ltd - -+OUI:2C337A* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:2C3427* - ID_OUI_FROM_DATABASE=ERCO & GENER - -@@ -55891,6 +55933,9 @@ OUI:30D357* - OUI:30D46A* - ID_OUI_FROM_DATABASE=Autosales Incorporated - -+OUI:30D587* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:30D6C9* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -56062,6 +56107,9 @@ OUI:346BD3* - OUI:346E8A* - ID_OUI_FROM_DATABASE=Ecosense - -+OUI:346F90* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:346F92* - ID_OUI_FROM_DATABASE=White Rodgers Division - -@@ -56266,6 +56314,9 @@ OUI:34E42A* - OUI:34E6AD* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:34E6D7* -+ ID_OUI_FROM_DATABASE=Dell Inc. -+ - OUI:34EF44* - ID_OUI_FROM_DATABASE=2Wire - -@@ -56413,6 +56464,9 @@ OUI:385FC3* - OUI:386077* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -+OUI:3863BB* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:3863F6* - ID_OUI_FROM_DATABASE=3NOD MULTIMEDIA(SHENZHEN)CO.,LTD - -@@ -56677,6 +56731,9 @@ OUI:3C3888* - OUI:3C39C3* - ID_OUI_FROM_DATABASE=JW Electronics Co., Ltd. - -+OUI:3C39E7* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:3C3A73* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -56689,6 +56746,9 @@ OUI:3C438E* - OUI:3C46D8* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:3C4937* -+ ID_OUI_FROM_DATABASE=ASSMANN Electronic GmbH -+ - OUI:3C4A92* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -56815,6 +56875,9 @@ OUI:3CAA3F* - OUI:3CAB8E* - ID_OUI_FROM_DATABASE=Apple - -+OUI:3CAE69* -+ ID_OUI_FROM_DATABASE=ESA Elektroschaltanlagen Grimma GmbH -+ - OUI:3CB15B* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -57211,6 +57274,9 @@ OUI:40E730* - OUI:40E793* - ID_OUI_FROM_DATABASE=Shenzhen Siviton Technology Co.,Ltd - -+OUI:40EACE* -+ ID_OUI_FROM_DATABASE=FOUNDER BROADBAND NETWORK SERVICE CO.,LTD -+ - OUI:40ECF8* - ID_OUI_FROM_DATABASE=Siemens AG - -@@ -57535,6 +57601,9 @@ OUI:44DCCB* - OUI:44E08E* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:44E137* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:44E49A* - ID_OUI_FROM_DATABASE=OMNITRONICS PTY LTD - -@@ -58348,6 +58417,9 @@ OUI:50A733* - OUI:50ABBF* - ID_OUI_FROM_DATABASE=Hoseo Telecom - -+OUI:50ADD5* -+ ID_OUI_FROM_DATABASE=Dynalec Corporation -+ - OUI:50AF73* - ID_OUI_FROM_DATABASE=Shenzhen Bitland Information Technology Co., Ltd. - -@@ -58537,6 +58609,9 @@ OUI:544A05* - OUI:544A16* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:545146* -+ ID_OUI_FROM_DATABASE=AMG Systems Ltd. -+ - OUI:5453ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -@@ -58852,6 +58927,9 @@ OUI:58696C* - OUI:5869F9* - ID_OUI_FROM_DATABASE=Fusion Transactive Ltd. - -+OUI:586AB1* -+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -+ - OUI:586D8F* - ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC - -@@ -59080,6 +59158,9 @@ OUI:5C2BF5* - OUI:5C2E59* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:5C2ED2* -+ ID_OUI_FROM_DATABASE=ABC(XiSheng) Electronics Co.,Ltd -+ - OUI:5C313E* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -59272,6 +59353,9 @@ OUI:5CDAD4* - OUI:5CDD70* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:5CE0C5* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:5CE0CA* - ID_OUI_FROM_DATABASE=FeiTian United (Beijing) System Technology Co., Ltd. - -@@ -59767,6 +59851,9 @@ OUI:64317E* - OUI:643409* - ID_OUI_FROM_DATABASE=BITwave Pte Ltd - -+OUI:643E8C* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:643F5F* - ID_OUI_FROM_DATABASE=Exablaze - -@@ -59908,6 +59995,9 @@ OUI:6487D7* - OUI:6488FF* - ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. - -+OUI:64899A* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:648D9E* - ID_OUI_FROM_DATABASE=IVT Electronic Co.,Ltd - -@@ -60328,6 +60418,9 @@ OUI:68BC0C* - OUI:68BDAB* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:68C90B* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:68CA00* - ID_OUI_FROM_DATABASE=Octopus Systems Limited - -@@ -60442,6 +60535,9 @@ OUI:6C22AB* - OUI:6C23B9* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:6C25B9* -+ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., -+ - OUI:6C2995* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -60574,6 +60670,9 @@ OUI:6C90B1* - OUI:6C92BF* - ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. - -+OUI:6C94F8* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:6C98EB* - ID_OUI_FROM_DATABASE=Ocedo GmbH - -@@ -60724,6 +60823,9 @@ OUI:700514* - OUI:700BC0* - ID_OUI_FROM_DATABASE=Dewav Technology Company - -+OUI:700FC7* -+ ID_OUI_FROM_DATABASE=SHENZHEN IKINLOOP TECHNOLOGY CO.,LTD. -+ - OUI:700FEC* - ID_OUI_FROM_DATABASE=Poindus Systems Corp. - -@@ -60802,6 +60904,9 @@ OUI:703AD8* - OUI:703C39* - ID_OUI_FROM_DATABASE=SEAWING Kft - -+OUI:703EAC* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:7041B7* - ID_OUI_FROM_DATABASE=Edwards Lifesciences LLC - -@@ -60901,6 +61006,9 @@ OUI:7076DD* - OUI:7076F0* - ID_OUI_FROM_DATABASE=LevelOne Communications (India) Private Limited - -+OUI:7076FF* -+ ID_OUI_FROM_DATABASE=KERLINK -+ - OUI:707BE8* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -@@ -61105,6 +61213,9 @@ OUI:74273C* - OUI:7427EA* - ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. - -+OUI:7429AF* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:742B0F* - ID_OUI_FROM_DATABASE=Infinidat Ltd. - -@@ -61447,6 +61558,9 @@ OUI:78303B* - OUI:7830E1* - ID_OUI_FROM_DATABASE=UltraClenz, LLC - -+OUI:78312B* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:7831C1* - ID_OUI_FROM_DATABASE=Apple - -@@ -61639,6 +61753,9 @@ OUI:78ACC0* - OUI:78AE0C* - ID_OUI_FROM_DATABASE=Far South Networks - -+OUI:78B3B9* -+ ID_OUI_FROM_DATABASE=ShangHai sunup lighting CO.,LTD -+ - OUI:78B3CE* - ID_OUI_FROM_DATABASE=Elo touch solutions - -@@ -61741,6 +61858,9 @@ OUI:78E7D1* - OUI:78E8B6* - ID_OUI_FROM_DATABASE=zte corporation - -+OUI:78EB14* -+ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO.,LTD -+ - OUI:78EC22* - ID_OUI_FROM_DATABASE=Shanghai Qihui Telecom Technology Co., LTD - -@@ -62569,6 +62689,9 @@ OUI:843A4B* - OUI:843F4E* - ID_OUI_FROM_DATABASE=Tri-Tech Manufacturing, Inc. - -+OUI:844464* -+ ID_OUI_FROM_DATABASE=ServerU Inc -+ - OUI:844823* - ID_OUI_FROM_DATABASE=WOXTER TECHNOLOGY Co. Ltd - -@@ -62605,6 +62728,9 @@ OUI:846223* - OUI:8462A6* - ID_OUI_FROM_DATABASE=EuroCB (Phils), Inc. - -+OUI:8463D6* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:846AED* - ID_OUI_FROM_DATABASE=Wireless Tsukamoto.,co.LTD - -@@ -62665,6 +62791,9 @@ OUI:848E0C* - OUI:848E96* - ID_OUI_FROM_DATABASE=Embertec Pty Ltd - -+OUI:848EDF* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:848F69* - ID_OUI_FROM_DATABASE=Dell Inc. - -@@ -62746,6 +62875,9 @@ OUI:84DB2F* - OUI:84DD20* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:84DDB7* -+ ID_OUI_FROM_DATABASE=Cilag GmbH International -+ - OUI:84DE3D* - ID_OUI_FROM_DATABASE=Crystal Vision Ltd - -@@ -62812,6 +62944,9 @@ OUI:881544* - OUI:8818AE* - ID_OUI_FROM_DATABASE=Tamron Co., Ltd - -+OUI:881DFC* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:881FA1* - ID_OUI_FROM_DATABASE=Apple - -@@ -63367,6 +63502,9 @@ OUI:8CDF9D* - OUI:8CE081* - ID_OUI_FROM_DATABASE=zte corporation - -+OUI:8CE78C* -+ ID_OUI_FROM_DATABASE=DK Networks -+ - OUI:8CE7B3* - ID_OUI_FROM_DATABASE=Sonardyne International Ltd - -@@ -63409,6 +63547,9 @@ OUI:900917* - OUI:900A3A* - ID_OUI_FROM_DATABASE=PSG Plastic Service GmbH - -+OUI:900CB4* -+ ID_OUI_FROM_DATABASE=Alinket Electronic Technology Co., Ltd -+ - OUI:900D66* - ID_OUI_FROM_DATABASE=Digimore Electronics Co., Ltd - -@@ -63556,6 +63697,9 @@ OUI:9067B5* - OUI:9067F3* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:9068C3* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:906DC8* - ID_OUI_FROM_DATABASE=DLG Automação Industrial Ltda - -@@ -63781,6 +63925,9 @@ OUI:940149* - OUI:9401C2* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:9405B6* -+ ID_OUI_FROM_DATABASE=Liling FullRiver Electronics & Technology Ltd -+ - OUI:940B2D* - ID_OUI_FROM_DATABASE=NetView Technologies(Shenzhen) Co., Ltd - -@@ -63913,6 +64060,9 @@ OUI:948B03* - OUI:948D50* - ID_OUI_FROM_DATABASE=Beamex Oy Ab - -+OUI:948E89* -+ ID_OUI_FROM_DATABASE=INDUSTRIAS UNIDAS SA DE CV -+ - OUI:948FEE* - ID_OUI_FROM_DATABASE=Hughes Telematics, Inc. - -@@ -64639,6 +64789,9 @@ OUI:9CD36D* - OUI:9CD643* - ID_OUI_FROM_DATABASE=D-Link International - -+OUI:9CD917* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:9CDF03* - ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH - -@@ -65407,6 +65560,9 @@ OUI:A81B18* - OUI:A81B5D* - ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd - -+OUI:A81D16* -+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc -+ - OUI:A81FAF* - ID_OUI_FROM_DATABASE=KRYPTON POLSKA - -@@ -65473,6 +65629,9 @@ OUI:A863DF* - OUI:A863F2* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:A86405* -+ ID_OUI_FROM_DATABASE=nimbus 9, Inc -+ - OUI:A865B2* - ID_OUI_FROM_DATABASE=DONGGUAN YISHANG ELECTRONIC TECHNOLOGY CO., LIMITED - -@@ -66064,6 +66223,9 @@ OUI:B0435D* - OUI:B04515* - ID_OUI_FROM_DATABASE=mira fitness,LLC. - -+OUI:B04519* -+ ID_OUI_FROM_DATABASE=TCT mobile ltd -+ - OUI:B04545* - ID_OUI_FROM_DATABASE=YACOUB Automation GmbH - -@@ -67105,6 +67267,9 @@ OUI:BC4760* - OUI:BC4B79* - ID_OUI_FROM_DATABASE=SensingTek - -+OUI:BC4DFB* -+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc -+ - OUI:BC4E3C* - ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. - -@@ -67114,6 +67279,9 @@ OUI:BC4E5D* - OUI:BC51FE* - ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd - -+OUI:BC52B4* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:BC52B7* - ID_OUI_FROM_DATABASE=Apple - -@@ -67153,6 +67321,9 @@ OUI:BC71C1* - OUI:BC72B1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:BC74D7* -+ ID_OUI_FROM_DATABASE=HangZhou JuRu Technology CO.,LTD -+ - OUI:BC764E* - ID_OUI_FROM_DATABASE=Rackspace US, Inc. - -@@ -67363,6 +67534,9 @@ OUI:C03580* - OUI:C035BD* - ID_OUI_FROM_DATABASE=Velocytech Aps - -+OUI:C035C5* -+ ID_OUI_FROM_DATABASE=Prosoft Systems LTD -+ - OUI:C03896* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -67867,6 +68041,9 @@ OUI:C4BA99* - OUI:C4BD6A* - ID_OUI_FROM_DATABASE=SKF GmbH - -+OUI:C4BE84* -+ ID_OUI_FROM_DATABASE=Texas Instruments. -+ - OUI:C4C0AE* - ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. - -@@ -68527,6 +68704,9 @@ OUI:CCB8F1* - OUI:CCBD35* - ID_OUI_FROM_DATABASE=Steinel GmbH - -+OUI:CCBDD3* -+ ID_OUI_FROM_DATABASE=Ultimaker B.V. -+ - OUI:CCBE71* - ID_OUI_FROM_DATABASE=OptiLogix BV - -@@ -68698,6 +68878,9 @@ OUI:D046DC* - OUI:D04CC1* - ID_OUI_FROM_DATABASE=SINTRONES Technology Corp. - -+OUI:D04F7E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D05099* - ID_OUI_FROM_DATABASE=ASRock Incorporation - -@@ -68734,6 +68917,9 @@ OUI:D05A0F* - OUI:D05AF1* - ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd - -+OUI:D05BA8* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:D05FB8* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -69025,6 +69211,9 @@ OUI:D42F23* - OUI:D4319D* - ID_OUI_FROM_DATABASE=Sinwatec - -+OUI:D43266* -+ ID_OUI_FROM_DATABASE=Fike Corporation -+ - OUI:D437D7* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -69307,6 +69496,9 @@ OUI:D4F143* - OUI:D4F46F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:D4F513* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:D4F63F* - ID_OUI_FROM_DATABASE=IEA S.R.L. - -@@ -69568,6 +69760,9 @@ OUI:D8B8F6* - OUI:D8B90E* - ID_OUI_FROM_DATABASE=Triple Domain Vision Co.,Ltd. - -+OUI:D8BB2C* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D8BF4C* - ID_OUI_FROM_DATABASE=Victory Concept Electronics Limited - -@@ -69635,7 +69830,7 @@ OUI:D8E56D* - ID_OUI_FROM_DATABASE=TCT Mobile Limited - - OUI:D8E72B* -- ID_OUI_FROM_DATABASE=OnPATH Technologies -+ ID_OUI_FROM_DATABASE=NetScout Systems, Inc. - - OUI:D8E743* - ID_OUI_FROM_DATABASE=Wush, Inc -@@ -70084,6 +70279,9 @@ OUI:E08177* - OUI:E087B1* - ID_OUI_FROM_DATABASE=Nata-Info Ltd. - -+OUI:E0885D* -+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc -+ - OUI:E08A7E* - ID_OUI_FROM_DATABASE=Exponent - -@@ -70474,6 +70672,9 @@ OUI:E4AFA1* - OUI:E4B021* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:E4BAD9* -+ ID_OUI_FROM_DATABASE=360 Fly Inc. -+ - OUI:E4C146* - ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A - -@@ -70603,6 +70804,9 @@ OUI:E82AEA* - OUI:E82E24* - ID_OUI_FROM_DATABASE=Out of the Fog Research LLC - -+OUI:E83381* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:E83935* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -70720,6 +70924,9 @@ OUI:E88D28* - OUI:E88DF5* - ID_OUI_FROM_DATABASE=ZNYX Networks, Inc. - -+OUI:E88E60* -+ ID_OUI_FROM_DATABASE=NSD Corporation -+ - OUI:E89218* - ID_OUI_FROM_DATABASE=Arcontia International AB - -@@ -70918,6 +71125,9 @@ OUI:EC233D* - OUI:EC2368* - ID_OUI_FROM_DATABASE=IntelliVoice Co.,Ltd. - -+OUI:EC24B8* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:EC2AF0* - ID_OUI_FROM_DATABASE=Ypsomed AG - -@@ -70978,6 +71188,9 @@ OUI:EC542E* - OUI:EC55F9* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:EC59E7* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:EC5C69* - ID_OUI_FROM_DATABASE=MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD. - -@@ -71002,6 +71215,9 @@ OUI:EC7C74* - OUI:EC7D9D* - ID_OUI_FROM_DATABASE=MEI - -+OUI:EC8009* -+ ID_OUI_FROM_DATABASE=NovaSparks -+ - OUI:EC836C* - ID_OUI_FROM_DATABASE=RM Tech Co., Ltd. - -@@ -71449,6 +71665,9 @@ OUI:F0F002* - OUI:F0F260* - ID_OUI_FROM_DATABASE=Mobitec AB - -+OUI:F0F336* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD -+ - OUI:F0F5AE* - ID_OUI_FROM_DATABASE=Adaptrum Inc. - -@@ -71476,6 +71695,9 @@ OUI:F0F9F7* - OUI:F0FDA0* - ID_OUI_FROM_DATABASE=Acurix Networks LP - -+OUI:F0FE6B* -+ ID_OUI_FROM_DATABASE=Shanghai High-Flying Electronics Technology Co., Ltd -+ - OUI:F40321* - ID_OUI_FROM_DATABASE=BeNeXt B.V. - -@@ -71758,6 +71980,9 @@ OUI:F4EA67* - OUI:F4EC38* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. - -+OUI:F4EE14* -+ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. -+ - OUI:F4F15A* - ID_OUI_FROM_DATABASE=Apple - -@@ -71881,6 +72106,9 @@ OUI:F83DFF* - OUI:F842FB* - ID_OUI_FROM_DATABASE=Yasuda Joho Co.,ltd. - -+OUI:F84360* -+ ID_OUI_FROM_DATABASE=INGENICO -+ - OUI:F845AD* - ID_OUI_FROM_DATABASE=Konka Group Co., Ltd. - -@@ -72037,12 +72265,18 @@ OUI:F8AC6D* - OUI:F8B156* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:F8B2F3* -+ ID_OUI_FROM_DATABASE=GUANGZHOU BOSMA TECHNOLOGY CO.,LTD -+ - OUI:F8B599* - ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd - - OUI:F8BC12* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:F8BC41* -+ ID_OUI_FROM_DATABASE=Rosslare Enterprises Limited -+ - OUI:F8C001* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -72310,6 +72544,9 @@ OUI:FC6198* - OUI:FC626E* - ID_OUI_FROM_DATABASE=Beijing MDC Telecom - -+OUI:FC62B9* -+ ID_OUI_FROM_DATABASE=ALPS ERECTRIC CO.,LTD -+ - OUI:FC683E* - ID_OUI_FROM_DATABASE=Directed Perception, Inc - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 3bcdbc0..1b98b1d 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -7892,6 +7892,9 @@ pci:v00001002d0000692B* - pci:v00001002d0000692F* - ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] - -+pci:v00001002d00006939* -+ ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285] -+ - pci:v00001002d0000700F* - ID_MODEL_FROM_DATABASE=RS100 AGP Bridge - -@@ -17466,7 +17469,7 @@ pci:v00001093d00000162* - ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-50 - - pci:v00001093d00001150* -- ID_MODEL_FROM_DATABASE=PCI-DIO-32HS High Speed Digital I/O Board -+ ID_MODEL_FROM_DATABASE=PCI-6533 (PCI-DIO-32HS) - - pci:v00001093d00001170* - ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-10 -@@ -17481,22 +17484,31 @@ pci:v00001093d000011B0* - ID_MODEL_FROM_DATABASE=PXI-6070E - - pci:v00001093d000011C0* -- ID_MODEL_FROM_DATABASE=PXI-6040e -+ ID_MODEL_FROM_DATABASE=PXI-6040E - - pci:v00001093d000011D0* -- ID_MODEL_FROM_DATABASE=PXI-6030e -+ ID_MODEL_FROM_DATABASE=PXI-6030E - - pci:v00001093d00001270* -- ID_MODEL_FROM_DATABASE=PCI-6032e -+ ID_MODEL_FROM_DATABASE=PCI-6032E -+ -+pci:v00001093d00001290* -+ ID_MODEL_FROM_DATABASE=PCI-6704 -+ -+pci:v00001093d000012B0* -+ ID_MODEL_FROM_DATABASE=PCI-6534 - - pci:v00001093d00001310* - ID_MODEL_FROM_DATABASE=PCI-6602 - -+pci:v00001093d00001320* -+ ID_MODEL_FROM_DATABASE=PXI-6533 -+ - pci:v00001093d00001330* - ID_MODEL_FROM_DATABASE=PCI-6031E - - pci:v00001093d00001340* -- ID_MODEL_FROM_DATABASE=PCI-6033e -+ ID_MODEL_FROM_DATABASE=PCI-6033E - - pci:v00001093d00001350* - ID_MODEL_FROM_DATABASE=PCI-6071E -@@ -17504,6 +17516,12 @@ pci:v00001093d00001350* - pci:v00001093d00001360* - ID_MODEL_FROM_DATABASE=PXI-6602 - -+pci:v00001093d000013C0* -+ ID_MODEL_FROM_DATABASE=PXI-6508 -+ -+pci:v00001093d00001490* -+ ID_MODEL_FROM_DATABASE=PXI-6534 -+ - pci:v00001093d000014E0* - ID_MODEL_FROM_DATABASE=PCI-6110 - -@@ -17519,6 +17537,9 @@ pci:v00001093d000015B0* - pci:v00001093d00001710* - ID_MODEL_FROM_DATABASE=PXI-6509 - -+pci:v00001093d000017C0* -+ ID_MODEL_FROM_DATABASE=PXI-5690 -+ - pci:v00001093d000017D0* - ID_MODEL_FROM_DATABASE=PCI-6503 - -@@ -17534,6 +17555,33 @@ pci:v00001093d000018B0* - pci:v00001093d000018C0* - ID_MODEL_FROM_DATABASE=PXI-6052E - -+pci:v00001093d00001920* -+ ID_MODEL_FROM_DATABASE=PXI-6704 -+ -+pci:v00001093d00001930* -+ ID_MODEL_FROM_DATABASE=PCI-6040E -+ -+pci:v00001093d000019C0* -+ ID_MODEL_FROM_DATABASE=PCI-4472 -+ -+pci:v00001093d00001AA0* -+ ID_MODEL_FROM_DATABASE=PXI-4110 -+ -+pci:v00001093d00001AD0* -+ ID_MODEL_FROM_DATABASE=PCI-6133 -+ -+pci:v00001093d00001AE0* -+ ID_MODEL_FROM_DATABASE=PXI-6133 -+ -+pci:v00001093d00001E30* -+ ID_MODEL_FROM_DATABASE=PCI-6624 -+ -+pci:v00001093d00001E40* -+ ID_MODEL_FROM_DATABASE=PXI-6624 -+ -+pci:v00001093d00001E50* -+ ID_MODEL_FROM_DATABASE=PXI-5404 -+ - pci:v00001093d00002410* - ID_MODEL_FROM_DATABASE=PCI-6733 - -@@ -17543,12 +17591,42 @@ pci:v00001093d00002420* - pci:v00001093d00002430* - ID_MODEL_FROM_DATABASE=PCI-6731 - -+pci:v00001093d00002470* -+ ID_MODEL_FROM_DATABASE=PCI-4474 -+ -+pci:v00001093d000024A0* -+ ID_MODEL_FROM_DATABASE=PCI-4065 -+ -+pci:v00001093d000024B0* -+ ID_MODEL_FROM_DATABASE=PXI-4200 -+ -+pci:v00001093d000024F0* -+ ID_MODEL_FROM_DATABASE=PXI-4472 -+ -+pci:v00001093d00002510* -+ ID_MODEL_FROM_DATABASE=PCI-4472 -+ -+pci:v00001093d00002520* -+ ID_MODEL_FROM_DATABASE=PCI-4474 -+ -+pci:v00001093d000027A0* -+ ID_MODEL_FROM_DATABASE=PCI-6123 -+ -+pci:v00001093d000027B0* -+ ID_MODEL_FROM_DATABASE=PXI-6123 -+ - pci:v00001093d00002880* - ID_MODEL_FROM_DATABASE=DAQCard-6601 - - pci:v00001093d00002890* - ID_MODEL_FROM_DATABASE=PCI-6036E - -+pci:v00001093d000028A0* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ -+pci:v00001093d000028B0* -+ ID_MODEL_FROM_DATABASE=PCI-6013 -+ - pci:v00001093d000028C0* - ID_MODEL_FROM_DATABASE=PCI-6014 - -@@ -17558,6 +17636,12 @@ pci:v00001093d000028D0* - pci:v00001093d000028E0* - ID_MODEL_FROM_DATABASE=PXI-5122 - -+pci:v00001093d000029F0* -+ ID_MODEL_FROM_DATABASE=PXI-7334 -+ -+pci:v00001093d00002A00* -+ ID_MODEL_FROM_DATABASE=PXI-7344 -+ - pci:v00001093d00002A60* - ID_MODEL_FROM_DATABASE=PCI-6023E - -@@ -17568,7 +17652,13 @@ pci:v00001093d00002A80* - ID_MODEL_FROM_DATABASE=PCI-6025E - - pci:v00001093d00002AB0* -- ID_MODEL_FROM_DATABASE=PXI-6025e -+ ID_MODEL_FROM_DATABASE=PXI-6025E -+ -+pci:v00001093d00002B10* -+ ID_MODEL_FROM_DATABASE=PXI-6527 -+ -+pci:v00001093d00002B20* -+ ID_MODEL_FROM_DATABASE=PCI-6527 - - pci:v00001093d00002B80* - ID_MODEL_FROM_DATABASE=PXI-6713 -@@ -17585,15 +17675,75 @@ pci:v00001093d00002C70* - pci:v00001093d00002C80* - ID_MODEL_FROM_DATABASE=PCI-6035E - -+pci:v00001093d00002C90* -+ ID_MODEL_FROM_DATABASE=PCI-6703 -+ - pci:v00001093d00002CA0* - ID_MODEL_FROM_DATABASE=PCI-6034E - -+pci:v00001093d00002CB0* -+ ID_MODEL_FROM_DATABASE=PCI-7344 -+ - pci:v00001093d00002CC0* - ID_MODEL_FROM_DATABASE=PXI-6608 - -+pci:v00001093d00002D20* -+ ID_MODEL_FROM_DATABASE=PXI-5600 -+ - pci:v00001093d00002DB0* - ID_MODEL_FROM_DATABASE=PCI-6608 - -+pci:v00001093d00002DC0* -+ ID_MODEL_FROM_DATABASE=PCI-4070 -+ -+pci:v00001093d00002DD0* -+ ID_MODEL_FROM_DATABASE=PXI-4070 -+ -+pci:v00001093d00002EB0* -+ ID_MODEL_FROM_DATABASE=PXI-4472 -+ -+pci:v00001093d00002EC0* -+ ID_MODEL_FROM_DATABASE=PXI-6115 -+ -+pci:v00001093d00002ED0* -+ ID_MODEL_FROM_DATABASE=PCI-6115 -+ -+pci:v00001093d00002EE0* -+ ID_MODEL_FROM_DATABASE=PXI-6120 -+ -+pci:v00001093d00002EF0* -+ ID_MODEL_FROM_DATABASE=PCI-6120 -+ -+pci:v00001093d00002FD1* -+ ID_MODEL_FROM_DATABASE=PCI-7334 -+ -+pci:v00001093d00002FD2* -+ ID_MODEL_FROM_DATABASE=PCI-7350 -+ -+pci:v00001093d00002FD3* -+ ID_MODEL_FROM_DATABASE=PCI-7342 -+ -+pci:v00001093d00002FD5* -+ ID_MODEL_FROM_DATABASE=PXI-7350 -+ -+pci:v00001093d00002FD6* -+ ID_MODEL_FROM_DATABASE=PXI-7342 -+ -+pci:v00001093d00007003* -+ ID_MODEL_FROM_DATABASE=PCI-6551 -+ -+pci:v00001093d00007004* -+ ID_MODEL_FROM_DATABASE=PXI-6551 -+ -+pci:v00001093d0000700B* -+ ID_MODEL_FROM_DATABASE=PXI-5421 -+ -+pci:v00001093d0000700C* -+ ID_MODEL_FROM_DATABASE=PCI-5421 -+ -+pci:v00001093d00007023* -+ ID_MODEL_FROM_DATABASE=PXI-2593 -+ - pci:v00001093d0000702C* - ID_MODEL_FROM_DATABASE=PXI-7831R - -@@ -17606,23 +17756,152 @@ pci:v00001093d0000702E* - pci:v00001093d0000702F* - ID_MODEL_FROM_DATABASE=PCI-7811R - -+pci:v00001093d00007030* -+ ID_MODEL_FROM_DATABASE=PCI-CAN (Series 2) -+ -+pci:v00001093d00007031* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/2 (Series 2) -+ -+pci:v00001093d00007032* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS (Series 2) -+ -+pci:v00001093d00007033* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 (Series 2) -+ -+pci:v00001093d00007034* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/DS (Series 2) -+ -+pci:v00001093d00007035* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 1 port) -+ -+pci:v00001093d00007036* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 2 ports) -+ -+pci:v00001093d00007037* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 1 port) -+ -+pci:v00001093d00007038* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 2 ports) -+ -+pci:v00001093d00007039* -+ ID_MODEL_FROM_DATABASE=PXI-8462 (Series 2) -+ -+pci:v00001093d0000703F* -+ ID_MODEL_FROM_DATABASE=PXI-2566 -+ -+pci:v00001093d00007040* -+ ID_MODEL_FROM_DATABASE=PXI-2567 -+ -+pci:v00001093d00007044* -+ ID_MODEL_FROM_DATABASE=MXI-4 Connection Monitor -+ -+pci:v00001093d00007047* -+ ID_MODEL_FROM_DATABASE=PXI-6653 -+ -+pci:v00001093d0000704C* -+ ID_MODEL_FROM_DATABASE=PXI-2530 -+ -+pci:v00001093d0000704F* -+ ID_MODEL_FROM_DATABASE=PXI-4220 -+ -+pci:v00001093d00007050* -+ ID_MODEL_FROM_DATABASE=PXI-4204 -+ - pci:v00001093d00007055* - ID_MODEL_FROM_DATABASE=PXI-7830R - - pci:v00001093d00007056* - ID_MODEL_FROM_DATABASE=PCI-7830R - -+pci:v00001093d0000705A* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/XS (Series 2) -+ -+pci:v00001093d0000705B* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/XS2 (Series 2) -+ -+pci:v00001093d0000705C* -+ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 1 port) -+ -+pci:v00001093d0000705D* -+ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 2 ports) -+ -+pci:v00001093d0000705E* -+ ID_MODEL_FROM_DATABASE=cRIO-9102 -+ -+pci:v00001093d00007060* -+ ID_MODEL_FROM_DATABASE=PXI-5610 -+ -+pci:v00001093d00007064* -+ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module -+ -+pci:v00001093d00007065* -+ ID_MODEL_FROM_DATABASE=PXI-6652 -+ -+pci:v00001093d00007066* -+ ID_MODEL_FROM_DATABASE=PXI-6651 -+ -+pci:v00001093d00007067* -+ ID_MODEL_FROM_DATABASE=PXI-2529 -+ -+pci:v00001093d00007068* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/SW (Series 2) -+ -+pci:v00001093d00007069* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/SW2 (Series 2) -+ -+pci:v00001093d0000706A* -+ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 1 port) -+ -+pci:v00001093d0000706B* -+ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 2 ports) -+ -+pci:v00001093d00007073* -+ ID_MODEL_FROM_DATABASE=PCI-6723 -+ - pci:v00001093d00007074* - ID_MODEL_FROM_DATABASE=PXI-7833R - -+pci:v00001093d00007075* -+ ID_MODEL_FROM_DATABASE=PXI-6552 -+ -+pci:v00001093d00007076* -+ ID_MODEL_FROM_DATABASE=PCI-6552 -+ -+pci:v00001093d0000707C* -+ ID_MODEL_FROM_DATABASE=PXI-1428 -+ -+pci:v00001093d0000707E* -+ ID_MODEL_FROM_DATABASE=PXI-4462 -+ -+pci:v00001093d00007080* -+ ID_MODEL_FROM_DATABASE=PXI-8430/2 (RS-232) Interface -+ -+pci:v00001093d00007081* -+ ID_MODEL_FROM_DATABASE=PXI-8431/2 (RS-485) Interface -+ - pci:v00001093d00007083* - ID_MODEL_FROM_DATABASE=PCI-7833R - - pci:v00001093d00007085* - ID_MODEL_FROM_DATABASE=PCI-6509 - -+pci:v00001093d00007086* -+ ID_MODEL_FROM_DATABASE=PXI-6528 -+ -+pci:v00001093d00007087* -+ ID_MODEL_FROM_DATABASE=PCI-6515 -+ -+pci:v00001093d00007088* -+ ID_MODEL_FROM_DATABASE=PCI-6514 -+ -+pci:v00001093d0000708C* -+ ID_MODEL_FROM_DATABASE=PXI-2568 -+ -+pci:v00001093d0000708D* -+ ID_MODEL_FROM_DATABASE=PXI-2569 -+ - pci:v00001093d000070A9* -- ID_MODEL_FROM_DATABASE=PCI-6528 (Digital I/O at 60V) -+ ID_MODEL_FROM_DATABASE=PCI-6528 - - pci:v00001093d000070AA* - ID_MODEL_FROM_DATABASE=PCI-6229 -@@ -17633,6 +17912,9 @@ pci:v00001093d000070AB* - pci:v00001093d000070AC* - ID_MODEL_FROM_DATABASE=PCI-6289 - -+pci:v00001093d000070AD* -+ ID_MODEL_FROM_DATABASE=PXI-6251 -+ - pci:v00001093d000070AE* - ID_MODEL_FROM_DATABASE=PXI-6220 - -@@ -17642,9 +17924,21 @@ pci:v00001093d000070AF* - pci:v00001093d000070B0* - ID_MODEL_FROM_DATABASE=PCI-6220 - -+pci:v00001093d000070B1* -+ ID_MODEL_FROM_DATABASE=PXI-6229 -+ -+pci:v00001093d000070B2* -+ ID_MODEL_FROM_DATABASE=PXI-6259 -+ -+pci:v00001093d000070B3* -+ ID_MODEL_FROM_DATABASE=PXI-6289 -+ - pci:v00001093d000070B4* - ID_MODEL_FROM_DATABASE=PCI-6250 - -+pci:v00001093d000070B5* -+ ID_MODEL_FROM_DATABASE=PXI-6221 -+ - pci:v00001093d000070B6* - ID_MODEL_FROM_DATABASE=PCI-6280 - -@@ -17652,7 +17946,16 @@ pci:v00001093d000070B7* - ID_MODEL_FROM_DATABASE=PCI-6254 - - pci:v00001093d000070B8* -- ID_MODEL_FROM_DATABASE=PCI-6251 [M Series - High Speed Multifunction DAQ] -+ ID_MODEL_FROM_DATABASE=PCI-6251 -+ -+pci:v00001093d000070B9* -+ ID_MODEL_FROM_DATABASE=PXI-6250 -+ -+pci:v00001093d000070BA* -+ ID_MODEL_FROM_DATABASE=PXI-6254 -+ -+pci:v00001093d000070BB* -+ ID_MODEL_FROM_DATABASE=PXI-6280 - - pci:v00001093d000070BC* - ID_MODEL_FROM_DATABASE=PCI-6284 -@@ -17660,12 +17963,144 @@ pci:v00001093d000070BC* - pci:v00001093d000070BD* - ID_MODEL_FROM_DATABASE=PCI-6281 - -+pci:v00001093d000070BE* -+ ID_MODEL_FROM_DATABASE=PXI-6284 -+ - pci:v00001093d000070BF* - ID_MODEL_FROM_DATABASE=PXI-6281 - - pci:v00001093d000070C0* - ID_MODEL_FROM_DATABASE=PCI-6143 - -+pci:v00001093d000070C3* -+ ID_MODEL_FROM_DATABASE=PCI-6511 -+ -+pci:v00001093d000070C4* -+ ID_MODEL_FROM_DATABASE=PXI-7330 -+ -+pci:v00001093d000070C5* -+ ID_MODEL_FROM_DATABASE=PXI-7340 -+ -+pci:v00001093d000070C6* -+ ID_MODEL_FROM_DATABASE=PCI-7330 -+ -+pci:v00001093d000070C7* -+ ID_MODEL_FROM_DATABASE=PCI-7340 -+ -+pci:v00001093d000070C8* -+ ID_MODEL_FROM_DATABASE=PCI-6513 -+ -+pci:v00001093d000070C9* -+ ID_MODEL_FROM_DATABASE=PXI-6515 -+ -+pci:v00001093d000070CA* -+ ID_MODEL_FROM_DATABASE=PCI-1405 -+ -+pci:v00001093d000070CC* -+ ID_MODEL_FROM_DATABASE=PCI-6512 -+ -+pci:v00001093d000070CD* -+ ID_MODEL_FROM_DATABASE=PXI-6514 -+ -+pci:v00001093d000070CE* -+ ID_MODEL_FROM_DATABASE=PXI-1405 -+ -+pci:v00001093d000070CF* -+ ID_MODEL_FROM_DATABASE=PCIe-GPIB -+ -+pci:v00001093d000070D0* -+ ID_MODEL_FROM_DATABASE=PXI-2570 -+ -+pci:v00001093d000070D1* -+ ID_MODEL_FROM_DATABASE=PXI-6513 -+ -+pci:v00001093d000070D2* -+ ID_MODEL_FROM_DATABASE=PXI-6512 -+ -+pci:v00001093d000070D3* -+ ID_MODEL_FROM_DATABASE=PXI-6511 -+ -+pci:v00001093d000070D4* -+ ID_MODEL_FROM_DATABASE=PCI-6722 -+ -+pci:v00001093d000070D6* -+ ID_MODEL_FROM_DATABASE=PXI-4072 -+ -+pci:v00001093d000070D7* -+ ID_MODEL_FROM_DATABASE=PXI-6541 -+ -+pci:v00001093d000070D8* -+ ID_MODEL_FROM_DATABASE=PXI-6542 -+ -+pci:v00001093d000070D9* -+ ID_MODEL_FROM_DATABASE=PCI-6541 -+ -+pci:v00001093d000070DA* -+ ID_MODEL_FROM_DATABASE=PCI-6542 -+ -+pci:v00001093d000070DB* -+ ID_MODEL_FROM_DATABASE=PCI-8430/2 (RS-232) Interface -+ -+pci:v00001093d000070DC* -+ ID_MODEL_FROM_DATABASE=PCI-8431/2 (RS-485) Interface -+ -+pci:v00001093d000070DD* -+ ID_MODEL_FROM_DATABASE=PXI-8430/4 (RS-232) Interface -+ -+pci:v00001093d000070DE* -+ ID_MODEL_FROM_DATABASE=PXI-8431/4 (RS-485) Interface -+ -+pci:v00001093d000070DF* -+ ID_MODEL_FROM_DATABASE=PCI-8430/4 (RS-232) Interface -+ -+pci:v00001093d000070E0* -+ ID_MODEL_FROM_DATABASE=PCI-8431/4 (RS-485) Interface -+ -+pci:v00001093d000070E1* -+ ID_MODEL_FROM_DATABASE=PXI-2532 -+ -+pci:v00001093d000070E2* -+ ID_MODEL_FROM_DATABASE=PXI-8430/8 (RS-232) Interface -+ -+pci:v00001093d000070E3* -+ ID_MODEL_FROM_DATABASE=PXI-8431/8 (RS-485) Interface -+ -+pci:v00001093d000070E4* -+ ID_MODEL_FROM_DATABASE=PCI-8430/8 (RS-232) Interface -+ -+pci:v00001093d000070E5* -+ ID_MODEL_FROM_DATABASE=PCI-8431/8 (RS-485) Interface -+ -+pci:v00001093d000070E6* -+ ID_MODEL_FROM_DATABASE=PXI-8430/16 (RS-232) Interface -+ -+pci:v00001093d000070E7* -+ ID_MODEL_FROM_DATABASE=PCI-8430/16 (RS-232) Interface -+ -+pci:v00001093d000070E8* -+ ID_MODEL_FROM_DATABASE=PXI-8432/2 (Isolated RS-232) Interface -+ -+pci:v00001093d000070E9* -+ ID_MODEL_FROM_DATABASE=PXI-8433/2 (Isolated RS-485) Interface -+ -+pci:v00001093d000070EA* -+ ID_MODEL_FROM_DATABASE=PCI-8432/2 (Isolated RS-232) Interface -+ -+pci:v00001093d000070EB* -+ ID_MODEL_FROM_DATABASE=PCI-8433/2 (Isolated RS-485) Interface -+ -+pci:v00001093d000070EC* -+ ID_MODEL_FROM_DATABASE=PXI-8432/4 (Isolated RS-232) Interface -+ -+pci:v00001093d000070ED* -+ ID_MODEL_FROM_DATABASE=PXI-8433/4 (Isolated RS-485) Interface -+ -+pci:v00001093d000070EE* -+ ID_MODEL_FROM_DATABASE=PCI-8432/4 (Isolated RS-232) Interface -+ -+pci:v00001093d000070EF* -+ ID_MODEL_FROM_DATABASE=PCI-8433/4 (Isolated RS-485) Interface -+ - pci:v00001093d000070F0* - ID_MODEL_FROM_DATABASE=PXI-5922 - -@@ -17675,57 +18110,363 @@ pci:v00001093d000070F1* - pci:v00001093d000070F2* - ID_MODEL_FROM_DATABASE=PCI-6224 - -+pci:v00001093d000070F3* -+ ID_MODEL_FROM_DATABASE=PXI-6224 -+ -+pci:v00001093d000070F6* -+ ID_MODEL_FROM_DATABASE=cRIO-9101 -+ -+pci:v00001093d000070F7* -+ ID_MODEL_FROM_DATABASE=cRIO-9103 -+ -+pci:v00001093d000070F8* -+ ID_MODEL_FROM_DATABASE=cRIO-9104 -+ -+pci:v00001093d000070FF* -+ ID_MODEL_FROM_DATABASE=PXI-6723 -+ -+pci:v00001093d00007100* -+ ID_MODEL_FROM_DATABASE=PXI-6722 -+ -+pci:v00001093d00007104* -+ ID_MODEL_FROM_DATABASE=PCIx-1429 -+ -+pci:v00001093d00007105* -+ ID_MODEL_FROM_DATABASE=PCIe-1429 -+ -+pci:v00001093d0000710A* -+ ID_MODEL_FROM_DATABASE=PXI-4071 -+ -+pci:v00001093d0000710D* -+ ID_MODEL_FROM_DATABASE=PXI-6143 -+ -+pci:v00001093d0000710E* -+ ID_MODEL_FROM_DATABASE=PCIe-GPIB -+ -+pci:v00001093d0000710F* -+ ID_MODEL_FROM_DATABASE=PXI-5422 -+ -+pci:v00001093d00007110* -+ ID_MODEL_FROM_DATABASE=PCI-5422 -+ -+pci:v00001093d00007111* -+ ID_MODEL_FROM_DATABASE=PXI-5441 -+ -+pci:v00001093d00007119* -+ ID_MODEL_FROM_DATABASE=PXI-6561 -+ -+pci:v00001093d0000711A* -+ ID_MODEL_FROM_DATABASE=PXI-6562 -+ -+pci:v00001093d0000711B* -+ ID_MODEL_FROM_DATABASE=PCI-6561 -+ -+pci:v00001093d0000711C* -+ ID_MODEL_FROM_DATABASE=PCI-6562 -+ -+pci:v00001093d00007120* -+ ID_MODEL_FROM_DATABASE=PCI-7390 -+ - pci:v00001093d00007121* - ID_MODEL_FROM_DATABASE=PXI-5122EX - - pci:v00001093d00007122* - ID_MODEL_FROM_DATABASE=PCI-5122EX - -+pci:v00001093d00007123* -+ ID_MODEL_FROM_DATABASE=PXIe-5653 -+ -+pci:v00001093d00007124* -+ ID_MODEL_FROM_DATABASE=PCI-6510 -+ -+pci:v00001093d00007125* -+ ID_MODEL_FROM_DATABASE=PCI-6516 -+ -+pci:v00001093d00007126* -+ ID_MODEL_FROM_DATABASE=PCI-6517 -+ -+pci:v00001093d00007127* -+ ID_MODEL_FROM_DATABASE=PCI-6518 -+ -+pci:v00001093d00007128* -+ ID_MODEL_FROM_DATABASE=PCI-6519 -+ -+pci:v00001093d00007137* -+ ID_MODEL_FROM_DATABASE=PXI-2575 -+ -+pci:v00001093d0000713C* -+ ID_MODEL_FROM_DATABASE=PXI-2585 -+ -+pci:v00001093d0000713D* -+ ID_MODEL_FROM_DATABASE=PXI-2586 -+ -+pci:v00001093d00007142* -+ ID_MODEL_FROM_DATABASE=PXI-4224 -+ - pci:v00001093d00007144* -- ID_MODEL_FROM_DATABASE=PXI-5124 (12-bit 200 MS/s Digitizer) -+ ID_MODEL_FROM_DATABASE=PXI-5124 - - pci:v00001093d00007145* - ID_MODEL_FROM_DATABASE=PCI-5124 - -+pci:v00001093d00007146* -+ ID_MODEL_FROM_DATABASE=PCI-6132 -+ -+pci:v00001093d00007147* -+ ID_MODEL_FROM_DATABASE=PXI-6132 -+ -+pci:v00001093d00007148* -+ ID_MODEL_FROM_DATABASE=PCI-6122 -+ -+pci:v00001093d00007149* -+ ID_MODEL_FROM_DATABASE=PXI-6122 -+ - pci:v00001093d0000714C* - ID_MODEL_FROM_DATABASE=PXI-5114 - - pci:v00001093d0000714D* - ID_MODEL_FROM_DATABASE=PCI-5114 - -+pci:v00001093d00007150* -+ ID_MODEL_FROM_DATABASE=PXI-2564 -+ - pci:v00001093d00007152* - ID_MODEL_FROM_DATABASE=PCI-5640R - -+pci:v00001093d00007156* -+ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module -+ -+pci:v00001093d0000715D* -+ ID_MODEL_FROM_DATABASE=PCI-1426 -+ -+pci:v00001093d00007167* -+ ID_MODEL_FROM_DATABASE=PXI-5412 -+ -+pci:v00001093d00007168* -+ ID_MODEL_FROM_DATABASE=PCI-5412 -+ -+pci:v00001093d0000716B* -+ ID_MODEL_FROM_DATABASE=PCI-6230 -+ - pci:v00001093d0000716C* - ID_MODEL_FROM_DATABASE=PCI-6225 - -+pci:v00001093d0000716D* -+ ID_MODEL_FROM_DATABASE=PXI-6225 -+ -+pci:v00001093d0000716F* -+ ID_MODEL_FROM_DATABASE=PCI-4461 -+ -+pci:v00001093d00007170* -+ ID_MODEL_FROM_DATABASE=PCI-4462 -+ -+pci:v00001093d00007171* -+ ID_MODEL_FROM_DATABASE=PCI-6010 -+ -+pci:v00001093d00007174* -+ ID_MODEL_FROM_DATABASE=PXI-8360 -+ -+pci:v00001093d00007177* -+ ID_MODEL_FROM_DATABASE=PXI-6230 -+ - pci:v00001093d0000717D* -- ID_MODEL_FROM_DATABASE=PCIE-6251 -+ ID_MODEL_FROM_DATABASE=PCIe-6251 - - pci:v00001093d0000717F* - ID_MODEL_FROM_DATABASE=PCIe-6259 - -+pci:v00001093d00007187* -+ ID_MODEL_FROM_DATABASE=PCI-1410 -+ -+pci:v00001093d0000718B* -+ ID_MODEL_FROM_DATABASE=PCI-6521 -+ -+pci:v00001093d0000718C* -+ ID_MODEL_FROM_DATABASE=PXI-6521 -+ -+pci:v00001093d00007191* -+ ID_MODEL_FROM_DATABASE=PCI-6154 -+ - pci:v00001093d00007193* - ID_MODEL_FROM_DATABASE=PXI-7813R - - pci:v00001093d00007194* - ID_MODEL_FROM_DATABASE=PCI-7813R - -+pci:v00001093d00007195* -+ ID_MODEL_FROM_DATABASE=PCI-8254R -+ -+pci:v00001093d00007197* -+ ID_MODEL_FROM_DATABASE=PXI-5402 -+ -+pci:v00001093d00007198* -+ ID_MODEL_FROM_DATABASE=PCI-5402 -+ -+pci:v00001093d0000719F* -+ ID_MODEL_FROM_DATABASE=PCIe-6535 -+ -+pci:v00001093d000071A0* -+ ID_MODEL_FROM_DATABASE=PCIe-6536 -+ -+pci:v00001093d000071A3* -+ ID_MODEL_FROM_DATABASE=PXI-5650 -+ -+pci:v00001093d000071A4* -+ ID_MODEL_FROM_DATABASE=PXI-5652 -+ -+pci:v00001093d000071A5* -+ ID_MODEL_FROM_DATABASE=PXI-2594 -+ -+pci:v00001093d000071A7* -+ ID_MODEL_FROM_DATABASE=PXI-2595 -+ -+pci:v00001093d000071A9* -+ ID_MODEL_FROM_DATABASE=PXI-2596 -+ -+pci:v00001093d000071AA* -+ ID_MODEL_FROM_DATABASE=PXI-2597 -+ -+pci:v00001093d000071AB* -+ ID_MODEL_FROM_DATABASE=PXI-2598 -+ -+pci:v00001093d000071AC* -+ ID_MODEL_FROM_DATABASE=PXI-2599 -+ -+pci:v00001093d000071AD* -+ ID_MODEL_FROM_DATABASE=PCI-GPIB+ -+ -+pci:v00001093d000071AE* -+ ID_MODEL_FROM_DATABASE=PCIe-1430 -+ -+pci:v00001093d000071B7* -+ ID_MODEL_FROM_DATABASE=PXI-1056 Trigger Routing Module -+ -+pci:v00001093d000071B8* -+ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module -+ -+pci:v00001093d000071B9* -+ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module -+ -+pci:v00001093d000071BB* -+ ID_MODEL_FROM_DATABASE=PXI-2584 -+ - pci:v00001093d000071BC* -- ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) -+ ID_MODEL_FROM_DATABASE=PCI-6221 (37-pin) - --pci:v00001093d000071D0* -- ID_MODEL_FROM_DATABASE=PXI-6143 -+pci:v00001093d000071BF* -+ ID_MODEL_FROM_DATABASE=PCIe-1427 -+ -+pci:v00001093d000071C5* -+ ID_MODEL_FROM_DATABASE=PCI-6520 -+ -+pci:v00001093d000071C6* -+ ID_MODEL_FROM_DATABASE=PXI-2576 -+ -+pci:v00001093d000071C7* -+ ID_MODEL_FROM_DATABASE=cRIO-9072 - - pci:v00001093d000071DC* - ID_MODEL_FROM_DATABASE=PCI-1588 - -+pci:v00001093d000071E0* -+ ID_MODEL_FROM_DATABASE=PCI-6255 -+ -+pci:v00001093d000071E1* -+ ID_MODEL_FROM_DATABASE=PXI-6255 -+ -+pci:v00001093d000071E2* -+ ID_MODEL_FROM_DATABASE=PXI-5406 -+ -+pci:v00001093d000071E3* -+ ID_MODEL_FROM_DATABASE=PCI-5406 -+ -+pci:v00001093d000071FC* -+ ID_MODEL_FROM_DATABASE=PXI-4022 -+ -+pci:v00001093d00007209* -+ ID_MODEL_FROM_DATABASE=PCI-6233 -+ -+pci:v00001093d0000720A* -+ ID_MODEL_FROM_DATABASE=PXI-6233 -+ -+pci:v00001093d0000720B* -+ ID_MODEL_FROM_DATABASE=PCI-6238 -+ -+pci:v00001093d0000720C* -+ ID_MODEL_FROM_DATABASE=PXI-6238 -+ - pci:v00001093d00007260* - ID_MODEL_FROM_DATABASE=PXI-5142 - - pci:v00001093d00007261* - ID_MODEL_FROM_DATABASE=PCI-5142 - -+pci:v00001093d0000726D* -+ ID_MODEL_FROM_DATABASE=PXI-5651 -+ -+pci:v00001093d00007273* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ -+pci:v00001093d00007274* -+ ID_MODEL_FROM_DATABASE=PXI-4462 -+ -+pci:v00001093d00007279* -+ ID_MODEL_FROM_DATABASE=PCI-6232 -+ -+pci:v00001093d0000727A* -+ ID_MODEL_FROM_DATABASE=PXI-6232 -+ -+pci:v00001093d0000727B* -+ ID_MODEL_FROM_DATABASE=PCI-6239 -+ -+pci:v00001093d0000727C* -+ ID_MODEL_FROM_DATABASE=PXI-6239 -+ -+pci:v00001093d0000727E* -+ ID_MODEL_FROM_DATABASE=SMBus Controller -+ -+pci:v00001093d0000727Esv00001093sd000075AC* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8388) -+ -+pci:v00001093d0000727Esv00001093sd000075AD* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8389) -+ -+pci:v00001093d0000727Esv00001093sd00007650* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8381) -+ -+pci:v00001093d0000727Esv00001093sd00008360* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8360) -+ -+pci:v00001093d0000727Esv00001093sd00008370* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8370) -+ -+pci:v00001093d0000727Esv00001093sd00008375* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8375) -+ -+pci:v00001093d00007281* -+ ID_MODEL_FROM_DATABASE=PCI-6236 -+ -+pci:v00001093d00007282* -+ ID_MODEL_FROM_DATABASE=PXI-6236 -+ -+pci:v00001093d00007283* -+ ID_MODEL_FROM_DATABASE=PXI-2554 -+ -+pci:v00001093d00007288* -+ ID_MODEL_FROM_DATABASE=PXIe-5611 -+ -+pci:v00001093d00007293* -+ ID_MODEL_FROM_DATABASE=PCIe-8255R -+ -+pci:v00001093d0000729D* -+ ID_MODEL_FROM_DATABASE=cRIO-9074 -+ -+pci:v00001093d000072A4* -+ ID_MODEL_FROM_DATABASE=PCIe-4065 -+ -+pci:v00001093d000072A7* -+ ID_MODEL_FROM_DATABASE=PCIe-6537 -+ - pci:v00001093d000072A8* - ID_MODEL_FROM_DATABASE=PXI-5152 - -@@ -17741,21 +18482,117 @@ pci:v00001093d000072AB* - pci:v00001093d000072B8* - ID_MODEL_FROM_DATABASE=PXI-6682 - -+pci:v00001093d000072D0* -+ ID_MODEL_FROM_DATABASE=PXI-2545 -+ -+pci:v00001093d000072D1* -+ ID_MODEL_FROM_DATABASE=PXI-2546 -+ -+pci:v00001093d000072D2* -+ ID_MODEL_FROM_DATABASE=PXI-2547 -+ -+pci:v00001093d000072D3* -+ ID_MODEL_FROM_DATABASE=PXI-2548 -+ -+pci:v00001093d000072D4* -+ ID_MODEL_FROM_DATABASE=PXI-2549 -+ -+pci:v00001093d000072D5* -+ ID_MODEL_FROM_DATABASE=PXI-2555 -+ -+pci:v00001093d000072D6* -+ ID_MODEL_FROM_DATABASE=PXI-2556 -+ -+pci:v00001093d000072D7* -+ ID_MODEL_FROM_DATABASE=PXI-2557 -+ -+pci:v00001093d000072D8* -+ ID_MODEL_FROM_DATABASE=PXI-2558 -+ -+pci:v00001093d000072D9* -+ ID_MODEL_FROM_DATABASE=PXI-2559 -+ -+pci:v00001093d000072E8* -+ ID_MODEL_FROM_DATABASE=PXIe-6251 -+ -+pci:v00001093d000072E9* -+ ID_MODEL_FROM_DATABASE=PXIe-6259 -+ -+pci:v00001093d000072EF* -+ ID_MODEL_FROM_DATABASE=PXI-4498 -+ -+pci:v00001093d000072F0* -+ ID_MODEL_FROM_DATABASE=PXI-4496 -+ -+pci:v00001093d000072FB* -+ ID_MODEL_FROM_DATABASE=PXIe-6672 -+ -+pci:v00001093d0000730E* -+ ID_MODEL_FROM_DATABASE=PXI-4130 -+ - pci:v00001093d0000730F* - ID_MODEL_FROM_DATABASE=PXI-5922EX - - pci:v00001093d00007310* - ID_MODEL_FROM_DATABASE=PCI-5922EX - -+pci:v00001093d0000731C* -+ ID_MODEL_FROM_DATABASE=PXI-2535 -+ -+pci:v00001093d0000731D* -+ ID_MODEL_FROM_DATABASE=PXI-2536 -+ -+pci:v00001093d00007322* -+ ID_MODEL_FROM_DATABASE=PXIe-6124 -+ -+pci:v00001093d00007327* -+ ID_MODEL_FROM_DATABASE=PXI-6529 -+ -+pci:v00001093d00007331* -+ ID_MODEL_FROM_DATABASE=PXIe-5602 -+ -+pci:v00001093d00007332* -+ ID_MODEL_FROM_DATABASE=PXIe-5601 -+ - pci:v00001093d00007333* - ID_MODEL_FROM_DATABASE=PXI-5900 - -+pci:v00001093d00007335* -+ ID_MODEL_FROM_DATABASE=PXI-2533 -+ -+pci:v00001093d00007336* -+ ID_MODEL_FROM_DATABASE=PXI-2534 -+ -+pci:v00001093d00007342* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ - pci:v00001093d00007349* - ID_MODEL_FROM_DATABASE=PXI-5154 - - pci:v00001093d0000734A* - ID_MODEL_FROM_DATABASE=PCI-5154 - -+pci:v00001093d00007357* -+ ID_MODEL_FROM_DATABASE=PXI-4065 -+ -+pci:v00001093d00007359* -+ ID_MODEL_FROM_DATABASE=PXI-4495 -+ -+pci:v00001093d00007370* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ -+pci:v00001093d00007373* -+ ID_MODEL_FROM_DATABASE=sbRIO-9601 -+ -+pci:v00001093d00007374* -+ ID_MODEL_FROM_DATABASE=IOtech-9601 -+ -+pci:v00001093d00007375* -+ ID_MODEL_FROM_DATABASE=sbRIO-9602 -+ -+pci:v00001093d00007378* -+ ID_MODEL_FROM_DATABASE=sbRIO-9641 -+ - pci:v00001093d0000737D* - ID_MODEL_FROM_DATABASE=PXI-5124EX - -@@ -17786,9 +18623,126 @@ pci:v00001093d00007393* - pci:v00001093d00007394* - ID_MODEL_FROM_DATABASE=PCIe-7842R - -+pci:v00001093d00007397* -+ ID_MODEL_FROM_DATABASE=sbRIO-9611 -+ -+pci:v00001093d00007398* -+ ID_MODEL_FROM_DATABASE=sbRIO-9612 -+ -+pci:v00001093d00007399* -+ ID_MODEL_FROM_DATABASE=sbRIO-9631 -+ -+pci:v00001093d0000739A* -+ ID_MODEL_FROM_DATABASE=sbRIO-9632 -+ -+pci:v00001093d0000739B* -+ ID_MODEL_FROM_DATABASE=sbRIO-9642 -+ -+pci:v00001093d000073A1* -+ ID_MODEL_FROM_DATABASE=PXIe-4498 -+ -+pci:v00001093d000073A2* -+ ID_MODEL_FROM_DATABASE=PXIe-4496 -+ - pci:v00001093d000073A5* - ID_MODEL_FROM_DATABASE=PXIe-5641R - -+pci:v00001093d000073A7* -+ ID_MODEL_FROM_DATABASE=PXI-8250 Chassis Monitor Module -+ -+pci:v00001093d000073A8* -+ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS -+ -+pci:v00001093d000073A9* -+ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS -+ -+pci:v00001093d000073AA* -+ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS -+ -+pci:v00001093d000073AB* -+ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS -+ -+pci:v00001093d000073AC* -+ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS -+ -+pci:v00001093d000073AD* -+ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS -+ -+pci:v00001093d000073AF* -+ ID_MODEL_FROM_DATABASE=PXI-8516 LIN -+ -+pci:v00001093d000073B1* -+ ID_MODEL_FROM_DATABASE=PXI-8517 FlexRay -+ -+pci:v00001093d000073B2* -+ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen -+ -+pci:v00001093d000073B3* -+ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen -+ -+pci:v00001093d000073B4* -+ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet -+ -+pci:v00001093d000073B5* -+ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet -+ -+pci:v00001093d000073B6* -+ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS -+ -+pci:v00001093d000073B7* -+ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS -+ -+pci:v00001093d000073B8* -+ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS -+ -+pci:v00001093d000073B9* -+ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS -+ -+pci:v00001093d000073BA* -+ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS -+ -+pci:v00001093d000073BB* -+ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS -+ -+pci:v00001093d000073BD* -+ ID_MODEL_FROM_DATABASE=PCI-8516 LIN -+ -+pci:v00001093d000073BF* -+ ID_MODEL_FROM_DATABASE=PCI-8517 FlexRay -+ -+pci:v00001093d000073C0* -+ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen -+ -+pci:v00001093d000073C1* -+ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen -+ -+pci:v00001093d000073C2* -+ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet -+ -+pci:v00001093d000073C3* -+ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet -+ -+pci:v00001093d000073C5* -+ ID_MODEL_FROM_DATABASE=PXIe-2527 -+ -+pci:v00001093d000073C6* -+ ID_MODEL_FROM_DATABASE=PXIe-2529 -+ -+pci:v00001093d000073C8* -+ ID_MODEL_FROM_DATABASE=PXIe-2530 -+ -+pci:v00001093d000073C9* -+ ID_MODEL_FROM_DATABASE=PXIe-2532 -+ -+pci:v00001093d000073CA* -+ ID_MODEL_FROM_DATABASE=PXIe-2569 -+ -+pci:v00001093d000073CB* -+ ID_MODEL_FROM_DATABASE=PXIe-2575 -+ -+pci:v00001093d000073CC* -+ ID_MODEL_FROM_DATABASE=PXIe-2593 -+ - pci:v00001093d000073D5* - ID_MODEL_FROM_DATABASE=PXI-7951R - -@@ -17804,15 +18758,87 @@ pci:v00001093d000073E1* - pci:v00001093d000073EC* - ID_MODEL_FROM_DATABASE=PXI-7954R - -+pci:v00001093d000073ED* -+ ID_MODEL_FROM_DATABASE=cRIO-9073 -+ - pci:v00001093d000073F0* - ID_MODEL_FROM_DATABASE=PXI-5153 - - pci:v00001093d000073F1* - ID_MODEL_FROM_DATABASE=PCI-5153 - -+pci:v00001093d000073F4* -+ ID_MODEL_FROM_DATABASE=PXI-2515 -+ -+pci:v00001093d000073F6* -+ ID_MODEL_FROM_DATABASE=cRIO-9111 -+ -+pci:v00001093d000073F7* -+ ID_MODEL_FROM_DATABASE=cRIO-9112 -+ -+pci:v00001093d000073F8* -+ ID_MODEL_FROM_DATABASE=cRIO-9113 -+ -+pci:v00001093d000073F9* -+ ID_MODEL_FROM_DATABASE=cRIO-9114 -+ -+pci:v00001093d000073FA* -+ ID_MODEL_FROM_DATABASE=cRIO-9116 -+ -+pci:v00001093d000073FB* -+ ID_MODEL_FROM_DATABASE=cRIO-9118 -+ -+pci:v00001093d00007404* -+ ID_MODEL_FROM_DATABASE=PXI-4132 -+ - pci:v00001093d00007405* - ID_MODEL_FROM_DATABASE=PXIe-6674T - -+pci:v00001093d00007406* -+ ID_MODEL_FROM_DATABASE=PXIe-6674 -+ -+pci:v00001093d0000740E* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/16 (RS-232) Interface -+ -+pci:v00001093d0000740F* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/8 (RS-232) Interface -+ -+pci:v00001093d00007410* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/16 (RS-485) Interface -+ -+pci:v00001093d00007411* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/8 (RS-485) Interface -+ -+pci:v00001093d00007414* -+ ID_MODEL_FROM_DATABASE=PCIe-GPIB+ -+ -+pci:v00001093d0000741C* -+ ID_MODEL_FROM_DATABASE=PXI-5691 -+ -+pci:v00001093d0000741D* -+ ID_MODEL_FROM_DATABASE=PXI-5695 -+ -+pci:v00001093d0000743C* -+ ID_MODEL_FROM_DATABASE=CSC-3059 -+ -+pci:v00001093d00007448* -+ ID_MODEL_FROM_DATABASE=PXI-2510 -+ -+pci:v00001093d00007454* -+ ID_MODEL_FROM_DATABASE=PXI-2512 -+ -+pci:v00001093d00007455* -+ ID_MODEL_FROM_DATABASE=PXI-2514 -+ -+pci:v00001093d00007456* -+ ID_MODEL_FROM_DATABASE=PXIe-2512 -+ -+pci:v00001093d00007457* -+ ID_MODEL_FROM_DATABASE=PXIe-2514 -+ -+pci:v00001093d0000745A* -+ ID_MODEL_FROM_DATABASE=PXI-6682H -+ - pci:v00001093d0000745E* - ID_MODEL_FROM_DATABASE=PXI-5153EX - -@@ -17825,86 +18851,740 @@ pci:v00001093d00007460* - pci:v00001093d00007461* - ID_MODEL_FROM_DATABASE=PCI-5154EX - -+pci:v00001093d0000746D* -+ ID_MODEL_FROM_DATABASE=PXIe-5650 -+ -+pci:v00001093d0000746E* -+ ID_MODEL_FROM_DATABASE=PXIe-5651 -+ -+pci:v00001093d0000746F* -+ ID_MODEL_FROM_DATABASE=PXIe-5652 -+ -+pci:v00001093d00007472* -+ ID_MODEL_FROM_DATABASE=PXI-2800 -+ -+pci:v00001093d00007495* -+ ID_MODEL_FROM_DATABASE=PXIe-5603 -+ -+pci:v00001093d00007497* -+ ID_MODEL_FROM_DATABASE=PXIe-5605 -+ -+pci:v00001093d000074AE* -+ ID_MODEL_FROM_DATABASE=PXIe-2515 -+ -+pci:v00001093d000074B4* -+ ID_MODEL_FROM_DATABASE=PXI-2531 -+ -+pci:v00001093d000074B5* -+ ID_MODEL_FROM_DATABASE=PXIe-2531 -+ -+pci:v00001093d000074C1* -+ ID_MODEL_FROM_DATABASE=PXIe-8430/16 (RS-232) Interface -+ -+pci:v00001093d000074C2* -+ ID_MODEL_FROM_DATABASE=PXIe-8430/8 (RS-232) Interface -+ -+pci:v00001093d000074C3* -+ ID_MODEL_FROM_DATABASE=PXIe-8431/16 (RS-485) Interface -+ -+pci:v00001093d000074C4* -+ ID_MODEL_FROM_DATABASE=PXIe-8431/8 (RS-485) Interface -+ -+pci:v00001093d000074D5* -+ ID_MODEL_FROM_DATABASE=PXIe-5630 -+ -+pci:v00001093d000074D9* -+ ID_MODEL_FROM_DATABASE=PCIe-8432/2 (Isolated RS-232) Interface -+ -+pci:v00001093d000074DA* -+ ID_MODEL_FROM_DATABASE=PCIe-8433/2 (Isolated RS-485) Interface -+ -+pci:v00001093d000074DB* -+ ID_MODEL_FROM_DATABASE=PCIe-8432/4 (Isolated RS-232) Interface -+ -+pci:v00001093d000074DC* -+ ID_MODEL_FROM_DATABASE=PCIe-8433/4 (Isolated RS-485) Interface -+ -+pci:v00001093d000074E8* -+ ID_MODEL_FROM_DATABASE=NI 9148 -+ -+pci:v00001093d00007515* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/2 (RS-232) Interface -+ -+pci:v00001093d00007516* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/4 (RS-232) Interface -+ -+pci:v00001093d00007517* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/2 (RS-485) Interface -+ -+pci:v00001093d00007518* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/4 (RS-485) Interface -+ -+pci:v00001093d0000751B* -+ ID_MODEL_FROM_DATABASE=cRIO-9081 -+ -+pci:v00001093d0000751C* -+ ID_MODEL_FROM_DATABASE=cRIO-9082 -+ -+pci:v00001093d00007528* -+ ID_MODEL_FROM_DATABASE=PXIe-4497 -+ -+pci:v00001093d00007529* -+ ID_MODEL_FROM_DATABASE=PXIe-4499 -+ -+pci:v00001093d0000752A* -+ ID_MODEL_FROM_DATABASE=PXIe-4492 -+ - pci:v00001093d00007539* - ID_MODEL_FROM_DATABASE=NI 9157 - - pci:v00001093d0000753A* - ID_MODEL_FROM_DATABASE=NI 9159 - -+pci:v00001093d00007598* -+ ID_MODEL_FROM_DATABASE=PXI-2571 -+ -+pci:v00001093d000075A4* -+ ID_MODEL_FROM_DATABASE=PXI-4131A -+ -+pci:v00001093d000075B1* -+ ID_MODEL_FROM_DATABASE=PCIe-7854R -+ -+pci:v00001093d000075BA* -+ ID_MODEL_FROM_DATABASE=PXI-2543 -+ -+pci:v00001093d000075BB* -+ ID_MODEL_FROM_DATABASE=PXIe-2543 -+ - pci:v00001093d000075E5* - ID_MODEL_FROM_DATABASE=PXI-6683 - - pci:v00001093d000075E6* - ID_MODEL_FROM_DATABASE=PXI-6683H - -+pci:v00001093d000075EF* -+ ID_MODEL_FROM_DATABASE=PXIe-5632 -+ -+pci:v00001093d0000761F* -+ ID_MODEL_FROM_DATABASE=PXI-2540 -+ -+pci:v00001093d00007620* -+ ID_MODEL_FROM_DATABASE=PXIe-2540 -+ -+pci:v00001093d00007621* -+ ID_MODEL_FROM_DATABASE=PXI-2541 -+ -+pci:v00001093d00007622* -+ ID_MODEL_FROM_DATABASE=PXIe-2541 -+ - pci:v00001093d00007626* - ID_MODEL_FROM_DATABASE=NI 9154 - - pci:v00001093d00007627* - ID_MODEL_FROM_DATABASE=NI 9155 - -+pci:v00001093d00007638* -+ ID_MODEL_FROM_DATABASE=PXI-2720 -+ -+pci:v00001093d00007639* -+ ID_MODEL_FROM_DATABASE=PXI-2722 -+ -+pci:v00001093d0000763A* -+ ID_MODEL_FROM_DATABASE=PXIe-2725 -+ -+pci:v00001093d0000763B* -+ ID_MODEL_FROM_DATABASE=PXIe-2727 -+ -+pci:v00001093d0000763C* -+ ID_MODEL_FROM_DATABASE=PXI-4465 -+ -+pci:v00001093d0000764B* -+ ID_MODEL_FROM_DATABASE=PXIe-2790 -+ -+pci:v00001093d0000764C* -+ ID_MODEL_FROM_DATABASE=PXI-2520 -+ -+pci:v00001093d0000764D* -+ ID_MODEL_FROM_DATABASE=PXI-2521 -+ -+pci:v00001093d0000764E* -+ ID_MODEL_FROM_DATABASE=PXI-2522 -+ -+pci:v00001093d0000764F* -+ ID_MODEL_FROM_DATABASE=PXI-2523 -+ -+pci:v00001093d00007654* -+ ID_MODEL_FROM_DATABASE=PXI-2796 -+ -+pci:v00001093d00007655* -+ ID_MODEL_FROM_DATABASE=PXI-2797 -+ -+pci:v00001093d00007656* -+ ID_MODEL_FROM_DATABASE=PXI-2798 -+ -+pci:v00001093d00007657* -+ ID_MODEL_FROM_DATABASE=PXI-2799 -+ -+pci:v00001093d0000765D* -+ ID_MODEL_FROM_DATABASE=PXI-2542 -+ -+pci:v00001093d0000765E* -+ ID_MODEL_FROM_DATABASE=PXIe-2542 -+ -+pci:v00001093d0000765F* -+ ID_MODEL_FROM_DATABASE=PXI-2544 -+ -+pci:v00001093d00007660* -+ ID_MODEL_FROM_DATABASE=PXIe-2544 -+ -+pci:v00001093d0000766D* -+ ID_MODEL_FROM_DATABASE=PCIe-6535B -+ -+pci:v00001093d0000766E* -+ ID_MODEL_FROM_DATABASE=PCIe-6536B -+ -+pci:v00001093d0000766F* -+ ID_MODEL_FROM_DATABASE=PCIe-6537B -+ -+pci:v00001093d000076A3* -+ ID_MODEL_FROM_DATABASE=PXIe-6535B -+ -+pci:v00001093d000076A4* -+ ID_MODEL_FROM_DATABASE=PXIe-6536B -+ -+pci:v00001093d000076A5* -+ ID_MODEL_FROM_DATABASE=PXIe-6537B -+ -+pci:v00001093d00009020* -+ ID_MODEL_FROM_DATABASE=PXI-2501 -+ -+pci:v00001093d00009030* -+ ID_MODEL_FROM_DATABASE=PXI-2503 -+ -+pci:v00001093d00009040* -+ ID_MODEL_FROM_DATABASE=PXI-2527 -+ -+pci:v00001093d00009050* -+ ID_MODEL_FROM_DATABASE=PXI-2565 -+ -+pci:v00001093d00009060* -+ ID_MODEL_FROM_DATABASE=PXI-2590 -+ -+pci:v00001093d00009070* -+ ID_MODEL_FROM_DATABASE=PXI-2591 -+ -+pci:v00001093d00009080* -+ ID_MODEL_FROM_DATABASE=PXI-2580 -+ -+pci:v00001093d00009090* -+ ID_MODEL_FROM_DATABASE=PCI-4021 -+ -+pci:v00001093d000090A0* -+ ID_MODEL_FROM_DATABASE=PXI-4021 -+ - pci:v00001093d0000B001* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 -+ ID_MODEL_FROM_DATABASE=PCI-1408 - - pci:v00001093d0000B011* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1408 -+ ID_MODEL_FROM_DATABASE=PXI-1408 - - pci:v00001093d0000B021* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1424 -+ ID_MODEL_FROM_DATABASE=PCI-1424 -+ -+pci:v00001093d0000B022* -+ ID_MODEL_FROM_DATABASE=PXI-1424 - - pci:v00001093d0000B031* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1413 -+ ID_MODEL_FROM_DATABASE=PCI-1413 - - pci:v00001093d0000B041* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1407 -+ ID_MODEL_FROM_DATABASE=PCI-1407 - - pci:v00001093d0000B051* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1407 -+ ID_MODEL_FROM_DATABASE=PXI-1407 - - pci:v00001093d0000B061* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1411 -+ ID_MODEL_FROM_DATABASE=PCI-1411 - - pci:v00001093d0000B071* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1422 -+ ID_MODEL_FROM_DATABASE=PCI-1422 - - pci:v00001093d0000B081* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1422 -+ ID_MODEL_FROM_DATABASE=PXI-1422 - - pci:v00001093d0000B091* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 -+ ID_MODEL_FROM_DATABASE=PXI-1411 -+ -+pci:v00001093d0000B0B1* -+ ID_MODEL_FROM_DATABASE=PCI-1409 -+ -+pci:v00001093d0000B0C1* -+ ID_MODEL_FROM_DATABASE=PXI-1409 -+ -+pci:v00001093d0000B0E1* -+ ID_MODEL_FROM_DATABASE=PCI-1428 - - pci:v00001093d0000C4C4* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device - -+pci:v00001093d0000C4C4sv00001093sd0000728A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5421) -+ -+pci:v00001093d0000C4C4sv00001093sd0000728B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5442) -+ -+pci:v00001093d0000C4C4sv00001093sd0000728D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5451) -+ -+pci:v00001093d0000C4C4sv00001093sd000072A2* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5122) -+ -+pci:v00001093d0000C4C4sv00001093sd000072DA* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5422) -+ -+pci:v00001093d0000C4C4sv00001093sd000072F7* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6535) -+ -+pci:v00001093d0000C4C4sv00001093sd000072F8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6536) -+ -+pci:v00001093d0000C4C4sv00001093sd000072F9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6537) -+ -+pci:v00001093d0000C4C4sv00001093sd00007326* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6509) -+ -+pci:v00001093d0000C4C4sv00001093sd0000736C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4140) -+ -+pci:v00001093d0000C4C4sv00001093sd0000738B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622) -+ -+pci:v00001093d0000C4C4sv00001093sd000073C4* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5450) -+ -+pci:v00001093d0000C4C4sv00001093sd000073C7* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6545) -+ -+pci:v00001093d0000C4C4sv00001093sd000073D4* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6544) -+ -+pci:v00001093d0000C4C4sv00001093sd00007425* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6320) -+ -+pci:v00001093d0000C4C4sv00001093sd00007427* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6321) -+ -+pci:v00001093d0000C4C4sv00001093sd00007428* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6323) -+ -+pci:v00001093d0000C4C4sv00001093sd00007429* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6323) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6341) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6341) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6343) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6343) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742F* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6351) -+ -+pci:v00001093d0000C4C4sv00001093sd00007431* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6353) -+ -+pci:v00001093d0000C4C4sv00001093sd00007432* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6361) -+ -+pci:v00001093d0000C4C4sv00001093sd00007433* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6361) -+ -+pci:v00001093d0000C4C4sv00001093sd00007434* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6363) -+ -+pci:v00001093d0000C4C4sv00001093sd00007435* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6363) -+ -+pci:v00001093d0000C4C4sv00001093sd00007436* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6356) -+ -+pci:v00001093d0000C4C4sv00001093sd00007437* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6358) -+ -+pci:v00001093d0000C4C4sv00001093sd00007438* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6366) -+ -+pci:v00001093d0000C4C4sv00001093sd00007439* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6368) -+ -+pci:v00001093d0000C4C4sv00001093sd00007468* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) -+ -+pci:v00001093d0000C4C4sv00001093sd00007469* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) -+ -+pci:v00001093d0000C4C4sv00001093sd00007492* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4300) -+ -+pci:v00001093d0000C4C4sv00001093sd00007498* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6548) -+ -+pci:v00001093d0000C4C4sv00001093sd00007499* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6547) -+ -+pci:v00001093d0000C4C4sv00001093sd000074A8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4330) -+ -+pci:v00001093d0000C4C4sv00001093sd000074A9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4331) -+ -+pci:v00001093d0000C4C4sv00001093sd000074B1* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4154) -+ - pci:v00001093d0000C4C4sv00001093sd000074B2* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) - -+pci:v00001093d0000C4C4sv00001093sd000074B6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1433) -+ -+pci:v00001093d0000C4C4sv00001093sd000074CD* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5643R) -+ - pci:v00001093d0000C4C4sv00001093sd000074D0* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) - -+pci:v00001093d0000C4C4sv00001093sd000074DD* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6376) -+ -+pci:v00001093d0000C4C4sv00001093sd000074DE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6378) -+ - pci:v00001093d0000C4C4sv00001093sd000074E2* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) - - pci:v00001093d0000C4C4sv00001093sd000074E3* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) - -+pci:v00001093d0000C4C4sv00001093sd000074E5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4844) -+ -+pci:v00001093d0000C4C4sv00001093sd000074F3* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5140) -+ -+pci:v00001093d0000C4C4sv00001093sd0000753C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1435) -+ -+pci:v00001093d0000C4C4sv00001093sd00007548* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622 (25MHz DDC)) -+ -+pci:v00001093d0000C4C4sv00001093sd0000754D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5155) -+ -+pci:v00001093d0000C4C4sv00001093sd00007551* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6556) -+ - pci:v00001093d0000C4C4sv00001093sd00007553* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) - -+pci:v00001093d0000C4C4sv00001093sd00007570* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1474R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007571* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1475R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007572* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1476R) -+ -+pci:v00001093d0000C4C4sv00001093sd000075A2* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5693) -+ -+pci:v00001093d0000C4C4sv00001093sd000075A3* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5694) -+ -+pci:v00001093d0000C4C4sv00001093sd000075A5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4141) -+ - pci:v00001093d0000C4C4sv00001093sd000075CE* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) - -+pci:v00001093d0000C4C4sv00001093sd000075CF* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4357) -+ -+pci:v00001093d0000C4C4sv00001093sd000075D2* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-RevB-5643R) -+ -+pci:v00001093d0000C4C4sv00001093sd000075D3* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd000075EE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007613* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6555) -+ -+pci:v00001093d0000C4C4sv00001093sd00007619* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) -+ -+pci:v00001093d0000C4C4sv00001093sd0000761A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) -+ -+pci:v00001093d0000C4C4sv00001093sd00007629* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4142) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4143) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4138) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4144) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4145) -+ -+pci:v00001093d0000C4C4sv00001093sd00007644* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4841) -+ -+pci:v00001093d0000C4C4sv00001093sd00007658* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (4CH)) -+ -+pci:v00001093d0000C4C4sv00001093sd000076AB* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4322) -+ -+pci:v00001093d0000C4C4sv00001093sd000076AD* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4112) -+ -+pci:v00001093d0000C4C4sv00001093sd000076AE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4113) -+ -+pci:v00001093d0000C4C4sv00001093sd000076B5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7971R) -+ -+pci:v00001093d0000C4C4sv00001093sd000076B6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7972R) -+ - pci:v00001093d0000C4C4sv00001093sd000076B7* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) - -+pci:v00001093d0000C4C4sv00001093sd000076C8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6614) -+ -+pci:v00001093d0000C4C4sv00001093sd000076C9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6612) -+ -+pci:v00001093d0000C4C4sv00001093sd000076CB* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd000076CC* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (2CH)) -+ - pci:v00001093d0000C4C4sv00001093sd000076D0* -- ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (2CH)) -+ -+pci:v00001093d0000C4C4sv00001093sd000076D1* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (4CH)) -+ -+pci:v00001093d0000C4C4sv00001093sd000076DC* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4610) -+ -+pci:v00001093d0000C4C4sv00001093sd000076FB* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R-LX110) -+ -+pci:v00001093d0000C4C4sv00001093sd000076FE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd000076FF* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007700* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007701* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007702* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007703* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd0000770C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4139) -+ -+pci:v00001093d0000C4C4sv00001093sd00007711* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4464) -+ -+pci:v00001093d0000C4C4sv00001093sd00007716* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6612) -+ -+pci:v00001093d0000C4C4sv00001093sd0000771E* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4339) -+ -+pci:v00001093d0000C4C4sv00001093sd00007735* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9033) -+ -+pci:v00001093d0000C4C4sv00001093sd0000774B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9031) -+ -+pci:v00001093d0000C4C4sv00001093sd0000774D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9034) -+ -+pci:v00001093d0000C4C4sv00001093sd00007755* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9030) -+ -+pci:v00001093d0000C4C4sv00001093sd00007777* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7976R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007782* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007783* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007784* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6345) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6355) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A7* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6365) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6375) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B4* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7820R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7821R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7822R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9038) - - pci:v00001093d0000C801* - ID_MODEL_FROM_DATABASE=PCI-GPIB - -+pci:v00001093d0000C811* -+ ID_MODEL_FROM_DATABASE=PCI-GPIB+ -+ -+pci:v00001093d0000C821* -+ ID_MODEL_FROM_DATABASE=PXI-GPIB -+ - pci:v00001093d0000C831* -- ID_MODEL_FROM_DATABASE=PCI-GPIB bridge -+ ID_MODEL_FROM_DATABASE=PMC-GPIB -+ -+pci:v00001093d0000C840* -+ ID_MODEL_FROM_DATABASE=PCI-GPIB -+ -+pci:v00001093d0000D130* -+ ID_MODEL_FROM_DATABASE=PCI-232/2 Interface -+ -+pci:v00001093d0000D140* -+ ID_MODEL_FROM_DATABASE=PCI-232/4 Interface -+ -+pci:v00001093d0000D150* -+ ID_MODEL_FROM_DATABASE=PCI-232/8 Interface -+ -+pci:v00001093d0000D160* -+ ID_MODEL_FROM_DATABASE=PCI-485/2 Interface -+ -+pci:v00001093d0000D170* -+ ID_MODEL_FROM_DATABASE=PCI-485/4 Interface -+ -+pci:v00001093d0000D190* -+ ID_MODEL_FROM_DATABASE=PXI-8422/2 (Isolated RS-232) Interface -+ -+pci:v00001093d0000D1A0* -+ ID_MODEL_FROM_DATABASE=PXI-8422/4 (Isolated RS-232) Interface -+ -+pci:v00001093d0000D1B0* -+ ID_MODEL_FROM_DATABASE=PXI-8423/2 (Isolated RS-485) Interface -+ -+pci:v00001093d0000D1C0* -+ ID_MODEL_FROM_DATABASE=PXI-8423/4 (Isolated RS-485) Interface -+ -+pci:v00001093d0000D1D0* -+ ID_MODEL_FROM_DATABASE=PXI-8420/2 (RS-232) Interface -+ -+pci:v00001093d0000D1E0* -+ ID_MODEL_FROM_DATABASE=PXI-8420/4 (RS-232) Interface -+ -+pci:v00001093d0000D1F0* -+ ID_MODEL_FROM_DATABASE=PXI-8420/8 (RS-232) Interface -+ -+pci:v00001093d0000D1F1* -+ ID_MODEL_FROM_DATABASE=PXI-8420/16 (RS-232) Interface -+ -+pci:v00001093d0000D230* -+ ID_MODEL_FROM_DATABASE=PXI-8421/2 (RS-485) Interface -+ -+pci:v00001093d0000D240* -+ ID_MODEL_FROM_DATABASE=PXI-8421/4 (RS-485) Interface -+ -+pci:v00001093d0000D250* -+ ID_MODEL_FROM_DATABASE=PCI-232/2 (Isolated) Interface -+ -+pci:v00001093d0000D260* -+ ID_MODEL_FROM_DATABASE=PCI-485/2 (Isolated) Interface -+ -+pci:v00001093d0000D270* -+ ID_MODEL_FROM_DATABASE=PCI-232/4 (Isolated) Interface -+ -+pci:v00001093d0000D280* -+ ID_MODEL_FROM_DATABASE=PCI-485/4 (Isolated) Interface -+ -+pci:v00001093d0000D290* -+ ID_MODEL_FROM_DATABASE=PCI-485/8 Interface -+ -+pci:v00001093d0000D2A0* -+ ID_MODEL_FROM_DATABASE=PXI-8421/8 (RS-485) Interface -+ -+pci:v00001093d0000D2B0* -+ ID_MODEL_FROM_DATABASE=PCI-232/16 Interface -+ -+pci:v00001093d0000E111* -+ ID_MODEL_FROM_DATABASE=PCI-CAN -+ -+pci:v00001093d0000E131* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (1 port) -+ -+pci:v00001093d0000E141* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS -+ -+pci:v00001093d0000E151* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (1 port) -+ -+pci:v00001093d0000E211* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/2 -+ -+pci:v00001093d0000E231* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (2 ports) -+ -+pci:v00001093d0000E241* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 -+ -+pci:v00001093d0000E251* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (2 ports) -+ -+pci:v00001093d0000E261* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/DS -+ -+pci:v00001093d0000E271* -+ ID_MODEL_FROM_DATABASE=PXI-8462 - - pci:v00001094* - ID_VENDOR_FROM_DATABASE=First International Computers [FIC] -@@ -23331,16 +25011,16 @@ pci:v000010DEd00000367* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000368* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller - - pci:v000010DEd00000368sv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge M605 MCP55 SMBus) - - pci:v000010DEd00000368sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge R805 MCP55 SMBus) - - pci:v000010DEd00000368sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (KN9 series mainboard) - - pci:v000010DEd00000369* - ID_MODEL_FROM_DATABASE=MCP55 Memory Controller -@@ -24530,6 +26210,9 @@ pci:v000010DEd00000641* - pci:v000010DEd00000641sv00001682sd00004009* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) - -+pci:v000010DEd00000642* -+ ID_MODEL_FROM_DATABASE=G96 [D9M-10] -+ - pci:v000010DEd00000643* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] - -@@ -26522,6 +28205,9 @@ pci:v000010DEd0000100A* - pci:v000010DEd0000100C* - ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] - -+pci:v000010DEd0000101E* -+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20X] -+ - pci:v000010DEd0000101F* - ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] - -@@ -26552,6 +28238,15 @@ pci:v000010DEd00001028* - pci:v000010DEd00001029* - ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40s] - -+pci:v000010DEd0000102A* -+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40t] -+ -+pci:v000010DEd0000102D* -+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K80] -+ -+pci:v000010DEd0000102E* -+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40d] -+ - pci:v000010DEd0000103A* - ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] - -@@ -26582,6 +28277,9 @@ pci:v000010DEd0000104B* - pci:v000010DEd0000104C* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] - -+pci:v000010DEd0000104D* -+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 710] -+ - pci:v000010DEd00001050* - ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] - -@@ -27551,9 +29249,15 @@ pci:v000010DEd0000118E* - pci:v000010DEd0000118F* - ID_MODEL_FROM_DATABASE=GK104GL [Tesla K10] - -+pci:v000010DEd00001191* -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Rev. 2] -+ - pci:v000010DEd00001193* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] - -+pci:v000010DEd00001194* -+ ID_MODEL_FROM_DATABASE=GK104GL [Tesla K8] -+ - pci:v000010DEd00001195* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] - -@@ -27944,6 +29648,9 @@ pci:v000010DEd00001381* - pci:v000010DEd00001382* - ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] - -+pci:v000010DEd00001389* -+ ID_MODEL_FROM_DATABASE=GM107GL [GRID M3] -+ - pci:v000010DEd00001390* - ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] - -@@ -27971,6 +29678,9 @@ pci:v000010DEd000013BA* - pci:v000010DEd000013BB* - ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] - -+pci:v000010DEd000013BD* -+ ID_MODEL_FROM_DATABASE=GM107GL [Tesla M40] -+ - pci:v000010DF* - ID_VENDOR_FROM_DATABASE=Emulex Corporation - -@@ -31772,6 +33482,30 @@ pci:v0000111Dd0000806E* - pci:v0000111Dd0000806F* - ID_MODEL_FROM_DATABASE=HIO524G2 PCI Express Gen2 Switch - -+pci:v0000111Dd00008088* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch -+ -+pci:v0000111Dd00008088sv00001093sd0000752F* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc Device) -+ -+pci:v0000111Dd00008088sv00001093sd00007543* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc System Host) -+ -+pci:v0000111Dd00008088sv00001093sd0000755C* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8364) -+ -+pci:v0000111Dd00008088sv00001093sd0000755D* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8374) -+ -+pci:v0000111Dd00008088sv00001093sd000075FF* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) -+ -+pci:v0000111Dd00008088sv00001093sd00007600* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) -+ -+pci:v0000111Dd00008088sv00001093sd00007602* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8384) -+ - pci:v0000111E* - ID_VENDOR_FROM_DATABASE=Eldec - -@@ -42929,6 +44663,9 @@ pci:v00001425d00005084* - pci:v00001425d00005085* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller - -+pci:v00001425d00005086* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller -+ - pci:v00001425d00005401* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -43007,6 +44744,9 @@ pci:v00001425d00005484* - pci:v00001425d00005485* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller - -+pci:v00001425d00005486* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller -+ - pci:v00001425d00005501* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -43085,6 +44825,9 @@ pci:v00001425d00005584* - pci:v00001425d00005585* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller - -+pci:v00001425d00005586* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller -+ - pci:v00001425d00005601* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -43163,6 +44906,9 @@ pci:v00001425d00005684* - pci:v00001425d00005685* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller - -+pci:v00001425d00005686* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller -+ - pci:v00001425d00005701* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -43319,6 +45065,9 @@ pci:v00001425d00005884* - pci:v00001425d00005885* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] - -+pci:v00001425d00005886* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller [VF] -+ - pci:v00001425d0000A000* - ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller - -@@ -49862,6 +51611,15 @@ pci:v000016ED* - pci:v000016EDd00001001* - ID_MODEL_FROM_DATABASE=UMIO communication card - -+pci:v000016F2* -+ ID_VENDOR_FROM_DATABASE=ETAS GmbH -+ -+pci:v000016F2d00000200* -+ ID_MODEL_FROM_DATABASE=I/O board -+ -+pci:v000016F2d00000200sv000016F2sd00000010* -+ ID_MODEL_FROM_DATABASE=I/O board (ES53xx I/O board) -+ - pci:v000016F3* - ID_VENDOR_FROM_DATABASE=Jetway Information Co., Ltd. - -@@ -50004,7 +51762,7 @@ pci:v00001775* - ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms - - pci:v0000177D* -- ID_VENDOR_FROM_DATABASE=Cavium Networks -+ ID_VENDOR_FROM_DATABASE=Cavium, Inc. - - pci:v0000177Dd00000001* - ID_MODEL_FROM_DATABASE=Nitrox XL N1 -@@ -50063,6 +51821,147 @@ pci:v0000177Dd00000095* - pci:v0000177Dd00000096* - ID_MODEL_FROM_DATABASE=Octeon III CN70XX Network Processor - -+pci:v0000177Dd0000A001* -+ ID_MODEL_FROM_DATABASE=THUNDERX MRML Bridge -+ -+pci:v0000177Dd0000A002* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge -+ -+pci:v0000177Dd0000A002sv0000177Dsd0000A102* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge (CN88XX PCC Bridge) -+ -+pci:v0000177Dd0000A008* -+ ID_MODEL_FROM_DATABASE=THUNDERX SMMU -+ -+pci:v0000177Dd0000A008sv0000177Dsd0000A108* -+ ID_MODEL_FROM_DATABASE=THUNDERX SMMU (CN88XX SMMU) -+ -+pci:v0000177Dd0000A009* -+ ID_MODEL_FROM_DATABASE=THUNDERX Generic Interrupt Controller -+ -+pci:v0000177Dd0000A00A* -+ ID_MODEL_FROM_DATABASE=THUNDERX GPIO Controller -+ -+pci:v0000177Dd0000A00B* -+ ID_MODEL_FROM_DATABASE=THUNDERX MPI / SPI Controller -+ -+pci:v0000177Dd0000A00C* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIO-PTP Controller -+ -+pci:v0000177Dd0000A00D* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIX Network Controller -+ -+pci:v0000177Dd0000A00E* -+ ID_MODEL_FROM_DATABASE=THUNDERX Reset Controller -+ -+pci:v0000177Dd0000A00F* -+ ID_MODEL_FROM_DATABASE=THUNDERX UART Controller -+ -+pci:v0000177Dd0000A010* -+ ID_MODEL_FROM_DATABASE=THUNDERX eMMC/SD Controller -+ -+pci:v0000177Dd0000A011* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIO-BOOT Controller -+ -+pci:v0000177Dd0000A012* -+ ID_MODEL_FROM_DATABASE=THUNDERX TWSI / I2C Controller -+ -+pci:v0000177Dd0000A013* -+ ID_MODEL_FROM_DATABASE=THUNDERX CCPI (Multi-node connect) -+ -+pci:v0000177Dd0000A014* -+ ID_MODEL_FROM_DATABASE=THUNDERX Voltage Regulator Module -+ -+pci:v0000177Dd0000A015* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCIe Switch Logic Interface -+ -+pci:v0000177Dd0000A016* -+ ID_MODEL_FROM_DATABASE=THUNDERX Key Memory -+ -+pci:v0000177Dd0000A017* -+ ID_MODEL_FROM_DATABASE=THUNDERX GTI (Global System Timers) -+ -+pci:v0000177Dd0000A018* -+ ID_MODEL_FROM_DATABASE=THUNDERX Random Number Generator -+ -+pci:v0000177Dd0000A019* -+ ID_MODEL_FROM_DATABASE=THUNDERX DFA -+ -+pci:v0000177Dd0000A01A* -+ ID_MODEL_FROM_DATABASE=THUNDERX Zip Coprocessor -+ -+pci:v0000177Dd0000A01B* -+ ID_MODEL_FROM_DATABASE=THUNDERX xHCI USB Controller -+ -+pci:v0000177Dd0000A01C* -+ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller -+ -+pci:v0000177Dd0000A01Csv0000177Dsd0000A11C* -+ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller (CN88XX AHCI SATA Controller) -+ -+pci:v0000177Dd0000A01D* -+ ID_MODEL_FROM_DATABASE=THUNDERX RAID Coprocessor -+ -+pci:v0000177Dd0000A01E* -+ ID_MODEL_FROM_DATABASE=THUNDERX Network Interface Controller -+ -+pci:v0000177Dd0000A01F* -+ ID_MODEL_FROM_DATABASE=THUNDERX Traffic Network Switch -+ -+pci:v0000177Dd0000A020* -+ ID_MODEL_FROM_DATABASE=THUNDERX PEM (PCI Express Interface) -+ -+pci:v0000177Dd0000A021* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C (Level-2 Cache Controller) -+ -+pci:v0000177Dd0000A022* -+ ID_MODEL_FROM_DATABASE=THUNDERX LMC (DRAM Controller) -+ -+pci:v0000177Dd0000A023* -+ ID_MODEL_FROM_DATABASE=THUNDERX OCLA (On-Chip Logic Analyzer) -+ -+pci:v0000177Dd0000A024* -+ ID_MODEL_FROM_DATABASE=THUNDERX OSM -+ -+pci:v0000177Dd0000A025* -+ ID_MODEL_FROM_DATABASE=THUNDERX GSER (General Serializer/Deserializer) -+ -+pci:v0000177Dd0000A026* -+ ID_MODEL_FROM_DATABASE=THUNDERX BGX (Common Ethernet Interface) -+ -+pci:v0000177Dd0000A027* -+ ID_MODEL_FROM_DATABASE=THUNDERX IOBN -+ -+pci:v0000177Dd0000A029* -+ ID_MODEL_FROM_DATABASE=THUNDERX NCSI (Network Controller Sideband Interface) -+ -+pci:v0000177Dd0000A02A* -+ ID_MODEL_FROM_DATABASE=THUNDERX SGP -+ -+pci:v0000177Dd0000A02B* -+ ID_MODEL_FROM_DATABASE=THUNDERX SMI / MDIO Controller -+ -+pci:v0000177Dd0000A02C* -+ ID_MODEL_FROM_DATABASE=THUNDERX DAP (Debug Access Port) -+ -+pci:v0000177Dd0000A02D* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCIERC (PCIe Root Complex) -+ -+pci:v0000177Dd0000A02E* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C-TAD -+ -+pci:v0000177Dd0000A02F* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C-CBC -+ -+pci:v0000177Dd0000A030* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C-MCI -+ -+pci:v0000177Dd0000A031* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIO-FUS (Fuse Access Controller) -+ -+pci:v0000177Dd0000A032* -+ ID_MODEL_FROM_DATABASE=THUNDERX FUSF (Fuse Controller) -+ - pci:v00001787* - ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd. - -@@ -53312,6 +55211,12 @@ pci:v00001BBFd00000003* - pci:v00001BBFd00000004* - ID_MODEL_FROM_DATABASE=MAX4 - -+pci:v00001BEE* -+ ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH -+ -+pci:v00001BEEd00000003* -+ ID_MODEL_FROM_DATABASE=CAN-IB200/PCIe -+ - pci:v00001BF4* - ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation - -@@ -58271,6 +60176,9 @@ pci:v00008086d000010D3sv0000103Csd00003250* - pci:v00008086d000010D3sv00001043sd00008369* - ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) - -+pci:v00008086d000010D3sv00001093sd000076E9* -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PCIe-8233 Ethernet Adapter) -+ - pci:v00008086d000010D3sv000010A9sd00008029* - ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) - -@@ -59339,6 +61247,18 @@ pci:v00008086d00001521sv0000108Esd00007B16* - pci:v00008086d00001521sv0000108Esd00007B18* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) - -+pci:v00008086d00001521sv00001093sd00007648* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R Ethernet Adapter) -+ -+pci:v00008086d00001521sv00001093sd00007649* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8236 Ethernet Adapter) -+ -+pci:v00008086d00001521sv00001093sd000076B1* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R-S Ethernet Adapter) -+ -+pci:v00008086d00001521sv00001093sd0000775B* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237 Ethernet Adapter) -+ - pci:v00008086d00001521sv000010A9sd0000802A* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) - -@@ -59498,6 +61418,9 @@ pci:v00008086d00001533* - pci:v00008086d00001533sv0000103Csd00000003* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) - -+pci:v00008086d00001533sv00001093sd00007706* -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Compact Vision System Ethernet Adapter) -+ - pci:v00008086d00001533sv000010A9sd0000802C* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) - -@@ -59703,10 +61626,10 @@ pci:v00008086d000015A3* - ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V - - pci:v00008086d000015B7* -- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM - - pci:v00008086d000015B8* -- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V - - pci:v00008086d00001600* - ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index d87313c..ea1c3e3 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -30222,7 +30222,7 @@ usb:v0930p6544* - ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (2GB) - - usb:v0930p6545* -- ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick -+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick - - usb:v0931* - ID_VENDOR_FROM_DATABASE=Harmonic Data Systems, Ltd --- -1.7.9.2 - diff --git a/0009-journal-do-not-leak-mmaps-on-OOM.patch b/0009-journal-do-not-leak-mmaps-on-OOM.patch deleted file mode 100644 index 3d92f474..00000000 --- a/0009-journal-do-not-leak-mmaps-on-OOM.patch +++ /dev/null @@ -1,50 +0,0 @@ -From b67ddc7bbe31cde7f69f9814204d9bb1d4623c47 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 12:20:41 +0300 -Subject: [PATCH] journal: do not leak mmaps on OOM - -After a section of memory is succesfully allocated, some of the following -actions can still fail due to lack of memory. In this case -ENOMEM is -returned without actually freeing the already mapped memory. -Found with coverity. Fixes: CID#1237762 ---- - src/journal/mmap-cache.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git src/journal/mmap-cache.c src/journal/mmap-cache.c -index 7dbbb5e..908562d 100644 ---- src/journal/mmap-cache.c -+++ src/journal/mmap-cache.c -@@ -496,15 +496,15 @@ static int add_mmap( - - c = context_add(m, context); - if (!c) -- return -ENOMEM; -+ goto outofmem; - - f = fd_add(m, fd); - if (!f) -- return -ENOMEM; -+ goto outofmem; - - w = window_add(m); - if (!w) -- return -ENOMEM; -+ goto outofmem; - - w->keep_always = keep_always; - w->ptr = d; -@@ -522,6 +522,10 @@ static int add_mmap( - if (ret) - *ret = (uint8_t*) w->ptr + (offset - w->offset); - return 1; -+ -+outofmem: -+ munmap(d, wsize); -+ return -ENOMEM; - } - - int mmap_cache_get( --- -1.7.9.2 - diff --git a/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch b/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch deleted file mode 100644 index 864b9982..00000000 --- a/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b9c488f60050248b35640f28e4d00958702ba1c3 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Wed, 6 Aug 2014 13:14:51 +0200 -Subject: [PATCH] journald: Fix off-by-one error in "Missed X kernel messages" - warning - -On receiving a message, "kernel_seqnum" is set to "serial + 1". So -subtracting 1 will cause messages like "Missed 0 kernel messages", -which should be "Missed 1 kernel messages". ---- - src/journal/journald-kmsg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c -index 9935986..fb8ea08 100644 ---- src/journal/journald-kmsg.c -+++ src/journal/journald-kmsg.c -@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { - /* Did we lose any? */ - if (serial > *s->kernel_seqnum) - server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages", -- serial - *s->kernel_seqnum - 1); -+ serial - *s->kernel_seqnum); - - /* Make sure we never read this one again. Note that - * we always store the next message serial we expect --- -1.7.9.2 - diff --git a/0009-journald-always-add-syslog-facility-for-messages-com.patch b/0009-journald-always-add-syslog-facility-for-messages-com.patch deleted file mode 100644 index 58a8bdd2..00000000 --- a/0009-journald-always-add-syslog-facility-for-messages-com.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 36dd072cdf03dcac0fcd2d6b42f261444dc7ac88 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 25 Jul 2014 14:38:22 +0200 -Subject: [PATCH] journald: always add syslog facility for messages coming - from kmsg - -Set SYSLOG_FACILITY field for kernel log messages too. Setting only -SYSLOG_IDENTIFIER="kernel" is not sufficient and tools reading journal -maybe confused by missing SYSLOG_FACILITY field for kernel log messages. ---- - src/journal/journald-kmsg.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c -index 12992e7..bb62a76 100644 ---- src/journal/journald-kmsg.c -+++ src/journal/journald-kmsg.c -@@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { - if (asprintf(&syslog_priority, "PRIORITY=%i", priority & LOG_PRIMASK) >= 0) - IOVEC_SET_STRING(iovec[n++], syslog_priority); - -+ if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) -+ IOVEC_SET_STRING(iovec[n++], syslog_facility); -+ - if ((priority & LOG_FACMASK) == LOG_KERN) - IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); - else { -@@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { - if (syslog_pid) - IOVEC_SET_STRING(iovec[n++], syslog_pid); - } -- -- if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) -- IOVEC_SET_STRING(iovec[n++], syslog_facility); - } - - message = cunescape_length_with_prefix(p, pl, "MESSAGE="); --- -1.7.9.2 - diff --git a/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch b/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch deleted file mode 100644 index 5bf1987e..00000000 --- a/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 646e392e10924454576f10b072f78d7676422816 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 6 Mar 2014 04:52:31 +0100 -Subject: [PATCH] logind: fix reference to systemd-user-sessions.service - ---- - src/login/logind-session.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 548f049..3700522 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -490,7 +490,7 @@ static int session_start_scope(Session *s) { - if (!scope) - return log_oom(); - -- r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-session.service", &error, &job); -+ r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-sessions.service", &error, &job); - if (r < 0) { - log_error("Failed to start session scope %s: %s %s", - scope, bus_error_message(&error, r), error.name); --- -1.7.9.2 - diff --git a/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch b/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch deleted file mode 100644 index f064927a..00000000 --- a/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +++ /dev/null @@ -1,70 +0,0 @@ -From ff5f34d08c191c326c41a083745522383ac86cae Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 04:27:50 +0100 -Subject: [PATCH] mount: don't send out PropertiesChanged message if actually - nothing got changed - ---- - src/core/mount.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git src/core/mount.c src/core/mount.c -index b35e507..98812c9 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -1390,7 +1390,7 @@ static int mount_add_one( - _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; - bool load_extras = false; - MountParameters *p; -- bool delete; -+ bool delete, changed = false; - Unit *u; - int r; - -@@ -1458,6 +1458,7 @@ static int mount_add_one( - } - - unit_add_to_load_queue(u); -+ changed = true; - } else { - delete = false; - -@@ -1476,6 +1477,7 @@ static int mount_add_one( - /* Load in the extras later on, after we - * finished initialization of the unit */ - load_extras = true; -+ changed = true; - } - } - -@@ -1488,10 +1490,16 @@ static int mount_add_one( - } - - p = &MOUNT(u)->parameters_proc_self_mountinfo; -+ -+ changed = changed || -+ !streq_ptr(p->options, options) || -+ !streq_ptr(p->what, what) || -+ !streq_ptr(p->fstype, fstype); -+ - if (set_flags) { - MOUNT(u)->is_mounted = true; - MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; -- MOUNT(u)->just_changed = !streq_ptr(p->options, o); -+ MOUNT(u)->just_changed = changed; - } - - MOUNT(u)->from_proc_self_mountinfo = true; -@@ -1514,7 +1522,8 @@ static int mount_add_one( - goto fail; - } - -- unit_add_to_dbus_queue(u); -+ if (changed) -+ unit_add_to_dbus_queue(u); - - return 0; - --- -1.7.9.2 - diff --git a/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch b/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch deleted file mode 100644 index a88af680..00000000 --- a/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9f24adc288de142d6606fde3c5a5971613f3b6b9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 May 2014 19:37:19 +0200 -Subject: [PATCH] nspawn: properly format container_uuid in UUID format - -http://lists.freedesktop.org/archives/systemd-devel/2014-April/018971.html ---- - src/nspawn/nspawn.c | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 0bd52da..6be4dca 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) { - return 0; - } - -+static char* id128_format_as_uuid(sd_id128_t id, char s[37]) { -+ -+ snprintf(s, 37, -+ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", -+ SD_ID128_FORMAT_VAL(id)); -+ -+ return s; -+} -+ - static int setup_boot_id(const char *dest) { - _cleanup_free_ char *from = NULL, *to = NULL; - sd_id128_t rnd = {}; -@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) { - return r; - } - -- snprintf(as_uuid, sizeof(as_uuid), -- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", -- SD_ID128_FORMAT_VAL(rnd)); -- char_array_0(as_uuid); -+ id128_format_as_uuid(rnd, as_uuid); - - r = write_string_file(from, as_uuid); - if (r < 0) { -@@ -2954,7 +2960,9 @@ int main(int argc, char *argv[]) { - } - - if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) { -- if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) { -+ char as_uuid[37]; -+ -+ if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) { - log_oom(); - goto child_fail; - } --- -1.7.9.2 - diff --git a/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch b/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch deleted file mode 100644 index f9e93696..00000000 --- a/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5a4d665ad679a8436f1210ba67d713a8f0b91b96 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 14 Mar 2014 21:15:32 +0100 -Subject: [PATCH] sd-bus: don't choke if somebody sends us a message with a - unix fd count of 0 - -It's kinda pointless to include a unix fd header field in messages if it -carries the value 0, but let's do this anyway... ---- - src/libsystemd/sd-bus/bus-message.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c -index 97ab0e3..b9d7f6d 100644 ---- src/libsystemd/sd-bus/bus-message.c -+++ src/libsystemd/sd-bus/bus-message.c -@@ -4885,6 +4885,7 @@ int bus_message_parse_fields(sd_bus_message *m) { - size_t ri; - int r; - uint32_t unix_fds = 0; -+ bool unix_fds_set = false; - void *offsets = NULL; - unsigned n_offsets = 0; - size_t sz = 0; -@@ -5097,7 +5098,7 @@ int bus_message_parse_fields(sd_bus_message *m) { - } - - case BUS_MESSAGE_HEADER_UNIX_FDS: -- if (unix_fds != 0) -+ if (unix_fds_set) - return -EBADMSG; - - if (!streq(signature, "u")) -@@ -5107,9 +5108,7 @@ int bus_message_parse_fields(sd_bus_message *m) { - if (r < 0) - return -EBADMSG; - -- if (unix_fds == 0) -- return -EBADMSG; -- -+ unix_fds_set = true; - break; - - default: --- -1.7.9.2 - diff --git a/0009-units-make-systemd-journald.service-Type-notify.patch b/0009-units-make-systemd-journald.service-Type-notify.patch deleted file mode 100644 index 4890daf5..00000000 --- a/0009-units-make-systemd-journald.service-Type-notify.patch +++ /dev/null @@ -1,27 +0,0 @@ -Based on a87a38c20196a4aeb56b6ba71d688eefd0b21c30 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 4 Nov 2014 20:28:08 +0100 -Subject: [PATCH] units: make systemd-journald.service Type=notify - -It already calls sd_notify(), so it looks like an oversight. - -Without it, its ordering to systemd-journal-flush.service is -non-deterministic and the SIGUSR1 from flushing may kill journald before -it has its signal handlers set up. - -https://bugs.freedesktop.org/show_bug.cgi?id=85871 -https://bugzilla.redhat.com/show_bug.cgi?id=1159641 ---- - units/systemd-journald.service.in | 1 + - 1 file changed, 1 insertion(+) - ---- units/systemd-journald.service.in -+++ units/systemd-journald.service.in 2014-11-10 12:22:08.461949786 +0000 -@@ -14,6 +14,7 @@ After=systemd-journald.socket syslog.soc - Before=sysinit.target - - [Service] -+Type=notify - ExecStart=@rootlibexecdir@/systemd-journald - Restart=always - RestartSec=0 diff --git a/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch b/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch deleted file mode 100644 index 0e7fdba3..00000000 --- a/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a9169c1c589bf7c7a29e7905d17e350ce7c7c48e Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 27 Oct 2014 11:08:26 +0100 -Subject: [PATCH] util: fix copy-paste error and actually set the new hostname - -Reported-by: sztanpet on irc ---- - src/shared/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/util.c src/shared/util.c -index 7d94a28..4143f6d 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -7189,7 +7189,7 @@ int sethostname_idempotent(const char *s) { - if (streq(buf, s)) - return 0; - -- r = sethostname(buf, strlen(buf)); -+ r = sethostname(s, strlen(s)); - if (r < 0) - return -errno; - --- -1.7.9.2 - diff --git a/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index dbf00485..00000000 --- a/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 5d20fde4a5c4dff4d7c737b545fbd13582d544c1 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Fri, 31 Oct 2014 20:37:59 +0100 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 57 +++++++++++++++++++++++++++++++++ - 1 file changed, 57 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index ee2efdf..58ca87d 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -1166,3 +1166,60 @@ bluetooth:v0181* - - bluetooth:v0182* - ID_VENDOR_FROM_DATABASE=HOP Ubiquitous -+ -+bluetooth:v0183* -+ ID_VENDOR_FROM_DATABASE=To Be Assigned -+ -+bluetooth:v0184* -+ ID_VENDOR_FROM_DATABASE=Nectar -+ -+bluetooth:v0185* -+ ID_VENDOR_FROM_DATABASE=bel'apps LLC -+ -+bluetooth:v0186* -+ ID_VENDOR_FROM_DATABASE=CORE Lighting Ltd -+ -+bluetooth:v0187* -+ ID_VENDOR_FROM_DATABASE=Seraphim Sense Ltd -+ -+bluetooth:v0188* -+ ID_VENDOR_FROM_DATABASE=Unico RBC -+ -+bluetooth:v0189* -+ ID_VENDOR_FROM_DATABASE=Physical Enterprises Inc. -+ -+bluetooth:v018A* -+ ID_VENDOR_FROM_DATABASE=Able Trend Technology Limited -+ -+bluetooth:v018B* -+ ID_VENDOR_FROM_DATABASE=Konica Minolta, Inc. -+ -+bluetooth:v018C* -+ ID_VENDOR_FROM_DATABASE=Wilo SE -+ -+bluetooth:v018D* -+ ID_VENDOR_FROM_DATABASE=Extron Design Services -+ -+bluetooth:v018E* -+ ID_VENDOR_FROM_DATABASE=Fitbit, Inc. -+ -+bluetooth:v018F* -+ ID_VENDOR_FROM_DATABASE=Fireflies Systems -+ -+bluetooth:v0190* -+ ID_VENDOR_FROM_DATABASE=Intelletto Technologies Inc. -+ -+bluetooth:v0191* -+ ID_VENDOR_FROM_DATABASE=FDK CORPORATION -+ -+bluetooth:v0192* -+ ID_VENDOR_FROM_DATABASE=Cloudleaf, Inc -+ -+bluetooth:v0193* -+ ID_VENDOR_FROM_DATABASE=Maveric Automation LLC -+ -+bluetooth:v0194* -+ ID_VENDOR_FROM_DATABASE=Acoustic Stream Corporation -+ -+bluetooth:v0195* -+ ID_VENDOR_FROM_DATABASE=Zuli --- -1.7.9.2 - diff --git a/0010-logind-allow-suspending-if-there-are-no-displays.patch b/0010-logind-allow-suspending-if-there-are-no-displays.patch deleted file mode 100644 index a12ff513..00000000 --- a/0010-logind-allow-suspending-if-there-are-no-displays.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d36d90933a832bd1e1eb8e3d16b3de73f91636b4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Mon, 28 Apr 2014 00:58:56 +0300 -Subject: [PATCH] logind: allow suspending if there are no displays - -With proprietary graphics drivers, there won't be any 'drm' devices in -sysfs, so logind will never suspend the system upon closing the lid, -even if only one (internal) display is connected. This has been reported -by multiple users so far. - -IMHO, it's better to suspend the system in this case for safety reasons, -to avoid having nvidia blob users' laptops overheat, for the same reason -that sleep inhibitors are overridden (LidSwitchIgnoreInhibited=yes). ---- - src/login/logind-action.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index ae9cd48..36ee441 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -79,14 +79,12 @@ int manager_handle_action( - return 0; - } - -- /* If we have more than one or no displays connected, -- * don't react to lid closing. The no display case we -- * treat like this under the assumption that there is -- * no modern drm driver available. */ -+ /* If we have more than one display connected, -+ * don't react to lid closing. */ - n = manager_count_displays(m); - if (n < 0) - log_warning("Display counting failed: %s", strerror(-n)); -- else if (n != 1) { -+ else if (n > 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } --- -1.7.9.2 - diff --git a/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch b/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch deleted file mode 100644 index cd65acf9..00000000 --- a/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9d685ca8193c0da3ad5746be3871f5350179a3b3 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Thu, 14 Aug 2014 19:59:16 +0200 -Subject: [PATCH] machine_kill(): Don't kill the unit when killing the leader - -If "machinectl poweroff" or "machinectl reboot" is used on a -systemd-nspawn container started with --keep-unit and --register, it -should *only* send the appropriate signal to the leader PID (i.e. the -container's systemd process). It shouldn't fall through to -manager_kill_unit() to also send the signal to the unit. The latter -ends up killing systemd-nspawn, which takes down the container -prematurely. ---- - src/machine/machine.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git src/machine/machine.c src/machine/machine.c -index 1c9177e..13d3448 100644 ---- src/machine/machine.c -+++ src/machine/machine.c -@@ -493,6 +493,8 @@ int machine_kill(Machine *m, KillWho who, int signo) { - - if (kill(m->leader, signo) < 0) - return -errno; -+ -+ return 0; - } - - /* Otherwise make PID 1 do it for us, for the entire cgroup */ --- -1.7.9.2 - diff --git a/0010-man-update-link-to-LSB.patch b/0010-man-update-link-to-LSB.patch deleted file mode 100644 index 07a96f01..00000000 --- a/0010-man-update-link-to-LSB.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 27d14fb331ba8144f99f4da2d13f15cf5c8b8a9f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 6 Mar 2014 08:10:19 -0500 -Subject: [PATCH] man: update link to LSB - -https://bugzilla.redhat.com/show_bug.cgi?id=1073402 ---- - man/daemon.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/daemon.xml man/daemon.xml -index fd29ba7..ab58d08 100644 ---- man/daemon.xml -+++ man/daemon.xml -@@ -252,7 +252,7 @@ - detect service errors and problems. It - is recommended to follow the exit code - scheme as defined in the LSB -+ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB - recommendations for SysV init - scripts. - -@@ -395,7 +395,7 @@ - exclusively on boot (and manually by the - administrator) via SysV init scripts, as - detailed in the LSB -+ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB - Linux Standard Base Core - Specification. This method of - activation is supported ubiquitously on Linux --- -1.7.9.2 - diff --git a/0010-manager-use-correct-cleanup-function.patch b/0010-manager-use-correct-cleanup-function.patch deleted file mode 100644 index 0f46dec8..00000000 --- a/0010-manager-use-correct-cleanup-function.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 807d0cca2b0daf4cd725298c1b5e062b1126f15b Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Thu, 11 Sep 2014 21:14:53 +0200 -Subject: [PATCH] manager: use correct cleanup function - -Close the dir instead of attempt to free it. - -Introduced in 874310b7b68c4c0d36ff07397db30a959bb7dae5 - -Found with coverity. Fixes: CID#996368 ---- - src/core/manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/manager.c src/core/manager.c -index 9abdf47..095111e 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -896,7 +896,7 @@ static int manager_coldplug(Manager *m) { - - static void manager_build_unit_path_cache(Manager *m) { - char **i; -- _cleanup_free_ DIR *d = NULL; -+ _cleanup_closedir_ DIR *d = NULL; - int r; - - assert(m); --- -1.7.9.2 - diff --git a/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch b/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch deleted file mode 100644 index 79bf62d4..00000000 --- a/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +++ /dev/null @@ -1,51 +0,0 @@ -From aef831369cd2a7a1bd4a58dd96ff8628ed6a85f9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 04:28:37 +0100 -Subject: [PATCH] mount: don't fire PropertiesChanged signals for mounts that - are stopped - ---- - src/core/mount.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git src/core/mount.c src/core/mount.c -index 98812c9..7a92e1c 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -1679,20 +1679,20 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - Mount *mount = MOUNT(u); - - if (!mount->is_mounted) { -- /* This has just been unmounted. */ - - mount->from_proc_self_mountinfo = false; - - switch (mount->state) { - - case MOUNT_MOUNTED: -+ /* This has just been unmounted by -+ * somebody else, follow the state -+ * change. */ - mount_enter_dead(mount, MOUNT_SUCCESS); - break; - - default: -- mount_set_state(mount, mount->state); - break; -- - } - - } else if (mount->just_mounted || mount->just_changed) { -@@ -1703,6 +1703,9 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - - case MOUNT_DEAD: - case MOUNT_FAILED: -+ /* This has just been mounted by -+ * somebody else, follow the state -+ * change. */ - mount_enter_mounted(mount, MOUNT_SUCCESS); - break; - --- -1.7.9.2 - diff --git a/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch b/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch deleted file mode 100644 index cafa5324..00000000 --- a/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch +++ /dev/null @@ -1,27 +0,0 @@ -Based on d89b5fed9ea5d9ec293585cb85bb27b56ea6ac9c Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 21 Oct 2014 18:38:42 +0200 -Subject: [PATCH] shutdown: do final unmounting only if not running inside the - container - -If we run in the container then we run in a mount namespace. If namespace dies -then kernel should do unmounting for us, hence we skip unmounting in containers. - -Also, it may be the case that we no longer have capability to do umount, -because we are running in the unprivileged container. - -See: http://lists.freedesktop.org/archives/systemd-devel/2014-October/023536.html ---- - src/core/shutdown.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/shutdown.c -+++ src/core/shutdown.c 2014-10-29 14:18:38.767837898 +0000 -@@ -278,6 +278,7 @@ int main(int argc, char *argv[]) { - broadcast_signal(SIGKILL, true, false); - - if (in_container) { -+ need_umount = false; - need_swapoff = false; - need_dm_detach = false; - need_loop_detach = false; diff --git a/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch b/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch deleted file mode 100644 index e99c1a0d..00000000 --- a/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch +++ /dev/null @@ -1,25 +0,0 @@ -From da92ca5eb506d513033e0c7a85daf25a7e1c9d0e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 20 Jun 2014 22:43:49 -0400 -Subject: [PATCH] util: treat fuse.sshfs as a network filesystem - -https://bugs.freedesktop.org/show_bug.cgi?id=73727 ---- - src/shared/util.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/util.c src/shared/util.c -index 882a690..dbdb692 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1514,6 +1514,7 @@ bool fstype_is_network(const char *fstype) { - static const char table[] = - "cifs\0" - "smbfs\0" -+ "sshfs\0" - "ncpfs\0" - "ncp\0" - "nfs\0" --- -1.7.9.2 - diff --git a/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch b/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch deleted file mode 100644 index 325f04a9..00000000 --- a/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8e75477abdd838d3beddc5fd1c6a7707b22748b6 Mon Sep 17 00:00:00 2001 -From: Ronny Chevalier -Date: Sat, 21 Jun 2014 22:07:09 +0200 -Subject: [PATCH] build-sys: add -pthread flag for libsystemd-shared - -src/shared/async.c uses pthread so it will fail at link time if we link -only to libsystemd-shared and use async ---- - Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git Makefile.am Makefile.am -index c7653ea..00db82d 100644 ---- Makefile.am -+++ Makefile.am -@@ -837,7 +837,8 @@ nodist_libsystemd_shared_la_SOURCES = \ - - libsystemd_shared_la_CFLAGS = \ - $(AM_CFLAGS) \ -- $(SECCOMP_CFLAGS) -+ $(SECCOMP_CFLAGS) \ -+ -pthread - - # ------------------------------------------------------------------------------ - noinst_LTLIBRARIES += \ --- -1.7.9.2 - diff --git a/0011-logs-show-fix-corrupt-output-with-empty-messages.patch b/0011-logs-show-fix-corrupt-output-with-empty-messages.patch deleted file mode 100644 index 6ff83d12..00000000 --- a/0011-logs-show-fix-corrupt-output-with-empty-messages.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 47d80904a1f72d559962cc5ad32fffd46672a34a Mon Sep 17 00:00:00 2001 -From: Uoti Urpala -Date: Thu, 20 Feb 2014 03:00:09 +0200 -Subject: [PATCH] logs-show: fix corrupt output with empty messages - -If a message had zero length, journalctl would print no newline, and -two output lines would be concatenated. Fix. The problem was -introduced in commit 31f7bf199452 ("logs-show: print multiline -messages"). Affected short and verbose output modes. - -Before fix: - -Feb 09 21:16:17 glyph dhclient[1323]: Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit - -after: - -Feb 09 21:16:17 glyph dhclient[1323]: -Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit ---- - src/shared/logs-show.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/shared/logs-show.c src/shared/logs-show.c -index 61c3652..12d4a1c 100644 ---- src/shared/logs-show.c -+++ src/shared/logs-show.c -@@ -124,6 +124,11 @@ static bool print_multiline(FILE *f, unsigned prefix, unsigned n_columns, Output - } - } - -+ /* A special case: make sure that we print a newline when -+ the message is empty. */ -+ if (message_len == 0) -+ fputs("\n", f); -+ - for (pos = message; - pos < message + message_len; - pos = end + 1, line++) { --- -1.7.9.2 - diff --git a/0011-man-systemd-bootchart-fix-spacing-in-command.patch b/0011-man-systemd-bootchart-fix-spacing-in-command.patch deleted file mode 100644 index 60c206b3..00000000 --- a/0011-man-systemd-bootchart-fix-spacing-in-command.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 82ed60080d327d7301fcd55f5a1f8511f894b9d5 Mon Sep 17 00:00:00 2001 -From: Zachary Cook -Date: Thu, 6 Mar 2014 03:49:49 -0500 -Subject: [PATCH] man: systemd-bootchart - fix spacing in command - -Use the same formatting as the systemd-analyze man page, so that man shows a space. ---- - man/systemd-bootchart.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd-bootchart.xml man/systemd-bootchart.xml -index d0adaad..1715d5d 100644 ---- man/systemd-bootchart.xml -+++ man/systemd-bootchart.xml -@@ -78,8 +78,8 @@ - in which order, and where possible problems - exist in the startup sequence of the system. - It is essentially a more detailed version of -- the systemd-analyze -- plot function. -+ the systemd-analyze plot -+ function. - - - Of course, bootchart can also be used at any --- -1.7.9.2 - diff --git a/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch b/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch deleted file mode 100644 index 1592a5aa..00000000 --- a/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +++ /dev/null @@ -1,57 +0,0 @@ -Based on dec23413ecc90d4a547aa41f02af0482b4513495 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 27 Oct 2014 21:31:29 -0400 -Subject: [PATCH] selinux: make sure we do not try to print missing fields - -UID or GID of 0 is valid, so we cannot use that to distinguish whether -calls to sd_bus_creds_get_* succeeded, and the return value from the -function is the only way to know about missing fields. Print "n/a" if -the fields are missing. - -CID #1238779 ---- - src/core/selinux-access.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git src/core/selinux-access.c src/core/selinux-access.c -index 08ea6ef..351d48f 100644 ---- src/core/selinux-access.c -+++ src/core/selinux-access.c -@@ -53,7 +53,7 @@ struct audit_info { - - /* - Any time an access gets denied this callback will be called -- with the aduit data. We then need to just copy the audit data into the msgbuf. -+ with the audit data. We then need to just copy the audit data into the msgbuf. - */ - static int audit_callback( - void *auditdata, -@@ -64,14 +64,20 @@ static int audit_callback( - const struct audit_info *audit = auditdata; - uid_t uid = 0, login_uid = 0; - gid_t gid = 0; -+ char login_uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; -+ char uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; -+ char gid_buf[DECIMAL_STR_MAX(gid_t)] = "n/a"; - -- sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid); -- sd_bus_creds_get_uid(audit->creds, &uid); -- sd_bus_creds_get_gid(audit->creds, &gid); -+ if (sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid) >= 0) -+ snprintf(login_uid_buf, sizeof(login_uid_buf), UID_FMT, login_uid); -+ if (sd_bus_creds_get_uid(audit->creds, &uid) >= 0) -+ snprintf(uid_buf, sizeof(uid_buf), UID_FMT, uid); -+ if (sd_bus_creds_get_gid(audit->creds, &gid) >= 0) -+ snprintf(gid_buf, sizeof(gid_buf), "%lu", (unsigned long)gid); - - snprintf(msgbuf, msgbufsize, -- "auid=%d uid=%d gid=%d%s%s%s%s%s%s", -- login_uid, uid, gid, -+ "auid=%s uid=%s gid=%s%s%s%s%s%s%s", -+ login_uid_buf, uid_buf, gid_buf, - audit->path ? " path=\"" : "", strempty(audit->path), audit->path ? "\"" : "", - audit->cmdline ? " cmdline=\"" : "", strempty(audit->cmdline), audit->cmdline ? "\"" : ""); - --- -1.7.9.2 - diff --git a/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch b/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch deleted file mode 100644 index 7dee5011..00000000 --- a/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch +++ /dev/null @@ -1,93 +0,0 @@ -From ff50244582bf69e8489bba6ce59a21663d7f8274 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 18 Aug 2014 22:21:42 +0200 -Subject: [PATCH] units: fix BindsTo= logic when applied relative to services - with Type=oneshot -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Start jobs for Type=oneshot units are successful when the unit state -transition activating → inactive took place. In such a case all units -that BindsTo= on it previously would continue to run, even though the unit -they dependet on was actually already gone. ---- - src/core/unit.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 44 insertions(+), 4 deletions(-) - -diff --git src/core/unit.c src/core/unit.c -index a5f6b2e..950b83a 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1471,12 +1471,44 @@ static void unit_check_unneeded(Unit *u) { - if (unit_active_or_pending(other)) - return; - -- log_info_unit(u->id, "Service %s is not needed anymore. Stopping.", u->id); -+ log_info_unit(u->id, "Unit %s is not needed anymore. Stopping.", u->id); - - /* Ok, nobody needs us anymore. Sniff. Then let's commit suicide */ - manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); - } - -+static void unit_check_binds_to(Unit *u) { -+ bool stop = false; -+ Unit *other; -+ Iterator i; -+ -+ assert(u); -+ -+ if (u->job) -+ return; -+ -+ if (unit_active_state(u) != UNIT_ACTIVE) -+ return; -+ -+ SET_FOREACH(other, u->dependencies[UNIT_BINDS_TO], i) { -+ if (other->job) -+ continue; -+ -+ if (!UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) -+ continue; -+ -+ stop = true; -+ } -+ -+ if (!stop) -+ return; -+ -+ log_info_unit(u->id, "Unit %s is bound to inactive service. Stopping, too.", u->id); -+ -+ /* A unit we need to run is gone. Sniff. Let's stop this. */ -+ manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); -+} -+ - static void retroactively_start_dependencies(Unit *u) { - Iterator i; - Unit *other; -@@ -1788,11 +1820,19 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - manager_recheck_journal(m); - unit_trigger_notify(u); - -- /* Maybe we finished startup and are now ready for being -- * stopped because unneeded? */ -- if (u->manager->n_reloading <= 0) -+ if (u->manager->n_reloading <= 0) { -+ /* Maybe we finished startup and are now ready for -+ * being stopped because unneeded? */ - unit_check_unneeded(u); - -+ /* Maybe we finished startup, but something we needed -+ * has vanished? Let's die then. (This happens when -+ * something BindsTo= to a Type=oneshot unit, as these -+ * units go directly from starting to inactive, -+ * without ever entering started.) */ -+ unit_check_binds_to(u); -+ } -+ - unit_add_to_dbus_queue(u); - unit_add_to_gc_queue(u); - } --- -1.7.9.2 - diff --git a/0012-core-transaction-avoid-misleading-error-message-when.patch b/0012-core-transaction-avoid-misleading-error-message-when.patch deleted file mode 100644 index 03021cd2..00000000 --- a/0012-core-transaction-avoid-misleading-error-message-when.patch +++ /dev/null @@ -1,42 +0,0 @@ -Based on 04ef5b03f64d3824a51a2a903548af029a006744 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 22 Jun 2014 14:04:23 -0400 -Subject: [PATCH] core/transaction: avoid misleading error message when unit - not found - -There's no point in telling the user to look at the logs when -an attempt to load the unit file failed with ENOENT. - -https://bugzilla.redhat.com/show_bug.cgi?id=996133 ---- - TODO | 4 ---- - src/core/transaction.c | 18 ++++++++++++------ - 2 files changed, 12 insertions(+), 10 deletions(-) - ---- src/core/transaction.c -+++ src/core/transaction.c 2014-06-24 11:18:42.746235805 +0000 -@@ -865,12 +865,18 @@ int transaction_add_job_and_dependencies - } - - if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { -- sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, -- "Unit %s failed to load: %s. " -- "See system logs and 'systemctl status %s' for details.", -- unit->id, -- strerror(-unit->load_error), -- unit->id); -+ if (unit->load_error == -ENOENT) -+ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, -+ "Unit %s failed to load: %s.", -+ unit->id, -+ strerror(-unit->load_error)); -+ else -+ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, -+ "Unit %s failed to load: %s. " -+ "See system logs and 'systemctl status %s' for details.", -+ unit->id, -+ strerror(-unit->load_error), -+ unit->id); - return -EINVAL; - } - diff --git a/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch b/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch deleted file mode 100644 index 00b0669b..00000000 --- a/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0b6b7c2004317da48e5bbd3078c5662d8f0061b6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 26 Feb 2014 23:01:43 -0500 -Subject: [PATCH] journalctl: refuse extra arguments with --verify and similar - -Positional arguments only make sense with the default action. -For other actions, complain instead of ignoring them silently. ---- - src/journal/journalctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/journal/journalctl.c src/journal/journalctl.c -index a328ba1..0619b25 100644 ---- src/journal/journalctl.c -+++ src/journal/journalctl.c -@@ -658,6 +658,11 @@ static int parse_argv(int argc, char *argv[]) { - return -EINVAL; - } - -+ if (arg_action != ACTION_SHOW && optind < argc) { -+ log_error("Extraneous arguments starting with '%s'", argv[optind]); -+ return -EINVAL; -+ } -+ - return 1; - } - --- -1.7.9.2 - diff --git a/0012-journald-remove-stray-reset-of-error-return-value.patch b/0012-journald-remove-stray-reset-of-error-return-value.patch deleted file mode 100644 index f15237f7..00000000 --- a/0012-journald-remove-stray-reset-of-error-return-value.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 2fc74bf4336eb7a7e40c0b355d19966cd97d4b3c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 10 Mar 2014 21:19:23 -0400 -Subject: [PATCH] journald: remove stray reset of error return value - ---- - src/journal/journald.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git src/journal/journald.c src/journal/journald.c -index 37896d0..c8c0801 100644 ---- src/journal/journald.c -+++ src/journal/journald.c -@@ -110,7 +110,6 @@ int main(int argc, char *argv[]) { - r = sd_event_run(server.event, t); - if (r < 0) { - log_error("Failed to run event loop: %s", strerror(-r)); -- r = -errno; - goto finish; - } - --- -1.7.9.2 - diff --git a/0012-man-add-missing-comma.patch b/0012-man-add-missing-comma.patch deleted file mode 100644 index 9d779f43..00000000 --- a/0012-man-add-missing-comma.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7d06ef0a5cd2f0a4e021d3d12f3841cce529e0f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 6 Mar 2014 23:54:13 -0500 -Subject: [PATCH] man: add missing comma - -marcosf0> missing comma in udevadm "see also" section ---- - man/udevadm.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git man/udevadm.xml man/udevadm.xml -index a3f8d54..21d1443 100644 ---- man/udevadm.xml -+++ man/udevadm.xml -@@ -594,7 +594,7 @@ - See Also - - udev7 -- -+ , - - systemd-udevd.service8 - --- -1.7.9.2 - diff --git a/0012-manager-do-not-print-anything-while-passwords-are-be.patch b/0012-manager-do-not-print-anything-while-passwords-are-be.patch deleted file mode 100644 index 88c30eab..00000000 --- a/0012-manager-do-not-print-anything-while-passwords-are-be.patch +++ /dev/null @@ -1,180 +0,0 @@ -Based on e46b13c8c7f48f81d4e09912f2265daaa7f6d27e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 25 Oct 2014 20:30:51 -0400 -Subject: [PATCH] manager: do not print anything while passwords are being - queried - -https://bugs.freedesktop.org/show_bug.cgi?id=73942 ---- - src/core/manager.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++- - src/core/manager.h | 5 ++ - 2 files changed, 109 insertions(+), 1 deletion(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-10-29 14:31:18.984212089 +0000 -@@ -25,6 +25,8 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include -@@ -212,6 +214,96 @@ static void manager_print_jobs_in_progre - - } - -+static int have_ask_password(void) { -+ _cleanup_closedir_ DIR *dir; -+ -+ dir = opendir("/run/systemd/ask-password"); -+ if (!dir) { -+ if (errno == ENOENT) -+ return false; -+ else -+ return -errno; -+ } -+ -+ for (;;) { -+ struct dirent *de; -+ -+ errno = 0; -+ de = readdir(dir); -+ if (!de && errno != 0) -+ return -errno; -+ if (!de) -+ return false; -+ -+ if (startswith(de->d_name, "ask.")) -+ return true; -+ } -+} -+ -+static int manager_dispatch_ask_password_fd(sd_event_source *source, -+ int fd, uint32_t revents, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(m); -+ -+ flush_fd(fd); -+ -+ m->have_ask_password = have_ask_password(); -+ if (m->have_ask_password < 0) -+ /* Log error but continue. Negative have_ask_password -+ * is treated as unknown status. */ -+ log_error("Failed to list /run/systemd/ask-password: %s", strerror(m->have_ask_password)); -+ -+ return 0; -+} -+ -+static void manager_close_ask_password(Manager *m) { -+ assert(m); -+ if (m->ask_password_inotify_fd >= 0) close_nointr_nofail(m->ask_password_inotify_fd); -+ m->ask_password_inotify_fd = -1; -+ m->ask_password_event_source = sd_event_source_unref(m->ask_password_event_source); -+ m->have_ask_password = -EINVAL; -+} -+ -+static int manager_check_ask_password(Manager *m) { -+ int r; -+ -+ assert(m); -+ -+ if (!m->ask_password_event_source) { -+ assert(m->ask_password_inotify_fd < 0); -+ -+ mkdir_p_label("/run/systemd/ask-password", 0755); -+ -+ m->ask_password_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); -+ if (m->ask_password_inotify_fd < 0) { -+ log_error("inotify_init1() failed: %m"); -+ return -errno; -+ } -+ -+ if (inotify_add_watch(m->ask_password_inotify_fd, "/run/systemd/ask-password", IN_CREATE|IN_DELETE|IN_MOVE) < 0) { -+ log_error("Failed to add watch on /run/systemd/ask-password: %m"); -+ manager_close_ask_password(m); -+ return -errno; -+ } -+ -+ r = sd_event_add_io(m->event, &m->ask_password_event_source, -+ m->ask_password_inotify_fd, EPOLLIN, -+ manager_dispatch_ask_password_fd, m); -+ if (r < 0) { -+ log_error("Failed to add event source for /run/systemd/ask-password: %m"); -+ manager_close_ask_password(m); -+ return -errno; -+ } -+ -+ /* Queries might have been added meanwhile... */ -+ manager_dispatch_ask_password_fd(m->ask_password_event_source, -+ m->ask_password_inotify_fd, EPOLLIN, m); -+ } -+ -+ return m->have_ask_password; -+} -+ - static int manager_watch_idle_pipe(Manager *m) { - int r; - -@@ -470,6 +562,9 @@ int manager_new(SystemdRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; - m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ - -+ m->ask_password_inotify_fd = -1; -+ m->have_ask_password = -EINVAL; /* we don't know */ -+ - r = manager_default_environment(m); - if (r < 0) - goto fail; -@@ -847,6 +942,8 @@ void manager_free(Manager *m) { - if (m->kdbus_fd >= 0) - close_nointr_nofail(m->kdbus_fd); - -+ manager_close_ask_password(m); -+ - manager_close_idle_pipe(m); - - udev_unref(m->udev); -@@ -2526,6 +2623,9 @@ void manager_check_finished(Manager *m) - /* Turn off confirm spawn now */ - m->confirm_spawn = false; - -+ /* No need to update ask password status when we're going non-interactive */ -+ manager_close_ask_password(m); -+ - if (dual_timestamp_is_set(&m->finish_timestamp)) - return; - -@@ -2843,12 +2943,15 @@ static bool manager_get_show_status(Mana - if (m->no_console_output) - return false; - -+ /* If we cannot find out the status properly, just proceed. */ -+ if (manager_check_ask_password(m) > 0) -+ return false; -+ - if (m->show_status > 0) - return true; - - /* If Plymouth is running make sure we show the status, so - * that there's something nice to see when people press Esc */ -- - return plymouth_running(); - } - ---- src/core/manager.h -+++ src/core/manager.h 2014-10-29 00:00:00.000000000 +0000 -@@ -231,6 +231,11 @@ struct Manager { - unsigned n_on_console; - unsigned jobs_in_progress_iteration; - -+ /* Do we have any outstanding password prompts? */ -+ int have_ask_password; -+ int ask_password_inotify_fd; -+ sd_event_source *ask_password_event_source; -+ - /* Type=idle pipes */ - int idle_pipe[4]; - sd_event_source *idle_pipe_event_source; diff --git a/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch b/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch deleted file mode 100644 index becc7844..00000000 --- a/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 70421bdce2719d76efffd8afdc28433c75aac5a2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 18 Aug 2014 23:15:51 +0200 -Subject: [PATCH] util: try to be a bit more NFS compatible when checking - whether an FS is writable - -https://bugs.freedesktop.org/show_bug.cgi?id=81169 ---- - src/shared/path-util.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git src/shared/path-util.c src/shared/path-util.c -index 57554cd..67566bc 100644 ---- src/shared/path-util.c -+++ src/shared/path-util.c -@@ -533,7 +533,16 @@ int path_is_read_only_fs(const char *path) { - if (statvfs(path, &st) < 0) - return -errno; - -- return !!(st.f_flag & ST_RDONLY); -+ if (st.f_flag & ST_RDONLY) -+ return true; -+ -+ /* On NFS, statvfs() might not reflect whether we can actually -+ * write to the remote share. Let's try again with -+ * access(W_OK) which is more reliable, at least sometimes. */ -+ if (access(path, W_OK) < 0 && errno == EROFS) -+ return true; -+ -+ return false; - } - - int path_is_os_tree(const char *path) { --- -1.7.9.2 - diff --git a/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch b/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch deleted file mode 100644 index 0343c2ad..00000000 --- a/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 6f285378aa6e4b5b23c939d1fea16f9ab0a57efb Mon Sep 17 00:00:00 2001 -From: Miklos Vajna -Date: Fri, 14 Mar 2014 21:13:38 +0100 -Subject: [PATCH] core, libsystemd, systemd, timedate, udev: spelling fixes - ---- - src/core/service.c | 2 +- - src/core/unit.c | 2 +- - src/libsystemd/sd-bus/bus-message.c | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/systemd/sd-resolve.h | 2 +- - src/timedate/timedated.c | 2 +- - src/udev/udevadm-settle.c | 2 +- - 7 files changed, 8 insertions(+), 8 deletions(-) - -diff --git src/core/service.c src/core/service.c -index 41b95ab..386692a 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -3416,7 +3416,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - free(t); - } - -- /* Interpet WATCHDOG= */ -+ /* Interpret WATCHDOG= */ - if (strv_find(tags, "WATCHDOG=1")) { - log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); - service_reset_watchdog(s); -diff --git src/core/unit.c src/core/unit.c -index 5c98843..4fb0d9c 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1537,7 +1537,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - unit_destroy_cgroup(u); - - /* Note that this doesn't apply to RemainAfterExit services exiting -- * sucessfully, since there's no change of state in that case. Which is -+ * successfully, since there's no change of state in that case. Which is - * why it is handled in service_set_state() */ - if (UNIT_IS_INACTIVE_OR_FAILED(os) != UNIT_IS_INACTIVE_OR_FAILED(ns)) { - ExecContext *ec; -diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c -index b9d7f6d..e32f2b8 100644 ---- src/libsystemd/sd-bus/bus-message.c -+++ src/libsystemd/sd-bus/bus-message.c -@@ -4215,7 +4215,7 @@ static int message_read_ap( - * in a single stackframe. We hence implement our own - * home-grown stack in an array. */ - -- n_array = (unsigned) -1; /* lenght of current array entries */ -+ n_array = (unsigned) -1; /* length of current array entries */ - n_struct = strlen(types); /* length of current struct contents signature */ - - for (;;) { -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 8e44e50..ba8a8a2 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -1447,7 +1447,7 @@ static int bus_seal_message(sd_bus *b, sd_bus_message *m, usec_t timeout) { - static int bus_remarshal_message(sd_bus *b, sd_bus_message **m) { - assert(b); - -- /* Do packet version and endianess already match? */ -+ /* Do packet version and endianness already match? */ - if ((b->message_version == 0 || b->message_version == (*m)->header->version) && - (b->message_endian == 0 || b->message_endian == (*m)->header->endian)) - return 0; -@@ -1464,7 +1464,7 @@ int bus_seal_synthetic_message(sd_bus *b, sd_bus_message *m) { - * hence let's fill something in for synthetic messages. Since - * synthetic messages might have a fake sender and we don't - * want to interfere with the real sender's serial numbers we -- * pick a fixed, artifical one. We use (uint32_t) -1 rather -+ * pick a fixed, artificial one. We use (uint32_t) -1 rather - * than (uint64_t) -1 since dbus1 only had 32bit identifiers, - * even though kdbus can do 64bit. */ - -diff --git src/systemd/sd-resolve.h src/systemd/sd-resolve.h -index df69e4b..3c1d482 100644 ---- src/systemd/sd-resolve.h -+++ src/systemd/sd-resolve.h -@@ -129,7 +129,7 @@ int sd_resolve_get_next(sd_resolve *resolve, sd_resolve_query **q); - int sd_resolve_get_n_queries(sd_resolve *resolve); - - /** Cancel a currently running query. q is is destroyed by this call -- * and may not be used any futher. */ -+ * and may not be used any further. */ - int sd_resolve_cancel(sd_resolve_query* q); - - /** Returns non-zero when the query operation specified by q has been completed */ -diff --git src/timedate/timedated.c src/timedate/timedated.c -index d85ce57..c4a797a 100644 ---- src/timedate/timedated.c -+++ src/timedate/timedated.c -@@ -468,7 +468,7 @@ static int property_get_rtc_time( - zero(tm); - r = hwclock_get_time(&tm); - if (r == -EBUSY) { -- log_warning("/dev/rtc is busy, is somebody keeping it open continously? That's not a good idea... Returning a bogus RTC timestamp."); -+ log_warning("/dev/rtc is busy, is somebody keeping it open continuously? That's not a good idea... Returning a bogus RTC timestamp."); - t = 0; - } else if (r == -ENOENT) { - log_debug("Not /dev/rtc found."); -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index b026155..927ea2a 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -100,7 +100,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - case '?': - exit(EXIT_FAILURE); - default: -- assert_not_reached("Unkown argument"); -+ assert_not_reached("Unknown argument"); - } - - if (optind < argc) { --- -1.7.9.2 - diff --git a/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch b/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch deleted file mode 100644 index f65e5d3e..00000000 --- a/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6c49212741253dae05b89d22374186f092ef1e5a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= -Date: Fri, 7 Mar 2014 01:50:34 +0100 -Subject: [PATCH] units: Do not unescape instance name in - systemd-backlight@.service - -The instance name is never escaped in the udev rule, but unescaped in the unit. -This results in the following error message on Asus boards: - - Failed to get backlight or LED device 'backlight:eeepc/wmi': No such file or directory ---- - units/systemd-backlight@.service.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git units/systemd-backlight@.service.in units/systemd-backlight@.service.in -index 5caa5d5..e945d87 100644 ---- units/systemd-backlight@.service.in -+++ units/systemd-backlight@.service.in -@@ -6,7 +6,7 @@ - # (at your option) any later version. - - [Unit] --Description=Load/Save Screen Backlight Brightness of %I -+Description=Load/Save Screen Backlight Brightness of %i - Documentation=man:systemd-backlight@.service(8) - DefaultDependencies=no - RequiresMountsFor=/var/lib/systemd/backlight -@@ -17,5 +17,5 @@ Before=sysinit.target shutdown.target - [Service] - Type=oneshot - RemainAfterExit=yes --ExecStart=@rootlibexecdir@/systemd-backlight load %I --ExecStop=@rootlibexecdir@/systemd-backlight save %I -+ExecStart=@rootlibexecdir@/systemd-backlight load %i -+ExecStop=@rootlibexecdir@/systemd-backlight save %i --- -1.7.9.2 - diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index 6bf95fb4..c3ae1a23 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -1,5 +1,22 @@ ---- systemd-208/src/journal/journald-server.c -+++ systemd-208/src/journal/journald-server.c 2013-12-10 16:31:50.770235717 +0000 +From: werner@suse.de +Upstream: marked as openSUSE-specific fix originally, but may well + worth be to be sent upstream. + +Original description: + (none) + +Augmented description [jengelh@inai.de]: +Disable COW on journal files, as that is naturally leading to a lot +of unwanted fragmentation on btrfs. +No word on compression… +--- + src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + +Index: systemd/src/journal/journald-server.c +=================================================================== +--- systemd.orig/src/journal/journald-server.c ++++ systemd/src/journal/journald-server.c @@ -21,6 +21,7 @@ #include @@ -8,45 +25,50 @@ #include #include #include -@@ -878,7 +879,7 @@ finish: +@@ -917,6 +918,38 @@ finish: + dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); + } - - static int system_journal_open(Server *s) { -- int r; -+ int r, fd; - char *fn; - sd_id128_t machine; - char ids[33]; -@@ -905,7 +906,31 @@ static int system_journal_open(Server *s - (void) mkdir("/var/log/journal/", 0755); - - fn = strappenda("/var/log/journal/", ids); -- (void) mkdir(fn, 0755); -+ (void)mkdir(fn, 0755); ++/* ++ * On journaling and/or compressing file systems, avoid doubling the efforts ++ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every ++ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on ++ * a single unkown flag (like BtrFS does). ++ * ++ * …but src/journal/journal-file.c already sets NOCOW too…⸘ ++ */ ++static void disable_cow(const char *dir, const Server *serv) ++{ ++ unsigned long flags; ++ int fd = open(dir, O_DIRECTORY); + -+ /* -+ * On journaling and/or compressing file systems avoid doubling the -+ * efforts for the system, that is set NOCOW and NOCOMP inode flags. -+ * Check for every single flag as otherwise some of the file systems -+ * may return EOPNOTSUPP on one unkown flag (like BtrFS does). -+ */ -+ if ((fd = open(fn, O_DIRECTORY)) >= 0) { -+ long flags; -+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ int old = flags; -+ if (!(flags&FS_NOATIME_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0) -+ flags |= FS_NOATIME_FL; -+ if (!(flags&FS_NOCOW_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0) -+ flags |= FS_NOCOW_FL; -+ if (!(flags&FS_NOCOMP_FL) && s->compress) { -+ flags &= ~FS_COMPR_FL; -+ flags |= FS_NOCOMP_FL; -+ } -+ if (old != flags) -+ ioctl(fd, FS_IOC_SETFLAGS, flags); -+ } -+ close(fd); ++ if (fd < 0) ++ return; ++ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { ++ unsigned long old = flags; ++ if (!(flags & FS_NOATIME_FL) && ++ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0) ++ flags |= FS_NOATIME_FL; ++ if (!(flags & FS_NOCOW_FL) && ++ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0) ++ flags |= FS_NOCOW_FL; ++ if (!(flags & FS_NOCOMP_FL) && serv->compress) { ++ flags &= ~FS_COMPR_FL; ++ flags |= FS_NOCOMP_FL; + } ++ if (old != flags) ++ ioctl(fd, FS_IOC_SETFLAGS, flags); ++ } ++ close(fd); ++} - fn = strappenda(fn, "/system.journal"); + static int system_journal_open(Server *s, bool flush_requested) { + int r; +@@ -946,6 +979,7 @@ static int system_journal_open(Server *s + + fn = strjoina("/var/log/journal/", ids); + (void) mkdir(fn, 0755); ++ disable_cow(fn, s); + + fn = strjoina(fn, "/system.journal"); r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch b/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch deleted file mode 100644 index c4c2f4cb..00000000 --- a/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 13e8ceb84e56907d73b6b07418deb37faaf0e66d Mon Sep 17 00:00:00 2001 -From: Tero Roponen -Date: Tue, 25 Feb 2014 17:19:35 +0200 -Subject: [PATCH] nspawn: fix detection of missing /proc/self/loginuid - -Running 'systemd-nspawn -D /srv/Fedora/' gave me this error: - Failed to read /proc/self/loginuid: No such file or directory - - Container Fedora failed with error code 1. - -This patch fixes the problem. ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 1fe641b..92b6728 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1349,7 +1349,7 @@ static int reset_audit_loginuid(void) { - return 0; - - r = read_one_line_file("/proc/self/loginuid", &p); -- if (r == -EEXIST) -+ if (r == -ENOENT) - return 0; - if (r < 0) { - log_error("Failed to read /proc/self/loginuid: %s", strerror(-r)); --- -1.7.9.2 - diff --git a/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch deleted file mode 100644 index a98660ec..00000000 --- a/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +++ /dev/null @@ -1,68 +0,0 @@ -Should solve the problems of - - bug #858864 - LSB "+" dependencies aren't handled properly - bug #857204 - inssrv fails to enable rpcbind - The side effect is that RequiresOverridable= is used for the services - add behind Required-Start - bug #863217 - systemd overrides explicit admin request to disable a service - That is that in this version the Wants= for all services behind - Should-Start, X-Start-Before, and X-Stop-After is not used anymore - ---- - service.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - ---- systemd-208/src/core/service.c -+++ systemd-208/src/core/service.c 2014-02-21 14:44:59.066735478 +0000 -@@ -380,6 +380,8 @@ static int sysv_translate_facility(const - "remote_fs", SPECIAL_REMOTE_FS_TARGET, - "syslog", NULL, - "time", SPECIAL_TIME_SYNC_TARGET, -+ "all", SPECIAL_DEFAULT_TARGET, -+ "null", NULL, - }; - - unsigned i; -@@ -389,7 +391,7 @@ static int sysv_translate_facility(const - assert(name); - assert(_r); - -- n = *name == '$' ? name + 1 : name; -+ n = (*name == '$' || *name == '+') ? name + 1 : name; - - for (i = 0; i < ELEMENTSOF(table); i += 2) { - -@@ -816,10 +818,13 @@ static int service_load_sysv_path(Servic - startswith_no_case(t, "Should-Start:") || - startswith_no_case(t, "X-Start-Before:") || - startswith_no_case(t, "X-Start-After:")) { -+ UnitDependency d, e; - char *i, *w; - size_t z; - - state = LSB; -+ d = startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER; -+ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : _UNIT_DEPENDENCY_INVALID; - - FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { - char *n, *m; -@@ -838,12 +843,18 @@ static int service_load_sysv_path(Servic - continue; - } - -+ if (*n == '+') -+ e = UNIT_WANTS; -+ - free(n); - - if (r == 0) - continue; - -- r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true); -+ if (e != _UNIT_DEPENDENCY_INVALID) -+ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); -+ else -+ r = unit_add_dependency_by_name(u, d, m, NULL, true); - - if (r < 0) - log_error_unit(u->id, "[%s:%u] Failed to add dependency on %s, ignoring: %s", diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index 89d79183..a545cf08 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -1,8 +1,45 @@ ---- systemd-208/shell-completion/bash/hostnamectl -+++ systemd-208/shell-completion/bash/hostnamectl 2014-01-17 14:27:16.183272019 +0000 +--- + shell-completion/bash/coredumpctl | 6 +++++- + shell-completion/bash/hostnamectl | 6 +++++- + shell-completion/bash/journalctl | 6 +++++- + shell-completion/bash/kernel-install | 13 ++++++++++++- + shell-completion/bash/localectl | 6 +++++- + shell-completion/bash/loginctl | 6 +++++- + shell-completion/bash/systemctl.in | 6 +++++- + shell-completion/bash/systemd-analyze | 6 +++++- + shell-completion/bash/systemd-run | 14 +++++++++++++- + shell-completion/bash/timedatectl | 6 +++++- + shell-completion/bash/udevadm | 6 +++++- + 11 files changed, 70 insertions(+), 11 deletions(-) + +Index: systemd/shell-completion/bash/coredumpctl +=================================================================== +--- systemd.orig/shell-completion/bash/coredumpctl ++++ systemd/shell-completion/bash/coredumpctl +@@ -44,6 +44,10 @@ _coredumpctl() { + [DUMP]='dump gdb' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" '--output -o'; then + comps=$( compgen -A file -- "$cur" ) + compopt -o filenames +@@ -82,4 +86,4 @@ _coredumpctl() { + return 0 + } + +-complete -F _coredumpctl coredumpctl ++complete -o default -o bashdefault -F _coredumpctl coredumpctl +Index: systemd/shell-completion/bash/hostnamectl +=================================================================== +--- systemd.orig/shell-completion/bash/hostnamectl ++++ systemd/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty - --no-ask-password -H --host' + --no-ask-password -H --host --machine' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -11,16 +48,18 @@ if [[ $cur = -* ]]; then COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) return 0 -@@ -58,4 +62,4 @@ _hostnamectl() { +@@ -61,4 +65,4 @@ _hostnamectl() { return 0 } -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl ---- systemd-208/shell-completion/bash/journalctl -+++ systemd-208/shell-completion/bash/journalctl 2014-01-17 14:34:30.338737694 +0000 -@@ -49,6 +49,10 @@ _journalctl() { - --verify-key' +Index: systemd/shell-completion/bash/journalctl +=================================================================== +--- systemd.orig/shell-completion/bash/journalctl ++++ systemd/shell-completion/bash/journalctl +@@ -55,6 +55,10 @@ _journalctl() { + --root --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -30,14 +69,16 @@ if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in --boot|--this-boot|-b) -@@ -107,4 +111,4 @@ _journalctl() { +@@ -120,4 +124,4 @@ _journalctl() { fi } -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl ---- systemd-208/shell-completion/bash/kernel-install -+++ systemd-208/shell-completion/bash/kernel-install 2014-01-17 14:34:41.982255874 +0000 +Index: systemd/shell-completion/bash/kernel-install +=================================================================== +--- systemd.orig/shell-completion/bash/kernel-install ++++ systemd/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -67,11 +108,13 @@ -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install ---- systemd-208/shell-completion/bash/localectl -+++ systemd-208/shell-completion/bash/localectl 2014-01-17 14:34:52.546235747 +0000 -@@ -30,6 +30,10 @@ _localectl() { +Index: systemd/shell-completion/bash/localectl +=================================================================== +--- systemd.orig/shell-completion/bash/localectl ++++ systemd/shell-completion/bash/localectl +@@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password - -H --host' + -H --host --machine' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -80,17 +123,19 @@ if __contains_word "$prev" $OPTS; then case $prev in --host|-H) -@@ -73,4 +77,4 @@ _localectl() { +@@ -89,4 +93,4 @@ _localectl() { return 0 } -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl ---- systemd-208/shell-completion/bash/loginctl -+++ systemd-208/shell-completion/bash/loginctl 2014-01-17 14:35:03.386245699 +0000 -@@ -37,6 +37,10 @@ _loginctl () { - [ARG]='--host -H --kill-who --property -p --signal -s' - ) +Index: systemd/shell-completion/bash/loginctl +=================================================================== +--- systemd.orig/shell-completion/bash/loginctl ++++ systemd/shell-completion/bash/loginctl +@@ -38,6 +38,10 @@ _loginctl () { + [ARG]='--host -H --kill-who --property -p --signal -s --machine' + ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -99,15 +144,17 @@ if __contains_word "$prev" ${OPTS[ARG]}; then case $prev in --signal|-s) -@@ -106,4 +110,4 @@ _loginctl () { +@@ -107,4 +111,4 @@ _loginctl () { return 0 } -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl ---- systemd-208/shell-completion/bash/systemctl -+++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000 -@@ -77,6 +77,10 @@ _systemctl () { +Index: systemd/shell-completion/bash/systemctl.in +=================================================================== +--- systemd.orig/shell-completion/bash/systemctl.in ++++ systemd/shell-completion/bash/systemctl.in +@@ -96,6 +96,10 @@ _systemctl () { [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' ) @@ -118,16 +165,18 @@ if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user else -@@ -226,4 +230,4 @@ _systemctl () { +@@ -264,4 +268,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl ---- systemd-208/shell-completion/bash/systemd-analyze -+++ systemd-208/shell-completion/bash/systemd-analyze 2014-01-17 14:35:38.366736021 +0000 -@@ -37,6 +37,10 @@ _systemd_analyze() { - [LOG_LEVEL]='set-log-level' +Index: systemd/shell-completion/bash/systemd-analyze +=================================================================== +--- systemd.orig/shell-completion/bash/systemd-analyze ++++ systemd/shell-completion/bash/systemd-analyze +@@ -47,6 +47,10 @@ _systemd_analyze() { + [VERIFY]='verify' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -137,33 +186,16 @@ _init_completion || return for ((i=0; i < COMP_CWORD; i++)); do -@@ -83,4 +87,4 @@ _systemd_analyze() { +@@ -114,4 +118,4 @@ _systemd_analyze() { return 0 } -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze ---- systemd-208/shell-completion/bash/systemd-coredumpctl -+++ systemd-208/shell-completion/bash/systemd-coredumpctl 2014-01-17 14:35:46.434235632 +0000 -@@ -44,6 +44,10 @@ _coredumpctl() { - [DUMP]='dump gdb' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" '--output -o'; then - comps=$( compgen -A file -- "$cur" ) - compopt -o filenames -@@ -82,4 +86,4 @@ _coredumpctl() { - return 0 - } - --complete -F _coredumpctl systemd-coredumpctl -+complete -o default -o bashdefault -F _coredumpctl systemd-coredumpctl ---- systemd-208/shell-completion/bash/systemd-run -+++ systemd-208/shell-completion/bash/systemd-run 2014-01-17 14:35:55.938236298 +0000 +Index: systemd/shell-completion/bash/systemd-run +=================================================================== +--- systemd.orig/shell-completion/bash/systemd-run ++++ systemd/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -178,7 +210,7 @@ __systemctl() { local mode=$1; shift 1 systemctl $mode --full --no-legend "$@" -@@ -31,6 +38,11 @@ _systemd_run() { +@@ -38,6 +45,11 @@ _systemd_run() { local mode=--system local i @@ -190,17 +222,19 @@ for (( i=1; i <= COMP_CWORD; i++ )); do if [[ ${COMP_WORDS[i]} != -* ]]; then local root_command=${COMP_WORDS[i]} -@@ -60,4 +72,4 @@ _systemd_run() { +@@ -98,4 +110,4 @@ _systemd_run() { return 0 } -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run ---- systemd-208/shell-completion/bash/timedatectl -+++ systemd-208/shell-completion/bash/timedatectl 2014-01-17 14:36:06.182735466 +0000 +Index: systemd/shell-completion/bash/timedatectl +=================================================================== +--- systemd.orig/shell-completion/bash/timedatectl ++++ systemd/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager - --no-ask-password -H --host' + --no-ask-password -H --host --machine' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -215,8 +249,10 @@ -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl ---- systemd-208/shell-completion/bash/udevadm -+++ systemd-208/shell-completion/bash/udevadm 2014-01-17 14:36:16.406236120 +0000 +Index: systemd/shell-completion/bash/udevadm +=================================================================== +--- systemd.orig/shell-completion/bash/udevadm ++++ systemd/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index 58bb7b25..b4bc2d07 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -22,14 +22,14 @@ References: bnc#770910,FATE#317063 Signed-off-by: Robert Milasan Signed-off-by: Hannes Reinecke --- - src/udev/udev-builtin-path_id.c | 53 +++++++++++++++++++++++++++++++---------- + src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) -diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c -index 0599980..fbd3fda 100644 ---- a/src/udev/udev-builtin-path_id.c -+++ b/src/udev/udev-builtin-path_id.c -@@ -339,6 +339,46 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * +Index: systemd-218/src/udev/udev-builtin-path_id.c +=================================================================== +--- systemd-218.orig/src/udev/udev-builtin-path_id.c ++++ systemd-218/src/udev/udev-builtin-path_id.c +@@ -426,6 +426,46 @@ static struct udev_device *handle_scsi_h return parent; } @@ -73,10 +73,10 @@ index 0599980..fbd3fda 100644 + return hostdev; +} + - static struct udev_device *handle_scsi(struct udev_device *parent, char **path) - { + static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { const char *devtype; -@@ -375,19 +415,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) + const char *name; +@@ -465,19 +505,8 @@ static struct udev_device *handle_scsi(s goto out; } @@ -97,6 +97,3 @@ index 0599980..fbd3fda 100644 goto out; } --- -1.8.1.4 - diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch index 93756c5a..eee1415f 100644 --- a/1003-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -4,17 +4,19 @@ Subject: udev netlink null rules udevd race for netlink events (bnc#774646) --- - src/udev/udevd.c | 2 ++ + src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) ---- systemd-206.orig/src/udev/udevd.c -+++ systemd-206/src/udev/udevd.c -@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[]) +Index: systemd-218/src/udev/udevd.c +=================================================================== +--- systemd-218.orig/src/udev/udevd.c ++++ systemd-218/src/udev/udevd.c +@@ -1468,6 +1468,8 @@ int main(int argc, char *argv[]) { dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); + if (rules == NULL) -+ rules = udev_rules_new(udev, resolve_names); ++ rules = udev_rules_new(udev, arg_resolve_names); if (event_queue_insert(dev) < 0) udev_device_unref(dev); } diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch index e70b5758..85abb1f7 100644 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -4,14 +4,16 @@ Subject: create default links for primary cd_dvd drive cdrom_id: created links for the default cd/dvd drive (bnc#783054). --- - rules/60-cdrom_id.rules | 5 ++++- + rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---- systemd-206.orig/rules/60-cdrom_id.rules -+++ systemd-206/rules/60-cdrom_id.rules -@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr - # enable the receiving of media eject button events - IMPORT{program}="cdrom_id --lock-media $devnode" +Index: systemd/rules/60-cdrom_id.rules +=================================================================== +--- systemd.orig/rules/60-cdrom_id.rules ++++ systemd/rules/60-cdrom_id.rules +@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ + # stale mounts after ejecting + ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" -KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" +KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index eb98cc2f..f838b9ac 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -9,15 +9,17 @@ Date: Tue, 4 Mar 2014 10:29:21 +0000 Port the patch of Robert to systemd v210 and test it out. --- - udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 38 insertions(+), 4 deletions(-) + src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++---- + 1 file changed, 37 insertions(+), 4 deletions(-) ---- systemd-210/src/udev/udev-event.c -+++ systemd-210/src/udev/udev-event.c 2014-03-27 13:19:06.727748307 +0000 -@@ -750,8 +750,9 @@ static int rename_netif(struct udev_even +Index: systemd-218/src/udev/udev-event.c +=================================================================== +--- systemd-218.orig/src/udev/udev-event.c ++++ systemd-218/src/udev/udev-event.c +@@ -767,20 +767,53 @@ out: + static int rename_netif(struct udev_event *event) { struct udev_device *dev = event->dev; - _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL; char name[IFNAMSIZ]; + char interim[IFNAMSIZ], *ptr = &interim[0]; const char *oldname; @@ -26,43 +28,40 @@ Port the patch of Robert to systemd v210 and test it out. oldname = udev_device_get_sysname(dev); -@@ -765,12 +766,45 @@ static int rename_netif(struct udev_even - return r; + strscpy(name, IFNAMSIZ, event->name); - r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); - if (r < 0) + if (r == 0) { -+ print_kmsg("renamed network interface %s to %s\n", oldname, name); ++ log_info("renamed network interface %s to %s\n", oldname, name); + return r; + } else if (r != -EEXIST) { - log_error("error changing net interface name %s to %s: %s", - oldname, name, strerror(-r)); -- else -- print_kmsg("renamed network interface %s to %s", oldname, name); -+ return r; -+ } -+ + return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name); ++ } + +- log_debug("renamed network interface '%s' to '%s'", oldname, name); + /* free our own name, another process may wait for us */ + strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); -+ -+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim); + +- return 0; ++ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim); + if (r < 0) { + log_error("error changing net interface name %s to %s: %s", + oldname, interim, strerror(-r)); + return r; + } - ++ + /* log temporary name */ -+ print_kmsg("renamed network interface %s to %s\n", oldname, interim); ++ log_info("renamed network interface %s to %s\n", oldname, interim); + + loop = 90 * 20; + while (loop--) { + const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; + nanosleep(&duration, NULL); + -+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); ++ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { -+ print_kmsg("renamed network interface %s to %s\n", interim, name); ++ log_info("renamed network interface %s to %s\n", interim, name); + break; + } + @@ -72,6 +71,7 @@ Port the patch of Robert to systemd v210 and test it out. + break; + } + } - return r; ++ return r; } + void udev_event_execute_rules(struct udev_event *event, diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch deleted file mode 100644 index d0117371..00000000 --- a/1008-add-msft-compability-rules.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am -@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \ - rules/80-hotplug-cpu-mem.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/61-msft.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ ---- /dev/null -+++ systemd-206/rules/61-msft.rules -@@ -0,0 +1,9 @@ -+# MSFT compability rules -+ACTION!="add|change", GOTO="msft_end" -+ -+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" -+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode" -+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}" -+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n" -+ -+LABEL="msft_end" diff --git a/1009-cdrom_id-use-the-old-MMC-fallback.patch b/1009-cdrom_id-use-the-old-MMC-fallback.patch deleted file mode 100644 index ada9292f..00000000 --- a/1009-cdrom_id-use-the-old-MMC-fallback.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a14f14976094650e17d39f3a7d15a1c68c93c333 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Thu, 27 Feb 2014 11:06:37 +0100 -Subject: [PATCH] cdrom_id: use the old MMC fallback - -https://bugzilla.redhat.com/show_bug.cgi?id=1038015 -The problem seems to be that the your virtual DVD is emulating a really -old DVD device, and doing it kind of strangely. - -> dracut:# /lib/udev/cdrom_id --debug /dev/sr0 -> probing: '/dev/sr0' -> INQUIRY: [IMM ][Virtual CD/DVD ][0316] -> GET CONFIGURATION failed with SK=5h/ASC=24h/ACQ=00h - -So your virtual drive rejects the GET CONFIGURATION command as illegal. - -Other pre-MMC2 drives that don't accept this command usually return the -error -SK=5h,ASC=20h (invalid/unsupported command code), in which case cdrom_id -tries an older method, and then ID_CDROM_MEDIA_TRACK_COUNT_DATA gets set -and all the /dev/disk/by-label (etc) links get set up. - -The virtual drive returns the error SK=5h,ASC=24h (invalid field in -Command Descriptor Block), which cdrom_id doesn't handle, so it gives up -and the links never get made. - -The ideal solution would be to make the IMM to emulate a device that's -less than 15 years old, but I'm not going to hold my breath waiting for -that. - -So probably cdrom_id should also use the old MMC fallback when the error -is SK=5h,ASC=24h, and then all of this would work as expected. - -Suggested-by:Luca Miccini ---- - src/udev/cdrom_id/cdrom_id.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/cdrom_id/cdrom_id.c src/udev/cdrom_id/cdrom_id.c -index 93467c2..33b2bc3 100644 ---- a/src/udev/cdrom_id/cdrom_id.c -+++ b/src/udev/cdrom_id/cdrom_id.c -@@ -556,7 +556,7 @@ static int cd_profiles(struct udev *udev, int fd) - if ((err != 0)) { - info_scsi_cmd_err(udev, "GET CONFIGURATION", err); - /* handle pre-MMC2 drives which do not support GET CONFIGURATION */ -- if (SK(err) == 0x5 && ASC(err) == 0x20) { -+ if (SK(err) == 0x5 && (ASC(err) == 0x20 || ASC(err) == 0x24)) { - log_debug("drive is pre-MMC2 and does not support 46h get configuration command"); - log_debug("trying to work around the problem"); - ret = cd_profiles_old_mmc(udev, fd); --- -1.7.9.2 - diff --git a/1010-udev-increase-result-size-for-programs.patch b/1010-udev-increase-result-size-for-programs.patch deleted file mode 100644 index 7eb2ea72..00000000 --- a/1010-udev-increase-result-size-for-programs.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-210/src/udev/udev-rules.c -=================================================================== ---- systemd-210.orig/src/udev/udev-rules.c -+++ systemd-210/src/udev/udev-rules.c -@@ -2027,7 +2027,7 @@ int udev_rules_apply_to_event(struct ude - case TK_M_PROGRAM: { - char program[UTIL_PATH_SIZE]; - char **envp; -- char result[UTIL_PATH_SIZE]; -+ char result[UTIL_LINE_SIZE]; - - free(event->program_result); - event->program_result = NULL; diff --git a/1014-udev-update-net_id-comments.patch b/1014-udev-update-net_id-comments.patch deleted file mode 100644 index 6b0b7f5a..00000000 --- a/1014-udev-update-net_id-comments.patch +++ /dev/null @@ -1,102 +0,0 @@ -From d4b687c96adf207f0878aebf3ce3371f6160687f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 27 Mar 2014 15:30:09 +0100 -Subject: [PATCH] udev: update net_id comments - -Signed-off-by: Robert Milasan ---- - src/udev/udev-builtin-net_id.c | 31 +++++++++++++++---------------- - 1 file changed, 15 insertions(+), 16 deletions(-) - -diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c -index 4f2b2c1..9ac07de 100644 ---- a/src/udev/udev-builtin-net_id.c -+++ b/src/udev/udev-builtin-net_id.c -@@ -33,8 +33,11 @@ - * ww -- wwan - * - * Type of names: -+ * b -- BCMA bus core number -+ * ccw -- CCW bus group name - * o -- on-board device index number - * s[f][d] -- hotplug slot index number -+ * v -- virtio number - * x -- MAC address - * [P]ps[f][d] - * -- PCI geographical location -@@ -119,12 +122,9 @@ struct netnames { - const char *pci_onboard_label; - - char usb_ports[IFNAMSIZ]; -- - char bcma_core[IFNAMSIZ]; -- -- char virtio_core[IFNAMSIZ]; -- -- char ccw_core[IFNAMSIZ]; -+ char virtio[IFNAMSIZ]; -+ char ccw_group[IFNAMSIZ]; - }; - - /* retrieve on-board index number and label from firmware */ -@@ -353,18 +353,17 @@ static int names_bcma(struct udev_device *dev, struct netnames *names) { - - static int names_virtio(struct udev_device *dev, struct netnames *names) { - struct udev_device *virtdev; -- unsigned int core; -+ unsigned int num; - - virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); - if (!virtdev) - return -ENOENT; - -- /* core num */ -- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &core) != 1) -+ if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) - return -EINVAL; -- /* suppress the common core == 0 */ -- if (core > 0) -- snprintf(names->virtio_core, sizeof(names->virtio_core), "v%u", core); -+ /* suppress the common num == 0 */ -+ if (num > 0) -+ snprintf(names->virtio, sizeof(names->virtio), "v%u", num); - - names->type = NET_VIRTIO; - return 0; -@@ -402,8 +401,8 @@ static int names_ccw(struct udev_device *dev, struct netnames *names) { - return -EINVAL; - - /* Store the CCW bus-ID for use as network device name */ -- rc = snprintf(names->ccw_core, sizeof(names->ccw_core), "ccw%s", bus_id); -- if (rc >= 0 && rc < (int)sizeof(names->ccw_core)) -+ rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); -+ if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) - names->type = NET_CCWGROUP; - return 0; - } -@@ -517,7 +516,7 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool - if (err >= 0 && names.type == NET_CCWGROUP) { - char str[IFNAMSIZ]; - -- if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); - goto out; - } -@@ -585,11 +584,11 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool - char str[IFNAMSIZ]; - - if (names.pci_path[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); - - if (names.pci_slot[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); - goto out; - } --- -1.8.4.5 - diff --git a/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch b/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch deleted file mode 100644 index a5e9c58f..00000000 --- a/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +++ /dev/null @@ -1,99 +0,0 @@ -From bf81e792f3c0aed54edf004c1c95cc6f6d81d0ee Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 27 Mar 2014 21:47:14 +0100 -Subject: [PATCH] udev: persistent naming - we cannot use virtio numbers as - they are not stable - -This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and -commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. - -Distros may want to take note of this, as it changes behavior. - -Signed-off-by: Robert Milasan ---- - src/udev/udev-builtin-net_id.c | 36 ------------------------------------ - src/udev/udev-builtin-path_id.c | 3 --- - 2 files changed, 39 deletions(-) - -Index: systemd-210/src/udev/udev-builtin-net_id.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-net_id.c -+++ systemd-210/src/udev/udev-builtin-net_id.c -@@ -37,7 +37,6 @@ - * ccw -- CCW bus group name - * o -- on-board device index number - * s[f][d] -- hotplug slot index number -- * v -- virtio number - * x -- MAC address - * [P]ps[f][d] - * -- PCI geographical location -@@ -123,7 +122,6 @@ struct netnames { - - char usb_ports[IFNAMSIZ]; - char bcma_core[IFNAMSIZ]; -- char virtio[IFNAMSIZ]; - char ccw_group[IFNAMSIZ]; - }; - -@@ -351,24 +349,6 @@ static int names_bcma(struct udev_device - return 0; - } - --static int names_virtio(struct udev_device *dev, struct netnames *names) { -- struct udev_device *virtdev; -- unsigned int num; -- -- virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); -- if (!virtdev) -- return -ENOENT; -- -- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) -- return -EINVAL; -- /* suppress the common num == 0 */ -- if (num > 0) -- snprintf(names->virtio, sizeof(names->virtio), "v%u", num); -- -- names->type = NET_VIRTIO; -- return 0; --} -- - static int names_ccw(struct udev_device *dev, struct netnames *names) { - struct udev_device *cdev; - const char *bus_id; -@@ -577,22 +557,6 @@ static int builtin_net_id(struct udev_de - udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); - goto out; - } -- -- /* virtio bus */ -- err = names_virtio(dev, &names); -- if (err >= 0 && names.type == NET_VIRTIO) { -- char str[IFNAMSIZ]; -- -- if (names.pci_path[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) -- udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); -- -- if (names.pci_slot[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) -- udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); -- goto out; -- } -- - out: - return EXIT_SUCCESS; - } -Index: systemd-210/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-path_id.c -+++ systemd-210/src/udev/udev-builtin-path_id.c -@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d - } else if (streq(subsys, "xen")) { - path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "xen"); -- } else if (streq(subsys, "virtio")) { -- path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); -- parent = skip_subsystem(parent, "virtio"); - } else if (streq(subsys, "scm")) { - path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "scm"); diff --git a/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch b/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch deleted file mode 100644 index fcf5f374..00000000 --- a/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on e6c474723dc66cd4765fd09453d6b48bd5905ba4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 20 Apr 2014 13:57:26 -0400 -Subject: [PATCH] udev: warn when name_to_handle_at is not implemented - -We have a bunch of reports from people who have a custom kernel and -are confused why udev is not running. Issue a warning on -error. Barring an error in the code, the only error that is possible -is ENOSYS. - -https://bugzilla.redhat.com/show_bug.cgi?id=1072966 ---- - src/libudev/libudev-monitor.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/libudev/libudev-monitor.c -+++ src/libudev/libudev-monitor.c 2014-05-12 00:00:00.000000000 +0000 -@@ -115,8 +115,11 @@ static bool udev_has_devtmpfs(struct ude - int r; - - r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); -- if (r < 0) -+ if (r < 0) { -+ if (errno != EOPNOTSUPP) -+ udev_err(udev, "name_to_handle_at on /dev: %m\n"); - return false; -+ } - - - f = fopen("/proc/self/mountinfo", "re"); diff --git a/1017-udev-serialize-synchronize-block-device-event-handli.patch b/1017-udev-serialize-synchronize-block-device-event-handli.patch deleted file mode 100644 index 559c0bc3..00000000 --- a/1017-udev-serialize-synchronize-block-device-event-handli.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 3ebdb81ef088afd3b4c72b516beb5610f8c93a0d Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 13 Apr 2014 19:54:27 -0700 -Subject: [PATCH] udev: serialize/synchronize block device event handling with - file locks - ---- - src/udev/udevd.c | 33 +++++++++++++++++++++++++++++++-- - 1 file changed, 31 insertions(+), 2 deletions(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index f9ee368..aecd208 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -265,6 +266,7 @@ static void worker_new(struct event *event) - for (;;) { - struct udev_event *udev_event; - struct worker_message msg; -+ int fd_lock = -1; - int err; - - log_debug("seq %llu running", udev_device_get_seqnum(dev)); -@@ -280,6 +282,30 @@ static void worker_new(struct event *event) - if (exec_delay > 0) - udev_event->exec_delay = exec_delay; - -+ /* -+ * Take a "read lock" on the device node; this establishes -+ * a concept of device "ownership" to serialize device -+ * access. External processes holding a "write lock" will -+ * cause udev to skip the event handling; in the case udev -+ * acquired the lock, the external process will block until -+ * udev has finished its event handling. -+ */ -+ if (streq_ptr("block", udev_device_get_subsystem(dev))) { -+ struct udev_device *d = dev; -+ -+ if (streq_ptr("partition", udev_device_get_devtype(d))) -+ d = udev_device_get_parent(d); -+ -+ if (d) { -+ fd_lock = open(udev_device_get_devnode(d), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { -+ log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); -+ err = -EWOULDBLOCK; -+ goto skip; -+ } -+ } -+ } -+ - /* apply rules, create node, symlinks */ - err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); - -@@ -292,13 +318,16 @@ static void worker_new(struct event *event) - udev_device_update_db(dev); - } - -+ if (fd_lock >= 0) -+ close(fd_lock); -+ - /* send processed event back to libudev listeners */ - udev_monitor_send_device(worker_monitor, NULL, dev); - -+skip: - /* send udevd the result of the event execution */ - memzero(&msg, sizeof(struct worker_message)); -- if (err != 0) -- msg.exitcode = err; -+ msg.exitcode = err; - msg.pid = getpid(); - send(worker_watch[WRITE_END], &msg, sizeof(struct worker_message), 0); - --- -1.7.9.2 - diff --git a/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch b/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch deleted file mode 100644 index e3bd7286..00000000 --- a/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 1ea972174baba40dbc80c51cbfc4edc49764b59b Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 14 May 2014 00:34:49 +0200 -Subject: [PATCH] udev: do not skip the execution of RUN when renaming a - network device fails - ---- - src/test/test-udev.c | 5 ++--- - src/udev/udev-event.c | 11 +++++------ - src/udev/udev.h | 2 +- - src/udev/udevadm-test.c | 13 +++++-------- - src/udev/udevd.c | 5 ++--- - 5 files changed, 15 insertions(+), 21 deletions(-) - -diff --git src/test/test-udev.c src/test/test-udev.c -index b064744..b057cc8 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) { - } - } - -- err = udev_event_execute_rules(event, rules, &sigmask_orig); -- if (err == 0) -- udev_event_execute_run(event, NULL); -+ udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_run(event, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 2cab42b..5213a4a 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -776,13 +776,12 @@ static int rename_netif(struct udev_event *event) - return r; - } - --int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) -+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) - { - struct udev_device *dev = event->dev; -- int err = 0; - - if (udev_device_get_subsystem(dev) == NULL) -- return -1; -+ return; - - if (streq(udev_device_get_action(dev), "remove")) { - udev_device_read_db(dev, NULL); -@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, - event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) { - char syspath[UTIL_PATH_SIZE]; - char *pos; -+ int r; - -- err = rename_netif(event); -- if (err == 0) { -+ r = rename_netif(event); -+ if (r >= 0) { - log_debug("renamed netif to '%s'", event->name); - - /* remember old name */ -@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, - udev_device_unref(event->dev_db); - event->dev_db = NULL; - } -- return err; - } - - void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) -diff --git src/udev/udev.h src/udev/udev.h -index 936adfb..62538bc 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - int udev_event_spawn(struct udev_event *event, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); - void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 6cd311b..6a2f548 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - _cleanup_udev_device_unref_ struct udev_device *dev = NULL; - _cleanup_udev_event_unref_ struct udev_event *event = NULL; - sigset_t mask, sigmask_orig; -- int err; - int rc = 0, c; - - static const struct option options[] = { -@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - goto out; - } - -- err = udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_rules(event, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); - -- if (err == 0) { -- udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { -- char program[UTIL_PATH_SIZE]; -+ udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { -+ char program[UTIL_PATH_SIZE]; - -- udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); -- printf("run: '%s'\n", program); -- } -+ udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); -+ printf("run: '%s'\n", program); - } - out: - if (event != NULL && event->fd_signal >= 0) -diff --git src/udev/udevd.c src/udev/udevd.c -index aecd208..bc0696c 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -307,10 +307,9 @@ static void worker_new(struct event *event) - } - - /* apply rules, create node, symlinks */ -- err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, rules, &sigmask_orig); - -- if (err == 0) -- udev_event_execute_run(udev_event, &sigmask_orig); -+ udev_event_execute_run(udev_event, &sigmask_orig); - - /* apply/restore inotify watch */ - if (err == 0 && udev_event->inotify_watch) { --- -1.7.9.2 - diff --git a/1019-udev-avoid-use-of-uninitialized-err.patch b/1019-udev-avoid-use-of-uninitialized-err.patch deleted file mode 100644 index c520436e..00000000 --- a/1019-udev-avoid-use-of-uninitialized-err.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bf9bead187802a52a1f376a03caee762d663e945 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 16 May 2014 23:46:48 +0200 -Subject: [PATCH] udev: avoid use of uninitialized err - -After 1ea972174baba40dbc80c51cbfc4edc49764b59b err is no longer -set unless we hit a special case. Initialize it to 0 and remove -a check that will never fail. ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index bc0696c..1c9488e 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -267,7 +267,7 @@ static void worker_new(struct event *event) - struct udev_event *udev_event; - struct worker_message msg; - int fd_lock = -1; -- int err; -+ int err = 0; - - log_debug("seq %llu running", udev_device_get_seqnum(dev)); - udev_event = udev_event_new(dev); -@@ -312,7 +312,7 @@ static void worker_new(struct event *event) - udev_event_execute_run(udev_event, &sigmask_orig); - - /* apply/restore inotify watch */ -- if (err == 0 && udev_event->inotify_watch) { -+ if (udev_event->inotify_watch) { - udev_watch_begin(udev, dev); - udev_device_update_db(dev); - } --- -1.7.9.2 - diff --git a/1020-udev-keyboard-also-hook-into-change-events.patch b/1020-udev-keyboard-also-hook-into-change-events.patch deleted file mode 100644 index 0d285973..00000000 --- a/1020-udev-keyboard-also-hook-into-change-events.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 49804365ea1242456c9763058a59cf68479e07ea Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 26 May 2014 09:30:21 +0800 -Subject: [PATCH] udev: keyboard - also hook into "change" events - -Re-apply the keymaps when "udevadm trigger" is called. Hooking into -"add" only would just remove all keymap content from the udev database -instead of applying the new config. ---- - rules/60-keyboard.rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git rules/60-keyboard.rules rules/60-keyboard.rules -index 4e0f366..22f71e7 100644 ---- rules/60-keyboard.rules -+++ rules/60-keyboard.rules -@@ -1,6 +1,6 @@ - # do not edit this file, it will be overwritten on update - --ACTION!="add", GOTO="keyboard_end" -+ACTION=="remove", GOTO="keyboard_end" - KERNEL!="event*", GOTO="keyboard_end" - ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end" - --- -1.7.9.2 - diff --git a/1021-udev-re-add-persistent-net-rules.patch b/1021-udev-re-add-persistent-net-rules.patch index e8cd290c..5d21f1fe 100644 --- a/1021-udev-re-add-persistent-net-rules.patch +++ b/1021-udev-re-add-persistent-net-rules.patch @@ -1,7 +1,73 @@ -Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +--- + Makefile.am | 9 + src/udev/net/link-config.c | 17 + + src/udev/rule_generator/75-persistent-net-generator.rules | 105 ++++++++++ + src/udev/rule_generator/76-net-sriov-names.rules | 18 + + src/udev/rule_generator/net-set-sriov-names | 79 +++++++ + src/udev/rule_generator/rule_generator.functions | 113 +++++++++++ + src/udev/rule_generator/write_net_rules | 141 ++++++++++++++ + 7 files changed, 479 insertions(+), 3 deletions(-) + +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -3416,7 +3416,14 @@ dist_udevrules_DATA += \ + rules/75-tty-description.rules \ + rules/78-sound-card.rules \ + rules/80-net-setup-link.rules \ +- rules/95-udev-late.rules ++ rules/95-udev-late.rules \ ++ src/udev/rule_generator/75-persistent-net-generator.rules \ ++ src/udev/rule_generator/76-net-sriov-names.rules ++ ++udevlibexec_PROGRAMS += \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules \ ++ src/udev/rule_generator/net-set-sriov-names + + nodist_udevrules_DATA += \ + rules/99-systemd.rules +Index: systemd-218/src/udev/net/link-config.c +=================================================================== +--- systemd-218.orig/src/udev/net/link-config.c ++++ systemd-218/src/udev/net/link-config.c +@@ -176,16 +176,29 @@ static bool enable_name_policy(void) { + size_t l; + + r = proc_cmdline(&line); +- if (r < 0) { ++ if (r < 0) + log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m"); ++#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) ++# warning Using persistent rules as a default ++ if (r <= 0) ++ return false; ++ ++ FOREACH_WORD_QUOTED(w, l, line, state) ++ if (strneq(w, "net.ifnames=1", l)) ++ return true; ++ ++ return false; ++#else ++# warning Using predictable rules as a default ++ if (r <= 0) + return true; +- } + + FOREACH_WORD_QUOTED(word, l, line, state) + if (strneq(word, "net.ifnames=0", l)) + return false; + + return true; ++#endif + } + + int link_config_load(link_config_ctx *ctx) { +Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules =================================================================== --- /dev/null -+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules ++++ systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules @@ -0,0 +1,105 @@ +# do not edit this file, it will be overwritten on update + @@ -108,10 +174,117 @@ Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" + +LABEL="persistent_net_generator_end" -Index: systemd-210/src/udev/rule_generator/rule_generator.functions +Index: systemd-218/src/udev/rule_generator/76-net-sriov-names.rules =================================================================== --- /dev/null -+++ systemd-210/src/udev/rule_generator/rule_generator.functions ++++ systemd-218/src/udev/rule_generator/76-net-sriov-names.rules +@@ -0,0 +1,18 @@ ++# do not edit this file, it will be overwritten on update ++# ++# rename SRIOV virtual function interfaces ++ ++ACTION=="remove", GOTO="net-sriov-names_end" ++SUBSYSTEM!="net", GOTO="net-sriov-names_end" ++ ++IMPORT{cmdline}="net.ifnames" ++ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" ++ ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" ++ ++# rename interface if needed ++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" ++ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" ++ ++LABEL="net-sriov-names_end" +Index: systemd-218/src/udev/rule_generator/net-set-sriov-names +=================================================================== +--- /dev/null ++++ systemd-218/src/udev/rule_generator/net-set-sriov-names +@@ -0,0 +1,79 @@ ++#!/bin/bash -e ++# ++# This script is run to rename virtual interfaces ++# ++ ++if [ -n "$UDEV_LOG" ]; then ++ if [ "$UDEV_LOG" -ge 7 ]; then ++ set -x ++ fi ++fi ++ ++# according to dev_new_index(), ifindex is within [1, INT_MAX] ++int_max=$(/usr/bin/getconf INT_MAX) ++ifindex_before() { ++ a=$1 ++ b=$2 ++ ++ ((0 < (b - a) && (b - a) < int_max / 2 || ++ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) ++} ++ ++rename_interface() { ++ local src_net=$1 ++ local dest_net=$2 ++ local err=0 ++ ++ /sbin/ip link set dev $src_net down ++ /sbin/ip link set dev $src_net name $dest_net ++} ++ ++if [ -z "$INTERFACE" ]; then ++ echo "missing \$INTERFACE" >&2 ++ exit 1 ++fi ++ ++if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then ++ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") ++ if [ $(echo "$pf" | wc -l) -ne 1 ]; then ++ echo "too many pf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$INTERFACE/ifindex" ++ read pfindex < "/sys/class/net/$pf/ifindex" ++ if ifindex_before $pfindex $vfindex; then ++ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) ++ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do ++ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ echo "INTERFACE_NEW=$pf.vf$vfnum" ++ exit 0 ++ fi ++ done ++ fi ++fi ++ ++read pfindex < "/sys/class/net/$INTERFACE/ifindex" ++shopt -s nullglob ++for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do ++ vf=$(ls -1 "$virtfn/net") ++ if [ $(echo "$vf" | wc -l) -ne 1 ]; then ++ echo "too many vf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$vf/ifindex" ++ if ifindex_before $vfindex $pfindex; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ if [ "$INTERFACE_NEW" ]; then ++ new_name=$INTERFACE_NEW ++ else ++ new_name=$INTERFACE ++ fi ++ new_name="$new_name.vf$vfnum" ++ if [ "$vf" != "$new_name" ]; then ++ rename_interface "$vf" "$new_name" ++ fi ++ fi ++done +Index: systemd-218/src/udev/rule_generator/rule_generator.functions +=================================================================== +--- /dev/null ++++ systemd-218/src/udev/rule_generator/rule_generator.functions @@ -0,0 +1,113 @@ +# functions used by the udev rule generator + @@ -226,10 +399,10 @@ Index: systemd-210/src/udev/rule_generator/rule_generator.functions + $([ -e $RULES_FILE ] && echo $RULES_FILE) \ + 2>/dev/null) +} -Index: systemd-210/src/udev/rule_generator/write_net_rules +Index: systemd-218/src/udev/rule_generator/write_net_rules =================================================================== --- /dev/null -+++ systemd-210/src/udev/rule_generator/write_net_rules ++++ systemd-218/src/udev/rule_generator/write_net_rules @@ -0,0 +1,141 @@ +#!/bin/sh -e + @@ -372,161 +545,3 @@ Index: systemd-210/src/udev/rule_generator/write_net_rules +unlock_rules_file + +exit 0 -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2552,7 +2552,14 @@ dist_udevrules_DATA += \ - rules/75-tty-description.rules \ - rules/78-sound-card.rules \ - rules/80-net-setup-link.rules \ -- rules/95-udev-late.rules -+ rules/95-udev-late.rules \ -+ src/udev/rule_generator/75-persistent-net-generator.rules \ -+ src/udev/rule_generator/76-net-sriov-names.rules -+ -+udevlibexec_PROGRAMS += \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules \ -+ src/udev/rule_generator/net-set-sriov-names - - dist_udevhwdb_DATA = \ - hwdb/20-pci-vendor-model.hwdb \ -Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -=================================================================== ---- /dev/null -+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -@@ -0,0 +1,18 @@ -+# do not edit this file, it will be overwritten on update -+# -+# rename SRIOV virtual function interfaces -+ -+ACTION=="remove", GOTO="net-sriov-names_end" -+SUBSYSTEM!="net", GOTO="net-sriov-names_end" -+ -+IMPORT{cmdline}="net.ifnames" -+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" -+ -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" -+ -+# rename interface if needed -+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" -+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" -+ -+LABEL="net-sriov-names_end" -Index: systemd-210/src/udev/rule_generator/net-set-sriov-names -=================================================================== ---- /dev/null -+++ systemd-210/src/udev/rule_generator/net-set-sriov-names -@@ -0,0 +1,79 @@ -+#!/bin/bash -e -+# -+# This script is run to rename virtual interfaces -+# -+ -+if [ -n "$UDEV_LOG" ]; then -+ if [ "$UDEV_LOG" -ge 7 ]; then -+ set -x -+ fi -+fi -+ -+# according to dev_new_index(), ifindex is within [1, INT_MAX] -+int_max=$(/usr/bin/getconf INT_MAX) -+ifindex_before() { -+ a=$1 -+ b=$2 -+ -+ ((0 < (b - a) && (b - a) < int_max / 2 || -+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) -+} -+ -+rename_interface() { -+ local src_net=$1 -+ local dest_net=$2 -+ local err=0 -+ -+ /sbin/ip link set dev $src_net down -+ /sbin/ip link set dev $src_net name $dest_net -+} -+ -+if [ -z "$INTERFACE" ]; then -+ echo "missing \$INTERFACE" >&2 -+ exit 1 -+fi -+ -+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then -+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") -+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then -+ echo "too many pf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$INTERFACE/ifindex" -+ read pfindex < "/sys/class/net/$pf/ifindex" -+ if ifindex_before $pfindex $vfindex; then -+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) -+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do -+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ echo "INTERFACE_NEW=$pf.vf$vfnum" -+ exit 0 -+ fi -+ done -+ fi -+fi -+ -+read pfindex < "/sys/class/net/$INTERFACE/ifindex" -+shopt -s nullglob -+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do -+ vf=$(ls -1 "$virtfn/net") -+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then -+ echo "too many vf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$vf/ifindex" -+ if ifindex_before $vfindex $pfindex; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ if [ "$INTERFACE_NEW" ]; then -+ new_name=$INTERFACE_NEW -+ else -+ new_name=$INTERFACE -+ fi -+ new_name="$new_name.vf$vfnum" -+ if [ "$vf" != "$new_name" ]; then -+ rename_interface "$vf" "$new_name" -+ fi -+ fi -+done -Index: systemd-210/src/udev/net/link-config.c -=================================================================== ---- systemd-210.orig/src/udev/net/link-config.c -+++ systemd-210/src/udev/net/link-config.c -@@ -193,6 +193,18 @@ static bool enable_name_policy(void) { - r = proc_cmdline(&line); - if (r < 0) - log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); -+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) -+# warning Using persistent rules as a default -+ if (r <= 0) -+ return false; -+ -+ FOREACH_WORD_QUOTED(w, l, line, state) -+ if (strneq(w, "net.ifnames=1", l)) -+ return true; -+ -+ return false; -+#else -+# warning Using predictable rules as a default - if (r <= 0) - return true; - -@@ -201,6 +213,7 @@ static bool enable_name_policy(void) { - return false; - - return true; -+#endif - } - - int link_config_load(link_config_ctx *ctx) { diff --git a/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch b/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch deleted file mode 100644 index 39e385c0..00000000 --- a/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +++ /dev/null @@ -1,1445 +0,0 @@ -From 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 12 Apr 2014 22:35:50 -0700 -Subject: [PATCH] udev: remove seqnum API and all assumptions about seqnums - -The way the kernel namespaces have been implemented breaks assumptions -udev made regarding uevent sequence numbers. Creating devices in a -namespace "steals" uevents and its sequence numbers from the host. It -confuses the "udevadmin settle" logic, which might block until util a -timeout is reached, even when no uevent is pending. - -Remove any assumptions about sequence numbers and deprecate libudev's -API exposing these numbers; none of that can reliably be used anymore -when namespaces are involved. ---- - Makefile.am | 6 +- - man/udevadm.xml | 22 -- - src/libudev/libudev-monitor.c | 17 +- - src/libudev/libudev-queue-private.c | 406 ----------------------------------- - src/libudev/libudev-queue.c | 302 ++------------------------ - src/libudev/libudev.h | 10 +- - src/shared/udev-util.h | 2 - - src/test/test-libudev.c | 24 --- - src/udev/udev-ctrl.c | 2 +- - src/udev/udevadm-settle.c | 131 ++--------- - src/udev/udevd.c | 59 +++-- - 11 files changed, 84 insertions(+), 897 deletions(-) - delete mode 100644 src/libudev/libudev-queue-private.c - -diff --git Makefile.am Makefile.am -index 5d84605..0ad1729 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2587,8 +2587,7 @@ noinst_LTLIBRARIES += \ - - libudev_internal_la_SOURCES =\ - $(libudev_la_SOURCES) \ -- src/libudev/libudev-device-private.c \ -- src/libudev/libudev-queue-private.c -+ src/libudev/libudev-device-private.c - - libudev_internal_la_CFLAGS = \ - $(AM_CFLAGS) \ -@@ -5169,6 +5168,9 @@ test_libsystemd_sym_LDADD = \ - - test_libudev_sym_SOURCES = \ - test-libudev-sym.c -+test_libudev_sym_CFLAGS = \ -+ $(AM_CFLAGS) \ -+ -Wno-deprecated-declarations - test_libudev_sym_LDADD = \ - libudev.la - -diff --git man/udevadm.xml man/udevadm.xml -index 21d1443..fbfa85a 100644 ---- a/man/udevadm.xml -+++ b/man/udevadm.xml -@@ -339,21 +339,6 @@ - - - -- -- -- -- Wait only for events after the given sequence -- number. -- -- -- -- -- -- -- Wait only for events before the given sequence number. -- -- -- - - - -@@ -361,13 +346,6 @@ - - - -- -- -- -- Do not print any output, like the remaining queue entries when reaching the timeout. -- -- -- - - - -diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c -index ba1b04d..3f7436b 100644 ---- a/src/libudev/libudev-monitor.c -+++ b/src/libudev/libudev-monitor.c -@@ -146,21 +146,6 @@ static bool udev_has_devtmpfs(struct udev *udev) { - return false; - } - --/* we consider udev running when we have running udev service */ --static bool udev_has_service(struct udev *udev) { -- struct udev_queue *queue; -- bool active; -- -- queue = udev_queue_new(udev); -- if (!queue) -- return false; -- -- active = udev_queue_get_udev_is_active(queue); -- udev_queue_unref(queue); -- -- return active; --} -- - struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) - { - struct udev_monitor *udev_monitor; -@@ -184,7 +169,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c - * We do not set a netlink multicast group here, so the socket - * will not receive any messages. - */ -- if (!udev_has_service(udev) && !udev_has_devtmpfs(udev)) { -+ if (access("/run/udev/control", F_OK) < 0 && !udev_has_devtmpfs(udev)) { - udev_dbg(udev, "the udev service seems not to be active, disable the monitor\n"); - group = UDEV_MONITOR_NONE; - } else -diff --git src/libudev/libudev-queue-private.c src/libudev/libudev-queue-private.c -deleted file mode 100644 -index d5a2b50..0000000 ---- a/src/libudev/libudev-queue-private.c -+++ /dev/null -@@ -1,406 +0,0 @@ --/*** -- This file is part of systemd. -- -- Copyright 2008-2012 Kay Sievers -- Copyright 2009 Alan Jenkins -- -- systemd is free software; you can redistribute it and/or modify it -- under the terms of the GNU Lesser General Public License as published by -- the Free Software Foundation; either version 2.1 of the License, or -- (at your option) any later version. -- -- systemd is distributed in the hope that it will be useful, but -- WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public License -- along with systemd; If not, see . --***/ -- --/* -- * DISCLAIMER - The file format mentioned here is private to udev/libudev, -- * and may be changed without notice. -- * -- * The udev event queue is exported as a binary log file. -- * Each log record consists of a sequence number followed by the device path. -- * -- * When a new event is queued, its details are appended to the log. -- * When the event finishes, a second record is appended to the log -- * with the same sequence number but a devpath len of 0. -- * -- * Example: -- * { 0x0000000000000001 } -- * { 0x0000000000000001, 0x0019, "/devices/virtual/mem/null" }, -- * { 0x0000000000000002, 0x001b, "/devices/virtual/mem/random" }, -- * { 0x0000000000000001, 0x0000 }, -- * { 0x0000000000000003, 0x0019, "/devices/virtual/mem/zero" }, -- * -- * Events 2 and 3 are still queued, but event 1 has finished. -- * -- * The queue does not grow indefinitely. It is periodically re-created -- * to remove finished events. Atomic rename() makes this transparent to readers. -- * -- * The queue file starts with a single sequence number which specifies the -- * minimum sequence number in the log that follows. Any events prior to this -- * sequence number have already finished. -- */ -- --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#include "libudev.h" --#include "libudev-private.h" -- --static int rebuild_queue_file(struct udev_queue_export *udev_queue_export); -- --struct udev_queue_export { -- struct udev *udev; -- int queued_count; /* number of unfinished events exported in queue file */ -- FILE *queue_file; -- unsigned long long int seqnum_max; /* earliest sequence number in queue file */ -- unsigned long long int seqnum_min; /* latest sequence number in queue file */ -- int waste_bytes; /* queue file bytes wasted on finished events */ --}; -- --struct udev_queue_export *udev_queue_export_new(struct udev *udev) --{ -- struct udev_queue_export *udev_queue_export; -- unsigned long long int initial_seqnum; -- -- if (udev == NULL) -- return NULL; -- -- udev_queue_export = new0(struct udev_queue_export, 1); -- if (udev_queue_export == NULL) -- return NULL; -- udev_queue_export->udev = udev; -- -- initial_seqnum = udev_get_kernel_seqnum(udev); -- udev_queue_export->seqnum_min = initial_seqnum; -- udev_queue_export->seqnum_max = initial_seqnum; -- -- udev_queue_export_cleanup(udev_queue_export); -- if (rebuild_queue_file(udev_queue_export) != 0) { -- free(udev_queue_export); -- return NULL; -- } -- -- return udev_queue_export; --} -- --struct udev_queue_export *udev_queue_export_unref(struct udev_queue_export *udev_queue_export) --{ -- if (udev_queue_export == NULL) -- return NULL; -- if (udev_queue_export->queue_file != NULL) -- fclose(udev_queue_export->queue_file); -- free(udev_queue_export); -- return NULL; --} -- --void udev_queue_export_cleanup(struct udev_queue_export *udev_queue_export) --{ -- if (udev_queue_export == NULL) -- return; -- unlink("/run/udev/queue.tmp"); -- unlink("/run/udev/queue.bin"); --} -- --static int skip_to(FILE *file, long offset) --{ -- long old_offset; -- -- /* fseek may drop buffered data, avoid it for small seeks */ -- old_offset = ftell(file); -- if (offset > old_offset && offset - old_offset <= BUFSIZ) { -- size_t skip_bytes = offset - old_offset; -- char *buf = alloca(skip_bytes); -- -- if (fread(buf, skip_bytes, 1, file) != skip_bytes) -- return -1; -- } -- -- return fseek(file, offset, SEEK_SET); --} -- --struct queue_devpaths { -- unsigned int devpaths_first; /* index of first queued event */ -- unsigned int devpaths_size; -- long devpaths[]; /* seqnum -> offset of devpath in queue file (or 0) */ --}; -- --/* -- * Returns a table mapping seqnum to devpath file offset for currently queued events. -- * devpaths[i] represents the event with seqnum = i + udev_queue_export->seqnum_min. -- */ --static struct queue_devpaths *build_index(struct udev_queue_export *udev_queue_export) --{ -- struct queue_devpaths *devpaths; -- unsigned long long int range; -- long devpath_offset; -- ssize_t devpath_len; -- unsigned long long int seqnum; -- unsigned long long int n; -- unsigned int i; -- -- /* seek to the first event in the file */ -- rewind(udev_queue_export->queue_file); -- udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum); -- -- /* allocate the table */ -- range = udev_queue_export->seqnum_min - udev_queue_export->seqnum_max; -- if (range - 1 > INT_MAX) { -- udev_err(udev_queue_export->udev, "queue file overflow\n"); -- return NULL; -- } -- devpaths = malloc0(sizeof(struct queue_devpaths) + (range + 1) * sizeof(long)); -- if (devpaths == NULL) -- return NULL; -- devpaths->devpaths_size = range + 1; -- -- /* read all records and populate the table */ -- for (;;) { -- if (udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum) < 0) -- break; -- n = seqnum - udev_queue_export->seqnum_max; -- if (n >= devpaths->devpaths_size) -- goto read_error; -- -- devpath_offset = ftell(udev_queue_export->queue_file); -- devpath_len = udev_queue_skip_devpath(udev_queue_export->queue_file); -- if (devpath_len < 0) -- goto read_error; -- -- if (devpath_len > 0) -- devpaths->devpaths[n] = devpath_offset; -- else -- devpaths->devpaths[n] = 0; -- } -- -- /* find first queued event */ -- for (i = 0; i < devpaths->devpaths_size; i++) { -- if (devpaths->devpaths[i] != 0) -- break; -- } -- devpaths->devpaths_first = i; -- -- return devpaths; -- --read_error: -- udev_err(udev_queue_export->udev, "queue file corrupted\n"); -- free(devpaths); -- return NULL; --} -- --static int rebuild_queue_file(struct udev_queue_export *udev_queue_export) --{ -- unsigned long long int seqnum; -- struct queue_devpaths *devpaths = NULL; -- FILE *new_queue_file = NULL; -- unsigned int i; -- -- /* read old queue file */ -- if (udev_queue_export->queue_file != NULL) { -- devpaths = build_index(udev_queue_export); -- if (devpaths != NULL) -- udev_queue_export->seqnum_max += devpaths->devpaths_first; -- } -- if (devpaths == NULL) { -- udev_queue_export->queued_count = 0; -- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; -- } -- -- /* create new queue file */ -- new_queue_file = fopen("/run/udev/queue.tmp", "w+e"); -- if (new_queue_file == NULL) -- goto error; -- seqnum = udev_queue_export->seqnum_max; -- fwrite(&seqnum, 1, sizeof(unsigned long long int), new_queue_file); -- -- /* copy unfinished events only to the new file */ -- if (devpaths != NULL) { -- for (i = devpaths->devpaths_first; i < devpaths->devpaths_size; i++) { -- char devpath[UTIL_PATH_SIZE]; -- int err; -- unsigned short devpath_len; -- -- if (devpaths->devpaths[i] != 0) -- { -- skip_to(udev_queue_export->queue_file, devpaths->devpaths[i]); -- err = udev_queue_read_devpath(udev_queue_export->queue_file, devpath, sizeof(devpath)); -- devpath_len = err; -- -- fwrite(&seqnum, sizeof(unsigned long long int), 1, new_queue_file); -- fwrite(&devpath_len, sizeof(unsigned short), 1, new_queue_file); -- fwrite(devpath, 1, devpath_len, new_queue_file); -- } -- seqnum++; -- } -- free(devpaths); -- devpaths = NULL; -- } -- fflush(new_queue_file); -- if (ferror(new_queue_file)) -- goto error; -- -- /* rename the new file on top of the old one */ -- if (rename("/run/udev/queue.tmp", "/run/udev/queue.bin") != 0) -- goto error; -- -- if (udev_queue_export->queue_file != NULL) -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = new_queue_file; -- udev_queue_export->waste_bytes = 0; -- -- return 0; -- --error: -- udev_err(udev_queue_export->udev, "failed to create queue file: %m\n"); -- udev_queue_export_cleanup(udev_queue_export); -- -- if (udev_queue_export->queue_file != NULL) { -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = NULL; -- } -- if (new_queue_file != NULL) -- fclose(new_queue_file); -- -- if (devpaths != NULL) -- free(devpaths); -- udev_queue_export->queued_count = 0; -- udev_queue_export->waste_bytes = 0; -- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; -- -- return -1; --} -- --static int write_queue_record(struct udev_queue_export *udev_queue_export, -- unsigned long long int seqnum, const char *devpath, size_t devpath_len) --{ -- unsigned short len; -- -- if (udev_queue_export->queue_file == NULL) -- return -1; -- -- if (fwrite(&seqnum, sizeof(unsigned long long int), 1, udev_queue_export->queue_file) != 1) -- goto write_error; -- -- len = (devpath_len < USHRT_MAX) ? devpath_len : USHRT_MAX; -- if (fwrite(&len, sizeof(unsigned short), 1, udev_queue_export->queue_file) != 1) -- goto write_error; -- if (len > 0) { -- if (fwrite(devpath, 1, len, udev_queue_export->queue_file) != len) -- goto write_error; -- } -- -- /* *must* flush output; caller may fork */ -- if (fflush(udev_queue_export->queue_file) != 0) -- goto write_error; -- -- return 0; -- --write_error: -- /* if we failed half way through writing a record to a file, -- we should not try to write any further records to it. */ -- udev_err(udev_queue_export->udev, "error writing to queue file: %m\n"); -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = NULL; -- -- return -1; --} -- --enum device_state { -- DEVICE_QUEUED, -- DEVICE_FINISHED, --}; -- --static inline size_t queue_record_size(size_t devpath_len) --{ -- return sizeof(unsigned long long int) + sizeof(unsigned short int) + devpath_len; --} -- --static int update_queue(struct udev_queue_export *udev_queue_export, -- struct udev_device *udev_device, enum device_state state) --{ -- unsigned long long int seqnum = udev_device_get_seqnum(udev_device); -- const char *devpath = NULL; -- size_t devpath_len = 0; -- int bytes; -- int err; -- -- /* FINISHED records have a zero length devpath */ -- if (state == DEVICE_QUEUED) { -- devpath = udev_device_get_devpath(udev_device); -- devpath_len = strlen(devpath); -- } -- -- /* recover from an earlier failed rebuild */ -- if (udev_queue_export->queue_file == NULL) { -- if (rebuild_queue_file(udev_queue_export) != 0) -- return -1; -- } -- -- /* if we're removing the last event from the queue, that's the best time to rebuild it */ -- if (state != DEVICE_QUEUED && udev_queue_export->queued_count == 1) { -- /* we don't need to read the old queue file */ -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = NULL; -- rebuild_queue_file(udev_queue_export); -- return 0; -- } -- -- /* try to rebuild the queue files before they grow larger than one page. */ -- bytes = ftell(udev_queue_export->queue_file) + queue_record_size(devpath_len); -- if ((udev_queue_export->waste_bytes > bytes / 2) && bytes > 4096) -- rebuild_queue_file(udev_queue_export); -- -- /* don't record a finished event, if we already dropped the event in a failed rebuild */ -- if (seqnum < udev_queue_export->seqnum_max) -- return 0; -- -- /* now write to the queue */ -- if (state == DEVICE_QUEUED) { -- udev_queue_export->queued_count++; -- udev_queue_export->seqnum_min = seqnum; -- } else { -- udev_queue_export->waste_bytes += queue_record_size(devpath_len) + queue_record_size(0); -- udev_queue_export->queued_count--; -- } -- err = write_queue_record(udev_queue_export, seqnum, devpath, devpath_len); -- -- /* try to handle ENOSPC */ -- if (err != 0 && udev_queue_export->queued_count == 0) { -- udev_queue_export_cleanup(udev_queue_export); -- err = rebuild_queue_file(udev_queue_export); -- } -- -- return err; --} -- --static int update(struct udev_queue_export *udev_queue_export, -- struct udev_device *udev_device, enum device_state state) --{ -- if (update_queue(udev_queue_export, udev_device, state) != 0) -- return -1; -- -- return 0; --} -- --int udev_queue_export_device_queued(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) --{ -- return update(udev_queue_export, udev_device, DEVICE_QUEUED); --} -- --int udev_queue_export_device_finished(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) --{ -- return update(udev_queue_export, udev_device, DEVICE_FINISHED); --} -diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index 2cb4d67..eb0e096 100644 ---- a/src/libudev/libudev-queue.c -+++ b/src/libudev/libudev-queue.c -@@ -24,8 +24,6 @@ - #include - #include - #include --#include --#include - #include - #include - -@@ -36,10 +34,7 @@ - * SECTION:libudev-queue - * @short_description: access to currently active events - * -- * The udev daemon processes events asynchronously. All events which do not have -- * interdependencies run in parallel. This exports the current state of the -- * event processing queue, and the current event sequence numbers from the kernel -- * and the udev daemon. -+ * This exports the current state of the udev processing queue. - */ - - /** -@@ -50,7 +45,6 @@ - struct udev_queue { - struct udev *udev; - int refcount; -- struct udev_list queue_list; - }; - - /** -@@ -72,9 +66,9 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) - udev_queue = new0(struct udev_queue, 1); - if (udev_queue == NULL) - return NULL; -+ - udev_queue->refcount = 1; - udev_queue->udev = udev; -- udev_list_init(udev, &udev_queue->queue_list, false); - return udev_queue; - } - -@@ -90,6 +84,7 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue) - { - if (udev_queue == NULL) - return NULL; -+ - udev_queue->refcount++; - return udev_queue; - } -@@ -107,10 +102,11 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) - { - if (udev_queue == NULL) - return NULL; -+ - udev_queue->refcount--; - if (udev_queue->refcount > 0) - return NULL; -- udev_list_cleanup(&udev_queue->queue_list); -+ - free(udev_queue); - return NULL; - } -@@ -130,141 +126,30 @@ _public_ struct udev *udev_queue_get_udev(struct udev_queue *udev_queue) - return udev_queue->udev; - } - --unsigned long long int udev_get_kernel_seqnum(struct udev *udev) --{ -- unsigned long long int seqnum; -- int fd; -- char buf[32]; -- ssize_t len; -- -- fd = open("/sys/kernel/uevent_seqnum", O_RDONLY|O_CLOEXEC); -- if (fd < 0) -- return 0; -- len = read(fd, buf, sizeof(buf)); -- close(fd); -- if (len <= 2) -- return 0; -- buf[len-1] = '\0'; -- seqnum = strtoull(buf, NULL, 10); -- return seqnum; --} -- - /** - * udev_queue_get_kernel_seqnum: - * @udev_queue: udev queue context - * -- * Get the current kernel event sequence number. -+ * This function is deprecated. - * -- * Returns: the sequence number. -+ * Returns: 0. - **/ - _public_ unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum; -- -- if (udev_queue == NULL) -- return -EINVAL; -- -- seqnum = udev_get_kernel_seqnum(udev_queue->udev); -- return seqnum; --} -- --int udev_queue_read_seqnum(FILE *queue_file, unsigned long long int *seqnum) --{ -- if (fread(seqnum, sizeof(unsigned long long int), 1, queue_file) != 1) -- return -1; -- - return 0; - } - --ssize_t udev_queue_skip_devpath(FILE *queue_file) --{ -- unsigned short int len; -- -- if (fread(&len, sizeof(unsigned short int), 1, queue_file) == 1) { -- char *devpath = alloca(len); -- -- /* use fread to skip, fseek might drop buffered data */ -- if (fread(devpath, 1, len, queue_file) == len) -- return len; -- } -- -- return -1; --} -- --ssize_t udev_queue_read_devpath(FILE *queue_file, char *devpath, size_t size) --{ -- unsigned short int read_bytes = 0; -- unsigned short int len; -- -- if (fread(&len, sizeof(unsigned short int), 1, queue_file) != 1) -- return -1; -- -- read_bytes = (len < size - 1) ? len : size - 1; -- if (fread(devpath, 1, read_bytes, queue_file) != read_bytes) -- return -1; -- devpath[read_bytes] = '\0'; -- -- /* if devpath was too long, skip unread characters */ -- if (read_bytes != len) { -- unsigned short int skip_bytes = len - read_bytes; -- char *buf = alloca(skip_bytes); -- -- if (fread(buf, 1, skip_bytes, queue_file) != skip_bytes) -- return -1; -- } -- -- return read_bytes; --} -- --static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long int *seqnum_start) --{ -- FILE *queue_file; -- -- queue_file = fopen("/run/udev/queue.bin", "re"); -- if (queue_file == NULL) -- return NULL; -- -- if (udev_queue_read_seqnum(queue_file, seqnum_start) < 0) { -- udev_err(udev_queue->udev, "corrupt queue file\n"); -- fclose(queue_file); -- return NULL; -- } -- -- return queue_file; --} -- - /** - * udev_queue_get_udev_seqnum: - * @udev_queue: udev queue context - * -- * Get the last known udev event sequence number. -+ * This function is deprecated. - * -- * Returns: the sequence number. -+ * Returns: 0. - **/ - _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum_udev; -- FILE *queue_file; -- -- queue_file = open_queue_file(udev_queue, &seqnum_udev); -- if (queue_file == NULL) -- return 0; -- -- for (;;) { -- unsigned long long int seqnum; -- ssize_t devpath_len; -- -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- devpath_len = udev_queue_skip_devpath(queue_file); -- if (devpath_len < 0) -- break; -- if (devpath_len > 0) -- seqnum_udev = seqnum; -- } -- -- fclose(queue_file); -- return seqnum_udev; -+ return 0; - } - - /** -@@ -277,15 +162,7 @@ _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *ud - **/ - _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum_start; -- FILE *queue_file; -- -- queue_file = open_queue_file(udev_queue, &seqnum_start); -- if (queue_file == NULL) -- return 0; -- -- fclose(queue_file); -- return 1; -+ return access("/run/udev/control", F_OK) >= 0; - } - - /** -@@ -298,48 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) - **/ - _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum_kernel; -- unsigned long long int seqnum_udev = 0; -- int queued = 0; -- int is_empty = 0; -- FILE *queue_file; -- -- if (udev_queue == NULL) -- return -EINVAL; -- queue_file = open_queue_file(udev_queue, &seqnum_udev); -- if (queue_file == NULL) -- return 1; -- -- for (;;) { -- unsigned long long int seqnum; -- ssize_t devpath_len; -- -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- devpath_len = udev_queue_skip_devpath(queue_file); -- if (devpath_len < 0) -- break; -- -- if (devpath_len > 0) { -- queued++; -- seqnum_udev = seqnum; -- } else { -- queued--; -- } -- } -- -- if (queued > 0) -- goto out; -- -- seqnum_kernel = udev_queue_get_kernel_seqnum(udev_queue); -- if (seqnum_udev < seqnum_kernel) -- goto out; -- -- is_empty = 1; -- --out: -- fclose(queue_file); -- return is_empty; -+ return access("/run/udev/queue", F_OK) >= 0; - } - - /** -@@ -348,63 +184,15 @@ out: - * @start: first event sequence number - * @end: last event sequence number - * -- * Check if udev is currently processing any events in a given sequence number range. -+ * This function is deprecated, it just returns the result of -+ * udev_queue_get_queue_is_empty(). - * -- * Returns: a flag indicating if any of the sequence numbers in the given range is currently active. -+ * Returns: a flag indicating if udev is currently handling events. - **/ - _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, - unsigned long long int start, unsigned long long int end) - { -- unsigned long long int seqnum; -- ssize_t devpath_len; -- int unfinished; -- FILE *queue_file; -- -- if (udev_queue == NULL) -- return -EINVAL; -- queue_file = open_queue_file(udev_queue, &seqnum); -- if (queue_file == NULL) -- return 1; -- if (start < seqnum) -- start = seqnum; -- if (start > end) { -- fclose(queue_file); -- return 1; -- } -- if (end - start > INT_MAX - 1) { -- fclose(queue_file); -- return -EOVERFLOW; -- } -- -- /* -- * we might start with 0, and handle the initial seqnum -- * only when we find an entry in the queue file -- **/ -- unfinished = end - start; -- -- do { -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- devpath_len = udev_queue_skip_devpath(queue_file); -- if (devpath_len < 0) -- break; -- -- /* -- * we might start with an empty or re-build queue file, where -- * the initial seqnum is not recorded as finished -- */ -- if (start == seqnum && devpath_len > 0) -- unfinished++; -- -- if (devpath_len == 0) { -- if (seqnum >= start && seqnum <= end) -- unfinished--; -- } -- } while (unfinished > 0); -- -- fclose(queue_file); -- -- return (unfinished == 0); -+ return udev_queue_get_queue_is_empty(udev_queue); - } - - /** -@@ -412,69 +200,25 @@ _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_ - * @udev_queue: udev queue context - * @seqnum: sequence number - * -- * Check if udev is currently processing a given sequence number. -+ * This function is deprecated, it just returns the result of -+ * udev_queue_get_queue_is_empty(). - * -- * Returns: a flag indicating if the given sequence number is currently active. -+ * Returns: a flag indicating if udev is currently handling events. - **/ - _public_ int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) - { -- if (!udev_queue_get_seqnum_sequence_is_finished(udev_queue, seqnum, seqnum)) -- return 0; -- -- return 1; -+ return udev_queue_get_queue_is_empty(udev_queue); - } - - /** - * udev_queue_get_queued_list_entry: - * @udev_queue: udev queue context - * -- * Get the first entry of the list of queued events. -+ * This function is deprecated. - * -- * Returns: a udev_list_entry. -+ * Returns: NULL. - **/ - _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum; -- FILE *queue_file; -- -- if (udev_queue == NULL) -- return NULL; -- udev_list_cleanup(&udev_queue->queue_list); -- -- queue_file = open_queue_file(udev_queue, &seqnum); -- if (queue_file == NULL) -- return NULL; -- -- for (;;) { -- char syspath[UTIL_PATH_SIZE]; -- char *s; -- size_t l; -- ssize_t len; -- char seqnum_str[32]; -- struct udev_list_entry *list_entry; -- -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum); -- -- s = syspath; -- l = strpcpy(&s, sizeof(syspath), "/sys"); -- len = udev_queue_read_devpath(queue_file, s, l); -- if (len < 0) -- break; -- -- if (len > 0) { -- udev_list_entry_add(&udev_queue->queue_list, syspath, seqnum_str); -- } else { -- udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_queue->queue_list)) { -- if (streq(seqnum_str, udev_list_entry_get_value(list_entry))) { -- udev_list_entry_delete(list_entry); -- break; -- } -- } -- } -- } -- fclose(queue_file); -- -- return udev_list_get_entry(&udev_queue->queue_list); -+ return NULL; - } -diff --git src/libudev/libudev.h src/libudev/libudev.h -index b9b8f13..ceb89bd 100644 ---- a/src/libudev/libudev.h -+++ b/src/libudev/libudev.h -@@ -170,14 +170,14 @@ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue); - struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue); - struct udev *udev_queue_get_udev(struct udev_queue *udev_queue); - struct udev_queue *udev_queue_new(struct udev *udev); --unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue); --unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue); -+unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); -+unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); - int udev_queue_get_udev_is_active(struct udev_queue *udev_queue); - int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); --int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum); -+int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); - int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, -- unsigned long long int start, unsigned long long int end); --struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue); -+ unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); -+struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); - - /* - * udev_hwdb -diff --git src/shared/udev-util.h src/shared/udev-util.h -index 40f8b77..5f09ce1 100644 ---- a/src/shared/udev-util.h -+++ b/src/shared/udev-util.h -@@ -31,7 +31,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_ctrl*, udev_ctrl_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_monitor*, udev_monitor_unref); --DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); - - #define _cleanup_udev_unref_ _cleanup_(udev_unrefp) - #define _cleanup_udev_device_unref_ _cleanup_(udev_device_unrefp) -@@ -40,5 +39,4 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); - #define _cleanup_udev_rules_unref_ _cleanup_(udev_rules_unrefp) - #define _cleanup_udev_ctrl_unref_ _cleanup_(udev_ctrl_unrefp) - #define _cleanup_udev_monitor_unref_ _cleanup_(udev_monitor_unrefp) --#define _cleanup_udev_queue_unref_ _cleanup_(udev_queue_unrefp) - #define _cleanup_udev_list_cleanup_ _cleanup_(udev_list_cleanup) -diff --git src/test/test-libudev.c src/test/test-libudev.c -index c233b1e..f5c8bc7 100644 ---- a/src/test/test-libudev.c -+++ b/src/test/test-libudev.c -@@ -303,38 +303,14 @@ out: - - static int test_queue(struct udev *udev) { - struct udev_queue *udev_queue; -- unsigned long long int seqnum; -- struct udev_list_entry *list_entry; - - udev_queue = udev_queue_new(udev); - if (udev_queue == NULL) - return -1; -- seqnum = udev_queue_get_kernel_seqnum(udev_queue); -- printf("seqnum kernel: %llu\n", seqnum); -- seqnum = udev_queue_get_udev_seqnum(udev_queue); -- printf("seqnum udev : %llu\n", seqnum); - - if (udev_queue_get_queue_is_empty(udev_queue)) - printf("queue is empty\n"); -- printf("get queue list\n"); -- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) -- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); -- printf("\n"); -- printf("get queue list again\n"); -- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) -- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); -- printf("\n"); - -- list_entry = udev_queue_get_queued_list_entry(udev_queue); -- if (list_entry != NULL) { -- printf("event [%llu] is queued\n", seqnum); -- seqnum = strtoull(udev_list_entry_get_value(list_entry), NULL, 10); -- if (udev_queue_get_seqnum_is_finished(udev_queue, seqnum)) -- printf("event [%llu] is not finished\n", seqnum); -- else -- printf("event [%llu] is finished\n", seqnum); -- } -- printf("\n"); - udev_queue_unref(udev_queue); - return 0; - } -diff --git src/udev/udev-ctrl.c src/udev/udev-ctrl.c -index 1e91ec2..74bbd3a 100644 ---- a/src/udev/udev-ctrl.c -+++ b/src/udev/udev-ctrl.c -@@ -275,7 +275,7 @@ static int ctrl_send(struct udev_ctrl *uctrl, enum udev_ctrl_msg_type type, int - - pfd[0].fd = uctrl->sock; - pfd[0].events = POLLIN; -- r = poll(pfd, 1, timeout * 1000); -+ r = poll(pfd, 1, timeout * MSEC_PER_SEC); - if (r < 0) { - if (errno == EINTR) - continue; -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 927ea2a..65fc35f 100644 ---- a/src/udev/udevadm-settle.c -+++ b/src/udev/udevadm-settle.c -@@ -41,42 +41,28 @@ - static void help(void) { - printf("Usage: udevadm settle OPTIONS\n" - " -t,--timeout= maximum time to wait for events\n" -- " -s,--seq-start= first seqnum to wait for\n" -- " -e,--seq-end= last seqnum to wait for\n" - " -E,--exit-if-exists= stop waiting if file exists\n" -- " -q,--quiet do not print list after timeout\n" - " -h,--help\n\n"); - } - - static int adm_settle(struct udev *udev, int argc, char *argv[]) - { - static const struct option options[] = { -- { "seq-start", required_argument, NULL, 's' }, -- { "seq-end", required_argument, NULL, 'e' }, -+ { "seq-start", required_argument, NULL, '\0' }, /* removed */ -+ { "seq-end", required_argument, NULL, '\0' }, /* removed */ - { "timeout", required_argument, NULL, 't' }, - { "exit-if-exists", required_argument, NULL, 'E' }, -- { "quiet", no_argument, NULL, 'q' }, -+ { "quiet", no_argument, NULL, 'q' }, /* removed */ - { "help", no_argument, NULL, 'h' }, - {} - }; -- usec_t start_usec = now(CLOCK_MONOTONIC); -- usec_t start = 0; -- usec_t end = 0; -- int quiet = 0; - const char *exists = NULL; - unsigned int timeout = 120; - struct pollfd pfd[1] = { {.fd = -1}, }; -- _cleanup_udev_queue_unref_ struct udev_queue *udev_queue = NULL; - int rc = EXIT_FAILURE, c; - -- while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) -+ while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { - switch (c) { -- case 's': -- start = strtoull(optarg, NULL, 0); -- break; -- case 'e': -- end = strtoull(optarg, NULL, 0); -- break; - case 't': { - int r; - -@@ -91,9 +77,6 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - case 'E': - exists = optarg; - break; -- case 'q': -- quiet = 1; -- break; - case 'h': - help(); - exit(EXIT_SUCCESS); -@@ -102,44 +85,13 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - default: - assert_not_reached("Unknown argument"); - } -+ } - - if (optind < argc) { - fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); - exit(EXIT_FAILURE); - } - -- udev_queue = udev_queue_new(udev); -- if (udev_queue == NULL) -- exit(2); -- -- if (start > 0) { -- unsigned long long kernel_seq; -- -- kernel_seq = udev_queue_get_kernel_seqnum(udev_queue); -- -- /* unless specified, the last event is the current kernel seqnum */ -- if (end == 0) -- end = udev_queue_get_kernel_seqnum(udev_queue); -- -- if (start > end) { -- log_error("seq-start larger than seq-end, ignoring"); -- start = 0; -- end = 0; -- } -- -- if (start > kernel_seq || end > kernel_seq) { -- log_error("seq-start or seq-end larger than current kernel value, ignoring"); -- start = 0; -- end = 0; -- } -- log_debug("start=%llu end=%llu current=%llu", (unsigned long long)start, (unsigned long long)end, kernel_seq); -- } else { -- if (end > 0) { -- log_error("seq-end needs seq-start parameter, ignoring"); -- end = 0; -- } -- } -- - /* guarantee that the udev daemon isn't pre-processing */ - if (getuid() == 0) { - struct udev_ctrl *uctrl; -@@ -160,73 +112,34 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - pfd[0].fd = inotify_init1(IN_CLOEXEC); - if (pfd[0].fd < 0) { - log_error("inotify_init failed: %m"); -- } else { -- if (inotify_add_watch(pfd[0].fd, "/run/udev" , IN_MOVED_TO) < 0) { -- log_error("watching /run/udev failed"); -- close(pfd[0].fd); -- pfd[0].fd = -1; -- } -+ goto out; - } - -- for (;;) { -- struct stat statbuf; -+ if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { -+ log_debug("watching /run/udev failed"); -+ goto out; -+ } - -- if (exists != NULL && stat(exists, &statbuf) == 0) { -+ for (;;) { -+ if (exists && access(exists, F_OK) >= 0) { - rc = EXIT_SUCCESS; - break; - } - -- if (start > 0) { -- /* if asked for, wait for a specific sequence of events */ -- if (udev_queue_get_seqnum_sequence_is_finished(udev_queue, start, end) == 1) { -- rc = EXIT_SUCCESS; -- break; -- } -- } else { -- /* exit if queue is empty */ -- if (udev_queue_get_queue_is_empty(udev_queue)) { -- rc = EXIT_SUCCESS; -- break; -- } -- } -- -- if (pfd[0].fd >= 0) { -- int delay; -- -- if (exists != NULL || start > 0) -- delay = 100; -- else -- delay = 1000; -- /* wake up after delay, or immediately after the queue is rebuilt */ -- if (poll(pfd, 1, delay) > 0 && pfd[0].revents & POLLIN) { -- char buf[sizeof(struct inotify_event) + PATH_MAX]; -- -- read(pfd[0].fd, buf, sizeof(buf)); -- } -- } else { -- sleep(1); -+ /* exit if queue is empty */ -+ if (access("/run/udev/queue", F_OK) < 0) { -+ rc = EXIT_SUCCESS; -+ break; - } - -- if (timeout > 0) { -- usec_t age_usec; -+ /* wake up when "queue" file is deleted */ -+ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { -+ char buf[sizeof(struct inotify_event) + PATH_MAX]; - -- age_usec = now(CLOCK_MONOTONIC) - start_usec; -- if (age_usec / (1000 * 1000) >= timeout) { -- struct udev_list_entry *list_entry; -- -- if (!quiet && udev_queue_get_queued_list_entry(udev_queue) != NULL) { -- log_debug("timeout waiting for udev queue"); -- printf("\nudevadm settle - timeout of %i seconds reached, the event queue contains:\n", timeout); -- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) -- printf(" %s (%s)\n", -- udev_list_entry_get_name(list_entry), -- udev_list_entry_get_value(list_entry)); -- } -- -- break; -- } -+ read(pfd[0].fd, buf, sizeof(buf)); - } - } -+ - out: - if (pfd[0].fd >= 0) - close(pfd[0].fd); -@@ -236,5 +149,5 @@ out: - const struct udevadm_cmd udevadm_settle = { - .name = "settle", - .cmd = adm_settle, -- .help = "wait for the event queue to finish", -+ .help = "wait for pending udev events", - }; -diff --git src/udev/udevd.c src/udev/udevd.c -index f21c227..f9ee368 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -60,7 +60,6 @@ void udev_main_log(struct udev *udev, int priority, - } - - static struct udev_rules *rules; --static struct udev_queue_export *udev_queue_export; - static struct udev_ctrl *udev_ctrl; - static struct udev_monitor *monitor; - static int worker_watch[2] = { -1, -1 }; -@@ -139,14 +138,9 @@ static inline struct worker *node_to_worker(struct udev_list_node *node) - return container_of(node, struct worker, node); - } - --static void event_queue_delete(struct event *event, bool export) -+static void event_queue_delete(struct event *event) - { - udev_list_node_remove(&event->node); -- -- if (export) { -- udev_queue_export_device_finished(udev_queue_export, event->dev); -- log_debug("seq %llu done with %i", udev_device_get_seqnum(event->dev), event->exitcode); -- } - udev_device_unref(event->dev); - free(event); - } -@@ -225,7 +219,6 @@ static void worker_new(struct event *event) - free(worker); - worker_list_cleanup(udev); - event_queue_cleanup(udev, EVENT_UNDEF); -- udev_queue_export_unref(udev_queue_export); - udev_monitor_unref(monitor); - udev_ctrl_unref(udev_ctrl); - close(fd_signal); -@@ -449,7 +442,6 @@ static int event_queue_insert(struct udev_device *dev) - event->nodelay = true; - #endif - -- udev_queue_export_device_queued(udev_queue_export, dev); - log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), - udev_device_get_action(dev), udev_device_get_subsystem(dev)); - -@@ -580,7 +572,7 @@ static void event_queue_cleanup(struct udev *udev, enum event_state match_type) - if (match_type != EVENT_UNDEF && match_type != event->state) - continue; - -- event_queue_delete(event, false); -+ event_queue_delete(event); - } - } - -@@ -605,7 +597,7 @@ static void worker_returned(int fd_worker) - /* worker returned */ - if (worker->event) { - worker->event->exitcode = msg.exitcode; -- event_queue_delete(worker->event, true); -+ event_queue_delete(worker->event); - worker->event = NULL; - } - if (worker->state != WORKER_KILLED) -@@ -797,7 +789,8 @@ static void handle_signal(struct udev *udev, int signo) - log_error("worker [%u] failed while handling '%s'", - pid, worker->event->devpath); - worker->event->exitcode = -32; -- event_queue_delete(worker->event, true); -+ event_queue_delete(worker->event); -+ - /* drop reference taken for state 'running' */ - worker_unref(worker); - } -@@ -1076,14 +1069,7 @@ int main(int argc, char *argv[]) - goto exit; - } - -- udev_monitor_set_receive_buffer_size(monitor, 128*1024*1024); -- -- /* create queue file before signalling 'ready', to make sure we block 'settle' */ -- udev_queue_export = udev_queue_export_new(udev); -- if (udev_queue_export == NULL) { -- log_error("error creating queue file"); -- goto exit; -- } -+ udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024); - - if (daemonize) { - pid_t pid; -@@ -1241,12 +1227,12 @@ int main(int argc, char *argv[]) - worker_kill(udev); - - /* exit after all has cleaned up */ -- if (udev_list_node_is_empty(&event_list) && udev_list_node_is_empty(&worker_list)) -+ if (udev_list_node_is_empty(&event_list) && children == 0) - break; - - /* timeout at exit for workers to finish */ -- timeout = 30 * 1000; -- } else if (udev_list_node_is_empty(&event_list) && !children) { -+ timeout = 30 * MSEC_PER_SEC; -+ } else if (udev_list_node_is_empty(&event_list) && children == 0) { - /* we are idle */ - timeout = -1; - -@@ -1255,8 +1241,20 @@ int main(int argc, char *argv[]) - cg_kill(SYSTEMD_CGROUP_CONTROLLER, udev_cgroup, SIGKILL, false, true, NULL); - } else { - /* kill idle or hanging workers */ -- timeout = 3 * 1000; -+ timeout = 3 * MSEC_PER_SEC; - } -+ -+ /* tell settle that we are busy or idle */ -+ if (!udev_list_node_is_empty(&event_list)) { -+ int fd; -+ -+ fd = open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444); -+ if (fd >= 0) -+ close(fd); -+ } else { -+ unlink("/run/udev/queue"); -+ } -+ - fdcount = epoll_wait(fd_ep, ev, ELEMENTSOF(ev), timeout); - if (fdcount < 0) - continue; -@@ -1283,18 +1281,18 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { - log_error("worker [%u] %s timeout; kill it", worker->pid, - worker->event ? worker->event->devpath : ""); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; -+ - /* drop reference taken for state 'running' */ - worker_unref(worker); - if (worker->event) { -- log_error("seq %llu '%s' killed", -- udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); - worker->event->exitcode = -64; -- event_queue_delete(worker->event, true); -+ event_queue_delete(worker->event); - worker->event = NULL; - } - } -@@ -1317,7 +1315,7 @@ int main(int argc, char *argv[]) - } - - /* check for changed config, every 3 seconds at most */ -- if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * USEC_PER_SEC) { - if (udev_rules_check_timestamp(rules)) - reload = true; - if (udev_builtin_validate(udev)) -@@ -1390,8 +1388,8 @@ int main(int argc, char *argv[]) - - rc = EXIT_SUCCESS; - exit: -- udev_queue_export_cleanup(udev_queue_export); - udev_ctrl_cleanup(udev_ctrl); -+ unlink("/run/udev/queue"); - exit_daemonize: - if (fd_ep >= 0) - close(fd_ep); -@@ -1406,7 +1404,6 @@ exit_daemonize: - if (worker_watch[WRITE_END] >= 0) - close(worker_watch[WRITE_END]); - udev_monitor_unref(monitor); -- udev_queue_export_unref(udev_queue_export); - udev_ctrl_connection_unref(ctrl_conn); - udev_ctrl_unref(udev_ctrl); - label_finish(); --- -1.7.9.2 - diff --git a/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch b/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch deleted file mode 100644 index 75da64fa..00000000 --- a/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a52ec8ed881537627869afa8f0486db7e20ce2db Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Fri, 30 May 2014 13:16:56 -0400 -Subject: [PATCH] udev-builtin-keyboard: do tell on which device EVIOCSKEYCODE - failed. - -I am getting - -"Error calling EVIOCSKEYCODE (scan code 0xc022d, key code 418): Invalid -argument", the error message does not tell on which specific device the -problem is, add that info. ---- - src/udev/udev-builtin-keyboard.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udev-builtin-keyboard.c src/udev/udev-builtin-keyboard.c -index 614e44e..9b66bfd 100644 ---- src/udev/udev-builtin-keyboard.c -+++ src/udev/udev-builtin-keyboard.c -@@ -143,7 +143,7 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo - log_debug("keyboard: mapping scan code %d (0x%x) to key code %d (0x%x)", - map[i].scan, map[i].scan, map[i].key, map[i].key); - if (ioctl(fd, EVIOCSKEYCODE, &map[i]) < 0) -- log_error("Error calling EVIOCSKEYCODE (scan code 0x%x, key code %d): %m", map[i].scan, map[i].key); -+ log_error("Error calling EVIOCSKEYCODE on device node '%s' (scan code 0x%x, key code %d): %m", node, map[i].scan, map[i].key); - } - - /* install list of force-release codes */ --- -1.7.9.2 - diff --git a/1024-udev-always-close-lock-file-descriptor.patch b/1024-udev-always-close-lock-file-descriptor.patch deleted file mode 100644 index aaa4b296..00000000 --- a/1024-udev-always-close-lock-file-descriptor.patch +++ /dev/null @@ -1,41 +0,0 @@ -Based on 3d06f4183470d42361303086ed9dedd29c0ffc1b Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 3 Jun 2014 10:46:51 +0200 -Subject: [PATCH] udev: always close lock file descriptor - -https://bugs.freedesktop.org/show_bug.cgi?id=79576 ---- - src/udev/udevd.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-06-03 15:34:42.778346368 +0000 -@@ -301,6 +301,7 @@ static void worker_new(struct event *eve - if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { - log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); - err = -EWOULDBLOCK; -+ close_nointr_nofail(fd_lock); fd_lock = -1; - goto skip; - } - } -@@ -318,7 +319,7 @@ static void worker_new(struct event *eve - } - - if (fd_lock >= 0) -- close(fd_lock); -+ close_nointr_nofail(fd_lock); - - /* send processed event back to libudev listeners */ - udev_monitor_send_device(worker_monitor, NULL, dev); -@@ -378,9 +379,9 @@ skip: - out: - udev_device_unref(dev); - if (fd_signal >= 0) -- close(fd_signal); -+ close_nointr_nofail(fd_signal); - if (fd_ep >= 0) -- close(fd_ep); -+ close_nointr_nofail(fd_ep); - close(fd_inotify); - close(worker_watch[WRITE_END]); - udev_rules_unref(rules); diff --git a/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch b/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch deleted file mode 100644 index 2dc531f4..00000000 --- a/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e918a1b5a94f270186dca59156354acd2a596494 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 3 Jun 2014 16:49:38 +0200 -Subject: [PATCH] udev: exclude device-mapper from block device ownership event - locking - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index 819ea3b..6c05104 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -290,7 +290,19 @@ static void worker_new(struct event *event) - * acquired the lock, the external process will block until - * udev has finished its event handling. - */ -- if (streq_ptr("block", udev_device_get_subsystem(dev))) { -+ -+ /* -+ * since we make check - device seems unused - we try -+ * ioctl to deactivate - and device is found to be opened -+ * sure, you try to take a write lock -+ * if you get it udev is out -+ * if you can't get it, udev is busy -+ * we cannot deactivate openned device (as it is in-use) -+ * maybe we should just exclude dm from that thing entirely -+ * IMHO this sounds like a good plan for this moment -+ */ -+ if (streq_ptr("block", udev_device_get_subsystem(dev)) && -+ !startswith("dm-", udev_device_get_sysname(dev))) { - struct udev_device *d = dev; - - if (streq_ptr("partition", udev_device_get_devtype(d))) --- -1.8.4.5 - diff --git a/1026-udevd-inotify-modernizations.patch b/1026-udevd-inotify-modernizations.patch deleted file mode 100644 index c63093ff..00000000 --- a/1026-udevd-inotify-modernizations.patch +++ /dev/null @@ -1,85 +0,0 @@ -From edd32000c806e4527c5f376d138f7bff07724c26 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 11:05:45 +0200 -Subject: [PATCH] udevd: inotify - modernizations - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 45 ++++++++++++++++++++++----------------------- - 1 file changed, 22 insertions(+), 23 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -736,20 +736,30 @@ out: - return udev_ctrl_connection_unref(ctrl_conn); - } - -+static void synthesize_change(struct udev_device *dev) { -+ char filename[UTIL_PATH_SIZE]; -+ -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+} -+ - /* read inotify messages */ - static int handle_inotify(struct udev *udev) - { - int nbytes, pos; - char *buf; - struct inotify_event *ev; -+ int r; - -- if ((ioctl(fd_inotify, FIONREAD, &nbytes) < 0) || (nbytes <= 0)) -- return 0; -+ r = ioctl(fd_inotify, FIONREAD, &nbytes); -+ if (r < 0 || nbytes <= 0) -+ return -errno; - - buf = malloc(nbytes); -- if (buf == NULL) { -+ if (!buf) { - log_error("error getting buffer for inotify"); -- return -1; -+ return -ENOMEM; - } - - nbytes = read(fd_inotify, buf, nbytes); -@@ -759,27 +769,16 @@ static int handle_inotify(struct udev *u - - ev = (struct inotify_event *)(buf + pos); - dev = udev_watch_lookup(udev, ev->wd); -- if (dev != NULL) { -- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); -- if (ev->mask & IN_CLOSE_WRITE) { -- char filename[UTIL_PATH_SIZE]; -- int fd; -- -- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -- fd = open(filename, O_WRONLY|O_CLOEXEC); -- if (fd >= 0) { -- if (write(fd, "change", 6) < 0) -- log_debug("error writing uevent: %m"); -- close(fd); -- } -- } -- if (ev->mask & IN_IGNORED) -- udev_watch_end(udev, dev); -+ if (!dev) -+ continue; - -- udev_device_unref(dev); -- } -+ log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); -+ if (ev->mask & IN_CLOSE_WRITE) -+ synthesize_change(dev); -+ else if (ev->mask & IN_IGNORED) -+ udev_watch_end(udev, dev); - -+ udev_device_unref(dev); - } - - free(buf); diff --git a/1027-udev-synthesize-change-events-for-partitions-when-to.patch b/1027-udev-synthesize-change-events-for-partitions-when-to.patch deleted file mode 100644 index ab09c1b2..00000000 --- a/1027-udev-synthesize-change-events-for-partitions-when-to.patch +++ /dev/null @@ -1,84 +0,0 @@ -From f3a740a5dae792fb6b2d411022ce8c29ced1c3f1 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 12:16:28 +0200 -Subject: [PATCH] udev: synthesize "change' events for partitions when tools - change the disk - -This should make sure that fdisk-like programs will automatically -cause an update of all partitions, just like mkfs-like programs cause -an update of the partition. - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 42 insertions(+), 2 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -46,6 +46,7 @@ - #include - - #include "udev.h" -+#include "udev-util.h" - #include "sd-daemon.h" - #include "cgroup-util.h" - #include "dev-setup.h" -@@ -736,15 +737,54 @@ out: - return udev_ctrl_connection_unref(ctrl_conn); - } - --static void synthesize_change(struct udev_device *dev) { -+static int synthesize_change(struct udev_device *dev) { - char filename[UTIL_PATH_SIZE]; -+ int r; - - log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); - strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); - write_string_file(filename, "change"); -+ -+ /* for disks devices, re-trigger all partitions too */ -+ if (streq_ptr("block", udev_device_get_subsystem(dev)) && -+ streq_ptr("disk", udev_device_get_devtype(dev))) { -+ struct udev *udev = udev_device_get_udev(dev); -+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; -+ struct udev_list_entry *item; -+ -+ e = udev_enumerate_new(udev); -+ if (!e) -+ return -ENOMEM; -+ -+ r = udev_enumerate_add_match_parent(e, dev); -+ if (r < 0) -+ return r; -+ -+ r = udev_enumerate_add_match_subsystem(e, "block"); -+ if (r < 0) -+ return r; -+ -+ r = udev_enumerate_scan_devices(e); -+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { -+ _cleanup_udev_device_unref_ struct udev_device *d = NULL; -+ -+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); -+ if (!d) -+ continue; -+ -+ if (!streq_ptr("partition", udev_device_get_devtype(d))) -+ continue; -+ -+ log_debug("device %s closed, synthesising partition '%s' 'change'", -+ udev_device_get_devnode(dev), udev_device_get_devnode(d)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ } -+ } -+ -+ return 0; - } - --/* read inotify messages */ - static int handle_inotify(struct udev *udev) - { - int nbytes, pos; diff --git a/1028-udev-link-config-fix-mem-leak.patch b/1028-udev-link-config-fix-mem-leak.patch deleted file mode 100644 index 265009f0..00000000 --- a/1028-udev-link-config-fix-mem-leak.patch +++ /dev/null @@ -1,34 +0,0 @@ -From edf029b7fd9a5853a87d3ca99aac2922bb8a277e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 4 Jun 2014 12:34:23 +0200 -Subject: [PATCH] udev: link-config - fix mem leak - -Reported by Kay. - -Signed-off-by: Robert Milasan ---- - src/udev/net/link-config.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-210/src/udev/net/link-config.c -=================================================================== ---- systemd-210.orig/src/udev/net/link-config.c -+++ systemd-210/src/udev/net/link-config.c -@@ -118,6 +118,7 @@ static void link_configs_free(link_confi - free(link->match_type); - free(link->description); - free(link->alias); -+ free(link->name_policy); - - free(link); - } -@@ -205,7 +206,8 @@ static bool enable_name_policy(void) { - - int link_config_load(link_config_ctx *ctx) { - int r; -- char **files, **f; -+ _cleanup_strv_free_ char **files; -+ char **f; - - link_configs_free(ctx); - diff --git a/1029-udev-try-first-re-reading-the-partition-table.patch b/1029-udev-try-first-re-reading-the-partition-table.patch deleted file mode 100644 index fa20002b..00000000 --- a/1029-udev-try-first-re-reading-the-partition-table.patch +++ /dev/null @@ -1,94 +0,0 @@ -From ede344452a54e1c53f541cad12a06269a4fe96a9 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 13:30:24 +0200 -Subject: [PATCH] udev: try first re-reading the partition table - -mounted partitions: - # dd if=/dev/zero of=/dev/sda bs=1 count=1 - UDEV [4157.369250] change .../0:0:0:0/block/sda (block) - UDEV [4157.375059] change .../0:0:0:0/block/sda/sda1 (block) - UDEV [4157.397088] change .../0:0:0:0/block/sda/sda2 (block) - UDEV [4157.404842] change .../0:0:0:0/block/sda/sda4 (block) - -unmounted partitions: - # dd if=/dev/zero of=/dev/sdb bs=1 count=1 - UDEV [4163.450217] remove .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) - UDEV [4163.593167] change .../target6:0:0/6:0:0:0/block/sdb (block) - UDEV [4163.713982] add .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 39 +++++++++++++++++++++++++++++++++------ - 1 file changed, 33 insertions(+), 6 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -741,17 +742,37 @@ static int synthesize_change(struct udev - char filename[UTIL_PATH_SIZE]; - int r; - -- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -- write_string_file(filename, "change"); -- -- /* for disks devices, re-trigger all partitions too */ - if (streq_ptr("block", udev_device_get_subsystem(dev)) && -- streq_ptr("disk", udev_device_get_devtype(dev))) { -+ streq_ptr("disk", udev_device_get_devtype(dev)) && -+ !startswith("dm-", udev_device_get_sysname(dev))) { -+ int fd; - struct udev *udev = udev_device_get_udev(dev); - _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; - struct udev_list_entry *item; - -+ /* -+ * Try to re-read the partition table, this only succeeds if -+ * none of the devices is busy. -+ * -+ * The kernel will send out a change event for the disk, and -+ * "remove/add" for all partitions. -+ */ -+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ if (fd >= 0) { -+ r = ioctl(fd, BLKRRPART, 0); -+ close(fd); -+ if (r >= 0) -+ return 0; -+ } -+ -+ /* -+ * Re-reading the partition table did not work, synthesize "change" -+ * events for the disk and all partitions. -+ */ -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ - e = udev_enumerate_new(udev); - if (!e) - return -ENOMEM; -@@ -780,8 +801,14 @@ static int synthesize_change(struct udev - strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); - write_string_file(filename, "change"); - } -+ -+ return 0; - } - -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ - return 0; - } - diff --git a/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch b/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch deleted file mode 100644 index 6fb7b15f..00000000 --- a/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 14:09:31 +0200 -Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL) - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -757,7 +757,7 @@ static int synthesize_change(struct udev - * The kernel will send out a change event for the disk, and - * "remove/add" for all partitions. - */ -- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd >= 0) { - r = ioctl(fd, BLKRRPART, 0); - close(fd); diff --git a/1031-udev-make-sure-we-always-get-change-for-the-disk.patch b/1031-udev-make-sure-we-always-get-change-for-the-disk.patch deleted file mode 100644 index 4f48cd3a..00000000 --- a/1031-udev-make-sure-we-always-get-change-for-the-disk.patch +++ /dev/null @@ -1,98 +0,0 @@ -From e9fc29f4ecc9509ccc02eb8a014341e26c0d7831 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 15:17:15 +0200 -Subject: [PATCH] udev: make sure we always get "change" for the disk - -The kernel will return 0 for REREADPT when no partition table -is found, we have to send out "change" ourselves. - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 53 +++++++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 39 insertions(+), 14 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -745,34 +745,28 @@ static int synthesize_change(struct udev - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && - !startswith("dm-", udev_device_get_sysname(dev))) { -+ bool part_table_read = false; -+ bool has_partitions = false; - int fd; - struct udev *udev = udev_device_get_udev(dev); - _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; - struct udev_list_entry *item; - - /* -- * Try to re-read the partition table, this only succeeds if -- * none of the devices is busy. -- * -- * The kernel will send out a change event for the disk, and -- * "remove/add" for all partitions. -+ * Try to re-read the partition table. This only succeeds if -+ * none of the devices is busy. The kernel returns 0 if no -+ * partition table is found, and we will not get an event for -+ * the disk. - */ - fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd >= 0) { - r = ioctl(fd, BLKRRPART, 0); - close(fd); - if (r >= 0) -- return 0; -+ part_table_read = true; - } - -- /* -- * Re-reading the partition table did not work, synthesize "change" -- * events for the disk and all partitions. -- */ -- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -- write_string_file(filename, "change"); -- -+ /* search for partitions */ - e = udev_enumerate_new(udev); - if (!e) - return -ENOMEM; -@@ -786,6 +780,37 @@ static int synthesize_change(struct udev - return r; - - r = udev_enumerate_scan_devices(e); -+ -+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { -+ _cleanup_udev_device_unref_ struct udev_device *d = NULL; -+ -+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); -+ if (!d) -+ continue; -+ -+ if (!streq_ptr("partition", udev_device_get_devtype(d))) -+ continue; -+ -+ has_partitions = true; -+ break; -+ } -+ -+ /* -+ * We have partitions and re-read the table, the kernel already sent -+ * out a "change" event for the disk, and "remove/add" for all -+ * partitions. -+ */ -+ if (part_table_read && has_partitions) -+ return 0; -+ -+ /* -+ * We have partitions but re-reading the partition table did not -+ * work, synthesize "change" for the disk and all partitions. -+ */ -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ - udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { - _cleanup_udev_device_unref_ struct udev_device *d = NULL; - diff --git a/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch b/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch deleted file mode 100644 index 4a6d7c13..00000000 --- a/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 02ba8fb3357daf57f6120ac512fb464a4c623419 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 16:21:19 +0200 -Subject: [PATCH] udev: guard REREADPT by exclusive lock instead of O_EXCL - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -758,9 +758,12 @@ static int synthesize_change(struct udev - * partition table is found, and we will not get an event for - * the disk. - */ -- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd >= 0) { -- r = ioctl(fd, BLKRRPART, 0); -+ r = flock(fd, LOCK_EX|LOCK_NB); -+ if (r >= 0) -+ r = ioctl(fd, BLKRRPART, 0); -+ - close(fd); - if (r >= 0) - part_table_read = true; diff --git a/1033-udev-really-exclude-device-mapper-from-block-device.patch b/1033-udev-really-exclude-device-mapper-from-block-device.patch deleted file mode 100644 index 594331c3..00000000 --- a/1033-udev-really-exclude-device-mapper-from-block-device.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 638ca89c53e2b897cfb3f627f4acbc7d09af2f4c Mon Sep 17 00:00:00 2001 -From: Christian Hesse -Date: Tue, 10 Jun 2014 15:51:15 +0200 -Subject: [PATCH] udev: really exclude device-mapper from block device - ownership event locking - -Arguments were wrong order, no? -This fixes commits: - -e918a1b5a94f270186dca59156354acd2a596494 -3d06f4183470d42361303086ed9dedd29c0ffc1b - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -304,7 +304,7 @@ static void worker_new(struct event *eve - * IMHO this sounds like a good plan for this moment - */ - if (streq_ptr("block", udev_device_get_subsystem(dev)) && -- !startswith("dm-", udev_device_get_sysname(dev))) { -+ !startswith(udev_device_get_sysname(dev), "dm-")) { - struct udev_device *d = dev; - - if (streq_ptr("partition", udev_device_get_devtype(d))) -@@ -744,7 +744,7 @@ static int synthesize_change(struct udev - - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && -- !startswith("dm-", udev_device_get_sysname(dev))) { -+ !startswith(udev_device_get_sysname(dev), "dm-")) { - bool part_table_read = false; - bool has_partitions = false; - int fd; diff --git a/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch b/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch deleted file mode 100644 index c2a21fce..00000000 --- a/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 47a3fa0f7679521b85f7aeba9e245c52cc7bb2cb Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Wed, 4 Jun 2014 23:40:43 +0200 -Subject: [PATCH] udev: check the return value from udev_enumerate_scan_devices - -The return value from udev_enumerate_scan_devices was stored but -never used. I assume this was meant to be checked. - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -783,6 +783,8 @@ static int synthesize_change(struct udev - return r; - - r = udev_enumerate_scan_devices(e); -+ if (r < 0) -+ return r; - - udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { - _cleanup_udev_device_unref_ struct udev_device *d = NULL; diff --git a/1038-udev-fix-invalid-free-in-enable_name_policy.patch b/1038-udev-fix-invalid-free-in-enable_name_policy.patch deleted file mode 100644 index 4afdb7ce..00000000 --- a/1038-udev-fix-invalid-free-in-enable_name_policy.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f8a0bb5285024b6ce372c3157e761e6543ebdcd2 Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Fri, 13 Jun 2014 18:48:21 +0200 -Subject: [PATCH] udev: fix invalid free() in enable_name_policy() - -static bool enable_name_policy(...) in ./src/udev/net/link-config.c -calls proc_cmdline(...) to get "line" initialized, but -proc_cmdline(...) does not guarantee that atleast when both -conditions (detect_container(NULL) > 0) and -read_full_file(...) returned < 0. ---- - src/udev/net/link-config.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/net/link-config.c src/udev/net/link-config.c -index a9acc3d..7a9d01b 100644 ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c -@@ -185,7 +185,7 @@ static int load_link(link_config_ctx *ctx, const char *filename) { - } - - static bool enable_name_policy(void) { -- _cleanup_free_ char *line; -+ _cleanup_free_ char *line = NULL; - char *w, *state; - int r; - size_t l; --- -1.7.9.2 - diff --git a/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch b/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch deleted file mode 100644 index 2760970f..00000000 --- a/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 83be2c398589a3d64db5999cfd5527c5219bff46 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 20 May 2014 12:25:16 +0200 -Subject: [PATCH] udevadm-settle: fixed return code for empty queue - -If the udev queue is empty and "/run/udev/queue" does not exist, -"udevadm settle" would return with EXIT_FAILURE, because the inotify on -"/run/udev/queue" would fail with ENOENT. - -This patch lets "udevadm settle" exit with EXIT_SUCCESS in this case. ---- - src/udev/udevadm-settle.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 65fc35f..66fd843 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -116,7 +116,11 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - } - - if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { -- log_debug("watching /run/udev failed"); -+ /* If it does not exist, we don't have to wait */ -+ if (errno == ENOENT) -+ rc = EXIT_SUCCESS; -+ else -+ log_debug("watching /run/udev/queue failed"); - goto out; - } - --- -1.7.9.2 - diff --git a/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch b/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch deleted file mode 100644 index 21d21356..00000000 --- a/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 45e60962b7965f32755a76b79a28126299aac149 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 27 Jun 2014 14:20:17 +0200 -Subject: [PATCH] libudev: fix udev_queue_get_queue_is_empty() logic - ---- - src/libudev/libudev-queue.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index eb0e096..c32a7ef 100644 ---- src/libudev/libudev-queue.c -+++ src/libudev/libudev-queue.c -@@ -175,7 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) - **/ - _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) - { -- return access("/run/udev/queue", F_OK) >= 0; -+ return access("/run/udev/queue", F_OK) < 0; - } - - /** --- -1.7.9.2 - diff --git a/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch b/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch deleted file mode 100644 index a9458e36..00000000 --- a/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +++ /dev/null @@ -1,248 +0,0 @@ -Based on 14cb733684d3c3f50d088a3a370ddf8e8894dfa4 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 27 Jun 2014 17:42:44 +0200 -Subject: [PATCH] libudev: queue provide file descriptor to watch busy event - queue - ---- - docs/libudev/libudev-sections.txt | 2 ++ - src/libudev/libudev-queue.c | 46 +++++++++++++++++++++++++++++++++++ - src/libudev/libudev.h | 2 ++ - src/libudev/libudev.sym | 2 ++ - src/udev/udevadm-settle.c | 48 ++++++++++++++++--------------------- - 5 files changed, 73 insertions(+), 27 deletions(-) - -diff --git docs/libudev/libudev-sections.txt docs/libudev/libudev-sections.txt -index c154645..8a31ded 100644 ---- docs/libudev/libudev-sections.txt -+++ docs/libudev/libudev-sections.txt -@@ -116,6 +116,8 @@ udev_queue_get_seqnum_sequence_is_finished - udev_queue_get_queued_list_entry - udev_queue_get_kernel_seqnum - udev_queue_get_udev_seqnum -+udev_queue_get_fd -+udev_queue_flush -
- -
-diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index c32a7ef..d4334b4 100644 ---- src/libudev/libudev-queue.c -+++ src/libudev/libudev-queue.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include "libudev.h" - #include "libudev-private.h" -@@ -45,6 +46,7 @@ - struct udev_queue { - struct udev *udev; - int refcount; -+ int fd; - }; - - /** -@@ -69,6 +71,7 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) - - udev_queue->refcount = 1; - udev_queue->udev = udev; -+ udev_queue->fd = -1; - return udev_queue; - } - -@@ -107,6 +110,9 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) - if (udev_queue->refcount > 0) - return NULL; - -+ if (udev_queue->fd >= 0) -+ close_nointr_nofail(udev_queue->fd); -+ - free(udev_queue); - return NULL; - } -@@ -222,3 +228,44 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu - { - return NULL; - } -+ -+/** -+ * udev_queue_get_fd: -+ * @udev_queue: udev queue context -+ * -+ * Returns: a file descriptor to watch for a queue to become empty. -+ */ -+_public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { -+ int fd; -+ int r; -+ -+ if (udev_queue->fd >= 0) -+ return udev_queue->fd; -+ -+ fd = inotify_init1(IN_CLOEXEC); -+ if (fd < 0) -+ return -errno; -+ -+ r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); -+ if (r < 0) { -+ r = -errno; -+ close(fd); -+ return r; -+ } -+ -+ udev_queue->fd = fd; -+ return fd; -+} -+ -+/** -+ * udev_queue_flush: -+ * @udev_queue: udev queue context -+ * -+ * Returns: the result of clearing the watch for queue changes. -+ */ -+_public_ int udev_queue_flush(struct udev_queue *udev_queue) { -+ if (udev_queue->fd < 0) -+ return -EINVAL; -+ -+ return flush_fd(udev_queue->fd); -+} -diff --git src/libudev/libudev.h src/libudev/libudev.h -index ceb89bd..4f2f115 100644 ---- src/libudev/libudev.h -+++ src/libudev/libudev.h -@@ -177,6 +177,8 @@ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); - int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); - int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, - unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); -+int udev_queue_get_fd(struct udev_queue *udev_queue); -+int udev_queue_flush(struct udev_queue *udev_queue); - struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); - - /* -diff --git src/libudev/libudev.sym src/libudev/libudev.sym -index 1e6f885..95cd1c7 100644 ---- src/libudev/libudev.sym -+++ src/libudev/libudev.sym -@@ -82,6 +82,8 @@ global: - udev_queue_get_udev; - udev_queue_get_udev_is_active; - udev_queue_get_udev_seqnum; -+ udev_queue_get_fd; -+ udev_queue_flush; - udev_queue_new; - udev_queue_ref; - udev_queue_unref; -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 66fd843..79e8b59 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -59,7 +58,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - const char *exists = NULL; - unsigned int timeout = 120; - struct pollfd pfd[1] = { {.fd = -1}, }; -- int rc = EXIT_FAILURE, c; -+ int c; -+ struct udev_queue *queue; -+ int rc = EXIT_FAILURE; - - while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { - switch (c) { -@@ -79,9 +80,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - break; - case 'h': - help(); -- exit(EXIT_SUCCESS); -+ return EXIT_SUCCESS; - case '?': -- exit(EXIT_FAILURE); -+ return EXIT_FAILURE; - default: - assert_not_reached("Unknown argument"); - } -@@ -89,7 +90,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - - if (optind < argc) { - fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); -- exit(EXIT_FAILURE); -+ return EXIT_FAILURE; - } - - /* guarantee that the udev daemon isn't pre-processing */ -@@ -101,26 +102,23 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - if (udev_ctrl_send_ping(uctrl, timeout) < 0) { - log_debug("no connection to daemon"); - udev_ctrl_unref(uctrl); -- rc = EXIT_SUCCESS; -- goto out; -+ return EXIT_SUCCESS; - } - udev_ctrl_unref(uctrl); - } - } - -- pfd[0].events = POLLIN; -- pfd[0].fd = inotify_init1(IN_CLOEXEC); -- if (pfd[0].fd < 0) { -- log_error("inotify_init failed: %m"); -- goto out; -+ queue = udev_queue_new(udev); -+ if (!queue) { -+ log_error("unable to get udev queue"); -+ return EXIT_FAILURE; - } - -- if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { -- /* If it does not exist, we don't have to wait */ -- if (errno == ENOENT) -- rc = EXIT_SUCCESS; -- else -- log_debug("watching /run/udev/queue failed"); -+ pfd[0].events = POLLIN; -+ pfd[0].fd = udev_queue_get_fd(queue); -+ if (pfd[0].fd < 0) { -+ log_debug("queue is empty, nothing to watch"); -+ rc = EXIT_SUCCESS; - goto out; - } - -@@ -131,22 +129,18 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - } - - /* exit if queue is empty */ -- if (access("/run/udev/queue", F_OK) < 0) { -+ if (udev_queue_get_queue_is_empty(queue)) { - rc = EXIT_SUCCESS; - break; - } - -- /* wake up when "queue" file is deleted */ -- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { -- char buf[sizeof(struct inotify_event) + PATH_MAX]; -- -- read(pfd[0].fd, buf, sizeof(buf)); -- } -+ /* wake up when queue is empty */ -+ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) -+ udev_queue_flush(queue); - } - - out: -- if (pfd[0].fd >= 0) -- close(pfd[0].fd); -+ udev_queue_unref(queue); - return rc; - } - --- -1.7.9.2 - diff --git a/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch b/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch deleted file mode 100644 index 78c1c084..00000000 --- a/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8a7a0c19edd2d971d4aa9d635f7978af841e8278 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 27 Jun 2014 19:54:45 +0200 -Subject: [PATCH] libudev: queue - watch entire directory to allow the re-use - of the watch descriptor - ---- - src/libudev/libudev-queue.c | 2 +- - src/udev/udevadm-settle.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index d4334b4..8ef1f3d 100644 ---- src/libudev/libudev-queue.c -+++ src/libudev/libudev-queue.c -@@ -245,7 +245,7 @@ _public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { - if (fd < 0) - return -errno; - -- r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); -+ r = inotify_add_watch(fd, "/run/udev" , IN_DELETE); - if (r < 0) { - r = -errno; - close(fd); -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 79e8b59..fa5b0c2 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -135,7 +135,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - } - - /* wake up when queue is empty */ -- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) -+ if (poll(pfd, 1, MSEC_PER_SEC) > 0 && pfd[0].revents & POLLIN) - udev_queue_flush(queue); - } - --- -1.7.9.2 - diff --git a/1044-rules-update-qemu-hid-rules.patch b/1044-rules-update-qemu-hid-rules.patch deleted file mode 100644 index 52741afe..00000000 --- a/1044-rules-update-qemu-hid-rules.patch +++ /dev/null @@ -1,45 +0,0 @@ -From cd31d1884f1ecf38e11bc6268f446d75dfafbc25 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 24 Mar 2014 12:07:41 +0100 -Subject: [PATCH] rules: update qemu hid rules - -Update comment to be a bit more specific. - -Change match to blacklist the serial number of the broken devices -instead of whitelisting the serial number of the fixed devices. -This allows to do something useful with the serial number in the -future. ---- - rules/42-usb-hid-pm.rules | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules -index 3fd6e8a..c675b5b 100644 ---- rules/42-usb-hid-pm.rules -+++ rules/42-usb-hid-pm.rules -@@ -2,14 +2,15 @@ - # - # Enable autosuspend for qemu emulated usb hid devices - --# Note that there are buggy qemu versions which advertise remote --# wakeup support but don't actually implement it correctly. This --# is the reason why we need a match for the serial number here. --# The serial number "42" is used to tag the implementations where -+# Note that there are buggy qemu versions (0.13 & older) which -+# advertise remote wakeup support but don't actually implement -+# it correctly. This is the reason why we need a match for the -+# serial number here. Old, broken versions have serial "1". -+# It has been changed to "42" after fixing the bug to indicate - # remote wakeup is working. --ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" --ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" --ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" - - # Catch-all for Avocent HID devices. Keyed off interface in order to only - # trigger on HID class devices. --- -1.7.9.2 - diff --git a/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch b/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch deleted file mode 100644 index cd1f72c7..00000000 --- a/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 52fb538361053f8c4abce0e40cd0bae3d28ceb16 Mon Sep 17 00:00:00 2001 -From: Tom Hirst -Date: Wed, 25 Jun 2014 11:57:11 +0000 -Subject: [PATCH] rules: don't enable usb pm for Avocent devices - -The Avocent KVM over IP devices doesn't work correctly with USB power -management enabled. ---- - rules/42-usb-hid-pm.rules | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules -index c675b5b..4c300da 100644 ---- rules/42-usb-hid-pm.rules -+++ rules/42-usb-hid-pm.rules -@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!= - ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" - ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" - --# Catch-all for Avocent HID devices. Keyed off interface in order to only --# trigger on HID class devices. --ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto" -- - # Dell DRAC 4 - ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto" - --- -1.7.9.2 - diff --git a/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch b/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch deleted file mode 100644 index 47fce280..00000000 --- a/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 01d4590b775661ebc71c7b81b0c62ccd69395268 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Jul 2014 15:13:29 +0200 -Subject: [PATCH] udev: net_setup_link builtin should print the reason why - something fails - -Let's tell users what is going wrong. ---- - src/udev/udev-builtin-net_setup_link.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c -index 3cd384e..6207269 100644 ---- src/udev/udev-builtin-net_setup_link.c -+++ src/udev/udev-builtin-net_setup_link.c -@@ -43,17 +43,17 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv - r = link_config_get(ctx, dev, &link); - if (r < 0) { - if (r == -ENOENT) { -- log_debug("No matching link configuration found"); -+ log_debug("No matching link configuration found."); - return EXIT_SUCCESS; - } else { -- log_error("Could not get link config"); -+ log_error("Could not get link config: %s", strerror(-r)); - return EXIT_FAILURE; - } - } - - r = link_config_apply(ctx, link, dev, &name); - if (r < 0) { -- log_error("Could not apply link config to %s", udev_device_get_sysname(dev)); -+ log_error("Could not apply link config to %s: %s", udev_device_get_sysname(dev), strerror(-r)); - return EXIT_FAILURE; - } - -@@ -77,18 +77,18 @@ static int builtin_net_setup_link_init(struct udev *udev) { - if (r < 0) - return r; - -- log_debug("Created link configuration context"); -+ log_debug("Created link configuration context."); - return 0; - } - - static void builtin_net_setup_link_exit(struct udev *udev) { - link_config_ctx_free(ctx); - ctx = NULL; -- log_debug("Unloaded link configuration context"); -+ log_debug("Unloaded link configuration context."); - } - - static bool builtin_net_setup_link_validate(struct udev *udev) { -- log_debug("Check if link configuration needs reloading"); -+ log_debug("Check if link configuration needs reloading."); - if (!ctx) - return false; - --- -1.7.9.2 - diff --git a/1048-udev-net_setup_link-add-a-bit-more-logging.patch b/1048-udev-net_setup_link-add-a-bit-more-logging.patch deleted file mode 100644 index 740e3c36..00000000 --- a/1048-udev-net_setup_link-add-a-bit-more-logging.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 866ee3682213789f85b877700457fdca05695a0e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 3 Jul 2014 09:57:27 +0200 -Subject: [PATCH] udev: net_setup_link - add a bit more logging - ---- - src/udev/net/link-config.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git src/udev/net/link-config.c src/udev/net/link-config.c -index 7a9d01b..b8650a6 100644 ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c -@@ -92,14 +92,20 @@ static int link_config_ctx_connect(link_config_ctx *ctx) { - - if (ctx->ethtool_fd == -1) { - r = ethtool_connect(&ctx->ethtool_fd); -- if (r < 0) -+ if (r < 0) { -+ log_warning("link_config: could not connect to ethtool: %s", -+ strerror(-r)); - return r; -+ } - } - - if (!ctx->rtnl) { - r = sd_rtnl_open(&ctx->rtnl, 0); -- if (r < 0) -+ if (r < 0) { -+ log_warning("link_config: could not connect to rtnl: %s", -+ strerror(-r)); - return r; -+ } - } - - return 0; --- -1.7.9.2 - diff --git a/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch b/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch deleted file mode 100644 index 6b3d7ec6..00000000 --- a/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +++ /dev/null @@ -1,36 +0,0 @@ -Based on a669ea9860900d5cdebbc4cb9aaea72db7e28a02 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 7 Jul 2014 14:50:16 +0200 -Subject: [PATCH] udev: link_config - ignore errors due to missing MAC address - -Otherwis, we get misleading error messages on links with MACs. - -Reported by Leonid Isaev. ---- - src/udev/net/link-config.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c 2014-07-08 10:44:19.450735575 +0000 -@@ -440,7 +440,9 @@ int link_config_apply(link_config_ctx *c - case MACPOLICY_PERSISTENT: - if (!mac_is_permanent(device)) { - r = get_mac(device, false, &generated_mac); -- if (r < 0) -+ if (r == -ENOENT) -+ break; -+ else if (r < 0) - return r; - mac = &generated_mac; - } -@@ -448,7 +450,9 @@ int link_config_apply(link_config_ctx *c - case MACPOLICY_RANDOM: - if (!mac_is_random(device)) { - r = get_mac(device, true, &generated_mac); -- if (r < 0) -+ if (r == -ENOENT) -+ break; -+ else if (r < 0) - return r; - mac = &generated_mac; - } diff --git a/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch b/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch deleted file mode 100644 index edab1583..00000000 --- a/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 30632d97d9d68c8202e562f34afae8f8d6e9c377 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 15 Jul 2014 17:35:53 +0200 -Subject: [PATCH] rules: uaccess - add ID_SOFTWARE_RADIO - -On Tue, Jul 15, 2014 at 1:52 PM, Alick Zhao wrote: ->>> ->>> So maybe ID_SOFTWARE_RADIO ? ->> ->> Hmm, SDR is more a term for a generic technology than for a device ->> class. To me it does not really sound like an administrator would know ->> what this is. ->> ->> What exactly is the device or subsystem you want to make accessible to ->> locally logged-in users only? -> -> Initially it is bladeRF, but many more are of interest: USRP, rtl-sdr, -> HackRF, ... [1] -> -> I agree an administrator might not know what SDR is, since it is -> currently still not widely known, and makes sense only for amateurs -> and researchers. But as a SDR fan, I see many new SDR peripherals -> are created recently, and expect to see more. So a generic ID seems -> reasonable to me. -> -> [1] http://en.wikipedia.org/wiki/List_of_software-defined_radios ---- - src/login/70-uaccess.rules | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/login/70-uaccess.rules src/login/70-uaccess.rules -index 57f619d..694df2c 100644 ---- src/login/70-uaccess.rules -+++ src/login/70-uaccess.rules -@@ -72,4 +72,7 @@ ENV{DDC_DEVICE}=="?*", TAG+="uaccess" - # media player raw devices (for user-mode drivers, Android SDK, etc.) - SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess" - -+# software-defined radio communication devices -+ENV{ID_SOFTWARE_RADIO}=="?*", TAG+="uaccess" -+ - LABEL="uaccess_end" --- -1.7.9.2 - diff --git a/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch b/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch deleted file mode 100644 index ecf11ad5..00000000 --- a/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 24 Jul 2014 23:37:35 +0200 -Subject: [PATCH] udev: exclude MD from block device ownership event locking - -MD instantiates devices at open(). This is incomptible with the -locking logic, as the "change" event emitted when stopping a -device will bring it back. ---- - src/udev/udevd.c | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index a45d324..db935d6 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -285,26 +285,17 @@ static void worker_new(struct event *event) - udev_event->exec_delay = exec_delay; - - /* -- * Take a "read lock" on the device node; this establishes -+ * Take a shared lock on the device node; this establishes - * a concept of device "ownership" to serialize device -- * access. External processes holding a "write lock" will -+ * access. External processes holding an exclusive lock will - * cause udev to skip the event handling; in the case udev -- * acquired the lock, the external process will block until -+ * acquired the lock, the external process can block until - * udev has finished its event handling. - */ -- -- /* -- * since we make check - device seems unused - we try -- * ioctl to deactivate - and device is found to be opened -- * sure, you try to take a write lock -- * if you get it udev is out -- * if you can't get it, udev is busy -- * we cannot deactivate openned device (as it is in-use) -- * maybe we should just exclude dm from that thing entirely -- * IMHO this sounds like a good plan for this moment -- */ -- if (streq_ptr("block", udev_device_get_subsystem(dev)) && -- !startswith(udev_device_get_sysname(dev), "dm-")) { -+ if (!streq_ptr(udev_device_get_action(dev), "remove") && -+ streq_ptr("block", udev_device_get_subsystem(dev)) && -+ !startswith(udev_device_get_sysname(dev), "dm-") && -+ !startswith(udev_device_get_sysname(dev), "md")) { - struct udev_device *d = dev; - - if (streq_ptr("partition", udev_device_get_devtype(d))) --- -1.7.9.2 - diff --git a/1056-udevd-add-event-timeout-commandline-option.patch b/1056-udevd-add-event-timeout-commandline-option.patch deleted file mode 100644 index 1f670688..00000000 --- a/1056-udevd-add-event-timeout-commandline-option.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 9719859c07aa13539ed2cd4b31972cd30f678543 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Tue, 29 Jul 2014 09:06:14 +0200 -Subject: [PATCH] udevd: add --event-timeout commandline option - -Some events take longer than the default 30 seconds. Killing those -events will leave the machine halfway configured. - -Add a commandline option '--event-timeout' to handle these cases. ---- - man/systemd-udevd.service.xml | 19 +++++++++++++++++++ - src/udev/udevd.c | 12 +++++++++++- - 2 files changed, 30 insertions(+), 1 deletion(-) - -diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml -index f44b7a0..8de43b1 100644 ---- man/systemd-udevd.service.xml -+++ man/systemd-udevd.service.xml -@@ -44,6 +44,7 @@ - - - -+ - - - -@@ -96,6 +97,15 @@ - - - -+ -+ -+ Wait for the event to finish up to the given -+ number of seconds. After this time the event will -+ be terminated. Default is 30. -+ -+ -+ -+ - - - Specify when systemd-udevd should resolve names of users and groups. -@@ -156,6 +166,15 @@ - - - -+ udev.event-timeout= -+ rd.udev.event-timeout= -+ -+ Wait for events to finish up to the given number -+ of seconds. This option might be useful if events are -+ terminated due to a timeout in large configurations. -+ -+ -+ - net.ifnames= - - Network interfaces are renamed to give them predictable names -diff --git src/udev/udevd.c src/udev/udevd.c -index db935d6..c5dd739 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,6 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; -+static int event_timeout = 30; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -312,6 +313,9 @@ static void worker_new(struct event *event) - } - } - -+ if (event_timeout != 30) -+ udev_event->timeout_usec = event_timeout * USEC_PER_SEC; -+ - /* apply rules, create node, symlinks */ - udev_event_execute_rules(udev_event, rules, &sigmask_orig); - -@@ -1009,6 +1013,8 @@ static void kernel_cmdline_options(struct udev *udev) - children_max = strtoul(opt + 18, NULL, 0); - } else if (startswith(opt, "udev.exec-delay=")) { - exec_delay = strtoul(opt + 16, NULL, 0); -+ } else if (startswith(opt, "udev.event-timeout=")) { -+ event_timeout = strtoul(opt + 16, NULL, 0); - } - - free(s); -@@ -1026,6 +1032,7 @@ int main(int argc, char *argv[]) - { "debug", no_argument, NULL, 'D' }, - { "children-max", required_argument, NULL, 'c' }, - { "exec-delay", required_argument, NULL, 'e' }, -+ { "event-timeout", required_argument, NULL, 't' }, - { "resolve-names", required_argument, NULL, 'N' }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, -@@ -1069,6 +1076,9 @@ int main(int argc, char *argv[]) - case 'e': - exec_delay = strtoul(optarg, NULL, 0); - break; -+ case 't': -+ event_timeout = strtoul(optarg, NULL, 0); -+ break; - case 'D': - debug = true; - log_set_max_level(LOG_DEBUG); -@@ -1406,7 +1416,7 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { - log_error("worker [%u] %s timeout; kill it", worker->pid, - worker->event ? worker->event->devpath : ""); - kill(worker->pid, SIGKILL); --- -1.7.9.2 - diff --git a/1057-udev-unify-event-timeout-handling.patch b/1057-udev-unify-event-timeout-handling.patch deleted file mode 100644 index 9aa819b6..00000000 --- a/1057-udev-unify-event-timeout-handling.patch +++ /dev/null @@ -1,504 +0,0 @@ -From dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 29 Jul 2014 15:18:27 +0200 -Subject: [PATCH] udev: unify event timeout handling - ---- - man/systemd-udevd.service.xml | 7 +++--- - man/udev.xml | 7 ------ - src/test/test-udev.c | 5 ++-- - src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- - src/udev/udev-rules.c | 38 ++++++++--------------------- - src/udev/udev.h | 8 +++---- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 32 ++++++++++--------------- - 8 files changed, 61 insertions(+), 91 deletions(-) - -diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml -index 8de43b1..3053dc7 100644 ---- man/systemd-udevd.service.xml -+++ man/systemd-udevd.service.xml -@@ -99,9 +99,8 @@ - - - -- Wait for the event to finish up to the given -- number of seconds. After this time the event will -- be terminated. Default is 30. -+ Set the number of seconds to wait for events to finish. After -+ this time the event will be terminated. The default is 30 seconds. - - - -@@ -171,7 +170,7 @@ - - Wait for events to finish up to the given number - of seconds. This option might be useful if events are -- terminated due to a timeout in large configurations. -+ terminated due to kernel drivers taking too long to initialize. - - - -diff --git man/udev.xml man/udev.xml -index 4e5f8f0..123c073 100644 ---- man/udev.xml -+++ man/udev.xml -@@ -516,13 +516,6 @@ - - - -- -- -- Number of seconds an event waits for operations to finish before -- giving up and terminating itself. -- -- -- - - - Usually control and other possibly unsafe characters are replaced -diff --git src/test/test-udev.c src/test/test-udev.c -index b057cc8..26d6537 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -80,7 +80,6 @@ out: - return err; - } - -- - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_event_unref_ struct udev_event *event = NULL; -@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -- udev_event_execute_run(event, NULL); -+ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 5213a4a..6ad80d5 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) - udev_list_init(udev, &event->seclabel_list, false); - event->fd_signal = -1; - event->birth_usec = now(CLOCK_MONOTONIC); -- event->timeout_usec = 30 * 1000 * 1000; - return event; - } - -@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, - } - - static void spawn_read(struct udev_event *event, -- const char *cmd, -- int fd_stdout, int fd_stderr, -- char *result, size_t ressize) -+ usec_t timeout_usec, -+ const char *cmd, -+ int fd_stdout, int fd_stderr, -+ char *result, size_t ressize) - { - size_t respos = 0; - int fd_ep = -1; -@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, - struct epoll_event ev[4]; - int i; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) { -+ if (age_usec >= timeout_usec) { - log_error("timeout '%s'", cmd); - goto out; - } -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -543,8 +543,9 @@ out: - close(fd_ep); - } - --static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) --{ -+static int spawn_wait(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; - -@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) - int timeout; - int fdcount; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) -+ if (age_usec >= timeout_usec) - timeout = 1000; - else -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -657,9 +658,9 @@ out: - } - - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, -- char *result, size_t ressize) --{ -+ char *result, size_t ressize) { - struct udev *udev = event->udev; - int outpipe[2] = {-1, -1}; - int errpipe[2] = {-1, -1}; -@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, - errpipe[WRITE_END] = -1; - } - -- spawn_read(event, cmd, -- outpipe[READ_END], errpipe[READ_END], -- result, ressize); -+ spawn_read(event, -+ timeout_usec, -+ cmd, -+ outpipe[READ_END], errpipe[READ_END], -+ result, ressize); - -- err = spawn_wait(event, cmd, pid); -+ err = spawn_wait(event, timeout_usec, cmd, pid); - } - - out: -@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) - return r; - } - --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) --{ -+void udev_event_execute_rules(struct udev_event *event, -+ usec_t timeout_usec, -+ struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - - if (udev_device_get_subsystem(dev) == NULL) -@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - udev_watch_end(event->udev, event->dev_db); - } - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - } - } - --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) --{ -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9864016..aacde38 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -137,7 +137,6 @@ enum token_type { - TK_M_PARENTS_MAX, - - TK_M_TEST, /* val, mode_t */ -- TK_M_EVENT_TIMEOUT, /* int */ - TK_M_PROGRAM, /* val */ - TK_M_IMPORT_FILE, /* val */ - TK_M_IMPORT_PROG, /* val */ -@@ -201,7 +200,6 @@ struct token { - uid_t uid; - gid_t gid; - int devlink_prio; -- int event_timeout; - int watch; - enum udev_builtin_cmd builtin_cmd; - }; -@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) - [TK_M_PARENTS_MAX] = "M PARENTS_MAX", - - [TK_M_TEST] = "M TEST", -- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", - [TK_M_PROGRAM] = "M PROGRAM", - [TK_M_IMPORT_FILE] = "M IMPORT_FILE", - [TK_M_IMPORT_PROG] = "M IMPORT_PROG", -@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) - case TK_A_SECLABEL: - log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); - break; -- case TK_M_EVENT_TIMEOUT: -- log_debug("%s %u", token_str(type), token->key.event_timeout); -- break; - case TK_A_GOTO: - log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); - break; -@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - return 0; - } - --static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) --{ -+static int import_program_into_properties(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; - char result[UTIL_LINE_SIZE]; -@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, - case TK_A_MODE_ID: - token->key.mode = *(mode_t *)data; - break; -- case TK_M_EVENT_TIMEOUT: -- token->key.event_timeout = *(int *)data; -- break; - case TK_RULE: - case TK_M_PARENTS_MIN: - case TK_M_PARENTS_MAX: -@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, - rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); - } - -- pos = strstr(value, "event_timeout="); -- if (pos != NULL) { -- int tout = atoi(&pos[strlen("event_timeout=")]); -- -- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); -- } -- -- pos = strstr(value, "string_escape="); - if (pos != NULL) { - pos = &pos[strlen("string_escape=")]; - if (startswith(pos, "none")) -@@ -1829,8 +1813,10 @@ enum escape_type { - ESCAPE_REPLACE, - }; - --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) --{ -+int udev_rules_apply_to_event(struct udev_rules *rules, -+ struct udev_event *event, -+ usec_t timeout_usec, -+ const sigset_t *sigmask) { - struct token *cur; - struct token *rule; - enum escape_type esc = ESCAPE_UNSET; -@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - goto nomatch; - break; - } -- case TK_M_EVENT_TIMEOUT: -- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); -- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; -- break; - case TK_M_PROGRAM: { - char program[UTIL_PATH_SIZE]; - char **envp; -@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index 62538bc..4aca70b 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -43,7 +43,6 @@ struct udev_event { - struct udev_list run_list; - int exec_delay; - usec_t birth_usec; -- usec_t timeout_usec; - int fd_signal; - unsigned int builtin_run; - unsigned int builtin_ret; -@@ -72,7 +71,7 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * - int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 6a2f548..52cc26c 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - goto out; - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); -diff --git src/udev/udevd.c src/udev/udevd.c -index c5dd739..dee7a87 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,7 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static int event_timeout = 30; -+static usec_t event_timeout_usec = 30 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -313,13 +313,10 @@ static void worker_new(struct event *event) - } - } - -- if (event_timeout != 30) -- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; -- - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) - } else if (startswith(opt, "udev.exec-delay=")) { - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { -- event_timeout = strtoul(opt + 16, NULL, 0); -+ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; - } - - free(s); - } - } - --int main(int argc, char *argv[]) --{ -+int main(int argc, char *argv[]) { - struct udev *udev; - sigset_t mask; - int daemonize = false; -@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) - exec_delay = strtoul(optarg, NULL, 0); - break; - case 't': -- event_timeout = strtoul(optarg, NULL, 0); -+ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; - break; - case 'D': - debug = true; -@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) - " --debug\n" - " --children-max=\n" - " --exec-delay=\n" -+ " --event-timeout=\n" - " --resolve-names=early|late|never\n" - " --version\n" - " --help\n" -@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, -- worker->event ? worker->event->devpath : ""); -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; - - /* drop reference taken for state 'running' */ - worker_unref(worker); -- if (worker->event) { -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event); -- worker->event = NULL; -- } -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event); -+ worker->event = NULL; - } - } - --- -1.7.9.2 - diff --git a/1058-udev-unify-event-timeout-handling.patch b/1058-udev-unify-event-timeout-handling.patch deleted file mode 100644 index a92d15f7..00000000 --- a/1058-udev-unify-event-timeout-handling.patch +++ /dev/null @@ -1,504 +0,0 @@ -Based on dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 29 Jul 2014 15:18:27 +0200 -Subject: [PATCH] udev: unify event timeout handling - ---- - man/systemd-udevd.service.xml | 7 +++--- - man/udev.xml | 7 ------ - src/test/test-udev.c | 5 ++-- - src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- - src/udev/udev-rules.c | 38 ++++++++--------------------- - src/udev/udev.h | 8 +++---- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 32 ++++++++++--------------- - 8 files changed, 61 insertions(+), 91 deletions(-) - -diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml -index 8de43b1..3053dc7 100644 ---- man/systemd-udevd.service.xml -+++ man/systemd-udevd.service.xml -@@ -99,9 +99,8 @@ - - - -- Wait for the event to finish up to the given -- number of seconds. After this time the event will -- be terminated. Default is 30. -+ Set the number of seconds to wait for events to finish. After -+ this time the event will be terminated. The default is 30 seconds. - - - -@@ -171,7 +170,7 @@ - - Wait for events to finish up to the given number - of seconds. This option might be useful if events are -- terminated due to a timeout in large configurations. -+ terminated due to kernel drivers taking too long to initialize. - - - -diff --git man/udev.xml man/udev.xml -index 4e5f8f0..123c073 100644 ---- man/udev.xml -+++ man/udev.xml -@@ -516,13 +516,6 @@ - - - -- -- -- Number of seconds an event waits for operations to finish before -- giving up and terminating itself. -- -- -- - - - Usually control and other possibly unsafe characters are replaced -diff --git src/test/test-udev.c src/test/test-udev.c -index b057cc8..26d6537 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -80,7 +80,6 @@ out: - return err; - } - -- - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_event_unref_ struct udev_event *event = NULL; -@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -- udev_event_execute_run(event, NULL); -+ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 5213a4a..6ad80d5 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) - udev_list_init(udev, &event->seclabel_list, false); - event->fd_signal = -1; - event->birth_usec = now(CLOCK_MONOTONIC); -- event->timeout_usec = 30 * 1000 * 1000; - return event; - } - -@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, - } - - static void spawn_read(struct udev_event *event, -- const char *cmd, -- int fd_stdout, int fd_stderr, -- char *result, size_t ressize) -+ usec_t timeout_usec, -+ const char *cmd, -+ int fd_stdout, int fd_stderr, -+ char *result, size_t ressize) - { - size_t respos = 0; - int fd_ep = -1; -@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, - struct epoll_event ev[4]; - int i; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) { -+ if (age_usec >= timeout_usec) { - log_error("timeout '%s'", cmd); - goto out; - } -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -543,8 +543,9 @@ out: - close(fd_ep); - } - --static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) --{ -+static int spawn_wait(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; - -@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) - int timeout; - int fdcount; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) -+ if (age_usec >= timeout_usec) - timeout = 1000; - else -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -657,9 +658,9 @@ out: - } - - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, -- char *result, size_t ressize) --{ -+ char *result, size_t ressize) { - struct udev *udev = event->udev; - int outpipe[2] = {-1, -1}; - int errpipe[2] = {-1, -1}; -@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, - errpipe[WRITE_END] = -1; - } - -- spawn_read(event, cmd, -- outpipe[READ_END], errpipe[READ_END], -- result, ressize); -+ spawn_read(event, -+ timeout_usec, -+ cmd, -+ outpipe[READ_END], errpipe[READ_END], -+ result, ressize); - -- err = spawn_wait(event, cmd, pid); -+ err = spawn_wait(event, timeout_usec, cmd, pid); - } - - out: -@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) - return r; - } - --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) --{ -+void udev_event_execute_rules(struct udev_event *event, -+ usec_t timeout_usec, -+ struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - - if (udev_device_get_subsystem(dev) == NULL) -@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - udev_watch_end(event->udev, event->dev_db); - } - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - } - } - --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) --{ -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9864016..aacde38 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -137,7 +137,6 @@ enum token_type { - TK_M_PARENTS_MAX, - - TK_M_TEST, /* val, mode_t */ -- TK_M_EVENT_TIMEOUT, /* int */ - TK_M_PROGRAM, /* val */ - TK_M_IMPORT_FILE, /* val */ - TK_M_IMPORT_PROG, /* val */ -@@ -201,7 +200,6 @@ struct token { - uid_t uid; - gid_t gid; - int devlink_prio; -- int event_timeout; - int watch; - enum udev_builtin_cmd builtin_cmd; - }; -@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) - [TK_M_PARENTS_MAX] = "M PARENTS_MAX", - - [TK_M_TEST] = "M TEST", -- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", - [TK_M_PROGRAM] = "M PROGRAM", - [TK_M_IMPORT_FILE] = "M IMPORT_FILE", - [TK_M_IMPORT_PROG] = "M IMPORT_PROG", -@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) - case TK_A_SECLABEL: - log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); - break; -- case TK_M_EVENT_TIMEOUT: -- log_debug("%s %u", token_str(type), token->key.event_timeout); -- break; - case TK_A_GOTO: - log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); - break; -@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - return 0; - } - --static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) --{ -+static int import_program_into_properties(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; - char result[UTIL_LINE_SIZE]; -@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, - case TK_A_MODE_ID: - token->key.mode = *(mode_t *)data; - break; -- case TK_M_EVENT_TIMEOUT: -- token->key.event_timeout = *(int *)data; -- break; - case TK_RULE: - case TK_M_PARENTS_MIN: - case TK_M_PARENTS_MAX: -@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, - rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); - } - -- pos = strstr(value, "event_timeout="); -- if (pos != NULL) { -- int tout = atoi(&pos[strlen("event_timeout=")]); -- -- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); -- } -- -- pos = strstr(value, "string_escape="); - if (pos != NULL) { - pos = &pos[strlen("string_escape=")]; - if (startswith(pos, "none")) -@@ -1829,8 +1813,10 @@ enum escape_type { - ESCAPE_REPLACE, - }; - --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) --{ -+int udev_rules_apply_to_event(struct udev_rules *rules, -+ struct udev_event *event, -+ usec_t timeout_usec, -+ const sigset_t *sigmask) { - struct token *cur; - struct token *rule; - enum escape_type esc = ESCAPE_UNSET; -@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - goto nomatch; - break; - } -- case TK_M_EVENT_TIMEOUT: -- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); -- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; -- break; - case TK_M_PROGRAM: { - char program[UTIL_PATH_SIZE]; - char **envp; -@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index 62538bc..4aca70b 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -43,7 +43,6 @@ struct udev_event { - struct udev_list run_list; - int exec_delay; - usec_t birth_usec; -- usec_t timeout_usec; - int fd_signal; - unsigned int builtin_run; - unsigned int builtin_ret; -@@ -72,7 +71,7 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * - int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 6a2f548..52cc26c 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - goto out; - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); -diff --git src/udev/udevd.c src/udev/udevd.c -index c5dd739..dee7a87 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,7 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static int event_timeout = 30; -+static usec_t event_timeout_usec = 30 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -313,13 +313,10 @@ static void worker_new(struct event *event) - } - } - -- if (event_timeout != 30) -- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; -- - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) - } else if (startswith(opt, "udev.exec-delay=")) { - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { -- event_timeout = strtoul(opt + 16, NULL, 0); -+ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; - } - - free(s); - } - } - --int main(int argc, char *argv[]) --{ -+int main(int argc, char *argv[]) { - struct udev *udev; - sigset_t mask; - int daemonize = false; -@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) - exec_delay = strtoul(optarg, NULL, 0); - break; - case 't': -- event_timeout = strtoul(optarg, NULL, 0); -+ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; - break; - case 'D': - debug = true; -@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) - " --debug\n" - " --children-max=\n" - " --exec-delay=\n" -+ " --event-timeout=\n" - " --resolve-names=early|late|never\n" - " --version\n" - " --help\n" -@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, -- worker->event ? worker->event->devpath : ""); -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; - - /* drop reference taken for state 'running' */ - worker_unref(worker); -- if (worker->event) { -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event, true); -- worker->event = NULL; -- } -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event, true); -+ worker->event = NULL; - } - } - --- -1.7.9.2 - diff --git a/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch b/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch deleted file mode 100644 index 62d5d665..00000000 --- a/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9f20a8a376f924c8eb5423cfc1f98644fc1e2d1a Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Wed, 30 Jul 2014 10:10:46 +0200 -Subject: [PATCH] udev: fixup commit dd5eddd28a74a49607a8fffcaf960040dba98479 - -Commit dd5eddd28a74a49607a8fffcaf960040dba98479 accidentally -removed one line too many. ---- - src/udev/udev-rules.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 59bc124..cc56215 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -1436,6 +1436,7 @@ static int add_rule(struct udev_rules *rules, char *line, - rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); - } - -+ pos = strstr(value, "string_escape="); - if (pos != NULL) { - pos = &pos[strlen("string_escape=")]; - if (startswith(pos, "none")) --- -1.7.9.2 - diff --git a/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch b/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch deleted file mode 100644 index 20d064f8..00000000 --- a/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b5df2eabf3fdd3e1663bc4c948812472084f3e96 Mon Sep 17 00:00:00 2001 -From: Kevin Wells -Date: Thu, 31 Jul 2014 17:38:21 +0200 -Subject: [PATCH] rules: allow systemd to manage loop device partitions - -SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*) -that do not have a backing_file. Partitioned loop devices (ex. loop0p1), -however, are matched by this rule and excluded by systemd even though -they are active devices. - -This change adds an additional check to the rule, ensuring that only -top level loop devices (loop[0-9]+$) are excluded from systemd. ---- - rules/99-systemd.rules.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in -index c3ef81b..aa435c4 100644 ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in -@@ -23,7 +23,7 @@ SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", - SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" - - # Ignore loop devices that don't have any file attached --SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" -+SUBSYSTEM=="block", KERNEL=="loop[0-9]*", ENV{DEVTYPE}=="disk", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" - - # Ignore nbd devices in the "add" event, with "change" the nbd is ready - ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" --- -1.7.9.2 - diff --git a/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch b/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch deleted file mode 100644 index 06966c4c..00000000 --- a/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +++ /dev/null @@ -1,96 +0,0 @@ -Based on e98bbfd2074e2b1079b7059341eac25741baf319 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 4 Aug 2014 18:15:34 +0200 -Subject: [PATCH] udev: path_id - suppress ID_PATH for devices with an unknown - parent device type - -https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1321816 ---- - src/udev/udev-builtin-path_id.c | 38 +++++++++++++++++++++++++++----------- - 1 file changed, 27 insertions(+), 11 deletions(-) - ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c 2014-08-22 14:08:59.250235369 +0000 -@@ -524,7 +524,8 @@ static int builtin_path_id(struct udev_d - { - struct udev_device *parent; - char *path = NULL; -- bool some_transport = false; -+ bool supported_transport = false; -+ bool supported_parent = false; - - /* S390 ccw bus */ - parent = udev_device_get_parent_with_subsystem_devtype(dev, "ccw", NULL); -@@ -545,47 +546,62 @@ static int builtin_path_id(struct udev_d - handle_scsi_tape(parent, &path); - } else if (streq(subsys, "scsi")) { - parent = handle_scsi(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "cciss")) { - parent = handle_cciss(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "usb")) { - parent = handle_usb(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "bcma")) { - parent = handle_bcma(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "serio")) { - path_prepend(&path, "serio-%s", udev_device_get_sysnum(parent)); - parent = skip_subsystem(parent, "serio"); - } else if (streq(subsys, "pci")) { - path_prepend(&path, "pci-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "pci"); -+ supported_parent = true; - } else if (streq(subsys, "platform")) { - path_prepend(&path, "platform-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "platform"); -- some_transport = true; -+ supported_transport = true; -+ supported_parent = true; - } else if (streq(subsys, "acpi")) { - path_prepend(&path, "acpi-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "acpi"); -+ supported_parent = true; - } else if (streq(subsys, "xen")) { - path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "xen"); -+ supported_parent = true; - } else if (streq(subsys, "scm")) { - path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "scm"); -- some_transport = true; -+ supported_transport = true; -+ supported_parent = true; - } - - parent = udev_device_get_parent(parent); - } - - /* -- * Do not return a single-parent-device-only for block -- * devices, they might have entire buses behind it which -- * do not get unique IDs only by using the parent device. -+ * Do return devices with have an unknown type of parent device, they -+ * might produce conflicting IDs below multiple independent parent -+ * devices. - */ -- if (!some_transport && streq(udev_device_get_subsystem(dev), "block")) { -+ if (!supported_parent) { -+ free(path); -+ path = NULL; -+ } -+ -+ /* -+ * Do not return a have-only a single-parent block devices, some -+ * have entire hidden buses behind it, and not create predictable -+ * IDs that way. -+ */ -+ if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { - free(path); - path = NULL; - } diff --git a/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch b/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch deleted file mode 100644 index 07755c04..00000000 --- a/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 77cf759ea05bea476cdcb8d0dcd04c4e6fb3b2ff Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 26 Aug 2014 18:27:36 +0200 -Subject: [PATCH] udev: hwdb - do not look at "usb_device" parents - -Based on a patch from Simon McVittie . - -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758050 ---- - src/udev/udev-builtin-hwdb.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git src/udev/udev-builtin-hwdb.c src/udev/udev-builtin-hwdb.c -index cac97e7..695a31a 100644 ---- src/udev/udev-builtin-hwdb.c -+++ src/udev/udev-builtin-hwdb.c -@@ -88,9 +88,10 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device - const char *filter, bool test) { - struct udev_device *d; - char s[16]; -- int n = 0; -+ bool last = false; -+ int r = 0; - -- for (d = srcdev; d; d = udev_device_get_parent(d)) { -+ for (d = srcdev; d && !last; d = udev_device_get_parent(d)) { - const char *dsubsys; - const char *modalias = NULL; - -@@ -104,19 +105,24 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device - - modalias = udev_device_get_property_value(d, "MODALIAS"); - -- /* the usb_device does not have a modalias, compose one */ -- if (!modalias && streq(dsubsys, "usb")) -- modalias = modalias_usb(d, s, sizeof(s)); -+ if (streq(dsubsys, "usb") && streq_ptr(udev_device_get_devtype(d), "usb_device")) { -+ /* if the usb_device does not have a modalias, compose one */ -+ if (!modalias) -+ modalias = modalias_usb(d, s, sizeof(s)); -+ -+ /* avoid looking at any parent device, they are usually just a USB hub */ -+ last = true; -+ } - - if (!modalias) - continue; - -- n = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); -- if (n > 0) -+ r = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); -+ if (r > 0) - break; - } - -- return n; -+ return r; - } - - static int builtin_hwdb(struct udev_device *dev, int argc, char *argv[], bool test) { --- -1.7.9.2 - diff --git a/1065-udev-bump-event-timeout-to-60-seconds.patch b/1065-udev-bump-event-timeout-to-60-seconds.patch deleted file mode 100644 index aae4da95..00000000 --- a/1065-udev-bump-event-timeout-to-60-seconds.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 2e92633dbae52f5ac9b7b2e068935990d475d2cd Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 30 Aug 2014 11:36:32 +0200 -Subject: [PATCH] udev: bump event timeout to 60 seconds - ---- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 8486049..809adb6 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { - goto out; - } - -- udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); -diff --git src/udev/udevd.c src/udev/udevd.c -index 9c2b0d5..e72c5b2 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -73,7 +73,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static usec_t event_timeout_usec = 30 * USEC_PER_SEC; -+static usec_t event_timeout_usec = 60 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); --- -1.7.9.2 - diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch index 3bb4d407..e08ad9f8 100644 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch @@ -18,8 +18,10 @@ Signed-off-by: Jeff Mahoney src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ 4 files changed, 32 insertions(+), 7 deletions(-) ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules +Index: systemd/rules/60-persistent-storage.rules +=================================================================== +--- systemd.orig/rules/60-persistent-storage.rules ++++ systemd/rules/60-persistent-storage.rules @@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" @@ -31,9 +33,11 @@ Signed-off-by: Jeff Mahoney # firewire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" ---- a/src/udev/scsi_id/scsi_id.c -+++ b/src/udev/scsi_id/scsi_id.c -@@ -44,6 +44,7 @@ static const struct option options[] = { +Index: systemd/src/udev/scsi_id/scsi_id.c +=================================================================== +--- systemd.orig/src/udev/scsi_id/scsi_id.c ++++ systemd/src/udev/scsi_id/scsi_id.c +@@ -43,6 +43,7 @@ static const struct option options[] = { { "replace-whitespace", no_argument, NULL, 'u' }, { "sg-version", required_argument, NULL, 's' }, { "verbose", no_argument, NULL, 'v' }, @@ -41,24 +45,24 @@ Signed-off-by: Jeff Mahoney { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ { "export", no_argument, NULL, 'x' }, { "help", no_argument, NULL, 'h' }, -@@ -56,6 +57,7 @@ static char config_file[MAX_PATH_LEN] = +@@ -54,6 +55,7 @@ static bool dev_specified = false; + static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config"; static enum page_code default_page_code = PAGE_UNSPECIFIED; static int sg_version = 4; - static int debug = 0; +static bool compat_truncated = false; static bool reformat_serial = false; static bool export = false; static char vendor_str[64]; -@@ -323,6 +325,7 @@ static void help(void) { - " -g,--whitelisted threat device as whitelisted\n" - " -u,--replace-whitespace replace all whitespace by underscores\n" - " -v,--verbose verbose logging\n" +@@ -316,6 +318,7 @@ static void help(void) { + " -g --whitelisted Treat device as whitelisted\n" + " -u --replace-whitespace Replace all whitespace by underscores\n" + " -v --verbose Verbose logging\n" + " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" - " --version print version\n" - " -x,--export print values as environment keys\n" - " -h,--help print this help text\n\n"); -@@ -393,6 +396,10 @@ static int set_options(struct udev *udev - debug++; + " -x --export Print values as environment keys\n" + , program_invocation_short_name); + +@@ -387,6 +390,10 @@ static int set_options(struct udev *udev + log_open(); break; + case '9': @@ -68,7 +72,7 @@ Signed-off-by: Jeff Mahoney case 'V': printf("%s\n", VERSION); exit(0); -@@ -535,6 +542,9 @@ static int scsi_id(struct udev *udev, ch +@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); util_replace_chars(serial_str, NULL); printf("ID_SERIAL=%s\n", serial_str); @@ -78,7 +82,7 @@ Signed-off-by: Jeff Mahoney util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); util_replace_chars(serial_str, NULL); printf("ID_SERIAL_SHORT=%s\n", serial_str); -@@ -565,7 +575,10 @@ static int scsi_id(struct udev *udev, ch +@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch if (reformat_serial) { char serial_str[MAX_SERIAL_LEN]; @@ -90,8 +94,10 @@ Signed-off-by: Jeff Mahoney util_replace_chars(serial_str, NULL); printf("%s\n", serial_str); goto out; ---- a/src/udev/scsi_id/scsi_id.h -+++ b/src/udev/scsi_id/scsi_id.h +Index: systemd/src/udev/scsi_id/scsi_id.h +=================================================================== +--- systemd.orig/src/udev/scsi_id/scsi_id.h ++++ systemd/src/udev/scsi_id/scsi_id.h @@ -43,6 +43,7 @@ struct scsi_id_device { char kernel[64]; char serial[MAX_SERIAL_LEN]; @@ -100,9 +106,11 @@ Signed-off-by: Jeff Mahoney int use_sg; /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ ---- a/src/udev/scsi_id/scsi_serial.c -+++ b/src/udev/scsi_id/scsi_serial.c -@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a +Index: systemd/src/udev/scsi_id/scsi_serial.c +=================================================================== +--- systemd.orig/src/udev/scsi_id/scsi_serial.c ++++ systemd/src/udev/scsi_id/scsi_serial.c +@@ -96,7 +96,8 @@ static const char hex_str[]="0123456789a static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -112,7 +120,7 @@ Signed-off-by: Jeff Mahoney static int sg_err_category_new(struct udev *udev, int scsi_status, int msg_status, int -@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct +@@ -619,7 +620,7 @@ static int do_scsi_page83_inquiry(struct unsigned char page_83[SCSI_INQ_BUFF_LEN]; /* also pick up the page 80 serial number */ @@ -121,7 +129,7 @@ Signed-off-by: Jeff Mahoney memzero(page_83, SCSI_INQ_BUFF_LEN); retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir +@@ -764,7 +765,8 @@ static int do_scsi_page83_prespc3_inquir /* Get unit serial number VPD page */ static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -131,7 +139,7 @@ Signed-off-by: Jeff Mahoney { int retval; int ser_ind; -@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct +@@ -798,9 +800,14 @@ static int do_scsi_page80_inquiry(struct ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); if (ser_ind < 0) return 1; @@ -147,7 +155,7 @@ Signed-off-by: Jeff Mahoney } if (serial_short != NULL) { memcpy(serial_short, &buf[4], len); -@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, +@@ -876,7 +883,7 @@ int scsi_get_serial(struct udev *udev, return 1; if (page_code == PAGE_80) { @@ -156,7 +164,7 @@ Signed-off-by: Jeff Mahoney retval = 1; goto completed; } else { -@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, +@@ -950,7 +957,7 @@ int scsi_get_serial(struct udev *udev, for (ind = 4; ind <= page0[3] + 3; ind++) if (page0[ind] == PAGE_80) if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, diff --git a/1067-udev-always-resolve-correctly-database-names-on-chan.patch b/1067-udev-always-resolve-correctly-database-names-on-chan.patch deleted file mode 100644 index 9fdc9c68..00000000 --- a/1067-udev-always-resolve-correctly-database-names-on-chan.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 368082520b25722575783f06879fb5fc2e4c219c Mon Sep 17 00:00:00 2001 -From: Robert Milasan -Date: Sat, 13 Sep 2014 15:18:37 +0200 -Subject: [PATCH] udev: always resolve correctly database names on 'change' - event - -Signed-off-by: Robert Milasan ---- - src/libudev/libudev-device.c | 2 +- - src/libudev/libudev-private.h | 1 + - src/udev/udev-event.c | 1 + - 3 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c -index d61a2ad..2699374 100644 ---- a/src/libudev/libudev-device.c -+++ b/src/libudev/libudev-device.c -@@ -161,7 +161,7 @@ _public_ dev_t udev_device_get_devnum(struct udev_device *udev_device) - return udev_device->devnum; - } - --static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) -+int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) - { - char num[32]; - -diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h -index 35ea7ba..05a6410 100644 ---- a/src/libudev/libudev-private.h -+++ b/src/libudev/libudev-private.h -@@ -59,6 +59,7 @@ uid_t udev_device_get_devnode_uid(struct udev_device *udev_device); - gid_t udev_device_get_devnode_gid(struct udev_device *udev_device); - int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); - int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); -+int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum); - int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); - void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); - struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value); -diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c -index e8d6676..2cf0763 100644 ---- a/src/udev/udev-event.c -+++ b/src/udev/udev-event.c -@@ -812,6 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, - if (event->dev_db != NULL) { - udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); - udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); -+ udev_device_set_devnum(event->dev_db, udev_device_get_devnum(dev)); - udev_device_read_db(event->dev_db, NULL); - udev_device_set_info_loaded(event->dev_db); - --- -1.8.4.5 - diff --git a/1068-udev-net_setup_link-export-the-.link-filename-applie.patch b/1068-udev-net_setup_link-export-the-.link-filename-applie.patch deleted file mode 100644 index e0f7039c..00000000 --- a/1068-udev-net_setup_link-export-the-.link-filename-applie.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ad6e5b348fa88f44d6cbfe7aabda7612a1d0463f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 8 Sep 2014 14:00:58 +0200 -Subject: [PATCH] udev: net_setup_link - export the .link filename applied to - the link - ---- - src/udev/udev-builtin-net_setup_link.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c -index 6207269..14351de 100644 ---- src/udev/udev-builtin-net_setup_link.c -+++ src/udev/udev-builtin-net_setup_link.c -@@ -57,6 +57,8 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv - return EXIT_FAILURE; - } - -+ udev_builtin_add_property(dev, test, "ID_NET_LINK_FILE", link->filename); -+ - if (name) - udev_builtin_add_property(dev, test, "ID_NET_NAME", name); - --- -1.7.9.2 - diff --git a/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch b/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch deleted file mode 100644 index 7f7d24aa..00000000 --- a/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e4d7c49050769877c7f10184bbe2a1e77d0b5333 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 8 Sep 2014 17:16:24 +0200 -Subject: [PATCH] rules: net-setup-link - preserve ID_NET_LINK_FILE and - ID_NET_NAME after MOVE - ---- - rules/80-net-setup-link.rules | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules -index f390fcb..27c43b9 100644 ---- rules/80-net-setup-link.rules -+++ rules/80-net-setup-link.rules -@@ -4,7 +4,8 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" - - IMPORT{builtin}="path_id" - --ACTION=="move", IMPORT{db}="ID_NET_DRIVER" -+ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", -+IMPORT{db}="ID_NET_NAME" - - ACTION!="add", GOTO="net_setup_link_end" - --- -1.7.9.2 - diff --git a/1070-rules-net-setup-link-remove-stray-linebreak.patch b/1070-rules-net-setup-link-remove-stray-linebreak.patch deleted file mode 100644 index f389aa8c..00000000 --- a/1070-rules-net-setup-link-remove-stray-linebreak.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 52e231b04635400292179cf51b30d7d9b6323fb2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Mon, 8 Sep 2014 22:53:39 +0300 -Subject: [PATCH] rules: net-setup-link - remove stray linebreak - -If not backslash-escaped, it splits the rule in two. ---- - rules/80-net-setup-link.rules | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules -index 27c43b9..4207694 100644 ---- rules/80-net-setup-link.rules -+++ rules/80-net-setup-link.rules -@@ -4,8 +4,7 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" - - IMPORT{builtin}="path_id" - --ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", --IMPORT{db}="ID_NET_NAME" -+ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" - - ACTION!="add", GOTO="net_setup_link_end" - --- -1.7.9.2 - diff --git a/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch b/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch deleted file mode 100644 index f821d890..00000000 --- a/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +++ /dev/null @@ -1,54 +0,0 @@ -From b081b27e1433cdc7ac72b25ae8b4db887d79187f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 9 Sep 2014 12:23:19 +0200 -Subject: [PATCH] udev: import the full db on MOVE events for devices without - dev_t - ---- - rules/80-net-setup-link.rules | 2 -- - src/udev/udev-event.c | 16 ++++++++++++++++ - 2 files changed, 16 insertions(+), 2 deletions(-) - -diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules -index 4207694..6e411a9 100644 ---- rules/80-net-setup-link.rules -+++ rules/80-net-setup-link.rules -@@ -4,8 +4,6 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" - - IMPORT{builtin}="path_id" - --ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" -- - ACTION!="add", GOTO="net_setup_link_end" - - IMPORT{builtin}="net_setup_link" -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 00cd6d4..18b92ca 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -805,6 +805,22 @@ void udev_event_execute_rules(struct udev_event *event, - udev_watch_end(event->udev, event->dev_db); - } - -+ if (major(udev_device_get_devnum(dev)) == 0 && -+ streq(udev_device_get_action(dev), "move")) { -+ struct udev_list_entry *entry; -+ -+ for ((entry = udev_device_get_properties_list_entry(event->dev_db)); entry; entry = udev_list_entry_get_next(entry)) { -+ const char *key, *value; -+ struct udev_list_entry *property; -+ -+ key = udev_list_entry_get_name(entry); -+ value = udev_list_entry_get_value(entry); -+ -+ property = udev_device_add_property(event->dev, key, value); -+ udev_list_entry_set_num(property, true); -+ } -+ } -+ - udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - /* rename a new network interface, if needed */ --- -1.7.9.2 - diff --git a/1072-udev-netif_rename-don-t-log-to-kmsg.patch b/1072-udev-netif_rename-don-t-log-to-kmsg.patch deleted file mode 100644 index 2a5cebd2..00000000 --- a/1072-udev-netif_rename-don-t-log-to-kmsg.patch +++ /dev/null @@ -1,39 +0,0 @@ -Based on 1187f20655de0c37337ea73e1e55823b83cd7c00 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 9 Sep 2014 22:45:03 +0200 -Subject: [PATCH] udev: netif_rename - don't log to kmsg - -As of 3.17, the kernel will do this on its own, so just do regular log_debug() logging from udev. ---- - src/udev/udev-event.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- src/udev/udev-event.c -+++ src/udev/udev-event.c 2014-09-16 08:52:36.154735794 +0000 -@@ -770,7 +770,7 @@ static int rename_netif(struct udev_even - - r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); - if (r == 0) { -- print_kmsg("renamed network interface %s to %s\n", oldname, name); -+ log_debug("renamed network interface %s to %s", oldname, name); - return r; - } else if (r != -EEXIST) { - log_error("error changing net interface name %s to %s: %s", -@@ -789,7 +789,7 @@ static int rename_netif(struct udev_even - } - - /* log temporary name */ -- print_kmsg("renamed network interface %s to %s\n", oldname, interim); -+ log_debug("renamed network interface %s to %s", oldname, interim); - - loop = 90 * 20; - while (loop--) { -@@ -798,7 +798,7 @@ static int rename_netif(struct udev_even - - r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); - if (r == 0) { -- print_kmsg("renamed network interface %s to %s\n", interim, name); -+ log_debug("renamed network interface %s to %s", interim, name); - break; - } - diff --git a/1073-udev-drop-print_kmsg.patch b/1073-udev-drop-print_kmsg.patch deleted file mode 100644 index 27aaa6e3..00000000 --- a/1073-udev-drop-print_kmsg.patch +++ /dev/null @@ -1,75 +0,0 @@ -Based on 9d19a679f23c7a72c326cbbbf44e0c9f423dec5d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 9 Sep 2014 22:48:07 +0200 -Subject: [PATCH] udev - drop print_kmsg - -The only remaining user was 'starting version XXX', which is now logged using log_info(). ---- - src/libudev/libudev-private.h | 1 - - src/libudev/libudev-util.c | 25 ------------------------- - src/udev/udevd.c | 2 +- - 3 files changed, 1 insertion(+), 27 deletions(-) - -diff --git src/libudev/libudev-private.h src/libudev/libudev-private.h -index ae97557..cd1c1fb 100644 ---- src/libudev/libudev-private.h -+++ src/libudev/libudev-private.h -@@ -170,6 +170,5 @@ int util_delete_path(struct udev *udev, const char *path); - uid_t util_lookup_user(struct udev *udev, const char *user); - gid_t util_lookup_group(struct udev *udev, const char *group); - int util_resolve_subsys_kernel(struct udev *udev, const char *string, char *result, size_t maxsize, int read_value); --ssize_t print_kmsg(const char *fmt, ...) _printf_(1, 2); - - #endif ---- src/libudev/libudev-util.c -+++ src/libudev/libudev-util.c 2014-09-16 08:56:01.862736270 +0000 -@@ -422,33 +422,3 @@ static int parse_proc_cmdline_word(const - - return 0; - } -- --ssize_t print_kmsg(const char *fmt, ...) --{ -- _cleanup_close_ int fd = -1; -- va_list ap; -- char text[1024]; -- ssize_t len; -- ssize_t ret; -- -- if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -- fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); -- } else { -- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -- } -- -- if (fd < 0) -- return -errno; -- -- len = snprintf(text, sizeof(text), "<30>systemd-udevd[%u]: ", getpid()); -- -- va_start(ap, fmt); -- len += vsnprintf(text + len, sizeof(text) - len, fmt, ap); -- va_end(ap); -- -- ret = write(fd, text, len); -- if (ret < 0) -- return -errno; -- -- return ret; --} -diff --git src/udev/udevd.c src/udev/udevd.c -index be0acc3..b023b6e 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -1200,7 +1200,7 @@ int main(int argc, char *argv[]) { - sd_notify(1, "READY=1"); - } - -- print_kmsg("starting version " VERSION "\n"); -+ log_info("starting version " VERSION "\n"); - - if (!debug) { - int fd; --- -1.7.9.2 - diff --git a/1074-udev-fix-copy-paste-error-in-log-message.patch b/1074-udev-fix-copy-paste-error-in-log-message.patch deleted file mode 100644 index a617451f..00000000 --- a/1074-udev-fix-copy-paste-error-in-log-message.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ec3281d3b681b002dfe1a4bea0532a504e37557a Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 10 Sep 2014 07:59:22 +0200 -Subject: [PATCH] udev: fix copy-paste error in log message - ---- - src/udev/udev-rules.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index cc56215..6de7511 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -1323,7 +1323,7 @@ static int add_rule(struct udev_rules *rules, char *line, - if (cmd < UDEV_BUILTIN_MAX) - rule_add_key(&rule_tmp, TK_A_RUN_BUILTIN, op, value, &cmd); - else -- log_error("IMPORT{builtin}: '%s' unknown %s:%u", value, filename, lineno); -+ log_error("RUN{builtin}: '%s' unknown %s:%u", value, filename, lineno); - } else if (streq(attr, "program")) { - enum udev_builtin_cmd cmd = UDEV_BUILTIN_MAX; - --- -1.7.9.2 - diff --git a/1075-udev-timeout-increase-timeout.patch b/1075-udev-timeout-increase-timeout.patch deleted file mode 100644 index 08f6daeb..00000000 --- a/1075-udev-timeout-increase-timeout.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b5338a19864ac3f5632aee48069a669479621dca Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 10 Sep 2014 10:56:26 +0200 -Subject: [PATCH] udev: timeout - increase timeout - -Some kernel modules still take more than one minute to insmod, we no longer rely on the timeout -killing insmod within a given period of time, so just bump this to a much higher value. Its only -purpose is to make sure that nothing stays aronud forever. ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index b023b6e..a7f8cbd 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,7 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static usec_t event_timeout_usec = 60 * USEC_PER_SEC; -+static usec_t event_timeout_usec = 180 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); --- -1.7.9.2 - diff --git a/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch deleted file mode 100644 index 4345f929..00000000 --- a/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +++ /dev/null @@ -1,350 +0,0 @@ -Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 11 Sep 2014 18:49:04 +0200 -Subject: [PATCH] udev: timeout - warn after a third of the timeout before - killing - ---- - src/test/test-udev.c | 4 ++-- - src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- - src/udev/udev-rules.c | 8 +++++--- - src/udev/udev.h | 9 ++++++--- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- - 6 files changed, 71 insertions(+), 32 deletions(-) - -diff --git src/test/test-udev.c src/test/test-udev.c -index 566a73a..f085262 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -- udev_event_execute_run(event, USEC_PER_SEC, NULL); -+ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index a883edc..e8d6676 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -541,6 +541,7 @@ out: - - static int spawn_wait(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; -@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, - - while (pid > 0) { - int timeout; -+ int timeout_warn = 0; - int fdcount; - - if (timeout_usec > 0) { -@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; - if (age_usec >= timeout_usec) - timeout = 1000; -- else -- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ else { -+ if (timeout_warn_usec > 0) -+ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ -+ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ } - } else { - timeout = -1; - } - -- fdcount = poll(pfd, 1, timeout); -+ fdcount = poll(pfd, 1, timeout_warn); - if (fdcount < 0) { - if (errno == EINTR) - continue; -@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, - goto out; - } - if (fdcount == 0) { -- log_error("timeout: killing '%s' [%u]", cmd, pid); -- kill(pid, SIGKILL); -+ log_warning("slow: '%s' [%u]", cmd, pid); -+ -+ fdcount = poll(pfd, 1, timeout); -+ if (fdcount < 0) { -+ if (errno == EINTR) -+ continue; -+ err = -errno; -+ log_error("failed to poll: %m"); -+ goto out; -+ } -+ if (fdcount == 0) { -+ log_error("timeout: killing '%s' [%u]", cmd, pid); -+ kill(pid, SIGKILL); -+ } - } - - if (pfd[0].revents & POLLIN) { -@@ -654,6 +672,7 @@ out: - - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize) { - struct udev *udev = event->udev; -@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, - outpipe[READ_END], errpipe[READ_END], - result, ressize); - -- err = spawn_wait(event, timeout_usec, cmd, pid); -+ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); - } - - out: -@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { - - void udev_event_execute_rules(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - -@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9514dde..db95442 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - - static int import_program_into_properties(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; -@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -1862,6 +1863,7 @@ enum escape_type { - int udev_rules_apply_to_event(struct udev_rules *rules, - struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const sigset_t *sigmask) { - struct token *cur; - struct token *rule; -@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index ed01da3..765ba9e 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -73,7 +73,8 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 809adb6..4738b61 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { - goto out; - } - -- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 -@@ -75,6 +75,7 @@ static int children; - static int children_max; - static int exec_delay; - static usec_t event_timeout_usec = 180 * USEC_PER_SEC; -+static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -129,6 +130,7 @@ struct worker { - enum worker_state state; - struct event *event; - usec_t event_start_usec; -+ bool event_warned; - }; - - /* passed from worker to main process */ -@@ -314,9 +316,9 @@ static void worker_new(struct event *eve - } - - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -410,6 +412,7 @@ out: - worker->pid = pid; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - worker->event = event; - event->state = EVENT_RUNNING; - udev_list_node_append(&worker->node, &worker_list); -@@ -441,6 +444,7 @@ static void event_run(struct event *even - worker->event = event; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - event->state = EVENT_RUNNING; - return; - } -@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { - event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - } - - free(s); -@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { - break; - case 't': - event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - break; - case 'D': - debug = true; -@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { - /* check for hanging events */ - udev_list_node_foreach(loop, &worker_list) { - struct worker *worker = node_to_worker(loop); -+ usec_t ts; - - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -- kill(worker->pid, SIGKILL); -- worker->state = WORKER_KILLED; -- -- /* drop reference taken for state 'running' */ -- worker_unref(worker); -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event); -- worker->event = NULL; -+ ts = now(CLOCK_MONOTONIC); -+ -+ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { -+ if ((ts - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -+ kill(worker->pid, SIGKILL); -+ worker->state = WORKER_KILLED; -+ -+ /* drop reference taken for state 'running' */ -+ worker_unref(worker); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event); -+ worker->event = NULL; -+ } else if (!worker->event_warned) { -+ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); -+ worker->event_warned = true; -+ } - } - } - --- -1.7.9.2 - diff --git a/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch deleted file mode 100644 index 57b2d699..00000000 --- a/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +++ /dev/null @@ -1,350 +0,0 @@ -Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 11 Sep 2014 18:49:04 +0200 -Subject: [PATCH] udev: timeout - warn after a third of the timeout before - killing - ---- - src/test/test-udev.c | 4 ++-- - src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- - src/udev/udev-rules.c | 8 +++++--- - src/udev/udev.h | 9 ++++++--- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- - 6 files changed, 71 insertions(+), 32 deletions(-) - -diff --git src/test/test-udev.c src/test/test-udev.c -index 566a73a..f085262 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -- udev_event_execute_run(event, USEC_PER_SEC, NULL); -+ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index a883edc..e8d6676 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -541,6 +541,7 @@ out: - - static int spawn_wait(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; -@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, - - while (pid > 0) { - int timeout; -+ int timeout_warn = 0; - int fdcount; - - if (timeout_usec > 0) { -@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; - if (age_usec >= timeout_usec) - timeout = 1000; -- else -- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ else { -+ if (timeout_warn_usec > 0) -+ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ -+ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ } - } else { - timeout = -1; - } - -- fdcount = poll(pfd, 1, timeout); -+ fdcount = poll(pfd, 1, timeout_warn); - if (fdcount < 0) { - if (errno == EINTR) - continue; -@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, - goto out; - } - if (fdcount == 0) { -- log_error("timeout: killing '%s' [%u]", cmd, pid); -- kill(pid, SIGKILL); -+ log_warning("slow: '%s' [%u]", cmd, pid); -+ -+ fdcount = poll(pfd, 1, timeout); -+ if (fdcount < 0) { -+ if (errno == EINTR) -+ continue; -+ err = -errno; -+ log_error("failed to poll: %m"); -+ goto out; -+ } -+ if (fdcount == 0) { -+ log_error("timeout: killing '%s' [%u]", cmd, pid); -+ kill(pid, SIGKILL); -+ } - } - - if (pfd[0].revents & POLLIN) { -@@ -654,6 +672,7 @@ out: - - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize) { - struct udev *udev = event->udev; -@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, - outpipe[READ_END], errpipe[READ_END], - result, ressize); - -- err = spawn_wait(event, timeout_usec, cmd, pid); -+ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); - } - - out: -@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { - - void udev_event_execute_rules(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - -@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9514dde..db95442 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - - static int import_program_into_properties(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; -@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -1862,6 +1863,7 @@ enum escape_type { - int udev_rules_apply_to_event(struct udev_rules *rules, - struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const sigset_t *sigmask) { - struct token *cur; - struct token *rule; -@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index ed01da3..765ba9e 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -73,7 +73,8 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 809adb6..4738b61 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { - goto out; - } - -- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 -@@ -75,6 +75,7 @@ static int children; - static int children_max; - static int exec_delay; - static usec_t event_timeout_usec = 180 * USEC_PER_SEC; -+static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -129,6 +130,7 @@ struct worker { - enum worker_state state; - struct event *event; - usec_t event_start_usec; -+ bool event_warned; - }; - - /* passed from worker to main process */ -@@ -314,9 +316,9 @@ static void worker_new(struct event *eve - } - - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -410,6 +412,7 @@ out: - worker->pid = pid; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - worker->event = event; - event->state = EVENT_RUNNING; - udev_list_node_append(&worker->node, &worker_list); -@@ -441,6 +444,7 @@ static void event_run(struct event *even - worker->event = event; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - event->state = EVENT_RUNNING; - return; - } -@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { - event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - } - - free(s); -@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { - break; - case 't': - event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - break; - case 'D': - debug = true; -@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { - /* check for hanging events */ - udev_list_node_foreach(loop, &worker_list) { - struct worker *worker = node_to_worker(loop); -+ usec_t ts; - - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -- kill(worker->pid, SIGKILL); -- worker->state = WORKER_KILLED; -- -- /* drop reference taken for state 'running' */ -- worker_unref(worker); -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event, true); -- worker->event = NULL; -+ ts = now(CLOCK_MONOTONIC); -+ -+ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { -+ if ((ts - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -+ kill(worker->pid, SIGKILL); -+ worker->state = WORKER_KILLED; -+ -+ /* drop reference taken for state 'running' */ -+ worker_unref(worker); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event, true); -+ worker->event = NULL; -+ } else if (!worker->event_warned) { -+ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); -+ worker->event_warned = true; -+ } - } - } - --- -1.7.9.2 - diff --git a/1078-udev-remove-userspace-firmware-loading-support.patch b/1078-udev-remove-userspace-firmware-loading-support.patch deleted file mode 100644 index 42e0af98..00000000 --- a/1078-udev-remove-userspace-firmware-loading-support.patch +++ /dev/null @@ -1,349 +0,0 @@ -From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 30 Aug 2014 11:34:20 +0200 -Subject: [PATCH] udev: remove userspace firmware loading support - ---- - Makefile.am | 12 --- - README | 9 +-- - TODO | 1 - - configure.ac | 20 ----- - src/udev/udev-builtin-firmware.c | 154 --------------------------------------- - src/udev/udev-builtin.c | 3 - - src/udev/udev.h | 6 -- - src/udev/udevd.c | 13 ---- - -Index: systemd-210/configure.ac -=================================================================== ---- systemd-210.orig/configure.ac -+++ systemd-210/configure.ac -@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th - fi - - # ------------------------------------------------------------------------------ --AC_ARG_WITH(firmware-path, -- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], -- [Firmware search path (default="")]), -- [], [with_firmware_path=""]) --OLD_IFS=$IFS --IFS=: --for i in $with_firmware_path; do -- if test "x${FIRMWARE_PATH}" = "x"; then -- FIRMWARE_PATH="\\\"${i}/\\\"" -- else -- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" -- fi --done --IFS=$OLD_IFS --AC_SUBST(FIRMWARE_PATH) --AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) --AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) -- --# ------------------------------------------------------------------------------ - AC_ARG_ENABLE([gudev], - AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), - [], [enable_gudev=yes]) -@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ - Build Python: ${PYTHON} - Installation Python: ${PYTHON_BINARY} - sphinx binary: ${SPHINX_BUILD} -- firmware path: ${FIRMWARE_PATH} - PAM modules dir: ${with_pamlibdir} - PAM configuration dir: ${with_pamconfdir} - D-Bus policy dir: ${with_dbuspolicydir} -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ - $(BLKID_LIBS) \ - $(KMOD_LIBS) - --libudev_core_la_CPPFLAGS = \ -- $(AM_CPPFLAGS) \ -- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" -- --if ENABLE_FIRMWARE --libudev_core_la_SOURCES += \ -- src/udev/udev-builtin-firmware.c -- --dist_udevrules_DATA += \ -- rules/50-firmware.rules --endif -- - if HAVE_KMOD - libudev_core_la_SOURCES += \ - src/udev/udev-builtin-kmod.c -Index: systemd-210/README -=================================================================== ---- systemd-210.orig/README -+++ systemd-210/README -@@ -51,14 +51,14 @@ REQUIREMENTS: - - Linux kernel >= 3.8 for Smack support - -- Udev will fail to work with the legacy layout: -+ Udev will fail to work with the legacy sysfs layout: - CONFIG_SYSFS_DEPRECATED=n - - Legacy hotplug slows down the system and confuses udev: - CONFIG_UEVENT_HELPER_PATH="" - -- Userspace firmware loading is deprecated, will go away, and -- sometimes causes problems: -+ Userspace firmware loading is not supported and should -+ be disabled in the kernel - CONFIG_FW_LOADER_USER_HELPER=n - - Some udev rules and virtualization detection relies on it: -Index: systemd-210/src/udev/udev-builtin.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin.c -+++ systemd-210/src/udev/udev-builtin.c -@@ -34,9 +34,6 @@ static const struct udev_builtin *builti - [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, - #endif - [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, --#ifdef HAVE_FIRMWARE -- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, --#endif - [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, - [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, - [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, -Index: systemd-210/src/udev/udev-builtin-firmware.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-firmware.c -+++ /dev/null -@@ -1,157 +0,0 @@ --/* -- * firmware - Kernel firmware loader -- * -- * Copyright (C) 2009 Piter Punk -- * Copyright (C) 2009-2011 Kay Sievers -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, but -- * WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * General Public License for more details:* -- */ -- --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#include "udev.h" -- --static bool set_loading(struct udev *udev, char *loadpath, const char *state) --{ -- FILE *ldfile; -- -- ldfile = fopen(loadpath, "we"); -- if (ldfile == NULL) { -- log_error("error: can not open '%s'", loadpath); -- return false; -- }; -- fprintf(ldfile, "%s\n", state); -- fclose(ldfile); -- return true; --} -- --static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) --{ -- char *buf; -- FILE *fsource = NULL, *ftarget = NULL; -- bool ret = false; -- -- buf = malloc(size); -- if (buf == NULL) { -- log_error("No memory available to load firmware file"); -- return false; -- } -- -- log_debug("writing '%s' (%zi) to '%s'", source, size, target); -- -- fsource = fopen(source, "re"); -- if (fsource == NULL) -- goto exit; -- ftarget = fopen(target, "we"); -- if (ftarget == NULL) -- goto exit; -- if (fread(buf, size, 1, fsource) != 1) -- goto exit; -- if (fwrite(buf, size, 1, ftarget) == 1) -- ret = true; --exit: -- if (ftarget != NULL) -- fclose(ftarget); -- if (fsource != NULL) -- fclose(fsource); -- free(buf); -- return ret; --} -- --static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) --{ -- struct udev *udev = udev_device_get_udev(dev); -- static const char *searchpath[] = { FIRMWARE_PATH }; -- char loadpath[UTIL_PATH_SIZE]; -- char datapath[UTIL_PATH_SIZE]; -- char fwpath[UTIL_PATH_SIZE]; -- const char *firmware; -- FILE *fwfile = NULL; -- struct utsname kernel; -- struct stat statbuf; -- unsigned int i; -- int rc = EXIT_SUCCESS; -- -- firmware = udev_device_get_property_value(dev, "FIRMWARE"); -- if (firmware == NULL) { -- log_error("firmware parameter missing"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- /* lookup firmware file */ -- uname(&kernel); -- for (i = 0; i < ELEMENTSOF(searchpath); i++) { -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- } -- -- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); -- -- if (fwfile == NULL) { -- log_debug("did not find firmware file '%s'", firmware); -- rc = EXIT_FAILURE; -- /* -- * Do not cancel the request in the initrd, the real root might have -- * the firmware file and the 'coldplug' run in the real root will find -- * this pending request and fulfill or cancel it. -- * */ -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- goto exit; -- } -- -- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- if (!set_loading(udev, loadpath, "1")) -- goto exit; -- -- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); -- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { -- log_error("error sending firmware '%s' to device", firmware); -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- }; -- -- set_loading(udev, loadpath, "0"); --exit: -- if (fwfile) -- fclose(fwfile); -- return rc; --} -- --const struct udev_builtin udev_builtin_firmware = { -- .name = "firmware", -- .cmd = builtin_firmware, -- .help = "kernel firmware loader", -- .run_once = true, --}; -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -100,9 +100,6 @@ struct event { - dev_t devnum; - int ifindex; - bool is_block; --#ifdef HAVE_FIRMWARE -- bool nodelay; --#endif - }; - - static inline struct event *node_to_event(struct udev_list_node *node) -@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude - event->devnum = udev_device_get_devnum(dev); - event->is_block = streq("block", udev_device_get_subsystem(dev)); - event->ifindex = udev_device_get_ifindex(dev); --#ifdef HAVE_FIRMWARE -- if (streq(udev_device_get_subsystem(dev), "firmware")) -- event->nodelay = true; --#endif - - udev_queue_export_device_queued(udev_queue_export, dev); - log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), -@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event - return true; - } - --#ifdef HAVE_FIRMWARE -- /* allow to bypass the dependency tracking */ -- if (event->nodelay) -- continue; --#endif -- - /* parent device event found */ - if (event->devpath[common] == '/') { - event->delaying_seqnum = loop_event->seqnum; -Index: systemd-210/src/udev/udev.h -=================================================================== ---- systemd-210.orig/src/udev/udev.h -+++ systemd-210/src/udev/udev.h -@@ -141,9 +141,6 @@ enum udev_builtin_cmd { - UDEV_BUILTIN_BLKID, - #endif - UDEV_BUILTIN_BTRFS, --#ifdef HAVE_FIRMWARE -- UDEV_BUILTIN_FIRMWARE, --#endif - UDEV_BUILTIN_HWDB, - UDEV_BUILTIN_INPUT_ID, - UDEV_BUILTIN_KEYBOARD, -@@ -172,9 +169,6 @@ struct udev_builtin { - extern const struct udev_builtin udev_builtin_blkid; - #endif - extern const struct udev_builtin udev_builtin_btrfs; --#ifdef HAVE_FIRMWARE --extern const struct udev_builtin udev_builtin_firmware; --#endif - extern const struct udev_builtin udev_builtin_hwdb; - extern const struct udev_builtin udev_builtin_input_id; - extern const struct udev_builtin udev_builtin_keyboard; -Index: systemd-210/TODO -=================================================================== ---- systemd-210.orig/TODO -+++ systemd-210/TODO -@@ -541,7 +541,6 @@ Features: - * ExecOnFailure=/usr/bin/foo - - * udev: -- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) - - move to LGPL - - kill scsi_id - - add trigger --subsystem-match=usb/usb_device device - diff --git a/1079-udev-remove-userspace-firmware-loading-support.patch b/1079-udev-remove-userspace-firmware-loading-support.patch deleted file mode 100644 index 37a5e752..00000000 --- a/1079-udev-remove-userspace-firmware-loading-support.patch +++ /dev/null @@ -1,349 +0,0 @@ -From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 30 Aug 2014 11:34:20 +0200 -Subject: [PATCH] udev: remove userspace firmware loading support - ---- - Makefile.am | 12 --- - README | 9 +-- - TODO | 1 - - configure.ac | 20 ----- - src/udev/udev-builtin-firmware.c | 154 --------------------------------------- - src/udev/udev-builtin.c | 3 - - src/udev/udev.h | 6 -- - src/udev/udevd.c | 13 ---- - -Index: systemd-210/configure.ac -=================================================================== ---- systemd-210.orig/configure.ac -+++ systemd-210/configure.ac -@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th - fi - - # ------------------------------------------------------------------------------ --AC_ARG_WITH(firmware-path, -- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], -- [Firmware search path (default="")]), -- [], [with_firmware_path=""]) --OLD_IFS=$IFS --IFS=: --for i in $with_firmware_path; do -- if test "x${FIRMWARE_PATH}" = "x"; then -- FIRMWARE_PATH="\\\"${i}/\\\"" -- else -- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" -- fi --done --IFS=$OLD_IFS --AC_SUBST(FIRMWARE_PATH) --AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) --AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) -- --# ------------------------------------------------------------------------------ - AC_ARG_ENABLE([gudev], - AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), - [], [enable_gudev=yes]) -@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ - Build Python: ${PYTHON} - Installation Python: ${PYTHON_BINARY} - sphinx binary: ${SPHINX_BUILD} -- firmware path: ${FIRMWARE_PATH} - PAM modules dir: ${with_pamlibdir} - PAM configuration dir: ${with_pamconfdir} - D-Bus policy dir: ${with_dbuspolicydir} -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ - $(BLKID_LIBS) \ - $(KMOD_LIBS) - --libudev_core_la_CPPFLAGS = \ -- $(AM_CPPFLAGS) \ -- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" -- --if ENABLE_FIRMWARE --libudev_core_la_SOURCES += \ -- src/udev/udev-builtin-firmware.c -- --dist_udevrules_DATA += \ -- rules/50-firmware.rules --endif -- - if HAVE_KMOD - libudev_core_la_SOURCES += \ - src/udev/udev-builtin-kmod.c -Index: systemd-210/README -=================================================================== ---- systemd-210.orig/README -+++ systemd-210/README -@@ -51,14 +51,14 @@ REQUIREMENTS: - - Linux kernel >= 3.8 for Smack support - -- Udev will fail to work with the legacy layout: -+ Udev will fail to work with the legacy sysfs layout: - CONFIG_SYSFS_DEPRECATED=n - - Legacy hotplug slows down the system and confuses udev: - CONFIG_UEVENT_HELPER_PATH="" - -- Userspace firmware loading is deprecated, will go away, and -- sometimes causes problems: -+ Userspace firmware loading is not supported and should -+ be disabled in the kernel - CONFIG_FW_LOADER_USER_HELPER=n - - Some udev rules and virtualization detection relies on it: -Index: systemd-210/src/udev/udev-builtin.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin.c -+++ systemd-210/src/udev/udev-builtin.c -@@ -34,9 +34,6 @@ static const struct udev_builtin *builti - [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, - #endif - [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, --#ifdef HAVE_FIRMWARE -- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, --#endif - [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, - [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, - [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, -Index: systemd-210/src/udev/udev-builtin-firmware.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-firmware.c -+++ /dev/null -@@ -1,157 +0,0 @@ --/* -- * firmware - Kernel firmware loader -- * -- * Copyright (C) 2009 Piter Punk -- * Copyright (C) 2009-2011 Kay Sievers -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, but -- * WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * General Public License for more details:* -- */ -- --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#include "udev.h" -- --static bool set_loading(struct udev *udev, char *loadpath, const char *state) --{ -- FILE *ldfile; -- -- ldfile = fopen(loadpath, "we"); -- if (ldfile == NULL) { -- log_error("error: can not open '%s'", loadpath); -- return false; -- }; -- fprintf(ldfile, "%s\n", state); -- fclose(ldfile); -- return true; --} -- --static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) --{ -- char *buf; -- FILE *fsource = NULL, *ftarget = NULL; -- bool ret = false; -- -- buf = malloc(size); -- if (buf == NULL) { -- log_error("No memory available to load firmware file"); -- return false; -- } -- -- log_debug("writing '%s' (%zi) to '%s'", source, size, target); -- -- fsource = fopen(source, "re"); -- if (fsource == NULL) -- goto exit; -- ftarget = fopen(target, "we"); -- if (ftarget == NULL) -- goto exit; -- if (fread(buf, size, 1, fsource) != 1) -- goto exit; -- if (fwrite(buf, size, 1, ftarget) == 1) -- ret = true; --exit: -- if (ftarget != NULL) -- fclose(ftarget); -- if (fsource != NULL) -- fclose(fsource); -- free(buf); -- return ret; --} -- --static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) --{ -- struct udev *udev = udev_device_get_udev(dev); -- static const char *searchpath[] = { FIRMWARE_PATH }; -- char loadpath[UTIL_PATH_SIZE]; -- char datapath[UTIL_PATH_SIZE]; -- char fwpath[UTIL_PATH_SIZE]; -- const char *firmware; -- FILE *fwfile = NULL; -- struct utsname kernel; -- struct stat statbuf; -- unsigned int i; -- int rc = EXIT_SUCCESS; -- -- firmware = udev_device_get_property_value(dev, "FIRMWARE"); -- if (firmware == NULL) { -- log_error("firmware parameter missing"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- /* lookup firmware file */ -- uname(&kernel); -- for (i = 0; i < ELEMENTSOF(searchpath); i++) { -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- } -- -- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); -- -- if (fwfile == NULL) { -- log_debug("did not find firmware file '%s'", firmware); -- rc = EXIT_FAILURE; -- /* -- * Do not cancel the request in the initrd, the real root might have -- * the firmware file and the 'coldplug' run in the real root will find -- * this pending request and fulfill or cancel it. -- * */ -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- goto exit; -- } -- -- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- if (!set_loading(udev, loadpath, "1")) -- goto exit; -- -- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); -- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { -- log_error("error sending firmware '%s' to device", firmware); -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- }; -- -- set_loading(udev, loadpath, "0"); --exit: -- if (fwfile) -- fclose(fwfile); -- return rc; --} -- --const struct udev_builtin udev_builtin_firmware = { -- .name = "firmware", -- .cmd = builtin_firmware, -- .help = "kernel firmware loader", -- .run_once = true, --}; -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -100,9 +100,6 @@ struct event { - dev_t devnum; - int ifindex; - bool is_block; --#ifdef HAVE_FIRMWARE -- bool nodelay; --#endif - }; - - static inline struct event *node_to_event(struct udev_list_node *node) -@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude - event->devnum = udev_device_get_devnum(dev); - event->is_block = streq("block", udev_device_get_subsystem(dev)); - event->ifindex = udev_device_get_ifindex(dev); --#ifdef HAVE_FIRMWARE -- if (streq(udev_device_get_subsystem(dev), "firmware")) -- event->nodelay = true; --#endif - - log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), - udev_device_get_action(dev), udev_device_get_subsystem(dev)); -@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event - return true; - } - --#ifdef HAVE_FIRMWARE -- /* allow to bypass the dependency tracking */ -- if (event->nodelay) -- continue; --#endif -- - /* parent device event found */ - if (event->devpath[common] == '/') { - event->delaying_seqnum = loop_event->seqnum; -Index: systemd-210/src/udev/udev.h -=================================================================== ---- systemd-210.orig/src/udev/udev.h -+++ systemd-210/src/udev/udev.h -@@ -141,9 +141,6 @@ enum udev_builtin_cmd { - UDEV_BUILTIN_BLKID, - #endif - UDEV_BUILTIN_BTRFS, --#ifdef HAVE_FIRMWARE -- UDEV_BUILTIN_FIRMWARE, --#endif - UDEV_BUILTIN_HWDB, - UDEV_BUILTIN_INPUT_ID, - UDEV_BUILTIN_KEYBOARD, -@@ -172,9 +169,6 @@ struct udev_builtin { - extern const struct udev_builtin udev_builtin_blkid; - #endif - extern const struct udev_builtin udev_builtin_btrfs; --#ifdef HAVE_FIRMWARE --extern const struct udev_builtin udev_builtin_firmware; --#endif - extern const struct udev_builtin udev_builtin_hwdb; - extern const struct udev_builtin udev_builtin_input_id; - extern const struct udev_builtin udev_builtin_keyboard; -Index: systemd-210/TODO -=================================================================== ---- systemd-210.orig/TODO -+++ systemd-210/TODO -@@ -541,7 +541,6 @@ Features: - * ExecOnFailure=/usr/bin/foo - - * udev: -- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) - - move to LGPL - - kill scsi_id - - add trigger --subsystem-match=usb/usb_device device - diff --git a/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch b/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch deleted file mode 100644 index a623b566..00000000 --- a/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +++ /dev/null @@ -1,73 +0,0 @@ -Based on 6f5cf8a8b1de763383f7382821147e538b7dbd6d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:02:03 +0200 -Subject: [PATCH] udevd: parse_argv - warn if argumens are invalid - -Found by Coverity. Fixes CID #1238780. ---- - src/udev/udevd.c | 34 ++++++++++++++++++++++++++-------- - 1 file changed, 26 insertions(+), 8 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-19 10:36:25.602735652 +0000 -@@ -1002,11 +1002,20 @@ static void kernel_cmdline_options(struc - log_set_max_level(prio); - udev_set_log_priority(udev, prio); - } else if (startswith(opt, "udev.children-max=")) { -- children_max = strtoul(opt + 18, NULL, 0); -+ r = safe_atoi(opt + 18, &children_max); -+ if (r < 0) -+ log_warning("Invalid udev.children-max ignored: %s", opt + 18); - } else if (startswith(opt, "udev.exec-delay=")) { -- exec_delay = strtoul(opt + 16, NULL, 0); -+ r = safe_atoi(opt + 16, &exec_delay); -+ if (r < 0) -+ log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); - } else if (startswith(opt, "udev.event-timeout=")) { -- event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; -+ r = safe_atou64(opt + 16, &event_timeout_usec); -+ if (r < 0) { -+ log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); -+ break; -+ } -+ event_timeout_usec *= USEC_PER_SEC; - event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - } - -@@ -1052,7 +1061,7 @@ int main(int argc, char *argv[]) { - label_init("/dev"); - - for (;;) { -- int option; -+ int option, r; - - option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); - if (option == -1) -@@ -1063,14 +1072,23 @@ int main(int argc, char *argv[]) { - daemonize = true; - break; - case 'c': -- children_max = strtoul(optarg, NULL, 0); -+ r = safe_atoi(optarg, &children_max); -+ if (r < 0) -+ log_warning("Invalid --children-max ignored: %s", optarg); - break; - case 'e': -- exec_delay = strtoul(optarg, NULL, 0); -+ r = safe_atoi(optarg, &exec_delay); -+ if (r < 0) -+ log_warning("Invalid --exec-delay ignored: %s", optarg); - break; - case 't': -- event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; -- event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; -+ r = safe_atou64(optarg, &event_timeout_usec); -+ if (r < 0) -+ log_warning("Invalig --event-timeout ignored: %s", optarg); -+ else { -+ event_timeout_usec *= USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; -+ } - break; - case 'D': - debug = true; diff --git a/1081-udevd-check-return-of-various-functions.patch b/1081-udevd-check-return-of-various-functions.patch deleted file mode 100644 index 819e4499..00000000 --- a/1081-udevd-check-return-of-various-functions.patch +++ /dev/null @@ -1,55 +0,0 @@ -Based on d457ff8319b1e7c522c146f75e272f1226f4720c Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:07:02 +0200 -Subject: [PATCH] udevd: check return of various functions - -One reported by Coverity. Fixes CID #996252. ---- - src/udev/udevd.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-19 11:33:21.566236309 +0000 -@@ -1044,7 +1044,7 @@ int main(int argc, char *argv[]) { - int fd_worker = -1; - struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker; - struct udev_ctrl_connection *ctrl_conn = NULL; -- int rc = 1; -+ int rc = 1, r; - - udev = udev_new(); - if (udev == NULL) -@@ -1058,7 +1058,11 @@ int main(int argc, char *argv[]) { - log_set_max_level(udev_get_log_priority(udev)); - - log_debug("version %s", VERSION); -- label_init("/dev"); -+ r = label_init("/dev"); -+ if (r < 0) { -+ log_error("could not initialize labelling: %s", strerror(-r)); -+ goto exit; -+ } - - for (;;) { - int option, r; -@@ -1137,10 +1141,18 @@ int main(int argc, char *argv[]) { - } - - /* set umask before creating any file/directory */ -- chdir("/"); -+ r = chdir("/"); -+ if (r < 0) { -+ log_error("could not change dir to /: %m"); -+ goto exit; -+ } - umask(022); - -- mkdir("/run/udev", 0755); -+ r = mkdir("/run/udev", 0755); -+ if (r < 0) { -+ log_error("could not create /run/udev: %m"); -+ goto exit; -+ } - - dev_setup(NULL); - diff --git a/1082-udevadm-hwdb-check-return-value-of-fseeko.patch b/1082-udevadm-hwdb-check-return-value-of-fseeko.patch deleted file mode 100644 index 27e6dc45..00000000 --- a/1082-udevadm-hwdb-check-return-value-of-fseeko.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f901aaadd68050bc575c1c15b84f8f31fd4d494d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:16:54 +0200 -Subject: [PATCH] udevadm: hwdb - check return value of fseeko() - -Fonud by Coverity. Fixes CID #996255. ---- - src/udev/udevadm-hwdb.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git src/udev/udevadm-hwdb.c src/udev/udevadm-hwdb.c -index 65cbf61..64273fb 100644 ---- src/udev/udevadm-hwdb.c -+++ src/udev/udevadm-hwdb.c -@@ -365,7 +365,12 @@ static int trie_store(struct trie *trie, const char *filename) { - fchmod(fileno(t.f), 0444); - - /* write nodes */ -- fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); -+ err = fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); -+ if (err < 0) { -+ fclose(t.f); -+ unlink_noerrno(filename_tmp); -+ return -errno; -+ } - root_off = trie_store_nodes(&t, trie->root); - h.nodes_root_off = htole64(root_off); - pos = ftello(t.f); -@@ -378,7 +383,12 @@ static int trie_store(struct trie *trie, const char *filename) { - /* write header */ - size = ftello(t.f); - h.file_size = htole64(size); -- fseeko(t.f, 0, SEEK_SET); -+ err = fseeko(t.f, 0, SEEK_SET); -+ if (err < 0) { -+ fclose(t.f); -+ unlink_noerrno(filename_tmp); -+ return -errno; -+ } - fwrite(&h, sizeof(struct trie_header_f), 1, t.f); - err = ferror(t.f); - if (err) --- -1.7.9.2 - diff --git a/1083-udev-node-warn-if-chmod-chown-fails.patch b/1083-udev-node-warn-if-chmod-chown-fails.patch deleted file mode 100644 index 0b78f626..00000000 --- a/1083-udev-node-warn-if-chmod-chown-fails.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 543afdc63c02a5af3cf6bd2a264162f23474346a Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:22:09 +0200 -Subject: [PATCH] udev: node - warn if chmod/chown fails - -No functional change, just log the warning. - -Fonud by Coverity. Fixes CID #1237544. ---- - src/udev/udev-node.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git src/udev/udev-node.c src/udev/udev-node.c -index c164603..8ef7889 100644 ---- src/udev/udev-node.c -+++ src/udev/udev-node.c -@@ -281,8 +281,12 @@ static int node_permissions_apply(struct udev_device *dev, bool apply, - - if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) { - log_debug("set permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); -- chmod(devnode, mode); -- chown(devnode, uid, gid); -+ err = chmod(devnode, mode); -+ if (err < 0) -+ log_warning("setting mode of %s to %#o failed: %m", devnode, mode); -+ err = chown(devnode, uid, gid); -+ if (err < 0) -+ log_warning("setting owner of %s to uid=%u, gid=%u failed: %m", devnode, uid, gid); - } else { - log_debug("preserve permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); - } --- -1.7.9.2 - diff --git a/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch b/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch deleted file mode 100644 index 1e8f4fcf..00000000 --- a/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +++ /dev/null @@ -1,45 +0,0 @@ -Based on 4bbdff757ed4e718a3348b93439a03055cc5e3bc Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:26:11 +0200 -Subject: [PATCH] udev: ctrl - log if setting SO_PASSCRED fails - -No functional change. - -Found by Coverity. Fixes CID #1237533. ---- - src/udev/udev-ctrl.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- src/udev/udev-ctrl.c -+++ src/udev/udev-ctrl.c 2014-09-19 10:45:55.494236229 +0000 -@@ -74,6 +74,7 @@ struct udev_ctrl *udev_ctrl_new_from_fd( - { - struct udev_ctrl *uctrl; - const int on = 1; -+ int r; - - uctrl = new0(struct udev_ctrl, 1); - if (uctrl == NULL) -@@ -92,7 +93,9 @@ struct udev_ctrl *udev_ctrl_new_from_fd( - uctrl->bound = true; - uctrl->sock = fd; - } -- setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ r = setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ if (r < 0) -+ log_warning("could not set SO_PASSCRED: %m"); - - uctrl->saddr.sun_family = AF_LOCAL; - strscpy(uctrl->saddr.sun_path, sizeof(uctrl->saddr.sun_path), "/run/udev/control"); -@@ -209,7 +212,10 @@ struct udev_ctrl_connection *udev_ctrl_g - } - - /* enable receiving of the sender credentials in the messages */ -- setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ if (r < 0) -+ log_warning("colud not set SO_PASSCRED: %m"); -+ - udev_ctrl_ref(uctrl); - return conn; - err: diff --git a/1085-udev-fix-typos.patch b/1085-udev-fix-typos.patch deleted file mode 100644 index f6476200..00000000 --- a/1085-udev-fix-typos.patch +++ /dev/null @@ -1,33 +0,0 @@ -Based on 65fea570f03df51dadc06a3e0d261a71fe62aa01 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 20:25:33 +0200 -Subject: [PATCH] udev: fix typos - -Spotted by Andreas Henriksson. ---- - src/udev/udev-ctrl.c | 2 +- - src/udev/udevd.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- src/udev/udev-ctrl.c -+++ src/udev/udev-ctrl.c 2014-09-19 00:00:00.000000000 +0000 -@@ -214,7 +214,7 @@ struct udev_ctrl_connection *udev_ctrl_g - /* enable receiving of the sender credentials in the messages */ - r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); - if (r < 0) -- log_warning("colud not set SO_PASSCRED: %m"); -+ log_warning("could not set SO_PASSCRED: %m"); - - udev_ctrl_ref(uctrl); - return conn; ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-19 10:47:36.306235720 +0000 -@@ -1088,7 +1088,7 @@ int main(int argc, char *argv[]) { - case 't': - r = safe_atou64(optarg, &event_timeout_usec); - if (r < 0) -- log_warning("Invalig --event-timeout ignored: %s", optarg); -+ log_warning("Invalid --event-timeout ignored: %s", optarg); - else { - event_timeout_usec *= USEC_PER_SEC; - event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; diff --git a/1086-udevd-don-t-fail-if-run-udev-exists.patch b/1086-udevd-don-t-fail-if-run-udev-exists.patch deleted file mode 100644 index 7f574d6a..00000000 --- a/1086-udevd-don-t-fail-if-run-udev-exists.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 25773e7fc59b4ce53d67da4e18bfe4d13ab0b14b Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 21:57:49 +0200 -Subject: [PATCH] udevd: don't fail if /run/udev exists - ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index 37db81c..29ccb51 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -1155,7 +1155,7 @@ int main(int argc, char *argv[]) { - umask(022); - - r = mkdir("/run/udev", 0755); -- if (r < 0) { -+ if (r < 0 && errno != EEXIST) { - log_error("could not create /run/udev: %m"); - goto exit; - } --- -1.7.9.2 - diff --git a/1087-infinit-timeout-for-kmod-loaded-modules.patch b/1087-infinit-timeout-for-kmod-loaded-modules.patch deleted file mode 100644 index 4208c21f..00000000 --- a/1087-infinit-timeout-for-kmod-loaded-modules.patch +++ /dev/null @@ -1,135 +0,0 @@ ---- - src/udev/udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - src/udev/udev.h | 1 + - src/udev/udevd.c | 23 +++++++++++++++++++++-- - 3 files changed, 64 insertions(+), 2 deletions(-) - ---- src/udev/udev-event.c -+++ src/udev/udev-event.c 2014-09-24 14:32:53.115639820 +0000 -@@ -959,6 +959,46 @@ void udev_event_execute_rules(struct ude - } - } - -+#ifdef HAVE_KMOD -+static inline void udev_check_and_set_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { -+ char filename[UTIL_PATH_SIZE]; -+ switch (builtin_cmd) { -+ case UDEV_BUILTIN_KMOD: -+ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); -+ touch(filename); -+ default: -+ break; -+ } -+} -+ -+static inline void udev_check_and_unset_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { -+ char filename[UTIL_PATH_SIZE]; -+ switch (builtin_cmd) { -+ case UDEV_BUILTIN_KMOD: -+ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); -+ unlink(filename); -+ default: -+ break; -+ } -+} -+ -+bool udev_check_for_kmod(pid_t pid) { -+ char filename[UTIL_PATH_SIZE]; -+ struct stat st; -+ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)pid); -+ if (stat(filename, &st) == 0) { -+ return true; -+ } -+ return false; -+} -+#else -+# define udev_set_kmod (a,b) -+# define udev_unset_kmod(a,b) -+bool udev_check_for_kmod(pid_t pid) { -+ return false; -+} -+#endif -+ - void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - -@@ -970,7 +1010,9 @@ void udev_event_execute_run(struct udev_ - char command[UTIL_PATH_SIZE]; - - udev_event_apply_format(event, cmd, command, sizeof(command)); -+ udev_check_and_set_kmod(builtin_cmd, event); - udev_builtin_run(event->dev, builtin_cmd, command, false); -+ udev_check_and_unset_kmod(builtin_cmd, event); - } else { - char program[UTIL_PATH_SIZE]; - char **envp; ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-24 15:02:30.895592379 +0000 -@@ -76,6 +76,7 @@ static int children_max; - static int exec_delay; - static usec_t event_timeout_usec = 180 * USEC_PER_SEC; - static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; -+static bool event_killkmod = false; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -1017,6 +1018,12 @@ static void kernel_cmdline_options(struc - } - event_timeout_usec *= USEC_PER_SEC; - event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; -+ } else if (startswith(opt, "udev.killkmod=")) { -+ r = parse_boolean(opt + 14); -+ if (r < 0) -+ log_warning("Invalid udev.killkmod Ignoring: %s", opt + 14); -+ else -+ event_killkmod = r; - } - - free(s); -@@ -1065,7 +1072,7 @@ int main(int argc, char *argv[]) { - } - - for (;;) { -- int option, r; -+ int option; - - option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); - if (option == -1) -@@ -1356,6 +1363,12 @@ int main(int argc, char *argv[]) { - udev_list_node_init(&event_list); - udev_list_node_init(&worker_list); - -+ r = mkdir_p("/run/udev/kmod", 0755); -+ if (r < 0 && errno != EEXIST) { -+ log_error("could not create /run/udev/kmod: %m"); -+ goto exit; -+ } -+ - for (;;) { - static usec_t last_usec; - struct epoll_event ev[8]; -@@ -1440,7 +1453,13 @@ int main(int argc, char *argv[]) { - - if (worker->state != WORKER_RUNNING) - continue; -- -+#ifdef HAVE_KMOD -+ if (udev_check_for_kmod(worker->pid)) { -+ log_debug("worker [%u] %s is using kmod", worker->pid, worker->event->devpath); -+ if (!event_killkmod) -+ continue; -+ } -+#endif - ts = now(CLOCK_MONOTONIC); - - if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { ---- src/udev/udev.h -+++ src/udev/udev.h 2014-09-24 14:33:33.824008084 +0000 -@@ -88,6 +88,7 @@ int udev_event_spawn(struct udev_event * - char *result, size_t ressize); - void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, - struct udev_rules *rules, const sigset_t *sigset); -+bool udev_check_for_kmod(pid_t pid); - void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - diff --git a/1089-fix-cgroup-device-controller.patch b/1089-fix-cgroup-device-controller.patch deleted file mode 100644 index cd68533f..00000000 --- a/1089-fix-cgroup-device-controller.patch +++ /dev/null @@ -1,74 +0,0 @@ -From eb0f0863f5af48865fb4569e2076d5f9e2313995 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 10 Mar 2014 21:36:01 +0100 -Subject: nspawn: don't try mknod() of /dev/console with the correct - major/minor - -We overmount /dev/console with an external pty anyway, hence there's no -point in using the real major/minor when we create the node to -overmount. Instead, use the one of /dev/null now. - -This fixes a race against the cgroup device controller setup we are -using. In case /dev/console was create before the cgroup policy was -applied all was good, but if created in the opposite order the mknod() -would fail, since creating /dev/console is not allowed by it. Creating -/dev/null instances is however permitted, and hence use it. - -diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index d8d0dae..bef866a 100644 ---- a/src/nspawn/nspawn.c -+++ b/src/nspawn/nspawn.c -@@ -879,23 +879,19 @@ static int setup_ptmx(const char *dest) { - } - - static int setup_dev_console(const char *dest, const char *console) { -+ _cleanup_umask_ mode_t u; -+ const char *to; - struct stat st; -- _cleanup_free_ char *to = NULL; - int r; -- _cleanup_umask_ mode_t u; - - assert(dest); - assert(console); - - u = umask(0000); - -- if (stat(console, &st) < 0) { -- log_error("Failed to stat %s: %m", console); -+ if (stat("/dev/null", &st) < 0) { -+ log_error("Failed to stat /dev/null: %m"); - return -errno; -- -- } else if (!S_ISCHR(st.st_mode)) { -- log_error("/dev/console is not a char device"); -- return -EIO; - } - - r = chmod_and_chown(console, 0600, 0, 0); -@@ -904,16 +900,15 @@ static int setup_dev_console(const char *dest, const char *console) { - return r; - } - -- if (asprintf(&to, "%s/dev/console", dest) < 0) -- return log_oom(); -- - /* We need to bind mount the right tty to /dev/console since - * ptys can only exist on pts file systems. To have something -- * to bind mount things on we create a device node first, that -- * has the right major/minor (note that the major minor -- * doesn't actually matter here, since we mount it over -- * anyway). */ -+ * to bind mount things on we create a device node first, and -+ * use /dev/null for that since we the cgroups device policy -+ * allows us to create that freely, while we cannot create -+ * /dev/console. (Note that the major minor doesn't actually -+ * matter here, since we mount it over anyway). */ - -+ to = strappenda(dest, "/dev/console"); - if (mknod(to, (st.st_mode & ~07777) | 0600, st.st_rdev) < 0) { - log_error("mknod() for /dev/console failed: %m"); - return -errno; --- -cgit v0.10.2 - diff --git a/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch b/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch deleted file mode 100644 index 3a3ad550..00000000 --- a/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +++ /dev/null @@ -1,58 +0,0 @@ -Based on cc821d02a37c8c76aaf15bae2d33fee1bdc4b2e0 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 28 Oct 2014 16:50:24 +0100 -Subject: [PATCH] udev: path_id - set supported_parent for well-known SCSI - setups - ---- - src/udev/udev-builtin-path_id.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c 2014-11-03 14:12:48.129956655 +0000 -@@ -379,7 +379,7 @@ out: - return hostdev; - } - --static struct udev_device *handle_scsi(struct udev_device *parent, char **path) -+static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) - { - const char *devtype; - const char *name; -@@ -394,6 +394,7 @@ static struct udev_device *handle_scsi(s - if (id != NULL) { - parent = skip_subsystem(parent, "scsi"); - path_prepend(path, "ieee1394-0x%s", id); -+ *supported_parent = true; - goto out; - } - -@@ -402,16 +403,19 @@ static struct udev_device *handle_scsi(s - - if (strstr(name, "/rport-") != NULL) { - parent = handle_scsi_fibre_channel(parent, path); -+ *supported_parent = true; - goto out; - } - - if (strstr(name, "/end_device-") != NULL) { - parent = handle_scsi_sas(parent, path); -+ *supported_parent = true; - goto out; - } - - if (strstr(name, "/session") != NULL) { - parent = handle_scsi_iscsi(parent, path); -+ *supported_parent = true; - goto out; - } - -@@ -545,7 +549,7 @@ static int builtin_path_id(struct udev_d - } else if (streq(subsys, "scsi_tape")) { - handle_scsi_tape(parent, &path); - } else if (streq(subsys, "scsi")) { -- parent = handle_scsi(parent, &path); -+ parent = handle_scsi(parent, &path, &supported_parent); - supported_transport = true; - } else if (streq(subsys, "cciss")) { - parent = handle_cciss(parent, &path); diff --git a/1091-udev-path_id-update-comments.patch b/1091-udev-path_id-update-comments.patch deleted file mode 100644 index a695f0db..00000000 --- a/1091-udev-path_id-update-comments.patch +++ /dev/null @@ -1,42 +0,0 @@ -From a42cdff19f2d34f12ceca0f40707421a8aaa2c2f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 30 Oct 2014 01:18:34 +0100 -Subject: [PATCH] udev: path_id - update comments - ---- - src/udev/udev-builtin-path_id.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git src/udev/udev-builtin-path_id.c src/udev/udev-builtin-path_id.c -index 0d247f6..df996cb 100644 ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c -@@ -548,9 +548,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool - } - - /* -- * Do return devices with have an unknown type of parent device, they -- * might produce conflicting IDs below multiple independent parent -- * devices. -+ * Do not return devices with an unknown parent device type. They -+ * might produce conflicting IDs if the parent does not provide a -+ * unique and predictable name. - */ - if (!supported_parent) { - free(path); -@@ -558,9 +558,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool - } - - /* -- * Do not return a have-only a single-parent block devices, some -- * have entire hidden buses behind it, and not create predictable -- * IDs that way. -+ * Do not return block devices without a well-known transport. Some -+ * devices do not expose their buses and do not provide a unique -+ * and predictable name that way. - */ - if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { - free(path); --- -1.7.9.2 - diff --git a/1092-libudev-do-not-accept-invalid-log-levels.patch b/1092-libudev-do-not-accept-invalid-log-levels.patch deleted file mode 100644 index 10b78859..00000000 --- a/1092-libudev-do-not-accept-invalid-log-levels.patch +++ /dev/null @@ -1,67 +0,0 @@ -Based on ee7122c0ec6aa11f02e9e8d94254b353f12d2c14 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 1 Nov 2014 12:06:41 -0400 -Subject: [PATCH] libudev: do not accept invalid log levels - -Invalid log levels lead to a assert failure later on. - -https://bugs.freedesktop.org/show_bug.cgi?id=85657 ---- - src/libudev/libudev-util.c | 10 +++++++--- - src/libudev/libudev.c | 19 ++++++++++++++++--- - 2 files changed, 23 insertions(+), 6 deletions(-) - ---- src/libudev/libudev-util.c -+++ src/libudev/libudev-util.c 2014-11-10 11:33:26.269519209 +0000 -@@ -255,9 +255,13 @@ int util_log_priority(const char *priori - char *endptr; - int prio; - -- prio = strtol(priority, &endptr, 10); -- if (endptr[0] == '\0' || isspace(endptr[0])) -- return prio; -+ prio = strtoul(priority, &endptr, 10); -+ if (endptr[0] == '\0' || isspace(endptr[0])) { -+ if (prio >= 0 && prio <= 7) -+ return prio; -+ else -+ return -ERANGE; -+ } - if (startswith(priority, "err")) - return LOG_ERR; - if (startswith(priority, "info")) ---- src/libudev/libudev.c -+++ src/libudev/libudev.c -@@ -193,7 +193,13 @@ _public_ struct udev *udev_new(void) - } - - if (streq(key, "udev_log")) { -- udev_set_log_priority(udev, util_log_priority(val)); -+ int prio; -+ -+ prio = util_log_priority(val); -+ if (prio < 0) -+ udev_err(udev, "/etc/udev/udev.conf:%u: invalid logging level '%s', ignoring.\n", line_nr, val); -+ else -+ udev_set_log_priority(udev, prio); - continue; - } - } -@@ -201,8 +207,15 @@ _public_ struct udev *udev_new(void) - - /* environment overrides config */ - env = secure_getenv("UDEV_LOG"); -- if (env != NULL) -- udev_set_log_priority(udev, util_log_priority(env)); -+ if (env != NULL) { -+ int prio; -+ -+ prio = util_log_priority(env); -+ if (prio < 0) -+ udev_err(udev, "$UDEV_LOG specifies invalid logging level '%s', ignoring.\n", env); -+ else -+ udev_set_log_priority(udev, prio); -+ } - - return udev; - } diff --git a/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch b/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch deleted file mode 100644 index 5f3bb576..00000000 --- a/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on f671774f52838d35d78e62ddcb781b5b65b3373f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 4 Nov 2014 23:45:15 +0000 -Subject: [PATCH] udev: Fix parsing of udev.event-timeout kernel parameter. - ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-11-10 12:28:20.385559165 +0000 -@@ -1011,9 +1011,9 @@ static void kernel_cmdline_options(struc - if (r < 0) - log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); - } else if (startswith(opt, "udev.event-timeout=")) { -- r = safe_atou64(opt + 16, &event_timeout_usec); -+ r = safe_atou64(opt + 19, &event_timeout_usec); - if (r < 0) { -- log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); -+ log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); - break; - } - event_timeout_usec *= USEC_PER_SEC; diff --git a/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch b/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch deleted file mode 100644 index 3cd42e5c..00000000 --- a/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +++ /dev/null @@ -1,58 +0,0 @@ -Based on cfe2061add5479710f6597899d632e64c54e62ef Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Wed, 5 Nov 2014 12:56:49 +0100 -Subject: [PATCH] udev: avoid magic constants in kernel-cmdline parsers - -Lets recognize the fact that startswith() returns a pointer to the tail on -success. Use it instead of hard-coding string-lengths as magic constants. ---- - src/udev/udevd.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-11-10 12:31:15.745519116 +0000 -@@ -984,7 +984,7 @@ static void kernel_cmdline_options(struc - return; - - FOREACH_WORD_QUOTED(w, l, line, state) { -- char *s, *opt; -+ char *s, *opt, *value; - - s = strndup(w, l); - if (!s) -@@ -996,24 +996,24 @@ static void kernel_cmdline_options(struc - else - opt = s; - -- if (startswith(opt, "udev.log-priority=")) { -+ if ((value = startswith(opt, "udev.log-priority="))) { - int prio; - -- prio = util_log_priority(opt + 18); -+ prio = util_log_priority(value); - log_set_max_level(prio); - udev_set_log_priority(udev, prio); -- } else if (startswith(opt, "udev.children-max=")) { -- r = safe_atoi(opt + 18, &children_max); -+ } else if ((value = startswith(opt, "udev.children-max="))) { -+ r = safe_atoi(value, &children_max); - if (r < 0) -- log_warning("Invalid udev.children-max ignored: %s", opt + 18); -- } else if (startswith(opt, "udev.exec-delay=")) { -- r = safe_atoi(opt + 16, &exec_delay); -+ log_warning("Invalid udev.children-max ignored: %s", value); -+ } else if ((value = startswith(opt, "udev.exec-delay="))) { -+ r = safe_atoi(value, &exec_delay); - if (r < 0) -- log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); -- } else if (startswith(opt, "udev.event-timeout=")) { -- r = safe_atou64(opt + 19, &event_timeout_usec); -+ log_warning("Invalid udev.exec-delay ignored: %s", value); -+ } else if ((value = startswith(opt, "udev.event-timeout="))) { -+ r = safe_atou64(value, &event_timeout_usec); - if (r < 0) { -- log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); -+ log_warning("Invalid udev.event-timeout ignored: %s", value); - break; - } - event_timeout_usec *= USEC_PER_SEC; diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch index 39c4a74a..d9d128f2 100644 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ b/1095-set-ssd-disk-to-use-deadline-scheduler.patch @@ -1,19 +1,24 @@ -Index: systemd-210/Makefile.am +--- + Makefile.am | 1 + + rules/60-ssd-scheduler.rules | 11 +++++++++++ + 2 files changed, 12 insertions(+) + +Index: systemd/Makefile.am =================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2546,6 +2546,7 @@ dist_udevrules_DATA += \ +--- systemd.orig/Makefile.am ++++ systemd/Makefile.am +@@ -3576,6 +3576,7 @@ dist_udevrules_DATA += \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ + rules/60-ssd-scheduler.rules \ rules/64-btrfs.rules \ - rules/75-net-description.rules \ - rules/75-tty-description.rules \ -Index: systemd-210/rules/60-ssd-scheduler.rules + rules/70-mouse.rules \ + rules/70-touchpad.rules \ +Index: systemd/rules/60-ssd-scheduler.rules =================================================================== --- /dev/null -+++ systemd-210/rules/60-ssd-scheduler.rules ++++ systemd/rules/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch index 49c1b2c9..7f09f46e 100644 --- a/1096-new-udev-root-symlink-generator.patch +++ b/1096-new-udev-root-symlink-generator.patch @@ -1,9 +1,16 @@ -Index: systemd-210/Makefile.am +--- + Makefile.am | 19 +++++ + src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++ + units/systemd-udev-root-symlink.service | 10 ++ + units/systemd-udev-root-symlink.service.in | 10 ++ + 4 files changed, 96 insertions(+) + +Index: systemd/Makefile.am =================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2791,6 +2791,25 @@ EXTRA_DIST += \ - test/rule-syntax-check.py +--- systemd.orig/Makefile.am ++++ systemd/Makefile.am +@@ -3862,6 +3862,25 @@ EXTRA_DIST += \ + # ------------------------------------------------------------------------------ +rootsymlink_generator_SOURCES = \ @@ -28,11 +35,11 @@ Index: systemd-210/Makefile.am ata_id_SOURCES = \ src/udev/ata_id/ata_id.c -Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c =================================================================== --- /dev/null -+++ systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c -@@ -0,0 +1,65 @@ ++++ systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c +@@ -0,0 +1,57 @@ +/* + * Copyright (C) 2014-2015 Robert Milasan + * @@ -64,59 +71,36 @@ Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +#define _PATH_ "/run/udev/rules.d" +#define _FILE_ "10-root-symlink.rules" + -+int main() ++int main(void) +{ ++ char filename[BUFFER_SIZE], buf[BUFFER_SIZE]; + struct stat statbuf; ++ int fd; + -+ if (stat(_ROOTDEV_, &statbuf) != 0) ++ if (stat(_ROOTDEV_, &statbuf) < 0) + return 1; -+ -+ if (major(statbuf.st_dev) > 0) { -+ int fd = -1; -+ char filename[BUFFER_SIZE]; -+ -+ if (mkdir(_PATH_, 0755) != 0 && errno != EEXIST) -+ return errno; -+ -+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); -+ -+ if ((fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0644)) == -1) -+ return errno; -+ else { -+ char buf[BUFFER_SIZE]; -+ -+ snprintf(buf, BUFFER_SIZE, "ACTION==\"add|change\", SUBSYSTEM==\"block\", ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", -+ major(statbuf.st_dev), minor(statbuf.st_dev)); -+ -+ if (write(fd, buf, strlen(buf)) == -1) -+ return errno; -+ -+ if (close(fd) == -1) -+ return errno; -+ } -+ } -+ ++ if (major(statbuf.st_dev) <= 0) ++ return 0; ++ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST) ++ return errno; ++ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); ++ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644); ++ if (fd < 0) ++ return errno; ++ snprintf(buf, BUFFER_SIZE, ++ "ACTION==\"add|change\", SUBSYSTEM==\"block\", " ++ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", ++ major(statbuf.st_dev), minor(statbuf.st_dev)); ++ if (write(fd, buf, strlen(buf)) < 0) ++ return errno; ++ if (close(fd) < 0) ++ return errno; + return 0; +} -Index: systemd-210/units/systemd-udev-root-symlink.service.in +Index: systemd/units/systemd-udev-root-symlink.service =================================================================== --- /dev/null -+++ systemd-210/units/systemd-udev-root-symlink.service.in -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=@udevlibexec@/rootsymlink-generator -Index: systemd-210/units/systemd-udev-root-symlink.service -=================================================================== ---- /dev/null -+++ systemd-210/units/systemd-udev-root-symlink.service ++++ systemd/units/systemd-udev-root-symlink.service @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink @@ -128,3 +112,18 @@ Index: systemd-210/units/systemd-udev-root-symlink.service +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/lib/udev/rootsymlink-generator +Index: systemd/units/systemd-udev-root-symlink.service.in +=================================================================== +--- /dev/null ++++ systemd/units/systemd-udev-root-symlink.service.in +@@ -0,0 +1,10 @@ ++[Unit] ++Description=Rule generator for /dev/root symlink ++Before=systemd-udevd.service ++DefaultDependencies=no ++ConditionPathIsReadWrite=/run/udev ++ ++[Service] ++Type=oneshot ++RemainAfterExit=yes ++ExecStart=@udevlibexec@/rootsymlink-generator diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index 50bbc56f..486be9b2 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -1,22 +1,26 @@ -Index: systemd-210/src/udev/udevd.c +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-218/src/udev/udevd.c =================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -454,7 +454,7 @@ static void event_run(struct event *even +--- systemd-218.orig/src/udev/udevd.c ++++ systemd-218/src/udev/udevd.c +@@ -446,7 +446,7 @@ static void event_run(struct event *even - if (children >= children_max) { - if (children_max > 1) + if (children >= arg_children_max) { + if (arg_children_max > 1) - log_debug("maximum number (%i) of children reached", children); + log_error("maximum number (%i) of children reached", children); return; } -@@ -1277,7 +1277,7 @@ int main(int argc, char *argv[]) { - children_max = 8; +@@ -1265,7 +1265,7 @@ int main(int argc, char *argv[]) { + arg_children_max = 8; if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { -- children_max += CPU_COUNT(&cpu_set) * 2; -+ children_max += CPU_COUNT(&cpu_set) * 64; +- arg_children_max += CPU_COUNT(&cpu_set) * 2; ++ arg_children_max += CPU_COUNT(&cpu_set) * 64; } } - log_debug("set children_max to %u", children_max); + log_debug("set children_max to %u", arg_children_max); diff --git a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch deleted file mode 100644 index 6772f650..00000000 --- a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch +++ /dev/null @@ -1,154 +0,0 @@ -Based on 04b67d49254d956d31bcfe80340fb9df7ed332d3 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 15 Jul 2014 17:57:43 +0200 -Subject: [PATCH] udev: link_setup - respect kernel name assign policy - -Newer kernels export meta-information about the origin of an ifname. Respect this -from the ifname rename logic. We do not rename any interfaces that was originally -named by userspace, nor once which have already been renamed from userspace. - -Moreover, we optionally do not (the default) rename interfaces which the kernel -claims to have named in a predictable way. ---- - man/udev.xml | 13 ++++++++++- - network/99-default.link | 2 - - src/shared/missing.h | 21 +++++++++++++++++ - src/udev/net/link-config.c | 53 +++++++++++++++++++++++++++++++++++++-------- - src/udev/net/link-config.h | 1 - 5 files changed, 79 insertions(+), 11 deletions(-) - -Index: man/udev.xml -=================================================================== ---- man/udev.xml.orig -+++ man/udev.xml -@@ -914,10 +914,12 @@ - successful one is used. The name is not set directly, but - is exported to udev as the property ID_NET_NAME, - which is, by default, used by a udev rule to set -- NAME. The available policies are: -+ NAME. If the name has already -+ been set by userspace, no renaming is performed. -+ The available policies are: - - -- -+ - database - - The name is set based on entries in the Hardware -Index: src/shared/missing.h -=================================================================== ---- src/shared/missing.h.orig -+++ src/shared/missing.h -@@ -362,3 +362,24 @@ static inline int setns(int fd, int nsty - return syscall(__NR_setns, fd, nstype); - } - #endif -+ -+#ifndef NET_ADDR_RANDOM -+# define NET_ADDR_RANDOM 1 -+#endif -+ -+#ifndef NET_NAME_ENUM -+# define NET_NAME_ENUM 1 -+#endif -+ -+#ifndef NET_NAME_PREDICTABLE -+# define NET_NAME_PREDICTABLE 2 -+#endif -+ -+#ifndef NET_NAME_USER -+# define NET_NAME_USER 3 -+#endif -+ -+#ifndef NET_NAME_RENAMED -+# define NET_NAME_RENAMED 4 -+#endif -+ -Index: src/udev/net/link-config.c -=================================================================== ---- src/udev/net/link-config.c.orig -+++ src/udev/net/link-config.c -@@ -20,10 +20,11 @@ - ***/ - - #include --#include -+#include - - #include "sd-id128.h" - -+#include "missing.h" - #include "link-config.h" - #include "ethtool-util.h" - -@@ -297,23 +298,30 @@ static bool mac_is_random(struct udev_de - return false; - - /* check for NET_ADDR_RANDOM */ -- return type == 1; -+ return type == NET_ADDR_RANDOM; - } - --static bool mac_is_permanent(struct udev_device *device) { -+static bool should_rename(struct udev_device *device) { - const char *s; - unsigned type; - int r; - -- s = udev_device_get_sysattr_value(device, "addr_assign_type"); -+ s = udev_device_get_sysattr_value(device, "name_assign_type"); - if (!s) -- return true; /* if we don't know, assume it is permanent */ -+ return true; /* if we don't know, assume we should rename */ - r = safe_atou(s, &type); - if (r < 0) - return true; - -- /* check for NET_ADDR_PERM */ -- return type == 0; -+ switch (type) { -+ case NET_NAME_USER: -+ case NET_NAME_RENAMED: -+ return false; /* these were already named by userspace, do not touch again */ -+ case NET_NAME_PREDICTABLE: -+ case NET_NAME_ENUM: -+ default: -+ return true; /* the name is known to be bad, or of an unknown type */ -+ } - } - - #define HASH_KEY SD_ID128_MAKE(d3,1e,48,fa,90,fe,4b,4c,9d,af,d5,d7,a1,b1,2e,8a) -@@ -429,16 +437,16 @@ int link_config_apply(link_config_ctx *c - } - } - -- if (new_name) -- *name = new_name; /* a name was set by a policy */ -- else if (config->name) -- *name = config->name; /* a name was set manually in the config */ -- else -- *name = NULL; -+ if (should_rename(device)) { -+ if (!new_name) -+ /* if not set by policy, fall back manually set name */ -+ new_name = config->name; -+ } else -+ new_name = NULL; - - switch (config->mac_policy) { - case MACPOLICY_PERSISTENT: -- if (!mac_is_permanent(device)) { -+ if (mac_is_random(device)) { - r = get_mac(device, false, &generated_mac); - if (r == -ENOENT) - break; -@@ -467,6 +475,8 @@ int link_config_apply(link_config_ctx *c - return r; - } - -+ *name = new_name; -+ - return 0; - } - diff --git a/513-nspawn-veth.patch b/513-nspawn-veth.patch deleted file mode 100644 index b24ecf6c..00000000 --- a/513-nspawn-veth.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naur systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c ---- systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c 2014-11-19 13:10:23.998310815 +0100 -+++ systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c 2014-12-08 12:03:18.059734333 +0100 -@@ -722,6 +722,7 @@ - - int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) { - uint16_t rtm_type; -+ int r; - - assert_return(m, -EINVAL); - assert_return(!m->sealed, -EPERM); -@@ -729,15 +730,21 @@ - sd_rtnl_message_get_type(m, &rtm_type); - - if (rtnl_message_type_is_link(rtm_type)) { -- - if ((type == IFLA_LINKINFO && m->n_containers == 0) || - (type == IFLA_INFO_DATA && m->n_containers == 1 && -- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) -- return add_rtattr(m, type, NULL, 0); -- else if (type == VETH_INFO_PEER && m->n_containers == 2 && -+ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) { -+ r = add_rtattr(m, type, NULL, 0); -+ if ( r > 0) -+ m->container_offsets[m->n_containers ++] = r; -+ return r; -+ } else if (type == VETH_INFO_PEER && m->n_containers == 2 && - GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA && -- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) -- return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); -+ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) { -+ r = add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); -+ if ( r > 0) -+ m->container_offsets[m->n_containers ++] = r; -+ return r; -+ } - } - - return -ENOTSUP; diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index 8e0a00a7..95c19107 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -5,18 +5,21 @@ Subject: Fix /run/lock directories permissions to follow openSUSE policy disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). --- - tmpfiles.d/legacy.conf | 7 ++++--- + tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf -+++ systemd-206_git201308300826/tmpfiles.d/legacy.conf -@@ -10,12 +10,13 @@ +Index: systemd-218/tmpfiles.d/legacy.conf +=================================================================== +--- systemd-218.orig/tmpfiles.d/legacy.conf ++++ systemd-218/tmpfiles.d/legacy.conf +@@ -10,13 +10,14 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. -d /run/lock 0755 root root - -+# changed for openSUSE : only /run/lock should be available ++# changed for openSUSE: only /run/lock should be available. +d /run/lock 0775 root lock - + L /var/lock - - - - ../run/lock # /run/lock/subsys is used for serializing SysV service execution, and # hence without use on SysV-less systems. @@ -26,7 +29,7 @@ disable /var/lock/{subsys,lockdev} and change default permissions on # /run/lock/lockdev is used to serialize access to tty devices via # LCK..xxx style lock files, For more information see: -@@ -23,7 +24,7 @@ d /run/lock/subsys 0755 root root - +@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root - # On modern systems a BSD file lock is a better choice if # serialization is needed on those devices. diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 0c06b4dc..96de1ed2 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -4,21 +4,23 @@ Subject: Forward suspend / hibernate calls to pm-utils forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) --- - src/sleep/sleep.c | 26 ++++++++++++++++++++++---- - 1 file changed, 22 insertions(+), 4 deletions(-) + src/sleep/sleep.c | 27 ++++++++++++++++++++++----- + 1 file changed, 22 insertions(+), 5 deletions(-) ---- systemd-206.orig/src/sleep/sleep.c -+++ systemd-206/src/sleep/sleep.c +Index: systemd/src/sleep/sleep.c +=================================================================== +--- systemd.orig/src/sleep/sleep.c ++++ systemd/src/sleep/sleep.c @@ -24,6 +24,7 @@ #include #include #include +#include - #include "systemd/sd-id128.h" - #include "systemd/sd-messages.h" -@@ -35,6 +36,8 @@ - #include "sleep-config.h" + #include "sd-id128.h" + #include "sd-messages.h" +@@ -36,6 +37,8 @@ + #include "def.h" static char* arg_verb = NULL; +static bool delegate_to_pmutils = false; @@ -26,36 +28,37 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) static int write_mode(char **modes) { int r = 0; -@@ -50,9 +53,6 @@ static int write_mode(char **modes) { +@@ -53,10 +56,6 @@ static int write_mode(char **modes) { + if (r == 0) r = k; } - +- - if (r < 0) -- log_error("Failed to write mode to /sys/power/disk: %s", -- strerror(-r)); - +- log_error_errno(r, "Failed to write mode to /sys/power/disk: %m"); +- return r; } -@@ -90,6 +90,8 @@ static int execute(char **modes, char ** + +@@ -97,6 +96,8 @@ static int execute(char **modes, char ** + int r; _cleanup_fclose_ FILE *f = NULL; - const char* note = strappenda("SLEEP=", arg_verb); + if (!delegate_to_pmutils) { + /* This file is opened first, so that if we hit an error, * we can abort before modifying any state. */ f = fopen("/sys/power/state", "we"); -@@ -102,6 +104,7 @@ static int execute(char **modes, char ** +@@ -107,6 +108,7 @@ static int execute(char **modes, char ** r = write_mode(modes); if (r < 0) return r; + } - arguments[0] = NULL; - arguments[1] = (char*) "pre"; -@@ -114,8 +117,10 @@ static int execute(char **modes, char ** - "MESSAGE=Suspending system...", - note, + execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments); + +@@ -115,8 +117,10 @@ static int execute(char **modes, char ** + LOG_MESSAGE("Suspending system..."), + "SLEEP=%s", arg_verb, NULL); - + if (!delegate_to_pmutils) @@ -65,7 +68,7 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) if (r < 0) return r; -@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar +@@ -156,6 +160,7 @@ static int parse_argv(int argc, char *ar }; int c; @@ -73,7 +76,7 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) assert(argc >= 0); assert(argv); -@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar +@@ -193,6 +198,18 @@ static int parse_argv(int argc, char *ar return -EINVAL; } diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch deleted file mode 100644 index 41d51bfa..00000000 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ /dev/null @@ -1,140 +0,0 @@ -From: Frederic Crozat -Date: Fri, 12 Apr 2013 16:56:26 +0200 -Subject: Revert "service: drop support for SysV scripts for the early boot" - -This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. - -Conflicts: - src/core/service.c ---- - src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 46 insertions(+), 5 deletions(-) - -Index: systemd-208/src/core/service.c -=================================================================== ---- systemd-208.orig/src/core/service.c -+++ systemd-208/src/core/service.c -@@ -51,7 +51,8 @@ - - typedef enum RunlevelType { - RUNLEVEL_UP, -- RUNLEVEL_DOWN -+ RUNLEVEL_DOWN, -+ RUNLEVEL_SYSINIT - } RunlevelType; - - static const struct { -@@ -66,6 +67,16 @@ static const struct { - { "rc4.d", SPECIAL_RUNLEVEL4_TARGET, RUNLEVEL_UP }, - { "rc5.d", SPECIAL_RUNLEVEL5_TARGET, RUNLEVEL_UP }, - -+#ifdef HAVE_SYSV_COMPAT -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+#endif -+ -+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) -+ /* Debian style rcS.d */ -+ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+#endif -+ - /* Standard SysV runlevels for shutdown */ - { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN }, - { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN } -@@ -74,10 +85,12 @@ static const struct { - directories in this order, and we want to make sure that - sysv_start_priority is known when we first load the - unit. And that value we only know from S links. Hence -- UP must be read before DOWN */ -+ UP/SYSINIT must be read before DOWN */ - }; - - #define RUNLEVELS_UP "12345" -+/* #define RUNLEVELS_DOWN "06" */ -+#define RUNLEVELS_BOOT "bBsS" - #endif - - static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -340,6 +353,9 @@ static char *sysv_translate_name(const c - if (endswith(name, ".sh")) - /* Drop .sh suffix */ - strcpy(stpcpy(r, name) - 3, ".service"); -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ strcpy(stpcpy(r, name + 5), ".service"); - else - /* Normal init script name */ - strcpy(stpcpy(r, name), ".service"); -@@ -942,6 +958,13 @@ static int service_load_sysv_path(Servic - - if ((r = sysv_exec_commands(s, supports_reload)) < 0) - goto finish; -+ if (s->sysv_runlevels && -+ chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels) && -+ chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { -+ /* Service has both boot and "up" runlevels -+ configured. Kill the "up" ones. */ -+ delete_chars(s->sysv_runlevels, RUNLEVELS_UP); -+ } - - if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { - /* If there a runlevels configured for this service -@@ -1023,6 +1046,9 @@ static int service_load_sysv_name(Servic - if (endswith(name, ".sh.service")) - return -ENOENT; - -+ if (startswith(name, "boot.")) -+ return -ENOENT; -+ - STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { - char *path; - int r; -@@ -1043,6 +1069,18 @@ static int service_load_sysv_name(Servic - } - free(path); - -+ if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) { -+ /* Try SUSE style boot.* init scripts */ -+ -+ path = strjoin(*p, "/boot.", name, NULL); -+ if (!path) -+ return -ENOMEM; -+ -+ /* Drop .service suffix */ -+ path[strlen(path)-8] = 0; -+ r = service_load_sysv_path(s, path); -+ free(path); -+ } - if (r < 0) - return r; - -@@ -3574,7 +3612,7 @@ static int service_enumerate(Manager *m) - - if (de->d_name[0] == 'S') { - -- if (rcnd_table[i].type == RUNLEVEL_UP) { -+ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) { - SERVICE(service)->sysv_start_priority_from_rcnd = - MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); - -@@ -3591,7 +3629,8 @@ static int service_enumerate(Manager *m) - goto finish; - - } else if (de->d_name[0] == 'K' && -- (rcnd_table[i].type == RUNLEVEL_DOWN)) { -+ (rcnd_table[i].type == RUNLEVEL_DOWN || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { - - r = set_ensure_allocated(&shutdown_services, - trivial_hash_func, trivial_compare_func); -@@ -3631,7 +3670,9 @@ static int service_enumerate(Manager *m) - * runlevels we assume the stop jobs will be implicitly added - * by the core logic. Also, we don't really distinguish here - * between the runlevels 0 and 6 and just add them to the -- * special shutdown target. */ -+ * special shutdown target. On SUSE the boot.d/ runlevel is -+ * also used for shutdown, so we add links for that too to the -+ * shutdown target.*/ - SET_FOREACH(service, shutdown_services, j) { - service = unit_follow_merge(service); - diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch deleted file mode 100644 index 04afafb9..00000000 --- a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Ludwig Nussel -Date: Mon, 26 Nov 2012 09:49:42 +0100 -Subject: avoid assertion if invalid address familily is passed to - gethostbyaddr_r (bnc#791101) - ---- - src/nss-myhostname/nss-myhostname.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c -+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c -@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb - uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; - const char *canonical = NULL, *additional = NULL; - -+ if (af != AF_INET && af != AF_INET6) { -+ *errnop = EAFNOSUPPORT; -+ *h_errnop = NO_DATA; -+ return NSS_STATUS_UNAVAIL; -+ } -+ - if (len != PROTO_ADDRESS_SIZE(af)) { - *errnop = EINVAL; - *h_errnop = NO_RECOVERY; diff --git a/avoid-leaking-socket-descriptors.patch b/avoid-leaking-socket-descriptors.patch deleted file mode 100644 index d65d1196..00000000 --- a/avoid-leaking-socket-descriptors.patch +++ /dev/null @@ -1,339 +0,0 @@ -Based on 249968612f16a71df909d6e73785c18a9ff36a65 -with src/core/dbus.c as well and corrected systemctl -error messages for killing a unit. - ---- - src/analyze/analyze.c | 2 +- - src/bus-proxyd/bus-proxyd.c | 4 +--- - src/cgroups-agent/cgroups-agent.c | 4 +--- - src/core/dbus.c | 2 +- - src/fsck/fsck.c | 2 +- - src/hostname/hostnamectl.c | 2 +- - src/hostname/hostnamed.c | 4 ++-- - src/libsystemd/sd-bus/bus-util.h | 9 +++++++++ - src/libsystemd/sd-bus/busctl.c | 2 +- - src/locale/localectl.c | 2 +- - src/locale/localed.c | 4 ++-- - src/login/inhibit.c | 2 +- - src/login/loginctl.c | 2 +- - src/login/pam-module.c | 4 ++-- - src/machine/machinectl.c | 4 ++-- - src/nspawn/nspawn.c | 4 ++-- - src/run/run.c | 2 +- - src/systemctl/systemctl.c | 2 +- - src/timedate/timedatectl.c | 2 +- - src/timedate/timedated.c | 4 ++-- - 20 files changed, 34 insertions(+), 29 deletions(-) - ---- src/analyze/analyze.c -+++ src/analyze/analyze.c 2014-10-21 11:13:56.113045992 +0000 -@@ -1264,7 +1264,7 @@ static int parse_argv(int argc, char *ar - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/bus-proxyd/bus-proxyd.c -+++ src/bus-proxyd/bus-proxyd.c 2014-10-21 11:16:16.303837968 +0000 -@@ -427,7 +427,7 @@ static int patch_sender(sd_bus *a, sd_bu - - int main(int argc, char *argv[]) { - -- _cleanup_bus_unref_ sd_bus *a = NULL, *b = NULL; -+ _cleanup_bus_close_unref_ sd_bus *a = NULL, *b = NULL; - sd_id128_t server_id; - int r, in_fd, out_fd; - bool got_hello = false; -@@ -777,8 +777,6 @@ int main(int argc, char *argv[]) { - r = 0; - - finish: -- sd_bus_flush(a); -- sd_bus_flush(b); - - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } ---- src/cgroups-agent/cgroups-agent.c -+++ src/cgroups-agent/cgroups-agent.c 2014-10-21 11:17:37.400197469 +0000 -@@ -26,7 +26,7 @@ - #include "bus-util.h" - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - if (argc != 2) { -@@ -62,7 +62,5 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- sd_bus_flush(bus); -- - return EXIT_SUCCESS; - } ---- src/core/dbus.c -+++ src/core/dbus.c 2014-10-17 09:52:47.000000000 +0000 -@@ -639,7 +639,7 @@ static int bus_setup_disconnected_match( - } - - static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void *userdata) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - _cleanup_close_ int nfd = -1; - Manager *m = userdata; - sd_id128_t id; ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-10-21 11:18:06.003838037 +0000 -@@ -45,7 +45,7 @@ static bool arg_show_progress = false; - - static void start_target(const char *target) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(target); ---- src/hostname/hostnamectl.c -+++ src/hostname/hostnamectl.c 2014-10-21 11:18:19.915858156 +0000 -@@ -468,7 +468,7 @@ static int hostnamectl_main(sd_bus *bus, - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/hostname/hostnamed.c -+++ src/hostname/hostnamed.c 2014-10-21 11:24:07.737447673 +0000 -@@ -566,7 +566,7 @@ static const sd_bus_vtable hostname_vtab - }; - - static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(c); -@@ -607,7 +607,7 @@ int main(int argc, char *argv[]) { - Context context = {}; - - _cleanup_event_unref_ sd_event *event = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_set_target(LOG_TARGET_AUTO); ---- src/libsystemd/sd-bus/bus-util.h -+++ src/libsystemd/sd-bus/bus-util.h 2014-10-17 09:51:34.000000000 +0000 -@@ -137,11 +137,20 @@ typedef struct UnitInfo { - - int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u); - -+static inline void sd_bus_close_unrefp(sd_bus **bus) { -+ if (*bus) { -+ sd_bus_flush(*bus); -+ sd_bus_close(*bus); -+ sd_bus_unref(*bus); -+ } -+} -+ - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, sd_bus_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_message*, sd_bus_message_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_creds*, sd_bus_creds_unref); - - #define _cleanup_bus_unref_ _cleanup_(sd_bus_unrefp) -+#define _cleanup_bus_close_unref_ _cleanup_(sd_bus_close_unrefp) - #define _cleanup_bus_message_unref_ _cleanup_(sd_bus_message_unrefp) - #define _cleanup_bus_creds_unref_ _cleanup_(sd_bus_creds_unrefp) - #define _cleanup_bus_error_free_ _cleanup_(sd_bus_error_free) ---- src/libsystemd/sd-bus/busctl.c -+++ src/libsystemd/sd-bus/busctl.c 2014-10-21 11:19:01.472337887 +0000 -@@ -484,7 +484,7 @@ static int busctl_main(sd_bus *bus, int - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_parse_environment(); ---- src/locale/localectl.c -+++ src/locale/localectl.c 2014-10-21 11:19:13.811947994 +0000 -@@ -796,7 +796,7 @@ static int localectl_main(sd_bus *bus, i - } - - int main(int argc, char*argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/locale/localed.c -+++ src/locale/localed.c 2014-10-21 11:19:28.415837424 +0000 -@@ -1076,7 +1076,7 @@ static const sd_bus_vtable locale_vtable - }; - - static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(c); -@@ -1116,7 +1116,7 @@ static int connect_bus(Context *c, sd_ev - int main(int argc, char *argv[]) { - Context context = {}; - _cleanup_event_unref_ sd_event *event = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_set_target(LOG_TARGET_AUTO); ---- src/login/inhibit.c -+++ src/login/inhibit.c 2014-10-21 11:19:44.470844885 +0000 -@@ -221,7 +221,7 @@ static int parse_argv(int argc, char *ar - - int main(int argc, char *argv[]) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_parse_environment(); ---- src/login/loginctl.c -+++ src/login/loginctl.c 2014-10-21 11:20:16.695837857 +0000 -@@ -1298,7 +1298,7 @@ static int loginctl_main(sd_bus *bus, in - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/login/pam-module.c -+++ src/login/pam-module.c 2014-10-21 10:48:20.000000000 +0000 -@@ -213,7 +213,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess - *seat = NULL, - *type = NULL, *class = NULL, - *class_pam = NULL, *type_pam = NULL, *cvtnr = NULL, *desktop = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int session_fd = -1, existing, r; - bool debug = false, remote; - struct passwd *pw; -@@ -517,7 +517,7 @@ _public_ PAM_EXTERN int pam_sm_close_ses - int argc, const char **argv) { - - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - const void *existing = NULL; - const char *id; - int r; ---- src/machine/machinectl.c -+++ src/machine/machinectl.c 2014-10-21 11:20:45.747838104 +0000 -@@ -550,7 +550,7 @@ static int openpt_in_namespace(pid_t pid - static int login_machine(sd_bus *bus, char **args, unsigned n) { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *reply2 = NULL, *reply3 = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *container_bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *container_bus = NULL; - _cleanup_close_ int master = -1; - _cleanup_free_ char *getty = NULL; - const char *path, *pty, *p; -@@ -879,7 +879,7 @@ static int machinectl_main(sd_bus *bus, - } - - int main(int argc, char*argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-10-21 11:21:05.561523449 +0000 -@@ -1163,7 +1163,7 @@ static int drop_capabilities(void) { - - static int register_machine(pid_t pid) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - if (!arg_register) -@@ -1285,7 +1285,7 @@ static int register_machine(pid_t pid) { - static int terminate_machine(pid_t pid) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - const char *path; - int r; - ---- src/run/run.c -+++ src/run/run.c 2014-10-21 11:22:35.163838021 +0000 -@@ -462,7 +462,7 @@ static int start_transient_scope( - - int main(int argc, char* argv[]) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - _cleanup_free_ char *description = NULL, *command = NULL; - int r; - ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-10-22 09:36:33.399838318 +0000 -@@ -2601,7 +2601,7 @@ static int kill_unit(sd_bus *bus, char * - "ssi", *names, arg_kill_who, arg_signal); - if (q < 0) { - log_error("Failed to kill unit %s: %s", -- *names, bus_error_message(&error, r)); -+ *names, bus_error_message(&error, q)); - if (r == 0) - r = q; - } -@@ -6436,7 +6436,7 @@ static int runlevel_main(void) { - } - - int main(int argc, char*argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/timedate/timedatectl.c -+++ src/timedate/timedatectl.c 2014-10-21 11:23:06.107837988 +0000 -@@ -593,7 +593,7 @@ static int timedatectl_main(sd_bus *bus, - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/timedate/timedated.c -+++ src/timedate/timedated.c 2014-10-21 11:23:26.047838675 +0000 -@@ -779,7 +779,7 @@ static const sd_bus_vtable timedate_vtab - }; - - static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(c); -@@ -825,7 +825,7 @@ int main(int argc, char *argv[]) { - }; - - _cleanup_event_unref_ sd_event *event = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_set_target(LOG_TARGET_AUTO); diff --git a/boot.udev b/boot.udev deleted file mode 100644 index 4fa0bd63..00000000 --- a/boot.udev +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: boot.udev -# Required-Start: -# Required-Stop: -# Should-Start: -# Should-Stop: -# Default-Start: B -# Default-Stop: -# Short-Description: manage /dev and kernel device-events -# Description: udevd daemon to manage /dev and kernel device events -### END INIT INFO - -. /etc/rc.status - -PATH="/sbin:/bin:/usr/sbin:/usr/bin" -DAEMON="@@SYSTEMD@@/systemd-udevd" -UDEVADM="@@BINDIR@@/udevadm" -WRITERULE="@@PREFIX@@/write_dev_root_rule" -udev_timeout=180 - -case "$1" in - start) - # create /dev/root symlink with dynamic rule - if [ -x ${WRITERULE} ]; then - ${WRITERULE} >/dev/null 2>&1 || true - fi - - # start udevd - echo -n "Starting udevd: " - ${DAEMON} --daemon - if [ $? -ne 0 ]; then - rc_status -v - rc_exit - fi - rc_status -v - - # trigger events for all devices - echo -n "Loading drivers, configuring devices: " - ${UDEVADM} trigger --type=subsystems --action=add - ${UDEVADM} trigger --type=devices --action=add - - # wait for events to finish - ${UDEVADM} settle --timeout=$udev_timeout - rc_status -v - ;; - stop) - echo -n "Stopping udevd: " - killproc ${DAEMON} - rc_status -v - ;; - restart) - echo -n "Restarting udevd: " - killproc ${DAEMON} - ${DAEMON} --daemon - rc_status -v - ;; - status) - echo -n "Checking for udevd: " - checkproc ${DAEMON} - rc_status -v - ;; - reload|force-reload) - echo -n "Reloading udevd: " - killproc -G -HUP ${DAEMON} - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|restart|status|reload|force-reload}" - exit 1 - ;; -esac -rc_exit diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch deleted file mode 100644 index c20aad94..00000000 --- a/disable-nss-myhostname-warning-bnc-783841.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Ludwig Nussel -Date: Tue, 12 Feb 2013 17:24:35 +0100 -Subject: disable nss-myhostname warning (bnc#783841) - ---- - src/hostname/hostnamed.c | 1 + - 1 file changed, 1 insertion(+) - ---- systemd-206.orig/src/hostname/hostnamed.c -+++ systemd-206/src/hostname/hostnamed.c -@@ -134,6 +134,7 @@ static int read_data(void) { - - static bool check_nss(void) { - void *dl; -+ return true; - - dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY); - if (dl) { diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch index 3f6b0eb4..77bed82d 100644 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -4,11 +4,13 @@ Subject: ensure shortname is set as hostname (bnc#820213) strip hostname so the domain part isn't set as part of the hostname --- - src/core/hostname-setup.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + src/core/hostname-setup.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) ---- systemd-206.orig/src/core/hostname-setup.c -+++ systemd-206/src/core/hostname-setup.c +Index: systemd-218/src/core/hostname-setup.c +=================================================================== +--- systemd-218.orig/src/core/hostname-setup.c ++++ systemd-218/src/core/hostname-setup.c @@ -32,7 +32,7 @@ #include "fileio.h" @@ -18,14 +20,13 @@ strip hostname so the domain part isn't set as part of the hostname int r; assert(path); -@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const +@@ -49,6 +49,10 @@ static int read_and_strip_hostname(const return -ENOENT; } + /* strip any leftover of a domain name */ -+ if (domain = strchr(s, '.')) { -+ *domain = NULL; -+ } ++ if ((domain = strchr(s, '.')) != NULL) ++ *domain = '\0'; + *hn = s; return 0; diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch deleted file mode 100644 index 954c60ca..00000000 --- a/fix-owner-of-var-log-btmp.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Frederic Crozat -Date: Tue, 20 Nov 2012 09:36:43 +0000 -Subject: fix owner of /var/log/btmp - -ensure btmp is owned only by root (bnc#777405). ---- - tmpfiles.d/systemd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf -+++ systemd-206_git201308300826/tmpfiles.d/systemd.conf -@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d - F! /run/utmp 0664 root utmp - - - f /var/log/wtmp 0664 root utmp - --f /var/log/btmp 0600 root utmp - -+f /var/log/btmp 0600 root root - - - d /var/cache/man - - - 30d - diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index b8fea652..c4875197 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -3,15 +3,17 @@ Date: Thu, 23 Aug 2012 11:08:25 +0200 Subject: fix support for boot prefixed initscript (bnc#746506) --- - src/systemctl/systemctl.c | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) + src/systemctl/systemctl.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) ---- systemd-206_git201308300826.orig/src/systemctl/systemctl.c -+++ systemd-206_git201308300826/src/systemctl/systemctl.c -@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args - p[strlen(p) - sizeof(".service") + 1] = 0; - found_sysv = access(p, F_OK) >= 0; +Index: systemd-218/src/systemctl/systemctl.c +=================================================================== +--- systemd-218.orig/src/systemctl/systemctl.c ++++ systemd-218/src/systemctl/systemctl.c +@@ -5202,8 +5202,26 @@ static int enable_sysv_units(const char + p[strlen(p) - strlen(".service")] = 0; + found_sysv = access(p, F_OK) >= 0; - if (!found_sysv) + if (!found_sysv) { +#ifdef HAVE_SYSV_COMPAT @@ -21,10 +23,8 @@ Subject: fix support for boot prefixed initscript (bnc#746506) + asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else + asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (!p) { -+ r = log_oom(); -+ goto finish; -+ } ++ if (!p) ++ return -ENOMEM; + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; + @@ -36,5 +36,5 @@ Subject: fix support for boot prefixed initscript (bnc#746506) +#endif + } - /* Mark this entry, so that we don't try enabling it as native unit */ - args[f] = (char*) ""; + log_info("%s is not a native service, redirecting to /sbin/chkconfig.", name); + diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch deleted file mode 100644 index c7fa0726..00000000 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Frederic Crozat -Date: Tue, 22 Jan 2013 17:02:04 +0000 -Subject: handle SYSTEMCTL_OPTIONS environment variable - -(bnc#798620) ---- - src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -Index: systemd-208/src/systemctl/systemctl.c -=================================================================== ---- systemd-208.orig/src/systemctl/systemctl.c -+++ systemd-208/src/systemctl/systemctl.c -@@ -6115,6 +6115,28 @@ int main(int argc, char*argv[]) { - * ellipsized. */ - original_stdout_is_tty = isatty(STDOUT_FILENO); - -+ if (secure_getenv("SYSTEMCTL_OPTIONS") && -+ (!program_invocation_short_name || -+ (program_invocation_short_name && strstr(program_invocation_short_name, "systemctl")))) { -+ char **parsed_systemctl_options = strv_split_quoted(getenv("SYSTEMCTL_OPTIONS")); -+ -+ if (*parsed_systemctl_options && **parsed_systemctl_options) { -+ char **k,**a; -+ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); -+ new_argv[0] = strdup(argv[0]); -+ for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { -+ *k = strdup(*a); -+ } -+ for (a = argv+1; *a; k++, a++) { -+ *k = strdup(*a); -+ } -+ *k = NULL; -+ argv = new_argv; -+ argc = strv_length(new_argv); -+ strv_free (parsed_systemctl_options); -+ } -+ } -+ - r = parse_argv(argc, argv); - if (r <= 0) - goto finish; diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 96213505..52af3ee9 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -4,13 +4,13 @@ Subject: handle disable_caplock and compose_table and kbd_rate (bnc#746595) --- - src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 153 insertions(+), 3 deletions(-) + src/vconsole/vconsole-setup.c | 151 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 148 insertions(+), 3 deletions(-) -Index: systemd-210/src/vconsole/vconsole-setup.c +Index: systemd-218/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-210.orig/src/vconsole/vconsole-setup.c -+++ systemd-210/src/vconsole/vconsole-setup.c +--- systemd-218.orig/src/vconsole/vconsole-setup.c ++++ systemd-218/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -19,7 +19,7 @@ Index: systemd-210/src/vconsole/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -99,8 +100,8 @@ static int enable_utf8(int fd) { +@@ -101,8 +102,8 @@ static int enable_utf8(int fd) { return r; } @@ -30,7 +30,7 @@ Index: systemd-210/src/vconsole/vconsole-setup.c int i = 0; pid_t pid; -@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c +@@ -121,6 +122,8 @@ static int keymap_load(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +39,7 @@ Index: systemd-210/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) +@@ -236,11 +239,113 @@ static void font_copy_to_all_vcs(int fd) } } @@ -140,25 +140,20 @@ Index: systemd-210/src/vconsole/vconsole-setup.c + int main(int argc, char **argv) { const char *vc; - char *vc_keymap = NULL; -@@ -219,8 +317,16 @@ int main(int argc, char **argv) { - char *vc_font = NULL; - char *vc_font_map = NULL; - char *vc_font_unimap = NULL; + _cleanup_free_ char + *vc_keymap = NULL, *vc_keymap_toggle = NULL, + *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; +#ifdef HAVE_SYSV_COMPAT -+ char *vc_kbd_delay = NULL; -+ char *vc_kbd_rate = NULL; -+ char *vc_kbd_disable_caps_lock = NULL; -+ char *vc_compose_table = NULL; ++ _cleanup_free_ char ++ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, ++ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; +#endif - int fd = -1; - bool utf8; + bool disable_capslock = false; + _cleanup_close_ int fd = -1; + bool utf8; pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -251,6 +357,28 @@ int main(int argc, char **argv) { +@@ -273,6 +378,28 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -187,45 +182,37 @@ Index: systemd-210/src/vconsole/vconsole-setup.c r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -282,7 +410,12 @@ int main(int argc, char **argv) { - disable_utf8(fd); +@@ -312,14 +439,32 @@ int main(int argc, char **argv) { + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid, true); - r = EXIT_FAILURE; -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && -+ -+ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +- r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid); ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); + if (r < 0) { + log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); + return EXIT_FAILURE; + } +#ifdef HAVE_SYSV_COMPAT -+ load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -+ set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && ++ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); ++ if (r < 0) { ++ log_error_errno(r, "Failed to start " KBD_LOADKEYS " loading the compose table: %m"); ++ return EXIT_FAILURE; ++ } ++ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); ++ if (r < 0) { ++ log_error_errno(r, "Failed to start kbdrate: %m"); ++ return EXIT_FAILURE; ++ } +#endif - font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) - r = EXIT_SUCCESS; -@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); - + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid, true); +#ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); -+ ++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid, true); + if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); -+#endif -+ - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) -@@ -300,6 +441,12 @@ finish: - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); -+#ifdef HAVE_SYSV_COMPAT -+ free(vc_kbd_delay); -+ free(vc_kbd_rate); -+ free(vc_kbd_disable_caps_lock); -+ free(vc_compose_table); ++ wait_for_terminate_and_warn("/usr/bin/kbdrate", kbd_rate_pid, true); +#endif - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ + if (font_copy && font_pid > 0) diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch deleted file mode 100644 index 57a74f0d..00000000 --- a/handle-etc-HOSTNAME.patch +++ /dev/null @@ -1,77 +0,0 @@ -From: Frederic Crozat -Date: Fri, 15 Feb 2013 16:04:39 +0000 -Subject: handle /etc/HOSTNAME - -(bnc#803653) ---- - src/core/hostname-setup.c | 22 +++++++++++++++++----- - src/hostname/hostnamed.c | 12 +++++++++++- - 2 files changed, 28 insertions(+), 6 deletions(-) - ---- systemd-206/src/core/hostname-setup.c -+++ systemd-206/src/core/hostname-setup.c -@@ -61,12 +61,24 @@ int hostname_setup(void) { - - r = read_and_strip_hostname("/etc/hostname", &b); - if (r < 0) { -- if (r == -ENOENT) -- enoent = true; -- else -- log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ if (r == -ENOENT) { -+ /* use SUSE fallback */ -+ r = read_and_strip_hostname("/etc/HOSTNAME", &b); -+ if (r < 0) { -+ if (r == -ENOENT) -+ enoent = true; -+ else -+ log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ hn = NULL; -+ } -+ else -+ hn = b; - -- hn = NULL; -+ } -+ else { -+ log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ hn = NULL; -+ } - } else - hn = b; - ---- systemd-209/src/hostname/hostnamed.c -+++ systemd-209/src/hostname/hostnamed.c 2014-02-28 11:36:30.594735241 +0000 -@@ -89,6 +89,10 @@ static int context_read_data(Context *c) - if (r < 0 && r != -ENOENT) - return r; - -+ r = read_one_line_file("/etc/HOSTNAME", &c->data[PROP_STATIC_HOSTNAME]); -+ if (r < 0 && r != -ENOENT) -+ return r; -+ - return 0; - } - -@@ -246,6 +250,7 @@ static int context_write_data_hostname(C - } - - static int context_write_data_static_hostname(Context *c) { -+ int r; - - assert(c); - -@@ -256,7 +261,12 @@ static int context_write_data_static_hos - - return 0; - } -- return write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); -+ -+ r = write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); -+ if (!r) { -+ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); -+ } -+ return r; - } - - static int context_write_data_other(Context *c) { diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 4278436c..a9f6924a 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,105 +6,19 @@ Authors: Stanislav Brabec Cristian Rodríguez -Index: systemd-210/src/vconsole/vconsole-setup.c +--- + Makefile.am | 13 ++++++++++ + rules/73-seat-numlock.rules | 8 ++++++ + src/login/numlock-on.c | 34 +++++++++++++++++++++++++++ + src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++-- + units/systemd-vconsole-setup.service.in | 2 - + 5 files changed, 94 insertions(+), 3 deletions(-) + +Index: systemd-218/Makefile.am =================================================================== ---- systemd-210.orig/src/vconsole/vconsole-setup.c -+++ systemd-210/src/vconsole/vconsole-setup.c -@@ -42,6 +42,10 @@ - #include "fileio.h" - #include "strv.h" - -+#define BIOS_DATA_AREA 0x400 -+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 -+#define BDA_KSF4_NUMLOCK_MASK 0x02 -+ - static bool is_vconsole(int fd) { - unsigned char data[1]; - -@@ -321,12 +325,14 @@ int main(int argc, char **argv) { - char *vc_kbd_delay = NULL; - char *vc_kbd_rate = NULL; - char *vc_kbd_disable_caps_lock = NULL; -+ char *vc_kbd_numlock = NULL; - char *vc_compose_table = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; - #endif - int fd = -1; - bool utf8; - bool disable_capslock = false; -+ bool numlock = false; - pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -363,6 +369,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -377,6 +384,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ fdmem = open ("/dev/mem", O_RDONLY); -+ -+ if(fdmem < 0) { -+ r = EXIT_FAILURE; -+ log_error("Failed to open /dev/mem: %m"); -+ goto finish; -+ } -+ -+ if(lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ r = EXIT_FAILURE; -+ log_error("Failed to seek /dev/mem: %m"); -+ goto finish; -+ } -+ -+ if(read (fdmem, &c, sizeof(char)) == -1) { -+ r = EXIT_FAILURE; -+ log_error("Failed to read /dev/mem: %m"); -+ goto finish; -+ } -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ } else -+#endif -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - - r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -422,6 +459,10 @@ int main(int argc, char **argv) { - finish: - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - - #ifdef HAVE_SYSV_COMPAT - if (compose_table_pid > 0) -@@ -441,6 +482,7 @@ finish: - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); -+ free(vc_kbd_numlock); - #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -3715,6 +3715,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -124,10 +38,10 @@ Index: systemd-210/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-210/rules/73-seat-numlock.rules +Index: systemd-218/rules/73-seat-numlock.rules =================================================================== --- /dev/null -+++ systemd-210/rules/73-seat-numlock.rules ++++ systemd-218/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -137,10 +51,10 @@ Index: systemd-210/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-210/src/login/numlock-on.c +Index: systemd-218/src/login/numlock-on.c =================================================================== --- /dev/null -+++ systemd-210/src/login/numlock-on.c ++++ systemd-218/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -176,14 +90,95 @@ Index: systemd-210/src/login/numlock-on.c + + exit(0); +} -Index: systemd-210/units/systemd-vconsole-setup.service.in +Index: systemd-218/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-210.orig/units/systemd-vconsole-setup.service.in -+++ systemd-210/units/systemd-vconsole-setup.service.in -@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup +--- systemd-218.orig/src/vconsole/vconsole-setup.c ++++ systemd-218/src/vconsole/vconsole-setup.c +@@ -42,6 +42,10 @@ + #include "fileio.h" + #include "strv.h" + ++#define BIOS_DATA_AREA 0x400 ++#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 ++#define BDA_KSF4_NUMLOCK_MASK 0x02 ++ + static bool is_vconsole(int fd) { + unsigned char data[1]; + +@@ -342,10 +346,11 @@ int main(int argc, char **argv) { + #ifdef HAVE_SYSV_COMPAT + _cleanup_free_ char + *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, +- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; ++ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, ++ *vc_kbd_numlock = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; + #endif +- bool disable_capslock = false; ++ bool disable_capslock = false, numlock = false; + _cleanup_close_ int fd = -1; + bool utf8; + pid_t font_pid = 0, keymap_pid = 0; +@@ -384,6 +389,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -398,6 +404,32 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#if defined(__i386__) || defined(__x86_64__) ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; ++ ++ fdmem = open ("/dev/mem", O_RDONLY); ++ if (fdmem < 0) { ++ log_error("Failed to open /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ log_error("Failed to seek /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (read (fdmem, &c, sizeof(char)) == -1) { ++ log_error("Failed to read /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } else ++#endif ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); + #endif + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -444,6 +476,10 @@ int main(int argc, char **argv) { + log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); + return EXIT_FAILURE; + } ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #ifdef HAVE_SYSV_COMPAT + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { +Index: systemd-218/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-218.orig/units/systemd-vconsole-setup.service.in ++++ systemd-218/units/systemd-vconsole-setup.service.in +@@ -10,7 +10,7 @@ Description=Setup Virtual Console + Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service -Before=sysinit.target shutdown.target +Before=sysinit.target shutdown.target systemd-udev-trigger.service ConditionPathExists=/dev/tty0 diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index d7bea39c..a441dd59 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -4,16 +4,16 @@ Subject: handle root_uses_lang value in /etc/sysconfig/language handle ROOT_USES_LANG=ctype (bnc#792182). --- - src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) + src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) -Index: systemd-208/src/core/locale-setup.c +Index: systemd-218/src/core/locale-setup.c =================================================================== ---- systemd-208.orig/src/core/locale-setup.c -+++ systemd-208/src/core/locale-setup.c -@@ -73,6 +73,11 @@ int locale_setup(char ***environment) { +--- systemd-218.orig/src/core/locale-setup.c ++++ systemd-218/src/core/locale-setup.c +@@ -36,6 +36,11 @@ int locale_setup(char ***environment) { char **add; - char *variables[_VARIABLE_MAX] = {}; + char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT + char _cleanup_free_ *root_uses_lang; @@ -23,9 +23,9 @@ Index: systemd-208/src/core/locale-setup.c if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -119,6 +124,27 @@ int locale_setup(char ***environment) { +@@ -82,6 +87,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) - log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); + log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } +#ifdef HAVE_SYSV_COMPAT + if (r <= 0 && @@ -50,4 +50,4 @@ Index: systemd-208/src/core/locale-setup.c +#endif add = NULL; - for (i = 0; i < _VARIABLE_MAX; i++) { + for (i = 0; i < _VARIABLE_LC_MAX; i++) { diff --git a/insserv-generator.patch b/insserv-generator.patch index 5525222a..1e1cdf4e 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -6,29 +6,30 @@ Subject: [PATCH] insserv.conf generator parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate systemd unit drop-in files to add dependencies --- - Makefile.am | 9 + - src/insserv-generator/Makefile | 28 +++ - src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++ - 3 files changed, 346 insertions(+) + Makefile.am | 9 + src/insserv-generator/Makefile | 28 ++ + src/insserv-generator/insserv-generator.c | 312 ++++++++++++++++++++++++++++++ + 3 files changed, 349 insertions(+) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -343,6 +343,7 @@ rootlibexec_PROGRAMS = \ - systemd-socket-proxyd +--- systemd-219.orig/Makefile.am ++++ systemd-219/Makefile.am +@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \ - systemgenerator_PROGRAMS = \ -+ systemd-insserv-generator \ - systemd-getty-generator \ - systemd-fstab-generator \ - systemd-system-update-generator -@@ -1728,6 +1729,14 @@ systemd_delta_LDADD = \ + systemgenerator_PROGRAMS += \ + systemd-sysv-generator \ +- systemd-rc-local-generator ++ systemd-rc-local-generator \ ++ systemd-insserv-generator + endif + + EXTRA_DIST += \ +@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \ + libsystemd-label.la \ libsystemd-shared.la - # ------------------------------------------------------------------------------ ++#------------------------------------------------------------------------------- +systemd_insserv_generator_SOURCES = \ + src/insserv-generator/insserv-generator.c + @@ -36,14 +37,11 @@ Index: systemd-210/Makefile.am + libsystemd-label.la \ + libsystemd-shared.la + -+# ------------------------------------------------------------------------------ - systemd_getty_generator_SOURCES = \ - src/getty-generator/getty-generator.c - -Index: systemd-210/src/insserv-generator/Makefile -=================================================================== + # ------------------------------------------------------------------------------ + systemd_remount_fs_SOURCES = \ + src/remount-fs/remount-fs.c \ --- /dev/null -+++ systemd-210/src/insserv-generator/Makefile ++++ systemd-219/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,10 +71,8 @@ Index: systemd-210/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd-210/src/insserv-generator/insserv-generator.c -=================================================================== --- /dev/null -+++ systemd-210/src/insserv-generator/insserv-generator.c ++++ systemd-219/src/insserv-generator/insserv-generator.c @@ -0,0 +1,312 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -354,7 +350,7 @@ Index: systemd-210/src/insserv-generator/insserv-generator.c + + while ((de = readdir(d))) { + char *path = NULL; -+ if (ignore_file(de->d_name)) ++ if (hidden_file(de->d_name)) + continue; + + path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch index 008a72ef..4caf994f 100644 --- a/journald-advice-about-use-of-memory.patch +++ b/journald-advice-about-use-of-memory.patch @@ -1,143 +1,135 @@ ---- - src/journal/catalog.c | 21 +++++++++++++++++++-- - src/journal/journal-authenticate.c | 4 ++-- - src/journal/journal-file.c | 2 +- - src/journal/journald-kmsg.c | 2 +- - src/journal/mmap-cache.c | 24 ++++++++++++++++++++++-- - 5 files changed, 45 insertions(+), 8 deletions(-) +From: werner@suse.de +Upstream: marked as openSUSE-specific fix originally, but may well + worth be to be sent upstream. ---- src/journal/catalog.c -+++ src/journal/catalog.c 2014-10-24 11:44:59.079838065 +0000 -@@ -472,9 +472,19 @@ finish: +Original description: + (none) + +Notes [jengelh@inai.de]: +MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render +MAP_POPULATE ineffective. Why do we have it? +What is the rationale for MAP_STACK? +--- + src/journal/catalog.c | 12 +++++++++++- + src/journal/journal-authenticate.c | 7 +++++-- + src/journal/journald-kmsg.c | 3 ++- + src/journal/mmap-cache.c | 16 +++++++++++++++- + 4 files changed, 33 insertions(+), 5 deletions(-) + +Index: systemd/src/journal/catalog.c +=================================================================== +--- systemd.orig/src/journal/catalog.c ++++ systemd/src/journal/catalog.c +@@ -470,6 +470,10 @@ finish: static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { const CatalogHeader *h; -- int fd; -+ static const struct { -+ const int index; -+ int advise; -+ } advises[] = { -+ {0,MADV_WILLNEED}, -+ {1,MADV_SEQUENTIAL}, -+ {2,MADV_DONTDUMP}, -+ {3,MADV_DONTFORK} -+ }; -+ int n, fd; ++ static const unsigned int advice[] = ++ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; ++ unsigned int n; ++ size_t psize; + int fd; void *p; struct stat st; -+ size_t psize; - - assert(_fd); - assert(_st); -@@ -494,12 +504,19 @@ static int open_mmap(const char *databas +@@ -492,12 +496,18 @@ static int open_mmap(const char *databas return -EINVAL; } - p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); + psize = PAGE_ALIGN(st.st_size); -+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, 0); ++ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE | ++ MAP_NONBLOCK, fd, 0); if (p == MAP_FAILED) { - close_nointr_nofail(fd); + safe_close(fd); return -errno; } -+ for (n=0; n < sizeof(advises)/sizeof(advises[0]); n++) { -+ int r = madvise(p, psize, advises[n].advise); -+ if (r < 0) ++ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) ++ if (madvise(p, psize, advice[n]) < 0) + log_warning("Failed to give advice about use of memory: %m"); -+ } + h = p; if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || le64toh(h->header_size) < sizeof(CatalogHeader) || ---- src/journal/journal-authenticate.c -+++ src/journal/journal-authenticate.c 2014-10-24 07:41:09.271837523 +0000 -@@ -355,7 +355,7 @@ int journal_file_fss_load(JournalFile *f +Index: systemd/src/journal/journal-authenticate.c +=================================================================== +--- systemd.orig/src/journal/journal-authenticate.c ++++ systemd/src/journal/journal-authenticate.c +@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f goto finish; } - m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); -+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED|MAP_STACK, fd, 0); ++ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, ++ MAP_SHARED | MAP_STACK, fd, 0); if (m == MAP_FAILED) { m = NULL; r = -errno; -@@ -399,7 +399,7 @@ int journal_file_fss_load(JournalFile *f +@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f goto finish; } - f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); ++ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), ++ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK, ++ fd, 0); if (f->fss_file == MAP_FAILED) { f->fss_file = NULL; r = -errno; ---- src/journal/journal-file.c -+++ src/journal/journal-file.c 2014-10-24 07:39:25.603837720 +0000 -@@ -2554,7 +2554,7 @@ int journal_file_open( - goto fail; - } - -- f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED, f->fd, 0); -+ f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED|MAP_STACK, f->fd, 0); - if (f->header == MAP_FAILED) { - f->header = NULL; - r = -errno; ---- src/journal/journald-kmsg.c -+++ src/journal/journald-kmsg.c 2014-10-24 07:38:01.967837989 +0000 -@@ -473,7 +473,7 @@ int server_open_kernel_seqnum(Server *s) +Index: systemd/src/journal/journald-kmsg.c +=================================================================== +--- systemd.orig/src/journal/journald-kmsg.c ++++ systemd/src/journal/journald-kmsg.c +@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) return 0; } - p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); ++ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE, ++ MAP_SHARED | MAP_STACK, fd, 0); if (p == MAP_FAILED) { - log_error("Failed to map sequential number file, ignoring: %m"); - close_nointr_nofail(fd); ---- src/journal/mmap-cache.c -+++ src/journal/mmap-cache.c 2014-10-24 11:16:47.759837744 +0000 -@@ -439,12 +439,21 @@ static int add_mmap( + log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); + return 0; +Index: systemd/src/journal/mmap-cache.c +=================================================================== +--- systemd.orig/src/journal/mmap-cache.c ++++ systemd/src/journal/mmap-cache.c +@@ -467,11 +467,14 @@ static int add_mmap( struct stat *st, void **ret) { -+ static const struct { -+ const int index; -+ int vise; -+ } ad[] = { -+ {0, MADV_WILLNEED}, -+ {1, MADV_SEQUENTIAL}, -+ {2, MADV_DONTDUMP}, -+ {3, MADV_DONTFORK} -+ }; ++ static const unsigned int advice[] = ++ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; uint64_t woffset, wsize; Context *c; FileDescriptor *f; Window *w; void *d; -- int r; -+ int n, r; ++ unsigned int n; + int r; assert(m); - assert(m->n_ref > 0); -@@ -481,7 +490,7 @@ static int add_mmap( +@@ -510,7 +513,8 @@ static int add_mmap( } for (;;) { - d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); -+ d = mmap(NULL, wsize, prot, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, woffset); ++ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE | ++ MAP_NONBLOCK, fd, woffset); if (d != MAP_FAILED) break; if (errno != ENOMEM) -@@ -494,6 +503,17 @@ static int add_mmap( +@@ -523,6 +527,16 @@ static int add_mmap( return -ENOMEM; } -+ for (n=0; n < sizeof(ad)/sizeof(ad[0]); n++) { -+ if (ad[n].vise == MADV_DONTFORK) { ++ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) { ++ if (advice[n] == MADV_DONTFORK) { + int flags = fcntl(fd, F_GETFD); + if (flags < 0 || !(flags & FD_CLOEXEC)) + continue; + } -+ r = madvise(d, wsize, ad[n].vise); -+ if (r < 0) ++ if (madvise(d, wsize, advice[n]) < 0) + log_warning("Failed to give advice about use of memory: %m"); + } + diff --git a/kbd-model-map.patch b/kbd-model-map.patch index 743a67b2..b7327892 100644 --- a/kbd-model-map.patch +++ b/kbd-model-map.patch @@ -1,13 +1,18 @@ +From: werner@suse.de +Date: Tue Jan 20 11:33:59 UTC 2015 + --- src/locale/kbd-model-map | 13 +++++++++++++ 1 file changed, 13 insertions(+) ---- src/locale/kbd-model-map -+++ src/locale/kbd-model-map 2015-01-20 11:31:38.357518811 +0000 -@@ -63,3 +63,16 @@ by by,us pc105 - terminate:ctrl_alt_ - il il pc105 - terminate:ctrl_alt_bksp - kazakh kz,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll +Index: systemd/src/locale/kbd-model-map +=================================================================== +--- systemd.orig/src/locale/kbd-model-map ++++ systemd/src/locale/kbd-model-map +@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a + lt.l4 lt pc105 - terminate:ctrl_alt_bksp lt lt pc105 - terminate:ctrl_alt_bksp + khmer kh,us pc105 - terminate:ctrl_alt_bksp +# Additional layouts offered by YaST +Pl02 pl pc105 - terminate:ctrl_alt_bksp +arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch index e2bbdda1..4879c708 100644 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ b/let-linker-find-libudev-for-libdevmapper.patch @@ -1,6 +1,13 @@ ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am 2014-03-13 08:54:36.010736086 +0000 -@@ -3691,6 +3691,10 @@ systemd_cryptsetup_CFLAGS = \ +--- + Makefile.am | 4 ++++ + configure.ac | 4 ---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +Index: systemd/Makefile.am +=================================================================== +--- systemd.orig/Makefile.am ++++ systemd/Makefile.am +@@ -4789,6 +4789,10 @@ systemd_cryptsetup_CFLAGS = \ $(AM_CFLAGS) \ $(LIBCRYPTSETUP_CFLAGS) @@ -11,27 +18,18 @@ systemd_cryptsetup_LDADD = \ libsystemd-label.la \ libudev-internal.la \ ---- systemd-210/Makefile.in -+++ systemd-210/Makefile.in 2014-03-13 09:19:48.950238725 +0000 -@@ -8964,7 +8964,7 @@ src/cryptsetup/systemd_cryptsetup-crypts +Index: systemd/configure.ac +=================================================================== +--- systemd.orig/configure.ac ++++ systemd/configure.ac +@@ -206,10 +206,6 @@ AS_CASE([$CC], [*clang*], + -Wno-gnu-variable-sized-type-not-at-end \ + ])]) - systemd-cryptsetup$(EXEEXT): $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_DEPENDENCIES) $(EXTRA_systemd_cryptsetup_DEPENDENCIES) - @rm -f systemd-cryptsetup$(EXEEXT) -- $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDADD) $(LIBS) -+ $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDFLAGS) $(systemd_cryptsetup_LDADD) $(LIBS) - src/cryptsetup/cryptsetup-generator.$(OBJEXT): \ - src/cryptsetup/$(am__dirstamp) \ - src/cryptsetup/$(DEPDIR)/$(am__dirstamp) ---- systemd-210/configure.ac -+++ systemd-210/configure.ac 2014-03-13 13:46:24.394235954 +0000 -@@ -156,10 +156,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CF - -fdata-sections \ - -fstack-protector \ - --param=ssp-buffer-size=4]) -AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto])], +- -flto -ffat-lto-objects])], - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags") + AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], diff --git a/localfs.service b/localfs.service deleted file mode 100644 index da3facec..00000000 --- a/localfs.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Shadow /etc/init.d/boot.localfs -DefaultDependencies=no -After=local-fs.target - -[Service] -RemainAfterExit=true -ExecStart=/bin/true diff --git a/log-target-null-instead-kmsg.patch b/log-target-null-instead-kmsg.patch deleted file mode 100644 index 4e715385..00000000 --- a/log-target-null-instead-kmsg.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- - src/journal/journald-kmsg.c | 16 +++++++++++++++- - src/libudev/libudev-util.c | 16 +++++++++++++++- - src/shared/log.c | 16 +++++++++++++++- - src/shared/util.c | 6 +++++- - 4 files changed, 50 insertions(+), 4 deletions(-) - -Index: systemd-210/src/journal/journald-kmsg.c -=================================================================== ---- systemd-210.orig/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c -@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so - return server_read_dev_kmsg(s); - } - -+static int parse_proc_cmdline_word(const char *word) { -+ if (streq(word, "systemd.log_target=null")) -+ return -115; -+ -+ return 0; -+} -+ - int server_open_dev_kmsg(Server *s) { - int r; - - assert(s); - -- s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -+ s->dev_kmsg_fd = open("/dev/null", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ } else { -+ s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ } -+ - if (s->dev_kmsg_fd < 0) { - log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, - "Failed to open /dev/kmsg, ignoring: %m"); -Index: systemd-210/src/libudev/libudev-util.c -=================================================================== ---- systemd-210.orig/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c -@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char - return bits; - } - -+static int parse_proc_cmdline_word(const char *word) { -+ if (streq(word, "systemd.log_target=null")) -+ return -115; -+ -+ return 0; -+} -+ - ssize_t print_kmsg(const char *fmt, ...) - { - _cleanup_close_ int fd = -1; -@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) - ssize_t len; - ssize_t ret; - -- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -+ fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } else { -+ fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } -+ - if (fd < 0) - return -errno; - -Index: systemd-210/src/shared/log.c -=================================================================== ---- systemd-210.orig/src/shared/log.c -+++ systemd-210/src/shared/log.c -@@ -92,12 +92,24 @@ void log_close_kmsg(void) { - kmsg_fd = -1; - } - -+static int parse_proc_cmdline_word(const char *word) { -+ if (streq(word, "systemd.log_target=null")) -+ return -115; -+ -+ return 0; -+} -+ - static int log_open_kmsg(void) { - - if (kmsg_fd >= 0) - return 0; - -- kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -+ kmsg_fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } else { -+ kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } -+ - if (kmsg_fd < 0) - return -errno; - -Index: systemd-210/src/shared/util.c -=================================================================== ---- systemd-210.orig/src/shared/util.c -+++ systemd-210/src/shared/util.c -@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) - - r = parse_word(word); - if (r < 0) { -- log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); -+ if (r == -115) { -+ log_error("Warning: %s set, redirecting messages to /dev/null.", word); -+ } else { -+ log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); -+ } - return r; - } - } diff --git a/macros.systemd.upstream b/macros.systemd.upstream index 323d1d48..8c2e84f6 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -26,7 +26,9 @@ %_udevrulesdir @udevrulesdir@ %_journalcatalogdir @catalogdir@ %_tmpfilesdir @tmpfilesdir@ +%_sysusersdir @sysusersdir@ %_sysctldir @sysctldir@ +%_binfmtdir @binfmtdir@ %systemd_requires \ Requires(post): systemd \ @@ -37,42 +39,71 @@ Requires(postun): systemd \ %systemd_post() \ if [ $1 -eq 1 ] ; then \ # Initial installation \ - @rootbindir@/systemctl preset %{?*} >/dev/null 2>&1 || : \ + systemctl preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} +%systemd_user_post() %systemd_post --user --global %{?*} + %systemd_preun() \ if [ $1 -eq 0 ] ; then \ # Package removal, not upgrade \ - @rootbindir@/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - @rootbindir@/systemctl stop %{?*} > /dev/null 2>&1 || : \ + systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi \ +%{nil} + +%systemd_user_preun() \ +if [ $1 -eq 0 ] ; then \ + # Package removal, not upgrade \ + systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} %systemd_postun() \ -@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +systemctl daemon-reload >/dev/null 2>&1 || : \ %{nil} +%systemd_user_postun() %{nil} + %systemd_postun_with_restart() \ -@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +systemctl daemon-reload >/dev/null 2>&1 || : \ if [ $1 -ge 1 ] ; then \ # Package upgrade, not uninstall \ - @rootbindir@/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ + systemctl try-restart %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} +%systemd_user_postun_with_restart() %{nil} + %udev_hwdb_update() \ -@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \ +udevadm hwdb --update >/dev/null 2>&1 || : \ %{nil} %udev_rules_update() \ -@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \ +udevadm control --reload >/dev/null 2>&1 || : \ %{nil} %journal_catalog_update() \ -@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ +journalctl --update-catalog >/dev/null 2>&1 || : \ %{nil} %tmpfiles_create() \ -@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ +systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ +%{nil} + +%sysusers_create() \ +systemd-sysusers %{?*} >/dev/null 2>&1 || : \ +%{nil} + +%sysusers_create_inline() \ +echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \ +%{nil} + +%sysctl_apply() \ +@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \ +%{nil} + +%binfmt_apply() \ +@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ %{nil} diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch index 63e513cc..d5814921 100644 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ b/make-emergency.service-conflict-with-syslog.socket.patch @@ -7,16 +7,19 @@ As a workaround explicitly stop syslog.socket when entering emergency.service. Reference: bnc#852232 -Index: systemd-208/units/emergency.service.in +--- + units/emergency.service.in | 1 + + 1 file changed, 1 insertion(+) + +Index: systemd-218/units/emergency.service.in =================================================================== ---- systemd-208/units/emergency.service.in -+++ systemd-208/units/emergency.service.in -@@ -9,7 +9,7 @@ - Description=Emergency Shell - Documentation=man:sulogin(8) +--- systemd-218.orig/units/emergency.service.in ++++ systemd-218/units/emergency.service.in +@@ -11,6 +11,7 @@ Documentation=man:sulogin(8) DefaultDependencies=no --Conflicts=shutdown.target -+Conflicts=shutdown.target syslog.socket + Conflicts=shutdown.target + Conflicts=rescue.service ++Conflicts=syslog.socket Before=shutdown.target [Service] diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch deleted file mode 100644 index 4f557c54..00000000 --- a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Frederic Crozat -Date: Wed, 12 Oct 2011 15:18:29 +0200 -Subject: module-load: handle SUSE /etc/sysconfig/kernel module list - ---- - src/modules-load/modules-load.c | 27 ++++++++++++++++++++++++++- - units/systemd-modules-load.service.in | 1 + - 2 files changed, 27 insertions(+), 1 deletion(-) - ---- systemd-206_git201308300826.orig/src/modules-load/modules-load.c -+++ systemd-206_git201308300826/src/modules-load/modules-load.c -@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar - int main(int argc, char *argv[]) { - int r, k; - struct kmod_ctx *ctx; -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char *modules_on_boot = NULL; -+#endif - - r = parse_argv(argc, argv); - if (r <= 0) -@@ -318,7 +321,31 @@ int main(int argc, char *argv[]) { - r = k; - } - } -- -+#ifdef HAVE_SYSV_COMPAT -+ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); -+ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, -+ "MODULES_LOADED_ON_BOOT", &modules_on_boot, -+ NULL)) < 0) { -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); -+ else -+ r = EXIT_SUCCESS; -+ } else -+ r = EXIT_SUCCESS; -+ if (modules_on_boot) { -+ char **modules = strv_split(modules_on_boot,WHITESPACE); -+ char **module; -+ -+ if (modules) { -+ STRV_FOREACH(module, modules) { -+ k = load_module(ctx, *module); -+ if (k < 0) -+ r = EXIT_FAILURE; -+ } -+ } -+ strv_free(modules); -+ } -+#endif - finish: - kmod_unref(ctx); - strv_free(arg_proc_cmdline_modules); ---- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in -+++ systemd-206_git201308300826/units/systemd-modules-load.service.in -@@ -13,6 +13,7 @@ Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service - Before=sysinit.target shutdown.target - ConditionCapability=CAP_SYS_MODULE -+ConditionPathExists=|/etc/sysconfig/kernel - ConditionDirectoryNotEmpty=|/lib/modules-load.d - ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d - ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch deleted file mode 100644 index 5b296a18..00000000 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ /dev/null @@ -1,102 +0,0 @@ -From: Ludwig Nussel -Date: Fri, 20 May 2011 15:38:46 +0200 -Subject: optionally warn if nss-myhostname is called - ---- - configure.ac | 11 +++++++++++ - src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 43 insertions(+) - ---- systemd-206_git201308300826.orig/configure.ac -+++ systemd-206_git201308300826/configure.ac -@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno"; - fi - AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) - -+if test "x$have_myhostname" != "xno"; then -+ AC_MSG_CHECKING([log warning messages for nss-myhostname]) -+ AC_ARG_WITH(nss-my-hostname-warning, AS_HELP_STRING([--with-nss-my-hostname-warning], [log warning to syslog when nss-myhostname is called (default=no)]),[],[with_nss_my_hostname_warning=no]) -+ AC_MSG_RESULT([$with_nss_my_hostname_warning]) -+ -+ if test x$with_nss_my_hostname_warning != xno; then -+ AC_CHECK_HEADERS([syslog.h]) -+ AC_DEFINE([LOG_NSS_MY_HOSTNAME_WARNING],[1],[whether to log warning message for nss-myhostname]) -+ fi -+fi -+ - # ------------------------------------------------------------------------------ - AC_ARG_WITH(firmware-path, - AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], ---- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c -+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c -@@ -29,6 +29,9 @@ - #include - #include - #include -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+#include -+#endif - - #include "ifconf.h" - #include "macro.h" -@@ -47,6 +50,10 @@ - #define LOCALADDRESS_IPV6 &in6addr_loopback - #define LOOPBACK_INTERFACE "lo" - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+static void warn(const char* hn); -+#endif -+ - enum nss_status _nss_myhostname_gethostbyname4_r( - const char *name, - struct gaih_addrtuple **pat, -@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostb - return NSS_STATUS_NOTFOUND; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif - /* If this fails, n_addresses is 0. Which is fine */ - ifconf_acquire_addresses(&addresses, &n_addresses); - -@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostb - local_address_ipv4 = LOCALADDRESS_IPV4; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif - return fill_in_hostent( - canonical, additional, - af, -@@ -509,6 +522,9 @@ found: - canonical = hn; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif - return fill_in_hostent( - canonical, additional, - af, -@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostb - errnop, h_errnop, - NULL); - } -+ -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+static void warn(const char* hn) { -+ if (strstr(program_invocation_short_name, "nscd")) { -+ syslog(LOG_WARNING, -+ "Some application tried to resolve hostname \"%s\" which is not in DNS. Stop nscd to find out which one.\n", -+ hn); -+ } else { -+ syslog(LOG_WARNING, -+ "%s(%u) tried to resolve hostname \"%s\" which is not in DNS. This might be the reason for the delays you experience.\n", -+ program_invocation_short_name, -+ getpid(), -+ hn); -+ } -+} -+#endif diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch index 8709dc70..4226b51c 100644 --- a/parse-crypttab-for-noauto-option.patch +++ b/parse-crypttab-for-noauto-option.patch @@ -1,14 +1,14 @@ --- - src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- - 1 file changed, 50 insertions(+), 2 deletions(-) + src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- + 1 file changed, 44 insertions(+), 1 deletion(-) -Index: systemd-210/src/fstab-generator/fstab-generator.c +Index: systemd/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd-210.orig/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c -@@ -37,6 +37,50 @@ - static const char *arg_dest = "/tmp"; - static bool arg_enabled = true; +--- systemd.orig/src/fstab-generator/fstab-generator.c ++++ systemd/src/fstab-generator/fstab-generator.c +@@ -48,6 +48,49 @@ static char *arg_usr_what = NULL; + static char *arg_usr_fstype = NULL; + static char *arg_usr_options = NULL; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; @@ -53,26 +53,15 @@ Index: systemd-210/src/fstab-generator/fstab-generator.c + return 1; +} + -+ - static int mount_find_pri(struct mntent *me, int *ret) { - char *end, *pri; - unsigned long r; -@@ -212,7 +256,7 @@ static int add_mount( - *name = NULL, *unit = NULL, *lnk = NULL, - *automount_name = NULL, *automount_unit = NULL; - _cleanup_fclose_ FILE *f = NULL; -- int r; -+ int r, c; - - assert(what); - assert(where); -@@ -288,7 +332,8 @@ static int add_mount( - return -errno; - } + static int add_swap( + const char *what, + struct mntent *me, +@@ -118,7 +161,7 @@ static int add_swap( + if (r < 0) + return r; - if (!noauto) { -+ c = check_crypttab(what); -+ if (!noauto && (c != 0)) { - if (post) { - lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL); - if (!lnk) ++ if (!noauto && check_crypttab(what) != 0) { + lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET, + nofail ? ".wants/" : ".requires/", name, NULL); + if (!lnk) diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch index 560f9f3f..242a05d1 100644 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ b/plymouth-quit-and-wait-for-emergency-service.patch @@ -1,16 +1,40 @@ ---- systemd-208/units/console-shell.service.m4.in -+++ systemd-208/units/console-shell.service.m4.in 2014-02-05 11:28:31.446735287 +0000 +--- + units/console-shell.service.m4.in | 2 ++ + units/emergency.service.in | 3 ++- + units/rescue.service.in | 3 ++- + 3 files changed, 6 insertions(+), 2 deletions(-) + +Index: systemd/units/console-shell.service.m4.in +=================================================================== +--- systemd.orig/units/console-shell.service.m4.in ++++ systemd/units/console-shell.service.m4.in @@ -17,6 +17,8 @@ Before=getty.target [Service] Environment=HOME=/root WorkingDirectory=/root +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait - ExecStart=-/usr/sbin/sulogin + ExecStart=-@SULOGIN@ ExecStopPost=-@SYSTEMCTL@ poweroff Type=idle ---- systemd-208/units/rescue.service.m4.in -+++ systemd-208/units/rescue.service.m4.in 2014-02-05 11:28:45.214235524 +0000 +Index: systemd/units/emergency.service.in +=================================================================== +--- systemd.orig/units/emergency.service.in ++++ systemd/units/emergency.service.in +@@ -17,7 +17,8 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + Type=idle +Index: systemd/units/rescue.service.in +=================================================================== +--- systemd.orig/units/rescue.service.in ++++ systemd/units/rescue.service.in @@ -16,7 +16,8 @@ Before=shutdown.target [Service] Environment=HOME=/root @@ -18,18 +42,6 @@ -ExecStartPre=-/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' - ExecStart=-/usr/sbin/sulogin - ExecStopPost=-@SYSTEMCTL@ --fail --no-block default ---- systemd-208/units/emergency.service.in -+++ systemd-208/units/emergency.service.in 2014-02-05 11:28:51.782235282 +0000 -@@ -15,7 +15,8 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' - ExecStart=-/usr/sbin/sulogin - ExecStopPost=@SYSTEMCTL@ --fail --no-block default + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + Type=idle diff --git a/prepare-suspend-to-disk.patch b/prepare-suspend-to-disk.patch deleted file mode 100644 index 01f95f9d..00000000 --- a/prepare-suspend-to-disk.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Naur systemd-210/units/systemd-hibernate.service.in systemd-210-mod/units/systemd-hibernate.service.in ---- systemd-210/units/systemd-hibernate.service.in 2013-08-13 22:02:52.808756274 +0200 -+++ systemd-210-mod/units/systemd-hibernate.service.in 2014-03-25 12:27:44.995995220 +0100 -@@ -11,7 +11,10 @@ - DefaultDependencies=no - Requires=sleep.target - After=sleep.target -+ConditionKernelCommandLine=resume - - [Service] - Type=oneshot -+ExecStart=@rootbindir@/systemd-sleep-grub pre - ExecStart=@rootlibexecdir@/systemd-sleep hibernate -+ExecStopPost=@rootbindir@/systemd-sleep-grub post -diff -Naur systemd-210/units/systemd-hybrid-sleep.service.in systemd-210-mod/units/systemd-hybrid-sleep.service.in ---- systemd-210/units/systemd-hybrid-sleep.service.in 2013-08-13 22:02:52.809756282 +0200 -+++ systemd-210-mod/units/systemd-hybrid-sleep.service.in 2014-03-25 12:27:56.115994902 +0100 -@@ -11,7 +11,10 @@ - DefaultDependencies=no - Requires=sleep.target - After=sleep.target -+ConditionKernelCommandLine=resume - - [Service] - Type=oneshot -+ExecStart=@rootbindir@/systemd-sleep-grub pre - ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep -+ExecStopPost=@rootbindir@/systemd-sleep-grub post diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch deleted file mode 100644 index f1e0dfcb..00000000 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Frederic Crozat -Date: Wed, 7 Dec 2011 15:15:07 +0000 -Subject: remain_after_exit initscript heuristic and add new LSB headers - -Add remain_after_exit heuristic for initscripts and add LSB headers -PIDFile: and X-Systemd-RemainAfterExit to control it. - -(bnc#721426) (bnc#727771) ---- - src/core/service.c | 34 ++++++++++++++++++++++++++++++++-- - src/core/service.h | 1 + - 2 files changed, 33 insertions(+), 2 deletions(-) - -Index: systemd-208/src/core/service.c -=================================================================== ---- systemd-208.orig/src/core/service.c -+++ systemd-208/src/core/service.c -@@ -135,6 +135,7 @@ static void service_init(Unit *u) { - #ifdef HAVE_SYSV_COMPAT - s->sysv_start_priority = -1; - s->sysv_start_priority_from_rcnd = -1; -+ s->sysv_remain_after_exit_heuristic = true; - #endif - s->socket_fd = -1; - s->guess_main_pid = true; -@@ -883,6 +884,34 @@ static int service_load_sysv_path(Servic - free(short_description); - short_description = d; - -+ } else if (startswith_no_case(t, "PIDFile:")) { -+ char *fn; -+ -+ state = LSB; -+ -+ fn = strstrip(t+8); -+ if (!path_is_absolute(fn)) { -+ log_warning("[%s:%u] PID file not absolute. Ignoring.", path, line); -+ continue; -+ } -+ -+ if (!(fn = strdup(fn))) { -+ r = -ENOMEM; -+ goto finish; -+ } -+ -+ free(s->pid_file); -+ s->pid_file = fn; -+ s->sysv_remain_after_exit_heuristic = false; -+ s->remain_after_exit = false; -+ } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { -+ char *j; -+ -+ state = LSB; -+ if ((j = strstrip(t+26)) && *j) { -+ s->remain_after_exit = parse_boolean(j); -+ s->sysv_remain_after_exit_heuristic = false; -+ } - } else if (state == LSB_DESCRIPTION) { - - if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -933,7 +962,8 @@ static int service_load_sysv_path(Servic - - /* Special setting for all SysV services */ - s->type = SERVICE_FORKING; -- s->remain_after_exit = !s->pid_file; -+ if (s->sysv_remain_after_exit_heuristic) -+ s->remain_after_exit = !s->pid_file; - s->guess_main_pid = false; - s->restart = SERVICE_RESTART_NO; - s->exec_context.ignore_sigpipe = false; -@@ -2080,7 +2110,7 @@ static void service_enter_running(Servic - if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && - (s->bus_name_good || s->type != SERVICE_DBUS)) { - #ifdef HAVE_SYSV_COMPAT -- if (s->sysv_enabled && !s->pid_file) -+ if (s->sysv_enabled && !s->pid_file && s->sysv_remain_after_exit_heuristic) - s->remain_after_exit = false; - #endif - service_set_state(s, SERVICE_RUNNING); -Index: systemd-208/src/core/service.h -=================================================================== ---- systemd-208.orig/src/core/service.h -+++ systemd-208/src/core/service.h -@@ -178,6 +178,7 @@ struct Service { - bool is_sysv:1; - bool sysv_has_lsb:1; - bool sysv_enabled:1; -+ bool sysv_remain_after_exit_heuristic:1; - int sysv_start_priority_from_rcnd; - int sysv_start_priority; - diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch index ccf7cea4..91822e07 100644 --- a/respect-nfs-bg-option.patch +++ b/respect-nfs-bg-option.patch @@ -1,19 +1,22 @@ ---- systemd-210/src/fstab-generator/fstab-generator.c 2014-02-17 15:49:21.070855641 +0100 -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-04-25 16:25:13.256106126 +0200 -@@ -255,10 +255,12 @@ - "SourcePath=%s\n", - source); +--- + src/fstab-generator/fstab-generator.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +Index: systemd-218/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-218.orig/src/fstab-generator/fstab-generator.c ++++ systemd-218/src/fstab-generator/fstab-generator.c +@@ -238,8 +238,11 @@ static int add_mount( + "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", + source); - if (post && !noauto && !nofail && !automount) -- fprintf(f, -- "Before=%s\n", -- post); +- fprintf(f, "Before=%s\n", post); + if (post && !noauto && !nofail && !automount) { -+ if (!streq(type, "nfs") || (streq(type, "nfs") && !strstr(opts, "bg"))) -+ fprintf(f, -+ "Before=%s\n", -+ post); ++ bool is_nfs = fstype != NULL && streq(fstype, "nfs"); ++ if (!is_nfs || strstr(opts, "bg") == NULL) ++ fprintf(f, "Before=%s\n", post); + } - r = add_fsck(f, what, where, type, passno); - if (r < 0) + if (passno != 0) { + r = generator_write_fsck_deps(f, arg_dest, what, where, fstype); diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index 422f23ca..132b73e1 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -3,18 +3,20 @@ Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: restore /var/run and /var/lock bind mount if they aren't symlink --- - Makefile.am | 9 +++++++++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ + Makefile.am | 9 +++++++++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -419,6 +419,12 @@ dist_systemunit_DATA = \ - units/system-update.target \ - units/initrd-switch-root.target +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -516,6 +516,12 @@ endif + dist_systemunit_DATA_busnames += \ + units/busnames.target +if HAVE_SYSV_COMPAT +dist_systemunit_DATA += \ @@ -25,7 +27,7 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -6086,6 +6092,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -33,10 +35,12 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink + var-run.mount \ + var-lock.mount endif + SYSINIT_TARGET_WANTS += \ - systemd-update-utmp.service +Index: systemd-218/units/var-lock.mount +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/units/var-lock.mount ++++ systemd-218/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -57,8 +61,10 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink +Where=/var/lock +Type=bind +Options=bind +Index: systemd-218/units/var-run.mount +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/units/var-run.mount ++++ systemd-218/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch deleted file mode 100644 index d0e907bb..00000000 --- a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Frederic Crozat -Date: Fri, 30 Sep 2011 12:58:17 +0200 -Subject: service: flags sysv service with detected pid as - RemainAfterExit=false - -LSB header doesn't give pidfile, so all LSB initscripts have -RemainAfterExit=false, causing daemon termination to not be reported as -such by systemd. Checking at startup if daemon is still running for -sysv initscript to disable RemainAfterExit helps a lot. -Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 ---- - src/core/service.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - ---- systemd-206_git201308300826.orig/src/core/service.c -+++ systemd-206_git201308300826/src/core/service.c -@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic - cgroup_ok = cgroup_good(s); - - if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && -- (s->bus_name_good || s->type != SERVICE_DBUS)) -+ (s->bus_name_good || s->type != SERVICE_DBUS)) { -+#ifdef HAVE_SYSV_COMPAT -+ if (s->sysv_enabled && !s->pid_file) -+ s->remain_after_exit = false; -+#endif - service_set_state(s, SERVICE_RUNNING); -+ } - else if (s->remain_after_exit) - service_set_state(s, SERVICE_EXITED); - else diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index e13cb6dd..23bd0163 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -6,10 +6,8 @@ Use and set default logging console for both journald and kernel messages src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) -Index: src/journal/journald-console.c -=================================================================== ---- src/journal/journald-console.c.orig -+++ src/journal/journald-console.c +--- systemd-219.orig/src/journal/journald-console.c ++++ systemd-219/src/journal/journald-console.c @@ -23,6 +23,14 @@ #include #include @@ -25,13 +23,13 @@ Index: src/journal/journald-console.c #include "fileio.h" #include "journald-server.h" -@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) { +@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } -+#ifdef HAVE_SYSV_COMPAT +void defaul_tty_path(Server *s) +{ ++#ifdef HAVE_SYSV_COMPAT + static const char list[] = "/dev/tty10\0" "/dev/console\0"; + const char *vc; + @@ -51,10 +49,12 @@ Index: src/journal/journald-console.c + s->tty_path = strdup(vc); + break; + } ++#endif +} + +void klogconsole(Server *s) +{ ++#ifdef HAVE_SYSV_COMPAT + _cleanup_free_ char *klogconsole_params = NULL; + _cleanup_close_ int fd = -1; + const char *vc = s->tty_path; @@ -94,27 +94,29 @@ Index: src/journal/journald-console.c + num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); + if (safe_atoi(num, &r) == 0) + klogctl(8, 0, r); -+} +#endif ++} + void server_forward_console( Server *s, int priority, -@@ -64,6 +140,10 @@ void server_forward_console( +@@ -64,6 +142,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; ++#ifdef HAVE_SYSV_COMPAT + /* Do not write security/authorization (private) messages to console */ + if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) + return; ++#endif + /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -101,7 +181,23 @@ void server_forward_console( +@@ -100,7 +184,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { - log_debug("Failed to open %s for logging: %m", tty); + log_debug_errno(errno, "Failed to open %s for logging: %m", tty); +#ifdef HAVE_SYSV_COMPAT + if (fd != -ENOENT && fd != -ENODEV) + return; @@ -135,23 +137,18 @@ Index: src/journal/journald-console.c } if (writev(fd, iovec, n) < 0) -Index: src/journal/journald-console.h -=================================================================== ---- src/journal/journald-console.h.orig -+++ src/journal/journald-console.h -@@ -24,3 +24,7 @@ +--- systemd-219.orig/src/journal/journald-console.h ++++ systemd-219/src/journal/journald-console.h +@@ -24,3 +24,6 @@ #include "journald-server.h" - void server_forward_console(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred); -+#ifdef HAVE_SYSV_COMPAT + void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); ++ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); -+#endif -Index: src/journal/journald-server.c -=================================================================== ---- src/journal/journald-server.c.orig -+++ src/journal/journald-server.c -@@ -1509,6 +1509,11 @@ int server_init(Server *s) { +--- systemd-219.orig/src/journal/journald-server.c ++++ systemd-219/src/journal/journald-server.c +@@ -1520,6 +1520,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); @@ -161,5 +158,5 @@ Index: src/journal/journald-server.c + klogconsole(s); + if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { - log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0", - (long long unsigned) s->rate_limit_interval, + log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", + s->rate_limit_interval, s->rate_limit_burst); diff --git a/shut-up-annoying-assertion-monotonic-clock-message.patch b/shut-up-annoying-assertion-monotonic-clock-message.patch deleted file mode 100644 index ecdf4bc0..00000000 --- a/shut-up-annoying-assertion-monotonic-clock-message.patch +++ /dev/null @@ -1,38 +0,0 @@ -Stop flooding the kernel's message ring buffer with useless -messages on dual_timestamp_is_set is failed. This is a backport -from upstream code. - ---- - src/libsystemd/sd-event/sd-event.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- systemd-210/src/libsystemd/sd-event/sd-event.c -+++ systemd-210/src/libsystemd/sd-event/sd-event.c 2014-05-02 10:01:23.366235185 +0000 -@@ -2191,9 +2191,12 @@ _public_ int sd_event_exit(sd_event *e, - _public_ int sd_event_get_now_realtime(sd_event *e, uint64_t *usec) { - assert_return(e, -EINVAL); - assert_return(usec, -EINVAL); -- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); - assert_return(!event_pid_changed(e), -ECHILD); - -+ /* If we haven't run yet, just get the actual time */ -+ if (!dual_timestamp_is_set(&e->timestamp)) -+ return -ENODATA; -+ - *usec = e->timestamp.realtime; - return 0; - } -@@ -2201,9 +2204,12 @@ _public_ int sd_event_get_now_realtime(s - _public_ int sd_event_get_now_monotonic(sd_event *e, uint64_t *usec) { - assert_return(e, -EINVAL); - assert_return(usec, -EINVAL); -- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); - assert_return(!event_pid_changed(e), -ECHILD); - -+ /* If we haven't run yet, just get the actual time */ -+ if (!dual_timestamp_is_set(&e->timestamp)) -+ return -ENODATA; -+ - *usec = e->timestamp.monotonic; - return 0; - } diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch index 3230a8f1..2304a184 100644 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ b/shut-up-rpmlint-on-var-log-journal.patch @@ -1,6 +1,12 @@ ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am 2014-07-28 09:05:41.002735451 +0000 -@@ -3242,11 +3242,11 @@ noinst_LTLIBRARIES += \ +--- + Makefile.am | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -4209,11 +4209,11 @@ noinst_LTLIBRARIES += \ libsystemd-journal-core.la journal-install-hook: @@ -16,4 +22,4 @@ + -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ journal-uninstall-hook: - -rmdir $(DESTDIR)/var/log/journal/ + -rmdir $(DESTDIR)/var/log/journal/remote diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff new file mode 100644 index 00000000..b11ea682 --- /dev/null +++ b/suse-sysv-bootd-support.diff @@ -0,0 +1,86 @@ +From: Frederic Crozat +Date: Fri, 12 Apr 2013 16:56:26 +0200 +Subject: Revert "service: drop support for SysV scripts for the early boot" + +This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. + +[Implementation note: currently, the unit is generated, but not +activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] +--- + src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++----- + 1 file changed, 21 insertions(+), 5 deletions(-) + +--- systemd-219.orig/src/sysv-generator/sysv-generator.c ++++ systemd-219/src/sysv-generator/sysv-generator.c +@@ -42,7 +42,8 @@ + + typedef enum RunlevelType { + RUNLEVEL_UP, +- RUNLEVEL_DOWN ++ RUNLEVEL_DOWN, ++ RUNLEVEL_SYSINIT, + } RunlevelType; + + static const struct { +@@ -50,6 +51,9 @@ static const struct { + const char *target; + const RunlevelType type; + } rcnd_table[] = { ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++ + /* Standard SysV runlevels for start-up */ + { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, + { "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP }, +@@ -65,7 +69,7 @@ static const struct { + directories in this order, and we want to make sure that + sysv_start_priority is known when we first load the + unit. And that value we only know from S links. Hence +- UP must be read before DOWN */ ++ UP/SYSINIT must be read before DOWN */ + }; + + typedef struct SysvStub { +@@ -83,7 +87,7 @@ typedef struct SysvStub { + bool reload; + } SysvStub; + +-const char *arg_dest = "/tmp"; ++static const char *arg_dest = "/tmp"; + + static int add_symlink(const char *service, const char *where) { + _cleanup_free_ char *from = NULL, *to = NULL; +@@ -235,6 +239,10 @@ static bool usage_contains_reload(const + static char *sysv_translate_name(const char *name) { + char *r; + ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ name += 5; ++ + r = new(char, strlen(name) + strlen(".service") + 1); + if (!r) + return NULL; +@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo + + if (de->d_name[0] == 'S') { + +- if (rcnd_table[i].type == RUNLEVEL_UP) { ++ if (rcnd_table[i].type == RUNLEVEL_UP || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT) + service->sysv_start_priority = + MAX(a*10 + b, service->sysv_start_priority); +- } + + r = set_ensure_allocated(&runlevel_services[i], NULL); + if (r < 0) +@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo + goto finish; + + } else if (de->d_name[0] == 'K' && +- (rcnd_table[i].type == RUNLEVEL_DOWN)) { ++ (rcnd_table[i].type == RUNLEVEL_DOWN || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { + + r = set_ensure_allocated(&shutdown_services, NULL); + if (r < 0) diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 9b3defb9..08247c82 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -6,14 +6,14 @@ Subject: [PATCH] sysctl: handle /boot/sysctl.conf- Add support for kernel release sysctl.conf files (for per-flavor configuration), needed by openSUSE (bnc#809420). --- - src/sysctl/sysctl.c | 8 ++++++++ - units/systemd-sysctl.service.in | 1 + - 2 files changed, 9 insertions(+) + src/sysctl/sysctl.c | 8 ++++++++ + units/systemd-sysctl.service.in | 2 ++ + 2 files changed, 10 insertions(+) -Index: systemd-207/src/sysctl/sysctl.c +Index: systemd-218/src/sysctl/sysctl.c =================================================================== ---- systemd-207.orig/src/sysctl/sysctl.c -+++ systemd-207/src/sysctl/sysctl.c +--- systemd-218.orig/src/sysctl/sysctl.c ++++ systemd-218/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -22,7 +22,7 @@ Index: systemd-207/src/sysctl/sysctl.c #include "log.h" #include "strv.h" -@@ -299,6 +300,13 @@ int main(int argc, char *argv[]) { +@@ -310,6 +311,13 @@ int main(int argc, char *argv[]) { } else { _cleanup_strv_free_ char **files = NULL; char **f; @@ -36,14 +36,14 @@ Index: systemd-207/src/sysctl/sysctl.c r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { -Index: systemd-207/units/systemd-sysctl.service.in +Index: systemd-218/units/systemd-sysctl.service.in =================================================================== ---- systemd-207.orig/units/systemd-sysctl.service.in -+++ systemd-207/units/systemd-sysctl.service.in -@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys - ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d - ConditionDirectoryNotEmpty=|/etc/sysctl.d - ConditionDirectoryNotEmpty=|/run/sysctl.d +--- systemd-218.orig/units/systemd-sysctl.service.in ++++ systemd-218/units/systemd-sysctl.service.in +@@ -13,6 +13,8 @@ Conflicts=shutdown.target + After=systemd-modules-load.service + Before=sysinit.target shutdown.target + ConditionPathIsReadWrite=/proc/sys/ +ConditionPathExistsGlob=|/boot/sysctl.conf-%v +RequiresMountsFor=/boot diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch index 4dd058d9..86aec7e9 100644 --- a/systemctl-set-default-target.patch +++ b/systemctl-set-default-target.patch @@ -3,12 +3,14 @@ Mention that --force is required to override an already existing default.target This solves the bug bnc#868439 --- - systemctl.xml | 4 +++- + man/systemctl.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---- systemd-210/man/systemctl.xml -+++ systemd-210/man/systemctl.xml 2014-03-19 12:19:53.182235657 +0000 -@@ -371,7 +371,7 @@ along with systemd; If not, see @@ -17,12 +19,12 @@ This solves the bug bnc#868439 any existing conflicting symlinks. When used with halt, -@@ -1036,6 +1036,8 @@ kobject-uevent 1 systemd-udevd-kernel.so - - Set the default target to boot into. Command links - default.target to the given unit. +@@ -1215,6 +1215,8 @@ kobject-uevent 1 systemd-udevd-kernel.so + Return the default target to boot into. This returns + the target unit name default.target + is aliased (symlinked) to. + If combined with , override + an already existing symlink for the default target. - + diff --git a/systemd-210.tar.xz b/systemd-210.tar.xz deleted file mode 100644 index dd2041d8..00000000 --- a/systemd-210.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2b3ddf9bf82f05cc3079650e86ae05b558381fd034cf1b03a592bcadd1610c4 -size 2620924 diff --git a/systemd-219.tar.xz b/systemd-219.tar.xz new file mode 100644 index 00000000..d90808ee --- /dev/null +++ b/systemd-219.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c57113454e37c040d0cb481bd960ae7cf3a3fe0a231ff4945259bc74503f2d9 +size 3938228 diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index c1c06ba5..8eb7f440 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,25 +1,27 @@ -diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210.mod/man/tmpfiles.d.xml ---- systemd-210/man/tmpfiles.d.xml 2014-12-18 09:40:29.403629407 +0100 -+++ systemd-210.mod/man/tmpfiles.d.xml 2014-12-18 10:34:06.274130934 +0100 -@@ -435,8 +435,12 @@ - f, F, - and w may be used to - specify a short string that is written to the -- file, suffixed by a newline. Ignored for all -- other lines. -+ file, suffixed by a newline. -+ For x, X -+ a comma separated list of usernames. If given, -+ only paths belonging to these users will be -+ excluded during directory cleanup. -+ Ignored for all other lines. - - - -diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpfiles.c ---- systemd-210/src/tmpfiles/tmpfiles.c 2014-12-18 09:40:29.342629177 +0100 -+++ systemd-210.mod/src/tmpfiles/tmpfiles.c 2014-12-18 11:58:16.686576974 +0100 -@@ -263,6 +263,7 @@ +--- + man/tmpfiles.d.xml | 3 +++ + src/tmpfiles/tmpfiles.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- + 2 files changed, 43 insertions(+), 8 deletions(-) + +Index: systemd/man/tmpfiles.d.xml +=================================================================== +--- systemd.orig/man/tmpfiles.d.xml ++++ systemd/man/tmpfiles.d.xml +@@ -489,6 +489,9 @@ + f, F, and + w may be used to specify a short string that + is written to the file, suffixed by a newline. For ++ x, X, a comma separated list of ++ usernames. If given, only paths belonging to these users will be excluded ++ during directory cleanup. Ignored for all other lines. For + C, specifies the source file or + directory. For t determines extended + attributes to be set. For a determines +Index: systemd/src/tmpfiles/tmpfiles.c +=================================================================== +--- systemd.orig/src/tmpfiles/tmpfiles.c ++++ systemd/src/tmpfiles/tmpfiles.c +@@ -345,6 +345,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -27,52 +29,57 @@ diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpf while ((dent = readdir(d))) { struct stat s; -@@ -306,11 +307,43 @@ +@@ -395,14 +396,45 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ -- if (hashmap_get(items, sub_path)) +- if (hashmap_get(items, sub_path)) { +- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); - continue; +- } - -- if (find_glob(globs, sub_path)) +- if (find_glob(globs, sub_path)) { +- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); - continue; ++ bool found_glob = false; + found = hashmap_get(items, sub_path); -+ -+ if (!found) -+ found = find_glob(globs, sub_path); -+ -+ if (found) { -+ /* evaluate username arguments in ignore statements */ -+ if (found->type == IGNORE_PATH || found->type == IGNORE_DIRECTORY_PATH) { -+ if (!found->argument) -+ continue; -+ else { -+ struct passwd *pw; -+ char *userfound = NULL, *args = strdup(found->argument); -+ bool match = false; -+ int uid = -1; -+ -+ while ((userfound = strsep(&args, ","))) { -+ pw = getpwnam(userfound); -+ -+ if (!pw) -+ log_error("Unknown user '%s' in ignore statement.", userfound); -+ else { -+ uid = pw->pw_uid; -+ if (s.st_uid == uid) { -+ match = true; -+ break; -+ } -+ } -+ } -+ if (match) { -+ found = NULL; -+ continue; -+ } -+ } -+ } else -+ continue; ++ if (!found) { ++ found_glob = true; ++ found = find_glob(globs, sub_path); + } ++ if (found) { ++ struct passwd *pw; ++ char *userfound = NULL, *args; ++ bool match = false; ++ uid_t uid = -1; ++ ++ /* evaluate username arguments in ignore statements */ ++ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) || ++ !found->argument) { ++ if (found_glob) ++ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); ++ else ++ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); ++ continue; ++ } ++ args = strdup(found->argument); ++ assert_se(args != NULL); ++ while ((userfound = strsep(&args, ",")) != NULL) { ++ pw = getpwnam(userfound); ++ if (pw == NULL) { ++ log_error("Unknown user '%s' in ignore statement.", userfound); ++ continue; ++ } ++ uid = pw->pw_uid; ++ if (s.st_uid == uid) { ++ match = true; ++ break; ++ } ++ } ++ if (match) { ++ found = NULL; ++ continue; ++ } + } if (S_ISDIR(s.st_mode)) { - diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch index cede24c9..89c83e42 100644 --- a/systemd-dbus-system-bus-address.patch +++ b/systemd-dbus-system-bus-address.patch @@ -1,18 +1,14 @@ ---- systemd-210/src/shared/def.h -+++ systemd-210/src/shared/def.h 2014-03-12 13:11:06.502235254 +0000 -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS ---- systemd-210/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-210/src/libsystemd/sd-bus/sd-bus.c 2014-03-12 14:31:09.966736492 +0000 -@@ -794,8 +794,8 @@ static int parse_container_unix_address( - machine = NULL; +--- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/shared/def.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +Index: systemd/src/libsystemd/sd-bus/sd-bus.c +=================================================================== +--- systemd.orig/src/libsystemd/sd-bus/sd-bus.c ++++ systemd/src/libsystemd/sd-bus/sd-bus.c +@@ -809,8 +809,8 @@ static int parse_container_unix_address( + b->nspid = 0; b->sockaddr.un.sun_family = AF_UNIX; - strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); @@ -22,3 +18,16 @@ return 0; } +Index: systemd/src/shared/def.h +=================================================================== +--- systemd.orig/src/shared/def.h ++++ systemd/src/shared/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS diff --git a/systemd-journald.init b/systemd-journald.init deleted file mode 100644 index 0b8d5081..00000000 --- a/systemd-journald.init +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany. -# All rights reserved. -# -# /etc/init.d/systemd-journald -# -### BEGIN INIT INFO -# Provides: syslog -# Required-Start: $null -# Required-Stop: $null -# Default-Start: 2 3 5 -# Default-Stop: -# Short-Description: compat wrapper for journald -# Description: compat wrapper for journald -### END INIT INFO - -. /etc/rc.status - -rc_reset - -case "$1" in - start|stop|restart) - rc_failed 3 - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 - ;; -esac - -rc_exit diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index def95a7d..a9e12af8 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -1,3 +1,4 @@ +addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot\.8.*") @@ -16,6 +17,7 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 78b33870..7308f33f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,9 +1,569 @@ +------------------------------------------------------------------- +Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com + +- mark more subpackages as !bootstrap for systemd-mini usage. + +------------------------------------------------------------------- +Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org + +- spec : remove --with-firmware-path, firmware loader was removed in v217 +- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) +- spec: Do not enable systemd-readahead-collect.service and +systemd-readahead-replay.service as these do not exist anymore. +- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch + Yast was fixed to write all timezone changes exactly how timedated expects + things to be done. +- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg + package handles the migration from /etc/HOSTNAME to /etc/hostname + and owns both files. +-spec: remove boot.udev and systemd-journald.init as they currently + serve no purpose. +- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we + are in sysvcompat-only codepath, also remove the code targetting other + distributions, never compiled as the TARGET_$DISTRO macros are never defined. +- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT +- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards +- insserv-generator.patch: Only build when sysvcompat is enabled +- vhangup-on-all-consoles.patch add a comment indicating this is a workaround + for a kernel bug. +- spec: Add option to allow disabling sysvinit compat at build time. +- spec: Add option to enable resolved at build time. +- spec: Remove all %ifs for !factory products, current systemd releases can + neither be built nor installed in older products without upgrading + several components of the base system. + (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) +- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when + those init scripts still existed. (dummy localfs.service source: gone) +- systemd-sleep-grub: moved to the grub2 package where it belongs as a + suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) +- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds + config.h everywhere in the preprocessor cmdline. + +------------------------------------------------------------------- +Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 219 +* systemd units can now be "unsupported" (like, for example, + .device in a containers), similar to the "skipped" state in + SUSE's prior sysvinit scripts. +* tmpfiles gained the 'v' type for creating btrfs subvolumes. +* tmpfiles gained the 'a' type for setting ACLs. +* systemd-nspawn gained new switches: --ephemeral, --template +* The /var/lib/containers location is deprecated and replaced by + /var/lib/machines. +* machinectl gained the copy-from and copy-to commands. +* machinectl now knows a "bind" command (for use with nspawn) +* new "systemd-importd" daemon to download container images and run + them as nspawn containers. +* networkd collects LLDP network announcements, if available, and + so shown in networkctl. +* The fallback terminal type was changed from "vt102" to "vt220", + allowing PgUp/PgDn keys to work. +* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, + useful should the regular shutdown hang. +* Removing storage will cause systemd to unmount the associated + mountpoints so that they don't linger around. + +------------------------------------------------------------------- +Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de + +- Add suse-sysv-bootd-support.diff (reinstate old + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) + +------------------------------------------------------------------- +Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de + +- Update to systemd v218-1050-g38ab096 +- Remove patches + use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) +- Reinstate and improve (remove huge indents from) + tty-ask-password-agent-on-console.patch, + 0014-journald-with-journaling-FS.patch, rootsymlink_generator. + +------------------------------------------------------------------- +Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com + +- disable systemd-resolved for now as it interacts not well with + our methods and security has concerns regarding spoofing. bsc#917781 + ------------------------------------------------------------------- Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - Add patch kbd-model-map.patch to add missed keyboard layouts which are offered by YaST2 (bsc#910643 and boo#897803) +------------------------------------------------------------------- +Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 218 +* New utilities: systemd-timesyncd (SNTP client), + systemd-resolved, systemd-networkd, networkctl, + systemd-sysusers +* machinectl gained a "poweroff" command for clean container shutdown +* The udev hwdb now contains DPI information for mice. +* Userspace firmware loading support has been removed and + the minimum supported kernel version is thus bumped to 3.7. +- Remove patches: + G=gone locally, is upstream; + D=dropped: no longer needed; + N=no longer applies to source nor is it deemed needed; + K=killed: no longer applicable and too complex to resolve: + ---- + G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch + K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch + K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch + K handle-SYSTEMCTL_OPTIONS-environment-variable.patch + K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch + K log-target-null-instead-kmsg.patch + K tty-ask-password-agent-on-console.patch + K 513-nspawn-veth.patch + K 1087-infinit-timeout-for-kmod-loaded-modules.patch + D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + D avoid-leaking-socket-descriptors.patch + D 0001-make-fortify-happy-with-ppoll.patch + N fix-owner-of-var-log-btmp.patch + N disable-nss-myhostname-warning-bnc-783841.patch + N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch + N 0001-make-209-working-on-older-dist.patch + N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch + N tmpfiles-do-not-clean-for-mandb-index-files.patch + G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc + G optionally-warn-if-nss-myhostname-is-called.patch + G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch + G 0004-getty-generator-properly-escape-instance-names.patch + G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch + G 0008-Reset-signal-mask-on-re-exec-to-init.patch + G 0001-login-fix-pos-array-allocation.patch + G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch + G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + G 0005-Replace-var-run-with-run-in-remaining-places.patch + G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch + G 0007-README-document-that-var-run-must-be-a-symlink-run.patch + G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch + G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch + G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + G 0001-Fix-systemd-stdio-bridge-symlink.patch + G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch + G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch + G 0004-man-document-missing-options-of-systemd-run.patch + G 0005-systemd-run-add-some-extra-safety-checks.patch + G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch + G 0007-journal-forget-file-after-encountering-an-error.patch + G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch + G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch + G 0010-man-update-link-to-LSB.patch + G 0011-man-systemd-bootchart-fix-spacing-in-command.patch + G 0012-man-add-missing-comma.patch + G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch + G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch + G 0002-manager-flush-memory-stream-before-using-the-buffer.patch + G 0003-busname-don-t-drop-service-from-the-result-string.patch + G 0004-fix-off-by-one-error-in-array-index-assertion.patch + G 0005-logind-fix-policykit-checks.patch + G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch + G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch + G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch + G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch + G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch + G 0007-networkd-fix-typo.patch + G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch + G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch + G 0012-journald-remove-stray-reset-of-error-return-value.patch + G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch + G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch + G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch + G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch + G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch + G 0005-sd-daemon-fix-incorrect-variable-access.patch + G 0006-sd-event-initialization-perturbation-value-right-bef.patch + G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch + G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch + G 0001-journal-fix-export-of-messages-containing-newlines.patch + G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch + G 0003-tty-ask-password-agent-return-negative-errno.patch + G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch + G 0005-systemd-python-fix-failing-assert.patch + G 0007-dbus-suppress-duplicate-and-misleading-messages.patch + G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch + G 0001-bash-completion-fix-__get_startable_units.patch + G 0002-sysctl-replaces-some-slashes-with-dots.patch + G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch + G 0004-implement-a-union-to-pad-out-file_handle.patch + G shut-up-annoying-assertion-monotonic-clock-message.patch + G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch + G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch + G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch + G 0003-analyze-fix-plot-with-bad-y-size.patch + G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch + G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch + G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch + G 0002-backlight-do-nothing-if-max_brightness-is-0.patch + G 0003-backlight-unify-error-messages.patch + G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch + G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch + G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch + G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch + G 0001-core-close-socket-fds-asynchronously.patch + G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch + G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch + G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch + G 0002-logind-fix-printf-format.patch + G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch + G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch + G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch + G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch + G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch + G 0008-man-update-journald-rate-limit-defaults.patch + G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch + G 0010-logind-allow-suspending-if-there-are-no-displays.patch + G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch + G 0002-man-note-that-entire-sections-can-now-be-ignored.patch + G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch + G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch + G 0006-login-add-mir-to-the-list-of-session-types.patch + G 0007-logind-fix-Display-property-of-user-objects.patch + G 0001-hwdb-update.patch + G 0002-hwdb-update.patch + G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch + G 0004-hwdb-update.patch + G 0005-hwdb-update.patch + G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch + G 0002-journal-properly-detect-language-specified-in-line.patch + G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch + G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch + G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch + G 0002-nspawn-restore-journal-directory-is-empty-check.patch + G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + G 0004-socket-properly-handle-if-our-service-vanished-durin.patch + G 0001-Do-not-unescape-unit-names-in-Install-section.patch + G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch + G 0001-virt-rework-container-detection-logic.patch + G 0002-fsck-include-device-name-in-the-message-about-missin.patch + G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch + G 0004-util-ignore_file-should-not-allow-files-ending-with.patch + G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch + G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch + G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch + G 0001-hwdb-fix-case-sensitive-match.patch + G 0001-sd-event-restore-correct-timeout-behaviour.patch + G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch + G 0001-umount-modernizations.patch + G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch + G 0003-core-allow-transient-mount-units.patch + G 0004-systemd-detect-virt-only-discover-Xen-domU.patch + G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch + G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch + G 0001-core-fix-invalid-free-in-killall.patch + G 0003-install-fix-invalid-free-in-unit_file_mask.patch + G 0001-systemd-detect-virt-detect-s390-virtualization.patch + G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch + G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch + G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch + G 0005-po-add-Greek-translation.patch + G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0007-po-add-German-translation.patch + G 0009-core-clean-up-signal-reset-logic-when-reexec.patch + G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch + G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch + G 0012-core-transaction-avoid-misleading-error-message-when.patch + G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + G 0005-man-fix-path-in-crypttab-5.patch + G 0001-units-order-network-online.target-after-network.targ.patch + G 0001-core-use-correct-format-string-for-UIDs.patch + G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch + G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch + G 0002-journald-make-MaxFileSec-really-default-to-1month.patch + G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch + G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch + G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch + G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch + G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch + G 0001-parse_uid-return-ENXIO-for-1-uids.patch + G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch + G 0003-localed-consider-an-unset-model-as-a-wildcard.patch + G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch + G 0005-bus-close-a-bus-that-failed-to-connect.patch + G 0006-hwdb-update.patch + G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-architecture-Add-tilegx.patch + G 0002-architecture-Add-cris.patch + G 0003-arch-add-crisv32-to-uname-check.patch + G 0004-architecture-remove-cris-from-uname-list.patch + G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch + G 0002-namespace-fix-uninitialized-memory-access.patch + G 0001-machine-don-t-return-uninitialized-variable.patch + G 0002-vconsole-setup-run-setfont-before-loadkeys.patch + G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch + G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch + G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch + G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch + G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch + G 0007-service-flush-status-text-and-errno-values-each-time.patch + G 0001-journal-compress-return-early-in-uncompress_startswi.patch + G 0002-journal-compress-improve-xz-compression-performance.patch + G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch + G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch + G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch + G 0001-event-pull-in-sd-event.h-from-event-util.h.patch + G 0002-util-fix-has-cc-check-and-add-test.patch + G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch + G 0004-fileio-quote-more-shell-characters-in-envfiles.patch + G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch + G 0002-units-serial-getty-.service-use-the-default-RestartS.patch + G 0001-po-add-Ukrainian-translation.patch + G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch + G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch + G 0001-detect-virt-Fix-Xen-domU-discovery.patch + G 0002-Be-more-verbose-when-bind-or-listen-fails.patch + G 0003-Add-quotes-to-warning-message.patch + G 0004-systemd-return-the-first-error-from-manager_startup.patch + G 0001-bash-completion-p-option-for-journalctl.patch + G 0002-journalctl-man-allow-only-between-terms.patch + G 0003-systemd-use-pager-for-test-and-help.patch + G 0001-bus-proxyd-fix-incorrect-comparison.patch + G 0002-shell-completion-prevent-mangling-unit-names.patch + G 0003-Always-check-asprintf-return-code.patch + G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch + G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch + G 0006-parse_boolean-require-exact-matches.patch + G 0007-drop_duplicates-copy-full-BindMount-struct.patch + G 0008-shell-completion-prevent-mangling-unit-names-bash.patch + G 0009-journald-always-add-syslog-facility-for-messages-com.patch + G 0001-sysv-order-initscripts-which-provide-network-before-.patch + G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch + G 0003-keymap-Annotate-all-micmute-workarounds.patch + G 0007-hwdb-update.patch + G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch + G 0002-switch-root-umount-the-old-root-correctly.patch + G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch + G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch + G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch + G 0006-login-share-VT-signal-handler-between-sessions.patch + G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch + G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch + G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch + G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch + G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch + G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch + G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch + G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch + G 0003-keymap-Fix-HP-Pavillon-DV7.patch + G 0004-hwdb-update-format-description-and-document-reloadin.patch + G 0008-hwdb-update.patch + G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch + G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch + G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch + G 0001-login-fix-memory-leak-on-DropController.patch + G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch + G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch + G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch + G 0001-nspawn-fix-network-interface.patch + G 0001-completion-filter-templates-from-restartable-units.patch + G 0002-systemd-fix-error-message.patch + G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch + G 0004-config-parser-fix-mem-leak.patch + G 0005-login-fix-mem-leak.patch + G 0001-login-simplify-controller-handling.patch + G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch + G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0009-hwdb-update.patch + G 0001-systemctl-allow-to-change-the-default-target-without.patch + G 0001-activate-fix-fd-leak-in-do_accept.patch + G 0002-analyze-avoid-a-null-dereference.patch + G 0003-analyze-fix-mem-leak.patch + G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch + G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch + G 0006-bus-unref-buscreds-on-failure.patch + G 0007-core-fix-a-potential-mem-leak.patch + G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch + G 0009-journal-do-not-leak-mmaps-on-OOM.patch + G 0010-manager-use-correct-cleanup-function.patch + G 0001-core-fix-resource-leak-in-manager_environment_add.patch + G 0002-util-remove-a-unnecessary-check.patch + G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch + G 0004-shared-conf-parser.patch + G 0005-logind-fix-typo.patch + G 0006-systemctl-fix-resource-leak-CID-1237747.patch + G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch + G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch + G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch + G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch + G 0003-mount-order-options-before-other-arguments-to-mount.patch + G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch + G 0005-shared-label.h-add-missing-stdio.h-include.patch + G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch + G 0001-login-pause-devices-before-acknowledging-VT-switches.patch + G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch + G 0001-socket-introduce-SELinuxContextFromNet-option.patch + G 0002-util-avoid-non-portable-__WORDSIZE.patch + G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch + G 0002-bus-remove-unused-check.patch + G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch + G 0001-logind-add-support-for-Triton2-Power-Button.patch + G 0002-logind-add-support-for-TPS65217-Power-Button.patch + G 0001-shutdownd-clean-up-initialization-of-struct.patch + G 0003-bootchart-parse-userinput-with-safe_atoi.patch + G 0004-bootchart-check-return-of-strftime.patch + G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch + G 0001-journalctl-do-not-output-reboot-markers-when-running.patch + G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch + G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch + G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch + G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch + G 0003-fileio-label-return-error-when-writing-fails.patch + G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch + G 0004-sd-event-check-the-value-of-received-signal.patch + G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch + G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch + G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch + G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch + G 0003-sd-bus-check-return-value-of-vasprintf.patch + G 0004-core-map-the-rescue-argument-to-rescue.target.patch + G 0005-util-avoid-double-close-of-fd.patch + G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch + G 0001-tmpfiles-compare-return-against-correct-errno.patch + G 0001-shell-completion-fix-completion-of-inactive-units.patch + G 0002-shell-completion-propose-templates-for-disable-re-en.patch + G 0003-man-we-don-t-have-Wanted-dependency.patch + G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch + G 0001-systemd-continue-switch-root-even-if-umount-fails.patch + G 0002-systemd-try-harder-to-bind-to-notify-socket.patch + G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch + G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch + G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch + G 0004-journal-do-server_vacuum-for-sigusr1.patch + G 0005-cryptsetup-fix-an-OOM-check.patch + G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch + G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch + G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch + G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch + G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch + G 0005-journalctl-correct-help-text-for-until.patch + G 0006-calendarspec-fix-typo-in-annually.patch + G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch + G 0008-util-introduce-sethostname_idempotent.patch + G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch + G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch + G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch + G 0012-manager-do-not-print-anything-while-passwords-are-be.patch + G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch + G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch + G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch + G 0002-snapshot-return-error-when-snapshot-exists.patch + G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch + G 0004-Raise-level-of-Found-dependency.-lines.patch + G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch + G 0006-journald-fix-minor-memory-leak.patch + G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch + G 0008-journald-fix-memory-leak-on-error-path.patch + G 0009-units-make-systemd-journald.service-Type-notify.patch + G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch + G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch + G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch + G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch + G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch + G 0001-systemctl-let-list-units-unit-files-honour-type.patch + G 0002-systemctl-obey-state-in-list-unit-files.patch + G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch + G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch + G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch + G 0001-selinux-access-fix-broken-ternary-operator.patch + G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch + G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch + G 0004-core-fix-transaction-destructiveness-check-once-more.patch + G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch + G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch + G 1009-cdrom_id-use-the-old-MMC-fallback.patch + G 1010-udev-increase-result-size-for-programs.patch + G 1014-udev-update-net_id-comments.patch + G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch + G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch + G 1017-udev-serialize-synchronize-block-device-event-handli.patch + G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch + G 1019-udev-avoid-use-of-uninitialized-err.patch + G 1020-udev-keyboard-also-hook-into-change-events.patch + G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch + G 1024-udev-always-close-lock-file-descriptor.patch + G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch + G 1026-udevd-inotify-modernizations.patch + G 1027-udev-synthesize-change-events-for-partitions-when-to.patch + G 1028-udev-link-config-fix-mem-leak.patch + G 1029-udev-try-first-re-reading-the-partition-table.patch + G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch + G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch + G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch + G 1033-udev-really-exclude-device-mapper-from-block-device.patch + G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch + G 1038-udev-fix-invalid-free-in-enable_name_policy.patch + G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch + G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch + G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch + G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch + G 1044-rules-update-qemu-hid-rules.patch + G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch + G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch + G 1048-udev-net_setup_link-add-a-bit-more-logging.patch + G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch + G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch + G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch + G 1056-udevd-add-event-timeout-commandline-option.patch + G 1057-udev-unify-event-timeout-handling.patch + G 1058-udev-unify-event-timeout-handling.patch + G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch + G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch + G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch + G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch + G 1065-udev-bump-event-timeout-to-60-seconds.patch + G 1067-udev-always-resolve-correctly-database-names-on-chan.patch + G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch + G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch + G 1070-rules-net-setup-link-remove-stray-linebreak.patch + G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch + G 1072-udev-netif_rename-don-t-log-to-kmsg.patch + G 1073-udev-drop-print_kmsg.patch + G 1074-udev-fix-copy-paste-error-in-log-message.patch + G 1075-udev-timeout-increase-timeout.patch + G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1078-udev-remove-userspace-firmware-loading-support.patch + G 1079-udev-remove-userspace-firmware-loading-support.patch + G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch + G 1081-udevd-check-return-of-various-functions.patch + G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch + G 1083-udev-node-warn-if-chmod-chown-fails.patch + G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch + G 1085-udev-fix-typos.patch + G 1086-udevd-don-t-fail-if-run-udev-exists.patch + G 1089-fix-cgroup-device-controller.patch + G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + G 1091-udev-path_id-update-comments.patch + G 1092-libudev-do-not-accept-invalid-log-levels.patch + G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch + G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch + G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 015e1e0c..599ca3cd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,8 +23,9 @@ %define udevpkgname udev-mini %define udev_major 1 %bcond_without bash_completion -%bcond_without compat_libs %bcond_with networkd +%bcond_without sysvcompat +%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -45,7 +46,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 210 +Version: 219 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -56,112 +57,69 @@ Provides: %{real} = %{version}-%{release} BuildRequires: acl BuildRequires: audit-devel -%if %{with compat_libs} -# See gold_archs in binutils.spec -%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc -BuildRequires: binutils-gold -%endif -%endif -BuildRequires: config(suse-module-tools) -%if ! 0%{?bootstrap} -BuildRequires: docbook-xsl-stylesheets -%endif +BuildRequires: autoconf +BuildRequires: automake BuildRequires: fdupes -%if ! 0%{?bootstrap} -BuildRequires: gobject-introspection-devel -%endif BuildRequires: gperf -%if ! 0%{?bootstrap} BuildRequires: gtk-doc -%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool -%if ! 0%{?bootstrap} -BuildRequires: libusb-devel -BuildRequires: libxslt-tools -%endif BuildRequires: pam-devel -%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros -%endif -%if 0%{?suse_version} <= 1315 -BuildRequires: tcpd-devel -%endif BuildRequires: xz -BuildRequires: pkgconfig(blkid) >= 2.20 -%if ! 0%{?bootstrap} -BuildRequires: libgcrypt-devel -%if %{with python} -BuildRequires: python -%endif -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -%endif -%if 0%{?suse_version} <= 1310 -BuildRequires: pkgconfig(libkmod) >= 14 -%else +BuildRequires: config(suse-module-tools) +BuildRequires: pkgconfig(blkid) >= 2.24 BuildRequires: pkgconfig(libkmod) >= 15 -%endif BuildRequires: pkgconfig(liblzma) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libmicrohttpd) -%endif BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 -%endif -%if 0%{?suse_version} >= 1315 +BuildRequires: pkgconfig(mount) >= 2.20 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%else -%if 0%{?suse_version} >= 1310 -%ifarch %ix86 x86_64 x32 %arm -BuildRequires: pkgconfig(libseccomp) -%endif -%endif -%endif -%if ! 0%{?bootstrap} -BuildRequires: libapparmor-devel -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -%if 0%{?suse_version} > 1310 Conflicts: sysvinit -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi %else +BuildRequires: docbook-xsl-stylesheets +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: libgcrypt-devel +BuildRequires: libusb-devel +BuildRequires: libxslt-tools +%if %{with python} +BuildRequires: python +%endif +BuildRequires: libapparmor-devel +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libmicrohttpd) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd -%if 0%{?suse_version} <= 1310 -Requires: kmod >= 14 -%else Requires: kmod >= 15 -%endif Requires: netcfg Requires: pam-config >= 0.79-5 +BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.21 +Requires: util-linux >= 2.25 Requires(post): coreutils Requires(post): findutils -%endif -%if ! 0%{?bootstrap} Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent @@ -173,47 +131,31 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} -Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz + +#Git-Clone: git://anongit.freedesktop.org/systemd/systemd +Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif -Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh -Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs -# -# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r -Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch -# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called -Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch -Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch -Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch -Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch -Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch -Patch18: fix-owner-of-var-log-btmp.patch -# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file -Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -221,14 +163,11 @@ Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable -Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts -Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +Patch37: suse-sysv-bootd-support.diff # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file @@ -241,18 +180,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) -Patch23: disable-nss-myhostname-warning-bnc-783841.patch -# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin -Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian -Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -261,126 +192,8 @@ Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) -Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch -# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com -Patch117: 0001-make-209-working-on-older-dist.patch -# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com -Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch121: 0001-login-fix-pos-array-allocation.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch137: 0004-man-document-missing-options-of-systemd-run.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch140: 0007-journal-forget-file-after-encountering-an-error.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch143: 0010-man-update-link-to-LSB.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch145: 0012-man-add-missing-comma.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch151: 0005-logind-fix-policykit-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch158: 0007-networkd-fix-typo.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -389,8 +202,6 @@ Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com @@ -399,8 +210,6 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -413,652 +222,33 @@ Patch191: systemd-dbus-system-bus-address.patch Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/14 -Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -# PATCH-FIX-SUSE Do not clean the data base files of the manual pages -Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch199: 0001-bash-completion-fix-__get_startable_units.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch # PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. -Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch -# PATCH-FIX-UPSTREAM Fix uninitialized memory -Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch -# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) -Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch216: 0003-backlight-unify-error-messages.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch -# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) -Patch219: log-target-null-instead-kmsg.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch222: 0001-core-close-socket-fds-asynchronously.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch226: 0002-logind-fix-printf-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch232: 0008-man-update-journald-rate-limit-defaults.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch245: 0007-logind-fix-Display-property-of-user-objects.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch246: 0001-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch247: 0002-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch249: 0004-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch250: 0005-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch252: 0002-journal-properly-detect-language-specified-in-line.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch262: 0001-virt-rework-container-detection-logic.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch -# PATCH-FIX-UPSTREAM added at 2014/06/05 -Patch269: 0001-hwdb-fix-case-sensitive-match.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch272: 0001-umount-modernizations.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch274: 0003-core-allow-transient-mount-units.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU -Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch278: 0001-core-fix-invalid-free-in-killall.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch -# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) -Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch -# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available -Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch284: 0005-po-add-Greek-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch286: 0007-po-add-German-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch295: 0005-man-fix-path-in-crypttab-5.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch296: 0001-units-order-network-online.target-after-network.targ.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch297: 0001-core-use-correct-format-string-for-UIDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch312: 0006-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch314: 0001-architecture-Add-tilegx.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch315: 0002-architecture-Add-cris.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch316: 0003-arch-add-crisv32-to-uname-check.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch317: 0004-architecture-remove-cris-from-uname-list.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch319: 0002-namespace-fix-uninitialized-memory-access.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch320: 0001-machine-don-t-return-uninitialized-variable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch330: 0002-journal-compress-improve-xz-compression-performance.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/10 -Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch335: 0002-util-fix-has-cc-check-and-add-test.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch341: 0001-po-add-Ukrainian-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-SUSE Shut up rpmlint warning Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch347: 0003-Add-quotes-to-warning-message.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch349: 0001-bash-completion-p-option-for-journalctl.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch350: 0002-journalctl-man-allow-only-between-terms.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch355: 0003-Always-check-asprintf-return-code.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch358: 0006-parse_boolean-require-exact-matches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch -# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-UPSTREAM added at 2014/08/01 -Patch367: 0007-hwdb-update.patch # PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch370: 0002-switch-root-umount-the-old-root-correctly.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch385: 0008-hwdb-update.patch # PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch390: 0001-login-fix-memory-leak-on-DropController.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -# PATCH-FIX-UPSTREAM added at 2014/08/29 -Patch394: 0001-nspawn-fix-network-interface.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch395: 0001-completion-filter-templates-from-restartable-units.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch396: 0002-systemd-fix-error-message.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch398: 0004-config-parser-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch399: 0005-login-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/02 -Patch400: 0001-login-simplify-controller-handling.patch -# PATCH-FIX-UPSTREAM added at 2014/09/05 -Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/08 -Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/09/09 -Patch403: 0009-hwdb-update.patch -# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force -Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch406: 0002-analyze-avoid-a-null-dereference.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch407: 0003-analyze-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch410: 0006-bus-unref-buscreds-on-failure.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch411: 0007-core-fix-a-potential-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch414: 0010-manager-use-correct-cleanup-function.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch416: 0002-util-remove-a-unnecessary-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch418: 0004-shared-conf-parser.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch419: 0005-logind-fix-typo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary -Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved -Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) -Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch436: 0002-bus-remove-unused-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/26 -Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch442: 0004-bootchart-check-return-of-strftime.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch450: 0003-fileio-label-return-error-when-writing-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch452: 0004-sd-event-check-the-value-of-received-signal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch459: 0005-util-avoid-double-close-of-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/10/13 -Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/14 -Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch -# PATCH-FIX-SUSE added at 2014/10/15 -Patch468: avoid-leaking-socket-descriptors.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch473: 0005-cryptsetup-fix-an-OOM-check.patch -# PATCH-FIX-UPSTREAM added at 2014/10/24 -Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -# PATCH-FIX-SUSE added at 2014/10/24 +# PATCH-FIX-SUSE added on 2014/10/24 Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch480: 0005-journalctl-correct-help-text-for-until.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch481: 0006-calendarspec-fix-typo-in-annually.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch483: 0008-util-introduce-sethostname_idempotent.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch -# PATCH-FIX-SUSE added at 2014/11/05 +# PATCH-FIX-SUSE added on 2014/11/05 Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch496: 0006-journald-fix-minor-memory-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch498: 0008-journald-fix-memory-leak-on-error-path.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch -# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) -Patch513: 513-nspawn-veth.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) @@ -1085,188 +275,46 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 -Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch -# PATCH-FIX-SUSE increase result size for programs (bnc#867840) -Patch1010: 1010-udev-increase-result-size-for-programs.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch -Patch1014: 1014-udev-update-net_id-comments.patch -# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch # PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch Patch1021: 1021-udev-re-add-persistent-net-rules.patch -# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1024: 1024-udev-always-close-lock-file-descriptor.patch -# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch -Patch1026: 1026-udevd-inotify-modernizations.patch -# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch -Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch -# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch -Patch1028: 1028-udev-link-config-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch -Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch -# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch -Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch -# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch -Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch -Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch -# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch -Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch -# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch -Patch1044: 1044-rules-update-qemu-hid-rules.patch -# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch -Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch # PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch -# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch -Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch -# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch -Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch # PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) Patch1051: 1051-check-if-NAME-has-a-value.patch -# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch -Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch -# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch -Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch # PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch -# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch -Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch -# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch -Patch1057: 1057-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch -Patch1058: 1058-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch -Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch -Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch -Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) -Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch -# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch -Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch -# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch -Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch -# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch -Patch1073: 1073-udev-drop-print_kmsg.patch -# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch -Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch -# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch -Patch1075: 1075-udev-timeout-increase-timeout.patch -# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch -Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch -Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch -Patch1081: 1081-udevd-check-return-of-various-functions.patch -# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch -Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch -# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch -Patch1085: 1085-udev-fix-typos.patch -# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch -Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch -# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch -Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch # PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch -# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch -Patch1089: 1089-fix-cgroup-device-controller.patch -# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch -Patch1091: 1091-udev-path_id-update-comments.patch -# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch -Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch -# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch -Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch -Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1474,6 +522,24 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package -n nss-mymachines +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-mymachines +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured containers and virtual machines +systemd-machined knows about. + +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-resolve + %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ @@ -1485,13 +551,12 @@ Requires(postun): systemd %description journal-gateway systemd-journal-gatewayd serves journal events over the network using HTTP. - %endif %prep -%setup -q -n systemd-%{version} +%setup -q -n systemd-%version echo "Checking whether upstream rpm macros changed..." -[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 +diff -au "%{S:10}" src/core/macros.systemd.in # only needed for bootstrap %if 0%{?bootstrap} @@ -1499,29 +564,15 @@ cp %{SOURCE7} m4/ %endif # systemd patches -%patch0 -p1 -%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%if 0%{?suse_version} <= 1310 -%patch8 -p1 -%endif -%patch9 -p1 %patch12 -p1 -%patch13 -p0 -%patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 -%patch19 -p0 %patch20 -p1 %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -1532,418 +583,44 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch46 -p1 -%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 -%patch93 -p1 -%patch114 -p0 -%if 0%{?suse_version} <= 1310 -%patch117 -p1 -%endif -%patch119 -p1 %patch120 -p1 -%patch121 -p0 -%patch122 -p0 -%patch123 -p0 -%patch124 -p0 -%patch125 -p0 -%patch126 -p0 -%patch127 -p0 -%patch128 -p0 -%patch129 -p0 -%patch130 -p0 -%patch131 -p0 -%patch132 -p0 -%patch133 -p0 -%patch134 -p0 -%patch135 -p0 -%patch136 -p0 -%patch137 -p0 -%patch138 -p0 -%patch139 -p0 -%patch140 -p0 -%patch141 -p0 -%patch142 -p0 -%patch143 -p0 -%patch144 -p0 -%patch145 -p0 -%patch146 -p0 -%patch147 -p0 -%patch148 -p0 -%patch149 -p0 -%patch150 -p0 -%patch151 -p0 -%patch152 -p0 -%patch153 -p0 -%patch154 -p0 -%patch155 -p0 -%patch157 -p0 -%patch158 -p0 -%patch159 -p0 -%patch160 -p0 -%patch161 -p0 -%patch162 -p0 -%patch163 -p0 -%patch164 -p0 -%patch165 -p0 -%patch166 -p0 -%patch167 -p0 -%patch168 -p0 -%patch169 -p0 -%patch170 -p0 -%patch171 -p0 -%patch172 -p0 -%patch173 -p0 -%patch174 -p0 -%patch175 -p0 -%patch176 -p0 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 -%patch181 -p1 %patch182 -p1 %patch183 -p1 %patch185 -p1 %patch186 -p1 -%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 -%patch194 -p0 -%patch196 -p1 -%patch195 -p0 %patch197 -p1 %patch198 -p1 -%patch199 -p0 -%patch200 -p0 -%patch201 -p0 -%patch202 -p0 %patch203 -p1 -%patch204 -p1 -%patch206 -p0 -%patch207 -p0 %patch208 -p1 -%patch209 -p0 -%patch211 -p0 -%patch212 -p0 -%patch213 -p0 -%patch214 -p0 -%patch215 -p0 -%patch216 -p0 -%patch217 -p0 -%patch218 -p0 -%patch219 -p1 -%patch220 -p0 -%patch221 -p0 -%patch222 -p0 -%patch223 -p0 -%patch224 -p0 -%patch225 -p0 -%patch226 -p0 -%patch227 -p0 -%patch228 -p0 -%patch229 -p0 -%patch230 -p0 -%patch231 -p0 -%patch232 -p0 -%patch233 -p0 -%patch234 -p0 -%patch235 -p0 -%patch236 -p0 -%patch237 -p0 -%patch238 -p0 -%patch239 -p0 -%patch240 -p0 -%patch241 -p0 -%patch242 -p0 -%patch243 -p0 -%patch244 -p0 -%patch245 -p0 -%patch246 -p0 -%patch247 -p0 -%patch248 -p0 -%patch249 -p0 -%patch250 -p0 -%patch251 -p0 -%patch252 -p0 -%patch253 -p0 -%patch254 -p0 -%patch255 -p0 -%patch256 -p0 -%patch257 -p0 -%patch258 -p0 -%patch259 -p0 -%patch260 -p0 -%patch261 -p0 -%patch262 -p0 -%patch263 -p0 -%patch264 -p0 -%patch265 -p0 -%patch266 -p0 -%patch267 -p0 -%patch268 -p0 -%patch269 -p0 -%patch270 -p0 -%patch271 -p0 -%patch272 -p0 -%patch273 -p0 -%patch274 -p0 -%patch275 -p0 -%patch276 -p0 -%patch277 -p0 -%patch278 -p0 -%patch279 -p0 -%patch280 -p0 -%patch281 -p1 -%patch282 -p0 -%patch283 -p0 -%patch284 -p0 -%patch285 -p0 -%patch286 -p0 -%patch287 -p0 -%patch288 -p0 -%patch289 -p0 -%patch290 -p0 -%patch291 -p0 -%patch292 -p0 -%patch293 -p0 -%patch294 -p0 -%patch295 -p0 -%patch296 -p0 -%patch297 -p0 -%patch298 -p0 -%patch299 -p0 -%patch300 -p0 -%patch301 -p0 -%patch302 -p0 -%patch303 -p0 -%patch304 -p0 -%patch305 -p0 -%patch306 -p0 -%patch307 -p0 -%patch308 -p0 -%patch309 -p0 -%patch310 -p0 -%patch311 -p0 -%patch312 -p0 -%patch313 -p0 -%patch314 -p0 -%patch315 -p0 -%patch316 -p0 -%patch317 -p0 -%patch318 -p0 -%patch319 -p0 -%patch320 -p0 -%patch321 -p0 -%patch322 -p0 -%patch323 -p0 -%patch324 -p0 -%patch325 -p0 -%patch326 -p0 -%patch327 -p0 -%patch328 -p0 -%patch329 -p0 -%patch330 -p0 -%patch331 -p0 -%patch332 -p0 -%patch333 -p0 -%patch334 -p0 -%patch335 -p0 -%patch336 -p0 -%patch337 -p0 -%patch338 -p0 -%patch339 -p0 -%patch340 -p0 -%patch341 -p0 -%patch342 -p0 -%patch343 -p0 -%patch344 -p0 +%patch338 -p1 %patch345 -p1 -%patch346 -p0 -%patch347 -p0 -%patch348 -p0 -%patch349 -p0 -%patch350 -p0 -%patch351 -p0 -%patch352 -p0 -%patch353 -p0 -%patch354 -p0 -%patch355 -p0 -%patch356 -p0 -%patch357 -p0 -%patch358 -p0 -%patch359 -p0 -%patch360 -p0 -%patch361 -p0 +%patch352 -p1 %patch362 -p1 -%patch363 -p0 -%patch364 -p0 -%patch365 -p0 %patch366 -p1 -%patch367 -p0 %patch368 -p1 -%patch369 -p0 -%patch370 -p0 -%patch371 -p0 -%patch372 -p0 -%patch373 -p0 -%patch374 -p0 -%patch375 -p0 -%patch376 -p0 -%patch377 -p0 -%patch378 -p0 -%patch379 -p0 -%patch380 -p0 -%patch381 -p0 -%patch382 -p0 -%patch383 -p0 -%patch384 -p0 -%patch385 -p0 %patch386 -p1 -%patch387 -p0 -%patch388 -p0 -%patch389 -p0 -%patch390 -p0 -%patch391 -p0 -%patch392 -p0 -%patch393 -p0 -%patch394 -p0 -%patch395 -p0 -%patch396 -p0 -%patch397 -p0 -%patch398 -p0 -%patch399 -p0 -%patch400 -p0 -%patch401 -p0 -%patch402 -p0 -%patch403 -p0 -%patch404 -p0 -%patch405 -p0 -%patch406 -p0 -%patch407 -p0 -%patch408 -p0 -%patch409 -p0 -%patch410 -p0 -%patch411 -p0 -%patch412 -p0 -%patch413 -p0 -%patch414 -p0 -%patch415 -p0 -%patch416 -p0 -%patch417 -p0 -%patch418 -p0 -%patch419 -p0 -%patch420 -p0 -%patch421 -p0 -%patch422 -p0 -%patch423 -p0 -%patch424 -p0 -%patch425 -p0 -%patch426 -p0 -%patch427 -p0 -%patch428 -p0 -%patch429 -p0 %patch430 -p1 -%patch431 -p0 -%patch432 -p0 -%patch433 -p0 -%patch434 -p0 -%patch435 -p0 -%patch436 -p0 -%patch437 -p0 -%patch438 -p0 -%patch439 -p0 +%patch475 -p1 %ifarch %arm %patch38 -p1 %endif -%patch440 -p0 -%patch441 -p0 -%patch442 -p0 -%patch443 -p0 -%patch444 -p0 -%patch445 -p0 -%patch446 -p0 -%patch447 -p0 -%patch448 -p0 -%patch449 -p0 -%patch450 -p0 -%patch451 -p0 -%patch452 -p0 -%patch453 -p0 -%patch454 -p0 -%patch455 -p0 -%patch456 -p0 -%patch457 -p0 -%patch458 -p0 -%patch459 -p0 -%patch460 -p0 -%patch461 -p0 -%patch462 -p0 -%patch463 -p0 -%patch464 -p0 -%patch465 -p0 -%patch466 -p0 -%patch467 -p0 -%patch468 -p0 -%patch469 -p0 -%patch470 -p0 -%patch471 -p0 -%patch472 -p0 -%patch473 -p0 -%patch474 -p0 -%patch475 -p0 -%patch476 -p0 -%patch477 -p0 -%patch478 -p0 -%patch479 -p0 -%patch480 -p0 -%patch481 -p0 -%patch482 -p0 -%patch483 -p0 -%patch484 -p0 -%patch485 -p0 -%patch486 -p0 -%patch487 -p0 -%patch488 -p0 -%patch489 -p0 -%patch490 -p0 -%patch491 -p0 -%patch492 -p0 -%patch493 -p0 -%patch494 -p0 -%patch495 -p0 -%patch496 -p0 -%patch497 -p0 -%patch498 -p0 -%patch499 -p0 -%patch500 -p0 -%patch501 -p0 -%patch502 -p0 -%patch503 -p0 -%patch504 -p0 -%patch505 -p0 -%patch506 -p0 -%patch507 -p0 -%patch509 -p0 -%patch510 -p0 -%patch511 -p0 -%patch512 -p0 -%patch513 -p1 -%patch514 -p0 -%patch515 -p0 -%patch516 -p0 -%patch517 -p0 -%patch518 -p1 -%patch519 -p1 +%patch490 -p1 %patch520 -p1 -%patch521 -p0 +%patch521 -p1 # udev patches %patch1001 -p1 @@ -1952,131 +629,31 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 -%if 0%{?suse_version} <= 1310 -%patch1008 -p1 -%endif -%patch1009 -p1 -%patch1010 -p1 %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p0 -%patch1017 -p0 -%patch1018 -p0 -%patch1019 -p0 -%patch1020 -p0 %patch1021 -p1 -%if %{with udevsettle} -%patch1022 -p1 -%endif -%patch1023 -p0 -%patch1024 -p0 -%if %{with blkrrpart} -%patch1025 -p1 -%endif -%patch1026 -p1 -%if %{with blkrrpart} -%patch1027 -p1 -%endif -%patch1028 -p1 -%if %{with blkrrpart} -%patch1029 -p1 -%patch1030 -p1 -%patch1031 -p1 -%patch1032 -p1 -%patch1033 -p1 -%patch1034 -p1 -%endif %patch1035 -p1 %patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1038 -p0 -%if %{with udevsettle} -%patch1039 -p0 -%endif %patch1040 -p1 -%if %{with udevsettle} -%patch1041 -p0 -%patch1042 -p0 -%patch1043 -p0 -%endif -%patch1044 -p0 -%patch1045 -p0 %patch1046 -p1 -%patch1047 -p0 -%patch1048 -p0 -%patch1049 -p0 %patch1050 -p1 %patch1051 -p1 -%patch1052 -p0 %patch1053 -p1 %if %{with blkrrpart} -%patch1054 -p0 %else %patch1055 -p1 %endif -%patch1056 -p0 -%if %{with udevsettle} -%patch1057 -p0 -%else -%patch1058 -p0 -%endif -%patch1059 -p0 %patch1060 -p1 -%patch1061 -p0 %patch1062 -p1 -%if %{with parentpathid} -%patch1063 -p0 -%endif -%patch1064 -p0 -%patch1065 -p0 %patch1066 -p1 -%patch1067 -p1 -%patch1068 -p0 -%patch1069 -p0 -%patch1070 -p0 -%patch1071 -p0 -%patch1072 -p0 -%patch1073 -p0 -%patch1074 -p0 -%patch1075 -p0 -%if %{with udevsettle} -%patch1076 -p0 -%else -%patch1077 -p0 -%endif -%if 0%{?suse_version} > 1310 -%if %{with udevsettle} -%patch1079 -p1 -%else -%patch1078 -p1 -%endif -%endif -%patch1080 -p0 -%patch1081 -p0 -%patch1082 -p0 -%patch1083 -p0 -%patch1084 -p0 -%patch1085 -p0 -%patch1086 -p0 -%patch1087 -p0 %patch1088 -p1 -%patch1089 -p1 -%if %{with parentpathid} -%patch1090 -p0 -%patch1091 -p0 -%endif -%patch1092 -p0 -%patch1093 -p0 -%patch1094 -p0 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 -%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -2096,17 +673,6 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi -%if 0%{?suse_version} <= 1310 -# -# Older versions like oS 13.1 do not distinguish between -# network.target and network-online.target -# -for f in src/core/service.c src/insserv-generator/insserv-generator.c -do - sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f -done -%endif - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -2147,11 +713,11 @@ cflags () esac set +o noclobber } -autoreconf -fiv +autoreconf -fi # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export CFLAGS="%{optflags}" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -2177,6 +743,7 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-gudev \ --disable-myhostname \ --disable-manpages \ + --disable-machined \ %else --enable-manpages \ %if %{with python} @@ -2184,16 +751,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ -%endif -%if %{with compat_libs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ -%if 0%{?suse_version} <= 1310 - --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ -%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -2202,11 +763,15 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ -%if 0%{?suse_version} > 1310 - --disable-multi-seat-x \ -%endif %if %{without networkd} --disable-networkd \ +%endif +%if %{without sysvcompat} + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ +%endif +%if %{without resolved} + --disable-resolved \ %endif --disable-kdbus make %{?_smp_mflags} @@ -2215,19 +780,9 @@ make %{?_smp_mflags} update-man-list man %endif %install -# Use refreshed manual pages -for man in man/*.[0-9] -do - section=${man##*.} - test -d man/man${section} || continue - new=man/man${section}/${man##*/} - if test -s $new -a $new -nt $man - then - cp -p $new $man - else - sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man - fi -done +%if !0%{?bootstrap} +cp man/man[0-9]/*.[0-9] man/ +%endif make install DESTDIR="%buildroot" # move to %{_lib} @@ -2240,24 +795,17 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -%if 0%{?suse_version} <= 1310 -ln -sf /lib/firmware %{buildroot}/usr/lib/firmware -%endif + %if ! 0%{?bootstrap} -install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} -sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} -sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule -install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -2275,28 +823,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service -ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service + # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -2369,15 +896,6 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ -%if ! 0%{?bootstrap} -%if %{without python} -for man in systemd.directives.7 systemd.index.7 -do - install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ -done -%endif -%endif - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -2394,10 +912,8 @@ done > files.completion > files.completion %endif -%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -2409,30 +925,6 @@ do done %endif -%if 0%{suse_version} <= 1310 -cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' - [Unit] - Description=Fix against deadlock at shutdown - Wants=remote-fs.target remote-fs-pre.target - Before=remote-fs.target systemd-logind.service - After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target - ConditionPathExists=|/etc/init.d/autofs - ConditionPathExists=|/etc/init.d/nfs - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/bin/true - ExecStop=-/etc/init.d/autofs stop - ExecStop=-/etc/init.d/nfs stop - - [Install] - WantedBy=remote-fs.target - EOF - mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants - ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants -%endif - # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -2480,6 +972,7 @@ fi getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : %endif +systemd-sysusers || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -2527,8 +1020,6 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -2558,7 +1049,6 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -2657,6 +1147,9 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%post -n nss-mymachines -p /sbin/ldconfig +%postun -n nss-mymachines -p /sbin/ldconfig + %pre journal-gateway getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : @@ -2679,17 +1172,26 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl -%{_bindir}/systemd-sleep-grub +%if %{with networkd} +%{_bindir}/networkctl +%endif %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%if ! 0%{?bootstrap} %{_bindir}/machinectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/systemd-coredumpctl +%{_bindir}/coredumpctl %{_bindir}/systemd-delta +%{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot +%{_bindir}/systemd-path +%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify +%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -2732,7 +1234,6 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif %{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -2771,12 +1272,19 @@ exit 0 %{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-debug-generator +%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator +%if %{with sysvcompat} +%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator +%{_prefix}/lib/systemd/system-preset/ +%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -2805,13 +1313,23 @@ exit 0 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%endif +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%endif +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -2828,15 +1346,24 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%if %{with networkd} +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%if !0%{?bootstrap} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions +%if !0%{?bootstrap} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy @@ -2886,8 +1413,11 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%if 0%{?suse_version} > 1310 -%{_datadir}/pkgconfig/systemd.pc +%if %{with resolved} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_sysconfdir}/systemd/resolved.conf +%{_libdir}/libnss_resolve.so.2 +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif %if ! 0%{?bootstrap} @@ -2912,9 +1442,7 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/systemd.pc -%endif +%{_libdir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -2976,7 +1504,6 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* -%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -3007,9 +1534,6 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/udev.pc -%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -3043,8 +1567,9 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %{_localstatedir}/log/README -/etc/init.d/systemd-journald +%endif %files -n nss-myhostname %defattr(-, root, root) @@ -3057,6 +1582,10 @@ exit 0 %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_mandir}/man8/systemd-journal-gatewayd.* %{_datadir}/systemd/gatewayd + +%files -n nss-mymachines +%defattr(-,root,root) +%_libdir/libnss_mymachines.so* %endif %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 85027c50..898a6548 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -1,14 +1,16 @@ -diff --git a/src/login/systemd-user b/src/login/systemd-user -index 7b57dbf..c0fc793 100644 ---- a/src/login/systemd-user -+++ b/src/login/systemd-user -@@ -2,7 +2,7 @@ +--- + src/login/systemd-user | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-218/src/login/systemd-user +=================================================================== +--- systemd-218.orig/src/login/systemd-user ++++ systemd-218/src/login/systemd-user +@@ -2,5 +2,5 @@ + # + # Used by systemd --user instances. - # Used by systemd when launching systemd user instances. - --account include system-auth --session include system-auth -+account include common-account -+session include common-session - auth required pam_deny.so - password required pam_deny.so +-account include system-auth +-session include system-auth ++account include common-account ++session include common-session diff --git a/systemd-powerd-initctl-support.patch b/systemd-powerd-initctl-support.patch index bc0e3ca4..675124ba 100644 --- a/systemd-powerd-initctl-support.patch +++ b/systemd-powerd-initctl-support.patch @@ -12,10 +12,8 @@ Signed-off-by: Hannes Reinecke src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) -diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c -index 468df35..d4794a6 100644 ---- a/src/initctl/initctl.c -+++ b/src/initctl/initctl.c +--- systemd-219.orig/src/initctl/initctl.c ++++ systemd-219/src/initctl/initctl.c @@ -32,8 +32,11 @@ #include #include @@ -36,11 +34,12 @@ index 468df35..d4794a6 100644 #define SERVER_FD_MAX 16 #define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC)) -@@ -141,7 +145,53 @@ static void change_runlevel(Server *s, int runlevel) { +@@ -141,7 +145,54 @@ static void change_runlevel(Server *s, i } } +static int send_shutdownd(unsigned delay, char mode, const char *message) { ++#ifdef HAVE_SYSV_COMPAT + usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE; + struct sd_shutdown_command c = { + .usec = t, @@ -81,7 +80,7 @@ index 468df35..d4794a6 100644 + + if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) + return -errno; -+ ++#endif + return 0; +} + @@ -90,7 +89,7 @@ index 468df35..d4794a6 100644 assert(s); assert(req); -@@ -184,9 +234,28 @@ static void request_process(Server *s, const struct init_request *req) { +@@ -184,9 +235,28 @@ static void request_process(Server *s, c return; case INIT_CMD_POWERFAIL: @@ -120,6 +119,3 @@ index 468df35..d4794a6 100644 return; case INIT_CMD_CHANGECONS: --- -1.8.1.4 - diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index def95a7d..a9e12af8 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,3 +1,4 @@ +addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot\.8.*") @@ -16,6 +17,7 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-sleep-grub b/systemd-sleep-grub deleted file mode 100644 index 5cd8bef3..00000000 --- a/systemd-sleep-grub +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. - -set -x - -prepare-parameters() -{ - eval `grep LOADER_TYPE= /etc/sysconfig/bootloader` - - if [ x"$LOADER_TYPE" = "xgrub2" -o x"$LOADER_TYPE" = "xgrub2-efi" ]; then - GRUBONCE="/usr/sbin/grub2-once" - GRUBDEFAULT="/boot/grub2/grubenv" - GRUB2EDITENV="/usr/bin/grub2-editenv" - GRUB2CONF="/boot/grub2/grub.cfg" - BLKID="/usr/sbin/blkid" - getkernels="getkernels-grub2" - fi -} - -##################################################################### -# gets a list of available kernels from /boot/grub2/grub.cfg -# kernels are in the array $KERNELS, output to stdout to be eval-ed. -getkernels-grub2() -{ - local I DUMMY MNT ROOTDEV - declare -i I=0 J=-1 - - # we need the root partition later to decide if this is the kernel to select - while read ROOTDEV MNT DUMMY; do - [ "$ROOTDEV" = "rootfs" ] && continue # not what we are searching for - if [ "$MNT" = "/" ]; then - break - fi - done < /proc/mounts - - while read LINE; do - case $LINE in - menuentry\ *) - let J++ - ;; - set\ default*) - local DEFAULT=${LINE#*default=} - - if echo $DEFAULT | grep -q saved_entry ; then - local SAVED=`$GRUB2EDITENV $GRUBDEFAULT list | sed -n s/^saved_entry=//p` - if [ -n "$SAVED" ]; then - DEFAULT_BOOT=$($GRUBONCE --show-mapped "$SAVED") - fi - fi - - ;; - linux*noresume*|module*xen*noresume*) - echo " Skipping grub entry #${J}, because it has the noresume option" >&2 - ;; - linux*root=*|module*xen*root=*) - local ROOT - ROOT=${LINE#*root=} - DUMMY=($ROOT) - ROOT=${DUMMY[0]} - - if [ x"${ROOT:0:5}" = "xUUID=" ]; then - UUID=${ROOT#UUID=} - if [ -n "$UUID" ]; then - ROOT=$($BLKID -U $UUID) - fi - fi - - if [ "$(stat -Lc '%t:%T' $ROOT)" != "$(stat -Lc '%t:%T' $ROOTDEV)" ]; then - echo " Skipping grub entry #${J}, because its root= parameter ($ROOT)" >&2 - echo " does not match the current root device ($ROOTDEV)." >&2 - continue - fi - DUMMY=($LINE) # kernel (hd0,1)/boot/vmlinuz-ABC root=/dev/hda2 - echo "KERNELS[$I]='${DUMMY[1]##*/}'" # vmlinuz-ABC - echo "MENU_ENTRIES[$I]=$J" - # DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO - let I++ - ;; - linux*|module*xen*) - # a kernel without "root="? We better skip that one... - echo " Skipping grub entry #${J}, because it has no root= option" >&2 - ;; - *) ;; - esac - done < "$GRUB2CONF" -} - -############################################################# -# runs grubonce from the grub package to select which kernel -# to boot on next startup -grub-once() -{ - if [ -x "$GRUBONCE" ]; then - echo " running '$GRUBONCE $1'" - $GRUBONCE $1 - else - echo "WARNING: $GRUBONCE not found, not preparing bootloader" - fi -} - -############################################################# -# restore grub default after (eventually failed) resume -grub-once-restore() -{ - echo "INFO: running grub-once-restore" - prepare-parameters - $GRUB2EDITENV $GRUBDEFAULT unset next_entry -} - -############################################################################# -# try to find a kernel image that matches the actually running kernel. -# We need this, if more than one kernel is installed. This works reasonably -# well with grub, if all kernels are named "vmlinuz-`uname -r`" and are -# located in /boot. If they are not, good luck ;-) -find-kernel-entry() -{ - NEXT_BOOT=-1 - ARCH=`uname -m` - declare -i I=0 - # DEBUG "running kernel: $RUNNING" DIAG - while [ -n "${KERNELS[$I]}" ]; do - BOOTING="${KERNELS[$I]}" - if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then - # DEBUG "Found kernel symlink $BOOTING => $IMAGE" INFO - BOOTING=$IMAGE - fi - case $ARCH in - ppc*) BOOTING="${BOOTING#*vmlinux-}" ;; - *) BOOTING="${BOOTING#*vmlinuz-}" ;; - esac - if [ "$RUNNING" == "$BOOTING" ]; then - NEXT_BOOT=${MENU_ENTRIES[$I]} - echo " running kernel is grub menu entry $NEXT_BOOT (${KERNELS[$I]})" - break - fi - let I++ - done - # if we have not found a kernel, issue a warning. - # if we have found a kernel, we'll do "grub-once" later, after - # prepare_suspend finished. - if [ $NEXT_BOOT -eq -1 ]; then - echo "WARNING: no kernelfile matching the running kernel found" - fi -} - -############################################################################# -# if we did not find a kernel (or BOOT_LOADER is not GRUB) check, -# if the running kernel is still the one that will (probably) be booted for -# resume (default entry in menu.lst or, if there is none, the kernel file -# /boot/vmlinuz points to.) -# This will only work, if you use "original" SUSE kernels. -# you can always override with the config variable set to "yes" -prepare-grub() -{ - echo "INFO: running prepare-grub" - prepare-parameters - eval `$getkernels` - RUNNING=`uname -r` - find-kernel-entry - - RET=0 - - if [ $NEXT_BOOT -eq -1 ]; then - # which kernel is booted with the default entry? - BOOTING="${KERNELS[$DEFAULT_BOOT]}" - # if there is no default entry (no menu.lst?) we fall back to - # the default of /boot/vmlinuz. - [ -z "$BOOTING" ] && BOOTING="vmlinuz" - if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then - BOOTING=$IMAGE - fi - BOOTING="${BOOTING#*vmlinuz-}" - echo "running kernel: '$RUNNING', probably booting kernel: '$BOOTING'" - if [ "$BOOTING" != "$RUNNING" ]; then - echo "ERROR: kernel version mismatch, cannot suspend to disk" - echo "running: $RUNNING booting: $BOOTING" >> $INHIBIT - RET=1 - fi - else - # set the bootloader to the running kernel - echo " preparing boot-loader: selecting entry $NEXT_BOOT, kernel /boot/$BOOTING" - T1=`date +"%s%N"` - sync; sync; sync # this is needed to speed up grub-once on reiserfs - T2=`date +"%s%N"` - echo " grub-once: `grub-once $NEXT_BOOT`" - T3=`date +"%s%N"` - S=$(((T2-T1)/100000000)); S="$((S/10)).${S:0-1}" - G=$(((T3-T2)/100000000)); G="$((G/10)).${G:0-1}" - echo " time needed for sync: $S seconds, time needed for grub: $G seconds." - fi - - return $RET -} - - -###### main() - -if [ "$1" = pre ] ; then - prepare-grub -fi -if [ "$1" = post ] ; then - grub-once-restore -fi diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index 61d05349..dd7c0d80 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -5,20 +5,22 @@ Subject: systemd tmp safe defaults Fix regression in the default for tmp auto-deletion (FATE#314974). SUSE policy is to not clean /tmp by default. --- - tmpfiles.d/tmp.conf | 5 +++-- + tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---- systemd-206.orig/tmpfiles.d/tmp.conf -+++ systemd-206/tmpfiles.d/tmp.conf +Index: systemd/tmpfiles.d/tmp.conf +=================================================================== +--- systemd.orig/tmpfiles.d/tmp.conf ++++ systemd/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override --d /tmp 1777 root root 10d --d /var/tmp 1777 root root 30d +-v /tmp 1777 root root 10d +-v /var/tmp 1777 root root 30d +# SUSE policy: we don't clean those directories -+d /tmp 1777 root root - -+d /var/tmp 1777 root root - ++v /tmp 1777 root root - ++v /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index 78b33870..7308f33f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,9 +1,569 @@ +------------------------------------------------------------------- +Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com + +- mark more subpackages as !bootstrap for systemd-mini usage. + +------------------------------------------------------------------- +Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org + +- spec : remove --with-firmware-path, firmware loader was removed in v217 +- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) +- spec: Do not enable systemd-readahead-collect.service and +systemd-readahead-replay.service as these do not exist anymore. +- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch + Yast was fixed to write all timezone changes exactly how timedated expects + things to be done. +- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg + package handles the migration from /etc/HOSTNAME to /etc/hostname + and owns both files. +-spec: remove boot.udev and systemd-journald.init as they currently + serve no purpose. +- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we + are in sysvcompat-only codepath, also remove the code targetting other + distributions, never compiled as the TARGET_$DISTRO macros are never defined. +- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT +- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards +- insserv-generator.patch: Only build when sysvcompat is enabled +- vhangup-on-all-consoles.patch add a comment indicating this is a workaround + for a kernel bug. +- spec: Add option to allow disabling sysvinit compat at build time. +- spec: Add option to enable resolved at build time. +- spec: Remove all %ifs for !factory products, current systemd releases can + neither be built nor installed in older products without upgrading + several components of the base system. + (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) +- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when + those init scripts still existed. (dummy localfs.service source: gone) +- systemd-sleep-grub: moved to the grub2 package where it belongs as a + suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) +- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds + config.h everywhere in the preprocessor cmdline. + +------------------------------------------------------------------- +Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 219 +* systemd units can now be "unsupported" (like, for example, + .device in a containers), similar to the "skipped" state in + SUSE's prior sysvinit scripts. +* tmpfiles gained the 'v' type for creating btrfs subvolumes. +* tmpfiles gained the 'a' type for setting ACLs. +* systemd-nspawn gained new switches: --ephemeral, --template +* The /var/lib/containers location is deprecated and replaced by + /var/lib/machines. +* machinectl gained the copy-from and copy-to commands. +* machinectl now knows a "bind" command (for use with nspawn) +* new "systemd-importd" daemon to download container images and run + them as nspawn containers. +* networkd collects LLDP network announcements, if available, and + so shown in networkctl. +* The fallback terminal type was changed from "vt102" to "vt220", + allowing PgUp/PgDn keys to work. +* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, + useful should the regular shutdown hang. +* Removing storage will cause systemd to unmount the associated + mountpoints so that they don't linger around. + +------------------------------------------------------------------- +Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de + +- Add suse-sysv-bootd-support.diff (reinstate old + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) + +------------------------------------------------------------------- +Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de + +- Update to systemd v218-1050-g38ab096 +- Remove patches + use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) +- Reinstate and improve (remove huge indents from) + tty-ask-password-agent-on-console.patch, + 0014-journald-with-journaling-FS.patch, rootsymlink_generator. + +------------------------------------------------------------------- +Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com + +- disable systemd-resolved for now as it interacts not well with + our methods and security has concerns regarding spoofing. bsc#917781 + ------------------------------------------------------------------- Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - Add patch kbd-model-map.patch to add missed keyboard layouts which are offered by YaST2 (bsc#910643 and boo#897803) +------------------------------------------------------------------- +Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 218 +* New utilities: systemd-timesyncd (SNTP client), + systemd-resolved, systemd-networkd, networkctl, + systemd-sysusers +* machinectl gained a "poweroff" command for clean container shutdown +* The udev hwdb now contains DPI information for mice. +* Userspace firmware loading support has been removed and + the minimum supported kernel version is thus bumped to 3.7. +- Remove patches: + G=gone locally, is upstream; + D=dropped: no longer needed; + N=no longer applies to source nor is it deemed needed; + K=killed: no longer applicable and too complex to resolve: + ---- + G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch + K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch + K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch + K handle-SYSTEMCTL_OPTIONS-environment-variable.patch + K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch + K log-target-null-instead-kmsg.patch + K tty-ask-password-agent-on-console.patch + K 513-nspawn-veth.patch + K 1087-infinit-timeout-for-kmod-loaded-modules.patch + D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + D avoid-leaking-socket-descriptors.patch + D 0001-make-fortify-happy-with-ppoll.patch + N fix-owner-of-var-log-btmp.patch + N disable-nss-myhostname-warning-bnc-783841.patch + N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch + N 0001-make-209-working-on-older-dist.patch + N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch + N tmpfiles-do-not-clean-for-mandb-index-files.patch + G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc + G optionally-warn-if-nss-myhostname-is-called.patch + G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch + G 0004-getty-generator-properly-escape-instance-names.patch + G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch + G 0008-Reset-signal-mask-on-re-exec-to-init.patch + G 0001-login-fix-pos-array-allocation.patch + G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch + G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + G 0005-Replace-var-run-with-run-in-remaining-places.patch + G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch + G 0007-README-document-that-var-run-must-be-a-symlink-run.patch + G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch + G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch + G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + G 0001-Fix-systemd-stdio-bridge-symlink.patch + G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch + G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch + G 0004-man-document-missing-options-of-systemd-run.patch + G 0005-systemd-run-add-some-extra-safety-checks.patch + G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch + G 0007-journal-forget-file-after-encountering-an-error.patch + G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch + G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch + G 0010-man-update-link-to-LSB.patch + G 0011-man-systemd-bootchart-fix-spacing-in-command.patch + G 0012-man-add-missing-comma.patch + G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch + G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch + G 0002-manager-flush-memory-stream-before-using-the-buffer.patch + G 0003-busname-don-t-drop-service-from-the-result-string.patch + G 0004-fix-off-by-one-error-in-array-index-assertion.patch + G 0005-logind-fix-policykit-checks.patch + G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch + G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch + G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch + G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch + G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch + G 0007-networkd-fix-typo.patch + G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch + G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch + G 0012-journald-remove-stray-reset-of-error-return-value.patch + G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch + G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch + G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch + G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch + G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch + G 0005-sd-daemon-fix-incorrect-variable-access.patch + G 0006-sd-event-initialization-perturbation-value-right-bef.patch + G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch + G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch + G 0001-journal-fix-export-of-messages-containing-newlines.patch + G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch + G 0003-tty-ask-password-agent-return-negative-errno.patch + G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch + G 0005-systemd-python-fix-failing-assert.patch + G 0007-dbus-suppress-duplicate-and-misleading-messages.patch + G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch + G 0001-bash-completion-fix-__get_startable_units.patch + G 0002-sysctl-replaces-some-slashes-with-dots.patch + G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch + G 0004-implement-a-union-to-pad-out-file_handle.patch + G shut-up-annoying-assertion-monotonic-clock-message.patch + G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch + G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch + G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch + G 0003-analyze-fix-plot-with-bad-y-size.patch + G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch + G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch + G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch + G 0002-backlight-do-nothing-if-max_brightness-is-0.patch + G 0003-backlight-unify-error-messages.patch + G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch + G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch + G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch + G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch + G 0001-core-close-socket-fds-asynchronously.patch + G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch + G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch + G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch + G 0002-logind-fix-printf-format.patch + G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch + G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch + G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch + G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch + G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch + G 0008-man-update-journald-rate-limit-defaults.patch + G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch + G 0010-logind-allow-suspending-if-there-are-no-displays.patch + G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch + G 0002-man-note-that-entire-sections-can-now-be-ignored.patch + G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch + G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch + G 0006-login-add-mir-to-the-list-of-session-types.patch + G 0007-logind-fix-Display-property-of-user-objects.patch + G 0001-hwdb-update.patch + G 0002-hwdb-update.patch + G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch + G 0004-hwdb-update.patch + G 0005-hwdb-update.patch + G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch + G 0002-journal-properly-detect-language-specified-in-line.patch + G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch + G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch + G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch + G 0002-nspawn-restore-journal-directory-is-empty-check.patch + G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + G 0004-socket-properly-handle-if-our-service-vanished-durin.patch + G 0001-Do-not-unescape-unit-names-in-Install-section.patch + G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch + G 0001-virt-rework-container-detection-logic.patch + G 0002-fsck-include-device-name-in-the-message-about-missin.patch + G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch + G 0004-util-ignore_file-should-not-allow-files-ending-with.patch + G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch + G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch + G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch + G 0001-hwdb-fix-case-sensitive-match.patch + G 0001-sd-event-restore-correct-timeout-behaviour.patch + G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch + G 0001-umount-modernizations.patch + G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch + G 0003-core-allow-transient-mount-units.patch + G 0004-systemd-detect-virt-only-discover-Xen-domU.patch + G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch + G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch + G 0001-core-fix-invalid-free-in-killall.patch + G 0003-install-fix-invalid-free-in-unit_file_mask.patch + G 0001-systemd-detect-virt-detect-s390-virtualization.patch + G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch + G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch + G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch + G 0005-po-add-Greek-translation.patch + G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0007-po-add-German-translation.patch + G 0009-core-clean-up-signal-reset-logic-when-reexec.patch + G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch + G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch + G 0012-core-transaction-avoid-misleading-error-message-when.patch + G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + G 0005-man-fix-path-in-crypttab-5.patch + G 0001-units-order-network-online.target-after-network.targ.patch + G 0001-core-use-correct-format-string-for-UIDs.patch + G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch + G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch + G 0002-journald-make-MaxFileSec-really-default-to-1month.patch + G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch + G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch + G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch + G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch + G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch + G 0001-parse_uid-return-ENXIO-for-1-uids.patch + G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch + G 0003-localed-consider-an-unset-model-as-a-wildcard.patch + G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch + G 0005-bus-close-a-bus-that-failed-to-connect.patch + G 0006-hwdb-update.patch + G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-architecture-Add-tilegx.patch + G 0002-architecture-Add-cris.patch + G 0003-arch-add-crisv32-to-uname-check.patch + G 0004-architecture-remove-cris-from-uname-list.patch + G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch + G 0002-namespace-fix-uninitialized-memory-access.patch + G 0001-machine-don-t-return-uninitialized-variable.patch + G 0002-vconsole-setup-run-setfont-before-loadkeys.patch + G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch + G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch + G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch + G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch + G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch + G 0007-service-flush-status-text-and-errno-values-each-time.patch + G 0001-journal-compress-return-early-in-uncompress_startswi.patch + G 0002-journal-compress-improve-xz-compression-performance.patch + G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch + G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch + G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch + G 0001-event-pull-in-sd-event.h-from-event-util.h.patch + G 0002-util-fix-has-cc-check-and-add-test.patch + G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch + G 0004-fileio-quote-more-shell-characters-in-envfiles.patch + G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch + G 0002-units-serial-getty-.service-use-the-default-RestartS.patch + G 0001-po-add-Ukrainian-translation.patch + G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch + G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch + G 0001-detect-virt-Fix-Xen-domU-discovery.patch + G 0002-Be-more-verbose-when-bind-or-listen-fails.patch + G 0003-Add-quotes-to-warning-message.patch + G 0004-systemd-return-the-first-error-from-manager_startup.patch + G 0001-bash-completion-p-option-for-journalctl.patch + G 0002-journalctl-man-allow-only-between-terms.patch + G 0003-systemd-use-pager-for-test-and-help.patch + G 0001-bus-proxyd-fix-incorrect-comparison.patch + G 0002-shell-completion-prevent-mangling-unit-names.patch + G 0003-Always-check-asprintf-return-code.patch + G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch + G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch + G 0006-parse_boolean-require-exact-matches.patch + G 0007-drop_duplicates-copy-full-BindMount-struct.patch + G 0008-shell-completion-prevent-mangling-unit-names-bash.patch + G 0009-journald-always-add-syslog-facility-for-messages-com.patch + G 0001-sysv-order-initscripts-which-provide-network-before-.patch + G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch + G 0003-keymap-Annotate-all-micmute-workarounds.patch + G 0007-hwdb-update.patch + G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch + G 0002-switch-root-umount-the-old-root-correctly.patch + G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch + G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch + G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch + G 0006-login-share-VT-signal-handler-between-sessions.patch + G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch + G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch + G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch + G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch + G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch + G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch + G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch + G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch + G 0003-keymap-Fix-HP-Pavillon-DV7.patch + G 0004-hwdb-update-format-description-and-document-reloadin.patch + G 0008-hwdb-update.patch + G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch + G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch + G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch + G 0001-login-fix-memory-leak-on-DropController.patch + G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch + G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch + G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch + G 0001-nspawn-fix-network-interface.patch + G 0001-completion-filter-templates-from-restartable-units.patch + G 0002-systemd-fix-error-message.patch + G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch + G 0004-config-parser-fix-mem-leak.patch + G 0005-login-fix-mem-leak.patch + G 0001-login-simplify-controller-handling.patch + G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch + G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0009-hwdb-update.patch + G 0001-systemctl-allow-to-change-the-default-target-without.patch + G 0001-activate-fix-fd-leak-in-do_accept.patch + G 0002-analyze-avoid-a-null-dereference.patch + G 0003-analyze-fix-mem-leak.patch + G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch + G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch + G 0006-bus-unref-buscreds-on-failure.patch + G 0007-core-fix-a-potential-mem-leak.patch + G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch + G 0009-journal-do-not-leak-mmaps-on-OOM.patch + G 0010-manager-use-correct-cleanup-function.patch + G 0001-core-fix-resource-leak-in-manager_environment_add.patch + G 0002-util-remove-a-unnecessary-check.patch + G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch + G 0004-shared-conf-parser.patch + G 0005-logind-fix-typo.patch + G 0006-systemctl-fix-resource-leak-CID-1237747.patch + G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch + G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch + G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch + G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch + G 0003-mount-order-options-before-other-arguments-to-mount.patch + G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch + G 0005-shared-label.h-add-missing-stdio.h-include.patch + G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch + G 0001-login-pause-devices-before-acknowledging-VT-switches.patch + G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch + G 0001-socket-introduce-SELinuxContextFromNet-option.patch + G 0002-util-avoid-non-portable-__WORDSIZE.patch + G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch + G 0002-bus-remove-unused-check.patch + G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch + G 0001-logind-add-support-for-Triton2-Power-Button.patch + G 0002-logind-add-support-for-TPS65217-Power-Button.patch + G 0001-shutdownd-clean-up-initialization-of-struct.patch + G 0003-bootchart-parse-userinput-with-safe_atoi.patch + G 0004-bootchart-check-return-of-strftime.patch + G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch + G 0001-journalctl-do-not-output-reboot-markers-when-running.patch + G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch + G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch + G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch + G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch + G 0003-fileio-label-return-error-when-writing-fails.patch + G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch + G 0004-sd-event-check-the-value-of-received-signal.patch + G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch + G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch + G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch + G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch + G 0003-sd-bus-check-return-value-of-vasprintf.patch + G 0004-core-map-the-rescue-argument-to-rescue.target.patch + G 0005-util-avoid-double-close-of-fd.patch + G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch + G 0001-tmpfiles-compare-return-against-correct-errno.patch + G 0001-shell-completion-fix-completion-of-inactive-units.patch + G 0002-shell-completion-propose-templates-for-disable-re-en.patch + G 0003-man-we-don-t-have-Wanted-dependency.patch + G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch + G 0001-systemd-continue-switch-root-even-if-umount-fails.patch + G 0002-systemd-try-harder-to-bind-to-notify-socket.patch + G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch + G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch + G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch + G 0004-journal-do-server_vacuum-for-sigusr1.patch + G 0005-cryptsetup-fix-an-OOM-check.patch + G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch + G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch + G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch + G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch + G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch + G 0005-journalctl-correct-help-text-for-until.patch + G 0006-calendarspec-fix-typo-in-annually.patch + G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch + G 0008-util-introduce-sethostname_idempotent.patch + G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch + G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch + G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch + G 0012-manager-do-not-print-anything-while-passwords-are-be.patch + G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch + G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch + G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch + G 0002-snapshot-return-error-when-snapshot-exists.patch + G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch + G 0004-Raise-level-of-Found-dependency.-lines.patch + G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch + G 0006-journald-fix-minor-memory-leak.patch + G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch + G 0008-journald-fix-memory-leak-on-error-path.patch + G 0009-units-make-systemd-journald.service-Type-notify.patch + G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch + G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch + G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch + G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch + G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch + G 0001-systemctl-let-list-units-unit-files-honour-type.patch + G 0002-systemctl-obey-state-in-list-unit-files.patch + G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch + G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch + G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch + G 0001-selinux-access-fix-broken-ternary-operator.patch + G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch + G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch + G 0004-core-fix-transaction-destructiveness-check-once-more.patch + G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch + G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch + G 1009-cdrom_id-use-the-old-MMC-fallback.patch + G 1010-udev-increase-result-size-for-programs.patch + G 1014-udev-update-net_id-comments.patch + G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch + G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch + G 1017-udev-serialize-synchronize-block-device-event-handli.patch + G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch + G 1019-udev-avoid-use-of-uninitialized-err.patch + G 1020-udev-keyboard-also-hook-into-change-events.patch + G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch + G 1024-udev-always-close-lock-file-descriptor.patch + G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch + G 1026-udevd-inotify-modernizations.patch + G 1027-udev-synthesize-change-events-for-partitions-when-to.patch + G 1028-udev-link-config-fix-mem-leak.patch + G 1029-udev-try-first-re-reading-the-partition-table.patch + G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch + G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch + G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch + G 1033-udev-really-exclude-device-mapper-from-block-device.patch + G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch + G 1038-udev-fix-invalid-free-in-enable_name_policy.patch + G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch + G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch + G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch + G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch + G 1044-rules-update-qemu-hid-rules.patch + G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch + G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch + G 1048-udev-net_setup_link-add-a-bit-more-logging.patch + G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch + G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch + G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch + G 1056-udevd-add-event-timeout-commandline-option.patch + G 1057-udev-unify-event-timeout-handling.patch + G 1058-udev-unify-event-timeout-handling.patch + G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch + G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch + G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch + G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch + G 1065-udev-bump-event-timeout-to-60-seconds.patch + G 1067-udev-always-resolve-correctly-database-names-on-chan.patch + G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch + G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch + G 1070-rules-net-setup-link-remove-stray-linebreak.patch + G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch + G 1072-udev-netif_rename-don-t-log-to-kmsg.patch + G 1073-udev-drop-print_kmsg.patch + G 1074-udev-fix-copy-paste-error-in-log-message.patch + G 1075-udev-timeout-increase-timeout.patch + G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1078-udev-remove-userspace-firmware-loading-support.patch + G 1079-udev-remove-userspace-firmware-loading-support.patch + G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch + G 1081-udevd-check-return-of-various-functions.patch + G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch + G 1083-udev-node-warn-if-chmod-chown-fails.patch + G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch + G 1085-udev-fix-typos.patch + G 1086-udevd-don-t-fail-if-run-udev-exists.patch + G 1089-fix-cgroup-device-controller.patch + G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + G 1091-udev-path_id-update-comments.patch + G 1092-libudev-do-not-accept-invalid-log-levels.patch + G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch + G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch + G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index 307e3cab..75cd2d10 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,8 +21,9 @@ %define udevpkgname udev %define udev_major 1 %bcond_without bash_completion -%bcond_without compat_libs %bcond_with networkd +%bcond_without sysvcompat +%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -43,7 +44,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 210 +Version: 219 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -51,112 +52,69 @@ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: acl BuildRequires: audit-devel -%if %{with compat_libs} -# See gold_archs in binutils.spec -%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc -BuildRequires: binutils-gold -%endif -%endif -BuildRequires: config(suse-module-tools) -%if ! 0%{?bootstrap} -BuildRequires: docbook-xsl-stylesheets -%endif +BuildRequires: autoconf +BuildRequires: automake BuildRequires: fdupes -%if ! 0%{?bootstrap} -BuildRequires: gobject-introspection-devel -%endif BuildRequires: gperf -%if ! 0%{?bootstrap} BuildRequires: gtk-doc -%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool -%if ! 0%{?bootstrap} -BuildRequires: libusb-devel -BuildRequires: libxslt-tools -%endif BuildRequires: pam-devel -%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros -%endif -%if 0%{?suse_version} <= 1315 -BuildRequires: tcpd-devel -%endif BuildRequires: xz -BuildRequires: pkgconfig(blkid) >= 2.20 -%if ! 0%{?bootstrap} -BuildRequires: libgcrypt-devel -%if %{with python} -BuildRequires: python -%endif -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -%endif -%if 0%{?suse_version} <= 1310 -BuildRequires: pkgconfig(libkmod) >= 14 -%else +BuildRequires: config(suse-module-tools) +BuildRequires: pkgconfig(blkid) >= 2.24 BuildRequires: pkgconfig(libkmod) >= 15 -%endif BuildRequires: pkgconfig(liblzma) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libmicrohttpd) -%endif BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 -%endif -%if 0%{?suse_version} >= 1315 +BuildRequires: pkgconfig(mount) >= 2.20 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%else -%if 0%{?suse_version} >= 1310 -%ifarch %ix86 x86_64 x32 %arm -BuildRequires: pkgconfig(libseccomp) -%endif -%endif -%endif -%if ! 0%{?bootstrap} -BuildRequires: libapparmor-devel -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -%if 0%{?suse_version} > 1310 Conflicts: sysvinit -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi %else +BuildRequires: docbook-xsl-stylesheets +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: libgcrypt-devel +BuildRequires: libusb-devel +BuildRequires: libxslt-tools +%if %{with python} +BuildRequires: python +%endif +BuildRequires: libapparmor-devel +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libmicrohttpd) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd -%if 0%{?suse_version} <= 1310 -Requires: kmod >= 14 -%else Requires: kmod >= 15 -%endif Requires: netcfg Requires: pam-config >= 0.79-5 +BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.21 +Requires: util-linux >= 2.25 Requires(post): coreutils Requires(post): findutils -%endif -%if ! 0%{?bootstrap} Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent @@ -168,47 +126,31 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} -Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz + +#Git-Clone: git://anongit.freedesktop.org/systemd/systemd +Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif -Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh -Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs -# -# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r -Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch -# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called -Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch -Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch -Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch -Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch -Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch -Patch18: fix-owner-of-var-log-btmp.patch -# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file -Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -216,14 +158,11 @@ Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable -Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts -Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +Patch37: suse-sysv-bootd-support.diff # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file @@ -236,18 +175,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) -Patch23: disable-nss-myhostname-warning-bnc-783841.patch -# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin -Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian -Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -256,126 +187,8 @@ Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) -Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch -# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com -Patch117: 0001-make-209-working-on-older-dist.patch -# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com -Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch121: 0001-login-fix-pos-array-allocation.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch137: 0004-man-document-missing-options-of-systemd-run.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch140: 0007-journal-forget-file-after-encountering-an-error.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch143: 0010-man-update-link-to-LSB.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch145: 0012-man-add-missing-comma.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch151: 0005-logind-fix-policykit-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch158: 0007-networkd-fix-typo.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -384,8 +197,6 @@ Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com @@ -394,8 +205,6 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -408,652 +217,33 @@ Patch191: systemd-dbus-system-bus-address.patch Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/14 -Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -# PATCH-FIX-SUSE Do not clean the data base files of the manual pages -Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch199: 0001-bash-completion-fix-__get_startable_units.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch # PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. -Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch -# PATCH-FIX-UPSTREAM Fix uninitialized memory -Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch -# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) -Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch216: 0003-backlight-unify-error-messages.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch -# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) -Patch219: log-target-null-instead-kmsg.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch222: 0001-core-close-socket-fds-asynchronously.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch226: 0002-logind-fix-printf-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch232: 0008-man-update-journald-rate-limit-defaults.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch245: 0007-logind-fix-Display-property-of-user-objects.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch246: 0001-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch247: 0002-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch249: 0004-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch250: 0005-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch252: 0002-journal-properly-detect-language-specified-in-line.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch262: 0001-virt-rework-container-detection-logic.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch -# PATCH-FIX-UPSTREAM added at 2014/06/05 -Patch269: 0001-hwdb-fix-case-sensitive-match.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch272: 0001-umount-modernizations.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch274: 0003-core-allow-transient-mount-units.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU -Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch278: 0001-core-fix-invalid-free-in-killall.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch -# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) -Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch -# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available -Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch284: 0005-po-add-Greek-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch286: 0007-po-add-German-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch295: 0005-man-fix-path-in-crypttab-5.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch296: 0001-units-order-network-online.target-after-network.targ.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch297: 0001-core-use-correct-format-string-for-UIDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch312: 0006-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch314: 0001-architecture-Add-tilegx.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch315: 0002-architecture-Add-cris.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch316: 0003-arch-add-crisv32-to-uname-check.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch317: 0004-architecture-remove-cris-from-uname-list.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch319: 0002-namespace-fix-uninitialized-memory-access.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch320: 0001-machine-don-t-return-uninitialized-variable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch330: 0002-journal-compress-improve-xz-compression-performance.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/10 -Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch335: 0002-util-fix-has-cc-check-and-add-test.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch341: 0001-po-add-Ukrainian-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-SUSE Shut up rpmlint warning Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch347: 0003-Add-quotes-to-warning-message.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch349: 0001-bash-completion-p-option-for-journalctl.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch350: 0002-journalctl-man-allow-only-between-terms.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch355: 0003-Always-check-asprintf-return-code.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch358: 0006-parse_boolean-require-exact-matches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch -# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-UPSTREAM added at 2014/08/01 -Patch367: 0007-hwdb-update.patch # PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch370: 0002-switch-root-umount-the-old-root-correctly.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch385: 0008-hwdb-update.patch # PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch390: 0001-login-fix-memory-leak-on-DropController.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -# PATCH-FIX-UPSTREAM added at 2014/08/29 -Patch394: 0001-nspawn-fix-network-interface.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch395: 0001-completion-filter-templates-from-restartable-units.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch396: 0002-systemd-fix-error-message.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch398: 0004-config-parser-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch399: 0005-login-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/02 -Patch400: 0001-login-simplify-controller-handling.patch -# PATCH-FIX-UPSTREAM added at 2014/09/05 -Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/08 -Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/09/09 -Patch403: 0009-hwdb-update.patch -# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force -Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch406: 0002-analyze-avoid-a-null-dereference.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch407: 0003-analyze-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch410: 0006-bus-unref-buscreds-on-failure.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch411: 0007-core-fix-a-potential-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch414: 0010-manager-use-correct-cleanup-function.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch416: 0002-util-remove-a-unnecessary-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch418: 0004-shared-conf-parser.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch419: 0005-logind-fix-typo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary -Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved -Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) -Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch436: 0002-bus-remove-unused-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/26 -Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch442: 0004-bootchart-check-return-of-strftime.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch450: 0003-fileio-label-return-error-when-writing-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch452: 0004-sd-event-check-the-value-of-received-signal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch459: 0005-util-avoid-double-close-of-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/10/13 -Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/14 -Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch -# PATCH-FIX-SUSE added at 2014/10/15 -Patch468: avoid-leaking-socket-descriptors.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch473: 0005-cryptsetup-fix-an-OOM-check.patch -# PATCH-FIX-UPSTREAM added at 2014/10/24 -Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -# PATCH-FIX-SUSE added at 2014/10/24 +# PATCH-FIX-SUSE added on 2014/10/24 Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch480: 0005-journalctl-correct-help-text-for-until.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch481: 0006-calendarspec-fix-typo-in-annually.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch483: 0008-util-introduce-sethostname_idempotent.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch -# PATCH-FIX-SUSE added at 2014/11/05 +# PATCH-FIX-SUSE added on 2014/11/05 Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch496: 0006-journald-fix-minor-memory-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch498: 0008-journald-fix-memory-leak-on-error-path.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch -# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) -Patch513: 513-nspawn-veth.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) @@ -1080,188 +270,46 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 -Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch -# PATCH-FIX-SUSE increase result size for programs (bnc#867840) -Patch1010: 1010-udev-increase-result-size-for-programs.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch -Patch1014: 1014-udev-update-net_id-comments.patch -# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch # PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch Patch1021: 1021-udev-re-add-persistent-net-rules.patch -# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1024: 1024-udev-always-close-lock-file-descriptor.patch -# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch -Patch1026: 1026-udevd-inotify-modernizations.patch -# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch -Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch -# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch -Patch1028: 1028-udev-link-config-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch -Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch -# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch -Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch -# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch -Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch -Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch -# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch -Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch -# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch -Patch1044: 1044-rules-update-qemu-hid-rules.patch -# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch -Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch # PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch -# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch -Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch -# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch -Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch # PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) Patch1051: 1051-check-if-NAME-has-a-value.patch -# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch -Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch -# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch -Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch # PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch -# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch -Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch -# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch -Patch1057: 1057-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch -Patch1058: 1058-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch -Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch -Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch -Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) -Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch -# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch -Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch -# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch -Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch -# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch -Patch1073: 1073-udev-drop-print_kmsg.patch -# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch -Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch -# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch -Patch1075: 1075-udev-timeout-increase-timeout.patch -# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch -Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch -Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch -Patch1081: 1081-udevd-check-return-of-various-functions.patch -# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch -Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch -# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch -Patch1085: 1085-udev-fix-typos.patch -# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch -Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch -# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch -Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch # PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch -# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch -Patch1089: 1089-fix-cgroup-device-controller.patch -# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch -Patch1091: 1091-udev-path_id-update-comments.patch -# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch -Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch -# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch -Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch -Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1469,6 +517,24 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package -n nss-mymachines +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-mymachines +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured containers and virtual machines +systemd-machined knows about. + +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-resolve + %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ @@ -1480,13 +546,12 @@ Requires(postun): systemd %description journal-gateway systemd-journal-gatewayd serves journal events over the network using HTTP. - %endif %prep -%setup -q -n systemd-%{version} +%setup -q -n systemd-%version echo "Checking whether upstream rpm macros changed..." -[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 +diff -au "%{S:10}" src/core/macros.systemd.in # only needed for bootstrap %if 0%{?bootstrap} @@ -1494,29 +559,15 @@ cp %{SOURCE7} m4/ %endif # systemd patches -%patch0 -p1 -%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%if 0%{?suse_version} <= 1310 -%patch8 -p1 -%endif -%patch9 -p1 %patch12 -p1 -%patch13 -p0 -%patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 -%patch19 -p0 %patch20 -p1 %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -1527,418 +578,44 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch46 -p1 -%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 -%patch93 -p1 -%patch114 -p0 -%if 0%{?suse_version} <= 1310 -%patch117 -p1 -%endif -%patch119 -p1 %patch120 -p1 -%patch121 -p0 -%patch122 -p0 -%patch123 -p0 -%patch124 -p0 -%patch125 -p0 -%patch126 -p0 -%patch127 -p0 -%patch128 -p0 -%patch129 -p0 -%patch130 -p0 -%patch131 -p0 -%patch132 -p0 -%patch133 -p0 -%patch134 -p0 -%patch135 -p0 -%patch136 -p0 -%patch137 -p0 -%patch138 -p0 -%patch139 -p0 -%patch140 -p0 -%patch141 -p0 -%patch142 -p0 -%patch143 -p0 -%patch144 -p0 -%patch145 -p0 -%patch146 -p0 -%patch147 -p0 -%patch148 -p0 -%patch149 -p0 -%patch150 -p0 -%patch151 -p0 -%patch152 -p0 -%patch153 -p0 -%patch154 -p0 -%patch155 -p0 -%patch157 -p0 -%patch158 -p0 -%patch159 -p0 -%patch160 -p0 -%patch161 -p0 -%patch162 -p0 -%patch163 -p0 -%patch164 -p0 -%patch165 -p0 -%patch166 -p0 -%patch167 -p0 -%patch168 -p0 -%patch169 -p0 -%patch170 -p0 -%patch171 -p0 -%patch172 -p0 -%patch173 -p0 -%patch174 -p0 -%patch175 -p0 -%patch176 -p0 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 -%patch181 -p1 %patch182 -p1 %patch183 -p1 %patch185 -p1 %patch186 -p1 -%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 -%patch194 -p0 -%patch196 -p1 -%patch195 -p0 %patch197 -p1 %patch198 -p1 -%patch199 -p0 -%patch200 -p0 -%patch201 -p0 -%patch202 -p0 %patch203 -p1 -%patch204 -p1 -%patch206 -p0 -%patch207 -p0 %patch208 -p1 -%patch209 -p0 -%patch211 -p0 -%patch212 -p0 -%patch213 -p0 -%patch214 -p0 -%patch215 -p0 -%patch216 -p0 -%patch217 -p0 -%patch218 -p0 -%patch219 -p1 -%patch220 -p0 -%patch221 -p0 -%patch222 -p0 -%patch223 -p0 -%patch224 -p0 -%patch225 -p0 -%patch226 -p0 -%patch227 -p0 -%patch228 -p0 -%patch229 -p0 -%patch230 -p0 -%patch231 -p0 -%patch232 -p0 -%patch233 -p0 -%patch234 -p0 -%patch235 -p0 -%patch236 -p0 -%patch237 -p0 -%patch238 -p0 -%patch239 -p0 -%patch240 -p0 -%patch241 -p0 -%patch242 -p0 -%patch243 -p0 -%patch244 -p0 -%patch245 -p0 -%patch246 -p0 -%patch247 -p0 -%patch248 -p0 -%patch249 -p0 -%patch250 -p0 -%patch251 -p0 -%patch252 -p0 -%patch253 -p0 -%patch254 -p0 -%patch255 -p0 -%patch256 -p0 -%patch257 -p0 -%patch258 -p0 -%patch259 -p0 -%patch260 -p0 -%patch261 -p0 -%patch262 -p0 -%patch263 -p0 -%patch264 -p0 -%patch265 -p0 -%patch266 -p0 -%patch267 -p0 -%patch268 -p0 -%patch269 -p0 -%patch270 -p0 -%patch271 -p0 -%patch272 -p0 -%patch273 -p0 -%patch274 -p0 -%patch275 -p0 -%patch276 -p0 -%patch277 -p0 -%patch278 -p0 -%patch279 -p0 -%patch280 -p0 -%patch281 -p1 -%patch282 -p0 -%patch283 -p0 -%patch284 -p0 -%patch285 -p0 -%patch286 -p0 -%patch287 -p0 -%patch288 -p0 -%patch289 -p0 -%patch290 -p0 -%patch291 -p0 -%patch292 -p0 -%patch293 -p0 -%patch294 -p0 -%patch295 -p0 -%patch296 -p0 -%patch297 -p0 -%patch298 -p0 -%patch299 -p0 -%patch300 -p0 -%patch301 -p0 -%patch302 -p0 -%patch303 -p0 -%patch304 -p0 -%patch305 -p0 -%patch306 -p0 -%patch307 -p0 -%patch308 -p0 -%patch309 -p0 -%patch310 -p0 -%patch311 -p0 -%patch312 -p0 -%patch313 -p0 -%patch314 -p0 -%patch315 -p0 -%patch316 -p0 -%patch317 -p0 -%patch318 -p0 -%patch319 -p0 -%patch320 -p0 -%patch321 -p0 -%patch322 -p0 -%patch323 -p0 -%patch324 -p0 -%patch325 -p0 -%patch326 -p0 -%patch327 -p0 -%patch328 -p0 -%patch329 -p0 -%patch330 -p0 -%patch331 -p0 -%patch332 -p0 -%patch333 -p0 -%patch334 -p0 -%patch335 -p0 -%patch336 -p0 -%patch337 -p0 -%patch338 -p0 -%patch339 -p0 -%patch340 -p0 -%patch341 -p0 -%patch342 -p0 -%patch343 -p0 -%patch344 -p0 +%patch338 -p1 %patch345 -p1 -%patch346 -p0 -%patch347 -p0 -%patch348 -p0 -%patch349 -p0 -%patch350 -p0 -%patch351 -p0 -%patch352 -p0 -%patch353 -p0 -%patch354 -p0 -%patch355 -p0 -%patch356 -p0 -%patch357 -p0 -%patch358 -p0 -%patch359 -p0 -%patch360 -p0 -%patch361 -p0 +%patch352 -p1 %patch362 -p1 -%patch363 -p0 -%patch364 -p0 -%patch365 -p0 %patch366 -p1 -%patch367 -p0 %patch368 -p1 -%patch369 -p0 -%patch370 -p0 -%patch371 -p0 -%patch372 -p0 -%patch373 -p0 -%patch374 -p0 -%patch375 -p0 -%patch376 -p0 -%patch377 -p0 -%patch378 -p0 -%patch379 -p0 -%patch380 -p0 -%patch381 -p0 -%patch382 -p0 -%patch383 -p0 -%patch384 -p0 -%patch385 -p0 %patch386 -p1 -%patch387 -p0 -%patch388 -p0 -%patch389 -p0 -%patch390 -p0 -%patch391 -p0 -%patch392 -p0 -%patch393 -p0 -%patch394 -p0 -%patch395 -p0 -%patch396 -p0 -%patch397 -p0 -%patch398 -p0 -%patch399 -p0 -%patch400 -p0 -%patch401 -p0 -%patch402 -p0 -%patch403 -p0 -%patch404 -p0 -%patch405 -p0 -%patch406 -p0 -%patch407 -p0 -%patch408 -p0 -%patch409 -p0 -%patch410 -p0 -%patch411 -p0 -%patch412 -p0 -%patch413 -p0 -%patch414 -p0 -%patch415 -p0 -%patch416 -p0 -%patch417 -p0 -%patch418 -p0 -%patch419 -p0 -%patch420 -p0 -%patch421 -p0 -%patch422 -p0 -%patch423 -p0 -%patch424 -p0 -%patch425 -p0 -%patch426 -p0 -%patch427 -p0 -%patch428 -p0 -%patch429 -p0 %patch430 -p1 -%patch431 -p0 -%patch432 -p0 -%patch433 -p0 -%patch434 -p0 -%patch435 -p0 -%patch436 -p0 -%patch437 -p0 -%patch438 -p0 -%patch439 -p0 +%patch475 -p1 %ifarch %arm %patch38 -p1 %endif -%patch440 -p0 -%patch441 -p0 -%patch442 -p0 -%patch443 -p0 -%patch444 -p0 -%patch445 -p0 -%patch446 -p0 -%patch447 -p0 -%patch448 -p0 -%patch449 -p0 -%patch450 -p0 -%patch451 -p0 -%patch452 -p0 -%patch453 -p0 -%patch454 -p0 -%patch455 -p0 -%patch456 -p0 -%patch457 -p0 -%patch458 -p0 -%patch459 -p0 -%patch460 -p0 -%patch461 -p0 -%patch462 -p0 -%patch463 -p0 -%patch464 -p0 -%patch465 -p0 -%patch466 -p0 -%patch467 -p0 -%patch468 -p0 -%patch469 -p0 -%patch470 -p0 -%patch471 -p0 -%patch472 -p0 -%patch473 -p0 -%patch474 -p0 -%patch475 -p0 -%patch476 -p0 -%patch477 -p0 -%patch478 -p0 -%patch479 -p0 -%patch480 -p0 -%patch481 -p0 -%patch482 -p0 -%patch483 -p0 -%patch484 -p0 -%patch485 -p0 -%patch486 -p0 -%patch487 -p0 -%patch488 -p0 -%patch489 -p0 -%patch490 -p0 -%patch491 -p0 -%patch492 -p0 -%patch493 -p0 -%patch494 -p0 -%patch495 -p0 -%patch496 -p0 -%patch497 -p0 -%patch498 -p0 -%patch499 -p0 -%patch500 -p0 -%patch501 -p0 -%patch502 -p0 -%patch503 -p0 -%patch504 -p0 -%patch505 -p0 -%patch506 -p0 -%patch507 -p0 -%patch509 -p0 -%patch510 -p0 -%patch511 -p0 -%patch512 -p0 -%patch513 -p1 -%patch514 -p0 -%patch515 -p0 -%patch516 -p0 -%patch517 -p0 -%patch518 -p1 -%patch519 -p1 +%patch490 -p1 %patch520 -p1 -%patch521 -p0 +%patch521 -p1 # udev patches %patch1001 -p1 @@ -1947,131 +624,31 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 -%if 0%{?suse_version} <= 1310 -%patch1008 -p1 -%endif -%patch1009 -p1 -%patch1010 -p1 %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p0 -%patch1017 -p0 -%patch1018 -p0 -%patch1019 -p0 -%patch1020 -p0 %patch1021 -p1 -%if %{with udevsettle} -%patch1022 -p1 -%endif -%patch1023 -p0 -%patch1024 -p0 -%if %{with blkrrpart} -%patch1025 -p1 -%endif -%patch1026 -p1 -%if %{with blkrrpart} -%patch1027 -p1 -%endif -%patch1028 -p1 -%if %{with blkrrpart} -%patch1029 -p1 -%patch1030 -p1 -%patch1031 -p1 -%patch1032 -p1 -%patch1033 -p1 -%patch1034 -p1 -%endif %patch1035 -p1 %patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1038 -p0 -%if %{with udevsettle} -%patch1039 -p0 -%endif %patch1040 -p1 -%if %{with udevsettle} -%patch1041 -p0 -%patch1042 -p0 -%patch1043 -p0 -%endif -%patch1044 -p0 -%patch1045 -p0 %patch1046 -p1 -%patch1047 -p0 -%patch1048 -p0 -%patch1049 -p0 %patch1050 -p1 %patch1051 -p1 -%patch1052 -p0 %patch1053 -p1 %if %{with blkrrpart} -%patch1054 -p0 %else %patch1055 -p1 %endif -%patch1056 -p0 -%if %{with udevsettle} -%patch1057 -p0 -%else -%patch1058 -p0 -%endif -%patch1059 -p0 %patch1060 -p1 -%patch1061 -p0 %patch1062 -p1 -%if %{with parentpathid} -%patch1063 -p0 -%endif -%patch1064 -p0 -%patch1065 -p0 %patch1066 -p1 -%patch1067 -p1 -%patch1068 -p0 -%patch1069 -p0 -%patch1070 -p0 -%patch1071 -p0 -%patch1072 -p0 -%patch1073 -p0 -%patch1074 -p0 -%patch1075 -p0 -%if %{with udevsettle} -%patch1076 -p0 -%else -%patch1077 -p0 -%endif -%if 0%{?suse_version} > 1310 -%if %{with udevsettle} -%patch1079 -p1 -%else -%patch1078 -p1 -%endif -%endif -%patch1080 -p0 -%patch1081 -p0 -%patch1082 -p0 -%patch1083 -p0 -%patch1084 -p0 -%patch1085 -p0 -%patch1086 -p0 -%patch1087 -p0 %patch1088 -p1 -%patch1089 -p1 -%if %{with parentpathid} -%patch1090 -p0 -%patch1091 -p0 -%endif -%patch1092 -p0 -%patch1093 -p0 -%patch1094 -p0 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 -%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -2091,17 +668,6 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi -%if 0%{?suse_version} <= 1310 -# -# Older versions like oS 13.1 do not distinguish between -# network.target and network-online.target -# -for f in src/core/service.c src/insserv-generator/insserv-generator.c -do - sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f -done -%endif - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -2142,11 +708,11 @@ cflags () esac set +o noclobber } -autoreconf -fiv +autoreconf -fi # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export CFLAGS="%{optflags}" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -2172,6 +738,7 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-gudev \ --disable-myhostname \ --disable-manpages \ + --disable-machined \ %else --enable-manpages \ %if %{with python} @@ -2179,16 +746,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ -%endif -%if %{with compat_libs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ -%if 0%{?suse_version} <= 1310 - --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ -%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -2197,11 +758,15 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ -%if 0%{?suse_version} > 1310 - --disable-multi-seat-x \ -%endif %if %{without networkd} --disable-networkd \ +%endif +%if %{without sysvcompat} + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ +%endif +%if %{without resolved} + --disable-resolved \ %endif --disable-kdbus make %{?_smp_mflags} @@ -2210,19 +775,9 @@ make %{?_smp_mflags} update-man-list man %endif %install -# Use refreshed manual pages -for man in man/*.[0-9] -do - section=${man##*.} - test -d man/man${section} || continue - new=man/man${section}/${man##*/} - if test -s $new -a $new -nt $man - then - cp -p $new $man - else - sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man - fi -done +%if !0%{?bootstrap} +cp man/man[0-9]/*.[0-9] man/ +%endif make install DESTDIR="%buildroot" # move to %{_lib} @@ -2235,24 +790,17 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -%if 0%{?suse_version} <= 1310 -ln -sf /lib/firmware %{buildroot}/usr/lib/firmware -%endif + %if ! 0%{?bootstrap} -install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} -sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} -sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule -install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -2270,28 +818,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service -ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service + # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -2364,15 +891,6 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ -%if ! 0%{?bootstrap} -%if %{without python} -for man in systemd.directives.7 systemd.index.7 -do - install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ -done -%endif -%endif - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -2389,10 +907,8 @@ done > files.completion > files.completion %endif -%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -2404,30 +920,6 @@ do done %endif -%if 0%{suse_version} <= 1310 -cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' - [Unit] - Description=Fix against deadlock at shutdown - Wants=remote-fs.target remote-fs-pre.target - Before=remote-fs.target systemd-logind.service - After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target - ConditionPathExists=|/etc/init.d/autofs - ConditionPathExists=|/etc/init.d/nfs - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/bin/true - ExecStop=-/etc/init.d/autofs stop - ExecStop=-/etc/init.d/nfs stop - - [Install] - WantedBy=remote-fs.target - EOF - mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants - ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants -%endif - # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -2475,6 +967,7 @@ fi getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : %endif +systemd-sysusers || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -2522,8 +1015,6 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -2553,7 +1044,6 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -2652,6 +1142,9 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%post -n nss-mymachines -p /sbin/ldconfig +%postun -n nss-mymachines -p /sbin/ldconfig + %pre journal-gateway getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : @@ -2674,17 +1167,26 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl -%{_bindir}/systemd-sleep-grub +%if %{with networkd} +%{_bindir}/networkctl +%endif %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%if ! 0%{?bootstrap} %{_bindir}/machinectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/systemd-coredumpctl +%{_bindir}/coredumpctl %{_bindir}/systemd-delta +%{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot +%{_bindir}/systemd-path +%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify +%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -2727,7 +1229,6 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif %{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -2766,12 +1267,19 @@ exit 0 %{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-debug-generator +%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator +%if %{with sysvcompat} +%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator +%{_prefix}/lib/systemd/system-preset/ +%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -2800,13 +1308,23 @@ exit 0 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%endif +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%endif +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -2823,15 +1341,24 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%if %{with networkd} +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%if !0%{?bootstrap} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions +%if !0%{?bootstrap} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy @@ -2881,8 +1408,11 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%if 0%{?suse_version} > 1310 -%{_datadir}/pkgconfig/systemd.pc +%if %{with resolved} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_sysconfdir}/systemd/resolved.conf +%{_libdir}/libnss_resolve.so.2 +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif %if ! 0%{?bootstrap} @@ -2907,9 +1437,7 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/systemd.pc -%endif +%{_libdir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -2971,7 +1499,6 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* -%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -3002,9 +1529,6 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/udev.pc -%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -3038,8 +1562,9 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %{_localstatedir}/log/README -/etc/init.d/systemd-journald +%endif %files -n nss-myhostname %defattr(-, root, root) @@ -3052,6 +1577,10 @@ exit 0 %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_mandir}/man8/systemd-journal-gatewayd.* %{_datadir}/systemd/gatewayd + +%files -n nss-mymachines +%defattr(-,root,root) +%_libdir/libnss_mymachines.so* %endif %changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch deleted file mode 100644 index fb97a2f1..00000000 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Frederic Crozat -Date: Tue, 14 Aug 2012 14:26:16 +0200 -Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock - ---- - src/timedate/timedated.c | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- systemd-206_git201308300826.orig/src/timedate/timedated.c -+++ systemd-206_git201308300826/src/timedate/timedated.c -@@ -182,6 +182,13 @@ static int read_data(void) { - goto have_timezone; - } - } -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+ "TIMEZONE", &c->zone, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); -+#endif - - have_timezone: - if (isempty(c->zone)) { diff --git a/tmpfiles-do-not-clean-for-mandb-index-files.patch b/tmpfiles-do-not-clean-for-mandb-index-files.patch deleted file mode 100644 index 3bfd928f..00000000 --- a/tmpfiles-do-not-clean-for-mandb-index-files.patch +++ /dev/null @@ -1,22 +0,0 @@ -There is no need to clean out all 30 days the index data base -files nor the cachedir tags of mandb. Those files are used -for whatis(1) as well as for apropos(1). - ---- - systemd-210/tmpfiles.d/systemd.conf | 5 +++++ - 1 file changed, 5 insertions(+) - ---- systemd-210/tmpfiles.d/systemd.conf -+++ systemd-210/tmpfiles.d/systemd.conf 2014-06-11 13:47:59.470236564 +0000 -@@ -14,6 +14,11 @@ f /var/log/wtmp 0664 root utmp - - f /var/log/btmp 0600 root root - - - d /var/cache/man - - - 30d -+# mandb uses data base file which should not be cleared -+x /var/cache/man/index.* -+x /var/cache/man/CACHEDIR.TAG -+x /var/cache/man/*/index.* -+x /var/cache/man/*/CACHEDIR.TAG - - d /run/systemd/ask-password 0755 root root - - d /run/systemd/seats 0755 root root - diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index 1091a730..ee7e73d8 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -1,110 +1,99 @@ --- - src/tty-ask-password-agent/tty-ask-password-agent.c | 190 +++++++++++++++++++- - 1 file changed, 185 insertions(+), 5 deletions(-) + src/tty-ask-password-agent/tty-ask-password-agent.c | 171 +++++++++++++++++++- + 1 file changed, 166 insertions(+), 5 deletions(-) ---- systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-30 10:48:43.602052750 +0000 -@@ -28,8 +28,12 @@ - #include - #include - #include -+#include +Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +=================================================================== +--- systemd.orig/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -31,6 +31,10 @@ #include + #include + #include ++#include +#include +#include - #include +#include - #include #include "util.h" -@@ -41,6 +45,9 @@ - #include "ask-password-api.h" + #include "mkdir.h" +@@ -42,6 +46,9 @@ #include "strv.h" #include "build.h" + #include "def.h" +#include "fileio.h" +#include "macro.h" +#include "list.h" static enum { ACTION_LIST, -@@ -49,6 +56,21 @@ static enum { +@@ -50,6 +57,22 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; +struct console { + LIST_FIELDS(struct console, handle); -+ char *tty; ++ const char *tty; + pid_t pid; + int id; ++ char dev[]; +}; + -+static volatile uint32_t *usemask; ++static volatile unsigned long *usemask; +static volatile sig_atomic_t sigchild; +static void chld_handler(int sig) +{ + (void)sig; -+ sigchild++; ++ ++sigchild; +} + static bool arg_plymouth = false; static bool arg_console = false; -@@ -246,12 +268,77 @@ finish: - return r; +@@ -208,6 +231,58 @@ static int ask_password_plymouth( + return 0; } +static const char *current_dev = "/dev/console"; +static LIST_HEAD(struct console, consoles); +static int collect_consoles(void) { + _cleanup_free_ char *active = NULL; -+ char *w, *state; -+ struct console *c; -+ size_t l; -+ int id; -+ int r; ++ const char *word, *state; ++ struct console *con; ++ size_t len; ++ int ret, id = 0; + -+ r = read_one_line_file("/sys/class/tty/console/active", &active); -+ if (r < 0) -+ return r; -+ -+ id = 0; -+ FOREACH_WORD(w, l, active, state) { ++ ret = read_one_line_file("/sys/class/tty/console/active", &active); ++ if (ret < 0) ++ return ret; ++ FOREACH_WORD(word, len, active, state) { + _cleanup_free_ char *tty = NULL; + -+ if (strneq(w, "tty0", l)) { -+ if (read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { -+ w = tty; -+ l = strlen(tty); -+ } ++ if (strneq(word, "tty0", len) && ++ read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { ++ word = tty; ++ len = strlen(tty); + } -+ -+ c = malloc0(sizeof(struct console)+5+l+1); -+ if (!c) { ++ con = malloc0(sizeof(*con) + strlen("/dev/") + len + 1); ++ if (con == NULL) { + log_oom(); + continue; + } -+ -+ c->tty = ((char*)c)+sizeof(struct console); -+ stpncpy(stpcpy(c->tty, "/dev/"),w,l); -+ c->id = id++; -+ -+ LIST_PREPEND(handle, consoles, c); ++ sprintf(con->dev, "/dev/%.*s", (int)len, word); ++ con->tty = con->dev; ++ con->id = id++; ++ LIST_PREPEND(handle, consoles, con); + } -+ -+ if (!consoles) { -+ -+ c = malloc0(sizeof(struct console)); -+ if (!c) { ++ if (consoles == NULL) { ++ con = malloc0(sizeof(*con)); ++ if (con == NULL) { + log_oom(); + return -ENOMEM; + } -+ -+ c->tty = (char *)current_dev; -+ c->id = id++; -+ -+ LIST_PREPEND(handle, consoles, c); ++ con->tty = current_dev; ++ con->id = id++; ++ LIST_PREPEND(handle, consoles, con); + } -+ + return 0; +} + @@ -118,168 +107,133 @@ +} + static int parse_password(const char *filename, char **wall) { - char *socket_name = NULL, *message = NULL, *packet = NULL; + _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; uint64_t not_after = 0; - unsigned pid = 0; - int socket_fd = -1; - bool accept_cached = false; -+ size_t packet_length = 0; +@@ -308,7 +383,7 @@ static int parse_password(const char *fi + _cleanup_free_ char *password = NULL; - const ConfigTableItem items[] = { - { "Ask", "Socket", config_parse_string, 0, &socket_name }, -@@ -323,7 +410,6 @@ static int parse_password(const char *fi - struct sockaddr sa; - struct sockaddr_un un; - } sa = {}; -- size_t packet_length = 0; - - assert(arg_action == ACTION_QUERY || - arg_action == ACTION_WATCH); -@@ -365,7 +451,7 @@ static int parse_password(const char *fi - char *password = NULL; - - if (arg_console) -- if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) { -+ if ((tty_fd = acquire_terminal(current_dev, false, false, true, (usec_t) -1)) < 0) { - r = tty_fd; - goto finish; - } -@@ -386,6 +472,7 @@ static int parse_password(const char *fi - strcpy(packet+1, password); - } - -+ memset(password, 0, strlen(password)); - free(password); + if (arg_console) { +- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); ++ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); + if (tty_fd < 0) + return tty_fd; } - } -@@ -423,6 +510,7 @@ finish: - if (socket_fd >= 0) - close_nointr_nofail(socket_fd); - -+ memset(packet, 0, packet_length); - free(packet); - free(socket_name); - free(message); -@@ -726,8 +814,10 @@ static int parse_argv(int argc, char *ar +@@ -612,9 +687,85 @@ static int parse_argv(int argc, char *ar + return 1; } ++static int zzz(void) ++{ ++ struct console *con; ++ struct sigaction sig = { ++ .sa_handler = chld_handler, ++ .sa_flags = SA_NOCLDSTOP | SA_RESTART, ++ }; ++ struct sigaction oldsig; ++ sigset_t set, oldset; ++ int status = 0, ret; ++ pid_t job; ++ ++ collect_consoles(); ++ if (!consoles->handle_next) { ++ consoles->pid = 0; ++ con = consoles; ++ goto nofork; ++ } ++ ++ assert_se(sigemptyset(&set) == 0); ++ assert_se(sigaddset(&set, SIGHUP) == 0); ++ assert_se(sigaddset(&set, SIGCHLD) == 0); ++ assert_se(sigemptyset(&sig.sa_mask) == 0); ++ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); ++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); ++ sig.sa_handler = SIG_DFL; ++ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); ++ ++ LIST_FOREACH(handle, con, consoles) { ++ switch ((con->pid = fork())) { ++ case 0: ++ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) ++ _exit(EXIT_FAILURE); ++ zero(sig); ++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); ++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); ++ nofork: ++ setsid(); ++ release_terminal(); ++ *usemask |= 1 << con->id; ++ current_dev = con->tty; ++ return con->id; /* child */ ++ case -1: ++ log_error("Failed to query password: %s", strerror(errno)); ++ exit(EXIT_FAILURE); ++ default: ++ break; ++ } ++ } ++ ++ ret = 0; ++ while ((job = wait(&status)) != 0) { ++ if (job < 0) { ++ if (errno != EINTR) ++ break; ++ continue; ++ } ++ LIST_FOREACH(handle, con, consoles) { ++ if (con->pid == job || kill(con->pid, 0) < 0) { ++ *usemask &= ~(1 << con->id); ++ continue; ++ } ++ if (*usemask & (1 << con->id)) ++ continue; ++ kill(con->pid, SIGHUP); ++ usleep(50000); ++ kill(con->pid, SIGKILL); ++ } ++ if (WIFEXITED(status) && ret == 0) ++ ret = WEXITSTATUS(status); ++ } ++ free_consoles(); ++ exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */ ++} ++ int main(int argc, char *argv[]) { -+ int id = 0; - int r; +- int r; ++ int r, id = 0; + LIST_HEAD_INIT(consoles); log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); -@@ -737,11 +827,99 @@ int main(int argc, char *argv[]) { - if ((r = parse_argv(argc, argv)) <= 0) +@@ -625,11 +776,19 @@ int main(int argc, char *argv[]) { + if (r <= 0) goto finish; -+ usemask = (uint32_t*) mmap(NULL, sizeof(uint32_t), PROT_READ|PROT_WRITE, -+ MAP_ANONYMOUS|MAP_SHARED, -1, 0); ++ usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE, ++ MAP_ANONYMOUS | MAP_SHARED, -1, 0); ++ assert_se(usemask != NULL); + if (arg_console) { - setsid(); - release_terminal(); -- } + if (!arg_plymouth && arg_action != ACTION_WALL && + arg_action != ACTION_LIST) { -+ struct console *c; -+ struct sigaction sig = { -+ .sa_handler = chld_handler, -+ .sa_flags = SA_NOCLDSTOP|SA_RESTART, -+ }; -+ struct sigaction oldsig; -+ sigset_t set, oldset; -+ int status = 0; -+ pid_t job; -+ -+ collect_consoles(); -+ -+ if (!consoles->handle_next) { -+ consoles->pid = 0; -+ c = consoles; -+ goto nofork; -+ } - -+ assert_se(sigemptyset(&set) == 0); -+ assert_se(sigaddset(&set, SIGHUP) == 0); -+ assert_se(sigaddset(&set, SIGCHLD) == 0); -+ assert_se(sigemptyset(&sig.sa_mask) == 0); -+ -+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); -+ sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); -+ LIST_FOREACH(handle, c, consoles) { -+ -+ switch ((c->pid = fork())) { -+ case 0: -+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) -+ _exit(EXIT_FAILURE); -+ zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); -+ /* fall through */ -+ nofork: -+ setsid(); -+ release_terminal(); -+ id = c->id; -+ *usemask |= (1<tty; -+ goto forked; /* child */ -+ case -1: -+ log_error("Failed to query password: %s", strerror(errno)); -+ return EXIT_FAILURE; -+ default: -+ break; -+ } -+ } -+ -+ r = 0; -+ while ((job = wait(&status))) { -+ if (job < 0) { -+ if (errno != EINTR) -+ break; -+ continue; -+ } -+ LIST_FOREACH(handle, c, consoles) { -+ if (c->pid == job) { -+ *usemask &= ~(1<id); -+ continue; -+ } -+ if (kill(c->pid, 0) < 0) { -+ *usemask &= ~(1<id); -+ continue; -+ } -+ if (*usemask & (1<id)) -+ continue; -+ kill(c->pid, SIGHUP); -+ usleep(50000); -+ kill(c->pid, SIGKILL); -+ } -+ -+ if (WIFEXITED(status) && !r) -+ r = WEXITSTATUS(status); -+ } -+ free_consoles(); -+ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; /* parent */ -+ ++ id = zzz(); + } else { + setsid(); + release_terminal(); + } -+ } -+forked: - if (arg_action == ACTION_WATCH || - arg_action == ACTION_WALL) + } +- + if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) r = watch_passwords(); -@@ -751,6 +929,8 @@ int main(int argc, char *argv[]) { + else +@@ -638,6 +797,8 @@ int main(int argc, char *argv[]) { if (r < 0) - log_error("Error: %s", strerror(-r)); + log_error_errno(r, "Error: %m"); + free_consoles(); -+ *usemask &= ~(1< #include @@ -37,7 +39,7 @@ Related to bnc#892096 + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); + if (entropy_fd < 0) { -+ entropy_count = 0; ++ entropy_count = 0; + if (errno != ENOENT) { + log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); + r = -errno; @@ -55,13 +57,13 @@ Related to bnc#892096 seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -113,16 +133,37 @@ int main(int argc, char *argv[]) { +@@ -113,12 +133,34 @@ int main(int argc, char *argv[]) { } else { lseek(seed_fd, 0, SEEK_SET); -- k = loop_write(random_fd, buf, (size_t) k, false); -- if (k <= 0) { -- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); +- r = loop_write(random_fd, buf, (size_t) k, false); +- if (r < 0) +- log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); + if (entropy_count && (size_t) k == buf_size) { + struct rand_pool_info entropy = { + .entropy_count = entropy_count, @@ -77,15 +79,12 @@ Related to bnc#892096 + k = loop_write(random_fd, buf, (size_t) k, false); + if (k <= 0) { + log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); - -- r = k == 0 ? -EIO : (int) k; + r = k == 0 ? -EIO : (int) k; + } - } ++ } } } else if (streq(argv[1], "save")) { - + /* Read available entropy count, if possible */ + f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); + if (f) { @@ -93,11 +92,10 @@ Related to bnc#892096 + entropy_count = 0; + fclose(f); + } -+ + seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { - log_error("Failed to open " RANDOM_SEED ": %m"); -@@ -137,6 +178,21 @@ int main(int argc, char *argv[]) { +@@ -134,6 +176,21 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch deleted file mode 100644 index e29f4b28..00000000 --- a/use-usr-sbin-sulogin-for-emergency-service.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Andrey Borzenkov -Subject: use /usr/sbin/sulogin in emergency service - -In current Factory sulogin is in /usr/sbin which makes it impossible -to enter emergency service. -Index: systemd-207/units/emergency.service.in -=================================================================== ---- systemd-207.orig/units/emergency.service.in -+++ systemd-207/units/emergency.service.in -@@ -17,7 +17,7 @@ Environment=HOME=/root - WorkingDirectory=/root - ExecStartPre=-/bin/plymouth quit - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=@SYSTEMCTL@ --fail --no-block default - Type=idle - StandardInput=tty-force -Index: systemd-207/units/console-shell.service.m4.in -=================================================================== ---- systemd-207.orig/units/console-shell.service.m4.in -+++ systemd-207/units/console-shell.service.m4.in -@@ -17,7 +17,7 @@ Before=getty.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=-@SYSTEMCTL@ poweroff - Type=idle - StandardInput=tty-force -Index: systemd-207/units/rescue.service.m4.in -=================================================================== ---- systemd-207.orig/units/rescue.service.m4.in -+++ systemd-207/units/rescue.service.m4.in -@@ -18,7 +18,7 @@ Environment=HOME=/root - WorkingDirectory=/root - ExecStartPre=-/bin/plymouth quit - ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=-@SYSTEMCTL@ --fail --no-block default - Type=idle - StandardInput=tty-force diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch index b318b124..3273aba6 100644 --- a/vhangup-on-all-consoles.patch +++ b/vhangup-on-all-consoles.patch @@ -2,12 +2,22 @@ Related to bnc#886599 and others. That is use the vhangup(8) tool to explicit do a virtually hangup on the specified on the terminal line to give e.g. the bash a few seconds to e.g. safe its history. +[crrodriguez@opensuse.org: Feb 2015 +This a known kernel bug, no notification from the cgroup subsystem +arrives and the processes in the "scope" units have +to be SIGKILL'ed without delay in order not to hang shutdown +Status: fix not available as of Feb 16 2015 +track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 +] + --- units/getty@.service.m4 | 1 + units/serial-getty@.service.m4 | 1 + 2 files changed, 2 insertions(+) ---- units/getty@.service.m4 -+++ units/getty@.service.m4 2014-07-15 07:30:28.006235859 +0000 +Index: systemd-218/units/getty@.service.m4 +=================================================================== +--- systemd-218.orig/units/getty@.service.m4 ++++ systemd-218/units/getty@.service.m4 @@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate @@ -16,13 +26,15 @@ line to give e.g. the bash a few seconds to e.g. safe its history. Type=idle Restart=always RestartSec=0 ---- units/serial-getty@.service.m4 -+++ units/serial-getty@.service.m4 2014-07-15 07:30:01.366235017 +0000 +Index: systemd-218/units/serial-getty@.service.m4 +=================================================================== +--- systemd-218.orig/units/serial-getty@.service.m4 ++++ systemd-218/units/serial-getty@.service.m4 @@ -24,6 +24,7 @@ IgnoreOnIsolate=yes [Service] - ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 $TERM + ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM +ExecStopPost=-/sbin/vhangup /dev/%I Type=idle Restart=always - RestartSec=0 + UtmpIdentifier=%I diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index 41a2b6dc..8aec94ac 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -1,10 +1,12 @@ --- - src/core/manager.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/core/manager.h | 5 ++ - 2 files changed, 108 insertions(+) + 2 files changed, 98 insertions(+) ---- src/core/manager.c -+++ src/core/manager.c 2014-11-07 11:12:58.334193988 +0000 +Index: systemd-218/src/core/manager.c +=================================================================== +--- systemd-218.orig/src/core/manager.c ++++ systemd-218/src/core/manager.c @@ -37,6 +37,7 @@ #include #include @@ -13,7 +15,7 @@ #ifdef HAVE_AUDIT #include -@@ -304,6 +305,101 @@ static int manager_check_ask_password(Ma +@@ -302,6 +303,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -35,13 +37,8 @@ + flush_fd(fd); + + m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ -+ if (m->resolv_conf_inotify_fd >= 0) -+ close_nointr_nofail(m->resolv_conf_inotify_fd); -+ m->resolv_conf_inotify_fd = -1; -+ ++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); + manager_setup_resolv_conf_change(m); -+ + return m->resolv_conf_noent ? 0 : res_init(); +} + @@ -96,10 +93,7 @@ + + return 0; +fail: -+ if (m->resolv_conf_inotify_fd >= 0) -+ close_nointr_nofail(m->resolv_conf_inotify_fd); -+ m->resolv_conf_inotify_fd = -1; -+ ++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); + return 0; /* Ignore error here */ +} + @@ -107,23 +101,21 @@ + assert(m); + + m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ if (m->resolv_conf_inotify_fd >= 0) -+ close_nointr_nofail(m->resolv_conf_inotify_fd); -+ m->resolv_conf_inotify_fd = -1; ++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); +} + static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -562,6 +658,7 @@ int manager_new(SystemdRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; +@@ -557,6 +643,7 @@ int manager_new(SystemdRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + m->resolv_conf_inotify_fd = -1; m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ -@@ -613,6 +710,10 @@ int manager_new(SystemdRunningAs running +@@ -618,6 +705,10 @@ int manager_new(SystemdRunningAs running if (r < 0) goto fail; @@ -134,20 +126,22 @@ m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -906,6 +1007,8 @@ void manager_free(Manager *m) { - - assert(m); +@@ -896,6 +987,8 @@ Manager* manager_free(Manager *m) { + if (!m) + return NULL; + manager_shutdown_resolv_conf_change(m); + manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) ---- src/core/manager.h -+++ src/core/manager.h 2014-11-07 11:06:41.466019636 +0000 -@@ -157,6 +157,11 @@ struct Manager { - FILE *proc_self_mountinfo; - sd_event_source *mount_event_source; +Index: systemd-218/src/core/manager.h +=================================================================== +--- systemd-218.orig/src/core/manager.h ++++ systemd-218/src/core/manager.h +@@ -185,6 +185,11 @@ struct Manager { + int utab_inotify_fd; + sd_event_source *mount_utab_event_source; + /* Watch out any change of /etc/resolv.conf */ + int resolv_conf_inotify_fd; From daede5b00d84e012a3eeda5593f4c959d44a09bf6a1b5639bd65e00188d0962b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 5 Mar 2015 14:28:42 +0000 Subject: [PATCH 210/991] Accepting request 288864 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/288864 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=216 --- 0001-core-rework-device-state-logic.patch | 917 ++++++++++++++++++++++ systemd-mini.changes | 6 + systemd-mini.spec | 3 +- systemd.changes | 6 + systemd.spec | 3 +- 5 files changed, 933 insertions(+), 2 deletions(-) create mode 100644 0001-core-rework-device-state-logic.patch diff --git a/0001-core-rework-device-state-logic.patch b/0001-core-rework-device-state-logic.patch new file mode 100644 index 00000000..0234602c --- /dev/null +++ b/0001-core-rework-device-state-logic.patch @@ -0,0 +1,917 @@ +From 628c89cc68ab96fce2de7ebba5933725d147aecc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 27 Feb 2015 21:55:08 +0100 +Subject: [PATCH] core: rework device state logic +References: https://bugzilla.redhat.com/show_bug.cgi?id=1196452 + +This change introduces a new state "tentative" for device units. Device +units are considered "plugged" when udev announced them, "dead" when +they are not available in the kernel, and "tentative" when they are +referenced in /proc/self/mountinfo or /proc/swaps but not (yet) +announced via udev. + +This should fix a race when device nodes (like loop devices) are created +and immediately mounted. Previously, systemd might end up seeing the +mount unit before the device, and would thus pull down the mount because +its BindTo dependency on the device would not be fulfilled. +=== +[The bug can be triggered by + cp -a /dev/sda1 (pick any source) /dev/xxx; mount /dev/xxx /mnt; + since "xxx" is a device udev does not know about even if it runs + and is race-free in the moment you are trying. + -jengelh] +--- + src/core/device.c | 368 +++++++++++++++++++++++++++++++++--------------------- + src/core/device.h | 14 ++- + src/core/mount.c | 46 ++++--- + src/core/swap.c | 32 +++-- + src/core/swap.h | 4 +- + src/core/unit.c | 1 - + 6 files changed, 285 insertions(+), 180 deletions(-) + +diff --git a/src/core/device.c b/src/core/device.c +index 2d983cc..e41ed41 100644 +--- a/src/core/device.c ++++ b/src/core/device.c +@@ -34,7 +34,8 @@ + + static const UnitActiveState state_translation_table[_DEVICE_STATE_MAX] = { + [DEVICE_DEAD] = UNIT_INACTIVE, +- [DEVICE_PLUGGED] = UNIT_ACTIVE ++ [DEVICE_TENTATIVE] = UNIT_ACTIVATING, ++ [DEVICE_PLUGGED] = UNIT_ACTIVE, + }; + + static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata); +@@ -63,6 +64,41 @@ static void device_unset_sysfs(Device *d) { + d->sysfs = NULL; + } + ++static int device_set_sysfs(Device *d, const char *sysfs) { ++ Device *first; ++ char *copy; ++ int r; ++ ++ assert(d); ++ ++ if (streq_ptr(d->sysfs, sysfs)) ++ return 0; ++ ++ r = hashmap_ensure_allocated(&UNIT(d)->manager->devices_by_sysfs, &string_hash_ops); ++ if (r < 0) ++ return r; ++ ++ copy = strdup(sysfs); ++ if (!copy) ++ return -ENOMEM; ++ ++ device_unset_sysfs(d); ++ ++ first = hashmap_get(UNIT(d)->manager->devices_by_sysfs, sysfs); ++ LIST_PREPEND(same_sysfs, first, d); ++ ++ r = hashmap_replace(UNIT(d)->manager->devices_by_sysfs, copy, first); ++ if (r < 0) { ++ LIST_REMOVE(same_sysfs, first, d); ++ free(copy); ++ return r; ++ } ++ ++ d->sysfs = copy; ++ ++ return 0; ++} ++ + static void device_init(Unit *u) { + Device *d = DEVICE(u); + +@@ -110,8 +146,13 @@ static int device_coldplug(Unit *u) { + assert(d); + assert(d->state == DEVICE_DEAD); + +- if (d->sysfs) ++ if (d->found & DEVICE_FOUND_UDEV) ++ /* If udev says the device is around, it's around */ + device_set_state(d, DEVICE_PLUGGED); ++ else if (d->found != DEVICE_NOT_FOUND) ++ /* If a device is found in /proc/self/mountinfo or ++ * /proc/swaps, it's "tentatively" around. */ ++ device_set_state(d, DEVICE_TENTATIVE); + + return 0; + } +@@ -140,49 +181,9 @@ _pure_ static const char *device_sub_state_to_string(Unit *u) { + return device_state_to_string(DEVICE(u)->state); + } + +-static int device_add_escaped_name(Unit *u, const char *dn) { +- _cleanup_free_ char *e = NULL; +- int r; +- +- assert(u); +- assert(dn); +- assert(dn[0] == '/'); +- +- e = unit_name_from_path(dn, ".device"); +- if (!e) +- return -ENOMEM; +- +- r = unit_add_name(u, e); +- if (r < 0 && r != -EEXIST) +- return r; +- +- return 0; +-} +- +-static int device_find_escape_name(Manager *m, const char *dn, Unit **_u) { +- _cleanup_free_ char *e = NULL; +- Unit *u; +- +- assert(m); +- assert(dn); +- assert(dn[0] == '/'); +- assert(_u); +- +- e = unit_name_from_path(dn, ".device"); +- if (!e) +- return -ENOMEM; +- +- u = manager_get_unit(m, e); +- if (u) { +- *_u = u; +- return 1; +- } +- +- return 0; +-} +- +-static int device_make_description(Unit *u, struct udev_device *dev, const char *path) { ++static int device_update_description(Unit *u, struct udev_device *dev, const char *path) { + const char *model; ++ int r; + + assert(u); + assert(dev); +@@ -207,13 +208,16 @@ static int device_make_description(Unit *u, struct udev_device *dev, const char + + j = strjoin(model, " ", label, NULL); + if (j) +- return unit_set_description(u, j); +- } ++ r = unit_set_description(u, j); ++ } else ++ r = unit_set_description(u, model); ++ } else ++ r = unit_set_description(u, path); + +- return unit_set_description(u, model); +- } ++ if (r < 0) ++ log_unit_error_errno(u->id, r, "Failed to set device description: %m"); + +- return unit_set_description(u, path); ++ return r; + } + + static int device_add_udev_wants(Unit *u, struct udev_device *dev) { +@@ -240,20 +244,20 @@ static int device_add_udev_wants(Unit *u, struct udev_device *dev) { + + n = unit_name_mangle(e, MANGLE_NOGLOB); + if (!n) +- return -ENOMEM; ++ return log_oom(); + + r = unit_add_dependency_by_name(u, UNIT_WANTS, n, NULL, true); + if (r < 0) +- return r; ++ return log_unit_error_errno(u->id, r, "Failed to add wants dependency: %m"); + } + if (!isempty(state)) +- log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", +- property, strna(udev_device_get_syspath(dev))); ++ log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", property, strna(udev_device_get_syspath(dev))); + + return 0; + } + +-static int device_update_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { ++static int device_setup_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { ++ _cleanup_free_ char *e = NULL; + const char *sysfs; + Unit *u = NULL; + bool delete; +@@ -267,12 +271,18 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + if (!sysfs) + return 0; + +- r = device_find_escape_name(m, path, &u); +- if (r < 0) +- return r; ++ e = unit_name_from_path(path, ".device"); ++ if (!e) ++ return log_oom(); ++ ++ u = manager_get_unit(m, e); + +- if (u && DEVICE(u)->sysfs && !path_equal(DEVICE(u)->sysfs, sysfs)) ++ if (u && ++ DEVICE(u)->sysfs && ++ !path_equal(DEVICE(u)->sysfs, sysfs)) { ++ log_unit_error(u->id, "Device %s appeared twice with different sysfs paths %s and %s", e, DEVICE(u)->sysfs, sysfs); + return -EEXIST; ++ } + + if (!u) { + delete = true; +@@ -281,7 +291,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + if (!u) + return log_oom(); + +- r = device_add_escaped_name(u, path); ++ r = unit_add_name(u, e); + if (r < 0) + goto fail; + +@@ -293,37 +303,16 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + * actually been seen yet ->sysfs will not be + * initialized. Hence initialize it if necessary. */ + +- if (!DEVICE(u)->sysfs) { +- Device *first; +- +- DEVICE(u)->sysfs = strdup(sysfs); +- if (!DEVICE(u)->sysfs) { +- r = -ENOMEM; +- goto fail; +- } +- +- r = hashmap_ensure_allocated(&m->devices_by_sysfs, &string_hash_ops); +- if (r < 0) +- goto fail; +- +- first = hashmap_get(m->devices_by_sysfs, sysfs); +- LIST_PREPEND(same_sysfs, first, DEVICE(u)); +- +- r = hashmap_replace(m->devices_by_sysfs, DEVICE(u)->sysfs, first); +- if (r < 0) +- goto fail; +- } +- +- device_make_description(u, dev, path); ++ r = device_set_sysfs(DEVICE(u), sysfs); ++ if (r < 0) ++ goto fail; + +- if (main) { +- /* The additional systemd udev properties we only +- * interpret for the main object */ ++ (void) device_update_description(u, dev, path); + +- r = device_add_udev_wants(u, dev); +- if (r < 0) +- goto fail; +- } ++ /* The additional systemd udev properties we only interpret ++ * for the main object */ ++ if (main) ++ (void) device_add_udev_wants(u, dev); + + /* Note that this won't dispatch the load queue, the caller + * has to do that if needed and appropriate */ +@@ -332,7 +321,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + return 0; + + fail: +- log_warning_errno(r, "Failed to load device unit: %m"); ++ log_unit_warning_errno(u->id, r, "Failed to set up device unit: %m"); + + if (delete && u) + unit_free(u); +@@ -340,7 +329,7 @@ fail: + return r; + } + +-static int device_process_new_device(Manager *m, struct udev_device *dev) { ++static int device_process_new(Manager *m, struct udev_device *dev) { + const char *sysfs, *dn, *alias; + struct udev_list_entry *item = NULL, *first = NULL; + int r; +@@ -352,14 +341,14 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + return 0; + + /* Add the main unit named after the sysfs path */ +- r = device_update_unit(m, dev, sysfs, true); ++ r = device_setup_unit(m, dev, sysfs, true); + if (r < 0) + return r; + + /* Add an additional unit for the device node */ + dn = udev_device_get_devnode(dev); + if (dn) +- device_update_unit(m, dev, dn, false); ++ (void) device_setup_unit(m, dev, dn, false); + + /* Add additional units for all symlinks */ + first = udev_device_get_devlinks_list_entry(dev); +@@ -386,7 +375,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + st.st_rdev != udev_device_get_devnum(dev)) + continue; + +- device_update_unit(m, dev, p, false); ++ (void) device_setup_unit(m, dev, p, false); + } + + /* Add additional units for all explicitly configured +@@ -403,7 +392,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + e[l] = 0; + + if (path_is_absolute(e)) +- device_update_unit(m, dev, e, false); ++ (void) device_setup_unit(m, dev, e, false); + else + log_warning("SYSTEMD_ALIAS for %s is not an absolute path, ignoring: %s", sysfs, e); + } +@@ -414,39 +403,62 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + return 0; + } + +-static void device_set_path_plugged(Manager *m, struct udev_device *dev) { +- const char *sysfs; ++static void device_update_found_one(Device *d, bool add, DeviceFound found, bool now) { ++ DeviceFound n; ++ ++ assert(d); ++ ++ n = add ? (d->found | found) : (d->found & ~found); ++ if (n == d->found) ++ return; ++ ++ d->found = n; ++ ++ if (now) { ++ if (d->found & DEVICE_FOUND_UDEV) ++ device_set_state(d, DEVICE_PLUGGED); ++ else if (d->found != DEVICE_NOT_FOUND) ++ device_set_state(d, DEVICE_TENTATIVE); ++ else ++ device_set_state(d, DEVICE_DEAD); ++ } ++} ++ ++static int device_update_found_by_sysfs(Manager *m, const char *sysfs, bool add, DeviceFound found, bool now) { + Device *d, *l; + + assert(m); +- assert(dev); ++ assert(sysfs); + +- sysfs = udev_device_get_syspath(dev); +- if (!sysfs) +- return; ++ if (found == DEVICE_NOT_FOUND) ++ return 0; + + l = hashmap_get(m->devices_by_sysfs, sysfs); + LIST_FOREACH(same_sysfs, d, l) +- device_set_state(d, DEVICE_PLUGGED); ++ device_update_found_one(d, add, found, now); ++ ++ return 0; + } + +-static int device_process_removed_device(Manager *m, struct udev_device *dev) { +- const char *sysfs; +- Device *d; ++static int device_update_found_by_name(Manager *m, const char *path, bool add, DeviceFound found, bool now) { ++ _cleanup_free_ char *e = NULL; ++ Unit *u; + + assert(m); +- assert(dev); ++ assert(path); + +- sysfs = udev_device_get_syspath(dev); +- if (!sysfs) +- return -ENOMEM; ++ if (found == DEVICE_NOT_FOUND) ++ return 0; + +- /* Remove all units of this sysfs path */ +- while ((d = hashmap_get(m->devices_by_sysfs, sysfs))) { +- device_unset_sysfs(d); +- device_set_state(d, DEVICE_DEAD); +- } ++ e = unit_name_from_path(path, ".device"); ++ if (!e) ++ return log_oom(); + ++ u = manager_get_unit(m, e); ++ if (!u) ++ return 0; ++ ++ device_update_found_one(DEVICE(u), add, found, now); + return 0; + } + +@@ -462,22 +474,6 @@ static bool device_is_ready(struct udev_device *dev) { + return parse_boolean(ready) != 0; + } + +-static int device_process_new_path(Manager *m, const char *path) { +- _cleanup_udev_device_unref_ struct udev_device *dev = NULL; +- +- assert(m); +- assert(path); +- +- dev = udev_device_new_from_syspath(m->udev, path); +- if (!dev) +- return log_oom(); +- +- if (!device_is_ready(dev)) +- return 0; +- +- return device_process_new_device(m, dev); +-} +- + static Unit *device_following(Unit *u) { + Device *d = DEVICE(u); + Device *other, *first = NULL; +@@ -604,12 +600,31 @@ static int device_enumerate(Manager *m) { + goto fail; + + first = udev_enumerate_get_list_entry(e); +- udev_list_entry_foreach(item, first) +- device_process_new_path(m, udev_list_entry_get_name(item)); ++ udev_list_entry_foreach(item, first) { ++ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; ++ const char *sysfs; ++ ++ sysfs = udev_list_entry_get_name(item); ++ ++ dev = udev_device_new_from_syspath(m->udev, sysfs); ++ if (!dev) { ++ log_oom(); ++ continue; ++ } ++ ++ if (!device_is_ready(dev)) ++ continue; ++ ++ (void) device_process_new(m, dev); ++ ++ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, false); ++ } + + return 0; + + fail: ++ log_error_errno(r, "Failed to enumerate devices: %m"); ++ + device_shutdown(m); + return r; + } +@@ -617,7 +632,7 @@ fail: + static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata) { + _cleanup_udev_device_unref_ struct udev_device *dev = NULL; + Manager *m = userdata; +- const char *action; ++ const char *action, *sysfs; + int r; + + assert(m); +@@ -639,33 +654,47 @@ static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + if (!dev) + return 0; + ++ sysfs = udev_device_get_syspath(dev); ++ if (!sysfs) { ++ log_error("Failed to get udev sys path."); ++ return 0; ++ } ++ + action = udev_device_get_action(dev); + if (!action) { + log_error("Failed to get udev action string."); + return 0; + } + +- if (streq(action, "remove") || !device_is_ready(dev)) { +- r = device_process_removed_device(m, dev); +- if (r < 0) +- log_error_errno(r, "Failed to process device remove event: %m"); +- +- r = swap_process_removed_device(m, dev); ++ if (streq(action, "remove")) { ++ r = swap_process_device_remove(m, dev); + if (r < 0) + log_error_errno(r, "Failed to process swap device remove event: %m"); + +- } else { +- r = device_process_new_device(m, dev); +- if (r < 0) +- log_error_errno(r, "Failed to process device new event: %m"); ++ /* If we get notified that a device was removed by ++ * udev, then it's completely gone, hence unset all ++ * found bits */ ++ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV|DEVICE_FOUND_MOUNT|DEVICE_FOUND_SWAP, true); + +- r = swap_process_new_device(m, dev); ++ } else if (device_is_ready(dev)) { ++ ++ (void) device_process_new(m, dev); ++ ++ r = swap_process_device_new(m, dev); + if (r < 0) + log_error_errno(r, "Failed to process swap device new event: %m"); + + manager_dispatch_load_queue(m); + +- device_set_path_plugged(m, dev); ++ /* The device is found now, set the udev found bit */ ++ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, true); ++ ++ } else { ++ /* The device is nominally around, but not ready for ++ * us. Hence unset the udev bit, but leave the rest ++ * around. */ ++ ++ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV, true); + } + + return 0; +@@ -684,9 +713,58 @@ static bool device_supported(Manager *m) { + return read_only <= 0; + } + ++int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now) { ++ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; ++ struct stat st; ++ ++ assert(m); ++ assert(node); ++ ++ /* This is called whenever we find a device referenced in ++ * /proc/swaps or /proc/self/mounts. Such a device might be ++ * mounted/enabled at a time where udev has not finished ++ * probing it yet, and we thus haven't learned about it ++ * yet. In this case we will set the device unit to ++ * "tentative" state. */ ++ ++ if (add) { ++ if (!path_startswith(node, "/dev")) ++ return 0; ++ ++ if (stat(node, &st) < 0) { ++ if (errno == ENOENT) ++ return 0; ++ ++ return log_error_errno(errno, "Failed to stat device node file %s: %m", node); ++ } ++ ++ if (!S_ISBLK(st.st_mode) && !S_ISCHR(st.st_mode)) ++ return 0; ++ ++ dev = udev_device_new_from_devnum(m->udev, S_ISBLK(st.st_mode) ? 'b' : 'c', st.st_rdev); ++ if (!dev) { ++ if (errno == ENOENT) ++ return 0; ++ ++ return log_oom(); ++ } ++ ++ /* If the device is known in the kernel and newly ++ * appeared, then we'll create a device unit for it, ++ * under the name referenced in /proc/swaps or ++ * /proc/self/mountinfo. */ ++ ++ (void) device_setup_unit(m, dev, node, false); ++ } ++ ++ /* Update the device unit's state, should it exist */ ++ return device_update_found_by_name(m, node, add, found, now); ++} ++ + static const char* const device_state_table[_DEVICE_STATE_MAX] = { + [DEVICE_DEAD] = "dead", +- [DEVICE_PLUGGED] = "plugged" ++ [DEVICE_TENTATIVE] = "tentative", ++ [DEVICE_PLUGGED] = "plugged", + }; + + DEFINE_STRING_TABLE_LOOKUP(device_state, DeviceState); +diff --git a/src/core/device.h b/src/core/device.h +index 9065085..9f46e08 100644 +--- a/src/core/device.h ++++ b/src/core/device.h +@@ -28,20 +28,28 @@ typedef struct Device Device; + * simplifies the state engine greatly */ + typedef enum DeviceState { + DEVICE_DEAD, +- DEVICE_PLUGGED, ++ DEVICE_TENTATIVE, /* mounted or swapped, but not (yet) announced by udev */ ++ DEVICE_PLUGGED, /* announced by udev */ + _DEVICE_STATE_MAX, + _DEVICE_STATE_INVALID = -1 + } DeviceState; + ++typedef enum DeviceFound { ++ DEVICE_NOT_FOUND = 0, ++ DEVICE_FOUND_UDEV = 1, ++ DEVICE_FOUND_MOUNT = 2, ++ DEVICE_FOUND_SWAP = 4, ++} DeviceFound; ++ + struct Device { + Unit meta; + + char *sysfs; ++ DeviceFound found; + + /* In order to be able to distinguish dependencies on + different device nodes we might end up creating multiple + devices for the same sysfs path. We chain them up here. */ +- + LIST_FIELDS(struct Device, same_sysfs); + + DeviceState state; +@@ -51,3 +59,5 @@ extern const UnitVTable device_vtable; + + const char* device_state_to_string(DeviceState i) _const_; + DeviceState device_state_from_string(const char *s) _pure_; ++ ++int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now); +diff --git a/src/core/mount.c b/src/core/mount.c +index 40037e7..8e4a376 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1386,7 +1386,7 @@ static int mount_dispatch_timer(sd_event_source *source, usec_t usec, void *user + return 0; + } + +-static int mount_add_one( ++static int mount_setup_unit( + Manager *m, + const char *what, + const char *where, +@@ -1429,7 +1429,7 @@ static int mount_add_one( + + u = unit_new(m, sizeof(Mount)); + if (!u) +- return -ENOMEM; ++ return log_oom(); + + r = unit_add_name(u, e); + if (r < 0) +@@ -1542,6 +1542,8 @@ static int mount_add_one( + return 0; + + fail: ++ log_warning_errno(r, "Failed to set up mount unit: %m"); ++ + if (delete && u) + unit_free(u); + +@@ -1549,33 +1551,36 @@ fail: + } + + static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { +- _cleanup_(mnt_free_tablep) struct libmnt_table *tb = NULL; +- _cleanup_(mnt_free_iterp) struct libmnt_iter *itr = NULL; +- struct libmnt_fs *fs; ++ _cleanup_(mnt_free_tablep) struct libmnt_table *t = NULL; ++ _cleanup_(mnt_free_iterp) struct libmnt_iter *i = NULL; + int r = 0; + + assert(m); + +- tb = mnt_new_table(); +- itr = mnt_new_iter(MNT_ITER_FORWARD); +- if (!tb || !itr) ++ t = mnt_new_table(); ++ if (!t) + return log_oom(); + +- r = mnt_table_parse_mtab(tb, NULL); ++ i = mnt_new_iter(MNT_ITER_FORWARD); ++ if (!i) ++ return log_oom(); ++ ++ r = mnt_table_parse_mtab(t, NULL); + if (r < 0) +- return r; ++ return log_error_errno(r, "Failed to parse /proc/self/mountinfo: %m"); + + r = 0; + for (;;) { + const char *device, *path, *options, *fstype; + _cleanup_free_ const char *d = NULL, *p = NULL; ++ struct libmnt_fs *fs; + int k; + +- k = mnt_table_next_fs(tb, itr, &fs); ++ k = mnt_table_next_fs(t, i, &fs); + if (k == 1) + break; +- else if (k < 0) +- return log_error_errno(k, "Failed to get next entry from /etc/fstab: %m"); ++ if (k < 0) ++ return log_error_errno(k, "Failed to get next entry from /proc/self/mountinfo: %m"); + + device = mnt_fs_get_source(fs); + path = mnt_fs_get_target(fs); +@@ -1583,11 +1588,16 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { + fstype = mnt_fs_get_fstype(fs); + + d = cunescape(device); ++ if (!d) ++ return log_oom(); ++ + p = cunescape(path); +- if (!d || !p) ++ if (!p) + return log_oom(); + +- k = mount_add_one(m, d, p, options, fstype, set_flags); ++ (void) device_found_node(m, d, true, DEVICE_FOUND_MOUNT, set_flags); ++ ++ k = mount_setup_unit(m, d, p, options, fstype, set_flags); + if (r == 0 && k < 0) + r = k; + } +@@ -1731,8 +1741,6 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + + r = mount_load_proc_self_mountinfo(m, true); + if (r < 0) { +- log_error_errno(r, "Failed to reread /proc/self/mountinfo: %m"); +- + /* Reset flags, just in case, for later calls */ + LIST_FOREACH(units_by_type, u, m->units_by_type[UNIT_MOUNT]) { + Mount *mount = MOUNT(u); +@@ -1765,6 +1773,10 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + break; + } + ++ if (mount->parameters_proc_self_mountinfo.what) ++ (void) device_found_node(m, mount->parameters_proc_self_mountinfo.what, false, DEVICE_FOUND_MOUNT, true); ++ ++ + } else if (mount->just_mounted || mount->just_changed) { + + /* New or changed mount entry */ +diff --git a/src/core/swap.c b/src/core/swap.c +index f73a8e6..de3a5d8 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -331,7 +331,7 @@ static int swap_load(Unit *u) { + return swap_verify(s); + } + +-static int swap_add_one( ++static int swap_setup_unit( + Manager *m, + const char *what, + const char *what_proc_swaps, +@@ -356,8 +356,10 @@ static int swap_add_one( + + if (u && + SWAP(u)->from_proc_swaps && +- !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) ++ !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) { ++ log_error("Swap %s appeared twice with different device paths %s and %s", e, SWAP(u)->parameters_proc_swaps.what, what_proc_swaps); + return -EEXIST; ++ } + + if (!u) { + delete = true; +@@ -372,7 +374,7 @@ static int swap_add_one( + + SWAP(u)->what = strdup(what); + if (!SWAP(u)->what) { +- r = log_oom(); ++ r = -ENOMEM; + goto fail; + } + +@@ -400,7 +402,6 @@ static int swap_add_one( + p->priority = priority; + + unit_add_to_dbus_queue(u); +- + return 0; + + fail: +@@ -412,7 +413,7 @@ fail: + return r; + } + +-static int swap_process_new_swap(Manager *m, const char *device, int prio, bool set_flags) { ++static int swap_process_new(Manager *m, const char *device, int prio, bool set_flags) { + _cleanup_udev_device_unref_ struct udev_device *d = NULL; + struct udev_list_entry *item = NULL, *first = NULL; + const char *dn; +@@ -421,7 +422,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool + + assert(m); + +- r = swap_add_one(m, device, device, prio, set_flags); ++ r = swap_setup_unit(m, device, device, prio, set_flags); + if (r < 0) + return r; + +@@ -437,7 +438,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool + /* Add the main device node */ + dn = udev_device_get_devnode(d); + if (dn && !streq(dn, device)) +- swap_add_one(m, dn, device, prio, set_flags); ++ swap_setup_unit(m, dn, device, prio, set_flags); + + /* Add additional units for all symlinks */ + first = udev_device_get_devlinks_list_entry(d); +@@ -458,7 +459,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool + st.st_rdev != udev_device_get_devnum(d)) + continue; + +- swap_add_one(m, p, device, prio, set_flags); ++ swap_setup_unit(m, p, device, prio, set_flags); + } + + return r; +@@ -1084,15 +1085,17 @@ static int swap_load_proc_swaps(Manager *m, bool set_flags) { + if (k == EOF) + break; + +- log_warning("Failed to parse /proc/swaps:%u", i); ++ log_warning("Failed to parse /proc/swaps:%u.", i); + continue; + } + + d = cunescape(dev); + if (!d) +- return -ENOMEM; ++ return log_oom(); ++ ++ device_found_node(m, d, true, DEVICE_FOUND_SWAP, set_flags); + +- k = swap_process_new_swap(m, d, prio, set_flags); ++ k = swap_process_new(m, d, prio, set_flags); + if (k < 0) + r = k; + } +@@ -1144,6 +1147,9 @@ static int swap_dispatch_io(sd_event_source *source, int fd, uint32_t revents, v + break; + } + ++ if (swap->what) ++ device_found_node(m, swap->what, false, DEVICE_FOUND_SWAP, true); ++ + } else if (swap->just_activated) { + + /* New swap entry */ +@@ -1291,7 +1297,7 @@ fail: + return r; + } + +-int swap_process_new_device(Manager *m, struct udev_device *dev) { ++int swap_process_device_new(Manager *m, struct udev_device *dev) { + struct udev_list_entry *item = NULL, *first = NULL; + _cleanup_free_ char *e = NULL; + const char *dn; +@@ -1334,7 +1340,7 @@ int swap_process_new_device(Manager *m, struct udev_device *dev) { + return r; + } + +-int swap_process_removed_device(Manager *m, struct udev_device *dev) { ++int swap_process_device_remove(Manager *m, struct udev_device *dev) { + const char *dn; + int r = 0; + Swap *s; +diff --git a/src/core/swap.h b/src/core/swap.h +index c36c6f2..5de8c20 100644 +--- a/src/core/swap.h ++++ b/src/core/swap.h +@@ -115,8 +115,8 @@ struct Swap { + + extern const UnitVTable swap_vtable; + +-int swap_process_new_device(Manager *m, struct udev_device *dev); +-int swap_process_removed_device(Manager *m, struct udev_device *dev); ++int swap_process_device_new(Manager *m, struct udev_device *dev); ++int swap_process_device_remove(Manager *m, struct udev_device *dev); + + const char* swap_state_to_string(SwapState i) _const_; + SwapState swap_state_from_string(const char *s) _pure_; +diff --git a/src/core/unit.c b/src/core/unit.c +index 63ccd67..7cd7043 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -2834,7 +2834,6 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { + return -ENOMEM; + + r = manager_load_unit(u->manager, e, NULL, NULL, &device); +- + if (r < 0) + return r; + +-- +2.1.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 7308f33f..7a555d36 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de + +- Add 0001-core-rework-device-state-logic.patch to fix spurious + automated umount after mount. + ------------------------------------------------------------------- Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 599ca3cd..3399d28d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -253,7 +253,7 @@ Patch490: watch_resolv.conf_for_become_changed.patch Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -# +Patch522: 0001-core-rework-device-state-logic.patch # UDEV PATCHES # ============ @@ -621,6 +621,7 @@ cp %{SOURCE7} m4/ %patch490 -p1 %patch520 -p1 %patch521 -p1 +%patch522 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 7308f33f..7a555d36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de + +- Add 0001-core-rework-device-state-logic.patch to fix spurious + automated umount after mount. + ------------------------------------------------------------------- Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 75cd2d10..7b5b6805 100644 --- a/systemd.spec +++ b/systemd.spec @@ -248,7 +248,7 @@ Patch490: watch_resolv.conf_for_become_changed.patch Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -# +Patch522: 0001-core-rework-device-state-logic.patch # UDEV PATCHES # ============ @@ -616,6 +616,7 @@ cp %{SOURCE7} m4/ %patch490 -p1 %patch520 -p1 %patch521 -p1 +%patch522 -p1 # udev patches %patch1001 -p1 From 24f522a6e88a5a0d373567e425c6f7ef01bd600958f059efbebe6bcc4a1a0242 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 9 Mar 2015 08:20:20 +0000 Subject: [PATCH 211/991] osc copypac from project:openSUSE:Factory package:systemd revision:214, using expand OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=217 --- ...on-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch | 110 + ...escape-unit-names-in-Install-section.patch | 21 + ...-snprintf-a-potentially-NULL-pointer.patch | 25 + 0001-Fix-systemd-stdio-bridge-symlink.patch | 28 + ...g-about-unused-variable-with-SELINUX.patch | 31 + ...s390_con3270_disable_ANSI_colour_esc.patch | 67 +- 0001-activate-fix-fd-leak-in-do_accept.patch | 26 + ...sh-for-reboot-or-hddown-for-poweroff.patch | 49 +- ...network-device-after-NFS-mount-units.patch | 64 +- 0001-architecture-Add-tilegx.patch | 56 + ...restoring-brightness-to-an-unreadabl.patch | 79 + ...completion-fix-__get_startable_units.patch | 25 + ...h-completion-p-option-for-journalctl.patch | 46 + 0001-bnc888612-logind-polkit-acpi.patch | 34 +- ...ibc-s-xattr-support-instead-of-requi.patch | 215 + ...-bus-proxyd-fix-incorrect-comparison.patch | 21 + ...t-s-not-OK-to-invoke-alloca-in-loops.patch | 80 + ...ter-templates-from-restartable-units.patch | 30 + ...ntly-ignore-sections-starting-with-X.patch | 73 + ...-lookup-string-for-BUSNAME_FAILURE_S.patch | 29 + ...core-close-socket-fds-asynchronously.patch | 89 + ...n-t-allow-enabling-if-unit-is-masked.patch | 36 + 0001-core-fix-invalid-free-in-killall.patch | 32 + ...urce-leak-in-manager_environment_add.patch | 32 + 0001-core-rework-device-state-logic.patch | 917 - ...ake-configured-units-part-of-swap.ta.patch | 76 + ...network-should-be-equivalent-to-netw.patch | 51 + ...e-use-correct-format-string-for-UIDs.patch | 20 + 0001-detect-virt-Fix-Xen-domU-discovery.patch | 33 + ...to-handle-the-3-errnos-that-are-alia.patch | 30 + ...pull-in-sd-event.h-from-event-util.h.patch | 24 + ...or-don-t-return-OOM-on-parentless-de.patch | 20 + ...base-of-Bluetooth-company-identifier.patch | 29 + 0001-hwdb-fix-case-sensitive-match.patch | 25 + ...db-keymaps-for-Samsung-900X3E-900X3F.patch | 40 + 0001-hwdb-update.patch | 6590 ++ ....service-ignore-return-code-of-daemo.patch | 29 + ...ount-on-the-compiler-initializing-fo.patch | 30 + ...-up-error-handling-in-update_catalog.patch | 104 + ...-return-early-in-uncompress_startswi.patch | 186 + ...port-of-messages-containing-newlines.patch | 80 + ...t-output-reboot-markers-when-running.patch | 27 + ...map-Add-Lenovo-Enhanced-USB-Keyboard.patch | 36 + ...-support-for-IBM-ThinkPad-X41-Tablet.patch | 38 + ...pad-toggle-on-Toshiba-Satellite-P75-.patch | 27 + ...systemctl-completion-ignore-at-names.patch | 4 +- ...in-fix-memory-leak-on-DropController.patch | 36 + 0001-login-fix-pos-array-allocation.patch | 52 + ...ces-before-acknowledging-VT-switches.patch | 82 + ...sole-setup-when-switching-from-vgaco.patch | 60 + 0001-login-simplify-controller-handling.patch | 118 + ...add-support-for-Triton2-Power-Button.patch | 24 + ...switching-to-unused-VTs-via-SwitchTo.patch | 37 + ...d-switch-if-more-than-1-display-is-c.patch | 168 + ...-don-t-return-uninitialized-variable.patch | 26 + ...-might-fail-due-to-OOM-protect-again.patch | 26 + 0001-make-209-working-on-older-dist.patch | 79 + 0001-make-fortify-happy-with-ppoll.patch | 55 + ...-hppa-has-fewer-rtsigs-hence-avoid-u.patch | 79 + ...bind-mount-journal-on-top-of-a-non-e.patch | 45 + ...-to-create-veth-link-with-too-long-i.patch | 21 + 0001-nspawn-fix-network-interface.patch | 21 + ...ation-of-machine-names-in-interface-.patch | 31 + ...XDG_RUNTIME_DIR_of_the_original_user.patch | 6 +- 0001-parse_uid-return-ENXIO-for-1-uids.patch | 45 + 0001-po-add-Ukrainian-translation.patch | 406 + ...t-of-messages-logged-to-dev-kmsg-whe.patch | 27 + ...-replace-more-dup-by-F_DUPFD_CLOEXEC.patch | 39 + ...k-for-a-64bit-value-when-we-only-hav.patch | 181 + ...handle-removals-of-non-existing-matc.patch | 25 + ...equire-a-signal-event-source-to-be-e.patch | 58 + ...nt-restore-correct-timeout-behaviour.patch | 37 + ...sage-append-fix-uninitialized-memory.patch | 111 + ...x-access-fix-broken-ternary-operator.patch | 23 + ...ion-fix-completion-of-inactive-units.patch | 95 + ...nd-clean-up-initialization-of-struct.patch | 30 + ...troduce-SELinuxContextFromNet-option.patch | 414 + ...tional-overflow-check-when-enlarging.patch | 35 + ...t-error-message-printed-when-bus_pro.patch | 28 + ...to-change-the-default-target-without.patch | 51 + ...et-list-units-unit-files-honour-type.patch | 94 + ...angle-unit-names-for-the-isolate-suf.patch | 52 + ...nue-switch-root-even-if-umount-fails.patch | 50 + ...tect-virt-detect-s390-virtualization.patch | 72 + ...-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch | 39 + ...cripts-which-provide-network-before-.patch | 34 + ...compare-return-against-correct-errno.patch | 26 + ...fix-permissions-on-new-journal-files.patch | 27 + 0001-umount-modernizations.patch | 119 + ...network-pre.target-as-place-to-hook-.patch | 126 + ...xecStopPost-action-part-of-ExecStart.patch | 46 + ...rfkill-service-is-bount-to-the-actua.patch | 32 + ...ork-online.target-after-network.targ.patch | 20 + ...sctl.service.in-run-after-load-modul.patch | 29 + ...etup-dev-allow-unsafe-file-creation-.patch | 24 + ...7F-a-control-chracter-which-it-is-DE.patch | 54 + ...py-character-maps-not-just-fonts-fro.patch | 56 + ...-we-are-running-inside-the-docker-co.patch | 25 + ...irt-rework-container-detection-logic.patch | 159 + ...wdb-entry-for-Samsung-Series-7-Ultra.patch | 31 + ...re-verbose-when-bind-or-listen-fails.patch | 92 + 0002-analyze-avoid-a-null-dereference.patch | 30 + ...bus_open_transport_systemd-instead-o.patch | 46 + 0002-architecture-Add-cris.patch | 55 + ...ht-do-nothing-if-max_brightness-is-0.patch | 108 + ...-use-n-a-if-PRETTY_NAME-is-not-found.patch | 31 + ...emory-leak-when-kdbus-is-not-enabled.patch | 26 + ...sd_bus_try_close-in-exit-on-idle-ser.patch | 59 + 0002-bus-remove-unused-check.patch | 29 + ...nvironment-fields-passed-in-for-tran.patch | 27 + ...-fix-cycle-break-attempts-outside-tr.patch | 42 + ...s-properties-cannot-be-both-writable.patch | 23 + ...ectory-path-if-we-fail-to-remove-it-.patch | 54 + ...ice-name-in-the-message-about-missin.patch | 26 + ...d-add-a-new-chassis-type-for-watches.patch | 26 + ...-for-special-keys-on-compaq-ku-0133-.patch | 42 + ...base-of-Bluetooth-company-identifier.patch | 32 + 0002-hwdb-update.patch | 2058 + ...lude-fcntl.h-rather-than-sys-fcntl.h.patch | 25 + ...s-improve-xz-compression-performance.patch | 82 + ...ly-detect-language-specified-in-line.patch | 99 + ...rnalctl-man-allow-only-between-terms.patch | 109 + ...-MaxFileSec-really-default-to-1month.patch | 30 + ...ophone-mute-keymap-for-Dell-Latitude.patch | 38 + ...eymap-Asus-EeePC-touchpad-toggle-key.patch | 28 + ...cial-keys-on-ThinkPad-X60-X61-Tablet.patch | 33 + ...-touchpad-toggle-key-on-Asus-laptops.patch | 25 + ...ightness-keys-on-Dell-Inspiron-1520-.patch | 41 + ...pos-slot-to-fallback-on-pos-eviction.patch | 52 + ...dd-support-for-TPS65217-Power-Button.patch | 71 + ...kit-policy-for-hibernate-in-line-wit.patch | 28 + 0002-logind-fix-printf-format.patch | 25 + ...l-bus-call-on-machine-objects-when-w.patch | 70 + ...early-and-annually-in-systemd.time-7.patch | 49 + ...t-entire-sections-can-now-be-ignored.patch | 35 + ...n-tmpfiles.d-recommend-using-b-and-c.patch | 24 + ...emory-stream-before-using-the-buffer.patch | 45 + ...pace-fix-uninitialized-memory-access.patch | 28 + ...etting-up-an-inaccessible-mount-poin.patch | 122 + ...ore-journal-directory-is-empty-check.patch | 30 + ...F_DUPFD_CLOEXEC-when-dupping-session.patch | 26 + ...w-we-generate-file-names-from-rfkill.patch | 116 + ...mpletion-prevent-mangling-unit-names.patch | 67 + ...-propose-templates-for-disable-re-en.patch | 111 + ...-arguments-to-run-initramfs-shutdown.patch | 70 + ...s-own-argv-to-run-initramfs-shutdown.patch | 36 + ...ot-return-error-when-snapshot-exists.patch | 25 + ...h-root-umount-the-old-root-correctly.patch | 26 + ...sctl-replaces-some-slashes-with-dots.patch | 97 + ...temctl-obey-state-in-list-unit-files.patch | 28 + ...BindsTo-BoundBy-in-list-dependencies.patch | 35 + ...emctl-update-NAME-to-PATTERN-in-help.patch | 52 + 0002-systemd-fix-error-message.patch | 29 + ...-try-harder-to-bind-to-notify-socket.patch | 44 + ...upport-infinity-syntax-in-parse_nsec.patch | 40 + ...w-Entry-for-Dell-XPS12-9Q33-keyboard.patch | 29 + ...g-caps-so-that-GetAddresses-can-work.patch | 18 + ...emd-fsck-.service-after-local-fs-pre.patch | 29 + ...ty-.service-use-the-default-RestartS.patch | 29 + 0002-util-avoid-non-portable-__WORDSIZE.patch | 25 + ...der-tabs-special-in-string_has_cc-an.patch | 117 + 0002-util-fix-has-cc-check-and-add-test.patch | 25 + ...-race-where-we-might-miss-SIGTERMs-w.patch | 96 + 0002-util-remove-a-unnecessary-check.patch | 25 + ...ping-strings-don-t-allow-smuggling-i.patch | 74 + ...le-setup-run-setfont-before-loadkeys.patch | 167 + 0003-Add-quotes-to-warning-message.patch | 41 + 0003-Always-check-asprintf-return-code.patch | 223 + ...rint-invalid-UTF-8-in-error-messages.patch | 130 + ...-in-suggested-systemctl-commandlines.patch | 68 + 0003-analyze-fix-mem-leak.patch | 27 + 0003-analyze-fix-plot-with-bad-y-size.patch | 31 + 0003-arch-add-crisv32-to-uname-check.patch | 24 + ...-string-table-entries-for-mips-le-ar.patch | 52 + 0003-backlight-unify-error-messages.patch | 115 + ...ot-OK-to-return-1-from-a-main-progra.patch | 27 + ...chart-parse-userinput-with-safe_atoi.patch | 34 + ...-drop-service-from-the-result-string.patch | 25 + ...-put-the-cached-result-of-use_smack-.patch | 32 + 0003-core-allow-transient-mount-units.patch | 115 + ...sure-to-serialize-jobs-for-all-units.patch | 118 + ...der-failure-when-reading-drop-ins-fa.patch | 113 + ...ge-when-inotify-watches-are-exhauste.patch | 30 + ...lt-to-no-hash-when-keyfile-is-specif.patch | 28 + ...do-not-use-unicode-chars-in-C-locale.patch | 134 + ...abel-return-error-when-writing-fails.patch | 30 + ...fsck-implementation-linked-to-bin-tr.patch | 110 + ...-primary-model-string-in-subsystem-m.patch | 51583 ++++++++++++++++ ...base-of-Bluetooth-company-identifier.patch | 38 + ...l-fix-invalid-free-in-unit_file_mask.patch | 30 + ..._MAC_OVERRIDE-in-journald-for-SMACK-.patch | 41 + ...Adjust-for-more-Samsung-900X4-series.patch | 29 + ...map-Annotate-all-micmute-workarounds.patch | 54 + 0003-keymap-Fix-HP-Pavillon-DV7.patch | 28 + ...onsider-an-unset-model-as-a-wildcard.patch | 39 + ...ing-org.freedesktop.login1.Seat.Swit.patch | 35 + ...d-switch-events-for-30s-after-each-s.patch | 174 + ...tion-XDG_CONFIG_HOME-in-systemd.unit.patch | 40 + ...-man-we-don-t-have-Wanted-dependency.patch | 29 + ...ions-before-other-arguments-to-mount.patch | 39 + ...ure-tmp-var-tmp-and-dev-are-writable.patch | 34 + ...-bus-check-return-value-of-vasprintf.patch | 35 + ...-assert_return-to-check-for-disconne.patch | 498 + ...operties-that-claim-to-be-both-writa.patch | 29 + ...call-epoll_ctl-on-mask-updates-if-ed.patch | 46 + ...rly-convert-object-size-on-big-endia.patch | 39 + ...void-prematurely-rejecting-missing-u.patch | 39 + ...-systemd-use-pager-for-test-and-help.patch | 111 + ...t-from-format_timestamp_relative-on-.patch | 25 + ...password-agent-return-negative-errno.patch | 29 + ...xplicitly-don-t-read-from-invalid-fd.patch | 27 + ...emd-tmpfiles-clean.service-after-tim.patch | 26 + ...useManualStart-from-units-which-are-.patch | 65 + ...de-mixed-for-systemd-nspawn-.service.patch | 26 + ...g-at-the-next-unichar-honour-the-siz.patch | 29 + ...ise-level-of-Found-dependency.-lines.patch | 42 + ...itecture-remove-cris-from-uname-list.patch | 27 + ...error-when-state-restore-is-disabled.patch | 33 + ...f-kernel-exposes-backlight-device-wi.patch | 40 + ...use-list-unit-files-to-get-all-units.patch | 39 + 0004-bootchart-check-return-of-strftime.patch | 63 + 0004-config-parser-fix-mem-leak.patch | 24 + ...rt-for-ERRNO-NOTIFY_SOCKET-message-p.patch | 67 + ...o-relabel-mounts-before-we-loaded-th.patch | 29 + ...tion-destructiveness-check-once-more.patch | 32 + ...the-rescue-argument-to-rescue.target.patch | 27 + ...-add-unit-dependency-on-dev-null-dev.patch | 53 + ...te-more-shell-characters-in-envfiles.patch | 54 + ...y-one-error-in-array-index-assertion.patch | 35 + ...C-network-interface-name-irdac-idrac.patch | 22 + ...rator-properly-escape-instance-names.patch | 39 + ...base-of-Bluetooth-company-identifier.patch | 50 + ...at-description-and-document-reloadin.patch | 60 + 0004-hwdb-update.patch | 3964 ++ ...ement-a-union-to-pad-out-file_handle.patch | 117 + ...g-jobs-to-run-queue-in-unit_coldplug.patch | 30 + ...journal-do-server_vacuum-for-sigusr1.patch | 30 + ...ller-should-fail-if-prepare_vt-fails.patch | 134 + ...il-display-count-if-a-device-has-no-.patch | 45 + ...re-GetMachineAddresses-is-available-.patch | 38 + ...ument-missing-options-of-systemd-run.patch | 113 + ...-t-manage-to-properly-allocate-the-e.patch | 43 + ...vent-loop-terminates-explicitly-clos.patch | 27 + ...t-check-the-value-of-received-signal.patch | 46 + ...y-that-object-start-with-the-field-n.patch | 41 + ...ntial-double-free-crash-in-child-pro.patch | 38 + 0004-shared-conf-parser.patch | 31 + ...-don-t-clear-store_wtmp-in-utmp_put_.patch | 106 + ...handle-if-our-service-vanished-durin.patch | 30 + ...d-detect-virt-only-discover-Xen-domU.patch | 79 + ...-python-use-.hex-instead-of-.get_hex.patch | 46 + ...the-first-error-from-manager_startup.patch | 57 + ...e-should-not-allow-files-ending-with.patch | 28 + ...idering-UID-0xFFFF-and-0xFFFFFFFF-va.patch | 31 + ...var-run-with-run-in-remaining-places.patch | 89 + ...ght-Do-not-clamp-brightness-for-LEDs.patch | 60 + ...-saved-brightness-exceeding-max-brig.patch | 64 + ...-try-to-access-data-for-non-existing.patch | 29 + ...avoid-using-m-kdbus-after-freeing-it.patch | 35 + ...s-close-a-bus-that-failed-to-connect.patch | 28 + ...tate-behind-the-D-Bus-API-not-in-the.patch | 137 + ...e-kernel-s-timezone-when-the-RTC-run.patch | 121 + 0005-cryptsetup-fix-an-OOM-check.patch | 25 + ...base-of-Bluetooth-company-identifier.patch | 73 + 0005-hwdb-update.patch | 1560 + ...aiting-jobs-to-run-queue-during-cold.patch | 34 + ...urnalctl-correct-help-text-for-until.patch | 21 + 0005-login-fix-mem-leak.patch | 23 + 0005-logind-fix-policykit-checks.patch | 43 + 0005-logind-fix-typo.patch | 25 + ...switch-handling-from-logind-main-to-.patch | 119 + 0005-man-fix-path-in-crypttab-5.patch | 26 + ...n_by_handle_at-and-others-via-seccom.patch | 94 + 0005-po-add-Greek-translation.patch | 436 + ...daemon-fix-incorrect-variable-access.patch | 25 + ...-stricter-checking-of-random-boot-id.patch | 37 + ...llocation-if-query-ids-never-reuse-t.patch | 45 + ...cept-negative-ERRNO-notification-mes.patch | 25 + ...-label.h-add-missing-stdio.h-include.patch | 24 + 0005-systemd-python-fix-failing-assert.patch | 26 + ...emd-run-add-some-extra-safety-checks.patch | 34 + ...sd-journal-flush-after-sd-remount-fs.patch | 38 + 0005-util-avoid-double-close-of-fd.patch | 28 + ...-return-1-EINVAL-on-allocation-error.patch | 35 + ...k-to-var-run-at-a-couple-of-problems.patch | 60 + 0006-bus-unref-buscreds-on-failure.patch | 32 + 0006-calendarspec-fix-typo-in-annually.patch | 27 + ...base-of-Bluetooth-company-identifier.patch | 82 + 0006-hwdb-update.patch | 4392 ++ ...hat-next-entry-is-after-previous-ent.patch | 70 + 0006-journald-fix-minor-memory-leak.patch | 24 + ...-the-kernel-s-quiet-cmdline-argument.patch | 29 + ...add-mir-to-the-list-of-session-types.patch | 90 + ...e-VT-signal-handler-between-sessions.patch | 246 + ...-the-ExecReload-command-should-be-sy.patch | 39 + ...-parse_boolean-require-exact-matches.patch | 48 + ...device-as-SYSTEMD_READY-0-if-no-file.patch | 30 + ...ization-perturbation-value-right-bef.patch | 75 + ...dian.h-add-missing-byteswap.h-includ.patch | 24 + ...temctl-fix-resource-leak-CID-1237747.patch | 35 + ...tatusErrno-value-in-systemctl-status.patch | 37 + ...o-automatic-cleanup-in-XDG_RUNTIME_D.patch | 26 + ...-agent-Do-tell-what-directory-we-fai.patch | 26 + ...t-that-var-run-must-be-a-symlink-run.patch | 30 + 0007-core-fix-a-potential-mem-leak.patch | 25 + ...ss-duplicate-and-misleading-messages.patch | 66 + ...uplicates-copy-full-BindMount-struct.patch | 31 + ...base-of-Bluetooth-company-identifier.patch | 49 + 0007-hwdb-update.patch | 1910 + ...get-file-after-encountering-an-error.patch | 74 + ...eck-journal-file-size-to-deduce-if-i.patch | 55 + ...crease-the-SendBuffer-of-dev-log-to-.patch | 23 + ...d-add-Plantronics-.Audio-mute-button.patch | 32 + ...warn-if-we-fail-to-request-SO_PASSCR.patch | 29 + ...fix-Display-property-of-user-objects.patch | 147 + ...x-cmdline-switch-inconsistency-betwe.patch | 41 + 0007-networkd-fix-typo.patch | 26 + 0007-po-add-German-translation.patch | 448 + ...ccidentally-turn-of-watchdog-timer-e.patch | 29 + ...atus-text-and-errno-values-each-time.patch | 29 + ...not-ignore-errors-in-symlink-removal.patch | 26 + ...skip-mounting-tmp-if-it-is-a-symlink.patch | 26 + ...Reset-signal-mask-on-re-exec-to-init.patch | 51 + ...-system_bus_socket-for-the-D-Bus-soc.patch | 51 + ...-unregister-PIDs-from-PID-hashtables.patch | 102 + ...-Actually-allow-for-succesfully-load.patch | 31 + ...base-of-Bluetooth-company-identifier.patch | 104 + 0008-hwdb-update.patch | 1425 + ...urnald-fix-memory-leak-on-error-path.patch | 29 + ...ep-modes-are-to-be-separated-by-whit.patch | 36 + ...-update-journald-rate-limit-defaults.patch | 28 + ...counting-of-early-mounts-without-SMA.patch | 32 + ...ess-invalid-memory-if-a-signal-match.patch | 27 + ...er-don-t-leak-memory-on-error-in-DEF.patch | 52 + ...ion-prevent-mangling-unit-names-bash.patch | 87 + ...ode-is-long-long-gone-don-t-mention-.patch | 53 + ...til-introduce-sethostname_idempotent.patch | 85 + ...n-the-user-types-a-overly-long-passw.patch | 33 + ...int_property-to-use-int-for-booleans.patch | 29 + ...an-up-signal-reset-logic-when-reexec.patch | 50 + ...base-of-Bluetooth-company-identifier.patch | 38 + 0009-hwdb-update.patch | 3363 + 0009-journal-do-not-leak-mmaps-on-OOM.patch | 50 + ...-by-one-error-in-Missed-X-kernel-mes.patch | 29 + ...add-syslog-facility-for-messages-com.patch | 40 + ...ence-to-systemd-user-sessions.servic.patch | 25 + ...-out-PropertiesChanged-message-if-ac.patch | 70 + ...format-container_uuid-in-UUID-format.patch | 56 + ...ke-if-somebody-sends-us-a-message-wi.patch | 47 + ...systemd-journald.service-Type-notify.patch | 27 + ...ste-error-and-actually-set-the-new-h.patch | 26 + ...base-of-Bluetooth-company-identifier.patch | 77 + ...-suspending-if-there-are-no-displays.patch | 42 + ...-t-kill-the-unit-when-killing-the-le.patch | 32 + 0010-man-update-link-to-LSB.patch | 35 + ...manager-use-correct-cleanup-function.patch | 30 + ...-PropertiesChanged-signals-for-mount.patch | 51 + ...l-unmounting-only-if-not-running-ins.patch | 27 + ...t-fuse.sshfs-as-a-network-filesystem.patch | 25 + ...d-pthread-flag-for-libsystemd-shared.patch | 28 + ...x-corrupt-output-with-empty-messages.patch | 41 + ...emd-bootchart-fix-spacing-in-command.patch | 28 + ...e-we-do-not-try-to-print-missing-fie.patch | 57 + ...o-logic-when-applied-relative-to-ser.patch | 93 + ...-avoid-misleading-error-message-when.patch | 42 + ...e-extra-arguments-with-verify-and-si.patch | 30 + ...ve-stray-reset-of-error-return-value.patch | 24 + 0012-man-add-missing-comma.patch | 26 + ...rint-anything-while-passwords-are-be.patch | 180 + ...-bit-more-NFS-compatible-when-checki.patch | 36 + ...systemd-timedate-udev-spelling-fixes.patch | 118 + ...scape-instance-name-in-systemd-backl.patch | 38 + 0014-journald-with-journaling-FS.patch | 100 +- ...ection-of-missing-proc-self-loginuid.patch | 31 + ...ripts-know-about-Required-and-Should.patch | 68 + ...pletion-smart-to-be-able-to-redirect.patch | 154 +- ...enable-by_path-links-for-ata-devices.patch | 21 +- 1003-udev-netlink-null-rules.patch | 12 +- ...fault-links-for-primary-cd_dvd-drive.patch | 14 +- 1006-udev-always-rename-network.patch | 48 +- 1008-add-msft-compability-rules.patch | 25 + 1009-cdrom_id-use-the-old-MMC-fallback.patch | 54 + ...ev-increase-result-size-for-programs.patch | 13 + 1014-udev-update-net_id-comments.patch | 102 + ...naming-we-cannot-use-virtio-numbers-.patch | 99 + ...name_to_handle_at-is-not-implemented.patch | 30 + ...ynchronize-block-device-event-handli.patch | 83 + ...-the-execution-of-RUN-when-renaming-.patch | 140 + ...-udev-avoid-use-of-uninitialized-err.patch | 37 + ...eyboard-also-hook-into-change-events.patch | 27 + 1021-udev-re-add-persistent-net-rules.patch | 343 +- ...um-API-and-all-assumptions-about-seq.patch | 1445 + ...board-do-tell-on-which-device-EVIOCS.patch | 31 + ...ev-always-close-lock-file-descriptor.patch | 41 + ...ice-mapper-from-block-device-ownersh.patch | 39 + 1026-udevd-inotify-modernizations.patch | 85 + ...change-events-for-partitions-when-to.patch | 84 + 1028-udev-link-config-fix-mem-leak.patch | 34 + ...first-re-reading-the-partition-table.patch | 94 + ...guard-REREADP-logic-with-open-O_ECXL.patch | 23 + ...re-we-always-get-change-for-the-disk.patch | 98 + ...DPT-by-exclusive-lock-instead-of-O_E.patch | 29 + ...lude-device-mapper-from-block-device.patch | 39 + ...eturn-value-from-udev_enumerate_scan.patch | 26 + ...x-invalid-free-in-enable_name_policy.patch | 30 + ...le-fixed-return-code-for-empty-queue.patch | 34 + ...-udev_queue_get_queue_is_empty-logic.patch | 25 + ...ovide-file-descriptor-to-watch-busy-.patch | 248 + ...tch-entire-directory-to-allow-the-re.patch | 40 + 1044-rules-update-qemu-hid-rules.patch | 45 + ...-t-enable-usb-pm-for-Avocent-devices.patch | 29 + ...ink-builtin-should-print-the-reason-.patch | 61 + ...et_setup_link-add-a-bit-more-logging.patch | 39 + ...-ignore-errors-due-to-missing-MAC-ad.patch | 36 + ...-rules-uaccess-add-ID_SOFTWARE_RADIO.patch | 45 + ...from-block-device-ownership-event-lo.patch | 53 + ...add-event-timeout-commandline-option.patch | 119 + 1057-udev-unify-event-timeout-handling.patch | 504 + 1058-udev-unify-event-timeout-handling.patch | 504 + ...t-dd5eddd28a74a49607a8fffcaf960040db.patch | 26 + ...emd-to-manage-loop-device-partitions.patch | 32 + ...press-ID_PATH-for-devices-with-an-un.patch | 96 + ...db-do-not-look-at-usb_device-parents.patch | 63 + ...dev-bump-event-timeout-to-60-seconds.patch | 39 + ...lity-links-for-truncated-by-id-links.patch | 64 +- ...lve-correctly-database-names-on-chan.patch | 53 + ...ink-export-the-.link-filename-applie.patch | 26 + ...link-preserve-ID_NET_LINK_FILE-and-I.patch | 27 + ...et-setup-link-remove-stray-linebreak.patch | 27 + ...full-db-on-MOVE-events-for-devices-w.patch | 54 + ...-udev-netif_rename-don-t-log-to-kmsg.patch | 39 + 1073-udev-drop-print_kmsg.patch | 75 + ...-fix-copy-paste-error-in-log-message.patch | 25 + 1075-udev-timeout-increase-timeout.patch | 28 + ...n-after-a-third-of-the-timeout-befor.patch | 350 + ...n-after-a-third-of-the-timeout-befor.patch | 350 + ...e-userspace-firmware-loading-support.patch | 349 + ...e-userspace-firmware-loading-support.patch | 349 + ...se_argv-warn-if-argumens-are-invalid.patch | 73 + ...vd-check-return-of-various-functions.patch | 55 + ...dm-hwdb-check-return-value-of-fseeko.patch | 45 + ...-udev-node-warn-if-chmod-chown-fails.patch | 34 + ...trl-log-if-setting-SO_PASSCRED-fails.patch | 45 + 1085-udev-fix-typos.patch | 33 + ...-udevd-don-t-fail-if-run-udev-exists.patch | 25 + ...init-timeout-for-kmod-loaded-modules.patch | 135 + 1089-fix-cgroup-device-controller.patch | 74 + ...-supported_parent-for-well-known-SCS.patch | 58 + 1091-udev-path_id-update-comments.patch | 42 + ...dev-do-not-accept-invalid-log-levels.patch | 67 + ...-of-udev.event-timeout-kernel-parame.patch | 23 + ...-constants-in-kernel-cmdline-parsers.patch | 58 + ...t-ssd-disk-to-use-deadline-scheduler.patch | 21 +- 1096-new-udev-root-symlink-generator.patch | 105 +- ...-increase-maximum-number-of-children.patch | 26 +- ...up-respect-kernel-name-assign-policy.patch | 154 + 513-nspawn-veth.patch | 39 + ...es-permissions-to-follow-openSUSE-po.patch | 15 +- ...-suspend-hibernate-calls-to-pm-utils.patch | 49 +- ...pport-for-SysV-scripts-for-the-early.patch | 140 + ...alid-address-familily-is-passed-to-g.patch | 24 + avoid-leaking-socket-descriptors.patch | 339 + boot.udev | 74 + ...le-nss-myhostname-warning-bnc-783841.patch | 18 + ...rtname-is-set-as-hostname-bnc-820213.patch | 17 +- fix-owner-of-var-log-btmp.patch | 20 + ...-boot-prefixed-initscript-bnc-746506.patch | 26 +- ...STEMCTL_OPTIONS-environment-variable.patch | 42 + ...plock-and-compose_table-and-kbd_rate.patch | 95 +- handle-etc-HOSTNAME.patch | 77 + ...lock-value-in-etc-sysconfig-keyboard.patch | 209 +- ...lang-value-in-etc-sysconfig-language.patch | 20 +- insserv-generator.patch | 52 +- journald-advice-about-use-of-memory.patch | 144 +- kbd-model-map.patch | 15 +- ...linker-find-libudev-for-libdevmapper.patch | 40 +- localfs.service | 8 + log-target-null-instead-kmsg.patch | 116 + macros.systemd.upstream | 51 +- ....service-conflict-with-syslog.socket.patch | 19 +- ...USE-etc-sysconfig-kernel-module-list.patch | 64 + ...lly-warn-if-nss-myhostname-is-called.patch | 102 + parse-crypttab-for-noauto-option.patch | 47 +- ...-quit-and-wait-for-emergency-service.patch | 52 +- prepare-suspend-to-disk.patch | 28 + ...script-heuristic-and-add-new-LSB-hea.patch | 91 + respect-nfs-bg-option.patch | 31 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 30 +- ...vice-with-detected-pid-as-RemainAfte.patch | 31 + set-and-use-default-logconsole.patch | 47 +- ...ng-assertion-monotonic-clock-message.patch | 38 + shut-up-rpmlint-on-var-log-journal.patch | 14 +- suse-sysv-bootd-support.diff | 86 - ...ndle-boot-sysctl.conf-kernel_release.patch | 28 +- systemctl-set-default-target.patch | 20 +- systemd-210.tar.xz | 3 + systemd-219.tar.xz | 3 - systemd-add-user-keep.patch | 125 +- systemd-dbus-system-bus-address.patch | 39 +- systemd-journald.init | 33 + systemd-mini-rpmlintrc | 2 - systemd-mini.changes | 566 - systemd-mini.spec | 1730 +- systemd-pam_config.patch | 28 +- systemd-powerd-initctl-support.patch | 16 +- systemd-rpmlintrc | 2 - systemd-sleep-grub | 204 + systemd-tmp-safe-defaults.patch | 16 +- systemd.changes | 566 - systemd.spec | 1730 +- ...or-openSUSE-version-of-etc-sysconfig.patch | 24 + ...s-do-not-clean-for-mandb-index-files.patch | 22 + tty-ask-password-agent-on-console.patch | 334 +- ...addentropy-ioctl-to-load-random-seed.patch | 30 +- ...r-sbin-sulogin-for-emergency-service.patch | 44 + vhangup-on-all-consoles.patch | 24 +- watch_resolv.conf_for_become_changed.patch | 52 +- 517 files changed, 110757 insertions(+), 3868 deletions(-) create mode 100644 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch create mode 100644 0001-Do-not-unescape-unit-names-in-Install-section.patch create mode 100644 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch create mode 100644 0001-Fix-systemd-stdio-bridge-symlink.patch create mode 100644 0001-Fix-warning-about-unused-variable-with-SELINUX.patch create mode 100644 0001-activate-fix-fd-leak-in-do_accept.patch create mode 100644 0001-architecture-Add-tilegx.patch create mode 100644 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch create mode 100644 0001-bash-completion-fix-__get_startable_units.patch create mode 100644 0001-bash-completion-p-option-for-journalctl.patch create mode 100644 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch create mode 100644 0001-bus-proxyd-fix-incorrect-comparison.patch create mode 100644 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch create mode 100644 0001-completion-filter-templates-from-restartable-units.patch create mode 100644 0001-conf-parser-silently-ignore-sections-starting-with-X.patch create mode 100644 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch create mode 100644 0001-core-close-socket-fds-asynchronously.patch create mode 100644 0001-core-don-t-allow-enabling-if-unit-is-masked.patch create mode 100644 0001-core-fix-invalid-free-in-killall.patch create mode 100644 0001-core-fix-resource-leak-in-manager_environment_add.patch delete mode 100644 0001-core-rework-device-state-logic.patch create mode 100644 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch create mode 100644 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch create mode 100644 0001-core-use-correct-format-string-for-UIDs.patch create mode 100644 0001-detect-virt-Fix-Xen-domU-discovery.patch create mode 100644 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch create mode 100644 0001-event-pull-in-sd-event.h-from-event-util.h.patch create mode 100644 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch create mode 100644 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0001-hwdb-fix-case-sensitive-match.patch create mode 100644 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch create mode 100644 0001-hwdb-update.patch create mode 100644 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch create mode 100644 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch create mode 100644 0001-journal-cleanup-up-error-handling-in-update_catalog.patch create mode 100644 0001-journal-compress-return-early-in-uncompress_startswi.patch create mode 100644 0001-journal-fix-export-of-messages-containing-newlines.patch create mode 100644 0001-journalctl-do-not-output-reboot-markers-when-running.patch create mode 100644 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch create mode 100644 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch create mode 100644 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch create mode 100644 0001-login-fix-memory-leak-on-DropController.patch create mode 100644 0001-login-fix-pos-array-allocation.patch create mode 100644 0001-login-pause-devices-before-acknowledging-VT-switches.patch create mode 100644 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch create mode 100644 0001-login-simplify-controller-handling.patch create mode 100644 0001-logind-add-support-for-Triton2-Power-Button.patch create mode 100644 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch create mode 100644 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch create mode 100644 0001-machine-don-t-return-uninitialized-variable.patch create mode 100644 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch create mode 100644 0001-make-209-working-on-older-dist.patch create mode 100644 0001-make-fortify-happy-with-ppoll.patch create mode 100644 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch create mode 100644 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch create mode 100644 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch create mode 100644 0001-nspawn-fix-network-interface.patch create mode 100644 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch create mode 100644 0001-parse_uid-return-ENXIO-for-1-uids.patch create mode 100644 0001-po-add-Ukrainian-translation.patch create mode 100644 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch create mode 100644 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch create mode 100644 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch create mode 100644 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch create mode 100644 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch create mode 100644 0001-sd-event-restore-correct-timeout-behaviour.patch create mode 100644 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch create mode 100644 0001-selinux-access-fix-broken-ternary-operator.patch create mode 100644 0001-shell-completion-fix-completion-of-inactive-units.patch create mode 100644 0001-shutdownd-clean-up-initialization-of-struct.patch create mode 100644 0001-socket-introduce-SELinuxContextFromNet-option.patch create mode 100644 0001-strv-add-an-additional-overflow-check-when-enlarging.patch create mode 100644 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch create mode 100644 0001-systemctl-allow-to-change-the-default-target-without.patch create mode 100644 0001-systemctl-let-list-units-unit-files-honour-type.patch create mode 100644 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch create mode 100644 0001-systemd-continue-switch-root-even-if-umount-fails.patch create mode 100644 0001-systemd-detect-virt-detect-s390-virtualization.patch create mode 100644 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch create mode 100644 0001-sysv-order-initscripts-which-provide-network-before-.patch create mode 100644 0001-tmpfiles-compare-return-against-correct-errno.patch create mode 100644 0001-tmpfiles-fix-permissions-on-new-journal-files.patch create mode 100644 0001-umount-modernizations.patch create mode 100644 0001-units-introduce-network-pre.target-as-place-to-hook-.patch create mode 100644 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch create mode 100644 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch create mode 100644 0001-units-order-network-online.target-after-network.targ.patch create mode 100644 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch create mode 100644 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch create mode 100644 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch create mode 100644 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch create mode 100644 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch create mode 100644 0001-virt-rework-container-detection-logic.patch create mode 100644 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch create mode 100644 0002-Be-more-verbose-when-bind-or-listen-fails.patch create mode 100644 0002-analyze-avoid-a-null-dereference.patch create mode 100644 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch create mode 100644 0002-architecture-Add-cris.patch create mode 100644 0002-backlight-do-nothing-if-max_brightness-is-0.patch create mode 100644 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch create mode 100644 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch create mode 100644 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch create mode 100644 0002-bus-remove-unused-check.patch create mode 100644 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch create mode 100644 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch create mode 100644 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch create mode 100644 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch create mode 100644 0002-fsck-include-device-name-in-the-message-about-missin.patch create mode 100644 0002-hostnamed-add-a-new-chassis-type-for-watches.patch create mode 100644 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch create mode 100644 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0002-hwdb-update.patch create mode 100644 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch create mode 100644 0002-journal-compress-improve-xz-compression-performance.patch create mode 100644 0002-journal-properly-detect-language-specified-in-line.patch create mode 100644 0002-journalctl-man-allow-only-between-terms.patch create mode 100644 0002-journald-make-MaxFileSec-really-default-to-1month.patch create mode 100644 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch create mode 100644 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch create mode 100644 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch create mode 100644 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch create mode 100644 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch create mode 100644 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch create mode 100644 0002-logind-add-support-for-TPS65217-Power-Button.patch create mode 100644 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch create mode 100644 0002-logind-fix-printf-format.patch create mode 100644 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch create mode 100644 0002-man-document-yearly-and-annually-in-systemd.time-7.patch create mode 100644 0002-man-note-that-entire-sections-can-now-be-ignored.patch create mode 100644 0002-man-tmpfiles.d-recommend-using-b-and-c.patch create mode 100644 0002-manager-flush-memory-stream-before-using-the-buffer.patch create mode 100644 0002-namespace-fix-uninitialized-memory-access.patch create mode 100644 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch create mode 100644 0002-nspawn-restore-journal-directory-is-empty-check.patch create mode 100644 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch create mode 100644 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch create mode 100644 0002-shell-completion-prevent-mangling-unit-names.patch create mode 100644 0002-shell-completion-propose-templates-for-disable-re-en.patch create mode 100644 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch create mode 100644 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch create mode 100644 0002-snapshot-return-error-when-snapshot-exists.patch create mode 100644 0002-switch-root-umount-the-old-root-correctly.patch create mode 100644 0002-sysctl-replaces-some-slashes-with-dots.patch create mode 100644 0002-systemctl-obey-state-in-list-unit-files.patch create mode 100644 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch create mode 100644 0002-systemctl-update-NAME-to-PATTERN-in-help.patch create mode 100644 0002-systemd-fix-error-message.patch create mode 100644 0002-systemd-try-harder-to-bind-to-notify-socket.patch create mode 100644 0002-time-also-support-infinity-syntax-in-parse_nsec.patch create mode 100644 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch create mode 100644 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch create mode 100644 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch create mode 100644 0002-units-serial-getty-.service-use-the-default-RestartS.patch create mode 100644 0002-util-avoid-non-portable-__WORDSIZE.patch create mode 100644 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch create mode 100644 0002-util-fix-has-cc-check-and-add-test.patch create mode 100644 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch create mode 100644 0002-util-remove-a-unnecessary-check.patch create mode 100644 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch create mode 100644 0002-vconsole-setup-run-setfont-before-loadkeys.patch create mode 100644 0003-Add-quotes-to-warning-message.patch create mode 100644 0003-Always-check-asprintf-return-code.patch create mode 100644 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch create mode 100644 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch create mode 100644 0003-analyze-fix-mem-leak.patch create mode 100644 0003-analyze-fix-plot-with-bad-y-size.patch create mode 100644 0003-arch-add-crisv32-to-uname-check.patch create mode 100644 0003-architecture-add-string-table-entries-for-mips-le-ar.patch create mode 100644 0003-backlight-unify-error-messages.patch create mode 100644 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch create mode 100644 0003-bootchart-parse-userinput-with-safe_atoi.patch create mode 100644 0003-busname-don-t-drop-service-from-the-result-string.patch create mode 100644 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch create mode 100644 0003-core-allow-transient-mount-units.patch create mode 100644 0003-core-make-sure-to-serialize-jobs-for-all-units.patch create mode 100644 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch create mode 100644 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch create mode 100644 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch create mode 100644 0003-delta-do-not-use-unicode-chars-in-C-locale.patch create mode 100644 0003-fileio-label-return-error-when-writing-fails.patch create mode 100644 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch create mode 100644 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch create mode 100644 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0003-install-fix-invalid-free-in-unit_file_mask.patch create mode 100644 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch create mode 100644 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch create mode 100644 0003-keymap-Annotate-all-micmute-workarounds.patch create mode 100644 0003-keymap-Fix-HP-Pavillon-DV7.patch create mode 100644 0003-localed-consider-an-unset-model-as-a-wildcard.patch create mode 100644 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch create mode 100644 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch create mode 100644 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch create mode 100644 0003-man-we-don-t-have-Wanted-dependency.patch create mode 100644 0003-mount-order-options-before-other-arguments-to-mount.patch create mode 100644 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch create mode 100644 0003-sd-bus-check-return-value-of-vasprintf.patch create mode 100644 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch create mode 100644 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch create mode 100644 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch create mode 100644 0003-sd-journal-properly-convert-object-size-on-big-endia.patch create mode 100644 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch create mode 100644 0003-systemd-use-pager-for-test-and-help.patch create mode 100644 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch create mode 100644 0003-tty-ask-password-agent-return-negative-errno.patch create mode 100644 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch create mode 100644 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch create mode 100644 0003-units-remove-RefuseManualStart-from-units-which-are-.patch create mode 100644 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch create mode 100644 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch create mode 100644 0004-Raise-level-of-Found-dependency.-lines.patch create mode 100644 0004-architecture-remove-cris-from-uname-list.patch create mode 100644 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch create mode 100644 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch create mode 100644 0004-bash-completion-use-list-unit-files-to-get-all-units.patch create mode 100644 0004-bootchart-check-return-of-strftime.patch create mode 100644 0004-config-parser-fix-mem-leak.patch create mode 100644 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch create mode 100644 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch create mode 100644 0004-core-fix-transaction-destructiveness-check-once-more.patch create mode 100644 0004-core-map-the-rescue-argument-to-rescue.target.patch create mode 100644 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch create mode 100644 0004-fileio-quote-more-shell-characters-in-envfiles.patch create mode 100644 0004-fix-off-by-one-error-in-array-index-assertion.patch create mode 100644 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch create mode 100644 0004-getty-generator-properly-escape-instance-names.patch create mode 100644 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0004-hwdb-update-format-description-and-document-reloadin.patch create mode 100644 0004-hwdb-update.patch create mode 100644 0004-implement-a-union-to-pad-out-file_handle.patch create mode 100644 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch create mode 100644 0004-journal-do-server_vacuum-for-sigusr1.patch create mode 100644 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch create mode 100644 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch create mode 100644 0004-machined-make-sure-GetMachineAddresses-is-available-.patch create mode 100644 0004-man-document-missing-options-of-systemd-run.patch create mode 100644 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch create mode 100644 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch create mode 100644 0004-sd-event-check-the-value-of-received-signal.patch create mode 100644 0004-sd-journal-verify-that-object-start-with-the-field-n.patch create mode 100644 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch create mode 100644 0004-shared-conf-parser.patch create mode 100644 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch create mode 100644 0004-socket-properly-handle-if-our-service-vanished-durin.patch create mode 100644 0004-systemd-detect-virt-only-discover-Xen-domU.patch create mode 100644 0004-systemd-python-use-.hex-instead-of-.get_hex.patch create mode 100644 0004-systemd-return-the-first-error-from-manager_startup.patch create mode 100644 0004-util-ignore_file-should-not-allow-files-ending-with.patch create mode 100644 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch create mode 100644 0005-Replace-var-run-with-run-in-remaining-places.patch create mode 100644 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch create mode 100644 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch create mode 100644 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch create mode 100644 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch create mode 100644 0005-bus-close-a-bus-that-failed-to-connect.patch create mode 100644 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch create mode 100644 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch create mode 100644 0005-cryptsetup-fix-an-OOM-check.patch create mode 100644 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0005-hwdb-update.patch create mode 100644 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch create mode 100644 0005-journalctl-correct-help-text-for-until.patch create mode 100644 0005-login-fix-mem-leak.patch create mode 100644 0005-logind-fix-policykit-checks.patch create mode 100644 0005-logind-fix-typo.patch create mode 100644 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch create mode 100644 0005-man-fix-path-in-crypttab-5.patch create mode 100644 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch create mode 100644 0005-po-add-Greek-translation.patch create mode 100644 0005-sd-daemon-fix-incorrect-variable-access.patch create mode 100644 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch create mode 100644 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch create mode 100644 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch create mode 100644 0005-shared-label.h-add-missing-stdio.h-include.patch create mode 100644 0005-systemd-python-fix-failing-assert.patch create mode 100644 0005-systemd-run-add-some-extra-safety-checks.patch create mode 100644 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch create mode 100644 0005-util-avoid-double-close-of-fd.patch create mode 100644 0006-Do-not-return-1-EINVAL-on-allocation-error.patch create mode 100644 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch create mode 100644 0006-bus-unref-buscreds-on-failure.patch create mode 100644 0006-calendarspec-fix-typo-in-annually.patch create mode 100644 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0006-hwdb-update.patch create mode 100644 0006-journal-assume-that-next-entry-is-after-previous-ent.patch create mode 100644 0006-journald-fix-minor-memory-leak.patch create mode 100644 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch create mode 100644 0006-login-add-mir-to-the-list-of-session-types.patch create mode 100644 0006-login-share-VT-signal-handler-between-sessions.patch create mode 100644 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch create mode 100644 0006-parse_boolean-require-exact-matches.patch create mode 100644 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch create mode 100644 0006-sd-event-initialization-perturbation-value-right-bef.patch create mode 100644 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch create mode 100644 0006-systemctl-fix-resource-leak-CID-1237747.patch create mode 100644 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch create mode 100644 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch create mode 100644 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch create mode 100644 0007-README-document-that-var-run-must-be-a-symlink-run.patch create mode 100644 0007-core-fix-a-potential-mem-leak.patch create mode 100644 0007-dbus-suppress-duplicate-and-misleading-messages.patch create mode 100644 0007-drop_duplicates-copy-full-BindMount-struct.patch create mode 100644 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0007-hwdb-update.patch create mode 100644 0007-journal-forget-file-after-encountering-an-error.patch create mode 100644 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch create mode 100644 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch create mode 100644 0007-keyboard-add-Plantronics-.Audio-mute-button.patch create mode 100644 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch create mode 100644 0007-logind-fix-Display-property-of-user-objects.patch create mode 100644 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch create mode 100644 0007-networkd-fix-typo.patch create mode 100644 0007-po-add-German-translation.patch create mode 100644 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch create mode 100644 0007-service-flush-status-text-and-errno-values-each-time.patch create mode 100644 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch create mode 100644 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch create mode 100644 0008-Reset-signal-mask-on-re-exec-to-init.patch create mode 100644 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch create mode 100644 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch create mode 100644 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch create mode 100644 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0008-hwdb-update.patch create mode 100644 0008-journald-fix-memory-leak-on-error-path.patch create mode 100644 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch create mode 100644 0008-man-update-journald-rate-limit-defaults.patch create mode 100644 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch create mode 100644 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch create mode 100644 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch create mode 100644 0008-shell-completion-prevent-mangling-unit-names-bash.patch create mode 100644 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch create mode 100644 0008-util-introduce-sethostname_idempotent.patch create mode 100644 0009-ask-password-when-the-user-types-a-overly-long-passw.patch create mode 100644 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch create mode 100644 0009-core-clean-up-signal-reset-logic-when-reexec.patch create mode 100644 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0009-hwdb-update.patch create mode 100644 0009-journal-do-not-leak-mmaps-on-OOM.patch create mode 100644 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch create mode 100644 0009-journald-always-add-syslog-facility-for-messages-com.patch create mode 100644 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch create mode 100644 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch create mode 100644 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch create mode 100644 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch create mode 100644 0009-units-make-systemd-journald.service-Type-notify.patch create mode 100644 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch create mode 100644 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch create mode 100644 0010-logind-allow-suspending-if-there-are-no-displays.patch create mode 100644 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch create mode 100644 0010-man-update-link-to-LSB.patch create mode 100644 0010-manager-use-correct-cleanup-function.patch create mode 100644 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch create mode 100644 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch create mode 100644 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch create mode 100644 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch create mode 100644 0011-logs-show-fix-corrupt-output-with-empty-messages.patch create mode 100644 0011-man-systemd-bootchart-fix-spacing-in-command.patch create mode 100644 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch create mode 100644 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch create mode 100644 0012-core-transaction-avoid-misleading-error-message-when.patch create mode 100644 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch create mode 100644 0012-journald-remove-stray-reset-of-error-return-value.patch create mode 100644 0012-man-add-missing-comma.patch create mode 100644 0012-manager-do-not-print-anything-while-passwords-are-be.patch create mode 100644 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch create mode 100644 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch create mode 100644 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch create mode 100644 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch create mode 100644 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch create mode 100644 1008-add-msft-compability-rules.patch create mode 100644 1009-cdrom_id-use-the-old-MMC-fallback.patch create mode 100644 1010-udev-increase-result-size-for-programs.patch create mode 100644 1014-udev-update-net_id-comments.patch create mode 100644 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch create mode 100644 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch create mode 100644 1017-udev-serialize-synchronize-block-device-event-handli.patch create mode 100644 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch create mode 100644 1019-udev-avoid-use-of-uninitialized-err.patch create mode 100644 1020-udev-keyboard-also-hook-into-change-events.patch create mode 100644 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch create mode 100644 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch create mode 100644 1024-udev-always-close-lock-file-descriptor.patch create mode 100644 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch create mode 100644 1026-udevd-inotify-modernizations.patch create mode 100644 1027-udev-synthesize-change-events-for-partitions-when-to.patch create mode 100644 1028-udev-link-config-fix-mem-leak.patch create mode 100644 1029-udev-try-first-re-reading-the-partition-table.patch create mode 100644 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch create mode 100644 1031-udev-make-sure-we-always-get-change-for-the-disk.patch create mode 100644 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch create mode 100644 1033-udev-really-exclude-device-mapper-from-block-device.patch create mode 100644 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch create mode 100644 1038-udev-fix-invalid-free-in-enable_name_policy.patch create mode 100644 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch create mode 100644 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch create mode 100644 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch create mode 100644 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch create mode 100644 1044-rules-update-qemu-hid-rules.patch create mode 100644 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch create mode 100644 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch create mode 100644 1048-udev-net_setup_link-add-a-bit-more-logging.patch create mode 100644 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch create mode 100644 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch create mode 100644 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch create mode 100644 1056-udevd-add-event-timeout-commandline-option.patch create mode 100644 1057-udev-unify-event-timeout-handling.patch create mode 100644 1058-udev-unify-event-timeout-handling.patch create mode 100644 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch create mode 100644 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch create mode 100644 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch create mode 100644 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch create mode 100644 1065-udev-bump-event-timeout-to-60-seconds.patch create mode 100644 1067-udev-always-resolve-correctly-database-names-on-chan.patch create mode 100644 1068-udev-net_setup_link-export-the-.link-filename-applie.patch create mode 100644 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch create mode 100644 1070-rules-net-setup-link-remove-stray-linebreak.patch create mode 100644 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch create mode 100644 1072-udev-netif_rename-don-t-log-to-kmsg.patch create mode 100644 1073-udev-drop-print_kmsg.patch create mode 100644 1074-udev-fix-copy-paste-error-in-log-message.patch create mode 100644 1075-udev-timeout-increase-timeout.patch create mode 100644 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch create mode 100644 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch create mode 100644 1078-udev-remove-userspace-firmware-loading-support.patch create mode 100644 1079-udev-remove-userspace-firmware-loading-support.patch create mode 100644 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch create mode 100644 1081-udevd-check-return-of-various-functions.patch create mode 100644 1082-udevadm-hwdb-check-return-value-of-fseeko.patch create mode 100644 1083-udev-node-warn-if-chmod-chown-fails.patch create mode 100644 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch create mode 100644 1085-udev-fix-typos.patch create mode 100644 1086-udevd-don-t-fail-if-run-udev-exists.patch create mode 100644 1087-infinit-timeout-for-kmod-loaded-modules.patch create mode 100644 1089-fix-cgroup-device-controller.patch create mode 100644 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch create mode 100644 1091-udev-path_id-update-comments.patch create mode 100644 1092-libudev-do-not-accept-invalid-log-levels.patch create mode 100644 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch create mode 100644 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch create mode 100644 1098-udev-link_setup-respect-kernel-name-assign-policy.patch create mode 100644 513-nspawn-veth.patch create mode 100644 Revert-service-drop-support-for-SysV-scripts-for-the-early.patch create mode 100644 avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch create mode 100644 avoid-leaking-socket-descriptors.patch create mode 100644 boot.udev create mode 100644 disable-nss-myhostname-warning-bnc-783841.patch create mode 100644 fix-owner-of-var-log-btmp.patch create mode 100644 handle-SYSTEMCTL_OPTIONS-environment-variable.patch create mode 100644 handle-etc-HOSTNAME.patch create mode 100644 localfs.service create mode 100644 log-target-null-instead-kmsg.patch create mode 100644 module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch create mode 100644 optionally-warn-if-nss-myhostname-is-called.patch create mode 100644 prepare-suspend-to-disk.patch create mode 100644 remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch create mode 100644 service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch create mode 100644 shut-up-annoying-assertion-monotonic-clock-message.patch delete mode 100644 suse-sysv-bootd-support.diff create mode 100644 systemd-210.tar.xz delete mode 100644 systemd-219.tar.xz create mode 100644 systemd-journald.init create mode 100644 systemd-sleep-grub create mode 100644 timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch create mode 100644 tmpfiles-do-not-clean-for-mandb-index-files.patch create mode 100644 use-usr-sbin-sulogin-for-emergency-service.patch diff --git a/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch b/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch new file mode 100644 index 00000000..53ccbcf5 --- /dev/null +++ b/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch @@ -0,0 +1,110 @@ +Based on 874bc134ac6504c45e94174e37af13ff21a6bfe2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 14 Jul 2014 16:53:23 -0400 +Subject: [PATCH] Clear up confusion wrt. ENTRY_SIZE_MAX and DATA_SIZE_MAX + +Define DATA_SIZE_MAX to mean the maximum size of a single +field, and ENTRY_SIZE_MAX to mean the size of the whole +entry, with some rough calculation of overhead over the payload. + +Check if entries are not too big when processing native journal +messages. +--- + src/journal/coredump.c | 6 +++--- + src/journal/journald-native.c | 25 +++++++++++++++++++++---- + 2 files changed, 24 insertions(+), 7 deletions(-) +--- src/journal/coredump.c ++++ src/journal/coredump.c 2014-07-16 13:02:54.438235659 +0000 +@@ -38,10 +38,10 @@ + #include "cgroup-util.h" + + /* Few programs have less than 3MiB resident */ +-#define COREDUMP_MIN_START (3*1024*1024) ++#define COREDUMP_MIN_START (3*1024*1024u) + /* Make sure to not make this larger than the maximum journal entry +- * size. See ENTRY_SIZE_MAX in journald-native.c. */ +-#define COREDUMP_MAX (767*1024*1024) ++ * size. See DATA_SIZE_MAX in journald-native.c. */ ++#define COREDUMP_MAX (1024*1024*767u) + + enum { + ARG_PID = 1, +--- src/journal/journald-native.c ++++ src/journal/journald-native.c 2014-07-16 12:50:45.000000000 +0000 +@@ -34,8 +34,8 @@ + + /* Make sure not to make this smaller than the maximum coredump + * size. See COREDUMP_MAX in coredump.c */ +-#define ENTRY_SIZE_MAX (1024*1024*768) +-#define DATA_SIZE_MAX (1024*1024*768) ++#define ENTRY_SIZE_MAX (1024*1024*770u) ++#define DATA_SIZE_MAX (1024*1024*768u) + + static bool valid_user_field(const char *p, size_t l) { + const char *a; +@@ -86,7 +86,7 @@ void server_process_native_message( + struct iovec *iovec = NULL; + unsigned n = 0, j, tn = (unsigned) -1; + const char *p; +- size_t remaining, m = 0; ++ size_t remaining, m = 0, entry_size = 0; + int priority = LOG_INFO; + char *identifier = NULL, *message = NULL; + pid_t object_pid = 0; +@@ -110,9 +110,17 @@ void server_process_native_message( + + if (e == p) { + /* Entry separator */ ++ ++ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ ++ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", ++ n, entry_size); ++ continue; ++ } ++ + server_dispatch_message(s, iovec, n, m, ucred, tv, label, label_len, NULL, priority, object_pid); + n = 0; + priority = LOG_INFO; ++ entry_size = 0; + + p++; + remaining--; +@@ -150,6 +158,7 @@ void server_process_native_message( + iovec[n].iov_base = (char*) p; + iovec[n].iov_len = l; + n++; ++ entry_size += iovec[n].iov_len; + + /* We need to determine the priority + * of this entry for the rate limiting +@@ -218,7 +227,7 @@ void server_process_native_message( + l = le64toh(l_le); + + if (l > DATA_SIZE_MAX) { +- log_debug("Received binary data block too large, ignoring."); ++ log_debug("Received binary data block of %zu bytes is too large, ignoring.", l); + break; + } + +@@ -242,6 +251,7 @@ void server_process_native_message( + iovec[n].iov_base = k; + iovec[n].iov_len = (e - p) + 1 + l; + n++; ++ entry_size += iovec[n].iov_len; + } else + free(k); + +@@ -255,6 +265,13 @@ void server_process_native_message( + + tn = n++; + IOVEC_SET_STRING(iovec[tn], "_TRANSPORT=journal"); ++ entry_size += strlen("_TRANSPORT=journal"); ++ ++ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ ++ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", ++ n, entry_size); ++ goto finish; ++ } + + if (message) { + if (s->forward_to_syslog) diff --git a/0001-Do-not-unescape-unit-names-in-Install-section.patch b/0001-Do-not-unescape-unit-names-in-Install-section.patch new file mode 100644 index 00000000..18e4aaa1 --- /dev/null +++ b/0001-Do-not-unescape-unit-names-in-Install-section.patch @@ -0,0 +1,21 @@ +Based on 000f6e5667eb4f73e137cbd0d7395a9f9db7728a Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 26 May 2014 20:09:45 +0200 +Subject: [PATCH] Do not unescape unit names in [Install] section + +https://bugs.freedesktop.org/show_bug.cgi?id=49316 +--- + src/shared/conf-parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c 2014-05-27 07:36:20.478236631 +0000 +@@ -723,7 +723,7 @@ int config_parse_strv(const char *unit, + FOREACH_WORD_QUOTED(w, l, rvalue, state) { + _cleanup_free_ char *n; + +- n = cunescape_length(w, l); ++ n = strndup(w, l); + if (!n) + return log_oom(); + diff --git a/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch b/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch new file mode 100644 index 00000000..7f0f7b9c --- /dev/null +++ b/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch @@ -0,0 +1,25 @@ +From 5effdfa831d75306fc0ff9b47d39997e4ae87f16 Mon Sep 17 00:00:00 2001 +From: Michael Meeks +Date: Tue, 11 Feb 2014 14:42:26 +0000 +Subject: [PATCH] Don't snprintf a potentially NULL pointer. + +--- + src/shared/log.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/log.c b/src/shared/log.c +index 2a075ff..d6b138f 100644 +--- a/src/shared/log.c ++++ b/src/shared/log.c +@@ -479,7 +479,7 @@ static int log_do_header(char *header, size_t size, + func ? "CODE_FUNCTION=" : "", + func ? LINE_MAX : 0, func, + func ? "\n" : "", +- object ? object_name : "", ++ object_name ? object_name : "", + object ? LINE_MAX : 0, object, /* %.0s means no output */ + object ? "\n" : "", + program_invocation_short_name); +-- +1.8.4.5 + diff --git a/0001-Fix-systemd-stdio-bridge-symlink.patch b/0001-Fix-systemd-stdio-bridge-symlink.patch new file mode 100644 index 00000000..02e7e1cc --- /dev/null +++ b/0001-Fix-systemd-stdio-bridge-symlink.patch @@ -0,0 +1,28 @@ +From 8100c1a8f58b2fb5d97e156420a7e16562e93bc4 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Sun, 2 Mar 2014 23:37:39 -0500 +Subject: [PATCH] Fix systemd-stdio-bridge symlink + +The symlink is created in bindir (/usr/bin), and points to a binary +which lives in rootlibexecdir (/lib/systemd or /usr/lib/systemd). A +relative symlink does not work here. +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git Makefile.am Makefile.am +index 38445fb..e7134a2 100644 +--- Makefile.am ++++ Makefile.am +@@ -1978,7 +1978,7 @@ systemd_bus_proxyd_LDADD = \ + + bus-proxyd-install-hook: + $(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir) +- $(AM_V_LN)$(LN_S) -f ../lib/systemd/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge ++ $(AM_V_LN)$(LN_S) -f $(rootlibexecdir)/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge + + bus-proxyd-uninstall-hook: + rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge +-- +1.7.9.2 + diff --git a/0001-Fix-warning-about-unused-variable-with-SELINUX.patch b/0001-Fix-warning-about-unused-variable-with-SELINUX.patch new file mode 100644 index 00000000..f1fb4ea9 --- /dev/null +++ b/0001-Fix-warning-about-unused-variable-with-SELINUX.patch @@ -0,0 +1,31 @@ +From 493d521d9ffe706741665a88ea14929913ea2eaf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Sep 2014 09:22:40 -0400 +Subject: [PATCH] Fix warning about unused variable with !SELINUX + +src/shared/label.c:255:15: warning: unused variable 'l' [-Wunused-variable] + char *l = NULL; + ^ +--- + src/shared/label.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/shared/label.c src/shared/label.c +index 02b41f0..b6af38d 100644 +--- src/shared/label.c ++++ src/shared/label.c +@@ -252,9 +252,10 @@ fail: + + int label_get_our_label(char **label) { + int r = -EOPNOTSUPP; +- char *l = NULL; + + #ifdef HAVE_SELINUX ++ char *l = NULL; ++ + r = getcon(&l); + if (r < 0) + return r; +-- +1.7.9.2 + diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index ef656b99..f09e8270 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,29 +1,25 @@ --- rules/99-systemd.rules.in | 2 - src/core/manager.c | 24 ++++++++--- - src/shared/util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- + src/core/manager.c | 24 ++++++++-- + src/shared/util.c | 101 ++++++++++++++++++++++++++++++++++++++++++++-- src/shared/util.h | 1 - 4 files changed, 116 insertions(+), 10 deletions(-) + 4 files changed, 118 insertions(+), 10 deletions(-) -Index: systemd/rules/99-systemd.rules.in -=================================================================== ---- systemd.orig/rules/99-systemd.rules.in -+++ systemd/rules/99-systemd.rules.in +--- systemd-208/rules/99-systemd.rules.in ++++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" +-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" -Index: systemd/src/core/manager.c -=================================================================== ---- systemd.orig/src/core/manager.c -+++ systemd/src/core/manager.c -@@ -113,7 +113,7 @@ static int manager_watch_jobs_in_progres +--- systemd-210/src/core/manager.c ++++ systemd-210/src/core/manager.c 2014-04-30 10:51:43.398735332 +0000 +@@ -110,7 +110,7 @@ static int manager_watch_jobs_in_progres #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) @@ -32,7 +28,7 @@ Index: systemd/src/core/manager.c char *p = buffer; assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si +@@ -119,12 +119,14 @@ static void draw_cylon(char buffer[], si if (pos > 1) { if (pos > 2) p = mempset(p, ' ', pos-2); @@ -49,7 +45,7 @@ Index: systemd/src/core/manager.c *p++ = '*'; } -@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si +@@ -135,7 +137,8 @@ static void draw_cylon(char buffer[], si *p++ = '*'; if (pos < width-1) p = mempset(p, ' ', width-1-pos); @@ -59,7 +55,7 @@ Index: systemd/src/core/manager.c } } -@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m +@@ -150,6 +153,7 @@ void manager_flip_auto_status(Manager *m } static void manager_print_jobs_in_progress(Manager *m) { @@ -67,7 +63,7 @@ Index: systemd/src/core/manager.c _cleanup_free_ char *job_of_n = NULL; Iterator i; Job *j; -@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre +@@ -174,10 +178,20 @@ static void manager_print_jobs_in_progre assert(counter == print_nr + 1); assert(j); @@ -89,11 +85,9 @@ Index: systemd/src/core/manager.c m->jobs_in_progress_iteration++; -Index: systemd/src/shared/util.c -=================================================================== ---- systemd.orig/src/shared/util.c -+++ systemd/src/shared/util.c -@@ -3212,6 +3212,7 @@ int status_vprintf(const char *status, b +--- systemd-210/src/shared/util.c ++++ systemd-210/src/shared/util.c 2014-04-30 10:39:17.154736438 +0000 +@@ -2886,6 +2886,7 @@ int status_vprintf(const char *status, b struct iovec iovec[6] = {}; int n = 0; static bool prev_ephemeral; @@ -101,12 +95,12 @@ Index: systemd/src/shared/util.c assert(format); -@@ -3225,6 +3226,41 @@ int status_vprintf(const char *status, b +@@ -2899,6 +2900,41 @@ int status_vprintf(const char *status, b if (fd < 0) return fd; + if (_unlikely_(is_ansi_console < 0)) -+ is_ansi_console = ansi_console(fd); ++ is_ansi_console = (int)ansi_console(fd); + + if (status && !is_ansi_console) { + const char *esc, *ptr; @@ -143,7 +137,7 @@ Index: systemd/src/shared/util.c if (ellipse) { char *e; size_t emax, sl; -@@ -3247,8 +3283,12 @@ int status_vprintf(const char *status, b +@@ -2921,8 +2957,12 @@ int status_vprintf(const char *status, b } } @@ -158,7 +152,7 @@ Index: systemd/src/shared/util.c prev_ephemeral = ephemeral; if (status) { -@@ -3504,8 +3544,22 @@ void columns_lines_cache_reset(int signu +@@ -3169,12 +3209,47 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -182,9 +176,6 @@ Index: systemd/src/shared/util.c return cached_on_tty; } -@@ -3523,6 +3577,27 @@ int files_same(const char *filea, const - a.st_ino == b.st_ino; - } +bool ansi_console(int fd) { + static int cached_ansi_console = -1; @@ -208,13 +199,13 @@ Index: systemd/src/shared/util.c +} + int running_in_chroot(void) { - int ret; + struct stat a = {}, b = {}; -@@ -4006,7 +4081,23 @@ bool tty_is_vc_resolve(const char *tty) +@@ -3630,7 +3705,25 @@ bool tty_is_vc_resolve(const char *tty) const char *default_term_for_tty(const char *tty) { assert(tty); -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; +- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102"; + if (tty_is_vc_resolve(tty)) + return "TERM=linux"; + @@ -230,16 +221,16 @@ Index: systemd/src/shared/util.c + if (streq(mode, "3270")) + return "TERM=ibm327x"; + } ++ if (streq(tty, "ttyS1")) ++ return "TERM=vt220"; +#endif -+ return "TERM=vt220"; ++ return "TERM=vt102"; } bool dirent_is_file(const struct dirent *de) { -Index: systemd/src/shared/util.h -=================================================================== ---- systemd.orig/src/shared/util.h -+++ systemd/src/shared/util.h -@@ -475,6 +475,7 @@ unsigned lines(void); +--- systemd-210/src/shared/util.h ++++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000 +@@ -418,6 +418,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); diff --git a/0001-activate-fix-fd-leak-in-do_accept.patch b/0001-activate-fix-fd-leak-in-do_accept.patch new file mode 100644 index 00000000..14104a34 --- /dev/null +++ b/0001-activate-fix-fd-leak-in-do_accept.patch @@ -0,0 +1,26 @@ +From aa44499da15a8fa7026463555a7a27e55e4e24a8 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 22:14:41 +0300 +Subject: [PATCH] activate: fix fd leak in do_accept() + +Found with Coverity. +--- + src/activate/activate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/activate/activate.c src/activate/activate.c +index 8942773..0a1df37 100644 +--- src/activate/activate.c ++++ src/activate/activate.c +@@ -242,7 +242,7 @@ static int launch1(const char* child, char** argv, char **env, int fd) { + + static int do_accept(const char* name, char **argv, char **envp, int fd) { + _cleanup_free_ char *local = NULL, *peer = NULL; +- int fd2; ++ _cleanup_close_ int fd2 = -1; + + fd2 = accept(fd, NULL, NULL); + if (fd2 < 0) { +-- +1.7.9.2 + diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index d6b6fa3a..b4aeb6f4 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -1,13 +1,11 @@ --- - src/core/shutdown.c | 4 ++++ - src/systemctl/systemctl.c | 18 ++++++++++++------ - 2 files changed, 16 insertions(+), 6 deletions(-) + systemd-209/src/core/shutdown.c | 4 ++++ + systemd-209/src/systemctl/systemctl.c | 22 +++++++++++++++------- + 2 files changed, 19 insertions(+), 7 deletions(-) -Index: systemd-218/src/core/shutdown.c -=================================================================== ---- systemd-218.orig/src/core/shutdown.c -+++ systemd-218/src/core/shutdown.c -@@ -400,6 +400,10 @@ int main(int argc, char *argv[]) { +--- systemd-209/src/core/shutdown.c ++++ systemd-209/src/core/shutdown.c 2014-02-28 11:17:22.000000000 +0000 +@@ -449,6 +449,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -18,11 +16,9 @@ Index: systemd-218/src/core/shutdown.c if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-218/src/systemctl/systemctl.c -=================================================================== ---- systemd-218.orig/src/systemctl/systemctl.c -+++ systemd-218/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; +--- systemd-209/src/systemctl/systemctl.c ++++ systemd-209/src/systemctl/systemctl.c 2014-02-28 11:19:35.000000000 +0000 +@@ -93,6 +93,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -30,7 +26,7 @@ Index: systemd-218/src/systemctl/systemctl.c static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -6813,6 +6814,7 @@ static int halt_parse_argv(int argc, cha +@@ -5578,6 +5579,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -38,7 +34,7 @@ Index: systemd-218/src/systemctl/systemctl.c { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -6865,10 +6867,13 @@ static int halt_parse_argv(int argc, cha +@@ -5629,10 +5631,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -53,17 +49,17 @@ Index: systemd-218/src/systemctl/systemctl.c case '?': return -EINVAL; -@@ -7511,7 +7516,8 @@ static int halt_now(enum action a) { - /* The kernel will automaticall flush ATA disks and suchlike - * on reboot(), but the file systems need to be synce'd - * explicitly in advance. */ -- sync(); +@@ -6274,20 +6279,23 @@ done: + + static int halt_now(enum action a) { + +-/* Make sure C-A-D is handled by the kernel from this + if (!arg_no_sync) + sync(); - - /* Make sure C-A-D is handled by the kernel from this point - * on... */ -@@ -7519,14 +7525,14 @@ static int halt_now(enum action a) { ++ ++ /* Make sure C-A-D is handled by the kernel from this + * point on... */ + reboot(RB_ENABLE_CAD); switch (a) { @@ -71,11 +67,12 @@ Index: systemd-218/src/systemctl/systemctl.c - log_info("Halting."); - reboot(RB_HALT_SYSTEM); - return -errno; - +- case ACTION_POWEROFF: log_info("Powering off."); reboot(RB_POWER_OFF); -+ /* fall-through */ ++ /* Fall through */ ++ + case ACTION_HALT: + log_info("Halting."); + reboot(RB_HALT_SYSTEM); diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index eb070d64..57a87c73 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -11,23 +11,19 @@ NFS share is added as "After=" dependency to the .mount. src/shared/util.c | 1 5 files changed, 234 insertions(+), 2 deletions(-) -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -1134,6 +1134,8 @@ libsystemd_core_la_SOURCES = \ +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-02-26 12:44:20.000000000 +0000 +@@ -994,6 +994,8 @@ libsystemd_core_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ + src/core/mount-iface.c \ + src/core/mount-iface.h \ - src/core/kmod-setup.c \ - src/core/kmod-setup.h \ src/core/loopback-setup.h \ -Index: systemd-218/src/core/mount-iface.c -=================================================================== ---- /dev/null -+++ systemd-218/src/core/mount-iface.c + src/core/loopback-setup.c \ + src/core/condition.c \ +--- systemd-210/src/core/mount-iface.c ++++ systemd-210/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000 @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -170,7 +166,7 @@ Index: systemd-218/src/core/mount-iface.c + continue; + + ret = ifa->ifa_name; -+ break; ++ break; + } else if (ifa->ifa_addr->sa_family == AF_INET6) { + struct in6_addr *addr, *mask, dest, ip6; + unsigned int prefix; @@ -202,10 +198,8 @@ Index: systemd-218/src/core/mount-iface.c + freeifaddrs(ifa_list); + ifa_list = NULL; +} -Index: systemd-218/src/core/mount-iface.h -=================================================================== ---- /dev/null -+++ systemd-218/src/core/mount-iface.h +--- systemd-210/src/core/mount-iface.h ++++ systemd-210/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000 @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -232,11 +226,9 @@ Index: systemd-218/src/core/mount-iface.h + +char *host2iface(const char *ip); +void freeroutes(void); -Index: systemd-218/src/core/mount.c -=================================================================== ---- systemd-218.orig/src/core/mount.c -+++ systemd-218/src/core/mount.c -@@ -38,6 +38,7 @@ +--- systemd-210/src/core/mount.c ++++ systemd-210/src/core/mount.c 2014-03-03 12:13:23.406246117 +0000 +@@ -36,6 +36,7 @@ #include "mkdir.h" #include "path-util.h" #include "mount-setup.h" @@ -244,7 +236,7 @@ Index: systemd-218/src/core/mount.c #include "unit-name.h" #include "dbus-mount.h" #include "special.h" -@@ -1365,8 +1366,9 @@ static int mount_add_one( +@@ -1388,8 +1389,9 @@ static int mount_add_one( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -255,7 +247,7 @@ Index: systemd-218/src/core/mount.c int r; assert(m); -@@ -1391,6 +1393,8 @@ static int mount_add_one( +@@ -1414,6 +1416,8 @@ static int mount_add_one( if (!e) return -ENOMEM; @@ -264,16 +256,16 @@ Index: systemd-218/src/core/mount.c u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1419,7 +1423,7 @@ static int mount_add_one( +@@ -1442,7 +1446,7 @@ static int mount_add_one( if (m->running_as == SYSTEMD_SYSTEM) { const char* target; -- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; +- target = fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; + target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; + r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) - goto fail; -@@ -1505,6 +1509,32 @@ static int mount_add_one( +@@ -1519,6 +1523,32 @@ static int mount_add_one( goto fail; } @@ -296,7 +288,7 @@ Index: systemd-218/src/core/mount.c + else { + r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); + if (r < 0) -+ log_unit_error(u->id, "Failed to add dependency on %s, ignoring: %s", ++ log_error_unit(u->id, "Failed to add dependency on %s, ignoring: %s", + target, strerror(-r)); + } + } @@ -306,23 +298,21 @@ Index: systemd-218/src/core/mount.c if (changed) unit_add_to_dbus_queue(u); -@@ -1560,6 +1590,7 @@ static int mount_load_proc_self_mountinf - if (r == 0 && k < 0) +@@ -1583,6 +1613,7 @@ static int mount_load_proc_self_mountinf + if (k < 0) r = k; } + freeroutes(); /* Just in case of using the routing table with host2iface() */ return r; } -Index: systemd-218/src/shared/util.c -=================================================================== ---- systemd-218.orig/src/shared/util.c -+++ systemd-218/src/shared/util.c -@@ -1667,6 +1667,7 @@ bool fstype_is_network(const char *fstyp +--- systemd-210/src/shared/util.c ++++ systemd-210/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000 +@@ -1502,6 +1502,7 @@ bool fstype_is_network(const char *fstyp "ncp\0" "nfs\0" "nfs4\0" + "afs\0" "gfs\0" - "gfs2\0" - "glusterfs\0"; + "gfs2\0"; + diff --git a/0001-architecture-Add-tilegx.patch b/0001-architecture-Add-tilegx.patch new file mode 100644 index 00000000..277587c3 --- /dev/null +++ b/0001-architecture-Add-tilegx.patch @@ -0,0 +1,56 @@ +From 46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97 Mon Sep 17 00:00:00 2001 +From: Henrik Grindal Bakken +Date: Thu, 27 Feb 2014 21:19:13 +0100 +Subject: [PATCH] architecture: Add tilegx + +Add Tilera's TILE-GX processor family support. +--- + src/shared/architecture.c | 3 +++ + src/shared/architecture.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index ceba492..fcdb3d5 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -112,6 +112,8 @@ Architecture uname_architecture(void) { + { "sh", ARCHITECTURE_SH }, + #elif defined(__m68k__) + { "m68k", ARCHITECTURE_M68K }, ++#elif defined(__tilegx__) ++ { "tilegx", ARCHITECTURE_TILEGX }, + #else + #error "Please register your architecture here!" + #endif +@@ -158,6 +160,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_SH] = "sh", + [ARCHITECTURE_SH64] = "sh64", + [ARCHITECTURE_M68K] = "m68k", ++ [ARCHITECTURE_TILEGX] = "tilegx", + }; + + DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); +diff --git src/shared/architecture.h src/shared/architecture.h +index 3183645..e589a91 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -47,6 +47,7 @@ typedef enum Architecture { + ARCHITECTURE_SH, + ARCHITECTURE_SH64, + ARCHITECTURE_M68K, ++ ARCHITECTURE_TILEGX, + _ARCHITECTURE_MAX, + _ARCHITECTURE_INVALID = -1 + } Architecture; +@@ -107,6 +108,8 @@ Architecture uname_architecture(void); + # define native_architecture() ARCHITECTURE_SH + #elif defined(__m68k__) + # define native_architecture() ARCHITECTURE_M68K ++#elif defined(__tilegx__) ++# define native_architecture() ARCHITECTURE_TILEGX + #else + #error "Please register your architecture here!" + #endif +-- +1.7.9.2 + diff --git a/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch b/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch new file mode 100644 index 00000000..3b20a7e0 --- /dev/null +++ b/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch @@ -0,0 +1,79 @@ +From 7b909d7407965c03caaba30daae7aee113627a83 Mon Sep 17 00:00:00 2001 +From: Josh Triplett +Date: Tue, 11 Mar 2014 21:16:33 -0700 +Subject: [PATCH] backlight: Avoid restoring brightness to an unreadably dim + level + +Some systems turn the backlight all the way off at the lowest levels. +Clamp saved brightness to at least 1 or 5% of max_brightness. This +avoids preserving an unreadably dim screen, which would otherwise force +the user to disable state restoration. +--- + src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 44 insertions(+) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 81470b3..abf8bcf 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -192,6 +192,48 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { + return true; + } + ++/* Some systems turn the backlight all the way off at the lowest levels. ++ * clamp_brightness clamps the saved brightness to at least 1 or 5% of ++ * max_brightness. This avoids preserving an unreadably dim screen, which ++ * would otherwise force the user to disable state restoration. */ ++static void clamp_brightness(struct udev_device *device, char **value) { ++ int r; ++ const char *max_brightness_str; ++ unsigned brightness, max_brightness, new_brightness; ++ ++ max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); ++ if (!max_brightness_str) { ++ log_warning("Failed to read max_brightness attribute; not checking saved brightness"); ++ return; ++ } ++ ++ r = safe_atou(*value, &brightness); ++ if (r < 0) { ++ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); ++ return; ++ } ++ ++ r = safe_atou(max_brightness_str, &max_brightness); ++ if (r < 0) { ++ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ return; ++ } ++ ++ new_brightness = MAX3(brightness, 1U, max_brightness/20); ++ if (new_brightness != brightness) { ++ char *old_value = *value; ++ ++ r = asprintf(value, "%u", new_brightness); ++ if (r < 0) { ++ log_oom(); ++ return; ++ } ++ ++ log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); ++ free(old_value); ++ } ++} ++ + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_device_unref_ struct udev_device *device = NULL; +@@ -306,6 +348,8 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + ++ clamp_brightness(device, &value); ++ + r = udev_device_set_sysattr_value(device, "brightness", value); + if (r < 0) { + log_error("Failed to write system attribute: %s", strerror(-r)); +-- +1.7.9.2 + diff --git a/0001-bash-completion-fix-__get_startable_units.patch b/0001-bash-completion-fix-__get_startable_units.patch new file mode 100644 index 00000000..815e6abd --- /dev/null +++ b/0001-bash-completion-fix-__get_startable_units.patch @@ -0,0 +1,25 @@ +From a163b64c4b08e8a4ad39a9a295acf3d1634024a3 Mon Sep 17 00:00:00 2001 +From: Dan Kilman +Date: Sun, 13 Apr 2014 18:06:13 +0300 +Subject: [PATCH] bash completion: fix __get_startable_units + +--- + shell-completion/bash/systemctl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl +index 992e52d..e1c8420 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -56,7 +56,7 @@ __get_all_units () { __systemctl $1 list-units --all \ + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } + __get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ +- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed " ]] && echo " $a"; done; }; } ++ | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } + __get_failed_units () { __systemctl $1 list-units \ + | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } + __get_enabled_units () { __systemctl $1 list-unit-files \ +-- +1.7.9.2 + diff --git a/0001-bash-completion-p-option-for-journalctl.patch b/0001-bash-completion-p-option-for-journalctl.patch new file mode 100644 index 00000000..f41318f5 --- /dev/null +++ b/0001-bash-completion-p-option-for-journalctl.patch @@ -0,0 +1,46 @@ +From be8f4a9fa732d61e845e1ab1a62ac3a6b368d3a7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 19 Jul 2014 19:46:04 -0400 +Subject: [PATCH] bash-completion: -p option for journalctl + +--- + shell-completion/bash/journalctl | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git shell-completion/bash/journalctl shell-completion/bash/journalctl +index e4b2f4a..14dcd22 100644 +--- shell-completion/bash/journalctl ++++ shell-completion/bash/journalctl +@@ -35,6 +35,8 @@ __journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} + _UDEV_{SYSNAME,DEVNODE,DEVLINK} + __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) + ++__syslog_priorities=(emerg alert crit err warning notice info debug) ++ + _journalctl() { + local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} + local -A OPTS=( +@@ -44,8 +46,8 @@ _journalctl() { + --no-tail -q --quiet --setup-keys --this-boot --verify + --version --list-catalog --update-catalog --list-boots' + [ARG]='-b --boot --this-boot -D --directory --file -F --field +- -o --output -u --unit --user-unit' +- [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until ++ -o --output -u --unit --user-unit -p --priority' ++ [ARGUNKNOWN]='-c --cursor --interval -n --lines --since --until + --verify-key' + ) + +@@ -68,6 +70,9 @@ _journalctl() { + --field|-F) + comps=${__journal_fields[*]} + ;; ++ --priority|-p) ++ comps=${__syslog_priorities[*]} ++ ;; + --unit|-u) + comps=$(journalctl -F '_SYSTEMD_UNIT' 2>/dev/null) + ;; +-- +1.7.9.2 + diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index 104339e0..a7021400 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -3,11 +3,11 @@ src/login/logind-dbus.c | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) -Index: systemd-218/src/login/logind-action.c +Index: systemd-210/src/login/logind-action.c =================================================================== ---- systemd-218.orig/src/login/logind-action.c -+++ systemd-218/src/login/logind-action.c -@@ -83,6 +83,11 @@ int manager_handle_action( +--- systemd-210.orig/src/login/logind-action.c ++++ systemd-210/src/login/logind-action.c +@@ -101,6 +101,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ if (inhibit_key > 0) { @@ -19,11 +19,11 @@ Index: systemd-218/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-218/src/login/logind-dbus.c +Index: systemd-210/src/login/logind-dbus.c =================================================================== ---- systemd-218.orig/src/login/logind-dbus.c -+++ systemd-218/src/login/logind-dbus.c -@@ -1487,9 +1487,11 @@ static int method_do_shutdown_or_sleep( +--- systemd-210.orig/src/login/logind-dbus.c ++++ systemd-210/src/login/logind-dbus.c +@@ -1469,9 +1469,11 @@ static int method_do_shutdown_or_sleep( sd_bus_error *error) { _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; @@ -36,7 +36,7 @@ Index: systemd-218/src/login/logind-dbus.c assert(m); assert(message); -@@ -1533,7 +1535,17 @@ static int method_do_shutdown_or_sleep( +@@ -1515,7 +1517,17 @@ static int method_do_shutdown_or_sleep( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); @@ -52,24 +52,24 @@ Index: systemd-218/src/login/logind-dbus.c + + + if (multiple_sessions && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, &m->polkit_registry, error); + r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, + action_multiple_sessions, interactive, error, method, m); if (r < 0) - return r; -@@ -1541,7 +1553,7 @@ static int method_do_shutdown_or_sleep( +@@ -1524,7 +1536,7 @@ static int method_do_shutdown_or_sleep( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (blocked) { + if (blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, &m->polkit_registry, error); + r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, + action_ignore_inhibit, interactive, error, method, m); if (r < 0) - return r; -@@ -1549,7 +1561,7 @@ static int method_do_shutdown_or_sleep( +@@ -1533,7 +1545,7 @@ static int method_do_shutdown_or_sleep( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (!multiple_sessions && !blocked) { + if (!multiple_sessions && !blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, &m->polkit_registry, error); + r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, + action, interactive, error, method, m); if (r < 0) - return r; diff --git a/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch b/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch new file mode 100644 index 00000000..f8632b99 --- /dev/null +++ b/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch @@ -0,0 +1,215 @@ +Based on d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 28 May 2014 17:36:40 +0800 +Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring + libattr + +--- + configure.ac | 53 ++----------------------------------------- + src/core/mount-setup.c | 2 - + src/core/socket.c | 4 --- + src/journal/journal-file.c | 7 ----- + src/journal/journal-vacuum.c | 10 -------- + src/shared/label.c | 2 - + src/shared/smack-util.c | 4 --- + 7 files changed, 7 insertions(+), 75 deletions(-) + +--- configure.ac ++++ configure.ac 2014-06-03 00:00:00.000000000 +0000 +@@ -526,44 +526,6 @@ AC_SUBST(ACL_LIBS) + AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) + + # ------------------------------------------------------------------------------ +-AC_ARG_ENABLE([xattr], +- AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]), +- [case "${enableval}" in +- yes) have_xattr=yes ;; +- no) have_xattr=no ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;; +- esac], +- [have_xattr=auto]) +- +-if test "x${have_xattr}" != xno ; then +- AC_CHECK_HEADERS( +- [attr/xattr.h], +- [have_xattr=yes], +- [if test "x$have_xattr" = xyes ; then +- AC_MSG_ERROR([*** XATTR headers not found.]) +- fi]) +- +- AC_CHECK_LIB( +- [attr], +- [fsetxattr], +- [have_xattr=yes], +- [if test "x$have_xattr" = xyes ; then +- AC_MSG_ERROR([*** libattr not found.]) +- fi]) +- +- if test "x$have_xattr" = xyes ; then +- XATTR_LIBS="-lattr" +- AC_DEFINE(HAVE_XATTR, 1, [XATTR available]) +- else +- have_xattr=no +- fi +-else +- XATTR_LIBS= +-fi +-AC_SUBST(XATTR_LIBS) +-AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno]) +- +-# ------------------------------------------------------------------------------ + AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]), + [case "${enableval}" in + yes) have_smack=yes ;; +@@ -572,17 +534,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([- + esac], + [have_smack=auto]) + +-if test "x${have_xattr}" = xno; then +- if test "x${have_smack}" = xyes; then +- AC_MSG_ERROR(SMACK requires xattr support) +- else +- have_smack=no +- fi +-else +- if test "x${have_smack}" = xauto; then +- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" +- have_smack=yes +- fi ++if test "x${have_smack}" = xauto; then ++ M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" ++ have_smack=yes + fi + + AC_ARG_WITH(smack-run-label, +@@ -1131,7 +1085,6 @@ AC_MSG_RESULT([ + SMACK: ${have_smack} + XZ: ${have_xz} + ACL: ${have_acl} +- XATTR: ${have_xattr} + GCRYPT: ${have_gcrypt} + QRENCODE: ${have_qrencode} + MICROHTTPD: ${have_microhttpd} +--- src/core/mount-setup.c ++++ src/core/mount-setup.c 2014-06-03 00:00:00.000000000 +0000 +@@ -93,10 +93,8 @@ static const MountPoint mount_table[] = + NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, + NULL, MNT_IN_CONTAINER }, +-#ifdef HAVE_XATTR + { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_IN_CONTAINER }, +-#endif + { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_IN_CONTAINER }, + { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +--- src/core/socket.c ++++ src/core/socket.c 2014-06-03 00:00:00.000000000 +0000 +@@ -29,9 +29,7 @@ + #include + #include + #include +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "sd-event.h" + #include "log.h" +--- src/journal/journal-file.c ++++ src/journal/journal-file.c 2014-06-03 00:00:00.000000000 +0000 +@@ -26,10 +26,7 @@ + #include + #include + #include +- +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "journal-def.h" + #include "journal-file.h" +@@ -2515,7 +2512,6 @@ int journal_file_open( + } + + if (f->last_stat.st_size == 0 && f->writable) { +-#ifdef HAVE_XATTR + uint64_t crtime; + + /* Let's attach the creation time to the journal file, +@@ -2530,7 +2526,6 @@ int journal_file_open( + + crtime = htole64((uint64_t) now(CLOCK_REALTIME)); + fsetxattr(f->fd, "user.crtime_usec", &crtime, sizeof(crtime), XATTR_CREATE); +-#endif + + #ifdef HAVE_GCRYPT + /* Try to load the FSPRG state, and if we can't, then +--- src/journal/journal-vacuum.c ++++ src/journal/journal-vacuum.c 2014-06-03 00:00:00.000000000 +0000 +@@ -24,10 +24,7 @@ + #include + #include + #include +- +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "journal-def.h" + #include "journal-file.h" +@@ -79,11 +76,8 @@ static void patch_realtime( + unsigned long long *realtime) { + + usec_t x; +- +-#ifdef HAVE_XATTR + uint64_t crtime; + _cleanup_free_ const char *path = NULL; +-#endif + + /* The timestamp was determined by the file name, but let's + * see if the file might actually be older than the file name +@@ -106,7 +100,6 @@ static void patch_realtime( + if (x > 0 && x != (usec_t) -1 && x < *realtime) + *realtime = x; + +-#ifdef HAVE_XATTR + /* Let's read the original creation time, if possible. Ideally + * we'd just query the creation time the FS might provide, but + * unfortunately there's currently no sane API to query +@@ -125,7 +118,6 @@ static void patch_realtime( + if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime) + *realtime = crtime; + } +-#endif + } + + static int journal_file_empty(int dir_fd, const char *name) { +--- src/shared/label.c ++++ src/shared/label.c 2014-06-03 00:00:00.000000000 +0000 +@@ -27,9 +27,7 @@ + #include + #include + #include +-#ifdef HAVE_XATTR + #include +-#endif + #ifdef HAVE_SELINUX + #include + #include +--- src/shared/smack-util.c ++++ src/shared/smack-util.c 2014-06-03 00:00:00.000000000 +0000 +@@ -23,9 +23,7 @@ + + #include + #include +-#ifdef HAVE_XATTR +-#include +-#endif ++#include + + #include "smack-util.h" + diff --git a/0001-bus-proxyd-fix-incorrect-comparison.patch b/0001-bus-proxyd-fix-incorrect-comparison.patch new file mode 100644 index 00000000..404e4c8d --- /dev/null +++ b/0001-bus-proxyd-fix-incorrect-comparison.patch @@ -0,0 +1,21 @@ +Based on e05aa2e02ba35d8b3741dddb79af3c802308414b Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 25 Jul 2014 10:25:06 +0200 +Subject: [PATCH] bus-proxyd: fix incorrect comparison + +We should be interested in k variable. +--- + src/bus-proxyd/bus-proxyd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/bus-proxyd/bus-proxyd.c ++++ src/bus-proxyd/bus-proxyd.c 2014-07-28 09:37:29.274735818 +0000 +@@ -698,7 +698,7 @@ int main(int argc, char *argv[]) { + + k = sd_bus_send(a, m, NULL); + if (k < 0) { +- if (r == -ECONNRESET) ++ if (k == -ECONNRESET) + r = 0; + else { + r = k; diff --git a/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch b/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch new file mode 100644 index 00000000..06845364 --- /dev/null +++ b/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch @@ -0,0 +1,80 @@ +From a641dcd9bf05418d6a6c165e1c0cff615b4a0f47 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 18 Mar 2014 04:06:36 +0100 +Subject: [PATCH] cgroup: it's not OK to invoke alloca() in loops + +--- + src/core/mount-setup.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index 387030a..c6d3f4b 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -216,10 +216,10 @@ int mount_setup_early(void) { + } + + int mount_cgroup_controllers(char ***join_controllers) { +- int r; +- char buf[LINE_MAX]; + _cleanup_set_free_free_ Set *controllers = NULL; + _cleanup_fclose_ FILE *f; ++ char buf[LINE_MAX]; ++ int r; + + /* Mount all available cgroup controllers that are built into the kernel. */ + +@@ -262,6 +262,7 @@ int mount_cgroup_controllers(char ***join_controllers) { + } + + for (;;) { ++ _cleanup_free_ char *options = NULL, *controller = NULL, *where = NULL; + MountPoint p = { + .what = "cgroup", + .type = "cgroup", +@@ -269,7 +270,6 @@ int mount_cgroup_controllers(char ***join_controllers) { + .mode = MNT_IN_CONTAINER, + }; + char ***k = NULL; +- _cleanup_free_ char *options = NULL, *controller; + + controller = set_steal_first(controllers); + if (!controller) +@@ -286,7 +286,7 @@ int mount_cgroup_controllers(char ***join_controllers) { + for (i = *k, j = *k; *i; i++) { + + if (!streq(*i, controller)) { +- char _cleanup_free_ *t; ++ _cleanup_free_ char *t; + + t = set_remove(controllers, *i); + if (!t) { +@@ -308,7 +308,11 @@ int mount_cgroup_controllers(char ***join_controllers) { + controller = NULL; + } + +- p.where = strappenda("/sys/fs/cgroup/", options); ++ where = strappend("/sys/fs/cgroup/", options); ++ if (!where) ++ return log_oom(); ++ ++ p.where = where; + p.options = options; + + r = mount_one(&p, true); +@@ -319,7 +323,11 @@ int mount_cgroup_controllers(char ***join_controllers) { + char **i; + + for (i = *k; *i; i++) { +- char *t = strappenda("/sys/fs/cgroup/", *i); ++ _cleanup_free_ char *t = NULL; ++ ++ t = strappend("/sys/fs/cgroup/", *i); ++ if (!t) ++ return log_oom(); + + r = symlink(options, t); + if (r < 0 && errno != EEXIST) { +-- +1.7.9.2 + diff --git a/0001-completion-filter-templates-from-restartable-units.patch b/0001-completion-filter-templates-from-restartable-units.patch new file mode 100644 index 00000000..13e03e03 --- /dev/null +++ b/0001-completion-filter-templates-from-restartable-units.patch @@ -0,0 +1,30 @@ +Based on ec15977a3cd82eff6c94bb13db72195f7cd512e8 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Fri, 29 Aug 2014 20:35:15 -0400 +Subject: [PATCH] completion: filter templates from restartable units + +Since c6a373a2634854, we might encounter unit templates via the +'list-units' verb. These aren't restartable (and we throw errors), so +make sure they're filtered out of the completion options. + +fixes downstream bug: https://bugs.archlinux.org/task/41719 +--- + shell-completion/bash/systemctl.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in +index 64b15df..0150018 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -182,7 +182,7 @@ _systemctl () { + comps=$( __filter_units_by_property $mode CanStart yes \ + $( __get_all_units $mode \ + | while read -r line; do \ +- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ ++ [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ + done )) + compopt -o filenames + +-- +1.7.9.2 + diff --git a/0001-conf-parser-silently-ignore-sections-starting-with-X.patch b/0001-conf-parser-silently-ignore-sections-starting-with-X.patch new file mode 100644 index 00000000..8ae66062 --- /dev/null +++ b/0001-conf-parser-silently-ignore-sections-starting-with-X.patch @@ -0,0 +1,73 @@ +From 342aea195051633c69ba7b8c02c82a0e5f8cbde4 Mon Sep 17 00:00:00 2001 +From: Michael Marineau +Date: Fri, 16 May 2014 16:58:31 -0700 +Subject: [PATCH] conf-parser: silently ignore sections starting with "X-" + +This allows external tools to keep additional unit information in a +separate section without scaring users with a big warning. +--- + src/shared/conf-parser.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git src/shared/conf-parser.c src/shared/conf-parser.c +index d27b1b7..062b15b 100644 +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c +@@ -204,6 +204,7 @@ static int parse_line(const char* unit, + bool allow_include, + char **section, + unsigned *section_line, ++ bool *section_ignored, + char *l, + void *userdata) { + +@@ -266,7 +267,7 @@ static int parse_line(const char* unit, + + if (sections && !nulstr_contains(sections, n)) { + +- if (!relaxed) ++ if (!relaxed && !startswith(n, "X-")) + log_syntax(unit, LOG_WARNING, filename, line, EINVAL, + "Unknown section '%s'. Ignoring.", n); + +@@ -274,10 +275,12 @@ static int parse_line(const char* unit, + free(*section); + *section = NULL; + *section_line = 0; ++ *section_ignored = true; + } else { + free(*section); + *section = n; + *section_line = line; ++ *section_ignored = false; + } + + return 0; +@@ -285,7 +288,7 @@ static int parse_line(const char* unit, + + if (sections && !*section) { + +- if (!relaxed) ++ if (!relaxed && !*section_ignored) + log_syntax(unit, LOG_WARNING, filename, line, EINVAL, + "Assignment outside of section. Ignoring."); + +@@ -328,6 +331,7 @@ int config_parse(const char *unit, + _cleanup_free_ char *section = NULL, *continuation = NULL; + _cleanup_fclose_ FILE *ours = NULL; + unsigned line = 0, section_line = 0; ++ bool section_ignored = false; + int r; + + assert(filename); +@@ -399,6 +403,7 @@ int config_parse(const char *unit, + allow_include, + §ion, + §ion_line, ++ §ion_ignored, + p, + userdata); + free(c); +-- +1.7.9.2 + diff --git a/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch b/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch new file mode 100644 index 00000000..b8989aef --- /dev/null +++ b/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch @@ -0,0 +1,29 @@ +From 36d239dbdaf94ba2d96bb60ac45ecfc58624b1eb Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Fri, 7 Mar 2014 11:41:18 +0100 +Subject: [PATCH] core/busname: add lookup string for + BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT + +When a busname unit enters BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT, the +serialization will not be able to look up the result as string via +busname_result_to_string(). This leads to an assertion trap during +daemon-reexec. +--- + src/core/busname.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/core/busname.c src/core/busname.c +index 4c34538..237011a 100644 +--- src/core/busname.c ++++ src/core/busname.c +@@ -548,6 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); + static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { + [BUSNAME_SUCCESS] = "success", + [BUSNAME_FAILURE_RESOURCES] = "resources", ++ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", + }; + + DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); +-- +1.7.9.2 + diff --git a/0001-core-close-socket-fds-asynchronously.patch b/0001-core-close-socket-fds-asynchronously.patch new file mode 100644 index 00000000..90649f90 --- /dev/null +++ b/0001-core-close-socket-fds-asynchronously.patch @@ -0,0 +1,89 @@ +Based on 574634bcacb01efe15ca2742effd461a5b7afb5f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 13 May 2014 23:22:13 +0200 +Subject: [PATCH] core: close socket fds asynchronously + +http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html +--- + src/core/async.c | 24 ++++++++++++++++++++++++ + src/core/service.c | 5 +++-- + 2 files changed, 27 insertions(+), 2 deletions(-) + +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c +@@ -25,6 +25,7 @@ + #include + #include + ++#include "async.h" + #include "manager.h" + #include "unit.h" + #include "service.h" +@@ -240,7 +241,7 @@ static void service_close_socket_fd(Serv + if (s->socket_fd < 0) + return; + +- close_nointr_nofail(s->socket_fd); ++ asynchronous_close(s->socket_fd); + s->socket_fd = -1; + } + +@@ -2767,7 +2768,7 @@ static int service_deserialize_item(Unit + else { + + if (s->socket_fd >= 0) +- close_nointr_nofail(s->socket_fd); ++ asynchronous_close(s->socket_fd); + s->socket_fd = fdset_remove(fds, fd); + } + } else if (streq(key, "main-exec-status-pid")) { +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c +@@ -24,6 +24,7 @@ + + #include "async.h" + #include "log.h" ++#include "util.h" + + int asynchronous_job(void* (*func)(void *p), void *arg) { + pthread_attr_t a; +@@ -70,3 +71,26 @@ int asynchronous_sync(void) { + + return asynchronous_job(sync_thread, NULL); + } ++ ++static void *close_thread(void *p) { ++ int fd = PTR_TO_INT(p); ++ if (fd >= 0) ++ close_nointr_nofail(fd); ++ return NULL; ++} ++ ++int asynchronous_close(int fd) { ++ int r; ++ ++ /* This is supposed to behave similar to safe_close(), but ++ * actually invoke close() asynchronously, so that it will ++ * never block. Ideally the kernel would have an API for this, ++ * but it doesn't, so we work around it, and hide this as a ++ * far away as we can. */ ++ ++ r = asynchronous_job(close_thread, INT_TO_PTR(fd)); ++ if (r < 0 && fd >= 0) ++ close_nointr_nofail(fd); ++ ++ return -1; ++} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); diff --git a/0001-core-don-t-allow-enabling-if-unit-is-masked.patch b/0001-core-don-t-allow-enabling-if-unit-is-masked.patch new file mode 100644 index 00000000..7e193738 --- /dev/null +++ b/0001-core-don-t-allow-enabling-if-unit-is-masked.patch @@ -0,0 +1,36 @@ +From f7101b7368dfe41dbc8b7203e06133cccb589c01 Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Tue, 7 Oct 2014 13:35:41 +0200 +Subject: [PATCH] core: don't allow enabling if unit is masked + +--- + src/shared/install.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git src/shared/install.c src/shared/install.c +index fa064c2..945bb27 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -1516,6 +1516,19 @@ int unit_file_enable( + return r; + + STRV_FOREACH(i, files) { ++ UnitFileState state; ++ ++ state = unit_file_get_state(scope, root_dir, *i); ++ if (state < 0) { ++ log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); ++ return state; ++ } ++ ++ if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { ++ log_error("Failed to enable unit: Unit %s is masked", *i); ++ return -ENOTSUP; ++ } ++ + r = install_info_add_auto(&c, *i); + if (r < 0) + return r; +-- +1.7.9.2 + diff --git a/0001-core-fix-invalid-free-in-killall.patch b/0001-core-fix-invalid-free-in-killall.patch new file mode 100644 index 00000000..23d527e8 --- /dev/null +++ b/0001-core-fix-invalid-free-in-killall.patch @@ -0,0 +1,32 @@ +From 3e09eb5c83e56bc0184bd9d9c44f76047464f77c Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Fri, 13 Jun 2014 18:48:19 +0200 +Subject: [PATCH] core: fix invalid free() in killall() + +static int killall(....) in ./src/core/killall.c tries to get "s" +initialized by calling get_process_comm(...) which calls +read_one_line_file(...) which if it fails will mean it is left +uninitialized. +It is then used in argument to strna(s) call where it is +dereferenced(!), in addition to nothing else initializing it before +the scope it is in finishes. +--- + src/core/killall.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/killall.c src/core/killall.c +index 57ed41c..eab48f7 100644 +--- src/core/killall.c ++++ src/core/killall.c +@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { + continue; + + if (sig == SIGKILL) { +- _cleanup_free_ char *s; ++ _cleanup_free_ char *s = NULL; + + get_process_comm(pid, &s); + log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s)); +-- +1.7.9.2 + diff --git a/0001-core-fix-resource-leak-in-manager_environment_add.patch b/0001-core-fix-resource-leak-in-manager_environment_add.patch new file mode 100644 index 00000000..7991b3be --- /dev/null +++ b/0001-core-fix-resource-leak-in-manager_environment_add.patch @@ -0,0 +1,32 @@ +From aa9f8a30fd7dc7aa3aa2575b75b3f9a0ab3f02db Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Tue, 16 Sep 2014 21:11:02 +0200 +Subject: [PATCH] core: fix resource leak in manager_environment_add + +Second error path must free the (potentially) allocated memory in the +first code chunk before returning. + +Found by coverity. Fixes: CID#1237750 +--- + src/core/manager.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git src/core/manager.c src/core/manager.c +index 0770727..e0c1cd1 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -2751,8 +2751,10 @@ int manager_environment_add(Manager *m, char **minus, char **plus) { + + if (!strv_isempty(plus)) { + b = strv_env_merge(2, l, plus); +- if (!b) ++ if (!b) { ++ strv_free(a); + return -ENOMEM; ++ } + + l = b; + } +-- +1.7.9.2 + diff --git a/0001-core-rework-device-state-logic.patch b/0001-core-rework-device-state-logic.patch deleted file mode 100644 index 0234602c..00000000 --- a/0001-core-rework-device-state-logic.patch +++ /dev/null @@ -1,917 +0,0 @@ -From 628c89cc68ab96fce2de7ebba5933725d147aecc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 27 Feb 2015 21:55:08 +0100 -Subject: [PATCH] core: rework device state logic -References: https://bugzilla.redhat.com/show_bug.cgi?id=1196452 - -This change introduces a new state "tentative" for device units. Device -units are considered "plugged" when udev announced them, "dead" when -they are not available in the kernel, and "tentative" when they are -referenced in /proc/self/mountinfo or /proc/swaps but not (yet) -announced via udev. - -This should fix a race when device nodes (like loop devices) are created -and immediately mounted. Previously, systemd might end up seeing the -mount unit before the device, and would thus pull down the mount because -its BindTo dependency on the device would not be fulfilled. -=== -[The bug can be triggered by - cp -a /dev/sda1 (pick any source) /dev/xxx; mount /dev/xxx /mnt; - since "xxx" is a device udev does not know about even if it runs - and is race-free in the moment you are trying. - -jengelh] ---- - src/core/device.c | 368 +++++++++++++++++++++++++++++++++--------------------- - src/core/device.h | 14 ++- - src/core/mount.c | 46 ++++--- - src/core/swap.c | 32 +++-- - src/core/swap.h | 4 +- - src/core/unit.c | 1 - - 6 files changed, 285 insertions(+), 180 deletions(-) - -diff --git a/src/core/device.c b/src/core/device.c -index 2d983cc..e41ed41 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -34,7 +34,8 @@ - - static const UnitActiveState state_translation_table[_DEVICE_STATE_MAX] = { - [DEVICE_DEAD] = UNIT_INACTIVE, -- [DEVICE_PLUGGED] = UNIT_ACTIVE -+ [DEVICE_TENTATIVE] = UNIT_ACTIVATING, -+ [DEVICE_PLUGGED] = UNIT_ACTIVE, - }; - - static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata); -@@ -63,6 +64,41 @@ static void device_unset_sysfs(Device *d) { - d->sysfs = NULL; - } - -+static int device_set_sysfs(Device *d, const char *sysfs) { -+ Device *first; -+ char *copy; -+ int r; -+ -+ assert(d); -+ -+ if (streq_ptr(d->sysfs, sysfs)) -+ return 0; -+ -+ r = hashmap_ensure_allocated(&UNIT(d)->manager->devices_by_sysfs, &string_hash_ops); -+ if (r < 0) -+ return r; -+ -+ copy = strdup(sysfs); -+ if (!copy) -+ return -ENOMEM; -+ -+ device_unset_sysfs(d); -+ -+ first = hashmap_get(UNIT(d)->manager->devices_by_sysfs, sysfs); -+ LIST_PREPEND(same_sysfs, first, d); -+ -+ r = hashmap_replace(UNIT(d)->manager->devices_by_sysfs, copy, first); -+ if (r < 0) { -+ LIST_REMOVE(same_sysfs, first, d); -+ free(copy); -+ return r; -+ } -+ -+ d->sysfs = copy; -+ -+ return 0; -+} -+ - static void device_init(Unit *u) { - Device *d = DEVICE(u); - -@@ -110,8 +146,13 @@ static int device_coldplug(Unit *u) { - assert(d); - assert(d->state == DEVICE_DEAD); - -- if (d->sysfs) -+ if (d->found & DEVICE_FOUND_UDEV) -+ /* If udev says the device is around, it's around */ - device_set_state(d, DEVICE_PLUGGED); -+ else if (d->found != DEVICE_NOT_FOUND) -+ /* If a device is found in /proc/self/mountinfo or -+ * /proc/swaps, it's "tentatively" around. */ -+ device_set_state(d, DEVICE_TENTATIVE); - - return 0; - } -@@ -140,49 +181,9 @@ _pure_ static const char *device_sub_state_to_string(Unit *u) { - return device_state_to_string(DEVICE(u)->state); - } - --static int device_add_escaped_name(Unit *u, const char *dn) { -- _cleanup_free_ char *e = NULL; -- int r; -- -- assert(u); -- assert(dn); -- assert(dn[0] == '/'); -- -- e = unit_name_from_path(dn, ".device"); -- if (!e) -- return -ENOMEM; -- -- r = unit_add_name(u, e); -- if (r < 0 && r != -EEXIST) -- return r; -- -- return 0; --} -- --static int device_find_escape_name(Manager *m, const char *dn, Unit **_u) { -- _cleanup_free_ char *e = NULL; -- Unit *u; -- -- assert(m); -- assert(dn); -- assert(dn[0] == '/'); -- assert(_u); -- -- e = unit_name_from_path(dn, ".device"); -- if (!e) -- return -ENOMEM; -- -- u = manager_get_unit(m, e); -- if (u) { -- *_u = u; -- return 1; -- } -- -- return 0; --} -- --static int device_make_description(Unit *u, struct udev_device *dev, const char *path) { -+static int device_update_description(Unit *u, struct udev_device *dev, const char *path) { - const char *model; -+ int r; - - assert(u); - assert(dev); -@@ -207,13 +208,16 @@ static int device_make_description(Unit *u, struct udev_device *dev, const char - - j = strjoin(model, " ", label, NULL); - if (j) -- return unit_set_description(u, j); -- } -+ r = unit_set_description(u, j); -+ } else -+ r = unit_set_description(u, model); -+ } else -+ r = unit_set_description(u, path); - -- return unit_set_description(u, model); -- } -+ if (r < 0) -+ log_unit_error_errno(u->id, r, "Failed to set device description: %m"); - -- return unit_set_description(u, path); -+ return r; - } - - static int device_add_udev_wants(Unit *u, struct udev_device *dev) { -@@ -240,20 +244,20 @@ static int device_add_udev_wants(Unit *u, struct udev_device *dev) { - - n = unit_name_mangle(e, MANGLE_NOGLOB); - if (!n) -- return -ENOMEM; -+ return log_oom(); - - r = unit_add_dependency_by_name(u, UNIT_WANTS, n, NULL, true); - if (r < 0) -- return r; -+ return log_unit_error_errno(u->id, r, "Failed to add wants dependency: %m"); - } - if (!isempty(state)) -- log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", -- property, strna(udev_device_get_syspath(dev))); -+ log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", property, strna(udev_device_get_syspath(dev))); - - return 0; - } - --static int device_update_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { -+static int device_setup_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { -+ _cleanup_free_ char *e = NULL; - const char *sysfs; - Unit *u = NULL; - bool delete; -@@ -267,12 +271,18 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - if (!sysfs) - return 0; - -- r = device_find_escape_name(m, path, &u); -- if (r < 0) -- return r; -+ e = unit_name_from_path(path, ".device"); -+ if (!e) -+ return log_oom(); -+ -+ u = manager_get_unit(m, e); - -- if (u && DEVICE(u)->sysfs && !path_equal(DEVICE(u)->sysfs, sysfs)) -+ if (u && -+ DEVICE(u)->sysfs && -+ !path_equal(DEVICE(u)->sysfs, sysfs)) { -+ log_unit_error(u->id, "Device %s appeared twice with different sysfs paths %s and %s", e, DEVICE(u)->sysfs, sysfs); - return -EEXIST; -+ } - - if (!u) { - delete = true; -@@ -281,7 +291,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - if (!u) - return log_oom(); - -- r = device_add_escaped_name(u, path); -+ r = unit_add_name(u, e); - if (r < 0) - goto fail; - -@@ -293,37 +303,16 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - * actually been seen yet ->sysfs will not be - * initialized. Hence initialize it if necessary. */ - -- if (!DEVICE(u)->sysfs) { -- Device *first; -- -- DEVICE(u)->sysfs = strdup(sysfs); -- if (!DEVICE(u)->sysfs) { -- r = -ENOMEM; -- goto fail; -- } -- -- r = hashmap_ensure_allocated(&m->devices_by_sysfs, &string_hash_ops); -- if (r < 0) -- goto fail; -- -- first = hashmap_get(m->devices_by_sysfs, sysfs); -- LIST_PREPEND(same_sysfs, first, DEVICE(u)); -- -- r = hashmap_replace(m->devices_by_sysfs, DEVICE(u)->sysfs, first); -- if (r < 0) -- goto fail; -- } -- -- device_make_description(u, dev, path); -+ r = device_set_sysfs(DEVICE(u), sysfs); -+ if (r < 0) -+ goto fail; - -- if (main) { -- /* The additional systemd udev properties we only -- * interpret for the main object */ -+ (void) device_update_description(u, dev, path); - -- r = device_add_udev_wants(u, dev); -- if (r < 0) -- goto fail; -- } -+ /* The additional systemd udev properties we only interpret -+ * for the main object */ -+ if (main) -+ (void) device_add_udev_wants(u, dev); - - /* Note that this won't dispatch the load queue, the caller - * has to do that if needed and appropriate */ -@@ -332,7 +321,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - return 0; - - fail: -- log_warning_errno(r, "Failed to load device unit: %m"); -+ log_unit_warning_errno(u->id, r, "Failed to set up device unit: %m"); - - if (delete && u) - unit_free(u); -@@ -340,7 +329,7 @@ fail: - return r; - } - --static int device_process_new_device(Manager *m, struct udev_device *dev) { -+static int device_process_new(Manager *m, struct udev_device *dev) { - const char *sysfs, *dn, *alias; - struct udev_list_entry *item = NULL, *first = NULL; - int r; -@@ -352,14 +341,14 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - return 0; - - /* Add the main unit named after the sysfs path */ -- r = device_update_unit(m, dev, sysfs, true); -+ r = device_setup_unit(m, dev, sysfs, true); - if (r < 0) - return r; - - /* Add an additional unit for the device node */ - dn = udev_device_get_devnode(dev); - if (dn) -- device_update_unit(m, dev, dn, false); -+ (void) device_setup_unit(m, dev, dn, false); - - /* Add additional units for all symlinks */ - first = udev_device_get_devlinks_list_entry(dev); -@@ -386,7 +375,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - st.st_rdev != udev_device_get_devnum(dev)) - continue; - -- device_update_unit(m, dev, p, false); -+ (void) device_setup_unit(m, dev, p, false); - } - - /* Add additional units for all explicitly configured -@@ -403,7 +392,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - e[l] = 0; - - if (path_is_absolute(e)) -- device_update_unit(m, dev, e, false); -+ (void) device_setup_unit(m, dev, e, false); - else - log_warning("SYSTEMD_ALIAS for %s is not an absolute path, ignoring: %s", sysfs, e); - } -@@ -414,39 +403,62 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - return 0; - } - --static void device_set_path_plugged(Manager *m, struct udev_device *dev) { -- const char *sysfs; -+static void device_update_found_one(Device *d, bool add, DeviceFound found, bool now) { -+ DeviceFound n; -+ -+ assert(d); -+ -+ n = add ? (d->found | found) : (d->found & ~found); -+ if (n == d->found) -+ return; -+ -+ d->found = n; -+ -+ if (now) { -+ if (d->found & DEVICE_FOUND_UDEV) -+ device_set_state(d, DEVICE_PLUGGED); -+ else if (d->found != DEVICE_NOT_FOUND) -+ device_set_state(d, DEVICE_TENTATIVE); -+ else -+ device_set_state(d, DEVICE_DEAD); -+ } -+} -+ -+static int device_update_found_by_sysfs(Manager *m, const char *sysfs, bool add, DeviceFound found, bool now) { - Device *d, *l; - - assert(m); -- assert(dev); -+ assert(sysfs); - -- sysfs = udev_device_get_syspath(dev); -- if (!sysfs) -- return; -+ if (found == DEVICE_NOT_FOUND) -+ return 0; - - l = hashmap_get(m->devices_by_sysfs, sysfs); - LIST_FOREACH(same_sysfs, d, l) -- device_set_state(d, DEVICE_PLUGGED); -+ device_update_found_one(d, add, found, now); -+ -+ return 0; - } - --static int device_process_removed_device(Manager *m, struct udev_device *dev) { -- const char *sysfs; -- Device *d; -+static int device_update_found_by_name(Manager *m, const char *path, bool add, DeviceFound found, bool now) { -+ _cleanup_free_ char *e = NULL; -+ Unit *u; - - assert(m); -- assert(dev); -+ assert(path); - -- sysfs = udev_device_get_syspath(dev); -- if (!sysfs) -- return -ENOMEM; -+ if (found == DEVICE_NOT_FOUND) -+ return 0; - -- /* Remove all units of this sysfs path */ -- while ((d = hashmap_get(m->devices_by_sysfs, sysfs))) { -- device_unset_sysfs(d); -- device_set_state(d, DEVICE_DEAD); -- } -+ e = unit_name_from_path(path, ".device"); -+ if (!e) -+ return log_oom(); - -+ u = manager_get_unit(m, e); -+ if (!u) -+ return 0; -+ -+ device_update_found_one(DEVICE(u), add, found, now); - return 0; - } - -@@ -462,22 +474,6 @@ static bool device_is_ready(struct udev_device *dev) { - return parse_boolean(ready) != 0; - } - --static int device_process_new_path(Manager *m, const char *path) { -- _cleanup_udev_device_unref_ struct udev_device *dev = NULL; -- -- assert(m); -- assert(path); -- -- dev = udev_device_new_from_syspath(m->udev, path); -- if (!dev) -- return log_oom(); -- -- if (!device_is_ready(dev)) -- return 0; -- -- return device_process_new_device(m, dev); --} -- - static Unit *device_following(Unit *u) { - Device *d = DEVICE(u); - Device *other, *first = NULL; -@@ -604,12 +600,31 @@ static int device_enumerate(Manager *m) { - goto fail; - - first = udev_enumerate_get_list_entry(e); -- udev_list_entry_foreach(item, first) -- device_process_new_path(m, udev_list_entry_get_name(item)); -+ udev_list_entry_foreach(item, first) { -+ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; -+ const char *sysfs; -+ -+ sysfs = udev_list_entry_get_name(item); -+ -+ dev = udev_device_new_from_syspath(m->udev, sysfs); -+ if (!dev) { -+ log_oom(); -+ continue; -+ } -+ -+ if (!device_is_ready(dev)) -+ continue; -+ -+ (void) device_process_new(m, dev); -+ -+ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, false); -+ } - - return 0; - - fail: -+ log_error_errno(r, "Failed to enumerate devices: %m"); -+ - device_shutdown(m); - return r; - } -@@ -617,7 +632,7 @@ fail: - static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata) { - _cleanup_udev_device_unref_ struct udev_device *dev = NULL; - Manager *m = userdata; -- const char *action; -+ const char *action, *sysfs; - int r; - - assert(m); -@@ -639,33 +654,47 @@ static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - if (!dev) - return 0; - -+ sysfs = udev_device_get_syspath(dev); -+ if (!sysfs) { -+ log_error("Failed to get udev sys path."); -+ return 0; -+ } -+ - action = udev_device_get_action(dev); - if (!action) { - log_error("Failed to get udev action string."); - return 0; - } - -- if (streq(action, "remove") || !device_is_ready(dev)) { -- r = device_process_removed_device(m, dev); -- if (r < 0) -- log_error_errno(r, "Failed to process device remove event: %m"); -- -- r = swap_process_removed_device(m, dev); -+ if (streq(action, "remove")) { -+ r = swap_process_device_remove(m, dev); - if (r < 0) - log_error_errno(r, "Failed to process swap device remove event: %m"); - -- } else { -- r = device_process_new_device(m, dev); -- if (r < 0) -- log_error_errno(r, "Failed to process device new event: %m"); -+ /* If we get notified that a device was removed by -+ * udev, then it's completely gone, hence unset all -+ * found bits */ -+ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV|DEVICE_FOUND_MOUNT|DEVICE_FOUND_SWAP, true); - -- r = swap_process_new_device(m, dev); -+ } else if (device_is_ready(dev)) { -+ -+ (void) device_process_new(m, dev); -+ -+ r = swap_process_device_new(m, dev); - if (r < 0) - log_error_errno(r, "Failed to process swap device new event: %m"); - - manager_dispatch_load_queue(m); - -- device_set_path_plugged(m, dev); -+ /* The device is found now, set the udev found bit */ -+ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, true); -+ -+ } else { -+ /* The device is nominally around, but not ready for -+ * us. Hence unset the udev bit, but leave the rest -+ * around. */ -+ -+ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV, true); - } - - return 0; -@@ -684,9 +713,58 @@ static bool device_supported(Manager *m) { - return read_only <= 0; - } - -+int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now) { -+ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; -+ struct stat st; -+ -+ assert(m); -+ assert(node); -+ -+ /* This is called whenever we find a device referenced in -+ * /proc/swaps or /proc/self/mounts. Such a device might be -+ * mounted/enabled at a time where udev has not finished -+ * probing it yet, and we thus haven't learned about it -+ * yet. In this case we will set the device unit to -+ * "tentative" state. */ -+ -+ if (add) { -+ if (!path_startswith(node, "/dev")) -+ return 0; -+ -+ if (stat(node, &st) < 0) { -+ if (errno == ENOENT) -+ return 0; -+ -+ return log_error_errno(errno, "Failed to stat device node file %s: %m", node); -+ } -+ -+ if (!S_ISBLK(st.st_mode) && !S_ISCHR(st.st_mode)) -+ return 0; -+ -+ dev = udev_device_new_from_devnum(m->udev, S_ISBLK(st.st_mode) ? 'b' : 'c', st.st_rdev); -+ if (!dev) { -+ if (errno == ENOENT) -+ return 0; -+ -+ return log_oom(); -+ } -+ -+ /* If the device is known in the kernel and newly -+ * appeared, then we'll create a device unit for it, -+ * under the name referenced in /proc/swaps or -+ * /proc/self/mountinfo. */ -+ -+ (void) device_setup_unit(m, dev, node, false); -+ } -+ -+ /* Update the device unit's state, should it exist */ -+ return device_update_found_by_name(m, node, add, found, now); -+} -+ - static const char* const device_state_table[_DEVICE_STATE_MAX] = { - [DEVICE_DEAD] = "dead", -- [DEVICE_PLUGGED] = "plugged" -+ [DEVICE_TENTATIVE] = "tentative", -+ [DEVICE_PLUGGED] = "plugged", - }; - - DEFINE_STRING_TABLE_LOOKUP(device_state, DeviceState); -diff --git a/src/core/device.h b/src/core/device.h -index 9065085..9f46e08 100644 ---- a/src/core/device.h -+++ b/src/core/device.h -@@ -28,20 +28,28 @@ typedef struct Device Device; - * simplifies the state engine greatly */ - typedef enum DeviceState { - DEVICE_DEAD, -- DEVICE_PLUGGED, -+ DEVICE_TENTATIVE, /* mounted or swapped, but not (yet) announced by udev */ -+ DEVICE_PLUGGED, /* announced by udev */ - _DEVICE_STATE_MAX, - _DEVICE_STATE_INVALID = -1 - } DeviceState; - -+typedef enum DeviceFound { -+ DEVICE_NOT_FOUND = 0, -+ DEVICE_FOUND_UDEV = 1, -+ DEVICE_FOUND_MOUNT = 2, -+ DEVICE_FOUND_SWAP = 4, -+} DeviceFound; -+ - struct Device { - Unit meta; - - char *sysfs; -+ DeviceFound found; - - /* In order to be able to distinguish dependencies on - different device nodes we might end up creating multiple - devices for the same sysfs path. We chain them up here. */ -- - LIST_FIELDS(struct Device, same_sysfs); - - DeviceState state; -@@ -51,3 +59,5 @@ extern const UnitVTable device_vtable; - - const char* device_state_to_string(DeviceState i) _const_; - DeviceState device_state_from_string(const char *s) _pure_; -+ -+int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now); -diff --git a/src/core/mount.c b/src/core/mount.c -index 40037e7..8e4a376 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1386,7 +1386,7 @@ static int mount_dispatch_timer(sd_event_source *source, usec_t usec, void *user - return 0; - } - --static int mount_add_one( -+static int mount_setup_unit( - Manager *m, - const char *what, - const char *where, -@@ -1429,7 +1429,7 @@ static int mount_add_one( - - u = unit_new(m, sizeof(Mount)); - if (!u) -- return -ENOMEM; -+ return log_oom(); - - r = unit_add_name(u, e); - if (r < 0) -@@ -1542,6 +1542,8 @@ static int mount_add_one( - return 0; - - fail: -+ log_warning_errno(r, "Failed to set up mount unit: %m"); -+ - if (delete && u) - unit_free(u); - -@@ -1549,33 +1551,36 @@ fail: - } - - static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { -- _cleanup_(mnt_free_tablep) struct libmnt_table *tb = NULL; -- _cleanup_(mnt_free_iterp) struct libmnt_iter *itr = NULL; -- struct libmnt_fs *fs; -+ _cleanup_(mnt_free_tablep) struct libmnt_table *t = NULL; -+ _cleanup_(mnt_free_iterp) struct libmnt_iter *i = NULL; - int r = 0; - - assert(m); - -- tb = mnt_new_table(); -- itr = mnt_new_iter(MNT_ITER_FORWARD); -- if (!tb || !itr) -+ t = mnt_new_table(); -+ if (!t) - return log_oom(); - -- r = mnt_table_parse_mtab(tb, NULL); -+ i = mnt_new_iter(MNT_ITER_FORWARD); -+ if (!i) -+ return log_oom(); -+ -+ r = mnt_table_parse_mtab(t, NULL); - if (r < 0) -- return r; -+ return log_error_errno(r, "Failed to parse /proc/self/mountinfo: %m"); - - r = 0; - for (;;) { - const char *device, *path, *options, *fstype; - _cleanup_free_ const char *d = NULL, *p = NULL; -+ struct libmnt_fs *fs; - int k; - -- k = mnt_table_next_fs(tb, itr, &fs); -+ k = mnt_table_next_fs(t, i, &fs); - if (k == 1) - break; -- else if (k < 0) -- return log_error_errno(k, "Failed to get next entry from /etc/fstab: %m"); -+ if (k < 0) -+ return log_error_errno(k, "Failed to get next entry from /proc/self/mountinfo: %m"); - - device = mnt_fs_get_source(fs); - path = mnt_fs_get_target(fs); -@@ -1583,11 +1588,16 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { - fstype = mnt_fs_get_fstype(fs); - - d = cunescape(device); -+ if (!d) -+ return log_oom(); -+ - p = cunescape(path); -- if (!d || !p) -+ if (!p) - return log_oom(); - -- k = mount_add_one(m, d, p, options, fstype, set_flags); -+ (void) device_found_node(m, d, true, DEVICE_FOUND_MOUNT, set_flags); -+ -+ k = mount_setup_unit(m, d, p, options, fstype, set_flags); - if (r == 0 && k < 0) - r = k; - } -@@ -1731,8 +1741,6 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - - r = mount_load_proc_self_mountinfo(m, true); - if (r < 0) { -- log_error_errno(r, "Failed to reread /proc/self/mountinfo: %m"); -- - /* Reset flags, just in case, for later calls */ - LIST_FOREACH(units_by_type, u, m->units_by_type[UNIT_MOUNT]) { - Mount *mount = MOUNT(u); -@@ -1765,6 +1773,10 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - break; - } - -+ if (mount->parameters_proc_self_mountinfo.what) -+ (void) device_found_node(m, mount->parameters_proc_self_mountinfo.what, false, DEVICE_FOUND_MOUNT, true); -+ -+ - } else if (mount->just_mounted || mount->just_changed) { - - /* New or changed mount entry */ -diff --git a/src/core/swap.c b/src/core/swap.c -index f73a8e6..de3a5d8 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -331,7 +331,7 @@ static int swap_load(Unit *u) { - return swap_verify(s); - } - --static int swap_add_one( -+static int swap_setup_unit( - Manager *m, - const char *what, - const char *what_proc_swaps, -@@ -356,8 +356,10 @@ static int swap_add_one( - - if (u && - SWAP(u)->from_proc_swaps && -- !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) -+ !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) { -+ log_error("Swap %s appeared twice with different device paths %s and %s", e, SWAP(u)->parameters_proc_swaps.what, what_proc_swaps); - return -EEXIST; -+ } - - if (!u) { - delete = true; -@@ -372,7 +374,7 @@ static int swap_add_one( - - SWAP(u)->what = strdup(what); - if (!SWAP(u)->what) { -- r = log_oom(); -+ r = -ENOMEM; - goto fail; - } - -@@ -400,7 +402,6 @@ static int swap_add_one( - p->priority = priority; - - unit_add_to_dbus_queue(u); -- - return 0; - - fail: -@@ -412,7 +413,7 @@ fail: - return r; - } - --static int swap_process_new_swap(Manager *m, const char *device, int prio, bool set_flags) { -+static int swap_process_new(Manager *m, const char *device, int prio, bool set_flags) { - _cleanup_udev_device_unref_ struct udev_device *d = NULL; - struct udev_list_entry *item = NULL, *first = NULL; - const char *dn; -@@ -421,7 +422,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool - - assert(m); - -- r = swap_add_one(m, device, device, prio, set_flags); -+ r = swap_setup_unit(m, device, device, prio, set_flags); - if (r < 0) - return r; - -@@ -437,7 +438,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool - /* Add the main device node */ - dn = udev_device_get_devnode(d); - if (dn && !streq(dn, device)) -- swap_add_one(m, dn, device, prio, set_flags); -+ swap_setup_unit(m, dn, device, prio, set_flags); - - /* Add additional units for all symlinks */ - first = udev_device_get_devlinks_list_entry(d); -@@ -458,7 +459,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool - st.st_rdev != udev_device_get_devnum(d)) - continue; - -- swap_add_one(m, p, device, prio, set_flags); -+ swap_setup_unit(m, p, device, prio, set_flags); - } - - return r; -@@ -1084,15 +1085,17 @@ static int swap_load_proc_swaps(Manager *m, bool set_flags) { - if (k == EOF) - break; - -- log_warning("Failed to parse /proc/swaps:%u", i); -+ log_warning("Failed to parse /proc/swaps:%u.", i); - continue; - } - - d = cunescape(dev); - if (!d) -- return -ENOMEM; -+ return log_oom(); -+ -+ device_found_node(m, d, true, DEVICE_FOUND_SWAP, set_flags); - -- k = swap_process_new_swap(m, d, prio, set_flags); -+ k = swap_process_new(m, d, prio, set_flags); - if (k < 0) - r = k; - } -@@ -1144,6 +1147,9 @@ static int swap_dispatch_io(sd_event_source *source, int fd, uint32_t revents, v - break; - } - -+ if (swap->what) -+ device_found_node(m, swap->what, false, DEVICE_FOUND_SWAP, true); -+ - } else if (swap->just_activated) { - - /* New swap entry */ -@@ -1291,7 +1297,7 @@ fail: - return r; - } - --int swap_process_new_device(Manager *m, struct udev_device *dev) { -+int swap_process_device_new(Manager *m, struct udev_device *dev) { - struct udev_list_entry *item = NULL, *first = NULL; - _cleanup_free_ char *e = NULL; - const char *dn; -@@ -1334,7 +1340,7 @@ int swap_process_new_device(Manager *m, struct udev_device *dev) { - return r; - } - --int swap_process_removed_device(Manager *m, struct udev_device *dev) { -+int swap_process_device_remove(Manager *m, struct udev_device *dev) { - const char *dn; - int r = 0; - Swap *s; -diff --git a/src/core/swap.h b/src/core/swap.h -index c36c6f2..5de8c20 100644 ---- a/src/core/swap.h -+++ b/src/core/swap.h -@@ -115,8 +115,8 @@ struct Swap { - - extern const UnitVTable swap_vtable; - --int swap_process_new_device(Manager *m, struct udev_device *dev); --int swap_process_removed_device(Manager *m, struct udev_device *dev); -+int swap_process_device_new(Manager *m, struct udev_device *dev); -+int swap_process_device_remove(Manager *m, struct udev_device *dev); - - const char* swap_state_to_string(SwapState i) _const_; - SwapState swap_state_from_string(const char *s) _pure_; -diff --git a/src/core/unit.c b/src/core/unit.c -index 63ccd67..7cd7043 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -2834,7 +2834,6 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { - return -ENOMEM; - - r = manager_load_unit(u->manager, e, NULL, NULL, &device); -- - if (r < 0) - return r; - --- -2.1.4 - diff --git a/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch b/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch new file mode 100644 index 00000000..18e76f4f --- /dev/null +++ b/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch @@ -0,0 +1,76 @@ +From 3018d31238caabc2e204aa161e647dc1c1b5d1c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 2 Oct 2014 00:11:36 -0400 +Subject: [PATCH] core/swap: only make configured units part of swap.target + +We used to make all .swap units either RequiredBy=swap.target or +WantedBy=swap.target. But swap.target should be the "configured swap +units", either through /etc/fstab or non-generated .swap units. It +is surprising when systemd starts treating a swap device that was +possibly temporarily enabled as a hard dependency for other units. +So do not add dependencies with swap.target for units gleaned from +/proc/swaps. + +Similarly, we added dependencies for all aliases of the device name, +which clutters up the dependency graph but does not seem to bring any +value, since the status of those following units is consistent with +the main one anyway. + +This should be a fix for [1], and it seems the right thing to do +anyway. + +[1] https://bugzilla.redhat.com/show_bug.cgi?id=1114786 +--- + src/core/swap.c | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +diff --git src/core/swap.c src/core/swap.c +index ef90d0e..b2ca048 100644 +--- src/core/swap.c ++++ src/core/swap.c +@@ -213,7 +213,7 @@ static int swap_add_device_links(Swap *s) { + } + + static int swap_add_default_dependencies(Swap *s) { +- bool nofail = false, noauto = false; ++ bool nofail, noauto; + int r; + + assert(s); +@@ -228,23 +228,25 @@ static int swap_add_default_dependencies(Swap *s) { + if (r < 0) + return r; + +- if (s->from_fragment) { +- SwapParameters *p = &s->parameters_fragment; ++ if (!s->from_fragment) ++ /* The swap unit can either be for an alternative device name, in which ++ * case we don't need to add the dependency on swap.target because this unit ++ * is following a different unit which will have this dependency added, ++ * or it can be derived from /proc/swaps, in which case it was started ++ * manually, and should not become a dependency of swap.target. */ ++ return 0; + +- nofail = p->nofail; +- noauto = p->noauto; +- } ++ nofail = s->parameters_fragment.nofail; ++ noauto = s->parameters_fragment.noauto; + + if (!noauto) { + if (nofail) + r = unit_add_dependency_by_name_inverse(UNIT(s), UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); + else + r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); +- if (r < 0) +- return r; + } + +- return 0; ++ return r < 0 ? r : 0; + } + + static int swap_verify(Swap *s) { +-- +1.7.9.2 + diff --git a/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch b/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch new file mode 100644 index 00000000..06371697 --- /dev/null +++ b/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch @@ -0,0 +1,51 @@ +From 0404c609f399b2092a3de52eef9d75b0dc12e94c Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 12 May 2014 21:26:54 +0200 +Subject: [PATCH] core: sysvcompat - $network should be equivalent to + network-online, rather than network target +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Most likely the facility needed is actual connectivity, rather than whether or not the +network managment daemon is running. + +We also need to explicitly pull in the network-online.target, as it is not active by +default. + +This means {systemd-networkd,NetworkManager}-wait-online.service, can be enabled by default +as part of network-online.target, and only delay boot when some service actively pulls it in. + +See: + +Cc: Pavel Šimerda +Cc: Michal Sekletar +--- + TODO | 4 ---- + src/core/service.c | 8 ++++++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +Modified by Andrey Borzenkov for openSUSE. +Index: systemd-210/src/core/service.c +=================================================================== +--- systemd-210.orig/src/core/service.c ++++ systemd-210/src/core/service.c +@@ -404,7 +404,7 @@ static int sysv_translate_facility(const + static const char * const table[] = { + /* LSB defined facilities */ + "local_fs", NULL, +- "network", SPECIAL_NETWORK_TARGET, ++ "network", SPECIAL_NETWORK_ONLINE_TARGET, + "named", SPECIAL_NSS_LOOKUP_TARGET, + "portmap", SPECIAL_RPCBIND_TARGET, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, +@@ -881,6 +881,9 @@ static int service_load_sysv_path(Servic + if (r == 0) + continue; + ++ if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && d == UNIT_AFTER && e == _UNIT_DEPENDENCY_INVALID) ++ e = UNIT_WANTS; ++ + if (e != _UNIT_DEPENDENCY_INVALID) + r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); + else diff --git a/0001-core-use-correct-format-string-for-UIDs.patch b/0001-core-use-correct-format-string-for-UIDs.patch new file mode 100644 index 00000000..f0906df0 --- /dev/null +++ b/0001-core-use-correct-format-string-for-UIDs.patch @@ -0,0 +1,20 @@ +Based on d6239dc4b0cf55a953d6c40890859b85d504ef19 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= +Date: Wed, 25 Jun 2014 14:54:48 +0200 +Subject: [PATCH] core: use correct format string for UIDs + +--- + src/core/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/main.c ++++ src/core/main.c 2014-06-26 09:29:28.182235325 +0000 +@@ -1526,7 +1526,7 @@ int main(int argc, char *argv[]) { + + } else { + _cleanup_free_ char *t = uid_to_name(getuid()); +- log_debug(PACKAGE_STRING " running in user mode for user "PID_FMT"/%s. (" SYSTEMD_FEATURES ")", ++ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", + getuid(), t); + } + diff --git a/0001-detect-virt-Fix-Xen-domU-discovery.patch b/0001-detect-virt-Fix-Xen-domU-discovery.patch new file mode 100644 index 00000000..8582f560 --- /dev/null +++ b/0001-detect-virt-Fix-Xen-domU-discovery.patch @@ -0,0 +1,33 @@ +From a71516dfd1858f37712ef52a288bf5fb274383e0 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Thu, 17 Jul 2014 11:25:37 +0200 +Subject: [PATCH] detect-virt: Fix Xen domU discovery + +The conditional for detection xen virtualization contained a little mistake. +It is checking for i to be empty: 'if (!i) {', but it must check for cap instead, +because: 'cap = strsep(&i, ",")' will set cap to the discovered value and i to +the next value after the separator. +Hence, i would be empty, if there is only control_d in domcap, leading to a wrong +domU detection. + +https://bugs.freedesktop.org/show_bug.cgi?id=77271 +--- + src/shared/virt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/virt.c src/shared/virt.c +index 774915f..20a8d7c 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -173,7 +173,7 @@ int detect_vm(const char **id) { + if (streq(cap, "control_d")) + break; + +- if (!i) { ++ if (!cap) { + _id = "xen"; + r = 1; + } +-- +1.7.9.2 + diff --git a/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch b/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch new file mode 100644 index 00000000..d087eeb6 --- /dev/null +++ b/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch @@ -0,0 +1,30 @@ +Based on 0d522a7a0547982eae9ab1b5971e4bed9c2fbc7c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 24 Apr 2014 08:11:39 +0200 +Subject: [PATCH] errno: make sure to handle the 3 errnos that are aliases for + others properly + +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- Makefile.am ++++ Makefile.am 2014-05-12 00:00:00.000000000 +0000 +@@ -1078,7 +1078,7 @@ BUILT_SOURCES += \ + + src/shared/errno-list.txt: + $(AM_V_at)$(MKDIR_P) $(dir $@) +- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }' > $@ ++ $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' > $@ + + src/shared/errno-from-name.gperf: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) +@@ -1090,7 +1090,7 @@ src/shared/errno-from-name.h: src/shared + + src/shared/errno-to-name.h: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) +- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ ++ $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + + # ------------------------------------------------------------------------------ + systemd_SOURCES = \ diff --git a/0001-event-pull-in-sd-event.h-from-event-util.h.patch b/0001-event-pull-in-sd-event.h-from-event-util.h.patch new file mode 100644 index 00000000..e9fc98ce --- /dev/null +++ b/0001-event-pull-in-sd-event.h-from-event-util.h.patch @@ -0,0 +1,24 @@ +From 138992534878483de28417dfc61c546bba5cb8ad Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 10 Jul 2014 18:25:08 +0200 +Subject: [PATCH] event: pull in sd-event.h from event-util.h + +--- + src/libsystemd/sd-event/event-util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/libsystemd/sd-event/event-util.h src/libsystemd/sd-event/event-util.h +index e58020d..e7cad9b 100644 +--- src/libsystemd/sd-event/event-util.h ++++ src/libsystemd/sd-event/event-util.h +@@ -22,6 +22,7 @@ + ***/ + + #include "util.h" ++#include "sd-event.h" + + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event*, sd_event_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event_source*, sd_event_source_unref); +-- +1.7.9.2 + diff --git a/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch b/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch new file mode 100644 index 00000000..be9add48 --- /dev/null +++ b/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch @@ -0,0 +1,20 @@ +From 9c4495ca561624c2f0085507dd1288ed5f1247c5 Mon Sep 17 00:00:00 2001 +From: Tomasz Torcz +Date: Wed, 12 Mar 2014 19:25:11 +0100 +Subject: [PATCH] gpt-auto-generator: don't return OOM on parentless devices + +--- + src/gpt-auto-generator/gpt-auto-generator.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/gpt-auto-generator/gpt-auto-generator.c ++++ src/gpt-auto-generator/gpt-auto-generator.c 2014-03-18 13:35:11.438235125 +0000 +@@ -254,7 +254,7 @@ static int enumerate_partitions(struct u + + parent = udev_device_get_parent(d); + if (!parent) +- return log_oom(); ++ return 0; + + r = udev_enumerate_add_match_parent(e, parent); + if (r < 0) diff --git a/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..15de6363 --- /dev/null +++ b/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,29 @@ +From e525326bd07ebf3cabcfd730bc479166723f2d44 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Sun, 2 Mar 2014 10:02:10 -0800 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index db3bc24..0335a71 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -902,3 +902,12 @@ bluetooth:v0129* + + bluetooth:v012A* + ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd ++ ++bluetooth:v012B* ++ ID_VENDOR_FROM_DATABASE=SportIQ ++ ++bluetooth:v012C* ++ ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V. ++ ++bluetooth:v012D* ++ ID_VENDOR_FROM_DATABASE=Sony Corporation +-- +1.7.9.2 + diff --git a/0001-hwdb-fix-case-sensitive-match.patch b/0001-hwdb-fix-case-sensitive-match.patch new file mode 100644 index 00000000..64642714 --- /dev/null +++ b/0001-hwdb-fix-case-sensitive-match.patch @@ -0,0 +1,25 @@ +From 4c02dd7153f970244950b5e00f7bdfea8d2ff0be Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 17:55:14 +0200 +Subject: [PATCH] hwdb: fix case-sensitive match + +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index d053766..c7ff4e4 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -870,7 +870,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* + ########################################################### + + # Plantronics .Audio 626 DSP +-keyboard:usb:v047fpC006* ++keyboard:usb:v047FpC006* + KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute + + ########################################################### +-- +1.7.9.2 + diff --git a/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch b/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch new file mode 100644 index 00000000..d3acf899 --- /dev/null +++ b/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch @@ -0,0 +1,40 @@ +From 77e8ff6974ffaa6c9954e3d2264d9aa75ef25233 Mon Sep 17 00:00:00 2001 +From: Kieran Clancy +Date: Thu, 27 Feb 2014 16:02:57 +1030 +Subject: [PATCH] hwdb: keymaps for Samsung 900X3E/900X3F + +Keymaps for Samsung 900X3E and 900X3F should be the same as for other +models in the series. + +I have also moved the comment for '# Series 9' to the right place +--- + hwdb/60-keyboard.hwdb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index edfa842..bd8fd10 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -897,9 +897,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* + KEYBOARD_KEY_a8=! # Fn Lock - Function lock on + KEYBOARD_KEY_a9=! # Fn Lock - Function lock off + ++# Series 7 / 9 + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* +-keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDG]*:pvr* ++keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a0=!mute # Fn+F6 mute +@@ -909,7 +910,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up + KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer + +-# Series 9 + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr* + KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up + KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down +-- +1.7.9.2 + diff --git a/0001-hwdb-update.patch b/0001-hwdb-update.patch new file mode 100644 index 00000000..f487f680 --- /dev/null +++ b/0001-hwdb-update.patch @@ -0,0 +1,6590 @@ +From 6080625dc833144aca0817d1b9fd23f2fbcdf5c2 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 18 Mar 2014 16:17:51 +0100 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 779 +++++++++++++++++-- + hwdb/20-pci-vendor-model.hwdb | 1671 ++++++++++++++++++++++++++++++++++++----- + hwdb/20-usb-vendor-model.hwdb | 119 ++- + 3 files changed, 2330 insertions(+), 239 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index a51a00a..209b89e 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -13558,6 +13558,9 @@ OUI:40D8551CA* + OUI:40D8551CB* + ID_OUI_FROM_DATABASE=MG S.r.l. + ++OUI:40D8551CC* ++ ID_OUI_FROM_DATABASE=NKT Photonics A/S ++ + OUI:40D8551CD* + ID_OUI_FROM_DATABASE=YXLON International A/S + +@@ -13630,6 +13633,9 @@ OUI:40D8551E3* + OUI:40D8551E4* + ID_OUI_FROM_DATABASE=STEK Ltd + ++OUI:40D85550D* ++ ID_OUI_FROM_DATABASE=Shenzhen MaiWei Cable TV Equipment CO.,LTD. ++ + OUI:40D855EE6* + ID_OUI_FROM_DATABASE=Narinet, Inc. + +@@ -13703,7 +13709,7 @@ OUI:000016* + ID_OUI_FROM_DATABASE=DU PONT PIXEL SYSTEMS . + + OUI:000017* +- ID_OUI_FROM_DATABASE=TEKELEC ++ ID_OUI_FROM_DATABASE=Oracle + + OUI:000018* + ID_OUI_FROM_DATABASE=WEBSTER COMPUTER CORPORATION +@@ -18029,7 +18035,7 @@ OUI:0005BB* + ID_OUI_FROM_DATABASE=Myspace AB + + OUI:0005BC* +- ID_OUI_FROM_DATABASE=Resorsys Ltd. ++ ID_OUI_FROM_DATABASE=Resource Data Management Ltd + + OUI:0005BD* + ID_OUI_FROM_DATABASE=ROAX BV +@@ -18977,7 +18983,7 @@ OUI:0006F7* + ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. + + OUI:0006F8* +- ID_OUI_FROM_DATABASE=CPU Technology, Inc. ++ ID_OUI_FROM_DATABASE=The Boeing Company + + OUI:0006F9* + ID_OUI_FROM_DATABASE=Mitsui Zosen Systems Research Inc. +@@ -19337,7 +19343,7 @@ OUI:00076F* + ID_OUI_FROM_DATABASE=Synoptics Limited + + OUI:000770* +- ID_OUI_FROM_DATABASE=Locusnetworks Corporation ++ ID_OUI_FROM_DATABASE=Ubiquoss Inc + + OUI:000771* + ID_OUI_FROM_DATABASE=Embedded System Corporation +@@ -19616,7 +19622,7 @@ OUI:0007CC* + ID_OUI_FROM_DATABASE=Kaba Benzing GmbH + + OUI:0007CD* +- ID_OUI_FROM_DATABASE=NMTEL Co., Ltd. ++ ID_OUI_FROM_DATABASE=Kumoh Electronic Co, Ltd + + OUI:0007CE* + ID_OUI_FROM_DATABASE=Cabletime Limited +@@ -21584,7 +21590,7 @@ OUI:000A78* + ID_OUI_FROM_DATABASE=OLITEC + + OUI:000A79* +- ID_OUI_FROM_DATABASE=Allied Telesis K.K. corega division ++ ID_OUI_FROM_DATABASE=corega K.K + + OUI:000A7A* + ID_OUI_FROM_DATABASE=Kyoritsu Electric Co., Ltd. +@@ -22643,7 +22649,7 @@ OUI:000BDA* + ID_OUI_FROM_DATABASE=EyeCross Co.,Inc. + + OUI:000BDB* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:000BDC* + ID_OUI_FROM_DATABASE=AKCP +@@ -23774,7 +23780,7 @@ OUI:000D55* + ID_OUI_FROM_DATABASE=SANYCOM Technology Co.,Ltd + + OUI:000D56* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:000D57* + ID_OUI_FROM_DATABASE=Fujitsu I-Network Systems Limited. +@@ -25118,7 +25124,7 @@ OUI:000F1E* + ID_OUI_FROM_DATABASE=Chengdu KT Electric Co.of High & New Technology + + OUI:000F1F* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:000F20* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company +@@ -26435,7 +26441,7 @@ OUI:0010D5* + ID_OUI_FROM_DATABASE=IMASDE CANARIAS, S.A. + + OUI:0010D6* +- ID_OUI_FROM_DATABASE=ITT - A/CD ++ ID_OUI_FROM_DATABASE=Exelis + + OUI:0010D7* + ID_OUI_FROM_DATABASE=ARGOSY RESEARCH INC. +@@ -26762,7 +26768,7 @@ OUI:001142* + ID_OUI_FROM_DATABASE=e-SMARTCOM INC. + + OUI:001143* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001144* + ID_OUI_FROM_DATABASE=Assurance Technology Corp +@@ -27518,7 +27524,7 @@ OUI:00123E* + ID_OUI_FROM_DATABASE=ERUNE technology Co., Ltd. + + OUI:00123F* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001240* + ID_OUI_FROM_DATABASE=AMOI ELECTRONICS CO.,LTD +@@ -28439,7 +28445,7 @@ OUI:001371* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + + OUI:001372* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001373* + ID_OUI_FROM_DATABASE=BLwave Electronics Co., Ltd +@@ -28967,7 +28973,7 @@ OUI:001421* + ID_OUI_FROM_DATABASE=Total Wireless Technologies Pte. Ltd. + + OUI:001422* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001423* + ID_OUI_FROM_DATABASE=J-S Co. NEUROCOM +@@ -30104,7 +30110,7 @@ OUI:00159C* + ID_OUI_FROM_DATABASE=B-KYUNG SYSTEM Co.,Ltd. + + OUI:00159D* +- ID_OUI_FROM_DATABASE=Minicom Advanced Systems ltd ++ ID_OUI_FROM_DATABASE=Tripp Lite + + OUI:00159E* + ID_OUI_FROM_DATABASE=Mad Catz Interactive Inc +@@ -30224,7 +30230,7 @@ OUI:0015C4* + ID_OUI_FROM_DATABASE=FLOVEL CO., LTD. + + OUI:0015C5* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:0015C6* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +@@ -30914,7 +30920,7 @@ OUI:0016AA* + ID_OUI_FROM_DATABASE=Kei Communication Technology Inc. + + OUI:0016AB* +- ID_OUI_FROM_DATABASE=PBI-Dansensor A/S ++ ID_OUI_FROM_DATABASE=Dansensor A/S + + OUI:0016AC* + ID_OUI_FROM_DATABASE=Toho Technology Corp. +@@ -32342,7 +32348,7 @@ OUI:00188A* + ID_OUI_FROM_DATABASE=Infinova LLC + + OUI:00188B* +- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:00188C* + ID_OUI_FROM_DATABASE=Mobile Action Technology Inc. +@@ -35348,7 +35354,7 @@ OUI:001C74* + ID_OUI_FROM_DATABASE=Syswan Technologies Inc. + + OUI:001C75* +- ID_OUI_FROM_DATABASE=RF Systems GmbH ++ ID_OUI_FROM_DATABASE=Segnet Ltd. + + OUI:001C76* + ID_OUI_FROM_DATABASE=The Wandsworth Group Ltd +@@ -35831,7 +35837,7 @@ OUI:001D15* + ID_OUI_FROM_DATABASE=Shenzhen Dolphin Electronic Co., Ltd + + OUI:001D16* +- ID_OUI_FROM_DATABASE=Efixo ++ ID_OUI_FROM_DATABASE=SFR + + OUI:001D17* + ID_OUI_FROM_DATABASE=Digital Sky Corporation +@@ -35957,7 +35963,7 @@ OUI:001D3F* + ID_OUI_FROM_DATABASE=Mitron Pty Ltd + + OUI:001D40* +- ID_OUI_FROM_DATABASE=Living Independently Group, Inc. ++ ID_OUI_FROM_DATABASE=Intel – GE Care Innovations LLC + + OUI:001D41* + ID_OUI_FROM_DATABASE=Hardy Instruments +@@ -35969,7 +35975,7 @@ OUI:001D43* + ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. + + OUI:001D44* +- ID_OUI_FROM_DATABASE=Krohne ++ ID_OUI_FROM_DATABASE=KROHNE + + OUI:001D45* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +@@ -40316,7 +40322,7 @@ OUI:0022EE* + ID_OUI_FROM_DATABASE=Algo Communication Products Ltd + + OUI:0022EF* +- ID_OUI_FROM_DATABASE=Ibis Tek, LLC ++ ID_OUI_FROM_DATABASE=iWDL Technologies + + OUI:0022F0* + ID_OUI_FROM_DATABASE=3 Greens Aviation Limited +@@ -40361,7 +40367,7 @@ OUI:0022FE* + ID_OUI_FROM_DATABASE=Microprocessor Designs Inc + + OUI:0022FF* +- ID_OUI_FROM_DATABASE=NIVIS LLC ++ ID_OUI_FROM_DATABASE=iWDL Technologies + + OUI:002300* + ID_OUI_FROM_DATABASE=Cayee Computer Ltd. +@@ -41258,7 +41264,7 @@ OUI:00242E* + ID_OUI_FROM_DATABASE=Datastrip Inc. + + OUI:00242F* +- ID_OUI_FROM_DATABASE=VirtenSys Inc ++ ID_OUI_FROM_DATABASE=Micron + + OUI:002430* + ID_OUI_FROM_DATABASE=Ruby Tech Corp. +@@ -43028,7 +43034,7 @@ OUI:002686* + ID_OUI_FROM_DATABASE=Quantenna Communcations, Inc. + + OUI:002687* +- ID_OUI_FROM_DATABASE=ALLIED TELESIS, K.K corega division. ++ ID_OUI_FROM_DATABASE=Corega K.K + + OUI:002688* + ID_OUI_FROM_DATABASE=Juniper Networks +@@ -46118,7 +46124,7 @@ OUI:00605F* + ID_OUI_FROM_DATABASE=NIPPON UNISOFT CORPORATION + + OUI:006060* +- ID_OUI_FROM_DATABASE=DAWNING TECHNOLOGIES, INC. ++ ID_OUI_FROM_DATABASE=Data Innovations North America + + OUI:006061* + ID_OUI_FROM_DATABASE=WHISTLE COMMUNICATIONS CORP. +@@ -46621,12 +46627,18 @@ OUI:0070B0* + OUI:0070B3* + ID_OUI_FROM_DATABASE=DATA RECALL LTD. + ++OUI:0071CC* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:00738D* + ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp + + OUI:0073E0* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:007532* ++ ID_OUI_FROM_DATABASE=INID BV ++ + OUI:0075E1* + ID_OUI_FROM_DATABASE=Ampt, LLC + +@@ -48623,7 +48635,7 @@ OUI:00A086* + ID_OUI_FROM_DATABASE=AMBER WAVE SYSTEMS, INC. + + OUI:00A087* +- ID_OUI_FROM_DATABASE=Zarlink Semiconductor Ltd. ++ ID_OUI_FROM_DATABASE=Microsemi Corporation + + OUI:00A088* + ID_OUI_FROM_DATABASE=ESSENTIAL COMMUNICATIONS +@@ -49009,6 +49021,9 @@ OUI:00AA3C* + OUI:00AA70* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:00ACE0* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:00B009* + ID_OUI_FROM_DATABASE=Grass Valley Group + +@@ -51550,6 +51565,9 @@ OUI:00E0FE* + OUI:00E0FF* + ID_OUI_FROM_DATABASE=SECURITY DYNAMICS TECHNOLOGIES, Inc. + ++OUI:00E16D* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:00E175* + ID_OUI_FROM_DATABASE=AK-Systems Ltd + +@@ -51703,6 +51721,9 @@ OUI:0444A1* + OUI:044665* + ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. + ++OUI:04489A* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:044A50* + ID_OUI_FROM_DATABASE=Ramaxel Technology (Shenzhen) limited company + +@@ -51727,6 +51748,9 @@ OUI:045453* + OUI:0455CA* + ID_OUI_FROM_DATABASE=BriView (Xiamen) Corp. + ++OUI:04572F* ++ ID_OUI_FROM_DATABASE=Sertel Electronics UK Ltd ++ + OUI:04586F* + ID_OUI_FROM_DATABASE=Sichuan Whayer information industry Co.,LTD + +@@ -51892,6 +51916,9 @@ OUI:04E548* + OUI:04E662* + ID_OUI_FROM_DATABASE=Acroname Inc. + ++OUI:04E676* ++ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. ++ + OUI:04E9E5* + ID_OUI_FROM_DATABASE=PJRC.COM, LLC + +@@ -52486,6 +52513,9 @@ OUI:085AE0* + OUI:085B0E* + ID_OUI_FROM_DATABASE=Fortinet, Inc. + ++OUI:085DDD* ++ ID_OUI_FROM_DATABASE=Mercury Corporation ++ + OUI:08606E* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + +@@ -52504,6 +52534,9 @@ OUI:086DF2* + OUI:087045* + ID_OUI_FROM_DATABASE=Apple + ++OUI:0874F6* ++ ID_OUI_FROM_DATABASE=Winterhalter Gastronom GmbH ++ + OUI:087572* + ID_OUI_FROM_DATABASE=Obelux Oy + +@@ -52573,6 +52606,9 @@ OUI:08ACA5* + OUI:08AF78* + ID_OUI_FROM_DATABASE=Totus Solutions, Inc. + ++OUI:08B2A3* ++ ID_OUI_FROM_DATABASE=Cynny Italia S.r.L. ++ + OUI:08B4CF* + ID_OUI_FROM_DATABASE=Abicom International + +@@ -52615,6 +52651,9 @@ OUI:08D5C0* + OUI:08D833* + ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co,.Ltd + ++OUI:08DF1F* ++ ID_OUI_FROM_DATABASE=Bose Corporation ++ + OUI:08E5DA* + ID_OUI_FROM_DATABASE=NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD. + +@@ -52687,6 +52726,9 @@ OUI:0C191F* + OUI:0C1DC2* + ID_OUI_FROM_DATABASE=SeAH Networks + ++OUI:0C2026* ++ ID_OUI_FROM_DATABASE=noax Technologies AG ++ + OUI:0C2724* + ID_OUI_FROM_DATABASE=Cisco + +@@ -52756,6 +52798,9 @@ OUI:0C5CD8* + OUI:0C6076* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:0C63FC* ++ ID_OUI_FROM_DATABASE=Nanjing Signway Technology Co., Ltd ++ + OUI:0C6803* + ID_OUI_FROM_DATABASE=Cisco + +@@ -52984,6 +53029,9 @@ OUI:1000FD* + OUI:1001CA* + ID_OUI_FROM_DATABASE=Ashley Butterworth + ++OUI:1005CA* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:10090C* + ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. + +@@ -53008,6 +53056,9 @@ OUI:100E2B* + OUI:100E7E* + ID_OUI_FROM_DATABASE=Juniper networks + ++OUI:100F18* ++ ID_OUI_FROM_DATABASE=Fu Gang Electronic(KunShan)CO.,LTD ++ + OUI:1010B6* + ID_OUI_FROM_DATABASE=McCain Inc + +@@ -53158,6 +53209,9 @@ OUI:1083D2* + OUI:10880F* + ID_OUI_FROM_DATABASE=Daruma Telecomunicações e Informática S.A. + ++OUI:1088CE* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:108CCF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -53317,6 +53371,9 @@ OUI:1423D7* + OUI:142BD2* + ID_OUI_FROM_DATABASE=Armtel Ltd. + ++OUI:142BD6* ++ ID_OUI_FROM_DATABASE=Guangdong Appscomm Co.,Ltd ++ + OUI:142D27* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -53329,6 +53386,9 @@ OUI:142DF5* + OUI:14307A* + ID_OUI_FROM_DATABASE=Avermetrics + ++OUI:1430C6* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:14358B* + ID_OUI_FROM_DATABASE=Mediabridge Products, LLC. + +@@ -53344,6 +53404,9 @@ OUI:14373B* + OUI:143AEA* + ID_OUI_FROM_DATABASE=Dynapower Company LLC + ++OUI:143DF2* ++ ID_OUI_FROM_DATABASE=Beijing Shidai Hongyuan Network Communication Co.,Ltd ++ + OUI:143E60* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + +@@ -53368,6 +53431,9 @@ OUI:144C1A* + OUI:145412* + ID_OUI_FROM_DATABASE=Entis Co., Ltd. + ++OUI:145645* ++ ID_OUI_FROM_DATABASE=Savitech Corp. ++ + OUI:145A05* + ID_OUI_FROM_DATABASE=Apple + +@@ -53440,6 +53506,9 @@ OUI:14B126* + OUI:14B1C8* + ID_OUI_FROM_DATABASE=InfiniWing, Inc. + ++OUI:14B484* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:14B73D* + ID_OUI_FROM_DATABASE=ARCHEAN Technologies + +@@ -53489,7 +53558,7 @@ OUI:14EB33* + ID_OUI_FROM_DATABASE=BSMediasoft Co., Ltd. + + OUI:14EDA5* +- ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme ++ ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme + + OUI:14EE9D* + ID_OUI_FROM_DATABASE=AirNav Systems LLC +@@ -53572,6 +53641,9 @@ OUI:182032* + OUI:1820A6* + ID_OUI_FROM_DATABASE=Sage Co., Ltd. + ++OUI:18227E* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:182666* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53726,7 +53798,7 @@ OUI:18A905* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + + OUI:18A99B* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:18AA45* + ID_OUI_FROM_DATABASE=Fon Technology +@@ -53779,6 +53851,9 @@ OUI:18CC23* + OUI:18D071* + ID_OUI_FROM_DATABASE=DASAN SMC, Inc. + ++OUI:18D5B6* ++ ID_OUI_FROM_DATABASE=SMG Holdings LLC ++ + OUI:18D66A* + ID_OUI_FROM_DATABASE=Inmarsat + +@@ -53824,6 +53899,9 @@ OUI:18F87A* + OUI:18FA6F* + ID_OUI_FROM_DATABASE=ISC applied systems corp + ++OUI:18FB7B* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:18FC9F* + ID_OUI_FROM_DATABASE=Changhe Electronics Co., Ltd. + +@@ -53863,9 +53941,15 @@ OUI:1C184A* + OUI:1C19DE* + ID_OUI_FROM_DATABASE=eyevis GmbH + ++OUI:1C1AC0* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:1C1B68* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:1C1CFD* ++ ID_OUI_FROM_DATABASE=Dalian Hi-Think Computer Technology, Corp ++ + OUI:1C1D67* + ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd + +@@ -54157,6 +54241,9 @@ OUI:201D03* + OUI:2021A5* + ID_OUI_FROM_DATABASE=LG Electronics Inc + ++OUI:202564* ++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION ++ + OUI:202598* + ID_OUI_FROM_DATABASE=Teleview + +@@ -54202,6 +54289,9 @@ OUI:204E6B* + OUI:204E7F* + ID_OUI_FROM_DATABASE=NETGEAR + ++OUI:2053CA* ++ ID_OUI_FROM_DATABASE=Risk Technology Ltd ++ + OUI:205476* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + +@@ -54211,6 +54301,9 @@ OUI:205721* + OUI:2059A0* + ID_OUI_FROM_DATABASE=Paragon Technologies Inc. + ++OUI:205A00* ++ ID_OUI_FROM_DATABASE=Coval ++ + OUI:205B5E* + ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd + +@@ -54265,12 +54358,18 @@ OUI:20918A* + OUI:2091D9* + ID_OUI_FROM_DATABASE=I'M SPA + ++OUI:209AE9* ++ ID_OUI_FROM_DATABASE=Volacomm Co., Ltd ++ + OUI:209BA5* + ID_OUI_FROM_DATABASE=JIAXING GLEAD Electronics Co.,Ltd + + OUI:20A2E7* + ID_OUI_FROM_DATABASE=Lee-Dickens Ltd + ++OUI:20A787* ++ ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited ++ + OUI:20AA25* + ID_OUI_FROM_DATABASE=IP-NET LLC + +@@ -54394,6 +54493,9 @@ OUI:24050F* + OUI:240917* + ID_OUI_FROM_DATABASE=Devlin Electronics Limited + ++OUI:240A11* ++ ID_OUI_FROM_DATABASE=TCT Mobile Limited ++ + OUI:240A64* + ID_OUI_FROM_DATABASE=AzureWaveTechnologies,Inc + +@@ -54691,9 +54793,15 @@ OUI:282CB2* + OUI:283152* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:2832C5* ++ ID_OUI_FROM_DATABASE=Humax.co.,ltd ++ + OUI:283410* + ID_OUI_FROM_DATABASE=Enigma Diagnostics Limited + ++OUI:2834A2* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:283737* + ID_OUI_FROM_DATABASE=Apple + +@@ -54778,6 +54886,9 @@ OUI:2872F0* + OUI:287994* + ID_OUI_FROM_DATABASE=Realplay Digital Technology(Shenzhen) Co.,Ltd + ++OUI:288023* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:28852D* + ID_OUI_FROM_DATABASE=Touch Networks + +@@ -55024,6 +55135,9 @@ OUI:2C3731* + OUI:2C3996* + ID_OUI_FROM_DATABASE=SAGEMCOM + ++OUI:2C39C1* ++ ID_OUI_FROM_DATABASE=Ciena Corporation ++ + OUI:2C3A28* + ID_OUI_FROM_DATABASE=Fagor Electrónica + +@@ -55069,6 +55183,9 @@ OUI:2C5A05* + OUI:2C5AA3* + ID_OUI_FROM_DATABASE=PROMATE ELECTRONIC CO.LTD + ++OUI:2C5BE1* ++ ID_OUI_FROM_DATABASE=Centripetal Networks, Inc ++ + OUI:2C5D93* + ID_OUI_FROM_DATABASE=Ruckus Wireless + +@@ -55117,6 +55234,9 @@ OUI:2C8065* + OUI:2C8158* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd + ++OUI:2C8A72* ++ ID_OUI_FROM_DATABASE=HTC Corporation ++ + OUI:2C8BF2* + ID_OUI_FROM_DATABASE=Hitachi Metals America Ltd + +@@ -55135,6 +55255,9 @@ OUI:2C957F* + OUI:2C9717* + ID_OUI_FROM_DATABASE=I.C.Y. B.V. + ++OUI:2C9AA4* ++ ID_OUI_FROM_DATABASE=NGI SpA ++ + OUI:2C9E5F* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -55327,6 +55450,9 @@ OUI:3055ED* + OUI:3057AC* + ID_OUI_FROM_DATABASE=IRLAB LTD. + ++OUI:3059B7* ++ ID_OUI_FROM_DATABASE=Microsoft ++ + OUI:305D38* + ID_OUI_FROM_DATABASE=Beissbarth + +@@ -55387,6 +55513,9 @@ OUI:308CFB* + OUI:3090AB* + ID_OUI_FROM_DATABASE=Apple + ++OUI:30918F* ++ ID_OUI_FROM_DATABASE=Technicolor ++ + OUI:3092F6* + ID_OUI_FROM_DATABASE=SHANGHAI SUNMON COMMUNICATION TECHNOGY CO.,LTD + +@@ -55417,12 +55546,18 @@ OUI:30B5C2* + OUI:30C750* + ID_OUI_FROM_DATABASE=MIC Technology Group + ++OUI:30C7AE* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:30C82A* + ID_OUI_FROM_DATABASE=Wi-Next s.r.l. + + OUI:30CDA7* + ID_OUI_FROM_DATABASE=Samsung Electronics ITS, Printer division + ++OUI:30D17E* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:30D357* + ID_OUI_FROM_DATABASE=Logosol, Inc. + +@@ -55462,6 +55597,9 @@ OUI:30F70D* + OUI:30F7C5* + ID_OUI_FROM_DATABASE=Apple + ++OUI:30F7D7* ++ ID_OUI_FROM_DATABASE=Thread Technology Co., Ltd ++ + OUI:30F9ED* + ID_OUI_FROM_DATABASE=Sony Corporation + +@@ -55474,6 +55612,9 @@ OUI:3407FB* + OUI:340804* + ID_OUI_FROM_DATABASE=D-Link Corporation + ++OUI:340AFF* ++ ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd ++ + OUI:3413A8* + ID_OUI_FROM_DATABASE=Mediplan Limited + +@@ -55484,7 +55625,7 @@ OUI:34159E* + ID_OUI_FROM_DATABASE=Apple + + OUI:3417EB* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:341A4C* + ID_OUI_FROM_DATABASE=SHENZHEN WEIBU ELECTRONICS CO.,LTD. +@@ -55534,6 +55675,9 @@ OUI:344F5C* + OUI:344F69* + ID_OUI_FROM_DATABASE=EKINOPS SAS + ++OUI:3451AA* ++ ID_OUI_FROM_DATABASE=JID GLOBAL ++ + OUI:3451C9* + ID_OUI_FROM_DATABASE=Apple + +@@ -55543,6 +55687,9 @@ OUI:345B11* + OUI:345C40* + ID_OUI_FROM_DATABASE=Cargt Holdings LLC + ++OUI:345D10* ++ ID_OUI_FROM_DATABASE=Wytek ++ + OUI:346178* + ID_OUI_FROM_DATABASE=The Boeing Company + +@@ -55573,6 +55720,9 @@ OUI:347E39* + OUI:348137* + ID_OUI_FROM_DATABASE=UNICARD SA + ++OUI:3481C4* ++ ID_OUI_FROM_DATABASE=AVM GmbH ++ + OUI:3482DE* + ID_OUI_FROM_DATABASE=Kayo Technology, Inc. + +@@ -55741,6 +55891,9 @@ OUI:34E0D7* + OUI:34E2FD* + ID_OUI_FROM_DATABASE=Apple + ++OUI:34E42A* ++ ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. ++ + OUI:34EF44* + ID_OUI_FROM_DATABASE=2Wire + +@@ -55933,6 +56086,9 @@ OUI:38B74D* + OUI:38BB23* + ID_OUI_FROM_DATABASE=OzVision America LLC + ++OUI:38BB3C* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:38BC1A* + ID_OUI_FROM_DATABASE=Meizu technology co.,ltd + +@@ -56224,6 +56380,9 @@ OUI:3CA72B* + OUI:3CA9F4* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:3CAB8E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:3CB15B* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -56311,6 +56470,9 @@ OUI:3CF72A* + OUI:3CF748* + ID_OUI_FROM_DATABASE=Shenzhen Linsn Technology Development Co.,Ltd + ++OUI:3CF808* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:3CFB96* + ID_OUI_FROM_DATABASE=Emcraft Systems LLC + +@@ -56341,6 +56503,9 @@ OUI:4013D9* + OUI:401597* + ID_OUI_FROM_DATABASE=Protect America, Inc. + ++OUI:40167E* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:40169F* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. + +@@ -56392,6 +56557,9 @@ OUI:404022* + OUI:40406B* + ID_OUI_FROM_DATABASE=Icomera + ++OUI:4045DA* ++ ID_OUI_FROM_DATABASE=Spreadtrum Communications (Shanghai) Co., Ltd. ++ + OUI:404A03* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + +@@ -56527,6 +56695,9 @@ OUI:40B2C8* + OUI:40B395* + ID_OUI_FROM_DATABASE=Apple + ++OUI:40B3CD* ++ ID_OUI_FROM_DATABASE=Chiyoda Electronics Co.,Ltd. ++ + OUI:40B3FC* + ID_OUI_FROM_DATABASE=Logital Co. Limited + +@@ -56596,6 +56767,9 @@ OUI:40F02F* + OUI:40F14C* + ID_OUI_FROM_DATABASE=ISE Europe SPRL + ++OUI:40F201* ++ ID_OUI_FROM_DATABASE=SAGEMCOM ++ + OUI:40F2E9* + ID_OUI_FROM_DATABASE=IBM + +@@ -56632,6 +56806,9 @@ OUI:44184F* + OUI:4419B6* + ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. + ++OUI:441E91* ++ ID_OUI_FROM_DATABASE=ARVIDA Intelligent Electronics Technology Co.,Ltd. ++ + OUI:441EA1* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -56776,6 +56953,9 @@ OUI:448312* + OUI:448500* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:4486C1* ++ ID_OUI_FROM_DATABASE=Siemens Low Voltage & Products ++ + OUI:4487FC* + ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. + +@@ -56860,6 +57040,9 @@ OUI:44D2CA* + OUI:44D3CA* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:44D4E0* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:44D63D* + ID_OUI_FROM_DATABASE=Talari Networks + +@@ -56920,6 +57103,9 @@ OUI:48174C* + OUI:481842* + ID_OUI_FROM_DATABASE=Shanghai Winaas Co. Equipment Co. Ltd. + ++OUI:481A84* ++ ID_OUI_FROM_DATABASE=Pointer Telocation Ltd ++ + OUI:481BD2* + ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. + +@@ -56950,9 +57136,15 @@ OUI:4846F1* + OUI:4846FB* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:4851B7* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:485261* + ID_OUI_FROM_DATABASE=SOREEL + ++OUI:485929* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:485A3F* + ID_OUI_FROM_DATABASE=WISOL + +@@ -56971,6 +57163,9 @@ OUI:4860BC* + OUI:4861A3* + ID_OUI_FROM_DATABASE=Concern "Axion" JSC + ++OUI:486276* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:486B91* + ID_OUI_FROM_DATABASE=Fleetwood Group Inc. + +@@ -56986,6 +57181,9 @@ OUI:487119* + OUI:48746E* + ID_OUI_FROM_DATABASE=Apple + ++OUI:488244* ++ ID_OUI_FROM_DATABASE=Life Fitness / Div. of Brunswick ++ + OUI:488E42* + ID_OUI_FROM_DATABASE=DIGALOG GmbH + +@@ -57046,15 +57244,24 @@ OUI:48CB6E* + OUI:48D0CF* + ID_OUI_FROM_DATABASE=Universal Electronics, Inc. + ++OUI:48D18E* ++ ID_OUI_FROM_DATABASE=Metis Communication Co.,Ltd ++ + OUI:48D224* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + + OUI:48D54C* + ID_OUI_FROM_DATABASE=Jeda Networks + ++OUI:48D705* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:48D7FF* + ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH + ++OUI:48D855* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY ++ + OUI:48D8FE* + ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. + +@@ -57136,6 +57343,9 @@ OUI:4C0F6E* + OUI:4C0FC7* + ID_OUI_FROM_DATABASE=Earda Electronics Co.,Ltd + ++OUI:4C11BF* ++ ID_OUI_FROM_DATABASE=ZHEJIANG DAHUA TECHNOLOGY CO.,LTD. ++ + OUI:4C1480* + ID_OUI_FROM_DATABASE=NOREGON SYSTEMS, INC + +@@ -57178,6 +57388,9 @@ OUI:4C322D* + OUI:4C32D9* + ID_OUI_FROM_DATABASE=M Rutty Holdings Pty. Ltd. + ++OUI:4C3909* ++ ID_OUI_FROM_DATABASE=HPL Electric & Power Private Limited ++ + OUI:4C3910* + ID_OUI_FROM_DATABASE=Newtek Electronics co., Ltd. + +@@ -57478,9 +57691,15 @@ OUI:505663* + OUI:5056A8* + ID_OUI_FROM_DATABASE=Jolla Ltd + ++OUI:5056BF* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD ++ + OUI:5057A8* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:505800* ++ ID_OUI_FROM_DATABASE=WyTec International, Inc. ++ + OUI:505AC6* + ID_OUI_FROM_DATABASE=GUANGDONG SUPER TELECOM CO.,LTD. + +@@ -57601,6 +57820,9 @@ OUI:50C271* + OUI:50C58D* + ID_OUI_FROM_DATABASE=Juniper Networks + ++OUI:50C7BF* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:50C971* + ID_OUI_FROM_DATABASE=GN Netcom A/S + +@@ -57706,6 +57928,9 @@ OUI:54271E* + OUI:542A9C* + ID_OUI_FROM_DATABASE=LSY Defense, LLC. + ++OUI:542AA2* ++ ID_OUI_FROM_DATABASE=Alpha Networks Inc. ++ + OUI:542CEA* + ID_OUI_FROM_DATABASE=PROTECTRON + +@@ -57739,9 +57964,15 @@ OUI:544408* + OUI:54466B* + ID_OUI_FROM_DATABASE=Shenzhen CZTIC Electronic Technology Co., Ltd + ++OUI:544A00* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:544A05* + ID_OUI_FROM_DATABASE=wenglor sensoric gmbh + ++OUI:544A16* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:5453ED* + ID_OUI_FROM_DATABASE=Sony Corporation + +@@ -57844,6 +58075,9 @@ OUI:54B620* + OUI:54BEF7* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + ++OUI:54C80F* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:54CDA7* + ID_OUI_FROM_DATABASE=Fujian Shenzhou Electronic Co.,Ltd + +@@ -57886,6 +58120,12 @@ OUI:54E6FC* + OUI:54EAA8* + ID_OUI_FROM_DATABASE=Apple, Inc. + ++OUI:54EE75* ++ ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. ++ ++OUI:54EF92* ++ ID_OUI_FROM_DATABASE=Shenzhen Elink Technology Co., LTD ++ + OUI:54F5B6* + ID_OUI_FROM_DATABASE=ORIENTAL PACIFIC INTERNATIONAL LIMITED + +@@ -57928,12 +58168,18 @@ OUI:581CBD* + OUI:581D91* + ID_OUI_FROM_DATABASE=Advanced Mobile Telecom co.,ltd. + ++OUI:581F67* ++ ID_OUI_FROM_DATABASE=Open-m technology limited ++ + OUI:581FAA* + ID_OUI_FROM_DATABASE=Apple + + OUI:581FEF* + ID_OUI_FROM_DATABASE=Tuttnaer LTD + ++OUI:58238C* ++ ID_OUI_FROM_DATABASE=Technicolor CH USA ++ + OUI:582EFE* + ID_OUI_FROM_DATABASE=Lighting Science Group + +@@ -58123,6 +58369,9 @@ OUI:58DB8D* + OUI:58E02C* + ID_OUI_FROM_DATABASE=Micro Technic A/S + ++OUI:58E326* ++ ID_OUI_FROM_DATABASE=Compass Technologies Inc. ++ + OUI:58E476* + ID_OUI_FROM_DATABASE=CENTRON COMMUNICATIONS TECHNOLOGIES FUJIAN CO.,LTD + +@@ -58213,6 +58462,9 @@ OUI:5C260A* + OUI:5C2AEF* + ID_OUI_FROM_DATABASE=Open Access Pty Ltd + ++OUI:5C313E* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:5C3327* + ID_OUI_FROM_DATABASE=Spazio Italia srl + +@@ -58411,6 +58663,9 @@ OUI:5CF370* + OUI:5CF3FC* + ID_OUI_FROM_DATABASE=IBM Corp + ++OUI:5CF4AB* ++ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp ++ + OUI:5CF50D* + ID_OUI_FROM_DATABASE=Institute of microelectronic applications + +@@ -58561,6 +58816,9 @@ OUI:60748D* + OUI:607688* + ID_OUI_FROM_DATABASE=Velodyne + ++OUI:60812B* ++ ID_OUI_FROM_DATABASE=Custom Control Concepts ++ + OUI:6083B2* + ID_OUI_FROM_DATABASE=GkWare e.K. + +@@ -58585,9 +58843,15 @@ OUI:608C2B* + OUI:608D17* + ID_OUI_FROM_DATABASE=Sentrus Government Systems Division, Inc + ++OUI:608F5C* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:609084* + ID_OUI_FROM_DATABASE=DSSD Inc + ++OUI:609217* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:609AA4* + ID_OUI_FROM_DATABASE=GVI SECURITY INC. + +@@ -58615,6 +58879,9 @@ OUI:60B3C4* + OUI:60B606* + ID_OUI_FROM_DATABASE=Phorus + ++OUI:60B617* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:60B933* + ID_OUI_FROM_DATABASE=Deutron Electronics Corp. + +@@ -58633,6 +58900,9 @@ OUI:60BD91* + OUI:60BEB5* + ID_OUI_FROM_DATABASE=Motorola Mobility LLC + ++OUI:60C1CB* ++ ID_OUI_FROM_DATABASE=Fujian Great Power PLC Equipment Co.,Ltd ++ + OUI:60C397* + ID_OUI_FROM_DATABASE=2Wire Inc + +@@ -58681,6 +58951,9 @@ OUI:60DE44* + OUI:60E00E* + ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD + ++OUI:60E327* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:60E956* + ID_OUI_FROM_DATABASE=Ayla Networks, Inc + +@@ -58753,6 +59026,9 @@ OUI:640F28* + OUI:641084* + ID_OUI_FROM_DATABASE=HEXIUM Technical Development Co., Ltd. + ++OUI:641225* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:64168D* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -58966,6 +59242,9 @@ OUI:64A3CB* + OUI:64A769* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:64A7DD* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:64A837* + ID_OUI_FROM_DATABASE=Juni Korea Co., Ltd + +@@ -59062,6 +59341,9 @@ OUI:64E8E6* + OUI:64E950* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:64EAC5* ++ ID_OUI_FROM_DATABASE=SiboTech Automation Co., Ltd. ++ + OUI:64EB8C* + ID_OUI_FROM_DATABASE=Seiko Epson Corporation + +@@ -59131,6 +59413,9 @@ OUI:681FD8* + OUI:68234B* + ID_OUI_FROM_DATABASE=Nihon Dengyo Kousaku + ++OUI:6828BA* ++ ID_OUI_FROM_DATABASE=Dejai ++ + OUI:682DDC* + ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD + +@@ -59188,6 +59473,9 @@ OUI:6869F2* + OUI:686E23* + ID_OUI_FROM_DATABASE=Wi3 Inc. + ++OUI:686E48* ++ ID_OUI_FROM_DATABASE=Prophet Electronic Technology Corp.,Ltd ++ + OUI:687251* + ID_OUI_FROM_DATABASE=Ubiquiti Networks + +@@ -59332,6 +59620,9 @@ OUI:68DB96* + OUI:68DCE8* + ID_OUI_FROM_DATABASE=PacketStorm Communications + ++OUI:68DFDD* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:68E41F* + ID_OUI_FROM_DATABASE=Unglaube Identech GmbH + +@@ -59377,12 +59668,18 @@ OUI:6C0E0D* + OUI:6C0F6A* + ID_OUI_FROM_DATABASE=JDC Tech Co., Ltd. + ++OUI:6C14F7* ++ ID_OUI_FROM_DATABASE=Erhardt+Leimer GmbH ++ + OUI:6C15F9* + ID_OUI_FROM_DATABASE=Nautronix Limited + + OUI:6C1811* + ID_OUI_FROM_DATABASE=Decatur Electronics + ++OUI:6C198F* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:6C2056* + ID_OUI_FROM_DATABASE=Cisco + +@@ -59395,6 +59692,9 @@ OUI:6C23B9* + OUI:6C2995* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:6C2C06* ++ ID_OUI_FROM_DATABASE=OOO NPP Systemotechnika-NN ++ + OUI:6C2E33* + ID_OUI_FROM_DATABASE=Accelink Technologies Co.,Ltd. + +@@ -59539,6 +59839,9 @@ OUI:6CA906* + OUI:6CA96F* + ID_OUI_FROM_DATABASE=TransPacket AS + ++OUI:6CAAB3* ++ ID_OUI_FROM_DATABASE=Ruckus Wireless ++ + OUI:6CAB4D* + ID_OUI_FROM_DATABASE=Digital Payment Technologies + +@@ -59608,6 +59911,9 @@ OUI:6CE983* + OUI:6CECA1* + ID_OUI_FROM_DATABASE=SHENZHEN CLOU ELECTRONICS CO. LTD. + ++OUI:6CECEB* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:6CF049* + ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. + +@@ -59623,6 +59929,9 @@ OUI:6CF97C* + OUI:6CFA58* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:6CFAA7* ++ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. ++ + OUI:6CFDB9* + ID_OUI_FROM_DATABASE=Proware Technologies Co Ltd. + +@@ -59686,6 +59995,9 @@ OUI:702F97* + OUI:703018* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:70305D* ++ ID_OUI_FROM_DATABASE=Ubiquoss Inc ++ + OUI:70305E* + ID_OUI_FROM_DATABASE=Nanjing Zhongke Menglian Information Technology Co.,LTD + +@@ -59767,6 +60079,9 @@ OUI:7060DE* + OUI:706173* + ID_OUI_FROM_DATABASE=Calantec GmbH + ++OUI:7062B8* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:706417* + ID_OUI_FROM_DATABASE=ORBIS TECNOLOGIA ELECTRICA S.A. + +@@ -59881,6 +60196,9 @@ OUI:70B14E* + OUI:70B265* + ID_OUI_FROM_DATABASE=Hiltron s.r.l. + ++OUI:70B3D5* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see OUI36 public listing for more information. ++ + OUI:70B599* + ID_OUI_FROM_DATABASE=Embedded Technologies s.r.o. + +@@ -59950,6 +60268,9 @@ OUI:70F395* + OUI:70F927* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:70F96D* ++ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited ++ + OUI:70FF76* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -59965,12 +60286,18 @@ OUI:741489* + OUI:7415E2* + ID_OUI_FROM_DATABASE=Tri-Sen Systems Corporation + ++OUI:7419F8* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:741E93* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + + OUI:74258A* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:7426AC* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:74273C* + ID_OUI_FROM_DATABASE=ChangYang Technology (Nanjing) Co., LTD + +@@ -60077,7 +60404,7 @@ OUI:747E2D* + ID_OUI_FROM_DATABASE=Beijing Thomson CITIC Digital Technology Co. LTD. + + OUI:74867A* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:74882A* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD +@@ -60172,6 +60499,9 @@ OUI:74D675* + OUI:74D850* + ID_OUI_FROM_DATABASE=Evrisko Systems + ++OUI:74DA38* ++ ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. ++ + OUI:74DE2B* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -60292,6 +60622,9 @@ OUI:7831C1* + OUI:78324F* + ID_OUI_FROM_DATABASE=Millennium Group, Inc. + ++OUI:783A84* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:783CE3* + ID_OUI_FROM_DATABASE=Kai-EE + +@@ -60319,6 +60652,9 @@ OUI:7846C4* + OUI:78471D* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:784859* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:78491D* + ID_OUI_FROM_DATABASE=The Will-Burt Company + +@@ -60391,6 +60727,9 @@ OUI:788C54* + OUI:788DF7* + ID_OUI_FROM_DATABASE=Hitron Technologies. Inc + ++OUI:78923E* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:78929C* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -60523,6 +60862,9 @@ OUI:78D38D* + OUI:78D5B5* + ID_OUI_FROM_DATABASE=NAVIELEKTRO KY + ++OUI:78D66F* ++ ID_OUI_FROM_DATABASE=Aristocrat Technologies Australia Pty. Ltd. ++ + OUI:78D6F0* + ID_OUI_FROM_DATABASE=Samsung Electro Mechanics + +@@ -60736,6 +61078,9 @@ OUI:7C6C8F* + OUI:7C6D62* + ID_OUI_FROM_DATABASE=Apple + ++OUI:7C6DF8* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:7C6F06* + ID_OUI_FROM_DATABASE=Caterpillar Trimble Control Technologies + +@@ -60856,6 +61201,9 @@ OUI:7CCFCF* + OUI:7CD1C3* + ID_OUI_FROM_DATABASE=Apple + ++OUI:7CD30A* ++ ID_OUI_FROM_DATABASE=INVENTEC Corporation ++ + OUI:7CD762* + ID_OUI_FROM_DATABASE=Freestyle Technology Pty Ltd + +@@ -60919,6 +61267,9 @@ OUI:7CFADF* + OUI:7CFE28* + ID_OUI_FROM_DATABASE=Salutron Inc. + ++OUI:7CFE4E* ++ ID_OUI_FROM_DATABASE=Shenzhen Safe vision Technology Co.,LTD ++ + OUI:7CFF62* + ID_OUI_FROM_DATABASE=Huizhou Super Electron Technology Co.,Ltd. + +@@ -60940,9 +61291,15 @@ OUI:8007A2* + OUI:800A06* + ID_OUI_FROM_DATABASE=COMTEC co.,ltd + ++OUI:800E24* ++ ID_OUI_FROM_DATABASE=ForgetBox ++ + OUI:801440* + ID_OUI_FROM_DATABASE=Sunlit System Technology Corp + ++OUI:8014A8* ++ ID_OUI_FROM_DATABASE=Guangzhou V-SOLUTION Electronic Technology Co., Ltd. ++ + OUI:8016B7* + ID_OUI_FROM_DATABASE=Brunel University + +@@ -60952,6 +61309,9 @@ OUI:80177D* + OUI:8018A7* + ID_OUI_FROM_DATABASE=Samsung Eletronics Co., Ltd + ++OUI:801934* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:801DAA* + ID_OUI_FROM_DATABASE=Avaya Inc + +@@ -60994,6 +61354,9 @@ OUI:803F5D* + OUI:803FD6* + ID_OUI_FROM_DATABASE=bytes at work AG + ++OUI:80414E* ++ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., ++ + OUI:80427C* + ID_OUI_FROM_DATABASE=Adolf Tedsen GmbH & Co. KG + +@@ -61279,6 +61642,9 @@ OUI:843611* + OUI:843835* + ID_OUI_FROM_DATABASE=Apple + ++OUI:843838* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ + OUI:843A4B* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -61360,6 +61726,9 @@ OUI:848506* + OUI:848D84* + ID_OUI_FROM_DATABASE=Rajant Corporation + ++OUI:848DC7* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:848E0C* + ID_OUI_FROM_DATABASE=Apple + +@@ -61372,6 +61741,12 @@ OUI:848F69* + OUI:849000* + ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik + ++OUI:84948C* ++ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc ++ ++OUI:8496D8* ++ ID_OUI_FROM_DATABASE=Pace plc ++ + OUI:8497B8* + ID_OUI_FROM_DATABASE=Memjet Inc. + +@@ -61399,6 +61774,9 @@ OUI:84ACA4* + OUI:84AF1F* + ID_OUI_FROM_DATABASE=Beat System Service Co,. Ltd. + ++OUI:84B153* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:84B59C* + ID_OUI_FROM_DATABASE=Juniper networks + +@@ -61468,6 +61846,9 @@ OUI:880355* + OUI:880905* + ID_OUI_FROM_DATABASE=MTMCommunications + ++OUI:880F10* ++ ID_OUI_FROM_DATABASE=Huami Information Technology Co.,Ltd. ++ + OUI:880FB6* + ID_OUI_FROM_DATABASE=Jabil Circuits India Pvt Ltd,-EHTP unit + +@@ -61558,7 +61939,10 @@ OUI:88576D* + OUI:885A92* + ID_OUI_FROM_DATABASE=Cisco + +-OUI:885C4F* ++OUI:885BDD* ++ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. ++ ++OUI:885C47* + ID_OUI_FROM_DATABASE=Alcatel Lucent + + OUI:88615A* +@@ -61654,6 +62038,9 @@ OUI:88AE1D* + OUI:88B168* + ID_OUI_FROM_DATABASE=Delta Control GmbH + ++OUI:88B1E1* ++ ID_OUI_FROM_DATABASE=AirTight Networks, Inc. ++ + OUI:88B627* + ID_OUI_FROM_DATABASE=Gembird Europe BV + +@@ -62107,6 +62494,9 @@ OUI:9046B7* + OUI:904716* + ID_OUI_FROM_DATABASE=RORZE CORPORATION + ++OUI:90489A* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:9049FA* + ID_OUI_FROM_DATABASE=Intel Corporation + +@@ -62179,6 +62569,9 @@ OUI:907A28* + OUI:907AF1* + ID_OUI_FROM_DATABASE=SNUPI Technologies + ++OUI:907EBA* ++ ID_OUI_FROM_DATABASE=UTEK TECHNOLOGY (SHENZHEN) CO.,LTD ++ + OUI:907F61* + ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. + +@@ -62197,12 +62590,12 @@ OUI:9088A2* + OUI:908C44* + ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. + ++OUI:908C63* ++ ID_OUI_FROM_DATABASE=GZ Weedong Networks Technology Co. , Ltd ++ + OUI:908D1D* + ID_OUI_FROM_DATABASE=GH Technologies + +-OUI:908F93* +- ID_OUI_FROM_DATABASE=MakerBot Industries +- + OUI:908FCF* + ID_OUI_FROM_DATABASE=UNO System Co., Ltd + +@@ -62245,6 +62638,9 @@ OUI:90A7C1* + OUI:90AC3F* + ID_OUI_FROM_DATABASE=BrightSign LLC + ++OUI:90AE1B* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:90B11C* + ID_OUI_FROM_DATABASE=Dell Inc. + +@@ -62303,7 +62699,7 @@ OUI:90DFB7* + ID_OUI_FROM_DATABASE=s.m.s smart microwave sensors GmbH + + OUI:90E0F0* +- ID_OUI_FROM_DATABASE=Harman International ++ ID_OUI_FROM_DATABASE=IEEE 1722a Working Group + + OUI:90E2BA* + ID_OUI_FROM_DATABASE=Intel Corporate +@@ -62683,6 +63079,9 @@ OUI:983571* + OUI:9835B8* + ID_OUI_FROM_DATABASE=Assembled Products Corporation + ++OUI:983713* ++ ID_OUI_FROM_DATABASE=PT.Navicom Indonesia ++ + OUI:983B16* + ID_OUI_FROM_DATABASE=AMPAK Technology Inc + +@@ -62746,6 +63145,9 @@ OUI:986022* + OUI:9866EA* + ID_OUI_FROM_DATABASE=Industrial Control Communications, Inc. + ++OUI:986B3D* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:986CF5* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -62812,6 +63214,9 @@ OUI:98BC57* + OUI:98BC99* + ID_OUI_FROM_DATABASE=Edeltech Co.,Ltd. + ++OUI:98BE94* ++ ID_OUI_FROM_DATABASE=IBM ++ + OUI:98C0EB* + ID_OUI_FROM_DATABASE=Global Regency Ltd + +@@ -62929,6 +63334,9 @@ OUI:9C2840* + OUI:9C28BF* + ID_OUI_FROM_DATABASE=Continental Automotive Czech Republic s.r.o. + ++OUI:9C28EF* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:9C2A70* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -63184,6 +63592,9 @@ OUI:9CFBF1* + OUI:9CFFBE* + ID_OUI_FROM_DATABASE=OTSL Inc. + ++OUI:A002DC* ++ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. ++ + OUI:A00363* + ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH + +@@ -63205,6 +63616,9 @@ OUI:A00CA1* + OUI:A01290* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:A012DB* ++ ID_OUI_FROM_DATABASE=TABUCHI ELECTRIC CO.,LTD ++ + OUI:A0133B* + ID_OUI_FROM_DATABASE=Copyright © HiTi Digital, Inc. + +@@ -63235,6 +63649,9 @@ OUI:A021B7* + OUI:A0231B* + ID_OUI_FROM_DATABASE=TeleComp R&D Corp. + ++OUI:A02BB8* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:A02EF3* + ID_OUI_FROM_DATABASE=United Integrated Services Co., Led. + +@@ -63439,6 +63856,9 @@ OUI:A0D12A* + OUI:A0D3C1* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A0DA92* ++ ID_OUI_FROM_DATABASE=Nanjing Glarun Atten Technology Co. Ltd. ++ + OUI:A0DC04* + ID_OUI_FROM_DATABASE=Becker-Antriebe GmbH + +@@ -63502,6 +63922,9 @@ OUI:A0F450* + OUI:A0F459* + ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED + ++OUI:A0FC6E* ++ ID_OUI_FROM_DATABASE=Telegrafia a.s. ++ + OUI:A0FE91* + ID_OUI_FROM_DATABASE=AVAT Automation GmbH + +@@ -63565,6 +63988,12 @@ OUI:A438FC* + OUI:A43A69* + ID_OUI_FROM_DATABASE=Vers Inc + ++OUI:A43BFA* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ ++OUI:A43D78* ++ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD ++ + OUI:A4466B* + ID_OUI_FROM_DATABASE=EOC Technology + +@@ -63604,6 +64033,9 @@ OUI:A45C27* + OUI:A45D36* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A46032* ++ ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD ++ + OUI:A46706* + ID_OUI_FROM_DATABASE=Apple + +@@ -63632,7 +64064,13 @@ OUI:A47C14* + ID_OUI_FROM_DATABASE=ChargeStorm AB + + OUI:A47C1F* +- ID_OUI_FROM_DATABASE=Global Microwave Systems Inc. ++ ID_OUI_FROM_DATABASE=Cobham plc ++ ++OUI:A47E39* ++ ID_OUI_FROM_DATABASE=zte corporation ++ ++OUI:A481EE* ++ ID_OUI_FROM_DATABASE=Nokia Corporation + + OUI:A4856B* + ID_OUI_FROM_DATABASE=Q Electronics Ltd +@@ -63664,6 +64102,9 @@ OUI:A49B13* + OUI:A49EDB* + ID_OUI_FROM_DATABASE=AutoCrib, Inc. + ++OUI:A49F85* ++ ID_OUI_FROM_DATABASE=Lyve Minds, Inc ++ + OUI:A49F89* + ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. + +@@ -63964,6 +64405,9 @@ OUI:A8995C* + OUI:A89B10* + ID_OUI_FROM_DATABASE=inMotion Ltd. + ++OUI:A8A668* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:A8AD3D* + ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd + +@@ -64021,6 +64465,9 @@ OUI:A8F274* + OUI:A8F470* + ID_OUI_FROM_DATABASE=Fujian Newland Communication Science Technologies Co.,Ltd. + ++OUI:A8F7E0* ++ ID_OUI_FROM_DATABASE=PLANET Technology Corporation ++ + OUI:A8F94B* + ID_OUI_FROM_DATABASE=Eltex Enterprise Ltd. + +@@ -64258,12 +64705,21 @@ OUI:ACA22C* + OUI:ACA430* + ID_OUI_FROM_DATABASE=Peerless AV + ++OUI:ACA919* ++ ID_OUI_FROM_DATABASE=TrekStor GmbH ++ ++OUI:ACA9A0* ++ ID_OUI_FROM_DATABASE=Audioengine, Ltd. ++ + OUI:ACAB8D* + ID_OUI_FROM_DATABASE=Lyngso Marine A/S + + OUI:ACB313* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:ACB859* ++ ID_OUI_FROM_DATABASE=Uniband Electronic Corp, ++ + OUI:ACBD0B* + ID_OUI_FROM_DATABASE=IMAC CO.,LTD + +@@ -64375,6 +64831,9 @@ OUI:ACF97E* + OUI:ACFDEC* + ID_OUI_FROM_DATABASE=Apple, Inc + ++OUI:B000B4* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:B00594* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -64465,6 +64924,9 @@ OUI:B06CBF* + OUI:B0750C* + ID_OUI_FROM_DATABASE=QA Cafe + ++OUI:B0754D* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:B075D5* + ID_OUI_FROM_DATABASE=ZTE Corporation + +@@ -64528,9 +64990,15 @@ OUI:B09FBA* + OUI:B0A10A* + ID_OUI_FROM_DATABASE=Pivotal Systems Corporation + ++OUI:B0A37E* ++ ID_OUI_FROM_DATABASE=Qingdao Haier Electronics Co.,Ltd ++ + OUI:B0A72A* + ID_OUI_FROM_DATABASE=Ensemble Designs, Inc. + ++OUI:B0A737* ++ ID_OUI_FROM_DATABASE=Roku, Inc. ++ + OUI:B0A86E* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -64597,6 +65065,9 @@ OUI:B0D09C* + OUI:B0D2F5* + ID_OUI_FROM_DATABASE=Vello Systems, Inc. + ++OUI:B0D59D* ++ ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd ++ + OUI:B0D7C5* + ID_OUI_FROM_DATABASE=STP KFT + +@@ -64813,6 +65284,9 @@ OUI:B499BA* + OUI:B49DB4* + ID_OUI_FROM_DATABASE=Axion Technologies Inc. + ++OUI:B49EAC* ++ ID_OUI_FROM_DATABASE=Imagik Int'l Corp ++ + OUI:B49EE6* + ID_OUI_FROM_DATABASE=SHENZHEN TECHNOLOGY CO LTD + +@@ -64900,6 +65374,9 @@ OUI:B4ED19* + OUI:B4ED54* + ID_OUI_FROM_DATABASE=Wohler Technologies + ++OUI:B4EEB4* ++ ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP ++ + OUI:B4EED4* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -64963,6 +65440,9 @@ OUI:B8288B* + OUI:B829F7* + ID_OUI_FROM_DATABASE=Blaster Tech + ++OUI:B82A72* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:B82ADC* + ID_OUI_FROM_DATABASE=EFR Europäische Funk-Rundsteuerung GmbH + +@@ -65047,6 +65527,9 @@ OUI:B87424* + OUI:B87447* + ID_OUI_FROM_DATABASE=Convergence Technologies + ++OUI:B875C0* ++ ID_OUI_FROM_DATABASE=PayPal, Inc. ++ + OUI:B8763F* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -65062,6 +65545,9 @@ OUI:B8797E* + OUI:B87AC9* + ID_OUI_FROM_DATABASE=Siemens Ltd. + ++OUI:B87CF2* ++ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. ++ + OUI:B8871E* + ID_OUI_FROM_DATABASE=Good Mind Industries Co., Ltd. + +@@ -65152,6 +65638,9 @@ OUI:B8BB6D* + OUI:B8BEBF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:B8BF83* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:B8C1A2* + ID_OUI_FROM_DATABASE=Dragon Path Technologies Co., Limited + +@@ -65171,7 +65660,7 @@ OUI:B8C855* + ID_OUI_FROM_DATABASE=Shanghai GBCOM Communication Technology Co.,Ltd. + + OUI:B8CA3A* +- ID_OUI_FROM_DATABASE=Dell PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:B8CD93* + ID_OUI_FROM_DATABASE=Penetek, Inc +@@ -65215,6 +65704,9 @@ OUI:B8E856* + OUI:B8E937* + ID_OUI_FROM_DATABASE=Sonos, Inc. + ++OUI:B8EE65* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:B8EE79* + ID_OUI_FROM_DATABASE=YWire Technologies, Inc. + +@@ -65284,6 +65776,9 @@ OUI:BC20A4* + OUI:BC20BA* + ID_OUI_FROM_DATABASE=Inspur (Shandong) Electronic Information Co., Ltd + ++OUI:BC25F0* ++ ID_OUI_FROM_DATABASE=3D Display Technologies Co., Ltd. ++ + OUI:BC261D* + ID_OUI_FROM_DATABASE=HONG KONG TECON TECHNOLOGY + +@@ -65311,6 +65806,9 @@ OUI:BC305B* + OUI:BC307D* + ID_OUI_FROM_DATABASE=Wistron Neweb Corp. + ++OUI:BC3400* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:BC35E5* + ID_OUI_FROM_DATABASE=Hydro Systems Company + +@@ -65419,6 +65917,9 @@ OUI:BC8B55* + OUI:BC8CCD* + ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. + ++OUI:BC8D0E* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:BC926B* + ID_OUI_FROM_DATABASE=Apple + +@@ -65572,6 +66073,9 @@ OUI:C038F9* + OUI:C03B8F* + ID_OUI_FROM_DATABASE=Minicom Digital Signage + ++OUI:C03D46* ++ ID_OUI_FROM_DATABASE=Shanghai Mochui Network Technology Co., Ltd ++ + OUI:C03E0F* + ID_OUI_FROM_DATABASE=BSkyB Ltd + +@@ -65602,6 +66106,9 @@ OUI:C04A00* + OUI:C04DF7* + ID_OUI_FROM_DATABASE=SERELEC + ++OUI:C056E3* ++ ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. ++ + OUI:C057BC* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -65614,6 +66121,9 @@ OUI:C05E6F* + OUI:C05E79* + ID_OUI_FROM_DATABASE=SHENZHEN HUAXUN ARK TECHNOLOGIES CO.,LTD + ++OUI:C06118* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:C0626B* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -65794,6 +66304,9 @@ OUI:C40415* + OUI:C40528* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:C4084A* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:C40938* + ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd + +@@ -65848,6 +66361,9 @@ OUI:C4291D* + OUI:C42C03* + ID_OUI_FROM_DATABASE=Apple + ++OUI:C4346B* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:C436DA* + ID_OUI_FROM_DATABASE=Rusteletech Ltd. + +@@ -65938,6 +66454,9 @@ OUI:C467B5* + OUI:C46AB7* + ID_OUI_FROM_DATABASE=Xiaomi Technology,Inc. + ++OUI:C46BB4* ++ ID_OUI_FROM_DATABASE=myIDkey ++ + OUI:C46DF1* + ID_OUI_FROM_DATABASE=DataGravity + +@@ -65983,6 +66502,9 @@ OUI:C48508* + OUI:C488E5* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:C4913A* ++ ID_OUI_FROM_DATABASE=Shenzhen Sanland Electronic Co., ltd. ++ + OUI:C49300* + ID_OUI_FROM_DATABASE=8Devices + +@@ -66025,6 +66547,9 @@ OUI:C4C755* + OUI:C4C919* + ID_OUI_FROM_DATABASE=Energy Imports Ltd + ++OUI:C4C9EC* ++ ID_OUI_FROM_DATABASE=D&D GROUP sp. z o.o. ++ + OUI:C4CAD9* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + +@@ -66113,7 +66638,7 @@ OUI:C81E8E* + ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd + + OUI:C81F66* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:C8208E* + ID_OUI_FROM_DATABASE=Storagedata +@@ -66127,6 +66652,9 @@ OUI:C82A14* + OUI:C82E94* + ID_OUI_FROM_DATABASE=Halfa Enterprise Co., Ltd. + ++OUI:C83168* ++ ID_OUI_FROM_DATABASE=eZEX corporation ++ + OUI:C83232* + ID_OUI_FROM_DATABASE=Hunting Innova + +@@ -66238,6 +66766,9 @@ OUI:C89C1D* + OUI:C89CDC* + ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. + ++OUI:C89F1D* ++ ID_OUI_FROM_DATABASE=SHENZHEN COMMUNICATION TECHNOLOGIES CO.,LTD ++ + OUI:C89F42* + ID_OUI_FROM_DATABASE=VDII Innovation AB + +@@ -66274,6 +66805,9 @@ OUI:C8B373* + OUI:C8B5B7* + ID_OUI_FROM_DATABASE=Apple + ++OUI:C8BA94* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ + OUI:C8BBD3* + ID_OUI_FROM_DATABASE=Embrane + +@@ -66316,6 +66850,9 @@ OUI:C8D3A3* + OUI:C8D429* + ID_OUI_FROM_DATABASE=Muehlbauer AG + ++OUI:C8D590* ++ ID_OUI_FROM_DATABASE=FLIGHT DATA SYSTEMS ++ + OUI:C8D5FE* + ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd + +@@ -66337,6 +66874,9 @@ OUI:C8E0EB* + OUI:C8E1A7* + ID_OUI_FROM_DATABASE=Vertu Corporation Limited + ++OUI:C8E42F* ++ ID_OUI_FROM_DATABASE=Technical Research Design and Development ++ + OUI:C8EE08* + ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD + +@@ -66358,6 +66898,9 @@ OUI:C8F386* + OUI:C8F406* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:C8F650* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:C8F68D* + ID_OUI_FROM_DATABASE=S.E.TECHNOLOGIES LIMITED + +@@ -66379,6 +66922,9 @@ OUI:C8FB26* + OUI:C8FE30* + ID_OUI_FROM_DATABASE=Bejing DAYO Mobile Communication Technology Ltd. + ++OUI:C8FF77* ++ ID_OUI_FROM_DATABASE=Dyson Limited ++ + OUI:CC0080* + ID_OUI_FROM_DATABASE=BETTINI SRL + +@@ -66394,6 +66940,9 @@ OUI:CC051B* + OUI:CC07AB* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:CC07E4* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:CC08E0* + ID_OUI_FROM_DATABASE=Apple + +@@ -66574,6 +67123,9 @@ OUI:CC9E00* + OUI:CC9F35* + ID_OUI_FROM_DATABASE=Transbit Sp. z o.o. + ++OUI:CCA0E5* ++ ID_OUI_FROM_DATABASE=DZG Metering GmbH ++ + OUI:CCA374* + ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd + +@@ -66595,6 +67147,9 @@ OUI:CCB3F8* + OUI:CCB55A* + ID_OUI_FROM_DATABASE=Fraunhofer ITWM + ++OUI:CCB691* ++ ID_OUI_FROM_DATABASE=NECMagnusCommunications ++ + OUI:CCB888* + ID_OUI_FROM_DATABASE=AnB Securite s.a. + +@@ -66610,6 +67165,9 @@ OUI:CCBE71* + OUI:CCC104* + ID_OUI_FROM_DATABASE=Applied Technical Systems + ++OUI:CCC3EA* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:CCC50A* + ID_OUI_FROM_DATABASE=SHENZHEN DAJIAHAO TECHNOLOGY CO.,LTD + +@@ -66643,6 +67201,9 @@ OUI:CCD811* + OUI:CCD9E9* + ID_OUI_FROM_DATABASE=SCR Engineers Ltd. + ++OUI:CCE1D5* ++ ID_OUI_FROM_DATABASE=Buffalo Inc. ++ + OUI:CCE798* + ID_OUI_FROM_DATABASE=My Social Stuff + +@@ -66778,6 +67339,12 @@ OUI:D059C3* + OUI:D05A0F* + ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD + ++OUI:D05AF1* ++ ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd ++ ++OUI:D05FB8* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:D05FCE* + ID_OUI_FROM_DATABASE=Hitachi Data Systems + +@@ -66799,6 +67366,9 @@ OUI:D0699E* + OUI:D069D0* + ID_OUI_FROM_DATABASE=Verto Medical Solutions, LLC + ++OUI:D072DC* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:D0737F* + ID_OUI_FROM_DATABASE=Mini-Circuits + +@@ -66811,6 +67381,9 @@ OUI:D073D5* + OUI:D075BE* + ID_OUI_FROM_DATABASE=Reno A&E + ++OUI:D07650* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:D07AB5* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -66895,6 +67468,9 @@ OUI:D0C42F* + OUI:D0C789* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:D0C7C0* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:D0CDE1* + ID_OUI_FROM_DATABASE=Scientech Electronics + +@@ -67018,6 +67594,9 @@ OUI:D41F0C* + OUI:D4206D* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:D42122* ++ ID_OUI_FROM_DATABASE=Sercomm Corporation ++ + OUI:D4223F* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + +@@ -67099,6 +67678,9 @@ OUI:D464F7* + OUI:D466A8* + ID_OUI_FROM_DATABASE=Riedo Networks GmbH + ++OUI:D46761* ++ ID_OUI_FROM_DATABASE=SAHAB TECHNOLOGY ++ + OUI:D467E7* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + +@@ -67168,6 +67750,9 @@ OUI:D49524* + OUI:D496DF* + ID_OUI_FROM_DATABASE=SUNGJIN C&T CO.,LTD + ++OUI:D4970B* ++ ID_OUI_FROM_DATABASE=XIAOMI CORPORATION ++ + OUI:D49A20* + ID_OUI_FROM_DATABASE=Apple + +@@ -67207,6 +67792,9 @@ OUI:D4AE52* + OUI:D4B110* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:D4B43E* ++ ID_OUI_FROM_DATABASE=Messcomp Datentechnik GmbH ++ + OUI:D4BED9* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -67237,6 +67825,9 @@ OUI:D4CBAF* + OUI:D4CEB8* + ID_OUI_FROM_DATABASE=Enatel LTD + ++OUI:D4CFF9* ++ ID_OUI_FROM_DATABASE=Shenzhen Sen5 Technology Co., Ltd. ++ + OUI:D4D184* + ID_OUI_FROM_DATABASE=ADB Broadband Italia + +@@ -67258,6 +67849,9 @@ OUI:D4D919* + OUI:D4DF57* + ID_OUI_FROM_DATABASE=Alpinion Medical Systems + ++OUI:D4E08E* ++ ID_OUI_FROM_DATABASE=ValueHD Corporation ++ + OUI:D4E32C* + ID_OUI_FROM_DATABASE=S. Siedle & Sohne + +@@ -67375,6 +67969,9 @@ OUI:D84606* + OUI:D8490B* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:D8492F* ++ ID_OUI_FROM_DATABASE=CANON INC. ++ + OUI:D84B2A* + ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. + +@@ -67397,7 +67994,7 @@ OUI:D85D84* + ID_OUI_FROM_DATABASE=CAx soft GmbH + + OUI:D86194* +- ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido ++ ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido + + OUI:D862DB* + ID_OUI_FROM_DATABASE=Eno Inc. +@@ -67438,6 +68035,9 @@ OUI:D87988* + OUI:D87CDD* + ID_OUI_FROM_DATABASE=SANIX INCORPORATED + ++OUI:D87EB1* ++ ID_OUI_FROM_DATABASE=x.o.ware, inc. ++ + OUI:D881CE* + ID_OUI_FROM_DATABASE=AHN INC. + +@@ -67462,6 +68062,9 @@ OUI:D8973B* + OUI:D89760* + ID_OUI_FROM_DATABASE=C2 Development, Inc. + ++OUI:D8977C* ++ ID_OUI_FROM_DATABASE=Grey Innovation ++ + OUI:D89D67* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -67525,6 +68128,9 @@ OUI:D8C7C8* + OUI:D8C99D* + ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED + ++OUI:D8CF9C* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D8D1CB* + ID_OUI_FROM_DATABASE=Apple + +@@ -67555,6 +68161,9 @@ OUI:D8DD5F* + OUI:D8DDFD* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:D8DECE* ++ ID_OUI_FROM_DATABASE=ISUNG CO.,LTD ++ + OUI:D8DF0D* + ID_OUI_FROM_DATABASE=beroNet GmbH + +@@ -67660,6 +68269,9 @@ OUI:DC3350* + OUI:DC37D2* + ID_OUI_FROM_DATABASE=Hunan HKT Electronic Technology Co., Ltd + ++OUI:DC38E1* ++ ID_OUI_FROM_DATABASE=Juniper networks ++ + OUI:DC3A5E* + ID_OUI_FROM_DATABASE=Roku, Inc + +@@ -67693,6 +68305,9 @@ OUI:DC5E36* + OUI:DC647C* + ID_OUI_FROM_DATABASE=C.R.S. iiMotion GmbH + ++OUI:DC663A* ++ ID_OUI_FROM_DATABASE=Apacer Technology Inc. ++ + OUI:DC6F00* + ID_OUI_FROM_DATABASE=Livescribe, Inc. + +@@ -67816,6 +68431,9 @@ OUI:DCE71C* + OUI:DCF05D* + ID_OUI_FROM_DATABASE=Letta Teknoloji + ++OUI:DCF110* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:DCF755* + ID_OUI_FROM_DATABASE=SITRONIK + +@@ -67939,6 +68557,9 @@ OUI:E063E5* + OUI:E064BB* + ID_OUI_FROM_DATABASE=DigiView S.r.l. + ++OUI:E06678* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:E067B3* + ID_OUI_FROM_DATABASE=C-Data Technology Co., Ltd + +@@ -68071,6 +68692,9 @@ OUI:E0CA94* + OUI:E0CB4E* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + ++OUI:E0CBEE* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:E0CEC3* + ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP + +@@ -68152,6 +68776,9 @@ OUI:E40439* + OUI:E4115B* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:E41218* ++ ID_OUI_FROM_DATABASE=ShenZhen Rapoo Technology Co., Ltd. ++ + OUI:E4121D* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -68341,6 +68968,9 @@ OUI:E4C806* + OUI:E4CE8F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:E4D332* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:E4D3F1* + ID_OUI_FROM_DATABASE=Cisco + +@@ -68371,6 +69001,9 @@ OUI:E4F365* + OUI:E4F3E3* + ID_OUI_FROM_DATABASE=Shanghai iComhome Co.,Ltd. + ++OUI:E4F4C6* ++ ID_OUI_FROM_DATABASE=NETGEAR ++ + OUI:E4F7A1* + ID_OUI_FROM_DATABASE=Datafox GmbH + +@@ -68671,6 +69304,9 @@ OUI:E8EADA* + OUI:E8EDF3* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:E8EF89* ++ ID_OUI_FROM_DATABASE=OPMEX Tech. ++ + OUI:E8F1B0* + ID_OUI_FROM_DATABASE=SAGEMCOM SAS + +@@ -68719,6 +69355,9 @@ OUI:EC2AF0* + OUI:EC2C49* + ID_OUI_FROM_DATABASE=University of Tokyo + ++OUI:EC2E4E* ++ ID_OUI_FROM_DATABASE=HITACHI-LG DATA STORAGE INC ++ + OUI:EC3091* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -68881,6 +69520,9 @@ OUI:ECE09B* + OUI:ECE1A9* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:ECE512* ++ ID_OUI_FROM_DATABASE=tado GmbH ++ + OUI:ECE555* + ID_OUI_FROM_DATABASE=Hirschmann Automation + +@@ -68909,7 +69551,7 @@ OUI:ECF35B* + ID_OUI_FROM_DATABASE=Nokia Corporation + + OUI:ECF4BB* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:ECF72B* + ID_OUI_FROM_DATABASE=HD DIGITAL TECH CO., LTD. +@@ -68948,7 +69590,7 @@ OUI:F01C13* + ID_OUI_FROM_DATABASE=LG Electronics + + OUI:F01FAF* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F0219D* + ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd. +@@ -69085,6 +69727,9 @@ OUI:F08A28* + OUI:F08BFE* + ID_OUI_FROM_DATABASE=COSTEL.,CO.LTD + ++OUI:F08CFB* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:F08EDB* + ID_OUI_FROM_DATABASE=VeloCloud Networks + +@@ -69241,6 +69886,9 @@ OUI:F4044C* + OUI:F4068D* + ID_OUI_FROM_DATABASE=devolo AG + ++OUI:F406A5* ++ ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. ++ + OUI:F40B93* + ID_OUI_FROM_DATABASE=Research In Motion + +@@ -69427,6 +70075,9 @@ OUI:F4B7E2* + OUI:F4BD7C* + ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD + ++OUI:F4C447* ++ ID_OUI_FROM_DATABASE=Coagent International Enterprise Limited ++ + OUI:F4C6D7* + ID_OUI_FROM_DATABASE=blackned GmbH + +@@ -69478,6 +70129,9 @@ OUI:F4F15A* + OUI:F4F5A5* + ID_OUI_FROM_DATABASE=Nokia corporation + ++OUI:F4F5E8* ++ ID_OUI_FROM_DATABASE=Google ++ + OUI:F4F951* + ID_OUI_FROM_DATABASE=Apple + +@@ -69502,6 +70156,9 @@ OUI:F80BD0* + OUI:F80CF3* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:F80D43* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. ++ + OUI:F80DEA* + ID_OUI_FROM_DATABASE=ZyCast Technology Inc. + +@@ -69586,6 +70243,9 @@ OUI:F8472D* + OUI:F84897* + ID_OUI_FROM_DATABASE=Hitachi, Ltd. + ++OUI:F84A73* ++ ID_OUI_FROM_DATABASE=EUMTECH CO., LTD ++ + OUI:F84A7F* + ID_OUI_FROM_DATABASE=Innometriks Inc + +@@ -69622,6 +70282,12 @@ OUI:F85F2A* + OUI:F862AA* + ID_OUI_FROM_DATABASE=xn systems + ++OUI:F86601* ++ ID_OUI_FROM_DATABASE=Suzhou Chi-tek information technology Co., Ltd ++ ++OUI:F866D1* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. ++ + OUI:F866F2* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -69710,13 +70376,13 @@ OUI:F8AC6D* + ID_OUI_FROM_DATABASE=Deltenna Ltd + + OUI:F8B156* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F8B599* + ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd + + OUI:F8BC12* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F8C001* + ID_OUI_FROM_DATABASE=Juniper Networks +@@ -69764,7 +70430,7 @@ OUI:F8DB7F* + ID_OUI_FROM_DATABASE=HTC Corporation + + OUI:F8DB88* +- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:F8DC7A* + ID_OUI_FROM_DATABASE=Variscite LTD +@@ -69892,6 +70558,9 @@ OUI:FC1FC0* + OUI:FC229C* + ID_OUI_FROM_DATABASE=Han Kyung I Net Co.,Ltd. + ++OUI:FC2325* ++ ID_OUI_FROM_DATABASE=EosTek (Shenzhen) Co., Ltd. ++ + OUI:FC253F* + ID_OUI_FROM_DATABASE=Apple + +@@ -69928,6 +70597,9 @@ OUI:FC455F* + OUI:FC48EF* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:FC4AE9* ++ ID_OUI_FROM_DATABASE=Castlenet Technology Inc. ++ + OUI:FC4B1C* + ID_OUI_FROM_DATABASE=INTERSENSOR S.R.L. + +@@ -70030,6 +70702,9 @@ OUI:FCBBA1* + OUI:FCC23D* + ID_OUI_FROM_DATABASE=Atmel Corporation + ++OUI:FCC2DE* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:FCC734* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -70048,6 +70723,9 @@ OUI:FCD4F2* + OUI:FCD4F6* + ID_OUI_FROM_DATABASE=Messana Air.Ray Conditioning s.r.l. + ++OUI:FCD5D9* ++ ID_OUI_FROM_DATABASE=Shenzhen SDMC Technology Co., Ltd. ++ + OUI:FCD6BD* + ID_OUI_FROM_DATABASE=Robert Bosch GmbH + +@@ -70060,6 +70738,9 @@ OUI:FCDB96* + OUI:FCDD55* + ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd + ++OUI:FCE186* ++ ID_OUI_FROM_DATABASE=A3M Co., LTD ++ + OUI:FCE192* + ID_OUI_FROM_DATABASE=Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd + +@@ -70078,12 +70759,18 @@ OUI:FCE892* + OUI:FCEDB9* + ID_OUI_FROM_DATABASE=Arrayent + ++OUI:FCF152* ++ ID_OUI_FROM_DATABASE=Sony Corporation ++ + OUI:FCF1CD* + ID_OUI_FROM_DATABASE=OPTEX-FA CO.,LTD. + + OUI:FCF528* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + ++OUI:FCF647* ++ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. ++ + OUI:FCF8AE* + ID_OUI_FROM_DATABASE=Intel Corporate + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 7f833e3..371a685 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -890,6 +890,9 @@ pci:v00001000d0000005Bsv00001000sd00009295* + pci:v00001000d0000005Bsv00001014sd0000040B* + ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller + ++pci:v00001000d0000005Bsv00001014sd0000040C* ++ ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller ++ + pci:v00001000d0000005Bsv00001014sd00000412* + ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller + +@@ -917,6 +920,9 @@ pci:v00001000d0000005Bsv00001028sd00001F37* + pci:v00001000d0000005Bsv00001028sd00001F38* + ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) + ++pci:v00001000d0000005Bsv000015D9sd00000690* ++ ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB ++ + pci:v00001000d0000005Bsv00008086sd00003510* + ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller + +@@ -950,6 +956,12 @@ pci:v00001000d0000005Dsv00001028sd00001F49* + pci:v00001000d0000005Dsv00001028sd00001F4A* + ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) + ++pci:v00001000d0000005Dsv000017AAsd00001052* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i ++ ++pci:v00001000d0000005Dsv000017AAsd00001053* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix ++ + pci:v00001000d0000005E* + ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS + +@@ -1163,6 +1175,9 @@ pci:v00001000d00000073sv000015D9sd00000400* + pci:v00001000d00000073sv00001734sd00001177* + ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) + ++pci:v00001000d00000073sv000017AAsd00001051* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i ++ + pci:v00001000d00000073sv00008086sd0000350D* + ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller + +@@ -1598,6 +1613,9 @@ pci:v00001000d00001960sv00008086sd00000520* + pci:v00001000d00001960sv00008086sd00000523* + ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 + ++pci:v00001000d00003050* ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 ++ + pci:v00001000d00006001* + ID_MODEL_FROM_DATABASE=DX1 Multiformat Broadcast HD/SD Encoder/Decoder + +@@ -1665,7 +1683,7 @@ pci:v00001002d0000130E* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d0000130F* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] + + pci:v00001002d00001310* + ID_MODEL_FROM_DATABASE=Kaveri +@@ -1673,9 +1691,12 @@ pci:v00001002d00001310* + pci:v00001002d00001311* + ID_MODEL_FROM_DATABASE=Kaveri + +-pci:v00001002d00001313* ++pci:v00001002d00001312* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d00001313* ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] ++ + pci:v00001002d00001314* + ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio + +@@ -1686,6 +1707,9 @@ pci:v00001002d00001315* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d00001316* ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] ++ ++pci:v00001002d00001317* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d0000131B* +@@ -1694,6 +1718,9 @@ pci:v00001002d0000131B* + pci:v00001002d0000131C* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d0000131D* ++ ID_MODEL_FROM_DATABASE=Kaveri ++ + pci:v00001002d00001714* + ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] + +@@ -4176,20 +4203,41 @@ pci:v00001002d00006603* + ID_MODEL_FROM_DATABASE=Mars + + pci:v00001002d00006604* +- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M265] ++ ID_MODEL_FROM_DATABASE=Opal XT [Radeon R7 M265] + + pci:v00001002d00006605* +- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M260] ++ ID_MODEL_FROM_DATABASE=Opal PRO [Radeon R7 M260] + + pci:v00001002d00006606* + ID_MODEL_FROM_DATABASE=Mars XTX [Radeon HD 8790M] + + pci:v00001002d00006607* +- ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M] ++ ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M / R5 M240] + + pci:v00001002d00006610* + ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] + ++pci:v00001002d00006610sv00001019sd00000030* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001028sd00002120* ++ ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ++pci:v00001002d00006610sv00001028sd00002322* ++ ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ++pci:v00001002d00006610sv00001462sd00002910* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001462sd00002911* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001642sd00003C81* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ++pci:v00001002d00006610sv00001642sd00003C91* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ + pci:v00001002d00006611* + ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] + +@@ -4278,13 +4326,13 @@ pci:v00001002d00006663sv00001025sd00000846* + ID_MODEL_FROM_DATABASE=Radeon HD 8570A + + pci:v00001002d00006664* +- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M200 Series] ++ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] + + pci:v00001002d00006665* +- ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M200 Series] ++ ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] + + pci:v00001002d00006667* +- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M200 Series] ++ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] + + pci:v00001002d0000666F* + ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] +@@ -5003,6 +5051,9 @@ pci:v00001002d00006759sv00001B0Asd000090B5* + pci:v00001002d00006759sv00001B0Asd000090B6* + ID_MODEL_FROM_DATABASE=Radeon HD 7570 + ++pci:v00001002d0000675B* ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] ++ + pci:v00001002d0000675D* + ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 7570] + +@@ -5801,6 +5852,9 @@ pci:v00001002d00006798sv00001092sd00003000* + pci:v00001002d00006798sv00001458sd00002261* + ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] + ++pci:v00001002d00006798sv00001462sd00002774* ++ ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE ++ + pci:v00001002d00006798sv00001682sd00003211* + ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition + +@@ -5823,7 +5877,7 @@ pci:v00001002d00006799* + ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] + + pci:v00001002d0000679A* +- ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950] ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] + + pci:v00001002d0000679Asv00001002sd00000B01* + ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM +@@ -5903,6 +5957,9 @@ pci:v00001002d00006801* + pci:v00001002d00006801sv00001002sd00000124* + ID_MODEL_FROM_DATABASE=Radeon HD 8970M + ++pci:v00001002d00006801sv00001462sd00001117* ++ ID_MODEL_FROM_DATABASE=Radeon R9 M290X ++ + pci:v00001002d00006801sv00008086sd00002110* + ID_MODEL_FROM_DATABASE=Radeon HD 8970M + +@@ -5966,6 +6023,12 @@ pci:v00001002d00006821* + pci:v00001002d00006821sv00001002sd0000031E* + ID_MODEL_FROM_DATABASE=FirePro SX4000 + ++pci:v00001002d00006821sv00001028sd000005CC* ++ ID_MODEL_FROM_DATABASE=FirePro M5100 ++ ++pci:v00001002d00006821sv00001028sd000015CC* ++ ID_MODEL_FROM_DATABASE=FirePro M5100 ++ + pci:v00001002d00006822* + ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] + +@@ -6039,7 +6102,7 @@ pci:v00001002d0000683B* + ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series] + + pci:v00001002d0000683D* +- ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] + + pci:v00001002d0000683Dsv00001002sd00000030* + ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM +@@ -6050,8 +6113,14 @@ pci:v00001002d0000683Dsv00001019sd00000030* + pci:v00001002d0000683Dsv0000103Csd00006890* + ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM + ++pci:v00001002d0000683Dsv00001043sd00008760* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ++pci:v00001002d0000683Dsv0000174Bsd00008304* ++ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ + pci:v00001002d0000683F* +- ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750] ++ ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] + + pci:v00001002d00006840* + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] +@@ -8891,6 +8960,9 @@ pci:v00001002d0000985E* + pci:v00001002d0000985F* + ID_MODEL_FROM_DATABASE=Mullins + ++pci:v00001002d00009900* ++ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G] ++ + pci:v00001002d00009901* + ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660D] + +@@ -9498,7 +9570,7 @@ pci:v00001011d0000000D* + ID_MODEL_FROM_DATABASE=PBXGB [TGA2] + + pci:v00001011d0000000F* +- ID_MODEL_FROM_DATABASE=PCI-to-PDQ Interface Chip [PFI] ++ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] + + pci:v00001011d0000000Fsv00001011sd0000DEF1* + ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) +@@ -9596,6 +9668,9 @@ pci:v00001011d00000019sv00001186sd00001102* + pci:v00001011d00000019sv00001186sd00001112* + ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet + ++pci:v00001011d00000019sv000011F0sd00004235* ++ ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] ++ + pci:v00001011d00000019sv00001259sd00002800* + ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet + +@@ -9761,6 +9836,9 @@ pci:v00001013d000000B0* + pci:v00001013d000000B8* + ID_MODEL_FROM_DATABASE=GD 5446 + ++pci:v00001013d000000B8sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001013d000000BC* + ID_MODEL_FROM_DATABASE=GD 5480 + +@@ -10487,6 +10565,9 @@ pci:v0000101Ed00001960sv00001028sd00000511* + pci:v0000101Ed00001960sv0000103Csd000060E7* + ID_MODEL_FROM_DATABASE=NetRAID-1M + ++pci:v0000101Ed00001960sv0000103Csd000060E8* ++ ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] ++ + pci:v0000101Ed00009010* + ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller + +@@ -10811,6 +10892,9 @@ pci:v00001022d00002003* + pci:v00001022d00002020* + ID_MODEL_FROM_DATABASE=53c974 [PCscsi] + ++pci:v00001022d00002020sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001022d00002040* + ID_MODEL_FROM_DATABASE=79c974 + +@@ -12263,6 +12347,9 @@ pci:v0000102Bd00002007* + pci:v0000102Bd00002527* + ID_MODEL_FROM_DATABASE=Millennium G550 + ++pci:v0000102Bd00002527sv0000102Bsd00000F42* ++ ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI ++ + pci:v0000102Bd00002527sv0000102Bsd00000F83* + ID_MODEL_FROM_DATABASE=Millennium G550 + +@@ -12515,6 +12602,9 @@ pci:v0000102Bd00004949* + pci:v0000102Bd00004949sv0000102Bsd00000010* + ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber + ++pci:v0000102Bd00004949sv0000102Bsd00000011* ++ ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber ++ + pci:v0000102Bd00004949sv0000102Bsd00000020* + ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber + +@@ -12527,6 +12617,18 @@ pci:v0000102Bd00004949sv0000102Bsd00000040* + pci:v0000102Bd00004949sv0000102Bsd00000050* + ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber + ++pci:v0000102Bd00004949sv0000102Bsd00001010* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber ++ ++pci:v0000102Bd00004949sv0000102Bsd00001015* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber ++ ++pci:v0000102Bd00004949sv0000102Bsd00001020* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber ++ ++pci:v0000102Bd00004949sv0000102Bsd00001050* ++ ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber ++ + pci:v0000102Bd00004CDC* + ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator + +@@ -12911,6 +13013,9 @@ pci:v00001033d00000194sv00001028sd000004DA* + pci:v00001033d00000194sv00001043sd00008413* + ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard + ++pci:v00001033d00000194sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001033d00000194sv00001B96sd00000001* + ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card + +@@ -13853,9 +13958,6 @@ pci:v0000103Cd00004037* + pci:v0000103Cd0000403B* + ID_MODEL_FROM_DATABASE=PCIe Root Port + +-pci:v0000103Cd000060E8* +- ID_MODEL_FROM_DATABASE=NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493) +- + pci:v0000103E* + ID_VENDOR_FROM_DATABASE=Solliday Engineering + +@@ -14159,6 +14261,9 @@ pci:v0000104Ad00000010* + pci:v0000104Ad00000010sv0000104Asd00004018* + ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) + ++pci:v0000104Ad00000010sv00001681sd00000010* ++ ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] ++ + pci:v0000104Ad00000010sv00001681sd00000028* + ID_MODEL_FROM_DATABASE=3D Prophet 4000XT + +@@ -14426,6 +14531,9 @@ pci:v0000104Cd00008022sv0000104Csd00008023* + pci:v0000104Cd00008023* + ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + ++pci:v0000104Cd00008023sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v0000104Cd00008023sv0000103Csd0000088C* + ID_MODEL_FROM_DATABASE=NC8000 laptop + +@@ -15233,6 +15341,9 @@ pci:v00001054d0000302C* + pci:v00001054d0000302D* + ID_MODEL_FROM_DATABASE=M001 PCI Express Switch Downstream Port + ++pci:v00001054d00003070* ++ ID_MODEL_FROM_DATABASE=Hitachi FIVE-FX Fibre Channel to PCIe HBA ++ + pci:v00001054d00003505* + ID_MODEL_FROM_DATABASE=SH7751 PCI Controller (PCIC) + +@@ -16208,6 +16319,9 @@ pci:v0000106Bd0000003E* + pci:v0000106Bd0000003F* + ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB + ++pci:v0000106Bd0000003Fsv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v0000106Bd00000040* + ID_MODEL_FROM_DATABASE=K2 KeyLargo USB + +@@ -16517,6 +16631,9 @@ pci:v00001077d00002422sv0000103Csd000012DD* + pci:v00001077d00002432* + ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA + ++pci:v00001077d00002432sv0000103Csd00007040* ++ ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] ++ + pci:v00001077d00002532* + ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA + +@@ -16815,7 +16932,7 @@ pci:v0000108Dd00000002* + ID_MODEL_FROM_DATABASE=16/4 Token Ring + + pci:v0000108Dd00000004* +- ID_MODEL_FROM_DATABASE=RapidFire 3139 Token-Ring 16/4 PCI Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter + + pci:v0000108Dd00000004sv0000108Dsd00000004* + ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter +@@ -17294,6 +17411,30 @@ pci:v00001093d00002CC0* + pci:v00001093d00002DB0* + ID_MODEL_FROM_DATABASE=PCI-6608 + ++pci:v00001093d0000702C* ++ ID_MODEL_FROM_DATABASE=PXI-7831R ++ ++pci:v00001093d0000702D* ++ ID_MODEL_FROM_DATABASE=PCI-7831R ++ ++pci:v00001093d0000702E* ++ ID_MODEL_FROM_DATABASE=PXI-7811R ++ ++pci:v00001093d0000702F* ++ ID_MODEL_FROM_DATABASE=PCI-7811R ++ ++pci:v00001093d00007055* ++ ID_MODEL_FROM_DATABASE=PXI-7830R ++ ++pci:v00001093d00007056* ++ ID_MODEL_FROM_DATABASE=PCI-7830R ++ ++pci:v00001093d00007074* ++ ID_MODEL_FROM_DATABASE=PXI-7833R ++ ++pci:v00001093d00007083* ++ ID_MODEL_FROM_DATABASE=PCI-7833R ++ + pci:v00001093d00007085* + ID_MODEL_FROM_DATABASE=PCI-6509 + +@@ -17369,6 +17510,9 @@ pci:v00001093d0000714C* + pci:v00001093d0000714D* + ID_MODEL_FROM_DATABASE=PCI-5114 + ++pci:v00001093d00007152* ++ ID_MODEL_FROM_DATABASE=PCI-5640R ++ + pci:v00001093d0000716C* + ID_MODEL_FROM_DATABASE=PCI-6225 + +@@ -17378,6 +17522,12 @@ pci:v00001093d0000717D* + pci:v00001093d0000717F* + ID_MODEL_FROM_DATABASE=PCIe-6259 + ++pci:v00001093d00007193* ++ ID_MODEL_FROM_DATABASE=PXI-7813R ++ ++pci:v00001093d00007194* ++ ID_MODEL_FROM_DATABASE=PCI-7813R ++ + pci:v00001093d000071BC* + ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) + +@@ -17420,6 +17570,51 @@ pci:v00001093d0000734A* + pci:v00001093d0000737D* + ID_MODEL_FROM_DATABASE=PXI-5124EX + ++pci:v00001093d00007384* ++ ID_MODEL_FROM_DATABASE=PXI-7851R ++ ++pci:v00001093d00007385* ++ ID_MODEL_FROM_DATABASE=PXI-7852R ++ ++pci:v00001093d00007386* ++ ID_MODEL_FROM_DATABASE=PCIe-7851R ++ ++pci:v00001093d00007387* ++ ID_MODEL_FROM_DATABASE=PCIe-7852R ++ ++pci:v00001093d00007390* ++ ID_MODEL_FROM_DATABASE=PXI-7841R ++ ++pci:v00001093d00007391* ++ ID_MODEL_FROM_DATABASE=PXI-7842R ++ ++pci:v00001093d00007392* ++ ID_MODEL_FROM_DATABASE=PXI-7853R ++ ++pci:v00001093d00007393* ++ ID_MODEL_FROM_DATABASE=PCIe-7841R ++ ++pci:v00001093d00007394* ++ ID_MODEL_FROM_DATABASE=PCIe-7842R ++ ++pci:v00001093d000073A5* ++ ID_MODEL_FROM_DATABASE=PXIe-5641R ++ ++pci:v00001093d000073D5* ++ ID_MODEL_FROM_DATABASE=PXI-7951R ++ ++pci:v00001093d000073D6* ++ ID_MODEL_FROM_DATABASE=PXI-7952R ++ ++pci:v00001093d000073D7* ++ ID_MODEL_FROM_DATABASE=PXI-7953R ++ ++pci:v00001093d000073E1* ++ ID_MODEL_FROM_DATABASE=PXI-7854R ++ ++pci:v00001093d000073EC* ++ ID_MODEL_FROM_DATABASE=PXI-7954R ++ + pci:v00001093d000073F0* + ID_MODEL_FROM_DATABASE=PXI-5153 + +@@ -17438,6 +17633,18 @@ pci:v00001093d00007460* + pci:v00001093d00007461* + ID_MODEL_FROM_DATABASE=PCI-5154EX + ++pci:v00001093d00007539* ++ ID_MODEL_FROM_DATABASE=NI 9157 ++ ++pci:v00001093d0000753A* ++ ID_MODEL_FROM_DATABASE=NI 9159 ++ ++pci:v00001093d00007626* ++ ID_MODEL_FROM_DATABASE=NI 9154 ++ ++pci:v00001093d00007627* ++ ID_MODEL_FROM_DATABASE=NI 9155 ++ + pci:v00001093d0000B001* + ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 + +@@ -17469,7 +17676,28 @@ pci:v00001093d0000B091* + ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 + + pci:v00001093d0000C4C4* +- ID_MODEL_FROM_DATABASE=PXIe-4353/5160 ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device ++ ++pci:v00001093d0000C4C4sv00001093sd000074B2* ++ ID_MODEL_FROM_DATABASE=PXIe-4353 ++ ++pci:v00001093d0000C4C4sv00001093sd000074D0* ++ ID_MODEL_FROM_DATABASE=PXIe-7961R ++ ++pci:v00001093d0000C4C4sv00001093sd000074E2* ++ ID_MODEL_FROM_DATABASE=PXIe-7962R ++ ++pci:v00001093d0000C4C4sv00001093sd000074E3* ++ ID_MODEL_FROM_DATABASE=PXIe-7965R ++ ++pci:v00001093d0000C4C4sv00001093sd00007553* ++ ID_MODEL_FROM_DATABASE=PCIe-1473R ++ ++pci:v00001093d0000C4C4sv00001093sd000075CE* ++ ID_MODEL_FROM_DATABASE=PXIe-7966R ++ ++pci:v00001093d0000C4C4sv00001093sd000076B7* ++ ID_MODEL_FROM_DATABASE=PXIe-7975R + + pci:v00001093d0000C4C4sv00001093sd000076D0* + ID_MODEL_FROM_DATABASE=PXIe-5160 +@@ -17696,9 +17924,6 @@ pci:v0000109Ed0000036Esv00001461sd00000761* + pci:v0000109Ed0000036Esv00001461sd00000771* + ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 + +-pci:v0000109Ed0000036Esv00001464sd0000AA00* +- ID_MODEL_FROM_DATABASE=iTuner Spectra8 +- + pci:v0000109Ed0000036Esv000014F1sd00000001* + ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC + +@@ -18152,6 +18377,9 @@ pci:v000010A9d00008001* + pci:v000010A9d00008002* + ID_MODEL_FROM_DATABASE=G-net NT + ++pci:v000010A9d0000802B* ++ ID_MODEL_FROM_DATABASE=REACT external interrupt controller ++ + pci:v000010AA* + ID_VENDOR_FROM_DATABASE=ACC Microelectronics + +@@ -18485,6 +18713,9 @@ pci:v000010B5d00008732* + pci:v000010B5d00008734* + ID_MODEL_FROM_DATABASE=PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch + ++pci:v000010B5d00008747* ++ ID_MODEL_FROM_DATABASE=PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch ++ + pci:v000010B5d000087B0* + ID_MODEL_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch + +@@ -18969,10 +19200,10 @@ pci:v000010B6d00000009sv000010B6sd00000009* + ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode + + pci:v000010B6d0000000A* +- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode ++ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner + + pci:v000010B6d0000000Asv000010B6sd0000000A* +- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode ++ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner + + pci:v000010B6d0000000B* + ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 +@@ -19001,6 +19232,9 @@ pci:v000010B7* + pci:v000010B7d00000001* + ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) + ++pci:v000010B7d00000001sv00009850sd00000001* ++ ID_MODEL_FROM_DATABASE=3c985B-SX ++ + pci:v000010B7d00000013* + ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) + +@@ -21042,10 +21276,7 @@ pci:v000010DEd000000CC* + ID_MODEL_FROM_DATABASE=NV41GLM [Quadro FX Go1400] + + pci:v000010DEd000000CD* +- ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 3450/4000 SDI] +- +-pci:v000010DEd000000CDsv000010DEsd0000029B* +- ID_MODEL_FROM_DATABASE=wx4300 Workstation ++ ID_MODEL_FROM_DATABASE=NV42GL [Quadro FX 3450/4000 SDI] + + pci:v000010DEd000000CE* + ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 1400] +@@ -24858,7 +25089,7 @@ pci:v000010DEd0000086E* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9100M G] + + pci:v000010DEd0000086F* +- ID_MODEL_FROM_DATABASE=C79 [GeForce 9200M G] ++ ID_MODEL_FROM_DATABASE=MCP79 [GeForce 8200M G] + + pci:v000010DEd00000870* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] +@@ -26006,6 +26237,9 @@ pci:v000010DEd00001005sv00003842sd00002795* + pci:v000010DEd0000100A* + ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] + ++pci:v000010DEd0000100C* ++ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] ++ + pci:v000010DEd0000101F* + ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] + +@@ -26582,6 +26816,9 @@ pci:v000010DEd00001140sv00001462sd000010B8* + pci:v000010DEd00001140sv00001462sd000010E9* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + ++pci:v000010DEd00001140sv00001462sd00001116* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ + pci:v000010DEd00001140sv00001462sd0000AA33* + ID_MODEL_FROM_DATABASE=GeForce 720M + +@@ -26750,6 +26987,9 @@ pci:v000010DEd00001140sv00001B0Asd00002202* + pci:v000010DEd00001180* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] + ++pci:v000010DEd00001180sv00001043sd000083F1* ++ ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 ++ + pci:v000010DEd00001180sv00003842sd00003682* + ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition + +@@ -26804,6 +27044,15 @@ pci:v000010DEd0000118F* + pci:v000010DEd00001193* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] + ++pci:v000010DEd00001198* ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] ++ ++pci:v000010DEd00001199* ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 870M] ++ ++pci:v000010DEd0000119A* ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 860M] ++ + pci:v000010DEd0000119D* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 775M Mac Edition] + +@@ -27065,6 +27314,9 @@ pci:v000010DEd00001251* + pci:v000010DEd00001280* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 635] + ++pci:v000010DEd00001281* ++ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 710] ++ + pci:v000010DEd00001282* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 640 Rev. 2] + +@@ -27107,6 +27359,9 @@ pci:v000010DEd00001294* + pci:v000010DEd00001295* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] + ++pci:v000010DEd00001296* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] ++ + pci:v000010DEd00001298* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 720M] + +@@ -27119,12 +27374,48 @@ pci:v000010DEd000012B9* + pci:v000010DEd000012BA* + ID_MODEL_FROM_DATABASE=GK208GLM [Quadro K510M] + ++pci:v000010DEd00001340* ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] ++ ++pci:v000010DEd00001341* ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] ++ ++pci:v000010DEd00001380* ++ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] ++ ++pci:v000010DEd00001381* ++ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750] ++ ++pci:v000010DEd00001382* ++ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] ++ ++pci:v000010DEd00001390* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] ++ ++pci:v000010DEd00001391* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] ++ ++pci:v000010DEd00001392* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] ++ ++pci:v000010DEd00001393* ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] ++ + pci:v000010DF* + ID_VENDOR_FROM_DATABASE=Emulex Corporation + + pci:v000010DFd00000720* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) + ++pci:v000010DFd00000720sv000017AAsd00001056* ++ ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric ++ ++pci:v000010DFd00000720sv000017AAsd00001057* ++ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric ++ ++pci:v000010DFd00000720sv000017AAsd00001059* ++ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric ++ + pci:v000010DFd00000722* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) + +@@ -27167,6 +27458,12 @@ pci:v000010DFd0000E208* + pci:v000010DFd0000E220* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) + ++pci:v000010DFd0000E220sv000017AAsd00001054* ++ ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric ++ ++pci:v000010DFd0000E220sv000017AAsd00001055* ++ ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric ++ + pci:v000010DFd0000E240* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) + +@@ -27573,7 +27870,7 @@ pci:v000010ECd00008029sv00001259sd00002400* + ID_MODEL_FROM_DATABASE=AT-2400 + + pci:v000010ECd00008029sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine + + pci:v000010ECd00008129* + ID_MODEL_FROM_DATABASE=RTL-8129 +@@ -27603,7 +27900,7 @@ pci:v000010ECd00008138sv000010ECsd00008138* + ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter + + pci:v000010ECd00008139* +- ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter + + pci:v000010ECd00008139sv00000357sd0000000A* + ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 +@@ -27638,11 +27935,14 @@ pci:v000010ECd00008139sv00001071sd00008160* + pci:v000010ECd00008139sv000010BDsd00000320* + ID_MODEL_FROM_DATABASE=EP-320X-R + ++pci:v000010ECd00008139sv000010ECsd00008139* ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter ++ + pci:v000010ECd00008139sv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop + + pci:v000010ECd00008139sv00001113sd0000EC01* +- ID_MODEL_FROM_DATABASE=FNC-0107TX ++ ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX + + pci:v000010ECd00008139sv00001186sd00001300* + ID_MODEL_FROM_DATABASE=DFE-538TX +@@ -27734,6 +28034,9 @@ pci:v000010ECd00008139sv0000187Esd00003303* + pci:v000010ECd00008139sv00001904sd00008139* + ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter + ++pci:v000010ECd00008139sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v000010ECd00008139sv00002646sd00000001* + ID_MODEL_FROM_DATABASE=KNE120TX + +@@ -27779,6 +28082,9 @@ pci:v000010ECd00008168sv0000103Csd00001611* + pci:v000010ECd00008168sv0000103Csd00001950* + ID_MODEL_FROM_DATABASE=ProBook 450/455 + ++pci:v000010ECd00008168sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v000010ECd00008168sv00001043sd000011F5* + ID_MODEL_FROM_DATABASE=A6J-Q008 + +@@ -27815,6 +28121,9 @@ pci:v000010ECd00008168sv00001462sd0000238C* + pci:v000010ECd00008168sv00001462sd0000368C* + ID_MODEL_FROM_DATABASE=K9AG Neo2 + ++pci:v000010ECd00008168sv00001462sd00004180* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v000010ECd00008168sv00001462sd00007522* + ID_MODEL_FROM_DATABASE=X58 Pro-E + +@@ -27894,10 +28203,10 @@ pci:v000010ECd00008176sv00001A3Bsd00001139* + ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card + + pci:v000010ECd00008177* +- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter ++ ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter + + pci:v000010ECd00008178* +- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter ++ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter + + pci:v000010ECd00008179* + ID_MODEL_FROM_DATABASE=RTL8188EE Wireless Network Adapter +@@ -27914,11 +28223,14 @@ pci:v000010ECd00008180sv00001737sd00000019* + pci:v000010ECd00008185* + ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller + ++pci:v000010ECd0000818B* ++ ID_MODEL_FROM_DATABASE=RTL8192EE PCIe Wireless Network Adapter ++ + pci:v000010ECd00008190* +- ID_MODEL_FROM_DATABASE=RTL8190 802.11n Wireless LAN ++ ID_MODEL_FROM_DATABASE=RTL8190 802.11n PCI Wireless Network Adapter + + pci:v000010ECd00008191* +- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter ++ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter + + pci:v000010ECd00008192* + ID_MODEL_FROM_DATABASE=RTL8192E/RTL8192SE Wireless LAN Controller +@@ -27938,6 +28250,15 @@ pci:v000010ECd00008199sv00001462sd00006894* + pci:v000010ECd00008723* + ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter + ++pci:v000010ECd00008812* ++ ID_MODEL_FROM_DATABASE=RTL8812AE 802.11ac PCIe Wireless Network Adapter ++ ++pci:v000010ECd00008813* ++ ID_MODEL_FROM_DATABASE=RTL8813AE 802.11ac PCIe Wireless Network Adapter ++ ++pci:v000010ECd00008821* ++ ID_MODEL_FROM_DATABASE=RTL8821AE 802.11ac PCIe Wireless Network Adapter ++ + pci:v000010ECd0000B723* + ID_MODEL_FROM_DATABASE=RTL8723BE PCIe Wireless Network Adapter + +@@ -28211,6 +28532,9 @@ pci:v00001102d00000004sv00001102sd00000058* + pci:v00001102d00000004sv00001102sd00001002* + ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum + ++pci:v00001102d00000004sv00001102sd00001003* ++ ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 ++ + pci:v00001102d00000004sv00001102sd00001007* + ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 + +@@ -28436,6 +28760,9 @@ pci:v00001103d00001742* + pci:v00001103d00002210* + ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller + ++pci:v00001103d00002210sv000011ABsd000011AB* ++ ID_MODEL_FROM_DATABASE=88SX6042 ++ + pci:v00001103d00002300* + ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller + +@@ -28635,7 +28962,7 @@ pci:v00001106d00000415* + ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller + + pci:v00001106d00000415sv00001043sd0000838F* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=Motherboard + + pci:v00001106d00000501* + ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] +@@ -29033,6 +29360,9 @@ pci:v00001106d00003038sv00001849sd00003038* + pci:v00001106d00003038sv000019DAsd0000A179* + ID_MODEL_FROM_DATABASE=ZBOX nano VD01 + ++pci:v00001106d00003038sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001106d00003040* + ID_MODEL_FROM_DATABASE=VT82C586B ACPI + +@@ -29591,6 +29921,9 @@ pci:v00001106d00003238* + pci:v00001106d00003249* + ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller + ++pci:v00001106d00003249sv00001106sd00003249* ++ ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller ++ + pci:v00001106d0000324A* + ID_MODEL_FROM_DATABASE=CX700/VX700 PCI to PCI Bridge + +@@ -30180,7 +30513,7 @@ pci:v00001109d00001400* + ID_MODEL_FROM_DATABASE=EM110TX [EX110TX] + + pci:v0000110A* +- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG ++ ID_VENDOR_FROM_DATABASE=Siemens AG + + pci:v0000110Ad00000002* + ID_MODEL_FROM_DATABASE=Pirahna 2-port +@@ -30216,20 +30549,56 @@ pci:v0000110Ad00002104* + ID_MODEL_FROM_DATABASE=Eicon Diva 2.02 compatible passive ISDN card + + pci:v0000110Ad00003141* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 (Profibus Adapter) ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 / 5621 + + pci:v0000110Ad00003142* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A1 (Profibus Adapter) ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 / 5614 ++ ++pci:v0000110Ad00003143* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 + + pci:v0000110Ad00004021* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) + + pci:v0000110Ad00004029* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A2 (Profibus Adapter) ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 ++ ++pci:v0000110Ad00004029sv0000110Asd00004029* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 ++ ++pci:v0000110Ad00004029sv0000110Asd0000C029* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 + + pci:v0000110Ad00004035* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 + ++pci:v0000110Ad00004036* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1616 ++ ++pci:v0000110Ad00004038* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1604 ++ ++pci:v0000110Ad00004069* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 ++ ++pci:v0000110Ad00004069sv0000110Asd0000C069* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 ++ ++pci:v0000110Ad0000407C* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 ++ ++pci:v0000110Ad0000407D* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A3 ++ ++pci:v0000110Ad0000407E* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5622 ++ ++pci:v0000110Ad00004083* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A3 ++ ++pci:v0000110Ad00004084* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1626 ++ + pci:v0000110Ad00004942* + ID_MODEL_FROM_DATABASE=FPGA I-Bus Tracer for MBD + +@@ -31244,9 +31613,24 @@ pci:v00001131d00007133sv00005ACEsd00006290* + pci:v00001131d00007133sv00005ACEsd00007090* + ID_MODEL_FROM_DATABASE=Behold TV A7 + ++pci:v00001131d00007133sv00005ACEsd00007150* ++ ID_MODEL_FROM_DATABASE=Behold TV H75 ++ ++pci:v00001131d00007133sv00005ACEsd00007151* ++ ID_MODEL_FROM_DATABASE=Behold TV H75 ++ + pci:v00001131d00007133sv00005ACEsd00007190* + ID_MODEL_FROM_DATABASE=Behold TV H7 + ++pci:v00001131d00007133sv00005ACEsd00007191* ++ ID_MODEL_FROM_DATABASE=Behold TV H7 ++ ++pci:v00001131d00007133sv00005ACEsd00007290* ++ ID_MODEL_FROM_DATABASE=Behold TV T7 ++ ++pci:v00001131d00007133sv00005ACEsd00007591* ++ ID_MODEL_FROM_DATABASE=Behold TV X7 ++ + pci:v00001131d00007133sv00005ACEsd00007595* + ID_MODEL_FROM_DATABASE=Behold TV X7 + +@@ -31553,9 +31937,30 @@ pci:v00001131d00007231* + pci:v00001131d00007231sv00005ACEsd00008000* + ID_MODEL_FROM_DATABASE=Behold TV H8 + ++pci:v00001131d00007231sv00005ACEsd00008001* ++ ID_MODEL_FROM_DATABASE=Behold TV H8 ++ ++pci:v00001131d00007231sv00005ACEsd00008050* ++ ID_MODEL_FROM_DATABASE=Behold TV H85 ++ ++pci:v00001131d00007231sv00005ACEsd00008051* ++ ID_MODEL_FROM_DATABASE=Behold TV H85 ++ + pci:v00001131d00007231sv00005ACEsd00008100* + ID_MODEL_FROM_DATABASE=Behold TV A8 + ++pci:v00001131d00007231sv00005ACEsd00008101* ++ ID_MODEL_FROM_DATABASE=Behold TV A8 ++ ++pci:v00001131d00007231sv00005ACEsd00008150* ++ ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ++pci:v00001131d00007231sv00005ACEsd00008151* ++ ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ++pci:v00001131d00007231sv00005ACEsd00008201* ++ ID_MODEL_FROM_DATABASE=Behold TV T8 ++ + pci:v00001131d00009730* + ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller + +@@ -35042,6 +35447,9 @@ pci:v000011C1d00005811* + pci:v000011C1d00005811sv0000103Csd00002A34* + ID_MODEL_FROM_DATABASE=Pavilion a1677c + ++pci:v000011C1d00005811sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v000011C1d00005811sv0000103Csd00002A9E* + ID_MODEL_FROM_DATABASE=Pavilion p6310f + +@@ -35858,6 +36266,9 @@ pci:v00001217d00008330sv00001028sd000004A3* + pci:v00001217d00008331* + ID_MODEL_FROM_DATABASE=O2 Flash Memory Card + ++pci:v00001217d00008520* ++ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller ++ + pci:v00001218* + ID_VENDOR_FROM_DATABASE=Hybricon Corp. + +@@ -36852,7 +37263,7 @@ pci:v00001274d00001171* + ID_MODEL_FROM_DATABASE=ES1373 [AudioPCI] (also Creative Labs CT5803) + + pci:v00001274d00001371* +- ID_MODEL_FROM_DATABASE=ES1371 [AudioPCI-97] ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] + + pci:v00001274d00001371sv00000E11sd00000024* + ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro +@@ -36870,7 +37281,7 @@ pci:v00001274d00001371sv0000107Bsd00008054* + ID_MODEL_FROM_DATABASE=Tabor2 + + pci:v00001274d00001371sv00001274sd00001371* +- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI64V, AudioPCI128 ++ ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 + + pci:v00001274d00001371sv00001274sd00008001* + ID_MODEL_FROM_DATABASE=CT4751 board +@@ -41858,12 +42269,24 @@ pci:v00001425d00005013* + pci:v00001425d00005014* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005015* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005080* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005081* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005083* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005084* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005085* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d00005401* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -41924,12 +42347,24 @@ pci:v00001425d00005413* + pci:v00001425d00005414* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005415* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005480* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005481* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005483* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005484* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005485* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d00005501* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -41990,12 +42425,24 @@ pci:v00001425d00005513* + pci:v00001425d00005514* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller + ++pci:v00001425d00005515* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller ++ + pci:v00001425d00005580* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller + + pci:v00001425d00005581* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller + ++pci:v00001425d00005583* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller ++ ++pci:v00001425d00005584* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller ++ ++pci:v00001425d00005585* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller ++ + pci:v00001425d00005601* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -42056,12 +42503,24 @@ pci:v00001425d00005613* + pci:v00001425d00005614* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller + ++pci:v00001425d00005615* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller ++ + pci:v00001425d00005680* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller + + pci:v00001425d00005681* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller + ++pci:v00001425d00005683* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller ++ ++pci:v00001425d00005684* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller ++ ++pci:v00001425d00005685* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller ++ + pci:v00001425d00005701* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -42122,12 +42581,24 @@ pci:v00001425d00005713* + pci:v00001425d00005714* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005715* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005780* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005781* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005783* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005784* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005785* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d00005801* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -42188,12 +42659,24 @@ pci:v00001425d00005813* + pci:v00001425d00005814* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller + ++pci:v00001425d00005815* ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ + pci:v00001425d00005880* + ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller + + pci:v00001425d00005881* + ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller + ++pci:v00001425d00005883* ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005884* ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ++pci:v00001425d00005885* ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ + pci:v00001425d0000A000* + ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller + +@@ -42483,7 +42966,7 @@ pci:v00001461d0000F436* + ID_MODEL_FROM_DATABASE=AVerTV Hybrid+FM + + pci:v00001462* +- ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. ++ ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. [MSI] + + pci:v00001463* + ID_VENDOR_FROM_DATABASE=Fast Corporation +@@ -43847,6 +44330,33 @@ pci:v000014E4d0000168E* + pci:v000014E4d0000168Esv0000103Csd00001798* + ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] + ++pci:v000014E4d0000168Esv0000103Csd000017A5* ++ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd000018D3* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001930* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001931* ++ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001932* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00001933* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd0000193A* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd00003382* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ++pci:v000014E4d0000168Esv0000103Csd0000339D* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ + pci:v000014E4d00001690* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe + +@@ -43922,9 +44432,21 @@ pci:v000014E4d000016A1* + pci:v000014E4d000016A2* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet + ++pci:v000014E4d000016A2sv0000103Csd00001916* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ++pci:v000014E4d000016A2sv0000103Csd00001917* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ + pci:v000014E4d000016A4* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function + ++pci:v000014E4d000016A4sv0000103Csd00001916* ++ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter ++ ++pci:v000014E4d000016A4sv0000103Csd00001917* ++ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter ++ + pci:v000014E4d000016A5* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function + +@@ -44048,12 +44570,78 @@ pci:v000014E4d000016ACsv0000103Csd0000703D* + pci:v000014E4d000016AD* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + ++pci:v000014E4d000016ADsv0000103Csd00001916* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ++pci:v000014E4d000016ADsv0000103Csd00001917* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ + pci:v000014E4d000016AE* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function + ++pci:v000014E4d000016AEsv0000103Csd00001798* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd000017A5* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd000018D3* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001930* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001931* ++ ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001932* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00001933* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd0000193A* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd00003382* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AEsv0000103Csd0000339D* ++ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter ++ + pci:v000014E4d000016AF* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function + ++pci:v000014E4d000016AFsv0000103Csd00001798* ++ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd000017A5* ++ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd000018D3* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001930* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001931* ++ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001932* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00001933* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd0000193A* ++ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd00003382* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ++pci:v000014E4d000016AFsv0000103Csd0000339D* ++ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ + pci:v000014E4d000016B0* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe + +@@ -49484,6 +50072,9 @@ pci:v00001814d0000539F* + pci:v00001814d0000539Fsv0000103Csd00001637* + ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card + ++pci:v00001814d00005592* ++ ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter ++ + pci:v00001814d0000E932* + ID_MODEL_FROM_DATABASE=RT2560F 802.11 b/g PCI + +@@ -50480,6 +51071,12 @@ pci:v0000193Fd00000367* + pci:v0000193Fd00000370* + ID_MODEL_FROM_DATABASE=AHA370-PCIe + ++pci:v0000193Fd00003641* ++ ID_MODEL_FROM_DATABASE=AHA3641 ++ ++pci:v0000193Fd00003642* ++ ID_MODEL_FROM_DATABASE=AHA3642 ++ + pci:v00001942* + ID_VENDOR_FROM_DATABASE=ClearSpeed Technology plc + +@@ -50633,6 +51230,9 @@ pci:v00001957d00000084* + pci:v00001957d00000085* + ID_MODEL_FROM_DATABASE=MPC8347 PBGA + ++pci:v00001957d00000085sv0000110Asd00004046* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 ++ + pci:v00001957d00000086* + ID_MODEL_FROM_DATABASE=MPC8343E + +@@ -51095,6 +51695,9 @@ pci:v000019A2d00000710sv0000103Csd00003341* + pci:v000019A2d00000710sv0000103Csd00003345* + ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter + ++pci:v000019A2d00000710sv0000103Csd0000337B* ++ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ + pci:v000019A2d00000712* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) + +@@ -51104,6 +51707,9 @@ pci:v000019A2d00000714* + pci:v000019A2d00000714sv0000103Csd00003315* + ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter + ++pci:v000019A2d00000714sv0000103Csd0000337B* ++ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ + pci:v000019A8* + ID_VENDOR_FROM_DATABASE=DAQDATA GmbH + +@@ -51236,6 +51842,9 @@ pci:v00001A22* + pci:v00001A29* + ID_VENDOR_FROM_DATABASE=Fortinet, Inc. + ++pci:v00001A29d00004338* ++ ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC ++ + pci:v00001A2B* + ID_VENDOR_FROM_DATABASE=Ascom AG + +@@ -51605,6 +52214,12 @@ pci:v00001AF4d00001005* + pci:v00001AF4d00001009* + ID_MODEL_FROM_DATABASE=Virtio filesystem + ++pci:v00001AF4d00001110* ++ ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory ++ ++pci:v00001AF4d00001110sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001AF5* + ID_VENDOR_FROM_DATABASE=Netezza Corp. + +@@ -51647,6 +52262,9 @@ pci:v00001B21d00000612sv00001849sd00000612* + pci:v00001B21d00001042* + ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller + ++pci:v00001B21d00001042sv00001043sd00008488* ++ ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ + pci:v00001B21d00001042sv00001849sd00001042* + ID_MODEL_FROM_DATABASE=Motherboard + +@@ -51662,6 +52280,39 @@ pci:v00001B2C* + pci:v00001B36* + ID_VENDOR_FROM_DATABASE=Red Hat, Inc. + ++pci:v00001B36d00000001* ++ ID_MODEL_FROM_DATABASE=QEMU PCI-PCI bridge ++ ++pci:v00001B36d00000002* ++ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter ++ ++pci:v00001B36d00000002sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000003* ++ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter ++ ++pci:v00001B36d00000003sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000004* ++ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter ++ ++pci:v00001B36d00000004sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000005* ++ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device ++ ++pci:v00001B36d00000005sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ++pci:v00001B36d00000100* ++ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card ++ ++pci:v00001B36d00000100sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00001B37* + ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB + +@@ -51725,6 +52376,9 @@ pci:v00001B4Bd00009130sv00001043sd00008438* + pci:v00001B4Bd00009172* + ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller + ++pci:v00001B4Bd00009178* ++ ID_MODEL_FROM_DATABASE=88SE9170 PCIe SATA 6Gb/s Controller ++ + pci:v00001B4Bd0000917A* + ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller + +@@ -51875,6 +52529,9 @@ pci:v00001BBFd00000004* + pci:v00001BF4* + ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation + ++pci:v00001BF4d00000001* ++ ID_MODEL_FROM_DATABASE=SentinelEX ++ + pci:v00001BFD* + ID_VENDOR_FROM_DATABASE=EeeTOP + +@@ -51902,6 +52559,18 @@ pci:v00001C2Cd000000A1* + pci:v00001C2Cd000000A2* + ID_MODEL_FROM_DATABASE=FBC8XG Capture 8x10Gb + ++pci:v00001C2Cd000000A3* ++ ID_MODEL_FROM_DATABASE=FBC2XG Capture 2x10Gb ++ ++pci:v00001C2Cd000000A4* ++ ID_MODEL_FROM_DATABASE=FBC4XGG3 Capture 4x10Gb ++ ++pci:v00001C2Cd000000A5* ++ ID_MODEL_FROM_DATABASE=FBC2XLG Capture 2x40Gb ++ ++pci:v00001C2Cd000000A6* ++ ID_MODEL_FROM_DATABASE=FBC1CG Capture 1x100Gb ++ + pci:v00001C32* + ID_VENDOR_FROM_DATABASE=Highland Technology, Inc. + +@@ -53970,7 +54639,7 @@ pci:v00008086d00000100sv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + + pci:v00008086d00000100sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard + + pci:v00008086d00000101* + ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port +@@ -53987,6 +54656,9 @@ pci:v00008086d00000102* + pci:v00008086d00000102sv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + ++pci:v00008086d00000102sv00001043sd00000102* ++ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ + pci:v00008086d00000104* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller + +@@ -54065,9 +54737,15 @@ pci:v00008086d00000151* + pci:v00008086d00000151sv00001043sd00001477* + ID_MODEL_FROM_DATABASE=N56VZ + ++pci:v00008086d00000151sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00000151sv00001043sd000084CA* + ID_MODEL_FROM_DATABASE=P8H77-I Motherboard + ++pci:v00008086d00000151sv00008086sd00002010* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00000152* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + +@@ -54098,12 +54776,21 @@ pci:v00008086d00000154sv00001043sd00001517* + pci:v00008086d00000155* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + ++pci:v00008086d00000155sv00008086sd00002010* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00000156* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller + + pci:v00008086d00000158* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller + ++pci:v00008086d00000158sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ++pci:v00008086d00000158sv00008086sd00002010* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00000159* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + +@@ -54116,6 +54803,9 @@ pci:v00008086d0000015C* + pci:v00008086d0000015D* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + ++pci:v00008086d0000015Dsv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d0000015E* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + +@@ -54137,6 +54827,9 @@ pci:v00008086d00000166sv00001043sd00002103* + pci:v00008086d0000016A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + ++pci:v00008086d0000016Asv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ + pci:v00008086d00000172* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + +@@ -54753,7 +55446,7 @@ pci:v00008086d0000095Asv00008086sd00005002* + ID_MODEL_FROM_DATABASE=Wireless-N 7265 + + pci:v00008086d0000095Asv00008086sd0000500A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 + + pci:v00008086d0000095Asv00008086sd00005010* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 +@@ -54770,9 +55463,18 @@ pci:v00008086d0000095Asv00008086sd0000502A* + pci:v00008086d0000095Asv00008086sd00005090* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00005100* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ++pci:v00008086d0000095Asv00008086sd0000510A* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00005110* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00005112* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00005190* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + +@@ -54794,9 +55496,15 @@ pci:v00008086d0000095Asv00008086sd00005590* + pci:v00008086d0000095Asv00008086sd00009010* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00009012* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00009110* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + ++pci:v00008086d0000095Asv00008086sd00009112* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ + pci:v00008086d0000095Asv00008086sd00009210* + ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 + +@@ -55089,397 +55797,409 @@ pci:v00008086d00000D36* + ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller + + pci:v00008086d00000E00* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DMI2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 + + pci:v00008086d00000E01* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode + + pci:v00008086d00000E02* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1a ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a + + pci:v00008086d00000E03* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1b ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b + + pci:v00008086d00000E04* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2a ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a + + pci:v00008086d00000E05* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2b ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2b + + pci:v00008086d00000E06* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2c ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c + + pci:v00008086d00000E07* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2d ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2d + + pci:v00008086d00000E08* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3a ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a + + pci:v00008086d00000E09* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3b ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3b + + pci:v00008086d00000E0A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3c ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3c + + pci:v00008086d00000E0B* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3d ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3d + + pci:v00008086d00000E10* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E13* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E17* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E18* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E1C* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + + pci:v00008086d00000E1D* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E1E* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + + pci:v00008086d00000E1F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + + pci:v00008086d00000E20* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 + + pci:v00008086d00000E21* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 + + pci:v00008086d00000E22* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 + + pci:v00008086d00000E23* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 + + pci:v00008086d00000E24* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 + + pci:v00008086d00000E25* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 + + pci:v00008086d00000E26* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 + + pci:v00008086d00000E27* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 + + pci:v00008086d00000E28* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 VTd/Memory Map/Misc ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc + + pci:v00008086d00000E29* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Memory Hotplug ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Memory Hotplug + + pci:v00008086d00000E2A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO RAS ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS + + pci:v00008086d00000E2C* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IOAPIC ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC + + pci:v00008086d00000E2E* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA + + pci:v00008086d00000E2F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA + + pci:v00008086d00000E30* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 + + pci:v00008086d00000E32* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 + + pci:v00008086d00000E33* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + + pci:v00008086d00000E34* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E36* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E37* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E38* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 + + pci:v00008086d00000E3A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 + + pci:v00008086d00000E3E* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E3F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + + pci:v00008086d00000E40* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 + + pci:v00008086d00000E41* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E43* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 + + pci:v00008086d00000E44* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 ++ ++pci:v00008086d00000E45* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register ++ ++pci:v00008086d00000E47* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + + pci:v00008086d00000E60* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 + + pci:v00008086d00000E68* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers + + pci:v00008086d00000E6A* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E6B* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E6C* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E6D* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + + pci:v00008086d00000E71* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers + + pci:v00008086d00000E74* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E75* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + + pci:v00008086d00000E77* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E79* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers + + pci:v00008086d00000E7D* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + + pci:v00008086d00000E7F* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E80* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 + + pci:v00008086d00000E81* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + + pci:v00008086d00000E83* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 + + pci:v00008086d00000E84* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 ++ ++pci:v00008086d00000E85* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + + pci:v00008086d00000E87* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Registers + + pci:v00008086d00000E90* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + + pci:v00008086d00000E93* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + + pci:v00008086d00000E94* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 1 ++ ++pci:v00008086d00000E95* ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + + pci:v00008086d00000EA0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 + + pci:v00008086d00000EA8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers + + pci:v00008086d00000EAA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAB* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAD* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + + pci:v00008086d00000EAE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EAF* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EB0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 + + pci:v00008086d00000EB1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 + + pci:v00008086d00000EB2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 + + pci:v00008086d00000EB3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 + + pci:v00008086d00000EB4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 + + pci:v00008086d00000EB5* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 + + pci:v00008086d00000EB6* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 + + pci:v00008086d00000EB7* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 + + pci:v00008086d00000EBC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EBE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EBF* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + + pci:v00008086d00000EC0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0 + + pci:v00008086d00000EC1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1 + + pci:v00008086d00000EC2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2 + + pci:v00008086d00000EC3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3 + + pci:v00008086d00000EC4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 4 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 4 + + pci:v00008086d00000EC8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 System Address Decoder ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder + + pci:v00008086d00000EC9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers + + pci:v00008086d00000ECA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers + + pci:v00008086d00000ED8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000ED9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDD* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EDF* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EE0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE5* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE6* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE7* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EE9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEB* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EED* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EEE* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + + pci:v00008086d00000EF0* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 + + pci:v00008086d00000EF1* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 + + pci:v00008086d00000EF2* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 + + pci:v00008086d00000EF3* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 + + pci:v00008086d00000EF4* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 + + pci:v00008086d00000EF5* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 + + pci:v00008086d00000EF6* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 + + pci:v00008086d00000EF7* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 + + pci:v00008086d00000EF8* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EF9* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFA* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFB* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFC* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000EFD* +- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO ++ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000F00* + ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +@@ -55868,6 +56588,9 @@ pci:v00008086d0000100Esv00001028sd00000151* + pci:v00008086d0000100Esv0000107Bsd00008920* + ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter + ++pci:v00008086d0000100Esv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000100Esv00008086sd0000001E* + ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter + +@@ -56057,6 +56780,9 @@ pci:v00008086d0000101Esv00008086sd0000101E* + pci:v00008086d00001026* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + ++pci:v00008086d00001026sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d00001026sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -56867,15 +57593,24 @@ pci:v00008086d000010D3* + pci:v00008086d000010D3sv0000103Csd00003250* + ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter + ++pci:v00008086d000010D3sv00001043sd00008369* ++ ID_MODEL_FROM_DATABASE=Motherboard ++ + pci:v00008086d000010D3sv000010A9sd00008029* + ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet + + pci:v00008086d000010D3sv000015D9sd0000060A* + ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard + ++pci:v00008086d000010D3sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d000010D3sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter + ++pci:v00008086d000010D3sv00008086sd0000357A* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d000010D3sv00008086sd0000A01F* + ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter + +@@ -57002,6 +57737,9 @@ pci:v00008086d000010EF* + pci:v00008086d000010EFsv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d000010EFsv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d000010F0* + ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection + +@@ -57086,6 +57824,9 @@ pci:v00008086d000010FBsv0000108Esd00007B11* + pci:v00008086d000010FBsv00001734sd000011A9* + ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection + ++pci:v00008086d000010FBsv000017AAsd00001071* ++ ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric ++ + pci:v00008086d000010FBsv00008086sd00000002* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 + +@@ -57182,6 +57923,9 @@ pci:v00008086d00001209* + pci:v00008086d00001209sv0000140Bsd00000610* + ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board + ++pci:v00008086d00001209sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00001209sv00004C53sd00001050* + ID_MODEL_FROM_DATABASE=CT7 mainboard + +@@ -57428,6 +58172,9 @@ pci:v00008086d00001229sv00001775sd00001100* + pci:v00008086d00001229sv00001775sd0000CE90* + ID_MODEL_FROM_DATABASE=CE9 + ++pci:v00008086d00001229sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00001229sv00004C53sd00001080* + ID_MODEL_FROM_DATABASE=CT8 mainboard + +@@ -57782,6 +58529,9 @@ pci:v00008086d00001502* + pci:v00008086d00001502sv00001028sd000004A3* + ID_MODEL_FROM_DATABASE=Precision M4600 + ++pci:v00008086d00001502sv00008086sd0000357A* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00001503* + ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection + +@@ -57878,12 +58628,18 @@ pci:v00008086d00001520* + pci:v00008086d00001521* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection + ++pci:v00008086d00001521sv00001028sd00000602* ++ ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM ++ + pci:v00008086d00001521sv00001028sd00001F60* + ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC + + pci:v00008086d00001521sv00001028sd00001F62* + ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC + ++pci:v00008086d00001521sv00001028sd0000FF9A* ++ ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC ++ + pci:v00008086d00001521sv0000103Csd000017D1* + ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter + +@@ -57911,6 +58667,9 @@ pci:v00008086d00001521sv0000108Esd00007B18* + pci:v00008086d00001521sv000010A9sd0000802A* + ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE + ++pci:v00008086d00001521sv000017AAsd00001074* ++ ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric ++ + pci:v00008086d00001521sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 + +@@ -57962,6 +58721,9 @@ pci:v00008086d00001522sv00008086sd000000A4* + pci:v00008086d00001523* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection + ++pci:v00008086d00001523sv00001028sd00001F9B* ++ ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC ++ + pci:v00008086d00001523sv0000103Csd00001784* + ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter + +@@ -58025,6 +58787,9 @@ pci:v00008086d00001528sv0000108Esd00007B15* + pci:v00008086d00001528sv00001137sd000000BF* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 + ++pci:v00008086d00001528sv000017AAsd00001073* ++ ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric ++ + pci:v00008086d00001528sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 + +@@ -58055,6 +58820,9 @@ pci:v00008086d00001533* + pci:v00008086d00001533sv0000103Csd00000003* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 + ++pci:v00008086d00001533sv000017AAsd00001100* ++ ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter ++ + pci:v00008086d00001533sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 + +@@ -58103,6 +58871,9 @@ pci:v00008086d0000154Asv00008086sd0000011B* + pci:v00008086d0000154Asv00008086sd0000011C* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 + ++pci:v00008086d0000154C* ++ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ + pci:v00008086d0000154D* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter + +@@ -58148,12 +58919,78 @@ pci:v00008086d0000155Dsv00008086sd00000002* + pci:v00008086d00001560* + ID_MODEL_FROM_DATABASE=Ethernet Controller X540 + ++pci:v00008086d00001571* ++ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ ++pci:v00008086d00001572* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter ++ ++pci:v00008086d00001572sv00001028sd00001F99* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC ++ ++pci:v00008086d00001572sv00008086sd00000001* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ++pci:v00008086d00001572sv00008086sd00000002* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ++pci:v00008086d00001572sv00008086sd00000004* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ++pci:v00008086d00001572sv00008086sd00000005* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter ++ ++pci:v00008086d00001572sv00008086sd00000006* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter ++ ++pci:v00008086d00001572sv00008086sd00000007* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ ++pci:v00008086d00001572sv00008086sd00000008* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ + pci:v00008086d0000157B* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection + + pci:v00008086d0000157C* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + ++pci:v00008086d00001580* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane ++ ++pci:v00008086d00001581* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane ++ ++pci:v00008086d00001581sv00001028sd00001F98* ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC ++ ++pci:v00008086d00001583* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ ++ ++pci:v00008086d00001583sv00008086sd00000001* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ++pci:v00008086d00001583sv00008086sd00000002* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ++pci:v00008086d00001583sv00008086sd00000003* ++ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 ++ ++pci:v00008086d00001584* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ ++ ++pci:v00008086d00001584sv00008086sd00000001* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ++pci:v00008086d00001584sv00008086sd00000002* ++ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ++pci:v00008086d00001584sv00008086sd00000003* ++ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 ++ ++pci:v00008086d00001585* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ ++ + pci:v00008086d000015A0* + ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I218-LM + +@@ -58166,6 +59003,117 @@ pci:v00008086d000015A2* + pci:v00008086d000015A3* + ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V + ++pci:v00008086d00001600* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI ++ ++pci:v00008086d00001601* ++ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x16 Controller ++ ++pci:v00008086d00001602* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001603* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Camarillo Device ++ ++pci:v00008086d00001604* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI ++ ++pci:v00008086d00001605* ++ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x8 Controller ++ ++pci:v00008086d00001606* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001607* ++ ID_MODEL_FROM_DATABASE=Broadwell-U CHAPS Device ++ ++pci:v00008086d00001608* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI ++ ++pci:v00008086d00001609* ++ ID_MODEL_FROM_DATABASE=Broadwell-U x4 PCIe ++ ++pci:v00008086d0000160A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160C* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Audio Controller ++ ++pci:v00008086d0000160D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000160F* ++ ID_MODEL_FROM_DATABASE=Broadwell-U SoftSKU ++ ++pci:v00008086d00001610* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI ++ ++pci:v00008086d00001612* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001614* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI ++ ++pci:v00008086d00001616* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001618* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI ++ ++pci:v00008086d0000161A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000161B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000161D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000161E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001622* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001626* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000162E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001632* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d00001636* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163A* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163B* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163D* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ ++pci:v00008086d0000163E* ++ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics ++ + pci:v00008086d00001960* + ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor + +@@ -58308,7 +59256,10 @@ pci:v00008086d00001C02sv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + + pci:v00008086d00001C02sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ++pci:v00008086d00001C02sv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS + + pci:v00008086d00001C03* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller +@@ -58346,8 +59297,11 @@ pci:v00008086d00001C10sv00001028sd000004AA* + pci:v00008086d00001C10sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + ++pci:v00008086d00001C10sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00001C10sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C12* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 +@@ -58379,18 +59333,27 @@ pci:v00008086d00001C18* + pci:v00008086d00001C18sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + ++pci:v00008086d00001C18sv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00001C1A* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 + + pci:v00008086d00001C1Asv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + ++pci:v00008086d00001C1Asv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00001C1C* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 + + pci:v00008086d00001C1E* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 + ++pci:v00008086d00001C1Esv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d00001C20* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller + +@@ -58412,6 +59375,9 @@ pci:v00008086d00001C20sv00001028sd000004DA* + pci:v00008086d00001C20sv00001043sd00008418* + ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard + ++pci:v00008086d00001C20sv00001043sd0000841B* ++ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ + pci:v00008086d00001C20sv00008086sd00002008* + ID_MODEL_FROM_DATABASE=DQ67SW board + +@@ -58434,10 +59400,10 @@ pci:v00008086d00001C22sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C22sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C22sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C24* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller +@@ -58461,10 +59427,10 @@ pci:v00008086d00001C26sv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C26sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C26sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C27* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 +@@ -58494,10 +59460,10 @@ pci:v00008086d00001C2Dsv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C2Dsv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C2Dsv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 + + pci:v00008086d00001C33* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller +@@ -58521,7 +59487,7 @@ pci:v00008086d00001C3Asv00001028sd000004DA* + ID_MODEL_FROM_DATABASE=Vostro 3750 + + pci:v00008086d00001C3Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P8 series motherboard + + pci:v00008086d00001C3Asv00008086sd00007270* + ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] +@@ -58577,6 +59543,9 @@ pci:v00008086d00001C4A* + pci:v00008086d00001C4Asv00001028sd000004AA* + ID_MODEL_FROM_DATABASE=XPS 8300 + ++pci:v00008086d00001C4Asv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ + pci:v00008086d00001C4B* + ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller + +@@ -58610,6 +59579,9 @@ pci:v00008086d00001C51* + pci:v00008086d00001C52* + ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller + ++pci:v00008086d00001C52sv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00001C53* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller + +@@ -58622,6 +59594,9 @@ pci:v00008086d00001C55* + pci:v00008086d00001C56* + ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller + ++pci:v00008086d00001C56sv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ + pci:v00008086d00001C57* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller + +@@ -59345,6 +60320,9 @@ pci:v00008086d0000225C* + pci:v00008086d0000225D* + ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 3120 series + ++pci:v00008086d0000225E* ++ ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 31S1 ++ + pci:v00008086d00002310* + ID_MODEL_FROM_DATABASE=DH89xxCC LPC Controller + +@@ -59495,6 +60473,9 @@ pci:v00008086d00002415sv000011D4sd00005340* + pci:v00008086d00002415sv00001734sd00001025* + ID_MODEL_FROM_DATABASE=Activy 3xx + ++pci:v00008086d00002415sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002416* + ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller + +@@ -59804,6 +60785,9 @@ pci:v00008086d00002449sv00001186sd00007801* + pci:v00008086d00002449sv0000144Dsd00002602* + ID_MODEL_FROM_DATABASE=HomePNA 1M CNR + ++pci:v00008086d00002449sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002449sv00008086sd00003010* + ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE + +@@ -59897,6 +60881,9 @@ pci:v00008086d0000244Esv00001028sd000002DA* + pci:v00008086d0000244Esv0000103Csd00002A3B* + ID_MODEL_FROM_DATABASE=Pavilion A1512X + ++pci:v00008086d0000244Esv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000244Esv0000103Csd000031FE* + ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 + +@@ -59906,15 +60893,27 @@ pci:v00008086d0000244Esv0000103Csd0000330B* + pci:v00008086d0000244Esv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + ++pci:v00008086d0000244Esv00001043sd0000844D* ++ ID_MODEL_FROM_DATABASE=P8 series motherboard ++ + pci:v00008086d0000244Esv00001458sd00005000* + ID_MODEL_FROM_DATABASE=Motherboard + ++pci:v00008086d0000244Esv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ++pci:v00008086d0000244Esv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d0000244Esv000015D9sd00009680* + ID_MODEL_FROM_DATABASE=X7DBN Motherboard + + pci:v00008086d0000244Esv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + ++pci:v00008086d0000244Esv00008086sd00007270* ++ ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ + pci:v00008086d00002450* + ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) + +@@ -60671,6 +61670,9 @@ pci:v00008086d000024CDsv00001734sd00001004* + pci:v00008086d000024CDsv00001734sd00001055* + ID_MODEL_FROM_DATABASE=Amilo M1420 + ++pci:v00008086d000024CDsv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000024CDsv00004C53sd00001090* + ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard + +@@ -60689,6 +61691,9 @@ pci:v00008086d000024D0* + pci:v00008086d000024D1* + ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller + ++pci:v00008086d000024D1sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D1sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60740,6 +61745,9 @@ pci:v00008086d000024D2sv00001014sd000002DD* + pci:v00008086d000024D2sv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024D2sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D2sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60809,6 +61817,9 @@ pci:v00008086d000024D3sv00001014sd000002ED* + pci:v00008086d000024D3sv00001028sd00000156* + ID_MODEL_FROM_DATABASE=Precision 360 + ++pci:v00008086d000024D3sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D3sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60860,6 +61871,9 @@ pci:v00008086d000024D4sv00001014sd000002DD* + pci:v00008086d000024D4sv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024D4sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D4sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60926,6 +61940,9 @@ pci:v00008086d000024D5* + pci:v00008086d000024D5sv0000100Asd0000147B* + ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard + ++pci:v00008086d000024D5sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D5sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -60977,6 +61994,9 @@ pci:v00008086d000024D7* + pci:v00008086d000024D7sv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=xSeries server mainboard + ++pci:v00008086d000024D7sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024D7sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61040,6 +62060,9 @@ pci:v00008086d000024DBsv00001014sd000002DD* + pci:v00008086d000024DBsv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024DBsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024DBsv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61112,6 +62135,9 @@ pci:v00008086d000024DDsv00001014sd000002DD* + pci:v00008086d000024DDsv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d000024DDsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024DDsv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61169,6 +62195,9 @@ pci:v00008086d000024DE* + pci:v00008086d000024DEsv00001014sd000002ED* + ID_MODEL_FROM_DATABASE=xSeries server mainboard + ++pci:v00008086d000024DEsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d000024DEsv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -61208,6 +62237,21 @@ pci:v00008086d000024DEsv00008086sd0000524C* + pci:v00008086d000024DF* + ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller + ++pci:v00008086d000024DFsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ++pci:v00008086d000024F3* ++ ID_MODEL_FROM_DATABASE=Wireless 8260 ++ ++pci:v00008086d000024F3sv00008086sd00000010* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ ++pci:v00008086d000024F4* ++ ID_MODEL_FROM_DATABASE=Wireless 8260 ++ ++pci:v00008086d000024F4sv00008086sd00000030* ++ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ + pci:v00008086d00002500* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) + +@@ -61679,6 +62723,9 @@ pci:v00008086d000025ABsv00001775sd00001100* + pci:v00008086d000025ABsv00001775sd0000CE90* + ID_MODEL_FROM_DATABASE=CE9 + ++pci:v00008086d000025ABsv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000025ABsv00004C53sd000010B0* + ID_MODEL_FROM_DATABASE=CL9 mainboard + +@@ -62330,6 +63377,9 @@ pci:v00008086d00002668sv00001043sd0000814E* + pci:v00008086d00002668sv00001462sd00007028* + ID_MODEL_FROM_DATABASE=915P/G Neo2 + ++pci:v00008086d00002668sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000266A* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller + +@@ -62657,6 +63707,9 @@ pci:v00008086d00002770sv00001043sd0000817A* + pci:v00008086d00002770sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=E4500 + ++pci:v00008086d00002770sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d00002770sv00008086sd0000544E* + ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP + +@@ -62669,6 +63722,9 @@ pci:v00008086d00002772* + pci:v00008086d00002772sv0000103Csd00002A3B* + ID_MODEL_FROM_DATABASE=Pavilion A1512X + ++pci:v00008086d00002772sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d00002772sv00008086sd0000544E* + ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP + +@@ -62831,6 +63887,9 @@ pci:v00008086d000027B8sv00001043sd00008179* + pci:v00008086d000027B8sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=E4500 + ++pci:v00008086d000027B8sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027B8sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -62906,6 +63965,9 @@ pci:v00008086d000027C0sv00001462sd00002310* + pci:v00008086d000027C0sv00001462sd00007236* + ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard + ++pci:v00008086d000027C0sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027C0sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -62961,7 +64023,7 @@ pci:v00008086d000027C4sv00001028sd000001D7* + ID_MODEL_FROM_DATABASE=XPS M1210 + + pci:v00008086d000027C4sv000017AAsd0000200E* +- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 ++ ID_MODEL_FROM_DATABASE=ThinkPad T60 + + pci:v00008086d000027C5* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] +@@ -63026,6 +64088,9 @@ pci:v00008086d000027C8sv0000144Dsd0000C072* + pci:v00008086d000027C8sv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027C8sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027C8sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63089,6 +64154,9 @@ pci:v00008086d000027C9sv0000144Dsd0000C072* + pci:v00008086d000027C9sv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027C9sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027C9sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63152,6 +64220,9 @@ pci:v00008086d000027CAsv0000144Dsd0000C072* + pci:v00008086d000027CAsv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027CAsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027CAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63209,6 +64280,9 @@ pci:v00008086d000027CBsv0000144Dsd0000C072* + pci:v00008086d000027CBsv00001458sd00005004* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027CBsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027CBsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63266,6 +64340,9 @@ pci:v00008086d000027CCsv0000144Dsd0000C072* + pci:v00008086d000027CCsv00001458sd00005006* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027CCsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027CCsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63296,6 +64373,9 @@ pci:v00008086d000027D0sv0000144Dsd0000C072* + pci:v00008086d000027D0sv00001458sd00005001* + ID_MODEL_FROM_DATABASE=GA-D525TUD + ++pci:v00008086d000027D0sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D0sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63314,6 +64394,9 @@ pci:v00008086d000027D2sv0000103Csd000030A3* + pci:v00008086d000027D2sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=Notebook N150P + ++pci:v00008086d000027D2sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D2sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63326,6 +64409,9 @@ pci:v00008086d000027D4* + pci:v00008086d000027D4sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=Notebook N150P + ++pci:v00008086d000027D4sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D4sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63341,6 +64427,9 @@ pci:v00008086d000027D6sv0000103Csd000030A3* + pci:v00008086d000027D6sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=Notebook N150P + ++pci:v00008086d000027D6sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D6sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63410,6 +64499,9 @@ pci:v00008086d000027D8sv00001458sd0000A002* + pci:v00008086d000027D8sv00001458sd0000A102* + ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard + ++pci:v00008086d000027D8sv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027D8sv0000152Dsd00000753* + ID_MODEL_FROM_DATABASE=Softmodem + +@@ -63470,6 +64562,9 @@ pci:v00008086d000027DAsv0000144Dsd0000C072* + pci:v00008086d000027DAsv00001458sd00005001* + ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard + ++pci:v00008086d000027DAsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027DAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63545,6 +64640,9 @@ pci:v00008086d000027DFsv0000107Bsd00005048* + pci:v00008086d000027DFsv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop + ++pci:v00008086d000027DFsv00001462sd00007418* ++ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ + pci:v00008086d000027DFsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + +@@ -63632,6 +64730,9 @@ pci:v00008086d00002822* + pci:v00008086d00002822sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d00002822sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002823* + ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller + +@@ -64202,6 +65303,9 @@ pci:v00008086d00002916* + pci:v00008086d00002916sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d00002916sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002916sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + +@@ -64223,6 +65327,9 @@ pci:v00008086d00002918sv00001028sd00000236* + pci:v00008086d00002918sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002918sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002919* + ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller + +@@ -64265,6 +65372,9 @@ pci:v00008086d00002921sv00001462sd00007360* + pci:v00008086d00002922* + ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] + ++pci:v00008086d00002922sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002922sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64331,6 +65441,9 @@ pci:v00008086d00002930sv00001028sd0000020D* + pci:v00008086d00002930sv00001028sd00000211* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002930sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002930sv0000103Csd00003628* + ID_MODEL_FROM_DATABASE=dv6-1190en + +@@ -64340,6 +65453,9 @@ pci:v00008086d00002930sv00001043sd00008277* + pci:v00008086d00002930sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002930sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002930sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64388,12 +65504,18 @@ pci:v00008086d00002934sv00001028sd0000029C* + pci:v00008086d00002934sv00001028sd00002011* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002934sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002934sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002934sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002934sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002934sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64433,12 +65555,18 @@ pci:v00008086d00002935sv00001028sd00000287* + pci:v00008086d00002935sv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller + ++pci:v00008086d00002935sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002935sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002935sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002935sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002935sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64472,12 +65600,18 @@ pci:v00008086d00002936sv00001028sd00000287* + pci:v00008086d00002936sv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller + ++pci:v00008086d00002936sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002936sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002936sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002936sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002936sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64511,12 +65645,18 @@ pci:v00008086d00002937sv00001028sd0000029C* + pci:v00008086d00002937sv00001028sd00002011* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002937sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002937sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002937sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002937sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002937sv00008086sd00002937* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64553,12 +65693,18 @@ pci:v00008086d00002938sv00001028sd00000287* + pci:v00008086d00002938sv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller + ++pci:v00008086d00002938sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002938sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002938sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002938sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002938sv00008086sd00002938* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64580,12 +65726,18 @@ pci:v00008086d00002939sv00001028sd00000210* + pci:v00008086d00002939sv00001028sd00000237* + ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller + ++pci:v00008086d00002939sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002939sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d00002939sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d00002939sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00002939sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64625,12 +65777,18 @@ pci:v00008086d0000293Asv00001028sd00000287* + pci:v00008086d0000293Asv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller + ++pci:v00008086d0000293Asv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000293Asv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d0000293Asv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d0000293Asv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000293Asv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -64661,12 +65819,18 @@ pci:v00008086d0000293Csv00001028sd00000287* + pci:v00008086d0000293Csv00001028sd0000029C* + ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller + ++pci:v00008086d0000293Csv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000293Csv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + + pci:v00008086d0000293Csv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d0000293Csv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000293Csv00008086sd0000293C* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64685,6 +65849,9 @@ pci:v00008086d0000293Esv00001028sd0000020D* + pci:v00008086d0000293Esv00001028sd00000211* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d0000293Esv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d0000293Esv0000103Csd00003628* + ID_MODEL_FROM_DATABASE=dv6-1190en + +@@ -64694,6 +65861,9 @@ pci:v00008086d0000293Esv00001043sd0000829F* + pci:v00008086d0000293Esv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d0000293Esv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d0000293Esv00008086sd0000293E* + ID_MODEL_FROM_DATABASE=Optiplex 755 + +@@ -64712,6 +65882,9 @@ pci:v00008086d00002940sv00001028sd0000020D* + pci:v00008086d00002940sv00001028sd00000211* + ID_MODEL_FROM_DATABASE=Optiplex 755 + ++pci:v00008086d00002940sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002940sv00001043sd00008277* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + +@@ -64730,6 +65903,9 @@ pci:v00008086d00002944* + pci:v00008086d00002944sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d00002944sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d00002946* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 + +@@ -64910,6 +66086,9 @@ pci:v00008086d000029C0* + pci:v00008086d000029C0sv00001028sd0000020D* + ID_MODEL_FROM_DATABASE=Inspiron 530 + ++pci:v00008086d000029C0sv0000103Csd00002A6F* ++ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ + pci:v00008086d000029C0sv00001043sd00008276* + ID_MODEL_FROM_DATABASE=P5K PRO Motherboard + +@@ -64919,6 +66098,9 @@ pci:v00008086d000029C0sv00001043sd000082B0* + pci:v00008086d000029C0sv00001462sd00007360* + ID_MODEL_FROM_DATABASE=G33/P35 Neo + ++pci:v00008086d000029C0sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000029C0sv00008086sd00005044* + ID_MODEL_FROM_DATABASE=Desktop Board DP35DP + +@@ -66050,6 +67232,9 @@ pci:v00008086d00002F37* + pci:v00008086d00002F38* + ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1 + ++pci:v00008086d00002F39* ++ ID_MODEL_FROM_DATABASE=Haswell-E I/O Performance Monitoring ++ + pci:v00008086d00002F3A* + ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2 + +@@ -66899,6 +68084,9 @@ pci:v00008086d00003591* + pci:v00008086d00003591sv00001014sd000002DD* + ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard + ++pci:v00008086d00003591sv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d00003591sv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -66968,6 +68156,9 @@ pci:v00008086d0000359Bsv00001014sd000002DD* + pci:v00008086d0000359E* + ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub + ++pci:v00008086d0000359Esv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00008086d0000359Esv00001028sd00000169* + ID_MODEL_FROM_DATABASE=Precision 470 + +@@ -67586,6 +68777,9 @@ pci:v00008086d00003B0A* + pci:v00008086d00003B0Asv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d00003B0Asv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B0B* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller + +@@ -67661,6 +68855,9 @@ pci:v00008086d00003B22* + pci:v00008086d00003B22sv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d00003B22sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B23* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller + +@@ -67715,6 +68912,9 @@ pci:v00008086d00003B30sv00001028sd000002DA* + pci:v00008086d00003B30sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B30sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B30sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67736,6 +68936,9 @@ pci:v00008086d00003B34sv00001028sd000002DA* + pci:v00008086d00003B34sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B34sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B34sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67769,6 +68972,9 @@ pci:v00008086d00003B3Csv00001028sd000002DA* + pci:v00008086d00003B3Csv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B3Csv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B3Csv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67793,12 +68999,18 @@ pci:v00008086d00003B42sv00001028sd000002DA* + pci:v00008086d00003B42sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B42sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B44* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 + + pci:v00008086d00003B44sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B44sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B46* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 + +@@ -67841,6 +69053,9 @@ pci:v00008086d00003B56sv00001028sd000002DA* + pci:v00008086d00003B56sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d00003B56sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B56sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -67853,6 +69068,9 @@ pci:v00008086d00003B64* + pci:v00008086d00003B64sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=Aspire 7740G + ++pci:v00008086d00003B64sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d00003B64sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=PC1-GROOVE + +@@ -68601,10 +69819,10 @@ pci:v00008086d0000504C* + ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist TDM + + pci:v00008086d00005200* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server ++ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server PCI Bridge + + pci:v00008086d00005201* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server ++ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller + + pci:v00008086d00005201sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter +@@ -68612,6 +69830,12 @@ pci:v00008086d00005201sv00008086sd00000001* + pci:v00008086d0000530D* + ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor + ++pci:v00008086d00005845* ++ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller ++ ++pci:v00008086d00005845sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d000065C0* + ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub + +@@ -68688,7 +69912,7 @@ pci:v00008086d00007020* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] + + pci:v00008086d00007020sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine + + pci:v00008086d00007030* + ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] +@@ -68720,6 +69944,9 @@ pci:v00008086d00007112* + pci:v00008086d00007112sv000015ADsd00001976* + ID_MODEL_FROM_DATABASE=Virtual Machine Chipset + ++pci:v00008086d00007112sv00001AF4sd00001100* ++ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ + pci:v00008086d00007113* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI + +@@ -69383,6 +70610,9 @@ pci:v00008086d00008D04* + pci:v00008086d00008D06* + ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] + ++pci:v00008086d00008D06sv000017AAsd00001031* ++ ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i ++ + pci:v00008086d00008D08* + ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] + +@@ -69959,6 +71189,9 @@ pci:v00008086d0000D131* + pci:v00008086d0000D131sv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=OptiPlex 980 + ++pci:v00008086d0000D131sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d0000D132* + ID_MODEL_FROM_DATABASE=Core Processor DMI + +@@ -69989,6 +71222,9 @@ pci:v00008086d0000D138sv00001028sd000002DA* + pci:v00008086d0000D138sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=Latitude E6510 + ++pci:v00008086d0000D138sv000015D9sd0000060D* ++ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ + pci:v00008086d0000D139* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 + +@@ -71144,6 +72380,9 @@ pci:v00009005d00008089* + pci:v00009005d0000808F* + ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID + ++pci:v00009005d0000808Fsv00001028sd00000168* ++ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ + pci:v00009005d00008090* + ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID + +@@ -71271,11 +72510,14 @@ pci:v00009710d00009912* + ID_MODEL_FROM_DATABASE=PCIe 9912 Multi-I/O Controller + + pci:v00009710d00009922* +- ID_MODEL_FROM_DATABASE=PCIe 9922 Multi-I/O Controller ++ ID_MODEL_FROM_DATABASE=MCS9922 PCIe Multi-I/O Controller + + pci:v00009710d00009990* + ID_MODEL_FROM_DATABASE=MCS9990 PCIe to 4‐Port USB 2.0 Host Controller + ++pci:v00009850* ++ ID_VENDOR_FROM_DATABASE=3Com (wrong ID) ++ + pci:v00009902* + ID_VENDOR_FROM_DATABASE=Stargen Inc. + +@@ -71381,6 +72623,9 @@ pci:v0000BD11* + pci:v0000BDBD* + ID_VENDOR_FROM_DATABASE=Blackmagic Design + ++pci:v0000BDBDd0000A106* ++ ID_MODEL_FROM_DATABASE=Multibridge Extreme ++ + pci:v0000BDBDd0000A117* + ID_MODEL_FROM_DATABASE=Intensity Pro + +@@ -71585,6 +72830,51 @@ pci:v0000D84D* + pci:v0000DADA* + ID_VENDOR_FROM_DATABASE=Datapath Limited + ++pci:v0000DADAd00000133* ++ ID_MODEL_FROM_DATABASE=VisionRGB-X2 ++ ++pci:v0000DADAd00000139* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E1 ++ ++pci:v0000DADAd00000144* ++ ID_MODEL_FROM_DATABASE=VisionSD8 ++ ++pci:v0000DADAd00000150* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E2 ++ ++pci:v0000DADAd00000151* ++ ID_MODEL_FROM_DATABASE=VisionSD4+1 ++ ++pci:v0000DADAd00000159* ++ ID_MODEL_FROM_DATABASE=VisionAV ++ ++pci:v0000DADAd00000161* ++ ID_MODEL_FROM_DATABASE=DGC161 ++ ++pci:v0000DADAd00000165* ++ ID_MODEL_FROM_DATABASE=DGC165 ++ ++pci:v0000DADAd00000167* ++ ID_MODEL_FROM_DATABASE=DGC167 ++ ++pci:v0000DADAd00000168* ++ ID_MODEL_FROM_DATABASE=DGC168 ++ ++pci:v0000DADAd00001139* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E1S ++ ++pci:v0000DADAd00001150* ++ ID_MODEL_FROM_DATABASE=VisionRGB-E2S ++ ++pci:v0000DADAd00001151* ++ ID_MODEL_FROM_DATABASE=VisionSD4+1S ++ ++pci:v0000DADAd00001153* ++ ID_MODEL_FROM_DATABASE=VisionDVI-DL ++ ++pci:v0000DADAd00001154* ++ ID_MODEL_FROM_DATABASE=VisionSDI2 ++ + pci:v0000DB10* + ID_VENDOR_FROM_DATABASE=Diablo Technologies + +@@ -71735,6 +73025,9 @@ pci:v0000E4BFd0000CC47* + pci:v0000E4BFd0000CC4D* + ID_MODEL_FROM_DATABASE=CCM-BOOGIE + ++pci:v0000E4E4* ++ ID_VENDOR_FROM_DATABASE=Xorcom ++ + pci:v0000E55E* + ID_VENDOR_FROM_DATABASE=Essence Technology, Inc. + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 60dbcd2..014c628 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -20,6 +20,12 @@ usb:v0003* + usb:v0004* + ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart + ++usb:v0011* ++ ID_VENDOR_FROM_DATABASE=Unknown manufacturer ++ ++usb:v0011p7788* ++ ID_MODEL_FROM_DATABASE=Flash mass storage drive ++ + usb:v0053* + ID_VENDOR_FROM_DATABASE=Planex + +@@ -30,7 +36,7 @@ usb:v0079* + ID_VENDOR_FROM_DATABASE=DragonRise Inc. + + usb:v0079p0006* +- ID_MODEL_FROM_DATABASE=Generic USB Joystick ++ ID_MODEL_FROM_DATABASE=PC TWIN SHOCK Gamepad + + usb:v0079p0011* + ID_MODEL_FROM_DATABASE=Gamepad +@@ -63,7 +69,7 @@ usb:v0204* + ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd + + usb:v0204p6025* +- ID_MODEL_FROM_DATABASE=CBM2080 Flash drive controller ++ ID_MODEL_FROM_DATABASE=CBM2080 / CBM2090 Flash drive controller + + usb:v0204p6026* + ID_MODEL_FROM_DATABASE=CBM1180 Flash drive controller +@@ -263,6 +269,9 @@ usb:v03EBp2109* + usb:v03EBp210D* + ID_MODEL_FROM_DATABASE=XPLAIN evaluation kit (CDC ACM) + ++usb:v03EBp2110* ++ ID_MODEL_FROM_DATABASE=AVR JTAGICE3 Debugger and Programmer ++ + usb:v03EBp2122* + ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit + +@@ -1001,6 +1010,9 @@ usb:v03F0p2505* + usb:v03F0p2512* + ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 + ++usb:v03F0p2514* ++ ID_MODEL_FROM_DATABASE=4-port hub ++ + usb:v03F0p2517* + ID_MODEL_FROM_DATABASE=LaserJet 2410 + +@@ -1376,6 +1388,9 @@ usb:v03F0p5111* + usb:v03F0p5211* + ID_MODEL_FROM_DATABASE=PhotoSmart 3300 series + ++usb:v03F0p5307* ++ ID_MODEL_FROM_DATABASE=v165w Stick ++ + usb:v03F0p5311* + ID_MODEL_FROM_DATABASE=OfficeJet 6300 + +@@ -2054,6 +2069,21 @@ usb:v0403p8A28* + usb:v0403p8A98* + ID_MODEL_FROM_DATABASE=TIAO Multi-Protocol Adapter + ++usb:v0403p8B28* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCI70 ++ ++usb:v0403p8B29* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 CLS ++ ++usb:v0403p8B2A* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium Q1 ++ ++usb:v0403p8B2B* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCD ++ ++usb:v0403p8B2C* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 ++ + usb:v0403p9133* + ID_MODEL_FROM_DATABASE=CallerID + +@@ -2156,6 +2186,9 @@ usb:v0403pC8BD* + usb:v0403pC8BE* + ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium D1 + ++usb:v0403pC8BF* ++ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 RLV ++ + usb:v0403pCC48* + ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Mitsubishi + +@@ -2966,6 +2999,9 @@ usb:v040Ap4021* + usb:v040Ap4022* + ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer + ++usb:v040Ap402E* ++ ID_MODEL_FROM_DATABASE=605 Photo Printer ++ + usb:v040Ap4034* + ID_MODEL_FROM_DATABASE=805 Photo Printer + +@@ -4949,6 +4985,9 @@ usb:v043Ep7001* + usb:v043Ep7013* + ID_MODEL_FROM_DATABASE=MP3 Player + ++usb:v043Ep70D7* ++ ID_MODEL_FROM_DATABASE=Mouse Scanner LSM-150 [LG Smart Scan Mouse] ++ + usb:v043Ep70F5* + ID_MODEL_FROM_DATABASE=External HDD + +@@ -5114,6 +5153,9 @@ usb:v044FpB203* + usb:v044FpB300* + ID_MODEL_FROM_DATABASE=Firestorm Dual Power + ++usb:v044FpB303* ++ ID_MODEL_FROM_DATABASE=FireStorm Dual Analog 2 ++ + usb:v044FpB304* + ID_MODEL_FROM_DATABASE=Firestorm Dual Power + +@@ -6437,6 +6479,9 @@ usb:v045Ep0772* + usb:v045Ep0779* + ID_MODEL_FROM_DATABASE=LifeCam HD-3000 + ++usb:v045Ep0780* ++ ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000 ++ + usb:v045Ep0797* + ID_MODEL_FROM_DATABASE=Optical Mouse 200 + +@@ -7313,6 +7358,9 @@ usb:v046DpC062* + usb:v046DpC063* + ID_MODEL_FROM_DATABASE=DELL Laser Mouse + ++usb:v046DpC064* ++ ID_MODEL_FROM_DATABASE=M110 corded optical mouse (M-B0001) ++ + usb:v046DpC066* + ID_MODEL_FROM_DATABASE=G9x Laser Mouse + +@@ -7331,6 +7379,9 @@ usb:v046DpC06B* + usb:v046DpC06C* + ID_MODEL_FROM_DATABASE=Optical Mouse + ++usb:v046DpC077* ++ ID_MODEL_FROM_DATABASE=M105 Optical Mouse ++ + usb:v046DpC101* + ID_MODEL_FROM_DATABASE=UltraX Media Remote + +@@ -7361,6 +7412,9 @@ usb:v046DpC125* + usb:v046DpC126* + ID_MODEL_FROM_DATABASE=Harmony Link + ++usb:v046DpC12B* ++ ID_MODEL_FROM_DATABASE=Harmony Touch Remote ++ + usb:v046DpC201* + ID_MODEL_FROM_DATABASE=WingMan Extreme Joystick with Throttle + +@@ -7448,6 +7502,12 @@ usb:v046DpC226* + usb:v046DpC227* + ID_MODEL_FROM_DATABASE=G15 Refresh Keyboard + ++usb:v046DpC228* ++ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard ++ ++usb:v046DpC229* ++ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard Macro Interface ++ + usb:v046DpC22A* + ID_MODEL_FROM_DATABASE=Gaming Keyboard G110 + +@@ -7466,6 +7526,18 @@ usb:v046DpC245* + usb:v046DpC246* + ID_MODEL_FROM_DATABASE=Gaming Mouse G300 + ++usb:v046DpC248* ++ ID_MODEL_FROM_DATABASE=G105 Gaming Keyboard ++ ++usb:v046DpC24A* ++ ID_MODEL_FROM_DATABASE=G600 Gaming Mouse ++ ++usb:v046DpC24D* ++ ID_MODEL_FROM_DATABASE=G710 Gaming Keyboard ++ ++usb:v046DpC24E* ++ ID_MODEL_FROM_DATABASE=G500s Laser Gaming Mouse ++ + usb:v046DpC281* + ID_MODEL_FROM_DATABASE=WingMan Force + +@@ -8543,6 +8615,9 @@ usb:v0480pA006* + usb:v0480pA007* + ID_MODEL_FROM_DATABASE=External Disk USB 3.0 + ++usb:v0480pA009* ++ ID_MODEL_FROM_DATABASE=Stor.E Basics ++ + usb:v0480pD010* + ID_MODEL_FROM_DATABASE=External Disk 3TB + +@@ -10814,6 +10889,9 @@ usb:v04A9p31E5* + usb:v04A9p31E6* + ID_MODEL_FROM_DATABASE=PowerShot SD940 IS DIGITAL ELPH / Digital IXUS 120 IS / IXY DIGITAL 220 IS + ++usb:v04A9p31E7* ++ ID_MODEL_FROM_DATABASE=SELPHY CP790 ++ + usb:v04A9p31EA* + ID_MODEL_FROM_DATABASE=EOS Rebel T2i / EOS 550D / EOS Kiss X4 + +@@ -10985,6 +11063,9 @@ usb:v04A9p325F* + usb:v04A9p3260* + ID_MODEL_FROM_DATABASE=PowerShot SX270 HS + ++usb:v04A9p3262* ++ ID_MODEL_FROM_DATABASE=PowerShot A2600 ++ + usb:v04A9p3264* + ID_MODEL_FROM_DATABASE=PowerShot A1400 + +@@ -11000,6 +11081,9 @@ usb:v04A9p3271* + usb:v04A9p3276* + ID_MODEL_FROM_DATABASE=PowerShot SX170 IS + ++usb:v04A9p3277* ++ ID_MODEL_FROM_DATABASE=PowerShot SX510 HS ++ + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + +@@ -11312,6 +11396,9 @@ usb:v04B3p4482* + usb:v04B3p4485* + ID_MODEL_FROM_DATABASE=Serial Converter + ++usb:v04B3p4524* ++ ID_MODEL_FROM_DATABASE=40 Character Vacuum Fluorescent Display ++ + usb:v04B3p4525* + ID_MODEL_FROM_DATABASE=Double sided CRT + +@@ -12335,6 +12422,9 @@ usb:v04C5p10FE* + usb:v04C5p1150* + ID_MODEL_FROM_DATABASE=fi-6230 + ++usb:v04C5p201D* ++ ID_MODEL_FROM_DATABASE=SATA 3.0 6Gbit/s Adaptor [GROOVY] ++ + usb:v04C6* + ID_VENDOR_FROM_DATABASE=Toshiba America Electronic Components + +@@ -12374,6 +12464,9 @@ usb:v04C8p072D* + usb:v04CA* + ID_VENDOR_FROM_DATABASE=Lite-On Technology Corp. + ++usb:v04CAp004F* ++ ID_MODEL_FROM_DATABASE=SK-9020 keyboard ++ + usb:v04CAp1766* + ID_MODEL_FROM_DATABASE=HID Monitor Controls + +@@ -13346,6 +13439,9 @@ usb:v04E6p5292* + usb:v04E6p5410* + ID_MODEL_FROM_DATABASE=SCR35xx Smart Card Reader + ++usb:v04E6p5591* ++ ID_MODEL_FROM_DATABASE=SCL3711-NFC&RW ++ + usb:v04E6pE000* + ID_MODEL_FROM_DATABASE=SCRx31 Reader + +@@ -14138,6 +14234,9 @@ usb:v04F2p0841* + usb:v04F2p0860* + ID_MODEL_FROM_DATABASE=2.4G Multimedia Wireless Kit + ++usb:v04F2p1121* ++ ID_MODEL_FROM_DATABASE=Periboard 717 Mini Wireless Keyboard ++ + usb:v04F2pA001* + ID_MODEL_FROM_DATABASE=E-Video DC-100 Camera + +@@ -28935,10 +29034,10 @@ usb:v0906* + ID_VENDOR_FROM_DATABASE=Faraday Technology Corp. + + usb:v0908* +- ID_VENDOR_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd ++ ID_VENDOR_FROM_DATABASE=Siemens AG + + usb:v0908p2701* +- ID_MODEL_FROM_DATABASE=Spy Pen VGA ++ ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA + + usb:v0909* + ID_VENDOR_FROM_DATABASE=Audio-Technica Corp. +@@ -38360,6 +38459,12 @@ usb:v0FFC* + usb:v0FFCp0021* + ID_MODEL_FROM_DATABASE=Nord Stage 2 + ++usb:v0FFD* ++ ID_VENDOR_FROM_DATABASE=EarlySense ++ ++usb:v0FFDpFF00* ++ ID_MODEL_FROM_DATABASE=OEM ++ + usb:v0FFF* + ID_VENDOR_FROM_DATABASE=Aopen, Inc. + +@@ -47762,6 +47867,12 @@ usb:v2237* + usb:v2237p4161* + ID_MODEL_FROM_DATABASE=eReader White + ++usb:v228D* ++ ID_VENDOR_FROM_DATABASE=8D Technologies inc. ++ ++usb:v228Dp0001* ++ ID_MODEL_FROM_DATABASE=Terminal Bike Key Reader ++ + usb:v22A6* + ID_VENDOR_FROM_DATABASE=Pie Digital, Inc. + +-- +1.7.9.2 + diff --git a/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch b/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch new file mode 100644 index 00000000..722f7382 --- /dev/null +++ b/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch @@ -0,0 +1,29 @@ +From f3b8fbb1da6519e14985ea444f8304673d20ad3f Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 3 Sep 2014 13:28:31 +0200 +Subject: [PATCH] initrd-parse-etc.service: ignore return code of + daemon-reload + +It seems the return code of systemctl daemon-reload can be !=0 in some +circumstances, which causes a failure of the unit and breaks booting in +the initrd. +--- + units/initrd-parse-etc.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git units/initrd-parse-etc.service.in units/initrd-parse-etc.service.in +index c0b2543..42c059b 100644 +--- units/initrd-parse-etc.service.in ++++ units/initrd-parse-etc.service.in +@@ -16,7 +16,7 @@ ConditionPathExists=/etc/initrd-release + + [Service] + Type=oneshot +-ExecStartPre=@rootbindir@/systemctl daemon-reload ++ExecStartPre=-@rootbindir@/systemctl daemon-reload + # we have to retrigger initrd-fs.target after daemon-reload + ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target + ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service +-- +1.7.9.2 + diff --git a/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch b/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch new file mode 100644 index 00000000..1cf00ff0 --- /dev/null +++ b/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch @@ -0,0 +1,30 @@ +From e8c108ca9f11a382742f212f5b42a02536b3d40f Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 17 Sep 2014 00:27:16 +0300 +Subject: [PATCH] journal: Do not count on the compiler initializing + found_last to false + +There is a very unlikely case where this can happen since gcc usually +does the sane thing. But let's make sure found_last is initialized anyway. + +Fixes: CID#996386 +--- + src/journal/journal-verify.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journal-verify.c src/journal/journal-verify.c +index 6c8ca8c..b4e8f73 100644 +--- src/journal/journal-verify.c ++++ src/journal/journal-verify.c +@@ -804,7 +804,7 @@ int journal_file_verify( + usec_t last_usec = 0; + int data_fd = -1, entry_fd = -1, entry_array_fd = -1; + unsigned i; +- bool found_last; ++ bool found_last = false; + #ifdef HAVE_GCRYPT + uint64_t last_tag = 0; + #endif +-- +1.7.9.2 + diff --git a/0001-journal-cleanup-up-error-handling-in-update_catalog.patch b/0001-journal-cleanup-up-error-handling-in-update_catalog.patch new file mode 100644 index 00000000..2062149b --- /dev/null +++ b/0001-journal-cleanup-up-error-handling-in-update_catalog.patch @@ -0,0 +1,104 @@ +From e3b9d9c8027a7c4c55cf1614e0fe9423fad69e8f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Apr 2014 08:44:55 -0400 +Subject: [PATCH] journal: cleanup up error handling in update_catalog() + +- Negative/positive errno mixup caused duplicates not to be detected properly. + Now we get a warning about some duplicate entries in our own catalogs... +- Errors in update_catalog would be ignored, but they should not be. +--- + src/journal/catalog.c | 25 +++++++++++++------------ + src/journal/test-catalog.c | 3 ++- + 2 files changed, 15 insertions(+), 13 deletions(-) + +diff --git src/journal/catalog.c src/journal/catalog.c +index 3ed0b7e..02dedc4 100644 +--- src/journal/catalog.c ++++ src/journal/catalog.c +@@ -103,7 +103,7 @@ static int finish_item( + const char *payload) { + + ssize_t offset; +- CatalogItem *i; ++ _cleanup_free_ CatalogItem *i = NULL; + int r; + + assert(h); +@@ -126,13 +126,14 @@ static int finish_item( + i->offset = htole64((uint64_t) offset); + + r = hashmap_put(h, i, i); +- if (r == EEXIST) { ++ if (r == -EEXIST) { + log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.", + SD_ID128_FORMAT_VAL(id), language ? language : "C"); +- free(i); + return 0; +- } ++ } else if (r < 0) ++ return r; + ++ i = NULL; + return 0; + } + +@@ -383,8 +384,8 @@ error: + int catalog_update(const char* database, const char* root, const char* const* dirs) { + _cleanup_strv_free_ char **files = NULL; + char **f; +- Hashmap *h; + struct strbuf *sb = NULL; ++ _cleanup_hashmap_free_free_ Hashmap *h = NULL; + _cleanup_free_ CatalogItem *items = NULL; + CatalogItem *i; + Iterator j; +@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di + } + + STRV_FOREACH(f, files) { +- log_debug("reading file '%s'", *f); +- catalog_import_file(h, sb, *f); ++ log_debug("Reading file '%s'", *f); ++ r = catalog_import_file(h, sb, *f); ++ if (r < 0) { ++ log_error("Failed to import file '%s': %s.", ++ *f, strerror(-r)); ++ goto finish; ++ } + } + + if (hashmap_size(h) <= 0) { + log_info("No items in catalog."); +- r = 0; + goto finish; + } else + log_debug("Found %u items in catalog.", hashmap_size(h)); +@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di + log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.", + database, n, sb->len, r); + +- r = 0; +- + finish: +- if (h) +- hashmap_free_free(h); + if (sb) + strbuf_cleanup(sb); + +diff --git src/journal/test-catalog.c src/journal/test-catalog.c +index b087a8b..967ab67 100644 +--- src/journal/test-catalog.c ++++ src/journal/test-catalog.c +@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) { + + setlocale(LC_ALL, "de_DE.UTF-8"); + +- log_set_max_level(LOG_DEBUG); ++ log_parse_environment(); ++ log_open(); + + test_catalog_file_lang(); + +-- +1.7.9.2 + diff --git a/0001-journal-compress-return-early-in-uncompress_startswi.patch b/0001-journal-compress-return-early-in-uncompress_startswi.patch new file mode 100644 index 00000000..74777205 --- /dev/null +++ b/0001-journal-compress-return-early-in-uncompress_startswi.patch @@ -0,0 +1,186 @@ +Based on 5e592c66bdf76dfc8445b332f7a5088ca504ee90 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 4 Jul 2014 19:53:58 -0400 +Subject: [PATCH] journal/compress: return early in uncompress_startswith + +uncompress_startswith would always decode the whole stream, even +if it did not start with the given prefix. + +Reallocation policy was also strange. +--- + src/journal/compress.c | 91 ++++++++++++++----------------------------------- + 1 file changed, 27 insertions(+), 64 deletions(-) + +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: + bool uncompress_blob(const void *src, uint64_t src_size, + void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { + +- lzma_stream s = LZMA_STREAM_INIT; ++ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; + lzma_ret ret; + uint64_t space; +- bool b = false; + + assert(src); + assert(src_size > 0); +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui + if (ret != LZMA_OK) + return false; + +- if (*dst_alloc_size <= src_size) { +- void *p; +- +- p = realloc(*dst, src_size*2); +- if (!p) +- return false; +- +- *dst = p; +- *dst_alloc_size = src_size*2; +- } ++ space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); ++ if (!greedy_realloc(dst, dst_alloc_size, space)) ++ return false; + + s.next_in = src; + s.avail_in = src_size; + + s.next_out = *dst; +- space = dst_max > 0 ? MIN(*dst_alloc_size, dst_max) : *dst_alloc_size; + s.avail_out = space; + + for (;;) { +- void *p; ++ uint64_t used; + + ret = lzma_code(&s, LZMA_FINISH); + +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui + break; + + if (ret != LZMA_OK) +- goto fail; ++ return false; + + if (dst_max > 0 && (space - s.avail_out) >= dst_max) + break; + +- p = realloc(*dst, space*2); +- if (!p) +- goto fail; +- +- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *dst); +- s.avail_out += space; ++ if (dst_max > 0 && space == dst_max) ++ return false; + +- space *= 2; ++ used = space - s.avail_out; ++ space = MIN(2 * space, dst_max ?: (uint64_t) -1); ++ if (!greedy_realloc(dst, dst_alloc_size, space)) ++ return false; + +- *dst = p; +- *dst_alloc_size = space; ++ s.avail_out = space - used; ++ s.next_out = *dst + used; + } + + *dst_size = space - s.avail_out; +- b = true; +- +-fail: +- lzma_end(&s); +- +- return b; ++ return true; + } + + bool uncompress_startswith(const void *src, uint64_t src_size, +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s + const void *prefix, uint64_t prefix_len, + uint8_t extra) { + +- lzma_stream s = LZMA_STREAM_INIT; ++ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; + lzma_ret ret; +- bool b = false; + + /* Checks whether the uncompressed blob starts with the + * mentioned prefix. The byte extra needs to follow the +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s + if (ret != LZMA_OK) + return false; + +- if (*buffer_size <= prefix_len) { +- void *p; +- +- p = realloc(*buffer, prefix_len*2); +- if (!p) +- return false; +- +- *buffer = p; +- *buffer_size = prefix_len*2; +- } ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) ++ return false; + + s.next_in = src; + s.avail_in = src_size; +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s + s.avail_out = *buffer_size; + + for (;;) { +- void *p; +- + ret = lzma_code(&s, LZMA_FINISH); + + if (ret != LZMA_STREAM_END && ret != LZMA_OK) +- goto fail; ++ return false; + +- if ((*buffer_size - s.avail_out > prefix_len) && +- memcmp(*buffer, prefix, prefix_len) == 0 && +- ((const uint8_t*) *buffer)[prefix_len] == extra) +- break; ++ if (*buffer_size - s.avail_out >= prefix_len + 1) ++ return memcmp(*buffer, prefix, prefix_len) == 0 && ++ ((const uint8_t*) *buffer)[prefix_len] == extra; + + if (ret == LZMA_STREAM_END) +- goto fail; +- +- p = realloc(*buffer, *buffer_size*2); +- if (!p) +- goto fail; ++ return false; + +- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *buffer); + s.avail_out += *buffer_size; + +- *buffer = p; +- *buffer_size *= 2; +- } +- +- b = true; +- +-fail: +- lzma_end(&s); ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) ++ return false; + +- return b; ++ s.next_out = *buffer + *buffer_size - s.avail_out; ++ } + } diff --git a/0001-journal-fix-export-of-messages-containing-newlines.patch b/0001-journal-fix-export-of-messages-containing-newlines.patch new file mode 100644 index 00000000..75cdd023 --- /dev/null +++ b/0001-journal-fix-export-of-messages-containing-newlines.patch @@ -0,0 +1,80 @@ +From 0ade5ffe2778e7b238bba8d979ca4d53dee1e702 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 31 Mar 2014 08:57:28 -0400 +Subject: [PATCH] journal: fix export of messages containing newlines + +In "export" format, newlines are significant, and messages containing +newlines must be exported as "binary". +--- + src/shared/logs-show.c | 7 ++++--- + src/shared/utf8.c | 5 +++-- + src/shared/utf8.h | 5 ++++- + 3 files changed, 11 insertions(+), 6 deletions(-) + +diff --git src/shared/logs-show.c src/shared/logs-show.c +index 9d14933..b0b66f6 100644 +--- src/shared/logs-show.c ++++ src/shared/logs-show.c +@@ -547,7 +547,9 @@ static int output_export( + startswith(data, "_BOOT_ID=")) + continue; + +- if (!utf8_is_printable(data, length)) { ++ if (utf8_is_printable_newline(data, length, false)) ++ fwrite(data, length, 1, f); ++ else { + const char *c; + uint64_t le64; + +@@ -562,8 +564,7 @@ static int output_export( + le64 = htole64(length - (c - (const char*) data) - 1); + fwrite(&le64, sizeof(le64), 1, f); + fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f); +- } else +- fwrite(data, length, 1, f); ++ } + + fputc('\n', f); + } +diff --git src/shared/utf8.c src/shared/utf8.c +index 0b524d8..c559c13 100644 +--- src/shared/utf8.c ++++ src/shared/utf8.c +@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) { + return unichar; + } + +-bool utf8_is_printable(const char* str, size_t length) { ++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) { + const uint8_t *p; + + assert(str); +@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) { + int encoded_len = utf8_encoded_valid_unichar((const char *)p); + int val = utf8_encoded_to_unichar((const char*)p); + +- if (encoded_len < 0 || val < 0 || is_unicode_control(val)) ++ if (encoded_len < 0 || val < 0 || is_unicode_control(val) || ++ (!newline && val == '\n')) + return false; + + length -= encoded_len; +diff --git src/shared/utf8.h src/shared/utf8.h +index c0eb73a..c087995 100644 +--- src/shared/utf8.h ++++ src/shared/utf8.h +@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_; + char *ascii_is_valid(const char *s) _pure_; + char *utf8_escape_invalid(const char *s); + +-bool utf8_is_printable(const char* str, size_t length) _pure_; ++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_; ++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) { ++ return utf8_is_printable_newline(str, length, true); ++} + + char *utf16_to_utf8(const void *s, size_t length); + +-- +1.7.9.2 + diff --git a/0001-journalctl-do-not-output-reboot-markers-when-running.patch b/0001-journalctl-do-not-output-reboot-markers-when-running.patch new file mode 100644 index 00000000..b2aed874 --- /dev/null +++ b/0001-journalctl-do-not-output-reboot-markers-when-running.patch @@ -0,0 +1,27 @@ +From 4bed248505da4da94d82078fe60326a374970e97 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 26 Sep 2014 10:49:55 -0400 +Subject: [PATCH] journalctl: do not output --reboot-- markers when running + non-interactively + +They are not legal in the export format. +--- + src/journal/journalctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journalctl.c src/journal/journalctl.c +index 47206d3..89a922c 100644 +--- src/journal/journalctl.c ++++ src/journal/journalctl.c +@@ -1939,7 +1939,7 @@ int main(int argc, char *argv[]) { + goto finish; + } + +- if (!arg_merge) { ++ if (!arg_merge && !arg_quiet) { + sd_id128_t boot_id; + + r = sd_journal_get_monotonic_usec(j, NULL, &boot_id); +-- +1.7.9.2 + diff --git a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch new file mode 100644 index 00000000..09bd55ef --- /dev/null +++ b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch @@ -0,0 +1,36 @@ +From d258d4967eb24122c2b1014d4e873f61b633f1d2 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Sun, 25 May 2014 11:57:22 +0200 +Subject: [PATCH] keymap: Add Lenovo Enhanced USB Keyboard + +https://bugs.freedesktop.org/show_bug.cgi?id=77234 +--- + hwdb/60-keyboard.hwdb | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 832c686..fe5b3ee 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -579,6 +579,18 @@ keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* + KEYBOARD_KEY_f1=f21 + ++# enhanced USB keyboard ++keyboard:usb:v04B3p301B* ++ KEYBOARD_KEY_90001=prog1 # ThinkVantage ++ KEYBOARD_KEY_90002=screenlock ++ KEYBOARD_KEY_90003=file ++ KEYBOARD_KEY_90004=wordprocessor ++ KEYBOARD_KEY_90005=spreadsheet ++ KEYBOARD_KEY_90006=calc ++ KEYBOARD_KEY_90007=mail ++ KEYBOARD_KEY_90008=www ++ ++ + ########################################################### + # Logitech + ########################################################### +-- +1.7.9.2 + diff --git a/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch b/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch new file mode 100644 index 00000000..67fb3061 --- /dev/null +++ b/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch @@ -0,0 +1,38 @@ +From 71ed2d38711e345f22e2200bc7bb156aed98972a Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 12 Nov 2014 23:30:46 +0100 +Subject: [PATCH] keymap: Add support for IBM ThinkPad X41 Tablet + +Scancode taken from: +http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons#Linux_Support + +William Jon McCann provided the DMI match. IBM seems to have +swapped the version and model of the system: + Manufacturer: IBM + Product Name: 18666TU + Version: ThinkPad X41 Tablet +--- + hwdb/60-keyboard.hwdb | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index d2ca965..56a4009 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -594,6 +594,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* + KEYBOARD_KEY_6f=down # down on d-pad + KEYBOARD_KEY_69=enter # enter on d-pad + ++# ThinkPad X41 Tablet ++keyboard:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr* ++ KEYBOARD_KEY_6c=direction # rotate ++ KEYBOARD_KEY_68=f13 # toolbox ++ KEYBOARD_KEY_6b=esc # escape ++ KEYBOARD_KEY_69=enter # enter on d-pad ++ + # IdeaPad + keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_42=f23 +-- +1.7.9.2 + diff --git a/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch b/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch new file mode 100644 index 00000000..29bbbcd1 --- /dev/null +++ b/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch @@ -0,0 +1,27 @@ +From a046659f8551e1c8f79ba4b66472444e285255df Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Tue, 7 Oct 2014 11:20:04 +0200 +Subject: [PATCH] keymap: Fix touchpad toggle on Toshiba Satellite P75-A7200 + +Just like everywhere else we use KEY_F21 instead of KEY_TOUCHPAD_TOGGLE for X +friendliness. +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 8a1baa7..1fea32a 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -1094,7 +1094,7 @@ keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75 + KEYBOARD_KEY_13c=brightnessdown + KEYBOARD_KEY_13d=brightnessup + KEYBOARD_KEY_13e=switchvideomode +- KEYBOARD_KEY_13f=touchpad_toggle ++ KEYBOARD_KEY_13f=f21 # Touchpad toggle + KEYBOARD_KEY_9e=wlan + + ########################################################### +-- +1.7.9.2 + diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch index 4763dcaf..ea89c56a 100644 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ b/0001-let-systemctl-completion-ignore-at-names.patch @@ -1,5 +1,5 @@ ---- systemd-210/shell-completion/bash/systemctl.in -+++ systemd-210/shell-completion/bash/systemctl.in 2014-08-20 15:01:04.502736981 +0000 +--- systemd-210/shell-completion/bash/systemctl ++++ systemd-210/shell-completion/bash/systemctl 2014-08-20 15:01:04.502736981 +0000 @@ -43,7 +43,7 @@ __filter_units_by_property () { local units=("$@") local props diff --git a/0001-login-fix-memory-leak-on-DropController.patch b/0001-login-fix-memory-leak-on-DropController.patch new file mode 100644 index 00000000..ba5ed744 --- /dev/null +++ b/0001-login-fix-memory-leak-on-DropController.patch @@ -0,0 +1,36 @@ +From 60240797a4ce464ec7a0537ccbec4c83f599251c Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Fri, 22 Aug 2014 14:57:11 +0200 +Subject: [PATCH] login: fix memory-leak on DropController() + +Our bus-name watch helpers only remove a bus-name if it's not a +controller, anymore. If we call manager_drop_busname() before +unregistering the controller, the busname will not be dropped. Therefore, +first drop the controller, then drop the bus-name. +--- + src/login/logind-session.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 136bbce..0c6e425 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -1061,11 +1061,13 @@ bool session_is_controller(Session *s, const char *sender) { + + static void session_swap_controller(Session *s, char *name) { + SessionDevice *sd; ++ char *c; + + if (s->controller) { +- manager_drop_busname(s->manager, s->controller); +- free(s->controller); ++ c = s->controller; + s->controller = NULL; ++ manager_drop_busname(s->manager, c); ++ free(c); + + /* Drop all devices as they're now unused. Do that after the + * controller is released to avoid sending out useles +-- +1.7.9.2 + diff --git a/0001-login-fix-pos-array-allocation.patch b/0001-login-fix-pos-array-allocation.patch new file mode 100644 index 00000000..2549d220 --- /dev/null +++ b/0001-login-fix-pos-array-allocation.patch @@ -0,0 +1,52 @@ +From a1937e679f76758635d295287398abe526de2522 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 25 Feb 2014 12:20:25 +0100 +Subject: [PATCH] login: fix pos-array allocation + +GREEDY_REALLOC takes a pointer to the real size, not the array-width as +argument. Therefore, our array is currently way to small to keep the seat +positions. + +Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store +the array-width instead of array-size. +--- + src/login/logind-seat.c | 2 +- + src/shared/util.h | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 631be5f..36ec7ed 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -475,7 +475,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) { + if (seat_has_vts(s)) + pos = session->vtnr; + +- if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1)) ++ if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1)) + return; + + seat_evict_position(s, session); +diff --git src/shared/util.h src/shared/util.h +index 9913fce..78b1444 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -723,6 +723,15 @@ void* greedy_realloc0(void **p, size_t *allocated, size_t need); + #define GREEDY_REALLOC0(array, allocated, need) \ + greedy_realloc0((void**) &(array), &(allocated), sizeof((array)[0]) * (need)) + ++#define GREEDY_REALLOC0_T(array, count, need) \ ++ ({ \ ++ size_t _size = (count) * sizeof((array)[0]); \ ++ void *_ptr = GREEDY_REALLOC0((array), _size, (need)); \ ++ if (_ptr) \ ++ (count) = _size / sizeof((array)[0]); \ ++ _ptr; \ ++ }) ++ + static inline void _reset_errno_(int *saved_errno) { + errno = *saved_errno; + } +-- +1.7.9.2 + diff --git a/0001-login-pause-devices-before-acknowledging-VT-switches.patch b/0001-login-pause-devices-before-acknowledging-VT-switches.patch new file mode 100644 index 00000000..0a335de2 --- /dev/null +++ b/0001-login-pause-devices-before-acknowledging-VT-switches.patch @@ -0,0 +1,82 @@ +Based on 2ec3ff668ff03410e94cfef8e3ee9384a8222211 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Fri, 19 Sep 2014 13:26:39 +0200 +Subject: [PATCH] login: pause devices before acknowledging VT switches + +If a session controller does not need synchronous VT switches, we allow +them to pass VT control to logind, which acknowledges all VT switches +unconditionally. This works fine with all sessions using the dbus API, +but causes out-of-sync device use if we switch to legacy sessions that +are notified via VT signals. Those are processed before logind notices +the session-switch via sysfs. Therefore, leaving the old session still +active for a short amount of time. + +This, in fact, may cause the legacy session to prepare graphics devices +before the old session was deactivated, and thus, maybe causing the old +session to interfer with graphics device usage. + +Fix this by releasing devices immediately before acknowledging VT +switches. This way, sessions without VT handlers are required to support +async session switching (which they do in that case, anyway). +--- + src/login/logind-session.c | 21 +++++++++++++++++++++ + src/login/logind-session.h | 1 + + src/login/logind.c | 4 ++-- + 3 files changed, 24 insertions(+), 2 deletions(-) + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-09-24 07:40:45.786639180 +0000 +@@ -1040,6 +1040,27 @@ void session_restore_vt(Session *s) { + s->vtfd = -1; + } + ++void session_leave_vt(Session *s) { ++ assert(s); ++ ++ /* This is called whenever we get a VT-switch signal from the kernel. ++ * We acknowledge all of them unconditionally. Note that session are ++ * free to overwrite those handlers and we only register them for ++ * sessions with controllers. Legacy sessions are not affected. ++ * However, if we switch from a non-legacy to a legacy session, we must ++ * make sure to pause all device before acknowledging the switch. We ++ * process the real switch only after we are notified via sysfs, so the ++ * legacy session might have already started using the devices. If we ++ * don't pause the devices before the switch, we might confuse the ++ * session we switch to. */ ++ ++ if (s->vtfd < 0) ++ return; ++ ++ session_device_pause_all(s); ++ ioctl(s->vtfd, VT_RELDISP, 1); ++} ++ + bool session_is_controller(Session *s, const char *sender) { + assert(s); + +--- src/login/logind-session.h ++++ src/login/logind-session.h 2014-09-24 07:41:50.290236363 +0000 +@@ -173,6 +173,7 @@ KillWho kill_who_from_string(const char + + int session_mute_vt(Session *s); + void session_restore_vt(Session *s); ++void session_leave_vt(Session *s); + + bool session_is_controller(Session *s, const char *sender); + int session_set_controller(Session *s, const char *sender, bool force); +--- src/login/logind.c ++++ src/login/logind.c 2014-09-24 00:00:00.000000000 +0000 +@@ -743,11 +743,11 @@ static int manager_vt_switch(sd_event_so + } + + if (active->vtfd >= 0) { +- ioctl(active->vtfd, VT_RELDISP, 1); ++ session_leave_vt(active); + } else { + LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { + if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { +- ioctl(iter->vtfd, VT_RELDISP, 1); ++ session_leave_vt(iter); + break; + } + } diff --git a/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch b/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch new file mode 100644 index 00000000..ba00c036 --- /dev/null +++ b/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch @@ -0,0 +1,60 @@ +From f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 5 Nov 2014 08:30:52 -0500 +Subject: [PATCH] login: rerun vconsole-setup when switching from vgacon to + fbcon + +The initialization performed by systemd-vconsole-setup is reset +when changing console drivers (say from vgacon to fbcon), so we +need to run it in that case. + +See +http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html +http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html +http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html + +This commit adds a udev rule to make systemd-vconsole-setup get run when +the fbcon device becomes available. + +(david: moved into new file 90-vconsole.rules instead of 71-seats.rules; + build-failures are on me, not on Ray) +--- + Makefile.am | 3 +++ + src/vconsole/90-vconsole.rules | 11 +++++++++++ + 2 files changed, 14 insertions(+) + create mode 100644 src/vconsole/90-vconsole.rules + +diff --git Makefile.am Makefile.am +index 3686103..f614b86 100644 +--- Makefile.am ++++ Makefile.am +@@ -4439,6 +4439,9 @@ rootlibexec_PROGRAMS += \ + nodist_systemunit_DATA += \ + units/systemd-vconsole-setup.service + ++dist_udevrules_DATA += \ ++ src/vconsole/90-vconsole.rules ++ + SYSINIT_TARGET_WANTS += \ + systemd-vconsole-setup.service + endif +diff --git src/vconsole/90-vconsole.rules src/vconsole/90-vconsole.rules +new file mode 100644 +index 0000000..bf6a9ef +--- /dev/null ++++ src/vconsole/90-vconsole.rules +@@ -0,0 +1,11 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++ ++# Kernel resets vconsole state when changing console drivers so run ++# systemd-vconsole-setup when fbcon loads ++ ++ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="/usr/lib/systemd/systemd-vconsole-setup" +-- +1.7.9.2 + diff --git a/0001-login-simplify-controller-handling.patch b/0001-login-simplify-controller-handling.patch new file mode 100644 index 00000000..0ca9ec52 --- /dev/null +++ b/0001-login-simplify-controller-handling.patch @@ -0,0 +1,118 @@ +Based on b12e56156e5f363ebb8dc4ea5c10f5fd0665dc9d Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Mon, 1 Sep 2014 14:04:44 +0200 +Subject: [PATCH] login: simplify controller handling + +Simplify the way we handler session-controllers and fix several +shortcomings: + * send ReleaseDevice() signals on forced session takeover + * fix mem-leaks for busnames in case VT preparation fails (non-critical) + * avoid passing pre-allocated names to helpers +--- + src/login/logind-session.c | 55 ++++++++++++++++++++++---------------------- + 1 file changed, 28 insertions(+), 27 deletions(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 58453b5..10a43a4 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -1059,32 +1059,30 @@ bool session_is_controller(Session *s, const char *sender) { + return streq_ptr(s->controller, sender); + } + +-static void session_swap_controller(Session *s, char *name) { ++static void session_release_controller(Session *s, bool notify) { ++ _cleanup_free_ char *name = NULL; + SessionDevice *sd; +- char *c; + +- if (s->controller) { +- c = s->controller; +- s->controller = NULL; +- manager_drop_busname(s->manager, c); +- free(c); ++ if (!s->controller) ++ return; + +- /* Drop all devices as they're now unused. Do that after the +- * controller is released to avoid sending out useles +- * dbus signals. */ +- while ((sd = hashmap_first(s->devices))) +- session_device_free(sd); ++ name = s->controller; + +- if (!name) +- session_restore_vt(s); +- } ++ /* By resetting the controller before releasing the devices, we won't ++ * send notification signals. This avoids sending useless notifications ++ * if the controller is released on disconnects. */ ++ if (!notify) ++ s->controller = NULL; + +- s->controller = name; +- session_save(s); ++ while ((sd = hashmap_first(s->devices))) ++ session_device_free(sd); ++ ++ s->controller = NULL; ++ manager_drop_busname(s->manager, name); + } + + int session_set_controller(Session *s, const char *sender, bool force) { +- char *t; ++ _cleanup_free_ char *name = NULL; + int r; + + assert(s); +@@ -1095,15 +1093,13 @@ int session_set_controller(Session *s, const char *sender, bool force) { + if (s->controller && !force) + return -EBUSY; + +- t = strdup(sender); +- if (!t) ++ name = strdup(sender); ++ if (!name) + return -ENOMEM; + +- r = manager_watch_busname(s->manager, sender); +- if (r) { +- free(t); ++ r = manager_watch_busname(s->manager, name); ++ if (r) + return r; +- } + + /* When setting a session controller, we forcibly mute the VT and set + * it into graphics-mode. Applications can override that by changing +@@ -1115,11 +1111,14 @@ int session_set_controller(Session *s, const char *sender, bool force) { + * or reset the VT in case it crashed/exited, too. */ + r = session_mute_vt(s); + if (r < 0) { +- free(t); ++ manager_drop_busname(s->manager, name); + return r; + } + +- session_swap_controller(s, t); ++ session_release_controller(s, true); ++ s->controller = name; ++ name = NULL; ++ session_save(s); + + return 0; + } +@@ -1130,7 +1129,9 @@ void session_drop_controller(Session *s) { + if (!s->controller) + return; + +- session_swap_controller(s, NULL); ++ session_release_controller(s, false); ++ session_save(s); ++ session_restore_vt(s); + } + + static const char* const session_state_table[_SESSION_STATE_MAX] = { +-- +1.7.9.2 + diff --git a/0001-logind-add-support-for-Triton2-Power-Button.patch b/0001-logind-add-support-for-Triton2-Power-Button.patch new file mode 100644 index 00000000..dbd0047c --- /dev/null +++ b/0001-logind-add-support-for-Triton2-Power-Button.patch @@ -0,0 +1,24 @@ +From 58d4aabedd415a735efeb8c2608ee73618c07f78 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 22 Sep 2014 22:14:39 -0400 +Subject: [PATCH] logind: add support for Triton2 Power Button + +https://bugs.freedesktop.org/show_bug.cgi?id=84201 +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules +index 36fb827..a6997f7 100644 +--- src/login/70-power-switch.rules ++++ src/login/70-power-switch.rules +@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" + + SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" + + LABEL="power_switch_end" +-- +1.7.9.2 + diff --git a/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch b/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch new file mode 100644 index 00000000..269adaba --- /dev/null +++ b/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch @@ -0,0 +1,37 @@ +From 154034270c4643b7cfe61c0be1676d78bb1b7b07 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 8 Jul 2014 12:56:55 +0200 +Subject: [PATCH] logind: allow switching to unused VTs via SwitchTo() + +If compositors use the new SwitchTo() logic to map F1-F12, we should allow +them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic +of gettys won't trigger. + +Reported-by: Jasper St. Pierre +Signed-off-by: David Herrmann +--- + src/login/logind-seat.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 3114de8..9992195 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) { + if (!num) + return -EINVAL; + +- if (num >= s->position_count || !s->positions[num]) ++ if (num >= s->position_count || !s->positions[num]) { ++ /* allow switching to unused VTs to trigger auto-activate */ ++ if (seat_has_vts(s) && num < 64) ++ return chvt(num); ++ + return -EINVAL; ++ } + + return session_activate(s->positions[num]); + } +-- +1.7.9.2 + diff --git a/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch b/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch new file mode 100644 index 00000000..382d4bf1 --- /dev/null +++ b/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch @@ -0,0 +1,168 @@ +From 6a79c58603ea816a1b4fa1520397b4e138bc1ca0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 19:30:16 +0100 +Subject: [PATCH] logind: ignore lid switch if more than 1 display is + connected + +Previously we expected the desktop environment to take an inhibitor +lock, but this opened a race on boot-up where logind might already be +running but no DE is active. + +Hence, let's move checking for additional displays into logind. This +also opens up this logic for other DEs, given that only GNOME +implemented the inhibitor logic so far. +--- + man/logind.conf.xml | 14 +++++++----- + src/login/logind-action.c | 8 +++++++ + src/login/logind-core.c | 55 +++++++++++++++++++++++++++++++++++++++++++-- + src/login/logind.h | 1 + + 4 files changed, 71 insertions(+), 7 deletions(-) + +diff --git man/logind.conf.xml man/logind.conf.xml +index 54cc379..7673201 100644 +--- man/logind.conf.xml ++++ man/logind.conf.xml +@@ -242,10 +242,10 @@ + ignore, logind will + never handle these keys. If + lock, all running +- sessions will be screen-locked; otherwise, +- the specified action +- will be taken in the respective +- event. Only input devices with the ++ sessions will be screen-locked; ++ otherwise, the specified action will ++ be taken in the respective event. Only ++ input devices with the + power-switch udev + tag will be watched for key/lid switch + events. HandlePowerKey= +@@ -257,7 +257,11 @@ + default to suspend. + HandleHibernateKey= + defaults to +- hibernate. ++ hibernate. Note ++ that the lid switch is ignored if the ++ system is inserted in a docking ++ station, or if more than one display ++ is connected. + + + +diff --git src/login/logind-action.c src/login/logind-action.c +index c04f210..da5a830 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -72,10 +72,18 @@ int manager_handle_action( + + /* If we are docked don't react to lid closing */ + if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { ++ int n; ++ + if (manager_is_docked(m)) { + log_debug("Ignoring lid switch request, system is docked."); + return 0; + } ++ ++ n = manager_count_displays(m); ++ if (n != 1) { ++ log_debug("Ignoring lid switch request, %s displays connected."); ++ return 0; ++ } + } + + /* If the key handling is inhibited, don't do anything */ +diff --git src/login/logind-core.c src/login/logind-core.c +index e4e593f..b8d03c3 100644 +--- src/login/logind-core.c ++++ src/login/logind-core.c +@@ -32,6 +32,7 @@ + #include "audit.h" + #include "bus-util.h" + #include "bus-error.h" ++#include "udev-util.h" + #include "logind.h" + + int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device) { +@@ -276,9 +277,11 @@ int manager_process_seat_device(Manager *m, struct udev_device *d) { + return 0; + } + +- /* ignore non-master devices for unknown seats */ ++ seat = hashmap_get(m->seats, sn); + master = udev_device_has_tag(d, "master-of-seat"); +- if (!master && !(seat = hashmap_get(m->seats, sn))) ++ ++ /* Ignore non-master devices for unknown seats */ ++ if (!master && !seat) + return 0; + + r = manager_add_device(m, udev_device_get_syspath(d), master, &device); +@@ -514,3 +517,51 @@ bool manager_is_docked(Manager *m) { + + return false; + } ++ ++int manager_count_displays(Manager *m) { ++ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; ++ struct udev_list_entry *item = NULL, *first = NULL; ++ int r; ++ int n = 0; ++ ++ e = udev_enumerate_new(m->udev); ++ if (!e) ++ return -ENOMEM; ++ ++ r = udev_enumerate_add_match_subsystem(e, "drm"); ++ if (r < 0) ++ return r; ++ ++ r = udev_enumerate_scan_devices(e); ++ if (r < 0) ++ return r; ++ ++ first = udev_enumerate_get_list_entry(e); ++ udev_list_entry_foreach(item, first) { ++ _cleanup_udev_device_unref_ struct udev_device *d = NULL; ++ struct udev_device *p; ++ const char *status; ++ ++ d = udev_device_new_from_syspath(m->udev, udev_list_entry_get_name(item)); ++ if (!d) ++ return -ENOMEM; ++ ++ p = udev_device_get_parent(d); ++ if (!p) ++ return -ENOMEM; ++ ++ /* If the parent shares the same subsystem as the ++ * device we are looking at then it is a connector, ++ * which is what we are interested in. */ ++ if (!streq_ptr(udev_device_get_subsystem(p), "drm")) ++ continue; ++ ++ /* We count any connector which is not explicitly ++ * "disconnected" as connected. */ ++ status = udev_device_get_sysattr_value(d, "status"); ++ if (!streq_ptr(status, "disconnected")) ++ n++; ++ } ++ ++ return n; ++} +diff --git src/login/logind.h src/login/logind.h +index 0344acc..74d6641 100644 +--- src/login/logind.h ++++ src/login/logind.h +@@ -149,6 +149,7 @@ int manager_get_user_by_pid(Manager *m, pid_t pid, User **user); + int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session); + + bool manager_is_docked(Manager *m); ++int manager_count_displays(Manager *m); + + extern const sd_bus_vtable manager_vtable[]; + +-- +1.7.9.2 + diff --git a/0001-machine-don-t-return-uninitialized-variable.patch b/0001-machine-don-t-return-uninitialized-variable.patch new file mode 100644 index 00000000..5c1bfd05 --- /dev/null +++ b/0001-machine-don-t-return-uninitialized-variable.patch @@ -0,0 +1,26 @@ +From f14aa1f1b2e4e99ee20393871b5f64f1378ed6c3 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Sun, 6 Jul 2014 14:12:28 +0200 +Subject: [PATCH] machine: don't return uninitialized variable + +Repotred by Ronny Chevalier +--- + src/machine/machine.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/machine/machine.c src/machine/machine.c +index c0fa1b2..cf38e3f 100644 +--- src/machine/machine.c ++++ src/machine/machine.c +@@ -371,7 +371,7 @@ static int machine_stop_scope(Machine *m) { + free(m->scope_job); + m->scope_job = job; + +- return r; ++ return 0; + } + + int machine_stop(Machine *m) { +-- +1.7.9.2 + diff --git a/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch b/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch new file mode 100644 index 00000000..df04192f --- /dev/null +++ b/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch @@ -0,0 +1,26 @@ +Based on 1f97091d3cb0887c264176b47b0a86c269acf0b5 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 27 Jun 2014 18:34:37 +0200 +Subject: [PATCH] main: uid_to_name() might fail due to OOM, protect against + that + +--- + src/core/main.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-07-01 12:25:17.906235000 +0000 +@@ -1525,9 +1525,10 @@ int main(int argc, char *argv[]) { + log_info("Running in initial RAM disk."); + + } else { +- _cleanup_free_ char *t = uid_to_name(getuid()); +- log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", +- getuid(), t); ++ _cleanup_free_ char *t; ++ ++ t = uid_to_name(getuid()); ++ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", getuid(), strna(t)); + } + + if (arg_running_as == SYSTEMD_SYSTEM && !skip_setup) { diff --git a/0001-make-209-working-on-older-dist.patch b/0001-make-209-working-on-older-dist.patch new file mode 100644 index 00000000..63fbd03b --- /dev/null +++ b/0001-make-209-working-on-older-dist.patch @@ -0,0 +1,79 @@ +--- systemd-209/units/kmod-static-nodes.service.in ++++ systemd-209/units/kmod-static-nodes.service.in 2014-02-27 15:04:30.378236539 +0000 +@@ -15,4 +15,5 @@ ConditionPathExists=/lib/modules/%v/modu + [Service] + Type=oneshot + RemainAfterExit=yes ++ExecStartPre=@MKDIR_P@ /run/tmpfiles.d + ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf +--- systemd-209/configure.ac ++++ systemd-209/configure.ac 2014-02-28 17:14:14.866235643 +0000 +@@ -300,9 +300,9 @@ AC_ARG_ENABLE(kmod, AS_HELP_STRING([--di + if test "x$enable_kmod" != "xno"; then + PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no) + if test "x$have_kmod" = "xyes"; then +- PKG_CHECK_MODULES(KMOD, [ libkmod >= 15 ], ++ PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ], + [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])], +- AC_MSG_ERROR([*** kmod version >= 15 not found])) ++ AC_MSG_ERROR([*** kmod version >= 14 not found])) + fi + if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then + AC_MSG_ERROR([*** kmod support requested, but libraries not found]) +--- systemd-209/configure ++++ systemd-209/configure 2014-02-28 17:13:50.770735397 +0000 +@@ -15999,12 +15999,12 @@ if test -n "$KMOD_CFLAGS"; then + pkg_cv_KMOD_CFLAGS="$KMOD_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 +- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 ++ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 15 " 2>/dev/null` ++ pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 14 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -16016,12 +16016,12 @@ if test -n "$KMOD_LIBS"; then + pkg_cv_KMOD_LIBS="$KMOD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 +- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 ++ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 15 " 2>/dev/null` ++ pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 14 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -16042,18 +16042,18 @@ else + _pkg_short_errors_supported=no + fi + if test $_pkg_short_errors_supported = yes; then +- KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 15 " 2>&1` ++ KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 14 " 2>&1` + else +- KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 15 " 2>&1` ++ KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 14 " 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$KMOD_PKG_ERRORS" >&5 + +- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 ++ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 + elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 ++ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 + else + KMOD_CFLAGS=$pkg_cv_KMOD_CFLAGS + KMOD_LIBS=$pkg_cv_KMOD_LIBS diff --git a/0001-make-fortify-happy-with-ppoll.patch b/0001-make-fortify-happy-with-ppoll.patch new file mode 100644 index 00000000..ed27a725 --- /dev/null +++ b/0001-make-fortify-happy-with-ppoll.patch @@ -0,0 +1,55 @@ +--- systemd-209/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-209/src/libsystemd/sd-bus/sd-bus.c 2014-02-28 11:08:21.354235373 +0000 +@@ -2548,7 +2548,7 @@ static int bus_poll(sd_bus *bus, bool ne + n = 2; + } + +- r = ppoll(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); ++ r = __ppoll_alias(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); + if (r < 0) + return -errno; + +--- systemd-209/src/core/hostname-setup.c ++++ systemd-209/src/core/hostname-setup.c 2014-02-28 11:14:51.594832792 +0000 +@@ -50,8 +50,8 @@ static int read_and_strip_hostname(const + } + + /* strip any leftover of a domain name */ +- if (domain = strchr(s, '.')) { +- *domain = NULL; ++ if ((domain = strchr(s, '.'))) { ++ *domain = '\0'; + } + + *hn = s; +--- systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-02-28 11:41:42.254735820 +0000 +@@ -142,7 +142,7 @@ static int ask_password_plymouth( + goto finish; + } + +- if ((j = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { ++ if ((j = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { + + if (errno == EINTR) + continue; +@@ -595,7 +595,7 @@ static int watch_passwords(void) { + if ((r = show_passwords()) < 0) + log_error("Failed to show password: %s", strerror(-r)); + +- if (poll(pollfd, _FD_MAX, -1) < 0) { ++ if (__poll_alias(pollfd, _FD_MAX, -1) < 0) { + + if (errno == EINTR) + continue; +--- systemd-209/src/shared/ask-password-api.c ++++ systemd-209/src/shared/ask-password-api.c 2014-02-28 11:47:21.754234675 +0000 +@@ -138,7 +138,7 @@ int ask_password_tty( + goto finish; + } + +- if ((k = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { ++ if ((k = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { + + if (errno == EINTR) + continue; diff --git a/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch b/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch new file mode 100644 index 00000000..f71e16bd --- /dev/null +++ b/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch @@ -0,0 +1,79 @@ +Based on 4dffec1459f50ac9f8f67ccfcb79836b4ed5a50e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 13:44:45 +0200 +Subject: [PATCH] manager: Linux on hppa has fewer rtsigs, hence avoid using + the higher ones there + +https://bugs.freedesktop.org/show_bug.cgi?id=84931 +--- + src/core/manager.c | 29 +++++++++++++++++++++++++++-- + 1 file changed, 27 insertions(+), 2 deletions(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-10-29 14:02:28.635837997 +0000 +@@ -340,11 +340,14 @@ static int manager_setup_signals(Manager + + assert(m); + +- /* We are not interested in SIGSTOP and friends. */ + assert_se(sigaction(SIGCHLD, &sa, NULL) == 0); + +- assert_se(sigemptyset(&mask) == 0); ++ /* We make liberal use of realtime signals here. On ++ * Linux/glibc we have 30 of them (with the exception of Linux ++ * on hppa, see below), between SIGRTMIN+0 ... SIGRTMIN+30 ++ * (aka SIGRTMAX). */ + ++ assert_se(sigemptyset(&mask) == 0); + sigset_add_many(&mask, + SIGCHLD, /* Child died */ + SIGTERM, /* Reexecute daemon */ +@@ -354,6 +357,7 @@ static int manager_setup_signals(Manager + SIGINT, /* Kernel sends us this on control-alt-del */ + SIGWINCH, /* Kernel sends us this on kbrequest (alt-arrowup) */ + SIGPWR, /* Some kernel drivers and upsd send us this on power failure */ ++ + SIGRTMIN+0, /* systemd: start default.target */ + SIGRTMIN+1, /* systemd: isolate rescue.target */ + SIGRTMIN+2, /* systemd: isolate emergency.target */ +@@ -361,19 +365,40 @@ static int manager_setup_signals(Manager + SIGRTMIN+4, /* systemd: start poweroff.target */ + SIGRTMIN+5, /* systemd: start reboot.target */ + SIGRTMIN+6, /* systemd: start kexec.target */ ++ ++ /* ... space for more special targets ... */ ++ + SIGRTMIN+13, /* systemd: Immediate halt */ + SIGRTMIN+14, /* systemd: Immediate poweroff */ + SIGRTMIN+15, /* systemd: Immediate reboot */ + SIGRTMIN+16, /* systemd: Immediate kexec */ ++ ++ /* ... space for more immediate system state changes ... */ ++ + SIGRTMIN+20, /* systemd: enable status messages */ + SIGRTMIN+21, /* systemd: disable status messages */ + SIGRTMIN+22, /* systemd: set log level to LOG_DEBUG */ + SIGRTMIN+23, /* systemd: set log level to LOG_INFO */ + SIGRTMIN+24, /* systemd: Immediate exit (--user only) */ ++ ++ /* .. one free signal here ... */ ++ ++#if !defined(__hppa64__) && !defined(__hppa__) ++ /* Apparently Linux on hppa has fewer RT ++ * signals (SIGRTMAX is SIGRTMIN+25 there), ++ * hence let's not try to make use of them ++ * here. Since these commands are accessible ++ * by different means and only really a safety ++ * net, the missing functionality on hppa ++ * shouldn't matter. */ ++ + SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */ + SIGRTMIN+27, /* systemd: set log target to console */ + SIGRTMIN+28, /* systemd: set log target to kmsg */ + SIGRTMIN+29, /* systemd: set log target to syslog-or-kmsg */ ++ ++ /* ... one free signal here SIGRTMIN+30 ... */ ++#endif + -1); + assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0); + diff --git a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch new file mode 100644 index 00000000..7d5b066f --- /dev/null +++ b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch @@ -0,0 +1,45 @@ +From e6a4a517befe559adf6d1dbbadf425c3538849c9 Mon Sep 17 00:00:00 2001 +From: Djalal Harouni +Date: Fri, 11 Apr 2014 01:45:52 +0100 +Subject: [PATCH] nspawn: allow to bind mount journal on top of a non empty + container journal dentry + +Currently if nspawn was called with --link-journal=host or +--link-journal=auto and the right /var/log/journal/machine-id/ exists +then the bind mount the subdirectory into the container might fail due +to the ~/mycontainer/var/log/journal/machine-id/ of the container not +being empty. + +There is no reason to check if the container journal subdir is empty +since there will be a bind mount on top of it. The user asked for a bind +mount so give it. + +Note: a next call with --link-journal=guest may fail due to the +/var/log/journal/machine-id/ on the host not being empty. + +https://bugs.freedesktop.org/show_bug.cgi?id=76193 + +Reported-by: Tobias Hunger +--- + src/nspawn/nspawn.c | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 9d9238f..ef84664 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1143,11 +1143,6 @@ static int setup_journal(const char *directory) { + } else if (access(p, F_OK) < 0) + return 0; + +- if (dir_is_empty(q) == 0) { +- log_error("%s not empty.", q); +- return -ENOTEMPTY; +- } +- + r = mkdir_p(q, 0755); + if (r < 0) { + log_error("Failed to create %s: %m", q); +-- +1.7.9.2 + diff --git a/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch b/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch new file mode 100644 index 00000000..ee7cea2a --- /dev/null +++ b/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch @@ -0,0 +1,21 @@ +Based on c00524c9cc7fb498c7244350e25823b8352f078c Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 19 Sep 2014 23:02:00 +0200 +Subject: [PATCH] nspawn: don't try to create veth link with too long ifname + +Reported by: James Lott +--- + src/nspawn/nspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-09-23 15:33:06.766236272 +0000 +@@ -1383,7 +1383,7 @@ static int setup_veth(pid_t pid, char if + + /* Use two different interface name prefixes depending whether + * we are in bridge mode or not. */ +- snprintf(iface_name, IFNAMSIZ, "%s-%s", ++ snprintf(iface_name, IFNAMSIZ - 1, "%s-%s", + arg_network_bridge ? "vb" : "ve", arg_machine); + + r = sd_rtnl_open(&rtnl, 0); diff --git a/0001-nspawn-fix-network-interface.patch b/0001-nspawn-fix-network-interface.patch new file mode 100644 index 00000000..6e9fce7c --- /dev/null +++ b/0001-nspawn-fix-network-interface.patch @@ -0,0 +1,21 @@ +Based on 3125b3ef5db70d45882c7d6f617705802c5f939e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 28 Aug 2014 12:15:51 +0200 +Subject: [PATCH] nspawn: fix --network-interface + +Use SETLINK when modifying an existing link. +--- + src/nspawn/nspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-08-29 14:11:25.866235309 +0000 +@@ -1568,7 +1568,7 @@ static int move_network_interfaces(pid_t + return -EBUSY; + } + +- r = sd_rtnl_message_new_link(rtnl, &m, RTM_NEWLINK, ifi); ++ r = sd_rtnl_message_new_link(rtnl, &m, RTM_SETLINK, ifi); + if (r < 0) { + log_error("Failed to allocate netlink message: %s", strerror(-r)); + return r; diff --git a/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch b/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch new file mode 100644 index 00000000..4378b91f --- /dev/null +++ b/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch @@ -0,0 +1,31 @@ +Based on 4212a3375e03fd12cb407b34cab59dbe4ed9f4eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 3 Aug 2014 01:28:21 -0400 +Subject: [PATCH] nspawn: fix truncation of machine names in interface names + +Based on patch by Michael Marineau : + +When deriving the network interface name from machine name strncpy was +not properly null terminating the string and the maximum string size as +returned by strlen() is actually IFNAMSIZ-1, not IFNAMSIZ. +--- + src/nspawn/nspawn.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-08-22 10:18:20.390235611 +0000 +@@ -1383,12 +1383,8 @@ static int setup_veth(pid_t pid, char if + + /* Use two different interface name prefixes depending whether + * we are in bridge mode or not. */ +- if (arg_network_bridge) +- memcpy(iface_name, "vb-", 3); +- else +- memcpy(iface_name, "ve-", 3); +- +- strncpy(iface_name+3, arg_machine, IFNAMSIZ - 3); ++ snprintf(iface_name, IFNAMSIZ, "%s-%s", ++ arg_network_bridge ? "vb" : "ve", arg_machine); + + r = sd_rtnl_open(&rtnl, 0); + if (r < 0) { diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch index 291de476..4dcfb70f 100644 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -8,11 +8,11 @@ is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. This belongs to BNC#852015 and also to BNC#855160 --- - pam_systemd.c | 19 +++++++++++++++++++ + pam-module.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---- systemd-209/src/login/pam_systemd.c -+++ systemd-209/src/login/pam_systemd.c 2014-02-26 14:31:30.158235525 +0000 +--- systemd-209/src/login/pam-module.c ++++ systemd-209/src/login/pam-module.c 2014-02-26 14:31:30.158235525 +0000 @@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); if (r != PAM_SUCCESS) diff --git a/0001-parse_uid-return-ENXIO-for-1-uids.patch b/0001-parse_uid-return-ENXIO-for-1-uids.patch new file mode 100644 index 00000000..bc23d1a9 --- /dev/null +++ b/0001-parse_uid-return-ENXIO-for-1-uids.patch @@ -0,0 +1,45 @@ +From f841a154efbb3162d2a732936f031ac7a6b0d4cf Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 1 Jul 2014 16:00:05 +0200 +Subject: [PATCH] parse_uid: return -ENXIO for -1 uids + +--- + src/shared/audit.c | 3 --- + src/shared/util.c | 4 ++-- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git src/shared/audit.c src/shared/audit.c +index 5466447..f101050 100644 +--- src/shared/audit.c ++++ src/shared/audit.c +@@ -77,9 +77,6 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) { + if (r < 0) + return r; + +- if (u == (uid_t) -1) +- return -ENXIO; +- + *uid = (uid_t) u; + return 0; + } +diff --git src/shared/util.c src/shared/util.c +index e75f6c9..9b5a47a 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -282,11 +282,11 @@ int parse_uid(const char *s, uid_t* ret_uid) { + + /* Some libc APIs use (uid_t) -1 as special placeholder */ + if (uid == (uid_t) 0xFFFFFFFF) +- return -EINVAL; ++ return -ENXIO; + + /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ + if (uid == (uid_t) 0xFFFF) +- return -EINVAL; ++ return -ENXIO; + + *ret_uid = uid; + return 0; +-- +1.7.9.2 + diff --git a/0001-po-add-Ukrainian-translation.patch b/0001-po-add-Ukrainian-translation.patch new file mode 100644 index 00000000..b7dba0ee --- /dev/null +++ b/0001-po-add-Ukrainian-translation.patch @@ -0,0 +1,406 @@ +From 260b6323cc2aebe722d5b8e43fa63a502f906774 Mon Sep 17 00:00:00 2001 +From: Daniel Korostil +Date: Thu, 17 Jul 2014 02:07:29 +0300 +Subject: [PATCH] po: add Ukrainian translation + +--- + po/LINGUAS | 1 + + po/uk.po | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 378 insertions(+) + create mode 100644 po/uk.po + +diff --git po/LINGUAS po/LINGUAS +index 2cb0f30..f214ece 100644 +--- po/LINGUAS ++++ po/LINGUAS +@@ -4,3 +4,4 @@ fr + it + pl + ru ++uk +diff --git po/uk.po po/uk.po +new file mode 100644 +index 0000000..7a5212a +--- /dev/null ++++ po/uk.po +@@ -0,0 +1,377 @@ ++# Ukrainian translation for systemd. ++# Copyright (C) 2014 systemd's COPYRIGHT HOLDER ++# This file is distributed under the same license as the systemd package. ++# Eugene Melnik , 2014. ++# Daniel Korostil , 2014. ++msgid "" ++msgstr "" ++"Project-Id-Version: systemd master\n" ++"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" ++"temd&keywords=I18N+L10N&component=general\n" ++"POT-Creation-Date: 2014-06-06 22:16+0000\n" ++"PO-Revision-Date: 2014-07-16 19:13+0300\n" ++"Last-Translator: Daniel Korostil \n" ++"Language-Team: linux.org.ua\n" ++"Language: uk\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" ++"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Virtaal 0.7.1\n" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 ++msgid "Set host name" ++msgstr "Встановити назву вузла" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 ++msgid "Authentication is required to set the local host name." ++msgstr "Засвідчення потрібне, щоб встановити назву локального вузла." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 ++msgid "Set static host name" ++msgstr "Встановити статичну назву вузла" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 ++msgid "" ++"Authentication is required to set the statically configured local host name, " ++"as well as the pretty host name." ++msgstr "" ++"Засвідчення потрібне, щоб вказати статично налаштовану назву локального " ++"вузла, так само й форматовану." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 ++msgid "Set machine information" ++msgstr "Встановити інформацію про машину" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 ++msgid "Authentication is required to set local machine information." ++msgstr "Засвідчення потрібно, щоб вказати локальну інформацію про машини." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 ++msgid "Set system locale" ++msgstr "Вказати системну локаль" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 ++msgid "Authentication is required to set the system locale." ++msgstr "Засвідчення потрібно, щоб встановити системну локаль." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 ++msgid "Set system keyboard settings" ++msgstr "Вказати налаштування системної клавіатури" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 ++msgid "Authentication is required to set the system keyboard settings." ++msgstr "Засвідчення потрібно, щоб вказати налаштування системної клавіатури." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:1 ++msgid "Allow applications to inhibit system shutdown" ++msgstr "Дозволити програмам перешкоджати вимкненню системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:2 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"shutdown." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати вимкненню системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:3 ++msgid "Allow applications to delay system shutdown" ++msgstr "Дозволити програмам затримувати вимкнення системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:4 ++msgid "" ++"Authentication is required to allow an application to delay system shutdown." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам затримувати вимкнення системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:5 ++msgid "Allow applications to inhibit system sleep" ++msgstr "Дозволити програмам перешкоджати засинанню системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:6 ++msgid "" ++"Authentication is required to allow an application to inhibit system sleep." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати засинанню системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:7 ++msgid "Allow applications to delay system sleep" ++msgstr "Дозволити програмами затримувати засинання системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:8 ++msgid "" ++"Authentication is required to allow an application to delay system sleep." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам затримувати засинання системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:9 ++msgid "Allow applications to inhibit automatic system suspend" ++msgstr "Дозволити програмам перешкоджати автоматичному призупиненню системи" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:10 ++msgid "" ++"Authentication is required to allow an application to inhibit automatic " ++"system suspend." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати автоматичному " ++"призупиненню системи." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:11 ++msgid "Allow applications to inhibit system handling of the power key" ++msgstr "Дозволити програмам перешкоджати обробленню системою клавіші живлення" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:12 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the power key." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші живлення." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:13 ++msgid "Allow applications to inhibit system handling of the suspend key" ++msgstr "" ++"Дозволити програмам перешкоджати обробленню системою клавіші призупинення" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:14 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the suspend key." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші призупинення." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:15 ++msgid "Allow applications to inhibit system handling of the hibernate key" ++msgstr "Дозволити програмам перешкоджати обробленню системою клавіші присипання" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:16 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the hibernate key." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші присипання." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:17 ++msgid "Allow applications to inhibit system handling of the lid switch" ++msgstr "" ++"Дозволити програмам перешкоджати обробленню системою клавіші перемикання " ++"кришки" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:18 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the lid switch." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " ++"системою клавіші перемикання кришки." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:19 ++msgid "Allow non-logged-in users to run programs" ++msgstr "Дозволити незареєстрованим користувачам запускати програми" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:20 ++msgid "" ++"Authentication is required to allow a non-logged-in user to run programs." ++msgstr "" ++"Засвідчення потрібно, щоб дозволити незареєстрованим користувачам запускати " ++"програми." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:21 ++msgid "Allow attaching devices to seats" ++msgstr "Дозволити під'єднання пристроїв до місць" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:22 ++msgid "Authentication is required for attaching a device to a seat." ++msgstr "Засвідчення потрібно, щоб під'єднувати пристрої до місць." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:23 ++msgid "Flush device to seat attachments" ++msgstr "Очисний пристрій для під'єднань до місця" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:24 ++msgid "" ++"Authentication is required for resetting how devices are attached to seats." ++msgstr "Засвідчення потрібно, щоб перезапустити спосіб під'єднання до місць." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:25 ++msgid "Power off the system" ++msgstr "Вимкнути систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:26 ++msgid "Authentication is required for powering off the system." ++msgstr "Засвідчення потрібно, щоб вимкнути систему." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:27 ++msgid "Power off the system while other users are logged in" ++msgstr "Вимикнути систему, коли інші користувачі ще в ній" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:28 ++msgid "" ++"Authentication is required for powering off the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб вимкнути систему, коли інші користувачі в ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:29 ++msgid "Power off the system while an application asked to inhibit it" ++msgstr "Вимкнути систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:30 ++msgid "" ++"Authentication is required for powering off the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб вимкнути систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:31 ++msgid "Reboot the system" ++msgstr "Перезавантажити систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:32 ++msgid "Authentication is required for rebooting the system." ++msgstr "Для перезавантаження системи необхідна ідентифікація." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:33 ++msgid "Reboot the system while other users are logged in" ++msgstr "Перезавантажити, якщо інщі користувачі в системі" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:34 ++msgid "" ++"Authentication is required for rebooting the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб перезапустити систему, коли інші користувачі в " ++"ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:35 ++msgid "Reboot the system while an application asked to inhibit it" ++msgstr "Перезапустити систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:36 ++msgid "" ++"Authentication is required for rebooting the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб перезапустити систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:37 ++msgid "Suspend the system" ++msgstr "Призупинити систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:38 ++msgid "Authentication is required for suspending the system." ++msgstr "Засвідчення потрібно, щоб призупинити систему." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:39 ++msgid "Suspend the system while other users are logged in" ++msgstr "Призупинити систему, коли інші користувачі в ній" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:40 ++msgid "" ++"Authentication is required for suspending the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб призупинити систему, коли інші користувачі в ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:41 ++msgid "Suspend the system while an application asked to inhibit it" ++msgstr "Призупинити систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:42 ++msgid "" ++"Authentication is required for suspending the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб призупнити систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:43 ++msgid "Hibernate the system" ++msgstr "Приспати систему" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:44 ++msgid "Authentication is required for hibernating the system." ++msgstr "Засвідчення потрібно, щоб приспати систему." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:45 ++msgid "Hibernate the system while other users are logged in" ++msgstr "Приспати систему, коли інші користувачі в ній" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:46 ++msgid "" ++"Authentication is required for hibernating the system while other users are " ++"logged in." ++msgstr "" ++"Засвідчення потрібно, щоб присипання систему, коли інші користувачі в ній." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:47 ++msgid "Hibernate the system while an application asked to inhibit it" ++msgstr "Приспати систему, коли програми намагаються першкодити цьому" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:48 ++msgid "" ++"Authentication is required for hibernating the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Засвідчення потрібно, щоб приспати систему, коли програми намагаються " ++"першкодити цьому." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 ++msgid "Set system time" ++msgstr "Вказати системний час" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 ++msgid "Authentication is required to set the system time." ++msgstr "Засвідчення потрібно, щоб вказати системний час." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 ++msgid "Set system timezone" ++msgstr "Вказати системний часовий пояс" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 ++msgid "Authentication is required to set the system timezone." ++msgstr "Засвідчення потрібно, щоб вказати системний часовий пояс." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 ++msgid "Set RTC to local timezone or UTC" ++msgstr "Вкажіть RTC для локального часового поясу або UTC" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 ++msgid "" ++"Authentication is required to control whether the RTC stores the local or " ++"UTC time." ++msgstr "Засвідчення потрібно, щоб контролювати, чи RTC зберігає час, чи UTC." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 ++msgid "Turn network time synchronization on or off" ++msgstr "Увімкнути або вимкнути синхронізування через мережу" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 ++msgid "" ++"Authentication is required to control whether network time synchronization " ++"shall be enabled." ++msgstr "" ++"Засвідчення потрібно, щоб контролювати, чи синхронізування часу через мережу " ++"запущено." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 ++msgid "Send passphrase back to system" ++msgstr "Надіслати пароль назад у систему" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 ++msgid "" ++"Authentication is required to send the entered passphrase back to the system." ++msgstr "Засвідчення потрібно, щоб надіслати введений пароль назад у систему." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 ++msgid "Privileged system and service manager access" ++msgstr "Привілейований доступ до менеджера системи і служб" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 ++msgid "Authentication is required to access the system and service manager." ++msgstr "Засвідчення потрібно, щоб доступитись до менеджера системи і служб." +-- +1.7.9.2 + diff --git a/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch b/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch new file mode 100644 index 00000000..9d10cced --- /dev/null +++ b/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch @@ -0,0 +1,27 @@ +Based on b2103dccb354de3f38c49c14ccb637bdf665e40f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 5 Apr 2014 13:59:01 -0400 +Subject: [PATCH] reduce the amount of messages logged to /dev/kmsg when + "debug" is specified + +--- + src/core/main.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-04-14 13:50:48.490814738 +0000 +@@ -412,12 +412,8 @@ static int parse_proc_cmdline_word(const + if (arg_show_status == _SHOW_STATUS_UNSET) + arg_show_status = SHOW_STATUS_AUTO; + } else if (streq(word, "debug")) { +- /* Log to kmsg, the journal socket will fill up before the +- * journal is started and tools running during that time +- * will block with every log message for for 60 seconds, +- * before they give up. */ +- log_set_max_level(LOG_DEBUG); +- log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_CONSOLE : LOG_TARGET_KMSG); ++ if (detect_container(NULL) > 0) ++ log_set_target(LOG_TARGET_CONSOLE); + } else if (!in_initrd()) { + unsigned i; + diff --git a/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch b/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch new file mode 100644 index 00000000..0438c3ee --- /dev/null +++ b/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch @@ -0,0 +1,39 @@ +From ead349509e325aad720bb0349521a9e56e2ac7c0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 13 May 2014 16:40:53 +0200 +Subject: [PATCH] replace more dup() by F_DUPFD_CLOEXEC + +--- + src/login/inhibit.c | 2 +- + src/shared/install.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/login/inhibit.c src/login/inhibit.c +index 48c2ec4..ae3afdf 100644 +--- src/login/inhibit.c ++++ src/login/inhibit.c +@@ -64,7 +64,7 @@ static int inhibit(sd_bus *bus, sd_bus_error *error) { + if (r < 0) + return r; + +- r = dup(fd); ++ r = fcntl(fd, F_DUPFD_CLOEXEC, 3); + if (r < 0) + return -errno; + +diff --git src/shared/install.c src/shared/install.c +index acfba25..9ce9403 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -332,7 +332,7 @@ static int remove_marked_symlinks( + int q, cfd; + deleted = false; + +- cfd = dup(fd); ++ cfd = fcntl(fd, F_DUPFD_CLOEXEC, 3); + if (cfd < 0) { + r = -errno; + break; +-- +1.7.9.2 + diff --git a/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch b/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch new file mode 100644 index 00000000..47dbcce3 --- /dev/null +++ b/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch @@ -0,0 +1,181 @@ +From 42c4ebcbd4cbd7b27667eb8081ee4dc46f9ece17 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 13 Mar 2014 20:33:22 +0100 +Subject: [PATCH] sd-bus: don't look for a 64bit value when we only have 32bit + value on reply cookie hash table access + +This broke hashtable lookups for the message cookies on s390x, which is +a 64bit BE machine where accessing 32bit values as 64bit and vice versa +will explode. + +Also, while we are at it, be a bit more careful when dealing with the +64bit cookies we expose and the 32bit serial numbers dbus uses in its +payload. + +Problem identified by Fridrich Strba. +--- + src/libsystemd/sd-bus/bus-dump.c | 4 ++-- + src/libsystemd/sd-bus/bus-kernel.c | 2 +- + src/libsystemd/sd-bus/bus-message.c | 15 ++++++++++----- + src/libsystemd/sd-bus/bus-message.h | 5 +++-- + src/libsystemd/sd-bus/sd-bus.c | 12 ++++++------ + 5 files changed, 22 insertions(+), 16 deletions(-) + +diff --git a/src/libsystemd/sd-bus/bus-dump.c b/src/libsystemd/sd-bus/bus-dump.c +index 0e41549..ea81644 100644 +--- a/src/libsystemd/sd-bus/bus-dump.c ++++ b/src/libsystemd/sd-bus/bus-dump.c +@@ -69,10 +69,10 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { + if (BUS_MESSAGE_COOKIE(m) == 0xFFFFFFFFULL) + fprintf(f, " Cookie=-1"); + else +- fprintf(f, " Cookie=%lu", (unsigned long) BUS_MESSAGE_COOKIE(m)); ++ fprintf(f, " Cookie=%" PRIu64, BUS_MESSAGE_COOKIE(m)); + + if (m->reply_cookie != 0) +- fprintf(f, " ReplyCookie=%lu", (unsigned long) m->reply_cookie); ++ fprintf(f, " ReplyCookie=%" PRIu64, m->reply_cookie); + + fputs("\n", f); + +diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c +index 8a2ca02..80ef15b 100644 +--- a/src/libsystemd/sd-bus/bus-kernel.c ++++ b/src/libsystemd/sd-bus/bus-kernel.c +@@ -266,7 +266,7 @@ static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) { + well_known ? 0 : + m->destination ? unique : KDBUS_DST_ID_BROADCAST; + m->kdbus->payload_type = KDBUS_PAYLOAD_DBUS; +- m->kdbus->cookie = m->header->serial; ++ m->kdbus->cookie = (uint64_t) m->header->serial; + m->kdbus->priority = m->priority; + + if (m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c +index fb894ef..97ab0e3 100644 +--- a/src/libsystemd/sd-bus/bus-message.c ++++ b/src/libsystemd/sd-bus/bus-message.c +@@ -617,7 +617,7 @@ static int message_new_reply( + t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; + t->reply_cookie = BUS_MESSAGE_COOKIE(call); + +- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); ++ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); + if (r < 0) + goto fail; + +@@ -752,7 +752,7 @@ int bus_message_new_synthetic_error( + t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; + t->reply_cookie = cookie; + +- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); ++ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); + if (r < 0) + goto fail; + +@@ -5075,21 +5075,26 @@ int bus_message_parse_fields(sd_bus_message *m) { + break; + } + +- case BUS_MESSAGE_HEADER_REPLY_SERIAL: ++ case BUS_MESSAGE_HEADER_REPLY_SERIAL: { ++ uint32_t serial; ++ + if (m->reply_cookie != 0) + return -EBADMSG; + + if (!streq(signature, "u")) + return -EBADMSG; + +- r = message_peek_field_uint32(m, &ri, item_size, &m->reply_cookie); ++ r = message_peek_field_uint32(m, &ri, item_size, &serial); + if (r < 0) + return r; + ++ m->reply_cookie = serial; ++ + if (m->reply_cookie == 0) + return -EBADMSG; + + break; ++ } + + case BUS_MESSAGE_HEADER_UNIX_FDS: + if (unix_fds != 0) +@@ -5489,7 +5494,7 @@ int bus_message_remarshal(sd_bus *bus, sd_bus_message **m) { + return -ENOMEM; + + n->reply_cookie = (*m)->reply_cookie; +- r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, n->reply_cookie); ++ r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) n->reply_cookie); + if (r < 0) + return r; + +diff --git a/src/libsystemd/sd-bus/bus-message.h b/src/libsystemd/sd-bus/bus-message.h +index 5fbe3e6..df79294 100644 +--- a/src/libsystemd/sd-bus/bus-message.h ++++ b/src/libsystemd/sd-bus/bus-message.h +@@ -84,7 +84,7 @@ struct sd_bus_message { + + sd_bus *bus; + +- uint32_t reply_cookie; ++ uint64_t reply_cookie; + + const char *path; + const char *interface; +@@ -162,7 +162,8 @@ static inline uint64_t BUS_MESSAGE_BSWAP64(sd_bus_message *m, uint64_t u) { + return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u; + } + +-static inline uint32_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { ++static inline uint64_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { ++ /* Note that we return the serial converted to a 64bit value here */ + return BUS_MESSAGE_BSWAP32(m, m->header->serial); + } + +diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c +index ca7c428..8e44e50 100644 +--- a/src/libsystemd/sd-bus/sd-bus.c ++++ b/src/libsystemd/sd-bus/sd-bus.c +@@ -1486,15 +1486,15 @@ static int bus_write_message(sd_bus *bus, sd_bus_message *m, bool hint_sync_call + return r; + + if (bus->is_kernel || *idx >= BUS_MESSAGE_SIZE(m)) +- log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", ++ log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", + bus_message_type_to_string(m->header->type), + strna(sd_bus_message_get_sender(m)), + strna(sd_bus_message_get_destination(m)), + strna(sd_bus_message_get_path(m)), + strna(sd_bus_message_get_interface(m)), + strna(sd_bus_message_get_member(m)), +- (unsigned long) BUS_MESSAGE_COOKIE(m), +- (unsigned long) m->reply_cookie, ++ BUS_MESSAGE_COOKIE(m), ++ m->reply_cookie, + strna(m->error.message)); + + return r; +@@ -2253,15 +2253,15 @@ static int process_message(sd_bus *bus, sd_bus_message *m) { + bus->current = m; + bus->iteration_counter++; + +- log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", ++ log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", + bus_message_type_to_string(m->header->type), + strna(sd_bus_message_get_sender(m)), + strna(sd_bus_message_get_destination(m)), + strna(sd_bus_message_get_path(m)), + strna(sd_bus_message_get_interface(m)), + strna(sd_bus_message_get_member(m)), +- (unsigned long) BUS_MESSAGE_COOKIE(m), +- (unsigned long) m->reply_cookie, ++ BUS_MESSAGE_COOKIE(m), ++ m->reply_cookie, + strna(m->error.message)); + + r = process_hello(bus, m); +-- +1.9.0 + diff --git a/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch b/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch new file mode 100644 index 00000000..c1326c50 --- /dev/null +++ b/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch @@ -0,0 +1,25 @@ +From ef7b6c0190fefaacf6d8f8e1a6dda4ba8b98091b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 29 Oct 2014 17:58:43 +0100 +Subject: [PATCH] sd-bus: properly handle removals of non-existing matches + +--- + src/libsystemd/sd-bus/bus-match.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c +index 18afe0f..5658c61 100644 +--- src/libsystemd/sd-bus/bus-match.c ++++ src/libsystemd/sd-bus/bus-match.c +@@ -537,7 +537,7 @@ static int bus_match_find_compare_value( + else if (BUS_MATCH_CAN_HASH(t)) + n = hashmap_get(c->compare.children, value_str); + else { +- for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next) ++ for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next) + ; + } + +-- +1.7.9.2 + diff --git a/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch b/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch new file mode 100644 index 00000000..4b9e6e87 --- /dev/null +++ b/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch @@ -0,0 +1,58 @@ +From 92daebc0d0268c35f416c1665e0da3d4be5dd69f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 11 Jul 2014 16:48:35 +0200 +Subject: [PATCH] sd-event: don't require a signal event source to be enabled + for the child event source to work + +--- + src/libsystemd/sd-event/sd-event.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index a21f7db..9a9664c 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -1919,14 +1919,13 @@ static int process_signal(sd_event *e, uint32_t events) { + int r; + + assert(e); +- assert(e->signal_sources); + + assert_return(events == EPOLLIN, -EIO); + + for (;;) { + struct signalfd_siginfo si; + ssize_t ss; +- sd_event_source *s; ++ sd_event_source *s = NULL; + + ss = read(e->signal_fd, &si, sizeof(si)); + if (ss < 0) { +@@ -1941,16 +1940,19 @@ static int process_signal(sd_event *e, uint32_t events) { + + read_one = true; + +- s = e->signal_sources[si.ssi_signo]; + if (si.ssi_signo == SIGCHLD) { + r = process_child(e); + if (r < 0) + return r; +- if (r > 0 || !s) ++ if (r > 0) + continue; +- } else +- if (!s) +- return -EIO; ++ } ++ ++ if (e->signal_sources) ++ s = e->signal_sources[si.ssi_signo]; ++ ++ if (!s) ++ continue; + + s->signal.siginfo = si; + r = source_set_pending(s, true); +-- +1.7.9.2 + diff --git a/0001-sd-event-restore-correct-timeout-behaviour.patch b/0001-sd-event-restore-correct-timeout-behaviour.patch new file mode 100644 index 00000000..8787f3f3 --- /dev/null +++ b/0001-sd-event-restore-correct-timeout-behaviour.patch @@ -0,0 +1,37 @@ +Based on eec6022cf039e62233139000b9e95db943959e48 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 13:43:30 +0200 +Subject: [PATCH] sd-event: restore correct timeout behaviour + +--- + src/libsystemd/sd-event/sd-event.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c 2014-06-06 10:26:51.422235695 +0000 +@@ -2047,6 +2047,7 @@ _public_ int sd_event_run(sd_event *e, u + unsigned ev_queue_max; + sd_event_source *p; + int r, i, m; ++ bool timedout; + + assert_return(e, -EINVAL); + assert_return(!event_pid_changed(e), -ECHILD); +@@ -2084,6 +2085,8 @@ _public_ int sd_event_run(sd_event *e, u + goto finish; + } + ++ timedout = m == 0; ++ + dual_timestamp_get(&e->timestamp); + + for (i = 0; i < m; i++) { +@@ -2123,7 +2126,7 @@ _public_ int sd_event_run(sd_event *e, u + + p = event_next_pending(e); + if (!p) { +- r = 1; ++ r = !timedout; + goto finish; + } + diff --git a/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch b/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch new file mode 100644 index 00000000..cde6a3da --- /dev/null +++ b/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch @@ -0,0 +1,111 @@ +Backport of 7ca1d31964a2553f7bd011bc10ac42e0ebc1f975 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 2 May 2014 22:29:18 +0200 +Subject: [PATCH] sd-rtnl-message: append - fix uninitialized memory + +We were not properly clearing the padding at the front of some containers. +--- + src/libsystemd/sd-rtnl/rtnl-message.c | 42 +++++++++++++++++++++------------- + 1 file changed, 27 insertions(+), 15 deletions(-) + +--- src/libsystemd/sd-rtnl/rtnl-message.c ++++ src/libsystemd/sd-rtnl/rtnl-message.c 2014-05-05 13:33:01.998235340 +0000 +@@ -314,24 +314,28 @@ int sd_rtnl_message_link_get_flags(sd_rt + /* If successful the updated message will be correctly aligned, if + unsuccessful the old message is untouched. */ + static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) { +- uint32_t rta_length, message_length; ++ uint32_t rta_length; ++ size_t message_length, padding_length; + struct nlmsghdr *new_hdr; + struct rtattr *rta; + char *padding; + unsigned i; ++ int offset; + + assert(m); + assert(m->hdr); + assert(!m->sealed); + assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len); +- assert(!data || data_length > 0); +- assert(data || m->n_containers < RTNL_CONTAINER_DEPTH); ++ assert(!data || data_length); ++ ++ /* get offset of the new attribute */ ++ offset = m->hdr->nlmsg_len; + + /* get the size of the new rta attribute (with padding at the end) */ + rta_length = RTA_LENGTH(data_length); + + /* get the new message size (with padding at the end) */ +- message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length); ++ message_length = offset + RTA_ALIGN(rta_length); + + /* realloc to fit the new attribute */ + new_hdr = realloc(m->hdr, message_length); +@@ -340,32 +344,35 @@ static int add_rtattr(sd_rtnl_message *m + m->hdr = new_hdr; + + /* get pointer to the attribute we are about to add */ +- rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len); ++ rta = (struct rtattr *) ((uint8_t *) m->hdr + offset); + + /* if we are inside containers, extend them */ + for (i = 0; i < m->n_containers; i++) +- GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len; ++ GET_CONTAINER(m, i)->rta_len += message_length - offset; + + /* fill in the attribute */ + rta->rta_type = type; + rta->rta_len = rta_length; +- if (!data) { +- /* this is the start of a new container */ +- m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len; +- } else { ++ if (data) + /* we don't deal with the case where the user lies about the type + * and gives us too little data (so don't do that) +- */ ++ */ + padding = mempcpy(RTA_DATA(rta), data, data_length); +- /* make sure also the padding at the end of the message is initialized */ +- memzero(padding, +- (uint8_t *) m->hdr + message_length - (uint8_t *) padding); ++ else { ++ /* if no data was passed, make sure we still initialize the padding ++ note that we can have data_length > 0 (used by some containers) */ ++ padding = RTA_DATA(rta); ++ data_length = 0; + } + ++ /* make sure also the padding at the end of the message is initialized */ ++ padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding; ++ memzero(padding, padding_length); ++ + /* update message size */ + m->hdr->nlmsg_len = message_length; + +- return 0; ++ return offset; + } + + int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) { +@@ -498,6 +505,7 @@ int sd_rtnl_message_append_u32(sd_rtnl_m + + assert_return(m, -EINVAL); + assert_return(!m->sealed, -EPERM); ++ assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE); + + r = sd_rtnl_message_get_type(m, &rtm_type); + if (r < 0) +@@ -548,6 +556,10 @@ int sd_rtnl_message_append_u32(sd_rtnl_m + if (r < 0) + return r; + ++ m->container_offsets[m->n_containers ++] = r; ++ ++ m->container_offsets[m->n_containers ++] = r; ++ + return 0; + } + diff --git a/0001-selinux-access-fix-broken-ternary-operator.patch b/0001-selinux-access-fix-broken-ternary-operator.patch new file mode 100644 index 00000000..b94de819 --- /dev/null +++ b/0001-selinux-access-fix-broken-ternary-operator.patch @@ -0,0 +1,23 @@ +Based on 1e648011b20c8126412d3cf2699d575d9ba9e0fe Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 21 Nov 2014 17:02:15 +0100 +Subject: [PATCH] selinux-access: fix broken ternary operator + +it seems to be a typo introduced by ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602 +- _r = selinux_access_check(_b, _m, _u->source_path ?:_u->fragment_path, (permission), &_error); \ ++ ({ Unit *_unit = (unit); selinux_generic_access_check(bus,message, _unit->fragment_path ?: _unit->fragment_path, permission,error); }) +--- + src/core/selinux-access.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/selinux-access.h ++++ src/core/selinux-access.h 2014-12-15 11:49:54.521518349 +0000 +@@ -34,7 +34,7 @@ int selinux_generic_access_check(sd_bus + #define selinux_access_check(bus, message, permission, error) \ + selinux_generic_access_check(bus, message, NULL, permission, error) + #define selinux_unit_access_check(unit, bus, message, permission, error) \ +- ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->fragment_path ?: _unit->fragment_path, permission, error); }) ++ ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->source_path ?: _unit->fragment_path, permission, error); }) + + #else + diff --git a/0001-shell-completion-fix-completion-of-inactive-units.patch b/0001-shell-completion-fix-completion-of-inactive-units.patch new file mode 100644 index 00000000..563d9828 --- /dev/null +++ b/0001-shell-completion-fix-completion-of-inactive-units.patch @@ -0,0 +1,95 @@ +Based on f29c77bc0179b0fa57407dbe30b495be9f5ad2e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 14 Oct 2014 20:20:07 -0400 +Subject: [PATCH] shell-completion: fix completion of inactive units + +Units which not loaded were not proposed properly. OTOH, we should +filter units from get-unit-files by their state if they are currently +loaded. Bring zsh completions in line with bash completion, the same +logic should be used in both implementations. + +https://bugzilla.redhat.com/show_bug.cgi?id=1024379 +https://bugzilla.redhat.com/show_bug.cgi?id=790768 +https://bugs.freedesktop.org/show_bug.cgi?id=84720 +--- + shell-completion/bash/systemctl | 17 +++++++++-------- + shell-completion/zsh/_systemctl | 16 +++++++++------- + 2 files changed, 18 insertions(+), 15 deletions(-) + +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -55,10 +55,14 @@ __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list- + | { while read -r a b; do echo " $a"; done; }; } + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } +-__get_startable_units () { { +- __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap +- __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ +- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } ++__get_startable_units () { ++ # find inactive or failed units, filter out masked and not-found ++ __systemctl $1 list-units --state inactive,failed -- $( __get_all_units ) | \ ++ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } ++__get_restartable_units () { ++ # find !masked, filter out masked and not-found ++ __systemctl $1 list-units --state active,inactive,failed -- $( __get_all_units ) | \ ++ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } + __get_failed_units () { __systemctl $1 list-units \ + | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } + __get_enabled_units () { __systemctl $1 list-unit-files \ +@@ -180,10 +184,7 @@ _systemctl () { + + elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +- $( __get_all_units $mode \ +- | while read -r line; do \ +- [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ +- done )) ++ $( __get_restartable_units $mode)) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then +--- shell-completion/zsh/_systemctl ++++ shell-completion/zsh/_systemctl +@@ -138,8 +138,11 @@ _filter_units_by_property() { + done + } + ++_systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } ++ + _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} +-_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} ++_systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} ++_systemctl_restartable_units(){_sys_restartable_units=($(__systemctl list-units --state inactive,failed,active -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} + _systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} + _systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} + _systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} +@@ -181,8 +184,9 @@ done + # Completion functions for STARTABLE_UNITS + (( $+functions[_systemctl_start] )) || _systemctl_start() + { +- _systemctl_inactive_units +- compadd "$@" -a - _sys_inactive_units ++ _systemctl_startable_units ++ compadd "$@" - $( _filter_units_by_property CanStart yes \ ++ ${_sys_startable_units[*]} ) + } + + # Completion functions for STOPPABLE_UNITS +@@ -217,11 +221,9 @@ done + for fun in restart reload-or-restart ; do + (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() + { +- _systemctl_all_units ++ _systemctl_restartable_units + compadd "$@" - $( _filter_units_by_property CanStart yes \ +- ${_sys_all_units[*]} | while read -r line; do \ +- [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ +- done ) ++ ${_sys_restartable_units[*]} ) + } + done + +-- +1.7.9.2 + diff --git a/0001-shutdownd-clean-up-initialization-of-struct.patch b/0001-shutdownd-clean-up-initialization-of-struct.patch new file mode 100644 index 00000000..3f2fb4ea --- /dev/null +++ b/0001-shutdownd-clean-up-initialization-of-struct.patch @@ -0,0 +1,30 @@ +From b748c7596f79945be5263a0d1c88de64eb0c5146 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 27 Sep 2014 00:25:09 +0200 +Subject: [PATCH] shutdownd: clean up initialization of struct + +No functional change. We just don't assign the value twice. + +Found by coverity. Fixes: CID#1237616 and #1237617 +--- + src/shutdownd/shutdownd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/shutdownd/shutdownd.c src/shutdownd/shutdownd.c +index 99aa4b3..0f008a6 100644 +--- src/shutdownd/shutdownd.c ++++ src/shutdownd/shutdownd.c +@@ -52,8 +52,8 @@ static int read_packet(int fd, union shutdown_buffer *_b) { + union shutdown_buffer b; /* We maintain our own copy here, in + * order not to corrupt the last message */ + struct iovec iovec = { +- iovec.iov_base = &b, +- iovec.iov_len = sizeof(b) - 1, ++ .iov_base = &b, ++ .iov_len = sizeof(b) - 1, + }; + union { + struct cmsghdr cmsghdr; +-- +1.7.9.2 + diff --git a/0001-socket-introduce-SELinuxContextFromNet-option.patch b/0001-socket-introduce-SELinuxContextFromNet-option.patch new file mode 100644 index 00000000..f437c7be --- /dev/null +++ b/0001-socket-introduce-SELinuxContextFromNet-option.patch @@ -0,0 +1,414 @@ +Based on 16115b0a7b7cdf08fb38084d857d572d8a9088dc Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Thu, 24 Jul 2014 10:40:28 +0200 +Subject: [PATCH] socket: introduce SELinuxContextFromNet option + +This makes possible to spawn service instances triggered by socket with +MLS/MCS SELinux labels which are created based on information provided by +connected peer. + +Implementation of label_get_child_mls_label derived from xinetd. + +Reviewed-by: Paul Moore +--- + man/systemd.socket.xml | 26 +++++++ + src/core/execute.c | 30 +++++++-- + src/core/execute.h | 1 + src/core/load-fragment-gperf.gperf.m4 | 3 + src/core/mount.c | 1 + src/core/service.c | 4 - + src/core/service.h | 3 + src/core/socket.c | 16 +++- + src/core/socket.h | 2 + src/core/swap.c | 1 + src/shared/label.c | 113 ++++++++++++++++++++++++++++++++++ + src/shared/label.h | 2 + 12 files changed, 191 insertions(+), 11 deletions(-) + +--- man/systemd.socket.xml ++++ man/systemd.socket.xml 2014-09-23 15:36:49.000000000 +0000 +@@ -570,6 +570,32 @@ + + + ++ SELinuxContextFromNet= ++ Takes a boolean ++ argument. When true systemd will attempt ++ to figure out the SELinux label used ++ for the instantiated service from the ++ information handed by the peer over the ++ network. Note that only the security ++ level is used from the information ++ provided by the peer. Other parts of ++ the resulting SELinux context originate ++ from either the target binary that is ++ effectively triggered by socket unit ++ are taken from the value of the ++ SELinuxContext= ++ option.This configuration option only ++ affects sockets with ++ Accept= mode set to ++ true. Also note that ++ this option is useful only when ++ MLS/MCS SELinux policy is ++ deployed. Defaults to ++ false. ++ ++ ++ ++ + PipeSize= + Takes an size in + bytes. Controls the pipe buffer size +--- src/core/execute.c ++++ src/core/execute.c 2014-09-24 09:22:08.882735864 +0000 +@@ -82,6 +82,7 @@ + #include "selinux-util.h" + #include "errno-list.h" + #include "apparmor-util.h" ++#include "label.h" + + #ifdef HAVE_SECCOMP + #include "seccomp-util.h" +@@ -1123,6 +1124,7 @@ int exec_spawn(ExecCommand *command, + bool apply_chroot, + bool apply_tty_stdin, + bool confirm_spawn, ++ bool selinux_context_net, + CGroupControllerMask cgroup_supported, + const char *cgroup_path, + const char *unit_id, +@@ -1594,11 +1596,29 @@ int exec_spawn(ExecCommand *command, + #endif + + #ifdef HAVE_SELINUX +- if (context->selinux_context && use_selinux()) { +- err = setexeccon(context->selinux_context); +- if (err < 0 && !context->selinux_context_ignore) { +- r = EXIT_SELINUX_CONTEXT; +- goto fail_child; ++ if (use_selinux()) { ++ if (context->selinux_context) { ++ err = setexeccon(context->selinux_context); ++ if (err < 0 && !context->selinux_context_ignore) { ++ r = EXIT_SELINUX_CONTEXT; ++ goto fail_child; ++ } ++ } ++ ++ if (selinux_context_net && socket_fd >= 0) { ++ _cleanup_free_ char *label = NULL; ++ ++ err = label_get_child_mls_label(socket_fd, command->path, &label); ++ if (err < 0) { ++ r = EXIT_SELINUX_CONTEXT; ++ goto fail_child; ++ } ++ ++ err = setexeccon(label); ++ if (err < 0) { ++ r = EXIT_SELINUX_CONTEXT; ++ goto fail_child; ++ } + } + } + #endif +--- src/core/execute.h ++++ src/core/execute.h 2014-09-23 15:46:26.000000000 +0000 +@@ -195,6 +195,7 @@ int exec_spawn(ExecCommand *command, + bool apply_chroot, + bool apply_tty_stdin, + bool confirm_spawn, ++ bool selinux_context_net, + CGroupControllerMask cgroup_mask, + const char *cgroup_path, + const char *unit_id, +--- src/core/load-fragment-gperf.gperf.m4 ++++ src/core/load-fragment-gperf.gperf.m4 2014-09-23 00:00:00.000000000 +0000 +@@ -242,6 +242,9 @@ Socket.SmackLabelIPOut, config_ + `Socket.SmackLabel, config_parse_warn_compat, 0, 0 + Socket.SmackLabelIPIn, config_parse_warn_compat, 0, 0 + Socket.SmackLabelIPOut, config_parse_warn_compat, 0, 0') ++m4_ifdef(`HAVE_SELINUX', ++`Socket.SELinuxContextFromNet, config_parse_bool, 0, offsetof(Socket, selinux_context_from_net)', ++`Socket.SELinuxContextFromNet, config_parse_warn_compat, 0, 0') + EXEC_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl + CGROUP_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl + KILL_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl +--- src/core/mount.c ++++ src/core/mount.c 2014-09-24 09:16:26.234235379 +0000 +@@ -785,6 +785,7 @@ static int mount_spawn(Mount *m, ExecCom + true, + true, + UNIT(m)->manager->confirm_spawn, ++ false, + UNIT(m)->manager->cgroup_supported, + UNIT(m)->cgroup_path, + UNIT(m)->id, +--- src/core/service.c ++++ src/core/service.c 2014-09-23 15:49:24.000000000 +0000 +@@ -1856,6 +1856,7 @@ static int service_spawn( + apply_chroot, + apply_tty_stdin, + UNIT(s)->manager->confirm_spawn, ++ s->socket_fd_selinux_context_net, + UNIT(s)->manager->cgroup_supported, + path, + UNIT(s)->id, +@@ -3787,7 +3788,7 @@ static void service_bus_name_owner_chang + } + } + +-int service_set_socket_fd(Service *s, int fd, Socket *sock) { ++int service_set_socket_fd(Service *s, int fd, Socket *sock, bool selinux_context_net) { + _cleanup_free_ char *peer = NULL; + int r; + +@@ -3825,6 +3826,7 @@ int service_set_socket_fd(Service *s, in + } + + s->socket_fd = fd; ++ s->socket_fd_selinux_context_net = selinux_context_net; + + unit_ref_set(&s->accept_socket, UNIT(sock)); + +--- src/core/service.h ++++ src/core/service.h 2014-09-23 15:51:13.000000000 +0000 +@@ -159,6 +159,7 @@ struct Service { + pid_t main_pid, control_pid; + int socket_fd; + ++ bool socket_fd_selinux_context_net; + bool permissions_start_only; + bool root_directory_start_only; + bool remain_after_exit; +@@ -204,7 +205,7 @@ extern const UnitVTable service_vtable; + + struct Socket; + +-int service_set_socket_fd(Service *s, int fd, struct Socket *socket); ++int service_set_socket_fd(Service *s, int fd, struct Socket *socket, bool selinux_context_net); + + const char* service_state_to_string(ServiceState i) _const_; + ServiceState service_state_from_string(const char *s) _pure_; +--- src/core/socket.c ++++ src/core/socket.c 2014-09-24 09:13:29.698735735 +0000 +@@ -453,7 +453,8 @@ static void socket_dump(Unit *u, FILE *f + "%sBroadcast: %s\n" + "%sPassCredentials: %s\n" + "%sPassSecurity: %s\n" +- "%sTCPCongestion: %s\n", ++ "%sTCPCongestion: %s\n" ++ "%sSELinuxContextFromNet: %s\n", + prefix, socket_state_to_string(s->state), + prefix, socket_result_to_string(s->result), + prefix, socket_address_bind_ipv6_only_to_string(s->bind_ipv6_only), +@@ -466,7 +467,8 @@ static void socket_dump(Unit *u, FILE *f + prefix, yes_no(s->broadcast), + prefix, yes_no(s->pass_cred), + prefix, yes_no(s->pass_sec), +- prefix, strna(s->tcp_congestion)); ++ prefix, strna(s->tcp_congestion), ++ prefix, yes_no(s->selinux_context_from_net)); + + if (s->control_pid > 0) + fprintf(f, +@@ -1000,7 +1002,12 @@ static int socket_open_fds(Socket *s) { + + if (p->type == SOCKET_SOCKET) { + +- if (!know_label) { ++ if (!know_label && s->selinux_context_from_net) { ++ r = label_get_our_label(&label); ++ if (r < 0) ++ return r; ++ know_label = true; ++ } else if (!know_label) { + + if ((r = socket_instantiate_service(s)) < 0) + return r; +@@ -1247,6 +1254,7 @@ static int socket_spawn(Socket *s, ExecC + true, + true, + UNIT(s)->manager->confirm_spawn, ++ s->selinux_context_from_net, + UNIT(s)->manager->cgroup_supported, + UNIT(s)->cgroup_path, + UNIT(s)->id, +@@ -1568,7 +1576,7 @@ static void socket_enter_running(Socket + + unit_choose_id(UNIT(service), name); + +- r = service_set_socket_fd(service, cfd, s); ++ r = service_set_socket_fd(service, cfd, s, s->selinux_context_from_net); + if (r < 0) + goto fail; + +--- src/core/socket.h ++++ src/core/socket.h 2014-09-23 15:55:17.000000000 +0000 +@@ -154,6 +154,8 @@ struct Socket { + char *smack; + char *smack_ip_in; + char *smack_ip_out; ++ ++ bool selinux_context_from_net; + }; + + /* Called from the service code when collecting fds */ +--- src/core/swap.c ++++ src/core/swap.c 2014-09-24 09:17:18.438735618 +0000 +@@ -642,6 +642,7 @@ static int swap_spawn(Swap *s, ExecComma + true, + true, + UNIT(s)->manager->confirm_spawn, ++ false, + UNIT(s)->manager->cgroup_supported, + UNIT(s)->cgroup_path, + UNIT(s)->id, +--- src/shared/label.c ++++ src/shared/label.c 2014-09-23 00:00:00.000000000 +0000 +@@ -31,6 +31,7 @@ + #ifdef HAVE_SELINUX + #include + #include ++#include + #endif + + #include "label.h" +@@ -41,6 +42,12 @@ + #include "smack-util.h" + + #ifdef HAVE_SELINUX ++DEFINE_TRIVIAL_CLEANUP_FUNC(security_context_t, freecon); ++DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); ++ ++#define _cleanup_security_context_free_ _cleanup_(freeconp) ++#define _cleanup_context_free_ _cleanup_(context_freep) ++ + static struct selabel_handle *label_hnd = NULL; + #endif + +@@ -243,6 +250,112 @@ fail: + return r; + } + ++int label_get_our_label(char **label) { ++ int r = -EOPNOTSUPP; ++ char *l = NULL; ++ ++#ifdef HAVE_SELINUX ++ r = getcon(&l); ++ if (r < 0) ++ return r; ++ ++ *label = l; ++#endif ++ ++ return r; ++} ++ ++int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { ++ int r = -EOPNOTSUPP; ++ ++#ifdef HAVE_SELINUX ++ ++ _cleanup_security_context_free_ security_context_t mycon = NULL, peercon = NULL, fcon = NULL, ret = NULL; ++ _cleanup_context_free_ context_t pcon = NULL, bcon = NULL; ++ security_class_t sclass; ++ ++ const char *range = NULL; ++ ++ assert(socket_fd >= 0); ++ assert(exe); ++ assert(label); ++ ++ r = getcon(&mycon); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ r = getpeercon(socket_fd, &peercon); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ r = getexeccon(&fcon); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ if (!fcon) { ++ /* If there is no context set for next exec let's use context ++ of target executable */ ++ r = getfilecon(exe, &fcon); ++ if (r < 0) { ++ r = -errno; ++ goto out; ++ } ++ } ++ ++ bcon = context_new(mycon); ++ if (!bcon) { ++ r = -ENOMEM; ++ goto out; ++ } ++ ++ pcon = context_new(peercon); ++ if (!pcon) { ++ r = -ENOMEM; ++ goto out; ++ } ++ ++ range = context_range_get(pcon); ++ if (!range) { ++ r = -errno; ++ goto out; ++ } ++ ++ r = context_range_set(bcon, range); ++ if (r) { ++ r = -errno; ++ goto out; ++ } ++ ++ freecon(mycon); ++ mycon = context_str(bcon); ++ if (!mycon) { ++ r = -errno; ++ goto out; ++ } ++ ++ sclass = string_to_security_class("process"); ++ r = security_compute_create(mycon, fcon, sclass, &ret); ++ if (r < 0) { ++ r = -EINVAL; ++ goto out; ++ } ++ ++ *label = ret; ++ r = 0; ++ ++out: ++ if (r < 0 && security_getenforce() == 1) ++ return r; ++#endif ++ return r; ++} ++ + int label_context_set(const char *path, mode_t mode) { + int r = 0; + +--- src/shared/label.h ++++ src/shared/label.h 2014-09-23 00:00:00.000000000 +0000 +@@ -40,6 +40,8 @@ void label_context_clear(void); + void label_free(const char *label); + + int label_get_create_label_from_exe(const char *exe, char **label); ++int label_get_our_label(char **label); ++int label_get_child_mls_label(int socket_fd, const char *exec, char **label); + + int label_mkdir(const char *path, mode_t mode); + diff --git a/0001-strv-add-an-additional-overflow-check-when-enlarging.patch b/0001-strv-add-an-additional-overflow-check-when-enlarging.patch new file mode 100644 index 00000000..3f953f4f --- /dev/null +++ b/0001-strv-add-an-additional-overflow-check-when-enlarging.patch @@ -0,0 +1,35 @@ +Based on 97569e154b80541cbad39d78231b7f360d4ff058 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 21 Oct 2014 14:01:28 +0200 +Subject: [PATCH] strv: add an additional overflow check when enlarging + strv()s + +https://bugs.freedesktop.org/show_bug.cgi?id=76745 +--- + src/shared/strv.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- src/shared/strv.c ++++ src/shared/strv.c 2014-10-23 00:00:00.000000000 +0000 +@@ -361,13 +361,19 @@ char *strv_join_quoted(char **l) { + + int strv_push(char ***l, char *value) { + char **c; +- unsigned n; ++ unsigned n, m; + + if (!value) + return 0; + + n = strv_length(*l); +- c = realloc(*l, sizeof(char*) * (n + 2)); ++ ++ /* increase and check for overflow */ ++ m = n + 2; ++ if (m < n) ++ return -ENOMEM; ++ ++ c = realloc(*l, sizeof(char*) * (size_t) m); + if (!c) + return -ENOMEM; + diff --git a/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch b/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch new file mode 100644 index 00000000..917c8ec2 --- /dev/null +++ b/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch @@ -0,0 +1,28 @@ +From 498cfc230af8f83675be2e92057956f1792969e4 Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Sat, 23 Aug 2014 21:11:44 +0200 +Subject: [PATCH] systemctl: Correct error message printed when + bus_process_wait fails + +Actually use the variable containing the return code of bus_process_wait when +printing the error message as a result of it failing. +--- + src/systemctl/systemctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index d9b8bee..6534819 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -2382,7 +2382,7 @@ static int wait_for_jobs(sd_bus *bus, Set *s) { + while (!set_isempty(s)) { + q = bus_process_wait(bus); + if (q < 0) { +- log_error("Failed to wait for response: %s", strerror(-r)); ++ log_error("Failed to wait for response: %s", strerror(-q)); + return q; + } + +-- +1.7.9.2 + diff --git a/0001-systemctl-allow-to-change-the-default-target-without.patch b/0001-systemctl-allow-to-change-the-default-target-without.patch new file mode 100644 index 00000000..8e78fe01 --- /dev/null +++ b/0001-systemctl-allow-to-change-the-default-target-without.patch @@ -0,0 +1,51 @@ +From a1484a216e79da1fa7e2323095fb1b7203fb7a17 Mon Sep 17 00:00:00 2001 +From: Djalal Harouni +Date: Mon, 14 Apr 2014 01:07:52 +0100 +Subject: [PATCH] systemctl: allow to change the default target without the + --force switch + +Currently "systemctl set-default" will fail to change the default target +due to the 'default.target' being a symlink which is always the case. + +To work around this, the user must specify the "--force" switch to be +able to overwrite the existing symlink. + +This is clearly a regression that was introduced by commit 718db96199e +since it worked before without the "--force" switch and the man pages do +not mention that you need to specify it. It is expected that this is a +symlink. + +So just explicity set the force flag to make it work again. + +https://bugs.freedesktop.org/show_bug.cgi?id=76623 + +Reported-by: +--- + src/systemctl/systemctl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index ee0938f..1b381f7 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -1968,7 +1968,7 @@ static int set_default(sd_bus *bus, char **args) { + return log_oom(); + + if (!bus || avoid_bus()) { +- r = unit_file_set_default(arg_scope, arg_root, unit, arg_force, &changes, &n_changes); ++ r = unit_file_set_default(arg_scope, arg_root, unit, true, &changes, &n_changes); + if (r < 0) { + log_error("Failed to set default target: %s", strerror(-r)); + return r; +@@ -1990,7 +1990,7 @@ static int set_default(sd_bus *bus, char **args) { + "SetDefaultTarget", + &error, + &reply, +- "sb", unit, arg_force); ++ "sb", unit, true); + if (r < 0) { + log_error("Failed to set default target: %s", bus_error_message(&error, -r)); + return r; +-- +1.7.9.2 + diff --git a/0001-systemctl-let-list-units-unit-files-honour-type.patch b/0001-systemctl-let-list-units-unit-files-honour-type.patch new file mode 100644 index 00000000..1548d84f --- /dev/null +++ b/0001-systemctl-let-list-units-unit-files-honour-type.patch @@ -0,0 +1,94 @@ +Based on 6c71341aeecc3d092ed90f66e1b2c481b8e260ff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 29 Oct 2014 22:46:30 -0400 +Subject: [PATCH] systemctl: let list-{units,unit-files } honour --type + +The docs don't clarify what is expected, but I don't see any reason +why --type should be ignored. + +Also restucture the compund conditions into separate clauses for +easier reading. +--- + src/systemctl/systemctl.c | 48 ++++++++++++++++++++++++++++++++++----------- + 1 file changed, 37 insertions(+), 11 deletions(-) + +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-11-18 00:00:00.000000000 +0000 +@@ -305,21 +305,37 @@ static int compare_unit_info(const void + } + + static bool output_show_unit(const UnitInfo *u, char **patterns) { +- const char *dot; +- + if (!strv_isempty(patterns)) { + char **pattern; + + STRV_FOREACH(pattern, patterns) + if (fnmatch(*pattern, u->id, FNM_NOESCAPE) == 0) +- return true; ++ goto next; + return false; + } + +- return (!arg_types || ((dot = strrchr(u->id, '.')) && +- strv_find(arg_types, dot+1))) && +- (arg_all || !(streq(u->active_state, "inactive") +- || u->following[0]) || u->job_id > 0); ++next: ++ if (arg_types) { ++ const char *dot; ++ ++ dot = strrchr(u->id, '.'); ++ if (!dot) ++ return false; ++ ++ if (!strv_find(arg_types, dot+1)) ++ return false; ++ } ++ ++ if (arg_all) ++ return true; ++ ++ if (u->job_id > 0) ++ return true; ++ ++ if (streq(u->active_state, "inactive") || u->following[0]) ++ return false; ++ ++ return true; + } + + static void output_units_list(const UnitInfo *unit_infos, unsigned c) { +@@ -1019,18 +1035,28 @@ static int compare_unit_file_list(const + } + + static bool output_show_unit_file(const UnitFileList *u, char **patterns) { +- const char *dot; +- + if (!strv_isempty(patterns)) { + char **pattern; + + STRV_FOREACH(pattern, patterns) + if (fnmatch(*pattern, basename(u->path), FNM_NOESCAPE) == 0) +- return true; ++ goto next; + return false; + } + +- return !arg_types || ((dot = strrchr(u->path, '.')) && strv_find(arg_types, dot+1)); ++next: ++ if (!strv_isempty(arg_types)) { ++ const char *dot; ++ ++ dot = strrchr(u->path, '.'); ++ if (!dot) ++ return false; ++ ++ if (!strv_find(arg_types, dot+1)) ++ return false; ++ } ++ ++ return true; + } + + static void output_unit_file_list(const UnitFileList *units, unsigned c) { diff --git a/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch b/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch new file mode 100644 index 00000000..544be067 --- /dev/null +++ b/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch @@ -0,0 +1,52 @@ +From 08073121d8171f8e6be27b0c80e2ec283064760e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 13 Oct 2014 15:43:09 +0200 +Subject: [PATCH] systemctl: when mangle unit names for the "isolate", suffix + with ".target" rather than ".service" by default + +After all, we set AllowIsolate exclusively for target units so far, and +this is more or less the only thing tht makes sense, hence also use +".target" as completion suffix by default. +--- + src/systemctl/systemctl.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 842ca6c..af3cc97 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -2704,7 +2704,7 @@ static enum action verb_to_action(const char *verb) { + static int start_unit(sd_bus *bus, char **args) { + _cleanup_set_free_free_ Set *s = NULL; + _cleanup_strv_free_ char **names = NULL; +- const char *method, *mode, *one_name; ++ const char *method, *mode, *one_name, *suffix = NULL; + char **name; + int r = 0; + +@@ -2717,8 +2717,11 @@ static int start_unit(sd_bus *bus, char **args) { + method = verb_to_method(args[0]); + action = verb_to_action(args[0]); + +- mode = streq(args[0], "isolate") ? "isolate" : +- action_table[action].mode ?: arg_job_mode; ++ if (streq(args[0], "isolate")) { ++ mode = "isolate"; ++ suffix = ".target"; ++ } else ++ mode = action_table[action].mode ?: arg_job_mode; + + one_name = action_table[action].target; + } else { +@@ -2734,7 +2737,7 @@ static int start_unit(sd_bus *bus, char **args) { + if (one_name) + names = strv_new(one_name, NULL); + else { +- r = expand_names(bus, args + 1, NULL, &names); ++ r = expand_names(bus, args + 1, suffix, &names); + if (r < 0) + log_error("Failed to expand names: %s", strerror(-r)); + } +-- +1.7.9.2 + diff --git a/0001-systemd-continue-switch-root-even-if-umount-fails.patch b/0001-systemd-continue-switch-root-even-if-umount-fails.patch new file mode 100644 index 00000000..e8b3ee9f --- /dev/null +++ b/0001-systemd-continue-switch-root-even-if-umount-fails.patch @@ -0,0 +1,50 @@ +Based on d677d4df80e0ea1c66c691f50867fedd63c6770a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 16 Oct 2014 19:12:55 -0500 +Subject: [PATCH] systemd: continue switch-root even if umount fails + +Leaving the old root around seems better than aborting the +switch. +--- + src/core/main.c | 2 +- + src/core/switch-root.c | 11 +++++------ + 2 files changed, 6 insertions(+), 7 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-10-20 13:35:35.915837828 +0000 +@@ -1848,7 +1848,7 @@ finish: + /* And switch root */ + r = switch_root(switch_root_dir); + if (r < 0) +- log_error("Failed to switch root, ignoring: %s", strerror(-r)); ++ log_error("Failed to switch root, trying to continue: %s", strerror(-r)); + } + + args_size = MAX(6, argc+1); +--- src/core/switch-root.c ++++ src/core/switch-root.c 2014-10-20 13:39:58.167121460 +0000 +@@ -68,10 +68,9 @@ int switch_root(const char *new_root) { + goto fail; + } + +- /* Work-around for a kernel bug: for some reason the kernel +- * refuses switching root if any file systems are mounted +- * MS_SHARED. Hence remount them MS_PRIVATE here as a +- * work-around. ++ /* Work-around for kernel design: the kernel refuses switching ++ * root if any file systems are mounted MS_SHARED. Hence ++ * remount them MS_PRIVATE here as a work-around. + * + * https://bugzilla.redhat.com/show_bug.cgi?id=847418 */ + if (mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) < 0) +@@ -124,8 +123,8 @@ int switch_root(const char *new_root) { + * running off it we need to do this lazily. */ + if (umount2("/mnt", MNT_DETACH) < 0) { + r = -errno; +- log_error("Failed to umount old root dir /mnt: %m"); +- goto fail; ++ log_error("Failed to lazily umount old root dir /mnt, %s: %m", ++ errno == ENOENT ? "ignoring" : "leaving it around"); + } + + } else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { diff --git a/0001-systemd-detect-virt-detect-s390-virtualization.patch b/0001-systemd-detect-virt-detect-s390-virtualization.patch new file mode 100644 index 00000000..300258fb --- /dev/null +++ b/0001-systemd-detect-virt-detect-s390-virtualization.patch @@ -0,0 +1,72 @@ +From f41925b4e442a34c93ad120ef1426c974a047ed1 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Fri, 18 Jul 2014 09:13:36 -0400 +Subject: [PATCH] systemd-detect-virt: detect s390 virtualization + +A system that is running on a logical partition (LPAR) provided by +PR/SM has access to physical hardware (except CPU). It is true that +PR/SM abstracts the hardware, but only for sharing purposes. + +Details are statet at: + +http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/eicaz/eicazzlpar.htm + +-->-- +In other words, PR/SM transforms physical resources into virtual resources so +that many logical partitions can share the same physical resources. +--<-- + +Still, from the OS point of view, the shared virtual resource is real +hardware. ConditionVirtualization must be set to false if the OS runs +directly on PR/SM (e.g. in an LPAR). + +[zj: reorder code so that variables are not allocated when #if-def is +false. Add commit message.] +--- + man/systemd.unit.xml | 1 + + src/shared/virt.c | 17 +++++++++++++++++ + 2 files changed, 18 insertions(+) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 6447584..86a8cbb 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -996,6 +996,7 @@ + virtualization solution, or one of + qemu, + kvm, ++ zvm, + vmware, + microsoft, + oracle, +diff --git src/shared/virt.c src/shared/virt.c +index 20a8d7c..b436895 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -220,6 +220,23 @@ int detect_vm(const char **id) { + goto finish; + } + ++#if defined(__s390__) ++ { ++ _cleanup_free_ char *t = NULL; ++ ++ r = get_status_field("/proc/sysinfo", "VM00 Control Program:", &t); ++ if (r >= 0) { ++ if (streq(t, "z/VM")) ++ _id = "zvm"; ++ else ++ _id = "kvm"; ++ r = 1; ++ ++ goto finish; ++ } ++ } ++#endif ++ + r = 0; + + finish: +-- +1.7.9.2 + diff --git a/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch b/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch new file mode 100644 index 00000000..9f1a8dcb --- /dev/null +++ b/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch @@ -0,0 +1,39 @@ +From 9ed2a35e93f4a9e82585f860f54cdcbbdf3e1f86 Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Tue, 9 Sep 2014 11:09:37 +0200 +Subject: [PATCH] systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling + +If one has a config like: +d /tmp 1777 root root - +X /tmp/important_mount + +All files below /tmp/important_mount will be deleted as the +/tmp/important_mount item will spuriously inherit a max age of 0 +from /tmp. +/tmp has a max age of 0 but age_set is (of course) false. + +This affects also the PrivateTmp feature of systemd. +All tmp files of such services will be deleted unconditionally +and can cause service failures and data loss. + +Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic. +--- + src/tmpfiles/tmpfiles.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index f9830c4..7eafd6b 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -1576,7 +1576,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) { + candidate_item = j; + } + +- if (candidate_item) { ++ if (candidate_item && candidate_item->age_set) { + i->age = candidate_item->age; + i->age_set = true; + } +-- +1.7.9.2 + diff --git a/0001-sysv-order-initscripts-which-provide-network-before-.patch b/0001-sysv-order-initscripts-which-provide-network-before-.patch new file mode 100644 index 00000000..944b9158 --- /dev/null +++ b/0001-sysv-order-initscripts-which-provide-network-before-.patch @@ -0,0 +1,34 @@ +Based on 805b573fad06b845502e76f3db3a0efa7583149d Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 23 Jul 2014 12:49:14 +0200 +Subject: [PATCH] sysv: order initscripts which provide $network before + network.target + +Due to recent changes where $network "maps" to network-online.target +it is not guaranteed that initscript which provides networking will +be terminated after network.target during shutdown which is against LSB. +--- + src/core/service.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/core/service.c ++++ src/core/service.c 2014-07-30 11:27:16.074235995 +0000 +@@ -820,7 +820,7 @@ static int service_load_sysv_path(Servic + + if (unit_name_to_type(m) == UNIT_SERVICE) + r = unit_merge_by_name(u, m); +- else ++ else { + /* NB: SysV targets + * which are provided + * by a service are +@@ -835,6 +835,9 @@ static int service_load_sysv_path(Servic + * in the SysV + * services! */ + r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, UNIT_WANTS, m, NULL, true); ++ if (r >= 0 && streq(m, SPECIAL_NETWORK_ONLINE_TARGET)) ++ r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_NETWORK_TARGET, NULL, true); ++ } + + if (r < 0) + log_error_unit(u->id, diff --git a/0001-tmpfiles-compare-return-against-correct-errno.patch b/0001-tmpfiles-compare-return-against-correct-errno.patch new file mode 100644 index 00000000..10c2e214 --- /dev/null +++ b/0001-tmpfiles-compare-return-against-correct-errno.patch @@ -0,0 +1,26 @@ +From e7aab5412829ed6b50d109f670bd0b1b365838a7 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 11 Oct 2014 20:35:06 -0400 +Subject: [PATCH] tmpfiles: compare return against correct errno + +name_to_handle_at returns -EOPNOTSUPP, not -ENOTSUP. +--- + src/tmpfiles/tmpfiles.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index dafb9ae..8108b43 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -259,7 +259,7 @@ static int dir_is_mount_point(DIR *d, const char *subdir) { + + /* got only one handle; assume different mount points if one + * of both queries was not supported by the filesystem */ +- if (r_p == -ENOSYS || r_p == -ENOTSUP || r == -ENOSYS || r == -ENOTSUP) ++ if (r_p == -ENOSYS || r_p == -EOPNOTSUPP || r == -ENOSYS || r == -EOPNOTSUPP) + return true; + + /* return error */ +-- +1.7.9.2 + diff --git a/0001-tmpfiles-fix-permissions-on-new-journal-files.patch b/0001-tmpfiles-fix-permissions-on-new-journal-files.patch new file mode 100644 index 00000000..de54a2e5 --- /dev/null +++ b/0001-tmpfiles-fix-permissions-on-new-journal-files.patch @@ -0,0 +1,27 @@ +From a606871da508995f5ede113a8fc6538afd98966c Mon Sep 17 00:00:00 2001 +From: Greg KH +Date: Tue, 15 Apr 2014 14:12:01 -0700 +Subject: [PATCH] tmpfiles: fix permissions on new journal files + +When starting up journald on a new system, set the proper permissions on +the system.journal files, not only on the journal directory. +--- + tmpfiles.d/systemd.conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git tmpfiles.d/systemd.conf tmpfiles.d/systemd.conf +index 7c6d6b9..c470045 100644 +--- tmpfiles.d/systemd.conf ++++ tmpfiles.d/systemd.conf +@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root - + d /run/systemd/shutdown 0755 root root - + + m /var/log/journal 2755 root systemd-journal - - +-m /var/log/journal/%m 2755 root systemd-journal - - ++Z /var/log/journal/%m 2755 root systemd-journal - - + m /run/log/journal 2755 root systemd-journal - - +-m /run/log/journal/%m 2755 root systemd-journal - - ++Z /run/log/journal/%m 2755 root systemd-journal - - +-- +1.7.9.2 + diff --git a/0001-umount-modernizations.patch b/0001-umount-modernizations.patch new file mode 100644 index 00000000..1397d155 --- /dev/null +++ b/0001-umount-modernizations.patch @@ -0,0 +1,119 @@ +From c3544e8d2c2d870a2aff0944aff4ab7824b9ae6b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 21:35:15 +0200 +Subject: [PATCH] umount: modernizations + +--- + src/core/umount.c | 65 ++++++++++++++++++++++------------------------------- + 1 file changed, 27 insertions(+), 38 deletions(-) + +diff --git src/core/umount.c src/core/umount.c +index d1258f0..a30f674 100644 +--- src/core/umount.c ++++ src/core/umount.c +@@ -61,52 +61,46 @@ static void mount_points_list_free(MountPoint **head) { + } + + static int mount_points_list_get(MountPoint **head) { +- FILE *proc_self_mountinfo; +- char *path, *p; ++ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; + unsigned int i; +- int r; + + assert(head); + +- if (!(proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"))) ++ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); ++ if (!proc_self_mountinfo) + return -errno; + + for (i = 1;; i++) { +- int k; ++ _cleanup_free_ char *path = NULL; ++ char *p = NULL; + MountPoint *m; ++ int k; + +- path = p = NULL; +- +- if ((k = fscanf(proc_self_mountinfo, +- "%*s " /* (1) mount id */ +- "%*s " /* (2) parent id */ +- "%*s " /* (3) major:minor */ +- "%*s " /* (4) root */ +- "%ms " /* (5) mount point */ +- "%*s" /* (6) mount options */ +- "%*[^-]" /* (7) optional fields */ +- "- " /* (8) separator */ +- "%*s " /* (9) file system type */ +- "%*s" /* (10) mount source */ +- "%*s" /* (11) mount options 2 */ +- "%*[^\n]", /* some rubbish at the end */ +- &path)) != 1) { ++ k = fscanf(proc_self_mountinfo, ++ "%*s " /* (1) mount id */ ++ "%*s " /* (2) parent id */ ++ "%*s " /* (3) major:minor */ ++ "%*s " /* (4) root */ ++ "%ms " /* (5) mount point */ ++ "%*s" /* (6) mount options */ ++ "%*[^-]" /* (7) optional fields */ ++ "- " /* (8) separator */ ++ "%*s " /* (9) file system type */ ++ "%*s" /* (10) mount source */ ++ "%*s" /* (11) mount options 2 */ ++ "%*[^\n]", /* some rubbish at the end */ ++ &path); ++ if (k != 1) { + if (k == EOF) + break; + + log_warning("Failed to parse /proc/self/mountinfo:%u.", i); +- +- free(path); + continue; + } + + p = cunescape(path); +- free(path); +- +- if (!p) { +- r = -ENOMEM; +- goto finish; +- } ++ if (!p) ++ return -ENOMEM; + + /* Ignore mount points we can't unmount because they + * are API or because we are keeping them open (like +@@ -118,22 +112,17 @@ static int mount_points_list_get(MountPoint **head) { + continue; + } + +- if (!(m = new0(MountPoint, 1))) { ++ m = new0(MountPoint, 1); ++ if (!m) { + free(p); +- r = -ENOMEM; +- goto finish; ++ return -ENOMEM; + } + + m->path = p; + LIST_PREPEND(mount_point, *head, m); + } + +- r = 0; +- +-finish: +- fclose(proc_self_mountinfo); +- +- return r; ++ return 0; + } + + static int swap_list_get(MountPoint **head) { +-- +1.7.9.2 + diff --git a/0001-units-introduce-network-pre.target-as-place-to-hook-.patch b/0001-units-introduce-network-pre.target-as-place-to-hook-.patch new file mode 100644 index 00000000..ffbc0569 --- /dev/null +++ b/0001-units-introduce-network-pre.target-as-place-to-hook-.patch @@ -0,0 +1,126 @@ +From a4a878d04045b46fa9783664e3643a890b356790 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 11 Jun 2014 11:33:02 +0200 +Subject: [PATCH] units: introduce network-pre.target as place to hook in + firewalls + +network-pre.target is a passive target that should be pulled in by +services that want to be executed before any network is configured (for +example: firewall scrips). + +network-pre.target should be ordered before all network managemet +services (but not be pulled in by them). + +network-pre.target should be order after all services that want to be +executed before any network is configured (and be pulled in by them). +--- + Makefile.am | 1 + + man/systemd.special.xml | 15 +++++++++++++++ + units/local-fs.target | 2 -- + units/network-pre.target | 12 ++++++++++++ + units/network.target | 2 ++ + units/systemd-networkd.service.in | 2 +- + 6 files changed, 31 insertions(+), 3 deletions(-) + create mode 100644 units/network-pre.target + +diff --git Makefile.am Makefile.am +index 3ea95e9..8514ec9 100644 +--- Makefile.am ++++ Makefile.am +@@ -413,6 +413,7 @@ dist_systemunit_DATA = \ + units/remote-fs.target \ + units/remote-fs-pre.target \ + units/network.target \ ++ units/network-pre.target \ + units/network-online.target \ + units/nss-lookup.target \ + units/nss-user-lookup.target \ +diff --git man/systemd.special.xml man/systemd.special.xml +index 38b94a7..cda6edd 100644 +--- man/systemd.special.xml ++++ man/systemd.special.xml +@@ -72,6 +72,7 @@ + multi-user.target, + network.target, + network-online.target, ++ network-pre.target, + nss-lookup.target, + nss-user-lookup.target, + paths.target, +@@ -891,6 +892,20 @@ + + + ++ network-pre.target ++ ++ This passive target unit ++ may be pulled in by services ++ that want to run before any ++ network is set up, for example ++ for the purpose of setting up a ++ firewall. All network ++ management software orders ++ itself after this target, but ++ does not pull it in. ++ ++ ++ + nss-lookup.target + + A target that should be +diff --git units/local-fs.target units/local-fs.target +index ae3cedc..70cb13f 100644 +--- units/local-fs.target ++++ units/local-fs.target +@@ -9,7 +9,5 @@ + Description=Local File Systems + Documentation=man:systemd.special(7) + After=local-fs-pre.target +-DefaultDependencies=no +-Conflicts=shutdown.target + OnFailure=emergency.target + OnFailureJobMode=replace-irreversibly +diff --git units/network-pre.target units/network-pre.target +new file mode 100644 +index 0000000..0ea4bc7 +--- /dev/null ++++ units/network-pre.target +@@ -0,0 +1,12 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Network (Pre) ++Documentation=man:systemd.special(7) ++Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget ++RefuseManualStart=yes +diff --git units/network.target units/network.target +index 65fc64b..61ebdca 100644 +--- units/network.target ++++ units/network.target +@@ -9,3 +9,5 @@ + Description=Network + Documentation=man:systemd.special(7) + Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget ++After=network-pre.target ++RefuseManualStart=yes +diff --git units/systemd-networkd.service.in units/systemd-networkd.service.in +index 373ac4e..48f4d63 100644 +--- units/systemd-networkd.service.in ++++ units/systemd-networkd.service.in +@@ -9,7 +9,7 @@ + Description=Network Service + Documentation=man:systemd-networkd.service(8) + DefaultDependencies=no +-After=dbus.service ++After=dbus.service network-pre.target + Before=network.target + Wants=network.target + ConditionCapability=CAP_NET_ADMIN +-- +1.7.9.2 + diff --git a/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch b/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch new file mode 100644 index 00000000..bb9010bd --- /dev/null +++ b/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch @@ -0,0 +1,46 @@ +Based on d3381512282f2ca1c7669f77fb736a90fdce6982 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 8 Jul 2014 17:42:23 +0200 +Subject: [PATCH] units: make ExecStopPost action part of ExecStart + +Currently after exiting rescue shell we isolate default target. User +might want to isolate to some other target than default one. However +issuing systemctl isolate command to desired target would bring system +to default target as a consequence of running ExecStopPost action. + +Having common ancestor for rescue shell and possible followup systemctl +default command should fix this. If user exits rescue shell we will +proceed with isolating default target, otherwise, on manual isolate, +parent shell process is terminated and we don't isolate default target, +but target chosen by user. + +Suggested-by: Michal Schmidt +--- + units/emergency.service.in | 3 +-- + units/rescue.service.m4.in | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +--- units/emergency.service.in ++++ units/emergency.service.in 2014-07-10 13:31:50.662235825 +0000 +@@ -18,8 +18,7 @@ WorkingDirectory=/root + ExecStartPre=-/usr/bin/plymouth quit + ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' +-ExecStart=-/usr/sbin/sulogin +-ExecStopPost=@SYSTEMCTL@ --fail --no-block default ++ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" + Type=idle + StandardInput=tty-force + StandardOutput=inherit +--- units/rescue.service.m4.in ++++ units/rescue.service.m4.in 2014-07-10 13:32:15.678235509 +0000 +@@ -19,8 +19,7 @@ WorkingDirectory=/root + ExecStartPre=-/usr/bin/plymouth quit + ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' +-ExecStart=-/usr/sbin/sulogin +-ExecStopPost=-@SYSTEMCTL@ --fail --no-block default ++ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" + Type=idle + StandardInput=tty-force + StandardOutput=inherit diff --git a/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch b/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch new file mode 100644 index 00000000..052eeca6 --- /dev/null +++ b/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch @@ -0,0 +1,32 @@ +Based on 812bd1e6ab4c463507557f2bdbb8875fedd92ade Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 21 Nov 2014 01:20:57 +0100 +Subject: [PATCH] units: make sure rfkill service is bount to the actual + hardware + +--- + rules/99-systemd.rules.in | 2 +- + units/systemd-rfkill@.service.in | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in +@@ -62,7 +62,7 @@ SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="pa + + # Pull in rfkill save/restore for all rfkill devices + +-SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" ++SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/rfkill/devices/%k", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" + + # Asynchronously mount file systems implemented by these modules as + # soon as they are loaded. +--- units/systemd-rfkill@.service.in ++++ units/systemd-rfkill@.service.in 2014-12-05 11:52:59.433518948 +0000 +@@ -9,6 +9,7 @@ + Description=Load/Save RF Kill Switch Status of %I + Documentation=man:systemd-rfkill@.service(8) + DefaultDependencies=no ++BindsTo=sys-subsystem-rfkill-devices-%i.device + RequiresMountsFor=/var/lib/systemd/rfkill + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service diff --git a/0001-units-order-network-online.target-after-network.targ.patch b/0001-units-order-network-online.target-after-network.targ.patch new file mode 100644 index 00000000..d09fa29e --- /dev/null +++ b/0001-units-order-network-online.target-after-network.targ.patch @@ -0,0 +1,20 @@ +Based on 58e027023b47b32e42cf93dd4a629b869ee1ef25 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 11 Jun 2014 14:58:32 +0200 +Subject: [PATCH] units: order network-online.target after network.target + +There might be implementations around where the network-online logic +might not talk to any network configuration service (and thus not have +to wait for it), hence let's explicitly order network-online.target +after network.target to avoid any ambiguities. +--- + units/network-online.target | 1 + + 1 file changed, 1 insertion(+) + +--- units/network-online.target ++++ units/network-online.target 2014-06-26 00:00:00.000000000 +0000 +@@ -9,3 +9,4 @@ + Description=Network is Online + Documentation=man:systemd.special(7) + Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget ++After=network.target diff --git a/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch b/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch new file mode 100644 index 00000000..6c60f8b7 --- /dev/null +++ b/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch @@ -0,0 +1,29 @@ +Based on 0b73eab7a2185ae0377650e3fdb8208347a8a575 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Sat, 23 Mar 2013 03:54:16 +0100 +Subject: [PATCH] units/systemd-sysctl.service.in: run after load-modules + +Modules might or will register new sysctl options. + +[zj: This mechanism of adding modules just to reliably set sysctl +attributes is not ideal. Nevertheless, sysctl for dynamically created +attributes is simply broken, and this is the easiest workaround.] + +https://bugzilla.redhat.com/show_bug.cgi?id=1022977 +https://bugzilla.novell.com/show_bug.cgi?id=725412 +--- + units/systemd-sysctl.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git units/systemd-sysctl.service.in units/systemd-sysctl.service.in +index 5c7c5d7..ade9dc3 100644 +--- units/systemd-sysctl.service.in ++++ units/systemd-sysctl.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service + DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service ++After=systemd-modules-load.service + Before=sysinit.target shutdown.target + ConditionPathIsReadWrite=/proc/sys/ + ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch b/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch new file mode 100644 index 00000000..8aa6da5f --- /dev/null +++ b/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch @@ -0,0 +1,24 @@ +From 8c94052ee543c3598a3c7b0c46688150aa2c6168 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 27 Oct 2014 17:15:42 +0100 +Subject: [PATCH 1/2] units: tmpfiles-setup-dev - allow unsafe file creation to + happen in /dev at boot + +This will allow us to mark static device nodes with '!' to indicate that they should only be created at early boot. +--- + units/systemd-tmpfiles-setup-dev.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/systemd-tmpfiles-setup-dev.service.in b/units/systemd-tmpfiles-setup-dev.service.in +index f3833fd..0123a03 100644 +--- a/units/systemd-tmpfiles-setup-dev.service.in ++++ b/units/systemd-tmpfiles-setup-dev.service.in +@@ -17,4 +17,4 @@ ConditionCapability=CAP_SYS_MODULE + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create ++ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --boot +-- +2.1.2 + diff --git a/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch b/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch new file mode 100644 index 00000000..9a6c97a5 --- /dev/null +++ b/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch @@ -0,0 +1,54 @@ +From 3a8a916338d8446b938f3cf40f6aae0c611892e3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 11:47:10 +0200 +Subject: [PATCH] util: consider 0x7F a control chracter (which it is: DEL) + +Let's better be safe than sorry. +--- + src/shared/util.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git src/shared/util.c src/shared/util.c +index 3d875c7..d25ee66 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1608,8 +1608,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + return -ETIMEDOUT; + } + ++ errno = 0; + if (!fgets(line, sizeof(line), f)) +- return -EIO; ++ return errno ? -errno : -EIO; + + truncate_nl(line); + +@@ -5355,6 +5356,9 @@ bool string_is_safe(const char *p) { + if (*t > 0 && *t < ' ') + return false; + ++ if (*t == 127) ++ return false; ++ + if (strchr("\\\"\'", *t)) + return false; + } +@@ -5371,10 +5375,14 @@ bool string_has_cc(const char *p) { + + assert(p); + +- for (t = p; *t; t++) ++ for (t = p; *t; t++) { + if (*t > 0 && *t < ' ' && *t != '\t') + return true; + ++ if (*t == 127) ++ return true; ++ } ++ + return false; + } + +-- +1.7.9.2 + diff --git a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch new file mode 100644 index 00000000..bf379908 --- /dev/null +++ b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch @@ -0,0 +1,56 @@ +From ff452e76e2c0f89a32542b7179bb2fd538335933 Mon Sep 17 00:00:00 2001 +From: Carl Schaefer +Date: Mon, 23 Jun 2014 18:23:48 +0200 +Subject: [PATCH] vconsole: also copy character maps (not just fonts) from vt1 + to vt2, vt3, ... + +https://bugs.freedesktop.org/show_bug.cgi?id=78796 +--- + src/vconsole/vconsole-setup.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git src/vconsole/vconsole-setup.c src/vconsole/vconsole-setup.c +index 0f2b706..e0c4050 100644 +--- src/vconsole/vconsole-setup.c ++++ src/vconsole/vconsole-setup.c +@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch + */ + static void font_copy_to_all_vcs(int fd) { + struct vt_stat vcs = {}; ++ unsigned char map8[E_TABSZ]; ++ unsigned short map16[E_TABSZ]; ++ struct unimapdesc unimapd; ++ struct unipair unipairs[USHRT_MAX]; + int i, r; + + /* get active, and 16 bit mask of used VT numbers */ +@@ -209,6 +213,26 @@ static void font_copy_to_all_vcs(int fd) { + cfo.op = KD_FONT_OP_COPY; + cfo.height = vcs.v_active-1; /* tty1 == index 0 */ + ioctl(vcfd, KDFONTOP, &cfo); ++ ++ /* copy map of 8bit chars */ ++ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) ++ ioctl(vcfd, PIO_SCRNMAP, map8); ++ ++ /* copy map of 8bit chars -> 16bit Unicode values */ ++ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) ++ ioctl(vcfd, PIO_UNISCRNMAP, map16); ++ ++ /* copy unicode translation table */ ++ /* unimapd is a ushort count and a pointer to an ++ array of struct unipair { ushort, ushort } */ ++ unimapd.entries = unipairs; ++ unimapd.entry_ct = USHRT_MAX; ++ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { ++ struct unimapinit adv = { 0, 0, 0 }; ++ ++ ioctl(vcfd, PIO_UNIMAPCLR, &adv); ++ ioctl(vcfd, PIO_UNIMAP, &unimapd); ++ } + } + } + +-- +1.7.9.2 + diff --git a/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch b/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch new file mode 100644 index 00000000..a5358cc9 --- /dev/null +++ b/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch @@ -0,0 +1,25 @@ +From 893e72da6b27c21b102e1589276e651e9e4f591c Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 9 Sep 2014 18:14:25 +0200 +Subject: [PATCH] virt: detect that we are running inside the docker container + +--- + src/shared/virt.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git src/shared/virt.c src/shared/virt.c +index b436895..f9c4e67 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -310,6 +310,8 @@ int detect_container(const char **id) { + _id = "lxc-libvirt"; + else if (streq(e, "systemd-nspawn")) + _id = "systemd-nspawn"; ++ else if (streq(e, "docker")) ++ _id = "docker"; + else + _id = "other"; + +-- +1.7.9.2 + diff --git a/0001-virt-rework-container-detection-logic.patch b/0001-virt-rework-container-detection-logic.patch new file mode 100644 index 00000000..4adc20a2 --- /dev/null +++ b/0001-virt-rework-container-detection-logic.patch @@ -0,0 +1,159 @@ +Based on fdd25311706bd32580ec4d43211cdf4665d2f9de Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 28 May 2014 18:37:11 +0800 +Subject: [PATCH] virt: rework container detection logic + +Instead of accessing /proc/1/environ directly, trying to read the +$container variable from it, let's make PID 1 save the contents of that +variable to /run/systemd/container. This allows us to detect containers +without the need for CAP_SYS_PTRACE, which allows us to drop it from a +number of daemons and from the file capabilities of systemd-detect-virt. + +Also, don't consider chroot a container technology anymore. After all, +we don't consider file system namespaces container technology anymore, +and hence chroot() should be considered a container even less. +--- + Makefile.am | 3 --- + configure.ac | 2 -- + src/core/main.c | 12 ++++++++++++ + src/shared/virt.c | 48 ++++++++++++++++++++++++++++++------------------ + 4 files changed, 42 insertions(+), 23 deletions(-) + +diff --git Makefile.am Makefile.am +index 5b26bc3..f66ef42 100644 +--- Makefile.am ++++ Makefile.am +@@ -1798,9 +1798,6 @@ systemd_detect_virt_SOURCES = \ + systemd_detect_virt_LDADD = \ + libsystemd-shared.la + +-systemd-detect-virt-install-hook: +- -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt +- + INSTALL_EXEC_HOOKS += \ + systemd-detect-virt-install-hook + +--- configure.ac ++++ configure.ac 2014-06-03 14:16:45.046237826 +0000 +@@ -68,8 +68,6 @@ AC_PATH_PROG([XSLTPROC], [xsltproc]) + AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon]) + AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck]) + +-AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap]) +- + AC_PATH_PROG([KILL], [kill], [/usr/bin/kill]) + + AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod]) +diff --git src/core/main.c src/core/main.c +index 77cc2fb..d5d1ee2 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1261,6 +1261,16 @@ static int status_welcome(void) { + isempty(pretty_name) ? "Linux" : pretty_name); + } + ++static int write_container_id(void) { ++ const char *c; ++ ++ c = getenv("container"); ++ if (isempty(c)) ++ return 0; ++ ++ return write_string_file("/run/systemd/container", c); ++} ++ + int main(int argc, char *argv[]) { + Manager *m = NULL; + int r, retval = EXIT_FAILURE; +@@ -1544,6 +1554,8 @@ int main(int argc, char *argv[]) { + if (virtualization) + log_info("Detected virtualization '%s'.", virtualization); + ++ write_container_id(); ++ + log_info("Detected architecture '%s'.", architecture_to_string(uname_architecture())); + + if (in_initrd()) +diff --git src/shared/virt.c src/shared/virt.c +index 0db0514..1e227c5 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -217,8 +217,8 @@ int detect_container(const char **id) { + static thread_local int cached_found = -1; + static thread_local const char *cached_id = NULL; + +- _cleanup_free_ char *e = NULL; +- const char *_id = NULL; ++ _cleanup_free_ char *m = NULL; ++ const char *_id = NULL, *e = NULL; + int r; + + if (_likely_(cached_found >= 0)) { +@@ -229,17 +229,6 @@ int detect_container(const char **id) { + return cached_found; + } + +- /* Unfortunately many of these operations require root access +- * in one way or another */ +- +- r = running_in_chroot(); +- if (r < 0) +- return r; +- if (r > 0) { +- _id = "chroot"; +- goto finish; +- } +- + /* /proc/vz exists in container and outside of the container, + * /proc/bc only outside of the container. */ + if (access("/proc/vz", F_OK) >= 0 && +@@ -249,11 +238,32 @@ int detect_container(const char **id) { + goto finish; + } + +- r = getenv_for_pid(1, "container", &e); +- if (r < 0) +- return r; +- if (r == 0) +- goto finish; ++ if (getpid() == 1) { ++ /* If we are PID 1 we can just check our own ++ * environment variable */ ++ ++ e = getenv("container"); ++ if (isempty(e)) { ++ r = 0; ++ goto finish; ++ } ++ } else { ++ ++ /* Otherwise, PID 1 dropped this information into a ++ * file in /run. This is better than accessing ++ * /proc/1/environ, since we don't need CAP_SYS_PTRACE ++ * for that. */ ++ ++ r = read_one_line_file("/run/systemd/container", &m); ++ if (r == -ENOENT) { ++ r = 0; ++ goto finish; ++ } ++ if (r < 0) ++ return r; ++ ++ e = m; ++ } + + /* We only recognize a selected few here, since we want to + * enforce a redacted namespace */ +@@ -266,6 +276,8 @@ int detect_container(const char **id) { + else + _id = "other"; + ++ r = 1; ++ + finish: + cached_found = r; + +-- +1.7.9.2 + diff --git a/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch b/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch new file mode 100644 index 00000000..30dc17d0 --- /dev/null +++ b/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch @@ -0,0 +1,31 @@ +From 15f392394e75ffb7f318920008fd1bbe4e82b488 Mon Sep 17 00:00:00 2001 +From: Scott Thrasher +Date: Wed, 26 Mar 2014 18:48:13 -0700 +Subject: [PATCH] Add hwdb entry for Samsung Series 7 Ultra + +--- + hwdb/60-keyboard.hwdb | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index bd8fd10..832c686 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -924,6 +924,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr* + KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up + KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle + ++# Series 7 Ultra ++keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr* ++ KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings ++ KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down ++ KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up ++ KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer ++ KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch ++ + # SQ1US + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr* + KEYBOARD_KEY_d4=menu +-- +1.7.9.2 + diff --git a/0002-Be-more-verbose-when-bind-or-listen-fails.patch b/0002-Be-more-verbose-when-bind-or-listen-fails.patch new file mode 100644 index 00000000..0a8e80e6 --- /dev/null +++ b/0002-Be-more-verbose-when-bind-or-listen-fails.patch @@ -0,0 +1,92 @@ +Based on 6b9732b2bf0499c5e4ea8a9d4f6051d98033f680 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 3 Mar 2014 19:49:40 -0500 +Subject: [PATCH] Be more verbose when bind or listen fails + +Also be more verbose in devnode_acl_all(). +--- + src/core/manager.c | 2 +- + src/journal/journald-native.c | 2 +- + src/journal/journald-stream.c | 4 ++-- + src/journal/journald-syslog.c | 2 +- + src/login/logind-acl.c | 5 ++++- + src/shared/ask-password-api.c | 2 +- + 6 files changed, 10 insertions(+), 7 deletions(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-07-21 10:57:20.286367050 +0000 +@@ -571,7 +571,7 @@ static int manager_setup_notify(Manager + + r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); + return -errno; + } + +--- src/journal/journald-native.c ++++ src/journal/journald-native.c 2014-07-21 00:00:00.000000000 +0000 +@@ -405,7 +405,7 @@ int server_open_native_socket(Server*s) + + r = bind(s->native_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + return -errno; + } + +--- src/journal/journald-stream.c ++++ src/journal/journald-stream.c 2014-07-21 00:00:00.000000000 +0000 +@@ -447,14 +447,14 @@ int server_open_stdout_socket(Server *s) + + r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + return -errno; + } + + chmod(sa.un.sun_path, 0666); + + if (listen(s->stdout_fd, SOMAXCONN) < 0) { +- log_error("listen() failed: %m"); ++ log_error("listen(%s) failed: %m", sa.un.sun_path); + return -errno; + } + } else +--- src/journal/journald-syslog.c ++++ src/journal/journald-syslog.c 2014-07-21 00:00:00.000000000 +0000 +@@ -437,7 +437,7 @@ int server_open_syslog_socket(Server *s) + + r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); + if (r < 0) { +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + return -errno; + } + +--- src/login/logind-acl.c ++++ src/login/logind-acl.c 2014-07-21 10:59:04.986235573 +0000 +@@ -277,7 +277,10 @@ int devnode_acl_all(struct udev *udev, + SET_FOREACH(n, nodes, i) { + int k; + +- log_debug("Fixing up ACLs at %s for seat %s", n, seat); ++ log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"→"UID_FMT"%s%s)", ++ n, seat, old_uid, new_uid, ++ del ? " del" : "", add ? " add" : ""); ++ + k = devnode_acl(n, flush, del, old_uid, add, new_uid); + if (k < 0) + r = k; +--- src/shared/ask-password-api.c ++++ src/shared/ask-password-api.c 2014-07-21 00:00:00.000000000 +0000 +@@ -275,7 +275,7 @@ static int create_socket(char **name) { + + if (r < 0) { + r = -errno; +- log_error("bind() failed: %m"); ++ log_error("bind(%s) failed: %m", sa.un.sun_path); + goto fail; + } + diff --git a/0002-analyze-avoid-a-null-dereference.patch b/0002-analyze-avoid-a-null-dereference.patch new file mode 100644 index 00000000..b7662371 --- /dev/null +++ b/0002-analyze-avoid-a-null-dereference.patch @@ -0,0 +1,30 @@ +From d725a138c5c311ba06567d6841933aa5b7b6a435 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Thu, 11 Sep 2014 23:41:44 +0200 +Subject: [PATCH] analyze: avoid a null dereference + +If we have an error in the early sd_bus_* calls then unit_times +will still be null. + +Found with coverity. Fixes: CID#996464 +--- + src/analyze/analyze.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index d860a02..1281d6b 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -277,7 +277,8 @@ static int acquire_time_data(sd_bus *bus, struct unit_times **out) { + return c; + + fail: +- free_unit_times(unit_times, (unsigned) c); ++ if (unit_times) ++ free_unit_times(unit_times, (unsigned) c); + return r; + } + +-- +1.7.9.2 + diff --git a/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch b/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch new file mode 100644 index 00000000..c18fcb9e --- /dev/null +++ b/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch @@ -0,0 +1,46 @@ +From 1f89214e6e990a0b552f6854f87f8514ca384956 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 21 Feb 2014 11:55:24 +0100 +Subject: [PATCH] analyze/run: use bus_open_transport_systemd instead of + bus_open_transport + +Both systemd-analyze and systemd-run only access org.freedesktop.systemd1 +on the bus. This patch allows using systemd-run --user and systemd-analyze +--user even if the user session's bus is not properly integrated with the +systemd user unit. + +https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports... +--- + src/analyze/analyze.c | 2 +- + src/run/run.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index 4c5fcfe..0a4190c 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -1335,7 +1335,7 @@ int main(int argc, char *argv[]) { + if (r <= 0) + goto finish; + +- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); ++ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); + if (r < 0) { + log_error("Failed to create bus connection: %s", strerror(-r)); + goto finish; +diff --git src/run/run.c src/run/run.c +index e4c695c..9d5527b 100644 +--- src/run/run.c ++++ src/run/run.c +@@ -593,7 +593,7 @@ int main(int argc, char* argv[]) { + arg_description = description; + } + +- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); ++ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); + if (r < 0) { + log_error("Failed to create bus connection: %s", strerror(-r)); + goto finish; +-- +1.7.9.2 + diff --git a/0002-architecture-Add-cris.patch b/0002-architecture-Add-cris.patch new file mode 100644 index 00000000..a93d29d9 --- /dev/null +++ b/0002-architecture-Add-cris.patch @@ -0,0 +1,55 @@ +From 86bafac9540ba9e111ccba2fdf4161fe3a67cd3b Mon Sep 17 00:00:00 2001 +From: Umut Tezduyar Lindskog +Date: Tue, 4 Mar 2014 13:58:35 +0100 +Subject: [PATCH] architecture: Add cris + +--- + src/shared/architecture.c | 3 +++ + src/shared/architecture.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index fcdb3d5..9e0c3ef 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -114,6 +114,8 @@ Architecture uname_architecture(void) { + { "m68k", ARCHITECTURE_M68K }, + #elif defined(__tilegx__) + { "tilegx", ARCHITECTURE_TILEGX }, ++#elif defined(__cris__) ++ { "cris", ARCHITECTURE_CRIS }, + #else + #error "Please register your architecture here!" + #endif +@@ -161,6 +163,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_SH64] = "sh64", + [ARCHITECTURE_M68K] = "m68k", + [ARCHITECTURE_TILEGX] = "tilegx", ++ [ARCHITECTURE_CRIS] = "cris", + }; + + DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); +diff --git src/shared/architecture.h src/shared/architecture.h +index e589a91..20e848b 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -48,6 +48,7 @@ typedef enum Architecture { + ARCHITECTURE_SH64, + ARCHITECTURE_M68K, + ARCHITECTURE_TILEGX, ++ ARCHITECTURE_CRIS, + _ARCHITECTURE_MAX, + _ARCHITECTURE_INVALID = -1 + } Architecture; +@@ -110,6 +111,8 @@ Architecture uname_architecture(void); + # define native_architecture() ARCHITECTURE_M68K + #elif defined(__tilegx__) + # define native_architecture() ARCHITECTURE_TILEGX ++#elif defined(__cris__) ++# define native_architecture() ARCHITECTURE_CRIS + #else + #error "Please register your architecture here!" + #endif +-- +1.7.9.2 + diff --git a/0002-backlight-do-nothing-if-max_brightness-is-0.patch b/0002-backlight-do-nothing-if-max_brightness-is-0.patch new file mode 100644 index 00000000..8ca31e28 --- /dev/null +++ b/0002-backlight-do-nothing-if-max_brightness-is-0.patch @@ -0,0 +1,108 @@ +From 3cadce7d33e263ec7a6a83c00c11144930258b22 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Thu, 27 Mar 2014 23:41:59 +0100 +Subject: [PATCH] backlight: do nothing if max_brightness is 0 + +On virtually any newer Asus mainboard, the eeepc-wmi driver is loaded. +It exposes a backlight device despite the lack of any physical backlight +devices. This fake backlight device has max_brightness set to 0. Since +the introduction of the clamp_brightness function, systemd-backlight +tries to write '1' to brightness and fails. + +This patch changes systemd-backlight to exit gracefully when +max_brightness is 0 before performing any action. This affects +both the load and save actions. +--- + src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++-------------- + 1 file changed, 30 insertions(+), 14 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index abf8bcf..ce0385b 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -192,30 +192,37 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { + return true; + } + +-/* Some systems turn the backlight all the way off at the lowest levels. +- * clamp_brightness clamps the saved brightness to at least 1 or 5% of +- * max_brightness. This avoids preserving an unreadably dim screen, which +- * would otherwise force the user to disable state restoration. */ +-static void clamp_brightness(struct udev_device *device, char **value) { ++static unsigned get_max_brightness(struct udev_device *device) { + int r; + const char *max_brightness_str; +- unsigned brightness, max_brightness, new_brightness; ++ unsigned max_brightness; + + max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); + if (!max_brightness_str) { +- log_warning("Failed to read max_brightness attribute; not checking saved brightness"); +- return; ++ log_warning("Failed to read max_brightness attribute"); ++ return 0; + } + +- r = safe_atou(*value, &brightness); ++ r = safe_atou(max_brightness_str, &max_brightness); + if (r < 0) { +- log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); +- return; ++ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ return 0; + } + +- r = safe_atou(max_brightness_str, &max_brightness); ++ return max_brightness; ++} ++ ++/* Some systems turn the backlight all the way off at the lowest levels. ++ * clamp_brightness clamps the saved brightness to at least 1 or 5% of ++ * max_brightness. This avoids preserving an unreadably dim screen, which ++ * would otherwise force the user to disable state restoration. */ ++static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { ++ int r; ++ unsigned brightness, new_brightness; ++ ++ r = safe_atou(*value, &brightness); + if (r < 0) { +- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); + return; + } + +@@ -239,6 +246,7 @@ int main(int argc, char *argv[]) { + _cleanup_udev_device_unref_ struct udev_device *device = NULL; + _cleanup_free_ char *saved = NULL, *ss = NULL, *escaped_ss = NULL, *escaped_sysname = NULL, *escaped_path_id = NULL; + const char *sysname, *path_id; ++ unsigned max_brightness; + int r; + + if (argc != 3) { +@@ -294,6 +302,14 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + ++ /* If max_brightness is 0, then there is no actual backlight ++ * device. This happens on desktops with Asus mainboards ++ * that load the eeepc-wmi module. ++ */ ++ max_brightness = get_max_brightness(device); ++ if (max_brightness == 0) ++ return EXIT_SUCCESS; ++ + escaped_ss = cescape(ss); + if (!escaped_ss) { + log_oom(); +@@ -348,7 +364,7 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- clamp_brightness(device, &value); ++ clamp_brightness(device, &value, max_brightness); + + r = udev_device_set_sysattr_value(device, "brightness", value); + if (r < 0) { +-- +1.7.9.2 + diff --git a/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch b/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch new file mode 100644 index 00000000..8c1b12e2 --- /dev/null +++ b/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch @@ -0,0 +1,31 @@ +From 1c92ff85b786c423f4436ec26007e79369c9ac05 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 26 Sep 2014 22:01:32 +0200 +Subject: [PATCH] bootchart: use 'n/a' if PRETTY_NAME is not found + +Spotted with coverity. If parsing both /etc/os-release and +/usr/lib/os-release fails then null would be passed on. The calls +to parse the two files are allowed to fail. A empty /etc may not +have had the /etc/os-release symlink restored yet and we just +try again in the loop. If for whatever reason that does not happen +then we now pass on 'n/a' instead of null. +--- + src/bootchart/bootchart.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c +index 366a5ab..813e38d 100644 +--- src/bootchart/bootchart.c ++++ src/bootchart/bootchart.c +@@ -471,7 +471,7 @@ int main(int argc, char *argv[]) { + exit (EXIT_FAILURE); + } + +- svg_do(build); ++ svg_do(strna(build)); + + fprintf(stderr, "systemd-bootchart wrote %s\n", output_file); + +-- +1.7.9.2 + diff --git a/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch b/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch new file mode 100644 index 00000000..718f6862 --- /dev/null +++ b/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch @@ -0,0 +1,26 @@ +From 82923adfe5c4fa09cc91fd2a2e374c936cd4a186 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 13 Mar 2014 20:00:50 +0100 +Subject: [PATCH] bus: fix memory leak when kdbus is not enabled + +--- + src/libsystemd/sd-bus/sd-bus.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index ffa3369..ca7c428 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -1189,7 +1189,8 @@ _public_ int sd_bus_open_user(sd_bus **ret) { + #ifdef ENABLE_KDBUS + asprintf(&b->address, KERNEL_USER_BUS_FMT, (unsigned long) getuid()); + #else +- return -ECONNREFUSED; ++ r = -ECONNREFUSED; ++ goto fail; + #endif + } + +-- +1.7.9.2 + diff --git a/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch b/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch new file mode 100644 index 00000000..3961c020 --- /dev/null +++ b/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch @@ -0,0 +1,59 @@ +From b27adf354a83ad25f4a209c0a6f7989ecab7b4e2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 13:31:25 +0200 +Subject: [PATCH] bus: make use of sd_bus_try_close() in exit-on-idle services + +--- + src/libsystemd/sd-bus/bus-util.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c +index 6bd21cc..6441c5b 100644 +--- src/libsystemd/sd-bus/bus-util.c ++++ src/libsystemd/sd-bus/bus-util.c +@@ -43,7 +43,9 @@ static int name_owner_change_callback(sd_bus *bus, sd_bus_message *m, void *user + assert(m); + assert(e); + ++ sd_bus_close(bus); + sd_event_exit(e, 0); ++ + return 1; + } + +@@ -121,11 +123,30 @@ int bus_event_loop_with_idle( + return r; + + if (r == 0 && !exiting) { +- r = bus_async_unregister_and_exit(e, bus, name); ++ ++ r = sd_bus_try_close(bus); ++ if (r == -EBUSY) ++ continue; ++ ++ if (r == -ENOTSUP) { ++ /* Fallback for dbus1 connections: we ++ * unregister the name and wait for ++ * the response to come through for ++ * it */ ++ ++ r = bus_async_unregister_and_exit(e, bus, name); ++ if (r < 0) ++ return r; ++ ++ exiting = true; ++ continue; ++ } ++ + if (r < 0) + return r; + +- exiting = true; ++ sd_event_exit(e, 0); ++ break; + } + } + +-- +1.7.9.2 + diff --git a/0002-bus-remove-unused-check.patch b/0002-bus-remove-unused-check.patch new file mode 100644 index 00000000..32c35276 --- /dev/null +++ b/0002-bus-remove-unused-check.patch @@ -0,0 +1,29 @@ +From 04c553e322680b6fcdf5b271e84b0b4b0ad8d5f9 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Tue, 23 Sep 2014 21:34:21 +0200 +Subject: [PATCH] bus: remove unused check + +strerror_r does not return null here and even if it did we would have +problems already at the preceding strlen call. + +Found by coverity. Fixes: CID#1237770 +--- + src/libsystemd/sd-bus/bus-error.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c +index c2e41fb..abdfd73 100644 +--- src/libsystemd/sd-bus/bus-error.c ++++ src/libsystemd/sd-bus/bus-error.c +@@ -312,7 +312,7 @@ static void bus_error_strerror(sd_bus_error *e, int error) { + continue; + } + +- if (!x || errno) { ++ if (errno) { + free(m); + return; + } +-- +1.7.9.2 + diff --git a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch new file mode 100644 index 00000000..ec455770 --- /dev/null +++ b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch @@ -0,0 +1,27 @@ +From cdd7b7dfd44649b204c43e907f03d4294de4f28a Mon Sep 17 00:00:00 2001 +From: Hristo Venev +Date: Mon, 23 Jun 2014 18:53:04 +0200 +Subject: [PATCH] core: make sure Environment fields passed in for transient + units are properly written to unit files + +https://bugs.freedesktop.org/show_bug.cgi?id=76744 +--- + src/core/dbus-execute.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/dbus-execute.c src/core/dbus-execute.c +index cb9a077..ecbadd7 100644 +--- src/core/dbus-execute.c ++++ src/core/dbus-execute.c +@@ -848,7 +848,7 @@ int bus_exec_context_set_transient_property( + strv_free(c->environment); + c->environment = e; + +- joined = strv_join(c->environment, " "); ++ joined = strv_join_quoted(c->environment); + if (!joined) + return -ENOMEM; + +-- +1.7.9.2 + diff --git a/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch b/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch new file mode 100644 index 00000000..61888e5f --- /dev/null +++ b/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch @@ -0,0 +1,42 @@ +From 375ae4aa4d2f89ae8afdd27e9f2b8336fcc2a046 Mon Sep 17 00:00:00 2001 +From: Uoti Urpala +Date: Mon, 23 Jun 2014 16:50:03 +0300 +Subject: [PATCH] core/transaction: fix cycle break attempts outside + transaction + +Patch fixes some incorrect-looking code in transaction.c. +It could fix cases where Debian users with bad package configurations +had systemd go into an infinite loop printing messages about breaking an +ordering cycle, though I have not reproduced that problem myself. + +transaction_verify_order_one() considers jobs/units outside current +transaction when checking whether ordering dependencies cause cycles. +It would also incorrectly try to break cycles at these jobs; this +cannot work, as the break action is to remove the job from the +transaction, which is a no-op if the job isn't part of the transaction +to begin with. The unit_matters_to_anchor() test also looks like it +would not work correctly for non-transaction jobs. Add a check to +verify that the unit is part of the transaction before considering a +job a candidate for deletion. + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752259 +--- + src/core/transaction.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/transaction.c src/core/transaction.c +index d23a45c..805d40a 100644 +--- src/core/transaction.c ++++ src/core/transaction.c +@@ -381,7 +381,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + "Found dependency on %s/%s", + k->unit->id, job_type_to_string(k->type)); + +- if (!delete && ++ if (!delete && hashmap_get(tr->jobs, k->unit) && + !unit_matters_to_anchor(k->unit, k)) { + /* Ok, we can drop this one, so let's + * do so. */ +-- +1.7.9.2 + diff --git a/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch b/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch new file mode 100644 index 00000000..3a136da5 --- /dev/null +++ b/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch @@ -0,0 +1,23 @@ +Based on 4c3f1641f13b7687a0dc234d3ae387b7c40494ff Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 19 Nov 2014 20:52:23 +0100 +Subject: [PATCH] core: watchdog bus properties cannot be both writable and + constant + +--- + src/core/dbus-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c 2014-11-20 13:43:06.781518488 +0000 +@@ -1599,8 +1599,8 @@ const sd_bus_vtable bus_manager_vtable[] + SD_BUS_PROPERTY("UnitPath", "as", NULL, offsetof(Manager, lookup_paths.unit_path), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("DefaultStandardOutput", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("DefaultStandardError", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), +- SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), +- SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), ++ SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), 0), ++ SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), 0), + SD_BUS_PROPERTY("ControlGroup", "s", NULL, offsetof(Manager, cgroup_root), 0), + + SD_BUS_METHOD("GetUnit", "s", "o", method_get_unit, SD_BUS_VTABLE_UNPRIVILEGED), diff --git a/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch b/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch new file mode 100644 index 00000000..67454ead --- /dev/null +++ b/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch @@ -0,0 +1,54 @@ +From 98b47d54ce946ad3524f84eb38d2413498a333dc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 17:11:39 +0100 +Subject: [PATCH] execute: free directory path if we fail to remove it because + we cannot allocate a thread + +--- + src/core/execute.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git src/core/execute.c src/core/execute.c +index 9de6e87..3312885 100644 +--- src/core/execute.c ++++ src/core/execute.c +@@ -2713,6 +2713,8 @@ static void *remove_tmpdir_thread(void *p) { + } + + void exec_runtime_destroy(ExecRuntime *rt) { ++ int r; ++ + if (!rt) + return; + +@@ -2722,13 +2724,25 @@ void exec_runtime_destroy(ExecRuntime *rt) { + + if (rt->tmp_dir) { + log_debug("Spawning thread to nuke %s", rt->tmp_dir); +- asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); ++ ++ r = asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); ++ if (r < 0) { ++ log_warning("Failed to nuke %s: %s", rt->tmp_dir, strerror(-r)); ++ free(rt->tmp_dir); ++ } ++ + rt->tmp_dir = NULL; + } + + if (rt->var_tmp_dir) { + log_debug("Spawning thread to nuke %s", rt->var_tmp_dir); +- asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); ++ ++ r = asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); ++ if (r < 0) { ++ log_warning("Failed to nuke %s: %s", rt->var_tmp_dir, strerror(-r)); ++ free(rt->var_tmp_dir); ++ } ++ + rt->var_tmp_dir = NULL; + } + +-- +1.7.9.2 + diff --git a/0002-fsck-include-device-name-in-the-message-about-missin.patch b/0002-fsck-include-device-name-in-the-message-about-missin.patch new file mode 100644 index 00000000..7ec3506f --- /dev/null +++ b/0002-fsck-include-device-name-in-the-message-about-missin.patch @@ -0,0 +1,26 @@ +Based on 8d2a6145334257c8a9ceabc9dd52dff06cca818e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 26 May 2014 23:03:11 -0400 +Subject: [PATCH] fsck: include device name in the message about missing fsck + +--- + src/fsck/fsck.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- src/fsck/fsck.c ++++ src/fsck/fsck.c 2014-06-03 14:15:15.746235301 +0000 +@@ -284,10 +284,12 @@ int main(int argc, char *argv[]) { + r = access(checker, X_OK); + if (r < 0) { + if (errno == ENOENT) { +- log_info("%s doesn't exist, not checking file system.", checker); ++ log_info("%s doesn't exist, not checking file system on %s", ++ checker, device); + return EXIT_SUCCESS; + } else +- log_warning("%s cannot be used: %m", checker); ++ log_warning("%s cannot be used for %s: %m", ++ checker, device); + } + } + diff --git a/0002-hostnamed-add-a-new-chassis-type-for-watches.patch b/0002-hostnamed-add-a-new-chassis-type-for-watches.patch new file mode 100644 index 00000000..a20c11c6 --- /dev/null +++ b/0002-hostnamed-add-a-new-chassis-type-for-watches.patch @@ -0,0 +1,26 @@ +From c49e59c1831f20fe02276d7bc6ba7d23d24c4ab3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 9 Jul 2014 13:20:05 +0200 +Subject: [PATCH] hostnamed: add a new chassis type for watches + +--- + src/hostname/hostnamed.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c +index 514554d..eaae113 100644 +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c +@@ -144,7 +144,8 @@ static bool valid_chassis(const char *chassis) { + "laptop\0" + "server\0" + "tablet\0" +- "handset\0", ++ "handset\0" ++ "watch\0", + chassis); + } + +-- +1.7.9.2 + diff --git a/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch b/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch new file mode 100644 index 00000000..8304b2d4 --- /dev/null +++ b/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch @@ -0,0 +1,42 @@ +From fc1ae82cae69d8dbbd9e7a31938810a486fac782 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Wed, 22 Oct 2014 14:09:21 +0200 +Subject: [PATCH] hwdb: Add mapping for special keys on compaq ku 0133 + keyboards + +The compaq ku 0133 keyboard has 8 special keys at the top: +http://lackof.org/taggart/hacking/keyboard/cpqwireless.jpg + +3 of these use standard HID usage codes from the consumer page, the 5 +others use part of the reserved 0x07 - 0x1f range. + +This commit adds mapping for this keyboard for these reserved codes, making +the other 5 keys work. + +Cc: Hans de Goede +Signed-off-by: Hans de Goede +--- + hwdb/60-keyboard.hwdb | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 59f467b..06caba9 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -181,6 +181,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr* + KEYBOARD_KEY_9e=email + KEYBOARD_KEY_9f=homepage + ++keyboard:usb:v049Fp0051d*dc*dsc*dp*ic*isc*ip*in01* ++ KEYBOARD_KEY_0c0011=presentation ++ KEYBOARD_KEY_0c0012=addressbook ++ KEYBOARD_KEY_0c0013=info ++ KEYBOARD_KEY_0c0014=prog1 ++ KEYBOARD_KEY_0c0015=messenger ++ + ########################################################### + # Dell + ########################################################### +-- +1.7.9.2 + diff --git a/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..a386c649 --- /dev/null +++ b/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,32 @@ +From f401e2b24ba17452f9655993a6dedefdffe06d23 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Tue, 11 Mar 2014 09:33:31 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 0335a71..7d86f10 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -911,3 +911,15 @@ bluetooth:v012C* + + bluetooth:v012D* + ID_VENDOR_FROM_DATABASE=Sony Corporation ++ ++bluetooth:v012E* ++ ID_VENDOR_FROM_DATABASE=ASSA ABLOY ++ ++bluetooth:v012F* ++ ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd. ++ ++bluetooth:v0130* ++ ID_VENDOR_FROM_DATABASE=Warehouse Innovations ++ ++bluetooth:v0131* ++ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation +-- +1.7.9.2 + diff --git a/0002-hwdb-update.patch b/0002-hwdb-update.patch new file mode 100644 index 00000000..1d3abc28 --- /dev/null +++ b/0002-hwdb-update.patch @@ -0,0 +1,2058 @@ +From dbe633cc027e31a0d4fb488a3c68b7762ef0e7b3 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 13 Apr 2014 23:46:27 -0700 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 275 +++++++++++++++++++++- + hwdb/20-pci-vendor-model.hwdb | 522 ++++++++++++++++++++++++++++++++++++++--- + 2 files changed, 751 insertions(+), 46 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 209b89e..17794ed 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -6929,7 +6929,7 @@ OUI:0050C2912* + ID_OUI_FROM_DATABASE=ASSET InterTech, Inc. + + OUI:0050C2913* +- ID_OUI_FROM_DATABASE=Selex Sensors & Airborne Systems ++ ID_OUI_FROM_DATABASE=Selex Ex Ltd + + OUI:0050C2914* + ID_OUI_FROM_DATABASE=IO-Connect +@@ -15944,7 +15944,7 @@ OUI:000300* + ID_OUI_FROM_DATABASE=Barracuda Networks, Inc. + + OUI:000301* +- ID_OUI_FROM_DATABASE=Avantas Networks Corporation ++ ID_OUI_FROM_DATABASE=EXFO + + OUI:000302* + ID_OUI_FROM_DATABASE=Charles Industries, Ltd. +@@ -24575,7 +24575,7 @@ OUI:000E65* + ID_OUI_FROM_DATABASE=TransCore + + OUI:000E66* +- ID_OUI_FROM_DATABASE=Hitachi Advanced Digital, Inc. ++ ID_OUI_FROM_DATABASE=Hitachi Industry & Control Solutions, Ltd. + + OUI:000E67* + ID_OUI_FROM_DATABASE=Eltis Microelectronics Ltd. +@@ -24947,7 +24947,7 @@ OUI:000EE1* + ID_OUI_FROM_DATABASE=ExtremeSpeed Inc. + + OUI:000EE2* +- ID_OUI_FROM_DATABASE=Custom Engineering S.p.A. ++ ID_OUI_FROM_DATABASE=Custom Engineering + + OUI:000EE3* + ID_OUI_FROM_DATABASE=Chiyu Technology Co.,Ltd +@@ -51760,6 +51760,9 @@ OUI:045A95* + OUI:045C06* + ID_OUI_FROM_DATABASE=Zmodo Technology Corporation + ++OUI:045C8E* ++ ID_OUI_FROM_DATABASE=gosund GROUP CO.,LTD ++ + OUI:045D56* + ID_OUI_FROM_DATABASE=camtron industrial inc. + +@@ -51865,6 +51868,9 @@ OUI:04C5A4* + OUI:04C880* + ID_OUI_FROM_DATABASE=Samtec Inc + ++OUI:04C991* ++ ID_OUI_FROM_DATABASE=Phistek INC. ++ + OUI:04CB1D* + ID_OUI_FROM_DATABASE=Traka plc + +@@ -52633,6 +52639,9 @@ OUI:08CA45* + OUI:08CC68* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:08CD9B* ++ ID_OUI_FROM_DATABASE=samtec automotive electronics & software GmbH ++ + OUI:08D09F* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -52684,6 +52693,9 @@ OUI:08F2F4* + OUI:08F6F8* + ID_OUI_FROM_DATABASE=GET Engineering + ++OUI:08F728* ++ ID_OUI_FROM_DATABASE=GLOBO Multimedia Sp. z o.o. Sp.k. ++ + OUI:08FAE0* + ID_OUI_FROM_DATABASE=Fohhn Audio AG + +@@ -52750,6 +52762,9 @@ OUI:0C3021* + OUI:0C37DC* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:0C383E* ++ ID_OUI_FROM_DATABASE=Fanvil Technology Co., Ltd. ++ + OUI:0C3956* + ID_OUI_FROM_DATABASE=Observator instruments + +@@ -53104,6 +53119,9 @@ OUI:102D96* + OUI:102EAF* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:103047* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:103378* + ID_OUI_FROM_DATABASE=FLECTRON Co., LTD + +@@ -53215,6 +53233,9 @@ OUI:1088CE* + OUI:108CCF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:109266* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:1093E9* + ID_OUI_FROM_DATABASE=Apple + +@@ -53260,6 +53281,9 @@ OUI:10BF48* + OUI:10C2BA* + ID_OUI_FROM_DATABASE=UTT Co., Ltd. + ++OUI:10C37B* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:10C586* + ID_OUI_FROM_DATABASE=BIO SOUND LAB CO., LTD. + +@@ -53365,6 +53389,9 @@ OUI:141BBD* + OUI:141BF0* + ID_OUI_FROM_DATABASE=Intellimedia Systems Ltd + ++OUI:141FBA* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:1423D7* + ID_OUI_FROM_DATABASE=EUTRONIX CO., LTD. + +@@ -53518,6 +53545,9 @@ OUI:14B968* + OUI:14C089* + ID_OUI_FROM_DATABASE=DUNE HD LTD + ++OUI:14C126* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:14C21D* + ID_OUI_FROM_DATABASE=Sabtech Industries + +@@ -53572,6 +53602,9 @@ OUI:14F28E* + OUI:14F42A* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:14F65A* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:14FEAF* + ID_OUI_FROM_DATABASE=SAGITTAR LIMITED + +@@ -53659,6 +53692,9 @@ OUI:182B05* + OUI:182C91* + ID_OUI_FROM_DATABASE=Concept Development, Inc. + ++OUI:183009* ++ ID_OUI_FROM_DATABASE=Woojin Industrial Systems Co., Ltd. ++ + OUI:1832A2* + ID_OUI_FROM_DATABASE=LAON TECHNOLOGY CO., LTD. + +@@ -53698,6 +53734,9 @@ OUI:184617* + OUI:1848D8* + ID_OUI_FROM_DATABASE=Fastback Networks + ++OUI:184A6F* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd ++ + OUI:184E94* + ID_OUI_FROM_DATABASE=MESSOA TECHNOLOGIES INC. + +@@ -53758,6 +53797,9 @@ OUI:1880F5* + OUI:188331* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:1883BF* ++ ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation ++ + OUI:188410* + ID_OUI_FROM_DATABASE=CoreTrust Inc. + +@@ -54322,6 +54364,9 @@ OUI:206A8A* + OUI:206AFF* + ID_OUI_FROM_DATABASE=Atlas Elektronik UK Limited + ++OUI:206E9C* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:206FEC* + ID_OUI_FROM_DATABASE=Braemac CA LLC + +@@ -54838,6 +54883,9 @@ OUI:284C53* + OUI:284D92* + ID_OUI_FROM_DATABASE=Luminator + ++OUI:284ED7* ++ ID_OUI_FROM_DATABASE=OutSmart Power Systems, Inc. ++ + OUI:284FCE* + ID_OUI_FROM_DATABASE=Liaoning Wontel Science and Technology Development Co.,Ltd. + +@@ -54976,6 +55024,9 @@ OUI:28C68E* + OUI:28C718* + ID_OUI_FROM_DATABASE=Altierre + ++OUI:28C7CE* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:28C825* + ID_OUI_FROM_DATABASE=DellKing Industrial Co., Ltd + +@@ -55069,6 +55120,9 @@ OUI:28FBD3* + OUI:28FC51* + ID_OUI_FROM_DATABASE=The Electric Controller and Manufacturing Co., LLC + ++OUI:28FCF6* ++ ID_OUI_FROM_DATABASE=Shenzhen Xin KingBrand enterprises Co.,Ltd ++ + OUI:2C002C* + ID_OUI_FROM_DATABASE=UNOWHY + +@@ -55291,6 +55345,9 @@ OUI:2CB693* + OUI:2CB69D* + ID_OUI_FROM_DATABASE=RED Digital Cinema + ++OUI:2CBE08* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:2CBE97* + ID_OUI_FROM_DATABASE=Ingenieurbuero Bickele und Buehler GmbH + +@@ -55354,6 +55411,9 @@ OUI:30055C* + OUI:300B9C* + ID_OUI_FROM_DATABASE=Delta Mobile Systems, Inc. + ++OUI:300D2A* ++ ID_OUI_FROM_DATABASE=Zhejiang Wellcom Technology Co.,Ltd. ++ + OUI:300ED5* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd + +@@ -55450,6 +55510,9 @@ OUI:3055ED* + OUI:3057AC* + ID_OUI_FROM_DATABASE=IRLAB LTD. + ++OUI:30595B* ++ ID_OUI_FROM_DATABASE=streamnow AG ++ + OUI:3059B7* + ID_OUI_FROM_DATABASE=Microsoft + +@@ -55543,6 +55606,9 @@ OUI:30B3A2* + OUI:30B5C2* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:30B5F1* ++ ID_OUI_FROM_DATABASE=Aitexin Technology Co., Ltd ++ + OUI:30C750* + ID_OUI_FROM_DATABASE=MIC Technology Group + +@@ -55606,6 +55672,9 @@ OUI:30F9ED* + OUI:30FD11* + ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. + ++OUI:340286* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:3407FB* + ID_OUI_FROM_DATABASE=Ericsson AB + +@@ -55654,6 +55723,9 @@ OUI:342F6E* + OUI:343111* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:3431C4* ++ ID_OUI_FROM_DATABASE=AVM GmbH ++ + OUI:3440B5* + ID_OUI_FROM_DATABASE=IBM + +@@ -55840,6 +55912,9 @@ OUI:34C059* + OUI:34C3AC* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:34C5D0* ++ ID_OUI_FROM_DATABASE=Hagleitner Hygiene International GmbH ++ + OUI:34C69A* + ID_OUI_FROM_DATABASE=Enecsys Ltd + +@@ -55963,6 +56038,9 @@ OUI:3826CD* + OUI:3828EA* + ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD + ++OUI:382DD1* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:3831AC* + ID_OUI_FROM_DATABASE=WEG + +@@ -56371,6 +56449,9 @@ OUI:3C99F7* + OUI:3C9F81* + ID_OUI_FROM_DATABASE=Shenzhen CATIC Bit Communications Technology Co.,Ltd + ++OUI:3CA10D* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:3CA315* + ID_OUI_FROM_DATABASE=Bless Information & Communications Co., Ltd + +@@ -56380,6 +56461,9 @@ OUI:3CA72B* + OUI:3CA9F4* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:3CAA3F* ++ ID_OUI_FROM_DATABASE=iKey, Ltd. ++ + OUI:3CAB8E* + ID_OUI_FROM_DATABASE=Apple + +@@ -56413,6 +56497,9 @@ OUI:3CC99E* + OUI:3CCA87* + ID_OUI_FROM_DATABASE=Iders Incorporated + ++OUI:3CCD5A* ++ ID_OUI_FROM_DATABASE=Technische Alternative GmbH ++ + OUI:3CCD93* + ID_OUI_FROM_DATABASE=LG ELECTRONICS INC + +@@ -57109,6 +57196,9 @@ OUI:481A84* + OUI:481BD2* + ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. + ++OUI:4826E8* ++ ID_OUI_FROM_DATABASE=Tek-Air Systems, Inc. ++ + OUI:48282F* + ID_OUI_FROM_DATABASE=ZTE Corporation + +@@ -57260,7 +57350,7 @@ OUI:48D7FF* + ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH + + OUI:48D855* +- ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY ++ ID_OUI_FROM_DATABASE=Telvent + + OUI:48D8FE* + ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. +@@ -57748,6 +57838,9 @@ OUI:507E5D* + OUI:508569* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD + ++OUI:508789* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:5087B8* + ID_OUI_FROM_DATABASE=Nuvyyo Inc + +@@ -57880,6 +57973,9 @@ OUI:50FC30* + OUI:50FC9F* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:50FEF2* ++ ID_OUI_FROM_DATABASE=Sify Technologies Ltd ++ + OUI:5403F5* + ID_OUI_FROM_DATABASE=EBN Technology Corp. + +@@ -58072,6 +58168,9 @@ OUI:54AE27* + OUI:54B620* + ID_OUI_FROM_DATABASE=SUHDOL E&C Co.Ltd. + ++OUI:54B753* ++ ID_OUI_FROM_DATABASE=Hunan Fenghui Yinjia Science And Technology Co.,Ltd ++ + OUI:54BEF7* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + +@@ -58132,6 +58231,9 @@ OUI:54F5B6* + OUI:54F666* + ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG + ++OUI:54FA3E* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD ++ + OUI:54FB58* + ID_OUI_FROM_DATABASE=WISEWARE, Lda + +@@ -58462,6 +58564,9 @@ OUI:5C260A* + OUI:5C2AEF* + ID_OUI_FROM_DATABASE=Open Access Pty Ltd + ++OUI:5C2E59* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:5C313E* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -58519,6 +58624,9 @@ OUI:5C57C8* + OUI:5C5948* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C5BC2* ++ ID_OUI_FROM_DATABASE=YIK Corporation ++ + OUI:5C5EAB* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -58558,6 +58666,9 @@ OUI:5C8778* + OUI:5C89D4* + ID_OUI_FROM_DATABASE=Beijing Banner Electric Co.,Ltd + ++OUI:5C8D4E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:5C95AE* + ID_OUI_FROM_DATABASE=Apple + +@@ -58819,6 +58930,9 @@ OUI:607688* + OUI:60812B* + ID_OUI_FROM_DATABASE=Custom Control Concepts + ++OUI:6081F9* ++ ID_OUI_FROM_DATABASE=Helium Systems, Inc ++ + OUI:6083B2* + ID_OUI_FROM_DATABASE=GkWare e.K. + +@@ -58867,6 +58981,9 @@ OUI:60A10A* + OUI:60A44C* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + ++OUI:60A8FE* ++ ID_OUI_FROM_DATABASE=Nokia Solutions and Networks ++ + OUI:60A9B0* + ID_OUI_FROM_DATABASE=Merchandising Technologies, Inc + +@@ -58918,6 +59035,9 @@ OUI:60C980* + OUI:60CBFB* + ID_OUI_FROM_DATABASE=AirScape Inc. + ++OUI:60CDA9* ++ ID_OUI_FROM_DATABASE=Abloomy ++ + OUI:60CDC5* + ID_OUI_FROM_DATABASE=Taiwan Carol Electronics., Ltd + +@@ -59092,6 +59212,9 @@ OUI:644D70* + OUI:644F74* + ID_OUI_FROM_DATABASE=LENUS Co., Ltd. + ++OUI:644FB0* ++ ID_OUI_FROM_DATABASE=Hyunjin.com ++ + OUI:64517E* + ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. + +@@ -59146,6 +59269,9 @@ OUI:64680C* + OUI:6469BC* + ID_OUI_FROM_DATABASE=Hytera Communications Co .,ltd + ++OUI:646CB2* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:646E6C* + ID_OUI_FROM_DATABASE=Radio Datacom LLC + +@@ -59305,6 +59431,9 @@ OUI:64D814* + OUI:64D912* + ID_OUI_FROM_DATABASE=Solidica, Inc. + ++OUI:64D954* ++ ID_OUI_FROM_DATABASE=TAICANG AND W ELECTRONICS CO LTD ++ + OUI:64D989* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -59368,6 +59497,9 @@ OUI:64F987* + OUI:64FC8C* + ID_OUI_FROM_DATABASE=Zonar Systems + ++OUI:680571* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:6805CA* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -59701,6 +59833,9 @@ OUI:6C2E33* + OUI:6C2E85* + ID_OUI_FROM_DATABASE=SAGEMCOM + ++OUI:6C2F2C* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:6C32DE* + ID_OUI_FROM_DATABASE=Indieon Technologies Pvt. Ltd. + +@@ -59860,6 +59995,9 @@ OUI:6CADF8* + OUI:6CAE8B* + ID_OUI_FROM_DATABASE=IBM Corporation + ++OUI:6CB0CE* ++ ID_OUI_FROM_DATABASE=NETGEAR ++ + OUI:6CB311* + ID_OUI_FROM_DATABASE=Shenzhen Lianrui Electronics Co.,Ltd + +@@ -59875,6 +60013,9 @@ OUI:6CBEE9* + OUI:6CC1D2* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:6CC217* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:6CC26B* + ID_OUI_FROM_DATABASE=Apple + +@@ -59929,6 +60070,9 @@ OUI:6CF97C* + OUI:6CFA58* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:6CFA89* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:6CFAA7* + ID_OUI_FROM_DATABASE=AMPAK Technology Inc. + +@@ -60097,6 +60241,9 @@ OUI:7071B3* + OUI:7071BC* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + ++OUI:70720D* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:70723C* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -60502,6 +60649,9 @@ OUI:74D850* + OUI:74DA38* + ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. + ++OUI:74DBD1* ++ ID_OUI_FROM_DATABASE=Ebay Inc ++ + OUI:74DE2B* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -60733,6 +60883,9 @@ OUI:78923E* + OUI:78929C* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:789684* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:7898FD* + ID_OUI_FROM_DATABASE=Q9 Networks Inc. + +@@ -60922,6 +61075,9 @@ OUI:78F7BE* + OUI:78F7D0* + ID_OUI_FROM_DATABASE=Silverbrook Research + ++OUI:78FD94* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:78FE3D* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -61060,6 +61216,9 @@ OUI:7C69F6* + OUI:7C6AB3* + ID_OUI_FROM_DATABASE=IBC TECHNOLOGIES INC. + ++OUI:7C6AC3* ++ ID_OUI_FROM_DATABASE=GatesAir, Inc ++ + OUI:7C6ADB* + ID_OUI_FROM_DATABASE=SafeTone Technology Co.,Ltd + +@@ -61087,6 +61246,9 @@ OUI:7C6F06* + OUI:7C6FF8* + ID_OUI_FROM_DATABASE=ShenZhen ACTO Digital Video Technology Co.,Ltd. + ++OUI:7C70BC* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:7C72E4* + ID_OUI_FROM_DATABASE=Unikey Technologies + +@@ -61174,6 +61336,9 @@ OUI:7CBFB1* + OUI:7CC3A1* + ID_OUI_FROM_DATABASE=Apple + ++OUI:7CC4EF* ++ ID_OUI_FROM_DATABASE=Devialet ++ + OUI:7CC537* + ID_OUI_FROM_DATABASE=Apple + +@@ -61231,6 +61396,9 @@ OUI:7CE044* + OUI:7CE1FF* + ID_OUI_FROM_DATABASE=Computer Performance, Inc. DBA Digital Loggers, Inc. + ++OUI:7CE524* ++ ID_OUI_FROM_DATABASE=Quirky, Inc. ++ + OUI:7CE56B* + ID_OUI_FROM_DATABASE=ESEN Optoelectronics Technology Co.,Ltd. + +@@ -61477,6 +61645,9 @@ OUI:80A1D7* + OUI:80AAA4* + ID_OUI_FROM_DATABASE=USAG + ++OUI:80AD67* ++ ID_OUI_FROM_DATABASE=Kasda Digital Technology Co.,Ltd ++ + OUI:80B219* + ID_OUI_FROM_DATABASE=ELEKTRON TECHNOLOGY UK LIMITED + +@@ -61564,6 +61735,9 @@ OUI:80FFA8* + OUI:8400D2* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:8401A7* ++ ID_OUI_FROM_DATABASE=Greyware Automation Products, Inc ++ + OUI:840B2D* + ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS CO., LTD + +@@ -61576,6 +61750,9 @@ OUI:841715* + OUI:841766* + ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd + ++OUI:84183A* ++ ID_OUI_FROM_DATABASE=Ruckus Wireless ++ + OUI:841888* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -61723,6 +61900,9 @@ OUI:848433* + OUI:848506* + ID_OUI_FROM_DATABASE=Apple + ++OUI:84850A* ++ ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH ++ + OUI:848D84* + ID_OUI_FROM_DATABASE=Rajant Corporation + +@@ -61885,6 +62065,9 @@ OUI:8823FE* + OUI:88252C* + ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation + ++OUI:882950* ++ ID_OUI_FROM_DATABASE=Dalian Netmoon Tech Develop Co.,Ltd ++ + OUI:882E5A* + ID_OUI_FROM_DATABASE=storONE + +@@ -61948,6 +62131,9 @@ OUI:885C47* + OUI:88615A* + ID_OUI_FROM_DATABASE=Siano Mobile Silicon Ltd. + ++OUI:8863DF* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:88685C* + ID_OUI_FROM_DATABASE=Shenzhen ChuangDao & Perpetual Eternal Technology Co.,Ltd + +@@ -62098,6 +62284,9 @@ OUI:88E917* + OUI:88ED1C* + ID_OUI_FROM_DATABASE=Cudo Communication Co., Ltd. + ++OUI:88F031* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:88F077* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -62326,6 +62515,9 @@ OUI:8CB864* + OUI:8CBEBE* + ID_OUI_FROM_DATABASE=Xiaomi Technology Co.,Ltd + ++OUI:8CBF9D* ++ ID_OUI_FROM_DATABASE=Shanghai Xinyou Information Technology Ltd. Co. ++ + OUI:8CC121* + ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company + +@@ -62662,6 +62854,9 @@ OUI:90B97D* + OUI:90C115* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:90C792* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:90CC24* + ID_OUI_FROM_DATABASE=Synaptics, Inc + +@@ -63259,6 +63454,9 @@ OUI:98EC65* + OUI:98F0AB* + ID_OUI_FROM_DATABASE=Apple + ++OUI:98F170* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:98F537* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -63496,6 +63694,9 @@ OUI:9CA577* + OUI:9CA9E4* + ID_OUI_FROM_DATABASE=zte corporation + ++OUI:9CAD97* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:9CADEF* + ID_OUI_FROM_DATABASE=Obihai Technology, Inc. + +@@ -64456,6 +64657,9 @@ OUI:A8E018* + OUI:A8E3EE* + ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. + ++OUI:A8E539* ++ ID_OUI_FROM_DATABASE=Moimstone Co.,Ltd ++ + OUI:A8EF26* + ID_OUI_FROM_DATABASE=Tritonwave + +@@ -64702,6 +64906,9 @@ OUI:ACA016* + OUI:ACA22C* + ID_OUI_FROM_DATABASE=Baycity Technologies Ltd + ++OUI:ACA31E* ++ ID_OUI_FROM_DATABASE=Aruba Networks ++ + OUI:ACA430* + ID_OUI_FROM_DATABASE=Peerless AV + +@@ -64837,6 +65044,12 @@ OUI:B000B4* + OUI:B00594* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + ++OUI:B009D3* ++ ID_OUI_FROM_DATABASE=Avizia ++ ++OUI:B01041* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:B01203* + ID_OUI_FROM_DATABASE=Dynamics Hong Kong Limited + +@@ -64951,6 +65164,9 @@ OUI:B0808C* + OUI:B081D8* + ID_OUI_FROM_DATABASE=I-sys Corp + ++OUI:B083FE* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:B0869E* + ID_OUI_FROM_DATABASE=Chloride S.r.L + +@@ -65122,6 +65338,9 @@ OUI:B407F9* + OUI:B40832* + ID_OUI_FROM_DATABASE=TC Communications + ++OUI:B40B44* ++ ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. ++ + OUI:B40B7A* + ID_OUI_FROM_DATABASE=Brusa Elektronik AG + +@@ -65200,6 +65419,9 @@ OUI:B4417A* + OUI:B4430D* + ID_OUI_FROM_DATABASE=Broadlink Pty Ltd + ++OUI:B4475E* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:B44CC2* + ID_OUI_FROM_DATABASE=NR ELECTRIC CO., LTD + +@@ -65608,6 +65830,9 @@ OUI:B8A8AF* + OUI:B8AC6F* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:B8AD3E* ++ ID_OUI_FROM_DATABASE=BLUECOM ++ + OUI:B8AE6E* + ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. + +@@ -65842,6 +66067,9 @@ OUI:BC4B79* + OUI:BC4E3C* + ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. + ++OUI:BC4E5D* ++ ID_OUI_FROM_DATABASE=ZhongMiao Technology Co., Ltd. ++ + OUI:BC51FE* + ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd + +@@ -65974,6 +66202,9 @@ OUI:BCC6DB* + OUI:BCC810* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:BCCAB5* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:BCCD45* + ID_OUI_FROM_DATABASE=VOISMART + +@@ -66748,6 +66979,9 @@ OUI:C88B47* + OUI:C8903E* + ID_OUI_FROM_DATABASE=Pakton Technologies + ++OUI:C891F9* ++ ID_OUI_FROM_DATABASE=SAGEMCOM ++ + OUI:C89346* + ID_OUI_FROM_DATABASE=MXCHIP Company Limited + +@@ -67000,6 +67234,9 @@ OUI:CC3A61* + OUI:CC3C3F* + ID_OUI_FROM_DATABASE=SA.S.S. Datentechnik AG + ++OUI:CC3D82* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:CC3E5F* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -67303,6 +67540,9 @@ OUI:D03761* + OUI:D03972* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:D039B3* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:D046DC* + ID_OUI_FROM_DATABASE=Southwest Research Institute + +@@ -67735,6 +67975,9 @@ OUI:D48FAA* + OUI:D491AF* + ID_OUI_FROM_DATABASE=Electroacustica General Iberica, S.A. + ++OUI:D49398* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:D493A0* + ID_OUI_FROM_DATABASE=Fidelix Oy + +@@ -68057,7 +68300,7 @@ OUI:D89695* + ID_OUI_FROM_DATABASE=Apple + + OUI:D8973B* +- ID_OUI_FROM_DATABASE=Emerson Network Power Embedded Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:D89760* + ID_OUI_FROM_DATABASE=C2 Development, Inc. +@@ -68170,6 +68413,9 @@ OUI:D8DF0D* + OUI:D8E3AE* + ID_OUI_FROM_DATABASE=CIRTEC MEDICAL SYSTEMS + ++OUI:D8E56D* ++ ID_OUI_FROM_DATABASE=TCT Mobile Limited ++ + OUI:D8E72B* + ID_OUI_FROM_DATABASE=OnPATH Technologies + +@@ -69319,6 +69565,9 @@ OUI:E8F928* + OUI:E8FC60* + ID_OUI_FROM_DATABASE=ELCOM Innovations Private Limited + ++OUI:E8FCAF* ++ ID_OUI_FROM_DATABASE=NETGEAR INC., ++ + OUI:EC0ED6* + ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS + +@@ -69442,6 +69691,9 @@ OUI:EC888F* + OUI:EC89F5* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:EC8A4C* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:EC8EAD* + ID_OUI_FROM_DATABASE=DLX + +@@ -70099,6 +70351,9 @@ OUI:F4CE46* + OUI:F4CFE2* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:F4D261* ++ ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd ++ + OUI:F4D9FB* + ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD + +@@ -70111,6 +70366,9 @@ OUI:F4DCDA* + OUI:F4DCF9* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:F4DD9E* ++ ID_OUI_FROM_DATABASE=GoPro ++ + OUI:F4E142* + ID_OUI_FROM_DATABASE=Delta Elektronika BV + +@@ -70318,6 +70576,9 @@ OUI:F87B8C* + OUI:F8811A* + ID_OUI_FROM_DATABASE=OVERKIZ + ++OUI:F884F2* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:F88C1C* + ID_OUI_FROM_DATABASE=KAISHUN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING + +@@ -70586,7 +70847,7 @@ OUI:FC3FAB* + ID_OUI_FROM_DATABASE=Henan Lanxin Technology Co., Ltd + + OUI:FC4463* +- ID_OUI_FROM_DATABASE=Universal Audio ++ ID_OUI_FROM_DATABASE=Universal Audio, Inc + + OUI:FC4499* + ID_OUI_FROM_DATABASE=Swarco LEA d.o.o. +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 371a685..d54cb2a 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -497,6 +497,9 @@ pci:v00000E11d0000F130* + pci:v00000E11d0000F150* + ID_MODEL_FROM_DATABASE=NetFlex-3/P ThunderLAN 2.3 + ++pci:v00000E55* ++ ID_VENDOR_FROM_DATABASE=HaSoTec GmbH ++ + pci:v00000EAC* + ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG + +@@ -1169,6 +1172,12 @@ pci:v00001000d00000073sv00001137sd000000B0* + pci:v00001000d00000073sv00001137sd000000B1* + ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i + ++pci:v00001000d00000073sv00001137sd000000C2* ++ ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide ++ ++pci:v00001000d00000073sv00001137sd000000C3* ++ ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide ++ + pci:v00001000d00000073sv000015D9sd00000400* + ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR + +@@ -1665,25 +1674,25 @@ pci:v00001002d00001307* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d00001309* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d0000130A* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] + + pci:v00001002d0000130B* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] + + pci:v00001002d0000130C* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d0000130D* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] + + pci:v00001002d0000130E* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] + + pci:v00001002d0000130F* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d00001310* + ID_MODEL_FROM_DATABASE=Kaveri +@@ -1695,7 +1704,7 @@ pci:v00001002d00001312* + ID_MODEL_FROM_DATABASE=Kaveri + + pci:v00001002d00001313* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d00001314* + ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio +@@ -1704,22 +1713,25 @@ pci:v00001002d00001314sv0000174Bsd00001001* + ID_MODEL_FROM_DATABASE=PURE Fusion Mini + + pci:v00001002d00001315* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] + + pci:v00001002d00001316* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] + + pci:v00001002d00001317* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d00001318* ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] ++ + pci:v00001002d0000131B* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] + + pci:v00001002d0000131C* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + + pci:v00001002d0000131D* +- ID_MODEL_FROM_DATABASE=Kaveri ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] + + pci:v00001002d00001714* + ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] +@@ -4275,7 +4287,7 @@ pci:v00001002d00006641* + ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] + + pci:v00001002d00006649* +- ID_MODEL_FROM_DATABASE=Bonaire ++ ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] + + pci:v00001002d00006650* + ID_MODEL_FROM_DATABASE=Bonaire +@@ -4326,13 +4338,13 @@ pci:v00001002d00006663sv00001025sd00000846* + ID_MODEL_FROM_DATABASE=Radeon HD 8570A + + pci:v00001002d00006664* +- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] ++ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] + + pci:v00001002d00006665* + ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] + + pci:v00001002d00006667* +- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] ++ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] + + pci:v00001002d0000666F* + ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] +@@ -5808,7 +5820,7 @@ pci:v00001002d00006792* + ID_MODEL_FROM_DATABASE=Tahiti + + pci:v00001002d00006798* +- ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/R9 280X] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] + + pci:v00001002d00006798sv00001002sd00003000* + ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] +@@ -5934,7 +5946,7 @@ pci:v00001002d000067B1* + ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] + + pci:v00001002d000067B9* +- ID_MODEL_FROM_DATABASE=Vesuvius ++ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] + + pci:v00001002d000067BE* + ID_MODEL_FROM_DATABASE=Hawaii LE +@@ -5952,7 +5964,7 @@ pci:v00001002d00006800sv00008086sd00002111* + ID_MODEL_FROM_DATABASE=Radeon HD 7970M + + pci:v00001002d00006801* +- ID_MODEL_FROM_DATABASE=Neptune [Radeon HD 8970M] ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] + + pci:v00001002d00006801sv00001002sd00000124* + ID_MODEL_FROM_DATABASE=Radeon HD 8970M +@@ -6017,6 +6029,9 @@ pci:v00001002d00006820* + pci:v00001002d00006820sv0000103Csd00001851* + ID_MODEL_FROM_DATABASE=Radeon HD 7750M + ++pci:v00001002d00006820sv000017AAsd00003801* ++ ID_MODEL_FROM_DATABASE=Radeon R9 M275 ++ + pci:v00001002d00006821* + ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] + +@@ -7817,6 +7832,12 @@ pci:v00001002d000068FAsv000017AFsd00003015* + pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE + ++pci:v00001002d00006900* ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] ++ ++pci:v00001002d00006901* ++ ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] ++ + pci:v00001002d00006920* + ID_MODEL_FROM_DATABASE=Tonga + +@@ -10391,6 +10412,15 @@ pci:v00001014d0000034Asv00001014sd00000499* + pci:v00001014d0000034Asv00001014sd0000049A* + ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) + ++pci:v00001014d0000034Asv00001014sd000004C7* ++ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) ++ ++pci:v00001014d0000034Asv00001014sd000004C8* ++ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) ++ ++pci:v00001014d0000034Asv00001014sd00000C49* ++ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) ++ + pci:v00001014d000004AA* + ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) + +@@ -13793,6 +13823,63 @@ pci:v0000103Cd00003238sv0000103Csd00003211* + pci:v0000103Cd00003238sv0000103Csd00003212* + ID_MODEL_FROM_DATABASE=Smart Array E200 + ++pci:v0000103Cd00003239* ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers ++ ++pci:v0000103Cd00003239sv0000103Csd000021BD* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021BE* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021BF* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C0* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C1* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C2* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C3* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C4* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C5* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C6* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C7* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C8* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021C9* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CA* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CB* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CC* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CD* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ ++pci:v0000103Cd00003239sv0000103Csd000021CE* ++ ID_MODEL_FROM_DATABASE=Smart Array ++ + pci:v0000103Cd0000323A* + ID_MODEL_FROM_DATABASE=Smart Array G6 controllers + +@@ -17954,6 +18041,54 @@ pci:v0000109Ed0000036Esv000018ACsd0000D500* + pci:v0000109Ed0000036Esv0000270Fsd0000FC00* + ID_MODEL_FROM_DATABASE=Digitop DTT-1000 + ++pci:v0000109Ed0000036Esv0000AA00sd00001460* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 ++ ++pci:v0000109Ed0000036Esv0000AA01sd00001461* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 ++ ++pci:v0000109Ed0000036Esv0000AA02sd00001462* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 ++ ++pci:v0000109Ed0000036Esv0000AA03sd00001463* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 ++ ++pci:v0000109Ed0000036Esv0000AA04sd00001464* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 ++ ++pci:v0000109Ed0000036Esv0000AA05sd00001465* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 ++ ++pci:v0000109Ed0000036Esv0000AA06sd00001466* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 ++ ++pci:v0000109Ed0000036Esv0000AA07sd00001467* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 ++ ++pci:v0000109Ed0000036Esv0000AA08sd00001468* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 ++ ++pci:v0000109Ed0000036Esv0000AA09sd00001469* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 ++ ++pci:v0000109Ed0000036Esv0000AA0Asd0000146A* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 ++ ++pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 ++ ++pci:v0000109Ed0000036Esv0000AA0Csd0000146C* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 ++ ++pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 ++ ++pci:v0000109Ed0000036Esv0000AA0Esd0000146E* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 ++ ++pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* ++ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 ++ + pci:v0000109Ed0000036Esv0000BD11sd00001200* + ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) + +@@ -26009,6 +26144,9 @@ pci:v000010DEd00000E1A* + pci:v000010DEd00000E1B* + ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller + ++pci:v000010DEd00000E1Bsv0000103Csd0000197B* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v000010DEd00000E1Bsv00001043sd00008428* + ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 + +@@ -26165,6 +26303,9 @@ pci:v000010DEd00000FF5* + pci:v000010DEd00000FF6* + ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] + ++pci:v000010DEd00000FF6sv0000103Csd0000197B* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v000010DEd00000FF7* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] + +@@ -26234,6 +26375,12 @@ pci:v000010DEd00001005sv00003842sd00002794* + pci:v000010DEd00001005sv00003842sd00002795* + ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature + ++pci:v000010DEd00001007* ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] ++ ++pci:v000010DEd00001008* ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Ti Rev. 2] ++ + pci:v000010DEd0000100A* + ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] + +@@ -26294,6 +26441,9 @@ pci:v000010DEd0000104Asv000010B0sd0000104A* + pci:v000010DEd0000104B* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] + ++pci:v000010DEd0000104C* ++ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] ++ + pci:v000010DEd00001050* + ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] + +@@ -26333,6 +26483,24 @@ pci:v000010DEd00001058sv00001043sd000010BC* + pci:v000010DEd00001058sv00001043sd00001652* + ID_MODEL_FROM_DATABASE=GeForce GT 610M + ++pci:v000010DEd00001058sv000017AAsd0000367A* ++ ID_MODEL_FROM_DATABASE=GeForce 610M ++ ++pci:v000010DEd00001058sv000017AAsd00003682* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd00001058sv000017AAsd00003687* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd00001058sv000017AAsd00003692* ++ ID_MODEL_FROM_DATABASE=GeForce 705A ++ ++pci:v000010DEd00001058sv000017AAsd00003695* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd00001058sv000017AAsd0000A117* ++ ID_MODEL_FROM_DATABASE=GeForce 610M ++ + pci:v000010DEd00001059* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] + +@@ -26351,6 +26519,15 @@ pci:v000010DEd0000105B* + pci:v000010DEd0000105Bsv0000103Csd00002AFB* + ID_MODEL_FROM_DATABASE=GeForce 705A + ++pci:v000010DEd0000105Bsv000017AAsd0000309D* ++ ID_MODEL_FROM_DATABASE=GeForce 705A ++ ++pci:v000010DEd0000105Bsv000017AAsd000030B1* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ ++pci:v000010DEd0000105Bsv000017AAsd000036A1* ++ ID_MODEL_FROM_DATABASE=GeForce 800A ++ + pci:v000010DEd0000107C* + ID_MODEL_FROM_DATABASE=GF119 [NVS 315] + +@@ -26675,6 +26852,30 @@ pci:v000010DEd00001140sv00001043sd000014C7* + pci:v000010DEd00001140sv00001043sd00001507* + ID_MODEL_FROM_DATABASE=GeForce GT 620M + ++pci:v000010DEd00001140sv00001043sd000015AD* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd000015ED* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000160D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000163D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000166D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd000016CD* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd000016DD* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000170D* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ + pci:v000010DEd00001140sv00001043sd00002132* + ID_MODEL_FROM_DATABASE=GeForce GT 620M + +@@ -26699,6 +26900,12 @@ pci:v000010DEd00001140sv00001043sd0000223A* + pci:v000010DEd00001140sv00001043sd0000224A* + ID_MODEL_FROM_DATABASE=GeForce GT 710M + ++pci:v000010DEd00001140sv00001043sd0000227A* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ ++pci:v000010DEd00001140sv00001043sd0000228A* ++ ID_MODEL_FROM_DATABASE=GeForce 820M ++ + pci:v000010DEd00001140sv00001043sd00008595* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + +@@ -26864,9 +27071,48 @@ pci:v000010DEd00001140sv000017AAsd00002213* + pci:v000010DEd00001140sv000017AAsd00002220* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + ++pci:v000010DEd00001140sv000017AAsd0000309C* ++ ID_MODEL_FROM_DATABASE=GeForce GT 720A ++ ++pci:v000010DEd00001140sv000017AAsd000030B4* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ + pci:v000010DEd00001140sv000017AAsd00003656* + ID_MODEL_FROM_DATABASE=GeForce GT 620M + ++pci:v000010DEd00001140sv000017AAsd0000365A* ++ ID_MODEL_FROM_DATABASE=GeForce 705M ++ ++pci:v000010DEd00001140sv000017AAsd0000365E* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd0000366C* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd00003685* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd00003686* ++ ID_MODEL_FROM_DATABASE=GeForce 800M ++ ++pci:v000010DEd00001140sv000017AAsd00003687* ++ ID_MODEL_FROM_DATABASE=GeForce 705A ++ ++pci:v000010DEd00001140sv000017AAsd00003696* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369B* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369C* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369D* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ ++pci:v000010DEd00001140sv000017AAsd0000369E* ++ ID_MODEL_FROM_DATABASE=GeForce 820A ++ + pci:v000010DEd00001140sv000017AAsd00003800* + ID_MODEL_FROM_DATABASE=GeForce GT 720M + +@@ -27044,6 +27290,9 @@ pci:v000010DEd0000118F* + pci:v000010DEd00001193* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] + ++pci:v000010DEd00001195* ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] ++ + pci:v000010DEd00001198* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] + +@@ -27173,6 +27422,9 @@ pci:v000010DEd000011E2* + pci:v000010DEd000011E3* + ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] + ++pci:v000010DEd000011E3sv000017AAsd00003683* ++ ID_MODEL_FROM_DATABASE=GeForce GTX 760A ++ + pci:v000010DEd000011FA* + ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] + +@@ -27323,6 +27575,9 @@ pci:v000010DEd00001282* + pci:v000010DEd00001284* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 630 Rev. 2] + ++pci:v000010DEd00001286* ++ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] ++ + pci:v000010DEd00001290* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] + +@@ -27380,6 +27635,15 @@ pci:v000010DEd00001340* + pci:v000010DEd00001341* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] + ++pci:v000010DEd00001341sv000017AAsd00003697* ++ ID_MODEL_FROM_DATABASE=GeForce 840A ++ ++pci:v000010DEd00001341sv000017AAsd00003699* ++ ID_MODEL_FROM_DATABASE=GeForce 840A ++ ++pci:v000010DEd00001341sv000017AAsd0000369C* ++ ID_MODEL_FROM_DATABASE=GeForce 840A ++ + pci:v000010DEd00001380* + ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] + +@@ -27395,6 +27659,12 @@ pci:v000010DEd00001390* + pci:v000010DEd00001391* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] + ++pci:v000010DEd00001391sv000017AAsd00003697* ++ ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ ++pci:v000010DEd00001391sv000017AAsd0000A125* ++ ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ + pci:v000010DEd00001392* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] + +@@ -27839,6 +28109,9 @@ pci:v000010ECd00005227* + pci:v000010ECd00005227sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + ++pci:v000010ECd00005227sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v000010ECd00005229* + ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader + +@@ -27848,6 +28121,12 @@ pci:v000010ECd00005229sv00001025sd00000813* + pci:v000010ECd00005229sv0000103Csd0000194E* + ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook + ++pci:v000010ECd00005249* ++ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader ++ ++pci:v000010ECd00005249sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v000010ECd00005288* + ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader + +@@ -30561,7 +30840,7 @@ pci:v0000110Ad00004021* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) + + pci:v0000110Ad00004029* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 + + pci:v0000110Ad00004029sv0000110Asd00004029* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 +@@ -30581,6 +30860,9 @@ pci:v0000110Ad00004038* + pci:v0000110Ad00004069* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 + ++pci:v0000110Ad00004069sv0000110Asd00004069* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 ++ + pci:v0000110Ad00004069sv0000110Asd0000C069* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 + +@@ -31541,6 +31823,9 @@ pci:v00001131d00007133sv0000153Bsd00001160* + pci:v00001131d00007133sv0000153Bsd00001162* + ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile + ++pci:v00001131d00007133sv000017DEsd00007256* ++ ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card ++ + pci:v00001131d00007133sv000017DEsd00007350* + ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner + +@@ -33651,7 +33936,7 @@ pci:v00001180d00000476sv000014EFsd00000220* + ID_MODEL_FROM_DATABASE=PCD-RP-220S + + pci:v00001180d00000476sv000017AAsd0000201C* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00001180d00000476sv000017AAsd000020C4* + ID_MODEL_FROM_DATABASE=ThinkPad T61 +@@ -33711,7 +33996,7 @@ pci:v00001180d00000552sv0000144Dsd0000C00C* + ID_MODEL_FROM_DATABASE=P30/P35 notebook + + pci:v00001180d00000552sv000017AAsd0000201E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00001180d00000554* + ID_MODEL_FROM_DATABASE=R5C554 +@@ -33813,7 +34098,7 @@ pci:v00001180d00000822sv0000144Dsd0000C018* + ID_MODEL_FROM_DATABASE=X20 IV + + pci:v00001180d00000822sv000017AAsd0000201D* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00001180d00000822sv000017AAsd000020C7* + ID_MODEL_FROM_DATABASE=ThinkPad T61 +@@ -33833,6 +34118,9 @@ pci:v00001180d00000832sv00001028sd000001D7* + pci:v00001180d00000832sv00001028sd000001F3* + ID_MODEL_FROM_DATABASE=Inspiron 1420 + ++pci:v00001180d00000832sv00001028sd0000024D* ++ ID_MODEL_FROM_DATABASE=Latitude E4300 ++ + pci:v00001180d00000832sv0000103Csd000030B5* + ID_MODEL_FROM_DATABASE=Presario V3242AU + +@@ -49442,6 +49730,18 @@ pci:v00001797d00006812* + pci:v00001797d00006813* + ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller + ++pci:v00001797d00006814* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ ++pci:v00001797d00006815* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ ++pci:v00001797d00006816* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ ++pci:v00001797d00006817* ++ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller ++ + pci:v00001799* + ID_VENDOR_FROM_DATABASE=Belkin + +@@ -50978,12 +51278,33 @@ pci:v00001924d00000813sv00001924sd00007904* + pci:v00001924d00000903* + ID_MODEL_FROM_DATABASE=SFC9120 + ++pci:v00001924d00000903sv00001014sd000004CC* ++ ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra ++ + pci:v00001924d00000903sv00001924sd00008002* + ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter + ++pci:v00001924d00000903sv00001924sd00008003* ++ ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ + pci:v00001924d00000903sv00001924sd00008006* + ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter + ++pci:v00001924d00000903sv00001924sd00008007* ++ ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter ++ ++pci:v00001924d00000903sv00001924sd00008009* ++ ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter ++ ++pci:v00001924d00000903sv00001924sd0000800A* ++ ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter ++ ++pci:v00001924d00000923* ++ ID_MODEL_FROM_DATABASE=SFC9140 ++ ++pci:v00001924d00000923sv00001924sd0000800B* ++ ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ + pci:v00001924d00001803* + ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] + +@@ -51227,6 +51548,9 @@ pci:v00001957d00000083* + pci:v00001957d00000084* + ID_MODEL_FROM_DATABASE=MPC8347E PBGA + ++pci:v00001957d00000084sv0000110Asd00004074* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 ++ + pci:v00001957d00000085* + ID_MODEL_FROM_DATABASE=MPC8347 PBGA + +@@ -51456,7 +51780,7 @@ pci:v00001969d00002062* + ID_MODEL_FROM_DATABASE=AR8152 v2.0 Fast Ethernet + + pci:v00001969d0000E091* +- ID_MODEL_FROM_DATABASE=Killer E2200 Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=Killer E220x Gigabit Ethernet Controller + + pci:v0000196A* + ID_VENDOR_FROM_DATABASE=Sensory Networks Inc. +@@ -52214,8 +52538,14 @@ pci:v00001AF4d00001005* + pci:v00001AF4d00001009* + ID_MODEL_FROM_DATABASE=Virtio filesystem + ++pci:v00001AF4d00001010* ++ ID_MODEL_FROM_DATABASE=Virtio GPU ++ ++pci:v00001AF4d00001012* ++ ID_MODEL_FROM_DATABASE=Virtio input device ++ + pci:v00001AF4d00001110* +- ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory ++ ID_MODEL_FROM_DATABASE=Inter-VM shared memory + + pci:v00001AF4d00001110sv00001AF4sd00001100* + ID_MODEL_FROM_DATABASE=QEMU Virtual Machine +@@ -52397,6 +52727,9 @@ pci:v00001B4Bd000091A4* + pci:v00001B4Bd00009230* + ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller + ++pci:v00001B4Bd00009445* ++ ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller ++ + pci:v00001B4Bd00009480* + ID_MODEL_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller + +@@ -55550,15 +55883,24 @@ pci:v00008086d00000964* + pci:v00008086d00000A04* + ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller + ++pci:v00008086d00000A04sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00000A06* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + + pci:v00008086d00000A0C* + ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller + ++pci:v00008086d00000A0Csv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00000A16* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + ++pci:v00008086d00000A16sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00000A22* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + +@@ -55655,6 +55997,9 @@ pci:v00008086d00000C01* + pci:v00008086d00000C04* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller + ++pci:v00008086d00000C04sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00000C04sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -57360,7 +57705,7 @@ pci:v00008086d0000109Asv000017AAsd00002001* + ID_MODEL_FROM_DATABASE=ThinkPad T60 + + pci:v00008086d0000109Asv000017AAsd0000207E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s ++ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s + + pci:v00008086d0000109Asv00008086sd0000109A* + ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection +@@ -58847,6 +59192,9 @@ pci:v00008086d00001539* + pci:v00008086d0000153A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM + ++pci:v00008086d0000153Asv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d0000153Asv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -58901,6 +59249,9 @@ pci:v00008086d00001559* + pci:v00008086d0000155A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM + ++pci:v00008086d0000155Asv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d0000155C* + ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter + +@@ -63816,7 +64167,7 @@ pci:v00008086d000027A0sv000017AAsd00002015* + ID_MODEL_FROM_DATABASE=ThinkPad T60 + + pci:v00008086d000027A0sv000017AAsd00002017* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027A1* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port +@@ -63834,7 +64185,7 @@ pci:v00008086d000027A2sv0000103Csd000030A1* + ID_MODEL_FROM_DATABASE=NC2400 + + pci:v00008086d000027A2sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027A2sv00009902sd00001584* + ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F +@@ -63849,7 +64200,7 @@ pci:v00008086d000027A6sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) + + pci:v00008086d000027A6sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027AC* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub +@@ -63915,7 +64266,7 @@ pci:v00008086d000027B9sv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop + + pci:v00008086d000027B9sv000017AAsd00002009* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027BC* + ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller +@@ -64035,7 +64386,7 @@ pci:v00008086d000027C5sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=Compaq nw8440 + + pci:v00008086d000027C5sv000017AAsd0000200D* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027C6* + ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] +@@ -64095,7 +64446,7 @@ pci:v00008086d000027C8sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027C8sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027C8sv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64161,7 +64512,7 @@ pci:v00008086d000027C9sv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027C9sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027C9sv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64227,7 +64578,7 @@ pci:v00008086d000027CAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027CAsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027CAsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64287,7 +64638,7 @@ pci:v00008086d000027CBsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027CBsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027CBsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64347,7 +64698,7 @@ pci:v00008086d000027CCsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027CCsv000017AAsd0000200B* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027CCsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64509,7 +64860,7 @@ pci:v00008086d000027D8sv00001734sd000010AD* + ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP + + pci:v00008086d000027D8sv000017AAsd00002010* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027D8sv000017AAsd00003802* + ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] +@@ -64569,7 +64920,7 @@ pci:v00008086d000027DAsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027DAsv000017AAsd0000200F* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027DAsv00008086sd00004F4D* + ID_MODEL_FROM_DATABASE=DeskTop Board D510MO +@@ -64647,7 +64998,7 @@ pci:v00008086d000027DFsv00001775sd000011CC* + ID_MODEL_FROM_DATABASE=CC11/CL11 + + pci:v00008086d000027DFsv000017AAsd0000200C* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series + + pci:v00008086d000027DFsv00008086sd0000544E* + ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP +@@ -70358,6 +70709,9 @@ pci:v00008086d00008C02* + pci:v00008086d00008C03* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] + ++pci:v00008086d00008C03sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C03sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70442,6 +70796,9 @@ pci:v00008086d00008C1F* + pci:v00008086d00008C20* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller + ++pci:v00008086d00008C20sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C20sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70451,6 +70808,9 @@ pci:v00008086d00008C21* + pci:v00008086d00008C22* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller + ++pci:v00008086d00008C22sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C22sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70463,18 +70823,27 @@ pci:v00008086d00008C24* + pci:v00008086d00008C26* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 + ++pci:v00008086d00008C26sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C26sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + + pci:v00008086d00008C2D* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 + ++pci:v00008086d00008C2Dsv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C2Dsv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + + pci:v00008086d00008C31* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI + ++pci:v00008086d00008C31sv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C31sv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70487,6 +70856,9 @@ pci:v00008086d00008C34* + pci:v00008086d00008C3A* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 + ++pci:v00008086d00008C3Asv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C3Asv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70547,6 +70919,9 @@ pci:v00008086d00008C4E* + pci:v00008086d00008C4F* + ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller + ++pci:v00008086d00008C4Fsv0000103Csd00001909* ++ ID_MODEL_FROM_DATABASE=ZBook 15 ++ + pci:v00008086d00008C4Fsv000017AAsd0000220E* + ID_MODEL_FROM_DATABASE=ThinkPad T440p + +@@ -70820,6 +71195,9 @@ pci:v00008086d00009C02* + pci:v00008086d00009C03* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] + ++pci:v00008086d00009C03sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C04* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] + +@@ -70907,12 +71285,18 @@ pci:v00008086d00009C1F* + pci:v00008086d00009C20* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller + ++pci:v00008086d00009C20sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C21* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller + + pci:v00008086d00009C22* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller + ++pci:v00008086d00009C22sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C23* + ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters + +@@ -70922,12 +71306,18 @@ pci:v00008086d00009C24* + pci:v00008086d00009C26* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 + ++pci:v00008086d00009C26sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C2D* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 + + pci:v00008086d00009C31* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC + ++pci:v00008086d00009C31sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C35* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller + +@@ -70937,6 +71327,9 @@ pci:v00008086d00009C36* + pci:v00008086d00009C3A* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 + ++pci:v00008086d00009C3Asv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C3B* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 + +@@ -70958,6 +71351,9 @@ pci:v00008086d00009C42* + pci:v00008086d00009C43* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller + ++pci:v00008086d00009C43sv000017AAsd00002214* ++ ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ + pci:v00008086d00009C44* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller + +@@ -72557,6 +72953,54 @@ pci:v0000A727d00000013* + pci:v0000A727d00006803* + ID_MODEL_FROM_DATABASE=3CRDAG675B Wireless 11a/b/g Adapter + ++pci:v0000AA00* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA01* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA02* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA03* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA04* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA05* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA06* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA07* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA08* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA09* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0A* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0B* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0C* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0D* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0E* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ ++pci:v0000AA0F* ++ ID_VENDOR_FROM_DATABASE=iTuner ++ + pci:v0000AA42* + ID_VENDOR_FROM_DATABASE=Scitex Digital Video + +-- +1.7.9.2 + diff --git a/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch b/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch new file mode 100644 index 00000000..17cd4197 --- /dev/null +++ b/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch @@ -0,0 +1,25 @@ +From fdb8bd0fe7244b72ddc1c08e401ebddefdaf4f46 Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:38 +0200 +Subject: [PATCH] include fcntl.h rather than sys/fcntl.h + +--- + src/socket-proxy/socket-proxyd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/socket-proxy/socket-proxyd.c src/socket-proxy/socket-proxyd.c +index 81d8457..ff2b24f 100644 +--- src/socket-proxy/socket-proxyd.c ++++ src/socket-proxy/socket-proxyd.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +1.7.9.2 + diff --git a/0002-journal-compress-improve-xz-compression-performance.patch b/0002-journal-compress-improve-xz-compression-performance.patch new file mode 100644 index 00000000..adccdaad --- /dev/null +++ b/0002-journal-compress-improve-xz-compression-performance.patch @@ -0,0 +1,82 @@ +Based on 1930eed2a7855d2df06ccf51f9e394428bf547e2 Mon Sep 17 00:00:00 2001 +From: Jon Severinsson +Date: Tue, 8 Jul 2014 18:29:46 +0200 +Subject: [PATCH] journal/compress: improve xz compression performance + +The new lzma2 compression options at the top of compress_blob_xz are +equivalent to using preset "0", exept for using a 1 MiB dictionary +(the same as preset "1"). This makes the memory usage at most 7.5 MiB +in the compressor, and 1 MiB in the decompressor, instead of the +previous 92 MiB in the compressor and 8 MiB in the decompressor. + +According to test-compress-benchmark this commit makes XZ compression +20 times faster, with no increase in compressed data size. +Using more realistic test data (an ELF binary rather than repeating +ASCII letters 'a' through 'z' in order) it only provides a factor 10 +speedup, and at a cost if a 10% increase in compressed data size. +But that is still a worthwhile trade-off. + +According to test-compress-benchmark XZ compression is still 25 times +slower than LZ4, but the compressed data is one eighth the size. +Using more realistic test data XZ compression is only 18 times slower +than LZ4, and the compressed data is only one quarter the size. + +--- + src/journal/compress.c | 33 ++++++++++++++------------------- + 1 file changed, 14 insertions(+), 19 deletions(-) + +--- src/journal/compress.c ++++ src/journal/compress.c 2014-07-09 12:09:45.814235274 +0000 +@@ -28,8 +28,15 @@ + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +- lzma_stream s = LZMA_STREAM_INIT; ++ static const lzma_options_lzma opt = { ++ 1u << 20u, NULL, 0, LZMA_LC_DEFAULT, LZMA_LP_DEFAULT, ++ LZMA_PB_DEFAULT, LZMA_MODE_FAST, 128, LZMA_MF_HC3, 4}; ++ static const lzma_filter filters[2] = { ++ {LZMA_FILTER_LZMA2, (lzma_options_lzma*) &opt}, ++ {LZMA_VLI_UNKNOWN, NULL} ++ }; + lzma_ret ret; ++ size_t out_pos = 0; + bool b = false; + + assert(src); +@@ -40,29 +47,17 @@ bool compress_blob(const void *src, uint + /* Returns false if we couldn't compress the data or the + * compressed result is longer than the original */ + +- ret = lzma_easy_encoder(&s, LZMA_PRESET_DEFAULT, LZMA_CHECK_NONE); +- if (ret != LZMA_OK) ++ if (src_size < 80) + return false; + +- s.next_in = src; +- s.avail_in = src_size; +- s.next_out = dst; +- s.avail_out = src_size; +- +- /* Does it fit? */ +- if (lzma_code(&s, LZMA_FINISH) != LZMA_STREAM_END) +- goto fail; +- +- /* Is it actually shorter? */ +- if (s.avail_out == 0) +- goto fail; ++ ret = lzma_stream_buffer_encode((lzma_filter*) filters, LZMA_CHECK_NONE, NULL, ++ src, src_size, dst, &out_pos, src_size - 1); ++ if (ret != LZMA_OK) ++ return false; + +- *dst_size = src_size - s.avail_out; ++ *dst_size = out_pos; + b = true; + +-fail: +- lzma_end(&s); +- + return b; + } + diff --git a/0002-journal-properly-detect-language-specified-in-line.patch b/0002-journal-properly-detect-language-specified-in-line.patch new file mode 100644 index 00000000..361518a2 --- /dev/null +++ b/0002-journal-properly-detect-language-specified-in-line.patch @@ -0,0 +1,99 @@ +From baf167ee0a2953f98e4e7d4c35752ef737832674 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Apr 2014 20:57:27 -0400 +Subject: [PATCH] journal: properly detect language specified in line + +... it turns out that the duplicates in our own catalog were not real +duplicates, but translations. +--- + TODO | 2 ++ + src/journal/catalog.c | 53 +++++++++++++++++++++++++++++++------------------ + 2 files changed, 36 insertions(+), 19 deletions(-) + +diff --git TODO TODO +index 0343b94..a7307f7 100644 +--- TODO ++++ TODO +@@ -709,6 +709,8 @@ External: + + * fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it + ++* register catalog database signature as file magic ++ + Regularly: + + * look for close() vs. close_nointr() vs. close_nointr_nofail() +diff --git src/journal/catalog.c src/journal/catalog.c +index 02dedc4..f03357d 100644 +--- src/journal/catalog.c ++++ src/journal/catalog.c +@@ -159,6 +159,37 @@ int catalog_file_lang(const char* filename, char **lang) { + return 1; + } + ++static int catalog_entry_lang(const char* filename, int line, ++ const char* t, const char* deflang, char **lang) { ++ size_t c; ++ ++ c = strlen(t); ++ if (c == 0) { ++ log_error("[%s:%u] Language too short.", filename, line); ++ return -EINVAL; ++ } ++ if (c > 31) { ++ log_error("[%s:%u] language too long.", filename, line); ++ return -EINVAL; ++ } ++ ++ if (deflang) { ++ if (streq(t, deflang)) { ++ log_warning("[%s:%u] language specified unnecessarily", ++ filename, line); ++ return 0; ++ } else ++ log_warning("[%s:%u] language differs from default for file", ++ filename, line); ++ } ++ ++ *lang = strdup(t); ++ if (!*lang) ++ return -ENOMEM; ++ ++ return 0; ++} ++ + int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { + _cleanup_fclose_ FILE *f = NULL; + _cleanup_free_ char *payload = NULL; +@@ -238,25 +269,9 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { + if (with_language) { + t = strstrip(line + 2 + 1 + 32 + 1); + +- c = strlen(t); +- if (c <= 0) { +- log_error("[%s:%u] Language too short.", path, n); +- return -EINVAL; +- } +- if (c > 31) { +- log_error("[%s:%u] language too long.", path, n); +- return -EINVAL; +- } +- +- if (deflang) { +- log_warning("[%s:%u] language %s", path, n, +- streq(t, deflang) ? +- "specified unnecessarily" : +- "differs from default for file"); +- lang = strdup(t); +- if (!lang) +- return -ENOMEM; +- } ++ r = catalog_entry_lang(path, n, t, deflang, &lang); ++ if (r < 0) ++ return r; + } + + got_id = true; +-- +1.7.9.2 + diff --git a/0002-journalctl-man-allow-only-between-terms.patch b/0002-journalctl-man-allow-only-between-terms.patch new file mode 100644 index 00000000..c29bdf6f --- /dev/null +++ b/0002-journalctl-man-allow-only-between-terms.patch @@ -0,0 +1,109 @@ +From 4e6029435111adcad71489aca2dd68bc65aeffd4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 19 Jul 2014 21:05:07 -0400 +Subject: [PATCH] journalctl,man: allow + only between terms + +https://bugzilla.redhat.com/show_bug.cgi?id=1110712 +--- + man/journalctl.xml | 19 +++++++++++++++---- + src/journal/journalctl.c | 20 +++++++++++++++++--- + 2 files changed, 32 insertions(+), 7 deletions(-) + +diff --git man/journalctl.xml man/journalctl.xml +index 47b5a05..df9c794 100644 +--- man/journalctl.xml ++++ man/journalctl.xml +@@ -84,10 +84,11 @@ + field, then they are automatically matched as + alternatives, i.e. the resulting output will show + entries matching any of the specified matches for the +- same field. Finally, if the character +- + appears as a separate word on the +- command line, all matches before and after are combined +- in a disjunction (i.e. logical OR). ++ same field. Finally, the character ++ + may appears as a separate word ++ between other terms on the command line. This causes ++ all matches before and after to be combined in a ++ disjunction (i.e. logical OR). + + As shortcuts for a few types of field/value + matches, file paths may be specified. If a file path +@@ -98,11 +99,21 @@ + _KERNEL_DEVICE= match for the + device. + ++ Additional contraints may be added using options ++ , , ++ etc, to futher limit what entries will be shown ++ (logical AND). ++ + Output is interleaved from all accessible + journal files, whether they are rotated or currently + being written, and regardless of whether they belong to the + system itself or are accessible user journals. + ++ The set of journal files which will be used ++ can be modified using the , ++ , , ++ and options, see below. ++ + All users are granted access to their private + per-user journals. However, by default, only root and + users who are members of the systemd-journal +diff --git src/journal/journalctl.c src/journal/journalctl.c +index 92e8286..7aedbf0 100644 +--- src/journal/journalctl.c ++++ src/journal/journalctl.c +@@ -699,15 +699,20 @@ static int generate_new_id128(void) { + + static int add_matches(sd_journal *j, char **args) { + char **i; ++ bool have_term = false; + + assert(j); + + STRV_FOREACH(i, args) { + int r; + +- if (streq(*i, "+")) ++ if (streq(*i, "+")) { ++ if (!have_term) ++ break; + r = sd_journal_add_disjunction(j); +- else if (path_is_absolute(*i)) { ++ have_term = false; ++ ++ } else if (path_is_absolute(*i)) { + _cleanup_free_ char *p, *t = NULL, *t2 = NULL; + const char *path; + _cleanup_free_ char *interpreter = NULL; +@@ -756,8 +761,12 @@ static int add_matches(sd_journal *j, char **args) { + r = sd_journal_add_match(j, t, 0); + if (t2) + r = sd_journal_add_match(j, t2, 0); +- } else ++ have_term = true; ++ ++ } else { + r = sd_journal_add_match(j, *i, 0); ++ have_term = true; ++ } + + if (r < 0) { + log_error("Failed to add match '%s': %s", *i, strerror(-r)); +@@ -765,6 +774,11 @@ static int add_matches(sd_journal *j, char **args) { + } + } + ++ if (!strv_isempty(args) && !have_term) { ++ log_error("\"+\" can only be used between terms"); ++ return -EINVAL; ++ } ++ + return 0; + } + +-- +1.7.9.2 + diff --git a/0002-journald-make-MaxFileSec-really-default-to-1month.patch b/0002-journald-make-MaxFileSec-really-default-to-1month.patch new file mode 100644 index 00000000..9b48fcae --- /dev/null +++ b/0002-journald-make-MaxFileSec-really-default-to-1month.patch @@ -0,0 +1,30 @@ +Based on e150e82097211f09b911c7784a89ef9efed713ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= +Date: Thu, 26 Jun 2014 22:11:35 +0200 +Subject: [PATCH] journald: make MaxFileSec really default to 1month + +journald.conf(5) states that the default for MaxFileSec is one month, +but the code didn't respect that. +--- + src/journal/journald-server.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- src/journal/journald-server.c ++++ src/journal/journald-server.c 2014-07-01 12:28:25.506735287 +0000 +@@ -68,6 +68,7 @@ + #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE) + #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC) + #define DEFAULT_RATE_LIMIT_BURST 1000 ++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH + + #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC) + +@@ -1496,6 +1497,8 @@ int server_init(Server *s) { + + s->forward_to_syslog = true; + ++ s->max_file_usec = DEFAULT_MAX_FILE_USEC; ++ + s->max_level_store = LOG_DEBUG; + s->max_level_syslog = LOG_DEBUG; + s->max_level_kmsg = LOG_NOTICE; diff --git a/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch b/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch new file mode 100644 index 00000000..7ba1dc4d --- /dev/null +++ b/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch @@ -0,0 +1,38 @@ +From 1f6d36f267186c0e3184bab4c7eca48481c6faab Mon Sep 17 00:00:00 2001 +From: Hui Wang +Date: Wed, 30 Jul 2014 16:09:08 +0800 +Subject: [PATCH] keymap: Add microphone mute keymap for Dell Latitude + +On the Dell Latitude, the mic mute key event is generated by wmi +driver, the keycode assigned to this hotkey from kernel is +KEY_MICMUTE (248), this keycode is too big for xorg to handle, +in the xorg, the XF86AudioMicMute is assigned to F20. + +Please refer to 4e648ea0 of xkeyboard-config. + +BugLink: https://bugs.launchpad.net/bugs/1326684 +BugLink: https://bugs.launchpad.net/bugs/1339998 +Signed-off-by: Hui Wang +Signed-off-by: Martin Pitt +--- + hwdb/60-keyboard.hwdb | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index c7ff4e4..70e372b 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -229,6 +229,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + KEYBOARD_KEY_8c=!unknown + ++# Dell Latitude microphone mute ++keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* ++ KEYBOARD_KEY_150=f20 # Mic mute toggle ++ + ########################################################### + # Everex + ########################################################### +-- +1.7.9.2 + diff --git a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch new file mode 100644 index 00000000..e921c60b --- /dev/null +++ b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch @@ -0,0 +1,28 @@ +From e55edb22a71e67f01534d28f91c6aa27bba48fc1 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Sun, 25 May 2014 12:16:35 +0200 +Subject: [PATCH] keymap: Asus EeePC touchpad toggle key + +Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events, +so use the F21 convention. + +https://bugs.freedesktop.org/show_bug.cgi?id=72807 +--- + hwdb/60-keyboard.hwdb | 1 + + 1 file changed, 1 insertion(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index fe5b3ee..05e6a04 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -138,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* + KEYBOARD_KEY_ef=mute + + keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* ++keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + KEYBOARD_KEY_6b=f21 # Touchpad Toggle + + ########################################################### +-- +1.7.9.2 + diff --git a/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch b/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch new file mode 100644 index 00000000..28f7bb2a --- /dev/null +++ b/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch @@ -0,0 +1,33 @@ +From b4c72e52d2109fe7f0ac3440c81ae3e1ce64a143 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 12 Nov 2014 23:31:08 +0100 +Subject: [PATCH] keymap: Fix special keys on ThinkPad X60/X61 Tablet + +KEY_DIRECTION is mapped to XF86RotateWindows, to rotate the display: +http://cgit.freedesktop.org/xkeyboard-config/commit/symbols/inet?id=ec875f6f9b7c4028e11d32b071989c682e6502bd + +And F13 is mapped to XF86Tools, which is closest to the original toolbox +usage: +http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/inet?id=7a2c4bed212ebbcc05f3c959aef659ce7dd31fd8#n221 +--- + hwdb/60-keyboard.hwdb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 56a4009..533ad5b 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -585,8 +585,8 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet* + + # ThinkPad X6 Tablet + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* +- KEYBOARD_KEY_6c=f21 # rotate +- KEYBOARD_KEY_68=screenlock # screenlock ++ KEYBOARD_KEY_6c=direction # rotate ++ KEYBOARD_KEY_68=f13 # toolbox + KEYBOARD_KEY_6b=esc # escape + KEYBOARD_KEY_6d=right # right on d-pad + KEYBOARD_KEY_6e=left # left on d-pad +-- +1.7.9.2 + diff --git a/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch b/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch new file mode 100644 index 00000000..45af9018 --- /dev/null +++ b/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch @@ -0,0 +1,25 @@ +From 4e3deeedc15b03197d591850061316289245c9a9 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Tue, 7 Oct 2014 11:22:31 +0200 +Subject: [PATCH] keymap: Fix touchpad toggle key on Asus laptops + +https://launchpad.net/bugs/1377352 +--- + hwdb/60-keyboard.hwdb | 1 + + 1 file changed, 1 insertion(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 1fea32a..59f467b 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -153,6 +153,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* + + keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* ++keyboard:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + KEYBOARD_KEY_6b=f21 # Touchpad Toggle + + ########################################################### +-- +1.7.9.2 + diff --git a/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch b/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch new file mode 100644 index 00000000..e29c01d9 --- /dev/null +++ b/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch @@ -0,0 +1,41 @@ +From aba248ee6b1eb10baf3d89eca2ad7569459af6ab Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 30 Oct 2014 10:15:54 +0100 +Subject: [PATCH] keymap: Ignore brightness keys on Dell Inspiron 1520 to + avoid double events + +On the Dell Inspiron 1520 both the atkbd and acpi-video input devices report +an event for pressing the brightness up / down key-combos, resulting in user +space seeing double events and increasing / decreasing the brightness 2 steps +for each keypress. + +This hwdb snippet suppresses the atkbd events, making the Inspiron 1520 work +like most modern laptops which emit brightness up / down events through +acpi-video only. + +Reported by Pavel Malyshev + +https://bugzilla.redhat.com/show_bug.cgi?id=1141525 +--- + hwdb/60-keyboard.hwdb | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 06caba9..d2ca965 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -230,6 +230,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr* + KEYBOARD_KEY_84=wlan + ++# Dell Inspiron 1520 ++keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr* ++ KEYBOARD_KEY_85=unknown # Brightness Down, also emitted by acpi-video, ignore ++ KEYBOARD_KEY_86=unknown # Brightness Up, also emitted by acpi-video, ignore ++ + # Latitude XT2 + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr* + KEYBOARD_KEY_9b=up # tablet rocker up +-- +1.7.9.2 + diff --git a/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch b/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch new file mode 100644 index 00000000..a1934486 --- /dev/null +++ b/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch @@ -0,0 +1,52 @@ +From 3e6b205f81e743c7354ccbc69eb45afbdbebe2dc Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 25 Feb 2014 13:08:24 +0100 +Subject: [PATCH] login: set pos-slot to fallback on pos-eviction + +If we evict a session position, we open the position slot for future +sessions. However, there might already be another session on the same +position if both were started on the same VT. This is currently done if +gdm spawns the session on its own Xserver. + +Hence, look for such a session on pos-eviction and claim the new slot +immediately. +--- + src/login/logind-seat.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 36ec7ed..96cf08e 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -459,6 +459,7 @@ int seat_stop_sessions(Seat *s, bool force) { + } + + void seat_evict_position(Seat *s, Session *session) { ++ Session *iter; + unsigned int pos = session->pos; + + session->pos = 0; +@@ -466,8 +467,19 @@ void seat_evict_position(Seat *s, Session *session) { + if (!pos) + return; + +- if (pos < s->position_count && s->positions[pos] == session) ++ if (pos < s->position_count && s->positions[pos] == session) { + s->positions[pos] = NULL; ++ ++ /* There might be another session claiming the same ++ * position (eg., during gdm->session transition), so lets look ++ * for it and set it on the free slot. */ ++ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { ++ if (iter->pos == pos) { ++ s->positions[pos] = iter; ++ break; ++ } ++ } ++ } + } + + void seat_claim_position(Seat *s, Session *session, unsigned int pos) { +-- +1.7.9.2 + diff --git a/0002-logind-add-support-for-TPS65217-Power-Button.patch b/0002-logind-add-support-for-TPS65217-Power-Button.patch new file mode 100644 index 00000000..17a576de --- /dev/null +++ b/0002-logind-add-support-for-TPS65217-Power-Button.patch @@ -0,0 +1,71 @@ +From 492d7a3038b154e1813a1ece913a5a27148fec19 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Sat, 27 Sep 2014 09:55:44 +0200 +Subject: [PATCH] logind: add support for TPS65217 Power Button + +This PMIC is found on TI AM335x based boards like the beaglebone and +beaglebone black. + +root@beaglebone-white:~# udevadm info -a /dev/input/event0 + +Udevadm info starts with the device specified by the devpath and then +walks up the chain of parent devices. It prints for every device +found, all possible attributes in the udev rules key format. +A rule to match, can be composed by the attributes of the device +and the attributes from one single parent device. + + looking at device +'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0/event0': + KERNEL=="event0" + SUBSYSTEM=="input" + DRIVER=="" + + looking at parent device +'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0': + KERNELS=="input0" + SUBSYSTEMS=="input" + DRIVERS=="" + ATTRS{name}=="tps65217_pwr_but" + ATTRS{phys}=="" + ATTRS{uniq}=="" + ATTRS{properties}=="0" + + looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024': + KERNELS=="0-0024" + SUBSYSTEMS=="i2c" + DRIVERS=="tps65217" + ATTRS{name}=="tps65217" + + looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0': + KERNELS=="i2c-0" + SUBSYSTEMS=="i2c" + DRIVERS=="" + ATTRS{name}=="OMAP I2C adapter" + + looking at parent device '/devices/ocp.3/44e0b000.i2c': + KERNELS=="44e0b000.i2c" + SUBSYSTEMS=="platform" + DRIVERS=="omap_i2c" + + looking at parent device '/devices/ocp.3': + KERNELS=="ocp.3" + SUBSYSTEMS=="platform" + DRIVERS=="" +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules +index a6997f7..695d246 100644 +--- src/login/70-power-switch.rules ++++ src/login/70-power-switch.rules +@@ -10,5 +10,6 @@ ACTION=="remove", GOTO="power_switch_end" + SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" + + LABEL="power_switch_end" +-- +1.7.9.2 + diff --git a/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch b/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch new file mode 100644 index 00000000..73ffb867 --- /dev/null +++ b/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch @@ -0,0 +1,28 @@ +From 301f9684e6465df5d0590f6c571fe3229ded966d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 15 May 2014 18:30:07 +0200 +Subject: [PATCH] logind: bring polkit policy for hibernate in line with + suspend/poweroff/reboot + +THere's no reason why hibernate should be better protected then +suspendor poweroff, so sync the policies. +--- + src/login/org.freedesktop.login1.policy.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/org.freedesktop.login1.policy.in src/login/org.freedesktop.login1.policy.in +index b96d32d..b8e90f1 100644 +--- src/login/org.freedesktop.login1.policy.in ++++ src/login/org.freedesktop.login1.policy.in +@@ -254,7 +254,7 @@ + + auth_admin_keep + auth_admin_keep +- auth_admin_keep ++ yes + + org.freedesktop.login1.hibernate + +-- +1.7.9.2 + diff --git a/0002-logind-fix-printf-format.patch b/0002-logind-fix-printf-format.patch new file mode 100644 index 00000000..61bbc9aa --- /dev/null +++ b/0002-logind-fix-printf-format.patch @@ -0,0 +1,25 @@ +From 7e9110a29d90041b0364cb93a84aec9dd72363b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 19:39:51 +0100 +Subject: [PATCH] logind: fix printf format + +--- + src/login/logind-action.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index da5a830..c9d8bc5 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -81,7 +81,7 @@ int manager_handle_action( + + n = manager_count_displays(m); + if (n != 1) { +- log_debug("Ignoring lid switch request, %s displays connected."); ++ log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } + } +-- +1.7.9.2 + diff --git a/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch b/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch new file mode 100644 index 00000000..c3381ef7 --- /dev/null +++ b/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch @@ -0,0 +1,70 @@ +From de58a50e24a0d55e3bbcc77f8f6170a7322acf52 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 18 Mar 2014 04:43:08 +0100 +Subject: [PATCH] machined: fix Kill() bus call on machine objects when "what" + is specified as "leader" + +--- + src/machine/machine.c | 10 +++++++++- + src/machine/machined-dbus.c | 4 ++-- + src/machine/machined.h | 2 +- + 3 files changed, 12 insertions(+), 4 deletions(-) + +diff --git src/machine/machine.c src/machine/machine.c +index 4596a80..9a5cc9a 100644 +--- src/machine/machine.c ++++ src/machine/machine.c +@@ -410,7 +410,15 @@ int machine_kill(Machine *m, KillWho who, int signo) { + if (!m->unit) + return -ESRCH; + +- return manager_kill_unit(m->manager, m->unit, who, signo, NULL); ++ if (who == KILL_LEADER) { ++ /* If we shall simply kill the leader, do so directly */ ++ ++ if (kill(m->leader, signo) < 0) ++ return -errno; ++ } ++ ++ /* Otherwise make PID 1 do it for us, for the entire cgroup */ ++ return manager_kill_unit(m->manager, m->unit, signo, NULL); + } + + static const char* const machine_class_table[_MACHINE_CLASS_MAX] = { +diff --git src/machine/machined-dbus.c src/machine/machined-dbus.c +index 09d28bb..9473105 100644 +--- src/machine/machined-dbus.c ++++ src/machine/machined-dbus.c +@@ -655,7 +655,7 @@ int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c + return 1; + } + +-int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error) { ++int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error) { + assert(manager); + assert(unit); + +@@ -667,7 +667,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo + "KillUnit", + error, + NULL, +- "ssi", unit, who == KILL_LEADER ? "main" : "all", signo); ++ "ssi", unit, "all", signo); + } + + int manager_unit_is_active(Manager *manager, const char *unit) { +diff --git src/machine/machined.h src/machine/machined.h +index d4b581b..2dba303 100644 +--- src/machine/machined.h ++++ src/machine/machined.h +@@ -67,6 +67,6 @@ int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_b + + int manager_start_scope(Manager *manager, const char *scope, pid_t pid, const char *slice, const char *description, sd_bus_message *more_properties, sd_bus_error *error, char **job); + int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, char **job); +-int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error); ++int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error); + int manager_unit_is_active(Manager *manager, const char *unit); + int manager_job_is_active(Manager *manager, const char *path); +-- +1.7.9.2 + diff --git a/0002-man-document-yearly-and-annually-in-systemd.time-7.patch b/0002-man-document-yearly-and-annually-in-systemd.time-7.patch new file mode 100644 index 00000000..521b22cc --- /dev/null +++ b/0002-man-document-yearly-and-annually-in-systemd.time-7.patch @@ -0,0 +1,49 @@ +From 8c275eef38bf7e3e592e4cb35a497522d1f15bb6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Jul 2014 22:17:29 -0400 +Subject: [PATCH] man: document yearly and annually in systemd.time(7) + +https://bugs.freedesktop.org/show_bug.cgi?id=81158 +--- + man/systemd.time.xml | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git man/systemd.time.xml man/systemd.time.xml +index 0706cdf..02431a5 100644 +--- man/systemd.time.xml ++++ man/systemd.time.xml +@@ -243,12 +243,16 @@ + + The special expressions + hourly, daily, +- monthly and weekly +- may be used as calendar events which refer to +- *-*-* *:00:00, *-*-* +- 00:00:00, *-*-01 00:00:00 and +- Mon *-*-* 00:00:00, +- respectively. ++ monthly, weekly, ++ and yearly or ++ annually may be used as calendar ++ events which refer to ++ *-*-* *:00:00, ++ *-*-* 00:00:00, ++ *-*-01 00:00:00, ++ Mon *-*-* 00:00:00, and ++ *-01-01 00:00:00 respectively. ++ + + Examples for valid timestamps and their + normalized form: +@@ -277,6 +281,8 @@ Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03 + daily → *-*-* 00:00:00 + monthly → *-*-01 00:00:00 + weekly → Mon *-*-* 00:00:00 ++ yearly → *-01-01 00:00:00 ++ annually → *-01-01 00:00:00 + *:2/3 → *-*-* *:02/3:00 + + Calendar events are used by timer units, see +-- +1.7.9.2 + diff --git a/0002-man-note-that-entire-sections-can-now-be-ignored.patch b/0002-man-note-that-entire-sections-can-now-be-ignored.patch new file mode 100644 index 00000000..2db35728 --- /dev/null +++ b/0002-man-note-that-entire-sections-can-now-be-ignored.patch @@ -0,0 +1,35 @@ +From 2bcc2523711e69e6daa744641e56ed8b78646676 Mon Sep 17 00:00:00 2001 +From: Michael Marineau +Date: Sat, 17 May 2014 16:09:08 -0700 +Subject: [PATCH] man: note that entire sections can now be ignored + +Prefixing a section name with "X-" will cause it and all of its contents +to be silently ignored as of commit 342aea19. +--- + man/systemd.unit.xml | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 157530b..e903156 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -139,10 +139,12 @@ + Unit files may contain additional options on top + of those listed here. If systemd encounters an unknown + option, it will write a warning log message but +- continue loading the unit. If an option is prefixed +- with , it is ignored completely by +- systemd. Applications may use this to include +- additional information in the unit files. ++ continue loading the unit. If an option or section name ++ is prefixed with , it is ignored ++ completely by systemd. Options within an ignored ++ section do not need the prefix. Applications may use ++ this to include additional information in the unit ++ files. + + Boolean arguments used in unit files can be + written in various formats. For positive settings the +-- +1.7.9.2 + diff --git a/0002-man-tmpfiles.d-recommend-using-b-and-c.patch b/0002-man-tmpfiles.d-recommend-using-b-and-c.patch new file mode 100644 index 00000000..bb6c70d2 --- /dev/null +++ b/0002-man-tmpfiles.d-recommend-using-b-and-c.patch @@ -0,0 +1,24 @@ +diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210-mod/man/tmpfiles.d.xml +--- systemd-210/man/tmpfiles.d.xml 2014-12-16 10:16:51.269189374 +0100 ++++ systemd-210-mod/man/tmpfiles.d.xml 2014-12-16 10:39:49.937552189 +0100 +@@ -158,12 +158,18 @@ + + + c +- Create a character device node if it does not exist yet. ++ Create a character device node if it does not exist yet. ++ It is recommended to suffix this entry with an exclamation mark to only ++ create static device nodes at boot, as udev will not manage static device ++ nodes that are created at runtime. + + + + b +- Create a block device node if it does not exist yet. ++ Create a block device node if it does not exist yet. ++ It is recommended to suffix this entry with an exclamation mark to only ++ create static device nodes at boot, as udev will not manage static device ++ nodes that re created at runtime. + + + diff --git a/0002-manager-flush-memory-stream-before-using-the-buffer.patch b/0002-manager-flush-memory-stream-before-using-the-buffer.patch new file mode 100644 index 00000000..39ca371c --- /dev/null +++ b/0002-manager-flush-memory-stream-before-using-the-buffer.patch @@ -0,0 +1,45 @@ +From b2cdc6664ef6b56e47d38649d69b9943d9f9f5d0 Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Fri, 7 Mar 2014 14:43:59 +0100 +Subject: [PATCH] manager: flush memory stream before using the buffer + +When the manager receives a SIGUSR2 signal, it opens a memory stream +with open_memstream(), uses the returned file handle for logging, and +dumps the logged content with log_dump(). + +However, the char* buffer is only safe to use after the file handle has +been flushed with fflush, as the man pages states: + + When the stream is closed (fclose(3)) or flushed (fflush(3)), the + locations pointed to by ptr and sizeloc are updated to contain, + respectively, a pointer to the buffer and the current size of the + buffer. + These values remain valid only as long as the caller performs no + further output on the stream. If further output is performed, then the + stream must again be flushed before trying to access these variables. + +Without that call, dump remains NULL and the daemon crashes in +log_dump(). +--- + src/core/manager.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/core/manager.c src/core/manager.c +index 27a1cc6..78f4f3d 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -1621,6 +1621,11 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t + break; + } + ++ if (fflush(f)) { ++ log_warning("Failed to flush status stream"); ++ break; ++ } ++ + log_dump(LOG_INFO, dump); + break; + } +-- +1.7.9.2 + diff --git a/0002-namespace-fix-uninitialized-memory-access.patch b/0002-namespace-fix-uninitialized-memory-access.patch new file mode 100644 index 00000000..bb6ea8ea --- /dev/null +++ b/0002-namespace-fix-uninitialized-memory-access.patch @@ -0,0 +1,28 @@ +Based on 002b226843e77630128da580225f9c3ef8474db2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 16:27:53 +0200 +Subject: [PATCH] namespace: fix uninitialized memory access + +--- + src/core/namespace.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- src/core/namespace.c ++++ src/core/namespace.c 2014-07-04 00:00:00.000000000 +0000 +@@ -68,6 +68,7 @@ static int append_mounts(BindMount **p, + STRV_FOREACH(i, strv) { + + (*p)->ignore = false; ++ (*p)->done = false; + + if ((mode == INACCESSIBLE || mode == READONLY) && (*i)[0] == '-') { + (*p)->ignore = true; +@@ -298,7 +299,7 @@ int setup_namespace( + private_dev; + + if (n > 0) { +- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); ++ m = mounts = (BindMount *) alloca0(n * sizeof(BindMount)); + r = append_mounts(&m, read_write_dirs, READWRITE); + if (r < 0) + return r; diff --git a/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch b/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch new file mode 100644 index 00000000..dfbf403c --- /dev/null +++ b/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch @@ -0,0 +1,122 @@ +Based on 6d313367d9ef780560e117e886502a99fa220eac Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 5 Jun 2014 21:35:35 +0200 +Subject: [PATCH] namespace: when setting up an inaccessible mount point, + unmounting everything below + +This has the benefit of not triggering any autofs mount points +unnecessarily. + +--- + src/core/namespace.c | 6 ++++ + src/shared/util.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/shared/util.h | 2 + + 3 files changed, 76 insertions(+) + +--- src/core/namespace.c ++++ src/core/namespace.c 2014-06-11 00:00:00.000000000 +0000 +@@ -220,6 +220,12 @@ static int apply_mount( + return mount_dev(m); + + case INACCESSIBLE: ++ ++ /* First, get rid of everything that is below if there ++ * is anything... Then, overmount it with an ++ * inaccessible directory. */ ++ umount_recursive(m->path, 0); ++ + what = "/run/systemd/inaccessible"; + break; + +--- src/shared/util.c ++++ src/shared/util.c 2014-06-11 00:00:00.000000000 +0000 +@@ -54,6 +54,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -4635,6 +4636,73 @@ char *strjoin(const char *x, ...) { + return r; + } + ++int umount_recursive(const char *prefix, int flags) { ++ bool again; ++ int n = 0, r; ++ ++ /* Try to umount everything recursively below a ++ * directory. Also, take care of stacked mounts, and keep ++ * unmounting them until they are gone. */ ++ ++ do { ++ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; ++ ++ again = false; ++ r = 0; ++ ++ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); ++ if (!proc_self_mountinfo) ++ return -errno; ++ ++ for (;;) { ++ _cleanup_free_ char *path = NULL, *p = NULL; ++ int k; ++ ++ k = fscanf(proc_self_mountinfo, ++ "%*s " /* (1) mount id */ ++ "%*s " /* (2) parent id */ ++ "%*s " /* (3) major:minor */ ++ "%*s " /* (4) root */ ++ "%ms " /* (5) mount point */ ++ "%*s" /* (6) mount options */ ++ "%*[^-]" /* (7) optional fields */ ++ "- " /* (8) separator */ ++ "%*s " /* (9) file system type */ ++ "%*s" /* (10) mount source */ ++ "%*s" /* (11) mount options 2 */ ++ "%*[^\n]", /* some rubbish at the end */ ++ &path); ++ ++ if (k != 1) { ++ if (k == EOF) ++ break; ++ ++ continue; ++ } ++ ++ p = cunescape(path); ++ if (!p) ++ return -ENOMEM; ++ ++ if (!path_startswith(p, prefix)) ++ continue; ++ ++ if (umount2(p, flags) < 0) { ++ r = -errno; ++ continue; ++ } ++ ++ again = true; ++ n++; ++ ++ break; ++ } ++ ++ } while (again); ++ ++ return r ? r : n; ++} ++ + bool is_main_thread(void) { + static thread_local int cached = 0; + +--- src/shared/util.h ++++ src/shared/util.h 2014-06-11 10:10:08.000000000 +0000 +@@ -890,3 +890,5 @@ union file_handle_union { + struct file_handle handle; + char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; + }; ++ ++int umount_recursive(const char *target, int flags); diff --git a/0002-nspawn-restore-journal-directory-is-empty-check.patch b/0002-nspawn-restore-journal-directory-is-empty-check.patch new file mode 100644 index 00000000..c3d60bd4 --- /dev/null +++ b/0002-nspawn-restore-journal-directory-is-empty-check.patch @@ -0,0 +1,30 @@ +From cdb2b9d05a2f3d649f47bd2ba24eb3fe30b52e92 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 15:19:46 +0900 +Subject: [PATCH] nspawn: restore journal directory is empty check + +This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9. + +Instead of removing the error message about non-empty journal bind mount +directories, simply downgrade the message to a warning and proceed. +--- + src/nspawn/nspawn.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index ef84664..eb9c5e0 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1143,6 +1143,9 @@ static int setup_journal(const char *directory) { + } else if (access(p, F_OK) < 0) + return 0; + ++ if (dir_is_empty(q) == 0) ++ log_warning("%s is not empty, proceeding anyway.", q); ++ + r = mkdir_p(q, 0755); + if (r < 0) { + log_error("Failed to create %s: %m", q); +-- +1.7.9.2 + diff --git a/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch b/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch new file mode 100644 index 00000000..06a4521c --- /dev/null +++ b/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch @@ -0,0 +1,26 @@ +From 85c08dc013f9f99b58bc9b79284af0b35304237b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 13 May 2014 16:35:34 +0200 +Subject: [PATCH] pam_systemd: use F_DUPFD_CLOEXEC when dupping session fds + +http://lists.freedesktop.org/archives/systemd-devel/2014-May/019034.html +--- + src/login/pam-module.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/pam-module.c src/login/pam-module.c +index 9873dd5..1259457 100644 +--- src/login/pam-module.c ++++ src/login/pam-module.c +@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( + } + + if (session_fd >= 0) { +- session_fd = dup(session_fd); ++ session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3); + if (session_fd < 0) { + pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m"); + return PAM_SESSION_ERR; +-- +1.7.9.2 + diff --git a/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch b/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch new file mode 100644 index 00000000..67ad0284 --- /dev/null +++ b/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch @@ -0,0 +1,116 @@ +Based on 4844262f25a3ff6bd23de05a0a6f84a8e2983d74 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 3 Dec 2014 02:02:11 +0100 +Subject: [PATCH] rfkill: rework how we generate file names from rfkill + devices + +Generate the file name from ID_PATH plus the rfkill type (wlan, +bluetooth, ...) and ignore the rfkill device name, since it apparently +is not a stable identifier. + +Also, ensure that devices disappearing don't result in broken services, +simply exit cleanly. +--- + src/rfkill/rfkill.c | 47 ++++++++++++++++++++++++----------------------- + 1 file changed, 24 insertions(+), 23 deletions(-) + +--- src/rfkill/rfkill.c ++++ src/rfkill/rfkill.c 2014-12-05 12:05:59.053518122 +0000 +@@ -28,8 +28,8 @@ + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_device_unref_ struct udev_device *device = NULL; +- _cleanup_free_ char *saved = NULL, *escaped_name = NULL, *escaped_path_id = NULL; +- const char *name, *path_id; ++ _cleanup_free_ char *saved = NULL, *escaped_type = NULL, *escaped_path_id = NULL; ++ const char *name, *type, *path_id; + int r; + + if (argc != 3) { +@@ -55,25 +55,28 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- errno = 0; + device = udev_device_new_from_subsystem_sysname(udev, "rfkill", argv[2]); + if (!device) { +- if (errno != 0) +- log_error("Failed to get rfkill device '%s': %m", argv[2]); +- else +- log_oom(); +- +- return EXIT_FAILURE; ++ log_debug("Failed to get rfkill device '%s', ignoring: %m", argv[2]); ++ return EXIT_SUCCESS; + } + + name = udev_device_get_sysattr_value(device, "name"); + if (!name) { +- log_error("rfkill device has no name?"); +- return EXIT_FAILURE; ++ log_error("rfkill device has no name? Ignoring device."); ++ return EXIT_SUCCESS; ++ } ++ ++ log_debug("Operating on rfkill device '%s'.", name); ++ ++ type = udev_device_get_sysattr_value(device, "type"); ++ if (!type) { ++ log_error("rfkill device has no type? Ignoring device."); ++ return EXIT_SUCCESS; + } + +- escaped_name = cescape(name); +- if (!escaped_name) { ++ escaped_type = cescape(type); ++ if (!escaped_type) { + log_oom(); + return EXIT_FAILURE; + } +@@ -86,9 +89,9 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_name, NULL); ++ saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_type, NULL); + } else +- saved = strjoin("/var/lib/systemd/rfkill/", escaped_name, NULL); ++ saved = strjoin("/var/lib/systemd/rfkill/", escaped_type, NULL); + + if (!saved) { + log_oom(); +@@ -102,19 +105,17 @@ int main(int argc, char *argv[]) { + return EXIT_SUCCESS; + + r = read_one_line_file(saved, &value); ++ if (r == -ENOENT) ++ return EXIT_SUCCESS; + if (r < 0) { +- +- if (r == -ENOENT) +- return EXIT_SUCCESS; +- + log_error("Failed to read %s: %s", saved, strerror(-r)); + return EXIT_FAILURE; + } + + r = udev_device_set_sysattr_value(device, "soft", value); + if (r < 0) { +- log_error("Failed to write system attribute: %s", strerror(-r)); +- return EXIT_FAILURE; ++ log_debug("Failed to write 'soft' attribute on rfkill device, ignoring: %s", strerror(-r)); ++ return EXIT_SUCCESS; + } + + } else if (streq(argv[1], "save")) { +@@ -122,8 +123,8 @@ int main(int argc, char *argv[]) { + + value = udev_device_get_sysattr_value(device, "soft"); + if (!value) { +- log_error("Failed to read system attribute: %s", strerror(-r)); +- return EXIT_FAILURE; ++ log_debug("Failed to read system attribute, ignoring device: %s", strerror(-r)); ++ return EXIT_SUCCESS; + } + + r = write_string_file(saved, value); diff --git a/0002-shell-completion-prevent-mangling-unit-names.patch b/0002-shell-completion-prevent-mangling-unit-names.patch new file mode 100644 index 00000000..9d8b1324 --- /dev/null +++ b/0002-shell-completion-prevent-mangling-unit-names.patch @@ -0,0 +1,67 @@ +Based on 6d314eca15f6cbda38d82774b210f784d3d4f52a Mon Sep 17 00:00:00 2001 +From: Eric Cook +Date: Sat, 26 Jul 2014 11:15:52 -0400 +Subject: [PATCH] shell-completion: prevent mangling unit names + +Units with literal hex '\xFF' in their names has to be read +and printed properly. +dev-disk-byx2dlabel-root.device != dev-disk-by\x2dlabel-root.device +--- + shell-completion/zsh/_systemctl.in | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git shell-completion/zsh/_systemctl.in shell-completion/zsh/_systemctl.in +index d364d17..e681ec6 100644 +--- shell-completion/zsh/_systemctl ++++ shell-completion/zsh/_systemctl +@@ -100,7 +100,7 @@ _systemctl_all_units() + if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) && + ! _retrieve_cache SYS_ALL_UNITS; + then +- _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo " $a"; done; }) ) ++ _sys_all_units=( $(__systemctl list-units --all | { while read -r a b; do echo -E - " $a"; done; }) ) + _store_cache SYS_ALL_UNITS _sys_all_units + fi + } +@@ -113,7 +113,7 @@ _systemctl_really_all_units() + if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) && + ! _retrieve_cache SYS_REALLY_ALL_UNITS; + then +- all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo " $a"; done; }) ) ++ all_unit_files=( $(__systemctl list-unit-files | { while read -r a b; do echo -E - " $a"; done; }) ) + _systemctl_all_units + really_all_units=($_sys_all_units $all_unit_files) + _sys_really_all_units=(${(u)really_all_units}) +@@ -138,12 +138,12 @@ _filter_units_by_property() { + done + } + +-_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo " $a"; done; }) )} +-_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }) )} +-_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo " $a"; done; }) )} +-_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo " $a"; done; }) )} +-_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo " $a"; done; }) )} +-_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo " $a"; done; }) )} ++_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} ++_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} ++_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} ++_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} ++_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} ++_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "masked" ]] && echo -E - " $a"; done; }) )} + + # Completion functions for ALL_UNITS + for fun in is-active is-failed is-enabled status show cat mask preset help list-dependencies ; do +@@ -219,8 +219,8 @@ for fun in restart reload-or-restart ; do + { + _systemctl_all_units + compadd "$@" - $( _filter_units_by_property CanStart yes \ +- ${_sys_all_units[*]} | while read line; do \ +- [[ "$line" =~ \.device$ ]] || echo " $line"; \ ++ ${_sys_all_units[*]} | while read -r line; do \ ++ [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ + done ) + } + done +-- +1.7.9.2 + diff --git a/0002-shell-completion-propose-templates-for-disable-re-en.patch b/0002-shell-completion-propose-templates-for-disable-re-en.patch new file mode 100644 index 00000000..3a58e013 --- /dev/null +++ b/0002-shell-completion-propose-templates-for-disable-re-en.patch @@ -0,0 +1,111 @@ +Based on e9a19bd882ff8a2c8aef5c63b39525ea231e5fb9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 14 Oct 2014 21:10:02 -0400 +Subject: [PATCH] shell-completion: propose templates for + disable/[re]enable/[re]start + +Templates can be [re]enabled, on their own if the have DefaultInstance set, +and with an instance suffix in all cases. Propose just the template name +ending in @, to underline the instance suffix may have to be appended. + +Likewise for start/restart. + +This means that sometimes superflous units that one will not really +want to operate on will be proposed, but this seems better than +proposing a very incomplete set of names. + +https://bugs.freedesktop.org/show_bug.cgi?id=66912 +--- + shell-completion/bash/systemctl | 15 +++++++++++---- + shell-completion/zsh/_systemctl | 20 +++++++++++++------- + 2 files changed, 24 insertions(+), 11 deletions(-) + +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -53,6 +53,9 @@ __filter_units_by_property () { + + __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ + | { while read -r a b; do echo " $a"; done; }; } ++__get_template_names () { __systemctl $1 list-unit-files \ ++ | { while read -r a b; do [[ $a =~ @\. ]] && echo " ${a%%@.*}@"; done; }; } ++ + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } + __get_startable_units () { +@@ -169,22 +172,26 @@ _systemctl () { + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then +- comps=$( __get_disabled_units $mode ) ++ comps=$( __get_disabled_units $mode; ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then + comps=$( __get_disabled_units $mode; +- __get_enabled_units $mode ) ++ __get_enabled_units $mode; ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +- $( __get_startable_units $mode)) ++ $( __get_startable_units $mode); ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +- $( __get_restartable_units $mode)) ++ $( __get_restartable_units $mode); \ ++ __get_template_names $mode) + compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then +--- shell-completion/zsh/_systemctl ++++ shell-completion/zsh/_systemctl +@@ -139,6 +139,8 @@ _filter_units_by_property() { + } + + _systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } ++_systemctl_get_template_names() { __systemctl list-unit-files | { while read -r a b; do [[ $a =~ @\. ]] && echo -E - " ${a%%@.*}@"; done; } } ++ + + _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} + _systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} +@@ -158,20 +160,24 @@ for fun in is-active is-failed is-enabled status show cat mask preset help list- + done + + # Completion functions for ENABLED_UNITS +-for fun in disable reenable ; do +- (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() +- { ++(( $+functions[_systemctl_disable] )) || _systemctl_disable() ++{ ++ _systemctl_enabled_units ++ compadd "$@" -a - _sys_enabled_units ++} ++ ++(( $+functions[_systemctl_reenable] )) || _systemctl_reenable() ++{ + _systemctl_enabled_units + _systemctl_disabled_units +- compadd "$@" -a - _sys_enabled_units _sys_disabled_units +- } +-done ++ compadd "$@" -a - _sys_enabled_units _sys_disabled_units $(_systemctl_get_template_names) ++} + + # Completion functions for DISABLED_UNITS + (( $+functions[_systemctl_enable] )) || _systemctl_enable() + { + _systemctl_disabled_units +- compadd "$@" -a - _sys_disabled_units ++ compadd "$@" -a - _sys_disabled_units $(_systemctl_get_template_names) + } + + # Completion functions for FAILED_UNITS +-- +1.7.9.2 + diff --git a/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch b/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch new file mode 100644 index 00000000..12ad7d2d --- /dev/null +++ b/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch @@ -0,0 +1,70 @@ +Based on 4b5d8d0f22ae61ceb45a25391354ba53b43ee992 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 6 Nov 2014 22:24:13 +0100 +Subject: [PATCH] shutdown: fix arguments to /run/initramfs/shutdown + +Our initrd interface specifies that the verb is in argv[1]. +This is where systemd passes it to systemd-shutdown, but getopt +permutes argv[]. This confuses dracut's shutdown script: + Shutdown called with argument '--log-level'. Rebooting! + +getopt can be convinced to not permute argv[] by having '-' as the first +character of optstring. Let's use it. This requires changing the way +non-option arguments (in our case, the verb) are processed. + +This fixes a bug where the system would reboot instead of powering off. +--- + src/core/shutdown.c | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +--- src/core/shutdown.c ++++ src/core/shutdown.c 2014-11-10 14:14:20.869519112 +0000 +@@ -75,9 +75,9 @@ static int parse_argv(int argc, char *ar + assert(argc >= 1); + assert(argv); + +- opterr = 0; +- +- while ((c = getopt_long(argc, argv, ":", options, NULL)) >= 0) ++ /* "-" prevents getopt from permuting argv[] and moving the verb away ++ * from argv[1]. Our interface to initrd promises it'll be there. */ ++ while ((c = getopt_long(argc, argv, "-", options, NULL)) >= 0) + switch (c) { + + case ARG_LOG_LEVEL: +@@ -115,27 +115,25 @@ static int parse_argv(int argc, char *ar + + break; + +- case '?': +- log_error("Unknown option %s.", argv[optind-1]); +- return -EINVAL; ++ case '\001': ++ if (!arg_verb) ++ arg_verb = optarg; ++ else ++ log_error("Excess arguments, ignoring"); ++ break; + +- case ':': +- log_error("Missing argument to %s.", argv[optind-1]); ++ case '?': + return -EINVAL; + + default: + assert_not_reached("Unhandled option code."); + } + +- if (optind >= argc) { ++ if (!arg_verb) { + log_error("Verb argument missing."); + return -EINVAL; + } + +- arg_verb = argv[optind]; +- +- if (optind + 1 < argc) +- log_error("Excess arguments, ignoring"); + return 0; + } + diff --git a/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch b/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch new file mode 100644 index 00000000..73a98020 --- /dev/null +++ b/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch @@ -0,0 +1,36 @@ +Based on a2726e5cedfa5edeabd7e0784be11bc578555ac5 Mon Sep 17 00:00:00 2001 +From: Marius Tessmann +Date: Fri, 29 Aug 2014 17:51:45 +0200 +Subject: [PATCH] shutdown: pass own argv to /run/initramfs/shutdown + +Since commit b1e90ec515408aec2702522f6f68c4920b56375b systemd passes +its log settings to systemd-shutdown via command line parameters. +However, systemd-shutdown doesn't pass these parameters to +/run/initramfs/shutdown, causing it to fall back to the default log +settings. + +This fixes the following bugs about the shutdown not being quiet +despite "quiet" being in the kernel parameters: + +https://bugs.freedesktop.org/show_bug.cgi?id=79582 +https://bugs.freedesktop.org/show_bug.cgi?id=57216 +--- + src/core/shutdown.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/shutdown.c ++++ src/core/shutdown.c 2014-10-24 12:32:44.704337960 +0000 +@@ -377,11 +377,11 @@ int main(int argc, char *argv[]) { + + if (prepare_new_root() >= 0 && + pivot_to_new_root() >= 0) { +- arguments[0] = (char*) "/shutdown"; ++ argv[0] = (char*) "/shutdown"; + + log_info("Returning to initrd..."); + +- execv("/shutdown", arguments); ++ execv("/shutdown", argv); + log_error("Failed to execute shutdown binary: %m"); + } + } diff --git a/0002-snapshot-return-error-when-snapshot-exists.patch b/0002-snapshot-return-error-when-snapshot-exists.patch new file mode 100644 index 00000000..4a7fcfb3 --- /dev/null +++ b/0002-snapshot-return-error-when-snapshot-exists.patch @@ -0,0 +1,25 @@ +From 7cabba07745b388497e8c0fc19b61984167fd474 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 28 Oct 2014 12:36:17 -0400 +Subject: [PATCH] snapshot: return error when snapshot exists + +--- + src/core/snapshot.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/snapshot.c src/core/snapshot.c +index 5eed615..c2678cb 100644 +--- src/core/snapshot.c ++++ src/core/snapshot.c +@@ -208,7 +208,7 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, sd_bus_error *e, + return sd_bus_error_setf(e, SD_BUS_ERROR_INVALID_ARGS, "Unit name %s lacks snapshot suffix.", name); + + if (manager_get_unit(m, name)) +- sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); ++ return sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); + + } else { + +-- +1.7.9.2 + diff --git a/0002-switch-root-umount-the-old-root-correctly.patch b/0002-switch-root-umount-the-old-root-correctly.patch new file mode 100644 index 00000000..df79c8f0 --- /dev/null +++ b/0002-switch-root-umount-the-old-root-correctly.patch @@ -0,0 +1,26 @@ +Based on 23f25b1496c31ef4c20b8f3ee8328f7b1d5f3a54 Mon Sep 17 00:00:00 2001 +From: Dan Dedrick +Date: Tue, 29 Jul 2014 15:31:23 -0400 +Subject: [PATCH] switch-root: umount the old root correctly + +The unmount occurs after the pivot_root, so the path used to unmount +should take into account the new root directory. This will allow the +umount to actually succeed. +--- + src/core/switch-root.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/switch-root.c ++++ src/core/switch-root.c 2014-08-22 11:22:50.230735231 +0000 +@@ -122,9 +122,9 @@ int switch_root(const char *new_root) { + + /* Immediately get rid of the old root. Since we are + * running off it we need to do this lazily. */ +- if (umount2(temporary_old_root, MNT_DETACH) < 0) { ++ if (umount2("/mnt", MNT_DETACH) < 0) { + r = -errno; +- log_error("Failed to umount old root dir %s: %m", temporary_old_root); ++ log_error("Failed to umount old root dir /mnt: %m"); + goto fail; + } + diff --git a/0002-sysctl-replaces-some-slashes-with-dots.patch b/0002-sysctl-replaces-some-slashes-with-dots.patch new file mode 100644 index 00000000..d46fd449 --- /dev/null +++ b/0002-sysctl-replaces-some-slashes-with-dots.patch @@ -0,0 +1,97 @@ +From 2e573fcf8754fdfe0db0a783b1631ec1679b063a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Apr 2014 21:33:46 -0400 +Subject: [PATCH] sysctl: replaces some slashes with dots + +It turns out that plain sysctl understands a.b/c syntax to write to +/proc/sys/a/b.c. Support this for compatibility. + +https://bugs.freedesktop.org/show_bug.cgi?id=77466 +--- + man/sysctl.d.xml | 29 +++++++++++++++++++++-------- + src/sysctl/sysctl.c | 18 ++++++++++++++++-- + 2 files changed, 37 insertions(+), 10 deletions(-) + +diff --git man/sysctl.d.xml man/sysctl.d.xml +index 00a857b..db53b49 100644 +--- man/sysctl.d.xml ++++ man/sysctl.d.xml +@@ -68,13 +68,26 @@ + The configuration files contain a list of + variable assignments, separated by newlines. Empty + lines and lines whose first non-whitespace character +- is # or ; are ignored. +- +- Note that both / and . are accepted as label +- separators within sysctl variable +- names. kernel.domainname=foo and +- kernel/domainname=foo hence are +- entirely equivalent. ++ is # or ; are ++ ignored. ++ ++ Note that either / or ++ . may be used as separators within ++ sysctl variable names. If the first separator is a ++ slash, remaining slashes and dots are left intact. If ++ the first separator is a dot, dots and slashes are ++ interchanged. kernel.domainname=foo ++ and kernel/domainname=foo are ++ equivalent and will cause foo to ++ be written to ++ /proc/sys/kernel/domainname. ++ Either ++ net.ipv4.conf.enp3s0/200.forwarding ++ or ++ net/ipv4/conf/enp3s0.200/forwarding ++ may be used to refer to ++ /proc/sys/net/ipv4/conf/enp3s0.200/forwarding. ++ + + Each configuration file shall be named in the + style of program.conf. +@@ -109,7 +122,7 @@ + early on boot. The network interface-specific options + will also be applied individually for each network + interface as it shows up in the system. (More +- specifically, that is ++ specifically, + net.ipv4.conf.*, + net.ipv6.conf.*, + net.ipv4.neigh.* and net.ipv6.neigh.*) +diff --git src/sysctl/sysctl.c src/sysctl/sysctl.c +index 283eefe..06defa5 100644 +--- src/sysctl/sysctl.c ++++ src/sysctl/sysctl.c +@@ -48,12 +48,26 @@ static const char conf_file_dirs[] = + #endif + ; + +-static char *normalize_sysctl(char *s) { ++static char* normalize_sysctl(char *s) { + char *n; + +- for (n = s; *n; n++) ++ n = strpbrk(s, "/."); ++ /* If the first separator is a slash, the path is ++ * assumed to be normalized and slashes remain slashes ++ * and dots remains dots. */ ++ if (!n || *n == '/') ++ return s; ++ ++ /* Otherwise, dots become slashes and slashes become ++ * dots. Fun. */ ++ while (n) { + if (*n == '.') + *n = '/'; ++ else ++ *n = '.'; ++ ++ n = strpbrk(n + 1, "/."); ++ } + + return s; + } +-- +1.7.9.2 + diff --git a/0002-systemctl-obey-state-in-list-unit-files.patch b/0002-systemctl-obey-state-in-list-unit-files.patch new file mode 100644 index 00000000..aaa1cbf3 --- /dev/null +++ b/0002-systemctl-obey-state-in-list-unit-files.patch @@ -0,0 +1,28 @@ +From fec1530e6b5b8d6dc352c7338010357126e84621 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 29 Oct 2014 22:51:00 -0400 +Subject: [PATCH] systemctl: obey --state in list-unit-files + +--- + src/systemctl/systemctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index b71040b..8481a9b 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -1268,6 +1268,11 @@ next: + return false; + } + ++ if (!strv_isempty(arg_states)) { ++ if (!strv_find(arg_states, unit_file_state_to_string(u->state))) ++ return false; ++ } ++ + return true; + } + +-- +1.7.9.2 + diff --git a/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch b/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch new file mode 100644 index 00000000..6a9cd2ac --- /dev/null +++ b/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch @@ -0,0 +1,35 @@ +From c469089cf647ac740c7dcf09c463d2907b6d00eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 22 Nov 2014 20:21:56 -0500 +Subject: [PATCH] systemctl: show BindsTo/BoundBy in list-dependencies + +Suggested-by: Peter Mattern + +http://lists.freedesktop.org/archives/systemd-devel/2014-November/025437.html +--- + src/systemctl/systemctl.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 78b7c96..fd69c69 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -1480,11 +1480,13 @@ static int list_dependencies_get_dependencies(sd_bus *bus, const char *name, cha + "RequiresOverridable\0" + "Requisite\0" + "RequisiteOverridable\0" +- "Wants\0", ++ "Wants\0" ++ "BindsTo\0", + [DEPENDENCY_REVERSE] = "RequiredBy\0" + "RequiredByOverridable\0" + "WantedBy\0" +- "PartOf\0", ++ "PartOf\0" ++ "BoundBy\0", + [DEPENDENCY_AFTER] = "After\0", + [DEPENDENCY_BEFORE] = "Before\0", + }; +-- +1.7.9.2 + diff --git a/0002-systemctl-update-NAME-to-PATTERN-in-help.patch b/0002-systemctl-update-NAME-to-PATTERN-in-help.patch new file mode 100644 index 00000000..fd9096b9 --- /dev/null +++ b/0002-systemctl-update-NAME-to-PATTERN-in-help.patch @@ -0,0 +1,52 @@ +From b3ae710c251d0ce5cf2cef63208e325497b5e323 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 1 Apr 2014 20:43:15 -0400 +Subject: [PATCH] systemctl: update NAME to PATTERN in help() + +Previously the man page was modified, but not help(). +--- + TODO | 2 ++ + src/systemctl/systemctl.c | 14 +++++++------- + 2 files changed, 9 insertions(+), 7 deletions(-) + +diff --git TODO TODO +index 4ff69ff..0343b94 100644 +--- TODO ++++ TODO +@@ -1,4 +1,6 @@ + Bugfixes: ++* Should systemctl status \* work on all unit types, not just .service? ++ + * enabling an instance unit creates a pointless link, and + the unit will be started with getty@getty.service: + $ systemctl enable getty@.service +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 6b88f85..653a324 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -5403,15 +5403,15 @@ static int systemctl_help(void) { + " otherwise restart if active\n" + " isolate NAME Start one unit and stop all others\n" + " kill NAME... Send signal to processes of a unit\n" +- " is-active NAME... Check whether units are active\n" +- " is-failed NAME... Check whether units are failed\n" +- " status [NAME...|PID...] Show runtime status of one or more units\n" +- " show [NAME...|JOB...] Show properties of one or more\n" ++ " is-active PATTERN... Check whether units are active\n" ++ " is-failed PATTERN... Check whether units are failed\n" ++ " status [PATTERN...|PID...] Show runtime status of one or more units\n" ++ " show [PATTERN...|JOB...] Show properties of one or more\n" + " units/jobs or the manager\n" +- " cat NAME... Show files and drop-ins of one or more units\n" ++ " cat PATTERN... Show files and drop-ins of one or more units\n" + " set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n" +- " help NAME...|PID... Show manual for one or more units\n" +- " reset-failed [NAME...] Reset failed state for all, one, or more\n" ++ " help PATTERN...|PID... Show manual for one or more units\n" ++ " reset-failed [PATTERN...] Reset failed state for all, one, or more\n" + " units\n" + " list-dependencies [NAME] Recursively show units which are required\n" + " or wanted by this unit or by which this\n" +-- +1.7.9.2 + diff --git a/0002-systemd-fix-error-message.patch b/0002-systemd-fix-error-message.patch new file mode 100644 index 00000000..778444a8 --- /dev/null +++ b/0002-systemd-fix-error-message.patch @@ -0,0 +1,29 @@ +Based on 6ad3b2b62cbe34cc02ee98deb5f48047f5e42d26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 30 Aug 2014 17:22:42 -0400 +Subject: [PATCH] systemd: fix error message + +--- + src/core/dbus-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c 2014-09-01 12:51:33.266735961 +0000 +@@ -1114,7 +1114,7 @@ static int method_switch_root(sd_bus *bu + return r; + + if (m->running_as != SYSTEMD_SYSTEM) +- return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "KExec is only supported for system managers."); ++ return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Root switching is only supported by system manager."); + + r = sd_bus_message_read(message, "ss", &root, &init); + if (r < 0) +@@ -1125,7 +1125,7 @@ static int method_switch_root(sd_bus *bu + + /* Safety check */ + if (isempty(init)) { +- if (! path_is_os_tree(root)) ++ if (!path_is_os_tree(root)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified switch root path %s does not seem to be an OS tree. /etc/os-release is missing.", root); + } else { + _cleanup_free_ char *p = NULL; diff --git a/0002-systemd-try-harder-to-bind-to-notify-socket.patch b/0002-systemd-try-harder-to-bind-to-notify-socket.patch new file mode 100644 index 00000000..d0277386 --- /dev/null +++ b/0002-systemd-try-harder-to-bind-to-notify-socket.patch @@ -0,0 +1,44 @@ +Based on e7bc519620cb7bcdbe2166fc2a446453769d827e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 16 Oct 2014 19:15:38 -0500 +Subject: [PATCH] systemd: try harder to bind to notify socket + +Without the socket open we are going to crash and burn. If for +whatever reason we fail during deserialization we will fail when +trying to open the socket. In this case it is better to unlink the old +socket and maybe lose some messages, than to continue without the +notification socket. + +Of course this situation should not happen, but we should handle +it as gracefully as possible anyway. + +https://bugzilla.redhat.com/show_bug.cgi?id=1099299 +--- + src/core/manager.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-10-20 13:47:21.035837897 +0000 +@@ -572,7 +572,21 @@ static int manager_setup_notify(Manager + r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); + if (r < 0) { + log_error("bind(@%s) failed: %m", sa.un.sun_path+1); +- return -errno; ++ if (errno == EADDRINUSE) { ++ log_notice("Removing %s socket and trying again.", m->notify_socket); ++ r = unlink(m->notify_socket); ++ if (r < 0) { ++ log_error("Failed to remove %s: %m", m->notify_socket); ++ return -EADDRINUSE; ++ } ++ ++ r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)); ++ if (r < 0) { ++ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); ++ return -errno; ++ } ++ } else ++ return -errno; + } + + r = setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)); diff --git a/0002-time-also-support-infinity-syntax-in-parse_nsec.patch b/0002-time-also-support-infinity-syntax-in-parse_nsec.patch new file mode 100644 index 00000000..c1f4884c --- /dev/null +++ b/0002-time-also-support-infinity-syntax-in-parse_nsec.patch @@ -0,0 +1,40 @@ +Based on e73c78c27511b03c7abc55aed87896092c0de699 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 19:07:26 +0200 +Subject: [PATCH] time: also support 'infinity' syntax in parse_nsec() + +Let's make parse_usec() and parse_nsec() work similar +--- + src/shared/time-util.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +--- src/shared/time-util.c ++++ src/shared/time-util.c +@@ -773,7 +773,7 @@ int parse_nsec(const char *t, nsec_t *nsec) { + { "", 1ULL }, /* default is nsec */ + }; + +- const char *p; ++ const char *p, *s; + nsec_t r = 0; + bool something = false; + +@@ -781,6 +781,18 @@ int parse_nsec(const char *t, nsec_t *nsec) { + assert(nsec); + + p = t; ++ ++ p += strspn(p, WHITESPACE); ++ s = startswith(p, "infinity"); ++ if (s) { ++ s += strspn(s, WHITESPACE); ++ if (!*s != 0) ++ return -EINVAL; ++ ++ *nsec = ((nsec_t) -1); ++ return 0; ++ } ++ + for (;;) { + long long l, z = 0; + char *e; diff --git a/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch b/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch new file mode 100644 index 00000000..7fab49e6 --- /dev/null +++ b/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch @@ -0,0 +1,29 @@ +From 24119cf10c7ed58a8fc0851745149dcc6dd5757f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Mon, 29 Sep 2014 22:32:10 -0400 +Subject: [PATCH] udev/hwdb: New Entry for Dell XPS12 9Q33 keyboard + +https://bugs.freedesktop.org/show_bug.cgi?id=84437 +--- + hwdb/60-keyboard.hwdb | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 0ffcb83..8a1baa7 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -243,6 +243,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + KEYBOARD_KEY_8c=!unknown + ++# Dell XPS12 9Q33 ++keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr* ++ KEYBOARD_KEY_88=wlan ++ KEYBOARD_KEY_65=switchvideomode # Screen Rotate ++ + # Dell Latitude microphone mute + keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* + KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute +-- +1.7.9.2 + diff --git a/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch b/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch new file mode 100644 index 00000000..58189d0f --- /dev/null +++ b/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch @@ -0,0 +1,18 @@ +Basedo n a55954297dade7b432fd3a4f328f23261621ff79 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 19 Jun 2014 19:53:16 +0200 +Subject: [PATCH] units: add missing caps so that GetAddresses() can work + +--- + units/systemd-machined.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- units/systemd-machined.service.in ++++ units/systemd-machined.service.in 2014-06-24 11:26:19.554235869 +0000 +@@ -15,5 +15,5 @@ After=machine.slice + [Service] + ExecStart=@rootlibexecdir@/systemd-machined + BusName=org.freedesktop.machine1 +-CapabilityBoundingSet=CAP_KILL ++CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID + WatchdogSec=1min diff --git a/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch b/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch new file mode 100644 index 00000000..6bc06d23 --- /dev/null +++ b/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch @@ -0,0 +1,29 @@ +From 66f311206e908a5b6f21e66fad73e1e5ea3e31d6 Mon Sep 17 00:00:00 2001 +From: Ivan Shapovalov +Date: Wed, 27 Aug 2014 00:17:43 +0400 +Subject: [PATCH] units: order systemd-fsck@.service after + local-fs-pre.target. + +With this change, it becomes possible to order a unit to activate before any +modifications to the file systems. This is especially useful for supporting +resume from hibernation. +--- + units/systemd-fsck@.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git units/systemd-fsck@.service.in units/systemd-fsck@.service.in +index c12efa8..d2cda6a 100644 +--- units/systemd-fsck@.service.in ++++ units/systemd-fsck@.service.in +@@ -10,7 +10,7 @@ Description=File System Check on %f + Documentation=man:systemd-fsck@.service(8) + DefaultDependencies=no + BindsTo=%i.device +-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service local-fs-pre.target + Before=shutdown.target + + [Service] +-- +1.7.9.2 + diff --git a/0002-units-serial-getty-.service-use-the-default-RestartS.patch b/0002-units-serial-getty-.service-use-the-default-RestartS.patch new file mode 100644 index 00000000..3945e4cd --- /dev/null +++ b/0002-units-serial-getty-.service-use-the-default-RestartS.patch @@ -0,0 +1,29 @@ +Based on 4bf04322b8b7ecca4f3d65cfc642d0ac16356129 Mon Sep 17 00:00:00 2001 +From: Michael Olbrich +Date: Tue, 15 Jul 2014 18:28:10 +0200 +Subject: [PATCH] units/serial-getty@.service: use the default RestartSec + +For pluggable ttys such as USB serial devices, the getty is restarted +and exits in a loop until the remove event reaches systemd. Under +certain circumstances the restart loop can overload the system in a +way that prevents the remove event from reaching systemd for a long +time (e.g. at least several minutes on a small embedded system). + +Use the default RestartSec to prevent the restart loop from +overloading the system. Serial gettys are interactive units, so +waiting an extra 100ms really doesn't make a difference anyways +compared to the time it takes the user to log in. +--- + units/serial-getty@.service.m4 | 1 - + 1 file changed, 1 deletion(-) + +--- units/serial-getty@.service.m4 ++++ units/serial-getty@.service.m4 2014-07-16 00:00:00.000000000 +0000 +@@ -27,7 +27,6 @@ ExecStart=-/sbin/agetty --keep-baud %I 1 + ExecStopPost=-/sbin/vhangup /dev/%I + Type=idle + Restart=always +-RestartSec=0 + UtmpIdentifier=%I + TTYPath=/dev/%I + TTYReset=yes diff --git a/0002-util-avoid-non-portable-__WORDSIZE.patch b/0002-util-avoid-non-portable-__WORDSIZE.patch new file mode 100644 index 00000000..7c82d91c --- /dev/null +++ b/0002-util-avoid-non-portable-__WORDSIZE.patch @@ -0,0 +1,25 @@ +Based on 8507eb20b64010b26f23822cbf442bb0bf96511c Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Fri, 19 Sep 2014 20:26:53 +0200 +Subject: [PATCH] util: avoid non-portable __WORDSIZE + +Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified +by any spec. Use explicit size comparisons if we're not interested in the +WORDSIZE, anyway. + +(David: adjust commit message to explain why we do this) +--- + src/shared/util.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/shared/util.h ++++ src/shared/util.h 2014-09-24 06:58:11.378235669 +0000 +@@ -166,7 +166,7 @@ int safe_atolli(const char *s, long long + + int safe_atod(const char *s, double *ret_d); + +-#if __WORDSIZE == 32 ++#if LONG_MAX == INT_MAX + static inline int safe_atolu(const char *s, unsigned long *ret_u) { + assert_cc(sizeof(unsigned long) == sizeof(unsigned)); + return safe_atou(s, (unsigned*) ret_u); diff --git a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch new file mode 100644 index 00000000..7dd59ed5 --- /dev/null +++ b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch @@ -0,0 +1,117 @@ +From 6294aa76d818e831de4592b41a37e225fd0871f9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 12:04:55 +0200 +Subject: [PATCH] util: don't consider tabs special in string_has_cc() anymore + +Instead, take a list of exceptions to our usual CC check +--- + src/hostname/hostnamed.c | 3 +-- + src/shared/env-util.c | 4 +++- + src/shared/fileio.c | 2 +- + src/shared/util.c | 19 ++++++++++--------- + src/shared/util.h | 5 +++-- + 5 files changed, 18 insertions(+), 15 deletions(-) + +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig ++++ src/hostname/hostnamed.c +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, + + if (prop == PROP_ICON_NAME && !filename_is_safe(name)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); +- if (prop == PROP_PRETTY_HOSTNAME && +- (string_has_cc(name) || chars_intersect(name, "\t"))) ++ if (prop == PROP_PRETTY_HOSTNAME && string_has_cc(name, NULL)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); + if (prop == PROP_CHASSIS && !valid_chassis(name)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig ++++ src/shared/env-util.c +@@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { + if (!utf8_is_valid(e)) + return false; + +- if (string_has_cc(e)) ++ /* bash allows tabs in environment variables, and so should ++ * we */ ++ if (string_has_cc(e, "\t")) + return false; + + /* POSIX says the overall size of the environment block cannot +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig ++++ src/shared/fileio.c +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const + p++; + fwrite(v, 1, p-v, f); + +- if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { ++ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { + fputc('\"', f); + + for (; *p; p++) { +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig ++++ src/shared/util.c +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { + bool string_is_safe(const char *p) { + const char *t; + +- assert(p); ++ if (!p) ++ return false; + + for (t = p; *t; t++) { + if (*t > 0 && *t < ' ') + return false; + +- if (*t == 127) +- return false; +- +- if (strchr("\\\"\'", *t)) ++ if (strchr("\\\"\'\0x7f", *t)) + return false; + } + +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { + } + + /** +- * Check if a string contains control characters. +- * Spaces and tabs are not considered control characters. ++ * Check if a string contains control characters. If 'ok' is non-NULL ++ * it may be a string containing additional CCs to be considered OK. + */ +-bool string_has_cc(const char *p) { ++bool string_has_cc(const char *p, const char *ok) { + const char *t; + + assert(p); + + for (t = p; *t; t++) { +- if (*t > 0 && *t < ' ' && *t != '\t') ++ if (ok && strchr(ok, *t)) ++ return false; ++ ++ if (*t > 0 && *t < ' ') + return true; + + if (*t == 127) +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig ++++ src/shared/util.h +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup + bool filename_is_safe(const char *p) _pure_; + bool path_is_safe(const char *p) _pure_; + bool string_is_safe(const char *p) _pure_; +-bool string_has_cc(const char *p) _pure_; ++bool string_has_cc(const char *p, const char *ok) _pure_; + + /** + * Check if a string contains any glob patterns. diff --git a/0002-util-fix-has-cc-check-and-add-test.patch b/0002-util-fix-has-cc-check-and-add-test.patch new file mode 100644 index 00000000..f39ad16c --- /dev/null +++ b/0002-util-fix-has-cc-check-and-add-test.patch @@ -0,0 +1,25 @@ +Based on 1cb1767a29458b3d16d6b161b4ee34dd496ff60d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Jul 2014 09:21:15 -0400 +Subject: [PATCH] util: fix has cc check and add test + +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/util.c src/shared/util.c +index 3342798..75dc58b 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -5419,7 +5419,7 @@ bool string_has_cc(const char *p, const char *ok) { + + for (t = p; *t; t++) { + if (ok && strchr(ok, *t)) +- return false; ++ continue; + + if (*t > 0 && *t < ' ') + return true; +-- +1.7.9.2 + diff --git a/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch b/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch new file mode 100644 index 00000000..9cd13c2d --- /dev/null +++ b/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch @@ -0,0 +1,96 @@ +Based on 8a7c93d858c342744adf481565d8bb03b9713dcf Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 27 Aug 2014 21:42:20 +0200 +Subject: [PATCH] util: fix minimal race where we might miss SIGTERMs when + forking off an agent + +Before forking, block all signals, and unblock them afterwards. This way +the child will have them blocked, and we won't lose them. +--- + src/shared/util.c | 39 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 34 insertions(+), 5 deletions(-) + +--- src/shared/util.c ++++ src/shared/util.c 2014-08-28 10:32:06.442693437 +0000 +@@ -894,6 +894,18 @@ int reset_all_signal_handlers(void) { + return 0; + } + ++static int reset_signal_mask(void) { ++ sigset_t ss; ++ ++ if (sigemptyset(&ss) < 0) ++ return -errno; ++ ++ if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + char *strstrip(char *s) { + char *e; + +@@ -5119,9 +5131,9 @@ int fd_inc_rcvbuf(int fd, size_t n) { + } + + int fork_agent(pid_t *pid, const int except[], unsigned n_except, const char *path, ...) { +- pid_t parent_pid, agent_pid; +- int fd; + bool stdout_is_tty, stderr_is_tty; ++ pid_t parent_pid, agent_pid; ++ sigset_t ss, saved_ss; + unsigned n, i; + va_list ap; + char **l; +@@ -5129,16 +5141,25 @@ int fork_agent(pid_t *pid, const int exc + assert(pid); + assert(path); + +- parent_pid = getpid(); +- + /* Spawns a temporary TTY agent, making sure it goes away when + * we go away */ + ++ parent_pid = getpid(); ++ ++ /* First we temporarily block all signals, so that the new ++ * child has them blocked initially. This way, we can be sure ++ * that SIGTERMs are not lost we might send to the agent. */ ++ assert_se(sigfillset(&ss) >= 0); ++ assert_se(sigprocmask(SIG_SETMASK, &ss, &saved_ss) >= 0); ++ + agent_pid = fork(); +- if (agent_pid < 0) ++ if (agent_pid < 0) { ++ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); + return -errno; ++ } + + if (agent_pid != 0) { ++ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); + *pid = agent_pid; + return 0; + } +@@ -5149,6 +5170,12 @@ int fork_agent(pid_t *pid, const int exc + if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0) + _exit(EXIT_FAILURE); + ++ /* Make sure we actually can kill the agent, if we need to, in ++ * case somebody invoked us from a shell script that trapped ++ * SIGTERM or so... */ ++ reset_all_signal_handlers(); ++ reset_signal_mask(); ++ + /* Check whether our parent died before we were able + * to set the death signal */ + if (getppid() != parent_pid) +@@ -5161,6 +5188,8 @@ int fork_agent(pid_t *pid, const int exc + stderr_is_tty = isatty(STDERR_FILENO); + + if (!stdout_is_tty || !stderr_is_tty) { ++ int fd; ++ + /* Detach from stdout/stderr. and reopen + * /dev/tty for them. This is important to + * ensure that when systemctl is started via diff --git a/0002-util-remove-a-unnecessary-check.patch b/0002-util-remove-a-unnecessary-check.patch new file mode 100644 index 00000000..ac7cdfb8 --- /dev/null +++ b/0002-util-remove-a-unnecessary-check.patch @@ -0,0 +1,25 @@ +Based on 42646a8bf24be2c9280554c9d8540c67c835b3c4 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Tue, 16 Sep 2014 22:58:35 +0200 +Subject: [PATCH] util: remove a unnecessary check + +We only break out of the previous loop if fd >= 0 so there is no +use in checking it again. + +Found by coverity. Fixes: CID#1237577 +--- + src/shared/util.c | 3 --- + 1 file changed, 3 deletions(-) + +--- src/shared/util.c ++++ src/shared/util.c 2014-09-18 13:05:08.218236754 +0000 +@@ -1772,9 +1772,6 @@ int open_terminal(const char *name, int + c++; + } + +- if (fd < 0) +- return -errno; +- + r = isatty(fd); + if (r < 0) { + close_nointr_nofail(fd); diff --git a/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch b/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch new file mode 100644 index 00000000..b202ce37 --- /dev/null +++ b/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch @@ -0,0 +1,74 @@ +Based on e0a33e7ba619eb44f732aaf23cb249fa43d0ce8d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Jul 2014 13:42:25 +0200 +Subject: [PATCH] util: when unescaping strings, don't allow smuggling in of + additional NUL bytes + +Better safe than sorry. +--- + src/shared/util.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git src/shared/util.c src/shared/util.c +index ceafa01..4ad3f20 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1256,7 +1256,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre + a = unhexchar(f[1]); + b = unhexchar(f[2]); + +- if (a < 0 || b < 0) { ++ if (a < 0 || b < 0 || (a == 0 && b == 0)) { + /* Invalid escape code, let's take it literal then */ + *(t++) = '\\'; + *(t++) = 'x'; +@@ -1283,7 +1283,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre + b = unoctchar(f[1]); + c = unoctchar(f[2]); + +- if (a < 0 || b < 0 || c < 0) { ++ if (a < 0 || b < 0 || c < 0 || (a == 0 && b == 0 && c == 0)) { + /* Invalid escape code, let's take it literal then */ + *(t++) = '\\'; + *(t++) = f[0]; +@@ -1566,8 +1566,7 @@ int chvt(int vt) { + + int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + struct termios old_termios, new_termios; +- char c; +- char line[LINE_MAX]; ++ char c, line[LINE_MAX]; + + assert(f); + assert(ret); +@@ -1604,9 +1603,10 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + } + } + +- if (t != (usec_t) -1) ++ if (t != (usec_t) -1) { + if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0) + return -ETIMEDOUT; ++ } + + if (!fgets(line, sizeof(line), f)) + return -EIO; +@@ -1624,6 +1624,7 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + } + + int ask(char *ret, const char *replies, const char *text, ...) { ++ int r; + + assert(ret); + assert(replies); +@@ -1632,7 +1633,6 @@ int ask(char *ret, const char *replies, const char *text, ...) { + for (;;) { + va_list ap; + char c; +- int r; + bool need_nl = true; + + if (on_tty()) +-- +1.7.9.2 + diff --git a/0002-vconsole-setup-run-setfont-before-loadkeys.patch b/0002-vconsole-setup-run-setfont-before-loadkeys.patch new file mode 100644 index 00000000..7ef05c2d --- /dev/null +++ b/0002-vconsole-setup-run-setfont-before-loadkeys.patch @@ -0,0 +1,167 @@ +Based on abee28c56d523e55751b0c007d0bf812cc285c00 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 1 Jul 2014 22:20:11 -0400 +Subject: [PATCH] vconsole-setup: run setfont before loadkeys + +https://bugs.freedesktop.org/show_bug.cgi?id=80685 + +For SUSE please note that this had been ported on top of the patches + * handle-disable_caplock-and-compose_table-and-kbd_rate.patch + * handle-numlock-value-in-etc-sysconfig-keyboard.patch +that is that now set_kbd_rate() will be called first before font_load(). +Then font_load() is followed by load_compose_table() and afterwards as +in the original commit the keymap_load() follows. + +--- + src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- + 1 file changed, 47 insertions(+), 46 deletions(-) + +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c +@@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, + + int main(int argc, char **argv) { + const char *vc; +- char *vc_keymap = NULL; +- char *vc_keymap_toggle = NULL; +- char *vc_font = NULL; +- char *vc_font_map = NULL; +- char *vc_font_unimap = NULL; ++ _cleanup_free_ char ++ *vc_keymap = NULL, *vc_keymap_toggle = NULL, ++ *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; ++ _cleanup_close_ int fd = -1; + #ifdef HAVE_SYSV_COMPAT +- char *vc_kbd_delay = NULL; +- char *vc_kbd_rate = NULL; +- char *vc_kbd_disable_caps_lock = NULL; +- char *vc_kbd_numlock = NULL; +- char *vc_compose_table = NULL; ++ _cleanup_free_ char ++ *vc_kbd_numlock = NULL, *vc_kbd_delay = NULL, ++ *vc_kbd_rate = NULL, * vc_kbd_disable_caps_lock = NULL, ++ *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; ++ bool numlock = false; + #endif +- int fd = -1; + bool utf8; + bool disable_capslock = false; +- bool numlock = false; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -377,12 +374,12 @@ int main(int argc, char **argv) { + fd = open_terminal(vc, O_RDWR|O_CLOEXEC); + if (fd < 0) { + log_error("Failed to open %s: %m", vc); +- goto finish; ++ return EXIT_FAILURE; + } + + if (!is_vconsole(fd)) { + log_error("Device %s is not a virtual console.", vc); +- goto finish; ++ return EXIT_FAILURE; + } + + utf8 = is_locale_utf8(); +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); + } ++#ifdef HAVE_SYSV_COMPAT ++finish: ++ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); ++ if (r < 0) { ++ log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } ++ ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + + if (utf8) + enable_utf8(fd); + else + disable_utf8(fd); + +- r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; ++ r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); ++ if (font_pid > 0) ++ wait_for_terminate_and_warn(KBD_SETFONT, font_pid); + + #ifdef HAVE_SYSV_COMPAT ++ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } ++ + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); +- +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); + #endif + +- if (font_pid > 0) { +- wait_for_terminate_and_warn(KBD_SETFONT, font_pid); +- if (font_copy) +- font_copy_to_all_vcs(fd); ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + +- free(vc_keymap); +- free(vc_font); +- free(vc_font_map); +- free(vc_font_unimap); +- free(vc_kbd_numlock); ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT +- free(vc_kbd_delay); +- free(vc_kbd_rate); +- free(vc_kbd_disable_caps_lock); +- free(vc_compose_table); ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + +- if (fd >= 0) +- close_nointr_nofail(fd); ++ /* Only copy the font when we started setfont successfully */ ++ if (font_copy && font_pid > 0) ++ font_copy_to_all_vcs(fd); + + return r; + } diff --git a/0003-Add-quotes-to-warning-message.patch b/0003-Add-quotes-to-warning-message.patch new file mode 100644 index 00000000..3a742bac --- /dev/null +++ b/0003-Add-quotes-to-warning-message.patch @@ -0,0 +1,41 @@ +From f0ea29eaeb3449822bfbdfa839b00e323dfc523e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 20 Jul 2014 19:47:42 -0400 +Subject: [PATCH] Add quotes to warning message + +The message for SYSTEMD_LOG_LEVEL= looked a bit strange. +--- + src/shared/log.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git src/shared/log.c src/shared/log.c +index 9039db3..3941e3e 100644 +--- src/shared/log.c ++++ src/shared/log.c +@@ -884,19 +884,19 @@ void log_parse_environment(void) { + + e = secure_getenv("SYSTEMD_LOG_TARGET"); + if (e && log_set_target_from_string(e) < 0) +- log_warning("Failed to parse log target %s. Ignoring.", e); ++ log_warning("Failed to parse log target '%s'. Ignoring.", e); + + e = secure_getenv("SYSTEMD_LOG_LEVEL"); + if (e && log_set_max_level_from_string(e) < 0) +- log_warning("Failed to parse log level %s. Ignoring.", e); ++ log_warning("Failed to parse log level '%s'. Ignoring.", e); + + e = secure_getenv("SYSTEMD_LOG_COLOR"); + if (e && log_show_color_from_string(e) < 0) +- log_warning("Failed to parse bool %s. Ignoring.", e); ++ log_warning("Failed to parse bool '%s'. Ignoring.", e); + + e = secure_getenv("SYSTEMD_LOG_LOCATION"); + if (e && log_show_location_from_string(e) < 0) +- log_warning("Failed to parse bool %s. Ignoring.", e); ++ log_warning("Failed to parse bool '%s'. Ignoring.", e); + } + + LogTarget log_get_target(void) { +-- +1.7.9.2 + diff --git a/0003-Always-check-asprintf-return-code.patch b/0003-Always-check-asprintf-return-code.patch new file mode 100644 index 00000000..00d873f7 --- /dev/null +++ b/0003-Always-check-asprintf-return-code.patch @@ -0,0 +1,223 @@ +Based on 7de80bfe2e61d5818601ccfddbadad3b7703ed70 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 25 Jul 2014 15:38:31 +0200 +Subject: [PATCH] Always check asprintf return code + +There is a small number of the places in sources where we don't check +asprintf() return code and assume that after error the function +returns NULL pointer via the first argument. That's wrong, after +error the content of pointer is undefined. +--- + src/core/unit-printf.c | 8 ++++---- + src/cryptsetup/cryptsetup.c | 11 ++++++++--- + src/journal/journalctl.c | 16 +++++++++++----- + src/run/run.c | 20 ++++++++++---------- + src/shared/install.c | 15 +++++++++------ + src/systemctl/systemctl.c | 18 +++++++++--------- + src/tty-ask-password-agent/tty-ask-password-agent.c | 5 +++-- + 7 files changed, 54 insertions(+), 39 deletions(-) + +--- src/core/unit-printf.c ++++ src/core/unit-printf.c 2014-07-28 09:42:20.726235696 +0000 +@@ -182,7 +182,7 @@ static int specifier_user_name(char spec + char *printed = NULL; + Unit *u = userdata; + ExecContext *c; +- int r; ++ int r = 0; + + assert(u); + +@@ -208,7 +208,7 @@ static int specifier_user_name(char spec + if (r < 0) + return -ENODATA; + +- asprintf(&printed, "%lu", (unsigned long) uid); ++ r = asprintf(&printed, "%lu", (unsigned long) uid); + } + } + +@@ -231,10 +231,10 @@ static int specifier_user_name(char spec + if (specifier == 'u') + printed = strdup(username); + else +- asprintf(&printed, "%lu", (unsigned long) uid); ++ r = asprintf(&printed, "%lu", (unsigned long) uid); + } + +- if (!printed) ++ if (r < 0 || !printed) + return -ENOMEM; + + *ret = printed; +--- src/cryptsetup/cryptsetup.c ++++ src/cryptsetup/cryptsetup.c 2014-07-28 00:00:00.000000000 +0000 +@@ -535,13 +535,18 @@ int main(int argc, char *argv[]) { + description = NULL; + } + ++ k = 0; + if (mount_point && description) +- asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); ++ k = asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); + else if (mount_point) +- asprintf(&name_buffer, "%s on %s", argv[2], mount_point); ++ k = asprintf(&name_buffer, "%s on %s", argv[2], mount_point); + else if (description) +- asprintf(&name_buffer, "%s (%s)", description, argv[2]); ++ k = asprintf(&name_buffer, "%s (%s)", description, argv[2]); + ++ if (k < 0) { ++ log_oom(); ++ goto finish; ++ } + name = name_buffer ? name_buffer : argv[2]; + + k = crypt_init(&cd, argv[3]); +--- src/journal/journalctl.c ++++ src/journal/journalctl.c 2014-07-28 00:00:00.000000000 +0000 +@@ -746,11 +746,17 @@ static int add_matches(sd_journal *j, ch + } + } else + t = strappend("_EXE=", path); +- } else if (S_ISCHR(st.st_mode)) +- asprintf(&t, "_KERNEL_DEVICE=c%u:%u", major(st.st_rdev), minor(st.st_rdev)); +- else if (S_ISBLK(st.st_mode)) +- asprintf(&t, "_KERNEL_DEVICE=b%u:%u", major(st.st_rdev), minor(st.st_rdev)); +- else { ++ } else if (S_ISCHR(st.st_mode)) { ++ if (asprintf(&t, "_KERNEL_DEVICE=c%u:%u", ++ major(st.st_rdev), ++ minor(st.st_rdev)) < 0) ++ return -ENOMEM; ++ } else if (S_ISBLK(st.st_mode)) { ++ if (asprintf(&t, "_KERNEL_DEVICE=b%u:%u", ++ major(st.st_rdev), ++ minor(st.st_rdev)) < 0) ++ return -ENOMEM; ++ } else { + log_error("File is neither a device node, nor regular file, nor executable: %s", *i); + return -EINVAL; + } +--- src/run/run.c ++++ src/run/run.c 2014-07-28 09:46:36.846235596 +0000 +@@ -309,12 +309,12 @@ static int start_transient_service( + _cleanup_free_ char *name = NULL; + int r; + +- if (arg_unit) ++ if (arg_unit) { + name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".service"); +- else +- asprintf(&name, "run-%lu.service", (unsigned long) getpid()); +- if (!name) +- return -ENOMEM; ++ if (!name) ++ return log_oom(); ++ } else if (asprintf(&name, "run-%lu.service", (unsigned long) getpid()) < 0) ++ return log_oom(); + + r = message_start_transient_unit_new(bus, name, &m); + if (r < 0) +@@ -436,12 +436,12 @@ static int start_transient_scope( + + assert(bus); + +- if (arg_unit) ++ if (arg_unit) { + name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".scope"); +- else +- asprintf(&name, "run-%lu.scope", (unsigned long) getpid()); +- if (!name) +- return -ENOMEM; ++ if (!name) ++ return log_oom(); ++ } else if (asprintf(&name, "run-%lu.scope", (unsigned long) getpid()) < 0) ++ return log_oom(); + + r = message_start_transient_unit_new(bus, name, &m); + if (r < 0) +--- src/shared/install.c ++++ src/shared/install.c 2014-07-28 00:00:00.000000000 +0000 +@@ -72,13 +72,16 @@ static int get_config_path(UnitFileScope + + case UNIT_FILE_SYSTEM: + +- if (root_dir && runtime) +- asprintf(&p, "%s/run/systemd/system", root_dir); +- else if (runtime) ++ if (root_dir && runtime) { ++ if (asprintf(&p, "%s/run/systemd/system", root_dir) < 0) ++ return -ENOMEM; ++ } else if (runtime) + p = strdup("/run/systemd/system"); +- else if (root_dir) +- asprintf(&p, "%s/%s", root_dir, SYSTEM_CONFIG_UNIT_PATH); +- else ++ else if (root_dir) { ++ if (asprintf(&p, "%s/%s", root_dir, ++ SYSTEM_CONFIG_UNIT_PATH) < 0) ++ return -ENOMEM; ++ } else + p = strdup(SYSTEM_CONFIG_UNIT_PATH); + + break; +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-07-28 09:51:40.894735541 +0000 +@@ -4639,11 +4639,11 @@ static int enable_sysv_units(const char + + STRV_FOREACH(k, paths.unit_path) { + if (!isempty(arg_root)) +- asprintf(&p, "%s/%s/%s", arg_root, *k, name); ++ j = asprintf(&p, "%s/%s/%s", arg_root, *k, name); + else +- asprintf(&p, "%s/%s", *k, name); ++ j = asprintf(&p, "%s/%s", *k, name); + +- if (!p) { ++ if (j < 0) { + r = log_oom(); + goto finish; + } +@@ -4660,10 +4660,10 @@ static int enable_sysv_units(const char + continue; + + if (!isempty(arg_root)) +- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); ++ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); + else +- asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); +- if (!p) { ++ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); ++ if (j < 0) { + r = log_oom(); + goto finish; + } +@@ -4676,10 +4676,10 @@ static int enable_sysv_units(const char + free(p); + p = NULL; + if (!isempty(arg_root)) +- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); ++ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else +- asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); +- if (!p) { ++ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); ++ if (j < 0) { + r = log_oom(); + goto finish; + } +--- src/tty-ask-password-agent/tty-ask-password-agent.c ++++ src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-28 00:00:00.000000000 +0000 +@@ -102,8 +102,9 @@ static int ask_password_plymouth( + if (accept_cached) { + packet = strdup("c"); + n = 1; +- } else +- asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), message, &n); ++ } else if (asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), ++ message, &n) < 0) ++ packet = NULL; + + if (!packet) { + r = -ENOMEM; diff --git a/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch b/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch new file mode 100644 index 00000000..7f485448 --- /dev/null +++ b/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch @@ -0,0 +1,130 @@ +From b5d742138f71e87312541a89aac5657015f50f48 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 4 Mar 2014 09:50:26 -0500 +Subject: [PATCH] Do not print invalid UTF-8 in error messages + +Inexplicably, 550a40ec ('core: do not print invalid utf-8 in error +messages') only fixed two paths. Convert all of them now. +--- + src/core/load-fragment.c | 13 ++++--------- + src/shared/conf-parser.c | 7 +++---- + src/shared/conf-parser.h | 6 ++++++ + src/shared/fileio.c | 9 ++++++--- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git src/core/load-fragment.c src/core/load-fragment.c +index d77bf5c..5628d8c 100644 +--- src/core/load-fragment.c ++++ src/core/load-fragment.c +@@ -536,9 +536,7 @@ int config_parse_exec(const char *unit, + } + + if (!utf8_is_valid(path)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", +- rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + r = 0; + goto fail; + } +@@ -553,9 +551,7 @@ int config_parse_exec(const char *unit, + } + + if (!utf8_is_valid(c)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", +- rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + r = 0; + goto fail; + } +@@ -1960,8 +1956,7 @@ int config_parse_unit_requires_mounts_for( + return log_oom(); + + if (!utf8_is_valid(n)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + continue; + } + +diff --git src/shared/conf-parser.c src/shared/conf-parser.c +index 0a87a71..d27b1b7 100644 +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c +@@ -618,8 +618,7 @@ int config_parse_string(const char *unit + return log_oom(); + + if (!utf8_is_valid(n)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "String is not UTF-8 clean, ignoring assignment: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + free(n); + return 0; + } +@@ -656,8 +655,7 @@ int config_parse_path(const char *unit, + assert(data); + + if (!utf8_is_valid(rvalue)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + return 0; + } + +@@ -725,8 +723,7 @@ int config_parse_strv(const char *unit, + return log_oom(); + + if (!utf8_is_valid(n)) { +- log_syntax(unit, LOG_ERR, filename, line, EINVAL, +- "String is not UTF-8 clean, ignoring: %s", rvalue); ++ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); + continue; + } + +diff --git src/shared/conf-parser.h src/shared/conf-parser.h +index e1c7ab4..ba0e58d 100644 +--- src/shared/conf-parser.h ++++ src/shared/conf-parser.h +@@ -121,6 +121,12 @@ int log_syntax_internal(const char *unit, int level, + config_file, config_line, \ + error, __VA_ARGS__) + ++#define log_invalid_utf8(unit, level, config_file, config_line, error, rvalue) { \ ++ _cleanup_free_ char *__p = utf8_escape_invalid(rvalue); \ ++ log_syntax(unit, level, config_file, config_line, error, \ ++ "String is not UTF-8 clean, ignoring assignment: %s", __p); \ ++ } ++ + #define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ + int function(const char *unit, \ + const char *filename, \ +diff --git src/shared/fileio.c src/shared/fileio.c +index d591567..f101269 100644 +--- src/shared/fileio.c ++++ src/shared/fileio.c +@@ -598,15 +598,18 @@ static int load_env_file_push(const char *filename, unsigned line, + int r; + + if (!utf8_is_valid(key)) { ++ _cleanup_free_ char *t = utf8_escape_invalid(key); ++ + log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.", +- filename, line, key); ++ filename, line, t); + return -EINVAL; + } + + if (value && !utf8_is_valid(value)) { +- /* FIXME: filter UTF-8 */ ++ _cleanup_free_ char *t = utf8_escape_invalid(value); ++ + log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.", +- filename, line, key, value); ++ filename, line, key, t); + return -EINVAL; + } + +-- +1.7.9.2 + diff --git a/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch b/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch new file mode 100644 index 00000000..38b777fe --- /dev/null +++ b/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch @@ -0,0 +1,68 @@ +From 8e07fc41f86d41e68c5663b2a3c620a0adedcc11 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 31 Aug 2014 00:42:27 -0400 +Subject: [PATCH] Quote unit names in suggested systemctl commandlines + +The fact that unit names have to be quoted can be a bit surprising. +Show quotes in the hint commandline, but only after checking that this +is necessary, since quotes are visually heavy and usually not needed. + +https://bugs.freedesktop.org/show_bug.cgi?id=82832 +--- + src/core/job.c | 11 +++++++++-- + src/systemctl/systemctl.c | 14 ++++++++++++-- + 2 files changed, 21 insertions(+), 4 deletions(-) + +diff --git src/core/job.c src/core/job.c +index 5e4987f..ef5dbce 100644 +--- src/core/job.c ++++ src/core/job.c +@@ -632,11 +632,18 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { + unit_status_printf(u, ANSI_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format); + break; + +- case JOB_FAILED: ++ case JOB_FAILED: { ++ bool quotes; ++ ++ quotes = chars_intersect(u->id, SHELL_NEED_QUOTES); ++ + manager_flip_auto_status(u->manager, true); + unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format); +- manager_status_printf(u->manager, false, NULL, "See 'systemctl status %s' for details.", u->id); ++ manager_status_printf(u->manager, false, NULL, ++ "See \"systemctl status %s%s%s\" for details.", ++ quotes ? "'" : "", u->id, quotes ? "'" : ""); + break; ++ } + + case JOB_DEPENDENCY: + manager_flip_auto_status(u->manager, true); +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 6534819..de43c87 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -2351,8 +2351,18 @@ static int check_wait_response(WaitData *d) { + log_error("Job for %s canceled.", strna(d->name)); + else if (streq(d->result, "dependency")) + log_error("A dependency job for %s failed. See 'journalctl -xn' for details.", strna(d->name)); +- else if (!streq(d->result, "done") && !streq(d->result, "skipped")) +- log_error("Job for %s failed. See 'systemctl status %s' and 'journalctl -xn' for details.", strna(d->name), strna(d->name)); ++ else if (!streq(d->result, "done") && !streq(d->result, "skipped")) { ++ if (d->name) { ++ bool quotes; ++ ++ quotes = chars_intersect(d->name, SHELL_NEED_QUOTES); ++ ++ log_error("Job for %s failed. See \"systemctl status %s%s%s\" and \"journalctl -xn\" for details.", ++ d->name, ++ quotes ? "'" : "", d->name, quotes ? "'" : ""); ++ } else ++ log_error("Job failed. See \"journalctl -xn\" for details."); ++ } + } + + if (streq(d->result, "timeout")) +-- +1.7.9.2 + diff --git a/0003-analyze-fix-mem-leak.patch b/0003-analyze-fix-mem-leak.patch new file mode 100644 index 00000000..10ecbcfc --- /dev/null +++ b/0003-analyze-fix-mem-leak.patch @@ -0,0 +1,27 @@ +From 0ee9613d98cbe1f36ffc98c6bfa51dd2b798fc6d Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 13 Sep 2014 12:29:43 +0200 +Subject: [PATCH] analyze: fix mem leak + +Found with Coverity. Fixes: CID#1237756 +--- + src/analyze/analyze.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index 1281d6b..82f5cf3 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -848,7 +848,8 @@ static int list_dependencies(sd_bus *bus, const char *name) { + char ts[FORMAT_TIMESPAN_MAX]; + struct unit_times *times; + int r; +- const char *path, *id; ++ const char *id; ++ _cleanup_free_ char *path = NULL; + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + struct boot_times *boot; +-- +1.7.9.2 + diff --git a/0003-analyze-fix-plot-with-bad-y-size.patch b/0003-analyze-fix-plot-with-bad-y-size.patch new file mode 100644 index 00000000..07761449 --- /dev/null +++ b/0003-analyze-fix-plot-with-bad-y-size.patch @@ -0,0 +1,31 @@ +From a213b7e977221ca96bbc1b19a5a879c912ba2488 Mon Sep 17 00:00:00 2001 +From: Jeffrey Clark +Date: Wed, 23 Apr 2014 22:37:43 +0200 +Subject: [PATCH] analyze: fix plot with bad y size + +systemd-analyze plot > test.svg produces output with all y and height +element attributes equal to zero. This of course causes the resulting +svg to appear blank (zero height). Bug does not affect x86. Looks like +a compiler optimization may be the culprit. + +https://github.com/archlinuxarm/PKGBUILDs/issues/815 +--- + src/analyze/analyze.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/analyze/analyze.c src/analyze/analyze.c +index ba236d9..ebaa9d0 100644 +--- src/analyze/analyze.c ++++ src/analyze/analyze.c +@@ -43,7 +43,7 @@ + #include "pager.h" + + #define SCALE_X (0.1 / 1000.0) /* pixels per us */ +-#define SCALE_Y 20.0 ++#define SCALE_Y (20.0) + + #define compare(a, b) (((a) > (b))? 1 : (((b) > (a))? -1 : 0)) + +-- +1.7.9.2 + diff --git a/0003-arch-add-crisv32-to-uname-check.patch b/0003-arch-add-crisv32-to-uname-check.patch new file mode 100644 index 00000000..c8a9e7f3 --- /dev/null +++ b/0003-arch-add-crisv32-to-uname-check.patch @@ -0,0 +1,24 @@ +From 9b3a0ba3e9e28382a1072bf0e2c07a3661432743 Mon Sep 17 00:00:00 2001 +From: Umut Tezduyar Lindskog +Date: Thu, 3 Jul 2014 09:54:45 +0200 +Subject: [PATCH] arch: add crisv32 to uname check + +--- + src/shared/architecture.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index 9e0c3ef..7dd049a 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -116,6 +116,7 @@ Architecture uname_architecture(void) { + { "tilegx", ARCHITECTURE_TILEGX }, + #elif defined(__cris__) + { "cris", ARCHITECTURE_CRIS }, ++ { "crisv32", ARCHITECTURE_CRIS }, + #else + #error "Please register your architecture here!" + #endif +-- +1.7.9.2 + diff --git a/0003-architecture-add-string-table-entries-for-mips-le-ar.patch b/0003-architecture-add-string-table-entries-for-mips-le-ar.patch new file mode 100644 index 00000000..c3944702 --- /dev/null +++ b/0003-architecture-add-string-table-entries-for-mips-le-ar.patch @@ -0,0 +1,52 @@ +Based on 037c26d0aeb750ca9c8d605884ea1db7baecfea8 Mon Sep 17 00:00:00 2001 +Based on 9a00f57a5ba7ed431e6bac8d8b36518708503b4e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 14:59:06 +0200 +Subject: [PATCH] architecture: add string table entries for mips-le archs + which were missing + +--- + src/shared/architecture.c | 2 ++ + src/shared/architecture.h | 4 ++++ + 2 files changed, 6 insertions(+) + +diff --git src/shared/architecture.c src/shared/architecture.c +index 6cdca4e..dc45f35 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -153,7 +153,9 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_SPARC] = "sparc", + [ARCHITECTURE_SPARC64] = "sparc64", + [ARCHITECTURE_MIPS] = "mips", ++ [ARCHITECTURE_MIPS_LE] = "mips-le", + [ARCHITECTURE_MIPS64] = "mips64", ++ [ARCHITECTURE_MIPS64_LE] = "mips64-le", + [ARCHITECTURE_ALPHA] = "alpha", + [ARCHITECTURE_ARM] = "arm", + [ARCHITECTURE_ARM_BE] = "arm-be", +diff --git src/shared/architecture.h src/shared/architecture.h +index 20e848b..0807924 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -23,6 +23,8 @@ + + #include "util.h" + ++/* A cleaned up architecture definition */ ++ + typedef enum Architecture { + ARCHITECTURE_X86 = 0, + ARCHITECTURE_X86_64, +@@ -38,7 +40,9 @@ typedef enum Architecture { + ARCHITECTURE_SPARC, + ARCHITECTURE_SPARC64, + ARCHITECTURE_MIPS, ++ ARCHITECTURE_MIPS_LE, + ARCHITECTURE_MIPS64, ++ ARCHITECTURE_MIPS64_LE, + ARCHITECTURE_ALPHA, + ARCHITECTURE_ARM, + ARCHITECTURE_ARM_BE, +-- +1.7.9.2 + diff --git a/0003-backlight-unify-error-messages.patch b/0003-backlight-unify-error-messages.patch new file mode 100644 index 00000000..452de616 --- /dev/null +++ b/0003-backlight-unify-error-messages.patch @@ -0,0 +1,115 @@ +Based on 938d2699d2e818bd996614e89ea3d668200ad2a8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 7 Apr 2014 20:57:22 -0400 +Subject: [PATCH] backlight: unify error messages + +--- + src/backlight/backlight.c | 29 +++++++++++++++++++---------- + 1 file changed, 19 insertions(+), 10 deletions(-) + +--- src/backlight/backlight.c ++++ src/backlight/backlight.c 2014-05-12 13:31:50.502235843 +0000 +@@ -24,6 +24,7 @@ + #include "fileio.h" + #include "libudev.h" + #include "udev-util.h" ++#include "def.h" + + static struct udev_device *find_pci_or_platform_parent(struct udev_device *device) { + struct udev_device *parent; +@@ -50,7 +51,7 @@ static struct udev_device *find_pci_or_p + if (!c) + return NULL; + +- c += strspn(c, "0123456789"); ++ c += strspn(c, DIGITS); + if (*c == '-') { + /* A connector DRM device, let's ignore all but LVDS and eDP! */ + +@@ -67,7 +68,8 @@ static struct udev_device *find_pci_or_p + unsigned long class = 0; + + if (safe_atolu(value, &class) < 0) { +- log_warning("Cannot parse PCI class %s of device %s:%s.", value, subsystem, sysname); ++ log_warning("Cannot parse PCI class %s of device %s:%s.", ++ value, subsystem, sysname); + return NULL; + } + +@@ -175,7 +177,9 @@ static bool validate_device(struct udev + if (same_device(parent, other_parent)) { + /* Both have the same PCI parent, that means + * we are out. */ +- log_debug("Skipping backlight device %s, since backlight device %s is on same PCI device and, takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); ++ log_debug("Skipping backlight device %s, since device %s is on same PCI device and takes precedence.", ++ udev_device_get_sysname(device), ++ udev_device_get_sysname(other)); + return false; + } + +@@ -184,7 +188,9 @@ static bool validate_device(struct udev + /* The other is connected to the platform bus + * and we are a PCI device, that also means we + * are out. */ +- log_debug("Skipping backlight device %s, since backlight device %s is a platform device and takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); ++ log_debug("Skipping backlight device %s, since device %s is a platform device and takes precedence.", ++ udev_device_get_sysname(device), ++ udev_device_get_sysname(other)); + return false; + } + } +@@ -199,13 +205,14 @@ static unsigned get_max_brightness(struc + + max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); + if (!max_brightness_str) { +- log_warning("Failed to read max_brightness attribute"); ++ log_warning("Failed to read 'max_brightness' attribute"); + return 0; + } + + r = safe_atou(max_brightness_str, &max_brightness); + if (r < 0) { +- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); ++ log_warning("Failed to parse 'max_brightness' \"%s\": %s", ++ max_brightness_str, strerror(-r)); + return 0; + } + +@@ -262,7 +269,8 @@ int main(int argc, char *argv[]) { + + r = mkdir_p("/var/lib/systemd/backlight", 0755); + if (r < 0) { +- log_error("Failed to create backlight directory: %s", strerror(-r)); ++ log_error("Failed to create backlight directory /var/lib/systemd/backlight: %s", ++ strerror(-r)); + return EXIT_FAILURE; + } + +@@ -274,7 +282,7 @@ int main(int argc, char *argv[]) { + + sysname = strchr(argv[2], ':'); + if (!sysname) { +- log_error("Requires pair of subsystem and sysname for specifying backlight device."); ++ log_error("Requires a subsystem and sysname pair specifying a backlight device."); + return EXIT_FAILURE; + } + +@@ -368,7 +376,8 @@ int main(int argc, char *argv[]) { + + r = udev_device_set_sysattr_value(device, "brightness", value); + if (r < 0) { +- log_error("Failed to write system attribute: %s", strerror(-r)); ++ log_error("Failed to write system 'brightness' attribute: %s", ++ strerror(-r)); + return EXIT_FAILURE; + } + +@@ -382,7 +391,7 @@ int main(int argc, char *argv[]) { + + value = udev_device_get_sysattr_value(device, "brightness"); + if (!value) { +- log_error("Failed to read system attribute: %s", strerror(-r)); ++ log_error("Failed to read system 'brightness' attribute: %s", strerror(-r)); + return EXIT_FAILURE; + } + diff --git a/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch b/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch new file mode 100644 index 00000000..9796af4f --- /dev/null +++ b/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch @@ -0,0 +1,27 @@ +From 4155f7d4be5053d5f34a26e5437fd85e1fe00fa3 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 11 Aug 2014 18:23:47 +0200 +Subject: [PATCH] bootchart: it's not OK to return -1 from a main program + +--- + src/bootchart/bootchart.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c +index c0e176d..8ef5ad1 100644 +--- src/bootchart/bootchart.c ++++ src/bootchart/bootchart.c +@@ -380,8 +380,8 @@ int main(int argc, char *argv[]) { + + sampledata = new0(struct list_sample_data, 1); + if (sampledata == NULL) { +- log_error("Failed to allocate memory for a node: %m"); +- return -1; ++ log_oom(); ++ return EXIT_FAILURE; + } + + sampledata->sampletime = gettime_ns(); +-- +1.7.9.2 + diff --git a/0003-bootchart-parse-userinput-with-safe_atoi.patch b/0003-bootchart-parse-userinput-with-safe_atoi.patch new file mode 100644 index 00000000..16378405 --- /dev/null +++ b/0003-bootchart-parse-userinput-with-safe_atoi.patch @@ -0,0 +1,34 @@ +From 9bcf7507fab6e6b022ae3cc7178237e6e0a09e9a Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 26 Sep 2014 21:41:02 +0200 +Subject: [PATCH] bootchart: parse userinput with safe_atoi + +Found by coverity. Fixes: CID#996409 +--- + src/bootchart/store.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/bootchart/store.c src/bootchart/store.c +index ed683e8..3099ff1 100644 +--- src/bootchart/store.c ++++ src/bootchart/store.c +@@ -192,12 +192,14 @@ vmstat_next: + + m = buf; + while (m) { ++ int r; ++ + if (sscanf(m, "%s %*s %*s %*s %*s %*s %*s %s %s", key, rt, wt) < 3) + goto schedstat_next; + + if (strstr(key, "cpu")) { +- c = atoi((const char*)(key+3)); +- if (c > MAXCPUS) ++ r = safe_atoi((const char*)(key+3), &c); ++ if (r < 0 || c > MAXCPUS) + /* Oops, we only have room for MAXCPUS data */ + break; + sampledata->runtime[c] = atoll(rt); +-- +1.7.9.2 + diff --git a/0003-busname-don-t-drop-service-from-the-result-string.patch b/0003-busname-don-t-drop-service-from-the-result-string.patch new file mode 100644 index 00000000..37b7bd5c --- /dev/null +++ b/0003-busname-don-t-drop-service-from-the-result-string.patch @@ -0,0 +1,25 @@ +From 700ff4d97311902a440109a2c081731ab6ae8a20 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 7 Mar 2014 17:29:16 +0100 +Subject: [PATCH] busname: don't drop 'service' from the result string + +--- + src/core/busname.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/busname.c src/core/busname.c +index 237011a..bca2145 100644 +--- src/core/busname.c ++++ src/core/busname.c +@@ -548,7 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); + static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { + [BUSNAME_SUCCESS] = "success", + [BUSNAME_FAILURE_RESOURCES] = "resources", +- [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", ++ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "service-failed-permanent", + }; + + DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); +-- +1.7.9.2 + diff --git a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch new file mode 100644 index 00000000..8305035f --- /dev/null +++ b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch @@ -0,0 +1,32 @@ +From d1d8e5d49f3149d03ceb94d1d2f6c14e7abccb6f Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret +Date: Tue, 22 Apr 2014 10:33:25 +0200 +Subject: [PATCH] core: You can not put the cached result of use_smack fct, as + we are not sure the "/sys" is mounted. So we should mount + "sys" before "/proc" + +https://bugs.freedesktop.org/show_bug.cgi?id=77646 +--- + src/core/mount-setup.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index ae8447c..991bfdf 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -67,10 +67,10 @@ typedef struct MountPoint { + #define N_EARLY_MOUNT 5 + + static const MountPoint mount_table[] = { +- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +- NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +-- +1.7.9.2 + diff --git a/0003-core-allow-transient-mount-units.patch b/0003-core-allow-transient-mount-units.patch new file mode 100644 index 00000000..607bdaea --- /dev/null +++ b/0003-core-allow-transient-mount-units.patch @@ -0,0 +1,115 @@ +From 0e252f6b375af59eac9bd6d2fe8dd6ee2f51998d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 6 Jun 2014 15:10:20 +0200 +Subject: [PATCH] core: allow transient mount units + +For now only What=, Options=, Type= are supported, and Where= is deduced +from the unit name. +--- + src/core/dbus-mount.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++- + src/core/mount.c | 2 ++ + 2 files changed, 65 insertions(+), 1 deletion(-) + +diff --git src/core/dbus-mount.c src/core/dbus-mount.c +index e64d3ea..e27019d 100644 +--- src/core/dbus-mount.c ++++ src/core/dbus-mount.c +@@ -124,6 +124,47 @@ const sd_bus_vtable bus_mount_vtable[] = { + SD_BUS_VTABLE_END + }; + ++static int bus_mount_set_transient_property( ++ Mount *m, ++ const char *name, ++ sd_bus_message *message, ++ UnitSetPropertiesMode mode, ++ sd_bus_error *error) { ++ ++ const char *new_property; ++ char **property; ++ char *p; ++ int r; ++ ++ assert(m); ++ assert(name); ++ assert(message); ++ ++ if (streq(name, "What")) ++ property = &m->parameters_fragment.what; ++ else if (streq(name, "Options")) ++ property = &m->parameters_fragment.options; ++ else if (streq(name, "Type")) ++ property = &m->parameters_fragment.fstype; ++ else ++ return 0; ++ ++ r = sd_bus_message_read(message, "s", &new_property); ++ if (r < 0) ++ return r; ++ ++ if (mode != UNIT_CHECK) { ++ p = strdup(new_property); ++ if (!p) ++ return -ENOMEM; ++ ++ free(*property); ++ *property = p; ++ } ++ ++ return 1; ++} ++ + int bus_mount_set_property( + Unit *u, + const char *name, +@@ -132,12 +173,33 @@ int bus_mount_set_property( + sd_bus_error *error) { + + Mount *m = MOUNT(u); ++ int r; + + assert(m); + assert(name); + assert(message); + +- return bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); ++ r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); ++ if (r != 0) ++ return r; ++ ++ if (u->transient && u->load_state == UNIT_STUB) { ++ /* This is a transient unit, let's load a little more */ ++ ++ r = bus_mount_set_transient_property(m, name, message, mode, error); ++ if (r != 0) ++ return r; ++ ++ r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, mode, error); ++ if (r != 0) ++ return r; ++ ++ r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, mode, error); ++ if (r != 0) ++ return r; ++ } ++ ++ return 0; + } + + int bus_mount_commit_properties(Unit *u) { +diff --git src/core/mount.c src/core/mount.c +index a979837..14ac0a0 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1819,6 +1819,8 @@ const UnitVTable mount_vtable = { + + .get_timeout = mount_get_timeout, + ++ .can_transient = true, ++ + .enumerate = mount_enumerate, + .shutdown = mount_shutdown, + +-- +1.7.9.2 + diff --git a/0003-core-make-sure-to-serialize-jobs-for-all-units.patch b/0003-core-make-sure-to-serialize-jobs-for-all-units.patch new file mode 100644 index 00000000..30c4615f --- /dev/null +++ b/0003-core-make-sure-to-serialize-jobs-for-all-units.patch @@ -0,0 +1,118 @@ +From 9bdb98c59451ed090f8d35d470a54710f389ce71 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 May 2014 01:15:03 +0200 +Subject: [PATCH] core: make sure to serialize jobs for all units + +Previously we wouldn't serialize jobs for units that themselves have +nothing to serialize. + +http://lists.freedesktop.org/archives/systemd-devel/2014-May/019051.html +--- + src/core/manager.c | 3 --- + src/core/unit.c | 43 +++++++++++++++++++++---------------------- + 2 files changed, 21 insertions(+), 25 deletions(-) + +diff --git src/core/manager.c src/core/manager.c +index 1e3e127..d0af674 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -2131,9 +2131,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) { + if (u->id != t) + continue; + +- if (!unit_can_serialize(u)) +- continue; +- + /* Start marker */ + fputs(u->id, f); + fputc('\n', f); +diff --git src/core/unit.c src/core/unit.c +index c4ed923..41651ba 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -2288,25 +2288,25 @@ bool unit_can_serialize(Unit *u) { + } + + int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) { +- ExecRuntime *rt; + int r; + + assert(u); + assert(f); + assert(fds); + +- if (!unit_can_serialize(u)) +- return 0; +- +- r = UNIT_VTABLE(u)->serialize(u, f, fds); +- if (r < 0) +- return r; ++ if (unit_can_serialize(u)) { ++ ExecRuntime *rt; + +- rt = unit_get_exec_runtime(u); +- if (rt) { +- r = exec_runtime_serialize(rt, u, f, fds); ++ r = UNIT_VTABLE(u)->serialize(u, f, fds); + if (r < 0) + return r; ++ ++ rt = unit_get_exec_runtime(u); ++ if (rt) { ++ r = exec_runtime_serialize(rt, u, f, fds); ++ if (r < 0) ++ return r; ++ } + } + + dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); +@@ -2368,17 +2368,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) { + } + + int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { +- size_t offset; + ExecRuntime **rt = NULL; ++ size_t offset; + int r; + + assert(u); + assert(f); + assert(fds); + +- if (!unit_can_serialize(u)) +- return 0; +- + offset = UNIT_VTABLE(u)->exec_runtime_offset; + if (offset > 0) + rt = (ExecRuntime**) ((uint8_t*) u + offset); +@@ -2503,17 +2500,19 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { + continue; + } + +- if (rt) { +- r = exec_runtime_deserialize_item(rt, u, l, v, fds); ++ if (unit_can_serialize(u)) { ++ if (rt) { ++ r = exec_runtime_deserialize_item(rt, u, l, v, fds); ++ if (r < 0) ++ return r; ++ if (r > 0) ++ continue; ++ } ++ ++ r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); + if (r < 0) + return r; +- if (r > 0) +- continue; + } +- +- r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); +- if (r < 0) +- return r; + } + } + +-- +1.7.9.2 + diff --git a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch new file mode 100644 index 00000000..74a3f0e8 --- /dev/null +++ b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch @@ -0,0 +1,113 @@ +From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 16:49:12 +0900 +Subject: [PATCH] core: never consider failure when reading drop-ins fatal + +drop-ins don't carry the main configuration of a unit, hence read them +if we can't, complain if we cannot, but don't fail. +--- + src/core/load-dropin.c | 42 +++++++++++++----------------------------- + 1 file changed, 13 insertions(+), 29 deletions(-) + +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig ++++ src/core/load-dropin.c +@@ -58,6 +58,7 @@ static int iterate_dir( + if (errno == ENOENT) + return 0; + ++ log_error("Failed to open directory %s: %m", path); + return -errno; + } + +@@ -101,7 +102,6 @@ static int process_dir( + char ***strv) { + + _cleanup_free_ char *path = NULL; +- int r; + + assert(u); + assert(unit_path); +@@ -112,11 +112,8 @@ static int process_dir( + if (!path) + return log_oom(); + +- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) { +- r = iterate_dir(u, path, dependency, strv); +- if (r < 0) +- return r; +- } ++ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) ++ iterate_dir(u, path, dependency, strv); + + if (u->instance) { + _cleanup_free_ char *template = NULL, *p = NULL; +@@ -130,11 +127,8 @@ static int process_dir( + if (!p) + return log_oom(); + +- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) { +- r = iterate_dir(u, p, dependency, strv); +- if (r < 0) +- return r; +- } ++ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) ++ iterate_dir(u, p, dependency, strv); + } + + return 0; +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { + SET_FOREACH(t, u->names, i) { + char **p; + +- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { +- /* This loads the drop-in config snippets */ +- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); +- if (r < 0) +- return NULL; +- } ++ STRV_FOREACH(p, u->manager->lookup_paths.unit_path) ++ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); + } + + if (strv_isempty(strv)) +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { + char **p; + + STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { +- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); +- if (r < 0) +- return r; +- +- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); +- if (r < 0) +- return r; ++ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); ++ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); + } + } + +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { + return 0; + + STRV_FOREACH(f, u->dropin_paths) { +- r = config_parse(u->id, *f, NULL, +- UNIT_VTABLE(u)->sections, config_item_perf_lookup, +- (void*) load_fragment_gperf_lookup, false, false, u); +- if (r < 0) +- return r; ++ config_parse(u->id, *f, NULL, ++ UNIT_VTABLE(u)->sections, config_item_perf_lookup, ++ (void*) load_fragment_gperf_lookup, false, false, u); + } + + u->dropin_mtime = now(CLOCK_REALTIME); diff --git a/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch b/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch new file mode 100644 index 00000000..5a60b86b --- /dev/null +++ b/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch @@ -0,0 +1,30 @@ +From 18abe7bd3e13525b257da69ac49ff7841c289567 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Jul 2014 22:52:53 -0400 +Subject: [PATCH] core: nicer message when inotify watches are exhausted + +inotify_add_watch returns ENOSPC, which translates to +"No space left on device", which is misleading. + +https://bugs.freedesktop.org/show_bug.cgi?id=73628 +--- + src/core/path.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/core/path.c src/core/path.c +index 20e454d..f54c77f 100644 +--- src/core/path.c ++++ src/core/path.c +@@ -99,7 +99,8 @@ int path_spec_watch(PathSpec *s, sd_event_io_handler_t handler) { + break; + } + +- log_warning("Failed to add watch on %s: %m", s->path); ++ log_warning("Failed to add watch on %s: %s", s->path, ++ errno == ENOSPC ? "too many watches" : strerror(-r)); + r = -errno; + if (cut) + *cut = tmp; +-- +1.7.9.2 + diff --git a/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch b/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch new file mode 100644 index 00000000..5424ff1c --- /dev/null +++ b/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch @@ -0,0 +1,28 @@ +Based on 8a52210c9392887a31fdb2845f65b4c5869e8e66 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 24 Nov 2014 09:11:12 -0500 +Subject: [PATCH] cryptsetup: default to no hash when keyfile is specified + +For plain dm-crypt devices, the behavior of cryptsetup package is to +ignore the hash algorithm when a key file is provided. It seems wrong +to ignore a hash when it is explicitly specified, but we should default +to no hash if the keyfile is specified. + +https://bugs.freedesktop.org/show_bug.cgi?id=52630 +--- + src/cryptsetup/cryptsetup.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- src/cryptsetup/cryptsetup.c ++++ src/cryptsetup/cryptsetup.c 2014-12-15 12:00:17.554019752 +0000 +@@ -386,7 +386,9 @@ static int attach_luks_or_plain(struct c + /* plain isn't a real hash type. it just means "use no hash" */ + if (!streq(opt_hash, "plain")) + params.hash = opt_hash; +- } else ++ } else if (!key_file) ++ /* for CRYPT_PLAIN, the behaviour of cryptsetup ++ * package is to not hash when a key file is provided */ + params.hash = "ripemd160"; + + if (opt_cipher) { diff --git a/0003-delta-do-not-use-unicode-chars-in-C-locale.patch b/0003-delta-do-not-use-unicode-chars-in-C-locale.patch new file mode 100644 index 00000000..f7360178 --- /dev/null +++ b/0003-delta-do-not-use-unicode-chars-in-C-locale.patch @@ -0,0 +1,134 @@ +From 00a5cc3a63c125633e822f39efd9c32223169f62 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 16 Apr 2014 23:33:41 -0400 +Subject: [PATCH] delta: do not use unicode chars in C locale + +https://bugzilla.redhat.com/show_bug.cgi?id=1088418 +--- + src/delta/delta.c | 40 +++++++++++++++++++++++++--------------- + 1 file changed, 25 insertions(+), 15 deletions(-) + +diff --git src/delta/delta.c src/delta/delta.c +index 369f8f8..8fc37c5 100644 +--- src/delta/delta.c ++++ src/delta/delta.c +@@ -85,6 +85,10 @@ static void pager_open_if_enabled(void) { + pager_open(false); + } + ++static inline const char* arrow(void) { ++ return is_locale_utf8() ? "→" : "->"; ++} ++ + static int equivalent(const char *a, const char *b) { + _cleanup_free_ char *x = NULL, *y = NULL; + +@@ -103,8 +107,9 @@ static int notify_override_masked(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_MASKED)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -112,8 +117,9 @@ static int notify_override_equivalent(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_EQUIVALENT)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -121,8 +127,9 @@ static int notify_override_redirected(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_REDIRECTED)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -130,8 +137,9 @@ static int notify_override_overridden(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_OVERRIDDEN)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -139,8 +147,9 @@ static int notify_override_extended(const char *top, const char *bottom) { + if (!(arg_flags & SHOW_EXTENDED)) + return 0; + +- printf("%s%s%s %s → %s\n", +- ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), top, bottom); ++ printf("%s%s%s %s %s %s\n", ++ ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), ++ top, arrow(), bottom); + return 1; + } + +@@ -241,7 +250,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const + return -ENOMEM; + d = p + strlen(toppath) + 1; + +- log_debug("Adding at top: %s → %s", d, p); ++ log_debug("Adding at top: %s %s %s", d, arrow(), p); + k = hashmap_put(top, d, p); + if (k >= 0) { + p = strdup(p); +@@ -253,7 +262,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const + return k; + } + +- log_debug("Adding at bottom: %s → %s", d, p); ++ log_debug("Adding at bottom: %s %s %s", d, arrow(), p); + free(hashmap_remove(bottom, d)); + k = hashmap_put(bottom, d, p); + if (k < 0) { +@@ -276,7 +285,8 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const + if (!p) + return -ENOMEM; + +- log_debug("Adding to drops: %s → %s → %s", unit, basename(p), p); ++ log_debug("Adding to drops: %s %s %s %s %s", ++ unit, arrow(), basename(p), arrow(), p); + k = hashmap_put(h, basename(p), p); + if (k < 0) { + free(p); +@@ -328,7 +338,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch + if (!p) + return -ENOMEM; + +- log_debug("Adding at top: %s → %s", basename(p), p); ++ log_debug("Adding at top: %s %s %s", basename(p), arrow(), p); + k = hashmap_put(top, basename(p), p); + if (k >= 0) { + p = strdup(p); +@@ -339,7 +349,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch + return k; + } + +- log_debug("Adding at bottom: %s → %s", basename(p), p); ++ log_debug("Adding at bottom: %s %s %s", basename(p), arrow(), p); + free(hashmap_remove(bottom, basename(p))); + k = hashmap_put(bottom, basename(p), p); + if (k < 0) { +-- +1.7.9.2 + diff --git a/0003-fileio-label-return-error-when-writing-fails.patch b/0003-fileio-label-return-error-when-writing-fails.patch new file mode 100644 index 00000000..91ea97d9 --- /dev/null +++ b/0003-fileio-label-return-error-when-writing-fails.patch @@ -0,0 +1,30 @@ +Based on 754fc0c720eb998b8e47e695c12807ced0ff3602 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Oct 2014 08:58:40 -0400 +Subject: [PATCH] fileio-label: return error when writing fails + +The status of actually writing the file was totally ignored. +--- + src/shared/fileio-label.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/shared/fileio-label.c ++++ src/shared/fileio-label.c 2014-10-14 14:52:50.883837740 +0000 +@@ -33,7 +33,7 @@ int write_string_file_atomic_label(const + if (r < 0) + return r; + +- write_string_file_atomic(fn, line); ++ r = write_string_file_atomic(fn, line); + + label_context_clear(); + +@@ -47,7 +47,7 @@ int write_env_file_label(const char *fna + if (r < 0) + return r; + +- write_env_file(fname, l); ++ r = write_env_file(fname, l); + + label_context_clear(); + diff --git a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch new file mode 100644 index 00000000..27bfc4e6 --- /dev/null +++ b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch @@ -0,0 +1,110 @@ +Based on 571d0134bd464444567cf4eb0d2ed8df40045f36 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 24 Jun 2014 19:37:22 +0200 +Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true + non-existant + +--- + src/fsck/fsck.c | 32 ++++++++++++++++++++++---------- + src/shared/path-util.c | 26 +++++++++++++++----------- + 2 files changed, 37 insertions(+), 21 deletions(-) + +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { + + type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); + if (type) { +- const char *checker = strappenda("/sbin/fsck.", type); +- r = access(checker, X_OK); +- if (r < 0) { +- if (errno == ENOENT) { +- log_info("%s doesn't exist, not checking file system on %s", +- checker, device); +- return EXIT_SUCCESS; +- } else +- log_warning("%s cannot be used for %s: %m", +- checker, device); ++ _cleanup_free_ char *p = NULL, *d = NULL; ++ const char *checker = strappenda("fsck.", type); ++ r = find_binary(checker, &p); ++ if (r == -ENOENT) { ++ log_info("fsck.%s doesn't exist, not checking file system on %s", ++ type, device); ++ return EXIT_SUCCESS; ++ } else if (r < 0) { ++ log_warning("fsck.%s cannot be used for %s: %m", ++ type, device); ++ return r; ++ } ++ ++ /* An fsck that is linked to /bin/true is a non-existant fsck */ ++ r = readlink_malloc(p, &d); ++ if (r >= 0 && ++ (path_equal(d, "/bin/true") || ++ path_equal(d, "/usr/bin/true") || ++ path_equal(d, "/dev/null"))) { ++ log_info("fsck.%s doesn't exist, not checking file system on %s", ++ type, device); ++ return EXIT_SUCCESS; + } + } + +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c +@@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { + + int find_binary(const char *name, char **filename) { + assert(name); +- assert(filename); + +- if (strchr(name, '/')) { +- char *p; ++ if (is_path(name)) { ++ if (access(name, X_OK) < 0) ++ return -errno; ++ ++ if (filename) { ++ char *p; + +- if (path_is_absolute(name)) +- p = strdup(name); +- else + p = path_make_absolute_cwd(name); +- if (!p) +- return -ENOMEM; ++ if (!p) ++ return -ENOMEM; ++ ++ *filename = p; ++ } + +- *filename = p; + return 0; + } else { + const char *path; +@@ -463,8 +465,10 @@ int find_binary(const char *name, char * + continue; + } + +- path_kill_slashes(p); +- *filename = p; ++ if (filename) { ++ path_kill_slashes(p); ++ *filename = p; ++ } + + return 0; + } diff --git a/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch b/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch new file mode 100644 index 00000000..6515929b --- /dev/null +++ b/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch @@ -0,0 +1,51583 @@ +Based on d060b62fcb4746d3758c567e9379c6728a035b66 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 14 Apr 2014 07:54:35 -0700 +Subject: [PATCH] hwdb: PCI - include "primary" model string in subsystem + model string + +The data in the PCI ids file is randomly inconsistent. Many +subvendor model strings just describe the "product" where the +hardware is built into, not the hardware itself. This causes +some "Network Card Model Foo" to show up as "Laptop Model Bar". + +Try to make the best out of this mess and concatenate both +strings to describe the hardware. +--- + hwdb/20-pci-vendor-model.hwdb |21356 +++++++++++++++++++++--------------------- + 1 file changed, 10678 insertions(+), 10678 deletions(-) + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index d54cb2a..14637d3 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -15,10 +15,10 @@ pci:v0000001Cd00000001* + ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller + + pci:v0000001Cd00000001sv0000001Csd00000004* +- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 ++ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000) + + pci:v0000001Cd00000001sv0000001Csd00000005* +- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 (Optically Isolated) ++ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000 (Optically Isolated)) + + pci:v0000003D* + ID_VENDOR_FROM_DATABASE=Lockheed Martin-Marietta Corp +@@ -189,19 +189,19 @@ pci:v00000E11d00000046* + ID_MODEL_FROM_DATABASE=Smart Array 64xx + + pci:v00000E11d00000046sv00000E11sd00004091* +- ID_MODEL_FROM_DATABASE=Smart Array 6i ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6i) + + pci:v00000E11d00000046sv00000E11sd0000409A* +- ID_MODEL_FROM_DATABASE=Smart Array 641 ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 641) + + pci:v00000E11d00000046sv00000E11sd0000409B* +- ID_MODEL_FROM_DATABASE=Smart Array 642 ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 642) + + pci:v00000E11d00000046sv00000E11sd0000409C* +- ID_MODEL_FROM_DATABASE=Smart Array 6400 ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400) + + pci:v00000E11d00000046sv00000E11sd0000409D* +- ID_MODEL_FROM_DATABASE=Smart Array 6400 EM ++ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400 EM) + + pci:v00000E11d00000049* + ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module +@@ -321,7 +321,7 @@ pci:v00000E11d0000A0F0* + ID_MODEL_FROM_DATABASE=Advanced System Management Controller + + pci:v00000E11d0000A0F0sv00000E11sd0000B0F3* +- ID_MODEL_FROM_DATABASE=ProLiant DL360 ++ ID_MODEL_FROM_DATABASE=Advanced System Management Controller (ProLiant DL360) + + pci:v00000E11d0000A0F3* + ID_MODEL_FROM_DATABASE=Triflex PCI to ISA Bridge +@@ -330,10 +330,10 @@ pci:v00000E11d0000A0F7* + ID_MODEL_FROM_DATABASE=PCI Hotplug Controller + + pci:v00000E11d0000A0F7sv00008086sd0000002A* +- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller A ++ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (A) + + pci:v00000E11d0000A0F7sv00008086sd0000002B* +- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller B ++ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (B) + + pci:v00000E11d0000A0F8* + ID_MODEL_FROM_DATABASE=ZFMicro Chipset USB +@@ -345,19 +345,19 @@ pci:v00000E11d0000AE10* + ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller + + pci:v00000E11d0000AE10sv00000E11sd00004030* +- ID_MODEL_FROM_DATABASE=Smart-2/P Array Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2/P Array Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004031* +- ID_MODEL_FROM_DATABASE=Smart-2SL Array Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2SL Array Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004032* +- ID_MODEL_FROM_DATABASE=Smart Array 3200 Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3200 Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004033* +- ID_MODEL_FROM_DATABASE=Smart Array 3100ES Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3100ES Controller) + + pci:v00000E11d0000AE10sv00000E11sd00004034* +- ID_MODEL_FROM_DATABASE=Smart Array 221 Controller ++ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 221 Controller) + + pci:v00000E11d0000AE29* + ID_MODEL_FROM_DATABASE=MIS-L +@@ -468,13 +468,13 @@ pci:v00000E11d0000B178* + ID_MODEL_FROM_DATABASE=Smart Array 5i/532 + + pci:v00000E11d0000B178sv00000E11sd00004080* +- ID_MODEL_FROM_DATABASE=Smart Array 5i ++ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5i) + + pci:v00000E11d0000B178sv00000E11sd00004082* +- ID_MODEL_FROM_DATABASE=Smart Array 532 ++ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 532) + + pci:v00000E11d0000B178sv00000E11sd00004083* +- ID_MODEL_FROM_DATABASE=Smart Array 5312 ++ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5312) + + pci:v00000E11d0000B1A4* + ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter +@@ -516,7 +516,7 @@ pci:v00001000d00000001* + ID_MODEL_FROM_DATABASE=53c810 + + pci:v00001000d00000001sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C810AE PCI to SCSI I/O Processor ++ ID_MODEL_FROM_DATABASE=53c810 (LSI53C810AE PCI to SCSI I/O Processor) + + pci:v00001000d00000002* + ID_MODEL_FROM_DATABASE=53c820 +@@ -525,7 +525,7 @@ pci:v00001000d00000003* + ID_MODEL_FROM_DATABASE=53c825 + + pci:v00001000d00000003sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) ++ ID_MODEL_FROM_DATABASE=53c825 (LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)) + + pci:v00001000d00000004* + ID_MODEL_FROM_DATABASE=53c815 +@@ -537,49 +537,49 @@ pci:v00001000d00000006* + ID_MODEL_FROM_DATABASE=53c860 + + pci:v00001000d00000006sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C860E PCI to Ultra SCSI I/O Processor ++ ID_MODEL_FROM_DATABASE=53c860 (LSI53C860E PCI to Ultra SCSI I/O Processor) + + pci:v00001000d0000000A* + ID_MODEL_FROM_DATABASE=53c1510 + + pci:v00001000d0000000Asv00000E11sd0000B143* +- ID_MODEL_FROM_DATABASE=Integrated Dual Channel Wide Ultra2 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1510 (Integrated Dual Channel Wide Ultra2 SCSI Controller) + + pci:v00001000d0000000Asv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) ++ ID_MODEL_FROM_DATABASE=53c1510 (LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)) + + pci:v00001000d0000000B* + ID_MODEL_FROM_DATABASE=53C896/897 + + pci:v00001000d0000000Bsv00000E11sd00006004* +- ID_MODEL_FROM_DATABASE=EOB003 Series SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53C896/897 (EOB003 Series SCSI host adapter) + + pci:v00001000d0000000Bsv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller ++ ID_MODEL_FROM_DATABASE=53C896/897 (LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller) + + pci:v00001000d0000000Bsv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53C896/897 (LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter) + + pci:v00001000d0000000Bsv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53C896/897 (LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter) + + pci:v00001000d0000000Bsv000013E9sd00001000* +- ID_MODEL_FROM_DATABASE=6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics) ++ ID_MODEL_FROM_DATABASE=53C896/897 (6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)) + + pci:v00001000d0000000C* + ID_MODEL_FROM_DATABASE=53c895 + + pci:v00001000d0000000Csv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=LSI8951U PCI to Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c895 (LSI8951U PCI to Ultra2 SCSI host adapter) + + pci:v00001000d0000000Csv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=LSI8952U PCI to Ultra2 SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c895 (LSI8952U PCI to Ultra2 SCSI host adapter) + + pci:v00001000d0000000Csv00001DE1sd00003906* +- ID_MODEL_FROM_DATABASE=DC-390U2B SCSI adapter ++ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2B SCSI adapter) + + pci:v00001000d0000000Csv00001DE1sd00003907* +- ID_MODEL_FROM_DATABASE=DC-390U2W ++ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2W) + + pci:v00001000d0000000D* + ID_MODEL_FROM_DATABASE=53c885 +@@ -588,151 +588,151 @@ pci:v00001000d0000000F* + ID_MODEL_FROM_DATABASE=53c875 + + pci:v00001000d0000000Fsv00000E11sd00007004* +- ID_MODEL_FROM_DATABASE=Embedded Ultra Wide SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875 (Embedded Ultra Wide SCSI Controller) + + pci:v00001000d0000000Fsv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C876/E PCI to Dual Channel SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875 (LSI53C876/E PCI to Dual Channel SCSI Controller) + + pci:v00001000d0000000Fsv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=LSI22801 PCI to Dual Channel Ultra SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c875 (LSI22801 PCI to Dual Channel Ultra SCSI host adapter) + + pci:v00001000d0000000Fsv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=LSI22802 PCI to Dual Channel Ultra SCSI host adapter ++ ID_MODEL_FROM_DATABASE=53c875 (LSI22802 PCI to Dual Channel Ultra SCSI host adapter) + + pci:v00001000d0000000Fsv00001092sd00008760* +- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875 (FirePort 40 Dual SCSI Controller) + + pci:v00001000d0000000Fsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Wide Ultra SCSI ++ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Wide Ultra SCSI) + + pci:v00001000d0000000Fsv00001775sd000010D1* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Ultra SCSI ++ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Ultra SCSI) + + pci:v00001000d0000000Fsv00001DE1sd00003904* +- ID_MODEL_FROM_DATABASE=DC390F/U Ultra Wide SCSI Adapter ++ ID_MODEL_FROM_DATABASE=53c875 (DC390F/U Ultra Wide SCSI Adapter) + + pci:v00001000d0000000Fsv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=53c875 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00001000d0000000Fsv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=53c875 (CT7 mainboard) + + pci:v00001000d00000010* + ID_MODEL_FROM_DATABASE=53C1510 + + pci:v00001000d00000010sv00000E11sd00004040* +- ID_MODEL_FROM_DATABASE=Integrated Smart Array Controller ++ ID_MODEL_FROM_DATABASE=53C1510 (Integrated Smart Array Controller) + + pci:v00001000d00000010sv00000E11sd00004048* +- ID_MODEL_FROM_DATABASE=RAID LC2 Controller ++ ID_MODEL_FROM_DATABASE=53C1510 (RAID LC2 Controller) + + pci:v00001000d00000010sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) ++ ID_MODEL_FROM_DATABASE=53C1510 (PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)) + + pci:v00001000d00000012* + ID_MODEL_FROM_DATABASE=53c895a + + pci:v00001000d00000012sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C895A PCI to Ultra2 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c895a (LSI53C895A PCI to Ultra2 SCSI Controller) + + pci:v00001000d00000013* + ID_MODEL_FROM_DATABASE=53c875a + + pci:v00001000d00000013sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C875A PCI to Ultra SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875a (LSI53C875A PCI to Ultra SCSI Controller) + + pci:v00001000d00000020* + ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter + + pci:v00001000d00000020sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller) + + pci:v00001000d00000020sv0000107Bsd00001040* +- ID_MODEL_FROM_DATABASE=Server Onboard 53C1010-33 ++ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (Server Onboard 53C1010-33) + + pci:v00001000d00000020sv00001DE1sd00001020* +- ID_MODEL_FROM_DATABASE=DC-390U3W ++ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (DC-390U3W) + + pci:v00001000d00000021* + ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter + + pci:v00001000d00000021sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller) + + pci:v00001000d00000021sv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=Asus TR-DLS onboard 53C1010-66 ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Asus TR-DLS onboard 53C1010-66) + + pci:v00001000d00000021sv0000103Csd00001300* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [AB306A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [AB306A]) + + pci:v00001000d00000021sv0000103Csd00001310* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A9918A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A9918A]) + + pci:v00001000d00000021sv0000103Csd00001330* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7059A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7059A]) + + pci:v00001000d00000021sv0000103Csd00001340* +- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7060A] ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7060A]) + + pci:v00001000d00000021sv0000124Bsd00001070* +- ID_MODEL_FROM_DATABASE=PMC-USCSI3 ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (PMC-USCSI3) + + pci:v00001000d00000021sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (CT8 mainboard) + + pci:v00001000d00000021sv00004C53sd00001300* +- ID_MODEL_FROM_DATABASE=P017 mezzanine (32-bit PMC) ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (32-bit PMC)) + + pci:v00001000d00000021sv00004C53sd00001310* +- ID_MODEL_FROM_DATABASE=P017 mezzanine (64-bit PMC) ++ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (64-bit PMC)) + + pci:v00001000d0000002F* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] + + pci:v00001000d0000002Fsv00001028sd00001F3E* +- ID_MODEL_FROM_DATABASE=SPERC 8 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] (SPERC 8) + + pci:v00001000d00000030* + ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI + + pci:v00001000d00000030sv00000E11sd000000DA* +- ID_MODEL_FROM_DATABASE=ProLiant ML 350 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (ProLiant ML 350) + + pci:v00001000d00000030sv00001028sd00000123* +- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) + + pci:v00001000d00000030sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) + + pci:v00001000d00000030sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)) + + pci:v00001000d00000030sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) + + pci:v00001000d00000030sv00001028sd0000018A* +- ID_MODEL_FROM_DATABASE=PERC 4/IM ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PERC 4/IM) + + pci:v00001000d00000030sv00001028sd00001010* +- ID_MODEL_FROM_DATABASE=LSI U320 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI U320 SCSI Controller) + + pci:v00001000d00000030sv0000103Csd000012C5* +- ID_MODEL_FROM_DATABASE=Ultra320 SCSI [A7173A] ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Ultra320 SCSI [A7173A]) + + pci:v00001000d00000030sv0000103Csd00001323* +- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Core I/O LAN/SCSI Combo [AB314A]) + + pci:v00001000d00000030sv0000103Csd00003108* +- ID_MODEL_FROM_DATABASE=Single Channel Ultra320 SCSI HBA G2 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Single Channel Ultra320 SCSI HBA G2) + + pci:v00001000d00000030sv0000124Bsd00001170* +- ID_MODEL_FROM_DATABASE=PMC-USCSI320 ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PMC-USCSI320) + + pci:v00001000d00000030sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=LSI Logic Parallel SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic Parallel SCSI Controller) + + pci:v00001000d00000030sv00001734sd00001052* +- ID_MODEL_FROM_DATABASE=PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) ++ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PRIMERGY BX/RX/TX S2 series onboard SCSI(IME)) + + pci:v00001000d00000031* + ID_MODEL_FROM_DATABASE=53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI +@@ -741,7 +741,7 @@ pci:v00001000d00000032* + ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + + pci:v00001000d00000032sv00001000sd00001000* +- ID_MODEL_FROM_DATABASE=LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller) + + pci:v00001000d00000033* + ID_MODEL_FROM_DATABASE=1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI +@@ -750,10 +750,10 @@ pci:v00001000d00000040* + ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + + pci:v00001000d00000040sv00001000sd00000033* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XR ++ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XR) + + pci:v00001000d00000040sv00001000sd00000066* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XRWS ++ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XRWS) + + pci:v00001000d00000041* + ID_MODEL_FROM_DATABASE=53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI +@@ -762,73 +762,73 @@ pci:v00001000d00000050* + ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS + + pci:v00001000d00000050sv00001028sd00001F04* +- ID_MODEL_FROM_DATABASE=SAS 5/E ++ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5/E) + + pci:v00001000d00000050sv00001028sd00001F09* +- ID_MODEL_FROM_DATABASE=SAS 5i/R ++ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5i/R) + + pci:v00001000d00000054* + ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS + + pci:v00001000d00000054sv00001028sd00001F04* +- ID_MODEL_FROM_DATABASE=SAS 5/E Adapter Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/E Adapter Controller) + + pci:v00001000d00000054sv00001028sd00001F05* +- ID_MODEL_FROM_DATABASE=SAS 5/i Adapter Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Adapter Controller) + + pci:v00001000d00000054sv00001028sd00001F06* +- ID_MODEL_FROM_DATABASE=SAS 5/i Integrated Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Integrated Controller) + + pci:v00001000d00000054sv00001028sd00001F07* +- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) + + pci:v00001000d00000054sv00001028sd00001F08* +- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) + + pci:v00001000d00000054sv00001028sd00001F09* +- ID_MODEL_FROM_DATABASE=SAS 5/iR Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Adapter RAID Controller) + + pci:v00001000d00000054sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=SAS Controller ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS Controller) + + pci:v00001000d00000055* + ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS + + pci:v00001000d00000055sv00001033sd00008336* +- ID_MODEL_FROM_DATABASE=SAS1068 ++ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS1068) + + pci:v00001000d00000056* + ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS + + pci:v00001000d00000056sv00001014sd000003BB* +- ID_MODEL_FROM_DATABASE=ServeRAID BR10il SAS/SATA Controller v2 ++ ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS (ServeRAID BR10il SAS/SATA Controller v2) + + pci:v00001000d00000057* + ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS + + pci:v00001000d00000057sv00008086sd0000346C* +- ID_MODEL_FROM_DATABASE=Embedded Software RAID Technology II (ESTRII) ++ ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS (Embedded Software RAID Technology II (ESTRII)) + + pci:v00001000d00000058* + ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS + + pci:v00001000d00000058sv00001000sd00003140* +- ID_MODEL_FROM_DATABASE=SAS3081E-R 8-Port SAS/SATA Host Bus Adapter ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS3081E-R 8-Port SAS/SATA Host Bus Adapter) + + pci:v00001000d00000058sv00001028sd0000021D* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Workstations RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Workstations RAID Controller) + + pci:v00001000d00000058sv00001028sd00001F0E* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Adapter RAID Controller) + + pci:v00001000d00000058sv00001028sd00001F0F* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Blades RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Blades RAID Controller) + + pci:v00001000d00000058sv00001028sd00001F10* +- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated RAID Controller) + + pci:v00001000d00000058sv0000103Csd00003229* +- ID_MODEL_FROM_DATABASE=SC44Ge Host Bus Adapter ++ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SC44Ge Host Bus Adapter) + + pci:v00001000d00000059* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 8208ELP/8208ELP +@@ -840,97 +840,97 @@ pci:v00001000d0000005B* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] + + pci:v00001000d0000005Bsv00001000sd00009265* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265-8i) + + pci:v00001000d0000005Bsv00001000sd00009266* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-8i) + + pci:v00001000d0000005Bsv00001000sd00009267* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9267-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9267-8i) + + pci:v00001000d0000005Bsv00001000sd00009268* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265CV-8i / 9270CV-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265CV-8i / 9270CV-8i) + + pci:v00001000d0000005Bsv00001000sd00009269* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-4i) + + pci:v00001000d0000005Bsv00001000sd00009270* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-8i) + + pci:v00001000d0000005Bsv00001000sd00009271* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8i) + + pci:v00001000d0000005Bsv00001000sd00009272* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9272-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9272-8i) + + pci:v00001000d0000005Bsv00001000sd00009273* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270CV-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270CV-8i) + + pci:v00001000d0000005Bsv00001000sd00009274* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-4i) + + pci:v00001000d0000005Bsv00001000sd00009275* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8iCC ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8iCC) + + pci:v00001000d0000005Bsv00001000sd00009276* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-4i) + + pci:v00001000d0000005Bsv00001000sd00009285* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285-8e) + + pci:v00001000d0000005Bsv00001000sd00009288* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285CV-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285CV-8e) + + pci:v00001000d0000005Bsv00001000sd00009290* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286-8e) + + pci:v00001000d0000005Bsv00001000sd00009291* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8e) + + pci:v00001000d0000005Bsv00001000sd00009295* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8eCC ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8eCC) + + pci:v00001000d0000005Bsv00001014sd0000040B* +- ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110 SAS/SATA Controller) + + pci:v00001000d0000005Bsv00001014sd0000040C* +- ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5120 SAS/SATA Controller) + + pci:v00001000d0000005Bsv00001014sd00000412* +- ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110e SAS/SATA Controller) + + pci:v00001000d0000005Bsv00001028sd00001F2D* +- ID_MODEL_FROM_DATABASE=PERC H810 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H810 Adapter) + + pci:v00001000d0000005Bsv00001028sd00001F30* +- ID_MODEL_FROM_DATABASE=PERC H710 Embedded ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Embedded) + + pci:v00001000d0000005Bsv00001028sd00001F31* +- ID_MODEL_FROM_DATABASE=PERC H710P Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Adapter) + + pci:v00001000d0000005Bsv00001028sd00001F33* +- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for blades)) + + pci:v00001000d0000005Bsv00001028sd00001F34* +- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for monolithics) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for monolithics)) + + pci:v00001000d0000005Bsv00001028sd00001F35* +- ID_MODEL_FROM_DATABASE=PERC H710 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Adapter) + + pci:v00001000d0000005Bsv00001028sd00001F37* +- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for blades)) + + pci:v00001000d0000005Bsv00001028sd00001F38* +- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for monolithics)) + + pci:v00001000d0000005Bsv000015D9sd00000690* +- ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (LSI MegaRAID ROMB) + + pci:v00001000d0000005Bsv00008086sd00003510* +- ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25PB080 RAID Controller) + + pci:v00001000d0000005Bsv00008086sd00003513* +- ID_MODEL_FROM_DATABASE=RMS25CB080 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25CB080 RAID Controller) + + pci:v00001000d0000005C* + ID_MODEL_FROM_DATABASE=SAS1064A PCI-X Fusion-MPT SAS +@@ -939,31 +939,31 @@ pci:v00001000d0000005D* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] + + pci:v00001000d0000005Dsv00001028sd00001F41* +- ID_MODEL_FROM_DATABASE=PERC H830 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H830 Adapter) + + pci:v00001000d0000005Dsv00001028sd00001F42* +- ID_MODEL_FROM_DATABASE=PERC H730P Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Adapter) + + pci:v00001000d0000005Dsv00001028sd00001F43* +- ID_MODEL_FROM_DATABASE=PERC H730 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Adapter) + + pci:v00001000d0000005Dsv00001028sd00001F47* +- ID_MODEL_FROM_DATABASE=PERC H730P Mini ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini) + + pci:v00001000d0000005Dsv00001028sd00001F48* +- ID_MODEL_FROM_DATABASE=PERC H730P Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini (for blades)) + + pci:v00001000d0000005Dsv00001028sd00001F49* +- ID_MODEL_FROM_DATABASE=PERC H730 Mini ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini) + + pci:v00001000d0000005Dsv00001028sd00001F4A* +- ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) + + pci:v00001000d0000005Dsv000017AAsd00001052* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) + + pci:v00001000d0000005Dsv000017AAsd00001053* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720ix) + + pci:v00001000d0000005E* + ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS +@@ -972,109 +972,109 @@ pci:v00001000d0000005F* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] + + pci:v00001000d0000005Fsv00001028sd00001F44* +- ID_MODEL_FROM_DATABASE=PERC H330 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Adapter) + + pci:v00001000d0000005Fsv00001028sd00001F4B* +- ID_MODEL_FROM_DATABASE=PERC H330 Mini ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini) + + pci:v00001000d0000005Fsv00001028sd00001F4C* +- ID_MODEL_FROM_DATABASE=PERC H330 Mini (for blades) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini (for blades)) + + pci:v00001000d0000005Fsv00001028sd00001F4D* +- ID_MODEL_FROM_DATABASE=PERC H330 Embedded (for monolithic) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Embedded (for monolithic)) + + pci:v00001000d00000060* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 + + pci:v00001000d00000060sv00001000sd00001006* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8888ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8888ELP) + + pci:v00001000d00000060sv00001000sd0000100A* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708ELP) + + pci:v00001000d00000060sv00001000sd0000100E* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8884E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8884E) + + pci:v00001000d00000060sv00001000sd0000100F* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708E) + + pci:v00001000d00000060sv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-8ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-8ELP) + + pci:v00001000d00000060sv00001000sd00001011* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-4ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-4ELP) + + pci:v00001000d00000060sv00001000sd00001012* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8704ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8704ELP) + + pci:v00001000d00000060sv00001000sd00001016* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8880EM2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8880EM2) + + pci:v00001000d00000060sv00001014sd00000363* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001014sd00000364* +- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8808E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8808E) + + pci:v00001000d00000060sv00001014sd00000365* +- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8884E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8884E) + + pci:v00001000d00000060sv00001014sd00000379* +- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8880EM2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8880EM2) + + pci:v00001000d00000060sv00001028sd00001F0A* +- ID_MODEL_FROM_DATABASE=PERC 6/E Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/E Adapter RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F0B* +- ID_MODEL_FROM_DATABASE=PERC 6/i Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Adapter RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F0C* +- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F0D* +- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) + + pci:v00001000d00000060sv00001028sd00001F11* +- ID_MODEL_FROM_DATABASE=CERC 6/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (CERC 6/i Integrated RAID Controller) + + pci:v00001000d00000060sv00001033sd0000835A* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001043sd0000824D* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001170sd0000002F* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00001170sd00000036* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv000015D9sd0000C080* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv000017AAsd00006B7C* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv000018A1sd00000003* +- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (LSI MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000060sv00008086sd00001006* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EP) + + pci:v00001000d00000060sv00008086sd0000100A* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EV ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EV) + + pci:v00001000d00000060sv00008086sd00001010* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSATA28E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSATA28E) + + pci:v00001000d00000060sv00008086sd000034CC* +- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) + + pci:v00001000d00000060sv00008086sd000034CD* +- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) + + pci:v00001000d00000060sv00008086sd00003505* +- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSASMP2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSASMP2) + + pci:v00001000d00000062* + ID_MODEL_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS +@@ -1101,100 +1101,100 @@ pci:v00001000d00000072* + ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] + + pci:v00001000d00000072sv00001028sd00001F1C* +- ID_MODEL_FROM_DATABASE=6Gbps SAS HBA Adapter ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (6Gbps SAS HBA Adapter) + + pci:v00001000d00000072sv00001028sd00001F1D* +- ID_MODEL_FROM_DATABASE=PERC H200 Adapter ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Adapter) + + pci:v00001000d00000072sv00001028sd00001F1E* +- ID_MODEL_FROM_DATABASE=PERC H200 Integrated ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Integrated) + + pci:v00001000d00000072sv00001028sd00001F1F* +- ID_MODEL_FROM_DATABASE=PERC H200 Modular ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Modular) + + pci:v00001000d00000072sv00001028sd00001F20* +- ID_MODEL_FROM_DATABASE=PERC H200 Embedded ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Embedded) + + pci:v00001000d00000072sv00001028sd00001F22* +- ID_MODEL_FROM_DATABASE=Internal Tape Adapter ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (Internal Tape Adapter) + + pci:v00001000d00000072sv00008086sd0000350F* +- ID_MODEL_FROM_DATABASE=RMS2LL040 RAID Controller ++ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (RMS2LL040 RAID Controller) + + pci:v00001000d00000073* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] + + pci:v00001000d00000073sv00001000sd00009240* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-8i) + + pci:v00001000d00000073sv00001000sd00009241* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-4i) + + pci:v00001000d00000073sv00001000sd000092A0* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9220-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9220-8i) + + pci:v00001000d00000073sv00001014sd000003B1* +- ID_MODEL_FROM_DATABASE=ServeRAID M1015 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ServeRAID M1015 SAS/SATA Controller) + + pci:v00001000d00000073sv00001028sd00001F4E* +- ID_MODEL_FROM_DATABASE=PERC H310 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Adapter) + + pci:v00001000d00000073sv00001028sd00001F4F* +- ID_MODEL_FROM_DATABASE=PERC H310 Integrated ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Integrated) + + pci:v00001000d00000073sv00001028sd00001F50* +- ID_MODEL_FROM_DATABASE=PERC H310 Mini Blades ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Blades) + + pci:v00001000d00000073sv00001028sd00001F51* +- ID_MODEL_FROM_DATABASE=PERC H310 Mini Monolithics ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Monolithics) + + pci:v00001000d00000073sv00001028sd00001F52* +- ID_MODEL_FROM_DATABASE=PERC H310 Embedded1 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded1) + + pci:v00001000d00000073sv00001028sd00001F53* +- ID_MODEL_FROM_DATABASE=PERC H310 Embedded2 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded2) + + pci:v00001000d00000073sv00001028sd00001F54* +- ID_MODEL_FROM_DATABASE=PERC H310 Reserved ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Reserved) + + pci:v00001000d00000073sv00001054sd00003035* +- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS 9240-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (LSI MegaRAID SAS 9240-8i) + + pci:v00001000d00000073sv00001137sd00000072* +- ID_MODEL_FROM_DATABASE=2004 iMR ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2004 iMR ROMB) + + pci:v00001000d00000073sv00001137sd00000073* +- ID_MODEL_FROM_DATABASE=2008 ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2008 ROMB) + + pci:v00001000d00000073sv00001137sd000000B0* +- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) + + pci:v00001000d00000073sv00001137sd000000B1* +- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) + + pci:v00001000d00000073sv00001137sd000000C2* +- ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Double Wide) + + pci:v00001000d00000073sv00001137sd000000C3* +- ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Single Wide) + + pci:v00001000d00000073sv000015D9sd00000400* +- ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (Supermicro SMC2008-iMR) + + pci:v00001000d00000073sv00001734sd00001177* +- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Ctrl SAS 6G 0/1 (D2607)) + + pci:v00001000d00000073sv000017AAsd00001051* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ThinkServer RAID 510i) + + pci:v00001000d00000073sv00008086sd0000350D* +- ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RMS2AF040 RAID Controller) + + pci:v00001000d00000073sv00008086sd00009240* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC080 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC080) + + pci:v00001000d00000073sv00008086sd00009241* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC040 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC040) + + pci:v00001000d00000074* + ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] +@@ -1209,106 +1209,106 @@ pci:v00001000d00000079* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] + + pci:v00001000d00000079sv00001000sd00009251* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4ix ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4ix) + + pci:v00001000d00000079sv00001000sd00009256* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8ix ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8ix) + + pci:v00001000d00000079sv00001000sd00009260* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4i) + + pci:v00001000d00000079sv00001000sd00009261* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8i) + + pci:v00001000d00000079sv00001000sd00009262* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9262-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9262-8i) + + pci:v00001000d00000079sv00001000sd00009263* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9261-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9261-8i) + + pci:v00001000d00000079sv00001000sd00009264* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9264-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9264-8i) + + pci:v00001000d00000079sv00001000sd00009267* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-4i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-4i) + + pci:v00001000d00000079sv00001000sd00009268* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-8i) + + pci:v00001000d00000079sv00001000sd00009275* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8ex ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8ex) + + pci:v00001000d00000079sv00001000sd00009276* +- ID_MODEL_FROM_DATABASE=MR9260-16i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MR9260-16i) + + pci:v00001000d00000079sv00001000sd00009280* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8e) + + pci:v00001000d00000079sv00001000sd00009281* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9281-8E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9281-8E) + + pci:v00001000d00000079sv00001000sd00009282* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-4i4e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-4i4e) + + pci:v00001000d00000079sv00001000sd00009290* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280DE-24i4e ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280DE-24i4e) + + pci:v00001000d00000079sv00001014sd000003B2* +- ID_MODEL_FROM_DATABASE=ServeRAID M5015 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5015 SAS/SATA Controller) + + pci:v00001000d00000079sv00001014sd000003B3* +- ID_MODEL_FROM_DATABASE=ServeRAID M5025 SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5025 SAS/SATA Controller) + + pci:v00001000d00000079sv00001028sd00001F15* +- ID_MODEL_FROM_DATABASE=PERC H800 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Adapter) + + pci:v00001000d00000079sv00001028sd00001F16* +- ID_MODEL_FROM_DATABASE=PERC H700 Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Adapter) + + pci:v00001000d00000079sv00001028sd00001F17* +- ID_MODEL_FROM_DATABASE=PERC H700 Integrated ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) + + pci:v00001000d00000079sv00001028sd00001F18* +- ID_MODEL_FROM_DATABASE=PERC H700 Modular ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Modular) + + pci:v00001000d00000079sv00001028sd00001F1A* +- ID_MODEL_FROM_DATABASE=PERC H800 Proto Adapter ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Proto Adapter) + + pci:v00001000d00000079sv00001028sd00001F1B* +- ID_MODEL_FROM_DATABASE=PERC H700 Integrated ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) + + pci:v00001000d00000079sv00001043sd00008480* +- ID_MODEL_FROM_DATABASE=PIKE-2108 16PD ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PIKE-2108 16PD) + + pci:v00001000d00000079sv00001734sd00001176* +- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 5/6 512MB (D2616) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 5/6 512MB (D2616)) + + pci:v00001000d00000079sv00001734sd00001177* +- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 0/1 (D2607)) + + pci:v00001000d00000079sv00008086sd00009256* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260DE-8i ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260DE-8i) + + pci:v00001000d00000079sv00008086sd00009260* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL040 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL040) + + pci:v00001000d00000079sv00008086sd00009261* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL080 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL080) + + pci:v00001000d00000079sv00008086sd00009264* +- ID_MODEL_FROM_DATABASE=Warm Beach (Caster Lite) ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (Warm Beach (Caster Lite)) + + pci:v00001000d00000079sv00008086sd00009267* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB040 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB040) + + pci:v00001000d00000079sv00008086sd00009268* +- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB080 ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB080) + + pci:v00001000d0000007C* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE + + pci:v00001000d0000007Csv00001014sd00000395* +- ID_MODEL_FROM_DATABASE=ServeRAID-AR10is SAS/SATA Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE (ServeRAID-AR10is SAS/SATA Controller) + + pci:v00001000d0000007E* + ID_MODEL_FROM_DATABASE=SSS6200 PCI-Express Flash SSD +@@ -1338,16 +1338,16 @@ pci:v00001000d00000087* + ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 + + pci:v00001000d00000087sv00001590sd00000044* +- ID_MODEL_FROM_DATABASE=H220i ++ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 (H220i) + + pci:v00001000d0000008F* + ID_MODEL_FROM_DATABASE=53c875J + + pci:v00001000d0000008Fsv00001092sd00008000* +- ID_MODEL_FROM_DATABASE=FirePort 40 SCSI Controller ++ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 SCSI Controller) + + pci:v00001000d0000008Fsv00001092sd00008760* +- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 Dual SCSI Host Adapter) + + pci:v00001000d00000090* + ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3 +@@ -1368,151 +1368,151 @@ pci:v00001000d00000097* + ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 + + pci:v00001000d00000097sv00001028sd00001F45* +- ID_MODEL_FROM_DATABASE=12GB/s HBA internal ++ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA internal) + + pci:v00001000d00000097sv00001028sd00001F46* +- ID_MODEL_FROM_DATABASE=12GB/s HBA external ++ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA external) + + pci:v00001000d00000407* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00000407sv00001000sd00000530* +- ID_MODEL_FROM_DATABASE=MegaRAID 530 SCSI 320-0X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (530 SCSI 320-0X RAID Controller) + + pci:v00001000d00000407sv00001000sd00000531* +- ID_MODEL_FROM_DATABASE=MegaRAID 531 SCSI 320-4X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (531 SCSI 320-4X RAID Controller) + + pci:v00001000d00000407sv00001000sd00000532* +- ID_MODEL_FROM_DATABASE=MegaRAID 532 SCSI 320-2X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (532 SCSI 320-2X RAID Controller) + + pci:v00001000d00000407sv00001028sd00000531* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00000407sv00001028sd00000533* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00000407sv00008086sd00000530* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCZCRX ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCZCRX) + + pci:v00001000d00000407sv00008086sd00000532* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42X ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42X) + + pci:v00001000d00000408* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00000408sv00001000sd00000001* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-1E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-1E RAID Controller) + + pci:v00001000d00000408sv00001000sd00000002* +- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-2E RAID Controller) + + pci:v00001000d00000408sv00001025sd0000004D* +- ID_MODEL_FROM_DATABASE=MegaRAID ACER ROMB-2E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (ACER ROMB-2E RAID Controller) + + pci:v00001000d00000408sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/SC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/SC) + + pci:v00001000d00000408sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/DC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/DC) + + pci:v00001000d00000408sv00001028sd00000012* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller RAC4 ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller RAC4) + + pci:v00001000d00000408sv00001028sd00000015* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) + + pci:v00001000d00000408sv00001028sd00001F03* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) + + pci:v00001000d00000408sv00001734sd00001065* +- ID_MODEL_FROM_DATABASE=FSC MegaRAID PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID (FSC MegaRAID PCI Express ROMB) + + pci:v00001000d00000408sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42E ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42E) + + pci:v00001000d00000408sv00008086sd00003449* +- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SROMBU ++ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SROMBU) + + pci:v00001000d00000409* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00000409sv00001000sd00003004* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-4X RAID Controller) + + pci:v00001000d00000409sv00001000sd00003008* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8X RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-8X RAID Controller) + + pci:v00001000d00000409sv00008086sd00003008* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS28X ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS28X) + + pci:v00001000d00000409sv00008086sd00003431* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Alief SROMBU42E ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Alief SROMBU42E) + + pci:v00001000d00000409sv00008086sd00003499* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Harwich SROMBU42E ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Harwich SROMBU42E) + + pci:v00001000d00000411* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 + + pci:v00001000d00000411sv00001000sd00001001* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8408E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8408E) + + pci:v00001000d00000411sv00001000sd00001002* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8480E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8480E) + + pci:v00001000d00000411sv00001000sd00001003* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8344ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8344ELP) + + pci:v00001000d00000411sv00001000sd00001004* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8308ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8308ELP) + + pci:v00001000d00000411sv00001000sd00001008* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 84016E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 84016E) + + pci:v00001000d00000411sv00001000sd0000100C* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-12E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-12E) + + pci:v00001000d00000411sv00001000sd0000100D* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-16E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-16E) + + pci:v00001000d00000411sv00001000sd00002004* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-8ELP) + + pci:v00001000d00000411sv00001000sd00002005* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4ELP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-4ELP) + + pci:v00001000d00000411sv00001033sd00008287* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000411sv00001054sd00003016* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS RoMB Server ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS RoMB Server) + + pci:v00001000d00000411sv00001734sd00001081* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000411sv00001734sd000010A3* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) + + pci:v00001000d00000411sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS18E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS18E) + + pci:v00001000d00000411sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS144E ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS144E) + + pci:v00001000d00000411sv00008086sd00003500* +- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) + + pci:v00001000d00000411sv00008086sd00003501* +- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) + + pci:v00001000d00000411sv00008086sd00003504* +- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) + + pci:v00001000d00000413* + ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] + + pci:v00001000d00000413sv00001000sd00001005* +- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8300XLP ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] (MegaRAID SAS 8300XLP) + + pci:v00001000d00000621* + ID_MODEL_FROM_DATABASE=FC909 Fibre Channel Adapter +@@ -1521,7 +1521,7 @@ pci:v00001000d00000622* + ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter + + pci:v00001000d00000622sv00001000sd00001020* +- ID_MODEL_FROM_DATABASE=44929 O Dual Fibre Channel card ++ ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter (44929 O Dual Fibre Channel card) + + pci:v00001000d00000623* + ID_MODEL_FROM_DATABASE=FC929 LAN +@@ -1536,7 +1536,7 @@ pci:v00001000d00000626* + ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter + + pci:v00001000d00000626sv00001000sd00001010* +- ID_MODEL_FROM_DATABASE=7202-XP-LC Dual Fibre Channel card ++ ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter (7202-XP-LC Dual Fibre Channel card) + + pci:v00001000d00000627* + ID_MODEL_FROM_DATABASE=FC929X LAN +@@ -1563,7 +1563,7 @@ pci:v00001000d00000702* + ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet + + pci:v00001000d00000702sv00001318sd00000000* +- ID_MODEL_FROM_DATABASE=PEI100X ++ ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet (PEI100X) + + pci:v00001000d00000804* + ID_MODEL_FROM_DATABASE=SA2010 +@@ -1587,40 +1587,40 @@ pci:v00001000d00001960* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v00001000d00001960sv00001000sd00000518* +- ID_MODEL_FROM_DATABASE=MegaRAID 518 SCSI 320-2 Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (518 SCSI 320-2 Controller) + + pci:v00001000d00001960sv00001000sd00000520* +- ID_MODEL_FROM_DATABASE=MegaRAID 520 SCSI 320-1 Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (520 SCSI 320-1 Controller) + + pci:v00001000d00001960sv00001000sd00000522* +- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4 133 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4 133 RAID Controller) + + pci:v00001000d00001960sv00001000sd00000523* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-6 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-6 RAID Controller) + + pci:v00001000d00001960sv00001000sd00004523* +- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-4 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-4 RAID Controller) + + pci:v00001000d00001960sv00001000sd0000A520* +- ID_MODEL_FROM_DATABASE=MegaRAID ZCR SCSI 320-0 Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (ZCR SCSI 320-0 Controller) + + pci:v00001000d00001960sv00001028sd00000518* +- ID_MODEL_FROM_DATABASE=MegaRAID 518 DELL PERC 4/DC RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (518 DELL PERC 4/DC RAID Controller) + + pci:v00001000d00001960sv00001028sd00000520* +- ID_MODEL_FROM_DATABASE=MegaRAID 520 DELL PERC 4/SC RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (520 DELL PERC 4/SC RAID Controller) + + pci:v00001000d00001960sv00001028sd00000531* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00001960sv00001028sd00000533* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) + + pci:v00001000d00001960sv00008086sd00000520* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCU41L ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCU41L) + + pci:v00001000d00001960sv00008086sd00000523* +- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 ++ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS16) + + pci:v00001000d00003050* + ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 +@@ -1710,7 +1710,7 @@ pci:v00001002d00001314* + ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio + + pci:v00001002d00001314sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio (PURE Fusion Mini) + + pci:v00001002d00001315* + ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] +@@ -1737,13 +1737,13 @@ pci:v00001002d00001714* + ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] + + pci:v00001002d00001714sv0000103Csd0000168B* +- ID_MODEL_FROM_DATABASE=ProBook 4535s ++ ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] (ProBook 4535s) + + pci:v00001002d00003150* + ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] + + pci:v00001002d00003150sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=nx8220 ++ ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] (nx8220) + + pci:v00001002d00003151* + ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400] +@@ -1791,73 +1791,73 @@ pci:v00001002d00004150* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] + + pci:v00001002d00004150sv00001002sd00000002* +- ID_MODEL_FROM_DATABASE=R9600 Pro primary (Asus OEM for HP) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro primary (Asus OEM for HP)) + + pci:v00001002d00004150sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro secondary (Asus OEM for HP)) + + pci:v00001002d00004150sv00001002sd00004722* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (All-in-Wonder 2006 AGP Edition) + + pci:v00001002d00004150sv00001458sd00004024* +- ID_MODEL_FROM_DATABASE=GV-R96128D ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GV-R96128D) + + pci:v00001002d00004150sv0000148Csd00002064* +- ID_MODEL_FROM_DATABASE=R96A-C3N ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) + + pci:v00001002d00004150sv0000148Csd00002066* +- ID_MODEL_FROM_DATABASE=R96A-C3N ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) + + pci:v00001002d00004150sv0000174Bsd00007C19* +- ID_MODEL_FROM_DATABASE=Atlantis Radeon 9600 Pro ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Atlantis Radeon 9600 Pro) + + pci:v00001002d00004150sv0000174Bsd00007C29* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO) + + pci:v00001002d00004150sv000017EEsd00002002* +- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb Primary ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Radeon 9600 256Mb Primary) + + pci:v00001002d00004150sv000018BCsd00000101* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Primary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO (Primary)) + + pci:v00001002d00004151* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] + + pci:v00001002d00004151sv00001043sd0000C004* +- ID_MODEL_FROM_DATABASE=A9600SE ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] (A9600SE) + + pci:v00001002d00004152* + ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] + + pci:v00001002d00004152sv00001002sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) + + pci:v00001002d00004152sv00001002sd00004772* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (All-in-Wonder 9600 XT) + + pci:v00001002d00004152sv00001043sd0000C002* +- ID_MODEL_FROM_DATABASE=Radeon 9600 XT TVD ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT TVD) + + pci:v00001002d00004152sv00001043sd0000C01A* +- ID_MODEL_FROM_DATABASE=A9600XT/TD ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (A9600XT/TD) + + pci:v00001002d00004152sv00001462sd00009510* +- ID_MODEL_FROM_DATABASE=RX9600XT (MS-8951) ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (RX9600XT (MS-8951)) + + pci:v00001002d00004152sv0000174Bsd00007C29* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) + + pci:v00001002d00004152sv00001787sd00004002* +- ID_MODEL_FROM_DATABASE=Radeon 9600 XT ++ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT) + + pci:v00001002d00004153* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] + + pci:v00001002d00004153sv00001043sd0000010C* +- ID_MODEL_FROM_DATABASE=A9550GE/TD ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (A9550GE/TD) + + pci:v00001002d00004153sv00001462sd0000932C* +- ID_MODEL_FROM_DATABASE=RX9550SE-TD128 (MS-8932) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (RX9550SE-TD128 (MS-8932)) + + pci:v00001002d00004154* + ID_MODEL_FROM_DATABASE=RV350 GL [FireGL T2] +@@ -1887,64 +1887,64 @@ pci:v00001002d00004170* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) + + pci:v00001002d00004170sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R9600 Pro secondary (Asus OEM for HP)) + + pci:v00001002d00004170sv00001002sd00004723* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (All-in-Wonder 2006 AGP Edition (Secondary)) + + pci:v00001002d00004170sv00001458sd00004025* +- ID_MODEL_FROM_DATABASE=GV-R96128D (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GV-R96128D (Secondary)) + + pci:v00001002d00004170sv0000148Csd00002067* +- ID_MODEL_FROM_DATABASE=R96A-C3N (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R96A-C3N (Secondary)) + + pci:v00001002d00004170sv0000174Bsd00007C28* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) + + pci:v00001002d00004170sv000017EEsd00002003* +- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (Radeon 9600 256Mb (Secondary)) + + pci:v00001002d00004170sv000018BCsd00000100* +- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) + + pci:v00001002d00004171* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) + + pci:v00001002d00004171sv00001043sd0000C005* +- ID_MODEL_FROM_DATABASE=A9600SE (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) (A9600SE (Secondary)) + + pci:v00001002d00004172* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) + + pci:v00001002d00004172sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) + + pci:v00001002d00004172sv00001002sd00004773* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (All-in-Wonder 9600 XT (Secondary)) + + pci:v00001002d00004172sv00001043sd0000C003* +- ID_MODEL_FROM_DATABASE=A9600XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT (Secondary)) + + pci:v00001002d00004172sv00001043sd0000C01B* +- ID_MODEL_FROM_DATABASE=A9600XT/TD (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT/TD (Secondary)) + + pci:v00001002d00004172sv0000174Bsd00007C28* +- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) + + pci:v00001002d00004172sv00001787sd00004003* +- ID_MODEL_FROM_DATABASE=Radeon 9600 XT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600 XT (Secondary)) + + pci:v00001002d00004173* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) + + pci:v00001002d00004173sv00001043sd0000010D* +- ID_MODEL_FROM_DATABASE=A9550GE/TD (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) (A9550GE/TD (Secondary)) + + pci:v00001002d00004242* + ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] + + pci:v00001002d00004242sv00001002sd000002AA* +- ID_MODEL_FROM_DATABASE=Radeon 8500 AIW DV Edition ++ ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] (Radeon 8500 AIW DV Edition) + + pci:v00001002d00004243* + ID_MODEL_FROM_DATABASE=R200 PCI Bridge [All-in-Wonder Radeon 8500DV] +@@ -1953,22 +1953,22 @@ pci:v00001002d00004336* + ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] + + pci:v00001002d00004336sv00001002sd00004336* +- ID_MODEL_FROM_DATABASE=Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M) ++ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)) + + pci:v00001002d00004336sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Video ++ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4400 builtin Video) + + pci:v00001002d00004336sv0000161Fsd00002029* +- ID_MODEL_FROM_DATABASE=eMachines M5312 builtin Video ++ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (eMachines M5312 builtin Video) + + pci:v00001002d00004337* + ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] + + pci:v00001002d00004337sv00001014sd0000053A* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (ThinkPad R40e) + + pci:v00001002d00004337sv0000103Csd00000850* +- ID_MODEL_FROM_DATABASE=Radeon IGP 345M ++ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (Radeon IGP 345M) + + pci:v00001002d00004341* + ID_MODEL_FROM_DATABASE=IXP150 AC'97 Audio Controller +@@ -2013,160 +2013,160 @@ pci:v00001002d00004370* + ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller + + pci:v00001002d00004370sv00001025sd00000079* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5024WLMMi) + + pci:v00001002d00004370sv00001025sd00000091* +- ID_MODEL_FROM_DATABASE=Aspire 5032WXMi ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5032WXMi) + + pci:v00001002d00004370sv0000103Csd00002A05* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004370sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6125) + + pci:v00001002d00004370sv0000105Bsd00000C81* +- ID_MODEL_FROM_DATABASE=Realtek ALC 653 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Realtek ALC 653) + + pci:v00001002d00004370sv0000107Bsd00000300* +- ID_MODEL_FROM_DATABASE=MX6421 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6421) + + pci:v00001002d00004370sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MS-1013 Notebook) + + pci:v00001002d00004371* + ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge + + pci:v00001002d00004371sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (MX6125) + + pci:v00001002d00004371sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (Aspire L250) + + pci:v00001002d00004372* + ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller + + pci:v00001002d00004372sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire 5024WLMMi) + + pci:v00001002d00004372sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004372sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MX6125) + + pci:v00001002d00004372sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MS-1013 Notebook) + + pci:v00001002d00004372sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire L250) + + pci:v00001002d00004373* + ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller + + pci:v00001002d00004373sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire 5024WLMMi) + + pci:v00001002d00004373sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004373sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (MX6125) + + pci:v00001002d00004373sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire L250) + + pci:v00001002d00004374* + ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller + + pci:v00001002d00004374sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004374sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) + + pci:v00001002d00004374sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) + + pci:v00001002d00004375* + ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller + + pci:v00001002d00004375sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire 5024WLMMi) + + pci:v00001002d00004375sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004375sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) + + pci:v00001002d00004375sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) + + pci:v00001002d00004376* + ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller + + pci:v00001002d00004376sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire 5024WLMMi) + + pci:v00001002d00004376sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004376sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MX6125) + + pci:v00001002d00004376sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MS-1013 Notebook) + + pci:v00001002d00004376sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire L250) + + pci:v00001002d00004377* + ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge + + pci:v00001002d00004377sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire 5024WLMi) + + pci:v00001002d00004377sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Pavilion t3030.de Desktop PC) + + pci:v00001002d00004377sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (MX6125) + + pci:v00001002d00004377sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire L250) + + pci:v00001002d00004378* + ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller + + pci:v00001002d00004378sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (Aspire 5024WLMMi) + + pci:v00001002d00004378sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MX6125) + + pci:v00001002d00004378sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MS-1013 Notebook) + + pci:v00001002d00004379* + ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller + + pci:v00001002d00004379sv00001462sd00007141* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller (Aspire L250) + + pci:v00001002d0000437A* + ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller + + pci:v00001002d0000437Asv00001002sd00004379* +- ID_MODEL_FROM_DATABASE=4379 Serial ATA Controller ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (4379 Serial ATA Controller) + + pci:v00001002d0000437Asv00001002sd0000437A* +- ID_MODEL_FROM_DATABASE=437A Serial ATA Controller ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (437A Serial ATA Controller) + + pci:v00001002d0000437Asv00001462sd00007141* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Aspire L250) + + pci:v00001002d0000437Asv000014F1sd00008800* +- ID_MODEL_FROM_DATABASE=Leadtek WinFast TV2000XP Expert ++ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Leadtek WinFast TV2000XP Expert) + + pci:v00001002d0000437B* + ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller +@@ -2175,31 +2175,31 @@ pci:v00001002d0000437Bsv00001002sd0000437B* + ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller + + pci:v00001002d0000437Bsv000010CFsd00001326* +- ID_MODEL_FROM_DATABASE=Fujitsu Lifebook A3040 ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Fujitsu Lifebook A3040) + + pci:v00001002d0000437Bsv00001734sd000010B8* +- ID_MODEL_FROM_DATABASE=Realtek High Definition Audio ++ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Realtek High Definition Audio) + + pci:v00001002d00004380* + ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA + + pci:v00001002d00004380sv0000103Csd00002813* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (DC5750 Microtower) + + pci:v00001002d00004380sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Satellite P305D-S8995E) + + pci:v00001002d00004380sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-MA790FX-DS5 (rev. 1.0) ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (GA-MA790FX-DS5 (rev. 1.0)) + + pci:v00001002d00004380sv00001458sd0000B005* +- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Gigabyte GA-MA69G-S3H Motherboard) + + pci:v00001002d00004380sv00001462sd00007327* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (K9AG Neo2) + + pci:v00001002d00004380sv000017F2sd00005999* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (KI690-AM2 Motherboard) + + pci:v00001002d00004381* + ID_MODEL_FROM_DATABASE=SB600 SATA Controller (RAID 5 mode) +@@ -2211,34 +2211,34 @@ pci:v00001002d00004383* + ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) + + pci:v00001002d00004383sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (A785GM-M) + + pci:v00001002d00004383sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Pavilion DM1Z-3000) + + pci:v00001002d00004383sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (DC5750 Microtower) + + pci:v00001002d00004383sv00001043sd00008230* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M3A78-EH Motherboard) + + pci:v00001002d00004383sv00001043sd0000836C* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A785TD Motherboard) + + pci:v00001002d00004383sv00001043sd00008410* +- ID_MODEL_FROM_DATABASE=M4A89GTD PRO/USB3 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A89GTD PRO/USB3 Motherboard) + + pci:v00001002d00004383sv00001043sd0000841B* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M5A88-V EVO) + + pci:v00001002d00004383sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Satellite P305D-S8995E) + + pci:v00001002d00004383sv00001458sd0000A022* +- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (GA-MA770-DS3rev2.0 Motherboard) + + pci:v00001002d00004383sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (KI690-AM2 Motherboard) + + pci:v00001002d00004384* + ID_MODEL_FROM_DATABASE=SBx00 PCI to PCI Bridge +@@ -2247,160 +2247,160 @@ pci:v00001002d00004385* + ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller + + pci:v00001002d00004385sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (A785GM-M) + + pci:v00001002d00004385sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Pavilion DM1Z-3000) + + pci:v00001002d00004385sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (DC5750 Microtower) + + pci:v00001002d00004385sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M3A78-EH Motherboard) + + pci:v00001002d00004385sv00001043sd00008389* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M4A785TD Motherboard) + + pci:v00001002d00004385sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Satellite P305D-S8995E) + + pci:v00001002d00004385sv00001458sd00004385* +- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (GA-MA770-DS3rev2.0 Motherboard) + + pci:v00001002d00004385sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (K9AG Neo2) + + pci:v00001002d00004385sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (H8DGU) + + pci:v00001002d00004385sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (PURE Fusion Mini) + + pci:v00001002d00004385sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (KI690-AM2 Motherboard) + + pci:v00001002d00004386* + ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) + + pci:v00001002d00004386sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (DC5750 Microtower) + + pci:v00001002d00004386sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (Satellite P305D-S8995E) + + pci:v00001002d00004386sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (K9AG Neo2) + + pci:v00001002d00004386sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (KI690-AM2 Motherboard) + + pci:v00001002d00004387* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) + + pci:v00001002d00004387sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (DC5750 Microtower) + + pci:v00001002d00004387sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (Satellite P305D-S8995E) + + pci:v00001002d00004387sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (K9AG Neo2) + + pci:v00001002d00004387sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (KI690-AM2 Motherboard) + + pci:v00001002d00004388* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) + + pci:v00001002d00004388sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (DC5750 Microtower) + + pci:v00001002d00004388sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (Satellite P305D-S8995E) + + pci:v00001002d00004388sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (K9AG Neo2) + + pci:v00001002d00004388sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (KI690-AM2 Motherboard) + + pci:v00001002d00004389* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) + + pci:v00001002d00004389sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (DC5750 Microtower) + + pci:v00001002d00004389sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (Satellite P305D-S8995E) + + pci:v00001002d00004389sv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (K9AG Neo2) + + pci:v00001002d00004389sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (KI690-AM2 Motherboard) + + pci:v00001002d0000438A* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) + + pci:v00001002d0000438Asv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (DC5750 Microtower) + + pci:v00001002d0000438Asv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (Satellite P305D-S8995E) + + pci:v00001002d0000438Asv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (K9AG Neo2) + + pci:v00001002d0000438Asv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (KI690-AM2 Motherboard) + + pci:v00001002d0000438B* + ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) + + pci:v00001002d0000438Bsv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (DC5750 Microtower) + + pci:v00001002d0000438Bsv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (Satellite P305D-S8995E) + + pci:v00001002d0000438Bsv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (K9AG Neo2) + + pci:v00001002d0000438Bsv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (KI690-AM2 Motherboard) + + pci:v00001002d0000438C* + ID_MODEL_FROM_DATABASE=SB600 IDE + + pci:v00001002d0000438Csv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 IDE (DC5750 Microtower) + + pci:v00001002d0000438Csv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 IDE (Satellite P305D-S8995E) + + pci:v00001002d0000438Csv00001458sd00005002* +- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 IDE (Gigabyte GA-MA69G-S3H Motherboard) + + pci:v00001002d0000438Csv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 IDE (K9AG Neo2) + + pci:v00001002d0000438Csv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 IDE (KI690-AM2 Motherboard) + + pci:v00001002d0000438D* + ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge + + pci:v00001002d0000438Dsv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (DC5750 Microtower) + + pci:v00001002d0000438Dsv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (Satellite P305D-S8995E) + + pci:v00001002d0000438Dsv00001462sd00007368* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (K9AG Neo2) + + pci:v00001002d0000438Dsv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (KI690-AM2 Motherboard) + + pci:v00001002d0000438E* + ID_MODEL_FROM_DATABASE=SB600 AC97 Modem +@@ -2409,31 +2409,31 @@ pci:v00001002d00004390* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] + + pci:v00001002d00004390sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M3A78-EH Motherboard) + + pci:v00001002d00004390sv00001043sd00008389* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M4A785TD Motherboard) + + pci:v00001002d00004390sv00001458sd0000B002* +- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (GA-MA770-DS3rev2.0 Motherboard) + + pci:v00001002d00004390sv00001849sd00004390* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (Motherboard (one of many)) + + pci:v00001002d00004391* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] + + pci:v00001002d00004391sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (Pavilion DM1Z-3000) + + pci:v00001002d00004391sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M3A78-EH Motherboard) + + pci:v00001002d00004391sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M5A88-V EVO) + + pci:v00001002d00004391sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (PURE Fusion Mini) + + pci:v00001002d00004392* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] +@@ -2451,97 +2451,97 @@ pci:v00001002d00004396* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller + + pci:v00001002d00004396sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (A785GM-M) + + pci:v00001002d00004396sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (Pavilion DM1Z-3000) + + pci:v00001002d00004396sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M3A78-EH Motherboard) + + pci:v00001002d00004396sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M5A88-V EVO) + + pci:v00001002d00004396sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (H8DGU) + + pci:v00001002d00004396sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (PURE Fusion Mini) + + pci:v00001002d00004397* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller + + pci:v00001002d00004397sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (A785GM-M) + + pci:v00001002d00004397sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (Pavilion DM1Z-3000) + + pci:v00001002d00004397sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M3A78-EH Motherboard) + + pci:v00001002d00004397sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M5A88-V EVO) + + pci:v00001002d00004397sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (H8DGU) + + pci:v00001002d00004397sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (PURE Fusion Mini) + + pci:v00001002d00004398* + ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller + + pci:v00001002d00004398sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (A785GM-M) + + pci:v00001002d00004398sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (M3A78-EH Motherboard) + + pci:v00001002d00004398sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (H8DGU) + + pci:v00001002d00004399* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller + + pci:v00001002d00004399sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (A785GM-M) + + pci:v00001002d00004399sv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M3A78-EH Motherboard) + + pci:v00001002d00004399sv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M5A88-V EVO) + + pci:v00001002d00004399sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (PURE Fusion Mini) + + pci:v00001002d0000439C* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller + + pci:v00001002d0000439Csv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (A785GM-M) + + pci:v00001002d0000439Csv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (M3A78-EH Motherboard) + + pci:v00001002d0000439D* + ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller + + pci:v00001002d0000439Dsv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (A785GM-M) + + pci:v00001002d0000439Dsv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (Pavilion DM1Z-3000) + + pci:v00001002d0000439Dsv00001043sd000082EF* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M3A78-EH Motherboard) + + pci:v00001002d0000439Dsv00001043sd00008443* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M5A88-V EVO) + + pci:v00001002d0000439Dsv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (PURE Fusion Mini) + + pci:v00001002d000043A0* + ID_MODEL_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) +@@ -2568,88 +2568,88 @@ pci:v00001002d00004742* + ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X + + pci:v00001002d00004742sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00000061* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) + + pci:v00001002d00004742sv00001002sd00000062* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) + + pci:v00001002d00004742sv00001002sd00000063* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) + + pci:v00001002d00004742sv00001002sd00000080* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00004742* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001002sd00008001* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001028sd00000082* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001028sd00004082* +- ID_MODEL_FROM_DATABASE=Optiplex GX1 Onboard Display Adapter ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Optiplex GX1 Onboard Display Adapter) + + pci:v00001002d00004742sv00001028sd00008082* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00001028sd0000C082* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004742sv00008086sd00004152* +- ID_MODEL_FROM_DATABASE=Xpert 98D AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Xpert 98D AGP 2X) + + pci:v00001002d00004742sv00008086sd0000464A* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) + + pci:v00001002d00004744* + ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X + + pci:v00001002d00004744sv00001002sd00004744* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage Pro Turbo AGP) + + pci:v00001002d00004744sv00008086sd00004D55* +- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 1X [Intel MU440EX] ++ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage 3D Pro AGP 1X [Intel MU440EX]) + + pci:v00001002d00004749* + ID_MODEL_FROM_DATABASE=3D Rage PRO PCI + + pci:v00001002d00004749sv00001002sd00000061* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW ++ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) + + pci:v00001002d00004749sv00001002sd00000062* +- ID_MODEL_FROM_DATABASE=Rage Pro AIW ++ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) + + pci:v00001002d0000474D* + ID_MODEL_FROM_DATABASE=Rage XL AGP 2X + + pci:v00001002d0000474Dsv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) + + pci:v00001002d0000474Dsv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) + + pci:v00001002d0000474Dsv00001002sd00000080* + ID_MODEL_FROM_DATABASE=Rage XL AGP 2X + + pci:v00001002d0000474Dsv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 AGP 2X) + + pci:v00001002d0000474Dsv00001002sd0000474D* +- ID_MODEL_FROM_DATABASE=Rage XL AGP ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) + + pci:v00001002d0000474Dsv00001033sd0000806A* +- ID_MODEL_FROM_DATABASE=Rage XL AGP ++ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) + + pci:v00001002d0000474E* + ID_MODEL_FROM_DATABASE=Rage XC AGP +@@ -2670,79 +2670,79 @@ pci:v00001002d00004750* + ID_MODEL_FROM_DATABASE=3D Rage Pro PCI + + pci:v00001002d00004750sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00000080* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004750sv00001002sd00004750* +- ID_MODEL_FROM_DATABASE=Rage Pro Turbo ++ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) + + pci:v00001002d00004752* + ID_MODEL_FROM_DATABASE=Rage XL PCI + + pci:v00001002d00004752sv00000E11sd0000001E* +- ID_MODEL_FROM_DATABASE=Proliant Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) + + pci:v00001002d00004752sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) + + pci:v00001002d00004752sv00001002sd00004752* +- ID_MODEL_FROM_DATABASE=Proliant Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) + + pci:v00001002d00004752sv00001002sd00008008* +- ID_MODEL_FROM_DATABASE=Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) + + pci:v00001002d00004752sv00001014sd00000240* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (eServer xSeries server mainboard) + + pci:v00001002d00004752sv00001028sd000000CE* +- ID_MODEL_FROM_DATABASE=PowerEdge 1400 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1400) + + pci:v00001002d00004752sv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=PowerEdge 2550 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2550) + + pci:v00001002d00004752sv00001028sd000000D9* +- ID_MODEL_FROM_DATABASE=PowerEdge 2500 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2500) + + pci:v00001002d00004752sv00001028sd00000134* +- ID_MODEL_FROM_DATABASE=PowerEdge 600SC ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 600SC) + + pci:v00001002d00004752sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1750) + + pci:v00001002d00004752sv00001028sd00000165* +- ID_MODEL_FROM_DATABASE=PowerEdge 750 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 750) + + pci:v00001002d00004752sv0000103Csd000010E1* +- ID_MODEL_FROM_DATABASE=NetServer Rage XL ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (NetServer Rage XL) + + pci:v00001002d00004752sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (ProLiant DL140 G2) + + pci:v00001002d00004752sv0000107Bsd00006400* +- ID_MODEL_FROM_DATABASE=6400 Server ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (6400 Server) + + pci:v00001002d00004752sv00001734sd0000007A* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard VGA ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (PRIMERGY RX/TX series onboard VGA) + + pci:v00001002d00004752sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (Primergy Econel 200 D2020 mainboard) + + pci:v00001002d00004752sv00008086sd00003411* +- ID_MODEL_FROM_DATABASE=SDS2 Mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (SDS2 Mainboard) + + pci:v00001002d00004752sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (S875WP1-E mainboard) + + pci:v00001002d00004752sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=Rage XL PCI (S845WD1-E mainboard) + + pci:v00001002d00004753* + ID_MODEL_FROM_DATABASE=Rage XC +@@ -2760,28 +2760,28 @@ pci:v00001002d00004756* + ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] + + pci:v00001002d00004756sv00001002sd00004756* +- ID_MODEL_FROM_DATABASE=Rage IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] (Rage IIC) + + pci:v00001002d00004757* + ID_MODEL_FROM_DATABASE=3D Rage IIC AGP + + pci:v00001002d00004757sv00001002sd00004757* +- ID_MODEL_FROM_DATABASE=Rage IIC AGP ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) + + pci:v00001002d00004757sv00001028sd00000089* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004757sv00001028sd0000008E* +- ID_MODEL_FROM_DATABASE=PowerEdge 1300 onboard video ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (PowerEdge 1300 onboard video) + + pci:v00001002d00004757sv00001028sd00004082* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004757sv00001028sd00008082* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004757sv00001028sd0000C082* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d00004758* + ID_MODEL_FROM_DATABASE=210888GX [Mach64 GX PCI] +@@ -2793,40 +2793,40 @@ pci:v00001002d0000475A* + ID_MODEL_FROM_DATABASE=3D Rage IIC AGP + + pci:v00001002d0000475Asv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 2x XPERT 98 ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D Pro AGP 2x XPERT 98) + + pci:v00001002d0000475Asv00001002sd00000087* +- ID_MODEL_FROM_DATABASE=Rage 3D IIC ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) + + pci:v00001002d0000475Asv00001002sd0000475A* +- ID_MODEL_FROM_DATABASE=Rage IIC AGP ++ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) + + pci:v00001002d00004966* + ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] + + pci:v00001002d00004966sv000010F1sd00000002* +- ID_MODEL_FROM_DATABASE=RV250 If [Tachyon G9000 PRO] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Tachyon G9000 PRO]) + + pci:v00001002d00004966sv0000148Csd00002039* +- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 Pro "Evil Commando"] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 Pro "Evil Commando"]) + + pci:v00001002d00004966sv00001509sd00009A00* +- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "AT009"] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "AT009"]) + + pci:v00001002d00004966sv00001681sd00000040* +- ID_MODEL_FROM_DATABASE=RV250 If [3D prophet 9000] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [3D prophet 9000]) + + pci:v00001002d00004966sv0000174Bsd00007176* +- ID_MODEL_FROM_DATABASE=Radeon 9000 Pro ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (Radeon 9000 Pro) + + pci:v00001002d00004966sv0000174Bsd00007192* +- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "Atlantis"] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "Atlantis"]) + + pci:v00001002d00004966sv000017AFsd00002005* +- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000 Pro] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000 Pro]) + + pci:v00001002d00004966sv000017AFsd00002006* +- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000] ++ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000]) + + pci:v00001002d0000496E* + ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000] (Secondary) +@@ -2835,7 +2835,7 @@ pci:v00001002d00004A49* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] + + pci:v00001002d00004A49sv0000174Bsd00002620* +- ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GTO AGP] ++ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] (R420 [Radeon X800 GTO AGP]) + + pci:v00001002d00004A4A* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GT AGP] +@@ -2859,7 +2859,7 @@ pci:v00001002d00004A54* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] + + pci:v00001002d00004A54sv00001002sd00004422* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 VE AGP ++ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] (All-In-Wonder X800 VE AGP) + + pci:v00001002d00004A69* + ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO] (Secondary) +@@ -2898,40 +2898,40 @@ pci:v00001002d00004C42* + ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X + + pci:v00001002d00004C42sv00000E11sd0000B0E7* +- ID_MODEL_FROM_DATABASE=Rage LT Pro (Compaq Presario 5240) ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro (Compaq Presario 5240)) + + pci:v00001002d00004C42sv00000E11sd0000B0E8* +- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) + + pci:v00001002d00004C42sv00000E11sd0000B10E* +- ID_MODEL_FROM_DATABASE=3D Rage LT Pro (Compaq Armada 1750) ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (3D Rage LT Pro (Compaq Armada 1750)) + + pci:v00001002d00004C42sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001002sd00004C42* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001002sd00008001* +- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) + + pci:v00001002d00004C42sv00001028sd00000085* +- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) + + pci:v00001002d00004C46* + ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 + + pci:v00001002d00004C46sv00001002sd00000155* +- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p ++ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) + + pci:v00001002d00004C46sv00001014sd00000155* +- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p ++ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) + + pci:v00001002d00004C46sv00001028sd000000B1* +- ID_MODEL_FROM_DATABASE=Latitude C600 ++ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (Latitude C600) + + pci:v00001002d00004C47* + ID_MODEL_FROM_DATABASE=3D Rage IIC PCI / Mobility Radeon 7500/7500C +@@ -2940,55 +2940,55 @@ pci:v00001002d00004C49* + ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI + + pci:v00001002d00004C49sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C49sv00001002sd00000040* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C49sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C49sv00001002sd00004C49* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C4D* + ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series + + pci:v00001002d00004C4Dsv00000E11sd0000B111* +- ID_MODEL_FROM_DATABASE=Armada M700 ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada M700) + + pci:v00001002d00004C4Dsv00000E11sd0000B160* +- ID_MODEL_FROM_DATABASE=Armada E500 ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada E500) + + pci:v00001002d00004C4Dsv00001002sd00000084* +- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X (Mobility) ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Xpert 98 AGP 2X (Mobility)) + + pci:v00001002d00004C4Dsv00001014sd00000154* +- ID_MODEL_FROM_DATABASE=ThinkPad A20m/A21m ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (ThinkPad A20m/A21m) + + pci:v00001002d00004C4Dsv00001028sd000000AA* +- ID_MODEL_FROM_DATABASE=Latitude CPt ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPt) + + pci:v00001002d00004C4Dsv00001028sd000000BB* +- ID_MODEL_FROM_DATABASE=Latitude CPx ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPx) + + pci:v00001002d00004C4Dsv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Satellite 1715XCDS laptop ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Satellite 1715XCDS laptop) + + pci:v00001002d00004C4Dsv000013BDsd00001019* +- ID_MODEL_FROM_DATABASE=PC-AR10 ++ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (PC-AR10) + + pci:v00001002d00004C50* + ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI + + pci:v00001002d00004C50sv00001002sd00004C50* +- ID_MODEL_FROM_DATABASE=Rage LT Pro ++ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) + + pci:v00001002d00004C52* + ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI + + pci:v00001002d00004C52sv00001033sd00008112* +- ID_MODEL_FROM_DATABASE=Versa Note VXi ++ ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI (Versa Note VXi) + + pci:v00001002d00004C54* + ID_MODEL_FROM_DATABASE=264LT [Mach64 LT] +@@ -2997,22 +2997,22 @@ pci:v00001002d00004C57* + ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] + + pci:v00001002d00004C57sv00001014sd00000517* +- ID_MODEL_FROM_DATABASE=ThinkPad T30 ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) + + pci:v00001002d00004C57sv00001014sd00000530* +- ID_MODEL_FROM_DATABASE=ThinkPad T42 2373-4WU ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) + + pci:v00001002d00004C57sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW (Dell Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) + + pci:v00001002d00004C57sv00001028sd0000012A* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Latitude C640) + + pci:v00001002d00004C57sv00001043sd00001622* +- ID_MODEL_FROM_DATABASE=Mobility Radeon M7 (L3C/S) ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Mobility Radeon M7 (L3C/S)) + + pci:v00001002d00004C57sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW in vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW in vpr Matrix 170B4) + + pci:v00001002d00004C58* + ID_MODEL_FROM_DATABASE=RV200/M7 GL [Mobility FireGL 7800] +@@ -3021,31 +3021,31 @@ pci:v00001002d00004C59* + ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] + + pci:v00001002d00004C59sv00000E11sd0000B111* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Evo N600c) + + pci:v00001002d00004C59sv00001014sd00000235* +- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p (2652/2653) ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad A30/A30p (2652/2653)) + + pci:v00001002d00004C59sv00001014sd00000239* +- ID_MODEL_FROM_DATABASE=ThinkPad X22/X23/X24 ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad X22/X23/X24) + + pci:v00001002d00004C59sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (XE4500 Notebook) + + pci:v00001002d00004C59sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00001002d00004C59sv0000104Dsd00008140* +- ID_MODEL_FROM_DATABASE=PCG-Z1SP laptop ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (PCG-Z1SP laptop) + + pci:v00001002d00004C59sv00001509sd00001930* +- ID_MODEL_FROM_DATABASE=Medion MD9703 ++ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Medion MD9703) + + pci:v00001002d00004C66* + ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] + + pci:v00001002d00004C66sv00001014sd0000054D* +- ID_MODEL_FROM_DATABASE=ThinkPad T41 ++ ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] (ThinkPad T41) + + pci:v00001002d00004C6E* + ID_MODEL_FROM_DATABASE=RV250/M9 [Mobility Radeon 9000] (Secondary) +@@ -3063,19 +3063,19 @@ pci:v00001002d00004E44* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] + + pci:v00001002d00004E44sv00001002sd0000515E* +- ID_MODEL_FROM_DATABASE=Radeon ES1000 ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) + + pci:v00001002d00004E44sv00001002sd00005965* +- ID_MODEL_FROM_DATABASE=Radeon ES1000 ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) + + pci:v00001002d00004E45* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] + + pci:v00001002d00004E45sv00001002sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Radeon R300 NE [Radeon 9500 Pro]) + + pci:v00001002d00004E45sv00001681sd00000002* +- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]) + + pci:v00001002d00004E46* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9600 TX] +@@ -3093,7 +3093,7 @@ pci:v00001002d00004E4A* + ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] + + pci:v00001002d00004E4Asv00001002sd00004E4A* +- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] ++ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] (R360 [Radeon 9800 XT]) + + pci:v00001002d00004E4B* + ID_MODEL_FROM_DATABASE=R350 GL [FireGL X2 AGP Pro] +@@ -3102,22 +3102,22 @@ pci:v00001002d00004E50* + ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] + + pci:v00001002d00004E50sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (TravelMate 290) + + pci:v00001002d00004E50sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC8000 laptop) + + pci:v00001002d00004E50sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC6000 laptop) + + pci:v00001002d00004E50sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P35 notebook ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (P35 notebook) + + pci:v00001002d00004E50sv00001462sd00000311* +- ID_MODEL_FROM_DATABASE=MSI M510A ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (MSI M510A) + + pci:v00001002d00004E50sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420W ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (Amilo M1420W) + + pci:v00001002d00004E51* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] +@@ -3126,7 +3126,7 @@ pci:v00001002d00004E52* + ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] + + pci:v00001002d00004E52sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P35 notebook ++ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] (P35 notebook) + + pci:v00001002d00004E54* + ID_MODEL_FROM_DATABASE=RV350/M10 GL [Mobility FireGL T2] +@@ -3141,10 +3141,10 @@ pci:v00001002d00004E65* + ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) + + pci:v00001002d00004E65sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Radeon R300 NE [Radeon 9500 Pro]) + + pci:v00001002d00004E65sv00001681sd00000003* +- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) ++ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)) + + pci:v00001002d00004E66* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) +@@ -3162,10 +3162,10 @@ pci:v00001002d00004E6A* + ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) + + pci:v00001002d00004E6Asv00001002sd00004E6A* +- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] (Secondary) ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (R360 [Radeon 9800 XT] (Secondary)) + + pci:v00001002d00004E6Asv00001002sd00004E71* +- ID_MODEL_FROM_DATABASE=M10 NQ [Radeon Mobility 9600] ++ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (M10 NQ [Radeon Mobility 9600]) + + pci:v00001002d00004E71* + ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600] (Secondary) +@@ -3180,46 +3180,46 @@ pci:v00001002d00005044* + ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI + + pci:v00001002d00005044sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) + + pci:v00001002d00005044sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) + + pci:v00001002d00005046* + ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS + + pci:v00001002d00005046sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) + + pci:v00001002d00005046sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005046sv00001002sd00000014* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) + + pci:v00001002d00005046sv00001002sd00000018* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005046sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) + + pci:v00001002d00005046sv00001002sd0000002A* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) + + pci:v00001002d00005046sv00001002sd00000048* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) + + pci:v00001002d00005046sv00001002sd00002000* +- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (VGA device) ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (VGA device)) + + pci:v00001002d00005046sv00001002sd00002001* +- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (Extra device?!) ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)) + + pci:v00001002d00005050* + ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] + + pci:v00001002d00005050sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 128 ++ ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] (Xpert 128) + + pci:v00001002d00005052* + ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4X TMDS +@@ -3228,79 +3228,79 @@ pci:v00001002d00005144* + ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] + + pci:v00001002d00005144sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon VE) + + pci:v00001002d00005144sv00001002sd00000009* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000000A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000001A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Radeon AIW ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) + + pci:v00001002d00005144sv00001002sd00000038* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd00000039* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000008A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd000000BA* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd00000139* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd0000028A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005144sv00001002sd000002AA* +- ID_MODEL_FROM_DATABASE=Radeon AIW ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) + + pci:v00001002d00005144sv00001002sd0000053A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon ++ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) + + pci:v00001002d00005148* + ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] + + pci:v00001002d00005148sv00001002sd0000010A* +- ID_MODEL_FROM_DATABASE=FireGL 8800 64Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 64Mb) + + pci:v00001002d00005148sv00001002sd00000152* +- ID_MODEL_FROM_DATABASE=FireGL 8800 128Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 128Mb) + + pci:v00001002d00005148sv00001002sd00000162* +- ID_MODEL_FROM_DATABASE=FireGL 8700 32Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 32Mb) + + pci:v00001002d00005148sv00001002sd00000172* +- ID_MODEL_FROM_DATABASE=FireGL 8700 64Mb ++ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 64Mb) + + pci:v00001002d0000514C* + ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] + + pci:v00001002d0000514Csv00001002sd0000003A* +- ID_MODEL_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [Radeon 8500 LE]) + + pci:v00001002d0000514Csv00001002sd0000013A* +- ID_MODEL_FROM_DATABASE=Radeon 8500 ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500) + + pci:v00001002d0000514Csv0000148Csd00002026* +- ID_MODEL_FROM_DATABASE=R200 QL [Radeon 8500 Evil Master II Multi Display Edition] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (R200 QL [Radeon 8500 Evil Master II Multi Display Edition]) + + pci:v00001002d0000514Csv00001681sd00000010* +- ID_MODEL_FROM_DATABASE=Radeon 8500 [3D Prophet 8500 128Mb] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 [3D Prophet 8500 128Mb]) + + pci:v00001002d0000514Csv0000174Bsd00007149* +- ID_MODEL_FROM_DATABASE=Radeon 8500 LE ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 LE) + + pci:v00001002d0000514Csv00001787sd00000F08* +- ID_MODEL_FROM_DATABASE=Radeon R200 QL [PowerMagic Radeon 8500] ++ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [PowerMagic Radeon 8500]) + + pci:v00001002d0000514D* + ID_MODEL_FROM_DATABASE=R200 [Radeon 9100] +@@ -3309,196 +3309,196 @@ pci:v00001002d00005157* + ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] + + pci:v00001002d00005157sv00001002sd0000013A* +- ID_MODEL_FROM_DATABASE=Radeon 7500 ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500) + + pci:v00001002d00005157sv00001002sd00000F2B* +- ID_MODEL_FROM_DATABASE=ALL-IN-WONDER VE PCI ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (ALL-IN-WONDER VE PCI) + + pci:v00001002d00005157sv00001002sd0000103A* +- ID_MODEL_FROM_DATABASE=Dell Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Dell Optiplex GX260) + + pci:v00001002d00005157sv00001458sd00004000* +- ID_MODEL_FROM_DATABASE=RV200 QW [RADEON 7500 PRO MAYA AR] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [RADEON 7500 PRO MAYA AR]) + + pci:v00001002d00005157sv0000148Csd00002024* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500LE Dual Display] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500LE Dual Display]) + + pci:v00001002d00005157sv0000148Csd00002025* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 Evil Master Multi Display Edition] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 Evil Master Multi Display Edition]) + + pci:v00001002d00005157sv0000148Csd00002036* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 PCI Dual Display] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 PCI Dual Display]) + + pci:v00001002d00005157sv0000174Bsd00007146* +- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 LE] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 LE]) + + pci:v00001002d00005157sv0000174Bsd00007147* +- ID_MODEL_FROM_DATABASE=Radeon 7500 LE ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500 LE) + + pci:v00001002d00005157sv0000174Bsd00007161* +- ID_MODEL_FROM_DATABASE=Radeon RV200 QW [Radeon 7500 LE] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon RV200 QW [Radeon 7500 LE]) + + pci:v00001002d00005157sv000017AFsd00000202* +- ID_MODEL_FROM_DATABASE=RV200 QW [Excalibur Radeon 7500LE] ++ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Excalibur Radeon 7500LE]) + + pci:v00001002d00005159* + ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] + + pci:v00001002d00005159sv00001002sd0000000A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd0000000B* +- ID_MODEL_FROM_DATABASE=Radeon 7000 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) + + pci:v00001002d00005159sv00001002sd00000038* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd0000003A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd000000BA* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd0000013A* +- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) + + pci:v00001002d00005159sv00001002sd00000908* +- ID_MODEL_FROM_DATABASE=XVR-100 (supplied by Sun) ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (XVR-100 (supplied by Sun)) + + pci:v00001002d00005159sv00001014sd0000029A* +- ID_MODEL_FROM_DATABASE=Remote Supervisor Adapter II (RSA2) ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Remote Supervisor Adapter II (RSA2)) + + pci:v00001002d00005159sv00001014sd000002C8* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (eServer xSeries server mainboard) + + pci:v00001002d00005159sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Embedded Radeon 7000/VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 1850 Embedded Radeon 7000/VE) + + pci:v00001002d00005159sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Embedded Radeon 7000-M ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 2850 Embedded Radeon 7000-M) + + pci:v00001002d00005159sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Embedded Radeon 7000/VE ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 6850 Embedded Radeon 7000/VE) + + pci:v00001002d00005159sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge SC1425) + + pci:v00001002d00005159sv0000103Csd00001292* +- ID_MODEL_FROM_DATABASE=Radeon 7000 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) + + pci:v00001002d00005159sv00001043sd0000C00A* +- ID_MODEL_FROM_DATABASE=A7000/T/64M ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (A7000/T/64M) + + pci:v00001002d00005159sv00001458sd00004002* +- ID_MODEL_FROM_DATABASE=RV100 QY [RADEON 7000 PRO MAYA AV Series] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [RADEON 7000 PRO MAYA AV Series]) + + pci:v00001002d00005159sv0000148Csd00002003* +- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Multi-Display Edition] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Multi-Display Edition]) + + pci:v00001002d00005159sv0000148Csd00002023* +- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Evil Master Multi-Display] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Evil Master Multi-Display]) + + pci:v00001002d00005159sv0000174Bsd00000280* +- ID_MODEL_FROM_DATABASE=Radeon RV100 QY [Radeon 7000/VE] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon RV100 QY [Radeon 7000/VE]) + + pci:v00001002d00005159sv0000174Bsd00007112* +- ID_MODEL_FROM_DATABASE=Radeon VE 7000 ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000) + + pci:v00001002d00005159sv0000174Bsd00007C28* +- ID_MODEL_FROM_DATABASE=Radeon VE 7000 DDR ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000 DDR) + + pci:v00001002d00005159sv00001787sd00000202* +- ID_MODEL_FROM_DATABASE=RV100 QY [Excalibur Radeon 7000] ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Excalibur Radeon 7000]) + + pci:v00001002d00005159sv000017EEsd00001001* +- ID_MODEL_FROM_DATABASE=Radeon 7000 64MB DDR + DVI ++ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000 64MB DDR + DVI) + + pci:v00001002d0000515E* + ID_MODEL_FROM_DATABASE=ES1000 + + pci:v00001002d0000515Esv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 1955 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge SC440) + + pci:v00001002d0000515Esv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 860) + + pci:v00001002d0000515Esv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R900 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 2970 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T605 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R300 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T300 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R805 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000223* +- ID_MODEL_FROM_DATABASE=PowerEdge R905 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R905 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T105 Embedded ATI ES1000) + + pci:v00001002d0000515Esv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 Embedded ATI ES1000 ++ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R200 Embedded ATI ES1000) + + pci:v00001002d0000515Esv0000103Csd00001304* +- ID_MODEL_FROM_DATABASE=Integrity iLO2 Advanced KVM VGA [AD307A] ++ ID_MODEL_FROM_DATABASE=ES1000 (Integrity iLO2 Advanced KVM VGA [AD307A]) + + pci:v00001002d0000515Esv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=ES1000 (X7DVL-E-O motherboard) + + pci:v00001002d0000515Esv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=ES1000 (X7DBN Motherboard) + + pci:v00001002d0000515Esv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=ES1000 (S5000PSLSATA Server Board) + + pci:v00001002d00005245* + ID_MODEL_FROM_DATABASE=Rage 128 GL PCI + + pci:v00001002d00005245sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 128 ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Xpert 128) + + pci:v00001002d00005245sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) + + pci:v00001002d00005245sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) + + pci:v00001002d00005245sv00001002sd00000068* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) + + pci:v00001002d00005246* + ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x + + pci:v00001002d00005246sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Magnum/Xpert 128/Xpert 99 ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert 128/Xpert 99) + + pci:v00001002d00005246sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Magnum/Xpert128/X99/Xpert2000 ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert128/X99/Xpert2000) + + pci:v00001002d00005246sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) + + pci:v00001002d00005246sv00001002sd00000044* +- ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury/Xpert 128/Xpert 2000) + + pci:v00001002d00005246sv00001002sd00000068* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) + + pci:v00001002d00005246sv00001002sd00000448* +- ID_MODEL_FROM_DATABASE=Rage Fury ++ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury) + + pci:v00001002d0000524B* + ID_MODEL_FROM_DATABASE=Rage 128 VR PCI +@@ -3507,73 +3507,73 @@ pci:v00001002d0000524C* + ID_MODEL_FROM_DATABASE=Rage 128 VR AGP + + pci:v00001002d0000524Csv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99/Xpert 2000) + + pci:v00001002d0000524Csv00001002sd00000088* +- ID_MODEL_FROM_DATABASE=Xpert 99 ++ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99) + + pci:v00001002d00005346* + ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x + + pci:v00001002d00005346sv00001002sd00000048* +- ID_MODEL_FROM_DATABASE=RAGE 128 16MB VGA TVOUT AMC PAL ++ ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x (RAGE 128 16MB VGA TVOUT AMC PAL) + + pci:v00001002d0000534D* + ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x + + pci:v00001002d0000534Dsv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 99/Xpert 2000) + + pci:v00001002d0000534Dsv00001002sd00000018* +- ID_MODEL_FROM_DATABASE=Xpert 2000 ++ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 2000) + + pci:v00001002d00005354* + ID_MODEL_FROM_DATABASE=Mach 64 VT + + pci:v00001002d00005354sv00001002sd00005654* +- ID_MODEL_FROM_DATABASE=Mach 64 reference ++ ID_MODEL_FROM_DATABASE=Mach 64 VT (Mach 64 reference) + + pci:v00001002d00005446* + ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x + + pci:v00001002d00005446sv00001002sd00000004* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro) + + pci:v00001002d00005446sv00001002sd00000008* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005446sv00001002sd00000018* +- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) + + pci:v00001002d00005446sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) + + pci:v00001002d00005446sv00001002sd00000029* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) + + pci:v00001002d00005446sv00001002sd0000002A* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) + + pci:v00001002d00005446sv00001002sd0000002B* +- ID_MODEL_FROM_DATABASE=Rage 128 AIW ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) + + pci:v00001002d00005446sv00001002sd00000048* +- ID_MODEL_FROM_DATABASE=Xpert 2000 Pro ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Xpert 2000 Pro) + + pci:v00001002d00005452* + ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP + + pci:v00001002d00005452sv00001002sd0000001C* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) + + pci:v00001002d00005452sv0000103Csd00001279* +- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL ++ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) + + pci:v00001002d00005460* + ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] + + pci:v00001002d00005460sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] (CR11/VR11 Single Board Computer) + + pci:v00001002d00005461* + ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] +@@ -3594,16 +3594,16 @@ pci:v00001002d0000554B* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] + + pci:v00001002d0000554Bsv00001002sd00000302* +- ID_MODEL_FROM_DATABASE=Radeon X800 SE ++ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] (Radeon X800 SE) + + pci:v00001002d0000554D* + ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] + + pci:v00001002d0000554Dsv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 XL ++ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (All-In-Wonder X800 XL) + + pci:v00001002d0000554Dsv00001458sd00002124* +- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) ++ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (GV-R80L256V-B (AGP)) + + pci:v00001002d0000554E* + ID_MODEL_FROM_DATABASE=R430 [All-In-Wonder X800 GT] +@@ -3627,7 +3627,7 @@ pci:v00001002d0000556D* + ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) + + pci:v00001002d0000556Dsv00001458sd00002125* +- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) ++ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) (GV-R80L256V-B (AGP)) + + pci:v00001002d0000556F* + ID_MODEL_FROM_DATABASE=R430 [Radeon X800] (Secondary) +@@ -3648,16 +3648,16 @@ pci:v00001002d00005653* + ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] + + pci:v00001002d00005653sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (Aspire 5024WLMi) + + pci:v00001002d00005653sv0000103Csd00000940* +- ID_MODEL_FROM_DATABASE=HP Compaq NW8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (HP Compaq NW8240 Mobile Workstation) + + pci:v00001002d00005654* + ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] + + pci:v00001002d00005654sv00001002sd00005654* +- ID_MODEL_FROM_DATABASE=Mach64VT Reference ++ ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] (Mach64VT Reference) + + pci:v00001002d00005655* + ID_MODEL_FROM_DATABASE=264VT3 [Mach64 VT3] +@@ -3699,22 +3699,22 @@ pci:v00001002d00005940* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) + + pci:v00001002d00005940sv000017AFsd00002021* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) (Excalibur Radeon 9250 (Secondary)) + + pci:v00001002d00005941* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) + + pci:v00001002d00005941sv00001458sd00004019* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) + + pci:v00001002d00005941sv0000174Bsd00007C12* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) + + pci:v00001002d00005941sv000017AFsd0000200D* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Excalibur Radeon 9200) + + pci:v00001002d00005941sv000018BCsd00000050* +- ID_MODEL_FROM_DATABASE=GC-R9200-C3 (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (GC-R9200-C3 (Secondary)) + + pci:v00001002d00005944* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE PCI] +@@ -3723,22 +3723,22 @@ pci:v00001002d00005950* + ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge + + pci:v00001002d00005950sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire 5024WLMMi) + + pci:v00001002d00005950sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (DC5750 Microtower) + + pci:v00001002d00005950sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Pavilion t3030.de Desktop PC) + + pci:v00001002d00005950sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MX6125) + + pci:v00001002d00005950sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MS-1013 Notebook) + + pci:v00001002d00005950sv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire L250) + + pci:v00001002d00005951* + ID_MODEL_FROM_DATABASE=RX480/RX482 Host Bridge +@@ -3750,19 +3750,19 @@ pci:v00001002d00005954* + ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] + + pci:v00001002d00005954sv00001002sd00005954* +- ID_MODEL_FROM_DATABASE=RV370 [Radeon Xpress 200G Series] ++ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] (RV370 [Radeon Xpress 200G Series]) + + pci:v00001002d00005955* + ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] + + pci:v00001002d00005955sv00001002sd00005955* +- ID_MODEL_FROM_DATABASE=RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] ++ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)]) + + pci:v00001002d00005955sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MX6125) + + pci:v00001002d00005955sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MS-1013 Notebook) + + pci:v00001002d00005956* + ID_MODEL_FROM_DATABASE=RD790 Host Bridge +@@ -3771,7 +3771,7 @@ pci:v00001002d00005957* + ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge + + pci:v00001002d00005957sv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge (A770CrossFire Motherboard) + + pci:v00001002d00005958* + ID_MODEL_FROM_DATABASE=RD780 Host Bridge +@@ -3780,37 +3780,37 @@ pci:v00001002d00005960* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] + + pci:v00001002d00005960sv000017AFsd00002020* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Excalibur Radeon 9250) + + pci:v00001002d00005961* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] + + pci:v00001002d00005961sv00001002sd00002F72* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 9200 Series ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (All-in-Wonder 9200 Series) + + pci:v00001002d00005961sv00001019sd00004C30* +- ID_MODEL_FROM_DATABASE=Radeon 9200 VIVO ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 VIVO) + + pci:v00001002d00005961sv000012ABsd00005961* +- ID_MODEL_FROM_DATABASE=YUAN SMARTVGA Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (YUAN SMARTVGA Radeon 9200) + + pci:v00001002d00005961sv00001458sd00004018* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) + + pci:v00001002d00005961sv0000174Bsd00007C13* +- ID_MODEL_FROM_DATABASE=Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) + + pci:v00001002d00005961sv000017AFsd0000200C* +- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Excalibur Radeon 9200) + + pci:v00001002d00005961sv000018BCsd00000050* +- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster) + + pci:v00001002d00005961sv000018BCsd00000051* +- ID_MODEL_FROM_DATABASE=GC-R9200-C3 ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (GC-R9200-C3) + + pci:v00001002d00005961sv000018BCsd00000053* +- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster VIVO ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster VIVO) + + pci:v00001002d00005962* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] +@@ -3819,37 +3819,37 @@ pci:v00001002d00005964* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] + + pci:v00001002d00005964sv00001002sd00005964* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz) + + pci:v00001002d00005964sv00001043sd0000C006* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE / TD / 128M ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE / TD / 128M) + + pci:v00001002d00005964sv00001458sd00004018* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) + + pci:v00001002d00005964sv00001458sd00004032* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE 128MB) + + pci:v00001002d00005964sv0000147Bsd00006191* +- ID_MODEL_FROM_DATABASE=R9200SE-DT ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (R9200SE-DT) + + pci:v00001002d00005964sv0000148Csd00002073* +- ID_MODEL_FROM_DATABASE=CN-AG92E ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (CN-AG92E) + + pci:v00001002d00005964sv0000174Bsd00007C13* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) + + pci:v00001002d00005964sv00001787sd00005964* +- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Excalibur 9200SE VIVO 128M) + + pci:v00001002d00005964sv000017AFsd00002012* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE Excalibur) + + pci:v00001002d00005964sv000018BCsd00000170* +- ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE 128MB Game Buster ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Sapphire Radeon 9200 SE 128MB Game Buster) + + pci:v00001002d00005964sv000018BCsd00000173* +- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) + + pci:v00001002d00005965* + ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] +@@ -3858,10 +3858,10 @@ pci:v00001002d00005974* + ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] + + pci:v00001002d00005974sv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (DC5750 Microtower) + + pci:v00001002d00005974sv00001462sd00007141* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (Aspire L250) + + pci:v00001002d00005975* + ID_MODEL_FROM_DATABASE=RS482M [Mobility Radeon Xpress 200] +@@ -3870,7 +3870,7 @@ pci:v00001002d00005978* + ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) + + pci:v00001002d00005978sv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) (A770CrossFire Motherboard) + + pci:v00001002d00005979* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port B) +@@ -3891,13 +3891,13 @@ pci:v00001002d0000597E* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) + + pci:v00001002d0000597Esv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) (A770CrossFire Motherboard) + + pci:v00001002d0000597F* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) + + pci:v00001002d0000597Fsv00001849sd00005957* +- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard ++ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) (A770CrossFire Motherboard) + + pci:v00001002d00005980* + ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port A) +@@ -3918,7 +3918,7 @@ pci:v00001002d00005A12* + ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part + + pci:v00001002d00005A12sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part (H8DGU) + + pci:v00001002d00005A13* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port A) +@@ -3939,7 +3939,7 @@ pci:v00001002d00005A18* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) + + pci:v00001002d00005A18sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) (H8DGU) + + pci:v00001002d00005A19* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port E) +@@ -3963,7 +3963,7 @@ pci:v00001002d00005A1F* + ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) + + pci:v00001002d00005A1Fsv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) (H8DGU) + + pci:v00001002d00005A20* + ID_MODEL_FROM_DATABASE=RD890S PCI Express bridge for GPP2 port 1 +@@ -3996,7 +3996,7 @@ pci:v00001002d00005A3F* + ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] + + pci:v00001002d00005A3Fsv00001462sd00007217* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] (Aspire L250) + + pci:v00001002d00005A41* + ID_MODEL_FROM_DATABASE=RS400 [Radeon Xpress 200] +@@ -4014,25 +4014,25 @@ pci:v00001002d00005B60* + ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] + + pci:v00001002d00005B60sv00001043sd0000002A* +- ID_MODEL_FROM_DATABASE=Extreme AX300SE-X ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300SE-X) + + pci:v00001002d00005B60sv00001043sd0000032E* +- ID_MODEL_FROM_DATABASE=Extreme AX300/TD ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300/TD) + + pci:v00001002d00005B60sv00001458sd00002102* +- ID_MODEL_FROM_DATABASE=GV-RX30S128D (X300SE) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (GV-RX30S128D (X300SE)) + + pci:v00001002d00005B60sv00001462sd00000400* +- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940 REV:200) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940 REV:200)) + + pci:v00001002d00005B60sv00001462sd00000402* +- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940)) + + pci:v00001002d00005B60sv0000174Bsd00000500* +- ID_MODEL_FROM_DATABASE=Radeon X300 (PCIE) ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Radeon X300 (PCIE)) + + pci:v00001002d00005B60sv0000196Dsd00001086* +- ID_MODEL_FROM_DATABASE=X300SE HM ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (X300SE HM) + + pci:v00001002d00005B62* + ID_MODEL_FROM_DATABASE=RV370 [Radeon X600/X600 SE] +@@ -4053,13 +4053,13 @@ pci:v00001002d00005B70* + ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] + + pci:v00001002d00005B70sv00001462sd00000403* +- ID_MODEL_FROM_DATABASE=Radeon X300 SE 128MB DDR ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE 128MB DDR) + + pci:v00001002d00005B70sv0000174Bsd00000501* +- ID_MODEL_FROM_DATABASE=Radeon X300 SE ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE) + + pci:v00001002d00005B70sv0000196Dsd00001087* +- ID_MODEL_FROM_DATABASE=Radeon X300 SE HyperMemory ++ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE HyperMemory) + + pci:v00001002d00005B72* + ID_MODEL_FROM_DATABASE=RV380 [Radeon X300/X550/X1050 Series] (Secondary) +@@ -4080,37 +4080,37 @@ pci:v00001002d00005C63* + ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] + + pci:v00001002d00005C63sv00001002sd00005C63* +- ID_MODEL_FROM_DATABASE=Apple iBook G4 2004 ++ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (Apple iBook G4 2004) + + pci:v00001002d00005C63sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (P30 notebook) + + pci:v00001002d00005D44* + ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) + + pci:v00001002d00005D44sv00001458sd00004019* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) + + pci:v00001002d00005D44sv00001458sd00004032* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB) + + pci:v00001002d00005D44sv0000147Bsd00006190* +- ID_MODEL_FROM_DATABASE=R9200SE-DT (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (R9200SE-DT (Secondary)) + + pci:v00001002d00005D44sv0000174Bsd00007C12* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) + + pci:v00001002d00005D44sv00001787sd00005965* +- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Excalibur 9200SE VIVO 128M (Secondary)) + + pci:v00001002d00005D44sv000017AFsd00002013* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE Excalibur (Secondary)) + + pci:v00001002d00005D44sv000018BCsd00000171* +- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB Game Buster (Secondary) ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB Game Buster (Secondary)) + + pci:v00001002d00005D44sv000018BCsd00000172* +- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] ++ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) + + pci:v00001002d00005D45* + ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] (Secondary) +@@ -4140,7 +4140,7 @@ pci:v00001002d00005D52* + ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] + + pci:v00001002d00005D52sv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Primary) ++ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (PowerColor X850XT PCIe (Primary)) + + pci:v00001002d00005D57* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] +@@ -4155,7 +4155,7 @@ pci:v00001002d00005D72* + ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) + + pci:v00001002d00005D72sv00001002sd00000B13* +- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Secondary) ++ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) (PowerColor X850XT PCIe (Secondary)) + + pci:v00001002d00005D77* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] (Secondary) +@@ -4179,13 +4179,13 @@ pci:v00001002d00005E4D* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] + + pci:v00001002d00005E4Dsv0000148Csd00002116* +- ID_MODEL_FROM_DATABASE=Bravo X700 ++ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Bravo X700) + + pci:v00001002d00005E4F* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] + + pci:v00001002d00005E4Fsv00001569sd00001E4F* +- ID_MODEL_FROM_DATABASE=Radeon X550 XT ++ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Radeon X550 XT) + + pci:v00001002d00005E6B* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 PRO] (Secondary) +@@ -4194,7 +4194,7 @@ pci:v00001002d00005E6D* + ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) + + pci:v00001002d00005E6Dsv0000148Csd00002117* +- ID_MODEL_FROM_DATABASE=Bravo X700 (Secondary) ++ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) (Bravo X700 (Secondary)) + + pci:v00001002d00005F57* + ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] +@@ -4206,7 +4206,7 @@ pci:v00001002d00006601* + ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] + + pci:v00001002d00006601sv0000103Csd00002100* +- ID_MODEL_FROM_DATABASE=FirePro M4100 ++ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] (FirePro M4100) + + pci:v00001002d00006602* + ID_MODEL_FROM_DATABASE=Mars +@@ -4230,40 +4230,40 @@ pci:v00001002d00006610* + ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] + + pci:v00001002d00006610sv00001019sd00000030* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001028sd00002120* +- ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) + + pci:v00001002d00006610sv00001028sd00002322* +- ID_MODEL_FROM_DATABASE=Radeon R7 250 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) + + pci:v00001002d00006610sv00001462sd00002910* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001462sd00002911* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001642sd00003C81* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006610sv00001642sd00003C91* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) + + pci:v00001002d00006611* + ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] + + pci:v00001002d00006611sv00001028sd0000210B* +- ID_MODEL_FROM_DATABASE=Radeon R5 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R5 240 OEM) + + pci:v00001002d00006611sv0000174Bsd00004248* +- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) + + pci:v00001002d00006611sv0000174Bsd0000A240* +- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) + + pci:v00001002d00006611sv00001B0Asd000090D3* +- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM ++ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) + + pci:v00001002d00006613* + ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] +@@ -4302,28 +4302,28 @@ pci:v00001002d0000665C* + ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] + + pci:v00001002d0000665Csv00001043sd00000452* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 DirectCU II OC ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 DirectCU II OC) + + pci:v00001002d0000665Csv00001462sd00002930* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 OC ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 OC) + + pci:v00001002d0000665Csv00001462sd00002932* +- ID_MODEL_FROM_DATABASE=Radeon HD 8770 ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 8770) + + pci:v00001002d0000665Csv00001462sd00002934* +- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) + + pci:v00001002d0000665Csv0000148Csd00009260* +- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) + + pci:v00001002d0000665Csv00001682sd00003310* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Black Edition 2 GB ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Black Edition 2 GB) + + pci:v00001002d0000665Csv0000174Bsd0000E253* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Dual-X OC ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Dual-X OC) + + pci:v00001002d0000665Csv00001787sd00002329* +- ID_MODEL_FROM_DATABASE=Radeon HD 7790 TurboDuo ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 TurboDuo) + + pci:v00001002d0000665D* + ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series] +@@ -4335,7 +4335,7 @@ pci:v00001002d00006663* + ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] + + pci:v00001002d00006663sv00001025sd00000846* +- ID_MODEL_FROM_DATABASE=Radeon HD 8570A ++ ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] (Radeon HD 8570A) + + pci:v00001002d00006664* + ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] +@@ -4377,34 +4377,34 @@ pci:v00001002d00006720* + ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] + + pci:v00001002d00006720sv00001028sd0000048F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv00001028sd00000490* +- ID_MODEL_FROM_DATABASE=Alienware M17x R3 Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Alienware M17x R3 Radeon HD 6970M) + + pci:v00001002d00006720sv00001028sd000004A4* +- ID_MODEL_FROM_DATABASE=FirePro M8900 ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) + + pci:v00001002d00006720sv00001028sd000004BA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv00001028sd0000053F* +- ID_MODEL_FROM_DATABASE=FirePro M8900 ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) + + pci:v00001002d00006720sv0000106Bsd00000B00* +- ID_MODEL_FROM_DATABASE=Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) + + pci:v00001002d00006720sv00001558sd00005102* +- ID_MODEL_FROM_DATABASE=Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) + + pci:v00001002d00006720sv00001558sd00005104* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv00001558sd00007201* +- ID_MODEL_FROM_DATABASE=Radeon HD 6990M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) + + pci:v00001002d00006720sv0000174Bsd0000E188* +- ID_MODEL_FROM_DATABASE=Radeon HD 6970M ++ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) + + pci:v00001002d00006724* + ID_MODEL_FROM_DATABASE=Blackcomb [Mobility Radeon HD 6000 series] +@@ -4416,511 +4416,511 @@ pci:v00001002d00006738* + ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] + + pci:v00001002d00006738sv00001682sd00003103* +- ID_MODEL_FROM_DATABASE=Radeon HD 8670 ++ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Radeon HD 8670) + + pci:v00001002d00006738sv00001787sd0000201A* +- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] ++ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) + + pci:v00001002d00006738sv00001787sd0000201B* +- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] ++ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) + + pci:v00001002d00006739* + ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] + + pci:v00001002d00006739sv00001043sd000003B4* +- ID_MODEL_FROM_DATABASE=EAH6850 [Radeon HD 6850] ++ ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] (EAH6850 [Radeon HD 6850]) + + pci:v00001002d0000673E* + ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] + + pci:v00001002d0000673Esv0000148Csd00007720* +- ID_MODEL_FROM_DATABASE=Radeon HD 7720 OEM ++ ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] (Radeon HD 7720 OEM) + + pci:v00001002d00006740* + ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] + + pci:v00001002d00006740sv00001019sd0000238C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001019sd00002391* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001019sd00002392* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Precision M4600) + + pci:v00001002d00006740sv00001028sd0000053E* +- ID_MODEL_FROM_DATABASE=FirePro M5950 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) + + pci:v00001002d00006740sv0000103Csd00001630* +- ID_MODEL_FROM_DATABASE=FirePro M5950 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) + + pci:v00001002d00006740sv0000103Csd00001631* +- ID_MODEL_FROM_DATABASE=FirePro M5950 ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) + + pci:v00001002d00006740sv0000103Csd0000164B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000103Csd0000164E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000103Csd00001657* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00001658* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000165A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000165B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00001688* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00001689* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000168A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000185E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7690M XT ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 7690M XT) + + pci:v00001002d00006740sv0000103Csd00003388* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00003389* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd00003582* +- ID_MODEL_FROM_DATABASE=Radeon HD 6770M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) + + pci:v00001002d00006740sv0000103Csd0000366C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001043sd00001D02* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv00001043sd00001D12* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000104Dsd00009084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000104Dsd00009085* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B074* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B077* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv0000144Dsd0000B088* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006740sv000017AAsd00003982* +- ID_MODEL_FROM_DATABASE=Radeon HD 6730M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) + + pci:v00001002d00006741* + ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] + + pci:v00001002d00006741sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001019sd0000238F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000379* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000037B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000037E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000382* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000384* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000385* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000386* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000387* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000388* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000442* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000451* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000489* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000048B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000048C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000050F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000513* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000515* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000516* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000051E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000051F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000520* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000521* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000052A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000555* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000556* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000055D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000055E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000056D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd0000059F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000600* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000605* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000606* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001025sd00000619* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001028sd000004C1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004C5* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004CD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004D7* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd000004D9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001028sd0000052D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000103Csd00001617* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd00001646* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00001647* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd0000164B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd0000164E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000103Csd00001688* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00001689* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd0000168A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00001860* +- ID_MODEL_FROM_DATABASE=Radeon HD 7690M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7690M) + + pci:v00001002d00006741sv0000103Csd00003385* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000103Csd00003560* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd0000358D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00003590* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd00003593* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000103Csd0000366C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00001CD2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002121* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002122* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002123* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001043sd00002125* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) + + pci:v00001002d00006741sv00001043sd00002127* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) + + pci:v00001002d00006741sv0000104Dsd0000907B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000104Dsd00009080* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000106Bsd000000E2* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", Late 2011] ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (MacBookPro8,2 [Core i7, 15", Late 2011]) + + pci:v00001002d00006741sv00001179sd0000FD63* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv00001179sd0000FD65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000144Dsd0000C093* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000144Dsd0000C0AC* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv0000144Dsd0000C0B3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) + + pci:v00001002d00006741sv0000144Dsd0000C539* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000144Dsd0000C609* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv0000152Dsd00000914* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv000017AAsd000021E1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6630M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) + + pci:v00001002d00006741sv000017AAsd00003970* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv000017AAsd00003976* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006741sv00001854sd00000907* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650M ++ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) + + pci:v00001002d00006742* + ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] + + pci:v00001002d00006742sv00001002sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00001019sd00002393* +- ID_MODEL_FROM_DATABASE=Radeon HD 6610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6610M) + + pci:v00001002d00006742sv00001043sd00001D82* +- ID_MODEL_FROM_DATABASE=K53SK Laptop Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (K53SK Laptop Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB22* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB23* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB27* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB2A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB2C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB30* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB31* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB32* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB38* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB39* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB3A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB3B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB40* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB41* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB47* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB48* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB49* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB51* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB53* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB81* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB82* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FB83* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FC56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FCD4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001179sd0000FCEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7610M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) + + pci:v00001002d00006742sv00001458sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00001462sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv0000148Csd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00001682sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv0000174Bsd00005570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 5570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 5570]) + + pci:v00001002d00006742sv0000174Bsd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv0000174Bsd00007570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 7570]) + + pci:v00001002d00006742sv0000174Bsd00008510* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8510] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8510]) + + pci:v00001002d00006742sv0000174Bsd00008570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8570]) + + pci:v00001002d00006742sv00001787sd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv000017AFsd00006570* +- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) + + pci:v00001002d00006742sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Radeon HD 6625M ++ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6625M) + + pci:v00001002d00006743* + ID_MODEL_FROM_DATABASE=Whistler [Radeon E6760] +@@ -4935,133 +4935,133 @@ pci:v00001002d00006750* + ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] + + pci:v00001002d00006750sv00001462sd00002670* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6670A) + + pci:v00001002d00006750sv000017AAsd00003079* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) + + pci:v00001002d00006750sv000017AAsd0000307A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006750sv000017AAsd00003087* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) + + pci:v00001002d00006750sv000017AAsd00003618* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006750sv000017AAsd00003623* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006750sv000017AAsd00003627* +- ID_MODEL_FROM_DATABASE=Radeon HD 6650A ++ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) + + pci:v00001002d00006751* + ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] + + pci:v00001002d00006751sv00001028sd00000548* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006751sv00001462sd00002671* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) + + pci:v00001002d00006751sv00001462sd00002672* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) + + pci:v00001002d00006751sv00001462sd00002680* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006751sv00001462sd00002681* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006751sv000017AAsd00003087* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650A ++ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) + + pci:v00001002d00006758* + ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] + + pci:v00001002d00006758sv00001028sd00000B0E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006758sv0000103Csd00006882* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006758sv00001462sd0000250A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv0000148Csd00007670* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv00001545sd00007670* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv00001682sd00003300* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv0000174Bsd00007670* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) + + pci:v00001002d00006758sv0000174Bsd0000E181* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006758sv00001787sd00002309* +- ID_MODEL_FROM_DATABASE=Radeon HD 6670 ++ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) + + pci:v00001002d00006759* + ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] + + pci:v00001002d00006759sv0000103Csd00003130* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001043sd00000403* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001462sd00002500* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001462sd00002509* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv0000148Csd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv00001642sd00003A67* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001682sd00003280* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv00001682sd00003530* +- ID_MODEL_FROM_DATABASE=Radeon HD 8550 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 8550) + + pci:v00001002d00006759sv0000174Bsd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv0000174Bsd0000E142* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv0000174Bsd0000E181* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd0000908F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd00009090* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd00009091* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd00009092* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd0000909E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) + + pci:v00001002d00006759sv00001B0Asd000090B5* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d00006759sv00001B0Asd000090B6* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) + + pci:v00001002d0000675B* + ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] +@@ -5073,526 +5073,526 @@ pci:v00001002d0000675F* + ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] + + pci:v00001002d0000675Fsv0000148Csd00006510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) + + pci:v00001002d0000675Fsv0000148Csd00006530* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6530) + + pci:v00001002d0000675Fsv0000148Csd00007510* +- ID_MODEL_FROM_DATABASE=Radeon HD 7510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) + + pci:v00001002d0000675Fsv00001545sd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7570) + + pci:v00001002d0000675Fsv0000174Bsd00006510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) + + pci:v00001002d0000675Fsv0000174Bsd00007510* +- ID_MODEL_FROM_DATABASE=Radeon HD 7510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) + + pci:v00001002d0000675Fsv0000174Bsd00008510* +- ID_MODEL_FROM_DATABASE=Radeon HD 8510 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 8510) + + pci:v00001002d0000675Fsv00001787sd00002012* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 2GB GDDR3 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 2GB GDDR3) + + pci:v00001002d0000675Fsv00001787sd00002314* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 1GB DDR2/GDDR3 ++ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 1GB DDR2/GDDR3) + + pci:v00001002d00006760* + ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] + + pci:v00001002d00006760sv00001002sd00000124* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001002sd00000134* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd0000238B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd00002390* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001019sd00009985* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004C1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004C3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004CA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004CB* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004CC* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Vostro 3350) + + pci:v00001002d00006760sv00001028sd000004D1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004D3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd000004D7* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000502* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000503* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000506* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000507* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001028sd0000051C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001028sd0000051D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv0000103Csd0000161A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000161B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000161E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000161F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001622* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv0000103Csd00001623* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv0000103Csd0000164A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000164D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001651* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001656* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00001658* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00001659* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000165B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000165D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000165F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001661* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001663* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001665* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001667* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001669* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000166B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000166C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000166E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001670* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001672* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000167A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000167B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000167D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000167F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000168C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000168F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001694* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001696* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00001698* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000169A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000169C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00001855* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd00001859* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd0000185C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd0000185D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000103Csd0000185F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000103Csd00001863* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv0000103Csd0000355C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000355F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003563* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003565* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003567* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003569* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003581* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003584* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd0000358C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000358F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003592* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd00003596* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000103Csd0000366B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000103Csd00003671* +- ID_MODEL_FROM_DATABASE=FirePro M3900 ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (FirePro M3900) + + pci:v00001002d00006760sv0000103Csd00003673* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000100A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000100C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000101B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000101C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000102A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv00001043sd0000102C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd0000104B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000105D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000106B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000106D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000107D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00001CB2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00001D22* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00001D32* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00002001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00002002* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00002107* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00002108* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00002109* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd000084A0* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd000084E9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001043sd00008515* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd00008517* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001043sd0000855A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000104Dsd0000907B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000104Dsd00009084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000104Dsd00009085* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001179sd00000003* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001179sd00000004* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) + + pci:v00001002d00006760sv00001179sd0000FB22* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB23* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB2C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB31* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB32* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB33* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB38* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB39* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB3A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB40* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB41* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB42* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB47* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB48* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB51* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB53* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB81* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB82* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FB83* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FC51* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001179sd0000FC52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FC56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FCD3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FCD4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FCEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv00001179sd0000FDEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000144Dsd0000B074* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000B084* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C095* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C0B3* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) + + pci:v00001002d00006760sv0000144Dsd0000C538* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C581* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C589* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000144Dsd0000C609* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000144Dsd0000C625* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv0000144Dsd0000C636* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv00001462sd000010AC* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv0000152Dsd00000916* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd000021E5* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd00003900* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00003902* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00003969* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd00003970* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00003976* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd0000397B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd0000397D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv000017AAsd00005101* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) + + pci:v00001002d00006760sv000017AAsd00005102* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00005103* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv000017AAsd00005106* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) + + pci:v00001002d00006760sv00001854sd00000897* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001854sd00000900* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001854sd00000908* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006760sv00001854sd00002015* +- ID_MODEL_FROM_DATABASE=Radeon HD 6470M ++ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) + + pci:v00001002d00006761* + ID_MODEL_FROM_DATABASE=Seymour LP [Radeon HD 6430M] +@@ -5619,22 +5619,22 @@ pci:v00001002d00006770* + ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] + + pci:v00001002d00006770sv000017AAsd0000308D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7450A) + + pci:v00001002d00006770sv000017AAsd00003623* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd00003627* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd00003629* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd0000363C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) + + pci:v00001002d00006770sv000017AAsd00003658* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7470A) + + pci:v00001002d00006771* + ID_MODEL_FROM_DATABASE=Caicos XTX [Radeon HD 8490 / R5 235X OEM] +@@ -5646,133 +5646,133 @@ pci:v00001002d00006778* + ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] + + pci:v00001002d00006778sv00001019sd00000024* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) + + pci:v00001002d00006778sv00001019sd00000027* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001028sd00002120* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) + + pci:v00001002d00006778sv00001462sd0000B491* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001462sd0000B492* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001462sd0000B493* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 OEM ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470 OEM) + + pci:v00001002d00006778sv00001642sd00003C65* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv00001642sd00003C75* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv0000174Bsd00008145* +- ID_MODEL_FROM_DATABASE=Radeon HD 8470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) + + pci:v00001002d00006778sv0000174Bsd0000E145* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) + + pci:v00001002d00006779* + ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] + + pci:v00001002d00006779sv00001019sd00000016* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001019sd00000017* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001019sd00000018* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001028sd00002120* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000103Csd00002128* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000103Csd00002AEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) + + pci:v00001002d00006779sv00001462sd00002125* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001462sd00002346* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv00001462sd00002490* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001462sd00002494* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001462sd00002496* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000148Csd00007450* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000148Csd00008450* +- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) + + pci:v00001002d00006779sv00001545sd00007470* +- ID_MODEL_FROM_DATABASE=Radeon HD 7470 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7470) + + pci:v00001002d00006779sv00001642sd00003A65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001642sd00003A66* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv00001642sd00003A75* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001642sd00003A76* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv00001682sd00003200* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000174Bsd00007450* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) + + pci:v00001002d00006779sv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000174Bsd0000E164* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1 GB DDR3 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450 1 GB DDR3) + + pci:v00001002d00006779sv0000174Bsd0000E180* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv0000174Bsd0000E201* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv000017AFsd00008450* +- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) + + pci:v00001002d00006779sv00001B0Asd00009096* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001B0Asd00009097* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001B0Asd000090A8* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450A) + + pci:v00001002d00006779sv00001B0Asd000090B1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) + + pci:v00001002d00006779sv00001B0Asd000090B3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) + + pci:v00001002d00006779sv00001B0Asd000090BB* +- ID_MODEL_FROM_DATABASE=Radeon HD 7450A ++ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) + + pci:v00001002d0000677B* + ID_MODEL_FROM_DATABASE=Caicos PRO [Radeon HD 7450] +@@ -5790,25 +5790,25 @@ pci:v00001002d0000678A* + ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] + + pci:v00001002d0000678Asv00001002sd0000030C* +- ID_MODEL_FROM_DATABASE=FirePro W8000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) + + pci:v00001002d0000678Asv00001002sd00000310* +- ID_MODEL_FROM_DATABASE=FirePro S9000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S9000) + + pci:v00001002d0000678Asv00001002sd00000420* +- ID_MODEL_FROM_DATABASE=Radeon Sky 700 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 700) + + pci:v00001002d0000678Asv00001002sd00000422* +- ID_MODEL_FROM_DATABASE=Radeon Sky 900 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 900) + + pci:v00001002d0000678Asv00001002sd00000B0E* +- ID_MODEL_FROM_DATABASE=FirePro S10000 Passive ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000 Passive) + + pci:v00001002d0000678Asv00001002sd00000B2A* +- ID_MODEL_FROM_DATABASE=FirePro S10000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000) + + pci:v00001002d0000678Asv00001028sd0000030C* +- ID_MODEL_FROM_DATABASE=FirePro W8000 ++ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) + + pci:v00001002d00006790* + ID_MODEL_FROM_DATABASE=Tahiti +@@ -5823,67 +5823,67 @@ pci:v00001002d00006798* + ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] + + pci:v00001002d00006798sv00001002sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) + + pci:v00001002d00006798sv00001002sd00003001* +- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X]) + + pci:v00001002d00006798sv00001002sd00004000* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970 OEM ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 8970 OEM) + + pci:v00001002d00006798sv00001043sd0000041C* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II) + + pci:v00001002d00006798sv00001043sd00000420* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) + + pci:v00001002d00006798sv00001043sd00000444* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) + + pci:v00001002d00006798sv00001043sd00000448* +- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) + + pci:v00001002d00006798sv00001043sd0000044A* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970]) + + pci:v00001002d00006798sv00001043sd0000044C* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970 Platinum] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970 Platinum]) + + pci:v00001002d00006798sv00001043sd00003001* +- ID_MODEL_FROM_DATABASE=Tahiti XTL [ROG Matrix R9 280X] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [ROG Matrix R9 280X]) + + pci:v00001002d00006798sv00001043sd00003006* +- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X DirectCU II TOP] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X DirectCU II TOP]) + + pci:v00001002d00006798sv00001043sd00009999* +- ID_MODEL_FROM_DATABASE=ARES II ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (ARES II) + + pci:v00001002d00006798sv00001092sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) + + pci:v00001002d00006798sv00001458sd00002261* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition OC]) + + pci:v00001002d00006798sv00001462sd00002774* +- ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (MSI R7970 TF 3GD5/OC BE) + + pci:v00001002d00006798sv00001682sd00003211* +- ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970 Black Edition) + + pci:v00001002d00006798sv00001682sd00003213* +- ID_MODEL_FROM_DATABASE=HD 7970 Black Edition ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 Black Edition) + + pci:v00001002d00006798sv00001682sd00003214* +- ID_MODEL_FROM_DATABASE=Double D HD 7970 ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970) + + pci:v00001002d00006798sv00001787sd0000201C* +- ID_MODEL_FROM_DATABASE=HD 7970 IceQ X² ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 IceQ X²) + + pci:v00001002d00006798sv00001787sd00002317* +- ID_MODEL_FROM_DATABASE=Radeon HD 7990 ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 7990) + + pci:v00001002d00006798sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] ++ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) + + pci:v00001002d00006799* + ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] +@@ -5892,28 +5892,28 @@ pci:v00001002d0000679A* + ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] + + pci:v00001002d0000679Asv00001002sd00000B01* +- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) + + pci:v00001002d0000679Asv00001002sd00003000* +- ID_MODEL_FROM_DATABASE=Tahiti PRO2 [Radeon HD 7950 Boost] ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Tahiti PRO2 [Radeon HD 7950 Boost]) + + pci:v00001002d0000679Asv00001462sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM ++ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) + + pci:v00001002d0000679B* + ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] + + pci:v00001002d0000679Bsv00001002sd00000B28* +- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) + + pci:v00001002d0000679Bsv00001002sd00000B2A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7990 ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 7990) + + pci:v00001002d0000679Bsv00001462sd00008036* +- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) + + pci:v00001002d0000679Bsv0000148Csd00008990* +- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM ++ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) + + pci:v00001002d0000679E* + ID_MODEL_FROM_DATABASE=Tahiti LE [Radeon HD 7870 XT] +@@ -5955,28 +5955,28 @@ pci:v00001002d00006800* + ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] + + pci:v00001002d00006800sv00001002sd00000124* +- ID_MODEL_FROM_DATABASE=Radeon HD 7970M ++ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) + + pci:v00001002d00006800sv00008086sd00002110* +- ID_MODEL_FROM_DATABASE=Radeon HD 7970M ++ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) + + pci:v00001002d00006800sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Radeon HD 7970M ++ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) + + pci:v00001002d00006801* + ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] + + pci:v00001002d00006801sv00001002sd00000124* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970M ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) + + pci:v00001002d00006801sv00001462sd00001117* +- ID_MODEL_FROM_DATABASE=Radeon R9 M290X ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon R9 M290X) + + pci:v00001002d00006801sv00008086sd00002110* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970M ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) + + pci:v00001002d00006801sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Radeon HD 8970M ++ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) + + pci:v00001002d00006802* + ID_MODEL_FROM_DATABASE=Wimbledon +@@ -5988,10 +5988,10 @@ pci:v00001002d00006808* + ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] + + pci:v00001002d00006808sv00001002sd00000310* +- ID_MODEL_FROM_DATABASE=FirePro S7000 ++ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (FirePro S7000) + + pci:v00001002d00006808sv00001002sd00000420* +- ID_MODEL_FROM_DATABASE=Radeon Sky 500 ++ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (Radeon Sky 500) + + pci:v00001002d00006809* + ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000] +@@ -6012,37 +6012,37 @@ pci:v00001002d00006818* + ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] + + pci:v00001002d00006818sv00001002sd00000B05* +- ID_MODEL_FROM_DATABASE=Radeon HD 8870 OEM ++ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8870 OEM) + + pci:v00001002d00006818sv0000174Bsd00008B04* +- ID_MODEL_FROM_DATABASE=Radeon HD 8860 ++ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8860) + + pci:v00001002d00006819* + ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] + + pci:v00001002d00006819sv0000174Bsd0000E221* +- ID_MODEL_FROM_DATABASE=Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP ++ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) + + pci:v00001002d00006820* + ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] + + pci:v00001002d00006820sv0000103Csd00001851* +- ID_MODEL_FROM_DATABASE=Radeon HD 7750M ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) + + pci:v00001002d00006820sv000017AAsd00003801* +- ID_MODEL_FROM_DATABASE=Radeon R9 M275 ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) + + pci:v00001002d00006821* + ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] + + pci:v00001002d00006821sv00001002sd0000031E* +- ID_MODEL_FROM_DATABASE=FirePro SX4000 ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) + + pci:v00001002d00006821sv00001028sd000005CC* +- ID_MODEL_FROM_DATABASE=FirePro M5100 ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) + + pci:v00001002d00006821sv00001028sd000015CC* +- ID_MODEL_FROM_DATABASE=FirePro M5100 ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) + + pci:v00001002d00006822* + ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] +@@ -6054,7 +6054,7 @@ pci:v00001002d00006825* + ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] + + pci:v00001002d00006825sv00008086sd00002111* +- ID_MODEL_FROM_DATABASE=Chelsea PRO ++ ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] (Chelsea PRO) + + pci:v00001002d00006826* + ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7700M Series] +@@ -6081,7 +6081,7 @@ pci:v00001002d0000682F* + ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] + + pci:v00001002d0000682Fsv0000103Csd00001851* +- ID_MODEL_FROM_DATABASE=Radeon HD 7750M ++ ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] (Radeon HD 7750M) + + pci:v00001002d00006830* + ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7800M Series] +@@ -6096,16 +6096,16 @@ pci:v00001002d00006837* + ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] + + pci:v00001002d00006837sv00001462sd00002796* +- ID_MODEL_FROM_DATABASE=Radeon HD 8730 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) + + pci:v00001002d00006837sv00001462sd00008092* +- ID_MODEL_FROM_DATABASE=Radeon HD 8730 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) + + pci:v00001002d00006837sv0000148Csd00008730* +- ID_MODEL_FROM_DATABASE=Radeon HD 8730 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) + + pci:v00001002d00006837sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 6570) + + pci:v00001002d00006838* + ID_MODEL_FROM_DATABASE=Cape Verde +@@ -6120,19 +6120,19 @@ pci:v00001002d0000683D* + ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] + + pci:v00001002d0000683Dsv00001002sd00000030* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv00001019sd00000030* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv0000103Csd00006890* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv00001043sd00008760* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683Dsv0000174Bsd00008304* +- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + + pci:v00001002d0000683F* + ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] +@@ -6141,322 +6141,322 @@ pci:v00001002d00006840* + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] + + pci:v00001002d00006840sv00001025sd0000050E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000050F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000513* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000056D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000059A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000059B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd0000059E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000600* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000606* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001025sd00000696* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000697* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000698* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000699* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv00001025sd00000757* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd0000056A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd0000056E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd00000598* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd0000059D* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd000005A3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd000005B9* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001028sd000005BB* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000017F1* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7570M) + + pci:v00001002d00006840sv0000103Csd000017F4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) + + pci:v00001002d00006840sv0000103Csd00001813* +- ID_MODEL_FROM_DATABASE=Radeon HD 7590M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7590M) + + pci:v00001002d00006840sv0000103Csd0000182F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001830* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001835* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000183A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000183C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000183E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001840* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001842* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001844* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001848* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000184A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd0000184C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001895* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd00001897* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000018A5* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000018A7* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000103Csd000018F4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd0000100A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd0000104B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd000010DC* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002121* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002122* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002123* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002125* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001043sd00002127* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB11* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB22* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB23* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB2C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB31* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB32* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB38* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB39* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB3A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB40* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB41* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB47* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB48* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB51* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB52* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB53* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB81* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB82* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FB83* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FC56* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FCD4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv00001179sd0000FCEE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000144Dsd0000C0C5* +- ID_MODEL_FROM_DATABASE=Radeon HD 7690M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7690M) + + pci:v00001002d00006840sv0000144Dsd0000C0CE* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv0000144Dsd0000C0DA* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00003970* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd0000397B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00005101* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00005102* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006840sv000017AAsd00005103* +- ID_MODEL_FROM_DATABASE=Radeon HD 7670M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) + + pci:v00001002d00006841* + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] + + pci:v00001002d00006841sv00001028sd00000561* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001028sd0000056C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001028sd0000057F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv0000103Csd000017F1* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv0000103Csd000017F4* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001813* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv0000103Csd0000183A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd0000183C* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd0000183E* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001840* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001842* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv0000103Csd00001844* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd0000100A* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd0000104B* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd000010DC* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001043sd00002134* +- ID_MODEL_FROM_DATABASE=Radeon HD 7650M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) + + pci:v00001002d00006841sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv00001179sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) + + pci:v00001002d00006841sv00001179sd0000FB43* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FB91* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FB92* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FB93* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FBA2* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv00001179sd0000FBA3* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006841sv0000144Dsd0000C0C7* +- ID_MODEL_FROM_DATABASE=Radeon HD 7550M ++ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) + + pci:v00001002d00006842* + ID_MODEL_FROM_DATABASE=Thames LE [Radeon HD 7000M Series] +@@ -6471,13 +6471,13 @@ pci:v00001002d00006889* + ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] + + pci:v00001002d00006889sv00001002sd00000301* +- ID_MODEL_FROM_DATABASE=FirePro V7800P ++ ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] (FirePro V7800P) + + pci:v00001002d0000688A* + ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] + + pci:v00001002d0000688Asv00001002sd0000030C* +- ID_MODEL_FROM_DATABASE=FirePro V9800P ++ ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] (FirePro V9800P) + + pci:v00001002d0000688C* + ID_MODEL_FROM_DATABASE=Cypress XT GL [FireStream 9370] +@@ -6489,28 +6489,28 @@ pci:v00001002d00006898* + ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] + + pci:v00001002d00006898sv00001002sd00000B00* +- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Eyefinity⁶ Edition ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Eyefinity⁶ Edition) + + pci:v00001002d00006898sv0000106Bsd000000D0* +- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Mac Edition ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Mac Edition) + + pci:v00001002d00006898sv00001462sd00008032* +- ID_MODEL_FROM_DATABASE=Radeon HD 5870 1 GB GDDR5 ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 1 GB GDDR5) + + pci:v00001002d00006898sv0000174Bsd00006870* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870 1600SP Edition ++ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 6870 1600SP Edition) + + pci:v00001002d00006899* + ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] + + pci:v00001002d00006899sv00001043sd00000330* +- ID_MODEL_FROM_DATABASE=Radeon HD 5850 ++ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850) + + pci:v00001002d00006899sv0000174Bsd0000237B* +- ID_MODEL_FROM_DATABASE=Radeon HD 5850 X2 ++ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850 X2) + + pci:v00001002d00006899sv0000174Bsd00006850* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850 1440SP Edition ++ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 6850 1440SP Edition) + + pci:v00001002d0000689B* + ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 6800 Series] +@@ -6519,7 +6519,7 @@ pci:v00001002d0000689C* + ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] + + pci:v00001002d0000689Csv00001043sd00000352* +- ID_MODEL_FROM_DATABASE=ARES ++ ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] (ARES) + + pci:v00001002d0000689D* + ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] +@@ -6531,79 +6531,79 @@ pci:v00001002d000068A0* + ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] + + pci:v00001002d000068A0sv00001028sd000012EF* +- ID_MODEL_FROM_DATABASE=FirePro M7820 ++ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) + + pci:v00001002d000068A0sv0000103Csd00001520* +- ID_MODEL_FROM_DATABASE=FirePro M7820 ++ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) + + pci:v00001002d000068A1* + ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] + + pci:v00001002d000068A1sv0000106Bsd000000CC* +- ID_MODEL_FROM_DATABASE=iMac MC511 Mobility Radeon HD 5850 MXM Module ++ ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] (iMac MC511 Mobility Radeon HD 5850 MXM Module) + + pci:v00001002d000068A8* + ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] + + pci:v00001002d000068A8sv00001025sd00000442* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000451* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000050F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000513* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000514* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000515* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000516* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000525* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd00000526* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001025sd0000056D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv00001028sd0000048F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv00001028sd00000490* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv00001028sd000004B9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv00001028sd000004BA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6870M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) + + pci:v00001002d000068A8sv0000103Csd0000159B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A8sv0000144Dsd0000C0AD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6850M ++ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) + + pci:v00001002d000068A9* + ID_MODEL_FROM_DATABASE=Juniper XT [FirePro V5800] +@@ -6612,7 +6612,7 @@ pci:v00001002d000068B8* + ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] + + pci:v00001002d000068B8sv0000106Bsd000000CF* +- ID_MODEL_FROM_DATABASE=MacPro5,1 [Mac Pro 2.8GHz DDR3] ++ ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] (MacPro5,1 [Mac Pro 2.8GHz DDR3]) + + pci:v00001002d000068B9* + ID_MODEL_FROM_DATABASE=Juniper LE [Radeon HD 5670 640SP Edition] +@@ -6624,466 +6624,466 @@ pci:v00001002d000068BE* + ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] + + pci:v00001002d000068BEsv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750 ++ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] (Radeon HD 6750) + + pci:v00001002d000068BF* + ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] + + pci:v00001002d000068BFsv0000174Bsd00006750* +- ID_MODEL_FROM_DATABASE=Radeon HD 6750 ++ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] (Radeon HD 6750) + + pci:v00001002d000068C0* + ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] + + pci:v00001002d000068C0sv00001019sd00002383* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv00001028sd000002A2* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv00001028sd000002FE* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv00001028sd00000419* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv0000103Csd0000147D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv0000103Csd00001521* +- ID_MODEL_FROM_DATABASE=Madison XT [FirePro M5800] ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Madison XT [FirePro M5800]) + + pci:v00001002d000068C0sv0000103Csd00001593* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) + + pci:v00001002d000068C0sv0000103Csd00001596* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) + + pci:v00001002d000068C0sv0000103Csd00001599* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) + + pci:v00001002d000068C0sv00001043sd00001C22* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv000017AAsd00003927* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv000017AAsd00003952* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) + + pci:v00001002d000068C0sv000017AAsd00003978* +- ID_MODEL_FROM_DATABASE=Radeon HD 6570M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Radeon HD 6570M) + + pci:v00001002d000068C1* + ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] + + pci:v00001002d000068C1sv00001025sd00000205* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000293* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000294* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000296* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000308* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000030A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000311* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000312* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000031C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000031D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000033D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000033E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000033F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000346* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Aspire 7740G) + + pci:v00001002d000068C1sv00001025sd00000348* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000356* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000357* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000358* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000359* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000035E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000360* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000362* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000364* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000365* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000366* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000367* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000368* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000036F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000372* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000373* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000377* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000378* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000379* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000037F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000382* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000383* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000384* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000385* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000386* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000387* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000388* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000038B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000038C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000039A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000411* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000412* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000418* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000419* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000420* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000421* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000425* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000042A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000042E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000042F* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000432* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000433* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000442* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000044C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd0000044E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000451* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000454* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000455* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000475* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000476* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000487* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000489* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000498* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001025sd00000517* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000051D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd00000525* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd00000526* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000052B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000052C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd0000053F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001025sd00000607* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C1sv00001028sd0000041B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000447* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000448* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000456* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001028sd00000457* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001436* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001437* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001440* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001448* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001449* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000144A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000144B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000147B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000149C* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd0000149E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000103Csd00001521* +- ID_MODEL_FROM_DATABASE=Madison Pro [FirePro M5800] ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Madison Pro [FirePro M5800]) + + pci:v00001002d000068C1sv00001043sd00001BC2* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000104Dsd00009071* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000104Dsd00009077* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD00* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD12* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD1A* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD30* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD31* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD50* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FD52* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv00001179sd0000FD63* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv00001179sd0000FD65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv00001179sd0000FDD0* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv00001179sd0000FDD2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6530M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) + + pci:v00001002d000068C1sv0000144Dsd0000C07E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv0000144Dsd0000C085* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000014C0sd00000043* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000014C0sd0000004D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000017AAsd00003928* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000017AAsd00003951* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) + + pci:v00001002d000068C1sv000017AAsd00003977* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550M ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) + + pci:v00001002d000068C7* + ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] + + pci:v00001002d000068C7sv00001462sd00002241* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) + + pci:v00001002d000068C7sv00001462sd00002243* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) + + pci:v00001002d000068C7sv00001462sd00002244* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) + + pci:v00001002d000068C7sv00001462sd00002245* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550A ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) + + pci:v00001002d000068C7sv00001462sd00002246* +- ID_MODEL_FROM_DATABASE=Radeon HD 6550A ++ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) + + pci:v00001002d000068C8* + ID_MODEL_FROM_DATABASE=Redwood XT GL [FirePro V4800] +@@ -7095,115 +7095,115 @@ pci:v00001002d000068D8* + ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] + + pci:v00001002d000068D8sv00001028sd000068E0* +- ID_MODEL_FROM_DATABASE=Radeon HD 5670 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) + + pci:v00001002d000068D8sv0000174Bsd00005690* +- ID_MODEL_FROM_DATABASE=Radeon HD 5690 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) + + pci:v00001002d000068D8sv0000174Bsd00005730* +- ID_MODEL_FROM_DATABASE=Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) + + pci:v00001002d000068D8sv0000174Bsd0000E151* +- ID_MODEL_FROM_DATABASE=Radeon HD 5670 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) + + pci:v00001002d000068D8sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) + + pci:v00001002d000068D8sv000017AFsd00003010* +- ID_MODEL_FROM_DATABASE=Radeon HD 5730 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) + + pci:v00001002d000068D8sv000017AFsd00003011* +- ID_MODEL_FROM_DATABASE=Radeon HD 5690 ++ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) + + pci:v00001002d000068D9* + ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] + + pci:v00001002d000068D9sv0000103Csd00006870* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv0000103Csd00006872* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001043sd000003CE* +- ID_MODEL_FROM_DATABASE=Radeon HD 5550 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) + + pci:v00001002d000068D9sv00001462sd00002151* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001462sd00002240* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6610 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) + + pci:v00001002d000068D9sv00001545sd00005550* +- ID_MODEL_FROM_DATABASE=Radeon HD 5550 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) + + pci:v00001002d000068D9sv00001545sd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 7570) + + pci:v00001002d000068D9sv00001642sd00003985* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001642sd00003996* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv0000174Bsd00006510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv0000174Bsd00006610* +- ID_MODEL_FROM_DATABASE=Radeon HD 6610 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) + + pci:v00001002d000068D9sv0000174Bsd0000E142* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) + + pci:v00001002d000068D9sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6510 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) + + pci:v00001002d000068D9sv000017AFsd00003010* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5630) + + pci:v00001002d000068DA* + ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] + + pci:v00001002d000068DAsv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6390 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) + + pci:v00001002d000068DAsv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) + + pci:v00001002d000068DAsv00001545sd00007570* +- ID_MODEL_FROM_DATABASE=Radeon HD 7570 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 7570) + + pci:v00001002d000068DAsv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6390 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) + + pci:v00001002d000068DAsv0000174Bsd00005570* +- ID_MODEL_FROM_DATABASE=Radeon HD 5570 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5570) + + pci:v00001002d000068DAsv0000174Bsd00005630* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) + + pci:v00001002d000068DAsv0000174Bsd00006490* +- ID_MODEL_FROM_DATABASE=Radeon HD 6490 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) + + pci:v00001002d000068DAsv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) + + pci:v00001002d000068DAsv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6390 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) + + pci:v00001002d000068DAsv000017AFsd00003010* +- ID_MODEL_FROM_DATABASE=Radeon HD 5630 ++ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) + + pci:v00001002d000068DE* + ID_MODEL_FROM_DATABASE=Redwood +@@ -7212,349 +7212,349 @@ pci:v00001002d000068E0* + ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] + + pci:v00001002d000068E0sv00001028sd00000404* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv00001028sd00000414* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv00001028sd00000434* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001433* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001434* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001469* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd0000146B* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001486* +- ID_MODEL_FROM_DATABASE=TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450)) + + pci:v00001002d000068E0sv0000103Csd00001622* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd00001623* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000103Csd0000EEEE* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv0000104Dsd00009076* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) + + pci:v00001002d000068E0sv00001682sd0000304E* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E0sv00001682sd00006000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E0sv000017AAsd00009E52* +- ID_MODEL_FROM_DATABASE=FirePro M3800 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) + + pci:v00001002d000068E0sv000017AAsd00009E53* +- ID_MODEL_FROM_DATABASE=FirePro M3800 ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) + + pci:v00001002d000068E1* + ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] + + pci:v00001002d000068E1sv00001043sd0000041F* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv00001043sd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) + + pci:v00001002d000068E1sv0000148Csd00003002* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6250] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6250]) + + pci:v00001002d000068E1sv0000148Csd00003003* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) + + pci:v00001002d000068E1sv0000148Csd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv0000148Csd00008350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350]) + + pci:v00001002d000068E1sv00001545sd00005450* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv00001682sd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv00001682sd00006000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv00001682sd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000174Bsd00005470* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5470] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5470]) + + pci:v00001002d000068E1sv0000174Bsd00006000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv0000174Bsd00006230* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) + + pci:v00001002d000068E1sv0000174Bsd00006350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) + + pci:v00001002d000068E1sv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) + + pci:v00001002d000068E1sv000017AFsd00003001* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) + + pci:v00001002d000068E1sv000017AFsd00003014* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) + + pci:v00001002d000068E1sv000017AFsd00003015* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) + + pci:v00001002d000068E1sv000017AFsd00008350* +- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350 OEM] ++ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350 OEM]) + + pci:v00001002d000068E4* + ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] + + pci:v00001002d000068E4sv00001019sd00002386* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) + + pci:v00001002d000068E4sv00001019sd00002387* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) + + pci:v00001002d000068E4sv00001019sd0000238D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001019sd0000238E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd00000382* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd00000489* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd0000048A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd0000048B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001025sd0000048C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004C1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004CA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004CC* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004CD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001028sd000004D7* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001411* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001421* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001426* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001428* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000142A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000142B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000143A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000143C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001445* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000162F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001639* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163D* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163E* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000163F* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001641* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00001643* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00003578* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd0000357A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00003673* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000103Csd00003675* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001043sd00001C92* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001043sd000084A1* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001043sd000084AD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000104Dsd00009081* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 7350]) + + pci:v00001002d000068E4sv00001558sd00004510* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv00001558sd00005505* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv0000174Bsd00005450* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 5450]) + + pci:v00001002d000068E4sv000017AAsd000021DD* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv000017AAsd000021E9* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv000017AAsd00003971* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) + + pci:v00001002d000068E4sv000017AAsd00003972* +- ID_MODEL_FROM_DATABASE=Radeon HD 7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) + + pci:v00001002d000068E4sv000017AAsd0000397A* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) + + pci:v00001002d000068E4sv000017AAsd0000397B* +- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) + + pci:v00001002d000068E4sv000017AAsd0000397F* +- ID_MODEL_FROM_DATABASE=Radeon HD 7370M ++ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) + + pci:v00001002d000068E5* + ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] + + pci:v00001002d000068E5sv00001179sd0000FD3C* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD50* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD52* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD63* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD65* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD73* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FD75* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDD0* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDD2* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDEA* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv00001179sd0000FDF8* +- ID_MODEL_FROM_DATABASE=Radeon HD 6330M ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) + + pci:v00001002d000068E5sv0000148Csd00005450* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 5450]) + + pci:v00001002d000068E5sv0000148Csd00006350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 6350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 6350]) + + pci:v00001002d000068E5sv0000148Csd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) + + pci:v00001002d000068E5sv0000148Csd00008350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 8350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 8350]) + + pci:v00001002d000068E5sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] ++ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) + + pci:v00001002d000068E8* + ID_MODEL_FROM_DATABASE=Cedar +@@ -7575,259 +7575,259 @@ pci:v00001002d000068F9* + ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] + + pci:v00001002d000068F9sv00001019sd00000001* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001019sd00000002* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001019sd00000019* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001025sd00000518* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001025sd00000519* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (XPS 8300) + + pci:v00001002d000068F9sv00001028sd00002126* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000103Csd00002126* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000103Csd00002AAC* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000103Csd00002AAE* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000103Csd00003580* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001043sd00000386* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001043sd000003C2* +- ID_MODEL_FROM_DATABASE=EAH5450 SILENT/DI/512MD2 (LP) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (EAH5450 SILENT/DI/512MD2 (LP)) + + pci:v00001002d000068F9sv00001462sd00002130* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002131* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002133* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001462sd00002180* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002181* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002182* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001462sd00002183* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001462sd00002230* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002231* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001462sd00002495* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000148Csd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 5530/6250 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530/6250) + + pci:v00001002d000068F9sv0000148Csd00003002* +- ID_MODEL_FROM_DATABASE=Radeon HD 6290 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) + + pci:v00001002d000068F9sv0000148Csd00003003* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv0000148Csd00003004* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000148Csd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv0000148Csd00008350* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) + + pci:v00001002d000068F9sv00001545sd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv00001642sd00003983* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001642sd00003984* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001642sd00003987* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv00001642sd00003997* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001642sd00003A05* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001642sd00003B31* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350A ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350A) + + pci:v00001002d000068F9sv00001682sd00003270* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv0000174Bsd00003987* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000174Bsd00005470* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv0000174Bsd00005490* +- ID_MODEL_FROM_DATABASE=Radeon HD 5490 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) + + pci:v00001002d000068F9sv0000174Bsd00005530* +- ID_MODEL_FROM_DATABASE=Radeon HD 5530 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) + + pci:v00001002d000068F9sv0000174Bsd00006230* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv0000174Bsd00006250* +- ID_MODEL_FROM_DATABASE=Radeon HD 6250 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) + + pci:v00001002d000068F9sv0000174Bsd00006290* +- ID_MODEL_FROM_DATABASE=Radeon HD 6290 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) + + pci:v00001002d000068F9sv0000174Bsd00006350* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068F9sv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) + + pci:v00001002d000068F9sv0000174Bsd00008350* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) + + pci:v00001002d000068F9sv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000174Bsd0000E145* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv00001787sd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 5530 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) + + pci:v00001002d000068F9sv00001787sd00003002* +- ID_MODEL_FROM_DATABASE=Radeon HD 5490 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) + + pci:v00001002d000068F9sv000017AAsd00003602* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AAsd00003603* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AAsd0000360F* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AAsd00003619* +- ID_MODEL_FROM_DATABASE=Radeon HD 5450 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) + + pci:v00001002d000068F9sv000017AFsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 6250 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) + + pci:v00001002d000068F9sv000017AFsd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 6230 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) + + pci:v00001002d000068F9sv000017AFsd00003002* +- ID_MODEL_FROM_DATABASE=Radeon HD 6290 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) + + pci:v00001002d000068F9sv000017AFsd00003011* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv000017AFsd00003012* +- ID_MODEL_FROM_DATABASE=Radeon HD 5490 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) + + pci:v00001002d000068F9sv000017AFsd00003013* +- ID_MODEL_FROM_DATABASE=Radeon HD 5470 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) + + pci:v00001002d000068F9sv000017AFsd00003014* +- ID_MODEL_FROM_DATABASE=Radeon HD 6350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068FA* + ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] + + pci:v00001002d000068FAsv00001019sd00000019* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000021* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000022* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000026* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000103Csd00002ADF* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350A ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) + + pci:v00001002d000068FAsv0000103Csd00002AE8* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350A ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) + + pci:v00001002d000068FAsv00001043sd00008350* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) + + pci:v00001002d000068FAsv00001462sd00002128* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002184* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002186* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002495* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd0000B490* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001642sd00003985* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd00008153* +- ID_MODEL_FROM_DATABASE=Radeon HD 8350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E180* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FAsv000017AFsd00003015* +- ID_MODEL_FROM_DATABASE=Radeon HD 7350 ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) + + pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE +@@ -7863,16 +7863,16 @@ pci:v00001002d00007109* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] + + pci:v00001002d00007109sv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-in-Wonder X1800XL ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (All-in-Wonder X1800XL) + + pci:v00001002d00007109sv00001002sd00000D02* +- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (Radeon X1800 CrossFire Edition) + + pci:v00001002d0000710A* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] + + pci:v00001002d0000710Asv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=Radeon X1800 GTO² ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] (Radeon X1800 GTO²) + + pci:v00001002d0000710B* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] +@@ -7887,10 +7887,10 @@ pci:v00001002d00007129* + ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) + + pci:v00001002d00007129sv00001002sd00000323* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X1800 XL (Secondary) ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (All-In-Wonder X1800 XL (Secondary)) + + pci:v00001002d00007129sv00001002sd00000D03* +- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (Radeon X1800 CrossFire Edition (Secondary)) + + pci:v00001002d00007140* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550/X1600 Series] +@@ -7899,10 +7899,10 @@ pci:v00001002d00007142* + ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] + + pci:v00001002d00007142sv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition ++ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (All-in-Wonder 2006 PCI-E Edition) + + pci:v00001002d00007142sv00001043sd00000142* +- ID_MODEL_FROM_DATABASE=EAX1300PRO/TD/256M ++ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (EAX1300PRO/TD/256M) + + pci:v00001002d00007143* + ID_MODEL_FROM_DATABASE=RV505 [Radeon X1300/X1550 Series] +@@ -7911,16 +7911,16 @@ pci:v00001002d00007145* + ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] + + pci:v00001002d00007145sv000017AAsd00002006* +- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 ++ ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] (Thinkpad T60 model 2007) + + pci:v00001002d00007146* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] + + pci:v00001002d00007146sv00001002sd00000322* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (All-in-Wonder 2006 PCI-E Edition) + + pci:v00001002d00007146sv00001545sd00001996* +- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (Radeon X1300 512MB PCI-e) + + pci:v00001002d00007147* + ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 64-bit] +@@ -7944,7 +7944,7 @@ pci:v00001002d00007162* + ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) + + pci:v00001002d00007162sv00001002sd00000323* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) + + pci:v00001002d00007163* + ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 Series] (Secondary) +@@ -7953,10 +7953,10 @@ pci:v00001002d00007166* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) + + pci:v00001002d00007166sv00001002sd00000323* +- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) + + pci:v00001002d00007166sv00001545sd00001997* +- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e (Secondary) ++ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (Radeon X1300 512MB PCI-e (Secondary)) + + pci:v00001002d00007167* + ID_MODEL_FROM_DATABASE=RV515 [Radeon X1550 64-bit] (Secondary) +@@ -7983,7 +7983,7 @@ pci:v00001002d00007188* + ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] + + pci:v00001002d00007188sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=6910p ++ ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] (6910p) + + pci:v00001002d0000718A* + ID_MODEL_FROM_DATABASE=RV516/M64 [Mobility Radeon X2300] +@@ -8028,16 +8028,16 @@ pci:v00001002d000071C0* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] + + pci:v00001002d000071C0sv00001002sd0000E160* +- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO ++ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) + + pci:v00001002d000071C0sv0000174Bsd0000E160* +- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO ++ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) + + pci:v00001002d000071C1* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] + + pci:v00001002d000071C1sv0000174Bsd00000880* +- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Radeon X1700 FSC) + + pci:v00001002d000071C2* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 PRO] +@@ -8046,22 +8046,22 @@ pci:v00001002d000071C4* + ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] + + pci:v00001002d000071C4sv000017AAsd00002007* +- ID_MODEL_FROM_DATABASE=ThinkPad T60p ++ ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] (ThinkPad T60p) + + pci:v00001002d000071C5* + ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] + + pci:v00001002d000071C5sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq nx9420 Notebook) + + pci:v00001002d000071C5sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq NW8440 ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq NW8440) + + pci:v00001002d000071C5sv00001043sd000010B2* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (A6J-Q008) + + pci:v00001002d000071C5sv0000106Bsd00000080* +- ID_MODEL_FROM_DATABASE=MacBook Pro ++ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (MacBook Pro) + + pci:v00001002d000071C6* + ID_MODEL_FROM_DATABASE=RV530LE [Radeon X1600/X1650 PRO] +@@ -8070,7 +8070,7 @@ pci:v00001002d000071C7* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] + + pci:v00001002d000071C7sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=PowerColor X1650 PRO AGP ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (PowerColor X1650 PRO AGP) + + pci:v00001002d000071CE* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1300 XT/X1600 PRO] +@@ -8094,13 +8094,13 @@ pci:v00001002d000071E0* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) + + pci:v00001002d000071E0sv0000174Bsd0000E161* +- ID_MODEL_FROM_DATABASE=Radeon X1600 GTO (Secondary) ++ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) (Radeon X1600 GTO (Secondary)) + + pci:v00001002d000071E1* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) + + pci:v00001002d000071E1sv0000174Bsd00000881* +- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC (Secondary) ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1700 FSC (Secondary)) + + pci:v00001002d000071E2* + ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) +@@ -8112,7 +8112,7 @@ pci:v00001002d000071E7* + ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) + + pci:v00001002d000071E7sv00001787sd00003001* +- ID_MODEL_FROM_DATABASE=Radeon X1650 PRO AGP ++ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1650 PRO AGP) + + pci:v00001002d000071F2* + ID_MODEL_FROM_DATABASE=RV530 GL [FireGL V3400] (Secondary) +@@ -8127,7 +8127,7 @@ pci:v00001002d00007240* + ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] + + pci:v00001002d00007240sv00001002sd00000D02* +- ID_MODEL_FROM_DATABASE=Radeon X1950 CrossFire Edition ++ ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] (Radeon X1950 CrossFire Edition) + + pci:v00001002d00007244* + ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XT] +@@ -8139,25 +8139,25 @@ pci:v00001002d00007249* + ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] + + pci:v00001002d00007249sv00001002sd00000412* +- ID_MODEL_FROM_DATABASE=All-In-Wonder X1900 ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (All-In-Wonder X1900) + + pci:v00001002d00007249sv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=Radeon X1900 XT/XTX ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XT/XTX) + + pci:v00001002d00007249sv00001002sd00000D02* +- ID_MODEL_FROM_DATABASE=Radeon X1900 CrossFire Edition ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 CrossFire Edition) + + pci:v00001002d00007249sv00001043sd00000160* +- ID_MODEL_FROM_DATABASE=Radeon X1900 XTX 512 MB GDDR3 ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XTX 512 MB GDDR3) + + pci:v00001002d0000724B* + ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] + + pci:v00001002d0000724Bsv00001002sd00000B12* +- ID_MODEL_FROM_DATABASE=Radeon X1900 (Primary) ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Primary)) + + pci:v00001002d0000724Bsv00001002sd00000B13* +- ID_MODEL_FROM_DATABASE=Radeon X1900 (Secondary) ++ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Secondary)) + + pci:v00001002d0000724E* + ID_MODEL_FROM_DATABASE=R580 GL [FireGL V7350] +@@ -8181,7 +8181,7 @@ pci:v00001002d00007291* + ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] + + pci:v00001002d00007291sv00001462sd00000810* +- ID_MODEL_FROM_DATABASE=Radeon X1700 SE ++ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] (Radeon X1700 SE) + + pci:v00001002d00007293* + ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT] +@@ -8214,10 +8214,10 @@ pci:v00001002d00007910* + ID_MODEL_FROM_DATABASE=RS690 Host Bridge + + pci:v00001002d00007910sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (Satellite P305D-S8995E) + + pci:v00001002d00007910sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (KI690-AM2 Motherboard) + + pci:v00001002d00007911* + ID_MODEL_FROM_DATABASE=RS690 Host Bridge +@@ -8238,31 +8238,31 @@ pci:v00001002d00007917* + ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) + + pci:v00001002d00007917sv00001002sd00007910* +- ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge ++ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) (RS690 PCI to PCI Bridge) + + pci:v00001002d00007919* + ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] + + pci:v00001002d00007919sv00001179sd00007919* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (Satellite P305D-S8995E) + + pci:v00001002d00007919sv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (KI690-AM2 Motherboard) + + pci:v00001002d0000791E* + ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] + + pci:v00001002d0000791Esv00001462sd00007327* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (K9AG Neo2) + + pci:v00001002d0000791Esv000017F2sd00005000* +- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard ++ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (KI690-AM2 Motherboard) + + pci:v00001002d0000791F* + ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] + + pci:v00001002d0000791Fsv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] (Satellite P305D-S8995E) + + pci:v00001002d00007930* + ID_MODEL_FROM_DATABASE=RS600 Host Bridge +@@ -8301,13 +8301,13 @@ pci:v00001002d00009400* + ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] + + pci:v00001002d00009400sv00001002sd00002552* +- ID_MODEL_FROM_DATABASE=Radeon HD 2900 XT ++ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 XT) + + pci:v00001002d00009400sv00001002sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 2900 PRO ++ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 PRO) + + pci:v00001002d00009400sv00001002sd00003142* +- ID_MODEL_FROM_DATABASE=HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe ++ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe) + + pci:v00001002d00009401* + ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 XT] +@@ -8337,10 +8337,10 @@ pci:v00001002d00009442* + ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] + + pci:v00001002d00009442sv00001002sd00000502* +- ID_MODEL_FROM_DATABASE=MSI Radeon HD 4850 512MB GDDR3 ++ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (MSI Radeon HD 4850 512MB GDDR3) + + pci:v00001002d00009442sv0000174Bsd0000E810* +- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 ++ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (Radeon HD 4850 512MB GDDR3) + + pci:v00001002d00009443* + ID_MODEL_FROM_DATABASE=R700 [Radeon HD 4850 X2] +@@ -8364,7 +8364,7 @@ pci:v00001002d0000944E* + ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] + + pci:v00001002d0000944Esv0000174Bsd00003261* +- ID_MODEL_FROM_DATABASE=Radeon HD 4810 ++ ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] (Radeon HD 4810) + + pci:v00001002d00009450* + ID_MODEL_FROM_DATABASE=RV770 GL [FireStream 9270] +@@ -8391,7 +8391,7 @@ pci:v00001002d00009480* + ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] + + pci:v00001002d00009480sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4650 [dv6-1190en] ++ ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] (Mobility Radeon HD 4650 [dv6-1190en]) + + pci:v00001002d00009488* + ID_MODEL_FROM_DATABASE=RV730/M96-XT [Mobility Radeon HD 4670] +@@ -8403,7 +8403,7 @@ pci:v00001002d00009490* + ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] + + pci:v00001002d00009490sv0000174Bsd0000E880* +- ID_MODEL_FROM_DATABASE=Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO ++ ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] (Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO) + + pci:v00001002d00009491* + ID_MODEL_FROM_DATABASE=RV730/M96-CSP [Radeon E4690] +@@ -8412,19 +8412,19 @@ pci:v00001002d00009495* + ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] + + pci:v00001002d00009495sv00001002sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650/4670 AGP ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650/4670 AGP) + + pci:v00001002d00009495sv00001092sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4670 AGP 512MB DDR2 ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4670 AGP 512MB DDR2) + + pci:v00001002d00009495sv00001458sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) + + pci:v00001002d00009495sv00001682sd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) + + pci:v00001002d00009495sv0000174Bsd00000028* +- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP DDR2 ++ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP DDR2) + + pci:v00001002d00009498* + ID_MODEL_FROM_DATABASE=RV730 PRO [Radeon HD 4650] +@@ -8457,22 +8457,22 @@ pci:v00001002d000094C1* + ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] + + pci:v00001002d000094C1sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) + + pci:v00001002d000094C1sv00001028sd00000D02* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) + + pci:v00001002d000094C3* + ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] + + pci:v00001002d000094C3sv00001028sd00000302* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 Pro ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 Pro) + + pci:v00001002d000094C3sv0000174Bsd0000E400* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) + + pci:v00001002d000094C3sv000018BCsd00003550* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) + + pci:v00001002d000094C4* + ID_MODEL_FROM_DATABASE=RV610 LE [Radeon HD 2400 PRO AGP] +@@ -8490,7 +8490,7 @@ pci:v00001002d000094C9* + ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] + + pci:v00001002d000094C9sv00001002sd000094C9* +- ID_MODEL_FROM_DATABASE=Radeon HD2400 ++ ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] (Radeon HD2400) + + pci:v00001002d000094CB* + ID_MODEL_FROM_DATABASE=RV610 [Radeon E2400] +@@ -8505,7 +8505,7 @@ pci:v00001002d00009501* + ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] + + pci:v00001002d00009501sv0000174Bsd0000E620* +- ID_MODEL_FROM_DATABASE=Radeon HD 3870 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] (Radeon HD 3870) + + pci:v00001002d00009504* + ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850] +@@ -8514,13 +8514,13 @@ pci:v00001002d00009505* + ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] + + pci:v00001002d00009505sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3850 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3850) + + pci:v00001002d00009505sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3690/3850 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690/3850) + + pci:v00001002d00009505sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3690 ++ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690) + + pci:v00001002d00009506* + ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850 X2] +@@ -8556,76 +8556,76 @@ pci:v00001002d0000954F* + ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] + + pci:v00001002d0000954Fsv00001462sd00001618* +- ID_MODEL_FROM_DATABASE=R4350 MD512H (MS-V161) ++ ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] (R4350 MD512H (MS-V161)) + + pci:v00001002d00009552* + ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] + + pci:v00001002d00009552sv00001028sd00001103* +- ID_MODEL_FROM_DATABASE=M92 [Mobility Radeon HD 4330] ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (M92 [Mobility Radeon HD 4330]) + + pci:v00001002d00009552sv00001458sd000021AC* +- ID_MODEL_FROM_DATABASE=Radeon HD 4350 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350) + + pci:v00001002d00009552sv00001458sd000021ED* +- ID_MODEL_FROM_DATABASE=Radeon HD 4550 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4550) + + pci:v00001002d00009552sv0000148Csd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 4350 Go! Green 512MB GDDR3 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350 Go! Green 512MB GDDR3) + + pci:v00001002d00009552sv0000174Bsd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 4350/4550 HyperMemory DDR2 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350/4550 HyperMemory DDR2) + + pci:v00001002d00009553* + ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] + + pci:v00001002d00009553sv00001025sd0000015E* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd0000017D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd00000205* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd00000206* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001025sd00000237* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001028sd000002BE* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001028sd000002E8* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv0000103Csd00003624* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv0000103Csd00003636* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) + + pci:v00001002d00009553sv00001043sd00001B32* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001043sd00001B42* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv0000104Dsd00009056* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) + + pci:v00001002d00009553sv00001179sd0000FF82* +- ID_MODEL_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145) ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Satellite L505-13T GPU (Mobility Radeon HD 5145)) + + pci:v00001002d00009555* + ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] + + pci:v00001002d00009555sv0000103Csd00001411* +- ID_MODEL_FROM_DATABASE=ProBook 4720s GPU (Mobility Radeon HD 4350) ++ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] (ProBook 4720s GPU (Mobility Radeon HD 4350)) + + pci:v00001002d00009557* + ID_MODEL_FROM_DATABASE=RV711 GL [FirePro RG220] +@@ -8643,10 +8643,10 @@ pci:v00001002d00009583* + ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] + + pci:v00001002d00009583sv0000106Bsd00000083* +- ID_MODEL_FROM_DATABASE=iMac 7,1 ++ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (iMac 7,1) + + pci:v00001002d00009583sv00001734sd00001107* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 2700 ++ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (Mobility Radeon HD 2700) + + pci:v00001002d00009586* + ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT AGP] +@@ -8658,13 +8658,13 @@ pci:v00001002d00009588* + ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] + + pci:v00001002d00009588sv00001458sd0000216C* +- ID_MODEL_FROM_DATABASE=Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) ++ ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] (Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H)) + + pci:v00001002d00009589* + ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] + + pci:v00001002d00009589sv00001787sd00003000* +- ID_MODEL_FROM_DATABASE=Radeon HD 3610 ++ ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] (Radeon HD 3610) + + pci:v00001002d0000958A* + ID_MODEL_FROM_DATABASE=RV630 [Radeon HD 2600 X2] +@@ -8682,7 +8682,7 @@ pci:v00001002d00009591* + ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] + + pci:v00001002d00009591sv00001002sd00009591* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3650 ++ ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] (Mobility Radeon HD 3650) + + pci:v00001002d00009593* + ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3670] +@@ -8694,7 +8694,7 @@ pci:v00001002d00009596* + ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] + + pci:v00001002d00009596sv00001043sd00000028* +- ID_MODEL_FROM_DATABASE=EAH3650 SILENT/HTDI/512M/A ++ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] (EAH3650 SILENT/HTDI/512M/A) + + pci:v00001002d00009597* + ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] +@@ -8703,19 +8703,19 @@ pci:v00001002d00009598* + ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] + + pci:v00001002d00009598sv00001002sd00009598* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3600 ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Mobility Radeon HD 3600) + + pci:v00001002d00009598sv00001043sd000001D6* +- ID_MODEL_FROM_DATABASE=EAH3650 Silent ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (EAH3650 Silent) + + pci:v00001002d00009598sv00001043sd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 4570 ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 4570) + + pci:v00001002d00009598sv0000174Bsd00003001* +- ID_MODEL_FROM_DATABASE=Radeon HD 3750 ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 3750) + + pci:v00001002d00009598sv0000174Bsd00004580* +- ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 4580] ++ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (RV635 PRO [Radeon HD 4580]) + + pci:v00001002d00009599* + ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] +@@ -8724,7 +8724,7 @@ pci:v00001002d000095C0* + ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] + + pci:v00001002d000095C0sv00001002sd000095C0* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3470 ++ ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] (Mobility Radeon HD 3470) + + pci:v00001002d000095C2* + ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3410/3430] +@@ -8733,13 +8733,13 @@ pci:v00001002d000095C4* + ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] + + pci:v00001002d000095C4sv00001002sd000095C4* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3400 ++ ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] (Mobility Radeon HD 3400) + + pci:v00001002d000095C5* + ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] + + pci:v00001002d000095C5sv00001028sd00000342* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] (OptiPlex 980) + + pci:v00001002d000095C6* + ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450 AGP] +@@ -8760,7 +8760,7 @@ pci:v00001002d00009610* + ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] + + pci:v00001002d00009610sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-MA78GM-S2H Motherboard ++ ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] (GA-MA78GM-S2H Motherboard) + + pci:v00001002d00009611* + ID_MODEL_FROM_DATABASE=RS780C [Radeon 3100] +@@ -8823,22 +8823,22 @@ pci:v00001002d0000970F* + ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] + + pci:v00001002d0000970Fsv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (A785GM-M) + + pci:v00001002d0000970Fsv00001043sd000083A2* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M4A785TD Motherboard) + + pci:v00001002d0000970Fsv00001043sd0000843E* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M5A88-V EVO) + + pci:v00001002d00009710* + ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] + + pci:v00001002d00009710sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (A785GM-M) + + pci:v00001002d00009710sv00001043sd000083A2* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (M4A785TD Motherboard) + + pci:v00001002d00009712* + ID_MODEL_FROM_DATABASE=RS880M [Mobility Radeon HD 4225/4250] +@@ -8853,13 +8853,13 @@ pci:v00001002d00009715* + ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] + + pci:v00001002d00009715sv00001043sd0000843E* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] (M5A88-V EVO) + + pci:v00001002d00009802* + ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] + + pci:v00001002d00009802sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] (PURE Fusion Mini) + + pci:v00001002d00009803* + ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] +@@ -8991,16 +8991,16 @@ pci:v00001002d00009902* + ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller + + pci:v00001002d00009902sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller (ProBook 455 G1 Notebook) + + pci:v00001002d00009903* + ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] + + pci:v00001002d00009903sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) + + pci:v00001002d00009903sv0000103Csd00001952* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) + + pci:v00001002d00009904* + ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7560D] +@@ -9114,10 +9114,10 @@ pci:v00001002d0000AA10* + ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] + + pci:v00001002d0000AA10sv0000174Bsd0000AA10* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) + + pci:v00001002d0000AA10sv000018BCsd0000AA10* +- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO ++ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) + + pci:v00001002d0000AA18* + ID_MODEL_FROM_DATABASE=RV670/680 HDMI Audio [Radeon HD 3690/3800 Series] +@@ -9132,13 +9132,13 @@ pci:v00001002d0000AA30* + ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] + + pci:v00001002d0000AA30sv0000174Bsd0000AA30* +- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink ++ ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] (Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink) + + pci:v00001002d0000AA38* + ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] + + pci:v00001002d0000AA38sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] (dv6-1190en) + + pci:v00001002d0000AA50* + ID_MODEL_FROM_DATABASE=Cypress HDMI Audio [Radeon HD 5800 Series] +@@ -9150,16 +9150,16 @@ pci:v00001002d0000AA60* + ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] + + pci:v00001002d0000AA60sv00001025sd0000033D* +- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 ++ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Mobility Radeon HD 5650) + + pci:v00001002d0000AA60sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Aspire 7740G) + + pci:v00001002d0000AA68* + ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] + + pci:v00001002d0000AA68sv00001028sd0000AA68* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] (XPS 8300) + + pci:v00001002d0000AA80* + ID_MODEL_FROM_DATABASE=Cayman/Antilles HDMI Audio [Radeon HD 6900 Series] +@@ -9171,13 +9171,13 @@ pci:v00001002d0000AA90* + ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] + + pci:v00001002d0000AA90sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] (Precision M4600) + + pci:v00001002d0000AA98* + ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] + + pci:v00001002d0000AA98sv0000174Bsd0000AA98* +- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1GB DDR3 ++ ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] (Radeon HD 6450 1GB DDR3) + + pci:v00001002d0000AAA0* + ID_MODEL_FROM_DATABASE=Tahiti XT HDMI Audio [Radeon HD 7970 Series] +@@ -9264,10 +9264,10 @@ pci:v00001004d00000304sv00001004sd00000304* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio + + pci:v00001004d00000304sv0000122Dsd00001206* +- ID_MODEL_FROM_DATABASE=DSP368 Audio ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (DSP368 Audio) + + pci:v00001004d00000304sv00001483sd00005020* +- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (XWave Thunder 3D Audio) + + pci:v00001004d00000305* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport +@@ -9276,10 +9276,10 @@ pci:v00001004d00000305sv00001004sd00000305* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport + + pci:v00001004d00000305sv0000122Dsd00001207* +- ID_MODEL_FROM_DATABASE=DSP368 Audio Gameport ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (DSP368 Audio Gameport) + + pci:v00001004d00000305sv00001483sd00005021* +- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Gameport ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (XWave Thunder 3D Audio Gameport) + + pci:v00001004d00000306* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers +@@ -9288,22 +9288,22 @@ pci:v00001004d00000306sv00001004sd00000306* + ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers + + pci:v00001004d00000306sv0000122Dsd00001208* +- ID_MODEL_FROM_DATABASE=DSP368 Audio Support Registers ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (DSP368 Audio Support Registers) + + pci:v00001004d00000306sv00001483sd00005022* +- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Support Registers ++ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (XWave Thunder 3D Audio Support Registers) + + pci:v00001004d00000307* + ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio + + pci:v00001004d00000307sv00001004sd00000703* +- ID_MODEL_FROM_DATABASE=Philips Rhythmic Edge PSC703 ++ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Rhythmic Edge PSC703) + + pci:v00001004d00000307sv00001004sd00000705* +- ID_MODEL_FROM_DATABASE=Philips Seismic Edge PSC705 ++ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Seismic Edge PSC705) + + pci:v00001004d00000307sv00001004sd00000706* +- ID_MODEL_FROM_DATABASE=Philips Acoustic Edge PSC706 ++ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Acoustic Edge PSC706) + + pci:v00001004d00000308* + ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio Gameport +@@ -9375,16 +9375,16 @@ pci:v0000100Bd00000020* + ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller + + pci:v0000100Bd00000020sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Network ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Pavilion ze4400 builtin Network) + + pci:v0000100Bd00000020sv000012D9sd0000000C* +- ID_MODEL_FROM_DATABASE=Aculab E1/T1 PMXc cPCI carrier card ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Aculab E1/T1 PMXc cPCI carrier card) + + pci:v0000100Bd00000020sv00001385sd0000F311* +- ID_MODEL_FROM_DATABASE=FA311 / FA312 (FA311 with WoL HW) ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA311 / FA312 (FA311 with WoL HW)) + + pci:v0000100Bd00000020sv00001385sd0000F312* +- ID_MODEL_FROM_DATABASE=FA312 (rev. A1) Fast Ethernet PCI Adapter ++ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA312 (rev. A1) Fast Ethernet PCI Adapter) + + pci:v0000100Bd00000021* + ID_MODEL_FROM_DATABASE=PC87200 PCI to ISA Bridge +@@ -9393,13 +9393,13 @@ pci:v0000100Bd00000022* + ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller + + pci:v0000100Bd00000022sv00001186sd00004900* +- ID_MODEL_FROM_DATABASE=DGE-500T ++ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (DGE-500T) + + pci:v0000100Bd00000022sv00001385sd0000621A* +- ID_MODEL_FROM_DATABASE=GA621 ++ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA621) + + pci:v0000100Bd00000022sv00001385sd0000622A* +- ID_MODEL_FROM_DATABASE=GA622T ++ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA622T) + + pci:v0000100Bd00000028* + ID_MODEL_FROM_DATABASE=Geode GX2 Host Bridge +@@ -9435,13 +9435,13 @@ pci:v0000100Bd00000502* + ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller + + pci:v0000100Bd00000502sv0000100Bsd00000502* +- ID_MODEL_FROM_DATABASE=IDE Controller ++ ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller (IDE Controller) + + pci:v0000100Bd00000503* + ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller + + pci:v0000100Bd00000503sv0000100Bsd00000503* +- ID_MODEL_FROM_DATABASE=XpressAudio controller ++ ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller (XpressAudio controller) + + pci:v0000100Bd00000504* + ID_MODEL_FROM_DATABASE=SCx200 Video +@@ -9453,19 +9453,19 @@ pci:v0000100Bd00000510* + ID_MODEL_FROM_DATABASE=SC1100 Bridge + + pci:v0000100Bd00000510sv0000100Bsd00000500* +- ID_MODEL_FROM_DATABASE=GPIO and LPC support bridge ++ ID_MODEL_FROM_DATABASE=SC1100 Bridge (GPIO and LPC support bridge) + + pci:v0000100Bd00000511* + ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI + + pci:v0000100Bd00000511sv0000100Bsd00000501* +- ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI bridge ++ ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI (bridge) + + pci:v0000100Bd00000515* + ID_MODEL_FROM_DATABASE=SC1100 XBus + + pci:v0000100Bd00000515sv0000100Bsd00000505* +- ID_MODEL_FROM_DATABASE=SC1100 PCI to XBus bridge ++ ID_MODEL_FROM_DATABASE=SC1100 XBus (SC1100 PCI to XBus bridge) + + pci:v0000100Bd0000D001* + ID_MODEL_FROM_DATABASE=87410 IDE +@@ -9534,55 +9534,55 @@ pci:v00001011d00000009* + ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] + + pci:v00001011d00000009sv00001025sd00000310* +- ID_MODEL_FROM_DATABASE=21140 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (21140 Fast Ethernet) + + pci:v00001011d00000009sv000010B8sd00002001* +- ID_MODEL_FROM_DATABASE=SMC9332BDT EtherPower 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BDT EtherPower 10/100) + + pci:v00001011d00000009sv000010B8sd00002002* +- ID_MODEL_FROM_DATABASE=SMC9332BVT EtherPower T4 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BVT EtherPower T4 10/100) + + pci:v00001011d00000009sv000010B8sd00002003* +- ID_MODEL_FROM_DATABASE=SMC9334BDT EtherPower 10/100 (1-port) ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9334BDT EtherPower 10/100 (1-port)) + + pci:v00001011d00000009sv00001109sd00002400* +- ID_MODEL_FROM_DATABASE=ANA-6944A/TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (ANA-6944A/TX Fast Ethernet) + + pci:v00001011d00000009sv00001112sd00002300* +- ID_MODEL_FROM_DATABASE=RNS2300 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2300 Fast Ethernet) + + pci:v00001011d00000009sv00001112sd00002320* +- ID_MODEL_FROM_DATABASE=RNS2320 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2320 Fast Ethernet) + + pci:v00001011d00000009sv00001112sd00002340* +- ID_MODEL_FROM_DATABASE=RNS2340 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2340 Fast Ethernet) + + pci:v00001011d00000009sv00001113sd00001207* +- ID_MODEL_FROM_DATABASE=EN-1207-TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (EN-1207-TX Fast Ethernet) + + pci:v00001011d00000009sv00001186sd00001100* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-500TX Fast Ethernet) + + pci:v00001011d00000009sv00001186sd00001112* +- ID_MODEL_FROM_DATABASE=DFE-570TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-570TX Fast Ethernet) + + pci:v00001011d00000009sv00001186sd00001140* +- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) + + pci:v00001011d00000009sv00001186sd00001142* +- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) + + pci:v00001011d00000009sv000011F6sd00000503* +- ID_MODEL_FROM_DATABASE=Freedomline Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (Freedomline Fast Ethernet) + + pci:v00001011d00000009sv00001282sd00009100* +- ID_MODEL_FROM_DATABASE=AEF-380TXD Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (AEF-380TXD Fast Ethernet) + + pci:v00001011d00000009sv00001385sd00001100* +- ID_MODEL_FROM_DATABASE=FA310TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (FA310TX Fast Ethernet) + + pci:v00001011d00000009sv00002646sd00000001* +- ID_MODEL_FROM_DATABASE=KNE100TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (KNE100TX Fast Ethernet) + + pci:v00001011d0000000A* + ID_MODEL_FROM_DATABASE=21230 Video Codec +@@ -9594,16 +9594,16 @@ pci:v00001011d0000000F* + ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] + + pci:v00001011d0000000Fsv00001011sd0000DEF1* +- ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) ++ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (DEFPA)) + + pci:v00001011d0000000Fsv0000103Csd0000DEF1* +- ID_MODEL_FROM_DATABASE=FDDI controller (3X-DEFPA) ++ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (3X-DEFPA)) + + pci:v00001011d00000014* + ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] + + pci:v00001011d00000014sv00001186sd00000100* +- ID_MODEL_FROM_DATABASE=DE-530+ ++ ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] (DE-530+) + + pci:v00001011d00000016* + ID_MODEL_FROM_DATABASE=DGLPB [OPPO] +@@ -9618,133 +9618,133 @@ pci:v00001011d00000019* + ID_MODEL_FROM_DATABASE=DECchip 21142/43 + + pci:v00001011d00000019sv00001011sd0000500A* +- ID_MODEL_FROM_DATABASE=DE500A Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500A Fast Ethernet) + + pci:v00001011d00000019sv00001011sd0000500B* +- ID_MODEL_FROM_DATABASE=DE500B Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500B Fast Ethernet) + + pci:v00001011d00000019sv00001014sd00000001* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 EtherJet Cardbus) + + pci:v00001011d00000019sv00001025sd00000315* +- ID_MODEL_FROM_DATABASE=ALN315 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ALN315 Fast Ethernet) + + pci:v00001011d00000019sv00001033sd0000800C* +- ID_MODEL_FROM_DATABASE=PC-9821-CS01 100BASE-TX Interface Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821-CS01 100BASE-TX Interface Card) + + pci:v00001011d00000019sv00001033sd0000800D* +- ID_MODEL_FROM_DATABASE=PC-9821NR-B06 100BASE-TX Interface Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821NR-B06 100BASE-TX Interface Card) + + pci:v00001011d00000019sv0000103Csd0000125A* +- ID_MODEL_FROM_DATABASE=10/100Base-TX (PCI) [A5506B] ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100Base-TX (PCI) [A5506B]) + + pci:v00001011d00000019sv0000108Dsd00000016* +- ID_MODEL_FROM_DATABASE=Rapidfire 2327 10/100 Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Rapidfire 2327 10/100 Ethernet) + + pci:v00001011d00000019sv0000108Dsd00000017* +- ID_MODEL_FROM_DATABASE=GoCard 2250 Ethernet 10/100 Cardbus ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (GoCard 2250 Ethernet 10/100 Cardbus) + + pci:v00001011d00000019sv000010B8sd00002005* +- ID_MODEL_FROM_DATABASE=SMC8032DT Extreme Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8032DT Extreme Ethernet 10/100) + + pci:v00001011d00000019sv000010B8sd00008034* +- ID_MODEL_FROM_DATABASE=SMC8034 Extreme Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8034 Extreme Ethernet 10/100) + + pci:v00001011d00000019sv000010EFsd00008169* +- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) + + pci:v00001011d00000019sv00001109sd00002A00* +- ID_MODEL_FROM_DATABASE=ANA-6911A/TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TX Fast Ethernet) + + pci:v00001011d00000019sv00001109sd00002B00* +- ID_MODEL_FROM_DATABASE=ANA-6911A/TXC Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TXC Fast Ethernet) + + pci:v00001011d00000019sv00001109sd00003000* +- ID_MODEL_FROM_DATABASE=ANA-6922/TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6922/TX Fast Ethernet) + + pci:v00001011d00000019sv00001113sd00001207* +- ID_MODEL_FROM_DATABASE=Cheetah Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cheetah Fast Ethernet) + + pci:v00001011d00000019sv00001113sd00002220* +- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) + + pci:v00001011d00000019sv0000115Dsd00000002* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet 10/100) + + pci:v00001011d00000019sv00001179sd00000203* +- ID_MODEL_FROM_DATABASE=Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Fast Ethernet) + + pci:v00001011d00000019sv00001179sd00000204* +- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001100* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001101* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001102* +- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) + + pci:v00001011d00000019sv00001186sd00001112* +- ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-570TX Quad Fast Ethernet) + + pci:v00001011d00000019sv000011F0sd00004235* +- ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (21143 [FASTLine-II UTP 10/100]) + + pci:v00001011d00000019sv00001259sd00002800* +- ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (AT-2800Tx Fast Ethernet) + + pci:v00001011d00000019sv00001266sd00000004* +- ID_MODEL_FROM_DATABASE=Eagle Fast EtherMAX ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Eagle Fast EtherMAX) + + pci:v00001011d00000019sv000012AFsd00000019* +- ID_MODEL_FROM_DATABASE=NetFlyer Cardbus Fast Ethernet ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (NetFlyer Cardbus Fast Ethernet) + + pci:v00001011d00000019sv00001374sd00000001* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001374sd00000002* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001374sd00000007* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001374sd00000008* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) + + pci:v00001011d00000019sv00001385sd00002100* +- ID_MODEL_FROM_DATABASE=FA510 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FA510) + + pci:v00001011d00000019sv00001395sd00000001* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet CardBus PC Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 Ethernet CardBus PC Card) + + pci:v00001011d00000019sv000013D1sd0000AB01* +- ID_MODEL_FROM_DATABASE=EtherFast 10/100 Cardbus (PCMPC200) ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherFast 10/100 Cardbus (PCMPC200)) + + pci:v00001011d00000019sv00001498sd0000000A* +- ID_MODEL_FROM_DATABASE=TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter) + + pci:v00001011d00000019sv00001498sd0000000B* +- ID_MODEL_FROM_DATABASE=TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter) + + pci:v00001011d00000019sv00001498sd0000000C* +- ID_MODEL_FROM_DATABASE=TPMC880-12 Single 10Base2 PMC Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-12 Single 10Base2 PMC Ethernet Adapter) + + pci:v00001011d00000019sv000014CBsd00000100* +- ID_MODEL_FROM_DATABASE=LNDL-100N 100Base-TX Ethernet PC Card ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (LNDL-100N 100Base-TX Ethernet PC Card) + + pci:v00001011d00000019sv00001668sd00002000* +- ID_MODEL_FROM_DATABASE=FastNet Pro (PE2000) ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FastNet Pro (PE2000)) + + pci:v00001011d00000019sv00002646sd00000001* +- ID_MODEL_FROM_DATABASE=KNE100TX ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE100TX) + + pci:v00001011d00000019sv00002646sd00000002* +- ID_MODEL_FROM_DATABASE=KNE-CB4TX ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE-CB4TX) + + pci:v00001011d00000019sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 ++ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherExpress PRO/100 Mobile CardBus 32) + + pci:v00001011d0000001A* + ID_MODEL_FROM_DATABASE=Farallon PN9000SX Gigabit Ethernet +@@ -9780,46 +9780,46 @@ pci:v00001011d00000046* + ID_MODEL_FROM_DATABASE=DECchip 21554 + + pci:v00001011d00000046sv00000E11sd00004050* +- ID_MODEL_FROM_DATABASE=Smart Array 4200 Controller ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4200 Controller) + + pci:v00001011d00000046sv00000E11sd00004051* +- ID_MODEL_FROM_DATABASE=Smart Array 4250ES Controller ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4250ES Controller) + + pci:v00001011d00000046sv00000E11sd00004058* +- ID_MODEL_FROM_DATABASE=Smart Array 431 Controller ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 431 Controller) + + pci:v00001011d00000046sv0000103Csd000010C2* +- ID_MODEL_FROM_DATABASE=NetRAID-4M ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (NetRAID-4M) + + pci:v00001011d00000046sv000012D9sd0000000A* +- ID_MODEL_FROM_DATABASE=IP Telephony card ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (IP Telephony card) + + pci:v00001011d00000046sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (CT7 mainboard) + + pci:v00001011d00000046sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (CE7 mainboard) + + pci:v00001011d00000046sv00009005sd00000364* +- ID_MODEL_FROM_DATABASE=5400S (Mustang) ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) + + pci:v00001011d00000046sv00009005sd00000365* +- ID_MODEL_FROM_DATABASE=5400S (Mustang) ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) + + pci:v00001011d00000046sv00009005sd00001364* +- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) + + pci:v00001011d00000046sv00009005sd00001365* +- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) + + pci:v00001011d00000046sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CC8-1-BLUES ++ ID_MODEL_FROM_DATABASE=DECchip 21554 (CC8-1-BLUES) + + pci:v00001011d00001065* + ID_MODEL_FROM_DATABASE=StrongARM DC21285 + + pci:v00001011d00001065sv00001069sd00000020* +- ID_MODEL_FROM_DATABASE=DAC960P / DAC1164P ++ ID_MODEL_FROM_DATABASE=StrongARM DC21285 (DAC960P / DAC1164P) + + pci:v00001012* + ID_VENDOR_FROM_DATABASE=Micronics Computers Inc +@@ -9858,13 +9858,13 @@ pci:v00001013d000000B8* + ID_MODEL_FROM_DATABASE=GD 5446 + + pci:v00001013d000000B8sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=GD 5446 (QEMU Virtual Machine) + + pci:v00001013d000000BC* + ID_MODEL_FROM_DATABASE=GD 5480 + + pci:v00001013d000000BCsv00001013sd000000BC* +- ID_MODEL_FROM_DATABASE=CL-GD5480 ++ ID_MODEL_FROM_DATABASE=GD 5480 (CL-GD5480) + + pci:v00001013d000000D0* + ID_MODEL_FROM_DATABASE=GD 5462 +@@ -9882,10 +9882,10 @@ pci:v00001013d000000D6* + ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] + + pci:v00001013d000000D6sv000013CEsd00008031* +- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) + + pci:v00001013d000000D6sv000013CFsd00008031* +- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) + + pci:v00001013d000000E8* + ID_MODEL_FROM_DATABASE=GD 5436U +@@ -9921,34 +9921,34 @@ pci:v00001013d00006001* + ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] + + pci:v00001013d00006001sv00001014sd00001010* +- ID_MODEL_FROM_DATABASE=CS4610 SoundFusion Audio Accelerator ++ ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] (CS4610 SoundFusion Audio Accelerator) + + pci:v00001013d00006003* + ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] + + pci:v00001013d00006003sv00001013sd00004280* +- ID_MODEL_FROM_DATABASE=Crystal SoundFusion PCI Audio Accelerator ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Crystal SoundFusion PCI Audio Accelerator) + + pci:v00001013d00006003sv00001014sd00000153* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A20m ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (ThinkPad 600X/A20m) + + pci:v00001013d00006003sv0000153Bsd0000112E* +- ID_MODEL_FROM_DATABASE=DMX XFire 1024 ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (DMX XFire 1024) + + pci:v00001013d00006003sv0000153Bsd00001136* +- ID_MODEL_FROM_DATABASE=SiXPack 5.1+ ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (SiXPack 5.1+) + + pci:v00001013d00006003sv00001681sd00000050* +- ID_MODEL_FROM_DATABASE=Game Theater XP ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Game Theater XP) + + pci:v00001013d00006003sv00001681sd0000A010* +- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo II ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo II) + + pci:v00001013d00006003sv00001681sd0000A011* +- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo III 7.1 ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo III 7.1) + + pci:v00001013d00006003sv00005053sd00003357* +- ID_MODEL_FROM_DATABASE=Santa Cruz ++ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Santa Cruz) + + pci:v00001013d00006004* + ID_MODEL_FROM_DATABASE=CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] +@@ -10029,16 +10029,16 @@ pci:v00001014d0000002E* + ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] + + pci:v00001014d0000002Esv00001014sd0000002E* +- ID_MODEL_FROM_DATABASE=ServeRAID-3x ++ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-3x) + + pci:v00001014d0000002Esv00001014sd0000022E* +- ID_MODEL_FROM_DATABASE=ServeRAID-4H ++ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-4H) + + pci:v00001014d00000031* + ID_MODEL_FROM_DATABASE=2 Port Serial Adapter + + pci:v00001014d00000031sv00001014sd00000031* +- ID_MODEL_FROM_DATABASE=2721 WAN IOA - 2 Port Sync Serial Adapter ++ ID_MODEL_FROM_DATABASE=2 Port Serial Adapter (2721 WAN IOA - 2 Port Sync Serial Adapter) + + pci:v00001014d00000036* + ID_MODEL_FROM_DATABASE=PCI to 32-bit LocalBus Bridge [Miami] +@@ -10056,25 +10056,25 @@ pci:v00001014d0000003E* + ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller + + pci:v00001014d0000003Esv00001014sd0000003E* +- ID_MODEL_FROM_DATABASE=Token-Ring Adapter ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter) + + pci:v00001014d0000003Esv00001014sd000000CD* +- ID_MODEL_FROM_DATABASE=Token-Ring Adapter + Wake-On-LAN ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter + Wake-On-LAN) + + pci:v00001014d0000003Esv00001014sd000000CE* +- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2) + + pci:v00001014d0000003Esv00001014sd000000CF* +- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter Special ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter Special) + + pci:v00001014d0000003Esv00001014sd000000E4* +- ID_MODEL_FROM_DATABASE=High-Speed 100/16/4 Token-Ring Adapter ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (High-Speed 100/16/4 Token-Ring Adapter) + + pci:v00001014d0000003Esv00001014sd000000E5* +- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 + Wake-On-LAN ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2 + Wake-On-LAN) + + pci:v00001014d0000003Esv00001014sd0000016D* +- ID_MODEL_FROM_DATABASE=iSeries 2744 Card ++ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (iSeries 2744 Card) + + pci:v00001014d00000045* + ID_MODEL_FROM_DATABASE=SSA Adapter +@@ -10131,7 +10131,7 @@ pci:v00001014d00000090* + ID_MODEL_FROM_DATABASE=GXT 3000P + + pci:v00001014d00000090sv00001014sd0000008E* +- ID_MODEL_FROM_DATABASE=GXT-3000P ++ ID_MODEL_FROM_DATABASE=GXT 3000P (GXT-3000P) + + pci:v00001014d00000091* + ID_MODEL_FROM_DATABASE=SSA Adapter +@@ -10143,13 +10143,13 @@ pci:v00001014d00000096* + ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller + + pci:v00001014d00000096sv00001014sd00000097* +- ID_MODEL_FROM_DATABASE=iSeries 2778 DASD IOA ++ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2778 DASD IOA) + + pci:v00001014d00000096sv00001014sd00000098* +- ID_MODEL_FROM_DATABASE=iSeries 2763 DASD IOA ++ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2763 DASD IOA) + + pci:v00001014d00000096sv00001014sd00000099* +- ID_MODEL_FROM_DATABASE=iSeries 2748 DASD IOA ++ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2748 DASD IOA) + + pci:v00001014d0000009F* + ID_MODEL_FROM_DATABASE=PCI 4758 Cryptographic Accelerator +@@ -10164,7 +10164,7 @@ pci:v00001014d000000B7* + ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] + + pci:v00001014d000000B7sv00001092sd000000B8* +- ID_MODEL_FROM_DATABASE=FireGL1 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] (FireGL1 AGP 32Mb) + + pci:v00001014d000000B8* + ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter +@@ -10188,13 +10188,13 @@ pci:v00001014d00000142* + ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input + + pci:v00001014d00000142sv00001014sd00000143* +- ID_MODEL_FROM_DATABASE=Yotta Input Controller (ytin) ++ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input (Yotta Input Controller (ytin)) + + pci:v00001014d00000144* + ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output + + pci:v00001014d00000144sv00001014sd00000145* +- ID_MODEL_FROM_DATABASE=Yotta Output Controller (ytout) ++ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output (Yotta Output Controller (ytout)) + + pci:v00001014d00000156* + ID_MODEL_FROM_DATABASE=405GP PLB to PCI Bridge +@@ -10218,10 +10218,10 @@ pci:v00001014d00000180* + ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller + + pci:v00001014d00000180sv00001014sd00000241* +- ID_MODEL_FROM_DATABASE=iSeries 2757 DASD IOA ++ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (iSeries 2757 DASD IOA) + + pci:v00001014d00000180sv00001014sd00000264* +- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X U320 SCSI RAID Adapter (2780) ++ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (Quad Channel PCI-X U320 SCSI RAID Adapter (2780)) + + pci:v00001014d00000188* + ID_MODEL_FROM_DATABASE=EADS-X PCI-X to PCI-X Bridge +@@ -10233,28 +10233,28 @@ pci:v00001014d000001BD* + ID_MODEL_FROM_DATABASE=ServeRAID Controller + + pci:v00001014d000001BDsv00001014sd000001BD* +- ID_MODEL_FROM_DATABASE=ServeRAID 4Lx ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 4Lx) + + pci:v00001014d000001BDsv00001014sd000001BE* +- ID_MODEL_FROM_DATABASE=ServeRAID-4M ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4M) + + pci:v00001014d000001BDsv00001014sd000001BF* +- ID_MODEL_FROM_DATABASE=ServeRAID-4L ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4L) + + pci:v00001014d000001BDsv00001014sd00000208* +- ID_MODEL_FROM_DATABASE=ServeRAID-4Mx ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Mx) + + pci:v00001014d000001BDsv00001014sd0000020E* +- ID_MODEL_FROM_DATABASE=ServeRAID-4Lx ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Lx) + + pci:v00001014d000001BDsv00001014sd0000022E* +- ID_MODEL_FROM_DATABASE=ServeRAID-4H ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4H) + + pci:v00001014d000001BDsv00001014sd00000258* +- ID_MODEL_FROM_DATABASE=ServeRAID-5i ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) + + pci:v00001014d000001BDsv00001014sd00000259* +- ID_MODEL_FROM_DATABASE=ServeRAID-5i ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) + + pci:v00001014d000001C1* + ID_MODEL_FROM_DATABASE=64bit/66MHz PCI ATM 155 UTP +@@ -10266,10 +10266,10 @@ pci:v00001014d000001EF* + ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge + + pci:v00001014d000001EFsv00001734sd0000102B* +- ID_MODEL_FROM_DATABASE=PCEAS PCI-X Dual Port ESCON Adapter ++ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAS PCI-X Dual Port ESCON Adapter) + + pci:v00001014d000001EFsv00001734sd000010F8* +- ID_MODEL_FROM_DATABASE=PCEAT PCI-Express Dual Port ESCON Adapter ++ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAT PCI-Express Dual Port ESCON Adapter) + + pci:v00001014d000001FF* + ID_MODEL_FROM_DATABASE=10/100 Mbps Ethernet +@@ -10278,13 +10278,13 @@ pci:v00001014d00000219* + ID_MODEL_FROM_DATABASE=Multiport Serial Adapter + + pci:v00001014d00000219sv00001014sd0000021A* +- ID_MODEL_FROM_DATABASE=Dual RVX ++ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Dual RVX) + + pci:v00001014d00000219sv00001014sd00000251* +- ID_MODEL_FROM_DATABASE=Internal Modem/RVX ++ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Internal Modem/RVX) + + pci:v00001014d00000219sv00001014sd00000252* +- ID_MODEL_FROM_DATABASE=Quad Internal Modem ++ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Quad Internal Modem) + + pci:v00001014d0000021B* + ID_MODEL_FROM_DATABASE=GXT6500P Graphics Adapter +@@ -10299,16 +10299,16 @@ pci:v00001014d0000028C* + ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller + + pci:v00001014d0000028Csv00001014sd0000028D* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR SAS RAID Adapter (572E) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR SAS RAID Adapter (572E)) + + pci:v00001014d0000028Csv00001014sd000002BE* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)) + + pci:v00001014d0000028Csv00001014sd000002C0* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI Adapter (571A) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI Adapter (571A)) + + pci:v00001014d0000028Csv00001014sd0000030D* +- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575B) ++ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575B)) + + pci:v00001014d000002A1* + ID_MODEL_FROM_DATABASE=Calgary PCI-X Host Bridge +@@ -10317,13 +10317,13 @@ pci:v00001014d000002BD* + ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller + + pci:v00001014d000002BDsv00001014sd000002C1* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) + + pci:v00001014d000002BDsv00001014sd000002C2* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)) + + pci:v00001014d000002BDsv00001014sd00000338* +- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575C) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575C)) + + pci:v00001014d00000302* + ID_MODEL_FROM_DATABASE=Winnipeg PCI-X Host Bridge +@@ -10338,88 +10338,88 @@ pci:v00001014d0000032D* + ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip + + pci:v00001014d0000032Dsv00001014sd000003A1* +- ID_MODEL_FROM_DATABASE=PCIe PowerXCell 8i Cell Accelerator Board ++ ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip (PCIe PowerXCell 8i Cell Accelerator Board) + + pci:v00001014d00000339* + ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller + + pci:v00001014d00000339sv00001014sd0000030A* +- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS RAID Adapter (574E) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS RAID Adapter (574E)) + + pci:v00001014d00000339sv00001014sd0000033A* +- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS Adapter (57B3) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS Adapter (57B3)) + + pci:v00001014d00000339sv00001014sd0000035C* +- ID_MODEL_FROM_DATABASE=PCIe x8 Internal 3Gb SAS adapter (57CC) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe x8 Internal 3Gb SAS adapter (57CC)) + + pci:v00001014d00000339sv00001014sd00000360* +- ID_MODEL_FROM_DATABASE=PCI-E Auxiliary Cache Adapter (57B7) ++ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCI-E Auxiliary Cache Adapter (57B7)) + + pci:v00001014d0000033D* + ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) + + pci:v00001014d0000033Dsv00001014sd0000033C* +- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5)) + + pci:v00001014d0000033Dsv00001014sd00000353* +- ID_MODEL_FROM_DATABASE=PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3)) + + pci:v00001014d0000033Dsv00001014sd00000354* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Dual-port (57C4) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Dual-port (57C4)) + + pci:v00001014d0000033Dsv00001014sd00000356* +- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D)) + + pci:v00001014d0000033Dsv00001014sd0000035F* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57B2) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Quad-port (57B2)) + + pci:v00001014d0000034A* + ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) + + pci:v00001014d0000034Asv00001014sd0000033B* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS RAID Adapter Quad-port (57B4) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)) + + pci:v00001014d0000034Asv00001014sd00000355* +- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1)) + + pci:v00001014d0000034Asv00001014sd00000357* +- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57C6) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS Adapter Quad-port (57C6)) + + pci:v00001014d0000034Asv00001014sd0000035D* +- ID_MODEL_FROM_DATABASE=PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8)) + + pci:v00001014d0000034Asv00001014sd0000035E* +- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE)) + + pci:v00001014d0000034Asv00001014sd000003FB* +- ID_MODEL_FROM_DATABASE=PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5)) + + pci:v00001014d0000034Asv00001014sd000003FE* +- ID_MODEL_FROM_DATABASE=PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8)) + + pci:v00001014d0000034Asv00001014sd000003FF* +- ID_MODEL_FROM_DATABASE=PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7)) + + pci:v00001014d0000034Asv00001014sd00000474* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB)) + + pci:v00001014d0000034Asv00001014sd00000475* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC)) + + pci:v00001014d0000034Asv00001014sd00000499* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED)) + + pci:v00001014d0000034Asv00001014sd0000049A* +- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE)) + + pci:v00001014d0000034Asv00001014sd000004C7* +- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA)) + + pci:v00001014d0000034Asv00001014sd000004C8* +- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2)) + + pci:v00001014d0000034Asv00001014sd00000C49* +- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) ++ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) + + pci:v00001014d000004AA* + ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) +@@ -10461,13 +10461,13 @@ pci:v0000101Ad00000007* + ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G + + pci:v0000101Ad00000007sv0000101Asd00000019* +- ID_MODEL_FROM_DATABASE=BYNET BIC2C ++ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2C) + + pci:v0000101Ad00000007sv0000101Asd0000001C* +- ID_MODEL_FROM_DATABASE=BYNET BIC2G ++ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2G) + + pci:v0000101Ad00000007sv0000101Asd0000001F* +- ID_MODEL_FROM_DATABASE=BYNET BIC4G ++ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC4G) + + pci:v0000101Ad00000009* + ID_MODEL_FROM_DATABASE=PQS Memory Controller +@@ -10488,19 +10488,19 @@ pci:v0000101Ad00001DC1* + ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M + + pci:v0000101Ad00001DC1sv0000101Asd00000019* +- ID_MODEL_FROM_DATABASE=BIC2M ++ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC2M) + + pci:v0000101Ad00001DC1sv0000101Asd0000001F* +- ID_MODEL_FROM_DATABASE=BIC4M ++ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC4M) + + pci:v0000101Ad00001DC1sv0000101Asd00000ECE* +- ID_MODEL_FROM_DATABASE=BYA4M ++ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BYA4M) + + pci:v0000101Ad00001FA8* + ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) + + pci:v0000101Ad00001FA8sv0000101Asd000000C3* +- ID_MODEL_FROM_DATABASE=BYNET BIC2SE ++ ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) (BYNET BIC2SE) + + pci:v0000101B* + ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor +@@ -10557,46 +10557,46 @@ pci:v0000101Ed00001960* + ID_MODEL_FROM_DATABASE=MegaRAID + + pci:v0000101Ed00001960sv0000101Esd00000471* +- ID_MODEL_FROM_DATABASE=MegaRAID 471 Enterprise 1600 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (471 Enterprise 1600 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000475* +- ID_MODEL_FROM_DATABASE=MegaRAID 475 Express 500/500LC RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (475 Express 500/500LC RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000477* +- ID_MODEL_FROM_DATABASE=MegaRAID 477 Elite 3100 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (477 Elite 3100 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000493* +- ID_MODEL_FROM_DATABASE=MegaRAID 493 Elite 1600 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (493 Elite 1600 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000494* +- ID_MODEL_FROM_DATABASE=MegaRAID 494 Elite 1650 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (494 Elite 1650 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000503* +- ID_MODEL_FROM_DATABASE=MegaRAID 503 Enterprise 1650 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (503 Enterprise 1650 RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000511* +- ID_MODEL_FROM_DATABASE=MegaRAID 511 i4 IDE RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (511 i4 IDE RAID Controller) + + pci:v0000101Ed00001960sv0000101Esd00000522* +- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4133 RAID Controller ++ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4133 RAID Controller) + + pci:v0000101Ed00001960sv00001028sd00000471* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/QC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/QC) + + pci:v0000101Ed00001960sv00001028sd00000475* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/SC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/SC) + + pci:v0000101Ed00001960sv00001028sd00000493* +- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/DC ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/DC) + + pci:v0000101Ed00001960sv00001028sd00000511* +- ID_MODEL_FROM_DATABASE=PowerEdge Cost Effective RAID Controller ATA100/4Ch ++ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Cost Effective RAID Controller ATA100/4Ch) + + pci:v0000101Ed00001960sv0000103Csd000060E7* +- ID_MODEL_FROM_DATABASE=NetRAID-1M ++ ID_MODEL_FROM_DATABASE=MegaRAID (NetRAID-1M) + + pci:v0000101Ed00001960sv0000103Csd000060E8* +- ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] ++ ID_MODEL_FROM_DATABASE=MegaRAID (NetRaid 2M [AMI MegaRaid 493]) + + pci:v0000101Ed00009010* + ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller +@@ -10623,7 +10623,7 @@ pci:v0000101Ed00009063* + ID_MODEL_FROM_DATABASE=MegaRAC + + pci:v0000101Ed00009063sv0000101Esd00000767* +- ID_MODEL_FROM_DATABASE=Dell Remote Assistant Card 2 ++ ID_MODEL_FROM_DATABASE=MegaRAC (Dell Remote Assistant Card 2) + + pci:v0000101F* + ID_VENDOR_FROM_DATABASE=PictureTel +@@ -10731,7 +10731,7 @@ pci:v00001022d00001510* + ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex + + pci:v00001022d00001510sv0000174Bsd00001001* +- ID_MODEL_FROM_DATABASE=PURE Fusion Mini ++ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex (PURE Fusion Mini) + + pci:v00001022d00001512* + ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port +@@ -10842,79 +10842,79 @@ pci:v00001022d00002000* + ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] + + pci:v00001022d00002000sv00001014sd00002000* +- ID_MODEL_FROM_DATABASE=NetFinity 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (NetFinity 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001022sd00002000* +- ID_MODEL_FROM_DATABASE=PCnet - Fast 79C971 ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PCnet - Fast 79C971) + + pci:v00001022d00002000sv0000103Csd0000104C* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd00001064* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd00001065* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd0000106C* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd0000106E* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv0000103Csd000010EA* +- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) + + pci:v00001022d00002000sv00001113sd00001220* +- ID_MODEL_FROM_DATABASE=EN1220 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (EN1220 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002450* +- ID_MODEL_FROM_DATABASE=AT-2450 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002454* +- ID_MODEL_FROM_DATABASE=AT-2450v4 10Mb Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450v4 10Mb Ethernet Adapter) + + pci:v00001022d00002000sv00001259sd00002700* +- ID_MODEL_FROM_DATABASE=AT-2700TX 10/100 Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700TX 10/100 Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002701* +- ID_MODEL_FROM_DATABASE=AT-2700FX 100Mb Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FX 100Mb Ethernet) + + pci:v00001022d00002000sv00001259sd00002702* +- ID_MODEL_FROM_DATABASE=AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet) + + pci:v00001022d00002000sv00001259sd00002703* +- ID_MODEL_FROM_DATABASE=AT-2701FX ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FX) + + pci:v00001022d00002000sv00001259sd00002704* +- ID_MODEL_FROM_DATABASE=AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet) + + pci:v00001022d00002000sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00001022d00002000sv00004C53sd00001010* +- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CP5/CR6 mainboard) + + pci:v00001022d00002000sv00004C53sd00001020* +- ID_MODEL_FROM_DATABASE=VR6 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (VR6 mainboard) + + pci:v00001022d00002000sv00004C53sd00001030* +- ID_MODEL_FROM_DATABASE=PC5 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC5 mainboard) + + pci:v00001022d00002000sv00004C53sd00001040* +- ID_MODEL_FROM_DATABASE=CL7 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CL7 mainboard) + + pci:v00001022d00002000sv00004C53sd00001060* +- ID_MODEL_FROM_DATABASE=PC7 mainboard ++ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC7 mainboard) + + pci:v00001022d00002001* + ID_MODEL_FROM_DATABASE=79c978 [HomePNA] + + pci:v00001022d00002001sv00001092sd00000A78* +- ID_MODEL_FROM_DATABASE=Multimedia Home Network Adapter ++ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (Multimedia Home Network Adapter) + + pci:v00001022d00002001sv00001668sd00000299* +- ID_MODEL_FROM_DATABASE=ActionLink Home Network Adapter ++ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (ActionLink Home Network Adapter) + + pci:v00001022d00002003* + ID_MODEL_FROM_DATABASE=Am 1771 MBW [Alchemy] +@@ -10923,7 +10923,7 @@ pci:v00001022d00002020* + ID_MODEL_FROM_DATABASE=53c974 [PCscsi] + + pci:v00001022d00002020sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=53c974 [PCscsi] (QEMU Virtual Machine) + + pci:v00001022d00002040* + ID_MODEL_FROM_DATABASE=79c974 +@@ -11043,7 +11043,7 @@ pci:v00001022d00007440* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA + + pci:v00001022d00007440sv00001043sd00008044* +- ID_MODEL_FROM_DATABASE=A7M-D Mainboard ++ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA (A7M-D Mainboard) + + pci:v00001022d00007441* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] IDE +@@ -11052,7 +11052,7 @@ pci:v00001022d00007443* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI + + pci:v00001022d00007443sv00001043sd00008044* +- ID_MODEL_FROM_DATABASE=A7M-D Mainboard ++ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI (A7M-D Mainboard) + + pci:v00001022d00007445* + ID_MODEL_FROM_DATABASE=AMD-768 [Opus] Audio +@@ -11088,7 +11088,7 @@ pci:v00001022d00007460* + ID_MODEL_FROM_DATABASE=AMD-8111 PCI + + pci:v00001022d00007460sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 PCI (HDAMB) + + pci:v00001022d00007461* + ID_MODEL_FROM_DATABASE=AMD-8111 USB +@@ -11103,22 +11103,22 @@ pci:v00001022d00007464* + ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI + + pci:v00001022d00007464sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI (HDAMB) + + pci:v00001022d00007468* + ID_MODEL_FROM_DATABASE=AMD-8111 LPC + + pci:v00001022d00007468sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 LPC (HDAMB) + + pci:v00001022d00007469* + ID_MODEL_FROM_DATABASE=AMD-8111 IDE + + pci:v00001022d00007469sv00001022sd00002B80* +- ID_MODEL_FROM_DATABASE=AMD-8111 IDE [Quartet] ++ ID_MODEL_FROM_DATABASE=AMD-8111 IDE ([Quartet]) + + pci:v00001022d00007469sv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 IDE (HDAMB) + + pci:v00001022d0000746A* + ID_MODEL_FROM_DATABASE=AMD-8111 SMBus 2.0 +@@ -11127,13 +11127,13 @@ pci:v00001022d0000746B* + ID_MODEL_FROM_DATABASE=AMD-8111 ACPI + + pci:v00001022d0000746Bsv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 ACPI (HDAMB) + + pci:v00001022d0000746D* + ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio + + pci:v00001022d0000746Dsv0000161Fsd00003017* +- ID_MODEL_FROM_DATABASE=HDAMB ++ ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio (HDAMB) + + pci:v00001022d0000746E* + ID_MODEL_FROM_DATABASE=AMD-8111 MC97 Modem +@@ -11148,10 +11148,10 @@ pci:v00001022d00007801* + ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] + + pci:v00001022d00007801sv0000103Csd0000168B* +- ID_MODEL_FROM_DATABASE=ProBook 4535s Notebook ++ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 4535s Notebook) + + pci:v00001022d00007801sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 455 G1 Notebook) + + pci:v00001022d00007802* + ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode] +@@ -11172,25 +11172,25 @@ pci:v00001022d00007807* + ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller + + pci:v00001022d00007807sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d00007808* + ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller + + pci:v00001022d00007808sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d00007809* + ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller + + pci:v00001022d00007809sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d0000780B* + ID_MODEL_FROM_DATABASE=FCH SMBus Controller + + pci:v00001022d0000780Bsv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH SMBus Controller (ProBook 455 G1 Notebook) + + pci:v00001022d0000780C* + ID_MODEL_FROM_DATABASE=FCH IDE Controller +@@ -11199,16 +11199,16 @@ pci:v00001022d0000780D* + ID_MODEL_FROM_DATABASE=FCH Azalia Controller + + pci:v00001022d0000780Dsv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (ProBook 455 G1 Notebook) + + pci:v00001022d0000780Dsv00001043sd00008444* +- ID_MODEL_FROM_DATABASE=F2A85-M Series ++ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (F2A85-M Series) + + pci:v00001022d0000780E* + ID_MODEL_FROM_DATABASE=FCH LPC Bridge + + pci:v00001022d0000780Esv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH LPC Bridge (ProBook 455 G1 Notebook) + + pci:v00001022d0000780F* + ID_MODEL_FROM_DATABASE=FCH PCI Bridge +@@ -11223,7 +11223,7 @@ pci:v00001022d00007814* + ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller + + pci:v00001022d00007814sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller (ProBook 455 G1 Notebook) + + pci:v00001022d00007900* + ID_MODEL_FROM_DATABASE=FCH SATA Controller [IDE mode] +@@ -11262,16 +11262,16 @@ pci:v00001022d00009600* + ID_MODEL_FROM_DATABASE=RS780 Host Bridge + + pci:v00001022d00009600sv00001043sd000082F1* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=RS780 Host Bridge (M3A78-EH Motherboard) + + pci:v00001022d00009601* + ID_MODEL_FROM_DATABASE=RS880 Host Bridge + + pci:v00001022d00009601sv00001019sd00002120* +- ID_MODEL_FROM_DATABASE=A785GM-M ++ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (A785GM-M) + + pci:v00001022d00009601sv00001043sd0000843E* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (M5A88-V EVO) + + pci:v00001022d00009602* + ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (int gfx) +@@ -11316,7 +11316,7 @@ pci:v00001023d00002001* + ID_MODEL_FROM_DATABASE=4DWave NX + + pci:v00001023d00002001sv0000122Dsd00001400* +- ID_MODEL_FROM_DATABASE=Trident PCI288-Q3DII (NX) ++ ID_MODEL_FROM_DATABASE=4DWave NX (Trident PCI288-Q3DII (NX)) + + pci:v00001023d00002100* + ID_MODEL_FROM_DATABASE=CyberBlade XP4m32 +@@ -11328,13 +11328,13 @@ pci:v00001023d00008400* + ID_MODEL_FROM_DATABASE=CyberBlade/i7 + + pci:v00001023d00008400sv00001023sd00008400* +- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade/i7 (CyberBlade i7 AGP) + + pci:v00001023d00008420* + ID_MODEL_FROM_DATABASE=CyberBlade/i7d + + pci:v00001023d00008420sv00000E11sd0000B15A* +- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade/i7d (CyberBlade i7 AGP) + + pci:v00001023d00008500* + ID_MODEL_FROM_DATABASE=CyberBlade/i1 +@@ -11343,19 +11343,19 @@ pci:v00001023d00008520* + ID_MODEL_FROM_DATABASE=CyberBlade i1 + + pci:v00001023d00008520sv00000E11sd0000B16E* +- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) + + pci:v00001023d00008520sv00001023sd00008520* +- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP ++ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) + + pci:v00001023d00008620* + ID_MODEL_FROM_DATABASE=CyberBlade/i1 + + pci:v00001023d00008620sv00001014sd00000502* +- ID_MODEL_FROM_DATABASE=ThinkPad R30/T30 ++ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (ThinkPad R30/T30) + + pci:v00001023d00008620sv00001014sd00001025* +- ID_MODEL_FROM_DATABASE=Travelmate 352TE ++ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (Travelmate 352TE) + + pci:v00001023d00008820* + ID_MODEL_FROM_DATABASE=CyberBlade XPAi1 +@@ -11460,7 +11460,7 @@ pci:v00001023d00009880* + ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP + + pci:v00001023d00009880sv00001023sd00009880* +- ID_MODEL_FROM_DATABASE=Blade 3D ++ ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP (Blade 3D) + + pci:v00001023d00009910* + ID_MODEL_FROM_DATABASE=CyberBlade/XP +@@ -11523,7 +11523,7 @@ pci:v00001025d00001533* + ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge + + pci:v00001025d00001533sv000010B9sd00001533* +- ID_MODEL_FROM_DATABASE=ALI M1533 Aladdin IV/V ISA South Bridge ++ ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge (ALI M1533 Aladdin IV/V ISA South Bridge) + + pci:v00001025d00001535* + ID_MODEL_FROM_DATABASE=M1535 PCI Bridge + Super I/O + FIR +@@ -11532,7 +11532,7 @@ pci:v00001025d00001541* + ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] + + pci:v00001025d00001541sv000010B9sd00001541* +- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP+PCI North Bridge ++ ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] (ALI M1541 Aladdin V/V+ AGP+PCI North Bridge) + + pci:v00001025d00001542* + ID_MODEL_FROM_DATABASE=M1542 Northbridge [Aladdin V] +@@ -11658,31 +11658,31 @@ pci:v00001028d00000001* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si + + pci:v00001028d00000001sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=PowerEdge 2400 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si (PowerEdge 2400) + + pci:v00001028d00000002* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di + + pci:v00001028d00000002sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=PowerEdge 4400 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PowerEdge 4400) + + pci:v00001028d00000002sv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=PERC 3/DiV [Viper] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiV [Viper]) + + pci:v00001028d00000002sv00001028sd000000D9* +- ID_MODEL_FROM_DATABASE=PERC 3/DiL [Lexus] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiL [Lexus]) + + pci:v00001028d00000003* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si + + pci:v00001028d00000003sv00001028sd00000003* +- ID_MODEL_FROM_DATABASE=PowerEdge 2450 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si (PowerEdge 2450) + + pci:v00001028d00000004* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] + + pci:v00001028d00000004sv00001028sd00000004* +- ID_MODEL_FROM_DATABASE=PERC 3/DiF [Iguana] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] (PERC 3/DiF [Iguana]) + + pci:v00001028d00000006* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di +@@ -11700,13 +11700,13 @@ pci:v00001028d0000000A* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di + + pci:v00001028d0000000Asv00001028sd00000106* +- ID_MODEL_FROM_DATABASE=PERC 3/DiJ [Jaguar] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiJ [Jaguar]) + + pci:v00001028d0000000Asv00001028sd0000011B* +- ID_MODEL_FROM_DATABASE=PERC 3/DiD [Dagger] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiD [Dagger]) + + pci:v00001028d0000000Asv00001028sd00000121* +- ID_MODEL_FROM_DATABASE=PERC 3/DiB [Boxster] ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiB [Boxster]) + + pci:v00001028d0000000C* + ID_MODEL_FROM_DATABASE=Embedded Remote Access or ERA/O +@@ -11721,7 +11721,7 @@ pci:v00001028d0000000F* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di + + pci:v00001028d0000000Fsv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di (PowerEdge 1750) + + pci:v00001028d00000010* + ID_MODEL_FROM_DATABASE=Remote Access Card 4 +@@ -11736,19 +11736,19 @@ pci:v00001028d00000013* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 + + pci:v00001028d00000013sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Si ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Si) + + pci:v00001028d00000013sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000013sv00001028sd0000016E* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000013sv00001028sd0000016F* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000013sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) + + pci:v00001028d00000014* + ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card SMIC interface +@@ -11757,19 +11757,19 @@ pci:v00001028d00000015* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 + + pci:v00001028d00000015sv00001028sd00001F01* +- ID_MODEL_FROM_DATABASE=PERC 5/E Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/E Adapter RAID Controller) + + pci:v00001028d00000015sv00001028sd00001F02* +- ID_MODEL_FROM_DATABASE=PERC 5/i Adapter RAID Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Adapter RAID Controller) + + pci:v00001028d00000015sv00001028sd00001F03* +- ID_MODEL_FROM_DATABASE=PERC 5/i Integrated RAID Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Integrated RAID Controller) + + pci:v00001028d00000016* + ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 + + pci:v00001028d00000016sv00001028sd00001F24* +- ID_MODEL_FROM_DATABASE=PERC S300 Controller ++ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 (PERC S300 Controller) + + pci:v00001029* + ID_VENDOR_FROM_DATABASE=Siemens Nixdorf IS +@@ -11787,28 +11787,28 @@ pci:v0000102Ad0000001F* + ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers + + pci:v0000102Ad0000001Fsv00009005sd0000000F* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) + + pci:v0000102Ad0000001Fsv00009005sd00000106* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) + + pci:v0000102Ad0000001Fsv00009005sd0000A180* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) + + pci:v0000102Ad000000C5* + ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller + + pci:v0000102Ad000000C5sv00001028sd000000C5* +- ID_MODEL_FROM_DATABASE=PowerEdge 2550/2650/4600 ++ ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller (PowerEdge 2550/2650/4600) + + pci:v0000102Ad000000CF* + ID_MODEL_FROM_DATABASE=AIC-7899P U160/m + + pci:v0000102Ad000000CFsv00001028sd00000106* +- ID_MODEL_FROM_DATABASE=PowerEdge 4600 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 4600) + + pci:v0000102Ad000000CFsv00001028sd00000121* +- ID_MODEL_FROM_DATABASE=PowerEdge 2650 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2650) + + pci:v0000102B* + ID_VENDOR_FROM_DATABASE=Matrox Electronics Systems Ltd. +@@ -11829,34 +11829,34 @@ pci:v0000102Bd0000051A* + ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] + + pci:v0000102Bd0000051Asv0000102Bsd00000100* +- ID_MODEL_FROM_DATABASE=MGA-1064SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1064SG Mystique) + + pci:v0000102Bd0000051Asv0000102Bsd00001100* +- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) + + pci:v0000102Bd0000051Asv0000102Bsd00001200* +- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) + + pci:v0000102Bd0000051Asv00001100sd0000102B* +- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) + + pci:v0000102Bd0000051Asv0000110Asd00000018* +- ID_MODEL_FROM_DATABASE=Scenic Pro C5 (D1025) ++ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (Scenic Pro C5 (D1025)) + + pci:v0000102Bd0000051B* + ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] + + pci:v0000102Bd0000051Bsv0000102Bsd0000051B* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051Bsv0000102Bsd00001100* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051Bsv0000102Bsd00001200* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051Bsv0000102Bsd00002100* +- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II ++ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) + + pci:v0000102Bd0000051E* + ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] AGP +@@ -11868,391 +11868,391 @@ pci:v0000102Bd00000520* + ID_MODEL_FROM_DATABASE=MGA G200 + + pci:v0000102Bd00000520sv0000102Bsd0000DBC2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000DBC8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000DBE2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000DBE8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) + + pci:v0000102Bd00000520sv0000102Bsd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G200 SD ++ ID_MODEL_FROM_DATABASE=MGA G200 (Millennium G200 SD) + + pci:v0000102Bd00000520sv0000102Bsd0000FF04* +- ID_MODEL_FROM_DATABASE=Marvel G200 ++ ID_MODEL_FROM_DATABASE=MGA G200 (Marvel G200) + + pci:v0000102Bd00000521* + ID_MODEL_FROM_DATABASE=MGA G200 AGP + + pci:v0000102Bd00000521sv00001014sd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd000048E9* +- ID_MODEL_FROM_DATABASE=Mystique G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd000048F8* +- ID_MODEL_FROM_DATABASE=Millennium G200 SD AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 SD AGP) + + pci:v0000102Bd00000521sv0000102Bsd00004A60* +- ID_MODEL_FROM_DATABASE=Millennium G200 LE AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 LE AGP) + + pci:v0000102Bd00000521sv0000102Bsd00004A64* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000C93C* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000C9B0* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000C9BC* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000CA60* +- ID_MODEL_FROM_DATABASE=Millennium G250 LE AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 LE AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000CA6C* +- ID_MODEL_FROM_DATABASE=Millennium G250 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000DBBC* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000DBC2* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBC3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBC8* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD4* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD5* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBD9* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBE2* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBE3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBE8* +- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF2* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF3* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF4* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF5* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF8* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000DBF9* +- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) + + pci:v0000102Bd00000521sv0000102Bsd0000F806* +- ID_MODEL_FROM_DATABASE=Mystique G200 Video AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 Video AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF00* +- ID_MODEL_FROM_DATABASE=MGA-G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF02* +- ID_MODEL_FROM_DATABASE=Mystique G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) + + pci:v0000102Bd00000521sv0000102Bsd0000FF04* +- ID_MODEL_FROM_DATABASE=Marvel G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Marvel G200 AGP) + + pci:v0000102Bd00000521sv0000110Asd00000032* +- ID_MODEL_FROM_DATABASE=MGA-G200 AGP ++ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) + + pci:v0000102Bd00000522* + ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) + + pci:v0000102Bd00000522sv0000103Csd000031FA* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) (ProLiant DL140 G3) + + pci:v0000102Bd00000525* + ID_MODEL_FROM_DATABASE=MGA G400/G450 + + pci:v0000102Bd00000525sv00000E11sd0000B16F* +- ID_MODEL_FROM_DATABASE=MGA-G400 AGP ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (MGA-G400 AGP) + + pci:v0000102Bd00000525sv0000102Bsd00000328* +- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) + + pci:v0000102Bd00000525sv0000102Bsd00000338* +- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) + + pci:v0000102Bd00000525sv0000102Bsd00000378* +- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SDRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SDRAM) + + pci:v0000102Bd00000525sv0000102Bsd00000541* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head) + + pci:v0000102Bd00000525sv0000102Bsd00000542* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX) + + pci:v0000102Bd00000525sv0000102Bsd00000543* +- ID_MODEL_FROM_DATABASE=Millennium G450 Single Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Single Head LX) + + pci:v0000102Bd00000525sv0000102Bsd00000641* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head) + + pci:v0000102Bd00000525sv0000102Bsd00000642* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head LX) + + pci:v0000102Bd00000525sv0000102Bsd00000643* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Single Head LX ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Single Head LX) + + pci:v0000102Bd00000525sv0000102Bsd000007C0* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LE ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LE) + + pci:v0000102Bd00000525sv0000102Bsd000007C1* +- ID_MODEL_FROM_DATABASE=Millennium G450 SDR Dual Head LE ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 SDR Dual Head LE) + + pci:v0000102Bd00000525sv0000102Bsd00000D41* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head PCI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head PCI) + + pci:v0000102Bd00000525sv0000102Bsd00000D42* +- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX PCI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX PCI) + + pci:v0000102Bd00000525sv0000102Bsd00000D43* +- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb Dual Head PCI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb Dual Head PCI) + + pci:v0000102Bd00000525sv0000102Bsd00000E00* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000E01* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000E02* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000E03* +- ID_MODEL_FROM_DATABASE=Marvel G450 eTV ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) + + pci:v0000102Bd00000525sv0000102Bsd00000F80* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) + + pci:v0000102Bd00000525sv0000102Bsd00000F81* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) + + pci:v0000102Bd00000525sv0000102Bsd00000F82* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) + + pci:v0000102Bd00000525sv0000102Bsd00000F83* +- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) + + pci:v0000102Bd00000525sv0000102Bsd000019D8* +- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SGRAM) + + pci:v0000102Bd00000525sv0000102Bsd000019F8* +- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SGRAM) + + pci:v0000102Bd00000525sv0000102Bsd00002159* +- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head 16Mb ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head 16Mb) + + pci:v0000102Bd00000525sv0000102Bsd00002179* +- ID_MODEL_FROM_DATABASE=Millennium G400 MAX/Dual Head 32Mb ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 MAX/Dual Head 32Mb) + + pci:v0000102Bd00000525sv0000102Bsd0000217D* +- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head Max ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head Max) + + pci:v0000102Bd00000525sv0000102Bsd000023C0* +- ID_MODEL_FROM_DATABASE=Millennium G450 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) + + pci:v0000102Bd00000525sv0000102Bsd000023C1* +- ID_MODEL_FROM_DATABASE=Millennium G450 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) + + pci:v0000102Bd00000525sv0000102Bsd000023C2* +- ID_MODEL_FROM_DATABASE=Millennium G450 DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) + + pci:v0000102Bd00000525sv0000102Bsd000023C3* +- ID_MODEL_FROM_DATABASE=Millennium G450 DVI ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) + + pci:v0000102Bd00000525sv0000102Bsd00002F58* +- ID_MODEL_FROM_DATABASE=Millennium G400 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) + + pci:v0000102Bd00000525sv0000102Bsd00002F78* +- ID_MODEL_FROM_DATABASE=Millennium G400 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) + + pci:v0000102Bd00000525sv0000102Bsd00003693* +- ID_MODEL_FROM_DATABASE=Marvel G400 AGP ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G400 AGP) + + pci:v0000102Bd00000525sv0000102Bsd00005DD0* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00005F50* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00005F51* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00005F52* +- ID_MODEL_FROM_DATABASE=4Sight II ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) + + pci:v0000102Bd00000525sv0000102Bsd00009010* +- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head) + + pci:v0000102Bd00000525sv00001458sd00000400* +- ID_MODEL_FROM_DATABASE=GA-G400 ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (GA-G400) + + pci:v0000102Bd00000525sv00001705sd00000001* +- ID_MODEL_FROM_DATABASE=Millennium G450 32MB SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB SGRAM) + + pci:v0000102Bd00000525sv00001705sd00000002* +- ID_MODEL_FROM_DATABASE=Millennium G450 16MB SGRAM ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB SGRAM) + + pci:v0000102Bd00000525sv00001705sd00000003* +- ID_MODEL_FROM_DATABASE=Millennium G450 32MB ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB) + + pci:v0000102Bd00000525sv00001705sd00000004* +- ID_MODEL_FROM_DATABASE=Millennium G450 16MB ++ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB) + + pci:v0000102Bd00000527* + ID_MODEL_FROM_DATABASE=Parhelia + + pci:v0000102Bd00000527sv0000102Bsd00000840* +- ID_MODEL_FROM_DATABASE=Parhelia 128Mb ++ ID_MODEL_FROM_DATABASE=Parhelia (128Mb) + + pci:v0000102Bd00000527sv0000102Bsd00000850* +- ID_MODEL_FROM_DATABASE=Parhelia 256MB ++ ID_MODEL_FROM_DATABASE=Parhelia (256MB) + + pci:v0000102Bd00000527sv0000102Bsd00000870* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000527sv0000102Bsd00000880* +- ID_MODEL_FROM_DATABASE=P-256 Edge Overlap Controller ++ ID_MODEL_FROM_DATABASE=Parhelia (P-256 Edge Overlap Controller) + + pci:v0000102Bd00000528* + ID_MODEL_FROM_DATABASE=Parhelia + + pci:v0000102Bd00000528sv0000102Bsd00001020* +- ID_MODEL_FROM_DATABASE=Parhelia 128MB ++ ID_MODEL_FROM_DATABASE=Parhelia (128MB) + + pci:v0000102Bd00000528sv0000102Bsd00001030* +- ID_MODEL_FROM_DATABASE=Parhelia 256 MB Dual DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (256 MB Dual DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001040* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001050* +- ID_MODEL_FROM_DATABASE=Sono S20 ++ ID_MODEL_FROM_DATABASE=Parhelia (Sono S20) + + pci:v0000102Bd00000528sv0000102Bsd00001060* +- ID_MODEL_FROM_DATABASE=PJ-30L ++ ID_MODEL_FROM_DATABASE=Parhelia (PJ-30L) + + pci:v0000102Bd00000528sv0000102Bsd00001070* +- ID_MODEL_FROM_DATABASE=PJ-40L ++ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40L) + + pci:v0000102Bd00000528sv0000102Bsd00001421* +- ID_MODEL_FROM_DATABASE=MED5mp ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp) + + pci:v0000102Bd00000528sv0000102Bsd00001431* +- ID_MODEL_FROM_DATABASE=MED3mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001451* +- ID_MODEL_FROM_DATABASE=MED5mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001491* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd000014B1* +- ID_MODEL_FROM_DATABASE=MED3mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd000014C1* +- ID_MODEL_FROM_DATABASE=MED5mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd000014E1* +- ID_MODEL_FROM_DATABASE=Parhelia PCI 256MB ++ ID_MODEL_FROM_DATABASE=Parhelia (PCI 256MB) + + pci:v0000102Bd00000528sv0000102Bsd000014F1* +- ID_MODEL_FROM_DATABASE=Parhelia Precision SGT ++ ID_MODEL_FROM_DATABASE=Parhelia (Precision SGT) + + pci:v0000102Bd00000528sv0000102Bsd00001501* +- ID_MODEL_FROM_DATABASE=ATC-4MP ++ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) + + pci:v0000102Bd00000528sv0000102Bsd00001511* +- ID_MODEL_FROM_DATABASE=ATC-4MP ++ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) + + pci:v0000102Bd00000528sv0000102Bsd00001521* +- ID_MODEL_FROM_DATABASE=TheatreVUE T30 ++ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T30) + + pci:v0000102Bd00000528sv0000102Bsd00001531* +- ID_MODEL_FROM_DATABASE=TheatreVUE T20 ++ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T20) + + pci:v0000102Bd00000528sv0000102Bsd00001541* +- ID_MODEL_FROM_DATABASE=MED2mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001551* +- ID_MODEL_FROM_DATABASE=MED3mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001561* +- ID_MODEL_FROM_DATABASE=MED5mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00001571* +- ID_MODEL_FROM_DATABASE=Parhelia DL256 PCI ++ ID_MODEL_FROM_DATABASE=Parhelia (DL256 PCI) + + pci:v0000102Bd00000528sv0000102Bsd00001591* +- ID_MODEL_FROM_DATABASE=Parhelia Precision SDT ++ ID_MODEL_FROM_DATABASE=Parhelia (Precision SDT) + + pci:v0000102Bd00000528sv0000102Bsd000015A1* +- ID_MODEL_FROM_DATABASE=MED4mp-DVI ++ ID_MODEL_FROM_DATABASE=Parhelia (MED4mp-DVI) + + pci:v0000102Bd00000528sv0000102Bsd00002011* +- ID_MODEL_FROM_DATABASE=Parhelia HR256 ++ ID_MODEL_FROM_DATABASE=Parhelia (HR256) + + pci:v0000102Bd00000528sv0000102Bsd00002021* +- ID_MODEL_FROM_DATABASE=QID Pro ++ ID_MODEL_FROM_DATABASE=Parhelia (QID Pro) + + pci:v0000102Bd00000528sv0000102Bsd00002061* +- ID_MODEL_FROM_DATABASE=PJ-40LP ++ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40LP) + + pci:v0000102Bd00000528sv0000102Bsd00002081* +- ID_MODEL_FROM_DATABASE=EWS Quad ++ ID_MODEL_FROM_DATABASE=Parhelia (EWS Quad) + + pci:v0000102Bd00000528sv0000102Bsd00002411* +- ID_MODEL_FROM_DATABASE=PPX-OUT8 ++ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT8) + + pci:v0000102Bd00000528sv0000102Bsd00002421* +- ID_MODEL_FROM_DATABASE=VPX-OUT8 ++ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT8) + + pci:v0000102Bd00000528sv0000102Bsd00002441* +- ID_MODEL_FROM_DATABASE=PPX-OUT4 ++ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT4) + + pci:v0000102Bd00000528sv0000102Bsd00002451* +- ID_MODEL_FROM_DATABASE=VPX-OUT4 ++ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT4) + + pci:v0000102Bd00000528sv0000102Bsd00002491* +- ID_MODEL_FROM_DATABASE=LPX-OUT4 ++ ID_MODEL_FROM_DATABASE=Parhelia (LPX-OUT4) + + pci:v0000102Bd00000530* + ID_MODEL_FROM_DATABASE=MGA G200EV +@@ -12261,37 +12261,37 @@ pci:v0000102Bd00000532* + ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 + + pci:v0000102Bd00000532sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R710 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R610 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T610 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M610 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R410 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T410 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M710 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv00001028sd000002A4* +- ID_MODEL_FROM_DATABASE=PowerEdge T310 MGA G200eW WPCM450 ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) + + pci:v0000102Bd00000532sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) + + pci:v0000102Bd00000533* + ID_MODEL_FROM_DATABASE=MGA G200EH + + pci:v0000102Bd00000533sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=MGA G200EH (iLO4) + + pci:v0000102Bd00000534* + ID_MODEL_FROM_DATABASE=G200eR2 +@@ -12300,40 +12300,40 @@ pci:v0000102Bd00000540* + ID_MODEL_FROM_DATABASE=M91XX + + pci:v0000102Bd00000540sv0000102Bsd00002080* +- ID_MODEL_FROM_DATABASE=M9140 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9140 LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd000020C0* +- ID_MODEL_FROM_DATABASE=Xenia ++ ID_MODEL_FROM_DATABASE=M91XX (Xenia) + + pci:v0000102Bd00000540sv0000102Bsd000020C1* +- ID_MODEL_FROM_DATABASE=Xenia Pro ++ ID_MODEL_FROM_DATABASE=M91XX (Xenia Pro) + + pci:v0000102Bd00000540sv0000102Bsd00002100* +- ID_MODEL_FROM_DATABASE=M9120 PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9120 PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002140* +- ID_MODEL_FROM_DATABASE=M9125 PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9125 PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002180* +- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd000021C0* +- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x1 ++ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x1) + + pci:v0000102Bd00000540sv0000102Bsd00002200* +- ID_MODEL_FROM_DATABASE=VDA1164 Output Board ++ ID_MODEL_FROM_DATABASE=M91XX (VDA1164 Output Board) + + pci:v0000102Bd00000540sv0000102Bsd00002240* +- ID_MODEL_FROM_DATABASE=M9148 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9148 LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002241* +- ID_MODEL_FROM_DATABASE=M9138 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9138 LP PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd00002280* +- ID_MODEL_FROM_DATABASE=M9188 ATX PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9188 ATX PCIe x16) + + pci:v0000102Bd00000540sv0000102Bsd000022C0* +- ID_MODEL_FROM_DATABASE=M9128 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=M91XX (M9128 LP PCIe x16) + + pci:v0000102Bd00000D10* + ID_MODEL_FROM_DATABASE=MGA Ultima/Impression +@@ -12342,34 +12342,34 @@ pci:v0000102Bd00001000* + ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] + + pci:v0000102Bd00001000sv0000102Bsd0000FF01* +- ID_MODEL_FROM_DATABASE=Productiva G100 ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100) + + pci:v0000102Bd00001000sv0000102Bsd0000FF05* +- ID_MODEL_FROM_DATABASE=Productiva G100 Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100 Multi-Monitor) + + pci:v0000102Bd00001001* + ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP + + pci:v0000102Bd00001001sv0000102Bsd00001001* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF00* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF01* +- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF03* +- ID_MODEL_FROM_DATABASE=Millennium G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (Millennium G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF04* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00001001sv0000102Bsd0000FF05* +- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP Multi-Monitor ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP Multi-Monitor) + + pci:v0000102Bd00001001sv0000110Asd0000001E* +- ID_MODEL_FROM_DATABASE=MGA-G100 AGP ++ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) + + pci:v0000102Bd00002007* + ID_MODEL_FROM_DATABASE=MGA Mistral +@@ -12378,163 +12378,163 @@ pci:v0000102Bd00002527* + ID_MODEL_FROM_DATABASE=Millennium G550 + + pci:v0000102Bd00002527sv0000102Bsd00000F42* +- ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI ++ ID_MODEL_FROM_DATABASE=Millennium G550 (Matrox G550 Low Profile PCI) + + pci:v0000102Bd00002527sv0000102Bsd00000F83* + ID_MODEL_FROM_DATABASE=Millennium G550 + + pci:v0000102Bd00002527sv0000102Bsd00000F84* +- ID_MODEL_FROM_DATABASE=Millennium G550 Dual Head DDR 32Mb ++ ID_MODEL_FROM_DATABASE=Millennium G550 (Dual Head DDR 32Mb) + + pci:v0000102Bd00002527sv0000102Bsd00001E41* + ID_MODEL_FROM_DATABASE=Millennium G550 + + pci:v0000102Bd00002527sv0000102Bsd00002300* +- ID_MODEL_FROM_DATABASE=Millennium G550 LP PCIE ++ ID_MODEL_FROM_DATABASE=Millennium G550 (LP PCIE) + + pci:v0000102Bd00002537* + ID_MODEL_FROM_DATABASE=Millenium P650/P750 + + pci:v0000102Bd00002537sv0000102Bsd00001820* +- ID_MODEL_FROM_DATABASE=Millennium P750 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P750 64MB) + + pci:v0000102Bd00002537sv0000102Bsd00001830* +- ID_MODEL_FROM_DATABASE=Millennium P650 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 64MB) + + pci:v0000102Bd00002537sv0000102Bsd00001850* +- ID_MODEL_FROM_DATABASE=RAD2mp ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD2mp) + + pci:v0000102Bd00002537sv0000102Bsd00001860* +- ID_MODEL_FROM_DATABASE=RAD3mp ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD3mp) + + pci:v0000102Bd00002537sv0000102Bsd00001880* +- ID_MODEL_FROM_DATABASE=Sono S10 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Sono S10) + + pci:v0000102Bd00002537sv0000102Bsd00001C10* +- ID_MODEL_FROM_DATABASE=QID 128MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID 128MB) + + pci:v0000102Bd00002537sv0000102Bsd00002811* +- ID_MODEL_FROM_DATABASE=Millennium P650 Low-profile PCI 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 Low-profile PCI 64MB) + + pci:v0000102Bd00002537sv0000102Bsd00002821* +- ID_MODEL_FROM_DATABASE=Millenium P650 Low-profile PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millenium P650 Low-profile PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002841* +- ID_MODEL_FROM_DATABASE=RAD PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002851* +- ID_MODEL_FROM_DATABASE=Spectrum PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Spectrum PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002871* +- ID_MODEL_FROM_DATABASE=EpicA TC2 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC2) + + pci:v0000102Bd00002537sv0000102Bsd00002C11* +- ID_MODEL_FROM_DATABASE=QID Low-profile PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID Low-profile PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002C21* +- ID_MODEL_FROM_DATABASE=QID LP PCI LW ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI LW) + + pci:v0000102Bd00002537sv0000102Bsd00002C31* +- ID_MODEL_FROM_DATABASE=QID LP PCI ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI) + + pci:v0000102Bd00002537sv0000102Bsd00002C41* +- ID_MODEL_FROM_DATABASE=EpicA TC4 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC4) + + pci:v0000102Bd00002537sv0000102Bsd00003001* +- ID_MODEL_FROM_DATABASE=Extio F1400 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1400) + + pci:v0000102Bd00002537sv0000102Bsd00003011* +- ID_MODEL_FROM_DATABASE=Extio F1220 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1220) + + pci:v0000102Bd00002537sv0000102Bsd00003041* +- ID_MODEL_FROM_DATABASE=RG-200DL ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-200DL) + + pci:v0000102Bd00002537sv0000102Bsd00003051* +- ID_MODEL_FROM_DATABASE=RG-400SL ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-400SL) + + pci:v0000102Bd00002537sv0000102Bsd00003061* +- ID_MODEL_FROM_DATABASE=Extio F1420 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1420) + + pci:v0000102Bd00002537sv0000102Bsd00003081* +- ID_MODEL_FROM_DATABASE=Extio F1240 ++ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1240) + + pci:v0000102Bd00002538* + ID_MODEL_FROM_DATABASE=Millenium P650 PCIe + + pci:v0000102Bd00002538sv0000102Bsd00000847* +- ID_MODEL_FROM_DATABASE=RAD PCIe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (RAD PCIe) + + pci:v0000102Bd00002538sv0000102Bsd000008C7* +- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 128MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 128MB) + + pci:v0000102Bd00002538sv0000102Bsd00000907* +- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 64MB) + + pci:v0000102Bd00002538sv0000102Bsd00000947* +- ID_MODEL_FROM_DATABASE=Parhelia APVe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) + + pci:v0000102Bd00002538sv0000102Bsd00000987* +- ID_MODEL_FROM_DATABASE=ATC PCIe 4MP ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (ATC PCIe 4MP) + + pci:v0000102Bd00002538sv0000102Bsd00001047* +- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 128MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 128MB) + + pci:v0000102Bd00002538sv0000102Bsd00001087* +- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 64MB ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 64MB) + + pci:v0000102Bd00002538sv0000102Bsd00001801* +- ID_MODEL_FROM_DATABASE=Millenium P650 PCIe x1 ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (x1) + + pci:v0000102Bd00002538sv0000102Bsd00002538* +- ID_MODEL_FROM_DATABASE=Parhelia APVe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) + + pci:v0000102Bd00002538sv0000102Bsd00003007* +- ID_MODEL_FROM_DATABASE=QID Low-profile PCIe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID Low-profile PCIe) + + pci:v0000102Bd00002538sv0000102Bsd00003087* +- ID_MODEL_FROM_DATABASE=Aurora VX3mp ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Aurora VX3mp) + + pci:v0000102Bd00002538sv0000102Bsd000030C7* +- ID_MODEL_FROM_DATABASE=QID LP PCIe ++ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID LP PCIe) + + pci:v0000102Bd00002539* + ID_MODEL_FROM_DATABASE=Millennium P690 + + pci:v0000102Bd00002539sv0000102Bsd00000040* +- ID_MODEL_FROM_DATABASE=Millenium P690 PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd00000042* +- ID_MODEL_FROM_DATABASE=ONYX ++ ID_MODEL_FROM_DATABASE=Millennium P690 (ONYX) + + pci:v0000102Bd00002539sv0000102Bsd00000043* +- ID_MODEL_FROM_DATABASE=SPECTRA ++ ID_MODEL_FROM_DATABASE=Millennium P690 (SPECTRA) + + pci:v0000102Bd00002539sv0000102Bsd00000080* +- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd00000081* +- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd00000082* +- ID_MODEL_FROM_DATABASE=RAD LPX PCIe x16 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCIe x16) + + pci:v0000102Bd00002539sv0000102Bsd000000C0* +- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCI) + + pci:v0000102Bd00002539sv0000102Bsd000000C2* +- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCI) + + pci:v0000102Bd00002539sv0000102Bsd000000C3* +- ID_MODEL_FROM_DATABASE=RAD LPX PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCI) + + pci:v0000102Bd00002539sv0000102Bsd00000101* +- ID_MODEL_FROM_DATABASE=Millenium P690 PCI ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCI) + + pci:v0000102Bd00002539sv0000102Bsd00000140* +- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x1 ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x1) + + pci:v0000102Bd00002539sv0000102Bsd00000180* +- ID_MODEL_FROM_DATABASE=Display Wall IP Decode 128 MB ++ ID_MODEL_FROM_DATABASE=Millennium P690 (Display Wall IP Decode 128 MB) + + pci:v0000102Bd00004164* + ID_MODEL_FROM_DATABASE=Morphis QxT frame grabber +@@ -12558,43 +12558,43 @@ pci:v0000102Bd0000475D* + ID_MODEL_FROM_DATABASE=Vio frame grabber family + + pci:v0000102Bd0000475Dsv0000102Bsd00004B90* +- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber (single channel) ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber (single channel)) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B91* +- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B92* +- ID_MODEL_FROM_DATABASE=Vio Analog frame grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Analog frame grabber) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B93* +- ID_MODEL_FROM_DATABASE=Vio SDI Frame Grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio SDI Frame Grabber) + + pci:v0000102Bd0000475Dsv0000102Bsd00004B94* +- ID_MODEL_FROM_DATABASE=Vio DVI-A frame grabber ++ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio DVI-A frame grabber) + + pci:v0000102Bd0000475F* + ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber + + pci:v0000102Bd0000475Fsv0000102Bsd0000475F* +- ID_MODEL_FROM_DATABASE=Solios eCL/XCL-F frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eCL/XCL-F frame grabber) + + pci:v0000102Bd0000475Fsv0000102Bsd00004D5F* +- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Full) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eV-CL (single-Full) frame grabber) + + pci:v0000102Bd0000475Fsv0000102Bsd00004E5F* +- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Full) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eM-CL (single-Full) frame grabber) + + pci:v0000102Bd000047A1* + ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber + + pci:v0000102Bd000047A1sv0000102Bsd00004BE0* +- ID_MODEL_FROM_DATABASE=Solios eA/XA (single) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (single) frame grabber) + + pci:v0000102Bd000047A1sv0000102Bsd00004BE1* +- ID_MODEL_FROM_DATABASE=Solios eA/XA (dual) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (dual) frame grabber) + + pci:v0000102Bd000047A1sv0000102Bsd00004BE2* +- ID_MODEL_FROM_DATABASE=Solios eA/XA (quad) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (quad) frame grabber) + + pci:v0000102Bd000047A2* + ID_MODEL_FROM_DATABASE=Solios COM port +@@ -12603,25 +12603,25 @@ pci:v0000102Bd000047C1* + ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber + + pci:v0000102Bd000047C1sv0000102Bsd00000000* +- ID_MODEL_FROM_DATABASE=Solios frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004B80* +- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (single-Medium) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (single-Medium) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004B81* +- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (dual-Base) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (dual-Base) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004D80* +- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Medium) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (single-Medium) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004D81* +- ID_MODEL_FROM_DATABASE=Solios eV-CL (dual-Base) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (dual-Base) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004E80* +- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Medium) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (single-Medium) frame grabber) + + pci:v0000102Bd000047C1sv0000102Bsd00004E81* +- ID_MODEL_FROM_DATABASE=Solios eM-CL (dual-Base) frame grabber ++ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (dual-Base) frame grabber) + + pci:v0000102Bd000047C2* + ID_MODEL_FROM_DATABASE=Solios COM port +@@ -12630,34 +12630,34 @@ pci:v0000102Bd00004949* + ID_MODEL_FROM_DATABASE=Radient frame grabber family + + pci:v0000102Bd00004949sv0000102Bsd00000010* +- ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Single-full) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000011* +- ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCLV (Single-full) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000020* +- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-base) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000030* +- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-full) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-full) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000040* +- ID_MODEL_FROM_DATABASE=Radient eCL (Quad-base) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Quad-base) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00000050* +- ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Golden) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001010* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-6) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001015* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (dual CXP-6) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001020* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-3) frame grabber) + + pci:v0000102Bd00004949sv0000102Bsd00001050* +- ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber ++ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (Golden) frame grabber) + + pci:v0000102Bd00004CDC* + ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator +@@ -12687,22 +12687,22 @@ pci:v0000102Cd000000C0sv0000102Csd000000C0* + ID_MODEL_FROM_DATABASE=F69000 HiQVideo + + pci:v0000102Cd000000C0sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001010* +- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CP5/CR6 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001020* +- ID_MODEL_FROM_DATABASE=VR6 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (VR6 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001030* +- ID_MODEL_FROM_DATABASE=PC5 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (PC5 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CT7 mainboard) + + pci:v0000102Cd000000C0sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CE7 mainboard) + + pci:v0000102Cd000000D0* + ID_MODEL_FROM_DATABASE=F65545 +@@ -12723,10 +12723,10 @@ pci:v0000102Cd000000E5* + ID_MODEL_FROM_DATABASE=F65555 HiQVPro + + pci:v0000102Cd000000E5sv00000E11sd0000B049* +- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop Display Controller ++ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Armada 1700 Laptop Display Controller) + + pci:v0000102Cd000000E5sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite Pro/Satellite ++ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Satellite Pro/Satellite) + + pci:v0000102Cd000000F0* + ID_MODEL_FROM_DATABASE=F68554 +@@ -12741,16 +12741,16 @@ pci:v0000102Cd00000C30* + ID_MODEL_FROM_DATABASE=F69030 + + pci:v0000102Cd00000C30sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v0000102Cd00000C30sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CT7 mainboard) + + pci:v0000102Cd00000C30sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CE7 mainboard) + + pci:v0000102Cd00000C30sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=F69030 (CT8 mainboard) + + pci:v0000102D* + ID_VENDOR_FROM_DATABASE=Wyse Technology Inc. +@@ -12894,34 +12894,34 @@ pci:v00001033d00000035* + ID_MODEL_FROM_DATABASE=OHCI USB Controller + + pci:v00001033d00000035sv00001033sd00000035* +- ID_MODEL_FROM_DATABASE=USB Controller ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB Controller) + + pci:v00001033d00000035sv0000103Csd00001293* +- ID_MODEL_FROM_DATABASE=USB add-in card ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB add-in card) + + pci:v00001033d00000035sv0000103Csd00001294* +- ID_MODEL_FROM_DATABASE=USB 2.0 add-in card ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB 2.0 add-in card) + + pci:v00001033d00000035sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=USB ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB) + + pci:v00001033d00000035sv000012EEsd00007000* +- ID_MODEL_FROM_DATABASE=Root Hub ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) + + pci:v00001033d00000035sv000014C2sd00000105* +- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PTI-205N USB 2.0 Host Controller) + + pci:v00001033d00000035sv00001799sd00000001* +- ID_MODEL_FROM_DATABASE=Root Hub ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) + + pci:v00001033d00000035sv00001931sd0000000A* +- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (PPP data) ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (PPP data)) + + pci:v00001033d00000035sv00001931sd0000000B* +- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (GSM data) ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (GSM data)) + + pci:v00001033d00000035sv0000807Dsd00000035* +- ID_MODEL_FROM_DATABASE=PCI-USB2 (OHCI subsystem) ++ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PCI-USB2 (OHCI subsystem)) + + pci:v00001033d0000003B* + ID_MODEL_FROM_DATABASE=PCI to C-bus Bridge +@@ -12942,28 +12942,28 @@ pci:v00001033d00000067* + ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset + + pci:v00001033d00000067sv00001010sd00000020* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) + + pci:v00001033d00000067sv00001010sd00000080* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) + + pci:v00001033d00000067sv00001010sd00000088* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) + + pci:v00001033d00000067sv00001010sd00000090* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) + + pci:v00001033d00000067sv00001010sd00000098* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) + + pci:v00001033d00000067sv00001010sd000000A0* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) + + pci:v00001033d00000067sv00001010sd000000A8* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 32Mb) + + pci:v00001033d00000067sv00001010sd00000120* +- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb ++ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) + + pci:v00001033d00000072* + ID_MODEL_FROM_DATABASE=uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr +@@ -12972,7 +12972,7 @@ pci:v00001033d00000074* + ID_MODEL_FROM_DATABASE=56k Voice Modem + + pci:v00001033d00000074sv00001033sd00008014* +- ID_MODEL_FROM_DATABASE=RCV56ACF 56k Voice Modem ++ ID_MODEL_FROM_DATABASE=56k Voice Modem (RCV56ACF 56k Voice Modem) + + pci:v00001033d0000009B* + ID_MODEL_FROM_DATABASE=Vrc5476 +@@ -12987,7 +12987,7 @@ pci:v00001033d000000CD* + ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller + + pci:v00001033d000000CDsv000012EEsd00008011* +- ID_MODEL_FROM_DATABASE=Root hub ++ ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller (Root hub) + + pci:v00001033d000000CE* + ID_MODEL_FROM_DATABASE=uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller +@@ -12999,16 +12999,16 @@ pci:v00001033d000000E0* + ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller + + pci:v00001033d000000E0sv000012EEsd00007001* +- ID_MODEL_FROM_DATABASE=Root hub ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root hub) + + pci:v00001033d000000E0sv000014C2sd00000205* +- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PTI-205N USB 2.0 Host Controller) + + pci:v00001033d000000E0sv00001799sd00000002* +- ID_MODEL_FROM_DATABASE=Root Hub ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root Hub) + + pci:v00001033d000000E0sv0000807Dsd00001043* +- ID_MODEL_FROM_DATABASE=PCI-USB2 (EHCI subsystem) ++ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PCI-USB2 (EHCI subsystem)) + + pci:v00001033d000000E7* + ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller +@@ -13032,22 +13032,22 @@ pci:v00001033d00000194* + ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller + + pci:v00001033d00000194sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Precision M4600) + + pci:v00001033d00000194sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3350) + + pci:v00001033d00000194sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3750) + + pci:v00001033d00000194sv00001043sd00008413* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (P8P67 Deluxe Motherboard) + + pci:v00001033d00000194sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (QEMU Virtual Machine) + + pci:v00001033d00000194sv00001B96sd00000001* +- ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card ++ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (USB 3.0 PCIe Card) + + pci:v00001033d000001E7* + ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller +@@ -13116,7 +13116,7 @@ pci:v00001039d00000182* + ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller + + pci:v00001039d00000182sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller (D2030-A1) + + pci:v00001039d00000186* + ID_MODEL_FROM_DATABASE=AHCI Controller (0106) +@@ -13131,7 +13131,7 @@ pci:v00001039d00000200* + ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA + + pci:v00001039d00000200sv00001039sd00000000* +- ID_MODEL_FROM_DATABASE=SiS5597 SVGA (Shared RAM) ++ ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA (SiS5597 SVGA (Shared RAM)) + + pci:v00001039d00000204* + ID_MODEL_FROM_DATABASE=82C204 +@@ -13143,7 +13143,7 @@ pci:v00001039d00000300* + ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter + + pci:v00001039d00000300sv0000107Dsd00002720* +- ID_MODEL_FROM_DATABASE=Leadtek WinFast VR300 ++ ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter (Leadtek WinFast VR300) + + pci:v00001039d00000310* + ID_MODEL_FROM_DATABASE=315H PCI/AGP VGA Display Adapter +@@ -13239,7 +13239,7 @@ pci:v00001039d00000741* + ID_MODEL_FROM_DATABASE=741/741GX/M741 Host + + pci:v00001039d00000741sv00001849sd00000741* +- ID_MODEL_FROM_DATABASE=K7S41/K7S41GX motherboard ++ ID_MODEL_FROM_DATABASE=741/741GX/M741 Host (K7S41/K7S41GX motherboard) + + pci:v00001039d00000745* + ID_MODEL_FROM_DATABASE=745 Host +@@ -13257,25 +13257,25 @@ pci:v00001039d00000761* + ID_MODEL_FROM_DATABASE=761/M761 Host + + pci:v00001039d00000761sv00001734sd00001099* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=761/M761 Host (D2030-A1 Motherboard) + + pci:v00001039d00000900* + ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet + + pci:v00001039d00000900sv00001019sd00000A14* +- ID_MODEL_FROM_DATABASE=K7S5A motherboard ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (K7S5A motherboard) + + pci:v00001039d00000900sv00001039sd00000900* +- ID_MODEL_FROM_DATABASE=SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA] ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA]) + + pci:v00001039d00000900sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (CUSI-FX motherboard) + + pci:v00001039d00000900sv00001043sd000080A7* +- ID_MODEL_FROM_DATABASE=Motherboard P4S800D-X ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (Motherboard P4S800D-X) + + pci:v00001039d00000900sv00001462sd00000900* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (MS-6701 motherboard) + + pci:v00001039d00000961* + ID_MODEL_FROM_DATABASE=SiS961 [MuTIOL Media IO] +@@ -13335,22 +13335,22 @@ pci:v00001039d00005513* + ID_MODEL_FROM_DATABASE=5513 IDE Controller + + pci:v00001039d00005513sv00001019sd00000970* +- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (P6STP-FL motherboard) + + pci:v00001039d00005513sv00001039sd00005513* +- ID_MODEL_FROM_DATABASE=SiS5513 EIDE Controller (A,B step) ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (SiS5513 EIDE Controller (A,B step)) + + pci:v00001039d00005513sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (CUSI-FX motherboard) + + pci:v00001039d00005513sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (MS-6701 motherboard) + + pci:v00001039d00005513sv00001631sd00005513* +- ID_MODEL_FROM_DATABASE=GA-8SIML Rev1.0 Motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (GA-8SIML Rev1.0 Motherboard) + + pci:v00001039d00005513sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=5513 IDE Controller (D2030-A1 Motherboard) + + pci:v00001039d00005517* + ID_MODEL_FROM_DATABASE=5517 +@@ -13389,13 +13389,13 @@ pci:v00001039d00006300* + ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter + + pci:v00001039d00006300sv00001019sd00000970* +- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard ++ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (P6STP-FL motherboard) + + pci:v00001039d00006300sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (CUSI-FX motherboard) + + pci:v00001039d00006300sv0000104Dsd000080E2* +- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 ++ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (VAIO PCV-J200) + + pci:v00001039d00006306* + ID_MODEL_FROM_DATABASE=530/620 PCI/AGP VGA Display Adapter +@@ -13404,49 +13404,49 @@ pci:v00001039d00006325* + ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter + + pci:v00001039d00006325sv00001039sd00006325* +- ID_MODEL_FROM_DATABASE=SiS 651 onboard [Asus P4SC-EA] ++ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651 onboard [Asus P4SC-EA]) + + pci:v00001039d00006325sv00001631sd00001004* +- ID_MODEL_FROM_DATABASE=SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] ++ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651C onboard [Gigabyte GA-8SIML Rev1.0]) + + pci:v00001039d00006326* + ID_MODEL_FROM_DATABASE=86C326 5598/6326 + + pci:v00001039d00006326sv00001039sd00006326* +- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) + + pci:v00001039d00006326sv00001092sd00000A50* +- ID_MODEL_FROM_DATABASE=SpeedStar A50 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A50) + + pci:v00001039d00006326sv00001092sd00000A70* +- ID_MODEL_FROM_DATABASE=SpeedStar A70 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) + + pci:v00001039d00006326sv00001092sd00004910* +- ID_MODEL_FROM_DATABASE=SpeedStar A70 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) + + pci:v00001039d00006326sv00001092sd00004920* +- ID_MODEL_FROM_DATABASE=SpeedStar A70 ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) + + pci:v00001039d00006326sv000010B0sd00006326* +- ID_MODEL_FROM_DATABASE=S6110-B (AGP) ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (S6110-B (AGP)) + + pci:v00001039d00006326sv00001569sd00006326* +- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator ++ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) + + pci:v00001039d00006330* + ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter + + pci:v00001039d00006330sv00001039sd00006330* +- ID_MODEL_FROM_DATABASE=[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter ([M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter) + + pci:v00001039d00006330sv00001043sd00008113* +- ID_MODEL_FROM_DATABASE=SiS Real 256E (ASUS P5S800-VM motherboard) ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS Real 256E (ASUS P5S800-VM motherboard)) + + pci:v00001039d00006330sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=SiS661FX GUI 2D/3D Accelerator ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS661FX GUI 2D/3D Accelerator) + + pci:v00001039d00006330sv00001734sd00001099* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (D2030-A1) + + pci:v00001039d00006350* + ID_MODEL_FROM_DATABASE=770/670 PCIE VGA Display Adapter +@@ -13458,70 +13458,70 @@ pci:v00001039d00007001* + ID_MODEL_FROM_DATABASE=USB 1.1 Controller + + pci:v00001039d00007001sv00001019sd00000A14* +- ID_MODEL_FROM_DATABASE=K7S5A motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (K7S5A motherboard) + + pci:v00001039d00007001sv00001039sd00007000* +- ID_MODEL_FROM_DATABASE=Onboard USB Controller ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Onboard USB Controller) + + pci:v00001039d00007001sv00001462sd00005470* +- ID_MODEL_FROM_DATABASE=ECS K7SOM+ motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ECS K7SOM+ motherboard) + + pci:v00001039d00007001sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (MS-6701 motherboard) + + pci:v00001039d00007001sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (D2030-A1 Motherboard) + + pci:v00001039d00007002* + ID_MODEL_FROM_DATABASE=USB 2.0 Controller + + pci:v00001039d00007002sv00001462sd00005470* +- ID_MODEL_FROM_DATABASE=K7SOM+ 5.2C Motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (K7SOM+ 5.2C Motherboard) + + pci:v00001039d00007002sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (MS-6701 motherboard) + + pci:v00001039d00007002sv00001509sd00007002* +- ID_MODEL_FROM_DATABASE=Onboard USB Controller ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (Onboard USB Controller) + + pci:v00001039d00007002sv00001734sd00001095* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (D2030-A1) + + pci:v00001039d00007007* + ID_MODEL_FROM_DATABASE=FireWire Controller + + pci:v00001039d00007007sv00001462sd0000701D* +- ID_MODEL_FROM_DATABASE=MS-6701 ++ ID_MODEL_FROM_DATABASE=FireWire Controller (MS-6701) + + pci:v00001039d00007012* + ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller + + pci:v00001039d00007012sv00001019sd00000F05* +- ID_MODEL_FROM_DATABASE=A928 (i-Buddie) ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A928 (i-Buddie)) + + pci:v00001039d00007012sv00001039sd00007012* +- ID_MODEL_FROM_DATABASE=SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller) + + pci:v00001039d00007012sv00001043sd0000818F* +- ID_MODEL_FROM_DATABASE=A8S-X Motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A8S-X Motherboard) + + pci:v00001039d00007012sv000013F6sd00000300* +- ID_MODEL_FROM_DATABASE=CMI9739(A) on ECS K7SOM+ motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (CMI9739(A) on ECS K7SOM+ motherboard) + + pci:v00001039d00007012sv00001462sd00005850* +- ID_MODEL_FROM_DATABASE=MSI 648 Max (MS-6585) ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MSI 648 Max (MS-6585)) + + pci:v00001039d00007012sv00001462sd00007010* +- ID_MODEL_FROM_DATABASE=MS-6701 motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MS-6701 motherboard) + + pci:v00001039d00007012sv000015BDsd00001001* +- ID_MODEL_FROM_DATABASE=DFI 661FX motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (DFI 661FX motherboard) + + pci:v00001039d00007012sv00001734sd0000109F* +- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (D2030-A1 Motherboard) + + pci:v00001039d00007012sv00001849sd00007012* +- ID_MODEL_FROM_DATABASE=K7S41GX motherboard ++ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (K7S41GX motherboard) + + pci:v00001039d00007013* + ID_MODEL_FROM_DATABASE=AC'97 Modem Controller +@@ -13530,7 +13530,7 @@ pci:v00001039d00007016* + ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter + + pci:v00001039d00007016sv00001039sd00007016* +- ID_MODEL_FROM_DATABASE=SiS7016 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter (SiS7016 10/100 Ethernet Adapter) + + pci:v00001039d00007018* + ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator +@@ -13560,7 +13560,7 @@ pci:v00001039d00007018sv00001043sd0000800B* + ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator + + pci:v00001039d00007018sv0000104Dsd000080E2* +- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 ++ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator (VAIO PCV-J200) + + pci:v00001039d00007018sv00001054sd00007018* + ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator +@@ -13635,25 +13635,25 @@ pci:v0000103Cd00001029* + ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter + + pci:v0000103Cd00001029sv0000107Esd0000000F* +- ID_MODEL_FROM_DATABASE=Interphase 5560 Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (Interphase 5560 Fibre Channel Adapter) + + pci:v0000103Cd00001029sv00009004sd00009210* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd00001029sv00009004sd00009211* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd0000102A* + ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter + + pci:v0000103Cd0000102Asv0000107Esd0000000E* +- ID_MODEL_FROM_DATABASE=Interphase 5540/5541 Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (Interphase 5540/5541 Fibre Channel Adapter) + + pci:v0000103Cd0000102Asv00009004sd00009110* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd0000102Asv00009004sd00009111* +- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller ++ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) + + pci:v0000103Cd00001030* + ID_MODEL_FROM_DATABASE=J2585A DeskDirect 10/100VG NIC +@@ -13662,13 +13662,13 @@ pci:v0000103Cd00001031* + ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter + + pci:v0000103Cd00001031sv0000103Csd00001040* +- ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC ++ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2973A DeskDirect 10BaseT NIC) + + pci:v0000103Cd00001031sv0000103Csd00001041* +- ID_MODEL_FROM_DATABASE=J2585B DeskDirect 10/100VG NIC ++ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2585B DeskDirect 10/100VG NIC) + + pci:v0000103Cd00001031sv0000103Csd00001042* +- ID_MODEL_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC ++ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2970A DeskDirect 10BaseT/2 NIC) + + pci:v0000103Cd00001040* + ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC +@@ -13683,28 +13683,28 @@ pci:v0000103Cd00001048* + ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART + + pci:v0000103Cd00001048sv0000103Csd00001049* +- ID_MODEL_FROM_DATABASE=Tosca Console ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Console) + + pci:v0000103Cd00001048sv0000103Csd0000104A* +- ID_MODEL_FROM_DATABASE=Tosca Secondary ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Secondary) + + pci:v0000103Cd00001048sv0000103Csd0000104B* +- ID_MODEL_FROM_DATABASE=Maestro SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Maestro SP2) + + pci:v0000103Cd00001048sv0000103Csd00001223* +- ID_MODEL_FROM_DATABASE=Superdome Console ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Superdome Console) + + pci:v0000103Cd00001048sv0000103Csd00001226* +- ID_MODEL_FROM_DATABASE=Keystone SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Keystone SP2) + + pci:v0000103Cd00001048sv0000103Csd00001227* +- ID_MODEL_FROM_DATABASE=Powerbar SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Powerbar SP2) + + pci:v0000103Cd00001048sv0000103Csd00001282* +- ID_MODEL_FROM_DATABASE=Everest SP2 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Everest SP2) + + pci:v0000103Cd00001048sv0000103Csd00001301* +- ID_MODEL_FROM_DATABASE=Diva RMP3 ++ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Diva RMP3) + + pci:v0000103Cd00001054* + ID_MODEL_FROM_DATABASE=PCI Local Bus Adapter +@@ -13758,7 +13758,7 @@ pci:v0000103Cd00001290* + ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port + + pci:v0000103Cd00001290sv0000103Csd00001291* +- ID_MODEL_FROM_DATABASE=Diva SP2 ++ ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port (Diva SP2) + + pci:v0000103Cd00001291* + ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port +@@ -13794,208 +13794,208 @@ pci:v0000103Cd00003220* + ID_MODEL_FROM_DATABASE=Smart Array P600 + + pci:v0000103Cd00003220sv0000103Csd00003225* +- ID_MODEL_FROM_DATABASE=3 Gb/s SAS RAID ++ ID_MODEL_FROM_DATABASE=Smart Array P600 (3 Gb/s SAS RAID) + + pci:v0000103Cd00003230* + ID_MODEL_FROM_DATABASE=Smart Array Controller + + pci:v0000103Cd00003230sv0000103Csd00003223* +- ID_MODEL_FROM_DATABASE=Smart Array P800 ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (Smart Array P800) + + pci:v0000103Cd00003230sv0000103Csd00003234* +- ID_MODEL_FROM_DATABASE=P400 SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400 SAS Controller) + + pci:v0000103Cd00003230sv0000103Csd00003235* +- ID_MODEL_FROM_DATABASE=P400i SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400i SAS Controller) + + pci:v0000103Cd00003230sv0000103Csd00003237* +- ID_MODEL_FROM_DATABASE=E500 SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (E500 SAS Controller) + + pci:v0000103Cd00003230sv0000103Csd0000323D* +- ID_MODEL_FROM_DATABASE=P700m SAS Controller ++ ID_MODEL_FROM_DATABASE=Smart Array Controller (P700m SAS Controller) + + pci:v0000103Cd00003238* + ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) + + pci:v0000103Cd00003238sv0000103Csd00003211* +- ID_MODEL_FROM_DATABASE=Smart Array E200i ++ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200i) + + pci:v0000103Cd00003238sv0000103Csd00003212* +- ID_MODEL_FROM_DATABASE=Smart Array E200 ++ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200) + + pci:v0000103Cd00003239* + ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers + + pci:v0000103Cd00003239sv0000103Csd000021BD* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021BE* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021BF* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C0* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C1* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C2* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C3* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C4* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C5* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C6* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C7* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C8* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021C9* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CA* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CB* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CC* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CD* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd00003239sv0000103Csd000021CE* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) + + pci:v0000103Cd0000323A* + ID_MODEL_FROM_DATABASE=Smart Array G6 controllers + + pci:v0000103Cd0000323Asv0000103Csd00003241* +- ID_MODEL_FROM_DATABASE=Smart Array P212 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P212) + + pci:v0000103Cd0000323Asv0000103Csd00003243* +- ID_MODEL_FROM_DATABASE=Smart Array P410 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410) + + pci:v0000103Cd0000323Asv0000103Csd00003245* +- ID_MODEL_FROM_DATABASE=Smart Array P410i ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410i) + + pci:v0000103Cd0000323Asv0000103Csd00003247* +- ID_MODEL_FROM_DATABASE=Smart Array P411 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P411) + + pci:v0000103Cd0000323Asv0000103Csd00003249* +- ID_MODEL_FROM_DATABASE=Smart Array P812 ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P812) + + pci:v0000103Cd0000323Asv0000103Csd0000324A* +- ID_MODEL_FROM_DATABASE=HP Smart Array 712m (Mezzanine RAID controller) ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (HP Smart Array 712m (Mezzanine RAID controller)) + + pci:v0000103Cd0000323Asv0000103Csd0000324B* +- ID_MODEL_FROM_DATABASE=Smart Array P711m (Mezzanine RAID controller) ++ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P711m (Mezzanine RAID controller)) + + pci:v0000103Cd0000323B* + ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers + + pci:v0000103Cd0000323Bsv0000103Csd00003350* +- ID_MODEL_FROM_DATABASE=P222 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P222) + + pci:v0000103Cd0000323Bsv0000103Csd00003351* +- ID_MODEL_FROM_DATABASE=P420 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420) + + pci:v0000103Cd0000323Bsv0000103Csd00003352* +- ID_MODEL_FROM_DATABASE=P421 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P421) + + pci:v0000103Cd0000323Bsv0000103Csd00003354* +- ID_MODEL_FROM_DATABASE=P420i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420i) + + pci:v0000103Cd0000323Bsv0000103Csd00003355* +- ID_MODEL_FROM_DATABASE=P220i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P220i) + + pci:v0000103Cd0000323C* + ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers + + pci:v0000103Cd0000323Csv0000103Csd00001920* +- ID_MODEL_FROM_DATABASE=P430i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430i) + + pci:v0000103Cd0000323Csv0000103Csd00001921* +- ID_MODEL_FROM_DATABASE=P830i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830i) + + pci:v0000103Cd0000323Csv0000103Csd00001922* +- ID_MODEL_FROM_DATABASE=P430 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430) + + pci:v0000103Cd0000323Csv0000103Csd00001923* +- ID_MODEL_FROM_DATABASE=P431 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P431) + + pci:v0000103Cd0000323Csv0000103Csd00001924* +- ID_MODEL_FROM_DATABASE=P830 ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830) + + pci:v0000103Cd0000323Csv0000103Csd00001925* +- ID_MODEL_FROM_DATABASE=Smart Array ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (Smart Array) + + pci:v0000103Cd0000323Csv0000103Csd00001926* +- ID_MODEL_FROM_DATABASE=P731m ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P731m) + + pci:v0000103Cd0000323Csv0000103Csd00001928* +- ID_MODEL_FROM_DATABASE=P230i ++ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P230i) + + pci:v0000103Cd00003300* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller + + pci:v0000103Cd00003300sv0000103Csd00003304* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) + + pci:v0000103Cd00003300sv0000103Csd00003305* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) + + pci:v0000103Cd00003300sv0000103Csd00003309* +- ID_MODEL_FROM_DATABASE=iLO2 GXL/iLO3 GXE ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2 GXL/iLO3 GXE) + + pci:v0000103Cd00003300sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO3) + + pci:v0000103Cd00003300sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO4) + + pci:v0000103Cd00003301* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port + + pci:v0000103Cd00003301sv0000103Csd00003304* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) + + pci:v0000103Cd00003301sv0000103Csd00003305* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) + + pci:v0000103Cd00003301sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO3) + + pci:v0000103Cd00003301sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO4) + + pci:v0000103Cd00003302* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface + + pci:v0000103Cd00003302sv0000103Csd00003304* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) + + pci:v0000103Cd00003302sv0000103Csd00003305* +- ID_MODEL_FROM_DATABASE=iLO2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) + + pci:v0000103Cd00003302sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO3) + + pci:v0000103Cd00003302sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO4) + + pci:v0000103Cd00003305* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out (iLO2) Controller +@@ -14004,31 +14004,31 @@ pci:v0000103Cd00003306* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support + + pci:v0000103Cd00003306sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO3) + + pci:v0000103Cd00003306sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO4) + + pci:v0000103Cd00003307* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging + + pci:v0000103Cd00003307sv0000103Csd00003309* +- ID_MODEL_FROM_DATABASE=iLO 2 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO 2) + + pci:v0000103Cd00003307sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO3) + + pci:v0000103Cd00003307sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO4) + + pci:v0000103Cd00003308* + ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer + + pci:v0000103Cd00003308sv0000103Csd0000330E* +- ID_MODEL_FROM_DATABASE=iLO3 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO3) + + pci:v0000103Cd00003308sv0000103Csd00003381* +- ID_MODEL_FROM_DATABASE=iLO4 ++ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO4) + + pci:v0000103Cd0000402F* + ID_MODEL_FROM_DATABASE=PCIe Root Port +@@ -14082,19 +14082,19 @@ pci:v00001043d00000675* + ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D + + pci:v00001043d00000675sv00000675sd00001704* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) ++ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, D, C)) + + pci:v00001043d00000675sv00000675sd00001707* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001043d00000675sv000010CFsd0000105E* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001043d00009602* + ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) + + pci:v00001043d00009602sv00001043sd000083A2* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) (M4A785TD Motherboard) + + pci:v00001044* + ID_VENDOR_FROM_DATABASE=Adaptec (formerly DPT) +@@ -14112,118 +14112,118 @@ pci:v00001044d0000A501* + ID_MODEL_FROM_DATABASE=SmartRAID V Controller + + pci:v00001044d0000A501sv00001044sd0000C001* +- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C002* +- ID_MODEL_FROM_DATABASE=PM1654U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1654U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C003* +- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C004* +- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C005* +- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C00A* +- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C00B* +- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C00C* +- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C00D* +- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C00E* +- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C00F* +- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C014* +- ID_MODEL_FROM_DATABASE=PM3754U2 Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3754U2 Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C015* +- ID_MODEL_FROM_DATABASE=PM3755U2B Ultra2 Single Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755U2B Ultra2 Single Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C016* +- ID_MODEL_FROM_DATABASE=PM3755F Fibre Channel (NON ACPI) ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755F Fibre Channel (NON ACPI)) + + pci:v00001044d0000A501sv00001044sd0000C01E* +- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C01F* +- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C020* +- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C021* +- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Quad Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Quad Channel) + + pci:v00001044d0000A501sv00001044sd0000C028* +- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C029* +- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C02A* +- ID_MODEL_FROM_DATABASE=PM2865F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C03C* +- ID_MODEL_FROM_DATABASE=2000S Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C03D* +- ID_MODEL_FROM_DATABASE=2000S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C03E* +- ID_MODEL_FROM_DATABASE=2000F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C046* +- ID_MODEL_FROM_DATABASE=3000S Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C047* +- ID_MODEL_FROM_DATABASE=3000S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C048* +- ID_MODEL_FROM_DATABASE=3000F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C050* +- ID_MODEL_FROM_DATABASE=5000S Ultra3 Single Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Single Channel) + + pci:v00001044d0000A501sv00001044sd0000C051* +- ID_MODEL_FROM_DATABASE=5000S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C052* +- ID_MODEL_FROM_DATABASE=5000F Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000F Fibre Channel) + + pci:v00001044d0000A501sv00001044sd0000C05A* +- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel) + + pci:v00001044d0000A501sv00001044sd0000C05B* +- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel DAC ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel DAC) + + pci:v00001044d0000A501sv00001044sd0000C064* +- ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Ultra3 Dual Channel) + + pci:v00001044d0000A501sv00001044sd0000C065* +- ID_MODEL_FROM_DATABASE=3410S Ultra160 Four Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3410S Ultra160 Four Channel) + + pci:v00001044d0000A501sv00001044sd0000C066* +- ID_MODEL_FROM_DATABASE=3010S Fibre Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Fibre Channel) + + pci:v00001044d0000A511* + ID_MODEL_FROM_DATABASE=SmartRAID V Controller + + pci:v00001044d0000A511sv00001044sd0000C032* +- ID_MODEL_FROM_DATABASE=ASR-2005S I2O Zero Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2005S I2O Zero Channel) + + pci:v00001044d0000A511sv00001044sd0000C035* +- ID_MODEL_FROM_DATABASE=ASR-2010S I2O Zero Channel ++ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2010S I2O Zero Channel) + + pci:v00001044d0000C066* + ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel +@@ -14325,7 +14325,7 @@ pci:v00001048d00008901* + ID_MODEL_FROM_DATABASE=Gloria XL + + pci:v00001048d00008901sv00001048sd00000935* +- ID_MODEL_FROM_DATABASE=GLoria XL (Virge) ++ ID_MODEL_FROM_DATABASE=Gloria XL (GLoria XL (Virge)) + + pci:v00001049* + ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc. +@@ -14346,19 +14346,19 @@ pci:v0000104Ad00000010* + ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] + + pci:v0000104Ad00000010sv0000104Asd00004018* +- ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (ST PowerVR Kyro (64MB AGP TVO)) + + pci:v0000104Ad00000010sv00001681sd00000010* +- ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (PowerVR Kyro II [3D Prophet 4500]) + + pci:v0000104Ad00000010sv00001681sd00000028* +- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) + + pci:v0000104Ad00000010sv00001681sd0000C010* +- ID_MODEL_FROM_DATABASE=3D Prophet 4500 TV-Out ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4500 TV-Out) + + pci:v0000104Ad00000010sv00001681sd0000C069* +- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT ++ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) + + pci:v0000104Ad00000201* + ID_MODEL_FROM_DATABASE=STPC Vega Northbridge +@@ -14400,7 +14400,7 @@ pci:v0000104Ad00000500* + ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver + + pci:v0000104Ad00000500sv0000104Asd00000500* +- ID_MODEL_FROM_DATABASE=BeWAN ADSL PCI st ++ ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver (BeWAN ADSL PCI st) + + pci:v0000104Ad00000564* + ID_MODEL_FROM_DATABASE=STPC Client Northbridge +@@ -14454,115 +14454,115 @@ pci:v0000104Cd00003D07* + ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] + + pci:v0000104Cd00003D07sv00001011sd00004D10* +- ID_MODEL_FROM_DATABASE=Comet ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Comet) + + pci:v0000104Cd00003D07sv00001040sd0000000F* +- ID_MODEL_FROM_DATABASE=AccelStar II ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) + + pci:v0000104Cd00003D07sv00001040sd00000011* +- ID_MODEL_FROM_DATABASE=AccelStar II ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) + + pci:v0000104Cd00003D07sv00001048sd00000A31* +- ID_MODEL_FROM_DATABASE=WINNER 2000 ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WINNER 2000) + + pci:v0000104Cd00003D07sv00001048sd00000A32* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A34* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A35* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A36* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A43* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv00001048sd00000A44* +- ID_MODEL_FROM_DATABASE=GLoria Synergy ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) + + pci:v0000104Cd00003D07sv0000107Dsd00002633* +- ID_MODEL_FROM_DATABASE=WinFast 3D L2300 ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WinFast 3D L2300) + + pci:v0000104Cd00003D07sv00001092sd00000126* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000127* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000136* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000141* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000146* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000148* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000149* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000152* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000154* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000155* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000156* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001092sd00000157* +- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) + + pci:v0000104Cd00003D07sv00001097sd00003D01* +- ID_MODEL_FROM_DATABASE=Jeronimo Pro ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Jeronimo Pro) + + pci:v0000104Cd00003D07sv00001102sd0000100F* +- ID_MODEL_FROM_DATABASE=Graphics Blaster Extreme ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Graphics Blaster Extreme) + + pci:v0000104Cd00003D07sv00003D3Dsd00000100* +- ID_MODEL_FROM_DATABASE=Reference Permedia 2 3D ++ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Reference Permedia 2 3D) + + pci:v0000104Cd00008000* + ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller + + pci:v0000104Cd00008000sv0000105Esd00008003* +- ID_MODEL_FROM_DATABASE=FireBoard200 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) + + pci:v0000104Cd00008000sv00001443sd00008003* +- ID_MODEL_FROM_DATABASE=FireBoard200 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) + + pci:v0000104Cd00008000sv00001443sd00008005* +- ID_MODEL_FROM_DATABASE=FireBoard400 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) + + pci:v0000104Cd00008000sv00001443sd00008006* +- ID_MODEL_FROM_DATABASE=FireBoard400 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) + + pci:v0000104Cd00008000sv0000E4BFsd00001010* +- ID_MODEL_FROM_DATABASE=CF1-1-SNARE ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-1-SNARE) + + pci:v0000104Cd00008000sv0000E4BFsd00001020* +- ID_MODEL_FROM_DATABASE=CF1-2-SNARE ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-2-SNARE) + + pci:v0000104Cd00008000sv0000E4BFsd00001040* +- ID_MODEL_FROM_DATABASE=FireCompact400 ++ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireCompact400) + + pci:v0000104Cd00008009* + ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller + + pci:v0000104Cd00008009sv0000104Dsd00008032* +- ID_MODEL_FROM_DATABASE=8032 OHCI i.LINK (IEEE 1394) Controller ++ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (8032 OHCI i.LINK (IEEE 1394) Controller) + + pci:v0000104Cd00008009sv00001443sd00008010* +- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI ++ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (FireBoard400-OHCI) + + pci:v0000104Cd00008017* + ID_MODEL_FROM_DATABASE=PCI4410 FireWire Controller +@@ -14571,223 +14571,223 @@ pci:v0000104Cd00008019* + ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller + + pci:v0000104Cd00008019sv000011BDsd0000000A* +- ID_MODEL_FROM_DATABASE=Studio DV500-1394 ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV500-1394) + + pci:v0000104Cd00008019sv000011BDsd0000000E* +- ID_MODEL_FROM_DATABASE=Studio DV ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV) + + pci:v0000104Cd00008019sv00001443sd00008010* +- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (FireBoard400-OHCI) + + pci:v0000104Cd00008019sv0000E4BFsd00001010* +- ID_MODEL_FROM_DATABASE=CF2-1-CYMBAL ++ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (CF2-1-CYMBAL) + + pci:v0000104Cd00008020* + ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) + + pci:v0000104Cd00008020sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Precision 530) + + pci:v0000104Cd00008020sv0000104Dsd000080E2* +- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (VAIO PCV-J200) + + pci:v0000104Cd00008020sv000011BDsd0000000F* +- ID_MODEL_FROM_DATABASE=Studio DV500-1394 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Studio DV500-1394) + + pci:v0000104Cd00008020sv000011BDsd0000001C* +- ID_MODEL_FROM_DATABASE=Excalibur 4.1 ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Excalibur 4.1) + + pci:v0000104Cd00008020sv00001443sd00008010* +- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI ++ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (FireBoard400-OHCI) + + pci:v0000104Cd00008021* + ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) + + pci:v0000104Cd00008021sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (Vaio PCG-FX403) + + pci:v0000104Cd00008021sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v0000104Cd00008022* + ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + + pci:v0000104Cd00008022sv0000104Csd00008023* +- ID_MODEL_FROM_DATABASE=TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) ++ ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)) + + pci:v0000104Cd00008023* + ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + + pci:v0000104Cd00008023sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Precision Workstation 670 Mainboard) + + pci:v0000104Cd00008023sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (NC8000 laptop) + + pci:v0000104Cd00008023sv00001043sd0000808B* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (K8N4/A8N Series Mainboard) + + pci:v0000104Cd00008023sv00001043sd0000815B* +- ID_MODEL_FROM_DATABASE=P5W DH Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (P5W DH Deluxe Motherboard) + + pci:v0000104Cd00008023sv00001443sd00008023* +- ID_MODEL_FROM_DATABASE=FireCard400 ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (FireCard400) + + pci:v0000104Cd00008023sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Desktop Board DP35DP) + + pci:v0000104Cd00008024* + ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) + + pci:v0000104Cd00008024sv0000107Dsd00006620* +- ID_MODEL_FROM_DATABASE=Winfast DV2000 FireWire Controller ++ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Winfast DV2000 FireWire Controller) + + pci:v0000104Cd00008024sv00001443sd00008024* +- ID_MODEL_FROM_DATABASE=FireBoard Blue ++ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (FireBoard Blue) + + pci:v0000104Cd00008024sv00001458sd00001000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Motherboard) + + pci:v0000104Cd00008025* + ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller + + pci:v0000104Cd00008025sv00001043sd0000813C* +- ID_MODEL_FROM_DATABASE=P5P series mainboard ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (P5P series mainboard) + + pci:v0000104Cd00008025sv00001443sd00008025* +- ID_MODEL_FROM_DATABASE=FireBoard800 ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FireBoard800) + + pci:v0000104Cd00008025sv00001458sd00001000* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GA-K8N Ultra-9 Mainboard) + + pci:v0000104Cd00008025sv00001546sd00008025* +- ID_MODEL_FROM_DATABASE=FWB-PCI01 ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FWB-PCI01) + + pci:v0000104Cd00008025sv000017FCsd00008025* +- ID_MODEL_FROM_DATABASE=GIC3800 ++ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GIC3800) + + pci:v0000104Cd00008026* + ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) + + pci:v0000104Cd00008026sv00001025sd00000035* +- ID_MODEL_FROM_DATABASE=TravelMate 660 ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (TravelMate 660) + + pci:v0000104Cd00008026sv00001025sd0000003C* +- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compaq CL50 motherboard) ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (Aspire 2001WLCi (Compaq CL50 motherboard)) + + pci:v0000104Cd00008026sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (XE4500 Notebook) + + pci:v0000104Cd00008026sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (NX9500) + + pci:v0000104Cd00008026sv00001043sd0000808D* +- ID_MODEL_FROM_DATABASE=A7V333 mainboard. ++ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (A7V333 mainboard.) + + pci:v0000104Cd00008027* + ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller + + pci:v0000104Cd00008027sv00001028sd000000E5* +- ID_MODEL_FROM_DATABASE=Latitude C810 ++ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Latitude C810) + + pci:v0000104Cd00008027sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller ((Dell Inspiron 8100)) + + pci:v0000104Cd00008029* + ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller + + pci:v0000104Cd00008029sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Latitude D505) + + pci:v0000104Cd00008029sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Inspiron 5160) + + pci:v0000104Cd00008029sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2900 ++ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (MIM2900) + + pci:v0000104Cd0000802B* + ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller + + pci:v0000104Cd0000802Bsv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D400) + + pci:v0000104Cd0000802Bsv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) ++ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller ((Latitude D800)) + + pci:v0000104Cd0000802E* + ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller + + pci:v0000104Cd0000802Esv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller (Inspiron 700m/710m) + + pci:v0000104Cd00008031* + ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller + + pci:v0000104Cd00008031sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008031sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008031sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (NX6110/NC6120) + + pci:v0000104Cd00008031sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (MX6125) + + pci:v0000104Cd00008032* + ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller + + pci:v0000104Cd00008032sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008032sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008032sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (NX6110/NC6120) + + pci:v0000104Cd00008032sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (MX6125) + + pci:v0000104Cd00008033* + ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller + + pci:v0000104Cd00008033sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008033sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008033sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (NX6110/NC6120) + + pci:v0000104Cd00008033sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (MX6125) + + pci:v0000104Cd00008034* + ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller + + pci:v0000104Cd00008034sv00001025sd00000080* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Aspire 5024WLMi) + + pci:v0000104Cd00008034sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008034sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (NX6110/NC6120) + + pci:v0000104Cd00008034sv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (MX6125) + + pci:v0000104Cd00008035* + ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller + + pci:v0000104Cd00008035sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (Compaq nw8240/nx8220) + + pci:v0000104Cd00008035sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (NX6110/NC6120) + + pci:v0000104Cd00008036* + ID_MODEL_FROM_DATABASE=PCI6515 Cardbus Controller +@@ -14799,67 +14799,67 @@ pci:v0000104Cd00008039* + ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller + + pci:v0000104Cd00008039sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nx9420 Notebook) + + pci:v0000104Cd00008039sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (NC2400) + + pci:v0000104Cd00008039sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nw8440) + + pci:v0000104Cd00008039sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (VAIO VGN-NR120E) + + pci:v0000104Cd0000803A* + ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller + + pci:v0000104Cd0000803Asv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=nx9420 ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (nx9420) + + pci:v0000104Cd0000803Asv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (NC2400) + + pci:v0000104Cd0000803Asv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (Compaq nw8440) + + pci:v0000104Cd0000803Asv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (VAIO VGN-NR120E) + + pci:v0000104Cd0000803B* + ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) + + pci:v0000104Cd0000803Bsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=nx9420 ++ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (nx9420) + + pci:v0000104Cd0000803Bsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (Compaq nw8440) + + pci:v0000104Cd0000803Bsv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (VAIO VGN-NR120E) + + pci:v0000104Cd0000803C* + ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller + + pci:v0000104Cd0000803Csv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=nx9420 ++ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (nx9420) + + pci:v0000104Cd0000803Csv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (Compaq nw8440) + + pci:v0000104Cd0000803D* + ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller + + pci:v0000104Cd0000803Dsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (Compaq nx9420 Notebook) + + pci:v0000104Cd0000803Dsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (NC2400) + + pci:v0000104Cd0000803Dsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=nc8430 ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc8430) + + pci:v0000104Cd0000803Dsv0000103Csd000030AA* +- ID_MODEL_FROM_DATABASE=nc6310 ++ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc6310) + + pci:v0000104Cd00008101* + ID_MODEL_FROM_DATABASE=TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) +@@ -14871,16 +14871,16 @@ pci:v0000104Cd00008204* + ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function + + pci:v0000104Cd00008204sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D400) + + pci:v0000104Cd00008204sv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=Latitude D800 ++ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D800) + + pci:v0000104Cd00008231* + ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge + + pci:v0000104Cd00008231sv00005678sd00001234* +- ID_MODEL_FROM_DATABASE=DC-1394 PCIe ++ ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge (DC-1394 PCIe) + + pci:v0000104Cd00008232* + ID_MODEL_FROM_DATABASE=XIO3130 PCI Express Switch (Upstream) +@@ -14892,7 +14892,7 @@ pci:v0000104Cd00008235* + ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) + + pci:v0000104Cd00008235sv00005678sd00001234* +- ID_MODEL_FROM_DATABASE=DC-1394 PCIe ++ ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) (DC-1394 PCIe) + + pci:v0000104Cd0000823E* + ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] +@@ -14901,7 +14901,7 @@ pci:v0000104Cd0000823F* + ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] + + pci:v0000104Cd0000823Fsv00001546sd0000803C* +- ID_MODEL_FROM_DATABASE=FWB-PCIE1X11B ++ ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (FWB-PCIE1X11B) + + pci:v0000104Cd00008240* + ID_MODEL_FROM_DATABASE=XIO2001 PCI Express-to-PCI Bridge +@@ -14913,16 +14913,16 @@ pci:v0000104Cd00008400* + ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface + + pci:v0000104Cd00008400sv00001186sd00003B00* +- ID_MODEL_FROM_DATABASE=DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]) + + pci:v0000104Cd00008400sv00001186sd00003B01* +- ID_MODEL_FROM_DATABASE=DWL-520+ 22Mbps PCI Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-520+ 22Mbps PCI Wireless Adapter) + + pci:v0000104Cd00008400sv00001395sd00002201* +- ID_MODEL_FROM_DATABASE=WL22-PC ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL22-PC) + + pci:v0000104Cd00008400sv000016ABsd00008501* +- ID_MODEL_FROM_DATABASE=WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter) + + pci:v0000104Cd00008401* + ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface +@@ -14937,58 +14937,58 @@ pci:v0000104Cd00009066* + ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface + + pci:v0000104Cd00009066sv00000308sd00003404* +- ID_MODEL_FROM_DATABASE=G-102 v1 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-102 v1 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv00000308sd00003406* +- ID_MODEL_FROM_DATABASE=G-162 v2 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v2 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv0000104Csd00009066* +- ID_MODEL_FROM_DATABASE=WL212 Sitecom Wireless Network PCI-Card 100M (Version 1) ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WL212 Sitecom Wireless Network PCI-Card 100M (Version 1)) + + pci:v0000104Cd00009066sv0000104Csd00009067* +- ID_MODEL_FROM_DATABASE=TNETW1130GVF ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (TNETW1130GVF) + + pci:v0000104Cd00009066sv0000104Csd00009096* +- ID_MODEL_FROM_DATABASE=Trendnet TEW-412PC Wireless PCI Adapter (Version A) ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Trendnet TEW-412PC Wireless PCI Adapter (Version A)) + + pci:v0000104Cd00009066sv00001186sd00003B04* +- ID_MODEL_FROM_DATABASE=DWL-G520+ Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G520+ Wireless PCI Adapter) + + pci:v0000104Cd00009066sv00001186sd00003B05* +- ID_MODEL_FROM_DATABASE=DWL-G650+ AirPlusG+ CardBus Wireless LAN ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G650+ AirPlusG+ CardBus Wireless LAN) + + pci:v0000104Cd00009066sv00001186sd00003B08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1) ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1)) + + pci:v0000104Cd00009066sv00001385sd00004C00* +- ID_MODEL_FROM_DATABASE=WG311v2 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WG311v2 802.11g Wireless PCI Adapter) + + pci:v0000104Cd00009066sv000013D1sd0000ABA0* +- ID_MODEL_FROM_DATABASE=SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+) + + pci:v0000104Cd00009066sv000014EAsd0000AB07* +- ID_MODEL_FROM_DATABASE=GW-NS54GM Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (GW-NS54GM Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv000016ECsd0000010D* +- ID_MODEL_FROM_DATABASE=USR5416 802.11g Wireless Turbo PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5416 802.11g Wireless Turbo PCI Adapter) + + pci:v0000104Cd00009066sv000016ECsd0000010E* +- ID_MODEL_FROM_DATABASE=USR5410 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5410 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv00001737sd00000033* +- ID_MODEL_FROM_DATABASE=WPC54G v2 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WPC54G v2 802.11g Wireless-G Notebook Adapter) + + pci:v0000104Cd00009066sv000017CFsd00000032* +- ID_MODEL_FROM_DATABASE=G-162 v1 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v1 802.11g Wireless Cardbus Adapter) + + pci:v0000104Cd00009066sv000017CFsd00000033* +- ID_MODEL_FROM_DATABASE=Z-Com XG650 Wireless miniPCI 802.11b/g ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Z-Com XG650 Wireless miniPCI 802.11b/g) + + pci:v0000104Cd00009066sv0000187Esd0000340B* +- ID_MODEL_FROM_DATABASE=G-302 v2 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-302 v2 802.11g Wireless PCI Adapter) + + pci:v0000104Cd00009066sv0000187Esd0000340C* +- ID_MODEL_FROM_DATABASE=G-360 v2 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-360 v2 802.11g Wireless PCI Adapter) + + pci:v0000104Cd0000A001* + ID_MODEL_FROM_DATABASE=TDC1570 +@@ -15003,13 +15003,13 @@ pci:v0000104Cd0000A106* + ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 + + pci:v0000104Cd0000A106sv0000175Csd00005000* +- ID_MODEL_FROM_DATABASE=ASI50xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI50xx Audio Adapter) + + pci:v0000104Cd0000A106sv0000175Csd00006400* +- ID_MODEL_FROM_DATABASE=ASI6400 Cobranet series ++ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI6400 Cobranet series) + + pci:v0000104Cd0000A106sv0000175Csd00008700* +- ID_MODEL_FROM_DATABASE=ASI87xx Radio Tuner card ++ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI87xx Radio Tuner card) + + pci:v0000104Cd0000AC10* + ID_MODEL_FROM_DATABASE=PCI1050 +@@ -15030,7 +15030,7 @@ pci:v0000104Cd0000AC16* + ID_MODEL_FROM_DATABASE=PCI1250 + + pci:v0000104Cd0000AC16sv00001014sd00000092* +- ID_MODEL_FROM_DATABASE=ThinkPad 600 ++ ID_MODEL_FROM_DATABASE=PCI1250 (ThinkPad 600) + + pci:v0000104Cd0000AC17* + ID_MODEL_FROM_DATABASE=PCI1220 +@@ -15048,19 +15048,19 @@ pci:v0000104Cd0000AC1B* + ID_MODEL_FROM_DATABASE=PCI1450 + + pci:v0000104Cd0000AC1Bsv00000E11sd0000B113* +- ID_MODEL_FROM_DATABASE=Armada M700 ++ ID_MODEL_FROM_DATABASE=PCI1450 (Armada M700) + + pci:v0000104Cd0000AC1Bsv00001014sd00000130* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A21m/T20/T22 ++ ID_MODEL_FROM_DATABASE=PCI1450 (ThinkPad 600X/A21m/T20/T22) + + pci:v0000104Cd0000AC1C* + ID_MODEL_FROM_DATABASE=PCI1225 + + pci:v0000104Cd0000AC1Csv00000E11sd0000B121* +- ID_MODEL_FROM_DATABASE=Armada E500 ++ ID_MODEL_FROM_DATABASE=PCI1225 (Armada E500) + + pci:v0000104Cd0000AC1Csv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=Latitude CPi A400XT ++ ID_MODEL_FROM_DATABASE=PCI1225 (Latitude CPi A400XT) + + pci:v0000104Cd0000AC1D* + ID_MODEL_FROM_DATABASE=PCI1251A +@@ -15102,40 +15102,40 @@ pci:v0000104Cd0000AC42* + ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller + + pci:v0000104Cd0000AC42sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=PCI4451 PC card CardBus Controller (Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller (PCI4451 PC card CardBus Controller (Inspiron 8100)) + + pci:v0000104Cd0000AC44* + ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller + + pci:v0000104Cd0000AC44sv00001028sd00000149* +- ID_MODEL_FROM_DATABASE=Inspiron 5100 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5100) + + pci:v0000104Cd0000AC44sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Latitude D505) + + pci:v0000104Cd0000AC44sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5160) + + pci:v0000104Cd0000AC44sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (MIM2000) + + pci:v0000104Cd0000AC46* + ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller + + pci:v0000104Cd0000AC46sv00001014sd00000552* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller (ThinkPad) + + pci:v0000104Cd0000AC47* + ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller + + pci:v0000104Cd0000AC47sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D400) + + pci:v0000104Cd0000AC47sv00001028sd0000013F* +- ID_MODEL_FROM_DATABASE=Precision M60 ++ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Precision M60) + + pci:v0000104Cd0000AC47sv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=Latitude D800 ++ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D800) + + pci:v0000104Cd0000AC48* + ID_MODEL_FROM_DATABASE=PCI7610 PC Card Cardbus Controller +@@ -15147,10 +15147,10 @@ pci:v0000104Cd0000AC4A* + ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge + + pci:v0000104Cd0000AC4Asv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D400) + + pci:v0000104Cd0000AC4Asv00001028sd0000014E* +- ID_MODEL_FROM_DATABASE=Latitude D800 ++ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D800) + + pci:v0000104Cd0000AC4B* + ID_MODEL_FROM_DATABASE=PCI7610 SD/MMC controller +@@ -15165,28 +15165,28 @@ pci:v0000104Cd0000AC51* + ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller + + pci:v0000104Cd0000AC51sv00000E11sd0000004E* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Evo N600c) + + pci:v0000104Cd0000AC51sv00001014sd00000148* +- ID_MODEL_FROM_DATABASE=ThinkPad A20m ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad A20m) + + pci:v0000104Cd0000AC51sv00001014sd0000023B* +- ID_MODEL_FROM_DATABASE=ThinkPad T23 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad T23) + + pci:v0000104Cd0000AC51sv00001028sd000000B1* +- ID_MODEL_FROM_DATABASE=Latitude C600 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C600) + + pci:v0000104Cd0000AC51sv00001028sd0000012A* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C640) + + pci:v0000104Cd0000AC51sv00001033sd000080CD* +- ID_MODEL_FROM_DATABASE=Versa Note VXi ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Versa Note VXi) + + pci:v0000104Cd0000AC51sv000010CFsd00001095* +- ID_MODEL_FROM_DATABASE=Lifebook S-4510/C6155 ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Lifebook S-4510/C6155) + + pci:v0000104Cd0000AC51sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CP2-2-HIPHOP ++ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (CP2-2-HIPHOP) + + pci:v0000104Cd0000AC52* + ID_MODEL_FROM_DATABASE=PCI1451 PC card Cardbus Controller +@@ -15198,55 +15198,55 @@ pci:v0000104Cd0000AC54* + ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller + + pci:v0000104Cd0000AC54sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller (tc1100 tablet) + + pci:v0000104Cd0000AC55* + ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller + + pci:v0000104Cd0000AC55sv00001014sd00000512* +- ID_MODEL_FROM_DATABASE=ThinkPad T30/T40 ++ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (ThinkPad T30/T40) + + pci:v0000104Cd0000AC55sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (XE4500 Notebook) + + pci:v0000104Cd0000AC56* + ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller + + pci:v0000104Cd0000AC56sv00001014sd00000512* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R50e) + + pci:v0000104Cd0000AC56sv00001014sd00000528* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R40e) + + pci:v0000104Cd0000AC56sv000017AAsd00002012* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series ++ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad T60/R60 series) + + pci:v0000104Cd0000AC60* + ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller + + pci:v0000104Cd0000AC60sv0000175Csd00005100* +- ID_MODEL_FROM_DATABASE=ASI51xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI51xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000175Csd00006100* +- ID_MODEL_FROM_DATABASE=ASI61xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI61xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000175Csd00006200* +- ID_MODEL_FROM_DATABASE=ASI62xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI62xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000175Csd00008800* +- ID_MODEL_FROM_DATABASE=ASI88xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI88xx Audio Adapter) + + pci:v0000104Cd0000AC60sv0000186Fsd00003001* +- ID_MODEL_FROM_DATABASE=WR-G303 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G303 PCI radio receiver) + + pci:v0000104Cd0000AC60sv0000186Fsd00003005* +- ID_MODEL_FROM_DATABASE=WR-G305 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G305 PCI radio receiver) + + pci:v0000104Cd0000AC60sv0000186Fsd00003101* +- ID_MODEL_FROM_DATABASE=WR-G313 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G313 PCI radio receiver) + + pci:v0000104Cd0000AC60sv0000186Fsd00003105* +- ID_MODEL_FROM_DATABASE=WR-G315 PCI radio receiver ++ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G315 PCI radio receiver) + + pci:v0000104Cd0000AC8D* + ID_MODEL_FROM_DATABASE=PCI 7620 +@@ -15255,13 +15255,13 @@ pci:v0000104Cd0000AC8E* + ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller + + pci:v0000104Cd0000AC8Esv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller (Inspiron 700m/710m) + + pci:v0000104Cd0000AC8F* + ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller + + pci:v0000104Cd0000AC8Fsv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller (Inspiron 700m/710m) + + pci:v0000104Cd0000B001* + ID_MODEL_FROM_DATABASE=TMS320C6424 +@@ -15336,10 +15336,10 @@ pci:v00001050d00000840* + ID_MODEL_FROM_DATABASE=W89C840 + + pci:v00001050d00000840sv00001050sd00000001* +- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) + + pci:v00001050d00000840sv00001050sd00000840* +- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) + + pci:v00001050d00000940* + ID_MODEL_FROM_DATABASE=W89C940 +@@ -15351,22 +15351,22 @@ pci:v00001050d00006692* + ID_MODEL_FROM_DATABASE=W6692 + + pci:v00001050d00006692sv00001043sd00001702* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) + + pci:v00001050d00006692sv00001043sd00001703* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00006692sv00001043sd00001707* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00006692sv0000144Fsd00001702* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) + + pci:v00001050d00006692sv0000144Fsd00001703* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00006692sv0000144Fsd00001707* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) ++ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) + + pci:v00001050d00009921* + ID_MODEL_FROM_DATABASE=W99200F MPEG-1 Video Encoder +@@ -15501,76 +15501,76 @@ pci:v00001057d00001801* + ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor + + pci:v00001057d00001801sv000014FBsd00000101* +- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM]) + + pci:v00001057d00001801sv000014FBsd00000102* +- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM-2]) + + pci:v00001057d00001801sv000014FBsd00000202* +- ID_MODEL_FROM_DATABASE=Transas Radar Integrator Board [RIB-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Integrator Board [RIB-2]) + + pci:v00001057d00001801sv000014FBsd00000611* +- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci-1] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci-1]) + + pci:v00001057d00001801sv000014FBsd00000612* +- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci-2]) + + pci:v00001057d00001801sv000014FBsd00000613* +- ID_MODEL_FROM_DATABASE=3 channels CAN bus Controller [CanPci-3] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (3 channels CAN bus Controller [CanPci-3]) + + pci:v00001057d00001801sv000014FBsd00000614* +- ID_MODEL_FROM_DATABASE=4 channels CAN bus Controller [CanPci-4] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (4 channels CAN bus Controller [CanPci-4]) + + pci:v00001057d00001801sv000014FBsd00000621* +- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci2-1] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci2-1]) + + pci:v00001057d00001801sv000014FBsd00000622* +- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci2-2] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci2-2]) + + pci:v00001057d00001801sv000014FBsd00000810* +- ID_MODEL_FROM_DATABASE=Transas VTS Radar Integrator Board [RIB-4] ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas VTS Radar Integrator Board [RIB-4]) + + pci:v00001057d00001801sv0000175Csd00004200* +- ID_MODEL_FROM_DATABASE=ASI4215 Audio Adapter ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4215 Audio Adapter) + + pci:v00001057d00001801sv0000175Csd00004300* +- ID_MODEL_FROM_DATABASE=ASI43xx Audio Adapter ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI43xx Audio Adapter) + + pci:v00001057d00001801sv0000175Csd00004400* +- ID_MODEL_FROM_DATABASE=ASI4401 Audio Adapter ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4401 Audio Adapter) + + pci:v00001057d00001801sv0000ECC0sd00000010* +- ID_MODEL_FROM_DATABASE=Darla ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla) + + pci:v00001057d00001801sv0000ECC0sd00000020* +- ID_MODEL_FROM_DATABASE=Gina ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina) + + pci:v00001057d00001801sv0000ECC0sd00000030* +- ID_MODEL_FROM_DATABASE=Layla rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000031* +- ID_MODEL_FROM_DATABASE=Layla rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000040* +- ID_MODEL_FROM_DATABASE=Darla24 rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000041* +- ID_MODEL_FROM_DATABASE=Darla24 rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000050* +- ID_MODEL_FROM_DATABASE=Gina24 rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000051* +- ID_MODEL_FROM_DATABASE=Gina24 rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000070* +- ID_MODEL_FROM_DATABASE=Mona rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.0) + + pci:v00001057d00001801sv0000ECC0sd00000071* +- ID_MODEL_FROM_DATABASE=Mona rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.1) + + pci:v00001057d00001801sv0000ECC0sd00000072* +- ID_MODEL_FROM_DATABASE=Mona rev.2 ++ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.2) + + pci:v00001057d000018C0* + ID_MODEL_FROM_DATABASE=MPC8265A/8266/8272 +@@ -15585,40 +15585,40 @@ pci:v00001057d00003410* + ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor + + pci:v00001057d00003410sv0000ECC0sd00000050* +- ID_MODEL_FROM_DATABASE=Gina24 rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.0) + + pci:v00001057d00003410sv0000ECC0sd00000051* +- ID_MODEL_FROM_DATABASE=Gina24 rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.1) + + pci:v00001057d00003410sv0000ECC0sd00000060* +- ID_MODEL_FROM_DATABASE=Layla24 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Layla24) + + pci:v00001057d00003410sv0000ECC0sd00000070* +- ID_MODEL_FROM_DATABASE=Mona rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.0) + + pci:v00001057d00003410sv0000ECC0sd00000071* +- ID_MODEL_FROM_DATABASE=Mona rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.1) + + pci:v00001057d00003410sv0000ECC0sd00000072* +- ID_MODEL_FROM_DATABASE=Mona rev.2 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.2) + + pci:v00001057d00003410sv0000ECC0sd00000080* +- ID_MODEL_FROM_DATABASE=Mia rev.0 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.0) + + pci:v00001057d00003410sv0000ECC0sd00000081* +- ID_MODEL_FROM_DATABASE=Mia rev.1 ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.1) + + pci:v00001057d00003410sv0000ECC0sd00000090* +- ID_MODEL_FROM_DATABASE=Indigo ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo) + + pci:v00001057d00003410sv0000ECC0sd000000A0* +- ID_MODEL_FROM_DATABASE=Indigo IO ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo IO) + + pci:v00001057d00003410sv0000ECC0sd000000B0* +- ID_MODEL_FROM_DATABASE=Indigo DJ ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo DJ) + + pci:v00001057d00003410sv0000ECC0sd00000100* +- ID_MODEL_FROM_DATABASE=3G ++ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (3G) + + pci:v00001057d00004801* + ID_MODEL_FROM_DATABASE=Raven +@@ -15639,55 +15639,55 @@ pci:v00001057d00005600* + ID_MODEL_FROM_DATABASE=SM56 PCI Modem + + pci:v00001057d00005600sv00001057sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001057sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice Modem) + + pci:v00001057d00005600sv00001057sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001057sd00005600* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv000013D2sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv000013D2sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv000013D2sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001436sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001436sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv00001436sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv0000144Fsd0000100C* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001494sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001494sd00000301* +- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) + + pci:v00001057d00005600sv000014C8sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv000014C8sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005600sv00001668sd00000300* +- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) + + pci:v00001057d00005600sv00001668sd00000302* +- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem ++ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) + + pci:v00001057d00005608* + ID_MODEL_FROM_DATABASE=Wildcard X100P +@@ -15723,16 +15723,16 @@ pci:v0000105Ad00000D30* + ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) + + pci:v0000105Ad00000D30sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=AV7266-E South Bridge Promise RAID ++ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (AV7266-E South Bridge Promise RAID) + + pci:v0000105Ad00000D30sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=Ultra100 ++ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (Ultra100) + + pci:v0000105Ad00000D38* + ID_MODEL_FROM_DATABASE=20263 + + pci:v0000105Ad00000D38sv0000105Asd00004D39* +- ID_MODEL_FROM_DATABASE=Fasttrak66 ++ ID_MODEL_FROM_DATABASE=20263 (Fasttrak66) + + pci:v0000105Ad00001275* + ID_MODEL_FROM_DATABASE=20275 +@@ -15744,10 +15744,10 @@ pci:v0000105Ad00003319* + ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) + + pci:v0000105Ad00003319sv0000105Asd00003319* +- ID_MODEL_FROM_DATABASE=FastTrak S150 TX4 4 port SATA PCI board ++ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (FastTrak S150 TX4 4 port SATA PCI board) + + pci:v0000105Ad00003319sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (S875WP1-E mainboard) + + pci:v0000105Ad00003371* + ID_MODEL_FROM_DATABASE=PDC20371 (FastTrak S150 TX2plus) +@@ -15756,13 +15756,13 @@ pci:v0000105Ad00003373* + ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) + + pci:v0000105Ad00003373sv00001043sd000080F5* +- ID_MODEL_FROM_DATABASE=K8V Deluxe/PC-DL Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8V Deluxe/PC-DL Deluxe motherboard) + + pci:v0000105Ad00003373sv00001462sd0000590D* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (KT6 Delta-FIS2R (MS-6590)) + + pci:v0000105Ad00003373sv00001462sd0000702E* +- ID_MODEL_FROM_DATABASE=K8T NEO FIS2R motherboard ++ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8T NEO FIS2R motherboard) + + pci:v0000105Ad00003375* + ID_MODEL_FROM_DATABASE=PDC20375 (SATA150 TX2plus) +@@ -15771,7 +15771,7 @@ pci:v0000105Ad00003376* + ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) + + pci:v0000105Ad00003376sv00001043sd0000809E* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) (A7V8X motherboard) + + pci:v0000105Ad00003515* + ID_MODEL_FROM_DATABASE=PDC40719 [FastTrak TX4300/TX4310] +@@ -15813,58 +15813,58 @@ pci:v0000105Ad00004D30* + ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) + + pci:v0000105Ad00004D30sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=Ultra100 ++ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (Ultra100) + + pci:v0000105Ad00004D30sv0000105Asd00004D39* +- ID_MODEL_FROM_DATABASE=FastTrak100 ++ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (FastTrak100) + + pci:v0000105Ad00004D30sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (S845WD1-E mainboard) + + pci:v0000105Ad00004D33* + ID_MODEL_FROM_DATABASE=20246 + + pci:v0000105Ad00004D33sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=20246 IDE Controller ++ ID_MODEL_FROM_DATABASE=20246 (IDE Controller) + + pci:v0000105Ad00004D38* + ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) + + pci:v0000105Ad00004D38sv0000105Asd00004D30* +- ID_MODEL_FROM_DATABASE=Ultra Device on SuperTrak ++ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra Device on SuperTrak) + + pci:v0000105Ad00004D38sv0000105Asd00004D33* +- ID_MODEL_FROM_DATABASE=Ultra66 ++ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra66) + + pci:v0000105Ad00004D38sv0000105Asd00004D39* +- ID_MODEL_FROM_DATABASE=FastTrak66 ++ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (FastTrak66) + + pci:v0000105Ad00004D68* + ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] + + pci:v0000105Ad00004D68sv0000105Asd00004D68* +- ID_MODEL_FROM_DATABASE=Ultra100 TX2 ++ ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] (Ultra100 TX2) + + pci:v0000105Ad00004D69* + ID_MODEL_FROM_DATABASE=20269 + + pci:v0000105Ad00004D69sv0000105Asd00004D68* +- ID_MODEL_FROM_DATABASE=Ultra133TX2 ++ ID_MODEL_FROM_DATABASE=20269 (Ultra133TX2) + + pci:v0000105Ad00005275* + ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) + + pci:v0000105Ad00005275sv00001043sd0000807E* +- ID_MODEL_FROM_DATABASE=A7V333 motherboard. ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (A7V333 motherboard.) + + pci:v0000105Ad00005275sv0000105Asd00000275* +- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 IDE ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (SuperTrak SX6000 IDE) + + pci:v0000105Ad00005275sv0000105Asd00001275* +- ID_MODEL_FROM_DATABASE=MBFastTrak133 Lite (tm) Controller (RAID mode) ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBFastTrak133 Lite (tm) Controller (RAID mode)) + + pci:v0000105Ad00005275sv00001458sd0000B001* +- ID_MODEL_FROM_DATABASE=MBUltra 133 ++ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBUltra 133) + + pci:v0000105Ad00005300* + ID_MODEL_FROM_DATABASE=DC5300 +@@ -15873,13 +15873,13 @@ pci:v0000105Ad00006268* + ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) + + pci:v0000105Ad00006268sv0000105Asd00004D68* +- ID_MODEL_FROM_DATABASE=FastTrak100 TX2 ++ ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) (FastTrak100 TX2) + + pci:v0000105Ad00006269* + ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) + + pci:v0000105Ad00006269sv0000105Asd00006269* +- ID_MODEL_FROM_DATABASE=FastTrak TX2/TX2000 ++ ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) (FastTrak TX2/TX2000) + + pci:v0000105Ad00006300* + ID_MODEL_FROM_DATABASE=PDC81731 [FastTrak SX8300] +@@ -15912,43 +15912,43 @@ pci:v0000105Ad00008650* + ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] + + pci:v0000105Ad00008650sv0000105Asd00004600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX4650A ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650A) + + pci:v0000105Ad00008650sv0000105Asd00004601* +- ID_MODEL_FROM_DATABASE=SuperTrak EX4650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650) + + pci:v0000105Ad00008650sv0000105Asd00004610* +- ID_MODEL_FROM_DATABASE=SuperTrak EX4650EL ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650EL) + + pci:v0000105Ad00008650sv0000105Asd00008600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650EL ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650EL) + + pci:v0000105Ad00008650sv0000105Asd00008601* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650A ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650A) + + pci:v0000105Ad00008650sv0000105Asd00008602* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8654 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8654) + + pci:v0000105Ad00008650sv0000105Asd00008603* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8658 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8658) + + pci:v0000105Ad00008650sv0000105Asd00008604* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650) + + pci:v0000105Ad00008650sv0000105Asd00008610* +- ID_MODEL_FROM_DATABASE=SuperTrak EX8650M ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650M) + + pci:v0000105Ad00008650sv0000105Asd0000A600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX12650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX12650) + + pci:v0000105Ad00008650sv0000105Asd0000B600* +- ID_MODEL_FROM_DATABASE=SuperTrak EX16650 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16650) + + pci:v0000105Ad00008650sv0000105Asd0000B601* +- ID_MODEL_FROM_DATABASE=SuperTrak EX16654 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16654) + + pci:v0000105Ad00008650sv0000105Asd0000B602* +- ID_MODEL_FROM_DATABASE=SuperTrak EX16658 ++ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16658) + + pci:v0000105Ad00008760* + ID_MODEL_FROM_DATABASE=PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller] +@@ -15975,106 +15975,106 @@ pci:v0000105Dd00002339* + ID_MODEL_FROM_DATABASE=Imagine 128-II + + pci:v0000105Dd00002339sv0000105Dsd00000000* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000001* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000002* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000003* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000004* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000005* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000006* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000007* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000008* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) + + pci:v0000105Dd00002339sv0000105Dsd00000009* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) + + pci:v0000105Dd00002339sv0000105Dsd0000000A* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb VRAM) + + pci:v0000105Dd00002339sv0000105Dsd0000000B* +- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb H-VRAM ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb H-VRAM) + + pci:v0000105Dd00002339sv000011A4sd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000000* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000004* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000005* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000006* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000008* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd00000009* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd00002339sv000013CCsd0000000C* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel ++ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) + + pci:v0000105Dd0000493D* + ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] + + pci:v0000105Dd0000493Dsv000011A4sd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000011A4sd0000000B* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000002* +- ID_MODEL_FROM_DATABASE=Barco Metheus 4 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 4 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000003* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000007* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000008* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd00000009* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd0000493Dsv000013CCsd0000000A* +- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head ++ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) + + pci:v0000105Dd00005348* + ID_MODEL_FROM_DATABASE=Revolution 4 + + pci:v0000105Dd00005348sv0000105Dsd00000037* +- ID_MODEL_FROM_DATABASE=Revolution IV-FP AGP (For SGI 1600SW) ++ ID_MODEL_FROM_DATABASE=Revolution 4 (Revolution IV-FP AGP (For SGI 1600SW)) + + pci:v0000105Dd00005348sv000011A4sd00000028* +- ID_MODEL_FROM_DATABASE=PVS5600M ++ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600M) + + pci:v0000105Dd00005348sv000011A4sd00000038* +- ID_MODEL_FROM_DATABASE=PVS5600D ++ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600D) + + pci:v0000105E* + ID_VENDOR_FROM_DATABASE=Vtech Computers Ltd +@@ -16236,43 +16236,43 @@ pci:v00001069d00000050* + ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device + + pci:v00001069d00000050sv00001069sd00000050* +- ID_MODEL_FROM_DATABASE=AcceleRAID 352 support Device ++ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 352 support Device) + + pci:v00001069d00000050sv00001069sd00000052* +- ID_MODEL_FROM_DATABASE=AcceleRAID 170 support Device ++ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 170 support Device) + + pci:v00001069d00000050sv00001069sd00000054* +- ID_MODEL_FROM_DATABASE=AcceleRAID 160 support Device ++ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 160 support Device) + + pci:v00001069d0000B166* + ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device + + pci:v00001069d0000B166sv00001014sd00000242* +- ID_MODEL_FROM_DATABASE=iSeries 2872 DASD IOA ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (iSeries 2872 DASD IOA) + + pci:v00001069d0000B166sv00001014sd00000266* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) + + pci:v00001069d0000B166sv00001014sd00000278* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) + + pci:v00001069d0000B166sv00001014sd000002D3* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) + + pci:v00001069d0000B166sv00001014sd000002D4* +- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) + + pci:v00001069d0000B166sv00001069sd00000200* +- ID_MODEL_FROM_DATABASE=AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000B166sv00001069sd00000202* +- ID_MODEL_FROM_DATABASE=AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000B166sv00001069sd00000204* +- ID_MODEL_FROM_DATABASE=AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000B166sv00001069sd00000206* +- ID_MODEL_FROM_DATABASE=AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID ++ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID) + + pci:v00001069d0000BA55* + ID_MODEL_FROM_DATABASE=eXtremeRAID 1100 support Device +@@ -16281,16 +16281,16 @@ pci:v00001069d0000BA56* + ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device + + pci:v00001069d0000BA56sv00001069sd00000030* +- ID_MODEL_FROM_DATABASE=eXtremeRAID 3000 support Device ++ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 3000 support Device) + + pci:v00001069d0000BA56sv00001069sd00000040* +- ID_MODEL_FROM_DATABASE=eXtremeRAID 2000 support Device ++ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 2000 support Device) + + pci:v00001069d0000BA57* + ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device + + pci:v00001069d0000BA57sv00001069sd00000072* +- ID_MODEL_FROM_DATABASE=eXtremeRAID 5000 support Device ++ ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device (eXtremeRAID 5000 support Device) + + pci:v0000106A* + ID_VENDOR_FROM_DATABASE=Aten Research Inc +@@ -16380,7 +16380,7 @@ pci:v0000106Bd00000031* + ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire + + pci:v0000106Bd00000031sv0000106Bsd00005811* +- ID_MODEL_FROM_DATABASE=iBook G4 2004 ++ ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire (iBook G4 2004) + + pci:v0000106Bd00000032* + ID_MODEL_FROM_DATABASE=UniNorth 2 GMAC (Sun GEM) +@@ -16407,7 +16407,7 @@ pci:v0000106Bd0000003F* + ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB + + pci:v0000106Bd0000003Fsv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB (QEMU Virtual Machine) + + pci:v0000106Bd00000040* + ID_MODEL_FROM_DATABASE=K2 KeyLargo USB +@@ -16563,13 +16563,13 @@ pci:v00001073d00000004* + ID_MODEL_FROM_DATABASE=YMF-724 + + pci:v00001073d00000004sv00001073sd00000004* +- ID_MODEL_FROM_DATABASE=YMF724-Based PCI Audio Adapter ++ ID_MODEL_FROM_DATABASE=YMF-724 (YMF724-Based PCI Audio Adapter) + + pci:v00001073d00000005* + ID_MODEL_FROM_DATABASE=DS1 Audio + + pci:v00001073d00000005sv00001073sd00000005* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d00000006* + ID_MODEL_FROM_DATABASE=DS1 Audio +@@ -16578,46 +16578,46 @@ pci:v00001073d00000008* + ID_MODEL_FROM_DATABASE=DS1 Audio + + pci:v00001073d00000008sv00001073sd00000008* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000A* + ID_MODEL_FROM_DATABASE=DS1L Audio + + pci:v00001073d0000000Asv00001073sd00000004* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000Asv00001073sd0000000A* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000Asv00008086sd00004D55* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC [Intel MU440EX] ++ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC [Intel MU440EX]) + + pci:v00001073d0000000C* + ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] + + pci:v00001073d0000000Csv0000107Asd0000000C* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d0000000D* + ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] + + pci:v00001073d0000000Dsv00001073sd0000000D* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d00000010* + ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] + + pci:v00001073d00000010sv00001073sd00000006* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d00000010sv00001073sd00000010* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC ++ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) + + pci:v00001073d00000012* + ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] + + pci:v00001073d00000012sv00001073sd00000012* +- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio Codec ++ ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] (DS-XG PCI Audio Codec) + + pci:v00001073d00000020* + ID_MODEL_FROM_DATABASE=DS-1 Audio +@@ -16662,10 +16662,10 @@ pci:v00001077d00001216* + ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor + + pci:v00001077d00001216sv0000101Esd00008471* +- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID ++ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) + + pci:v00001077d00001216sv0000101Esd00008493* +- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID ++ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) + + pci:v00001077d00001240* + ID_MODEL_FROM_DATABASE=ISP1240 SCSI Host Adapter +@@ -16689,7 +16689,7 @@ pci:v00001077d00002200* + ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter + + pci:v00001077d00002200sv00001077sd00000002* +- ID_MODEL_FROM_DATABASE=QLA2200 ++ ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter (QLA2200) + + pci:v00001077d00002300* + ID_MODEL_FROM_DATABASE=QLA2300 64-bit Fibre Channel Adapter +@@ -16698,10 +16698,10 @@ pci:v00001077d00002312* + ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA + + pci:v00001077d00002312sv0000103Csd00000131* +- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Single port [A7538A] ++ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Single port [A7538A]) + + pci:v00001077d00002312sv0000103Csd000012BA* +- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Dual port [A6826A] ++ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Dual port [A6826A]) + + pci:v00001077d00002322* + ID_MODEL_FROM_DATABASE=ISP2322-based 2Gb Fibre Channel to PCI-X HBA +@@ -16710,25 +16710,25 @@ pci:v00001077d00002422* + ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA + + pci:v00001077d00002422sv0000103Csd000012D7* +- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB379A] ++ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB379A]) + + pci:v00001077d00002422sv0000103Csd000012DD* +- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB429A] ++ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB429A]) + + pci:v00001077d00002432* + ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA + + pci:v00001077d00002432sv0000103Csd00007040* +- ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] ++ ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA (FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A]) + + pci:v00001077d00002532* + ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA + + pci:v00001077d00002532sv0000103Csd00003262* +- ID_MODEL_FROM_DATABASE=StorageWorks 81Q ++ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (StorageWorks 81Q) + + pci:v00001077d00002532sv00001077sd00000167* +- ID_MODEL_FROM_DATABASE=QME2572 Dual Port FC8 HBA Mezzanine ++ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (QME2572 Dual Port FC8 HBA Mezzanine) + + pci:v00001077d00003022* + ID_MODEL_FROM_DATABASE=ISP4022-based Ethernet NIC +@@ -16770,55 +16770,55 @@ pci:v00001077d00008020* + ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller + + pci:v00001077d00008020sv0000103Csd00003346* +- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (CN1000Q Dual Port Converged Network Adapter) + + pci:v00001077d00008020sv0000103Csd00003733* +- ID_MODEL_FROM_DATABASE=NC523SFP 10Gb 2-port Server Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (NC523SFP 10Gb 2-port Server Adapter) + + pci:v00001077d00008020sv00001077sd00000203* +- ID_MODEL_FROM_DATABASE=8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008020sv00001077sd00000207* +- ID_MODEL_FROM_DATABASE=8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008020sv00001077sd0000020B* +- ID_MODEL_FROM_DATABASE=3200 Series Dual Port 10Gb Intelligent Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Dual Port 10Gb Intelligent Ethernet Adapter) + + pci:v00001077d00008020sv00001077sd0000020C* +- ID_MODEL_FROM_DATABASE=3200 Series Quad Port 1Gb Intelligent Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Quad Port 1Gb Intelligent Ethernet Adapter) + + pci:v00001077d00008020sv00001077sd0000020F* +- ID_MODEL_FROM_DATABASE=3200 Series Single Port 10Gb Intelligent Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Single Port 10Gb Intelligent Ethernet Adapter) + + pci:v00001077d00008020sv00001077sd00000210* +- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card ++ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (QME8242-k 10GbE Dual Port Mezzanine Card) + + pci:v00001077d00008021* + ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) + + pci:v00001077d00008021sv0000103Csd00003348* +- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (CN1000Q Dual Port Converged Network Adapter) + + pci:v00001077d00008021sv00001077sd00000211* +- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, FCoE ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (QME8242-k 10GbE Dual Port Mezzanine Card, FCoE) + + pci:v00001077d00008022* + ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) + + pci:v00001077d00008022sv0000103Csd00003347* +- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (CN1000Q Dual Port Converged Network Adapter) + + pci:v00001077d00008022sv00001077sd00000212* +- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI ++ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI) + + pci:v00001077d00008030* + ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller + + pci:v00001077d00008030sv00001077sd00000243* +- ID_MODEL_FROM_DATABASE=8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008030sv00001077sd00000246* +- ID_MODEL_FROM_DATABASE=8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) ++ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) + + pci:v00001077d00008031* + ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (FCoE) +@@ -17022,7 +17022,7 @@ pci:v0000108Dd00000004* + ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter + + pci:v0000108Dd00000004sv0000108Dsd00000004* +- ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter (OC-3139/3140 RapidFire Token-Ring 16/4 Adapter) + + pci:v0000108Dd00000005* + ID_MODEL_FROM_DATABASE=GoCard 3250 Token-Ring 16/4 CardBus PC Card +@@ -17034,13 +17034,13 @@ pci:v0000108Dd00000007* + ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter + + pci:v0000108Dd00000007sv0000108Dsd00000007* +- ID_MODEL_FROM_DATABASE=OC-3141 RapidFire Token-Ring 16/4 Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter (OC-3141 RapidFire Token-Ring 16/4 Adapter) + + pci:v0000108Dd00000008* + ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter + + pci:v0000108Dd00000008sv0000108Dsd00000008* +- ID_MODEL_FROM_DATABASE=OC-3540 RapidFire HSTR 100/16/4 Adapter ++ ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter (OC-3540 RapidFire HSTR 100/16/4 Adapter) + + pci:v0000108Dd00000011* + ID_MODEL_FROM_DATABASE=OC-2315 +@@ -17058,10 +17058,10 @@ pci:v0000108Dd00000019* + ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter + + pci:v0000108Dd00000019sv0000108Dsd00000016* +- ID_MODEL_FROM_DATABASE=OC-2327 Rapidfire 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2327 Rapidfire 10/100 Ethernet Adapter) + + pci:v0000108Dd00000019sv0000108Dsd00000017* +- ID_MODEL_FROM_DATABASE=OC-2250 GoCard 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2250 GoCard 10/100 Ethernet Adapter) + + pci:v0000108Dd00000021* + ID_MODEL_FROM_DATABASE=OC-6151/6152 [RapidFire ATM 155] +@@ -17085,25 +17085,25 @@ pci:v0000108Ed00001100* + ID_MODEL_FROM_DATABASE=RIO EBUS + + pci:v0000108Ed00001100sv0000108Esd00001100* +- ID_MODEL_FROM_DATABASE=RIO EBUS on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO EBUS (on Blade 100 motherboard) + + pci:v0000108Ed00001101* + ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] + + pci:v0000108Ed00001101sv0000108Esd00001101* +- ID_MODEL_FROM_DATABASE=RIO GEM on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] (RIO GEM on Blade 100 motherboard) + + pci:v0000108Ed00001102* + ID_MODEL_FROM_DATABASE=RIO 1394 + + pci:v0000108Ed00001102sv0000108Esd00001102* +- ID_MODEL_FROM_DATABASE=RIO 1394 on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO 1394 (on Blade 100 motherboard) + + pci:v0000108Ed00001103* + ID_MODEL_FROM_DATABASE=RIO USB + + pci:v0000108Ed00001103sv0000108Esd00001103* +- ID_MODEL_FROM_DATABASE=RIO USB on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=RIO USB (on Blade 100 motherboard) + + pci:v0000108Ed00001647* + ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge] +@@ -17124,7 +17124,7 @@ pci:v0000108Ed00005000* + ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge + + pci:v0000108Ed00005000sv0000108Esd00005000* +- ID_MODEL_FROM_DATABASE=Netra AX1105-500 ++ ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge (Netra AX1105-500) + + pci:v0000108Ed00005043* + ID_MODEL_FROM_DATABASE=SunPCI Co-processor +@@ -17226,7 +17226,7 @@ pci:v0000108Ed0000A001* + ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] + + pci:v0000108Ed0000A001sv0000108Esd0000A001* +- ID_MODEL_FROM_DATABASE=Ultra IIe on Blade 100 motherboard ++ ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] (Ultra IIe on Blade 100 motherboard) + + pci:v0000108Ed0000A801* + ID_MODEL_FROM_DATABASE=Schizo Fireplane-PCI bus bridge module [pcisch] +@@ -17295,7 +17295,7 @@ pci:v00001092d00000028* + ID_MODEL_FROM_DATABASE=Viper V770 + + pci:v00001092d00000028sv00001092sd00004A00* +- ID_MODEL_FROM_DATABASE=Viper V770 32MB ++ ID_MODEL_FROM_DATABASE=Viper V770 (32MB) + + pci:v00001092d000000A0* + ID_MODEL_FROM_DATABASE=Speedstar Pro SE +@@ -17766,28 +17766,28 @@ pci:v00001093d0000C4C4* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device + + pci:v00001093d0000C4C4sv00001093sd000074B2* +- ID_MODEL_FROM_DATABASE=PXIe-4353 ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) + + pci:v00001093d0000C4C4sv00001093sd000074D0* +- ID_MODEL_FROM_DATABASE=PXIe-7961R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) + + pci:v00001093d0000C4C4sv00001093sd000074E2* +- ID_MODEL_FROM_DATABASE=PXIe-7962R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) + + pci:v00001093d0000C4C4sv00001093sd000074E3* +- ID_MODEL_FROM_DATABASE=PXIe-7965R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) + + pci:v00001093d0000C4C4sv00001093sd00007553* +- ID_MODEL_FROM_DATABASE=PCIe-1473R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) + + pci:v00001093d0000C4C4sv00001093sd000075CE* +- ID_MODEL_FROM_DATABASE=PXIe-7966R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) + + pci:v00001093d0000C4C4sv00001093sd000076B7* +- ID_MODEL_FROM_DATABASE=PXIe-7975R ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) + + pci:v00001093d0000C4C4sv00001093sd000076D0* +- ID_MODEL_FROM_DATABASE=PXIe-5160 ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) + + pci:v00001093d0000C801* + ID_MODEL_FROM_DATABASE=PCI-GPIB +@@ -17820,19 +17820,19 @@ pci:v00001095d00000648* + ID_MODEL_FROM_DATABASE=PCI0648 + + pci:v00001095d00000648sv00001043sd00008025* +- ID_MODEL_FROM_DATABASE=CUBX motherboard ++ ID_MODEL_FROM_DATABASE=PCI0648 (CUBX motherboard) + + pci:v00001095d00000649* + ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller + + pci:v00001095d00000649sv00000E11sd0000005D* +- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 Dual Channel Controller ++ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 Dual Channel Controller) + + pci:v00001095d00000649sv00000E11sd0000007E* +- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 IDE RAID Controller ++ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 IDE RAID Controller) + + pci:v00001095d00000649sv0000101Esd00000649* +- ID_MODEL_FROM_DATABASE=AMI MegaRAID IDE 100 Controller ++ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (AMI MegaRAID IDE 100 Controller) + + pci:v00001095d00000650* + ID_MODEL_FROM_DATABASE=PBC0650A +@@ -17850,34 +17850,34 @@ pci:v00001095d00000680* + ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller + + pci:v00001095d00000680sv00001095sd00000680* +- ID_MODEL_FROM_DATABASE=SiI 0680 ATA/133 Controller ++ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (SiI 0680 ATA/133 Controller) + + pci:v00001095d00000680sv00001095sd00003680* +- ID_MODEL_FROM_DATABASE=Winic W-680 (Silicon Image 680 based) ++ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (Winic W-680 (Silicon Image 680 based)) + + pci:v00001095d00003112* + ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller + + pci:v00001095d00003112sv00001095sd00003112* +- ID_MODEL_FROM_DATABASE=SiI 3112 SATALink Controller ++ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATALink Controller) + + pci:v00001095d00003112sv00001095sd00006112* +- ID_MODEL_FROM_DATABASE=SiI 3112 SATARaid Controller ++ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATARaid Controller) + + pci:v00001095d00003112sv00009005sd00000250* +- ID_MODEL_FROM_DATABASE=SATAConnect 1205SA Host Controller ++ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SATAConnect 1205SA Host Controller) + + pci:v00001095d00003114* + ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller + + pci:v00001095d00003114sv00001043sd00008167* +- ID_MODEL_FROM_DATABASE=A8N-SLI Deluxe/Premium Mainboard ++ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (A8N-SLI Deluxe/Premium Mainboard) + + pci:v00001095d00003114sv00001095sd00003114* +- ID_MODEL_FROM_DATABASE=SiI 3114 SATALink Controller ++ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATALink Controller) + + pci:v00001095d00003114sv00001095sd00006114* +- ID_MODEL_FROM_DATABASE=SiI 3114 SATARaid Controller ++ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATARaid Controller) + + pci:v00001095d00003124* + ID_MODEL_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller +@@ -17892,10 +17892,10 @@ pci:v00001095d00003512* + ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller + + pci:v00001095d00003512sv00001095sd00003512* +- ID_MODEL_FROM_DATABASE=SiI 3512 SATALink Controller ++ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATALink Controller) + + pci:v00001095d00003512sv00001095sd00006512* +- ID_MODEL_FROM_DATABASE=SiI 3512 SATARaid Controller ++ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATARaid Controller) + + pci:v00001095d00003531* + ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller +@@ -17949,412 +17949,412 @@ pci:v0000109Ed00000369* + ID_MODEL_FROM_DATABASE=Bt878 Video Capture + + pci:v0000109Ed00000369sv00001002sd00000001* +- ID_MODEL_FROM_DATABASE=TV-Wonder ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder) + + pci:v0000109Ed00000369sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=TV-Wonder/VE ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder/VE) + + pci:v0000109Ed0000036C* + ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture + + pci:v0000109Ed0000036Csv000013E9sd00000070* +- ID_MODEL_FROM_DATABASE=Win/TV (Video Section) ++ ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture (Win/TV (Video Section)) + + pci:v0000109Ed0000036E* + ID_MODEL_FROM_DATABASE=Bt878 Video Capture + + pci:v0000109Ed0000036Esv00000070sd000013EB* +- ID_MODEL_FROM_DATABASE=WinTV Series ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinTV Series) + + pci:v0000109Ed0000036Esv00000070sd0000FF01* +- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Viewcast Osprey 200) + + pci:v0000109Ed0000036Esv00000071sd00000101* +- ID_MODEL_FROM_DATABASE=DigiTV PCI ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DigiTV PCI) + + pci:v0000109Ed0000036Esv0000107Dsd00006606* +- ID_MODEL_FROM_DATABASE=WinFast TV 2000 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinFast TV 2000) + + pci:v0000109Ed0000036Esv000011BDsd00000012* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) + + pci:v0000109Ed0000036Esv000011BDsd0000001C* +- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV Sat (DBC receiver)) + + pci:v0000109Ed0000036Esv0000127Asd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) + + pci:v0000109Ed0000036Esv0000127Asd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv0000127Asd00000003* +- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv0000127Asd00000048* +- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) + + pci:v0000109Ed0000036Esv0000144Fsd00003000* +- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Video ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (MagicTView CPH060 - Video) + + pci:v0000109Ed0000036Esv00001461sd00000002* +- ID_MODEL_FROM_DATABASE=TV98 Series (TV/No FM/Remote) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV98 Series (TV/No FM/Remote)) + + pci:v0000109Ed0000036Esv00001461sd00000003* +- ID_MODEL_FROM_DATABASE=AverMedia UltraTV PCI 350 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia UltraTV PCI 350) + + pci:v0000109Ed0000036Esv00001461sd00000004* +- ID_MODEL_FROM_DATABASE=AVerTV WDM Video Capture ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AVerTV WDM Video Capture) + + pci:v0000109Ed0000036Esv00001461sd00000761* +- ID_MODEL_FROM_DATABASE=AverTV DVB-T ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverTV DVB-T) + + pci:v0000109Ed0000036Esv00001461sd00000771* +- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia AVerTV DVB-T 771) + + pci:v0000109Ed0000036Esv000014F1sd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) + + pci:v0000109Ed0000036Esv000014F1sd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv000014F1sd00000003* +- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) + + pci:v0000109Ed0000036Esv000014F1sd00000048* +- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) + + pci:v0000109Ed0000036Esv00001822sd00000001* +- ID_MODEL_FROM_DATABASE=VisionPlus DVB card ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (VisionPlus DVB card) + + pci:v0000109Ed0000036Esv00001851sd00001850* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video) + + pci:v0000109Ed0000036Esv00001851sd00001851* +- ID_MODEL_FROM_DATABASE=FlyVideo II ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo II) + + pci:v0000109Ed0000036Esv00001852sd00001852* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video (with FM Tuner)) + + pci:v0000109Ed0000036Esv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DViCO FusionHDTV5 Lite) + + pci:v0000109Ed0000036Esv0000270Fsd0000FC00* +- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Digitop DTT-1000) + + pci:v0000109Ed0000036Esv0000AA00sd00001460* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input0) + + pci:v0000109Ed0000036Esv0000AA01sd00001461* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input1) + + pci:v0000109Ed0000036Esv0000AA02sd00001462* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input2) + + pci:v0000109Ed0000036Esv0000AA03sd00001463* +- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input3) + + pci:v0000109Ed0000036Esv0000AA04sd00001464* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input0) + + pci:v0000109Ed0000036Esv0000AA05sd00001465* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input1) + + pci:v0000109Ed0000036Esv0000AA06sd00001466* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input2) + + pci:v0000109Ed0000036Esv0000AA07sd00001467* +- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input3) + + pci:v0000109Ed0000036Esv0000AA08sd00001468* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input0) + + pci:v0000109Ed0000036Esv0000AA09sd00001469* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input1) + + pci:v0000109Ed0000036Esv0000AA0Asd0000146A* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input2) + + pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* +- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input3) + + pci:v0000109Ed0000036Esv0000AA0Csd0000146C* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input0) + + pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input1) + + pci:v0000109Ed0000036Esv0000AA0Esd0000146E* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input2) + + pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* +- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input3) + + pci:v0000109Ed0000036Esv0000BD11sd00001200* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) + + pci:v0000109Ed0000036F* + ID_MODEL_FROM_DATABASE=Bt879 Video Capture + + pci:v0000109Ed0000036Fsv0000127Asd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv0000127Asd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv0000127Asd00000244* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv0000127Asd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv0000127Asd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv0000127Asd00001522* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) + + pci:v0000109Ed0000036Fsv0000127Asd00001622* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) + + pci:v0000109Ed0000036Fsv0000127Asd00001722* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv000014F1sd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv000014F1sd00000244* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) + + pci:v0000109Ed0000036Fsv000014F1sd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) + + pci:v0000109Ed0000036Fsv000014F1sd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) + + pci:v0000109Ed0000036Fsv000014F1sd00001522* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) + + pci:v0000109Ed0000036Fsv000014F1sd00001622* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) + + pci:v0000109Ed0000036Fsv000014F1sd00001722* +- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) + + pci:v0000109Ed0000036Fsv00001851sd00001850* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video) + + pci:v0000109Ed0000036Fsv00001851sd00001851* +- ID_MODEL_FROM_DATABASE=FlyVideo II ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo II) + + pci:v0000109Ed0000036Fsv00001852sd00001852* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) ++ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video (with FM Tuner)) + + pci:v0000109Ed00000370* + ID_MODEL_FROM_DATABASE=Bt880 Video Capture + + pci:v0000109Ed00000370sv00001851sd00001850* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 ++ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98) + + pci:v0000109Ed00000370sv00001851sd00001851* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 EZ - video ++ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 EZ - video) + + pci:v0000109Ed00000370sv00001852sd00001852* +- ID_MODEL_FROM_DATABASE=FlyVideo'98 (with FM Tuner) ++ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 (with FM Tuner)) + + pci:v0000109Ed00000878* + ID_MODEL_FROM_DATABASE=Bt878 Audio Capture + + pci:v0000109Ed00000878sv00000070sd000013EB* +- ID_MODEL_FROM_DATABASE=WinTV Series ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (WinTV Series) + + pci:v0000109Ed00000878sv00000070sd0000FF01* +- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Viewcast Osprey 200) + + pci:v0000109Ed00000878sv00000071sd00000101* +- ID_MODEL_FROM_DATABASE=DigiTV PCI ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DigiTV PCI) + + pci:v0000109Ed00000878sv00001002sd00000001* +- ID_MODEL_FROM_DATABASE=TV-Wonder ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder) + + pci:v0000109Ed00000878sv00001002sd00000003* +- ID_MODEL_FROM_DATABASE=TV-Wonder/VE ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder/VE) + + pci:v0000109Ed00000878sv000011BDsd00000012* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) + + pci:v0000109Ed00000878sv000011BDsd0000001C* +- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV Sat (DBC receiver)) + + pci:v0000109Ed00000878sv0000127Asd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv0000127Asd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv0000127Asd00000003* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv0000127Asd00000048* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000013E9sd00000070* +- ID_MODEL_FROM_DATABASE=Win/TV (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Win/TV (Audio Section)) + + pci:v0000109Ed00000878sv0000144Fsd00003000* +- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Audio ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (MagicTView CPH060 - Audio) + + pci:v0000109Ed00000878sv00001461sd00000002* +- ID_MODEL_FROM_DATABASE=Avermedia PCTV98 Audio Capture ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Avermedia PCTV98 Audio Capture) + + pci:v0000109Ed00000878sv00001461sd00000003* +- ID_MODEL_FROM_DATABASE=UltraTV PCI 350 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (UltraTV PCI 350) + + pci:v0000109Ed00000878sv00001461sd00000004* +- ID_MODEL_FROM_DATABASE=AVerTV WDM Audio Capture ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV WDM Audio Capture) + + pci:v0000109Ed00000878sv00001461sd00000761* +- ID_MODEL_FROM_DATABASE=AVerTV DVB-T ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV DVB-T) + + pci:v0000109Ed00000878sv00001461sd00000771* +- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AverMedia AVerTV DVB-T 771) + + pci:v0000109Ed00000878sv000014F1sd00000001* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000014F1sd00000002* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000014F1sd00000003* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv000014F1sd00000048* +- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) + + pci:v0000109Ed00000878sv00001822sd00000001* +- ID_MODEL_FROM_DATABASE=VisionPlus DVB Card ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (VisionPlus DVB Card) + + pci:v0000109Ed00000878sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DViCO FusionHDTV5 Lite) + + pci:v0000109Ed00000878sv0000270Fsd0000FC00* +- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Digitop DTT-1000) + + pci:v0000109Ed00000878sv0000BD11sd00001200* +- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) ++ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) + + pci:v0000109Ed00000879* + ID_MODEL_FROM_DATABASE=Bt879 Audio Capture + + pci:v0000109Ed00000879sv0000127Asd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000244* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001522* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001622* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv0000127Asd00001722* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000044* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000144* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000244* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00000422* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001122* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001222* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001322* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001522* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001622* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000879sv000014F1sd00001722* +- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) ++ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) + + pci:v0000109Ed00000880* + ID_MODEL_FROM_DATABASE=Bt880 Audio Capture +@@ -18585,7 +18585,7 @@ pci:v000010B4d00001B1D* + ID_MODEL_FROM_DATABASE=Velocity 128 3D + + pci:v000010B4d00001B1Dsv000010B4sd0000237E* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=Velocity 128 3D (Velocity 4400) + + pci:v000010B5* + ID_VENDOR_FROM_DATABASE=PLX Technology, Inc. +@@ -18597,13 +18597,13 @@ pci:v000010B5d00000557* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00000557sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card) + + pci:v000010B5d00001000* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00001000sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM AT400P Quad T1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AT400P Quad T1 PCI card) + + pci:v000010B5d00001024* + ID_MODEL_FROM_DATABASE=Acromag, Inc. IndustryPack Carrier Card +@@ -18636,7 +18636,7 @@ pci:v000010B5d00002000* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00002000sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM AE400P Quad E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AE400P Quad E1 PCI card) + + pci:v000010B5d00002540* + ID_MODEL_FROM_DATABASE=IXXAT CAN-Interface PC-I 04/PCI +@@ -18651,19 +18651,19 @@ pci:v000010B5d00004000* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00004000sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card) + + pci:v000010B5d00004001* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00004001sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM A400PE Quad E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PE Quad E1 PCI card) + + pci:v000010B5d00004002* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00004002sv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=ATCOM A400PT Quad T1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PT Quad T1 PCI card) + + pci:v000010B5d00006140* + ID_MODEL_FROM_DATABASE=PCI6140 32-bit 33MHz PCI-to-PCI Bridge +@@ -18690,28 +18690,28 @@ pci:v000010B5d00006540* + ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge + + pci:v000010B5d00006540sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (CR11 Single Board Computer) + + pci:v000010B5d00006540sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (PSL09 PrPMC) + + pci:v000010B5d00006541* + ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) + + pci:v000010B5d00006541sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (CR11 Single Board Computer) + + pci:v000010B5d00006541sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (PSL09 PrPMC) + + pci:v000010B5d00006542* + ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) + + pci:v000010B5d00006542sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (CR11 Single Board Computer) + + pci:v000010B5d00006542sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (PSL09 PrPMC) + + pci:v000010B5d00008111* + ID_MODEL_FROM_DATABASE=PEX 8111 PCI Express-to-PCI Bridge +@@ -18807,7 +18807,7 @@ pci:v000010B5d00008624* + ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] + + pci:v000010B5d00008624sv000013A3sd00001845* +- ID_MODEL_FROM_DATABASE=DX1845 Acceleration Card ++ ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] (DX1845 Acceleration Card) + + pci:v000010B5d00008625* + ID_MODEL_FROM_DATABASE=PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch +@@ -18861,85 +18861,85 @@ pci:v000010B5d00009030* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009030sv000010B5sd00002695* +- ID_MODEL_FROM_DATABASE=Hilscher CIF50-PB/DPS Profibus ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Hilscher CIF50-PB/DPS Profibus) + + pci:v000010B5d00009030sv000010B5sd00002862* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00002906* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board) + + pci:v000010B5d00009030sv000010B5sd00002940* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00002977* +- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCI CAN Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCI CAN Board) + + pci:v000010B5d00009030sv000010B5sd00002978* +- ID_MODEL_FROM_DATABASE=SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card) + + pci:v000010B5d00009030sv000010B5sd00003025* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00003068* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000010B5sd00003463* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board) + + pci:v000010B5d00009030sv000012FEsd00000111* +- ID_MODEL_FROM_DATABASE=CPCI-ASIO4 (ESD 4-port Serial Interface Board) ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (CPCI-ASIO4 (ESD 4-port Serial Interface Board)) + + pci:v000010B5d00009030sv00001369sd00009C01* +- ID_MODEL_FROM_DATABASE=VX222v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222v2) + + pci:v000010B5d00009030sv00001369sd00009D01* +- ID_MODEL_FROM_DATABASE=VX222-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) + + pci:v000010B5d00009030sv00001369sd00009D02* +- ID_MODEL_FROM_DATABASE=VX222-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) + + pci:v000010B5d00009030sv00001369sd00009E01* +- ID_MODEL_FROM_DATABASE=PCX924v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924v2) + + pci:v000010B5d00009030sv00001369sd00009F01* +- ID_MODEL_FROM_DATABASE=PCX924-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) + + pci:v000010B5d00009030sv00001369sd00009F02* +- ID_MODEL_FROM_DATABASE=PCX924-Mic ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) + + pci:v000010B5d00009030sv00001369sd0000A001* +- ID_MODEL_FROM_DATABASE=PCX22v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX22v2) + + pci:v000010B5d00009030sv00001369sd0000A701* +- ID_MODEL_FROM_DATABASE=LCM220v2 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM220v2) + + pci:v000010B5d00009030sv00001369sd0000A801* +- ID_MODEL_FROM_DATABASE=LCM200 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM200) + + pci:v000010B5d00009030sv00001397sd00003136* +- ID_MODEL_FROM_DATABASE=4xS0-ISDN PCI Adapter ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (4xS0-ISDN PCI Adapter) + + pci:v000010B5d00009030sv00001397sd00003137* +- ID_MODEL_FROM_DATABASE=S2M-E1-ISDN PCI Adapter ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (S2M-E1-ISDN PCI Adapter) + + pci:v000010B5d00009030sv00001518sd00000200* +- ID_MODEL_FROM_DATABASE=Kontron ThinkIO-C ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Kontron ThinkIO-C) + + pci:v000010B5d00009030sv000015EDsd00001002* +- ID_MODEL_FROM_DATABASE=MCCS 8-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 8-port Serial Hot Swap) + + pci:v000010B5d00009030sv000015EDsd00001003* +- ID_MODEL_FROM_DATABASE=MCCS 16-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 16-port Serial Hot Swap) + + pci:v000010B5d00009030sv0000E1C5sd00000001* +- ID_MODEL_FROM_DATABASE=TE1-PCI ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TE1-PCI) + + pci:v000010B5d00009030sv0000E1C5sd00000005* +- ID_MODEL_FROM_DATABASE=TA1-PCI ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI) + + pci:v000010B5d00009030sv0000E1C5sd00000006* +- ID_MODEL_FROM_DATABASE=TA1-PCI4 ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI4) + + pci:v000010B5d00009036* + ID_MODEL_FROM_DATABASE=9036 +@@ -18948,145 +18948,145 @@ pci:v000010B5d00009050* + ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge + + pci:v000010B5d00009050sv000010B5sd00001067* +- ID_MODEL_FROM_DATABASE=IXXAT CAN i165 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IXXAT CAN i165) + + pci:v000010B5d00009050sv000010B5sd0000114E* +- ID_MODEL_FROM_DATABASE=Wasco WITIO PCI168extended ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco WITIO PCI168extended) + + pci:v000010B5d00009050sv000010B5sd00001169* +- ID_MODEL_FROM_DATABASE=Wasco OPTOIO32standard 32 digital in, 32 digital out ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco OPTOIO32standard 32 digital in, 32 digital out) + + pci:v000010B5d00009050sv000010B5sd00001172* +- ID_MODEL_FROM_DATABASE=IK220 (Heidenhain) ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IK220 (Heidenhain)) + + pci:v000010B5d00009050sv000010B5sd00002036* +- ID_MODEL_FROM_DATABASE=SatPak GPS ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SatPak GPS) + + pci:v000010B5d00009050sv000010B5sd00002221* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV: Timecode Reader Board) + + pci:v000010B5d00009050sv000010B5sd00002273* +- ID_MODEL_FROM_DATABASE=SH ARC-PCI SOHARD ARCNET card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SH ARC-PCI SOHARD ARCNET card) + + pci:v000010B5d00009050sv000010B5sd00002431* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D: Timecode Reader Board) + + pci:v000010B5d00009050sv000010B5sd00002905* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS: Time Synchronisation Board ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCI TS: Time Synchronisation Board) + + pci:v000010B5d00009050sv000010B5sd00003196* +- ID_MODEL_FROM_DATABASE=Goramo PLX200SYN sync serial card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Goramo PLX200SYN sync serial card) + + pci:v000010B5d00009050sv000010B5sd00009050* +- ID_MODEL_FROM_DATABASE=PCI-I04 PCI Passive PC/CAN Interface ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCI-I04 PCI Passive PC/CAN Interface) + + pci:v000010B5d00009050sv00001369sd00008901* +- ID_MODEL_FROM_DATABASE=PCX11+ PCI ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX11+ PCI) + + pci:v000010B5d00009050sv00001369sd00008F01* +- ID_MODEL_FROM_DATABASE=VX222 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (VX222) + + pci:v000010B5d00009050sv00001369sd00009401* +- ID_MODEL_FROM_DATABASE=PCX924 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX924) + + pci:v000010B5d00009050sv00001369sd00009501* +- ID_MODEL_FROM_DATABASE=PCX22 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX22) + + pci:v000010B5d00009050sv00001498sd00000362* +- ID_MODEL_FROM_DATABASE=TPMC866 8 Channel Serial Card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (TPMC866 8 Channel Serial Card) + + pci:v000010B5d00009050sv00001522sd00000001* +- ID_MODEL_FROM_DATABASE=RockForce 4 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 4 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000002* +- ID_MODEL_FROM_DATABASE=RockForce 2 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 2 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000003* +- ID_MODEL_FROM_DATABASE=RockForce 6 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 6 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000004* +- ID_MODEL_FROM_DATABASE=RockForce 8 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 8 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000010* +- ID_MODEL_FROM_DATABASE=RockForce2000 4 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 4 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv00001522sd00000020* +- ID_MODEL_FROM_DATABASE=RockForce2000 2 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 2 Port V.90 Data/Fax/Voice Modem) + + pci:v000010B5d00009050sv000015EDsd00001000* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial) + + pci:v000010B5d00009050sv000015EDsd00001001* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial) + + pci:v000010B5d00009050sv000015EDsd00001002* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial Hot Swap) + + pci:v000010B5d00009050sv000015EDsd00001003* +- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial Hot Swap ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial Hot Swap) + + pci:v000010B5d00009050sv00005654sd00002036* +- ID_MODEL_FROM_DATABASE=OpenSwitch 6 Telephony card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 6 Telephony card) + + pci:v000010B5d00009050sv00005654sd00003132* +- ID_MODEL_FROM_DATABASE=OpenSwitch 12 Telephony card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 12 Telephony card) + + pci:v000010B5d00009050sv00005654sd00005634* +- ID_MODEL_FROM_DATABASE=OpenLine4 Telephony Card ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenLine4 Telephony Card) + + pci:v000010B5d00009050sv0000D531sd0000C002* +- ID_MODEL_FROM_DATABASE=PCIntelliCAN 2xSJA1000 CAN bus ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCIntelliCAN 2xSJA1000 CAN bus) + + pci:v000010B5d00009050sv0000D84Dsd00004006* +- ID_MODEL_FROM_DATABASE=EX-4006 1P ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4006 1P) + + pci:v000010B5d00009050sv0000D84Dsd00004008* +- ID_MODEL_FROM_DATABASE=EX-4008 1P EPP/ECP ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4008 1P EPP/ECP) + + pci:v000010B5d00009050sv0000D84Dsd00004014* +- ID_MODEL_FROM_DATABASE=EX-4014 2P ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4014 2P) + + pci:v000010B5d00009050sv0000D84Dsd00004018* +- ID_MODEL_FROM_DATABASE=EX-4018 3P EPP/ECP ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4018 3P EPP/ECP) + + pci:v000010B5d00009050sv0000D84Dsd00004025* +- ID_MODEL_FROM_DATABASE=EX-4025 1S(16C550) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4025 1S(16C550) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004027* +- ID_MODEL_FROM_DATABASE=EX-4027 1S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4027 1S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004028* +- ID_MODEL_FROM_DATABASE=EX-4028 1S(16C850) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4028 1S(16C850) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004036* +- ID_MODEL_FROM_DATABASE=EX-4036 2S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4036 2S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004037* +- ID_MODEL_FROM_DATABASE=EX-4037 2S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4037 2S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004038* +- ID_MODEL_FROM_DATABASE=EX-4038 2S(16C850) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4038 2S(16C850) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004052* +- ID_MODEL_FROM_DATABASE=EX-4052 1S(16C550) RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4052 1S(16C550) RS-422/485) + + pci:v000010B5d00009050sv0000D84Dsd00004053* +- ID_MODEL_FROM_DATABASE=EX-4053 2S(16C550) RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4053 2S(16C550) RS-422/485) + + pci:v000010B5d00009050sv0000D84Dsd00004055* +- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C550) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C550) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004058* +- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004065* +- ID_MODEL_FROM_DATABASE=EX-4065 8S(16C550) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4065 8S(16C550) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004068* +- ID_MODEL_FROM_DATABASE=EX-4068 8S(16C650) RS-232 ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4068 8S(16C650) RS-232) + + pci:v000010B5d00009050sv0000D84Dsd00004078* +- ID_MODEL_FROM_DATABASE=EX-4078 2S(16C552) RS-232+1P ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4078 2S(16C552) RS-232+1P) + + pci:v000010B5d00009052* + ID_MODEL_FROM_DATABASE=PCI9052 PCI <-> IOBus Bridge +@@ -19095,88 +19095,88 @@ pci:v000010B5d00009054* + ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009054sv000010B5sd00002455* +- ID_MODEL_FROM_DATABASE=Wessex Techology PHIL-PCI ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Wessex Techology PHIL-PCI) + + pci:v000010B5d00009054sv000010B5sd00002696* +- ID_MODEL_FROM_DATABASE=Innes Corp AM Radcap card ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp AM Radcap card) + + pci:v000010B5d00009054sv000010B5sd00002717* +- ID_MODEL_FROM_DATABASE=Innes Corp Auricon card ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp Auricon card) + + pci:v000010B5d00009054sv000010B5sd00002844* +- ID_MODEL_FROM_DATABASE=Innes Corp TVS Encoder card ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp TVS Encoder card) + + pci:v000010B5d00009054sv000012C7sd00004001* +- ID_MODEL_FROM_DATABASE=Intel Dialogic DM/V960-4T1 PCI ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Intel Dialogic DM/V960-4T1 PCI) + + pci:v000010B5d00009054sv000012D9sd00000002* +- ID_MODEL_FROM_DATABASE=PCI Prosody Card rev 1.5 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PCI Prosody Card rev 1.5) + + pci:v000010B5d00009054sv000014B4sd0000D100* +- ID_MODEL_FROM_DATABASE=Dektec DTA-100 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-100) + + pci:v000010B5d00009054sv000014B4sd0000D114* +- ID_MODEL_FROM_DATABASE=Dektec DTA-120 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-120) + + pci:v000010B5d00009054sv000016DFsd00000011* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM PCI ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM PCI) + + pci:v000010B5d00009054sv000016DFsd00000012* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8) + + pci:v000010B5d00009054sv000016DFsd00000013* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 (without CAS Signaling) ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8 (without CAS Signaling)) + + pci:v000010B5d00009054sv000016DFsd00000014* +- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 4 ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 4) + + pci:v000010B5d00009054sv000016DFsd00000015* +- ID_MODEL_FROM_DATABASE=PIKA Daytona MM ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA Daytona MM) + + pci:v000010B5d00009054sv000016DFsd00000016* +- ID_MODEL_FROM_DATABASE=PIKA InLine MM ++ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA InLine MM) + + pci:v000010B5d00009056* + ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009056sv000010B5sd00002979* +- ID_MODEL_FROM_DATABASE=CellinkBlade 11 - CPCI board VoATM AAL1 ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (CellinkBlade 11 - CPCI board VoATM AAL1) + + pci:v000010B5d00009056sv000010B5sd00003268* +- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCIe CAN Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCIe CAN Board) + + pci:v000010B5d00009056sv000010B5sd00003352* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe HD: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe HD: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003353* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe D: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe D: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003354* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe LV: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe LV: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003355* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe L: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe L: Timecode Reader Board) + + pci:v000010B5d00009056sv000010B5sd00003415* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCIe TS: Time Synchronisation Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCIe TS: Time Synchronisation Board) + + pci:v000010B5d00009056sv000010B5sd00003493* +- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe 3G: Timecode Reader Board ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe 3G: Timecode Reader Board) + + pci:v000010B5d00009056sv00001369sd0000C001* +- ID_MODEL_FROM_DATABASE=LX6464ES ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX6464ES) + + pci:v000010B5d00009056sv00001369sd0000C201* +- ID_MODEL_FROM_DATABASE=LX1616ES ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX1616ES) + + pci:v000010B5d00009056sv000014B4sd0000D10A* +- ID_MODEL_FROM_DATABASE=DekTec DTA-110T ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (DekTec DTA-110T) + + pci:v000010B5d00009056sv000014B4sd0000D140* +- ID_MODEL_FROM_DATABASE=Dektec DTA-140 ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-140) + + pci:v000010B5d00009056sv00001A0Esd0000006F* +- ID_MODEL_FROM_DATABASE=Dektec DTA-111 ++ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-111) + + pci:v000010B5d00009060* + ID_MODEL_FROM_DATABASE=PCI9060 32-bit 33MHz PCI <-> IOBus Bridge +@@ -19185,7 +19185,7 @@ pci:v000010B5d0000906D* + ID_MODEL_FROM_DATABASE=9060SD + + pci:v000010B5d0000906Dsv0000125Csd00000640* +- ID_MODEL_FROM_DATABASE=Aries 16000P ++ ID_MODEL_FROM_DATABASE=9060SD (Aries 16000P) + + pci:v000010B5d0000906E* + ID_MODEL_FROM_DATABASE=9060ES +@@ -19194,61 +19194,61 @@ pci:v000010B5d00009080* + ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d00009080sv0000103Csd000010EB* +- ID_MODEL_FROM_DATABASE=(Agilent) E2777B 83K Series Optical Communication Interface ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E2777B 83K Series Optical Communication Interface) + + pci:v000010B5d00009080sv0000103Csd000010EC* +- ID_MODEL_FROM_DATABASE=(Agilent) E6978-66442 PCI CIC ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E6978-66442 PCI CIC) + + pci:v000010B5d00009080sv000010B5sd00001123* +- ID_MODEL_FROM_DATABASE=Sectra KK631 encryption board ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (Sectra KK631 encryption board) + + pci:v000010B5d00009080sv000010B5sd00009080* +- ID_MODEL_FROM_DATABASE=9080 [real subsystem ID not set] ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (9080 [real subsystem ID not set]) + + pci:v000010B5d00009080sv000012D9sd00000002* +- ID_MODEL_FROM_DATABASE=PCI Prosody Card ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCI Prosody Card) + + pci:v000010B5d00009080sv000012DFsd00004422* +- ID_MODEL_FROM_DATABASE=4422PCI ["Do-All" Telemetry Data Aquisition System] ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (4422PCI ["Do-All" Telemetry Data Aquisition System]) + + pci:v000010B5d00009080sv00001369sd00009601* +- ID_MODEL_FROM_DATABASE=PCX822np ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822np) + + pci:v000010B5d00009080sv00001369sd0000A102* +- ID_MODEL_FROM_DATABASE=PCX822v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822v2) + + pci:v000010B5d00009080sv00001369sd0000A201* +- ID_MODEL_FROM_DATABASE=PCX442 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX442) + + pci:v000010B5d00009080sv00001369sd0000A301* +- ID_MODEL_FROM_DATABASE=LCM440v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM440v2) + + pci:v000010B5d00009080sv00001369sd0000A401* +- ID_MODEL_FROM_DATABASE=VX822 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822) + + pci:v000010B5d00009080sv00001369sd0000A402* +- ID_MODEL_FROM_DATABASE=VX822v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822v2) + + pci:v000010B5d00009080sv00001369sd0000A901* +- ID_MODEL_FROM_DATABASE=LCM420 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM420) + + pci:v000010B5d00009080sv00001369sd0000AA01* +- ID_MODEL_FROM_DATABASE=VX820v2 ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX820v2) + + pci:v000010B5d00009080sv00001517sd0000000B* +- ID_MODEL_FROM_DATABASE=ECSG-1R3ADC-PMC Clock synthesizer ++ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (ECSG-1R3ADC-PMC Clock synthesizer) + + pci:v000010B5d00009656* + ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge + + pci:v000010B5d00009656sv00001517sd0000000F* +- ID_MODEL_FROM_DATABASE=ECDR-GC314-PMC Receiver ++ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (ECDR-GC314-PMC Receiver) + + pci:v000010B5d00009656sv00001885sd00000700* +- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S40 ++ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S40) + + pci:v000010B5d00009656sv00001885sd00000701* +- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S30 ++ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S30) + + pci:v000010B5d0000A100* + ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink +@@ -19263,28 +19263,28 @@ pci:v000010B5d0000D00D* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d0000D00Dsv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card) + + pci:v000010B5d0000D33D* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d0000D33Dsv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PT Quad T1/J1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PT Quad T1/J1 PCI card) + + pci:v000010B5d0000D44D* + ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + + pci:v000010B5d0000D44Dsv000010B5sd000017F6* +- ID_MODEL_FROM_DATABASE=Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card) + + pci:v000010B5d0000D44Dsv000010B5sd000017F7* +- ID_MODEL_FROM_DATABASE=Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card) + + pci:v000010B5d0000D44Dsv000010B5sd000017F8* +- ID_MODEL_FROM_DATABASE=Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card) + + pci:v000010B5d0000D44Dsv000010B5sd00009030* +- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PE Quad E1 PCI card ++ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PE Quad E1 PCI card) + + pci:v000010B6* + ID_VENDOR_FROM_DATABASE=Madge Networks +@@ -19299,19 +19299,19 @@ pci:v000010B6d00000002sv000010B6sd00000002* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 + + pci:v000010B6d00000002sv000010B6sd00000006* +- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter ++ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 (16/4 CardBus Adapter) + + pci:v000010B6d00000003* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 + + pci:v000010B6d00000003sv00000E11sd0000B0FD* +- ID_MODEL_FROM_DATABASE=Compaq NC4621 PCI, 4/16, WOL ++ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Compaq NC4621 PCI, 4/16, WOL) + + pci:v000010B6d00000003sv000010B6sd00000003* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 + + pci:v000010B6d00000003sv000010B6sd00000007* +- ID_MODEL_FROM_DATABASE=Presto PCI Plus Adapter ++ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Presto PCI Plus Adapter) + + pci:v000010B6d00000004* + ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk1 +@@ -19320,13 +19320,13 @@ pci:v000010B6d00000006* + ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter + + pci:v000010B6d00000006sv000010B6sd00000006* +- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter ++ ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter (16/4 CardBus Adapter) + + pci:v000010B6d00000007* + ID_MODEL_FROM_DATABASE=Presto PCI Adapter + + pci:v000010B6d00000007sv000010B6sd00000007* +- ID_MODEL_FROM_DATABASE=Presto PCI ++ ID_MODEL_FROM_DATABASE=Presto PCI Adapter (Presto PCI) + + pci:v000010B6d00000009* + ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode +@@ -19347,7 +19347,7 @@ pci:v000010B6d0000000Bsv000010B6sd00000008* + ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 + + pci:v000010B6d0000000Bsv000010B6sd0000000B* +- ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter Mk2 ++ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 (16/4 Cardbus Adapter Mk2) + + pci:v000010B6d0000000C* + ID_MODEL_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter +@@ -19368,13 +19368,13 @@ pci:v000010B7d00000001* + ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) + + pci:v000010B7d00000001sv00009850sd00000001* +- ID_MODEL_FROM_DATABASE=3c985B-SX ++ ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) (3c985B-SX) + + pci:v000010B7d00000013* + ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) + + pci:v000010B7d00000013sv000010B7sd00002031* +- ID_MODEL_FROM_DATABASE=3CRDAG675 11a/b/g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) (3CRDAG675 11a/b/g Wireless PCI Adapter) + + pci:v000010B7d00000910* + ID_MODEL_FROM_DATABASE=3C910-A01 +@@ -19386,10 +19386,10 @@ pci:v000010B7d00001007* + ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem + + pci:v000010B7d00001007sv000010B7sd0000615B* +- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem ++ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) + + pci:v000010B7d00001007sv000010B7sd0000615C* +- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem ++ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) + + pci:v000010B7d00001201* + ID_MODEL_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port A [Hydra] +@@ -19401,16 +19401,16 @@ pci:v000010B7d00001700* + ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] + + pci:v000010B7d00001700sv00001043sd000080EB* +- ID_MODEL_FROM_DATABASE=A7V600/P4P800/K8V motherboard ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (A7V600/P4P800/K8V motherboard) + + pci:v000010B7d00001700sv000010B7sd00000010* +- ID_MODEL_FROM_DATABASE=3C940 Gigabit LOM Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C940 Gigabit LOM Ethernet Adapter) + + pci:v000010B7d00001700sv000010B7sd00000020* +- ID_MODEL_FROM_DATABASE=3C941 Gigabit LOM Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C941 Gigabit LOM Ethernet Adapter) + + pci:v000010B7d00001700sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (KV8-MAX3 motherboard) + + pci:v000010B7d00003390* + ID_MODEL_FROM_DATABASE=3c339 TokenLink Velocity +@@ -19419,7 +19419,7 @@ pci:v000010B7d00003590* + ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL + + pci:v000010B7d00003590sv000010B7sd00003590* +- ID_MODEL_FROM_DATABASE=TokenLink Velocity XL Adapter (3C359/359B) ++ ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL (TokenLink Velocity XL Adapter (3C359/359B)) + + pci:v000010B7d00004500* + ID_MODEL_FROM_DATABASE=3c450 HomePNA [Tornado] +@@ -19431,19 +19431,19 @@ pci:v000010B7d00005057* + ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] + + pci:v000010B7d00005057sv000010B7sd00005A57* +- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card ++ ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) + + pci:v000010B7d00005157* + ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] + + pci:v000010B7d00005157sv000010B7sd00005B57* +- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card ++ ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] (3C575 Megahertz 10/100 LAN Cardbus PC Card) + + pci:v000010B7d00005257* + ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] + + pci:v000010B7d00005257sv000010B7sd00005C57* +- ID_MODEL_FROM_DATABASE=FE575C-3Com 10/100 LAN CardBus-Fast Ethernet ++ ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] (FE575C-3Com 10/100 LAN CardBus-Fast Ethernet) + + pci:v000010B7d00005900* + ID_MODEL_FROM_DATABASE=3c590 10BaseT [Vortex] +@@ -19467,7 +19467,7 @@ pci:v000010B7d00005B57* + ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] + + pci:v000010B7d00005B57sv000010B7sd00005B57* +- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card ++ ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) + + pci:v000010B7d00006000* + ID_MODEL_FROM_DATABASE=3CRSHPW796 [OfficeConnect Wireless CardBus] +@@ -19482,31 +19482,31 @@ pci:v000010B7d00006056* + ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] + + pci:v000010B7d00006056sv000010B7sd00006556* +- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] (10/100 Mini PCI Ethernet Adapter) + + pci:v000010B7d00006560* + ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] + + pci:v000010B7d00006560sv000010B7sd0000656A* +- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] (3CCFEM656 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006561* + ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus + + pci:v000010B7d00006561sv000010B7sd0000656B* +- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006562* + ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] + + pci:v000010B7d00006562sv000010B7sd0000656B* +- ID_MODEL_FROM_DATABASE=3CCFEM656B 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] (3CCFEM656B 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006563* + ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus + + pci:v000010B7d00006563sv000010B7sd0000656B* +- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus ++ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) + + pci:v000010B7d00006564* + ID_MODEL_FROM_DATABASE=3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado] +@@ -19542,13 +19542,13 @@ pci:v000010B7d00009004* + ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] + + pci:v000010B7d00009004sv000010B7sd00009004* +- ID_MODEL_FROM_DATABASE=3C900B-TPO Etherlink XL TPO 10Mb ++ ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] (3C900B-TPO Etherlink XL TPO 10Mb) + + pci:v000010B7d00009005* + ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] + + pci:v000010B7d00009005sv000010B7sd00009005* +- ID_MODEL_FROM_DATABASE=3C900B-Combo Etherlink XL Combo ++ ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] (3C900B-Combo Etherlink XL Combo) + + pci:v000010B7d00009006* + ID_MODEL_FROM_DATABASE=3c900B-TPC Etherlink XL [Cyclone] +@@ -19572,67 +19572,67 @@ pci:v000010B7d00009055* + ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] + + pci:v000010B7d00009055sv00001028sd00000080* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000081* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000082* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000083* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000084* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000085* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000086* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000087* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000089* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000090* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000091* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000092* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000093* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000094* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000096* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000097* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000098* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv00001028sd00000099* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009055sv000010B7sd00009055* +- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 ++ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) + + pci:v000010B7d00009056* + ID_MODEL_FROM_DATABASE=3c905B-T4 Fast EtherLink XL [Cyclone] +@@ -19647,40 +19647,40 @@ pci:v000010B7d00009200* + ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] + + pci:v000010B7d00009200sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) + + pci:v000010B7d00009200sv00001028sd00000097* +- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) + + pci:v000010B7d00009200sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (OptiPlex GX110) + + pci:v000010B7d00009200sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Precision 530) + + pci:v000010B7d00009200sv00001028sd000000FE* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Optiplex GX240) + + pci:v000010B7d00009200sv00001028sd0000012A* +- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller [Latitude C640] ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller [Latitude C640]) + + pci:v000010B7d00009200sv000010B7sd00001000* +- ID_MODEL_FROM_DATABASE=3C905CX-TX/TX-M Fast Etherlink for PC Management NIC ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C905CX-TX/TX-M Fast Etherlink for PC Management NIC) + + pci:v000010B7d00009200sv000010B7sd00007000* +- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (10/100 Mini PCI Ethernet Adapter) + + pci:v000010B7d00009200sv000010F1sd00002466* +- ID_MODEL_FROM_DATABASE=Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)) + + pci:v000010B7d00009200sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (X10 Laptop) + + pci:v000010B7d00009201* + ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] + + pci:v000010B7d00009201sv00001043sd000080AB* +- ID_MODEL_FROM_DATABASE=A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller ++ ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] (A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller) + + pci:v000010B7d00009202* + ID_MODEL_FROM_DATABASE=3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller +@@ -19695,22 +19695,22 @@ pci:v000010B7d00009800* + ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] + + pci:v000010B7d00009800sv000010B7sd00009800* +- ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter ++ ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] (3c980-TX Fast Etherlink XL Server Adapter) + + pci:v000010B7d00009805* + ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] + + pci:v000010B7d00009805sv000010B7sd00001201* +- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port A ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port A) + + pci:v000010B7d00009805sv000010B7sd00001202* +- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port B ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port B) + + pci:v000010B7d00009805sv000010B7sd00009805* +- ID_MODEL_FROM_DATABASE=3c980 10/100baseTX NIC [Python-T] ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (3c980 10/100baseTX NIC [Python-T]) + + pci:v000010B7d00009805sv000010F1sd00002462* +- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 ++ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (Thunder K7 S2462) + + pci:v000010B7d00009900* + ID_MODEL_FROM_DATABASE=3C990-TX [Typhoon] +@@ -19725,25 +19725,25 @@ pci:v000010B7d00009904* + ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] + + pci:v000010B7d00009904sv000010B7sd00001000* +- ID_MODEL_FROM_DATABASE=3CR990B-TX-M [Typhoon2] ++ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990B-TX-M [Typhoon2]) + + pci:v000010B7d00009904sv000010B7sd00002000* +- ID_MODEL_FROM_DATABASE=3CR990BSVR [Typhoon2 Server] ++ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990BSVR [Typhoon2 Server]) + + pci:v000010B7d00009905* + ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] + + pci:v000010B7d00009905sv000010B7sd00001101* +- ID_MODEL_FROM_DATABASE=3CR990-FX-95 [Typhoon Fiber 56-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 [Typhoon Fiber 56-bit]) + + pci:v000010B7d00009905sv000010B7sd00001102* +- ID_MODEL_FROM_DATABASE=3CR990-FX-97 [Typhoon Fiber 168-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 [Typhoon Fiber 168-bit]) + + pci:v000010B7d00009905sv000010B7sd00002101* +- ID_MODEL_FROM_DATABASE=3CR990-FX-95 Server [Typhoon Fiber 56-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 Server [Typhoon Fiber 56-bit]) + + pci:v000010B7d00009905sv000010B7sd00002102* +- ID_MODEL_FROM_DATABASE=3CR990-FX-97 Server [Typhoon Fiber 168-bit] ++ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 Server [Typhoon Fiber 168-bit]) + + pci:v000010B7d00009908* + ID_MODEL_FROM_DATABASE=3CR990SVR95 [Typhoon Server 56-bit] +@@ -19764,49 +19764,49 @@ pci:v000010B8d00000005* + ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter + + pci:v000010B8d00000005sv00001055sd0000E000* +- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171Q-PCI] ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171Q-PCI]) + + pci:v000010B8d00000005sv00001055sd0000E002* +- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171G-PCI] ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171G-PCI]) + + pci:v000010B8d00000005sv000010B8sd0000A011* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A014* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A015* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A016* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000005sv000010B8sd0000A017* +- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 ++ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) + + pci:v000010B8d00000006* + ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter + + pci:v000010B8d00000006sv00001055sd0000E100* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv00001055sd0000E102* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv00001055sd0000E300* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv00001055sd0000E302* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv000010B8sd0000A012* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv000013A2sd00008002* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00000006sv000013A2sd00008006* +- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) + + pci:v000010B8d00001000* + ID_MODEL_FROM_DATABASE=FDC 37c665 +@@ -19869,13 +19869,13 @@ pci:v000010B9d00001521* + ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] + + pci:v000010B9d00001521sv000010B9sd00001521* +- ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge ++ ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] (ALI M1521 Aladdin III CPU Bridge) + + pci:v000010B9d00001523* + ID_MODEL_FROM_DATABASE=M1523 + + pci:v000010B9d00001523sv000010B9sd00001523* +- ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge ++ ID_MODEL_FROM_DATABASE=M1523 (ALI M1523 ISA Bridge) + + pci:v000010B9d00001531* + ID_MODEL_FROM_DATABASE=M1531 [Aladdin IV] +@@ -19884,16 +19884,16 @@ pci:v000010B9d00001533* + ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] + + pci:v000010B9d00001533sv00001014sd0000053B* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ThinkPad R40e) + + pci:v000010B9d00001533sv000010B9sd00001533* +- ID_MODEL_FROM_DATABASE=ALi M1533 Aladdin IV/V ISA Bridge ++ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ALi M1533 Aladdin IV/V ISA Bridge) + + pci:v000010B9d00001541* + ID_MODEL_FROM_DATABASE=M1541 + + pci:v000010B9d00001541sv000010B9sd00001541* +- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP System Controller ++ ID_MODEL_FROM_DATABASE=M1541 (ALI M1541 Aladdin V/V+ AGP System Controller) + + pci:v000010B9d00001543* + ID_MODEL_FROM_DATABASE=M1543 +@@ -19902,10 +19902,10 @@ pci:v000010B9d00001563* + ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge + + pci:v000010B9d00001563sv000010B9sd00001563* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00001563sv00001849sd00001563* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00001573* + ID_MODEL_FROM_DATABASE=PCI to LPC Controller +@@ -20007,22 +20007,22 @@ pci:v000010B9d00005229* + ID_MODEL_FROM_DATABASE=M5229 IDE + + pci:v000010B9d00005229sv00001014sd0000050F* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R30) + + pci:v000010B9d00005229sv00001014sd0000053D* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R40e) + + pci:v000010B9d00005229sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin IDE ++ ID_MODEL_FROM_DATABASE=M5229 IDE (Pavilion ze4400 builtin IDE) + + pci:v000010B9d00005229sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M5229 IDE (XE4500 Notebook) + + pci:v000010B9d00005229sv00001043sd00008053* +- ID_MODEL_FROM_DATABASE=A7A266 Motherboard IDE ++ ID_MODEL_FROM_DATABASE=M5229 IDE (A7A266 Motherboard IDE) + + pci:v000010B9d00005229sv00001849sd00005229* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard IDE (PATA) ++ ID_MODEL_FROM_DATABASE=M5229 IDE (ASRock 939Dual-SATA2 Motherboard IDE (PATA)) + + pci:v000010B9d00005235* + ID_MODEL_FROM_DATABASE=M5225 +@@ -20031,31 +20031,31 @@ pci:v000010B9d00005237* + ID_MODEL_FROM_DATABASE=USB 1.1 Controller + + pci:v000010B9d00005237sv00001014sd00000540* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ThinkPad R40e) + + pci:v000010B9d00005237sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin USB ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Pavilion ze4400 builtin USB) + + pci:v000010B9d00005237sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (XE4500 Notebook) + + pci:v000010B9d00005237sv0000104Dsd0000810F* +- ID_MODEL_FROM_DATABASE=VAIO PCG-U1 USB/OHCI Revision 1.0 ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (VAIO PCG-U1 USB/OHCI Revision 1.0) + + pci:v000010B9d00005237sv000010B9sd00005237* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005237sv00001849sd00005237* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005239* + ID_MODEL_FROM_DATABASE=USB 2.0 Controller + + pci:v000010B9d00005239sv000010B9sd00005239* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005239sv00001849sd00005239* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005243* + ID_MODEL_FROM_DATABASE=M1541 PCI to AGP Controller +@@ -20103,7 +20103,7 @@ pci:v000010B9d00005288* + ID_MODEL_FROM_DATABASE=ULi M5288 SATA + + pci:v000010B9d00005288sv00001043sd00008056* +- ID_MODEL_FROM_DATABASE=A8R-MVP Mainboard ++ ID_MODEL_FROM_DATABASE=ULi M5288 SATA (A8R-MVP Mainboard) + + pci:v000010B9d00005289* + ID_MODEL_FROM_DATABASE=ULi 5289 SATA +@@ -20115,16 +20115,16 @@ pci:v000010B9d00005451* + ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device + + pci:v000010B9d00005451sv00001014sd00000506* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R30) + + pci:v000010B9d00005451sv00001014sd0000053E* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R40e) + + pci:v000010B9d00005451sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Audio ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (Pavilion ze4400 builtin Audio) + + pci:v000010B9d00005451sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (XE4500 Notebook) + + pci:v000010B9d00005453* + ID_MODEL_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device +@@ -20133,22 +20133,22 @@ pci:v000010B9d00005455* + ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device + + pci:v000010B9d00005455sv000010B9sd00005455* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005455sv00001849sd00000850* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010B9d00005457* + ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller + + pci:v000010B9d00005457sv00001014sd00000535* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (ThinkPad R40e) + + pci:v000010B9d00005457sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Modem Device ++ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (Pavilion ze4400 builtin Modem Device) + + pci:v000010B9d00005457sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (XE4500 Notebook) + + pci:v000010B9d00005459* + ID_MODEL_FROM_DATABASE=SmartLink SmartPCI561 56K Modem +@@ -20169,19 +20169,19 @@ pci:v000010B9d00007101* + ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] + + pci:v000010B9d00007101sv00001014sd00000510* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R30) + + pci:v000010B9d00007101sv00001014sd0000053C* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R40e) + + pci:v000010B9d00007101sv0000103Csd00000024* +- ID_MODEL_FROM_DATABASE=Pavilion ze4400 ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (Pavilion ze4400) + + pci:v000010B9d00007101sv0000103Csd00000025* +- ID_MODEL_FROM_DATABASE=XE4500 Notebook ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (XE4500 Notebook) + + pci:v000010B9d00007101sv00001849sd00007101* +- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard ++ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ASRock 939Dual-SATA2 Motherboard) + + pci:v000010BA* + ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp. +@@ -20196,7 +20196,7 @@ pci:v000010BAd00000308* + ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] + + pci:v000010BAd00000308sv000010DDsd00000024* +- ID_MODEL_FROM_DATABASE=Tornado 3000 ++ ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] (Tornado 3000) + + pci:v000010BAd00001002* + ID_MODEL_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator] +@@ -20259,79 +20259,79 @@ pci:v000010C8d00000004* + ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] + + pci:v000010C8d00000004sv00001014sd000000BA* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001025sd00001007* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd00000074* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd00000075* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd0000007D* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001028sd0000007E* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv00001033sd0000802F* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv0000104Dsd0000801B* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv0000104Dsd0000802F* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv0000104Dsd0000830B* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010BAsd00000E00* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010C8sd00000004* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010CFsd00001029* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd00008308* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd00008309* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd0000830B* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd0000830D* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000004sv000010F7sd00008312* +- ID_MODEL_FROM_DATABASE=MagicGraph 128XD ++ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) + + pci:v000010C8d00000005* + ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] + + pci:v000010C8d00000005sv00001014sd000000DD* +- ID_MODEL_FROM_DATABASE=ThinkPad 570 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (ThinkPad 570) + + pci:v000010C8d00000005sv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=Latitude CPi A ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (Latitude CPi A) + + pci:v000010C8d00000006* + ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] + + pci:v000010C8d00000006sv00001014sd00000152* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X ++ ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] (ThinkPad 600X) + + pci:v000010C8d00000016* + ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] + + pci:v000010C8d00000016sv000010C8sd00000016* +- ID_MODEL_FROM_DATABASE=MagicMedia 256XL+ ++ ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] (MagicMedia 256XL+) + + pci:v000010C8d00000025* + ID_MODEL_FROM_DATABASE=NM2230 [MagicGraph 256AV+] +@@ -20343,40 +20343,40 @@ pci:v000010C8d00008005* + ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] + + pci:v000010C8d00008005sv00000E11sd0000B0D1* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Discovery ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Discovery) + + pci:v000010C8d00008005sv00000E11sd0000B126* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Durango ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Durango) + + pci:v000010C8d00008005sv00001014sd000000DD* +- ID_MODEL_FROM_DATABASE=ThinkPad 390/i1720/i1721 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (ThinkPad 390/i1720/i1721) + + pci:v000010C8d00008005sv00001025sd00001003* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on TravelMate 720 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on TravelMate 720) + + pci:v000010C8d00008005sv00001028sd00000088* +- ID_MODEL_FROM_DATABASE=Latitude CPi A ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (Latitude CPi A) + + pci:v000010C8d00008005sv00001028sd0000008F* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Colorado Inspiron ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Colorado Inspiron) + + pci:v000010C8d00008005sv0000103Csd00000007* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager II ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager II) + + pci:v000010C8d00008005sv0000103Csd00000008* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager III ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager III) + + pci:v000010C8d00008005sv0000103Csd0000000D* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Omnibook 900 ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Omnibook 900) + + pci:v000010C8d00008005sv000010C8sd00008005* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on FireAnt ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on FireAnt) + + pci:v000010C8d00008005sv0000110Asd00008005* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) + + pci:v000010C8d00008005sv000014C0sd00000004* +- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device ++ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) + + pci:v000010C8d00008006* + ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX Audio] +@@ -20415,10 +20415,10 @@ pci:v000010CDd00001300* + ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U + + pci:v000010CDd00001300sv000010CDsd00001310* +- ID_MODEL_FROM_DATABASE=ASC1300 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (ASC1300 SCSI Adapter) + + pci:v000010CDd00001300sv00001195sd00001320* +- ID_MODEL_FROM_DATABASE=Ultra-SCSI CardBus PC Card REX CB31 ++ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (Ultra-SCSI CardBus PC Card REX CB31) + + pci:v000010CDd00002300* + ID_MODEL_FROM_DATABASE=ABP940-UW +@@ -20511,7 +20511,7 @@ pci:v000010D9d00000531* + ID_MODEL_FROM_DATABASE=MX987x5 + + pci:v000010D9d00000531sv00001186sd00001200* +- ID_MODEL_FROM_DATABASE=DFE-540TX ProFAST 10/100 Adapter ++ ID_MODEL_FROM_DATABASE=MX987x5 (DFE-540TX ProFAST 10/100 Adapter) + + pci:v000010D9d00008625* + ID_MODEL_FROM_DATABASE=MX86250 +@@ -20559,7 +20559,7 @@ pci:v000010DDd00000100* + ID_MODEL_FROM_DATABASE=Lightning 1200 + + pci:v000010DDd00000100sv000010DDsd00000023* +- ID_MODEL_FROM_DATABASE=Lightning 1200 15+16M ++ ID_MODEL_FROM_DATABASE=Lightning 1200 (15+16M) + + pci:v000010DE* + ID_VENDOR_FROM_DATABASE=NVIDIA Corporation +@@ -20574,193 +20574,193 @@ pci:v000010DEd00000020* + ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] + + pci:v000010DEd00000020sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=V3400 TNT ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (V3400 TNT) + + pci:v000010DEd00000020sv00001048sd00000C18* +- ID_MODEL_FROM_DATABASE=Erazor II SGRAM ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II SGRAM) + + pci:v000010DEd00000020sv00001048sd00000C19* +- ID_MODEL_FROM_DATABASE=Erazor II ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) + + pci:v000010DEd00000020sv00001048sd00000C1B* +- ID_MODEL_FROM_DATABASE=Erazor II ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) + + pci:v000010DEd00000020sv00001048sd00000C1C* +- ID_MODEL_FROM_DATABASE=Erazor II ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) + + pci:v000010DEd00000020sv00001092sd00000550* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00000552* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004804* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004808* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004810* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004812* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004815* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004820* +- ID_MODEL_FROM_DATABASE=Viper V550 with TV out ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550 with TV out) + + pci:v000010DEd00000020sv00001092sd00004822* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004904* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00004914* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv00001092sd00008225* +- ID_MODEL_FROM_DATABASE=Viper V550 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) + + pci:v000010DEd00000020sv000010B4sd0000273D* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) + + pci:v000010DEd00000020sv000010B4sd0000273E* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) + + pci:v000010DEd00000020sv000010B4sd00002740* +- ID_MODEL_FROM_DATABASE=Velocity 4400 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) + + pci:v000010DEd00000020sv000010DEsd00000020* +- ID_MODEL_FROM_DATABASE=Riva TNT ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Riva TNT) + + pci:v000010DEd00000020sv00001102sd00001015* +- ID_MODEL_FROM_DATABASE=Graphics Blaster CT6710 ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster CT6710) + + pci:v000010DEd00000020sv00001102sd00001016* +- ID_MODEL_FROM_DATABASE=Graphics Blaster RIVA TNT ++ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster RIVA TNT) + + pci:v000010DEd00000028* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] + + pci:v000010DEd00000028sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800 SGRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SGRAM) + + pci:v000010DEd00000028sv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800 SDRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SDRAM) + + pci:v000010DEd00000028sv00001043sd00000205* +- ID_MODEL_FROM_DATABASE=PCI-V3800 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (PCI-V3800) + + pci:v000010DEd00000028sv00001043sd00004000* +- ID_MODEL_FROM_DATABASE=AGP-V3800PRO ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800PRO) + + pci:v000010DEd00000028sv00001048sd00000C21* +- ID_MODEL_FROM_DATABASE=Synergy II ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Synergy II) + + pci:v000010DEd00000028sv00001048sd00000C28* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C29* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C2A* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C2B* +- ID_MODEL_FROM_DATABASE=Erazor III ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) + + pci:v000010DEd00000028sv00001048sd00000C31* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv00001048sd00000C32* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv00001048sd00000C33* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv00001048sd00000C34* +- ID_MODEL_FROM_DATABASE=Erazor III Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) + + pci:v000010DEd00000028sv0000107Dsd00002134* +- ID_MODEL_FROM_DATABASE=WinFast 3D S320 II + TV-Out ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (WinFast 3D S320 II + TV-Out) + + pci:v000010DEd00000028sv00001092sd00004804* +- ID_MODEL_FROM_DATABASE=Viper V770 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) + + pci:v000010DEd00000028sv00001092sd00004A00* +- ID_MODEL_FROM_DATABASE=Viper V770 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) + + pci:v000010DEd00000028sv00001092sd00004A02* +- ID_MODEL_FROM_DATABASE=Viper V770 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) + + pci:v000010DEd00000028sv00001092sd00005A00* +- ID_MODEL_FROM_DATABASE=RIVA TNT2/TNT2 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2/TNT2 Pro) + + pci:v000010DEd00000028sv00001092sd00005A40* +- ID_MODEL_FROM_DATABASE=Viper V770D AGP ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770D AGP) + + pci:v000010DEd00000028sv00001092sd00006A02* +- ID_MODEL_FROM_DATABASE=Viper V770 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) + + pci:v000010DEd00000028sv00001092sd00007A02* +- ID_MODEL_FROM_DATABASE=Viper V770 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) + + pci:v000010DEd00000028sv000010DEsd00000005* +- ID_MODEL_FROM_DATABASE=RIVA TNT2 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2 Pro) + + pci:v000010DEd00000028sv000010DEsd0000000F* +- ID_MODEL_FROM_DATABASE=Compaq NVIDIA TNT2 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Compaq NVIDIA TNT2 Pro) + + pci:v000010DEd00000028sv00001102sd00001020* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2) + + pci:v000010DEd00000028sv00001102sd00001026* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Digital ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2 Digital) + + pci:v000010DEd00000028sv00001462sd00008806* +- ID_MODEL_FROM_DATABASE=MS-8806 AGPhantom Graphics Card ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (MS-8806 AGPhantom Graphics Card) + + pci:v000010DEd00000028sv000014AFsd00005810* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Maxi Gamer Xentor) + + pci:v000010DEd00000029* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] + + pci:v000010DEd00000029sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Deluxe ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Deluxe) + + pci:v000010DEd00000029sv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Ultra SDRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Ultra SDRAM) + + pci:v000010DEd00000029sv00001043sd00000205* +- ID_MODEL_FROM_DATABASE=PCI-V3800 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (PCI-V3800 Ultra) + + pci:v000010DEd00000029sv00001048sd00000C2E* +- ID_MODEL_FROM_DATABASE=Erazor III Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) + + pci:v000010DEd00000029sv00001048sd00000C2F* +- ID_MODEL_FROM_DATABASE=Erazor III Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) + + pci:v000010DEd00000029sv00001048sd00000C30* +- ID_MODEL_FROM_DATABASE=Erazor III Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) + + pci:v000010DEd00000029sv00001102sd00001021* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) + + pci:v000010DEd00000029sv00001102sd00001029* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) + + pci:v000010DEd00000029sv00001102sd0000102F* +- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) + + pci:v000010DEd00000029sv000014AFsd00005820* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor 32 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Maxi Gamer Xentor 32) + + pci:v000010DEd00000029sv00004843sd00004F34* +- ID_MODEL_FROM_DATABASE=Dynamite ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Dynamite) + + pci:v000010DEd0000002A* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2] +@@ -20772,85 +20772,85 @@ pci:v000010DEd0000002C* + ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] + + pci:v000010DEd0000002Csv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat SDRAM ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat SDRAM) + + pci:v000010DEd0000002Csv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat) + + pci:v000010DEd0000002Csv00001048sd00000C20* +- ID_MODEL_FROM_DATABASE=TNT2 Vanta ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) + + pci:v000010DEd0000002Csv00001048sd00000C21* +- ID_MODEL_FROM_DATABASE=TNT2 Vanta ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) + + pci:v000010DEd0000002Csv00001048sd00000C25* +- ID_MODEL_FROM_DATABASE=TNT2 Vanta 16MB ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta 16MB) + + pci:v000010DEd0000002Csv00001092sd00006820* +- ID_MODEL_FROM_DATABASE=Viper V730 ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Viper V730) + + pci:v000010DEd0000002Csv00001102sd00001031* +- ID_MODEL_FROM_DATABASE=CT6938 VANTA 8MB ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6938 VANTA 8MB) + + pci:v000010DEd0000002Csv00001102sd00001034* +- ID_MODEL_FROM_DATABASE=CT6894 VANTA 16MB ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6894 VANTA 16MB) + + pci:v000010DEd0000002Csv000014AFsd00005008* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix 2 ++ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Maxi Gamer Phoenix 2) + + pci:v000010DEd0000002D* + ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] + + pci:v000010DEd0000002Dsv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V3800M ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) + + pci:v000010DEd0000002Dsv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V3800M ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) + + pci:v000010DEd0000002Dsv00001048sd00000C3A* +- ID_MODEL_FROM_DATABASE=Erazor III LT ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) + + pci:v000010DEd0000002Dsv00001048sd00000C3B* +- ID_MODEL_FROM_DATABASE=Erazor III LT ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) + + pci:v000010DEd0000002Dsv0000107Dsd00002137* +- ID_MODEL_FROM_DATABASE=WinFast 3D S325 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (WinFast 3D S325) + + pci:v000010DEd0000002Dsv000010DEsd00000006* +- ID_MODEL_FROM_DATABASE=RIVA TNT2 Model 64/Model 64 Pro ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (RIVA TNT2 Model 64/Model 64 Pro) + + pci:v000010DEd0000002Dsv000010DEsd0000001E* +- ID_MODEL_FROM_DATABASE=M64 AGP4x ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (M64 AGP4x) + + pci:v000010DEd0000002Dsv00001102sd00001023* +- ID_MODEL_FROM_DATABASE=CT6892 RIVA TNT2 Value ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6892 RIVA TNT2 Value) + + pci:v000010DEd0000002Dsv00001102sd00001024* +- ID_MODEL_FROM_DATABASE=CT6932 RIVA TNT2 Value 32Mb ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6932 RIVA TNT2 Value 32Mb) + + pci:v000010DEd0000002Dsv00001102sd0000102C* +- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value [Jumper] ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value [Jumper]) + + pci:v000010DEd0000002Dsv00001102sd00001030* +- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value) + + pci:v000010DEd0000002Dsv0000110Asd0000006F* +- ID_MODEL_FROM_DATABASE=GM1000-16 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) + + pci:v000010DEd0000002Dsv0000110Asd00000081* +- ID_MODEL_FROM_DATABASE=GM1000-16 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) + + pci:v000010DEd0000002Dsv00001462sd00008808* +- ID_MODEL_FROM_DATABASE=MSI-8808 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (MSI-8808) + + pci:v000010DEd0000002Dsv000014AFsd00005620* +- ID_MODEL_FROM_DATABASE=Gamer Cougar Video Edition ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Gamer Cougar Video Edition) + + pci:v000010DEd0000002Dsv00001554sd00001041* +- ID_MODEL_FROM_DATABASE=Pixelview RIVA TNT2 M64 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Pixelview RIVA TNT2 M64) + + pci:v000010DEd0000002Dsv00001569sd0000002D* +- ID_MODEL_FROM_DATABASE=Palit Microsystems Daytona TNT2 M64 ++ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Palit Microsystems Daytona TNT2 M64) + + pci:v000010DEd00000034* + ID_MODEL_FROM_DATABASE=MCP04 SMBus +@@ -20889,19 +20889,19 @@ pci:v000010DEd00000041* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] + + pci:v000010DEd00000041sv00001043sd0000817B* +- ID_MODEL_FROM_DATABASE=V9999 Gamer Edition ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (V9999 Gamer Edition) + + pci:v000010DEd00000041sv0000107Dsd00002992* +- ID_MODEL_FROM_DATABASE=WinFast A400 ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (WinFast A400) + + pci:v000010DEd00000041sv00001458sd0000310F* +- ID_MODEL_FROM_DATABASE=Geforce 6800 GV-N6812 ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (Geforce 6800 GV-N6812) + + pci:v000010DEd00000042* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] + + pci:v000010DEd00000042sv0000107Dsd0000299B* +- ID_MODEL_FROM_DATABASE=WinFast A400 LE ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] (WinFast A400 LE) + + pci:v000010DEd00000043* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XE] +@@ -20913,16 +20913,16 @@ pci:v000010DEd00000045* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] + + pci:v000010DEd00000045sv00001043sd0000817D* +- ID_MODEL_FROM_DATABASE=V9999GT ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (V9999GT) + + pci:v000010DEd00000045sv00001458sd00003140* +- ID_MODEL_FROM_DATABASE=GV-N68T256D ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (GV-N68T256D) + + pci:v000010DEd00000047* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] + + pci:v000010DEd00000047sv00001682sd00002109* +- ID_MODEL_FROM_DATABASE=GeForce 6800 GS ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] (GeForce 6800 GS) + + pci:v000010DEd00000048* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XT] +@@ -20934,133 +20934,133 @@ pci:v000010DEd00000050* + ID_MODEL_FROM_DATABASE=CK804 ISA Bridge + + pci:v000010DEd00000050sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000050sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (Tomcat K8E (S2865)) + + pci:v000010DEd00000050sv00001458sd00000C11* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000050sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (MSI K8N Diamond) + + pci:v000010DEd00000050sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N Neo4-F mainboard) + + pci:v000010DEd00000050sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (KN8-Ultra Mainboard) + + pci:v000010DEd00000050sv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (NF4 AM2L Mainboard) + + pci:v000010DEd00000051* + ID_MODEL_FROM_DATABASE=CK804 ISA Bridge + + pci:v000010DEd00000051sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 ISA Bridge ++ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (PowerEdge T105 ISA Bridge) + + pci:v000010DEd00000052* + ID_MODEL_FROM_DATABASE=CK804 SMBus + + pci:v000010DEd00000052sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 SMBus ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (PowerEdge T105 SMBus) + + pci:v000010DEd00000052sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000052sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (Tomcat K8E (S2865)) + + pci:v000010DEd00000052sv00001458sd00000C11* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000052sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (MSI K8N Diamond) + + pci:v000010DEd00000052sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N Neo4-F mainboard) + + pci:v000010DEd00000052sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (KN8-Ultra Mainboard) + + pci:v000010DEd00000052sv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 SMBus (NF4 AM2L Mainboard) + + pci:v000010DEd00000053* + ID_MODEL_FROM_DATABASE=CK804 IDE + + pci:v000010DEd00000053sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000053sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 IDE (Tomcat K8E (S2865)) + + pci:v000010DEd00000053sv00001458sd00005002* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000053sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 IDE (MSI K8N Diamond) + + pci:v000010DEd00000053sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N Neo4-F mainboard) + + pci:v000010DEd00000053sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (KN8-Ultra Mainboard) + + pci:v000010DEd00000053sv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 IDE (NF4 AM2L Mainboard) + + pci:v000010DEd00000054* + ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller + + pci:v000010DEd00000054sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) + + pci:v000010DEd00000054sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (A8N Series Mainboard) + + pci:v000010DEd00000054sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000054sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000054sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (MSI K8N Diamond) + + pci:v000010DEd00000054sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000054sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000054sv00001565sd00005401* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) + + pci:v000010DEd00000055* + ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller + + pci:v000010DEd00000055sv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) + + pci:v000010DEd00000055sv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000055sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000055sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000055sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000055sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000055sv00001565sd00005401* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) + + pci:v000010DEd00000056* + ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller +@@ -21069,28 +21069,28 @@ pci:v000010DEd00000057* + ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller + + pci:v000010DEd00000057sv00001043sd00008141* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000057sv000010DEsd0000CB84* +- ID_MODEL_FROM_DATABASE=NF4 Lanparty ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 Lanparty) + + pci:v000010DEd00000057sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000057sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd00000057sv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (MSI K8N Diamond) + + pci:v000010DEd00000057sv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000057sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000057sv00001565sd00002501* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 AM2L Mainboard) + + pci:v000010DEd00000058* + ID_MODEL_FROM_DATABASE=CK804 AC'97 Modem +@@ -21099,73 +21099,73 @@ pci:v000010DEd00000059* + ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller + + pci:v000010DEd00000059sv00001043sd0000812A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd00000059sv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (Tomcat K8E (S2865)) + + pci:v000010DEd00000059sv00001462sd00007585* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N Neo4-F mainboard) + + pci:v000010DEd00000059sv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (KN8-Ultra Mainboard) + + pci:v000010DEd00000059sv00001565sd00008211* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005A* + ID_MODEL_FROM_DATABASE=CK804 USB Controller + + pci:v000010DEd0000005Asv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) + + pci:v000010DEd0000005Asv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd0000005Asv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) + + pci:v000010DEd0000005Asv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd0000005Asv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) + + pci:v000010DEd0000005Asv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) + + pci:v000010DEd0000005Asv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) + + pci:v000010DEd0000005Asv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005B* + ID_MODEL_FROM_DATABASE=CK804 USB Controller + + pci:v000010DEd0000005Bsv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) + + pci:v000010DEd0000005Bsv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) + + pci:v000010DEd0000005Bsv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) + + pci:v000010DEd0000005Bsv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd0000005Bsv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=MSI K8N Diamond ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) + + pci:v000010DEd0000005Bsv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) + + pci:v000010DEd0000005Bsv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) + + pci:v000010DEd0000005Bsv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005C* + ID_MODEL_FROM_DATABASE=CK804 PCI Bridge +@@ -21177,34 +21177,34 @@ pci:v000010DEd0000005E* + ID_MODEL_FROM_DATABASE=CK804 Memory Controller + + pci:v000010DEd0000005Esv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Memory Controller ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (PowerEdge T105 Memory Controller) + + pci:v000010DEd0000005Esv00001043sd0000815A* +- ID_MODEL_FROM_DATABASE=A8N Series Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (A8N Series Mainboard) + + pci:v000010DEd0000005Esv000010DEsd0000005E* +- ID_MODEL_FROM_DATABASE=ECS Elitegroup NFORCE3-A939 motherboard. ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (ECS Elitegroup NFORCE3-A939 motherboard.) + + pci:v000010DEd0000005Esv000010F1sd00002865* +- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Tomcat K8E (S2865)) + + pci:v000010DEd0000005Esv000010F1sd00002891* +- ID_MODEL_FROM_DATABASE=Thunder K8SRE Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Thunder K8SRE Mainboard) + + pci:v000010DEd0000005Esv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (GA-K8N Ultra-9 Mainboard) + + pci:v000010DEd0000005Esv00001462sd00007100* +- ID_MODEL_FROM_DATABASE=K8N Diamond Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Diamond Mainboard) + + pci:v000010DEd0000005Esv00001462sd00007125* +- ID_MODEL_FROM_DATABASE=K8N Neo4-F Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Neo4-F Mainboard) + + pci:v000010DEd0000005Esv0000147Bsd00001C1A* +- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (KN8-Ultra Mainboard) + + pci:v000010DEd0000005Esv00001565sd00003402* +- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard ++ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (NF4 AM2L Mainboard) + + pci:v000010DEd0000005F* + ID_MODEL_FROM_DATABASE=CK804 Memory Controller +@@ -21213,61 +21213,61 @@ pci:v000010DEd00000060* + ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge + + pci:v000010DEd00000060sv00001043sd000080AD* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard ++ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (A7N8X Mainboard) + + pci:v000010DEd00000060sv0000147Bsd00001C02* +- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X ++ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (NF7-S/NF7 (nVidia-nForce2) 2.X) + + pci:v000010DEd00000060sv0000A0A0sd000003BA* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (UK79G-1394 motherboard) + + pci:v000010DEd00000064* + ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) + + pci:v000010DEd00000064sv0000147Bsd00001C02* +- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X ++ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (NF7-S/NF7 (nVidia-nForce2) 2.X) + + pci:v000010DEd00000064sv0000A0A0sd000003BB* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (UK79G-1394 motherboard) + + pci:v000010DEd00000065* + ID_MODEL_FROM_DATABASE=nForce2 IDE + + pci:v000010DEd00000065sv000010DEsd00000C11* +- ID_MODEL_FROM_DATABASE=nForce 2 EIDE Controller ++ ID_MODEL_FROM_DATABASE=nForce2 IDE (nForce 2 EIDE Controller) + + pci:v000010DEd00000065sv0000A0A0sd000003B2* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 IDE (UK79G-1394 motherboard) + + pci:v000010DEd00000066* + ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller + + pci:v000010DEd00000066sv00001043sd000080A7* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard onboard nForce2 Ethernet ++ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (A7N8X Mainboard onboard nForce2 Ethernet) + + pci:v000010DEd00000066sv000010DEsd00000C11* +- ID_MODEL_FROM_DATABASE=nForce MCP-T Networking Adapter ++ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (nForce MCP-T Networking Adapter) + + pci:v000010DEd00000066sv0000A0A0sd000003B3* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (UK79G-1394 motherboard) + + pci:v000010DEd00000067* + ID_MODEL_FROM_DATABASE=nForce2 USB Controller + + pci:v000010DEd00000067sv00001043sd00000C11* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) + + pci:v000010DEd00000067sv0000A0A0sd000003B4* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) + + pci:v000010DEd00000068* + ID_MODEL_FROM_DATABASE=nForce2 USB Controller + + pci:v000010DEd00000068sv00001043sd00000C11* +- ID_MODEL_FROM_DATABASE=A7N8X Mainboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) + + pci:v000010DEd00000068sv0000A0A0sd000003B4* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) + + pci:v000010DEd0000006A* + ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) +@@ -21276,16 +21276,16 @@ pci:v000010DEd0000006Asv00001043sd00008095* + ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) + + pci:v000010DEd0000006Asv0000A0A0sd00000304* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) (UK79G-1394 motherboard) + + pci:v000010DEd0000006B* + ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit + + pci:v000010DEd0000006Bsv000010DEsd0000006B* +- ID_MODEL_FROM_DATABASE=nForce2 MCP Audio Processing Unit ++ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (nForce2 MCP Audio Processing Unit) + + pci:v000010DEd0000006Bsv0000A0A0sd00000304* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (UK79G-1394 motherboard) + + pci:v000010DEd0000006C* + ID_MODEL_FROM_DATABASE=nForce2 External PCI Bridge +@@ -21297,25 +21297,25 @@ pci:v000010DEd0000006E* + ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller + + pci:v000010DEd0000006Esv0000A0A0sd00000306* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller (UK79G-1394 motherboard) + + pci:v000010DEd00000080* + ID_MODEL_FROM_DATABASE=MCP2A ISA bridge + + pci:v000010DEd00000080sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A ISA bridge (NV7 Motherboard) + + pci:v000010DEd00000084* + ID_MODEL_FROM_DATABASE=MCP2A SMBus + + pci:v000010DEd00000084sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A SMBus (NV7 Motherboard) + + pci:v000010DEd00000085* + ID_MODEL_FROM_DATABASE=MCP2A IDE + + pci:v000010DEd00000085sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A IDE (NV7 Motherboard) + + pci:v000010DEd00000086* + ID_MODEL_FROM_DATABASE=MCP2A Ethernet Controller +@@ -21324,19 +21324,19 @@ pci:v000010DEd00000087* + ID_MODEL_FROM_DATABASE=MCP2A USB Controller + + pci:v000010DEd00000087sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) + + pci:v000010DEd00000088* + ID_MODEL_FROM_DATABASE=MCP2A USB Controller + + pci:v000010DEd00000088sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) + + pci:v000010DEd0000008A* + ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller + + pci:v000010DEd0000008Asv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller (NV7 Motherboard) + + pci:v000010DEd0000008B* + ID_MODEL_FROM_DATABASE=MCP2A PCI Bridge +@@ -21378,7 +21378,7 @@ pci:v000010DEd000000A0* + ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] + + pci:v000010DEd000000A0sv000014AFsd00005810* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor ++ ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] (Maxi Gamer Xentor) + + pci:v000010DEd000000C0* + ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 GS] +@@ -21459,46 +21459,46 @@ pci:v000010DEd000000DF* + ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller + + pci:v000010DEd000000DFsv00001043sd000080A7* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (K8N-E) + + pci:v000010DEd000000DFsv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000DFsv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (NF8 Mainboard) + + pci:v000010DEd000000E0* + ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge + + pci:v000010DEd000000E0sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N-E) + + pci:v000010DEd000000E0sv000010DEsd00000C11* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Winfast NF3250K8AA) + + pci:v000010DEd000000E0sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E0sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (NF8 Mainboard) + + pci:v000010DEd000000E0sv00001849sd000000E0* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Motherboard (one of many)) + + pci:v000010DEd000000E1* + ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge + + pci:v000010DEd000000E1sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N-E) + + pci:v000010DEd000000E1sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E1sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (NF8 Mainboard) + + pci:v000010DEd000000E1sv00001849sd000000E1* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (Motherboard (one of many)) + + pci:v000010DEd000000E2* + ID_MODEL_FROM_DATABASE=nForce3 250Gb AGP Host to PCI Bridge +@@ -21507,55 +21507,55 @@ pci:v000010DEd000000E3* + ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller + + pci:v000010DEd000000E3sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (K8N-E) + + pci:v000010DEd000000E3sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000E3sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (NF8 Mainboard) + + pci:v000010DEd000000E3sv00001849sd000000E3* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Motherboard (one of many)) + + pci:v000010DEd000000E4* + ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management + + pci:v000010DEd000000E4sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N-E) + + pci:v000010DEd000000E4sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Winfast NF3250K8AA) + + pci:v000010DEd000000E4sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E4sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (NF8 Mainboard) + + pci:v000010DEd000000E4sv00001849sd000000E4* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Motherboard (one of many)) + + pci:v000010DEd000000E5* + ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) + + pci:v000010DEd000000E5sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N-E) + + pci:v000010DEd000000E5sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Winfast NF3250K8AA) + + pci:v000010DEd000000E5sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E5sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (NF8 Mainboard) + + pci:v000010DEd000000E5sv00001849sd000000E5* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) + + pci:v000010DEd000000E5sv0000F849sd000000E5* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) + + pci:v000010DEd000000E6* + ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller +@@ -21564,52 +21564,52 @@ pci:v000010DEd000000E7* + ID_MODEL_FROM_DATABASE=CK8S USB Controller + + pci:v000010DEd000000E7sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N-E) + + pci:v000010DEd000000E7sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000E7sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E7sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (NF8 Mainboard) + + pci:v000010DEd000000E7sv00001849sd000000E7* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Motherboard (one of many)) + + pci:v000010DEd000000E8* + ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller + + pci:v000010DEd000000E8sv00001043sd0000813F* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N-E) + + pci:v000010DEd000000E8sv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000E8sv00001462sd00007030* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N Neo-FSR v2.0) + + pci:v000010DEd000000E8sv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (NF8 Mainboard) + + pci:v000010DEd000000E8sv00001849sd000000E8* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Motherboard (one of many)) + + pci:v000010DEd000000EA* + ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller + + pci:v000010DEd000000EAsv00001043sd0000819D* +- ID_MODEL_FROM_DATABASE=K8N-E ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N-E) + + pci:v000010DEd000000EAsv0000105Bsd00000C43* +- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (Winfast NF3250K8AA) + + pci:v000010DEd000000EAsv00001462sd0000B010* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N Neo-FSR v2.0) + + pci:v000010DEd000000EAsv0000147Bsd00001C0B* +- ID_MODEL_FROM_DATABASE=NF8 Mainboard ++ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (NF8 Mainboard) + + pci:v000010DEd000000ED* + ID_MODEL_FROM_DATABASE=nForce3 250Gb PCI-to-PCI Bridge +@@ -21621,28 +21621,28 @@ pci:v000010DEd000000F1* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] + + pci:v000010DEd000000F1sv00001043sd000081A6* +- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) + + pci:v000010DEd000000F1sv00001043sd000081C6* +- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) + + pci:v000010DEd000000F1sv00001458sd00003150* +- ID_MODEL_FROM_DATABASE=GV-N66T128VP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-N66T128VP) + + pci:v000010DEd000000F1sv00001554sd00001191* +- ID_MODEL_FROM_DATABASE=PixelView PV-N43UA (128KD) ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (PixelView PV-N43UA (128KD)) + + pci:v000010DEd000000F1sv00001682sd00002119* +- ID_MODEL_FROM_DATABASE=GeForce 6600 GT AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GeForce 6600 GT AGP) + + pci:v000010DEd000000F2* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] + + pci:v000010DEd000000F2sv00001554sd00001194* +- ID_MODEL_FROM_DATABASE=PixelView PV-N43AT (256KD) ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (PixelView PV-N43AT (256KD)) + + pci:v000010DEd000000F2sv00001682sd0000211C* +- ID_MODEL_FROM_DATABASE=GeForce 6600 256MB DDR DUAL DVI TV ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GeForce 6600 256MB DDR DUAL DVI TV) + + pci:v000010DEd000000F3* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6200] +@@ -21657,7 +21657,7 @@ pci:v000010DEd000000F6* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] + + pci:v000010DEd000000F6sv00001682sd0000217E* +- ID_MODEL_FROM_DATABASE=XFX GeForce 6800 XTreme 256MB DDR3 AGP ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] (XFX GeForce 6800 XTreme 256MB DDR3 AGP) + + pci:v000010DEd000000F8* + ID_MODEL_FROM_DATABASE=NV40GL [Quadro FX 3400/4400] +@@ -21666,10 +21666,10 @@ pci:v000010DEd000000F9* + ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] + + pci:v000010DEd000000F9sv000010DEsd000000F9* +- ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (NV40 [GeForce 6800 GT]) + + pci:v000010DEd000000F9sv00001682sd00002120* +- ID_MODEL_FROM_DATABASE=GEFORCE 6800 GT PCI-E ++ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (GEFORCE 6800 GT PCI-E) + + pci:v000010DEd000000FA* + ID_MODEL_FROM_DATABASE=NV36 [GeForce PCX 5750] +@@ -21693,130 +21693,130 @@ pci:v000010DEd00000100* + ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] + + pci:v000010DEd00000100sv00001043sd00000200* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) + + pci:v000010DEd00000100sv00001043sd00000201* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) + + pci:v000010DEd00000100sv00001043sd00004008* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) + + pci:v000010DEd00000100sv00001043sd00004009* +- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) + + pci:v000010DEd00000100sv00001048sd00000C41* +- ID_MODEL_FROM_DATABASE=Erazor X ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Erazor X) + + pci:v000010DEd00000100sv00001048sd00000C43* +- ID_MODEL_FROM_DATABASE=ERAZOR X PCI ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (ERAZOR X PCI) + + pci:v000010DEd00000100sv00001048sd00000C48* +- ID_MODEL_FROM_DATABASE=Synergy Force ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Synergy Force) + + pci:v000010DEd00000100sv00001102sd0000102D* +- ID_MODEL_FROM_DATABASE=CT6941 GeForce 256 ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (CT6941 GeForce 256) + + pci:v000010DEd00000100sv000014AFsd00005022* +- ID_MODEL_FROM_DATABASE=3D Prophet SE ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (3D Prophet SE) + + pci:v000010DEd00000101* + ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] + + pci:v000010DEd00000101sv00001043sd00000202* +- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR) + + pci:v000010DEd00000101sv00001043sd0000400A* +- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SGRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SGRAM) + + pci:v000010DEd00000101sv00001043sd0000400B* +- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SDRAM ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SDRAM) + + pci:v000010DEd00000101sv00001048sd00000C42* +- ID_MODEL_FROM_DATABASE=Erazor X ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (Erazor X) + + pci:v000010DEd00000101sv0000107Dsd00002822* +- ID_MODEL_FROM_DATABASE=WinFast GeForce 256 ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (WinFast GeForce 256) + + pci:v000010DEd00000101sv00001102sd0000102E* +- ID_MODEL_FROM_DATABASE=CT6970/CT6971 ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (CT6970/CT6971) + + pci:v000010DEd00000101sv000014AFsd00005021* +- ID_MODEL_FROM_DATABASE=3D Prophet DDR-DVI ++ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (3D Prophet DDR-DVI) + + pci:v000010DEd00000103* + ID_MODEL_FROM_DATABASE=NV10GL [Quadro] + + pci:v000010DEd00000103sv00001048sd00000C40* +- ID_MODEL_FROM_DATABASE=GLoria II-64 ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64) + + pci:v000010DEd00000103sv00001048sd00000C44* +- ID_MODEL_FROM_DATABASE=GLoria II ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) + + pci:v000010DEd00000103sv00001048sd00000C45* +- ID_MODEL_FROM_DATABASE=GLoria II ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) + + pci:v000010DEd00000103sv00001048sd00000C4A* +- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro) + + pci:v000010DEd00000103sv00001048sd00000C4B* +- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro DVII ++ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro DVII) + + pci:v000010DEd00000110* + ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] + + pci:v000010DEd00000110sv00001043sd00004015* +- ID_MODEL_FROM_DATABASE=AGP-V7100 Pro ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (AGP-V7100 Pro) + + pci:v000010DEd00000110sv00001043sd00004021* +- ID_MODEL_FROM_DATABASE=V7100 Deluxe Combo ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Deluxe Combo) + + pci:v000010DEd00000110sv00001043sd00004031* +- ID_MODEL_FROM_DATABASE=V7100 Pro with TV output ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Pro with TV output) + + pci:v000010DEd00000110sv00001048sd00000C60* +- ID_MODEL_FROM_DATABASE=Gladiac MX ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac MX) + + pci:v000010DEd00000110sv00001048sd00000C61* +- ID_MODEL_FROM_DATABASE=Gladiac 511PCI ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511PCI) + + pci:v000010DEd00000110sv00001048sd00000C63* +- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 32MB ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 32MB) + + pci:v000010DEd00000110sv00001048sd00000C64* +- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 64MB ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 64MB) + + pci:v000010DEd00000110sv00001048sd00000C65* +- ID_MODEL_FROM_DATABASE=Gladiac 511TWIN ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TWIN) + + pci:v000010DEd00000110sv00001048sd00000C66* +- ID_MODEL_FROM_DATABASE=Gladiac 311 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 311) + + pci:v000010DEd00000110sv000010B0sd00000001* +- ID_MODEL_FROM_DATABASE=GeForce2 MX Jumbo TV ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (GeForce2 MX Jumbo TV) + + pci:v000010DEd00000110sv000010DEsd00000091* +- ID_MODEL_FROM_DATABASE=Dell OEM GeForce 2 MX 400 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Dell OEM GeForce 2 MX 400) + + pci:v000010DEd00000110sv000010DEsd000000A1* +- ID_MODEL_FROM_DATABASE=Apple OEM GeForce2 MX ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Apple OEM GeForce2 MX) + + pci:v000010DEd00000110sv00001462sd00008523* +- ID_MODEL_FROM_DATABASE=MS-8852 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MS-8852) + + pci:v000010DEd00000110sv00001462sd00008817* +- ID_MODEL_FROM_DATABASE=MSI GeForce2 MX400 Pro32S [MS-8817] ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MSI GeForce2 MX400 Pro32S [MS-8817]) + + pci:v000010DEd00000110sv000014AFsd00007102* +- ID_MODEL_FROM_DATABASE=3D Prophet II MX ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX) + + pci:v000010DEd00000110sv000014AFsd00007103* +- ID_MODEL_FROM_DATABASE=3D Prophet II MX Dual-Display ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX Dual-Display) + + pci:v000010DEd00000110sv00001545sd00000023* +- ID_MODEL_FROM_DATABASE=Xtasy Rev. B2 ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Xtasy Rev. B2) + + pci:v000010DEd00000110sv00001554sd00001081* +- ID_MODEL_FROM_DATABASE=MVGA-NVG11AM(400) ++ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MVGA-NVG11AM(400)) + + pci:v000010DEd00000111* + ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX200] +@@ -21831,28 +21831,28 @@ pci:v000010DEd00000140* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] + + pci:v000010DEd00000140sv00001458sd00003125* +- ID_MODEL_FROM_DATABASE=GV-NX66T128D ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T128D) + + pci:v000010DEd00000140sv00001458sd00003126* +- ID_MODEL_FROM_DATABASE=GV-NX66T256DE ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T256DE) + + pci:v000010DEd00000140sv00001462sd00008939* +- ID_MODEL_FROM_DATABASE=MS-8983 ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (MS-8983) + + pci:v000010DEd00000141* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] + + pci:v000010DEd00000141sv00001043sd000081B0* +- ID_MODEL_FROM_DATABASE=EN6600 Silencer ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (EN6600 Silencer) + + pci:v000010DEd00000141sv0000107Dsd0000593A* +- ID_MODEL_FROM_DATABASE=LR2A22 128MB TV OUT ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (LR2A22 128MB TV OUT) + + pci:v000010DEd00000141sv0000107Dsd0000597B* +- ID_MODEL_FROM_DATABASE=WINFAST PX6600 ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (WINFAST PX6600) + + pci:v000010DEd00000141sv00001458sd00003124* +- ID_MODEL_FROM_DATABASE=GV-NX66128DP Turbo Force Edition ++ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GV-NX66128DP Turbo Force Edition) + + pci:v000010DEd00000142* + ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 LE] +@@ -21897,49 +21897,49 @@ pci:v000010DEd00000150* + ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] + + pci:v000010DEd00000150sv00001043sd00004016* +- ID_MODEL_FROM_DATABASE=V7700 AGP Video Card ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (V7700 AGP Video Card) + + pci:v000010DEd00000150sv00001043sd0000402A* +- ID_MODEL_FROM_DATABASE=AGP-V7700 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (AGP-V7700) + + pci:v000010DEd00000150sv00001048sd00000C50* +- ID_MODEL_FROM_DATABASE=Gladiac ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac) + + pci:v000010DEd00000150sv00001048sd00000C52* +- ID_MODEL_FROM_DATABASE=Gladiac-64 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac-64) + + pci:v000010DEd00000150sv0000107Dsd00002840* +- ID_MODEL_FROM_DATABASE=WinFast GeForce2 GTS with TV output ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce2 GTS with TV output) + + pci:v000010DEd00000150sv0000107Dsd00002842* +- ID_MODEL_FROM_DATABASE=WinFast GeForce 2 Pro ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce 2 Pro) + + pci:v000010DEd00000150sv000010DEsd0000002E* +- ID_MODEL_FROM_DATABASE=GeForce2 GTS ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (GeForce2 GTS) + + pci:v000010DEd00000150sv00001462sd0000815A* +- ID_MODEL_FROM_DATABASE=MS-8815 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (MS-8815) + + pci:v000010DEd00000150sv00001462sd00008831* +- ID_MODEL_FROM_DATABASE=Creative GeForce2 Pro ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Creative GeForce2 Pro) + + pci:v000010DEd00000151* + ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] + + pci:v000010DEd00000151sv00001043sd0000405F* +- ID_MODEL_FROM_DATABASE=V7700Ti ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (V7700Ti) + + pci:v000010DEd00000151sv00001462sd00005506* +- ID_MODEL_FROM_DATABASE=Creative 3D Blaster GeForce2 Titanium ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (Creative 3D Blaster GeForce2 Titanium) + + pci:v000010DEd00000151sv00001462sd00008364* +- ID_MODEL_FROM_DATABASE=MS-8836 ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (MS-8836) + + pci:v000010DEd00000152* + ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] + + pci:v000010DEd00000152sv00001048sd00000C56* +- ID_MODEL_FROM_DATABASE=GLADIAC Ultra ++ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] (GLADIAC Ultra) + + pci:v000010DEd00000153* + ID_MODEL_FROM_DATABASE=NV15GL [Quadro2 Pro] +@@ -21990,40 +21990,40 @@ pci:v000010DEd00000170* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] + + pci:v000010DEd00000170sv00001462sd00008630* +- ID_MODEL_FROM_DATABASE=MS-8863 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] (MS-8863) + + pci:v000010DEd00000171* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] + + pci:v000010DEd00000171sv000010B0sd00000002* +- ID_MODEL_FROM_DATABASE=Gainward Pro/600 TV ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Gainward Pro/600 TV) + + pci:v000010DEd00000171sv000010DEsd00000008* +- ID_MODEL_FROM_DATABASE=Apple OEM GeForce4 MX 440 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Apple OEM GeForce4 MX 440) + + pci:v000010DEd00000171sv00001462sd00008661* +- ID_MODEL_FROM_DATABASE=G4MX440-VTP ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (G4MX440-VTP) + + pci:v000010DEd00000171sv00001462sd00008730* +- ID_MODEL_FROM_DATABASE=MX440SES-T (MS-8873) ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MX440SES-T (MS-8873)) + + pci:v000010DEd00000171sv00001462sd00008743* +- ID_MODEL_FROM_DATABASE=MS-8874 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MS-8874) + + pci:v000010DEd00000171sv00001462sd00008852* +- ID_MODEL_FROM_DATABASE=GeForce4 MX440 PCI ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (GeForce4 MX440 PCI) + + pci:v000010DEd00000171sv0000147Bsd00008F00* +- ID_MODEL_FROM_DATABASE=Abit Siluro GeForce4MX440 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Abit Siluro GeForce4MX440) + + pci:v000010DEd00000172* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] + + pci:v000010DEd00000172sv00001462sd00008730* +- ID_MODEL_FROM_DATABASE=MS-8873 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8873) + + pci:v000010DEd00000172sv00001462sd00008784* +- ID_MODEL_FROM_DATABASE=MS-8878 ++ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8878) + + pci:v000010DEd00000173* + ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440-SE] +@@ -22038,13 +22038,13 @@ pci:v000010DEd00000176* + ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] + + pci:v000010DEd00000176sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (tc1100 tablet) + + pci:v000010DEd00000176sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (X10 Laptop) + + pci:v000010DEd00000176sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (Cx9 / Vx9 mainboard) + + pci:v000010DEd00000177* + ID_MODEL_FROM_DATABASE=NV17M [GeForce4 460 Go] +@@ -22056,7 +22056,7 @@ pci:v000010DEd00000179* + ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] + + pci:v000010DEd00000179sv000010DEsd00000179* +- ID_MODEL_FROM_DATABASE=GeForce4 MX (Mac) ++ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] (GeForce4 MX (Mac)) + + pci:v000010DEd0000017A* + ID_MODEL_FROM_DATABASE=NV17GL [Quadro NVS] +@@ -22074,25 +22074,25 @@ pci:v000010DEd00000181* + ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] + + pci:v000010DEd00000181sv00001043sd00008063* +- ID_MODEL_FROM_DATABASE=GeForce4 MX 440 AGP 8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (GeForce4 MX 440 AGP 8X) + + pci:v000010DEd00000181sv00001043sd0000806F* +- ID_MODEL_FROM_DATABASE=V9180 Magic ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (V9180 Magic) + + pci:v000010DEd00000181sv00001462sd00008880* +- ID_MODEL_FROM_DATABASE=MS-StarForce GeForce4 MX 440 with AGP8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-StarForce GeForce4 MX 440 with AGP8X) + + pci:v000010DEd00000181sv00001462sd00008900* +- ID_MODEL_FROM_DATABASE=MS-8890 GeForce 4 MX440 AGP8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-8890 GeForce 4 MX440 AGP8X) + + pci:v000010DEd00000181sv00001462sd00009350* +- ID_MODEL_FROM_DATABASE=MSI GeForce4 MX T8X with AGP8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MSI GeForce4 MX T8X with AGP8X) + + pci:v000010DEd00000181sv0000147Bsd00008F0D* +- ID_MODEL_FROM_DATABASE=Siluro GF4 MX-8X ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (Siluro GF4 MX-8X) + + pci:v000010DEd00000181sv00001554sd00001111* +- ID_MODEL_FROM_DATABASE=PixelView MVGA-NVG18A ++ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (PixelView MVGA-NVG18A) + + pci:v000010DEd00000182* + ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440SE AGP 8x] +@@ -22146,7 +22146,7 @@ pci:v000010DEd00000193* + ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] + + pci:v000010DEd00000193sv0000107Dsd000020BD* +- ID_MODEL_FROM_DATABASE=WinFast PX 8800 GTS TDH ++ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] (WinFast PX 8800 GTS TDH) + + pci:v000010DEd00000194* + ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 Ultra] +@@ -22212,13 +22212,13 @@ pci:v000010DEd000001D1* + ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] + + pci:v000010DEd000001D1sv0000107Dsd00005EFA* +- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD128 ++ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD128) + + pci:v000010DEd000001D1sv0000107Dsd00005EFB* +- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD256 ++ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD256) + + pci:v000010DEd000001D1sv00001462sd00000345* +- ID_MODEL_FROM_DATABASE=7300LE PCI Express Graphics Adapter ++ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (7300LE PCI Express Graphics Adapter) + + pci:v000010DEd000001D2* + ID_MODEL_FROM_DATABASE=G72 [GeForce 7550 LE] +@@ -22239,7 +22239,7 @@ pci:v000010DEd000001D8* + ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] + + pci:v000010DEd000001D8sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] (XPS M1210) + + pci:v000010DEd000001D9* + ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7450] +@@ -22260,7 +22260,7 @@ pci:v000010DEd000001DE* + ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] + + pci:v000010DEd000001DEsv000010DEsd000001DC* +- ID_MODEL_FROM_DATABASE=Quadro FX Go350M ++ ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] (Quadro FX Go350M) + + pci:v000010DEd000001DF* + ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 GS] +@@ -22269,7 +22269,7 @@ pci:v000010DEd000001E0* + ID_MODEL_FROM_DATABASE=nForce2 IGP2 + + pci:v000010DEd000001E0sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 IGP2 (NV7 Motherboard) + + pci:v000010DEd000001E8* + ID_MODEL_FROM_DATABASE=nForce2 AGP +@@ -22278,55 +22278,55 @@ pci:v000010DEd000001EA* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 + + pci:v000010DEd000001EAsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 (UK79G-1394 motherboard) + + pci:v000010DEd000001EB* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 + + pci:v000010DEd000001EBsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 (UK79G-1394 motherboard) + + pci:v000010DEd000001EC* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 + + pci:v000010DEd000001ECsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 (UK79G-1394 motherboard) + + pci:v000010DEd000001ED* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 + + pci:v000010DEd000001EDsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 (UK79G-1394 motherboard) + + pci:v000010DEd000001EE* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 + + pci:v000010DEd000001EEsv000010DEsd000001EE* +- ID_MODEL_FROM_DATABASE=MSI Delta-L nForce2 memory controller ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (MSI Delta-L nForce2 memory controller) + + pci:v000010DEd000001EEsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (UK79G-1394 motherboard) + + pci:v000010DEd000001EF* + ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 + + pci:v000010DEd000001EFsv0000A0A0sd000003B9* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 (UK79G-1394 motherboard) + + pci:v000010DEd000001F0* + ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] + + pci:v000010DEd000001F0sv0000A0A0sd000003B5* +- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard ++ ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] (UK79G-1394 motherboard) + + pci:v000010DEd00000200* + ID_MODEL_FROM_DATABASE=NV20 [GeForce3] + + pci:v000010DEd00000200sv00001043sd0000402F* +- ID_MODEL_FROM_DATABASE=AGP-V8200 DDR ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (AGP-V8200 DDR) + + pci:v000010DEd00000200sv00001048sd00000C70* +- ID_MODEL_FROM_DATABASE=GLADIAC 920 ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (GLADIAC 920) + + pci:v000010DEd00000201* + ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 200] +@@ -22335,10 +22335,10 @@ pci:v000010DEd00000202* + ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] + + pci:v000010DEd00000202sv00001043sd0000405B* +- ID_MODEL_FROM_DATABASE=V8200 T5 ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (V8200 T5) + + pci:v000010DEd00000202sv00001545sd0000002F* +- ID_MODEL_FROM_DATABASE=Xtasy 6964 ++ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (Xtasy 6964) + + pci:v000010DEd00000203* + ID_MODEL_FROM_DATABASE=NV20GL [Quadro DCC] +@@ -22359,10 +22359,10 @@ pci:v000010DEd00000221* + ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] + + pci:v000010DEd00000221sv00001043sd000081E1* +- ID_MODEL_FROM_DATABASE=N6200/TD/256M/A ++ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (N6200/TD/256M/A) + + pci:v000010DEd00000221sv00003842sd0000A341* +- ID_MODEL_FROM_DATABASE=256A8N341DX ++ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (256A8N341DX) + + pci:v000010DEd00000222* + ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 A-LE] +@@ -22374,10 +22374,10 @@ pci:v000010DEd00000240* + ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] + + pci:v000010DEd00000240sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM ++ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (A8N-VM CSM) + + pci:v000010DEd00000240sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (K8NGM2 series) + + pci:v000010DEd00000241* + ID_MODEL_FROM_DATABASE=C51 [GeForce 6150 LE] +@@ -22386,7 +22386,7 @@ pci:v000010DEd00000242* + ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] + + pci:v000010DEd00000242sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] (Winfast 6100K8MB) + + pci:v000010DEd00000243* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge +@@ -22395,13 +22395,13 @@ pci:v000010DEd00000244* + ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] + + pci:v000010DEd00000244sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V3242AU) + + pci:v000010DEd00000244sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V6133CL) + + pci:v000010DEd00000244sv000010DEsd00000244* +- ID_MODEL_FROM_DATABASE=GeForce Go 6150 ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (GeForce Go 6150) + + pci:v000010DEd00000245* + ID_MODEL_FROM_DATABASE=C51 [Quadro NVS 210S/GeForce 6150LE] +@@ -22413,7 +22413,7 @@ pci:v000010DEd00000247* + ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] + + pci:v000010DEd00000247sv00001043sd00001382* +- ID_MODEL_FROM_DATABASE=MCP51 PCI-X GeForce Go 6100 ++ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] (MCP51 PCI-X GeForce Go 6100) + + pci:v000010DEd00000248* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge +@@ -22446,13 +22446,13 @@ pci:v000010DEd00000251* + ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] + + pci:v000010DEd00000251sv00001043sd00008023* +- ID_MODEL_FROM_DATABASE=v8440 GeForce 4 Ti4400 ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (v8440 GeForce 4 Ti4400) + + pci:v000010DEd00000251sv000010DEsd00000251* +- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) + + pci:v000010DEd00000251sv00001462sd00008710* +- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) + + pci:v000010DEd00000252* + ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti] +@@ -22461,10 +22461,10 @@ pci:v000010DEd00000253* + ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] + + pci:v000010DEd00000253sv0000107Dsd00002896* +- ID_MODEL_FROM_DATABASE=WinFast A250 LE TD (Dual VGA/TV-out/DVI) ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (WinFast A250 LE TD (Dual VGA/TV-out/DVI)) + + pci:v000010DEd00000253sv0000147Bsd00008F09* +- ID_MODEL_FROM_DATABASE=Siluro (Dual VGA/TV-out/DVI) ++ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (Siluro (Dual VGA/TV-out/DVI)) + + pci:v000010DEd00000258* + ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 900 XGL] +@@ -22479,25 +22479,25 @@ pci:v000010DEd00000260* + ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge + + pci:v000010DEd00000260sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Pavilion a1677c) + + pci:v000010DEd00000260sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Presario V6133CL) + + pci:v000010DEd00000260sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd00000260sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (GA-M55plus-S3G) + + pci:v000010DEd00000260sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (K8NGM2 series) + + pci:v000010DEd00000261* + ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge + + pci:v000010DEd00000261sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Winfast 6100K8MB) + + pci:v000010DEd00000262* + ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge +@@ -22509,64 +22509,64 @@ pci:v000010DEd00000264* + ID_MODEL_FROM_DATABASE=MCP51 SMBus + + pci:v000010DEd00000264sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Pavilion a1677c) + + pci:v000010DEd00000264sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Presario V6133CL) + + pci:v000010DEd00000264sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (A8N-VM CSM Mainboard) + + pci:v000010DEd00000264sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Winfast 6100K8MB) + + pci:v000010DEd00000264sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 SMBus (K8NGM2 series) + + pci:v000010DEd00000265* + ID_MODEL_FROM_DATABASE=MCP51 IDE + + pci:v000010DEd00000265sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (Pavilion a1677c) + + pci:v000010DEd00000265sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (Presario V6133CL) + + pci:v000010DEd00000265sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (A8N-VM CSM Mainboard) + + pci:v000010DEd00000265sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (K8NGM2 series) + + pci:v000010DEd00000265sv0000F05Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 IDE (Winfast 6100K8MB) + + pci:v000010DEd00000266* + ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller + + pci:v000010DEd00000266sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) + + pci:v000010DEd00000266sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Presario V6133CL) + + pci:v000010DEd00000266sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd00000266sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) + + pci:v000010DEd00000267* + ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller + + pci:v000010DEd00000267sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) + + pci:v000010DEd00000267sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd00000267sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) + + pci:v000010DEd00000268* + ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller +@@ -22575,16 +22575,16 @@ pci:v000010DEd00000269* + ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller + + pci:v000010DEd00000269sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Pavilion a1677c) + + pci:v000010DEd00000269sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Presario V6133CL) + + pci:v000010DEd00000269sv00001043sd00008141* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd00000269sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (K8NGM2 series) + + pci:v000010DEd0000026A* + ID_MODEL_FROM_DATABASE=MCP51 MCI +@@ -22593,142 +22593,142 @@ pci:v000010DEd0000026B* + ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller + + pci:v000010DEd0000026Bsv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller (Winfast 6100K8MB) + + pci:v000010DEd0000026C* + ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio + + pci:v000010DEd0000026Csv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Pavilion a1677c) + + pci:v000010DEd0000026Csv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V3242AU) + + pci:v000010DEd0000026Csv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V6133CL) + + pci:v000010DEd0000026Csv000010DEsd0000CB84* +- ID_MODEL_FROM_DATABASE=ASUSTeK Computer Inc. A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (ASUSTeK Computer Inc. A8N-VM CSM Mainboard) + + pci:v000010DEd0000026Csv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (K8NGM2 series) + + pci:v000010DEd0000026D* + ID_MODEL_FROM_DATABASE=MCP51 USB Controller + + pci:v000010DEd0000026Dsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) + + pci:v000010DEd0000026Dsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) + + pci:v000010DEd0000026Dsv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd0000026Dsv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) + + pci:v000010DEd0000026Dsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) + + pci:v000010DEd0000026E* + ID_MODEL_FROM_DATABASE=MCP51 USB Controller + + pci:v000010DEd0000026Esv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) + + pci:v000010DEd0000026Esv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) + + pci:v000010DEd0000026Esv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) + + pci:v000010DEd0000026Esv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) + + pci:v000010DEd0000026Esv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) + + pci:v000010DEd0000026F* + ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge + + pci:v000010DEd0000026Fsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge (Presario V6133CL) + + pci:v000010DEd00000270* + ID_MODEL_FROM_DATABASE=MCP51 Host Bridge + + pci:v000010DEd00000270sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Pavilion a1677c) + + pci:v000010DEd00000270sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Presario V6133CL) + + pci:v000010DEd00000270sv00001043sd000081BC* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd00000270sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Winfast 6100K8MB) + + pci:v000010DEd00000270sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (GA-M55plus-S3G) + + pci:v000010DEd00000270sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (K8NGM2 series) + + pci:v000010DEd00000271* + ID_MODEL_FROM_DATABASE=MCP51 PMU + + pci:v000010DEd00000271sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V3242AU) + + pci:v000010DEd00000271sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V6133CL) + + pci:v000010DEd00000272* + ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 + + pci:v000010DEd00000272sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Pavilion a1677c) + + pci:v000010DEd00000272sv0000105Bsd00000CAD* +- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB ++ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Winfast 6100K8MB) + + pci:v000010DEd0000027E* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 + + pci:v000010DEd0000027Esv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Pavilion a1677c) + + pci:v000010DEd0000027Esv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Presario V6133CL) + + pci:v000010DEd0000027Esv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (A8N-VM CSM Mainboard) + + pci:v000010DEd0000027Esv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (GA-M55plus-S3G) + + pci:v000010DEd0000027Esv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (K8NGM2 series) + + pci:v000010DEd0000027F* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 + + pci:v000010DEd0000027Fsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Pavilion a1677c) + + pci:v000010DEd0000027Fsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Presario V6133CL) + + pci:v000010DEd0000027Fsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (A8N-VM CSM Mainboard) + + pci:v000010DEd0000027Fsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (GA-M55plus-S3G) + + pci:v000010DEd0000027Fsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (K8NGM2 series) + + pci:v000010DEd00000280* + ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4800] +@@ -22758,7 +22758,7 @@ pci:v000010DEd00000291* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] + + pci:v000010DEd00000291sv000010DEsd0000042B* +- ID_MODEL_FROM_DATABASE=NX7900GTO-T2D512E [7900 GTO] ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] (NX7900GTO-T2D512E [7900 GTO]) + + pci:v000010DEd00000292* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GS] +@@ -22773,13 +22773,13 @@ pci:v000010DEd00000295* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] + + pci:v000010DEd00000295sv00001043sd00008225* +- ID_MODEL_FROM_DATABASE=GeForce 7950 GT ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (GeForce 7950 GT) + + pci:v000010DEd00000295sv0000107Dsd00002A68* +- ID_MODEL_FROM_DATABASE=WinFast PX7950GT TDH ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (WinFast PX7950GT TDH) + + pci:v000010DEd00000295sv00001462sd00000663* +- ID_MODEL_FROM_DATABASE=NX7950GT-VT2D512EZ-HD ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (NX7950GT-VT2D512EZ-HD) + + pci:v000010DEd00000297* + ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7950 GTX] +@@ -22803,7 +22803,7 @@ pci:v000010DEd0000029D* + ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] + + pci:v000010DEd0000029Dsv00001028sd0000019B* +- ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 3500M] ++ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] (G71GLM [Quadro FX 3500M]) + + pci:v000010DEd0000029E* + ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 1500] +@@ -22824,16 +22824,16 @@ pci:v000010DEd000002E0* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] + + pci:v000010DEd000002E0sv000002E0sd00002249* +- ID_MODEL_FROM_DATABASE=GF 7600GT 560M 256MB DDR3 DUAL DVI TV ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GF 7600GT 560M 256MB DDR3 DUAL DVI TV) + + pci:v000010DEd000002E1* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] + + pci:v000010DEd000002E1sv00001682sd0000222B* +- ID_MODEL_FROM_DATABASE=PV-T73K-UAL3 (256MB) ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (PV-T73K-UAL3 (256MB)) + + pci:v000010DEd000002E1sv00001682sd00002247* +- ID_MODEL_FROM_DATABASE=GF 7600GS 512MB DDR2 ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (GF 7600GS 512MB DDR2) + + pci:v000010DEd000002E2* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] +@@ -22845,28 +22845,28 @@ pci:v000010DEd000002E4* + ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] + + pci:v000010DEd000002E4sv00001682sd00002271* +- ID_MODEL_FROM_DATABASE=PV-T71A-YDF7 (512MB) ++ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (PV-T71A-YDF7 (512MB)) + + pci:v000010DEd000002F0* + ID_MODEL_FROM_DATABASE=C51 Host Bridge + + pci:v000010DEd000002F0sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) + + pci:v000010DEd000002F0sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) + + pci:v000010DEd000002F0sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd000002F0sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) + + pci:v000010DEd000002F1* + ID_MODEL_FROM_DATABASE=C51 Host Bridge + + pci:v000010DEd000002F1sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) + + pci:v000010DEd000002F2* + ID_MODEL_FROM_DATABASE=C51 Host Bridge +@@ -22890,55 +22890,55 @@ pci:v000010DEd000002F8* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 + + pci:v000010DEd000002F8sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Pavilion a1677c) + + pci:v000010DEd000002F8sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Presario V6133CL) + + pci:v000010DEd000002F8sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002F8sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (GA-M55plus-S3G) + + pci:v000010DEd000002F8sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (K8NGM2 series) + + pci:v000010DEd000002F9* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 + + pci:v000010DEd000002F9sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Pavilion a1677c) + + pci:v000010DEd000002F9sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Presario V6133CL) + + pci:v000010DEd000002F9sv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002F9sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (GA-M55plus-S3G) + + pci:v000010DEd000002F9sv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (K8NGM2 series) + + pci:v000010DEd000002FA* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 + + pci:v000010DEd000002FAsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Pavilion a1677c) + + pci:v000010DEd000002FAsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Presario V6133CL) + + pci:v000010DEd000002FAsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002FAsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (GA-M55plus-S3G) + + pci:v000010DEd000002FAsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (K8NGM2 series) + + pci:v000010DEd000002FB* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge +@@ -22947,49 +22947,49 @@ pci:v000010DEd000002FC* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge + + pci:v000010DEd000002FCsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) + + pci:v000010DEd000002FD* + ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge + + pci:v000010DEd000002FDsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) + + pci:v000010DEd000002FE* + ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 + + pci:v000010DEd000002FEsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Pavilion a1677c) + + pci:v000010DEd000002FEsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Presario V6133CL) + + pci:v000010DEd000002FEsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (A8N-VM CSM Mainboard) + + pci:v000010DEd000002FEsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (GA-M55plus-S3G) + + pci:v000010DEd000002FEsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (K8NGM2 series) + + pci:v000010DEd000002FF* + ID_MODEL_FROM_DATABASE=C51 Host Bridge + + pci:v000010DEd000002FFsv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) + + pci:v000010DEd000002FFsv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) + + pci:v000010DEd000002FFsv00001043sd000081CD* +- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) + + pci:v000010DEd000002FFsv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) + + pci:v000010DEd000002FFsv00001462sd00007207* +- ID_MODEL_FROM_DATABASE=K8NGM2 series ++ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) + + pci:v000010DEd00000300* + ID_MODEL_FROM_DATABASE=NV30 [GeForce FX] +@@ -23016,7 +23016,7 @@ pci:v000010DEd00000314* + ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] + + pci:v000010DEd00000314sv00001043sd0000814A* +- ID_MODEL_FROM_DATABASE=V9560XT/TD ++ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] (V9560XT/TD) + + pci:v000010DEd00000316* + ID_MODEL_FROM_DATABASE=NV31M +@@ -23043,25 +23043,25 @@ pci:v000010DEd00000322* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] + + pci:v000010DEd00000322sv00001043sd000002FB* +- ID_MODEL_FROM_DATABASE=V9250 Magic ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9250 Magic) + + pci:v000010DEd00000322sv00001043sd00008180* +- ID_MODEL_FROM_DATABASE=V9520-X/TD/128M ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9520-X/TD/128M) + + pci:v000010DEd00000322sv0000107Dsd00002967* +- ID_MODEL_FROM_DATABASE=WinFast A340T 128MB ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (WinFast A340T 128MB) + + pci:v000010DEd00000322sv00001462sd00009110* +- ID_MODEL_FROM_DATABASE=MS-8911 (FX5200-TD128) ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8911 (FX5200-TD128)) + + pci:v000010DEd00000322sv00001462sd00009171* +- ID_MODEL_FROM_DATABASE=MS-8917 (FX5200-T128) ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8917 (FX5200-T128)) + + pci:v000010DEd00000322sv00001462sd00009360* +- ID_MODEL_FROM_DATABASE=MS-8936 (FX5200-T128) ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8936 (FX5200-T128)) + + pci:v000010DEd00000322sv00001682sd00001351* +- ID_MODEL_FROM_DATABASE=GeForce FX 5200 ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (GeForce FX 5200) + + pci:v000010DEd00000323* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200LE] +@@ -23070,13 +23070,13 @@ pci:v000010DEd00000324* + ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] + + pci:v000010DEd00000324sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Inspiron 5160) + + pci:v000010DEd00000324sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=Pavilion ZD7000 laptop ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Pavilion ZD7000 laptop) + + pci:v000010DEd00000324sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (MIM2000) + + pci:v000010DEd00000325* + ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5250] +@@ -23085,10 +23085,10 @@ pci:v000010DEd00000326* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] + + pci:v000010DEd00000326sv00001458sd0000310D* +- ID_MODEL_FROM_DATABASE=GeForce FX 5500 128 MB ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce FX 5500 128 MB) + + pci:v000010DEd00000326sv00001682sd00002034* +- ID_MODEL_FROM_DATABASE=GeForce 5500 256 MB ++ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce 5500 256 MB) + + pci:v000010DEd00000327* + ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5100] +@@ -23100,7 +23100,7 @@ pci:v000010DEd00000329* + ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] + + pci:v000010DEd00000329sv000010DEsd00000010* +- ID_MODEL_FROM_DATABASE=Powerbook G4 ++ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] (Powerbook G4) + + pci:v000010DEd0000032A* + ID_MODEL_FROM_DATABASE=NV34GL [Quadro NVS 280 PCI] +@@ -23124,13 +23124,13 @@ pci:v000010DEd00000330* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] + + pci:v000010DEd00000330sv00001043sd00008137* +- ID_MODEL_FROM_DATABASE=V9950 Ultra / 256 MB ++ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] (V9950 Ultra / 256 MB) + + pci:v000010DEd00000331* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] + + pci:v000010DEd00000331sv00001043sd00008145* +- ID_MODEL_FROM_DATABASE=V9950GE ++ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] (V9950GE) + + pci:v000010DEd00000332* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900XT] +@@ -23142,7 +23142,7 @@ pci:v000010DEd00000334* + ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] + + pci:v000010DEd00000334sv00001462sd00009373* +- ID_MODEL_FROM_DATABASE=FX5900ZT-VTD128 (MS-8937) ++ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] (FX5900ZT-VTD128 (MS-8937)) + + pci:v000010DEd00000338* + ID_MODEL_FROM_DATABASE=NV35GL [Quadro FX 3000] +@@ -23154,7 +23154,7 @@ pci:v000010DEd00000341* + ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] + + pci:v000010DEd00000341sv00001462sd00009380* +- ID_MODEL_FROM_DATABASE=MS-8938 (FX5700U-TD128) ++ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] (MS-8938 (FX5700U-TD128)) + + pci:v000010DEd00000342* + ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700] +@@ -23169,7 +23169,7 @@ pci:v000010DEd00000347* + ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] + + pci:v000010DEd00000347sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] (NX9500) + + pci:v000010DEd00000348* + ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] +@@ -23190,13 +23190,13 @@ pci:v000010DEd00000361* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000361sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge ++ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) + + pci:v000010DEd00000362* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000362sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (KN9 series mainboard) + + pci:v000010DEd00000363* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge +@@ -23205,7 +23205,7 @@ pci:v000010DEd00000364* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000364sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge ++ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) + + pci:v000010DEd00000365* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge +@@ -23220,19 +23220,19 @@ pci:v000010DEd00000368* + ID_MODEL_FROM_DATABASE=MCP55 SMBus + + pci:v000010DEd00000368sv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 SMBus ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) + + pci:v000010DEd00000368sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SMBus ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) + + pci:v000010DEd00000368sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) + + pci:v000010DEd00000369* + ID_MODEL_FROM_DATABASE=MCP55 Memory Controller + + pci:v000010DEd00000369sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller (KN9 series mainboard) + + pci:v000010DEd0000036A* + ID_MODEL_FROM_DATABASE=MCP55 Memory Controller +@@ -23244,31 +23244,31 @@ pci:v000010DEd0000036C* + ID_MODEL_FROM_DATABASE=MCP55 USB Controller + + pci:v000010DEd0000036Csv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) + + pci:v000010DEd0000036Csv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) + + pci:v000010DEd0000036Csv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) + + pci:v000010DEd0000036D* + ID_MODEL_FROM_DATABASE=MCP55 USB Controller + + pci:v000010DEd0000036Dsv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) + + pci:v000010DEd0000036Dsv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) + + pci:v000010DEd0000036Dsv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) + + pci:v000010DEd0000036E* + ID_MODEL_FROM_DATABASE=MCP55 IDE + + pci:v000010DEd0000036Esv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 IDE (KN9 series mainboard) + + pci:v000010DEd00000370* + ID_MODEL_FROM_DATABASE=MCP55 PCI bridge +@@ -23277,7 +23277,7 @@ pci:v000010DEd00000371* + ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio + + pci:v000010DEd00000371sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio (KN9 series mainboard) + + pci:v000010DEd00000372* + ID_MODEL_FROM_DATABASE=MCP55 Ethernet +@@ -23286,7 +23286,7 @@ pci:v000010DEd00000373* + ID_MODEL_FROM_DATABASE=MCP55 Ethernet + + pci:v000010DEd00000373sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 Ethernet (KN9 series mainboard) + + pci:v000010DEd00000374* + ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge +@@ -23313,10 +23313,10 @@ pci:v000010DEd0000037F* + ID_MODEL_FROM_DATABASE=MCP55 SATA Controller + + pci:v000010DEd0000037Fsv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SATA Controller ++ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (PowerEdge R805 MCP55 SATA Controller) + + pci:v000010DEd0000037Fsv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=KN9 series mainboard ++ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (KN9 series mainboard) + + pci:v000010DEd0000038B* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7650 GS] +@@ -23328,25 +23328,25 @@ pci:v000010DEd00000391* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] + + pci:v000010DEd00000391sv00001458sd00003427* +- ID_MODEL_FROM_DATABASE=GV-NX76T128D-RH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GV-NX76T128D-RH) + + pci:v000010DEd00000391sv00001462sd00000452* +- ID_MODEL_FROM_DATABASE=NX7600GT-VT2D256E ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (NX7600GT-VT2D256E) + + pci:v000010DEd00000392* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] + + pci:v000010DEd00000392sv00001462sd00000622* +- ID_MODEL_FROM_DATABASE=NX7600GS-T2D256EH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (NX7600GS-T2D256EH) + + pci:v000010DEd00000393* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] + + pci:v000010DEd00000393sv000010DEsd00000412* +- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) + + pci:v000010DEd00000393sv00001462sd00000412* +- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH ++ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) + + pci:v000010DEd00000394* + ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 LE] +@@ -23364,7 +23364,7 @@ pci:v000010DEd00000398* + ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] + + pci:v000010DEd00000398sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=Acer 9814 WKMI ++ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] (Acer 9814 WKMI) + + pci:v000010DEd00000399* + ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600 GT] +@@ -23379,7 +23379,7 @@ pci:v000010DEd0000039C* + ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] + + pci:v000010DEd0000039Csv000010DEsd0000039C* +- ID_MODEL_FROM_DATABASE=Quadro FX 560M ++ ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] (Quadro FX 560M) + + pci:v000010DEd0000039D* + ID_MODEL_FROM_DATABASE=G73 +@@ -23481,7 +23481,7 @@ pci:v000010DEd000003D0* + ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] + + pci:v000010DEd000003D0sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] (Inspiron 531) + + pci:v000010DEd000003D1* + ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 405] +@@ -23499,22 +23499,22 @@ pci:v000010DEd000003E0* + ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge + + pci:v000010DEd000003E0sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (Inspiron 531) + + pci:v000010DEd000003E0sv00001849sd000003E0* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003E1* + ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge + + pci:v000010DEd000003E1sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (M4N68T series motherboard) + + pci:v000010DEd000003E2* + ID_MODEL_FROM_DATABASE=MCP61 Host Bridge + + pci:v000010DEd000003E2sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 Host Bridge (M4N68T series motherboard) + + pci:v000010DEd000003E3* + ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge +@@ -23535,55 +23535,55 @@ pci:v000010DEd000003E8* + ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge + + pci:v000010DEd000003E8sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) + + pci:v000010DEd000003E8sv00001849sd000003E8* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003E9* + ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge + + pci:v000010DEd000003E9sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) + + pci:v000010DEd000003E9sv00001849sd000003E9* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003EA* + ID_MODEL_FROM_DATABASE=MCP61 Memory Controller + + pci:v000010DEd000003EAsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) + + pci:v000010DEd000003EAsv00001849sd000003EA* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003EB* + ID_MODEL_FROM_DATABASE=MCP61 SMBus + + pci:v000010DEd000003EBsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 SMBus (Inspiron 531) + + pci:v000010DEd000003EBsv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 SMBus (M4N68T series motherboard) + + pci:v000010DEd000003EBsv00001849sd000003EB* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 SMBus (939NF6G-VSTA Board) + + pci:v000010DEd000003EC* + ID_MODEL_FROM_DATABASE=MCP61 IDE + + pci:v000010DEd000003ECsv00001025sd00000392* +- ID_MODEL_FROM_DATABASE=ET1350 ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (ET1350) + + pci:v000010DEd000003ECsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (Inspiron 531) + + pci:v000010DEd000003ECsv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (M4N68T series motherboard) + + pci:v000010DEd000003ECsv00001849sd000003EC* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 IDE (939NF6G-VSTA Board) + + pci:v000010DEd000003EE* + ID_MODEL_FROM_DATABASE=MCP61 Ethernet +@@ -23592,61 +23592,61 @@ pci:v000010DEd000003EF* + ID_MODEL_FROM_DATABASE=MCP61 Ethernet + + pci:v000010DEd000003EFsv00001025sd00008000* +- ID_MODEL_FROM_DATABASE=ET1350 ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (ET1350) + + pci:v000010DEd000003EFsv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (Inspiron 531) + + pci:v000010DEd000003EFsv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (M4N68T series motherboard) + + pci:v000010DEd000003EFsv00001849sd000003EF* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (939NF6G-VSTA Board) + + pci:v000010DEd000003F0* + ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio + + pci:v000010DEd000003F0sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (Inspiron 531) + + pci:v000010DEd000003F0sv00001043sd00008415* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (M4N68T series motherboard) + + pci:v000010DEd000003F0sv00001849sd00000888* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (939NF6G-VSTA Board) + + pci:v000010DEd000003F1* + ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller + + pci:v000010DEd000003F1sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (Inspiron 531) + + pci:v000010DEd000003F1sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (M4N68T series motherboard) + + pci:v000010DEd000003F1sv00001849sd000003F1* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F2* + ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller + + pci:v000010DEd000003F2sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (Inspiron 531) + + pci:v000010DEd000003F2sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (M4N68T series motherboard) + + pci:v000010DEd000003F2sv00001849sd000003F2* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F3* + ID_MODEL_FROM_DATABASE=MCP61 PCI bridge + + pci:v000010DEd000003F3sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (Inspiron 531) + + pci:v000010DEd000003F3sv00001849sd000003F3* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (939NF6G-VSTA Board) + + pci:v000010DEd000003F4* + ID_MODEL_FROM_DATABASE=MCP61 SMU +@@ -23655,25 +23655,25 @@ pci:v000010DEd000003F5* + ID_MODEL_FROM_DATABASE=MCP61 Memory Controller + + pci:v000010DEd000003F5sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) + + pci:v000010DEd000003F5sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (M4N68T series motherboard) + + pci:v000010DEd000003F5sv00001849sd000003EB* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F6* + ID_MODEL_FROM_DATABASE=MCP61 SATA Controller + + pci:v000010DEd000003F6sv00001028sd0000020E* +- ID_MODEL_FROM_DATABASE=Inspiron 531 ++ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (Inspiron 531) + + pci:v000010DEd000003F6sv00001043sd000083A4* +- ID_MODEL_FROM_DATABASE=M4N68T series motherboard ++ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (M4N68T series motherboard) + + pci:v000010DEd000003F6sv00001849sd000003F6* +- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board ++ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (939NF6G-VSTA Board) + + pci:v000010DEd000003F7* + ID_MODEL_FROM_DATABASE=MCP61 SATA Controller +@@ -23682,7 +23682,7 @@ pci:v000010DEd00000400* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] + + pci:v000010DEd00000400sv00001043sd00008241* +- ID_MODEL_FROM_DATABASE=EN8600GTS ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] (EN8600GTS) + + pci:v000010DEd00000401* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] +@@ -23691,10 +23691,10 @@ pci:v000010DEd00000402* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] + + pci:v000010DEd00000402sv00001458sd00003455* +- ID_MODEL_FROM_DATABASE=GV-NX86T512H ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (GV-NX86T512H) + + pci:v000010DEd00000402sv00001462sd00000910* +- ID_MODEL_FROM_DATABASE=NX8600GT-T2D256EZ ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (NX8600GT-T2D256EZ) + + pci:v000010DEd00000403* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GS] +@@ -23703,7 +23703,7 @@ pci:v000010DEd00000404* + ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] + + pci:v000010DEd00000404sv00001462sd00001230* +- ID_MODEL_FROM_DATABASE=NX8400GS-TD256E ++ ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] (NX8400GS-TD256E) + + pci:v000010DEd00000405* + ID_MODEL_FROM_DATABASE=G84M [GeForce 9500M GS] +@@ -23730,7 +23730,7 @@ pci:v000010DEd0000040C* + ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] + + pci:v000010DEd0000040Csv000017AAsd000020D9* +- ID_MODEL_FROM_DATABASE=ThinkPad T61p ++ ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] (ThinkPad T61p) + + pci:v000010DEd0000040D* + ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 1600M] +@@ -23754,7 +23754,7 @@ pci:v000010DEd00000421* + ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] + + pci:v000010DEd00000421sv00001462sd00000960* +- ID_MODEL_FROM_DATABASE=NX8500GT-TD512EH/M2 ++ ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] (NX8500GT-TD512EH/M2) + + pci:v000010DEd00000422* + ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 GS] +@@ -23769,7 +23769,7 @@ pci:v000010DEd00000425* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] + + pci:v000010DEd00000425sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] (Aspire 5920G) + + pci:v000010DEd00000426* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GT] +@@ -23778,10 +23778,10 @@ pci:v000010DEd00000427* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] + + pci:v000010DEd00000427sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv6700) + + pci:v000010DEd00000427sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000428* + ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M G] +@@ -23790,7 +23790,7 @@ pci:v000010DEd00000429* + ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] + + pci:v000010DEd00000429sv000017AAsd000020D8* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] (ThinkPad T61) + + pci:v000010DEd0000042A* + ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 130M] +@@ -23820,7 +23820,7 @@ pci:v000010DEd00000442* + ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge + + pci:v000010DEd00000442sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000443* + ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge +@@ -23829,7 +23829,7 @@ pci:v000010DEd00000444* + ID_MODEL_FROM_DATABASE=MCP65 Memory Controller + + pci:v000010DEd00000444sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 Memory Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000445* + ID_MODEL_FROM_DATABASE=MCP65 Memory Controller +@@ -23838,31 +23838,31 @@ pci:v000010DEd00000446* + ID_MODEL_FROM_DATABASE=MCP65 SMBus + + pci:v000010DEd00000446sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 SMBus (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000447* + ID_MODEL_FROM_DATABASE=MCP65 SMU + + pci:v000010DEd00000447sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 SMU (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000448* + ID_MODEL_FROM_DATABASE=MCP65 IDE + + pci:v000010DEd00000448sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 IDE (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000449* + ID_MODEL_FROM_DATABASE=MCP65 PCI bridge + + pci:v000010DEd00000449sv000010DEsd0000CB84* +- ID_MODEL_FROM_DATABASE=HP Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 PCI bridge (HP Pavilion dv9668eg Laptop) + + pci:v000010DEd0000044A* + ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio + + pci:v000010DEd0000044Asv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio (Pavilion dv9668eg Laptop) + + pci:v000010DEd0000044B* + ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio +@@ -23883,7 +23883,7 @@ pci:v000010DEd00000450* + ID_MODEL_FROM_DATABASE=MCP65 Ethernet + + pci:v000010DEd00000450sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 Ethernet (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000451* + ID_MODEL_FROM_DATABASE=MCP65 Ethernet +@@ -23898,13 +23898,13 @@ pci:v000010DEd00000454* + ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller + + pci:v000010DEd00000454sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000455* + ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller + + pci:v000010DEd00000455sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd00000456* + ID_MODEL_FROM_DATABASE=MCP65 USB Controller +@@ -23943,7 +23943,7 @@ pci:v000010DEd0000045D* + ID_MODEL_FROM_DATABASE=MCP65 SATA Controller + + pci:v000010DEd0000045Dsv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller (Pavilion dv9668eg Laptop) + + pci:v000010DEd0000045E* + ID_MODEL_FROM_DATABASE=MCP65 SATA Controller +@@ -23964,7 +23964,7 @@ pci:v000010DEd0000053B* + ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] + + pci:v000010DEd0000053Bsv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] (M2N68-AM Motherbord) + + pci:v000010DEd0000053E* + ID_MODEL_FROM_DATABASE=C68 [GeForce 7025 / nForce 630a] +@@ -23976,7 +23976,7 @@ pci:v000010DEd00000542* + ID_MODEL_FROM_DATABASE=MCP67 SMBus + + pci:v000010DEd00000542sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=MCP67 SMBus (M2N68-AM Motherbord) + + pci:v000010DEd00000543* + ID_MODEL_FROM_DATABASE=MCP67 Co-processor +@@ -23985,25 +23985,25 @@ pci:v000010DEd00000547* + ID_MODEL_FROM_DATABASE=MCP67 Memory Controller + + pci:v000010DEd00000547sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (M2N68-AM Motherbord) + + pci:v000010DEd00000547sv00001849sd00000547* +- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready ++ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (ALiveNF7G-HDready) + + pci:v000010DEd00000548* + ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge + + pci:v000010DEd00000548sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge (M2N68-AM Motherboard) + + pci:v000010DEd0000054C* + ID_MODEL_FROM_DATABASE=MCP67 Ethernet + + pci:v000010DEd0000054Csv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord ++ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (M2N68-AM Motherbord) + + pci:v000010DEd0000054Csv00001849sd0000054C* +- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready, MCP67 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (ALiveNF7G-HDready, MCP67 Gigabit Ethernet) + + pci:v000010DEd0000054D* + ID_MODEL_FROM_DATABASE=MCP67 Ethernet +@@ -24018,25 +24018,25 @@ pci:v000010DEd00000550* + ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller + + pci:v000010DEd00000550sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000554* + ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller + + pci:v000010DEd00000554sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000555* + ID_MODEL_FROM_DATABASE=MCP67 SATA Controller + + pci:v000010DEd00000555sv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 SATA Controller (M2N68-AM Motherboard) + + pci:v000010DEd0000055C* + ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio + + pci:v000010DEd0000055Csv00001043sd00008290* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio (M2N68-AM Motherboard) + + pci:v000010DEd0000055D* + ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio +@@ -24045,19 +24045,19 @@ pci:v000010DEd0000055E* + ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller + + pci:v000010DEd0000055Esv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller (M2N68-AM Motherboard) + + pci:v000010DEd0000055F* + ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller + + pci:v000010DEd0000055Fsv00001043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000560* + ID_MODEL_FROM_DATABASE=MCP67 IDE Controller + + pci:v000010DEd00000560sv0000F043sd00008308* +- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard ++ ID_MODEL_FROM_DATABASE=MCP67 IDE Controller (M2N68-AM Motherboard) + + pci:v000010DEd00000561* + ID_MODEL_FROM_DATABASE=MCP67 PCI Bridge +@@ -24066,7 +24066,7 @@ pci:v000010DEd00000562* + ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge + + pci:v000010DEd00000562sv00001849sd00000562* +- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready ++ ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge (ALiveNF7G-HDready) + + pci:v000010DEd00000563* + ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge +@@ -24075,64 +24075,64 @@ pci:v000010DEd00000568* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller + + pci:v000010DEd00000568sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) + + pci:v000010DEd00000568sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) + + pci:v000010DEd00000568sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) + + pci:v000010DEd00000568sv00001849sd00000568* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) + + pci:v000010DEd00000569* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge + + pci:v000010DEd00000569sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) + + pci:v000010DEd00000569sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) + + pci:v000010DEd00000569sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) + + pci:v000010DEd00000569sv00001849sd00000569* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) + + pci:v000010DEd0000056A* + ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) + + pci:v000010DEd0000056Asv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) (MCP73PVT-SM) + + pci:v000010DEd0000056C* + ID_MODEL_FROM_DATABASE=MCP73 IDE + + pci:v000010DEd0000056Csv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 IDE (MCP73PVT-SM) + + pci:v000010DEd0000056Csv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 IDE (JW-IN7150-HD) + + pci:v000010DEd0000056D* + ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge + + pci:v000010DEd0000056Dsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) + + pci:v000010DEd0000056E* + ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge + + pci:v000010DEd0000056Esv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) + + pci:v000010DEd0000056F* + ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge + + pci:v000010DEd0000056Fsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) + + pci:v000010DEd000005B1* + ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch +@@ -24156,7 +24156,7 @@ pci:v000010DEd000005E3* + ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] + + pci:v000010DEd000005E3sv00001682sd00002490* +- ID_MODEL_FROM_DATABASE=GX-285N-ZDF ++ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] (GX-285N-ZDF) + + pci:v000010DEd000005E6* + ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 275] +@@ -24165,19 +24165,19 @@ pci:v000010DEd000005E7* + ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] + + pci:v000010DEd000005E7sv000010DEsd00000595* +- ID_MODEL_FROM_DATABASE=Tesla T10 Processor ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) + + pci:v000010DEd000005E7sv000010DEsd0000068F* +- ID_MODEL_FROM_DATABASE=Tesla T10 Processor ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) + + pci:v000010DEd000005E7sv000010DEsd00000697* +- ID_MODEL_FROM_DATABASE=Tesla M1060 ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) + + pci:v000010DEd000005E7sv000010DEsd00000714* +- ID_MODEL_FROM_DATABASE=Tesla M1060 ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) + + pci:v000010DEd000005E7sv000010DEsd00000743* +- ID_MODEL_FROM_DATABASE=Tesla M1060 ++ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) + + pci:v000010DEd000005EA* + ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260] +@@ -24240,7 +24240,7 @@ pci:v000010DEd00000609* + ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] + + pci:v000010DEd00000609sv0000106Bsd000000A7* +- ID_MODEL_FROM_DATABASE=GeForce 8800 GS ++ ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] (GeForce 8800 GS) + + pci:v000010DEd0000060A* + ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 280M] +@@ -24261,16 +24261,16 @@ pci:v000010DEd00000610* + ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] + + pci:v000010DEd00000610sv00001682sd00002385* +- ID_MODEL_FROM_DATABASE=GeForce 9600 GSO 768mb ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] (GeForce 9600 GSO 768mb) + + pci:v000010DEd00000611* + ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] + + pci:v000010DEd00000611sv0000107Dsd00002AB0* +- ID_MODEL_FROM_DATABASE=Winfast PX8800 GT PCI-E ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (Winfast PX8800 GT PCI-E) + + pci:v000010DEd00000611sv000019DAsd00001040* +- ID_MODEL_FROM_DATABASE=ZT-88TES2P-FSP ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (ZT-88TES2P-FSP) + + pci:v000010DEd00000612* + ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GTX / 9800 GTX+] +@@ -24282,22 +24282,22 @@ pci:v000010DEd00000614* + ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] + + pci:v000010DEd00000614sv0000107Dsd00002AB3* +- ID_MODEL_FROM_DATABASE=WinFast PX9800 GT (S-Fanpipe) ++ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] (WinFast PX9800 GT (S-Fanpipe)) + + pci:v000010DEd00000615* + ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] + + pci:v000010DEd00000615sv00003842sd00001150* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1150-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1150-TR) + + pci:v000010DEd00000615sv00003842sd00001151* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1151-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1151-TR) + + pci:v000010DEd00000615sv00003842sd00001155* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1155-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1155-TR) + + pci:v000010DEd00000615sv00003842sd00001156* +- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1156-TR ++ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1156-TR) + + pci:v000010DEd00000617* + ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GTX] +@@ -24336,10 +24336,10 @@ pci:v000010DEd00000622* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] + + pci:v000010DEd00000622sv0000107Dsd00002AC1* +- ID_MODEL_FROM_DATABASE=WinFast PX9600GT 1024MB ++ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (WinFast PX9600GT 1024MB) + + pci:v000010DEd00000622sv00001458sd00003481* +- ID_MODEL_FROM_DATABASE=GV-NX96T512HP ++ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GV-NX96T512HP) + + pci:v000010DEd00000623* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GS] +@@ -24375,7 +24375,7 @@ pci:v000010DEd0000062E* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] + + pci:v000010DEd0000062Esv0000106Bsd00000605* +- ID_MODEL_FROM_DATABASE=GeForce GT 130 ++ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GeForce GT 130) + + pci:v000010DEd0000062F* + ID_MODEL_FROM_DATABASE=G94 [GeForce 9800 S] +@@ -24435,7 +24435,7 @@ pci:v000010DEd00000649* + ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] + + pci:v000010DEd00000649sv00001043sd0000202D* +- ID_MODEL_FROM_DATABASE=GeForce GT 220M ++ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] (GeForce GT 220M) + + pci:v000010DEd0000064A* + ID_MODEL_FROM_DATABASE=G96M [GeForce 9700M GT] +@@ -24459,7 +24459,7 @@ pci:v000010DEd00000652* + ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] + + pci:v000010DEd00000652sv0000152Dsd00000850* +- ID_MODEL_FROM_DATABASE=GeForce GT 240M LE ++ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] (GeForce GT 240M LE) + + pci:v000010DEd00000653* + ID_MODEL_FROM_DATABASE=G96M [GeForce GT 120M] +@@ -24468,10 +24468,10 @@ pci:v000010DEd00000654* + ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] + + pci:v000010DEd00000654sv00001043sd000014A2* +- ID_MODEL_FROM_DATABASE=GeForce GT 320M ++ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) + + pci:v000010DEd00000654sv00001043sd000014D2* +- ID_MODEL_FROM_DATABASE=GeForce GT 320M ++ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) + + pci:v000010DEd00000655* + ID_MODEL_FROM_DATABASE=G96 [GeForce GT 120] +@@ -24519,28 +24519,28 @@ pci:v000010DEd000006D1* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] + + pci:v000010DEd000006D1sv000010DEsd00000771* +- ID_MODEL_FROM_DATABASE=Tesla C2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2050) + + pci:v000010DEd000006D1sv000010DEsd00000772* +- ID_MODEL_FROM_DATABASE=Tesla C2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2070) + + pci:v000010DEd000006D2* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] + + pci:v000010DEd000006D2sv000010DEsd00000774* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D2sv000010DEsd00000830* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D2sv000010DEsd00000842* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D2sv000010DEsd0000088F* +- ID_MODEL_FROM_DATABASE=Tesla X2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla X2070) + + pci:v000010DEd000006D2sv000010DEsd00000908* +- ID_MODEL_FROM_DATABASE=Tesla M2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) + + pci:v000010DEd000006D8* + ID_MODEL_FROM_DATABASE=GF100GL [Quadro 6000] +@@ -24561,37 +24561,37 @@ pci:v000010DEd000006DE* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] + + pci:v000010DEd000006DEsv000010DEsd00000773* +- ID_MODEL_FROM_DATABASE=Tesla S2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla S2050) + + pci:v000010DEd000006DEsv000010DEsd0000082F* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000840* +- ID_MODEL_FROM_DATABASE=Tesla X2070 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla X2070) + + pci:v000010DEd000006DEsv000010DEsd00000842* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000846* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000866* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd00000907* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DEsv000010DEsd0000091E* +- ID_MODEL_FROM_DATABASE=Tesla M2050 ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) + + pci:v000010DEd000006DF* + ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] + + pci:v000010DEd000006DFsv000010DEsd0000084D* +- ID_MODEL_FROM_DATABASE=Tesla M2070-Q ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) + + pci:v000010DEd000006DFsv000010DEsd0000087F* +- ID_MODEL_FROM_DATABASE=Tesla M2070-Q ++ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) + + pci:v000010DEd000006E0* + ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 GE] +@@ -24609,7 +24609,7 @@ pci:v000010DEd000006E4* + ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] + + pci:v000010DEd000006E4sv00001458sd00003475* +- ID_MODEL_FROM_DATABASE=GV-NX84S256HE [GeForce 8400 GS] ++ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] (GV-NX84S256HE [GeForce 8400 GS]) + + pci:v000010DEd000006E5* + ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] +@@ -24624,13 +24624,13 @@ pci:v000010DEd000006E8* + ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] + + pci:v000010DEd000006E8sv0000103Csd0000360B* +- ID_MODEL_FROM_DATABASE=GeForce 9200M GE ++ ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] (GeForce 9200M GE) + + pci:v000010DEd000006E9* + ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] + + pci:v000010DEd000006E9sv00001043sd000019B2* +- ID_MODEL_FROM_DATABASE=U6V laptop ++ ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] (U6V laptop) + + pci:v000010DEd000006EA* + ID_MODEL_FROM_DATABASE=G98M [Quadro NVS 150M] +@@ -24672,139 +24672,139 @@ pci:v000010DEd000006FF* + ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] + + pci:v000010DEd000006FFsv000010DEsd00000711* +- ID_MODEL_FROM_DATABASE=HICx8 + Graphics ++ ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] (HICx8 + Graphics) + + pci:v000010DEd00000751* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller + + pci:v000010DEd00000751sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) + + pci:v000010DEd00000751sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) + + pci:v000010DEd00000751sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) + + pci:v000010DEd00000751sv00001849sd00000751* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) + + pci:v000010DEd00000752* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus + + pci:v000010DEd00000752sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (Pavilion p6310f) + + pci:v000010DEd00000752sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (M3N72-D) + + pci:v000010DEd00000752sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K9N2GM-FIH) + + pci:v000010DEd00000752sv00001849sd00000752* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 SMBus ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K10N78FullHD-hSLI R3.0 SMBus) + + pci:v000010DEd00000753* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor + + pci:v000010DEd00000753sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (Pavilion p6310f) + + pci:v000010DEd00000753sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (M3N72-D) + + pci:v000010DEd00000753sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K9N2GM-FIH) + + pci:v000010DEd00000753sv00001849sd00000753* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Co-Processor ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K10N78FullHD-hSLI R3.0 Co-Processor) + + pci:v000010DEd00000754* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller + + pci:v000010DEd00000754sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) + + pci:v000010DEd00000754sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) + + pci:v000010DEd00000754sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) + + pci:v000010DEd00000754sv00001849sd00000754* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) + + pci:v000010DEd00000759* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE + + pci:v000010DEd00000759sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (M3N72-D) + + pci:v000010DEd00000759sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K9N2GM-FIH) + + pci:v000010DEd00000759sv00001849sd00000759* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K10N78FullHD-hSLI R3.0 IDE) + + pci:v000010DEd0000075A* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge + + pci:v000010DEd0000075Asv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) + + pci:v000010DEd0000075Asv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) + + pci:v000010DEd0000075Asv00001849sd0000075A* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) + + pci:v000010DEd0000075B* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge + + pci:v000010DEd0000075Bsv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) + + pci:v000010DEd0000075Bsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) + + pci:v000010DEd0000075Bsv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) + + pci:v000010DEd0000075Bsv00001849sd0000075B* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) + + pci:v000010DEd0000075C* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge + + pci:v000010DEd0000075Csv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (Pavilion p6310f) + + pci:v000010DEd0000075Csv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K9N2GM-FIH) + + pci:v000010DEd0000075Csv00001849sd0000075C* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 LPC Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K10N78FullHD-hSLI R3.0 LPC Bridge) + + pci:v000010DEd0000075D* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge + + pci:v000010DEd0000075Dsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (M3N72-D) + + pci:v000010DEd00000760* + ID_MODEL_FROM_DATABASE=MCP77 Ethernet + + pci:v000010DEd00000760sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (Pavilion p6310f) + + pci:v000010DEd00000760sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (M3N72-D) + + pci:v000010DEd00000760sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K9N2GM-FIH) + + pci:v000010DEd00000760sv00001849sd00000760* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Ethernet ++ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K10N78FullHD-hSLI R3.0 Ethernet) + + pci:v000010DEd00000761* + ID_MODEL_FROM_DATABASE=MCP77 Ethernet +@@ -24819,118 +24819,118 @@ pci:v000010DEd00000774* + ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio + + pci:v000010DEd00000774sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (Pavilion p6310f) + + pci:v000010DEd00000774sv00001043sd000082FE* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (M3N72-D) + + pci:v000010DEd00000774sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K9N2GM-FIH) + + pci:v000010DEd00000774sv00001849sd00003662* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 High Definition Audio ++ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K10N78FullHD-hSLI R3.0 High Definition Audio) + + pci:v000010DEd00000778* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge + + pci:v000010DEd00000778sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) + + pci:v000010DEd00000778sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) + + pci:v000010DEd00000778sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) + + pci:v000010DEd00000778sv00001849sd00000778* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) + + pci:v000010DEd0000077A* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge + + pci:v000010DEd0000077Asv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) + + pci:v000010DEd0000077Asv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) + + pci:v000010DEd0000077Asv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K9N2GM-FIH) + + pci:v000010DEd0000077Asv00001849sd0000077A* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) + + pci:v000010DEd0000077B* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller + + pci:v000010DEd0000077Bsv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Bsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) + + pci:v000010DEd0000077Bsv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Bsv00001849sd0000077B* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) + + pci:v000010DEd0000077C* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller + + pci:v000010DEd0000077Csv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Csv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) + + pci:v000010DEd0000077Csv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Csv00001849sd0000077C* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) + + pci:v000010DEd0000077D* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller + + pci:v000010DEd0000077Dsv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Dsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) + + pci:v000010DEd0000077Dsv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Dsv00001849sd0000077D* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) + + pci:v000010DEd0000077E* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller + + pci:v000010DEd0000077Esv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) + + pci:v000010DEd0000077Esv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) + + pci:v000010DEd0000077Esv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) + + pci:v000010DEd0000077Esv00001849sd0000077E* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) + + pci:v000010DEd000007C0* + ID_MODEL_FROM_DATABASE=MCP73 Host Bridge + + pci:v000010DEd000007C0sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (JW-IN7150-HD) + + pci:v000010DEd000007C1* + ID_MODEL_FROM_DATABASE=MCP73 Host Bridge + + pci:v000010DEd000007C1sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (MCP73PVT-SM) + + pci:v000010DEd000007C2* + ID_MODEL_FROM_DATABASE=MCP73 Host Bridge +@@ -24942,124 +24942,124 @@ pci:v000010DEd000007C8* + ID_MODEL_FROM_DATABASE=MCP73 Memory Controller + + pci:v000010DEd000007C8sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) + + pci:v000010DEd000007C8sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) + + pci:v000010DEd000007CB* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CBsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CBsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007CD* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CDsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CDsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007CE* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CEsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CEsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007CF* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007CFsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007CFsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D0* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D0sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D0sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D1* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D1sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D1sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D2* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D2sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D2sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D3* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D3sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D3sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D6* + ID_MODEL_FROM_DATABASE=nForce 630i memory controller + + pci:v000010DEd000007D6sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) + + pci:v000010DEd000007D6sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) + + pci:v000010DEd000007D7* + ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge + + pci:v000010DEd000007D7sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (MCP73PVT-SM) + + pci:v000010DEd000007D7sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (JW-IN7150-HD) + + pci:v000010DEd000007D8* + ID_MODEL_FROM_DATABASE=MCP73 SMBus + + pci:v000010DEd000007D8sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 SMBus (MCP73PVT-SM) + + pci:v000010DEd000007D8sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 SMBus (JW-IN7150-HD) + + pci:v000010DEd000007D9* + ID_MODEL_FROM_DATABASE=MCP73 Memory Controller + + pci:v000010DEd000007D9sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) + + pci:v000010DEd000007D9sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) + + pci:v000010DEd000007DA* + ID_MODEL_FROM_DATABASE=MCP73 Co-processor + + pci:v000010DEd000007DAsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=MCP73 Co-processor (JW-IN7150-HD) + + pci:v000010DEd000007DC* + ID_MODEL_FROM_DATABASE=MCP73 Ethernet +@@ -25077,13 +25077,13 @@ pci:v000010DEd000007E0* + ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] + + pci:v000010DEd000007E0sv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] (JW-IN7150-HD) + + pci:v000010DEd000007E1* + ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] + + pci:v000010DEd000007E1sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] (MCP73PVT-SM) + + pci:v000010DEd000007E2* + ID_MODEL_FROM_DATABASE=C73 [GeForce 7050 / nForce 630i] +@@ -25101,7 +25101,7 @@ pci:v000010DEd000007F4* + ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA + + pci:v000010DEd000007F4sv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA (MCP73PVT-SM) + + pci:v000010DEd000007F8* + ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller +@@ -25110,7 +25110,7 @@ pci:v000010DEd000007FC* + ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio + + pci:v000010DEd000007FCsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio (MCP73PVT-SM) + + pci:v000010DEd000007FCsv000010DEsd000007FC* + ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio +@@ -25119,10 +25119,10 @@ pci:v000010DEd000007FE* + ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB + + pci:v000010DEd000007FEsv00001019sd0000297A* +- ID_MODEL_FROM_DATABASE=MCP73PVT-SM ++ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (MCP73PVT-SM) + + pci:v000010DEd000007FEsv00001AFAsd00007150* +- ID_MODEL_FROM_DATABASE=JW-IN7150-HD ++ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (JW-IN7150-HD) + + pci:v000010DEd00000840* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8200M] +@@ -25140,7 +25140,7 @@ pci:v000010DEd00000847* + ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] + + pci:v000010DEd00000847sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] (Pavilion p6310f) + + pci:v000010DEd00000848* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8300] +@@ -25149,10 +25149,10 @@ pci:v000010DEd00000849* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] + + pci:v000010DEd00000849sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K9N2GM-FIH) + + pci:v000010DEd00000849sv00001849sd00000849* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 GeForce 8200 ++ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K10N78FullHD-hSLI R3.0 GeForce 8200) + + pci:v000010DEd0000084A* + ID_MODEL_FROM_DATABASE=C77 [nForce 730a] +@@ -25167,7 +25167,7 @@ pci:v000010DEd0000084D* + ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] + + pci:v000010DEd0000084Dsv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D mGPU ++ ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] (M3N72-D mGPU) + + pci:v000010DEd0000084F* + ID_MODEL_FROM_DATABASE=C77 [GeForce 8100 / nForce 720a] +@@ -25185,7 +25185,7 @@ pci:v000010DEd00000863* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] + + pci:v000010DEd00000863sv0000106Bsd000000AA* +- ID_MODEL_FROM_DATABASE=MacBook5,1 ++ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] (MacBook5,1) + + pci:v000010DEd00000864* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9300] +@@ -25197,13 +25197,13 @@ pci:v000010DEd00000866* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] + + pci:v000010DEd00000866sv0000106Bsd000000B1* +- ID_MODEL_FROM_DATABASE=GeForce 9400M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] (GeForce 9400M) + + pci:v000010DEd00000867* + ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] + + pci:v000010DEd00000867sv0000106Bsd000000AD* +- ID_MODEL_FROM_DATABASE=iMac 9,1 ++ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] (iMac 9,1) + + pci:v000010DEd00000868* + ID_MODEL_FROM_DATABASE=C79 [nForce 760i SLI] +@@ -25236,28 +25236,28 @@ pci:v000010DEd00000872* + ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] + + pci:v000010DEd00000872sv00001043sd000019B4* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000872sv00001043sd00001AA2* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000872sv00001043sd00001C02* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000872sv00001043sd00001C42* +- ID_MODEL_FROM_DATABASE=GeForce G205M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) + + pci:v000010DEd00000873* + ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] + + pci:v000010DEd00000873sv00001043sd000019B4* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000873sv00001043sd00001C12* +- ID_MODEL_FROM_DATABASE=GeForce G102M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) + + pci:v000010DEd00000873sv00001043sd00001C52* +- ID_MODEL_FROM_DATABASE=GeForce G205M ++ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) + + pci:v000010DEd00000874* + ID_MODEL_FROM_DATABASE=C79 [ION] +@@ -25272,7 +25272,7 @@ pci:v000010DEd0000087D* + ID_MODEL_FROM_DATABASE=ION VGA + + pci:v000010DEd0000087Dsv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=ION VGA (IONITX-F-E) + + pci:v000010DEd0000087E* + ID_MODEL_FROM_DATABASE=ION LE VGA +@@ -25299,7 +25299,7 @@ pci:v000010DEd00000A20* + ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] + + pci:v000010DEd00000A20sv00001043sd00008311* +- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 ++ ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] (ENGT220/DI/1GD3(LP)/V2) + + pci:v000010DEd00000A21* + ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M] +@@ -25368,7 +25368,7 @@ pci:v000010DEd00000A65* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] + + pci:v000010DEd00000A65sv00001043sd00008334* +- ID_MODEL_FROM_DATABASE=EN210 SILENT ++ ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] (EN210 SILENT) + + pci:v000010DEd00000A66* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 310] +@@ -25389,10 +25389,10 @@ pci:v000010DEd00000A6C* + ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] + + pci:v000010DEd00000A6Csv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (Latitude E6510) + + pci:v000010DEd00000A6Csv000017AAsd00002142* +- ID_MODEL_FROM_DATABASE=ThinkPad T410 ++ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (ThinkPad T410) + + pci:v000010DEd00000A6E* + ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M] +@@ -25416,7 +25416,7 @@ pci:v000010DEd00000A74* + ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] + + pci:v000010DEd00000A74sv00001B0Asd0000903A* +- ID_MODEL_FROM_DATABASE=GeForce G210 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] (GeForce G210) + + pci:v000010DEd00000A75* + ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M] +@@ -25431,127 +25431,127 @@ pci:v000010DEd00000A7A* + ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] + + pci:v000010DEd00000A7Asv0000104Dsd0000907E* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC50* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC61* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC71* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FC90* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCC0* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCD0* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCE2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FCF2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD16* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD40* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD50* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD52* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD61* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD71* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD92* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FD96* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FDD0* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FDD2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001179sd0000FDFE* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C0A2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C0B2* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C581* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C587* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C588* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C597* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv0000144Dsd0000C606* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001462sd0000AA51* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AA58* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AC71* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AC81* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001462sd0000AC82* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001462sd0000AE33* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001642sd00003980* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv000017AAsd00003950* +- ID_MODEL_FROM_DATABASE=GeForce 405M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) + + pci:v000010DEd00000A7Asv000017AAsd0000397D* +- ID_MODEL_FROM_DATABASE=GeForce 405M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) + + pci:v000010DEd00000A7Asv00001B0Asd00002091* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7Asv00001B0Asd000090B4* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001BFDsd00000003* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001BFDsd00008006* +- ID_MODEL_FROM_DATABASE=GeForce 405 ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) + + pci:v000010DEd00000A7Asv00001BFDsd00008007* +- ID_MODEL_FROM_DATABASE=GeForce 315M ++ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) + + pci:v000010DEd00000A7B* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 505] +@@ -25593,64 +25593,64 @@ pci:v000010DEd00000A98* + ID_MODEL_FROM_DATABASE=MCP79 Memory Controller + + pci:v000010DEd00000A98sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (iMac 9,1) + + pci:v000010DEd00000AA0* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AA0sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AA2* + ID_MODEL_FROM_DATABASE=MCP79 SMBus + + pci:v000010DEd00000AA2sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 SMBus (Apple iMac 9,1) + + pci:v000010DEd00000AA2sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 SMBus (IONITX-F-E) + + pci:v000010DEd00000AA3* + ID_MODEL_FROM_DATABASE=MCP79 Co-processor + + pci:v000010DEd00000AA3sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (Apple iMac 9,1) + + pci:v000010DEd00000AA3sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (IONITX-F-E) + + pci:v000010DEd00000AA4* + ID_MODEL_FROM_DATABASE=MCP79 Memory Controller + + pci:v000010DEd00000AA4sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (IONITX-F-E) + + pci:v000010DEd00000AA5* + ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller + + pci:v000010DEd00000AA5sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA5sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) + + pci:v000010DEd00000AA6* + ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller + + pci:v000010DEd00000AA6sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA6sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) + + pci:v000010DEd00000AA7* + ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller + + pci:v000010DEd00000AA7sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA7sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) + + pci:v000010DEd00000AA8* + ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller +@@ -25659,10 +25659,10 @@ pci:v000010DEd00000AA9* + ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller + + pci:v000010DEd00000AA9sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) + + pci:v000010DEd00000AA9sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) + + pci:v000010DEd00000AAA* + ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller +@@ -25671,7 +25671,7 @@ pci:v000010DEd00000AAB* + ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge + + pci:v000010DEd00000AABsv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AAC* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge +@@ -25680,13 +25680,13 @@ pci:v000010DEd00000AAD* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge + + pci:v000010DEd00000AADsv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (IONITX-F-E) + + pci:v000010DEd00000AAE* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge + + pci:v000010DEd00000AAEsv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AAF* + ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge +@@ -25695,10 +25695,10 @@ pci:v000010DEd00000AB0* + ID_MODEL_FROM_DATABASE=MCP79 Ethernet + + pci:v000010DEd00000AB0sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (Apple iMac 9,1) + + pci:v000010DEd00000AB0sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (IONITX-F-E) + + pci:v000010DEd00000AB1* + ID_MODEL_FROM_DATABASE=MCP79 Ethernet +@@ -25713,7 +25713,7 @@ pci:v000010DEd00000AB4* + ID_MODEL_FROM_DATABASE=MCP79 SATA Controller + + pci:v000010DEd00000AB4sv000019DAsd0000A123* +- ID_MODEL_FROM_DATABASE=IONITX-F-E ++ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller (IONITX-F-E) + + pci:v000010DEd00000AB5* + ID_MODEL_FROM_DATABASE=MCP79 SATA Controller +@@ -25731,7 +25731,7 @@ pci:v000010DEd00000AB9* + ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller + + pci:v000010DEd00000AB9sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller (Apple iMac 9,1) + + pci:v000010DEd00000ABA* + ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller +@@ -25755,7 +25755,7 @@ pci:v000010DEd00000AC0* + ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio + + pci:v000010DEd00000AC0sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio (Apple iMac 9,1) + + pci:v000010DEd00000AC1* + ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio +@@ -25770,7 +25770,7 @@ pci:v000010DEd00000AC4* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AC4sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AC5* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge +@@ -25779,13 +25779,13 @@ pci:v000010DEd00000AC6* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AC6sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AC7* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge + + pci:v000010DEd00000AC7sv000010DEsd0000CB79* +- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 ++ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) + + pci:v000010DEd00000AC8* + ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge +@@ -25794,22 +25794,22 @@ pci:v000010DEd00000AD0* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) + + pci:v000010DEd00000AD0sv00001462sd00007508* +- ID_MODEL_FROM_DATABASE=K9N2GM-FIH ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K9N2GM-FIH) + + pci:v000010DEd00000AD0sv00001849sd00000AD0* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K10N78FullHD-hSLI R3.0 IDE) + + pci:v000010DEd00000AD4* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller + + pci:v000010DEd00000AD4sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (Pavilion p6310f) + + pci:v000010DEd00000AD4sv00001043sd000082E8* +- ID_MODEL_FROM_DATABASE=M3N72-D ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (M3N72-D) + + pci:v000010DEd00000AD4sv00001849sd00000AD4* +- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 AHCI Controller ++ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (K10N78FullHD-hSLI R3.0 AHCI Controller) + + pci:v000010DEd00000AD8* + ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (RAID mode) +@@ -25818,16 +25818,16 @@ pci:v000010DEd00000BE2* + ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller + + pci:v000010DEd00000BE2sv00001043sd00008311* +- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 ++ ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller (ENGT220/DI/1GD3(LP)/V2) + + pci:v000010DEd00000BE3* + ID_MODEL_FROM_DATABASE=High Definition Audio Controller + + pci:v000010DEd00000BE3sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (Latitude E6510) + + pci:v000010DEd00000BE3sv000010DEsd0000066D* +- ID_MODEL_FROM_DATABASE=G98 [GeForce 8400GS] ++ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (G98 [GeForce 8400GS]) + + pci:v000010DEd00000BE4* + ID_MODEL_FROM_DATABASE=High Definition Audio Controller +@@ -25839,22 +25839,22 @@ pci:v000010DEd00000BE9* + ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller + + pci:v000010DEd00000BE9sv00001558sd00008687* +- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU ++ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (CLEVO/KAPOK W860CU) + + pci:v000010DEd00000BE9sv00003842sd00001452* +- ID_MODEL_FROM_DATABASE=GeForce GTS 450 ++ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (GeForce GTS 450) + + pci:v000010DEd00000BEA* + ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller + + pci:v000010DEd00000BEAsv00003842sd00001430* +- ID_MODEL_FROM_DATABASE=GeForce GT 430 ++ ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller (GeForce GT 430) + + pci:v000010DEd00000BEB* + ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller + + pci:v000010DEd00000BEBsv00001462sd00002322* +- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC ++ ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller (N460GTX Cyclone 1GD5/OC) + + pci:v000010DEd00000BEE* + ID_MODEL_FROM_DATABASE=GF116 High Definition Audio Controller +@@ -25968,7 +25968,7 @@ pci:v000010DEd00000DD1* + ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] + + pci:v000010DEd00000DD1sv00001558sd00008687* +- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU ++ ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] (CLEVO/KAPOK W860CU) + + pci:v000010DEd00000DD2* + ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 445M] +@@ -25983,7 +25983,7 @@ pci:v000010DEd00000DD8* + ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] + + pci:v000010DEd00000DD8sv000010DEsd00000914* +- ID_MODEL_FROM_DATABASE=Quadro 2000D ++ ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] (Quadro 2000D) + + pci:v000010DEd00000DDA* + ID_MODEL_FROM_DATABASE=GF106GLM [Quadro 2000M] +@@ -25995,7 +25995,7 @@ pci:v000010DEd00000DE1* + ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] + + pci:v000010DEd00000DE1sv00003842sd00001430* +- ID_MODEL_FROM_DATABASE=GeForce GT 430 ++ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] (GeForce GT 430) + + pci:v000010DEd00000DE2* + ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 420] +@@ -26019,49 +26019,49 @@ pci:v000010DEd00000DE9* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] + + pci:v000010DEd00000DE9sv00001025sd00000692* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000725* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000728* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd0000072B* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd0000072E* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000753* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv00001025sd00000754* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) + + pci:v000010DEd00000DE9sv000017AAsd00003977* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 640M LE) + + pci:v000010DEd00000DE9sv00001B0Asd00002210* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 635M) + + pci:v000010DEd00000DEA* + ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] + + pci:v000010DEd00000DEAsv000017AAsd0000365A* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd0000365B* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd0000365E* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd00003660* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEAsv000017AAsd0000366C* +- ID_MODEL_FROM_DATABASE=GeForce 615 ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) + + pci:v000010DEd00000DEB* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 555M] +@@ -26094,10 +26094,10 @@ pci:v000010DEd00000DF4* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] + + pci:v000010DEd00000DF4sv0000152Dsd00000952* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) + + pci:v000010DEd00000DF4sv0000152Dsd00000953* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) + + pci:v000010DEd00000DF5* + ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 525M] +@@ -26124,7 +26124,7 @@ pci:v000010DEd00000E08* + ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller + + pci:v000010DEd00000E08sv000010B0sd0000104A* +- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 ++ ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller (Gainward GeForce GT 610) + + pci:v000010DEd00000E09* + ID_MODEL_FROM_DATABASE=GF110 High Definition Audio Controller +@@ -26145,16 +26145,16 @@ pci:v000010DEd00000E1B* + ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller + + pci:v000010DEd00000E1Bsv0000103Csd0000197B* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (ZBook 15) + + pci:v000010DEd00000E1Bsv00001043sd00008428* +- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 ++ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (GTX650-DC-1GD5) + + pci:v000010DEd00000E22* + ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] + + pci:v000010DEd00000E22sv00001462sd00002322* +- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC ++ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] (N460GTX Cyclone 1GD5/OC) + + pci:v000010DEd00000E23* + ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460 SE] +@@ -26193,7 +26193,7 @@ pci:v000010DEd00000FC6* + ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] + + pci:v000010DEd00000FC6sv00001043sd00008428* +- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 ++ ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) + + pci:v000010DEd00000FCD* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] +@@ -26205,34 +26205,34 @@ pci:v000010DEd00000FD1* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] + + pci:v000010DEd00000FD1sv00001043sd00001597* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD1sv00001043sd000015A7* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD1sv00001043sd00002103* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (N56VZ) + + pci:v000010DEd00000FD1sv00001043sd00002105* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD1sv00001043sd00002141* +- ID_MODEL_FROM_DATABASE=GeForce GT 650M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) + + pci:v000010DEd00000FD2* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] + + pci:v000010DEd00000FD2sv00001028sd0000054F* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) + + pci:v000010DEd00000FD2sv00001028sd0000055F* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) + + pci:v000010DEd00000FD2sv00001028sd00000595* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) + + pci:v000010DEd00000FD2sv00001028sd000005B2* +- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) + + pci:v000010DEd00000FD3* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M LE] +@@ -26265,7 +26265,7 @@ pci:v000010DEd00000FE3* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] + + pci:v000010DEd00000FE3sv000017AAsd00003675* +- ID_MODEL_FROM_DATABASE=GeForce GT 745A ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) + + pci:v000010DEd00000FE4* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M] +@@ -26280,7 +26280,7 @@ pci:v000010DEd00000FE7* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] + + pci:v000010DEd00000FE7sv000010DEsd0000101E* +- ID_MODEL_FROM_DATABASE=GRID K100 ++ ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] (GRID K100) + + pci:v000010DEd00000FE9* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M Mac Edition] +@@ -26304,13 +26304,13 @@ pci:v000010DEd00000FF6* + ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] + + pci:v000010DEd00000FF6sv0000103Csd0000197B* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] (ZBook 15) + + pci:v000010DEd00000FF7* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] + + pci:v000010DEd00000FF7sv000010DEsd00001037* +- ID_MODEL_FROM_DATABASE=GRID K140Q ++ ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] (GRID K140Q) + + pci:v000010DEd00000FF8* + ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K500M] +@@ -26343,37 +26343,37 @@ pci:v000010DEd00001004* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] + + pci:v000010DEd00001004sv00003842sd00000784* +- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 SC w/ ACX Cooler] ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 SC w/ ACX Cooler]) + + pci:v000010DEd00001004sv00003842sd00001784* +- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler] ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler]) + + pci:v000010DEd00001004sv00003842sd00001788* +- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler] ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler]) + + pci:v000010DEd00001005* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] + + pci:v000010DEd00001005sv00001043sd00008451* +- ID_MODEL_FROM_DATABASE=GTXTITAN-6GD5 ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GTXTITAN-6GD5) + + pci:v000010DEd00001005sv000010DEsd00001035* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) + + pci:v000010DEd00001005sv00003842sd00002790* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) + + pci:v000010DEd00001005sv00003842sd00002791* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC) + + pci:v000010DEd00001005sv00003842sd00002793* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Signature ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Signature) + + pci:v000010DEd00001005sv00003842sd00002794* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper) + + pci:v000010DEd00001005sv00003842sd00002795* +- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature ++ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper Signature) + + pci:v000010DEd00001007* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] +@@ -26436,7 +26436,7 @@ pci:v000010DEd0000104A* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] + + pci:v000010DEd0000104Asv000010B0sd0000104A* +- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 ++ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] (Gainward GeForce GT 610) + + pci:v000010DEd0000104B* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] +@@ -26469,37 +26469,37 @@ pci:v000010DEd00001058* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] + + pci:v000010DEd00001058sv0000103Csd00002AED* +- ID_MODEL_FROM_DATABASE=GeForce 610 ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) + + pci:v000010DEd00001058sv0000103Csd00002AF1* +- ID_MODEL_FROM_DATABASE=GeForce 610 ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) + + pci:v000010DEd00001058sv00001043sd000010AC* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd00001058sv00001043sd000010BC* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd00001058sv00001043sd00001652* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd00001058sv000017AAsd0000367A* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) + + pci:v000010DEd00001058sv000017AAsd00003682* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) + + pci:v000010DEd00001058sv000017AAsd00003687* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) + + pci:v000010DEd00001058sv000017AAsd00003692* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 705A) + + pci:v000010DEd00001058sv000017AAsd00003695* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) + + pci:v000010DEd00001058sv000017AAsd0000A117* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) + + pci:v000010DEd00001059* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] +@@ -26508,25 +26508,25 @@ pci:v000010DEd0000105A* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] + + pci:v000010DEd0000105Asv00001043sd00002111* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd0000105Asv00001043sd00002112* +- ID_MODEL_FROM_DATABASE=GeForce GT 610M ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) + + pci:v000010DEd0000105B* + ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] + + pci:v000010DEd0000105Bsv0000103Csd00002AFB* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) + + pci:v000010DEd0000105Bsv000017AAsd0000309D* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) + + pci:v000010DEd0000105Bsv000017AAsd000030B1* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) + + pci:v000010DEd0000105Bsv000017AAsd000036A1* +- ID_MODEL_FROM_DATABASE=GeForce 800A ++ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) + + pci:v000010DEd0000107C* + ID_MODEL_FROM_DATABASE=GF119 [NVS 315] +@@ -26541,7 +26541,7 @@ pci:v000010DEd00001081* + ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] + + pci:v000010DEd00001081sv000010DEsd0000087E* +- ID_MODEL_FROM_DATABASE=Leadtek WinFast GTX 570 ++ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] (Leadtek WinFast GTX 570) + + pci:v000010DEd00001082* + ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 Ti OEM] +@@ -26571,31 +26571,31 @@ pci:v000010DEd00001091* + ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] + + pci:v000010DEd00001091sv000010DEsd0000088E* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001091sv000010DEsd00000891* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001091sv000010DEsd00000974* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001091sv000010DEsd0000098D* +- ID_MODEL_FROM_DATABASE=Tesla X2090 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) + + pci:v000010DEd00001094* + ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] + + pci:v000010DEd00001094sv000010DEsd00000888* +- ID_MODEL_FROM_DATABASE=Tesla M2075 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] (Tesla M2075) + + pci:v000010DEd00001096* + ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] + + pci:v000010DEd00001096sv000010DEsd00000910* +- ID_MODEL_FROM_DATABASE=Tesla C2075 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2075) + + pci:v000010DEd00001096sv000010DEsd00000911* +- ID_MODEL_FROM_DATABASE=Tesla C2050 ++ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2050) + + pci:v000010DEd0000109A* + ID_MODEL_FROM_DATABASE=GF100GLM [Quadro 5010M] +@@ -26604,7 +26604,7 @@ pci:v000010DEd0000109B* + ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] + + pci:v000010DEd0000109Bsv000010DEsd00000918* +- ID_MODEL_FROM_DATABASE=Quadro 7000 ++ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] (Quadro 7000) + + pci:v000010DEd000010C0* + ID_MODEL_FROM_DATABASE=GT218 [GeForce 9300 GS Rev. 2] +@@ -26622,622 +26622,622 @@ pci:v000010DEd00001140* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] + + pci:v000010DEd00001140sv00001025sd00000600* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000606* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000064A* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000064C* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000067A* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000680* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000686* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000689* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000068B* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000068D* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000068E* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000691* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000692* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000694* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000702* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000719* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000725* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000728* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000072B* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd0000072E* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000732* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001025sd00000763* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000773* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000774* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000776* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd0000077A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077B* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077C* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077D* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077E* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd0000077F* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001025sd00000781* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000798* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000799* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd0000079B* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd0000079C* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000807* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000821* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000823* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000830* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000837* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001025sd00000841* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001028sd0000054D* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd0000054E* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000554* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001028sd00000557* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001028sd00000562* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd00000565* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000568* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000590* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd00000592* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd00000594* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd00000595* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005A2* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005B1* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005B3* +- ID_MODEL_FROM_DATABASE=GeForce GT 625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) + + pci:v000010DEd00001140sv00001028sd000005DA* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd000005DE* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001028sd000005E0* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001028sd000005E8* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv00001028sd000005F4* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv0000103Csd000018EF* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018F9* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018FB* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018FD* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd000018FF* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000103Csd00002AEF* +- ID_MODEL_FROM_DATABASE=GeForce GT 720A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) + + pci:v000010DEd00001140sv0000103Csd00002AF9* +- ID_MODEL_FROM_DATABASE=GeForce 710A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710A) + + pci:v000010DEd00001140sv00001043sd000010DD* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv00001043sd000010ED* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv00001043sd000011FD* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000124D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000126D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000131D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd000013FD* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd000014C7* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd00001507* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001043sd000015AD* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd000015ED* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000160D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000163D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000166D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd000016CD* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd000016DD* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000170D* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd00002132* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001043sd00002136* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv00001043sd000021BA* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd000021FA* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000220A* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000221A* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001043sd0000223A* +- ID_MODEL_FROM_DATABASE=GeForce GT 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) + + pci:v000010DEd00001140sv00001043sd0000224A* +- ID_MODEL_FROM_DATABASE=GeForce GT 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) + + pci:v000010DEd00001140sv00001043sd0000227A* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd0000228A* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001043sd00008595* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001072sd0000152D* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000010CFsd000017F5* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001179sd0000FA01* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA02* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA03* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA05* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA11* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA13* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA18* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA19* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA21* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA23* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA2A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA32* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA33* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA36* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA38* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA42* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA43* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA45* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA47* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA49* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA58* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA59* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA88* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001179sd0000FA89* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000144Dsd0000B092* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv0000144Dsd0000C0D5* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000144Dsd0000C0D7* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv0000144Dsd0000C0E2* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv0000144Dsd0000C0E3* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv0000144Dsd0000C0E4* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv0000144Dsd0000C652* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv0000144Dsd0000C709* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000144Dsd0000C711* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000144Dsd0000C736* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001462sd000010B8* +- ID_MODEL_FROM_DATABASE=GeForce GT 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) + + pci:v000010DEd00001140sv00001462sd000010E9* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001462sd00001116* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001462sd0000AA33* +- ID_MODEL_FROM_DATABASE=GeForce 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) + + pci:v000010DEd00001140sv00001462sd0000AAA2* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001462sd0000AAA3* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001462sd0000AE71* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv0000152Dsd00000926* +- ID_MODEL_FROM_DATABASE=GeForce 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 620M) + + pci:v000010DEd00001140sv0000152Dsd00000982* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000152Dsd00000983* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000152Dsd00001012* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000152Dsd00001030* +- ID_MODEL_FROM_DATABASE=GeForce GT 630M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + + pci:v000010DEd00001140sv0000152Dsd00001055* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv0000152Dsd00001067* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv0000152Dsd00001072* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00002200* +- ID_MODEL_FROM_DATABASE=NVS 5200M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + + pci:v000010DEd00001140sv000017AAsd00002213* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00002220* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000309C* +- ID_MODEL_FROM_DATABASE=GeForce GT 720A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) + + pci:v000010DEd00001140sv000017AAsd000030B4* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd00003656* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv000017AAsd0000365A* +- ID_MODEL_FROM_DATABASE=GeForce 705M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) + + pci:v000010DEd00001140sv000017AAsd0000365E* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd0000366C* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd00003685* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd00003686* +- ID_MODEL_FROM_DATABASE=GeForce 800M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) + + pci:v000010DEd00001140sv000017AAsd00003687* +- ID_MODEL_FROM_DATABASE=GeForce 705A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705A) + + pci:v000010DEd00001140sv000017AAsd00003696* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369B* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369C* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369D* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd0000369E* +- ID_MODEL_FROM_DATABASE=GeForce 820A ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) + + pci:v000010DEd00001140sv000017AAsd00003800* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003801* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003802* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003803* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003804* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003901* +- ID_MODEL_FROM_DATABASE=GeForce 610M / GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) + + pci:v000010DEd00001140sv000017AAsd00003902* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00003903* +- ID_MODEL_FROM_DATABASE=GeForce 610M/710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M) + + pci:v000010DEd00001140sv000017AAsd00003904* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M/625M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M) + + pci:v000010DEd00001140sv000017AAsd00003905* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003910* +- ID_MODEL_FROM_DATABASE=GeForce 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) + + pci:v000010DEd00001140sv000017AAsd00003912* +- ID_MODEL_FROM_DATABASE=GeForce 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) + + pci:v000010DEd00001140sv000017AAsd00003977* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00003983* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) + + pci:v000010DEd00001140sv000017AAsd00005001* +- ID_MODEL_FROM_DATABASE=GeForce 610M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) + + pci:v000010DEd00001140sv000017AAsd00005003* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00005005* +- ID_MODEL_FROM_DATABASE=GeForce 705M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) + + pci:v000010DEd00001140sv000017AAsd0000500D* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv000017AAsd00005014* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00005017* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00005019* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000501A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000501F* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd00005025* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd00005027* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000502A* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000502B* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000502D* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000502E* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000502F* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv000017AAsd0000503E* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000503F* +- ID_MODEL_FROM_DATABASE=GeForce 820M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + + pci:v000010DEd00001140sv00001854sd00000177* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001854sd00000180* +- ID_MODEL_FROM_DATABASE=GeForce 710M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv00001854sd00000190* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001854sd00000192* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001140sv00001B0Asd000020DD* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001B0Asd000020DF* +- ID_MODEL_FROM_DATABASE=GeForce GT 620M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + + pci:v000010DEd00001140sv00001B0Asd00002202* +- ID_MODEL_FROM_DATABASE=GeForce GT 720M ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + + pci:v000010DEd00001180* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] + + pci:v000010DEd00001180sv00001043sd000083F1* +- ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GTX680-DC2-2GD5) + + pci:v000010DEd00001180sv00003842sd00003682* +- ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GeForce GTX 680 Mac Edition) + + pci:v000010DEd00001182* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti] +@@ -27252,7 +27252,7 @@ pci:v000010DEd00001185* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] + + pci:v000010DEd00001185sv000010DEsd0000106F* +- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] (GK104 [GeForce GTX 760 OEM]) + + pci:v000010DEd00001187* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760] +@@ -27264,7 +27264,7 @@ pci:v000010DEd00001189* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] + + pci:v000010DEd00001189sv000010DEsd00001074* +- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] (GK104 [GeForce GTX 760 Ti OEM]) + + pci:v000010DEd0000118A* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K520] +@@ -27279,7 +27279,7 @@ pci:v000010DEd0000118D* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] + + pci:v000010DEd0000118Dsv000010DEsd0000101D* +- ID_MODEL_FROM_DATABASE=GRID K200 ++ ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] (GRID K200) + + pci:v000010DEd0000118E* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] +@@ -27324,7 +27324,7 @@ pci:v000010DEd000011A3* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] + + pci:v000010DEd000011A3sv0000106Bsd0000010D* +- ID_MODEL_FROM_DATABASE=iMac 13,2 ++ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] (iMac 13,2) + + pci:v000010DEd000011A7* + ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX] +@@ -27333,10 +27333,10 @@ pci:v000010DEd000011B0* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] + + pci:v000010DEd000011B0sv000010DEsd0000101A* +- ID_MODEL_FROM_DATABASE=GRID K240Q ++ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K240Q) + + pci:v000010DEd000011B0sv000010DEsd0000101B* +- ID_MODEL_FROM_DATABASE=GRID K260Q ++ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K260Q) + + pci:v000010DEd000011B1* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] +@@ -27375,28 +27375,28 @@ pci:v000010DEd000011C2* + ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] + + pci:v000010DEd000011C2sv00001043sd0000845B* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost DirectCU II OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost DirectCU II OC) + + pci:v000010DEd000011C2sv00001462sd00002874* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost TwinFrozr II OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost TwinFrozr II OC) + + pci:v000010DEd000011C2sv00001569sd000011C2* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) + + pci:v000010DEd000011C2sv000019DAsd00001281* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) + + pci:v000010DEd000011C2sv00003842sd00003657* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost) + + pci:v000010DEd000011C2sv00003842sd00003658* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost Superclocked ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost Superclocked) + + pci:v000010DEd000011C3* + ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] + + pci:v000010DEd000011C3sv000010DEsd00001030* +- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti OEM ++ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] (GeForce GTX 650 Ti OEM) + + pci:v000010DEd000011C4* + ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 645 OEM] +@@ -27423,7 +27423,7 @@ pci:v000010DEd000011E3* + ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] + + pci:v000010DEd000011E3sv000017AAsd00003683* +- ID_MODEL_FROM_DATABASE=GeForce GTX 760A ++ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] (GeForce GTX 760A) + + pci:v000010DEd000011FA* + ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] +@@ -27486,55 +27486,55 @@ pci:v000010DEd00001247* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] + + pci:v000010DEd00001247sv00001043sd00001752* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001247sv00001043sd00002050* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001247sv00001043sd00002051* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001247sv00001043sd0000212A* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001247sv00001043sd0000212B* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001247sv00001043sd0000212C* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001247sv0000152Dsd00000930* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001248* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] + + pci:v000010DEd00001248sv0000152Dsd00000930* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001248sv000017C0sd000010E7* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv000017C0sd000010E8* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv000017C0sd000010EA* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00000890* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00000891* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00001795* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00001796* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001248sv00001854sd00003005* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd00001249* + ID_MODEL_FROM_DATABASE=GF116 [GeForce GTS 450 Rev. 3] +@@ -27546,19 +27546,19 @@ pci:v000010DEd0000124D* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] + + pci:v000010DEd0000124Dsv00001028sd00000491* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001028sd00000570* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001028sd00000571* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001462sd0000108D* +- ID_MODEL_FROM_DATABASE=GeForce GT 555M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) + + pci:v000010DEd0000124Dsv00001462sd000010CC* +- ID_MODEL_FROM_DATABASE=GeForce GT 635M ++ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) + + pci:v000010DEd00001251* + ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 560M] +@@ -27582,16 +27582,16 @@ pci:v000010DEd00001290* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] + + pci:v000010DEd00001290sv0000103Csd00002AFA* +- ID_MODEL_FROM_DATABASE=GeForce GT 730A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) + + pci:v000010DEd00001290sv0000103Csd00002B04* +- ID_MODEL_FROM_DATABASE=GeForce GT 730A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) + + pci:v000010DEd00001290sv00001043sd000013AD* +- ID_MODEL_FROM_DATABASE=GeForce GT 730M ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) + + pci:v000010DEd00001290sv00001043sd000013CD* +- ID_MODEL_FROM_DATABASE=GeForce GT 730M ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) + + pci:v000010DEd00001291* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 735M] +@@ -27600,10 +27600,10 @@ pci:v000010DEd00001292* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] + + pci:v000010DEd00001292sv000017AAsd00003675* +- ID_MODEL_FROM_DATABASE=GeForce GT 740A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) + + pci:v000010DEd00001292sv000017AAsd00003684* +- ID_MODEL_FROM_DATABASE=GeForce GT 740A ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) + + pci:v000010DEd00001293* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] +@@ -27636,13 +27636,13 @@ pci:v000010DEd00001341* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] + + pci:v000010DEd00001341sv000017AAsd00003697* +- ID_MODEL_FROM_DATABASE=GeForce 840A ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) + + pci:v000010DEd00001341sv000017AAsd00003699* +- ID_MODEL_FROM_DATABASE=GeForce 840A ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) + + pci:v000010DEd00001341sv000017AAsd0000369C* +- ID_MODEL_FROM_DATABASE=GeForce 840A ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) + + pci:v000010DEd00001380* + ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] +@@ -27660,10 +27660,10 @@ pci:v000010DEd00001391* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] + + pci:v000010DEd00001391sv000017AAsd00003697* +- ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) + + pci:v000010DEd00001391sv000017AAsd0000A125* +- ID_MODEL_FROM_DATABASE=GeForce GTX 850A ++ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) + + pci:v000010DEd00001392* + ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] +@@ -27678,13 +27678,13 @@ pci:v000010DFd00000720* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) + + pci:v000010DFd00000720sv000017AAsd00001056* +- ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14102-UX-L AnyFabric) + + pci:v000010DFd00000720sv000017AAsd00001057* +- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UX-L AnyFabric) + + pci:v000010DFd00000720sv000017AAsd00001059* +- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UT-L AnyFabric) + + pci:v000010DFd00000722* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) +@@ -27729,10 +27729,10 @@ pci:v000010DFd0000E220* + ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) + + pci:v000010DFd0000E220sv000017AAsd00001054* +- ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16002B-M6-L AnyFabric) + + pci:v000010DFd0000E220sv000017AAsd00001055* +- ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric ++ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16004B-M8-L AnyFabric) + + pci:v000010DFd0000E240* + ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) +@@ -27831,7 +27831,7 @@ pci:v000010DFd0000FC00* + ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter + + pci:v000010DFd0000FC00sv000010DFsd0000FC00* +- ID_MODEL_FROM_DATABASE=LP10000 LightPulse Fibre Channel Host Adapter ++ ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter (LP10000 LightPulse Fibre Channel Host Adapter) + + pci:v000010DFd0000FC10* + ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter +@@ -27897,7 +27897,7 @@ pci:v000010E1d00000391* + ID_MODEL_FROM_DATABASE=TRM-S1040 + + pci:v000010E1d00000391sv000010E1sd00000391* +- ID_MODEL_FROM_DATABASE=DC-315U SCSI-3 Host Adapter ++ ID_MODEL_FROM_DATABASE=TRM-S1040 (DC-315U SCSI-3 Host Adapter) + + pci:v000010E1d0000690C* + ID_MODEL_FROM_DATABASE=DC-690c +@@ -27921,7 +27921,7 @@ pci:v000010E3d00000148* + ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] + + pci:v000010E3d00000148sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] (VR11 Single Board Computer) + + pci:v000010E3d00000860* + ID_MODEL_FROM_DATABASE=CA91C860 [QSpan] +@@ -28107,25 +28107,25 @@ pci:v000010ECd00005227* + ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader + + pci:v000010ECd00005227sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad T440p) + + pci:v000010ECd00005227sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad X240) + + pci:v000010ECd00005229* + ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader + + pci:v000010ECd00005229sv00001025sd00000813* +- ID_MODEL_FROM_DATABASE=Aspire R7-571 ++ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (Aspire R7-571) + + pci:v000010ECd00005229sv0000103Csd0000194E* +- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook ++ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (ProBook 455 G1 Notebook) + + pci:v000010ECd00005249* + ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader + + pci:v000010ECd00005249sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) + + pci:v000010ECd00005288* + ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader +@@ -28134,334 +28134,334 @@ pci:v000010ECd00008029* + ID_MODEL_FROM_DATABASE=RTL-8029(AS) + + pci:v000010ECd00008029sv000010B8sd00002011* +- ID_MODEL_FROM_DATABASE=EZ-Card (SMC1208) ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EZ-Card (SMC1208)) + + pci:v000010ECd00008029sv000010ECsd00008029* + ID_MODEL_FROM_DATABASE=RTL-8029(AS) + + pci:v000010ECd00008029sv00001113sd00001208* +- ID_MODEL_FROM_DATABASE=EN1208 ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EN1208) + + pci:v000010ECd00008029sv00001186sd00000300* +- ID_MODEL_FROM_DATABASE=DE-528 ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (DE-528) + + pci:v000010ECd00008029sv00001259sd00002400* +- ID_MODEL_FROM_DATABASE=AT-2400 ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (AT-2400) + + pci:v000010ECd00008029sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (QEMU Virtual Machine) + + pci:v000010ECd00008129* + ID_MODEL_FROM_DATABASE=RTL-8129 + + pci:v000010ECd00008129sv000010ECsd00008129* +- ID_MODEL_FROM_DATABASE=RT8129 Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL-8129 (RT8129 Fast Ethernet Adapter) + + pci:v000010ECd00008129sv000011ECsd00008129* +- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) ++ ID_MODEL_FROM_DATABASE=RTL-8129 (RTL8111/8168 PCIe Gigabit Ethernet (misconfigured)) + + pci:v000010ECd00008136* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller + + pci:v000010ECd00008136sv0000103Csd00002AB1* +- ID_MODEL_FROM_DATABASE=Pavillion p6774 ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) + + pci:v000010ECd00008136sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) + + pci:v000010ECd00008136sv00001179sd0000FF64* +- ID_MODEL_FROM_DATABASE=RTL8102E PCI-E Fast Ethernet NIC ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) + + pci:v000010ECd00008138* + ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter + + pci:v000010ECd00008138sv000010ECsd00008138* +- ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter (RT8139 (B/C) Fast Ethernet Adapter) + + pci:v000010ECd00008139* + ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter + + pci:v000010ECd00008139sv00000357sd0000000A* +- ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TTP-Monitoring Card V2.0) + + pci:v000010ECd00008139sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TravelMate 290) + + pci:v000010ECd00008139sv00001025sd00008920* +- ID_MODEL_FROM_DATABASE=ALN-325 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) + + pci:v000010ECd00008139sv00001025sd00008921* +- ID_MODEL_FROM_DATABASE=ALN-325 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) + + pci:v000010ECd00008139sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (NX9500) + + pci:v000010ECd00008139sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Pavilion t3030.de Desktop PC) + + pci:v000010ECd00008139sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Presario C700) + + pci:v000010ECd00008139sv00001043sd00001045* +- ID_MODEL_FROM_DATABASE=L8400B or L3C/S notebook ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (L8400B or L3C/S notebook) + + pci:v000010ECd00008139sv00001043sd00008109* +- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P5P800-MX Mainboard) + + pci:v000010ECd00008139sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MIM2000) + + pci:v000010ECd00008139sv000010BDsd00000320* +- ID_MODEL_FROM_DATABASE=EP-320X-R ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EP-320X-R) + + pci:v000010ECd00008139sv000010ECsd00008139* + ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter + + pci:v000010ECd00008139sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Panasonic CF-Y5 laptop) + + pci:v000010ECd00008139sv00001113sd0000EC01* +- ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LevelOne FNC-0107TX/FNC-0109TX) + + pci:v000010ECd00008139sv00001186sd00001300* +- ID_MODEL_FROM_DATABASE=DFE-538TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DFE-538TX) + + pci:v000010ECd00008139sv00001186sd00001320* +- ID_MODEL_FROM_DATABASE=SN5200 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (SN5200) + + pci:v000010ECd00008139sv00001186sd00008139* +- ID_MODEL_FROM_DATABASE=DRN-32TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DRN-32TX) + + pci:v000010ECd00008139sv000011F6sd00008139* +- ID_MODEL_FROM_DATABASE=FN22-3(A) LinxPRO Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN22-3(A) LinxPRO Ethernet Adapter) + + pci:v000010ECd00008139sv00001259sd00002500* +- ID_MODEL_FROM_DATABASE=AT-2500TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX) + + pci:v000010ECd00008139sv00001259sd00002503* +- ID_MODEL_FROM_DATABASE=AT-2500TX/ACPI ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX/ACPI) + + pci:v000010ECd00008139sv00001385sd0000F31D* +- ID_MODEL_FROM_DATABASE=FA311 v2 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FA311 v2) + + pci:v000010ECd00008139sv00001395sd00002100* +- ID_MODEL_FROM_DATABASE=AMB2100 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AMB2100) + + pci:v000010ECd00008139sv00001429sd0000D010* +- ID_MODEL_FROM_DATABASE=ND010/ND012 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ND010/ND012) + + pci:v000010ECd00008139sv00001432sd00009130* +- ID_MODEL_FROM_DATABASE=EN-9130TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EN-9130TX) + + pci:v000010ECd00008139sv00001436sd00008139* +- ID_MODEL_FROM_DATABASE=RT8139 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RT8139) + + pci:v000010ECd00008139sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P30/P35 notebook) + + pci:v000010ECd00008139sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-7VM400M/7VT600 Motherboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GA-7VM400M/7VT600 Motherboard) + + pci:v000010ECd00008139sv00001462sd00000131* +- ID_MODEL_FROM_DATABASE=MS-1013 Notebook ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MS-1013 Notebook) + + pci:v000010ECd00008139sv00001462sd0000217C* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Aspire L250) + + pci:v000010ECd00008139sv00001462sd0000788C* +- ID_MODEL_FROM_DATABASE=865PE Neo2-V Mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (865PE Neo2-V Mainboard) + + pci:v000010ECd00008139sv0000146Csd00001439* +- ID_MODEL_FROM_DATABASE=FE-1439TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FE-1439TX) + + pci:v000010ECd00008139sv00001489sd00006001* +- ID_MODEL_FROM_DATABASE=GF100TXRII ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRII) + + pci:v000010ECd00008139sv00001489sd00006002* +- ID_MODEL_FROM_DATABASE=GF100TXRA ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRA) + + pci:v000010ECd00008139sv0000149Csd0000139A* +- ID_MODEL_FROM_DATABASE=LFE-8139ATX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139ATX) + + pci:v000010ECd00008139sv0000149Csd00008139* +- ID_MODEL_FROM_DATABASE=LFE-8139TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139TX) + + pci:v000010ECd00008139sv000014CBsd00000200* +- ID_MODEL_FROM_DATABASE=LNR-100 Family 10/100 Base-TX Ethernet ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LNR-100 Family 10/100 Base-TX Ethernet) + + pci:v000010ECd00008139sv00001565sd00002300* +- ID_MODEL_FROM_DATABASE=P4TSV Onboard LAN (RTL8100B) ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P4TSV Onboard LAN (RTL8100B)) + + pci:v000010ECd00008139sv00001631sd00007003* +- ID_MODEL_FROM_DATABASE=Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard) + + pci:v000010ECd00008139sv00001695sd00009001* +- ID_MODEL_FROM_DATABASE=Onboard RTL8101L 10/100 MBit ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8101L 10/100 MBit) + + pci:v000010ECd00008139sv000016ECsd000000FF* +- ID_MODEL_FROM_DATABASE=USR997900A ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (USR997900A) + + pci:v000010ECd00008139sv00001799sd00005000* +- ID_MODEL_FROM_DATABASE=F5D5000 PCI Card/Desktop Network PCI Card ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5000 PCI Card/Desktop Network PCI Card) + + pci:v000010ECd00008139sv00001799sd00005010* +- ID_MODEL_FROM_DATABASE=F5D5010 CardBus Notebook Network Card ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5010 CardBus Notebook Network Card) + + pci:v000010ECd00008139sv0000187Esd00003303* +- ID_MODEL_FROM_DATABASE=FN312 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN312) + + pci:v000010ECd00008139sv00001904sd00008139* +- ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RTL8139D Fast Ethernet Adapter) + + pci:v000010ECd00008139sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (QEMU Virtual Machine) + + pci:v000010ECd00008139sv00002646sd00000001* +- ID_MODEL_FROM_DATABASE=KNE120TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KNE120TX) + + pci:v000010ECd00008139sv00008E2Esd00007000* +- ID_MODEL_FROM_DATABASE=KF-230TX ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX) + + pci:v000010ECd00008139sv00008E2Esd00007100* +- ID_MODEL_FROM_DATABASE=KF-230TX/2 ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX/2) + + pci:v000010ECd00008139sv0000A0A0sd00000007* +- ID_MODEL_FROM_DATABASE=ALN-325C ++ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325C) + + pci:v000010ECd00008167* + ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet + + pci:v000010ECd00008167sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-MA69G-S3H Motherboard ++ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (GA-MA69G-S3H Motherboard) + + pci:v000010ECd00008167sv00001462sd0000235C* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (P965 Neo MS-7235 mainboard) + + pci:v000010ECd00008167sv00001462sd0000236C* +- ID_MODEL_FROM_DATABASE=945P Neo3-F motherboard ++ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (945P Neo3-F motherboard) + + pci:v000010ECd00008168* + ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller + + pci:v000010ECd00008168sv00001019sd00008168* +- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) + + pci:v000010ECd00008168sv00001028sd00000283* +- ID_MODEL_FROM_DATABASE=Vostro 220 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 220) + + pci:v000010ECd00008168sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3350) + + pci:v000010ECd00008168sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3750) + + pci:v000010ECd00008168sv0000103Csd00001611* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Pavilion DM1Z-3000) + + pci:v000010ECd00008168sv0000103Csd00001950* +- ID_MODEL_FROM_DATABASE=ProBook 450/455 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (ProBook 450/455) + + pci:v000010ECd00008168sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Asus IPIBL-LB Motherboard) + + pci:v000010ECd00008168sv00001043sd000011F5* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (A6J-Q008) + + pci:v000010ECd00008168sv00001043sd000016D5* +- ID_MODEL_FROM_DATABASE=U6V/U31J laptop ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (U6V/U31J laptop) + + pci:v000010ECd00008168sv00001043sd000081AA* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P5B) + + pci:v000010ECd00008168sv00001043sd000082C6* +- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M3A78-EH Motherboard) + + pci:v000010ECd00008168sv00001043sd000083A3* +- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M4A785TD Motherboard) + + pci:v000010ECd00008168sv00001043sd00008432* +- ID_MODEL_FROM_DATABASE=P8P67 and other motherboards ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) + + pci:v000010ECd00008168sv00001043sd00008505* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) + + pci:v000010ECd00008168sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) + + pci:v000010ECd00008168sv000010ECsd00008168* +- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) + + pci:v000010ECd00008168sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard) + + pci:v000010ECd00008168sv00001462sd0000238C* +- ID_MODEL_FROM_DATABASE=Onboard RTL8111b on MSI P965 Platinum Mainboard ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Onboard RTL8111b on MSI P965 Platinum Mainboard) + + pci:v000010ECd00008168sv00001462sd0000368C* +- ID_MODEL_FROM_DATABASE=K9AG Neo2 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (K9AG Neo2) + + pci:v000010ECd00008168sv00001462sd00004180* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Wind PC MS-7418) + + pci:v000010ECd00008168sv00001462sd00007522* +- ID_MODEL_FROM_DATABASE=X58 Pro-E ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (X58 Pro-E) + + pci:v000010ECd00008168sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (CC11/CL11) + + pci:v000010ECd00008168sv00001849sd00008168* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many)) + + pci:v000010ECd00008168sv00008086sd0000D615* +- ID_MODEL_FROM_DATABASE=Desktop Board D510MO/D525MW ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Desktop Board D510MO/D525MW) + + pci:v000010ECd00008169* + ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller + + pci:v000010ECd00008169sv00001025sd00000079* +- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Aspire 5024WLMi) + + pci:v000010ECd00008169sv000010BDsd00003202* +- ID_MODEL_FROM_DATABASE=EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter) + + pci:v000010ECd00008169sv000010ECsd00008169* +- ID_MODEL_FROM_DATABASE=RTL8169/8110 Family PCI Gigabit Ethernet NIC ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (RTL8169/8110 Family PCI Gigabit Ethernet NIC) + + pci:v000010ECd00008169sv00001259sd0000C107* +- ID_MODEL_FROM_DATABASE=CG-LAPCIGT ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (CG-LAPCIGT) + + pci:v000010ECd00008169sv00001371sd0000434E* +- ID_MODEL_FROM_DATABASE=ProG-2000L ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (ProG-2000L) + + pci:v000010ECd00008169sv00001385sd0000311A* +- ID_MODEL_FROM_DATABASE=GA311 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA311) + + pci:v000010ECd00008169sv00001385sd00005200* +- ID_MODEL_FROM_DATABASE=GA511 Gigabit PC Card ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA511 Gigabit PC Card) + + pci:v000010ECd00008169sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA-8I915ME-G Mainboard) + + pci:v000010ECd00008169sv00001462sd0000030C* +- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 mainboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8N Neo-FSR v2.0 mainboard) + + pci:v000010ECd00008169sv00001462sd0000065C* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Hetis 865GV-E (MS-7065)) + + pci:v000010ECd00008169sv00001462sd0000702C* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T NEO 2 motherboard) + + pci:v000010ECd00008169sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T Neo2-F V2.0) + + pci:v000010ECd00008169sv000016ECsd0000011F* +- ID_MODEL_FROM_DATABASE=USR997903 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (USR997903) + + pci:v000010ECd00008169sv00001734sd00001091* +- ID_MODEL_FROM_DATABASE=D2030-A1 ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (D2030-A1) + + pci:v000010ECd00008169sv0000A0A0sd00000449* +- ID_MODEL_FROM_DATABASE=AK86-L motherboard ++ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (AK86-L motherboard) + + pci:v000010ECd00008171* + ID_MODEL_FROM_DATABASE=RTL8191SEvA Wireless LAN Controller +@@ -28479,7 +28479,7 @@ pci:v000010ECd00008176* + ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter + + pci:v000010ECd00008176sv00001A3Bsd00001139* +- ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter (AW-NE139H Half-size Mini PCIe Card) + + pci:v000010ECd00008177* + ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter +@@ -28494,10 +28494,10 @@ pci:v000010ECd00008180* + ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC + + pci:v000010ECd00008180sv00001385sd00004700* +- ID_MODEL_FROM_DATABASE=MA521 802.11b Wireless PC Card ++ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (MA521 802.11b Wireless PC Card) + + pci:v000010ECd00008180sv00001737sd00000019* +- ID_MODEL_FROM_DATABASE=WPC11v4 802.11b Wireless-B Notebook Adapter ++ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (WPC11v4 802.11b Wireless-B Notebook Adapter) + + pci:v000010ECd00008185* + ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller +@@ -28524,7 +28524,7 @@ pci:v000010ECd00008199* + ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller + + pci:v000010ECd00008199sv00001462sd00006894* +- ID_MODEL_FROM_DATABASE=MN54G2 / MS-6894 Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller (MN54G2 / MS-6894 Wireless Mini PCIe Card) + + pci:v000010ECd00008723* + ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter +@@ -28734,115 +28734,115 @@ pci:v00001102d00000002* + ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 + + pci:v00001102d00000002sv0000100Asd00001102* +- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF) + + pci:v00001102d00000002sv00001102sd00000020* +- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00000021* +- ID_MODEL_FROM_DATABASE=CT4620 SBLive! ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4620 SBLive!) + + pci:v00001102d00000002sv00001102sd0000002F* +- ID_MODEL_FROM_DATABASE=SBLive! mainboard implementation ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! mainboard implementation) + + pci:v00001102d00000002sv00001102sd0000100A* +- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM [SB0220] ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM [SB0220]) + + pci:v00001102d00000002sv00001102sd00004001* +- ID_MODEL_FROM_DATABASE=E-mu APS ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (E-mu APS) + + pci:v00001102d00000002sv00001102sd00008022* +- ID_MODEL_FROM_DATABASE=CT4780 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4780 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008023* +- ID_MODEL_FROM_DATABASE=CT4790 SoundBlaster PCI512 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4790 SoundBlaster PCI512) + + pci:v00001102d00000002sv00001102sd00008024* +- ID_MODEL_FROM_DATABASE=CT4760 SBLive! ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) + + pci:v00001102d00000002sv00001102sd00008025* +- ID_MODEL_FROM_DATABASE=SBLive! Mainboard Implementation ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Mainboard Implementation) + + pci:v00001102d00000002sv00001102sd00008026* +- ID_MODEL_FROM_DATABASE=CT4830 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4830 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008027* +- ID_MODEL_FROM_DATABASE=CT4832 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4832 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008028* +- ID_MODEL_FROM_DATABASE=CT4760 SBLive! OEM version ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive! OEM version) + + pci:v00001102d00000002sv00001102sd00008031* +- ID_MODEL_FROM_DATABASE=CT4831 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4831 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008040* +- ID_MODEL_FROM_DATABASE=CT4760 SBLive! ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) + + pci:v00001102d00000002sv00001102sd00008051* +- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) + + pci:v00001102d00000002sv00001102sd00008061* +- ID_MODEL_FROM_DATABASE=SBLive! Player 5.1 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Player 5.1) + + pci:v00001102d00000002sv00001102sd00008064* +- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Model SB0100 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Model SB0100) + + pci:v00001102d00000002sv00001102sd00008065* +- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Digital Model SB0220 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Digital Model SB0220) + + pci:v00001102d00000002sv00001102sd00008066* +- ID_MODEL_FROM_DATABASE=Live! 5.1 Digital [SB0228] ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (Live! 5.1 Digital [SB0228]) + + pci:v00001102d00000002sv00001102sd00008067* +- ID_MODEL_FROM_DATABASE=SBLive! 5.1 eMicro 28028 ++ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 eMicro 28028) + + pci:v00001102d00000004* + ID_MODEL_FROM_DATABASE=SB Audigy + + pci:v00001102d00000004sv00001102sd00000051* +- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player) + + pci:v00001102d00000004sv00001102sd00000053* +- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) + + pci:v00001102d00000004sv00001102sd00000058* +- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) + + pci:v00001102d00000004sv00001102sd00001002* +- ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 Platinum) + + pci:v00001102d00000004sv00001102sd00001003* +- ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0350 Audigy 2) + + pci:v00001102d00000004sv00001102sd00001007* +- ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 ++ ID_MODEL_FROM_DATABASE=SB Audigy (SB0240 Audigy 2 Platinum 6.1) + + pci:v00001102d00000004sv00001102sd00001009* +- ID_MODEL_FROM_DATABASE=SB Audigy2 OEM HP ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 OEM HP) + + pci:v00001102d00000004sv00001102sd00002001* +- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS Platinum Pro ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS Platinum Pro) + + pci:v00001102d00000004sv00001102sd00002002* +- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS (SB0350) ++ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS (SB0350)) + + pci:v00001102d00000004sv00001102sd00004001* +- ID_MODEL_FROM_DATABASE=E-MU 1010 ++ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 1010) + + pci:v00001102d00000004sv00001102sd00004002* +- ID_MODEL_FROM_DATABASE=E-MU 0404 ++ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 0404) + + pci:v00001102d00000005* + ID_MODEL_FROM_DATABASE=SB X-Fi + + pci:v00001102d00000005sv00001102sd00000021* +- ID_MODEL_FROM_DATABASE=X-Fi Platinum ++ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi Platinum) + + pci:v00001102d00000005sv00001102sd0000002C* +- ID_MODEL_FROM_DATABASE=X-Fi XtremeGamer FATAL1TY PRO ++ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeGamer FATAL1TY PRO) + + pci:v00001102d00000005sv00001102sd00001003* +- ID_MODEL_FROM_DATABASE=X-Fi XtremeMusic ++ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeMusic) + + pci:v00001102d00000006* + ID_MODEL_FROM_DATABASE=[SB Live! Value] EMU10k1X +@@ -28851,37 +28851,37 @@ pci:v00001102d00000007* + ID_MODEL_FROM_DATABASE=CA0106 Soundblaster + + pci:v00001102d00000007sv00001102sd00000007* +- ID_MODEL_FROM_DATABASE=SBLive! 24bit ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SBLive! 24bit) + + pci:v00001102d00000007sv00001102sd00001001* +- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0310 Audigy LS) + + pci:v00001102d00000007sv00001102sd00001002* +- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0312 Audigy LS) + + pci:v00001102d00000007sv00001102sd00001006* +- ID_MODEL_FROM_DATABASE=SB0410 SBLive! 24-bit ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0410 SBLive! 24-bit) + + pci:v00001102d00000007sv00001102sd0000100A* +- ID_MODEL_FROM_DATABASE=SB0570 [SB Audigy SE] ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0570 [SB Audigy SE]) + + pci:v00001102d00000007sv00001102sd00001012* +- ID_MODEL_FROM_DATABASE=SB0790 X-Fi XA ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0790 X-Fi XA) + + pci:v00001102d00000007sv00001102sd00001013* +- ID_MODEL_FROM_DATABASE=Soundblaster X-Fi Xtreme Audio ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (Soundblaster X-Fi Xtreme Audio) + + pci:v00001102d00000007sv00001462sd00001009* +- ID_MODEL_FROM_DATABASE=K8N Diamond ++ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (K8N Diamond) + + pci:v00001102d00000008* + ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value + + pci:v00001102d00000008sv00001102sd00000008* +- ID_MODEL_FROM_DATABASE=EMU0404 Digital Audio System ++ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU0404 Digital Audio System) + + pci:v00001102d00000008sv00001102sd00004004* +- ID_MODEL_FROM_DATABASE=EMU1010 Digital Audio System [MAEM8960] ++ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU1010 Digital Audio System [MAEM8960]) + + pci:v00001102d00000009* + ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG +@@ -28890,13 +28890,13 @@ pci:v00001102d00000009sv00001102sd00000010* + ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG + + pci:v00001102d00000009sv00001102sd00000018* +- ID_MODEL_FROM_DATABASE=SB1040 ++ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG (SB1040) + + pci:v00001102d0000000B* + ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] + + pci:v00001102d0000000Bsv00001102sd00000041* +- ID_MODEL_FROM_DATABASE=SB0880 [SoundBlaster X-Fi Titanium PCI-e] ++ ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) + + pci:v00001102d00004001* + ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port +@@ -28908,7 +28908,7 @@ pci:v00001102d00007002* + ID_MODEL_FROM_DATABASE=SB Live! Game Port + + pci:v00001102d00007002sv00001102sd00000020* +- ID_MODEL_FROM_DATABASE=Gameport Joystick ++ ID_MODEL_FROM_DATABASE=SB Live! Game Port (Gameport Joystick) + + pci:v00001102d00007003* + ID_MODEL_FROM_DATABASE=SB Audigy Game Port +@@ -28917,7 +28917,7 @@ pci:v00001102d00007003sv00001102sd00000040* + ID_MODEL_FROM_DATABASE=SB Audigy Game Port + + pci:v00001102d00007003sv00001102sd00000060* +- ID_MODEL_FROM_DATABASE=SB Audigy2 MIDI/Game Port ++ ID_MODEL_FROM_DATABASE=SB Audigy Game Port (SB Audigy2 MIDI/Game Port) + + pci:v00001102d00007004* + ID_MODEL_FROM_DATABASE=[SB Live! Value] Input device controller +@@ -28926,10 +28926,10 @@ pci:v00001102d00007005* + ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port + + pci:v00001102d00007005sv00001102sd00001001* +- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS MIDI/Game port ++ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0310 Audigy LS MIDI/Game port) + + pci:v00001102d00007005sv00001102sd00001002* +- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS MIDI/Game port ++ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0312 Audigy LS MIDI/Game port) + + pci:v00001102d00007006* + ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge +@@ -28938,49 +28938,49 @@ pci:v00001102d00008938* + ID_MODEL_FROM_DATABASE=Ectiva EV1938 + + pci:v00001102d00008938sv00001033sd000080E5* +- ID_MODEL_FROM_DATABASE=SlimTower-Jim (NEC) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (SlimTower-Jim (NEC)) + + pci:v00001102d00008938sv00001071sd00007150* +- ID_MODEL_FROM_DATABASE=Mitac 7150 ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Mitac 7150) + + pci:v00001102d00008938sv0000110Asd00005938* +- ID_MODEL_FROM_DATABASE=Siemens Scenic Mobile 510PIII ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Siemens Scenic Mobile 510PIII) + + pci:v00001102d00008938sv000013BDsd0000100C* +- ID_MODEL_FROM_DATABASE=Ceres-C (Sharp, Intel BX) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Ceres-C (Sharp, Intel BX)) + + pci:v00001102d00008938sv000013BDsd0000100D* +- ID_MODEL_FROM_DATABASE=Sharp, Intel Banister ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Sharp, Intel Banister) + + pci:v00001102d00008938sv000013BDsd0000100E* +- ID_MODEL_FROM_DATABASE=TwinHead P09S/P09S3 (Sharp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (TwinHead P09S/P09S3 (Sharp)) + + pci:v00001102d00008938sv000013BDsd0000F6F1* +- ID_MODEL_FROM_DATABASE=Marlin (Sharp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Marlin (Sharp)) + + pci:v00001102d00008938sv000014FFsd00000E70* +- ID_MODEL_FROM_DATABASE=P88TE (TWINHEAD INTERNATIONAL Corp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (P88TE (TWINHEAD INTERNATIONAL Corp)) + + pci:v00001102d00008938sv000014FFsd0000C401* +- ID_MODEL_FROM_DATABASE=Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)) + + pci:v00001102d00008938sv0000156Dsd0000B400* +- ID_MODEL_FROM_DATABASE=G400 - Geo (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G400 - Geo (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B550* +- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B560* +- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B700* +- ID_MODEL_FROM_DATABASE=G700/U700 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G700/U700 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B795* +- ID_MODEL_FROM_DATABASE=G795 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G795 (AlphaTop (Taiwan))) + + pci:v00001102d00008938sv0000156Dsd0000B797* +- ID_MODEL_FROM_DATABASE=G797 (AlphaTop (Taiwan)) ++ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G797 (AlphaTop (Taiwan))) + + pci:v00001103* + ID_VENDOR_FROM_DATABASE=HighPoint Technologies, Inc. +@@ -28992,16 +28992,16 @@ pci:v00001103d00000004* + ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N + + pci:v00001103d00000004sv00001103sd00000001* +- ID_MODEL_FROM_DATABASE=HPT370A ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370A) + + pci:v00001103d00000004sv00001103sd00000004* +- ID_MODEL_FROM_DATABASE=HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)) + + pci:v00001103d00000004sv00001103sd00000005* +- ID_MODEL_FROM_DATABASE=HPT370 UDMA100 ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370 UDMA100) + + pci:v00001103d00000004sv00001103sd00000006* +- ID_MODEL_FROM_DATABASE=HPT302/302N ++ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT302/302N) + + pci:v00001103d00000005* + ID_MODEL_FROM_DATABASE=HPT372A/372N +@@ -29040,7 +29040,7 @@ pci:v00001103d00002210* + ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller + + pci:v00001103d00002210sv000011ABsd000011AB* +- ID_MODEL_FROM_DATABASE=88SX6042 ++ ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller (88SX6042) + + pci:v00001103d00002300* + ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller +@@ -29112,13 +29112,13 @@ pci:v00001105d00008475* + ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder + + pci:v00001105d00008475sv00001105sd00000001* +- ID_MODEL_FROM_DATABASE=REALmagic X-Card ++ ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder (REALmagic X-Card) + + pci:v00001105d00008476* + ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder + + pci:v00001105d00008476sv0000127Dsd00000000* +- ID_MODEL_FROM_DATABASE=CineView II ++ ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder (CineView II) + + pci:v00001105d00008485* + ID_MODEL_FROM_DATABASE=EM8485 REALmagic DVD/MPEG-4 A/V Decoder +@@ -29163,7 +29163,7 @@ pci:v00001106d00000282* + ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge + + pci:v00001106d00000282sv00001043sd000080A3* +- ID_MODEL_FROM_DATABASE=A8V Deluxe ++ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge (A8V Deluxe) + + pci:v00001106d00000290* + ID_MODEL_FROM_DATABASE=K8M890 Host Bridge +@@ -29178,28 +29178,28 @@ pci:v00001106d00000305* + ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] + + pci:v00001106d00000305sv00001019sd00000987* +- ID_MODEL_FROM_DATABASE=K7VZA Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (K7VZA Mainboard) + + pci:v00001106d00000305sv00001043sd00008033* +- ID_MODEL_FROM_DATABASE=A7V Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V Mainboard) + + pci:v00001106d00000305sv00001043sd0000803E* +- ID_MODEL_FROM_DATABASE=A7V-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V-E Mainboard) + + pci:v00001106d00000305sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V133/A7V133-C Mainboard) + + pci:v00001106d00000305sv0000147Bsd0000A401* +- ID_MODEL_FROM_DATABASE=KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard ++ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard) + + pci:v00001106d00000308* + ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge + + pci:v00001106d00000308sv00001043sd00008199* +- ID_MODEL_FROM_DATABASE=P4V800D-X Mainboard ++ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (P4V800D-X Mainboard) + + pci:v00001106d00000308sv00001849sd00000308* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (Motherboard) + + pci:v00001106d00000314* + ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge +@@ -29226,7 +29226,7 @@ pci:v00001106d00000364* + ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge + + pci:v00001106d00000364sv00001043sd000081CE* +- ID_MODEL_FROM_DATABASE=P5VD2-VM mothervoard ++ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge (P5VD2-VM mothervoard) + + pci:v00001106d00000391* + ID_MODEL_FROM_DATABASE=VT8371 [KX133] +@@ -29241,7 +29241,7 @@ pci:v00001106d00000415* + ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller + + pci:v00001106d00000415sv00001043sd0000838F* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller (Motherboard) + + pci:v00001106d00000501* + ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] +@@ -29256,55 +29256,55 @@ pci:v00001106d00000571* + ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE + + pci:v00001106d00000571sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (P6VXA Motherboard) + + pci:v00001106d00000571sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00000571sv00001043sd00008052* +- ID_MODEL_FROM_DATABASE=VT8233A Bus Master ATA100/66/33 IDE ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT8233A Bus Master ATA100/66/33 IDE) + + pci:v00001106d00000571sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V8X / A7V333 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X / A7V333 motherboard) + + pci:v00001106d00000571sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev. 1.01 ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X-X motherboard rev. 1.01) + + pci:v00001106d00000571sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00000571sv00001106sd00000571* +- ID_MODEL_FROM_DATABASE=VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE) + + pci:v00001106d00000571sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (Magnia Z310) + + pci:v00001106d00000571sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (FX41 motherboard) + + pci:v00001106d00000571sv00001458sd00005002* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (GA-7VAX Mainboard) + + pci:v00001106d00000571sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00000571sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T NEO 2 motherboard) + + pci:v00001106d00000571sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T Neo2-F V2.0) + + pci:v00001106d00000571sv00001462sd00007120* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT4AV motherboard) + + pci:v00001106d00000571sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8MM3-V mainboard) + + pci:v00001106d00000571sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KV8-MAX3 motherboard) + + pci:v00001106d00000571sv00001849sd00000571* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K7VT series Motherboards) + + pci:v00001106d00000576* + ID_MODEL_FROM_DATABASE=VT82C576 3V [Apollo Master] +@@ -29313,7 +29313,7 @@ pci:v00001106d00000581* + ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller + + pci:v00001106d00000581sv00001106sd00000581* +- ID_MODEL_FROM_DATABASE=Wrong IDE ID ++ ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller (Wrong IDE ID) + + pci:v00001106d00000585* + ID_MODEL_FROM_DATABASE=VT82C585VP [Apollo VP1/VPX] +@@ -29322,7 +29322,7 @@ pci:v00001106d00000586* + ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] + + pci:v00001106d00000586sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=MVP3 ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] (MVP3 ISA Bridge) + + pci:v00001106d00000591* + ID_MODEL_FROM_DATABASE=VT8237A SATA 2-Port Controller +@@ -29334,10 +29334,10 @@ pci:v00001106d00000596* + ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] + + pci:v00001106d00000596sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) + + pci:v00001106d00000596sv00001458sd00000596* +- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) + + pci:v00001106d00000597* + ID_MODEL_FROM_DATABASE=VT82C597 [Apollo VP3] +@@ -29352,10 +29352,10 @@ pci:v00001106d00000605* + ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] + + pci:v00001106d00000605sv0000103Csd00001254* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00001106d00000605sv00001043sd0000802C* +- ID_MODEL_FROM_DATABASE=CUV4X mainboard ++ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (CUV4X mainboard) + + pci:v00001106d00000680* + ID_MODEL_FROM_DATABASE=VT82C680 [Apollo P6] +@@ -29364,49 +29364,49 @@ pci:v00001106d00000686* + ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] + + pci:v00001106d00000686sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (P6VXA Motherboard) + + pci:v00001106d00000686sv0000103Csd00001256* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00001106d00000686sv00001043sd0000802C* +- ID_MODEL_FROM_DATABASE=CUV4X mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (CUV4X mainboard) + + pci:v00001106d00000686sv00001043sd00008033* +- ID_MODEL_FROM_DATABASE=A7V Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V Mainboard) + + pci:v00001106d00000686sv00001043sd0000803E* +- ID_MODEL_FROM_DATABASE=A7V-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V-E Mainboard) + + pci:v00001106d00000686sv00001043sd00008040* +- ID_MODEL_FROM_DATABASE=A7M266 Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7M266 Mainboard) + + pci:v00001106d00000686sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V133/A7V133-C Mainboard) + + pci:v00001106d00000686sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) + + pci:v00001106d00000686sv00001106sd00000686* +- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) + + pci:v00001106d00000686sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (Magnia Z310) + + pci:v00001106d00000686sv0000147Bsd0000A702* +- ID_MODEL_FROM_DATABASE=KG7-Lite Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (KG7-Lite Mainboard) + + pci:v00001106d00000691* + ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] + + pci:v00001106d00000691sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (P6VXA Motherboard) + + pci:v00001106d00000691sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (Magnia Z310) + + pci:v00001106d00000691sv00001458sd00000691* +- ID_MODEL_FROM_DATABASE=VT82C691 Apollo Pro System Controller ++ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (VT82C691 Apollo Pro System Controller) + + pci:v00001106d00000693* + ID_MODEL_FROM_DATABASE=VT82C693 [Apollo Pro Plus] +@@ -29586,61 +29586,61 @@ pci:v00001106d00003038* + ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller + + pci:v00001106d00003038sv00000925sd00001234* +- ID_MODEL_FROM_DATABASE=VA-502 Mainboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VA-502 Mainboard) + + pci:v00001106d00003038sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (P6VXA Motherboard) + + pci:v00001106d00003038sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003038sv00001043sd00008080* +- ID_MODEL_FROM_DATABASE=A7V333 motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V333 motherboard) + + pci:v00001106d00003038sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=VT6202 USB2.0 4 port controller ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VT6202 USB2.0 4 port controller) + + pci:v00001106d00003038sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V8X-X motherboard) + + pci:v00001106d00003038sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003038sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (Magnia Z310) + + pci:v00001106d00003038sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (GA-7VAX Mainboard) + + pci:v00001106d00003038sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003038sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T NEO 2 motherboard) + + pci:v00001106d00003038sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T Neo2-F V2.0) + + pci:v00001106d00003038sv00001462sd00007120* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT4AV motherboard) + + pci:v00001106d00003038sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8MM3-V mainboard) + + pci:v00001106d00003038sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KV8-MAX3 motherboard) + + pci:v00001106d00003038sv0000182Dsd0000201D* +- ID_MODEL_FROM_DATABASE=CN-029 USB2.0 4 port PCI Card ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (CN-029 USB2.0 4 port PCI Card) + + pci:v00001106d00003038sv00001849sd00003038* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K7VT series Motherboards) + + pci:v00001106d00003038sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (ZBOX nano VD01) + + pci:v00001106d00003038sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (QEMU Virtual Machine) + + pci:v00001106d00003040* + ID_MODEL_FROM_DATABASE=VT82C586B ACPI +@@ -29649,52 +29649,52 @@ pci:v00001106d00003043* + ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] + + pci:v00001106d00003043sv000010BDsd00000000* +- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) + + pci:v00001106d00003043sv00001106sd00000100* +- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) + + pci:v00001106d00003043sv00001186sd00001400* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev A ++ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (DFE-530TX rev A) + + pci:v00001106d00003044* + ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller + + pci:v00001106d00003044sv00000010sd00000001* +- ID_MODEL_FROM_DATABASE=IEEE 1394 4port DCST 1394-3+1B ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (IEEE 1394 4port DCST 1394-3+1B) + + pci:v00001106d00003044sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (TravelMate 290) + + pci:v00001106d00003044sv0000103Csd00002A20* +- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Pavilion t3030.de Desktop PC) + + pci:v00001106d00003044sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Media Center PC m7590n ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Media Center PC m7590n) + + pci:v00001106d00003044sv00001043sd0000808A* +- ID_MODEL_FROM_DATABASE=A8V/A8N/P4P800 series motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (A8V/A8N/P4P800 series motherboard) + + pci:v00001106d00003044sv00001043sd000081FE* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Motherboard) + + pci:v00001106d00003044sv00001458sd00001000* +- ID_MODEL_FROM_DATABASE=GA-7VT600-1394 Motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (GA-7VT600-1394 Motherboard) + + pci:v00001106d00003044sv00001462sd0000207D* +- ID_MODEL_FROM_DATABASE=K8NGM2 series motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8NGM2 series motherboard) + + pci:v00001106d00003044sv00001462sd0000217D* +- ID_MODEL_FROM_DATABASE=Aspire L250 ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Aspire L250) + + pci:v00001106d00003044sv00001462sd0000590D* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003044sv00001462sd0000702D* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8T NEO 2 motherboard) + + pci:v00001106d00003044sv00001462sd0000971D* +- ID_MODEL_FROM_DATABASE=MS-6917 ++ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (MS-6917) + + pci:v00001106d00003050* + ID_MODEL_FROM_DATABASE=VT82C596 Power Management +@@ -29709,205 +29709,205 @@ pci:v00001106d00003057* + ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] + + pci:v00001106d00003057sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (P6VXA Motherboard) + + pci:v00001106d00003057sv00001019sd00000987* +- ID_MODEL_FROM_DATABASE=K7VZA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (K7VZA Motherboard) + + pci:v00001106d00003057sv00001043sd00008033* +- ID_MODEL_FROM_DATABASE=A7V Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V Mainboard) + + pci:v00001106d00003057sv00001043sd0000803E* +- ID_MODEL_FROM_DATABASE=A7V-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V-E Mainboard) + + pci:v00001106d00003057sv00001043sd00008040* +- ID_MODEL_FROM_DATABASE=A7M266 Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7M266 Mainboard) + + pci:v00001106d00003057sv00001043sd00008042* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V133/A7V133-C Mainboard) + + pci:v00001106d00003057sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (Magnia Z310) + + pci:v00001106d00003058* + ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller + + pci:v00001106d00003058sv00000E11sd00000097* +- ID_MODEL_FROM_DATABASE=SoundMax Digital Integrated Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (SoundMax Digital Integrated Audio) + + pci:v00001106d00003058sv00000E11sd0000B194* +- ID_MODEL_FROM_DATABASE=Soundmax integrated digital audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Soundmax integrated digital audio) + + pci:v00001106d00003058sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (P6VXA Motherboard) + + pci:v00001106d00003058sv00001019sd00000987* +- ID_MODEL_FROM_DATABASE=K7VZA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (K7VZA Motherboard) + + pci:v00001106d00003058sv0000103Csd00001251* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00001106d00003058sv00001043sd00001106* +- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (A7V133/A7V133-C Mainboard) + + pci:v00001106d00003058sv00001106sd00004511* +- ID_MODEL_FROM_DATABASE=Onboard Audio on EP7KXA ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio on EP7KXA) + + pci:v00001106d00003058sv00001106sd0000AA03* +- ID_MODEL_FROM_DATABASE=VT1612A AC'97 Audio Controller ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (VT1612A AC'97 Audio Controller) + + pci:v00001106d00003058sv000011D4sd00005348* +- ID_MODEL_FROM_DATABASE=AD1881A audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (AD1881A audio) + + pci:v00001106d00003058sv00001458sd00007600* +- ID_MODEL_FROM_DATABASE=Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) + + pci:v00001106d00003058sv00001462sd00003091* +- ID_MODEL_FROM_DATABASE=MS-6309 Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 Onboard Audio) + + pci:v00001106d00003058sv00001462sd00003092* +- ID_MODEL_FROM_DATABASE=MS-6309 v2.x Mainboard (VIA VT1611A codec) ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 v2.x Mainboard (VIA VT1611A codec)) + + pci:v00001106d00003058sv00001462sd00003300* +- ID_MODEL_FROM_DATABASE=MS-6330 Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6330 Onboard Audio) + + pci:v00001106d00003058sv000015DDsd00007609* +- ID_MODEL_FROM_DATABASE=Onboard Audio ++ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) + + pci:v00001106d00003059* + ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller + + pci:v00001106d00003059sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003059sv00001019sd00001877* +- ID_MODEL_FROM_DATABASE=K8M800-M2 (V2.0) onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8M800-M2 (V2.0) onboard audio) + + pci:v00001106d00003059sv00001043sd00008095* +- ID_MODEL_FROM_DATABASE=A7V8X Motherboard (Realtek ALC650 codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X Motherboard (Realtek ALC650 codec)) + + pci:v00001106d00003059sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X-X Motherboard) + + pci:v00001106d00003059sv00001043sd000080B0* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])) + + pci:v00001106d00003059sv00001043sd0000810D* +- ID_MODEL_FROM_DATABASE=Asus P5VD1-X (AD1888 codec [SoundMax]) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Asus P5VD1-X (AD1888 codec [SoundMax])) + + pci:v00001106d00003059sv00001043sd0000812A* +- ID_MODEL_FROM_DATABASE=A8V Deluxe motherboard (Realtek ALC850 codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A8V Deluxe motherboard (Realtek ALC850 codec)) + + pci:v00001106d00003059sv000010ECsd00008168* +- ID_MODEL_FROM_DATABASE=High Definition Audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (High Definition Audio) + + pci:v00001106d00003059sv00001106sd00003059* +- ID_MODEL_FROM_DATABASE=L7VMM2 Motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VMM2 Motherboard) + + pci:v00001106d00003059sv00001106sd00004161* +- ID_MODEL_FROM_DATABASE=K7VT2 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT2 motherboard) + + pci:v00001106d00003059sv00001106sd00004170* +- ID_MODEL_FROM_DATABASE=PCPartner P4M800-8237R Motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (PCPartner P4M800-8237R Motherboard) + + pci:v00001106d00003059sv00001106sd00004552* +- ID_MODEL_FROM_DATABASE=Soyo KT-600 Dragon Plus (Realtek ALC 650) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Soyo KT-600 Dragon Plus (Realtek ALC 650)) + + pci:v00001106d00003059sv00001297sd0000C160* +- ID_MODEL_FROM_DATABASE=FX41 motherboard (Realtek ALC650 codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (FX41 motherboard (Realtek ALC650 codec)) + + pci:v00001106d00003059sv00001413sd0000147B* +- ID_MODEL_FROM_DATABASE=KV8 Pro motherboard onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8 Pro motherboard onboard audio) + + pci:v00001106d00003059sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-7VAX Onboard Audio (Realtek ALC650) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (GA-7VAX Onboard Audio (Realtek ALC650)) + + pci:v00001106d00003059sv00001462sd00000080* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8T NEO 2 motherboard) + + pci:v00001106d00003059sv00001462sd00003800* +- ID_MODEL_FROM_DATABASE=KT266 onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT266 onboard audio) + + pci:v00001106d00003059sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003059sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8MM3-V mainboard) + + pci:v00001106d00003059sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8-MAX3 motherboard) + + pci:v00001106d00003059sv00001695sd0000300C* +- ID_MODEL_FROM_DATABASE=EP-8KRA2+ Mainboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (EP-8KRA2+ Mainboard) + + pci:v00001106d00003059sv00001849sd00000850* +- ID_MODEL_FROM_DATABASE=ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)) + + pci:v00001106d00003059sv00001849sd00009739* +- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard (C-Media CMI9739A codec) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (P4VT8 Mainboard (C-Media CMI9739A codec)) + + pci:v00001106d00003059sv00001849sd00009761* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT series Motherboards) + + pci:v00001106d00003059sv00004005sd00004710* +- ID_MODEL_FROM_DATABASE=MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)) + + pci:v00001106d00003059sv0000A0A0sd000001B6* +- ID_MODEL_FROM_DATABASE=AK77-8XN onboard audio ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK77-8XN onboard audio) + + pci:v00001106d00003059sv0000A0A0sd00000342* +- ID_MODEL_FROM_DATABASE=AK86-L motherboard ++ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK86-L motherboard) + + pci:v00001106d00003065* + ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] + + pci:v00001106d00003065sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V8X-X Motherboard) + + pci:v00001106d00003065sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600-X Motherboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V600-X Motherboard) + + pci:v00001106d00003065sv00001106sd00000102* +- ID_MODEL_FROM_DATABASE=VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6102 [Rhine II] Embeded Ethernet Controller on VT8235) + + pci:v00001106d00003065sv00001186sd00001400* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev A ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev A) + + pci:v00001106d00003065sv00001186sd00001401* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev B ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev B) + + pci:v00001106d00003065sv000013B9sd00001421* +- ID_MODEL_FROM_DATABASE=LD-10/100AL PCI Fast Ethernet Adapter (rev.B) ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (LD-10/100AL PCI Fast Ethernet Adapter (rev.B)) + + pci:v00001106d00003065sv00001462sd00007061* +- ID_MODEL_FROM_DATABASE=MS-7061 ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (MS-7061) + + pci:v00001106d00003065sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K8MM3-V mainboard) + + pci:v00001106d00003065sv0000147Bsd00001C09* +- ID_MODEL_FROM_DATABASE=NV7 Motherboard ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (NV7 Motherboard) + + pci:v00001106d00003065sv00001695sd00003005* +- ID_MODEL_FROM_DATABASE=VT6103 ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6103) + + pci:v00001106d00003065sv00001695sd0000300C* +- ID_MODEL_FROM_DATABASE=Realtek ALC655 sound chip ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (Realtek ALC655 sound chip) + + pci:v00001106d00003065sv00001849sd00003065* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K7VT series Motherboards) + + pci:v00001106d00003068* + ID_MODEL_FROM_DATABASE=AC'97 Modem Controller + + pci:v00001106d00003068sv00001462sd0000309E* +- ID_MODEL_FROM_DATABASE=MS-6309 Saturn Motherboard ++ ID_MODEL_FROM_DATABASE=AC'97 Modem Controller (MS-6309 Saturn Motherboard) + + pci:v00001106d00003074* + ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge + + pci:v00001106d00003074sv00001043sd00008052* +- ID_MODEL_FROM_DATABASE=VT8233A ++ ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge (VT8233A) + + pci:v00001106d00003091* + ID_MODEL_FROM_DATABASE=VT8633 [Apollo Pro266] +@@ -29916,13 +29916,13 @@ pci:v00001106d00003099* + ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] + + pci:v00001106d00003099sv00001043sd00008064* +- ID_MODEL_FROM_DATABASE=A7V266-E Mainboard ++ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V266-E Mainboard) + + pci:v00001106d00003099sv00001043sd0000807F* +- ID_MODEL_FROM_DATABASE=A7V333 Mainboard ++ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V333 Mainboard) + + pci:v00001106d00003099sv00001849sd00003099* +- ID_MODEL_FROM_DATABASE=K7VT2 motherboard ++ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (K7VT2 motherboard) + + pci:v00001106d00003101* + ID_MODEL_FROM_DATABASE=VT8653 Host Bridge +@@ -29937,70 +29937,70 @@ pci:v00001106d00003104* + ID_MODEL_FROM_DATABASE=USB 2.0 + + pci:v00001106d00003104sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=USB 2.0 (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003104sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X motherboard) + + pci:v00001106d00003104sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev 1.01 ++ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X-X motherboard rev 1.01) + + pci:v00001106d00003104sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003104sv00001106sd00003104* +- ID_MODEL_FROM_DATABASE=USB 2.0 Controller ++ ID_MODEL_FROM_DATABASE=USB 2.0 (Controller) + + pci:v00001106d00003104sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (FX41 motherboard) + + pci:v00001106d00003104sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (GA-7VAX Mainboard) + + pci:v00001106d00003104sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=USB 2.0 (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003104sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T NEO 2 motherboard) + + pci:v00001106d00003104sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T Neo2-F V2.0) + + pci:v00001106d00003104sv00001462sd00007120* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (KT4AV motherboard) + + pci:v00001106d00003104sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K8MM3-V mainboard) + + pci:v00001106d00003104sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=USB 2.0 (KV8-MAX3 motherboard) + + pci:v00001106d00003104sv0000182Dsd0000201D* +- ID_MODEL_FROM_DATABASE=CN-029 USB 2.0 4 port PCI Card ++ ID_MODEL_FROM_DATABASE=USB 2.0 (CN-029 USB 2.0 4 port PCI Card) + + pci:v00001106d00003104sv00001849sd00003104* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=USB 2.0 (K7VT series Motherboards) + + pci:v00001106d00003104sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=USB 2.0 (ZBOX nano VD01) + + pci:v00001106d00003106* + ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] + + pci:v00001106d00003106sv00001106sd00000105* +- ID_MODEL_FROM_DATABASE=VT6106S [Rhine-III] ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (VT6106S [Rhine-III]) + + pci:v00001106d00003106sv00001186sd00001403* +- ID_MODEL_FROM_DATABASE=DFE-530TX rev C ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX rev C) + + pci:v00001106d00003106sv00001186sd00001405* +- ID_MODEL_FROM_DATABASE=DFE-520TX Fast Ethernet PCI Adapter ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-520TX Fast Ethernet PCI Adapter) + + pci:v00001106d00003106sv00001186sd00001406* +- ID_MODEL_FROM_DATABASE=DFE-530TX+ rev F2 ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX+ rev F2) + + pci:v00001106d00003106sv00001186sd00001407* +- ID_MODEL_FROM_DATABASE=DFE-538TX ++ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-538TX) + + pci:v00001106d00003108* + ID_MODEL_FROM_DATABASE=K8M800/K8N800/K8N800A [S3 UniChrome Pro] +@@ -30018,7 +30018,7 @@ pci:v00001106d00003116* + ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge + + pci:v00001106d00003116sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge (FX41 motherboard) + + pci:v00001106d00003118* + ID_MODEL_FROM_DATABASE=CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] +@@ -30045,7 +30045,7 @@ pci:v00001106d00003147* + ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge + + pci:v00001106d00003147sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V333 motherboard ++ ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge (A7V333 motherboard) + + pci:v00001106d00003148* + ID_MODEL_FROM_DATABASE=P4M266 Host Bridge +@@ -30054,34 +30054,34 @@ pci:v00001106d00003149* + ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller + + pci:v00001106d00003149sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003149sv00001458sd0000B003* +- ID_MODEL_FROM_DATABASE=GA-7VM400AM(F) Motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (GA-7VM400AM(F) Motherboard) + + pci:v00001106d00003149sv00001462sd00005901* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KT6 Delta-FIS2R (MS-6590)) + + pci:v00001106d00003149sv00001462sd00007020* +- ID_MODEL_FROM_DATABASE=K8T Neo 2 Motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo 2 Motherboard) + + pci:v00001106d00003149sv00001462sd00007094* +- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo2-F V2.0) + + pci:v00001106d00003149sv00001462sd00007181* +- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8MM3-V mainboard) + + pci:v00001106d00003149sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV8-MAX3 motherboard) + + pci:v00001106d00003149sv0000147Bsd00001408* +- ID_MODEL_FROM_DATABASE=KV7 ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV7) + + pci:v00001106d00003149sv00001849sd00003149* +- ID_MODEL_FROM_DATABASE=K7VT6 motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K7VT6 motherboard) + + pci:v00001106d00003149sv0000A0A0sd000004AD* +- ID_MODEL_FROM_DATABASE=AK86-L motherboard ++ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (AK86-L motherboard) + + pci:v00001106d00003156* + ID_MODEL_FROM_DATABASE=P/KN266 Host Bridge +@@ -30093,40 +30093,40 @@ pci:v00001106d00003164* + ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller + + pci:v00001106d00003164sv00001043sd000080F4* +- ID_MODEL_FROM_DATABASE=P4P800 Mainboard Deluxe ATX ++ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (P4P800 Mainboard Deluxe ATX) + + pci:v00001106d00003164sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (915P/G Neo2) + + pci:v00001106d00003168* + ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge + + pci:v00001106d00003168sv00001849sd00003168* +- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard ++ ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge (P4VT8 Mainboard) + + pci:v00001106d00003177* + ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge + + pci:v00001106d00003177sv00001019sd00000A81* +- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (L7VTA v1.0 Motherboard (KT400-8235)) + + pci:v00001106d00003177sv00001043sd0000808C* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X motherboard) + + pci:v00001106d00003177sv00001043sd000080A1* +- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X-X motherboard) + + pci:v00001106d00003177sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (KT4AV motherboard) + + pci:v00001106d00003177sv00001297sd0000F641* +- ID_MODEL_FROM_DATABASE=FX41 motherboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (FX41 motherboard) + + pci:v00001106d00003177sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (GA-7VAX Mainboard) + + pci:v00001106d00003177sv00001849sd00003177* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (K7VT series Motherboards) + + pci:v00001106d00003178* + ID_MODEL_FROM_DATABASE=ProSavageDDR P4N333 Host Bridge +@@ -30135,25 +30135,25 @@ pci:v00001106d00003188* + ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge + + pci:v00001106d00003188sv00001043sd000080A3* +- ID_MODEL_FROM_DATABASE=K8V Deluxe/K8V-X motherboard ++ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (K8V Deluxe/K8V-X motherboard) + + pci:v00001106d00003188sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (KV8-MAX3 motherboard) + + pci:v00001106d00003189* + ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge + + pci:v00001106d00003189sv00001043sd0000807F* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (A7V8X motherboard) + + pci:v00001106d00003189sv00001106sd00000000* +- ID_MODEL_FROM_DATABASE=KT4AV motherboard (KT400A) ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (KT4AV motherboard (KT400A)) + + pci:v00001106d00003189sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (GA-7VAX Mainboard) + + pci:v00001106d00003189sv00001849sd00003189* +- ID_MODEL_FROM_DATABASE=K7VT series Motherboards ++ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (K7VT series Motherboards) + + pci:v00001106d00003204* + ID_MODEL_FROM_DATABASE=K8M800 Host Bridge +@@ -30162,7 +30162,7 @@ pci:v00001106d00003205* + ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge + + pci:v00001106d00003205sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-7VM400M Motherboard ++ ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge (GA-7VM400M Motherboard) + + pci:v00001106d00003208* + ID_MODEL_FROM_DATABASE=PT890 Host Bridge +@@ -30177,19 +30177,19 @@ pci:v00001106d00003227* + ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] + + pci:v00001106d00003227sv00001043sd000080ED* +- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (A7V600/K8V-X/A8V Deluxe motherboard) + + pci:v00001106d00003227sv00001106sd00003227* +- ID_MODEL_FROM_DATABASE=DFI KT600-AL / Soltek SL-B9D-FGR Motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (DFI KT600-AL / Soltek SL-B9D-FGR Motherboard) + + pci:v00001106d00003227sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-7VT600 Motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (GA-7VT600 Motherboard) + + pci:v00001106d00003227sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (KV8-MAX3 motherboard) + + pci:v00001106d00003227sv00001849sd00003227* +- ID_MODEL_FROM_DATABASE=K7VT4 motherboard ++ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (K7VT4 motherboard) + + pci:v00001106d00003230* + ID_MODEL_FROM_DATABASE=K8M890CE/K8N890CE [Chrome 9] +@@ -30237,7 +30237,7 @@ pci:v00001106d00003288* + ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller + + pci:v00001106d00003288sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX VD01 ++ ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller (ZBOX VD01) + + pci:v00001106d00003290* + ID_MODEL_FROM_DATABASE=K8M890 Host Bridge +@@ -30294,10 +30294,10 @@ pci:v00001106d00003403* + ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller + + pci:v00001106d00003403sv00001043sd00008374* +- ID_MODEL_FROM_DATABASE=M5A88-V EVO ++ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (M5A88-V EVO) + + pci:v00001106d00003403sv00001043sd00008384* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (P8P67 Deluxe Motherboard) + + pci:v00001106d00003409* + ID_MODEL_FROM_DATABASE=VX855/VX875 DRAM Bus Control +@@ -30306,7 +30306,7 @@ pci:v00001106d00003410* + ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control + + pci:v00001106d00003410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control (ZBOX nano VD01) + + pci:v00001106d00003432* + ID_MODEL_FROM_DATABASE=VL80x xHCI USB 3.0 Controller +@@ -30378,7 +30378,7 @@ pci:v00001106d00004410* + ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control + + pci:v00001106d00004410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control (ZBOX nano VD01) + + pci:v00001106d00005030* + ID_MODEL_FROM_DATABASE=VT82C596 ACPI [Apollo PRO] +@@ -30456,7 +30456,7 @@ pci:v00001106d00006410* + ID_MODEL_FROM_DATABASE=VX900 Scratch Registers + + pci:v00001106d00006410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 Scratch Registers (ZBOX nano VD01) + + pci:v00001106d00007122* + ID_MODEL_FROM_DATABASE=VX900 Graphics [Chrome9 HD] +@@ -30468,10 +30468,10 @@ pci:v00001106d00007205* + ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] + + pci:v00001106d00007205sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=Gigabyte GA-7VM400(A)M(F) Motherboard ++ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (Gigabyte GA-7VM400(A)M(F) Motherboard) + + pci:v00001106d00007205sv00001462sd00007061* +- ID_MODEL_FROM_DATABASE=MS-7061 ++ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (MS-7061) + + pci:v00001106d00007208* + ID_MODEL_FROM_DATABASE=PT890 Host Bridge +@@ -30534,7 +30534,7 @@ pci:v00001106d00007410* + ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control + + pci:v00001106d00007410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 ++ ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control (ZBOX nano VD01) + + pci:v00001106d00008231* + ID_MODEL_FROM_DATABASE=VT8231 [PCI-to-ISA Bridge] +@@ -30564,7 +30564,7 @@ pci:v00001106d00008410* + ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management + + pci:v00001106d00008410sv000019DAsd0000A179* +- ID_MODEL_FROM_DATABASE=ZBOX VD01 ++ ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management (ZBOX VD01) + + pci:v00001106d00008500* + ID_MODEL_FROM_DATABASE=KLE133/PLE133/PLE133T +@@ -30582,7 +30582,7 @@ pci:v00001106d00008598* + ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] + + pci:v00001106d00008598sv00001019sd00000985* +- ID_MODEL_FROM_DATABASE=P6VXA Motherboard ++ ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] (P6VXA Motherboard) + + pci:v00001106d00008601* + ID_MODEL_FROM_DATABASE=VT8601 [Apollo ProMedia AGP] +@@ -30669,7 +30669,7 @@ pci:v00001106d0000B188* + ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] + + pci:v00001106d0000B188sv0000147Bsd00001407* +- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard ++ ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] (KV8-MAX3 motherboard) + + pci:v00001106d0000B198* + ID_MODEL_FROM_DATABASE=VT8237/VX700 PCI Bridge +@@ -30846,7 +30846,7 @@ pci:v0000110Ad00004029sv0000110Asd00004029* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 + + pci:v0000110Ad00004029sv0000110Asd0000C029* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 (SIMATIC NET CP 5614 A2) + + pci:v0000110Ad00004035* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 +@@ -30864,7 +30864,7 @@ pci:v0000110Ad00004069sv0000110Asd00004069* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 + + pci:v0000110Ad00004069sv0000110Asd0000C069* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 (SIMATIC NET CP 5624) + + pci:v0000110Ad0000407C* + ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 +@@ -30942,25 +30942,25 @@ pci:v00001113d00001211* + ID_MODEL_FROM_DATABASE=SMC2-1211TX + + pci:v00001113d00001211sv0000103Csd00001207* +- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) + + pci:v00001113d00001211sv00001113sd00001211* +- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) + + pci:v00001113d00001216* + ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter + + pci:v00001113d00001216sv00001113sd00001216* +- ID_MODEL_FROM_DATABASE=EN1207F series PCI Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN1207F series PCI Fast Ethernet Adapter) + + pci:v00001113d00001216sv00001113sd00002220* +- ID_MODEL_FROM_DATABASE=EN2220A Cardbus Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2220A Cardbus Fast Ethernet Adapter) + + pci:v00001113d00001216sv00001113sd00002242* +- ID_MODEL_FROM_DATABASE=EN2242 10/100 Ethernet Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2242 10/100 Ethernet Mini-PCI Card) + + pci:v00001113d00001216sv0000111Asd00001020* +- ID_MODEL_FROM_DATABASE=SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] ++ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]) + + pci:v00001113d00001217* + ID_MODEL_FROM_DATABASE=EN-1217 Ethernet Adapter +@@ -31272,37 +31272,37 @@ pci:v0000111Ad00000003* + ID_MODEL_FROM_DATABASE=ENI-25P ATM + + pci:v0000111Ad00000003sv0000111Asd00000000* +- ID_MODEL_FROM_DATABASE=ENI-25p Miniport ATM Adapter ++ ID_MODEL_FROM_DATABASE=ENI-25P ATM (ENI-25p Miniport ATM Adapter) + + pci:v0000111Ad00000005* + ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) + + pci:v0000111Ad00000005sv0000111Asd00000001* +- ID_MODEL_FROM_DATABASE=ENI-3010 ATM ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) + + pci:v0000111Ad00000005sv0000111Asd00000009* +- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0)) + + pci:v0000111Ad00000005sv0000111Asd00000101* +- ID_MODEL_FROM_DATABASE=ENI-3010 ATM ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) + + pci:v0000111Ad00000005sv0000111Asd00000109* +- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0)) + + pci:v0000111Ad00000005sv0000111Asd00000809* +- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0 or 8) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0 or 8)) + + pci:v0000111Ad00000005sv0000111Asd00000909* +- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0 or 8) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0 or 8)) + + pci:v0000111Ad00000005sv0000111Asd00000A09* +- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=<0..15>) ++ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=<0..15>)) + + pci:v0000111Ad00000007* + ID_MODEL_FROM_DATABASE=SpeedStream ADSL + + pci:v0000111Ad00000007sv0000111Asd00001001* +- ID_MODEL_FROM_DATABASE=ENI-3061 ADSL [ASIC] ++ ID_MODEL_FROM_DATABASE=SpeedStream ADSL (ENI-3061 ADSL [ASIC]) + + pci:v0000111Ad00001020* + ID_MODEL_FROM_DATABASE=SpeedStream PCI 10/100 Network Card +@@ -31446,7 +31446,7 @@ pci:v0000111Dd0000806A* + ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch + + pci:v0000111Dd0000806Asv000014C1sd0000000C* +- ID_MODEL_FROM_DATABASE=10G-PCIE2-8B2 ++ ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch (10G-PCIE2-8B2) + + pci:v0000111Dd0000806C* + ID_MODEL_FROM_DATABASE=PES16T4A/4T4G2 PCI Express Gen2 Switch +@@ -31515,7 +31515,7 @@ pci:v00001127d00000400* + ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter + + pci:v00001127d00000400sv00001127sd00000400* +- ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM ++ ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter (ForeRunnerHE ATM) + + pci:v00001129* + ID_VENDOR_FROM_DATABASE=Firmworks +@@ -31557,13 +31557,13 @@ pci:v00001131d00001561* + ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller + + pci:v00001131d00001561sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K onboard USB 1.1 host controller ++ ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller (C2K onboard USB 1.1 host controller) + + pci:v00001131d00001562* + ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller + + pci:v00001131d00001562sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K onboard USB 2.0 host controller ++ ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller (C2K onboard USB 2.0 host controller) + + pci:v00001131d00003400* + ID_MODEL_FROM_DATABASE=SmartPCI56(UCB1500) 56K Modem +@@ -31572,49 +31572,49 @@ pci:v00001131d00005400* + ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 + + pci:v00001131d00005400sv000012CAsd00000000* +- ID_MODEL_FROM_DATABASE=BlueICE ++ ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 (BlueICE) + + pci:v00001131d00005402* + ID_MODEL_FROM_DATABASE=TriMedia TM1300 + + pci:v00001131d00005402sv00001244sd00000F00* +- ID_MODEL_FROM_DATABASE=Fritz!Card DSL ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (Fritz!Card DSL) + + pci:v00001131d00005402sv000015EBsd00001300* +- ID_MODEL_FROM_DATABASE=DT1300 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1300) + + pci:v00001131d00005402sv000015EBsd00001302* +- ID_MODEL_FROM_DATABASE=DT1302 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1302) + + pci:v00001131d00005402sv000015EBsd00001304* +- ID_MODEL_FROM_DATABASE=DT1304 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1304) + + pci:v00001131d00005402sv000015EBsd00001305* +- ID_MODEL_FROM_DATABASE=DT1305 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1305) + + pci:v00001131d00005402sv000015EBsd00001306* +- ID_MODEL_FROM_DATABASE=PMCDT1306 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PMCDT1306) + + pci:v00001131d00005402sv000015EBsd00001308* +- ID_MODEL_FROM_DATABASE=DT1308 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1308) + + pci:v00001131d00005402sv000015EBsd00001331* +- ID_MODEL_FROM_DATABASE=DT1301 with SAA7121 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7121) + + pci:v00001131d00005402sv000015EBsd00001337* +- ID_MODEL_FROM_DATABASE=DT1301 with SAA7127 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7127) + + pci:v00001131d00005402sv000015EBsd00002D3D* +- ID_MODEL_FROM_DATABASE=X3D ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (X3D) + + pci:v00001131d00005402sv000015EBsd00007022* +- ID_MODEL_FROM_DATABASE=PTM1300 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PTM1300) + + pci:v00001131d00005405* + ID_MODEL_FROM_DATABASE=TriMedia TM1500 + + pci:v00001131d00005405sv00001136sd00000005* +- ID_MODEL_FROM_DATABASE=LCP-1500 ++ ID_MODEL_FROM_DATABASE=TriMedia TM1500 (LCP-1500) + + pci:v00001131d00005406* + ID_MODEL_FROM_DATABASE=TriMedia TM1700 +@@ -31623,409 +31623,409 @@ pci:v00001131d0000540B* + ID_MODEL_FROM_DATABASE=PNX1005 Media Processor + + pci:v00001131d0000540Bsv00001131sd00000020* +- ID_MODEL_FROM_DATABASE=PNXLite PCI Demo Board ++ ID_MODEL_FROM_DATABASE=PNX1005 Media Processor (PNXLite PCI Demo Board) + + pci:v00001131d00007130* + ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder + + pci:v00001131d00007130sv00000000sd00004016* +- ID_MODEL_FROM_DATABASE=Behold TV 401 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 401) + + pci:v00001131d00007130sv00000000sd00004051* +- ID_MODEL_FROM_DATABASE=Behold TV 405 FM ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 405 FM) + + pci:v00001131d00007130sv00000000sd00005051* +- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) + + pci:v00001131d00007130sv00000000sd0000505B* +- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) + + pci:v00001131d00007130sv0000102Bsd000048D0* +- ID_MODEL_FROM_DATABASE=Matrox CronosPlus ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Matrox CronosPlus) + + pci:v00001131d00007130sv00001048sd0000226B* +- ID_MODEL_FROM_DATABASE=ELSA EX-VISION 300TV ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (ELSA EX-VISION 300TV) + + pci:v00001131d00007130sv0000107Dsd00006655* +- ID_MODEL_FROM_DATABASE=WinFast DTV1000S ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (WinFast DTV1000S) + + pci:v00001131d00007130sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=SAA7130-based TV tuner card ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (SAA7130-based TV tuner card) + + pci:v00001131d00007130sv00001131sd00002001* +- ID_MODEL_FROM_DATABASE=10MOONS PCI TV CAPTURE CARD ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (10MOONS PCI TV CAPTURE CARD) + + pci:v00001131d00007130sv00001131sd00002005* +- ID_MODEL_FROM_DATABASE=Techcom (India) TV Tuner Card (SSD-TV-670) ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Techcom (India) TV Tuner Card (SSD-TV-670)) + + pci:v00001131d00007130sv00001458sd00009006* +- ID_MODEL_FROM_DATABASE=GT-PS700 DVB-S tuner ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (GT-PS700 DVB-S tuner) + + pci:v00001131d00007130sv00001461sd0000050C* +- ID_MODEL_FROM_DATABASE=Nagase Sangyo TransGear 3000TV ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Nagase Sangyo TransGear 3000TV) + + pci:v00001131d00007130sv00001461sd000010FF* +- ID_MODEL_FROM_DATABASE=AVerMedia DVD EZMaker ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AVerMedia DVD EZMaker) + + pci:v00001131d00007130sv00001461sd00002108* +- ID_MODEL_FROM_DATABASE=AverMedia AverTV/305 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV/305) + + pci:v00001131d00007130sv00001461sd00002115* +- ID_MODEL_FROM_DATABASE=AverMedia AverTV Studio 305 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV Studio 305) + + pci:v00001131d00007130sv0000153Bsd00001152* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 200 TV ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Terratec Cinergy 200 TV) + + pci:v00001131d00007130sv0000185Bsd0000C100* +- ID_MODEL_FROM_DATABASE=Compro VideoMate TV PVR/FM ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Compro VideoMate TV PVR/FM) + + pci:v00001131d00007130sv0000185Bsd0000C901* +- ID_MODEL_FROM_DATABASE=Videomate DVB-T200 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Videomate DVB-T200) + + pci:v00001131d00007130sv00005168sd00000138* +- ID_MODEL_FROM_DATABASE=LifeView FlyVIDEO2000 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (LifeView FlyVIDEO2000) + + pci:v00001131d00007130sv00005ACEsd00005010* +- ID_MODEL_FROM_DATABASE=Behold TV 501 ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 501) + + pci:v00001131d00007130sv00005ACEsd00005050* +- ID_MODEL_FROM_DATABASE=Behold TV 505 FM ++ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 FM) + + pci:v00001131d00007133* + ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder + + pci:v00001131d00007133sv00000000sd00004091* +- ID_MODEL_FROM_DATABASE=Beholder BeholdTV 409 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Beholder BeholdTV 409 FM) + + pci:v00001131d00007133sv00000000sd00005071* +- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) + + pci:v00001131d00007133sv00000000sd0000507B* +- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) + + pci:v00001131d00007133sv00000000sd00005201* +- ID_MODEL_FROM_DATABASE=Behold TV Columbus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV Columbus) + + pci:v00001131d00007133sv00000070sd00006701* +- ID_MODEL_FROM_DATABASE=WinTV HVR-1110 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (WinTV HVR-1110) + + pci:v00001131d00007133sv00001019sd00004CB5* +- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)) + + pci:v00001131d00007133sv00001043sd00000210* +- ID_MODEL_FROM_DATABASE=FlyTV mini Asus Digimatrix ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (FlyTV mini Asus Digimatrix) + + pci:v00001131d00007133sv00001043sd00004843* +- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7133 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ASUS TV-FM 7133) + + pci:v00001131d00007133sv00001043sd00004845* +- ID_MODEL_FROM_DATABASE=TV-FM 7135 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV-FM 7135) + + pci:v00001131d00007133sv00001043sd00004862* +- ID_MODEL_FROM_DATABASE=P7131 Dual ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (P7131 Dual) + + pci:v00001131d00007133sv00001043sd00004876* +- ID_MODEL_FROM_DATABASE=My Cinema-P7131 Hybrid ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (My Cinema-P7131 Hybrid) + + pci:v00001131d00007133sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (SAA713x-based TV tuner card) + + pci:v00001131d00007133sv00001131sd00002001* +- ID_MODEL_FROM_DATABASE=Proteus Pro [philips reference design] ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Proteus Pro [philips reference design]) + + pci:v00001131d00007133sv00001131sd00002018* +- ID_MODEL_FROM_DATABASE=Tiger reference design ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Tiger reference design) + + pci:v00001131d00007133sv00001131sd00004EE9* +- ID_MODEL_FROM_DATABASE=MonsterTV Mobile ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (MonsterTV Mobile) + + pci:v00001131d00007133sv00001131sd00007133* +- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 301i ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Pinnacle PCTV 301i) + + pci:v00001131d00007133sv000011BDsd0000002B* +- ID_MODEL_FROM_DATABASE=PCTV Stereo ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV Stereo) + + pci:v00001131d00007133sv000011BDsd0000002E* +- ID_MODEL_FROM_DATABASE=PCTV 110i (saa7133) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV 110i (saa7133)) + + pci:v00001131d00007133sv000012ABsd00000800* +- ID_MODEL_FROM_DATABASE=PURPLE TV ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PURPLE TV) + + pci:v00001131d00007133sv000013C2sd00002804* +- ID_MODEL_FROM_DATABASE=Technotrend Budget T-3000 Hybrid ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Technotrend Budget T-3000 Hybrid) + + pci:v00001131d00007133sv00001421sd00000335* +- ID_MODEL_FROM_DATABASE=Instant TV DVB-T Cardbus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV DVB-T Cardbus) + + pci:v00001131d00007133sv00001421sd00001370* +- ID_MODEL_FROM_DATABASE=Instant TV (saa7135) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV (saa7135)) + + pci:v00001131d00007133sv00001435sd00007330* +- ID_MODEL_FROM_DATABASE=VFG7330 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7330) + + pci:v00001131d00007133sv00001435sd00007350* +- ID_MODEL_FROM_DATABASE=VFG7350 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7350) + + pci:v00001131d00007133sv00001458sd00009001* +- ID_MODEL_FROM_DATABASE=GC-PTV-TAF Hybrid TV card ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GC-PTV-TAF Hybrid TV card) + + pci:v00001131d00007133sv00001458sd00009002* +- ID_MODEL_FROM_DATABASE=GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009003* +- ID_MODEL_FROM_DATABASE=GT-PTV-AF-RH Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-AF-RH Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009004* +- ID_MODEL_FROM_DATABASE=GT-P8000 DVB-T/Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P8000 DVB-T/Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009005* +- ID_MODEL_FROM_DATABASE=GT-P6000 Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P6000 Analog TV/FM tuner) + + pci:v00001131d00007133sv00001458sd00009008* +- ID_MODEL_FROM_DATABASE=GT-P5100 Analog TV tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P5100 Analog TV tuner) + + pci:v00001131d00007133sv00001461sd00001044* +- ID_MODEL_FROM_DATABASE=AVerTVHD MCE A180 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTVHD MCE A180) + + pci:v00001131d00007133sv00001461sd00004836* +- ID_MODEL_FROM_DATABASE=M10D Hybrid DVBT ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M10D Hybrid DVBT) + + pci:v00001131d00007133sv00001461sd0000861E* +- ID_MODEL_FROM_DATABASE=M105 PAL/SECAM/NTSC/FM Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M105 PAL/SECAM/NTSC/FM Tuner) + + pci:v00001131d00007133sv00001461sd0000A14B* +- ID_MODEL_FROM_DATABASE=AVerTV Studio 509 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTV Studio 509) + + pci:v00001131d00007133sv00001461sd0000A836* +- ID_MODEL_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M115 DVB-T, PAL/SECAM/NTSC Tuner) + + pci:v00001131d00007133sv00001461sd0000F01D* +- ID_MODEL_FROM_DATABASE=DVB-T Super 007 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (DVB-T Super 007) + + pci:v00001131d00007133sv00001461sd0000F31F* +- ID_MODEL_FROM_DATABASE=Avermedia AVerTV GO 007 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Avermedia AVerTV GO 007 FM) + + pci:v00001131d00007133sv00001461sd0000F936* +- ID_MODEL_FROM_DATABASE=Hybrid+FM PCI (rev A16D) ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Hybrid+FM PCI (rev A16D)) + + pci:v00001131d00007133sv00001462sd00006231* +- ID_MODEL_FROM_DATABASE=TV@nywhere Plus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV@nywhere Plus) + + pci:v00001131d00007133sv00001489sd00000214* +- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum FM) + + pci:v00001131d00007133sv000014C0sd00001212* +- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum Mini2 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum Mini2) + + pci:v00001131d00007133sv0000153Bsd00001160* +- ID_MODEL_FROM_DATABASE=Cinergy 250 PCI TV ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Cinergy 250 PCI TV) + + pci:v00001131d00007133sv0000153Bsd00001162* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Terratec Cinergy 400 mobile) + + pci:v00001131d00007133sv000017DEsd00007256* +- ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PlusTV All In One PI610 card) + + pci:v00001131d00007133sv000017DEsd00007350* +- ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 110 Digital / Analog HDTV Tuner) + + pci:v00001131d00007133sv000017DEsd00007352* +- ID_MODEL_FROM_DATABASE=ATSC 115 Digital / Analog HDTV Tuner ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 115 Digital / Analog HDTV Tuner) + + pci:v00001131d00007133sv0000185Bsd0000C100* +- ID_MODEL_FROM_DATABASE=VideoMate TV ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate TV) + + pci:v00001131d00007133sv0000185Bsd0000C900* +- ID_MODEL_FROM_DATABASE=VideoMate T750 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate T750) + + pci:v00001131d00007133sv00005168sd00000306* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T DUO ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T DUO) + + pci:v00001131d00007133sv00005168sd00000319* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio) + + pci:v00001131d00007133sv00005168sd00000502* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Duo CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Duo CardBus) + + pci:v00001131d00007133sv00005168sd00000520* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio CardBus) + + pci:v00001131d00007133sv00005168sd00001502* +- ID_MODEL_FROM_DATABASE=LifeView FlyTV CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV CardBus) + + pci:v00001131d00007133sv00005168sd00002502* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T CardBus) + + pci:v00001131d00007133sv00005168sd00002520* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-S Duo CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-S Duo CardBus) + + pci:v00001131d00007133sv00005168sd00003502* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Hybrid CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Hybrid CardBus) + + pci:v00001131d00007133sv00005168sd00003520* +- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio N CardBus ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio N CardBus) + + pci:v00001131d00007133sv00005ACEsd00005030* +- ID_MODEL_FROM_DATABASE=Behold TV 503 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 503 FM) + + pci:v00001131d00007133sv00005ACEsd00005090* +- ID_MODEL_FROM_DATABASE=Behold TV 509 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 509 FM) + + pci:v00001131d00007133sv00005ACEsd00006090* +- ID_MODEL_FROM_DATABASE=Behold TV 609 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) + + pci:v00001131d00007133sv00005ACEsd00006091* +- ID_MODEL_FROM_DATABASE=Behold TV 609 FM ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) + + pci:v00001131d00007133sv00005ACEsd00006092* +- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) + + pci:v00001131d00007133sv00005ACEsd00006093* +- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) + + pci:v00001131d00007133sv00005ACEsd00006190* +- ID_MODEL_FROM_DATABASE=Behold TV M6 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6) + + pci:v00001131d00007133sv00005ACEsd00006191* +- ID_MODEL_FROM_DATABASE=Behold TV M63 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M63) + + pci:v00001131d00007133sv00005ACEsd00006193* +- ID_MODEL_FROM_DATABASE=Behold TV M6 Extra ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6 Extra) + + pci:v00001131d00007133sv00005ACEsd00006290* +- ID_MODEL_FROM_DATABASE=Behold TV H6 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H6) + + pci:v00001131d00007133sv00005ACEsd00007090* +- ID_MODEL_FROM_DATABASE=Behold TV A7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV A7) + + pci:v00001131d00007133sv00005ACEsd00007150* +- ID_MODEL_FROM_DATABASE=Behold TV H75 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) + + pci:v00001131d00007133sv00005ACEsd00007151* +- ID_MODEL_FROM_DATABASE=Behold TV H75 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) + + pci:v00001131d00007133sv00005ACEsd00007190* +- ID_MODEL_FROM_DATABASE=Behold TV H7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) + + pci:v00001131d00007133sv00005ACEsd00007191* +- ID_MODEL_FROM_DATABASE=Behold TV H7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) + + pci:v00001131d00007133sv00005ACEsd00007290* +- ID_MODEL_FROM_DATABASE=Behold TV T7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV T7) + + pci:v00001131d00007133sv00005ACEsd00007591* +- ID_MODEL_FROM_DATABASE=Behold TV X7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) + + pci:v00001131d00007133sv00005ACEsd00007595* +- ID_MODEL_FROM_DATABASE=Behold TV X7 ++ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) + + pci:v00001131d00007134* + ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder + + pci:v00001131d00007134sv00000000sd00004036* +- ID_MODEL_FROM_DATABASE=Behold TV 403 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403) + + pci:v00001131d00007134sv00000000sd00004037* +- ID_MODEL_FROM_DATABASE=Behold TV 403 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403 FM) + + pci:v00001131d00007134sv00000000sd00004071* +- ID_MODEL_FROM_DATABASE=Behold TV 407 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 407 FM) + + pci:v00001131d00007134sv00001019sd00004CB4* +- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)) + + pci:v00001131d00007134sv00001043sd00000210* +- ID_MODEL_FROM_DATABASE=Digimatrix TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Digimatrix TV) + + pci:v00001131d00007134sv00001043sd00004840* +- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7134 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ASUS TV-FM 7134) + + pci:v00001131d00007134sv00001043sd00004842* +- ID_MODEL_FROM_DATABASE=TV-FM 7134 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (TV-FM 7134) + + pci:v00001131d00007134sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SAA713x-based TV tuner card) + + pci:v00001131d00007134sv00001131sd00002004* +- ID_MODEL_FROM_DATABASE=EUROPA V3 reference design ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EUROPA V3 reference design) + + pci:v00001131d00007134sv00001131sd00004E85* +- ID_MODEL_FROM_DATABASE=SKNet Monster TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SKNet Monster TV) + + pci:v00001131d00007134sv00001131sd00006752* +- ID_MODEL_FROM_DATABASE=EMPRESS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EMPRESS) + + pci:v00001131d00007134sv000011BDsd0000002B* +- ID_MODEL_FROM_DATABASE=PCTV Stereo ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV Stereo) + + pci:v00001131d00007134sv000011BDsd0000002D* +- ID_MODEL_FROM_DATABASE=PCTV 300i DVB-T + PAL ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV 300i DVB-T + PAL) + + pci:v00001131d00007134sv00001461sd00002C00* +- ID_MODEL_FROM_DATABASE=AverTV Hybrid+FM PCI ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverTV Hybrid+FM PCI) + + pci:v00001131d00007134sv00001461sd00009715* +- ID_MODEL_FROM_DATABASE=AVerTV Studio 307 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Studio 307) + + pci:v00001131d00007134sv00001461sd0000A70A* +- ID_MODEL_FROM_DATABASE=Avermedia AVerTV 307 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Avermedia AVerTV 307) + + pci:v00001131d00007134sv00001461sd0000A70B* +- ID_MODEL_FROM_DATABASE=AverMedia M156 / Medion 2819 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverMedia M156 / Medion 2819) + + pci:v00001131d00007134sv00001461sd0000D6EE* +- ID_MODEL_FROM_DATABASE=Cardbus TV/Radio (E500) ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Cardbus TV/Radio (E500)) + + pci:v00001131d00007134sv00001471sd0000B7E9* +- ID_MODEL_FROM_DATABASE=AVerTV Cardbus plus ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Cardbus plus) + + pci:v00001131d00007134sv0000153Bsd00001142* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 400 TV) + + pci:v00001131d00007134sv0000153Bsd00001143* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV) + + pci:v00001131d00007134sv0000153Bsd00001158* +- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV MK3 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV MK3) + + pci:v00001131d00007134sv00001540sd00009524* +- ID_MODEL_FROM_DATABASE=ProVideo PV952 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ProVideo PV952) + + pci:v00001131d00007134sv000016BEsd00000003* +- ID_MODEL_FROM_DATABASE=Medion 7134 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Medion 7134) + + pci:v00001131d00007134sv0000185Bsd0000C200* +- ID_MODEL_FROM_DATABASE=Compro VideoMate Gold+ Pal ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Compro VideoMate Gold+ Pal) + + pci:v00001131d00007134sv0000185Bsd0000C900* +- ID_MODEL_FROM_DATABASE=Videomate DVB-T300 ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Videomate DVB-T300) + + pci:v00001131d00007134sv00001894sd0000A006* +- ID_MODEL_FROM_DATABASE=KNC One TV-Station DVR ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station DVR) + + pci:v00001131d00007134sv00001894sd0000FE01* +- ID_MODEL_FROM_DATABASE=KNC One TV-Station RDS / Typhoon TV Tuner RDS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station RDS / Typhoon TV Tuner RDS) + + pci:v00001131d00007134sv00005168sd00000138* +- ID_MODEL_FROM_DATABASE=FLY TV PRIME 34FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FLY TV PRIME 34FM) + + pci:v00001131d00007134sv00005168sd00000300* +- ID_MODEL_FROM_DATABASE=FlyDVB-S ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FlyDVB-S) + + pci:v00001131d00007134sv00005ACEsd00005070* +- ID_MODEL_FROM_DATABASE=Behold TV 507 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 507 FM) + + pci:v00001131d00007134sv00005ACEsd00006070* +- ID_MODEL_FROM_DATABASE=Behold TV 607 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) + + pci:v00001131d00007134sv00005ACEsd00006071* +- ID_MODEL_FROM_DATABASE=Behold TV 607 FM ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) + + pci:v00001131d00007134sv00005ACEsd00006072* +- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) + + pci:v00001131d00007134sv00005ACEsd00006073* +- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS ++ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) + + pci:v00001131d00007145* + ID_MODEL_FROM_DATABASE=SAA7145 +@@ -32034,223 +32034,223 @@ pci:v00001131d00007146* + ID_MODEL_FROM_DATABASE=SAA7146 + + pci:v00001131d00007146sv0000110Asd00000000* +- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) + + pci:v00001131d00007146sv0000110Asd0000FFFF* +- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) + + pci:v00001131d00007146sv00001124sd00002581* +- ID_MODEL_FROM_DATABASE=Leutron Vision PicPort ++ ID_MODEL_FROM_DATABASE=SAA7146 (Leutron Vision PicPort) + + pci:v00001131d00007146sv00001131sd00004F56* +- ID_MODEL_FROM_DATABASE=KNC1 DVB-S Budget ++ ID_MODEL_FROM_DATABASE=SAA7146 (KNC1 DVB-S Budget) + + pci:v00001131d00007146sv00001131sd00004F60* +- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Activy DVB-S Budget Rev AL ++ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu-Siemens Activy DVB-S Budget Rev AL) + + pci:v00001131d00007146sv00001131sd00004F61* +- ID_MODEL_FROM_DATABASE=Activy DVB-S Budget Rev GR ++ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-S Budget Rev GR) + + pci:v00001131d00007146sv00001131sd00005F61* +- ID_MODEL_FROM_DATABASE=Activy DVB-T Budget ++ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-T Budget) + + pci:v00001131d00007146sv0000114Bsd00002003* +- ID_MODEL_FROM_DATABASE=DVRaptor Video Edit/Capture Card ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVRaptor Video Edit/Capture Card) + + pci:v00001131d00007146sv000011BDsd00000006* +- ID_MODEL_FROM_DATABASE=DV500 Overlay ++ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) + + pci:v00001131d00007146sv000011BDsd0000000A* +- ID_MODEL_FROM_DATABASE=DV500 Overlay ++ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) + + pci:v00001131d00007146sv000011BDsd0000000F* +- ID_MODEL_FROM_DATABASE=DV500 Overlay ++ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) + + pci:v00001131d00007146sv000013C2sd00000000* +- ID_MODEL_FROM_DATABASE=Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5) + + pci:v00001131d00007146sv000013C2sd00000001* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) + + pci:v00001131d00007146sv000013C2sd00000002* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv000013C2sd00000003* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv000013C2sd00000004* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv000013C2sd00000006* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) + + pci:v00001131d00007146sv000013C2sd00000008* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB-T ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB-T) + + pci:v00001131d00007146sv000013C2sd0000000A* +- ID_MODEL_FROM_DATABASE=Octal/Technotrend DVB-C for iTV ++ ID_MODEL_FROM_DATABASE=SAA7146 (Octal/Technotrend DVB-C for iTV) + + pci:v00001131d00007146sv000013C2sd0000000E* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.3) + + pci:v00001131d00007146sv000013C2sd00001003* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card) + + pci:v00001131d00007146sv000013C2sd00001004* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card) + + pci:v00001131d00007146sv000013C2sd00001005* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) + + pci:v00001131d00007146sv000013C2sd0000100C* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) + + pci:v00001131d00007146sv000013C2sd0000100F* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) + + pci:v00001131d00007146sv000013C2sd00001010* +- ID_MODEL_FROM_DATABASE=DVB C-1500 ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVB C-1500) + + pci:v00001131d00007146sv000013C2sd00001011* +- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) + + pci:v00001131d00007146sv000013C2sd00001012* +- ID_MODEL_FROM_DATABASE=DVB T-1500 ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVB T-1500) + + pci:v00001131d00007146sv000013C2sd00001013* +- ID_MODEL_FROM_DATABASE=SATELCO Multimedia DVB ++ ID_MODEL_FROM_DATABASE=SAA7146 (SATELCO Multimedia DVB) + + pci:v00001131d00007146sv000013C2sd00001016* +- ID_MODEL_FROM_DATABASE=WinTV-NOVA-SE DVB card ++ ID_MODEL_FROM_DATABASE=SAA7146 (WinTV-NOVA-SE DVB card) + + pci:v00001131d00007146sv000013C2sd00001018* +- ID_MODEL_FROM_DATABASE=DVB S-1401 ++ ID_MODEL_FROM_DATABASE=SAA7146 (DVB S-1401) + + pci:v00001131d00007146sv000013C2sd00001019* +- ID_MODEL_FROM_DATABASE=S2-3200 ++ ID_MODEL_FROM_DATABASE=SAA7146 (S2-3200) + + pci:v00001131d00007146sv000013C2sd00001102* +- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 ++ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) + + pci:v00001131d00007146sv0000153Bsd00001155* +- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-S ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) + + pci:v00001131d00007146sv0000153Bsd00001156* +- ID_MODEL_FROM_DATABASE=Terratec Cynergy 1200C ++ ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) + + pci:v00001131d00007146sv0000153Bsd00001157* +- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-T ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) + + pci:v00001131d00007146sv00001894sd00000020* +- ID_MODEL_FROM_DATABASE=KNC One DVB-C V1.0 ++ ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) + + pci:v00001131d00007146sv00001894sd00000023* +- ID_MODEL_FROM_DATABASE=TVStation DVB-C plus ++ ID_MODEL_FROM_DATABASE=SAA7146 (TVStation DVB-C plus) + + pci:v00001131d00007160* + ID_MODEL_FROM_DATABASE=SAA7160 + + pci:v00001131d00007160sv00001458sd00009009* +- ID_MODEL_FROM_DATABASE=E8000 DVB-T/Analog TV/FM tuner ++ ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) + + pci:v00001131d00007162* + ID_MODEL_FROM_DATABASE=SAA7162 + + pci:v00001131d00007162sv000011BDsd00000101* +- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 7010iX TV Card ++ ID_MODEL_FROM_DATABASE=SAA7162 (Pinnacle PCTV 7010iX TV Card) + + pci:v00001131d00007164* + ID_MODEL_FROM_DATABASE=SAA7164 + + pci:v00001131d00007164sv00000070sd00008800* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008810* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008851* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008853* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008880* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008891* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd000088A0* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd000088A1* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) + + pci:v00001131d00007164sv00000070sd00008900* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008901* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008940* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 (submodel 89619) ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200 (submodel 89619)) + + pci:v00001131d00007164sv00000070sd00008951* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008953* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008980* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008991* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd00008993* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd000089A0* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007164sv00000070sd000089A1* +- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 ++ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) + + pci:v00001131d00007231* + ID_MODEL_FROM_DATABASE=SAA7231 + + pci:v00001131d00007231sv00005ACEsd00008000* +- ID_MODEL_FROM_DATABASE=Behold TV H8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) + + pci:v00001131d00007231sv00005ACEsd00008001* +- ID_MODEL_FROM_DATABASE=Behold TV H8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) + + pci:v00001131d00007231sv00005ACEsd00008050* +- ID_MODEL_FROM_DATABASE=Behold TV H85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) + + pci:v00001131d00007231sv00005ACEsd00008051* +- ID_MODEL_FROM_DATABASE=Behold TV H85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) + + pci:v00001131d00007231sv00005ACEsd00008100* +- ID_MODEL_FROM_DATABASE=Behold TV A8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) + + pci:v00001131d00007231sv00005ACEsd00008101* +- ID_MODEL_FROM_DATABASE=Behold TV A8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) + + pci:v00001131d00007231sv00005ACEsd00008150* +- ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) + + pci:v00001131d00007231sv00005ACEsd00008151* +- ID_MODEL_FROM_DATABASE=Behold TV A85 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) + + pci:v00001131d00007231sv00005ACEsd00008201* +- ID_MODEL_FROM_DATABASE=Behold TV T8 ++ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV T8) + + pci:v00001131d00009730* + ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller + + pci:v00001131d00009730sv00001131sd00000000* +- ID_MODEL_FROM_DATABASE=Integrated Multimedia and Peripheral Controller ++ ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller (Integrated Multimedia and Peripheral Controller) + + pci:v00001132* + ID_VENDOR_FROM_DATABASE=Mitel Corp. +@@ -32364,7 +32364,7 @@ pci:v00001133d0000E010* + ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI + + pci:v00001133d0000E010sv0000110Asd00000021* +- ID_MODEL_FROM_DATABASE=Fujitsu Siemens ISDN S0 ++ ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI (Fujitsu Siemens ISDN S0) + + pci:v00001133d0000E011* + ID_MODEL_FROM_DATABASE=Diva Server BRI S/T Rev 2 +@@ -32376,10 +32376,10 @@ pci:v00001133d0000E013* + ID_MODEL_FROM_DATABASE=4BRI + + pci:v00001133d0000E013sv00001133sd00001300* +- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCI v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCI v2) + + pci:v00001133d0000E013sv00001133sd0000E013* +- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCI v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCI v2) + + pci:v00001133d0000E014* + ID_MODEL_FROM_DATABASE=Diva Server PRI-30M PCI +@@ -32394,22 +32394,22 @@ pci:v00001133d0000E017* + ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 + + pci:v00001133d0000E017sv00001133sd0000E017* +- ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI-8M 2.0 PCI ++ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 (Diva Server Voice 4BRI-8M 2.0 PCI) + + pci:v00001133d0000E018* + ID_MODEL_FROM_DATABASE=BRI + + pci:v00001133d0000E018sv00001133sd00001800* +- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCI v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCI v2) + + pci:v00001133d0000E018sv00001133sd0000E018* +- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCI v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCI v2) + + pci:v00001133d0000E019* + ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 + + pci:v00001133d0000E019sv00001133sd0000E019* +- ID_MODEL_FROM_DATABASE=Diva Server Voice PRI 2.0 PCI ++ ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 (Diva Server Voice PRI 2.0 PCI) + + pci:v00001133d0000E01A* + ID_MODEL_FROM_DATABASE=Diva BRI-2FX PCI v2 +@@ -32424,85 +32424,85 @@ pci:v00001133d0000E01C* + ID_MODEL_FROM_DATABASE=PRI + + pci:v00001133d0000E01Csv00001133sd00001C01* +- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-8 PCI v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-8 PCI v3) + + pci:v00001133d0000E01Csv00001133sd00001C02* +- ID_MODEL_FROM_DATABASE=Diva PRI/T1-24 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/T1-24 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C03* +- ID_MODEL_FROM_DATABASE=Diva PRI/E1-30 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1-30 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C04* +- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-CTI PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-CTI PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C05* +- ID_MODEL_FROM_DATABASE=Diva V-PRI/T1-24 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/T1-24 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C06* +- ID_MODEL_FROM_DATABASE=Diva V-PRI/E1-30 PCI(e) v3 ++ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/E1-30 PCI(e) v3) + + pci:v00001133d0000E01Csv00001133sd00001C07* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1-8 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1-8 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C08* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/T1-24 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/T1-24 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C09* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1-30 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1-30 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C0A* +- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C0B* +- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/T1-24 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/T1-24 Cornet NQ) + + pci:v00001133d0000E01Csv00001133sd00001C0C* +- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/E1-30 Cornet NQ ++ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/E1-30 Cornet NQ) + + pci:v00001133d0000E01E* + ID_MODEL_FROM_DATABASE=2PRI + + pci:v00001133d0000E01Esv00001133sd00001E01* +- ID_MODEL_FROM_DATABASE=Diva 2PRI/E1/T1-60 PCI v1 ++ ID_MODEL_FROM_DATABASE=2PRI (Diva 2PRI/E1/T1-60 PCI v1) + + pci:v00001133d0000E01Esv00001133sd0000E01E* +- ID_MODEL_FROM_DATABASE=Diva V-2PRI/E1/T1-60 PCI v1 ++ ID_MODEL_FROM_DATABASE=2PRI (Diva V-2PRI/E1/T1-60 PCI v1) + + pci:v00001133d0000E020* + ID_MODEL_FROM_DATABASE=4PRI + + pci:v00001133d0000E020sv00001133sd00002001* +- ID_MODEL_FROM_DATABASE=Diva 4PRI/E1/T1-120 PCI v1 ++ ID_MODEL_FROM_DATABASE=4PRI (Diva 4PRI/E1/T1-120 PCI v1) + + pci:v00001133d0000E020sv00001133sd0000E020* +- ID_MODEL_FROM_DATABASE=Diva V-4PRI/E1/T1-120 PCI v1 ++ ID_MODEL_FROM_DATABASE=4PRI (Diva V-4PRI/E1/T1-120 PCI v1) + + pci:v00001133d0000E022* + ID_MODEL_FROM_DATABASE=Analog-2 + + pci:v00001133d0000E022sv00001133sd00002200* +- ID_MODEL_FROM_DATABASE=Diva V-Analog-2 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-2 (Diva V-Analog-2 PCI v1) + + pci:v00001133d0000E022sv00001133sd0000E022* +- ID_MODEL_FROM_DATABASE=Diva Analog-2 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-2 (Diva Analog-2 PCI v1) + + pci:v00001133d0000E024* + ID_MODEL_FROM_DATABASE=Analog-4 + + pci:v00001133d0000E024sv00001133sd00002400* +- ID_MODEL_FROM_DATABASE=Diva V-Analog-4 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-4 (Diva V-Analog-4 PCI v1) + + pci:v00001133d0000E024sv00001133sd0000E024* +- ID_MODEL_FROM_DATABASE=Diva Analog-4 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-4 (Diva Analog-4 PCI v1) + + pci:v00001133d0000E028* + ID_MODEL_FROM_DATABASE=Analog-8 + + pci:v00001133d0000E028sv00001133sd00002800* +- ID_MODEL_FROM_DATABASE=Diva V-Analog-8 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-8 (Diva V-Analog-8 PCI v1) + + pci:v00001133d0000E028sv00001133sd0000E028* +- ID_MODEL_FROM_DATABASE=Diva Analog-8 PCI v1 ++ ID_MODEL_FROM_DATABASE=Analog-8 (Diva Analog-8 PCI v1) + + pci:v00001133d0000E02A* + ID_MODEL_FROM_DATABASE=Diva IPM-300 PCI v1 +@@ -32514,19 +32514,19 @@ pci:v00001133d0000E02E* + ID_MODEL_FROM_DATABASE=4BRI + + pci:v00001133d0000E02Esv00001133sd00002E01* +- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCIe v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCIe v2) + + pci:v00001133d0000E02Esv00001133sd0000E02E* +- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCIe v2 ++ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCIe v2) + + pci:v00001133d0000E032* + ID_MODEL_FROM_DATABASE=BRI + + pci:v00001133d0000E032sv00001133sd00003201* +- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCIe v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCIe v2) + + pci:v00001133d0000E032sv00001133sd0000E032* +- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCIe v2 ++ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCIe v2) + + pci:v00001133d0000E034* + ID_MODEL_FROM_DATABASE=Diva BRI-CTI PCI v2 +@@ -32574,88 +32574,88 @@ pci:v00001137d00000042* + ID_MODEL_FROM_DATABASE=VIC Management Controller + + pci:v00001137d00000042sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC P81E PCIe Management Controller) + + pci:v00001137d00000042sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225 PCIe Management Controller) + + pci:v00001137d00000042sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1285 PCIe Management Controller) + + pci:v00001137d00000042sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Management Controller ++ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225T PCIe Management Controller) + + pci:v00001137d00000043* + ID_MODEL_FROM_DATABASE=VIC Ethernet NIC + + pci:v00001137d00000043sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC P81E PCIe Ethernet NIC) + + pci:v00001137d00000043sv00001137sd00000048* +- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC M81KR Mezzanine Ethernet NIC) + + pci:v00001137d00000043sv00001137sd0000004F* +- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1280 Mezzanine Ethernet NIC) + + pci:v00001137d00000043sv00001137sd00000084* +- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1240 MLOM Ethernet NIC) + + pci:v00001137d00000043sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225 PCIe Ethernet NIC) + + pci:v00001137d00000043sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1285 PCIe Ethernet NIC) + + pci:v00001137d00000043sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225T PCIe Ethernet NIC) + + pci:v00001137d00000044* + ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic + + pci:v00001137d00000044sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC P81E PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd00000048* +- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC M81KR Mezzanine Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd0000004F* +- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1280 Mezzanine Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd00000084* +- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1240 MLOM Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225 PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1285 PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000044sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC Dynamic ++ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225T PCIe Ethernet NIC Dynamic) + + pci:v00001137d00000045* + ID_MODEL_FROM_DATABASE=VIC FCoE HBA + + pci:v00001137d00000045sv00001137sd00000047* +- ID_MODEL_FROM_DATABASE=VIC P81E PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC P81E PCIe FCoE HBA) + + pci:v00001137d00000045sv00001137sd00000048* +- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC M81KR Mezzanine FCoE HBA) + + pci:v00001137d00000045sv00001137sd0000004F* +- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1280 Mezzanine FCoE HBA) + + pci:v00001137d00000045sv00001137sd00000084* +- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1240 MLOM FCoE HBA) + + pci:v00001137d00000045sv00001137sd00000085* +- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225 PCIe FCoE HBA) + + pci:v00001137d00000045sv00001137sd000000CD* +- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1285 PCIe FCoE HBA) + + pci:v00001137d00000045sv00001137sd000000CE* +- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe FCoE HBA ++ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225T PCIe FCoE HBA) + + pci:v00001137d0000004E* + ID_MODEL_FROM_DATABASE=VIC 82 PCIe Upstream Port +@@ -32814,49 +32814,49 @@ pci:v00001148d00004000* + ID_MODEL_FROM_DATABASE=FDDI Adapter + + pci:v00001148d00004000sv00000E11sd0000B03B* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS Fibre SC ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS Fibre SC) + + pci:v00001148d00004000sv00000E11sd0000B03C* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre SC ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre SC) + + pci:v00001148d00004000sv00000E11sd0000B03D* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS UTP ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS UTP) + + pci:v00001148d00004000sv00000E11sd0000B03E* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS UTP ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS UTP) + + pci:v00001148d00004000sv00000E11sd0000B03F* +- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre MIC ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre MIC) + + pci:v00001148d00004000sv00001148sd00005521* +- ID_MODEL_FROM_DATABASE=FDDI SK-5521 (SK-NET FDDI-UP) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5521 (SK-NET FDDI-UP)) + + pci:v00001148d00004000sv00001148sd00005522* +- ID_MODEL_FROM_DATABASE=FDDI SK-5522 (SK-NET FDDI-UP DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5522 (SK-NET FDDI-UP DAS)) + + pci:v00001148d00004000sv00001148sd00005541* +- ID_MODEL_FROM_DATABASE=FDDI SK-5541 (SK-NET FDDI-FP) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5541 (SK-NET FDDI-FP)) + + pci:v00001148d00004000sv00001148sd00005543* +- ID_MODEL_FROM_DATABASE=FDDI SK-5543 (SK-NET FDDI-LP) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5543 (SK-NET FDDI-LP)) + + pci:v00001148d00004000sv00001148sd00005544* +- ID_MODEL_FROM_DATABASE=FDDI SK-5544 (SK-NET FDDI-LP DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5544 (SK-NET FDDI-LP DAS)) + + pci:v00001148d00004000sv00001148sd00005821* +- ID_MODEL_FROM_DATABASE=FDDI SK-5821 (SK-NET FDDI-UP64) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5821 (SK-NET FDDI-UP64)) + + pci:v00001148d00004000sv00001148sd00005822* +- ID_MODEL_FROM_DATABASE=FDDI SK-5822 (SK-NET FDDI-UP64 DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5822 (SK-NET FDDI-UP64 DAS)) + + pci:v00001148d00004000sv00001148sd00005841* +- ID_MODEL_FROM_DATABASE=FDDI SK-5841 (SK-NET FDDI-FP64) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5841 (SK-NET FDDI-FP64)) + + pci:v00001148d00004000sv00001148sd00005843* +- ID_MODEL_FROM_DATABASE=FDDI SK-5843 (SK-NET FDDI-LP64) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5843 (SK-NET FDDI-LP64)) + + pci:v00001148d00004000sv00001148sd00005844* +- ID_MODEL_FROM_DATABASE=FDDI SK-5844 (SK-NET FDDI-LP64 DAS) ++ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5844 (SK-NET FDDI-LP64 DAS)) + + pci:v00001148d00004200* + ID_MODEL_FROM_DATABASE=Token Ring adapter +@@ -32865,115 +32865,115 @@ pci:v00001148d00004300* + ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + + pci:v00001148d00004300sv00001148sd00009821* +- ID_MODEL_FROM_DATABASE=SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)) + + pci:v00001148d00004300sv00001148sd00009822* +- ID_MODEL_FROM_DATABASE=SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)) + + pci:v00001148d00004300sv00001148sd00009841* +- ID_MODEL_FROM_DATABASE=SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)) + + pci:v00001148d00004300sv00001148sd00009842* +- ID_MODEL_FROM_DATABASE=SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)) + + pci:v00001148d00004300sv00001148sd00009843* +- ID_MODEL_FROM_DATABASE=SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)) + + pci:v00001148d00004300sv00001148sd00009844* +- ID_MODEL_FROM_DATABASE=SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)) + + pci:v00001148d00004300sv00001148sd00009861* +- ID_MODEL_FROM_DATABASE=SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)) + + pci:v00001148d00004300sv00001148sd00009862* +- ID_MODEL_FROM_DATABASE=SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)) + + pci:v00001148d00004300sv00001148sd00009871* +- ID_MODEL_FROM_DATABASE=SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)) + + pci:v00001148d00004300sv00001148sd00009872* + ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + + pci:v00001148d00004300sv00001259sd00002970* +- ID_MODEL_FROM_DATABASE=AT-2970SX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002971* +- ID_MODEL_FROM_DATABASE=AT-2970LX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002972* +- ID_MODEL_FROM_DATABASE=AT-2970TX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002973* +- ID_MODEL_FROM_DATABASE=AT-2971SX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971SX Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002974* +- ID_MODEL_FROM_DATABASE=AT-2971T Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971T Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002975* +- ID_MODEL_FROM_DATABASE=AT-2970SX/2SC Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX/2SC Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002976* +- ID_MODEL_FROM_DATABASE=AT-2970LX/2SC Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX/2SC Gigabit Ethernet Adapter) + + pci:v00001148d00004300sv00001259sd00002977* +- ID_MODEL_FROM_DATABASE=AT-2970TX/2TX Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX/2TX Gigabit Ethernet Adapter) + + pci:v00001148d00004320* + ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC + + pci:v00001148d00004320sv00001148sd00000121* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8001 Adapter) + + pci:v00001148d00004320sv00001148sd00000221* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8002 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8002 Adapter) + + pci:v00001148d00004320sv00001148sd00000321* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8003 Adapter) + + pci:v00001148d00004320sv00001148sd00000421* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8004 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8004 Adapter) + + pci:v00001148d00004320sv00001148sd00000621* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8006 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8006 Adapter) + + pci:v00001148d00004320sv00001148sd00000721* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8007 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8007 Adapter) + + pci:v00001148d00004320sv00001148sd00000821* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8008 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8008 Adapter) + + pci:v00001148d00004320sv00001148sd00000921* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8009 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8009 Adapter) + + pci:v00001148d00004320sv00001148sd00001121* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8011 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8011 Adapter) + + pci:v00001148d00004320sv00001148sd00001221* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8012 Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8012 Adapter) + + pci:v00001148d00004320sv00001148sd00003221* +- ID_MODEL_FROM_DATABASE=SK-9521 V2.0 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 V2.0 10/100/1000Base-T Adapter) + + pci:v00001148d00004320sv00001148sd00005021* +- ID_MODEL_FROM_DATABASE=SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter) + + pci:v00001148d00004320sv00001148sd00005041* +- ID_MODEL_FROM_DATABASE=SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter) + + pci:v00001148d00004320sv00001148sd00005043* +- ID_MODEL_FROM_DATABASE=SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter) + + pci:v00001148d00004320sv00001148sd00005051* +- ID_MODEL_FROM_DATABASE=SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter) + + pci:v00001148d00004320sv00001148sd00005061* +- ID_MODEL_FROM_DATABASE=SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter) + + pci:v00001148d00004320sv00001148sd00005071* +- ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter) + + pci:v00001148d00004320sv00001148sd00009521* +- ID_MODEL_FROM_DATABASE=SK-9521 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 10/100/1000Base-T Adapter) + + pci:v00001148d00004400* + ID_MODEL_FROM_DATABASE=SK-9Dxx Gigabit Ethernet Adapter +@@ -32991,25 +32991,25 @@ pci:v00001148d00009E00* + ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 + + pci:v00001148d00009E00sv00001148sd00002100* +- ID_MODEL_FROM_DATABASE=SK-9E21 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21 Server Adapter) + + pci:v00001148d00009E00sv00001148sd000021D0* +- ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21D 10/100/1000Base-T Adapter) + + pci:v00001148d00009E00sv00001148sd00002200* +- ID_MODEL_FROM_DATABASE=SK-9E22 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E22 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00008100* +- ID_MODEL_FROM_DATABASE=SK-9E81 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E81 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00008200* +- ID_MODEL_FROM_DATABASE=SK-9E82 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E82 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00009100* +- ID_MODEL_FROM_DATABASE=SK-9E91 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E91 Server Adapter) + + pci:v00001148d00009E00sv00001148sd00009200* +- ID_MODEL_FROM_DATABASE=SK-9E92 Server Adapter ++ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E92 Server Adapter) + + pci:v00001148d00009E01* + ID_MODEL_FROM_DATABASE=SK-9E21M 10/100/1000Base-T Adapter +@@ -33111,16 +33111,16 @@ pci:v0000114Fd0000001D* + ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI + + pci:v0000114Fd0000001Dsv0000114Fsd00000050* +- ID_MODEL_FROM_DATABASE=DataFire RAS E1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS E1 Adapter) + + pci:v0000114Fd0000001Dsv0000114Fsd00000051* +- ID_MODEL_FROM_DATABASE=DataFire RAS Dual E1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual E1 Adapter) + + pci:v0000114Fd0000001Dsv0000114Fsd00000052* +- ID_MODEL_FROM_DATABASE=DataFire RAS T1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS T1 Adapter) + + pci:v0000114Fd0000001Dsv0000114Fsd00000053* +- ID_MODEL_FROM_DATABASE=DataFire RAS Dual T1 Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual T1 Adapter) + + pci:v0000114Fd00000023* + ID_MODEL_FROM_DATABASE=AccelePort RAS +@@ -33129,10 +33129,10 @@ pci:v0000114Fd00000024* + ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U + + pci:v0000114Fd00000024sv0000114Fsd00000030* +- ID_MODEL_FROM_DATABASE=DataFire RAS BRI U Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI U Adapter) + + pci:v0000114Fd00000024sv0000114Fsd00000031* +- ID_MODEL_FROM_DATABASE=DataFire RAS BRI S/T Adapter ++ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI S/T Adapter) + + pci:v0000114Fd00000026* + ID_MODEL_FROM_DATABASE=AccelePort 4r 920 +@@ -33156,19 +33156,19 @@ pci:v0000114Fd00000040* + ID_MODEL_FROM_DATABASE=AccelePort Xp + + pci:v0000114Fd00000040sv0000114Fsd00000042* +- ID_MODEL_FROM_DATABASE=AccelePort 2p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 2p PCI) + + pci:v0000114Fd00000040sv0000114Fsd00000043* +- ID_MODEL_FROM_DATABASE=AccelePort 4p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 4p PCI) + + pci:v0000114Fd00000040sv0000114Fsd00000044* +- ID_MODEL_FROM_DATABASE=AccelePort 8p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 8p PCI) + + pci:v0000114Fd00000040sv0000114Fsd00000045* +- ID_MODEL_FROM_DATABASE=AccelePort 16p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 16p PCI) + + pci:v0000114Fd00000040sv0000114Fsd0000004E* +- ID_MODEL_FROM_DATABASE=AccelePort 32p PCI ++ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 32p PCI) + + pci:v0000114Fd00000042* + ID_MODEL_FROM_DATABASE=AccelePort 2p +@@ -33300,22 +33300,22 @@ pci:v0000115Dd00000003* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000003sv00001014sd00000181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv00001014sd00001181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv00001014sd00008181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv00001014sd00009181* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000003sv0000115Dsd00000181* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000003sv0000115Dsd00000182* +- ID_MODEL_FROM_DATABASE=RealPort2 CardBus Ethernet 10/100 (R2BE-100) ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (RealPort2 CardBus Ethernet 10/100 (R2BE-100)) + + pci:v0000115Dd00000003sv0000115Dsd00001181* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33324,19 +33324,19 @@ pci:v0000115Dd00000003sv00001179sd00000181* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000003sv00008086sd00008181* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) + + pci:v0000115Dd00000003sv00008086sd00009181* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) + + pci:v0000115Dd00000005* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000005sv00001014sd00000182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000005sv00001014sd00001182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000005sv0000115Dsd00000182* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33348,10 +33348,10 @@ pci:v0000115Dd00000007* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd00000007sv00001014sd00000182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000007sv00001014sd00001182* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd00000007sv0000115Dsd00000182* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33363,7 +33363,7 @@ pci:v0000115Dd0000000B* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd0000000Bsv00001014sd00000183* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd0000000Bsv0000115Dsd00000183* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33375,7 +33375,7 @@ pci:v0000115Dd0000000F* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 + + pci:v0000115Dd0000000Fsv00001014sd00000183* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) + + pci:v0000115Dd0000000Fsv0000115Dsd00000183* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 +@@ -33387,22 +33387,22 @@ pci:v0000115Dd00000101* + ID_MODEL_FROM_DATABASE=Cardbus 56k modem + + pci:v0000115Dd00000101sv0000115Dsd00001081* +- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus 56k modem (Cardbus 56k Modem) + + pci:v0000115Dd00000103* + ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem + + pci:v0000115Dd00000103sv00001014sd00009181* +- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus 56k Modem) + + pci:v0000115Dd00000103sv00001115sd00001181* +- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 100 + 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus Ethernet 100 + 56k Modem) + + pci:v0000115Dd00000103sv0000115Dsd00001181* +- ID_MODEL_FROM_DATABASE=CBEM56G-100 Ethernet + 56k Modem ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (CBEM56G-100 Ethernet + 56k Modem) + + pci:v0000115Dd00000103sv00008086sd00009181* +- ID_MODEL_FROM_DATABASE=PRO/100 LAN + Modem56 CardBus ++ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (PRO/100 LAN + Modem56 CardBus) + + pci:v0000115E* + ID_VENDOR_FROM_DATABASE=Peer Protocols Inc +@@ -33429,7 +33429,7 @@ pci:v00001163d00002000* + ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 + + pci:v00001163d00002000sv00001092sd00002000* +- ID_MODEL_FROM_DATABASE=Stealth II S220 ++ ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 (Stealth II S220) + + pci:v00001164* + ID_VENDOR_FROM_DATABASE=Advanced Peripherals Technologies +@@ -33510,7 +33510,7 @@ pci:v00001166d00000132* + ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge + + pci:v00001166d00000132sv00001166sd00000132* +- ID_MODEL_FROM_DATABASE=HT2000 PCI-Express bridge ++ ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge (HT2000 PCI-Express bridge) + + pci:v00001166d00000140* + ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge +@@ -33531,13 +33531,13 @@ pci:v00001166d00000201* + ID_MODEL_FROM_DATABASE=CSB5 South Bridge + + pci:v00001166d00000201sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=CSB5 South Bridge (CT8 mainboard) + + pci:v00001166d00000203* + ID_MODEL_FROM_DATABASE=CSB6 South Bridge + + pci:v00001166d00000203sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series ++ ID_MODEL_FROM_DATABASE=CSB6 South Bridge (PRIMERGY RX/TX series) + + pci:v00001166d00000205* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] Legacy South Bridge +@@ -33549,37 +33549,37 @@ pci:v00001166d00000212* + ID_MODEL_FROM_DATABASE=CSB5 IDE Controller + + pci:v00001166d00000212sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1750) + + pci:v00001166d00000212sv00001028sd0000810B* +- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 ++ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1650/2550) + + pci:v00001166d00000212sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (CT8 mainboard) + + pci:v00001166d00000213* + ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller + + pci:v00001166d00000213sv00001028sd00004134* +- ID_MODEL_FROM_DATABASE=PowerEdge 600SC ++ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PowerEdge 600SC) + + pci:v00001166d00000213sv00001028sd0000C134* +- ID_MODEL_FROM_DATABASE=Poweredge SC600 ++ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (Poweredge SC600) + + pci:v00001166d00000213sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard IDE ++ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PRIMERGY RX/TX series onboard IDE) + + pci:v00001166d00000214* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE + + pci:v00001166d00000214sv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 IDE ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE (PowerEdge 2970 HT1000 IDE) + + pci:v00001166d00000217* + ID_MODEL_FROM_DATABASE=CSB6 IDE Controller + + pci:v00001166d00000217sv00001028sd00004134* +- ID_MODEL_FROM_DATABASE=Poweredge SC600 ++ ID_MODEL_FROM_DATABASE=CSB6 IDE Controller (Poweredge SC600) + + pci:v00001166d0000021B* + ID_MODEL_FROM_DATABASE=HT1100 HD Audio +@@ -33588,22 +33588,22 @@ pci:v00001166d00000220* + ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller + + pci:v00001166d00000220sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller (CT8 mainboard) + + pci:v00001166d00000221* + ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller + + pci:v00001166d00000221sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard OHCI ++ ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller (PRIMERGY RX/TX series onboard OHCI) + + pci:v00001166d00000223* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB + + pci:v00001166d00000223sv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 USB Controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge 2970 HT1000 USB Controller) + + pci:v00001166d00000223sv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 USB Controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge T605 HT1000 USB Controller) + + pci:v00001166d00000225* + ID_MODEL_FROM_DATABASE=CSB5 LPC bridge +@@ -33612,22 +33612,22 @@ pci:v00001166d00000227* + ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge + + pci:v00001166d00000227sv00001734sd00001012* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series ++ ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge (PRIMERGY RX/TX series) + + pci:v00001166d00000230* + ID_MODEL_FROM_DATABASE=CSB5 LPC bridge + + pci:v00001166d00000230sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=CSB5 LPC bridge (CT8 mainboard) + + pci:v00001166d00000234* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC + + pci:v00001166d00000234sv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 LPC ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge 2970 HT1000 LPC) + + pci:v00001166d00000234sv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 LPC ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge T605 HT1000 LPC) + + pci:v00001166d00000235* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] XIOAPIC0-2 +@@ -33648,13 +33648,13 @@ pci:v00001166d0000024A* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) + + pci:v00001166d0000024Asv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) (PowerEdge T605 onboard SATA Controller) + + pci:v00001166d0000024B* + ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) + + pci:v00001166d0000024Bsv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 SATA controller ++ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) (PowerEdge 2970 HT1000 SATA controller) + + pci:v00001166d00000406* + ID_MODEL_FROM_DATABASE=HT1100 PCI-X Bridge +@@ -33666,7 +33666,7 @@ pci:v00001166d0000040A* + ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge + + pci:v00001166d0000040Asv00001028sd00000223* +- ID_MODEL_FROM_DATABASE=PowerEdge R905 HT1100 ISA-LPC Bridge ++ ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge (PowerEdge R905 HT1100 ISA-LPC Bridge) + + pci:v00001166d00000410* + ID_MODEL_FROM_DATABASE=HT1100 SATA Controller (Native SATA Mode) +@@ -33783,7 +33783,7 @@ pci:v00001179d00000601* + ID_MODEL_FROM_DATABASE=CPU to PCI bridge + + pci:v00001179d00000601sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite Pro ++ ID_MODEL_FROM_DATABASE=CPU to PCI bridge (Satellite Pro) + + pci:v00001179d00000602* + ID_MODEL_FROM_DATABASE=PCI to ISA bridge +@@ -33798,13 +33798,13 @@ pci:v00001179d0000060A* + ID_MODEL_FROM_DATABASE=ToPIC95 + + pci:v00001179d0000060Asv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite Pro ++ ID_MODEL_FROM_DATABASE=ToPIC95 (Satellite Pro) + + pci:v00001179d0000060F* + ID_MODEL_FROM_DATABASE=ToPIC97 + + pci:v00001179d0000060Fsv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite 4010 ++ ID_MODEL_FROM_DATABASE=ToPIC97 (Satellite 4010) + + pci:v00001179d00000617* + ID_MODEL_FROM_DATABASE=ToPIC100 PCI to Cardbus Bridge with ZV Support +@@ -33846,16 +33846,16 @@ pci:v0000117Cd00000030* + ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter + + pci:v0000117Cd00000030sv0000117Csd00008013* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL4D ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4D) + + pci:v0000117Cd00000030sv0000117Csd00008014* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL4S ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4S) + + pci:v0000117Cd00000030sv0000117Csd00008027* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D) + + pci:v0000117Cd00000030sv0000117Csd0000802F* +- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D Low Profile ++ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D Low Profile) + + pci:v0000117Cd00000033* + ID_MODEL_FROM_DATABASE=SAS Adapter +@@ -33882,67 +33882,67 @@ pci:v00001180d00000475* + ID_MODEL_FROM_DATABASE=RL5c475 + + pci:v00001180d00000475sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 CardBus bridge ++ ID_MODEL_FROM_DATABASE=RL5c475 (vpr Matrix 170B4 CardBus bridge) + + pci:v00001180d00000476* + ID_MODEL_FROM_DATABASE=RL5c476 II + + pci:v00001180d00000476sv00001014sd00000185* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad A/T/X Series) + + pci:v00001180d00000476sv00001014sd0000056C* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad Z60t) + + pci:v00001180d00000476sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Latitude X300 laptop) + + pci:v00001180d00000476sv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Inspiron 6000 laptop) + + pci:v00001180d00000476sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6710b) + + pci:v00001180d00000476sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6910p) + + pci:v00001180d00000476sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (A6J-Q008) + + pci:v00001180d00000476sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=RL5c476 II (V6800V) + + pci:v00001180d00000476sv00001043sd00001987* +- ID_MODEL_FROM_DATABASE=Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines ) ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )) + + pci:v00001180d00000476sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Vaio PCG-FX403) + + pci:v00001180d00000476sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00001180d00000476sv0000104Dsd0000814E* +- ID_MODEL_FROM_DATABASE=VAIO GRZ390Z ++ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO GRZ390Z) + + pci:v00001180d00000476sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (Panasonic CF-Y5 laptop) + + pci:v00001180d00000476sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=RL5c476 II (X10 Laptop) + + pci:v00001180d00000476sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=RL5c476 II (P30/P35 notebook) + + pci:v00001180d00000476sv000014EFsd00000220* +- ID_MODEL_FROM_DATABASE=PCD-RP-220S ++ ID_MODEL_FROM_DATABASE=RL5c476 II (PCD-RP-220S) + + pci:v00001180d00000476sv000017AAsd0000201C* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad X60/X60s) + + pci:v00001180d00000476sv000017AAsd000020C4* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad T61) + + pci:v00001180d00000476sv000017AAsd000020C6* +- ID_MODEL_FROM_DATABASE=ThinkPad R61 ++ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad R61) + + pci:v00001180d00000477* + ID_MODEL_FROM_DATABASE=RL5c477 +@@ -33951,7 +33951,7 @@ pci:v00001180d00000478* + ID_MODEL_FROM_DATABASE=RL5c478 + + pci:v00001180d00000478sv00001014sd00000184* +- ID_MODEL_FROM_DATABASE=ThinkPad A30p ++ ID_MODEL_FROM_DATABASE=RL5c478 (ThinkPad A30p) + + pci:v00001180d00000511* + ID_MODEL_FROM_DATABASE=R5C511 +@@ -33960,43 +33960,43 @@ pci:v00001180d00000522* + ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller + + pci:v00001180d00000522sv00001014sd000001CF* +- ID_MODEL_FROM_DATABASE=ThinkPad A30p ++ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (ThinkPad A30p) + + pci:v00001180d00000522sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (V6800V) + + pci:v00001180d00000551* + ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller + + pci:v00001180d00000551sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller (vpr Matrix 170B4) + + pci:v00001180d00000552* + ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller + + pci:v00001180d00000552sv00001014sd00000511* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad A/T/X Series) + + pci:v00001180d00000552sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Latitude X300 laptop) + + pci:v00001180d00000552sv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Inspiron 6000 laptop) + + pci:v00001180d00000552sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (A6J-Q008) + + pci:v00001180d00000552sv00001043sd00001757* +- ID_MODEL_FROM_DATABASE=M2400N laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (M2400N laptop) + + pci:v00001180d00000552sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (X10 Laptop) + + pci:v00001180d00000552sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (P30/P35 notebook) + + pci:v00001180d00000552sv000017AAsd0000201E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad X60/X60s) + + pci:v00001180d00000554* + ID_MODEL_FROM_DATABASE=R5C554 +@@ -34011,37 +34011,37 @@ pci:v00001180d00000592* + ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter + + pci:v00001180d00000592sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Aspire 5920G) + + pci:v00001180d00000592sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (XPS M1210) + + pci:v00001180d00000592sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Inspiron 1420) + + pci:v00001180d00000592sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V3242AU) + + pci:v00001180d00000592sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V6133CL) + + pci:v00001180d00000592sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv6700) + + pci:v00001180d00000592sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv9668eg Laptop) + + pci:v00001180d00000592sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (A6J-Q008) + + pci:v00001180d00000592sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (V6800V) + + pci:v00001180d00000592sv0000144Dsd0000C018* +- ID_MODEL_FROM_DATABASE=X20 IV ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (X20 IV) + + pci:v00001180d00000592sv000017AAsd000020CA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (ThinkPad T61) + + pci:v00001180d00000811* + ID_MODEL_FROM_DATABASE=R5C811 +@@ -34050,94 +34050,94 @@ pci:v00001180d00000822* + ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter + + pci:v00001180d00000822sv00001014sd00000556* +- ID_MODEL_FROM_DATABASE=ThinkPad X60s / Z60t ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60s / Z60t) + + pci:v00001180d00000822sv00001014sd00000598* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60m ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad Z60m) + + pci:v00001180d00000822sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Aspire 5920G) + + pci:v00001180d00000822sv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 6000 laptop) + + pci:v00001180d00000822sv00001028sd000001A2* +- ID_MODEL_FROM_DATABASE=Inspiron 9200 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 9200) + + pci:v00001180d00000822sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (XPS M1210) + + pci:v00001180d00000822sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 1420) + + pci:v00001180d00000822sv0000103Csd000003B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V3242AU) + + pci:v00001180d00000822sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V6133CL) + + pci:v00001180d00000822sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Compaq 6910p) + + pci:v00001180d00000822sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv6700) + + pci:v00001180d00000822sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv9668eg Laptop) + + pci:v00001180d00000822sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (A6J-Q008) + + pci:v00001180d00000822sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=ASUS V6800V ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ASUS V6800V) + + pci:v00001180d00000822sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Panasonic CF-Y5 laptop) + + pci:v00001180d00000822sv0000144Dsd0000C018* +- ID_MODEL_FROM_DATABASE=X20 IV ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (X20 IV) + + pci:v00001180d00000822sv000017AAsd0000201D* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60/X60s) + + pci:v00001180d00000822sv000017AAsd000020C7* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad T61) + + pci:v00001180d00000822sv000017AAsd000020C8* +- ID_MODEL_FROM_DATABASE=ThinkPad W500 ++ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad W500) + + pci:v00001180d00000832* + ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller + + pci:v00001180d00000832sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Aspire 5920G) + + pci:v00001180d00000832sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (XPS M1210) + + pci:v00001180d00000832sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Inspiron 1420) + + pci:v00001180d00000832sv00001028sd0000024D* +- ID_MODEL_FROM_DATABASE=Latitude E4300 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Latitude E4300) + + pci:v00001180d00000832sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V3242AU) + + pci:v00001180d00000832sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V6133CL) + + pci:v00001180d00000832sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Compaq 6910p) + + pci:v00001180d00000832sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv6700) + + pci:v00001180d00000832sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv9668eg Laptop) + + pci:v00001180d00000832sv000017AAsd000020C7* +- ID_MODEL_FROM_DATABASE=ThinkPad R61 ++ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (ThinkPad R61) + + pci:v00001180d00000841* + ID_MODEL_FROM_DATABASE=R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 +@@ -34146,58 +34146,58 @@ pci:v00001180d00000843* + ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller + + pci:v00001180d00000843sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Aspire 5920G) + + pci:v00001180d00000843sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (XPS M1210) + + pci:v00001180d00000843sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Inspiron 1420) + + pci:v00001180d00000843sv00001028sd000001F5* +- ID_MODEL_FROM_DATABASE=Dell Inspiron 1501 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Inspiron 1501) + + pci:v00001180d00000843sv00001028sd0000024F* +- ID_MODEL_FROM_DATABASE=Dell Latitude e6500 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Latitude e6500) + + pci:v00001180d00000843sv0000103Csd000003B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V3242AU) + + pci:v00001180d00000843sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V6133CL) + + pci:v00001180d00000843sv00001183sd00000843* +- ID_MODEL_FROM_DATABASE=Alienware Aurora m9700 ++ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Alienware Aurora m9700) + + pci:v00001180d00000852* + ID_MODEL_FROM_DATABASE=xD-Picture Card Controller + + pci:v00001180d00000852sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Aspire 5920G) + + pci:v00001180d00000852sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Inspiron 1420) + + pci:v00001180d00000852sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V3242AU) + + pci:v00001180d00000852sv0000103Csd000030B7* +- ID_MODEL_FROM_DATABASE=Presario V6133CL ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V6133CL) + + pci:v00001180d00000852sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv6700) + + pci:v00001180d00000852sv0000103Csd000030CF* +- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv9668eg Laptop) + + pci:v00001180d00000852sv00001043sd00001967* +- ID_MODEL_FROM_DATABASE=V6800V ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (V6800V) + + pci:v00001180d00000852sv00001180sd00000852* +- ID_MODEL_FROM_DATABASE=Pavilion 2410us ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion 2410us) + + pci:v00001180d00000852sv00001324sd000010CF* +- ID_MODEL_FROM_DATABASE=P7120 ++ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (P7120) + + pci:v00001180d0000E230* + ID_MODEL_FROM_DATABASE=R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] +@@ -34206,19 +34206,19 @@ pci:v00001180d0000E476* + ID_MODEL_FROM_DATABASE=CardBus bridge + + pci:v00001180d0000E476sv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6410) + + pci:v00001180d0000E476sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6510) + + pci:v00001180d0000E822* + ID_MODEL_FROM_DATABASE=MMC/SD Host Controller + + pci:v00001180d0000E822sv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6410) + + pci:v00001180d0000E822sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6510) + + pci:v00001180d0000E823* + ID_MODEL_FROM_DATABASE=PCIe SDXC/MMC Host Controller +@@ -34227,10 +34227,10 @@ pci:v00001180d0000E832* + ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller + + pci:v00001180d0000E832sv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6410) + + pci:v00001180d0000E832sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6510) + + pci:v00001180d0000E852* + ID_MODEL_FROM_DATABASE=PCIe xD-Picture Card Controller +@@ -34254,10 +34254,10 @@ pci:v00001186d00001002* + ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet + + pci:v00001186d00001002sv00001186sd00001002* +- ID_MODEL_FROM_DATABASE=DFE-550TX/FX ++ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-550TX/FX) + + pci:v00001186d00001002sv00001186sd00001012* +- ID_MODEL_FROM_DATABASE=DFE-580TX ++ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-580TX) + + pci:v00001186d00001025* + ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G650 Adapter +@@ -34272,13 +34272,13 @@ pci:v00001186d00001300* + ID_MODEL_FROM_DATABASE=RTL8139 Ethernet + + pci:v00001186d00001300sv00001186sd00001300* +- ID_MODEL_FROM_DATABASE=DFE-538TX 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-538TX 10/100 Ethernet Adapter) + + pci:v00001186d00001300sv00001186sd00001301* +- ID_MODEL_FROM_DATABASE=DFE-530TX+ 10/100 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-530TX+ 10/100 Ethernet Adapter) + + pci:v00001186d00001300sv00001186sd00001303* +- ID_MODEL_FROM_DATABASE=DFE-528TX 10/100 Fast Ethernet PCI Adapter ++ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-528TX 10/100 Fast Ethernet PCI Adapter) + + pci:v00001186d00001340* + ID_MODEL_FROM_DATABASE=DFE-690TXD CardBus PC Card +@@ -34296,10 +34296,10 @@ pci:v00001186d00003300* + ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] + + pci:v00001186d00003300sv00001186sd00003300* +- ID_MODEL_FROM_DATABASE=DWL-610 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-610 Wireless Cardbus Adapter) + + pci:v00001186d00003300sv00001186sd00003301* +- ID_MODEL_FROM_DATABASE=DWL-510 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-510 Wireless PCI Adapter) + + pci:v00001186d00003A10* + ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B) +@@ -34317,7 +34317,7 @@ pci:v00001186d00004300* + ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter + + pci:v00001186d00004300sv00001186sd00004B10* +- ID_MODEL_FROM_DATABASE=DGE-560T PCI Express (x1) Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter (DGE-560T PCI Express (x1) Gigabit Ethernet Adapter) + + pci:v00001186d00004302* + ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169] +@@ -34338,7 +34338,7 @@ pci:v00001186d00004C00* + ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter + + pci:v00001186d00004C00sv00001186sd00004C00* +- ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (DGE-530T Gigabit Ethernet Adapter) + + pci:v00001186d00008400* + ID_MODEL_FROM_DATABASE=D-Link DWL-650+ CardBus PC Card +@@ -34620,7 +34620,7 @@ pci:v000011ABd00001FA6* + ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter + + pci:v000011ABd00001FA6sv00001186sd00003B08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1) ++ ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1)) + + pci:v000011ABd00001FA7* + ID_MODEL_FROM_DATABASE=88W8310 and 88W8000G [Libertas] 802.11g client chipset +@@ -34629,13 +34629,13 @@ pci:v000011ABd00001FAA* + ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless + + pci:v000011ABd00001FAAsv00001385sd00004E00* +- ID_MODEL_FROM_DATABASE=WG511v2 54 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG511v2 54 Mbps Wireless PC Card) + + pci:v000011ABd00001FAAsv00001385sd00006B00* +- ID_MODEL_FROM_DATABASE=WG311v3 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG311v3 802.11g Wireless PCI Adapter) + + pci:v000011ABd00001FAAsv00001737sd00000040* +- ID_MODEL_FROM_DATABASE=WPC54G v5 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WPC54G v5 802.11g Wireless-G Notebook Adapter) + + pci:v000011ABd00002211* + ID_MODEL_FROM_DATABASE=88SB2211 PCI Express to PCI Bridge +@@ -34647,19 +34647,19 @@ pci:v000011ABd00002A02* + ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless + + pci:v000011ABd00002A02sv000007D1sd00003B02* +- ID_MODEL_FROM_DATABASE=DIR-615 rev. A1 Mini PCI Wireless Module ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (DIR-615 rev. A1 Mini PCI Wireless Module) + + pci:v000011ABd00002A02sv00001385sd00007C00* +- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless PC Card) + + pci:v000011ABd00002A02sv00001385sd00007C01* +- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter) + + pci:v000011ABd00002A02sv00001385sd00007E00* +- ID_MODEL_FROM_DATABASE=WN311T RangeMax Next 300 Mbps Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN311T RangeMax Next 300 Mbps Wireless PCI Adapter) + + pci:v000011ABd00002A02sv00001799sd0000801B* +- ID_MODEL_FROM_DATABASE=F5D8011 v2 802.11n N1 Wireless Notebook Card ++ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (F5D8011 v2 802.11n N1 Wireless Notebook Card) + + pci:v000011ABd00002A08* + ID_MODEL_FROM_DATABASE=88W8362e [TopDog] 802.11a/b/g/n Wireless +@@ -34701,58 +34701,58 @@ pci:v000011ABd00004320* + ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller + + pci:v000011ABd00004320sv00001019sd00000F38* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) + + pci:v000011ABd00004320sv00001019sd00008001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) + + pci:v000011ABd00004320sv00001043sd0000173C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004320sv00001043sd0000811A* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004320sv0000105Bsd00000C19* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Foxconn) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)) + + pci:v000011ABd00004320sv000010B8sd0000B452* +- ID_MODEL_FROM_DATABASE=EZ Card 1000 (SMC9452TXV.2) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (EZ Card 1000 (SMC9452TXV.2)) + + pci:v000011ABd00004320sv000011ABsd00000121* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8001) + + pci:v000011ABd00004320sv000011ABsd00000321* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8003) + + pci:v000011ABd00004320sv000011ABsd00001021* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8010 ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8010) + + pci:v000011ABd00004320sv000011ABsd00004320* +- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)) + + pci:v000011ABd00004320sv000011ABsd00005021* +- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)) + + pci:v000011ABd00004320sv000011ABsd00009521* +- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)) + + pci:v000011ABd00004320sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)) + + pci:v000011ABd00004320sv0000147Bsd00001406* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Abit) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Abit)) + + pci:v000011ABd00004320sv000015D4sd00000047* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Iwill) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Iwill)) + + pci:v000011ABd00004320sv00001695sd00009025* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Epox) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Epox)) + + pci:v000011ABd00004320sv000017F2sd00001C03* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Albatron) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Albatron)) + + pci:v000011ABd00004320sv0000270Fsd00002803* +- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Chaintech) ++ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)) + + pci:v000011ABd00004340* + ID_MODEL_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller +@@ -34779,115 +34779,115 @@ pci:v000011ABd00004347* + ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller + + pci:v000011ABd00004347sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 PrAMC Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller (Telum ASLP10 PrAMC Gigabit Ethernet) + + pci:v000011ABd00004350* + ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004350sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (Toshiba) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (Toshiba)) + + pci:v000011ABd00004350sv000011ABsd00003521* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8035 ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell RDK-8035) + + pci:v000011ABd00004350sv00001854sd0000000D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000000E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000000F* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000011* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000012* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000016* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000017* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000018* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000019* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000001C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd0000001E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004350sv00001854sd00000020* +- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351* + ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004351sv0000107Bsd00004009* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Wistron) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Wistron)) + + pci:v000011ABd00004351sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Panasonic) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Panasonic)) + + pci:v000011ABd00004351sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Toshiba) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Toshiba)) + + pci:v000011ABd00004351sv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Compal) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Compal)) + + pci:v000011ABd00004351sv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Inventec) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Inventec)) + + pci:v000011ABd00004351sv000011ABsd00003621* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8036 ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell RDK-8036) + + pci:v000011ABd00004351sv000013D1sd0000AC12* +- ID_MODEL_FROM_DATABASE=Abocom EFE3K - 10/100 Ethernet Expresscard ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Abocom EFE3K - 10/100 Ethernet Expresscard) + + pci:v000011ABd00004351sv0000161Fsd0000203D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Arima) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Arima)) + + pci:v000011ABd00004351sv00001854sd0000000D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000000E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000000F* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000011* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000012* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000016* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000017* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000018* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000019* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000001C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd0000001E* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004351sv00001854sd00000020* +- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) + + pci:v000011ABd00004352* + ID_MODEL_FROM_DATABASE=88E8038 PCI-E Fast Ethernet Controller +@@ -34896,19 +34896,19 @@ pci:v000011ABd00004353* + ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004353sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller (VAIO VGN-NR120E) + + pci:v000011ABd00004354* + ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller + + pci:v000011ABd00004354sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) + + pci:v000011ABd00004355* + ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller + + pci:v000011ABd00004355sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller (Satellite P305D-S8995E) + + pci:v000011ABd00004356* + ID_MODEL_FROM_DATABASE=88EC033 PCI-E Fast Ethernet Controller +@@ -34923,163 +34923,163 @@ pci:v000011ABd00004360* + ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller + + pci:v000011ABd00004360sv00001043sd00008134* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004360sv0000107Bsd00004009* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Wistron) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Wistron)) + + pci:v000011ABd00004360sv000011ABsd00005221* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8052 ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell RDK-8052) + + pci:v000011ABd00004360sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)) + + pci:v000011ABd00004360sv00001462sd0000052C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (MSI) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (MSI)) + + pci:v000011ABd00004360sv00001849sd00008052* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (ASRock) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (ASRock)) + + pci:v000011ABd00004360sv0000A0A0sd00000509* +- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Aopen) ++ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Aopen)) + + pci:v000011ABd00004361* + ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller + + pci:v000011ABd00004361sv0000107Bsd00003015* +- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Gateway) ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Gateway)) + + pci:v000011ABd00004361sv000011ABsd00005021* +- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) + + pci:v000011ABd00004361sv00008086sd00003063* +- ID_MODEL_FROM_DATABASE=D925XCVLK mainboard ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (D925XCVLK mainboard) + + pci:v000011ABd00004361sv00008086sd00003439* +- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) ++ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) + + pci:v000011ABd00004362* + ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller + + pci:v000011ABd00004362sv0000103Csd00002A0D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Asus) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Asus)) + + pci:v000011ABd00004362sv00001043sd00008142* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)) + + pci:v000011ABd00004362sv0000109Fsd00003197* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Trigem) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Trigem)) + + pci:v000011ABd00004362sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Panasonic) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)) + + pci:v000011ABd00004362sv000010FDsd0000A430* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (SOYO) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (SOYO)) + + pci:v000011ABd00004362sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Toshiba) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)) + + pci:v000011ABd00004362sv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) + + pci:v000011ABd00004362sv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Inventec) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Inventec)) + + pci:v000011ABd00004362sv000011ABsd00005321* +- ID_MODEL_FROM_DATABASE=Marvell RDK-8053 ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell RDK-8053) + + pci:v000011ABd00004362sv00001297sd0000C240* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C241* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C242* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C243* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv00001297sd0000C244* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) + + pci:v000011ABd00004362sv000013D1sd0000AC11* +- ID_MODEL_FROM_DATABASE=EGE5K - Giga Ethernet Expresscard ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (EGE5K - Giga Ethernet Expresscard) + + pci:v000011ABd00004362sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)) + + pci:v000011ABd00004362sv00001462sd0000058C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (MSI) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (MSI)) + + pci:v000011ABd00004362sv000014C0sd00000012* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) + + pci:v000011ABd00004362sv00001558sd000004A0* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Clevo) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Clevo)) + + pci:v000011ABd00004362sv000015BDsd00001003* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (DFI) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (DFI)) + + pci:v000011ABd00004362sv0000161Fsd0000203C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) + + pci:v000011ABd00004362sv0000161Fsd0000203D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) + + pci:v000011ABd00004362sv00001695sd00009029* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Epox) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Epox)) + + pci:v000011ABd00004362sv000017F2sd00002C08* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Albatron) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Albatron)) + + pci:v000011ABd00004362sv000017FFsd00000585* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Quanta) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Quanta)) + + pci:v000011ABd00004362sv00001849sd00008053* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (ASRock) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (ASRock)) + + pci:v000011ABd00004362sv00001854sd0000000B* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000000C* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000010* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000013* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000014* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000015* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001A* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001B* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001D* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd0000001F* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000021* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv00001854sd00000022* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) + + pci:v000011ABd00004362sv0000270Fsd00002801* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Chaintech) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)) + + pci:v000011ABd00004362sv0000A0A0sd00000506* +- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Aopen) ++ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Aopen)) + + pci:v000011ABd00004363* + ID_MODEL_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller +@@ -35088,10 +35088,10 @@ pci:v000011ABd00004364* + ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller + + pci:v000011ABd00004364sv00001043sd000081F8* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (Motherboard) + + pci:v000011ABd00004364sv000011BAsd000000BA* +- ID_MODEL_FROM_DATABASE=8056 Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (8056 Gigabit Ethernet Controller) + + pci:v000011ABd00004365* + ID_MODEL_FROM_DATABASE=88E8070 based Ethernet Controller +@@ -35112,7 +35112,7 @@ pci:v000011ABd0000436A* + ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller + + pci:v000011ABd0000436Asv000011ABsd000000BA* +- ID_MODEL_FROM_DATABASE=Imac 8,1 Wired Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller (Imac 8,1 Wired Ethernet Adapter) + + pci:v000011ABd0000436B* + ID_MODEL_FROM_DATABASE=88E8071 PCI-E Gigabit Ethernet Controller +@@ -35178,7 +35178,7 @@ pci:v000011ABd00006101* + ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface + + pci:v000011ABd00006101sv00001043sd000082E0* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface (P5K PRO Motherboard) + + pci:v000011ABd00006111* + ID_MODEL_FROM_DATABASE=88SE6111 1-port PATA133(IDE) and 1-port SATA II Controllers +@@ -35217,7 +35217,7 @@ pci:v000011ABd00006480* + ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller + + pci:v000011ABd00006480sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K CompactPCI single board computer ++ ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller (C2K CompactPCI single board computer) + + pci:v000011ABd00006485* + ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller, Revision B +@@ -35226,7 +35226,7 @@ pci:v000011ABd00007042* + ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II + + pci:v000011ABd00007042sv000016B8sd0000434B* +- ID_MODEL_FROM_DATABASE=Tempo SATA E4P ++ ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II (Tempo SATA E4P) + + pci:v000011ABd00007810* + ID_MODEL_FROM_DATABASE=MV78100 [Discovery Innovation] ARM SoC +@@ -35259,19 +35259,19 @@ pci:v000011ADd00000002sv000011ADsd0000FFFF* + ID_MODEL_FROM_DATABASE=LNE100TX + + pci:v000011ADd00000002sv00001385sd0000F004* +- ID_MODEL_FROM_DATABASE=FA310TX ++ ID_MODEL_FROM_DATABASE=LNE100TX (FA310TX) + + pci:v000011ADd00000002sv00002646sd0000F002* +- ID_MODEL_FROM_DATABASE=KNE110TX EtheRx Fast Ethernet ++ ID_MODEL_FROM_DATABASE=LNE100TX (KNE110TX EtheRx Fast Ethernet) + + pci:v000011ADd0000C115* + ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] + + pci:v000011ADd0000C115sv000011ADsd0000C001* +- ID_MODEL_FROM_DATABASE=LNE100TX [ver 2.0] ++ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (LNE100TX [ver 2.0]) + + pci:v000011ADd0000C115sv00002646sd0000000B* +- ID_MODEL_FROM_DATABASE=KNE111TX ++ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (KNE111TX) + + pci:v000011AE* + ID_VENDOR_FROM_DATABASE=Aztech System Ltd +@@ -35355,28 +35355,28 @@ pci:v000011BDd00000040* + ID_MODEL_FROM_DATABASE=Royal TS Function 1 + + pci:v000011BDd00000040sv000011BDsd00000044* +- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 1 ++ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV 2000i Dual DVB-T Pro PCI Tuner 1) + + pci:v000011BDd00000040sv000011BDsd00000045* +- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 1 ++ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV Dual Sat Pro PCI 4000i Tuner 1) + + pci:v000011BDd00000041* + ID_MODEL_FROM_DATABASE=RoyalTS Function 2 + + pci:v000011BDd00000041sv000011BDsd00000044* +- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 2 ++ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV 2000i Dual DVB-T Pro PCI Tuner 2) + + pci:v000011BDd00000041sv000011BDsd00000045* +- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 2 ++ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV Dual Sat Pro PCI 4000i Tuner 2) + + pci:v000011BDd00000042* + ID_MODEL_FROM_DATABASE=Royal TS Function 3 + + pci:v000011BDd00000042sv000011BDsd00000044* +- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Common ++ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV 2000i Dual DVB-T Pro PCI Common) + + pci:v000011BDd00000042sv000011BDsd00000045* +- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Common ++ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV Dual Sat Pro PCI 4000i Common) + + pci:v000011BDd00000051* + ID_MODEL_FROM_DATABASE=PCTV HD 800i +@@ -35400,154 +35400,154 @@ pci:v000011C1d00000440* + ID_MODEL_FROM_DATABASE=56k WinModem + + pci:v000011C1d00000440sv00001033sd00008015* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv00001033sd00008047* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv00001033sd0000804F* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000010CFsd0000102C* +- ID_MODEL_FROM_DATABASE=LB LT Modem V.90 56k ++ ID_MODEL_FROM_DATABASE=56k WinModem (LB LT Modem V.90 56k) + + pci:v000011C1d00000440sv000010CFsd0000104A* +- ID_MODEL_FROM_DATABASE=BIBLO LT Modem 56k ++ ID_MODEL_FROM_DATABASE=56k WinModem (BIBLO LT Modem 56k) + + pci:v000011C1d00000440sv000010CFsd0000105F* +- ID_MODEL_FROM_DATABASE=LB2 LT Modem V.90 56k ++ ID_MODEL_FROM_DATABASE=56k WinModem (LB2 LT Modem V.90 56k) + + pci:v000011C1d00000440sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Internal V.90 Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) + + pci:v000011C1d00000440sv000011C1sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv0000122Dsd00004101* +- ID_MODEL_FROM_DATABASE=MDP7800-U Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) + + pci:v000011C1d00000440sv0000122Dsd00004102* +- ID_MODEL_FROM_DATABASE=MDP7800SP-U Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800SP-U Modem) + + pci:v000011C1d00000440sv000013E0sd00000040* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd00000441* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd00000450* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd0000F100* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv000013E0sd0000F101* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000440sv0000144Dsd00002101* +- ID_MODEL_FROM_DATABASE=LT56PV Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PV Modem) + + pci:v000011C1d00000440sv0000149Fsd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000441* + ID_MODEL_FROM_DATABASE=56k WinModem + + pci:v000011C1d00000441sv00001033sd0000804D* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv00001033sd00008065* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv00001092sd00000440* +- ID_MODEL_FROM_DATABASE=Supra 56i ++ ID_MODEL_FROM_DATABASE=56k WinModem (Supra 56i) + + pci:v000011C1d00000441sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Internal V.90 Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) + + pci:v000011C1d00000441sv000011C1sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000011C1sd00000441* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv0000122Dsd00004100* +- ID_MODEL_FROM_DATABASE=MDP7800-U Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) + + pci:v000011C1d00000441sv000013E0sd00000040* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000100* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000410* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000420* +- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem ++ ID_MODEL_FROM_DATABASE=56k WinModem (TelePath Internet 56k WinModem) + + pci:v000011C1d00000441sv000013E0sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd00000443* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv000013E0sd0000F102* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv00001416sd00009804* +- ID_MODEL_FROM_DATABASE=CommWave 56k Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (CommWave 56k Modem) + + pci:v000011C1d00000441sv0000141Dsd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000441sv0000144Fsd00000441* +- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) + + pci:v000011C1d00000441sv0000144Fsd00000449* +- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) + + pci:v000011C1d00000441sv0000144Fsd0000110D* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) + + pci:v000011C1d00000441sv00001468sd00000441* +- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DF Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Presario 56k V.90 DF Modem) + + pci:v000011C1d00000441sv00001668sd00000440* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) + + pci:v000011C1d00000442* + ID_MODEL_FROM_DATABASE=56k WinModem + + pci:v000011C1d00000442sv000011C1sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000011C1sd00000442* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000013E0sd00000412* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000013E0sd00000442* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv000013FCsd00002471* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv0000144Dsd00002104* +- ID_MODEL_FROM_DATABASE=LT56PT Modem ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PT Modem) + + pci:v000011C1d00000442sv0000144Fsd00001104* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv0000149Fsd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000442sv00001668sd00000440* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d00000443* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35559,10 +35559,10 @@ pci:v000011C1d00000445* + ID_MODEL_FROM_DATABASE=LT WinModem + + pci:v000011C1d00000445sv00008086sd00002203* +- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card) ++ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)) + + pci:v000011C1d00000445sv00008086sd00002204* +- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI on Armada E500 ++ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI on Armada E500) + + pci:v000011C1d00000446* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35574,64 +35574,64 @@ pci:v000011C1d00000448* + ID_MODEL_FROM_DATABASE=WinModem 56k + + pci:v000011C1d00000448sv00001014sd00000131* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=WinModem 56k (Lucent Win Modem) + + pci:v000011C1d00000448sv00001033sd00008066* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000448sv000013E0sd00000030* +- ID_MODEL_FROM_DATABASE=56k Voice Modem ++ ID_MODEL_FROM_DATABASE=WinModem 56k (56k Voice Modem) + + pci:v000011C1d00000448sv000013E0sd00000040* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd ++ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) + + pci:v000011C1d00000448sv00001668sd00002400* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k (MiniPCI Ethernet+Modem) ++ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k (MiniPCI Ethernet+Modem)) + + pci:v000011C1d00000449* + ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k + + pci:v000011C1d00000449sv00000E11sd0000B14D* +- ID_MODEL_FROM_DATABASE=56k V.90 Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (56k V.90 Modem) + + pci:v000011C1d00000449sv00001014sd0000018C* +- ID_MODEL_FROM_DATABASE=ThinkPad 600X ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (ThinkPad 600X) + + pci:v000011C1d00000449sv000013E0sd00000020* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (LT WinModem 56k Data+Fax) + + pci:v000011C1d00000449sv000013E0sd00000041* +- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (TelePath Internet 56k WinModem) + + pci:v000011C1d00000449sv00001436sd00000440* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) + + pci:v000011C1d00000449sv0000144Fsd00000449* +- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DFi Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent 56k V.90 DFi Modem) + + pci:v000011C1d00000449sv00001468sd00000410* +- ID_MODEL_FROM_DATABASE=IBM ThinkPad T23 ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (IBM ThinkPad T23) + + pci:v000011C1d00000449sv00001468sd00000440* +- ID_MODEL_FROM_DATABASE=Lucent Win Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) + + pci:v000011C1d00000449sv00001468sd00000449* +- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DFi Modem ++ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Presario 56k V.90 DFi Modem) + + pci:v000011C1d0000044A* + ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) + + pci:v000011C1d0000044Asv000010CFsd00001072* +- ID_MODEL_FROM_DATABASE=LB Global LT Modem ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LB Global LT Modem) + + pci:v000011C1d0000044Asv000013E0sd00000012* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d0000044Asv000013E0sd00000042* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d0000044Asv0000144Fsd00001005* +- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd ++ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) + + pci:v000011C1d0000044B* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35652,13 +35652,13 @@ pci:v000011C1d00000450* + ID_MODEL_FROM_DATABASE=LT WinModem + + pci:v000011C1d00000450sv00001033sd000080A8* +- ID_MODEL_FROM_DATABASE=Versa Note Vxi ++ ID_MODEL_FROM_DATABASE=LT WinModem (Versa Note Vxi) + + pci:v000011C1d00000450sv0000144Fsd00004005* +- ID_MODEL_FROM_DATABASE=Magnia SG20 ++ ID_MODEL_FROM_DATABASE=LT WinModem (Magnia SG20) + + pci:v000011C1d00000450sv00001468sd00000450* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=LT WinModem (Evo N600c) + + pci:v000011C1d00000451* + ID_MODEL_FROM_DATABASE=LT WinModem +@@ -35733,22 +35733,22 @@ pci:v000011C1d00005811* + ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller + + pci:v000011C1d00005811sv0000103Csd00002A34* +- ID_MODEL_FROM_DATABASE=Pavilion a1677c ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion a1677c) + + pci:v000011C1d00005811sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Asus IPIBL-LB Motherboard) + + pci:v000011C1d00005811sv0000103Csd00002A9E* +- ID_MODEL_FROM_DATABASE=Pavilion p6310f ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion p6310f) + + pci:v000011C1d00005811sv00001043sd00008294* +- ID_MODEL_FROM_DATABASE=LSI FW322/323 IEEE 1394a FireWire Controller ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (LSI FW322/323 IEEE 1394a FireWire Controller) + + pci:v000011C1d00005811sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (D865PERL mainboard) + + pci:v000011C1d00005811sv0000DEADsd00000800* +- ID_MODEL_FROM_DATABASE=FireWire Host Bus Adapter ++ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (FireWire Host Bus Adapter) + + pci:v000011C1d00005901* + ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller +@@ -35757,10 +35757,10 @@ pci:v000011C1d00005901sv000011C1sd00005900* + ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller + + pci:v000011C1d00005901sv00001443sd00000643* +- ID_MODEL_FROM_DATABASE=FireBoard800-e V.2 ++ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FireBoard800-e V.2) + + pci:v000011C1d00005901sv00001546sd00000643* +- ID_MODEL_FROM_DATABASE=FWB-PCIE1X2x ++ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FWB-PCIE1X2x) + + pci:v000011C1d00005903* + ID_MODEL_FROM_DATABASE=FW533 [TrueFire] PCIe 1394a Controller +@@ -35769,7 +35769,7 @@ pci:v000011C1d00008110* + ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch + + pci:v000011C1d00008110sv000012D9sd0000000C* +- ID_MODEL_FROM_DATABASE=E1/T1 PMXc cPCI carrier card ++ ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch (E1/T1 PMXc cPCI carrier card) + + pci:v000011C1d0000AB10* + ID_MODEL_FROM_DATABASE=WL60010 Wireless LAN MAC +@@ -35778,16 +35778,16 @@ pci:v000011C1d0000AB11* + ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC + + pci:v000011C1d0000AB11sv000011C1sd0000AB12* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1102) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1102)) + + pci:v000011C1d0000AB11sv000011C1sd0000AB13* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0512) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0512)) + + pci:v000011C1d0000AB11sv000011C1sd0000AB15* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1106) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1106)) + + pci:v000011C1d0000AB11sv000011C1sd0000AB16* +- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0516) ++ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0516)) + + pci:v000011C1d0000AB20* + ID_MODEL_FROM_DATABASE=ORiNOCO PCI Adapter +@@ -35856,10 +35856,10 @@ pci:v000011CBd00002000* + ID_MODEL_FROM_DATABASE=PCI_9050 + + pci:v000011CBd00002000sv000011CBsd00000200* +- ID_MODEL_FROM_DATABASE=SX ++ ID_MODEL_FROM_DATABASE=PCI_9050 (SX) + + pci:v000011CBd00002000sv000011CBsd0000B008* +- ID_MODEL_FROM_DATABASE=I/O8+ ++ ID_MODEL_FROM_DATABASE=PCI_9050 (I/O8+) + + pci:v000011CBd00004000* + ID_MODEL_FROM_DATABASE=SUPI_1 +@@ -35949,28 +35949,28 @@ pci:v000011DEd00006057* + ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset + + pci:v000011DEd00006057sv00001031sd00007EFE* +- ID_MODEL_FROM_DATABASE=DC10 Plus ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (DC10 Plus) + + pci:v000011DEd00006057sv00001031sd0000FC00* +- ID_MODEL_FROM_DATABASE=MiroVIDEO DC50, Motion JPEG Capture/CODEC Board ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (MiroVIDEO DC50, Motion JPEG Capture/CODEC Board) + + pci:v000011DEd00006057sv000012F8sd00008A02* +- ID_MODEL_FROM_DATABASE=Tekram Video Kit ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (Tekram Video Kit) + + pci:v000011DEd00006057sv000013CAsd00004231* +- ID_MODEL_FROM_DATABASE=JPEG/TV Card ++ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (JPEG/TV Card) + + pci:v000011DEd00006120* + ID_MODEL_FROM_DATABASE=ZR36120 + + pci:v000011DEd00006120sv00001328sd0000F001* +- ID_MODEL_FROM_DATABASE=Cinemaster C DVD Decoder ++ ID_MODEL_FROM_DATABASE=ZR36120 (Cinemaster C DVD Decoder) + + pci:v000011DEd00006120sv000013C2sd00000000* +- ID_MODEL_FROM_DATABASE=MediaFocus Satellite TV Card ++ ID_MODEL_FROM_DATABASE=ZR36120 (MediaFocus Satellite TV Card) + + pci:v000011DEd00006120sv00001DE1sd00009FFF* +- ID_MODEL_FROM_DATABASE=Video Kit C210 ++ ID_MODEL_FROM_DATABASE=ZR36120 (Video Kit C210) + + pci:v000011DF* + ID_VENDOR_FROM_DATABASE=New Wave PDG +@@ -36102,13 +36102,13 @@ pci:v000011F6d00002011* + ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 + + pci:v000011F6d00002011sv000011F6sd00002011* +- ID_MODEL_FROM_DATABASE=RL100-ATX ++ ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 (RL100-ATX) + + pci:v000011F6d00002201* + ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) + + pci:v000011F6d00002201sv000011F6sd00002011* +- ID_MODEL_FROM_DATABASE=ReadyLink 100TX ++ ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) (ReadyLink 100TX) + + pci:v000011F6d00009881* + ID_MODEL_FROM_DATABASE=RL100TX Fast Ethernet +@@ -36138,10 +36138,10 @@ pci:v000011F8d00008032* + ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN + + pci:v000011F8d00008032sv0000117Csd0000003B* +- ID_MODEL_FROM_DATABASE=Celerity FC-82EN Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-82EN Fibre Channel Adapter) + + pci:v000011F8d00008032sv0000117Csd0000003C* +- ID_MODEL_FROM_DATABASE=Celerity FC-84EN Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-84EN Fibre Channel Adapter) + + pci:v000011F9* + ID_VENDOR_FROM_DATABASE=I-Cube Inc +@@ -36285,16 +36285,16 @@ pci:v00001202d00004300* + ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter + + pci:v00001202d00004300sv00001202sd00009841* +- ID_MODEL_FROM_DATABASE=SK-9841 LX ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX) + + pci:v00001202d00004300sv00001202sd00009842* +- ID_MODEL_FROM_DATABASE=SK-9841 LX dual link ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX dual link) + + pci:v00001202d00004300sv00001202sd00009843* +- ID_MODEL_FROM_DATABASE=SK-9843 SX ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX) + + pci:v00001202d00004300sv00001202sd00009844* +- ID_MODEL_FROM_DATABASE=SK-9843 SX dual link ++ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX dual link) + + pci:v00001203* + ID_VENDOR_FROM_DATABASE=Bayer Corporation, Agfa Division +@@ -36411,7 +36411,7 @@ pci:v00001217d000000F7* + ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) + + pci:v00001217d000000F7sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) + + pci:v00001217d000010F7* + ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller +@@ -36420,7 +36420,7 @@ pci:v00001217d000011F7* + ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller + + pci:v00001217d000011F7sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller (Precision M4600) + + pci:v00001217d000013F7* + ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller +@@ -36447,31 +36447,31 @@ pci:v00001217d00006933* + ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller + + pci:v00001217d00006933sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller (Travelmate 612 TX) + + pci:v00001217d00006972* + ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller + + pci:v00001217d00006972sv00001014sd0000020C* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (ThinkPad R30) + + pci:v00001217d00006972sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Latitude D500) + + pci:v00001217d00006972sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Magnia Z310) + + pci:v00001217d00007110* + ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator + + pci:v00001217d00007110sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC8000 laptop) + + pci:v00001217d00007110sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC6000 laptop) + + pci:v00001217d00007110sv00001734sd0000106C* +- ID_MODEL_FROM_DATABASE=Amilo A1645 ++ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (Amilo A1645) + + pci:v00001217d00007112* + ID_MODEL_FROM_DATABASE=OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller +@@ -36480,7 +36480,7 @@ pci:v00001217d00007113* + ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller + + pci:v00001217d00007113sv00001025sd00000035* +- ID_MODEL_FROM_DATABASE=TravelMate 660 ++ ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller (TravelMate 660) + + pci:v00001217d00007114* + ID_MODEL_FROM_DATABASE=OZ711M1/MC1 4-in-1 MemoryCardBus Controller +@@ -36489,13 +36489,13 @@ pci:v00001217d00007120* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller + + pci:v00001217d00007120sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) + + pci:v00001217d00007130* + ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller + + pci:v00001217d00007130sv00001179sd0000FF50* +- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E ++ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) + + pci:v00001217d00007134* + ID_MODEL_FROM_DATABASE=OZ711MP1/MS1 MemoryCardBus Controller +@@ -36519,13 +36519,13 @@ pci:v00001217d00007223* + ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller + + pci:v00001217d00007223sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC8000 laptop) + + pci:v00001217d00007223sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC6000 laptop) + + pci:v00001217d00007223sv000010CFsd000011C4* +- ID_MODEL_FROM_DATABASE=Lifebook P5020D Laptop ++ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (Lifebook P5020D Laptop) + + pci:v00001217d00007233* + ID_MODEL_FROM_DATABASE=OZ711MP3/MS3 4-in-1 MemoryCardBus Controller +@@ -36540,7 +36540,7 @@ pci:v00001217d00008320* + ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller + + pci:v00001217d00008320sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) + + pci:v00001217d00008321* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller +@@ -36549,7 +36549,7 @@ pci:v00001217d00008330* + ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller + + pci:v00001217d00008330sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller (Precision M4600) + + pci:v00001217d00008331* + ID_MODEL_FROM_DATABASE=O2 Flash Memory Card +@@ -36576,52 +36576,52 @@ pci:v0000121Ad00000003* + ID_MODEL_FROM_DATABASE=Voodoo Banshee + + pci:v0000121Ad00000003sv00001092sd00000003* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00004000* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00004002* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00004801* +- ID_MODEL_FROM_DATABASE=Monster Fusion AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) + + pci:v0000121Ad00000003sv00001092sd00004803* +- ID_MODEL_FROM_DATABASE=Monster Fusion AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) + + pci:v0000121Ad00000003sv00001092sd00008030* +- ID_MODEL_FROM_DATABASE=Monster Fusion ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) + + pci:v0000121Ad00000003sv00001092sd00008035* +- ID_MODEL_FROM_DATABASE=Monster Fusion AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) + + pci:v0000121Ad00000003sv000010B0sd00000001* +- ID_MODEL_FROM_DATABASE=Dragon 4000 ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Dragon 4000) + + pci:v0000121Ad00000003sv00001102sd00001017* +- ID_MODEL_FROM_DATABASE=3D Blaster Banshee PCI (CT6760) ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee PCI (CT6760)) + + pci:v0000121Ad00000003sv00001102sd00001018* +- ID_MODEL_FROM_DATABASE=3D Blaster Banshee VE ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee VE) + + pci:v0000121Ad00000003sv0000121Asd00000001* +- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP) + + pci:v0000121Ad00000003sv0000121Asd00000003* +- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP SGRAM ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP SGRAM) + + pci:v0000121Ad00000003sv0000121Asd00000004* + ID_MODEL_FROM_DATABASE=Voodoo Banshee + + pci:v0000121Ad00000003sv0000139Csd00000016* +- ID_MODEL_FROM_DATABASE=Raven ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) + + pci:v0000121Ad00000003sv0000139Csd00000017* +- ID_MODEL_FROM_DATABASE=Raven ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) + + pci:v0000121Ad00000003sv000014AFsd00000002* +- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix ++ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Maxi Gamer Phoenix) + + pci:v0000121Ad00000004* + ID_MODEL_FROM_DATABASE=Voodoo Banshee [Velocity 100] +@@ -36630,70 +36630,70 @@ pci:v0000121Ad00000005* + ID_MODEL_FROM_DATABASE=Voodoo 3 + + pci:v0000121Ad00000005sv0000121Asd00000004* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000030* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000031* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000034* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000036* +- ID_MODEL_FROM_DATABASE=Voodoo3 2000 PCI ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 2000 PCI) + + pci:v0000121Ad00000005sv0000121Asd00000037* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000038* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd0000003A* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000044* +- ID_MODEL_FROM_DATABASE=Voodoo3 ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3) + + pci:v0000121Ad00000005sv0000121Asd0000004B* +- ID_MODEL_FROM_DATABASE=Velocity 100 ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 100) + + pci:v0000121Ad00000005sv0000121Asd0000004C* +- ID_MODEL_FROM_DATABASE=Velocity 200 ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 200) + + pci:v0000121Ad00000005sv0000121Asd0000004D* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd0000004E* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000051* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000052* +- ID_MODEL_FROM_DATABASE=Voodoo3 AGP ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) + + pci:v0000121Ad00000005sv0000121Asd00000057* +- ID_MODEL_FROM_DATABASE=Voodoo3 3000 PCI ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3000 PCI) + + pci:v0000121Ad00000005sv0000121Asd00000060* +- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (NTSC) ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (NTSC)) + + pci:v0000121Ad00000005sv0000121Asd00000061* +- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (PAL) ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (PAL)) + + pci:v0000121Ad00000005sv0000121Asd00000062* +- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (SECAM) ++ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (SECAM)) + + pci:v0000121Ad00000009* + ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 + + pci:v0000121Ad00000009sv0000121Asd00000003* +- ID_MODEL_FROM_DATABASE=Voodoo5 PCI 5500 ++ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 PCI 5500) + + pci:v0000121Ad00000009sv0000121Asd00000009* +- ID_MODEL_FROM_DATABASE=Voodoo5 AGP 5500/6000 ++ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 AGP 5500/6000) + + pci:v0000121Ad00000057* + ID_MODEL_FROM_DATABASE=Voodoo 3/3000 [Avenger] +@@ -36930,31 +36930,31 @@ pci:v0000123Fd00008120* + ID_MODEL_FROM_DATABASE=DVxplore Codec + + pci:v0000123Fd00008120sv000010DEsd000001E1* +- ID_MODEL_FROM_DATABASE=NVTV PAL ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) + + pci:v0000123Fd00008120sv000010DEsd000001E2* +- ID_MODEL_FROM_DATABASE=NVTV NTSC ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) + + pci:v0000123Fd00008120sv000010DEsd000001E3* +- ID_MODEL_FROM_DATABASE=NVTV PAL ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) + + pci:v0000123Fd00008120sv000010DEsd00000248* +- ID_MODEL_FROM_DATABASE=NVTV NTSC ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) + + pci:v0000123Fd00008120sv000010DEsd00000249* +- ID_MODEL_FROM_DATABASE=NVTV PAL ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) + + pci:v0000123Fd00008120sv000011BDsd00000006* +- ID_MODEL_FROM_DATABASE=DV500 E4 ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) + + pci:v0000123Fd00008120sv000011BDsd0000000A* +- ID_MODEL_FROM_DATABASE=DV500 E4 ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) + + pci:v0000123Fd00008120sv000011BDsd0000000F* +- ID_MODEL_FROM_DATABASE=DV500 E4 ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) + + pci:v0000123Fd00008120sv00001809sd00000016* +- ID_MODEL_FROM_DATABASE=Emuzed MAUI-III PCI PVR FM TV ++ ID_MODEL_FROM_DATABASE=DVxplore Codec (Emuzed MAUI-III PCI PVR FM TV) + + pci:v0000123Fd00008888* + ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder +@@ -36981,10 +36981,10 @@ pci:v00001242d00001560* + ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller + + pci:v00001242d00001560sv00001242sd00006562* +- ID_MODEL_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter) + + pci:v00001242d00001560sv00001242sd0000656A* +- ID_MODEL_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX-6562 PCI-X Fibre Channel Adapter) + + pci:v00001242d00004643* + ID_MODEL_FROM_DATABASE=FCI-1063 Fibre Channel Adapter +@@ -37011,7 +37011,7 @@ pci:v00001244d00000A00* + ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] + + pci:v00001244d00000A00sv00001244sd00000A00* +- ID_MODEL_FROM_DATABASE=FRITZ!Card ISDN Controller ++ ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] (FRITZ!Card ISDN Controller) + + pci:v00001244d00000E00* + ID_MODEL_FROM_DATABASE=Fritz!PCI v2.0 ISDN +@@ -37053,7 +37053,7 @@ pci:v0000124Bd00000040* + ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier + + pci:v0000124Bd00000040sv0000124Bsd00009080* +- ID_MODEL_FROM_DATABASE=PCI9080 Bridge ++ ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier (PCI9080 Bridge) + + pci:v0000124C* + ID_VENDOR_FROM_DATABASE=Solitron Technologies, Inc. +@@ -37164,7 +37164,7 @@ pci:v0000125Bd00001400* + ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller + + pci:v0000125Bd00001400sv00001186sd00001100* +- ID_MODEL_FROM_DATABASE=AX8814X Based PCI Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller (AX8814X Based PCI Fast Ethernet Adapter) + + pci:v0000125C* + ID_VENDOR_FROM_DATABASE=Aurora Technologies, Inc. +@@ -37188,61 +37188,61 @@ pci:v0000125Dd00001968* + ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 + + pci:v0000125Dd00001968sv00001028sd00000085* +- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 PCI ++ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 PCI) + + pci:v0000125Dd00001968sv00001033sd00008051* +- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 Audiodrive) + + pci:v0000125Dd00001969* + ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive + + pci:v0000125Dd00001969sv00001014sd00000166* +- ID_MODEL_FROM_DATABASE=ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard ++ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard) + + pci:v0000125Dd00001969sv0000125Dsd00008888* +- ID_MODEL_FROM_DATABASE=Solo-1 Audio Adapter ++ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Solo-1 Audio Adapter) + + pci:v0000125Dd00001969sv0000153Bsd0000111B* +- ID_MODEL_FROM_DATABASE=Terratec 128i PCI ++ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Terratec 128i PCI) + + pci:v0000125Dd00001978* + ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E + + pci:v0000125Dd00001978sv00000E11sd0000B112* +- ID_MODEL_FROM_DATABASE=Armada M700/E500 ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Armada M700/E500) + + pci:v0000125Dd00001978sv00001033sd0000803C* +- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) + + pci:v0000125Dd00001978sv00001033sd00008058* +- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) + + pci:v0000125Dd00001978sv00001092sd00004000* +- ID_MODEL_FROM_DATABASE=Monster Sound MX400 ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Monster Sound MX400) + + pci:v0000125Dd00001978sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) + + pci:v0000125Dd00001988* + ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 + + pci:v0000125Dd00001988sv00000E11sd00000098* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Evo N600c) + + pci:v0000125Dd00001988sv00001092sd00004100* +- ID_MODEL_FROM_DATABASE=Sonic Impact S100 ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Sonic Impact S100) + + pci:v0000125Dd00001988sv0000125Dsd00000431* +- ID_MODEL_FROM_DATABASE=Allegro AudioDrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) + + pci:v0000125Dd00001988sv0000125Dsd00001988* +- ID_MODEL_FROM_DATABASE=ESS Allegro-1 Audiodrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (ESS Allegro-1 Audiodrive) + + pci:v0000125Dd00001988sv0000125Dsd00001998* +- ID_MODEL_FROM_DATABASE=Allegro AudioDrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) + + pci:v0000125Dd00001988sv0000125Dsd00001999* +- ID_MODEL_FROM_DATABASE=Allegro-1 AudioDrive ++ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro-1 AudioDrive) + + pci:v0000125Dd00001989* + ID_MODEL_FROM_DATABASE=ESS Modem +@@ -37254,13 +37254,13 @@ pci:v0000125Dd00001998* + ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator + + pci:v0000125Dd00001998sv00001028sd000000B1* +- ID_MODEL_FROM_DATABASE=Latitude C600 ++ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C600) + + pci:v0000125Dd00001998sv00001028sd000000E5* +- ID_MODEL_FROM_DATABASE=Latitude C810 ++ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C810) + + pci:v0000125Dd00001998sv00001028sd000000E6* +- ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i (Dell Inspiron 8100) ++ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (ES1983S Maestro-3i (Dell Inspiron 8100)) + + pci:v0000125Dd00001999* + ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator +@@ -37281,34 +37281,34 @@ pci:v0000125Dd00002898* + ID_MODEL_FROM_DATABASE=ES2898 Modem + + pci:v0000125Dd00002898sv0000125Dsd00000424* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000425* +- ID_MODEL_FROM_DATABASE=ES56T-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56T-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000426* +- ID_MODEL_FROM_DATABASE=ES56V-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56V-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000427* +- ID_MODEL_FROM_DATABASE=VW-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (VW-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000428* +- ID_MODEL_FROM_DATABASE=ES56ST-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56ST-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000125Dsd00000429* +- ID_MODEL_FROM_DATABASE=ES56SV-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56SV-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000147Asd0000C001* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125Dd00002898sv0000148Dsd00001030* +- ID_MODEL_FROM_DATABASE=HCF WV-PI56 [ESS ES56-PI Data Fax Modem] ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (HCF WV-PI56 [ESS ES56-PI Data Fax Modem]) + + pci:v0000125Dd00002898sv000014FEsd00000428* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125Dd00002898sv000014FEsd00000429* +- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem ++ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) + + pci:v0000125E* + ID_VENDOR_FROM_DATABASE=Specialvideo Engineering SRL +@@ -37323,40 +37323,40 @@ pci:v00001260d00003872* + ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] + + pci:v00001260d00003872sv00001468sd00000202* +- ID_MODEL_FROM_DATABASE=LAN-Express IEEE 802.11b Wireless LAN ++ ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] (LAN-Express IEEE 802.11b Wireless LAN) + + pci:v00001260d00003873* + ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] + + pci:v00001260d00003873sv000010CFsd00001169* +- ID_MODEL_FROM_DATABASE=MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874]) + + pci:v00001260d00003873sv00001186sd00003501* +- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874]) + + pci:v00001260d00003873sv00001186sd00003700* +- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev E1) [ISL3872] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev E1) [ISL3872]) + + pci:v00001260d00003873sv00001385sd00004105* +- ID_MODEL_FROM_DATABASE=MA311 802.11b wireless adapter [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MA311 802.11b wireless adapter [ISL3874]) + + pci:v00001260d00003873sv00001668sd00000414* +- ID_MODEL_FROM_DATABASE=HWP01170-01 802.11b PCI Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (HWP01170-01 802.11b PCI Wireless Adapter) + + pci:v00001260d00003873sv000016A5sd00001601* +- ID_MODEL_FROM_DATABASE=AIR.mate PC-400 PCI Wireless LAN Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (AIR.mate PC-400 PCI Wireless LAN Adapter) + + pci:v00001260d00003873sv00001737sd00003874* +- ID_MODEL_FROM_DATABASE=WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874]) + + pci:v00001260d00003873sv00004033sd00007033* +- ID_MODEL_FROM_DATABASE=PCW200 802.11b Wireless PCI Adapter [ISL3874] ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (PCW200 802.11b Wireless PCI Adapter [ISL3874]) + + pci:v00001260d00003873sv00008086sd00002510* +- ID_MODEL_FROM_DATABASE=M3AWEB Wireless 802.11b MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (M3AWEB Wireless 802.11b MiniPCI Adapter) + + pci:v00001260d00003873sv00008086sd00002513* +- ID_MODEL_FROM_DATABASE=Wireless 802.11b MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (Wireless 802.11b MiniPCI Adapter) + + pci:v00001260d00003877* + ID_MODEL_FROM_DATABASE=ISL3877 [Prism Indigo] +@@ -37365,58 +37365,58 @@ pci:v00001260d00003886* + ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] + + pci:v00001260d00003886sv000017CFsd00000037* +- ID_MODEL_FROM_DATABASE=XG-901 and clones Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] (XG-901 and clones Wireless Adapter) + + pci:v00001260d00003890* + ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] + + pci:v00001260d00003890sv000010B8sd00002802* +- ID_MODEL_FROM_DATABASE=SMC2802W V1 Wireless PCI Adapter [ISL3890] ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V1 Wireless PCI Adapter [ISL3890]) + + pci:v00001260d00003890sv000010B8sd00002835* +- ID_MODEL_FROM_DATABASE=SMC2835W Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W Wireless Cardbus Adapter) + + pci:v00001260d00003890sv000010B8sd0000A835* +- ID_MODEL_FROM_DATABASE=SMC2835W V2 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V2 Wireless Cardbus Adapter) + + pci:v00001260d00003890sv00001113sd00004203* +- ID_MODEL_FROM_DATABASE=WN4201B ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WN4201B) + + pci:v00001260d00003890sv00001113sd00008201* +- ID_MODEL_FROM_DATABASE=T-Com T-Sinus 154pcicard Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Com T-Sinus 154pcicard Wireless PCI Adapter) + + pci:v00001260d00003890sv00001113sd0000B301* +- ID_MODEL_FROM_DATABASE=T-Sinus 154card Cardbus ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Sinus 154card Cardbus) + + pci:v00001260d00003890sv00001113sd0000EE03* +- ID_MODEL_FROM_DATABASE=SMC2802W V2 Wireless PCI Adapter [ISL3886] ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V2 Wireless PCI Adapter [ISL3886]) + + pci:v00001260d00003890sv00001113sd0000EE08* +- ID_MODEL_FROM_DATABASE=SMC2835W V3 EU Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V3 EU Wireless Cardbus Adapter) + + pci:v00001260d00003890sv00001186sd00003202* +- ID_MODEL_FROM_DATABASE=DWL-G650 A1 Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (DWL-G650 A1 Wireless Adapter) + + pci:v00001260d00003890sv00001259sd0000C104* +- ID_MODEL_FROM_DATABASE=CG-WLCB54GT Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (CG-WLCB54GT Wireless Adapter) + + pci:v00001260d00003890sv00001260sd00000000* +- ID_MODEL_FROM_DATABASE=WG511 v1 54 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v1 54 Mbps Wireless PC Card) + + pci:v00001260d00003890sv00001385sd00004800* +- ID_MODEL_FROM_DATABASE=WG511 v2/v3 54 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v2/v3 54 Mbps Wireless PC Card) + + pci:v00001260d00003890sv000016A5sd00001605* +- ID_MODEL_FROM_DATABASE=ALLNET ALL0271 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (ALLNET ALL0271 Wireless PCI Adapter) + + pci:v00001260d00003890sv000017CFsd00000014* +- ID_MODEL_FROM_DATABASE=XG-600 and clones Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-600 and clones Wireless Adapter) + + pci:v00001260d00003890sv000017CFsd00000020* +- ID_MODEL_FROM_DATABASE=XG-900 and clones Wireless Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-900 and clones Wireless Adapter) + + pci:v00001260d00003890sv0000187Esd00003403* +- ID_MODEL_FROM_DATABASE=G-110 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (G-110 802.11g Wireless Cardbus Adapter) + + pci:v00001260d00008130* + ID_MODEL_FROM_DATABASE=HMP8130 NTSC/PAL Video Decoder +@@ -37428,7 +37428,7 @@ pci:v00001260d0000FFFF* + ID_MODEL_FROM_DATABASE=ISL3886IK + + pci:v00001260d0000FFFFsv00001260sd00000000* +- ID_MODEL_FROM_DATABASE=Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter ++ ID_MODEL_FROM_DATABASE=ISL3886IK (Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter) + + pci:v00001261* + ID_VENDOR_FROM_DATABASE=Matsushita-Kotobuki Electronics Industries, Ltd. +@@ -37455,7 +37455,7 @@ pci:v00001266d00001910* + ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter + + pci:v00001266d00001910sv00001266sd00001910* +- ID_MODEL_FROM_DATABASE=NE2000Plus Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter (NE2000Plus Ethernet Adapter) + + pci:v00001267* + ID_VENDOR_FROM_DATABASE=S. A. Telecommunications +@@ -37554,169 +37554,169 @@ pci:v00001274d00001371* + ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] + + pci:v00001274d00001371sv00000E11sd00000024* +- ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI on Motherboard Compaq Deskpro) + + pci:v00001274d00001371sv00000E11sd0000B1A7* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) + + pci:v00001274d00001371sv00001033sd000080AC* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) + + pci:v00001274d00001371sv00001042sd00001854* +- ID_MODEL_FROM_DATABASE=Tazer ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tazer) + + pci:v00001274d00001371sv0000107Bsd00008054* +- ID_MODEL_FROM_DATABASE=Tabor2 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tabor2) + + pci:v00001274d00001371sv00001274sd00001371* +- ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI 64V/128 / Creative Sound Blaster CT4810) + + pci:v00001274d00001371sv00001274sd00008001* +- ID_MODEL_FROM_DATABASE=CT4751 board ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (CT4751 board) + + pci:v00001274d00001371sv00001462sd00006470* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A) + + pci:v00001274d00001371sv00001462sd00006560* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10) + + pci:v00001274d00001371sv00001462sd00006630* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A) + + pci:v00001274d00001371sv00001462sd00006631* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A) + + pci:v00001274d00001371sv00001462sd00006632* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A) + + pci:v00001274d00001371sv00001462sd00006633* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A) + + pci:v00001274d00001371sv00001462sd00006820* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00) + + pci:v00001274d00001371sv00001462sd00006822* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A) + + pci:v00001274d00001371sv00001462sd00006830* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00) + + pci:v00001274d00001371sv00001462sd00006880* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00) + + pci:v00001274d00001371sv00001462sd00006900* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00) + + pci:v00001274d00001371sv00001462sd00006910* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6191 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6191) + + pci:v00001274d00001371sv00001462sd00006930* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6193 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6193) + + pci:v00001274d00001371sv00001462sd00006990* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A) + + pci:v00001274d00001371sv00001462sd00006991* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A) + + pci:v00001274d00001371sv000014A4sd00002077* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KR639 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KR639) + + pci:v00001274d00001371sv000014A4sd00002105* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR800 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR800) + + pci:v00001274d00001371sv000014A4sd00002107* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR801 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR801) + + pci:v00001274d00001371sv000014A4sd00002172* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard DR739 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard DR739) + + pci:v00001274d00001371sv00001509sd00009902* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW11 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW11) + + pci:v00001274d00001371sv00001509sd00009903* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW31 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW31) + + pci:v00001274d00001371sv00001509sd00009904* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KA11 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KA11) + + pci:v00001274d00001371sv00001509sd00009905* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KC13 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KC13) + + pci:v00001274d00001371sv0000152Dsd00008801* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810E ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810E) + + pci:v00001274d00001371sv0000152Dsd00008802* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810) + + pci:v00001274d00001371sv0000152Dsd00008803* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810E ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810E) + + pci:v00001274d00001371sv0000152Dsd00008804* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810-S ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810-S) + + pci:v00001274d00001371sv0000152Dsd00008805* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3820-S ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3820-S) + + pci:v00001274d00001371sv0000270Fsd00002001* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6CTR ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6CTR) + + pci:v00001274d00001371sv0000270Fsd00002200* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WTX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WTX) + + pci:v00001274d00001371sv0000270Fsd00003000* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WSV ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WSV) + + pci:v00001274d00001371sv0000270Fsd00003100* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV2 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV2) + + pci:v00001274d00001371sv0000270Fsd00003102* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV) + + pci:v00001274d00001371sv0000270Fsd00007060* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6ASA2 ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6ASA2) + + pci:v00001274d00001371sv00008086sd00004249* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BI440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BI440ZX) + + pci:v00001274d00001371sv00008086sd0000424C* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BL440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BL440ZX) + + pci:v00001274d00001371sv00008086sd0000425A* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BZ440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BZ440ZX) + + pci:v00001274d00001371sv00008086sd00004341* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cayman ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cayman) + + pci:v00001274d00001371sv00008086sd00004343* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cape Cod ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cape Cod) + + pci:v00001274d00001371sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=D815EEA Motherboard ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (D815EEA Motherboard) + + pci:v00001274d00001371sv00008086sd00004649* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Fire Island ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Fire Island) + + pci:v00001274d00001371sv00008086sd0000464A* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard FJ440ZX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard FJ440ZX) + + pci:v00001274d00001371sv00008086sd00004D4F* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Montreal ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Montreal) + + pci:v00001274d00001371sv00008086sd00004F43* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard OC440LX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard OC440LX) + + pci:v00001274d00001371sv00008086sd00005243* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard RC440BX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard RC440BX) + + pci:v00001274d00001371sv00008086sd00005352* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard SunRiver ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard SunRiver) + + pci:v00001274d00001371sv00008086sd00005643* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Vancouver ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Vancouver) + + pci:v00001274d00001371sv00008086sd00005753* +- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard WS440BX ++ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard WS440BX) + + pci:v00001274d00005000* + ID_MODEL_FROM_DATABASE=ES1370 [AudioPCI] +@@ -37725,31 +37725,31 @@ pci:v00001274d00005880* + ID_MODEL_FROM_DATABASE=5880B [AudioPCI] + + pci:v00001274d00005880sv00001274sd00002000* +- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) + + pci:v00001274d00005880sv00001274sd00002003* +- ID_MODEL_FROM_DATABASE=Creative SoundBlaster AudioPCI 128 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative SoundBlaster AudioPCI 128) + + pci:v00001274d00005880sv00001274sd00005880* +- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) + + pci:v00001274d00005880sv00001274sd00008001* +- ID_MODEL_FROM_DATABASE=Sound Blaster 16PCI 4.1ch ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Sound Blaster 16PCI 4.1ch) + + pci:v00001274d00005880sv00001458sd0000A000* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6OXET ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6OXET) + + pci:v00001274d00005880sv00001462sd00006880* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard MS-6188 1.00 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard MS-6188 1.00) + + pci:v00001274d00005880sv0000270Fsd00002001* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6CTR ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6CTR) + + pci:v00001274d00005880sv0000270Fsd00002200* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6WTX ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6WTX) + + pci:v00001274d00005880sv0000270Fsd00007040* +- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6ATA4 ++ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6ATA4) + + pci:v00001274d00008001* + ID_MODEL_FROM_DATABASE=CT5880 [AudioPCI] +@@ -37809,181 +37809,181 @@ pci:v0000127Ad00001002* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00001002sv00001092sd0000094C* +- ID_MODEL_FROM_DATABASE=SupraExpress 56i PRO [Diamond SUP2380] ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (SupraExpress 56i PRO [Diamond SUP2380]) + + pci:v0000127Ad00001002sv0000122Dsd00004002* +- ID_MODEL_FROM_DATABASE=HPG / MDP3858-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (HPG / MDP3858-U) + + pci:v0000127Ad00001002sv0000122Dsd00004005* +- ID_MODEL_FROM_DATABASE=MDP3858-E ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-E) + + pci:v0000127Ad00001002sv0000122Dsd00004007* +- ID_MODEL_FROM_DATABASE=MDP3858-A/-NZ ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-A/-NZ) + + pci:v0000127Ad00001002sv0000122Dsd00004012* +- ID_MODEL_FROM_DATABASE=MDP3858-SA ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-SA) + + pci:v0000127Ad00001002sv0000122Dsd00004017* +- ID_MODEL_FROM_DATABASE=MDP3858-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) + + pci:v0000127Ad00001002sv0000122Dsd00004018* +- ID_MODEL_FROM_DATABASE=MDP3858-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) + + pci:v0000127Ad00001002sv0000127Asd00001002* +- ID_MODEL_FROM_DATABASE=Rockwell 56K D/F HCF Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Rockwell 56K D/F HCF Modem) + + pci:v0000127Ad00001003* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00001003sv00000E11sd0000B0BC* +- ID_MODEL_FROM_DATABASE=229-DF Zephyr ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Zephyr) + + pci:v0000127Ad00001003sv00000E11sd0000B114* +- ID_MODEL_FROM_DATABASE=229-DF Cheetah ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Cheetah) + + pci:v0000127Ad00001003sv00001033sd0000802B* +- ID_MODEL_FROM_DATABASE=229-DF ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF) + + pci:v0000127Ad00001003sv000013DFsd00001003* +- ID_MODEL_FROM_DATABASE=PCI56RX Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PCI56RX Modem) + + pci:v0000127Ad00001003sv000013E0sd00000117* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv000013E0sd00000147* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 Spain V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 Spain V.90 Modem) + + pci:v0000127Ad00001003sv000013E0sd00000197* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv000013E0sd000001C7* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 WW V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 WW V.90 Modem) + + pci:v0000127Ad00001003sv000013E0sd000001F7* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv00001436sd00001003* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001003sv00001436sd00001103* +- ID_MODEL_FROM_DATABASE=IBM 5614PM3G V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM 5614PM3G V.90 Modem) + + pci:v0000127Ad00001003sv00001436sd00001602* +- ID_MODEL_FROM_DATABASE=Compaq 229-DF Ducati ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq 229-DF Ducati) + + pci:v0000127Ad00001004* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem + + pci:v0000127Ad00001004sv00001048sd00001500* +- ID_MODEL_FROM_DATABASE=MicroLink 56k Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (MicroLink 56k Modem) + + pci:v0000127Ad00001004sv000010CFsd00001059* +- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFRT ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Fujitsu 229-DFRT) + + pci:v0000127Ad00001005* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v0000127Ad00001005sv00001005sd0000127A* +- ID_MODEL_FROM_DATABASE=AOpen FM56-P ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (AOpen FM56-P) + + pci:v0000127Ad00001005sv00001033sd00008029* +- ID_MODEL_FROM_DATABASE=229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (229-DFSV) + + pci:v0000127Ad00001005sv00001033sd00008054* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Modem) + + pci:v0000127Ad00001005sv000010CFsd0000103C* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00001005sv000010CFsd00001055* +- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) + + pci:v0000127Ad00001005sv000010CFsd00001056* +- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) + + pci:v0000127Ad00001005sv0000122Dsd00004003* +- ID_MODEL_FROM_DATABASE=MDP3858SP-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-U) + + pci:v0000127Ad00001005sv0000122Dsd00004006* +- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-E ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-E) + + pci:v0000127Ad00001005sv0000122Dsd00004008* +- ID_MODEL_FROM_DATABASE=MDP3858SP-A/SP-NZ ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-A/SP-NZ) + + pci:v0000127Ad00001005sv0000122Dsd00004009* +- ID_MODEL_FROM_DATABASE=MDP3858SP-E ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-E) + + pci:v0000127Ad00001005sv0000122Dsd00004010* +- ID_MODEL_FROM_DATABASE=MDP3858V-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-U) + + pci:v0000127Ad00001005sv0000122Dsd00004011* +- ID_MODEL_FROM_DATABASE=MDP3858SP-SA ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-SA) + + pci:v0000127Ad00001005sv0000122Dsd00004013* +- ID_MODEL_FROM_DATABASE=MDP3858V-A/V-NZ ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-A/V-NZ) + + pci:v0000127Ad00001005sv0000122Dsd00004015* +- ID_MODEL_FROM_DATABASE=MDP3858SP-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-W) + + pci:v0000127Ad00001005sv0000122Dsd00004016* +- ID_MODEL_FROM_DATABASE=MDP3858V-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-W) + + pci:v0000127Ad00001005sv0000122Dsd00004019* +- ID_MODEL_FROM_DATABASE=MDP3858V-SA ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-SA) + + pci:v0000127Ad00001005sv000013DFsd00001005* +- ID_MODEL_FROM_DATABASE=PCI56RVP Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (PCI56RVP Modem) + + pci:v0000127Ad00001005sv000013E0sd00000187* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv000013E0sd000001A7* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv000013E0sd000001B7* +- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 Spain V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 Spain V.90 Modem) + + pci:v0000127Ad00001005sv000013E0sd000001D7* +- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 WW V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 WW V.90 Modem) + + pci:v0000127Ad00001005sv00001436sd00001005* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv00001436sd00001105* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) + + pci:v0000127Ad00001005sv00001437sd00001105* +- ID_MODEL_FROM_DATABASE=IBM 5614PS3G V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM 5614PS3G V.90 Modem) + + pci:v0000127Ad00001022* + ID_MODEL_FROM_DATABASE=HCF 56k Modem + + pci:v0000127Ad00001022sv00001436sd00001303* +- ID_MODEL_FROM_DATABASE=M3-5614PM3G V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (M3-5614PM3G V.90 Modem) + + pci:v0000127Ad00001023* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00001023sv0000122Dsd00004020* +- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858-WE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Packard Bell MDP3858-WE) + + pci:v0000127Ad00001023sv0000122Dsd00004023* +- ID_MODEL_FROM_DATABASE=MDP3858-UE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-UE) + + pci:v0000127Ad00001023sv000013E0sd00000247* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 Spain V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 Spain V.90 Modem) + + pci:v0000127Ad00001023sv000013E0sd00000297* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001023sv000013E0sd000002C7* +- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 WW V.90 Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 WW V.90 Modem) + + pci:v0000127Ad00001023sv00001436sd00001203* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001023sv00001436sd00001303* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v0000127Ad00001024* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem +@@ -37992,19 +37992,19 @@ pci:v0000127Ad00001025* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v0000127Ad00001025sv000010CFsd0000106A* +- ID_MODEL_FROM_DATABASE=Fujitsu 235-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 235-DFSV) + + pci:v0000127Ad00001025sv0000122Dsd00004021* +- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-WE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-WE) + + pci:v0000127Ad00001025sv0000122Dsd00004022* +- ID_MODEL_FROM_DATABASE=MDP3858SP-WE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-WE) + + pci:v0000127Ad00001025sv0000122Dsd00004024* +- ID_MODEL_FROM_DATABASE=MDP3858V-UE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-UE) + + pci:v0000127Ad00001025sv0000122Dsd00004025* +- ID_MODEL_FROM_DATABASE=MDP3858SP-UE ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-UE) + + pci:v0000127Ad00001026* + ID_MODEL_FROM_DATABASE=HCF 56k PCI Speakerphone Modem +@@ -38034,85 +38034,85 @@ pci:v0000127Ad00002005* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v0000127Ad00002005sv0000104Dsd00008044* +- ID_MODEL_FROM_DATABASE=229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd00008045* +- ID_MODEL_FROM_DATABASE=229-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd00008055* +- ID_MODEL_FROM_DATABASE=PBE/Aztech 235W-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PBE/Aztech 235W-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd00008056* +- ID_MODEL_FROM_DATABASE=235-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (235-DFSV) + + pci:v0000127Ad00002005sv0000104Dsd0000805A* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002005sv0000104Dsd0000805F* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002005sv0000104Dsd00008074* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002013* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem + + pci:v0000127Ad00002013sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002013sv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) + + pci:v0000127Ad00002014* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem + + pci:v0000127Ad00002014sv000010CFsd00001057* +- ID_MODEL_FROM_DATABASE=Fujitsu Citicorp III ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Fujitsu Citicorp III) + + pci:v0000127Ad00002014sv0000122Dsd00004050* +- ID_MODEL_FROM_DATABASE=MSP3880-U ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-U) + + pci:v0000127Ad00002014sv0000122Dsd00004055* +- ID_MODEL_FROM_DATABASE=MSP3880-W ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-W) + + pci:v0000127Ad00002015* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v0000127Ad00002015sv000010CFsd00001063* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00002015sv000010CFsd00001064* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00002015sv00001468sd00002015* +- ID_MODEL_FROM_DATABASE=Fujitsu ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) + + pci:v0000127Ad00002016* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem + + pci:v0000127Ad00002016sv0000122Dsd00004051* +- ID_MODEL_FROM_DATABASE=MSP3880V-W ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-W) + + pci:v0000127Ad00002016sv0000122Dsd00004052* +- ID_MODEL_FROM_DATABASE=MSP3880SP-W ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-W) + + pci:v0000127Ad00002016sv0000122Dsd00004054* +- ID_MODEL_FROM_DATABASE=MSP3880V-U ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-U) + + pci:v0000127Ad00002016sv0000122Dsd00004056* +- ID_MODEL_FROM_DATABASE=MSP3880SP-U ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-U) + + pci:v0000127Ad00002016sv0000122Dsd00004057* +- ID_MODEL_FROM_DATABASE=MSP3880SP-A ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-A) + + pci:v0000127Ad00004311* + ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem + + pci:v0000127Ad00004311sv0000127Asd00004311* +- ID_MODEL_FROM_DATABASE=Ring Modular? Riptide HSF RT HP Dom ++ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (Ring Modular? Riptide HSF RT HP Dom) + + pci:v0000127Ad00004311sv000013E0sd00000210* +- ID_MODEL_FROM_DATABASE=HP-GVC ++ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (HP-GVC) + + pci:v0000127Ad00004320* + ID_MODEL_FROM_DATABASE=Riptide PCI Audio Controller +@@ -38124,16 +38124,16 @@ pci:v0000127Ad00004321* + ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem + + pci:v0000127Ad00004321sv00001235sd00004321* +- ID_MODEL_FROM_DATABASE=Hewlett Packard DF ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) + + pci:v0000127Ad00004321sv00001235sd00004324* +- ID_MODEL_FROM_DATABASE=Hewlett Packard DF ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) + + pci:v0000127Ad00004321sv000013E0sd00000210* +- ID_MODEL_FROM_DATABASE=Hewlett Packard DF ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) + + pci:v0000127Ad00004321sv0000144Dsd00002321* +- ID_MODEL_FROM_DATABASE=Riptide ++ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Riptide) + + pci:v0000127Ad00004322* + ID_MODEL_FROM_DATABASE=Riptide PCI Game Controller +@@ -38190,7 +38190,7 @@ pci:v00001282d00009102* + ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet + + pci:v00001282d00009102sv00000291sd00008212* +- ID_MODEL_FROM_DATABASE=DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit ++ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit) + + pci:v00001282d00009132* + ID_MODEL_FROM_DATABASE=Ethernet 100/10 MBit +@@ -38208,19 +38208,19 @@ pci:v00001283d00008211* + ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 + + pci:v00001283d00008211sv00001043sd00008138* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 (P5GD1-VW Mainboard) + + pci:v00001283d00008212* + ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller + + pci:v00001283d00008212sv00001283sd00000001* +- ID_MODEL_FROM_DATABASE=IT/ITE8212 Dual channel ATA RAID controller ++ ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller (IT/ITE8212 Dual channel ATA RAID controller) + + pci:v00001283d00008213* + ID_MODEL_FROM_DATABASE=IT8213 IDE Controller + + pci:v00001283d00008213sv00001458sd0000B000* +- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard ++ ID_MODEL_FROM_DATABASE=IT8213 IDE Controller (GA-EG45M-DS2H Mainboard) + + pci:v00001283d00008330* + ID_MODEL_FROM_DATABASE=IT8330G +@@ -38451,19 +38451,19 @@ pci:v000012AEd00000001* + ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet + + pci:v000012AEd00000001sv00001014sd00000104* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX PCI Adapter) + + pci:v000012AEd00000001sv000012AEsd00000001* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX (Universal) ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX (Universal)) + + pci:v000012AEd00000002* + ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) + + pci:v000012AEd00000002sv000010A9sd00008002* +- ID_MODEL_FROM_DATABASE=Acenic Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Acenic Gigabit Ethernet) + + pci:v000012AEd00000002sv000012AEsd00000002* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-T (3C986-T) ++ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Gigabit Ethernet-T (3C986-T)) + + pci:v000012AEd000000FA* + ID_MODEL_FROM_DATABASE=Farallon PN9100-T Gigabit Ethernet +@@ -38505,64 +38505,64 @@ pci:v000012B9d00001006* + ID_MODEL_FROM_DATABASE=WinModem + + pci:v000012B9d00001006sv000012B9sd0000005C* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 3472) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 3472)) + + pci:v000012B9d00001006sv000012B9sd0000005E* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 662975) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 662975)) + + pci:v000012B9d00001006sv000012B9sd00000062* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662978) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662978)) + + pci:v000012B9d00001006sv000012B9sd00000068* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 5690) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 5690)) + + pci:v000012B9d00001006sv000012B9sd0000007A* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662974) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662974)) + + pci:v000012B9d00001006sv000012B9sd0000007F* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 5698, 5699) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 5698, 5699)) + + pci:v000012B9d00001006sv000012B9sd00000080* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 2975, 3528) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 2975, 3528)) + + pci:v000012B9d00001006sv000012B9sd00000081* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Models 2974, 3529) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Models 2974, 3529)) + + pci:v000012B9d00001006sv000012B9sd00000091* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 2978) ++ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 2978)) + + pci:v000012B9d00001007* + ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem + + pci:v000012B9d00001007sv000012B9sd000000A3* +- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Model 3595) ++ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem ((Model 3595)) + + pci:v000012B9d00001007sv000012B9sd000000C4* +- ID_MODEL_FROM_DATABASE=U.S. Robotics V.92 Voice Faxmodem (2884A/B/C) ++ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (U.S. Robotics V.92 Voice Faxmodem (2884A/B/C)) + + pci:v000012B9d00001008* + ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 + + pci:v000012B9d00001008sv000012B9sd000000A2* +- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 2977) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 2977)) + + pci:v000012B9d00001008sv000012B9sd000000AA* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 2976) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 2976)) + + pci:v000012B9d00001008sv000012B9sd000000AB* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 5609) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 5609)) + + pci:v000012B9d00001008sv000012B9sd000000AC* +- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 3298) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 3298)) + + pci:v000012B9d00001008sv000012B9sd000000AD* +- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 5610) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 5610)) + + pci:v000012B9d00001008sv000012B9sd000000D3* +- ID_MODEL_FROM_DATABASE=USR 56K Internal V92 FAX Modem (Model 5610) ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal V92 FAX Modem (Model 5610)) + + pci:v000012B9d00001008sv000012B9sd0000BABA* +- ID_MODEL_FROM_DATABASE=USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] ++ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk]) + + pci:v000012BA* + ID_VENDOR_FROM_DATABASE=BittWare, Inc. +@@ -38586,7 +38586,7 @@ pci:v000012BEd00003042* + ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite + + pci:v000012BEd00003042sv000012BEsd00003042* +- ID_MODEL_FROM_DATABASE=Anchor Chips Lite Evaluation Board ++ ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite (Anchor Chips Lite Evaluation Board) + + pci:v000012BF* + ID_VENDOR_FROM_DATABASE=Fujifilm Microdevices +@@ -38781,58 +38781,58 @@ pci:v000012D2d00000018* + ID_MODEL_FROM_DATABASE=Riva128 + + pci:v000012D2d00000018sv00001048sd00000C10* +- ID_MODEL_FROM_DATABASE=VICTORY Erazor ++ ID_MODEL_FROM_DATABASE=Riva128 (VICTORY Erazor) + + pci:v000012D2d00000018sv0000107Bsd00008030* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv00001092sd00000350* +- ID_MODEL_FROM_DATABASE=Viper V330 ++ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) + + pci:v000012D2d00000018sv00001092sd00001092* +- ID_MODEL_FROM_DATABASE=Viper V330 ++ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) + + pci:v000012D2d00000018sv000010B4sd00001B1B* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00001B1D* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00001B1E* +- ID_MODEL_FROM_DATABASE=STB Velocity 128, PAL TV-Out ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128, PAL TV-Out) + + pci:v000012D2d00000018sv000010B4sd00001B20* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 Sapphire ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 Sapphire) + + pci:v000012D2d00000018sv000010B4sd00001B21* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00001B22* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, NTSC TV-Out ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, NTSC TV-Out) + + pci:v000012D2d00000018sv000010B4sd00001B23* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, PAL TV-Out ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, PAL TV-Out) + + pci:v000012D2d00000018sv000010B4sd00001B27* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 DVD ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 DVD) + + pci:v000012D2d00000018sv000010B4sd00001B88* +- ID_MODEL_FROM_DATABASE=MVP Pro 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (MVP Pro 128) + + pci:v000012D2d00000018sv000010B4sd0000222A* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) + + pci:v000012D2d00000018sv000010B4sd00002230* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00002232* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) + + pci:v000012D2d00000018sv000010B4sd00002235* +- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP ++ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) + + pci:v000012D2d00000018sv00002A15sd000054A3* +- ID_MODEL_FROM_DATABASE=3DVision-SAGP / 3DexPlorer 3000 ++ ID_MODEL_FROM_DATABASE=Riva128 (3DVision-SAGP / 3DexPlorer 3000) + + pci:v000012D2d00000019* + ID_MODEL_FROM_DATABASE=Riva128ZX +@@ -38916,7 +38916,7 @@ pci:v000012D8d0000E110* + ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge + + pci:v000012D8d0000E110sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 CompactPCI Bridge ++ ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge (CC11/CL11 CompactPCI Bridge) + + pci:v000012D8d0000E111* + ID_MODEL_FROM_DATABASE=PI7C9X111SL PCIe-to-PCI Reversible Bridge +@@ -38940,10 +38940,10 @@ pci:v000012D9d00001078* + ID_MODEL_FROM_DATABASE=Prosody X class e1000 device + + pci:v000012D9d00001078sv000012D9sd0000000D* +- ID_MODEL_FROM_DATABASE=Prosody X PCI ++ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X PCI) + + pci:v000012D9d00001078sv000012D9sd0000000E* +- ID_MODEL_FROM_DATABASE=Prosody X cPCI ++ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X cPCI) + + pci:v000012DA* + ID_VENDOR_FROM_DATABASE=True Time Inc. +@@ -39015,67 +39015,67 @@ pci:v000012EBd00000001* + ID_MODEL_FROM_DATABASE=Vortex 1 + + pci:v000012EBd00000001sv0000104Dsd00008036* +- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) + + pci:v000012EBd00000001sv00001092sd00002000* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv00001092sd00002100* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv00001092sd00002110* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv00001092sd00002200* +- ID_MODEL_FROM_DATABASE=Sonic Impact A3D ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) + + pci:v000012EBd00000001sv0000122Dsd00001002* +- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) + + pci:v000012EBd00000001sv000012EBsd00000001* +- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) + + pci:v000012EBd00000001sv00005053sd00003355* +- ID_MODEL_FROM_DATABASE=Montego ++ ID_MODEL_FROM_DATABASE=Vortex 1 (Montego) + + pci:v000012EBd00000001sv000050B2sd00001111* +- ID_MODEL_FROM_DATABASE=XLerate ++ ID_MODEL_FROM_DATABASE=Vortex 1 (XLerate) + + pci:v000012EBd00000002* + ID_MODEL_FROM_DATABASE=Vortex 2 + + pci:v000012EBd00000002sv0000104Dsd00008049* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv0000104Dsd0000807B* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv00001092sd00003000* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003001* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003002* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003003* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv00001092sd00003004* +- ID_MODEL_FROM_DATABASE=Monster Sound II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) + + pci:v000012EBd00000002sv000012EBsd00000002* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv000012EBsd00000088* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv0000144Dsd00003510* +- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor ++ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) + + pci:v000012EBd00000002sv00005053sd00003356* +- ID_MODEL_FROM_DATABASE=Montego II ++ ID_MODEL_FROM_DATABASE=Vortex 2 (Montego II) + + pci:v000012EBd00000003* + ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor +@@ -39465,16 +39465,16 @@ pci:v00001317d00000985* + ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 + + pci:v00001317d00000985sv00001734sd0000100C* +- ID_MODEL_FROM_DATABASE=Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter ++ ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 (Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter) + + pci:v00001317d00001985* + ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet + + pci:v00001317d00001985sv00001385sd0000511A* +- ID_MODEL_FROM_DATABASE=FA511 ++ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (FA511) + + pci:v00001317d00001985sv00001395sd00002103* +- ID_MODEL_FROM_DATABASE=CB100-EZ (4-LED version) ++ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (CB100-EZ (4-LED version)) + + pci:v00001317d00002850* + ID_MODEL_FROM_DATABASE=HSP MicroModem 56 +@@ -39486,10 +39486,10 @@ pci:v00001317d00008201* + ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface + + pci:v00001317d00008201sv000010B8sd00002635* +- ID_MODEL_FROM_DATABASE=SMC2635W v1 802.11b Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v1 802.11b Wireless Cardbus Adapter) + + pci:v00001317d00008201sv00001317sd00008201* +- ID_MODEL_FROM_DATABASE=SMC2635W v2 802.11b Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v2 802.11b Wireless Cardbus Adapter) + + pci:v00001317d00008211* + ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface +@@ -39510,13 +39510,13 @@ pci:v00001319d00000801* + ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] + + pci:v00001319d00000801sv00001319sd00001319* +- ID_MODEL_FROM_DATABASE=FM801 PCI Audio ++ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] (FM801 PCI Audio) + + pci:v00001319d00000802* + ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] + + pci:v00001319d00000802sv00001319sd00001319* +- ID_MODEL_FROM_DATABASE=FM801 PCI Joystick ++ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] (FM801 PCI Joystick) + + pci:v00001319d00001000* + ID_MODEL_FROM_DATABASE=FM801 PCI Audio +@@ -39618,7 +39618,7 @@ pci:v0000131Fd00002030* + ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 + + pci:v0000131Fd00002030sv0000131Fsd00002030* +- ID_MODEL_FROM_DATABASE=PCI Serial Card ++ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 (PCI Serial Card) + + pci:v0000131Fd00002031* + ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16650 +@@ -39834,7 +39834,7 @@ pci:v0000134Dd00007890* + ID_MODEL_FROM_DATABASE=HSP MicroModem 56 + + pci:v0000134Dd00007890sv0000134Dsd00000001* +- ID_MODEL_FROM_DATABASE=PCT789 adapter ++ ID_MODEL_FROM_DATABASE=HSP MicroModem 56 (PCT789 adapter) + + pci:v0000134Dd00007891* + ID_MODEL_FROM_DATABASE=HSP MicroModem 56 +@@ -40119,7 +40119,7 @@ pci:v00001371d0000434E* + ID_MODEL_FROM_DATABASE=GigaCard Network Adapter + + pci:v00001371d0000434Esv00001371sd0000434E* +- ID_MODEL_FROM_DATABASE=N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) ++ ID_MODEL_FROM_DATABASE=GigaCard Network Adapter (N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)) + + pci:v00001373* + ID_VENDOR_FROM_DATABASE=Silicon Vision Inc +@@ -40515,10 +40515,10 @@ pci:v00001394d00000001* + ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet + + pci:v00001394d00000001sv00001186sd00004800* +- ID_MODEL_FROM_DATABASE=DGE-500SX ++ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (DGE-500SX) + + pci:v00001394d00000001sv00001394sd00000001* +- ID_MODEL_FROM_DATABASE=NetCelerator Adapter ++ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (NetCelerator Adapter) + + pci:v00001395* + ID_VENDOR_FROM_DATABASE=Ambicom Inc +@@ -40533,40 +40533,40 @@ pci:v00001397d000008B4* + ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] + + pci:v00001397d000008B4sv00001397sd0000B520* +- ID_MODEL_FROM_DATABASE=HFC-4S [IOB4ST] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [IOB4ST]) + + pci:v00001397d000008B4sv00001397sd0000B540* +- ID_MODEL_FROM_DATABASE=HFC-4S [Swyx 4xS0 SX2 QuadBri] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx 4xS0 SX2 QuadBri]) + + pci:v00001397d000008B4sv00001397sd0000B550* +- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns quadBRI] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns quadBRI]) + + pci:v00001397d000008B4sv00001397sd0000B556* +- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns DuoDBRI] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns DuoDBRI]) + + pci:v00001397d000008B4sv00001397sd0000E888* +- ID_MODEL_FROM_DATABASE=HFC-4S [OpenVox B200P / B400P] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P / B400P]) + + pci:v00001397d000016B8* + ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] + + pci:v00001397d000016B8sv00001397sd0000B562* +- ID_MODEL_FROM_DATABASE=HFC-8S [IOB8ST] ++ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB8ST]) + + pci:v00001397d00002BD0* + ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] + + pci:v00001397d00002BD0sv00000675sd00001704* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C)) + + pci:v00001397d00002BD0sv00000675sd00001708* +- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C, ACPI) ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C, ACPI)) + + pci:v00001397d00002BD0sv00001397sd00002BD0* +- ID_MODEL_FROM_DATABASE=ISDN Board ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Board) + + pci:v00001397d00002BD0sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CI1-1-Harp ++ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (CI1-1-Harp) + + pci:v00001397d000030B1* + ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] +@@ -40665,46 +40665,46 @@ pci:v000013A3d0000002F* + ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor + + pci:v000013A3d0000002Fsv000013A3sd00001600* +- ID_MODEL_FROM_DATABASE=DR1600 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1600 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001605* +- ID_MODEL_FROM_DATABASE=DR1605 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1605 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001610* +- ID_MODEL_FROM_DATABASE=DR1610 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1610 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001615* +- ID_MODEL_FROM_DATABASE=DR1615 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1615 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001620* +- ID_MODEL_FROM_DATABASE=DR1620 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1620 Acceleration Card) + + pci:v000013A3d0000002Fsv000013A3sd00001625* +- ID_MODEL_FROM_DATABASE=DR1625 Acceleration Card ++ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1625 Acceleration Card) + + pci:v000013A3d00000033* + ID_MODEL_FROM_DATABASE=8201 Acceleration Processor + + pci:v000013A3d00000033sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1710 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8201 Acceleration Processor (DX1710 Acceleration Card) + + pci:v000013A3d00000034* + ID_MODEL_FROM_DATABASE=8202 Acceleration Processor + + pci:v000013A3d00000034sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1720 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8202 Acceleration Processor (DX1720 Acceleration Card) + + pci:v000013A3d00000035* + ID_MODEL_FROM_DATABASE=8203 Acceleration Processor + + pci:v000013A3d00000035sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1730 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8203 Acceleration Processor (DX1730 Acceleration Card) + + pci:v000013A3d00000037* + ID_MODEL_FROM_DATABASE=8204 Acceleration Processor + + pci:v000013A3d00000037sv000013A3sd00000036* +- ID_MODEL_FROM_DATABASE=DX1740 Acceleration Card ++ ID_MODEL_FROM_DATABASE=8204 Acceleration Processor (DX1740 Acceleration Card) + + pci:v000013A4* + ID_VENDOR_FROM_DATABASE=Rascom Inc +@@ -41067,7 +41067,7 @@ pci:v000013F0d00000200* + ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY + + pci:v000013F0d00000200sv00001043sd00008213* +- ID_MODEL_FROM_DATABASE=NX1001 ++ ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY (NX1001) + + pci:v000013F0d00000201* + ID_MODEL_FROM_DATABASE=ST201 Sundance Ethernet +@@ -41079,7 +41079,7 @@ pci:v000013F0d00001023* + ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet + + pci:v000013F0d00001023sv00001043sd00008180* +- ID_MODEL_FROM_DATABASE=NX1101 ++ ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet (NX1101) + + pci:v000013F1* + ID_VENDOR_FROM_DATABASE=Oce' - Technologies B.V. +@@ -41109,76 +41109,76 @@ pci:v000013F6d00000100* + ID_MODEL_FROM_DATABASE=CM8338A + + pci:v000013F6d00000100sv000013F6sd0000FFFF* +- ID_MODEL_FROM_DATABASE=CMI8338/C3DX PCI Audio Device ++ ID_MODEL_FROM_DATABASE=CM8338A (CMI8338/C3DX PCI Audio Device) + + pci:v000013F6d00000101* + ID_MODEL_FROM_DATABASE=CM8338B + + pci:v000013F6d00000101sv000013F6sd00000101* +- ID_MODEL_FROM_DATABASE=CMI8338-031 PCI Audio Device ++ ID_MODEL_FROM_DATABASE=CM8338B (CMI8338-031 PCI Audio Device) + + pci:v000013F6d00000111* + ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio + + pci:v000013F6d00000111sv00001019sd00000970* +- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (P6STP-FL motherboard) + + pci:v000013F6d00000111sv00001043sd00008035* +- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CUSI-FX motherboard) + + pci:v000013F6d00000111sv00001043sd00008077* +- ID_MODEL_FROM_DATABASE=CMI8738 6-channel audio controller ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6-channel audio controller) + + pci:v000013F6d00000111sv00001043sd000080E2* +- ID_MODEL_FROM_DATABASE=CMI8738 6ch-MX ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6ch-MX) + + pci:v000013F6d00000111sv000013F6sd00000111* +- ID_MODEL_FROM_DATABASE=CMI8738/C3DX PCI Audio Device ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738/C3DX PCI Audio Device) + + pci:v000013F6d00000111sv000013F6sd00009761* +- ID_MODEL_FROM_DATABASE=Theatron Agrippa ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Theatron Agrippa) + + pci:v000013F6d00000111sv0000153Bsd00001144* +- ID_MODEL_FROM_DATABASE=Aureon 5.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 5.1) + + pci:v000013F6d00000111sv0000153Bsd00001170* +- ID_MODEL_FROM_DATABASE=Aureon 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 7.1) + + pci:v000013F6d00000111sv00001681sd0000A000* +- ID_MODEL_FROM_DATABASE=Gamesurround MUSE XL ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Gamesurround MUSE XL) + + pci:v000013F6d00000111sv000017ABsd00000604* +- ID_MODEL_FROM_DATABASE=PSC604 Dynamic Edge ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC604 Dynamic Edge) + + pci:v000013F6d00000111sv000017ABsd00000605* +- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) + + pci:v000013F6d00000111sv000017ABsd00007777* +- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) + + pci:v000013F6d00000111sv0000270Fsd00001103* +- ID_MODEL_FROM_DATABASE=CT-7NJS Ultra motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CT-7NJS Ultra motherboard) + + pci:v000013F6d00000111sv0000270Fsd0000F462* +- ID_MODEL_FROM_DATABASE=7NJL1 motherboard ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (7NJL1 motherboard) + + pci:v000013F6d00000111sv0000584Dsd00003731* +- ID_MODEL_FROM_DATABASE=Digital X-Mystique ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Digital X-Mystique) + + pci:v000013F6d00000111sv0000584Dsd00003741* +- ID_MODEL_FROM_DATABASE=X-Plosion 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Plosion 7.1) + + pci:v000013F6d00000111sv0000584Dsd00003751* +- ID_MODEL_FROM_DATABASE=X-Raider 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Raider 7.1) + + pci:v000013F6d00000111sv0000584Dsd00003761* +- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP) + + pci:v000013F6d00000111sv0000584Dsd00003771* +- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP Value ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP Value) + + pci:v000013F6d00000111sv00007284sd00008384* +- ID_MODEL_FROM_DATABASE=Striker 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Striker 7.1) + + pci:v000013F6d00000211* + ID_MODEL_FROM_DATABASE=CM8738 +@@ -41187,85 +41187,85 @@ pci:v000013F6d00005011* + ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] + + pci:v000013F6d00005011sv000013F6sd00005011* +- ID_MODEL_FROM_DATABASE=HDA Controller ++ ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] (HDA Controller) + + pci:v000013F6d00008788* + ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] + + pci:v000013F6d00008788sv00001043sd00008269* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2)) + + pci:v000013F6d00008788sv00001043sd00008275* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) + + pci:v000013F6d00008788sv00001043sd000082B7* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2X) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2X)) + + pci:v000013F6d00008788sv00001043sd00008314* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3)) + + pci:v000013F6d00008788sv00001043sd00008327* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) + + pci:v000013F6d00008788sv00001043sd0000834F* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar D1) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar D1)) + + pci:v000013F6d00008788sv00001043sd0000835C* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Essence STX) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) + + pci:v000013F6d00008788sv00001043sd0000835D* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar ST) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar ST)) + + pci:v000013F6d00008788sv00001043sd0000835E* +- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3 Slim) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3 Slim)) + + pci:v000013F6d00008788sv00001043sd0000838E* +- ID_MODEL_FROM_DATABASE=Virtuoso 66 (Xonar DS) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 66 (Xonar DS)) + + pci:v000013F6d00008788sv00001043sd00008428* +- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Xense) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Xense)) + + pci:v000013F6d00008788sv00001043sd00008467* +- ID_MODEL_FROM_DATABASE=CMI8786 (Xonar DG) ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) + + pci:v000013F6d00008788sv000013F6sd00008782* +- ID_MODEL_FROM_DATABASE=PCI 2.0 HD Audio ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) + + pci:v000013F6d00008788sv000013F6sd0000FFFF* +- ID_MODEL_FROM_DATABASE=CMI8787-HG2PCI ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8787-HG2PCI) + + pci:v000013F6d00008788sv000014C3sd00001710* +- ID_MODEL_FROM_DATABASE=HiFier Fantasia ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Fantasia) + + pci:v000013F6d00008788sv000014C3sd00001711* +- ID_MODEL_FROM_DATABASE=HiFier Serenade ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade) + + pci:v000013F6d00008788sv000014C3sd00001713* +- ID_MODEL_FROM_DATABASE=HiFier Serenade III ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade III) + + pci:v000013F6d00008788sv00001A58sd00000910* +- ID_MODEL_FROM_DATABASE=Barracuda AC-1 ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Barracuda AC-1) + + pci:v000013F6d00008788sv0000415Asd00005431* +- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1) + + pci:v000013F6d00008788sv00005431sd0000017A* +- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 2G ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1 2G) + + pci:v000013F6d00008788sv0000584Dsd00003781* +- ID_MODEL_FROM_DATABASE=HDA X-Purity 7.1 Platinum ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HDA X-Purity 7.1 Platinum) + + pci:v000013F6d00008788sv00007284sd00009761* +- ID_MODEL_FROM_DATABASE=CLARO ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO) + + pci:v000013F6d00008788sv00007284sd00009781* +- ID_MODEL_FROM_DATABASE=CLARO halo ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO halo) + + pci:v000013F6d00008788sv00007284sd00009783* +- ID_MODEL_FROM_DATABASE=eCLARO ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (eCLARO) + + pci:v000013F6d00008788sv00007284sd00009787* +- ID_MODEL_FROM_DATABASE=CLARO II ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO II) + + pci:v000013F7* + ID_VENDOR_FROM_DATABASE=Wildfire Communications +@@ -41298,13 +41298,13 @@ pci:v000013FEd00001600* + ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) + + pci:v000013FEd00001600sv00001601sd00000002* +- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1601 2-port unisolated RS-422/485) + + pci:v000013FEd00001600sv00001602sd00000002* +- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1602 2-port isolated RS-422/485) + + pci:v000013FEd00001600sv00001612sd00000004* +- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1612 4-port RS-232/422/485) + + pci:v000013FEd00001603* + ID_MODEL_FROM_DATABASE=PCI-1603 2-port isolated RS-232/current loop +@@ -41316,13 +41316,13 @@ pci:v000013FEd000016FF* + ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) + + pci:v000013FEd000016FFsv00001601sd00000000* +- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 PCI communications card ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1601 2-port unisolated RS-422/485 PCI communications card) + + pci:v000013FEd000016FFsv00001602sd00000000* +- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1602 2-port isolated RS-422/485) + + pci:v000013FEd000016FFsv00001612sd00000000* +- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 ++ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1612 4-port RS-232/422/485) + + pci:v000013FEd00001711* + ID_MODEL_FROM_DATABASE=PCI-1711 16-channel data acquisition card 12-bit, 100kS/s +@@ -41676,37 +41676,37 @@ pci:v00001409d00007168* + ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) + + pci:v00001409d00007168sv00001409sd00000002* +- ID_MODEL_FROM_DATABASE=SER4036A3V (2x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4036A3V (2x RS232 port)) + + pci:v00001409d00007168sv00001409sd00004027* +- ID_MODEL_FROM_DATABASE=SER4027A (1x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027A (1x RS232 port)) + + pci:v00001409d00007168sv00001409sd00004037* +- ID_MODEL_FROM_DATABASE=SER4037A (2x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037A (2x RS232 port)) + + pci:v00001409d00007168sv00001409sd00004056* +- ID_MODEL_FROM_DATABASE=SER4056A (4x RS232) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056A (4x RS232)) + + pci:v00001409d00007168sv00001409sd00005027* +- ID_MODEL_FROM_DATABASE=SER4027D ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027D) + + pci:v00001409d00007168sv00001409sd00005037* +- ID_MODEL_FROM_DATABASE=SER4037D (2x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037D (2x RS232 port)) + + pci:v00001409d00007168sv00001409sd00005066* +- ID_MODEL_FROM_DATABASE=SER4066R (8x RS232) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4066R (8x RS232)) + + pci:v00001409d00007168sv00001409sd00006056* +- ID_MODEL_FROM_DATABASE=SER4056D (4x RS232 port) ++ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056D (4x RS232 port)) + + pci:v00001409d00007268* + ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) + + pci:v00001409d00007268sv00001409sd00000103* +- ID_MODEL_FROM_DATABASE=PAR4008A ++ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4008A) + + pci:v00001409d00007268sv00001409sd00000104* +- ID_MODEL_FROM_DATABASE=PAR4018A ++ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4018A) + + pci:v0000140A* + ID_VENDOR_FROM_DATABASE=DSP Research Inc +@@ -41739,106 +41739,106 @@ pci:v00001412d00001712* + ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller + + pci:v00001412d00001712sv00001412sd00001712* +- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24) + + pci:v00001412d00001712sv00001412sd00003632* +- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 192 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 192) + + pci:v00001412d00001712sv00001412sd0000D630* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010) + + pci:v00001412d00001712sv00001412sd0000D631* +- ID_MODEL_FROM_DATABASE=M-Audio Delta DiO ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta DiO) + + pci:v00001412d00001712sv00001412sd0000D632* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 66 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 66) + + pci:v00001412d00001712sv00001412sd0000D633* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 44 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 44) + + pci:v00001412d00001712sv00001412sd0000D634* +- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 2496 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 2496) + + pci:v00001412d00001712sv00001412sd0000D635* +- ID_MODEL_FROM_DATABASE=M-Audio Delta TDIF ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta TDIF) + + pci:v00001412d00001712sv00001412sd0000D637* +- ID_MODEL_FROM_DATABASE=M-Audio Delta RBUS ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta RBUS) + + pci:v00001412d00001712sv00001412sd0000D638* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 410 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 410) + + pci:v00001412d00001712sv00001412sd0000D63B* +- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010LT ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010LT) + + pci:v00001412d00001712sv00001412sd0000D63C* +- ID_MODEL_FROM_DATABASE=Digigram VX442 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Digigram VX442) + + pci:v00001412d00001712sv00001416sd00001712* +- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 Media 7.1 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24 Media 7.1) + + pci:v00001412d00001712sv0000153Bsd00001115* +- ID_MODEL_FROM_DATABASE=EWS88 MT ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT) + + pci:v00001412d00001712sv0000153Bsd00001125* +- ID_MODEL_FROM_DATABASE=EWS88 MT (Master) ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT (Master)) + + pci:v00001412d00001712sv0000153Bsd0000112B* +- ID_MODEL_FROM_DATABASE=EWS88 D ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D) + + pci:v00001412d00001712sv0000153Bsd0000112C* +- ID_MODEL_FROM_DATABASE=EWS88 D (Master) ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D (Master)) + + pci:v00001412d00001712sv0000153Bsd00001130* +- ID_MODEL_FROM_DATABASE=EWX 24/96 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWX 24/96) + + pci:v00001412d00001712sv0000153Bsd00001138* +- ID_MODEL_FROM_DATABASE=DMX 6fire 24/96 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (DMX 6fire 24/96) + + pci:v00001412d00001712sv0000153Bsd00001151* +- ID_MODEL_FROM_DATABASE=PHASE88 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (PHASE88) + + pci:v00001412d00001712sv000016CEsd00001040* +- ID_MODEL_FROM_DATABASE=Edirol DA-2496 ++ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Edirol DA-2496) + + pci:v00001412d00001724* + ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller + + pci:v00001412d00001724sv000010B0sd00000200* +- ID_MODEL_FROM_DATABASE=Hollywood@Home 7.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Hollywood@Home 7.1) + + pci:v00001412d00001724sv00001412sd00001724* +- ID_MODEL_FROM_DATABASE=Albatron PX865PE 7.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Albatron PX865PE 7.1) + + pci:v00001412d00001724sv00001412sd00003630* +- ID_MODEL_FROM_DATABASE=M-Audio Revolution 7.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 7.1) + + pci:v00001412d00001724sv00001412sd00003631* +- ID_MODEL_FROM_DATABASE=M-Audio Revolution 5.1 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 5.1) + + pci:v00001412d00001724sv0000153Bsd00001145* +- ID_MODEL_FROM_DATABASE=Aureon 7.1 Space ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Space) + + pci:v00001412d00001724sv0000153Bsd00001147* +- ID_MODEL_FROM_DATABASE=Aureon 5.1 Sky ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 5.1 Sky) + + pci:v00001412d00001724sv0000153Bsd00001150* +- ID_MODEL_FROM_DATABASE=PHASE 22 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PHASE 22) + + pci:v00001412d00001724sv0000153Bsd00001153* +- ID_MODEL_FROM_DATABASE=Aureon 7.1 Universe ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Universe) + + pci:v00001412d00001724sv000017ABsd00001906* +- ID_MODEL_FROM_DATABASE=PSC 724 [Ultimate Edge] ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PSC 724 [Ultimate Edge]) + + pci:v00001412d00001724sv0000270Fsd0000F641* +- ID_MODEL_FROM_DATABASE=ZNF3-150 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-150) + + pci:v00001412d00001724sv0000270Fsd0000F645* +- ID_MODEL_FROM_DATABASE=ZNF3-250 ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-250) + + pci:v00001412d00001724sv00003130sd00004154* +- ID_MODEL_FROM_DATABASE=MAYA 44 MKII ++ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (MAYA 44 MKII) + + pci:v00001413* + ID_VENDOR_FROM_DATABASE=Addonics +@@ -41904,28 +41904,28 @@ pci:v00001415d00009501* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) + + pci:v00001415d00009501sv000012C4sd00000201* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (2 port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (2 port)) + + pci:v00001415d00009501sv000012C4sd00000202* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (4 port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (4 port)) + + pci:v00001415d00009501sv000012C4sd00000203* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (8 port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (8 port)) + + pci:v00001415d00009501sv000012C4sd00000210* +- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p1-4) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/104-Plus (8 port, p1-4)) + + pci:v00001415d00009501sv0000131Fsd00002050* +- ID_MODEL_FROM_DATABASE=CyberPro (4-port) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberPro (4-port)) + + pci:v00001415d00009501sv0000131Fsd00002051* +- ID_MODEL_FROM_DATABASE=CyberSerial 4S Plus ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberSerial 4S Plus) + + pci:v00001415d00009501sv000015EDsd00002000* +- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 8 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 8) + + pci:v00001415d00009501sv000015EDsd00002001* +- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 16 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 16) + + pci:v00001415d00009505* + ID_MODEL_FROM_DATABASE=OXuPCI952 (Dual 16C950 UART) +@@ -41940,19 +41940,19 @@ pci:v00001415d00009510* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) + + pci:v00001415d00009510sv000012C4sd00000200* +- ID_MODEL_FROM_DATABASE=Titan/cPCI (Unused) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) (Titan/cPCI (Unused)) + + pci:v00001415d00009511* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) + + pci:v00001415d00009511sv000012C4sd00000211* +- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p5-8) ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (Titan/104-Plus (8 port, p5-8)) + + pci:v00001415d00009511sv000015EDsd00002000* +- ID_MODEL_FROM_DATABASE=MCCR Serial p4-7 of 8 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-7 of 8) + + pci:v00001415d00009511sv000015EDsd00002001* +- ID_MODEL_FROM_DATABASE=MCCR Serial p4-15 of 16 ++ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-15 of 16) + + pci:v00001415d00009512* + ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (32bit bus) +@@ -41970,10 +41970,10 @@ pci:v00001415d0000C158* + ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART + + pci:v00001415d0000C158sv0000E4BFsd0000C504* +- ID_MODEL_FROM_DATABASE=CP4-SCAT Wireless Technologies Carrier Board ++ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (CP4-SCAT Wireless Technologies Carrier Board) + + pci:v00001415d0000C158sv0000E4BFsd0000D551* +- ID_MODEL_FROM_DATABASE=DU1-MUSTANG Dual-Port RS-485 Interface ++ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (DU1-MUSTANG Dual-Port RS-485 Interface) + + pci:v00001415d0000C308* + ID_MODEL_FROM_DATABASE=EX-44016 16-port serial +@@ -42042,7 +42042,7 @@ pci:v00001425d00000030* + ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter + + pci:v00001425d00000030sv0000103Csd0000705E* +- ID_MODEL_FROM_DATABASE=PCIe 10GBase-SR [AD386A] ++ ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter (PCIe 10GBase-SR [AD386A]) + + pci:v00001425d00000031* + ID_MODEL_FROM_DATABASE=T320 10GbE Dual Port Adapter +@@ -43170,13 +43170,13 @@ pci:v0000144Dd0000A820* + ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X + + pci:v0000144Dd0000A820sv00001028sd00001F95* +- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 400GB ++ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 400GB) + + pci:v0000144Dd0000A820sv00001028sd00001F96* +- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 800GB ++ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 800GB) + + pci:v0000144Dd0000A820sv00001028sd00001F97* +- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 1600GB ++ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 1600GB) + + pci:v0000144E* + ID_VENDOR_FROM_DATABASE=OLITEC +@@ -43656,19 +43656,19 @@ pci:v000014C1d00000008* + ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC + + pci:v000014C1d00000008sv000014C1sd00000008* +- ID_MODEL_FROM_DATABASE=10G-PCIE-8A ++ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A) + + pci:v000014C1d00000008sv000014C1sd00000009* +- ID_MODEL_FROM_DATABASE=10G-PCIE-8A (MSI-X firmware) ++ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A (MSI-X firmware)) + + pci:v000014C1d00000008sv000014C1sd0000000A* +- ID_MODEL_FROM_DATABASE=10G-PCIE-8B ++ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8B) + + pci:v000014C1d00008043* + ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect + + pci:v000014C1d00008043sv0000103Csd00001240* +- ID_MODEL_FROM_DATABASE=Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) ++ ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect (Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)) + + pci:v000014C2* + ID_VENDOR_FROM_DATABASE=DTK Computer +@@ -43929,19 +43929,19 @@ pci:v000014E4d00001600* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express + + pci:v000014E4d00001600sv00001028sd000001C1* +- ID_MODEL_FROM_DATABASE=Precision 490 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Precision 490) + + pci:v000014E4d00001600sv00001028sd000001C2* +- ID_MODEL_FROM_DATABASE=Latitude D620 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Latitude D620) + + pci:v000014E4d00001600sv0000103Csd00003015* +- ID_MODEL_FROM_DATABASE=PCIe LAN on Motherboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (PCIe LAN on Motherboard) + + pci:v000014E4d00001600sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 Onboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (E4500 Onboard) + + pci:v000014E4d00001600sv00001259sd00002705* +- ID_MODEL_FROM_DATABASE=AT-2711FX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (AT-2711FX) + + pci:v000014E4d00001601* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5752M Gigabit Ethernet PCI Express +@@ -43956,52 +43956,52 @@ pci:v000014E4d00001639* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet + + pci:v000014E4d00001639sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 BCM5709 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R710 BCM5709 Gigabit Ethernet) + + pci:v000014E4d00001639sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 BCM5709 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R610 BCM5709 Gigabit Ethernet) + + pci:v000014E4d00001639sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 BCM5709 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge T610 BCM5709 Gigabit Ethernet) + + pci:v000014E4d00001639sv0000103Csd00007055* +- ID_MODEL_FROM_DATABASE=NC382i Integrated Multi-port PCI Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382i Integrated Multi-port PCI Express Gigabit Server Adapter) + + pci:v000014E4d00001639sv0000103Csd00007059* +- ID_MODEL_FROM_DATABASE=NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter) + + pci:v000014E4d00001639sv000010A9sd00008027* +- ID_MODEL_FROM_DATABASE=Quad port Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (Quad port Gigabit Ethernet Controller) + + pci:v000014E4d0000163A* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet + + pci:v000014E4d0000163Asv00001028sd0000027B* +- ID_MODEL_FROM_DATABASE=PowerEdge M805 Broadcom NetXtreme II BCM5709S ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M805 Broadcom NetXtreme II BCM5709S) + + pci:v000014E4d0000163Asv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 BCM5709S Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M710 BCM5709S Gigabit Ethernet) + + pci:v000014E4d0000163Asv0000103Csd0000171D* +- ID_MODEL_FROM_DATABASE=NC382m Dual Port 1GbE Multifunction BL-c Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382m Dual Port 1GbE Multifunction BL-c Adapter) + + pci:v000014E4d0000163Asv0000103Csd00007056* +- ID_MODEL_FROM_DATABASE=NC382i Integrated Quad Port PCI Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382i Integrated Quad Port PCI Express Gigabit Server Adapter) + + pci:v000014E4d0000163Asv00001259sd00002984* +- ID_MODEL_FROM_DATABASE=AT-2973SX ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (AT-2973SX) + + pci:v000014E4d0000163B* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet + + pci:v000014E4d0000163Bsv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 BCM5716 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R410 BCM5716 Gigabit Ethernet) + + pci:v000014E4d0000163Bsv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 BCM5716 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge T410 BCM5716 Gigabit Ethernet) + + pci:v000014E4d0000163Bsv00001028sd000002F1* +- ID_MODEL_FROM_DATABASE=PowerEdge R510 BCM5716 Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R510 BCM5716 Gigabit Ethernet) + + pci:v000014E4d0000163C* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716S Gigabit Ethernet +@@ -44028,220 +44028,220 @@ pci:v000014E4d00001644* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet + + pci:v000014E4d00001644sv00001014sd00000277* +- ID_MODEL_FROM_DATABASE=Broadcom Vigil B5700 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom Vigil B5700 1000Base-T) + + pci:v000014E4d00001644sv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) + + pci:v000014E4d00001644sv00001028sd00000106* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) + + pci:v000014E4d00001644sv00001028sd00000109* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000Base-T) + + pci:v000014E4d00001644sv00001028sd0000010A* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000BaseTX) + + pci:v000014E4d00001644sv000010B7sd00001000* +- ID_MODEL_FROM_DATABASE=3C996-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-T 1000Base-T) + + pci:v000014E4d00001644sv000010B7sd00001001* +- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996B-T 1000Base-T) + + pci:v000014E4d00001644sv000010B7sd00001002* +- ID_MODEL_FROM_DATABASE=3C996C-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996C-T 1000Base-T) + + pci:v000014E4d00001644sv000010B7sd00001003* +- ID_MODEL_FROM_DATABASE=3C997-T 1000Base-T Dual Port ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-T 1000Base-T Dual Port) + + pci:v000014E4d00001644sv000010B7sd00001004* +- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-SX 1000Base-SX) + + pci:v000014E4d00001644sv000010B7sd00001005* +- ID_MODEL_FROM_DATABASE=3C997-SX 1000Base-SX Dual Port ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-SX 1000Base-SX Dual Port) + + pci:v000014E4d00001644sv000010B7sd00001008* +- ID_MODEL_FROM_DATABASE=3C942 Gigabit LOM (31X31) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C942 Gigabit LOM (31X31)) + + pci:v000014E4d00001644sv000014E4sd00000002* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) + + pci:v000014E4d00001644sv000014E4sd00000003* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) + + pci:v000014E4d00001644sv000014E4sd00000004* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-T) + + pci:v000014E4d00001644sv000014E4sd00001028* +- ID_MODEL_FROM_DATABASE=NetXtreme 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000BaseTX) + + pci:v000014E4d00001644sv000014E4sd00001644* +- ID_MODEL_FROM_DATABASE=BCM5700 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (BCM5700 1000Base-T) + + pci:v000014E4d00001645* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet + + pci:v000014E4d00001645sv00000E11sd0000007C* +- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) + + pci:v000014E4d00001645sv00000E11sd0000007D* +- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) + + pci:v000014E4d00001645sv00000E11sd00000085* +- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) + + pci:v000014E4d00001645sv00000E11sd00000099* +- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) + + pci:v000014E4d00001645sv00000E11sd0000009A* +- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) + + pci:v000014E4d00001645sv00000E11sd000000C1* +- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) + + pci:v000014E4d00001645sv00001028sd00000121* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Broadcom BCM5701 1000Base-T) + + pci:v000014E4d00001645sv0000103Csd0000128A* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T (HP, OEM 3COM) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T (HP, OEM 3COM)) + + pci:v000014E4d00001645sv0000103Csd0000128B* +- ID_MODEL_FROM_DATABASE=1000Base-SX (PCI) [A7073A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (1000Base-SX (PCI) [A7073A]) + + pci:v000014E4d00001645sv0000103Csd000012A4* +- ID_MODEL_FROM_DATABASE=Core Lan 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core Lan 1000Base-T) + + pci:v000014E4d00001645sv0000103Csd000012C1* +- ID_MODEL_FROM_DATABASE=IOX Core Lan 1000Base-T [A7109AX] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IOX Core Lan 1000Base-T [A7109AX]) + + pci:v000014E4d00001645sv0000103Csd00001300* +- ID_MODEL_FROM_DATABASE=Core LAN/SCSI Combo [A6794A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core LAN/SCSI Combo [A6794A]) + + pci:v000014E4d00001645sv000010A9sd00008010* +- ID_MODEL_FROM_DATABASE=IO9/IO10 Gigabit Ethernet (Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IO9/IO10 Gigabit Ethernet (Copper)) + + pci:v000014E4d00001645sv000010A9sd00008011* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Copper)) + + pci:v000014E4d00001645sv000010A9sd00008012* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Fiber) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Fiber)) + + pci:v000014E4d00001645sv000010B7sd00001004* +- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996-SX 1000Base-SX) + + pci:v000014E4d00001645sv000010B7sd00001006* +- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996B-T 1000Base-T) + + pci:v000014E4d00001645sv000010B7sd00001007* +- ID_MODEL_FROM_DATABASE=3C1000-T 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C1000-T 1000Base-T) + + pci:v000014E4d00001645sv000010B7sd00001008* +- ID_MODEL_FROM_DATABASE=3C940-BR01 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C940-BR01 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000001* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000005* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000006* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00000007* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-SX) + + pci:v000014E4d00001645sv000014E4sd00000008* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001645sv000014E4sd00001645* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet + + pci:v000014E4d00001645sv000014E4sd00008008* +- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) + + pci:v000014E4d00001646* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet + + pci:v000014E4d00001646sv00000E11sd000000BB* +- ID_MODEL_FROM_DATABASE=NC7760 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (NC7760 1000BaseTX) + + pci:v000014E4d00001646sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Broadcom BCM5702 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (Broadcom BCM5702 1000BaseTX) + + pci:v000014E4d00001646sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5702 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (BCM5702 1000BaseTX) + + pci:v000014E4d00001647* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet + + pci:v000014E4d00001647sv00000E11sd00000099* +- ID_MODEL_FROM_DATABASE=NC7780 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7780 1000BaseTX) + + pci:v000014E4d00001647sv00000E11sd0000009A* +- ID_MODEL_FROM_DATABASE=NC7770 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7770 1000BaseTX) + + pci:v000014E4d00001647sv000010A9sd00008010* +- ID_MODEL_FROM_DATABASE=SGI IO9 Gigabit Ethernet (Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (SGI IO9 Gigabit Ethernet (Copper)) + + pci:v000014E4d00001647sv000014E4sd00000009* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001647sv000014E4sd0000000A* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseSX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseSX) + + pci:v000014E4d00001647sv000014E4sd0000000B* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001647sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001647sv000014E4sd0000800A* +- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) + + pci:v000014E4d00001648* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet + + pci:v000014E4d00001648sv00000E11sd000000CF* +- ID_MODEL_FROM_DATABASE=NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv00000E11sd000000D0* +- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv00000E11sd000000D1* +- ID_MODEL_FROM_DATABASE=NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv00001028sd0000014A* +- ID_MODEL_FROM_DATABASE=PowerEdge 1750 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 1750) + + pci:v000014E4d00001648sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Broadcom NetXtreme BCM5704 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 6850 Broadcom NetXtreme BCM5704) + + pci:v000014E4d00001648sv0000103Csd0000310F* +- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d00001648sv000010A9sd00008013* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Copper)) + + pci:v000014E4d00001648sv000010A9sd00008018* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (A330) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (A330)) + + pci:v000014E4d00001648sv000010A9sd0000801A* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (IA-blade) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (IA-blade)) + + pci:v000014E4d00001648sv000010A9sd0000801B* +- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Copper) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Copper)) + + pci:v000014E4d00001648sv000010B7sd00002000* +- ID_MODEL_FROM_DATABASE=3C998-T Dual Port 10/100/1000 PCI-X ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C998-T Dual Port 10/100/1000 PCI-X) + + pci:v000014E4d00001648sv000010B7sd00003000* +- ID_MODEL_FROM_DATABASE=3C999-T Quad Port 10/100/1000 PCI-X ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C999-T Quad Port 10/100/1000 PCI-X) + + pci:v000014E4d00001648sv00001166sd00001648* +- ID_MODEL_FROM_DATABASE=NetXtreme CIOB-E 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NetXtreme CIOB-E 1000Base-T) + + pci:v000014E4d00001648sv00001734sd0000100B* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard LAN ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PRIMERGY RX/TX series onboard LAN) + + pci:v000014E4d00001649* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S_2 Gigabit Ethernet +@@ -44250,46 +44250,46 @@ pci:v000014E4d0000164A* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet + + pci:v000014E4d0000164Asv0000103Csd00001709* +- ID_MODEL_FROM_DATABASE=NC371i Integrated PCI-X Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC371i Integrated PCI-X Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Asv0000103Csd00003070* +- ID_MODEL_FROM_DATABASE=NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Asv0000103Csd00003101* +- ID_MODEL_FROM_DATABASE=NC370T MultifuNCtion Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370T MultifuNCtion Gigabit Server Adapter) + + pci:v000014E4d0000164Asv0000103Csd00003106* +- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164C* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet + + pci:v000014E4d0000164Csv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R900 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge 2970 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd0000020B* +- ID_MODEL_FROM_DATABASE=PowerEdge T605 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge T605 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=PowerEdge R805 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00000223* +- ID_MODEL_FROM_DATABASE=PowerEdge R905 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R905 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv00001028sd00001F12* +- ID_MODEL_FROM_DATABASE=PowerEdge R805/R905 Broadcom NetXtreme II BCM5708 ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805/R905 Broadcom NetXtreme II BCM5708) + + pci:v000014E4d0000164Csv0000103Csd00007037* +- ID_MODEL_FROM_DATABASE=NC373T PCI Express Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373T PCI Express Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Csv0000103Csd00007038* +- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164Csv0000103Csd00007045* +- ID_MODEL_FROM_DATABASE=NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter) + + pci:v000014E4d0000164D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702FE Gigabit Ethernet +@@ -44298,10 +44298,10 @@ pci:v000014E4d0000164E* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] + + pci:v000014E4d0000164Esv0000103Csd0000171C* +- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532m Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d0000164Esv0000103Csd00007058* +- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532i Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d0000164F* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711 10-Gigabit PCIe +@@ -44310,31 +44310,31 @@ pci:v000014E4d00001650* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe + + pci:v000014E4d00001650sv0000103Csd0000171C* +- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532m Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d00001650sv0000103Csd00007058* +- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532i Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v000014E4d00001653* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet + + pci:v000014E4d00001653sv00000E11sd000000E3* +- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (NC7761 Gigabit Server Adapter) + + pci:v000014E4d00001653sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (Primergy Econel 200 D2020 mainboard) + + pci:v000014E4d00001654* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet + + pci:v000014E4d00001654sv00000E11sd000000E3* +- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC7761 Gigabit Server Adapter) + + pci:v000014E4d00001654sv0000103Csd00003100* +- ID_MODEL_FROM_DATABASE=NC1020 ProLiant Gigabit Server Adapter 32 PCI ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC1020 ProLiant Gigabit Server Adapter 32 PCI) + + pci:v000014E4d00001654sv0000103Csd00003226* +- ID_MODEL_FROM_DATABASE=NC150T 4-port Gigabit Combo Switch & Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC150T 4-port Gigabit Combo Switch & Adapter) + + pci:v000014E4d00001655* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe +@@ -44349,52 +44349,52 @@ pci:v000014E4d00001659* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express + + pci:v000014E4d00001659sv00001014sd000002C6* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (eServer xSeries server mainboard) + + pci:v000014E4d00001659sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge 860) + + pci:v000014E4d00001659sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 Broadcom NetXtreme BCM5721 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge R200 Broadcom NetXtreme BCM5721) + + pci:v000014E4d00001659sv0000103Csd0000170B* +- ID_MODEL_FROM_DATABASE=NC320m PCI Express Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320m PCI Express Dual Port Gigabit Server Adapter) + + pci:v000014E4d00001659sv0000103Csd00007031* +- ID_MODEL_FROM_DATABASE=NC320T PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320T PCIe Gigabit Server Adapter) + + pci:v000014E4d00001659sv0000103Csd00007032* +- ID_MODEL_FROM_DATABASE=NC320i PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320i PCIe Gigabit Server Adapter) + + pci:v000014E4d00001659sv00001734sd00001061* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard LAN ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PRIMERGY RX/TX S2 series onboard LAN) + + pci:v000014E4d0000165A* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express + + pci:v000014E4d0000165Asv00001014sd00000378* +- ID_MODEL_FROM_DATABASE=IBM System x3350 (Machine type 4192) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (IBM System x3350 (Machine type 4192)) + + pci:v000014E4d0000165Asv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 Broadcom NetXtreme 5722 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge R300 Broadcom NetXtreme 5722) + + pci:v000014E4d0000165Asv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 Broadcom NetXtreme 5722 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T300 Broadcom NetXtreme 5722) + + pci:v000014E4d0000165Asv00001028sd00000225* +- ID_MODEL_FROM_DATABASE=PowerEdge T105 Broadcom NetXtreme 5722 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T105 Broadcom NetXtreme 5722) + + pci:v000014E4d0000165Asv0000103Csd00007051* +- ID_MODEL_FROM_DATABASE=NC105i PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105i PCIe Gigabit Server Adapter) + + pci:v000014E4d0000165Asv0000103Csd00007052* +- ID_MODEL_FROM_DATABASE=NC105T PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105T PCIe Gigabit Server Adapter) + + pci:v000014E4d0000165B* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe + + pci:v000014E4d0000165Bsv0000103Csd0000705D* +- ID_MODEL_FROM_DATABASE=NC107i Integrated PCI Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe (NC107i Integrated PCI Express Gigabit Server Adapter) + + pci:v000014E4d0000165C* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5724 Gigabit Ethernet PCIe +@@ -44403,25 +44403,25 @@ pci:v000014E4d0000165D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet + + pci:v000014E4d0000165Dsv00001028sd0000865D* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Latitude D400) + + pci:v000014E4d0000165Dsv000014E4sd0000165D* +- ID_MODEL_FROM_DATABASE=Dell Latitude D600 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Dell Latitude D600) + + pci:v000014E4d0000165E* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet + + pci:v000014E4d0000165Esv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC8000 laptop) + + pci:v000014E4d0000165Esv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC6000 laptop) + + pci:v000014E4d0000165Esv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NX6110/NC6120) + + pci:v000014E4d0000165Esv000010CFsd00001279* +- ID_MODEL_FROM_DATABASE=LifeBook E8010D ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (LifeBook E8010D) + + pci:v000014E4d0000165F* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5720 Gigabit Ethernet PCIe +@@ -44439,7 +44439,7 @@ pci:v000014E4d00001668* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet + + pci:v000014E4d00001668sv0000103Csd00007039* +- ID_MODEL_FROM_DATABASE=NC324i PCIe Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet (NC324i PCIe Dual Port Gigabit Server Adapter) + + pci:v000014E4d00001669* + ID_MODEL_FROM_DATABASE=NetXtreme 5714S Gigabit Ethernet +@@ -44448,7 +44448,7 @@ pci:v000014E4d0000166A* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet + + pci:v000014E4d0000166Asv0000103Csd00007035* +- ID_MODEL_FROM_DATABASE=NC325i Integrated Dual port PCIe Express Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet (NC325i Integrated Dual port PCIe Express Gigabit Server Adapter) + + pci:v000014E4d0000166B* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5780S Gigabit Ethernet +@@ -44472,91 +44472,91 @@ pci:v000014E4d00001677* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express + + pci:v000014E4d00001677sv00001028sd00000176* +- ID_MODEL_FROM_DATABASE=Dimension XPS Gen 4 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension XPS Gen 4) + + pci:v000014E4d00001677sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension 8400) + + pci:v000014E4d00001677sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Optiplex GX280) + + pci:v000014E4d00001677sv00001028sd00000182* +- ID_MODEL_FROM_DATABASE=Latitude D610 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Latitude D610) + + pci:v000014E4d00001677sv00001028sd00000187* +- ID_MODEL_FROM_DATABASE=Precision M70 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision M70) + + pci:v000014E4d00001677sv00001028sd000001A8* +- ID_MODEL_FROM_DATABASE=Precision 380 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision 380) + + pci:v000014E4d00001677sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (OptiPlex GX620) + + pci:v000014E4d00001677sv0000103Csd00003006* +- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (DC7100 SFF(DX878AV)) + + pci:v000014E4d00001677sv00001462sd0000028C* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (915P/G Neo2) + + pci:v000014E4d00001677sv00001734sd0000105D* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Scenic W620) + + pci:v000014E4d00001678* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet + + pci:v000014E4d00001678sv0000103Csd0000703E* +- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) + + pci:v000014E4d00001679* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet + + pci:v000014E4d00001679sv0000103Csd00001707* +- ID_MODEL_FROM_DATABASE=NC326m PCIe Dual Port Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326m PCIe Dual Port Adapter) + + pci:v000014E4d00001679sv0000103Csd0000170C* +- ID_MODEL_FROM_DATABASE=NC325m PCIe Quad Port Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC325m PCIe Quad Port Adapter) + + pci:v000014E4d00001679sv0000103Csd0000703C* +- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) + + pci:v000014E4d0000167A* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express + + pci:v000014E4d0000167Asv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (OptiPlex 745) + + pci:v000014E4d0000167Asv00001028sd000001DE* +- ID_MODEL_FROM_DATABASE=Precision 390 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision 390) + + pci:v000014E4d0000167Asv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (PowerEdge SC440) + + pci:v000014E4d0000167Asv00001028sd00000214* +- ID_MODEL_FROM_DATABASE=Precision T3400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T3400) + + pci:v000014E4d0000167Asv00001028sd0000021E* +- ID_MODEL_FROM_DATABASE=Precision T5400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T5400) + + pci:v000014E4d0000167B* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express + + pci:v000014E4d0000167Bsv0000103Csd0000280A* +- ID_MODEL_FROM_DATABASE=DC5750 Microtower ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express (DC5750 Microtower) + + pci:v000014E4d0000167D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express + + pci:v000014E4d0000167Dsv00001014sd00000577* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad Z60t) + + pci:v000014E4d0000167Dsv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP nx8220 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP nx8220) + + pci:v000014E4d0000167Dsv0000103Csd00000940* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP Compaq nw8240 Mobile Workstation) + + pci:v000014E4d0000167Dsv000017AAsd00002081* +- ID_MODEL_FROM_DATABASE=ThinkPad R60e ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad R60e) + + pci:v000014E4d0000167E* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5751F Fast Ethernet PCI Express +@@ -44592,22 +44592,22 @@ pci:v000014E4d00001688* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet + + pci:v000014E4d00001688sv00001259sd00002708* +- ID_MODEL_FROM_DATABASE=AT-2712 FX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet (AT-2712 FX) + + pci:v000014E4d0000168A* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet + + pci:v000014E4d0000168Asv00001028sd00001F5C* +- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) + + pci:v000014E4d0000168Asv00001028sd00001F5D* +- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) + + pci:v000014E4d0000168Asv00001028sd00001F67* +- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) + + pci:v000014E4d0000168Asv00001028sd00001F68* +- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) + + pci:v000014E4d0000168D* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet +@@ -44616,34 +44616,34 @@ pci:v000014E4d0000168E* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet + + pci:v000014E4d0000168Esv0000103Csd00001798* +- ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (Flex-10 10Gb 2-port 530FLB Adapter [Meru]) + + pci:v000014E4d0000168Esv0000103Csd000017A5* +- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Flex-10 10Gb 2-port 530M Adapter) + + pci:v000014E4d0000168Esv0000103Csd000018D3* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530T Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001930* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001931* +- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP StoreFabric CN1100R Dual Port Converged Network Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001932* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLB Adapter) + + pci:v000014E4d0000168Esv0000103Csd00001933* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534M Adapter) + + pci:v000014E4d0000168Esv0000103Csd0000193A* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) + + pci:v000014E4d0000168Esv0000103Csd00003382* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) + + pci:v000014E4d0000168Esv0000103Csd0000339D* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530SFP+ Adapter) + + pci:v000014E4d00001690* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe +@@ -44652,22 +44652,22 @@ pci:v000014E4d00001691* + ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe + + pci:v000014E4d00001691sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe (XPS 8300) + + pci:v000014E4d00001692* + ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe + + pci:v000014E4d00001692sv00001025sd0000033D* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe (Aspire 7740G) + + pci:v000014E4d00001693* + ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express + + pci:v000014E4d00001693sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (Aspire 5920G) + + pci:v000014E4d00001693sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=6710b ++ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (6710b) + + pci:v000014E4d00001694* + ID_MODEL_FROM_DATABASE=NetLink BCM57790 Gigabit Ethernet PCIe +@@ -44676,10 +44676,10 @@ pci:v000014E4d00001696* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet + + pci:v000014E4d00001696sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (d530 CMT (DG746A)) + + pci:v000014E4d00001696sv000014E4sd0000000D* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (NetXtreme BCM5782 1000Base-T) + + pci:v000014E4d00001698* + ID_MODEL_FROM_DATABASE=NetLink BCM5784M Gigabit Ethernet PCIe +@@ -44697,16 +44697,16 @@ pci:v000014E4d0000169C* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet + + pci:v000014E4d0000169Csv0000103Csd0000308B* +- ID_MODEL_FROM_DATABASE=MX6125 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (MX6125) + + pci:v000014E4d0000169Csv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (NC2400) + + pci:v000014E4d0000169Csv0000144Dsd0000C018* +- ID_MODEL_FROM_DATABASE=X20 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (X20) + + pci:v000014E4d0000169Csv00001462sd0000590C* +- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (KT6 Delta-FIS2R (MS-6590)) + + pci:v000014E4d0000169D* + ID_MODEL_FROM_DATABASE=NetLink BCM5789 Gigabit Ethernet PCI Express +@@ -44721,112 +44721,112 @@ pci:v000014E4d000016A2* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet + + pci:v000014E4d000016A2sv0000103Csd00001916* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630FLB Adapter) + + pci:v000014E4d000016A2sv0000103Csd00001917* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) + + pci:v000014E4d000016A4* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function + + pci:v000014E4d000016A4sv0000103Csd00001916* +- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630FLB Adapter) + + pci:v000014E4d000016A4sv0000103Csd00001917* +- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter ++ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630M Adapter) + + pci:v000014E4d000016A5* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function + + pci:v000014E4d000016A5sv00001028sd00001F5C* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A5sv00001028sd00001F5D* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A5sv00001028sd00001F67* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A5sv00001028sd00001F68* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) + + pci:v000014E4d000016A6* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet + + pci:v000014E4d000016A6sv00000E11sd000000BB* +- ID_MODEL_FROM_DATABASE=NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) + + pci:v000014E4d000016A6sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016A6sv000014E4sd0000000C* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016A6sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016A7* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet + + pci:v000014E4d000016A7sv00000E11sd000000CA* +- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016A7sv00000E11sd000000CB* +- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016A7sv00001014sd0000026F* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (eServer xSeries server mainboard) + + pci:v000014E4d000016A7sv000014E4sd00000009* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016A7sv000014E4sd0000000A* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) + + pci:v000014E4d000016A7sv000014E4sd0000000B* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016A7sv000014E4sd0000800A* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016A8* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet + + pci:v000014E4d000016A8sv0000103Csd0000132B* +- ID_MODEL_FROM_DATABASE=PCI-X 1000Mbps Dual-port Built-in ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (PCI-X 1000Mbps Dual-port Built-in) + + pci:v000014E4d000016A8sv000010A9sd00008014* +- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Fiber) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Fiber)) + + pci:v000014E4d000016A8sv000010A9sd0000801C* +- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Fiber) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Fiber)) + + pci:v000014E4d000016A8sv000010B7sd00002001* +- ID_MODEL_FROM_DATABASE=3C998-SX Dual Port 1000-SX PCI-X ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (3C998-SX Dual Port 1000-SX PCI-X) + + pci:v000014E4d000016A9* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function + + pci:v000014E4d000016A9sv00001028sd00001F5C* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016A9sv00001028sd00001F5D* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016A9sv00001028sd00001F67* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016A9sv00001028sd00001F68* +- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) + + pci:v000014E4d000016AA* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet + + pci:v000014E4d000016AAsv0000103Csd00003102* +- ID_MODEL_FROM_DATABASE=NC370F MultifuNCtion Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370F MultifuNCtion Gigabit Server Adapter) + + pci:v000014E4d000016AAsv0000103Csd0000310C* +- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016AB* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function +@@ -44838,97 +44838,97 @@ pci:v000014E4d000016ACsv00001014sd00000304* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet + + pci:v000014E4d000016ACsv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Broadcom NetXtreme II BCM5708S ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge 1955 Broadcom NetXtreme II BCM5708S) + + pci:v000014E4d000016ACsv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=PowerEdge M605 Broadcom NetXtreme II BCM5708S ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge M605 Broadcom NetXtreme II BCM5708S) + + pci:v000014E4d000016ACsv0000103Csd00001706* +- ID_MODEL_FROM_DATABASE=NC373m Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373m Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016ACsv0000103Csd00007038* +- ID_MODEL_FROM_DATABASE=NC373i PCI Express Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i PCI Express Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016ACsv0000103Csd0000703B* +- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016ACsv0000103Csd0000703D* +- ID_MODEL_FROM_DATABASE=NC373F PCI Express Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373F PCI Express Multifunction Gigabit Server Adapter) + + pci:v000014E4d000016AD* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + + pci:v000014E4d000016ADsv0000103Csd00001916* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630FLB Adapter) + + pci:v000014E4d000016ADsv0000103Csd00001917* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630M Adapter) + + pci:v000014E4d000016AE* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function + + pci:v000014E4d000016AEsv0000103Csd00001798* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLB Adapter) + + pci:v000014E4d000016AEsv0000103Csd000017A5* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530M Adapter) + + pci:v000014E4d000016AEsv0000103Csd000018D3* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530T Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001930* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001931* +- ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR CN1100R Dual Port Converged Network Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001932* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLB Adapter) + + pci:v000014E4d000016AEsv0000103Csd00001933* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534M Adapter) + + pci:v000014E4d000016AEsv0000103Csd0000193A* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 533FLR-T Adapter) + + pci:v000014E4d000016AEsv0000103Csd00003382* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter) + + pci:v000014E4d000016AEsv0000103Csd0000339D* +- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530SFP+ Adapter) + + pci:v000014E4d000016AF* + ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function + + pci:v000014E4d000016AFsv0000103Csd00001798* +- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530FLB Adapter) + + pci:v000014E4d000016AFsv0000103Csd000017A5* +- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530M Adapter) + + pci:v000014E4d000016AFsv0000103Csd000018D3* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530T Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001930* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001931* +- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP StoreFabric CN1100R Dual Port Converged Network Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001932* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLB Adapter) + + pci:v000014E4d000016AFsv0000103Csd00001933* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534M Adapter) + + pci:v000014E4d000016AFsv0000103Csd0000193A* +- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) + + pci:v000014E4d000016AFsv0000103Csd00003382* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) + + pci:v000014E4d000016AFsv0000103Csd0000339D* +- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530SFP+ Adapter) + + pci:v000014E4d000016B0* + ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe +@@ -44937,7 +44937,7 @@ pci:v000014E4d000016B1* + ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe + + pci:v000014E4d000016B1sv00001849sd000096B1* +- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard ++ ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe (Z77 Extreme4 motherboard) + + pci:v000014E4d000016B2* + ID_MODEL_FROM_DATABASE=NetLink BCM57791 Gigabit Ethernet PCIe +@@ -44970,37 +44970,37 @@ pci:v000014E4d000016C6* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet + + pci:v000014E4d000016C6sv000010B7sd00001100* +- ID_MODEL_FROM_DATABASE=3C1000B-T 10/100/1000 PCI ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (3C1000B-T 10/100/1000 PCI) + + pci:v000014E4d000016C6sv000014E4sd0000000C* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016C6sv000014E4sd00008009* +- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) + + pci:v000014E4d000016C7* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet + + pci:v000014E4d000016C7sv00000E11sd000000CA* +- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016C7sv00000E11sd000000CB* +- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) + + pci:v000014E4d000016C7sv0000103Csd000012C3* +- ID_MODEL_FROM_DATABASE=Combo FC/GigE-SX [A9782A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-SX [A9782A]) + + pci:v000014E4d000016C7sv0000103Csd000012CA* +- ID_MODEL_FROM_DATABASE=Combo FC/GigE-T [A9784A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-T [A9784A]) + + pci:v000014E4d000016C7sv0000103Csd00001321* +- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Core I/O LAN/SCSI Combo [AB314A]) + + pci:v000014E4d000016C7sv000014E4sd00000009* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) + + pci:v000014E4d000016C7sv000014E4sd0000000A* +- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) + + pci:v000014E4d000016DD* + ID_MODEL_FROM_DATABASE=NetLink BCM5781 Gigabit Ethernet PCI Express +@@ -45015,10 +45015,10 @@ pci:v000014E4d000016FD* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express + + pci:v000014E4d000016FDsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nx9420 Notebook) + + pci:v000014E4d000016FDsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nw8440) + + pci:v000014E4d000016FE* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5753F Fast Ethernet PCI Express +@@ -45027,40 +45027,40 @@ pci:v000014E4d0000170C* + ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX + + pci:v000014E4d0000170Csv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6000 laptop) + + pci:v000014E4d0000170Csv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 700m/710m) + + pci:v000014E4d0000170Csv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 5160) + + pci:v000014E4d0000170Csv00001028sd000001AF* +- ID_MODEL_FROM_DATABASE=Inspiron 6400 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6400) + + pci:v000014E4d0000170Csv00001028sd000001CD* +- ID_MODEL_FROM_DATABASE=Inspiron 9400 Laptop ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 9400 Laptop) + + pci:v000014E4d0000170Csv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (XPS M1210) + + pci:v000014E4d0000170Csv00001028sd000001D8* +- ID_MODEL_FROM_DATABASE=Inspiron E1405 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron E1405) + + pci:v000014E4d0000170Csv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX6110/NC6120) + + pci:v000014E4d0000170Csv0000103Csd000030A2* +- ID_MODEL_FROM_DATABASE=NX7300 laptop ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX7300 laptop) + + pci:v000014E4d0000170Csv000014E4sd0000170C* +- ID_MODEL_FROM_DATABASE=HP Compaq 6720t Mobile Thin Client ++ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (HP Compaq 6720t Mobile Thin Client) + + pci:v000014E4d0000170D* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX + + pci:v000014E4d0000170Dsv00001014sd00000545* +- ID_MODEL_FROM_DATABASE=ThinkPad R40e ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX (ThinkPad R40e) + + pci:v000014E4d0000170E* + ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX +@@ -45072,16 +45072,16 @@ pci:v000014E4d00001713* + ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express + + pci:v000014E4d00001713sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Inspiron 1420) + + pci:v000014E4d00001713sv00001028sd00000209* +- ID_MODEL_FROM_DATABASE=XPS M1330 ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (XPS M1330) + + pci:v000014E4d00001713sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Compaq 6710b) + + pci:v000014E4d00001713sv000017AAsd00003A23* +- ID_MODEL_FROM_DATABASE=IdeaPad S10e ++ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (IdeaPad S10e) + + pci:v000014E4d00003352* + ID_MODEL_FROM_DATABASE=BCM3352 +@@ -45108,16 +45108,16 @@ pci:v000014E4d00004301* + ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller + + pci:v000014E4d00004301sv00001028sd00000407* +- ID_MODEL_FROM_DATABASE=TrueMobile 1180 Onboard WLAN ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (TrueMobile 1180 Onboard WLAN) + + pci:v000014E4d00004301sv00001043sd00000120* +- ID_MODEL_FROM_DATABASE=WL-103b Wireless LAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WL-103b Wireless LAN PC Card) + + pci:v000014E4d00004301sv000016A5sd00001602* +- ID_MODEL_FROM_DATABASE=B-300 802.11b Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (B-300 802.11b Wireless CardBus Adapter) + + pci:v000014E4d00004301sv00001737sd00004301* +- ID_MODEL_FROM_DATABASE=WMP11 v2.7 802.11b Wireless-B PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WMP11 v2.7 802.11b Wireless-B PCI Adapter) + + pci:v000014E4d00004305* + ID_MODEL_FROM_DATABASE=BCM4307 V.90 56k Modem +@@ -45135,85 +45135,85 @@ pci:v000014E4d00004311* + ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN + + pci:v000014E4d00004311sv00001028sd00000007* +- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN Mini-Card) + + pci:v000014E4d00004311sv00001028sd00000008* +- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN ExpressCard ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN ExpressCard) + + pci:v000014E4d00004311sv0000103Csd00001363* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001364* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001365* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001374* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001375* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001376* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001377* +- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd0000137F* +- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) + + pci:v000014E4d00004311sv0000103Csd00001380* +- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) + + pci:v000014E4d00004311sv000014E4sd00004311* +- ID_MODEL_FROM_DATABASE=BCM94311MCG ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM94311MCG) + + pci:v000014E4d00004312* + ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g + + pci:v000014E4d00004312sv00001028sd00000007* +- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN Mini-Card) + + pci:v000014E4d00004312sv00001028sd00000008* +- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN ExpressCard ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN ExpressCard) + + pci:v000014E4d00004312sv0000103Csd0000135A* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd0000135F* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001360* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001361* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001362* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001370* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001371* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001372* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd00001373* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004312sv0000103Csd000030B5* +- ID_MODEL_FROM_DATABASE=Presario V3242AU ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Presario V3242AU) + + pci:v000014E4d00004312sv0000106Bsd00000089* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (AirPort Extreme) + + pci:v000014E4d00004312sv00001371sd0000103C* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11 Multiband-netwerkadapter(6715s) ++ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11 Multiband-netwerkadapter(6715s)) + + pci:v000014E4d00004313* + ID_MODEL_FROM_DATABASE=BCM4311 802.11a +@@ -45222,175 +45222,175 @@ pci:v000014E4d00004315* + ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY + + pci:v000014E4d00004315sv00001028sd0000000B* +- ID_MODEL_FROM_DATABASE=Wireless 1395 WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1395 WLAN Mini-Card) + + pci:v000014E4d00004315sv00001028sd0000000C* +- ID_MODEL_FROM_DATABASE=Wireless 1397 WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1397 WLAN Mini-Card) + + pci:v000014E4d00004315sv0000103Csd0000137C* +- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004315sv0000103Csd0000137D* +- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) + + pci:v000014E4d00004315sv0000103Csd00001507* +- ID_MODEL_FROM_DATABASE=U98Z049.00 Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (U98Z049.00 Wireless Mini PCIe Card) + + pci:v000014E4d00004315sv0000105Bsd0000E003* +- ID_MODEL_FROM_DATABASE=T77H030.00 Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H030.00 Wireless Mini PCIe Card) + + pci:v000014E4d00004315sv0000105Bsd0000E01B* +- ID_MODEL_FROM_DATABASE=T77H106.00 Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H106.00 Wireless Half-size Mini PCIe Card) + + pci:v000014E4d00004318* + ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller + + pci:v000014E4d00004318sv00001028sd00000005* +- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN Mini-PCI Card) + + pci:v000014E4d00004318sv00001028sd00000006* +- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN PC Card) + + pci:v000014E4d00004318sv0000103Csd00001355* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004318sv0000103Csd00001356* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004318sv0000103Csd00001357* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004318sv00001043sd0000100F* +- ID_MODEL_FROM_DATABASE=WL-138G v2 / WL-138gE / WL-100gE ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WL-138G v2 / WL-138gE / WL-100gE) + + pci:v000014E4d00004318sv00001043sd0000120F* +- ID_MODEL_FROM_DATABASE=A6U notebook embedded card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (A6U notebook embedded card) + + pci:v000014E4d00004318sv00001154sd00000355* +- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter) + + pci:v000014E4d00004318sv00001468sd00000311* +- ID_MODEL_FROM_DATABASE=Aspire 3022WLMi, 5024WLMi, 5020 ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Aspire 3022WLMi, 5024WLMi, 5020) + + pci:v000014E4d00004318sv00001468sd00000312* +- ID_MODEL_FROM_DATABASE=TravelMate 2410 ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (TravelMate 2410) + + pci:v000014E4d00004318sv000014E4sd00000449* +- ID_MODEL_FROM_DATABASE=Gateway 7510GX ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Gateway 7510GX) + + pci:v000014E4d00004318sv000016ECsd00000119* +- ID_MODEL_FROM_DATABASE=U.S.Robotics Wireless MAXg PC Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (U.S.Robotics Wireless MAXg PC Card) + + pci:v000014E4d00004318sv00001737sd00000042* +- ID_MODEL_FROM_DATABASE=WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster) + + pci:v000014E4d00004318sv00001737sd00000048* +- ID_MODEL_FROM_DATABASE=WPC54G v3 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54G v3 802.11g Wireless-G Notebook Adapter) + + pci:v000014E4d00004318sv00001737sd00000049* +- ID_MODEL_FROM_DATABASE=WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster) + + pci:v000014E4d00004318sv00001799sd00007000* +- ID_MODEL_FROM_DATABASE=F5D7000 v4000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7000 v4000 Wireless G Desktop Card) + + pci:v000014E4d00004318sv00001799sd00007001* +- ID_MODEL_FROM_DATABASE=F5D7001 v2000 Wireless G Plus Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7001 v2000 Wireless G Plus Desktop Card) + + pci:v000014E4d00004318sv00001799sd00007010* +- ID_MODEL_FROM_DATABASE=F5D7010 v4000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7010 v4000 Wireless G Notebook Card) + + pci:v000014E4d00004318sv00001799sd00007011* +- ID_MODEL_FROM_DATABASE=F5D7011 v2000 High-Speed Mode Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7011 v2000 High-Speed Mode Wireless G Notebook Card) + + pci:v000014E4d00004319* + ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver + + pci:v000014E4d00004319sv00001028sd00000005* +- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN Mini-PCI Card) + + pci:v000014E4d00004319sv00001028sd00000006* +- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN PC Card) + + pci:v000014E4d00004319sv0000103Csd00001358* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004319sv0000103Csd00001359* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004319sv0000103Csd0000135A* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004320* + ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller + + pci:v000014E4d00004320sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN Mini-PCI Card) + + pci:v000014E4d00004320sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN PC Card) + + pci:v000014E4d00004320sv00001028sd00000003* +- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN Mini-PCI Card) + + pci:v000014E4d00004320sv00001028sd00000004* +- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN PC Card) + + pci:v000014E4d00004320sv0000103Csd000012F4* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv0000103Csd000012F8* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv0000103Csd000012FA* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv0000103Csd000012FB* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) + + pci:v000014E4d00004320sv00001043sd0000100F* +- ID_MODEL_FROM_DATABASE=WL-100G ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WL-100G) + + pci:v000014E4d00004320sv00001057sd00007025* +- ID_MODEL_FROM_DATABASE=WN825G ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WN825G) + + pci:v000014E4d00004320sv0000106Bsd0000004E* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (AirPort Extreme) + + pci:v000014E4d00004320sv00001154sd00000330* +- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter) + + pci:v000014E4d00004320sv0000144Fsd00007050* +- ID_MODEL_FROM_DATABASE=eMachines M6805 802.11g Built-in Wireless ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (eMachines M6805 802.11g Built-in Wireless) + + pci:v000014E4d00004320sv0000144Fsd00007051* +- ID_MODEL_FROM_DATABASE=Sonnet Aria Extreme PCI ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Sonnet Aria Extreme PCI) + + pci:v000014E4d00004320sv00001737sd00000013* +- ID_MODEL_FROM_DATABASE=WMP54G v1 802.11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v1 802.11g PCI Adapter) + + pci:v000014E4d00004320sv00001737sd00000014* +- ID_MODEL_FROM_DATABASE=WMP54G v2 802.11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v2 802.11g PCI Adapter) + + pci:v000014E4d00004320sv00001737sd00000015* +- ID_MODEL_FROM_DATABASE=WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster) + + pci:v000014E4d00004320sv00001737sd00004320* +- ID_MODEL_FROM_DATABASE=WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter) + + pci:v000014E4d00004320sv00001799sd00007000* +- ID_MODEL_FROM_DATABASE=F5D7000 v1000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7000 v1000 Wireless G Desktop Card) + + pci:v000014E4d00004320sv00001799sd00007001* +- ID_MODEL_FROM_DATABASE=F5D7001 v1000 Wireless G Plus Desktop Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7001 v1000 Wireless G Plus Desktop Card) + + pci:v000014E4d00004320sv00001799sd00007010* +- ID_MODEL_FROM_DATABASE=F5D7010 v1000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7010 v1000 Wireless G Notebook Card) + + pci:v000014E4d00004320sv00001799sd00007011* +- ID_MODEL_FROM_DATABASE=F5D7011 v1000 High-Speed Mode Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7011 v1000 High-Speed Mode Wireless G Notebook Card) + + pci:v000014E4d00004320sv0000185Fsd00001220* +- ID_MODEL_FROM_DATABASE=TravelMate 290E WLAN Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TravelMate 290E WLAN Mini-PCI Card) + + pci:v000014E4d00004321* + ID_MODEL_FROM_DATABASE=BCM4321 802.11a Wireless Network Controller +@@ -45402,31 +45402,31 @@ pci:v000014E4d00004324* + ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller + + pci:v000014E4d00004324sv00001028sd00000001* +- ID_MODEL_FROM_DATABASE=Truemobile 1400 ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1400) + + pci:v000014E4d00004324sv00001028sd00000002* +- ID_MODEL_FROM_DATABASE=TrueMobile 1400 Dual Band WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (TrueMobile 1400 Dual Band WLAN PC Card) + + pci:v000014E4d00004324sv00001028sd00000003* +- ID_MODEL_FROM_DATABASE=Truemobile 1450 MiniPCI ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1450 MiniPCI) + + pci:v000014E4d00004324sv00001028sd00000004* +- ID_MODEL_FROM_DATABASE=Wireless 1450 Dual Band WLAN PC Card ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Wireless 1450 Dual Band WLAN PC Card) + + pci:v000014E4d00004324sv0000103Csd000012F9* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004324sv0000103Csd000012FC* +- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN ++ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) + + pci:v000014E4d00004325* + ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller + + pci:v000014E4d00004325sv00001414sd00000003* +- ID_MODEL_FROM_DATABASE=Wireless Notebook Adapter MN-720 ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless Notebook Adapter MN-720) + + pci:v000014E4d00004325sv00001414sd00000004* +- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter MN-730 ++ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless PCI Adapter MN-730) + + pci:v000014E4d00004326* + ID_MODEL_FROM_DATABASE=BCM4307 Chipcommon I/O Controller? +@@ -45435,58 +45435,58 @@ pci:v000014E4d00004328* + ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n + + pci:v000014E4d00004328sv00001028sd00000009* +- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-Card) + + pci:v000014E4d00004328sv00001028sd0000000A* +- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-card ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-card) + + pci:v000014E4d00004328sv0000103Csd00001366* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000103Csd00001367* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000103Csd00001368* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000103Csd00001369* +- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) + + pci:v000014E4d00004328sv0000106Bsd00000087* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd00000088* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd0000008B* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd0000008C* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv0000106Bsd00000090* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004328sv000014E4sd00004328* +- ID_MODEL_FROM_DATABASE=BCM4328 802.11a/b/g/n ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (BCM4328 802.11a/b/g/n) + + pci:v000014E4d00004328sv00001737sd00000066* +- ID_MODEL_FROM_DATABASE=WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter) + + pci:v000014E4d00004328sv00001737sd00000068* +- ID_MODEL_FROM_DATABASE=WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard) + + pci:v000014E4d00004329* + ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n + + pci:v000014E4d00004329sv00001385sd00007B00* +- ID_MODEL_FROM_DATABASE=WN511B RangeMax NEXT Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN511B RangeMax NEXT Wireless Notebook Adapter) + + pci:v000014E4d00004329sv00001385sd00007D00* +- ID_MODEL_FROM_DATABASE=WN311B RangeMax Next 270 Mbps Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN311B RangeMax Next 270 Mbps Wireless PCI Adapter) + + pci:v000014E4d00004329sv00001737sd00000058* +- ID_MODEL_FROM_DATABASE=WPC300N v1 Wireless-N Notebook Adapter ++ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WPC300N v1 Wireless-N Notebook Adapter) + + pci:v000014E4d0000432A* + ID_MODEL_FROM_DATABASE=BCM4321 802.11an Wireless Network Controller +@@ -45495,19 +45495,19 @@ pci:v000014E4d0000432B* + ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller + + pci:v000014E4d0000432Bsv00001028sd0000000D* +- ID_MODEL_FROM_DATABASE=Wireless 1510 Wireless-N WLAN Mini-Card ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (Wireless 1510 Wireless-N WLAN Mini-Card) + + pci:v000014E4d0000432Bsv0000106Bsd0000008D* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) + + pci:v000014E4d0000432Bsv0000106Bsd0000008E* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) + + pci:v000014E4d0000432C* + ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n + + pci:v000014E4d0000432Csv00001799sd0000D311* +- ID_MODEL_FROM_DATABASE=Dynex DX-NNBX 802.11n WLAN Cardbus Card ++ ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n (Dynex DX-NNBX 802.11n WLAN Cardbus Card) + + pci:v000014E4d0000432D* + ID_MODEL_FROM_DATABASE=BCM4322 802.11an Wireless Network Controller +@@ -45516,25 +45516,25 @@ pci:v000014E4d00004331* + ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n + + pci:v000014E4d00004331sv0000106Bsd000000D6* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000E4* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000EF* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000F4* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd000000F5* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd0000010E* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004331sv0000106Bsd0000010F* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004333* + ID_MODEL_FROM_DATABASE=Serial (EDGE/GPRS modem part of Option GT Combo Edge) +@@ -45549,25 +45549,25 @@ pci:v000014E4d00004353* + ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n + + pci:v000014E4d00004353sv00001028sd0000000E* +- ID_MODEL_FROM_DATABASE=Wireless 1520 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (Wireless 1520 Half-size Mini PCIe Card) + + pci:v000014E4d00004353sv0000103Csd00001509* +- ID_MODEL_FROM_DATABASE=WMIB-275N Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (WMIB-275N Half-size Mini PCIe Card) + + pci:v000014E4d00004353sv0000106Bsd00000093* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004353sv0000106Bsd000000D1* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004353sv0000106Bsd000000E9* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) + + pci:v000014E4d00004357* + ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n + + pci:v000014E4d00004357sv0000105Bsd0000E021* +- ID_MODEL_FROM_DATABASE=T77H103.00 Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n (T77H103.00 Wireless Half-size Mini PCIe Card) + + pci:v000014E4d00004358* + ID_MODEL_FROM_DATABASE=BCM43227 802.11b/g/n +@@ -45576,16 +45576,16 @@ pci:v000014E4d00004359* + ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n + + pci:v000014E4d00004359sv00001028sd00000011* +- ID_MODEL_FROM_DATABASE=Wireless 1530 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (Wireless 1530 Half-size Mini PCIe Card) + + pci:v000014E4d00004359sv0000103Csd0000182C* +- ID_MODEL_FROM_DATABASE=BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter ++ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) + + pci:v000014E4d00004365* + ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n + + pci:v000014E4d00004365sv00001028sd00000016* +- ID_MODEL_FROM_DATABASE=Wireless 1704 802.11n + BT 4.0 ++ ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n (Wireless 1704 802.11n + BT 4.0) + + pci:v000014E4d000043A0* + ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter +@@ -45597,13 +45597,13 @@ pci:v000014E4d00004401* + ID_MODEL_FROM_DATABASE=BCM4401 100Base-T + + pci:v000014E4d00004401sv00001025sd00000035* +- ID_MODEL_FROM_DATABASE=TravelMate 660 ++ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (TravelMate 660) + + pci:v000014E4d00004401sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (tc1100 tablet) + + pci:v000014E4d00004401sv00001043sd000080A8* +- ID_MODEL_FROM_DATABASE=A7V8X motherboard ++ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (A7V8X motherboard) + + pci:v000014E4d00004402* + ID_MODEL_FROM_DATABASE=BCM4402 Integrated 10/100BaseT +@@ -45696,7 +45696,7 @@ pci:v000014E4d00004727* + ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter + + pci:v000014E4d00004727sv00001028sd00000010* +- ID_MODEL_FROM_DATABASE=Inspiron M5010 / XPS 8300 ++ ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter (Inspiron M5010 / XPS 8300) + + pci:v000014E4d00005365* + ID_MODEL_FROM_DATABASE=BCM5365P Sentry5 Host Bridge +@@ -45867,55 +45867,55 @@ pci:v000014F1d00001033* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v000014F1d00001033sv00001033sd00008077* +- ID_MODEL_FROM_DATABASE=NEC ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (NEC) + + pci:v000014F1d00001033sv0000122Dsd00004027* +- ID_MODEL_FROM_DATABASE=Dell Zeus - MDP3880-W(B) Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Zeus - MDP3880-W(B) Data Fax Modem) + + pci:v000014F1d00001033sv0000122Dsd00004030* +- ID_MODEL_FROM_DATABASE=Dell Mercury - MDP3880-U(B) Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Mercury - MDP3880-U(B) Data Fax Modem) + + pci:v000014F1d00001033sv0000122Dsd00004034* +- ID_MODEL_FROM_DATABASE=Dell Thor - MDP3880-W(U) Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Thor - MDP3880-W(U) Data Fax Modem) + + pci:v000014F1d00001033sv000013E0sd0000020D* +- ID_MODEL_FROM_DATABASE=Dell Copper ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Copper) + + pci:v000014F1d00001033sv000013E0sd0000020E* +- ID_MODEL_FROM_DATABASE=Dell Silver ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Silver) + + pci:v000014F1d00001033sv000013E0sd00000261* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv000013E0sd00000290* +- ID_MODEL_FROM_DATABASE=Compaq Goldwing ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Goldwing) + + pci:v000014F1d00001033sv000013E0sd000002A0* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv000013E0sd000002B0* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv000013E0sd000002C0* +- ID_MODEL_FROM_DATABASE=Compaq Scooter ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Scooter) + + pci:v000014F1d00001033sv000013E0sd000002D0* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001033sv0000144Fsd00001500* +- ID_MODEL_FROM_DATABASE=IBM P85-DF (1) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (1)) + + pci:v000014F1d00001033sv0000144Fsd00001501* +- ID_MODEL_FROM_DATABASE=IBM P85-DF (2) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (2)) + + pci:v000014F1d00001033sv0000144Fsd0000150A* +- ID_MODEL_FROM_DATABASE=IBM P85-DF (3) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (3)) + + pci:v000014F1d00001033sv0000144Fsd0000150B* +- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (1) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (1)) + + pci:v000014F1d00001033sv0000144Fsd00001510* +- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (2) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (2)) + + pci:v000014F1d00001034* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem +@@ -45924,31 +45924,31 @@ pci:v000014F1d00001035* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + + pci:v000014F1d00001035sv000010CFsd00001098* +- ID_MODEL_FROM_DATABASE=Fujitsu P85-DFSV ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu P85-DFSV) + + pci:v000014F1d00001036* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem + + pci:v000014F1d00001036sv0000104Dsd00008067* +- ID_MODEL_FROM_DATABASE=HCF 56k Modem ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (HCF 56k Modem) + + pci:v000014F1d00001036sv0000122Dsd00004029* +- ID_MODEL_FROM_DATABASE=MDP3880SP-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-W) + + pci:v000014F1d00001036sv0000122Dsd00004031* +- ID_MODEL_FROM_DATABASE=MDP3880SP-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-U) + + pci:v000014F1d00001036sv000013E0sd00000209* +- ID_MODEL_FROM_DATABASE=Dell Titanium ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Titanium) + + pci:v000014F1d00001036sv000013E0sd0000020A* +- ID_MODEL_FROM_DATABASE=Dell Graphite ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Graphite) + + pci:v000014F1d00001036sv000013E0sd00000260* +- ID_MODEL_FROM_DATABASE=Gateway Red Owl ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway Red Owl) + + pci:v000014F1d00001036sv000013E0sd00000270* +- ID_MODEL_FROM_DATABASE=Gateway White Horse ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway White Horse) + + pci:v000014F1d00001052* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide) +@@ -45966,7 +45966,7 @@ pci:v000014F1d00001056* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) + + pci:v000014F1d00001056sv0000122Dsd00004035* +- ID_MODEL_FROM_DATABASE=MDP3900V-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) (MDP3900V-W) + + pci:v000014F1d00001057* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) +@@ -45987,7 +45987,7 @@ pci:v000014F1d00001066* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem + + pci:v000014F1d00001066sv0000122Dsd00004033* +- ID_MODEL_FROM_DATABASE=Dell Athena - MDP3900V-U ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Athena - MDP3900V-U) + + pci:v000014F1d00001085* + ID_MODEL_FROM_DATABASE=HCF V90 56k Data/Fax/Voice/Spkp PCI Modem +@@ -46011,16 +46011,16 @@ pci:v000014F1d00001453* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem + + pci:v000014F1d00001453sv000013E0sd00000240* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001453sv000013E0sd00000250* +- ID_MODEL_FROM_DATABASE=IBM ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) + + pci:v000014F1d00001453sv0000144Fsd00001502* +- ID_MODEL_FROM_DATABASE=IBM P95-DF (1) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (1)) + + pci:v000014F1d00001453sv0000144Fsd00001503* +- ID_MODEL_FROM_DATABASE=IBM P95-DF (2) ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (2)) + + pci:v000014F1d00001454* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem +@@ -46032,10 +46032,10 @@ pci:v000014F1d00001456* + ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem + + pci:v000014F1d00001456sv0000122Dsd00004035* +- ID_MODEL_FROM_DATABASE=Dell Europa - MDP3900V-W ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Europa - MDP3900V-W) + + pci:v000014F1d00001456sv0000122Dsd00004302* +- ID_MODEL_FROM_DATABASE=Dell MP3930V-W(C) MiniPCI ++ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell MP3930V-W(C) MiniPCI) + + pci:v000014F1d00001610* + ID_MODEL_FROM_DATABASE=ADSL AccessRunner PCI Arbitration Device +@@ -46056,10 +46056,10 @@ pci:v000014F1d00001803* + ID_MODEL_FROM_DATABASE=HCF 56k Modem + + pci:v000014F1d00001803sv00000E11sd00000023* +- ID_MODEL_FROM_DATABASE=623-LAN Grizzly ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Grizzly) + + pci:v000014F1d00001803sv00000E11sd00000043* +- ID_MODEL_FROM_DATABASE=623-LAN Yogi ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Yogi) + + pci:v000014F1d00001811* + ID_MODEL_FROM_DATABASE=MiniPCI Network Adapter +@@ -46068,10 +46068,10 @@ pci:v000014F1d00001815* + ID_MODEL_FROM_DATABASE=HCF 56k Modem + + pci:v000014F1d00001815sv00000E11sd00000022* +- ID_MODEL_FROM_DATABASE=Grizzly ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Grizzly) + + pci:v000014F1d00001815sv00000E11sd00000042* +- ID_MODEL_FROM_DATABASE=Yogi ++ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Yogi) + + pci:v000014F1d00002003* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem +@@ -46089,28 +46089,28 @@ pci:v000014F1d00002013* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem + + pci:v000014F1d00002013sv00000E11sd0000B195* +- ID_MODEL_FROM_DATABASE=Bear ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Bear) + + pci:v000014F1d00002013sv00000E11sd0000B196* +- ID_MODEL_FROM_DATABASE=Seminole 1 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 1) + + pci:v000014F1d00002013sv00000E11sd0000B1BE* +- ID_MODEL_FROM_DATABASE=Seminole 2 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 2) + + pci:v000014F1d00002013sv00001025sd00008013* +- ID_MODEL_FROM_DATABASE=Acer ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Acer) + + pci:v000014F1d00002013sv00001033sd0000809D* +- ID_MODEL_FROM_DATABASE=NEC ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) + + pci:v000014F1d00002013sv00001033sd000080BC* +- ID_MODEL_FROM_DATABASE=NEC ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) + + pci:v000014F1d00002013sv0000155Dsd00006793* +- ID_MODEL_FROM_DATABASE=HP ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (HP) + + pci:v000014F1d00002013sv0000155Dsd00008850* +- ID_MODEL_FROM_DATABASE=E Machines ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (E Machines) + + pci:v000014F1d00002014* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem +@@ -46131,7 +46131,7 @@ pci:v000014F1d00002045* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) + + pci:v000014F1d00002045sv000014F1sd00002045* +- ID_MODEL_FROM_DATABASE=Generic SoftK56 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) (Generic SoftK56) + + pci:v000014F1d00002046* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA) +@@ -46152,7 +46152,7 @@ pci:v000014F1d00002093* + ID_MODEL_FROM_DATABASE=HSF 56k Modem + + pci:v000014F1d00002093sv0000155Dsd00002F07* +- ID_MODEL_FROM_DATABASE=Legend ++ ID_MODEL_FROM_DATABASE=HSF 56k Modem (Legend) + + pci:v000014F1d00002143* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA) +@@ -46206,13 +46206,13 @@ pci:v000014F1d00002443* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) + + pci:v000014F1d00002443sv0000104Dsd00008075* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) + + pci:v000014F1d00002443sv0000104Dsd00008083* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) + + pci:v000014F1d00002443sv0000104Dsd00008097* +- ID_MODEL_FROM_DATABASE=Modem ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) + + pci:v000014F1d00002444* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA) +@@ -46239,13 +46239,13 @@ pci:v000014F1d00002F00* + ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem + + pci:v000014F1d00002F00sv000013E0sd00008D84* +- ID_MODEL_FROM_DATABASE=IBM HSFi V.90 ++ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (IBM HSFi V.90) + + pci:v000014F1d00002F00sv000013E0sd00008D85* +- ID_MODEL_FROM_DATABASE=Compaq Stinger ++ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Compaq Stinger) + + pci:v000014F1d00002F00sv000014F1sd00002004* +- ID_MODEL_FROM_DATABASE=Dynalink 56PMi ++ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Dynalink 56PMi) + + pci:v000014F1d00002F02* + ID_MODEL_FROM_DATABASE=HSF 56k HSFi Data/Fax +@@ -46257,16 +46257,16 @@ pci:v000014F1d00002F20* + ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem + + pci:v000014F1d00002F20sv000014F1sd0000200C* +- ID_MODEL_FROM_DATABASE=Soft Data Fax Modem with SmartCP ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Soft Data Fax Modem with SmartCP) + + pci:v000014F1d00002F20sv000014F1sd0000200F* +- ID_MODEL_FROM_DATABASE=Dimension 3000 ++ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Dimension 3000) + + pci:v000014F1d00002F30* + ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP + + pci:v000014F1d00002F30sv000014F1sd00002014* +- ID_MODEL_FROM_DATABASE=Devolo MikroLink 56K Modem PCI ++ ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP (Devolo MikroLink 56K Modem PCI) + + pci:v000014F1d00002F50* + ID_MODEL_FROM_DATABASE=Conexant SoftK56 Data/Fax Modem +@@ -46275,13 +46275,13 @@ pci:v000014F1d00005B7A* + ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder + + pci:v000014F1d00005B7Asv00000070sd00007444* +- ID_MODEL_FROM_DATABASE=WinTV HVR-1600 ++ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinTV HVR-1600) + + pci:v000014F1d00005B7Asv0000107Dsd00006F34* +- ID_MODEL_FROM_DATABASE=WinFast DVR3100 H ++ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinFast DVR3100 H) + + pci:v000014F1d00005B7Asv00005854sd00003343* +- ID_MODEL_FROM_DATABASE=GoTView PCI DVD3 Hybrid ++ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (GoTView PCI DVD3 Hybrid) + + pci:v000014F1d00008200* + ID_MODEL_FROM_DATABASE=CX25850 +@@ -46293,304 +46293,304 @@ pci:v000014F1d00008800* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder + + pci:v000014F1d00008800sv00000070sd00002801* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 28xxx (Roslyn) models) + + pci:v000014F1d00008800sv00000070sd00003400* +- ID_MODEL_FROM_DATABASE=WinTV 34604 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 34604) + + pci:v000014F1d00008800sv00000070sd00003401* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 34xxx models) + + pci:v000014F1d00008800sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-4000-HD) + + pci:v000014F1d00008800sv00000070sd00007801* +- ID_MODEL_FROM_DATABASE=WinTV HVR-1800 MCE ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-1800 MCE) + + pci:v000014F1d00008800sv00000070sd00009001* +- ID_MODEL_FROM_DATABASE=Nova-T DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-T DVB-T) + + pci:v000014F1d00008800sv00000070sd00009200* +- ID_MODEL_FROM_DATABASE=Nova-SE2 DVB-S ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-SE2 DVB-S) + + pci:v000014F1d00008800sv00000070sd00009202* +- ID_MODEL_FROM_DATABASE=Nova-S-Plus DVB-S ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-S-Plus DVB-S) + + pci:v000014F1d00008800sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008800sv00000070sd00009600* +- ID_MODEL_FROM_DATABASE=WinTV 88x Video ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 88x Video) + + pci:v000014F1d00008800sv00000070sd00009802* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid (Low Profile) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid (Low Profile)) + + pci:v000014F1d00008800sv00001002sd000000F8* +- ID_MODEL_FROM_DATABASE=ATI TV Wonder Pro ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) + + pci:v000014F1d00008800sv00001002sd0000A101* +- ID_MODEL_FROM_DATABASE=HDTV Wonder ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) + + pci:v000014F1d00008800sv00001043sd00004823* +- ID_MODEL_FROM_DATABASE=ASUS PVR-416 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ASUS PVR-416) + + pci:v000014F1d00008800sv0000107Dsd00006611* +- ID_MODEL_FROM_DATABASE=Winfast TV 2000XP Expert ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Winfast TV 2000XP Expert) + + pci:v000014F1d00008800sv0000107Dsd00006613* +- ID_MODEL_FROM_DATABASE=Leadtek Winfast 2000XP Expert ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast 2000XP Expert) + + pci:v000014F1d00008800sv0000107Dsd00006620* +- ID_MODEL_FROM_DATABASE=Leadtek Winfast DV2000 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast DV2000) + + pci:v000014F1d00008800sv0000107Dsd0000663C* +- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek PVR 2000) + + pci:v000014F1d00008800sv0000107Dsd0000665F* +- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinFast DTV1000-T) + + pci:v000014F1d00008800sv000010FCsd0000D003* +- ID_MODEL_FROM_DATABASE=IODATA GV-VCP3/PCI ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV-VCP3/PCI) + + pci:v000014F1d00008800sv000010FCsd0000D035* +- ID_MODEL_FROM_DATABASE=IODATA GV/BCTV7E ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV/BCTV7E) + + pci:v000014F1d00008800sv00001421sd00000334* +- ID_MODEL_FROM_DATABASE=Instant TV DVB-T PCI ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Instant TV DVB-T PCI) + + pci:v000014F1d00008800sv00001461sd0000000A* +- ID_MODEL_FROM_DATABASE=AVerTV 303 (M126) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AVerTV 303 (M126)) + + pci:v000014F1d00008800sv00001461sd0000000B* +- ID_MODEL_FROM_DATABASE=AverTV Studio 303 (M126) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AverTV Studio 303 (M126)) + + pci:v000014F1d00008800sv00001461sd00008011* +- ID_MODEL_FROM_DATABASE=UltraTV Media Center PCI 550 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (UltraTV Media Center PCI 550) + + pci:v000014F1d00008800sv00001462sd00008606* +- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (MSI TV-@nywhere Master) + + pci:v000014F1d00008800sv000014C7sd00000107* +- ID_MODEL_FROM_DATABASE=GDI Black Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GDI Black Gold) + + pci:v000014F1d00008800sv000014F1sd00000187* +- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Conexant DVB-T reference design) + + pci:v000014F1d00008800sv000014F1sd00000342* +- ID_MODEL_FROM_DATABASE=Digital-Logic MICROSPACE Entertainment Center (MEC) ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Digital-Logic MICROSPACE Entertainment Center (MEC)) + + pci:v000014F1d00008800sv0000153Bsd00001166* +- ID_MODEL_FROM_DATABASE=Cinergy 1400 DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Cinergy 1400 DVB-T) + + pci:v000014F1d00008800sv00001540sd00002580* +- ID_MODEL_FROM_DATABASE=Provideo PV259 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Provideo PV259) + + pci:v000014F1d00008800sv00001554sd00004811* +- ID_MODEL_FROM_DATABASE=PixelView ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (PixelView) + + pci:v000014F1d00008800sv00001554sd00004813* +- ID_MODEL_FROM_DATABASE=Club 3D ZAP1000 MCE Edition ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Club 3D ZAP1000 MCE Edition) + + pci:v000014F1d00008800sv000017DEsd000008A1* +- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T with cx22702 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T with cx22702) + + pci:v000014F1d00008800sv000017DEsd000008A6* +- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T) + + pci:v000014F1d00008800sv000017DEsd000008B2* +- ID_MODEL_FROM_DATABASE=KWorld DVB-S 100 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld DVB-S 100) + + pci:v000014F1d00008800sv000017DEsd0000A8A6* +- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T) + + pci:v000014F1d00008800sv00001822sd00000025* +- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T Pro ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T Pro) + + pci:v000014F1d00008800sv0000185Bsd0000E000* +- ID_MODEL_FROM_DATABASE=VideoMate X500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (VideoMate X500) + + pci:v000014F1d00008800sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=FusionHDTV 5 Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 5 Gold) + + pci:v000014F1d00008800sv000018ACsd0000D810* +- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-Q ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-Q) + + pci:v000014F1d00008800sv000018ACsd0000D820* +- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-T) + + pci:v000014F1d00008800sv000018ACsd0000DB00* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T1 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T1) + + pci:v000014F1d00008800sv000018ACsd0000DB11* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Plus ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Plus) + + pci:v000014F1d00008800sv000018ACsd0000DB50* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Digital ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Digital) + + pci:v000014F1d00008800sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TV Tuner Card ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GoTView PCI Hybrid TV Tuner Card) + + pci:v000014F1d00008800sv00007063sd00003000* +- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD3000 HDTV) + + pci:v000014F1d00008800sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD-5500) + + pci:v000014F1d00008801* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + + pci:v000014F1d00008801sv00000070sd00002801* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 28xxx (Roslyn) models) + + pci:v000014F1d00008801sv0000185Bsd0000E000* +- ID_MODEL_FROM_DATABASE=VideoMate X500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (VideoMate X500) + + pci:v000014F1d00008801sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio AVStream Device ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio AVStream Device) + + pci:v000014F1d00008801sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (pcHDTV HD-5500) + + pci:v000014F1d00008802* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] + + pci:v000014F1d00008802sv00000070sd00002801* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Hauppauge WinTV 28xxx (Roslyn) models) + + pci:v000014F1d00008802sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV HVR-4000-HD) + + pci:v000014F1d00008802sv00000070sd00009002* +- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Nova-T DVB-T Model 909) + + pci:v000014F1d00008802sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008802sv00000070sd00009600* +- ID_MODEL_FROM_DATABASE=WinTV 88x MPEG Encoder ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV 88x MPEG Encoder) + + pci:v000014F1d00008802sv00001043sd00004823* +- ID_MODEL_FROM_DATABASE=ASUS PVR-416 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (ASUS PVR-416) + + pci:v000014F1d00008802sv0000107Dsd0000663C* +- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Leadtek PVR 2000) + + pci:v000014F1d00008802sv0000107Dsd0000665F* +- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinFast DTV1000-T) + + pci:v000014F1d00008802sv000014F1sd00000187* +- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Conexant DVB-T reference design) + + pci:v000014F1d00008802sv000017DEsd000008A1* +- ID_MODEL_FROM_DATABASE=XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture) + + pci:v000014F1d00008802sv000017DEsd000008A6* +- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (KWorld/VStream XPert DVB-T) + + pci:v000014F1d00008802sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV5 Gold) + + pci:v000014F1d00008802sv000018ACsd0000D810* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-Q) + + pci:v000014F1d00008802sv000018ACsd0000D820* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-T) + + pci:v000014F1d00008802sv000018ACsd0000DB00* +- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T1) + + pci:v000014F1d00008802sv000018ACsd0000DB10* +- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T Plus ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T Plus) + + pci:v000014F1d00008802sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TS Capture Device ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (GoTView PCI Hybrid TS Capture Device) + + pci:v000014F1d00008802sv00007063sd00003000* +- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD3000 HDTV) + + pci:v000014F1d00008802sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD-5500) + + pci:v000014F1d00008804* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] + + pci:v000014F1d00008804sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV HVR-4000-HD) + + pci:v000014F1d00008804sv00000070sd00009002* +- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (Nova-T DVB-T Model 909) + + pci:v000014F1d00008804sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008804sv00007063sd00005500* +- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (pcHDTV HD-5500) + + pci:v000014F1d00008811* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + + pci:v000014F1d00008811sv00000070sd00003400* +- ID_MODEL_FROM_DATABASE=WinTV 34604 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 34604) + + pci:v000014F1d00008811sv00000070sd00003401* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 34xxx models) + + pci:v000014F1d00008811sv00000070sd00006902* +- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV HVR-4000-HD) + + pci:v000014F1d00008811sv00000070sd00009402* +- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV-HVR1100 DVB-T/Hybrid) + + pci:v000014F1d00008811sv00000070sd00009600* +- ID_MODEL_FROM_DATABASE=WinTV 88x Audio ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 88x Audio) + + pci:v000014F1d00008811sv00001462sd00008606* +- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (MSI TV-@nywhere Master) + + pci:v000014F1d00008811sv000018ACsd0000D500* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV5 Gold) + + pci:v000014F1d00008811sv000018ACsd0000D810* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-Q) + + pci:v000014F1d00008811sv000018ACsd0000D820* +- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-T) + + pci:v000014F1d00008811sv000018ACsd0000DB00* +- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DVICO FusionHDTV DVB-T1) + + pci:v000014F1d00008811sv00005654sd00002388* +- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio Capture Device ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio Capture Device) + + pci:v000014F1d00008852* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder + + pci:v000014F1d00008852sv00000070sd00008010* +- ID_MODEL_FROM_DATABASE=Hauppauge WinTV HVR-1400 ExpressCard ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) + + pci:v000014F1d00008852sv0000107Dsd00006F22* +- ID_MODEL_FROM_DATABASE=WinFast PxTV1200 ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) + + pci:v000014F1d00008852sv00001461sd0000C039* +- ID_MODEL_FROM_DATABASE=AVerTV Hybrid Express (A577) ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (AVerTV Hybrid Express (A577)) + + pci:v000014F1d00008852sv0000153Bsd0000117E* +- ID_MODEL_FROM_DATABASE=Cinergy T PCIe Dual ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Cinergy T PCIe Dual) + + pci:v000014F1d00008852sv000018ACsd0000DB78* +- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Express ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) + + pci:v000014F1d00008880* + ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb + + pci:v000014F1d00008880sv00000070sd0000C108* +- ID_MODEL_FROM_DATABASE=WinTV-HVR-4400-HD model 1278 ++ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (WinTV-HVR-4400-HD model 1278) + + pci:v000014F1d00008880sv00005654sd00002389* +- ID_MODEL_FROM_DATABASE=GoTView X5 DVD Hybrid PCI-E ++ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 DVD Hybrid PCI-E) + + pci:v000014F1d00008880sv00005654sd00002390* +- ID_MODEL_FROM_DATABASE=GoTView X5 3D HYBRID PCI-E ++ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 3D HYBRID PCI-E) + + pci:v000014F2* + ID_VENDOR_FROM_DATABASE=MOBILITY Electronics +@@ -46842,100 +46842,100 @@ pci:v00001522d00000100* + ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge + + pci:v00001522d00000100sv00001522sd00000200* +- ID_MODEL_FROM_DATABASE=RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000300* +- ID_MODEL_FROM_DATABASE=RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000400* +- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000500* +- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000600* +- ID_MODEL_FROM_DATABASE=RockForce+ 2 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 2 Port V.90 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000700* +- ID_MODEL_FROM_DATABASE=RockForce+ 4 Port V.90 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 4 Port V.90 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000800* +- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem) + + pci:v00001522d00000100sv00001522sd00000C00* +- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) + + pci:v00001522d00000100sv00001522sd00000D00* +- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) + + pci:v00001522d00000100sv00001522sd00001D00* +- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) + + pci:v00001522d00000100sv00001522sd00002000* +- ID_MODEL_FROM_DATABASE=RockForceD1 1 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD1 1 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002100* +- ID_MODEL_FROM_DATABASE=RockForceF1 1 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF1 1 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00002200* +- ID_MODEL_FROM_DATABASE=RockForceD2 2 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD2 2 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002300* +- ID_MODEL_FROM_DATABASE=RockForceF2 2 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF2 2 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00002400* +- ID_MODEL_FROM_DATABASE=RockForceD4 4 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD4 4 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002500* +- ID_MODEL_FROM_DATABASE=RockForceF4 4 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF4 4 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00002600* +- ID_MODEL_FROM_DATABASE=RockForceD8 8 Port V.90 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD8 8 Port V.90 Data Modem) + + pci:v00001522d00000100sv00001522sd00002700* +- ID_MODEL_FROM_DATABASE=RockForceF8 8 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF8 8 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003000* +- ID_MODEL_FROM_DATABASE=IQ Express D1 - 1 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D1 - 1 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003100* +- ID_MODEL_FROM_DATABASE=IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003200* +- ID_MODEL_FROM_DATABASE=IQ Express D2 - 2 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D2 - 2 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003300* +- ID_MODEL_FROM_DATABASE=IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003400* +- ID_MODEL_FROM_DATABASE=IQ Express D4 - 4 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D4 - 4 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003500* +- ID_MODEL_FROM_DATABASE=IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00000100sv00001522sd00003C00* +- ID_MODEL_FROM_DATABASE=IQ Express D8 - 8 Port V.92 Data Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D8 - 8 Port V.92 Data Modem) + + pci:v00001522d00000100sv00001522sd00003D00* +- ID_MODEL_FROM_DATABASE=IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem ++ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem) + + pci:v00001522d00004000* + ID_MODEL_FROM_DATABASE=PCI Express UART + + pci:v00001522d00004000sv00001522sd00004001* +- ID_MODEL_FROM_DATABASE=IQ Express 1-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 1-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004002* +- ID_MODEL_FROM_DATABASE=IQ Express 2-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 2-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004004* +- ID_MODEL_FROM_DATABASE=IQ Express 4-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 4-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004008* +- ID_MODEL_FROM_DATABASE=IQ Express 8-port V.34 Super-G3 Fax ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 8-port V.34 Super-G3 Fax) + + pci:v00001522d00004000sv00001522sd00004100* +- ID_MODEL_FROM_DATABASE=IQ Express SideBand ++ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express SideBand) + + pci:v00001523* + ID_VENDOR_FROM_DATABASE=MUSIC Semiconductors +@@ -46947,7 +46947,7 @@ pci:v00001524d00000510* + ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller + + pci:v00001524d00000510sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller (NX9500) + + pci:v00001524d00000520* + ID_MODEL_FROM_DATABASE=FLASH memory: ENE Technology Inc: +@@ -46986,16 +46986,16 @@ pci:v00001524d00001410* + ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller + + pci:v00001524d00001410sv00001025sd0000003C* +- ID_MODEL_FROM_DATABASE=CL50 motherboard ++ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (CL50 motherboard) + + pci:v00001524d00001410sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (TravelMate 290) + + pci:v00001524d00001411* + ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller + + pci:v00001524d00001411sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller (NX9500) + + pci:v00001524d00001412* + ID_MODEL_FROM_DATABASE=CB-712/4 Cardbus Controller +@@ -47598,7 +47598,7 @@ pci:v000015ADd00000801* + ID_MODEL_FROM_DATABASE=Virtual Machine Interface + + pci:v000015ADd00000801sv000015ADsd00000800* +- ID_MODEL_FROM_DATABASE=Hypervisor ROM Interface ++ ID_MODEL_FROM_DATABASE=Virtual Machine Interface (Hypervisor ROM Interface) + + pci:v000015ADd00001977* + ID_MODEL_FROM_DATABASE=HD Audio Controller +@@ -47748,10 +47748,10 @@ pci:v000015B3d00006746* + ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] + + pci:v000015B3d00006746sv0000103Csd00001781* +- ID_MODEL_FROM_DATABASE=NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter ++ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter) + + pci:v000015B3d00006746sv0000103Csd00003349* +- ID_MODEL_FROM_DATABASE=NC543i 2-port 4xQDR IB/10Gb Adapter ++ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 2-port 4xQDR IB/10Gb Adapter) + + pci:v000015B3d00006750* + ID_MODEL_FROM_DATABASE=MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] +@@ -47763,7 +47763,7 @@ pci:v000015B3d00006764* + ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] + + pci:v000015B3d00006764sv0000103Csd00003313* +- ID_MODEL_FROM_DATABASE=HP NC542m Dual Port Flex-10 10GbE BLc Adapter ++ ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] (HP NC542m Dual Port Flex-10 10GbE BLc Adapter) + + pci:v000015B3d0000676E* + ID_MODEL_FROM_DATABASE=MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s] +@@ -47886,13 +47886,13 @@ pci:v000015BCd00000105* + ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES + + pci:v000015BCd00000105sv0000117Csd00000022* +- ID_MODEL_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42XS Fibre Channel Adapter) + + pci:v000015BCd00000105sv0000117Csd00000025* +- ID_MODEL_FROM_DATABASE=Celerity FC-44ES Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-44ES Fibre Channel Adapter) + + pci:v000015BCd00000105sv0000117Csd00000026* +- ID_MODEL_FROM_DATABASE=Celerity FC-42ES Fibre Channel Adapter ++ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42ES Fibre Channel Adapter) + + pci:v000015BCd00001100* + ID_MODEL_FROM_DATABASE=E8001-66442 PCI Express CIC +@@ -48306,34 +48306,34 @@ pci:v00001657d00000013* + ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA + + pci:v00001657d00000013sv0000103Csd00001742* +- ID_MODEL_FROM_DATABASE=HP 82B 8Gbps dual port FC HBA ++ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 82B 8Gbps dual port FC HBA) + + pci:v00001657d00000013sv0000103Csd00001744* +- ID_MODEL_FROM_DATABASE=HP 42B 4Gbps dual port FC HBA ++ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 42B 4Gbps dual port FC HBA) + + pci:v00001657d00000013sv00001657sd00000014* +- ID_MODEL_FROM_DATABASE=425/825 4Gbps/8Gbps PCIe dual port FC HBA ++ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (425/825 4Gbps/8Gbps PCIe dual port FC HBA) + + pci:v00001657d00000014* + ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA + + pci:v00001657d00000014sv00001657sd00000014* +- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - FCOE ++ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- FCOE) + + pci:v00001657d00000014sv00001657sd00000015* +- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - LL ++ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- LL) + + pci:v00001657d00000017* + ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA + + pci:v00001657d00000017sv0000103Csd00001741* +- ID_MODEL_FROM_DATABASE=HP 41B 4Gbps single port FC HBA ++ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 41B 4Gbps single port FC HBA) + + pci:v00001657d00000017sv0000103Csd00001743* +- ID_MODEL_FROM_DATABASE=HP 81B 8Gbps single port FC HBA ++ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 81B 8Gbps single port FC HBA) + + pci:v00001657d00000017sv00001657sd00000014* +- ID_MODEL_FROM_DATABASE=415/815 4Gbps/8Gbps single port PCIe FC HBA ++ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (415/815 4Gbps/8Gbps single port PCIe FC HBA) + + pci:v00001657d00000021* + ID_MODEL_FROM_DATABASE=804 8Gbps FC HBA for HP Bladesystem c-class +@@ -48342,13 +48342,13 @@ pci:v00001657d00000022* + ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter + + pci:v00001657d00000022sv00001657sd00000022* +- ID_MODEL_FROM_DATABASE=10Gbps CNA - FCOE ++ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - FCOE) + + pci:v00001657d00000022sv00001657sd00000023* +- ID_MODEL_FROM_DATABASE=10Gbps CNA - LL ++ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - LL) + + pci:v00001657d00000022sv00001657sd00000024* +- ID_MODEL_FROM_DATABASE=16Gbps FC HBA ++ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (16Gbps FC HBA) + + pci:v00001657d00000023* + ID_MODEL_FROM_DATABASE=1867/1869 16Gbps FC HBA +@@ -48435,10 +48435,10 @@ pci:v0000167Bd00002102* + ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 + + pci:v0000167Bd00002102sv0000187Esd00003406* +- ID_MODEL_FROM_DATABASE=ZyAIR B-122 CardBus 11Mbs Wireless LAN Card ++ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-122 CardBus 11Mbs Wireless LAN Card) + + pci:v0000167Bd00002102sv0000187Esd00003407* +- ID_MODEL_FROM_DATABASE=ZyAIR B-320 802.11b Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-320 802.11b Wireless PCI Adapter) + + pci:v0000167Bd00002116* + ID_MODEL_FROM_DATABASE=ZD1212B Wireless Adapter +@@ -48471,16 +48471,16 @@ pci:v0000168Cd00000007* + ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] + + pci:v0000168Cd00000007sv00001737sd00000007* +- ID_MODEL_FROM_DATABASE=WPC54A Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (WPC54A Wireless PC Card) + + pci:v0000168Cd00000007sv00001B47sd00000100* +- ID_MODEL_FROM_DATABASE=Harmony 8450CN Wireless CardBus Module ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Harmony 8450CN Wireless CardBus Module) + + pci:v0000168Cd00000007sv00001B47sd00000110* +- ID_MODEL_FROM_DATABASE=Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter) + + pci:v0000168Cd00000007sv00008086sd00002501* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 5000 LAN PCI Adapter Module ++ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (PRO/Wireless 5000 LAN PCI Adapter Module) + + pci:v0000168Cd00000011* + ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001A 802.11a] +@@ -48489,562 +48489,562 @@ pci:v0000168Cd00000012* + ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] + + pci:v0000168Cd00000012sv00001186sd00003A03* +- ID_MODEL_FROM_DATABASE=AirPro DWL-A650 Wireless Cardbus Adapter (rev.B) ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-A650 Wireless Cardbus Adapter (rev.B)) + + pci:v0000168Cd00000012sv00001186sd00003A04* +- ID_MODEL_FROM_DATABASE=AirPro DWL-AB650 Multimode Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB650 Multimode Wireless Cardbus Adapter) + + pci:v0000168Cd00000012sv00001186sd00003A05* +- ID_MODEL_FROM_DATABASE=AirPro DWL-AB520 Multimode Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB520 Multimode Wireless PCI Adapter) + + pci:v0000168Cd00000012sv0000126Csd00008031* +- ID_MODEL_FROM_DATABASE=2201 Mobile Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (2201 Mobile Adapter) + + pci:v0000168Cd00000012sv00001385sd00004400* +- ID_MODEL_FROM_DATABASE=WAB501 802.11ab Wireless CardBus Card ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (WAB501 802.11ab Wireless CardBus Card) + + pci:v0000168Cd00000012sv00001B47sd0000AA00* +- ID_MODEL_FROM_DATABASE=8460 802.11ab Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (8460 802.11ab Wireless CardBus Adapter) + + pci:v0000168Cd00000013* + ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter + + pci:v0000168Cd00000013sv00000308sd00003402* +- ID_MODEL_FROM_DATABASE=AG-100 802.11ag Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AG-100 802.11ag Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00000308sd00003405* +- ID_MODEL_FROM_DATABASE=G-102 v2 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-102 v2 802.11g Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00000308sd00003408* +- ID_MODEL_FROM_DATABASE=G-170S 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-170S 802.11g Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv00000E11sd000000E5* +- ID_MODEL_FROM_DATABASE=NC6000/NC8000 laptop ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (NC6000/NC8000 laptop) + + pci:v0000168Cd00000013sv000010B7sd00006002* +- ID_MODEL_FROM_DATABASE=3CRWE154A72 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRWE154A72 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv00001113sd0000D301* +- ID_MODEL_FROM_DATABASE=Philips CPWNA100 Wireless CardBus adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Philips CPWNA100 Wireless CardBus adapter) + + pci:v0000168Cd00000013sv00001113sd0000EE23* +- ID_MODEL_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (SMCWPCIT-G 108Mbps Wireless PCI adapter) + + pci:v0000168Cd00000013sv00001154sd0000033B* +- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AMG54 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AMG54) + + pci:v0000168Cd00000013sv00001154sd0000034E* +- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003202* +- ID_MODEL_FROM_DATABASE=DWL-G650 (Rev B3,B5) Wireless cardbus adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650 (Rev B3,B5) Wireless cardbus adapter) + + pci:v0000168Cd00000013sv00001186sd00003203* +- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. A) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) + + pci:v0000168Cd00000013sv00001186sd00003A07* +- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG650 Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A08* +- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG520 Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A12* +- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)) + + pci:v0000168Cd00000013sv00001186sd00003A13* +- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. B) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. B)) + + pci:v0000168Cd00000013sv00001186sd00003A14* +- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A)) + + pci:v0000168Cd00000013sv00001186sd00003A17* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G680 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G680 Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A18* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G550 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G550 Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A1A* +- ID_MODEL_FROM_DATABASE=WNA-2330 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WNA-2330 802.11bg Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A63* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003A93* +- ID_MODEL_FROM_DATABASE=Conceptronic C54I Wireless 801.11g PCI card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54I Wireless 801.11g PCI card) + + pci:v0000168Cd00000013sv00001186sd00003A94* +- ID_MODEL_FROM_DATABASE=Conceptronic C54C 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54C 802.11g Wireless Cardbus Adapter) + + pci:v0000168Cd00000013sv00001186sd00003AB0* +- ID_MODEL_FROM_DATABASE=Allnet ALL0281 Wireless PCI Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Allnet ALL0281 Wireless PCI Card) + + pci:v0000168Cd00000013sv00001385sd00004600* +- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) + + pci:v0000168Cd00000013sv00001385sd00004610* +- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) + + pci:v0000168Cd00000013sv00001385sd00004900* +- ID_MODEL_FROM_DATABASE=WG311v1 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311v1 802.11g Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001385sd00004A00* +- ID_MODEL_FROM_DATABASE=WAG311 802.11a/g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG311 802.11a/g Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001385sd00004B00* +- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.A/B) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.A/B)) + + pci:v0000168Cd00000013sv00001385sd00004D00* +- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A2) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A2)) + + pci:v0000168Cd00000013sv00001385sd00004F00* +- ID_MODEL_FROM_DATABASE=WG511U Double 108 Mbps Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511U Double 108 Mbps Wireless PC Card) + + pci:v0000168Cd00000013sv00001385sd00005A00* +- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A3) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A3)) + + pci:v0000168Cd00000013sv00001385sd00005B00* +- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.C) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.C)) + + pci:v0000168Cd00000013sv00001385sd00005D00* +- ID_MODEL_FROM_DATABASE=WPN511 RangeMax Wireless PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPN511 RangeMax Wireless PC Card) + + pci:v0000168Cd00000013sv00001458sd0000E911* +- ID_MODEL_FROM_DATABASE=GN-WIAG02 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (GN-WIAG02) + + pci:v0000168Cd00000013sv00001468sd00000403* +- ID_MODEL_FROM_DATABASE=U10H014 802.11g Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (U10H014 802.11g Cardbus Adapter) + + pci:v0000168Cd00000013sv00001468sd00000408* +- ID_MODEL_FROM_DATABASE=ThinkPad 11b/g Wireless LAN Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (ThinkPad 11b/g Wireless LAN Mini PCI Adapter) + + pci:v0000168Cd00000013sv000014B7sd00000A10* +- ID_MODEL_FROM_DATABASE=8480-WD 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8480-WD 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv000014B7sd00000A60* +- ID_MODEL_FROM_DATABASE=8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter) + + pci:v0000168Cd00000013sv000014B7sd0000AA30* +- ID_MODEL_FROM_DATABASE=8800-FC 802.11bg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8800-FC 802.11bg Cardbus Adapter) + + pci:v0000168Cd00000013sv000014B7sd0000AA40* +- ID_MODEL_FROM_DATABASE=8470-WD 802.11bg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8470-WD 802.11bg Cardbus Adapter) + + pci:v0000168Cd00000013sv000014B9sd0000CB21* +- ID_MODEL_FROM_DATABASE=CB21 802.11a/b/g Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CB21 802.11a/b/g Cardbus Adapter) + + pci:v0000168Cd00000013sv00001668sd00001026* +- ID_MODEL_FROM_DATABASE=IBM HighRate 11 a/b/g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (IBM HighRate 11 a/b/g Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00000013* +- ID_MODEL_FROM_DATABASE=AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001025* +- ID_MODEL_FROM_DATABASE=DWL-G650B2 Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650B2 Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001027* +- ID_MODEL_FROM_DATABASE=Engenius NL-3054CB ARIES b/g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius NL-3054CB ARIES b/g CardBus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001042* +- ID_MODEL_FROM_DATABASE=Ubiquiti Networks SuperRange a/b/g Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Ubiquiti Networks SuperRange a/b/g Cardbus Adapter) + + pci:v0000168Cd00000013sv0000168Csd00001051* +- ID_MODEL_FROM_DATABASE=EZ Connect g 802.11g 108Mbps Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (EZ Connect g 802.11g 108Mbps Wireless PCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002026* +- ID_MODEL_FROM_DATABASE=Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002027* +- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A) ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) + + pci:v0000168Cd00000013sv0000168Csd00002041* +- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002042* +- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000168Csd00002051* +- ID_MODEL_FROM_DATABASE=TRENDnet TEW-443PI Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (TRENDnet TEW-443PI Wireless PCI Adapter) + + pci:v0000168Cd00000013sv000016A5sd0000160A* +- ID_MODEL_FROM_DATABASE=BWP712 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (BWP712 802.11bg Wireless CardBus Adapter) + + pci:v0000168Cd00000013sv000016ABsd00007302* +- ID_MODEL_FROM_DATABASE=Trust Speedshare Turbo Pro Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Trust Speedshare Turbo Pro Wireless PCI Adapter) + + pci:v0000168Cd00000013sv00001737sd00000017* +- ID_MODEL_FROM_DATABASE=WPC55AG ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG) + + pci:v0000168Cd00000013sv00001737sd00000026* +- ID_MODEL_FROM_DATABASE=WMP55AG v1.1 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.1) + + pci:v0000168Cd00000013sv00001737sd00000035* +- ID_MODEL_FROM_DATABASE=WPC55AG v1.2 802.11abg Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG v1.2 802.11abg Cardbus Adapter) + + pci:v0000168Cd00000013sv00001737sd00000036* +- ID_MODEL_FROM_DATABASE=WMP55AG v1.2 802.11abg PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.2 802.11abg PCI Adapter) + + pci:v0000168Cd00000013sv00001799sd00003000* +- ID_MODEL_FROM_DATABASE=F6D3000 Dual-Band Wireless A+G Desktop Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3000 Dual-Band Wireless A+G Desktop Card) + + pci:v0000168Cd00000013sv00001799sd00003010* +- ID_MODEL_FROM_DATABASE=F6D3010 Dual-Band Wireless A+G Notebook Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3010 Dual-Band Wireless A+G Notebook Card) + + pci:v0000168Cd00000013sv000017CFsd00000042* +- ID_MODEL_FROM_DATABASE=Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter) + + pci:v0000168Cd00000013sv0000185Fsd00001012* +- ID_MODEL_FROM_DATABASE=CM9 Wireless a/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CM9 Wireless a/b/g MiniPCI Adapter) + + pci:v0000168Cd00000013sv0000185Fsd00002012* +- ID_MODEL_FROM_DATABASE=Wistron NeWeb WLAN a+b+g model CB9 ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Wistron NeWeb WLAN a+b+g model CB9) + + pci:v0000168Cd00000013sv0000A727sd00006801* +- ID_MODEL_FROM_DATABASE=3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card ++ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card) + + pci:v0000168Cd0000001A* + ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] + + pci:v0000168Cd0000001Asv00001052sd0000168C* +- ID_MODEL_FROM_DATABASE=Sweex Wireless Lan PC Card 54Mbps ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Sweex Wireless Lan PC Card 54Mbps) + + pci:v0000168Cd0000001Asv00001113sd0000EE20* +- ID_MODEL_FROM_DATABASE=SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)) + + pci:v0000168Cd0000001Asv00001113sd0000EE24* +- ID_MODEL_FROM_DATABASE=SMC Wireless PCI Card WPCI-G ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless PCI Card WPCI-G) + + pci:v0000168Cd0000001Asv00001186sd00003A15* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1)) + + pci:v0000168Cd0000001Asv00001186sd00003A16* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless PCI Adapter(rev.B) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)) + + pci:v0000168Cd0000001Asv00001186sd00003A1C* +- ID_MODEL_FROM_DATABASE=WNA-1330 Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WNA-1330 Notebook Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003A1D* +- ID_MODEL_FROM_DATABASE=WDA-1320 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WDA-1320 Desktop Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003A23* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G520+A Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G520+A Wireless PCI Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003A24* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G650+A Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G650+A Wireless Cardbus Adapter) + + pci:v0000168Cd0000001Asv00001186sd00003B08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1) ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1)) + + pci:v0000168Cd0000001Asv0000168Csd0000001A* +- ID_MODEL_FROM_DATABASE=Belkin FD7000 ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Belkin FD7000) + + pci:v0000168Cd0000001Asv0000168Csd00001052* +- ID_MODEL_FROM_DATABASE=TP-Link TL-WN510G Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (TP-Link TL-WN510G Wireless CardBus Adapter) + + pci:v0000168Cd0000001Asv0000168Csd00002052* +- ID_MODEL_FROM_DATABASE=Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]) + + pci:v0000168Cd0000001Asv000016ECsd00000122* +- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter Model 5418 ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Wireless PCI Adapter Model 5418) + + pci:v0000168Cd0000001Asv00001737sd00000053* +- ID_MODEL_FROM_DATABASE=WPC54G v7 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WPC54G v7 802.11g Wireless-G Notebook Adapter) + + pci:v0000168Cd0000001Asv00001799sd0000700C* +- ID_MODEL_FROM_DATABASE=F5D7000 v5000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7000 v5000 Wireless G Desktop Card) + + pci:v0000168Cd0000001Asv00001799sd0000701D* +- ID_MODEL_FROM_DATABASE=F5D7010 v5000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7010 v5000 Wireless G Notebook Card) + + pci:v0000168Cd0000001Asv000017F9sd00000008* +- ID_MODEL_FROM_DATABASE=DX-WGNBC 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGNBC 802.11bg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Asv000017F9sd00000018* +- ID_MODEL_FROM_DATABASE=DX-WGDTC 802.11bg Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGDTC 802.11bg Wireless PCI Adapter) + + pci:v0000168Cd0000001B* + ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] + + pci:v0000168Cd0000001Bsv00000777sd00001107* +- ID_MODEL_FROM_DATABASE=UB5 802.11a Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (UB5 802.11a Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00000777sd00003002* +- ID_MODEL_FROM_DATABASE=XR2 802.11g Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR2 802.11g Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00000777sd00003005* +- ID_MODEL_FROM_DATABASE=XR5 802.11a Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR5 802.11a Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00000777sd00003009* +- ID_MODEL_FROM_DATABASE=XR9 900MHz Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR9 900MHz Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv00001154sd0000034E* +- ID_MODEL_FROM_DATABASE=WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Bsv00001186sd00003A19* +- ID_MODEL_FROM_DATABASE=D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter) + + pci:v0000168Cd0000001Bsv00001186sd00003A22* +- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B) ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B)) + + pci:v0000168Cd0000001Bsv000011ADsd00005001* +- ID_MODEL_FROM_DATABASE=WN5301A 802.11bg Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WN5301A 802.11bg Wireless PCI Adapter) + + pci:v0000168Cd0000001Bsv00001458sd0000E901* +- ID_MODEL_FROM_DATABASE=GN-WI01HT Wireless a/b/g MiniPCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (GN-WI01HT Wireless a/b/g MiniPCI Adapter) + + pci:v0000168Cd0000001Bsv0000168Csd0000001B* +- ID_MODEL_FROM_DATABASE=Wireless LAN PCI LiteOn ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless LAN PCI LiteOn) + + pci:v0000168Cd0000001Bsv0000168Csd00001062* +- ID_MODEL_FROM_DATABASE=IPN-W100CB 802.11abg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (IPN-W100CB 802.11abg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Bsv0000168Csd00002062* +- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG) ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)) + + pci:v0000168Cd0000001Bsv0000168Csd00002063* +- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG) + + pci:v0000168Cd0000001Bsv000017F9sd0000000B* +- ID_MODEL_FROM_DATABASE=WL-711A 802.11abg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WL-711A 802.11abg Wireless CardBus Adapter) + + pci:v0000168Cd0000001Bsv000017F9sd0000000C* +- ID_MODEL_FROM_DATABASE=WPIA-112AG 802.11abg Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WPIA-112AG 802.11abg Wireless PCI Adapter) + + pci:v0000168Cd0000001Bsv000017F9sd0000000D* +- ID_MODEL_FROM_DATABASE=PC-686X 802.11abg Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (PC-686X 802.11abg Wireless Mini PCI Adapter) + + pci:v0000168Cd0000001Bsv0000185Fsd00001600* +- ID_MODEL_FROM_DATABASE=DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW)) + + pci:v0000168Cd0000001Bsv00001948sd00003ABA* +- ID_MODEL_FROM_DATABASE=RBTBJ-AW 802.11abg Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (RBTBJ-AW 802.11abg Wireless Cardbus Adapter) + + pci:v0000168Cd0000001Bsv0000A727sd00006804* +- ID_MODEL_FROM_DATABASE=Wireless 11a/b/g PC Card with XJACK(r) Antenna ++ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless 11a/b/g PC Card with XJACK(r) Antenna) + + pci:v0000168Cd0000001C* + ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) + + pci:v0000168Cd0000001Csv00000777sd00003006* +- ID_MODEL_FROM_DATABASE=SRX 802.11abg Wireless ExpressCard Adapter ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (SRX 802.11abg Wireless ExpressCard Adapter) + + pci:v0000168Cd0000001Csv0000103Csd0000137A* +- ID_MODEL_FROM_DATABASE=AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC) + + pci:v0000168Cd0000001Csv0000106Bsd00000086* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPort Extreme) + + pci:v0000168Cd0000001Csv0000144Fsd00007106* +- ID_MODEL_FROM_DATABASE=WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card) + + pci:v0000168Cd0000001Csv0000144Fsd00007128* +- ID_MODEL_FROM_DATABASE=WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card) + + pci:v0000168Cd0000001Csv00001468sd00000428* +- ID_MODEL_FROM_DATABASE=AR5BXB63 802.11bg NIC ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 802.11bg NIC) + + pci:v0000168Cd0000001Csv00001468sd0000042A* +- ID_MODEL_FROM_DATABASE=AR5007EG 802.11bg NIC ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5007EG 802.11bg NIC) + + pci:v0000168Cd0000001Csv0000147Bsd00001033* +- ID_MODEL_FROM_DATABASE=AirPace Wi-Fi ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPace Wi-Fi) + + pci:v0000168Cd0000001Csv0000168Csd0000001C* +- ID_MODEL_FROM_DATABASE=AR242x 802.11abg NIC (PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg NIC (PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003061* +- ID_MODEL_FROM_DATABASE=AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EGS 802.11bg NIC (2.4GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003062* +- ID_MODEL_FROM_DATABASE=AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003063* +- ID_MODEL_FROM_DATABASE=AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003065* +- ID_MODEL_FROM_DATABASE=AR5006EG 802.11bg NIC (2.4GHz, PCI Express) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EG 802.11bg NIC (2.4GHz, PCI Express)) + + pci:v0000168Cd0000001Csv0000168Csd00003067* +- ID_MODEL_FROM_DATABASE=AR242x 802.11abg Wireless PCI Express Adapter (rev 01) ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg Wireless PCI Express Adapter (rev 01)) + + pci:v0000168Cd0000001Csv00001A3Bsd00001026* +- ID_MODEL_FROM_DATABASE=AW-GE780 802.11bg Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AW-GE780 802.11bg Wireless Mini PCIe Card) + + pci:v0000168Cd0000001D* + ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] + + pci:v0000168Cd0000001Dsv00001799sd0000720B* +- ID_MODEL_FROM_DATABASE=F5D7000 v8000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7000 v8000 Wireless G Desktop Card) + + pci:v0000168Cd0000001Dsv00001799sd0000721B* +- ID_MODEL_FROM_DATABASE=F5D7010 v8000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7010 v8000 Wireless G Notebook Card) + + pci:v0000168Cd00000020* + ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC + + pci:v0000168Cd00000020sv00000308sd00003407* +- ID_MODEL_FROM_DATABASE=M-102 802.11g Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-102 802.11g Wireless Cardbus Adapter) + + pci:v0000168Cd00000020sv00001186sd00003A67* +- ID_MODEL_FROM_DATABASE=DWL-G650M Super G MIMO Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G650M Super G MIMO Wireless Notebook Adapter) + + pci:v0000168Cd00000020sv00001186sd00003A68* +- ID_MODEL_FROM_DATABASE=DWL-G520M Wireless 108G MIMO Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G520M Wireless 108G MIMO Desktop Adapter) + + pci:v0000168Cd00000020sv0000187Esd0000340E* +- ID_MODEL_FROM_DATABASE=M-302 802.11g Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-302 802.11g Wireless PCI Adapter) + + pci:v0000168Cd00000020sv00001976sd00002003* +- ID_MODEL_FROM_DATABASE=TEW-601PC 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (TEW-601PC 802.11g Wireless CardBus Adapter) + + pci:v0000168Cd00000023* + ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] + + pci:v0000168Cd00000023sv00000308sd0000340B* +- ID_MODEL_FROM_DATABASE=NWD-170N 802.11bgn Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-170N 802.11bgn Wireless CardBus Adapter) + + pci:v0000168Cd00000023sv00001154sd00000365* +- ID_MODEL_FROM_DATABASE=Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter) + + pci:v0000168Cd00000023sv00001154sd00000367* +- ID_MODEL_FROM_DATABASE=WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter) + + pci:v0000168Cd00000023sv00001186sd00003A6A* +- ID_MODEL_FROM_DATABASE=DWA-642 802.11n RangeBooster N CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-642 802.11n RangeBooster N CardBus Adapter) + + pci:v0000168Cd00000023sv00001186sd00003A6B* +- ID_MODEL_FROM_DATABASE=DWA-547 802.11n RangeBooster N 650 DeskTop Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-547 802.11n RangeBooster N 650 DeskTop Adapter) + + pci:v0000168Cd00000023sv00001186sd00003A6D* +- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A1) ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-552 802.11n Xtreme N Desktop Adapter (rev A1)) + + pci:v0000168Cd00000023sv00001186sd00003A76* +- ID_MODEL_FROM_DATABASE=DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1) ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1)) + + pci:v0000168Cd00000023sv00001737sd00000059* +- ID_MODEL_FROM_DATABASE=WPC300N v2 Wireless-N Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC300N v2 Wireless-N Notebook Adapter) + + pci:v0000168Cd00000023sv00001737sd00000069* +- ID_MODEL_FROM_DATABASE=WPC100 v1 802.11n RangePlus Wireless Notebook Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC100 v1 802.11n RangePlus Wireless Notebook Adapter) + + pci:v0000168Cd00000023sv00001737sd00000072* +- ID_MODEL_FROM_DATABASE=WMP110 v1 802.11n RangePlus Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WMP110 v1 802.11n RangePlus Wireless PCI Adapter) + + pci:v0000168Cd00000023sv00001799sd00008011* +- ID_MODEL_FROM_DATABASE=F5D8011 v1 802.11n N1 Wireless Notebook Card ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (F5D8011 v1 802.11n N1 Wireless Notebook Card) + + pci:v0000168Cd00000023sv0000187Esd00003411* +- ID_MODEL_FROM_DATABASE=NWD-370N 802.11n Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-370N 802.11n Wireless PCI Adapter) + + pci:v0000168Cd00000023sv00001976sd00002008* +- ID_MODEL_FROM_DATABASE=TEW-621PC 802.11bgn Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (TEW-621PC 802.11bgn Wireless CardBus Adapter) + + pci:v0000168Cd00000024* + ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) + + pci:v0000168Cd00000024sv0000106Bsd00000087* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (AirPort Extreme) + + pci:v0000168Cd00000024sv00001186sd00003A70* +- ID_MODEL_FROM_DATABASE=DWA-556 Xtreme N PCI Express Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (DWA-556 Xtreme N PCI Express Desktop Adapter) + + pci:v0000168Cd00000027* + ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] + + pci:v0000168Cd00000027sv00000777sd00004082* +- ID_MODEL_FROM_DATABASE=SR71-A 802.11abgn Wireless Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] (SR71-A 802.11abgn Wireless Mini PCI Adapter) + + pci:v0000168Cd00000029* + ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter + + pci:v0000168Cd00000029sv00000777sd00004005* +- ID_MODEL_FROM_DATABASE=SR71-15 802.11an Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (SR71-15 802.11an Mini PCI Adapter) + + pci:v0000168Cd00000029sv00001186sd00003A7A* +- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A2) ++ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)) + + pci:v0000168Cd00000029sv00001186sd00003A7D* +- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A3) ++ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A3)) + + pci:v0000168Cd0000002A* + ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) + + pci:v0000168Cd0000002Asv00000777sd00004F05* +- ID_MODEL_FROM_DATABASE=SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]) + + pci:v0000168Cd0000002Asv0000103Csd00003041* +- ID_MODEL_FROM_DATABASE=AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) + + pci:v0000168Cd0000002Asv0000105Bsd0000E006* +- ID_MODEL_FROM_DATABASE=T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv0000105Bsd0000E01F* +- ID_MODEL_FROM_DATABASE=T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) + + pci:v0000168Cd0000002Asv0000106Bsd0000008F* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AirPort Extreme) + + pci:v0000168Cd0000002Asv000011ADsd00006600* +- ID_MODEL_FROM_DATABASE=WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv0000144Fsd00007141* +- ID_MODEL_FROM_DATABASE=WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv0000168Csd00000203* +- ID_MODEL_FROM_DATABASE=DW1525 802.11abgn WLAN PCIe Card [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (DW1525 802.11abgn WLAN PCIe Card [AR9280]) + + pci:v0000168Cd0000002Asv00001A32sd00000303* +- ID_MODEL_FROM_DATABASE=EM303 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM303 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv00001A32sd00000306* +- ID_MODEL_FROM_DATABASE=EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) + + pci:v0000168Cd0000002Asv00001A3Bsd00001067* +- ID_MODEL_FROM_DATABASE=AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281]) + + pci:v0000168Cd0000002Asv00001A3Bsd00001081* +- ID_MODEL_FROM_DATABASE=AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] ++ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) + + pci:v0000168Cd0000002B* + ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) + + pci:v0000168Cd0000002Bsv00001028sd00000204* +- ID_MODEL_FROM_DATABASE=Wireless 1502 802.11bgn Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1502 802.11bgn Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001028sd00000205* +- ID_MODEL_FROM_DATABASE=Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD] ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD]) + + pci:v0000168Cd0000002Bsv0000103Csd0000303F* +- ID_MODEL_FROM_DATABASE=U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000103Csd00003040* +- ID_MODEL_FROM_DATABASE=U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000105Bsd0000E017* +- ID_MODEL_FROM_DATABASE=T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000105Bsd0000E023* +- ID_MODEL_FROM_DATABASE=T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001113sd0000E811* +- ID_MODEL_FROM_DATABASE=WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv0000185Fsd000030AF* +- ID_MODEL_FROM_DATABASE=DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001931sd00000023* +- ID_MODEL_FROM_DATABASE=Option GTM67x PCIe WiFi Adapter ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Option GTM67x PCIe WiFi Adapter) + + pci:v0000168Cd0000002Bsv00001A3Bsd00001089* +- ID_MODEL_FROM_DATABASE=AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001A3Bsd00002C37* +- ID_MODEL_FROM_DATABASE=AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) + + pci:v0000168Cd0000002Bsv00001B9Asd00000401* +- ID_MODEL_FROM_DATABASE=XW204E 802.11bgn Wireless Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (XW204E 802.11bgn Wireless Half-size Mini PCIe Card) + + pci:v0000168Cd0000002Bsv00001B9Asd00000C03* +- ID_MODEL_FROM_DATABASE=WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) + + pci:v0000168Cd0000002C* + ID_MODEL_FROM_DATABASE=AR2427 802.11bg Wireless Network Adapter (PCI-Express) +@@ -49059,25 +49059,25 @@ pci:v0000168Cd00000030* + ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter + + pci:v0000168Cd00000030sv0000103Csd00001627* +- ID_MODEL_FROM_DATABASE=AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter) + + pci:v0000168Cd00000030sv0000106Bsd0000009A* +- ID_MODEL_FROM_DATABASE=AirPort Extreme ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AirPort Extreme) + + pci:v0000168Cd00000030sv00001186sd00003A7E* +- ID_MODEL_FROM_DATABASE=DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter) + + pci:v0000168Cd00000030sv00001A56sd00002000* +- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382] ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]) + + pci:v0000168Cd00000030sv00001A56sd00002001* +- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380] ++ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]) + + pci:v0000168Cd00000032* + ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter + + pci:v0000168Cd00000032sv0000103Csd00001838* +- ID_MODEL_FROM_DATABASE=AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter ++ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter) + + pci:v0000168Cd00000033* + ID_MODEL_FROM_DATABASE=AR9580 Wireless Network Adapter +@@ -49086,7 +49086,7 @@ pci:v0000168Cd00000034* + ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter + + pci:v0000168Cd00000034sv00001A56sd00002003* +- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1202 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter (Killer Wireless-N 1202 Half-size Mini PCIe Card) + + pci:v0000168Cd00000036* + ID_MODEL_FROM_DATABASE=QCA9565 / AR9565 Wireless Network Adapter +@@ -49095,7 +49095,7 @@ pci:v0000168Cd00000037* + ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter + + pci:v0000168Cd00000037sv00001A3Bsd00002100* +- ID_MODEL_FROM_DATABASE=AW-NB100H 802.11n Wireless Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AW-NB100H 802.11n Wireless Mini PCIe Card) + + pci:v0000168Cd0000003C* + ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter +@@ -49107,7 +49107,7 @@ pci:v0000168Cd00001014* + ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC + + pci:v0000168Cd00001014sv00001014sd0000058A* +- ID_MODEL_FROM_DATABASE=ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) ++ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)) + + pci:v0000168Cd00009013* + ID_MODEL_FROM_DATABASE=AR5002X Wireless Network Adapter +@@ -49125,7 +49125,7 @@ pci:v0000168Cd0000FF1D* + ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter + + pci:v0000168Cd0000FF1Dsv0000168Csd0000EE1C* +- ID_MODEL_FROM_DATABASE=AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3] ++ ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter (AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3]) + + pci:v00001695* + ID_VENDOR_FROM_DATABASE=EPoX Computer Co., Ltd. +@@ -49524,16 +49524,16 @@ pci:v00001737d00001032* + ID_MODEL_FROM_DATABASE=Gigabit Network Adapter + + pci:v00001737d00001032sv00001737sd00000015* +- ID_MODEL_FROM_DATABASE=EG1032 v2 Instant Gigabit Network Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v2 Instant Gigabit Network Adapter) + + pci:v00001737d00001032sv00001737sd00000024* +- ID_MODEL_FROM_DATABASE=EG1032 v3 Instant Gigabit Network Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v3 Instant Gigabit Network Adapter) + + pci:v00001737d00001064* + ID_MODEL_FROM_DATABASE=Gigabit Network Adapter + + pci:v00001737d00001064sv00001737sd00000016* +- ID_MODEL_FROM_DATABASE=EG1064 v2 Instant Gigabit Network Adapter ++ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1064 v2 Instant Gigabit Network Adapter) + + pci:v00001737d0000AB08* + ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet +@@ -49554,7 +49554,7 @@ pci:v0000173Bd000003EA* + ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet + + pci:v0000173Bd000003EAsv0000173Bsd00000001* +- ID_MODEL_FROM_DATABASE=AC1002 ++ ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet (AC1002) + + pci:v0000173Bd000003EB* + ID_MODEL_FROM_DATABASE=AC1003 Gigabit Ethernet +@@ -49851,19 +49851,19 @@ pci:v000017CBd00000001* + ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card + + pci:v000017CBd00000001sv00001385sd00005C00* +- ID_MODEL_FROM_DATABASE=WGM511 Pre-N 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WGM511 Pre-N 802.11g Wireless CardBus Adapter) + + pci:v000017CBd00000001sv00001737sd00000045* +- ID_MODEL_FROM_DATABASE=WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX ++ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX) + + pci:v000017CBd00000002* + ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card + + pci:v000017CBd00000002sv00001385sd00006D00* +- ID_MODEL_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter) + + pci:v000017CBd00000002sv00001737sd00000054* +- ID_MODEL_FROM_DATABASE=WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400 ++ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400) + + pci:v000017CC* + ID_VENDOR_FROM_DATABASE=NetChip Technology, Inc +@@ -49914,7 +49914,7 @@ pci:v000017D3d00001280* + ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller + + pci:v000017D3d00001280sv000017D3sd00001221* +- ID_MODEL_FROM_DATABASE=ARC-1221 8-Port PCI-Express to SATA RAID Controller ++ ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller (ARC-1221 8-Port PCI-Express to SATA RAID Controller) + + pci:v000017D3d00001300* + ID_MODEL_FROM_DATABASE=ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter +@@ -49923,7 +49923,7 @@ pci:v000017D3d00001680* + ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller + + pci:v000017D3d00001680sv000017D3sd00001212* +- ID_MODEL_FROM_DATABASE=ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller ++ ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller (ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller) + + pci:v000017D3d00001880* + ID_MODEL_FROM_DATABASE=ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller +@@ -49941,82 +49941,82 @@ pci:v000017D5d00005831* + ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X + + pci:v000017D5d00005831sv0000103Csd000012D5* +- ID_MODEL_FROM_DATABASE=PCI-X 133MHz 10GbE SR Fiber ++ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (PCI-X 133MHz 10GbE SR Fiber) + + pci:v000017D5d00005831sv000010A9sd00008020* +- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) ++ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) + + pci:v000017D5d00005831sv000010A9sd00008024* +- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) ++ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) + + pci:v000017D5d00005832* + ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 + + pci:v000017D5d00005832sv0000103Csd00001337* +- ID_MODEL_FROM_DATABASE=PCI-X 266MHz 10GigE SR [AD385A] ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (PCI-X 266MHz 10GigE SR [AD385A]) + + pci:v000017D5d00005832sv000010A9sd00008021* +- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet II (PCI-X, Fiber) ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Single Port 10-Gigabit Ethernet II (PCI-X, Fiber)) + + pci:v000017D5d00005832sv000017D5sd00006020* +- ID_MODEL_FROM_DATABASE=Xframe II SR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR) + + pci:v000017D5d00005832sv000017D5sd00006021* +- ID_MODEL_FROM_DATABASE=Xframe II SR, Low Profile ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR, Low Profile) + + pci:v000017D5d00005832sv000017D5sd00006022* +- ID_MODEL_FROM_DATABASE=Xframe E SR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E SR) + + pci:v000017D5d00005832sv000017D5sd00006420* +- ID_MODEL_FROM_DATABASE=Xframe II LR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR) + + pci:v000017D5d00005832sv000017D5sd00006421* +- ID_MODEL_FROM_DATABASE=Xframe II LR, Low Profile ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR, Low Profile) + + pci:v000017D5d00005832sv000017D5sd00006422* +- ID_MODEL_FROM_DATABASE=Xframe E LR ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E LR) + + pci:v000017D5d00005832sv000017D5sd00006C20* +- ID_MODEL_FROM_DATABASE=Xframe II CX4 ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4) + + pci:v000017D5d00005832sv000017D5sd00006C21* +- ID_MODEL_FROM_DATABASE=Xframe II CX4, Low Profile ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4, Low Profile) + + pci:v000017D5d00005832sv000017D5sd00006C22* +- ID_MODEL_FROM_DATABASE=Xframe E CX4 ++ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E CX4) + + pci:v000017D5d00005833* + ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe + + pci:v000017D5d00005833sv000017D5sd00006030* +- ID_MODEL_FROM_DATABASE=X3110 Single Port SR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port SR) + + pci:v000017D5d00005833sv000017D5sd00006031* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port SR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port SR) + + pci:v000017D5d00005833sv000017D5sd00006430* +- ID_MODEL_FROM_DATABASE=X3110 Single Port LR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LR) + + pci:v000017D5d00005833sv000017D5sd00006431* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port LR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LR) + + pci:v000017D5d00005833sv000017D5sd00007030* +- ID_MODEL_FROM_DATABASE=X3110 Single Port LRM ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LRM) + + pci:v000017D5d00005833sv000017D5sd00007031* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port LRM ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LRM) + + pci:v000017D5d00005833sv000017D5sd00007430* +- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-T ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-T) + + pci:v000017D5d00005833sv000017D5sd00007431* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-T ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-T) + + pci:v000017D5d00005833sv000017D5sd00007830* +- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-CR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-CR) + + pci:v000017D5d00005833sv000017D5sd00007831* +- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-CR ++ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-CR) + + pci:v000017DB* + ID_VENDOR_FROM_DATABASE=Cray Inc +@@ -50103,16 +50103,16 @@ pci:v000017FEd00002120* + ID_MODEL_FROM_DATABASE=IPN 2120 802.11b + + pci:v000017FEd00002120sv00001737sd00000020* +- ID_MODEL_FROM_DATABASE=WMP11 v4 802.11b Wireless-B PCI Adapter ++ ID_MODEL_FROM_DATABASE=IPN 2120 802.11b (WMP11 v4 802.11b Wireless-B PCI Adapter) + + pci:v000017FEd00002220* + ID_MODEL_FROM_DATABASE=IPN 2220 802.11g + + pci:v000017FEd00002220sv00001468sd00000305* +- ID_MODEL_FROM_DATABASE=T60N871 802.11g Mini PCI Wireless Adapter ++ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (T60N871 802.11g Mini PCI Wireless Adapter) + + pci:v000017FEd00002220sv00001737sd00000029* +- ID_MODEL_FROM_DATABASE=WPC54G v4 802.11g Wireless-G Notebook Adapter ++ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (WPC54G v4 802.11g Wireless-G Notebook Adapter) + + pci:v000017FF* + ID_VENDOR_FROM_DATABASE=Benq Corporation +@@ -50133,13 +50133,13 @@ pci:v00001813d00004000* + ID_MODEL_FROM_DATABASE=HaM controllerless modem + + pci:v00001813d00004000sv000016BEsd00000001* +- ID_MODEL_FROM_DATABASE=V9x HAM Data Fax Modem ++ ID_MODEL_FROM_DATABASE=HaM controllerless modem (V9x HAM Data Fax Modem) + + pci:v00001813d00004100* + ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem + + pci:v00001813d00004100sv000016BEsd00000002* +- ID_MODEL_FROM_DATABASE=V9x HAM 1394 ++ ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem (V9x HAM 1394) + + pci:v00001814* + ID_VENDOR_FROM_DATABASE=Ralink corp. +@@ -50148,13 +50148,13 @@ pci:v00001814d00000101* + ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 + + pci:v00001814d00000101sv00001043sd00000127* +- ID_MODEL_FROM_DATABASE=WiFi-b add-on Card ++ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (WiFi-b add-on Card) + + pci:v00001814d00000101sv00001371sd00000010* +- ID_MODEL_FROM_DATABASE=Minitar MNW2BPCI Wireless PCI Card ++ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (Minitar MNW2BPCI Wireless PCI Card) + + pci:v00001814d00000101sv00001462sd00006828* +- ID_MODEL_FROM_DATABASE=PC11B2 (MS-6828) Wireless 11b PCI Card ++ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (PC11B2 (MS-6828) Wireless 11b PCI Card) + + pci:v00001814d00000200* + ID_MODEL_FROM_DATABASE=RT2500 802.11g PCI [PC54G2] +@@ -50163,58 +50163,58 @@ pci:v00001814d00000201* + ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg + + pci:v00001814d00000201sv00001043sd0000130F* +- ID_MODEL_FROM_DATABASE=WL-130g ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-130g) + + pci:v00001814d00000201sv00001186sd00003C00* +- ID_MODEL_FROM_DATABASE=DWL-G650X Wireless 11g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (DWL-G650X Wireless 11g CardBus Adapter) + + pci:v00001814d00000201sv00001371sd0000001E* +- ID_MODEL_FROM_DATABASE=CWC-854 Wireless-G CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWC-854 Wireless-G CardBus Adapter) + + pci:v00001814d00000201sv00001371sd0000001F* +- ID_MODEL_FROM_DATABASE=CWM-854 Wireless-G Mini PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWM-854 Wireless-G Mini PCI Adapter) + + pci:v00001814d00000201sv00001371sd00000020* +- ID_MODEL_FROM_DATABASE=CWP-854 Wireless-G PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWP-854 Wireless-G PCI Adapter) + + pci:v00001814d00000201sv00001458sd0000E381* +- ID_MODEL_FROM_DATABASE=GN-WMKG 802.11b/g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WMKG 802.11b/g Wireless CardBus Adapter) + + pci:v00001814d00000201sv00001458sd0000E931* +- ID_MODEL_FROM_DATABASE=GN-WIKG 802.11b/g mini-PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WIKG 802.11b/g mini-PCI Adapter) + + pci:v00001814d00000201sv00001462sd00006833* +- ID_MODEL_FROM_DATABASE=Unknown 802.11g mini-PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Unknown 802.11g mini-PCI Adapter) + + pci:v00001814d00000201sv00001462sd00006835* +- ID_MODEL_FROM_DATABASE=Wireless 11G CardBus CB54G2 ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Wireless 11G CardBus CB54G2) + + pci:v00001814d00000201sv00001737sd00000032* +- ID_MODEL_FROM_DATABASE=WMP54G v4.0 PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WMP54G v4.0 PCI Adapter) + + pci:v00001814d00000201sv00001799sd0000700A* +- ID_MODEL_FROM_DATABASE=F5D7000 v2000/v3000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7000 v2000/v3000 Wireless G Desktop Card) + + pci:v00001814d00000201sv00001799sd0000701A* +- ID_MODEL_FROM_DATABASE=F5D7010 v2000/v3000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7010 v2000/v3000 Wireless G Notebook Card) + + pci:v00001814d00000201sv00001814sd00002560* + ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg + + pci:v00001814d00000201sv0000182Dsd00009073* +- ID_MODEL_FROM_DATABASE=WL-115 Wireless Network PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-115 Wireless Network PCI Adapter) + + pci:v00001814d00000201sv0000185Fsd000022A0* +- ID_MODEL_FROM_DATABASE=CN-WF513 Wireless Cardbus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CN-WF513 Wireless Cardbus Adapter) + + pci:v00001814d00000201sv000018EBsd00005312* +- ID_MODEL_FROM_DATABASE=WL531P IEEE 802.11g PCI Card-EU ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL531P IEEE 802.11g PCI Card-EU) + + pci:v00001814d00000201sv00001948sd00003C00* +- ID_MODEL_FROM_DATABASE=C54RC v1 Wireless 11g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54RC v1 Wireless 11g CardBus Adapter) + + pci:v00001814d00000201sv00001948sd00003C01* +- ID_MODEL_FROM_DATABASE=C54Ri v1 Wireless 11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54Ri v1 Wireless 11g PCI Adapter) + + pci:v00001814d00000300* + ID_MODEL_FROM_DATABASE=Wireless Adapter Canyon CN-WF511 +@@ -50223,88 +50223,88 @@ pci:v00001814d00000301* + ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI + + pci:v00001814d00000301sv00001186sd00003C08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1) ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1)) + + pci:v00001814d00000301sv00001186sd00003C09* +- ID_MODEL_FROM_DATABASE=DWL-G510 Rev C ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (DWL-G510 Rev C) + + pci:v00001814d00000301sv000013D1sd0000ABE3* +- ID_MODEL_FROM_DATABASE=miniPCI Pluscom 802.11 a/b/g ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (miniPCI Pluscom 802.11 a/b/g) + + pci:v00001814d00000301sv00001458sd0000E933* +- ID_MODEL_FROM_DATABASE=GN-WI01GS ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WI01GS) + + pci:v00001814d00000301sv00001458sd0000E934* +- ID_MODEL_FROM_DATABASE=GN-WP01GS ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WP01GS) + + pci:v00001814d00000301sv00001737sd00000055* +- ID_MODEL_FROM_DATABASE=WMP54G v4.1 ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (WMP54G v4.1) + + pci:v00001814d00000301sv00001799sd0000700E* +- ID_MODEL_FROM_DATABASE=F5D7000 v6000 Wireless G Desktop Card ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7000 v6000 Wireless G Desktop Card) + + pci:v00001814d00000301sv00001799sd0000701E* +- ID_MODEL_FROM_DATABASE=F5D7010 v6000 Wireless G Notebook Card ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7010 v6000 Wireless G Notebook Card) + + pci:v00001814d00000301sv000017F9sd00000012* +- ID_MODEL_FROM_DATABASE=AWLC3026T 802.11g Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AWLC3026T 802.11g Wireless CardBus Adapter) + + pci:v00001814d00000301sv00001814sd00002561* +- ID_MODEL_FROM_DATABASE=EW-7108PCg/EW-7128g ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (EW-7108PCg/EW-7128g) + + pci:v00001814d00000302* + ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g + + pci:v00001814d00000302sv00001186sd00003A71* +- ID_MODEL_FROM_DATABASE=DWA-510 Wireless G Desktop Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (DWA-510 Wireless G Desktop Adapter) + + pci:v00001814d00000302sv00001186sd00003C08* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2) ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2)) + + pci:v00001814d00000302sv00001186sd00003C09* +- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless Network Adapter (Rev.C) ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G510 Wireless Network Adapter (Rev.C)) + + pci:v00001814d00000302sv00001462sd0000B834* +- ID_MODEL_FROM_DATABASE=PC54G3 Wireless 11g PCI Card ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (PC54G3 Wireless 11g PCI Card) + + pci:v00001814d00000302sv00001948sd00003C23* +- ID_MODEL_FROM_DATABASE=C54RC v2 Wireless 11g CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54RC v2 Wireless 11g CardBus Adapter) + + pci:v00001814d00000302sv00001948sd00003C24* +- ID_MODEL_FROM_DATABASE=C54Ri v2 Wireless 11g PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54Ri v2 Wireless 11g PCI Adapter) + + pci:v00001814d00000401* + ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO + + pci:v00001814d00000401sv00001737sd00000052* +- ID_MODEL_FROM_DATABASE=WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster ++ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster) + + pci:v00001814d00000401sv000017F9sd00000011* +- ID_MODEL_FROM_DATABASE=WPCR-137G 802.11bg Wireless CardBus Adapter ++ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPCR-137G 802.11bg Wireless CardBus Adapter) + + pci:v00001814d00000401sv000017F9sd00000016* +- ID_MODEL_FROM_DATABASE=WPIR-119GH 802.11bg Wireless Desktop Adapter ++ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPIR-119GH 802.11bg Wireless Desktop Adapter) + + pci:v00001814d00000601* + ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI + + pci:v00001814d00000601sv00001799sd0000801C* +- ID_MODEL_FROM_DATABASE=F5D8011 v3 802.11n N1 Wireless Notebook Card ++ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (F5D8011 v3 802.11n N1 Wireless Notebook Card) + + pci:v00001814d00000601sv0000187Esd00003412* +- ID_MODEL_FROM_DATABASE=NWD-310N 802.11n Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (NWD-310N 802.11n Wireless PCI Adapter) + + pci:v00001814d00000681* + ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe + + pci:v00001814d00000681sv00001458sd0000E939* +- ID_MODEL_FROM_DATABASE=GN-WS30N-RH 802.11bgn Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe (GN-WS30N-RH 802.11bgn Mini PCIe Card) + + pci:v00001814d00000701* + ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R + + pci:v00001814d00000701sv00001737sd00000074* +- ID_MODEL_FROM_DATABASE=WMP110 v2 802.11n RangePlus Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R (WMP110 v2 802.11n RangePlus Wireless PCI Adapter) + + pci:v00001814d00000781* + ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe +@@ -50313,7 +50313,7 @@ pci:v00001814d00003060* + ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R + + pci:v00001814d00003060sv00001186sd00003C04* +- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A1) ++ ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A1)) + + pci:v00001814d00003062* + ID_MODEL_FROM_DATABASE=RT3062 Wireless 802.11n 2T/2R +@@ -50322,7 +50322,7 @@ pci:v00001814d00003090* + ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe + + pci:v00001814d00003090sv000013BDsd00001057* +- ID_MODEL_FROM_DATABASE=GN-WS32L-RH Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe (GN-WS32L-RH Half-size Mini PCIe Card) + + pci:v00001814d00003091* + ID_MODEL_FROM_DATABASE=RT3091 Wireless 802.11n 1T/2R PCIe +@@ -50334,13 +50334,13 @@ pci:v00001814d00003290* + ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe + + pci:v00001814d00003290sv0000103Csd000018EC* +- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter ++ ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) + + pci:v00001814d00003298* + ID_MODEL_FROM_DATABASE=RT3290 Bluetooth + + pci:v00001814d00003298sv0000103Csd000018EC* +- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter ++ ID_MODEL_FROM_DATABASE=RT3290 Bluetooth (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) + + pci:v00001814d00003592* + ID_MODEL_FROM_DATABASE=RT3592 Wireless 802.11abgn 2T/2R PCIe +@@ -50352,16 +50352,16 @@ pci:v00001814d00005360* + ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R + + pci:v00001814d00005360sv00001186sd00003C05* +- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A2) ++ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A2)) + + pci:v00001814d00005360sv000020F4sd0000703A* +- ID_MODEL_FROM_DATABASE=TEW-703PI N150 Wireless PCI Adapter ++ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (TEW-703PI N150 Wireless PCI Adapter) + + pci:v00001814d00005390* + ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe + + pci:v00001814d00005390sv0000103Csd00001636* +- ID_MODEL_FROM_DATABASE=U98Z077.00 Half-size Mini PCIe Card ++ ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe (U98Z077.00 Half-size Mini PCIe Card) + + pci:v00001814d00005392* + ID_MODEL_FROM_DATABASE=RT5392 PCIe Wireless Network Adapter +@@ -50370,7 +50370,7 @@ pci:v00001814d0000539F* + ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] + + pci:v00001814d0000539Fsv0000103Csd00001637* +- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card ++ ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] (Pavilion DM1Z-3000 PCIe wireless card) + + pci:v00001814d00005592* + ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter +@@ -50637,7 +50637,7 @@ pci:v000018C3d00000720* + ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller + + pci:v000018C3d00000720sv000007CAsd0000032E* +- ID_MODEL_FROM_DATABASE=Hybrid M779 PCI-E ++ ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller (Hybrid M779 PCI-E) + + pci:v000018C8* + ID_VENDOR_FROM_DATABASE=Cray Inc +@@ -50697,70 +50697,70 @@ pci:v000018ECd00006D05* + ID_MODEL_FROM_DATABASE=ML555 + + pci:v000018ECd00006D05sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=ML555 (NIC (ethernet interfaces)) + + pci:v000018ECd00006D05sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 4x1G) + + pci:v000018ECd00006D05sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 2x10G) + + pci:v000018ECd00006D05sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd00006D05sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd00006D05sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=ML555 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd00006D05sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=ML555 (Testing design) + + pci:v000018ECd00006D05sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=ML555 (Boot design) + + pci:v000018ECd0000C006* + ID_MODEL_FROM_DATABASE=COMBO6 + + pci:v000018ECd0000C006sv000018ECsd0000D001* +- ID_MODEL_FROM_DATABASE=COMBO-4MTX ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4MTX) + + pci:v000018ECd0000C006sv000018ECsd0000D002* +- ID_MODEL_FROM_DATABASE=COMBO-4SFP ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFP) + + pci:v000018ECd0000C006sv000018ECsd0000D003* +- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFPRO) + + pci:v000018ECd0000C006sv000018ECsd0000D004* +- ID_MODEL_FROM_DATABASE=COMBO-2XFP ++ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-2XFP) + + pci:v000018ECd0000C032* + ID_MODEL_FROM_DATABASE=COMBO-LXT110 + + pci:v000018ECd0000C032sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (ethernet interfaces)) + + pci:v000018ECd0000C032sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 4x1G) + + pci:v000018ECd0000C032sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 2x10G) + + pci:v000018ECd0000C032sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd0000C032sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd0000C032sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd0000C032sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Testing design) + + pci:v000018ECd0000C032sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Boot design) + + pci:v000018ECd0000C045* + ID_MODEL_FROM_DATABASE=COMBO6E +@@ -50772,70 +50772,70 @@ pci:v000018ECd0000C058* + ID_MODEL_FROM_DATABASE=COMBO6X + + pci:v000018ECd0000C058sv000018ECsd0000D001* +- ID_MODEL_FROM_DATABASE=COMBO-4MTX ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4MTX) + + pci:v000018ECd0000C058sv000018ECsd0000D002* +- ID_MODEL_FROM_DATABASE=COMBO-4SFP ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFP) + + pci:v000018ECd0000C058sv000018ECsd0000D003* +- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFPRO) + + pci:v000018ECd0000C058sv000018ECsd0000D004* +- ID_MODEL_FROM_DATABASE=COMBO-2XFP ++ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-2XFP) + + pci:v000018ECd0000C132* + ID_MODEL_FROM_DATABASE=COMBO-LXT155 + + pci:v000018ECd0000C132sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (ethernet interfaces)) + + pci:v000018ECd0000C132sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 4x1G) + + pci:v000018ECd0000C132sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 2x10G) + + pci:v000018ECd0000C132sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd0000C132sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd0000C132sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd0000C132sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Testing design) + + pci:v000018ECd0000C132sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Boot design) + + pci:v000018ECd0000C232* + ID_MODEL_FROM_DATABASE=COMBO-FXT100 + + pci:v000018ECd0000C232sv000018ECsd00000100* +- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (ethernet interfaces)) + + pci:v000018ECd0000C232sv000018ECsd00000200* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 4x1G) + + pci:v000018ECd0000C232sv000018ECsd00000201* +- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 2x10G) + + pci:v000018ECd0000C232sv000018ECsd00000300* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 4x1G) + + pci:v000018ECd0000C232sv000018ECsd00000302* +- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 2x10G) + + pci:v000018ECd0000C232sv000018ECsd00004200* +- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Flexible FlowMon (szedata2) 1x10G) + + pci:v000018ECd0000C232sv000018ECsd0000FF00* +- ID_MODEL_FROM_DATABASE=Testing design ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Testing design) + + pci:v000018ECd0000C232sv000018ECsd0000FF01* +- ID_MODEL_FROM_DATABASE=Boot design ++ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Boot design) + + pci:v000018EE* + ID_VENDOR_FROM_DATABASE=Chenming Mold Ind. Corp. +@@ -51075,235 +51075,235 @@ pci:v00001924d00000703* + ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] + + pci:v00001924d00000703sv000010B8sd00000102* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) + + pci:v00001924d00000703sv000010B8sd00000103* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) + + pci:v00001924d00000703sv000010B8sd00000201* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) + + pci:v00001924d00000703sv00001924sd00000101* +- ID_MODEL_FROM_DATABASE=SFE4001-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A1) + + pci:v00001924d00000703sv00001924sd00000102* +- ID_MODEL_FROM_DATABASE=SFE4001-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A2) + + pci:v00001924d00000703sv00001924sd00000103* +- ID_MODEL_FROM_DATABASE=SFE4001-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A3) + + pci:v00001924d00000703sv00001924sd00000201* +- ID_MODEL_FROM_DATABASE=SFE4002-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4002-A1) + + pci:v00001924d00000703sv00001924sd00000301* +- ID_MODEL_FROM_DATABASE=SFE4003-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A1) + + pci:v00001924d00000703sv00001924sd00000302* +- ID_MODEL_FROM_DATABASE=SFE4003-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A2) + + pci:v00001924d00000703sv00001924sd00000303* +- ID_MODEL_FROM_DATABASE=SFE4003-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A3) + + pci:v00001924d00000703sv00001924sd00000304* +- ID_MODEL_FROM_DATABASE=SFE4003-A4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A4) + + pci:v00001924d00000703sv00001924sd00000500* +- ID_MODEL_FROM_DATABASE=SFE4005-A0 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4005-A0) + + pci:v00001924d00000710* + ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] + + pci:v00001924d00000710sv000010B8sd00000103* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) + + pci:v00001924d00000710sv000010B8sd00000201* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) + + pci:v00001924d00000710sv00001924sd00000102* +- ID_MODEL_FROM_DATABASE=SFE4001-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A2) + + pci:v00001924d00000710sv00001924sd00000103* +- ID_MODEL_FROM_DATABASE=SFE4001-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A3) + + pci:v00001924d00000710sv00001924sd00000201* +- ID_MODEL_FROM_DATABASE=SFE4002-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4002-A1) + + pci:v00001924d00000710sv00001924sd00000302* +- ID_MODEL_FROM_DATABASE=SFE4003-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A2) + + pci:v00001924d00000710sv00001924sd00000303* +- ID_MODEL_FROM_DATABASE=SFE4003-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A3) + + pci:v00001924d00000710sv00001924sd00000304* +- ID_MODEL_FROM_DATABASE=SFE4003-A4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A4) + + pci:v00001924d00000710sv00001924sd00000500* +- ID_MODEL_FROM_DATABASE=SFE4005-A0 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4005-A0) + + pci:v00001924d00000710sv00001924sd00005102* +- ID_MODEL_FROM_DATABASE=SFN4111T-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-A2) + + pci:v00001924d00000710sv00001924sd00005103* +- ID_MODEL_FROM_DATABASE=SFN4111T-R3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R3) + + pci:v00001924d00000710sv00001924sd00005104* +- ID_MODEL_FROM_DATABASE=SFN4111T-R4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R4) + + pci:v00001924d00000710sv00001924sd00005105* +- ID_MODEL_FROM_DATABASE=SFN4111T-R5 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R5) + + pci:v00001924d00000710sv00001924sd00005201* +- ID_MODEL_FROM_DATABASE=SFN4112F-R1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R1) + + pci:v00001924d00000710sv00001924sd00005202* +- ID_MODEL_FROM_DATABASE=SFN4112F-R2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R2) + + pci:v00001924d00000803* + ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] + + pci:v00001924d00000803sv00001014sd00000478* +- ID_MODEL_FROM_DATABASE=2-port 10GbE Low-Latency (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE Low-Latency (R7)) + + pci:v00001924d00000803sv00001014sd00000479* +- ID_MODEL_FROM_DATABASE=2-port 10GbE OpenOnload (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE OpenOnload (R7)) + + pci:v00001924d00000803sv00001014sd000004A7* +- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Low-latency Dual-port HBA (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Low-latency Dual-port HBA (R7)) + + pci:v00001924d00000803sv00001014sd000004A8* +- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Dual-port HBA (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Dual-port HBA (R7)) + + pci:v00001924d00000803sv0000103Csd00002132* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1)) + + pci:v00001924d00000803sv0000103Csd00002136* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570SFP+ Adapter (R7) ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570SFP+ Adapter (R7)) + + pci:v00001924d00000803sv00001924sd00001201* +- ID_MODEL_FROM_DATABASE=SFA6902F-R1 SFP+ AOE Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFA6902F-R1 SFP+ AOE Adapter) + + pci:v00001924d00000803sv00001924sd00006200* +- ID_MODEL_FROM_DATABASE=SFN5122F-R0 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R0 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006201* +- ID_MODEL_FROM_DATABASE=SFN5122F-R1 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R1 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006202* +- ID_MODEL_FROM_DATABASE=SFN5122F-R2 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R2 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006204* +- ID_MODEL_FROM_DATABASE=SFN5122F-R4 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R4 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006205* +- ID_MODEL_FROM_DATABASE=SFN5122F-R5 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R5 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006206* +- ID_MODEL_FROM_DATABASE=SFN5122F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006207* +- ID_MODEL_FROM_DATABASE=SFN5122F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R7 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006210* +- ID_MODEL_FROM_DATABASE=SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006211* +- ID_MODEL_FROM_DATABASE=SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006217* +- ID_MODEL_FROM_DATABASE=SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006227* +- ID_MODEL_FROM_DATABASE=SFN6122F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6122F-R7 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006237* +- ID_MODEL_FROM_DATABASE=SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter) + + pci:v00001924d00000803sv00001924sd00006501* +- ID_MODEL_FROM_DATABASE=SFN5802K-R1 Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5802K-R1 Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006511* +- ID_MODEL_FROM_DATABASE=SFN5814H-R1 Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5814H-R1 Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006521* +- ID_MODEL_FROM_DATABASE=SFN5812H-R1 Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5812H-R1 Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006562* +- ID_MODEL_FROM_DATABASE=SFN6832F-R2 SFP+ Mezzanine Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6832F-R2 SFP+ Mezzanine Adapter) + + pci:v00001924d00000803sv00001924sd00006A05* +- ID_MODEL_FROM_DATABASE=SFN5112F-R5 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R5 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00006A06* +- ID_MODEL_FROM_DATABASE=SFN5112F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007206* +- ID_MODEL_FROM_DATABASE=SFN5162F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007207* +- ID_MODEL_FROM_DATABASE=SFN5162F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R7 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007A06* +- ID_MODEL_FROM_DATABASE=SFN5152F-R6 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R6 SFP+ Server Adapter) + + pci:v00001924d00000803sv00001924sd00007A07* +- ID_MODEL_FROM_DATABASE=SFN5152F-R7 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R7 SFP+ Server Adapter) + + pci:v00001924d00000813* + ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] + + pci:v00001924d00000813sv00001924sd00006100* +- ID_MODEL_FROM_DATABASE=SFN5121T-R0 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R0 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006102* +- ID_MODEL_FROM_DATABASE=SFN5121T-R2 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R2 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006103* +- ID_MODEL_FROM_DATABASE=SFN5121T-R3 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R3 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006104* +- ID_MODEL_FROM_DATABASE=SFN5121T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006902* +- ID_MODEL_FROM_DATABASE=SFN5111T-R2 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R2 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00006904* +- ID_MODEL_FROM_DATABASE=SFN5111T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00007104* +- ID_MODEL_FROM_DATABASE=SFN5161T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5161T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000813sv00001924sd00007904* +- ID_MODEL_FROM_DATABASE=SFN5151T-R4 10GBASE-T Server Adapter ++ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5151T-R4 10GBASE-T Server Adapter) + + pci:v00001924d00000903* + ID_MODEL_FROM_DATABASE=SFC9120 + + pci:v00001924d00000903sv00001014sd000004CC* +- ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R2 2x10GbE SFP+ Flareon Ultra) + + pci:v00001924d00000903sv00001924sd00008002* +- ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R1 SFP+ Server Adapter) + + pci:v00001924d00000903sv00001924sd00008003* +- ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) + + pci:v00001924d00000903sv00001924sd00008006* +- ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7022F-R1 SFP+ Server Adapter) + + pci:v00001924d00000903sv00001924sd00008007* +- ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7322F-R2 Precision Time SFP+ Server Adapter) + + pci:v00001924d00000903sv00001924sd00008009* +- ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter) + + pci:v00001924d00000903sv00001924sd0000800A* +- ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter) + + pci:v00001924d00000923* + ID_MODEL_FROM_DATABASE=SFC9140 + + pci:v00001924d00000923sv00001924sd0000800B* +- ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter ++ ID_MODEL_FROM_DATABASE=SFC9140 (SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) + + pci:v00001924d00001803* + ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] +@@ -51315,40 +51315,40 @@ pci:v00001924d00006703* + ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] + + pci:v00001924d00006703sv000010B8sd00000102* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) + + pci:v00001924d00006703sv000010B8sd00000103* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) + + pci:v00001924d00006703sv000010B8sd00000201* +- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) + + pci:v00001924d00006703sv00001924sd00000101* +- ID_MODEL_FROM_DATABASE=SFE4001-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A1) + + pci:v00001924d00006703sv00001924sd00000102* +- ID_MODEL_FROM_DATABASE=SFE4001-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A2) + + pci:v00001924d00006703sv00001924sd00000103* +- ID_MODEL_FROM_DATABASE=SFE4001-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A3) + + pci:v00001924d00006703sv00001924sd00000201* +- ID_MODEL_FROM_DATABASE=SFE4002-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4002-A1) + + pci:v00001924d00006703sv00001924sd00000301* +- ID_MODEL_FROM_DATABASE=SFE4003-A1 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A1) + + pci:v00001924d00006703sv00001924sd00000302* +- ID_MODEL_FROM_DATABASE=SFE4003-A2 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A2) + + pci:v00001924d00006703sv00001924sd00000303* +- ID_MODEL_FROM_DATABASE=SFE4003-A3 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A3) + + pci:v00001924d00006703sv00001924sd00000304* +- ID_MODEL_FROM_DATABASE=SFE4003-A4 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A4) + + pci:v00001924d00006703sv00001924sd00000500* +- ID_MODEL_FROM_DATABASE=SFE4005-A0 ++ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4005-A0) + + pci:v00001924d0000C101* + ID_MODEL_FROM_DATABASE=EF1-21022T [EtherFabric] +@@ -51549,13 +51549,13 @@ pci:v00001957d00000084* + ID_MODEL_FROM_DATABASE=MPC8347E PBGA + + pci:v00001957d00000084sv0000110Asd00004074* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 ++ ID_MODEL_FROM_DATABASE=MPC8347E PBGA (SIMATIC NET CP 1628) + + pci:v00001957d00000085* + ID_MODEL_FROM_DATABASE=MPC8347 PBGA + + pci:v00001957d00000085sv0000110Asd00004046* +- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 ++ ID_MODEL_FROM_DATABASE=MPC8347 PBGA (SIMATIC NET CP 1623) + + pci:v00001957d00000086* + ID_MODEL_FROM_DATABASE=MPC8343E +@@ -51570,7 +51570,7 @@ pci:v00001957d000000B6* + ID_MODEL_FROM_DATABASE=MPC8314E + + pci:v00001957d000000B6sv00001A56sd00001101* +- ID_MODEL_FROM_DATABASE=Killer Xeno Pro Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=MPC8314E (Killer Xeno Pro Gigabit Ethernet Controller) + + pci:v00001957d000000C2* + ID_MODEL_FROM_DATABASE=MPC8379E +@@ -51621,7 +51621,7 @@ pci:v00001957d00000111* + ID_MODEL_FROM_DATABASE=P1022 + + pci:v00001957d00000111sv00001C7Fsd00005200* +- ID_MODEL_FROM_DATABASE=EB5200 ++ ID_MODEL_FROM_DATABASE=P1022 (EB5200) + + pci:v00001957d00000118* + ID_MODEL_FROM_DATABASE=P1013E +@@ -51660,7 +51660,7 @@ pci:v00001957d0000C006* + ID_MODEL_FROM_DATABASE=MPC8308 + + pci:v00001957d0000C006sv00001A56sd00001201* +- ID_MODEL_FROM_DATABASE=Killer E2100 Gigabit Ethernet Controller ++ ID_MODEL_FROM_DATABASE=MPC8308 (Killer E2100 Gigabit Ethernet Controller) + + pci:v00001958* + ID_VENDOR_FROM_DATABASE=Faster Technology, LLC. +@@ -51726,13 +51726,13 @@ pci:v00001969d00001026* + ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet + + pci:v00001969d00001026sv00001043sd00008304* +- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard ++ ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (P5KPL-CM Motherboard) + + pci:v00001969d00001048* + ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet + + pci:v00001969d00001048sv00001043sd00008226* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet (P5KPL-VM Motherboard) + + pci:v00001969d00001062* + ID_MODEL_FROM_DATABASE=AR8132 Fast Ethernet +@@ -51741,7 +51741,7 @@ pci:v00001969d00001063* + ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet + + pci:v00001969d00001063sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=GA-G31M-ES2L Motherboard ++ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) + + pci:v00001969d00001066* + ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet +@@ -51762,7 +51762,7 @@ pci:v00001969d00001091* + ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet + + pci:v00001969d00001091sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet (N56VZ) + + pci:v00001969d000010A0* + ID_MODEL_FROM_DATABASE=QCA8172 Fast Ethernet +@@ -51804,7 +51804,7 @@ pci:v00001971d00001011* + ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] + + pci:v00001971d00001011sv00001043sd00000001* +- ID_MODEL_FROM_DATABASE=PhysX P1 ++ ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] (PhysX P1) + + pci:v00001974* + ID_VENDOR_FROM_DATABASE=Eberspaecher Electronics +@@ -51834,25 +51834,25 @@ pci:v0000197Bd00002361* + ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE + + pci:v0000197Bd00002361sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE (P965 Neo MS-7235 mainboard) + + pci:v0000197Bd00002362* + ID_MODEL_FROM_DATABASE=JMB362 SATA Controller + + pci:v0000197Bd00002362sv00001043sd00008460* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=JMB362 SATA Controller (P8P67 Deluxe Motherboard) + + pci:v0000197Bd00002363* + ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller + + pci:v0000197Bd00002363sv00001043sd000081E4* +- ID_MODEL_FROM_DATABASE=P5B [JMB363] ++ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (P5B [JMB363]) + + pci:v0000197Bd00002363sv00001458sd0000B000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard) + + pci:v0000197Bd00002363sv00001849sd00002363* +- ID_MODEL_FROM_DATABASE=Motherboard (one of many) ++ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard (one of many)) + + pci:v0000197Bd00002364* + ID_MODEL_FROM_DATABASE=JMB364 AHCI Controller +@@ -51984,19 +51984,19 @@ pci:v000019A2d00000700* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC + + pci:v000019A2d00000700sv0000103Csd00001747* +- ID_MODEL_FROM_DATABASE=NC550SFP DualPort 10GbE Server Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP DualPort 10GbE Server Adapter) + + pci:v000019A2d00000700sv0000103Csd00001749* +- ID_MODEL_FROM_DATABASE=NC550SFP Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP Dual Port Server Adapter) + + pci:v000019A2d00000700sv0000103Csd0000174A* +- ID_MODEL_FROM_DATABASE=NC551m Dual Port FlexFabric 10Gb Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551m Dual Port FlexFabric 10Gb Adapter) + + pci:v000019A2d00000700sv0000103Csd0000174B* +- ID_MODEL_FROM_DATABASE=StorageWorks NC550 DualPort Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (StorageWorks NC550 DualPort Converged Network Adapter) + + pci:v000019A2d00000700sv0000103Csd00003314* +- ID_MODEL_FROM_DATABASE=NC551i Dual Port FlexFabric 10Gb Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551i Dual Port FlexFabric 10Gb Adapter) + + pci:v000019A2d00000702* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator +@@ -52008,19 +52008,19 @@ pci:v000019A2d00000710* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) + + pci:v000019A2d00000710sv0000103Csd00003315* +- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000710sv0000103Csd00003340* +- ID_MODEL_FROM_DATABASE=NC552SFP 2-port 10Gb Server Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552SFP 2-port 10Gb Server Adapter) + + pci:v000019A2d00000710sv0000103Csd00003341* +- ID_MODEL_FROM_DATABASE=NC552m 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552m 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000710sv0000103Csd00003345* +- ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553m 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000710sv0000103Csd0000337B* +- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000712* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) +@@ -52029,10 +52029,10 @@ pci:v000019A2d00000714* + ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) + + pci:v000019A2d00000714sv0000103Csd00003315* +- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A2d00000714sv0000103Csd0000337B* +- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) + + pci:v000019A8* + ID_VENDOR_FROM_DATABASE=DAQDATA GmbH +@@ -52332,16 +52332,16 @@ pci:v00001A78d00000031* + ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive + + pci:v00001A78d00000031sv00001A78sd00000034* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) + + pci:v00001A78d00000031sv00001A78sd00000037* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3D] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) + + pci:v00001A78d00000031sv00001A78sd00000038* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) + + pci:v00001A78d00000031sv00001A78sd00000039* +- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4D] ++ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) + + pci:v00001A78d00000040* + ID_MODEL_FROM_DATABASE=FlashMAX II +@@ -52479,25 +52479,25 @@ pci:v00001AEDd00001005* + ID_MODEL_FROM_DATABASE=ioDimm3 + + pci:v00001AEDd00001005sv00001014sd000003C3* +- ID_MODEL_FROM_DATABASE=High IOPS SSD PCIe Adapter ++ ID_MODEL_FROM_DATABASE=ioDimm3 (High IOPS SSD PCIe Adapter) + + pci:v00001AEDd00001005sv0000103Csd0000176F* +- ID_MODEL_FROM_DATABASE=1.28TB MLC PCIe ioDrive Duo ++ ID_MODEL_FROM_DATABASE=ioDimm3 (1.28TB MLC PCIe ioDrive Duo) + + pci:v00001AEDd00001005sv0000103Csd00001770* +- ID_MODEL_FROM_DATABASE=5.2TB MLC PCIe ioDrive Octal ++ ID_MODEL_FROM_DATABASE=ioDimm3 (5.2TB MLC PCIe ioDrive Octal) + + pci:v00001AEDd00001005sv0000103Csd0000178B* +- ID_MODEL_FROM_DATABASE=160GB SLC PCIe ioDrive ++ ID_MODEL_FROM_DATABASE=ioDimm3 (160GB SLC PCIe ioDrive) + + pci:v00001AEDd00001005sv0000103Csd0000178C* +- ID_MODEL_FROM_DATABASE=320GB MLC PCIe ioDrive ++ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB MLC PCIe ioDrive) + + pci:v00001AEDd00001005sv0000103Csd0000178D* +- ID_MODEL_FROM_DATABASE=320GB SLC PCIe ioDrive Duo ++ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB SLC PCIe ioDrive Duo) + + pci:v00001AEDd00001005sv0000103Csd0000178E* +- ID_MODEL_FROM_DATABASE=640GB MLC PCIe ioDrive Duo ++ ID_MODEL_FROM_DATABASE=ioDimm3 (640GB MLC PCIe ioDrive Duo) + + pci:v00001AEDd00001006* + ID_MODEL_FROM_DATABASE=ioXtreme +@@ -52548,7 +52548,7 @@ pci:v00001AF4d00001110* + ID_MODEL_FROM_DATABASE=Inter-VM shared memory + + pci:v00001AF4d00001110sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=Inter-VM shared memory (QEMU Virtual Machine) + + pci:v00001AF5* + ID_VENDOR_FROM_DATABASE=Netezza Corp. +@@ -52587,22 +52587,22 @@ pci:v00001B21d00000612* + ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller + + pci:v00001B21d00000612sv00001849sd00000612* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller (Motherboard) + + pci:v00001B21d00001042* + ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller + + pci:v00001B21d00001042sv00001043sd00008488* +- ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (P8B WS Motherboard) + + pci:v00001B21d00001042sv00001849sd00001042* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (Motherboard) + + pci:v00001B21d00001080* + ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge + + pci:v00001B21d00001080sv00001849sd00001080* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) + + pci:v00001B2C* + ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. +@@ -52617,31 +52617,31 @@ pci:v00001B36d00000002* + ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter + + pci:v00001B36d00000002sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter (QEMU Virtual Machine) + + pci:v00001B36d00000003* + ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter + + pci:v00001B36d00000003sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter (QEMU Virtual Machine) + + pci:v00001B36d00000004* + ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter + + pci:v00001B36d00000004sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter (QEMU Virtual Machine) + + pci:v00001B36d00000005* + ID_MODEL_FROM_DATABASE=QEMU PCI Test Device + + pci:v00001B36d00000005sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device (QEMU Virtual Machine) + + pci:v00001B36d00000100* + ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card + + pci:v00001B36d00000100sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card (QEMU Virtual Machine) + + pci:v00001B37* + ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB +@@ -52662,10 +52662,10 @@ pci:v00001B3Ed00001FA8* + ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X + + pci:v00001B3Ed00001FA8sv00001B3Esd000000A3* +- ID_MODEL_FROM_DATABASE=BYNET BIC2SX ++ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SX) + + pci:v00001B3Ed00001FA8sv00001B3Esd000000C3* +- ID_MODEL_FROM_DATABASE=BYNET BIC2SE ++ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SE) + + pci:v00001B40* + ID_VENDOR_FROM_DATABASE=Schooner Information Technology, Inc. +@@ -52701,7 +52701,7 @@ pci:v00001B4Bd00009130* + ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo + + pci:v00001B4Bd00009130sv00001043sd00008438* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo (P8P67 Deluxe Motherboard) + + pci:v00001B4Bd00009172* + ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller +@@ -52767,7 +52767,7 @@ pci:v00001B73d00001000* + ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller + + pci:v00001B73d00001000sv00001D5Csd00001000* +- ID_MODEL_FROM_DATABASE=Anker USB 3.0 Express Card ++ ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller (Anker USB 3.0 Express Card) + + pci:v00001B73d00001009* + ID_MODEL_FROM_DATABASE=FL1009 USB 3.0 Host Controller +@@ -53010,67 +53010,67 @@ pci:v00001FC9d00003010* + ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC + + pci:v00001FC9d00003010sv00000000sd00003002* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port XFP SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port XFP SmartNIC) + + pci:v00001FC9d00003010sv00000000sd00003004* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) + + pci:v00001FC9d00003010sv00000000sd00003008* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port CX4 SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port CX4 SmartNIC) + + pci:v00001FC9d00003014* + ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port + + pci:v00001FC9d00003014sv00000000sd00003003* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port XFP Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port XFP Low Profile SmartNIC) + + pci:v00001FC9d00003014sv00000000sd00003005* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003014sv00000000sd00003014* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003110* + ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC + + pci:v00001FC9d00003110sv00000000sd00003004* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) + + pci:v00001FC9d00003114* + ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC + + pci:v00001FC9d00003114sv00000000sd00003005* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003114sv00000000sd00003011* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003114sv00000000sd00003012* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003114sv00000000sd00003014* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003310* + ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC + + pci:v00001FC9d00003310sv00000000sd00003004* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) + + pci:v00001FC9d00003314* + ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC + + pci:v00001FC9d00003314sv00000000sd00003005* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003314sv00000000sd00003011* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) + + pci:v00001FC9d00003314sv00000000sd00003012* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) + + pci:v00001FC9d00003314sv00000000sd00003014* +- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC ++ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) + + pci:v00001FCE* + ID_VENDOR_FROM_DATABASE=Cognio Inc. +@@ -53172,31 +53172,31 @@ pci:v00003388d00000021* + ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) + + pci:v00003388d00000021sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K CompactPCI interface bridge ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (C2K CompactPCI interface bridge) + + pci:v00003388d00000021sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CE9) + + pci:v00003388d00000021sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT7 mainboard) + + pci:v00003388d00000021sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT8 mainboard) + + pci:v00003388d00000021sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (Cx9 mainboard) + + pci:v00003388d00000021sv00004C53sd000010A0* +- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CA3/CR3 mainboard) + + pci:v00003388d00000021sv00004C53sd00003010* +- ID_MODEL_FROM_DATABASE=PPCI mezzanine (32-bit PMC) ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (32-bit PMC)) + + pci:v00003388d00000021sv00004C53sd00003011* +- ID_MODEL_FROM_DATABASE=PPCI mezzanine (64-bit PMC) ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (64-bit PMC)) + + pci:v00003388d00000021sv00004C53sd00004000* +- ID_MODEL_FROM_DATABASE=PMCCARR1 carrier board ++ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PMCCARR1 carrier board) + + pci:v00003388d00000022* + ID_MODEL_FROM_DATABASE=HiNT HB4 PCI-PCI Bridge (PCI6150) +@@ -53220,19 +53220,19 @@ pci:v00003388d00008011* + ID_MODEL_FROM_DATABASE=VXPro II Chipset + + pci:v00003388d00008011sv00003388sd00008011* +- ID_MODEL_FROM_DATABASE=VXPro II Chipset CPU to PCI Bridge ++ ID_MODEL_FROM_DATABASE=VXPro II Chipset (CPU to PCI Bridge) + + pci:v00003388d00008012* + ID_MODEL_FROM_DATABASE=VXPro II Chipset + + pci:v00003388d00008012sv00003388sd00008012* +- ID_MODEL_FROM_DATABASE=VXPro II Chipset PCI to ISA Bridge ++ ID_MODEL_FROM_DATABASE=VXPro II Chipset (PCI to ISA Bridge) + + pci:v00003388d00008013* + ID_MODEL_FROM_DATABASE=VXPro II IDE + + pci:v00003388d00008013sv00003388sd00008013* +- ID_MODEL_FROM_DATABASE=VXPro II Chipset EIDE Controller ++ ID_MODEL_FROM_DATABASE=VXPro II IDE (VXPro II Chipset EIDE Controller) + + pci:v00003388d0000A103* + ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink HD Pro +@@ -53277,13 +53277,13 @@ pci:v00003D3Dd00000002* + ID_MODEL_FROM_DATABASE=GLINT 500TX + + pci:v00003D3Dd00000002sv00000000sd00000000* +- ID_MODEL_FROM_DATABASE=GLoria L ++ ID_MODEL_FROM_DATABASE=GLINT 500TX (GLoria L) + + pci:v00003D3Dd00000003* + ID_MODEL_FROM_DATABASE=GLINT Delta + + pci:v00003D3Dd00000003sv00000000sd00000000* +- ID_MODEL_FROM_DATABASE=GLoria XL ++ ID_MODEL_FROM_DATABASE=GLINT Delta (GLoria XL) + + pci:v00003D3Dd00000004* + ID_MODEL_FROM_DATABASE=Permedia +@@ -53295,10 +53295,10 @@ pci:v00003D3Dd00000006* + ID_MODEL_FROM_DATABASE=GLINT MX + + pci:v00003D3Dd00000006sv00000000sd00000000* +- ID_MODEL_FROM_DATABASE=GLoria XL ++ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XL) + + pci:v00003D3Dd00000006sv00001048sd00000A42* +- ID_MODEL_FROM_DATABASE=GLoria XXL ++ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XXL) + + pci:v00003D3Dd00000007* + ID_MODEL_FROM_DATABASE=3D Extreme +@@ -53307,55 +53307,55 @@ pci:v00003D3Dd00000008* + ID_MODEL_FROM_DATABASE=GLINT Gamma G1 + + pci:v00003D3Dd00000008sv00001048sd00000A42* +- ID_MODEL_FROM_DATABASE=GLoria XXL ++ ID_MODEL_FROM_DATABASE=GLINT Gamma G1 (GLoria XXL) + + pci:v00003D3Dd00000009* + ID_MODEL_FROM_DATABASE=Permedia II 2D+3D + + pci:v00003D3Dd00000009sv00001040sd00000011* +- ID_MODEL_FROM_DATABASE=AccelStar II ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II) + + pci:v00003D3Dd00000009sv00001048sd00000A42* +- ID_MODEL_FROM_DATABASE=GLoria XXL ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (GLoria XXL) + + pci:v00003D3Dd00000009sv000013E9sd00001000* +- ID_MODEL_FROM_DATABASE=6221L-4U ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (6221L-4U) + + pci:v00003D3Dd00000009sv00003D3Dsd00000100* +- ID_MODEL_FROM_DATABASE=AccelStar II 3D Accelerator ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II 3D Accelerator) + + pci:v00003D3Dd00000009sv00003D3Dsd00000111* +- ID_MODEL_FROM_DATABASE=Permedia 3:16 ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia 3:16) + + pci:v00003D3Dd00000009sv00003D3Dsd00000114* +- ID_MODEL_FROM_DATABASE=Santa Ana ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana) + + pci:v00003D3Dd00000009sv00003D3Dsd00000116* +- ID_MODEL_FROM_DATABASE=Oxygen GVX1 ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen GVX1) + + pci:v00003D3Dd00000009sv00003D3Dsd00000119* +- ID_MODEL_FROM_DATABASE=Scirocco ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Scirocco) + + pci:v00003D3Dd00000009sv00003D3Dsd00000120* +- ID_MODEL_FROM_DATABASE=Santa Ana PCL ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana PCL) + + pci:v00003D3Dd00000009sv00003D3Dsd00000125* +- ID_MODEL_FROM_DATABASE=Oxygen VX1 ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen VX1) + + pci:v00003D3Dd00000009sv00003D3Dsd00000127* +- ID_MODEL_FROM_DATABASE=Permedia3 Create! ++ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia3 Create!) + + pci:v00003D3Dd0000000A* + ID_MODEL_FROM_DATABASE=GLINT R3 + + pci:v00003D3Dd0000000Asv00003D3Dsd00000121* +- ID_MODEL_FROM_DATABASE=Oxygen VX1 ++ ID_MODEL_FROM_DATABASE=GLINT R3 (Oxygen VX1) + + pci:v00003D3Dd0000000C* + ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] + + pci:v00003D3Dd0000000Csv00003D3Dsd00000144* +- ID_MODEL_FROM_DATABASE=Oxygen VX1-4X AGP [Permedia 4] ++ ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] (Oxygen VX1-4X AGP [Permedia 4]) + + pci:v00003D3Dd0000000D* + ID_MODEL_FROM_DATABASE=GLint R4 rev A +@@ -53472,13 +53472,13 @@ pci:v00004040d00000001* + ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface + + pci:v00004040d00000001sv0000103Csd00007047* +- ID_MODEL_FROM_DATABASE=NC510F PCIe 10-Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface (NC510F PCIe 10-Gigabit Server Adapter) + + pci:v00004040d00000002* + ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface + + pci:v00004040d00000002sv0000103Csd00007048* +- ID_MODEL_FROM_DATABASE=NC510c PCIe 10-Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface (NC510c PCIe 10-Gigabit Server Adapter) + + pci:v00004040d00000003* + ID_MODEL_FROM_DATABASE=NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface +@@ -53490,7 +53490,7 @@ pci:v00004040d00000005* + ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class + + pci:v00004040d00000005sv0000103Csd0000170E* +- ID_MODEL_FROM_DATABASE=NC512m Dual Port 10GbE Multifunction BL-C Adapter ++ ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class (NC512m Dual Port 10GbE Multifunction BL-C Adapter) + + pci:v00004040d00000024* + ID_MODEL_FROM_DATABASE=XG Mgmt +@@ -53502,28 +53502,28 @@ pci:v00004040d00000100* + ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter + + pci:v00004040d00000100sv0000103Csd0000171B* +- ID_MODEL_FROM_DATABASE=NC522m Dual Port 10GbE Multifunction BL-c Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522m Dual Port 10GbE Multifunction BL-c Adapter) + + pci:v00004040d00000100sv0000103Csd00001740* +- ID_MODEL_FROM_DATABASE=NC375T PCI Express Quad Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375T PCI Express Quad Port Gigabit Server Adapter) + + pci:v00004040d00000100sv0000103Csd00003251* +- ID_MODEL_FROM_DATABASE=NC375i 1G w/NC524SFP 10G Module ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i 1G w/NC524SFP 10G Module) + + pci:v00004040d00000100sv0000103Csd0000705A* +- ID_MODEL_FROM_DATABASE=NC375i Integrated Quad Port Multifunction Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i Integrated Quad Port Multifunction Gigabit Server Adapter) + + pci:v00004040d00000100sv0000103Csd0000705B* +- ID_MODEL_FROM_DATABASE=NC522SFP Dual Port 10GbE Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522SFP Dual Port 10GbE Server Adapter) + + pci:v00004040d00000100sv0000152Dsd0000896B* +- ID_MODEL_FROM_DATABASE=TG20 Dual Port 10GbE Server/Storage Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (TG20 Dual Port 10GbE Server/Storage Adapter) + + pci:v00004040d00000100sv00004040sd00000124* +- ID_MODEL_FROM_DATABASE=NX3031 Quad Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NX3031 Quad Port Gigabit Server Adapter) + + pci:v00004040d00000100sv00004040sd00000126* +- ID_MODEL_FROM_DATABASE=Dual Port SFP+ 10GbE Server Adapter ++ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (Dual Port SFP+ 10GbE Server Adapter) + + pci:v00004143* + ID_VENDOR_FROM_DATABASE=Digital Equipment Corp +@@ -53571,190 +53571,190 @@ pci:v00004444d00000016* + ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder + + pci:v00004444d00000016sv00000070sd00000003* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00000009* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00000801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00000807* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00004001* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00004009* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00004801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00004803* +- ID_MODEL_FROM_DATABASE=WinTV PVR 250 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) + + pci:v00004444d00000016sv00000070sd00008003* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd00008801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd0000C801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv00000070sd0000E807* +- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (1st unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (1st unit)) + + pci:v00004444d00000016sv00000070sd0000E817* +- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (2nd unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (2nd unit)) + + pci:v00004444d00000016sv00000070sd0000FF92* +- ID_MODEL_FROM_DATABASE=WiNTV PVR-550 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WiNTV PVR-550) + + pci:v00004444d00000016sv00000270sd00000801* +- ID_MODEL_FROM_DATABASE=WinTV PVR 150 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) + + pci:v00004444d00000016sv0000104Dsd0000013D* +- ID_MODEL_FROM_DATABASE=ENX-26 TV Encoder ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (ENX-26 TV Encoder) + + pci:v00004444d00000016sv000010FCsd0000D038* +- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (1st unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (1st unit)) + + pci:v00004444d00000016sv000010FCsd0000D039* +- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (2nd unit) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (2nd unit)) + + pci:v00004444d00000016sv000012ABsd0000FFF3* +- ID_MODEL_FROM_DATABASE=MPG600 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) + + pci:v00004444d00000016sv000012ABsd0000FFFF* +- ID_MODEL_FROM_DATABASE=MPG600 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) + + pci:v00004444d00000016sv00001461sd0000C00A* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C00B* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C00C* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner)) + + pci:v00004444d00000016sv00001461sd0000C010* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C011* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C018* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C019* +- ID_MODEL_FROM_DATABASE=UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C01A* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C01B* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C030* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C031* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C032* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C033* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C034* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C035* +- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C03F* +- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) + + pci:v00004444d00000016sv00001461sd0000C136* +- ID_MODEL_FROM_DATABASE=M104 mini-PCI Analog TV ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M104 mini-PCI Analog TV) + + pci:v00004444d00000016sv00001461sd0000C20A* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner)) + + pci:v00004444d00000016sv00001461sd0000C218* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C219* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C21A* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C21B* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner)) + + pci:v00004444d00000016sv00001461sd0000C230* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C231* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C232* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C233* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C234* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C235* +- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner)) + + pci:v00004444d00000016sv00001461sd0000C337* +- ID_MODEL_FROM_DATABASE=E106 AVerMedia AVerTV Video Capture ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (E106 AVerMedia AVerTV Video Capture) + + pci:v00004444d00000016sv00001461sd0000C439* +- ID_MODEL_FROM_DATABASE=M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner)) + + pci:v00004444d00000016sv00001461sd0000C5FF* +- ID_MODEL_FROM_DATABASE=C755 AVerTV Video Capture card (no tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C755 AVerTV Video Capture card (no tuner)) + + pci:v00004444d00000016sv00001461sd0000C6FF* +- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) + + pci:v00004444d00000016sv00001461sd0000C739* +- ID_MODEL_FROM_DATABASE=M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner) ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner)) + + pci:v00004444d00000016sv00009005sd00000092* +- ID_MODEL_FROM_DATABASE=VideOh! AVC-2010 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2010) + + pci:v00004444d00000016sv00009005sd00000093* +- ID_MODEL_FROM_DATABASE=VideOh! AVC-2410 ++ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2410) + + pci:v00004444d00000803* + ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder + + pci:v00004444d00000803sv00000070sd00004000* +- ID_MODEL_FROM_DATABASE=WinTV PVR-350 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350) + + pci:v00004444d00000803sv00000070sd00004001* +- ID_MODEL_FROM_DATABASE=WinTV PVR-250 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-250) + + pci:v00004444d00000803sv00000070sd00004800* +- ID_MODEL_FROM_DATABASE=WinTV PVR-350 (V1) ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350 (V1)) + + pci:v00004444d00000803sv000012ABsd00000000* +- ID_MODEL_FROM_DATABASE=MPG160 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (MPG160) + + pci:v00004444d00000803sv00001461sd0000A3CE* +- ID_MODEL_FROM_DATABASE=M179 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) + + pci:v00004444d00000803sv00001461sd0000A3CF* +- ID_MODEL_FROM_DATABASE=M179 ++ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) + + pci:v00004468* + ID_VENDOR_FROM_DATABASE=Bridgeport machines +@@ -53961,7 +53961,7 @@ pci:v00004A14d00005000* + ID_MODEL_FROM_DATABASE=NV5000SC + + pci:v00004A14d00005000sv00004A14sd00005000* +- ID_MODEL_FROM_DATABASE=RT8029-Based Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=NV5000SC (RT8029-Based Ethernet Adapter) + + pci:v00004B10* + ID_VENDOR_FROM_DATABASE=Buslogic Inc. +@@ -53976,16 +53976,16 @@ pci:v00004C53d00000000* + ID_MODEL_FROM_DATABASE=PLUSTEST device + + pci:v00004C53d00000000sv00004C53sd00003000* +- ID_MODEL_FROM_DATABASE=PLUSTEST card (PC104+) ++ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PC104+)) + + pci:v00004C53d00000000sv00004C53sd00003001* +- ID_MODEL_FROM_DATABASE=PLUSTEST card (PMC) ++ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PMC)) + + pci:v00004C53d00000001* + ID_MODEL_FROM_DATABASE=PLUSTEST-MM device + + pci:v00004C53d00000001sv00004C53sd00003002* +- ID_MODEL_FROM_DATABASE=PLUSTEST-MM card (PMC) ++ ID_MODEL_FROM_DATABASE=PLUSTEST-MM device (PLUSTEST-MM card (PMC)) + + pci:v00004CA1* + ID_VENDOR_FROM_DATABASE=Seanix Technology Inc +@@ -54222,13 +54222,13 @@ pci:v00005333d00008900* + ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] + + pci:v00005333d00008900sv00005333sd00008900* +- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX ++ ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] (86C775 Trio64V2/DX) + + pci:v00005333d00008901* + ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] + + pci:v00005333d00008901sv00005333sd00008901* +- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX, 86C785 Trio64V2/GX ++ ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] (86C775 Trio64V2/DX, 86C785 Trio64V2/GX) + + pci:v00005333d00008902* + ID_MODEL_FROM_DATABASE=Plato/PX +@@ -54240,13 +54240,13 @@ pci:v00005333d00008904* + ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] + + pci:v00005333d00008904sv00001014sd000000DB* +- ID_MODEL_FROM_DATABASE=Integrated Trio3D ++ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Integrated Trio3D) + + pci:v00005333d00008904sv00004843sd0000314A* +- ID_MODEL_FROM_DATABASE=Terminator 128/3D GLH ++ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Terminator 128/3D GLH) + + pci:v00005333d00008904sv00005333sd00008904* +- ID_MODEL_FROM_DATABASE=86C365 Trio3D AGP ++ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (86C365 Trio3D AGP) + + pci:v00005333d00008905* + ID_MODEL_FROM_DATABASE=Trio 64V+ family +@@ -54285,40 +54285,40 @@ pci:v00005333d00008A01* + ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] + + pci:v00005333d00008A01sv00000E11sd0000B032* +- ID_MODEL_FROM_DATABASE=ViRGE/GX ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/GX) + + pci:v00005333d00008A01sv000010B4sd00001617* +- ID_MODEL_FROM_DATABASE=Nitro 3D ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) + + pci:v00005333d00008A01sv000010B4sd00001717* +- ID_MODEL_FROM_DATABASE=Nitro 3D ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) + + pci:v00005333d00008A01sv00005333sd00008A01* +- ID_MODEL_FROM_DATABASE=ViRGE/DX ++ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/DX) + + pci:v00005333d00008A10* + ID_MODEL_FROM_DATABASE=ViRGE/GX2 + + pci:v00005333d00008A10sv00001092sd00008A10* +- ID_MODEL_FROM_DATABASE=Stealth 3D 4000 ++ ID_MODEL_FROM_DATABASE=ViRGE/GX2 (Stealth 3D 4000) + + pci:v00005333d00008A13* + ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] + + pci:v00005333d00008A13sv00005333sd00008A13* +- ID_MODEL_FROM_DATABASE=Trio3D/2X ++ ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] (Trio3D/2X) + + pci:v00005333d00008A20* + ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] + + pci:v00005333d00008A20sv00005333sd00008A20* +- ID_MODEL_FROM_DATABASE=86C391 Savage3D ++ ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] (86C391 Savage3D) + + pci:v00005333d00008A21* + ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] + + pci:v00005333d00008A21sv00005333sd00008A21* +- ID_MODEL_FROM_DATABASE=86C390 Savage3D/MV ++ ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] (86C390 Savage3D/MV) + + pci:v00005333d00008A22* + ID_MODEL_FROM_DATABASE=Savage 4 +@@ -54330,85 +54330,85 @@ pci:v00005333d00008A22sv00001033sd00008069* + ID_MODEL_FROM_DATABASE=Savage 4 + + pci:v00005333d00008A22sv00001033sd00008110* +- ID_MODEL_FROM_DATABASE=Savage 4 LT ++ ID_MODEL_FROM_DATABASE=Savage 4 (LT) + + pci:v00005333d00008A22sv0000105Dsd00000018* +- ID_MODEL_FROM_DATABASE=SR9 8Mb SDRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 8Mb SDRAM) + + pci:v00005333d00008A22sv0000105Dsd0000002A* +- ID_MODEL_FROM_DATABASE=SR9 Pro 16Mb SDRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 16Mb SDRAM) + + pci:v00005333d00008A22sv0000105Dsd0000003A* +- ID_MODEL_FROM_DATABASE=SR9 Pro 32Mb SDRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 32Mb SDRAM) + + pci:v00005333d00008A22sv0000105Dsd0000092F* +- ID_MODEL_FROM_DATABASE=SR9 Pro+ 16Mb SGRAM ++ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro+ 16Mb SGRAM) + + pci:v00005333d00008A22sv00001092sd00004207* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004800* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004807* +- ID_MODEL_FROM_DATABASE=SpeedStar A90 ++ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A90) + + pci:v00005333d00008A22sv00001092sd00004808* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004809* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd0000480E* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004904* +- ID_MODEL_FROM_DATABASE=Stealth III S520 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S520) + + pci:v00005333d00008A22sv00001092sd00004905* +- ID_MODEL_FROM_DATABASE=SpeedStar A200 ++ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A200) + + pci:v00005333d00008A22sv00001092sd00004A09* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004A0B* +- ID_MODEL_FROM_DATABASE=Stealth III S540 Xtreme ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540 Xtreme) + + pci:v00005333d00008A22sv00001092sd00004A0F* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001092sd00004E01* +- ID_MODEL_FROM_DATABASE=Stealth III S540 ++ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) + + pci:v00005333d00008A22sv00001102sd0000101D* +- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 ++ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) + + pci:v00005333d00008A22sv00001102sd0000101E* +- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 ++ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) + + pci:v00005333d00008A22sv00005333sd00008100* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 100 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 100) + + pci:v00005333d00008A22sv00005333sd00008110* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 110 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 110) + + pci:v00005333d00008A22sv00005333sd00008125* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 125 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 125) + + pci:v00005333d00008A22sv00005333sd00008143* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 143 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 143) + + pci:v00005333d00008A22sv00005333sd00008A22* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4) + + pci:v00005333d00008A22sv00005333sd00008A2E* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 32bit ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 32bit) + + pci:v00005333d00008A22sv00005333sd00009125* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 125 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 125) + + pci:v00005333d00008A22sv00005333sd00009143* +- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 143 ++ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 143) + + pci:v00005333d00008A23* + ID_MODEL_FROM_DATABASE=Savage 4 +@@ -54417,7 +54417,7 @@ pci:v00005333d00008A25* + ID_MODEL_FROM_DATABASE=ProSavage PM133 + + pci:v00005333d00008A25sv00000303sd00000303* +- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] ++ ID_MODEL_FROM_DATABASE=ProSavage PM133 (D9840-60001 [Brio BA410 Motherboard]) + + pci:v00005333d00008A26* + ID_MODEL_FROM_DATABASE=ProSavage KM133 +@@ -54447,16 +54447,16 @@ pci:v00005333d00008C12* + ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] + + pci:v00005333d00008C12sv00001014sd0000017F* +- ID_MODEL_FROM_DATABASE=ThinkPad T20/T22 ++ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (ThinkPad T20/T22) + + pci:v00005333d00008C12sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=86C584 SuperSavage/IXC Toshiba ++ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (86C584 SuperSavage/IXC Toshiba) + + pci:v00005333d00008C13* + ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] + + pci:v00005333d00008C13sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] (Magnia Z310) + + pci:v00005333d00008C22* + ID_MODEL_FROM_DATABASE=SuperSavage MX/128 +@@ -54483,7 +54483,7 @@ pci:v00005333d00008C2E* + ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR + + pci:v00005333d00008C2Esv00001014sd000001FC* +- ID_MODEL_FROM_DATABASE=ThinkPad T23 ++ ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR (ThinkPad T23) + + pci:v00005333d00008C2F* + ID_MODEL_FROM_DATABASE=SuperSavage IX/C DDR +@@ -54513,7 +54513,7 @@ pci:v00005333d00008E48* + ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] + + pci:v00005333d00008E48sv00005333sd00000130* +- ID_MODEL_FROM_DATABASE=Chrome S27 256M DDR2 ++ ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] (Chrome S27 256M DDR2) + + pci:v00005333d00009043* + ID_MODEL_FROM_DATABASE=Chrome 430 GT +@@ -54528,28 +54528,28 @@ pci:v00005333d00009102* + ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] + + pci:v00005333d00009102sv00001092sd00005932* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005934* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005952* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005954* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A35* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A37* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A55* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d00009102sv00001092sd00005A57* +- ID_MODEL_FROM_DATABASE=Viper II Z200 ++ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) + + pci:v00005333d0000CA00* + ID_MODEL_FROM_DATABASE=SonicVibes +@@ -54774,13 +54774,13 @@ pci:v00008086d00000044* + ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller + + pci:v00008086d00000044sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Aspire 7740G) + + pci:v00008086d00000044sv00001025sd00000487* +- ID_MODEL_FROM_DATABASE=TravelMate 5742 ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) + + pci:v00008086d00000044sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) + + pci:v00008086d00000045* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port +@@ -54789,7 +54789,7 @@ pci:v00008086d00000046* + ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller + + pci:v00008086d00000046sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) + + pci:v00008086d00000047* + ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port +@@ -54816,202 +54816,202 @@ pci:v00008086d00000082* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] + + pci:v00008086d00000082sv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) + + pci:v00008086d00000082sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) + + pci:v00008086d00000082sv00008086sd00001307* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 BG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 BG) + + pci:v00008086d00000082sv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) + + pci:v00008086d00000082sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) + + pci:v00008086d00000083* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] + + pci:v00008086d00000083sv00008086sd00001205* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001206* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000083sv00008086sd00001225* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001226* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000083sv00008086sd00001305* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000083sv00008086sd00001325* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000083sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000084* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] + + pci:v00008086d00000084sv00008086sd00001215* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000084sv00008086sd00001216* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000084sv00008086sd00001315* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) + + pci:v00008086d00000084sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) + + pci:v00008086d00000085* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] + + pci:v00008086d00000085sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) + + pci:v00008086d00000085sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) + + pci:v00008086d00000087* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] + + pci:v00008086d00000087sv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) + + pci:v00008086d00000087sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) + + pci:v00008086d00000087sv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) + + pci:v00008086d00000087sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) + + pci:v00008086d00000089* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] + + pci:v00008086d00000089sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) + + pci:v00008086d00000089sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) + + pci:v00008086d0000008A* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] + + pci:v00008086d0000008Asv00008086sd00005305* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) + + pci:v00008086d0000008Asv00008086sd00005307* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) + + pci:v00008086d0000008Asv00008086sd00005325* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) + + pci:v00008086d0000008Asv00008086sd00005327* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) + + pci:v00008086d0000008B* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] + + pci:v00008086d0000008Bsv00008086sd00005315* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) + + pci:v00008086d0000008Bsv00008086sd00005317* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) + + pci:v00008086d00000090* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] + + pci:v00008086d00000090sv00008086sd00005211* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) + + pci:v00008086d00000090sv00008086sd00005215* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) + + pci:v00008086d00000090sv00008086sd00005216* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) + + pci:v00008086d00000091* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] + + pci:v00008086d00000091sv00008086sd00005201* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) + + pci:v00008086d00000091sv00008086sd00005205* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) + + pci:v00008086d00000091sv00008086sd00005206* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) + + pci:v00008086d00000091sv00008086sd00005207* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BG) + + pci:v00008086d00000091sv00008086sd00005221* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) + + pci:v00008086d00000091sv00008086sd00005225* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) + + pci:v00008086d00000091sv00008086sd00005226* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) + + pci:v00008086d00000100* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller + + pci:v00008086d00000100sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (XPS 8300) + + pci:v00008086d00000100sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (P8P67/P8H67 Series Motherboard) + + pci:v00008086d00000101* + ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port + + pci:v00008086d00000101sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (Vostro 3350) + + pci:v00008086d00000101sv0000106Bsd000000DC* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00000102* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller + + pci:v00008086d00000102sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (XPS 8300) + + pci:v00008086d00000102sv00001043sd00000102* +- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (P8H67 Series Motherboard) + + pci:v00008086d00000104* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller + + pci:v00008086d00000104sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Precision M4600) + + pci:v00008086d00000104sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3350) + + pci:v00008086d00000104sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3750) + + pci:v00008086d00000104sv0000106Bsd000000DC* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00000105* + ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port + + pci:v00008086d00000105sv0000106Bsd000000DC* +- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00000106* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller +@@ -55044,7 +55044,7 @@ pci:v00008086d00000116* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller + + pci:v00008086d00000116sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3750) + + pci:v00008086d00000122* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller +@@ -55053,64 +55053,64 @@ pci:v00008086d00000126* + ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller + + pci:v00008086d00000126sv00001028sd000004CC* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3350) + + pci:v00008086d00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller + + pci:v00008086d00000150sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) + + pci:v00008086d00000150sv00001849sd00000150* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) + + pci:v00008086d00000151* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + + pci:v00008086d00000151sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (N56VZ) + + pci:v00008086d00000151sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) + + pci:v00008086d00000151sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8H77-I Motherboard) + + pci:v00008086d00000151sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) + + pci:v00008086d00000152* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + + pci:v00008086d00000152sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8H77-I Motherboard) + + pci:v00008086d00000153* + ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem + + pci:v00008086d00000153sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem (Zenbook Prime UX31A) + + pci:v00008086d00000154* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller + + pci:v00008086d00000154sv00001025sd00000813* +- ID_MODEL_FROM_DATABASE=Aspire R7-571 ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Aspire R7-571) + + pci:v00008086d00000154sv0000103Csd000017F6* +- ID_MODEL_FROM_DATABASE=ProBook 4540s ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (ProBook 4540s) + + pci:v00008086d00000154sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (N56VZ) + + pci:v00008086d00000154sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Zenbook Prime UX31A) + + pci:v00008086d00000155* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + + pci:v00008086d00000155sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) + + pci:v00008086d00000156* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller +@@ -55119,10 +55119,10 @@ pci:v00008086d00000158* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller + + pci:v00008086d00000158sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (P8 series motherboard) + + pci:v00008086d00000158sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (Server Board S1200BTS) + + pci:v00008086d00000159* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port +@@ -55137,7 +55137,7 @@ pci:v00008086d0000015D* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + + pci:v00008086d0000015Dsv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) + + pci:v00008086d0000015E* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller +@@ -55146,22 +55146,22 @@ pci:v00008086d00000162* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + + pci:v00008086d00000162sv00001849sd00000162* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) + + pci:v00008086d00000166* + ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller + + pci:v00008086d00000166sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (Zenbook Prime UX31A) + + pci:v00008086d00000166sv00001043sd00002103* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (N56VZ) + + pci:v00008086d0000016A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + + pci:v00008086d0000016Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8B WS Motherboard) + + pci:v00008086d00000172* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller +@@ -55179,19 +55179,19 @@ pci:v00008086d00000326* + ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A + + pci:v00008086d00000326sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (ProLiant DL140 G2) + + pci:v00008086d00000326sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (CR11/VR11 Single Board Computer) + + pci:v00008086d00000327* + ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B + + pci:v00008086d00000327sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (ProLiant DL140 G2) + + pci:v00008086d00000327sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (CR11/VR11 Single Board Computer) + + pci:v00008086d00000329* + ID_MODEL_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge A +@@ -55260,7 +55260,7 @@ pci:v00008086d00000416* + ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller + + pci:v00008086d00000416sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller (ThinkPad T440p) + + pci:v00008086d0000041A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller +@@ -55365,16 +55365,16 @@ pci:v00008086d00000600* + ID_MODEL_FROM_DATABASE=RAID Controller + + pci:v00008086d00000600sv00008086sd00000136* +- ID_MODEL_FROM_DATABASE=SRCU31L ++ ID_MODEL_FROM_DATABASE=RAID Controller (SRCU31L) + + pci:v00008086d00000600sv00008086sd000001AF* +- ID_MODEL_FROM_DATABASE=SRCZCR ++ ID_MODEL_FROM_DATABASE=RAID Controller (SRCZCR) + + pci:v00008086d00000600sv00008086sd000001C1* +- ID_MODEL_FROM_DATABASE=ICP Vortex GDT8546RZ ++ ID_MODEL_FROM_DATABASE=RAID Controller (ICP Vortex GDT8546RZ) + + pci:v00008086d00000600sv00008086sd000001F7* +- ID_MODEL_FROM_DATABASE=SCRU32 ++ ID_MODEL_FROM_DATABASE=RAID Controller (SCRU32) + + pci:v00008086d0000061F* + ID_MODEL_FROM_DATABASE=80303 I/O Processor +@@ -55467,301 +55467,301 @@ pci:v00008086d00000885* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 + + pci:v00008086d00000885sv00008086sd00001305* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) + + pci:v00008086d00000885sv00008086sd00001307* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) + + pci:v00008086d00000885sv00008086sd00001325* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) + + pci:v00008086d00000885sv00008086sd00001327* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) + + pci:v00008086d00000886* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 + + pci:v00008086d00000886sv00008086sd00001315* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) + + pci:v00008086d00000886sv00008086sd00001317* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) + + pci:v00008086d00000887* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 + + pci:v00008086d00000887sv00008086sd00004062* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) + + pci:v00008086d00000887sv00008086sd00004462* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) + + pci:v00008086d00000888* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 + + pci:v00008086d00000888sv00008086sd00004262* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) + + pci:v00008086d0000088E* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 + + pci:v00008086d0000088Esv00008086sd00004060* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) + + pci:v00008086d0000088Esv00008086sd00004460* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) + + pci:v00008086d0000088F* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 + + pci:v00008086d0000088Fsv00008086sd00004260* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) + + pci:v00008086d00000890* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 + + pci:v00008086d00000890sv00008086sd00004022* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000890sv00008086sd00004422* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000890sv00008086sd00004822* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000891* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 + + pci:v00008086d00000891sv00008086sd00004222* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) + + pci:v00008086d00000892* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 + + pci:v00008086d00000892sv00008086sd00000062* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) + + pci:v00008086d00000892sv00008086sd00000462* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) + + pci:v00008086d00000893* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 + + pci:v00008086d00000893sv00008086sd00000262* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) + + pci:v00008086d00000894* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 + + pci:v00008086d00000894sv00008086sd00000022* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000894sv00008086sd00000422* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000894sv00008086sd00000822* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000895* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 + + pci:v00008086d00000895sv00008086sd00000222* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) + + pci:v00008086d00000896* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 + + pci:v00008086d00000896sv00008086sd00005005* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) + + pci:v00008086d00000896sv00008086sd00005007* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) + + pci:v00008086d00000896sv00008086sd00005025* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) + + pci:v00008086d00000896sv00008086sd00005027* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) + + pci:v00008086d00000897* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 + + pci:v00008086d00000897sv00008086sd00005015* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) + + pci:v00008086d00000897sv00008086sd00005017* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) + + pci:v00008086d000008AE* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 + + pci:v00008086d000008AEsv00008086sd00001005* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) + + pci:v00008086d000008AEsv00008086sd00001007* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) + + pci:v00008086d000008AEsv00008086sd00001025* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) + + pci:v00008086d000008AEsv00008086sd00001027* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) + + pci:v00008086d000008AF* + ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 + + pci:v00008086d000008AFsv00008086sd00001015* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) + + pci:v00008086d000008AFsv00008086sd00001017* +- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG ++ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) + + pci:v00008086d000008B1* + ID_MODEL_FROM_DATABASE=Wireless 7260 + + pci:v00008086d000008B1sv00008086sd00004060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004062* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004160* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004162* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004460* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004462* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd00004470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000486E* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004870* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004A6C* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004A6E* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd00004A70* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000C020* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C062* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000C160* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C162* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B1sv00008086sd0000C420* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C460* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C462* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B1sv00008086sd0000C470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B2* + ID_MODEL_FROM_DATABASE=Wireless 7260 + + pci:v00008086d000008B2sv00008086sd00004220* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd00004260* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd00004262* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd00004270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B2sv00008086sd0000C220* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd0000C260* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd0000C262* +- ID_MODEL_FROM_DATABASE=Wireless-N 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) + + pci:v00008086d000008B2sv00008086sd0000C270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 ++ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) + + pci:v00008086d000008B3* + ID_MODEL_FROM_DATABASE=Wireless 3160 + + pci:v00008086d000008B3sv00008086sd00000060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-N 3160) + + pci:v00008086d000008B3sv00008086sd00000062* +- ID_MODEL_FROM_DATABASE=Wireless-N 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless-N 3160) + + pci:v00008086d000008B3sv00008086sd00000070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B3sv00008086sd00000170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B3sv00008086sd00000470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B3sv00008086sd00008060* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless N-3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless N-3160) + + pci:v00008086d000008B3sv00008086sd00008062* +- ID_MODEL_FROM_DATABASE=Wireless N-3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless N-3160) + + pci:v00008086d000008B3sv00008086sd00008070* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008B3sv00008086sd00008170* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008B3sv00008086sd00008470* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008B4* + ID_MODEL_FROM_DATABASE=Wireless 3160 + + pci:v00008086d000008B4sv00008086sd00000270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) + + pci:v00008086d000008B4sv00008086sd00008270* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 ++ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) + + pci:v00008086d000008CF* + ID_MODEL_FROM_DATABASE=Atom Processor Z2760 Integrated Graphics Controller +@@ -55770,106 +55770,106 @@ pci:v00008086d0000095A* + ID_MODEL_FROM_DATABASE=Wireless 7265 + + pci:v00008086d0000095Asv00008086sd00001010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005000* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005002* +- ID_MODEL_FROM_DATABASE=Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd0000500A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005012* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005020* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd0000502A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005090* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005100* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd0000510A* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005110* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005112* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005190* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005400* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005410* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005420* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Asv00008086sd00005490* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00005590* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009012* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009110* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009112* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009210* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009310* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009410* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Asv00008086sd00009510* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095B* + ID_MODEL_FROM_DATABASE=Wireless 7265 + + pci:v00008086d0000095Bsv00008086sd00005200* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) + + pci:v00008086d0000095Bsv00008086sd00005202* +- ID_MODEL_FROM_DATABASE=Wireless-N 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) + + pci:v00008086d0000095Bsv00008086sd00005210* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Bsv00008086sd00005290* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Bsv00008086sd00005302* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d0000095Bsv00008086sd00005310* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 ++ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) + + pci:v00008086d00000960* + ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge +@@ -55884,7 +55884,7 @@ pci:v00008086d00000A04* + ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller + + pci:v00008086d00000A04sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller (ThinkPad X240) + + pci:v00008086d00000A06* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller +@@ -55893,13 +55893,13 @@ pci:v00008086d00000A0C* + ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller + + pci:v00008086d00000A0Csv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller (ThinkPad X240) + + pci:v00008086d00000A16* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller + + pci:v00008086d00000A16sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller (ThinkPad X240) + + pci:v00008086d00000A22* + ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller +@@ -55917,7 +55917,7 @@ pci:v00008086d00000BE1* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller + + pci:v00008086d00000BE1sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller (D270S/D250S Motherboard) + + pci:v00008086d00000BE2* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller +@@ -55980,7 +55980,7 @@ pci:v00008086d00000BF5* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller + + pci:v00008086d00000BF5sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller (D270S/D250S Motherboard) + + pci:v00008086d00000BF6* + ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller +@@ -55998,10 +55998,10 @@ pci:v00008086d00000C04* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller + + pci:v00008086d00000C04sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ZBook 15) + + pci:v00008086d00000C04sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ThinkPad T440p) + + pci:v00008086d00000C05* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller +@@ -56016,7 +56016,7 @@ pci:v00008086d00000C0C* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller + + pci:v00008086d00000C0Csv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (ThinkPad T440p) + + pci:v00008086d00000C46* + ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 1 +@@ -56787,34 +56787,34 @@ pci:v00008086d00001000* + ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001000sv00000E11sd0000B0DF* +- ID_MODEL_FROM_DATABASE=NC6132 Gigabit Ethernet Adapter (1000-SX) ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6132 Gigabit Ethernet Adapter (1000-SX)) + + pci:v00008086d00001000sv00000E11sd0000B0E0* +- ID_MODEL_FROM_DATABASE=NC6133 Gigabit Ethernet Adapter (1000-LX) ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6133 Gigabit Ethernet Adapter (1000-LX)) + + pci:v00008086d00001000sv00000E11sd0000B123* +- ID_MODEL_FROM_DATABASE=NC6134 Gigabit Ethernet Adapter (1000-LX) ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6134 Gigabit Ethernet Adapter (1000-LX)) + + pci:v00008086d00001000sv00001014sd00000119* +- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) + + pci:v00008086d00001000sv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (PRO/1000 Gigabit Server Adapter) + + pci:v00008086d00001001* + ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001001sv00000E11sd0000004A* +- ID_MODEL_FROM_DATABASE=NC6136 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (NC6136 Gigabit Server Adapter) + + pci:v00008086d00001001sv00001014sd000001EA* +- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) + + pci:v00008086d00001001sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) + + pci:v00008086d00001001sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) + + pci:v00008086d00001002* + ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II +@@ -56823,64 +56823,64 @@ pci:v00008086d00001002sv00008086sd0000200E* + ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II + + pci:v00008086d00001002sv00008086sd00002013* +- ID_MODEL_FROM_DATABASE=Pro 100 SR Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 SR Mobile Combo Adapter) + + pci:v00008086d00001002sv00008086sd00002017* +- ID_MODEL_FROM_DATABASE=Pro 100 S Combo Mobile Adapter ++ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 S Combo Mobile Adapter) + + pci:v00008086d00001004* + ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001004sv00000E11sd00000049* +- ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7132 Gigabit Upgrade Module) + + pci:v00008086d00001004sv00000E11sd0000B1A4* +- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7131 Gigabit Server Adapter) + + pci:v00008086d00001004sv00001014sd000010F2* +- ID_MODEL_FROM_DATABASE=Gigabit Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (Gigabit Ethernet Server Adapter) + + pci:v00008086d00001004sv00008086sd00001004* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) + + pci:v00008086d00001004sv00008086sd00002004* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter ++ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) + + pci:v00008086d00001008* + ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001008sv00001014sd00000269* +- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) + + pci:v00008086d00001008sv00001028sd0000011B* +- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PowerEdge 1650/2550) + + pci:v00008086d00001008sv00001028sd0000011C* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) + + pci:v00008086d00001008sv00008086sd00001107* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) + + pci:v00008086d00001008sv00008086sd00002107* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) + + pci:v00008086d00001008sv00008086sd00002110* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Desktop Adapter) + + pci:v00008086d00001008sv00008086sd00003108* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) + + pci:v00008086d00001009* + ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001009sv00001014sd00000268* +- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) + + pci:v00008086d00001009sv00008086sd00001109* +- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) + + pci:v00008086d00001009sv00008086sd00002109* +- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter ++ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) + + pci:v00008086d0000100A* + ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller +@@ -56889,286 +56889,286 @@ pci:v00008086d0000100C* + ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000100Csv00008086sd00001112* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) + + pci:v00008086d0000100Csv00008086sd00002112* +- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) + + pci:v00008086d0000100D* + ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) + + pci:v00008086d0000100Dsv00001028sd00000123* +- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (PRO/1000 XT Network Connection) + + pci:v00008086d0000100Dsv00001079sd0000891F* +- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) + + pci:v00008086d0000100Dsv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (CT8 mainboard) + + pci:v00008086d0000100Dsv00008086sd0000110D* +- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection ++ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) + + pci:v00008086d0000100E* + ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller + + pci:v00008086d0000100Esv00001014sd00000265* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Esv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Esv00001014sd0000026A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Esv00001028sd0000002E* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX260) + + pci:v00008086d0000100Esv00001028sd00000134* +- ID_MODEL_FROM_DATABASE=PowerEdge 600SC ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PowerEdge 600SC) + + pci:v00008086d0000100Esv00001028sd00000151* +- ID_MODEL_FROM_DATABASE=Optiplex GX270 ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX270) + + pci:v00008086d0000100Esv0000107Bsd00008920* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d0000100Esv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (QEMU Virtual Machine) + + pci:v00008086d0000100Esv00008086sd0000001E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d0000100Esv00008086sd0000002E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d0000100Esv00008086sd00001376* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000100Esv00008086sd00001476* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000100F* + ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000100Fsv00001014sd00000269* +- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) + + pci:v00008086d0000100Fsv00001014sd0000028E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Fsv000015ADsd00000750* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Single Port Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Single Port Adapter) + + pci:v00008086d0000100Fsv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) + + pci:v00008086d0000100Fsv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Server Adapter) + + pci:v00008086d00001010* + ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001010sv00000E11sd000000DB* +- ID_MODEL_FROM_DATABASE=NC7170 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (NC7170 Gigabit Server Adapter) + + pci:v00008086d00001010sv00001014sd0000027C* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Adapter) + + pci:v00008086d00001010sv000015ADsd00000760* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Adapter) + + pci:v00008086d00001010sv000018FBsd00007872* +- ID_MODEL_FROM_DATABASE=RESlink-X ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (RESlink-X) + + pci:v00008086d00001010sv00001FC1sd00000026* +- ID_MODEL_FROM_DATABASE=Niagara 2260 Bypass Card ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (Niagara 2260 Bypass Card) + + pci:v00008086d00001010sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CT8 mainboard) + + pci:v00008086d00001010sv00004C53sd000010A0* +- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CA3/CR3 mainboard) + + pci:v00008086d00001010sv00008086sd00001011* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d00001010sv00008086sd00001012* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d00001010sv00008086sd0000101A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Connection) + + pci:v00008086d00001010sv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (SE7501HG2 Mainboard) + + pci:v00008086d00001011* + ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001011sv00001014sd00000268* +- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) + + pci:v00008086d00001011sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter) + + pci:v00008086d00001011sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter (LX) ++ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter (LX)) + + pci:v00008086d00001012* + ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) + + pci:v00008086d00001012sv00000E11sd000000DC* +- ID_MODEL_FROM_DATABASE=NC6170 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (NC6170 Gigabit Server Adapter) + + pci:v00008086d00001012sv00008086sd00001012* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Dual Port Server Adapter) + + pci:v00008086d00001013* + ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller + + pci:v00008086d00001013sv00008086sd00000013* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001013sv00008086sd00001013* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001013sv00008086sd00001113* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d00001014* + ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller + + pci:v00008086d00001014sv00008086sd00000014* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Connection ++ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Desktop Connection) + + pci:v00008086d00001014sv00008086sd00001014* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001015* + ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) + + pci:v00008086d00001015sv00008086sd00001015* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001016* + ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) + + pci:v00008086d00001016sv00001014sd0000052C* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001016sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001016sv00008086sd00001016* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001017* + ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller + + pci:v00008086d00001017sv00008086sd00001017* +- ID_MODEL_FROM_DATABASE=PR0/1000 MT Desktop Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (PR0/1000 MT Desktop Connection) + + pci:v00008086d00001018* + ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller + + pci:v00008086d00001018sv00008086sd00001018* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001019* + ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller + + pci:v00008086d00001019sv00001458sd00001019* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d00001019sv00001458sd0000E000* +- ID_MODEL_FROM_DATABASE=Intel Gigabit Ethernet (Kenai II) ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel Gigabit Ethernet (Kenai II)) + + pci:v00008086d00001019sv00008086sd00001019* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Desktop Connection ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (PRO/1000 CT Desktop Connection) + + pci:v00008086d00001019sv00008086sd0000301F* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D865PERL mainboard) + + pci:v00008086d00001019sv00008086sd00003025* +- ID_MODEL_FROM_DATABASE=D875PBZ motherboard ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D875PBZ motherboard) + + pci:v00008086d00001019sv00008086sd0000302C* +- ID_MODEL_FROM_DATABASE=Intel 82865G Mainboard (D865GBF) ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel 82865G Mainboard (D865GBF)) + + pci:v00008086d00001019sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (S875WP1-E mainboard) + + pci:v00008086d0000101A* + ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) + + pci:v00008086d0000101Asv00008086sd0000101A* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) (PRO/1000 CT Mobile Connection) + + pci:v00008086d0000101D* + ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller + + pci:v00008086d0000101Dsv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (PRO/1000 MT Quad Port Server Adapter) + + pci:v00008086d0000101E* + ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) + + pci:v00008086d0000101Esv00001014sd00000549* +- ID_MODEL_FROM_DATABASE=Thinkpad ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (Thinkpad) + + pci:v00008086d0000101Esv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d0000101Esv00008086sd0000101E* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001026* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + + pci:v00008086d00001026sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d00001026sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision 470) + + pci:v00008086d00001026sv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) + + pci:v00008086d00001026sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) + + pci:v00008086d00001026sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) + + pci:v00008086d00001026sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 GT Server Adapter) + + pci:v00008086d00001026sv00008086sd00001026* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) + + pci:v00008086d00001027* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + + pci:v00008086d00001027sv0000103Csd00003103* +- ID_MODEL_FROM_DATABASE=NC310F PCI-X Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (NC310F PCI-X Gigabit Server Adapter) + + pci:v00008086d00001027sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) + + pci:v00008086d00001027sv00008086sd00001002* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) + + pci:v00008086d00001027sv00008086sd00001003* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) + + pci:v00008086d00001027sv00008086sd00001027* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter) + + pci:v00008086d00001028* + ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller + + pci:v00008086d00001028sv00008086sd00001028* +- ID_MODEL_FROM_DATABASE=PRO/1000 MB Server Connection ++ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MB Server Connection) + + pci:v00008086d00001029* + ID_MODEL_FROM_DATABASE=82559 Ethernet Controller +@@ -57180,31 +57180,31 @@ pci:v00008086d00001031* + ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller + + pci:v00008086d00001031sv00001014sd00000209* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (ThinkPad A/T/X Series) + + pci:v00008086d00001031sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00001031sv0000104Dsd0000813C* +- ID_MODEL_FROM_DATABASE=Vaio PCG-GRV616G ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GRV616G) + + pci:v00008086d00001031sv0000107Bsd00005350* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C000* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C003* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00001031sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (vpr Matrix 170B4) + + pci:v00008086d00001032* + ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE Ethernet Controller +@@ -57228,16 +57228,16 @@ pci:v00008086d00001038* + ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller + + pci:v00008086d00001038sv00000E11sd00000098* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller (Evo N600c) + + pci:v00008086d00001039* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller + + pci:v00008086d00001039sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (NetVista A30p) + + pci:v00008086d00001039sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH1 ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (PC8 onboard ethernet ETH1) + + pci:v00008086d0000103A* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (CNR) Ethernet Controller +@@ -57252,13 +57252,13 @@ pci:v00008086d0000103D* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller + + pci:v00008086d0000103Dsv00001014sd00000522* +- ID_MODEL_FROM_DATABASE=ThinkPad R40 ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (ThinkPad R40) + + pci:v00008086d0000103Dsv00001028sd00002002* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (Latitude D500) + + pci:v00008086d0000103Dsv00008086sd0000103D* +- ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller ++ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (82562EZ 10/100 Ethernet Controller) + + pci:v00008086d0000103E* + ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (MOB) Ethernet Controller +@@ -57267,43 +57267,43 @@ pci:v00008086d00001040* + ID_MODEL_FROM_DATABASE=536EP Data Fax Modem + + pci:v00008086d00001040sv000016BEsd00001040* +- ID_MODEL_FROM_DATABASE=V.9X DSP Data Fax Modem ++ ID_MODEL_FROM_DATABASE=536EP Data Fax Modem (V.9X DSP Data Fax Modem) + + pci:v00008086d00001043* + ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter + + pci:v00008086d00001043sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (tc1100 tablet) + + pci:v00008086d00001043sv00008086sd00002522* +- ID_MODEL_FROM_DATABASE=Samsung X10/P30 integrated WLAN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Samsung X10/P30 integrated WLAN) + + pci:v00008086d00001043sv00008086sd00002527* +- ID_MODEL_FROM_DATABASE=MIM2000/Centrino ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (MIM2000/Centrino) + + pci:v00008086d00001043sv00008086sd00002561* +- ID_MODEL_FROM_DATABASE=Dell Latitude D800 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Dell Latitude D800) + + pci:v00008086d00001043sv00008086sd00002581* +- ID_MODEL_FROM_DATABASE=Toshiba Satellite M10 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Toshiba Satellite M10) + + pci:v00008086d00001048* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d00001048sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001048sv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001049* + ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection + + pci:v00008086d00001049sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (Compaq 6910p) + + pci:v00008086d00001049sv000017AAsd000020B9* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (ThinkPad T61/R61) + + pci:v00008086d0000104A* + ID_MODEL_FROM_DATABASE=82566DM Gigabit Network Connection +@@ -57321,22 +57321,22 @@ pci:v00008086d00001050* + ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller + + pci:v00008086d00001050sv00001028sd0000019D* +- ID_MODEL_FROM_DATABASE=Dimension 3000 ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Dimension 3000) + + pci:v00008086d00001050sv00001462sd0000728C* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d00001050sv00001462sd0000758C* +- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (MS-6758 (875P Neo)) + + pci:v00008086d00001050sv00008086sd00003020* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (D865PERL mainboard) + + pci:v00008086d00001050sv00008086sd0000302F* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Desktop Board D865GBF) + + pci:v00008086d00001050sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (S875WP1-E mainboard) + + pci:v00008086d00001051* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) integrated LAN Controller +@@ -57369,70 +57369,70 @@ pci:v00008086d0000105E* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d0000105Esv0000103Csd00007044* +- ID_MODEL_FROM_DATABASE=NC360T PCI Express Dual Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (NC360T PCI Express Dual Port Gigabit Server Adapter) + + pci:v00008086d0000105Esv0000103Csd0000704E* +- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T (PCIe) [AD337A] ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-T (PCIe) [AD337A]) + + pci:v00008086d0000105Esv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d0000105Esv00001775sd00006003* +- ID_MODEL_FROM_DATABASE=Telum GE-QT ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Telum GE-QT) + + pci:v00008086d0000105Esv000018DFsd00001214* +- ID_MODEL_FROM_DATABASE=2x 1GbE, PCIe x1, dual Intel 82571EB chips ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (2x 1GbE, PCIe x1, dual Intel 82571EB chips) + + pci:v00008086d0000105Esv00008086sd0000005E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Connection) + + pci:v00008086d0000105Esv00008086sd0000105E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Network Connection) + + pci:v00008086d0000105Esv00008086sd000010D5* +- ID_MODEL_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (82571PT Gigabit PT Quad Port Server ExpressModule) + + pci:v00008086d0000105Esv00008086sd0000115E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) + + pci:v00008086d0000105Esv00008086sd0000125E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) + + pci:v00008086d0000105Esv00008086sd0000135E* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) + + pci:v00008086d0000105F* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d0000105Fsv0000103Csd0000704F* +- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-SX (PCIe) [AD338A] ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-SX (PCIe) [AD338A]) + + pci:v00008086d0000105Fsv00008086sd0000005A* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d0000105Fsv00008086sd0000115F* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d0000105Fsv00008086sd0000125F* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d0000105Fsv00008086sd0000135F* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) + + pci:v00008086d00001060* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d00001060sv00008086sd00000060* +- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) + + pci:v00008086d00001060sv00008086sd00001060* +- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) + + pci:v00008086d00001064* + ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller + + pci:v00008086d00001064sv00001043sd000080F8* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller (P5GD1-VW Mainboard) + + pci:v00008086d00001065* + ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller +@@ -57459,148 +57459,148 @@ pci:v00008086d00001075* + ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller + + pci:v00008086d00001075sv00001028sd00000165* +- ID_MODEL_FROM_DATABASE=PowerEdge 750 ++ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PowerEdge 750) + + pci:v00008086d00001075sv00008086sd00000075* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection ++ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) + + pci:v00008086d00001075sv00008086sd00001075* +- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection ++ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) + + pci:v00008086d00001076* + ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller + + pci:v00008086d00001076sv00001028sd00000165* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00001028sd0000106D* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00008086sd00000076* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00008086sd00001076* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) + + pci:v00008086d00001076sv00008086sd00001176* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) + + pci:v00008086d00001076sv00008086sd00001276* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Adapter ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Adapter) + + pci:v00008086d00001077* + ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller + + pci:v00008086d00001077sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001077sv00008086sd00000077* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001077sv00008086sd00001077* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection ++ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) + + pci:v00008086d00001078* + ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller + + pci:v00008086d00001078sv00008086sd00001078* +- ID_MODEL_FROM_DATABASE=82541ER-based Network Connection ++ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (82541ER-based Network Connection) + + pci:v00008086d00001079* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d00001079sv0000103Csd000012A6* +- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T [A9900A] ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000Base-T [A9900A]) + + pci:v00008086d00001079sv0000103Csd000012CF* +- ID_MODEL_FROM_DATABASE=Core Dual Port 1000Base-T [AB352A] ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Core Dual Port 1000Base-T [AB352A]) + + pci:v00008086d00001079sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (V5D Single Board Computer Gigabit Ethernet) + + pci:v00008086d00001079sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CE9) + + pci:v00008086d00001079sv00001FC1sd00000027* +- ID_MODEL_FROM_DATABASE=Niagara 2261 Failover NIC ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Niagara 2261 Failover NIC) + + pci:v00008086d00001079sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d00001079sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CL9 mainboard) + + pci:v00008086d00001079sv00008086sd00000079* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) + + pci:v00008086d00001079sv00008086sd00001079* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) + + pci:v00008086d00001079sv00008086sd00001179* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d00001079sv00008086sd0000117A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) + + pci:v00008086d0000107A* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d0000107Asv0000103Csd000012A8* +- ID_MODEL_FROM_DATABASE=Dual Port 1000base-SX [A9899A] ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000base-SX [A9899A]) + + pci:v00008086d0000107Asv00008086sd0000107A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) + + pci:v00008086d0000107Asv00008086sd0000127A* +- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) + + pci:v00008086d0000107B* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d0000107Bsv00008086sd0000007B* +- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) + + pci:v00008086d0000107Bsv00008086sd0000107B* +- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) + + pci:v00008086d0000107C* + ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller + + pci:v00008086d0000107Csv00008086sd00001376* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000107Csv00008086sd00001476* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) + + pci:v00008086d0000107D* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000107Dsv00008086sd00001082* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) + + pci:v00008086d0000107Dsv00008086sd00001084* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) + + pci:v00008086d0000107Dsv00008086sd00001092* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) + + pci:v00008086d0000107E* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) + + pci:v00008086d0000107Esv00008086sd00001084* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) + + pci:v00008086d0000107Esv00008086sd00001085* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) + + pci:v00008086d0000107Esv00008086sd00001094* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) + + pci:v00008086d0000107F* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller +@@ -57636,16 +57636,16 @@ pci:v00008086d0000108A* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller + + pci:v00008086d0000108Asv00008086sd0000108A* +- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) + + pci:v00008086d0000108Asv00008086sd0000118A* +- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) + + pci:v00008086d0000108B* + ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) + + pci:v00008086d0000108Bsv00001462sd0000176C* +- ID_MODEL_FROM_DATABASE=on board on MSI 945P - NEO (MS-7176) ++ ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) (on board on MSI 945P - NEO (MS-7176)) + + pci:v00008086d0000108C* + ID_MODEL_FROM_DATABASE=82573E Gigabit Ethernet Controller (Copper) +@@ -57675,13 +57675,13 @@ pci:v00008086d00001096* + ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001096sv000015D9sd00001096* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Motherboard) + + pci:v00008086d00001096sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (X7DVL-E-O motherboard) + + pci:v00008086d00001096sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Intel S5000PSLSATA Server Board) + + pci:v00008086d00001097* + ID_MODEL_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber) +@@ -57693,28 +57693,28 @@ pci:v00008086d00001099* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) + + pci:v00008086d00001099sv00008086sd00001099* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) + + pci:v00008086d0000109A* + ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller + + pci:v00008086d0000109Asv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=PRO/1000 PL ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL) + + pci:v00008086d0000109Asv000017AAsd00002001* +- ID_MODEL_FROM_DATABASE=ThinkPad T60 ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad T60) + + pci:v00008086d0000109Asv000017AAsd0000207E* +- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad X60/X60s) + + pci:v00008086d0000109Asv00008086sd0000109A* +- ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL Network Connection) + + pci:v00008086d0000109Asv00008086sd0000309C* +- ID_MODEL_FROM_DATABASE=Desktop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D945GTP) + + pci:v00008086d0000109Asv00008086sd000030A5* +- ID_MODEL_FROM_DATABASE=Desktop Board D975XBX ++ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D975XBX) + + pci:v00008086d0000109B* + ID_MODEL_FROM_DATABASE=82546GB PRO/1000 GF Quad Port Server Adapter +@@ -57723,10 +57723,10 @@ pci:v00008086d0000109E* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d0000109Esv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) + + pci:v00008086d0000109Esv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) + + pci:v00008086d000010A0* + ID_MODEL_FROM_DATABASE=82571EB PRO/1000 AT Quad Port Bypass Adapter +@@ -57738,19 +57738,19 @@ pci:v00008086d000010A4* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller + + pci:v00008086d000010A4sv00008086sd000010A4* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) + + pci:v00008086d000010A4sv00008086sd000011A4* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) + + pci:v00008086d000010A5* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) + + pci:v00008086d000010A5sv00008086sd000010A5* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) + + pci:v00008086d000010A5sv00008086sd000010A6* +- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) + + pci:v00008086d000010A6* + ID_MODEL_FROM_DATABASE=82599EB 10-Gigabit Dummy Function +@@ -57759,7 +57759,7 @@ pci:v00008086d000010A7* + ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection + + pci:v00008086d000010A7sv00008086sd000010A8* +- ID_MODEL_FROM_DATABASE=82575EB Gigabit Riser Card ++ ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection (82575EB Gigabit Riser Card) + + pci:v00008086d000010A9* + ID_MODEL_FROM_DATABASE=82575EB Gigabit Backplane Connection +@@ -57780,13 +57780,13 @@ pci:v00008086d000010B5* + ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) + + pci:v00008086d000010B5sv0000103Csd00003109* +- ID_MODEL_FROM_DATABASE=NC340T PCI-X Quad-port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (NC340T PCI-X Quad-port Gigabit Server Adapter) + + pci:v00008086d000010B5sv00008086sd00001099* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) + + pci:v00008086d000010B5sv00008086sd00001199* +- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) + + pci:v00008086d000010B6* + ID_MODEL_FROM_DATABASE=82598 10GbE PCI-Express Ethernet Controller +@@ -57795,13 +57795,13 @@ pci:v00008086d000010B9* + ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) + + pci:v00008086d000010B9sv0000103Csd0000704A* +- ID_MODEL_FROM_DATABASE=HP 110T PCIe Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (HP 110T PCIe Gigabit Server Adapter) + + pci:v00008086d000010B9sv00008086sd00001083* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) + + pci:v00008086d000010B9sv00008086sd00001093* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) + + pci:v00008086d000010BA* + ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) +@@ -57813,22 +57813,22 @@ pci:v00008086d000010BC* + ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) + + pci:v00008086d000010BCsv0000103Csd0000704B* +- ID_MODEL_FROM_DATABASE=NC364T PCI Express Quad Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (NC364T PCI Express Quad Port Gigabit Server Adapter) + + pci:v00008086d000010BCsv0000108Esd000011BC* +- ID_MODEL_FROM_DATABASE=x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter) + + pci:v00008086d000010BCsv00008086sd000010BC* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) + + pci:v00008086d000010BCsv00008086sd000011BC* +- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) + + pci:v00008086d000010BD* + ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection + + pci:v00008086d000010BDsv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection (OptiPlex 755) + + pci:v00008086d000010BF* + ID_MODEL_FROM_DATABASE=82567LF Gigabit Network Connection +@@ -57837,7 +57837,7 @@ pci:v00008086d000010C0* + ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection + + pci:v00008086d000010C0sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection (Inspiron 530) + + pci:v00008086d000010C2* + ID_MODEL_FROM_DATABASE=82562G-2 10/100 Network Connection +@@ -57855,67 +57855,67 @@ pci:v00008086d000010C6* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection + + pci:v00008086d000010C6sv00008086sd0000A05F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) + + pci:v00008086d000010C6sv00008086sd0000A15F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) + + pci:v00008086d000010C7* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection + + pci:v00008086d000010C7sv00001014sd0000037F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C7sv00001014sd00000380* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) + + pci:v00008086d000010C7sv00008086sd0000A05F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C7sv00008086sd0000A15F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C7sv00008086sd0000A16F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) + + pci:v00008086d000010C8* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection + + pci:v00008086d000010C8sv00008086sd0000A10C* +- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) + + pci:v00008086d000010C8sv00008086sd0000A11C* +- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) + + pci:v00008086d000010C8sv00008086sd0000A12C* +- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) + + pci:v00008086d000010C9* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010C9sv0000103Csd000031EF* +- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) + + pci:v00008086d000010C9sv0000103Csd0000323F* +- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) + + pci:v00008086d000010C9sv000010A9sd00008028* +- ID_MODEL_FROM_DATABASE=UV-BaseIO dual-port GbE ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (UV-BaseIO dual-port GbE) + + pci:v00008086d000010C9sv000013A3sd00000037* +- ID_MODEL_FROM_DATABASE=DS4100 Secure Multi-Gigabit Server Adapter with Compression ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (DS4100 Secure Multi-Gigabit Server Adapter with Compression) + + pci:v00008086d000010C9sv000015D9sd0000A811* +- ID_MODEL_FROM_DATABASE=H8DGU ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (H8DGU) + + pci:v00008086d000010C9sv00008086sd0000A01C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) + + pci:v00008086d000010C9sv00008086sd0000A03C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) + + pci:v00008086d000010C9sv00008086sd0000A04C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) + + pci:v00008086d000010CA* + ID_MODEL_FROM_DATABASE=82576 Virtual Function +@@ -57936,34 +57936,34 @@ pci:v00008086d000010D3* + ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection + + pci:v00008086d000010D3sv0000103Csd00003250* +- ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112T PCI Express single Port Gigabit Server Adapter) + + pci:v00008086d000010D3sv00001043sd00008369* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) + + pci:v00008086d000010D3sv000010A9sd00008029* +- ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) + + pci:v00008086d000010D3sv000015D9sd0000060A* +- ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (X7SPA-H/X7SPA-HF Motherboard) + + pci:v00008086d000010D3sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (C7SIM-Q Motherboard) + + pci:v00008086d000010D3sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT2 Desktop Adapter) + + pci:v00008086d000010D3sv00008086sd0000357A* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Server Board S1200BTS) + + pci:v00008086d000010D3sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT Desktop Adapter) + + pci:v00008086d000010D3sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC1-GROOVE) + + pci:v00008086d000010D3sv0000E4BFsd000050C2* +- ID_MODEL_FROM_DATABASE=PC2-LIMBO ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC2-LIMBO) + + pci:v00008086d000010D4* + ID_MODEL_FROM_DATABASE=Matrox Concord GE (customized Intel 82574) +@@ -57975,13 +57975,13 @@ pci:v00008086d000010D6* + ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection + + pci:v00008086d000010D6sv00008086sd000010D6* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010D6sv00008086sd0000145A* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010D6sv00008086sd0000147A* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010D8* + ID_MODEL_FROM_DATABASE=82599EB 10 Gigabit Unprogrammed +@@ -57990,13 +57990,13 @@ pci:v00008086d000010D9* + ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter + + pci:v00008086d000010D9sv0000103Csd00001716* +- ID_MODEL_FROM_DATABASE=NC360m Dual Port 1GbE BL-c Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter (NC360m Dual Port 1GbE BL-c Adapter) + + pci:v00008086d000010DA* + ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter + + pci:v00008086d000010DAsv0000103Csd00001717* +- ID_MODEL_FROM_DATABASE=NC364m Quad Port 1GbE BL-c Adapter ++ ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter (NC364m Quad Port 1GbE BL-c Adapter) + + pci:v00008086d000010DB* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit Dual Port Network Connection +@@ -58014,13 +58014,13 @@ pci:v00008086d000010E1* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection + + pci:v00008086d000010E1sv00008086sd0000A15F* +- ID_MODEL_FROM_DATABASE=10-Gigabit SR Dual Port Express Module ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit SR Dual Port Express Module) + + pci:v00008086d000010E2* + ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection + + pci:v00008086d000010E2sv00008086sd000010E2* +- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) + + pci:v00008086d000010E5* + ID_MODEL_FROM_DATABASE=82567LM-4 Gigabit Network Connection +@@ -58029,37 +58029,37 @@ pci:v00008086d000010E6* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010E6sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) + + pci:v00008086d000010E6sv00008086sd0000A02F* +- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) + + pci:v00008086d000010E7* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010E7sv0000103Csd000031FF* +- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual Port BL-c Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual Port BL-c Gigabit Server Adapter) + + pci:v00008086d000010E8* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d000010E8sv00008086sd0000A02B* +- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) + + pci:v00008086d000010E8sv00008086sd0000A02C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) + + pci:v00008086d000010EA* + ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection + + pci:v00008086d000010EAsv00001028sd0000040A* +- ID_MODEL_FROM_DATABASE=Latitude E6410 ++ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6410) + + pci:v00008086d000010EAsv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6510) + + pci:v00008086d000010EAsv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (PC1-GROOVE) + + pci:v00008086d000010EB* + ID_MODEL_FROM_DATABASE=82577LC Gigabit Network Connection +@@ -58068,10 +58068,10 @@ pci:v00008086d000010EC* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection + + pci:v00008086d000010ECsv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) + + pci:v00008086d000010ECsv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) + + pci:v00008086d000010ED* + ID_MODEL_FROM_DATABASE=82599 Ethernet Controller Virtual Function +@@ -58080,10 +58080,10 @@ pci:v00008086d000010EF* + ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection + + pci:v00008086d000010EFsv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (OptiPlex 980) + + pci:v00008086d000010EFsv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (C7SIM-Q Motherboard) + + pci:v00008086d000010F0* + ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection +@@ -58092,19 +58092,19 @@ pci:v00008086d000010F1* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection + + pci:v00008086d000010F1sv00008086sd0000A20F* +- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) + + pci:v00008086d000010F1sv00008086sd0000A21F* +- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) + + pci:v00008086d000010F4* + ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection + + pci:v00008086d000010F4sv00008086sd0000106F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) + + pci:v00008086d000010F4sv00008086sd0000A06F* +- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) + + pci:v00008086d000010F5* + ID_MODEL_FROM_DATABASE=82567LM Gigabit Network Connection +@@ -58116,25 +58116,25 @@ pci:v00008086d000010F7* + ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection + + pci:v00008086d000010F7sv0000108Esd00007B12* +- ID_MODEL_FROM_DATABASE=Sun Dual 10GbE PCIe 2.0 FEM ++ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Sun Dual 10GbE PCIe 2.0 FEM) + + pci:v00008086d000010F7sv00008086sd0000000D* +- ID_MODEL_FROM_DATABASE=Ethernet Mezzanine Adapter X520-KX4-2 ++ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Ethernet Mezzanine Adapter X520-KX4-2) + + pci:v00008086d000010F8* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection + + pci:v00008086d000010F8sv00001028sd00001F63* +- ID_MODEL_FROM_DATABASE=10GbE 2P X520k bNDC ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (10GbE 2P X520k bNDC) + + pci:v00008086d000010F8sv0000103Csd000017D2* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560M Adapter) + + pci:v00008086d000010F8sv0000103Csd000018D0* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLB Adapter ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560FLB Adapter) + + pci:v00008086d000010F8sv00008086sd0000000C* +- ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4-KR Mezz ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet X520 10GbE Dual Port KX4-KR Mezz) + + pci:v00008086d000010F9* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection +@@ -58143,58 +58143,58 @@ pci:v00008086d000010FB* + ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection + + pci:v00008086d000010FBsv00001028sd00001F72* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X520/I350 rNDC ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10G 4P X520/I350 rNDC) + + pci:v00008086d000010FBsv0000103Csd000017D0* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560FLR-SFP+ Adapter) + + pci:v00008086d000010FBsv0000103Csd000017D2* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560M Adapter) + + pci:v00008086d000010FBsv0000103Csd000017D3* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560SFP+ Adapter) + + pci:v00008086d000010FBsv0000103Csd0000211B* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port P560FLR-SFP+ Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port P560FLR-SFP+ Adapter) + + pci:v00008086d000010FBsv0000103Csd00002147* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port 561i Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port 561i Adapter) + + pci:v00008086d000010FBsv0000103Csd00002159* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 562i Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 562i Adapter) + + pci:v00008086d000010FBsv0000108Esd00007B11* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00001734sd000011A9* +- ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (10 Gigabit Dual Port Network Connection) + + pci:v00008086d000010FBsv000017AAsd00001071* +- ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (ThinkServer X520-2 AnyFabric) + + pci:v00008086d000010FBsv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-DA2) + + pci:v00008086d000010FBsv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) + + pci:v00008086d000010FBsv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet OCP Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd0000000A* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) + + pci:v00008086d000010FBsv00008086sd0000000C* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd00007A11* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FBsv00008086sd00007A12* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 ++ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) + + pci:v00008086d000010FC* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection +@@ -58209,19 +58209,19 @@ pci:v00008086d00001130* + ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub + + pci:v00008086d00001130sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Travelmate 612 TX) + + pci:v00008086d00001130sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (TUSL2-C Mainboard) + + pci:v00008086d00001130sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Vaio PCG-FX403) + + pci:v00008086d00001130sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EEA2 mainboard) + + pci:v00008086d00001130sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EGEW Mainboard) + + pci:v00008086d00001131* + ID_MODEL_FROM_DATABASE=82815 815 Chipset AGP Bridge +@@ -58230,28 +58230,28 @@ pci:v00008086d00001132* + ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) + + pci:v00008086d00001132sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Travelmate 612 TX) + + pci:v00008086d00001132sv0000103Csd00002001* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (e-pc 40) + + pci:v00008086d00001132sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Vaio PCG-FX403) + + pci:v00008086d00001132sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 Mainboard ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA2 Mainboard) + + pci:v00008086d00001132sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=D815EEA Motherboard ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA Motherboard) + + pci:v00008086d00001132sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EGEW Mainboard) + + pci:v00008086d00001161* + ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller + + pci:v00008086d00001161sv00008086sd00001161* +- ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub APIC ++ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller (82806AA PCI64 Hub APIC) + + pci:v00008086d00001162* + ID_MODEL_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip +@@ -58260,25 +58260,25 @@ pci:v00008086d00001200* + ID_MODEL_FROM_DATABASE=IXP1200 Network Processor + + pci:v00008086d00001200sv0000172Asd00000000* +- ID_MODEL_FROM_DATABASE=AEP SSL Accelerator ++ ID_MODEL_FROM_DATABASE=IXP1200 Network Processor (AEP SSL Accelerator) + + pci:v00008086d00001209* + ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller + + pci:v00008086d00001209sv0000140Bsd00000610* +- ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PMC610 quad Ethernet board) + + pci:v00008086d00001209sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (QEMU Virtual Machine) + + pci:v00008086d00001209sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CT7 mainboard) + + pci:v00008086d00001209sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CE7 mainboard) + + pci:v00008086d00001209sv00004C53sd00001070* +- ID_MODEL_FROM_DATABASE=PC6 mainboard ++ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PC6 mainboard) + + pci:v00008086d00001221* + ID_MODEL_FROM_DATABASE=82092AA PCI to PCMCIA Bridge +@@ -58305,487 +58305,487 @@ pci:v00008086d00001229* + ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 + + pci:v00008086d00001229sv00000E11sd00003001* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003002* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003003* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003004* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003005* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003006* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd00003007* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) + + pci:v00008086d00001229sv00000E11sd0000B01E* +- ID_MODEL_FROM_DATABASE=NC3120 Fast Ethernet NIC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3120 Fast Ethernet NIC) + + pci:v00008086d00001229sv00000E11sd0000B01F* +- ID_MODEL_FROM_DATABASE=NC3122 Fast Ethernet NIC (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3122 Fast Ethernet NIC (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B02F* +- ID_MODEL_FROM_DATABASE=NC1120 Ethernet NIC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC1120 Ethernet NIC) + + pci:v00008086d00001229sv00000E11sd0000B04A* +- ID_MODEL_FROM_DATABASE=Netelligent 10/100TX NIC with Wake on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netelligent 10/100TX NIC with Wake on LAN) + + pci:v00008086d00001229sv00000E11sd0000B0C6* +- ID_MODEL_FROM_DATABASE=NC3161 Fast Ethernet NIC (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3161 Fast Ethernet NIC (embedded, WOL)) + + pci:v00008086d00001229sv00000E11sd0000B0C7* +- ID_MODEL_FROM_DATABASE=NC3160 Fast Ethernet NIC (embedded) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3160 Fast Ethernet NIC (embedded)) + + pci:v00008086d00001229sv00000E11sd0000B0D7* +- ID_MODEL_FROM_DATABASE=NC3121 Fast Ethernet NIC (WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3121 Fast Ethernet NIC (WOL)) + + pci:v00008086d00001229sv00000E11sd0000B0DD* +- ID_MODEL_FROM_DATABASE=NC3131 Fast Ethernet NIC (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3131 Fast Ethernet NIC (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B0DE* +- ID_MODEL_FROM_DATABASE=NC3132 Fast Ethernet Module (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3132 Fast Ethernet Module (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B0E1* +- ID_MODEL_FROM_DATABASE=NC3133 Fast Ethernet Module (100-FX) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3133 Fast Ethernet Module (100-FX)) + + pci:v00008086d00001229sv00000E11sd0000B134* +- ID_MODEL_FROM_DATABASE=NC3163 Fast Ethernet NIC (embedded, WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3163 Fast Ethernet NIC (embedded, WOL)) + + pci:v00008086d00001229sv00000E11sd0000B13C* +- ID_MODEL_FROM_DATABASE=NC3162 Fast Ethernet NIC (embedded) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3162 Fast Ethernet NIC (embedded)) + + pci:v00008086d00001229sv00000E11sd0000B144* +- ID_MODEL_FROM_DATABASE=NC3123 Fast Ethernet NIC (WOL) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3123 Fast Ethernet NIC (WOL)) + + pci:v00008086d00001229sv00000E11sd0000B163* +- ID_MODEL_FROM_DATABASE=NC3134 Fast Ethernet NIC (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3134 Fast Ethernet NIC (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B164* +- ID_MODEL_FROM_DATABASE=NC3135 Fast Ethernet Upgrade Module (dual port) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3135 Fast Ethernet Upgrade Module (dual port)) + + pci:v00008086d00001229sv00000E11sd0000B1A4* +- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC7131 Gigabit Server Adapter) + + pci:v00008086d00001229sv00001014sd0000005C* +- ID_MODEL_FROM_DATABASE=82558B Ethernet Pro 10/100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B Ethernet Pro 10/100) + + pci:v00008086d00001229sv00001014sd000001BC* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN On Motherboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN On Motherboard) + + pci:v00008086d00001229sv00001014sd000001F1* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001014sd000001F2* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001014sd00000207* +- ID_MODEL_FROM_DATABASE=Ethernet Pro/100 S ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Ethernet Pro/100 S) + + pci:v00008086d00001229sv00001014sd00000232* +- ID_MODEL_FROM_DATABASE=10/100 Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Dual Port Server Adapter) + + pci:v00008086d00001229sv00001014sd0000023A* +- ID_MODEL_FROM_DATABASE=ThinkPad R30 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad R30) + + pci:v00008086d00001229sv00001014sd0000105C* +- ID_MODEL_FROM_DATABASE=Netfinity 10/100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netfinity 10/100) + + pci:v00008086d00001229sv00001014sd00002205* +- ID_MODEL_FROM_DATABASE=ThinkPad A22p ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad A22p) + + pci:v00008086d00001229sv00001014sd0000305C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Management Adapter) + + pci:v00008086d00001229sv00001014sd0000405C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Adapter with Alert on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Adapter with Alert on LAN) + + pci:v00008086d00001229sv00001014sd0000505C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) + + pci:v00008086d00001229sv00001014sd0000605C* +- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) + + pci:v00008086d00001229sv00001014sd0000705C* +- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) + + pci:v00008086d00001229sv00001014sd0000805C* +- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) + + pci:v00008086d00001229sv00001028sd0000009B* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001028sd000000CE* +- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) + + pci:v00008086d00001229sv00001033sd00008000* +- ID_MODEL_FROM_DATABASE=PC-9821X-B06 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC-9821X-B06) + + pci:v00008086d00001229sv00001033sd00008016* +- ID_MODEL_FROM_DATABASE=PK-UG-X006 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) + + pci:v00008086d00001229sv00001033sd0000801F* +- ID_MODEL_FROM_DATABASE=PK-UG-X006 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) + + pci:v00008086d00001229sv00001033sd00008026* +- ID_MODEL_FROM_DATABASE=PK-UG-X006 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) + + pci:v00008086d00001229sv00001033sd00008063* +- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) + + pci:v00008086d00001229sv00001033sd00008064* +- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) + + pci:v00008086d00001229sv0000103Csd000010C0* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010C3* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010CA* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010CB* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010E3* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd000010E4* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000103Csd00001200* +- ID_MODEL_FROM_DATABASE=NetServer 10/100TX ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) + + pci:v00008086d00001229sv0000108Esd000010CF* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100(B) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100(B)) + + pci:v00008086d00001229sv000010C3sd00001100* +- ID_MODEL_FROM_DATABASE=SmartEther100 SC1100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SmartEther100 SC1100) + + pci:v00008086d00001229sv000010CFsd00001115* +- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) + + pci:v00008086d00001229sv000010CFsd00001143* +- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) + + pci:v00008086d00001229sv0000110Asd0000008B* +- ID_MODEL_FROM_DATABASE=82551QM Fast Ethernet Multifuction PCI/CardBus Controller ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82551QM Fast Ethernet Multifuction PCI/CardBus Controller) + + pci:v00008086d00001229sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH2 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC8 onboard ethernet ETH2) + + pci:v00008086d00001229sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) + + pci:v00008086d00001229sv00001179sd00000002* +- ID_MODEL_FROM_DATABASE=PCI FastEther LAN on Docker ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PCI FastEther LAN on Docker) + + pci:v00008086d00001229sv00001179sd00000003* +- ID_MODEL_FROM_DATABASE=8255x-based Fast Ethernet ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Fast Ethernet) + + pci:v00008086d00001229sv00001259sd00002560* +- ID_MODEL_FROM_DATABASE=AT-2560 100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100) + + pci:v00008086d00001229sv00001259sd00002561* +- ID_MODEL_FROM_DATABASE=AT-2560 100 FX Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100 FX Ethernet Adapter) + + pci:v00008086d00001229sv00001266sd00000001* +- ID_MODEL_FROM_DATABASE=NE10/100 Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NE10/100 Adapter) + + pci:v00008086d00001229sv000013E9sd00001000* +- ID_MODEL_FROM_DATABASE=6221L-4U ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (6221L-4U) + + pci:v00008086d00001229sv0000144Dsd00002501* +- ID_MODEL_FROM_DATABASE=SEM-2000 MiniPCI LAN Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2000 MiniPCI LAN Adapter) + + pci:v00008086d00001229sv0000144Dsd00002502* +- ID_MODEL_FROM_DATABASE=SEM-2100IL MiniPCI LAN Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2100IL MiniPCI LAN Adapter) + + pci:v00008086d00001229sv00001668sd00001100* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)) + + pci:v00008086d00001229sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CR11/VR11 Single Board Computer) + + pci:v00008086d00001229sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CE9) + + pci:v00008086d00001229sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (QEMU Virtual Machine) + + pci:v00008086d00001229sv00004C53sd00001080* +- ID_MODEL_FROM_DATABASE=CT8 mainboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CT8 mainboard) + + pci:v00008086d00001229sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PSL09 PrPMC) + + pci:v00008086d00001229sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX)) + + pci:v00008086d00001229sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (T4) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (T4)) + + pci:v00008086d00001229sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/10+ ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/10+) + + pci:v00008086d00001229sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 WfM ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 WfM) + + pci:v00008086d00001229sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=82557 10/100 ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100) + + pci:v00008086d00001229sv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=82557 10/100 with Wake on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100 with Wake on LAN) + + pci:v00008086d00001229sv00008086sd00000007* +- ID_MODEL_FROM_DATABASE=82558 10/100 Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 Adapter) + + pci:v00008086d00001229sv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=82558 10/100 with Wake on LAN ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 with Wake on LAN) + + pci:v00008086d00001229sv00008086sd00000009* +- ID_MODEL_FROM_DATABASE=82558B PRO/100+ PCI (TP) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B PRO/100+ PCI (TP)) + + pci:v00008086d00001229sv00008086sd0000000A* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) + + pci:v00008086d00001229sv00008086sd0000000B* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+) + + pci:v00008086d00001229sv00008086sd0000000C* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) + + pci:v00008086d00001229sv00008086sd0000000D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Alert On LAN II* Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Alert On LAN II* Adapter) + + pci:v00008086d00001229sv00008086sd0000000E* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN*) + + pci:v00008086d00001229sv00008086sd0000000F* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) + + pci:v00008086d00001229sv00008086sd00000011* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) + + pci:v00008086d00001229sv00008086sd00000012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (D) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (D)) + + pci:v00008086d00001229sv00008086sd00000013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (E) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (E)) + + pci:v00008086d00001229sv00008086sd00000030* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Management Adapter with Alert On LAN* GC ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Management Adapter with Alert On LAN* GC) + + pci:v00008086d00001229sv00008086sd00000031* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000040* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000041* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000042* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00000050* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) + + pci:v00008086d00001229sv00008086sd00001009* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter) + + pci:v00008086d00001229sv00008086sd0000100C* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter (PILA8470B) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter (PILA8470B)) + + pci:v00008086d00001229sv00008086sd00001012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (D) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (D)) + + pci:v00008086d00001229sv00008086sd00001013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (E) ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (E)) + + pci:v00008086d00001229sv00008086sd00001015* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Dual Port Server Adapter) + + pci:v00008086d00001229sv00008086sd00001017* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Server Adapter) + + pci:v00008086d00001229sv00008086sd00001030* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server) + + pci:v00008086d00001229sv00008086sd00001040* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) + + pci:v00008086d00001229sv00008086sd00001041* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) + + pci:v00008086d00001229sv00008086sd00001042* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) + + pci:v00008086d00001229sv00008086sd00001050* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) + + pci:v00008086d00001229sv00008086sd00001051* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) + + pci:v00008086d00001229sv00008086sd00001052* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) + + pci:v00008086d00001229sv00008086sd000010F0* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Adapter) + + pci:v00008086d00001229sv00008086sd00001229* +- ID_MODEL_FROM_DATABASE=82557/8/9 [Ethernet Pro 100] ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557/8/9 [Ethernet Pro 100]) + + pci:v00008086d00001229sv00008086sd00002009* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) + + pci:v00008086d00001229sv00008086sd0000200D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Cardbus ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Cardbus) + + pci:v00008086d00001229sv00008086sd0000200E* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 LAN+V90 Cardbus Modem ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 LAN+V90 Cardbus Modem) + + pci:v00008086d00001229sv00008086sd0000200F* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002016* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002017* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Combo Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Combo Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002018* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002019* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Combo Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Combo Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002101* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002102* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002103* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002104* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002105* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002106* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) + + pci:v00008086d00001229sv00008086sd00002107* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd00002108* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd00002200* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002201* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002202* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002203* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002204* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002205* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002206* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002207* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002208* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) + + pci:v00008086d00001229sv00008086sd00002402* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002407* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002408* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002409* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd0000240F* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002410* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002411* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002412* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00002413* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) + + pci:v00008086d00001229sv00008086sd00003000* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN on Motherboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN on Motherboard) + + pci:v00008086d00001229sv00008086sd00003001* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Basic Alert on LAN* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Basic Alert on LAN*) + + pci:v00008086d00001229sv00008086sd00003002* +- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN II* ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN II*) + + pci:v00008086d00001229sv00008086sd00003006* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003007* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003008* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd00003010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003011* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) + + pci:v00008086d00001229sv00008086sd00003012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) + + pci:v00008086d00001229sv00008086sd0000301A* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (S845WD1-E mainboard) + + pci:v00008086d00001229sv00008086sd00003411* +- ID_MODEL_FROM_DATABASE=SDS2 Mainboard ++ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SDS2 Mainboard) + + pci:v00008086d0000122D* + ID_MODEL_FROM_DATABASE=430FX - 82437FX TSC [Triton I] +@@ -58809,7 +58809,7 @@ pci:v00008086d00001237* + ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] + + pci:v00008086d00001237sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] (Qemu virtual machine) + + pci:v00008086d00001239* + ID_MODEL_FROM_DATABASE=82371FB PIIX IDE Interface +@@ -58857,10 +58857,10 @@ pci:v00008086d00001461* + ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC + + pci:v00008086d00001461sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (P4DP6) + + pci:v00008086d00001461sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9/Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (Cx9/Vx9 mainboard) + + pci:v00008086d00001462* + ID_MODEL_FROM_DATABASE=82870P2 P64H2 Hot Plug Controller +@@ -58872,16 +58872,16 @@ pci:v00008086d00001502* + ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection + + pci:v00008086d00001502sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Precision M4600) + + pci:v00008086d00001502sv00008086sd0000357A* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Server Board S1200BTS) + + pci:v00008086d00001503* + ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection + + pci:v00008086d00001503sv00001043sd0000849C* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection (P8P67 Deluxe Motherboard) + + pci:v00008086d00001507* + ID_MODEL_FROM_DATABASE=Ethernet Express Module X520-P2 +@@ -58911,19 +58911,19 @@ pci:v00008086d0000150D* + ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection + + pci:v00008086d0000150Dsv00008086sd0000A10C* +- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Mezzanine Card ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection (Gigabit ET Quad Port Mezzanine Card) + + pci:v00008086d0000150E* + ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection + + pci:v00008086d0000150Esv0000103Csd00001780* +- ID_MODEL_FROM_DATABASE=NC365T 4-port Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (NC365T 4-port Ethernet Server Adapter) + + pci:v00008086d0000150Esv00008086sd000012A1* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) + + pci:v00008086d0000150Esv00008086sd000012A2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) + + pci:v00008086d0000150F* + ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection +@@ -58947,16 +58947,16 @@ pci:v00008086d00001516* + ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection + + pci:v00008086d00001516sv00008086sd000012B1* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) + + pci:v00008086d00001516sv00008086sd000012B2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) + + pci:v00008086d00001517* + ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection + + pci:v00008086d00001517sv00001137sd0000006A* +- ID_MODEL_FROM_DATABASE=UCS CNA M61KR-I Intel Converged Network Adapter ++ ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection (UCS CNA M61KR-I Intel Converged Network Adapter) + + pci:v00008086d00001518* + ID_MODEL_FROM_DATABASE=82576NS SerDes Gigabit Network Connection +@@ -58965,7 +58965,7 @@ pci:v00008086d0000151C* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection + + pci:v00008086d0000151Csv0000108Esd00007B13* +- ID_MODEL_FROM_DATABASE=Dual 10GBASE-T LP ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection (Dual 10GBASE-T LP) + + pci:v00008086d00001520* + ID_MODEL_FROM_DATABASE=I350 Ethernet Controller Virtual Function +@@ -58974,115 +58974,115 @@ pci:v00008086d00001521* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection + + pci:v00008086d00001521sv00001028sd00000602* +- ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) + + pci:v00008086d00001521sv00001028sd00001F60* +- ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) + + pci:v00008086d00001521sv00001028sd00001F62* +- ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) + + pci:v00008086d00001521sv00001028sd0000FF9A* +- ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) + + pci:v00008086d00001521sv0000103Csd000017D1* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366FLR Adapter) + + pci:v00008086d00001521sv0000103Csd00002003* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 367i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 367i Adapter) + + pci:v00008086d00001521sv0000103Csd00002226* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 1-port 364i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 1-port 364i Adapter) + + pci:v00008086d00001521sv0000103Csd0000337F* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361i Adapter) + + pci:v00008086d00001521sv0000103Csd00003380* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366i Adapter) + + pci:v00008086d00001521sv0000103Csd0000339E* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361T Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361T Adapter) + + pci:v00008086d00001521sv0000108Esd00007B16* +- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, UTP ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, UTP) + + pci:v00008086d00001521sv0000108Esd00007B18* +- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) + + pci:v00008086d00001521sv000010A9sd0000802A* +- ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) + + pci:v00008086d00001521sv000017AAsd00001074* +- ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (ThinkServer I350-T4 AnyFabric) + + pci:v00008086d00001521sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) + + pci:v00008086d00001521sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001521sv00008086sd000000A1* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) + + pci:v00008086d00001521sv00008086sd000000A2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001521sv00008086sd00005001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) + + pci:v00008086d00001521sv00008086sd00005002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001522* + ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection + + pci:v00008086d00001522sv0000108Esd00007B17* +- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, MMF ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, MMF) + + pci:v00008086d00001522sv0000108Esd00007B19* +- ID_MODEL_FROM_DATABASE=Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF) + + pci:v00008086d00001522sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001522sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) + + pci:v00008086d00001522sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) + + pci:v00008086d00001522sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F1 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F1) + + pci:v00008086d00001522sv00008086sd000000A2* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) + + pci:v00008086d00001522sv00008086sd000000A3* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) + + pci:v00008086d00001522sv00008086sd000000A4* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) + + pci:v00008086d00001523* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection + + pci:v00008086d00001523sv00001028sd00001F9B* +- ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) + + pci:v00008086d00001523sv0000103Csd00001784* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) + + pci:v00008086d00001523sv0000103Csd000018D1* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) + + pci:v00008086d00001523sv0000103Csd00001989* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 363i Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 363i Adapter) + + pci:v00008086d00001523sv0000103Csd0000339F* +- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366M Adapter ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 4-port 366M Adapter) + + pci:v00008086d00001523sv00008086sd00001F52* +- ID_MODEL_FROM_DATABASE=1GbE 4P I350 Mezz ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (1GbE 4P I350 Mezz) + + pci:v00008086d00001524* + ID_MODEL_FROM_DATABASE=I350 Gigabit Connection +@@ -59094,64 +59094,64 @@ pci:v00008086d00001526* + ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection + + pci:v00008086d00001526sv00008086sd0000A05C* +- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) + + pci:v00008086d00001526sv00008086sd0000A06C* +- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter ++ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) + + pci:v00008086d00001527* + ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection + + pci:v00008086d00001527sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) + + pci:v00008086d00001527sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 ++ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) + + pci:v00008086d00001528* + ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 + + pci:v00008086d00001528sv00001028sd00001F61* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) + + pci:v00008086d00001528sv0000103Csd0000192D* +- ID_MODEL_FROM_DATABASE=561FLR-T 2-port 10Gb Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (561FLR-T 2-port 10Gb Ethernet Adapter) + + pci:v00008086d00001528sv0000103Csd00002004* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561i Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561i Adapter) + + pci:v00008086d00001528sv0000103Csd0000211A* +- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561T Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561T Adapter) + + pci:v00008086d00001528sv0000108Esd00007B14* +- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T) + + pci:v00008086d00001528sv0000108Esd00007B15* +- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T) + + pci:v00008086d00001528sv00001137sd000000BF* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) + + pci:v00008086d00001528sv000017AAsd00001073* +- ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (ThinkServer X540-T2 AnyFabric) + + pci:v00008086d00001528sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) + + pci:v00008086d00001528sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) + + pci:v00008086d00001528sv00008086sd0000001A* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) + + pci:v00008086d00001528sv00008086sd000000A2* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) + + pci:v00008086d00001528sv00008086sd00001F61* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) + + pci:v00008086d00001528sv00008086sd00005003* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X540-t Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 2P X540-t Adapter) + + pci:v00008086d00001529* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection with FCoE +@@ -59163,16 +59163,16 @@ pci:v00008086d00001533* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection + + pci:v00008086d00001533sv0000103Csd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + + pci:v00008086d00001533sv000017AAsd00001100* +- ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) + + pci:v00008086d00001533sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + + pci:v00008086d00001533sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + + pci:v00008086d00001534* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +@@ -59193,10 +59193,10 @@ pci:v00008086d0000153A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM + + pci:v00008086d0000153Asv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ZBook 15) + + pci:v00008086d0000153Asv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ThinkPad T440p) + + pci:v00008086d0000153B* + ID_MODEL_FROM_DATABASE=Ethernet Connection I217-V +@@ -59211,13 +59211,13 @@ pci:v00008086d0000154A* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 + + pci:v00008086d0000154Asv00008086sd0000011A* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154Asv00008086sd0000011B* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154Asv00008086sd0000011C* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154C* + ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function +@@ -59226,13 +59226,13 @@ pci:v00008086d0000154D* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter + + pci:v00008086d0000154Dsv00008086sd00007B11* +- ID_MODEL_FROM_DATABASE=10GbE 2P X520 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter (10GbE 2P X520 Adapter) + + pci:v00008086d00001557* + ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection + + pci:v00008086d00001557sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-1 ++ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection (Ethernet OCP Server Adapter X520-1) + + pci:v00008086d00001558* + ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-Q1 +@@ -59250,22 +59250,22 @@ pci:v00008086d0000155A* + ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM + + pci:v00008086d0000155Asv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM (ThinkPad X240) + + pci:v00008086d0000155C* + ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter + + pci:v00008086d0000155Csv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X540-T2 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X540-T2) + + pci:v00008086d0000155D* + ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter + + pci:v00008086d0000155Dsv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-SR2 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-SR2) + + pci:v00008086d0000155Dsv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-LR2 ++ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-LR2) + + pci:v00008086d00001560* + ID_MODEL_FROM_DATABASE=Ethernet Controller X540 +@@ -59277,28 +59277,28 @@ pci:v00008086d00001572* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter + + pci:v00008086d00001572sv00001028sd00001F99* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) + + pci:v00008086d00001572sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000007* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d00001572sv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 ++ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d0000157B* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +@@ -59313,31 +59313,31 @@ pci:v00008086d00001581* + ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane + + pci:v00008086d00001581sv00001028sd00001F98* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) + + pci:v00008086d00001583* + ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ + + pci:v00008086d00001583sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) + + pci:v00008086d00001584* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + + pci:v00008086d00001584sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) + + pci:v00008086d00001584sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) + + pci:v00008086d00001584sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q1) + + pci:v00008086d00001585* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ +@@ -59469,82 +59469,82 @@ pci:v00008086d00001960* + ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor + + pci:v00008086d00001960sv0000101Esd00000431* +- ID_MODEL_FROM_DATABASE=MegaRAID 431 RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 431 RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000438* +- ID_MODEL_FROM_DATABASE=MegaRAID 438 Ultra2 LVD RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438 Ultra2 LVD RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000466* +- ID_MODEL_FROM_DATABASE=MegaRAID 466 Express Plus RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466 Express Plus RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000467* +- ID_MODEL_FROM_DATABASE=MegaRAID 467 Enterprise 1500 RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 467 Enterprise 1500 RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000490* +- ID_MODEL_FROM_DATABASE=MegaRAID 490 Express 300 RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 490 Express 300 RAID Controller) + + pci:v00008086d00001960sv0000101Esd00000762* +- ID_MODEL_FROM_DATABASE=MegaRAID 762 Express RAID Controller ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 762 Express RAID Controller) + + pci:v00008086d00001960sv0000101Esd000009A0* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv00001028sd00000467* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/DC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/DC) + + pci:v00008086d00001960sv00001028sd00001111* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv0000103Csd000003A2* +- ID_MODEL_FROM_DATABASE=MegaRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) + + pci:v00008086d00001960sv0000103Csd000010C6* +- ID_MODEL_FROM_DATABASE=MegaRAID 438, NetRAID-3Si ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438, NetRAID-3Si) + + pci:v00008086d00001960sv0000103Csd000010C7* +- ID_MODEL_FROM_DATABASE=MegaRAID T5, Integrated NetRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID T5, Integrated NetRAID) + + pci:v00008086d00001960sv0000103Csd000010CC* +- ID_MODEL_FROM_DATABASE=MegaRAID, Integrated NetRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID, Integrated NetRAID) + + pci:v00008086d00001960sv0000103Csd000010CD* +- ID_MODEL_FROM_DATABASE=NetRAID-1Si ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (NetRAID-1Si) + + pci:v00008086d00001960sv0000105Asd00000000* +- ID_MODEL_FROM_DATABASE=SuperTrak ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak) + + pci:v00008086d00001960sv0000105Asd00002168* +- ID_MODEL_FROM_DATABASE=SuperTrak Pro ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak Pro) + + pci:v00008086d00001960sv0000105Asd00005168* +- ID_MODEL_FROM_DATABASE=SuperTrak66/100 ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak66/100) + + pci:v00008086d00001960sv00001111sd00001111* +- ID_MODEL_FROM_DATABASE=MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv00001111sd00001112* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) + + pci:v00008086d00001960sv0000113Csd000003A2* +- ID_MODEL_FROM_DATABASE=MegaRAID ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) + + pci:v00008086d00001960sv0000E4BFsd00001010* +- ID_MODEL_FROM_DATABASE=CG1-RADIO ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CG1-RADIO) + + pci:v00008086d00001960sv0000E4BFsd00001020* +- ID_MODEL_FROM_DATABASE=CU2-QUARTET ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU2-QUARTET) + + pci:v00008086d00001960sv0000E4BFsd00001040* +- ID_MODEL_FROM_DATABASE=CU1-CHORUS ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU1-CHORUS) + + pci:v00008086d00001960sv0000E4BFsd00003100* +- ID_MODEL_FROM_DATABASE=CX1-BAND ++ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CX1-BAND) + + pci:v00008086d00001962* + ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor + + pci:v00008086d00001962sv0000105Asd00000000* +- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 I2O CPU ++ ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor (SuperTrak SX6000 I2O CPU) + + pci:v00008086d00001A21* + ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset Host Bridge (Hub A) +@@ -59559,10 +59559,10 @@ pci:v00008086d00001A30* + ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge + + pci:v00008086d00001A30sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Optiplex GX240) + + pci:v00008086d00001A30sv000015D9sd00003280* +- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard ++ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Supermicro P4SBE Mainboard) + + pci:v00008086d00001A31* + ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset AGP Bridge +@@ -59571,28 +59571,28 @@ pci:v00008086d00001A38* + ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine + + pci:v00008086d00001A38sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (X7DVL-E-O motherboard) + + pci:v00008086d00001A38sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (Intel S5000PSLSATA Server Board) + + pci:v00008086d00001A48* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d00001A48sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) + + pci:v00008086d00001A48sv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) + + pci:v00008086d00001B48* + ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller + + pci:v00008086d00001B48sv00008086sd0000A01F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001B48sv00008086sd0000A11F* +- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter ++ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) + + pci:v00008086d00001C00* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller +@@ -59604,28 +59604,28 @@ pci:v00008086d00001C02* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller + + pci:v00008086d00001C02sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (XPS 8300) + + pci:v00008086d00001C02sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (P8 series motherboard) + + pci:v00008086d00001C02sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (Server Board S1200BTS) + + pci:v00008086d00001C03* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller + + pci:v00008086d00001C03sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Precision M4600) + + pci:v00008086d00001C03sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3350) + + pci:v00008086d00001C03sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3750) + + pci:v00008086d00001C03sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C04* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller +@@ -59643,58 +59643,58 @@ pci:v00008086d00001C10* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 + + pci:v00008086d00001C10sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (XPS 8300) + + pci:v00008086d00001C10sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Vostro 3750) + + pci:v00008086d00001C10sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (P8 series motherboard) + + pci:v00008086d00001C10sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C12* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 + + pci:v00008086d00001C12sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (XPS 8300) + + pci:v00008086d00001C12sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C14* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 + + pci:v00008086d00001C14sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Vostro 3750) + + pci:v00008086d00001C14sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C16* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 + + pci:v00008086d00001C16sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 (XPS 8300) + + pci:v00008086d00001C18* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 + + pci:v00008086d00001C18sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Vostro 3750) + + pci:v00008086d00001C18sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Server Board S1200BTS) + + pci:v00008086d00001C1A* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 + + pci:v00008086d00001C1Asv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (Vostro 3750) + + pci:v00008086d00001C1Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (P8 series motherboard) + + pci:v00008086d00001C1C* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 +@@ -59703,58 +59703,58 @@ pci:v00008086d00001C1E* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 + + pci:v00008086d00001C1Esv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 (P8 series motherboard) + + pci:v00008086d00001C20* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller + + pci:v00008086d00001C20sv00001028sd00000490* +- ID_MODEL_FROM_DATABASE=Alienware M17x R3 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Alienware M17x R3) + + pci:v00008086d00001C20sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Precision M4600) + + pci:v00008086d00001C20sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (XPS 8300) + + pci:v00008086d00001C20sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3350) + + pci:v00008086d00001C20sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3750) + + pci:v00008086d00001C20sv00001043sd00008418* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8P67 Deluxe Motherboard) + + pci:v00008086d00001C20sv00001043sd0000841B* +- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8H67 Series Motherboard) + + pci:v00008086d00001C20sv00008086sd00002008* +- ID_MODEL_FROM_DATABASE=DQ67SW board ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (DQ67SW board) + + pci:v00008086d00001C20sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C22* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller + + pci:v00008086d00001C22sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Precision M4600) + + pci:v00008086d00001C22sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (XPS 8300) + + pci:v00008086d00001C22sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3350) + + pci:v00008086d00001C22sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3750) + + pci:v00008086d00001C22sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (P8 series motherboard) + + pci:v00008086d00001C22sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C24* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller +@@ -59766,55 +59766,55 @@ pci:v00008086d00001C26* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 + + pci:v00008086d00001C26sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Precision M4600) + + pci:v00008086d00001C26sv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (XPS 8300) + + pci:v00008086d00001C26sv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3350) + + pci:v00008086d00001C26sv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3750) + + pci:v00008086d00001C26sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) + + pci:v00008086d00001C26sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C27* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 + + pci:v00008086d00001C27sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C2C* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 + + pci:v00008086d00001C2Csv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C2D* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 + + pci:v00008086d00001C2Dsv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Precision M4600) + + pci:v00008086d00001C2Dsv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (XPS 8300) + + pci:v00008086d00001C2Dsv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3350) + + pci:v00008086d00001C2Dsv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3750) + + pci:v00008086d00001C2Dsv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) + + pci:v00008086d00001C2Dsv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) + + pci:v00008086d00001C33* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller +@@ -59826,22 +59826,22 @@ pci:v00008086d00001C3A* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 + + pci:v00008086d00001C3Asv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Precision M4600) + + pci:v00008086d00001C3Asv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (XPS 8300) + + pci:v00008086d00001C3Asv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3350) + + pci:v00008086d00001C3Asv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3750) + + pci:v00008086d00001C3Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (P8 series motherboard) + + pci:v00008086d00001C3Asv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C3B* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #2 +@@ -59874,7 +59874,7 @@ pci:v00008086d00001C46* + ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller + + pci:v00008086d00001C46sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller (P8P67 Deluxe Motherboard) + + pci:v00008086d00001C47* + ID_MODEL_FROM_DATABASE=UM67 Express Chipset Family LPC Controller +@@ -59886,25 +59886,25 @@ pci:v00008086d00001C49* + ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller + + pci:v00008086d00001C49sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] ++ ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) + + pci:v00008086d00001C4A* + ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller + + pci:v00008086d00001C4Asv00001028sd000004AA* +- ID_MODEL_FROM_DATABASE=XPS 8300 ++ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (XPS 8300) + + pci:v00008086d00001C4Asv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard ++ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (P8H67 Series Motherboard) + + pci:v00008086d00001C4B* + ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller + + pci:v00008086d00001C4Bsv00001028sd000004B2* +- ID_MODEL_FROM_DATABASE=Vostro 3350 ++ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3350) + + pci:v00008086d00001C4Bsv00001028sd000004DA* +- ID_MODEL_FROM_DATABASE=Vostro 3750 ++ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3750) + + pci:v00008086d00001C4C* + ID_MODEL_FROM_DATABASE=Q65 Express Chipset Family LPC Controller +@@ -59919,7 +59919,7 @@ pci:v00008086d00001C4F* + ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller + + pci:v00008086d00001C4Fsv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=Precision M4600 ++ ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller (Precision M4600) + + pci:v00008086d00001C50* + ID_MODEL_FROM_DATABASE=B65 Express Chipset Family LPC Controller +@@ -59931,7 +59931,7 @@ pci:v00008086d00001C52* + ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller + + pci:v00008086d00001C52sv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller (Server Board S1200BTS) + + pci:v00008086d00001C53* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller +@@ -59946,7 +59946,7 @@ pci:v00008086d00001C56* + ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller + + pci:v00008086d00001C56sv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8B WS Motherboard ++ ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller (P8B WS Motherboard) + + pci:v00008086d00001C57* + ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller +@@ -60177,19 +60177,19 @@ pci:v00008086d00001E02* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] + + pci:v00008086d00001E02sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) + + pci:v00008086d00001E02sv00001849sd00001E02* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) + + pci:v00008086d00001E03* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] + + pci:v00008086d00001E03sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (N56VZ) + + pci:v00008086d00001E03sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (Zenbook Prime UX31A) + + pci:v00008086d00001E04* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode] +@@ -60216,25 +60216,25 @@ pci:v00008086d00001E10* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 + + pci:v00008086d00001E10sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (N56VZ) + + pci:v00008086d00001E10sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Zenbook Prime UX31A) + + pci:v00008086d00001E10sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (P8H77-I Motherboard) + + pci:v00008086d00001E10sv00001849sd00001E10* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Motherboard) + + pci:v00008086d00001E12* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 + + pci:v00008086d00001E12sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (N56VZ) + + pci:v00008086d00001E12sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (Zenbook Prime UX31A) + + pci:v00008086d00001E14* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 3 +@@ -60243,25 +60243,25 @@ pci:v00008086d00001E16* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 + + pci:v00008086d00001E16sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (N56VZ) + + pci:v00008086d00001E16sv00001849sd00001618* +- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (Z77 Extreme4 motherboard) + + pci:v00008086d00001E18* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 + + pci:v00008086d00001E18sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (P8H77-I Motherboard) + + pci:v00008086d00001E18sv00001849sd00001E18* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (Motherboard) + + pci:v00008086d00001E1A* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 + + pci:v00008086d00001E1Asv00001849sd00001E1A* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 (Motherboard) + + pci:v00008086d00001E1C* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 7 +@@ -60270,43 +60270,43 @@ pci:v00008086d00001E1E* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 + + pci:v00008086d00001E1Esv00001849sd00001E1E* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 (Motherboard) + + pci:v00008086d00001E20* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller + + pci:v00008086d00001E20sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (N56VZ) + + pci:v00008086d00001E20sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E20sv00001043sd00008415* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) + + pci:v00008086d00001E20sv00001849sd00001898* +- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) + + pci:v00008086d00001E22* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller + + pci:v00008086d00001E22sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (N56VZ) + + pci:v00008086d00001E22sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E22sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) + + pci:v00008086d00001E22sv00001849sd00001E22* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) + + pci:v00008086d00001E24* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller + + pci:v00008086d00001E24sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E25* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family DMI to PCI Bridge +@@ -60315,49 +60315,49 @@ pci:v00008086d00001E26* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 + + pci:v00008086d00001E26sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (N56VZ) + + pci:v00008086d00001E26sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E26sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) + + pci:v00008086d00001E26sv00001849sd00001E26* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) + + pci:v00008086d00001E2D* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 + + pci:v00008086d00001E2Dsv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (N56VZ) + + pci:v00008086d00001E2Dsv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) + + pci:v00008086d00001E2Dsv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) + + pci:v00008086d00001E2Dsv00001849sd00001E2D* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) + + pci:v00008086d00001E31* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller + + pci:v00008086d00001E31sv0000103Csd000017AB* +- ID_MODEL_FROM_DATABASE=ProBook 6570b ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (ProBook 6570b) + + pci:v00008086d00001E31sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (N56VZ) + + pci:v00008086d00001E31sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E31sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) + + pci:v00008086d00001E31sv00001849sd00001E31* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) + + pci:v00008086d00001E33* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family LAN Controller +@@ -60366,16 +60366,16 @@ pci:v00008086d00001E3A* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 + + pci:v00008086d00001E3Asv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (N56VZ) + + pci:v00008086d00001E3Asv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E3Asv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) + + pci:v00008086d00001E3Asv00001849sd00001E3A* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) + + pci:v00008086d00001E3B* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #2 +@@ -60399,7 +60399,7 @@ pci:v00008086d00001E44* + ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller + + pci:v00008086d00001E44sv00001849sd00001E44* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) + + pci:v00008086d00001E45* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller +@@ -60420,7 +60420,7 @@ pci:v00008086d00001E4A* + ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller + + pci:v00008086d00001E4Asv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard ++ ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller (P8H77-I Motherboard) + + pci:v00008086d00001E4B* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller +@@ -60468,10 +60468,10 @@ pci:v00008086d00001E59* + ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller + + pci:v00008086d00001E59sv00001043sd00001477* +- ID_MODEL_FROM_DATABASE=N56VZ ++ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (N56VZ) + + pci:v00008086d00001E59sv00001043sd00001517* +- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A ++ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E5A* + ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller +@@ -60804,28 +60804,28 @@ pci:v00008086d00002415* + ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller + + pci:v00008086d00002415sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Precision Workstation 220 Integrated Digital Audio) + + pci:v00008086d00002415sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (OptiPlex GX110) + + pci:v00008086d00002415sv0000110Asd00000051* +- ID_MODEL_FROM_DATABASE=Activy 2xx ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 2xx) + + pci:v00008086d00002415sv000011D4sd00000040* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002415sv000011D4sd00000048* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002415sv000011D4sd00005340* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002415sv00001734sd00001025* +- ID_MODEL_FROM_DATABASE=Activy 3xx ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 3xx) + + pci:v00008086d00002415sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (QEMU Virtual Machine) + + pci:v00008086d00002416* + ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller +@@ -60849,10 +60849,10 @@ pci:v00008086d00002425* + ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller + + pci:v00008086d00002425sv000011D4sd00000040* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002425sv000011D4sd00000048* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00002426* + ID_MODEL_FROM_DATABASE=82801AB AC'97 Modem Controller +@@ -60864,352 +60864,352 @@ pci:v00008086d00002440* + ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) + + pci:v00008086d00002440sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E ++ ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) (S845WD1-E) + + pci:v00008086d00002442* + ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 + + pci:v00008086d00002442sv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Netvista A40/A40p) + + pci:v00008086d00002442sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) + + pci:v00008086d00002442sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) + + pci:v00008086d00002442sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) + + pci:v00008086d00002442sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) + + pci:v00008086d00002442sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) + + pci:v00008086d00002442sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) + + pci:v00008086d00002442sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) + + pci:v00008086d00002442sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) + + pci:v00008086d00002442sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) + + pci:v00008086d00002442sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EGEW Mainboard) + + pci:v00008086d00002442sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) + + pci:v00008086d00002443* + ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller + + pci:v00008086d00002443sv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Netvista A40/A40p) + + pci:v00008086d00002443sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Travelmate 612 TX) + + pci:v00008086d00002443sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Dimension 8100) + + pci:v00008086d00002443sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Precision 530) + + pci:v00008086d00002443sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Optiplex GX240) + + pci:v00008086d00002443sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (e-pc 40) + + pci:v00008086d00002443sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TUSL2-C Mainboard) + + pci:v00008086d00002443sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Vaio PCG-FX403) + + pci:v00008086d00002443sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TH7II-RAID) + + pci:v00008086d00002443sv000015D9sd00003280* +- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Supermicro P4SBE Mainboard) + + pci:v00008086d00002443sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EEA2 mainboard) + + pci:v00008086d00002443sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EGEW Mainboard) + + pci:v00008086d00002443sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (S845WD1-E mainboard) + + pci:v00008086d00002444* + ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 + + pci:v00008086d00002444sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) + + pci:v00008086d00002444sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) + + pci:v00008086d00002444sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) + + pci:v00008086d00002444sv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) + + pci:v00008086d00002444sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) + + pci:v00008086d00002444sv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) + + pci:v00008086d00002444sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) + + pci:v00008086d00002444sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) + + pci:v00008086d00002444sv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) + + pci:v00008086d00002444sv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) + + pci:v00008086d00002445* + ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller + + pci:v00008086d00002445sv00000E11sd0000000B* +- ID_MODEL_FROM_DATABASE=Compaq Deskpro EN Audio ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Compaq Deskpro EN Audio) + + pci:v00008086d00002445sv00000E11sd00000088* +- ID_MODEL_FROM_DATABASE=Evo D500 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Evo D500) + + pci:v00008086d00002445sv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Netvista A40/A40p) + + pci:v00008086d00002445sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Travelmate 612 TX) + + pci:v00008086d00002445sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Precision 530) + + pci:v00008086d00002445sv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (e-pc 40) + + pci:v00008086d00002445sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Vaio PCG-FX403) + + pci:v00008086d00002445sv00001462sd00003370* +- ID_MODEL_FROM_DATABASE=STAC9721 AC ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (STAC9721 AC) + + pci:v00008086d00002445sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (TH7II-RAID) + + pci:v00008086d00002445sv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (D815EGEW Mainboard) + + pci:v00008086d00002446* + ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller + + pci:v00008086d00002446sv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612 TX ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Travelmate 612 TX) + + pci:v00008086d00002446sv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Vaio PCG-FX403) + + pci:v00008086d00002448* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge + + pci:v00008086d00002448sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Latitude E6510) + + pci:v00008086d00002448sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002448sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (NX6110/NC6120) + + pci:v00008086d00002448sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nx9420 Notebook) + + pci:v00008086d00002448sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nw8440) + + pci:v00008086d00002448sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq 6910p) + + pci:v00008086d00002448sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (VAIO VGN-NR120E) + + pci:v00008086d00002448sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) + + pci:v00008086d00002448sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) + + pci:v00008086d00002448sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) + + pci:v00008086d00002448sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (GA-D525TUD) + + pci:v00008086d00002448sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Amilo M1420) + + pci:v00008086d00002448sv000017AAsd000020AE* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) + + pci:v00008086d00002448sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) + + pci:v00008086d00002448sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (CCG-RUMBA) + + pci:v00008086d00002449* + ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller + + pci:v00008086d00002449sv00000E11sd00000012* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) + + pci:v00008086d00002449sv00000E11sd00000091* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001CE* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001DC* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001EB* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd000001EC* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000202* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000205* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000217* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000234* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd0000023D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000244* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000245* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001014sd00000265* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) + + pci:v00008086d00002449sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) + + pci:v00008086d00002449sv00001014sd0000026A* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) + + pci:v00008086d00002449sv0000109Fsd0000315D* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv0000109Fsd00003181* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00001179sd0000FF01* +- ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Network Connection) + + pci:v00008086d00002449sv00001186sd00007801* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv0000144Dsd00002602* +- ID_MODEL_FROM_DATABASE=HomePNA 1M CNR ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (HomePNA 1M CNR) + + pci:v00008086d00002449sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (QEMU Virtual Machine) + + pci:v00008086d00002449sv00008086sd00003010* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00008086sd00003011* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) + + pci:v00008086d00002449sv00008086sd00003012* +- ID_MODEL_FROM_DATABASE=82562EH based Phoneline ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) + + pci:v00008086d00002449sv00008086sd00003013* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) + + pci:v00008086d00002449sv00008086sd00003014* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) + + pci:v00008086d00002449sv00008086sd00003015* +- ID_MODEL_FROM_DATABASE=82562EH based Phoneline ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) + + pci:v00008086d00002449sv00008086sd00003016* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile Combo) + + pci:v00008086d00002449sv00008086sd00003017* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile) + + pci:v00008086d00002449sv00008086sd00003018* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 ++ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100) + + pci:v00008086d0000244A* + ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller + + pci:v00008086d0000244Asv00001025sd00001016* +- ID_MODEL_FROM_DATABASE=Travelmate 612TX ++ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Travelmate 612TX) + + pci:v00008086d0000244Asv0000104Dsd000080DF* +- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 ++ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Vaio PCG-FX403) + + pci:v00008086d0000244B* + ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller + + pci:v00008086d0000244Bsv00001014sd000001C6* +- ID_MODEL_FROM_DATABASE=Netvista A40/A40p ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Netvista A40/A40p) + + pci:v00008086d0000244Bsv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Dimension 8100) + + pci:v00008086d0000244Bsv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Precision 530) + + pci:v00008086d0000244Bsv00001028sd0000010E* +- ID_MODEL_FROM_DATABASE=Optiplex GX240 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Optiplex GX240) + + pci:v00008086d0000244Bsv0000103Csd0000126F* +- ID_MODEL_FROM_DATABASE=e-pc 40 ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (e-pc 40) + + pci:v00008086d0000244Bsv00001043sd00008027* +- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TUSL2-C Mainboard) + + pci:v00008086d0000244Bsv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TH7II-RAID) + + pci:v00008086d0000244Bsv000015D9sd00003280* +- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Supermicro P4SBE Mainboard) + + pci:v00008086d0000244Bsv00008086sd00004532* +- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EEA2 mainboard) + + pci:v00008086d0000244Bsv00008086sd00004557* +- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EGEW Mainboard) + + pci:v00008086d0000244Bsv00008086sd00005744* +- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (S845WD1-E mainboard) + + pci:v00008086d0000244C* + ID_MODEL_FROM_DATABASE=82801BAM ISA Bridge (LPC) +@@ -61218,52 +61218,52 @@ pci:v00008086d0000244E* + ID_MODEL_FROM_DATABASE=82801 PCI Bridge + + pci:v00008086d0000244Esv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (NetVista A30p) + + pci:v00008086d0000244Esv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Inspiron 530) + + pci:v00008086d0000244Esv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Optiplex 755) + + pci:v00008086d0000244Esv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (OptiPlex 980) + + pci:v00008086d0000244Esv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Pavilion A1512X) + + pci:v00008086d0000244Esv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000244Esv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant DL140 G3) + + pci:v00008086d0000244Esv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant ML150 G6 Server) + + pci:v00008086d0000244Esv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P5K PRO Motherboard) + + pci:v00008086d0000244Esv00001043sd0000844D* +- ID_MODEL_FROM_DATABASE=P8 series motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P8 series motherboard) + + pci:v00008086d0000244Esv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Motherboard) + + pci:v00008086d0000244Esv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Wind PC MS-7418) + + pci:v00008086d0000244Esv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (C7SIM-Q Motherboard) + + pci:v00008086d0000244Esv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (X7DBN Motherboard) + + pci:v00008086d0000244Esv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (CC11/CL11) + + pci:v00008086d0000244Esv00008086sd00007270* +- ID_MODEL_FROM_DATABASE=Server Board S1200BTS ++ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Server Board S1200BTS) + + pci:v00008086d00002450* + ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) +@@ -61293,160 +61293,160 @@ pci:v00008086d00002482* + ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 + + pci:v00008086d00002482sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Evo N600c) + + pci:v00008086d00002482sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (ThinkPad A/T/X Series) + + pci:v00008086d00002482sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002482sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (P4DP6) + + pci:v00008086d00002482sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (vpr Matrix 170B4) + + pci:v00008086d00002482sv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (SE7501HG2 Mainboard) + + pci:v00008086d00002482sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Latitude C640) + + pci:v00008086d00002483* + ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller + + pci:v00008086d00002483sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002483sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002483sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (P4DP6) + + pci:v00008086d00002483sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (vpr Matrix 170B4) + + pci:v00008086d00002484* + ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 + + pci:v00008086d00002484sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (Evo N600c) + + pci:v00008086d00002484sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (ThinkPad A/T/X Series) + + pci:v00008086d00002484sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002484sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (P4DP6) + + pci:v00008086d00002484sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (vpr Matrix 170B4) + + pci:v00008086d00002485* + ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller + + pci:v00008086d00002485sv00001013sd00005959* +- ID_MODEL_FROM_DATABASE=Crystal WMD Audio Codec ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (Crystal WMD Audio Codec) + + pci:v00008086d00002485sv00001014sd00000222* +- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p/T23 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A30/A30p/T23) + + pci:v00008086d00002485sv00001014sd00000508* +- ID_MODEL_FROM_DATABASE=ThinkPad T30 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad T30) + + pci:v00008086d00002485sv00001014sd0000051C* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002485sv00001043sd00001583* +- ID_MODEL_FROM_DATABASE=L3C (SPDIF) ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3C (SPDIF)) + + pci:v00008086d00002485sv00001043sd00001623* +- ID_MODEL_FROM_DATABASE=L2B (no SPDIF) ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L2B (no SPDIF)) + + pci:v00008086d00002485sv00001043sd00001643* +- ID_MODEL_FROM_DATABASE=L3F ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3F) + + pci:v00008086d00002485sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002485sv0000144Dsd0000C006* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (vpr Matrix 170B4) + + pci:v00008086d00002486* + ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller + + pci:v00008086d00002486sv00001014sd00000223* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002486sv00001014sd00000503* +- ID_MODEL_FROM_DATABASE=ThinkPad R31 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad R31) + + pci:v00008086d00002486sv00001014sd0000051A* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) + + pci:v00008086d00002486sv0000101Fsd00001025* +- ID_MODEL_FROM_DATABASE=620 Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (620 Series) + + pci:v00008086d00002486sv00001043sd00001496* +- ID_MODEL_FROM_DATABASE=PCtel HSP56 MR ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (PCtel HSP56 MR) + + pci:v00008086d00002486sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002486sv0000134Dsd00004C21* +- ID_MODEL_FROM_DATABASE=Dell Inspiron 2100 internal modem ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (Dell Inspiron 2100 internal modem) + + pci:v00008086d00002486sv0000144Dsd00002115* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 internal modem ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (vpr Matrix 170B4 internal modem) + + pci:v00008086d00002486sv000014F1sd00005421* +- ID_MODEL_FROM_DATABASE=MD56ORD V.92 MDC Modem ++ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (MD56ORD V.92 MDC Modem) + + pci:v00008086d00002487* + ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 + + pci:v00008086d00002487sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (Evo N600c) + + pci:v00008086d00002487sv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (ThinkPad A/T/X Series) + + pci:v00008086d00002487sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00002487sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (P4DP6) + + pci:v00008086d00002487sv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (vpr Matrix 170B4) + + pci:v00008086d0000248A* + ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller + + pci:v00008086d0000248Asv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Evo N600c) + + pci:v00008086d0000248Asv00001014sd00000220* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (ThinkPad A/T/X Series) + + pci:v00008086d0000248Asv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d0000248Asv00008086sd00001958* +- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (vpr Matrix 170B4) + + pci:v00008086d0000248Asv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude C640 ++ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Latitude C640) + + pci:v00008086d0000248B* + ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller + + pci:v00008086d0000248Bsv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller (P4DP6) + + pci:v00008086d0000248C* + ID_MODEL_FROM_DATABASE=82801CAM ISA Bridge (LPC) +@@ -61455,10 +61455,10 @@ pci:v00008086d000024C0* + ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge + + pci:v00008086d000024C0sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (NetVista A30p) + + pci:v00008086d000024C0sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (845PE Max (MS-6580)) + + pci:v00008086d000024C1* + ID_MODEL_FROM_DATABASE=82801DBL (ICH4-L) IDE Controller +@@ -61467,574 +61467,574 @@ pci:v00008086d000024C2* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 + + pci:v00008086d000024C2sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NetVista A30p) + + pci:v00008086d000024C2sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (ThinkPad) + + pci:v00008086d000024C2sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (TravelMate 290) + + pci:v00008086d000024C2sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Optiplex GX260) + + pci:v00008086d000024C2sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D505) + + pci:v00008086d000024C2sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 700m/710m) + + pci:v00008086d000024C2sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 5160) + + pci:v00008086d000024C2sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC8000 laptop) + + pci:v00008086d000024C2sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC6000 laptop) + + pci:v00008086d000024C2sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (tc1100 tablet) + + pci:v00008086d000024C2sv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P4B533) + + pci:v00008086d000024C2sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (MIM2000) + + pci:v00008086d000024C2sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard USB 1.x ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (PC8 onboard USB 1.x) + + pci:v00008086d000024C2sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (X10 Laptop) + + pci:v00008086d000024C2sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P30/P35 notebook) + + pci:v00008086d000024C2sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (845PE Max (MS-6580)) + + pci:v00008086d000024C2sv00001509sd00002990* +- ID_MODEL_FROM_DATABASE=Averatec 5110H laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Averatec 5110H laptop) + + pci:v00008086d000024C2sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C2sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Amilo M1420) + + pci:v00008086d000024C2sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C2sv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude X300) + + pci:v00008086d000024C2sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D400/D500) + + pci:v00008086d000024C2sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CC9-SAMBA) + + pci:v00008086d000024C2sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CD2-BEBOP) + + pci:v00008086d000024C3* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller + + pci:v00008086d000024C3sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NetVista A30p) + + pci:v00008086d000024C3sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (ThinkPad) + + pci:v00008086d000024C3sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (TravelMate 290) + + pci:v00008086d000024C3sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Optiplex GX260) + + pci:v00008086d000024C3sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Latitude X300) + + pci:v00008086d000024C3sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Inspiron 700m/710m) + + pci:v00008086d000024C3sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC8000 laptop) + + pci:v00008086d000024C3sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC6000 laptop) + + pci:v00008086d000024C3sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (tc1100 tablet) + + pci:v00008086d000024C3sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (MIM2000) + + pci:v00008086d000024C3sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard SMbus ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (PC8 onboard SMbus) + + pci:v00008086d000024C3sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (X10 Laptop) + + pci:v00008086d000024C3sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (P30/P35 notebook) + + pci:v00008086d000024C3sv00001458sd000024C2* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (GA-8PE667 Ultra) + + pci:v00008086d000024C3sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (845PE Max (MS-6580)) + + pci:v00008086d000024C3sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C3sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Amilo M1420) + + pci:v00008086d000024C3sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C3sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CC9-SAMBA) + + pci:v00008086d000024C3sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CD2-BEBOP) + + pci:v00008086d000024C4* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 + + pci:v00008086d000024C4sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NetVista A30p) + + pci:v00008086d000024C4sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (ThinkPad) + + pci:v00008086d000024C4sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (TravelMate 290) + + pci:v00008086d000024C4sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Optiplex GX260) + + pci:v00008086d000024C4sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D505) + + pci:v00008086d000024C4sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 700m/710m) + + pci:v00008086d000024C4sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 5160) + + pci:v00008086d000024C4sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC8000 laptop) + + pci:v00008086d000024C4sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC6000 laptop) + + pci:v00008086d000024C4sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (tc1100 tablet) + + pci:v00008086d000024C4sv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P4B533) + + pci:v00008086d000024C4sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (MIM2000) + + pci:v00008086d000024C4sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P30/P35 notebook) + + pci:v00008086d000024C4sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (845PE Max (MS-6580)) + + pci:v00008086d000024C4sv00001509sd00002990* +- ID_MODEL_FROM_DATABASE=Averatec 5110H ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Averatec 5110H) + + pci:v00008086d000024C4sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C4sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C4sv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude X300) + + pci:v00008086d000024C4sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D400/D500) + + pci:v00008086d000024C4sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CC9-SAMBA) + + pci:v00008086d000024C4sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CD2-BEBOP) + + pci:v00008086d000024C5* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller + + pci:v00008086d000024C5sv00000E11sd000000B8* +- ID_MODEL_FROM_DATABASE=Analog Devices Inc. codec [SoundMAX] ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Analog Devices Inc. codec [SoundMAX]) + + pci:v00008086d000024C5sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) + + pci:v00008086d000024C5sv00001014sd00000537* +- ID_MODEL_FROM_DATABASE=ThinkPad T41 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) + + pci:v00008086d000024C5sv00001014sd0000055F* +- ID_MODEL_FROM_DATABASE=Thinkpad R50e model 1634 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) + + pci:v00008086d000024C5sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (TravelMate 290) + + pci:v00008086d000024C5sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D400) + + pci:v00008086d000024C5sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude X300) + + pci:v00008086d000024C5sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D500) + + pci:v00008086d000024C5sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D505) + + pci:v00008086d000024C5sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m [SigmaTel STAC9750,51] ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 700m/710m [SigmaTel STAC9750,51]) + + pci:v00008086d000024C5sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 5160) + + pci:v00008086d000024C5sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC8000 laptop) + + pci:v00008086d000024C5sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC6000 laptop) + + pci:v00008086d000024C5sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (tc1100 tablet) + + pci:v00008086d000024C5sv00001043sd00001713* +- ID_MODEL_FROM_DATABASE=M2400N/M6800N laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (M2400N/M6800N laptop) + + pci:v00008086d000024C5sv00001043sd000080B0* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P4B533) + + pci:v00008086d000024C5sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (MIM2000) + + pci:v00008086d000024C5sv00001179sd00000201* +- ID_MODEL_FROM_DATABASE=Toshiba Tecra M1 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Toshiba Tecra M1) + + pci:v00008086d000024C5sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (X10 Laptop) + + pci:v00008086d000024C5sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P30/P35 notebook) + + pci:v00008086d000024C5sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (GA-8PE667 Ultra) + + pci:v00008086d000024C5sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (845PE Max (MS-6580)) + + pci:v00008086d000024C5sv00001734sd00001005* +- ID_MODEL_FROM_DATABASE=D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T) + + pci:v00008086d000024C5sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Amilo M1420) + + pci:v00008086d000024C5sv00008086sd000024C5* +- ID_MODEL_FROM_DATABASE=Dell Dimension 2400 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Dell Dimension 2400) + + pci:v00008086d000024C6* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller + + pci:v00008086d000024C6sv00001014sd00000524* +- ID_MODEL_FROM_DATABASE=ThinkPad T41 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) + + pci:v00008086d000024C6sv00001014sd00000525* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) + + pci:v00008086d000024C6sv00001014sd00000559* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad R50e) + + pci:v00008086d000024C6sv00001025sd0000003C* +- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compal CL50 motherboard) implementation ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Aspire 2001WLCi (Compal CL50 motherboard) implementation) + + pci:v00008086d000024C6sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (TravelMate 290) + + pci:v00008086d000024C6sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Inspiron 5160) + + pci:v00008086d000024C6sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC8000 laptop) + + pci:v00008086d000024C6sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC6000 laptop) + + pci:v00008086d000024C6sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (tc1100 tablet) + + pci:v00008086d000024C6sv00001043sd00001716* +- ID_MODEL_FROM_DATABASE=M2400N laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M2400N laptop) + + pci:v00008086d000024C6sv00001043sd00001826* +- ID_MODEL_FROM_DATABASE=M6800N ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M6800N) + + pci:v00008086d000024C6sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (MIM2000) + + pci:v00008086d000024C6sv0000134Dsd00004C21* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Latitude D500) + + pci:v00008086d000024C6sv0000144Dsd00002115* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (X10 Laptop) + + pci:v00008086d000024C6sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (P30/P35 notebook) + + pci:v00008086d000024C6sv000014F1sd00005422* +- ID_MODEL_FROM_DATABASE=D480 MDC V.9x Modem ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (D480 MDC V.9x Modem) + + pci:v00008086d000024C7* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 + + pci:v00008086d000024C7sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NetVista A30p) + + pci:v00008086d000024C7sv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (ThinkPad) + + pci:v00008086d000024C7sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (TravelMate 290) + + pci:v00008086d000024C7sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Optiplex GX260) + + pci:v00008086d000024C7sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D505) + + pci:v00008086d000024C7sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 700m/710m) + + pci:v00008086d000024C7sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 5160) + + pci:v00008086d000024C7sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC8000 laptop) + + pci:v00008086d000024C7sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC6000 laptop) + + pci:v00008086d000024C7sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (tc1100 tablet) + + pci:v00008086d000024C7sv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P4B533) + + pci:v00008086d000024C7sv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (MIM2000) + + pci:v00008086d000024C7sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P30/P35 notebook) + + pci:v00008086d000024C7sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (845PE Max (MS-6580)) + + pci:v00008086d000024C7sv00001509sd00002990* +- ID_MODEL_FROM_DATABASE=Averatec 5110H ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Averatec 5110H) + + pci:v00008086d000024C7sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024C7sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Cx9 / Vx9 mainboard) + + pci:v00008086d000024C7sv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude X300) + + pci:v00008086d000024C7sv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D400/D500) + + pci:v00008086d000024C7sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CC9-SAMBA) + + pci:v00008086d000024C7sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CD2-BEBOP) + + pci:v00008086d000024CA* + ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller + + pci:v00008086d000024CAsv00001014sd0000052D* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (ThinkPad) + + pci:v00008086d000024CAsv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (TravelMate 290) + + pci:v00008086d000024CAsv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude X300) + + pci:v00008086d000024CAsv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D505) + + pci:v00008086d000024CAsv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 700m/710m) + + pci:v00008086d000024CAsv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 5160) + + pci:v00008086d000024CAsv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC8000 laptop) + + pci:v00008086d000024CAsv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC6000 laptop) + + pci:v00008086d000024CAsv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (tc1100 tablet) + + pci:v00008086d000024CAsv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (MIM2000) + + pci:v00008086d000024CAsv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (X10 Laptop) + + pci:v00008086d000024CAsv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (P30/P35 notebook) + + pci:v00008086d000024CAsv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Amilo M1420) + + pci:v00008086d000024CAsv00008086sd00004541* +- ID_MODEL_FROM_DATABASE=Latitude D400/D500 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D400/D500) + + pci:v00008086d000024CB* + ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller + + pci:v00008086d000024CBsv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (NetVista A30p) + + pci:v00008086d000024CBsv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Optiplex GX260) + + pci:v00008086d000024CBsv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (P4B533) + + pci:v00008086d000024CBsv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard IDE ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (PC8 onboard IDE) + + pci:v00008086d000024CBsv00001458sd000024C2* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (GA-8PE667 Ultra) + + pci:v00008086d000024CBsv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (845PE Max (MS-6580)) + + pci:v00008086d000024CBsv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024CBsv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d000024CBsv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CC9-SAMBA) + + pci:v00008086d000024CBsv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CD2-BEBOP) + + pci:v00008086d000024CC* + ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge + + pci:v00008086d000024CCsv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (P30 notebook) + + pci:v00008086d000024CCsv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (Amilo M1420) + + pci:v00008086d000024CD* + ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller + + pci:v00008086d000024CDsv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NetVista A30p) + + pci:v00008086d000024CDsv00001014sd0000052E* +- ID_MODEL_FROM_DATABASE=ThinkPad ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (ThinkPad) + + pci:v00008086d000024CDsv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (TravelMate 290) + + pci:v00008086d000024CDsv00001028sd0000011D* +- ID_MODEL_FROM_DATABASE=Latitude D600 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D600) + + pci:v00008086d000024CDsv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Optiplex GX260) + + pci:v00008086d000024CDsv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D400) + + pci:v00008086d000024CDsv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D500) + + pci:v00008086d000024CDsv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D505) + + pci:v00008086d000024CDsv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 700m/710m) + + pci:v00008086d000024CDsv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 5160) + + pci:v00008086d000024CDsv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC8000 laptop) + + pci:v00008086d000024CDsv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC6000 laptop) + + pci:v00008086d000024CDsv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (tc1100 tablet) + + pci:v00008086d000024CDsv00001043sd00008089* +- ID_MODEL_FROM_DATABASE=P4B533 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P4B533) + + pci:v00008086d000024CDsv00001071sd00008160* +- ID_MODEL_FROM_DATABASE=MIM2000 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (MIM2000) + + pci:v00008086d000024CDsv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 onboard USB 2.0 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (PC8 onboard USB 2.0) + + pci:v00008086d000024CDsv00001179sd0000FF00* +- ID_MODEL_FROM_DATABASE=Satellite 2430 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Satellite 2430) + + pci:v00008086d000024CDsv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (X10 Laptop) + + pci:v00008086d000024CDsv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P30/P35 notebook) + + pci:v00008086d000024CDsv00001462sd00003981* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (845PE Max (MS-6580)) + + pci:v00008086d000024CDsv00001509sd00001968* +- ID_MODEL_FROM_DATABASE=Averatec 5110H ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Averatec 5110H) + + pci:v00008086d000024CDsv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d000024CDsv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Amilo M1420) + + pci:v00008086d000024CDsv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (QEMU Virtual Machine) + + pci:v00008086d000024CDsv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d000024CDsv00008086sd000024C2* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude X300) + + pci:v00008086d000024CDsv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CC9-SAMBA) + + pci:v00008086d000024CDsv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CD2-BEBOP) + + pci:v00008086d000024D0* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) LPC Interface Bridge +@@ -62043,436 +62043,436 @@ pci:v00008086d000024D1* + ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller + + pci:v00008086d000024D1sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D1sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision 470) + + pci:v00008086d000024D1sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (PowerEdge SC1425) + + pci:v00008086d000024D1sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (d530 CMT (DG746A)) + + pci:v00008086d000024D1sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (ProLiant DL140 G2) + + pci:v00008086d000024D1sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4P800 series motherboard) + + pci:v00008086d000024D1sv00001458sd000024D1* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D1sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D1sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D1sv00001565sd00005200* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4TSV Motherboard (865G)) + + pci:v00008086d000024D1sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4SCE Mainboard) + + pci:v00008086d000024D1sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (S875WP1-E mainboard) + + pci:v00008086d000024D1sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GBF) + + pci:v00008086d000024D1sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GLC) + + pci:v00008086d000024D1sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (D865PERL mainboard) + + pci:v00008086d000024D2* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 + + pci:v00008086d000024D2sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) + + pci:v00008086d000024D2sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) + + pci:v00008086d000024D2sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D2sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision 470) + + pci:v00008086d000024D2sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1850 onboard UHCI) + + pci:v00008086d000024D2sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 2850 onboard UHCI) + + pci:v00008086d000024D2sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 6850 onboard UHCI) + + pci:v00008086d000024D2sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1800) + + pci:v00008086d000024D2sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge SC1425) + + pci:v00008086d000024D2sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (NX9500) + + pci:v00008086d000024D2sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (d530 CMT (DG746A)) + + pci:v00008086d000024D2sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (ProLiant DL140 G2) + + pci:v00008086d000024D2sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D2sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (GA-8IPE1000/8KNXP motherboard) + + pci:v00008086d000024D2sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D2sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4TSV Motherboard (865G)) + + pci:v00008086d000024D2sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4SCE Mainboard) + + pci:v00008086d000024D2sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PRIMERGY RX/TX series onboard UHCI) + + pci:v00008086d000024D2sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (S875WP1-E mainboard) + + pci:v00008086d000024D2sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GBF) + + pci:v00008086d000024D2sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GLC) + + pci:v00008086d000024D2sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (D865PERL mainboard) + + pci:v00008086d000024D3* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller + + pci:v00008086d000024D3sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) + + pci:v00008086d000024D3sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) + + pci:v00008086d000024D3sv00001028sd00000156* +- ID_MODEL_FROM_DATABASE=Precision 360 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 360) + + pci:v00008086d000024D3sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D3sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 470) + + pci:v00008086d000024D3sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d330 uT ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (d330 uT) + + pci:v00008086d000024D3sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (ProLiant DL140 G2) + + pci:v00008086d000024D3sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D3sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D3sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D3sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D3sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4TSV Motherboard (865G)) + + pci:v00008086d000024D3sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4SCE Mainboard) + + pci:v00008086d000024D3sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series SMBus ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (PRIMERGY RX/TX S2 series SMBus) + + pci:v00008086d000024D3sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (S875WP1-E mainboard) + + pci:v00008086d000024D3sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GBF) + + pci:v00008086d000024D3sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GLC) + + pci:v00008086d000024D3sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (D865PERL mainboard) + + pci:v00008086d000024D4* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 + + pci:v00008086d000024D4sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) + + pci:v00008086d000024D4sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) + + pci:v00008086d000024D4sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D4sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision 470) + + pci:v00008086d000024D4sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1850 onboard UHCI) + + pci:v00008086d000024D4sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 2850 onboard UHCI) + + pci:v00008086d000024D4sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 6850 onboard UHCI) + + pci:v00008086d000024D4sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1800) + + pci:v00008086d000024D4sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge SC1425) + + pci:v00008086d000024D4sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (NX9500) + + pci:v00008086d000024D4sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (d530 CMT (DG746A)) + + pci:v00008086d000024D4sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (ProLiant DL140 G2) + + pci:v00008086d000024D4sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D4sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D4sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D4sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D4sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4TSV Motherboard (865G)) + + pci:v00008086d000024D4sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4SCE Mainboard) + + pci:v00008086d000024D4sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PRIMERGY RX/TX S2 series onboard UHCI) + + pci:v00008086d000024D4sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (S875WP1-E mainboard) + + pci:v00008086d000024D4sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GBF) + + pci:v00008086d000024D4sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GLC) + + pci:v00008086d000024D4sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (D865PERL mainboard) + + pci:v00008086d000024D5* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller + + pci:v00008086d000024D5sv0000100Asd0000147B* +- ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Abit IS7-E motherboard) + + pci:v00008086d000024D5sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D5sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision 470) + + pci:v00008086d000024D5sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (NX9500) + + pci:v00008086d000024D5sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d330 uT ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (d330 uT) + + pci:v00008086d000024D5sv00001043sd000080F3* +- ID_MODEL_FROM_DATABASE=P4P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P4P800 series motherboard) + + pci:v00008086d000024D5sv00001043sd0000810F* +- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P5P800-MX Mainboard) + + pci:v00008086d000024D5sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (GA-8IPE1000/8KNXP motherboard) + + pci:v00008086d000024D5sv00001462sd00000080* +- ID_MODEL_FROM_DATABASE=865PE Neo2-V (MS-6788) Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2-V (MS-6788) Mainboard) + + pci:v00008086d000024D5sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D5sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D5sv00008086sd0000A000* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) + + pci:v00008086d000024D5sv00008086sd0000E000* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) + + pci:v00008086d000024D5sv00008086sd0000E001* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Desktop Board D865GBF) + + pci:v00008086d000024D5sv00008086sd0000E002* +- ID_MODEL_FROM_DATABASE=SoundMax Intergrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (SoundMax Intergrated Digital Audio) + + pci:v00008086d000024D6* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller + + pci:v00008086d000024D6sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller (NX9500) + + pci:v00008086d000024D7* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 + + pci:v00008086d000024D7sv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (xSeries server mainboard) + + pci:v00008086d000024D7sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024D7sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision 470) + + pci:v00008086d000024D7sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1850 onboard UHCI) + + pci:v00008086d000024D7sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 2850 onboard UHCI) + + pci:v00008086d000024D7sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 6850 onboard UHCI) + + pci:v00008086d000024D7sv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1800) + + pci:v00008086d000024D7sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (NX9500) + + pci:v00008086d000024D7sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (d530 CMT (DG746A)) + + pci:v00008086d000024D7sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024D7sv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024D7sv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024D7sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024D7sv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4TSV Motherboard (865G)) + + pci:v00008086d000024D7sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4SCE Mainboard) + + pci:v00008086d000024D7sv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PRIMERGY RX/TX S2 series onboard UHCI) + + pci:v00008086d000024D7sv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (S875WP1-E mainboard) + + pci:v00008086d000024D7sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GBF) + + pci:v00008086d000024D7sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GLC) + + pci:v00008086d000024D7sv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (D865PERL mainboard) + + pci:v00008086d000024DB* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller + + pci:v00008086d000024DBsv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DBsv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DBsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024DBsv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision 470) + + pci:v00008086d000024DBsv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 IDE Controller ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 1850 IDE Controller) + + pci:v00008086d000024DBsv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 IDE Controller ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 2850 IDE Controller) + + pci:v00008086d000024DBsv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 IDE Controller ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 6850 IDE Controller) + + pci:v00008086d000024DBsv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge SC1425) + + pci:v00008086d000024DBsv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (NX9500) + + pci:v00008086d000024DBsv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (d530 CMT (DG746A)) + + pci:v00008086d000024DBsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4P800/P5P800 series motherboard) + + pci:v00008086d000024DBsv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024DBsv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024DBsv00001462sd00007580* +- ID_MODEL_FROM_DATABASE=MSI 875P ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (MSI 875P) + + pci:v00008086d000024DBsv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024DBsv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4TSV Motherboard (865G)) + + pci:v00008086d000024DBsv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4SCE Mainboard) + + pci:v00008086d000024DBsv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard IDE ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PRIMERGY RX/TX S2 series onboard IDE) + + pci:v00008086d000024DBsv00008086sd000024DB* +- ID_MODEL_FROM_DATABASE=P4C800 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4C800 Mainboard) + + pci:v00008086d000024DBsv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (S875WP1-E mainboard) + + pci:v00008086d000024DBsv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GBF) + + pci:v00008086d000024DBsv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GLC) + + pci:v00008086d000024DBsv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (D865PERL mainboard) + + pci:v00008086d000024DC* + ID_MODEL_FROM_DATABASE=82801EB (ICH5) LPC Interface Bridge +@@ -62481,142 +62481,142 @@ pci:v00008086d000024DD* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller + + pci:v00008086d000024DDsv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DDsv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) + + pci:v00008086d000024DDsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024DDsv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision 470) + + pci:v00008086d000024DDsv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1850 onboard EHCI) + + pci:v00008086d000024DDsv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 2850 onboard EHCI) + + pci:v00008086d000024DDsv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 6850 onboard EHCI) + + pci:v00008086d000024DDsv00001028sd00000183* +- ID_MODEL_FROM_DATABASE=PowerEdge 1800 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1800) + + pci:v00008086d000024DDsv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge SC1425) + + pci:v00008086d000024DDsv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (NX9500) + + pci:v00008086d000024DDsv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (d530 CMT (DG746A)) + + pci:v00008086d000024DDsv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (ProLiant DL140 G2) + + pci:v00008086d000024DDsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (P4P800/P5P800 series motherboard) + + pci:v00008086d000024DDsv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024DDsv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (865PE Neo2 (MS-6728)) + + pci:v00008086d000024DDsv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024DDsv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (S875WP1-E mainboard) + + pci:v00008086d000024DDsv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GBF) + + pci:v00008086d000024DDsv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GLC) + + pci:v00008086d000024DDsv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (D865PERL mainboard) + + pci:v00008086d000024DE* + ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 + + pci:v00008086d000024DEsv00001014sd000002ED* +- ID_MODEL_FROM_DATABASE=xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (xSeries server mainboard) + + pci:v00008086d000024DEsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision Workstation 670 Mainboard) + + pci:v00008086d000024DEsv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision 470) + + pci:v00008086d000024DEsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4P800/P5P800 series motherboard) + + pci:v00008086d000024DEsv00001458sd000024D2* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d000024DEsv00001462sd00007280* +- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (865PE Neo2 (MS-6728)) + + pci:v00008086d000024DEsv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Hetis 865GV-E (MS-7065)) + + pci:v00008086d000024DEsv00001565sd00003101* +- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4TSV Motherboard (865G)) + + pci:v00008086d000024DEsv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4SCE Mainboard) + + pci:v00008086d000024DEsv00001734sd0000101C* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (PRIMERGY RX/TX S2 series onboard UHCI) + + pci:v00008086d000024DEsv00008086sd00003427* +- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (S875WP1-E mainboard) + + pci:v00008086d000024DEsv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GBF) + + pci:v00008086d000024DEsv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GLC) + + pci:v00008086d000024DEsv00008086sd0000524C* +- ID_MODEL_FROM_DATABASE=D865PERL mainboard ++ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (D865PERL mainboard) + + pci:v00008086d000024DF* + ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller + + pci:v00008086d000024DFsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller (Precision Workstation 670 Mainboard) + + pci:v00008086d000024F3* + ID_MODEL_FROM_DATABASE=Wireless 8260 + + pci:v00008086d000024F3sv00008086sd00000010* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) + + pci:v00008086d000024F4* + ID_MODEL_FROM_DATABASE=Wireless 8260 + + pci:v00008086d000024F4sv00008086sd00000030* +- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 ++ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) + + pci:v00008086d00002500* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) + + pci:v00008086d00002500sv00001028sd00000095* +- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Chipset ++ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (Precision Workstation 220 Chipset) + + pci:v00008086d00002500sv00001043sd0000801C* +- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset ++ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) + + pci:v00008086d00002501* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) + + pci:v00008086d00002501sv00001043sd0000801C* +- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset ++ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) + + pci:v00008086d0000250B* + ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge +@@ -62634,16 +62634,16 @@ pci:v00008086d00002530* + ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) + + pci:v00008086d00002530sv00001028sd000000C7* +- ID_MODEL_FROM_DATABASE=Dimension 8100 ++ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (Dimension 8100) + + pci:v00008086d00002530sv0000147Bsd00000507* +- ID_MODEL_FROM_DATABASE=TH7II-RAID ++ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (TH7II-RAID) + + pci:v00008086d00002531* + ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) + + pci:v00008086d00002531sv00001028sd000000D8* +- ID_MODEL_FROM_DATABASE=Precision 530 ++ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) (Precision 530) + + pci:v00008086d00002532* + ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset AGP Bridge +@@ -62658,19 +62658,19 @@ pci:v00008086d00002540* + ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub + + pci:v00008086d00002540sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub (P4DP6) + + pci:v00008086d00002541* + ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller + + pci:v00008086d00002541sv000015D9sd00003480* +- ID_MODEL_FROM_DATABASE=P4DP6 ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (P4DP6) + + pci:v00008086d00002541sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d00002541sv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (SE7501HG2 Mainboard) + + pci:v00008086d00002543* + ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B PCI-to-PCI Bridge +@@ -62679,7 +62679,7 @@ pci:v00008086d00002544* + ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller + + pci:v00008086d00002544sv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller (Cx9 / Vx9 mainboard) + + pci:v00008086d00002545* + ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface C PCI-to-PCI Bridge +@@ -62697,10 +62697,10 @@ pci:v00008086d0000254C* + ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub + + pci:v00008086d0000254Csv00004C53sd00001090* +- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard ++ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (Cx9 / Vx9 mainboard) + + pci:v00008086d0000254Csv00008086sd00003424* +- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard ++ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (SE7501HG2 Mainboard) + + pci:v00008086d00002550* + ID_MODEL_FROM_DATABASE=E7505 Memory Controller Hub +@@ -62724,13 +62724,13 @@ pci:v00008086d00002560* + ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface + + pci:v00008086d00002560sv00001028sd00000126* +- ID_MODEL_FROM_DATABASE=Optiplex GX260 ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (Optiplex GX260) + + pci:v00008086d00002560sv00001458sd00002560* +- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (GA-8PE667 Ultra) + + pci:v00008086d00002560sv00001462sd00005800* +- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (845PE Max (MS-6580)) + + pci:v00008086d00002561* + ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge +@@ -62739,31 +62739,31 @@ pci:v00008086d00002562* + ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device + + pci:v00008086d00002562sv00000E11sd000000B9* +- ID_MODEL_FROM_DATABASE=Evo D510 SFF ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (Evo D510 SFF) + + pci:v00008086d00002562sv00001014sd00000267* +- ID_MODEL_FROM_DATABASE=NetVista A30p ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (NetVista A30p) + + pci:v00008086d00002562sv00001734sd00001003* +- ID_MODEL_FROM_DATABASE=D1521 Mainboard (Fujitsu-Siemens) ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1521 Mainboard (Fujitsu-Siemens)) + + pci:v00008086d00002562sv00001734sd00001004* +- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) ++ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1451 Mainboard (SCENIC N300, i845GV)) + + pci:v00008086d00002570* + ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface + + pci:v00008086d00002570sv0000103Csd0000006A* +- ID_MODEL_FROM_DATABASE=NX9500 ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (NX9500) + + pci:v00008086d00002570sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=d330 uT ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (d330 uT) + + pci:v00008086d00002570sv00001043sd000080F2* +- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (P4P800/P5P800 series motherboard) + + pci:v00008086d00002570sv00001458sd00002570* +- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) ++ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (GA-8IPE1000 Pro2 motherboard (865PE)) + + pci:v00008086d00002571* + ID_MODEL_FROM_DATABASE=82865G/PE/P AGP Bridge +@@ -62772,25 +62772,25 @@ pci:v00008086d00002572* + ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller + + pci:v00008086d00002572sv00001028sd0000019D* +- ID_MODEL_FROM_DATABASE=Dimension 3000 ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Dimension 3000) + + pci:v00008086d00002572sv0000103Csd000012BC* +- ID_MODEL_FROM_DATABASE=D530 sff(dc578av) ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (D530 sff(dc578av)) + + pci:v00008086d00002572sv00001043sd000080A5* +- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (P5P800-MX Mainboard) + + pci:v00008086d00002572sv00001462sd00007650* +- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Hetis 865GV-E (MS-7065)) + + pci:v00008086d00002572sv00001734sd0000101B* +- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Scenic E300 i865GV ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Fujitsu-Siemens Scenic E300 i865GV) + + pci:v00008086d00002572sv00008086sd00004246* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GBF) + + pci:v00008086d00002572sv00008086sd00004C43* +- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC ++ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GLC) + + pci:v00008086d00002573* + ID_MODEL_FROM_DATABASE=82865G/PE/P PCI to CSA Bridge +@@ -62802,13 +62802,13 @@ pci:v00008086d00002578* + ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub + + pci:v00008086d00002578sv00001458sd00002578* +- ID_MODEL_FROM_DATABASE=GA-8KNXP motherboard (875P) ++ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (GA-8KNXP motherboard (875P)) + + pci:v00008086d00002578sv00001462sd00007580* +- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) ++ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (MS-6758 (875P Neo)) + + pci:v00008086d00002578sv000015D9sd00004580* +- ID_MODEL_FROM_DATABASE=P4SCE Motherboard ++ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (P4SCE Motherboard) + + pci:v00008086d00002579* + ID_MODEL_FROM_DATABASE=82875P Processor to AGP Controller +@@ -62823,13 +62823,13 @@ pci:v00008086d00002580* + ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub + + pci:v00008086d00002580sv00001458sd00002580* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (GA-8I915ME-G Mainboard) + + pci:v00008086d00002580sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (915P/G Neo2) + + pci:v00008086d00002580sv00001734sd0000105B* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (Scenic W620) + + pci:v00008086d00002581* + ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL PCI Express Root Port +@@ -62838,28 +62838,28 @@ pci:v00008086d00002582* + ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller + + pci:v00008086d00002582sv00001028sd00001079* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Optiplex GX280) + + pci:v00008086d00002582sv0000103Csd00003006* +- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (DC7100 SFF(DX878AV)) + + pci:v00008086d00002582sv00001043sd00002582* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002582sv00001458sd00002582* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d00002582sv00001734sd0000105B* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Scenic W620) + + pci:v00008086d00002582sv00001849sd00002582* +- ID_MODEL_FROM_DATABASE=ASRock P4Dual-915GL ++ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (ASRock P4Dual-915GL) + + pci:v00008086d00002584* + ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub + + pci:v00008086d00002584sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub (Dimension 8400) + + pci:v00008086d00002585* + ID_MODEL_FROM_DATABASE=82925X/XE PCI Express Root Port +@@ -62877,58 +62877,58 @@ pci:v00008086d00002590* + ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller + + pci:v00008086d00002590sv00001014sd00000575* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (ThinkPad Z60t) + + pci:v00008086d00002590sv00001028sd00000182* +- ID_MODEL_FROM_DATABASE=Dell Latitude C610 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Dell Latitude C610) + + pci:v00008086d00002590sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Compaq nw8240/nx8220) + + pci:v00008086d00002590sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (NX6110/NC6120) + + pci:v00008086d00002590sv0000104Dsd000081B7* +- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) + + pci:v00008086d00002590sv0000A304sd000081B7* +- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) + + pci:v00008086d00002590sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CCD-CALYPSO) + + pci:v00008086d00002590sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CD3-JIVE) + + pci:v00008086d00002590sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (XB1) + + pci:v00008086d00002591* + ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port + + pci:v00008086d00002591sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002592* + ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller + + pci:v00008086d00002592sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) + + pci:v00008086d00002592sv0000103Csd0000308A* +- ID_MODEL_FROM_DATABASE=NC6220 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NC6220) + + pci:v00008086d00002592sv00001043sd00001881* +- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) + + pci:v00008086d00002592sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) + + pci:v00008086d00002592sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) + + pci:v00008086d00002592sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) + + pci:v00008086d000025A1* + ID_MODEL_FROM_DATABASE=6300ESB LPC Interface Controller +@@ -62937,79 +62937,79 @@ pci:v00008086d000025A2* + ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller + + pci:v00008086d000025A2sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A2sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer IDE ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (V5D Single Board Computer IDE) + + pci:v00008086d000025A2sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A2sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CE9) + + pci:v00008086d000025A2sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CL9 mainboard) + + pci:v00008086d000025A2sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (PSL09 PrPMC) + + pci:v00008086d000025A3* + ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller + + pci:v00008086d000025A3sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A3sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A3sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CE9) + + pci:v00008086d000025A3sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CL9 mainboard) + + pci:v00008086d000025A3sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025A3sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (PSL09 PrPMC) + + pci:v00008086d000025A4* + ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller + + pci:v00008086d000025A4sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A4sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (V5D Single Board Computer) + + pci:v00008086d000025A4sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A4sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CE9) + + pci:v00008086d000025A4sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CL9 mainboard) + + pci:v00008086d000025A4sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025A4sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (PSL09 PrPMC) + + pci:v00008086d000025A6* + ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller + + pci:v00008086d000025A6sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A6sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CE9) + + pci:v00008086d000025A6sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CL9 mainboard) + + pci:v00008086d000025A7* + ID_MODEL_FROM_DATABASE=6300ESB AC'97 Modem Controller +@@ -63018,121 +63018,121 @@ pci:v00008086d000025A9* + ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller + + pci:v00008086d000025A9sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025A9sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (V5D Single Board Computer USB) + + pci:v00008086d000025A9sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025A9sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) + + pci:v00008086d000025A9sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) + + pci:v00008086d000025A9sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025A9sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) + + pci:v00008086d000025AA* + ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller + + pci:v00008086d000025AAsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025AAsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025AAsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) + + pci:v00008086d000025AAsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) + + pci:v00008086d000025AAsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025AAsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) + + pci:v00008086d000025AB* + ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer + + pci:v00008086d000025ABsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025ABsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (V5D Single Board Computer) + + pci:v00008086d000025ABsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CR11/VR11 Single Board Computer) + + pci:v00008086d000025ABsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CE9) + + pci:v00008086d000025ABsv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (QEMU Virtual Machine) + + pci:v00008086d000025ABsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CL9 mainboard) + + pci:v00008086d000025ABsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Telum ASLP10 Processor AMC) + + pci:v00008086d000025ABsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (PSL09 PrPMC) + + pci:v00008086d000025AC* + ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller + + pci:v00008086d000025ACsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025ACsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (V5D Single Board Computer) + + pci:v00008086d000025ACsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025ACsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CE9) + + pci:v00008086d000025ACsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CL9 mainboard) + + pci:v00008086d000025ACsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025ACsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (PSL09 PrPMC) + + pci:v00008086d000025AD* + ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller + + pci:v00008086d000025ADsv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d000025ADsv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB 2.0 ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (V5D Single Board Computer USB 2.0) + + pci:v00008086d000025ADsv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025ADsv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CE9) + + pci:v00008086d000025ADsv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CL9 mainboard) + + pci:v00008086d000025ADsv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025ADsv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (PSL09 PrPMC) + + pci:v00008086d000025AE* + ID_MODEL_FROM_DATABASE=6300ESB 64-bit PCI-X Bridge +@@ -63141,13 +63141,13 @@ pci:v00008086d000025B0* + ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller + + pci:v00008086d000025B0sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d000025B0sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d000025B0sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (PSL09 PrPMC) + + pci:v00008086d000025C0* + ID_MODEL_FROM_DATABASE=5000X Chipset Memory Controller Hub +@@ -63159,16 +63159,16 @@ pci:v00008086d000025D4* + ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub + + pci:v00008086d000025D4sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub (X7DVL-E-O motherboard) + + pci:v00008086d000025D8* + ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub + + pci:v00008086d000025D8sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (X7DBN Motherboard) + + pci:v00008086d000025D8sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (S5000PSLSATA Server Board) + + pci:v00008086d000025E2* + ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 2 +@@ -63192,79 +63192,79 @@ pci:v00008086d000025F0* + ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers + + pci:v00008086d000025F0sv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 FSB Registers ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (PowerEdge 1955 FSB Registers) + + pci:v00008086d000025F0sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (ProLiant DL140 G3) + + pci:v00008086d000025F0sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F0sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DBN Motherboard) + + pci:v00008086d000025F0sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F1* + ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers + + pci:v00008086d000025F1sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) + + pci:v00008086d000025F1sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F1sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) + + pci:v00008086d000025F1sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F3* + ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers + + pci:v00008086d000025F3sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) + + pci:v00008086d000025F3sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F3sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) + + pci:v00008086d000025F3sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F5* + ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers + + pci:v00008086d000025F5sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) + + pci:v00008086d000025F5sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F5sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) + + pci:v00008086d000025F5sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F6* + ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers + + pci:v00008086d000025F6sv0000103Csd000031FD* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) + + pci:v00008086d000025F6sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) + + pci:v00008086d000025F6sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) + + pci:v00008086d000025F6sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) + + pci:v00008086d000025F7* + ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 2-3 +@@ -63282,7 +63282,7 @@ pci:v00008086d00002600* + ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 + + pci:v00008086d00002600sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Hub Interface ++ ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 (PowerEdge 6850 Hub Interface) + + pci:v00008086d00002601* + ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port D +@@ -63363,76 +63363,76 @@ pci:v00008086d00002620* + ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge + + pci:v00008086d00002620sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Bridge ++ ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge (PowerEdge 6850 Memory Bridge) + + pci:v00008086d00002621* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers + + pci:v00008086d00002621sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 XMB Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers (PowerEdge 6850 XMB Registers) + + pci:v00008086d00002622* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers + + pci:v00008086d00002622sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Interleaving Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers (PowerEdge 6850 Memory Interleaving Registers) + + pci:v00008086d00002623* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration + + pci:v00008086d00002623sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 DDR Initialization and Calibration ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration (PowerEdge 6850 DDR Initialization and Calibration) + + pci:v00008086d00002624* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002624sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002625* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002625sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002626* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002626sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002627* + ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers + + pci:v00008086d00002627sv00001028sd00000170* +- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers ++ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) + + pci:v00008086d00002640* + ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge + + pci:v00008086d00002640sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (915P/G Neo2) + + pci:v00008086d00002640sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (Scenic W620) + + pci:v00008086d00002640sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CCD-CALYPSO) + + pci:v00008086d00002640sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CD3-JIVE) + + pci:v00008086d00002640sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (XB1) + + pci:v00008086d00002641* + ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge + + pci:v00008086d00002641sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (Compaq nw8240/nx8220) + + pci:v00008086d00002641sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (NX6110/NC6120) + + pci:v00008086d00002642* + ID_MODEL_FROM_DATABASE=82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge +@@ -63441,34 +63441,34 @@ pci:v00008086d00002651* + ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller + + pci:v00008086d00002651sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Optiplex GX280) + + pci:v00008086d00002651sv00001043sd00002601* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002651sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Scenic W620) + + pci:v00008086d00002651sv00008086sd00004147* +- ID_MODEL_FROM_DATABASE=D915GAG Motherboard ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (D915GAG Motherboard) + + pci:v00008086d00002651sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CCD-CALYPSO) + + pci:v00008086d00002651sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CD3-JIVE) + + pci:v00008086d00002651sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (XB1) + + pci:v00008086d00002652* + ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller + + pci:v00008086d00002652sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (Dimension 8400) + + pci:v00008086d00002652sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (915P/G Neo2) + + pci:v00008086d00002653* + ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) SATA Controller +@@ -63477,289 +63477,289 @@ pci:v00008086d00002658* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 + + pci:v00008086d00002658sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Dimension 8400) + + pci:v00008086d00002658sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Optiplex GX280) + + pci:v00008086d00002658sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Compaq nw8240/nx8220) + + pci:v00008086d00002658sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (NX6110/NC6120) + + pci:v00008086d00002658sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (P5GD1-VW Mainboard) + + pci:v00008086d00002658sv00001458sd00002558* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (GA-8I915ME-G Mainboard) + + pci:v00008086d00002658sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (915P/G Neo2) + + pci:v00008086d00002658sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Scenic W620) + + pci:v00008086d00002658sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CCD-CALYPSO) + + pci:v00008086d00002658sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CD3-JIVE) + + pci:v00008086d00002658sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (XB1) + + pci:v00008086d00002659* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 + + pci:v00008086d00002659sv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Dimension 8400) + + pci:v00008086d00002659sv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Optiplex GX280) + + pci:v00008086d00002659sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Compaq nw8240/nx8220) + + pci:v00008086d00002659sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (NX6110/NC6120) + + pci:v00008086d00002659sv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (P5GD1-VW Mainboard) + + pci:v00008086d00002659sv00001458sd00002659* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (GA-8I915ME-G Mainboard) + + pci:v00008086d00002659sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (915P/G Neo2) + + pci:v00008086d00002659sv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Scenic W620) + + pci:v00008086d00002659sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CCD-CALYPSO) + + pci:v00008086d00002659sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CD3-JIVE) + + pci:v00008086d00002659sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (XB1) + + pci:v00008086d0000265A* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 + + pci:v00008086d0000265Asv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Dimension 8400) + + pci:v00008086d0000265Asv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Optiplex GX280) + + pci:v00008086d0000265Asv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Compaq nw8240/nx8220) + + pci:v00008086d0000265Asv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (NX6110/NC6120) + + pci:v00008086d0000265Asv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (P5GD1-VW Mainboard) + + pci:v00008086d0000265Asv00001458sd0000265A* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (GA-8I915ME-G Mainboard) + + pci:v00008086d0000265Asv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (915P/G Neo2) + + pci:v00008086d0000265Asv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Scenic W620) + + pci:v00008086d0000265Asv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CCD-CALYPSO) + + pci:v00008086d0000265Asv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CD3-JIVE) + + pci:v00008086d0000265Asv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (XB1) + + pci:v00008086d0000265B* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 + + pci:v00008086d0000265Bsv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Dimension 8400) + + pci:v00008086d0000265Bsv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Optiplex GX280) + + pci:v00008086d0000265Bsv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (NX6110/NC6120) + + pci:v00008086d0000265Bsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (P5GD1-VW Mainboard) + + pci:v00008086d0000265Bsv00001458sd0000265A* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (GA-8I915ME-G Mainboard) + + pci:v00008086d0000265Bsv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (915P/G Neo2) + + pci:v00008086d0000265Bsv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Scenic W620) + + pci:v00008086d0000265Bsv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CCD-CALYPSO) + + pci:v00008086d0000265Bsv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CD3-JIVE) + + pci:v00008086d0000265Bsv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (XB1) + + pci:v00008086d0000265C* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller + + pci:v00008086d0000265Csv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 8400) + + pci:v00008086d0000265Csv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Optiplex GX280) + + pci:v00008086d0000265Csv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000265Csv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (NX6110/NC6120) + + pci:v00008086d0000265Csv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (P5GD1-VW Mainboard) + + pci:v00008086d0000265Csv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000265Csv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (915P/G Neo2) + + pci:v00008086d0000265Csv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Scenic W620) + + pci:v00008086d0000265Csv00008086sd0000265C* +- ID_MODEL_FROM_DATABASE=Dimension 3100 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 3100) + + pci:v00008086d0000265Csv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CCD-CALYPSO) + + pci:v00008086d0000265Csv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CD3-JIVE) + + pci:v00008086d0000265Csv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (XB1) + + pci:v00008086d00002660* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 + + pci:v00008086d00002660sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002660sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (NX6110/NC6120) + + pci:v00008086d00002660sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CCD-CALYPSO) + + pci:v00008086d00002660sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CD3-JIVE) + + pci:v00008086d00002660sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (XB1) + + pci:v00008086d00002662* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 + + pci:v00008086d00002662sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (HP Compaq nw8240 Mobile Workstation) + + pci:v00008086d00002662sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CCD-CALYPSO) + + pci:v00008086d00002662sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CD3-JIVE) + + pci:v00008086d00002662sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (XB1) + + pci:v00008086d00002664* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 + + pci:v00008086d00002664sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CCD-CALYPSO) + + pci:v00008086d00002664sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CD3-JIVE) + + pci:v00008086d00002664sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (XB1) + + pci:v00008086d00002666* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 + + pci:v00008086d00002666sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CCD-CALYPSO) + + pci:v00008086d00002666sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CD3-JIVE) + + pci:v00008086d00002666sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (XB1) + + pci:v00008086d00002668* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller + + pci:v00008086d00002668sv00001014sd000005B7* +- ID_MODEL_FROM_DATABASE=ThinkPad Z60t ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (ThinkPad Z60t) + + pci:v00008086d00002668sv0000103Csd00002A09* +- ID_MODEL_FROM_DATABASE=PufferM-UL8E ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (PufferM-UL8E) + + pci:v00008086d00002668sv00001043sd00001173* +- ID_MODEL_FROM_DATABASE=Asus A6VC ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (Asus A6VC) + + pci:v00008086d00002668sv00001043sd0000814E* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002668sv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (915P/G Neo2) + + pci:v00008086d00002668sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) + + pci:v00008086d0000266A* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller + + pci:v00008086d0000266Asv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Dimension 8400) + + pci:v00008086d0000266Asv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Optiplex GX280) + + pci:v00008086d0000266Asv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (P5GD1-VW Mainboard) + + pci:v00008086d0000266Asv00001458sd0000266A* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000266Asv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (915P/G Neo2) + + pci:v00008086d0000266Asv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Scenic W620) + + pci:v00008086d0000266Asv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CCD-CALYPSO) + + pci:v00008086d0000266Asv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CD3-JIVE) + + pci:v00008086d0000266Asv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (XB1) + + pci:v00008086d0000266C* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller +@@ -63768,103 +63768,103 @@ pci:v00008086d0000266D* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller + + pci:v00008086d0000266Dsv00001025sd0000006A* +- ID_MODEL_FROM_DATABASE=Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)) + + pci:v00008086d0000266Dsv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000266Dsv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (NX6110/NC6120) + + pci:v00008086d0000266E* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller + + pci:v00008086d0000266Esv00001025sd0000006A* +- ID_MODEL_FROM_DATABASE=Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)) + + pci:v00008086d0000266Esv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dimension 8400) + + pci:v00008086d0000266Esv00001028sd00000179* +- ID_MODEL_FROM_DATABASE=Optiplex GX280 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Optiplex GX280) + + pci:v00008086d0000266Esv00001028sd00000182* +- ID_MODEL_FROM_DATABASE=Latitude D610 Laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Latitude D610 Laptop) + + pci:v00008086d0000266Esv00001028sd00000187* +- ID_MODEL_FROM_DATABASE=Dell Precision M70 Laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dell Precision M70 Laptop) + + pci:v00008086d0000266Esv00001028sd00000188* +- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Inspiron 6000 laptop) + + pci:v00008086d0000266Esv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000266Esv0000103Csd00000944* +- ID_MODEL_FROM_DATABASE=Compaq NC6220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq NC6220) + + pci:v00008086d0000266Esv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (NX6110/NC6120) + + pci:v00008086d0000266Esv0000103Csd00003006* +- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (DC7100 SFF(DX878AV)) + + pci:v00008086d0000266Esv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000266Esv0000152Dsd00000745* +- ID_MODEL_FROM_DATABASE=Packard Bell A8550 Laptop ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Packard Bell A8550 Laptop) + + pci:v00008086d0000266Esv00001734sd0000105A* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Scenic W620) + + pci:v00008086d0000266F* + ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller + + pci:v00008086d0000266Fsv00001028sd00000177* +- ID_MODEL_FROM_DATABASE=Dimension 8400 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Dimension 8400) + + pci:v00008086d0000266Fsv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Compaq nw8240/nx8220) + + pci:v00008086d0000266Fsv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (NX6110/NC6120) + + pci:v00008086d0000266Fsv00001043sd000080A6* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (P5GD1-VW Mainboard) + + pci:v00008086d0000266Fsv00001458sd0000266F* +- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (GA-8I915ME-G Mainboard) + + pci:v00008086d0000266Fsv00001462sd00007028* +- ID_MODEL_FROM_DATABASE=915P/G Neo2 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (915P/G Neo2) + + pci:v00008086d0000266Fsv00001734sd0000105C* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Scenic W620) + + pci:v00008086d0000266Fsv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CCD-CALYPSO) + + pci:v00008086d0000266Fsv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CD3-JIVE) + + pci:v00008086d0000266Fsv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (XB1) + + pci:v00008086d00002670* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller + + pci:v00008086d00002670sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (ProLiant DL140 G3) + + pci:v00008086d00002670sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DVL-E-O motherboard) + + pci:v00008086d00002670sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DBN Motherboard) + + pci:v00008086d00002670sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002680* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller +@@ -63873,22 +63873,22 @@ pci:v00008086d00002681* + ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller + + pci:v00008086d00002681sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (ProLiant DL140 G3) + + pci:v00008086d00002681sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DVL-E-O motherboard) + + pci:v00008086d00002681sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DBN Motherboard) + + pci:v00008086d00002681sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002682* + ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller + + pci:v00008086d00002682sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=Adaptec Serial ATA HostRAID ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller (Adaptec Serial ATA HostRAID) + + pci:v00008086d00002683* + ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller +@@ -63897,109 +63897,109 @@ pci:v00008086d00002688* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 + + pci:v00008086d00002688sv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge 1955 onboard USB) + + pci:v00008086d00002688sv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge R900 onboard USB) + + pci:v00008086d00002688sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (ProLiant DL140 G3) + + pci:v00008086d00002688sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DVL-E-O motherboard) + + pci:v00008086d00002688sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DBN Motherboard) + + pci:v00008086d00002688sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002689* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 + + pci:v00008086d00002689sv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge 1955 onboard USB) + + pci:v00008086d00002689sv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge R900 onboard USB) + + pci:v00008086d00002689sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (ProLiant DL140 G3) + + pci:v00008086d00002689sv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DVL-E-O motherboard) + + pci:v00008086d00002689sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DBN Motherboard) + + pci:v00008086d00002689sv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000268A* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 + + pci:v00008086d0000268Asv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (PowerEdge R900 onboard USB) + + pci:v00008086d0000268Asv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (ProLiant DL140 G3) + + pci:v00008086d0000268Asv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DVL-E-O motherboard) + + pci:v00008086d0000268Asv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DBN Motherboard) + + pci:v00008086d0000268Asv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000268B* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 + + pci:v00008086d0000268Bsv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (PowerEdge R900 onboard USB) + + pci:v00008086d0000268Bsv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (X7DVL-E-O motherboard) + + pci:v00008086d0000268Bsv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000268C* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller + + pci:v00008086d0000268Csv00001028sd000001BB* +- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge 1955 onboard USB) + + pci:v00008086d0000268Csv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge R900 onboard USB) + + pci:v00008086d0000268Csv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (ProLiant DL140 G3) + + pci:v00008086d0000268Csv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DVL-E-O motherboard) + + pci:v00008086d0000268Csv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DBN Motherboard) + + pci:v00008086d0000268Csv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d00002690* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 + + pci:v00008086d00002690sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (ProLiant DL140 G3) + + pci:v00008086d00002690sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (X7DBN Motherboard) + + pci:v00008086d00002692* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 + + pci:v00008086d00002692sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 (ProLiant DL140 G3) + + pci:v00008086d00002694* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 3 +@@ -64020,49 +64020,49 @@ pci:v00008086d0000269B* + ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller + + pci:v00008086d0000269Bsv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (ProLiant DL140 G3) + + pci:v00008086d0000269Bsv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DVL-E-O motherboard) + + pci:v00008086d0000269Bsv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DBN Motherboard) + + pci:v00008086d0000269Bsv00008086sd00003476* +- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (Intel S5000PSLSATA Server Board) + + pci:v00008086d0000269E* + ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller + + pci:v00008086d0000269Esv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (ProLiant DL140 G3) + + pci:v00008086d0000269Esv000015D9sd00008680* +- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DVL-E-O motherboard) + + pci:v00008086d0000269Esv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DBN Motherboard) + + pci:v00008086d00002770* + ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub + + pci:v00008086d00002770sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (OptiPlex GX620) + + pci:v00008086d00002770sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Pavilion A1512X) + + pci:v00008086d00002770sv00001043sd0000817A* +- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (P5LD2-VM Mainboard) + + pci:v00008086d00002770sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (E4500) + + pci:v00008086d00002770sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Wind PC MS-7418) + + pci:v00008086d00002770sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (DeskTop Board D945GTP) + + pci:v00008086d00002771* + ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL PCI Express Root Port +@@ -64071,16 +64071,16 @@ pci:v00008086d00002772* + ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller + + pci:v00008086d00002772sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Pavilion A1512X) + + pci:v00008086d00002772sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Wind PC MS-7418) + + pci:v00008086d00002772sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (DeskTop Board D945GTP) + + pci:v00008086d00002772sv00008086sd0000D605* +- ID_MODEL_FROM_DATABASE=Intel Desktop Board D945GCCR ++ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Intel Desktop Board D945GCCR) + + pci:v00008086d00002774* + ID_MODEL_FROM_DATABASE=82955X Memory Controller Hub +@@ -64095,10 +64095,10 @@ pci:v00008086d00002778* + ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub + + pci:v00008086d00002778sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge SC440) + + pci:v00008086d00002778sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge 860) + + pci:v00008086d00002779* + ID_MODEL_FROM_DATABASE=E7230/3000/3010 PCI Express Root Port +@@ -64110,7 +64110,7 @@ pci:v00008086d0000277C* + ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub + + pci:v00008086d0000277Csv00001043sd00008178* +- ID_MODEL_FROM_DATABASE=P5WDG2 WS Professional motherboard ++ ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub (P5WDG2 WS Professional motherboard) + + pci:v00008086d0000277D* + ID_MODEL_FROM_DATABASE=82975X PCI Express Root Port +@@ -64119,94 +64119,94 @@ pci:v00008086d00002782* + ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller + + pci:v00008086d00002782sv00001043sd00002582* +- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard ++ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (P5GD1-VW Mainboard) + + pci:v00008086d00002782sv00001734sd0000105B* +- ID_MODEL_FROM_DATABASE=Scenic W620 ++ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (Scenic W620) + + pci:v00008086d00002792* + ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller + + pci:v00008086d00002792sv0000103Csd0000099C* +- ID_MODEL_FROM_DATABASE=NX6110/NC6120 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) + + pci:v00008086d00002792sv00001043sd00001881* +- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) + + pci:v00008086d00002792sv0000E4BFsd00000CCD* +- ID_MODEL_FROM_DATABASE=CCD-CALYPSO ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) + + pci:v00008086d00002792sv0000E4BFsd00000CD3* +- ID_MODEL_FROM_DATABASE=CD3-JIVE ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) + + pci:v00008086d00002792sv0000E4BFsd000058B1* +- ID_MODEL_FROM_DATABASE=XB1 ++ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) + + pci:v00008086d000027A0* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub + + pci:v00008086d000027A0sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (9814 WKMI) + + pci:v00008086d000027A0sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (XPS M1210) + + pci:v00008086d000027A0sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nx9420 Notebook) + + pci:v00008086d000027A0sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (NC2400) + + pci:v00008086d000027A0sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nw8440) + + pci:v00008086d000027A0sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) + + pci:v00008086d000027A0sv000017AAsd00002015* +- ID_MODEL_FROM_DATABASE=ThinkPad T60 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) + + pci:v00008086d000027A0sv000017AAsd00002017* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027A1* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port + + pci:v00008086d000027A1sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nx9420 Notebook) + + pci:v00008086d000027A1sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) + + pci:v00008086d000027A2* + ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller + + pci:v00008086d000027A2sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (NC2400) + + pci:v00008086d000027A2sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027A2sv00009902sd00001584* +- ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (CCE MPL-D10H120F) + + pci:v00008086d000027A6* + ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller + + pci:v00008086d000027A6sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (NC2400) + + pci:v00008086d000027A6sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (CC11/CL11 integrated graphics (secondary)) + + pci:v00008086d000027A6sv000017AAsd0000201A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027AC* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub + + pci:v00008086d000027ACsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub (CC11/CL11) + + pci:v00008086d000027AD* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express PCI Express Root Port +@@ -64215,178 +64215,178 @@ pci:v00008086d000027AE* + ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller + + pci:v00008086d000027AEsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (primary) ++ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller (CC11/CL11 integrated graphics (primary)) + + pci:v00008086d000027B0* + ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge + + pci:v00008086d000027B0sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (Pavilion A1512X) + + pci:v00008086d000027B0sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (DeskTop Board D945GTP) + + pci:v00008086d000027B8* + ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge + + pci:v00008086d000027B8sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (PowerEdge 860) + + pci:v00008086d000027B8sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (P5KPL-VM Motherboard) + + pci:v00008086d000027B8sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (E4500) + + pci:v00008086d000027B8sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (Wind PC MS-7418) + + pci:v00008086d000027B8sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (CC11/CL11) + + pci:v00008086d000027B8sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (DeskTop Board D945GTP) + + pci:v00008086d000027B9* + ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge + + pci:v00008086d000027B9sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (XPS M1210) + + pci:v00008086d000027B9sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nx9420 Notebook) + + pci:v00008086d000027B9sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (NC2400) + + pci:v00008086d000027B9sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) + + pci:v00008086d000027B9sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) + + pci:v00008086d000027B9sv000017AAsd00002009* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027BC* + ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller + + pci:v00008086d000027BCsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (D270S/D250S Motherboard) + + pci:v00008086d000027BCsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Notebook N150P) + + pci:v00008086d000027BCsv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (GA-D525TUD) + + pci:v00008086d000027BCsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (DeskTop Board D510MO) + + pci:v00008086d000027BCsv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Desktop Board D425KT) + + pci:v00008086d000027BD* + ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge + + pci:v00008086d000027BDsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge (9814 WKMI) + + pci:v00008086d000027C0* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] + + pci:v00008086d000027C0sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (OptiPlex GX620) + + pci:v00008086d000027C0sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge SC440) + + pci:v00008086d000027C0sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge 860) + + pci:v00008086d000027C0sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (P5KPL-VM Motherboard) + + pci:v00008086d000027C0sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (E4500) + + pci:v00008086d000027C0sv00001462sd00002310* +- ID_MODEL_FROM_DATABASE=MSI Hetis 945 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (MSI Hetis 945) + + pci:v00008086d000027C0sv00001462sd00007236* +- ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (945P Neo3-F Rev. 2.2 motherboard) + + pci:v00008086d000027C0sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Wind PC MS-7418) + + pci:v00008086d000027C0sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (CC11/CL11) + + pci:v00008086d000027C0sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Desktop Board D425KT) + + pci:v00008086d000027C0sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (DeskTop Board D945GTP) + + pci:v00008086d000027C1* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] + + pci:v00008086d000027C1sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (PowerEdge SC440) + + pci:v00008086d000027C1sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Pavilion A1512X) + + pci:v00008086d000027C1sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (D270S/D250S Motherboard) + + pci:v00008086d000027C1sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Notebook N150P) + + pci:v00008086d000027C1sv00001458sd0000B005* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (GA-D525TUD) + + pci:v00008086d000027C1sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (CC11/CL11) + + pci:v00008086d000027C1sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D510MO) + + pci:v00008086d000027C1sv00008086sd00005842* +- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D975XBX) + + pci:v00008086d000027C3* + ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] + + pci:v00008086d000027C3sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (CC11/CL11) + + pci:v00008086d000027C3sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (DeskTop Board D945GTP) + + pci:v00008086d000027C4* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] + + pci:v00008086d000027C4sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (9814 WKMI) + + pci:v00008086d000027C4sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) + + pci:v00008086d000027C4sv000017AAsd0000200E* +- ID_MODEL_FROM_DATABASE=ThinkPad T60 ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) + + pci:v00008086d000027C5* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] + + pci:v00008086d000027C5sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nx9420 Notebook) + + pci:v00008086d000027C5sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nw8440) + + pci:v00008086d000027C5sv000017AAsd0000200D* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027C6* + ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] +@@ -64395,553 +64395,553 @@ pci:v00008086d000027C8* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 + + pci:v00008086d000027C8sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (9814 WKMI) + + pci:v00008086d000027C8sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (OptiPlex GX620) + + pci:v00008086d000027C8sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (XPS M1210) + + pci:v00008086d000027C8sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge SC440) + + pci:v00008086d000027C8sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge 860) + + pci:v00008086d000027C8sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Pavilion A1512X) + + pci:v00008086d000027C8sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nx9420 Notebook) + + pci:v00008086d000027C8sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (NC2400) + + pci:v00008086d000027C8sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nw8440) + + pci:v00008086d000027C8sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (A6J-Q008) + + pci:v00008086d000027C8sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027C8sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) + + pci:v00008086d000027C8sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) + + pci:v00008086d000027C8sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Notebook N150P) + + pci:v00008086d000027C8sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (GA-D525TUD) + + pci:v00008086d000027C8sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Wind PC MS-7418) + + pci:v00008086d000027C8sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (CC11/CL11) + + pci:v00008086d000027C8sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027C8sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D510MO) + + pci:v00008086d000027C8sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Desktop Board D425KT) + + pci:v00008086d000027C8sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D945GTP) + + pci:v00008086d000027C9* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 + + pci:v00008086d000027C9sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (9814 WKMI) + + pci:v00008086d000027C9sv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (OptiPlex GX620) + + pci:v00008086d000027C9sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (XPS M1210) + + pci:v00008086d000027C9sv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge SC440) + + pci:v00008086d000027C9sv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge 860) + + pci:v00008086d000027C9sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Pavilion A1512X) + + pci:v00008086d000027C9sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nx9420 Notebook) + + pci:v00008086d000027C9sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (NC2400) + + pci:v00008086d000027C9sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nw8440) + + pci:v00008086d000027C9sv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (A6J-Q008) + + pci:v00008086d000027C9sv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027C9sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) + + pci:v00008086d000027C9sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) + + pci:v00008086d000027C9sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Notebook N150P) + + pci:v00008086d000027C9sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (GA-D525TUD) + + pci:v00008086d000027C9sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Wind PC MS-7418) + + pci:v00008086d000027C9sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (CC11/CL11) + + pci:v00008086d000027C9sv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027C9sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D510MO) + + pci:v00008086d000027C9sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Desktop Board D425KT) + + pci:v00008086d000027C9sv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D945GTP) + + pci:v00008086d000027CA* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 + + pci:v00008086d000027CAsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (9814 WKMI) + + pci:v00008086d000027CAsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (OptiPlex GX620) + + pci:v00008086d000027CAsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (XPS M1210) + + pci:v00008086d000027CAsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge SC440) + + pci:v00008086d000027CAsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge 860) + + pci:v00008086d000027CAsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Pavilion A1512X) + + pci:v00008086d000027CAsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nx9420 Notebook) + + pci:v00008086d000027CAsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (NC2400) + + pci:v00008086d000027CAsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nw8440) + + pci:v00008086d000027CAsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (A6J-Q008) + + pci:v00008086d000027CAsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027CAsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) + + pci:v00008086d000027CAsv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) + + pci:v00008086d000027CAsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Notebook N150P) + + pci:v00008086d000027CAsv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (GA-D525TUD) + + pci:v00008086d000027CAsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Wind PC MS-7418) + + pci:v00008086d000027CAsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (CC11/CL11) + + pci:v00008086d000027CAsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027CAsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D510MO) + + pci:v00008086d000027CAsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D945GTP) + + pci:v00008086d000027CB* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 + + pci:v00008086d000027CBsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (9814 WKMI) + + pci:v00008086d000027CBsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (OptiPlex GX620) + + pci:v00008086d000027CBsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (XPS M1210) + + pci:v00008086d000027CBsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (PowerEdge SC440) + + pci:v00008086d000027CBsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Pavilion A1512X) + + pci:v00008086d000027CBsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nx9420 Notebook) + + pci:v00008086d000027CBsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (NC2400) + + pci:v00008086d000027CBsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nw8440) + + pci:v00008086d000027CBsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (A6J-Q008) + + pci:v00008086d000027CBsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027CBsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) + + pci:v00008086d000027CBsv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) + + pci:v00008086d000027CBsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Notebook N150P) + + pci:v00008086d000027CBsv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (GA-D525TUD) + + pci:v00008086d000027CBsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Wind PC MS-7418) + + pci:v00008086d000027CBsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (CC11/CL11) + + pci:v00008086d000027CBsv000017AAsd0000200A* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027CBsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D510MO) + + pci:v00008086d000027CBsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D945GTP) + + pci:v00008086d000027CC* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller + + pci:v00008086d000027CCsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (9814 WKMI) + + pci:v00008086d000027CCsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (OptiPlex GX620) + + pci:v00008086d000027CCsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (XPS M1210) + + pci:v00008086d000027CCsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge SC440) + + pci:v00008086d000027CCsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge 860) + + pci:v00008086d000027CCsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Pavilion A1512X) + + pci:v00008086d000027CCsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nx9420 Notebook) + + pci:v00008086d000027CCsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (NC2400) + + pci:v00008086d000027CCsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nw8440) + + pci:v00008086d000027CCsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (A6J-Q008) + + pci:v00008086d000027CCsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (P5KPL-VM,P5LD2-VM Mainboard) + + pci:v00008086d000027CCsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) + + pci:v00008086d000027CCsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) + + pci:v00008086d000027CCsv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (GA-D525TUD) + + pci:v00008086d000027CCsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Wind PC MS-7418) + + pci:v00008086d000027CCsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (CC11/CL11) + + pci:v00008086d000027CCsv000017AAsd0000200B* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027CCsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D510MO) + + pci:v00008086d000027CCsv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Desktop Board D425KT) + + pci:v00008086d000027CCsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D945GTP) + + pci:v00008086d000027D0* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 + + pci:v00008086d000027D0sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nx9420 Notebook) + + pci:v00008086d000027D0sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) + + pci:v00008086d000027D0sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) + + pci:v00008086d000027D0sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (GA-D525TUD) + + pci:v00008086d000027D0sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Wind PC MS-7418) + + pci:v00008086d000027D0sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (CC11/CL11) + + pci:v00008086d000027D0sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Desktop Board D425KT) + + pci:v00008086d000027D2* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 + + pci:v00008086d000027D2sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nx9420 Notebook) + + pci:v00008086d000027D2sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) + + pci:v00008086d000027D2sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) + + pci:v00008086d000027D2sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Wind PC MS-7418) + + pci:v00008086d000027D2sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (CC11/CL11) + + pci:v00008086d000027D2sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Desktop Board D425KT) + + pci:v00008086d000027D4* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 + + pci:v00008086d000027D4sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) + + pci:v00008086d000027D4sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Wind PC MS-7418) + + pci:v00008086d000027D4sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (CC11/CL11) + + pci:v00008086d000027D4sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Desktop Board D425KT) + + pci:v00008086d000027D6* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 + + pci:v00008086d000027D6sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) + + pci:v00008086d000027D6sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) + + pci:v00008086d000027D6sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Wind PC MS-7418) + + pci:v00008086d000027D6sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (CC11/CL11) + + pci:v00008086d000027D6sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Desktop Board D425KT) + + pci:v00008086d000027D8* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller + + pci:v00008086d000027D8sv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (9814 WKMI) + + pci:v00008086d000027D8sv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (XPS M1210) + + pci:v00008086d000027D8sv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Pavilion A1512X) + + pci:v00008086d000027D8sv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nx9420 Notebook) + + pci:v00008086d000027D8sv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (NC2400) + + pci:v00008086d000027D8sv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nw8440) + + pci:v00008086d000027D8sv00001043sd00001123* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (A6J-Q008) + + pci:v00008086d000027D8sv00001043sd000013C4* +- ID_MODEL_FROM_DATABASE=Asus G2P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus G2P) + + pci:v00008086d000027D8sv00001043sd0000817F* +- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard (Realtek ALC 882 codec) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5LD2-VM Mainboard (Realtek ALC 882 codec)) + + pci:v00008086d000027D8sv00001043sd00008290* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-VM Motherboard) + + pci:v00008086d000027D8sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-CM Motherboard) + + pci:v00008086d000027D8sv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) + + pci:v00008086d000027D8sv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) + + pci:v00008086d000027D8sv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Panasonic CF-Y5 laptop) + + pci:v00008086d000027D8sv00001179sd0000FF10* +- ID_MODEL_FROM_DATABASE=Toshiba Satellite A100-796 audio (Realtek ALC861) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Toshiba Satellite A100-796 audio (Realtek ALC861)) + + pci:v00008086d000027D8sv00001179sd0000FF31* +- ID_MODEL_FROM_DATABASE=AC97 Data Fax SoftModem with SmartCP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (AC97 Data Fax SoftModem with SmartCP) + + pci:v00008086d000027D8sv00001447sd00001043* +- ID_MODEL_FROM_DATABASE=Asus A8JP (Analog Devices AD1986A) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus A8JP (Analog Devices AD1986A)) + + pci:v00008086d000027D8sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Notebook N150P) + + pci:v00008086d000027D8sv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-D525TUD (Realtek ALC887) ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-D525TUD (Realtek ALC887)) + + pci:v00008086d000027D8sv00001458sd0000A102* +- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-8I945PG-RH Mainboard) + + pci:v00008086d000027D8sv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Wind PC MS-7418) + + pci:v00008086d000027D8sv0000152Dsd00000753* +- ID_MODEL_FROM_DATABASE=Softmodem ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Softmodem) + + pci:v00008086d000027D8sv00001734sd000010AD* +- ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Conexant softmodem SmartCP) + + pci:v00008086d000027D8sv000017AAsd00002010* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027D8sv000017AAsd00003802* +- ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Lenovo 3000 C200 audio [Realtek ALC861VD]) + + pci:v00008086d000027D8sv00008086sd00001112* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) + + pci:v00008086d000027D8sv00008086sd000027D8* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) + + pci:v00008086d000027D8sv00008086sd0000D618* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D510MO) + + pci:v00008086d000027D8sv00008384sd00007680* +- ID_MODEL_FROM_DATABASE=STAC9221 HD Audio Codec ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (STAC9221 HD Audio Codec) + + pci:v00008086d000027DA* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller + + pci:v00008086d000027DAsv00001025sd0000006C* +- ID_MODEL_FROM_DATABASE=9814 WKMI ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (9814 WKMI) + + pci:v00008086d000027DAsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (OptiPlex GX620) + + pci:v00008086d000027DAsv00001028sd000001D7* +- ID_MODEL_FROM_DATABASE=XPS M1210 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (XPS M1210) + + pci:v00008086d000027DAsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge SC440) + + pci:v00008086d000027DAsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge 860) + + pci:v00008086d000027DAsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Pavilion A1512X) + + pci:v00008086d000027DAsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (P5KPL-VM Motherboard) + + pci:v00008086d000027DAsv0000105Bsd00000D7C* +- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) + + pci:v00008086d000027DAsv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) + + pci:v00008086d000027DAsv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Notebook N150P) + + pci:v00008086d000027DAsv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (GA-8I945PG-RH/GA-D525TUD Mainboard) + + pci:v00008086d000027DAsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Wind PC MS-7418) + + pci:v00008086d000027DAsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (CC11/CL11) + + pci:v00008086d000027DAsv000017AAsd0000200F* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027DAsv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D510MO) + + pci:v00008086d000027DAsv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Desktop Board D425KT) + + pci:v00008086d000027DAsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D945GTP) + + pci:v00008086d000027DAsv00008086sd00005842* +- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D975XBX) + + pci:v00008086d000027DC* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller + + pci:v00008086d000027DCsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (Pavilion A1512X) + + pci:v00008086d000027DCsv00008086sd0000308D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (DeskTop Board D945GTP) + + pci:v00008086d000027DD* + ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Modem Controller +@@ -64950,88 +64950,88 @@ pci:v00008086d000027DE* + ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller + + pci:v00008086d000027DEsv00001028sd000001AD* +- ID_MODEL_FROM_DATABASE=OptiPlex GX620 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (OptiPlex GX620) + + pci:v00008086d000027DEsv00001462sd00007267* +- ID_MODEL_FROM_DATABASE=Realtek ALC883 Audio Controller ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (Realtek ALC883 Audio Controller) + + pci:v00008086d000027DEsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11 integrated audio (AD1981BL codec) ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (CC11 integrated audio (AD1981BL codec)) + + pci:v00008086d000027DF* + ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller + + pci:v00008086d000027DFsv00001028sd000001DF* +- ID_MODEL_FROM_DATABASE=PowerEdge SC440 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge SC440) + + pci:v00008086d000027DFsv00001028sd000001E6* +- ID_MODEL_FROM_DATABASE=PowerEdge 860 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge 860) + + pci:v00008086d000027DFsv0000103Csd00002A3B* +- ID_MODEL_FROM_DATABASE=Pavilion A1512X ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Pavilion A1512X) + + pci:v00008086d000027DFsv0000103Csd0000309F* +- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nx9420 Notebook) + + pci:v00008086d000027DFsv0000103Csd000030A1* +- ID_MODEL_FROM_DATABASE=NC2400 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (NC2400) + + pci:v00008086d000027DFsv0000103Csd000030A3* +- ID_MODEL_FROM_DATABASE=Compaq nw8440 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nw8440) + + pci:v00008086d000027DFsv00001043sd00001237* +- ID_MODEL_FROM_DATABASE=A6J-Q008 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (A6J-Q008) + + pci:v00008086d000027DFsv00001043sd00008179* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (P5KPL-VM Motherboard) + + pci:v00008086d000027DFsv0000107Bsd00005048* +- ID_MODEL_FROM_DATABASE=E4500 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (E4500) + + pci:v00008086d000027DFsv000010F7sd00008338* +- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Panasonic CF-Y5 laptop) + + pci:v00008086d000027DFsv00001462sd00007418* +- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Wind PC MS-7418) + + pci:v00008086d000027DFsv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (CC11/CL11) + + pci:v00008086d000027DFsv000017AAsd0000200C* +- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (ThinkPad R60/T60/X60 series) + + pci:v00008086d000027DFsv00008086sd0000544E* +- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP ++ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (DeskTop Board D945GTP) + + pci:v00008086d000027E0* + ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 + + pci:v00008086d000027E0sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (CC11/CL11) + + pci:v00008086d000027E2* + ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 + + pci:v00008086d000027E2sv00001775sd000011CC* +- ID_MODEL_FROM_DATABASE=CC11/CL11 ++ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (CC11/CL11) + + pci:v00008086d00002810* + ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller + + pci:v00008086d00002810sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller (P5B) + + pci:v00008086d00002811* + ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller + + pci:v00008086d00002811sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (Compaq 6910p) + + pci:v00008086d00002811sv000017AAsd000020B6* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (ThinkPad T61/R61) + + pci:v00008086d00002811sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (CCG-RUMBA) + + pci:v00008086d00002812* + ID_MODEL_FROM_DATABASE=82801HH (ICH8DH) LPC Interface Controller +@@ -65043,34 +65043,34 @@ pci:v00008086d00002815* + ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller + + pci:v00008086d00002815sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Aspire 5920G) + + pci:v00008086d00002815sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Inspiron 1420) + + pci:v00008086d00002815sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Compaq 6710b) + + pci:v00008086d00002815sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Pavilion dv6700) + + pci:v00008086d00002815sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Presario C700) + + pci:v00008086d00002815sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Vaio VGN-FZ260E) + + pci:v00008086d00002815sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) + + pci:v00008086d00002820* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] + + pci:v00008086d00002820sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (OptiPlex 745) + + pci:v00008086d00002820sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002821* + ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode] +@@ -65079,10 +65079,10 @@ pci:v00008086d00002822* + ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] + + pci:v00008086d00002822sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Inspiron 530) + + pci:v00008086d00002822sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002823* + ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller +@@ -65091,16 +65091,16 @@ pci:v00008086d00002824* + ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] + + pci:v00008086d00002824sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] (P5B) + + pci:v00008086d00002825* + ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] + + pci:v00008086d00002825sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (OptiPlex 745) + + pci:v00008086d00002825sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002826* + ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller +@@ -65112,424 +65112,424 @@ pci:v00008086d00002828* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] + + pci:v00008086d00002828sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Inspiron 1420) + + pci:v00008086d00002828sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Compaq 6710b) + + pci:v00008086d00002828sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (CCG-RUMBA) + + pci:v00008086d00002829* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] + + pci:v00008086d00002829sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Aspire 5920G) + + pci:v00008086d00002829sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6710b) + + pci:v00008086d00002829sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6910p) + + pci:v00008086d00002829sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Pavilion dv6700) + + pci:v00008086d00002829sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Presario C700) + + pci:v00008086d00002829sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Vaio VGN-FZ260E) + + pci:v00008086d00002829sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (VAIO VGN-NR120E) + + pci:v00008086d00002829sv000017AAsd000020A7* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) + + pci:v00008086d00002829sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) + + pci:v00008086d0000282A* + ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] + + pci:v00008086d0000282Asv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (Latitude E6510) + + pci:v00008086d0000282Asv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (PC1-GROOVE) + + pci:v00008086d00002830* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 + + pci:v00008086d00002830sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Acer Aspire 5920G) + + pci:v00008086d00002830sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (OptiPlex 745) + + pci:v00008086d00002830sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Inspiron 1420) + + pci:v00008086d00002830sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6710b) + + pci:v00008086d00002830sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6910p) + + pci:v00008086d00002830sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Pavilion dv6700) + + pci:v00008086d00002830sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Presario C700) + + pci:v00008086d00002830sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P5B) + + pci:v00008086d00002830sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Vaio VGN-FZ260E) + + pci:v00008086d00002830sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (VAIO VGN-NR120E) + + pci:v00008086d00002830sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002830sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) + + pci:v00008086d00002830sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) + + pci:v00008086d00002831* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 + + pci:v00008086d00002831sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Aspire 5920G) + + pci:v00008086d00002831sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (OptiPlex 745) + + pci:v00008086d00002831sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Inspiron 1420) + + pci:v00008086d00002831sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6710b) + + pci:v00008086d00002831sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6910p) + + pci:v00008086d00002831sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Pavilion dv6700) + + pci:v00008086d00002831sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Presario C700) + + pci:v00008086d00002831sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P5B) + + pci:v00008086d00002831sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Vaio VGN-FZ260E) + + pci:v00008086d00002831sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (VAIO VGN-NR120E) + + pci:v00008086d00002831sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002831sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) + + pci:v00008086d00002831sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) + + pci:v00008086d00002832* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 + + pci:v00008086d00002832sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Aspire 5920G) + + pci:v00008086d00002832sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (OptiPlex 745) + + pci:v00008086d00002832sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Inspiron 1420) + + pci:v00008086d00002832sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6710b) + + pci:v00008086d00002832sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6910p) + + pci:v00008086d00002832sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Pavilion dv6700) + + pci:v00008086d00002832sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Presario C700) + + pci:v00008086d00002832sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (P5B) + + pci:v00008086d00002832sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Vaio VGN-FZ260E) + + pci:v00008086d00002832sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (VAIO VGN-NR120E) + + pci:v00008086d00002832sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) + + pci:v00008086d00002832sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) + + pci:v00008086d00002833* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 + + pci:v00008086d00002833sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) + + pci:v00008086d00002834* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 + + pci:v00008086d00002834sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Aspire 5920G) + + pci:v00008086d00002834sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (OptiPlex 745) + + pci:v00008086d00002834sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Inspiron 1420) + + pci:v00008086d00002834sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6710b) + + pci:v00008086d00002834sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6910p) + + pci:v00008086d00002834sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Pavilion dv6700) + + pci:v00008086d00002834sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) + + pci:v00008086d00002834sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Vaio VGN-FZ260E) + + pci:v00008086d00002834sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (VAIO VGN-NR120E) + + pci:v00008086d00002834sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002834sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) + + pci:v00008086d00002834sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) + + pci:v00008086d00002835* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 + + pci:v00008086d00002835sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Acer Aspire 5920G) + + pci:v00008086d00002835sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (OptiPlex 745) + + pci:v00008086d00002835sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Inspiron 1420) + + pci:v00008086d00002835sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6710b) + + pci:v00008086d00002835sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6910p) + + pci:v00008086d00002835sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Pavilion dv6700) + + pci:v00008086d00002835sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (P5B) + + pci:v00008086d00002835sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Vaio VGN-FZ260E) + + pci:v00008086d00002835sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (VAIO VGN-NR120E) + + pci:v00008086d00002835sv000017AAsd000020AA* +- ID_MODEL_FROM_DATABASE=Thinkpad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) + + pci:v00008086d00002835sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) + + pci:v00008086d00002836* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 + + pci:v00008086d00002836sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Aspire 5920G) + + pci:v00008086d00002836sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (OptiPlex 745) + + pci:v00008086d00002836sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Inspiron 1420) + + pci:v00008086d00002836sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6710b) + + pci:v00008086d00002836sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6910p) + + pci:v00008086d00002836sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Pavilion dv6700) + + pci:v00008086d00002836sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Presario C700) + + pci:v00008086d00002836sv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P5B) + + pci:v00008086d00002836sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Vaio VGN-FZ260E) + + pci:v00008086d00002836sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (VAIO VGN-NR120E) + + pci:v00008086d00002836sv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P965 Neo MS-7235 mainboard) + + pci:v00008086d00002836sv000017AAsd000020AB* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) + + pci:v00008086d00002836sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) + + pci:v00008086d0000283A* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 + + pci:v00008086d0000283Asv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Acer Aspire 5920G) + + pci:v00008086d0000283Asv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (OptiPlex 745) + + pci:v00008086d0000283Asv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Inspiron 1420) + + pci:v00008086d0000283Asv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6710b) + + pci:v00008086d0000283Asv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6910p) + + pci:v00008086d0000283Asv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Pavilion dv6700) + + pci:v00008086d0000283Asv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (P5B) + + pci:v00008086d0000283Asv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Vaio VGN-FZ260E) + + pci:v00008086d0000283Asv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (VAIO VGN-NR120E) + + pci:v00008086d0000283Asv000017AAsd000020AB* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) + + pci:v00008086d0000283Asv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) + + pci:v00008086d0000283E* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller + + pci:v00008086d0000283Esv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Aspire 5920G) + + pci:v00008086d0000283Esv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (OptiPlex 745) + + pci:v00008086d0000283Esv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Inspiron 1420) + + pci:v00008086d0000283Esv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Presario C700) + + pci:v00008086d0000283Esv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P5B) + + pci:v00008086d0000283Esv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-FZ260E) + + pci:v00008086d0000283Esv0000104Dsd00009008* +- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-SZ79SN_C) + + pci:v00008086d0000283Esv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (VAIO VGN-NR120E) + + pci:v00008086d0000283Esv00001462sd00007235* +- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P965 Neo MS-7235 mainboard) + + pci:v00008086d0000283Esv000017AAsd000020A9* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) + + pci:v00008086d0000283Esv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) + + pci:v00008086d0000283F* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 + + pci:v00008086d0000283Fsv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (OptiPlex 745) + + pci:v00008086d0000283Fsv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Compaq 6910p) + + pci:v00008086d0000283Fsv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (VAIO VGN-NR120E) + + pci:v00008086d0000283Fsv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) + + pci:v00008086d00002841* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 + + pci:v00008086d00002841sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Compaq 6910p) + + pci:v00008086d00002841sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (VAIO VGN-NR120E) + + pci:v00008086d00002841sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) + + pci:v00008086d00002843* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 + + pci:v00008086d00002843sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (VAIO VGN-NR120E) + + pci:v00008086d00002843sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) + + pci:v00008086d00002845* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 + + pci:v00008086d00002845sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) + + pci:v00008086d00002847* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 + + pci:v00008086d00002847sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (OptiPlex 745) + + pci:v00008086d00002847sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Compaq 6910p) + + pci:v00008086d00002847sv000017AAsd000020AD* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) + + pci:v00008086d00002849* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 +@@ -65538,70 +65538,70 @@ pci:v00008086d0000284B* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller + + pci:v00008086d0000284Bsv00001025sd0000011F* +- ID_MODEL_FROM_DATABASE=Realtek ALC268 audio codec ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC268 audio codec) + + pci:v00008086d0000284Bsv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Aspire 5920G) + + pci:v00008086d0000284Bsv00001025sd00000145* +- ID_MODEL_FROM_DATABASE=Realtek ALC889 (Aspire 8920G w. Dolby Theather) ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC889 (Aspire 8920G w. Dolby Theather)) + + pci:v00008086d0000284Bsv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (OptiPlex 745) + + pci:v00008086d0000284Bsv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Inspiron 1420) + + pci:v00008086d0000284Bsv00001028sd000001F9* +- ID_MODEL_FROM_DATABASE=Dell Latitude D630 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Latitude D630) + + pci:v00008086d0000284Bsv00001028sd000001FF* +- ID_MODEL_FROM_DATABASE=Dell Precision M4300 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Precision M4300) + + pci:v00008086d0000284Bsv00001028sd00000256* +- ID_MODEL_FROM_DATABASE=Studio 1735 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Studio 1735) + + pci:v00008086d0000284Bsv0000103Csd00002802* +- ID_MODEL_FROM_DATABASE=HP Compaq dc7700p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (HP Compaq dc7700p) + + pci:v00008086d0000284Bsv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6710b) + + pci:v00008086d0000284Bsv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6910p) + + pci:v00008086d0000284Bsv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Pavilion dv6700) + + pci:v00008086d0000284Bsv00001043sd00001339* +- ID_MODEL_FROM_DATABASE=Asus M51S series ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Asus M51S series) + + pci:v00008086d0000284Bsv00001043sd000081EC* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (P5B) + + pci:v00008086d0000284Bsv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-FZ260E) + + pci:v00008086d0000284Bsv0000104Dsd00009008* +- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-SZ79SN_C) + + pci:v00008086d0000284Bsv0000104Dsd00009016* +- ID_MODEL_FROM_DATABASE=Sony VAIO VGN-AR51M ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Sony VAIO VGN-AR51M) + + pci:v00008086d0000284Bsv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (VAIO VGN-NR120E) + + pci:v00008086d0000284Bsv000014F1sd00005051* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Presario C700) + + pci:v00008086d0000284Bsv000017AAsd000020AC* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) + + pci:v00008086d0000284Bsv00008384sd00007616* +- ID_MODEL_FROM_DATABASE=Dell Vostro 1400 ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) + + pci:v00008086d0000284Bsv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (CCG-RUMBA) + + pci:v00008086d0000284F* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) Thermal Reporting Device +@@ -65610,34 +65610,34 @@ pci:v00008086d00002850* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller + + pci:v00008086d00002850sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Aspire 5920G ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Aspire 5920G) + + pci:v00008086d00002850sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Inspiron 1420) + + pci:v00008086d00002850sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6710b) + + pci:v00008086d00002850sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6910p) + + pci:v00008086d00002850sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Pavilion dv6700) + + pci:v00008086d00002850sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Presario C700) + + pci:v00008086d00002850sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Vaio VGN-FZ260E) + + pci:v00008086d00002850sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (VAIO VGN-NR120E) + + pci:v00008086d00002850sv000017AAsd000020A6* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) + + pci:v00008086d00002850sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) + + pci:v00008086d00002912* + ID_MODEL_FROM_DATABASE=82801IH (ICH9DH) LPC Interface Controller +@@ -65646,40 +65646,40 @@ pci:v00008086d00002914* + ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller + + pci:v00008086d00002914sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller (Optiplex 755) + + pci:v00008086d00002916* + ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller + + pci:v00008086d00002916sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Inspiron 530) + + pci:v00008086d00002916sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002916sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (P5K PRO Motherboard) + + pci:v00008086d00002916sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Desktop Board DP35DP) + + pci:v00008086d00002917* + ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller + + pci:v00008086d00002917sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller (CCM-BOOGIE) + + pci:v00008086d00002918* + ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller + + pci:v00008086d00002918sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 82801IB (ICH9) LPC Interface Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (PowerEdge R610 82801IB (ICH9) LPC Interface Controller) + + pci:v00008086d00002918sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (G33/P35 Neo) + + pci:v00008086d00002918sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (QEMU Virtual Machine) + + pci:v00008086d00002919* + ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller +@@ -65688,46 +65688,46 @@ pci:v00008086d00002920* + ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] + + pci:v00008086d00002920sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Inspiron 530) + + pci:v00008086d00002920sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) + + pci:v00008086d00002920sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) + + pci:v00008086d00002920sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Optiplex 755) + + pci:v00008086d00002920sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R200 onboard SATA Controller) + + pci:v00008086d00002920sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (P5K PRO Motherboard) + + pci:v00008086d00002921* + ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] + + pci:v00008086d00002921sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R710 SATA IDE Controller) + + pci:v00008086d00002921sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R610 SATA IDE Controller) + + pci:v00008086d00002921sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge T610 SATA IDE Controller) + + pci:v00008086d00002921sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (G33/P35 Neo) + + pci:v00008086d00002922* + ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] + + pci:v00008086d00002922sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (QEMU Virtual Machine) + + pci:v00008086d00002922sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (Desktop Board DP35DP) + + pci:v00008086d00002923* + ID_MODEL_FROM_DATABASE=82801IB (ICH9) 4 port SATA Controller [AHCI mode] +@@ -65736,31 +65736,31 @@ pci:v00008086d00002925* + ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] + + pci:v00008086d00002925sv00001734sd000010E0* +- ID_MODEL_FROM_DATABASE=System Board D2542 ++ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) + + pci:v00008086d00002925sv00008086sd00002925* +- ID_MODEL_FROM_DATABASE=System Board D2542 ++ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) + + pci:v00008086d00002926* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] + + pci:v00008086d00002926sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Inspiron 530) + + pci:v00008086d00002926sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) + + pci:v00008086d00002926sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) + + pci:v00008086d00002926sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Optiplex 755) + + pci:v00008086d00002926sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (P5K PRO Motherboard) + + pci:v00008086d00002926sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (G33/P35 Neo) + + pci:v00008086d00002928* + ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] +@@ -65769,10 +65769,10 @@ pci:v00008086d00002929* + ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] + + pci:v00008086d00002929sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (dv6-1190en) + + pci:v00008086d00002929sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (CCM-BOOGIE) + + pci:v00008086d0000292C* + ID_MODEL_FROM_DATABASE=82801IEM (ICH9M-E) SATA Controller [RAID mode] +@@ -65781,511 +65781,511 @@ pci:v00008086d0000292D* + ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] + + pci:v00008086d0000292Dsv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] (CCM-BOOGIE) + + pci:v00008086d00002930* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller + + pci:v00008086d00002930sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Inspiron 530) + + pci:v00008086d00002930sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Optiplex 755) + + pci:v00008086d00002930sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002930sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (dv6-1190en) + + pci:v00008086d00002930sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (P5K PRO Motherboard) + + pci:v00008086d00002930sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (G33/P35 Neo) + + pci:v00008086d00002930sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (QEMU Virtual Machine) + + pci:v00008086d00002930sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Desktop Board DP35DP) + + pci:v00008086d00002930sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (CCM-BOOGIE) + + pci:v00008086d00002932* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem + + pci:v00008086d00002932sv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem (dv6-1190en) + + pci:v00008086d00002934* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 + + pci:v00008086d00002934sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Inspiron 530) + + pci:v00008086d00002934sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R300 onboard UHCI) + + pci:v00008086d00002934sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002934sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) + + pci:v00008086d00002934sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R200 onboard UHCI) + + pci:v00008086d00002934sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002934sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002934sv00001028sd00002011* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) + + pci:v00008086d00002934sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002934sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (P5K PRO Motherboard) + + pci:v00008086d00002934sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (G33/P35 Neo) + + pci:v00008086d00002934sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (QEMU Virtual Machine) + + pci:v00008086d00002934sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Desktop Board DP35DP) + + pci:v00008086d00002934sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (CCM-BOOGIE) + + pci:v00008086d00002935* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 + + pci:v00008086d00002935sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Inspiron 530) + + pci:v00008086d00002935sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R300 onboard UHCI) + + pci:v00008086d00002935sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002935sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Optiplex 755) + + pci:v00008086d00002935sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002935sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002935sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002935sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R200 onboard UHCI) + + pci:v00008086d00002935sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002935sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002935sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002935sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (P5K PRO Motherboard) + + pci:v00008086d00002935sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (G33/P35 Neo) + + pci:v00008086d00002935sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (QEMU Virtual Machine) + + pci:v00008086d00002935sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Desktop Board DP35DP) + + pci:v00008086d00002935sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (CCM-BOOGIE) + + pci:v00008086d00002936* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 + + pci:v00008086d00002936sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Inspiron 530) + + pci:v00008086d00002936sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R300 onboard UHCI) + + pci:v00008086d00002936sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002936sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Optiplex 755) + + pci:v00008086d00002936sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002936sv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R200 onboard UHCI) + + pci:v00008086d00002936sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002936sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002936sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002936sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (P5K PRO Motherboard) + + pci:v00008086d00002936sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (G33/P35 Neo) + + pci:v00008086d00002936sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (QEMU Virtual Machine) + + pci:v00008086d00002936sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Desktop Board DP35DP) + + pci:v00008086d00002936sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (CCM-BOOGIE) + + pci:v00008086d00002937* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 + + pci:v00008086d00002937sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Inspiron 530) + + pci:v00008086d00002937sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) + + pci:v00008086d00002937sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002937sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002937sv00001028sd00002011* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) + + pci:v00008086d00002937sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002937sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (P5K PRO Motherboard) + + pci:v00008086d00002937sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (G33/P35 Neo) + + pci:v00008086d00002937sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (QEMU Virtual Machine) + + pci:v00008086d00002937sv00008086sd00002937* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) + + pci:v00008086d00002937sv00008086sd00002942* +- ID_MODEL_FROM_DATABASE=828011 (ICH9 Family ) USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (828011 (ICH9 Family ) USB UHCI Controller) + + pci:v00008086d00002937sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Desktop Board DP35DP) + + pci:v00008086d00002937sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (CCM-BOOGIE) + + pci:v00008086d00002938* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 + + pci:v00008086d00002938sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Inspiron 530) + + pci:v00008086d00002938sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) + + pci:v00008086d00002938sv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R710 USB UHCI Controller) + + pci:v00008086d00002938sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R610 USB UHCI Controller) + + pci:v00008086d00002938sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002938sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M610 onboard UHCI) + + pci:v00008086d00002938sv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M710 USB UHCI Controller) + + pci:v00008086d00002938sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002938sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (P5K PRO Motherboard) + + pci:v00008086d00002938sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (G33/P35 Neo) + + pci:v00008086d00002938sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (QEMU Virtual Machine) + + pci:v00008086d00002938sv00008086sd00002938* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) + + pci:v00008086d00002938sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Desktop Board DP35DP) + + pci:v00008086d00002938sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (CCM-BOOGIE) + + pci:v00008086d00002939* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 + + pci:v00008086d00002939sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Inspiron 530) + + pci:v00008086d00002939sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T300 onboard UHCI) + + pci:v00008086d00002939sv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T610 USB UHCI Controller) + + pci:v00008086d00002939sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002939sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (P5K PRO Motherboard) + + pci:v00008086d00002939sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (G33/P35 Neo) + + pci:v00008086d00002939sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (QEMU Virtual Machine) + + pci:v00008086d00002939sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Desktop Board DP35DP) + + pci:v00008086d00002939sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (CCM-BOOGIE) + + pci:v00008086d0000293A* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 + + pci:v00008086d0000293Asv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Inspiron 530) + + pci:v00008086d0000293Asv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R300 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T300 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Optiplex 755) + + pci:v00008086d0000293Asv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R710 USB EHCI Controller) + + pci:v00008086d0000293Asv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R610 USB EHCI Controller) + + pci:v00008086d0000293Asv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T610 USB EHCI Controller) + + pci:v00008086d0000293Asv00001028sd0000023C* +- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R200 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M610 onboard EHCI) + + pci:v00008086d0000293Asv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M710 USB EHCI Controller) + + pci:v00008086d0000293Asv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000293Asv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (P5K PRO Motherboard) + + pci:v00008086d0000293Asv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (G33/P35 Neo) + + pci:v00008086d0000293Asv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (QEMU Virtual Machine) + + pci:v00008086d0000293Asv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Desktop Board DP35DP) + + pci:v00008086d0000293Asv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (CCM-BOOGIE) + + pci:v00008086d0000293C* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 + + pci:v00008086d0000293Csv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Inspiron 530) + + pci:v00008086d0000293Csv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) + + pci:v00008086d0000293Csv00001028sd00000235* +- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R710 USB EHCI Controller) + + pci:v00008086d0000293Csv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R610 USB EHCI Controller) + + pci:v00008086d0000293Csv00001028sd00000237* +- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge T610 USB EHCI Controller) + + pci:v00008086d0000293Csv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M610 onboard EHCI) + + pci:v00008086d0000293Csv00001028sd0000029C* +- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M710 USB EHCI Controller) + + pci:v00008086d0000293Csv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000293Csv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (P5K PRO Motherboard) + + pci:v00008086d0000293Csv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (G33/P35 Neo) + + pci:v00008086d0000293Csv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (QEMU Virtual Machine) + + pci:v00008086d0000293Csv00008086sd0000293C* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) + + pci:v00008086d0000293Csv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Desktop Board DP35DP) + + pci:v00008086d0000293Csv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (CCM-BOOGIE) + + pci:v00008086d0000293E* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller + + pci:v00008086d0000293Esv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Inspiron 530) + + pci:v00008086d0000293Esv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) + + pci:v00008086d0000293Esv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d0000293Esv0000103Csd00003628* +- ID_MODEL_FROM_DATABASE=dv6-1190en ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (dv6-1190en) + + pci:v00008086d0000293Esv00001043sd0000829F* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (P5K PRO Motherboard) + + pci:v00008086d0000293Esv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (G33/P35 Neo) + + pci:v00008086d0000293Esv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (QEMU Virtual Machine) + + pci:v00008086d0000293Esv00008086sd0000293E* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) + + pci:v00008086d0000293Esv00008086sd00002940* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) + + pci:v00008086d0000293Esv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (CCM-BOOGIE) + + pci:v00008086d00002940* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 + + pci:v00008086d00002940sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Inspiron 530) + + pci:v00008086d00002940sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) + + pci:v00008086d00002940sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002940sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (P5K PRO Motherboard) + + pci:v00008086d00002940sv00008086sd00002940* +- ID_MODEL_FROM_DATABASE=Optiplex 755 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) + + pci:v00008086d00002942* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 + + pci:v00008086d00002942sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 (Inspiron 530) + + pci:v00008086d00002944* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 + + pci:v00008086d00002944sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Inspiron 530) + + pci:v00008086d00002944sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Asus IPIBL-LB Motherboard) + + pci:v00008086d00002946* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 + + pci:v00008086d00002946sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 (Inspiron 530) + + pci:v00008086d00002948* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 + + pci:v00008086d00002948sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (Inspiron 530) + + pci:v00008086d00002948sv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (P5K PRO Motherboard) + + pci:v00008086d0000294A* + ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 + + pci:v00008086d0000294Asv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (Inspiron 530) + + pci:v00008086d0000294Asv00001043sd00008277* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (P5K PRO Motherboard) + + pci:v00008086d0000294C* + ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection + + pci:v00008086d0000294Csv000017AAsd0000302E* +- ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection ++ ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection (82566DM-2 Gigabit Network Connection) + + pci:v00008086d00002970* + ID_MODEL_FROM_DATABASE=82946GZ/PL/GL Memory Controller Hub +@@ -66330,7 +66330,7 @@ pci:v00008086d00002990* + ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub + + pci:v00008086d00002990sv00001028sd000001DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 745 ++ ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub (OptiPlex 745) + + pci:v00008086d00002991* + ID_MODEL_FROM_DATABASE=82Q963/Q965 PCI Express Root Port +@@ -66357,10 +66357,10 @@ pci:v00008086d000029A0* + ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub + + pci:v00008086d000029A0sv00001043sd000081EA* +- ID_MODEL_FROM_DATABASE=P5B ++ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (P5B) + + pci:v00008086d000029A0sv00001462sd00007276* +- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] ++ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (MS-7276 [G965MDH]) + + pci:v00008086d000029A1* + ID_MODEL_FROM_DATABASE=82P965/G965 PCI Express Root Port +@@ -66369,7 +66369,7 @@ pci:v00008086d000029A2* + ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller + + pci:v00008086d000029A2sv00001462sd00007276* +- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] ++ ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller (MS-7276 [G965MDH]) + + pci:v00008086d000029A3* + ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller +@@ -66390,31 +66390,31 @@ pci:v00008086d000029B0* + ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller + + pci:v00008086d000029B0sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller (OptiPlex 755) + + pci:v00008086d000029B1* + ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port + + pci:v00008086d000029B1sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port (OptiPlex 755) + + pci:v00008086d000029B2* + ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller + + pci:v00008086d000029B2sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) + + pci:v00008086d000029B3* + ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller + + pci:v00008086d000029B3sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) + + pci:v00008086d000029B4* + ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller + + pci:v00008086d000029B4sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller (OptiPlex 755) + + pci:v00008086d000029B5* + ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller +@@ -66423,70 +66423,70 @@ pci:v00008086d000029B6* + ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller + + pci:v00008086d000029B6sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller (OptiPlex 755) + + pci:v00008086d000029B7* + ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller + + pci:v00008086d000029B7sv00001028sd00000211* +- ID_MODEL_FROM_DATABASE=OptiPlex 755 ++ ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller (OptiPlex 755) + + pci:v00008086d000029C0* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller + + pci:v00008086d000029C0sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Inspiron 530) + + pci:v00008086d000029C0sv0000103Csd00002A6F* +- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Asus IPIBL-LB Motherboard) + + pci:v00008086d000029C0sv00001043sd00008276* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5K PRO Motherboard) + + pci:v00008086d000029C0sv00001043sd000082B0* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5KPL-VM Motherboard) + + pci:v00008086d000029C0sv00001462sd00007360* +- ID_MODEL_FROM_DATABASE=G33/P35 Neo ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (G33/P35 Neo) + + pci:v00008086d000029C0sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (QEMU Virtual Machine) + + pci:v00008086d000029C0sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Desktop Board DP35DP) + + pci:v00008086d000029C1* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port + + pci:v00008086d000029C1sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (Inspiron 530) + + pci:v00008086d000029C1sv00001043sd00008276* +- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (P5K PRO Motherboard) + + pci:v00008086d000029C2* + ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller + + pci:v00008086d000029C2sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) + + pci:v00008086d000029C2sv00001043sd000082B0* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) + + pci:v00008086d000029C3* + ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller + + pci:v00008086d000029C3sv00001028sd0000020D* +- ID_MODEL_FROM_DATABASE=Inspiron 530 ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) + + pci:v00008086d000029C3sv00001043sd000082B0* +- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard ++ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) + + pci:v00008086d000029C4* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller + + pci:v00008086d000029C4sv00008086sd00005044* +- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP ++ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller (Desktop Board DP35DP) + + pci:v00008086d000029C5* + ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller +@@ -66570,37 +66570,37 @@ pci:v00008086d00002A00* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub + + pci:v00008086d00002A00sv00001025sd00000121* +- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Acer Aspire 5920G) + + pci:v00008086d00002A00sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Inspiron 1420) + + pci:v00008086d00002A00sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6710b) + + pci:v00008086d00002A00sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6910p) + + pci:v00008086d00002A00sv0000103Csd000030CC* +- ID_MODEL_FROM_DATABASE=Pavilion dv6700 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Pavilion dv6700) + + pci:v00008086d00002A00sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Presario C700) + + pci:v00008086d00002A00sv0000104Dsd00009005* +- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Vaio VGN-FZ260E) + + pci:v00008086d00002A00sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (VAIO VGN-NR120E) + + pci:v00008086d00002A00sv000017AAsd000020B1* +- ID_MODEL_FROM_DATABASE=ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61) + + pci:v00008086d00002A00sv000017AAsd000020B3* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) + + pci:v00008086d00002A00sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) + + pci:v00008086d00002A01* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 PCI Express Root Port +@@ -66609,52 +66609,52 @@ pci:v00008086d00002A02* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) + + pci:v00008086d00002A02sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Inspiron 1420) + + pci:v00008086d00002A02sv00001028sd000001F9* +- ID_MODEL_FROM_DATABASE=Latitude D630 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Latitude D630) + + pci:v00008086d00002A02sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Compaq 6710b) + + pci:v00008086d00002A02sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Presario C700) + + pci:v00008086d00002A02sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (VAIO VGN-NR120E) + + pci:v00008086d00002A02sv000017AAsd000020B5* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) + + pci:v00008086d00002A02sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) + + pci:v00008086d00002A03* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) + + pci:v00008086d00002A03sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Dell Inspiron 1420 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) + + pci:v00008086d00002A03sv0000103Csd000030C0* +- ID_MODEL_FROM_DATABASE=Compaq 6710b ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) + + pci:v00008086d00002A03sv0000103Csd000030D9* +- ID_MODEL_FROM_DATABASE=Presario C700 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Presario C700) + + pci:v00008086d00002A03sv0000104Dsd0000902D* +- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (VAIO VGN-NR120E) + + pci:v00008086d00002A03sv000017AAsd000020B5* +- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) + + pci:v00008086d00002A03sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) + + pci:v00008086d00002A04* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller + + pci:v00008086d00002A04sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller (Compaq 6910p) + + pci:v00008086d00002A05* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller +@@ -66663,19 +66663,19 @@ pci:v00008086d00002A06* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller + + pci:v00008086d00002A06sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller (Compaq 6910p) + + pci:v00008086d00002A07* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller + + pci:v00008086d00002A07sv0000103Csd000030C1* +- ID_MODEL_FROM_DATABASE=Compaq 6910p ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller (Compaq 6910p) + + pci:v00008086d00002A10* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub + + pci:v00008086d00002A10sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub (CCG-RUMBA) + + pci:v00008086d00002A11* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 PCI Express Root Port +@@ -66684,13 +66684,13 @@ pci:v00008086d00002A12* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller + + pci:v00008086d00002A12sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) + + pci:v00008086d00002A13* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller + + pci:v00008086d00002A13sv0000E4BFsd0000CC47* +- ID_MODEL_FROM_DATABASE=CCG-RUMBA ++ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) + + pci:v00008086d00002A14* + ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller +@@ -66708,25 +66708,25 @@ pci:v00008086d00002A40* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub + + pci:v00008086d00002A40sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub (CCM-BOOGIE) + + pci:v00008086d00002A41* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port + + pci:v00008086d00002A41sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port (CCM-BOOGIE) + + pci:v00008086d00002A42* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002A42sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) + + pci:v00008086d00002A43* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002A43sv0000E4BFsd0000CC4D* +- ID_MODEL_FROM_DATABASE=CCM-BOOGIE ++ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) + + pci:v00008086d00002A44* + ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller +@@ -67251,34 +67251,34 @@ pci:v00008086d00002E20* + ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller + + pci:v00008086d00002E20sv00001028sd00000283* +- ID_MODEL_FROM_DATABASE=Dell Vostro 220 ++ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (Dell Vostro 220) + + pci:v00008086d00002E20sv00001043sd000082D3* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00002E20sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00002E21* + ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port + + pci:v00008086d00002E21sv00001043sd000082D3* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (P5Q Deluxe Motherboard) + + pci:v00008086d00002E21sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (GA-EP45-DS5 Motherboard) + + pci:v00008086d00002E22* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002E22sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) + + pci:v00008086d00002E23* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + + pci:v00008086d00002E23sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard ++ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) + + pci:v00008086d00002E24* + ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller +@@ -67917,16 +67917,16 @@ pci:v00008086d00003200* + ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA + + pci:v00008086d00003200sv00001775sd0000C200* +- ID_MODEL_FROM_DATABASE=C2K onboard SATA host bus adapter ++ ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA (C2K onboard SATA host bus adapter) + + pci:v00008086d00003310* + ID_MODEL_FROM_DATABASE=IOP348 I/O Processor + + pci:v00008086d00003310sv00001054sd00003030* +- ID_MODEL_FROM_DATABASE=HRA380 Hitachi RAID Adapter to PCIe ++ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA380 Hitachi RAID Adapter to PCIe) + + pci:v00008086d00003310sv00001054sd00003034* +- ID_MODEL_FROM_DATABASE=HRA381 Hitachi RAID Adapter to PCIe ++ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA381 Hitachi RAID Adapter to PCIe) + + pci:v00008086d00003313* + ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA +@@ -67944,31 +67944,31 @@ pci:v00008086d00003340* + ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller + + pci:v00008086d00003340sv00001014sd00000529* +- ID_MODEL_FROM_DATABASE=Thinkpad T40 series ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (Thinkpad T40 series) + + pci:v00008086d00003340sv00001025sd0000005A* +- ID_MODEL_FROM_DATABASE=TravelMate 290 ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (TravelMate 290) + + pci:v00008086d00003340sv0000103Csd0000088C* +- ID_MODEL_FROM_DATABASE=NC8000 laptop ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC8000 laptop) + + pci:v00008086d00003340sv0000103Csd00000890* +- ID_MODEL_FROM_DATABASE=NC6000 laptop ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC6000 laptop) + + pci:v00008086d00003340sv0000103Csd000008B0* +- ID_MODEL_FROM_DATABASE=tc1100 tablet ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (tc1100 tablet) + + pci:v00008086d00003340sv0000144Dsd0000C005* +- ID_MODEL_FROM_DATABASE=X10 Laptop ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (X10 Laptop) + + pci:v00008086d00003340sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30/P35 notebook ++ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (P30/P35 notebook) + + pci:v00008086d00003341* + ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller + + pci:v00008086d00003341sv0000144Dsd0000C00C* +- ID_MODEL_FROM_DATABASE=P30 notebook ++ ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller (P30 notebook) + + pci:v00008086d00003363* + ID_MODEL_FROM_DATABASE=IOC340 I/O Controller in IOC Mode SAS/SATA +@@ -67995,19 +67995,19 @@ pci:v00008086d00003403* + ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port + + pci:v00008086d00003403sv00001028sd00000236* +- ID_MODEL_FROM_DATABASE=PowerEdge R610 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R610 I/O Hub to ESI Port) + + pci:v00008086d00003403sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge M610 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge M610 I/O Hub to ESI Port) + + pci:v00008086d00003403sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R410 I/O Hub to ESI Port) + + pci:v00008086d00003403sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 I/O Hub to ESI Port ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge T410 I/O Hub to ESI Port) + + pci:v00008086d00003403sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (ProLiant ML150 G6 Server) + + pci:v00008086d00003404* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port +@@ -68019,7 +68019,7 @@ pci:v00008086d00003406* + ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port + + pci:v00008086d00003406sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port (ProLiant G6 series) + + pci:v00008086d00003407* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port +@@ -68028,7 +68028,7 @@ pci:v00008086d00003408* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 + + pci:v00008086d00003408sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 (ProLiant G6 series) + + pci:v00008086d00003409* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 2 +@@ -68037,7 +68037,7 @@ pci:v00008086d0000340A* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 + + pci:v00008086d0000340Asv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 (ProLiant ML150 G6 Server) + + pci:v00008086d0000340B* + ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 4 +@@ -68052,7 +68052,7 @@ pci:v00008086d0000340E* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 + + pci:v00008086d0000340Esv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 (ProLiant ML150 G6 Server) + + pci:v00008086d0000340F* + ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 8 +@@ -68079,13 +68079,13 @@ pci:v00008086d00003422* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers + + pci:v00008086d00003422sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (ProLiant G6 series) + + pci:v00008086d00003423* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers + + pci:v00008086d00003423sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (ProLiant G6 series) + + pci:v00008086d00003425* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Physical and Link Layer Registers Port 0 +@@ -68118,7 +68118,7 @@ pci:v00008086d0000342E* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers + + pci:v00008086d0000342Esv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers (ProLiant G6 series) + + pci:v00008086d0000342F* + ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Trusted Execution Technology Registers +@@ -68142,10 +68142,10 @@ pci:v00008086d00003500* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port + + pci:v00008086d00003500sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (ProLiant DL140 G3) + + pci:v00008086d00003500sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (X7DBN Motherboard) + + pci:v00008086d00003501* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express Upstream Port +@@ -68160,10 +68160,10 @@ pci:v00008086d0000350C* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge + + pci:v00008086d0000350Csv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (ProLiant DL140 G3) + + pci:v00008086d0000350Csv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (X7DBN Motherboard) + + pci:v00008086d0000350D* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express to PCI-X Bridge +@@ -68172,10 +68172,10 @@ pci:v00008086d00003510* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 + + pci:v00008086d00003510sv0000103Csd000031FE* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (ProLiant DL140 G3) + + pci:v00008086d00003510sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (X7DBN Motherboard) + + pci:v00008086d00003511* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E1 +@@ -68190,7 +68190,7 @@ pci:v00008086d00003518* + ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 + + pci:v00008086d00003518sv000015D9sd00009680* +- ID_MODEL_FROM_DATABASE=X7DBN Motherboard ++ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 (X7DBN Motherboard) + + pci:v00008086d00003519* + ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E3 +@@ -68199,13 +68199,13 @@ pci:v00008086d00003575* + ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge + + pci:v00008086d00003575sv00000E11sd00000030* +- ID_MODEL_FROM_DATABASE=Evo N600c ++ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (Evo N600c) + + pci:v00008086d00003575sv00001014sd0000021D* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (ThinkPad A/T/X Series) + + pci:v00008086d00003575sv0000104Dsd000080E7* +- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP ++ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) + + pci:v00008086d00003576* + ID_MODEL_FROM_DATABASE=82830M/MP AGP Bridge +@@ -68214,7 +68214,7 @@ pci:v00008086d00003577* + ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller + + pci:v00008086d00003577sv00001014sd00000513* +- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series ++ ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller (ThinkPad A/T/X Series) + + pci:v00008086d00003578* + ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge +@@ -68223,181 +68223,181 @@ pci:v00008086d00003580* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller + + pci:v00008086d00003580sv00001014sd0000055C* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) + + pci:v00008086d00003580sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) + + pci:v00008086d00003580sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) + + pci:v00008086d00003580sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) + + pci:v00008086d00003580sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) + + pci:v00008086d00003580sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) + + pci:v00008086d00003580sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) + + pci:v00008086d00003580sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) + + pci:v00008086d00003580sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) + + pci:v00008086d00003580sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) + + pci:v00008086d00003580sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) + + pci:v00008086d00003580sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) + + pci:v00008086d00003580sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) + + pci:v00008086d00003580sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CC9-SAMBA) + + pci:v00008086d00003580sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CD2-BEBOP) + + pci:v00008086d00003581* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller + + pci:v00008086d00003581sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller (Amilo M1420) + + pci:v00008086d00003582* + ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device + + pci:v00008086d00003582sv00001014sd00000562* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (ThinkPad R50e) + + pci:v00008086d00003582sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D400) + + pci:v00008086d00003582sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude X300) + + pci:v00008086d00003582sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D500) + + pci:v00008086d00003582sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D505) + + pci:v00008086d00003582sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Inspiron 700m/710m) + + pci:v00008086d00003582sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 integrated graphics ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PC8 integrated graphics) + + pci:v00008086d00003582sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer VGA ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (V5D Single Board Computer VGA) + + pci:v00008086d00003582sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CE9) + + pci:v00008086d00003582sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CL9 mainboard) + + pci:v00008086d00003582sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PSL09 PrPMC) + + pci:v00008086d00003582sv0000E4BFsd00000CC9* +- ID_MODEL_FROM_DATABASE=CC9-SAMBA ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CC9-SAMBA) + + pci:v00008086d00003582sv0000E4BFsd00000CD2* +- ID_MODEL_FROM_DATABASE=CD2-BEBOP ++ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CD2-BEBOP) + + pci:v00008086d00003584* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller + + pci:v00008086d00003584sv00001014sd0000055D* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) + + pci:v00008086d00003584sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) + + pci:v00008086d00003584sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) + + pci:v00008086d00003584sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) + + pci:v00008086d00003584sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) + + pci:v00008086d00003584sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) + + pci:v00008086d00003584sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) + + pci:v00008086d00003584sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) + + pci:v00008086d00003584sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) + + pci:v00008086d00003584sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) + + pci:v00008086d00003584sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) + + pci:v00008086d00003584sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) + + pci:v00008086d00003584sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) + + pci:v00008086d00003585* + ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller + + pci:v00008086d00003585sv00001014sd0000055E* +- ID_MODEL_FROM_DATABASE=ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) + + pci:v00008086d00003585sv00001028sd00000139* +- ID_MODEL_FROM_DATABASE=Latitude D400 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) + + pci:v00008086d00003585sv00001028sd0000014F* +- ID_MODEL_FROM_DATABASE=Latitude X300 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) + + pci:v00008086d00003585sv00001028sd00000152* +- ID_MODEL_FROM_DATABASE=Latitude D500 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) + + pci:v00008086d00003585sv00001028sd00000163* +- ID_MODEL_FROM_DATABASE=Latitude D505 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) + + pci:v00008086d00003585sv00001028sd0000018D* +- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) + + pci:v00008086d00003585sv00001028sd00000196* +- ID_MODEL_FROM_DATABASE=Inspiron 5160 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) + + pci:v00008086d00003585sv0000114Asd00000582* +- ID_MODEL_FROM_DATABASE=PC8 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) + + pci:v00008086d00003585sv00001734sd00001055* +- ID_MODEL_FROM_DATABASE=Amilo M1420 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) + + pci:v00008086d00003585sv00001775sd000010D0* +- ID_MODEL_FROM_DATABASE=V5D Single Board Computer ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) + + pci:v00008086d00003585sv00001775sd0000CE90* +- ID_MODEL_FROM_DATABASE=CE9 ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) + + pci:v00008086d00003585sv00004C53sd000010B0* +- ID_MODEL_FROM_DATABASE=CL9 mainboard ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) + + pci:v00008086d00003585sv00004C53sd000010E0* +- ID_MODEL_FROM_DATABASE=PSL09 PrPMC ++ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) + + pci:v00008086d0000358C* + ID_MODEL_FROM_DATABASE=82854 GMCH +@@ -68409,70 +68409,70 @@ pci:v00008086d00003590* + ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub + + pci:v00008086d00003590sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (eServer xSeries server mainboard) + + pci:v00008086d00003590sv00001028sd0000016C* +- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Memory Controller Hub ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 1850 Memory Controller Hub) + + pci:v00008086d00003590sv00001028sd0000016D* +- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Memory Controller Hub ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 2850 Memory Controller Hub) + + pci:v00008086d00003590sv00001028sd0000019A* +- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge SC1425) + + pci:v00008086d00003590sv00001734sd0000103E* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PRIMERGY RX/TX S2 series) + + pci:v00008086d00003590sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (CR11/VR11 Single Board Computer) + + pci:v00008086d00003590sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (Telum ASLP10 Processor AMC) + + pci:v00008086d00003591* + ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers + + pci:v00008086d00003591sv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (eServer xSeries server mainboard) + + pci:v00008086d00003591sv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision Workstation 670 Mainboard) + + pci:v00008086d00003591sv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision 470) + + pci:v00008086d00003591sv0000103Csd00003208* +- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (ProLiant DL140 G2) + + pci:v00008086d00003591sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Telum ASLP10 Processor AMC) + + pci:v00008086d00003592* + ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub + + pci:v00008086d00003592sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d00003593* + ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers + + pci:v00008086d00003593sv00001734sd00001073* +- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard ++ ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers (Primergy Econel 200 D2020 mainboard) + + pci:v00008086d00003594* + ID_MODEL_FROM_DATABASE=E7520 DMA Controller + + pci:v00008086d00003594sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (CR11/VR11 Single Board Computer) + + pci:v00008086d00003594sv00004C53sd000010D0* +- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC ++ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (Telum ASLP10 Processor AMC) + + pci:v00008086d00003595* + ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A + + pci:v00008086d00003595sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A (CR11/VR11 Single Board Computer) + + pci:v00008086d00003596* + ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A1 +@@ -68481,19 +68481,19 @@ pci:v00008086d00003597* + ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B + + pci:v00008086d00003597sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B (CR11/VR11 Single Board Computer) + + pci:v00008086d00003598* + ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 + + pci:v00008086d00003598sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 (CR11/VR11 Single Board Computer) + + pci:v00008086d00003599* + ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C + + pci:v00008086d00003599sv00001775sd00001100* +- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer ++ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C (CR11/VR11 Single Board Computer) + + pci:v00008086d0000359A* + ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C1 +@@ -68502,16 +68502,16 @@ pci:v00008086d0000359B* + ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers + + pci:v00008086d0000359Bsv00001014sd000002DD* +- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard ++ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers (eServer xSeries server mainboard) + + pci:v00008086d0000359E* + ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub + + pci:v00008086d0000359Esv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision Workstation 670 Mainboard) + + pci:v00008086d0000359Esv00001028sd00000169* +- ID_MODEL_FROM_DATABASE=Precision 470 ++ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision 470) + + pci:v00008086d000035B0* + ID_MODEL_FROM_DATABASE=3100 Chipset Memory I/O Controller Hub +@@ -68562,7 +68562,7 @@ pci:v00008086d0000360C* + ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers + + pci:v00008086d0000360Csv00001028sd000001F0* +- ID_MODEL_FROM_DATABASE=PowerEdge R900 7300 Chipset FSB Registers ++ ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers (PowerEdge R900 7300 Chipset FSB Registers) + + pci:v00008086d0000360D* + ID_MODEL_FROM_DATABASE=7300 Chipset Snoop Filter Registers +@@ -68724,19 +68724,19 @@ pci:v00008086d00003A16* + ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller + + pci:v00008086d00003A16sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 LPC Interface Controller ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge R410 LPC Interface Controller) + + pci:v00008086d00003A16sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 LPC Interface Controller ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge T410 LPC Interface Controller) + + pci:v00008086d00003A16sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (ProLiant G6 series) + + pci:v00008086d00003A16sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A16sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A18* + ID_MODEL_FROM_DATABASE=82801JIB (ICH10) LPC Interface Controller +@@ -68748,52 +68748,52 @@ pci:v00008086d00003A20* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 + + pci:v00008086d00003A20sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge R410 SATA IDE Controller) + + pci:v00008086d00003A20sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge T410 SATA IDE Controller) + + pci:v00008086d00003A22* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller + + pci:v00008086d00003A22sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (ProLiant G6 series) + + pci:v00008086d00003A22sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A22sv00001458sd0000B005* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A25* + ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller + + pci:v00008086d00003A25sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R410) ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R410)) + + pci:v00008086d00003A25sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE T410) ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE T410)) + + pci:v00008086d00003A25sv00001028sd000002F1* +- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R510) ++ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R510)) + + pci:v00008086d00003A26* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 + + pci:v00008086d00003A26sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge R410 SATA IDE Controller) + + pci:v00008086d00003A26sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge T410 SATA IDE Controller) + + pci:v00008086d00003A30* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller + + pci:v00008086d00003A30sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A30sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A32* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Thermal Subsystem +@@ -68802,178 +68802,178 @@ pci:v00008086d00003A34* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 + + pci:v00008086d00003A34sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A34sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A34sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (ProLiant G6 series) + + pci:v00008086d00003A34sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A34sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A35* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 + + pci:v00008086d00003A35sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A35sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A35sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (ProLiant G6 series) + + pci:v00008086d00003A35sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A35sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A36* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 + + pci:v00008086d00003A36sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A36sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A36sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (ProLiant G6 series) + + pci:v00008086d00003A36sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A36sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A37* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 + + pci:v00008086d00003A37sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A37sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A37sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (ProLiant G6 series) + + pci:v00008086d00003A37sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A37sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (Motherboard) + + pci:v00008086d00003A38* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 + + pci:v00008086d00003A38sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A38sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A38sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A38sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A38sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (Motherboard) + + pci:v00008086d00003A39* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 + + pci:v00008086d00003A39sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge R410 USB UHCI Controller) + + pci:v00008086d00003A39sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge T410 USB UHCI Controller) + + pci:v00008086d00003A39sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A39sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A39sv00001458sd00005004* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (Motherboard) + + pci:v00008086d00003A3A* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 + + pci:v00008086d00003A3Asv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge R410 USB EHCI Controller) + + pci:v00008086d00003A3Asv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge T410 USB EHCI Controller) + + pci:v00008086d00003A3Asv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (ProLiant G6 series) + + pci:v00008086d00003A3Asv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A3Asv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A3C* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 + + pci:v00008086d00003A3Csv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge R410 USB EHCI Controller) + + pci:v00008086d00003A3Csv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge T410 USB EHCI Controller) + + pci:v00008086d00003A3Csv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant G6 series ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (ProLiant G6 series) + + pci:v00008086d00003A3Csv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A3Csv00001458sd00005006* +- ID_MODEL_FROM_DATABASE=Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (Motherboard) + + pci:v00008086d00003A3E* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller + + pci:v00008086d00003A3Esv00001043sd00008311* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (P5Q Deluxe Motherboard) + + pci:v00008086d00003A3Esv00001458sd0000A002* +- ID_MODEL_FROM_DATABASE=GA-EP45-UD3R Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-UD3R Motherboard) + + pci:v00008086d00003A3Esv00001458sd0000A102* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A40* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 + + pci:v00008086d00003A40sv00001028sd0000028C* +- ID_MODEL_FROM_DATABASE=PowerEdge R410 PCI Express Port 1 ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge R410 PCI Express Port 1) + + pci:v00008086d00003A40sv00001028sd0000028D* +- ID_MODEL_FROM_DATABASE=PowerEdge T410 PCI Express Port 1 ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge T410 PCI Express Port 1) + + pci:v00008086d00003A40sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A40sv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A40sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A40sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A42* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Port 2 +@@ -68982,43 +68982,43 @@ pci:v00008086d00003A44* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 + + pci:v00008086d00003A44sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A46* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 + + pci:v00008086d00003A46sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A46sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A48* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 + + pci:v00008086d00003A48sv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A48sv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (P6T Deluxe Motherboard) + + pci:v00008086d00003A48sv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (GA-EP45-DS5 Motherboard) + + pci:v00008086d00003A4A* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 + + pci:v00008086d00003A4Asv0000103Csd0000330B* +- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (ProLiant ML150 G6 Server) + + pci:v00008086d00003A4Asv00001043sd000082D4* +- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P5Q Deluxe Motherboard) + + pci:v00008086d00003A4Asv00001043sd000082EA* +- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P6T DeLuxe Motherboard) + + pci:v00008086d00003A4Asv00001458sd00005001* +- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard ++ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) + + pci:v00008086d00003A4C* + ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Gigabit Ethernet Controller +@@ -69108,10 +69108,10 @@ pci:v00008086d00003B07* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller + + pci:v00008086d00003B07sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Latitude E6510) + + pci:v00008086d00003B07sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (PC1-GROOVE) + + pci:v00008086d00003B08* + ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller +@@ -69120,16 +69120,16 @@ pci:v00008086d00003B09* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller + + pci:v00008086d00003B09sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) + + pci:v00008086d00003B0A* + ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller + + pci:v00008086d00003B0Asv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (OptiPlex 980) + + pci:v00008086d00003B0Asv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B0B* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller +@@ -69204,10 +69204,10 @@ pci:v00008086d00003B22* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller + + pci:v00008086d00003B22sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (OptiPlex 980) + + pci:v00008086d00003B22sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B23* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller +@@ -69225,7 +69225,7 @@ pci:v00008086d00003B29* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller + + pci:v00008086d00003B29sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) + + pci:v00008086d00003B2C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller +@@ -69234,64 +69234,64 @@ pci:v00008086d00003B2D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller + + pci:v00008086d00003B2Dsv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) + + pci:v00008086d00003B2E* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller + + pci:v00008086d00003B2Esv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (PC1-GROOVE) + + pci:v00008086d00003B2F* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller + + pci:v00008086d00003B2Fsv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (Latitude E6510) + + pci:v00008086d00003B2Fsv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (PC1-GROOVE) + + pci:v00008086d00003B30* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller + + pci:v00008086d00003B30sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Aspire 7740G) + + pci:v00008086d00003B30sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (OptiPlex 980) + + pci:v00008086d00003B30sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) + + pci:v00008086d00003B30sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B30sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) + + pci:v00008086d00003B32* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem + + pci:v00008086d00003B32sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) + + pci:v00008086d00003B34* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller + + pci:v00008086d00003B34sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) + + pci:v00008086d00003B34sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) + + pci:v00008086d00003B34sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + + pci:v00008086d00003B34sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B34sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + + pci:v00008086d00003B36* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller +@@ -69315,19 +69315,19 @@ pci:v00008086d00003B3C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller + + pci:v00008086d00003B3Csv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) + + pci:v00008086d00003B3Csv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) + + pci:v00008086d00003B3Csv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + + pci:v00008086d00003B3Csv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B3Csv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + + pci:v00008086d00003B3E* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller +@@ -69345,40 +69345,40 @@ pci:v00008086d00003B42* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 + + pci:v00008086d00003B42sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (OptiPlex 980) + + pci:v00008086d00003B42sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) + + pci:v00008086d00003B42sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) + + pci:v00008086d00003B44* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 + + pci:v00008086d00003B44sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Latitude E6510) + + pci:v00008086d00003B44sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) + + pci:v00008086d00003B46* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 + + pci:v00008086d00003B46sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) + + pci:v00008086d00003B48* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 + + pci:v00008086d00003B48sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) + + pci:v00008086d00003B4A* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 + + pci:v00008086d00003B4Asv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) + + pci:v00008086d00003B4C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 +@@ -69396,19 +69396,19 @@ pci:v00008086d00003B56* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio + + pci:v00008086d00003B56sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Aspire 7740G) + + pci:v00008086d00003B56sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (OptiPlex 980) + + pci:v00008086d00003B56sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) + + pci:v00008086d00003B56sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) + + pci:v00008086d00003B56sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) + + pci:v00008086d00003B57* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio +@@ -69417,13 +69417,13 @@ pci:v00008086d00003B64* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller + + pci:v00008086d00003B64sv00001025sd00000347* +- ID_MODEL_FROM_DATABASE=Aspire 7740G ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Aspire 7740G) + + pci:v00008086d00003B64sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) + + pci:v00008086d00003B64sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) + + pci:v00008086d00003B65* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller +@@ -69435,7 +69435,7 @@ pci:v00008086d00003B67* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller + + pci:v00008086d00003B67sv0000E4BFsd000050C1* +- ID_MODEL_FROM_DATABASE=PC1-GROOVE ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller (PC1-GROOVE) + + pci:v00008086d00003C00* + ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMI2 +@@ -69765,25 +69765,25 @@ pci:v00008086d00004220* + ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection + + pci:v00008086d00004220sv0000103Csd00000934* +- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Compaq nw8240/nx8220) + + pci:v00008086d00004220sv0000103Csd000012F6* +- ID_MODEL_FROM_DATABASE=nc6120/nx8220/nw8240 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (nc6120/nx8220/nw8240) + + pci:v00008086d00004220sv00008086sd00002701* +- ID_MODEL_FROM_DATABASE=WM3B2300BG Mini-PCI Card ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (WM3B2300BG Mini-PCI Card) + + pci:v00008086d00004220sv00008086sd00002712* +- ID_MODEL_FROM_DATABASE=IBM ThinkPad R50e ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (IBM ThinkPad R50e) + + pci:v00008086d00004220sv00008086sd00002721* +- ID_MODEL_FROM_DATABASE=Dell B130 laptop integrated WLAN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell B130 laptop integrated WLAN) + + pci:v00008086d00004220sv00008086sd00002722* +- ID_MODEL_FROM_DATABASE=Dell Latitude D600 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell Latitude D600) + + pci:v00008086d00004220sv00008086sd00002731* +- ID_MODEL_FROM_DATABASE=Samsung P35 integrated WLAN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Samsung P35 integrated WLAN) + + pci:v00008086d00004222* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection +@@ -69792,40 +69792,40 @@ pci:v00008086d00004222sv0000103Csd0000135C* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection + + pci:v00008086d00004222sv00008086sd00001000* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004222sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004222sv00008086sd00001005* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004222sv00008086sd00001034* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004222sv00008086sd00001044* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004222sv00008086sd00001C00* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004223* + ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection + + pci:v00008086d00004223sv00001000sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B Americas/Europe ZZA ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Americas/Europe ZZA) + + pci:v00008086d00004223sv00001001sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B Europe ZZE ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Europe ZZE) + + pci:v00008086d00004223sv00001002sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B Japan ZZJ ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Japan ZZJ) + + pci:v00008086d00004223sv00001003sd00008086* +- ID_MODEL_FROM_DATABASE=mPCI 3B High-Band ZZH ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B High-Band ZZH) + + pci:v00008086d00004223sv00001351sd0000103C* +- ID_MODEL_FROM_DATABASE=Compaq NC6220 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (Compaq NC6220) + + pci:v00008086d00004224* + ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection +@@ -69834,106 +69834,106 @@ pci:v00008086d00004227* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection + + pci:v00008086d00004227sv00008086sd00001011* +- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60e/X60s ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (ThinkPad T60/R60e/X60s) + + pci:v00008086d00004227sv00008086sd00001014* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) + + pci:v00008086d00004229* + ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection + + pci:v00008086d00004229sv00008086sd00001100* +- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Vaio VGN-SZ79SN_C) + + pci:v00008086d00004229sv00008086sd00001101* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (PRO/Wireless 4965 AG or AGN) + + pci:v00008086d0000422B* + ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 + + pci:v00008086d0000422Bsv00008086sd00001101* +- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) + + pci:v00008086d0000422Bsv00008086sd00001121* +- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) + + pci:v00008086d0000422C* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 + + pci:v00008086d0000422Csv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) + + pci:v00008086d0000422Csv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) + + pci:v00008086d0000422Csv00008086sd00001307* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 BG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 BG) + + pci:v00008086d0000422Csv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) + + pci:v00008086d0000422Csv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) + + pci:v00008086d00004230* + ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection + + pci:v00008086d00004230sv00008086sd00001110* +- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T51 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T51) + + pci:v00008086d00004230sv00008086sd00001111* +- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T61 ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T61) + + pci:v00008086d00004232* + ID_MODEL_FROM_DATABASE=WiFi Link 5100 + + pci:v00008086d00004232sv00008086sd00001201* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001204* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001205* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001206* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004232sv00008086sd00001221* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001224* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001225* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001226* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004232sv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001304* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001305* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004232sv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001324* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) + + pci:v00008086d00004232sv00008086sd00001325* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) + + pci:v00008086d00004232sv00008086sd00001326* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) + + pci:v00008086d00004235* + ID_MODEL_FROM_DATABASE=Ultimate N WiFi Link 5300 +@@ -69945,43 +69945,43 @@ pci:v00008086d00004237* + ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection + + pci:v00008086d00004237sv00008086sd00001211* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001214* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001215* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) + + pci:v00008086d00004237sv00008086sd00001216* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) + + pci:v00008086d00004237sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001314* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) + + pci:v00008086d00004237sv00008086sd00001315* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) + + pci:v00008086d00004237sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) + + pci:v00008086d00004238* + ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 + + pci:v00008086d00004238sv00008086sd00001111* +- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) + + pci:v00008086d00004239* + ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 + + pci:v00008086d00004239sv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) + + pci:v00008086d00004239sv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG ++ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) + + pci:v00008086d0000423A* + ID_MODEL_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection +@@ -69993,37 +69993,37 @@ pci:v00008086d0000423C* + ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 + + pci:v00008086d0000423Csv00008086sd00001201* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Csv00008086sd00001206* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000423Csv00008086sd00001221* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Csv00008086sd00001301* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Csv00008086sd00001306* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000423Csv00008086sd00001321* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423D* + ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 + + pci:v00008086d0000423Dsv00008086sd00001211* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Dsv00008086sd00001216* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000423Dsv00008086sd00001311* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) + + pci:v00008086d0000423Dsv00008086sd00001316* +- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG ++ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) + + pci:v00008086d0000444E* + ID_MODEL_FROM_DATABASE=Turbo Memory Controller +@@ -70176,7 +70176,7 @@ pci:v00008086d00005201* + ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller + + pci:v00008086d00005201sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter ++ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller (EtherExpress PRO/100 Server Ethernet Adapter) + + pci:v00008086d0000530D* + ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor +@@ -70185,7 +70185,7 @@ pci:v00008086d00005845* + ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller + + pci:v00008086d00005845sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller (QEMU Virtual Machine) + + pci:v00008086d000065C0* + ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub +@@ -70212,16 +70212,16 @@ pci:v00008086d000065F0* + ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers + + pci:v00008086d000065F0sv00001028sd0000020F* +- ID_MODEL_FROM_DATABASE=PowerEdge R300 ++ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge R300) + + pci:v00008086d000065F0sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 ++ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge T300) + + pci:v00008086d000065F1* + ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers + + pci:v00008086d000065F1sv00001028sd00000210* +- ID_MODEL_FROM_DATABASE=PowerEdge T300 ++ ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers (PowerEdge T300) + + pci:v00008086d000065F3* + ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers +@@ -70251,19 +70251,19 @@ pci:v00008086d00007000* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] + + pci:v00008086d00007000sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] (Qemu virtual machine) + + pci:v00008086d00007010* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] + + pci:v00008086d00007010sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] (Qemu virtual machine) + + pci:v00008086d00007020* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] + + pci:v00008086d00007020sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] (QEMU Virtual Machine) + + pci:v00008086d00007030* + ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] +@@ -70281,52 +70281,52 @@ pci:v00008086d00007110* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA + + pci:v00008086d00007110sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA (Virtual Machine Chipset) + + pci:v00008086d00007111* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE + + pci:v00008086d00007111sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE (Virtual Machine Chipset) + + pci:v00008086d00007112* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB + + pci:v00008086d00007112sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (Virtual Machine Chipset) + + pci:v00008086d00007112sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (QEMU Virtual Machine) + + pci:v00008086d00007113* + ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI + + pci:v00008086d00007113sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Virtual Machine Chipset) + + pci:v00008086d00007113sv00001AF4sd00001100* +- ID_MODEL_FROM_DATABASE=Qemu virtual machine ++ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Qemu virtual machine) + + pci:v00008086d00007120* + ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) + + pci:v00008086d00007120sv00004C53sd00001040* +- ID_MODEL_FROM_DATABASE=CL7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (CL7 mainboard) + + pci:v00008086d00007120sv00004C53sd00001060* +- ID_MODEL_FROM_DATABASE=PC7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (PC7 mainboard) + + pci:v00008086d00007121* + ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller + + pci:v00008086d00007121sv00004C53sd00001040* +- ID_MODEL_FROM_DATABASE=CL7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (CL7 mainboard) + + pci:v00008086d00007121sv00004C53sd00001060* +- ID_MODEL_FROM_DATABASE=PC7 mainboard ++ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (PC7 mainboard) + + pci:v00008086d00007121sv00008086sd00004341* +- ID_MODEL_FROM_DATABASE=Cayman (CA810) Mainboard ++ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (Cayman (CA810) Mainboard) + + pci:v00008086d00007122* + ID_MODEL_FROM_DATABASE=82810 DC-100 (GMCH) Graphics Memory Controller Hub +@@ -70338,13 +70338,13 @@ pci:v00008086d00007124* + ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub + + pci:v00008086d00007124sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub (OptiPlex GX110) + + pci:v00008086d00007125* + ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller + + pci:v00008086d00007125sv00001028sd000000B4* +- ID_MODEL_FROM_DATABASE=OptiPlex GX110 ++ ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller (OptiPlex GX110) + + pci:v00008086d00007126* + ID_MODEL_FROM_DATABASE=82810 DC-133 System and Graphics Controller +@@ -70365,73 +70365,73 @@ pci:v00008086d00007190* + ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge + + pci:v00008086d00007190sv00000E11sd00000500* +- ID_MODEL_FROM_DATABASE=Armada 1750 Laptop System Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada 1750 Laptop System Chipset) + + pci:v00008086d00007190sv00000E11sd0000B110* +- ID_MODEL_FROM_DATABASE=Armada M700/E500 ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada M700/E500) + + pci:v00008086d00007190sv00001028sd0000008E* +- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (PowerEdge 1300 mainboard) + + pci:v00008086d00007190sv00001043sd0000803B* +- ID_MODEL_FROM_DATABASE=CUBX-L/E Mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CUBX-L/E Mainboard) + + pci:v00008086d00007190sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Toshiba Tecra 8100 Laptop System Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Toshiba Tecra 8100 Laptop System Chipset) + + pci:v00008086d00007190sv000015ADsd00001976* +- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Virtual Machine Chipset) + + pci:v00008086d00007190sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CT7 mainboard) + + pci:v00008086d00007190sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CE7 mainboard) + + pci:v00008086d00007191* + ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge + + pci:v00008086d00007191sv00001028sd0000008E* +- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (PowerEdge 1300 mainboard) + + pci:v00008086d00007192* + ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) + + pci:v00008086d00007192sv00000E11sd00000460* +- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop System Chipset ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Armada 1700 Laptop System Chipset) + + pci:v00008086d00007192sv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Satellite 4010 ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Satellite 4010) + + pci:v00008086d00007192sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00008086d00007192sv00008086sd00007190* +- ID_MODEL_FROM_DATABASE=Dell PowerEdge 350 ++ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Dell PowerEdge 350) + + pci:v00008086d00007194* + ID_MODEL_FROM_DATABASE=82440MX Host Bridge + + pci:v00008086d00007194sv00001033sd00000000* +- ID_MODEL_FROM_DATABASE=Versa Note Vxi ++ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (Versa Note Vxi) + + pci:v00008086d00007194sv00004C53sd000010A0* +- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard ++ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (CA3/CR3 mainboard) + + pci:v00008086d00007195* + ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller + + pci:v00008086d00007195sv00001033sd000080CC* +- ID_MODEL_FROM_DATABASE=Versa Note VXi ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (Versa Note VXi) + + pci:v00008086d00007195sv000010CFsd00001099* +- ID_MODEL_FROM_DATABASE=QSound_SigmaTel Stac97 PCI Audio ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (QSound_SigmaTel Stac97 PCI Audio) + + pci:v00008086d00007195sv000011D4sd00000040* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00007195sv000011D4sd00000048* +- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio ++ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) + + pci:v00008086d00007196* + ID_MODEL_FROM_DATABASE=82440MX AC'97 Modem Controller +@@ -70452,10 +70452,10 @@ pci:v00008086d000071A0* + ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge + + pci:v00008086d000071A0sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CT7 mainboard) + + pci:v00008086d000071A0sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CE7 mainboard) + + pci:v00008086d000071A1* + ID_MODEL_FROM_DATABASE=440GX - 82443GX AGP bridge +@@ -70464,7 +70464,7 @@ pci:v00008086d000071A2* + ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) + + pci:v00008086d000071A2sv00004C53sd00001000* +- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) + + pci:v00008086d00007600* + ID_MODEL_FROM_DATABASE=82372FB PIIX5 ISA +@@ -70482,25 +70482,25 @@ pci:v00008086d00007800* + ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator + + pci:v00008086d00007800sv0000003Dsd00000008* +- ID_MODEL_FROM_DATABASE=Starfighter AGP ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) + + pci:v00008086d00007800sv0000003Dsd0000000B* +- ID_MODEL_FROM_DATABASE=Starfighter AGP ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) + + pci:v00008086d00007800sv00001092sd00000100* +- ID_MODEL_FROM_DATABASE=Stealth II G460 ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Stealth II G460) + + pci:v00008086d00007800sv000010B4sd0000201A* +- ID_MODEL_FROM_DATABASE=Lightspeed 740 ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) + + pci:v00008086d00007800sv000010B4sd0000202F* +- ID_MODEL_FROM_DATABASE=Lightspeed 740 ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) + + pci:v00008086d00007800sv00008086sd00000000* +- ID_MODEL_FROM_DATABASE=Terminator 2x/i ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Terminator 2x/i) + + pci:v00008086d00007800sv00008086sd00000100* +- ID_MODEL_FROM_DATABASE=Intel740 Graphics Accelerator ++ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Intel740 Graphics Accelerator) + + pci:v00008086d00008002* + ID_MODEL_FROM_DATABASE=Trusted Execution Technology Registers +@@ -70611,13 +70611,13 @@ pci:v00008086d00008500* + ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) + + pci:v00008086d00008500sv00001993sd00000DED* +- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#2 ++ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#2) + + pci:v00008086d00008500sv00001993sd00000DEE* +- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#1 ++ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#1) + + pci:v00008086d00008500sv00001993sd00000DEF* +- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#0 ++ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#0) + + pci:v00008086d00008800* + ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T PCI Express Port +@@ -70710,10 +70710,10 @@ pci:v00008086d00008C03* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] + + pci:v00008086d00008C03sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ZBook 15) + + pci:v00008086d00008C03sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ThinkPad T440p) + + pci:v00008086d00008C04* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] +@@ -70743,7 +70743,7 @@ pci:v00008086d00008C10* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 + + pci:v00008086d00008C10sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 (ThinkPad T440p) + + pci:v00008086d00008C11* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 +@@ -70752,7 +70752,7 @@ pci:v00008086d00008C12* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 + + pci:v00008086d00008C12sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 (ThinkPad T440p) + + pci:v00008086d00008C13* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 +@@ -70797,10 +70797,10 @@ pci:v00008086d00008C20* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller + + pci:v00008086d00008C20sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ZBook 15) + + pci:v00008086d00008C20sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ThinkPad T440p) + + pci:v00008086d00008C21* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller +@@ -70809,10 +70809,10 @@ pci:v00008086d00008C22* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller + + pci:v00008086d00008C22sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ZBook 15) + + pci:v00008086d00008C22sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ThinkPad T440p) + + pci:v00008086d00008C23* + ID_MODEL_FROM_DATABASE=8 Series Chipset Family CHAP Counters +@@ -70824,28 +70824,28 @@ pci:v00008086d00008C26* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 + + pci:v00008086d00008C26sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ZBook 15) + + pci:v00008086d00008C26sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ThinkPad T440p) + + pci:v00008086d00008C2D* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 + + pci:v00008086d00008C2Dsv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ZBook 15) + + pci:v00008086d00008C2Dsv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ThinkPad T440p) + + pci:v00008086d00008C31* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI + + pci:v00008086d00008C31sv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ZBook 15) + + pci:v00008086d00008C31sv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ThinkPad T440p) + + pci:v00008086d00008C33* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LAN Controller +@@ -70857,10 +70857,10 @@ pci:v00008086d00008C3A* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 + + pci:v00008086d00008C3Asv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ZBook 15) + + pci:v00008086d00008C3Asv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ThinkPad T440p) + + pci:v00008086d00008C3B* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #2 +@@ -70920,10 +70920,10 @@ pci:v00008086d00008C4F* + ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller + + pci:v00008086d00008C4Fsv0000103Csd00001909* +- ID_MODEL_FROM_DATABASE=ZBook 15 ++ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ZBook 15) + + pci:v00008086d00008C4Fsv000017AAsd0000220E* +- ID_MODEL_FROM_DATABASE=ThinkPad T440p ++ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ThinkPad T440p) + + pci:v00008086d00008C50* + ID_MODEL_FROM_DATABASE=B85 Express LPC Controller +@@ -70986,7 +70986,7 @@ pci:v00008086d00008D06* + ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] + + pci:v00008086d00008D06sv000017AAsd00001031* +- ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i ++ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] (ThinkServer RAID 110i) + + pci:v00008086d00008D08* + ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] +@@ -71196,7 +71196,7 @@ pci:v00008086d00009C03* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] + + pci:v00008086d00009C03sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) + + pci:v00008086d00009C04* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] +@@ -71286,7 +71286,7 @@ pci:v00008086d00009C20* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller + + pci:v00008086d00009C20sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) + + pci:v00008086d00009C21* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller +@@ -71295,7 +71295,7 @@ pci:v00008086d00009C22* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller + + pci:v00008086d00009C22sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) + + pci:v00008086d00009C23* + ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters +@@ -71307,7 +71307,7 @@ pci:v00008086d00009C26* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 + + pci:v00008086d00009C26sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) + + pci:v00008086d00009C2D* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 +@@ -71316,7 +71316,7 @@ pci:v00008086d00009C31* + ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC + + pci:v00008086d00009C31sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) + + pci:v00008086d00009C35* + ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller +@@ -71328,7 +71328,7 @@ pci:v00008086d00009C3A* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 + + pci:v00008086d00009C3Asv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) + + pci:v00008086d00009C3B* + ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 +@@ -71352,7 +71352,7 @@ pci:v00008086d00009C43* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller + + pci:v00008086d00009C43sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=ThinkPad X240 ++ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) + + pci:v00008086d00009C44* + ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller +@@ -71496,25 +71496,25 @@ pci:v00008086d0000A000* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge + + pci:v00008086d0000A000sv00001458sd00005000* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (GA-D525TUD) + + pci:v00008086d0000A000sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (DeskTop Board D510MO) + + pci:v00008086d0000A000sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Desktop Board D425KT) + + pci:v00008086d0000A001* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller + + pci:v00008086d0000A001sv00001458sd0000D000* +- ID_MODEL_FROM_DATABASE=GA-D525TUD ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (GA-D525TUD) + + pci:v00008086d0000A001sv00008086sd00004F4D* +- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (DeskTop Board D510MO) + + pci:v00008086d0000A001sv00008086sd0000544B* +- ID_MODEL_FROM_DATABASE=Desktop Board D425KT ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Desktop Board D425KT) + + pci:v00008086d0000A002* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller +@@ -71526,19 +71526,19 @@ pci:v00008086d0000A010* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge + + pci:v00008086d0000A010sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Notebook N150P) + + pci:v00008086d0000A011* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller + + pci:v00008086d0000A011sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) + + pci:v00008086d0000A012* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller + + pci:v00008086d0000A012sv0000144Dsd0000C072* +- ID_MODEL_FROM_DATABASE=Notebook N150P ++ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) + + pci:v00008086d0000A013* + ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter +@@ -71559,22 +71559,22 @@ pci:v00008086d0000B555* + ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge + + pci:v00008086d0000B555sv000012C7sd00005005* +- ID_MODEL_FROM_DATABASE=SS7HD PCI Adaptor Card ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HD PCI Adaptor Card) + + pci:v00008086d0000B555sv000012C7sd00005006* +- ID_MODEL_FROM_DATABASE=SS7HDC cPCI Adaptor Card ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HDC cPCI Adaptor Card) + + pci:v00008086d0000B555sv000012D9sd0000000A* +- ID_MODEL_FROM_DATABASE=PCI VoIP Gateway ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (PCI VoIP Gateway) + + pci:v00008086d0000B555sv00004C53sd00001050* +- ID_MODEL_FROM_DATABASE=CT7 mainboard ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CT7 mainboard) + + pci:v00008086d0000B555sv00004C53sd00001051* +- ID_MODEL_FROM_DATABASE=CE7 mainboard ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CE7 mainboard) + + pci:v00008086d0000B555sv0000E4BFsd00001000* +- ID_MODEL_FROM_DATABASE=CC8-1-BLUES ++ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CC8-1-BLUES) + + pci:v00008086d0000D130* + ID_MODEL_FROM_DATABASE=Core Processor DMI +@@ -71583,16 +71583,16 @@ pci:v00008086d0000D131* + ID_MODEL_FROM_DATABASE=Core Processor DMI + + pci:v00008086d0000D131sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=Core Processor DMI (OptiPlex 980) + + pci:v00008086d0000D131sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=Core Processor DMI (C7SIM-Q Motherboard) + + pci:v00008086d0000D132* + ID_MODEL_FROM_DATABASE=Core Processor DMI + + pci:v00008086d0000D132sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=Core Processor DMI (Latitude E6510) + + pci:v00008086d0000D133* + ID_MODEL_FROM_DATABASE=Core Processor DMI +@@ -71613,13 +71613,13 @@ pci:v00008086d0000D138* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 + + pci:v00008086d0000D138sv00001028sd000002DA* +- ID_MODEL_FROM_DATABASE=OptiPlex 980 ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (OptiPlex 980) + + pci:v00008086d0000D138sv00001028sd0000040B* +- ID_MODEL_FROM_DATABASE=Latitude E6510 ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (Latitude E6510) + + pci:v00008086d0000D138sv000015D9sd0000060D* +- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (C7SIM-Q Motherboard) + + pci:v00008086d0000D139* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 +@@ -71730,7 +71730,7 @@ pci:v00009004d00005078* + ID_MODEL_FROM_DATABASE=AIC-7850 + + pci:v00009004d00005078sv00009004sd00007850* +- ID_MODEL_FROM_DATABASE=AHA-2904/Integrated AIC-7850 ++ ID_MODEL_FROM_DATABASE=AIC-7850 (AHA-2904/Integrated AIC-7850) + + pci:v00009004d00005175* + ID_MODEL_FROM_DATABASE=AIC-755x +@@ -71766,10 +71766,10 @@ pci:v00009004d00005647* + ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine + + pci:v00009004d00005647sv00009004sd00007710* +- ID_MODEL_FROM_DATABASE=ANA-7711F TCP Offload Engine - Optical ++ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711F TCP Offload Engine - Optical) + + pci:v00009004d00005647sv00009004sd00007711* +- ID_MODEL_FROM_DATABASE=ANA-7711LP TCP Offload Engine - Copper ++ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711LP TCP Offload Engine - Copper) + + pci:v00009004d00005675* + ID_MODEL_FROM_DATABASE=AIC-755x +@@ -71799,7 +71799,7 @@ pci:v00009004d00006075* + ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 + + pci:v00009004d00006075sv00009004sd00007560* +- ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 Cardbus ++ ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 (Cardbus) + + pci:v00009004d00006078* + ID_MODEL_FROM_DATABASE=AIC-7860 +@@ -71808,7 +71808,7 @@ pci:v00009004d00006178* + ID_MODEL_FROM_DATABASE=AIC-7861 + + pci:v00009004d00006178sv00009004sd00007861* +- ID_MODEL_FROM_DATABASE=AHA-2940AU Single ++ ID_MODEL_FROM_DATABASE=AIC-7861 (AHA-2940AU Single) + + pci:v00009004d00006278* + ID_MODEL_FROM_DATABASE=AIC-7860 +@@ -71832,46 +71832,46 @@ pci:v00009004d00006915* + ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A + + pci:v00009004d00006915sv00009004sd00000008* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) + + pci:v00009004d00006915sv00009004sd00000009* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) + + pci:v00009004d00006915sv00009004sd00000010* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) + + pci:v00009004d00006915sv00009004sd00000018* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) + + pci:v00009004d00006915sv00009004sd00000019* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) + + pci:v00009004d00006915sv00009004sd00000020* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) + + pci:v00009004d00006915sv00009004sd00000028* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) + + pci:v00009004d00006915sv00009004sd00008008* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008009* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008010* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008018* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008019* +- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008020* +- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) + + pci:v00009004d00006915sv00009004sd00008028* +- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 ++ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) + + pci:v00009004d00007078* + ID_MODEL_FROM_DATABASE=AHA-294x / AIC-7870 +@@ -71910,7 +71910,7 @@ pci:v00009004d00007815* + ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC + + pci:v00009004d00007815sv00009004sd00007815* +- ID_MODEL_FROM_DATABASE=ARO-1130U2 RAID Controller ++ ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC (ARO-1130U2 RAID Controller) + + pci:v00009004d00007815sv00009004sd00007840* + ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC +@@ -71961,25 +71961,25 @@ pci:v00009004d00007895* + ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 + + pci:v00009004d00007895sv00009004sd00007890* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007895sv00009004sd00007891* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual) + + pci:v00009004d00007895sv00009004sd00007892* +- ID_MODEL_FROM_DATABASE=AHA-3940AU/AUW/AUWD/UWD ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3940AU/AUW/AUWD/UWD) + + pci:v00009004d00007895sv00009004sd00007894* +- ID_MODEL_FROM_DATABASE=AHA-3944AUWD ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3944AUWD) + + pci:v00009004d00007895sv00009004sd00007895* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007895sv00009004sd00007896* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007895sv00009004sd00007897* +- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) + + pci:v00009004d00007896* + ID_MODEL_FROM_DATABASE=AIC-789x +@@ -71991,13 +71991,13 @@ pci:v00009004d00008078* + ID_MODEL_FROM_DATABASE=AIC-7880U + + pci:v00009004d00008078sv00009004sd00007880* +- ID_MODEL_FROM_DATABASE=AIC-7880P Ultra/Ultra Wide SCSI Chipset ++ ID_MODEL_FROM_DATABASE=AIC-7880U (AIC-7880P Ultra/Ultra Wide SCSI Chipset) + + pci:v00009004d00008178* + ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U + + pci:v00009004d00008178sv00009004sd00007881* +- ID_MODEL_FROM_DATABASE=AHA-2940UW SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U (AHA-2940UW SCSI Host Adapter) + + pci:v00009004d00008278* + ID_MODEL_FROM_DATABASE=AHA-3940U/UW/UWD / AIC-7882U +@@ -72018,13 +72018,13 @@ pci:v00009004d00008778* + ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x + + pci:v00009004d00008778sv00009004sd00007887* +- ID_MODEL_FROM_DATABASE=2940UW Pro Ultra-Wide SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x (2940UW Pro Ultra-Wide SCSI Controller) + + pci:v00009004d00008878* + ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 + + pci:v00009004d00008878sv00009004sd00007888* +- ID_MODEL_FROM_DATABASE=AHA-2930UW SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 (AHA-2930UW SCSI Controller) + + pci:v00009004d00008B78* + ID_MODEL_FROM_DATABASE=ABA-1030 +@@ -72039,19 +72039,19 @@ pci:v00009005d00000010* + ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W + + pci:v00009005d00000010sv00009005sd00002180* +- ID_MODEL_FROM_DATABASE=AHA-2940U2 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2 SCSI Controller) + + pci:v00009005d00000010sv00009005sd00008100* +- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) + + pci:v00009005d00000010sv00009005sd0000A100* +- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) + + pci:v00009005d00000010sv00009005sd0000A180* +- ID_MODEL_FROM_DATABASE=AHA-2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2W SCSI Controller) + + pci:v00009005d00000010sv00009005sd0000E100* +- ID_MODEL_FROM_DATABASE=AHA-2950U2B SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2950U2B SCSI Controller) + + pci:v00009005d00000011* + ID_MODEL_FROM_DATABASE=AHA-2930U2 +@@ -72060,19 +72060,19 @@ pci:v00009005d00000013* + ID_MODEL_FROM_DATABASE=78902 + + pci:v00009005d00000013sv00009005sd00000003* +- ID_MODEL_FROM_DATABASE=AAA-131U2 Array1000 1 Channel RAID Controller ++ ID_MODEL_FROM_DATABASE=78902 (AAA-131U2 Array1000 1 Channel RAID Controller) + + pci:v00009005d00000013sv00009005sd0000000F* +- ID_MODEL_FROM_DATABASE=AIC7890_ARO ++ ID_MODEL_FROM_DATABASE=78902 (AIC7890_ARO) + + pci:v00009005d0000001F* + ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 + + pci:v00009005d0000001Fsv00009005sd0000000F* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) + + pci:v00009005d0000001Fsv00009005sd0000A180* +- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller ++ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) + + pci:v00009005d00000020* + ID_MODEL_FROM_DATABASE=AIC-7890 +@@ -72090,10 +72090,10 @@ pci:v00009005d00000050* + ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x + + pci:v00009005d00000050sv00009005sd0000F500* +- ID_MODEL_FROM_DATABASE=AHA-3950U2B ++ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) + + pci:v00009005d00000050sv00009005sd0000FFFF* +- ID_MODEL_FROM_DATABASE=AHA-3950U2B ++ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) + + pci:v00009005d00000051* + ID_MODEL_FROM_DATABASE=AHA-3950U2D +@@ -72105,7 +72105,7 @@ pci:v00009005d00000053* + ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller + + pci:v00009005d00000053sv00009005sd0000FFFF* +- ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller mainboard implementation ++ ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller (mainboard implementation) + + pci:v00009005d0000005F* + ID_MODEL_FROM_DATABASE=AIC-7896U2/7897U2 +@@ -72114,25 +72114,25 @@ pci:v00009005d00000080* + ID_MODEL_FROM_DATABASE=AIC-7892A U160/m + + pci:v00009005d00000080sv00000E11sd0000E2A0* +- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter) + + pci:v00009005d00000080sv00009005sd00006220* +- ID_MODEL_FROM_DATABASE=AHA-29160C ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (AHA-29160C) + + pci:v00009005d00000080sv00009005sd000062A0* +- ID_MODEL_FROM_DATABASE=29160N Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160N Ultra160 SCSI Controller) + + pci:v00009005d00000080sv00009005sd0000E220* +- ID_MODEL_FROM_DATABASE=29160LP Low Profile Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160LP Low Profile Ultra160 SCSI Controller) + + pci:v00009005d00000080sv00009005sd0000E2A0* +- ID_MODEL_FROM_DATABASE=29160 Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160 Ultra160 SCSI Controller) + + pci:v00009005d00000081* + ID_MODEL_FROM_DATABASE=AIC-7892B U160/m + + pci:v00009005d00000081sv00009005sd000062A1* +- ID_MODEL_FROM_DATABASE=19160 Ultra160 SCSI Controller ++ ID_MODEL_FROM_DATABASE=AIC-7892B U160/m (19160 Ultra160 SCSI Controller) + + pci:v00009005d00000083* + ID_MODEL_FROM_DATABASE=AIC-7892D U160/m +@@ -72141,10 +72141,10 @@ pci:v00009005d0000008F* + ID_MODEL_FROM_DATABASE=AIC-7892P U160/m + + pci:v00009005d0000008Fsv00001179sd00000001* +- ID_MODEL_FROM_DATABASE=Magnia Z310 ++ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Magnia Z310) + + pci:v00009005d0000008Fsv000015D9sd00009005* +- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Onboard SCSI Host Adapter) + + pci:v00009005d00000092* + ID_MODEL_FROM_DATABASE=AVC-2010 [VideoH!] +@@ -72156,10 +72156,10 @@ pci:v00009005d000000C0* + ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m + + pci:v00009005d000000C0sv00000E11sd0000F620* +- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter ++ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter) + + pci:v00009005d000000C0sv00009005sd0000F620* +- ID_MODEL_FROM_DATABASE=AHA-3960D U160/m ++ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (AHA-3960D U160/m) + + pci:v00009005d000000C1* + ID_MODEL_FROM_DATABASE=AIC-7899B U160/m +@@ -72171,28 +72171,28 @@ pci:v00009005d000000C5* + ID_MODEL_FROM_DATABASE=RAID subsystem HBA + + pci:v00009005d000000C5sv00001028sd000000C5* +- ID_MODEL_FROM_DATABASE=PowerEdge 2400,2500,2550,4400 ++ ID_MODEL_FROM_DATABASE=RAID subsystem HBA (PowerEdge 2400,2500,2550,4400) + + pci:v00009005d000000CF* + ID_MODEL_FROM_DATABASE=AIC-7899P U160/m + + pci:v00009005d000000CFsv00001028sd000000CE* +- ID_MODEL_FROM_DATABASE=PowerEdge 1400 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 1400) + + pci:v00009005d000000CFsv00001028sd000000D1* +- ID_MODEL_FROM_DATABASE=PowerEdge 2550 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2550) + + pci:v00009005d000000CFsv00001028sd000000D9* +- ID_MODEL_FROM_DATABASE=PowerEdge 2500 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2500) + + pci:v00009005d000000CFsv000010F1sd00002462* +- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Thunder K7 S2462) + + pci:v00009005d000000CFsv000015D9sd00009005* +- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Onboard SCSI Host Adapter) + + pci:v00009005d000000CFsv00008086sd00003411* +- ID_MODEL_FROM_DATABASE=SDS2 Mainboard ++ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (SDS2 Mainboard) + + pci:v00009005d00000241* + ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1420SA +@@ -72210,13 +72210,13 @@ pci:v00009005d00000250* + ID_MODEL_FROM_DATABASE=ServeRAID Controller + + pci:v00009005d00000250sv00001014sd00000279* +- ID_MODEL_FROM_DATABASE=ServeRAID 6M ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6M) + + pci:v00009005d00000250sv00001014sd0000028C* +- ID_MODEL_FROM_DATABASE=ServeRAID 6i/6i+ ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6i/6i+) + + pci:v00009005d00000250sv00001014sd0000028E* +- ID_MODEL_FROM_DATABASE=ServeRAID 7k ++ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 7k) + + pci:v00009005d00000279* + ID_MODEL_FROM_DATABASE=ServeRAID 6M +@@ -72225,415 +72225,415 @@ pci:v00009005d00000283* + ID_MODEL_FROM_DATABASE=AAC-RAID + + pci:v00009005d00000283sv00009005sd00000283* +- ID_MODEL_FROM_DATABASE=Catapult ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Catapult) + + pci:v00009005d00000284* + ID_MODEL_FROM_DATABASE=AAC-RAID + + pci:v00009005d00000284sv00009005sd00000284* +- ID_MODEL_FROM_DATABASE=Tomcat ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Tomcat) + + pci:v00009005d00000285* + ID_MODEL_FROM_DATABASE=AAC-RAID + + pci:v00009005d00000285sv00000E11sd00000295* +- ID_MODEL_FROM_DATABASE=SATA 6Ch (Bearcat) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SATA 6Ch (Bearcat)) + + pci:v00009005d00000285sv00001014sd000002F2* +- ID_MODEL_FROM_DATABASE=ServeRAID 8i ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ServeRAID 8i) + + pci:v00009005d00000285sv00001028sd00000287* +- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 320/DC ++ ID_MODEL_FROM_DATABASE=AAC-RAID (PowerEdge Expandable RAID Controller 320/DC) + + pci:v00009005d00000285sv00001028sd00000291* +- ID_MODEL_FROM_DATABASE=CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)) + + pci:v00009005d00000285sv0000103Csd00003227* +- ID_MODEL_FROM_DATABASE=AAR-2610SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2610SA) + + pci:v00009005d00000285sv0000108Esd00000286* +- ID_MODEL_FROM_DATABASE=Sun StorageTek SAS RAID HBA, Internal ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Sun StorageTek SAS RAID HBA, Internal) + + pci:v00009005d00000285sv0000108Esd00000287* +- ID_MODEL_FROM_DATABASE=STK RAID EXT ++ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EXT) + + pci:v00009005d00000285sv0000108Esd00007AAC* +- ID_MODEL_FROM_DATABASE=STK RAID REM ++ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID REM) + + pci:v00009005d00000285sv0000108Esd00007AAE* +- ID_MODEL_FROM_DATABASE=STK RAID EX ++ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EX) + + pci:v00009005d00000285sv000015D9sd000002B5* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4i ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4i) + + pci:v00009005d00000285sv000015D9sd000002B6* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i) + + pci:v00009005d00000285sv000015D9sd000002C9* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4iR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4iR) + + pci:v00009005d00000285sv000015D9sd000002CA* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR) + + pci:v00009005d00000285sv000015D9sd000002D2* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i-LP ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i-LP) + + pci:v00009005d00000285sv000015D9sd000002D3* +- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR-LP ++ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR-LP) + + pci:v00009005d00000285sv000017AAsd00000286* +- ID_MODEL_FROM_DATABASE=Legend S220 (Legend Crusader) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S220 (Legend Crusader)) + + pci:v00009005d00000285sv000017AAsd00000287* +- ID_MODEL_FROM_DATABASE=Legend S230 (Legend Vulcan) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S230 (Legend Vulcan)) + + pci:v00009005d00000285sv00009005sd00000285* +- ID_MODEL_FROM_DATABASE=2200S (Vulcan) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan)) + + pci:v00009005d00000285sv00009005sd00000286* +- ID_MODEL_FROM_DATABASE=2120S (Crusader) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (2120S (Crusader)) + + pci:v00009005d00000285sv00009005sd00000287* +- ID_MODEL_FROM_DATABASE=2200S (Vulcan-2m) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan-2m)) + + pci:v00009005d00000285sv00009005sd00000288* +- ID_MODEL_FROM_DATABASE=3230S (Harrier) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3230S (Harrier)) + + pci:v00009005d00000285sv00009005sd00000289* +- ID_MODEL_FROM_DATABASE=3240S (Tornado) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3240S (Tornado)) + + pci:v00009005d00000285sv00009005sd0000028A* +- ID_MODEL_FROM_DATABASE=ASR-2020ZCR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020ZCR) + + pci:v00009005d00000285sv00009005sd0000028B* +- ID_MODEL_FROM_DATABASE=ASR-2025ZCR (Terminator) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025ZCR (Terminator)) + + pci:v00009005d00000285sv00009005sd0000028E* +- ID_MODEL_FROM_DATABASE=ASR-2020SA (Skyhawk) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020SA (Skyhawk)) + + pci:v00009005d00000285sv00009005sd0000028F* +- ID_MODEL_FROM_DATABASE=ASR-2025SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025SA) + + pci:v00009005d00000285sv00009005sd00000290* +- ID_MODEL_FROM_DATABASE=AAR-2410SA PCI SATA 4ch (Jaguar II) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2410SA PCI SATA 4ch (Jaguar II)) + + pci:v00009005d00000285sv00009005sd00000292* +- ID_MODEL_FROM_DATABASE=AAR-2810SA PCI SATA 8ch (Corsair-8) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2810SA PCI SATA 8ch (Corsair-8)) + + pci:v00009005d00000285sv00009005sd00000293* +- ID_MODEL_FROM_DATABASE=AAR-21610SA PCI SATA 16ch (Corsair-16) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-21610SA PCI SATA 16ch (Corsair-16)) + + pci:v00009005d00000285sv00009005sd00000294* +- ID_MODEL_FROM_DATABASE=ESD SO-DIMM PCI-X SATA ZCR (Prowler) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ESD SO-DIMM PCI-X SATA ZCR (Prowler)) + + pci:v00009005d00000285sv00009005sd00000296* +- ID_MODEL_FROM_DATABASE=ASR-2240S ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2240S) + + pci:v00009005d00000285sv00009005sd00000297* +- ID_MODEL_FROM_DATABASE=ASR-4005SAS ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4005SAS) + + pci:v00009005d00000285sv00009005sd00000298* +- ID_MODEL_FROM_DATABASE=ASR-4000 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4000) + + pci:v00009005d00000285sv00009005sd00000299* +- ID_MODEL_FROM_DATABASE=ASR-4800SAS ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4800SAS) + + pci:v00009005d00000285sv00009005sd0000029A* +- ID_MODEL_FROM_DATABASE=4805SAS ++ ID_MODEL_FROM_DATABASE=AAC-RAID (4805SAS) + + pci:v00009005d00000285sv00009005sd000002A4* +- ID_MODEL_FROM_DATABASE=ICP ICP9085LI ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP9085LI) + + pci:v00009005d00000285sv00009005sd000002A5* +- ID_MODEL_FROM_DATABASE=ICP ICP5085BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BR) + + pci:v00009005d00000285sv00009005sd000002B5* +- ID_MODEL_FROM_DATABASE=ASR5800 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5800) + + pci:v00009005d00000285sv00009005sd000002B6* +- ID_MODEL_FROM_DATABASE=ASR5805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5805) + + pci:v00009005d00000285sv00009005sd000002B7* +- ID_MODEL_FROM_DATABASE=ASR5808 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5808) + + pci:v00009005d00000285sv00009005sd000002B8* +- ID_MODEL_FROM_DATABASE=ICP5445SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5445SL) + + pci:v00009005d00000285sv00009005sd000002B9* +- ID_MODEL_FROM_DATABASE=ICP5085SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5085SL) + + pci:v00009005d00000285sv00009005sd000002BA* +- ID_MODEL_FROM_DATABASE=ICP5805SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805SL) + + pci:v00009005d00000285sv00009005sd000002BB* +- ID_MODEL_FROM_DATABASE=3405 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3405) + + pci:v00009005d00000285sv00009005sd000002BC* +- ID_MODEL_FROM_DATABASE=3805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3805) + + pci:v00009005d00000285sv00009005sd000002BD* +- ID_MODEL_FROM_DATABASE=31205 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (31205) + + pci:v00009005d00000285sv00009005sd000002BE* +- ID_MODEL_FROM_DATABASE=31605 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (31605) + + pci:v00009005d00000285sv00009005sd000002BF* +- ID_MODEL_FROM_DATABASE=ICP ICP5045BL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5045BL) + + pci:v00009005d00000285sv00009005sd000002C0* +- ID_MODEL_FROM_DATABASE=ICP ICP5085BL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BL) + + pci:v00009005d00000285sv00009005sd000002C1* +- ID_MODEL_FROM_DATABASE=ICP ICP5125BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125BR) + + pci:v00009005d00000285sv00009005sd000002C2* +- ID_MODEL_FROM_DATABASE=ICP ICP5165BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165BR) + + pci:v00009005d00000285sv00009005sd000002C3* +- ID_MODEL_FROM_DATABASE=51205 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51205) + + pci:v00009005d00000285sv00009005sd000002C4* +- ID_MODEL_FROM_DATABASE=51605 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51605) + + pci:v00009005d00000285sv00009005sd000002C5* +- ID_MODEL_FROM_DATABASE=ICP ICP5125SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125SL) + + pci:v00009005d00000285sv00009005sd000002C6* +- ID_MODEL_FROM_DATABASE=ICP ICP5165SL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165SL) + + pci:v00009005d00000285sv00009005sd000002C7* +- ID_MODEL_FROM_DATABASE=3085 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (3085) + + pci:v00009005d00000285sv00009005sd000002C8* +- ID_MODEL_FROM_DATABASE=ICP5805BL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805BL) + + pci:v00009005d00000285sv00009005sd000002CE* +- ID_MODEL_FROM_DATABASE=51245 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51245) + + pci:v00009005d00000285sv00009005sd000002CF* +- ID_MODEL_FROM_DATABASE=51645 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51645) + + pci:v00009005d00000285sv00009005sd000002D0* +- ID_MODEL_FROM_DATABASE=52445 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (52445) + + pci:v00009005d00000285sv00009005sd000002D1* +- ID_MODEL_FROM_DATABASE=5405 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5405) + + pci:v00009005d00000285sv00009005sd000002D4* +- ID_MODEL_FROM_DATABASE=ASR-2045 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045) + + pci:v00009005d00000285sv00009005sd000002D5* +- ID_MODEL_FROM_DATABASE=ASR-2405 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405) + + pci:v00009005d00000285sv00009005sd000002D6* +- ID_MODEL_FROM_DATABASE=ASR-2445 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445) + + pci:v00009005d00000285sv00009005sd000002D7* +- ID_MODEL_FROM_DATABASE=ASR-2805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805) + + pci:v00009005d00000285sv00009005sd000002D8* +- ID_MODEL_FROM_DATABASE=5405G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5405G) + + pci:v00009005d00000285sv00009005sd000002D9* +- ID_MODEL_FROM_DATABASE=5445G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5445G) + + pci:v00009005d00000285sv00009005sd000002DA* +- ID_MODEL_FROM_DATABASE=5805G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5805G) + + pci:v00009005d00000285sv00009005sd000002DB* +- ID_MODEL_FROM_DATABASE=5085G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (5085G) + + pci:v00009005d00000285sv00009005sd000002DC* +- ID_MODEL_FROM_DATABASE=51245G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51245G) + + pci:v00009005d00000285sv00009005sd000002DD* +- ID_MODEL_FROM_DATABASE=51645G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (51645G) + + pci:v00009005d00000285sv00009005sd000002DE* +- ID_MODEL_FROM_DATABASE=52445G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (52445G) + + pci:v00009005d00000285sv00009005sd000002DF* +- ID_MODEL_FROM_DATABASE=ASR-2045G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045G) + + pci:v00009005d00000285sv00009005sd000002E0* +- ID_MODEL_FROM_DATABASE=ASR-2405G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405G) + + pci:v00009005d00000285sv00009005sd000002E1* +- ID_MODEL_FROM_DATABASE=ASR-2445G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445G) + + pci:v00009005d00000285sv00009005sd000002E2* +- ID_MODEL_FROM_DATABASE=ASR-2805G ++ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805G) + + pci:v00009005d00000286* + ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) + + pci:v00009005d00000286sv00001014sd0000034D* +- ID_MODEL_FROM_DATABASE=8s ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (8s) + + pci:v00009005d00000286sv00001014sd00009540* +- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l4 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l4) + + pci:v00009005d00000286sv00001014sd00009580* +- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l8 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l8) + + pci:v00009005d00000286sv00009005sd0000028C* +- ID_MODEL_FROM_DATABASE=ASR-2230S + ASR-2230SLP PCI-X (Lancer) ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2230S + ASR-2230SLP PCI-X (Lancer)) + + pci:v00009005d00000286sv00009005sd0000028D* +- ID_MODEL_FROM_DATABASE=ASR-2130S ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2130S) + + pci:v00009005d00000286sv00009005sd0000029B* +- ID_MODEL_FROM_DATABASE=ASR-2820SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2820SA) + + pci:v00009005d00000286sv00009005sd0000029C* +- ID_MODEL_FROM_DATABASE=ASR-2620SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2620SA) + + pci:v00009005d00000286sv00009005sd0000029D* +- ID_MODEL_FROM_DATABASE=ASR-2420SA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2420SA) + + pci:v00009005d00000286sv00009005sd0000029E* +- ID_MODEL_FROM_DATABASE=ICP ICP9024R0 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9024R0) + + pci:v00009005d00000286sv00009005sd0000029F* +- ID_MODEL_FROM_DATABASE=ICP ICP9014R0 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9014R0) + + pci:v00009005d00000286sv00009005sd000002A0* +- ID_MODEL_FROM_DATABASE=ICP ICP9047MA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9047MA) + + pci:v00009005d00000286sv00009005sd000002A1* +- ID_MODEL_FROM_DATABASE=ICP ICP9087MA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9087MA) + + pci:v00009005d00000286sv00009005sd000002A2* +- ID_MODEL_FROM_DATABASE=3800 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3800) + + pci:v00009005d00000286sv00009005sd000002A3* +- ID_MODEL_FROM_DATABASE=ICP ICP5445AU ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5445AU) + + pci:v00009005d00000286sv00009005sd000002A4* +- ID_MODEL_FROM_DATABASE=ICP ICP9085LI ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9085LI) + + pci:v00009005d00000286sv00009005sd000002A5* +- ID_MODEL_FROM_DATABASE=ICP ICP5085BR ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085BR) + + pci:v00009005d00000286sv00009005sd000002A6* +- ID_MODEL_FROM_DATABASE=ICP9067MA ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP9067MA) + + pci:v00009005d00000286sv00009005sd000002A7* +- ID_MODEL_FROM_DATABASE=3805 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3805) + + pci:v00009005d00000286sv00009005sd000002A8* +- ID_MODEL_FROM_DATABASE=3400 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3400) + + pci:v00009005d00000286sv00009005sd000002A9* +- ID_MODEL_FROM_DATABASE=ICP ICP5085AU ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085AU) + + pci:v00009005d00000286sv00009005sd000002AA* +- ID_MODEL_FROM_DATABASE=ICP ICP5045AU ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AU) + + pci:v00009005d00000286sv00009005sd000002AC* +- ID_MODEL_FROM_DATABASE=1800 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (1800) + + pci:v00009005d00000286sv00009005sd000002B3* +- ID_MODEL_FROM_DATABASE=2400 ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (2400) + + pci:v00009005d00000286sv00009005sd000002B4* +- ID_MODEL_FROM_DATABASE=ICP ICP5045AL ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AL) + + pci:v00009005d00000286sv00009005sd00000800* +- ID_MODEL_FROM_DATABASE=Callisto ++ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (Callisto) + + pci:v00009005d0000028B* + ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 + + pci:v00009005d0000028Bsv00009005sd00000200* +- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000201* +- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000300* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6405 - 4 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6405 - 4 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000301* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6805 - 8 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6805 - 8 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000302* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000310* +- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000311* +- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS) + + pci:v00009005d0000028Bsv00009005sd00000400* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61205 - 12 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61205 - 12 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000401* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61605 - 16 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61605 - 16 internal 6G SAS ports) + + pci:v00009005d0000028Bsv00009005sd00000403* +- ID_MODEL_FROM_DATABASE=Series 6 - ASR-62405 - 24 internal 6G SAS ports ++ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-62405 - 24 internal 6G SAS ports) + + pci:v00009005d0000028C* + ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 + + pci:v00009005d0000028Csv00009005sd00000500* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000501* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000502* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000503* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000504* +- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000505* +- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Csv00009005sd00000506* +- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0) + + pci:v00009005d0000028D* + ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 + + pci:v00009005d0000028Dsv00009005sd00000550* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000551* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000552* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000553* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d0000028Dsv00009005sd00000554* +- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0 ++ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0) + + pci:v00009005d00000410* + ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) + + pci:v00009005d00000410sv00009005sd00000410* +- ID_MODEL_FROM_DATABASE=ASC-48300(Spirit RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-48300(Spirit RAID)) + + pci:v00009005d00000410sv00009005sd00000411* +- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-58300 (Oakmont RAID)) + + pci:v00009005d00000412* + ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) + + pci:v00009005d00000412sv00009005sd00000412* +- ID_MODEL_FROM_DATABASE=ASC-48300 (Spirit non-RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-48300 (Spirit non-RAID)) + + pci:v00009005d00000412sv00009005sd00000413* +- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont non-RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-58300 (Oakmont non-RAID)) + + pci:v00009005d00000415* + ID_MODEL_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA RAID) +@@ -72657,13 +72657,13 @@ pci:v00009005d00000430* + ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) + + pci:v00009005d00000430sv00009005sd00000430* +- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) (ASC-44300 (Spirit-Lite RAID)) + + pci:v00009005d00000432* + ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) + + pci:v00009005d00000432sv00009005sd00000432* +- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite non-RAID) ++ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) (ASC-44300 (Spirit-Lite non-RAID)) + + pci:v00009005d0000043E* + ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC non-RAID) +@@ -72678,22 +72678,22 @@ pci:v00009005d00000500* + ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller + + pci:v00009005d00000500sv00001014sd000002C1* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) + + pci:v00009005d00000500sv00001014sd000002C2* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/572D) ++ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)) + + pci:v00009005d00000503* + ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller + + pci:v00009005d00000503sv00001014sd000002BF* +- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E) ++ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)) + + pci:v00009005d00000503sv00001014sd000002C3* +- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572F) ++ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572F)) + + pci:v00009005d00000503sv00001014sd000002D5* +- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F) ++ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)) + + pci:v00009005d00000910* + ID_MODEL_FROM_DATABASE=AUA-3100B +@@ -72714,10 +72714,10 @@ pci:v00009005d00008011* + ID_MODEL_FROM_DATABASE=ASC-39320D + + pci:v00009005d00008011sv00000E11sd000000AC* +- ID_MODEL_FROM_DATABASE=ASC-39320D U320 ++ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) + + pci:v00009005d00008011sv00009005sd00000041* +- ID_MODEL_FROM_DATABASE=ASC-39320D U320 ++ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) + + pci:v00009005d00008012* + ID_MODEL_FROM_DATABASE=ASC-29320 U320 +@@ -72738,10 +72738,10 @@ pci:v00009005d00008017* + ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 + + pci:v00009005d00008017sv00009005sd00000044* +- ID_MODEL_FROM_DATABASE=ASC-29320ALP PCIx U320 ++ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320ALP PCIx U320) + + pci:v00009005d00008017sv00009005sd00000045* +- ID_MODEL_FROM_DATABASE=ASC-29320LPE PCIe U320 ++ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320LPE PCIe U320) + + pci:v00009005d0000801C* + ID_MODEL_FROM_DATABASE=ASC-39320D U320 +@@ -72750,7 +72750,7 @@ pci:v00009005d0000801D* + ID_MODEL_FROM_DATABASE=AIC-7902B U320 + + pci:v00009005d0000801Dsv00001014sd000002CC* +- ID_MODEL_FROM_DATABASE=ServeRAID 7e ++ ID_MODEL_FROM_DATABASE=AIC-7902B U320 (ServeRAID 7e) + + pci:v00009005d0000801E* + ID_MODEL_FROM_DATABASE=AIC-7901A U320 +@@ -72759,7 +72759,7 @@ pci:v00009005d0000801F* + ID_MODEL_FROM_DATABASE=AIC-7902 U320 + + pci:v00009005d0000801Fsv00001734sd00001011* +- ID_MODEL_FROM_DATABASE=PRIMERGY RX300 onboard SCSI ++ ID_MODEL_FROM_DATABASE=AIC-7902 U320 (PRIMERGY RX300 onboard SCSI) + + pci:v00009005d00008080* + ID_MODEL_FROM_DATABASE=ASC-29320A U320 w/HostRAID +@@ -72777,7 +72777,7 @@ pci:v00009005d0000808F* + ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID + + pci:v00009005d0000808Fsv00001028sd00000168* +- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard ++ ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID (Precision Workstation 670 Mainboard) + + pci:v00009005d00008090* + ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID +@@ -72810,7 +72810,7 @@ pci:v00009005d0000809D* + ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID + + pci:v00009005d0000809Dsv00001014sd000002CC* +- ID_MODEL_FROM_DATABASE=ServeRAID 7e ++ ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID (ServeRAID 7e) + + pci:v00009005d0000809E* + ID_MODEL_FROM_DATABASE=AIC-7901A U320 w/HostRAID +@@ -72858,7 +72858,7 @@ pci:v00009710d00009815* + ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller + + pci:v00009710d00009815sv00001000sd00000020* +- ID_MODEL_FROM_DATABASE=2P0S (2 port parallel adaptor) ++ ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller (2P0S (2 port parallel adaptor)) + + pci:v00009710d00009820* + ID_MODEL_FROM_DATABASE=PCI 9820 Multi-I/O Controller +@@ -72867,31 +72867,31 @@ pci:v00009710d00009835* + ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller + + pci:v00009710d00009835sv00001000sd00000002* +- ID_MODEL_FROM_DATABASE=2S (16C550 UART) ++ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (2S (16C550 UART)) + + pci:v00009710d00009835sv00001000sd00000012* +- ID_MODEL_FROM_DATABASE=1P2S ++ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (1P2S) + + pci:v00009710d00009845* + ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller + + pci:v00009710d00009845sv00001000sd00000004* +- ID_MODEL_FROM_DATABASE=0P4S (4 port 16550A serial card) ++ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P4S (4 port 16550A serial card)) + + pci:v00009710d00009845sv00001000sd00000006* +- ID_MODEL_FROM_DATABASE=0P6S (6 port 16550a serial card) ++ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P6S (6 port 16550a serial card)) + + pci:v00009710d00009845sv00001000sd00000014* +- ID_MODEL_FROM_DATABASE=1P4S (1 Parallel / 4 16550A Serial Port Adapter) ++ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (1P4S (1 Parallel / 4 16550A Serial Port Adapter)) + + pci:v00009710d00009855* + ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller + + pci:v00009710d00009855sv00001000sd00000014* +- ID_MODEL_FROM_DATABASE=1P4S ++ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (1P4S) + + pci:v00009710d00009855sv00001000sd00000022* +- ID_MODEL_FROM_DATABASE=2P2S (2 Parallel / 2 16550A Serial Port Adapter) ++ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (2P2S (2 Parallel / 2 16550A Serial Port Adapter)) + + pci:v00009710d00009865* + ID_MODEL_FROM_DATABASE=PCI 9865 Multi-I/O Controller +@@ -73350,40 +73350,40 @@ pci:v0000DD01d00000003* + ID_MODEL_FROM_DATABASE=Octopus DVB Adapter + + pci:v0000DD01d00000003sv0000DD01sd00000001* +- ID_MODEL_FROM_DATABASE=Octopus DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000002* +- ID_MODEL_FROM_DATABASE=Octopus LE DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus LE DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000003* +- ID_MODEL_FROM_DATABASE=Octopus OEM ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus OEM) + + pci:v0000DD01d00000003sv0000DD01sd00000004* +- ID_MODEL_FROM_DATABASE=Octopus V3 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus V3 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000010* +- ID_MODEL_FROM_DATABASE=Octopus Mini ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus Mini) + + pci:v0000DD01d00000003sv0000DD01sd00000020* +- ID_MODEL_FROM_DATABASE=Cine S2 V6 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000021* +- ID_MODEL_FROM_DATABASE=Cine S2 V6.5 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6.5 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd00000030* +- ID_MODEL_FROM_DATABASE=Cine CT V6.1 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine CT V6.1 DVB adapter) + + pci:v0000DD01d00000003sv0000DD01sd0000DB03* +- ID_MODEL_FROM_DATABASE=Mystique SaTiX-S2 V3 DVB adapter ++ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Mystique SaTiX-S2 V3 DVB adapter) + + pci:v0000DD01d00000011* + ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter + + pci:v0000DD01d00000011sv0000DD01sd00000040* +- ID_MODEL_FROM_DATABASE=Octopus CI ++ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI) + + pci:v0000DD01d00000011sv0000DD01sd00000041* +- ID_MODEL_FROM_DATABASE=Octopus CI Single ++ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI Single) + + pci:v0000DEAD* + ID_VENDOR_FROM_DATABASE=Indigita Corporation +@@ -73416,22 +73416,22 @@ pci:v0000E159d00000001* + ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface + + pci:v0000E159d00000001sv00000059sd00000001* +- ID_MODEL_FROM_DATABASE=128k ISDN-S/T Adapter ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-S/T Adapter) + + pci:v0000E159d00000001sv00000059sd00000003* +- ID_MODEL_FROM_DATABASE=128k ISDN-U Adapter ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-U Adapter) + + pci:v0000E159d00000001sv000000A7sd00000001* +- ID_MODEL_FROM_DATABASE=TELES.S0/PCI 2.x ISDN Adapter ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (TELES.S0/PCI 2.x ISDN Adapter) + + pci:v0000E159d00000001sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Digium X100P/X101P analogue PSTN FXO interface ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (Digium X100P/X101P analogue PSTN FXO interface) + + pci:v0000E159d00000001sv0000B100sd00000003* +- ID_MODEL_FROM_DATABASE=OpenVox A400P 4-port analog card ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (OpenVox A400P 4-port analog card) + + pci:v0000E159d00000001sv0000B1D9sd00000003* +- ID_MODEL_FROM_DATABASE=AX400P 4-port analog card ++ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (AX400P 4-port analog card) + + pci:v0000E159d00000002* + ID_MODEL_FROM_DATABASE=Tiger100APC ISDN chipset +-- +1.7.9.2 + diff --git a/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..5f097f39 --- /dev/null +++ b/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,38 @@ +From f89b42ec0fd51feab5566d6bdbacee101023c037 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Tue, 25 Mar 2014 20:21:23 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 7d86f10..b928f5a 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -923,3 +923,21 @@ bluetooth:v0130* + + bluetooth:v0131* + ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation ++ ++bluetooth:v0132* ++ ID_VENDOR_FROM_DATABASE=MADS Inc ++ ++bluetooth:v0133* ++ ID_VENDOR_FROM_DATABASE=Blue Maestro Limited ++ ++bluetooth:v0134* ++ ID_VENDOR_FROM_DATABASE=Resolution Products, Inc. ++ ++bluetooth:v0135* ++ ID_VENDOR_FROM_DATABASE=Airewear LLC ++ ++bluetooth:v0136* ++ ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o. ++ ++bluetooth:v0137* ++ ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. +-- +1.7.9.2 + diff --git a/0003-install-fix-invalid-free-in-unit_file_mask.patch b/0003-install-fix-invalid-free-in-unit_file_mask.patch new file mode 100644 index 00000000..0fe0581b --- /dev/null +++ b/0003-install-fix-invalid-free-in-unit_file_mask.patch @@ -0,0 +1,30 @@ +From 223217749e57996336d5730b0a28716cca56d45d Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Fri, 13 Jun 2014 18:48:18 +0200 +Subject: [PATCH] install: fix invalid free() in unit_file_mask() + +int unit_file_mask(...) in ./src/shared/install.c calls +get_config_path(...) which can in 4 error cases return without setting +"ret", and thus "prefix" can be uninitialized when unit_file_mask(...) +finishes (which it does directly after the error is returned from +get_config_path(...)). +--- + src/shared/install.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/install.c src/shared/install.c +index 487d0f6..f562063 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -563,7 +563,7 @@ int unit_file_mask( + unsigned *n_changes) { + + char **i; +- _cleanup_free_ char *prefix; ++ _cleanup_free_ char *prefix = NULL; + int r; + + assert(scope >= 0); +-- +1.7.9.2 + diff --git a/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch b/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch new file mode 100644 index 00000000..c88ed60b --- /dev/null +++ b/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch @@ -0,0 +1,41 @@ +From f2a474aea8f82fa9b695515d4590f4f3398358a7 Mon Sep 17 00:00:00 2001 +From: Juho Son +Date: Thu, 11 Sep 2014 16:06:38 +0900 +Subject: [PATCH] journald: add CAP_MAC_OVERRIDE in journald for SMACK issue + +systemd-journald check the cgroup id to support rate limit option for +every messages. so journald should be available to access cgroup node in +each process send messages to journald. +In system using SMACK, cgroup node in proc is assigned execute label +as each process's execute label. +so if journald don't want to denied for every process, journald +should have all of access rule for all process's label. +It's too heavy. so we could give special smack label for journald te get +all accesses's permission. +'^' label. +When assign '^' execute smack label to systemd-journald, +systemd-journald need to add CAP_MAC_OVERRIDE capability to get that smack privilege. + +so I want to notice this information and set default capability to +journald whether system use SMACK or not. +because that capability affect to only smack enabled kernel +--- + units/systemd-journald.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git units/systemd-journald.service.in units/systemd-journald.service.in +index 7013979..4de38fa 100644 +--- units/systemd-journald.service.in ++++ units/systemd-journald.service.in +@@ -20,7 +20,7 @@ Restart=always + RestartSec=0 + NotifyAccess=all + StandardOutput=null +-CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID ++CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE + WatchdogSec=1min + + # Increase the default a bit in order to allow many simultaneous +-- +1.7.9.2 + diff --git a/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch b/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch new file mode 100644 index 00000000..c9ab5e0e --- /dev/null +++ b/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch @@ -0,0 +1,29 @@ +From e512e8a255ef29d5a8eb605f8849202ea3d3e4cb Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Wed, 27 Aug 2014 08:41:10 +0200 +Subject: [PATCH] keymap: Adjust for more Samsung 900X4 series + +Reportedly also applies to NP900X4B, so relax the match to apply to all models +of this series. + +https://launchpad.net/bugs/902332 +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index ef0ebc5..0ffcb83 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -939,7 +939,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* + # Series 7 / 9 + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* +-keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* ++keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a0=!mute # Fn+F6 mute +-- +1.7.9.2 + diff --git a/0003-keymap-Annotate-all-micmute-workarounds.patch b/0003-keymap-Annotate-all-micmute-workarounds.patch new file mode 100644 index 00000000..00f1e431 --- /dev/null +++ b/0003-keymap-Annotate-all-micmute-workarounds.patch @@ -0,0 +1,54 @@ +From d946bb53f94713241004810de92cc37f1e19c2d2 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Wed, 30 Jul 2014 10:54:23 +0200 +Subject: [PATCH] keymap: Annotate all micmute workarounds + +Add a comment to all assignments to f20 that this actually should be "micmute" +in a future when we aren't limited by X.org's key code limiations any more. +--- + hwdb/60-keyboard.hwdb | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 70e372b..cbbbf2c 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -231,7 +231,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + + # Dell Latitude microphone mute + keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* +- KEYBOARD_KEY_150=f20 # Mic mute toggle ++ KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute + + ########################################################### + # Everex +@@ -505,7 +505,7 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_15=volumedown + KEYBOARD_KEY_16=mute + KEYBOARD_KEY_17=prog1 +- KEYBOARD_KEY_1a=f20 ++ KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute + + # ThinkPad Keyboard with TrackPoint + keyboard:usb:v17EFp6009* +@@ -573,7 +573,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* + + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* + KEYBOARD_KEY_f1=f21 +- KEYBOARD_KEY_ce=f20 ++ KEYBOARD_KEY_ce=f20 # micmute + + keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* + KEYBOARD_KEY_a0=!mute +@@ -809,7 +809,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:* + KEYBOARD_KEY_f3=f17 + KEYBOARD_KEY_f2=f18 + KEYBOARD_KEY_f1=f19 +- KEYBOARD_KEY_f0=f20 ++ KEYBOARD_KEY_f0=f20 # micmute + KEYBOARD_KEY_ef=f21 + KEYBOARD_KEY_ee=chat + KEYBOARD_KEY_e4=chat +-- +1.7.9.2 + diff --git a/0003-keymap-Fix-HP-Pavillon-DV7.patch b/0003-keymap-Fix-HP-Pavillon-DV7.patch new file mode 100644 index 00000000..33908a82 --- /dev/null +++ b/0003-keymap-Fix-HP-Pavillon-DV7.patch @@ -0,0 +1,28 @@ +From efb4bf4e419e14a13eead6289ea40165579a816f Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Tue, 5 Aug 2014 12:29:27 +0200 +Subject: [PATCH] keymap: Fix HP Pavillon DV7 + +Properly disable scan code 94 instead of producing KEY_0. + +https://launchpad.net/bugs/1322770 +--- + hwdb/60-keyboard.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index cbbbf2c..5c3d4ca 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -368,7 +368,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr + KEYBOARD_KEY_b7=print + KEYBOARD_KEY_c2=media # FIXME: quick play + KEYBOARD_KEY_c6=break +- KEYBOARD_KEY_94=0 ++ KEYBOARD_KEY_94=reserved + + # Elitebook + keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr* +-- +1.7.9.2 + diff --git a/0003-localed-consider-an-unset-model-as-a-wildcard.patch b/0003-localed-consider-an-unset-model-as-a-wildcard.patch new file mode 100644 index 00000000..3fbdb74e --- /dev/null +++ b/0003-localed-consider-an-unset-model-as-a-wildcard.patch @@ -0,0 +1,39 @@ +From 387066c2e5bda159201896b194711965b52f34a9 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Fri, 30 May 2014 18:20:16 +0200 +Subject: [PATCH] localed: consider an unset model as a wildcard + +--- + src/locale/localed.c | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git src/locale/localed.c src/locale/localed.c +index e3061c8..358f6c2 100644 +--- src/locale/localed.c ++++ src/locale/localed.c +@@ -712,15 +712,16 @@ static int find_legacy_keymap(Context *c, char **new_keymap) { + } + } + +- if (matching > 0 && +- streq_ptr(c->x11_model, a[2])) { +- matching++; +- +- if (streq_ptr(c->x11_variant, a[3])) { ++ if (matching > 0) { ++ if (isempty(c->x11_model) || streq_ptr(c->x11_model, a[2])) { + matching++; + +- if (streq_ptr(c->x11_options, a[4])) ++ if (streq_ptr(c->x11_variant, a[3])) { + matching++; ++ ++ if (streq_ptr(c->x11_options, a[4])) ++ matching++; ++ } + } + } + +-- +1.7.9.2 + diff --git a/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch b/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch new file mode 100644 index 00000000..e4752edc --- /dev/null +++ b/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch @@ -0,0 +1,35 @@ +From 9c413373d2112055a0142ef522bf95af9b491b4a Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" +Date: Fri, 21 Feb 2014 18:23:17 -0500 +Subject: [PATCH] login: Allow calling org.freedesktop.login1.Seat.SwitchTo + +--- + src/login/org.freedesktop.login1.conf | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git src/login/org.freedesktop.login1.conf src/login/org.freedesktop.login1.conf +index d677f61..1318328 100644 +--- src/login/org.freedesktop.login1.conf ++++ src/login/org.freedesktop.login1.conf +@@ -141,6 +141,18 @@ + send_member="ActivateSession"/> + + ++ ++ ++ ++ ++ ++ + +-- +1.7.9.2 + diff --git a/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch b/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch new file mode 100644 index 00000000..596702d6 --- /dev/null +++ b/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch @@ -0,0 +1,174 @@ +From f9cd6be10ece07e10488c05e270a0b5860779864 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Mar 2014 20:49:33 +0100 +Subject: [PATCH] logind: ignore lid switch events for 30s after each suspend + and 3min after startup + +This is needed to give USB docking stations and suchlike time to settle, +so that a display connected to an USB docking station can actually act +as a lid swith inhibitor correctly. + +With this change we should have somewhat reliable docking station +support in place. +--- + src/login/logind-action.c | 15 ++++++++++++++- + src/login/logind-dbus.c | 3 +++ + src/login/logind.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + src/login/logind.h | 7 +++++++ + 4 files changed, 69 insertions(+), 1 deletion(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index c9d8bc5..ae7b350 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -70,20 +70,33 @@ int manager_handle_action( + return 0; + } + +- /* If we are docked don't react to lid closing */ + if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { + int n; + ++ /* If we are docked don't react to lid closing */ + if (manager_is_docked(m)) { + log_debug("Ignoring lid switch request, system is docked."); + return 0; + } + ++ /* If we have more than one or no displays connected, ++ * don't react to lid closing. The no display case we ++ * treat like this under the assumption that there is ++ * no modern drm driver available. */ + n = manager_count_displays(m); + if (n != 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } ++ ++ /* If the last system suspend or startup is too close, ++ * let's not suspend for now, to give USB docking ++ * stations some time to settle so that we can ++ * properly watch its displays. */ ++ if (m->lid_switch_ignore_event_source) { ++ log_debug("Ignoring lid switch request, system startup or resume too close."); ++ return 0; ++ } + } + + /* If the key handling is inhibited, don't do anything */ +diff --git src/login/logind-dbus.c src/login/logind-dbus.c +index fc89531..c9c58f3 100644 +--- src/login/logind-dbus.c ++++ src/login/logind-dbus.c +@@ -1337,6 +1337,9 @@ static int execute_shutdown_or_sleep( + m->action_job = c; + m->action_what = w; + ++ /* Make sure the lid switch is ignored for a while */ ++ manager_set_lid_switch_ignore(m, now(CLOCK_MONOTONIC) + IGNORE_LID_SWITCH_SUSPEND_USEC); ++ + return 0; + } + +diff --git src/login/logind.c src/login/logind.c +index 10f61ab..fd113b3 100644 +--- src/login/logind.c ++++ src/login/logind.c +@@ -144,6 +144,7 @@ void manager_free(Manager *m) { + sd_event_source_unref(m->udev_device_event_source); + sd_event_source_unref(m->udev_vcsa_event_source); + sd_event_source_unref(m->udev_button_event_source); ++ sd_event_source_unref(m->lid_switch_ignore_event_source); + + if (m->console_active_fd >= 0) + close_nointr_nofail(m->console_active_fd); +@@ -959,6 +960,46 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us + return 0; + } + ++static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(e); ++ assert(m); ++ ++ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); ++ return 0; ++} ++ ++int manager_set_lid_switch_ignore(Manager *m, usec_t until) { ++ int r; ++ ++ assert(m); ++ ++ if (until <= now(CLOCK_MONOTONIC)) ++ return 0; ++ ++ /* We want to ignore the lid switch for a while after each ++ * suspend, and after boot-up. Hence let's install a timer for ++ * this. As long as the event source exists we ignore the lid ++ * switch. */ ++ ++ if (m->lid_switch_ignore_event_source) { ++ usec_t u; ++ ++ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); ++ if (r < 0) ++ return r; ++ ++ if (until <= u) ++ return 0; ++ ++ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); ++ } else ++ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); ++ ++ return r; ++} ++ + int manager_startup(Manager *m) { + int r; + Seat *seat; +@@ -994,6 +1035,10 @@ int manager_startup(Manager *m) { + return r; + } + ++ r = manager_set_lid_switch_ignore(m, 0 + IGNORE_LID_SWITCH_STARTUP_USEC); ++ if (r < 0) ++ log_warning("Failed to set up lid switch ignore event source: %s", strerror(-r)); ++ + /* Deserialize state */ + r = manager_enumerate_devices(m); + if (r < 0) +diff --git src/login/logind.h src/login/logind.h +index 74d6641..4bb8e7b 100644 +--- src/login/logind.h ++++ src/login/logind.h +@@ -42,6 +42,9 @@ typedef struct Manager Manager; + #include "logind-button.h" + #include "logind-action.h" + ++#define IGNORE_LID_SWITCH_STARTUP_USEC (3 * USEC_PER_MINUTE) ++#define IGNORE_LID_SWITCH_SUSPEND_USEC (30 * USEC_PER_SEC) ++ + struct Manager { + sd_event *event; + sd_bus *bus; +@@ -118,6 +121,8 @@ struct Manager { + bool lid_switch_ignore_inhibited; + + Hashmap *polkit_registry; ++ ++ sd_event_source *lid_switch_ignore_event_source; + }; + + Manager *manager_new(void); +@@ -178,3 +183,5 @@ const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned lengt + + int manager_watch_busname(Manager *manager, const char *name); + void manager_drop_busname(Manager *manager, const char *name); ++ ++int manager_set_lid_switch_ignore(Manager *m, usec_t until); +-- +1.7.9.2 + diff --git a/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch b/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch new file mode 100644 index 00000000..070a9100 --- /dev/null +++ b/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch @@ -0,0 +1,40 @@ +From 05a2f6fefedd7254fd799502191d025d2908cf74 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Sat, 12 Apr 2014 08:37:38 +0300 +Subject: [PATCH] man: mention XDG_CONFIG_HOME in systemd.unit + +--- + man/systemd.unit.xml | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index 07a73fd..bcd4ba8 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -70,7 +70,8 @@ + ... + + +- $HOME/.config/systemd/user/* ++ $XDG_CONFIG_HOME/systemd/user/* ++$HOME/.config/systemd/user/* + /etc/systemd/user/* + /run/systemd/user/* + /usr/lib/systemd/user/* +@@ -320,8 +321,12 @@ + + + ++ $XDG_CONFIG_HOME/systemd/user ++ User configuration (only used when $XDG_CONFIG_HOME is set) ++ ++ + $HOME/.config/systemd/user +- User configuration ++ User configuration (only used when $XDG_CONFIG_HOME is not set) + + + /etc/systemd/user +-- +1.7.9.2 + diff --git a/0003-man-we-don-t-have-Wanted-dependency.patch b/0003-man-we-don-t-have-Wanted-dependency.patch new file mode 100644 index 00000000..6ab1a897 --- /dev/null +++ b/0003-man-we-don-t-have-Wanted-dependency.patch @@ -0,0 +1,29 @@ +From 3e883473a0f36c220fc45ecf61d6878c9ac308b4 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 15 Oct 2014 09:28:31 +0200 +Subject: [PATCH] man: we don't have 'Wanted' dependency + +--- + man/systemd.unit.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd.unit.xml man/systemd.unit.xml +index e9395ff..88c9d7f 100644 +--- man/systemd.unit.xml ++++ man/systemd.unit.xml +@@ -181,10 +181,10 @@ + foo.service.wants/ may exist. All + unit files symlinked from such a directory are + implicitly added as dependencies of type +- Wanted= to the unit. This is useful ++ Wants= to the unit. This is useful + to hook units into the start-up of other units, + without having to modify their unit files. For details +- about the semantics of Wanted=, see ++ about the semantics of Wants=, see + below. The preferred way to create symlinks in the + .wants/ directory of a unit file + is with the enable command of the +-- +1.7.9.2 + diff --git a/0003-mount-order-options-before-other-arguments-to-mount.patch b/0003-mount-order-options-before-other-arguments-to-mount.patch new file mode 100644 index 00000000..d777869d --- /dev/null +++ b/0003-mount-order-options-before-other-arguments-to-mount.patch @@ -0,0 +1,39 @@ +Based on 141a1ceaa62578f1ed14f04cae2113dd0f49fd7f Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:59 +0200 +Subject: [PATCH] mount: order options before other arguments to mount + +--- + src/core/mount.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +--- src/core/mount.c ++++ src/core/mount.c 2014-09-25 13:43:44.926563278 +0000 +@@ -947,10 +947,11 @@ static void mount_enter_mounting(Mount * + r = exec_command_set( + m->control_command, + "/bin/mount", ++ "-n", ++ "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", ++ "-o", m->parameters_fragment.options ? m->parameters_fragment.options : "defaults", + m->parameters_fragment.what, + m->where, +- "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", +- m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options, + NULL); + else + r = -ENOENT; +@@ -994,10 +995,11 @@ static void mount_enter_remounting(Mount + r = exec_command_set( + m->control_command, + "/bin/mount", +- m->parameters_fragment.what, +- m->where, ++ "-n", + "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", + "-o", o, ++ m->parameters_fragment.what, ++ m->where, + NULL); + } else + r = -ENOENT; diff --git a/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch b/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch new file mode 100644 index 00000000..a8e538e2 --- /dev/null +++ b/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch @@ -0,0 +1,34 @@ +Based on 664064d60c36e1f62c7e9177e4c7498035467e07 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 16:27:57 +0200 +Subject: [PATCH] namespace: make sure /tmp, /var/tmp and /dev are writable in + namespaces we set up + +--- + src/core/namespace.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +--- src/core/namespace.c ++++ src/core/namespace.c 2014-07-04 09:55:21.582234949 +0000 +@@ -263,14 +263,17 @@ static int make_read_only(BindMount *m) + + assert(m); + +- if (m->mode != INACCESSIBLE && m->mode != READONLY) +- return 0; ++ if (IN_SET(m->mode, INACCESSIBLE, READONLY)) ++ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); ++ else if (IN_SET(m->mode, READWRITE, PRIVATE_TMP, PRIVATE_VAR_TMP, PRIVATE_DEV)) ++ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_REC, NULL); ++ else ++ r = 0; + +- r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); + if (r < 0 && !(m->ignore && errno == ENOENT)) + return -errno; + +- return 0; ++ return r; + } + + int setup_namespace( diff --git a/0003-sd-bus-check-return-value-of-vasprintf.patch b/0003-sd-bus-check-return-value-of-vasprintf.patch new file mode 100644 index 00000000..c908f074 --- /dev/null +++ b/0003-sd-bus-check-return-value-of-vasprintf.patch @@ -0,0 +1,35 @@ +From 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Tue, 7 Oct 2014 12:10:06 +0200 +Subject: [PATCH] sd-bus: check return value of vasprintf + +Check for OOM situations when vasprintf() returns < 0 in bus_error_setfv(). + +Spotted by coverity. +--- + src/libsystemd/sd-bus/bus-error.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c +index abdfd73..5ca974a 100644 +--- src/libsystemd/sd-bus/bus-error.c ++++ src/libsystemd/sd-bus/bus-error.c +@@ -194,8 +194,13 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li + return -ENOMEM; + } + +- if (format) +- vasprintf((char**) &e->message, format, ap); ++ if (format) { ++ int r; ++ ++ r = vasprintf((char**) &e->message, format, ap); ++ if (r < 0) ++ return -ENOMEM; ++ } + + e->_need_free = 1; + +-- +1.7.9.2 + diff --git a/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch b/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch new file mode 100644 index 00000000..72455f2c --- /dev/null +++ b/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch @@ -0,0 +1,498 @@ +From a3d59cd1b0a2738d06893948492113f2c35be0af Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 19 Mar 2014 21:41:21 +0100 +Subject: [PATCH] sd-bus: don't use assert_return() to check for disconnected + bus connections + +A terminated connection is a runtime error and not a developer mistake, +hence don't use assert_return() to check for it. +--- + src/libsystemd/sd-bus/bus-control.c | 20 +++++++++++++----- + src/libsystemd/sd-bus/bus-convenience.c | 58 +++++++++++++++++++++++++++++++++++++++++------------- + src/libsystemd/sd-bus/bus-objects.c | 23 +++++++++++++++------ + src/libsystemd/sd-bus/sd-bus.c | 49 +++++++++++++++++++++++++++++++++------------ + 4 files changed, 113 insertions(+), 37 deletions(-) + +--- src/libsystemd/sd-bus/bus-control.c ++++ src/libsystemd/sd-bus/bus-control.c 2014-03-28 00:00:00.000000000 +0000 +@@ -128,12 +128,14 @@ _public_ int sd_bus_request_name(sd_bus + assert_return(bus, -EINVAL); + assert_return(name, -EINVAL); + assert_return(bus->bus_client, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(!(flags & ~(SD_BUS_NAME_ALLOW_REPLACEMENT|SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_QUEUE)), -EINVAL); + assert_return(service_name_is_valid(name), -EINVAL); + assert_return(name[0] != ':', -EINVAL); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_request_name_kernel(bus, name, flags); + else +@@ -201,11 +203,13 @@ _public_ int sd_bus_release_name(sd_bus + assert_return(bus, -EINVAL); + assert_return(name, -EINVAL); + assert_return(bus->bus_client, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(service_name_is_valid(name), -EINVAL); + assert_return(name[0] != ':', -EINVAL); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_release_name_kernel(bus, name); + else +@@ -344,9 +348,11 @@ static int bus_list_names_dbus1(sd_bus * + _public_ int sd_bus_list_names(sd_bus *bus, char ***acquired, char ***activatable) { + assert_return(bus, -EINVAL); + assert_return(acquired || activatable, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_list_names_kernel(bus, acquired, activatable); + else +@@ -737,11 +743,13 @@ _public_ int sd_bus_get_owner( + assert_return(name, -EINVAL); + assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); + assert_return(mask == 0 || creds, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(service_name_is_valid(name), -EINVAL); + assert_return(bus->bus_client, -ENODATA); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (bus->is_kernel) + return bus_get_owner_kdbus(bus, name, mask, creds); + else +@@ -1198,10 +1206,12 @@ _public_ int sd_bus_get_owner_machine_id + assert_return(bus, -EINVAL); + assert_return(name, -EINVAL); + assert_return(machine, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + assert_return(service_name_is_valid(name), -EINVAL); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (streq_ptr(name, bus->unique_name)) + return sd_id128_get_machine(machine); + +--- src/libsystemd/sd-bus/bus-convenience.c ++++ src/libsystemd/sd-bus/bus-convenience.c 2014-03-28 00:00:00.000000000 +0000 +@@ -36,9 +36,11 @@ _public_ int sd_bus_emit_signal( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_message_new_signal(bus, &m, path, interface, member); + if (r < 0) + return r; +@@ -70,9 +72,11 @@ _public_ int sd_bus_call_method( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_message_new_method_call(bus, &m, destination, path, interface, member); + if (r < 0) + return r; +@@ -100,9 +104,12 @@ _public_ int sd_bus_reply_method_return( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -134,9 +141,12 @@ _public_ int sd_bus_reply_method_error( + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); + assert_return(sd_bus_error_is_set(e), -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -159,9 +169,12 @@ _public_ int sd_bus_reply_method_errorf( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -182,9 +195,12 @@ _public_ int sd_bus_reply_method_errno( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -208,9 +224,12 @@ _public_ int sd_bus_reply_method_errnof( + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); + assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) + return 0; + +@@ -239,9 +258,11 @@ _public_ int sd_bus_get_property( + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(reply, -EINVAL); + assert_return(signature_is_single(type, false), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &rep, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -273,9 +294,11 @@ _public_ int sd_bus_get_property_trivial + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(bus_type_is_trivial(type), -EINVAL); + assert_return(ptr, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -309,9 +332,11 @@ _public_ int sd_bus_get_property_string( + assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(ret, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -348,9 +373,11 @@ _public_ int sd_bus_get_property_strv( + assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(ret, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); + if (r < 0) + return r; +@@ -383,9 +410,11 @@ _public_ int sd_bus_set_property( + assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); + assert_return(member_name_is_valid(member), -EINVAL); + assert_return(signature_is_single(type, false), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = sd_bus_message_new_method_call(bus, &m, destination, path, "org.freedesktop.DBus.Properties", "Set"); + if (r < 0) + return r; +@@ -416,9 +445,12 @@ _public_ int sd_bus_query_sender_creds(s + + assert_return(call, -EINVAL); + assert_return(call->sealed, -EPERM); +- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); ++ assert_return(call->bus, -EINVAL); + assert_return(!bus_pid_changed(call->bus), -ECHILD); + ++ if (!BUS_IS_OPEN(call->bus->state)) ++ return -ENOTCONN; ++ + c = sd_bus_message_get_creds(call); + + /* All data we need? */ +--- src/libsystemd/sd-bus/bus-objects.c ++++ src/libsystemd/sd-bus/bus-objects.c 2014-03-28 00:00:00.000000000 +0000 +@@ -2196,9 +2196,10 @@ _public_ int sd_bus_emit_properties_chan + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); + assert_return(interface_name_is_valid(interface), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + /* A non-NULL but empty names list means nothing needs to be + generated. A NULL list OTOH indicates that all properties +@@ -2241,9 +2242,11 @@ _public_ int sd_bus_emit_properties_chan + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); + assert_return(interface_name_is_valid(interface), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (!name) + return 0; + +@@ -2361,9 +2364,11 @@ _public_ int sd_bus_emit_interfaces_adde + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (strv_isempty(interfaces)) + return 0; + +@@ -2421,9 +2426,11 @@ _public_ int sd_bus_emit_interfaces_adde + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + interfaces = strv_from_stdarg_alloca(interface); + + return sd_bus_emit_interfaces_added_strv(bus, path, interfaces); +@@ -2435,9 +2442,11 @@ _public_ int sd_bus_emit_interfaces_remo + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (strv_isempty(interfaces)) + return 0; + +@@ -2461,9 +2470,11 @@ _public_ int sd_bus_emit_interfaces_remo + + assert_return(bus, -EINVAL); + assert_return(object_path_is_valid(path), -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + interfaces = strv_from_stdarg_alloca(interface); + + return sd_bus_emit_interfaces_removed_strv(bus, path, interfaces); +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c 2014-03-28 12:19:27.146736146 +0000 +@@ -1592,10 +1592,12 @@ static int bus_send_internal(sd_bus *bus + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (m->n_fds > 0) { + r = sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD); + if (r < 0) +@@ -1671,10 +1673,12 @@ _public_ int sd_bus_send_to(sd_bus *bus, + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + if (!streq_ptr(m->destination, destination)) { + + if (!destination) +@@ -1726,13 +1730,15 @@ _public_ int sd_bus_call_async( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); + assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); + assert_return(callback, -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func); + if (r < 0) + return r; +@@ -1839,13 +1845,15 @@ _public_ int sd_bus_call( + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(m, -EINVAL); + assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); + assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); + assert_return(!bus_error_is_dirty(error), -EINVAL); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; ++ + r = bus_ensure_running(bus); + if (r < 0) + return r; +@@ -1971,9 +1979,11 @@ _public_ int sd_bus_get_events(sd_bus *b + int flags = 0; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) ++ return -ENOTCONN; ++ + if (bus->state == BUS_OPENING) + flags |= POLLOUT; + else if (bus->state == BUS_AUTHENTICATING) { +@@ -1998,9 +2008,11 @@ _public_ int sd_bus_get_timeout(sd_bus * + + assert_return(bus, -EINVAL); + assert_return(timeout_usec, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); + ++ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) ++ return -ENOTCONN; ++ + if (bus->state == BUS_CLOSING) { + *timeout_usec = 0; + return 1; +@@ -2510,7 +2522,8 @@ static int bus_poll(sd_bus *bus, bool ne + if (bus->state == BUS_CLOSING) + return 1; + +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + e = sd_bus_get_events(bus); + if (e < 0) +@@ -2565,7 +2578,8 @@ _public_ int sd_bus_wait(sd_bus *bus, ui + if (bus->state == BUS_CLOSING) + return 0; + +- assert_return(BUS_IS_OPEN(bus->state) , -ENOTCONN); ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + if (bus->rqueue_size > 0) + return 0; +@@ -2582,7 +2596,8 @@ _public_ int sd_bus_flush(sd_bus *bus) { + if (bus->state == BUS_CLOSING) + return 0; + +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + r = bus_ensure_running(bus); + if (r < 0) +@@ -3058,9 +3073,13 @@ _public_ int sd_bus_get_peer_creds(sd_bu + assert_return(bus, -EINVAL); + assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); + assert_return(ret, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); +- assert_return(!bus->is_kernel, -ENOTSUP); ++ ++ if (!bus->is_kernel) ++ return -ENOTSUP; ++ ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + if (!bus->ucred_valid && !isempty(bus->label)) + return -ENODATA; +@@ -3099,9 +3118,13 @@ _public_ int sd_bus_try_close(sd_bus *bu + int r; + + assert_return(bus, -EINVAL); +- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); + assert_return(!bus_pid_changed(bus), -ECHILD); +- assert_return(bus->is_kernel, -ENOTSUP); ++ ++ if (!bus->is_kernel) ++ return -ENOTSUP; ++ ++ if (!BUS_IS_OPEN(bus->state)) ++ return -ENOTCONN; + + if (bus->rqueue_size > 0) + return -EBUSY; diff --git a/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch b/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch new file mode 100644 index 00000000..13b0da4b --- /dev/null +++ b/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch @@ -0,0 +1,29 @@ +From 9b772efb41c2d9f743ba5e96804bdf89b12630d8 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 19 Nov 2014 20:52:47 +0100 +Subject: [PATCH] sd-bus: refuse properties that claim to be both writable and + constant at the same time + +--- + src/libsystemd/sd-bus/bus-objects.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/libsystemd/sd-bus/bus-objects.c src/libsystemd/sd-bus/bus-objects.c +index 0ab1119..7981d65 100644 +--- src/libsystemd/sd-bus/bus-objects.c ++++ src/libsystemd/sd-bus/bus-objects.c +@@ -1682,6 +1682,11 @@ static int add_object_vtable_internal( + goto fail; + } + ++ if (v->flags & SD_BUS_VTABLE_PROPERTY_CONST) { ++ r = -EINVAL; ++ goto fail; ++ } ++ + /* Fall through */ + + case _SD_BUS_VTABLE_PROPERTY: { +-- +1.7.9.2 + diff --git a/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch b/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch new file mode 100644 index 00000000..f401411e --- /dev/null +++ b/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch @@ -0,0 +1,46 @@ +From b63c8d4f0364457b0ead8793504012bb7113974f Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 10 Jul 2014 00:47:23 +0200 +Subject: [PATCH] sd-event: always call epoll_ctl() on mask-updates if + edge-triggered + +A call to sd_event_source_set_io_events() skipps calling into the kernel +if the new event-mask matches the old one. This is safe for +level-triggered sources as the kernel moves them onto the ready-list +automatically if events change. However, edge-triggered sources might not +be on the ready-list even though events are present. + +A call to sd_event_source_set_io_events() with EPOLLET set might thus be +used to just move the io-source onto the ready-list so the next poll +will return it again. This is very useful to avoid starvation in +priority-based event queues. + +Imagine a read() loop on an edge-triggered fd. If we cannot read data fast +enough to drain the receive queue, we might decide to skip reading for now +and schedule it for later. On edge-triggered io-sources we have to make +sure it's put on the ready-list so the next dispatch-round will return it +again if it's still the highest priority task. We could make sd-event +handle edge-triggered sources directly and allow marking them ready again. +However, it's much simpler to let the kernel do that for now via +EPOLL_CTL_MOD. +--- + src/libsystemd/sd-event/sd-event.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index 53f1904..a21f7db 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -1282,7 +1282,8 @@ _public_ int sd_event_source_set_io_events(sd_event_source *s, uint32_t events) + assert_return(s->event->state != SD_EVENT_FINISHED, -ESTALE); + assert_return(!event_pid_changed(s->event), -ECHILD); + +- if (s->io.events == events) ++ /* edge-triggered updates are never skipped, so we can reset edges */ ++ if (s->io.events == events && !(events & EPOLLET)) + return 0; + + if (s->enabled != SD_EVENT_OFF) { +-- +1.7.9.2 + diff --git a/0003-sd-journal-properly-convert-object-size-on-big-endia.patch b/0003-sd-journal-properly-convert-object-size-on-big-endia.patch new file mode 100644 index 00000000..40e8d57c --- /dev/null +++ b/0003-sd-journal-properly-convert-object-size-on-big-endia.patch @@ -0,0 +1,39 @@ +From 57cd09acf2c63a414aa2131c00a2b3f600eb0133 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 23 Aug 2014 22:35:03 -0400 +Subject: [PATCH] sd-journal: properly convert object->size on big endian + +mmap code crashes when attempting to map an object of zero size. + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758392 +https://bugs.freedesktop.org/show_bug.cgi?id=82894 +--- + src/journal/journal-file.h | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git src/journal/journal-file.h src/journal/journal-file.h +index 3d41682..da2ef3b 100644 +--- src/journal/journal-file.h ++++ src/journal/journal-file.h +@@ -214,14 +214,15 @@ static unsigned type_to_context(int type) { + + static inline int journal_file_object_keep(JournalFile *f, Object *o, uint64_t offset) { + unsigned context = type_to_context(o->object.type); ++ uint64_t s = le64toh(o->object.size); + + return mmap_cache_get(f->mmap, f->fd, f->prot, context, true, +- offset, o->object.size, &f->last_stat, NULL); ++ offset, s, &f->last_stat, NULL); + } + + static inline int journal_file_object_release(JournalFile *f, Object *o, uint64_t offset) { + unsigned context = type_to_context(o->object.type); ++ uint64_t s = le64toh(o->object.size); + +- return mmap_cache_release(f->mmap, f->fd, f->prot, context, +- offset, o->object.size); ++ return mmap_cache_release(f->mmap, f->fd, f->prot, context, offset, s); + } +-- +1.7.9.2 + diff --git a/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch b/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch new file mode 100644 index 00000000..7aa3506a --- /dev/null +++ b/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch @@ -0,0 +1,39 @@ +From 0ffce503cd6e5a5ff5ba5cd1cc23684cfb8bb9e3 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Thu, 30 Oct 2014 20:12:05 -0400 +Subject: [PATCH] shared/install: avoid prematurely rejecting "missing" units + +f7101b7368df copied some logic to prevent enabling masked units, but +also added a check which causes attempts to enable templated units to +fail. Since we know the logic beyond this check will properly handle +units which truly do not exist, we can rely on the unit file state +comparison to suffice for expressing the intent of f7101b7368df. + +ref: https://bugs.archlinux.org/task/42616 +--- + src/shared/install.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git src/shared/install.c src/shared/install.c +index 035b44c..cab93e8 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -1620,12 +1620,10 @@ int unit_file_enable( + STRV_FOREACH(i, files) { + UnitFileState state; + ++ /* We only want to know if this unit is masked, so we ignore ++ * errors from unit_file_get_state, deferring other checks. ++ * This allows templated units to be enabled on the fly. */ + state = unit_file_get_state(scope, root_dir, *i); +- if (state < 0) { +- log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); +- return state; +- } +- + if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { + log_error("Failed to enable unit: Unit %s is masked", *i); + return -ENOTSUP; +-- +1.7.9.2 + diff --git a/0003-systemd-use-pager-for-test-and-help.patch b/0003-systemd-use-pager-for-test-and-help.patch new file mode 100644 index 00000000..a22e0b9d --- /dev/null +++ b/0003-systemd-use-pager-for-test-and-help.patch @@ -0,0 +1,111 @@ +From b87c2aa6bf1247c298c9bd9f56b9b56a87836b2d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 7 Jan 2014 00:00:05 -0500 +Subject: [PATCH] systemd: use pager for --test and --help + +--- + src/core/main.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git src/core/main.c src/core/main.c +index f9ee297..ae38b43 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -50,6 +50,7 @@ + #include "conf-parser.h" + #include "missing.h" + #include "label.h" ++#include "pager.h" + #include "build.h" + #include "strv.h" + #include "def.h" +@@ -94,6 +95,7 @@ static int arg_crash_chvt = -1; + static bool arg_confirm_spawn = false; + static ShowStatus arg_show_status = _SHOW_STATUS_UNSET; + static bool arg_switched_root = false; ++static int arg_no_pager = -1; + static char ***arg_join_controllers = NULL; + static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; + static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; +@@ -117,6 +119,14 @@ static bool arg_default_memory_accounting = false; + + static void nop_handler(int sig) {} + ++static void pager_open_if_enabled(void) { ++ ++ if (arg_no_pager <= 0) ++ return; ++ ++ pager_open(false); ++} ++ + noreturn static void crash(int sig) { + + if (getpid() != 1) +@@ -704,6 +714,7 @@ static int parse_argv(int argc, char *argv[]) { + ARG_SYSTEM, + ARG_USER, + ARG_TEST, ++ ARG_NO_PAGER, + ARG_VERSION, + ARG_DUMP_CONFIGURATION_ITEMS, + ARG_DUMP_CORE, +@@ -725,6 +736,7 @@ static int parse_argv(int argc, char *argv[]) { + { "system", no_argument, NULL, ARG_SYSTEM }, + { "user", no_argument, NULL, ARG_USER }, + { "test", no_argument, NULL, ARG_TEST }, ++ { "no-pager", no_argument, NULL, ARG_NO_PAGER }, + { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, ARG_VERSION }, + { "dump-configuration-items", no_argument, NULL, ARG_DUMP_CONFIGURATION_ITEMS }, +@@ -832,6 +844,12 @@ static int parse_argv(int argc, char *argv[]) { + + case ARG_TEST: + arg_action = ACTION_TEST; ++ if (arg_no_pager < 0) ++ arg_no_pager = true; ++ break; ++ ++ case ARG_NO_PAGER: ++ arg_no_pager = true; + break; + + case ARG_VERSION: +@@ -912,6 +930,8 @@ static int parse_argv(int argc, char *argv[]) { + + case 'h': + arg_action = ACTION_HELP; ++ if (arg_no_pager < 0) ++ arg_no_pager = true; + break; + + case 'D': +@@ -984,6 +1004,7 @@ static int help(void) { + "Starts up and maintains the system or user services.\n\n" + " -h --help Show this help\n" + " --test Determine startup sequence, dump it and exit\n" ++ " --no-pager Do not pipe output into a pager\n" + " --dump-configuration-items Dump understood unit configuration items\n" + " --unit=UNIT Set default unit\n" + " --system Run a system instance, even if PID != 1\n" +@@ -1452,6 +1473,8 @@ int main(int argc, char *argv[]) { + goto finish; + } + ++ pager_open_if_enabled(); ++ + if (arg_action == ACTION_HELP) { + retval = help(); + goto finish; +@@ -1798,6 +1821,8 @@ int main(int argc, char *argv[]) { + } + + finish: ++ pager_close(); ++ + if (m) { + manager_free(m); + m = NULL; +-- +1.7.9.2 + diff --git a/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch b/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch new file mode 100644 index 00000000..17cd7d1a --- /dev/null +++ b/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch @@ -0,0 +1,25 @@ +Based on 65de0395ffe1cfb0f9af86504e8588fb31bb0fbc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 19:08:22 +0200 +Subject: [PATCH] time: earlier exit from format_timestamp_relative() on + special times + +--- + src/shared/time-util.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- src/shared/time-util.c ++++ src/shared/time-util.c 2014-10-29 14:07:28.479838096 +0000 +@@ -194,11 +194,10 @@ char *format_timestamp_relative(char *bu + const char *s; + usec_t n, d; + +- n = now(CLOCK_REALTIME); +- + if (t <= 0 || (t == (usec_t) -1)) + return NULL; + ++ n = now(CLOCK_REALTIME); + if (n > t) { + d = n - t; + s = "ago"; diff --git a/0003-tty-ask-password-agent-return-negative-errno.patch b/0003-tty-ask-password-agent-return-negative-errno.patch new file mode 100644 index 00000000..9f839a7f --- /dev/null +++ b/0003-tty-ask-password-agent-return-negative-errno.patch @@ -0,0 +1,29 @@ +From ee0e4cca5ac37a094dfe1074907dae70c7b7701c Mon Sep 17 00:00:00 2001 +From: Florian Albrechtskirchinger +Date: Thu, 3 Apr 2014 21:17:20 +0200 +Subject: [PATCH] tty-ask-password-agent: return negative errno + +Return negative errno in wall_tty_block(). get_ctty_devnr() already +returns a negative errno in case of failure, no need to negate it again. + +Reported-by: Simon +--- + .../tty-ask-password-agent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 1d067af..3203474 100644 +--- src/tty-ask-password-agent/tty-ask-password-agent.c ++++ src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -432,7 +432,7 @@ static int wall_tty_block(void) { + + r = get_ctty_devnr(0, &devnr); + if (r < 0) +- return -r; ++ return r; + + if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0) + return -ENOMEM; +-- +1.7.9.2 + diff --git a/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch b/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch new file mode 100644 index 00000000..bad29c52 --- /dev/null +++ b/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch @@ -0,0 +1,27 @@ +From 3f796750b192e62701e91a95f85389f876d1059b Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 17 Sep 2014 21:44:56 +0200 +Subject: [PATCH] udev: event - explicitly don't read() from invalid fd + +This fixes CID #1237641. +--- + src/udev/udev-event.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 6b8b5a8..c8b1420 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -494,6 +494,9 @@ static void spawn_read(struct udev_event *event, + for (i = 0; i < fdcount; i++) { + int *fd = (int *)ev[i].data.ptr; + ++ if (*fd < 0) ++ continue; ++ + if (ev[i].events & EPOLLIN) { + ssize_t count; + char buf[4096]; +-- +1.7.9.2 + diff --git a/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch b/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch new file mode 100644 index 00000000..5f466ea6 --- /dev/null +++ b/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch @@ -0,0 +1,26 @@ +Based on 497d1986c13032f1ef8f4592bb7ed8d3aa321a47 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 20 Jun 2014 00:15:39 +0200 +Subject: [PATCH] units: order systemd-tmpfiles-clean.service after + time-sync.target + +That way, on systems lacking an RTC we don't false start removing aged +files too early. +--- + units/systemd-tmpfiles-clean.service.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- units/systemd-tmpfiles-clean.service.in ++++ units/systemd-tmpfiles-clean.service.in 2014-06-24 10:47:57.398235644 +0000 +@@ -10,8 +10,9 @@ Description=Cleanup of Temporary Directo + Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) + DefaultDependencies=no + Wants=local-fs.target +-After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target +-Before=sysinit.target shutdown.target ++Conflicts=shutdown.target ++After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target ++Before=shutdown.target + ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/etc/tmpfiles.d diff --git a/0003-units-remove-RefuseManualStart-from-units-which-are-.patch b/0003-units-remove-RefuseManualStart-from-units-which-are-.patch new file mode 100644 index 00000000..d9ffedbf --- /dev/null +++ b/0003-units-remove-RefuseManualStart-from-units-which-are-.patch @@ -0,0 +1,65 @@ +Based on 0fdeb6e011dfdb17636c81e2d7e0d632186359ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 28 Jun 2014 00:06:30 -0400 +Subject: [PATCH] units: remove RefuseManualStart from units which are always + around + +In a normal running system, non-passive targets and units used during +early bootup are always started. So refusing "manual start" for them +doesn't make any difference, because a "start" command doesn't cause +any action. + +In early boot however, the administrator might want to start on +of those targets or services by hand. We shouldn't interfere with that. + +Note: in case of systemd-tmpfiles-setup.service, really running the +unit after system is up would break the system. So e.g. restarting +should not be allowed. The unit has "RefuseManualStop=yes", which +prevents restart too. +--- + units/basic.target | 1 - + units/sysinit.target | 1 - + units/systemd-tmpfiles-setup.service.in | 1 - + units/user/basic.target | 1 - + 4 files changed, 4 deletions(-) + +diff --git units/basic.target units/basic.target +index d7c68f4..b890d48 100644 +--- units/basic.target ++++ units/basic.target +@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) + Requires=sysinit.target + Wants=sockets.target timers.target paths.target slices.target + After=sysinit.target sockets.target timers.target paths.target slices.target +-RefuseManualStart=yes +diff --git units/sysinit.target units/sysinit.target +index 8f4fb8f..ec33503 100644 +--- units/sysinit.target ++++ units/sysinit.target +@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) + Conflicts=emergency.service emergency.target + Wants=local-fs.target swap.target + After=local-fs.target swap.target emergency.service emergency.target +-RefuseManualStart=yes +--- units/systemd-tmpfiles-setup.service.in ++++ units/systemd-tmpfiles-setup.service.in 2014-07-01 12:17:48.154235348 +0000 +@@ -18,7 +18,6 @@ ConditionDirectoryNotEmpty=|/lib/tmpfile + ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/etc/tmpfiles.d + ConditionDirectoryNotEmpty=|/run/tmpfiles.d +-RefuseManualStart=yes + RefuseManualStop=yes + + [Service] +diff --git units/user/basic.target units/user/basic.target +index b74d13c..afc6e93 100644 +--- units/user/basic.target ++++ units/user/basic.target +@@ -10,4 +10,3 @@ Description=Basic System + Documentation=man:systemd.special(7) + Wants=sockets.target timers.target paths.target + After=sockets.target timers.target paths.target +-RefuseManualStart=yes +-- +1.7.9.2 + diff --git a/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch b/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch new file mode 100644 index 00000000..15c8d7f5 --- /dev/null +++ b/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch @@ -0,0 +1,26 @@ +From d8e40d62ab871a87fde421c4b246bb45bc3cbe2d Mon Sep 17 00:00:00 2001 +From: Jonathan Liu +Date: Thu, 29 May 2014 01:17:25 +1000 +Subject: [PATCH] units: use KillMode=mixed for systemd-nspawn@.service + +This causes the container to shut down cleanly when the service is +stopped. +--- + units/systemd-nspawn@.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git units/systemd-nspawn@.service.in units/systemd-nspawn@.service.in +index ff36e90..e373628 100644 +--- units/systemd-nspawn@.service.in ++++ units/systemd-nspawn@.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1) + + [Service] + ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i ++KillMode=mixed + Type=notify + + [Install] +-- +1.7.9.2 + diff --git a/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch b/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch new file mode 100644 index 00000000..bc69be20 --- /dev/null +++ b/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch @@ -0,0 +1,29 @@ +Based on 144b3d9e093dd9310cd9590bec039dc43a7e2ad6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 7 Nov 2014 16:34:00 +0100 +Subject: [PATCH] utf8: when looking at the next unichar, honour the size + parameter, in utf8_is_printable_newline() + +--- + src/shared/utf8.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +--- src/shared/utf8.c ++++ src/shared/utf8.c 2014-11-10 14:20:28.094539264 +0000 +@@ -143,9 +143,14 @@ bool utf8_is_printable_newline(const cha + + for (p = (const uint8_t*) str; length;) { + int encoded_len = utf8_encoded_valid_unichar((const char *)p); +- int val = utf8_encoded_to_unichar((const char*)p); ++ int val; + +- if (encoded_len < 0 || val < 0 || is_unicode_control(val) || ++ if (encoded_len < 0 || ++ (size_t) encoded_len > length) ++ return false; ++ ++ val = utf8_encoded_to_unichar((const char*)p); ++ if (val < 0 || is_unicode_control(val) || + (!newline && val == '\n')) + return false; + diff --git a/0004-Raise-level-of-Found-dependency.-lines.patch b/0004-Raise-level-of-Found-dependency.-lines.patch new file mode 100644 index 00000000..3ae2e49e --- /dev/null +++ b/0004-Raise-level-of-Found-dependency.-lines.patch @@ -0,0 +1,42 @@ +From 14fe721b5f6d8457cc8737fa75f2ed79e7fa534b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 2 Nov 2014 12:10:42 -0500 +Subject: [PATCH] Raise level of 'Found dependency...' lines + +This way they always show up together with 'Found ordering cycle...'. +Ordering cycles are a serious error and a major pain to debug. If +quiet is enabled, only the first and the last line of output are +shown: + +systemd[1]: Found ordering cycle on basic.target/start +systemd[1]: Breaking ordering cycle by deleting job timers.target/start +systemd[1]: Job timers.target/start deleted to break ordering cycle starting with basic.target/start + +which isn't particularly enlightening. So just show the whole message +at the same level. + +https://bugzilla.redhat.com/show_bug.cgi?id=1158206 +--- + src/core/transaction.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git src/core/transaction.c src/core/transaction.c +index 488cb86..bbaa6da 100644 +--- src/core/transaction.c ++++ src/core/transaction.c +@@ -376,9 +376,9 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { + + /* logging for j not k here here to provide consistent narrative */ +- log_info_unit(j->unit->id, +- "Found dependency on %s/%s", +- k->unit->id, job_type_to_string(k->type)); ++ log_warning_unit(j->unit->id, ++ "Found dependency on %s/%s", ++ k->unit->id, job_type_to_string(k->type)); + + if (!delete && hashmap_get(tr->jobs, k->unit) && + !unit_matters_to_anchor(k->unit, k)) { +-- +1.7.9.2 + diff --git a/0004-architecture-remove-cris-from-uname-list.patch b/0004-architecture-remove-cris-from-uname-list.patch new file mode 100644 index 00000000..dc1aa466 --- /dev/null +++ b/0004-architecture-remove-cris-from-uname-list.patch @@ -0,0 +1,27 @@ +From bc4bc52bc3de56405045b0437e145a7067fb085d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 22:52:44 +0200 +Subject: [PATCH] architecture: remove "cris" from uname list + +the only correct name appears to be "crisv32"... + +http://lists.freedesktop.org/archives/systemd-devel/2014-July/020899.html +--- + src/shared/architecture.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git src/shared/architecture.c src/shared/architecture.c +index 7dd049a..6cdca4e 100644 +--- src/shared/architecture.c ++++ src/shared/architecture.c +@@ -115,7 +115,6 @@ Architecture uname_architecture(void) { + #elif defined(__tilegx__) + { "tilegx", ARCHITECTURE_TILEGX }, + #elif defined(__cris__) +- { "cris", ARCHITECTURE_CRIS }, + { "crisv32", ARCHITECTURE_CRIS }, + #else + #error "Please register your architecture here!" +-- +1.7.9.2 + diff --git a/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch b/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch new file mode 100644 index 00000000..281f7b5c --- /dev/null +++ b/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch @@ -0,0 +1,33 @@ +From b76388e123e8d73ded1fd53937d816b314948517 Mon Sep 17 00:00:00 2001 +From: Michael Biebl +Date: Thu, 11 Sep 2014 00:49:36 +0200 +Subject: [PATCH] backlight: Avoid error when state restore is disabled + +When the state restore is disabled, we would print: +"Unknown verb: load" instead of simply skipping loading the +state. +--- + src/backlight/backlight.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 4d94ebf..0a2bac6 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -372,9 +372,12 @@ int main(int argc, char *argv[]) { + * device probing should be complete), so that the validity + * check at boot time doesn't have to be reliable. */ + +- if (streq(argv[1], "load") && shall_restore_state()) { ++ if (streq(argv[1], "load")) { + _cleanup_free_ char *value = NULL; + ++ if (!shall_restore_state()) ++ return EXIT_SUCCESS; ++ + if (!validate_device(udev, device)) + return EXIT_SUCCESS; + +-- +1.7.9.2 + diff --git a/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch b/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch new file mode 100644 index 00000000..d0ec9ec8 --- /dev/null +++ b/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch @@ -0,0 +1,40 @@ +From c7fdf44d08e1217d40dc092fb90a65978a0f541f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 23 Apr 2014 06:55:54 +0200 +Subject: [PATCH] backlight: warn if kernel exposes backlight device with + bogus max_brightness + +We shouldn't silently tape over broken kernel drivers. +--- + src/backlight/backlight.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 754a646..c708391 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -205,14 +205,18 @@ static unsigned get_max_brightness(struct udev_device *device) { + + max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); + if (!max_brightness_str) { +- log_warning("Failed to read 'max_brightness' attribute"); ++ log_warning("Failed to read 'max_brightness' attribute."); + return 0; + } + + r = safe_atou(max_brightness_str, &max_brightness); + if (r < 0) { +- log_warning("Failed to parse 'max_brightness' \"%s\": %s", +- max_brightness_str, strerror(-r)); ++ log_warning("Failed to parse 'max_brightness' \"%s\": %s", max_brightness_str, strerror(-r)); ++ return 0; ++ } ++ ++ if (max_brightness <= 0) { ++ log_warning("Maximum brightness is 0, ignoring device."); + return 0; + } + +-- +1.7.9.2 + diff --git a/0004-bash-completion-use-list-unit-files-to-get-all-units.patch b/0004-bash-completion-use-list-unit-files-to-get-all-units.patch new file mode 100644 index 00000000..b5ab5359 --- /dev/null +++ b/0004-bash-completion-use-list-unit-files-to-get-all-units.patch @@ -0,0 +1,39 @@ +Based on c6a373a26348544d944b08bf0c5dea4f72f6980b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 26 Jul 2014 20:11:58 -0400 +Subject: [PATCH] bash-completion: use list-unit-files to get "all" units + +I think that it is better to return good results slightly more slowly, +than partial quickly. Also reading from disk seems fast enough. Even +the delay on first try with completely cold cache is acceptable. + +This is just for bash, 'cause zsh was already doing this. + +https://bugzilla.redhat.com/show_bug.cgi?id=790768 +--- + shell-completion/bash/systemctl.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in +index c5950cc..69ef04b 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -51,11 +51,13 @@ __filter_units_by_property () { + done + } + +-__get_all_units () { __systemctl $1 list-units --all \ ++__get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ + | { while read -r a b; do echo " $a"; done; }; } + __get_active_units () { __systemctl $1 list-units \ + | { while read -r a b; do echo " $a"; done; }; } +-__get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ ++__get_startable_units () { { ++ __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap ++ __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ + | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } + __get_failed_units () { __systemctl $1 list-units \ + | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } +-- +1.7.9.2 + diff --git a/0004-bootchart-check-return-of-strftime.patch b/0004-bootchart-check-return-of-strftime.patch new file mode 100644 index 00000000..a629c9e9 --- /dev/null +++ b/0004-bootchart-check-return-of-strftime.patch @@ -0,0 +1,63 @@ +From e931d3f4241231e4102eda06adaf7cbfd68c6a5d Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 27 Sep 2014 22:25:07 +0200 +Subject: [PATCH] bootchart: check return of strftime + +Found by coverity. Fixes: CID#996314 and #996312 +--- + src/bootchart/bootchart.c | 8 ++++++-- + src/bootchart/svg.c | 5 +++-- + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c +index 8ef5ad1..366a5ab 100644 +--- src/bootchart/bootchart.c ++++ src/bootchart/bootchart.c +@@ -389,7 +389,9 @@ int main(int argc, char *argv[]) { + + if (!of && (access(arg_output_path, R_OK|W_OK|X_OK) == 0)) { + t = time(NULL); +- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ assert_se(r > 0); ++ + snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); + of = fopen(output_file, "we"); + } +@@ -457,7 +459,9 @@ int main(int argc, char *argv[]) { + + if (!of) { + t = time(NULL); +- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); ++ assert_se(r > 0); ++ + snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); + of = fopen(output_file, "we"); + } +diff --git src/bootchart/svg.c src/bootchart/svg.c +index 135883f..faf377e 100644 +--- src/bootchart/svg.c ++++ src/bootchart/svg.c +@@ -162,7 +162,7 @@ static void svg_title(const char *build) { + char *c; + FILE *f; + time_t t; +- int fd; ++ int fd, r; + struct utsname uts; + + /* grab /proc/cmdline */ +@@ -196,7 +196,8 @@ static void svg_title(const char *build) { + + /* date */ + t = time(NULL); +- strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); ++ r = strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); ++ assert_se(r > 0); + + /* CPU type */ + fd = openat(procfd, "cpuinfo", O_RDONLY); +-- +1.7.9.2 + diff --git a/0004-config-parser-fix-mem-leak.patch b/0004-config-parser-fix-mem-leak.patch new file mode 100644 index 00000000..b45d89c0 --- /dev/null +++ b/0004-config-parser-fix-mem-leak.patch @@ -0,0 +1,24 @@ +From 9e60277835e61597011358afcdbfb3dd712ce128 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sun, 31 Aug 2014 23:13:12 +0200 +Subject: [PATCH] config-parser: fix mem leak + +--- + src/shared/conf-parser.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/conf-parser.c src/shared/conf-parser.c +index 439cfc5..ee6de65 100644 +--- src/shared/conf-parser.c ++++ src/shared/conf-parser.c +@@ -710,6 +710,7 @@ int config_parse_strv(const char *unit, + + if (!utf8_is_valid(n)) { + log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); ++ free(n); + continue; + } + +-- +1.7.9.2 + diff --git a/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch b/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch new file mode 100644 index 00000000..3ae99a64 --- /dev/null +++ b/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch @@ -0,0 +1,67 @@ +Based on 4774e357268e4a1e9fa82adb0563a538932a4c8e Mon Sep 17 00:00:00 2001 +From: Miguel Angel Ajo +Date: Mon, 7 Jul 2014 14:20:36 +0200 +Subject: [PATCH] core: Added support for ERRNO NOTIFY_SOCKET message parsing, + and added StatusErrno dbus property along StatusText to + allow notification of numeric status condition while + degraded service operation or any other special situation. + +--- + src/core/dbus-service.c | 1 + + src/core/service.c | 17 +++++++++++++++++ + src/core/service.h | 1 + + 3 files changed, 19 insertions(+) + +diff --git src/core/dbus-service.c src/core/dbus-service.c +index 093289f..5a881e8 100644 +--- src/core/dbus-service.c ++++ src/core/dbus-service.c +@@ -60,6 +60,7 @@ const sd_bus_vtable bus_service_vtable[] = { + SD_BUS_PROPERTY("ControlPID", "u", bus_property_get_pid, offsetof(Service, control_pid), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("BusName", "s", NULL, offsetof(Service, bus_name), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("StatusText", "s", NULL, offsetof(Service, status_text), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), ++ SD_BUS_PROPERTY("StatusErrno", "i", NULL, offsetof(Service, status_errno), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("Result", "s", property_get_result, offsetof(Service, result), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + BUS_EXEC_STATUS_VTABLE("ExecMain", offsetof(Service, main_exec_status), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + BUS_EXEC_COMMAND_LIST_VTABLE("ExecStartPre", offsetof(Service, exec_command[SERVICE_EXEC_START_PRE]), SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION), +diff --git src/core/service.c src/core/service.c +index 0b19767..ace45e2 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -2637,6 +2637,23 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + free(t); + } + ++ /* Interpret ERRNO= */ ++ e = strv_find_prefix(tags, "ERRNO="); ++ if (e) { ++ int status_errno; ++ ++ if (safe_atoi(e + 6, &status_errno) < 0) ++ log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); ++ else { ++ log_debug_unit(u->id, "%s: got %s", u->id, e); ++ ++ if (s->status_errno != status_errno) { ++ s->status_errno = status_errno; ++ notify_dbus = true; ++ } ++ } ++ } ++ + /* Interpret WATCHDOG= */ + if (strv_find(tags, "WATCHDOG=1")) { + log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); +--- src/core/service.h ++++ src/core/service.h 2014-07-08 12:54:39.238736046 +0200 +@@ -187,6 +187,7 @@ struct Service { + char *bus_name; + + char *status_text; ++ int status_errno; + + RateLimit start_limit; + StartLimitAction start_limit_action; +-- +1.7.9.2 + diff --git a/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch b/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch new file mode 100644 index 00000000..17d7f268 --- /dev/null +++ b/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch @@ -0,0 +1,29 @@ +From c4bfd1691f4d3e26d6d7f34dbca941e119956e8a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Mar 2014 21:04:02 +0100 +Subject: [PATCH] core: don't try to relabel mounts before we loaded the + policy + +--- + src/core/mount-setup.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index 147333a..0a45b24 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -172,7 +172,10 @@ static int mount_one(const MountPoint *p, bool relabel) { + + /* The access mode here doesn't really matter too much, since + * the mounted file system will take precedence anyway. */ +- mkdir_p_label(p->where, 0755); ++ if (relabel) ++ mkdir_p_label(p->where, 0755); ++ else ++ mkdir_p(p->where, 0755); + + log_debug("Mounting %s to %s of type %s with options %s.", + p->what, +-- +1.7.9.2 + diff --git a/0004-core-fix-transaction-destructiveness-check-once-more.patch b/0004-core-fix-transaction-destructiveness-check-once-more.patch new file mode 100644 index 00000000..843200c5 --- /dev/null +++ b/0004-core-fix-transaction-destructiveness-check-once-more.patch @@ -0,0 +1,32 @@ +Based on e0312f4db08c7100bd00299614e87bedc759b366 Mon Sep 17 00:00:00 2001 +Based on c21b92ffe7ef939dd32502ac912cf8ad1c5638fd Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 27 Nov 2014 15:23:58 +0100 +Subject: [PATCH] core: fix transaction destructiveness check once more + +The previous fix e0312f4db "core: fix check for transaction +destructiveness" broke test-engine (noticed by Zbyszek). +Apparently I had a wrong idea of the intended semantics of --fail. + +The manpage says the operation should fail if it "conflicts with a +pending job (more specifically: causes an already pending start job to +be reversed into a stop job or vice versa)". + +So let's check job_type_is_conflicting, instead of !is_superset. + +This makes both test-engine and TEST-03-JOBS pass again. +--- + src/core/transaction.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/transaction.c ++++ src/core/transaction.c 2014-12-15 12:06:11.721518136 +0000 +@@ -510,7 +510,7 @@ static int transaction_is_destructive(Tr + assert(!j->transaction_next); + + if (j->unit->job && (mode == JOB_FAIL || j->unit->job->irreversible) && +- !job_type_is_superset(j->type, j->unit->job->type)) { ++ job_type_is_conflicting(j->unit->job->type, j->type)) { + + sd_bus_error_setf(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); + return -EEXIST; diff --git a/0004-core-map-the-rescue-argument-to-rescue.target.patch b/0004-core-map-the-rescue-argument-to-rescue.target.patch new file mode 100644 index 00000000..6b639305 --- /dev/null +++ b/0004-core-map-the-rescue-argument-to-rescue.target.patch @@ -0,0 +1,27 @@ +From 5329ab10ffaf5b4a3fd6ebd9380b1ec09d05cfc8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Tue, 7 Oct 2014 14:55:21 +0300 +Subject: [PATCH] core: map the 'rescue' argument to rescue.target + +Even though the 'emergency' and 'single' aliases come from sysvinit, the +lack of 'rescue' is still quite confusing (caught me by surprise for the +9th time yet) and inconsistent with `systemctl rescue` as well. +--- + src/core/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/core/main.c src/core/main.c +index 1a62e04..44373cc 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -272,6 +272,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { + static const char * const rlmap[] = { + "emergency", SPECIAL_EMERGENCY_TARGET, + "-b", SPECIAL_EMERGENCY_TARGET, ++ "rescue", SPECIAL_RESCUE_TARGET, + "single", SPECIAL_RESCUE_TARGET, + "-s", SPECIAL_RESCUE_TARGET, + "s", SPECIAL_RESCUE_TARGET, +-- +1.7.9.2 + diff --git a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch new file mode 100644 index 00000000..4bed22a5 --- /dev/null +++ b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch @@ -0,0 +1,53 @@ +Based on bde29068aa3815c88190a91e9867605a0aeaf9c4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 23 Jun 2014 19:18:44 +0200 +Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices + when it is listed as password file + +As special magic, don't create device dependencies for /dev/null. Of +course, there might be similar devices we might want to include, but +given that none of them really make sense to specify as password source +there's really no point in checking for anything else here. + +https://bugs.freedesktop.org/show_bug.cgi?id=75816 +--- + src/cryptsetup/cryptsetup-generator.c | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +--- src/cryptsetup/cryptsetup-generator.c ++++ src/cryptsetup/cryptsetup-generator.c 2014-06-25 17:24:14.338237375 +0000 +@@ -29,6 +29,7 @@ + #include "mkdir.h" + #include "strv.h" + #include "fileio.h" ++#include "path-util.h" + + static const char *arg_dest = "/tmp"; + static bool arg_enabled = true; +@@ -141,14 +142,18 @@ static int create_disk( + if (uu == NULL) + return log_oom(); + +- if (is_device_path(uu)) { +- _cleanup_free_ char *dd = unit_name_from_path(uu, ".device"); +- if (dd == NULL) +- return log_oom(); +- +- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); +- } else +- fprintf(f, "RequiresMountsFor=%s\n", password); ++ if (!path_equal(uu, "/dev/null")) { ++ if (is_device_path(uu)) { ++ _cleanup_free_ char *dd; ++ ++ dd = unit_name_from_path(uu, ".device"); ++ if (!dd) ++ return log_oom(); ++ ++ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); ++ } else ++ fprintf(f, "RequiresMountsFor=%s\n", password); ++ } + } + } + diff --git a/0004-fileio-quote-more-shell-characters-in-envfiles.patch b/0004-fileio-quote-more-shell-characters-in-envfiles.patch new file mode 100644 index 00000000..b4cd3e96 --- /dev/null +++ b/0004-fileio-quote-more-shell-characters-in-envfiles.patch @@ -0,0 +1,54 @@ +From 0ce5a80601597fe4d1a715a8f70ce8d5ccaa2d86 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Sun, 13 Jul 2014 18:49:00 +0300 +Subject: [PATCH] fileio: quote more shell characters in envfiles + +Turns out, making strings shell-proof is harder than expected: + + # machinectl set-hostname "foo|poweroff" && . /etc/machine-info + +(This could be simplified by quoting *and* escaping all characters, +which is harmless in shell but unnecessary.) +--- + src/shared/fileio.c | 4 ++-- + src/shared/util.h | 6 ++++++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git src/shared/fileio.c src/shared/fileio.c +index b0ab780..cbb40c2 100644 +--- src/shared/fileio.c ++++ src/shared/fileio.c +@@ -738,11 +738,11 @@ static void write_env_var(FILE *f, const char *v) { + p++; + fwrite(v, 1, p-v, f); + +- if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { ++ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE SHELL_NEED_QUOTES)) { + fputc('\"', f); + + for (; *p; p++) { +- if (strchr("\'\"\\`$", *p)) ++ if (strchr(SHELL_NEED_ESCAPE, *p)) + fputc('\\', f); + + fputc(*p, f); +diff --git src/shared/util.h src/shared/util.h +index c5eadc9..b3187a9 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -93,6 +93,12 @@ + #define COMMENTS "#;" + #define GLOB_CHARS "*?[" + ++/* What characters are special in the shell? */ ++/* must be escaped outside and inside double-quotes */ ++#define SHELL_NEED_ESCAPE "\"\\`$" ++/* can be escaped or double-quoted */ ++#define SHELL_NEED_QUOTES SHELL_NEED_ESCAPE GLOB_CHARS "'()<>|&;" ++ + #define FORMAT_BYTES_MAX 8 + + #define ANSI_HIGHLIGHT_ON "\x1B[1;39m" +-- +1.7.9.2 + diff --git a/0004-fix-off-by-one-error-in-array-index-assertion.patch b/0004-fix-off-by-one-error-in-array-index-assertion.patch new file mode 100644 index 00000000..9b718e05 --- /dev/null +++ b/0004-fix-off-by-one-error-in-array-index-assertion.patch @@ -0,0 +1,35 @@ +From 26abdc73a212b90f7c4b71808a1028d2e87ab09f Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 8 Mar 2014 17:32:53 -0500 +Subject: [PATCH] fix off by one error in array index assertion + +Since the index is already post-incremented when the array is appended +to, this assertion can be wrongly reached when the array is at capacity +(with the NULL terminator). The bug is reproducible on shutdown with +the following settings in /etc/systemd/system.conf: + + LogTarget=journal-or-kmsg + LogColor=yes + LogLocation=yes + +Reported by Thermi on IRC. +--- + src/core/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/main.c src/core/main.c +index 6ebfe64..f1b06d8 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1994,7 +1994,7 @@ finish: + if (log_get_show_location()) + command_line[pos++] = "--log-location"; + +- assert(pos + 1 < ELEMENTSOF(command_line)); ++ assert(pos < ELEMENTSOF(command_line)); + + if (arm_reboot_watchdog && arg_shutdown_watchdog > 0) { + char *e; +-- +1.7.9.2 + diff --git a/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch b/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch new file mode 100644 index 00000000..065c0ea9 --- /dev/null +++ b/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch @@ -0,0 +1,22 @@ +From b3e4387351c835766f96796a20d94971afea7d3b Mon Sep 17 00:00:00 2001 +From: Tomasz Torcz +Date: Tue, 25 Feb 2014 12:43:55 +0100 +Subject: [PATCH] fix typo in iDRAC network interface name: irdac->idrac + +--- + hwdb/20-net-ifname.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/20-net-ifname.hwdb hwdb/20-net-ifname.hwdb +index 29d2633..2408dc1 100644 +--- hwdb/20-net-ifname.hwdb ++++ hwdb/20-net-ifname.hwdb +@@ -2,4 +2,4 @@ + + # Dell iDRAC Virtual USB NIC + usb:v413CpA102* +- ID_NET_NAME_FROM_DATABASE=irdac ++ ID_NET_NAME_FROM_DATABASE=idrac +-- +1.7.9.2 + diff --git a/0004-getty-generator-properly-escape-instance-names.patch b/0004-getty-generator-properly-escape-instance-names.patch new file mode 100644 index 00000000..26feb694 --- /dev/null +++ b/0004-getty-generator-properly-escape-instance-names.patch @@ -0,0 +1,39 @@ +From a2ae516a25dafe41e0cd296ab7b5d022fa62b95f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 19 Jun 2014 22:02:55 -0400 +Subject: [PATCH] getty-generator: properly escape instance names + +Otherwise the add_symlink() function tries to make directories for +each slash even for the slash after the @ symbol in the final link +name, failing for /dev/3270/tty1. + +Based on a patch by Werner Fink . +--- + src/getty-generator/getty-generator.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/getty-generator/getty-generator.c src/getty-generator/getty-generator.c +index 35cd858..7d4b546 100644 +--- src/getty-generator/getty-generator.c ++++ src/getty-generator/getty-generator.c +@@ -67,7 +67,7 @@ static int add_serial_getty(const char *tty) { + + log_debug("Automatically adding serial getty for /dev/%s.", tty); + +- n = unit_name_replace_instance("serial-getty@.service", tty); ++ n = unit_name_from_path_instance("serial-getty", tty, ".service"); + if (!n) + return log_oom(); + +@@ -81,7 +81,7 @@ static int add_container_getty(const char *tty) { + + log_debug("Automatically adding container getty for /dev/pts/%s.", tty); + +- n = unit_name_replace_instance("container-getty@.service", tty); ++ n = unit_name_from_path_instance("container-getty", tty, ".service"); + if (!n) + return log_oom(); + +-- +1.7.9.2 + diff --git a/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..7ae03b91 --- /dev/null +++ b/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,50 @@ +From b189101727e80a09864c5e5880663ef565467f19 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Sat, 12 Apr 2014 10:38:16 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index b928f5a..28aa2a7 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -733,7 +733,7 @@ bluetooth:v00F1* + ID_VENDOR_FROM_DATABASE=Witron Technology Limited + + bluetooth:v00F2* +- ID_VENDOR_FROM_DATABASE=Morse Project Inc. ++ ID_VENDOR_FROM_DATABASE=Aether Things Inc. (formerly Morse Project Inc.) + + bluetooth:v00F3* + ID_VENDOR_FROM_DATABASE=Kent Displays Inc. +@@ -941,3 +941,24 @@ bluetooth:v0136* + + bluetooth:v0137* + ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. ++ ++bluetooth:v0138* ++ ID_VENDOR_FROM_DATABASE=NTEO Inc. ++ ++bluetooth:v0139* ++ ID_VENDOR_FROM_DATABASE=Focus Systems Corporation ++ ++bluetooth:v013A* ++ ID_VENDOR_FROM_DATABASE=Tencent Holdings Limited ++ ++bluetooth:v013B* ++ ID_VENDOR_FROM_DATABASE=Allegion ++ ++bluetooth:v013C* ++ ID_VENDOR_FROM_DATABASE=Murata Manufacuring Co., Ltd. ++ ++bluetooth:v013D* ++ ID_VENDOR_FROM_DATABASE=WirelessWERX ++ ++bluetooth:v013E* ++ ID_VENDOR_FROM_DATABASE=nimai +-- +1.7.9.2 + diff --git a/0004-hwdb-update-format-description-and-document-reloadin.patch b/0004-hwdb-update-format-description-and-document-reloadin.patch new file mode 100644 index 00000000..a65a46f0 --- /dev/null +++ b/0004-hwdb-update-format-description-and-document-reloadin.patch @@ -0,0 +1,60 @@ +From fa9d4be3f1f4a792b2f3624c2a08fe9cc6ce6e54 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 7 Aug 2014 21:48:57 -0400 +Subject: [PATCH] hwdb: update format description and document reloading + +https://bugs.freedesktop.org/show_bug.cgi?id=82311 +--- + hwdb/60-keyboard.hwdb | 32 +++++++++++++++++++++++--------- + 1 file changed, 23 insertions(+), 9 deletions(-) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 5c3d4ca..ef0ebc5 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -28,19 +28,33 @@ + # driver, is the firmware-provided string exported + # by the kernel DMI modalias. + # +-# Scan codes are specified as: +-# KEYBOARD_KEY_= +-# The scan code should be expressed in hex lowercase and in +-# full bytes, a multiple of 2 digits. The key codes are retrieved +-# and normalized from the kernel input API header. ++# Scan codes are specified as: ++# KEYBOARD_KEY_= ++# The scan code should be expressed in hex lowercase. The key codes ++# are retrieved and normalized from the kernel input API header. + # +-# A '!' as the first charcter of the key identifier string +-# will add the scan code to the AT keyboard's list of scan codes +-# where the driver will synthesize a release event and not expect +-# it to be generated by the hardware. ++# An '!' as the first character of the key identifier string ++# will add the scan code to the AT keyboard's list of scan codes ++# where the driver will synthesize a release event and not expect ++# it to be generated by the hardware. + # + # To debug key presses and access scan code mapping data of + # an input device use the commonly available tool: evtest(1). ++# ++# To update this file, create a new file ++# /etc/udev/hwdb.d/70-keyboad.hwdb ++# and add your rules there. To load the new rules execute (as root): ++# udevadm hwdb --update ++# udevadm trigger /dev/input/eventXX ++# where /dev/input/eventXX is the keyboard in question. If in ++# doubt, simply use /dev/input/event* to reload all input rules. ++# ++# If your changes are generally applicable, open a bug report on ++# http://bugs.freedesktop.org/enter_bug.cgi?product=systemd ++# and include your new rules, a description of the device, and the ++# output of ++# udevadm info /dev/input/eventXX ++# (or /dev/input/event*). + + ########################################## + # Acer +-- +1.7.9.2 + diff --git a/0004-hwdb-update.patch b/0004-hwdb-update.patch new file mode 100644 index 00000000..572bcd32 --- /dev/null +++ b/0004-hwdb-update.patch @@ -0,0 +1,3964 @@ +From 61fb23db45c626d92b4e33f09b9287f58a3625a5 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 5 May 2014 14:23:10 +0200 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 295 +++++++++++- + hwdb/20-pci-vendor-model.hwdb | 174 ++++++-- + hwdb/20-usb-vendor-model.hwdb | 992 +++++++++++++++++++++++++++++++++++++++-- + 3 files changed, 1368 insertions(+), 93 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 17794ed..afc0d90 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -13940,7 +13940,7 @@ OUI:000063* + ID_OUI_FROM_DATABASE=BARCO CONTROL ROOMS GMBH + + OUI:000064* +- ID_OUI_FROM_DATABASE=YOKOGAWA DIGITAL COMPUTER CORP ++ ID_OUI_FROM_DATABASE=Yokogawa Electric Corporation + + OUI:000065* + ID_OUI_FROM_DATABASE=Network General Corporation +@@ -14927,7 +14927,7 @@ OUI:0001AE* + ID_OUI_FROM_DATABASE=Trex Enterprises + + OUI:0001AF* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:0001B0* + ID_OUI_FROM_DATABASE=Fulltek Technology Co., Ltd. +@@ -18272,7 +18272,7 @@ OUI:00060A* + ID_OUI_FROM_DATABASE=Blue2space + + OUI:00060B* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:00060C* + ID_OUI_FROM_DATABASE=Melco Industries, Inc. +@@ -20441,7 +20441,7 @@ OUI:0008F8* + ID_OUI_FROM_DATABASE=UTC CCS + + OUI:0008F9* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:0008FA* + ID_OUI_FROM_DATABASE=Karl E.Brinkmann GmbH +@@ -46612,6 +46612,9 @@ OUI:0064A6* + OUI:00664B* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:006B8E* ++ ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. ++ + OUI:006B9E* + ID_OUI_FROM_DATABASE=VIZIO Inc + +@@ -46850,7 +46853,7 @@ OUI:008041* + ID_OUI_FROM_DATABASE=VEB KOMBINAT ROBOTRON + + OUI:008042* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:008043* + ID_OUI_FROM_DATABASE=NETWORLD, INC. +@@ -49919,7 +49922,7 @@ OUI:00C0F8* + ID_OUI_FROM_DATABASE=ABOUT COMPUTING INC. + + OUI:00C0F9* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:00C0FA* + ID_OUI_FROM_DATABASE=CANARY COMMUNICATIONS, INC. +@@ -50957,7 +50960,7 @@ OUI:00E034* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:00E035* +- ID_OUI_FROM_DATABASE=Emerson Network Power ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:00E036* + ID_OUI_FROM_DATABASE=PIONEER CORPORATION +@@ -52477,6 +52480,9 @@ OUI:0838A5* + OUI:083AB8* + ID_OUI_FROM_DATABASE=Shinoda Plasma Co., Ltd. + ++OUI:083D88* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:083E0C* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -52495,9 +52501,6 @@ OUI:084027* + OUI:08482C* + ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. + +-OUI:084929* +- ID_OUI_FROM_DATABASE=CYBATI +- + OUI:084E1C* + ID_OUI_FROM_DATABASE=H2A Systems, LLC + +@@ -52867,6 +52870,9 @@ OUI:0C8910* + OUI:0C8BFD* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:0C8C8F* ++ ID_OUI_FROM_DATABASE=Kamo Technology Limited ++ + OUI:0C8CDC* + ID_OUI_FROM_DATABASE=Suunto Oy + +@@ -53515,6 +53521,9 @@ OUI:1499E2* + OUI:149FE8* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:14A364* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:14A62C* + ID_OUI_FROM_DATABASE=S.M. Dezac S.A. + +@@ -54403,6 +54412,9 @@ OUI:20918A* + OUI:2091D9* + ID_OUI_FROM_DATABASE=I'M SPA + ++OUI:20934D* ++ ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd ++ + OUI:209AE9* + ID_OUI_FROM_DATABASE=Volacomm Co., Ltd + +@@ -54598,6 +54610,9 @@ OUI:24470E* + OUI:24497B* + ID_OUI_FROM_DATABASE=Innovative Converged Devices Inc + ++OUI:244F1D* ++ ID_OUI_FROM_DATABASE=iRule LLC ++ + OUI:245FDF* + ID_OUI_FROM_DATABASE=KYOCERA Corporation + +@@ -54751,6 +54766,9 @@ OUI:24DEC6* + OUI:24E271* + ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd + ++OUI:24E314* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:24E6BA* + ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky + +@@ -54829,6 +54847,9 @@ OUI:2826A6* + OUI:28285D* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + ++OUI:2829CC* ++ ID_OUI_FROM_DATABASE=Corsa Technology Incorporated ++ + OUI:2829D9* + ID_OUI_FROM_DATABASE=GlobalBeiMing technology (Beijing)Co. Ltd + +@@ -55087,12 +55108,18 @@ OUI:28E14C* + OUI:28E297* + ID_OUI_FROM_DATABASE=Shanghai InfoTM Microelectronics Co.,Ltd. + ++OUI:28E31F* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:28E347* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + + OUI:28E608* + ID_OUI_FROM_DATABASE=Tokheim + ++OUI:28E6E9* ++ ID_OUI_FROM_DATABASE=SIS Sat Internet Services GmbH ++ + OUI:28E794* + ID_OUI_FROM_DATABASE=Microtime Computer Inc. + +@@ -55225,6 +55252,9 @@ OUI:2C534A* + OUI:2C542D* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:2C54CF* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:2C553C* + ID_OUI_FROM_DATABASE=Gainspeed, Inc. + +@@ -55330,6 +55360,9 @@ OUI:2CA835* + OUI:2CAB25* + ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd + ++OUI:2CABA4* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:2CB05D* + ID_OUI_FROM_DATABASE=NETGEAR + +@@ -55456,6 +55489,9 @@ OUI:303294* + OUI:3032D4* + ID_OUI_FROM_DATABASE=Hanilstm Co., Ltd. + ++OUI:303335* ++ ID_OUI_FROM_DATABASE=Boosty ++ + OUI:3037A6* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -55888,6 +55924,9 @@ OUI:34BA9A* + OUI:34BB1F* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:34BB26* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:34BCA6* + ID_OUI_FROM_DATABASE=Beijing Ding Qing Technology, Ltd. + +@@ -55975,6 +56014,9 @@ OUI:34EF44* + OUI:34EF8B* + ID_OUI_FROM_DATABASE=NTT Communications Corporation + ++OUI:34F0CA* ++ ID_OUI_FROM_DATABASE=Shenzhen Linghangyuan Digital Technology Co.,Ltd. ++ + OUI:34F39B* + ID_OUI_FROM_DATABASE=WizLAN Ltd. + +@@ -56023,6 +56065,9 @@ OUI:381766* + OUI:38192F* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:381C1A* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:381C4A* + ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd. + +@@ -56236,6 +56281,9 @@ OUI:38F597* + OUI:38F708* + ID_OUI_FROM_DATABASE=National Resource Management, Inc. + ++OUI:38F889* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:38F8B7* + ID_OUI_FROM_DATABASE=V2COM PARTICIPACOES S.A. + +@@ -56287,6 +56335,9 @@ OUI:3C15C2* + OUI:3C15EA* + ID_OUI_FROM_DATABASE=TESCOM CO., LTD. + ++OUI:3C189F* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:3C18A0* + ID_OUI_FROM_DATABASE=Luxshare Precision Industry Co.,Ltd. + +@@ -56521,6 +56572,9 @@ OUI:3CD7DA* + OUI:3CD92B* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + ++OUI:3CD9CE* ++ ID_OUI_FROM_DATABASE=Eclipse WiFi ++ + OUI:3CDF1E* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -56725,6 +56779,9 @@ OUI:407A80* + OUI:407B1B* + ID_OUI_FROM_DATABASE=Mettle Networks Inc. + ++OUI:408256* ++ ID_OUI_FROM_DATABASE=Continental Automotive GmbH ++ + OUI:4083DE* + ID_OUI_FROM_DATABASE=Motorola + +@@ -56818,6 +56875,9 @@ OUI:40C245* + OUI:40C4D6* + ID_OUI_FROM_DATABASE=ChongQing Camyu Technology Development Co.,Ltd. + ++OUI:40C62A* ++ ID_OUI_FROM_DATABASE=Shanghai Jing Ren Electronic Technology Co., Ltd. ++ + OUI:40C7C9* + ID_OUI_FROM_DATABASE=Naviit Inc. + +@@ -57001,6 +57061,9 @@ OUI:446132* + OUI:44619C* + ID_OUI_FROM_DATABASE=FONsystem co. ltd. + ++OUI:44666E* ++ ID_OUI_FROM_DATABASE=IP-LINE ++ + OUI:446755* + ID_OUI_FROM_DATABASE=Orbit Irrigation + +@@ -57019,6 +57082,9 @@ OUI:44700B* + OUI:447098* + ID_OUI_FROM_DATABASE=MING HONG TECHNOLOGY (SHEN ZHEN) LIMITED + ++OUI:44746C* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:447BC4* + ID_OUI_FROM_DATABASE=DualShine Technology(SZ)Co.,Ltd + +@@ -57079,6 +57145,9 @@ OUI:44A42D* + OUI:44A689* + ID_OUI_FROM_DATABASE=PROMAX ELECTRONICA SA + ++OUI:44A6E5* ++ ID_OUI_FROM_DATABASE=THINKING TECHNOLOGY CO.,LTD ++ + OUI:44A7CF* + ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. + +@@ -57178,6 +57247,9 @@ OUI:48022A* + OUI:480362* + ID_OUI_FROM_DATABASE=DESAY ELECTRONICS(HUIZHOU)CO.,LTD + ++OUI:480C49* ++ ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC ++ + OUI:481249* + ID_OUI_FROM_DATABASE=Luxcom Technologies Inc. + +@@ -57463,6 +57535,9 @@ OUI:4C2258* + OUI:4C2578* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:4C26E7* ++ ID_OUI_FROM_DATABASE=Welgate Co., Ltd. ++ + OUI:4C2C80* + ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd + +@@ -57535,6 +57610,9 @@ OUI:4C63EB* + OUI:4C64D9* + ID_OUI_FROM_DATABASE=Guangdong Leawin Group Co., Ltd + ++OUI:4C6E6E* ++ ID_OUI_FROM_DATABASE=Comnect Technology CO.,LTD ++ + OUI:4C72B9* + ID_OUI_FROM_DATABASE=Pegatron Corporation + +@@ -57565,6 +57643,9 @@ OUI:4C8093* + OUI:4C82CF* + ID_OUI_FROM_DATABASE=Echostar Technologies + ++OUI:4C83DE* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:4C8B30* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + +@@ -57592,6 +57673,9 @@ OUI:4C9E80* + OUI:4C9EE4* + ID_OUI_FROM_DATABASE=Hanyang Navicom Co.,Ltd. + ++OUI:4C9EFF* ++ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp ++ + OUI:4CA56D* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -57775,6 +57859,9 @@ OUI:504A6E* + OUI:504F94* + ID_OUI_FROM_DATABASE=Loxone Electronics GmbH + ++OUI:505065* ++ ID_OUI_FROM_DATABASE=TAKT Corporation ++ + OUI:505663* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -57808,6 +57895,9 @@ OUI:506313* + OUI:506441* + ID_OUI_FROM_DATABASE=Greenlee + ++OUI:506787* ++ ID_OUI_FROM_DATABASE=iTellus ++ + OUI:5067F0* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + +@@ -58693,6 +58783,12 @@ OUI:5CAC4C* + OUI:5CB524* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:5CB6CC* ++ ID_OUI_FROM_DATABASE=NovaComm Technologies Inc. ++ ++OUI:5CB8CB* ++ ID_OUI_FROM_DATABASE=Allis Communications ++ + OUI:5CBD9E* + ID_OUI_FROM_DATABASE=HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED + +@@ -58789,6 +58885,9 @@ OUI:5CF8A1* + OUI:5CF938* + ID_OUI_FROM_DATABASE=Apple, Inc + ++OUI:5CF96A* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:5CF9DD* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -58927,6 +59026,9 @@ OUI:60748D* + OUI:607688* + ID_OUI_FROM_DATABASE=Velodyne + ++OUI:6077E2* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:60812B* + ID_OUI_FROM_DATABASE=Custom Control Concepts + +@@ -59074,6 +59176,9 @@ OUI:60E00E* + OUI:60E327* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:60E701* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:60E956* + ID_OUI_FROM_DATABASE=Ayla Networks, Inc + +@@ -59131,6 +59236,9 @@ OUI:6405BE* + OUI:64094C* + ID_OUI_FROM_DATABASE=Beijing Superbee Wireless Technology Co.,Ltd + ++OUI:640980* ++ ID_OUI_FROM_DATABASE=XIAOMI Electronics,CO.,LTD ++ + OUI:640B4A* + ID_OUI_FROM_DATABASE=Digital Telecom Technology Limited + +@@ -59254,6 +59362,9 @@ OUI:645FFF* + OUI:646223* + ID_OUI_FROM_DATABASE=Cellient Co., Ltd. + ++OUI:64649B* ++ ID_OUI_FROM_DATABASE=juniper networks ++ + OUI:6465C0* + ID_OUI_FROM_DATABASE=Nuvon, Inc + +@@ -59680,6 +59791,9 @@ OUI:689C5E* + OUI:689C70* + ID_OUI_FROM_DATABASE=Apple + ++OUI:68A0F6* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:68A1B7* + ID_OUI_FROM_DATABASE=Honghao Mingchuan Technology (Beijing) CO.,Ltd. + +@@ -60130,6 +60244,9 @@ OUI:702B1D* + OUI:702C1F* + ID_OUI_FROM_DATABASE=Wisol + ++OUI:702DD1* ++ ID_OUI_FROM_DATABASE=Newings Communication CO., LTD. ++ + OUI:702F4B* + ID_OUI_FROM_DATABASE=PolyVision Inc. + +@@ -60211,6 +60328,9 @@ OUI:705986* + OUI:705AB6* + ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. + ++OUI:705B2E* ++ ID_OUI_FROM_DATABASE=M2Communication Inc. ++ + OUI:705CAD* + ID_OUI_FROM_DATABASE=Konami Gaming Inc + +@@ -60568,6 +60688,9 @@ OUI:748EF8* + OUI:748F1B* + ID_OUI_FROM_DATABASE=MasterImage 3D + ++OUI:748F4D* ++ ID_OUI_FROM_DATABASE=MEN Mikro Elektronik GmbH ++ + OUI:749050* + ID_OUI_FROM_DATABASE=Renesas Electronics Corporation + +@@ -60694,6 +60817,9 @@ OUI:74F07D* + OUI:74F102* + ID_OUI_FROM_DATABASE=Beijing HCHCOM Technology Co., Ltd + ++OUI:74F413* ++ ID_OUI_FROM_DATABASE=Maxwell Forest ++ + OUI:74F612* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -61582,6 +61708,9 @@ OUI:806CBC* + OUI:80711F* + ID_OUI_FROM_DATABASE=Juniper Networks + ++OUI:80717A* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:807693* + ID_OUI_FROM_DATABASE=Newag SA + +@@ -61633,6 +61762,9 @@ OUI:80946C* + OUI:8096B1* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:8096CA* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind Co.,Ltd ++ + OUI:80971B* + ID_OUI_FROM_DATABASE=Altenergy Power System,Inc. + +@@ -61699,6 +61831,9 @@ OUI:80D019* + OUI:80D18B* + ID_OUI_FROM_DATABASE=Hangzhou I'converge Technology Co.,Ltd + ++OUI:80D21D* ++ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc ++ + OUI:80D433* + ID_OUI_FROM_DATABASE=LzLabs GmbH + +@@ -62356,6 +62491,9 @@ OUI:8C2F39* + OUI:8C3330* + ID_OUI_FROM_DATABASE=EmFirst Co., Ltd. + ++OUI:8C3357* ++ ID_OUI_FROM_DATABASE=HiteVision Digital Media Technology Co.,Ltd. ++ + OUI:8C3AE3* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -62842,6 +62980,9 @@ OUI:90B134* + OUI:90B21F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:90B686* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:90B8D0* + ID_OUI_FROM_DATABASE=Joyent, Inc. + +@@ -62887,6 +63028,9 @@ OUI:90D92C* + OUI:90DA4E* + ID_OUI_FROM_DATABASE=AVANU + ++OUI:90DA6A* ++ ID_OUI_FROM_DATABASE=MCC System Co., Ltd. ++ + OUI:90DB46* + ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD + +@@ -63100,6 +63244,9 @@ OUI:94ACCA* + OUI:94AE61* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:94AEE3* ++ ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. ++ + OUI:94B8C5* + ID_OUI_FROM_DATABASE=RuggedCom Inc. + +@@ -63151,6 +63298,9 @@ OUI:94CE2C* + OUI:94D019* + ID_OUI_FROM_DATABASE=Cydle Corp. + ++OUI:94D60E* ++ ID_OUI_FROM_DATABASE=shenzhen yunmao information technologies co., ltd ++ + OUI:94D723* + ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd + +@@ -63730,6 +63880,9 @@ OUI:9CC077* + OUI:9CC0D2* + ID_OUI_FROM_DATABASE=Conductix-Wampfler AG + ++OUI:9CC172* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:9CC7A6* + ID_OUI_FROM_DATABASE=AVM GmbH + +@@ -63799,6 +63952,9 @@ OUI:A002DC* + OUI:A00363* + ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH + ++OUI:A00627* ++ ID_OUI_FROM_DATABASE=NEXPA System ++ + OUI:A00798* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -63898,6 +64054,9 @@ OUI:A051C6* + OUI:A055DE* + ID_OUI_FROM_DATABASE=Pace plc + ++OUI:A056B2* ++ ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH ++ + OUI:A0593A* + ID_OUI_FROM_DATABASE=V.D.S. Video Display Systems srl + +@@ -64234,6 +64393,9 @@ OUI:A45C27* + OUI:A45D36* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A45DA1* ++ ID_OUI_FROM_DATABASE=ADB Broadband Italia ++ + OUI:A46032* + ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD + +@@ -64312,6 +64474,9 @@ OUI:A49F89* + OUI:A4A24A* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:A4A4D3* ++ ID_OUI_FROM_DATABASE=Bluebank Communication Technology Co.Ltd ++ + OUI:A4A80F* + ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd. + +@@ -64462,6 +64627,9 @@ OUI:A80600* + OUI:A80C0D* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:A81374* ++ ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company ++ + OUI:A8154D* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + +@@ -64495,6 +64663,9 @@ OUI:A82BD6* + OUI:A830AD* + ID_OUI_FROM_DATABASE=Wei Fang Goertek Electronics Co.,Ltd + ++OUI:A8329A* ++ ID_OUI_FROM_DATABASE=Digicom Futuristic Technologies Ltd. ++ + OUI:A83944* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + +@@ -64582,6 +64753,9 @@ OUI:A88CEE* + OUI:A88D7B* + ID_OUI_FROM_DATABASE=SunDroid Global limited. + ++OUI:A88E24* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:A8922C* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -64903,6 +65077,9 @@ OUI:AC9CE4* + OUI:ACA016* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:ACA213* ++ ID_OUI_FROM_DATABASE=Shenzhen Bilian electronic CO.,LTD ++ + OUI:ACA22C* + ID_OUI_FROM_DATABASE=Baycity Technologies Ltd + +@@ -65068,6 +65245,9 @@ OUI:B01B7C* + OUI:B01C91* + ID_OUI_FROM_DATABASE=Elim Co + ++OUI:B01F81* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:B024F3* + ID_OUI_FROM_DATABASE=Progeny Systems + +@@ -65113,6 +65293,9 @@ OUI:B058C4* + OUI:B05B1F* + ID_OUI_FROM_DATABASE=THERMO FISHER SCIENTIFIC S.P.A. + ++OUI:B05B67* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:B05CE5* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -65338,6 +65521,9 @@ OUI:B407F9* + OUI:B40832* + ID_OUI_FROM_DATABASE=TC Communications + ++OUI:B40AC6* ++ ID_OUI_FROM_DATABASE=DEXON Systems Ltd. ++ + OUI:B40B44* + ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. + +@@ -65533,6 +65719,9 @@ OUI:B4AA4D* + OUI:B4AB2C* + ID_OUI_FROM_DATABASE=MtM Technology Corporation + ++OUI:B4AE6F* ++ ID_OUI_FROM_DATABASE=Circle Reliance, Inc. ++ + OUI:B4B017* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -65566,6 +65755,9 @@ OUI:B4C810* + OUI:B4CCE9* + ID_OUI_FROM_DATABASE=PROSYST + ++OUI:B4CEF6* ++ ID_OUI_FROM_DATABASE=HTC Corporation ++ + OUI:B4CFDB* + ID_OUI_FROM_DATABASE=Shenzhen Jiuzhou Electric Co.,LTD + +@@ -65812,6 +66004,9 @@ OUI:B898B0* + OUI:B898F7* + ID_OUI_FROM_DATABASE=Gionee Communication Equipment Co,Ltd.ShenZhen + ++OUI:B89919* ++ ID_OUI_FROM_DATABASE=7signal Solutions, Inc ++ + OUI:B89AED* + ID_OUI_FROM_DATABASE=OceanServer Technology, Inc + +@@ -66160,6 +66355,9 @@ OUI:BC9889* + OUI:BC99BC* + ID_OUI_FROM_DATABASE=FonSee Technology Inc. + ++OUI:BC9CC5* ++ ID_OUI_FROM_DATABASE=Beijing Huafei Technology Co., Ltd. ++ + OUI:BC9DA5* + ID_OUI_FROM_DATABASE=DASCOM Europe GmbH + +@@ -66511,6 +66709,9 @@ OUI:C0EAE4* + OUI:C0F1C4* + ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. + ++OUI:C0F2FB* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:C0F79D* + ID_OUI_FROM_DATABASE=Powercode + +@@ -66613,6 +66814,9 @@ OUI:C43C3C* + OUI:C43DC7* + ID_OUI_FROM_DATABASE=NETGEAR + ++OUI:C44202* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:C4438F* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -66634,6 +66838,9 @@ OUI:C44AD0* + OUI:C44B44* + ID_OUI_FROM_DATABASE=Omniprint Inc. + ++OUI:C44BD1* ++ ID_OUI_FROM_DATABASE=Wallys Communications Teachnologies Co.,Ltd. ++ + OUI:C44E1F* + ID_OUI_FROM_DATABASE=BlueN + +@@ -66835,6 +67042,9 @@ OUI:C4F57C* + OUI:C4FCE4* + ID_OUI_FROM_DATABASE=DishTV NZ Ltd + ++OUI:C80210* ++ ID_OUI_FROM_DATABASE=LG Innotek ++ + OUI:C80258* + ID_OUI_FROM_DATABASE=ITW GSE ApS + +@@ -67363,6 +67573,9 @@ OUI:CC9F35* + OUI:CCA0E5* + ID_OUI_FROM_DATABASE=DZG Metering GmbH + ++OUI:CCA223* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:CCA374* + ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd + +@@ -67498,6 +67711,9 @@ OUI:CCFE3C* + OUI:D00790* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:D00AAB* ++ ID_OUI_FROM_DATABASE=Yokogawa Digital Computer Corporation ++ + OUI:D00EA4* + ID_OUI_FROM_DATABASE=Porsche Cars North America + +@@ -67576,6 +67792,9 @@ OUI:D05875* + OUI:D059C3* + ID_OUI_FROM_DATABASE=CeraMicro Technology Corporation + ++OUI:D059E4* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:D05A0F* + ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD + +@@ -68248,6 +68467,9 @@ OUI:D86595* + OUI:D866C6* + ID_OUI_FROM_DATABASE=Shenzhen Daystar Technology Co.,ltd + ++OUI:D866EE* ++ ID_OUI_FROM_DATABASE=BOXIN COMMUNICATION CO.,LTD. ++ + OUI:D867D9* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -68542,6 +68764,9 @@ OUI:DC49C9* + OUI:DC4EDE* + ID_OUI_FROM_DATABASE=SHINYEI TECHNOLOGY CO., LTD. + ++OUI:DC537C* ++ ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc. ++ + OUI:DC5726* + ID_OUI_FROM_DATABASE=Power-One + +@@ -69112,6 +69337,9 @@ OUI:E45614* + OUI:E457A8* + ID_OUI_FROM_DATABASE=Stuart Manufacturing, Inc. + ++OUI:E45D52* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:E46449* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -69298,6 +69526,9 @@ OUI:E81132* + OUI:E81324* + ID_OUI_FROM_DATABASE=GuangZhou Bonsoninfo System CO.,LTD + ++OUI:E8150E* ++ ID_OUI_FROM_DATABASE=Nokia Corporation ++ + OUI:E817FC* + ID_OUI_FROM_DATABASE=NIFTY Corporation + +@@ -69373,6 +69604,9 @@ OUI:E85B5B* + OUI:E85BF0* + ID_OUI_FROM_DATABASE=Imaging Diagnostics + ++OUI:E85D6B* ++ ID_OUI_FROM_DATABASE=Luminate Wireless ++ + OUI:E85E53* + ID_OUI_FROM_DATABASE=Infratec Datentechnik GmbH + +@@ -69409,6 +69643,9 @@ OUI:E878A1* + OUI:E87AF3* + ID_OUI_FROM_DATABASE=S5 Tech S.r.l. + ++OUI:E8802E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:E880D8* + ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. + +@@ -69719,7 +69956,7 @@ OUI:EC9B5B* + ID_OUI_FROM_DATABASE=Nokia Corporation + + OUI:EC9ECD* +- ID_OUI_FROM_DATABASE=Emerson Network Power and Embedded Computing ++ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + + OUI:ECA29B* + ID_OUI_FROM_DATABASE=Kemppi Oy +@@ -69745,6 +69982,9 @@ OUI:ECC38A* + OUI:ECC882* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:ECCB30* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:ECCD6D* + ID_OUI_FROM_DATABASE=Allied Telesis, Inc. + +@@ -69763,6 +70003,9 @@ OUI:ECD925* + OUI:ECD950* + ID_OUI_FROM_DATABASE=IRT SA + ++OUI:ECD9D1* ++ ID_OUI_FROM_DATABASE=Shenzhen TG-NET Botone Technology Co.,Ltd. ++ + OUI:ECDE3D* + ID_OUI_FROM_DATABASE=Lamprey Networks, Inc. + +@@ -70144,6 +70387,12 @@ OUI:F406A5* + OUI:F40B93* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:F40E11* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ ++OUI:F40F1B* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F40F9B* + ID_OUI_FROM_DATABASE=WAVELINK + +@@ -70165,6 +70414,9 @@ OUI:F41FC2* + OUI:F42012* + ID_OUI_FROM_DATABASE=Cuciniale GmbH + ++OUI:F42833* ++ ID_OUI_FROM_DATABASE=MMPC Inc. ++ + OUI:F42896* + ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA + +@@ -70294,6 +70546,9 @@ OUI:F499AC* + OUI:F49F54* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:F49FF3* ++ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd ++ + OUI:F4A294* + ID_OUI_FROM_DATABASE=EAGLE WORLD DEVELOPMENT CO., LIMITED + +@@ -70351,6 +70606,9 @@ OUI:F4CE46* + OUI:F4CFE2* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:F4D032* ++ ID_OUI_FROM_DATABASE=Yunnan Ideal Information&Technology.,Ltd ++ + OUI:F4D261* + ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd + +@@ -70390,12 +70648,18 @@ OUI:F4F5A5* + OUI:F4F5E8* + ID_OUI_FROM_DATABASE=Google + ++OUI:F4F646* ++ ID_OUI_FROM_DATABASE=Dediprog Technology Co. Ltd. ++ + OUI:F4F951* + ID_OUI_FROM_DATABASE=Apple + + OUI:F4FC32* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:F4FD2B* ++ ID_OUI_FROM_DATABASE=ZOYI Company ++ + OUI:F80113* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -70798,6 +71062,9 @@ OUI:FC1607* + OUI:FC1794* + ID_OUI_FROM_DATABASE=InterCreative Co., Ltd + ++OUI:FC1910* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:FC19D0* + ID_OUI_FROM_DATABASE=Cloud Vision Networks Technology Co.,Ltd. + +@@ -70906,6 +71173,9 @@ OUI:FC7516* + OUI:FC75E6* + ID_OUI_FROM_DATABASE=Handreamnet + ++OUI:FC790B* ++ ID_OUI_FROM_DATABASE=Hitachi High Technologies America, Inc. ++ + OUI:FC7CE7* + ID_OUI_FROM_DATABASE=FCI USA LLC + +@@ -70948,6 +71218,9 @@ OUI:FCA841* + OUI:FCA9B0* + ID_OUI_FROM_DATABASE=MIARTECH (SHANGHAI),INC. + ++OUI:FCAA14* ++ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. ++ + OUI:FCAD0F* + ID_OUI_FROM_DATABASE=QTS NETWORKS + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 14637d3..2957774 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -1673,6 +1673,9 @@ pci:v00001002d00001306* + pci:v00001002d00001307* + ID_MODEL_FROM_DATABASE=Kaveri + ++pci:v00001002d00001308* ++ ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller ++ + pci:v00001002d00001309* + ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] + +@@ -4268,6 +4271,9 @@ pci:v00001002d00006611sv00001B0Asd000090D3* + pci:v00001002d00006613* + ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] + ++pci:v00001002d00006613sv00001682sd00007240* ++ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] (R7 240 2048 MB) ++ + pci:v00001002d00006620* + ID_MODEL_FROM_DATABASE=Mars + +@@ -6024,31 +6030,31 @@ pci:v00001002d00006819sv0000174Bsd0000E221* + ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) + + pci:v00001002d00006820* +- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] + + pci:v00001002d00006820sv0000103Csd00001851* +- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon HD 7750M) + + pci:v00001002d00006820sv000017AAsd00003801* +- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) ++ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon R9 M275) + + pci:v00001002d00006821* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] + + pci:v00001002d00006821sv00001002sd0000031E* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro SX4000) + + pci:v00001002d00006821sv00001028sd000005CC* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) + + pci:v00001002d00006821sv00001028sd000015CC* +- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) ++ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) + + pci:v00001002d00006822* + ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] + + pci:v00001002d00006823* +- ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M] ++ ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M / R9 M265X] + + pci:v00001002d00006825* + ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] +@@ -7770,64 +7776,73 @@ pci:v00001002d000068F9sv000017AFsd00003014* + ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) + + pci:v00001002d000068FA* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] + + pci:v00001002d000068FAsv00001019sd00000019* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000021* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000022* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001019sd00000026* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000103Csd00002ADF* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) + + pci:v00001002d000068FAsv0000103Csd00002AE8* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) + + pci:v00001002d000068FAsv00001043sd00008350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) + + pci:v00001002d000068FAsv00001462sd00002128* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002184* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002186* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd00002495* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001462sd0000B490* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv00001642sd00003985* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) ++ ++pci:v00001002d000068FAsv0000174Bsd00003510* ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) ++ ++pci:v00001002d000068FAsv0000174Bsd00003521* ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) ++ ++pci:v00001002d000068FAsv0000174Bsd00003522* ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) + + pci:v00001002d000068FAsv0000174Bsd00007350* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd00008153* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) + + pci:v00001002d000068FAsv0000174Bsd0000E127* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E153* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv0000174Bsd0000E180* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FAsv000017AFsd00003015* +- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) ++ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) + + pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE +@@ -8886,7 +8901,7 @@ pci:v00001002d0000980A* + ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7290] + + pci:v00001002d00009830* +- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400] ++ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400 / R3 Series] + + pci:v00001002d00009831* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400E] +@@ -8904,13 +8919,13 @@ pci:v00001002d00009835* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8310E] + + pci:v00001002d00009836* +- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280] ++ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280 / R3 Series] + + pci:v00001002d00009837* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280E] + + pci:v00001002d00009838* +- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240] ++ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240 / R3 Series] + + pci:v00001002d00009839* + ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8180] +@@ -10724,6 +10739,33 @@ pci:v00001022d00001418* + pci:v00001022d00001419* + ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) I/O Memory Management Unit + ++pci:v00001022d0000141A* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 0 ++ ++pci:v00001022d0000141B* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 1 ++ ++pci:v00001022d0000141C* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 2 ++ ++pci:v00001022d0000141D* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 3 ++ ++pci:v00001022d0000141E* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 4 ++ ++pci:v00001022d0000141F* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 5 ++ ++pci:v00001022d00001422* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Complex ++ ++pci:v00001022d00001423* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) I/O Memory Management Unit ++ ++pci:v00001022d00001426* ++ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Port ++ + pci:v00001022d00001439* + ID_MODEL_FROM_DATABASE=Family 16h Processor Functions 5:1 + +@@ -17621,6 +17663,9 @@ pci:v00001093d000071BC* + pci:v00001093d000071D0* + ID_MODEL_FROM_DATABASE=PXI-6143 + ++pci:v00001093d000071DC* ++ ID_MODEL_FROM_DATABASE=PCI-1588 ++ + pci:v00001093d00007260* + ID_MODEL_FROM_DATABASE=PXI-5142 + +@@ -17639,6 +17684,9 @@ pci:v00001093d000072AA* + pci:v00001093d000072AB* + ID_MODEL_FROM_DATABASE=PCI-5105 + ++pci:v00001093d000072B8* ++ ID_MODEL_FROM_DATABASE=PXI-6682 ++ + pci:v00001093d0000730F* + ID_MODEL_FROM_DATABASE=PXI-5922EX + +@@ -17708,6 +17756,9 @@ pci:v00001093d000073F0* + pci:v00001093d000073F1* + ID_MODEL_FROM_DATABASE=PCI-5153 + ++pci:v00001093d00007405* ++ ID_MODEL_FROM_DATABASE=PXIe-6674T ++ + pci:v00001093d0000745E* + ID_MODEL_FROM_DATABASE=PXI-5153EX + +@@ -17726,6 +17777,12 @@ pci:v00001093d00007539* + pci:v00001093d0000753A* + ID_MODEL_FROM_DATABASE=NI 9159 + ++pci:v00001093d000075E5* ++ ID_MODEL_FROM_DATABASE=PXI-6683 ++ ++pci:v00001093d000075E6* ++ ID_MODEL_FROM_DATABASE=PXI-6683H ++ + pci:v00001093d00007626* + ID_MODEL_FROM_DATABASE=NI 9154 + +@@ -28100,6 +28157,9 @@ pci:v000010EC* + pci:v000010ECd00000139* + ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ Ethernet Controller + ++pci:v000010ECd00005208* ++ ID_MODEL_FROM_DATABASE=RTS5208 PCI Express Card Reader ++ + pci:v000010ECd00005209* + ID_MODEL_FROM_DATABASE=RTS5209 PCI Express Card Reader + +@@ -28128,7 +28188,7 @@ pci:v000010ECd00005249sv0000103Csd00001909* + ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) + + pci:v000010ECd00005288* +- ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader ++ ID_MODEL_FROM_DATABASE=RTS5288 PCI Express Card Reader + + pci:v000010ECd00008029* + ID_MODEL_FROM_DATABASE=RTL-8029(AS) +@@ -32153,6 +32213,9 @@ pci:v00001131d00007160* + pci:v00001131d00007160sv00001458sd00009009* + ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) + ++pci:v00001131d00007160sv00001461sd00001455* ++ ID_MODEL_FROM_DATABASE=SAA7160 (AVerTV Hybrid Speedy PCI-E (H788)) ++ + pci:v00001131d00007162* + ID_MODEL_FROM_DATABASE=SAA7162 + +@@ -34691,6 +34754,9 @@ pci:v000011ABd00002A42* + pci:v000011ABd00002A43* + ID_MODEL_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless + ++pci:v000011ABd00002A55* ++ ID_MODEL_FROM_DATABASE=88W8864 [Avastar] 802.11ac Wireless ++ + pci:v000011ABd00002B36* + ID_MODEL_FROM_DATABASE=88W8764 [Avastar] 802.11n Wireless + +@@ -36536,6 +36602,9 @@ pci:v00001217d00008120* + pci:v00001217d00008130* + ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller + ++pci:v00001217d00008221* ++ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller ++ + pci:v00001217d00008320* + ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller + +@@ -43278,7 +43347,13 @@ pci:v00001469* + ID_VENDOR_FROM_DATABASE=Cleveland Motion Controls + + pci:v0000146A* +- ID_VENDOR_FROM_DATABASE=IFR ++ ID_VENDOR_FROM_DATABASE=Aeroflex ++ ++pci:v0000146Ad00003010* ++ ID_MODEL_FROM_DATABASE=3010 RF Synthesizer ++ ++pci:v0000146Ad00003A11* ++ ID_MODEL_FROM_DATABASE=3011A PXI RF Synthesizer + + pci:v0000146B* + ID_VENDOR_FROM_DATABASE=Parascan Technologies Ltd +@@ -52409,6 +52484,9 @@ pci:v00001AB8d00004006* + pci:v00001AB9* + ID_VENDOR_FROM_DATABASE=Espia Srl + ++pci:v00001AC8* ++ ID_VENDOR_FROM_DATABASE=Aeroflex Gaisler ++ + pci:v00001ACC* + ID_VENDOR_FROM_DATABASE=Point of View BV + +@@ -52724,9 +52802,15 @@ pci:v00001B4Bd000091A0* + pci:v00001B4Bd000091A4* + ID_MODEL_FROM_DATABASE=88SE912x IDE Controller + ++pci:v00001B4Bd00009220* ++ ID_MODEL_FROM_DATABASE=88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller ++ + pci:v00001B4Bd00009230* + ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller + ++pci:v00001B4Bd00009235* ++ ID_MODEL_FROM_DATABASE=88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller ++ + pci:v00001B4Bd00009445* + ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller + +@@ -54693,7 +54777,7 @@ pci:v00006688* + ID_VENDOR_FROM_DATABASE=Zycoo Co., Ltd + + pci:v00006688d00001200* +- ID_MODEL_FROM_DATABASE=CooVOX TDM Analog Module ++ ID_MODEL_FROM_DATABASE=CooVox TDM Analog Module + + pci:v00006688d00001400* + ID_MODEL_FROM_DATABASE=CooVOX TDM GSM Module +@@ -59066,8 +59150,11 @@ pci:v00008086d00001522sv00008086sd000000A4* + pci:v00008086d00001523* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection + ++pci:v00008086d00001523sv00001028sd00000060* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 2P I350 LOM) ++ + pci:v00008086d00001523sv00001028sd00001F9B* +- ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350-t bNDC) + + pci:v00008086d00001523sv0000103Csd00001784* + ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) +@@ -59183,9 +59270,6 @@ pci:v00008086d00001536* + pci:v00008086d00001537* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + +-pci:v00008086d00001538* +- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +- + pci:v00008086d00001539* + ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection + +@@ -59270,6 +59354,12 @@ pci:v00008086d0000155Dsv00008086sd00000002* + pci:v00008086d00001560* + ID_MODEL_FROM_DATABASE=Ethernet Controller X540 + ++pci:v00008086d0000156F* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-LM ++ ++pci:v00008086d00001570* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V ++ + pci:v00008086d00001571* + ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function + +@@ -59316,16 +59406,16 @@ pci:v00008086d00001581sv00001028sd00001F98* + ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) + + pci:v00008086d00001583* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + + pci:v00008086d00001583sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + + pci:v00008086d00001583sv00008086sd00000003* +- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) + + pci:v00008086d00001584* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 014c628..52586bc 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -21,7 +21,7 @@ usb:v0004* + ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart + + usb:v0011* +- ID_VENDOR_FROM_DATABASE=Unknown manufacturer ++ ID_VENDOR_FROM_DATABASE=Unknown + + usb:v0011p7788* + ID_MODEL_FROM_DATABASE=Flash mass storage drive +@@ -275,6 +275,9 @@ usb:v03EBp2110* + usb:v03EBp2122* + ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit + ++usb:v03EBp2141* ++ ID_MODEL_FROM_DATABASE=ICE debugger ++ + usb:v03EBp2310* + ID_MODEL_FROM_DATABASE=EVK11xx evaluation board + +@@ -455,6 +458,9 @@ usb:v03F0p0121* + usb:v03F0p0122* + ID_MODEL_FROM_DATABASE=HID Internet Keyboard + ++usb:v03F0p0139* ++ ID_MODEL_FROM_DATABASE=Barcode Scanner 4430 ++ + usb:v03F0p0201* + ID_MODEL_FROM_DATABASE=ScanJet 6200c + +@@ -782,6 +788,9 @@ usb:v03F0p1517* + usb:v03F0p1524* + ID_MODEL_FROM_DATABASE=Smart Card Keyboard - KR + ++usb:v03F0p1539* ++ ID_MODEL_FROM_DATABASE=Mini Magnetic Stripe Reader ++ + usb:v03F0p1602* + ID_MODEL_FROM_DATABASE=PhotoSmart 330 series + +@@ -893,6 +902,9 @@ usb:v03F0p1D02* + usb:v03F0p1D17* + ID_MODEL_FROM_DATABASE=LaserJet 1320 + ++usb:v03F0p1D24* ++ ID_MODEL_FROM_DATABASE=Barcode scanner ++ + usb:v03F0p1E02* + ID_MODEL_FROM_DATABASE=PhotoSmart A320 Printer series + +@@ -935,6 +947,9 @@ usb:v03F0p2012* + usb:v03F0p201D* + ID_MODEL_FROM_DATABASE=un2400 Gobi Wireless Modem (QDL mode) + ++usb:v03F0p2039* ++ ID_MODEL_FROM_DATABASE=Cashdrawer ++ + usb:v03F0p2102* + ID_MODEL_FROM_DATABASE=PhotoSmart 7345 + +@@ -1008,7 +1023,7 @@ usb:v03F0p2505* + ID_MODEL_FROM_DATABASE=ScanJet 3770 + + usb:v03F0p2512* +- ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 ++ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 / Compaq LA2405 series monitor + + usb:v03F0p2514* + ID_MODEL_FROM_DATABASE=4-port hub +@@ -1046,6 +1061,9 @@ usb:v03F0p2704* + usb:v03F0p2717* + ID_MODEL_FROM_DATABASE=Color LaserJet 2830 + ++usb:v03F0p2724* ++ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader IDRA-334133-HP ++ + usb:v03F0p2811* + ID_MODEL_FROM_DATABASE=PSC-2100 + +@@ -1424,6 +1442,9 @@ usb:v03F0p5817* + usb:v03F0p5911* + ID_MODEL_FROM_DATABASE=PhotoSmart C6180 + ++usb:v03F0p5912* ++ ID_MODEL_FROM_DATABASE=Officejet Pro 8600 ++ + usb:v03F0p5A11* + ID_MODEL_FROM_DATABASE=PhotoSmart C7100 series + +@@ -1532,6 +1553,9 @@ usb:v03F0p6B02* + usb:v03F0p6B11* + ID_MODEL_FROM_DATABASE=Photosmart C4500 series + ++usb:v03F0p6C11* ++ ID_MODEL_FROM_DATABASE=Photosmart C4480 ++ + usb:v03F0p6C17* + ID_MODEL_FROM_DATABASE=Color LaserJet 4610 + +@@ -1913,6 +1937,9 @@ usb:v03FC* + usb:v03FD* + ID_VENDOR_FROM_DATABASE=Xilinx, Inc. + ++usb:v03FDp0008* ++ ID_MODEL_FROM_DATABASE=Platform Cable USB II ++ + usb:v03FE* + ID_VENDOR_FROM_DATABASE=Farallon Comunications + +@@ -2012,6 +2039,9 @@ usb:v0403p0232* + usb:v0403p1060* + ID_MODEL_FROM_DATABASE=JTAG adapter + ++usb:v0403p1234* ++ ID_MODEL_FROM_DATABASE=IronLogic RFID Adapter [Z-2 USB] ++ + usb:v0403p6001* + ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC + +@@ -2084,12 +2114,18 @@ usb:v0403p8B2B* + usb:v0403p8B2C* + ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 + ++usb:v0403p9132* ++ ID_MODEL_FROM_DATABASE=LCD and Temperature Interface ++ + usb:v0403p9133* + ID_MODEL_FROM_DATABASE=CallerID + + usb:v0403p9135* + ID_MODEL_FROM_DATABASE=Rotary Pub alarm + ++usb:v0403p9136* ++ ID_MODEL_FROM_DATABASE=Pulsecounter ++ + usb:v0403p9E90* + ID_MODEL_FROM_DATABASE=Marvell OpenRD Base/Client + +@@ -2291,6 +2327,9 @@ usb:v0403pEF10* + usb:v0403pF070* + ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] + ++usb:v0403pF0E9* ++ ID_MODEL_FROM_DATABASE=Tagsys L-P101 ++ + usb:v0403pF1A0* + ID_MODEL_FROM_DATABASE=Asix PRESTO Programmer + +@@ -2999,6 +3038,9 @@ usb:v040Ap4021* + usb:v040Ap4022* + ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer + ++usb:v040Ap402B* ++ ID_MODEL_FROM_DATABASE=Photo Printer 6850 ++ + usb:v040Ap402E* + ID_MODEL_FROM_DATABASE=605 Photo Printer + +@@ -4379,6 +4421,9 @@ usb:v0424p7500* + usb:v0424p9512* + ID_MODEL_FROM_DATABASE=SMC9512/9514 USB Hub + ++usb:v0424p9514* ++ ID_MODEL_FROM_DATABASE=SMC9514 Hub ++ + usb:v0424pA700* + ID_MODEL_FROM_DATABASE=2 Port Hub + +@@ -5219,6 +5264,9 @@ usb:v0451p2046* + usb:v0451p2077* + ID_MODEL_FROM_DATABASE=TUSB2077 Hub + ++usb:v0451p2F90* ++ ID_MODEL_FROM_DATABASE=SM-USB-DIG ++ + usb:v0451p3410* + ID_MODEL_FROM_DATABASE=TUSB3410 Microcontroller + +@@ -5534,6 +5582,9 @@ usb:v0458p5003* + usb:v0458p5004* + ID_MODEL_FROM_DATABASE=G-pen Tablet + ++usb:v0458p505E* ++ ID_MODEL_FROM_DATABASE=Genius iSlim 330 ++ + usb:v0458p6001* + ID_MODEL_FROM_DATABASE=GF3000F Ethernet Adapter + +@@ -5600,6 +5651,24 @@ usb:v0458p705A* + usb:v0458p705C* + ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF + ++usb:v0458p7061* ++ ID_MODEL_FROM_DATABASE=Genius iLook 1321 V2 ++ ++usb:v0458p7066* ++ ID_MODEL_FROM_DATABASE=Acer Crystal Eye Webcam ++ ++usb:v0458p7067* ++ ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF V2 ++ ++usb:v0458p7068* ++ ID_MODEL_FROM_DATABASE=Genius eFace 1325R ++ ++usb:v0458p706D* ++ ID_MODEL_FROM_DATABASE=Genius iSlim 2000AF V2 ++ ++usb:v0458p7076* ++ ID_MODEL_FROM_DATABASE=Genius FaceCam 312 ++ + usb:v0458p7079* + ID_MODEL_FROM_DATABASE=FaceCam 2025R + +@@ -5609,6 +5678,12 @@ usb:v0458p707F* + usb:v0458p7088* + ID_MODEL_FROM_DATABASE=WideCam 1050 + ++usb:v0458p7089* ++ ID_MODEL_FROM_DATABASE=Genius FaceCam 320 ++ ++usb:v0458p708C* ++ ID_MODEL_FROM_DATABASE=Genius WideCam F100 ++ + usb:v0459* + ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc. + +@@ -6017,6 +6092,15 @@ usb:v045Ep02B0* + usb:v045Ep02B6* + ID_MODEL_FROM_DATABASE=Xbox 360 / Bluetooth Wireless Headset + ++usb:v045Ep02BE* ++ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Audio ++ ++usb:v045Ep02BF* ++ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Camera ++ ++usb:v045Ep02C2* ++ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Motor ++ + usb:v045Ep0400* + ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002 + +@@ -6866,6 +6950,9 @@ usb:v046Dp0830* + usb:v046Dp0840* + ID_MODEL_FROM_DATABASE=QuickCam Express + ++usb:v046Dp0843* ++ ID_MODEL_FROM_DATABASE=Webcam C930e ++ + usb:v046Dp0850* + ID_MODEL_FROM_DATABASE=QuickCam Web + +@@ -7169,6 +7256,12 @@ usb:v046Dp0A1F* + usb:v046Dp0A29* + ID_MODEL_FROM_DATABASE=H600 [Wireless Headset] + ++usb:v046Dp0A38* ++ ID_MODEL_FROM_DATABASE=Headset H340 ++ ++usb:v046Dp0A4D* ++ ID_MODEL_FROM_DATABASE=G430 Surround Sound Gaming Headset ++ + usb:v046Dp0B02* + ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode) + +@@ -7650,7 +7743,7 @@ usb:v046DpC31B* + ID_MODEL_FROM_DATABASE=Compact Keyboard K300 + + usb:v046DpC31C* +- ID_MODEL_FROM_DATABASE=Keyboard K120 for Business ++ ID_MODEL_FROM_DATABASE=Keyboard K120 + + usb:v046DpC31D* + ID_MODEL_FROM_DATABASE=Media Keyboard K200 +@@ -7751,6 +7844,9 @@ usb:v046DpC529* + usb:v046DpC52B* + ID_MODEL_FROM_DATABASE=Unifying Receiver + ++usb:v046DpC52D* ++ ID_MODEL_FROM_DATABASE=R700 Remote Presenter receiver ++ + usb:v046DpC52E* + ID_MODEL_FROM_DATABASE=MK260 Wireless Combo Receiver + +@@ -7760,6 +7856,18 @@ usb:v046DpC52F* + usb:v046DpC532* + ID_MODEL_FROM_DATABASE=Unifying Receiver + ++usb:v046DpC603* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT ++ ++usb:v046DpC605* ++ ID_MODEL_FROM_DATABASE=3Dconnexion CADman ++ ++usb:v046DpC606* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Classic ++ ++usb:v046DpC621* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Spaceball 5000 ++ + usb:v046DpC623* + ID_MODEL_FROM_DATABASE=3Dconnexion Space Traveller 3D Mouse + +@@ -7772,9 +7880,18 @@ usb:v046DpC626* + usb:v046DpC627* + ID_MODEL_FROM_DATABASE=3Dconnexion Space Explorer 3D Mouse + ++usb:v046DpC628* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Space Navigator for Notebooks ++ + usb:v046DpC629* + ID_MODEL_FROM_DATABASE=3Dconnexion SpacePilot Pro 3D Mouse + ++usb:v046DpC62B* ++ ID_MODEL_FROM_DATABASE=3Dconnexion Space Mouse Pro ++ ++usb:v046DpC640* ++ ID_MODEL_FROM_DATABASE=NuLOOQ navigator ++ + usb:v046DpC702* + ID_MODEL_FROM_DATABASE=Cordless Presenter + +@@ -8609,6 +8726,9 @@ usb:v0480p0011* + usb:v0480p0014* + ID_MODEL_FROM_DATABASE=InTouch Module + ++usb:v0480p0100* ++ ID_MODEL_FROM_DATABASE=Stor.E Slim USB 3.0 ++ + usb:v0480pA006* + ID_MODEL_FROM_DATABASE=External Disk 1.5TB + +@@ -10043,6 +10163,9 @@ usb:v04A9p2225* + usb:v04A9p2228* + ID_MODEL_FROM_DATABASE=CanoScan 4400F + ++usb:v04A9p2229* ++ ID_MODEL_FROM_DATABASE=CanoScan 8600F ++ + usb:v04A9p2602* + ID_MODEL_FROM_DATABASE=MultiPASS C555 + +@@ -10988,6 +11111,9 @@ usb:v04A9p3233* + usb:v04A9p3234* + ID_MODEL_FROM_DATABASE=PowerShot SX150 IS + ++usb:v04A9p3235* ++ ID_MODEL_FROM_DATABASE=PowerShot ELPH 510 HS / IXUS 1100 HS ++ + usb:v04A9p3236* + ID_MODEL_FROM_DATABASE=PowerShot S100 + +@@ -11057,12 +11183,18 @@ usb:v04A9p325B* + usb:v04A9p325C* + ID_MODEL_FROM_DATABASE=PowerShot SX500 IS + ++usb:v04A9p325E* ++ ID_MODEL_FROM_DATABASE=PowerShot N ++ + usb:v04A9p325F* + ID_MODEL_FROM_DATABASE=PowerShot SX280 HS + + usb:v04A9p3260* + ID_MODEL_FROM_DATABASE=PowerShot SX270 HS + ++usb:v04A9p3261* ++ ID_MODEL_FROM_DATABASE=PowerShot A3500 IS ++ + usb:v04A9p3262* + ID_MODEL_FROM_DATABASE=PowerShot A2600 + +@@ -11087,6 +11219,15 @@ usb:v04A9p3277* + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + ++usb:v04A9p3288* ++ ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 ++ ++usb:v04A9p3289* ++ ID_MODEL_FROM_DATABASE=PowerShot ELPH 340 HS / IXUS 265 HS ++ ++usb:v04A9p328A* ++ ID_MODEL_FROM_DATABASE=PowerShot ELPH 150 IS / IXUS 155 ++ + usb:v04AA* + ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd + +@@ -11471,6 +11612,9 @@ usb:v04B4p2050* + usb:v04B4p2830* + ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) + ++usb:v04B4p4235* ++ ID_MODEL_FROM_DATABASE=Monitor 02 Driver ++ + usb:v04B4p4381* + ID_MODEL_FROM_DATABASE=SCAPS USC-1 Scanner Controller + +@@ -12407,6 +12551,9 @@ usb:v04C5p10AE* + usb:v04C5p10AF* + ID_MODEL_FROM_DATABASE=fi-4220C2 + ++usb:v04C5p10C7* ++ ID_MODEL_FROM_DATABASE=fi-60f scanner ++ + usb:v04C5p10E0* + ID_MODEL_FROM_DATABASE=fi-5120c Scanner + +@@ -12981,7 +13128,7 @@ usb:v04D9p2519* + ID_MODEL_FROM_DATABASE=Shenzhen LogoTech 2.4GHz receiver + + usb:v04D9p2832* +- ID_MODEL_FROM_DATABASE=1channel Telephone line recorder ++ ID_MODEL_FROM_DATABASE=HT82A832R Audio MCU + + usb:v04D9p2834* + ID_MODEL_FROM_DATABASE=HT82A834R Audio MCU +@@ -13070,6 +13217,9 @@ usb:v04DAp2374* + usb:v04DAp2451* + ID_MODEL_FROM_DATABASE=HDC-SD9 + ++usb:v04DAp245B* ++ ID_MODEL_FROM_DATABASE=HC-X920K (3MOS Full HD video camcorder) ++ + usb:v04DAp2497* + ID_MODEL_FROM_DATABASE=HDC-TM700 + +@@ -13535,6 +13685,9 @@ usb:v04E8p1006* + usb:v04E8p130C* + ID_MODEL_FROM_DATABASE=NX100 + ++usb:v04E8p1F05* ++ ID_MODEL_FROM_DATABASE=S2 Portable [JMicron] (500GB) ++ + usb:v04E8p1F06* + ID_MODEL_FROM_DATABASE=HX-MU064DA portable harddisk + +@@ -13670,6 +13823,9 @@ usb:v04E8p3310* + usb:v04E8p3315* + ID_MODEL_FROM_DATABASE=ML-2540 Series Laser Printer + ++usb:v04E8p331E* ++ ID_MODEL_FROM_DATABASE=M262x/M282x Xpress Series Laser Printer ++ + usb:v04E8p3409* + ID_MODEL_FROM_DATABASE=SCX-4216F Scanner + +@@ -13718,6 +13874,9 @@ usb:v04E8p3420* + usb:v04E8p3426* + ID_MODEL_FROM_DATABASE=SCX-4500 Laser Printer + ++usb:v04E8p342D* ++ ID_MODEL_FROM_DATABASE=SCX-4x28 Series ++ + usb:v04E8p344F* + ID_MODEL_FROM_DATABASE=SCX-3400 Series + +@@ -14058,7 +14217,7 @@ usb:v04E8p685B* + ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (mass storage mode) + + usb:v04E8p685C* +- ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] ++ ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] (Mass storage mode) + + usb:v04E8p685D* + ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (Download mode) +@@ -14067,7 +14226,10 @@ usb:v04E8p685E* + ID_MODEL_FROM_DATABASE=GT-I9100 / GT-C3350 Phones (USB Debugging mode) + + usb:v04E8p6860* +- ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] ++ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] , GT-I9500 [Galaxy S 4] ++ ++usb:v04E8p6863* ++ ID_MODEL_FROM_DATABASE=GT-I9500 [Galaxy S4] / GT-I9250 [Galaxy Nexus] (network tethering) + + usb:v04E8p6865* + ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode) +@@ -14075,6 +14237,9 @@ usb:v04E8p6865* + usb:v04E8p6866* + ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode) + ++usb:v04E8p6868* ++ ID_MODEL_FROM_DATABASE=Escape Composite driver for Android Phones: Modem+Diagnostic+ADB ++ + usb:v04E8p6875* + ID_MODEL_FROM_DATABASE=GT-B3710 Standalone LTE device (Commercial) + +@@ -14342,6 +14507,12 @@ usb:v04F2pB057* + usb:v04F2pB059* + ID_MODEL_FROM_DATABASE=CKF7037 HP webcam + ++usb:v04F2pB064* ++ ID_MODEL_FROM_DATABASE=CNA7137 Integrated Webcam ++ ++usb:v04F2pB070* ++ ID_MODEL_FROM_DATABASE=Camera ++ + usb:v04F2pB071* + ID_MODEL_FROM_DATABASE=2.0M UVC Webcam / CNF7129 + +@@ -14411,6 +14582,9 @@ usb:v04F2pB2B0* + usb:v04F2pB2B9* + ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera UVC + ++usb:v04F2pB2DA* ++ ID_MODEL_FROM_DATABASE=thinkpad t430s camera ++ + usb:v04F2pB2EA* + ID_MODEL_FROM_DATABASE=Integrated Camera [ThinkPad] + +@@ -14420,6 +14594,9 @@ usb:v04F2pB330* + usb:v04F2pB354* + ID_MODEL_FROM_DATABASE=UVC 1.00 device HD UVC WebCam + ++usb:v04F2pB394* ++ ID_MODEL_FROM_DATABASE=Integrated Camera ++ + usb:v04F3* + ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp. + +@@ -15038,6 +15215,9 @@ usb:v04F9p01EB* + usb:v04F9p01F4* + ID_MODEL_FROM_DATABASE=MFC-5890CN + ++usb:v04F9p0217* ++ ID_MODEL_FROM_DATABASE=MFC-8480DN ++ + usb:v04F9p0223* + ID_MODEL_FROM_DATABASE=DCP-365CN + +@@ -15158,9 +15338,15 @@ usb:v04FCp5331* + usb:v04FCp5360* + ID_MODEL_FROM_DATABASE=Sunplus Generic Digital Camera + ++usb:v04FCp5563* ++ ID_MODEL_FROM_DATABASE=Digital Media Player MP3/WMA [The Sharper Image] ++ + usb:v04FCp5720* + ID_MODEL_FROM_DATABASE=Card Reader Driver + ++usb:v04FCp6333* ++ ID_MODEL_FROM_DATABASE=Siri A9 UVC chipset ++ + usb:v04FCp7333* + ID_MODEL_FROM_DATABASE=Finet Technology Palmpix DC-85 + +@@ -15239,6 +15425,18 @@ usb:v0502p3325* + usb:v0502p3341* + ID_MODEL_FROM_DATABASE=Iconia tablet A500 + ++usb:v0502p33C3* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 ++ ++usb:v0502p33C4* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode) ++ ++usb:v0502p33C7* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (USB tethering) ++ ++usb:v0502p33C8* ++ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode, USB tethering) ++ + usb:v0502pD001* + ID_MODEL_FROM_DATABASE=Divio NW801/DVC-V6+ Digital Camera + +@@ -15446,6 +15644,9 @@ usb:v050Dp0416* + usb:v050Dp0551* + ID_MODEL_FROM_DATABASE=F6C550-AVR UPS + ++usb:v050Dp065A* ++ ID_MODEL_FROM_DATABASE=F8T065BF Mini Bluetooth 4.0 Adapter ++ + usb:v050Dp0706* + ID_MODEL_FROM_DATABASE=2-N-1 7-Port Hub (Lower half) + +@@ -15497,6 +15698,9 @@ usb:v050Dp2103* + usb:v050Dp21F1* + ID_MODEL_FROM_DATABASE=N300 WLAN N Adapter [ISY] + ++usb:v050Dp21F2* ++ ID_MODEL_FROM_DATABASE=RTL8192CU 802.11n WLAN Adapter [ISY IWL 4000] ++ + usb:v050Dp258A* + ID_MODEL_FROM_DATABASE=F5U258 Host to Host cable + +@@ -15728,6 +15932,9 @@ usb:v0525p1200* + usb:v0525p1265* + ID_MODEL_FROM_DATABASE=File-backed Storage Gadget + ++usb:v0525p3424* ++ ID_MODEL_FROM_DATABASE=Lumidigm Venus fingerprint sensor ++ + usb:v0525pA0F0* + ID_MODEL_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2 + +@@ -16655,6 +16862,9 @@ usb:v054Cp035B* + usb:v054Cp035C* + ID_MODEL_FROM_DATABASE=NWZ-A726/A728/A729 + ++usb:v054Cp035F* ++ ID_MODEL_FROM_DATABASE=UP-DR200 Photo Printer ++ + usb:v054Cp0382* + ID_MODEL_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1) + +@@ -16694,9 +16904,18 @@ usb:v054Cp0485* + usb:v054Cp04CB* + ID_MODEL_FROM_DATABASE=WALKMAN NWZ-E354 + ++usb:v054Cp0541* ++ ID_MODEL_FROM_DATABASE=DSC-HX100V [Cybershot Digital Still Camera] ++ ++usb:v054Cp0689* ++ ID_MODEL_FROM_DATABASE=Walkman NWZ-B173F ++ + usb:v054Cp06BB* + ID_MODEL_FROM_DATABASE=WALKMAN NWZ-F805 + ++usb:v054Cp088C* ++ ID_MODEL_FROM_DATABASE=Portable Headphone Amplifier ++ + usb:v054Cp1000* + ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver + +@@ -16721,6 +16940,12 @@ usb:v0550p0004* + usb:v0550p0005* + ID_MODEL_FROM_DATABASE=InkJet Color Printer + ++usb:v0550p000B* ++ ID_MODEL_FROM_DATABASE=Workcentre 24 ++ ++usb:v0550p014E* ++ ID_MODEL_FROM_DATABASE=CM215b Printer ++ + usb:v0551* + ID_VENDOR_FROM_DATABASE=CompuTrend Systems, Inc. + +@@ -17306,6 +17531,9 @@ usb:v056Ap0069* + usb:v056Ap0081* + ID_MODEL_FROM_DATABASE=Graphire Wireless 6x8 + ++usb:v056Ap0084* ++ ID_MODEL_FROM_DATABASE=Wireless adapter for Bamboo tablets ++ + usb:v056Ap0090* + ID_MODEL_FROM_DATABASE=TPC90 + +@@ -17372,6 +17600,9 @@ usb:v056Ap00D1* + usb:v056Ap00D3* + ID_MODEL_FROM_DATABASE=Bamboo Fun (CTH-661) + ++usb:v056Ap00D4* ++ ID_MODEL_FROM_DATABASE=Bamboo Pen (CTL-460) ++ + usb:v056Ap00D6* + ID_MODEL_FROM_DATABASE=Bamboo Pen & Touch (CTH-460) + +@@ -17390,6 +17621,12 @@ usb:v056Ap00F6* + usb:v056Ap00F8* + ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet + ++usb:v056Ap0307* ++ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) tablet ++ ++usb:v056Ap0309* ++ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) touchscreen ++ + usb:v056Ap0400* + ID_MODEL_FROM_DATABASE=PenPartner 4x5 + +@@ -18719,6 +18956,9 @@ usb:v0586p341E* + usb:v0586p341F* + ID_MODEL_FROM_DATABASE=NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU] + ++usb:v0586p3425* ++ ID_MODEL_FROM_DATABASE=NWD6505 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] ++ + usb:v0586p343E* + ID_MODEL_FROM_DATABASE=N220 802.11bgn Wireless Adapter + +@@ -18737,9 +18977,15 @@ usb:v058A* + usb:v058B* + ID_VENDOR_FROM_DATABASE=Infineon Technologies + ++usb:v058Bp0015* ++ ID_MODEL_FROM_DATABASE=Flash Loader utility ++ + usb:v058Bp001C* + ID_MODEL_FROM_DATABASE=Flash Drive + ++usb:v058Bp0041* ++ ID_MODEL_FROM_DATABASE=Flash Loader utility ++ + usb:v058C* + ID_VENDOR_FROM_DATABASE=In Focus Systems + +@@ -18855,7 +19101,7 @@ usb:v058Fp6366* + ID_MODEL_FROM_DATABASE=Multi Flash Reader + + usb:v058Fp6377* +- ID_MODEL_FROM_DATABASE=Multimedia Card Reader ++ ID_MODEL_FROM_DATABASE=AU6375 4-LUN card reader + + usb:v058Fp6386* + ID_MODEL_FROM_DATABASE=Memory Card +@@ -18926,12 +19172,18 @@ usb:v058Fp9510* + usb:v058Fp9520* + ID_MODEL_FROM_DATABASE=EMV Certified Smart Card Reader + ++usb:v058Fp9540* ++ ID_MODEL_FROM_DATABASE=AU9540 Smartcard Reader ++ + usb:v058Fp9720* + ID_MODEL_FROM_DATABASE=USB-Serial Adapter + + usb:v058FpA014* + ID_MODEL_FROM_DATABASE=Asus Integrated Webcam + ++usb:v058FpB002* ++ ID_MODEL_FROM_DATABASE=Acer Integrated Webcam ++ + usb:v0590* + ID_VENDOR_FROM_DATABASE=Omron Corp. + +@@ -18983,6 +19235,9 @@ usb:v0596p0002* + usb:v0596p0500* + ID_MODEL_FROM_DATABASE=PCT Multitouch HID Controller + ++usb:v0596p0543* ++ ID_MODEL_FROM_DATABASE=DELL XPS touchscreen ++ + usb:v0597* + ID_VENDOR_FROM_DATABASE=Trisignal Communications + +@@ -19055,6 +19310,9 @@ usb:v059Bp0061* + usb:v059Bp006D* + ID_MODEL_FROM_DATABASE=HipZip MP3 Player + ++usb:v059Bp0070* ++ ID_MODEL_FROM_DATABASE=eGo Portable Hard Drive ++ + usb:v059Bp007C* + ID_MODEL_FROM_DATABASE=Ultra Max USB/1394 + +@@ -19163,9 +19421,15 @@ usb:v059Fp0323* + usb:v059Fp0421* + ID_MODEL_FROM_DATABASE=Big Disk G465 + ++usb:v059Fp0525* ++ ID_MODEL_FROM_DATABASE=BigDisk Extreme 500 ++ + usb:v059Fp0641* + ID_MODEL_FROM_DATABASE=Mobile Hard Drive + ++usb:v059Fp0829* ++ ID_MODEL_FROM_DATABASE=BigDisk Extreme+ ++ + usb:v059Fp100C* + ID_MODEL_FROM_DATABASE=Rugged Triple Interface Mobile Hard Drive + +@@ -19190,6 +19454,9 @@ usb:v059Fp1049* + usb:v059Fp1052* + ID_MODEL_FROM_DATABASE=P'9220 Mobile Drive + ++usb:v059Fp1064* ++ ID_MODEL_FROM_DATABASE=Rugged 16 and 32 GB ++ + usb:v059FpA601* + ID_MODEL_FROM_DATABASE=HardDrive + +@@ -19464,7 +19731,7 @@ usb:v05ACp0225* + ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS) + + usb:v05ACp0229* +- ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ANSI) ++ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI) + + usb:v05ACp022A* + ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ISO) +@@ -19545,7 +19812,7 @@ usb:v05ACp0302* + ID_MODEL_FROM_DATABASE=Optical Mouse [Fujitsu] + + usb:v05ACp0304* +- ID_MODEL_FROM_DATABASE=Optical USB Mouse [Mitsumi] ++ ID_MODEL_FROM_DATABASE=Mighty Mouse [Mitsumi, M1152] + + usb:v05ACp0306* + ID_MODEL_FROM_DATABASE=Optical USB Mouse [Fujitsu] +@@ -19577,6 +19844,9 @@ usb:v05ACp1003* + usb:v05ACp1006* + ID_MODEL_FROM_DATABASE=Hub in Aluminum Keyboard + ++usb:v05ACp1008* ++ ID_MODEL_FROM_DATABASE=Mini DisplayPort to Dual-Link DVI Adapter ++ + usb:v05ACp1101* + ID_MODEL_FROM_DATABASE=Speakers + +@@ -19670,6 +19940,9 @@ usb:v05ACp1265* + usb:v05ACp1266* + ID_MODEL_FROM_DATABASE=iPod Nano 6.Gen + ++usb:v05ACp1267* ++ ID_MODEL_FROM_DATABASE=iPod Nano 7.Gen ++ + usb:v05ACp1281* + ID_MODEL_FROM_DATABASE=Apple Mobile Device [Recovery Mode] + +@@ -19700,6 +19973,9 @@ usb:v05ACp1299* + usb:v05ACp129A* + ID_MODEL_FROM_DATABASE=iPad + ++usb:v05ACp129C* ++ ID_MODEL_FROM_DATABASE=iPhone 4(CDMA) ++ + usb:v05ACp129E* + ID_MODEL_FROM_DATABASE=iPod Touch 4.Gen + +@@ -19712,15 +19988,30 @@ usb:v05ACp12A0* + usb:v05ACp12A2* + ID_MODEL_FROM_DATABASE=iPad 2 (3G; 64GB) + ++usb:v05ACp12A3* ++ ID_MODEL_FROM_DATABASE=iPad 2 (CDMA) ++ ++usb:v05ACp12A4* ++ ID_MODEL_FROM_DATABASE=iPad 3 (wifi) ++ ++usb:v05ACp12A5* ++ ID_MODEL_FROM_DATABASE=iPad 3 (CDMA) ++ + usb:v05ACp12A6* + ID_MODEL_FROM_DATABASE=iPad 3 (3G, 16 GB) + ++usb:v05ACp12A8* ++ ID_MODEL_FROM_DATABASE=iPhone5/5C/5S ++ + usb:v05ACp12A9* + ID_MODEL_FROM_DATABASE=iPad 2 + + usb:v05ACp12AA* + ID_MODEL_FROM_DATABASE=iPod Touch 5.Gen [A1421] + ++usb:v05ACp12AB* ++ ID_MODEL_FROM_DATABASE=iPad 4 (WiFi, 32GB) ++ + usb:v05ACp1300* + ID_MODEL_FROM_DATABASE=iPod Shuffle + +@@ -19742,6 +20033,15 @@ usb:v05ACp1402* + usb:v05ACp1500* + ID_MODEL_FROM_DATABASE=SuperDrive [A1379] + ++usb:v05ACp8005* ++ ID_MODEL_FROM_DATABASE=OHCI Root Hub Simulation ++ ++usb:v05ACp8006* ++ ID_MODEL_FROM_DATABASE=EHCI Root Hub Simulation ++ ++usb:v05ACp8007* ++ ID_MODEL_FROM_DATABASE=XHCI Root Hub USB 2.0 Simulation ++ + usb:v05ACp8202* + ID_MODEL_FROM_DATABASE=HCF V.90 Data/Fax Modem + +@@ -19838,6 +20138,9 @@ usb:v05ACp8510* + usb:v05ACp911C* + ID_MODEL_FROM_DATABASE=Hub in A1082 [Cinema HD Display 23"] + ++usb:v05ACp9127* ++ ID_MODEL_FROM_DATABASE=Hub in Thunderbolt Display ++ + usb:v05ACp912F* + ID_MODEL_FROM_DATABASE=Hub in 30" Cinema Display + +@@ -20042,6 +20345,9 @@ usb:v05C6p9202* + usb:v05C6p9203* + ID_MODEL_FROM_DATABASE=Gobi Wireless Modem + ++usb:v05C6p9205* ++ ID_MODEL_FROM_DATABASE=Gobi 2000 ++ + usb:v05C6p9211* + ID_MODEL_FROM_DATABASE=Acer Gobi Wireless Modem (QDL mode) + +@@ -20123,9 +20429,18 @@ usb:v05C8p021A* + usb:v05C8p0318* + ID_MODEL_FROM_DATABASE=Webcam + ++usb:v05C8p0361* ++ ID_MODEL_FROM_DATABASE=SunplusIT INC. HP Truevision HD Webcam ++ ++usb:v05C8p036E* ++ ID_MODEL_FROM_DATABASE=Webcam ++ + usb:v05C8p0403* + ID_MODEL_FROM_DATABASE=Webcam + ++usb:v05C8p041B* ++ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam ++ + usb:v05C9* + ID_VENDOR_FROM_DATABASE=Semtech Corp. + +@@ -20861,6 +21176,9 @@ usb:v05DCp4D12* + usb:v05DCp4D30* + ID_MODEL_FROM_DATABASE=MP3 Player + ++usb:v05DCpA209* ++ ID_MODEL_FROM_DATABASE=JumpDrive S70 ++ + usb:v05DCpA300* + ID_MODEL_FROM_DATABASE=JumpDrive2 + +@@ -20921,6 +21239,9 @@ usb:v05DCpA701* + usb:v05DCpA731* + ID_MODEL_FROM_DATABASE=JumpDrive FireFly + ++usb:v05DCpA768* ++ ID_MODEL_FROM_DATABASE=JumpDrive Retrax ++ + usb:v05DCpA790* + ID_MODEL_FROM_DATABASE=JumpDrive 2GB + +@@ -20930,6 +21251,9 @@ usb:v05DCpA811* + usb:v05DCpA813* + ID_MODEL_FROM_DATABASE=16gB flash thumb drive + ++usb:v05DCpA815* ++ ID_MODEL_FROM_DATABASE=JumpDrive V10 ++ + usb:v05DCpB002* + ID_MODEL_FROM_DATABASE=USB CF Reader + +@@ -20939,6 +21263,9 @@ usb:v05DCpB018* + usb:v05DCpB047* + ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000] + ++usb:v05DCpBA02* ++ ID_MODEL_FROM_DATABASE=Workflow CFR1 ++ + usb:v05DCpC753* + ID_MODEL_FROM_DATABASE=JumpDrive TwistTurn + +@@ -21084,7 +21411,7 @@ usb:v05E3p0607* + ID_MODEL_FROM_DATABASE=Logitech G110 Hub + + usb:v05E3p0608* +- ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB ++ ID_MODEL_FROM_DATABASE=Hub + + usb:v05E3p0610* + ID_MODEL_FROM_DATABASE=4-port hub +@@ -21158,6 +21485,9 @@ usb:v05E3p0718* + usb:v05E3p0719* + ID_MODEL_FROM_DATABASE=SATA adapter + ++usb:v05E3p0722* ++ ID_MODEL_FROM_DATABASE=SD/MMC card reader ++ + usb:v05E3p0723* + ID_MODEL_FROM_DATABASE=GL827L SD/MMC/MS Flash Card Reader + +@@ -21170,9 +21500,18 @@ usb:v05E3p0727* + usb:v05E3p0731* + ID_MODEL_FROM_DATABASE=GL3310 SATA 3Gb/s Bridge Controller + ++usb:v05E3p0732* ++ ID_MODEL_FROM_DATABASE=All-in-One Cardreader ++ + usb:v05E3p0736* + ID_MODEL_FROM_DATABASE=microSD Reader/Writer + ++usb:v05E3p0741* ++ ID_MODEL_FROM_DATABASE=microSD Card Reader ++ ++usb:v05E3p0743* ++ ID_MODEL_FROM_DATABASE=SDXC and microSDXC CardReader ++ + usb:v05E3p0760* + ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader/Writer + +@@ -21296,6 +21635,9 @@ usb:v05F3p0081* + usb:v05F3p00FF* + ID_MODEL_FROM_DATABASE=VEC Footpedal + ++usb:v05F3p0203* ++ ID_MODEL_FROM_DATABASE=Y-mouse Keyboard & Mouse Adapter ++ + usb:v05F3p020B* + ID_MODEL_FROM_DATABASE=PS2 Adapter + +@@ -21410,6 +21752,9 @@ usb:v05FEp0014* + usb:v05FEp1010* + ID_MODEL_FROM_DATABASE=Optical Wireless + ++usb:v05FEp2001* ++ ID_MODEL_FROM_DATABASE=Microsoft Wireless Receiver 700 ++ + usb:v05FF* + ID_VENDOR_FROM_DATABASE=LeCroy Corp. + +@@ -21434,6 +21779,9 @@ usb:v0603* + usb:v0603p00F1* + ID_MODEL_FROM_DATABASE=Keyboard + ++usb:v0603p00F2* ++ ID_MODEL_FROM_DATABASE=Keyboard (Labtec Ultra Flat Keyboard) ++ + usb:v0603p6871* + ID_MODEL_FROM_DATABASE=Mouse + +@@ -21491,6 +21839,9 @@ usb:v060Bp2231* + usb:v060Bp2270* + ID_MODEL_FROM_DATABASE=Gigabyte K8100 Aivia Gaming Keyboard + ++usb:v060Bp5253* ++ ID_MODEL_FROM_DATABASE=Thermaltake MEKA G-Unit Gaming Keyboard ++ + usb:v060Bp5811* + ID_MODEL_FROM_DATABASE=ACK-571U Wireless Keyboard + +@@ -21911,6 +22262,9 @@ usb:v064EpA110* + usb:v064EpA114* + ID_MODEL_FROM_DATABASE=Lemote Webcam + ++usb:v064EpA116* ++ ID_MODEL_FROM_DATABASE=UVC 1.3MPixel WebCam ++ + usb:v064EpA136* + ID_MODEL_FROM_DATABASE=Asus Integrated Webcam [CN031B] + +@@ -22893,7 +23247,7 @@ usb:v068Ep00F4* + ID_MODEL_FROM_DATABASE=Combatstick + + usb:v068Ep00FA* +- ID_MODEL_FROM_DATABASE=Flight Sim Pedals ++ ID_MODEL_FROM_DATABASE=Ch Throttle Quadrant + + usb:v068Ep00FF* + ID_MODEL_FROM_DATABASE=Flight Sim Yoke +@@ -22955,6 +23309,9 @@ usb:v0698p9999* + usb:v0699* + ID_VENDOR_FROM_DATABASE=Tektronix, Inc. + ++usb:v0699p0347* ++ ID_MODEL_FROM_DATABASE=AFG 3022B ++ + usb:v069A* + ID_VENDOR_FROM_DATABASE=Askey Computer Corp. + +@@ -23486,6 +23843,9 @@ usb:v06C2* + usb:v06C2p0030* + ID_MODEL_FROM_DATABASE=PhidgetRFID + ++usb:v06C2p0031* ++ ID_MODEL_FROM_DATABASE=RFID reader ++ + usb:v06C2p0038* + ID_MODEL_FROM_DATABASE=4-Motor PhidgetServo v3.0 + +@@ -23789,6 +24149,12 @@ usb:v06D3p0394* + usb:v06D3p03A1* + ID_MODEL_FROM_DATABASE=CP9550D/DW Port + ++usb:v06D3p3B30* ++ ID_MODEL_FROM_DATABASE=CP-D70DW / CP-D707DW ++ ++usb:v06D3p3B31* ++ ID_MODEL_FROM_DATABASE=CP-K60DW-S ++ + usb:v06D4* + ID_VENDOR_FROM_DATABASE=Cisco Systems + +@@ -24575,6 +24941,9 @@ usb:v072Fp1000* + usb:v072Fp1001* + ID_MODEL_FROM_DATABASE=PLDT Drive + ++usb:v072Fp2200* ++ ID_MODEL_FROM_DATABASE=ACR122U ++ + usb:v072Fp8002* + ID_MODEL_FROM_DATABASE=AET63 BioTRUSTKey + +@@ -25046,6 +25415,12 @@ usb:v0765* + usb:v0765p5001* + ID_MODEL_FROM_DATABASE=Huey PRO Colorimeter + ++usb:v0765p5020* ++ ID_MODEL_FROM_DATABASE=i1 Display Pro ++ ++usb:v0765p6003* ++ ID_MODEL_FROM_DATABASE=ColorMunki Smile ++ + usb:v0765pD094* + ID_MODEL_FROM_DATABASE=X-Rite DTP94 [Quato Silver Haze Pro] + +@@ -25325,12 +25700,24 @@ usb:v0781p5530* + usb:v0781p5567* + ID_MODEL_FROM_DATABASE=Cruzer Blade + ++usb:v0781p556C* ++ ID_MODEL_FROM_DATABASE=Ultra ++ ++usb:v0781p556D* ++ ID_MODEL_FROM_DATABASE=Memory Vault ++ + usb:v0781p5571* + ID_MODEL_FROM_DATABASE=Cruzer Fit + ++usb:v0781p5576* ++ ID_MODEL_FROM_DATABASE=Cruzer Facet ++ + usb:v0781p5580* + ID_MODEL_FROM_DATABASE=SDCZ80 Flash Drive + ++usb:v0781p5581* ++ ID_MODEL_FROM_DATABASE=Ultra ++ + usb:v0781p5E10* + ID_MODEL_FROM_DATABASE=Encrypted + +@@ -25830,7 +26217,7 @@ usb:v07AAp001A* + ID_MODEL_FROM_DATABASE=ULUSB-11 Key + + usb:v07AAp001C* +- ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] ++ ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] + + usb:v07AAp002E* + ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] +@@ -26114,6 +26501,9 @@ usb:v07B4p0114* + usb:v07B4p0118* + ID_MODEL_FROM_DATABASE=Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW + ++usb:v07B4p0125* ++ ID_MODEL_FROM_DATABASE=Tough TG-1 Camera ++ + usb:v07B4p0184* + ID_MODEL_FROM_DATABASE=P-S100 port + +@@ -26441,6 +26831,9 @@ usb:v07C4pA400* + usb:v07C4pA600* + ID_MODEL_FROM_DATABASE=Card Reader + ++usb:v07C4pA604* ++ ID_MODEL_FROM_DATABASE=12-in-1 Card Reader ++ + usb:v07C4pAD01* + ID_MODEL_FROM_DATABASE=Mass Storage Device + +@@ -26474,6 +26867,9 @@ usb:v07C4pC010* + usb:v07C5* + ID_VENDOR_FROM_DATABASE=APG Cash Drawer + ++usb:v07C5p0500* ++ ID_MODEL_FROM_DATABASE=Cash Drawer ++ + usb:v07C6* + ID_VENDOR_FROM_DATABASE=ShareWave, Inc. + +@@ -27140,6 +27536,9 @@ usb:v0803* + usb:v0803p1300* + ID_MODEL_FROM_DATABASE=V92 Faxmodem + ++usb:v0803p3095* ++ ID_MODEL_FROM_DATABASE=V.92 56K Mini External Modem Model 3095 ++ + usb:v0803p4310* + ID_MODEL_FROM_DATABASE=4410a Wireless-G Adapter [Intersil ISL3887] + +@@ -27713,6 +28112,9 @@ usb:v0846p9018* + usb:v0846p9020* + ID_MODEL_FROM_DATABASE=WNA3100(v1) Wireless-N 300 [Broadcom BCM43231] + ++usb:v0846p9021* ++ ID_MODEL_FROM_DATABASE=WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU] ++ + usb:v0846p9030* + ID_MODEL_FROM_DATABASE=WNA1100 Wireless-N 150 [Atheros AR9271] + +@@ -27722,9 +28124,21 @@ usb:v0846p9040* + usb:v0846p9041* + ID_MODEL_FROM_DATABASE=WNA1000M 802.11bgn [Realtek RTL8188CUS] + ++usb:v0846p9042* ++ ID_MODEL_FROM_DATABASE=On Networks N150MA 802.11bgn [Realtek RTL8188CUS] ++ ++usb:v0846p9050* ++ ID_MODEL_FROM_DATABASE=A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] ++ ++usb:v0846p9052* ++ ID_MODEL_FROM_DATABASE=A6100 AC600 DB Wireless Adapter [Realtek RTL8811AU] ++ + usb:v0846pA001* + ID_MODEL_FROM_DATABASE=PA101 10 Mbps HPNA Home Phoneline RJ-1 + ++usb:v0846pF001* ++ ID_MODEL_FROM_DATABASE=On Networks N300MA 802.11bgn [Realtek RTL8192CU] ++ + usb:v084D* + ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co., Inc. + +@@ -27875,8 +28289,17 @@ usb:v085Ap8027* + usb:v085C* + ID_VENDOR_FROM_DATABASE=ColorVision, Inc. + ++usb:v085Cp0100* ++ ID_MODEL_FROM_DATABASE=Spyder 1 ++ + usb:v085Cp0200* +- ID_MODEL_FROM_DATABASE=Monitor Spyder ++ ID_MODEL_FROM_DATABASE=Spyder 2 ++ ++usb:v085Cp0300* ++ ID_MODEL_FROM_DATABASE=Spyder 3 ++ ++usb:v085Cp0400* ++ ID_MODEL_FROM_DATABASE=Spyder 4 + + usb:v0862* + ID_VENDOR_FROM_DATABASE=Teletrol Systems, Inc. +@@ -28127,6 +28550,12 @@ usb:v0892* + usb:v0892p0101* + ID_MODEL_FROM_DATABASE=Smartdio Reader/Writer + ++usb:v0894* ++ ID_VENDOR_FROM_DATABASE=TSI Incorporated ++ ++usb:v0894p0010* ++ ID_MODEL_FROM_DATABASE=Remote NDIS Network Device ++ + usb:v0897* + ID_VENDOR_FROM_DATABASE=Lauterbach + +@@ -28181,6 +28610,18 @@ usb:v08A9p0015* + usb:v08AE* + ID_VENDOR_FROM_DATABASE=Macally (Mace Group, Inc.) + ++usb:v08B0* ++ ID_VENDOR_FROM_DATABASE=Metrohm ++ ++usb:v08B0p0006* ++ ID_MODEL_FROM_DATABASE=814 Sample Processor ++ ++usb:v08B0p0015* ++ ID_MODEL_FROM_DATABASE=857 Titrando ++ ++usb:v08B0p001A* ++ ID_MODEL_FROM_DATABASE=852 Titrando ++ + usb:v08B4* + ID_VENDOR_FROM_DATABASE=Sorenson Vision, Inc. + +@@ -29036,6 +29477,12 @@ usb:v0906* + usb:v0908* + ID_VENDOR_FROM_DATABASE=Siemens AG + ++usb:v0908p01F4* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5711 ++ ++usb:v0908p01FE* ++ ID_MODEL_FROM_DATABASE=SIMATIC NET PC Adapter A2 ++ + usb:v0908p2701* + ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA + +@@ -29285,12 +29732,18 @@ usb:v091Ep23CC* + usb:v091Ep2459* + ID_MODEL_FROM_DATABASE=GPSmap 62/78 series + ++usb:v091Ep2491* ++ ID_MODEL_FROM_DATABASE=Edge 800 ++ + usb:v091Ep2519* + ID_MODEL_FROM_DATABASE=eTrex 30 + + usb:v091Ep2535* + ID_MODEL_FROM_DATABASE=Edge 800 + ++usb:v091Ep253C* ++ ID_MODEL_FROM_DATABASE=GPSmap 62sc ++ + usb:v091Ep255B* + ID_MODEL_FROM_DATABASE=Nuvi 2505LM + +@@ -29315,12 +29768,18 @@ usb:v0922p0007* + usb:v0922p0009* + ID_MODEL_FROM_DATABASE=LabelWriter 310 + ++usb:v0922p0019* ++ ID_MODEL_FROM_DATABASE=LabelWriter 400 ++ + usb:v0922p001A* + ID_MODEL_FROM_DATABASE=LabelWriter 400 Turbo + + usb:v0922p0020* + ID_MODEL_FROM_DATABASE=LabelWriter 450 + ++usb:v0922p1001* ++ ID_MODEL_FROM_DATABASE=LabelManager PnP ++ + usb:v0923* + ID_VENDOR_FROM_DATABASE=IC Media Corp. + +@@ -29363,6 +29822,9 @@ usb:v0925* + usb:v0925p0005* + ID_MODEL_FROM_DATABASE=Gamtec.,Ltd SmartJoy PLUS Adapter + ++usb:v0925p03E8* ++ ID_MODEL_FROM_DATABASE=Wii Classic Controller Adapter ++ + usb:v0925p3881* + ID_MODEL_FROM_DATABASE=Saleae Logic + +@@ -29417,6 +29879,9 @@ usb:v0930p000C* + usb:v0930p0010* + ID_MODEL_FROM_DATABASE=Gigabeat S (mtp) + ++usb:v0930p0200* ++ ID_MODEL_FROM_DATABASE=Integrated Bluetooth (Taiyo Yuden) ++ + usb:v0930p0301* + ID_MODEL_FROM_DATABASE=PCX1100U Cable Modem (WDM) + +@@ -29483,6 +29948,9 @@ usb:v0930p070B* + usb:v0930p0A07* + ID_MODEL_FROM_DATABASE=WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572] + ++usb:v0930p0A13* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Toshiba] ++ + usb:v0930p0B05* + ID_MODEL_FROM_DATABASE=PX1220E-1G25 External hard drive + +@@ -29691,7 +30159,7 @@ usb:v0939* + ID_VENDOR_FROM_DATABASE=Lumberg, Inc. + + usb:v0939p0B15* +- ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0) ++ ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 + + usb:v093A* + ID_VENDOR_FROM_DATABASE=Pixart Imaging, Inc. +@@ -29753,6 +30221,9 @@ usb:v093Ap260F* + usb:v093Ap2621* + ID_MODEL_FROM_DATABASE=PAC731x Trust Webcam + ++usb:v093Ap2622* ++ ID_MODEL_FROM_DATABASE=Webcam Genius ++ + usb:v093Ap2624* + ID_MODEL_FROM_DATABASE=Webcam + +@@ -29951,6 +30422,9 @@ usb:v0951p1653* + usb:v0951p1656* + ID_MODEL_FROM_DATABASE=DataTraveler Ultimate G2 + ++usb:v0951p1665* ++ ID_MODEL_FROM_DATABASE=Digital DataTraveler SE9 64GB ++ + usb:v0951p1689* + ID_MODEL_FROM_DATABASE=DataTraveler SE9 + +@@ -29993,6 +30467,9 @@ usb:v0957p0200* + usb:v0957p0202* + ID_MODEL_FROM_DATABASE=E-Video DC-350 Camera + ++usb:v0957p0407* ++ ID_MODEL_FROM_DATABASE=33220A Waveform Generator ++ + usb:v0957p0518* + ID_MODEL_FROM_DATABASE=82357B GPIB Interface + +@@ -30033,7 +30510,7 @@ usb:v095Dp0001* + ID_MODEL_FROM_DATABASE=Polycom ViaVideo + + usb:v0967* +- ID_VENDOR_FROM_DATABASE=Acer (??) ++ ID_VENDOR_FROM_DATABASE=Acer NeWeb Corp. + + usb:v0967p0204* + ID_MODEL_FROM_DATABASE=WarpLink 802.11b Adapter +@@ -30056,6 +30533,12 @@ usb:v096Ep0807* + usb:v0971* + ID_VENDOR_FROM_DATABASE=Gretag-Macbeth AG + ++usb:v0971p2000* ++ ID_MODEL_FROM_DATABASE=i1 Pro ++ ++usb:v0971p2001* ++ ID_MODEL_FROM_DATABASE=i1 Monitor ++ + usb:v0971p2003* + ID_MODEL_FROM_DATABASE=Eye-One display + +@@ -30063,7 +30546,7 @@ usb:v0971p2005* + ID_MODEL_FROM_DATABASE=Huey + + usb:v0971p2007* +- ID_MODEL_FROM_DATABASE=ColorMunki ++ ID_MODEL_FROM_DATABASE=ColorMunki Photo + + usb:v0973* + ID_VENDOR_FROM_DATABASE=Schlumberger +@@ -30182,6 +30665,9 @@ usb:v099Ap0638* + usb:v099Ap610C* + ID_MODEL_FROM_DATABASE=EL-610 Super Mini Electron luminescent Keyboard + ++usb:v099Ap713A* ++ ID_MODEL_FROM_DATABASE=WK-713 Multimedia Keyboard ++ + usb:v099Ap7160* + ID_MODEL_FROM_DATABASE=Hyper Slim Keyboard + +@@ -30375,7 +30861,10 @@ usb:v09D3* + ID_VENDOR_FROM_DATABASE=Com One + + usb:v09D3p0001* +- ID_MODEL_FROM_DATABASE=ISDN TA ++ ID_MODEL_FROM_DATABASE=ISDN TA / Light Rider 128K ++ ++usb:v09D3p000B* ++ ID_MODEL_FROM_DATABASE=Bluetooth Adapter class 1 [BlueLight] + + usb:v09D7* + ID_VENDOR_FROM_DATABASE=Novatel Wireless +@@ -30596,6 +31085,12 @@ usb:v0A07p00DA* + usb:v0A0B* + ID_VENDOR_FROM_DATABASE=Cybex Computer Products Co. + ++usb:v0A0D* ++ ID_VENDOR_FROM_DATABASE=Servergy, Inc ++ ++usb:v0A0Dp2514* ++ ID_MODEL_FROM_DATABASE=CTS-1000 Internal Hub ++ + usb:v0A11* + ID_VENDOR_FROM_DATABASE=Xentec, Inc. + +@@ -30887,6 +31382,9 @@ usb:v0A48p5024* + usb:v0A48p5025* + ID_MODEL_FROM_DATABASE=Mass Storage Device + ++usb:v0A4A* ++ ID_VENDOR_FROM_DATABASE=Ploytec GmbH ++ + usb:v0A4B* + ID_VENDOR_FROM_DATABASE=Fujitsu Media Devices, Ltd + +@@ -31217,6 +31715,9 @@ usb:v0A5CpBD11* + usb:v0A5CpBD13* + ID_MODEL_FROM_DATABASE=BCM4323 802.11abgn Wireless Adapter + ++usb:v0A5CpBD16* ++ ID_MODEL_FROM_DATABASE=BCM4319 802.11bgn Wireless Adapter ++ + usb:v0A5CpBD17* + ID_MODEL_FROM_DATABASE=BCM43236 802.11abgn Wireless Adapter + +@@ -31775,6 +32276,9 @@ usb:v0AC8pC33F* + usb:v0AC8pC429* + ID_MODEL_FROM_DATABASE=Lenovo ThinkCentre Web Camera + ++usb:v0AC8pC42D* ++ ID_MODEL_FROM_DATABASE=Lenovo IdeaCentre Web Camera ++ + usb:v0AC9* + ID_VENDOR_FROM_DATABASE=Micro Solutions, Inc. + +@@ -31823,6 +32327,9 @@ usb:v0ACDp0630* + usb:v0ACDp0810* + ID_MODEL_FROM_DATABASE=SecurePIN (IDPA-506100Y) PIN Pad + ++usb:v0ACDp2030* ++ ID_MODEL_FROM_DATABASE=ValueMag Magnetic Stripe Reader ++ + usb:v0ACE* + ID_VENDOR_FROM_DATABASE=ZyDAS + +@@ -32024,6 +32531,12 @@ usb:v0AF9p0010* + usb:v0AF9p0011* + ID_MODEL_FROM_DATABASE=Micro Innovations IC50C Webcam + ++usb:v0AFA* ++ ID_VENDOR_FROM_DATABASE=DMC Co., Ltd. ++ ++usb:v0AFAp07D2* ++ ID_MODEL_FROM_DATABASE=Controller Board for Projected Capacitive Touch Screen DUS3000 ++ + usb:v0AFC* + ID_VENDOR_FROM_DATABASE=Zaptronix Ltd + +@@ -32042,6 +32555,9 @@ usb:v0B00* + usb:v0B05* + ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. + ++usb:v0B05p0001* ++ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (CD-ROM mode) ++ + usb:v0B05p1101* + ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC4S) + +@@ -32147,6 +32663,9 @@ usb:v0B05p1784* + usb:v0B05p1786* + ID_MODEL_FROM_DATABASE=USB-N10 802.11n Network Adapter [Realtek RTL8188SU] + ++usb:v0B05p1788* ++ ID_MODEL_FROM_DATABASE=BT-270 Bluetooth Adapter ++ + usb:v0B05p1791* + ID_MODEL_FROM_DATABASE=WL-167G v3 802.11n Adapter [Realtek RTL8188SU] + +@@ -32159,12 +32678,18 @@ usb:v0B05p179E* + usb:v0B05p179F* + ID_MODEL_FROM_DATABASE=Eee Note EA800 (tablet mode) + ++usb:v0B05p17A0* ++ ID_MODEL_FROM_DATABASE=Xonar U3 sound card ++ + usb:v0B05p17A1* + ID_MODEL_FROM_DATABASE=Eee Note EA800 (mass storage mode) + + usb:v0B05p17AB* + ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] + ++usb:v0B05p17C9* ++ ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] ++ + usb:v0B05p4C80* + ID_MODEL_FROM_DATABASE=Transformer Pad TF300TG + +@@ -32183,6 +32708,12 @@ usb:v0B05p4D01* + usb:v0B05p4DAF* + ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700 (Fastboot) + ++usb:v0B05p5410* ++ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (MTP mode) ++ ++usb:v0B05p5412* ++ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) ++ + usb:v0B05p6101* + ID_MODEL_FROM_DATABASE=Cable Modem + +@@ -32228,9 +32759,15 @@ usb:v0B0E* + usb:v0B0Ep0420* + ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 + ++usb:v0B0Ep094D* ++ ID_MODEL_FROM_DATABASE=GN Netcom / Jabra REVO Wireless ++ + usb:v0B0Ep1022* + ID_MODEL_FROM_DATABASE=Jabra PRO 9450, Type 9400BS (DECT Headset) + ++usb:v0B0Ep2007* ++ ID_MODEL_FROM_DATABASE=GN 2000 Stereo Corded Headset ++ + usb:v0B0Ep620C* + ID_MODEL_FROM_DATABASE=Jabra BT620s + +@@ -32291,6 +32828,9 @@ usb:v0B33* + usb:v0B33p0020* + ID_MODEL_FROM_DATABASE=ShuttleXpress + ++usb:v0B33p0700* ++ ID_MODEL_FROM_DATABASE=RollerMouse Pro ++ + usb:v0B37* + ID_VENDOR_FROM_DATABASE=Hitachi ULSI Systems Co., Ltd + +@@ -32687,6 +33227,9 @@ usb:v0B95p1720* + usb:v0B95p1780* + ID_MODEL_FROM_DATABASE=AX88178 + ++usb:v0B95p1790* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet ++ + usb:v0B95p7720* + ID_MODEL_FROM_DATABASE=AX88772 + +@@ -32786,6 +33329,9 @@ usb:v0BAFp011B* + usb:v0BAFp0121* + ID_MODEL_FROM_DATABASE=USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B] + ++usb:v0BAFp0303* ++ ID_MODEL_FROM_DATABASE=USR5637 56K Faxmodem ++ + usb:v0BAFp6112* + ID_MODEL_FROM_DATABASE=FaxModem Model 5633 + +@@ -33332,6 +33878,9 @@ usb:v0BB4p0C01* + usb:v0BB4p0C02* + ID_MODEL_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo (Debug) + ++usb:v0BB4p0C03* ++ ID_MODEL_FROM_DATABASE=Android Phone [Fairphone First Edition (FP1)] ++ + usb:v0BB4p0C13* + ID_MODEL_FROM_DATABASE=Diamond + +@@ -33371,6 +33920,12 @@ usb:v0BB4p0CA2* + usb:v0BB4p0CA5* + ID_MODEL_FROM_DATABASE=Android Phone [Evo Shift 4G] + ++usb:v0BB4p0CAE* ++ ID_MODEL_FROM_DATABASE=T-Mobile MyTouch 4G Slide [Doubleshot] ++ ++usb:v0BB4p0DEA* ++ ID_MODEL_FROM_DATABASE=M7_UL [HTC One] ++ + usb:v0BB4p0FF8* + ID_MODEL_FROM_DATABASE=Desire HD (Tethering Mode) + +@@ -33443,18 +33998,33 @@ usb:v0BC2p2320* + usb:v0BC2p3008* + ID_MODEL_FROM_DATABASE=FreeAgent Desk 1TB + ++usb:v0BC2p3101* ++ ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB ++ ++usb:v0BC2p3312* ++ ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] ++ + usb:v0BC2p3320* + ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] + + usb:v0BC2p3332* + ID_MODEL_FROM_DATABASE=Expansion + ++usb:v0BC2p5020* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex ++ + usb:v0BC2p5021* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 2.0 + ++usb:v0BC2p5030* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Upgrade Cable STAE104 ++ + usb:v0BC2p5031* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 3.0 + ++usb:v0BC2p5070* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk ++ + usb:v0BC2p50A1* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk + +@@ -33476,6 +34046,9 @@ usb:v0BC2pA0A1* + usb:v0BC2pA0A4* + ID_MODEL_FROM_DATABASE=Backup Plus Desktop Drive + ++usb:v0BC2pAB00* ++ ID_MODEL_FROM_DATABASE=Slim Portable Drive ++ + usb:v0BC3* + ID_VENDOR_FROM_DATABASE=IPWireless, Inc. + +@@ -33650,6 +34223,12 @@ usb:v0BDAp0184* + usb:v0BDAp0186* + ID_MODEL_FROM_DATABASE=Card Reader + ++usb:v0BDAp0301* ++ ID_MODEL_FROM_DATABASE=multicard reader ++ ++usb:v0BDAp1724* ++ ID_MODEL_FROM_DATABASE=RTL8723AU 802.11n WLAN Adapter ++ + usb:v0BDAp2831* + ID_MODEL_FROM_DATABASE=RTL2831U DVB-T + +@@ -33707,6 +34286,9 @@ usb:v0BDAp8198* + usb:v0BDAp8199* + ID_MODEL_FROM_DATABASE=RTL8187SU 802.11g WLAN Adapter + ++usb:v0BDAp8812* ++ ID_MODEL_FROM_DATABASE=RTL8812AU 802.11a/b/g/n/ac WLAN Adapter ++ + usb:v0BDB* + ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV + +@@ -34038,7 +34620,7 @@ usb:v0C24p0019* + ID_MODEL_FROM_DATABASE=Bluetooth Device + + usb:v0C24p0021* +- ID_MODEL_FROM_DATABASE=Bluetooth Device ++ ID_MODEL_FROM_DATABASE=Bluetooth Device (V2.1+EDR) + + usb:v0C24p0C24* + ID_MODEL_FROM_DATABASE=Bluetooth Device(SAMPLE) +@@ -34142,6 +34724,9 @@ usb:v0C45* + usb:v0C45p0011* + ID_MODEL_FROM_DATABASE=EBUDDY + ++usb:v0C45p0520* ++ ID_MODEL_FROM_DATABASE=MaxTrack Wireless Mouse ++ + usb:v0C45p1018* + ID_MODEL_FROM_DATABASE=Compact Flash storage memory card reader + +@@ -34496,9 +35081,15 @@ usb:v0C45p62C0* + usb:v0C45p62E0* + ID_MODEL_FROM_DATABASE=MSI Starcam Racer + ++usb:v0C45p6300* ++ ID_MODEL_FROM_DATABASE=PC Microscope camera ++ + usb:v0C45p6310* + ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera + ++usb:v0C45p6340* ++ ID_MODEL_FROM_DATABASE=Camera ++ + usb:v0C45p6341* + ID_MODEL_FROM_DATABASE=Defender G-Lens 2577 HD720p Camera + +@@ -34526,6 +35117,12 @@ usb:v0C45p6419* + usb:v0C45p641D* + ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam + ++usb:v0C45p643F* ++ ID_MODEL_FROM_DATABASE=Dell Integrated HD Webcam ++ ++usb:v0C45p644D* ++ ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam ++ + usb:v0C45p6480* + ID_MODEL_FROM_DATABASE=Sonix 1.3 MP Laptop Integrated Webcam + +@@ -34535,6 +35132,9 @@ usb:v0C45p648B* + usb:v0C45p64BD* + ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera + ++usb:v0C45p7401* ++ ID_MODEL_FROM_DATABASE=TEMPer Temperature Sensor ++ + usb:v0C45p7402* + ID_MODEL_FROM_DATABASE=TEMPerHUM Temperature & Humidity Sensor + +@@ -35390,6 +35990,9 @@ usb:v0CF3p3000* + usb:v0CF3p3002* + ID_MODEL_FROM_DATABASE=AR3011 Bluetooth + ++usb:v0CF3p3004* ++ ID_MODEL_FROM_DATABASE=AR3012 Bluetooth 4.0 ++ + usb:v0CF3p3005* + ID_MODEL_FROM_DATABASE=AR3011 Bluetooth + +@@ -35564,6 +36167,15 @@ usb:v0D35* + usb:v0D3A* + ID_VENDOR_FROM_DATABASE=Posiflex Technologies, Inc. + ++usb:v0D3Ap0206* ++ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer ++ ++usb:v0D3Ap0207* ++ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer ++ ++usb:v0D3Ap0500* ++ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader ++ + usb:v0D3C* + ID_VENDOR_FROM_DATABASE=Sri Cable Technology, Ltd + +@@ -35573,6 +36185,9 @@ usb:v0D3D* + usb:v0D3Dp0001* + ID_MODEL_FROM_DATABASE=HID Keyboard + ++usb:v0D3Dp0040* ++ ID_MODEL_FROM_DATABASE=PS/2 Adapter ++ + usb:v0D3E* + ID_VENDOR_FROM_DATABASE=Fitcom, inc. + +@@ -35651,6 +36266,9 @@ usb:v0D49p7010* + usb:v0D49p7100* + ID_MODEL_FROM_DATABASE=OneTouch II 300GB External Hard Disk + ++usb:v0D49p7310* ++ ID_MODEL_FROM_DATABASE=OneTouch 4 ++ + usb:v0D49p7410* + ID_MODEL_FROM_DATABASE=Mobile Hard Disk Drive (1TB) + +@@ -35858,6 +36476,9 @@ usb:v0D78* + usb:v0D7A* + ID_VENDOR_FROM_DATABASE=MARX Datentechnik GmbH + ++usb:v0D7Ap0001* ++ ID_MODEL_FROM_DATABASE=CrypToken ++ + usb:v0D7B* + ID_VENDOR_FROM_DATABASE=Wellco Technology Co., Ltd + +@@ -36404,6 +37025,12 @@ usb:v0DB7* + usb:v0DB7p0002* + ID_MODEL_FROM_DATABASE=Goldpfeil P-LAN + ++usb:v0DBA* ++ ID_VENDOR_FROM_DATABASE=Digidesign ++ ++usb:v0DBAp3000* ++ ID_MODEL_FROM_DATABASE=Mbox 2 ++ + usb:v0DBC* + ID_VENDOR_FROM_DATABASE=A&D Medical + +@@ -36776,6 +37403,9 @@ usb:v0DF6p0060* + usb:v0DF6p0062* + ID_MODEL_FROM_DATABASE=WLA-5000 802.11abgn [Ralink RT3572] + ++usb:v0DF6p0072* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Sitecom] ++ + usb:v0DF6p061C* + ID_MODEL_FROM_DATABASE=LN-028 Network USB 2.0 Adapter + +@@ -37253,6 +37883,9 @@ usb:v0E79p14AD* + usb:v0E79p150E* + ID_MODEL_FROM_DATABASE=80 G9 + ++usb:v0E79p3001* ++ ID_MODEL_FROM_DATABASE=40 Titanium ++ + usb:v0E7B* + ID_VENDOR_FROM_DATABASE=On-Tech Industry Co., Ltd + +@@ -37292,9 +37925,15 @@ usb:v0E8Dp1806* + usb:v0E8Dp1836* + ID_MODEL_FROM_DATABASE=Samsung SE-S084 Super WriteMaster Slim External DVD writer + ++usb:v0E8Dp2000* ++ ID_MODEL_FROM_DATABASE=MT65xx Preloader ++ + usb:v0E8Dp3329* + ID_MODEL_FROM_DATABASE=Qstarz BT-Q1000XT + ++usb:v0E8Dp763E* ++ ID_MODEL_FROM_DATABASE=MT7630e Bluetooth Adapter ++ + usb:v0E8F* + ID_VENDOR_FROM_DATABASE=GreenAsia Inc. + +@@ -37302,7 +37941,7 @@ usb:v0E8Fp0003* + ID_MODEL_FROM_DATABASE=MaxFire Blaze2 + + usb:v0E8Fp0012* +- ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Gamepad ++ ID_MODEL_FROM_DATABASE=Joystick/Gamepad + + usb:v0E8Fp0016* + ID_MODEL_FROM_DATABASE=4 port USB 1.1 hub UH-174 +@@ -37436,9 +38075,18 @@ usb:v0EB7* + usb:v0EB8* + ID_VENDOR_FROM_DATABASE=Mettler Toledo + ++usb:v0EB8p2200* ++ ID_MODEL_FROM_DATABASE=Ariva Scale ++ + usb:v0EB8pF000* + ID_MODEL_FROM_DATABASE=PS60 Scale + ++usb:v0EBB* ++ ID_VENDOR_FROM_DATABASE=Thermo Fisher Scientific ++ ++usb:v0EBBp0002* ++ ID_MODEL_FROM_DATABASE=FT-IR Spectrometer ++ + usb:v0EBE* + ID_VENDOR_FROM_DATABASE=VWeb Corp. + +@@ -37559,6 +38207,12 @@ usb:v0EEFp0001* + usb:v0EEFp0002* + ID_MODEL_FROM_DATABASE=Touchscreen Controller(Professional) + ++usb:v0EEFp7200* ++ ID_MODEL_FROM_DATABASE=Touchscreen Controller ++ ++usb:v0EEFpA802* ++ ID_MODEL_FROM_DATABASE=eGalaxTouch EXC7920 ++ + usb:v0EF0* + ID_VENDOR_FROM_DATABASE=Hitachi Cable, Ltd + +@@ -37670,6 +38324,12 @@ usb:v0F12* + usb:v0F13* + ID_VENDOR_FROM_DATABASE=Acetek Technology Co., Ltd + ++usb:v0F14* ++ ID_VENDOR_FROM_DATABASE=Ingenico ++ ++usb:v0F14p0012* ++ ID_MODEL_FROM_DATABASE=Vital'Act 3S ++ + usb:v0F18* + ID_VENDOR_FROM_DATABASE=Finger Lakes Instrumentation + +@@ -37754,6 +38414,12 @@ usb:v0F37* + usb:v0F38* + ID_VENDOR_FROM_DATABASE=Nien-Yi Industrial Corp. + ++usb:v0F39* ++ ID_VENDOR_FROM_DATABASE=TG3 Electronics ++ ++usb:v0F39p0876* ++ ID_MODEL_FROM_DATABASE=Keyboard [87 Francium Pro] ++ + usb:v0F3D* + ID_VENDOR_FROM_DATABASE=Airprime, Incorporated + +@@ -37841,6 +38507,9 @@ usb:v0F63* + usb:v0F63p0010* + ID_MODEL_FROM_DATABASE=Leapster Explorer + ++usb:v0F63p0022* ++ ID_MODEL_FROM_DATABASE=Leap Reader ++ + usb:v0F63p0500* + ID_MODEL_FROM_DATABASE=Fly Fusion + +@@ -37928,6 +38597,9 @@ usb:v0F6Ep0404* + usb:v0F73* + ID_VENDOR_FROM_DATABASE=DFI + ++usb:v0F78* ++ ID_VENDOR_FROM_DATABASE=Guntermann & Drunck GmbH ++ + usb:v0F7C* + ID_VENDOR_FROM_DATABASE=DQ Technology, Inc. + +@@ -38064,7 +38736,7 @@ usb:v0FCAp8001* + ID_MODEL_FROM_DATABASE=Blackberry Handheld + + usb:v0FCAp8004* +- ID_MODEL_FROM_DATABASE=Blackberry Handheld ++ ID_MODEL_FROM_DATABASE=Blackberry + + usb:v0FCAp8007* + ID_MODEL_FROM_DATABASE=Blackberry Handheld +@@ -38147,6 +38819,12 @@ usb:v0FCEp3138* + usb:v0FCEp3149* + ID_MODEL_FROM_DATABASE=Xperia X8 + ++usb:v0FCEp514F* ++ ID_MODEL_FROM_DATABASE=Xperia arc S [Adb-Enable Mode] ++ ++usb:v0FCEp5169* ++ ID_MODEL_FROM_DATABASE=Xperia S [Adb-Enable Mode] ++ + usb:v0FCEp5177* + ID_MODEL_FROM_DATABASE=Xperia Ion [Debug Mode] + +@@ -38309,6 +38987,9 @@ usb:v0FCEpE166* + usb:v0FCEpE167* + ID_MODEL_FROM_DATABASE=XPERIA mini + ++usb:v0FCEpF0FA* ++ ID_MODEL_FROM_DATABASE=Liveview micro display MN800 in DFU mode ++ + usb:v0FCF* + ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc. + +@@ -38316,13 +38997,16 @@ usb:v0FCFp1003* + ID_MODEL_FROM_DATABASE=ANT Development Board + + usb:v0FCFp1004* +- ID_MODEL_FROM_DATABASE=ANT2USB ++ ID_MODEL_FROM_DATABASE=ANTUSB Stick + + usb:v0FCFp1006* + ID_MODEL_FROM_DATABASE=ANT Development Board + + usb:v0FCFp1008* +- ID_MODEL_FROM_DATABASE=Mini stick Suunto ++ ID_MODEL_FROM_DATABASE=ANTUSB2 Stick ++ ++usb:v0FCFp1009* ++ ID_MODEL_FROM_DATABASE=ANTUSB-m Stick + + usb:v0FD0* + ID_VENDOR_FROM_DATABASE=Tulip Computers B.V. +@@ -38378,6 +39062,12 @@ usb:v0FDAp0100* + usb:v0FDC* + ID_VENDOR_FROM_DATABASE=Micro Plus + ++usb:v0FDE* ++ ID_VENDOR_FROM_DATABASE=Oregon Scientific ++ ++usb:v0FDEpCA01* ++ ID_MODEL_FROM_DATABASE=WMRS200 weather station ++ + usb:v0FE0* + ID_VENDOR_FROM_DATABASE=Osterhout Design Group + +@@ -38471,6 +39161,9 @@ usb:v0FFF* + usb:v1000* + ID_VENDOR_FROM_DATABASE=Speed Tech Corp. + ++usb:v1000p153B* ++ ID_MODEL_FROM_DATABASE=TerraTec Electronic GmbH ++ + usb:v1001* + ID_VENDOR_FROM_DATABASE=Ritronics Components (S) Pte., Ltd + +@@ -38504,6 +39197,9 @@ usb:v1004p618E* + usb:v1004p618F* + ID_MODEL_FROM_DATABASE=Ally/Optimus One + ++usb:v1004p61C5* ++ ID_MODEL_FROM_DATABASE=P880 / Charge only ++ + usb:v1004p61C6* + ID_MODEL_FROM_DATABASE=Vortex (msc) + +@@ -38514,7 +39210,7 @@ usb:v1004p61F1* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [LG Software mode] + + usb:v1004p61F9* +- ID_MODEL_FROM_DATABASE=V909 G-Slate ++ ID_MODEL_FROM_DATABASE=Optimus (Various Models) MTP Mode + + usb:v1004p61FC* + ID_MODEL_FROM_DATABASE=Optimus 3 +@@ -38528,9 +39224,15 @@ usb:v1004p6300* + usb:v1004p631C* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [MTP mode] + ++usb:v1004p631D* ++ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Camera/PTP Mode) ++ + usb:v1004p631E* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [Camera/PTP mode] + ++usb:v1004p631F* ++ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode) ++ + usb:v1004p6356* + ID_MODEL_FROM_DATABASE=Optimus Android Phone [Virtual CD mode] + +@@ -38540,6 +39242,9 @@ usb:v1004p6800* + usb:v1004p7000* + ID_MODEL_FROM_DATABASE=LG LDP-7024D(LD)USB + ++usb:v1004p91C8* ++ ID_MODEL_FROM_DATABASE=P880 / USB tethering ++ + usb:v1004pA400* + ID_MODEL_FROM_DATABASE=Renoir (KC910) + +@@ -38742,13 +39447,13 @@ usb:v1033p0068* + ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231 + + usb:v1038* +- ID_VENDOR_FROM_DATABASE=Ideazon, Inc. ++ ID_VENDOR_FROM_DATABASE=SteelSeries ApS + + usb:v1038p0100* +- ID_MODEL_FROM_DATABASE=Zboard ++ ID_MODEL_FROM_DATABASE=Ideazon Zboard + + usb:v1038p1361* +- ID_MODEL_FROM_DATABASE=Sensei ++ ID_MODEL_FROM_DATABASE=Ideazon Sensei + + usb:v1039* + ID_VENDOR_FROM_DATABASE=devolo AG +@@ -38946,28 +39651,37 @@ usb:v1058p0704* + ID_MODEL_FROM_DATABASE=Passport External HDD + + usb:v1058p070A* +- ID_MODEL_FROM_DATABASE=My Passport Essential SE ++ ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) + + usb:v1058p071A* + ID_MODEL_FROM_DATABASE=My Passport + + usb:v1058p0730* +- ID_MODEL_FROM_DATABASE=My Passport ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) + + usb:v1058p0740* + ID_MODEL_FROM_DATABASE=My Passport + ++usb:v1058p0741* ++ ID_MODEL_FROM_DATABASE=My Passport Ultra ++ + usb:v1058p0742* + ID_MODEL_FROM_DATABASE=My Passport Essential SE + + usb:v1058p0748* +- ID_MODEL_FROM_DATABASE=My Passport 1TB USB 3.0 ++ ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) ++ ++usb:v1058p0810* ++ ID_MODEL_FROM_DATABASE=My Passport Ultra + + usb:v1058p0900* + ID_MODEL_FROM_DATABASE=MyBook Essential External HDD + + usb:v1058p0901* +- ID_MODEL_FROM_DATABASE=MyBook External HDD ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) ++ ++usb:v1058p0902* ++ ID_MODEL_FROM_DATABASE=My Book Pro Edition + + usb:v1058p0903* + ID_MODEL_FROM_DATABASE=My Book Premium Edition +@@ -38976,20 +39690,32 @@ usb:v1058p0910* + ID_MODEL_FROM_DATABASE=MyBook Essential External HDD + + usb:v1058p1001* +- ID_MODEL_FROM_DATABASE=External Hard Disk [Elements] ++ ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) + + usb:v1058p1003* + ID_MODEL_FROM_DATABASE=Elements 1000 GB + + usb:v1058p1010* +- ID_MODEL_FROM_DATABASE=Elements External HDD ++ ID_MODEL_FROM_DATABASE=Elements Portable (WDBAAR) + + usb:v1058p1021* +- ID_MODEL_FROM_DATABASE=Elements 2TB ++ ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) + + usb:v1058p1023* + ID_MODEL_FROM_DATABASE=Elements SE + ++usb:v1058p1048* ++ ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) ++ ++usb:v1058p10A2* ++ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBPCK) ++ ++usb:v1058p10A8* ++ ID_MODEL_FROM_DATABASE=Elements Portable (WDBUZG) ++ ++usb:v1058p1100* ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition 2.0 (WDH1U) ++ + usb:v1058p1103* + ID_MODEL_FROM_DATABASE=My Book Studio + +@@ -39272,6 +39998,9 @@ usb:v106Fp0009* + usb:v106Fp000A* + ID_MODEL_FROM_DATABASE=CR10x Coin Recycler + ++usb:v106Fp000C* ++ ID_MODEL_FROM_DATABASE=Xchange ++ + usb:v1076* + ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc. + +@@ -39335,6 +40064,12 @@ usb:v1099* + usb:v109A* + ID_VENDOR_FROM_DATABASE=DATASOFT Systems GmbH + ++usb:v109B* ++ ID_VENDOR_FROM_DATABASE=Hisense ++ ++usb:v109Bp9118* ++ ID_MODEL_FROM_DATABASE=Medion P4013 Mobile ++ + usb:v109F* + ID_VENDOR_FROM_DATABASE=eSOL Co., Ltd + +@@ -39458,6 +40193,15 @@ usb:v10BF* + usb:v10BFp0001* + ID_MODEL_FROM_DATABASE=SmartHome PowerLinc + ++usb:v10C3* ++ ID_VENDOR_FROM_DATABASE=Universal Laser Systems, Inc. ++ ++usb:v10C3p00A4* ++ ID_MODEL_FROM_DATABASE=ULS PLS Series Laser Engraver Firmware Loader ++ ++usb:v10C3p00A5* ++ ID_MODEL_FROM_DATABASE=ULS Print Support ++ + usb:v10C4* + ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc. + +@@ -39509,6 +40253,12 @@ usb:v10C4p8461* + usb:v10C4p8477* + ID_MODEL_FROM_DATABASE=Balluff RFID Reader + ++usb:v10C4p8496* ++ ID_MODEL_FROM_DATABASE=SiLabs Cypress FW downloader ++ ++usb:v10C4p8497* ++ ID_MODEL_FROM_DATABASE=SiLabs Cypress EVB ++ + usb:v10C4p8605* + ID_MODEL_FROM_DATABASE=dilitronics ESoLUX solar lighting controller + +@@ -39527,6 +40277,9 @@ usb:v10C4p8863* + usb:v10C4p8897* + ID_MODEL_FROM_DATABASE=C8051F38x HDMI Splitter [UHBX] + ++usb:v10C4p8918* ++ ID_MODEL_FROM_DATABASE=C8051F38x HDMI Audio Extractor [VSA-HA-DP] ++ + usb:v10C4pEA60* + ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light + +@@ -39908,6 +40661,9 @@ usb:v1141* + usb:v1142* + ID_VENDOR_FROM_DATABASE=CyberScan Technologies, Inc. + ++usb:v1142p0709* ++ ID_MODEL_FROM_DATABASE=Cyberview High Speed Scanner ++ + usb:v1145* + ID_VENDOR_FROM_DATABASE=Japan Radio Company + +@@ -39938,6 +40694,9 @@ usb:v114D* + usb:v114F* + ID_VENDOR_FROM_DATABASE=Wavecom + ++usb:v114Fp1234* ++ ID_MODEL_FROM_DATABASE=Fastrack Xtend FXT001 Modem ++ + usb:v115B* + ID_VENDOR_FROM_DATABASE=Salix Technology Co., Ltd. + +@@ -40128,7 +40887,7 @@ usb:v1199p683A* + ID_MODEL_FROM_DATABASE=MC8785 Device + + usb:v1199p683C* +- ID_MODEL_FROM_DATABASE=MC8790 Device ++ ID_MODEL_FROM_DATABASE=Mobile Broadband 3G/UMTS (MC8790 Device) + + usb:v1199p6850* + ID_MODEL_FROM_DATABASE=AirCard 880 Device +@@ -40196,6 +40955,12 @@ usb:v1199p9009* + usb:v1199p900A* + ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem + ++usb:v1199p9055* ++ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (NAT mode) ++ ++usb:v1199p9057* ++ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (IP passthrough mode) ++ + usb:v119A* + ID_VENDOR_FROM_DATABASE=ZHAN QI Technology Co., Ltd + +@@ -40238,12 +41003,30 @@ usb:v11ACp6565* + usb:v11B0* + ID_VENDOR_FROM_DATABASE=ATECH FLASH TECHNOLOGY + ++usb:v11B0p6208* ++ ID_MODEL_FROM_DATABASE=PRO-28U ++ ++usb:v11BE* ++ ID_VENDOR_FROM_DATABASE=R&D International NV ++ ++usb:v11BEpF0A0* ++ ID_MODEL_FROM_DATABASE=Martin Maxxyz DMX ++ + usb:v11C5* + ID_VENDOR_FROM_DATABASE=Inmax + + usb:v11C5p0521* + ID_MODEL_FROM_DATABASE=IMT-0521 Smartcard Reader + ++usb:v11CA* ++ ID_VENDOR_FROM_DATABASE=VeriFone Inc ++ ++usb:v11CAp0207* ++ ID_MODEL_FROM_DATABASE=PIN Pad VX 810 ++ ++usb:v11CAp0220* ++ ID_MODEL_FROM_DATABASE=PIN Pad VX 805 ++ + usb:v11DB* + ID_VENDOR_FROM_DATABASE=Topfield Co., Ltd. + +@@ -40274,6 +41057,9 @@ usb:v11F5p0005* + usb:v11F5p0008* + ID_MODEL_FROM_DATABASE=UMTS/HSDPA Data Card + ++usb:v11F5p0101* ++ ID_MODEL_FROM_DATABASE=RCU Connect ++ + usb:v11F6* + ID_VENDOR_FROM_DATABASE=Prolific + +@@ -40284,7 +41070,7 @@ usb:v11F7* + ID_VENDOR_FROM_DATABASE=Alcatel (?) + + usb:v11F7p02DF* +- ID_MODEL_FROM_DATABASE=TD10 Mobile phone USB cable ++ ID_MODEL_FROM_DATABASE=Serial cable (v2) for TD-10 Mobile Phone + + usb:v1203* + ID_VENDOR_FROM_DATABASE=TSC Auto ID Technology Co., Ltd +@@ -40352,6 +41138,9 @@ usb:v1228p0012* + usb:v1228p0015* + ID_MODEL_FROM_DATABASE=TPaq21/MPaq21 Datalogger + ++usb:v1228p584C* ++ ID_MODEL_FROM_DATABASE=XL2 Logger ++ + usb:v1230* + ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A. + +@@ -40377,20 +41166,110 @@ usb:v1235* + ID_VENDOR_FROM_DATABASE=Novation EMS + + usb:v1235p0001* +- ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation ++ ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition + + usb:v1235p0002* + ID_MODEL_FROM_DATABASE=Speedio + + usb:v1235p0003* +- ID_MODEL_FROM_DATABASE=ReMOTE ZeRO SL ++ ID_MODEL_FROM_DATABASE=RemoteSL + ZeroSL ++ ++usb:v1235p0004* ++ ID_MODEL_FROM_DATABASE=ReMOTE LE ++ ++usb:v1235p0005* ++ ID_MODEL_FROM_DATABASE=XIOSynth [First Edition] ++ ++usb:v1235p0006* ++ ID_MODEL_FROM_DATABASE=XStation ++ ++usb:v1235p0007* ++ ID_MODEL_FROM_DATABASE=XIOSynth ++ ++usb:v1235p0008* ++ ID_MODEL_FROM_DATABASE=ReMOTE SL Compact ++ ++usb:v1235p0009* ++ ID_MODEL_FROM_DATABASE=nIO ++ ++usb:v1235p000A* ++ ID_MODEL_FROM_DATABASE=Nocturn ++ ++usb:v1235p000B* ++ ID_MODEL_FROM_DATABASE=ReMOTE SL MkII ++ ++usb:v1235p000C* ++ ID_MODEL_FROM_DATABASE=ZeRO MkII ++ ++usb:v1235p000E* ++ ID_MODEL_FROM_DATABASE=Launchpad ++ ++usb:v1235p0010* ++ ID_MODEL_FROM_DATABASE=Saffire 6 ++ ++usb:v1235p0011* ++ ID_MODEL_FROM_DATABASE=Ultranova ++ ++usb:v1235p0012* ++ ID_MODEL_FROM_DATABASE=Nocturn Keyboard ++ ++usb:v1235p0013* ++ ID_MODEL_FROM_DATABASE=VRM Box ++ ++usb:v1235p0014* ++ ID_MODEL_FROM_DATABASE=VRM Box Audio Class (2-out) ++ ++usb:v1235p0015* ++ ID_MODEL_FROM_DATABASE=Dicer ++ ++usb:v1235p0016* ++ ID_MODEL_FROM_DATABASE=Ultranova ++ ++usb:v1235p0018* ++ ID_MODEL_FROM_DATABASE=Twitch ++ ++usb:v1235p0019* ++ ID_MODEL_FROM_DATABASE=Impulse 25 ++ ++usb:v1235p001A* ++ ID_MODEL_FROM_DATABASE=Impulse 49 ++ ++usb:v1235p001B* ++ ID_MODEL_FROM_DATABASE=Impulse 61 + + usb:v1235p4661* + ID_MODEL_FROM_DATABASE=ReMOTE25 + ++usb:v1235p8000* ++ ID_MODEL_FROM_DATABASE=Scarlett 18i6 ++ ++usb:v1235p8002* ++ ID_MODEL_FROM_DATABASE=Scarlett 8i6 ++ + usb:v1235p8006* + ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2 + ++usb:v1235p8008* ++ ID_MODEL_FROM_DATABASE=Saffire 6 ++ ++usb:v1235p800A* ++ ID_MODEL_FROM_DATABASE=Scarlett 2i4 ++ ++usb:v1235p800C* ++ ID_MODEL_FROM_DATABASE=Scarlett 18i20 ++ ++usb:v1235p800E* ++ ID_MODEL_FROM_DATABASE=iTrack Solo ++ ++usb:v1235p8010* ++ ID_MODEL_FROM_DATABASE=Forte ++ ++usb:v1235p8012* ++ ID_MODEL_FROM_DATABASE=Scarlett 6i6 ++ ++usb:v1235p8014* ++ ID_MODEL_FROM_DATABASE=Scarlett 18i8 ++ + usb:v1241* + ID_VENDOR_FROM_DATABASE=Belkin + +@@ -40410,7 +41289,7 @@ usb:v1241p1166* + ID_MODEL_FROM_DATABASE=MI-2150 Trust Mouse + + usb:v1241p1177* +- ID_MODEL_FROM_DATABASE=F8E842-DL Mouse ++ ID_MODEL_FROM_DATABASE=Mouse [HT82M21A] + + usb:v1241p1503* + ID_MODEL_FROM_DATABASE=Keyboard +@@ -40463,6 +41342,9 @@ usb:v125Fp312A* + usb:v125Fp312B* + ID_MODEL_FROM_DATABASE=Superior S102 Pro + ++usb:v125FpA22A* ++ ID_MODEL_FROM_DATABASE=DashDrive Elite HE720 500GB ++ + usb:v125FpA91A* + ID_MODEL_FROM_DATABASE=Portable HDD CH91 + +@@ -40478,6 +41360,9 @@ usb:v125FpC93A* + usb:v125FpC96A* + ID_MODEL_FROM_DATABASE=C906 Flash Drive + ++usb:v125FpCB10* ++ ID_MODEL_FROM_DATABASE=Dash Drive UV100 ++ + usb:v1260* + ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp. + +@@ -40637,6 +41522,9 @@ usb:v1283p0150* + usb:v1286* + ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc. + ++usb:v1286p00BC* ++ ID_MODEL_FROM_DATABASE=Marvell JTAG Probe ++ + usb:v1286p1FAB* + ID_MODEL_FROM_DATABASE=88W8338 [Libertas] 802.11g + +@@ -40733,6 +41621,12 @@ usb:v12C4p0006* + usb:v12C4p0008* + ID_MODEL_FROM_DATABASE=Teleprompter Foot Control (v1) + ++usb:v12CF* ++ ID_VENDOR_FROM_DATABASE=DEXIN ++ ++usb:v12CFp0170* ++ ID_MODEL_FROM_DATABASE=Tt eSPORTS BLACK Gaming mouse ++ + usb:v12D1* + ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd. + +@@ -40802,9 +41696,15 @@ usb:v12D1p14CF* + usb:v12D1p14D1* + ID_MODEL_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode) + ++usb:v12D1p14DB* ++ ID_MODEL_FROM_DATABASE=E353/E3131 ++ + usb:v12D1p14F1* + ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem + ++usb:v12D1p14FE* ++ ID_MODEL_FROM_DATABASE=Modem (Mass Storage Mode) ++ + usb:v12D1p1501* + ID_MODEL_FROM_DATABASE=Pulse + +@@ -40826,6 +41726,9 @@ usb:v12D1p1521* + usb:v12D1p155A* + ID_MODEL_FROM_DATABASE=R205 Mobile WiFi (CD-ROM mode) + ++usb:v12D1p1575* ++ ID_MODEL_FROM_DATABASE=K5150 LTE modem ++ + usb:v12D1p1805* + ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone + +@@ -41376,7 +42279,7 @@ usb:v13BA* + ID_VENDOR_FROM_DATABASE=PCPlay + + usb:v13BAp0001* +- ID_MODEL_FROM_DATABASE=König Electronic CMP-KEYPAD12 Numeric Keypad ++ ID_MODEL_FROM_DATABASE=Konig Electronic CMP-KEYPAD12 Numeric Keypad + + usb:v13BAp0017* + ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter +@@ -44096,6 +44999,9 @@ usb:v1740p9801* + usb:v1743* + ID_VENDOR_FROM_DATABASE=General Atomics + ++usb:v1748* ++ ID_VENDOR_FROM_DATABASE=MQP Electronics ++ + usb:v174C* + ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. + +@@ -46569,7 +47475,7 @@ usb:v1C7B* + ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD. + + usb:v1C83* +- ID_VENDOR_FROM_DATABASE=Schomäcker GmbH ++ ID_VENDOR_FROM_DATABASE=Schomaecker GmbH + + usb:v1C83p0001* + ID_MODEL_FROM_DATABASE=RS150 V2 +@@ -47678,6 +48584,12 @@ usb:v2047* + usb:v2047p0200* + ID_MODEL_FROM_DATABASE=MSP430 USB HID Bootstrap Loader + ++usb:v2047p0855* ++ ID_MODEL_FROM_DATABASE=Invensense Embedded MotionApp HID Sensor ++ ++usb:v2047p0964* ++ ID_MODEL_FROM_DATABASE=Inventio Software MSP430 ++ + usb:v2080* + ID_VENDOR_FROM_DATABASE=Barnes & Noble + +-- +1.7.9.2 + diff --git a/0004-implement-a-union-to-pad-out-file_handle.patch b/0004-implement-a-union-to-pad-out-file_handle.patch new file mode 100644 index 00000000..cbb924cc --- /dev/null +++ b/0004-implement-a-union-to-pad-out-file_handle.patch @@ -0,0 +1,117 @@ +From 370c860f748d149097710dc7952a64f627db9de7 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 19 Apr 2014 13:22:35 -0400 +Subject: [PATCH] implement a union to pad out file_handle + +Cases where name_to_handle_at is used allocated the full struct to be +MAX_HANDLE_SZ, and assigned this size to handle_bytes. This is wrong +since handle_bytes should describe the length of the flexible array +member and not the whole struct. + +Define a union type which includes sufficient padding to allow +assignment of MAX_HANDLE_SZ to be correct. +--- + src/libudev/libudev-monitor.c | 6 ++---- + src/readahead/readahead-common.c | 6 ++---- + src/shared/util.h | 6 ++++++ + src/tmpfiles/tmpfiles.c | 11 ++++------- + 4 files changed, 14 insertions(+), 15 deletions(-) + +diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c +index 3f7436b..0a2ab82 100644 +--- src/libudev/libudev-monitor.c ++++ src/libudev/libudev-monitor.c +@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev) + + /* we consider udev running when /dev is on devtmpfs */ + static bool udev_has_devtmpfs(struct udev *udev) { +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; + int mount_id; + _cleanup_fclose_ FILE *f = NULL; + char line[LINE_MAX], *e; + int r; + +- h = alloca(MAX_HANDLE_SZ); +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0); ++ r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); + if (r < 0) + return false; + +diff --git src/readahead/readahead-common.c src/readahead/readahead-common.c +index 5ffa88b..49679fc 100644 +--- src/readahead/readahead-common.c ++++ src/readahead/readahead-common.c +@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) { + if (major(st.st_dev) == 0) { + _cleanup_fclose_ FILE *f = NULL; + int mount_id; +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; + + /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. + * +@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) { + * and then lookup the mount ID in mountinfo to find + * the mount options. */ + +- h = alloca(MAX_HANDLE_SZ); +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); ++ r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW); + if (r < 0) + return false; + +diff --git src/shared/util.h src/shared/util.h +index 900f1cf..891848a 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -22,6 +22,7 @@ + ***/ + + #include ++#include + #include + #include + #include +@@ -883,3 +884,8 @@ int fd_warn_permissions(const char *path + + unsigned long personality_from_string(const char *p); + const char *personality_to_string(unsigned long); ++ ++union file_handle_union { ++ struct file_handle handle; ++ char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; ++}; +diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c +index 33e7cbc..04b472d 100644 +--- src/tmpfiles/tmpfiles.c ++++ src/tmpfiles/tmpfiles.c +@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) { + } + + static int dir_is_mount_point(DIR *d, const char *subdir) { +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ }; + int mount_id_parent, mount_id; + int r_p, r; + +- h = alloca(MAX_HANDLE_SZ); +- +- h->handle_bytes = MAX_HANDLE_SZ; +- r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0); ++ r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0); + if (r_p < 0) + r_p = -errno; + +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0); ++ h.handle.handle_bytes = MAX_HANDLE_SZ; ++ r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0); + if (r < 0) + r = -errno; + +-- +1.7.9.2 + diff --git a/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch b/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch new file mode 100644 index 00000000..0358d8cc --- /dev/null +++ b/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch @@ -0,0 +1,30 @@ +Based on 20a83d7bf4542875f8033b68682a4da4993010e8 Mon Sep 17 00:00:00 2001 +From: Brandon Philips +Date: Fri, 25 Apr 2014 09:31:59 -0600 +Subject: [PATCH] job: add waiting jobs to run queue in unit_coldplug + +When we have job installed and added to run queue for service which is +still in dead state and systemd initiates reload then after reload we +never add deserialized job to the run queue again. This is caused by +check in service_coldplug() where we check if deserialized state is +something else than dead state, which is not the case thus we never call +service_set_state() and finally unit_notify() where we would have added +job to the run queue. + +Thanks to Michal Sekletar for the original patch. +--- + src/core/job.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- src/core/job.c ++++ src/core/job.c 2014-05-12 12:58:30.354235531 +0000 +@@ -1057,6 +1057,9 @@ int job_coldplug(Job *j) { + if (j->timer_event_source) + j->timer_event_source = sd_event_source_unref(j->timer_event_source); + ++ if (j->state == JOB_WAITING) ++ job_add_to_run_queue(j); ++ + r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); + if (r < 0) + log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0004-journal-do-server_vacuum-for-sigusr1.patch b/0004-journal-do-server_vacuum-for-sigusr1.patch new file mode 100644 index 00000000..530a5397 --- /dev/null +++ b/0004-journal-do-server_vacuum-for-sigusr1.patch @@ -0,0 +1,30 @@ +From 3bfd4e0c6341b0ef946d2198f089743fa99e0a97 Mon Sep 17 00:00:00 2001 +From: WaLyong Cho +Date: Thu, 28 Aug 2014 21:33:03 +0900 +Subject: [PATCH] journal: do server_vacuum for sigusr1 + +runtime journal is migrated to system journal when only +"/run/systemd/journal/flushed" exist. It's ok but according to this +the system journal directory size(max use) can be over the config. If +journal is not rotated during some time the journal directory can be +remained as over the config(or default) size. To avoid, do +server_vacuum just after the system journal migration from runtime. +--- + src/journal/journald-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/journal/journald-server.c src/journal/journald-server.c +index 52111f7..bf9cfcc 100644 +--- src/journal/journald-server.c ++++ src/journal/journald-server.c +@@ -1224,6 +1224,7 @@ static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo * + touch("/run/systemd/journal/flushed"); + server_flush_to_var(s); + server_sync(s); ++ server_vacuum(s); + + return 0; + } +-- +1.7.9.2 + diff --git a/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch b/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch new file mode 100644 index 00000000..848a73d3 --- /dev/null +++ b/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch @@ -0,0 +1,134 @@ +Based on baccf3e40bab6c0b69992ae29c396930de4660c9 Mon Sep 17 00:00:00 2001 +From: Olivier Brunel +Date: Fri, 8 Aug 2014 20:45:43 +0200 +Subject: [PATCH] login: set_controller should fail if prepare_vt fails + +If controllers can expect logind to have "prepared" the VT (e.g. set it to +graphics mode, etc) then TakeControl() should fail if said preparation +failed (and session_restore_vt() was called). + +(David: fixed up !CONFIG_VT case and errno-numbers) +--- + src/login/logind-session.c | 47 +++++++++++++++++++++++++++++++++------------ + src/login/logind-session.h | 2 - + 2 files changed, 36 insertions(+), 13 deletions(-) + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-08-26 10:14:21.014235811 +0000 +@@ -950,8 +950,8 @@ int session_kill(Session *s, KillWho who + static int session_open_vt(Session *s) { + char path[sizeof("/dev/tty") + DECIMAL_STR_MAX(s->vtnr)]; + +- if (!s->vtnr) +- return -1; ++ if (s->vtnr < 1) ++ return -ENODEV; + + if (s->vtfd >= 0) + return s->vtfd; +@@ -975,22 +975,38 @@ static int session_vt_fn(sd_event_source + return 0; + } + +-void session_mute_vt(Session *s) { ++int session_mute_vt(Session *s) { + int vt, r; + struct vt_mode mode = { 0 }; + sigset_t mask; + ++ if (s->vtnr < 1) ++ return 0; ++ + vt = session_open_vt(s); + if (vt < 0) +- return; ++ return vt; ++ ++ r = fchown(vt, s->user->uid, -1); ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot change owner of /dev/tty%u: %m", s->vtnr); ++ goto error; ++ } + + r = ioctl(vt, KDSKBMODE, K_OFF); +- if (r < 0) ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot set K_OFF on /dev/tty%u: %m", s->vtnr); + goto error; ++ } + + r = ioctl(vt, KDSETMODE, KD_GRAPHICS); +- if (r < 0) ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot set KD_GRAPHICS on /dev/tty%u: %m", s->vtnr); + goto error; ++ } + + sigemptyset(&mask); + sigaddset(&mask, SIGUSR1); +@@ -1007,14 +1023,17 @@ void session_mute_vt(Session *s) { + mode.relsig = SIGUSR1; + mode.acqsig = SIGUSR1; + r = ioctl(vt, VT_SETMODE, &mode); +- if (r < 0) ++ if (r < 0) { ++ r = -errno; ++ log_error("Cannot set VT_PROCESS on /dev/tty%u: %m", s->vtnr); + goto error; ++ } + +- return; ++ return 0; + + error: +- log_error("cannot mute VT %u for session %s (%d/%d)", s->vtnr, s->id, r, errno); + session_restore_vt(s); ++ return r; + } + + void session_restore_vt(Session *s) { +@@ -1037,6 +1056,8 @@ void session_restore_vt(Session *s) { + mode.mode = VT_AUTO; + ioctl(vt, VT_SETMODE, &mode); + ++ fchown(vt, 0, -1); ++ + close_nointr_nofail(vt); + s->vtfd = -1; + } +@@ -1091,8 +1112,6 @@ int session_set_controller(Session *s, c + return r; + } + +- session_swap_controller(s, t); +- + /* When setting a session controller, we forcibly mute the VT and set + * it into graphics-mode. Applications can override that by changing + * VT state after calling TakeControl(). However, this serves as a good +@@ -1101,7 +1120,11 @@ int session_set_controller(Session *s, c + * exits. + * If logind crashes/restarts, we restore the controller during restart + * or reset the VT in case it crashed/exited, too. */ +- session_mute_vt(s); ++ r = session_mute_vt(s); ++ if (r < 0) ++ return r; ++ ++ session_swap_controller(s, t); + + return 0; + } +--- src/login/logind-session.h ++++ src/login/logind-session.h 2014-08-25 17:19:29.042236429 +0000 +@@ -172,7 +172,7 @@ SessionClass session_class_from_string(c + const char *kill_who_to_string(KillWho k) _const_; + KillWho kill_who_from_string(const char *s) _pure_; + +-void session_mute_vt(Session *s); ++int session_mute_vt(Session *s); + void session_restore_vt(Session *s); + + bool session_is_controller(Session *s, const char *sender); diff --git a/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch b/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch new file mode 100644 index 00000000..c19bfcee --- /dev/null +++ b/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch @@ -0,0 +1,45 @@ +From 94036de887ad5b0dc805abe38b5c1c58b57d9465 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Tue, 11 Mar 2014 17:49:00 +0200 +Subject: [PATCH] logind: Do not fail display count if a device has no parent + +udev_device_get_parent() may return NULL when the device doesn't have a +parent, as is the case with (for example) /sys/devices/virtual/drm/ttm. + +Also, log an actual error message instead of "-12 displays connected". +--- + src/login/logind-action.c | 4 +++- + src/login/logind-core.c | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index ae7b350..1928f43 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -84,7 +84,9 @@ int manager_handle_action( + * treat like this under the assumption that there is + * no modern drm driver available. */ + n = manager_count_displays(m); +- if (n != 1) { ++ if (n < 0) ++ log_warning("Display counting failed: %s", strerror(-n)); ++ else if (n != 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } +diff --git src/login/logind-core.c src/login/logind-core.c +index ca34d37..053d2ed 100644 +--- src/login/logind-core.c ++++ src/login/logind-core.c +@@ -520,7 +520,7 @@ int manager_count_displays(Manager *m) { + + p = udev_device_get_parent(d); + if (!p) +- return -ENOMEM; ++ continue; + + /* If the parent shares the same subsystem as the + * device we are looking at then it is a connector, +-- +1.7.9.2 + diff --git a/0004-machined-make-sure-GetMachineAddresses-is-available-.patch b/0004-machined-make-sure-GetMachineAddresses-is-available-.patch new file mode 100644 index 00000000..20b625ba --- /dev/null +++ b/0004-machined-make-sure-GetMachineAddresses-is-available-.patch @@ -0,0 +1,38 @@ +From d3152a09ac5804ec8603daee12f98cf03523cce0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 19 May 2014 00:47:26 +0900 +Subject: [PATCH] machined: make sure GetMachineAddresses() is available for + unprivileged processes + +--- + src/machine/org.freedesktop.machine1.conf | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git src/machine/org.freedesktop.machine1.conf src/machine/org.freedesktop.machine1.conf +index 970ccd8..ab349a5 100644 +--- src/machine/org.freedesktop.machine1.conf ++++ src/machine/org.freedesktop.machine1.conf +@@ -42,12 +42,20 @@ + + ++ ++ + + + ++ ++ + + + +-- +1.7.9.2 + diff --git a/0004-man-document-missing-options-of-systemd-run.patch b/0004-man-document-missing-options-of-systemd-run.patch new file mode 100644 index 00000000..a6e6551d --- /dev/null +++ b/0004-man-document-missing-options-of-systemd-run.patch @@ -0,0 +1,113 @@ +From 981ee551945f4e00de52fcbb7780fd7476bcd47e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 5 Mar 2014 03:37:48 +0100 +Subject: [PATCH] man: document missing options of systemd-run + +--- + man/systemd-run.xml | 71 +++++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 60 insertions(+), 11 deletions(-) + +diff --git man/systemd-run.xml man/systemd-run.xml +index 95c1cb7..81d41dc 100644 +--- man/systemd-run.xml ++++ man/systemd-run.xml +@@ -121,9 +121,9 @@ along with systemd; If not, see . + + + +- Provide description for the unit. If not +- specified, the command itself will be used as a description. +- See Description= in ++ Provide description for the service or scope ++ unit. If not specified, the command itself will be used as a ++ description. See Description= in + systemd.unit5. + + +@@ -140,10 +140,10 @@ along with systemd; If not, see . + + + +- After the service's process has terminated, keep +- the service around until it is explicitly stopped. This is +- useful to collect runtime information about the service after +- it finished running. Also see ++ After the service or scope process has ++ terminated, keep the service around until it is explicitly ++ stopped. This is useful to collect runtime information about ++ the service after it finished running. Also see + RemainAfterExit= in + systemd.service5. + +@@ -153,15 +153,64 @@ along with systemd; If not, see . + + + +- When terminating the scope unit, send a SIGHUP +- immediately after SIGTERM. This is useful to indicate to +- shells and shell-like processes that the connection has been +- severed. Also see SendSIGHUP= in ++ When terminating the scope or service unit, ++ send a SIGHUP immediately after SIGTERM. This is useful to ++ indicate to shells and shell-like processes that the ++ connection has been severed. Also see ++ SendSIGHUP= in + systemd.kill5. + + + + ++ ++ ++ ++ Sets the service type. Also see ++ Type= in ++ systemd.service5. This ++ option has no effect in conjunction with ++ . Defaults to ++ simple. ++ ++ ++ ++ ++ ++ ++ ++ Runs the service process under the UNIX user ++ and group. Also see User= and ++ Group= in ++ systemd.exec5. This ++ option has no effect in conjunction with ++ . ++ ++ ++ ++ ++ ++ ++ Runs the service process with the specified ++ nice level. Also see Nice= in ++ systemd.exec5. This ++ option has no effect in conjunction with ++ . ++ ++ ++ ++ ++ ++ ++ Runs the service process with the specified ++ environment variables set. Also see ++ Environment= in ++ systemd.exec5. This ++ option has no effect in conjunction with ++ . ++ ++ ++ + + + +-- +1.7.9.2 + diff --git a/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch b/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch new file mode 100644 index 00000000..9ab7a2da --- /dev/null +++ b/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch @@ -0,0 +1,43 @@ +From 455cd8b137b8ef45d04889f2d967c562a097f1e6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2014 19:24:53 +0200 +Subject: [PATCH] sd-bus: if we don't manage to properly allocate the error + message for an sd_bus_error, just go on + +sd_bus_error_setfv() must initialize the sd_bus_error value to some +sensible value and then return a good errno code matching that. If it +cannot work at all it should set the error statically to the OOM error. +But if it can work half-way (i.e. initialize the name, but not the +message) it should do so and still return the correct errno number for +it. + +This effectively reverts 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 +--- + src/libsystemd/sd-bus/bus-error.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c +index 5ca974a..af83c12 100644 +--- src/libsystemd/sd-bus/bus-error.c ++++ src/libsystemd/sd-bus/bus-error.c +@@ -194,13 +194,10 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li + return -ENOMEM; + } + +- if (format) { +- int r; +- +- r = vasprintf((char**) &e->message, format, ap); +- if (r < 0) +- return -ENOMEM; +- } ++ /* Of we hit OOM on formatting the pretty message, we ignore ++ * this, since we at least managed to write the error name */ ++ if (format) ++ (void) vasprintf((char**) &e->message, format, ap); + + e->_need_free = 1; + +-- +1.7.9.2 + diff --git a/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch b/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch new file mode 100644 index 00000000..51b46fb4 --- /dev/null +++ b/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch @@ -0,0 +1,27 @@ +From 7bb4d371af5ec6b8c50b71d2a80c2866d8134d9a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Jul 2014 17:36:47 +0200 +Subject: [PATCH] sd-bus: when an event loop terminates, explicitly close the + bus + +This makes sure we actually release the bus and all the messages it +references. +--- + src/libsystemd/sd-bus/sd-bus.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index d52afe8..eb267d4 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -2940,6 +2940,7 @@ static int quit_callback(sd_event_source *event, void *userdata) { + assert(event); + + sd_bus_flush(bus); ++ sd_bus_close(bus); + + return 1; + } +-- +1.7.9.2 + diff --git a/0004-sd-event-check-the-value-of-received-signal.patch b/0004-sd-event-check-the-value-of-received-signal.patch new file mode 100644 index 00000000..9c4662a9 --- /dev/null +++ b/0004-sd-event-check-the-value-of-received-signal.patch @@ -0,0 +1,46 @@ +From 7057bd993110c1eff0cd3a8776902ca66417634e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Oct 2014 18:49:45 -0400 +Subject: [PATCH] sd-event: check the value of received signal + +Appease coverity report #1237775. + +Also rename ss to n, to make it visually different from ss. +--- + src/libsystemd/sd-event/sd-event.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index b56182d..4c67ee8 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -1973,20 +1973,22 @@ static int process_signal(sd_event *e, uint32_t events) { + + for (;;) { + struct signalfd_siginfo si; +- ssize_t ss; ++ ssize_t n; + sd_event_source *s = NULL; + +- ss = read(e->signal_fd, &si, sizeof(si)); +- if (ss < 0) { ++ n = read(e->signal_fd, &si, sizeof(si)); ++ if (n < 0) { + if (errno == EAGAIN || errno == EINTR) + return read_one; + + return -errno; + } + +- if (_unlikely_(ss != sizeof(si))) ++ if (_unlikely_(n != sizeof(si))) + return -EIO; + ++ assert(si.ssi_signo < _NSIG); ++ + read_one = true; + + if (si.ssi_signo == SIGCHLD) { +-- +1.7.9.2 + diff --git a/0004-sd-journal-verify-that-object-start-with-the-field-n.patch b/0004-sd-journal-verify-that-object-start-with-the-field-n.patch new file mode 100644 index 00000000..e3ee663d --- /dev/null +++ b/0004-sd-journal-verify-that-object-start-with-the-field-n.patch @@ -0,0 +1,41 @@ +Based on 0f99f74a14ef193c1ebde687c5cc76e1d67b85ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 26 Aug 2014 23:54:31 -0400 +Subject: [PATCH] sd-journal: verify that object start with the field name + +If the journal is corrupted, we might return an object that does +not start with the expected field name and/or is shorter than it +should. +--- + src/journal/sd-journal.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git src/journal/sd-journal.c src/journal/sd-journal.c +index 80ff8fe..693707c 100644 +--- src/journal/sd-journal.c ++++ src/journal/sd-journal.c +@@ -2571,6 +2571,21 @@ _public_ int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_ + if (r < 0) + return r; + ++ /* Check if we have at least the field name and "=". */ ++ if (ol <= k) { ++ log_debug("%s:offset " OFSfmt ": object has size %zu, expected at least %zu", ++ j->unique_file->path, j->unique_offset, ++ ol, k + 1); ++ return -EBADMSG; ++ } ++ ++ if (memcmp(odata, j->unique_field, k) || ((const char*) odata)[k] != '=') { ++ log_debug("%s:offset " OFSfmt ": object does not start with \"%s=\"", ++ j->unique_file->path, j->unique_offset, ++ j->unique_field); ++ return -EBADMSG; ++ } ++ + /* OK, now let's see if we already returned this data + * object by checking if it exists in the earlier + * traversed files. */ +-- +1.7.9.2 + diff --git a/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch b/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch new file mode 100644 index 00000000..ba22748a --- /dev/null +++ b/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch @@ -0,0 +1,38 @@ +From 5e78424f4a27c07be50e246308035c877f204038 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 13 Oct 2014 15:25:09 +0200 +Subject: [PATCH] selinux: fix potential double free crash in child process + +Before returning from function we should reset ret to NULL, thus cleanup +function is nop. + +Also context_str() returns pointer to a string containing context but not a +copy, hence we must make copy it explicitly. +--- + src/shared/label.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/shared/label.c src/shared/label.c +index b6af38d..69d4616 100644 +--- src/shared/label.c ++++ src/shared/label.c +@@ -334,7 +334,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { + } + + freecon(mycon); +- mycon = context_str(bcon); ++ mycon = strdup(context_str(bcon)); + if (!mycon) { + r = -errno; + goto out; +@@ -348,6 +348,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { + } + + *label = ret; ++ ret = NULL; + r = 0; + + out: +-- +1.7.9.2 + diff --git a/0004-shared-conf-parser.patch b/0004-shared-conf-parser.patch new file mode 100644 index 00000000..8a03d9d5 --- /dev/null +++ b/0004-shared-conf-parser.patch @@ -0,0 +1,31 @@ +Based on 83e341a637b75f7f592a5dc717c34d8b67ed4ffa Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 17 Sep 2014 22:17:53 +0200 +Subject: [PATCH] shared: conf-parser + +Check memory allocation. Found by Coverity. + +Fixes CID #1237644. +--- + src/shared/conf-parser.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- src/shared/conf-parser.h ++++ src/shared/conf-parser.h 2014-09-18 13:07:07.314735514 +0000 +@@ -181,6 +181,8 @@ int log_syntax_internal(const char *unit + assert(data); \ + \ + xs = new0(type, 1); \ ++ if(!xs) \ ++ return -ENOMEM; \ + *xs = invalid; \ + \ + FOREACH_WORD(w, l, rvalue, state) { \ +@@ -213,6 +215,7 @@ int log_syntax_internal(const char *unit + xs = realloc(xs, (++i + 1) * sizeof(type)); \ + if (!xs) \ + return -ENOMEM; \ ++ \ + *(xs + i) = invalid; \ + } \ + \ diff --git a/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch b/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch new file mode 100644 index 00000000..596aa557 --- /dev/null +++ b/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch @@ -0,0 +1,106 @@ +From 863f3ce0d050f005839f6aa41fe7bac5478a7b5e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 19 Sep 2014 08:03:31 +0200 +Subject: [PATCH] shared: wtmp-utmp - don't clear store_wtmp in + utmp_put_dead_process() + +Also modernize a few other things and add comments to explain CID #1237503 +and CID #1237504. +--- + src/shared/utmp-wtmp.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git src/shared/utmp-wtmp.c src/shared/utmp-wtmp.c +index 30a0c03..31f13ec 100644 +--- src/shared/utmp-wtmp.c ++++ src/shared/utmp-wtmp.c +@@ -92,8 +92,6 @@ int utmp_get_runlevel(int *runlevel, int *previous) { + static void init_timestamp(struct utmpx *store, usec_t t) { + assert(store); + +- zero(*store); +- + if (t <= 0) + t = now(CLOCK_REALTIME); + +@@ -143,7 +141,7 @@ static int write_entry_wtmp(const struct utmpx *store) { + assert(store); + + /* wtmp is a simple append-only file where each entry is +- simply appended to * the end; i.e. basically a log. */ ++ simply appended to the end; i.e. basically a log. */ + + errno = 0; + updwtmpx(_PATH_WTMPX, store); +@@ -172,7 +170,7 @@ static int write_entry_both(const struct utmpx *store) { + } + + int utmp_put_shutdown(void) { +- struct utmpx store; ++ struct utmpx store = {}; + + init_entry(&store, 0); + +@@ -183,7 +181,7 @@ int utmp_put_shutdown(void) { + } + + int utmp_put_reboot(usec_t t) { +- struct utmpx store; ++ struct utmpx store = {}; + + init_entry(&store, t); + +@@ -206,16 +204,17 @@ _pure_ static const char *sanitize_id(const char *id) { + } + + int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line) { +- struct utmpx store; ++ struct utmpx store = { ++ .ut_type = INIT_PROCESS, ++ .ut_pid = pid, ++ .ut_session = sid, ++ }; + + assert(id); + + init_timestamp(&store, 0); + +- store.ut_type = INIT_PROCESS; +- store.ut_pid = pid; +- store.ut_session = sid; +- ++ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ + strncpy(store.ut_id, sanitize_id(id), sizeof(store.ut_id)); + + if (line) +@@ -225,14 +224,15 @@ int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line + } + + int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { +- struct utmpx lookup, store, store_wtmp, *found; ++ struct utmpx lookup = { ++ .ut_type = INIT_PROCESS /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ ++ }, store, store_wtmp, *found; + + assert(id); + + setutxent(); + +- zero(lookup); +- lookup.ut_type = INIT_PROCESS; /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ ++ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ + strncpy(lookup.ut_id, sanitize_id(id), sizeof(lookup.ut_id)); + + found = getutxid(&lookup); +@@ -260,7 +260,7 @@ int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { + + + int utmp_put_runlevel(int runlevel, int previous) { +- struct utmpx store; ++ struct utmpx store = {}; + int r; + + assert(runlevel > 0); +-- +1.7.9.2 + diff --git a/0004-socket-properly-handle-if-our-service-vanished-durin.patch b/0004-socket-properly-handle-if-our-service-vanished-durin.patch new file mode 100644 index 00000000..b119ad24 --- /dev/null +++ b/0004-socket-properly-handle-if-our-service-vanished-durin.patch @@ -0,0 +1,30 @@ +From 640ace4a8de907994a1b95f6d368c3e6a8fcf60f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 16:56:21 +0900 +Subject: [PATCH] socket: properly handle if our service vanished during + runtime + +--- + src/core/socket.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git src/core/socket.c src/core/socket.c +index 05af8fe..aca20fd 100644 +--- src/core/socket.c ++++ src/core/socket.c +@@ -1503,6 +1503,12 @@ static void socket_enter_running(Socket *s, int cfd) { + } + + if (!pending) { ++ if (!UNIT_ISSET(s->service)) { ++ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id); ++ r = -ENOENT; ++ goto fail; ++ } ++ + r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL); + if (r < 0) + goto fail; +-- +1.7.9.2 + diff --git a/0004-systemd-detect-virt-only-discover-Xen-domU.patch b/0004-systemd-detect-virt-only-discover-Xen-domU.patch new file mode 100644 index 00000000..246e09b3 --- /dev/null +++ b/0004-systemd-detect-virt-only-discover-Xen-domU.patch @@ -0,0 +1,79 @@ +From 37287585b6ba9a55065c8f94458f6db3c0abe0af Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Fri, 6 Jun 2014 16:36:45 +0200 +Subject: [PATCH] systemd-detect-virt: only discover Xen domU + +The current vm detection lacks the distinction between Xen dom0 and Xen domU. +Both, dom0 and domU are running inside the hypervisor. +Therefore systemd-detect-virt and the ConditionVirtualization directive detect +dom0 as a virtual machine. + +dom0 is not using virtual devices but is accessing the real hardware. +Therefore dom0 should be considered the virtualisation host and not a virtual +machine. + +https://bugs.freedesktop.org/show_bug.cgi?id=77271 +--- + src/shared/virt.c | 34 +++++++++++++++++++++++++++------- + 1 file changed, 27 insertions(+), 7 deletions(-) + +diff --git src/shared/virt.c src/shared/virt.c +index 1e227c5..774915f 100644 +--- src/shared/virt.c ++++ src/shared/virt.c +@@ -148,7 +148,7 @@ static int detect_vm_dmi(const char **_id) { + + /* Returns a short identifier for the various VM implementations */ + int detect_vm(const char **id) { +- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; ++ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; + static thread_local int cached_found = -1; + static thread_local const char *cached_id = NULL; + const char *_id = NULL; +@@ -162,17 +162,37 @@ int detect_vm(const char **id) { + return cached_found; + } + +- /* Try high-level hypervisor sysfs file first: ++ /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file: + * +- * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ +- r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */ ++ r = read_one_line_file("/proc/xen/capabilities", &domcap); + if (r >= 0) { +- if (streq(hvtype, "xen")) { ++ char *cap, *i = domcap; ++ ++ while ((cap = strsep(&i, ","))) ++ if (streq(cap, "control_d")) ++ break; ++ ++ if (!i) { + _id = "xen"; + r = 1; +- goto finish; + } +- } else if (r != -ENOENT) ++ ++ goto finish; ++ ++ } else if (r == -ENOENT) { ++ _cleanup_free_ char *hvtype = NULL; ++ ++ r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ if (r >= 0) { ++ if (streq(hvtype, "xen")) { ++ _id = "xen"; ++ r = 1; ++ goto finish; ++ } ++ } else if (r != -ENOENT) ++ return r; ++ } else + return r; + + /* this will set _id to "other" and return 0 for unknown hypervisors */ +-- +1.7.9.2 + diff --git a/0004-systemd-python-use-.hex-instead-of-.get_hex.patch b/0004-systemd-python-use-.hex-instead-of-.get_hex.patch new file mode 100644 index 00000000..4ddad20e --- /dev/null +++ b/0004-systemd-python-use-.hex-instead-of-.get_hex.patch @@ -0,0 +1,46 @@ +From b532cf3722e04adb0bd075666eb9989a9390d0a2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 5 Apr 2014 13:23:25 -0400 +Subject: [PATCH] systemd-python: use .hex instead of .get_hex() + +It turns out the latter got removed in Python 3. + +https://bugs.freedesktop.org/show_bug.cgi?id=77086 +--- + src/python-systemd/journal.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git src/python-systemd/journal.py src/python-systemd/journal.py +index 9c7e004..dd1f229 100644 +--- src/python-systemd/journal.py ++++ src/python-systemd/journal.py +@@ -293,7 +293,7 @@ class Reader(_Reader): + monotonic = monotonic.totalseconds() + monotonic = int(monotonic * 1000000) + if isinstance(bootid, _uuid.UUID): +- bootid = bootid.get_hex() ++ bootid = bootid.hex + return super(Reader, self).seek_monotonic(monotonic, bootid) + + def log_level(self, level): +@@ -314,7 +314,7 @@ class Reader(_Reader): + Equivalent to add_match(MESSAGE_ID=`messageid`). + """ + if isinstance(messageid, _uuid.UUID): +- messageid = messageid.get_hex() ++ messageid = messageid.hex + self.add_match(MESSAGE_ID=messageid) + + def this_boot(self, bootid=None): +@@ -346,7 +346,7 @@ class Reader(_Reader): + + def get_catalog(mid): + if isinstance(mid, _uuid.UUID): +- mid = mid.get_hex() ++ mid = mid.hex + return _get_catalog(mid) + + def _make_line(field, value): +-- +1.7.9.2 + diff --git a/0004-systemd-return-the-first-error-from-manager_startup.patch b/0004-systemd-return-the-first-error-from-manager_startup.patch new file mode 100644 index 00000000..0db56a17 --- /dev/null +++ b/0004-systemd-return-the-first-error-from-manager_startup.patch @@ -0,0 +1,57 @@ +From 1cd974edfd7cd91dcdf321e7202bd220bac50a2d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 18 Jul 2014 17:05:18 -0400 +Subject: [PATCH] systemd: return the first error from manager_startup() + +--- + src/core/manager.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git src/core/manager.c src/core/manager.c +index 2e63c5e..0653d7e 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -1005,11 +1005,8 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + dual_timestamp_get(&m->units_load_finish_timestamp); + + /* Second, deserialize if there is something to deserialize */ +- if (serialization) { +- q = manager_deserialize(m, serialization, fds); +- if (q < 0) +- r = q; +- } ++ if (serialization) ++ r = manager_deserialize(m, serialization, fds); + + /* Any fds left? Find some unit which wants them. This is + * useful to allow container managers to pass some file +@@ -1017,13 +1014,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + * socket-based activation of entire containers. */ + if (fdset_size(fds) > 0) { + q = manager_distribute_fds(m, fds); +- if (q < 0) ++ if (q < 0 && r == 0) + r = q; + } + + /* We might have deserialized the notify fd, but if we didn't + * then let's create the bus now */ +- manager_setup_notify(m); ++ q = manager_setup_notify(m); ++ if (q < 0 && r == 0) ++ r = q; + + /* We might have deserialized the kdbus control fd, but if we + * didn't, then let's create the bus now. */ +@@ -1033,7 +1032,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { + + /* Third, fire things up! */ + q = manager_coldplug(m); +- if (q < 0) ++ if (q < 0 && r == 0) + r = q; + + if (serialization) { +-- +1.7.9.2 + diff --git a/0004-util-ignore_file-should-not-allow-files-ending-with.patch b/0004-util-ignore_file-should-not-allow-files-ending-with.patch new file mode 100644 index 00000000..a30b4c4f --- /dev/null +++ b/0004-util-ignore_file-should-not-allow-files-ending-with.patch @@ -0,0 +1,28 @@ +From 93f1a06374e335e8508d89e1bdaadf45be6ab777 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 31 May 2014 21:36:23 +0200 +Subject: [PATCH] util: ignore_file should not allow files ending with '~' + +ignore_file currently allows any file ending with '~' while it +seems that the opposite was intended: +a228a22fda4faa9ecb7c5a5e499980c8ae5d2a08 +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/util.c src/shared/util.c +index 0c27394..17b0ae1 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1371,7 +1371,7 @@ bool ignore_file(const char *filename) { + assert(filename); + + if (endswith(filename, "~")) +- return false; ++ return true; + + return ignore_file_allow_backup(filename); + } +-- +1.7.9.2 + diff --git a/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch b/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch new file mode 100644 index 00000000..23ccc1d5 --- /dev/null +++ b/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch @@ -0,0 +1,31 @@ +From 306a55c86360a7ae7b2509771d5ea6ab0d166d85 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 29 Jun 2014 22:15:33 +0200 +Subject: [PATCH] util: refuse considering UID 0xFFFF and 0xFFFFFFFF valid + +--- + src/shared/util.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git src/shared/util.c src/shared/util.c +index e7ff0f8..1709bb7 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -280,6 +280,14 @@ int parse_uid(const char *s, uid_t* ret_uid) { + if ((unsigned long) uid != ul) + return -ERANGE; + ++ /* Some libc APIs use (uid_t) -1 as special placeholder */ ++ if (uid == (uid_t) 0xFFFFFFFF) ++ return -EINVAL; ++ ++ /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ ++ if (uid == (uid_t) 0xFFFF) ++ return -EINVAL; ++ + *ret_uid = uid; + return 0; + } +-- +1.7.9.2 + diff --git a/0005-Replace-var-run-with-run-in-remaining-places.patch b/0005-Replace-var-run-with-run-in-remaining-places.patch new file mode 100644 index 00000000..67c35e18 --- /dev/null +++ b/0005-Replace-var-run-with-run-in-remaining-places.patch @@ -0,0 +1,89 @@ +From 41a55c46ab8fb4ef6727434227071321fc762cce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 25 Feb 2014 20:11:04 -0500 +Subject: [PATCH] Replace /var/run with /run in remaining places + +/run was already used almost everywhere, fix the remaining places +for consistency. +--- + man/daemon.xml | 2 +- + man/runlevel.xml | 2 +- + man/tmpfiles.d.xml | 4 ++-- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/systemctl/systemctl.c | 4 ++-- + 5 files changed, 8 insertions(+), 8 deletions(-) + +diff --git man/daemon.xml man/daemon.xml +index 88dd082..fd29ba7 100644 +--- man/daemon.xml ++++ man/daemon.xml +@@ -149,7 +149,7 @@ + write the daemon PID (as returned by + getpid()) to a + PID file, for example +- /var/run/foobar.pid ++ /run/foobar.pid + (for a hypothetical daemon "foobar") + to ensure that the daemon cannot be + started more than once. This must be +diff --git man/runlevel.xml man/runlevel.xml +index 976753a..4db06dc 100644 +--- man/runlevel.xml ++++ man/runlevel.xml +@@ -124,7 +124,7 @@ + + + +- /var/run/utmp ++ /run/utmp + + The utmp database + runlevel reads the +diff --git man/tmpfiles.d.xml man/tmpfiles.d.xml +index 812129f..0a006d1 100644 +--- man/tmpfiles.d.xml ++++ man/tmpfiles.d.xml +@@ -441,8 +441,8 @@ r! /tmp/.X[0-9]*-lock + /etc/tmpfiles.d/screen.conf example + screen needs two directories created at boot with specific modes and ownership. + +- d /var/run/screens 1777 root root 10d +-d /var/run/uscreens 0755 root root 10d12h ++ d /run/screens 1777 root root 10d ++d /run/uscreens 0755 root root 10d12h + + + /etc/tmpfiles.d/abrt.conf example +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 20f540d..1318272 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/var/run/dbus/system_bus_socket") - 1; ++ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); + + return 0; + } +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 34d7079..8692716 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -3758,8 +3758,8 @@ static int show_one( + streq(verb, "status")) { + /* According to LSB: "program not running" */ + /* 0: program is running or service is OK +- * 1: program is dead and /var/run pid file exists +- * 2: program is dead and /var/lock lock file exists ++ * 1: program is dead and /run PID file exists ++ * 2: program is dead and /run/lock lock file exists + * 3: program is not running + * 4: program or service status is unknown + */ +-- +1.7.9.2 + diff --git a/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch b/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch new file mode 100644 index 00000000..37c42d2e --- /dev/null +++ b/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch @@ -0,0 +1,60 @@ +From 4cd2b2cf8ca585d15ebc859701b346658262b5bb Mon Sep 17 00:00:00 2001 +From: Denis Tikhomirov +Date: Thu, 5 Jun 2014 23:59:40 +0400 +Subject: [PATCH] backlight: Do not clamp brightness for LEDs + +https://bugs.freedesktop.org/show_bug.cgi?id=77092 + +On Thu, Jun 05, 2014 at 08:37:20AM +0200, Lennart Poettering wrote: +> The patch is line-broken, please send an uncorrupted patch! +I am very sorry, I forgot that my client limits line width. I will use +mutt now on. +> clamp_brightness() clamps the brightness value to the range of the +> actual device. This is a recent addition that was added to deal with +> driver updates where the resolution is changed. I don't think this part +> should be dropped for LED devices. The clamp_brightness() call hence +> should be called unconditionally, however, internally it should use a +> different min_brightness value if something is an !backlight devices... +Thank you for explanation, this sounds very reasonable to me. Please, +see updated patch: +--- + src/backlight/backlight.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index 691472c..4d94ebf 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -225,11 +225,13 @@ static unsigned get_max_brightness(struct udev_device *device) { + + /* Some systems turn the backlight all the way off at the lowest levels. + * clamp_brightness clamps the saved brightness to at least 1 or 5% of +- * max_brightness. This avoids preserving an unreadably dim screen, which +- * would otherwise force the user to disable state restoration. */ ++ * max_brightness in case of 'backlight' subsystem. This avoids preserving ++ * an unreadably dim screen, which would otherwise force the user to ++ * disable state restoration. */ + static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { + int r; + unsigned brightness, new_brightness, min_brightness; ++ const char *subsystem; + + r = safe_atou(*value, &brightness); + if (r < 0) { +@@ -237,7 +239,12 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned + return; + } + +- min_brightness = MAX(1U, max_brightness/20); ++ subsystem = udev_device_get_subsystem(device); ++ if (streq_ptr(subsystem, "backlight")) ++ min_brightness = MAX(1U, max_brightness/20); ++ else ++ min_brightness = 0; ++ + new_brightness = CLAMP(brightness, min_brightness, max_brightness); + if (new_brightness != brightness) { + char *old_value = *value; +-- +1.7.9.2 + diff --git a/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch b/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch new file mode 100644 index 00000000..bee5ed1a --- /dev/null +++ b/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch @@ -0,0 +1,64 @@ +From 0c9d8f1d4b5018199cb5a9b57580dc1480a7f915 Mon Sep 17 00:00:00 2001 +From: Jani Nikula +Date: Wed, 7 May 2014 12:01:01 +0300 +Subject: [PATCH] backlight: handle saved brightness exceeding max brightness + +If too high a brightness value has been saved (e.g. due to kernel +mechanism changing from one kernel version to another, or booting the +userspace on another system), the brightness update fails and the +process exits. + +Clamp saved brightness between the policy minimum introduced in + +commit 7b909d7407965c03caaba30daae7aee113627a83 +Author: Josh Triplett +Date: Tue Mar 11 21:16:33 2014 -0700 + + backlight: Avoid restoring brightness to an unreadably dim level + +and the absolute maximum. + +https://bugs.freedesktop.org/show_bug.cgi?id=78200 +--- + src/backlight/backlight.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git src/backlight/backlight.c src/backlight/backlight.c +index c708391..691472c 100644 +--- src/backlight/backlight.c ++++ src/backlight/backlight.c +@@ -229,7 +229,7 @@ static unsigned get_max_brightness(struct udev_device *device) { + * would otherwise force the user to disable state restoration. */ + static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { + int r; +- unsigned brightness, new_brightness; ++ unsigned brightness, new_brightness, min_brightness; + + r = safe_atou(*value, &brightness); + if (r < 0) { +@@ -237,7 +237,8 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned + return; + } + +- new_brightness = MAX3(brightness, 1U, max_brightness/20); ++ min_brightness = MAX(1U, max_brightness/20); ++ new_brightness = CLAMP(brightness, min_brightness, max_brightness); + if (new_brightness != brightness) { + char *old_value = *value; + +@@ -247,7 +248,11 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned + return; + } + +- log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); ++ log_info("Saved brightness %s %s to %s.", old_value, ++ new_brightness > brightness ? ++ "too low; increasing" : "too high; decreasing", ++ *value); ++ + free(old_value); + } + } +-- +1.7.9.2 + diff --git a/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch b/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch new file mode 100644 index 00000000..119d1108 --- /dev/null +++ b/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch @@ -0,0 +1,29 @@ +From c119700c06b248b1c2a082b40b1a346f58d89da0 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Sun, 28 Sep 2014 18:12:51 +0300 +Subject: [PATCH] bootchart: Do not try to access data for non-existing CPU's + +Cpu's are assigned normally, so starting at 0, so the MAX_CPU index will +always be one smaller than the actual number. + +Found with Coverity. +--- + src/bootchart/store.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/bootchart/store.c src/bootchart/store.c +index 3099ff1..9ea1b27 100644 +--- src/bootchart/store.c ++++ src/bootchart/store.c +@@ -199,7 +199,7 @@ vmstat_next: + + if (strstr(key, "cpu")) { + r = safe_atoi((const char*)(key+3), &c); +- if (r < 0 || c > MAXCPUS) ++ if (r < 0 || c > MAXCPUS -1) + /* Oops, we only have room for MAXCPUS data */ + break; + sampledata->runtime[c] = atoll(rt); +-- +1.7.9.2 + diff --git a/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch b/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch new file mode 100644 index 00000000..93f4711e --- /dev/null +++ b/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch @@ -0,0 +1,35 @@ +Based on fd989a0bc999d79719408ac28b126d9c9016bcb5 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 12:20:38 +0300 +Subject: [PATCH] bus: avoid using m->kdbus after freeing it + +m->kdbus could be freed before it is released. Changing the +order fixes the issue. + +Found with Coverity. Fixes: CID#1237798 +--- + src/libsystemd/sd-bus/bus-message.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- src/libsystemd/sd-bus/bus-message.c ++++ src/libsystemd/sd-bus/bus-message.c 2014-09-16 10:31:37.538735664 +0000 +@@ -126,9 +126,6 @@ static void message_free(sd_bus_message + + message_reset_parts(m); + +- if (m->free_kdbus) +- free(m->kdbus); +- + if (m->release_kdbus) { + uint64_t off; + +@@ -136,6 +133,9 @@ static void message_free(sd_bus_message + ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &off); + } + ++ if (m->free_kdbus) ++ free(m->kdbus); ++ + if (m->bus) + sd_bus_unref(m->bus); + diff --git a/0005-bus-close-a-bus-that-failed-to-connect.patch b/0005-bus-close-a-bus-that-failed-to-connect.patch new file mode 100644 index 00000000..9633317f --- /dev/null +++ b/0005-bus-close-a-bus-that-failed-to-connect.patch @@ -0,0 +1,28 @@ +From db9bb83fa5ec72da38eb5bd0c259ef8c76a71858 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 3 Jul 2014 01:19:21 +0200 +Subject: [PATCH] bus: close a bus that failed to connect + +--- + src/libsystemd/sd-bus/sd-bus.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index c25375c..28fc19e 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -1033,8 +1033,10 @@ _public_ int sd_bus_start(sd_bus *bus) { + else + return -EINVAL; + +- if (r < 0) ++ if (r < 0) { ++ sd_bus_close(bus); + return r; ++ } + + return bus_send_hello(bus); + } +-- +1.7.9.2 + diff --git a/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch b/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch new file mode 100644 index 00000000..361a1713 --- /dev/null +++ b/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch @@ -0,0 +1,137 @@ +From cdc06ed7b6120c1049305fa7033f228ee9d86043 Mon Sep 17 00:00:00 2001 +From: David Strauss +Date: Mon, 28 Apr 2014 12:08:32 -0700 +Subject: [PATCH] core: Filter by state behind the D-Bus API, not in the + systemctl client. + +--- + src/core/dbus-manager.c | 24 +++++++++++++++++++++++- + src/core/org.freedesktop.systemd1.conf | 4 ++++ + src/systemctl/systemctl.c | 24 +++++++++++++----------- + 3 files changed, 40 insertions(+), 12 deletions(-) + +diff --git src/core/dbus-manager.c src/core/dbus-manager.c +index 58e484d..d5fab0a 100644 +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c +@@ -728,7 +728,7 @@ static int method_reset_failed(sd_bus *bus, sd_bus_message *message, void *userd + return sd_bus_reply_method_return(message, NULL); + } + +-static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { ++static int list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error, char **states) { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + Manager *m = userdata; + const char *k; +@@ -761,6 +761,12 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat + + following = unit_following(u); + ++ if (!strv_isempty(states) && ++ !strv_contains(states, unit_load_state_to_string(u->load_state)) && ++ !strv_contains(states, unit_active_state_to_string(unit_active_state(u))) && ++ !strv_contains(states, unit_sub_state_to_string(u))) ++ continue; ++ + unit_path = unit_dbus_path(u); + if (!unit_path) + return -ENOMEM; +@@ -794,6 +800,21 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat + return sd_bus_send(bus, reply, NULL); + } + ++static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { ++ return list_units_filtered(bus, message, userdata, error, NULL); ++} ++ ++static int method_list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { ++ _cleanup_strv_free_ char **states = NULL; ++ int r; ++ ++ r = sd_bus_message_read_strv(message, &states); ++ if (r < 0) ++ return r; ++ ++ return list_units_filtered(bus, message, userdata, error, states); ++} ++ + static int method_list_jobs(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + Manager *m = userdata; +@@ -1670,6 +1691,7 @@ const sd_bus_vtable bus_manager_vtable[] = { + SD_BUS_METHOD("ClearJobs", NULL, NULL, method_clear_jobs, 0), + SD_BUS_METHOD("ResetFailed", NULL, NULL, method_reset_failed, 0), + SD_BUS_METHOD("ListUnits", NULL, "a(ssssssouso)", method_list_units, SD_BUS_VTABLE_UNPRIVILEGED), ++ SD_BUS_METHOD("ListUnitsFiltered", "as", "a(ssssssouso)", method_list_units_filtered, SD_BUS_VTABLE_UNPRIVILEGED), + SD_BUS_METHOD("ListJobs", NULL, "a(usssoo)", method_list_jobs, SD_BUS_VTABLE_UNPRIVILEGED), + SD_BUS_METHOD("Subscribe", NULL, NULL, method_subscribe, SD_BUS_VTABLE_UNPRIVILEGED), + SD_BUS_METHOD("Unsubscribe", NULL, NULL, method_unsubscribe, SD_BUS_VTABLE_UNPRIVILEGED), +diff --git src/core/org.freedesktop.systemd1.conf src/core/org.freedesktop.systemd1.conf +index a375dce..9dfca81 100644 +--- src/core/org.freedesktop.systemd1.conf ++++ src/core/org.freedesktop.systemd1.conf +@@ -64,6 +64,10 @@ + + ++ ++ + + load_state) || +- strv_contains(arg_states, u->sub_state) || +- strv_contains(arg_states, u->active_state); +- + if (!strv_isempty(patterns)) { + char **pattern; + +@@ -467,6 +461,7 @@ static int get_unit_list( + UnitInfo **_unit_infos, + char **patterns) { + ++ _cleanup_bus_message_unref_ sd_bus_message *m = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; + _cleanup_free_ UnitInfo *unit_infos = NULL; +@@ -478,15 +473,22 @@ static int get_unit_list( + assert(_reply); + assert(_unit_infos); + +- r = sd_bus_call_method( ++ r = sd_bus_message_new_method_call( + bus, ++ &m, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", +- "ListUnits", +- &error, +- &reply, +- NULL); ++ "ListUnitsFiltered"); ++ ++ if (r < 0) ++ return bus_log_create_error(r); ++ ++ r = sd_bus_message_append_strv(m, arg_states); ++ if (r < 0) ++ return bus_log_create_error(r); ++ ++ r = sd_bus_call(bus, m, 0, &error, &reply); + if (r < 0) { + log_error("Failed to list units: %s", bus_error_message(&error, r)); + return r; +-- +1.7.9.2 + diff --git a/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch b/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch new file mode 100644 index 00000000..05d6edc1 --- /dev/null +++ b/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch @@ -0,0 +1,121 @@ +Based on c264aeab4b0e7b69f469e12e78d4a48b3ed7a66e Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 27 Jul 2014 00:11:08 +0200 +Subject: [PATCH] core: only set the kernel's timezone when the RTC runs in + local time + +We can not reliably manage any notion of local time. Every daylight +saving time change or time zone change by traveling will make the +time jump, and the local time might jump backwards which creates +unsolvable problems with file timestamps. + +We will no longer tell the kernel our local time zone and leave +everything set to UTC. This will effectively turn FAT timestamps +into UTC timestamps. + +If and only if the machine is configured to read the RTC in local +time mode, the kernel's time zone will be configured, but +systemd-timesysnc will disable the kernel's system time to RTC +syncing. In this mode, the RTC will not be managed, and external +tools like Windows bootups are expected to manage the RTC's time. + +https://bugs.freedesktop.org/show_bug.cgi?id=81538 +--- + src/core/main.c | 23 +++++++++++++++-------- + src/shared/hwclock.c | 15 ++++++++------- + src/shared/hwclock.h | 2 +- + 3 files changed, 24 insertions(+), 16 deletions(-) + +--- src/core/main.c ++++ src/core/main.c 2014-07-28 09:59:35.778235585 +0000 +@@ -1349,7 +1349,14 @@ int main(int argc, char *argv[]) { + if (hwclock_is_localtime() > 0) { + int min; + +- /* The first-time call to settimeofday() does a time warp in the kernel */ ++ /* ++ * The very first call of settimeofday() also does a time warp in the kernel. ++ * ++ * In the rtc-in-local time mode, we set the kernel's timezone, and rely on ++ * external tools to take care of maintaining the RTC and do all adjustments. ++ * This matches the behavior of Windows, which leaves the RTC alone if the ++ * registry tells that the RTC runs in UTC. ++ */ + r = hwclock_set_timezone(&min); + if (r < 0) + log_error("Failed to apply local time delta, ignoring: %s", strerror(-r)); +@@ -1357,19 +1364,19 @@ int main(int argc, char *argv[]) { + log_info("RTC configured in localtime, applying delta of %i minutes to system time.", min); + } else if (!in_initrd()) { + /* +- * Do dummy first-time call to seal the kernel's time warp magic ++ * Do a dummy very first call to seal the kernel's time warp magic. + * + * Do not call this this from inside the initrd. The initrd might not + * carry /etc/adjtime with LOCAL, but the real system could be set up + * that way. In such case, we need to delay the time-warp or the sealing + * until we reach the real system. ++ * ++ * Do no set the kernel's timezone. The concept of local time cannot ++ * be supported reliably, the time will jump or be incorrect at every daylight ++ * saving time change. All kernel local time concepts will be treated ++ * as UTC that way. + */ +- hwclock_reset_timezone(); +- +- /* Tell the kernel our timezone */ +- r = hwclock_set_timezone(NULL); +- if (r < 0) +- log_error("Failed to set the kernel's timezone, ignoring: %s", strerror(-r)); ++ hwclock_reset_timewarp(); + } + } + +--- src/shared/hwclock.c ++++ src/shared/hwclock.c 2014-07-28 09:59:12.914235566 +0000 +@@ -124,9 +124,10 @@ int hwclock_set_timezone(int *min) { + tz.tz_dsttime = 0; /* DST_NONE*/ + + /* +- * If the hardware clock does not run in UTC, but in local time: +- * The very first time we set the kernel's timezone, it will warp +- * the clock so that it runs in UTC instead of local time. ++ * If the RTC does not run in UTC but in local time, the very first ++ * call to settimeofday() will set the kernel's timezone and will warp the ++ * system clock, so that it runs in UTC instead of the local time we ++ * have read from the RTC. + */ + if (settimeofday(tv_null, &tz) < 0) + return -errno; +@@ -135,7 +136,7 @@ int hwclock_set_timezone(int *min) { + return 0; + } + +-int hwclock_reset_timezone(void) { ++int hwclock_reset_timewarp(void) { + const struct timeval *tv_null = NULL; + struct timezone tz; + +@@ -143,9 +144,9 @@ int hwclock_reset_timezone(void) { + tz.tz_dsttime = 0; /* DST_NONE*/ + + /* +- * The very first time we set the kernel's timezone, it will warp +- * the clock. Do a dummy call here, so the time warping is sealed +- * and we set only the timezone with next call. ++ * The very first call to settimeofday() does time warp magic. Do a ++ * dummy call here, so the time warping is sealed and all later calls ++ * behave as expected. + */ + if (settimeofday(tv_null, &tz) < 0) + return -errno; +--- src/shared/hwclock.h ++++ src/shared/hwclock.h 2014-07-28 09:59:25.034736002 +0000 +@@ -23,6 +23,6 @@ + + int hwclock_is_localtime(void); + int hwclock_set_timezone(int *min); +-int hwclock_reset_timezone(void); ++int hwclock_reset_timewarp(void); + int hwclock_get_time(struct tm *tm); + int hwclock_set_time(const struct tm *tm); diff --git a/0005-cryptsetup-fix-an-OOM-check.patch b/0005-cryptsetup-fix-an-OOM-check.patch new file mode 100644 index 00000000..23b39bb5 --- /dev/null +++ b/0005-cryptsetup-fix-an-OOM-check.patch @@ -0,0 +1,25 @@ +From 0e2f14014c65b4d8b30146e414579154cfa932da Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 23 Oct 2014 00:30:04 +0200 +Subject: [PATCH] cryptsetup: fix an OOM check + +--- + src/cryptsetup/cryptsetup-generator.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/cryptsetup/cryptsetup-generator.c src/cryptsetup/cryptsetup-generator.c +index 137b787..c7f30f6 100644 +--- src/cryptsetup/cryptsetup-generator.c ++++ src/cryptsetup/cryptsetup-generator.c +@@ -387,7 +387,7 @@ int main(int argc, char *argv[]) { + if (k == 2 && streq(proc_uuid, device + 5)) { + free(options); + options = strdup(p); +- if (!proc_options) { ++ if (!options) { + log_oom(); + goto cleanup; + } +-- +1.7.9.2 + diff --git a/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..a309f6b9 --- /dev/null +++ b/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,73 @@ +From 24e29480bd800d3acdb3087e5863440bd0dd1d80 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Fri, 16 May 2014 15:57:35 -0700 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 53 ++++++++++++++++++++++++++++++++- + 1 file changed, 52 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 28aa2a7..a65c7db 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -961,4 +961,55 @@ bluetooth:v013D* + ID_VENDOR_FROM_DATABASE=WirelessWERX + + bluetooth:v013E* +- ID_VENDOR_FROM_DATABASE=nimai ++ ID_VENDOR_FROM_DATABASE=Nod, Inc. ++ ++bluetooth:v013F* ++ ID_VENDOR_FROM_DATABASE=B&B Manufacturing Company ++ ++bluetooth:v0140* ++ ID_VENDOR_FROM_DATABASE=Alpine Electronics (China) Co., Ltd ++ ++bluetooth:v0141* ++ ID_VENDOR_FROM_DATABASE=FedEx Services ++ ++bluetooth:v0142* ++ ID_VENDOR_FROM_DATABASE=Grape Systems Inc. ++ ++bluetooth:v0143* ++ ID_VENDOR_FROM_DATABASE=Bkon Connect ++ ++bluetooth:v0144* ++ ID_VENDOR_FROM_DATABASE=Lintech GmbH ++ ++bluetooth:v0145* ++ ID_VENDOR_FROM_DATABASE=Novatel Wireless ++ ++bluetooth:v0146* ++ ID_VENDOR_FROM_DATABASE=Ciright ++ ++bluetooth:v0147* ++ ID_VENDOR_FROM_DATABASE=Mighty Cast, Inc. ++ ++bluetooth:v0148* ++ ID_VENDOR_FROM_DATABASE=Ambimat Electronics ++ ++bluetooth:v0149* ++ ID_VENDOR_FROM_DATABASE=Perytons Ltd. ++ ++bluetooth:v014A* ++ ID_VENDOR_FROM_DATABASE=Tivoli Audio, LLC ++ ++bluetooth:v014B* ++ ID_VENDOR_FROM_DATABASE=Master Lock ++ ++bluetooth:v014C* ++ ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd ++ ++bluetooth:v014D* ++ ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. ++ ++bluetooth:v014E* ++ ID_VENDOR_FROM_DATABASE=Tangerine, Inc. ++ ++bluetooth:v014F* ++ ID_VENDOR_FROM_DATABASE=B&W Group Ltd. +-- +1.7.9.2 + diff --git a/0005-hwdb-update.patch b/0005-hwdb-update.patch new file mode 100644 index 00000000..e97da5f5 --- /dev/null +++ b/0005-hwdb-update.patch @@ -0,0 +1,1560 @@ +From 7ba52a1283a0864b56947fa091048e8fe31a5899 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 21 May 2014 18:19:24 +0900 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 155 ++++++++++++++++++++- + hwdb/20-pci-vendor-model.hwdb | 141 ++++++++++++++++--- + hwdb/20-usb-vendor-model.hwdb | 302 ++++++++++++++++++++++++++++++++++++++++- + 3 files changed, 572 insertions(+), 26 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index afc0d90..6188bfc 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -52915,6 +52915,9 @@ OUI:0CA42A* + OUI:0CA694* + ID_OUI_FROM_DATABASE=Sunitec Enterprise Co.,Ltd + ++OUI:0CAC05* ++ ID_OUI_FROM_DATABASE=Unitend Technologies Inc. ++ + OUI:0CAF5A* + ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED + +@@ -53164,6 +53167,9 @@ OUI:1048B1* + OUI:104D77* + ID_OUI_FROM_DATABASE=Innovative Computer Engineering + ++OUI:105172* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:1056CA* + ID_OUI_FROM_DATABASE=Peplink International Ltd. + +@@ -53488,6 +53494,9 @@ OUI:147373* + OUI:147411* + ID_OUI_FROM_DATABASE=RIM + ++OUI:147590* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:147DB3* + ID_OUI_FROM_DATABASE=JOA TELECOM.CO.,LTD + +@@ -53899,6 +53908,9 @@ OUI:18C8E7* + OUI:18CC23* + ID_OUI_FROM_DATABASE=Philio Technology Corporation + ++OUI:18CF5E* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:18D071* + ID_OUI_FROM_DATABASE=DASAN SMC, Inc. + +@@ -54517,6 +54529,9 @@ OUI:20E791* + OUI:20EAC7* + ID_OUI_FROM_DATABASE=SHENZHEN RIOPINE ELECTRONICS CO., LTD + ++OUI:20ED74* ++ ID_OUI_FROM_DATABASE=Ability enterprise co.,Ltd. ++ + OUI:20EEC6* + ID_OUI_FROM_DATABASE=Elefirst Science & Tech Co ., ltd + +@@ -54742,6 +54757,9 @@ OUI:24CBE7* + OUI:24CF21* + ID_OUI_FROM_DATABASE=Shenzhen State Micro Technology Co., Ltd + ++OUI:24D13F* ++ ID_OUI_FROM_DATABASE=MEXUS CO.,LTD ++ + OUI:24D2CC* + ID_OUI_FROM_DATABASE=SmartDrive Systems Inc. + +@@ -55438,6 +55456,9 @@ OUI:2CF203* + OUI:2CF4C5* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:2CFAA2* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:30055C* + ID_OUI_FROM_DATABASE=Brother industries, LTD. + +@@ -55708,6 +55729,9 @@ OUI:30F9ED* + OUI:30FD11* + ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. + ++OUI:3400A3* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:340286* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -56077,6 +56101,9 @@ OUI:38229D* + OUI:3822D6* + ID_OUI_FROM_DATABASE=H3C Technologies Co., Limited + ++OUI:38262B* ++ ID_OUI_FROM_DATABASE=UTran Technology ++ + OUI:3826CD* + ID_OUI_FROM_DATABASE=ANDTEK + +@@ -56395,6 +56422,9 @@ OUI:3C404F* + OUI:3C438E* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:3C46D8* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:3C4A92* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -56710,6 +56740,9 @@ OUI:404A18* + OUI:404D8E* + ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd + ++OUI:404EEB* ++ ID_OUI_FROM_DATABASE=Higher Way Electronic Co., Ltd. ++ + OUI:4050E0* + ID_OUI_FROM_DATABASE=Milton Security Group LLC + +@@ -57709,6 +57742,9 @@ OUI:4CB9C8* + OUI:4CBAA3* + ID_OUI_FROM_DATABASE=Bison Electronics Inc. + ++OUI:4CBB58* ++ ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. ++ + OUI:4CBCA5* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -57757,6 +57793,9 @@ OUI:4CEDDE* + OUI:4CF02E* + ID_OUI_FROM_DATABASE=Vifa Denmark A/S + ++OUI:4CF2BF* ++ ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd. ++ + OUI:4CF45B* + ID_OUI_FROM_DATABASE=Blue Clover Devices + +@@ -57994,6 +58033,9 @@ OUI:50B888* + OUI:50B8A2* + ID_OUI_FROM_DATABASE=ImTech Technologies LLC, + ++OUI:50BD5F* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:50C006* + ID_OUI_FROM_DATABASE=Carmanah Signs + +@@ -58285,6 +58327,9 @@ OUI:54D1B0* + OUI:54D46F* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:54DF00* ++ ID_OUI_FROM_DATABASE=Ulterius Technologies, LLC ++ + OUI:54DF63* + ID_OUI_FROM_DATABASE=Intrakey technologies GmbH + +@@ -58597,6 +58642,9 @@ OUI:58F6BF* + OUI:58F98E* + ID_OUI_FROM_DATABASE=SECUDOS GmbH + ++OUI:58FCDB* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:58FD20* + ID_OUI_FROM_DATABASE=Bravida Sakerhet AB + +@@ -58621,6 +58669,9 @@ OUI:5C1193* + OUI:5C1437* + ID_OUI_FROM_DATABASE=Thyssenkrupp Aufzugswerke GmbH + ++OUI:5C1515* ++ ID_OUI_FROM_DATABASE=ADVAN ++ + OUI:5C15E1* + ID_OUI_FROM_DATABASE=AIDC TECHNOLOGY (S) PTE LTD + +@@ -58891,12 +58942,18 @@ OUI:5CF96A* + OUI:5CF9DD* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:5CF9F0* ++ ID_OUI_FROM_DATABASE=Atomos Engineering P/L ++ + OUI:5CFF35* + ID_OUI_FROM_DATABASE=Wistron Corporation + + OUI:5CFFFF* + ID_OUI_FROM_DATABASE=Shenzhen Kezhonglong Optoelectronic Technology Co., Ltd + ++OUI:600292* ++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION ++ + OUI:6002B4* + ID_OUI_FROM_DATABASE=Wistron NeWeb Corp. + +@@ -59323,6 +59380,9 @@ OUI:644F74* + OUI:644FB0* + ID_OUI_FROM_DATABASE=Hyunjin.com + ++OUI:645106* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:64517E* + ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. + +@@ -59902,6 +59962,9 @@ OUI:68FB95* + OUI:68FCB3* + ID_OUI_FROM_DATABASE=Next Level Security Systems, Inc. + ++OUI:6C0273* ++ ID_OUI_FROM_DATABASE=Shenzhen Jin Yun Video Equipment Co., Ltd. ++ + OUI:6C0460* + ID_OUI_FROM_DATABASE=RBH Access Technologies Inc. + +@@ -60874,6 +60937,9 @@ OUI:781FDB* + OUI:78223D* + ID_OUI_FROM_DATABASE=Affirmed Networks + ++OUI:7824AF* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:782544* + ID_OUI_FROM_DATABASE=Omnima Limited + +@@ -60919,6 +60985,9 @@ OUI:784405* + OUI:784476* + ID_OUI_FROM_DATABASE=Zioncom technology co.,ltd + ++OUI:784561* ++ ID_OUI_FROM_DATABASE=CyberTAN Technology Inc. ++ + OUI:7845C4* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -61024,6 +61093,9 @@ OUI:789966* + OUI:78998F* + ID_OUI_FROM_DATABASE=MEDILINE ITALIA SRL + ++OUI:789CE7* ++ ID_OUI_FROM_DATABASE=Shenzhen Aikede Technology Co., Ltd ++ + OUI:789ED0* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -61480,6 +61552,9 @@ OUI:7CC8D7* + OUI:7CCB0D* + ID_OUI_FROM_DATABASE=Antaira Technologies, LLC + ++OUI:7CCCB8* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:7CCD11* + ID_OUI_FROM_DATABASE=MS-Magnet + +@@ -61945,6 +62020,9 @@ OUI:842F75* + OUI:8430E5* + ID_OUI_FROM_DATABASE=SkyHawke Technologies, LLC + ++OUI:8432EA* ++ ID_OUI_FROM_DATABASE=ANHUI WANZTEN P&T CO., LTD ++ + OUI:843497* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -63295,6 +63373,9 @@ OUI:94CDAC* + OUI:94CE2C* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + ++OUI:94CE31* ++ ID_OUI_FROM_DATABASE=CTS Limited ++ + OUI:94D019* + ID_OUI_FROM_DATABASE=Cydle Corp. + +@@ -63409,6 +63490,9 @@ OUI:982CBE* + OUI:982D56* + ID_OUI_FROM_DATABASE=Resolution Audio + ++OUI:982F3C* ++ ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. ++ + OUI:983000* + ID_OUI_FROM_DATABASE=Beijing KEMACOM Technologies Co., Ltd. + +@@ -63508,6 +63592,9 @@ OUI:9876B6* + OUI:987770* + ID_OUI_FROM_DATABASE=Pep Digital Technology (Guangzhou) Co., Ltd + ++OUI:987E46* ++ ID_OUI_FROM_DATABASE=Emizon Networks Limited ++ + OUI:988217* + ID_OUI_FROM_DATABASE=Disruptive Ltd + +@@ -64303,6 +64390,9 @@ OUI:A40BED* + OUI:A40CC3* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:A41242* ++ ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ + OUI:A4134E* + ID_OUI_FROM_DATABASE=Luxul + +@@ -65740,6 +65830,9 @@ OUI:B4B5AF* + OUI:B4B676* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:B4B859* ++ ID_OUI_FROM_DATABASE=Texa Spa ++ + OUI:B4B88D* + ID_OUI_FROM_DATABASE=Thuh Company + +@@ -65815,6 +65908,9 @@ OUI:B80305* + OUI:B80415* + ID_OUI_FROM_DATABASE=Bayan Audio + ++OUI:B808CF* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:B80B9D* + ID_OUI_FROM_DATABASE=ROPEX Industrie-Elektronik GmbH + +@@ -66277,6 +66373,9 @@ OUI:BC5FF4* + OUI:BC629F* + ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. + ++OUI:BC671C* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:BC6778* + ID_OUI_FROM_DATABASE=Apple + +@@ -66412,6 +66511,9 @@ OUI:BCCFCC* + OUI:BCD177* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:BCD1D3* ++ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp ++ + OUI:BCD5B6* + ID_OUI_FROM_DATABASE=d2d technologies + +@@ -66706,6 +66808,9 @@ OUI:C0E54E* + OUI:C0EAE4* + ID_OUI_FROM_DATABASE=Sonicwall + ++OUI:C0EEFB* ++ ID_OUI_FROM_DATABASE=OnePlus Tech (Shenzhen) Ltd ++ + OUI:C0F1C4* + ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. + +@@ -66721,6 +66826,9 @@ OUI:C0F8DA* + OUI:C0F991* + ID_OUI_FROM_DATABASE=GME Standard Communications P/L + ++OUI:C40006* ++ ID_OUI_FROM_DATABASE=Lipi Data Systems Ltd. ++ + OUI:C40142* + ID_OUI_FROM_DATABASE=MaxMedia Technology Limited + +@@ -67885,6 +67993,9 @@ OUI:D09C30* + OUI:D09D0A* + ID_OUI_FROM_DATABASE=LINKCOM + ++OUI:D0A0D6* ++ ID_OUI_FROM_DATABASE=Chengdu TD Tech Ltd. ++ + OUI:D0A311* + ID_OUI_FROM_DATABASE=Neuberger Gebäudeautomation GmbH + +@@ -68126,7 +68237,7 @@ OUI:D45AB2* + ID_OUI_FROM_DATABASE=Galleon Systems + + OUI:D45C70* +- ID_OUI_FROM_DATABASE=Wireless Gigabit Alliance ++ ID_OUI_FROM_DATABASE=Wi-Fi Alliance + + OUI:D45D42* + ID_OUI_FROM_DATABASE=Nokia Corporation +@@ -68359,6 +68470,9 @@ OUI:D808F5* + OUI:D809C3* + ID_OUI_FROM_DATABASE=Cercacor Labs + ++OUI:D80CCF* ++ ID_OUI_FROM_DATABASE=C.G.V. S.A.S. ++ + OUI:D80DE3* + ID_OUI_FROM_DATABASE=FXI TECHNOLOGIES AS + +@@ -68386,6 +68500,9 @@ OUI:D81EDE* + OUI:D824BD* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:D82522* ++ ID_OUI_FROM_DATABASE=Pace plc ++ + OUI:D826B9* + ID_OUI_FROM_DATABASE=Guangdong Coagent Electronics S &T Co., Ltd. + +@@ -68521,6 +68638,9 @@ OUI:D89685* + OUI:D89695* + ID_OUI_FROM_DATABASE=Apple + ++OUI:D896E0* ++ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. ++ + OUI:D8973B* + ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies + +@@ -68941,6 +69061,9 @@ OUI:E01C41* + OUI:E01CEE* + ID_OUI_FROM_DATABASE=Bravo Tech, Inc. + ++OUI:E01D38* ++ ID_OUI_FROM_DATABASE=Beijing HuaqinWorld Technology Co.,Ltd ++ + OUI:E01D3B* + ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd + +@@ -69373,6 +69496,9 @@ OUI:E47CF9* + OUI:E47D5A* + ID_OUI_FROM_DATABASE=Beijing Hanbang Technology Corp. + ++OUI:E47FB2* ++ ID_OUI_FROM_DATABASE=Fujitsu Limited ++ + OUI:E48184* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + +@@ -69829,6 +69955,9 @@ OUI:EC219F* + OUI:EC2257* + ID_OUI_FROM_DATABASE=JiangSu NanJing University Electronic Information Technology Co.,Ltd + ++OUI:EC2280* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:EC233D* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + +@@ -69970,6 +70099,9 @@ OUI:ECB106* + OUI:ECB541* + ID_OUI_FROM_DATABASE=SHINANO E and E Co.Ltd. + ++OUI:ECB907* ++ ID_OUI_FROM_DATABASE=CloudGenix Inc ++ + OUI:ECBBAE* + ID_OUI_FROM_DATABASE=Digivoice Tecnologia em Eletronica Ltda + +@@ -70189,6 +70321,9 @@ OUI:F0728C* + OUI:F073AE* + ID_OUI_FROM_DATABASE=PEAK-System Technik + ++OUI:F0761C* ++ ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. ++ + OUI:F07765* + ID_OUI_FROM_DATABASE=Sourcefire, Inc + +@@ -70378,6 +70513,9 @@ OUI:F40321* + OUI:F4044C* + ID_OUI_FROM_DATABASE=ValenceTech Limited + ++OUI:F40669* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:F4068D* + ID_OUI_FROM_DATABASE=devolo AG + +@@ -70642,6 +70780,9 @@ OUI:F4EC38* + OUI:F4F15A* + ID_OUI_FROM_DATABASE=Apple + ++OUI:F4F26D* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. ++ + OUI:F4F5A5* + ID_OUI_FROM_DATABASE=Nokia corporation + +@@ -70825,6 +70966,9 @@ OUI:F871FE* + OUI:F872EA* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:F87394* ++ ID_OUI_FROM_DATABASE=NETGEAR INC., ++ + OUI:F8769B* + ID_OUI_FROM_DATABASE=Neopis Co., Ltd. + +@@ -70915,6 +71059,9 @@ OUI:F8C001* + OUI:F8C091* + ID_OUI_FROM_DATABASE=Highgates Technology + ++OUI:F8C288* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F8C678* + ID_OUI_FROM_DATABASE=Carefusion + +@@ -71167,6 +71314,9 @@ OUI:FC683E* + OUI:FC6C31* + ID_OUI_FROM_DATABASE=LXinstruments GmbH + ++OUI:FC6DC0* ++ ID_OUI_FROM_DATABASE=BME CORPORATION ++ + OUI:FC7516* + ID_OUI_FROM_DATABASE=D-Link International + +@@ -71319,3 +71469,6 @@ OUI:FCFBFB* + + OUI:FCFE77* + ID_OUI_FROM_DATABASE=Hitachi Reftechno, Inc. ++ ++OUI:FCFFAA* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAL public listing for more information. +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 2957774..62941b9 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -4205,6 +4205,9 @@ pci:v00001002d00005F57* + pci:v00001002d00006600* + ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] + ++pci:v00001002d00006600sv0000103Csd00001952* ++ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] (ProBook 455 G1) ++ + pci:v00001002d00006601* + ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] + +@@ -4292,6 +4295,12 @@ pci:v00001002d00006640* + pci:v00001002d00006641* + ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] + ++pci:v00001002d00006646* ++ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon R9 M280X] ++ ++pci:v00001002d00006647* ++ ID_MODEL_FROM_DATABASE=Bonaire PRO [Radeon R9 M270X] ++ + pci:v00001002d00006649* + ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] + +@@ -6137,6 +6146,9 @@ pci:v00001002d0000683Dsv0000103Csd00006890* + pci:v00001002d0000683Dsv00001043sd00008760* + ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + ++pci:v00001002d0000683Dsv00001462sd00002710* ++ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (R7770-PMD1GD5) ++ + pci:v00001002d0000683Dsv0000174Bsd00008304* + ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) + +@@ -7856,6 +7868,15 @@ pci:v00001002d00006901* + pci:v00001002d00006920* + ID_MODEL_FROM_DATABASE=Tonga + ++pci:v00001002d00006921* ++ ID_MODEL_FROM_DATABASE=Amethyst XT [Radeon R9 M295X] ++ ++pci:v00001002d0000692B* ++ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] ++ ++pci:v00001002d0000692F* ++ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] ++ + pci:v00001002d0000700F* + ID_MODEL_FROM_DATABASE=RS100 AGP Bridge + +@@ -24470,6 +24491,9 @@ pci:v000010DEd00000640* + pci:v000010DEd00000641* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] + ++pci:v000010DEd00000641sv00001682sd00004009* ++ ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) ++ + pci:v000010DEd00000643* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] + +@@ -26306,6 +26330,9 @@ pci:v000010DEd00000FD8* + pci:v000010DEd00000FD9* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 645M] + ++pci:v000010DEd00000FDB* ++ ID_MODEL_FROM_DATABASE=GK107M ++ + pci:v000010DEd00000FDF* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 740M] + +@@ -26861,6 +26888,12 @@ pci:v000010DEd00001140sv00001028sd000005E8* + pci:v000010DEd00001140sv00001028sd000005F4* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv00001028sd0000064E* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001028sd0000068D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv0000103Csd000018EF* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + +@@ -27185,6 +27218,36 @@ pci:v000010DEd00001140sv000017AAsd00003803* + pci:v000010DEd00001140sv000017AAsd00003804* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv000017AAsd00003806* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) ++ ++pci:v000010DEd00001140sv000017AAsd00003808* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) ++ ++pci:v000010DEd00001140sv000017AAsd0000380D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd0000380E* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd0000380F* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003811* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003812* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003813* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003816* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00003818* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv000017AAsd00003901* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) + +@@ -27260,12 +27323,27 @@ pci:v000010DEd00001140sv000017AAsd0000502E* + pci:v000010DEd00001140sv000017AAsd0000502F* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv000017AAsd00005030* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) ++ ++pci:v000010DEd00001140sv000017AAsd00005031* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) ++ ++pci:v000010DEd00001140sv000017AAsd00005032* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv000017AAsd00005033* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv000017AAsd0000503E* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + + pci:v000010DEd00001140sv000017AAsd0000503F* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + ++pci:v000010DEd00001140sv000017AAsd00005040* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001854sd00000177* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + +@@ -28443,7 +28521,7 @@ pci:v000010ECd00008168sv00001043sd00008432* + ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) + + pci:v000010ECd00008168sv00001043sd00008505* +- ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8 series motherboard) + + pci:v000010ECd00008168sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) +@@ -35300,6 +35378,9 @@ pci:v000011ABd00007810* + pci:v000011ABd00007820* + ID_MODEL_FROM_DATABASE=MV78200 [Discovery Innovation] ARM SoC + ++pci:v000011ABd00007823* ++ ID_MODEL_FROM_DATABASE=MV78230 [Armada XP] ARM SoC ++ + pci:v000011ABd0000F003* + ID_MODEL_FROM_DATABASE=GT-64010 Primary Image Piranha Image Generator + +@@ -36602,17 +36683,20 @@ pci:v00001217d00008120* + pci:v00001217d00008130* + ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller + ++pci:v00001217d00008220* ++ ID_MODEL_FROM_DATABASE=OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller ++ + pci:v00001217d00008221* +- ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller ++ ID_MODEL_FROM_DATABASE=OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller + + pci:v00001217d00008320* +- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller ++ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller + + pci:v00001217d00008320sv00001028sd000004A3* +- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) ++ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller (Precision M4600) + + pci:v00001217d00008321* +- ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller ++ ID_MODEL_FROM_DATABASE=OZ600RJ0/OZ900RJ0/OZ600RJS SD/MMC Card Reader Controller + + pci:v00001217d00008330* + ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller +@@ -46403,6 +46487,9 @@ pci:v000014F1d00008800sv00000070sd00009802* + pci:v000014F1d00008800sv00001002sd000000F8* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) + ++pci:v000014F1d00008800sv00001002sd000000F9* ++ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder) ++ + pci:v000014F1d00008800sv00001002sd0000A101* + ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) + +@@ -50978,6 +51065,12 @@ pci:v000018F4d00000125* + pci:v000018F4d00000135* + ID_MODEL_FROM_DATABASE=NT20E2-PTP Network Adapter 2x10Gb + ++pci:v000018F4d00000145* ++ ID_MODEL_FROM_DATABASE=NT40E3-4-PTP Network Adapter 4x10Gb ++ ++pci:v000018F4d00000155* ++ ID_MODEL_FROM_DATABASE=NT100E3-1-PTP Network Adapter 1x100Gb ++ + pci:v000018F6* + ID_VENDOR_FROM_DATABASE=NextIO + +@@ -55143,7 +55236,7 @@ pci:v00008086d00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller + + pci:v00008086d00000150sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) + + pci:v00008086d00000150sv00001849sd00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) +@@ -55229,6 +55322,9 @@ pci:v00008086d0000015E* + pci:v00008086d00000162* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + ++pci:v00008086d00000162sv00001043sd000084CA* ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8 series motherboard) ++ + pci:v00008086d00000162sv00001849sd00000162* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) + +@@ -59061,10 +59157,10 @@ pci:v00008086d00001521sv00001028sd00000602* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) + + pci:v00008086d00001521sv00001028sd00001F60* +- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P I350-t rNDC) + + pci:v00008086d00001521sv00001028sd00001F62* +- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X540/I350 rNDC) + + pci:v00008086d00001521sv00001028sd0000FF9A* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) +@@ -59250,7 +59346,10 @@ pci:v00008086d00001533* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection + + pci:v00008086d00001533sv0000103Csd00000003* +- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) ++ ++pci:v00008086d00001533sv000010A9sd0000802C* ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) + + pci:v00008086d00001533sv000017AAsd00001100* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) +@@ -59261,15 +59360,15 @@ pci:v00008086d00001533sv00008086sd00000001* + pci:v00008086d00001533sv00008086sd00000002* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) + +-pci:v00008086d00001534* +- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +- + pci:v00008086d00001536* + ID_MODEL_FROM_DATABASE=I210 Gigabit Fiber Network Connection + + pci:v00008086d00001537* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + ++pci:v00008086d00001538* ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection ++ + pci:v00008086d00001539* + ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection + +@@ -60267,7 +60366,7 @@ pci:v00008086d00001E02* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] + + pci:v00008086d00001E02sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8 series motherboard) + + pci:v00008086d00001E02sv00001849sd00001E02* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) +@@ -60374,6 +60473,9 @@ pci:v00008086d00001E20sv00001043sd00001517* + pci:v00008086d00001E20sv00001043sd00008415* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) + ++pci:v00008086d00001E20sv00001043sd00008445* ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (ASUS P8Z77-V LX Motherboard) ++ + pci:v00008086d00001E20sv00001849sd00001898* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) + +@@ -60387,7 +60489,7 @@ pci:v00008086d00001E22sv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E22sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8 series motherboard) + + pci:v00008086d00001E22sv00001849sd00001E22* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) +@@ -60411,7 +60513,7 @@ pci:v00008086d00001E26sv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E26sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) + + pci:v00008086d00001E26sv00001849sd00001E26* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) +@@ -60426,7 +60528,7 @@ pci:v00008086d00001E2Dsv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) + + pci:v00008086d00001E2Dsv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) + + pci:v00008086d00001E2Dsv00001849sd00001E2D* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) +@@ -60444,7 +60546,7 @@ pci:v00008086d00001E31sv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) + + pci:v00008086d00001E31sv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8 series motherboard) + + pci:v00008086d00001E31sv00001849sd00001E31* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) +@@ -60462,7 +60564,7 @@ pci:v00008086d00001E3Asv00001043sd00001517* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) + + pci:v00008086d00001E3Asv00001043sd000084CA* +- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) ++ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8 series motherboard) + + pci:v00008086d00001E3Asv00001849sd00001E3A* + ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) +@@ -60488,6 +60590,9 @@ pci:v00008086d00001E43* + pci:v00008086d00001E44* + ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller + ++pci:v00008086d00001E44sv00001043sd000084CA* ++ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (P8 series motherboard) ++ + pci:v00008086d00001E44sv00001849sd00001E44* + ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 52586bc..05f267d 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -41163,7 +41163,7 @@ usb:v1234pED02* + ID_MODEL_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle + + usb:v1235* +- ID_VENDOR_FROM_DATABASE=Novation EMS ++ ID_VENDOR_FROM_DATABASE=Focusrite-Novation + + usb:v1235p0001* + ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition +@@ -41729,6 +41729,9 @@ usb:v12D1p155A* + usb:v12D1p1575* + ID_MODEL_FROM_DATABASE=K5150 LTE modem + ++usb:v12D1p15CA* ++ ID_MODEL_FROM_DATABASE=E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode) ++ + usb:v12D1p1805* + ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone + +@@ -41744,6 +41747,12 @@ usb:v12D1p1C20* + usb:v12D1p1D50* + ID_MODEL_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband + ++usb:v12D1p1F01* ++ ID_MODEL_FROM_DATABASE=E353/E3131 (Mass storage mode) ++ ++usb:v12D1p1F16* ++ ID_MODEL_FROM_DATABASE=K5150 LTE modem (Mass Storage Mode) ++ + usb:v12D1p380B* + ID_MODEL_FROM_DATABASE=WiMAX USB modem(s) + +@@ -41762,6 +41771,12 @@ usb:v12D6p0888* + usb:v12D7* + ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD. + ++usb:v12D8* ++ ID_VENDOR_FROM_DATABASE=Araneus Information Systems Oy ++ ++usb:v12D8p0001* ++ ID_MODEL_FROM_DATABASE=Alea I True Random Number Generator ++ + usb:v12E6* + ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH + +@@ -41805,7 +41820,7 @@ usb:v1307p0163* + ID_MODEL_FROM_DATABASE=256MB/512MB/1GB Flash Drive + + usb:v1307p0165* +- ID_MODEL_FROM_DATABASE=2GB/4GB Flash Drive ++ ID_MODEL_FROM_DATABASE=2GB/4GB/8GB Flash Drive + + usb:v1307p0190* + ID_MODEL_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader +@@ -41846,6 +41861,51 @@ usb:v1312* + usb:v1313* + ID_VENDOR_FROM_DATABASE=ThorLabs + ++usb:v1313p0010* ++ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (Jungo) ++ ++usb:v1313p0011* ++ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (Jungo) ++ ++usb:v1313p0012* ++ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (Jungo) ++ ++usb:v1313p0110* ++ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (VISA) ++ ++usb:v1313p0111* ++ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (VISA) ++ ++usb:v1313p0112* ++ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (VISA) ++ ++usb:v1313p8001* ++ ID_MODEL_FROM_DATABASE=TXP-Series Slot (TXP5001, TXP5004) ++ ++usb:v1313p8012* ++ ID_MODEL_FROM_DATABASE=BC106 Camera Beam Profiler ++ ++usb:v1313p8013* ++ ID_MODEL_FROM_DATABASE=WFS10 Wavefront Sensor ++ ++usb:v1313p8017* ++ ID_MODEL_FROM_DATABASE=BC206 Camera Beam Profiler ++ ++usb:v1313p8019* ++ ID_MODEL_FROM_DATABASE=BP2 Multi Slit Beam Profiler ++ ++usb:v1313p8020* ++ ID_MODEL_FROM_DATABASE=PM300 Optical Power Meter ++ ++usb:v1313p8021* ++ ID_MODEL_FROM_DATABASE=PM300E Optical Power and Energy Meter ++ ++usb:v1313p8022* ++ ID_MODEL_FROM_DATABASE=PM320E Optical Power and Energy Meter ++ ++usb:v1313p8030* ++ ID_MODEL_FROM_DATABASE=ER100 Extinction Ratio Meter ++ + usb:v1313p8070* + ID_MODEL_FROM_DATABASE=PM100D + +@@ -41975,6 +42035,18 @@ usb:v1342p0204* + usb:v1342p0304* + ID_MODEL_FROM_DATABASE=EasiDock Ethernet + ++usb:v1343* ++ ID_VENDOR_FROM_DATABASE=Citizen Systems ++ ++usb:v1343p0003* ++ ID_MODEL_FROM_DATABASE=CX / DNP DS40 ++ ++usb:v1343p0004* ++ ID_MODEL_FROM_DATABASE=CX-W / DNP DS80 ++ ++usb:v1343p0005* ++ ID_MODEL_FROM_DATABASE=CY / DNP DSRX ++ + usb:v1345* + ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp. + +@@ -42002,6 +42074,12 @@ usb:v1347p0403* + usb:v1347p0404* + ID_MODEL_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD + ++usb:v1347p0405* ++ ID_MODEL_FROM_DATABASE=Gx CCD-I CCD ++ ++usb:v1347p0406* ++ ID_MODEL_FROM_DATABASE=Gx CCD-F CCD ++ + usb:v1347p0410* + ID_MODEL_FROM_DATABASE=G1-0400 CCD + +@@ -42149,6 +42227,9 @@ usb:v138Ap003C* + usb:v138Ap003D* + ID_MODEL_FROM_DATABASE=VFS491 + ++usb:v138Ap0050* ++ ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor ++ + usb:v138E* + ID_VENDOR_FROM_DATABASE=Jungo LTD + +@@ -42161,6 +42242,9 @@ usb:v1390* + usb:v1390p0001* + ID_MODEL_FROM_DATABASE=GO 520 T/GO 630/ONE XL (v9) + ++usb:v1390p5454* ++ ID_MODEL_FROM_DATABASE=Blue & Me 2 ++ + usb:v1391* + ID_VENDOR_FROM_DATABASE=IdealTEK, Inc. + +@@ -42263,6 +42347,15 @@ usb:v13B1p0039* + usb:v13B1p003A* + ID_MODEL_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236] + ++usb:v13B1p003B* ++ ID_MODEL_FROM_DATABASE=AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573] ++ ++usb:v13B1p003E* ++ ID_MODEL_FROM_DATABASE=AE6000 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] ++ ++usb:v13B1p003F* ++ ID_MODEL_FROM_DATABASE=WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] ++ + usb:v13B1p13B1* + ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster + +@@ -42446,6 +42539,12 @@ usb:v13D3p3315* + usb:v13D3p3375* + ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter + ++usb:v13D3p3392* ++ ID_MODEL_FROM_DATABASE=Azurewave 43228+20702 ++ ++usb:v13D3p3394* ++ ID_MODEL_FROM_DATABASE=Bluetooth ++ + usb:v13D3p5070* + ID_MODEL_FROM_DATABASE=Webcam + +@@ -42458,6 +42557,9 @@ usb:v13D3p5115* + usb:v13D3p5116* + ID_MODEL_FROM_DATABASE=Integrated Webcam + ++usb:v13D3p5122* ++ ID_MODEL_FROM_DATABASE=2M Integrated Webcam ++ + usb:v13D3p5126* + ID_MODEL_FROM_DATABASE=PC Cam + +@@ -42524,6 +42626,9 @@ usb:v13FDp0840* + usb:v13FDp0841* + ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW + ++usb:v13FDp1040* ++ ID_MODEL_FROM_DATABASE=INIC-1511L PATA Bridge ++ + usb:v13FDp1340* + ID_MODEL_FROM_DATABASE=Hi-Speed USB to SATA Bridge + +@@ -42533,9 +42638,15 @@ usb:v13FDp160F* + usb:v13FDp1640* + ID_MODEL_FROM_DATABASE=INIC-1610L SATA Bridge + ++usb:v13FDp1669* ++ ID_MODEL_FROM_DATABASE=INIC-1609PN ++ + usb:v13FDp1840* + ID_MODEL_FROM_DATABASE=INIC-1608 SATA bridge + ++usb:v13FDp1E40* ++ ID_MODEL_FROM_DATABASE=INIC-1610P SATA bridge ++ + usb:v13FE* + ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc. + +@@ -42555,10 +42666,10 @@ usb:v13FEp1E50* + ID_MODEL_FROM_DATABASE=U3 Smart Drive + + usb:v13FEp1F00* +- ID_MODEL_FROM_DATABASE=DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive ++ ID_MODEL_FROM_DATABASE=Kingston DataTraveler / Patriot Xporter + + usb:v13FEp1F23* +- ID_MODEL_FROM_DATABASE=2Gb ++ ID_MODEL_FROM_DATABASE=PS2232 flash drive controller + + usb:v13FEp2240* + ID_MODEL_FROM_DATABASE=microSD card reader +@@ -42569,12 +42680,18 @@ usb:v13FEp3100* + usb:v13FEp3123* + ID_MODEL_FROM_DATABASE=Verbatim STORE N GO 4GB + ++usb:v13FEp3600* ++ ID_MODEL_FROM_DATABASE=flash drive (4GB, EMTEC) ++ + usb:v13FEp3800* + ID_MODEL_FROM_DATABASE=Rage XT Flash Drive + + usb:v13FEp3E00* + ID_MODEL_FROM_DATABASE=Flash Drive + ++usb:v13FEp5000* ++ ID_MODEL_FROM_DATABASE=USB flash drive (32 GB SHARKOON Accelerate) ++ + usb:v13FEp5100* + ID_MODEL_FROM_DATABASE=Flash Drive + +@@ -42674,6 +42791,12 @@ usb:v1415p2000* + usb:v1419* + ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD. + ++usb:v1421* ++ ID_VENDOR_FROM_DATABASE=Sensor Technology ++ ++usb:v1421p0605* ++ ID_MODEL_FROM_DATABASE=Sentech Camera ++ + usb:v1429* + ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co. + +@@ -42776,6 +42899,18 @@ usb:v1457p5118* + usb:v1457p5119* + ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port + ++usb:v1457p511A* ++ ID_MODEL_FROM_DATABASE=HXD8 u-boot usbtty CDC ACM Mode ++ ++usb:v1457p511B* ++ ID_MODEL_FROM_DATABASE=SMDK2440 u-boot usbtty CDC ACM mode ++ ++usb:v1457p511C* ++ ID_MODEL_FROM_DATABASE=SMDK2443 u-boot usbtty CDC ACM mode ++ ++usb:v1457p511D* ++ ID_MODEL_FROM_DATABASE=QT2410 u-boot usbtty CDC ACM mode ++ + usb:v1457p5120* + ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial + +@@ -42935,6 +43070,9 @@ usb:v148E* + usb:v148F* + ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp. + ++usb:v148Fp1000* ++ ID_MODEL_FROM_DATABASE=Motorola BC4 Bluetooth 3.0+HS Adapter ++ + usb:v148Fp1706* + ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter + +@@ -42983,6 +43121,9 @@ usb:v148Fp5372* + usb:v148Fp5572* + ID_MODEL_FROM_DATABASE=RT5572 Wireless Adapter + ++usb:v148Fp7601* ++ ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter ++ + usb:v148Fp9020* + ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter + +@@ -42998,6 +43139,15 @@ usb:v1491p0020* + usb:v1493* + ID_VENDOR_FROM_DATABASE=Suunto + ++usb:v1493p0010* ++ ID_MODEL_FROM_DATABASE=Bluebird [Ambit] ++ ++usb:v1493p0019* ++ ID_MODEL_FROM_DATABASE=Duck [Ambit2] ++ ++usb:v1493p001A* ++ ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] ++ + usb:v1497* + ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. + +@@ -43118,6 +43268,9 @@ usb:v14CD* + usb:v14CDp121C* + ID_MODEL_FROM_DATABASE=microSD card reader + ++usb:v14CDp121F* ++ ID_MODEL_FROM_DATABASE=microSD CardReader SY-T18 ++ + usb:v14CDp123A* + ID_MODEL_FROM_DATABASE=SD/MMC/RS-MMC Card Reader + +@@ -43131,7 +43284,7 @@ usb:v14CDp6116* + ID_MODEL_FROM_DATABASE=M6116 SATA Bridge + + usb:v14CDp6600* +- ID_MODEL_FROM_DATABASE=USB 2.0 IDE DEVICE ++ ID_MODEL_FROM_DATABASE=M110E PATA bridge + + usb:v14CDp6700* + ID_MODEL_FROM_DATABASE=Card Reader +@@ -43166,6 +43319,9 @@ usb:v14E1* + usb:v14E1p5000* + ID_MODEL_FROM_DATABASE=PenMount 5000 Touch Controller + ++usb:v14E4* ++ ID_VENDOR_FROM_DATABASE=Broadcom Corp. ++ + usb:v14E5* + ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd. + +@@ -43214,6 +43370,15 @@ usb:v1501* + usb:v1509* + ID_VENDOR_FROM_DATABASE=First International Computer, Inc. + ++usb:v1509p0A01* ++ ID_MODEL_FROM_DATABASE=LI-3100 Area Meter ++ ++usb:v1509p0A02* ++ ID_MODEL_FROM_DATABASE=LI-7000 CO2/H2O Gas Analyzer ++ ++usb:v1509p0A03* ++ ID_MODEL_FROM_DATABASE=C-DiGit Blot Scanner ++ + usb:v1509p9242* + ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver + +@@ -43253,6 +43418,12 @@ usb:v1518p0001* + usb:v1518p0002* + ID_MODEL_FROM_DATABASE=HDReye (before firmware loads) + ++usb:v1519* ++ ID_VENDOR_FROM_DATABASE=Comneon ++ ++usb:v1519p0020* ++ ID_MODEL_FROM_DATABASE=HSIC Device ++ + usb:v1520* + ID_VENDOR_FROM_DATABASE=Bitwire Corp. + +@@ -43280,6 +43451,15 @@ usb:v1529p3100* + usb:v152A* + ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH + ++usb:v152Ap8400* ++ ID_MODEL_FROM_DATABASE=INI DVS128 ++ ++usb:v152Ap840D* ++ ID_MODEL_FROM_DATABASE=INI DAViS ++ ++usb:v152Ap841A* ++ ID_MODEL_FROM_DATABASE=INI DAViS FX3 ++ + usb:v152D* + ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp. + +@@ -43337,6 +43517,9 @@ usb:v1532p0007* + usb:v1532p0013* + ID_MODEL_FROM_DATABASE=Orochi mouse + ++usb:v1532p0015* ++ ID_MODEL_FROM_DATABASE=Naga Mouse ++ + usb:v1532p0016* + ID_MODEL_FROM_DATABASE=DeathAdder Mouse + +@@ -43364,9 +43547,21 @@ usb:v1532p0102* + usb:v1532p0109* + ID_MODEL_FROM_DATABASE=Lycosa Keyboard + ++usb:v1532p0113* ++ ID_MODEL_FROM_DATABASE=RZ07-0074 Gaming Keypad [Orbweaver] ++ + usb:v1532p0300* + ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra] + ++usb:v153B* ++ ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH ++ ++usb:v153Bp1181* ++ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 1 ++ ++usb:v153Bp1182* ++ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 2 ++ + usb:v1546* + ID_VENDOR_FROM_DATABASE=U-Blox AG + +@@ -43388,12 +43583,18 @@ usb:v154B* + usb:v154Bp0010* + ID_MODEL_FROM_DATABASE=USB 2.0 Flash Drive + ++usb:v154Bp0048* ++ ID_MODEL_FROM_DATABASE=Flash Drive ++ + usb:v154Bp004D* + ID_MODEL_FROM_DATABASE=8 GB Flash Drive + + usb:v154Bp0057* + ID_MODEL_FROM_DATABASE=32GB Micro Slide Attache Flash Drive + ++usb:v154Bp007A* ++ ID_MODEL_FROM_DATABASE=8GB Classic Attache Flash Drive ++ + usb:v154Bp6545* + ID_MODEL_FROM_DATABASE=FD Device + +@@ -43530,7 +43731,10 @@ usb:v15A2p0052* + ID_MODEL_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode + + usb:v15A2p0054* +- ID_MODEL_FROM_DATABASE=i.MX6Q SystemOnChip in RecoveryMode ++ ID_MODEL_FROM_DATABASE=i.MX 6Dual/6Quad SystemOnChip in RecoveryMode ++ ++usb:v15A2p0061* ++ ID_MODEL_FROM_DATABASE=i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode + + usb:v15A4* + ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc. +@@ -43640,6 +43844,9 @@ usb:v15C2p0036* + usb:v15C2p0038* + ID_MODEL_FROM_DATABASE=GD01 MX LCD Display/IR Receiver + ++usb:v15C2p0042* ++ ID_MODEL_FROM_DATABASE=Antec Veris Multimedia Station E-Z IR Receiver ++ + usb:v15C2pFFDA* + ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller + +@@ -43724,6 +43931,9 @@ usb:v15D9p0A4C* + usb:v15D9p0A4D* + ID_MODEL_FROM_DATABASE=Optical Mouse + ++usb:v15D9p0A4F* ++ ID_MODEL_FROM_DATABASE=Optical Mouse ++ + usb:v15DC* + ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc. + +@@ -44507,6 +44717,15 @@ usb:v1690p0740* + usb:v1690p0901* + ID_MODEL_FROM_DATABASE=Voyager 205 ADSL Router + ++usb:v1690p2000* ++ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard ++ ++usb:v1690p2001* ++ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard ++ ++usb:v1690pFE12* ++ ID_MODEL_FROM_DATABASE=Bootloader ++ + usb:v1696* + ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc. + +@@ -44669,6 +44888,9 @@ usb:v16C0p06B4* + usb:v16C0p06B5* + ID_MODEL_FROM_DATABASE=USB2LPT with 3 interfaces (native, HID, printer) + ++usb:v16C0p0762* ++ ID_MODEL_FROM_DATABASE=Osmocom SIMtrace ++ + usb:v16C0p076B* + ID_MODEL_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader + +@@ -44759,6 +44981,15 @@ usb:v16D0p075D* + usb:v16D0p080A* + ID_MODEL_FROM_DATABASE=S2E1 Interface + ++usb:v16D0p0870* ++ ID_MODEL_FROM_DATABASE=Kaufmann Automotive GmbH, RKS+CAN Interface ++ ++usb:v16D1* ++ ID_VENDOR_FROM_DATABASE=Suprema Inc. ++ ++usb:v16D1p0401* ++ ID_MODEL_FROM_DATABASE=SUP-SFR400(A) BioMini Fingerprint Reader ++ + usb:v16D3* + ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc. + +@@ -44774,6 +45005,9 @@ usb:v16D5p6501* + usb:v16D5p6502* + ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem + ++usb:v16D5p6603* ++ ID_MODEL_FROM_DATABASE=ADU-890WH modem ++ + usb:v16D6* + ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o. + +@@ -44870,6 +45104,18 @@ usb:v170Bp0011* + usb:v170D* + ID_VENDOR_FROM_DATABASE=Avnera + ++usb:v1711* ++ ID_VENDOR_FROM_DATABASE=Leica Microsystems ++ ++usb:v1711p3020* ++ ID_MODEL_FROM_DATABASE=IC80 HD Camera ++ ++usb:v1724* ++ ID_VENDOR_FROM_DATABASE=Meyer Instruments (MIS) ++ ++usb:v1724p0115* ++ ID_MODEL_FROM_DATABASE=PAXcam5 ++ + usb:v1725* + ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor + +@@ -44957,9 +45203,21 @@ usb:v1737p0078* + usb:v1737p0079* + ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572] + ++usb:v173D* ++ ID_VENDOR_FROM_DATABASE=QSENN ++ ++usb:v173Dp0002* ++ ID_MODEL_FROM_DATABASE=GP-K7000 keyboard ++ + usb:v1740* + ID_VENDOR_FROM_DATABASE=Senao + ++usb:v1740p0100* ++ ID_MODEL_FROM_DATABASE=EUB1200AC AC1200 DB Wireless Adapter [Realtek RTL8812AU] ++ ++usb:v1740p0600* ++ ID_MODEL_FROM_DATABASE=EUB600v1 802.11abgn Wireless Adapter [Ralink RT3572] ++ + usb:v1740p0605* + ID_MODEL_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter + +@@ -45002,14 +45260,20 @@ usb:v1743* + usb:v1748* + ID_VENDOR_FROM_DATABASE=MQP Electronics + ++usb:v1748p0101* ++ ID_MODEL_FROM_DATABASE=Packet-Master USB12 ++ + usb:v174C* + ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. + + usb:v174Cp5106* + ID_MODEL_FROM_DATABASE=Transcend StoreJet 25M3 + ++usb:v174Cp5136* ++ ID_MODEL_FROM_DATABASE=ASM1053 SATA 6Gb/s bridge ++ + usb:v174Cp55AA* +- ID_MODEL_FROM_DATABASE=ASMedia 2105 SATA bridge ++ ID_MODEL_FROM_DATABASE=ASM1051 SATA 3Gb/s bridge + + usb:v174F* + ID_VENDOR_FROM_DATABASE=Syntek +@@ -45137,6 +45401,9 @@ usb:v1781p0C31* + usb:v1781p0C9F* + ID_MODEL_FROM_DATABASE=USBtiny + ++usb:v1781p1EEF* ++ ID_MODEL_FROM_DATABASE=OpenAPC SecuKey ++ + usb:v1782* + ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc. + +@@ -45206,6 +45473,9 @@ usb:v17A0p0100* + usb:v17A0p0101* + ID_MODEL_FROM_DATABASE=UB1 boundary microphone + ++usb:v17A0p0120* ++ ID_MODEL_FROM_DATABASE=Meteorite condenser microphone ++ + usb:v17A0p0200* + ID_MODEL_FROM_DATABASE=StudioDock monitors (internal hub) + +@@ -45221,6 +45491,9 @@ usb:v17A0p0301* + usb:v17A0p0302* + ID_MODEL_FROM_DATABASE=GoMic compact condenser microphone + ++usb:v17A0p0303* ++ ID_MODEL_FROM_DATABASE=C01U Pro condenser microphone ++ + usb:v17A0p0304* + ID_MODEL_FROM_DATABASE=Q2U handheld mic with XLR + +@@ -45371,6 +45644,9 @@ usb:v17E9p037C* + usb:v17E9p037D* + ID_MODEL_FROM_DATABASE=Plugable USB2-HDMI-165 + ++usb:v17E9p410A* ++ ID_MODEL_FROM_DATABASE=HDMI Adapter ++ + usb:v17E9p430A* + ID_MODEL_FROM_DATABASE=HP Port Replicator (Composite Device) + +@@ -45383,6 +45659,9 @@ usb:v17EB* + usb:v17EF* + ID_VENDOR_FROM_DATABASE=Lenovo + ++usb:v17EFp1000* ++ ID_MODEL_FROM_DATABASE=Hub ++ + usb:v17EFp1003* + ID_MODEL_FROM_DATABASE=Integrated Smart Card Reader + +@@ -45395,6 +45674,9 @@ usb:v17EFp1008* + usb:v17EFp100A* + ID_MODEL_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3 + ++usb:v17EFp304B* ++ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [ThinkPad OneLink GigaLAN] ++ + usb:v17EFp3815* + ID_MODEL_FROM_DATABASE=ChipsBnk 2GB USB Stick + +@@ -45455,6 +45737,12 @@ usb:v17EFp6009* + usb:v17EFp6014* + ID_MODEL_FROM_DATABASE=Mini Wireless Keyboard N5901 + ++usb:v17EFp6025* ++ ID_MODEL_FROM_DATABASE=ThinkPad Travel Mouse ++ ++usb:v17EFp7203* ++ ID_MODEL_FROM_DATABASE=Ethernet adapter [U2L 100P-Y1] ++ + usb:v17EFp7423* + ID_MODEL_FROM_DATABASE=IdeaPad A1 Tablet + +-- +1.7.9.2 + diff --git a/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch b/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch new file mode 100644 index 00000000..ea295af2 --- /dev/null +++ b/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch @@ -0,0 +1,34 @@ +Based on 1727a595225132eb73ec134b6979d9c713b42e8c Mon Sep 17 00:00:00 2001 +From: Michael Marineau +Date: Mon, 12 May 2014 09:26:16 +0200 +Subject: [PATCH] job: always add waiting jobs to run queue during coldplug + +commit 20a83d7bf was not equivalent to the original bug fix proposed by +Michal Sekletar . The committed version only added +the job to the run queue if the job had a timeout, which most jobs do +not have. Just re-ordering the code gets us the intended functionality +--- + src/core/job.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- src/core/job.c ++++ src/core/job.c 2014-05-12 13:11:24.918735646 +0000 +@@ -1051,15 +1051,15 @@ int job_coldplug(Job *j) { + + assert(j); + ++ if (j->state == JOB_WAITING) ++ job_add_to_run_queue(j); ++ + if (j->begin_usec == 0 || j->unit->job_timeout == 0) + return 0; + + if (j->timer_event_source) + j->timer_event_source = sd_event_source_unref(j->timer_event_source); + +- if (j->state == JOB_WAITING) +- job_add_to_run_queue(j); +- + r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); + if (r < 0) + log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0005-journalctl-correct-help-text-for-until.patch b/0005-journalctl-correct-help-text-for-until.patch new file mode 100644 index 00000000..77563faf --- /dev/null +++ b/0005-journalctl-correct-help-text-for-until.patch @@ -0,0 +1,21 @@ +Based on 7558251eef610e71595a0aa48952479906cb899a Mon Sep 17 00:00:00 2001 +From: Santiago Vila +Date: Sat, 25 Oct 2014 10:40:30 -0400 +Subject: [PATCH] journalctl: correct help text for --until + +http://bugs.debian.org/766598 +--- + src/journal/journalctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/journal/journalctl.c ++++ src/journal/journalctl.c 2014-10-29 14:10:18.863838313 +0000 +@@ -171,7 +171,7 @@ static int help(void) { + " --user Show only the user journal for the current user\n" + " -M --machine=CONTAINER Operate on local container\n" + " --since=DATE Start showing entries on or newer than the specified date\n" +- " --until=DATE Stop showing entries on or older than the specified date\n" ++ " --until=DATE Stop showing entries on or newer than the specified date\n" + " -c --cursor=CURSOR Start showing entries from the specified cursor\n" + " --after-cursor=CURSOR Start showing entries from after the specified cursor\n" + " --show-cursor Print the cursor after all the entries\n" diff --git a/0005-login-fix-mem-leak.patch b/0005-login-fix-mem-leak.patch new file mode 100644 index 00000000..69206fd5 --- /dev/null +++ b/0005-login-fix-mem-leak.patch @@ -0,0 +1,23 @@ +Based on 13f493dc9ace9861c1f27c4d37e8cd6d52fe6a32 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sun, 31 Aug 2014 23:34:01 +0200 +Subject: [PATCH] login: fix mem leak + +--- + src/login/logind-session.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-09-01 12:59:27.870235647 +0000 +@@ -1101,8 +1101,10 @@ int session_set_controller(Session *s, c + * If logind crashes/restarts, we restore the controller during restart + * or reset the VT in case it crashed/exited, too. */ + r = session_mute_vt(s); +- if (r < 0) ++ if (r < 0) { ++ free(t); + return r; ++ } + + session_swap_controller(s, t); + diff --git a/0005-logind-fix-policykit-checks.patch b/0005-logind-fix-policykit-checks.patch new file mode 100644 index 00000000..69cf61a6 --- /dev/null +++ b/0005-logind-fix-policykit-checks.patch @@ -0,0 +1,43 @@ +From 055d406624cb9e01963558767420b71e5f75d2d3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 10 Mar 2014 08:25:15 -0400 +Subject: [PATCH] logind: fix policykit checks + +--- + src/login/logind-dbus.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git src/login/logind-dbus.c src/login/logind-dbus.c +index c9c58f3..235b131 100644 +--- src/login/logind-dbus.c ++++ src/login/logind-dbus.c +@@ -1480,6 +1480,8 @@ static int method_do_shutdown_or_sleep( + action_multiple_sessions, interactive, error, method, m); + if (r < 0) + return r; ++ if (r == 0) ++ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + + if (blocked) { +@@ -1487,6 +1489,8 @@ static int method_do_shutdown_or_sleep( + action_ignore_inhibit, interactive, error, method, m); + if (r < 0) + return r; ++ if (r == 0) ++ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + + if (!multiple_sessions && !blocked) { +@@ -1494,6 +1498,8 @@ static int method_do_shutdown_or_sleep( + action, interactive, error, method, m); + if (r < 0) + return r; ++ if (r == 0) ++ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + } + + r = bus_manager_shutdown_or_sleep_now_or_later(m, unit_name, w, error); +-- +1.7.9.2 + diff --git a/0005-logind-fix-typo.patch b/0005-logind-fix-typo.patch new file mode 100644 index 00000000..79916e75 --- /dev/null +++ b/0005-logind-fix-typo.patch @@ -0,0 +1,25 @@ +From 2b2332856bafe25c4aa17db2a90bdcddef1fec1a Mon Sep 17 00:00:00 2001 +From: Ronny Chevalier +Date: Wed, 17 Sep 2014 20:10:44 +0200 +Subject: [PATCH] logind: fix typo + +--- + src/login/logind-session-dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/logind-session-dbus.c src/login/logind-session-dbus.c +index 7d81500..58836fc 100644 +--- src/login/logind-session-dbus.c ++++ src/login/logind-session-dbus.c +@@ -249,7 +249,7 @@ static int method_set_idle_hint(sd_bus *bus, sd_bus_message *message, void *user + return r; + + if (uid != 0 && uid != s->user->uid) +- return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session my set idle hint"); ++ return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session may set idle hint"); + + session_set_idle_hint(s, b); + +-- +1.7.9.2 + diff --git a/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch b/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch new file mode 100644 index 00000000..aaae9d12 --- /dev/null +++ b/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch @@ -0,0 +1,119 @@ +From b5d3e1688133077ca20542a20dcd8919147e72e1 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 11 Mar 2014 22:38:54 +0100 +Subject: [PATCH] logind: move lid switch handling from logind-main to + logind-core + +../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore' +collect2: error: ld returned 1 exit status +make[2]: *** [test-login-tables] +--- + src/login/logind-dbus.c | 40 ++++++++++++++++++++++++++++++++++++++++ + src/login/logind.c | 40 ---------------------------------------- + 2 files changed, 40 insertions(+), 40 deletions(-) + +diff --git src/login/logind-dbus.c src/login/logind-dbus.c +index c5f9cb3..2ef87f7 100644 +--- src/login/logind-dbus.c ++++ src/login/logind-dbus.c +@@ -1305,6 +1305,46 @@ static int bus_manager_log_shutdown( + q, NULL); + } + ++static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(e); ++ assert(m); ++ ++ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); ++ return 0; ++} ++ ++int manager_set_lid_switch_ignore(Manager *m, usec_t until) { ++ int r; ++ ++ assert(m); ++ ++ if (until <= now(CLOCK_MONOTONIC)) ++ return 0; ++ ++ /* We want to ignore the lid switch for a while after each ++ * suspend, and after boot-up. Hence let's install a timer for ++ * this. As long as the event source exists we ignore the lid ++ * switch. */ ++ ++ if (m->lid_switch_ignore_event_source) { ++ usec_t u; ++ ++ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); ++ if (r < 0) ++ return r; ++ ++ if (until <= u) ++ return 0; ++ ++ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); ++ } else ++ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); ++ ++ return r; ++} ++ + static int execute_shutdown_or_sleep( + Manager *m, + InhibitWhat w, +diff --git src/login/logind.c src/login/logind.c +index 03b7753..2d734ff 100644 +--- src/login/logind.c ++++ src/login/logind.c +@@ -962,46 +962,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us + return 0; + } + +-static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { +- Manager *m = userdata; +- +- assert(e); +- assert(m); +- +- m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); +- return 0; +-} +- +-int manager_set_lid_switch_ignore(Manager *m, usec_t until) { +- int r; +- +- assert(m); +- +- if (until <= now(CLOCK_MONOTONIC)) +- return 0; +- +- /* We want to ignore the lid switch for a while after each +- * suspend, and after boot-up. Hence let's install a timer for +- * this. As long as the event source exists we ignore the lid +- * switch. */ +- +- if (m->lid_switch_ignore_event_source) { +- usec_t u; +- +- r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); +- if (r < 0) +- return r; +- +- if (until <= u) +- return 0; +- +- r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); +- } else +- r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); +- +- return r; +-} +- + int manager_startup(Manager *m) { + int r; + Seat *seat; +-- +1.7.9.2 + diff --git a/0005-man-fix-path-in-crypttab-5.patch b/0005-man-fix-path-in-crypttab-5.patch new file mode 100644 index 00000000..d0aef604 --- /dev/null +++ b/0005-man-fix-path-in-crypttab-5.patch @@ -0,0 +1,26 @@ +From 9fcdf32294e66f91d2a177f73a77049832768311 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 23 Jun 2014 23:07:53 -0400 +Subject: [PATCH] man: fix path in crypttab(5) + +https://bugs.freedesktop.org/show_bug.cgi?id=75816 +--- + man/crypttab.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git man/crypttab.xml man/crypttab.xml +index 668e51d..9030015 100644 +--- man/crypttab.xml ++++ man/crypttab.xml +@@ -369,7 +369,7 @@ + luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b + swap /dev/sda7 /dev/urandom swap + truecrypt /dev/sda2 /etc/container_password tcrypt +-hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile ++hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile + + + +-- +1.7.9.2 + diff --git a/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch b/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch new file mode 100644 index 00000000..e5b6706d --- /dev/null +++ b/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch @@ -0,0 +1,94 @@ +From 28650077f36466d9c5ee27ef2006fae3171a2430 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 30 Jun 2014 16:22:12 +0200 +Subject: [PATCH] nspawn: block open_by_handle_at() and others via seccomp + +Let's protect ourselves against the recently reported docker security +issue. Our man page makes clear that we do not make any security +promises anyway, but well, this one is easy to mitigate, so let's do it. +While we are at it block a couple of more syscalls that are no good in +containers, too. +--- + src/nspawn/nspawn.c | 47 +++++++++++++++++++++++++++++++++++------------ + 1 file changed, 35 insertions(+), 12 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index fd61d07..656c1bf 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1864,22 +1864,25 @@ static int setup_macvlan(pid_t pid) { + return 0; + } + +-static int audit_still_doesnt_work_in_containers(void) { ++static int setup_seccomp(void) { + + #ifdef HAVE_SECCOMP ++ static const int blacklist[] = { ++ SCMP_SYS(kexec_load), ++ SCMP_SYS(open_by_handle_at), ++ SCMP_SYS(init_module), ++ SCMP_SYS(finit_module), ++ SCMP_SYS(delete_module), ++ SCMP_SYS(iopl), ++ SCMP_SYS(ioperm), ++ SCMP_SYS(swapon), ++ SCMP_SYS(swapoff), ++ }; ++ + scmp_filter_ctx seccomp; ++ unsigned i; + int r; + +- /* +- Audit is broken in containers, much of the userspace audit +- hookup will fail if running inside a container. We don't +- care and just turn off creation of audit sockets. +- +- This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail +- with EAFNOSUPPORT which audit userspace uses as indication +- that audit is disabled in the kernel. +- */ +- + seccomp = seccomp_init(SCMP_ACT_ALLOW); + if (!seccomp) + return log_oom(); +@@ -1890,6 +1893,26 @@ static int audit_still_doesnt_work_in_containers(void) { + goto finish; + } + ++ for (i = 0; i < ELEMENTSOF(blacklist); i++) { ++ r = seccomp_rule_add(seccomp, SCMP_ACT_ERRNO(EPERM), blacklist[i], 0); ++ if (r == -EFAULT) ++ continue; /* unknown syscall */ ++ if (r < 0) { ++ log_error("Failed to block syscall: %s", strerror(-r)); ++ goto finish; ++ } ++ } ++ ++ /* ++ Audit is broken in containers, much of the userspace audit ++ hookup will fail if running inside a container. We don't ++ care and just turn off creation of audit sockets. ++ ++ This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail ++ with EAFNOSUPPORT which audit userspace uses as indication ++ that audit is disabled in the kernel. ++ */ ++ + r = seccomp_rule_add( + seccomp, + SCMP_ACT_ERRNO(EAFNOSUPPORT), +@@ -3050,7 +3073,7 @@ int main(int argc, char *argv[]) { + + dev_setup(arg_directory); + +- if (audit_still_doesnt_work_in_containers() < 0) ++ if (setup_seccomp() < 0) + goto child_fail; + + if (setup_dev_console(arg_directory, console) < 0) +-- +1.7.9.2 + diff --git a/0005-po-add-Greek-translation.patch b/0005-po-add-Greek-translation.patch new file mode 100644 index 00000000..029ce4fa --- /dev/null +++ b/0005-po-add-Greek-translation.patch @@ -0,0 +1,436 @@ +From 3d89c35c2ae08c3fbf1a037c4df54c8e5ae56faf Mon Sep 17 00:00:00 2001 +From: Dimitris Spingos +Date: Wed, 7 May 2014 18:27:02 +0200 +Subject: [PATCH] po: add Greek translation + +https://bugs.freedesktop.org/show_bug.cgi?id=78064 +--- + po/LINGUAS | 3 +- + po/el.po | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 406 insertions(+), 1 deletion(-) + create mode 100644 po/el.po + +diff --git po/LINGUAS po/LINGUAS +index 0301751..820ca82 100644 +--- po/LINGUAS ++++ po/LINGUAS +@@ -1,4 +1,5 @@ ++el + fr ++it + pl + ru +-it +diff --git po/el.po po/el.po +new file mode 100644 +index 0000000..1570565 +--- /dev/null ++++ po/el.po +@@ -0,0 +1,404 @@ ++# Greek translation for systemd. ++# Copyright (C) 2014 systemd's COPYRIGHT HOLDER ++# This file is distributed under the same license as the systemd package. ++# Dimitris Spingos , 2014. ++# Dimitris Spingos (Δημήτρης Σπίγγος) , 2014. ++msgid "" ++msgstr "" ++"Project-Id-Version: systemd master\n" ++"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" ++"temd&keywords=I18N+L10N&component=general\n" ++"POT-Creation-Date: 2014-04-25 15:51+0000\n" ++"PO-Revision-Date: 2014-04-29 09:17+0300\n" ++"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) \n" ++"Language-Team: team@lists.gnome.gr\n" ++"Language: el\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Virtaal 0.7.0\n" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 ++msgid "Set host name" ++msgstr "Ορισμός ονόματος οικοδεσπότη" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 ++msgid "Authentication is required to set the local host name." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 ++msgid "Set static host name" ++msgstr "Ορισμός στατικού ονόματος οικοδεσπότη" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 ++msgid "" ++"Authentication is required to set the statically configured local host name, " ++"as well as the pretty host name." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ορίσετε το στατικά ρυθμισμένο όνομα τοπικού " ++"οικοδεσπότη, καθώς και το pretty όνομα οικοδεσπότη." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 ++msgid "Set machine information" ++msgstr "Ορισμός πληροφοριών μηχανής" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 ++msgid "Authentication is required to set local machine information." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε πληροφορίες τοπικής μηχανής." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 ++msgid "Set system locale" ++msgstr "Ορισμός τοπικών ρυθμίσεων συστήματος" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 ++msgid "Authentication is required to set the system locale." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ορίσετε τις τοπικές ρυθμίσεις του συστήματος." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 ++msgid "Set system keyboard settings" ++msgstr "Ορισμός ρυθμίσεων πληκτρολογίου συστήματος" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 ++msgid "Authentication is required to set the system keyboard settings." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ορίσετε τις ρυθμίσεις πληκτρολογίου του " ++"συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:1 ++msgid "Allow applications to inhibit system shutdown" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τον τερματισμό του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:2 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"shutdown." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει τον " ++"τερματισμό του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:3 ++msgid "Allow applications to delay system shutdown" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να καθυστερούν τον τερματισμό του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:4 ++msgid "" ++"Authentication is required to allow an application to delay system shutdown." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " ++"τον τερματισμό του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:5 ++msgid "Allow applications to inhibit system sleep" ++msgstr "Να επιτρέπεται στις εφαρμογές να αποτρέπουν την ύπνωση του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:6 ++msgid "" ++"Authentication is required to allow an application to inhibit system sleep." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"ύπνωση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:7 ++msgid "Allow applications to delay system sleep" ++msgstr "Να επιτρέπεται στις εφαρμογές να καθυστερούν την ύπνωση του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:8 ++msgid "" ++"Authentication is required to allow an application to delay system sleep." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " ++"την ύπνωση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:9 ++msgid "Allow applications to inhibit automatic system suspend" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν την αυτόματη αναστολή του " ++"συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:10 ++msgid "" ++"Authentication is required to allow an application to inhibit automatic " ++"system suspend." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"αυτόματη αναστολή του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:11 ++msgid "Allow applications to inhibit system handling of the power key" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " ++"ενεργοποίησης του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:12 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the power key." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του πλήκτρου ενεργοποίησης του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:13 ++msgid "Allow applications to inhibit system handling of the suspend key" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " ++"αναστολής του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:14 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the suspend key." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του πλήκτρου αναστολής του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:15 ++msgid "Allow applications to inhibit system handling of the hibernate key" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " ++"αδρανοποίησης του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:16 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the hibernate key." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του πλήκτρου αδρανοποίησης του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:17 ++msgid "Allow applications to inhibit system handling of the lid switch" ++msgstr "" ++"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του διακόπτη " ++"καλύμματος του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:18 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the lid switch." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " ++"διαχείριση του διακόπτη καλύμματος του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:19 ++msgid "Allow non-logged-in users to run programs" ++msgstr "Να επιτρέπεται σε μη συνδεμένους χρήστες να εκτελούν προγράμματα" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:20 ++msgid "" ++"Authentication is required to allow a non-logged-in user to run programs." ++msgstr "" ++"Απαιτείται πιστοποίηση για να επιτρέπεται σε μη συνδεμένους χρήστες να " ++"εκτελούν προγράμματα." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:21 ++msgid "Allow attaching devices to seats" ++msgstr "Να επιτρέπεται η προσάρτηση συσκευών στους σταθμούς εργασίας" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:22 ++msgid "Authentication is required for attaching a device to a seat." ++msgstr "" ++"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:23 ++msgid "Flush device to seat attachments" ++msgstr "Αφαίρεση συσκευής από προσαρτήσεις σταθμού εργασίας" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:24 ++msgid "" ++"Authentication is required for resetting how devices are attached to seats." ++msgstr "" ++"Απαιτείται πιστοποίηση για επαναφορά του τρόπου που οι συσκευές προσαρτώνται " ++"στους σταθμούς εργασίας." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:25 ++msgid "Power off the system" ++msgstr "Σβήσιμο του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:26 ++msgid "Authentication is required for powering off the system." ++msgstr "Απαιτείται πιστοποίηση για την σβήσιμο του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:27 ++msgid "Power off the system while other users are logged in" ++msgstr "Σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:28 ++msgid "" ++"Authentication is required for powering off the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι " ++"συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:29 ++msgid "Power off the system while an application asked to inhibit it" ++msgstr "Απενεργοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:30 ++msgid "" ++"Authentication is required for powering off the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για απενεργοποίηση του συστήματος ενώ μια εφαρμογή " ++"ζήτησε να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:31 ++msgid "Reboot the system" ++msgstr "Επανεκκίνηση του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:32 ++msgid "Authentication is required for rebooting the system." ++msgstr "Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:33 ++msgid "Reboot the system while other users are logged in" ++msgstr "Επανεκκίνηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:34 ++msgid "" ++"Authentication is required for rebooting the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ άλλοι χρήστες " ++"είναι συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:35 ++msgid "Reboot the system while an application asked to inhibit it" ++msgstr "Επανεκκίνηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:36 ++msgid "" ++"Authentication is required for rebooting the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ μια εφαρμογή " ++"ζήτησε να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:37 ++msgid "Suspend the system" ++msgstr "Αναστολή του συστήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:38 ++msgid "Authentication is required for suspending the system." ++msgstr "Απαιτείται πιστοποίηση για την αναστολή του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:39 ++msgid "Suspend the system while other users are logged in" ++msgstr "Αναστολή του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:40 ++msgid "" ++"Authentication is required for suspending the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ άλλοι χρήστες είναι " ++"συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:41 ++msgid "Suspend the system while an application asked to inhibit it" ++msgstr "Αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:42 ++msgid "" ++"Authentication is required for suspending the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε " ++"να αποτραπεί." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:43 ++msgid "Hibernate the system" ++msgstr "Αδρανοποίηση του συτήματος" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:44 ++msgid "Authentication is required for hibernating the system." ++msgstr "Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:45 ++msgid "Hibernate the system while other users are logged in" ++msgstr "Αδρανοποίηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:46 ++msgid "" ++"Authentication is required for hibernating the system while other users are " ++"logged in." ++msgstr "" ++"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ άλλοι χρήστες " ++"είναι συνδεμένοι." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:47 ++msgid "Hibernate the system while an application asked to inhibit it" ++msgstr "Αδρανοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:48 ++msgid "" ++"Authentication is required for hibernating the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ μια εφαρμογή " ++"ζήτησε να αποτραπεί." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 ++msgid "Set system time" ++msgstr "Ορισμός ώρας συστήματος" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 ++msgid "Authentication is required to set the system time." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 ++msgid "Set system timezone" ++msgstr "Ορισμός ζώνης ώρας συστήματος" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 ++msgid "Authentication is required to set the system timezone." ++msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα ζώνης του συστήματος." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 ++msgid "Set RTC to local timezone or UTC" ++msgstr "Ορισμός RTC στην τοπική ζώνη ώρας ή UTC" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 ++msgid "" ++"Authentication is required to control whether the RTC stores the local or " ++"UTC time." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ελέγξετε αν το RTC αποθηκεύει την τοπική ή την " ++"ώρα UTC." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 ++msgid "Turn network time synchronization on or off" ++msgstr "Ενεργοποίηση/Απενεργοποίηση συγχρονισμού ώρας δικτύου" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 ++msgid "" ++"Authentication is required to control whether network time synchronization " ++"shall be enabled." ++msgstr "" ++"Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα " ++"ενεργοποιηθεί." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 ++msgid "Send passphrase back to system" ++msgstr "Αποστολή του συνθηματικού πίσω στο σύστημα" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 ++msgid "" ++"Authentication is required to send the entered passphrase back to the system." ++msgstr "" ++"Απαιτείται πιστοποίηση για αποστολή του εισερχόμενου συνθηματικού πίσω στο " ++"σύστημα." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 ++msgid "Privileged system and service manager access" ++msgstr "Προνομιούχος πρόσβαση διαχειριστή συστήματος και υπηρεσίας" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 ++msgid "Authentication is required to access the system and service manager." ++msgstr "" ++"Απαιτείται πιστοποίηση για να προσπελάσετε τον διαχειριστή συστήματος και " ++"υπηρεσιών." +-- +1.7.9.2 + diff --git a/0005-sd-daemon-fix-incorrect-variable-access.patch b/0005-sd-daemon-fix-incorrect-variable-access.patch new file mode 100644 index 00000000..99a923b2 --- /dev/null +++ b/0005-sd-daemon-fix-incorrect-variable-access.patch @@ -0,0 +1,25 @@ +From 56dc9aec21ab23f76fadf45585adf88e71aa8078 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Mar 2014 23:54:14 +0100 +Subject: [PATCH] sd-daemon: fix incorrect variable access + +--- + src/libsystemd/sd-daemon/sd-daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-daemon/sd-daemon.c src/libsystemd/sd-daemon/sd-daemon.c +index 21fb346..b013438 100644 +--- src/libsystemd/sd-daemon/sd-daemon.c ++++ src/libsystemd/sd-daemon/sd-daemon.c +@@ -517,7 +517,7 @@ _public_ int sd_watchdog_enabled(int unset_environment, uint64_t *usec) { + r = -errno; + goto finish; + } +- if (!p || p == e || *p || l <= 0) { ++ if (!p || p == e || *p || ll <= 0) { + r = -EINVAL; + goto finish; + } +-- +1.7.9.2 + diff --git a/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch b/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch new file mode 100644 index 00000000..3c3d9e50 --- /dev/null +++ b/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch @@ -0,0 +1,37 @@ +From cef3566998fcae6936d781e678c309950a8a5787 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 3 Oct 2014 20:57:30 -0400 +Subject: [PATCH] sd-id128: do stricter checking of random boot id + +If we are bothering to check whether the kernel is not feeding us +bad data, we might as well do it properly. + +CID #1237692. +--- + src/libsystemd/sd-id128/sd-id128.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git src/libsystemd/sd-id128/sd-id128.c src/libsystemd/sd-id128/sd-id128.c +index a1e44e6..233ffa0 100644 +--- src/libsystemd/sd-id128/sd-id128.c ++++ src/libsystemd/sd-id128/sd-id128.c +@@ -183,11 +183,14 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) { + for (j = 0, p = buf; j < 16; j++) { + int a, b; + +- if (p >= buf + k) ++ if (p >= buf + k - 1) + return -EIO; + +- if (*p == '-') ++ if (*p == '-') { + p++; ++ if (p >= buf + k - 1) ++ return -EIO; ++ } + + a = unhexchar(p[0]); + b = unhexchar(p[1]); +-- +1.7.9.2 + diff --git a/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch b/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch new file mode 100644 index 00000000..5dfa4ed5 --- /dev/null +++ b/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch @@ -0,0 +1,45 @@ +Based on 85529c815b47c22839e0f148af67fd37e977cbfa Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 12 Aug 2014 19:29:27 +0200 +Subject: [PATCH] sd-resolve: fix allocation if query ids, never reuse them + +--- + src/libsystemd/sd-resolve/sd-resolve.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +--- src/libsystemd/sd-resolve/sd-resolve.c ++++ src/libsystemd/sd-resolve/sd-resolve.c 2014-08-22 14:18:24.838235343 +0000 +@@ -81,7 +81,7 @@ struct sd_resolve { + pthread_t workers[WORKERS_MAX]; + unsigned n_valid_workers; + +- unsigned current_id, current_index; ++ unsigned current_id; + sd_resolve_query* queries[QUERIES_MAX]; + unsigned n_queries; + +@@ -892,21 +892,17 @@ static int alloc_query(sd_resolve *resol + if (r < 0) + return r; + +- while (resolve->queries[resolve->current_index]) { +- resolve->current_index++; ++ while (resolve->queries[resolve->current_id % QUERIES_MAX]) + resolve->current_id++; + +- resolve->current_index %= QUERIES_MAX; +- } +- +- q = resolve->queries[resolve->current_index] = new0(sd_resolve_query, 1); ++ q = resolve->queries[resolve->current_id % QUERIES_MAX] = new0(sd_resolve_query, 1); + if (!q) + return -ENOMEM; + + resolve->n_queries++; + + q->resolve = resolve; +- q->id = resolve->current_id; ++ q->id = resolve->current_id++; + + *_q = q; + return 0; diff --git a/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch b/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch new file mode 100644 index 00000000..ed5997e0 --- /dev/null +++ b/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch @@ -0,0 +1,25 @@ +From 2040ccf171404b709acb0ecf1d1f17b87c5d05f0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 17:32:44 +0200 +Subject: [PATCH] service: don't accept negative ERRNO= notification messages + +--- + src/core/service.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/service.c src/core/service.c +index 5c54a34..d5aff99 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -2637,7 +2637,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + if (e) { + int status_errno; + +- if (safe_atoi(e + 6, &status_errno) < 0) ++ if (safe_atoi(e + 6, &status_errno) < 0 || status_errno < 0) + log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); + else { + log_debug_unit(u->id, "%s: got %s", u->id, e); +-- +1.7.9.2 + diff --git a/0005-shared-label.h-add-missing-stdio.h-include.patch b/0005-shared-label.h-add-missing-stdio.h-include.patch new file mode 100644 index 00000000..1c75aacc --- /dev/null +++ b/0005-shared-label.h-add-missing-stdio.h-include.patch @@ -0,0 +1,24 @@ +From 45f15021e3524b04d574b9ff4e801cb3219daf3f Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:42 +0200 +Subject: [PATCH] shared/label.h: add missing stdio.h include + +--- + src/shared/label.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/label.h src/shared/label.h +index 7294820..cb2ec79 100644 +--- src/shared/label.h ++++ src/shared/label.h +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + int label_init(const char *prefix); + void label_finish(void); +-- +1.7.9.2 + diff --git a/0005-systemd-python-fix-failing-assert.patch b/0005-systemd-python-fix-failing-assert.patch new file mode 100644 index 00000000..9b0290d3 --- /dev/null +++ b/0005-systemd-python-fix-failing-assert.patch @@ -0,0 +1,26 @@ +From b65f24238b0627143916a9c7f8315483a9666676 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 5 Apr 2014 13:29:50 -0400 +Subject: [PATCH] systemd-python: fix failing assert + +A parameter which was always null before, now get's set to +the module. +--- + src/python-systemd/_reader.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git src/python-systemd/_reader.c src/python-systemd/_reader.c +index 059b904..9a19a10 100644 +--- src/python-systemd/_reader.c ++++ src/python-systemd/_reader.c +@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) { + sd_id128_t id; + _cleanup_free_ char *msg = NULL; + +- assert(!self); + assert(args); + + if (!PyArg_ParseTuple(args, "z:get_catalog", &id_)) +-- +1.7.9.2 + diff --git a/0005-systemd-run-add-some-extra-safety-checks.patch b/0005-systemd-run-add-some-extra-safety-checks.patch new file mode 100644 index 00000000..22d41889 --- /dev/null +++ b/0005-systemd-run-add-some-extra-safety-checks.patch @@ -0,0 +1,34 @@ +From 1ac67edb7c4d31a287fa98c0b554ae98bd34e71b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 5 Mar 2014 03:38:36 +0100 +Subject: [PATCH] systemd-run: add some extra safety checks + +--- + src/run/run.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/run/run.c src/run/run.c +index 81763c9..e71ca7d 100644 +--- src/run/run.c ++++ src/run/run.c +@@ -37,7 +37,7 @@ static const char *arg_description = NULL; + static const char *arg_slice = NULL; + static bool arg_send_sighup = false; + static BusTransport arg_transport = BUS_TRANSPORT_LOCAL; +-static char *arg_host = NULL; ++static const char *arg_host = NULL; + static bool arg_user = false; + static const char *arg_service_type = NULL; + static const char *arg_exec_user = NULL; +@@ -186,7 +186,7 @@ static int parse_argv(int argc, char *argv[]) { + + case ARG_NICE: + r = safe_atoi(optarg, &arg_nice); +- if (r < 0) { ++ if (r < 0 || arg_nice < PRIO_MIN || arg_nice >= PRIO_MAX) { + log_error("Failed to parse nice value"); + return -EINVAL; + } +-- +1.7.9.2 + diff --git a/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch b/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch new file mode 100644 index 00000000..875c905e --- /dev/null +++ b/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch @@ -0,0 +1,38 @@ +Based on 1f1926aa5e836caa3bd6df43704aecd606135103 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 2 Nov 2014 21:45:42 -0500 +Subject: [PATCH] units: order sd-journal-flush after sd-remount-fs + +Otherwise we could attempt to flush the journal while /var/log/ was +still ro, and silently skip journal flushing. + +The way that errors in flushing are handled should still be changed to +be more transparent and robust. + +Based on 919699ec301ea507edce4a619141ed22e789ac0d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Oct 2014 16:22:36 +0100 +Subject: [PATCH] units: don't order journal flushing afte remote-fs.target + +Instead, only depend on the actual file systems we need. + +This should solve dep loops on setups where remote-fs.target is moved +into late boot. +--- + units/systemd-journal-flush.service.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- units/systemd-journal-flush.service.in ++++ units/systemd-journal-flush.service.in 2014-11-10 11:46:22.885518923 +0000 +@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal + Documentation=man:systemd-journald.service(8) man:journald.conf(5) + DefaultDependencies=no + Requires=systemd-journald.service +-After=systemd-journald.service local-fs.target remote-fs.target +-Before=systemd-user-sessions.service ++After=systemd-journald.service local-fs.target ++After=systemd-remount-fs.service ++Before=systemd-user-sessions.service systemd-tmpfiles-setup.service + + [Service] + ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service diff --git a/0005-util-avoid-double-close-of-fd.patch b/0005-util-avoid-double-close-of-fd.patch new file mode 100644 index 00000000..e1b5dacc --- /dev/null +++ b/0005-util-avoid-double-close-of-fd.patch @@ -0,0 +1,28 @@ +Based on 6f53e671aa7539cab02c9f739d84d28a343ca5bc Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Wed, 8 Oct 2014 23:57:32 +0200 +Subject: [PATCH] util: avoid double close of fd + +We could end with a double close if we close the fd loop and flush_fd +fails. That would make us goto fail and there we close the fd once +again. This patch sets the fd to the return value for safe_close: -1 +A fd with negative value will be ignored by the next call to +safe_close. + +CID#996223 +--- + src/shared/util.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- src/shared/util.c ++++ src/shared/util.c 2014-10-14 15:42:22.515839157 +0000 +@@ -1969,7 +1969,8 @@ int acquire_terminal( + * ended our handle will be dead. It's important that + * we do this after sleeping, so that we don't enter + * an endless loop. */ +- close_nointr_nofail(fd); ++ if (fd >= 0) close_nointr_nofail(fd); ++ fd = -1; + } + + if (notify >= 0) diff --git a/0006-Do-not-return-1-EINVAL-on-allocation-error.patch b/0006-Do-not-return-1-EINVAL-on-allocation-error.patch new file mode 100644 index 00000000..bf1db2c6 --- /dev/null +++ b/0006-Do-not-return-1-EINVAL-on-allocation-error.patch @@ -0,0 +1,35 @@ +From 315db1a8aed226a51a4cf700172249cfd10ae115 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 14 Mar 2014 09:05:56 -0400 +Subject: [PATCH] Do not return -1 (EINVAL) on allocation error + +--- + src/core/socket.c | 8 +++----- + +diff --git src/core/socket.c src/core/socket.c +index 8ecc9f9..b39bec2 100644 +--- src/core/socket.c ++++ src/core/socket.c +@@ -198,16 +198,14 @@ static int socket_instantiate_service(Socket *s) { + + assert(s->accept); + +- if (!(prefix = unit_name_to_prefix(UNIT(s)->id))) ++ prefix = unit_name_to_prefix(UNIT(s)->id); ++ if (!prefix) + return -ENOMEM; + +- r = asprintf(&name, "%s@%u.service", prefix, s->n_accepted); +- +- if (r < 0) ++ if (asprintf(&name, "%s@%u.service", prefix, s->n_accepted) < 0) + return -ENOMEM; + + r = manager_load_unit(UNIT(s)->manager, name, NULL, NULL, &u); +- + if (r < 0) + return r; + +-- +1.7.9.2 + diff --git a/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch b/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch new file mode 100644 index 00000000..ed9a7a79 --- /dev/null +++ b/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch @@ -0,0 +1,60 @@ +From df1e02046144f41176c32ed011369fd8dba36b76 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 02:47:43 +0100 +Subject: [PATCH] Revert back to /var/run at a couple of problems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This partially reverts 41a55c46ab8fb4ef6727434227071321fc762cce + +Some specifications we want to stay compatibility actually document +/var/run, not /run, and we should stay compatible with that. In order to +make sure our D-Bus implementation works on any system, regardless if +running systemd or not, we should always use /var/run which is the +only path mandated by the D-Bus spec. + +Similar, glibc hardcodes the utmp location to /var/run, and this is +exposed in _UTMP_PATH in limits.h, hence let's stay in sync with this +public API, too. + +We simply do not support systems where /var/run is not a symlink → /run. +Hence both are equivalent. Staying compatible with upstream +specifications hence weighs more than cleaning up superficial +appearance. +--- + man/runlevel.xml | 2 +- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git man/runlevel.xml man/runlevel.xml +index 4db06dc..976753a 100644 +--- man/runlevel.xml ++++ man/runlevel.xml +@@ -124,7 +124,7 @@ + + + +- /run/utmp ++ /var/run/utmp + + The utmp database + runlevel reads the +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 1318272..636715f 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); ++ strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); + + return 0; + } +-- +1.7.9.2 + diff --git a/0006-bus-unref-buscreds-on-failure.patch b/0006-bus-unref-buscreds-on-failure.patch new file mode 100644 index 00000000..d6ec9ccd --- /dev/null +++ b/0006-bus-unref-buscreds-on-failure.patch @@ -0,0 +1,32 @@ +From 2b347169b9046ff2d735ef23e62a8c74f5151600 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 12:20:42 +0300 +Subject: [PATCH] bus: unref buscreds on failure + +Actually unref the buscreds when we are not going to return a +pointer to them. As when bus_creds_add_more fails we immediately +return the error code otherwise and leak the new buscreds. +Found with coverity. Fixes: CID#1237761 +--- + src/libsystemd/sd-bus/sd-bus.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 78e91b9..83b3aa1 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -3339,8 +3339,10 @@ _public_ int sd_bus_get_peer_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **re + } + + r = bus_creds_add_more(c, mask, pid, 0); +- if (r < 0) ++ if (r < 0) { ++ sd_bus_creds_unref(c); + return r; ++ } + + *ret = c; + return 0; +-- +1.7.9.2 + diff --git a/0006-calendarspec-fix-typo-in-annually.patch b/0006-calendarspec-fix-typo-in-annually.patch new file mode 100644 index 00000000..7e695966 --- /dev/null +++ b/0006-calendarspec-fix-typo-in-annually.patch @@ -0,0 +1,27 @@ +From e90efc70900f8e69cfbafd9e9508bdeb4d40dad7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 25 Oct 2014 11:59:36 -0400 +Subject: [PATCH] calendarspec: fix typo in "annually" + +https://bugs.freedesktop.org/show_bug.cgi?id=85447 +--- + src/shared/calendarspec.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/shared/calendarspec.c src/shared/calendarspec.c +index 4ac74ab..64d0dec 100644 +--- src/shared/calendarspec.c ++++ src/shared/calendarspec.c +@@ -688,7 +688,8 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) { + if (r < 0) + goto fail; + +- } else if (strcaseeq(p, "anually") || strcaseeq(p, "yearly")) { ++ } else if (strcaseeq(p, "annually") || strcaseeq(p, "yearly") ++ || strcaseeq(p, "anually") /* backwards compatibility */ ) { + r = const_chain(1, &c->month); + if (r < 0) + goto fail; +-- +1.7.9.2 + diff --git a/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..c4e89bb1 --- /dev/null +++ b/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,82 @@ +From 7cfa80f07e94c3e48703d145ef03a73dd6e7b983 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Wed, 18 Jun 2014 13:55:32 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 42 ++++++++++++++++++++++++++++++--- + 1 file changed, 39 insertions(+), 3 deletions(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index a65c7db..377748a 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -115,7 +115,7 @@ bluetooth:v0024* + ID_VENDOR_FROM_DATABASE=Alcatel + + bluetooth:v0025* +- ID_VENDOR_FROM_DATABASE=Philips Semiconductors ++ ID_VENDOR_FROM_DATABASE=NXP Semiconductors (formerly Philips Semiconductors) + + bluetooth:v0026* + ID_VENDOR_FROM_DATABASE=C Technologies +@@ -427,7 +427,7 @@ bluetooth:v008B* + ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC + + bluetooth:v008C* +- ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.) ++ ID_VENDOR_FROM_DATABASE=Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.) + + bluetooth:v008D* + ID_VENDOR_FROM_DATABASE=Zscan Software +@@ -1006,10 +1006,46 @@ bluetooth:v014C* + ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd + + bluetooth:v014D* +- ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. ++ ID_VENDOR_FROM_DATABASE=Huizhou Desay SV Automotive CO., LTD. + + bluetooth:v014E* + ID_VENDOR_FROM_DATABASE=Tangerine, Inc. + + bluetooth:v014F* + ID_VENDOR_FROM_DATABASE=B&W Group Ltd. ++ ++bluetooth:v0150* ++ ID_VENDOR_FROM_DATABASE=Pioneer Corporation ++ ++bluetooth:v0151* ++ ID_VENDOR_FROM_DATABASE=OnBeep ++ ++bluetooth:v0152* ++ ID_VENDOR_FROM_DATABASE=Vernier Software & Technology ++ ++bluetooth:v0153* ++ ID_VENDOR_FROM_DATABASE=ROL Ergo ++ ++bluetooth:v0154* ++ ID_VENDOR_FROM_DATABASE=Pebble Technology ++ ++bluetooth:v0155* ++ ID_VENDOR_FROM_DATABASE=NETATMO ++ ++bluetooth:v0156* ++ ID_VENDOR_FROM_DATABASE=Accumulate AB ++ ++bluetooth:v0157* ++ ID_VENDOR_FROM_DATABASE=Anhui Huami Information Technology Co., Ltd. ++ ++bluetooth:v0158* ++ ID_VENDOR_FROM_DATABASE=Inmite s.r.o. ++ ++bluetooth:v0159* ++ ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. ++ ++bluetooth:v015A* ++ ID_VENDOR_FROM_DATABASE=micus AG ++ ++bluetooth:v015B* ++ ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. +-- +1.7.9.2 + diff --git a/0006-hwdb-update.patch b/0006-hwdb-update.patch new file mode 100644 index 00000000..080bd96c --- /dev/null +++ b/0006-hwdb-update.patch @@ -0,0 +1,4392 @@ +From 98be1a746ac0d7a17e69ccb05936a4d6b3223e97 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 3 Jul 2014 16:28:40 +0200 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 543 +++++++++++++++++++-- + hwdb/20-pci-classes.hwdb | 27 ++ + hwdb/20-pci-vendor-model.hwdb | 1071 +++++++++++++++++++++++++++-------------- + hwdb/20-usb-classes.hwdb | 3 + + hwdb/20-usb-vendor-model.hwdb | 102 +++- + 5 files changed, 1362 insertions(+), 384 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 6188bfc..97f1e6b 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -6446,7 +6446,7 @@ OUI:0050C2871* + ID_OUI_FROM_DATABASE=R-S-I Elektrotechnik GmbH & Co. KG + + OUI:0050C2872* +- ID_OUI_FROM_DATABASE=Oliotalo - Objecthouse Oy ++ ID_OUI_FROM_DATABASE=Oliotalo Oy + + OUI:0050C2873* + ID_OUI_FROM_DATABASE=XRONET Corporation +@@ -37139,76 +37139,76 @@ OUI:001EC7* + ID_OUI_FROM_DATABASE=2Wire, Inc. + + OUI:001EC8* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Rapid Mobile (Pty) Ltd + + OUI:001EC9* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Dell Inc + + OUI:001ECA* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Nortel + + OUI:001ECB* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE="RPC "Energoautomatika" Ltd + + OUI:001ECC* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=CDVI + + OUI:001ECD* + ID_OUI_FROM_DATABASE=KYLAND Technology Co. LTD + + OUI:001ECE* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=BISA Technologies (Hong Kong) Limited + + OUI:001ECF* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=PHILIPS ELECTRONICS UK LTD + + OUI:001ED0* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Ingespace + + OUI:001ED1* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Keyprocessor B.V. + + OUI:001ED2* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Ray Shine Video Technology Inc + + OUI:001ED3* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Dot Technology Int'l Co., Ltd. + + OUI:001ED4* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Doble Engineering + + OUI:001ED5* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Tekon-Automatics + + OUI:001ED6* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Alentec & Orion AB + + OUI:001ED7* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=H-Stream Wireless, Inc. + + OUI:001ED8* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Digital United Inc. + + OUI:001ED9* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Mitsubishi Precision Co.,LTd. + + OUI:001EDA* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Wesemann Elektrotechniek B.V. + + OUI:001EDB* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Giken Trastem Co., Ltd. + + OUI:001EDC* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + + OUI:001EDD* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=WASKO S.A. + + OUI:001EDE* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=BYD COMPANY LIMITED + + OUI:001EDF* +- ID_OUI_FROM_DATABASE=2Wire, Inc. ++ ID_OUI_FROM_DATABASE=Master Industrialization Center Kista + + OUI:001EE0* + ID_OUI_FROM_DATABASE=Urmet Domus SpA +@@ -45800,7 +45800,7 @@ OUI:0050F8* + ID_OUI_FROM_DATABASE=ENTREGA TECHNOLOGIES, INC. + + OUI:0050F9* +- ID_OUI_FROM_DATABASE=SENSORMATIC ACD ++ ID_OUI_FROM_DATABASE=Sensormatic Electronics LLC + + OUI:0050FA* + ID_OUI_FROM_DATABASE=OXTEL, LTD. +@@ -45829,6 +45829,9 @@ OUI:0054AF* + OUI:005907* + ID_OUI_FROM_DATABASE=LenovoEMC Products USA, LLC + ++OUI:005A39* ++ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO., LTD. ++ + OUI:005CB1* + ID_OUI_FROM_DATABASE=Gospell DIGITAL TECHNOLOGY CO., LTD + +@@ -46603,6 +46606,9 @@ OUI:0060FE* + OUI:0060FF* + ID_OUI_FROM_DATABASE=QuVis, Inc. + ++OUI:006171* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:006440* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -48238,6 +48244,9 @@ OUI:009C02* + OUI:009D8E* + ID_OUI_FROM_DATABASE=CARDIAC RECORDERS, INC. + ++OUI:009EC8* ++ ID_OUI_FROM_DATABASE=Beijing Xiaomi Electronic Products Co., Ltd. ++ + OUI:00A000* + ID_OUI_FROM_DATABASE=CENTILLION NETWORKS, INC. + +@@ -50740,6 +50749,9 @@ OUI:00D38D* + OUI:00D632* + ID_OUI_FROM_DATABASE=GE Energy + ++OUI:00D9D1* ++ ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. ++ + OUI:00DB1E* + ID_OUI_FROM_DATABASE=Albedo Telecom SL + +@@ -51778,6 +51790,9 @@ OUI:0462D7* + OUI:0463E0* + ID_OUI_FROM_DATABASE=Nome Oy + ++OUI:046785* ++ ID_OUI_FROM_DATABASE=scemtec Hard- und Software fuer Mess- und Steuerungstechnik GmbH ++ + OUI:046D42* + ID_OUI_FROM_DATABASE=Bryston Ltd. + +@@ -51901,6 +51916,9 @@ OUI:04DB8A* + OUI:04DD4C* + ID_OUI_FROM_DATABASE=Velocytech + ++OUI:04DEDB* ++ ID_OUI_FROM_DATABASE=Rockport Networks Inc ++ + OUI:04DF69* + ID_OUI_FROM_DATABASE=Car Connectivity Consortium + +@@ -52498,6 +52516,9 @@ OUI:083F76* + OUI:084027* + ID_OUI_FROM_DATABASE=Gridstore Inc. + ++OUI:084656* ++ ID_OUI_FROM_DATABASE=VODALYS Ingénierie ++ + OUI:08482C* + ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. + +@@ -52966,6 +52987,9 @@ OUI:0CCDD3* + OUI:0CCDFB* + ID_OUI_FROM_DATABASE=EDIC Systems Inc. + ++OUI:0CCFD1* ++ ID_OUI_FROM_DATABASE=SPRINGWAVE Co., Ltd ++ + OUI:0CD292* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -53089,6 +53113,9 @@ OUI:1010B6* + OUI:101212* + ID_OUI_FROM_DATABASE=Vivo International Corporation Pty Ltd + ++OUI:101218* ++ ID_OUI_FROM_DATABASE=Korins Inc. ++ + OUI:101248* + ID_OUI_FROM_DATABASE=ITG, Inc. + +@@ -53128,6 +53155,9 @@ OUI:102D96* + OUI:102EAF* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:102F6B* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:103047* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53164,6 +53194,9 @@ OUI:104780* + OUI:1048B1* + ID_OUI_FROM_DATABASE=Beijing Duokan Technology Limited + ++OUI:104B46* ++ ID_OUI_FROM_DATABASE=Mitsubishi Electric Corporation ++ + OUI:104D77* + ID_OUI_FROM_DATABASE=Innovative Computer Engineering + +@@ -53242,6 +53275,9 @@ OUI:10880F* + OUI:1088CE* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + ++OUI:108A1B* ++ ID_OUI_FROM_DATABASE=RAONIX Inc. ++ + OUI:108CCF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -53458,6 +53494,9 @@ OUI:144319* + OUI:1446E4* + ID_OUI_FROM_DATABASE=AVISTEL + ++OUI:14488B* ++ ID_OUI_FROM_DATABASE=Shenzhen Doov Technology Co.,Ltd ++ + OUI:144978* + ID_OUI_FROM_DATABASE=Digital Control Incorporated + +@@ -53473,6 +53512,9 @@ OUI:145412* + OUI:145645* + ID_OUI_FROM_DATABASE=Savitech Corp. + ++OUI:1458D0* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:145A05* + ID_OUI_FROM_DATABASE=Apple + +@@ -53608,6 +53650,9 @@ OUI:14EB33* + OUI:14EDA5* + ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme + ++OUI:14EDE4* ++ ID_OUI_FROM_DATABASE=Kaiam Corporation ++ + OUI:14EE9D* + ID_OUI_FROM_DATABASE=AirNav Systems LLC + +@@ -53794,6 +53839,9 @@ OUI:1867B0* + OUI:186D99* + ID_OUI_FROM_DATABASE=Adanis Inc. + ++OUI:187117* ++ ID_OUI_FROM_DATABASE=eta plus electronic gmbh ++ + OUI:1879A2* + ID_OUI_FROM_DATABASE=GMJ ELECTRIC LIMITED + +@@ -53812,6 +53860,9 @@ OUI:1880CE* + OUI:1880F5* + ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd + ++OUI:188219* ++ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. ++ + OUI:188331* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53857,6 +53908,9 @@ OUI:189EFC* + OUI:18A905* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + ++OUI:18A958* ++ ID_OUI_FROM_DATABASE=PROVISION THAI CO., LTD. ++ + OUI:18A99B* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -54049,6 +54103,9 @@ OUI:1C43EC* + OUI:1C4593* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:1C4840* ++ ID_OUI_FROM_DATABASE=IMS Messsysteme GmbH ++ + OUI:1C48F9* + ID_OUI_FROM_DATABASE=GN Netcom A/S + +@@ -54064,6 +54121,9 @@ OUI:1C4BD6* + OUI:1C51B5* + ID_OUI_FROM_DATABASE=Techaya LTD + ++OUI:1C5216* ++ ID_OUI_FROM_DATABASE=DONGGUAN HELE ELECTRONICS CO., LTD ++ + OUI:1C52D6* + ID_OUI_FROM_DATABASE=FLAT DISPLAY TECHNOLOGY CORPORATION + +@@ -54100,6 +54160,9 @@ OUI:1C66AA* + OUI:1C69A5* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:1C6A7A* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:1C6BCA* + ID_OUI_FROM_DATABASE=Mitsunami Co., Ltd. + +@@ -54163,6 +54226,12 @@ OUI:1C973D* + OUI:1C994C* + ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd. + ++OUI:1C9C26* ++ ID_OUI_FROM_DATABASE=Zoovel Technologies ++ ++OUI:1CA2B1* ++ ID_OUI_FROM_DATABASE=ruwido austria gmbh ++ + OUI:1CA770* + ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LT + +@@ -54217,6 +54286,9 @@ OUI:1CC63C* + OUI:1CD40C* + ID_OUI_FROM_DATABASE=Kriwan Industrie-Elektronik GmbH + ++OUI:1CDEA7* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:1CDF0F* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -54286,6 +54358,9 @@ OUI:20107A* + OUI:201257* + ID_OUI_FROM_DATABASE=Most Lucky Trading Ltd + ++OUI:2012D5* ++ ID_OUI_FROM_DATABASE=Scientech Materials Corporation ++ + OUI:2013E0* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -54370,6 +54445,9 @@ OUI:205A00* + OUI:205B5E* + ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd + ++OUI:205CFA* ++ ID_OUI_FROM_DATABASE=Yangzhou ChangLian Network Technology Co,ltd. ++ + OUI:206432* + ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO MECHANICS CO.,LTD. + +@@ -54439,6 +54517,9 @@ OUI:20A2E7* + OUI:20A787* + ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited + ++OUI:20A99B* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:20AA25* + ID_OUI_FROM_DATABASE=IP-NET LLC + +@@ -54469,6 +54550,9 @@ OUI:20BFDB* + OUI:20C1AF* + ID_OUI_FROM_DATABASE=i Wit Digital Co., Limited + ++OUI:20C38F* ++ ID_OUI_FROM_DATABASE=Texas Instruments Inc ++ + OUI:20C60D* + ID_OUI_FROM_DATABASE=Shanghai annijie Information technology Co.,LTD + +@@ -54616,6 +54700,9 @@ OUI:2437EF* + OUI:243C20* + ID_OUI_FROM_DATABASE=Dynamode Group + ++OUI:2442BC* ++ ID_OUI_FROM_DATABASE=Alinco,incorporated ++ + OUI:244597* + ID_OUI_FROM_DATABASE=GEMUE Gebr. Mueller Apparatebau + +@@ -55027,6 +55114,9 @@ OUI:28A241* + OUI:28A574* + ID_OUI_FROM_DATABASE=Miller Electric Mfg. Co. + ++OUI:28A5EE* ++ ID_OUI_FROM_DATABASE=Shenzhen SDGI CATV Co., Ltd ++ + OUI:28AF0A* + ID_OUI_FROM_DATABASE=Sirius XM Radio Inc + +@@ -55177,6 +55267,9 @@ OUI:2C0033* + OUI:2C00F7* + ID_OUI_FROM_DATABASE=XOS + ++OUI:2C010B* ++ ID_OUI_FROM_DATABASE=NASCENT Technology, LLC - RemKon ++ + OUI:2C0623* + ID_OUI_FROM_DATABASE=Win Leader Inc. + +@@ -55192,6 +55285,9 @@ OUI:2C18AE* + OUI:2C1984* + ID_OUI_FROM_DATABASE=IDN Telecom, Inc. + ++OUI:2C1A31* ++ ID_OUI_FROM_DATABASE=Electronics Company Limited ++ + OUI:2C1EEA* + ID_OUI_FROM_DATABASE=AERODEV + +@@ -55369,6 +55465,9 @@ OUI:2C9EFC* + OUI:2CA157* + ID_OUI_FROM_DATABASE=acromate, Inc. + ++OUI:2CA30E* ++ ID_OUI_FROM_DATABASE=POWER DRAGON DEVELOPMENT LIMITED ++ + OUI:2CA780* + ID_OUI_FROM_DATABASE=True Technologies Inc. + +@@ -55540,6 +55639,9 @@ OUI:303EAD* + OUI:304174* + ID_OUI_FROM_DATABASE=ALTEC LANSING LLC + ++OUI:304225* ++ ID_OUI_FROM_DATABASE=BURG-WÄCHTER KG ++ + OUI:304449* + ID_OUI_FROM_DATABASE=PLATH GmbH + +@@ -55603,6 +55705,9 @@ OUI:306E5C* + OUI:3071B2* + ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. + ++OUI:307512* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:30766F* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -55735,6 +55840,9 @@ OUI:3400A3* + OUI:340286* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:34029B* ++ ID_OUI_FROM_DATABASE=CloudBerry Technologies Private Limited ++ + OUI:3407FB* + ID_OUI_FROM_DATABASE=Ericsson AB + +@@ -55774,6 +55882,9 @@ OUI:3423BA* + OUI:34255D* + ID_OUI_FROM_DATABASE=Shenzhen Loadcom Technology Co.,Ltd + ++OUI:3428F0* ++ ID_OUI_FROM_DATABASE=ATN International Limited ++ + OUI:3429EA* + ID_OUI_FROM_DATABASE=MCD ELECTRONICS SP. Z O.O. + +@@ -55798,6 +55909,9 @@ OUI:344B3D* + OUI:344B50* + ID_OUI_FROM_DATABASE=ZTE Corporation + ++OUI:344DF7* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:344F3F* + ID_OUI_FROM_DATABASE=IO-Power Technology Co., Ltd. + +@@ -55825,6 +55939,9 @@ OUI:345D10* + OUI:346178* + ID_OUI_FROM_DATABASE=The Boeing Company + ++OUI:346288* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:34684A* + ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. + +@@ -55939,6 +56056,9 @@ OUI:34B1F7* + OUI:34B571* + ID_OUI_FROM_DATABASE=PLDS + ++OUI:34B7FD* ++ ID_OUI_FROM_DATABASE=Guangzhou Younghead Electronic Technology Co.,Ltd ++ + OUI:34BA51* + ID_OUI_FROM_DATABASE=Se-Kure Controls, Inc. + +@@ -56047,6 +56167,9 @@ OUI:34F39B* + OUI:34F62D* + ID_OUI_FROM_DATABASE=SHARP Corporation + ++OUI:34F6D2* ++ ID_OUI_FROM_DATABASE=Panasonic Taiwan Co.,Ltd. ++ + OUI:34F968* + ID_OUI_FROM_DATABASE=ATEK Products, LLC + +@@ -56062,6 +56185,9 @@ OUI:380197* + OUI:3806B4* + ID_OUI_FROM_DATABASE=A.D.C. GmbH + ++OUI:3808FD* ++ ID_OUI_FROM_DATABASE=Silca Spa ++ + OUI:380A0A* + ID_OUI_FROM_DATABASE=Sky-City Communication and Electronics Limited Company + +@@ -56137,6 +56263,9 @@ OUI:384608* + OUI:38484C* + ID_OUI_FROM_DATABASE=Apple + ++OUI:384B76* ++ ID_OUI_FROM_DATABASE=AIRTAME ApS ++ + OUI:384FF0* + ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc. + +@@ -56227,6 +56356,9 @@ OUI:38AA3C* + OUI:38B12D* + ID_OUI_FROM_DATABASE=Sonotronic Nagel GmbH + ++OUI:38B1DB* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:38B5BD* + ID_OUI_FROM_DATABASE=E.G.O. Elektro-Ger + +@@ -56302,6 +56434,9 @@ OUI:38EE9D* + OUI:38F098* + ID_OUI_FROM_DATABASE=Vapor Stone Rail Systems + ++OUI:38F33F* ++ ID_OUI_FROM_DATABASE=TATSUNO CORPORATION ++ + OUI:38F597* + ID_OUI_FROM_DATABASE=home2net GmbH + +@@ -56443,6 +56578,9 @@ OUI:3C57D5* + OUI:3C5A37* + ID_OUI_FROM_DATABASE=Samsung Electronics + ++OUI:3C5AB4* ++ ID_OUI_FROM_DATABASE=Google ++ + OUI:3C5F01* + ID_OUI_FROM_DATABASE=Synerchip Co., Ltd. + +@@ -56803,6 +56941,9 @@ OUI:407074* + OUI:407496* + ID_OUI_FROM_DATABASE=aFUN TECHNOLOGY INC. + ++OUI:40786A* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:407875* + ID_OUI_FROM_DATABASE=IMBEL - Industria de Material Belico do Brasil + +@@ -56929,6 +57070,9 @@ OUI:40D40E* + OUI:40D559* + ID_OUI_FROM_DATABASE=MICRO S.E.R.I. + ++OUI:40E230* ++ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc. ++ + OUI:40E730* + ID_OUI_FROM_DATABASE=DEY Storage Systems, Inc. + +@@ -57145,6 +57289,9 @@ OUI:4486C1* + OUI:4487FC* + ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. + ++OUI:4488CB* ++ ID_OUI_FROM_DATABASE=Camco Technologies NV ++ + OUI:448A5B* + ID_OUI_FROM_DATABASE=Micro-Star INT'L CO., LTD. + +@@ -57337,6 +57484,9 @@ OUI:4851B7* + OUI:485261* + ID_OUI_FROM_DATABASE=SOREEL + ++OUI:4857DD* ++ ID_OUI_FROM_DATABASE=Facebook ++ + OUI:485929* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -57361,6 +57511,9 @@ OUI:4861A3* + OUI:486276* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:486B2C* ++ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., ++ + OUI:486B91* + ID_OUI_FROM_DATABASE=Fleetwood Group Inc. + +@@ -57391,6 +57544,9 @@ OUI:4891F6* + OUI:489BE2* + ID_OUI_FROM_DATABASE=SCI Innovations Ltd + ++OUI:489D18* ++ ID_OUI_FROM_DATABASE=Flashbay Limited ++ + OUI:489D24* + ID_OUI_FROM_DATABASE=Research In Motion + +@@ -57655,6 +57811,9 @@ OUI:4C7367* + OUI:4C73A5* + ID_OUI_FROM_DATABASE=KOVE + ++OUI:4C7403* ++ ID_OUI_FROM_DATABASE=Mundo Reader (bq) ++ + OUI:4C774F* + ID_OUI_FROM_DATABASE=Embedded Wireless Labs + +@@ -57745,6 +57904,9 @@ OUI:4CBAA3* + OUI:4CBB58* + ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. + ++OUI:4CBC42* ++ ID_OUI_FROM_DATABASE=Shenzhen Hangsheng Electronics Co.,Ltd. ++ + OUI:4CBCA5* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -57784,6 +57946,9 @@ OUI:4CE1BB* + OUI:4CE676* + ID_OUI_FROM_DATABASE=Buffalo Inc. + ++OUI:4CE933* ++ ID_OUI_FROM_DATABASE=RailComm, LLC ++ + OUI:4CEB42* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -57799,6 +57964,9 @@ OUI:4CF2BF* + OUI:4CF45B* + ID_OUI_FROM_DATABASE=Blue Clover Devices + ++OUI:4CF5A0* ++ ID_OUI_FROM_DATABASE=Scalable Network Technologies Inc ++ + OUI:4CF737* + ID_OUI_FROM_DATABASE=SamJi Electronics Co., Ltd + +@@ -57823,6 +57991,9 @@ OUI:500E6D* + OUI:5011EB* + ID_OUI_FROM_DATABASE=SilverNet Ltd + ++OUI:5014B5* ++ ID_OUI_FROM_DATABASE=Richfit Information Technology Co., Ltd ++ + OUI:5017FF* + ID_OUI_FROM_DATABASE=Cisco + +@@ -57847,6 +58018,9 @@ OUI:502690* + OUI:5027C7* + ID_OUI_FROM_DATABASE=TECHNART Co.,Ltd + ++OUI:50294D* ++ ID_OUI_FROM_DATABASE=NANJING IOT SENSOR TECHNOLOGY CO,LTD ++ + OUI:502A7E* + ID_OUI_FROM_DATABASE=Smart electronic GmbH + +@@ -57937,6 +58111,9 @@ OUI:506441* + OUI:506787* + ID_OUI_FROM_DATABASE=iTellus + ++OUI:5067AE* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:5067F0* + ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation + +@@ -58276,6 +58453,9 @@ OUI:549B12* + OUI:549D85* + ID_OUI_FROM_DATABASE=EnerAccess inc + ++OUI:549F35* ++ ID_OUI_FROM_DATABASE=Dell Inc. ++ + OUI:54A04F* + ID_OUI_FROM_DATABASE=t-mac Technologies Ltd + +@@ -58366,6 +58546,9 @@ OUI:54F5B6* + OUI:54F666* + ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG + ++OUI:54F876* ++ ID_OUI_FROM_DATABASE=ABB AG ++ + OUI:54FA3E* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD + +@@ -58375,6 +58558,9 @@ OUI:54FB58* + OUI:54FDBF* + ID_OUI_FROM_DATABASE=Scheidt & Bachmann GmbH + ++OUI:54FFCF* ++ ID_OUI_FROM_DATABASE=Mopria Alliance ++ + OUI:580528* + ID_OUI_FROM_DATABASE=LABRIS NETWORKS + +@@ -58390,6 +58576,9 @@ OUI:5809E5* + OUI:580A20* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:58108C* ++ ID_OUI_FROM_DATABASE=Intelbras ++ + OUI:581243* + ID_OUI_FROM_DATABASE=AcSiP Technology Corp. + +@@ -58504,9 +58693,15 @@ OUI:587521* + OUI:587675* + ID_OUI_FROM_DATABASE=Beijing ECHO Technologies Co.,Ltd + ++OUI:5876C5* ++ ID_OUI_FROM_DATABASE=DIGI I'S LTD ++ + OUI:587A4D* + ID_OUI_FROM_DATABASE=Stonesoft Corporation + ++OUI:587BE9* ++ ID_OUI_FROM_DATABASE=AirPro Technology India Pvt. Ltd ++ + OUI:587E61* + ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd + +@@ -58633,6 +58828,9 @@ OUI:58EECE* + OUI:58F387* + ID_OUI_FROM_DATABASE=HCCP + ++OUI:58F39C* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:58F67B* + ID_OUI_FROM_DATABASE=Xia Men UnionCore Technology LTD. + +@@ -58810,6 +59008,12 @@ OUI:5C89D4* + OUI:5C8D4E* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C8FE0* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ ++OUI:5C93A2* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:5C95AE* + ID_OUI_FROM_DATABASE=Apple + +@@ -59011,6 +59215,9 @@ OUI:60334B* + OUI:603553* + ID_OUI_FROM_DATABASE=Buwon Technology + ++OUI:603696* ++ ID_OUI_FROM_DATABASE=The Sapling Company ++ + OUI:6036DD* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -59038,9 +59245,18 @@ OUI:604616* + OUI:6047D4* + ID_OUI_FROM_DATABASE=FORICS Electronic Technology Co., Ltd. + ++OUI:604826* ++ ID_OUI_FROM_DATABASE=Newbridge Technologies Int. Ltd. ++ + OUI:604A1C* + ID_OUI_FROM_DATABASE=SUYIN Corporation + ++OUI:6050C1* ++ ID_OUI_FROM_DATABASE=Kinetek Sports ++ ++OUI:60512C* ++ ID_OUI_FROM_DATABASE=TCT mobile limited ++ + OUI:6052D0* + ID_OUI_FROM_DATABASE=FACTS Engineering + +@@ -59125,6 +59341,9 @@ OUI:609084* + OUI:609217* + ID_OUI_FROM_DATABASE=Apple + ++OUI:6099D1* ++ ID_OUI_FROM_DATABASE=Vuzix / Lenovo ++ + OUI:609AA4* + ID_OUI_FROM_DATABASE=GVI SECURITY INC. + +@@ -59284,6 +59503,9 @@ OUI:60FEF9* + OUI:60FFDD* + ID_OUI_FROM_DATABASE=C.E. ELECTRONICS, INC + ++OUI:64002D* ++ ID_OUI_FROM_DATABASE=Powerlinq Co., LTD ++ + OUI:6400F1* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -59557,6 +59779,9 @@ OUI:64B310* + OUI:64B370* + ID_OUI_FROM_DATABASE=PowerComm Solutons LLC + ++OUI:64B473* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:64B64A* + ID_OUI_FROM_DATABASE=ViVOtech, Inc. + +@@ -59917,6 +60142,9 @@ OUI:68D247* + OUI:68D925* + ID_OUI_FROM_DATABASE=ProSys Development Services + ++OUI:68D93C* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:68DB67* + ID_OUI_FROM_DATABASE=Nantong Coship Electronics Co., Ltd + +@@ -59950,6 +60178,9 @@ OUI:68EE96* + OUI:68EFBD* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:68F06D* ++ ID_OUI_FROM_DATABASE=ALONG INDUSTRIAL CO., LIMITED ++ + OUI:68F125* + ID_OUI_FROM_DATABASE=Data Controls Inc. + +@@ -60079,6 +60310,9 @@ OUI:6C626D* + OUI:6C641A* + ID_OUI_FROM_DATABASE=Penguin Computing + ++OUI:6C6EFE* ++ ID_OUI_FROM_DATABASE=Core Logic Inc. ++ + OUI:6C6F18* + ID_OUI_FROM_DATABASE=Stereotaxis, Inc. + +@@ -60091,6 +60325,9 @@ OUI:6C709F* + OUI:6C71D9* + ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc + ++OUI:6C7660* ++ ID_OUI_FROM_DATABASE=KYOCERA Corporation ++ + OUI:6C81FE* + ID_OUI_FROM_DATABASE=Mitsuba Corporation + +@@ -60122,7 +60359,7 @@ OUI:6C92BF* + ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. + + OUI:6C98EB* +- ID_OUI_FROM_DATABASE=Xyne GmbH ++ ID_OUI_FROM_DATABASE=Ocedo GmbH + + OUI:6C9989* + ID_OUI_FROM_DATABASE=Cisco +@@ -60187,6 +60424,9 @@ OUI:6CB7F4* + OUI:6CBEE9* + ID_OUI_FROM_DATABASE=Alcatel-Lucent-IPD + ++OUI:6CBFB5* ++ ID_OUI_FROM_DATABASE=Noon Technology Co., Ltd ++ + OUI:6CC1D2* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -60514,6 +60754,9 @@ OUI:70A8E3* + OUI:70AAB2* + ID_OUI_FROM_DATABASE=Research In Motion + ++OUI:70AF25* ++ ID_OUI_FROM_DATABASE=Nishiyama Industry Co.,LTD. ++ + OUI:70B035* + ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd + +@@ -60535,6 +60778,9 @@ OUI:70B599* + OUI:70B921* + ID_OUI_FROM_DATABASE=FiberHome Telecommunication Technologies CO.,LTD + ++OUI:70BAEF* ++ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited ++ + OUI:70C6AC* + ID_OUI_FROM_DATABASE=Bosch Automotive Aftermarket + +@@ -60586,6 +60832,9 @@ OUI:70EE50* + OUI:70F176* + ID_OUI_FROM_DATABASE=Data Modul AG + ++OUI:70F196* ++ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc ++ + OUI:70F1A1* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + +@@ -60796,6 +61045,9 @@ OUI:74B00C* + OUI:74B9EB* + ID_OUI_FROM_DATABASE=Fujian JinQianMao Electronic Technology Co.,Ltd + ++OUI:74BADB* ++ ID_OUI_FROM_DATABASE=Longconn Electornics(shenzhen)Co.,Ltd ++ + OUI:74BE08* + ID_OUI_FROM_DATABASE=ATEK Products, LLC + +@@ -60844,6 +61096,9 @@ OUI:74DE2B* + OUI:74E06E* + ID_OUI_FROM_DATABASE=Ergophone GmbH + ++OUI:74E14A* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:74E1B6* + ID_OUI_FROM_DATABASE=Apple + +@@ -61318,6 +61573,9 @@ OUI:7C092B* + OUI:7C0A50* + ID_OUI_FROM_DATABASE=J-MEX Inc. + ++OUI:7C0ECE* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:7C11BE* + ID_OUI_FROM_DATABASE=Apple + +@@ -61345,6 +61603,9 @@ OUI:7C2048* + OUI:7C2064* + ID_OUI_FROM_DATABASE=Alcatel Lucent IPD + ++OUI:7C2587* ++ ID_OUI_FROM_DATABASE=chaowifi.com ++ + OUI:7C2CF3* + ID_OUI_FROM_DATABASE=Secure Electrans Ltd + +@@ -61504,6 +61765,9 @@ OUI:7CAD74* + OUI:7CB03E* + ID_OUI_FROM_DATABASE=OSRAM GmbH + ++OUI:7CB177* ++ ID_OUI_FROM_DATABASE=Satelco AG ++ + OUI:7CB21B* + ID_OUI_FROM_DATABASE=Cisco SPVTG + +@@ -61774,6 +62038,9 @@ OUI:8065E9* + OUI:806629* + ID_OUI_FROM_DATABASE=Prescope Technologies CO.,LTD. + ++OUI:806C1B* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:806C8B* + ID_OUI_FROM_DATABASE=KAESER KOMPRESSOREN AG + +@@ -61918,9 +62185,15 @@ OUI:80D733* + OUI:80DB31* + ID_OUI_FROM_DATABASE=Power Quotient International Co., Ltd. + ++OUI:80E650* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:80EA96* + ID_OUI_FROM_DATABASE=Apple + ++OUI:80EACA* ++ ID_OUI_FROM_DATABASE=Dialog Semiconductor Hellas SA ++ + OUI:80EE73* + ID_OUI_FROM_DATABASE=Shuttle Inc. + +@@ -61933,6 +62206,9 @@ OUI:80F593* + OUI:80F62E* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:80F8EB* ++ ID_OUI_FROM_DATABASE=RayTight ++ + OUI:80FA5B* + ID_OUI_FROM_DATABASE=CLEVO CO. + +@@ -62116,6 +62392,9 @@ OUI:848506* + OUI:84850A* + ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH + ++OUI:8486F3* ++ ID_OUI_FROM_DATABASE=Greenvity Communications ++ + OUI:848D84* + ID_OUI_FROM_DATABASE=Rajant Corporation + +@@ -62134,9 +62413,15 @@ OUI:848F69* + OUI:849000* + ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik + ++OUI:84930C* ++ ID_OUI_FROM_DATABASE=InCoax Networks Europe AB ++ + OUI:84948C* + ID_OUI_FROM_DATABASE=Hitron Technologies. Inc + ++OUI:849681* ++ ID_OUI_FROM_DATABASE=Cathay Communication Co.,Ltd ++ + OUI:8496D8* + ID_OUI_FROM_DATABASE=Pace plc + +@@ -62206,6 +62491,9 @@ OUI:84DE3D* + OUI:84DF0C* + ID_OUI_FROM_DATABASE=NET2GRID BV + ++OUI:84E058* ++ ID_OUI_FROM_DATABASE=Pace plc ++ + OUI:84E4D9* + ID_OUI_FROM_DATABASE=Shenzhen NEED technology Ltd. + +@@ -62545,6 +62833,9 @@ OUI:8C0EE3* + OUI:8C11CB* + ID_OUI_FROM_DATABASE=ABUS Security-Center GmbH & Co. KG + ++OUI:8C18D9* ++ ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co., Ltd ++ + OUI:8C1F94* + ID_OUI_FROM_DATABASE=RF Surgical System Inc. + +@@ -62632,6 +62923,9 @@ OUI:8C5AF0* + OUI:8C5CA1* + ID_OUI_FROM_DATABASE=d-broad,INC + ++OUI:8C5D60* ++ ID_OUI_FROM_DATABASE=UCI Corporation Co.,Ltd. ++ + OUI:8C5FDF* + ID_OUI_FROM_DATABASE=Beijing Railway Signal Factory + +@@ -62683,6 +62977,9 @@ OUI:8C7CFF* + OUI:8C7EB3* + ID_OUI_FROM_DATABASE=Lytro, Inc. + ++OUI:8C7F3B* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:8C82A8* + ID_OUI_FROM_DATABASE=Insigma Technology Co.,Ltd + +@@ -62716,6 +63013,9 @@ OUI:8CAE4C* + OUI:8CAE89* + ID_OUI_FROM_DATABASE=Y-cam Solutions Ltd + ++OUI:8CB094* ++ ID_OUI_FROM_DATABASE=Airtech I&C Co., Ltd ++ + OUI:8CB64F* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -62770,6 +63070,9 @@ OUI:8CD628* + OUI:8CDB25* + ID_OUI_FROM_DATABASE=ESG Solutions + ++OUI:8CDCD4* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:8CDD8D* + ID_OUI_FROM_DATABASE=Wifly-City System Inc. + +@@ -62788,6 +63091,9 @@ OUI:8CE7B3* + OUI:8CEEC6* + ID_OUI_FROM_DATABASE=Precepscion Pty. Ltd. + ++OUI:8CF813* ++ ID_OUI_FROM_DATABASE=ORANGE POLSKA ++ + OUI:8CF945* + ID_OUI_FROM_DATABASE=Power Automation pte Ltd + +@@ -62851,6 +63157,9 @@ OUI:901D27* + OUI:901EDD* + ID_OUI_FROM_DATABASE=GREAT COMPUTER CORPORATION + ++OUI:90203A* ++ ID_OUI_FROM_DATABASE=BYD Precision Manufacture Co.,Ltd ++ + OUI:902083* + ID_OUI_FROM_DATABASE=General Engine Management Systems Ltd. + +@@ -63127,6 +63436,9 @@ OUI:90E6BA* + OUI:90EA60* + ID_OUI_FROM_DATABASE=SPI Lasers Ltd + ++OUI:90EF68* ++ ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation ++ + OUI:90F1AA* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD + +@@ -63154,6 +63466,9 @@ OUI:90FB5B* + OUI:90FBA6* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd + ++OUI:90FD61* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:90FF79* + ID_OUI_FROM_DATABASE=Metro Ethernet Forum + +@@ -63247,6 +63562,9 @@ OUI:945103* + OUI:9451BF* + ID_OUI_FROM_DATABASE=Hyundai ESG + ++OUI:945493* ++ ID_OUI_FROM_DATABASE=Rigado, LLC ++ + OUI:94592D* + ID_OUI_FROM_DATABASE=EKE Building Technology Systems Ltd + +@@ -63256,6 +63574,9 @@ OUI:945B7E* + OUI:946124* + ID_OUI_FROM_DATABASE=Pason Systems + ++OUI:946269* ++ ID_OUI_FROM_DATABASE=Arris Group, Inc. ++ + OUI:9463D1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -63622,6 +63943,9 @@ OUI:988EDD* + OUI:989080* + ID_OUI_FROM_DATABASE=Linkpower Network System Inc Ltd. + ++OUI:989096* ++ ID_OUI_FROM_DATABASE=Dell Inc ++ + OUI:9893CC* + ID_OUI_FROM_DATABASE=LG Electronics Inc. + +@@ -63781,6 +64105,9 @@ OUI:9C3178* + OUI:9C31B6* + ID_OUI_FROM_DATABASE=Kulite Semiconductor Products Inc + ++OUI:9C3583* ++ ID_OUI_FROM_DATABASE=Nipro Diagnostics, Inc ++ + OUI:9C3AAF* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -64234,6 +64561,9 @@ OUI:A08C9B* + OUI:A090DE* + ID_OUI_FROM_DATABASE=VEEDIMS,LLC + ++OUI:A09347* ++ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD. ++ + OUI:A09805* + ID_OUI_FROM_DATABASE=OpenVox Communication Co Ltd + +@@ -64336,6 +64666,9 @@ OUI:A0E534* + OUI:A0E5E9* + ID_OUI_FROM_DATABASE=enimai Inc + ++OUI:A0E6F8* ++ ID_OUI_FROM_DATABASE=Texas Instruments Inc ++ + OUI:A0E9DB* + ID_OUI_FROM_DATABASE=Ningbo FreeWings Technologies Co.,Ltd + +@@ -64498,6 +64831,9 @@ OUI:A46CC1* + OUI:A46E79* + ID_OUI_FROM_DATABASE=DFT System Co.Ltd + ++OUI:A470D6* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:A47733* + ID_OUI_FROM_DATABASE=Google + +@@ -64643,7 +64979,7 @@ OUI:A4D3B5* + ID_OUI_FROM_DATABASE=GLITEL Stropkov, s.r.o. + + OUI:A4D856* +- ID_OUI_FROM_DATABASE=Qualcomm Labs Inc. ++ ID_OUI_FROM_DATABASE=Gimbal, Inc + + OUI:A4DA3F* + ID_OUI_FROM_DATABASE=Bionics Corp. +@@ -64732,6 +65068,9 @@ OUI:A81758* + OUI:A81B18* + ID_OUI_FROM_DATABASE=XTS CORP + ++OUI:A81B5D* ++ ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd ++ + OUI:A81FAF* + ID_OUI_FROM_DATABASE=KRYPTON POLSKA + +@@ -64984,6 +65323,9 @@ OUI:AC0A61* + OUI:AC0DFE* + ID_OUI_FROM_DATABASE=Ekon GmbH - myGEKKO + ++OUI:AC11D3* ++ ID_OUI_FROM_DATABASE=Suzhou HOTEK Video Technology Co. Ltd ++ + OUI:AC1461* + ID_OUI_FROM_DATABASE=ATAW Co., Ltd. + +@@ -65023,6 +65365,9 @@ OUI:AC34CB* + OUI:AC3613* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:AC3870* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:AC3C0B* + ID_OUI_FROM_DATABASE=Apple + +@@ -65191,6 +65536,9 @@ OUI:ACAB8D* + OUI:ACB313* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:ACB74F* ++ ID_OUI_FROM_DATABASE=METEL s.r.o. ++ + OUI:ACB859* + ID_OUI_FROM_DATABASE=Uniband Electronic Corp, + +@@ -65356,6 +65704,9 @@ OUI:B03850* + OUI:B0435D* + ID_OUI_FROM_DATABASE=NuLEDs, Inc. + ++OUI:B04515* ++ ID_OUI_FROM_DATABASE=mira fitness,LLC. ++ + OUI:B04545* + ID_OUI_FROM_DATABASE=YACOUB Automation GmbH + +@@ -65635,6 +65986,9 @@ OUI:B41489* + OUI:B41513* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:B41780* ++ ID_OUI_FROM_DATABASE=DTI Group Ltd ++ + OUI:B418D1* + ID_OUI_FROM_DATABASE=Apple + +@@ -65746,6 +66100,12 @@ OUI:B4749F* + OUI:B4750E* + ID_OUI_FROM_DATABASE=Belkin International Inc. + ++OUI:B479A7* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ ++OUI:B47C29* ++ ID_OUI_FROM_DATABASE=Shenzhen Guzidi Technology Co.,Ltd ++ + OUI:B47F5E* + ID_OUI_FROM_DATABASE=Foresight Manufacture (S) Pte Ltd + +@@ -65923,6 +66283,9 @@ OUI:B81619* + OUI:B817C2* + ID_OUI_FROM_DATABASE=Apple + ++OUI:B8186F* ++ ID_OUI_FROM_DATABASE=ORIENTAL MOTOR CO., LTD. ++ + OUI:B81999* + ID_OUI_FROM_DATABASE=Nesys + +@@ -65989,6 +66352,9 @@ OUI:B843E4* + OUI:B847C6* + ID_OUI_FROM_DATABASE=SanJet Technology Corp. + ++OUI:B84FD5* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:B85510* + ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. + +@@ -66109,6 +66475,9 @@ OUI:B89AED* + OUI:B89BC9* + ID_OUI_FROM_DATABASE=SMC Networks Inc + ++OUI:B89BE4* ++ ID_OUI_FROM_DATABASE=ABB Power Systems Power Generation ++ + OUI:B8A386* + ID_OUI_FROM_DATABASE=D-Link International + +@@ -66151,6 +66520,9 @@ OUI:B8BA72* + OUI:B8BB6D* + ID_OUI_FROM_DATABASE=ENERES Co.,Ltd. + ++OUI:B8BD79* ++ ID_OUI_FROM_DATABASE=TrendPoint Systems ++ + OUI:B8BEBF* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + +@@ -66226,6 +66598,9 @@ OUI:B8EE65* + OUI:B8EE79* + ID_OUI_FROM_DATABASE=YWire Technologies, Inc. + ++OUI:B8F317* ++ ID_OUI_FROM_DATABASE=iSun Smasher Communications Private Limited ++ + OUI:B8F4D0* + ID_OUI_FROM_DATABASE=Herrmann Ultraschalltechnik GmbH & Co. Kg + +@@ -66373,6 +66748,9 @@ OUI:BC5FF4* + OUI:BC629F* + ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. + ++OUI:BC6641* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:BC671C* + ID_OUI_FROM_DATABASE=Cisco + +@@ -66838,6 +67216,9 @@ OUI:C4017C* + OUI:C401B1* + ID_OUI_FROM_DATABASE=SeekTech INC + ++OUI:C401CE* ++ ID_OUI_FROM_DATABASE=PRESITION (2000) CO., LTD. ++ + OUI:C40415* + ID_OUI_FROM_DATABASE=NETGEAR INC., + +@@ -66970,6 +67351,12 @@ OUI:C455C2* + OUI:C45600* + ID_OUI_FROM_DATABASE=Galleon Embedded Computing + ++OUI:C456FE* ++ ID_OUI_FROM_DATABASE=Lava International Ltd. ++ ++OUI:C4576E* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD ++ + OUI:C458C2* + ID_OUI_FROM_DATABASE=Shenzhen TATFOOK Technology Co., Ltd. + +@@ -67081,6 +67468,9 @@ OUI:C4B512* + OUI:C4BA99* + ID_OUI_FROM_DATABASE=I+ME Actia Informatik und Mikro-Elektronik GmbH + ++OUI:C4BD6A* ++ ID_OUI_FROM_DATABASE=SKF GmbH ++ + OUI:C4C0AE* + ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. + +@@ -67429,6 +67819,9 @@ OUI:C8E1A7* + OUI:C8E42F* + ID_OUI_FROM_DATABASE=Technical Research Design and Development + ++OUI:C8E7D8* ++ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. ++ + OUI:C8EE08* + ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD + +@@ -67480,6 +67873,9 @@ OUI:C8FF77* + OUI:CC0080* + ID_OUI_FROM_DATABASE=BETTINI SRL + ++OUI:CC03FA* ++ ID_OUI_FROM_DATABASE=Technicolor CH USA ++ + OUI:CC047C* + ID_OUI_FROM_DATABASE=G-WAY Microwave + +@@ -67507,6 +67903,9 @@ OUI:CC0CDA* + OUI:CC0DEC* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:CC10A3* ++ ID_OUI_FROM_DATABASE=Beijing Nan Bao Technology Co., Ltd. ++ + OUI:CC14A6* + ID_OUI_FROM_DATABASE=Yichun MyEnergy Domain, Inc + +@@ -67531,6 +67930,9 @@ OUI:CC2A80* + OUI:CC2D8C* + ID_OUI_FROM_DATABASE=LG ELECTRONICS INC + ++OUI:CC3080* ++ ID_OUI_FROM_DATABASE=VAIO Corporation ++ + OUI:CC33BB* + ID_OUI_FROM_DATABASE=SAGEMCOM SAS + +@@ -67756,9 +68158,15 @@ OUI:CCD539* + OUI:CCD811* + ID_OUI_FROM_DATABASE=Aiconn Technology Corporation + ++OUI:CCD8C1* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:CCD9E9* + ID_OUI_FROM_DATABASE=SCR Engineers Ltd. + ++OUI:CCE17F* ++ ID_OUI_FROM_DATABASE=juniper networks ++ + OUI:CCE1D5* + ID_OUI_FROM_DATABASE=Buffalo Inc. + +@@ -67786,6 +68194,9 @@ OUI:CCF3A5* + OUI:CCF407* + ID_OUI_FROM_DATABASE=EUKREA ELECTROMATIQUE SARL + ++OUI:CCF538* ++ ID_OUI_FROM_DATABASE=3isysnetworks ++ + OUI:CCF67A* + ID_OUI_FROM_DATABASE=Ayecka Communication Systems LTD + +@@ -67825,6 +68236,9 @@ OUI:D00AAB* + OUI:D00EA4* + ID_OUI_FROM_DATABASE=Porsche Cars North America + ++OUI:D01242* ++ ID_OUI_FROM_DATABASE=BIOS Corporation ++ + OUI:D0131E* + ID_OUI_FROM_DATABASE=Sunrex Technology Corp + +@@ -67915,6 +68329,9 @@ OUI:D05FB8* + OUI:D05FCE* + ID_OUI_FROM_DATABASE=Hitachi Data Systems + ++OUI:D062A0* ++ ID_OUI_FROM_DATABASE=China Essence Technology (Zhumadian) Co., Ltd. ++ + OUI:D0634D* + ID_OUI_FROM_DATABASE=Meiko Maschinenbau GmbH & Co. KG + +@@ -67963,6 +68380,9 @@ OUI:D07E28* + OUI:D07E35* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:D084B0* ++ ID_OUI_FROM_DATABASE=Sagemcom ++ + OUI:D08999* + ID_OUI_FROM_DATABASE=APCON, Inc. + +@@ -68110,6 +68530,9 @@ OUI:D0F27F* + OUI:D0F73B* + ID_OUI_FROM_DATABASE=Helmut Mauell GmbH + ++OUI:D0FA1D* ++ ID_OUI_FROM_DATABASE=Qihoo 360 Technology Co.,Ltd ++ + OUI:D0FF50* + ID_OUI_FROM_DATABASE=Texas Instruments, Inc + +@@ -68191,6 +68614,9 @@ OUI:D42F23* + OUI:D4319D* + ID_OUI_FROM_DATABASE=Sinwatec + ++OUI:D437D7* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:D43A65* + ID_OUI_FROM_DATABASE=IGRS Engineering Lab Ltd. + +@@ -68278,6 +68704,9 @@ OUI:D46F42* + OUI:D479C3* + ID_OUI_FROM_DATABASE=Cameronet GmbH & Co. KG + ++OUI:D47B35* ++ ID_OUI_FROM_DATABASE=NEO Monitors AS ++ + OUI:D47B75* + ID_OUI_FROM_DATABASE=HARTING Electronics GmbH + +@@ -68299,6 +68728,9 @@ OUI:D48890* + OUI:D48CB5* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:D48F33* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:D48FAA* + ID_OUI_FROM_DATABASE=Sogecam Industrial, S.A. + +@@ -68440,6 +68872,9 @@ OUI:D4EA0E* + OUI:D4EC0C* + ID_OUI_FROM_DATABASE=Harley-Davidson Motor Company + ++OUI:D4EC86* ++ ID_OUI_FROM_DATABASE=LinkedHope Intelligent Technologies Co., Ltd ++ + OUI:D4EE07* + ID_OUI_FROM_DATABASE=HIWIFI Co., Ltd. + +@@ -68551,6 +68986,9 @@ OUI:D8490B* + OUI:D8492F* + ID_OUI_FROM_DATABASE=CANON INC. + ++OUI:D84A87* ++ ID_OUI_FROM_DATABASE=OI ELECTRIC CO.,LTD ++ + OUI:D84B2A* + ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. + +@@ -68860,6 +69298,9 @@ OUI:DC37D2* + OUI:DC38E1* + ID_OUI_FROM_DATABASE=Juniper networks + ++OUI:DC3979* ++ ID_OUI_FROM_DATABASE=Skyport Systems ++ + OUI:DC3A5E* + ID_OUI_FROM_DATABASE=Roku, Inc + +@@ -69199,6 +69640,9 @@ OUI:E09467* + OUI:E09579* + ID_OUI_FROM_DATABASE=ORTHOsoft inc, d/b/a Zimmer CAS + ++OUI:E09796* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:E097F2* + ID_OUI_FROM_DATABASE=Atomax Inc. + +@@ -69226,6 +69670,9 @@ OUI:E0AAB0* + OUI:E0ABFE* + ID_OUI_FROM_DATABASE=Orb Networks, Inc. + ++OUI:E0ACF1* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:E0AE5E* + ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. + +@@ -69523,6 +69970,9 @@ OUI:E492E7* + OUI:E492FB* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:E4956E* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:E496AE* + ID_OUI_FROM_DATABASE=ALTOGRAPHICS Inc. + +@@ -69553,6 +70003,9 @@ OUI:E4B021* + OUI:E4C146* + ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A + ++OUI:E4C62B* ++ ID_OUI_FROM_DATABASE=Airware ++ + OUI:E4C63D* + ID_OUI_FROM_DATABASE=Apple, Inc. + +@@ -69910,6 +70363,9 @@ OUI:E8EA6A* + OUI:E8EADA* + ID_OUI_FROM_DATABASE=Denkovi Assembly Electroncs LTD + ++OUI:E8ED05* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:E8EDF3* + ID_OUI_FROM_DATABASE=Cisco + +@@ -69931,6 +70387,9 @@ OUI:E8FC60* + OUI:E8FCAF* + ID_OUI_FROM_DATABASE=NETGEAR INC., + ++OUI:EC0EC4* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:EC0ED6* + ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS + +@@ -69949,6 +70408,9 @@ OUI:EC1766* + OUI:EC1A59* + ID_OUI_FROM_DATABASE=Belkin International Inc. + ++OUI:EC1D7F* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:EC219F* + ID_OUI_FROM_DATABASE=VidaBox LLC + +@@ -69982,6 +70444,9 @@ OUI:EC3586* + OUI:EC3BF0* + ID_OUI_FROM_DATABASE=NovelSat + ++OUI:EC3C5A* ++ ID_OUI_FROM_DATABASE=SHEN ZHEN HENG SHENG HUI DIGITAL TECHNOLOGY CO.,LTD ++ + OUI:EC3E09* + ID_OUI_FROM_DATABASE=PERFORMANCE DESIGNED PRODUCTS, LLC + +@@ -70522,6 +70987,9 @@ OUI:F4068D* + OUI:F406A5* + ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. + ++OUI:F409D8* ++ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. ++ + OUI:F40B93* + ID_OUI_FROM_DATABASE=Research In Motion + +@@ -70555,6 +71023,9 @@ OUI:F42012* + OUI:F42833* + ID_OUI_FROM_DATABASE=MMPC Inc. + ++OUI:F42853* ++ ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. ++ + OUI:F42896* + ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA + +@@ -70780,6 +71251,9 @@ OUI:F4EC38* + OUI:F4F15A* + ID_OUI_FROM_DATABASE=Apple + ++OUI:F4F1E1* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:F4F26D* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + +@@ -70855,6 +71329,9 @@ OUI:F81EDF* + OUI:F82285* + ID_OUI_FROM_DATABASE=Cypress Technology CO., LTD. + ++OUI:F82441* ++ ID_OUI_FROM_DATABASE=Yeelink ++ + OUI:F82793* + ID_OUI_FROM_DATABASE=Apple, Inc + +@@ -71119,6 +71596,9 @@ OUI:F8E4FB* + OUI:F8E7B5* + ID_OUI_FROM_DATABASE=µTech Tecnologia LTDA + ++OUI:F8E811* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:F8E968* + ID_OUI_FROM_DATABASE=Egker Kft. + +@@ -71221,6 +71701,9 @@ OUI:FC1BFF* + OUI:FC1D59* + ID_OUI_FROM_DATABASE=I Smart Cities HK Ltd + ++OUI:FC1D84* ++ ID_OUI_FROM_DATABASE=Autobase ++ + OUI:FC1E16* + ID_OUI_FROM_DATABASE=IPEVO corp + +@@ -71359,6 +71842,9 @@ OUI:FC9947* + OUI:FC9FAE* + ID_OUI_FROM_DATABASE=Fidus Systems Inc + ++OUI:FC9FE1* ++ ID_OUI_FROM_DATABASE=CONWIN.Tech. Ltd ++ + OUI:FCA13E* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -71419,6 +71905,9 @@ OUI:FCD817* + OUI:FCDB96* + ID_OUI_FROM_DATABASE=ENERVALLEY CO., LTD + ++OUI:FCDBB3* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:FCDD55* + ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd + +diff --git hwdb/20-pci-classes.hwdb hwdb/20-pci-classes.hwdb +index fd1d5d0..5702c40 100644 +--- hwdb/20-pci-classes.hwdb ++++ hwdb/20-pci-classes.hwdb +@@ -47,12 +47,24 @@ pci:v*d*sv*sd*bc01sc06i00* + pci:v*d*sv*sd*bc01sc06i01* + ID_PCI_INTERFACE_FROM_DATABASE=AHCI 1.0 + ++pci:v*d*sv*sd*bc01sc06i02* ++ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus ++ + pci:v*d*sv*sd*bc01sc07* + ID_PCI_SUBCLASS_FROM_DATABASE=Serial Attached SCSI controller + ++pci:v*d*sv*sd*bc01sc07i01* ++ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus ++ + pci:v*d*sv*sd*bc01sc08* + ID_PCI_SUBCLASS_FROM_DATABASE=Non-Volatile memory controller + ++pci:v*d*sv*sd*bc01sc08i01* ++ ID_PCI_INTERFACE_FROM_DATABASE=NVMHCI ++ ++pci:v*d*sv*sd*bc01sc08i02* ++ ID_PCI_INTERFACE_FROM_DATABASE=NVM Express ++ + pci:v*d*sv*sd*bc01sc80* + ID_PCI_SUBCLASS_FROM_DATABASE=Mass storage controller + +@@ -80,6 +92,9 @@ pci:v*d*sv*sd*bc02sc05* + pci:v*d*sv*sd*bc02sc06* + ID_PCI_SUBCLASS_FROM_DATABASE=PICMG controller + ++pci:v*d*sv*sd*bc02sc07* ++ ID_PCI_SUBCLASS_FROM_DATABASE=Infiniband controller ++ + pci:v*d*sv*sd*bc02sc80* + ID_PCI_SUBCLASS_FROM_DATABASE=Network controller + +@@ -311,6 +326,9 @@ pci:v*d*sv*sd*bc08sc02i01* + pci:v*d*sv*sd*bc08sc02i02* + ID_PCI_INTERFACE_FROM_DATABASE=EISA Timers + ++pci:v*d*sv*sd*bc08sc02i03* ++ ID_PCI_INTERFACE_FROM_DATABASE=HPET ++ + pci:v*d*sv*sd*bc08sc03* + ID_PCI_SUBCLASS_FROM_DATABASE=RTC + +@@ -527,5 +545,14 @@ pci:v*d*sv*sd*bc11sc20* + pci:v*d*sv*sd*bc11sc80* + ID_PCI_SUBCLASS_FROM_DATABASE=Signal processing controller + ++pci:v*d*sv*sd*bc12* ++ ID_PCI_CLASS_FROM_DATABASE=Processing accelerators ++ ++pci:v*d*sv*sd*bc12sc00* ++ ID_PCI_SUBCLASS_FROM_DATABASE=Processing accelerators ++ ++pci:v*d*sv*sd*bc13* ++ ID_PCI_CLASS_FROM_DATABASE=Non-Essential Instrumentation ++ + pci:v*d*sv*sd*bcFF* + ID_PCI_CLASS_FROM_DATABASE=Unassigned class +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 62941b9..77c727d 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -959,6 +959,15 @@ pci:v00001000d0000005Dsv00001028sd00001F49* + pci:v00001000d0000005Dsv00001028sd00001F4A* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) + ++pci:v00001000d0000005Dsv00001028sd00001F4D* ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xS) ++ ++pci:v00001000d0000005Dsv00001028sd00001F4F* ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Slim) ++ ++pci:v00001000d0000005Dsv00001028sd00001F54* ++ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xD) ++ + pci:v00001000d0000005Dsv000017AAsd00001052* + ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) + +@@ -1677,7 +1686,7 @@ pci:v00001002d00001308* + ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller + + pci:v00001002d00001309* +- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] ++ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6/R7 Graphics] + + pci:v00001002d0000130A* + ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] +@@ -3003,7 +3012,7 @@ pci:v00001002d00004C57sv00001014sd00000517* + ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) + + pci:v00001002d00004C57sv00001014sd00000530* +- ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) ++ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T4x Series) + + pci:v00001002d00004C57sv00001028sd000000E6* + ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) +@@ -4362,7 +4371,7 @@ pci:v00001002d00006667* + ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] + + pci:v00001002d0000666F* +- ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] ++ ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M / R5 M230] + + pci:v00001002d00006670* + ID_MODEL_FROM_DATABASE=Hainan +@@ -5937,10 +5946,10 @@ pci:v00001002d0000679F* + ID_MODEL_FROM_DATABASE=Tahiti + + pci:v00001002d000067A0* +- ID_MODEL_FROM_DATABASE=Hawaii XT GL ++ ID_MODEL_FROM_DATABASE=Hawaii XT GL [FirePro W9100] + + pci:v00001002d000067A1* +- ID_MODEL_FROM_DATABASE=Hawaii GL ++ ID_MODEL_FROM_DATABASE=Hawaii PRO GL [FirePro W8100] + + pci:v00001002d000067A2* + ID_MODEL_FROM_DATABASE=Hawaii GL +@@ -5961,7 +5970,7 @@ pci:v00001002d000067B1* + ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] + + pci:v00001002d000067B9* +- ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] ++ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295X2] + + pci:v00001002d000067BE* + ID_MODEL_FROM_DATABASE=Hawaii LE +@@ -7860,7 +7869,13 @@ pci:v00001002d000068FE* + ID_MODEL_FROM_DATABASE=Cedar LE + + pci:v00001002d00006900* +- ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] ++ ++pci:v00001002d00006900sv00001028sd00000640* ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M265) ++ ++pci:v00001002d00006900sv00001179sd0000F934* ++ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M260) + + pci:v00001002d00006901* + ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] +@@ -8027,6 +8042,9 @@ pci:v00001002d0000718A* + pci:v00001002d0000718B* + ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] + ++pci:v00001002d0000718Bsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001002d0000718C* + ID_MODEL_FROM_DATABASE=RV516/M62-CSP64 [Mobility Radeon X1350] + +@@ -8969,26 +8987,29 @@ pci:v00001002d0000983E* + pci:v00001002d0000983F* + ID_MODEL_FROM_DATABASE=Kabini + ++pci:v00001002d00009840* ++ ID_MODEL_FROM_DATABASE=Kabini HDMI/DP Audio ++ + pci:v00001002d00009850* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A6-6200 with R3 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] + + pci:v00001002d00009851* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R4/R5 Graphics] + + pci:v00001002d00009852* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] + + pci:v00001002d00009853* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-4000 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] + + pci:v00001002d00009854* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-3700 with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] + + pci:v00001002d00009855* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2450M with R3 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R6 Graphics] + + pci:v00001002d00009856* +- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] ++ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] + + pci:v00001002d00009857* + ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] +@@ -12347,6 +12368,9 @@ pci:v0000102Bd00000532sv00001028sd0000029C* + pci:v0000102Bd00000532sv00001028sd000002A4* + ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) + ++pci:v0000102Bd00000532sv000015D9sd00000624* ++ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (X9SCM-F Motherboard) ++ + pci:v0000102Bd00000532sv000015D9sd0000A811* + ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) + +@@ -13169,6 +13193,9 @@ pci:v00001039d00000016* + pci:v00001039d00000018* + ID_MODEL_FROM_DATABASE=SiS85C503/5513 (LPC Bridge) + ++pci:v00001039d00000163* ++ ID_MODEL_FROM_DATABASE=163 802.11b/g Wireless LAN Adapter ++ + pci:v00001039d00000180* + ID_MODEL_FROM_DATABASE=RAID bus controller 180 SATA/PATA [SiS] + +@@ -14141,6 +14168,9 @@ pci:v00001042d00003020* + pci:v00001043* + ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc. + ++pci:v00001043d00000464* ++ ID_MODEL_FROM_DATABASE=Radeon R9 270x GPU ++ + pci:v00001043d00000675* + ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D + +@@ -17978,6 +18008,9 @@ pci:v00001095d00003512sv00001095sd00006512* + pci:v00001095d00003531* + ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller + ++pci:v00001095d00003531sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00001096* + ID_VENDOR_FROM_DATABASE=Alacron + +@@ -26261,6 +26294,9 @@ pci:v000010DEd00000F00* + pci:v000010DEd00000F01* + ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 620] + ++pci:v000010DEd00000F02* ++ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 730] ++ + pci:v000010DEd00000FC0* + ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 640 OEM] + +@@ -26276,6 +26312,9 @@ pci:v000010DEd00000FC6* + pci:v000010DEd00000FC6sv00001043sd00008428* + ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) + ++pci:v000010DEd00000FC8* ++ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 740] ++ + pci:v000010DEd00000FCD* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] + +@@ -26420,6 +26459,9 @@ pci:v000010DEd00000FFE* + pci:v000010DEd00000FFF* + ID_MODEL_FROM_DATABASE=GK107GL [Quadro 410] + ++pci:v000010DEd00001001* ++ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX TITAN Z] ++ + pci:v000010DEd00001003* + ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan LE] + +@@ -26828,9 +26870,57 @@ pci:v000010DEd00001140sv00001025sd00000830* + pci:v000010DEd00001140sv00001025sd00000837* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv00001025sd0000083E* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001025sd00000841* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + ++pci:v000010DEd00001140sv00001025sd00000854* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000855* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000856* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000857* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000858* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000868* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000869* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) ++ ++pci:v000010DEd00001140sv00001025sd00000873* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000878* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000087B* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000087C* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) ++ ++pci:v000010DEd00001140sv00001025sd00000881* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000088A* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd0000090F* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001025sd00000921* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001028sd0000054D* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + +@@ -26966,6 +27056,18 @@ pci:v000010DEd00001140sv00001043sd000016DD* + pci:v000010DEd00001140sv00001043sd0000170D* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + ++pci:v000010DEd00001140sv00001043sd0000176D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001043sd0000178D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001043sd0000179D* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001043sd000017DD* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001043sd00002132* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) + +@@ -27713,6 +27815,9 @@ pci:v000010DEd00001284* + pci:v000010DEd00001286* + ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] + ++pci:v000010DEd00001287* ++ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 730] ++ + pci:v000010DEd00001290* + ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] + +@@ -27749,6 +27854,21 @@ pci:v000010DEd00001294* + pci:v000010DEd00001295* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] + ++pci:v000010DEd00001295sv0000103Csd00002B0D* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B0F* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B11* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B21* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) ++ ++pci:v000010DEd00001295sv0000103Csd00002B22* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) ++ + pci:v000010DEd00001296* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] + +@@ -28302,7 +28422,7 @@ pci:v000010ECd00008136* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller + + pci:v000010ECd00008136sv0000103Csd00002AB1* +- ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion p6774) + + pci:v000010ECd00008136sv0000103Csd000030CC* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) +@@ -28310,6 +28430,9 @@ pci:v000010ECd00008136sv0000103Csd000030CC* + pci:v000010ECd00008136sv00001179sd0000FF64* + ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) + ++pci:v000010ECd00008136sv000017C0sd00001053* ++ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (AzureWave AW-NE766 802.11B/G/N Mini PCIe Card Model RT2700E) ++ + pci:v000010ECd00008138* + ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter + +@@ -29036,6 +29159,9 @@ pci:v00001102d0000000B* + pci:v00001102d0000000Bsv00001102sd00000041* + ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) + ++pci:v00001102d00000012* ++ ID_MODEL_FROM_DATABASE=SB Recon3D ++ + pci:v00001102d00004001* + ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port + +@@ -30878,6 +31004,9 @@ pci:v00001106d0000E340* + pci:v00001106d0000E353* + ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port + ++pci:v00001106d0000E410* ++ ID_MODEL_FROM_DATABASE=VX900 PCI Express Physical Layer Electrical Sub-block ++ + pci:v00001106d0000F208* + ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller + +@@ -35045,6 +35174,9 @@ pci:v000011ABd00004353sv0000104Dsd0000902D* + pci:v000011ABd00004354* + ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller + ++pci:v000011ABd00004354sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (R730 Laptop) ++ + pci:v000011ABd00004354sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) + +@@ -36557,6 +36689,9 @@ pci:v00001217* + pci:v00001217d000000F7* + ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) + ++pci:v00001217d000000F7sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001217d000000F7sv00001179sd0000FF50* + ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) + +@@ -36635,12 +36770,18 @@ pci:v00001217d00007114* + pci:v00001217d00007120* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller + ++pci:v00001217d00007120sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001217d00007120sv00001179sd0000FF50* + ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) + + pci:v00001217d00007130* + ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller + ++pci:v00001217d00007130sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00001217d00007130sv00001179sd0000FF50* + ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) + +@@ -42276,7 +42417,7 @@ pci:v00001425d00004083* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller + + pci:v00001425d00004084* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller + + pci:v00001425d00004085* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller +@@ -42348,7 +42489,7 @@ pci:v00001425d00004483* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller + + pci:v00001425d00004484* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller + + pci:v00001425d00004485* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller +@@ -42420,7 +42561,7 @@ pci:v00001425d00004583* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller + + pci:v00001425d00004584* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller + + pci:v00001425d00004585* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller +@@ -42492,7 +42633,7 @@ pci:v00001425d00004683* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller + + pci:v00001425d00004684* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller + + pci:v00001425d00004685* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller +@@ -42564,7 +42705,7 @@ pci:v00001425d00004783* + ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller + + pci:v00001425d00004784* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller + + pci:v00001425d00004785* + ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller +@@ -42579,76 +42720,76 @@ pci:v00001425d00004788* + ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller + + pci:v00001425d00004801* +- ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004802* +- ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004803* +- ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004804* +- ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004805* +- ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004806* +- ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004807* +- ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004808* +- ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004809* +- ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480A* +- ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480B* +- ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480C* +- ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480D* +- ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480E* +- ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000480F* +- ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004880* +- ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004881* +- ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004882* +- ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004883* +- ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004884* +- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004885* +- ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004886* +- ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004887* +- ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00004888* +- ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005001* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller +@@ -43041,82 +43182,82 @@ pci:v00001425d00005785* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller + + pci:v00001425d00005801* +- ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005802* +- ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005803* +- ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005804* +- ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005805* +- ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005806* +- ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005807* +- ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005808* +- ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005809* +- ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580A* +- ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580B* +- ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580C* +- ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580D* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580E* +- ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000580F* +- ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005810* +- ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005811* +- ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005812* +- ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005813* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005814* +- ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005815* +- ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005880* +- ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005881* +- ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005883* +- ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005884* +- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005885* +- ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] + + pci:v00001425d0000A000* + ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller +@@ -43562,6 +43703,9 @@ pci:v0000148E* + pci:v0000148F* + ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc. + ++pci:v0000148Fd00005370* ++ ID_MODEL_FROM_DATABASE=Dexlink AUWL15I1 ++ + pci:v00001490* + ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd. + +@@ -44885,6 +45029,9 @@ pci:v000014E4d000016A2sv0000103Csd00001916* + pci:v000014E4d000016A2sv0000103Csd00001917* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) + ++pci:v000014E4d000016A3* ++ ID_MODEL_FROM_DATABASE=NetXtreme BCM57786 Gigabit Ethernet PCIe ++ + pci:v000014E4d000016A4* + ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function + +@@ -47796,7 +47943,7 @@ pci:v000015B3d00001003* + ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3] + + pci:v000015B3d00001004* +- ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Virtual Function] ++ ID_MODEL_FROM_DATABASE=MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] + + pci:v000015B3d00001005* + ID_MODEL_FROM_DATABASE=MT27510 Family +@@ -47807,9 +47954,6 @@ pci:v000015B3d00001006* + pci:v000015B3d00001007* + ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro] + +-pci:v000015B3d00001008* +- ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro Virtual Function] +- + pci:v000015B3d00001009* + ID_MODEL_FROM_DATABASE=MT27530 Family + +@@ -49187,6 +49331,9 @@ pci:v0000168Cd0000002Bsv0000105Bsd0000E017* + pci:v0000168Cd0000002Bsv0000105Bsd0000E023* + ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) + ++pci:v0000168Cd0000002Bsv0000105Bsd0000E025* ++ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.05 802.11bgn Wireless Half-size Mini PCIe Card) ++ + pci:v0000168Cd0000002Bsv00001113sd0000E811* + ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) + +@@ -50471,6 +50618,9 @@ pci:v00001814d00000701sv00001737sd00000074* + pci:v00001814d00000781* + ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe + ++pci:v00001814d00000781sv00001814sd00002790* ++ ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe ++ + pci:v00001814d00003060* + ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R + +@@ -51911,6 +52061,9 @@ pci:v00001969d00001063* + pci:v00001969d00001063sv00001458sd0000E000* + ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) + ++pci:v00001969d00001063sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00001969d00001066* + ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet + +@@ -52358,6 +52511,18 @@ pci:v00001A2Bd0000000A* + pci:v00001A2Bd0000000E* + ID_MODEL_FROM_DATABASE=DSLP-104 v1.1 + ++pci:v00001A30* ++ ID_VENDOR_FROM_DATABASE=Lantiq ++ ++pci:v00001A30d00000680* ++ ID_MODEL_FROM_DATABASE=MtW8171 [Hyperion II] ++ ++pci:v00001A30d00000700* ++ ID_MODEL_FROM_DATABASE=Wave300 PSB8224 [Hyperion III] ++ ++pci:v00001A30d00000710* ++ ID_MODEL_FROM_DATABASE=Wave300 PSB8231 [Hyperion III] ++ + pci:v00001A32* + ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc + +@@ -52497,19 +52662,19 @@ pci:v00001A78* + ID_VENDOR_FROM_DATABASE=Virident Systems Inc. + + pci:v00001A78d00000031* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive + + pci:v00001A78d00000031sv00001A78sd00000034* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) + + pci:v00001A78d00000031sv00001A78sd00000037* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) + + pci:v00001A78d00000031sv00001A78sd00000038* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) + + pci:v00001A78d00000031sv00001A78sd00000039* +- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) ++ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) + + pci:v00001A78d00000040* + ID_MODEL_FROM_DATABASE=FlashMAX II +@@ -52520,6 +52685,9 @@ pci:v00001A78d00000041* + pci:v00001A78d00000042* + ID_MODEL_FROM_DATABASE=FlashMAX II + ++pci:v00001A78d00000050* ++ ID_MODEL_FROM_DATABASE=FlashMAX III ++ + pci:v00001A84* + ID_VENDOR_FROM_DATABASE=Commex Technologies + +@@ -52682,6 +52850,15 @@ pci:v00001AEDd00001008* + pci:v00001AEDd00002001* + ID_MODEL_FROM_DATABASE=ioDrive2 + ++pci:v00001AEDd00003001* ++ ID_MODEL_FROM_DATABASE=ioMemory FHHL ++ ++pci:v00001AEDd00003002* ++ ID_MODEL_FROM_DATABASE=ioMemory HHHL ++ ++pci:v00001AEDd00003003* ++ ID_MODEL_FROM_DATABASE=ioMemory Mezzanine ++ + pci:v00001AEE* + ID_VENDOR_FROM_DATABASE=Caustic Graphics Inc. + +@@ -52775,6 +52952,9 @@ pci:v00001B21d00001080* + pci:v00001B21d00001080sv00001849sd00001080* + ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) + ++pci:v00001B21d00001142* ++ ID_MODEL_FROM_DATABASE=ASM1042A USB 3.0 Host Controller ++ + pci:v00001B2C* + ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. + +@@ -52916,6 +53096,9 @@ pci:v00001B4Bd00009485* + pci:v00001B55* + ID_VENDOR_FROM_DATABASE=NetUP Inc. + ++pci:v00001B55d000018F6* ++ ID_MODEL_FROM_DATABASE=Dual DVB Universal CI card ++ + pci:v00001B55d00002A2C* + ID_MODEL_FROM_DATABASE=Dual DVB-S2-CI card + +@@ -53135,6 +53318,9 @@ pci:v00001CE4d00000002* + pci:v00001CF7* + ID_VENDOR_FROM_DATABASE=Subspace Dynamics + ++pci:v00001D21* ++ ID_VENDOR_FROM_DATABASE=Allo ++ + pci:v00001D44* + ID_VENDOR_FROM_DATABASE=DPT + +@@ -54956,15 +55142,30 @@ pci:v00008086d00000044sv00001025sd00000347* + pci:v00008086d00000044sv00001025sd00000487* + ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) + ++pci:v00008086d00000044sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (R730 Laptop) ++ ++pci:v00008086d00000044sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00000044sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) + + pci:v00008086d00000045* + ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port + ++pci:v00008086d00000045sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00000046* + ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller + ++pci:v00008086d00000046sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (R730 Laptop) ++ ++pci:v00008086d00000046sv000017C0sd000010D9* ++ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00000046sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) + +@@ -55238,6 +55439,9 @@ pci:v00008086d00000150* + pci:v00008086d00000150sv00001043sd000084CA* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) + ++pci:v00008086d00000150sv000015D9sd00000624* ++ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (X9SCM-F Motherboard) ++ + pci:v00008086d00000150sv00001849sd00000150* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) + +@@ -55445,6 +55649,9 @@ pci:v00008086d00000416sv000017AAsd0000220E* + pci:v00008086d0000041A* + ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller + ++pci:v00008086d0000041E* ++ ID_MODEL_FROM_DATABASE=4th Generation Core Processor Family Integrated Graphics Controller ++ + pci:v00008086d00000433* + ID_MODEL_FROM_DATABASE=Coleto Creek ACC - ME/CPM interface + +@@ -56727,241 +56934,85 @@ pci:v00008086d00000EFD* + ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + + pci:v00008086d00000F00* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +- +-pci:v00008086d00000F01* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +- +-pci:v00008086d00000F02* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit +- +-pci:v00008086d00000F03* +- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register + + pci:v00008086d00000F04* +- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller +- +-pci:v00008086d00000F05* +- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller + + pci:v00008086d00000F06* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller +- +-pci:v00008086d00000F07* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 DMA Controller + + pci:v00008086d00000F08* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller + + pci:v00008086d00000F09* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller + + pci:v00008086d00000F0A* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 +- +-pci:v00008086d00000F0B* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #1 + + pci:v00008086d00000F0C* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 +- +-pci:v00008086d00000F0D* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #2 + + pci:v00008086d00000F0E* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller +- +-pci:v00008086d00000F0F* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller +- +-pci:v00008086d00000F10* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller +- +-pci:v00008086d00000F11* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller +- +-pci:v00008086d00000F12* +- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller +- +-pci:v00008086d00000F13* +- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller + + pci:v00008086d00000F14* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller + + pci:v00008086d00000F15* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller + + pci:v00008086d00000F16* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller +- +-pci:v00008086d00000F17* +- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller + + pci:v00008086d00000F18* +- ID_MODEL_FROM_DATABASE=ValleyView SEC +- +-pci:v00008086d00000F19* +- ID_MODEL_FROM_DATABASE=ValleyView SEC +- +-pci:v00008086d00000F1A* +- ID_MODEL_FROM_DATABASE=ValleyView SEC +- +-pci:v00008086d00000F1B* +- ID_MODEL_FROM_DATABASE=ValleyView SEC ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine + + pci:v00008086d00000F1C* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F1D* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F1E* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F1F* +- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit +- +-pci:v00008086d00000F20* +- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller +- +-pci:v00008086d00000F21* +- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller +- +-pci:v00008086d00000F22* +- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller +- +-pci:v00008086d00000F23* +- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller +- +-pci:v00008086d00000F24* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F25* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F26* +- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller +- +-pci:v00008086d00000F27* +- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Power Control Unit + + pci:v00008086d00000F28* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F29* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F2A* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F2B* +- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller +- +-pci:v00008086d00000F2E* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F2F* +- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller +- +-pci:v00008086d00000F30* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller + + pci:v00008086d00000F31* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 +- +-pci:v00008086d00000F32* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 +- +-pci:v00008086d00000F33* +- ID_MODEL_FROM_DATABASE=ValleyView Gen7 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Graphics & Display + + pci:v00008086d00000F34* +- ID_MODEL_FROM_DATABASE=ValleyView USB Enhanced Host Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB EHCI + + pci:v00008086d00000F35* +- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller +- +-pci:v00008086d00000F36* +- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB xHCI + + pci:v00008086d00000F37* +- ID_MODEL_FROM_DATABASE=ValleyView OTG ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series OTG USB Device + + pci:v00008086d00000F38* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F39* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3A* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3B* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3C* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3D* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3E* +- ID_MODEL_FROM_DATABASE=ValleyView ISP +- +-pci:v00008086d00000F3F* +- ID_MODEL_FROM_DATABASE=ValleyView ISP ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Camera ISP + + pci:v00008086d00000F40* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 DMA Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 DMA Controller + + pci:v00008086d00000F41* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #1 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #1 + + pci:v00008086d00000F42* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #2 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #2 + + pci:v00008086d00000F43* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #3 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #3 + + pci:v00008086d00000F44* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #4 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #4 + + pci:v00008086d00000F45* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #5 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #5 + + pci:v00008086d00000F46* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #6 ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #6 + + pci:v00008086d00000F47* +- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #7 +- +-pci:v00008086d00000F48* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F49* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4A* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4B* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4C* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4D* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4E* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F4F* +- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port +- +-pci:v00008086d00000F50* +- ID_MODEL_FROM_DATABASE=ValleyView MIPI-HSI Controller ++ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #7 + + pci:v00008086d00001000* + ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) +@@ -57842,6 +57893,9 @@ pci:v00008086d00001091* + pci:v00008086d00001092* + ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection + ++pci:v00008086d00001092sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d00001093* + ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection + +@@ -59403,7 +59457,7 @@ pci:v00008086d0000154Asv00008086sd0000011C* + ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) + + pci:v00008086d0000154C* +- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function + + pci:v00008086d0000154D* + ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter +@@ -59460,34 +59514,37 @@ pci:v00008086d00001570* + ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V + + pci:v00008086d00001571* +- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function ++ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function + + pci:v00008086d00001572* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ + + pci:v00008086d00001572sv00001028sd00001F99* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC) ++ ++pci:v00008086d00001572sv00008086sd00000000* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710) + + pci:v00008086d00001572sv00008086sd00000001* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000002* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000004* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) + + pci:v00008086d00001572sv00008086sd00000005* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000006* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 2P X710 Adapter) + + pci:v00008086d00001572sv00008086sd00000007* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d00001572sv00008086sd00000008* +- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) + + pci:v00008086d0000157B* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection +@@ -59496,17 +59553,20 @@ pci:v00008086d0000157C* + ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection + + pci:v00008086d00001580* +- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE backplane + + pci:v00008086d00001581* +- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane + + pci:v00008086d00001581sv00001028sd00001F98* +- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) ++ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane (Ethernet 10G 4P X710-k bNDC) + + pci:v00008086d00001583* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + ++pci:v00008086d00001583sv00008086sd00000000* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) ++ + pci:v00008086d00001583sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) + +@@ -59519,6 +59579,9 @@ pci:v00008086d00001583sv00008086sd00000003* + pci:v00008086d00001584* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ + ++pci:v00008086d00001584sv00008086sd00000000* ++ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) ++ + pci:v00008086d00001584sv00008086sd00000001* + ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) + +@@ -61244,9 +61307,15 @@ pci:v00008086d00002448sv0000104Dsd0000902D* + pci:v00008086d00002448sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) + ++pci:v00008086d00002448sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d00002448sv0000144Dsd0000C00C* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) + ++pci:v00008086d00002448sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (R730 Laptop) ++ + pci:v00008086d00002448sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) + +@@ -61259,6 +61328,12 @@ pci:v00008086d00002448sv00001734sd00001055* + pci:v00008086d00002448sv000017AAsd000020AE* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) + ++pci:v00008086d00002448sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion Akoya E7214 Notebook PC [MD98410]) ++ ++pci:v00008086d00002448sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002448sv00008086sd0000544B* + ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) + +@@ -61872,7 +61947,7 @@ pci:v00008086d000024C5sv00001014sd00000267* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) + + pci:v00008086d000024C5sv00001014sd00000537* +- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T4x Series) + + pci:v00008086d000024C5sv00001014sd0000055F* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) +@@ -61944,7 +62019,7 @@ pci:v00008086d000024C6* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller + + pci:v00008086d000024C6sv00001014sd00000524* +- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) ++ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T4x Series) + + pci:v00008086d000024C6sv00001014sd00000525* + ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) +@@ -64358,6 +64433,9 @@ pci:v00008086d000027A0sv0000103Csd000030A3* + pci:v00008086d000027A0sv00001043sd00001237* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) + ++pci:v00008086d000027A0sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027A0sv000017AAsd00002015* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) + +@@ -64373,6 +64451,9 @@ pci:v00008086d000027A1sv0000103Csd0000309F* + pci:v00008086d000027A1sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) + ++pci:v00008086d000027A1sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027A2* + ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller + +@@ -64457,6 +64538,9 @@ pci:v00008086d000027B9sv0000103Csd000030A1* + pci:v00008086d000027B9sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) + ++pci:v00008086d000027B9sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027B9sv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) + +@@ -64568,6 +64652,9 @@ pci:v00008086d000027C4sv00001025sd0000006C* + pci:v00008086d000027C4sv00001028sd000001D7* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) + ++pci:v00008086d000027C4sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027C4sv000017AAsd0000200E* + ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) + +@@ -64625,6 +64712,9 @@ pci:v00008086d000027C8sv00001043sd00008179* + pci:v00008086d000027C8sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) + ++pci:v00008086d000027C8sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027C8sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) + +@@ -64691,6 +64781,9 @@ pci:v00008086d000027C9sv00001043sd00008179* + pci:v00008086d000027C9sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) + ++pci:v00008086d000027C9sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027C9sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) + +@@ -64757,6 +64850,9 @@ pci:v00008086d000027CAsv00001043sd00008179* + pci:v00008086d000027CAsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) + ++pci:v00008086d000027CAsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027CAsv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) + +@@ -64817,6 +64913,9 @@ pci:v00008086d000027CBsv00001043sd00008179* + pci:v00008086d000027CBsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) + ++pci:v00008086d000027CBsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027CBsv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) + +@@ -64880,6 +64979,9 @@ pci:v00008086d000027CCsv00001043sd00008179* + pci:v00008086d000027CCsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) + ++pci:v00008086d000027CCsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027CCsv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) + +@@ -64913,6 +65015,9 @@ pci:v00008086d000027D0sv0000103Csd0000309F* + pci:v00008086d000027D0sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) + ++pci:v00008086d000027D0sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D0sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) + +@@ -64937,6 +65042,9 @@ pci:v00008086d000027D2sv0000103Csd0000309F* + pci:v00008086d000027D2sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) + ++pci:v00008086d000027D2sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D2sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) + +@@ -64952,6 +65060,9 @@ pci:v00008086d000027D2sv00008086sd0000544B* + pci:v00008086d000027D4* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 + ++pci:v00008086d000027D4sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D4sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) + +@@ -64970,6 +65081,9 @@ pci:v00008086d000027D6* + pci:v00008086d000027D6sv0000103Csd000030A3* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) + ++pci:v00008086d000027D6sv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D6sv0000144Dsd0000C072* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) + +@@ -65021,6 +65135,9 @@ pci:v00008086d000027D8sv00001043sd000082EA* + pci:v00008086d000027D8sv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) + ++pci:v00008086d000027D8sv00001071sd00008207* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027D8sv0000107Bsd00005048* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) + +@@ -65099,6 +65216,9 @@ pci:v00008086d000027DAsv00001043sd00008179* + pci:v00008086d000027DAsv0000105Bsd00000D7C* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) + ++pci:v00008086d000027DAsv00001071sd00008209* ++ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Medion MIM 2240 Notebook PC [MD98100]) ++ + pci:v00008086d000027DAsv000010F7sd00008338* + ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) + +@@ -65258,6 +65378,9 @@ pci:v00008086d00002815sv0000104Dsd00009005* + pci:v00008086d00002815sv0000104Dsd0000902D* + ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) + ++pci:v00008086d00002815sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002820* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] + +@@ -65342,6 +65465,9 @@ pci:v00008086d00002829sv0000104Dsd0000902D* + pci:v00008086d00002829sv000017AAsd000020A7* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) + ++pci:v00008086d00002829sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002829sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) + +@@ -65393,6 +65519,9 @@ pci:v00008086d00002830sv00001462sd00007235* + pci:v00008086d00002830sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) + ++pci:v00008086d00002830sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002830sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) + +@@ -65435,6 +65564,9 @@ pci:v00008086d00002831sv00001462sd00007235* + pci:v00008086d00002831sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) + ++pci:v00008086d00002831sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002831sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) + +@@ -65474,6 +65606,9 @@ pci:v00008086d00002832sv0000104Dsd0000902D* + pci:v00008086d00002832sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) + ++pci:v00008086d00002832sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002832sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) + +@@ -65519,6 +65654,9 @@ pci:v00008086d00002834sv00001462sd00007235* + pci:v00008086d00002834sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) + ++pci:v00008086d00002834sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002834sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) + +@@ -65555,6 +65693,9 @@ pci:v00008086d00002835sv0000104Dsd0000902D* + pci:v00008086d00002835sv000017AAsd000020AA* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) + ++pci:v00008086d00002835sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002835sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) + +@@ -65597,6 +65738,9 @@ pci:v00008086d00002836sv00001462sd00007235* + pci:v00008086d00002836sv000017AAsd000020AB* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) + ++pci:v00008086d00002836sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002836sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) + +@@ -65633,6 +65777,9 @@ pci:v00008086d0000283Asv0000104Dsd0000902D* + pci:v00008086d0000283Asv000017AAsd000020AB* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) + ++pci:v00008086d0000283Asv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d0000283Asv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) + +@@ -65669,6 +65816,9 @@ pci:v00008086d0000283Esv00001462sd00007235* + pci:v00008086d0000283Esv000017AAsd000020A9* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) + ++pci:v00008086d0000283Esv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d0000283Esv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) + +@@ -65687,6 +65837,9 @@ pci:v00008086d0000283Fsv0000104Dsd0000902D* + pci:v00008086d0000283Fsv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) + ++pci:v00008086d0000283Fsv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002841* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 + +@@ -65699,6 +65852,9 @@ pci:v00008086d00002841sv0000104Dsd0000902D* + pci:v00008086d00002841sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) + ++pci:v00008086d00002841sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002843* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 + +@@ -65708,12 +65864,18 @@ pci:v00008086d00002843sv0000104Dsd0000902D* + pci:v00008086d00002843sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) + ++pci:v00008086d00002843sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002845* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 + + pci:v00008086d00002845sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) + ++pci:v00008086d00002845sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002847* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 + +@@ -65726,6 +65888,9 @@ pci:v00008086d00002847sv0000103Csd000030C1* + pci:v00008086d00002847sv000017AAsd000020AD* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) + ++pci:v00008086d00002847sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002849* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 + +@@ -65792,6 +65957,9 @@ pci:v00008086d0000284Bsv000014F1sd00005051* + pci:v00008086d0000284Bsv000017AAsd000020AC* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) + ++pci:v00008086d0000284Bsv000017C0sd00004088* ++ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d0000284Bsv00008384sd00007616* + ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) + +@@ -65831,6 +65999,9 @@ pci:v00008086d00002850sv0000104Dsd0000902D* + pci:v00008086d00002850sv000017AAsd000020A6* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) + ++pci:v00008086d00002850sv000017C0sd00004083* ++ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002850sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) + +@@ -66794,6 +66965,9 @@ pci:v00008086d00002A00sv000017AAsd000020B1* + pci:v00008086d00002A00sv000017AAsd000020B3* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) + ++pci:v00008086d00002A00sv000017C0sd00004082* ++ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002A00sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) + +@@ -66821,6 +66995,9 @@ pci:v00008086d00002A02sv0000104Dsd0000902D* + pci:v00008086d00002A02sv000017AAsd000020B5* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) + ++pci:v00008086d00002A02sv000017C0sd00004082* ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002A02sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) + +@@ -66828,7 +67005,7 @@ pci:v00008086d00002A03* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) + + pci:v00008086d00002A03sv00001028sd000001F3* +- ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Inspiron 1420) + + pci:v00008086d00002A03sv0000103Csd000030C0* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) +@@ -66842,6 +67019,9 @@ pci:v00008086d00002A03sv0000104Dsd0000902D* + pci:v00008086d00002A03sv000017AAsd000020B5* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) + ++pci:v00008086d00002A03sv000017C0sd00004082* ++ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Medion WIM 2210 Notebook PC [MD96850]) ++ + pci:v00008086d00002A03sv0000E4BFsd0000CC47* + ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) + +@@ -67317,13 +67497,13 @@ pci:v00008086d00002D10* + ID_MODEL_FROM_DATABASE=Core Processor QPI Link 0 + + pci:v00008086d00002D11* +- ID_MODEL_FROM_DATABASE=Core Processor QPI Physical 0 ++ ID_MODEL_FROM_DATABASE=1st Generation Core Processor QPI Physical 0 + + pci:v00008086d00002D12* +- ID_MODEL_FROM_DATABASE=Core Processor Reserved ++ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved + + pci:v00008086d00002D13* +- ID_MODEL_FROM_DATABASE=Core Processor Reserved ++ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved + + pci:v00008086d00002D81* + ID_MODEL_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture System Address Decoder +@@ -67427,6 +67607,9 @@ pci:v00008086d00002E11* + pci:v00008086d00002E12* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + ++pci:v00008086d00002E12sv000017AAsd00003048* ++ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (ThinkCentre M6258) ++ + pci:v00008086d00002E13* + ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller + +@@ -69317,6 +69500,12 @@ pci:v00008086d00003B09* + pci:v00008086d00003B09sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) + ++pci:v00008086d00003B09sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (R730 Laptop) ++ ++pci:v00008086d00003B09sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B0A* + ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller + +@@ -69416,18 +69605,36 @@ pci:v00008086d00003B26* + pci:v00008086d00003B28* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller + ++pci:v00008086d00003B28sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (R730 Laptop) ++ ++pci:v00008086d00003B28sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B29* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller + + pci:v00008086d00003B29sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) + ++pci:v00008086d00003B29sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (R730 Laptop) ++ ++pci:v00008086d00003B29sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B2C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller + + pci:v00008086d00003B2D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller + ++pci:v00008086d00003B2Dsv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (R730 Laptop) ++ ++pci:v00008086d00003B2Dsv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B2Dsv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) + +@@ -69458,9 +69665,15 @@ pci:v00008086d00003B30sv00001028sd000002DA* + pci:v00008086d00003B30sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) + ++pci:v00008086d00003B30sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (R730 Laptop) ++ + pci:v00008086d00003B30sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B30sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B30sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) + +@@ -69470,6 +69683,12 @@ pci:v00008086d00003B32* + pci:v00008086d00003B32sv00001025sd00000347* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) + ++pci:v00008086d00003B32sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (R730 Laptop) ++ ++pci:v00008086d00003B32sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B34* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller + +@@ -69482,9 +69701,15 @@ pci:v00008086d00003B34sv00001028sd000002DA* + pci:v00008086d00003B34sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + ++pci:v00008086d00003B34sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) ++ + pci:v00008086d00003B34sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B34sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B34sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + +@@ -69518,9 +69743,15 @@ pci:v00008086d00003B3Csv00001028sd000002DA* + pci:v00008086d00003B3Csv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) + ++pci:v00008086d00003B3Csv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) ++ + pci:v00008086d00003B3Csv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B3Csv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B3Csv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) + +@@ -69545,9 +69776,15 @@ pci:v00008086d00003B42sv00001028sd000002DA* + pci:v00008086d00003B42sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) + ++pci:v00008086d00003B42sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (R730 Laptop) ++ + pci:v00008086d00003B42sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) + ++pci:v00008086d00003B42sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B44* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 + +@@ -69557,24 +69794,39 @@ pci:v00008086d00003B44sv00001028sd0000040B* + pci:v00008086d00003B44sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) + ++pci:v00008086d00003B44sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B46* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 + + pci:v00008086d00003B46sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) + ++pci:v00008086d00003B46sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (R730 Laptop) ++ ++pci:v00008086d00003B46sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B48* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 + + pci:v00008086d00003B48sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) + ++pci:v00008086d00003B48sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (R730 Laptop) ++ + pci:v00008086d00003B4A* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 + + pci:v00008086d00003B4Asv00001028sd000002DA* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) + ++pci:v00008086d00003B4Asv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B4C* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 + +@@ -69599,9 +69851,15 @@ pci:v00008086d00003B56sv00001028sd000002DA* + pci:v00008086d00003B56sv00001028sd0000040B* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) + ++pci:v00008086d00003B56sv0000144Dsd0000C06A* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (R730 Laptop) ++ + pci:v00008086d00003B56sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) + ++pci:v00008086d00003B56sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B56sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) + +@@ -69617,6 +69875,9 @@ pci:v00008086d00003B64sv00001025sd00000347* + pci:v00008086d00003B64sv000015D9sd0000060D* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) + ++pci:v00008086d00003B64sv000017C0sd000010D2* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Medion Akoya E7214 Notebook PC [MD98410]) ++ + pci:v00008086d00003B64sv0000E4BFsd000050C1* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) + +@@ -69990,7 +70251,7 @@ pci:v00008086d00004222sv00008086sd00001000* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) + + pci:v00008086d00004222sv00008086sd00001001* +- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) ++ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (WM3945ABG MOW2) + + pci:v00008086d00004222sv00008086sd00001005* + ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) +@@ -71168,6 +71429,114 @@ pci:v00008086d00008C5E* + pci:v00008086d00008C5F* + ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LPC Controller + ++pci:v00008086d00008C80* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C81* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C82* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] ++ ++pci:v00008086d00008C83* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] ++ ++pci:v00008086d00008C84* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C85* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C86* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C87* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C88* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C89* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] ++ ++pci:v00008086d00008C8E* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C8F* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] ++ ++pci:v00008086d00008C90* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 1 ++ ++pci:v00008086d00008C92* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 2 ++ ++pci:v00008086d00008C94* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 3 ++ ++pci:v00008086d00008C96* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 4 ++ ++pci:v00008086d00008C98* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 5 ++ ++pci:v00008086d00008C9A* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 6 ++ ++pci:v00008086d00008C9C* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 7 ++ ++pci:v00008086d00008C9E* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 8 ++ ++pci:v00008086d00008CA0* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HD Audio Controller ++ ++pci:v00008086d00008CA2* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SMBus Controller ++ ++pci:v00008086d00008CA4* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Thermal Controller ++ ++pci:v00008086d00008CA6* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #1 ++ ++pci:v00008086d00008CAD* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #2 ++ ++pci:v00008086d00008CB1* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB xHCI Controller ++ ++pci:v00008086d00008CB3* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LAN Controller ++ ++pci:v00008086d00008CBA* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #1 ++ ++pci:v00008086d00008CBB* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #2 ++ ++pci:v00008086d00008CBC* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family IDE-R Controller ++ ++pci:v00008086d00008CBD* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family KT Controller ++ ++pci:v00008086d00008CC1* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller ++ ++pci:v00008086d00008CC2* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller ++ ++pci:v00008086d00008CC3* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HM97 LPC Controller ++ ++pci:v00008086d00008CC4* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Z97 LPC Controller ++ ++pci:v00008086d00008CC6* ++ ID_MODEL_FROM_DATABASE=9 Series Chipset Family H97 Controller ++ + pci:v00008086d00008D00* + ID_MODEL_FROM_DATABASE=Wellsburg 4-port SATA Controller [IDE mode] + +@@ -71379,208 +71748,208 @@ pci:v00008086d000096A1* + ID_MODEL_FROM_DATABASE=Integrated RAID + + pci:v00008086d00009C00* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] + + pci:v00008086d00009C01* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] + + pci:v00008086d00009C02* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] + + pci:v00008086d00009C03* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] + + pci:v00008086d00009C03sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] (ThinkPad X240) + + pci:v00008086d00009C04* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C05* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C06* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C07* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C08* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] + + pci:v00008086d00009C09* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] + + pci:v00008086d00009C0A* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0B* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0C* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0D* +- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] + + pci:v00008086d00009C0E* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C0F* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] ++ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] + + pci:v00008086d00009C10* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 + + pci:v00008086d00009C11* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 + + pci:v00008086d00009C12* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 + + pci:v00008086d00009C13* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 + + pci:v00008086d00009C14* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 + + pci:v00008086d00009C15* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 + + pci:v00008086d00009C16* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 + + pci:v00008086d00009C17* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 + + pci:v00008086d00009C18* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 + + pci:v00008086d00009C19* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 + + pci:v00008086d00009C1A* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 + + pci:v00008086d00009C1B* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 + + pci:v00008086d00009C1C* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 + + pci:v00008086d00009C1D* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 + + pci:v00008086d00009C1E* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 + + pci:v00008086d00009C1F* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 ++ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 + + pci:v00008086d00009C20* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller ++ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller + + pci:v00008086d00009C20sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller (ThinkPad X240) + + pci:v00008086d00009C21* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller ++ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller + + pci:v00008086d00009C22* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller ++ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller + + pci:v00008086d00009C22sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller (ThinkPad X240) + + pci:v00008086d00009C23* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters ++ ID_MODEL_FROM_DATABASE=8 Series CHAP Counters + + pci:v00008086d00009C24* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP Thermal ++ ID_MODEL_FROM_DATABASE=8 Series Thermal + + pci:v00008086d00009C26* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 ++ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 + + pci:v00008086d00009C26sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 (ThinkPad X240) + + pci:v00008086d00009C2D* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 ++ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #2 + + pci:v00008086d00009C31* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC ++ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC + + pci:v00008086d00009C31sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC (ThinkPad X240) + + pci:v00008086d00009C35* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller ++ ID_MODEL_FROM_DATABASE=8 Series SDIO Controller + + pci:v00008086d00009C36* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP Audio DSP Controller ++ ID_MODEL_FROM_DATABASE=8 Series Audio DSP Controller + + pci:v00008086d00009C3A* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 ++ ID_MODEL_FROM_DATABASE=8 Series HECI #0 + + pci:v00008086d00009C3Asv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series HECI #0 (ThinkPad X240) + + pci:v00008086d00009C3B* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 ++ ID_MODEL_FROM_DATABASE=8 Series HECI #1 + + pci:v00008086d00009C3C* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI IDER ++ ID_MODEL_FROM_DATABASE=8 Series HECI IDER + + pci:v00008086d00009C3D* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI KT ++ ID_MODEL_FROM_DATABASE=8 Series HECI KT + + pci:v00008086d00009C40* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C41* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C42* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C43* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C43sv000017AAsd00002214* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller (ThinkPad X240) + + pci:v00008086d00009C44* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C45* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C46* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C47* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller ++ ID_MODEL_FROM_DATABASE=8 Series LPC Controller + + pci:v00008086d00009C60* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP Low Power Sub-System DMA ++ ID_MODEL_FROM_DATABASE=8 Series Low Power Sub-System DMA + + pci:v00008086d00009C61* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #0 ++ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #0 + + pci:v00008086d00009C62* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #1 ++ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #1 + + pci:v00008086d00009C63* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #0 ++ ID_MODEL_FROM_DATABASE=8 Series UART Controller #0 + + pci:v00008086d00009C64* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #1 ++ ID_MODEL_FROM_DATABASE=8 Series UART Controller #1 + + pci:v00008086d00009C65* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #0 ++ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #0 + + pci:v00008086d00009C66* +- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #1 ++ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #1 + + pci:v00008086d00009C83* + ID_MODEL_FROM_DATABASE=Wildcat Point-LP SATA Controller [AHCI Mode] +diff --git hwdb/20-usb-classes.hwdb hwdb/20-usb-classes.hwdb +index 3294d8a..418d39b 100644 +--- hwdb/20-usb-classes.hwdb ++++ hwdb/20-usb-classes.hwdb +@@ -311,6 +311,9 @@ usb:v*p*d*dcEFdsc02dp02* + usb:v*p*d*dcEFdsc03dp01* + ID_USB_PROTOCOL_FROM_DATABASE=Cable Based Association + ++usb:v*p*d*dcEFdsc05* ++ ID_USB_SUBCLASS_FROM_DATABASE=USB3 Vision ++ + usb:v*p*d*dcFE* + ID_USB_CLASS_FROM_DATABASE=Application Specific Interface + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 05f267d..89cd5b1 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -284,9 +284,18 @@ usb:v03EBp2310* + usb:v03EBp2FE4* + ID_MODEL_FROM_DATABASE=ATxmega32A4U DFU bootloader + ++usb:v03EBp2FE6* ++ ID_MODEL_FROM_DATABASE=Cactus V6 (DFU) ++ ++usb:v03EBp2FEA* ++ ID_MODEL_FROM_DATABASE=Cactus RF60 (DFU) ++ + usb:v03EBp2FF0* + ID_MODEL_FROM_DATABASE=atmega32u2 DFU bootloader + ++usb:v03EBp2FF4* ++ ID_MODEL_FROM_DATABASE=atmega32u4 DFU bootloader ++ + usb:v03EBp2FFA* + ID_MODEL_FROM_DATABASE=at90usb162 DFU bootloader + +@@ -4409,6 +4418,9 @@ usb:v0424p2602* + usb:v0424p2640* + ID_MODEL_FROM_DATABASE=USB 2.0 Hub + ++usb:v0424p2660* ++ ID_MODEL_FROM_DATABASE=Hub ++ + usb:v0424p4060* + ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader + +@@ -5373,7 +5385,7 @@ usb:v0457p0162* + ID_MODEL_FROM_DATABASE=SiS162 usb Wireless LAN Adapter + + usb:v0457p0163* +- ID_MODEL_FROM_DATABASE=802.11 Wireless LAN Adapter ++ ID_MODEL_FROM_DATABASE=SiS163U 802.11 Wireless LAN Adapter + + usb:v0457p0817* + ID_MODEL_FROM_DATABASE=SiS-184-ASUS-4352.17 touch panel +@@ -6947,6 +6959,9 @@ usb:v046Dp082D* + usb:v046Dp0830* + ID_MODEL_FROM_DATABASE=QuickClip + ++usb:v046Dp0837* ++ ID_MODEL_FROM_DATABASE=BCC950 ConferenceCam ++ + usb:v046Dp0840* + ID_MODEL_FROM_DATABASE=QuickCam Express + +@@ -7856,6 +7871,9 @@ usb:v046DpC52F* + usb:v046DpC532* + ID_MODEL_FROM_DATABASE=Unifying Receiver + ++usb:v046DpC534* ++ ID_MODEL_FROM_DATABASE=Unifying Receiver ++ + usb:v046DpC603* + ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT + +@@ -8738,6 +8756,9 @@ usb:v0480pA007* + usb:v0480pA009* + ID_MODEL_FROM_DATABASE=Stor.E Basics + ++usb:v0480pA00D* ++ ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB ++ + usb:v0480pD010* + ID_MODEL_FROM_DATABASE=External Disk 3TB + +@@ -10943,6 +10964,9 @@ usb:v04A9p3196* + usb:v04A9p319A* + ID_MODEL_FROM_DATABASE=EOS 7D + ++usb:v04A9p319B* ++ ID_MODEL_FROM_DATABASE=EOS 50D ++ + usb:v04A9p31AA* + ID_MODEL_FROM_DATABASE=SELPHY CP770 + +@@ -11219,6 +11243,15 @@ usb:v04A9p3277* + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + ++usb:v04A9p327F* ++ ID_MODEL_FROM_DATABASE=EOS Rebel T5 / EOS 1200D / EOS Kiss X70 ++ ++usb:v04A9p3284* ++ ID_MODEL_FROM_DATABASE=PowerShot D30 ++ ++usb:v04A9p3286* ++ ID_MODEL_FROM_DATABASE=PowerShot SX600 HS ++ + usb:v04A9p3288* + ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 + +@@ -13040,6 +13073,9 @@ usb:v04D8p0036* + usb:v04D8p00E0* + ID_MODEL_FROM_DATABASE=PIC32 Starter Board + ++usb:v04D8p04CD* ++ ID_MODEL_FROM_DATABASE=28Cxxx EEPROM Programmer ++ + usb:v04D8p0A04* + ID_MODEL_FROM_DATABASE=AGP LIN Serial Analyzer + +@@ -14093,6 +14129,9 @@ usb:v04E8p5F05* + usb:v04E8p6032* + ID_MODEL_FROM_DATABASE=G2 Portable hard drive + ++usb:v04E8p6033* ++ ID_MODEL_FROM_DATABASE=G2 Portable device ++ + usb:v04E8p6034* + ID_MODEL_FROM_DATABASE=G2 Portable hard drive + +@@ -14102,6 +14141,9 @@ usb:v04E8p60B3* + usb:v04E8p60C4* + ID_MODEL_FROM_DATABASE=M2 Portable Hard Drive USB 3.0 + ++usb:v04E8p6124* ++ ID_MODEL_FROM_DATABASE=D3 Station External Hard Drive ++ + usb:v04E8p61B6* + ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB + +@@ -15224,6 +15266,9 @@ usb:v04F9p0223* + usb:v04F9p0248* + ID_MODEL_FROM_DATABASE=DCP-7055 scanner/printer + ++usb:v04F9p02B3* ++ ID_MODEL_FROM_DATABASE=MFC J4510DW ++ + usb:v04F9p1000* + ID_MODEL_FROM_DATABASE=Printer + +@@ -15546,7 +15591,7 @@ usb:v050Dp0013* + ID_MODEL_FROM_DATABASE=F8T013 Bluetooth Adapter + + usb:v050Dp0017* +- ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 ++ ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 / F4U017 USB 2.0 7-port Hub + + usb:v050Dp003A* + ID_MODEL_FROM_DATABASE=Universal Media Reader +@@ -15683,6 +15728,9 @@ usb:v050Dp1106* + usb:v050Dp1109* + ID_MODEL_FROM_DATABASE=F9L1109v1 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] + ++usb:v050Dp110A* ++ ID_MODEL_FROM_DATABASE=F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] ++ + usb:v050Dp11F2* + ID_MODEL_FROM_DATABASE=ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS] + +@@ -15723,7 +15771,7 @@ usb:v050Dp6051* + ID_MODEL_FROM_DATABASE=F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201] + + usb:v050Dp615A* +- ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323] ++ ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101v1 802.11abgn Wireless Adapter [Broadcom BCM4323] + + usb:v050Dp7050* + ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887] +@@ -16358,6 +16406,9 @@ usb:v0547p2810* + usb:v0547p4D90* + ID_MODEL_FROM_DATABASE=AmScope MD1900 camera + ++usb:v0547p7000* ++ ID_MODEL_FROM_DATABASE=PowerSpec MCE460 Front Panel LED Display ++ + usb:v0547p7777* + ID_MODEL_FROM_DATABASE=Bluetooth Device + +@@ -21677,6 +21728,9 @@ usb:v05F9p2601* + usb:v05F9p2602* + ID_MODEL_FROM_DATABASE=Datalogic Magellan 1100i Barcode Scanner + ++usb:v05F9p4204* ++ ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4470 Fixed Scanner ++ + usb:v05F9p5204* + ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4170 (config mode) + +@@ -23234,6 +23288,9 @@ usb:v068Ep00D3* + usb:v068Ep00E2* + ID_MODEL_FROM_DATABASE=HFX OEM Joystick + ++usb:v068Ep00F0* ++ ID_MODEL_FROM_DATABASE=Multi-Function Panel ++ + usb:v068Ep00F1* + ID_MODEL_FROM_DATABASE=Pro Throttle + +@@ -25838,6 +25895,9 @@ usb:v0781p74D0* + usb:v0781p74D1* + ID_MODEL_FROM_DATABASE=Sansa Clip+ (msc) + ++usb:v0781p74E5* ++ ID_MODEL_FROM_DATABASE=Sansa Clip Zip ++ + usb:v0781p8181* + ID_MODEL_FROM_DATABASE=Pen Flash + +@@ -26219,6 +26279,9 @@ usb:v07AAp001A* + usb:v07AAp001C* + ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] + ++usb:v07AAp0020* ++ ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] ++ + usb:v07AAp002E* + ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] + +@@ -26939,6 +27002,9 @@ usb:v07CApA827* + usb:v07CApA867* + ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A867) + ++usb:v07CApB300* ++ ID_MODEL_FROM_DATABASE=A300 DVB-T TV receiver ++ + usb:v07CApB800* + ID_MODEL_FROM_DATABASE=MR800 FM Radio + +@@ -27941,6 +28007,9 @@ usb:v083Ap4507* + usb:v083Ap4521* + ID_MODEL_FROM_DATABASE=Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887] + ++usb:v083Ap4531* ++ ID_MODEL_FROM_DATABASE=T-Com Sinus 154 data II [Intersil ISL3887] ++ + usb:v083Ap5046* + ID_MODEL_FROM_DATABASE=SpeedStream 10/100 Ethernet [pegasus] + +@@ -30476,6 +30545,9 @@ usb:v0957p0518* + usb:v0957p0A07* + ID_MODEL_FROM_DATABASE=34411A Multimeter + ++usb:v0957p1507* ++ ID_MODEL_FROM_DATABASE=33210A Waveform Generator ++ + usb:v0957p1745* + ID_MODEL_FROM_DATABASE=Test and Measurement Device (IVI) + +@@ -30876,13 +30948,13 @@ usb:v09D9* + ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd + + usb:v09DA* +- ID_VENDOR_FROM_DATABASE=A4 Tech Co., Ltd ++ ID_VENDOR_FROM_DATABASE=A4Tech Co., Ltd. + + usb:v09DAp0006* + ID_MODEL_FROM_DATABASE=Optical Mouse WOP-35 / Trust 450L Optical Mouse + + usb:v09DAp000A* +- ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D ++ ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D / OP-620D + + usb:v09DAp000E* + ID_MODEL_FROM_DATABASE=X-F710F Optical Mouse 3xFire Gaming Mouse +@@ -32174,6 +32246,9 @@ usb:v0AB1* + usb:v0AB1p0002* + ID_MODEL_FROM_DATABASE=OBID RFID-Reader + ++usb:v0AB1p0004* ++ ID_MODEL_FROM_DATABASE=OBID classic-pro ++ + usb:v0ABA* + ID_VENDOR_FROM_DATABASE=Ellisys + +@@ -32571,7 +32646,7 @@ usb:v0B05p1708* + ID_MODEL_FROM_DATABASE=Mass Storage Device + + usb:v0B05p170B* +- ID_MODEL_FROM_DATABASE=Mass Storage Device ++ ID_MODEL_FROM_DATABASE=Multi card reader + + usb:v0B05p170C* + ID_MODEL_FROM_DATABASE=WL-159g 802.11bg +@@ -32687,6 +32762,9 @@ usb:v0B05p17A1* + usb:v0B05p17AB* + ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] + ++usb:v0B05p17C7* ++ ID_MODEL_FROM_DATABASE=WL-330NUL ++ + usb:v0B05p17C9* + ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] + +@@ -32714,6 +32792,9 @@ usb:v0B05p5410* + usb:v0B05p5412* + ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) + ++usb:v0B05p550F* ++ ID_MODEL_FROM_DATABASE=ASUS fonepad 7 ++ + usb:v0B05p6101* + ID_MODEL_FROM_DATABASE=Cable Modem + +@@ -32756,6 +32837,9 @@ usb:v0B0Dp0000* + usb:v0B0E* + ID_VENDOR_FROM_DATABASE=GN Netcom + ++usb:v0B0Ep034C* ++ ID_MODEL_FROM_DATABASE=Jabra UC Voice 750 MS ++ + usb:v0B0Ep0420* + ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 + +@@ -49610,6 +49694,12 @@ usb:v2659p1212* + usb:v2659p1213* + ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (US) + ++usb:v2676* ++ ID_VENDOR_FROM_DATABASE=Basler AG ++ ++usb:v2676pBA02* ++ ID_MODEL_FROM_DATABASE=ace ++ + usb:v2730* + ID_VENDOR_FROM_DATABASE=Citizen + +-- +1.7.9.2 + diff --git a/0006-journal-assume-that-next-entry-is-after-previous-ent.patch b/0006-journal-assume-that-next-entry-is-after-previous-ent.patch new file mode 100644 index 00000000..aa974fa7 --- /dev/null +++ b/0006-journal-assume-that-next-entry-is-after-previous-ent.patch @@ -0,0 +1,70 @@ +From fb099c8d2af6620db2709e826a258089d10cdfe8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 27 Feb 2014 00:07:29 -0500 +Subject: [PATCH] journal: assume that next entry is after previous entry + +With a corrupted file, we can get in a situation where two entries +in the entry array point to the same object. Then journal_file_next_entry +will find the first one using generic_arrray_bisect, and try to move to +the second one, but since the address is the same, generic_array_get will +return the first one. journal_file_next_entry ends up in an infinite loop. + +https://bugzilla.redhat.com/show_bug.cgi?id=1047039 +--- + src/journal/journal-file.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +diff --git src/journal/journal-file.c src/journal/journal-file.c +index 5876733..0e1fc7f 100644 +--- src/journal/journal-file.c ++++ src/journal/journal-file.c +@@ -1359,7 +1359,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st + } + + typedef struct ChainCacheItem { +- uint64_t first; /* the array at the begin of the chain */ ++ uint64_t first; /* the array at the beginning of the chain */ + uint64_t array; /* the cached array */ + uint64_t begin; /* the first item in the cached array */ + uint64_t total; /* the total number of items in all arrays before this one in the chain */ +@@ -1945,7 +1945,7 @@ int journal_file_next_entry( + direction_t direction, + Object **ret, uint64_t *offset) { + +- uint64_t i, n; ++ uint64_t i, n, ofs; + int r; + + assert(f); +@@ -1986,10 +1986,24 @@ int journal_file_next_entry( + } + + /* And jump to it */ +- return generic_array_get(f, +- le64toh(f->header->entry_array_offset), +- i, +- ret, offset); ++ r = generic_array_get(f, ++ le64toh(f->header->entry_array_offset), ++ i, ++ ret, &ofs); ++ if (r <= 0) ++ return r; ++ ++ if (p > 0 && ++ (direction == DIRECTION_DOWN ? ofs <= p : ofs >= p)) { ++ log_debug("%s: entry array corrupted at entry %"PRIu64, ++ f->path, i); ++ return -EBADMSG; ++ } ++ ++ if (offset) ++ *offset = ofs; ++ ++ return 1; + } + + int journal_file_skip_entry( +-- +1.7.9.2 + diff --git a/0006-journald-fix-minor-memory-leak.patch b/0006-journald-fix-minor-memory-leak.patch new file mode 100644 index 00000000..72d2ab39 --- /dev/null +++ b/0006-journald-fix-minor-memory-leak.patch @@ -0,0 +1,24 @@ +From 99d0966e75a984bed4f117c888ecc93e16e7b7b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Nov 2014 21:11:16 +0100 +Subject: [PATCH] journald: fix minor memory leak + +--- + src/journal/journald-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/journal/journald-server.c src/journal/journald-server.c +index e062427..cf6bbcc 100644 +--- src/journal/journald-server.c ++++ src/journal/journald-server.c +@@ -1690,6 +1690,7 @@ void server_done(Server *s) { + free(s->buffer); + free(s->tty_path); + free(s->cgroup_root); ++ free(s->hostname_field); + + if (s->mmap) + mmap_cache_unref(s->mmap); +-- +1.7.9.2 + diff --git a/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch b/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch new file mode 100644 index 00000000..e76abb48 --- /dev/null +++ b/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch @@ -0,0 +1,29 @@ +From e683212f049ac5d3f95fb17300cfa2fd971f78f3 Mon Sep 17 00:00:00 2001 +From: Ronny Chevalier +Date: Tue, 3 Jun 2014 19:44:03 +0200 +Subject: [PATCH] log: honour the kernel's quiet cmdline argument + +It was forgotten in b1e90ec515408aec2702522f6f68c4920b56375b + +See https://bugs.freedesktop.org/show_bug.cgi?id=79582 +--- + src/shared/log.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/shared/log.c src/shared/log.c +index 9039db3..6f17705 100644 +--- src/shared/log.c ++++ src/shared/log.c +@@ -878,6 +878,9 @@ void log_parse_environment(void) { + if (l == 5 && startswith(w, "debug")) { + log_set_max_level(LOG_DEBUG); + break; ++ } else if (l == 5 && startswith(w, "quiet")) { ++ log_set_max_level(LOG_WARNING); ++ break; + } + } + } +-- +1.7.9.2 + diff --git a/0006-login-add-mir-to-the-list-of-session-types.patch b/0006-login-add-mir-to-the-list-of-session-types.patch new file mode 100644 index 00000000..9e966958 --- /dev/null +++ b/0006-login-add-mir-to-the-list-of-session-types.patch @@ -0,0 +1,90 @@ +From 9541666b8d97f107335dd7e3cb93b4d2cfbf19c9 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Wed, 9 Apr 2014 21:22:48 +0200 +Subject: [PATCH] login: add 'mir' to the list of session types + +Add Mir to the list of session types. This is implemented for LightDM +in lp:~robert-ancell/lightdm/xdg-session-desktop [1]. + +[1] https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merge/214108 + +(david: adjusted commit-header and fixed whitespace issues) +--- + man/pam_systemd.xml | 5 +++-- + man/sd_session_is_active.xml | 6 +++--- + src/login/logind-session.c | 1 + + src/login/logind-session.h | 1 + + src/systemd/sd-login.h | 2 +- + 5 files changed, 9 insertions(+), 6 deletions(-) + +diff --git man/pam_systemd.xml man/pam_systemd.xml +index 3022cdb..f973899 100644 +--- man/pam_systemd.xml ++++ man/pam_systemd.xml +@@ -145,8 +145,9 @@ + variable takes precedence. One of + unspecified, + tty, +- x11 or +- wayland. See ++ x11, ++ wayland or ++ mir. See + sd_session_get_type3 + for details about the session type. + +diff --git man/sd_session_is_active.xml man/sd_session_is_active.xml +index ddb2bee..31a6119 100644 +--- man/sd_session_is_active.xml ++++ man/sd_session_is_active.xml +@@ -201,9 +201,9 @@ + be used to determine the type of the session + identified by the specified session identifier. The + returned string is one of x11, +- wayland, tty or +- unspecified and needs to be freed +- with the libc ++ wayland, tty, ++ mir or unspecified and ++ needs to be freed with the libc + free3 + call after use. + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-05-20 12:49:07.150236121 +0000 +@@ -1124,6 +1124,7 @@ static const char* const session_type_ta + [SESSION_TTY] = "tty", + [SESSION_X11] = "x11", + [SESSION_WAYLAND] = "wayland", ++ [SESSION_MIR] = "mir", + [SESSION_UNSPECIFIED] = "unspecified", + }; + +diff --git src/login/logind-session.h src/login/logind-session.h +index c9af5eb..7ecc9f0 100644 +--- src/login/logind-session.h ++++ src/login/logind-session.h +@@ -55,6 +55,7 @@ typedef enum SessionType { + SESSION_TTY, + SESSION_X11, + SESSION_WAYLAND, ++ SESSION_MIR, + _SESSION_TYPE_MAX, + _SESSION_TYPE_INVALID = -1 + } SessionType; +diff --git src/systemd/sd-login.h src/systemd/sd-login.h +index a4ca231..776733a 100644 +--- src/systemd/sd-login.h ++++ src/systemd/sd-login.h +@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat); + /* Determine the (PAM) service name this session was registered by. */ + int sd_session_get_service(const char *session, char **service); + +-/* Determine the type of this session, i.e. one of "tty", "x11" or "unspecified". */ ++/* Determine the type of this session, i.e. one of "tty", "x11", "wayland", "mir" or "unspecified". */ + int sd_session_get_type(const char *session, char **type); + + /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ +-- +1.7.9.2 + diff --git a/0006-login-share-VT-signal-handler-between-sessions.patch b/0006-login-share-VT-signal-handler-between-sessions.patch new file mode 100644 index 00000000..599aa261 --- /dev/null +++ b/0006-login-share-VT-signal-handler-between-sessions.patch @@ -0,0 +1,246 @@ +Based on 92683ad2e28c79891e4123d9a421b018dc58870c Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Mon, 11 Aug 2014 18:17:54 +0200 +Subject: [PATCH] login: share VT-signal handler between sessions + +sd-event does not allow multiple handlers for a single signal. However, +logind sets up signal handlers for each session with VT_PROCESS set (that +is, it has an active controller). Therefore, registering multiple such +controllers will fail. + +Lets make the VT-handler global, as it's mostly trivial, anyway. This way, +the sessions don't have to take care of that and we can simply acknowledge +all VT-switch requests as we always did. +--- + src/libsystemd/sd-event/sd-event.c | 5 +- + src/login/logind-session.c | 26 +------------ + src/login/logind-session.h | 1 + src/login/logind.c | 70 +++++++++++++++++++++++++++++++++++++ + src/shared/util.c | 18 +++++++++ + src/shared/util.h | 1 + 6 files changed, 94 insertions(+), 27 deletions(-) + +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c 2014-08-26 11:02:54.500683967 +0000 +@@ -839,7 +839,6 @@ _public_ int sd_event_add_signal( + assert_return(sig > 0, -EINVAL); + assert_return(sig < _NSIG, -EINVAL); + assert_return(callback, -EINVAL); +- assert_return(ret, -EINVAL); + assert_return(e->state != SD_EVENT_FINISHED, -ESTALE); + assert_return(!event_pid_changed(e), -ECHILD); + +@@ -877,7 +876,9 @@ _public_ int sd_event_add_signal( + } + } + +- *ret = s; ++ if (ret) ++ *ret = s; ++ + return 0; + } + +--- src/login/logind-session.c ++++ src/login/logind-session.c 2014-08-25 17:22:46.000000000 +0000 +@@ -153,8 +153,6 @@ void session_free(Session *s) { + + hashmap_remove(s->manager->sessions, s->id); + +- s->vt_source = sd_event_source_unref(s->vt_source); +- + free(s->state_file); + free(s); + } +@@ -966,19 +964,9 @@ static int session_open_vt(Session *s) { + return s->vtfd; + } + +-static int session_vt_fn(sd_event_source *source, const struct signalfd_siginfo *si, void *data) { +- Session *s = data; +- +- if (s->vtfd >= 0) +- ioctl(s->vtfd, VT_RELDISP, 1); +- +- return 0; +-} +- + int session_mute_vt(Session *s) { + int vt, r; + struct vt_mode mode = { 0 }; +- sigset_t mask; + + if (s->vtnr < 1) + return 0; +@@ -1008,20 +996,12 @@ int session_mute_vt(Session *s) { + goto error; + } + +- sigemptyset(&mask); +- sigaddset(&mask, SIGUSR1); +- sigprocmask(SIG_BLOCK, &mask, NULL); +- +- r = sd_event_add_signal(s->manager->event, &s->vt_source, SIGUSR1, session_vt_fn, s); +- if (r < 0) +- goto error; +- + /* Oh, thanks to the VT layer, VT_AUTO does not work with KD_GRAPHICS. + * So we need a dummy handler here which just acknowledges *all* VT + * switch requests. */ + mode.mode = VT_PROCESS; +- mode.relsig = SIGUSR1; +- mode.acqsig = SIGUSR1; ++ mode.relsig = SIGRTMIN; ++ mode.acqsig = SIGRTMIN + 1; + r = ioctl(vt, VT_SETMODE, &mode); + if (r < 0) { + r = -errno; +@@ -1045,8 +1025,6 @@ void session_restore_vt(Session *s) { + if (vt < 0) + return; + +- s->vt_source = sd_event_source_unref(s->vt_source); +- + ioctl(vt, KDSETMODE, KD_TEXT); + + if (read_one_line_file("/sys/module/vt/parameters/default_utf8", &utf8) >= 0 && *utf8 == '1') +--- src/login/logind-session.h ++++ src/login/logind-session.h 2014-08-25 00:00:00.000000000 +0000 +@@ -98,7 +98,6 @@ struct Session { + Seat *seat; + unsigned int vtnr; + int vtfd; +- sd_event_source *vt_source; + + pid_t leader; + uint32_t audit_id; +--- src/login/logind.c ++++ src/login/logind.c 2014-08-26 11:18:41.422235366 +0000 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + + #include "sd-daemon.h" +@@ -714,6 +715,47 @@ static int manager_connect_bus(Manager * + return 0; + } + ++static int manager_vt_switch(sd_event_source *src, const struct signalfd_siginfo *si, void *data) { ++ Manager *m = data; ++ Session *active, *iter; ++ ++ /* ++ * We got a VT-switch signal and we have to acknowledge it immediately. ++ * Preferably, we'd just use m->seat0->active->vtfd, but unfortunately, ++ * old user-space might run multiple sessions on a single VT, *sigh*. ++ * Therefore, we have to iterate all sessions and find one with a vtfd ++ * on the requested VT. ++ * As only VTs with active controllers have VT_PROCESS set, our current ++ * notion of the active VT might be wrong (for instance if the switch ++ * happens while we setup VT_PROCESS). Therefore, read the current VT ++ * first and then use s->active->vtnr as reference. Note that this is ++ * not racy, as no further VT-switch can happen as long as we're in ++ * synchronous VT_PROCESS mode. ++ */ ++ ++ assert(m->seat0); ++ seat_read_active_vt(m->seat0); ++ ++ active = m->seat0->active; ++ if (!active || active->vtnr < 1) { ++ log_warning("Received VT_PROCESS signal without a registered session on that VT."); ++ return 0; ++ } ++ ++ if (active->vtfd >= 0) { ++ ioctl(active->vtfd, VT_RELDISP, 1); ++ } else { ++ LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { ++ if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { ++ ioctl(iter->vtfd, VT_RELDISP, 1); ++ break; ++ } ++ } ++ } ++ ++ return 0; ++} ++ + static int manager_connect_console(Manager *m) { + int r; + +@@ -744,6 +786,34 @@ static int manager_connect_console(Manag + return r; + } + ++ /* ++ * SIGRTMIN is used as global VT-release signal, SIGRTMIN + 1 is used ++ * as VT-acquire signal. We ignore any acquire-events (yes, we still ++ * have to provide a valid signal-number for it!) and acknowledge all ++ * release events immediately. ++ */ ++ ++ if (SIGRTMIN + 1 > SIGRTMAX) { ++ log_error("Not enough real-time signals available: %u-%u", SIGRTMIN, SIGRTMAX); ++ return -EINVAL; ++ } ++ ++ r = ignore_signals(SIGRTMIN + 1, -1); ++ if (r < 0) { ++ log_error("Cannot ignore SIGRTMIN + 1: %s", strerror(-r)); ++ return r; ++ } ++ ++ r = sigprocmask_many(SIG_BLOCK, SIGRTMIN, -1); ++ if (r < 0) { ++ log_error("Cannot block SIGRTMIN: %s", strerror(-r)); ++ return r; ++ } ++ ++ r = sd_event_add_signal(m->event, NULL, SIGRTMIN, manager_vt_switch, m); ++ if (r < 0) ++ return r; ++ + return 0; + } + +--- src/shared/util.c ++++ src/shared/util.c 2014-08-26 10:20:14.000000000 +0000 +@@ -2434,6 +2434,24 @@ void sigset_add_many(sigset_t *ss, ...) + va_end(ap); + } + ++int sigprocmask_many(int how, ...) { ++ va_list ap; ++ sigset_t ss; ++ int sig; ++ ++ assert_se(sigemptyset(&ss) == 0); ++ ++ va_start(ap, how); ++ while ((sig = va_arg(ap, int)) > 0) ++ assert_se(sigaddset(&ss, sig) == 0); ++ va_end(ap); ++ ++ if (sigprocmask(how, &ss, NULL) < 0) ++ return -errno; ++ ++ return 0; ++} ++ + char* gethostname_malloc(void) { + struct utsname u; + +--- src/shared/util.h ++++ src/shared/util.h 2014-08-26 10:21:08.000000000 +0000 +@@ -390,6 +390,7 @@ char* dirname_malloc(const char *path); + void rename_process(const char name[8]); + + void sigset_add_many(sigset_t *ss, ...); ++int sigprocmask_many(int how, ...); + + bool hostname_is_set(void); + diff --git a/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch b/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch new file mode 100644 index 00000000..4313946b --- /dev/null +++ b/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch @@ -0,0 +1,39 @@ +From 33169701b0640d3629d4c36cf8c71dc26d2cb7e1 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 May 2014 01:33:22 +0200 +Subject: [PATCH] man: clarify that the ExecReload= command should be + synchronous + +http://lists.freedesktop.org/archives/systemd-devel/2014-May/019054.html +--- + man/systemd.service.xml | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git man/systemd.service.xml man/systemd.service.xml +index af32ccb..364ad7d 100644 +--- man/systemd.service.xml ++++ man/systemd.service.xml +@@ -519,6 +519,20 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} + following: + + /bin/kill -HUP $MAINPID ++ ++ Note however that reloading a ++ daemon by sending a signal (as with ++ the example line above) is usually not ++ a good choice, because this is an ++ asynchronous operation and hence not ++ suitable to order reloads of multiple ++ services against each other. It is ++ strongly recommended to set ++ ExecReload= to a ++ command that no only triggers a ++ configuration reload of the daemon, ++ but also synchronously waits for it ++ complete. + + + +-- +1.7.9.2 + diff --git a/0006-parse_boolean-require-exact-matches.patch b/0006-parse_boolean-require-exact-matches.patch new file mode 100644 index 00000000..2c279f99 --- /dev/null +++ b/0006-parse_boolean-require-exact-matches.patch @@ -0,0 +1,48 @@ +From 0f625d0b87139fc18cd565c9b6da05c53a0eb7ab Mon Sep 17 00:00:00 2001 +From: Ansgar Burchardt +Date: Sun, 27 Jul 2014 15:19:00 +0200 +Subject: [PATCH] parse_boolean: require exact matches + +Require exact matches in all cases instead of treating strings +starting with 't' ('f') as true (false). + +This is required for config_parse_protect_system to parse ProtectSystem=full +correctly: it uses parse_boolean and only tries a more specific parsing +function if that did not return a valid result. Thus "full" was treated as +"false" before. +--- + src/shared/util.c | 4 ++-- + src/test/test-util.c | 1 + + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git src/shared/util.c src/shared/util.c +index 4fda31c..49c17ef 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -231,9 +231,9 @@ int unlink_noerrno(const char *path) { + int parse_boolean(const char *v) { + assert(v); + +- if (streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || strcaseeq(v, "on")) ++ if (streq(v, "1") || strcaseeq(v, "yes") || strcaseeq(v, "y") || strcaseeq(v, "true") || strcaseeq(v, "t") || strcaseeq(v, "on")) + return 1; +- else if (streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || strcaseeq(v, "off")) ++ else if (streq(v, "0") || strcaseeq(v, "no") || strcaseeq(v, "n") || strcaseeq(v, "false") || strcaseeq(v, "f") || strcaseeq(v, "off")) + return 0; + + return -EINVAL; +diff --git src/test/test-util.c src/test/test-util.c +index ed91a67..9a28ef9 100644 +--- src/test/test-util.c ++++ src/test/test-util.c +@@ -129,6 +129,7 @@ static void test_parse_boolean(void) { + + assert_se(parse_boolean("garbage") < 0); + assert_se(parse_boolean("") < 0); ++ assert_se(parse_boolean("full") < 0); + } + + static void test_parse_pid(void) { +-- +1.7.9.2 + diff --git a/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch b/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch new file mode 100644 index 00000000..ce18d6c5 --- /dev/null +++ b/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch @@ -0,0 +1,30 @@ +From ebc54302d7fc70927d5dc119e178ff03f6a911ed Mon Sep 17 00:00:00 2001 +From: Peter Rajnoha +Date: Mon, 10 Mar 2014 22:58:14 +0100 +Subject: [PATCH] rules: mark loop device as SYSTEMD_READY=0 if no file is + attached + +Check existence of loop/backing_file in sysfs and mark loop devices with +SYSTEMD_READY if missing. Such loop files is uninitialized and it's not +ready for use yet (there's no file attached). +--- + rules/99-systemd.rules.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in +index 021359a..04a59c4 100644 +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in +@@ -22,6 +22,9 @@ SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_T + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" + ++# Ignore loop devices that don't have any file attached ++SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" ++ + # Ignore nbd devices in the "add" event, with "change" the nbd is ready + ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" + +-- +1.7.9.2 + diff --git a/0006-sd-event-initialization-perturbation-value-right-bef.patch b/0006-sd-event-initialization-perturbation-value-right-bef.patch new file mode 100644 index 00000000..a561cabb --- /dev/null +++ b/0006-sd-event-initialization-perturbation-value-right-bef.patch @@ -0,0 +1,75 @@ +From 52444dc478fe38b5b69a771923ab429a41927aa5 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 24 Mar 2014 23:54:21 +0100 +Subject: [PATCH] sd-event: initialization perturbation value right before we + use it + +That way, we don't forget to initialize it when the watchdog is +initialized before all event sources. +--- + src/libsystemd/sd-event/sd-event.c | 34 +++++++++++++++++++++------------- + 1 file changed, 21 insertions(+), 13 deletions(-) + +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c 2014-03-28 12:44:05.652327044 +0000 +@@ -648,13 +648,31 @@ _public_ int sd_event_add_io( + return 0; + } + ++static void initialize_perturb(sd_event *e) { ++ sd_id128_t bootid = {}; ++ ++ /* When we sleep for longer, we try to realign the wakeup to ++ the same time wihtin each minute/second/250ms, so that ++ events all across the system can be coalesced into a single ++ CPU wakeup. However, let's take some system-specific ++ randomness for this value, so that in a network of systems ++ with synced clocks timer events are distributed a ++ bit. Here, we calculate a perturbation usec offset from the ++ boot ID. */ ++ ++ if (_likely_(e->perturb != (usec_t) -1)) ++ return; ++ ++ if (sd_id128_get_boot(&bootid) >= 0) ++ e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; ++} ++ + static int event_setup_timer_fd( + sd_event *e, + EventSourceType type, + int *timer_fd, + clockid_t id) { + +- sd_id128_t bootid = {}; + struct epoll_event ev = {}; + int r, fd; + +@@ -677,18 +695,6 @@ static int event_setup_timer_fd( + return -errno; + } + +- /* When we sleep for longer, we try to realign the wakeup to +- the same time wihtin each minute/second/250ms, so that +- events all across the system can be coalesced into a single +- CPU wakeup. However, let's take some system-specific +- randomness for this value, so that in a network of systems +- with synced clocks timer events are distributed a +- bit. Here, we calculate a perturbation usec offset from the +- boot ID. */ +- +- if (sd_id128_get_boot(&bootid) >= 0) +- e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; +- + *timer_fd = fd; + return 0; + } +@@ -1506,6 +1512,8 @@ static usec_t sleep_between(sd_event *e, + if (b <= a + 1) + return a; + ++ initialize_perturb(e); ++ + /* + Find a good time to wake up again between times a and b. We + have two goals here: diff --git a/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch b/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch new file mode 100644 index 00000000..0dec2f61 --- /dev/null +++ b/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch @@ -0,0 +1,24 @@ +From 8e8af4cfc7fa373504a22e58966909161acfb72f Mon Sep 17 00:00:00 2001 +From: Emil Renner Berthing +Date: Thu, 18 Sep 2014 15:24:43 +0200 +Subject: [PATCH] shared/sparse-endian.h: add missing byteswap.h include + +--- + src/shared/sparse-endian.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/sparse-endian.h src/shared/sparse-endian.h +index eb4dbf3..c913fda 100644 +--- src/shared/sparse-endian.h ++++ src/shared/sparse-endian.h +@@ -21,6 +21,7 @@ + #ifndef SPARSE_ENDIAN_H + #define SPARSE_ENDIAN_H + ++#include + #include + #include + +-- +1.7.9.2 + diff --git a/0006-systemctl-fix-resource-leak-CID-1237747.patch b/0006-systemctl-fix-resource-leak-CID-1237747.patch new file mode 100644 index 00000000..f8ec6af1 --- /dev/null +++ b/0006-systemctl-fix-resource-leak-CID-1237747.patch @@ -0,0 +1,35 @@ +From 48a2900c6612052149a1d0dd88aeacb99b49ce4d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Wed, 17 Sep 2014 21:56:25 -0300 +Subject: [PATCH] systemctl: fix resource leak CID #1237747 + +..by simply moving the declaration of "unit" into the STRV_FOREACH +loop as suggested by Andreas. +--- + src/systemctl/systemctl.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 88be871..9012128 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -4449,7 +4449,6 @@ static int show(sd_bus *bus, char **args) { + } + + static int cat(sd_bus *bus, char **args) { +- _cleanup_free_ char *unit = NULL; + _cleanup_strv_free_ char **names = NULL; + char **name; + bool first = true; +@@ -4468,6 +4467,8 @@ static int cat(sd_bus *bus, char **args) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + _cleanup_strv_free_ char **dropin_paths = NULL; + _cleanup_free_ char *fragment_path = NULL; ++ _cleanup_free_ char *unit = NULL; ++ + char **path; + + unit = unit_dbus_path_from_name(*name); +-- +1.7.9.2 + diff --git a/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch b/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch new file mode 100644 index 00000000..b1fc0988 --- /dev/null +++ b/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch @@ -0,0 +1,37 @@ +Based on b4af5a803aa71a57733ca46fef29b7afb20a626c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 17:33:26 +0200 +Subject: [PATCH] systemctl: show StatusErrno value in "systemctl status" + +--- + src/systemctl/systemctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-07-08 10:57:30.170735691 +0000 +@@ -2710,6 +2710,7 @@ typedef struct UnitStatusInfo { + const char *status_text; + const char *pid_file; + bool running:1; ++ int status_errno; + + usec_t start_timestamp; + usec_t exit_timestamp; +@@ -2982,6 +2983,8 @@ static void print_status_info( + + if (i->status_text) + printf(" Status: \"%s\"\n", i->status_text); ++ if (i->status_errno > 0) ++ printf(" Error: %i (%s)\n", i->status_errno, strerror(i->status_errno)); + + if (i->control_group && + (i->main_pid > 0 || i->control_pid > 0 || cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, i->control_group, false) == 0)) { +@@ -3203,6 +3206,8 @@ static int status_property(const char *n + i->exit_code = (int) j; + else if (streq(name, "ExecMainStatus")) + i->exit_status = (int) j; ++ else if (streq(name, "StatusErrno")) ++ i->status_errno = (int) j; + + break; + } diff --git a/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch b/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch new file mode 100644 index 00000000..8647f1e1 --- /dev/null +++ b/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch @@ -0,0 +1,26 @@ +Based on 6fc27667950fe153033f0f49cb5b57e8954c3e54 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 30 Jun 2014 19:06:18 +0200 +Subject: [PATCH] tmpfiles: don't do automatic cleanup in $XDG_RUNTIME_DIR + +Now that logind will clean up all IPC resources of a user we should +really consider $XDG_RUNTIME_DIR as just another kind of IPC with the +same life-cycle logic as the other IPC resources. This should be safe +now to do since every user gets his own $XDG_RUNTIME_DIR tmpfs instance +with a fixed size limit, so that flooding of it will more effectively be +averted. +--- + tmpfiles.d/systemd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- tmpfiles.d/systemd.conf ++++ tmpfiles.d/systemd.conf 2014-07-01 12:31:01.858735866 +0000 +@@ -7,7 +7,7 @@ + + # See tmpfiles.d(5) for details + +-d /run/user 0755 root root ~10d ++d /run/user 0755 root root - + F! /run/utmp 0664 root utmp - + + f /var/log/wtmp 0664 root utmp - diff --git a/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch b/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch new file mode 100644 index 00000000..aa77e4cc --- /dev/null +++ b/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch @@ -0,0 +1,26 @@ +From 267b3e41df5a2181f2911433539f81de2fa1511a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Thu, 29 May 2014 14:17:37 -0400 +Subject: [PATCH] tty-ask-password-agent: Do tell what directory we failed to + open + +--- + .../tty-ask-password-agent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 3203474..55a2215 100644 +--- src/tty-ask-password-agent/tty-ask-password-agent.c ++++ src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -501,7 +501,7 @@ static int show_passwords(void) { + if (errno == ENOENT) + return 0; + +- log_error("opendir(): %m"); ++ log_error("opendir(/run/systemd/ask-password): %m"); + return -errno; + } + +-- +1.7.9.2 + diff --git a/0007-README-document-that-var-run-must-be-a-symlink-run.patch b/0007-README-document-that-var-run-must-be-a-symlink-run.patch new file mode 100644 index 00000000..4b8b4384 --- /dev/null +++ b/0007-README-document-that-var-run-must-be-a-symlink-run.patch @@ -0,0 +1,30 @@ +From 47bc23c18cbc87471dc832534c8565625e4a9d16 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 02:54:37 +0100 +Subject: [PATCH] =?UTF-8?q?README:=20document=20that=20/var/run=20must=20be=20?= + =?UTF-8?q?a=20symlink=20=E2=86=92=20/run?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + README | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git README README +index b918132..7a227e7 100644 +--- README ++++ README +@@ -190,6 +190,9 @@ WARNINGS: + about this, since this kind of file system setup is not really + supported anymore by the basic set of Linux OS components. + ++ systemd requires that the /run mount point exists. systemd also ++ requires that /var/run is a a symlink → /run. ++ + For more information on this issue consult + http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken + +-- +1.7.9.2 + diff --git a/0007-core-fix-a-potential-mem-leak.patch b/0007-core-fix-a-potential-mem-leak.patch new file mode 100644 index 00000000..03003901 --- /dev/null +++ b/0007-core-fix-a-potential-mem-leak.patch @@ -0,0 +1,25 @@ +Based on 4d5e13a125cf8d77d432225ab69826caa1d1cf59 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 13 Sep 2014 12:35:06 +0200 +Subject: [PATCH] core: fix a potential mem leak + +Found with Coverity. Fixes: CID#996438 +--- + src/core/load-fragment.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/core/load-fragment.c ++++ src/core/load-fragment.c 2014-09-16 10:35:13.354235607 +0000 +@@ -1294,8 +1294,11 @@ int config_parse_timer(const char *unit, + } + + v = new0(TimerValue, 1); +- if (!v) ++ if (!v) { ++ if (c) ++ free(c); + return log_oom(); ++ } + + v->base = b; + v->clock_id = id; diff --git a/0007-dbus-suppress-duplicate-and-misleading-messages.patch b/0007-dbus-suppress-duplicate-and-misleading-messages.patch new file mode 100644 index 00000000..c4051609 --- /dev/null +++ b/0007-dbus-suppress-duplicate-and-misleading-messages.patch @@ -0,0 +1,66 @@ +From fe7f06f142cf42928e419d8578afd75bf1439672 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 11 Mar 2014 04:10:19 +0100 +Subject: [PATCH] dbus: suppress duplicate and misleading messages + +When we try to send a signal on a connection we didn't hae the time to +process the Disconnected message yet, don't generate multiple warning +messages, but only a single debug message. + +https://bugs.freedesktop.org/show_bug.cgi?id=75874 +--- + src/core/dbus-manager.c | 7 +++++-- + src/core/dbus-unit.c | 12 ++---------- + 2 files changed, 7 insertions(+), 12 deletions(-) + +diff --git src/core/dbus-manager.c src/core/dbus-manager.c +index 34ef1f5..30f28b6 100644 +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c +@@ -1357,8 +1357,11 @@ static int reply_unit_file_changes_and_f + unsigned i; + int r; + +- if (n_changes > 0) +- bus_manager_foreach_client(m, send_unit_files_changed, NULL); ++ if (n_changes > 0) { ++ r = bus_manager_foreach_client(m, send_unit_files_changed, NULL); ++ if (r < 0) ++ log_debug("Failed to send UnitFilesChanged signal: %s", strerror(-r)); ++ } + + r = sd_bus_message_new_method_return(message, &reply); + if (r < 0) +diff --git src/core/dbus-unit.c src/core/dbus-unit.c +index 515ac8b..07e7f20 100644 +--- src/core/dbus-unit.c ++++ src/core/dbus-unit.c +@@ -638,21 +638,13 @@ static int send_changed_signal(sd_bus *bus, void *userdata) { + bus, p, + UNIT_VTABLE(u)->bus_interface, + NULL); +- if (r < 0) { +- log_warning("Failed to send out specific PropertiesChanged signal for %s: %s", u->id, strerror(-r)); ++ if (r < 0) + return r; +- } + +- r = sd_bus_emit_properties_changed_strv( ++ return sd_bus_emit_properties_changed_strv( + bus, p, + "org.freedesktop.systemd1.Unit", + NULL); +- if (r < 0) { +- log_warning("Failed to send out generic PropertiesChanged signal for %s: %s", u->id, strerror(-r)); +- return r; +- } +- +- return 0; + } + + void bus_unit_send_change_signal(Unit *u) { +-- +1.7.9.2 + +--- src/core/dbus-manager.c ++++ src/core/dbus-manager.c 2014-03-11 11:05:44.350235568 +0000 diff --git a/0007-drop_duplicates-copy-full-BindMount-struct.patch b/0007-drop_duplicates-copy-full-BindMount-struct.patch new file mode 100644 index 00000000..434f119d --- /dev/null +++ b/0007-drop_duplicates-copy-full-BindMount-struct.patch @@ -0,0 +1,31 @@ +From e2d7c1a0758ce80d7cb439745deefefdffd67655 Mon Sep 17 00:00:00 2001 +From: Ansgar Burchardt +Date: Sun, 27 Jul 2014 16:32:13 +0200 +Subject: [PATCH] drop_duplicates: copy full BindMount struct + +At least + + t->ignore = f->ignore; + +is missing here. Just copy the full struct to be sure. +--- + src/core/namespace.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git src/core/namespace.c src/core/namespace.c +index 5466b7b..fe95377 100644 +--- src/core/namespace.c ++++ src/core/namespace.c +@@ -124,8 +124,7 @@ static void drop_duplicates(BindMount *m, unsigned *n) { + if (previous && path_equal(f->path, previous->path)) + continue; + +- t->path = f->path; +- t->mode = f->mode; ++ *t = *f; + + previous = t; + +-- +1.7.9.2 + diff --git a/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..7b77e2ab --- /dev/null +++ b/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,49 @@ +From 063e36db8aed7b54100b33089deb6d2e86d516b9 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Thu, 3 Jul 2014 16:13:48 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 377748a..9f3136a 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -1045,7 +1045,31 @@ bluetooth:v0159* + ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. + + bluetooth:v015A* +- ID_VENDOR_FROM_DATABASE=micus AG ++ ID_VENDOR_FROM_DATABASE=micas AG + + bluetooth:v015B* + ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. ++ ++bluetooth:v015C* ++ ID_VENDOR_FROM_DATABASE=Pitius Tec S.L. ++ ++bluetooth:v015D* ++ ID_VENDOR_FROM_DATABASE=Estimote, Inc. ++ ++bluetooth:v015E* ++ ID_VENDOR_FROM_DATABASE=Unikey Technologies, Inc. ++ ++bluetooth:v015F* ++ ID_VENDOR_FROM_DATABASE=Timer Cap Co. ++ ++bluetooth:v0160* ++ ID_VENDOR_FROM_DATABASE=AwoX ++ ++bluetooth:v0161* ++ ID_VENDOR_FROM_DATABASE=yikes ++ ++bluetooth:v0162* ++ ID_VENDOR_FROM_DATABASE=MADSGlobal NZ Ltd. ++ ++bluetooth:v0163* ++ ID_VENDOR_FROM_DATABASE=PCH International +-- +1.7.9.2 + diff --git a/0007-hwdb-update.patch b/0007-hwdb-update.patch new file mode 100644 index 00000000..462cdb4a --- /dev/null +++ b/0007-hwdb-update.patch @@ -0,0 +1,1910 @@ +Based on bd64a88fb0478da2e93c363849b73aed8be36ae7 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 31 Jul 2014 23:06:04 +0200 +Subject: [PATCH] hwdb: update + +--- + 20-OUI.hwdb | 380 +++++++++++++++++++++++++++++++++++++++++++++-- + 20-pci-vendor-model.hwdb | 35 +++- + 20-usb-vendor-model.hwdb | 208 +++++++++++++++++++++++-- + 3 files changed, 586 insertions(+), 37 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index 97f1e6b..f9501be 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -23288,7 +23288,7 @@ OUI:000CB1* + ID_OUI_FROM_DATABASE=Salland Engineering (Europe) BV + + OUI:000CB2* +- ID_OUI_FROM_DATABASE=Comstar Co., Ltd. ++ ID_OUI_FROM_DATABASE=UNION co., ltd. + + OUI:000CB3* + ID_OUI_FROM_DATABASE=ROUND Co.,Ltd. +@@ -23528,7 +23528,7 @@ OUI:000D01* + ID_OUI_FROM_DATABASE=P&E Microcomputer Systems, Inc. + + OUI:000D02* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:000D03* + ID_OUI_FROM_DATABASE=Matrics, Inc. +@@ -30311,7 +30311,7 @@ OUI:0015DF* + ID_OUI_FROM_DATABASE=Clivet S.p.A. + + OUI:0015E0* +- ID_OUI_FROM_DATABASE=ST-Ericsson ++ ID_OUI_FROM_DATABASE=Ericsson + + OUI:0015E1* + ID_OUI_FROM_DATABASE=Picochip Ltd +@@ -32375,7 +32375,7 @@ OUI:001893* + ID_OUI_FROM_DATABASE=SHENZHEN PHOTON BROADBAND TECHNOLOGY CO.,LTD + + OUI:001894* +- ID_OUI_FROM_DATABASE=zimocom ++ ID_OUI_FROM_DATABASE=NPCore, Inc. + + OUI:001895* + ID_OUI_FROM_DATABASE=Hansun Technologies Inc. +@@ -33887,7 +33887,7 @@ OUI:001A8B* + ID_OUI_FROM_DATABASE=CHUNIL ELECTRIC IND., CO. + + OUI:001A8C* +- ID_OUI_FROM_DATABASE=Astaro AG ++ ID_OUI_FROM_DATABASE=Sophos Ltd + + OUI:001A8D* + ID_OUI_FROM_DATABASE=AVECS Bergen GmbH +@@ -34652,7 +34652,7 @@ OUI:001B8A* + ID_OUI_FROM_DATABASE=2M Electronic A/S + + OUI:001B8B* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:001B8C* + ID_OUI_FROM_DATABASE=JMicron Technology Corp. +@@ -35066,7 +35066,7 @@ OUI:001C14* + ID_OUI_FROM_DATABASE=VMware, Inc + + OUI:001C15* +- ID_OUI_FROM_DATABASE=TXP Corporation ++ ID_OUI_FROM_DATABASE=iPhotonix LLC + + OUI:001C16* + ID_OUI_FROM_DATABASE=ThyssenKrupp Elevator +@@ -35975,7 +35975,7 @@ OUI:001D43* + ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. + + OUI:001D44* +- ID_OUI_FROM_DATABASE=KROHNE ++ ID_OUI_FROM_DATABASE=KROHNE Messtechnik GmbH + + OUI:001D45* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +@@ -36863,7 +36863,7 @@ OUI:001E6B* + ID_OUI_FROM_DATABASE=Cisco SPVTG + + OUI:001E6C* +- ID_OUI_FROM_DATABASE=Carbon Mountain LLC ++ ID_OUI_FROM_DATABASE=Opaque Systems + + OUI:001E6D* + ID_OUI_FROM_DATABASE=IT R&D Center +@@ -38471,7 +38471,7 @@ OUI:002084* + ID_OUI_FROM_DATABASE=OCE PRINTING SYSTEMS, GMBH + + OUI:002085* +- ID_OUI_FROM_DATABASE=EXIDE ELECTRONICS ++ ID_OUI_FROM_DATABASE=Eaton Corporation + + OUI:002086* + ID_OUI_FROM_DATABASE=MICROTECH ELECTRONICS LIMITED +@@ -44312,7 +44312,7 @@ OUI:003A9C* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:003A9D* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:003AAF* + ID_OUI_FROM_DATABASE=BlueBit Ltd. +@@ -46394,7 +46394,7 @@ OUI:0060B8* + ID_OUI_FROM_DATABASE=CORELIS Inc. + + OUI:0060B9* +- ID_OUI_FROM_DATABASE=NEC Infrontia Corporation ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd + + OUI:0060BA* + ID_OUI_FROM_DATABASE=SAHARA NETWORKS, INC. +@@ -49015,6 +49015,9 @@ OUI:00A1DE* + OUI:00A2DA* + ID_OUI_FROM_DATABASE=INAT GmbH + ++OUI:00A2F5* ++ ID_OUI_FROM_DATABASE=Guangzhou Yuanyun Network Technology Co.,Ltd ++ + OUI:00A2FF* + ID_OUI_FROM_DATABASE=abatec group AG + +@@ -49036,6 +49039,9 @@ OUI:00AA70* + OUI:00ACE0* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:00AEFA* ++ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. ++ + OUI:00B009* + ID_OUI_FROM_DATABASE=Grass Valley Group + +@@ -51613,6 +51619,9 @@ OUI:00F403* + OUI:00F4B9* + ID_OUI_FROM_DATABASE=Apple + ++OUI:00F76F* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:00F860* + ID_OUI_FROM_DATABASE=PT. Panggung Electric Citrabuana + +@@ -51844,6 +51853,9 @@ OUI:0494A1* + OUI:0498F3* + ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd. + ++OUI:0499E6* ++ ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd ++ + OUI:049C62* + ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. + +@@ -52423,6 +52435,9 @@ OUI:0808C2* + OUI:0808EA* + ID_OUI_FROM_DATABASE=AMSC + ++OUI:0809B6* ++ ID_OUI_FROM_DATABASE=Masimo Corp ++ + OUI:080C0B* + ID_OUI_FROM_DATABASE=SysMik GmbH Dresden + +@@ -52438,6 +52453,9 @@ OUI:080EA8* + OUI:080FFA* + ID_OUI_FROM_DATABASE=KSP INC. + ++OUI:08115E* ++ ID_OUI_FROM_DATABASE=Bitel Co., Ltd. ++ + OUI:081196* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -52597,6 +52615,9 @@ OUI:087D21* + OUI:088039* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:0881BC* ++ ID_OUI_FROM_DATABASE=HongKong Ipro Technology Co., Limited ++ + OUI:0881F4* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -52693,6 +52714,9 @@ OUI:08E5DA* + OUI:08E672* + ID_OUI_FROM_DATABASE=JEBSEE ELECTRONICS CO.,LTD. + ++OUI:08E84F* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:08EA44* + ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. + +@@ -52759,6 +52783,9 @@ OUI:0C17F1* + OUI:0C191F* + ID_OUI_FROM_DATABASE=Inform Electronik + ++OUI:0C1DAF* ++ ID_OUI_FROM_DATABASE=Beijing Xiaomi communications co.,ltd ++ + OUI:0C1DC2* + ID_OUI_FROM_DATABASE=SeAH Networks + +@@ -53080,6 +53107,9 @@ OUI:1001CA* + OUI:1005CA* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:1008B1* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:10090C* + ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. + +@@ -53200,6 +53230,9 @@ OUI:104B46* + OUI:104D77* + ID_OUI_FROM_DATABASE=Innovative Computer Engineering + ++OUI:104E07* ++ ID_OUI_FROM_DATABASE=Shanghai Genvision Industries Co.,Ltd ++ + OUI:105172* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + +@@ -53234,7 +53267,7 @@ OUI:1065CF* + ID_OUI_FROM_DATABASE=IQSIM + + OUI:106682* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:10683F* + ID_OUI_FROM_DATABASE=LG Electronics +@@ -53668,6 +53701,9 @@ OUI:14F42A* + OUI:14F65A* + ID_OUI_FROM_DATABASE=Xiaomi inc. + ++OUI:14F893* ++ ID_OUI_FROM_DATABASE=Wuhan FiberHome Digital Technology Co.,Ltd. ++ + OUI:14FEAF* + ID_OUI_FROM_DATABASE=SAGITTAR LIMITED + +@@ -54190,6 +54226,9 @@ OUI:1C7C45* + OUI:1C7CC7* + ID_OUI_FROM_DATABASE=Coriant GmbH + ++OUI:1C7E51* ++ ID_OUI_FROM_DATABASE=3bumen.com ++ + OUI:1C7EE5* + ID_OUI_FROM_DATABASE=D-Link International + +@@ -54220,6 +54259,9 @@ OUI:1C955D* + OUI:1C959F* + ID_OUI_FROM_DATABASE=Veethree Electronics And Marine LLC + ++OUI:1C965A* ++ ID_OUI_FROM_DATABASE=Weifang goertek Electronics CO.,LTD ++ + OUI:1C973D* + ID_OUI_FROM_DATABASE=PRICOM Design + +@@ -54229,6 +54271,9 @@ OUI:1C994C* + OUI:1C9C26* + ID_OUI_FROM_DATABASE=Zoovel Technologies + ++OUI:1C9ECB* ++ ID_OUI_FROM_DATABASE=Beijing Nari Smartchip Microelectronics Company Limited ++ + OUI:1CA2B1* + ID_OUI_FROM_DATABASE=ruwido austria gmbh + +@@ -54254,7 +54299,7 @@ OUI:1CB094* + ID_OUI_FROM_DATABASE=HTC Corporation + + OUI:1CB17F* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:1CB243* + ID_OUI_FROM_DATABASE=TDC A/S +@@ -54478,6 +54523,9 @@ OUI:2074CF* + OUI:207600* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + ++OUI:207693* ++ ID_OUI_FROM_DATABASE=Lenovo (Beijing) Limited. ++ + OUI:207C8F* + ID_OUI_FROM_DATABASE=Quanta Microsystems,Inc. + +@@ -54766,6 +54814,9 @@ OUI:249442* + OUI:249504* + ID_OUI_FROM_DATABASE=SFR + ++OUI:2497ED* ++ ID_OUI_FROM_DATABASE=Techvision Intelligent Technology Limited ++ + OUI:24A2E1* + ID_OUI_FROM_DATABASE=Apple, Inc + +@@ -55306,6 +55357,9 @@ OUI:2C27D7* + OUI:2C282D* + ID_OUI_FROM_DATABASE=BBK COMMUNICATIAO TECHNOLOGY CO.,LTD. + ++OUI:2C2997* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:2C2D48* + ID_OUI_FROM_DATABASE=bct electronic GesmbH + +@@ -55327,6 +55381,9 @@ OUI:2C36F8* + OUI:2C3731* + ID_OUI_FROM_DATABASE=ShenZhen Yifang Digital Technology Co.,LTD + ++OUI:2C3796* ++ ID_OUI_FROM_DATABASE=CYBO CO.,LTD. ++ + OUI:2C3996* + ID_OUI_FROM_DATABASE=SAGEMCOM + +@@ -55390,6 +55447,9 @@ OUI:2C5D93* + OUI:2C5FF3* + ID_OUI_FROM_DATABASE=Pertronic Industries + ++OUI:2C600C* ++ ID_OUI_FROM_DATABASE=QUANTA COMPUTER INC. ++ + OUI:2C625A* + ID_OUI_FROM_DATABASE=Finest Security Systems Co., Ltd + +@@ -55549,12 +55609,18 @@ OUI:2CEDEB* + OUI:2CEE26* + ID_OUI_FROM_DATABASE=Petroleum Geo-Services + ++OUI:2CF0EE* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:2CF203* + ID_OUI_FROM_DATABASE=EMKO ELEKTRONIK SAN VE TIC AS + + OUI:2CF4C5* + ID_OUI_FROM_DATABASE=Avaya, Inc + ++OUI:2CF7F1* ++ ID_OUI_FROM_DATABASE=Seeed Technology Inc. ++ + OUI:2CFAA2* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + +@@ -55570,6 +55636,9 @@ OUI:300D2A* + OUI:300ED5* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd + ++OUI:3010B3* ++ ID_OUI_FROM_DATABASE=Liteon Technology Corporation ++ + OUI:3010E4* + ID_OUI_FROM_DATABASE=Apple, Inc. + +@@ -55711,6 +55780,9 @@ OUI:307512* + OUI:30766F* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:3077CB* ++ ID_OUI_FROM_DATABASE=Maike Industry(Shenzhen)CO.,LTD ++ + OUI:30786B* + ID_OUI_FROM_DATABASE=TIANJIN Golden Pentagon Electronics Co., Ltd. + +@@ -55831,6 +55903,9 @@ OUI:30F7D7* + OUI:30F9ED* + ID_OUI_FROM_DATABASE=Sony Corporation + ++OUI:30FAB7* ++ ID_OUI_FROM_DATABASE=Tunai Creative ++ + OUI:30FD11* + ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. + +@@ -55909,6 +55984,9 @@ OUI:344B3D* + OUI:344B50* + ID_OUI_FROM_DATABASE=ZTE Corporation + ++OUI:344DEA* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:344DF7* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -55942,6 +56020,9 @@ OUI:346178* + OUI:346288* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:3464A9* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:34684A* + ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. + +@@ -56152,6 +56233,9 @@ OUI:34E2FD* + OUI:34E42A* + ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. + ++OUI:34E6AD* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:34EF44* + ID_OUI_FROM_DATABASE=2Wire + +@@ -56200,6 +56284,9 @@ OUI:380B40* + OUI:380DD4* + ID_OUI_FROM_DATABASE=Primax Electronics LTD. + ++OUI:380E7B* ++ ID_OUI_FROM_DATABASE=V.P.S. Thai Co., Ltd ++ + OUI:380F4A* + ID_OUI_FROM_DATABASE=Apple + +@@ -56989,6 +57076,9 @@ OUI:40984E* + OUI:40987B* + ID_OUI_FROM_DATABASE=Aisino Corporation + ++OUI:409B0D* ++ ID_OUI_FROM_DATABASE=Shenzhen Yourf Kwan Industrial Co., Ltd ++ + OUI:409FC7* + ID_OUI_FROM_DATABASE=BAEKCHUN I&C Co., Ltd. + +@@ -57367,6 +57457,9 @@ OUI:44C56F* + OUI:44C9A2* + ID_OUI_FROM_DATABASE=Greenwald Industries + ++OUI:44CE7D* ++ ID_OUI_FROM_DATABASE=SFR ++ + OUI:44D15E* + ID_OUI_FROM_DATABASE=Shanghai Kingto Information Technology Ltd + +@@ -57703,6 +57796,9 @@ OUI:4C1480* + OUI:4C14A3* + ID_OUI_FROM_DATABASE=TCL Technoly Electronics (Huizhou) Co., Ltd. + ++OUI:4C16F1* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:4C17EB* + ID_OUI_FROM_DATABASE=SAGEMCOM + +@@ -57730,6 +57826,9 @@ OUI:4C26E7* + OUI:4C2C80* + ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd + ++OUI:4C2C83* ++ ID_OUI_FROM_DATABASE=Zhejiang KaNong Network Technology Co.,Ltd. ++ + OUI:4C2F9D* + ID_OUI_FROM_DATABASE=ICM Controls + +@@ -57754,6 +57853,9 @@ OUI:4C3B74* + OUI:4C3C16* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:4C48DA* ++ ID_OUI_FROM_DATABASE=Beijing Autelan Technology Co.,Ltd ++ + OUI:4C4B68* + ID_OUI_FROM_DATABASE=Mobile Device, Inc. + +@@ -57943,6 +58045,9 @@ OUI:4CDF3D* + OUI:4CE1BB* + ID_OUI_FROM_DATABASE=Zhuhai HiFocus Technology Co., Ltd. + ++OUI:4CE2F1* ++ ID_OUI_FROM_DATABASE=sclak srl ++ + OUI:4CE676* + ID_OUI_FROM_DATABASE=Buffalo Inc. + +@@ -58459,6 +58564,9 @@ OUI:549F35* + OUI:54A04F* + ID_OUI_FROM_DATABASE=t-mac Technologies Ltd + ++OUI:54A050* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:54A31B* + ID_OUI_FROM_DATABASE=Shenzhen Linkworld Technology Co,.LTD + +@@ -58525,6 +58633,9 @@ OUI:54E3B0* + OUI:54E43A* + ID_OUI_FROM_DATABASE=Apple, Inc. + ++OUI:54E4BD* ++ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED ++ + OUI:54E63F* + ID_OUI_FROM_DATABASE=ShenZhen LingKeWeiEr Technology Co., Ltd. + +@@ -58603,6 +58714,9 @@ OUI:581FAA* + OUI:581FEF* + ID_OUI_FROM_DATABASE=Tuttnaer LTD + ++OUI:582136* ++ ID_OUI_FROM_DATABASE=KMB systems, s.r.o. ++ + OUI:58238C* + ID_OUI_FROM_DATABASE=Technicolor CH USA + +@@ -58705,6 +58819,9 @@ OUI:587BE9* + OUI:587E61* + ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd + ++OUI:587FB7* ++ ID_OUI_FROM_DATABASE=SONAR INDUSTRIAL CO., LTD. ++ + OUI:587FC8* + ID_OUI_FROM_DATABASE=S2M + +@@ -58903,6 +59020,9 @@ OUI:5C260A* + OUI:5C2AEF* + ID_OUI_FROM_DATABASE=Open Access Pty Ltd + ++OUI:5C2BF5* ++ ID_OUI_FROM_DATABASE=Vivint ++ + OUI:5C2E59* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -59020,6 +59140,9 @@ OUI:5C95AE* + OUI:5C969D* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C97F3* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:5C9AD8* + ID_OUI_FROM_DATABASE=Fujitsu Limited + +@@ -59032,6 +59155,9 @@ OUI:5CA3EB* + OUI:5CA48A* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:5CAAFD* ++ ID_OUI_FROM_DATABASE=Sonos, Inc. ++ + OUI:5CAC4C* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -59167,6 +59293,9 @@ OUI:600308* + OUI:600347* + ID_OUI_FROM_DATABASE=Billion Electric Co. Ltd. + ++OUI:600417* ++ ID_OUI_FROM_DATABASE=POSBANK CO.,LTD ++ + OUI:600F77* + ID_OUI_FROM_DATABASE=SilverPlus, Inc + +@@ -59407,6 +59536,9 @@ OUI:60C547* + OUI:60C5A8* + ID_OUI_FROM_DATABASE=Beijing LT Honway Technology Co.,Ltd + ++OUI:60C798* ++ ID_OUI_FROM_DATABASE=Verifone, Inc. ++ + OUI:60C980* + ID_OUI_FROM_DATABASE=Trymus + +@@ -59947,6 +60079,9 @@ OUI:6828BA* + OUI:682DDC* + ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD + ++OUI:6836B5* ++ ID_OUI_FROM_DATABASE=DriveScale, Inc. ++ + OUI:683B1E* + ID_OUI_FROM_DATABASE=Countwise LTD + +@@ -60007,6 +60142,9 @@ OUI:686E48* + OUI:687251* + ID_OUI_FROM_DATABASE=Ubiquiti Networks + ++OUI:6872DC* ++ ID_OUI_FROM_DATABASE=CETORY.TV Company Limited ++ + OUI:68764F* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + +@@ -60097,6 +60235,9 @@ OUI:68AAD2* + OUI:68AB8A* + ID_OUI_FROM_DATABASE=RF IDeas + ++OUI:68AE20* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:68AF13* + ID_OUI_FROM_DATABASE=Futura Mobility + +@@ -60202,6 +60343,9 @@ OUI:6C0460* + OUI:6C09D6* + ID_OUI_FROM_DATABASE=Digiquest Electronics LTD + ++OUI:6C0B84* ++ ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co.,Ltd. ++ + OUI:6C0E0D* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + +@@ -60268,6 +60412,9 @@ OUI:6C3E6D* + OUI:6C3E9C* + ID_OUI_FROM_DATABASE=KE Knestel Elektronik GmbH + ++OUI:6C4008* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:6C40C6* + ID_OUI_FROM_DATABASE=Nimbus Data Systems, Inc. + +@@ -60850,6 +60997,12 @@ OUI:70F927* + OUI:70F96D* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:70FC8C* ++ ID_OUI_FROM_DATABASE=OneAccess SA ++ ++OUI:70FF5C* ++ ID_OUI_FROM_DATABASE=Cheerzing Communication(Xiamen)Technology Co.,Ltd ++ + OUI:70FF76* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -60967,6 +61120,9 @@ OUI:746F3D* + OUI:7472F2* + ID_OUI_FROM_DATABASE=Chipsip Technology Co., Ltd. + ++OUI:747548* ++ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. ++ + OUI:747818* + ID_OUI_FROM_DATABASE=ServiceAssure + +@@ -61117,6 +61273,9 @@ OUI:74E537* + OUI:74E543* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + ++OUI:74E6E2* ++ ID_OUI_FROM_DATABASE=Dell Inc. ++ + OUI:74E7C6* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -61921,6 +62080,9 @@ OUI:8005DF* + OUI:8007A2* + ID_OUI_FROM_DATABASE=Esson Technology Inc. + ++OUI:800902* ++ ID_OUI_FROM_DATABASE=Keysight Technologies, Inc. ++ + OUI:800A06* + ID_OUI_FROM_DATABASE=COMTEC co.,ltd + +@@ -61945,6 +62107,9 @@ OUI:8018A7* + OUI:801934* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:801967* ++ ID_OUI_FROM_DATABASE=Shanghai Reallytek Information Technology Co.,Ltd ++ + OUI:801DAA* + ID_OUI_FROM_DATABASE=Avaya Inc + +@@ -61972,6 +62137,9 @@ OUI:802FDE* + OUI:803457* + ID_OUI_FROM_DATABASE=OT Systems Limited + ++OUI:803773* ++ ID_OUI_FROM_DATABASE=Netgear Inc ++ + OUI:8038FD* + ID_OUI_FROM_DATABASE=LeapFrog Enterprises, Inc. + +@@ -62146,6 +62314,9 @@ OUI:80BAE6* + OUI:80BBEB* + ID_OUI_FROM_DATABASE=Satmap Systems Ltd + ++OUI:80BE05* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:80C16E* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -62236,6 +62407,9 @@ OUI:841715* + OUI:841766* + ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd + ++OUI:841826* ++ ID_OUI_FROM_DATABASE=Osram GmbH ++ + OUI:84183A* + ID_OUI_FROM_DATABASE=Ruckus Wireless + +@@ -62365,6 +62539,9 @@ OUI:84742A* + OUI:847616* + ID_OUI_FROM_DATABASE=Addat S.r.o. + ++OUI:84788B* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:8478AC* + ID_OUI_FROM_DATABASE=Cisco + +@@ -62506,6 +62683,9 @@ OUI:84E714* + OUI:84EA99* + ID_OUI_FROM_DATABASE=Vieworks + ++OUI:84EB18* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:84ED33* + ID_OUI_FROM_DATABASE=BBMC Co.,Ltd + +@@ -62641,6 +62821,9 @@ OUI:88685C* + OUI:886B76* + ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD + ++OUI:88708C* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:887398* + ID_OUI_FROM_DATABASE=K2E Tekpoint + +@@ -62746,6 +62929,9 @@ OUI:88C626* + OUI:88C663* + ID_OUI_FROM_DATABASE=Apple + ++OUI:88C9D0* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:88CB87* + ID_OUI_FROM_DATABASE=Apple + +@@ -63082,6 +63268,9 @@ OUI:8CDE52* + OUI:8CDE99* + ID_OUI_FROM_DATABASE=Comlab Inc. + ++OUI:8CDF9D* ++ ID_OUI_FROM_DATABASE=NEC Corporation ++ + OUI:8CE081* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -63133,6 +63322,12 @@ OUI:900D66* + OUI:900DCB* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + ++OUI:90179B* ++ ID_OUI_FROM_DATABASE=Nanomegas ++ ++OUI:9017AC* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:90185E* + ID_OUI_FROM_DATABASE=Apex Tool Group GmbH & Co OHG + +@@ -63166,12 +63361,18 @@ OUI:902083* + OUI:902155* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:902181* ++ ID_OUI_FROM_DATABASE=Shanghai Huaqin Telecom Technology Co.,Ltd ++ + OUI:9027E4* + ID_OUI_FROM_DATABASE=Apple + + OUI:902B34* + ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. + ++OUI:902CC7* ++ ID_OUI_FROM_DATABASE=C-MAX Asia Limited ++ + OUI:902E87* + ID_OUI_FROM_DATABASE=LabJack + +@@ -63304,6 +63505,9 @@ OUI:90840D* + OUI:9088A2* + ID_OUI_FROM_DATABASE=IONICS TECHNOLOGY ME LTDA + ++OUI:908C09* ++ ID_OUI_FROM_DATABASE=Total Phase ++ + OUI:908C44* + ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. + +@@ -63337,6 +63541,9 @@ OUI:909916* + OUI:909DE0* + ID_OUI_FROM_DATABASE=Newland Design + Assoc. Inc. + ++OUI:909F33* ++ ID_OUI_FROM_DATABASE=EFM Networks ++ + OUI:909F43* + ID_OUI_FROM_DATABASE=Accutron Instruments Inc. + +@@ -63416,7 +63623,7 @@ OUI:90DA4E* + ID_OUI_FROM_DATABASE=AVANU + + OUI:90DA6A* +- ID_OUI_FROM_DATABASE=MCC System Co., Ltd. ++ ID_OUI_FROM_DATABASE=FOCUS H&S Co., Ltd. + + OUI:90DB46* + ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD +@@ -63580,6 +63787,9 @@ OUI:946269* + OUI:9463D1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:9470D2* ++ ID_OUI_FROM_DATABASE=WINFIRM TECHNOLOGY ++ + OUI:9471AC* + ID_OUI_FROM_DATABASE=TCT Mobile Limited + +@@ -63646,6 +63856,9 @@ OUI:94AE61* + OUI:94AEE3* + ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. + ++OUI:94B40F* ++ ID_OUI_FROM_DATABASE=Aruba Networks ++ + OUI:94B8C5* + ID_OUI_FROM_DATABASE=RuggedCom Inc. + +@@ -63661,9 +63874,15 @@ OUI:94BA56* + OUI:94BF1E* + ID_OUI_FROM_DATABASE=eflow Inc. / Smart Device Planning and Development Division + ++OUI:94BF95* ++ ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd ++ + OUI:94C014* + ID_OUI_FROM_DATABASE=Sorter Sp. j. Konrad Grzeszczyk MichaA, Ziomek + ++OUI:94C038* ++ ID_OUI_FROM_DATABASE=Tallac Networks ++ + OUI:94C150* + ID_OUI_FROM_DATABASE=2Wire Inc + +@@ -63793,6 +64012,9 @@ OUI:980D2E* + OUI:981094* + ID_OUI_FROM_DATABASE=Shenzhen Vsun communication technology Co.,ltd + ++OUI:9816EC* ++ ID_OUI_FROM_DATABASE=IC Intracom ++ + OUI:98208E* + ID_OUI_FROM_DATABASE=Definium Technologies + +@@ -64724,7 +64946,7 @@ OUI:A40CC3* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:A41242* +- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. ++ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. + + OUI:A4134E* + ID_OUI_FROM_DATABASE=Luxul +@@ -64753,6 +64975,9 @@ OUI:A42305* + OUI:A424B3* + ID_OUI_FROM_DATABASE=FlatFrog Laboratories AB + ++OUI:A4251B* ++ ID_OUI_FROM_DATABASE=Avaya, Inc ++ + OUI:A42940* + ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd + +@@ -64783,6 +65008,9 @@ OUI:A4466B* + OUI:A446FA* + ID_OUI_FROM_DATABASE=AmTRAN Video Corporation + ++OUI:A44AD3* ++ ID_OUI_FROM_DATABASE=ST Electronics(Shanghai) Co.,Ltd ++ + OUI:A44B15* + ID_OUI_FROM_DATABASE=Sun Cupid Technology (HK) LTD + +@@ -64897,6 +65125,9 @@ OUI:A49F85* + OUI:A49F89* + ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. + ++OUI:A4A1C2* ++ ID_OUI_FROM_DATABASE=Ericsson AB (EAB) ++ + OUI:A4A24A* + ID_OUI_FROM_DATABASE=Cisco SPVTG + +@@ -65209,6 +65440,9 @@ OUI:A8995C* + OUI:A89B10* + ID_OUI_FROM_DATABASE=inMotion Ltd. + ++OUI:A89DD2* ++ ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd ++ + OUI:A8A668* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -65488,6 +65722,9 @@ OUI:AC8674* + OUI:AC867E* + ID_OUI_FROM_DATABASE=Create New Technology (HK) Limited Company + ++OUI:AC87A3* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:AC8ACD* + ID_OUI_FROM_DATABASE=ROGER D.Wensker, G.Wensker sp.j. + +@@ -65650,6 +65887,9 @@ OUI:ACF7F3* + OUI:ACF97E* + ID_OUI_FROM_DATABASE=ELESYS INC. + ++OUI:ACFDCE* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:ACFDEC* + ID_OUI_FROM_DATABASE=Apple, Inc + +@@ -66496,6 +66736,9 @@ OUI:B8AD3E* + OUI:B8AE6E* + ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. + ++OUI:B8AEED* ++ ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. ++ + OUI:B8AF67* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -66562,6 +66805,9 @@ OUI:B8D06F* + OUI:B8D49D* + ID_OUI_FROM_DATABASE=M Seven System Ltd. + ++OUI:B8D812* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:B8D9CE* + ID_OUI_FROM_DATABASE=Samsung Electronics + +@@ -66658,6 +66904,9 @@ OUI:BC15A6* + OUI:BC1665* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:BC16F5* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:BC1A67* + ID_OUI_FROM_DATABASE=YF Technology Co., Ltd + +@@ -66766,6 +67015,9 @@ OUI:BC6A16* + OUI:BC6A29* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:BC6B4D* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:BC6E76* + ID_OUI_FROM_DATABASE=Green Energy Options Ltd + +@@ -66868,6 +67120,9 @@ OUI:BCC168* + OUI:BCC23A* + ID_OUI_FROM_DATABASE=Thomson Video Networks + ++OUI:BCC342* ++ ID_OUI_FROM_DATABASE=Panasonic System Networks Co., Ltd. ++ + OUI:BCC61A* + ID_OUI_FROM_DATABASE=SPECTRA EMBEDDED SYSTEMS + +@@ -66907,6 +67162,9 @@ OUI:BCE59F* + OUI:BCEA2B* + ID_OUI_FROM_DATABASE=CityCom GmbH + ++OUI:BCEAFA* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:BCEE7B* + ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. + +@@ -66976,6 +67234,9 @@ OUI:C03580* + OUI:C035BD* + ID_OUI_FROM_DATABASE=Velocytech Aps + ++OUI:C03896* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:C038F9* + ID_OUI_FROM_DATABASE=Nokia Danmark A/S + +@@ -67087,6 +67348,9 @@ OUI:C09132* + OUI:C09134* + ID_OUI_FROM_DATABASE=ProCurve Networking by HP + ++OUI:C09879* ++ ID_OUI_FROM_DATABASE=Acer Inc. ++ + OUI:C098E5* + ID_OUI_FROM_DATABASE=University of Michigan + +@@ -67228,6 +67492,9 @@ OUI:C40528* + OUI:C4084A* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + ++OUI:C40880* ++ ID_OUI_FROM_DATABASE=Shenzhen UTEPO Tech Co., Ltd. ++ + OUI:C40938* + ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd + +@@ -67675,6 +67942,9 @@ OUI:C88439* + OUI:C88447* + ID_OUI_FROM_DATABASE=Beautiful Enterprise Co., Ltd + ++OUI:C88550* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:C8873B* + ID_OUI_FROM_DATABASE=Net Optics + +@@ -67774,6 +68044,9 @@ OUI:C8CBB8* + OUI:C8CD72* + ID_OUI_FROM_DATABASE=SAGEMCOM + ++OUI:C8D019* ++ ID_OUI_FROM_DATABASE=Shanghai Tigercel Communication Technology Co.,Ltd ++ + OUI:C8D10B* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -67960,6 +68233,9 @@ OUI:CC3D82* + OUI:CC3E5F* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:CC3F1D* ++ ID_OUI_FROM_DATABASE=Intesis Software SL ++ + OUI:CC43E3* + ID_OUI_FROM_DATABASE=Trump s.a. + +@@ -68668,6 +68944,9 @@ OUI:D45C70* + OUI:D45D42* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:D46132* ++ ID_OUI_FROM_DATABASE=Pro Concept Manufacturer Co.,Ltd. ++ + OUI:D464F7* + ID_OUI_FROM_DATABASE=CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD + +@@ -68728,6 +69007,9 @@ OUI:D48890* + OUI:D48CB5* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:D48DD9* ++ ID_OUI_FROM_DATABASE=Meld Technology, Inc ++ + OUI:D48F33* + ID_OUI_FROM_DATABASE=Microsoft Corporation + +@@ -68887,6 +69169,9 @@ OUI:D4F0B4* + OUI:D4F143* + ID_OUI_FROM_DATABASE=IPROAD.,Inc + ++OUI:D4F46F* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D4F63F* + ID_OUI_FROM_DATABASE=IEA S.R.L. + +@@ -69058,6 +69343,9 @@ OUI:D87CDD* + OUI:D87EB1* + ID_OUI_FROM_DATABASE=x.o.ware, inc. + ++OUI:D88039* ++ ID_OUI_FROM_DATABASE=Microchip Technology Inc. ++ + OUI:D881CE* + ID_OUI_FROM_DATABASE=AHN INC. + +@@ -69121,6 +69409,9 @@ OUI:D8B12A* + OUI:D8B377* + ID_OUI_FROM_DATABASE=HTC Corporation + ++OUI:D8B6B7* ++ ID_OUI_FROM_DATABASE=Comtrend Corporation ++ + OUI:D8B6C1* + ID_OUI_FROM_DATABASE=NetworkAccountant, Inc. + +@@ -69214,6 +69505,9 @@ OUI:D8EE78* + OUI:D8F0F2* + ID_OUI_FROM_DATABASE=Zeebo Inc + ++OUI:D8FB11* ++ ID_OUI_FROM_DATABASE=AXACORE ++ + OUI:D8FC93* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -69286,6 +69580,9 @@ OUI:DC2C26* + OUI:DC2E6A* + ID_OUI_FROM_DATABASE=HCT. Co., Ltd. + ++OUI:DC2F03* ++ ID_OUI_FROM_DATABASE=Step forward Group Co., Ltd. ++ + OUI:DC309C* + ID_OUI_FROM_DATABASE=Heyrex Limited + +@@ -69418,6 +69715,9 @@ OUI:DCC101* + OUI:DCC422* + ID_OUI_FROM_DATABASE=Systembase Limited + ++OUI:DCC622* ++ ID_OUI_FROM_DATABASE=BUHEUNG SYSTEM ++ + OUI:DCC793* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -69448,6 +69748,9 @@ OUI:DCD52A* + OUI:DCD87F* + ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd + ++OUI:DCDA4F* ++ ID_OUI_FROM_DATABASE=GET Technology,INC ++ + OUI:DCDECA* + ID_OUI_FROM_DATABASE=Akyllor + +@@ -69490,6 +69793,9 @@ OUI:E00B28* + OUI:E00C7F* + ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. + ++OUI:E0107F* ++ ID_OUI_FROM_DATABASE=Ruckus Wireless ++ + OUI:E0143E* + ID_OUI_FROM_DATABASE=Modoosis Inc. + +@@ -69688,6 +69994,9 @@ OUI:E0AF4B* + OUI:E0B2F1* + ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED + ++OUI:E0B52D* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:E0B7B1* + ID_OUI_FROM_DATABASE=Pace plc + +@@ -69829,9 +70138,15 @@ OUI:E41289* + OUI:E41C4B* + ID_OUI_FROM_DATABASE=V2 TECHNOLOGY, INC. + ++OUI:E41D2D* ++ ID_OUI_FROM_DATABASE=Mellanox Technologies, Inc. ++ + OUI:E41F13* + ID_OUI_FROM_DATABASE=IBM Corp + ++OUI:E42354* ++ ID_OUI_FROM_DATABASE=SHENZHEN FUZHI SOFTWARE TECHNOLOGY CO.,LTD ++ + OUI:E425E7* + ID_OUI_FROM_DATABASE=Apple + +@@ -69961,6 +70276,9 @@ OUI:E48AD5* + OUI:E48B7F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:E48C0F* ++ ID_OUI_FROM_DATABASE=Discovery Insure ++ + OUI:E49069* + ID_OUI_FROM_DATABASE=Rockwell Automation + +@@ -70111,6 +70429,9 @@ OUI:E8150E* + OUI:E817FC* + ID_OUI_FROM_DATABASE=NIFTY Corporation + ++OUI:E81863* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:E82877* + ID_OUI_FROM_DATABASE=TMY Co., Ltd. + +@@ -70249,6 +70570,9 @@ OUI:E8944C* + OUI:E894F6* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:E89606* ++ ID_OUI_FROM_DATABASE=testo Instruments (Shenzhen) Co., Ltd. ++ + OUI:E8995A* + ID_OUI_FROM_DATABASE=PiiGAB, Processinformation i Goteborg AB + +@@ -70396,6 +70720,9 @@ OUI:EC0ED6* + OUI:EC1120* + ID_OUI_FROM_DATABASE=FloDesign Wind Turbine Corporation + ++OUI:EC13B2* ++ ID_OUI_FROM_DATABASE=Netonix ++ + OUI:EC14F6* + ID_OUI_FROM_DATABASE=BioControl AS + +@@ -70729,6 +71056,9 @@ OUI:F03A4B* + OUI:F03A55* + ID_OUI_FROM_DATABASE=Omega Elektronik AS + ++OUI:F03D29* ++ ID_OUI_FROM_DATABASE=Actility ++ + OUI:F03FF8* + ID_OUI_FROM_DATABASE=R L Drake + +@@ -70801,6 +71131,9 @@ OUI:F07BCB* + OUI:F07D68* + ID_OUI_FROM_DATABASE=D-Link Corporation + ++OUI:F07F06* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F07F0C* + ID_OUI_FROM_DATABASE=Leopold Kostal GmbH &Co. KG + +@@ -70843,6 +71176,9 @@ OUI:F09CBB* + OUI:F09CE9* + ID_OUI_FROM_DATABASE=Aerohive Networks Inc + ++OUI:F09E63* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F0A764* + ID_OUI_FROM_DATABASE=GST Co., Ltd. + +@@ -71188,6 +71524,9 @@ OUI:F4B72A* + OUI:F4B7E2* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:F4B85E* ++ ID_OUI_FROM_DATABASE=Texas INstruments ++ + OUI:F4BD7C* + ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD + +@@ -71461,6 +71800,9 @@ OUI:F87B8C* + OUI:F8811A* + ID_OUI_FROM_DATABASE=OVERKIZ + ++OUI:F88479* ++ ID_OUI_FROM_DATABASE=Yaojin Technology(Shenzhen)Co.,Ltd ++ + OUI:F884F2* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -71599,6 +71941,9 @@ OUI:F8E7B5* + OUI:F8E811* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + ++OUI:F8E903* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:F8E968* + ID_OUI_FROM_DATABASE=Egker Kft. + +@@ -71782,6 +72127,9 @@ OUI:FC5B24* + OUI:FC5B26* + ID_OUI_FROM_DATABASE=MikroBits + ++OUI:FC5B39* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:FC6018* + ID_OUI_FROM_DATABASE=Zhejiang Kangtai Electric Co., Ltd. + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 77c727d..a6a2754 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -32403,11 +32403,14 @@ pci:v00001131d00007146sv0000153Bsd00001155* + ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) + + pci:v00001131d00007146sv0000153Bsd00001156* +- ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C) + + pci:v00001131d00007146sv0000153Bsd00001157* + ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) + ++pci:v00001131d00007146sv0000153Bsd00001176* ++ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C (MK3)) ++ + pci:v00001131d00007146sv00001894sd00000020* + ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) + +@@ -42846,7 +42849,7 @@ pci:v00001425d00005012* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller + + pci:v00001425d00005013* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller + + pci:v00001425d00005014* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller +@@ -42924,7 +42927,7 @@ pci:v00001425d00005412* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller + + pci:v00001425d00005413* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller + + pci:v00001425d00005414* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller +@@ -43002,7 +43005,7 @@ pci:v00001425d00005512* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller + + pci:v00001425d00005513* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller + + pci:v00001425d00005514* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller +@@ -43080,7 +43083,7 @@ pci:v00001425d00005612* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller + + pci:v00001425d00005613* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller + + pci:v00001425d00005614* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller +@@ -43236,7 +43239,7 @@ pci:v00001425d00005812* + ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005813* +- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] ++ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller [VF] + + pci:v00001425d00005814* + ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] +@@ -45887,6 +45890,9 @@ pci:v000014E4d00004359sv00001028sd00000011* + pci:v000014E4d00004359sv0000103Csd0000182C* + ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) + ++pci:v000014E4d00004360* ++ ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter ++ + pci:v000014E4d00004365* + ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n + +@@ -45896,6 +45902,9 @@ pci:v000014E4d00004365sv00001028sd00000016* + pci:v000014E4d000043A0* + ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter + ++pci:v000014E4d000043A9* ++ ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n ++ + pci:v000014E4d000043B1* + ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter + +@@ -47886,7 +47895,10 @@ pci:v000015ADd00000774* + ID_MODEL_FROM_DATABASE=USB1.1 UHCI Controller + + pci:v000015ADd00000778* +- ID_MODEL_FROM_DATABASE=USB3 xHCI Controller ++ ID_MODEL_FROM_DATABASE=USB3 xHCI 0.96 Controller ++ ++pci:v000015ADd00000779* ++ ID_MODEL_FROM_DATABASE=USB3 xHCI 1.0 Controller + + pci:v000015ADd00000790* + ID_MODEL_FROM_DATABASE=PCI bridge +@@ -52490,6 +52502,9 @@ pci:v00001A29* + pci:v00001A29d00004338* + ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC + ++pci:v00001A29d00004E36* ++ ID_MODEL_FROM_DATABASE=NP6 Network Processor ++ + pci:v00001A2B* + ID_VENDOR_FROM_DATABASE=Ascom AG + +@@ -73781,6 +73796,9 @@ pci:v0000D161d00001405* + pci:v0000D161d00001420* + ID_MODEL_FROM_DATABASE=Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen) + ++pci:v0000D161d00001820* ++ ID_MODEL_FROM_DATABASE=Wildcard TE820 octal-span T1/E1/J1 card 3.3V (PCI-Express) ++ + pci:v0000D161d00002400* + ID_MODEL_FROM_DATABASE=Wildcard TDM2400P 24-port analog card + +@@ -73820,6 +73838,9 @@ pci:v0000D161d0000800A* + pci:v0000D161d0000800B* + ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card + ++pci:v0000D161d0000800E* ++ ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) ++ + pci:v0000D161d0000B410* + ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card + +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index 89cd5b1..ed6b2b1 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -524,6 +524,9 @@ usb:v03F0p0317* + usb:v03F0p0324* + ID_MODEL_FROM_DATABASE=SK-2885 keyboard + ++usb:v03F0p034A* ++ ID_MODEL_FROM_DATABASE=Elite Keyboard ++ + usb:v03F0p0401* + ID_MODEL_FROM_DATABASE=ScanJet 5200c + +@@ -767,6 +770,9 @@ usb:v03F0p1317* + usb:v03F0p1327* + ID_MODEL_FROM_DATABASE=iLO Virtual Hub + ++usb:v03F0p134A* ++ ID_MODEL_FROM_DATABASE=Optical Mouse ++ + usb:v03F0p1405* + ID_MODEL_FROM_DATABASE=ScanJet 3670 + +@@ -2336,6 +2342,12 @@ usb:v0403pEF10* + usb:v0403pF070* + ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] + ++usb:v0403pF0C8* ++ ID_MODEL_FROM_DATABASE=SPROG Decoder Programmer ++ ++usb:v0403pF0C9* ++ ID_MODEL_FROM_DATABASE=SPROG-DCC CAN-USB ++ + usb:v0403pF0E9* + ID_MODEL_FROM_DATABASE=Tagsys L-P101 + +@@ -2642,6 +2654,9 @@ usb:v0409p02B4* + usb:v0409p02B6* + ID_MODEL_FROM_DATABASE=Aterm WL300NU-GS 802.11n Wireless Adapter + ++usb:v0409p02BC* ++ ID_MODEL_FROM_DATABASE=Computer Monitor ++ + usb:v0409p0300* + ID_MODEL_FROM_DATABASE=LifeTouch Note + +@@ -5348,6 +5363,9 @@ usb:v0452p0050* + usb:v0452p0051* + ID_MODEL_FROM_DATABASE=Integrated Hub + ++usb:v0452p0100* ++ ID_MODEL_FROM_DATABASE=Control Panel for Leica TCS SP5 ++ + usb:v0453* + ID_VENDOR_FROM_DATABASE=CMD Technology + +@@ -8759,6 +8777,9 @@ usb:v0480pA009* + usb:v0480pA00D* + ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB + ++usb:v0480pB001* ++ ID_MODEL_FROM_DATABASE=Stor.E Partner ++ + usb:v0480pD010* + ID_MODEL_FROM_DATABASE=External Disk 3TB + +@@ -13100,9 +13121,15 @@ usb:v04D8p900A* + usb:v04D8pC001* + ID_MODEL_FROM_DATABASE=PicoLCD 20x4 + ++usb:v04D8pF4B5* ++ ID_MODEL_FROM_DATABASE=SmartScope ++ + usb:v04D8pF8DA* + ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug + ++usb:v04D8pF91C* ++ ID_MODEL_FROM_DATABASE=SPROG IIv3 ++ + usb:v04D8pFAFF* + ID_MODEL_FROM_DATABASE=Dangerous Prototypes BusPirate v4 Bootloader mode + +@@ -13118,6 +13145,9 @@ usb:v04D8pFBBA* + usb:v04D8pFBBB* + ID_MODEL_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (active mode) + ++usb:v04D8pFC1E* ++ ID_MODEL_FROM_DATABASE=Bachrus Speedometer Interface ++ + usb:v04D8pFC92* + ID_MODEL_FROM_DATABASE=Open Bench Logic Sniffer + +@@ -14432,6 +14462,9 @@ usb:v04F2p0403* + usb:v04F2p0418* + ID_MODEL_FROM_DATABASE=KU-0418 Tactical Pad + ++usb:v04F2p0618* ++ ID_MODEL_FROM_DATABASE=RG-0618U Wireless HID Receiver & KG-0609 Wireless Keyboard with Touchpad ++ + usb:v04F2p0760* + ID_MODEL_FROM_DATABASE=Acer KU-0760 Keyboard + +@@ -15336,7 +15369,7 @@ usb:v04FCp0171* + ID_MODEL_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (Mass Storage mode) + + usb:v04FCp0201* +- ID_MODEL_FROM_DATABASE=RS232C Adapter ++ ID_MODEL_FROM_DATABASE=SPCP825 RS232C Adapter + + usb:v04FCp0232* + ID_MODEL_FROM_DATABASE=Fingerprint +@@ -29036,6 +29069,9 @@ usb:v08E3p0301* + usb:v08E4* + ID_VENDOR_FROM_DATABASE=Pioneer Corp. + ++usb:v08E4p0185* ++ ID_MODEL_FROM_DATABASE=DDJ-WeGO2 ++ + usb:v08E5* + ID_VENDOR_FROM_DATABASE=Litronic + +@@ -33080,6 +33116,9 @@ usb:v0B48p300D* + usb:v0B48p300E* + ID_MODEL_FROM_DATABASE=TT-connect C-2400 + ++usb:v0B48p3014* ++ ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 ++ + usb:v0B49* + ID_VENDOR_FROM_DATABASE=ASCII Corp. + +@@ -34086,7 +34125,7 @@ usb:v0BC2p3101* + ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB + + usb:v0BC2p3312* +- ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] ++ ID_MODEL_FROM_DATABASE=SRD00F2 Expansion Desktop Drive (STBV) + + usb:v0BC2p3320* + ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] +@@ -34109,6 +34148,9 @@ usb:v0BC2p5031* + usb:v0BC2p5070* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk + ++usb:v0BC2p5071* ++ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk ++ + usb:v0BC2p50A1* + ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk + +@@ -34133,6 +34175,9 @@ usb:v0BC2pA0A4* + usb:v0BC2pAB00* + ID_MODEL_FROM_DATABASE=Slim Portable Drive + ++usb:v0BC2pAB20* ++ ID_MODEL_FROM_DATABASE=Backup Plus Portable Drive ++ + usb:v0BC3* + ID_VENDOR_FROM_DATABASE=IPWireless, Inc. + +@@ -34301,6 +34346,9 @@ usb:v0BDAp0176* + usb:v0BDAp0178* + ID_MODEL_FROM_DATABASE=Mass Storage Device + ++usb:v0BDAp0179* ++ ID_MODEL_FROM_DATABASE=RTL8188ETV Wireless LAN 802.11n Network Adapter ++ + usb:v0BDAp0184* + ID_MODEL_FROM_DATABASE=RTS5182 Card Reader + +@@ -34322,6 +34370,9 @@ usb:v0BDAp2832* + usb:v0BDAp2838* + ID_MODEL_FROM_DATABASE=RTL2838 DVB-T + ++usb:v0BDAp5730* ++ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam ++ + usb:v0BDAp8150* + ID_MODEL_FROM_DATABASE=RTL8150 Fast Ethernet Adapter + +@@ -36012,11 +36063,53 @@ usb:v0CE5p0003* + ID_MODEL_FROM_DATABASE=Matrix + + usb:v0CE9* +- ID_VENDOR_FROM_DATABASE=pico Technology ++ ID_VENDOR_FROM_DATABASE=Pico Technology + + usb:v0CE9p1001* + ID_MODEL_FROM_DATABASE=PicoScope3000 series PC Oscilloscope + ++usb:v0CE9p1007* ++ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope ++ ++usb:v0CE9p1008* ++ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope ++ ++usb:v0CE9p1009* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope ++ ++usb:v0CE9p100E* ++ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope ++ ++usb:v0CE9p1012* ++ ID_MODEL_FROM_DATABASE=PicoScope 3000A series PC Oscilloscope ++ ++usb:v0CE9p1016* ++ ID_MODEL_FROM_DATABASE=PicoScope 2000A series PC Oscilloscope ++ ++usb:v0CE9p1018* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000A series PC Oscilloscope ++ ++usb:v0CE9p1200* ++ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope ++ ++usb:v0CE9p1201* ++ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope ++ ++usb:v0CE9p1202* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope ++ ++usb:v0CE9p1203* ++ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope ++ ++usb:v0CE9p1204* ++ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope ++ ++usb:v0CE9p1211* ++ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope ++ ++usb:v0CE9p1212* ++ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope ++ + usb:v0CF1* + ID_VENDOR_FROM_DATABASE=e-Conn Electronic Co., Ltd + +@@ -36998,6 +37091,9 @@ usb:v0DB0p1020* + usb:v0DB0p1967* + ID_MODEL_FROM_DATABASE=Bluetooth Dongle + ++usb:v0DB0p3713* ++ ID_MODEL_FROM_DATABASE=Primo 73 ++ + usb:v0DB0p3801* + ID_MODEL_FROM_DATABASE=Motorola Bluetooth 2.1+EDR Device + +@@ -37112,6 +37208,9 @@ usb:v0DB7p0002* + usb:v0DBA* + ID_VENDOR_FROM_DATABASE=Digidesign + ++usb:v0DBAp1000* ++ ID_MODEL_FROM_DATABASE=Mbox 1 [Mbox] ++ + usb:v0DBAp3000* + ID_MODEL_FROM_DATABASE=Mbox 2 + +@@ -37913,6 +38012,12 @@ usb:v0E6A* + usb:v0E6Ap0101* + ID_MODEL_FROM_DATABASE=MA100 [USB-UART Bridge IC] + ++usb:v0E6Ap030B* ++ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard (Device Firmware Update mode) ++ ++usb:v0E6Ap030C* ++ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard ++ + usb:v0E6Ap6001* + ID_MODEL_FROM_DATABASE=GEMBIRD Flexible keyboard KB-109F-B-DE + +@@ -39548,6 +39653,12 @@ usb:v1039p0824* + usb:v1039p2140* + ID_MODEL_FROM_DATABASE=dsl+ 1100 duo + ++usb:v103A* ++ ID_VENDOR_FROM_DATABASE=PSA ++ ++usb:v103ApF000* ++ ID_MODEL_FROM_DATABASE=Actia Evo XS ++ + usb:v103D* + ID_VENDOR_FROM_DATABASE=Stanton + +@@ -39692,6 +39803,9 @@ usb:v1050p0110* + usb:v1050p0111* + ID_MODEL_FROM_DATABASE=Yubikey NEO OTP+CCID + ++usb:v1050p0200* ++ ID_MODEL_FROM_DATABASE=U2F Gnubby ++ + usb:v1050p0211* + ID_MODEL_FROM_DATABASE=Gnubby + +@@ -39735,16 +39849,25 @@ usb:v1058p0704* + ID_MODEL_FROM_DATABASE=Passport External HDD + + usb:v1058p070A* +- ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA), My Passport for Mac (WDBAAB), My Passport Essential SE (WDBABM), My Passport SE for Mac (WDBABW) ++ ++usb:v1058p070B* ++ ID_MODEL_FROM_DATABASE=My Passport Elite (WDBAAC) ++ ++usb:v1058p070C* ++ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBAAE) + + usb:v1058p071A* +- ID_MODEL_FROM_DATABASE=My Passport ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA) ++ ++usb:v1058p071D* ++ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBALG) + + usb:v1058p0730* + ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) + + usb:v1058p0740* +- ID_MODEL_FROM_DATABASE=My Passport ++ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) + + usb:v1058p0741* + ID_MODEL_FROM_DATABASE=My Passport Ultra +@@ -39756,22 +39879,22 @@ usb:v1058p0748* + ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) + + usb:v1058p0810* +- ID_MODEL_FROM_DATABASE=My Passport Ultra ++ ID_MODEL_FROM_DATABASE=My Passport Ultra (WDBZFP) + + usb:v1058p0900* + ID_MODEL_FROM_DATABASE=MyBook Essential External HDD + + usb:v1058p0901* +- ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) + + usb:v1058p0902* +- ID_MODEL_FROM_DATABASE=My Book Pro Edition ++ ID_MODEL_FROM_DATABASE=My Book Pro Edition (WDG1T) + + usb:v1058p0903* + ID_MODEL_FROM_DATABASE=My Book Premium Edition + + usb:v1058p0910* +- ID_MODEL_FROM_DATABASE=MyBook Essential External HDD ++ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) + + usb:v1058p1001* + ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) +@@ -39786,7 +39909,7 @@ usb:v1058p1021* + ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) + + usb:v1058p1023* +- ID_MODEL_FROM_DATABASE=Elements SE ++ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBABV) + + usb:v1058p1048* + ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) +@@ -39809,11 +39932,23 @@ usb:v1058p1104* + usb:v1058p1105* + ID_MODEL_FROM_DATABASE=My Book Studio II + ++usb:v1058p1110* ++ ID_MODEL_FROM_DATABASE=My Book Essential (WDBAAF), My Book for Mac (WDBAAG) ++ ++usb:v1058p1111* ++ ID_MODEL_FROM_DATABASE=My Book Elite (WDBAAH) ++ ++usb:v1058p1112* ++ ID_MODEL_FROM_DATABASE=My Book Studio (WDBAAJ), My Book Studio LX (WDBACH) ++ + usb:v1058p1123* +- ID_MODEL_FROM_DATABASE=My Book 3.0 ++ ID_MODEL_FROM_DATABASE=My Book 3.0 (WDBABP) ++ ++usb:v1058p1130* ++ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) + + usb:v1058p1140* +- ID_MODEL_FROM_DATABASE=My Book Essential USB3.0 ++ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) + + usb:v1059* + ID_VENDOR_FROM_DATABASE=Giesecke & Devrient GmbH +@@ -42098,6 +42233,12 @@ usb:v132Bp2045* + usb:v132Bp2049* + ID_MODEL_FROM_DATABASE=Magicolor 2490MF + ++usb:v133E* ++ ID_VENDOR_FROM_DATABASE=Kemper Digital GmbH ++ ++usb:v133Ep0815* ++ ID_MODEL_FROM_DATABASE=Virus TI Desktop ++ + usb:v1342* + ID_VENDOR_FROM_DATABASE=Mobility + +@@ -42203,6 +42344,9 @@ usb:v134E* + usb:v1357* + ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems + ++usb:v1357p0089* ++ ID_MODEL_FROM_DATABASE=OpenSDA - CDC Serial Port ++ + usb:v1357p0503* + ID_MODEL_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink + +@@ -42213,7 +42357,7 @@ usb:v1366* + ID_VENDOR_FROM_DATABASE=SEGGER + + usb:v1366p0101* +- ID_MODEL_FROM_DATABASE=J-Link ARM ++ ID_MODEL_FROM_DATABASE=J-Link PLUS + + usb:v136B* + ID_VENDOR_FROM_DATABASE=STEC +@@ -42311,6 +42455,9 @@ usb:v138Ap003C* + usb:v138Ap003D* + ID_MODEL_FROM_DATABASE=VFS491 + ++usb:v138Ap003F* ++ ID_MODEL_FROM_DATABASE=VFS495 Fingerprint Reader ++ + usb:v138Ap0050* + ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor + +@@ -42647,6 +42794,9 @@ usb:v13D3p5122* + usb:v13D3p5126* + ID_MODEL_FROM_DATABASE=PC Cam + ++usb:v13D3p5130* ++ ID_MODEL_FROM_DATABASE=Integrated Webcam ++ + usb:v13D3p5702* + ID_MODEL_FROM_DATABASE=UVC VGA Webcam + +@@ -43232,6 +43382,9 @@ usb:v1493p0019* + usb:v1493p001A* + ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] + ++usb:v1493p001D* ++ ID_MODEL_FROM_DATABASE=Greentit [Ambit2 R] ++ + usb:v1497* + ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. + +@@ -49640,12 +49793,39 @@ usb:v2478* + usb:v2478p2008* + ID_MODEL_FROM_DATABASE=U209-000-R Serial Port + ++usb:v249C* ++ ID_VENDOR_FROM_DATABASE=M2Tech s.r.l. ++ + usb:v2632* + ID_VENDOR_FROM_DATABASE=TwinMOS + + usb:v2632p3209* + ID_MODEL_FROM_DATABASE=7-in-1 Card Reader + ++usb:v2639* ++ ID_VENDOR_FROM_DATABASE=Xsens ++ ++usb:v2639p0001* ++ ID_MODEL_FROM_DATABASE=MTi-10 IMU ++ ++usb:v2639p0002* ++ ID_MODEL_FROM_DATABASE=MTi-20 VRU ++ ++usb:v2639p0003* ++ ID_MODEL_FROM_DATABASE=MTi-30 AHRS ++ ++usb:v2639p0011* ++ ID_MODEL_FROM_DATABASE=MTi-100 IMU ++ ++usb:v2639p0012* ++ ID_MODEL_FROM_DATABASE=MTi-200 VRU ++ ++usb:v2639p0013* ++ ID_MODEL_FROM_DATABASE=MTi-300 AHRS ++ ++usb:v2639p0017* ++ ID_MODEL_FROM_DATABASE=MTi-G-700 GPS INS ++ + usb:v2650* + ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex] + +-- +1.7.9.2 + diff --git a/0007-journal-forget-file-after-encountering-an-error.patch b/0007-journal-forget-file-after-encountering-an-error.patch new file mode 100644 index 00000000..e195e6bf --- /dev/null +++ b/0007-journal-forget-file-after-encountering-an-error.patch @@ -0,0 +1,74 @@ +From a9a245c128af6c0418085062c60251bc51fa4a94 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 27 Feb 2014 00:11:54 -0500 +Subject: [PATCH] journal: forget file after encountering an error + +If we encounter an inconsistency in a file, let's just +ignore it. Otherwise, after previous patch, we would try, +and fail, to use this file in every invocation of sd_journal_next +or sd_journal_previous that happens afterwards. +--- + src/journal/sd-journal.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git src/journal/sd-journal.c src/journal/sd-journal.c +index ef455e9..b54bc21 100644 +--- src/journal/sd-journal.c ++++ src/journal/sd-journal.c +@@ -51,6 +51,8 @@ + + #define DEFAULT_DATA_THRESHOLD (64*1024) + ++static void remove_file_real(sd_journal *j, JournalFile *f); ++ + static bool journal_pid_changed(sd_journal *j) { + assert(j); + +@@ -885,6 +887,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { + r = next_beyond_location(j, f, direction, &o, &p); + if (r < 0) { + log_debug("Can't iterate through %s, ignoring: %s", f->path, strerror(-r)); ++ remove_file_real(j, f); + continue; + } else if (r == 0) + continue; +@@ -1339,7 +1342,7 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) { + } + + static int remove_file(sd_journal *j, const char *prefix, const char *filename) { +- char *path; ++ _cleanup_free_ char *path; + JournalFile *f; + + assert(j); +@@ -1351,10 +1354,17 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) + return -ENOMEM; + + f = hashmap_get(j->files, path); +- free(path); + if (!f) + return 0; + ++ remove_file_real(j, f); ++ return 0; ++} ++ ++static void remove_file_real(sd_journal *j, JournalFile *f) { ++ assert(j); ++ assert(f); ++ + hashmap_remove(j->files, f->path); + + log_debug("File %s removed.", f->path); +@@ -1372,8 +1382,6 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) + journal_file_close(f); + + j->current_invalidate_counter ++; +- +- return 0; + } + + static int add_directory(sd_journal *j, const char *prefix, const char *dirname) { +-- +1.7.9.2 + diff --git a/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch b/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch new file mode 100644 index 00000000..f2409242 --- /dev/null +++ b/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch @@ -0,0 +1,55 @@ +From 332076b45b8a78f018ade2dfdc7e4279a56d49cc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Nov 2014 23:10:21 +0100 +Subject: [PATCH] journald: also check journal file size to deduce if it is + empty + +--- + src/journal/journal-vacuum.c | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c +index dbf5d22..d141fe0 100644 +--- src/journal/journal-vacuum.c ++++ src/journal/journal-vacuum.c +@@ -121,22 +121,30 @@ static void patch_realtime( + } + + static int journal_file_empty(int dir_fd, const char *name) { +- int r; +- le64_t n_entries; + _cleanup_close_ int fd; ++ struct stat st; ++ le64_t n_entries; ++ ssize_t n; + + fd = openat(dir_fd, name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd < 0) + return -errno; + +- if (lseek(fd, offsetof(Header, n_entries), SEEK_SET) < 0) ++ if (fstat(fd, &st) < 0) + return -errno; + +- r = read(fd, &n_entries, sizeof(n_entries)); +- if (r != sizeof(n_entries)) +- return r == 0 ? -EINVAL : -errno; ++ /* If an offline file doesn't even have a header we consider it empty */ ++ if (st.st_size < (off_t) sizeof(Header)) ++ return 1; ++ ++ /* If the number of entries is empty, we consider it empty, too */ ++ n = pread(fd, &n_entries, sizeof(n_entries), offsetof(Header, n_entries)); ++ if (n < 0) ++ return -errno; ++ if (n != sizeof(n_entries)) ++ return -EIO; + +- return le64toh(n_entries) == 0; ++ return le64toh(n_entries) <= 0; + } + + int journal_directory_vacuum( +-- +1.7.9.2 + diff --git a/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch b/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch new file mode 100644 index 00000000..54b97960 --- /dev/null +++ b/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch @@ -0,0 +1,23 @@ +Based on 5e8b767df6e18444d5aff2987b5e5603361ed528 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 13 Aug 2014 18:53:05 +0200 +Subject: [PATCH] journald: also increase the SendBuffer of /dev/log to 8M + +http://lists.freedesktop.org/archives/systemd-devel/2014-August/021825.html +--- + units/systemd-journald.socket | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- units/systemd-journald.socket ++++ units/systemd-journald.socket 2014-08-22 14:31:11.022236471 +0000 +@@ -23,4 +23,10 @@ ListenDatagram=/dev/log + SocketMode=0666 + PassCredentials=yes + PassSecurity=yes ++ ++# Increase both the send and receive buffer, so that things don't ++# block early. Note that journald internally uses the this socket both ++# for receiving syslog messages, and for forwarding them to any other ++# syslog, hence we bump both values. + ReceiveBuffer=8M ++SendBuffer=8M diff --git a/0007-keyboard-add-Plantronics-.Audio-mute-button.patch b/0007-keyboard-add-Plantronics-.Audio-mute-button.patch new file mode 100644 index 00000000..53c701bd --- /dev/null +++ b/0007-keyboard-add-Plantronics-.Audio-mute-button.patch @@ -0,0 +1,32 @@ +From 9e3dbf6b2b99d0e16989d9cedb458729db5a60c3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 1 Jun 2014 14:01:23 -0400 +Subject: [PATCH] keyboard: add Plantronics .Audio mute button + +https://bugs.freedesktop.org/show_bug.cgi?id=79495 +--- + hwdb/60-keyboard.hwdb | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 05e6a04..d053766 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -866,6 +866,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* + KEYBOARD_KEY_f3=volumeup + + ########################################################### ++# Plantronics ++########################################################### ++ ++# Plantronics .Audio 626 DSP ++keyboard:usb:v047fpC006* ++ KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute ++ ++########################################################### + # Quanta + ########################################################### + +-- +1.7.9.2 + diff --git a/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch b/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch new file mode 100644 index 00000000..15857575 --- /dev/null +++ b/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch @@ -0,0 +1,29 @@ +From 9dedfe7f667a8cb22ba85d0223556c69c4fd0e9a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 09:20:46 +0200 +Subject: [PATCH] libudev: monitor - warn if we fail to request SO_PASSCRED + +The function still succeeds, so there is no functional change. This fixes CID #996288. +--- + src/libudev/libudev-monitor.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c +index 186e5e1..59698b8 100644 +--- src/libudev/libudev-monitor.c ++++ src/libudev/libudev-monitor.c +@@ -412,7 +412,10 @@ _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor) + } + + /* enable receiving of sender credentials */ +- setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ if (err < 0) ++ udev_err(udev_monitor->udev, "setting SO_PASSCRED failed: %m\n"); ++ + return 0; + } + +-- +1.7.9.2 + diff --git a/0007-logind-fix-Display-property-of-user-objects.patch b/0007-logind-fix-Display-property-of-user-objects.patch new file mode 100644 index 00000000..8fbbbeac --- /dev/null +++ b/0007-logind-fix-Display-property-of-user-objects.patch @@ -0,0 +1,147 @@ +From 952d32609f9bceee444fa2690afb4d28539b4b92 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 19 May 2014 09:03:20 +0900 +Subject: [PATCH] logind: fix Display property of user objects + +When we dropped support for creating a per-user to the "main" X11 +display we stopped returning useful data in the "Display" user property. +With this change this is fixed and we again expose an appropriate +(graphical session) in the property that is useful as the "main" one, if +one is needed. +--- + src/login/logind-session.c | 8 ++++++-- + src/login/logind-session.h | 2 ++ + src/login/logind-user-dbus.c | 2 +- + src/login/logind-user.c | 37 +++++++++++++++++++++++++++++++++++++ + src/login/logind-user.h | 1 + + 5 files changed, 47 insertions(+), 3 deletions(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 4fb229e..9a54101 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -545,6 +545,8 @@ int session_start(Session *s) { + + s->started = true; + ++ user_elect_display(s->user); ++ + /* Save data */ + session_save(s); + user_save(s->user); +@@ -553,7 +555,7 @@ int session_start(Session *s) { + + /* Send signals */ + session_send_signal(s, true); +- user_send_changed(s->user, "Sessions", NULL); ++ user_send_changed(s->user, "Sessions", "Display", NULL); + if (s->seat) { + if (s->seat->active == s) + seat_send_changed(s->seat, "Sessions", "ActiveSession", NULL); +@@ -612,6 +614,8 @@ int session_stop(Session *s, bool force) { + + s->stopping = true; + ++ user_elect_display(s->user); ++ + session_save(s); + user_save(s->user); + +@@ -660,7 +664,7 @@ int session_finalize(Session *s) { + } + + user_save(s->user); +- user_send_changed(s->user, "Sessions", NULL); ++ user_send_changed(s->user, "Sessions", "Display", NULL); + + return r; + } +diff --git src/login/logind-session.h src/login/logind-session.h +index f78f309..81957df 100644 +--- src/login/logind-session.h ++++ src/login/logind-session.h +@@ -60,6 +60,8 @@ typedef enum SessionType { + _SESSION_TYPE_INVALID = -1 + } SessionType; + ++#define SESSION_TYPE_IS_GRAPHICAL(type) IN_SET(type, SESSION_X11, SESSION_WAYLAND, SESSION_MIR) ++ + enum KillWho { + KILL_LEADER, + KILL_ALL, +diff --git src/login/logind-user-dbus.c src/login/logind-user-dbus.c +index 6266ccb..51793f6 100644 +--- src/login/logind-user-dbus.c ++++ src/login/logind-user-dbus.c +@@ -220,7 +220,7 @@ const sd_bus_vtable user_vtable[] = { + SD_BUS_PROPERTY("RuntimePath", "s", NULL, offsetof(User, runtime_path), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("Service", "s", NULL, offsetof(User, service), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("Slice", "s", NULL, offsetof(User, slice), SD_BUS_VTABLE_PROPERTY_CONST), +- SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_CONST), ++ SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("State", "s", property_get_state, 0, 0), + SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), + SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), +diff --git src/login/logind-user.c src/login/logind-user.c +index 5fffa65..fdbccb3 100644 +--- src/login/logind-user.c ++++ src/login/logind-user.c +@@ -713,6 +713,43 @@ int user_kill(User *u, int signo) { + return manager_kill_unit(u->manager, u->slice, KILL_ALL, signo, NULL); + } + ++void user_elect_display(User *u) { ++ Session *graphical = NULL, *text = NULL, *s; ++ ++ assert(u); ++ ++ /* This elects a primary session for each user, which we call ++ * the "display". We try to keep the assignment stable, but we ++ * "upgrade" to better choices. */ ++ ++ LIST_FOREACH(sessions_by_user, s, u->sessions) { ++ ++ if (s->class != SESSION_USER) ++ continue; ++ ++ if (s->stopping) ++ continue; ++ ++ if (SESSION_TYPE_IS_GRAPHICAL(s->type)) ++ graphical = s; ++ else ++ text = s; ++ } ++ ++ if (graphical && ++ (!u->display || ++ u->display->class != SESSION_USER || ++ u->display->stopping || ++ !SESSION_TYPE_IS_GRAPHICAL(u->display->type))) ++ u->display = graphical; ++ ++ if (text && ++ (!u->display || ++ u->display->class != SESSION_USER || ++ u->display->stopping)) ++ u->display = text; ++} ++ + static const char* const user_state_table[_USER_STATE_MAX] = { + [USER_OFFLINE] = "offline", + [USER_OPENING] = "opening", +diff --git src/login/logind-user.h src/login/logind-user.h +index f237d2a..4e0568f 100644 +--- src/login/logind-user.h ++++ src/login/logind-user.h +@@ -80,6 +80,7 @@ int user_save(User *u); + int user_load(User *u); + int user_kill(User *u, int signo); + int user_check_linger_file(User *u); ++void user_elect_display(User *u); + + extern const sd_bus_vtable user_vtable[]; + int user_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error); +-- +1.7.9.2 + diff --git a/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch b/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch new file mode 100644 index 00000000..ee54ea31 --- /dev/null +++ b/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch @@ -0,0 +1,41 @@ +From 332bc31992acffc6f32e194c0122e01607bd0e27 Mon Sep 17 00:00:00 2001 +From: Alison Chaiken +Date: Fri, 16 May 2014 09:25:53 +0200 +Subject: [PATCH] man: readahead: fix cmdline switch inconsistency between + readahead.c and docs + +Source code has "files-max" and XML has --max-files. +--- + man/systemd-readahead-replay.service.xml | 2 +- + src/readahead/readahead.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd-readahead-replay.service.xml man/systemd-readahead-replay.service.xml +index 67b41f5..669fe78 100644 +--- man/systemd-readahead-replay.service.xml ++++ man/systemd-readahead-replay.service.xml +@@ -117,7 +117,7 @@ + + + +- ++ + + Maximum number of + files to read ahead. Only valid +diff --git src/readahead/readahead.c src/readahead/readahead.c +index d6729ec..73cf538 100644 +--- src/readahead/readahead.c ++++ src/readahead/readahead.c +@@ -42,7 +42,7 @@ static int help(void) { + "Collect read-ahead data on early boot.\n\n" + " -h --help Show this help\n" + " --version Show package version\n" +- " --max-files=INT Maximum number of files to read ahead\n" ++ " --files-max=INT Maximum number of files to read ahead\n" + " --file-size-max=BYTES Maximum size of files to read ahead\n" + " --timeout=USEC Maximum time to spend collecting data\n\n\n", + program_invocation_short_name); +-- +1.7.9.2 + diff --git a/0007-networkd-fix-typo.patch b/0007-networkd-fix-typo.patch new file mode 100644 index 00000000..8bd67322 --- /dev/null +++ b/0007-networkd-fix-typo.patch @@ -0,0 +1,26 @@ +From eed0eee85ac34abd81cd9e81fdb6a19f47b6c8a3 Mon Sep 17 00:00:00 2001 +From: Michael Olbrich +Date: Fri, 14 Mar 2014 18:19:29 +0100 +Subject: [PATCH] networkd: fix typo + +It's HAVE_SPLIT_USR not HAVE_SPLIT_USER +--- + src/network/networkd-manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/network/networkd-manager.c src/network/networkd-manager.c +index c730e71..ea414b1 100644 +--- src/network/networkd-manager.c ++++ src/network/networkd-manager.c +@@ -33,7 +33,7 @@ const char* const network_dirs[] = { + "/etc/systemd/network", + "/run/systemd/network", + "/usr/lib/systemd/network", +-#ifdef HAVE_SPLIT_USER ++#ifdef HAVE_SPLIT_USR + "/lib/systemd/network", + #endif + NULL}; +-- +1.7.9.2 + diff --git a/0007-po-add-German-translation.patch b/0007-po-add-German-translation.patch new file mode 100644 index 00000000..d653c8ff --- /dev/null +++ b/0007-po-add-German-translation.patch @@ -0,0 +1,448 @@ +From 351e57652a7d9a51f9064c089794d13801eaee73 Mon Sep 17 00:00:00 2001 +From: Benjamin Steinwender +Date: Sun, 8 Jun 2014 18:39:50 +0200 +Subject: [PATCH] po: add German translation + +https://bugs.freedesktop.org/show_bug.cgi?id=79430 +--- + po/LINGUAS | 1 + + po/de.po | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 419 insertions(+) + create mode 100644 po/de.po + +diff --git po/LINGUAS po/LINGUAS +index 820ca82..2cb0f30 100644 +--- po/LINGUAS ++++ po/LINGUAS +@@ -1,3 +1,4 @@ ++de + el + fr + it +diff --git po/de.po po/de.po +new file mode 100644 +index 0000000..a41e33d +--- /dev/null ++++ po/de.po +@@ -0,0 +1,418 @@ ++# German translation for systemd. ++# Copyright (C) 2014 systemd's COPYRIGHT HOLDER ++# This file is distributed under the same license as the systemd package. ++# Christian Kirbach , 2014. ++# Benjamin Steinwender , 2014. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: systemd master\n" ++"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?" ++"product=systemd&keywords=I18N+L10N&component=general\n" ++"POT-Creation-Date: 2014-06-02 10:25+0000\n" ++"PO-Revision-Date: 2014-06-02 22:43+0100\n" ++"Last-Translator: Benjamin Steinwender \n" ++"Language-Team: German \n" ++"Language: de\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Poedit 1.6.5\n" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 ++msgid "Set host name" ++msgstr "Rechnername festlegen" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 ++msgid "Authentication is required to set the local host name." ++msgstr "Legitimierung ist zum Festlegen des lokalen Rechnernamens notwendig" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 ++msgid "Set static host name" ++msgstr "Statischen Rechnernamen festlegen" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 ++msgid "" ++"Authentication is required to set the statically configured local host name, " ++"as well as the pretty host name." ++msgstr "" ++"Authentifizierung ist erforderlich, um den statisch geänderten, lokalen " ++"Rechnernamen, sowie den beschönigten Rechnernamen festzulegen." ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 ++msgid "Set machine information" ++msgstr "Maschinen-Information festlegen" ++ ++#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 ++msgid "Authentication is required to set local machine information." ++msgstr "" ++"Legitimierung ist zum Festlegen der lokalen Maschinen-Information " ++"erforderlich." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 ++msgid "Set system locale" ++msgstr "Die lokale Sprachumgebung festlegen" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 ++msgid "Authentication is required to set the system locale." ++msgstr "" ++"Legitimierung ist zum Festlegen der systemweiten Spracheinstellungen " ++"erforderlich." ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 ++msgid "Set system keyboard settings" ++msgstr "Tastatureinstellungen des Systems festlegen" ++ ++#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 ++msgid "Authentication is required to set the system keyboard settings." ++msgstr "" ++"Legitimierung ist zum Festlegen der Tastatureinstellungen des Systems " ++"erforderlich." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:1 ++msgid "Allow applications to inhibit system shutdown" ++msgstr "Anwendungen dürfen das Herunterfahren des Systems unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:2 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"shutdown." ++msgstr "" ++"Legitimierung ist notwendig, um Anwendungen das Herunterfahren des Systems " ++"zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:3 ++msgid "Allow applications to delay system shutdown" ++msgstr "Anwendungen dürfen das Herunterfahren des Systems verzögern" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:4 ++msgid "" ++"Authentication is required to allow an application to delay system shutdown." ++msgstr "" ++"Legitimierung ist notwendig, um Anwendungen das Verzögern des Herunterfahren " ++"des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:5 ++msgid "Allow applications to inhibit system sleep" ++msgstr "Anwendungen dürfen den Bereitschaftsmodus unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:6 ++msgid "" ++"Authentication is required to allow an application to inhibit system sleep." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden des " ++"Bereitschaftsmodus zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:7 ++msgid "Allow applications to delay system sleep" ++msgstr "Anwendungen dürfen den Bereitschaftsmodus verzögern" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:8 ++msgid "" ++"Authentication is required to allow an application to delay system sleep." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Verzögern des " ++"Bereitschaftsmodus zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:9 ++msgid "Allow applications to inhibit automatic system suspend" ++msgstr "Anwendungen dürfen den automatischen Bereitschaftsmodus unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:10 ++msgid "" ++"Authentication is required to allow an application to inhibit automatic " ++"system suspend." ++msgstr "" ++"Legitimierung ist notwendig, um Anwendungen das Unterbinden des " ++"automatischen Bereitschaftsmodus zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:11 ++msgid "Allow applications to inhibit system handling of the power key" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Ein-/Ausschaltknopfs des Systems " ++"unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:12 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the power key." ++msgstr "" ++"Legitmierung ist erforderlich, um Anwendungen das Unterbinden der Auswertung " ++"der Ein-/Ausschaltknopfs des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:13 ++msgid "Allow applications to inhibit system handling of the suspend key" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Bereitschaftsknopfs des Systems " ++"unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:14 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the suspend key." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " ++"Auswertung des Bereitschaftsknopfes des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:15 ++msgid "Allow applications to inhibit system handling of the hibernate key" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Knopfs für den Ruhezustand unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:16 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the hibernate key." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " ++"Auswertung des Knopfs für den Ruhezustand zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:17 ++msgid "Allow applications to inhibit system handling of the lid switch" ++msgstr "" ++"Anwendungen dürfen das Auswerten des Notebookdeckelschalters unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:18 ++msgid "" ++"Authentication is required to allow an application to inhibit system " ++"handling of the lid switch." ++msgstr "" ++"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " ++"Auswertung des Notebookdeckelschalters des Systems zu erlauben." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:19 ++msgid "Allow non-logged-in users to run programs" ++msgstr "Nicht angemeldete Benutzer dürfen Programme ausführen" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:20 ++msgid "" ++"Authentication is required to allow a non-logged-in user to run programs." ++msgstr "" ++"Legitimierung ist erforderlich, damit nicht angemeldete Benutzer Programme " ++"ausführen dürfen." ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:21 ++msgid "Allow attaching devices to seats" ++msgstr "Das Anschließen von Geräten an Arbeitsstationen erlauben" ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:22 ++msgid "Authentication is required for attaching a device to a seat." ++msgstr "" ++"Legitimierung ist zum Anschließen eines Geräts an eine Arbeitsstation " ++"notwendig." ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:23 ++msgid "Flush device to seat attachments" ++msgstr "Zurücksetzen der an eine Arbeitsstation angeschlossenen Geräte" ++ ++# www.freedesktop.org/wiki/Software/systemd/multiseat/ ++#: ../src/login/org.freedesktop.login1.policy.in.h:24 ++msgid "" ++"Authentication is required for resetting how devices are attached to seats." ++msgstr "" ++"Legitimierung ist zum Zurücksetzen notwendig, wie Geräte an eine " ++"Arbeitsstation angeschlossen werden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:25 ++msgid "Power off the system" ++msgstr "Das System ausschalten" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:26 ++msgid "Authentication is required for powering off the system." ++msgstr "Legitimierung ist zum Ausschalten des Systems notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:27 ++msgid "Power off the system while other users are logged in" ++msgstr "Das System herunter fahren, während andere Benutzer angemeldet sind" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:28 ++msgid "" ++"Authentication is required for powering off the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Herunterfahren des Systems notwendig, während andere " ++"Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:29 ++msgid "Power off the system while an application asked to inhibit it" ++msgstr "" ++"Das System ausschalten, während eine Anwendung anfordert es zu unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:30 ++msgid "" ++"Authentication is required for powering off the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Ausschalten des Systems notwendig, während eine " ++"Anwendung anfordert es zu unterbinden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:31 ++msgid "Reboot the system" ++msgstr "Das System neu starten" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:32 ++msgid "Authentication is required for rebooting the system." ++msgstr "Legitimierung ist zum Neustart des Systems notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:33 ++msgid "Reboot the system while other users are logged in" ++msgstr "Das Systems neu starten, während andere Benutzer angemeldet sind" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:34 ++msgid "" ++"Authentication is required for rebooting the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Neustart des Systems notwendig, während andere " ++"Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:35 ++msgid "Reboot the system while an application asked to inhibit it" ++msgstr "" ++"Das System neu starten, während eine Anwendung anfordert es zu unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:36 ++msgid "" ++"Authentication is required for rebooting the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Neustart des Systems notwendig, während eine Anwendung " ++"anforderte es zu unterbinden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:37 ++msgid "Suspend the system" ++msgstr "Das System in Bereitschaft versetzen" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:38 ++msgid "Authentication is required for suspending the system." ++msgstr "Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:39 ++msgid "Suspend the system while other users are logged in" ++msgstr "" ++"Das System in Bereitschaft versetzen, während andere Benutzer angemeldet " ++"sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:40 ++msgid "" ++"Authentication is required for suspending the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " ++"während andere Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:41 ++msgid "Suspend the system while an application asked to inhibit it" ++msgstr "" ++"Das System in Bereitschaft versetzen, während eine Anwendung anfordert dies " ++"zu unterbinden" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:42 ++msgid "" ++"Authentication is required for suspending the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " ++"während eine Anwendung anfordert dies zu unterbinden." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:43 ++msgid "Hibernate the system" ++msgstr "Den Ruhezustand des Systems aktivieren" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:44 ++msgid "Authentication is required for hibernating the system." ++msgstr "" ++"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:45 ++msgid "Hibernate the system while other users are logged in" ++msgstr "" ++"Den Ruhezustand des Systems aktivieren, während andere Benutzer angemeldet " ++"sind" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:46 ++msgid "" ++"Authentication is required for hibernating the system while other users are " ++"logged in." ++msgstr "" ++"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig, " ++"während andere Benutzer angemeldet sind." ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:47 ++msgid "Hibernate the system while an application asked to inhibit it" ++msgstr "" ++"Das System in den Ruhezustand versetzen, während eine Anwendung wünscht dies " ++"zu verhindern" ++ ++#: ../src/login/org.freedesktop.login1.policy.in.h:48 ++msgid "" ++"Authentication is required for hibernating the system while an application " ++"asked to inhibit it." ++msgstr "" ++"Legitimierung ist zum Versetzen des System in den Ruhezustand notwendig, " ++"während eine Anwendung wünscht dies zu verhindern." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 ++msgid "Set system time" ++msgstr "Die Systemzeit festlegen" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 ++msgid "Authentication is required to set the system time." ++msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 ++msgid "Set system timezone" ++msgstr "Die Systemzeitzone festlegen" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 ++msgid "Authentication is required to set the system timezone." ++msgstr "Legitimierung ist zum Festlegen der Systemzeitzone notwendig." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 ++msgid "Set RTC to local timezone or UTC" ++msgstr "Echtzeituhr auf lokale Zeitzone oder UTC setzen" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 ++msgid "" ++"Authentication is required to control whether the RTC stores the local or " ++"UTC time." ++msgstr "" ++"Legitimierung ist notwendig zum Festlegen, ob die Echtzeituhr auf lokale " ++"Zeitzone oder UTC eingestellt ist." ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 ++msgid "Turn network time synchronization on or off" ++msgstr "Netzwerkzeitabgeich ein- oder ausschalten" ++ ++#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 ++msgid "" ++"Authentication is required to control whether network time synchronization " ++"shall be enabled." ++msgstr "" ++"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein " ++"soll, erforderlich." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 ++msgid "Send passphrase back to system" ++msgstr "Passphrase zurück an das System senden" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 ++msgid "" ++"Authentication is required to send the entered passphrase back to the system." ++msgstr "" ++"Legitimierung ist zum Senden des eingegebenen Kennworts zurück an das System " ++"notwendig." ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 ++msgid "Privileged system and service manager access" ++msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung" ++ ++#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 ++msgid "Authentication is required to access the system and service manager." ++msgstr "" ++"Legitimierung ist notwendig für den Zugriff auf die System- und " ++"Dienstverwaltung." +-- +1.7.9.2 + diff --git a/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch b/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch new file mode 100644 index 00000000..ee4c169a --- /dev/null +++ b/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch @@ -0,0 +1,29 @@ +From 75145780813957ecbe6835f2c8bc20113a3605d2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 25 Mar 2014 00:01:51 +0100 +Subject: [PATCH] sd-event: don't accidentally turn of watchdog timer event if + we determine 0 + +--- + src/libsystemd/sd-event/sd-event.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index d6a3d1c..4aabec1 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -2087,6 +2087,11 @@ static int arm_watchdog(sd_event *e) { + + timespec_store(&its.it_value, t); + ++ /* Make sure we never set the watchdog to 0, which tells the ++ * kernel to disable it. */ ++ if (its.it_value.tv_sec == 0 && its.it_value.tv_nsec == 0) ++ its.it_value.tv_nsec = 1; ++ + r = timerfd_settime(e->watchdog_fd, TFD_TIMER_ABSTIME, &its, NULL); + if (r < 0) + return -errno; +-- +1.7.9.2 + diff --git a/0007-service-flush-status-text-and-errno-values-each-time.patch b/0007-service-flush-status-text-and-errno-values-each-time.patch new file mode 100644 index 00000000..7dbe5a89 --- /dev/null +++ b/0007-service-flush-status-text-and-errno-values-each-time.patch @@ -0,0 +1,29 @@ +From 8cfdb077b8e3da1c47fc1d735d051f21f33144c1 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 7 Jul 2014 17:33:46 +0200 +Subject: [PATCH] service: flush status text and errno values each time a + service is started + +We shouldn't show status texts from previous service starts +--- + src/core/service.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git src/core/service.c src/core/service.c +index d5aff99..0f542ed 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -1699,6 +1699,10 @@ static int service_start(Unit *u) { + s->main_pid_alien = false; + s->forbid_restart = false; + ++ free(s->status_text); ++ s->status_text = NULL; ++ s->status_errno = 0; ++ + service_enter_start_pre(s); + return 0; + } +-- +1.7.9.2 + diff --git a/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch b/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch new file mode 100644 index 00000000..a161a1c4 --- /dev/null +++ b/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch @@ -0,0 +1,26 @@ +From e95c98378ac2d34df864de4a9b785fd17defb77b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 25 Oct 2014 15:15:28 -0400 +Subject: [PATCH] systemctl: do not ignore errors in symlink removal + +On an ro fs, systemctl disable ... would fail silently. +--- + src/shared/install.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/install.c src/shared/install.c +index 0d7c30e..035b44c 100644 +--- src/shared/install.c ++++ src/shared/install.c +@@ -1679,7 +1679,7 @@ int unit_file_disable( + r = install_context_mark_for_removal(&c, &paths, &remove_symlinks_to, config_path, root_dir); + + q = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes, files); +- if (r == 0) ++ if (r >= 0) + r = q; + + return r; +-- +1.7.9.2 + diff --git a/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch b/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch new file mode 100644 index 00000000..a1046c39 --- /dev/null +++ b/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch @@ -0,0 +1,26 @@ +From 8ebf02d6f382ce1ac7e0d44a713b8795a07b08cd Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 30 Jun 2014 21:44:05 +0200 +Subject: [PATCH] units: skip mounting /tmp if it is a symlink + +We shouldn't get confused if people have symlinked /tmp somewhere, so +let's simply skip the mount then. +--- + units/tmp.mount | 1 + + 1 file changed, 1 insertion(+) + +diff --git units/tmp.mount units/tmp.mount +index 99a3ba3..00a0d28 100644 +--- units/tmp.mount ++++ units/tmp.mount +@@ -9,6 +9,7 @@ + Description=Temporary Directory + Documentation=man:hier(7) + Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems ++ConditionPathIsSymbolicLink=!/tmp + DefaultDependencies=no + Conflicts=umount.target + Before=local-fs.target umount.target +-- +1.7.9.2 + diff --git a/0008-Reset-signal-mask-on-re-exec-to-init.patch b/0008-Reset-signal-mask-on-re-exec-to-init.patch new file mode 100644 index 00000000..9fe7d1ea --- /dev/null +++ b/0008-Reset-signal-mask-on-re-exec-to-init.patch @@ -0,0 +1,51 @@ +From 5a85ca1cb622fda4a39c8a6f00dccea7f8a1e82a Mon Sep 17 00:00:00 2001 +From: Ruediger Oertel +Date: Fri, 13 Jun 2014 16:41:06 +0200 +Subject: [PATCH] Reset signal-mask on re-exec to init=.. + +Process 1 (aka init) needs to be started with an empty signal mask. +That includes the process 1 that's started after the initrd is finished. +When the initrd is using systemd (as it does with dracut based initrds) +then it is systemd that calls the real init. Normally this is systemd +again, except when the user uses for instance "init=/bin/bash" on the +kernel command line. +--- + src/core/main.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git src/core/main.c src/core/main.c +index 3aac5d1..3e57f07 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1843,6 +1843,7 @@ finish: + if (reexecute) { + const char **args; + unsigned i, args_size; ++ sigset_t ss, o_ss; + + /* Close and disarm the watchdog, so that the new + * instance can reinitialize it, but doesn't get +@@ -1926,6 +1927,11 @@ finish: + args[i++] = NULL; + assert(i <= args_size); + ++ /* reenable any blocked signals, especially important ++ * if we switch from initial ramdisk to init=... */ ++ sigemptyset(&ss); ++ sigprocmask(SIG_SETMASK, &ss, &o_ss); ++ + if (switch_root_init) { + args[0] = switch_root_init; + execv(args[0], (char* const*) args); +@@ -1944,6 +1950,8 @@ finish: + log_error("Failed to execute /bin/sh, giving up: %m"); + } else + log_warning("Failed to execute /sbin/init, giving up: %m"); ++ ++ sigprocmask(SIG_SETMASK, &o_ss, NULL); + } + + if (arg_serialization) { +-- +1.7.9.2 + diff --git a/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch b/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch new file mode 100644 index 00000000..25994e95 --- /dev/null +++ b/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch @@ -0,0 +1,51 @@ +From 1ae383a8a3ae4824453e297352fda603d2d3fd5e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 25 Feb 2014 21:26:31 -0500 +Subject: [PATCH] Use /var/run/dbus/system_bus_socket for the D-Bus socket + +--- + man/systemd-bus-proxyd@.service.xml | 2 +- + src/shared/def.h | 2 +- + units/systemd-bus-proxyd.socket | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git man/systemd-bus-proxyd@.service.xml man/systemd-bus-proxyd@.service.xml +index 75a3c8b..3a5930d 100644 +--- man/systemd-bus-proxyd@.service.xml ++++ man/systemd-bus-proxyd@.service.xml +@@ -59,7 +59,7 @@ along with systemd; If not, see . + systemd-bus-proxyd.socket will launch + systemd-bus-proxyd@.service for connections + to the classic D-Bus socket in +- /run/dbus/system_bus_socket. ++ /var/run/dbus/system_bus_socket. + + systemd-bus-proxyd@.service is launched + for an existing D-Bus connection and will use +diff --git src/shared/def.h src/shared/def.h +index 7777756..aa489d8 100644 +--- src/shared/def.h ++++ src/shared/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS +diff --git units/systemd-bus-proxyd.socket units/systemd-bus-proxyd.socket +index 406e15b..6c42d38 100644 +--- units/systemd-bus-proxyd.socket ++++ units/systemd-bus-proxyd.socket +@@ -9,5 +9,5 @@ + Description=Legacy D-Bus Protocol Compatibility Socket + + [Socket] +-ListenStream=/run/dbus/system_bus_socket ++ListenStream=/var/run/dbus/system_bus_socket + Accept=yes +-- +1.7.9.2 + diff --git a/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch b/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch new file mode 100644 index 00000000..8dfd01bc --- /dev/null +++ b/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch @@ -0,0 +1,102 @@ +From bd44e61b0480712ec5585ff7b0295362a5f9dd36 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 6 Mar 2014 02:19:42 +0100 +Subject: [PATCH] core: correctly unregister PIDs from PID hashtables + +--- + src/core/unit.c | 42 ++++++++++++++++++------------------------ + 1 file changed, 18 insertions(+), 24 deletions(-) + +diff --git src/core/unit.c src/core/unit.c +index 2437ee3..85250ca 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1704,11 +1704,11 @@ int unit_watch_pid(Unit *u, pid_t pid) { + /* Watch a specific PID. We only support one or two units + * watching each PID for now, not more. */ + +- r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); ++ r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); + if (r < 0) + return r; + +- r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); ++ r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); + if (r < 0) + return r; + +@@ -1737,7 +1737,17 @@ void unit_unwatch_pid(Unit *u, pid_t pid) { + set_remove(u->pids, LONG_TO_PTR(pid)); + } + +-static int watch_pids_in_path(Unit *u, const char *path) { ++void unit_unwatch_all_pids(Unit *u) { ++ assert(u); ++ ++ while (!set_isempty(u->pids)) ++ unit_unwatch_pid(u, PTR_TO_LONG(set_first(u->pids))); ++ ++ set_free(u->pids); ++ u->pids = NULL; ++} ++ ++static int unit_watch_pids_in_path(Unit *u, const char *path) { + _cleanup_closedir_ DIR *d = NULL; + _cleanup_fclose_ FILE *f = NULL; + int ret = 0, r; +@@ -1775,7 +1785,7 @@ static int watch_pids_in_path(Unit *u, const char *path) { + if (!p) + return -ENOMEM; + +- r = watch_pids_in_path(u, p); ++ r = unit_watch_pids_in_path(u, p); + if (r < 0 && ret >= 0) + ret = r; + } +@@ -1788,31 +1798,15 @@ static int watch_pids_in_path(Unit *u, const char *path) { + return ret; + } + +- + int unit_watch_all_pids(Unit *u) { + assert(u); + +- if (!u->cgroup_path) +- return -ENOENT; +- + /* Adds all PIDs from our cgroup to the set of PIDs we watch */ + +- return watch_pids_in_path(u, u->cgroup_path); +-} +- +-void unit_unwatch_all_pids(Unit *u) { +- Iterator i; +- void *e; +- +- assert(u); +- +- SET_FOREACH(e, u->pids, i) { +- hashmap_remove_value(u->manager->watch_pids1, e, u); +- hashmap_remove_value(u->manager->watch_pids2, e, u); +- } ++ if (!u->cgroup_path) ++ return -ENOENT; + +- set_free(u->pids); +- u->pids = NULL; ++ return unit_watch_pids_in_path(u, u->cgroup_path); + } + + void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { +@@ -1830,7 +1824,7 @@ void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { + continue; + + if (!pid_is_unwaited(pid)) +- set_remove(u->pids, e); ++ unit_unwatch_pid(u, pid); + } + } + +-- +1.7.9.2 + diff --git a/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch b/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch new file mode 100644 index 00000000..1cc429ce --- /dev/null +++ b/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch @@ -0,0 +1,31 @@ +From b9289d4c6e13ec5fb67bfce69c826d93b004da6a Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Fri, 12 Sep 2014 16:49:48 +0300 +Subject: [PATCH] core: smack-setup: Actually allow for succesfully loading + CIPSO policy + +The line under the last switch statement *loaded_policy = true; +would never be executed. As all switch cases return 0. Thus the +policy would never be marked as loaded. + +Found with Coverity. Fixes: CID#1237785 +--- + src/core/smack-setup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/smack-setup.c src/core/smack-setup.c +index 5f6dabf..5d8a26c 100644 +--- src/core/smack-setup.c ++++ src/core/smack-setup.c +@@ -158,7 +158,7 @@ int smack_setup(bool *loaded_policy) { + return 0; + case 0: + log_info("Successfully loaded Smack/CIPSO policies."); +- return 0; ++ break; + default: + log_warning("Failed to load Smack/CIPSO access rules: %s, ignoring.", + strerror(abs(r))); +-- +1.7.9.2 + diff --git a/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..9c554056 --- /dev/null +++ b/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,104 @@ +From de68938a2cb3ab535ebd9198723a651753c1a1df Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Mon, 8 Sep 2014 05:06:18 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 77 ++++++++++++++++++++++++++++++++- + 1 file changed, 76 insertions(+), 1 deletion(-) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 9f3136a..14aee74 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -184,7 +184,7 @@ bluetooth:v003B* + ID_VENDOR_FROM_DATABASE=Gennum Corporation + + bluetooth:v003C* +- ID_VENDOR_FROM_DATABASE=Research In Motion ++ ID_VENDOR_FROM_DATABASE=BlackBerry Limited (formerly Research In Motion) + + bluetooth:v003D* + ID_VENDOR_FROM_DATABASE=IPextreme, Inc. +@@ -1073,3 +1073,78 @@ bluetooth:v0162* + + bluetooth:v0163* + ID_VENDOR_FROM_DATABASE=PCH International ++ ++bluetooth:v0164* ++ ID_VENDOR_FROM_DATABASE=Qingdao Yeelink Information Technology Co., Ltd. ++ ++bluetooth:v0165* ++ ID_VENDOR_FROM_DATABASE=Milwaukee Tool (formerly Milwaukee Electric Tools) ++ ++bluetooth:v0166* ++ ID_VENDOR_FROM_DATABASE=MISHIK Pte Ltd ++ ++bluetooth:v0167* ++ ID_VENDOR_FROM_DATABASE=Bayer HealthCare ++ ++bluetooth:v0168* ++ ID_VENDOR_FROM_DATABASE=Spicebox LLC ++ ++bluetooth:v0169* ++ ID_VENDOR_FROM_DATABASE=emberlight ++ ++bluetooth:v016A* ++ ID_VENDOR_FROM_DATABASE=Cooper-Atkins Corporation ++ ++bluetooth:v016B* ++ ID_VENDOR_FROM_DATABASE=Qblinks ++ ++bluetooth:v016C* ++ ID_VENDOR_FROM_DATABASE=MYSPHERA ++ ++bluetooth:v016D* ++ ID_VENDOR_FROM_DATABASE=LifeScan Inc ++ ++bluetooth:v016E* ++ ID_VENDOR_FROM_DATABASE=Volantic AB ++ ++bluetooth:v016F* ++ ID_VENDOR_FROM_DATABASE=Podo Labs, Inc ++ ++bluetooth:v0170* ++ ID_VENDOR_FROM_DATABASE=Roche Diabetes Care AG ++ ++bluetooth:v0171* ++ ID_VENDOR_FROM_DATABASE=Amazon Fulfillment Service ++ ++bluetooth:v0172* ++ ID_VENDOR_FROM_DATABASE=Connovate Technology Private Limited ++ ++bluetooth:v0173* ++ ID_VENDOR_FROM_DATABASE=Kocomojo, LLC ++ ++bluetooth:v0174* ++ ID_VENDOR_FROM_DATABASE=Everykey LLC ++ ++bluetooth:v0175* ++ ID_VENDOR_FROM_DATABASE=Dynamic Controls ++ ++bluetooth:v0176* ++ ID_VENDOR_FROM_DATABASE=SentriLock ++ ++bluetooth:v0177* ++ ID_VENDOR_FROM_DATABASE=I-SYST inc. ++ ++bluetooth:v0178* ++ ID_VENDOR_FROM_DATABASE=CASIO COMPUTER CO., LTD. ++ ++bluetooth:v0179* ++ ID_VENDOR_FROM_DATABASE=LAPIS Semiconductor Co., Ltd. ++ ++bluetooth:v017A* ++ ID_VENDOR_FROM_DATABASE=Telemonitor, Inc. ++ ++bluetooth:v017B* ++ ID_VENDOR_FROM_DATABASE=taskit GmbH ++ ++bluetooth:v017C* ++ ID_VENDOR_FROM_DATABASE=Daimler AG +-- +1.7.9.2 + diff --git a/0008-hwdb-update.patch b/0008-hwdb-update.patch new file mode 100644 index 00000000..062b229b --- /dev/null +++ b/0008-hwdb-update.patch @@ -0,0 +1,1425 @@ +From cccc74971fe3c853832d742a15eac94f365603b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 20 Aug 2014 00:38:39 +0200 +Subject: [PATCH] update hwdb + +--- + hwdb/20-OUI.hwdb | 177 +++++++++++- + hwdb/20-pci-vendor-model.hwdb | 592 ++++++++++++++++++++++++++++++++++++++++- + hwdb/20-usb-vendor-model.hwdb | 12 + + 3 files changed, 776 insertions(+), 5 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index f9501be..e0c5fed 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -21371,7 +21371,7 @@ OUI:000A2F* + ID_OUI_FROM_DATABASE=Artnix Inc. + + OUI:000A30* +- ID_OUI_FROM_DATABASE=Johnson Controls-ASG ++ ID_OUI_FROM_DATABASE=Visteon Corporation + + OUI:000A31* + ID_OUI_FROM_DATABASE=HCV Consulting +@@ -51601,6 +51601,9 @@ OUI:00E666* + OUI:00E6D3* + ID_OUI_FROM_DATABASE=NIXDORF COMPUTER CORP. + ++OUI:00E6E8* ++ ID_OUI_FROM_DATABASE=Netzin Technology Corporation,.Ltd. ++ + OUI:00E8AB* + ID_OUI_FROM_DATABASE=Meggitt Training Systems, Inc. + +@@ -51616,6 +51619,9 @@ OUI:00F051* + OUI:00F403* + ID_OUI_FROM_DATABASE=Orbis Systems Oy + ++OUI:00F46F* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:00F4B9* + ID_OUI_FROM_DATABASE=Apple + +@@ -51856,6 +51862,9 @@ OUI:0498F3* + OUI:0499E6* + ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd + ++OUI:049B9C* ++ ID_OUI_FROM_DATABASE=Eadingcore Intelligent Technology Co., Ltd. ++ + OUI:049C62* + ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. + +@@ -52720,6 +52729,9 @@ OUI:08E84F* + OUI:08EA44* + ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. + ++OUI:08EB29* ++ ID_OUI_FROM_DATABASE=Jiangsu Huitong Group Co.,Ltd. ++ + OUI:08EB74* + ID_OUI_FROM_DATABASE=Humax + +@@ -52729,6 +52741,9 @@ OUI:08EBED* + OUI:08EDB9* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:08EE8B* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:08EF3B* + ID_OUI_FROM_DATABASE=MCS Logic Inc. + +@@ -52969,6 +52984,9 @@ OUI:0CAC05* + OUI:0CAF5A* + ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED + ++OUI:0CB319* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:0CB4EF* + ID_OUI_FROM_DATABASE=Digience Co.,Ltd. + +@@ -53036,7 +53054,7 @@ OUI:0CD996* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + + OUI:0CD9C1* +- ID_OUI_FROM_DATABASE=Johnson Controls-ASG ++ ID_OUI_FROM_DATABASE=Visteon Corporation + + OUI:0CDA41* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited +@@ -53434,6 +53452,9 @@ OUI:10F96F* + OUI:10F9EE* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:10FACE* ++ ID_OUI_FROM_DATABASE=Reacheng Communication Technology Co.,Ltd ++ + OUI:10FBF0* + ID_OUI_FROM_DATABASE=KangSheng LTD. + +@@ -55417,6 +55438,9 @@ OUI:2C441B* + OUI:2C44FD* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:2C5089* ++ ID_OUI_FROM_DATABASE=Shenzhen Kaixuan Visual Technology Co.,Limited ++ + OUI:2C534A* + ID_OUI_FROM_DATABASE=Shenzhen Winyao Electronic Limited + +@@ -55774,6 +55798,9 @@ OUI:306E5C* + OUI:3071B2* + ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. + ++OUI:307350* ++ ID_OUI_FROM_DATABASE=Inpeco SA ++ + OUI:307512* + ID_OUI_FROM_DATABASE=Sony Mobile Communications AB + +@@ -55972,6 +55999,9 @@ OUI:343111* + OUI:3431C4* + ID_OUI_FROM_DATABASE=AVM GmbH + ++OUI:3438AF* ++ ID_OUI_FROM_DATABASE=Inlab Software GmbH ++ + OUI:3440B5* + ID_OUI_FROM_DATABASE=IBM + +@@ -56323,12 +56353,18 @@ OUI:3826CD* + OUI:3828EA* + ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD + ++OUI:382C4A* ++ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. ++ + OUI:382DD1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + + OUI:3831AC* + ID_OUI_FROM_DATABASE=WEG + ++OUI:383BC8* ++ ID_OUI_FROM_DATABASE=2wire ++ + OUI:383F10* + ID_OUI_FROM_DATABASE=DBL Technology Ltd. + +@@ -56416,6 +56452,9 @@ OUI:388EE7* + OUI:3891FB* + ID_OUI_FROM_DATABASE=Xenox Holding BV + ++OUI:389496* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:389592* + ID_OUI_FROM_DATABASE=Beijing Tendyron Corporation + +@@ -56605,6 +56644,9 @@ OUI:3C1A79* + OUI:3C1CBE* + ID_OUI_FROM_DATABASE=JADAK LLC + ++OUI:3C1E13* ++ ID_OUI_FROM_DATABASE=HANGZHOU SUNRISE TECHNOLOGY CO., LTD ++ + OUI:3C25D7* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -57343,6 +57385,9 @@ OUI:446C24* + OUI:446D57* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + ++OUI:446D6C* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:44700B* + ID_OUI_FROM_DATABASE=IFFU + +@@ -57778,6 +57823,9 @@ OUI:4C09B4* + OUI:4C0B3A* + ID_OUI_FROM_DATABASE=TCT Mobile Limited + ++OUI:4C0BBE* ++ ID_OUI_FROM_DATABASE=Microsoft ++ + OUI:4C0DEE* + ID_OUI_FROM_DATABASE=JABIL CIRCUIT (SHANGHAI) LTD. + +@@ -58372,6 +58420,9 @@ OUI:50ED94* + OUI:50F003* + ID_OUI_FROM_DATABASE=Open Stack, Inc. + ++OUI:50F43C* ++ ID_OUI_FROM_DATABASE=Leeo Inc ++ + OUI:50F520* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -58405,6 +58456,9 @@ OUI:540536* + OUI:54055F* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:54098D* ++ ID_OUI_FROM_DATABASE=deister electronic GmbH ++ + OUI:54112F* + ID_OUI_FROM_DATABASE=Sulzer Pump Solutions Finland Oy + +@@ -59137,6 +59191,9 @@ OUI:5C93A2* + OUI:5C95AE* + ID_OUI_FROM_DATABASE=Apple + ++OUI:5C966A* ++ ID_OUI_FROM_DATABASE=RTNET ++ + OUI:5C969D* + ID_OUI_FROM_DATABASE=Apple + +@@ -59905,6 +59962,9 @@ OUI:64AE0C* + OUI:64AE88* + ID_OUI_FROM_DATABASE=Polytec GmbH + ++OUI:64B21D* ++ ID_OUI_FROM_DATABASE=Chengdu Phycom Tech Co., Ltd. ++ + OUI:64B310* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -59917,6 +59977,9 @@ OUI:64B473* + OUI:64B64A* + ID_OUI_FROM_DATABASE=ViVOtech, Inc. + ++OUI:64B853* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:64B9E8* + ID_OUI_FROM_DATABASE=Apple + +@@ -60208,6 +60271,9 @@ OUI:68974B* + OUI:6897E8* + ID_OUI_FROM_DATABASE=Society of Motion Picture & Television Engineers + ++OUI:6899CD* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:689C5E* + ID_OUI_FROM_DATABASE=AcSiP Technology Corp. + +@@ -60325,6 +60391,9 @@ OUI:68F06D* + OUI:68F125* + ID_OUI_FROM_DATABASE=Data Controls Inc. + ++OUI:68F728* ++ ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd ++ + OUI:68F895* + ID_OUI_FROM_DATABASE=Redflow Limited + +@@ -61081,12 +61150,18 @@ OUI:744D79* + OUI:745327* + ID_OUI_FROM_DATABASE=COMMSEN CO., LIMITED + ++OUI:74547D* ++ ID_OUI_FROM_DATABASE=Cisco SPVTG ++ + OUI:745612* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + + OUI:745798* + ID_OUI_FROM_DATABASE=TRUMPF Laser GmbH + Co. KG + ++OUI:745C9F* ++ ID_OUI_FROM_DATABASE=TCT mobile ltd. ++ + OUI:745E1C* + ID_OUI_FROM_DATABASE=PIONEER CORPORATION + +@@ -62446,6 +62521,9 @@ OUI:842615* + OUI:84262B* + ID_OUI_FROM_DATABASE=Alcatel-Lucent + ++OUI:842690* ++ ID_OUI_FROM_DATABASE=BEIJING THOUGHT SCIENCE CO.,LTD. ++ + OUI:8427CE* + ID_OUI_FROM_DATABASE=Corporation of the Presiding Bishop of The Church of Jesus Christ of Latter-day Saints + +@@ -62506,6 +62584,9 @@ OUI:844F03* + OUI:845181* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:8455A5* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:84569C* + ID_OUI_FROM_DATABASE=Coho Data, Inc., + +@@ -62611,6 +62692,9 @@ OUI:849CA6* + OUI:849DC5* + ID_OUI_FROM_DATABASE=Centera Photonics Inc. + ++OUI:84A466* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:84A6C8* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -62824,6 +62908,9 @@ OUI:886B76* + OUI:88708C* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:8870EF* ++ ID_OUI_FROM_DATABASE=SC Professional Trading Co., Ltd. ++ + OUI:887398* + ID_OUI_FROM_DATABASE=K2E Tekpoint + +@@ -62998,6 +63085,9 @@ OUI:8C006D* + OUI:8C04FF* + ID_OUI_FROM_DATABASE=Technicolor USA Inc. + ++OUI:8C0551* ++ ID_OUI_FROM_DATABASE=Koubachi AG ++ + OUI:8C078C* + ID_OUI_FROM_DATABASE=FLOW DATA INC + +@@ -63181,6 +63271,9 @@ OUI:8C8E76* + OUI:8C90D3* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:8C9109* ++ ID_OUI_FROM_DATABASE=Toyoshima Electric Technoeogy(Suzhou) Co.,Ltd. ++ + OUI:8C9236* + ID_OUI_FROM_DATABASE=Aus.Linx Technology Co., Ltd. + +@@ -64249,6 +64342,9 @@ OUI:98F8C1* + OUI:98F8DB* + ID_OUI_FROM_DATABASE=Marini Impianti Industriali s.r.l. + ++OUI:98FAE3* ++ ID_OUI_FROM_DATABASE=Xiaomi inc. ++ + OUI:98FB12* + ID_OUI_FROM_DATABASE=Grand Electronics (HK) Ltd + +@@ -64804,6 +64900,9 @@ OUI:A0A130* + OUI:A0A23C* + ID_OUI_FROM_DATABASE=GPMS + ++OUI:A0A3E2* ++ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc ++ + OUI:A0A763* + ID_OUI_FROM_DATABASE=Polytron Vertrieb GmbH + +@@ -64819,6 +64918,9 @@ OUI:A0B100* + OUI:A0B3CC* + ID_OUI_FROM_DATABASE=Hewlett Packard + ++OUI:A0B4A5* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:A0B5DA* + ID_OUI_FROM_DATABASE=HongKong THTF Co., Ltd + +@@ -65116,6 +65218,9 @@ OUI:A49A58* + OUI:A49B13* + ID_OUI_FROM_DATABASE=Burroughs Payment Systems, Inc. + ++OUI:A49D49* ++ ID_OUI_FROM_DATABASE=Ketra, Inc. ++ + OUI:A49EDB* + ID_OUI_FROM_DATABASE=AutoCrib, Inc. + +@@ -65389,6 +65494,9 @@ OUI:A8776F* + OUI:A87B39* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:A87C01* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:A87E33* + ID_OUI_FROM_DATABASE=Nokia Danmark A/S + +@@ -65479,6 +65587,9 @@ OUI:A8CCC5* + OUI:A8CE90* + ID_OUI_FROM_DATABASE=CVC + ++OUI:A8D0E3* ++ ID_OUI_FROM_DATABASE=Systech Electronics Ltd. ++ + OUI:A8D0E5* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -65488,6 +65599,9 @@ OUI:A8D236* + OUI:A8D3C8* + ID_OUI_FROM_DATABASE=Wachendorff Elektronik GmbH & Co. KG + ++OUI:A8D88A* ++ ID_OUI_FROM_DATABASE=Wyconn ++ + OUI:A8E018* + ID_OUI_FROM_DATABASE=Nokia Corporation + +@@ -65602,6 +65716,9 @@ OUI:AC3613* + OUI:AC3870* + ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. + ++OUI:AC3A7A* ++ ID_OUI_FROM_DATABASE=Roku ++ + OUI:AC3C0B* + ID_OUI_FROM_DATABASE=Apple + +@@ -66049,6 +66166,9 @@ OUI:B09074* + OUI:B09134* + ID_OUI_FROM_DATABASE=Taleo + ++OUI:B09137* ++ ID_OUI_FROM_DATABASE=ISis ImageStream Internet Solutions, Inc ++ + OUI:B0973A* + ID_OUI_FROM_DATABASE=E-Fuel Corporation + +@@ -66271,6 +66391,9 @@ OUI:B435F7* + OUI:B43741* + ID_OUI_FROM_DATABASE=Consert, Inc. + ++OUI:B43934* ++ ID_OUI_FROM_DATABASE=Pen Generations, Inc. ++ + OUI:B439D6* + ID_OUI_FROM_DATABASE=ProCurve Networking by HP + +@@ -66397,6 +66520,9 @@ OUI:B4A4E3* + OUI:B4A5A9* + ID_OUI_FROM_DATABASE=MODI GmbH + ++OUI:B4A828* ++ ID_OUI_FROM_DATABASE=Shenzhen Concox Information Technology Co., Ltd ++ + OUI:B4A82B* + ID_OUI_FROM_DATABASE=Histar Digital Electronics Co., Ltd. + +@@ -67114,6 +67240,9 @@ OUI:BCBAE1* + OUI:BCBBC9* + ID_OUI_FROM_DATABASE=Kellendonk Elektronik GmbH + ++OUI:BCBC46* ++ ID_OUI_FROM_DATABASE=SKS Welding Systems GmbH ++ + OUI:BCC168* + ID_OUI_FROM_DATABASE=DinBox Sverige AB + +@@ -67840,6 +67969,9 @@ OUI:C819F7* + OUI:C81AFE* + ID_OUI_FROM_DATABASE=DLOGIC GmbH + ++OUI:C81B6B* ++ ID_OUI_FROM_DATABASE=Innova Security ++ + OUI:C81E8E* + ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd + +@@ -68530,6 +68662,9 @@ OUI:D01AA7* + OUI:D01CBB* + ID_OUI_FROM_DATABASE=Beijing Ctimes Digital Technology Co., Ltd. + ++OUI:D02212* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:D022BE* + ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. + +@@ -69259,6 +69394,9 @@ OUI:D831CF* + OUI:D8337F* + ID_OUI_FROM_DATABASE=Office FA.com Co.,Ltd. + ++OUI:D83C69* ++ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp ++ + OUI:D842AC* + ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. + +@@ -69349,6 +69487,9 @@ OUI:D88039* + OUI:D881CE* + ID_OUI_FROM_DATABASE=AHN INC. + ++OUI:D88466* ++ ID_OUI_FROM_DATABASE=Extreme Networks ++ + OUI:D88A3B* + ID_OUI_FROM_DATABASE=UNIT-EM + +@@ -69376,6 +69517,9 @@ OUI:D89760* + OUI:D8977C* + ID_OUI_FROM_DATABASE=Grey Innovation + ++OUI:D897BA* ++ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION ++ + OUI:D89D67* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -69442,6 +69586,9 @@ OUI:D8C7C8* + OUI:D8C99D* + ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED + ++OUI:D8CB8A* ++ ID_OUI_FROM_DATABASE=Micro-Star INTL CO., LTD. ++ + OUI:D8CF9C* + ID_OUI_FROM_DATABASE=Apple + +@@ -69505,6 +69652,9 @@ OUI:D8EE78* + OUI:D8F0F2* + ID_OUI_FROM_DATABASE=Zeebo Inc + ++OUI:D8F710* ++ ID_OUI_FROM_DATABASE=Libre Wireless Technologies Inc. ++ + OUI:D8FB11* + ID_OUI_FROM_DATABASE=AXACORE + +@@ -69749,7 +69899,7 @@ OUI:DCD87F* + ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd + + OUI:DCDA4F* +- ID_OUI_FROM_DATABASE=GET Technology,INC ++ ID_OUI_FROM_DATABASE=GETCK TECHNOLOGY, INC + + OUI:DCDECA* + ID_OUI_FROM_DATABASE=Akyllor +@@ -69763,6 +69913,9 @@ OUI:DCE578* + OUI:DCE71C* + ID_OUI_FROM_DATABASE=AUG Elektronik GmbH + ++OUI:DCEC06* ++ ID_OUI_FROM_DATABASE=Heimi Network Technology Co., Ltd. ++ + OUI:DCF05D* + ID_OUI_FROM_DATABASE=Letta Teknoloji + +@@ -69856,6 +70009,9 @@ OUI:E039D7* + OUI:E03C5B* + ID_OUI_FROM_DATABASE=SHENZHEN JIAXINJIE ELECTRON CO.,LTD + ++OUI:E03E44* ++ ID_OUI_FROM_DATABASE=Broadcom Corporation ++ + OUI:E03E4A* + ID_OUI_FROM_DATABASE=Cavanagh Group International + +@@ -70378,6 +70534,9 @@ OUI:E4F4C6* + OUI:E4F7A1* + ID_OUI_FROM_DATABASE=Datafox GmbH + ++OUI:E4F8EF* ++ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd ++ + OUI:E4FA1D* + ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc. + +@@ -70549,6 +70708,9 @@ OUI:E8802E* + OUI:E880D8* + ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. + ++OUI:E887A3* ++ ID_OUI_FROM_DATABASE=Loxley Public Company Limited ++ + OUI:E8892C* + ID_OUI_FROM_DATABASE=ARRIS Group, Inc. + +@@ -70627,6 +70789,9 @@ OUI:E8C320* + OUI:E8CBA1* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:E8CC18* ++ ID_OUI_FROM_DATABASE=D-Link International ++ + OUI:E8CC32* + ID_OUI_FROM_DATABASE=Micronet LTD + +@@ -71008,6 +71173,9 @@ OUI:F015A0* + OUI:F01C13* + ID_OUI_FROM_DATABASE=LG Electronics + ++OUI:F01C2D* ++ ID_OUI_FROM_DATABASE=Juniper Networks ++ + OUI:F01FAF* + ID_OUI_FROM_DATABASE=Dell Inc + +@@ -71398,6 +71566,9 @@ OUI:F4472A* + OUI:F44848* + ID_OUI_FROM_DATABASE=Amscreen Group Ltd + ++OUI:F44E05* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:F44EFD* + ID_OUI_FROM_DATABASE=Actions Semiconductor Co.,Ltd.(Cayman Islands) + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index a6a2754..3bcdbc0 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -10478,6 +10478,9 @@ pci:v00001014d0000034Asv00001014sd000004C8* + pci:v00001014d0000034Asv00001014sd00000C49* + ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) + ++pci:v00001014d0000044B* ++ ID_MODEL_FROM_DATABASE=GenWQE Accelerator Adapter ++ + pci:v00001014d000004AA* + ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) + +@@ -26387,6 +26390,9 @@ pci:v000010DEd00000FE2* + pci:v000010DEd00000FE3* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] + ++pci:v000010DEd00000FE3sv0000103Csd00002B16* ++ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) ++ + pci:v000010DEd00000FE3sv000017AAsd00003675* + ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) + +@@ -26420,6 +26426,9 @@ pci:v000010DEd00000FF1* + pci:v000010DEd00000FF2* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K1] + ++pci:v000010DEd00000FF3* ++ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K420] ++ + pci:v000010DEd00000FF5* + ID_MODEL_FROM_DATABASE=GK107GL [GRID K1 Tesla USM] + +@@ -26546,6 +26555,9 @@ pci:v000010DEd00001029* + pci:v000010DEd0000103A* + ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] + ++pci:v000010DEd0000103C* ++ ID_MODEL_FROM_DATABASE=GK110GL [Quadro K5200] ++ + pci:v000010DEd00001040* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 520] + +@@ -26981,6 +26993,12 @@ pci:v000010DEd00001140sv00001028sd000005F4* + pci:v000010DEd00001140sv00001028sd0000064E* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + ++pci:v000010DEd00001140sv00001028sd00000652* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ ++pci:v000010DEd00001140sv00001028sd00000662* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv00001028sd0000068D* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) + +@@ -27239,9 +27257,15 @@ pci:v000010DEd00001140sv0000152Dsd00000982* + pci:v000010DEd00001140sv0000152Dsd00000983* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + ++pci:v000010DEd00001140sv0000152Dsd00001005* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 820M) ++ + pci:v000010DEd00001140sv0000152Dsd00001012* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) + ++pci:v000010DEd00001140sv0000152Dsd00001019* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv0000152Dsd00001030* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) + +@@ -27254,6 +27278,9 @@ pci:v000010DEd00001140sv0000152Dsd00001067* + pci:v000010DEd00001140sv0000152Dsd00001072* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) + ++pci:v000010DEd00001140sv0000152Dsd00001086* ++ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) ++ + pci:v000010DEd00001140sv000017AAsd00002200* + ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) + +@@ -27578,6 +27605,9 @@ pci:v000010DEd000011B0sv000010DEsd0000101B* + pci:v000010DEd000011B1* + ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] + ++pci:v000010DEd000011B4* ++ ID_MODEL_FROM_DATABASE=GK104GL [Quadro K4200] ++ + pci:v000010DEd000011B6* + ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K3100M] + +@@ -27863,6 +27893,9 @@ pci:v000010DEd00001295sv0000103Csd00002B0F* + pci:v000010DEd00001295sv0000103Csd00002B11* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) + ++pci:v000010DEd00001295sv0000103Csd00002B20* ++ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce 810A) ++ + pci:v000010DEd00001295sv0000103Csd00002B21* + ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) + +@@ -27887,6 +27920,9 @@ pci:v000010DEd000012BA* + pci:v000010DEd00001340* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] + ++pci:v000010DEd00001340sv0000103Csd00002B2B* ++ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] (GeForce 830A) ++ + pci:v000010DEd00001341* + ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] + +@@ -27926,6 +27962,15 @@ pci:v000010DEd00001392* + pci:v000010DEd00001393* + ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] + ++pci:v000010DEd000013B3* ++ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro K2200M] ++ ++pci:v000010DEd000013BA* ++ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K2200] ++ ++pci:v000010DEd000013BB* ++ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] ++ + pci:v000010DF* + ID_VENDOR_FROM_DATABASE=Emulex Corporation + +@@ -29291,6 +29336,9 @@ pci:v00001103d00000622* + pci:v00001103d00000640* + ID_MODEL_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller + ++pci:v00001103d00000644* ++ ID_MODEL_FROM_DATABASE=RocketRAID 644 4 Port SATA-III Controller (eSATA) ++ + pci:v00001103d00001720* + ID_MODEL_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller) + +@@ -40325,6 +40373,12 @@ pci:v00001360d00000205* + pci:v00001360d00000206* + ID_MODEL_FROM_DATABASE=GPS180PEX GPS Receiver (PCI Express) + ++pci:v00001360d00000207* ++ ID_MODEL_FROM_DATABASE=GLN180PEX GPS/GLONASS receiver (PCI Express) ++ ++pci:v00001360d00000208* ++ ID_MODEL_FROM_DATABASE=GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) ++ + pci:v00001360d00000301* + ID_MODEL_FROM_DATABASE=TCR510PCI IRIG Timecode Reader + +@@ -41525,6 +41579,9 @@ pci:v000013F6d00008788sv00001043sd00008428* + pci:v000013F6d00008788sv00001043sd00008467* + ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) + ++pci:v000013F6d00008788sv00001043sd000085F4* ++ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX II)) ++ + pci:v000013F6d00008788sv000013F6sd00008782* + ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) + +@@ -45905,6 +45962,9 @@ pci:v000014E4d000043A0* + pci:v000014E4d000043A9* + ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n + ++pci:v000014E4d000043AA* ++ ID_MODEL_FROM_DATABASE=BCM43131 802.11b/g/n ++ + pci:v000014E4d000043B1* + ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter + +@@ -46884,7 +46944,7 @@ pci:v000014F1d00008852* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder + + pci:v000014F1d00008852sv00000070sd00008010* +- ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinTV HVR-1400 ExpressCard) + + pci:v000014F1d00008852sv0000107Dsd00006F22* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) +@@ -46898,6 +46958,9 @@ pci:v000014F1d00008852sv0000153Bsd0000117E* + pci:v000014F1d00008852sv000018ACsd0000DB78* + ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) + ++pci:v000014F1d00008852sv00004254sd00009580* ++ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (T9580) ++ + pci:v000014F1d00008880* + ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb + +@@ -47438,6 +47501,18 @@ pci:v00001542* + pci:v00001542d00009260* + ID_MODEL_FROM_DATABASE=RCIM-II Real-Time Clock & Interrupt Module + ++pci:v00001542d00009272* ++ ID_MODEL_FROM_DATABASE=Pulse Width Modulator Card ++ ++pci:v00001542d00009277* ++ ID_MODEL_FROM_DATABASE=5 Volt Delta Sigma Converter Card ++ ++pci:v00001542d00009278* ++ ID_MODEL_FROM_DATABASE=10 Volt Delta Sigma Converter Card ++ ++pci:v00001542d00009287* ++ ID_MODEL_FROM_DATABASE=Analog Output Card ++ + pci:v00001543* + ID_VENDOR_FROM_DATABASE=SILICON Laboratories + +@@ -49505,6 +49580,9 @@ pci:v000016B8* + pci:v000016BE* + ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH + ++pci:v000016C3* ++ ID_VENDOR_FROM_DATABASE=Synopsys, Inc. ++ + pci:v000016C6* + ID_VENDOR_FROM_DATABASE=Micrel-Kendin + +@@ -53936,6 +54014,9 @@ pci:v0000416Cd00000100* + pci:v0000416Cd00000200* + ID_MODEL_FROM_DATABASE=CPC + ++pci:v00004254* ++ ID_VENDOR_FROM_DATABASE=DVBSky ++ + pci:v00004321* + ID_VENDOR_FROM_DATABASE=Tata Power Strategic Electronics Division + +@@ -59621,6 +59702,12 @@ pci:v00008086d000015A2* + pci:v00008086d000015A3* + ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V + ++pci:v00008086d000015B7* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V ++ ++pci:v00008086d000015B8* ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM ++ + pci:v00008086d00001600* + ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI + +@@ -69614,6 +69701,9 @@ pci:v00008086d00003B23* + pci:v00008086d00003B25* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller + ++pci:v00008086d00003B25sv0000103Csd00003118* ++ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller (HP Smart Array B110i SATA RAID Controller) ++ + pci:v00008086d00003B26* + ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller + +@@ -70718,6 +70808,489 @@ pci:v00008086d000065FA* + pci:v00008086d000065FF* + ID_MODEL_FROM_DATABASE=5100 Chipset DMA Engine + ++pci:v00008086d00006F00* ++ ID_MODEL_FROM_DATABASE=Broadwell DMI2 ++ ++pci:v00008086d00006F01* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 0 ++ ++pci:v00008086d00006F02* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 ++ ++pci:v00008086d00006F03* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 ++ ++pci:v00008086d00006F04* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F05* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F06* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F07* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 ++ ++pci:v00008086d00006F08* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F09* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F0A* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F0B* ++ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 ++ ++pci:v00008086d00006F10* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F11* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F12* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F13* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F14* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F15* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F16* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F17* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F18* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F19* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1A* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1B* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1C* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug ++ ++pci:v00008086d00006F1D* ++ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent ++ ++pci:v00008086d00006F1E* ++ ID_MODEL_FROM_DATABASE=Broadwell Ubox ++ ++pci:v00008086d00006F1F* ++ ID_MODEL_FROM_DATABASE=Broadwell Ubox ++ ++pci:v00008086d00006F20* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 0 ++ ++pci:v00008086d00006F21* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 1 ++ ++pci:v00008086d00006F22* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 2 ++ ++pci:v00008086d00006F23* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 3 ++ ++pci:v00008086d00006F24* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 4 ++ ++pci:v00008086d00006F25* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 5 ++ ++pci:v00008086d00006F26* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 6 ++ ++pci:v00008086d00006F27* ++ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 7 ++ ++pci:v00008086d00006F28* ++ ID_MODEL_FROM_DATABASE=Broadwell Adress Map/VTd_Misc/System Management ++ ++pci:v00008086d00006F29* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO Hot Plug ++ ++pci:v00008086d00006F2A* ++ ID_MODEL_FROM_DATABASE=Broadwell IIO RAS/Control Status/Global Errors ++ ++pci:v00008086d00006F2C* ++ ID_MODEL_FROM_DATABASE=Broadwell I/O APIC ++ ++pci:v00008086d00006F30* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 ++ ++pci:v00008086d00006F32* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 ++ ++pci:v00008086d00006F33* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 ++ ++pci:v00008086d00006F34* ++ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent ++ ++pci:v00008086d00006F36* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 ++ ++pci:v00008086d00006F37* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 ++ ++pci:v00008086d00006F38* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 ++ ++pci:v00008086d00006F39* ++ ID_MODEL_FROM_DATABASE=Broadwell IO Performance Monitoring ++ ++pci:v00008086d00006F3A* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 ++ ++pci:v00008086d00006F3E* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 ++ ++pci:v00008086d00006F3F* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 ++ ++pci:v00008086d00006F40* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 ++ ++pci:v00008086d00006F41* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 ++ ++pci:v00008086d00006F43* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 ++ ++pci:v00008086d00006F45* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug ++ ++pci:v00008086d00006F46* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug ++ ++pci:v00008086d00006F47* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug ++ ++pci:v00008086d00006F60* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 ++ ++pci:v00008086d00006F68* ++ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS ++ ++pci:v00008086d00006F6A* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6B* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6C* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6D* ++ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder ++ ++pci:v00008086d00006F6E* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Broadcast ++ ++pci:v00008086d00006F6F* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast ++ ++pci:v00008086d00006F70* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 Debug ++ ++pci:v00008086d00006F71* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS ++ ++pci:v00008086d00006F76* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug ++ ++pci:v00008086d00006F78* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 Debug ++ ++pci:v00008086d00006F79* ++ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS ++ ++pci:v00008086d00006F7D* ++ ID_MODEL_FROM_DATABASE=Broadwell Ubox ++ ++pci:v00008086d00006F7E* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug ++ ++pci:v00008086d00006F80* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 ++ ++pci:v00008086d00006F81* ++ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 ++ ++pci:v00008086d00006F83* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 ++ ++pci:v00008086d00006F85* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug ++ ++pci:v00008086d00006F86* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug ++ ++pci:v00008086d00006F87* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug ++ ++pci:v00008086d00006F88* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F8A* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F90* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 ++ ++pci:v00008086d00006F93* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 ++ ++pci:v00008086d00006F95* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug ++ ++pci:v00008086d00006F96* ++ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug ++ ++pci:v00008086d00006F98* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F99* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F9A* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006F9C* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FA0* ++ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 ++ ++pci:v00008086d00006FA8* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS ++ ++pci:v00008086d00006FAA* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAB* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAC* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAD* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder ++ ++pci:v00008086d00006FAE* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Broadcast ++ ++pci:v00008086d00006FAF* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast ++ ++pci:v00008086d00006FB0* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Thermal Control ++ ++pci:v00008086d00006FB1* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Thermal Control ++ ++pci:v00008086d00006FB2* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Error ++ ++pci:v00008086d00006FB3* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Error ++ ++pci:v00008086d00006FB4* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Thermal Control ++ ++pci:v00008086d00006FB5* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Thermal Control ++ ++pci:v00008086d00006FB6* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Error ++ ++pci:v00008086d00006FB7* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Error ++ ++pci:v00008086d00006FB8* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FB9* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FBA* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FBB* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface ++ ++pci:v00008086d00006FBC* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FBD* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FBE* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FBF* ++ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface ++ ++pci:v00008086d00006FC0* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC1* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC2* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC3* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC4* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC5* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC6* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC7* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC8* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FC9* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCA* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCB* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCC* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCD* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCE* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FCF* ++ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit ++ ++pci:v00008086d00006FD0* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Thermal Control ++ ++pci:v00008086d00006FD1* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Thermal Control ++ ++pci:v00008086d00006FD2* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Error ++ ++pci:v00008086d00006FD3* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Error ++ ++pci:v00008086d00006FD4* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Thermal Control ++ ++pci:v00008086d00006FD5* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Thermal Control ++ ++pci:v00008086d00006FD6* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Error ++ ++pci:v00008086d00006FD7* ++ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Error ++ ++pci:v00008086d00006FE0* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE1* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE2* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE3* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE4* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE5* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE6* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE7* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE8* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FE9* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEA* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEB* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEC* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FED* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEE* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FEF* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF0* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF1* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF8* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FF9* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFA* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFB* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFC* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFD* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ ++pci:v00008086d00006FFE* ++ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent ++ + pci:v00008086d00007000* + ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] + +@@ -73838,8 +74411,23 @@ pci:v0000D161d0000800A* + pci:v0000D161d0000800B* + ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card + ++pci:v0000D161d0000800C* ++ ID_MODEL_FROM_DATABASE=Wildcard A8A 8-port analog card ++ ++pci:v0000D161d0000800D* ++ ID_MODEL_FROM_DATABASE=Wildcard A8B 8-port analog card (PCI-Express) ++ + pci:v0000D161d0000800E* +- ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) ++ ID_MODEL_FROM_DATABASE=Wildcard TE235/TE435 quad-span T1/E1/J1 card (PCI-Express) ++ ++pci:v0000D161d0000800F* ++ ID_MODEL_FROM_DATABASE=Wildcard A4A 4-port analog card ++ ++pci:v0000D161d00008010* ++ ID_MODEL_FROM_DATABASE=Wildcard A4B 4-port analog card (PCI-Express) ++ ++pci:v0000D161d00008013* ++ ID_MODEL_FROM_DATABASE=Wildcard TE236/TE436 quad-span T1/E1/J1 card + + pci:v0000D161d0000B410* + ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index ed6b2b1..d87313c 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -11243,6 +11243,9 @@ usb:v04A9p3261* + usb:v04A9p3262* + ID_MODEL_FROM_DATABASE=PowerShot A2600 + ++usb:v04A9p3263* ++ ID_MODEL_FROM_DATABASE=PowerShot SX275 HS ++ + usb:v04A9p3264* + ID_MODEL_FROM_DATABASE=PowerShot A1400 + +@@ -11261,6 +11264,9 @@ usb:v04A9p3276* + usb:v04A9p3277* + ID_MODEL_FROM_DATABASE=PowerShot SX510 HS + ++usb:v04A9p3278* ++ ID_MODEL_FROM_DATABASE=PowerShot S200 ++ + usb:v04A9p327D* + ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 + +@@ -11666,6 +11672,9 @@ usb:v04B4p2050* + usb:v04B4p2830* + ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) + ++usb:v04B4p3813* ++ ID_MODEL_FROM_DATABASE=NANO BIOS Programmer ++ + usb:v04B4p4235* + ID_MODEL_FROM_DATABASE=Monitor 02 Driver + +@@ -33116,6 +33125,9 @@ usb:v0B48p300D* + usb:v0B48p300E* + ID_MODEL_FROM_DATABASE=TT-connect C-2400 + ++usb:v0B48p3012* ++ ID_MODEL_FROM_DATABASE=TT-connect CT2-4650 CI ++ + usb:v0B48p3014* + ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 + +-- +1.7.9.2 + diff --git a/0008-journald-fix-memory-leak-on-error-path.patch b/0008-journald-fix-memory-leak-on-error-path.patch new file mode 100644 index 00000000..6f67860c --- /dev/null +++ b/0008-journald-fix-memory-leak-on-error-path.patch @@ -0,0 +1,29 @@ +From 26d8ff04914a5208d029e899682cd314b7714bf0 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 3 Nov 2014 23:10:34 +0100 +Subject: [PATCH] journald: fix memory leak on error path + +--- + src/journal/journal-vacuum.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c +index d141fe0..80723c4 100644 +--- src/journal/journal-vacuum.c ++++ src/journal/journal-vacuum.c +@@ -283,7 +283,11 @@ int journal_directory_vacuum( + + patch_realtime(directory, p, &st, &realtime); + +- GREEDY_REALLOC(list, n_allocated, n_list + 1); ++ if (!GREEDY_REALLOC(list, n_allocated, n_list + 1)) { ++ free(p); ++ r = -ENOMEM; ++ goto finish; ++ } + + list[n_list].filename = p; + list[n_list].usage = 512UL * (uint64_t) st.st_blocks; +-- +1.7.9.2 + diff --git a/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch b/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch new file mode 100644 index 00000000..b43a43c1 --- /dev/null +++ b/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch @@ -0,0 +1,36 @@ +From 252094eb05c58270a0bc35b14ad30a126ddbb3bb Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 11 Mar 2014 05:23:39 +0100 +Subject: [PATCH] man: multiple sleep modes are to be separated by whitespace, + not commas + +As pointed out by Jason A. Donenfeld. +--- + man/systemd-sleep.conf.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd-sleep.conf.xml man/systemd-sleep.conf.xml +index a917f4d..d0ea6d8 100644 +--- man/systemd-sleep.conf.xml ++++ man/systemd-sleep.conf.xml +@@ -128,7 +128,7 @@ along with systemd; If not, see . + systemd-hibernate.service8, or + systemd-hybrid-sleep.service8. + More than one value can be specified by separating +- multiple values with commas. They will be tried ++ multiple values with whitespace. They will be tried + in turn, until one is written without error. If + neither succeeds, the operation will be aborted. + +@@ -146,7 +146,7 @@ along with systemd; If not, see . + systemd-hibernate.service8, or + systemd-hybrid-sleep.service8. + More than one value can be specified by separating +- multiple values with commas. They will be tried ++ multiple values with whitespace. They will be tried + in turn, until one is written without error. If + neither succeeds, the operation will be aborted. + +-- +1.7.9.2 + diff --git a/0008-man-update-journald-rate-limit-defaults.patch b/0008-man-update-journald-rate-limit-defaults.patch new file mode 100644 index 00000000..54aad943 --- /dev/null +++ b/0008-man-update-journald-rate-limit-defaults.patch @@ -0,0 +1,28 @@ +From 8f18f550e7023948f199616fdfbb0f09711fd615 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Wed, 30 Apr 2014 19:53:13 +0300 +Subject: [PATCH] man: update journald rate limit defaults + +This brings the man page back into sync with the actual code. +--- + man/journald.conf.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/journald.conf.xml man/journald.conf.xml +index 239a2ec..5cd09a2 100644 +--- man/journald.conf.xml ++++ man/journald.conf.xml +@@ -190,8 +190,8 @@ + limiting is applied per-service, so + that two services which log do not + interfere with each other's +- limits. Defaults to 200 messages in +- 10s. The time specification for ++ limits. Defaults to 1000 messages in ++ 30s. The time specification for + RateLimitInterval= + may be specified in the following + units: s, +-- +1.7.9.2 + diff --git a/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch b/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch new file mode 100644 index 00000000..b189c671 --- /dev/null +++ b/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch @@ -0,0 +1,32 @@ +From 7c96ab1d2484ab2df3c6a84f1a1d2e076f469085 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 13 Aug 2014 20:01:19 +0200 +Subject: [PATCH] mount-setup: fix counting of early mounts without SMACK + +http://lists.freedesktop.org/archives/systemd-devel/2014-August/021772.html +--- + src/core/mount-setup.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index 206f89a..cc2633e 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -63,8 +63,13 @@ typedef struct MountPoint { + + /* The first three entries we might need before SELinux is up. The + * fourth (securityfs) is needed by IMA to load a custom policy. The +- * other ones we can delay until SELinux and IMA are loaded. */ ++ * other ones we can delay until SELinux and IMA are loaded. When ++ * SMACK is enabled we need smackfs, too, so it's a fifth one. */ ++#ifdef HAVE_SMACK + #define N_EARLY_MOUNT 5 ++#else ++#define N_EARLY_MOUNT 4 ++#endif + + static const MountPoint mount_table[] = { + { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +-- +1.7.9.2 + diff --git a/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch b/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch new file mode 100644 index 00000000..d2eac44b --- /dev/null +++ b/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch @@ -0,0 +1,27 @@ +From bbb6ff0216a7c081a2e63e01b1f121592b0165bb Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 14 Mar 2014 21:12:36 +0100 +Subject: [PATCH] sd-bus: don't access invalid memory if a signal matcher was + freed from its own callback + +--- + src/libsystemd/sd-bus/bus-match.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c +index 8280488..c54ca8d 100644 +--- src/libsystemd/sd-bus/bus-match.c ++++ src/libsystemd/sd-bus/bus-match.c +@@ -293,6 +293,9 @@ int bus_match_run( + r = bus_maybe_reply_error(m, r, &error_buffer); + if (r != 0) + return r; ++ ++ if (bus && bus->match_callbacks_modified) ++ return 0; + } + + return bus_match_run(bus, node->next, m); +-- +1.7.9.2 + diff --git a/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch b/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch new file mode 100644 index 00000000..3e5d0c03 --- /dev/null +++ b/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch @@ -0,0 +1,52 @@ +Based on 77c10205bb337585c320e91af4b416f2dcc6faba Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 13:47:00 +0200 +Subject: [PATCH] shared: conf-parser - don't leak memory on error in + DEFINE_CONFIG_PARSE_ENUMV + +Found by Coverity. Fixes CID #1237746. +--- + src/shared/conf-parser.h | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- src/shared/conf-parser.h ++++ src/shared/conf-parser.h 2014-09-18 13:14:43.730234764 +0000 +@@ -171,7 +171,8 @@ int log_syntax_internal(const char *unit + void *data, \ + void *userdata) { \ + \ +- type **enums = data, *xs, x, *ys; \ ++ type **enums = data, x, *ys; \ ++ _cleanup_free_ type *xs = NULL; \ + char *w, *state; \ + size_t l, i = 0; \ + \ +@@ -187,6 +188,7 @@ int log_syntax_internal(const char *unit + \ + FOREACH_WORD(w, l, rvalue, state) { \ + _cleanup_free_ char *en = NULL; \ ++ type *new_xs; \ + \ + en = strndup(w, l); \ + if (!en) \ +@@ -212,8 +214,10 @@ int log_syntax_internal(const char *unit + continue; \ + \ + *(xs + i) = x; \ +- xs = realloc(xs, (++i + 1) * sizeof(type)); \ +- if (!xs) \ ++ new_xs = realloc(xs, (++i + 1) * sizeof(type)); \ ++ if (new_xs) \ ++ xs = new_xs; \ ++ else \ + return -ENOMEM; \ + \ + *(xs + i) = invalid; \ +@@ -221,5 +225,7 @@ int log_syntax_internal(const char *unit + \ + free(*enums); \ + *enums = xs; \ ++ xs = NULL; \ ++ \ + return 0; \ + } diff --git a/0008-shell-completion-prevent-mangling-unit-names-bash.patch b/0008-shell-completion-prevent-mangling-unit-names-bash.patch new file mode 100644 index 00000000..7a52c0d7 --- /dev/null +++ b/0008-shell-completion-prevent-mangling-unit-names-bash.patch @@ -0,0 +1,87 @@ +Based on c317a1a19cd9584e07ee43f1b6fafc26c2c75cca Mon Sep 17 00:00:00 2001 +From: Eric Cook +Date: Sun, 27 Jul 2014 15:07:03 -0400 +Subject: [PATCH] shell-completion: prevent mangling unit names (bash) + +This fixes the issue noted by Zbigniew in most cases. +if a unit's name is enclosed in single quotes completion still +will not happen after the first `\'. + +https://bugs.freedesktop.org/show_bug.cgi?id=78388 +--- + shell-completion/bash/systemctl.in | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in +index 69ef04b..64b15df 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -158,20 +158,25 @@ _systemctl () { + + elif __contains_word "$verb" ${VERBS[ALL_UNITS]}; then + comps=$( __get_all_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[ENABLED_UNITS]}; then + comps=$( __get_enabled_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then + comps=$( __get_disabled_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then + comps=$( __get_disabled_units $mode; + __get_enabled_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ + $( __get_startable_units $mode)) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStart yes \ +@@ -179,24 +184,30 @@ _systemctl () { + | while read -r line; do \ + [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ + done )) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanStop yes \ + $( __get_active_units $mode ) ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[RELOADABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode CanReload yes \ + $( __get_active_units $mode ) ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[ISOLATABLE_UNITS]}; then + comps=$( __filter_units_by_property $mode AllowIsolate yes \ + $( __get_all_units $mode ) ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[FAILED_UNITS]}; then + comps=$( __get_failed_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[MASKED_UNITS]}; then + comps=$( __get_masked_units $mode ) ++ compopt -o filenames + + elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then + comps='' +@@ -221,7 +232,7 @@ _systemctl () { + | { while read -r a b; do echo " $a"; done; } ) + fi + +- COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) ++ COMPREPLY=( $(compgen -o filenames -W '$comps' -- "$cur") ) + return 0 + } + +-- +1.7.9.2 + diff --git a/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch b/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch new file mode 100644 index 00000000..b4564a5a --- /dev/null +++ b/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch @@ -0,0 +1,53 @@ +From 0088d63151e088d62104d88f866e9eb049091c22 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 25 Mar 2014 00:31:48 +0100 +Subject: [PATCH] systemctl: --kill-mode is long long gone, don't mention it + in the man page + +--- + man/systemctl.xml | 5 ++--- + shell-completion/bash/systemctl | 5 +---- + 2 files changed, 3 insertions(+), 7 deletions(-) + +diff --git man/systemctl.xml man/systemctl.xml +index 77447dd..b4727d9 100644 +--- man/systemctl.xml ++++ man/systemctl.xml +@@ -664,9 +664,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service + + Send a signal to one or more processes of the + unit. Use to select which +- process to kill. Use to select +- the kill mode and to select the +- signal to send. ++ process to kill. Use to select ++ the signal to send. + + + +diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl +index dc7ef66..0dfc868 100644 +--- shell-completion/bash/systemctl ++++ shell-completion/bash/systemctl +@@ -74,7 +74,7 @@ _systemctl () { + [STANDALONE]='--all -a --reverse --after --before --defaults --fail --ignore-dependencies --failed --force -f --full -l --global + --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall + --quiet -q --privileged -P --system --user --version --runtime' +- [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root' ++ [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' + ) + + if __contains_word "--user" ${COMP_WORDS[*]}; then +@@ -99,9 +99,6 @@ _systemctl () { + --kill-who) + comps='all control main' + ;; +- --kill-mode) +- comps='control-group process' +- ;; + --root) + comps=$(compgen -A directory -- "$cur" ) + compopt -o filenames +-- +1.7.9.2 + diff --git a/0008-util-introduce-sethostname_idempotent.patch b/0008-util-introduce-sethostname_idempotent.patch new file mode 100644 index 00000000..5b42ce14 --- /dev/null +++ b/0008-util-introduce-sethostname_idempotent.patch @@ -0,0 +1,85 @@ +Based on 605f81a8968b2df8a28cca2cf11db99ab948a2af Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 21 Oct 2014 18:17:54 +0200 +Subject: [PATCH] util: introduce sethostname_idempotent + +Function queries system hostname and applies changes only when necessary. Also, +migrate all client of sethostname to sethostname_idempotent while at it. +--- + src/core/hostname-setup.c | 2 +- + src/hostname/hostnamed.c | 2 +- + src/nspawn/nspawn.c | 2 +- + src/shared/util.c | 20 ++++++++++++++++++++ + src/shared/util.h | 2 ++ + 5 files changed, 25 insertions(+), 3 deletions(-) + +--- src/core/hostname-setup.c ++++ src/core/hostname-setup.c 2014-10-29 00:00:00.000000000 +0000 +@@ -99,7 +99,7 @@ int hostname_setup(void) { + hn = "localhost"; + } + +- if (sethostname(hn, strlen(hn)) < 0) { ++ if (sethostname_idempotent(hn) < 0) { + log_warning("Failed to set hostname to <%s>: %m", hn); + return -errno; + } +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c 2014-10-29 14:13:26.124337751 +0000 +@@ -244,7 +244,7 @@ static int context_write_data_hostname(C + else + hn = c->data[PROP_HOSTNAME]; + +- if (sethostname(hn, strlen(hn)) < 0) ++ if (sethostname_idempotent(hn) < 0) + return -errno; + + return 0; +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-10-29 00:00:00.000000000 +0000 +@@ -981,7 +981,7 @@ static int setup_hostname(void) { + if (arg_share_system) + return 0; + +- if (sethostname(arg_machine, strlen(arg_machine)) < 0) ++ if (sethostname_idempotent(arg_machine) < 0) + return -errno; + + return 0; +--- src/shared/util.c ++++ src/shared/util.c 2014-10-29 00:00:00.000000000 +0000 +@@ -6451,6 +6451,26 @@ int fd_warn_permissions(const char *path + return 0; + } + ++int sethostname_idempotent(const char *s) { ++ int r; ++ char buf[HOST_NAME_MAX + 1] = {}; ++ ++ assert(s); ++ ++ r = gethostname(buf, sizeof(buf)); ++ if (r < 0) ++ return -errno; ++ ++ if (streq(buf, s)) ++ return 0; ++ ++ r = sethostname(buf, strlen(buf)); ++ if (r < 0) ++ return -errno; ++ ++ return 1; ++} ++ + unsigned long personality_from_string(const char *p) { + + /* Parse a personality specifier. We introduce our own +--- src/shared/util.h ++++ src/shared/util.h 2014-10-29 14:14:15.764337717 +0000 +@@ -899,3 +899,5 @@ union file_handle_union { + }; + + int umount_recursive(const char *target, int flags); ++ ++int sethostname_idempotent(const char *s); diff --git a/0009-ask-password-when-the-user-types-a-overly-long-passw.patch b/0009-ask-password-when-the-user-types-a-overly-long-passw.patch new file mode 100644 index 00000000..840c4a18 --- /dev/null +++ b/0009-ask-password-when-the-user-types-a-overly-long-passw.patch @@ -0,0 +1,33 @@ +From 036eeac5a1799fa2c0ae11a14d8c667b5d303189 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 25 Mar 2014 01:27:05 +0100 +Subject: [PATCH] ask-password: when the user types a overly long password, + beep and refuse +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Based on a similar patch from David Härdeman. +--- + src/shared/ask-password-api.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/shared/ask-password-api.c src/shared/ask-password-api.c +index 117f0c6..96f16cc 100644 +--- src/shared/ask-password-api.c ++++ src/shared/ask-password-api.c +@@ -207,6 +207,11 @@ int ask_password_tty( + if (ttyfd >= 0) + loop_write(ttyfd, "(no echo) ", 10, false); + } else { ++ if (p >= sizeof(passphrase)-1) { ++ loop_write(ttyfd, "\a", 1, false); ++ continue; ++ } ++ + passphrase[p++] = c; + + if (!silent_mode && ttyfd >= 0) +-- +1.7.9.2 + diff --git a/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch b/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch new file mode 100644 index 00000000..381d0732 --- /dev/null +++ b/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch @@ -0,0 +1,29 @@ +From c2fa048c4a70c8386c6d8fe939e5ea9edecf1e98 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Thu, 18 Sep 2014 13:28:28 +0200 +Subject: [PATCH] bus: fix bus_print_property() to use "int" for booleans + +We always use "int" if we retrieve boolean values from sd-bus, as "bool" +is only a single byte, but full int on va-args. + +Thanks to Werner Fink for the report! +--- + src/libsystemd/sd-bus/bus-util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c +index 7c6da60..9018bce 100644 +--- src/libsystemd/sd-bus/bus-util.c ++++ src/libsystemd/sd-bus/bus-util.c +@@ -631,7 +631,7 @@ int bus_print_property(const char *name, sd_bus_message *property, bool all) { + } + + case SD_BUS_TYPE_BOOLEAN: { +- bool b; ++ int b; + + r = sd_bus_message_read_basic(property, type, &b); + if (r < 0) +-- +1.7.9.2 + diff --git a/0009-core-clean-up-signal-reset-logic-when-reexec.patch b/0009-core-clean-up-signal-reset-logic-when-reexec.patch new file mode 100644 index 00000000..cfe54186 --- /dev/null +++ b/0009-core-clean-up-signal-reset-logic-when-reexec.patch @@ -0,0 +1,50 @@ +From 9bfcda9528636914aef3e0ab91191bb81654c83d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 20 Jun 2014 16:58:21 +0200 +Subject: [PATCH] core: clean-up signal reset logic when reexec + +There's no need to save the old sigmask, if we are going to die. Let's +simplify this. Also, reset all the signal handlers, so that we don't +leave SIG_IGN set for some of them across reexec. +--- + src/core/main.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git src/core/main.c src/core/main.c +index 863ba52..6981e72 100644 +--- src/core/main.c ++++ src/core/main.c +@@ -1824,7 +1824,7 @@ finish: + if (reexecute) { + const char **args; + unsigned i, args_size; +- sigset_t ss, o_ss; ++ sigset_t ss; + + /* Close and disarm the watchdog, so that the new + * instance can reinitialize it, but doesn't get +@@ -1910,8 +1910,10 @@ finish: + + /* reenable any blocked signals, especially important + * if we switch from initial ramdisk to init=... */ +- sigemptyset(&ss); +- sigprocmask(SIG_SETMASK, &ss, &o_ss); ++ reset_all_signal_handlers(); ++ ++ assert_se(sigemptyset(&ss) == 0); ++ assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0); + + if (switch_root_init) { + args[0] = switch_root_init; +@@ -1931,8 +1933,6 @@ finish: + log_error("Failed to execute /bin/sh, giving up: %m"); + } else + log_warning("Failed to execute /sbin/init, giving up: %m"); +- +- sigprocmask(SIG_SETMASK, &o_ss, NULL); + } + + if (arg_serialization) { +-- +1.7.9.2 + diff --git a/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..69372137 --- /dev/null +++ b/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,38 @@ +From 2e3390ea4684b954edce66b7758b5371d3338a9f Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Thu, 2 Oct 2014 07:53:15 +0200 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index 14aee74..ee2efdf 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -1148,3 +1148,21 @@ bluetooth:v017B* + + bluetooth:v017C* + ID_VENDOR_FROM_DATABASE=Daimler AG ++ ++bluetooth:v017D* ++ ID_VENDOR_FROM_DATABASE=BatAndCat ++ ++bluetooth:v017E* ++ ID_VENDOR_FROM_DATABASE=BluDotz Ltd ++ ++bluetooth:v017F* ++ ID_VENDOR_FROM_DATABASE=XTel ApS ++ ++bluetooth:v0180* ++ ID_VENDOR_FROM_DATABASE=Gigaset Communications GmbH ++ ++bluetooth:v0181* ++ ID_VENDOR_FROM_DATABASE=Gecko Health Innovations, Inc. ++ ++bluetooth:v0182* ++ ID_VENDOR_FROM_DATABASE=HOP Ubiquitous +-- +1.7.9.2 + diff --git a/0009-hwdb-update.patch b/0009-hwdb-update.patch new file mode 100644 index 00000000..099e33b6 --- /dev/null +++ b/0009-hwdb-update.patch @@ -0,0 +1,3363 @@ +From fea0bfaed5411de43811dc428e763029d3aaabe5 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Tue, 9 Sep 2014 07:44:02 +0200 +Subject: [PATCH] hwdb: update + +--- + hwdb/20-OUI.hwdb | 249 +++++- + hwdb/20-pci-vendor-model.hwdb | 1987 ++++++++++++++++++++++++++++++++++++++++- + hwdb/20-usb-vendor-model.hwdb | 2 +- + 3 files changed, 2199 insertions(+), 39 deletions(-) + +diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb +index e0c5fed..73df96c 100644 +--- hwdb/20-OUI.hwdb ++++ hwdb/20-OUI.hwdb +@@ -4103,7 +4103,7 @@ OUI:0050C2561* + ID_OUI_FROM_DATABASE=Seitec Elektronik GmbH + + OUI:0050C2562* +- ID_OUI_FROM_DATABASE=C21 Technology Limited ++ ID_OUI_FROM_DATABASE=C21 Systems Limited + + OUI:0050C2563* + ID_OUI_FROM_DATABASE=ORTRAT, S.L. +@@ -26081,7 +26081,7 @@ OUI:00105D* + ID_OUI_FROM_DATABASE=Draeger Medical + + OUI:00105E* +- ID_OUI_FROM_DATABASE=HEKIMIAN LABORATORIES, INC. ++ ID_OUI_FROM_DATABASE=Spirent plc, Service Assurance Broadband + + OUI:00105F* + ID_OUI_FROM_DATABASE=ZODIAC DATA SYSTEMS +@@ -35786,7 +35786,7 @@ OUI:001D04* + ID_OUI_FROM_DATABASE=Zipit Wireless, Inc. + + OUI:001D05* +- ID_OUI_FROM_DATABASE=iLight ++ ID_OUI_FROM_DATABASE=Eaton Corporation + + OUI:001D06* + ID_OUI_FROM_DATABASE=HM Electronics, Inc. +@@ -44287,6 +44287,9 @@ OUI:0034F1* + OUI:003532* + ID_OUI_FROM_DATABASE=Electro-Metrics Corporation + ++OUI:003560* ++ ID_OUI_FROM_DATABASE=Rosen Aviation ++ + OUI:0036F8* + ID_OUI_FROM_DATABASE=Conti Temic microelectronic GmbH + +@@ -50072,7 +50075,7 @@ OUI:00D01E* + ID_OUI_FROM_DATABASE=PINGTEL CORP. + + OUI:00D01F* +- ID_OUI_FROM_DATABASE=CTAM PTY. LTD. ++ ID_OUI_FROM_DATABASE=Senetas Security + + OUI:00D020* + ID_OUI_FROM_DATABASE=AIM SYSTEM, INC. +@@ -51616,6 +51619,9 @@ OUI:00EEBD* + OUI:00F051* + ID_OUI_FROM_DATABASE=KWB Gmbh + ++OUI:00F3DB* ++ ID_OUI_FROM_DATABASE=WOO Sports ++ + OUI:00F403* + ID_OUI_FROM_DATABASE=Orbis Systems Oy + +@@ -51889,6 +51895,9 @@ OUI:04B3B6* + OUI:04B466* + ID_OUI_FROM_DATABASE=BSP Co., Ltd. + ++OUI:04BD70* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:04BFA8* + ID_OUI_FROM_DATABASE=ISB Corporation + +@@ -51898,6 +51907,9 @@ OUI:04C05B* + OUI:04C06F* + ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd + ++OUI:04C09C* ++ ID_OUI_FROM_DATABASE=Tellabs Inc. ++ + OUI:04C1B9* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + +@@ -52657,6 +52669,9 @@ OUI:089F97* + OUI:08A12B* + ID_OUI_FROM_DATABASE=ShenZhen EZL Technology Co., Ltd + ++OUI:08A5C8* ++ ID_OUI_FROM_DATABASE=Sunnovo International Limited ++ + OUI:08A95A* + ID_OUI_FROM_DATABASE=Azurewave + +@@ -52747,6 +52762,9 @@ OUI:08EE8B* + OUI:08EF3B* + ID_OUI_FROM_DATABASE=MCS Logic Inc. + ++OUI:08EFAB* ++ ID_OUI_FROM_DATABASE=SAYME WIRELESS SENSOR NETWORK ++ + OUI:08F1B7* + ID_OUI_FROM_DATABASE=Towerstream Corpration + +@@ -53125,6 +53143,9 @@ OUI:1001CA* + OUI:1005CA* + ID_OUI_FROM_DATABASE=Cisco + ++OUI:100723* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:1008B1* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -53389,6 +53410,9 @@ OUI:10C586* + OUI:10C61F* + ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd + ++OUI:10C67E* ++ ID_OUI_FROM_DATABASE=SHENZHEN JUCHIN TECHNOLOGY CO., LTD ++ + OUI:10C6FC* + ID_OUI_FROM_DATABASE=Garmin International + +@@ -53446,6 +53470,9 @@ OUI:10F3DB* + OUI:10F49A* + ID_OUI_FROM_DATABASE=T3 Innovation + ++OUI:10F681* ++ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. ++ + OUI:10F96F* + ID_OUI_FROM_DATABASE=LG Electronics + +@@ -53527,6 +53554,9 @@ OUI:1435B3* + OUI:143605* + ID_OUI_FROM_DATABASE=Nokia Corporation + ++OUI:1436C6* ++ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. ++ + OUI:14373B* + ID_OUI_FROM_DATABASE=PROCOM Systems + +@@ -53782,6 +53812,9 @@ OUI:18193F* + OUI:181BEB* + ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc + ++OUI:181E78* ++ ID_OUI_FROM_DATABASE=SAGEMCOM ++ + OUI:181EB0* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -53881,6 +53914,9 @@ OUI:18622C* + OUI:186472* + ID_OUI_FROM_DATABASE=Aruba Networks + ++OUI:186571* ++ ID_OUI_FROM_DATABASE=Top Victory Electronics (Taiwan) Co., Ltd. ++ + OUI:1866E3* + ID_OUI_FROM_DATABASE=Veros Systems, Inc. + +@@ -54023,7 +54059,7 @@ OUI:18CF5E* + ID_OUI_FROM_DATABASE=Liteon Technology Corporation + + OUI:18D071* +- ID_OUI_FROM_DATABASE=DASAN SMC, Inc. ++ ID_OUI_FROM_DATABASE=DASAN CO., LTD. + + OUI:18D5B6* + ID_OUI_FROM_DATABASE=SMG Holdings LLC +@@ -55270,6 +55306,9 @@ OUI:28D576* + OUI:28D93E* + ID_OUI_FROM_DATABASE=Telecor Inc. + ++OUI:28D98A* ++ ID_OUI_FROM_DATABASE=Hangzhou Konke Technology Co.,Ltd. ++ + OUI:28D997* + ID_OUI_FROM_DATABASE=Yuduan Mobile Co., Ltd. + +@@ -55387,6 +55426,9 @@ OUI:2C2D48* + OUI:2C3068* + ID_OUI_FROM_DATABASE=Pantech Co.,Ltd + ++OUI:2C337A* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:2C3427* + ID_OUI_FROM_DATABASE=ERCO & GENER + +@@ -55891,6 +55933,9 @@ OUI:30D357* + OUI:30D46A* + ID_OUI_FROM_DATABASE=Autosales Incorporated + ++OUI:30D587* ++ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ++ + OUI:30D6C9* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + +@@ -56062,6 +56107,9 @@ OUI:346BD3* + OUI:346E8A* + ID_OUI_FROM_DATABASE=Ecosense + ++OUI:346F90* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:346F92* + ID_OUI_FROM_DATABASE=White Rodgers Division + +@@ -56266,6 +56314,9 @@ OUI:34E42A* + OUI:34E6AD* + ID_OUI_FROM_DATABASE=Intel Corporate + ++OUI:34E6D7* ++ ID_OUI_FROM_DATABASE=Dell Inc. ++ + OUI:34EF44* + ID_OUI_FROM_DATABASE=2Wire + +@@ -56413,6 +56464,9 @@ OUI:385FC3* + OUI:386077* + ID_OUI_FROM_DATABASE=PEGATRON CORPORATION + ++OUI:3863BB* ++ ID_OUI_FROM_DATABASE=Hewlett Packard ++ + OUI:3863F6* + ID_OUI_FROM_DATABASE=3NOD MULTIMEDIA(SHENZHEN)CO.,LTD + +@@ -56677,6 +56731,9 @@ OUI:3C3888* + OUI:3C39C3* + ID_OUI_FROM_DATABASE=JW Electronics Co., Ltd. + ++OUI:3C39E7* ++ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. ++ + OUI:3C3A73* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -56689,6 +56746,9 @@ OUI:3C438E* + OUI:3C46D8* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. + ++OUI:3C4937* ++ ID_OUI_FROM_DATABASE=ASSMANN Electronic GmbH ++ + OUI:3C4A92* + ID_OUI_FROM_DATABASE=Hewlett-Packard Company + +@@ -56815,6 +56875,9 @@ OUI:3CAA3F* + OUI:3CAB8E* + ID_OUI_FROM_DATABASE=Apple + ++OUI:3CAE69* ++ ID_OUI_FROM_DATABASE=ESA Elektroschaltanlagen Grimma GmbH ++ + OUI:3CB15B* + ID_OUI_FROM_DATABASE=Avaya, Inc + +@@ -57211,6 +57274,9 @@ OUI:40E730* + OUI:40E793* + ID_OUI_FROM_DATABASE=Shenzhen Siviton Technology Co.,Ltd + ++OUI:40EACE* ++ ID_OUI_FROM_DATABASE=FOUNDER BROADBAND NETWORK SERVICE CO.,LTD ++ + OUI:40ECF8* + ID_OUI_FROM_DATABASE=Siemens AG + +@@ -57535,6 +57601,9 @@ OUI:44DCCB* + OUI:44E08E* + ID_OUI_FROM_DATABASE=Cisco SPVTG + ++OUI:44E137* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:44E49A* + ID_OUI_FROM_DATABASE=OMNITRONICS PTY LTD + +@@ -58348,6 +58417,9 @@ OUI:50A733* + OUI:50ABBF* + ID_OUI_FROM_DATABASE=Hoseo Telecom + ++OUI:50ADD5* ++ ID_OUI_FROM_DATABASE=Dynalec Corporation ++ + OUI:50AF73* + ID_OUI_FROM_DATABASE=Shenzhen Bitland Information Technology Co., Ltd. + +@@ -58537,6 +58609,9 @@ OUI:544A05* + OUI:544A16* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:545146* ++ ID_OUI_FROM_DATABASE=AMG Systems Ltd. ++ + OUI:5453ED* + ID_OUI_FROM_DATABASE=Sony Corporation + +@@ -58852,6 +58927,9 @@ OUI:58696C* + OUI:5869F9* + ID_OUI_FROM_DATABASE=Fusion Transactive Ltd. + ++OUI:586AB1* ++ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited ++ + OUI:586D8F* + ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC + +@@ -59080,6 +59158,9 @@ OUI:5C2BF5* + OUI:5C2E59* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:5C2ED2* ++ ID_OUI_FROM_DATABASE=ABC(XiSheng) Electronics Co.,Ltd ++ + OUI:5C313E* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -59272,6 +59353,9 @@ OUI:5CDAD4* + OUI:5CDD70* + ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited + ++OUI:5CE0C5* ++ ID_OUI_FROM_DATABASE=Intel Corporate ++ + OUI:5CE0CA* + ID_OUI_FROM_DATABASE=FeiTian United (Beijing) System Technology Co., Ltd. + +@@ -59767,6 +59851,9 @@ OUI:64317E* + OUI:643409* + ID_OUI_FROM_DATABASE=BITwave Pte Ltd + ++OUI:643E8C* ++ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ++ + OUI:643F5F* + ID_OUI_FROM_DATABASE=Exablaze + +@@ -59908,6 +59995,9 @@ OUI:6487D7* + OUI:6488FF* + ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. + ++OUI:64899A* ++ ID_OUI_FROM_DATABASE=LG Electronics ++ + OUI:648D9E* + ID_OUI_FROM_DATABASE=IVT Electronic Co.,Ltd + +@@ -60328,6 +60418,9 @@ OUI:68BC0C* + OUI:68BDAB* + ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. + ++OUI:68C90B* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:68CA00* + ID_OUI_FROM_DATABASE=Octopus Systems Limited + +@@ -60442,6 +60535,9 @@ OUI:6C22AB* + OUI:6C23B9* + ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB + ++OUI:6C25B9* ++ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., ++ + OUI:6C2995* + ID_OUI_FROM_DATABASE=Intel Corporate + +@@ -60574,6 +60670,9 @@ OUI:6C90B1* + OUI:6C92BF* + ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. + ++OUI:6C94F8* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:6C98EB* + ID_OUI_FROM_DATABASE=Ocedo GmbH + +@@ -60724,6 +60823,9 @@ OUI:700514* + OUI:700BC0* + ID_OUI_FROM_DATABASE=Dewav Technology Company + ++OUI:700FC7* ++ ID_OUI_FROM_DATABASE=SHENZHEN IKINLOOP TECHNOLOGY CO.,LTD. ++ + OUI:700FEC* + ID_OUI_FROM_DATABASE=Poindus Systems Corp. + +@@ -60802,6 +60904,9 @@ OUI:703AD8* + OUI:703C39* + ID_OUI_FROM_DATABASE=SEAWING Kft + ++OUI:703EAC* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:7041B7* + ID_OUI_FROM_DATABASE=Edwards Lifesciences LLC + +@@ -60901,6 +61006,9 @@ OUI:7076DD* + OUI:7076F0* + ID_OUI_FROM_DATABASE=LevelOne Communications (India) Private Limited + ++OUI:7076FF* ++ ID_OUI_FROM_DATABASE=KERLINK ++ + OUI:707BE8* + ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD + +@@ -61105,6 +61213,9 @@ OUI:74273C* + OUI:7427EA* + ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. + ++OUI:7429AF* ++ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. ++ + OUI:742B0F* + ID_OUI_FROM_DATABASE=Infinidat Ltd. + +@@ -61447,6 +61558,9 @@ OUI:78303B* + OUI:7830E1* + ID_OUI_FROM_DATABASE=UltraClenz, LLC + ++OUI:78312B* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:7831C1* + ID_OUI_FROM_DATABASE=Apple + +@@ -61639,6 +61753,9 @@ OUI:78ACC0* + OUI:78AE0C* + ID_OUI_FROM_DATABASE=Far South Networks + ++OUI:78B3B9* ++ ID_OUI_FROM_DATABASE=ShangHai sunup lighting CO.,LTD ++ + OUI:78B3CE* + ID_OUI_FROM_DATABASE=Elo touch solutions + +@@ -61741,6 +61858,9 @@ OUI:78E7D1* + OUI:78E8B6* + ID_OUI_FROM_DATABASE=zte corporation + ++OUI:78EB14* ++ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO.,LTD ++ + OUI:78EC22* + ID_OUI_FROM_DATABASE=Shanghai Qihui Telecom Technology Co., LTD + +@@ -62569,6 +62689,9 @@ OUI:843A4B* + OUI:843F4E* + ID_OUI_FROM_DATABASE=Tri-Tech Manufacturing, Inc. + ++OUI:844464* ++ ID_OUI_FROM_DATABASE=ServerU Inc ++ + OUI:844823* + ID_OUI_FROM_DATABASE=WOXTER TECHNOLOGY Co. Ltd + +@@ -62605,6 +62728,9 @@ OUI:846223* + OUI:8462A6* + ID_OUI_FROM_DATABASE=EuroCB (Phils), Inc. + ++OUI:8463D6* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:846AED* + ID_OUI_FROM_DATABASE=Wireless Tsukamoto.,co.LTD + +@@ -62665,6 +62791,9 @@ OUI:848E0C* + OUI:848E96* + ID_OUI_FROM_DATABASE=Embertec Pty Ltd + ++OUI:848EDF* ++ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB ++ + OUI:848F69* + ID_OUI_FROM_DATABASE=Dell Inc. + +@@ -62746,6 +62875,9 @@ OUI:84DB2F* + OUI:84DD20* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:84DDB7* ++ ID_OUI_FROM_DATABASE=Cilag GmbH International ++ + OUI:84DE3D* + ID_OUI_FROM_DATABASE=Crystal Vision Ltd + +@@ -62812,6 +62944,9 @@ OUI:881544* + OUI:8818AE* + ID_OUI_FROM_DATABASE=Tamron Co., Ltd + ++OUI:881DFC* ++ ID_OUI_FROM_DATABASE=Cisco ++ + OUI:881FA1* + ID_OUI_FROM_DATABASE=Apple + +@@ -63367,6 +63502,9 @@ OUI:8CDF9D* + OUI:8CE081* + ID_OUI_FROM_DATABASE=zte corporation + ++OUI:8CE78C* ++ ID_OUI_FROM_DATABASE=DK Networks ++ + OUI:8CE7B3* + ID_OUI_FROM_DATABASE=Sonardyne International Ltd + +@@ -63409,6 +63547,9 @@ OUI:900917* + OUI:900A3A* + ID_OUI_FROM_DATABASE=PSG Plastic Service GmbH + ++OUI:900CB4* ++ ID_OUI_FROM_DATABASE=Alinket Electronic Technology Co., Ltd ++ + OUI:900D66* + ID_OUI_FROM_DATABASE=Digimore Electronics Co., Ltd + +@@ -63556,6 +63697,9 @@ OUI:9067B5* + OUI:9067F3* + ID_OUI_FROM_DATABASE=Alcatel Lucent + ++OUI:9068C3* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:906DC8* + ID_OUI_FROM_DATABASE=DLG Automação Industrial Ltda + +@@ -63781,6 +63925,9 @@ OUI:940149* + OUI:9401C2* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:9405B6* ++ ID_OUI_FROM_DATABASE=Liling FullRiver Electronics & Technology Ltd ++ + OUI:940B2D* + ID_OUI_FROM_DATABASE=NetView Technologies(Shenzhen) Co., Ltd + +@@ -63913,6 +64060,9 @@ OUI:948B03* + OUI:948D50* + ID_OUI_FROM_DATABASE=Beamex Oy Ab + ++OUI:948E89* ++ ID_OUI_FROM_DATABASE=INDUSTRIAS UNIDAS SA DE CV ++ + OUI:948FEE* + ID_OUI_FROM_DATABASE=Hughes Telematics, Inc. + +@@ -64639,6 +64789,9 @@ OUI:9CD36D* + OUI:9CD643* + ID_OUI_FROM_DATABASE=D-Link International + ++OUI:9CD917* ++ ID_OUI_FROM_DATABASE=Motorola Mobility LLC ++ + OUI:9CDF03* + ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH + +@@ -65407,6 +65560,9 @@ OUI:A81B18* + OUI:A81B5D* + ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd + ++OUI:A81D16* ++ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc ++ + OUI:A81FAF* + ID_OUI_FROM_DATABASE=KRYPTON POLSKA + +@@ -65473,6 +65629,9 @@ OUI:A863DF* + OUI:A863F2* + ID_OUI_FROM_DATABASE=Texas Instruments + ++OUI:A86405* ++ ID_OUI_FROM_DATABASE=nimbus 9, Inc ++ + OUI:A865B2* + ID_OUI_FROM_DATABASE=DONGGUAN YISHANG ELECTRONIC TECHNOLOGY CO., LIMITED + +@@ -66064,6 +66223,9 @@ OUI:B0435D* + OUI:B04515* + ID_OUI_FROM_DATABASE=mira fitness,LLC. + ++OUI:B04519* ++ ID_OUI_FROM_DATABASE=TCT mobile ltd ++ + OUI:B04545* + ID_OUI_FROM_DATABASE=YACOUB Automation GmbH + +@@ -67105,6 +67267,9 @@ OUI:BC4760* + OUI:BC4B79* + ID_OUI_FROM_DATABASE=SensingTek + ++OUI:BC4DFB* ++ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc ++ + OUI:BC4E3C* + ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. + +@@ -67114,6 +67279,9 @@ OUI:BC4E5D* + OUI:BC51FE* + ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd + ++OUI:BC52B4* ++ ID_OUI_FROM_DATABASE=Alcatel-Lucent ++ + OUI:BC52B7* + ID_OUI_FROM_DATABASE=Apple + +@@ -67153,6 +67321,9 @@ OUI:BC71C1* + OUI:BC72B1* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:BC74D7* ++ ID_OUI_FROM_DATABASE=HangZhou JuRu Technology CO.,LTD ++ + OUI:BC764E* + ID_OUI_FROM_DATABASE=Rackspace US, Inc. + +@@ -67363,6 +67534,9 @@ OUI:C03580* + OUI:C035BD* + ID_OUI_FROM_DATABASE=Velocytech Aps + ++OUI:C035C5* ++ ID_OUI_FROM_DATABASE=Prosoft Systems LTD ++ + OUI:C03896* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + +@@ -67867,6 +68041,9 @@ OUI:C4BA99* + OUI:C4BD6A* + ID_OUI_FROM_DATABASE=SKF GmbH + ++OUI:C4BE84* ++ ID_OUI_FROM_DATABASE=Texas Instruments. ++ + OUI:C4C0AE* + ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. + +@@ -68527,6 +68704,9 @@ OUI:CCB8F1* + OUI:CCBD35* + ID_OUI_FROM_DATABASE=Steinel GmbH + ++OUI:CCBDD3* ++ ID_OUI_FROM_DATABASE=Ultimaker B.V. ++ + OUI:CCBE71* + ID_OUI_FROM_DATABASE=OptiLogix BV + +@@ -68698,6 +68878,9 @@ OUI:D046DC* + OUI:D04CC1* + ID_OUI_FROM_DATABASE=SINTRONES Technology Corp. + ++OUI:D04F7E* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D05099* + ID_OUI_FROM_DATABASE=ASRock Incorporation + +@@ -68734,6 +68917,9 @@ OUI:D05A0F* + OUI:D05AF1* + ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd + ++OUI:D05BA8* ++ ID_OUI_FROM_DATABASE=zte corporation ++ + OUI:D05FB8* + ID_OUI_FROM_DATABASE=Texas Instruments + +@@ -69025,6 +69211,9 @@ OUI:D42F23* + OUI:D4319D* + ID_OUI_FROM_DATABASE=Sinwatec + ++OUI:D43266* ++ ID_OUI_FROM_DATABASE=Fike Corporation ++ + OUI:D437D7* + ID_OUI_FROM_DATABASE=zte corporation + +@@ -69307,6 +69496,9 @@ OUI:D4F143* + OUI:D4F46F* + ID_OUI_FROM_DATABASE=Apple + ++OUI:D4F513* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:D4F63F* + ID_OUI_FROM_DATABASE=IEA S.R.L. + +@@ -69568,6 +69760,9 @@ OUI:D8B8F6* + OUI:D8B90E* + ID_OUI_FROM_DATABASE=Triple Domain Vision Co.,Ltd. + ++OUI:D8BB2C* ++ ID_OUI_FROM_DATABASE=Apple ++ + OUI:D8BF4C* + ID_OUI_FROM_DATABASE=Victory Concept Electronics Limited + +@@ -69635,7 +69830,7 @@ OUI:D8E56D* + ID_OUI_FROM_DATABASE=TCT Mobile Limited + + OUI:D8E72B* +- ID_OUI_FROM_DATABASE=OnPATH Technologies ++ ID_OUI_FROM_DATABASE=NetScout Systems, Inc. + + OUI:D8E743* + ID_OUI_FROM_DATABASE=Wush, Inc +@@ -70084,6 +70279,9 @@ OUI:E08177* + OUI:E087B1* + ID_OUI_FROM_DATABASE=Nata-Info Ltd. + ++OUI:E0885D* ++ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc ++ + OUI:E08A7E* + ID_OUI_FROM_DATABASE=Exponent + +@@ -70474,6 +70672,9 @@ OUI:E4AFA1* + OUI:E4B021* + ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd + ++OUI:E4BAD9* ++ ID_OUI_FROM_DATABASE=360 Fly Inc. ++ + OUI:E4C146* + ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A + +@@ -70603,6 +70804,9 @@ OUI:E82AEA* + OUI:E82E24* + ID_OUI_FROM_DATABASE=Out of the Fog Research LLC + ++OUI:E83381* ++ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. ++ + OUI:E83935* + ID_OUI_FROM_DATABASE=Hewlett Packard + +@@ -70720,6 +70924,9 @@ OUI:E88D28* + OUI:E88DF5* + ID_OUI_FROM_DATABASE=ZNYX Networks, Inc. + ++OUI:E88E60* ++ ID_OUI_FROM_DATABASE=NSD Corporation ++ + OUI:E89218* + ID_OUI_FROM_DATABASE=Arcontia International AB + +@@ -70918,6 +71125,9 @@ OUI:EC233D* + OUI:EC2368* + ID_OUI_FROM_DATABASE=IntelliVoice Co.,Ltd. + ++OUI:EC24B8* ++ ID_OUI_FROM_DATABASE=Texas Instruments ++ + OUI:EC2AF0* + ID_OUI_FROM_DATABASE=Ypsomed AG + +@@ -70978,6 +71188,9 @@ OUI:EC542E* + OUI:EC55F9* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. + ++OUI:EC59E7* ++ ID_OUI_FROM_DATABASE=Microsoft Corporation ++ + OUI:EC5C69* + ID_OUI_FROM_DATABASE=MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD. + +@@ -71002,6 +71215,9 @@ OUI:EC7C74* + OUI:EC7D9D* + ID_OUI_FROM_DATABASE=MEI + ++OUI:EC8009* ++ ID_OUI_FROM_DATABASE=NovaSparks ++ + OUI:EC836C* + ID_OUI_FROM_DATABASE=RM Tech Co., Ltd. + +@@ -71449,6 +71665,9 @@ OUI:F0F002* + OUI:F0F260* + ID_OUI_FROM_DATABASE=Mobitec AB + ++OUI:F0F336* ++ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD ++ + OUI:F0F5AE* + ID_OUI_FROM_DATABASE=Adaptrum Inc. + +@@ -71476,6 +71695,9 @@ OUI:F0F9F7* + OUI:F0FDA0* + ID_OUI_FROM_DATABASE=Acurix Networks LP + ++OUI:F0FE6B* ++ ID_OUI_FROM_DATABASE=Shanghai High-Flying Electronics Technology Co., Ltd ++ + OUI:F40321* + ID_OUI_FROM_DATABASE=BeNeXt B.V. + +@@ -71758,6 +71980,9 @@ OUI:F4EA67* + OUI:F4EC38* + ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. + ++OUI:F4EE14* ++ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. ++ + OUI:F4F15A* + ID_OUI_FROM_DATABASE=Apple + +@@ -71881,6 +72106,9 @@ OUI:F83DFF* + OUI:F842FB* + ID_OUI_FROM_DATABASE=Yasuda Joho Co.,ltd. + ++OUI:F84360* ++ ID_OUI_FROM_DATABASE=INGENICO ++ + OUI:F845AD* + ID_OUI_FROM_DATABASE=Konka Group Co., Ltd. + +@@ -72037,12 +72265,18 @@ OUI:F8AC6D* + OUI:F8B156* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:F8B2F3* ++ ID_OUI_FROM_DATABASE=GUANGZHOU BOSMA TECHNOLOGY CO.,LTD ++ + OUI:F8B599* + ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd + + OUI:F8BC12* + ID_OUI_FROM_DATABASE=Dell Inc + ++OUI:F8BC41* ++ ID_OUI_FROM_DATABASE=Rosslare Enterprises Limited ++ + OUI:F8C001* + ID_OUI_FROM_DATABASE=Juniper Networks + +@@ -72310,6 +72544,9 @@ OUI:FC6198* + OUI:FC626E* + ID_OUI_FROM_DATABASE=Beijing MDC Telecom + ++OUI:FC62B9* ++ ID_OUI_FROM_DATABASE=ALPS ERECTRIC CO.,LTD ++ + OUI:FC683E* + ID_OUI_FROM_DATABASE=Directed Perception, Inc + +diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb +index 3bcdbc0..1b98b1d 100644 +--- hwdb/20-pci-vendor-model.hwdb ++++ hwdb/20-pci-vendor-model.hwdb +@@ -7892,6 +7892,9 @@ pci:v00001002d0000692B* + pci:v00001002d0000692F* + ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] + ++pci:v00001002d00006939* ++ ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285] ++ + pci:v00001002d0000700F* + ID_MODEL_FROM_DATABASE=RS100 AGP Bridge + +@@ -17466,7 +17469,7 @@ pci:v00001093d00000162* + ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-50 + + pci:v00001093d00001150* +- ID_MODEL_FROM_DATABASE=PCI-DIO-32HS High Speed Digital I/O Board ++ ID_MODEL_FROM_DATABASE=PCI-6533 (PCI-DIO-32HS) + + pci:v00001093d00001170* + ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-10 +@@ -17481,22 +17484,31 @@ pci:v00001093d000011B0* + ID_MODEL_FROM_DATABASE=PXI-6070E + + pci:v00001093d000011C0* +- ID_MODEL_FROM_DATABASE=PXI-6040e ++ ID_MODEL_FROM_DATABASE=PXI-6040E + + pci:v00001093d000011D0* +- ID_MODEL_FROM_DATABASE=PXI-6030e ++ ID_MODEL_FROM_DATABASE=PXI-6030E + + pci:v00001093d00001270* +- ID_MODEL_FROM_DATABASE=PCI-6032e ++ ID_MODEL_FROM_DATABASE=PCI-6032E ++ ++pci:v00001093d00001290* ++ ID_MODEL_FROM_DATABASE=PCI-6704 ++ ++pci:v00001093d000012B0* ++ ID_MODEL_FROM_DATABASE=PCI-6534 + + pci:v00001093d00001310* + ID_MODEL_FROM_DATABASE=PCI-6602 + ++pci:v00001093d00001320* ++ ID_MODEL_FROM_DATABASE=PXI-6533 ++ + pci:v00001093d00001330* + ID_MODEL_FROM_DATABASE=PCI-6031E + + pci:v00001093d00001340* +- ID_MODEL_FROM_DATABASE=PCI-6033e ++ ID_MODEL_FROM_DATABASE=PCI-6033E + + pci:v00001093d00001350* + ID_MODEL_FROM_DATABASE=PCI-6071E +@@ -17504,6 +17516,12 @@ pci:v00001093d00001350* + pci:v00001093d00001360* + ID_MODEL_FROM_DATABASE=PXI-6602 + ++pci:v00001093d000013C0* ++ ID_MODEL_FROM_DATABASE=PXI-6508 ++ ++pci:v00001093d00001490* ++ ID_MODEL_FROM_DATABASE=PXI-6534 ++ + pci:v00001093d000014E0* + ID_MODEL_FROM_DATABASE=PCI-6110 + +@@ -17519,6 +17537,9 @@ pci:v00001093d000015B0* + pci:v00001093d00001710* + ID_MODEL_FROM_DATABASE=PXI-6509 + ++pci:v00001093d000017C0* ++ ID_MODEL_FROM_DATABASE=PXI-5690 ++ + pci:v00001093d000017D0* + ID_MODEL_FROM_DATABASE=PCI-6503 + +@@ -17534,6 +17555,33 @@ pci:v00001093d000018B0* + pci:v00001093d000018C0* + ID_MODEL_FROM_DATABASE=PXI-6052E + ++pci:v00001093d00001920* ++ ID_MODEL_FROM_DATABASE=PXI-6704 ++ ++pci:v00001093d00001930* ++ ID_MODEL_FROM_DATABASE=PCI-6040E ++ ++pci:v00001093d000019C0* ++ ID_MODEL_FROM_DATABASE=PCI-4472 ++ ++pci:v00001093d00001AA0* ++ ID_MODEL_FROM_DATABASE=PXI-4110 ++ ++pci:v00001093d00001AD0* ++ ID_MODEL_FROM_DATABASE=PCI-6133 ++ ++pci:v00001093d00001AE0* ++ ID_MODEL_FROM_DATABASE=PXI-6133 ++ ++pci:v00001093d00001E30* ++ ID_MODEL_FROM_DATABASE=PCI-6624 ++ ++pci:v00001093d00001E40* ++ ID_MODEL_FROM_DATABASE=PXI-6624 ++ ++pci:v00001093d00001E50* ++ ID_MODEL_FROM_DATABASE=PXI-5404 ++ + pci:v00001093d00002410* + ID_MODEL_FROM_DATABASE=PCI-6733 + +@@ -17543,12 +17591,42 @@ pci:v00001093d00002420* + pci:v00001093d00002430* + ID_MODEL_FROM_DATABASE=PCI-6731 + ++pci:v00001093d00002470* ++ ID_MODEL_FROM_DATABASE=PCI-4474 ++ ++pci:v00001093d000024A0* ++ ID_MODEL_FROM_DATABASE=PCI-4065 ++ ++pci:v00001093d000024B0* ++ ID_MODEL_FROM_DATABASE=PXI-4200 ++ ++pci:v00001093d000024F0* ++ ID_MODEL_FROM_DATABASE=PXI-4472 ++ ++pci:v00001093d00002510* ++ ID_MODEL_FROM_DATABASE=PCI-4472 ++ ++pci:v00001093d00002520* ++ ID_MODEL_FROM_DATABASE=PCI-4474 ++ ++pci:v00001093d000027A0* ++ ID_MODEL_FROM_DATABASE=PCI-6123 ++ ++pci:v00001093d000027B0* ++ ID_MODEL_FROM_DATABASE=PXI-6123 ++ + pci:v00001093d00002880* + ID_MODEL_FROM_DATABASE=DAQCard-6601 + + pci:v00001093d00002890* + ID_MODEL_FROM_DATABASE=PCI-6036E + ++pci:v00001093d000028A0* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ ++pci:v00001093d000028B0* ++ ID_MODEL_FROM_DATABASE=PCI-6013 ++ + pci:v00001093d000028C0* + ID_MODEL_FROM_DATABASE=PCI-6014 + +@@ -17558,6 +17636,12 @@ pci:v00001093d000028D0* + pci:v00001093d000028E0* + ID_MODEL_FROM_DATABASE=PXI-5122 + ++pci:v00001093d000029F0* ++ ID_MODEL_FROM_DATABASE=PXI-7334 ++ ++pci:v00001093d00002A00* ++ ID_MODEL_FROM_DATABASE=PXI-7344 ++ + pci:v00001093d00002A60* + ID_MODEL_FROM_DATABASE=PCI-6023E + +@@ -17568,7 +17652,13 @@ pci:v00001093d00002A80* + ID_MODEL_FROM_DATABASE=PCI-6025E + + pci:v00001093d00002AB0* +- ID_MODEL_FROM_DATABASE=PXI-6025e ++ ID_MODEL_FROM_DATABASE=PXI-6025E ++ ++pci:v00001093d00002B10* ++ ID_MODEL_FROM_DATABASE=PXI-6527 ++ ++pci:v00001093d00002B20* ++ ID_MODEL_FROM_DATABASE=PCI-6527 + + pci:v00001093d00002B80* + ID_MODEL_FROM_DATABASE=PXI-6713 +@@ -17585,15 +17675,75 @@ pci:v00001093d00002C70* + pci:v00001093d00002C80* + ID_MODEL_FROM_DATABASE=PCI-6035E + ++pci:v00001093d00002C90* ++ ID_MODEL_FROM_DATABASE=PCI-6703 ++ + pci:v00001093d00002CA0* + ID_MODEL_FROM_DATABASE=PCI-6034E + ++pci:v00001093d00002CB0* ++ ID_MODEL_FROM_DATABASE=PCI-7344 ++ + pci:v00001093d00002CC0* + ID_MODEL_FROM_DATABASE=PXI-6608 + ++pci:v00001093d00002D20* ++ ID_MODEL_FROM_DATABASE=PXI-5600 ++ + pci:v00001093d00002DB0* + ID_MODEL_FROM_DATABASE=PCI-6608 + ++pci:v00001093d00002DC0* ++ ID_MODEL_FROM_DATABASE=PCI-4070 ++ ++pci:v00001093d00002DD0* ++ ID_MODEL_FROM_DATABASE=PXI-4070 ++ ++pci:v00001093d00002EB0* ++ ID_MODEL_FROM_DATABASE=PXI-4472 ++ ++pci:v00001093d00002EC0* ++ ID_MODEL_FROM_DATABASE=PXI-6115 ++ ++pci:v00001093d00002ED0* ++ ID_MODEL_FROM_DATABASE=PCI-6115 ++ ++pci:v00001093d00002EE0* ++ ID_MODEL_FROM_DATABASE=PXI-6120 ++ ++pci:v00001093d00002EF0* ++ ID_MODEL_FROM_DATABASE=PCI-6120 ++ ++pci:v00001093d00002FD1* ++ ID_MODEL_FROM_DATABASE=PCI-7334 ++ ++pci:v00001093d00002FD2* ++ ID_MODEL_FROM_DATABASE=PCI-7350 ++ ++pci:v00001093d00002FD3* ++ ID_MODEL_FROM_DATABASE=PCI-7342 ++ ++pci:v00001093d00002FD5* ++ ID_MODEL_FROM_DATABASE=PXI-7350 ++ ++pci:v00001093d00002FD6* ++ ID_MODEL_FROM_DATABASE=PXI-7342 ++ ++pci:v00001093d00007003* ++ ID_MODEL_FROM_DATABASE=PCI-6551 ++ ++pci:v00001093d00007004* ++ ID_MODEL_FROM_DATABASE=PXI-6551 ++ ++pci:v00001093d0000700B* ++ ID_MODEL_FROM_DATABASE=PXI-5421 ++ ++pci:v00001093d0000700C* ++ ID_MODEL_FROM_DATABASE=PCI-5421 ++ ++pci:v00001093d00007023* ++ ID_MODEL_FROM_DATABASE=PXI-2593 ++ + pci:v00001093d0000702C* + ID_MODEL_FROM_DATABASE=PXI-7831R + +@@ -17606,23 +17756,152 @@ pci:v00001093d0000702E* + pci:v00001093d0000702F* + ID_MODEL_FROM_DATABASE=PCI-7811R + ++pci:v00001093d00007030* ++ ID_MODEL_FROM_DATABASE=PCI-CAN (Series 2) ++ ++pci:v00001093d00007031* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/2 (Series 2) ++ ++pci:v00001093d00007032* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS (Series 2) ++ ++pci:v00001093d00007033* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 (Series 2) ++ ++pci:v00001093d00007034* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/DS (Series 2) ++ ++pci:v00001093d00007035* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 1 port) ++ ++pci:v00001093d00007036* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 2 ports) ++ ++pci:v00001093d00007037* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 1 port) ++ ++pci:v00001093d00007038* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 2 ports) ++ ++pci:v00001093d00007039* ++ ID_MODEL_FROM_DATABASE=PXI-8462 (Series 2) ++ ++pci:v00001093d0000703F* ++ ID_MODEL_FROM_DATABASE=PXI-2566 ++ ++pci:v00001093d00007040* ++ ID_MODEL_FROM_DATABASE=PXI-2567 ++ ++pci:v00001093d00007044* ++ ID_MODEL_FROM_DATABASE=MXI-4 Connection Monitor ++ ++pci:v00001093d00007047* ++ ID_MODEL_FROM_DATABASE=PXI-6653 ++ ++pci:v00001093d0000704C* ++ ID_MODEL_FROM_DATABASE=PXI-2530 ++ ++pci:v00001093d0000704F* ++ ID_MODEL_FROM_DATABASE=PXI-4220 ++ ++pci:v00001093d00007050* ++ ID_MODEL_FROM_DATABASE=PXI-4204 ++ + pci:v00001093d00007055* + ID_MODEL_FROM_DATABASE=PXI-7830R + + pci:v00001093d00007056* + ID_MODEL_FROM_DATABASE=PCI-7830R + ++pci:v00001093d0000705A* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/XS (Series 2) ++ ++pci:v00001093d0000705B* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/XS2 (Series 2) ++ ++pci:v00001093d0000705C* ++ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 1 port) ++ ++pci:v00001093d0000705D* ++ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 2 ports) ++ ++pci:v00001093d0000705E* ++ ID_MODEL_FROM_DATABASE=cRIO-9102 ++ ++pci:v00001093d00007060* ++ ID_MODEL_FROM_DATABASE=PXI-5610 ++ ++pci:v00001093d00007064* ++ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module ++ ++pci:v00001093d00007065* ++ ID_MODEL_FROM_DATABASE=PXI-6652 ++ ++pci:v00001093d00007066* ++ ID_MODEL_FROM_DATABASE=PXI-6651 ++ ++pci:v00001093d00007067* ++ ID_MODEL_FROM_DATABASE=PXI-2529 ++ ++pci:v00001093d00007068* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/SW (Series 2) ++ ++pci:v00001093d00007069* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/SW2 (Series 2) ++ ++pci:v00001093d0000706A* ++ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 1 port) ++ ++pci:v00001093d0000706B* ++ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 2 ports) ++ ++pci:v00001093d00007073* ++ ID_MODEL_FROM_DATABASE=PCI-6723 ++ + pci:v00001093d00007074* + ID_MODEL_FROM_DATABASE=PXI-7833R + ++pci:v00001093d00007075* ++ ID_MODEL_FROM_DATABASE=PXI-6552 ++ ++pci:v00001093d00007076* ++ ID_MODEL_FROM_DATABASE=PCI-6552 ++ ++pci:v00001093d0000707C* ++ ID_MODEL_FROM_DATABASE=PXI-1428 ++ ++pci:v00001093d0000707E* ++ ID_MODEL_FROM_DATABASE=PXI-4462 ++ ++pci:v00001093d00007080* ++ ID_MODEL_FROM_DATABASE=PXI-8430/2 (RS-232) Interface ++ ++pci:v00001093d00007081* ++ ID_MODEL_FROM_DATABASE=PXI-8431/2 (RS-485) Interface ++ + pci:v00001093d00007083* + ID_MODEL_FROM_DATABASE=PCI-7833R + + pci:v00001093d00007085* + ID_MODEL_FROM_DATABASE=PCI-6509 + ++pci:v00001093d00007086* ++ ID_MODEL_FROM_DATABASE=PXI-6528 ++ ++pci:v00001093d00007087* ++ ID_MODEL_FROM_DATABASE=PCI-6515 ++ ++pci:v00001093d00007088* ++ ID_MODEL_FROM_DATABASE=PCI-6514 ++ ++pci:v00001093d0000708C* ++ ID_MODEL_FROM_DATABASE=PXI-2568 ++ ++pci:v00001093d0000708D* ++ ID_MODEL_FROM_DATABASE=PXI-2569 ++ + pci:v00001093d000070A9* +- ID_MODEL_FROM_DATABASE=PCI-6528 (Digital I/O at 60V) ++ ID_MODEL_FROM_DATABASE=PCI-6528 + + pci:v00001093d000070AA* + ID_MODEL_FROM_DATABASE=PCI-6229 +@@ -17633,6 +17912,9 @@ pci:v00001093d000070AB* + pci:v00001093d000070AC* + ID_MODEL_FROM_DATABASE=PCI-6289 + ++pci:v00001093d000070AD* ++ ID_MODEL_FROM_DATABASE=PXI-6251 ++ + pci:v00001093d000070AE* + ID_MODEL_FROM_DATABASE=PXI-6220 + +@@ -17642,9 +17924,21 @@ pci:v00001093d000070AF* + pci:v00001093d000070B0* + ID_MODEL_FROM_DATABASE=PCI-6220 + ++pci:v00001093d000070B1* ++ ID_MODEL_FROM_DATABASE=PXI-6229 ++ ++pci:v00001093d000070B2* ++ ID_MODEL_FROM_DATABASE=PXI-6259 ++ ++pci:v00001093d000070B3* ++ ID_MODEL_FROM_DATABASE=PXI-6289 ++ + pci:v00001093d000070B4* + ID_MODEL_FROM_DATABASE=PCI-6250 + ++pci:v00001093d000070B5* ++ ID_MODEL_FROM_DATABASE=PXI-6221 ++ + pci:v00001093d000070B6* + ID_MODEL_FROM_DATABASE=PCI-6280 + +@@ -17652,7 +17946,16 @@ pci:v00001093d000070B7* + ID_MODEL_FROM_DATABASE=PCI-6254 + + pci:v00001093d000070B8* +- ID_MODEL_FROM_DATABASE=PCI-6251 [M Series - High Speed Multifunction DAQ] ++ ID_MODEL_FROM_DATABASE=PCI-6251 ++ ++pci:v00001093d000070B9* ++ ID_MODEL_FROM_DATABASE=PXI-6250 ++ ++pci:v00001093d000070BA* ++ ID_MODEL_FROM_DATABASE=PXI-6254 ++ ++pci:v00001093d000070BB* ++ ID_MODEL_FROM_DATABASE=PXI-6280 + + pci:v00001093d000070BC* + ID_MODEL_FROM_DATABASE=PCI-6284 +@@ -17660,12 +17963,144 @@ pci:v00001093d000070BC* + pci:v00001093d000070BD* + ID_MODEL_FROM_DATABASE=PCI-6281 + ++pci:v00001093d000070BE* ++ ID_MODEL_FROM_DATABASE=PXI-6284 ++ + pci:v00001093d000070BF* + ID_MODEL_FROM_DATABASE=PXI-6281 + + pci:v00001093d000070C0* + ID_MODEL_FROM_DATABASE=PCI-6143 + ++pci:v00001093d000070C3* ++ ID_MODEL_FROM_DATABASE=PCI-6511 ++ ++pci:v00001093d000070C4* ++ ID_MODEL_FROM_DATABASE=PXI-7330 ++ ++pci:v00001093d000070C5* ++ ID_MODEL_FROM_DATABASE=PXI-7340 ++ ++pci:v00001093d000070C6* ++ ID_MODEL_FROM_DATABASE=PCI-7330 ++ ++pci:v00001093d000070C7* ++ ID_MODEL_FROM_DATABASE=PCI-7340 ++ ++pci:v00001093d000070C8* ++ ID_MODEL_FROM_DATABASE=PCI-6513 ++ ++pci:v00001093d000070C9* ++ ID_MODEL_FROM_DATABASE=PXI-6515 ++ ++pci:v00001093d000070CA* ++ ID_MODEL_FROM_DATABASE=PCI-1405 ++ ++pci:v00001093d000070CC* ++ ID_MODEL_FROM_DATABASE=PCI-6512 ++ ++pci:v00001093d000070CD* ++ ID_MODEL_FROM_DATABASE=PXI-6514 ++ ++pci:v00001093d000070CE* ++ ID_MODEL_FROM_DATABASE=PXI-1405 ++ ++pci:v00001093d000070CF* ++ ID_MODEL_FROM_DATABASE=PCIe-GPIB ++ ++pci:v00001093d000070D0* ++ ID_MODEL_FROM_DATABASE=PXI-2570 ++ ++pci:v00001093d000070D1* ++ ID_MODEL_FROM_DATABASE=PXI-6513 ++ ++pci:v00001093d000070D2* ++ ID_MODEL_FROM_DATABASE=PXI-6512 ++ ++pci:v00001093d000070D3* ++ ID_MODEL_FROM_DATABASE=PXI-6511 ++ ++pci:v00001093d000070D4* ++ ID_MODEL_FROM_DATABASE=PCI-6722 ++ ++pci:v00001093d000070D6* ++ ID_MODEL_FROM_DATABASE=PXI-4072 ++ ++pci:v00001093d000070D7* ++ ID_MODEL_FROM_DATABASE=PXI-6541 ++ ++pci:v00001093d000070D8* ++ ID_MODEL_FROM_DATABASE=PXI-6542 ++ ++pci:v00001093d000070D9* ++ ID_MODEL_FROM_DATABASE=PCI-6541 ++ ++pci:v00001093d000070DA* ++ ID_MODEL_FROM_DATABASE=PCI-6542 ++ ++pci:v00001093d000070DB* ++ ID_MODEL_FROM_DATABASE=PCI-8430/2 (RS-232) Interface ++ ++pci:v00001093d000070DC* ++ ID_MODEL_FROM_DATABASE=PCI-8431/2 (RS-485) Interface ++ ++pci:v00001093d000070DD* ++ ID_MODEL_FROM_DATABASE=PXI-8430/4 (RS-232) Interface ++ ++pci:v00001093d000070DE* ++ ID_MODEL_FROM_DATABASE=PXI-8431/4 (RS-485) Interface ++ ++pci:v00001093d000070DF* ++ ID_MODEL_FROM_DATABASE=PCI-8430/4 (RS-232) Interface ++ ++pci:v00001093d000070E0* ++ ID_MODEL_FROM_DATABASE=PCI-8431/4 (RS-485) Interface ++ ++pci:v00001093d000070E1* ++ ID_MODEL_FROM_DATABASE=PXI-2532 ++ ++pci:v00001093d000070E2* ++ ID_MODEL_FROM_DATABASE=PXI-8430/8 (RS-232) Interface ++ ++pci:v00001093d000070E3* ++ ID_MODEL_FROM_DATABASE=PXI-8431/8 (RS-485) Interface ++ ++pci:v00001093d000070E4* ++ ID_MODEL_FROM_DATABASE=PCI-8430/8 (RS-232) Interface ++ ++pci:v00001093d000070E5* ++ ID_MODEL_FROM_DATABASE=PCI-8431/8 (RS-485) Interface ++ ++pci:v00001093d000070E6* ++ ID_MODEL_FROM_DATABASE=PXI-8430/16 (RS-232) Interface ++ ++pci:v00001093d000070E7* ++ ID_MODEL_FROM_DATABASE=PCI-8430/16 (RS-232) Interface ++ ++pci:v00001093d000070E8* ++ ID_MODEL_FROM_DATABASE=PXI-8432/2 (Isolated RS-232) Interface ++ ++pci:v00001093d000070E9* ++ ID_MODEL_FROM_DATABASE=PXI-8433/2 (Isolated RS-485) Interface ++ ++pci:v00001093d000070EA* ++ ID_MODEL_FROM_DATABASE=PCI-8432/2 (Isolated RS-232) Interface ++ ++pci:v00001093d000070EB* ++ ID_MODEL_FROM_DATABASE=PCI-8433/2 (Isolated RS-485) Interface ++ ++pci:v00001093d000070EC* ++ ID_MODEL_FROM_DATABASE=PXI-8432/4 (Isolated RS-232) Interface ++ ++pci:v00001093d000070ED* ++ ID_MODEL_FROM_DATABASE=PXI-8433/4 (Isolated RS-485) Interface ++ ++pci:v00001093d000070EE* ++ ID_MODEL_FROM_DATABASE=PCI-8432/4 (Isolated RS-232) Interface ++ ++pci:v00001093d000070EF* ++ ID_MODEL_FROM_DATABASE=PCI-8433/4 (Isolated RS-485) Interface ++ + pci:v00001093d000070F0* + ID_MODEL_FROM_DATABASE=PXI-5922 + +@@ -17675,57 +18110,363 @@ pci:v00001093d000070F1* + pci:v00001093d000070F2* + ID_MODEL_FROM_DATABASE=PCI-6224 + ++pci:v00001093d000070F3* ++ ID_MODEL_FROM_DATABASE=PXI-6224 ++ ++pci:v00001093d000070F6* ++ ID_MODEL_FROM_DATABASE=cRIO-9101 ++ ++pci:v00001093d000070F7* ++ ID_MODEL_FROM_DATABASE=cRIO-9103 ++ ++pci:v00001093d000070F8* ++ ID_MODEL_FROM_DATABASE=cRIO-9104 ++ ++pci:v00001093d000070FF* ++ ID_MODEL_FROM_DATABASE=PXI-6723 ++ ++pci:v00001093d00007100* ++ ID_MODEL_FROM_DATABASE=PXI-6722 ++ ++pci:v00001093d00007104* ++ ID_MODEL_FROM_DATABASE=PCIx-1429 ++ ++pci:v00001093d00007105* ++ ID_MODEL_FROM_DATABASE=PCIe-1429 ++ ++pci:v00001093d0000710A* ++ ID_MODEL_FROM_DATABASE=PXI-4071 ++ ++pci:v00001093d0000710D* ++ ID_MODEL_FROM_DATABASE=PXI-6143 ++ ++pci:v00001093d0000710E* ++ ID_MODEL_FROM_DATABASE=PCIe-GPIB ++ ++pci:v00001093d0000710F* ++ ID_MODEL_FROM_DATABASE=PXI-5422 ++ ++pci:v00001093d00007110* ++ ID_MODEL_FROM_DATABASE=PCI-5422 ++ ++pci:v00001093d00007111* ++ ID_MODEL_FROM_DATABASE=PXI-5441 ++ ++pci:v00001093d00007119* ++ ID_MODEL_FROM_DATABASE=PXI-6561 ++ ++pci:v00001093d0000711A* ++ ID_MODEL_FROM_DATABASE=PXI-6562 ++ ++pci:v00001093d0000711B* ++ ID_MODEL_FROM_DATABASE=PCI-6561 ++ ++pci:v00001093d0000711C* ++ ID_MODEL_FROM_DATABASE=PCI-6562 ++ ++pci:v00001093d00007120* ++ ID_MODEL_FROM_DATABASE=PCI-7390 ++ + pci:v00001093d00007121* + ID_MODEL_FROM_DATABASE=PXI-5122EX + + pci:v00001093d00007122* + ID_MODEL_FROM_DATABASE=PCI-5122EX + ++pci:v00001093d00007123* ++ ID_MODEL_FROM_DATABASE=PXIe-5653 ++ ++pci:v00001093d00007124* ++ ID_MODEL_FROM_DATABASE=PCI-6510 ++ ++pci:v00001093d00007125* ++ ID_MODEL_FROM_DATABASE=PCI-6516 ++ ++pci:v00001093d00007126* ++ ID_MODEL_FROM_DATABASE=PCI-6517 ++ ++pci:v00001093d00007127* ++ ID_MODEL_FROM_DATABASE=PCI-6518 ++ ++pci:v00001093d00007128* ++ ID_MODEL_FROM_DATABASE=PCI-6519 ++ ++pci:v00001093d00007137* ++ ID_MODEL_FROM_DATABASE=PXI-2575 ++ ++pci:v00001093d0000713C* ++ ID_MODEL_FROM_DATABASE=PXI-2585 ++ ++pci:v00001093d0000713D* ++ ID_MODEL_FROM_DATABASE=PXI-2586 ++ ++pci:v00001093d00007142* ++ ID_MODEL_FROM_DATABASE=PXI-4224 ++ + pci:v00001093d00007144* +- ID_MODEL_FROM_DATABASE=PXI-5124 (12-bit 200 MS/s Digitizer) ++ ID_MODEL_FROM_DATABASE=PXI-5124 + + pci:v00001093d00007145* + ID_MODEL_FROM_DATABASE=PCI-5124 + ++pci:v00001093d00007146* ++ ID_MODEL_FROM_DATABASE=PCI-6132 ++ ++pci:v00001093d00007147* ++ ID_MODEL_FROM_DATABASE=PXI-6132 ++ ++pci:v00001093d00007148* ++ ID_MODEL_FROM_DATABASE=PCI-6122 ++ ++pci:v00001093d00007149* ++ ID_MODEL_FROM_DATABASE=PXI-6122 ++ + pci:v00001093d0000714C* + ID_MODEL_FROM_DATABASE=PXI-5114 + + pci:v00001093d0000714D* + ID_MODEL_FROM_DATABASE=PCI-5114 + ++pci:v00001093d00007150* ++ ID_MODEL_FROM_DATABASE=PXI-2564 ++ + pci:v00001093d00007152* + ID_MODEL_FROM_DATABASE=PCI-5640R + ++pci:v00001093d00007156* ++ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module ++ ++pci:v00001093d0000715D* ++ ID_MODEL_FROM_DATABASE=PCI-1426 ++ ++pci:v00001093d00007167* ++ ID_MODEL_FROM_DATABASE=PXI-5412 ++ ++pci:v00001093d00007168* ++ ID_MODEL_FROM_DATABASE=PCI-5412 ++ ++pci:v00001093d0000716B* ++ ID_MODEL_FROM_DATABASE=PCI-6230 ++ + pci:v00001093d0000716C* + ID_MODEL_FROM_DATABASE=PCI-6225 + ++pci:v00001093d0000716D* ++ ID_MODEL_FROM_DATABASE=PXI-6225 ++ ++pci:v00001093d0000716F* ++ ID_MODEL_FROM_DATABASE=PCI-4461 ++ ++pci:v00001093d00007170* ++ ID_MODEL_FROM_DATABASE=PCI-4462 ++ ++pci:v00001093d00007171* ++ ID_MODEL_FROM_DATABASE=PCI-6010 ++ ++pci:v00001093d00007174* ++ ID_MODEL_FROM_DATABASE=PXI-8360 ++ ++pci:v00001093d00007177* ++ ID_MODEL_FROM_DATABASE=PXI-6230 ++ + pci:v00001093d0000717D* +- ID_MODEL_FROM_DATABASE=PCIE-6251 ++ ID_MODEL_FROM_DATABASE=PCIe-6251 + + pci:v00001093d0000717F* + ID_MODEL_FROM_DATABASE=PCIe-6259 + ++pci:v00001093d00007187* ++ ID_MODEL_FROM_DATABASE=PCI-1410 ++ ++pci:v00001093d0000718B* ++ ID_MODEL_FROM_DATABASE=PCI-6521 ++ ++pci:v00001093d0000718C* ++ ID_MODEL_FROM_DATABASE=PXI-6521 ++ ++pci:v00001093d00007191* ++ ID_MODEL_FROM_DATABASE=PCI-6154 ++ + pci:v00001093d00007193* + ID_MODEL_FROM_DATABASE=PXI-7813R + + pci:v00001093d00007194* + ID_MODEL_FROM_DATABASE=PCI-7813R + ++pci:v00001093d00007195* ++ ID_MODEL_FROM_DATABASE=PCI-8254R ++ ++pci:v00001093d00007197* ++ ID_MODEL_FROM_DATABASE=PXI-5402 ++ ++pci:v00001093d00007198* ++ ID_MODEL_FROM_DATABASE=PCI-5402 ++ ++pci:v00001093d0000719F* ++ ID_MODEL_FROM_DATABASE=PCIe-6535 ++ ++pci:v00001093d000071A0* ++ ID_MODEL_FROM_DATABASE=PCIe-6536 ++ ++pci:v00001093d000071A3* ++ ID_MODEL_FROM_DATABASE=PXI-5650 ++ ++pci:v00001093d000071A4* ++ ID_MODEL_FROM_DATABASE=PXI-5652 ++ ++pci:v00001093d000071A5* ++ ID_MODEL_FROM_DATABASE=PXI-2594 ++ ++pci:v00001093d000071A7* ++ ID_MODEL_FROM_DATABASE=PXI-2595 ++ ++pci:v00001093d000071A9* ++ ID_MODEL_FROM_DATABASE=PXI-2596 ++ ++pci:v00001093d000071AA* ++ ID_MODEL_FROM_DATABASE=PXI-2597 ++ ++pci:v00001093d000071AB* ++ ID_MODEL_FROM_DATABASE=PXI-2598 ++ ++pci:v00001093d000071AC* ++ ID_MODEL_FROM_DATABASE=PXI-2599 ++ ++pci:v00001093d000071AD* ++ ID_MODEL_FROM_DATABASE=PCI-GPIB+ ++ ++pci:v00001093d000071AE* ++ ID_MODEL_FROM_DATABASE=PCIe-1430 ++ ++pci:v00001093d000071B7* ++ ID_MODEL_FROM_DATABASE=PXI-1056 Trigger Routing Module ++ ++pci:v00001093d000071B8* ++ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module ++ ++pci:v00001093d000071B9* ++ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module ++ ++pci:v00001093d000071BB* ++ ID_MODEL_FROM_DATABASE=PXI-2584 ++ + pci:v00001093d000071BC* +- ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) ++ ID_MODEL_FROM_DATABASE=PCI-6221 (37-pin) + +-pci:v00001093d000071D0* +- ID_MODEL_FROM_DATABASE=PXI-6143 ++pci:v00001093d000071BF* ++ ID_MODEL_FROM_DATABASE=PCIe-1427 ++ ++pci:v00001093d000071C5* ++ ID_MODEL_FROM_DATABASE=PCI-6520 ++ ++pci:v00001093d000071C6* ++ ID_MODEL_FROM_DATABASE=PXI-2576 ++ ++pci:v00001093d000071C7* ++ ID_MODEL_FROM_DATABASE=cRIO-9072 + + pci:v00001093d000071DC* + ID_MODEL_FROM_DATABASE=PCI-1588 + ++pci:v00001093d000071E0* ++ ID_MODEL_FROM_DATABASE=PCI-6255 ++ ++pci:v00001093d000071E1* ++ ID_MODEL_FROM_DATABASE=PXI-6255 ++ ++pci:v00001093d000071E2* ++ ID_MODEL_FROM_DATABASE=PXI-5406 ++ ++pci:v00001093d000071E3* ++ ID_MODEL_FROM_DATABASE=PCI-5406 ++ ++pci:v00001093d000071FC* ++ ID_MODEL_FROM_DATABASE=PXI-4022 ++ ++pci:v00001093d00007209* ++ ID_MODEL_FROM_DATABASE=PCI-6233 ++ ++pci:v00001093d0000720A* ++ ID_MODEL_FROM_DATABASE=PXI-6233 ++ ++pci:v00001093d0000720B* ++ ID_MODEL_FROM_DATABASE=PCI-6238 ++ ++pci:v00001093d0000720C* ++ ID_MODEL_FROM_DATABASE=PXI-6238 ++ + pci:v00001093d00007260* + ID_MODEL_FROM_DATABASE=PXI-5142 + + pci:v00001093d00007261* + ID_MODEL_FROM_DATABASE=PCI-5142 + ++pci:v00001093d0000726D* ++ ID_MODEL_FROM_DATABASE=PXI-5651 ++ ++pci:v00001093d00007273* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ ++pci:v00001093d00007274* ++ ID_MODEL_FROM_DATABASE=PXI-4462 ++ ++pci:v00001093d00007279* ++ ID_MODEL_FROM_DATABASE=PCI-6232 ++ ++pci:v00001093d0000727A* ++ ID_MODEL_FROM_DATABASE=PXI-6232 ++ ++pci:v00001093d0000727B* ++ ID_MODEL_FROM_DATABASE=PCI-6239 ++ ++pci:v00001093d0000727C* ++ ID_MODEL_FROM_DATABASE=PXI-6239 ++ ++pci:v00001093d0000727E* ++ ID_MODEL_FROM_DATABASE=SMBus Controller ++ ++pci:v00001093d0000727Esv00001093sd000075AC* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8388) ++ ++pci:v00001093d0000727Esv00001093sd000075AD* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8389) ++ ++pci:v00001093d0000727Esv00001093sd00007650* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8381) ++ ++pci:v00001093d0000727Esv00001093sd00008360* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8360) ++ ++pci:v00001093d0000727Esv00001093sd00008370* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8370) ++ ++pci:v00001093d0000727Esv00001093sd00008375* ++ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8375) ++ ++pci:v00001093d00007281* ++ ID_MODEL_FROM_DATABASE=PCI-6236 ++ ++pci:v00001093d00007282* ++ ID_MODEL_FROM_DATABASE=PXI-6236 ++ ++pci:v00001093d00007283* ++ ID_MODEL_FROM_DATABASE=PXI-2554 ++ ++pci:v00001093d00007288* ++ ID_MODEL_FROM_DATABASE=PXIe-5611 ++ ++pci:v00001093d00007293* ++ ID_MODEL_FROM_DATABASE=PCIe-8255R ++ ++pci:v00001093d0000729D* ++ ID_MODEL_FROM_DATABASE=cRIO-9074 ++ ++pci:v00001093d000072A4* ++ ID_MODEL_FROM_DATABASE=PCIe-4065 ++ ++pci:v00001093d000072A7* ++ ID_MODEL_FROM_DATABASE=PCIe-6537 ++ + pci:v00001093d000072A8* + ID_MODEL_FROM_DATABASE=PXI-5152 + +@@ -17741,21 +18482,117 @@ pci:v00001093d000072AB* + pci:v00001093d000072B8* + ID_MODEL_FROM_DATABASE=PXI-6682 + ++pci:v00001093d000072D0* ++ ID_MODEL_FROM_DATABASE=PXI-2545 ++ ++pci:v00001093d000072D1* ++ ID_MODEL_FROM_DATABASE=PXI-2546 ++ ++pci:v00001093d000072D2* ++ ID_MODEL_FROM_DATABASE=PXI-2547 ++ ++pci:v00001093d000072D3* ++ ID_MODEL_FROM_DATABASE=PXI-2548 ++ ++pci:v00001093d000072D4* ++ ID_MODEL_FROM_DATABASE=PXI-2549 ++ ++pci:v00001093d000072D5* ++ ID_MODEL_FROM_DATABASE=PXI-2555 ++ ++pci:v00001093d000072D6* ++ ID_MODEL_FROM_DATABASE=PXI-2556 ++ ++pci:v00001093d000072D7* ++ ID_MODEL_FROM_DATABASE=PXI-2557 ++ ++pci:v00001093d000072D8* ++ ID_MODEL_FROM_DATABASE=PXI-2558 ++ ++pci:v00001093d000072D9* ++ ID_MODEL_FROM_DATABASE=PXI-2559 ++ ++pci:v00001093d000072E8* ++ ID_MODEL_FROM_DATABASE=PXIe-6251 ++ ++pci:v00001093d000072E9* ++ ID_MODEL_FROM_DATABASE=PXIe-6259 ++ ++pci:v00001093d000072EF* ++ ID_MODEL_FROM_DATABASE=PXI-4498 ++ ++pci:v00001093d000072F0* ++ ID_MODEL_FROM_DATABASE=PXI-4496 ++ ++pci:v00001093d000072FB* ++ ID_MODEL_FROM_DATABASE=PXIe-6672 ++ ++pci:v00001093d0000730E* ++ ID_MODEL_FROM_DATABASE=PXI-4130 ++ + pci:v00001093d0000730F* + ID_MODEL_FROM_DATABASE=PXI-5922EX + + pci:v00001093d00007310* + ID_MODEL_FROM_DATABASE=PCI-5922EX + ++pci:v00001093d0000731C* ++ ID_MODEL_FROM_DATABASE=PXI-2535 ++ ++pci:v00001093d0000731D* ++ ID_MODEL_FROM_DATABASE=PXI-2536 ++ ++pci:v00001093d00007322* ++ ID_MODEL_FROM_DATABASE=PXIe-6124 ++ ++pci:v00001093d00007327* ++ ID_MODEL_FROM_DATABASE=PXI-6529 ++ ++pci:v00001093d00007331* ++ ID_MODEL_FROM_DATABASE=PXIe-5602 ++ ++pci:v00001093d00007332* ++ ID_MODEL_FROM_DATABASE=PXIe-5601 ++ + pci:v00001093d00007333* + ID_MODEL_FROM_DATABASE=PXI-5900 + ++pci:v00001093d00007335* ++ ID_MODEL_FROM_DATABASE=PXI-2533 ++ ++pci:v00001093d00007336* ++ ID_MODEL_FROM_DATABASE=PXI-2534 ++ ++pci:v00001093d00007342* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ + pci:v00001093d00007349* + ID_MODEL_FROM_DATABASE=PXI-5154 + + pci:v00001093d0000734A* + ID_MODEL_FROM_DATABASE=PCI-5154 + ++pci:v00001093d00007357* ++ ID_MODEL_FROM_DATABASE=PXI-4065 ++ ++pci:v00001093d00007359* ++ ID_MODEL_FROM_DATABASE=PXI-4495 ++ ++pci:v00001093d00007370* ++ ID_MODEL_FROM_DATABASE=PXI-4461 ++ ++pci:v00001093d00007373* ++ ID_MODEL_FROM_DATABASE=sbRIO-9601 ++ ++pci:v00001093d00007374* ++ ID_MODEL_FROM_DATABASE=IOtech-9601 ++ ++pci:v00001093d00007375* ++ ID_MODEL_FROM_DATABASE=sbRIO-9602 ++ ++pci:v00001093d00007378* ++ ID_MODEL_FROM_DATABASE=sbRIO-9641 ++ + pci:v00001093d0000737D* + ID_MODEL_FROM_DATABASE=PXI-5124EX + +@@ -17786,9 +18623,126 @@ pci:v00001093d00007393* + pci:v00001093d00007394* + ID_MODEL_FROM_DATABASE=PCIe-7842R + ++pci:v00001093d00007397* ++ ID_MODEL_FROM_DATABASE=sbRIO-9611 ++ ++pci:v00001093d00007398* ++ ID_MODEL_FROM_DATABASE=sbRIO-9612 ++ ++pci:v00001093d00007399* ++ ID_MODEL_FROM_DATABASE=sbRIO-9631 ++ ++pci:v00001093d0000739A* ++ ID_MODEL_FROM_DATABASE=sbRIO-9632 ++ ++pci:v00001093d0000739B* ++ ID_MODEL_FROM_DATABASE=sbRIO-9642 ++ ++pci:v00001093d000073A1* ++ ID_MODEL_FROM_DATABASE=PXIe-4498 ++ ++pci:v00001093d000073A2* ++ ID_MODEL_FROM_DATABASE=PXIe-4496 ++ + pci:v00001093d000073A5* + ID_MODEL_FROM_DATABASE=PXIe-5641R + ++pci:v00001093d000073A7* ++ ID_MODEL_FROM_DATABASE=PXI-8250 Chassis Monitor Module ++ ++pci:v00001093d000073A8* ++ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS ++ ++pci:v00001093d000073A9* ++ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS ++ ++pci:v00001093d000073AA* ++ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS ++ ++pci:v00001093d000073AB* ++ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS ++ ++pci:v00001093d000073AC* ++ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS ++ ++pci:v00001093d000073AD* ++ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS ++ ++pci:v00001093d000073AF* ++ ID_MODEL_FROM_DATABASE=PXI-8516 LIN ++ ++pci:v00001093d000073B1* ++ ID_MODEL_FROM_DATABASE=PXI-8517 FlexRay ++ ++pci:v00001093d000073B2* ++ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen ++ ++pci:v00001093d000073B3* ++ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen ++ ++pci:v00001093d000073B4* ++ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet ++ ++pci:v00001093d000073B5* ++ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet ++ ++pci:v00001093d000073B6* ++ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS ++ ++pci:v00001093d000073B7* ++ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS ++ ++pci:v00001093d000073B8* ++ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS ++ ++pci:v00001093d000073B9* ++ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS ++ ++pci:v00001093d000073BA* ++ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS ++ ++pci:v00001093d000073BB* ++ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS ++ ++pci:v00001093d000073BD* ++ ID_MODEL_FROM_DATABASE=PCI-8516 LIN ++ ++pci:v00001093d000073BF* ++ ID_MODEL_FROM_DATABASE=PCI-8517 FlexRay ++ ++pci:v00001093d000073C0* ++ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen ++ ++pci:v00001093d000073C1* ++ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen ++ ++pci:v00001093d000073C2* ++ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet ++ ++pci:v00001093d000073C3* ++ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet ++ ++pci:v00001093d000073C5* ++ ID_MODEL_FROM_DATABASE=PXIe-2527 ++ ++pci:v00001093d000073C6* ++ ID_MODEL_FROM_DATABASE=PXIe-2529 ++ ++pci:v00001093d000073C8* ++ ID_MODEL_FROM_DATABASE=PXIe-2530 ++ ++pci:v00001093d000073C9* ++ ID_MODEL_FROM_DATABASE=PXIe-2532 ++ ++pci:v00001093d000073CA* ++ ID_MODEL_FROM_DATABASE=PXIe-2569 ++ ++pci:v00001093d000073CB* ++ ID_MODEL_FROM_DATABASE=PXIe-2575 ++ ++pci:v00001093d000073CC* ++ ID_MODEL_FROM_DATABASE=PXIe-2593 ++ + pci:v00001093d000073D5* + ID_MODEL_FROM_DATABASE=PXI-7951R + +@@ -17804,15 +18758,87 @@ pci:v00001093d000073E1* + pci:v00001093d000073EC* + ID_MODEL_FROM_DATABASE=PXI-7954R + ++pci:v00001093d000073ED* ++ ID_MODEL_FROM_DATABASE=cRIO-9073 ++ + pci:v00001093d000073F0* + ID_MODEL_FROM_DATABASE=PXI-5153 + + pci:v00001093d000073F1* + ID_MODEL_FROM_DATABASE=PCI-5153 + ++pci:v00001093d000073F4* ++ ID_MODEL_FROM_DATABASE=PXI-2515 ++ ++pci:v00001093d000073F6* ++ ID_MODEL_FROM_DATABASE=cRIO-9111 ++ ++pci:v00001093d000073F7* ++ ID_MODEL_FROM_DATABASE=cRIO-9112 ++ ++pci:v00001093d000073F8* ++ ID_MODEL_FROM_DATABASE=cRIO-9113 ++ ++pci:v00001093d000073F9* ++ ID_MODEL_FROM_DATABASE=cRIO-9114 ++ ++pci:v00001093d000073FA* ++ ID_MODEL_FROM_DATABASE=cRIO-9116 ++ ++pci:v00001093d000073FB* ++ ID_MODEL_FROM_DATABASE=cRIO-9118 ++ ++pci:v00001093d00007404* ++ ID_MODEL_FROM_DATABASE=PXI-4132 ++ + pci:v00001093d00007405* + ID_MODEL_FROM_DATABASE=PXIe-6674T + ++pci:v00001093d00007406* ++ ID_MODEL_FROM_DATABASE=PXIe-6674 ++ ++pci:v00001093d0000740E* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/16 (RS-232) Interface ++ ++pci:v00001093d0000740F* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/8 (RS-232) Interface ++ ++pci:v00001093d00007410* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/16 (RS-485) Interface ++ ++pci:v00001093d00007411* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/8 (RS-485) Interface ++ ++pci:v00001093d00007414* ++ ID_MODEL_FROM_DATABASE=PCIe-GPIB+ ++ ++pci:v00001093d0000741C* ++ ID_MODEL_FROM_DATABASE=PXI-5691 ++ ++pci:v00001093d0000741D* ++ ID_MODEL_FROM_DATABASE=PXI-5695 ++ ++pci:v00001093d0000743C* ++ ID_MODEL_FROM_DATABASE=CSC-3059 ++ ++pci:v00001093d00007448* ++ ID_MODEL_FROM_DATABASE=PXI-2510 ++ ++pci:v00001093d00007454* ++ ID_MODEL_FROM_DATABASE=PXI-2512 ++ ++pci:v00001093d00007455* ++ ID_MODEL_FROM_DATABASE=PXI-2514 ++ ++pci:v00001093d00007456* ++ ID_MODEL_FROM_DATABASE=PXIe-2512 ++ ++pci:v00001093d00007457* ++ ID_MODEL_FROM_DATABASE=PXIe-2514 ++ ++pci:v00001093d0000745A* ++ ID_MODEL_FROM_DATABASE=PXI-6682H ++ + pci:v00001093d0000745E* + ID_MODEL_FROM_DATABASE=PXI-5153EX + +@@ -17825,86 +18851,740 @@ pci:v00001093d00007460* + pci:v00001093d00007461* + ID_MODEL_FROM_DATABASE=PCI-5154EX + ++pci:v00001093d0000746D* ++ ID_MODEL_FROM_DATABASE=PXIe-5650 ++ ++pci:v00001093d0000746E* ++ ID_MODEL_FROM_DATABASE=PXIe-5651 ++ ++pci:v00001093d0000746F* ++ ID_MODEL_FROM_DATABASE=PXIe-5652 ++ ++pci:v00001093d00007472* ++ ID_MODEL_FROM_DATABASE=PXI-2800 ++ ++pci:v00001093d00007495* ++ ID_MODEL_FROM_DATABASE=PXIe-5603 ++ ++pci:v00001093d00007497* ++ ID_MODEL_FROM_DATABASE=PXIe-5605 ++ ++pci:v00001093d000074AE* ++ ID_MODEL_FROM_DATABASE=PXIe-2515 ++ ++pci:v00001093d000074B4* ++ ID_MODEL_FROM_DATABASE=PXI-2531 ++ ++pci:v00001093d000074B5* ++ ID_MODEL_FROM_DATABASE=PXIe-2531 ++ ++pci:v00001093d000074C1* ++ ID_MODEL_FROM_DATABASE=PXIe-8430/16 (RS-232) Interface ++ ++pci:v00001093d000074C2* ++ ID_MODEL_FROM_DATABASE=PXIe-8430/8 (RS-232) Interface ++ ++pci:v00001093d000074C3* ++ ID_MODEL_FROM_DATABASE=PXIe-8431/16 (RS-485) Interface ++ ++pci:v00001093d000074C4* ++ ID_MODEL_FROM_DATABASE=PXIe-8431/8 (RS-485) Interface ++ ++pci:v00001093d000074D5* ++ ID_MODEL_FROM_DATABASE=PXIe-5630 ++ ++pci:v00001093d000074D9* ++ ID_MODEL_FROM_DATABASE=PCIe-8432/2 (Isolated RS-232) Interface ++ ++pci:v00001093d000074DA* ++ ID_MODEL_FROM_DATABASE=PCIe-8433/2 (Isolated RS-485) Interface ++ ++pci:v00001093d000074DB* ++ ID_MODEL_FROM_DATABASE=PCIe-8432/4 (Isolated RS-232) Interface ++ ++pci:v00001093d000074DC* ++ ID_MODEL_FROM_DATABASE=PCIe-8433/4 (Isolated RS-485) Interface ++ ++pci:v00001093d000074E8* ++ ID_MODEL_FROM_DATABASE=NI 9148 ++ ++pci:v00001093d00007515* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/2 (RS-232) Interface ++ ++pci:v00001093d00007516* ++ ID_MODEL_FROM_DATABASE=PCIe-8430/4 (RS-232) Interface ++ ++pci:v00001093d00007517* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/2 (RS-485) Interface ++ ++pci:v00001093d00007518* ++ ID_MODEL_FROM_DATABASE=PCIe-8431/4 (RS-485) Interface ++ ++pci:v00001093d0000751B* ++ ID_MODEL_FROM_DATABASE=cRIO-9081 ++ ++pci:v00001093d0000751C* ++ ID_MODEL_FROM_DATABASE=cRIO-9082 ++ ++pci:v00001093d00007528* ++ ID_MODEL_FROM_DATABASE=PXIe-4497 ++ ++pci:v00001093d00007529* ++ ID_MODEL_FROM_DATABASE=PXIe-4499 ++ ++pci:v00001093d0000752A* ++ ID_MODEL_FROM_DATABASE=PXIe-4492 ++ + pci:v00001093d00007539* + ID_MODEL_FROM_DATABASE=NI 9157 + + pci:v00001093d0000753A* + ID_MODEL_FROM_DATABASE=NI 9159 + ++pci:v00001093d00007598* ++ ID_MODEL_FROM_DATABASE=PXI-2571 ++ ++pci:v00001093d000075A4* ++ ID_MODEL_FROM_DATABASE=PXI-4131A ++ ++pci:v00001093d000075B1* ++ ID_MODEL_FROM_DATABASE=PCIe-7854R ++ ++pci:v00001093d000075BA* ++ ID_MODEL_FROM_DATABASE=PXI-2543 ++ ++pci:v00001093d000075BB* ++ ID_MODEL_FROM_DATABASE=PXIe-2543 ++ + pci:v00001093d000075E5* + ID_MODEL_FROM_DATABASE=PXI-6683 + + pci:v00001093d000075E6* + ID_MODEL_FROM_DATABASE=PXI-6683H + ++pci:v00001093d000075EF* ++ ID_MODEL_FROM_DATABASE=PXIe-5632 ++ ++pci:v00001093d0000761F* ++ ID_MODEL_FROM_DATABASE=PXI-2540 ++ ++pci:v00001093d00007620* ++ ID_MODEL_FROM_DATABASE=PXIe-2540 ++ ++pci:v00001093d00007621* ++ ID_MODEL_FROM_DATABASE=PXI-2541 ++ ++pci:v00001093d00007622* ++ ID_MODEL_FROM_DATABASE=PXIe-2541 ++ + pci:v00001093d00007626* + ID_MODEL_FROM_DATABASE=NI 9154 + + pci:v00001093d00007627* + ID_MODEL_FROM_DATABASE=NI 9155 + ++pci:v00001093d00007638* ++ ID_MODEL_FROM_DATABASE=PXI-2720 ++ ++pci:v00001093d00007639* ++ ID_MODEL_FROM_DATABASE=PXI-2722 ++ ++pci:v00001093d0000763A* ++ ID_MODEL_FROM_DATABASE=PXIe-2725 ++ ++pci:v00001093d0000763B* ++ ID_MODEL_FROM_DATABASE=PXIe-2727 ++ ++pci:v00001093d0000763C* ++ ID_MODEL_FROM_DATABASE=PXI-4465 ++ ++pci:v00001093d0000764B* ++ ID_MODEL_FROM_DATABASE=PXIe-2790 ++ ++pci:v00001093d0000764C* ++ ID_MODEL_FROM_DATABASE=PXI-2520 ++ ++pci:v00001093d0000764D* ++ ID_MODEL_FROM_DATABASE=PXI-2521 ++ ++pci:v00001093d0000764E* ++ ID_MODEL_FROM_DATABASE=PXI-2522 ++ ++pci:v00001093d0000764F* ++ ID_MODEL_FROM_DATABASE=PXI-2523 ++ ++pci:v00001093d00007654* ++ ID_MODEL_FROM_DATABASE=PXI-2796 ++ ++pci:v00001093d00007655* ++ ID_MODEL_FROM_DATABASE=PXI-2797 ++ ++pci:v00001093d00007656* ++ ID_MODEL_FROM_DATABASE=PXI-2798 ++ ++pci:v00001093d00007657* ++ ID_MODEL_FROM_DATABASE=PXI-2799 ++ ++pci:v00001093d0000765D* ++ ID_MODEL_FROM_DATABASE=PXI-2542 ++ ++pci:v00001093d0000765E* ++ ID_MODEL_FROM_DATABASE=PXIe-2542 ++ ++pci:v00001093d0000765F* ++ ID_MODEL_FROM_DATABASE=PXI-2544 ++ ++pci:v00001093d00007660* ++ ID_MODEL_FROM_DATABASE=PXIe-2544 ++ ++pci:v00001093d0000766D* ++ ID_MODEL_FROM_DATABASE=PCIe-6535B ++ ++pci:v00001093d0000766E* ++ ID_MODEL_FROM_DATABASE=PCIe-6536B ++ ++pci:v00001093d0000766F* ++ ID_MODEL_FROM_DATABASE=PCIe-6537B ++ ++pci:v00001093d000076A3* ++ ID_MODEL_FROM_DATABASE=PXIe-6535B ++ ++pci:v00001093d000076A4* ++ ID_MODEL_FROM_DATABASE=PXIe-6536B ++ ++pci:v00001093d000076A5* ++ ID_MODEL_FROM_DATABASE=PXIe-6537B ++ ++pci:v00001093d00009020* ++ ID_MODEL_FROM_DATABASE=PXI-2501 ++ ++pci:v00001093d00009030* ++ ID_MODEL_FROM_DATABASE=PXI-2503 ++ ++pci:v00001093d00009040* ++ ID_MODEL_FROM_DATABASE=PXI-2527 ++ ++pci:v00001093d00009050* ++ ID_MODEL_FROM_DATABASE=PXI-2565 ++ ++pci:v00001093d00009060* ++ ID_MODEL_FROM_DATABASE=PXI-2590 ++ ++pci:v00001093d00009070* ++ ID_MODEL_FROM_DATABASE=PXI-2591 ++ ++pci:v00001093d00009080* ++ ID_MODEL_FROM_DATABASE=PXI-2580 ++ ++pci:v00001093d00009090* ++ ID_MODEL_FROM_DATABASE=PCI-4021 ++ ++pci:v00001093d000090A0* ++ ID_MODEL_FROM_DATABASE=PXI-4021 ++ + pci:v00001093d0000B001* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 ++ ID_MODEL_FROM_DATABASE=PCI-1408 + + pci:v00001093d0000B011* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1408 ++ ID_MODEL_FROM_DATABASE=PXI-1408 + + pci:v00001093d0000B021* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1424 ++ ID_MODEL_FROM_DATABASE=PCI-1424 ++ ++pci:v00001093d0000B022* ++ ID_MODEL_FROM_DATABASE=PXI-1424 + + pci:v00001093d0000B031* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1413 ++ ID_MODEL_FROM_DATABASE=PCI-1413 + + pci:v00001093d0000B041* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1407 ++ ID_MODEL_FROM_DATABASE=PCI-1407 + + pci:v00001093d0000B051* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1407 ++ ID_MODEL_FROM_DATABASE=PXI-1407 + + pci:v00001093d0000B061* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1411 ++ ID_MODEL_FROM_DATABASE=PCI-1411 + + pci:v00001093d0000B071* +- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1422 ++ ID_MODEL_FROM_DATABASE=PCI-1422 + + pci:v00001093d0000B081* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1422 ++ ID_MODEL_FROM_DATABASE=PXI-1422 + + pci:v00001093d0000B091* +- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 ++ ID_MODEL_FROM_DATABASE=PXI-1411 ++ ++pci:v00001093d0000B0B1* ++ ID_MODEL_FROM_DATABASE=PCI-1409 ++ ++pci:v00001093d0000B0C1* ++ ID_MODEL_FROM_DATABASE=PXI-1409 ++ ++pci:v00001093d0000B0E1* ++ ID_MODEL_FROM_DATABASE=PCI-1428 + + pci:v00001093d0000C4C4* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device + ++pci:v00001093d0000C4C4sv00001093sd0000728A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5421) ++ ++pci:v00001093d0000C4C4sv00001093sd0000728B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5442) ++ ++pci:v00001093d0000C4C4sv00001093sd0000728D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5451) ++ ++pci:v00001093d0000C4C4sv00001093sd000072A2* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5122) ++ ++pci:v00001093d0000C4C4sv00001093sd000072DA* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5422) ++ ++pci:v00001093d0000C4C4sv00001093sd000072F7* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6535) ++ ++pci:v00001093d0000C4C4sv00001093sd000072F8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6536) ++ ++pci:v00001093d0000C4C4sv00001093sd000072F9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6537) ++ ++pci:v00001093d0000C4C4sv00001093sd00007326* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6509) ++ ++pci:v00001093d0000C4C4sv00001093sd0000736C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4140) ++ ++pci:v00001093d0000C4C4sv00001093sd0000738B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622) ++ ++pci:v00001093d0000C4C4sv00001093sd000073C4* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5450) ++ ++pci:v00001093d0000C4C4sv00001093sd000073C7* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6545) ++ ++pci:v00001093d0000C4C4sv00001093sd000073D4* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6544) ++ ++pci:v00001093d0000C4C4sv00001093sd00007425* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6320) ++ ++pci:v00001093d0000C4C4sv00001093sd00007427* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6321) ++ ++pci:v00001093d0000C4C4sv00001093sd00007428* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6323) ++ ++pci:v00001093d0000C4C4sv00001093sd00007429* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6323) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6341) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6341) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6343) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6343) ++ ++pci:v00001093d0000C4C4sv00001093sd0000742F* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6351) ++ ++pci:v00001093d0000C4C4sv00001093sd00007431* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6353) ++ ++pci:v00001093d0000C4C4sv00001093sd00007432* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6361) ++ ++pci:v00001093d0000C4C4sv00001093sd00007433* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6361) ++ ++pci:v00001093d0000C4C4sv00001093sd00007434* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6363) ++ ++pci:v00001093d0000C4C4sv00001093sd00007435* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6363) ++ ++pci:v00001093d0000C4C4sv00001093sd00007436* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6356) ++ ++pci:v00001093d0000C4C4sv00001093sd00007437* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6358) ++ ++pci:v00001093d0000C4C4sv00001093sd00007438* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6366) ++ ++pci:v00001093d0000C4C4sv00001093sd00007439* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6368) ++ ++pci:v00001093d0000C4C4sv00001093sd00007468* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) ++ ++pci:v00001093d0000C4C4sv00001093sd00007469* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) ++ ++pci:v00001093d0000C4C4sv00001093sd00007492* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4300) ++ ++pci:v00001093d0000C4C4sv00001093sd00007498* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6548) ++ ++pci:v00001093d0000C4C4sv00001093sd00007499* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6547) ++ ++pci:v00001093d0000C4C4sv00001093sd000074A8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4330) ++ ++pci:v00001093d0000C4C4sv00001093sd000074A9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4331) ++ ++pci:v00001093d0000C4C4sv00001093sd000074B1* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4154) ++ + pci:v00001093d0000C4C4sv00001093sd000074B2* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) + ++pci:v00001093d0000C4C4sv00001093sd000074B6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1433) ++ ++pci:v00001093d0000C4C4sv00001093sd000074CD* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5643R) ++ + pci:v00001093d0000C4C4sv00001093sd000074D0* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) + ++pci:v00001093d0000C4C4sv00001093sd000074DD* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6376) ++ ++pci:v00001093d0000C4C4sv00001093sd000074DE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6378) ++ + pci:v00001093d0000C4C4sv00001093sd000074E2* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) + + pci:v00001093d0000C4C4sv00001093sd000074E3* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) + ++pci:v00001093d0000C4C4sv00001093sd000074E5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4844) ++ ++pci:v00001093d0000C4C4sv00001093sd000074F3* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5140) ++ ++pci:v00001093d0000C4C4sv00001093sd0000753C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1435) ++ ++pci:v00001093d0000C4C4sv00001093sd00007548* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622 (25MHz DDC)) ++ ++pci:v00001093d0000C4C4sv00001093sd0000754D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5155) ++ ++pci:v00001093d0000C4C4sv00001093sd00007551* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6556) ++ + pci:v00001093d0000C4C4sv00001093sd00007553* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) + ++pci:v00001093d0000C4C4sv00001093sd00007570* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1474R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007571* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1475R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007572* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1476R) ++ ++pci:v00001093d0000C4C4sv00001093sd000075A2* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5693) ++ ++pci:v00001093d0000C4C4sv00001093sd000075A3* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5694) ++ ++pci:v00001093d0000C4C4sv00001093sd000075A5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4141) ++ + pci:v00001093d0000C4C4sv00001093sd000075CE* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) + ++pci:v00001093d0000C4C4sv00001093sd000075CF* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4357) ++ ++pci:v00001093d0000C4C4sv00001093sd000075D2* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-RevB-5643R) ++ ++pci:v00001093d0000C4C4sv00001093sd000075D3* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd000075EE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007613* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6555) ++ ++pci:v00001093d0000C4C4sv00001093sd00007619* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) ++ ++pci:v00001093d0000C4C4sv00001093sd0000761A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) ++ ++pci:v00001093d0000C4C4sv00001093sd00007629* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4142) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762A* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4143) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4138) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4144) ++ ++pci:v00001093d0000C4C4sv00001093sd0000762D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4145) ++ ++pci:v00001093d0000C4C4sv00001093sd00007644* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4841) ++ ++pci:v00001093d0000C4C4sv00001093sd00007658* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (4CH)) ++ ++pci:v00001093d0000C4C4sv00001093sd000076AB* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4322) ++ ++pci:v00001093d0000C4C4sv00001093sd000076AD* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4112) ++ ++pci:v00001093d0000C4C4sv00001093sd000076AE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4113) ++ ++pci:v00001093d0000C4C4sv00001093sd000076B5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7971R) ++ ++pci:v00001093d0000C4C4sv00001093sd000076B6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7972R) ++ + pci:v00001093d0000C4C4sv00001093sd000076B7* + ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) + ++pci:v00001093d0000C4C4sv00001093sd000076C8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6614) ++ ++pci:v00001093d0000C4C4sv00001093sd000076C9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6612) ++ ++pci:v00001093d0000C4C4sv00001093sd000076CB* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd000076CC* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (2CH)) ++ + pci:v00001093d0000C4C4sv00001093sd000076D0* +- ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (2CH)) ++ ++pci:v00001093d0000C4C4sv00001093sd000076D1* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (4CH)) ++ ++pci:v00001093d0000C4C4sv00001093sd000076DC* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4610) ++ ++pci:v00001093d0000C4C4sv00001093sd000076FB* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R-LX110) ++ ++pci:v00001093d0000C4C4sv00001093sd000076FE* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd000076FF* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007700* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007701* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007702* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007703* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) ++ ++pci:v00001093d0000C4C4sv00001093sd0000770C* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4139) ++ ++pci:v00001093d0000C4C4sv00001093sd00007711* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4464) ++ ++pci:v00001093d0000C4C4sv00001093sd00007716* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6612) ++ ++pci:v00001093d0000C4C4sv00001093sd0000771E* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4339) ++ ++pci:v00001093d0000C4C4sv00001093sd00007735* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9033) ++ ++pci:v00001093d0000C4C4sv00001093sd0000774B* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9031) ++ ++pci:v00001093d0000C4C4sv00001093sd0000774D* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9034) ++ ++pci:v00001093d0000C4C4sv00001093sd00007755* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9030) ++ ++pci:v00001093d0000C4C4sv00001093sd00007777* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7976R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007782* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007783* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd00007784* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6345) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6355) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A7* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6365) ++ ++pci:v00001093d0000C4C4sv00001093sd000077A8* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6375) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B4* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7820R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B5* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7821R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B6* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7822R) ++ ++pci:v00001093d0000C4C4sv00001093sd000077B9* ++ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9038) + + pci:v00001093d0000C801* + ID_MODEL_FROM_DATABASE=PCI-GPIB + ++pci:v00001093d0000C811* ++ ID_MODEL_FROM_DATABASE=PCI-GPIB+ ++ ++pci:v00001093d0000C821* ++ ID_MODEL_FROM_DATABASE=PXI-GPIB ++ + pci:v00001093d0000C831* +- ID_MODEL_FROM_DATABASE=PCI-GPIB bridge ++ ID_MODEL_FROM_DATABASE=PMC-GPIB ++ ++pci:v00001093d0000C840* ++ ID_MODEL_FROM_DATABASE=PCI-GPIB ++ ++pci:v00001093d0000D130* ++ ID_MODEL_FROM_DATABASE=PCI-232/2 Interface ++ ++pci:v00001093d0000D140* ++ ID_MODEL_FROM_DATABASE=PCI-232/4 Interface ++ ++pci:v00001093d0000D150* ++ ID_MODEL_FROM_DATABASE=PCI-232/8 Interface ++ ++pci:v00001093d0000D160* ++ ID_MODEL_FROM_DATABASE=PCI-485/2 Interface ++ ++pci:v00001093d0000D170* ++ ID_MODEL_FROM_DATABASE=PCI-485/4 Interface ++ ++pci:v00001093d0000D190* ++ ID_MODEL_FROM_DATABASE=PXI-8422/2 (Isolated RS-232) Interface ++ ++pci:v00001093d0000D1A0* ++ ID_MODEL_FROM_DATABASE=PXI-8422/4 (Isolated RS-232) Interface ++ ++pci:v00001093d0000D1B0* ++ ID_MODEL_FROM_DATABASE=PXI-8423/2 (Isolated RS-485) Interface ++ ++pci:v00001093d0000D1C0* ++ ID_MODEL_FROM_DATABASE=PXI-8423/4 (Isolated RS-485) Interface ++ ++pci:v00001093d0000D1D0* ++ ID_MODEL_FROM_DATABASE=PXI-8420/2 (RS-232) Interface ++ ++pci:v00001093d0000D1E0* ++ ID_MODEL_FROM_DATABASE=PXI-8420/4 (RS-232) Interface ++ ++pci:v00001093d0000D1F0* ++ ID_MODEL_FROM_DATABASE=PXI-8420/8 (RS-232) Interface ++ ++pci:v00001093d0000D1F1* ++ ID_MODEL_FROM_DATABASE=PXI-8420/16 (RS-232) Interface ++ ++pci:v00001093d0000D230* ++ ID_MODEL_FROM_DATABASE=PXI-8421/2 (RS-485) Interface ++ ++pci:v00001093d0000D240* ++ ID_MODEL_FROM_DATABASE=PXI-8421/4 (RS-485) Interface ++ ++pci:v00001093d0000D250* ++ ID_MODEL_FROM_DATABASE=PCI-232/2 (Isolated) Interface ++ ++pci:v00001093d0000D260* ++ ID_MODEL_FROM_DATABASE=PCI-485/2 (Isolated) Interface ++ ++pci:v00001093d0000D270* ++ ID_MODEL_FROM_DATABASE=PCI-232/4 (Isolated) Interface ++ ++pci:v00001093d0000D280* ++ ID_MODEL_FROM_DATABASE=PCI-485/4 (Isolated) Interface ++ ++pci:v00001093d0000D290* ++ ID_MODEL_FROM_DATABASE=PCI-485/8 Interface ++ ++pci:v00001093d0000D2A0* ++ ID_MODEL_FROM_DATABASE=PXI-8421/8 (RS-485) Interface ++ ++pci:v00001093d0000D2B0* ++ ID_MODEL_FROM_DATABASE=PCI-232/16 Interface ++ ++pci:v00001093d0000E111* ++ ID_MODEL_FROM_DATABASE=PCI-CAN ++ ++pci:v00001093d0000E131* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (1 port) ++ ++pci:v00001093d0000E141* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS ++ ++pci:v00001093d0000E151* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (1 port) ++ ++pci:v00001093d0000E211* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/2 ++ ++pci:v00001093d0000E231* ++ ID_MODEL_FROM_DATABASE=PXI-8461 (2 ports) ++ ++pci:v00001093d0000E241* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 ++ ++pci:v00001093d0000E251* ++ ID_MODEL_FROM_DATABASE=PXI-8460 (2 ports) ++ ++pci:v00001093d0000E261* ++ ID_MODEL_FROM_DATABASE=PCI-CAN/DS ++ ++pci:v00001093d0000E271* ++ ID_MODEL_FROM_DATABASE=PXI-8462 + + pci:v00001094* + ID_VENDOR_FROM_DATABASE=First International Computers [FIC] +@@ -23331,16 +25011,16 @@ pci:v000010DEd00000367* + ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge + + pci:v000010DEd00000368* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller + + pci:v000010DEd00000368sv00001028sd0000020C* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge M605 MCP55 SMBus) + + pci:v000010DEd00000368sv00001028sd00000221* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge R805 MCP55 SMBus) + + pci:v000010DEd00000368sv0000147Bsd00001C24* +- ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) ++ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (KN9 series mainboard) + + pci:v000010DEd00000369* + ID_MODEL_FROM_DATABASE=MCP55 Memory Controller +@@ -24530,6 +26210,9 @@ pci:v000010DEd00000641* + pci:v000010DEd00000641sv00001682sd00004009* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) + ++pci:v000010DEd00000642* ++ ID_MODEL_FROM_DATABASE=G96 [D9M-10] ++ + pci:v000010DEd00000643* + ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] + +@@ -26522,6 +28205,9 @@ pci:v000010DEd0000100A* + pci:v000010DEd0000100C* + ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] + ++pci:v000010DEd0000101E* ++ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20X] ++ + pci:v000010DEd0000101F* + ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] + +@@ -26552,6 +28238,15 @@ pci:v000010DEd00001028* + pci:v000010DEd00001029* + ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40s] + ++pci:v000010DEd0000102A* ++ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40t] ++ ++pci:v000010DEd0000102D* ++ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K80] ++ ++pci:v000010DEd0000102E* ++ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40d] ++ + pci:v000010DEd0000103A* + ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] + +@@ -26582,6 +28277,9 @@ pci:v000010DEd0000104B* + pci:v000010DEd0000104C* + ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] + ++pci:v000010DEd0000104D* ++ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 710] ++ + pci:v000010DEd00001050* + ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] + +@@ -27551,9 +29249,15 @@ pci:v000010DEd0000118E* + pci:v000010DEd0000118F* + ID_MODEL_FROM_DATABASE=GK104GL [Tesla K10] + ++pci:v000010DEd00001191* ++ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Rev. 2] ++ + pci:v000010DEd00001193* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] + ++pci:v000010DEd00001194* ++ ID_MODEL_FROM_DATABASE=GK104GL [Tesla K8] ++ + pci:v000010DEd00001195* + ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] + +@@ -27944,6 +29648,9 @@ pci:v000010DEd00001381* + pci:v000010DEd00001382* + ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] + ++pci:v000010DEd00001389* ++ ID_MODEL_FROM_DATABASE=GM107GL [GRID M3] ++ + pci:v000010DEd00001390* + ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] + +@@ -27971,6 +29678,9 @@ pci:v000010DEd000013BA* + pci:v000010DEd000013BB* + ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] + ++pci:v000010DEd000013BD* ++ ID_MODEL_FROM_DATABASE=GM107GL [Tesla M40] ++ + pci:v000010DF* + ID_VENDOR_FROM_DATABASE=Emulex Corporation + +@@ -31772,6 +33482,30 @@ pci:v0000111Dd0000806E* + pci:v0000111Dd0000806F* + ID_MODEL_FROM_DATABASE=HIO524G2 PCI Express Gen2 Switch + ++pci:v0000111Dd00008088* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch ++ ++pci:v0000111Dd00008088sv00001093sd0000752F* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc Device) ++ ++pci:v0000111Dd00008088sv00001093sd00007543* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc System Host) ++ ++pci:v0000111Dd00008088sv00001093sd0000755C* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8364) ++ ++pci:v0000111Dd00008088sv00001093sd0000755D* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8374) ++ ++pci:v0000111Dd00008088sv00001093sd000075FF* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) ++ ++pci:v0000111Dd00008088sv00001093sd00007600* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) ++ ++pci:v0000111Dd00008088sv00001093sd00007602* ++ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8384) ++ + pci:v0000111E* + ID_VENDOR_FROM_DATABASE=Eldec + +@@ -42929,6 +44663,9 @@ pci:v00001425d00005084* + pci:v00001425d00005085* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller + ++pci:v00001425d00005086* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller ++ + pci:v00001425d00005401* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -43007,6 +44744,9 @@ pci:v00001425d00005484* + pci:v00001425d00005485* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller + ++pci:v00001425d00005486* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller ++ + pci:v00001425d00005501* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -43085,6 +44825,9 @@ pci:v00001425d00005584* + pci:v00001425d00005585* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller + ++pci:v00001425d00005586* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller ++ + pci:v00001425d00005601* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller + +@@ -43163,6 +44906,9 @@ pci:v00001425d00005684* + pci:v00001425d00005685* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller + ++pci:v00001425d00005686* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller ++ + pci:v00001425d00005701* + ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller + +@@ -43319,6 +45065,9 @@ pci:v00001425d00005884* + pci:v00001425d00005885* + ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] + ++pci:v00001425d00005886* ++ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller [VF] ++ + pci:v00001425d0000A000* + ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller + +@@ -49862,6 +51611,15 @@ pci:v000016ED* + pci:v000016EDd00001001* + ID_MODEL_FROM_DATABASE=UMIO communication card + ++pci:v000016F2* ++ ID_VENDOR_FROM_DATABASE=ETAS GmbH ++ ++pci:v000016F2d00000200* ++ ID_MODEL_FROM_DATABASE=I/O board ++ ++pci:v000016F2d00000200sv000016F2sd00000010* ++ ID_MODEL_FROM_DATABASE=I/O board (ES53xx I/O board) ++ + pci:v000016F3* + ID_VENDOR_FROM_DATABASE=Jetway Information Co., Ltd. + +@@ -50004,7 +51762,7 @@ pci:v00001775* + ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms + + pci:v0000177D* +- ID_VENDOR_FROM_DATABASE=Cavium Networks ++ ID_VENDOR_FROM_DATABASE=Cavium, Inc. + + pci:v0000177Dd00000001* + ID_MODEL_FROM_DATABASE=Nitrox XL N1 +@@ -50063,6 +51821,147 @@ pci:v0000177Dd00000095* + pci:v0000177Dd00000096* + ID_MODEL_FROM_DATABASE=Octeon III CN70XX Network Processor + ++pci:v0000177Dd0000A001* ++ ID_MODEL_FROM_DATABASE=THUNDERX MRML Bridge ++ ++pci:v0000177Dd0000A002* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge ++ ++pci:v0000177Dd0000A002sv0000177Dsd0000A102* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge (CN88XX PCC Bridge) ++ ++pci:v0000177Dd0000A008* ++ ID_MODEL_FROM_DATABASE=THUNDERX SMMU ++ ++pci:v0000177Dd0000A008sv0000177Dsd0000A108* ++ ID_MODEL_FROM_DATABASE=THUNDERX SMMU (CN88XX SMMU) ++ ++pci:v0000177Dd0000A009* ++ ID_MODEL_FROM_DATABASE=THUNDERX Generic Interrupt Controller ++ ++pci:v0000177Dd0000A00A* ++ ID_MODEL_FROM_DATABASE=THUNDERX GPIO Controller ++ ++pci:v0000177Dd0000A00B* ++ ID_MODEL_FROM_DATABASE=THUNDERX MPI / SPI Controller ++ ++pci:v0000177Dd0000A00C* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIO-PTP Controller ++ ++pci:v0000177Dd0000A00D* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIX Network Controller ++ ++pci:v0000177Dd0000A00E* ++ ID_MODEL_FROM_DATABASE=THUNDERX Reset Controller ++ ++pci:v0000177Dd0000A00F* ++ ID_MODEL_FROM_DATABASE=THUNDERX UART Controller ++ ++pci:v0000177Dd0000A010* ++ ID_MODEL_FROM_DATABASE=THUNDERX eMMC/SD Controller ++ ++pci:v0000177Dd0000A011* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIO-BOOT Controller ++ ++pci:v0000177Dd0000A012* ++ ID_MODEL_FROM_DATABASE=THUNDERX TWSI / I2C Controller ++ ++pci:v0000177Dd0000A013* ++ ID_MODEL_FROM_DATABASE=THUNDERX CCPI (Multi-node connect) ++ ++pci:v0000177Dd0000A014* ++ ID_MODEL_FROM_DATABASE=THUNDERX Voltage Regulator Module ++ ++pci:v0000177Dd0000A015* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCIe Switch Logic Interface ++ ++pci:v0000177Dd0000A016* ++ ID_MODEL_FROM_DATABASE=THUNDERX Key Memory ++ ++pci:v0000177Dd0000A017* ++ ID_MODEL_FROM_DATABASE=THUNDERX GTI (Global System Timers) ++ ++pci:v0000177Dd0000A018* ++ ID_MODEL_FROM_DATABASE=THUNDERX Random Number Generator ++ ++pci:v0000177Dd0000A019* ++ ID_MODEL_FROM_DATABASE=THUNDERX DFA ++ ++pci:v0000177Dd0000A01A* ++ ID_MODEL_FROM_DATABASE=THUNDERX Zip Coprocessor ++ ++pci:v0000177Dd0000A01B* ++ ID_MODEL_FROM_DATABASE=THUNDERX xHCI USB Controller ++ ++pci:v0000177Dd0000A01C* ++ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller ++ ++pci:v0000177Dd0000A01Csv0000177Dsd0000A11C* ++ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller (CN88XX AHCI SATA Controller) ++ ++pci:v0000177Dd0000A01D* ++ ID_MODEL_FROM_DATABASE=THUNDERX RAID Coprocessor ++ ++pci:v0000177Dd0000A01E* ++ ID_MODEL_FROM_DATABASE=THUNDERX Network Interface Controller ++ ++pci:v0000177Dd0000A01F* ++ ID_MODEL_FROM_DATABASE=THUNDERX Traffic Network Switch ++ ++pci:v0000177Dd0000A020* ++ ID_MODEL_FROM_DATABASE=THUNDERX PEM (PCI Express Interface) ++ ++pci:v0000177Dd0000A021* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C (Level-2 Cache Controller) ++ ++pci:v0000177Dd0000A022* ++ ID_MODEL_FROM_DATABASE=THUNDERX LMC (DRAM Controller) ++ ++pci:v0000177Dd0000A023* ++ ID_MODEL_FROM_DATABASE=THUNDERX OCLA (On-Chip Logic Analyzer) ++ ++pci:v0000177Dd0000A024* ++ ID_MODEL_FROM_DATABASE=THUNDERX OSM ++ ++pci:v0000177Dd0000A025* ++ ID_MODEL_FROM_DATABASE=THUNDERX GSER (General Serializer/Deserializer) ++ ++pci:v0000177Dd0000A026* ++ ID_MODEL_FROM_DATABASE=THUNDERX BGX (Common Ethernet Interface) ++ ++pci:v0000177Dd0000A027* ++ ID_MODEL_FROM_DATABASE=THUNDERX IOBN ++ ++pci:v0000177Dd0000A029* ++ ID_MODEL_FROM_DATABASE=THUNDERX NCSI (Network Controller Sideband Interface) ++ ++pci:v0000177Dd0000A02A* ++ ID_MODEL_FROM_DATABASE=THUNDERX SGP ++ ++pci:v0000177Dd0000A02B* ++ ID_MODEL_FROM_DATABASE=THUNDERX SMI / MDIO Controller ++ ++pci:v0000177Dd0000A02C* ++ ID_MODEL_FROM_DATABASE=THUNDERX DAP (Debug Access Port) ++ ++pci:v0000177Dd0000A02D* ++ ID_MODEL_FROM_DATABASE=THUNDERX PCIERC (PCIe Root Complex) ++ ++pci:v0000177Dd0000A02E* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C-TAD ++ ++pci:v0000177Dd0000A02F* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C-CBC ++ ++pci:v0000177Dd0000A030* ++ ID_MODEL_FROM_DATABASE=THUNDERX L2C-MCI ++ ++pci:v0000177Dd0000A031* ++ ID_MODEL_FROM_DATABASE=THUNDERX MIO-FUS (Fuse Access Controller) ++ ++pci:v0000177Dd0000A032* ++ ID_MODEL_FROM_DATABASE=THUNDERX FUSF (Fuse Controller) ++ + pci:v00001787* + ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd. + +@@ -53312,6 +55211,12 @@ pci:v00001BBFd00000003* + pci:v00001BBFd00000004* + ID_MODEL_FROM_DATABASE=MAX4 + ++pci:v00001BEE* ++ ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH ++ ++pci:v00001BEEd00000003* ++ ID_MODEL_FROM_DATABASE=CAN-IB200/PCIe ++ + pci:v00001BF4* + ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation + +@@ -58271,6 +60176,9 @@ pci:v00008086d000010D3sv0000103Csd00003250* + pci:v00008086d000010D3sv00001043sd00008369* + ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) + ++pci:v00008086d000010D3sv00001093sd000076E9* ++ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PCIe-8233 Ethernet Adapter) ++ + pci:v00008086d000010D3sv000010A9sd00008029* + ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) + +@@ -59339,6 +61247,18 @@ pci:v00008086d00001521sv0000108Esd00007B16* + pci:v00008086d00001521sv0000108Esd00007B18* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) + ++pci:v00008086d00001521sv00001093sd00007648* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R Ethernet Adapter) ++ ++pci:v00008086d00001521sv00001093sd00007649* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8236 Ethernet Adapter) ++ ++pci:v00008086d00001521sv00001093sd000076B1* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R-S Ethernet Adapter) ++ ++pci:v00008086d00001521sv00001093sd0000775B* ++ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237 Ethernet Adapter) ++ + pci:v00008086d00001521sv000010A9sd0000802A* + ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) + +@@ -59498,6 +61418,9 @@ pci:v00008086d00001533* + pci:v00008086d00001533sv0000103Csd00000003* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) + ++pci:v00008086d00001533sv00001093sd00007706* ++ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Compact Vision System Ethernet Adapter) ++ + pci:v00008086d00001533sv000010A9sd0000802C* + ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) + +@@ -59703,10 +61626,10 @@ pci:v00008086d000015A3* + ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V + + pci:v00008086d000015B7* +- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM + + pci:v00008086d000015B8* +- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM ++ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V + + pci:v00008086d00001600* + ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI +diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb +index d87313c..ea1c3e3 100644 +--- hwdb/20-usb-vendor-model.hwdb ++++ hwdb/20-usb-vendor-model.hwdb +@@ -30222,7 +30222,7 @@ usb:v0930p6544* + ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (2GB) + + usb:v0930p6545* +- ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick ++ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick + + usb:v0931* + ID_VENDOR_FROM_DATABASE=Harmonic Data Systems, Ltd +-- +1.7.9.2 + diff --git a/0009-journal-do-not-leak-mmaps-on-OOM.patch b/0009-journal-do-not-leak-mmaps-on-OOM.patch new file mode 100644 index 00000000..3d92f474 --- /dev/null +++ b/0009-journal-do-not-leak-mmaps-on-OOM.patch @@ -0,0 +1,50 @@ +From b67ddc7bbe31cde7f69f9814204d9bb1d4623c47 Mon Sep 17 00:00:00 2001 +From: Philippe De Swert +Date: Wed, 10 Sep 2014 12:20:41 +0300 +Subject: [PATCH] journal: do not leak mmaps on OOM + +After a section of memory is succesfully allocated, some of the following +actions can still fail due to lack of memory. In this case -ENOMEM is +returned without actually freeing the already mapped memory. +Found with coverity. Fixes: CID#1237762 +--- + src/journal/mmap-cache.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git src/journal/mmap-cache.c src/journal/mmap-cache.c +index 7dbbb5e..908562d 100644 +--- src/journal/mmap-cache.c ++++ src/journal/mmap-cache.c +@@ -496,15 +496,15 @@ static int add_mmap( + + c = context_add(m, context); + if (!c) +- return -ENOMEM; ++ goto outofmem; + + f = fd_add(m, fd); + if (!f) +- return -ENOMEM; ++ goto outofmem; + + w = window_add(m); + if (!w) +- return -ENOMEM; ++ goto outofmem; + + w->keep_always = keep_always; + w->ptr = d; +@@ -522,6 +522,10 @@ static int add_mmap( + if (ret) + *ret = (uint8_t*) w->ptr + (offset - w->offset); + return 1; ++ ++outofmem: ++ munmap(d, wsize); ++ return -ENOMEM; + } + + int mmap_cache_get( +-- +1.7.9.2 + diff --git a/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch b/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch new file mode 100644 index 00000000..864b9982 --- /dev/null +++ b/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch @@ -0,0 +1,29 @@ +From b9c488f60050248b35640f28e4d00958702ba1c3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Wed, 6 Aug 2014 13:14:51 +0200 +Subject: [PATCH] journald: Fix off-by-one error in "Missed X kernel messages" + warning + +On receiving a message, "kernel_seqnum" is set to "serial + 1". So +subtracting 1 will cause messages like "Missed 0 kernel messages", +which should be "Missed 1 kernel messages". +--- + src/journal/journald-kmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c +index 9935986..fb8ea08 100644 +--- src/journal/journald-kmsg.c ++++ src/journal/journald-kmsg.c +@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + /* Did we lose any? */ + if (serial > *s->kernel_seqnum) + server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages", +- serial - *s->kernel_seqnum - 1); ++ serial - *s->kernel_seqnum); + + /* Make sure we never read this one again. Note that + * we always store the next message serial we expect +-- +1.7.9.2 + diff --git a/0009-journald-always-add-syslog-facility-for-messages-com.patch b/0009-journald-always-add-syslog-facility-for-messages-com.patch new file mode 100644 index 00000000..58a8bdd2 --- /dev/null +++ b/0009-journald-always-add-syslog-facility-for-messages-com.patch @@ -0,0 +1,40 @@ +From 36dd072cdf03dcac0fcd2d6b42f261444dc7ac88 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Fri, 25 Jul 2014 14:38:22 +0200 +Subject: [PATCH] journald: always add syslog facility for messages coming + from kmsg + +Set SYSLOG_FACILITY field for kernel log messages too. Setting only +SYSLOG_IDENTIFIER="kernel" is not sufficient and tools reading journal +maybe confused by missing SYSLOG_FACILITY field for kernel log messages. +--- + src/journal/journald-kmsg.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c +index 12992e7..bb62a76 100644 +--- src/journal/journald-kmsg.c ++++ src/journal/journald-kmsg.c +@@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + if (asprintf(&syslog_priority, "PRIORITY=%i", priority & LOG_PRIMASK) >= 0) + IOVEC_SET_STRING(iovec[n++], syslog_priority); + ++ if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) ++ IOVEC_SET_STRING(iovec[n++], syslog_facility); ++ + if ((priority & LOG_FACMASK) == LOG_KERN) + IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); + else { +@@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + if (syslog_pid) + IOVEC_SET_STRING(iovec[n++], syslog_pid); + } +- +- if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) +- IOVEC_SET_STRING(iovec[n++], syslog_facility); + } + + message = cunescape_length_with_prefix(p, pl, "MESSAGE="); +-- +1.7.9.2 + diff --git a/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch b/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch new file mode 100644 index 00000000..5bf1987e --- /dev/null +++ b/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch @@ -0,0 +1,25 @@ +From 646e392e10924454576f10b072f78d7676422816 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 6 Mar 2014 04:52:31 +0100 +Subject: [PATCH] logind: fix reference to systemd-user-sessions.service + +--- + src/login/logind-session.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/login/logind-session.c src/login/logind-session.c +index 548f049..3700522 100644 +--- src/login/logind-session.c ++++ src/login/logind-session.c +@@ -490,7 +490,7 @@ static int session_start_scope(Session *s) { + if (!scope) + return log_oom(); + +- r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-session.service", &error, &job); ++ r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-sessions.service", &error, &job); + if (r < 0) { + log_error("Failed to start session scope %s: %s %s", + scope, bus_error_message(&error, r), error.name); +-- +1.7.9.2 + diff --git a/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch b/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch new file mode 100644 index 00000000..f064927a --- /dev/null +++ b/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch @@ -0,0 +1,70 @@ +From ff5f34d08c191c326c41a083745522383ac86cae Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 04:27:50 +0100 +Subject: [PATCH] mount: don't send out PropertiesChanged message if actually + nothing got changed + +--- + src/core/mount.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index b35e507..98812c9 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1390,7 +1390,7 @@ static int mount_add_one( + _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; + bool load_extras = false; + MountParameters *p; +- bool delete; ++ bool delete, changed = false; + Unit *u; + int r; + +@@ -1458,6 +1458,7 @@ static int mount_add_one( + } + + unit_add_to_load_queue(u); ++ changed = true; + } else { + delete = false; + +@@ -1476,6 +1477,7 @@ static int mount_add_one( + /* Load in the extras later on, after we + * finished initialization of the unit */ + load_extras = true; ++ changed = true; + } + } + +@@ -1488,10 +1490,16 @@ static int mount_add_one( + } + + p = &MOUNT(u)->parameters_proc_self_mountinfo; ++ ++ changed = changed || ++ !streq_ptr(p->options, options) || ++ !streq_ptr(p->what, what) || ++ !streq_ptr(p->fstype, fstype); ++ + if (set_flags) { + MOUNT(u)->is_mounted = true; + MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; +- MOUNT(u)->just_changed = !streq_ptr(p->options, o); ++ MOUNT(u)->just_changed = changed; + } + + MOUNT(u)->from_proc_self_mountinfo = true; +@@ -1514,7 +1522,8 @@ static int mount_add_one( + goto fail; + } + +- unit_add_to_dbus_queue(u); ++ if (changed) ++ unit_add_to_dbus_queue(u); + + return 0; + +-- +1.7.9.2 + diff --git a/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch b/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch new file mode 100644 index 00000000..a88af680 --- /dev/null +++ b/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch @@ -0,0 +1,56 @@ +From 9f24adc288de142d6606fde3c5a5971613f3b6b9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 16 May 2014 19:37:19 +0200 +Subject: [PATCH] nspawn: properly format container_uuid in UUID format + +http://lists.freedesktop.org/archives/systemd-devel/2014-April/018971.html +--- + src/nspawn/nspawn.c | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 0bd52da..6be4dca 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) { + return 0; + } + ++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) { ++ ++ snprintf(s, 37, ++ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", ++ SD_ID128_FORMAT_VAL(id)); ++ ++ return s; ++} ++ + static int setup_boot_id(const char *dest) { + _cleanup_free_ char *from = NULL, *to = NULL; + sd_id128_t rnd = {}; +@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) { + return r; + } + +- snprintf(as_uuid, sizeof(as_uuid), +- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", +- SD_ID128_FORMAT_VAL(rnd)); +- char_array_0(as_uuid); ++ id128_format_as_uuid(rnd, as_uuid); + + r = write_string_file(from, as_uuid); + if (r < 0) { +@@ -2954,7 +2960,9 @@ int main(int argc, char *argv[]) { + } + + if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) { +- if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) { ++ char as_uuid[37]; ++ ++ if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) { + log_oom(); + goto child_fail; + } +-- +1.7.9.2 + diff --git a/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch b/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch new file mode 100644 index 00000000..f9e93696 --- /dev/null +++ b/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch @@ -0,0 +1,47 @@ +From 5a4d665ad679a8436f1210ba67d713a8f0b91b96 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 14 Mar 2014 21:15:32 +0100 +Subject: [PATCH] sd-bus: don't choke if somebody sends us a message with a + unix fd count of 0 + +It's kinda pointless to include a unix fd header field in messages if it +carries the value 0, but let's do this anyway... +--- + src/libsystemd/sd-bus/bus-message.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c +index 97ab0e3..b9d7f6d 100644 +--- src/libsystemd/sd-bus/bus-message.c ++++ src/libsystemd/sd-bus/bus-message.c +@@ -4885,6 +4885,7 @@ int bus_message_parse_fields(sd_bus_message *m) { + size_t ri; + int r; + uint32_t unix_fds = 0; ++ bool unix_fds_set = false; + void *offsets = NULL; + unsigned n_offsets = 0; + size_t sz = 0; +@@ -5097,7 +5098,7 @@ int bus_message_parse_fields(sd_bus_message *m) { + } + + case BUS_MESSAGE_HEADER_UNIX_FDS: +- if (unix_fds != 0) ++ if (unix_fds_set) + return -EBADMSG; + + if (!streq(signature, "u")) +@@ -5107,9 +5108,7 @@ int bus_message_parse_fields(sd_bus_message *m) { + if (r < 0) + return -EBADMSG; + +- if (unix_fds == 0) +- return -EBADMSG; +- ++ unix_fds_set = true; + break; + + default: +-- +1.7.9.2 + diff --git a/0009-units-make-systemd-journald.service-Type-notify.patch b/0009-units-make-systemd-journald.service-Type-notify.patch new file mode 100644 index 00000000..4890daf5 --- /dev/null +++ b/0009-units-make-systemd-journald.service-Type-notify.patch @@ -0,0 +1,27 @@ +Based on a87a38c20196a4aeb56b6ba71d688eefd0b21c30 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 4 Nov 2014 20:28:08 +0100 +Subject: [PATCH] units: make systemd-journald.service Type=notify + +It already calls sd_notify(), so it looks like an oversight. + +Without it, its ordering to systemd-journal-flush.service is +non-deterministic and the SIGUSR1 from flushing may kill journald before +it has its signal handlers set up. + +https://bugs.freedesktop.org/show_bug.cgi?id=85871 +https://bugzilla.redhat.com/show_bug.cgi?id=1159641 +--- + units/systemd-journald.service.in | 1 + + 1 file changed, 1 insertion(+) + +--- units/systemd-journald.service.in ++++ units/systemd-journald.service.in 2014-11-10 12:22:08.461949786 +0000 +@@ -14,6 +14,7 @@ After=systemd-journald.socket syslog.soc + Before=sysinit.target + + [Service] ++Type=notify + ExecStart=@rootlibexecdir@/systemd-journald + Restart=always + RestartSec=0 diff --git a/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch b/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch new file mode 100644 index 00000000..0e7fdba3 --- /dev/null +++ b/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch @@ -0,0 +1,26 @@ +From a9169c1c589bf7c7a29e7905d17e350ce7c7c48e Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 27 Oct 2014 11:08:26 +0100 +Subject: [PATCH] util: fix copy-paste error and actually set the new hostname + +Reported-by: sztanpet on irc +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/shared/util.c src/shared/util.c +index 7d94a28..4143f6d 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -7189,7 +7189,7 @@ int sethostname_idempotent(const char *s) { + if (streq(buf, s)) + return 0; + +- r = sethostname(buf, strlen(buf)); ++ r = sethostname(s, strlen(s)); + if (r < 0) + return -errno; + +-- +1.7.9.2 + diff --git a/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch new file mode 100644 index 00000000..dbf00485 --- /dev/null +++ b/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch @@ -0,0 +1,77 @@ +From 5d20fde4a5c4dff4d7c737b545fbd13582d544c1 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann +Date: Fri, 31 Oct 2014 20:37:59 +0100 +Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers + +--- + hwdb/20-bluetooth-vendor-product.hwdb | 57 +++++++++++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) + +diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb +index ee2efdf..58ca87d 100644 +--- hwdb/20-bluetooth-vendor-product.hwdb ++++ hwdb/20-bluetooth-vendor-product.hwdb +@@ -1166,3 +1166,60 @@ bluetooth:v0181* + + bluetooth:v0182* + ID_VENDOR_FROM_DATABASE=HOP Ubiquitous ++ ++bluetooth:v0183* ++ ID_VENDOR_FROM_DATABASE=To Be Assigned ++ ++bluetooth:v0184* ++ ID_VENDOR_FROM_DATABASE=Nectar ++ ++bluetooth:v0185* ++ ID_VENDOR_FROM_DATABASE=bel'apps LLC ++ ++bluetooth:v0186* ++ ID_VENDOR_FROM_DATABASE=CORE Lighting Ltd ++ ++bluetooth:v0187* ++ ID_VENDOR_FROM_DATABASE=Seraphim Sense Ltd ++ ++bluetooth:v0188* ++ ID_VENDOR_FROM_DATABASE=Unico RBC ++ ++bluetooth:v0189* ++ ID_VENDOR_FROM_DATABASE=Physical Enterprises Inc. ++ ++bluetooth:v018A* ++ ID_VENDOR_FROM_DATABASE=Able Trend Technology Limited ++ ++bluetooth:v018B* ++ ID_VENDOR_FROM_DATABASE=Konica Minolta, Inc. ++ ++bluetooth:v018C* ++ ID_VENDOR_FROM_DATABASE=Wilo SE ++ ++bluetooth:v018D* ++ ID_VENDOR_FROM_DATABASE=Extron Design Services ++ ++bluetooth:v018E* ++ ID_VENDOR_FROM_DATABASE=Fitbit, Inc. ++ ++bluetooth:v018F* ++ ID_VENDOR_FROM_DATABASE=Fireflies Systems ++ ++bluetooth:v0190* ++ ID_VENDOR_FROM_DATABASE=Intelletto Technologies Inc. ++ ++bluetooth:v0191* ++ ID_VENDOR_FROM_DATABASE=FDK CORPORATION ++ ++bluetooth:v0192* ++ ID_VENDOR_FROM_DATABASE=Cloudleaf, Inc ++ ++bluetooth:v0193* ++ ID_VENDOR_FROM_DATABASE=Maveric Automation LLC ++ ++bluetooth:v0194* ++ ID_VENDOR_FROM_DATABASE=Acoustic Stream Corporation ++ ++bluetooth:v0195* ++ ID_VENDOR_FROM_DATABASE=Zuli +-- +1.7.9.2 + diff --git a/0010-logind-allow-suspending-if-there-are-no-displays.patch b/0010-logind-allow-suspending-if-there-are-no-displays.patch new file mode 100644 index 00000000..a12ff513 --- /dev/null +++ b/0010-logind-allow-suspending-if-there-are-no-displays.patch @@ -0,0 +1,42 @@ +From d36d90933a832bd1e1eb8e3d16b3de73f91636b4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Mon, 28 Apr 2014 00:58:56 +0300 +Subject: [PATCH] logind: allow suspending if there are no displays + +With proprietary graphics drivers, there won't be any 'drm' devices in +sysfs, so logind will never suspend the system upon closing the lid, +even if only one (internal) display is connected. This has been reported +by multiple users so far. + +IMHO, it's better to suspend the system in this case for safety reasons, +to avoid having nvidia blob users' laptops overheat, for the same reason +that sleep inhibitors are overridden (LidSwitchIgnoreInhibited=yes). +--- + src/login/logind-action.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git src/login/logind-action.c src/login/logind-action.c +index ae9cd48..36ee441 100644 +--- src/login/logind-action.c ++++ src/login/logind-action.c +@@ -79,14 +79,12 @@ int manager_handle_action( + return 0; + } + +- /* If we have more than one or no displays connected, +- * don't react to lid closing. The no display case we +- * treat like this under the assumption that there is +- * no modern drm driver available. */ ++ /* If we have more than one display connected, ++ * don't react to lid closing. */ + n = manager_count_displays(m); + if (n < 0) + log_warning("Display counting failed: %s", strerror(-n)); +- else if (n != 1) { ++ else if (n > 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } +-- +1.7.9.2 + diff --git a/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch b/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch new file mode 100644 index 00000000..cd65acf9 --- /dev/null +++ b/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch @@ -0,0 +1,32 @@ +From 9d685ca8193c0da3ad5746be3871f5350179a3b3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Thu, 14 Aug 2014 19:59:16 +0200 +Subject: [PATCH] machine_kill(): Don't kill the unit when killing the leader + +If "machinectl poweroff" or "machinectl reboot" is used on a +systemd-nspawn container started with --keep-unit and --register, it +should *only* send the appropriate signal to the leader PID (i.e. the +container's systemd process). It shouldn't fall through to +manager_kill_unit() to also send the signal to the unit. The latter +ends up killing systemd-nspawn, which takes down the container +prematurely. +--- + src/machine/machine.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git src/machine/machine.c src/machine/machine.c +index 1c9177e..13d3448 100644 +--- src/machine/machine.c ++++ src/machine/machine.c +@@ -493,6 +493,8 @@ int machine_kill(Machine *m, KillWho who, int signo) { + + if (kill(m->leader, signo) < 0) + return -errno; ++ ++ return 0; + } + + /* Otherwise make PID 1 do it for us, for the entire cgroup */ +-- +1.7.9.2 + diff --git a/0010-man-update-link-to-LSB.patch b/0010-man-update-link-to-LSB.patch new file mode 100644 index 00000000..07a96f01 --- /dev/null +++ b/0010-man-update-link-to-LSB.patch @@ -0,0 +1,35 @@ +From 27d14fb331ba8144f99f4da2d13f15cf5c8b8a9f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Mar 2014 08:10:19 -0500 +Subject: [PATCH] man: update link to LSB + +https://bugzilla.redhat.com/show_bug.cgi?id=1073402 +--- + man/daemon.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/daemon.xml man/daemon.xml +index fd29ba7..ab58d08 100644 +--- man/daemon.xml ++++ man/daemon.xml +@@ -252,7 +252,7 @@ + detect service errors and problems. It + is recommended to follow the exit code + scheme as defined in the LSB ++ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB + recommendations for SysV init + scripts. + +@@ -395,7 +395,7 @@ + exclusively on boot (and manually by the + administrator) via SysV init scripts, as + detailed in the LSB ++ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB + Linux Standard Base Core + Specification. This method of + activation is supported ubiquitously on Linux +-- +1.7.9.2 + diff --git a/0010-manager-use-correct-cleanup-function.patch b/0010-manager-use-correct-cleanup-function.patch new file mode 100644 index 00000000..0f46dec8 --- /dev/null +++ b/0010-manager-use-correct-cleanup-function.patch @@ -0,0 +1,30 @@ +From 807d0cca2b0daf4cd725298c1b5e062b1126f15b Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Thu, 11 Sep 2014 21:14:53 +0200 +Subject: [PATCH] manager: use correct cleanup function + +Close the dir instead of attempt to free it. + +Introduced in 874310b7b68c4c0d36ff07397db30a959bb7dae5 + +Found with coverity. Fixes: CID#996368 +--- + src/core/manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/manager.c src/core/manager.c +index 9abdf47..095111e 100644 +--- src/core/manager.c ++++ src/core/manager.c +@@ -896,7 +896,7 @@ static int manager_coldplug(Manager *m) { + + static void manager_build_unit_path_cache(Manager *m) { + char **i; +- _cleanup_free_ DIR *d = NULL; ++ _cleanup_closedir_ DIR *d = NULL; + int r; + + assert(m); +-- +1.7.9.2 + diff --git a/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch b/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch new file mode 100644 index 00000000..79bf62d4 --- /dev/null +++ b/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch @@ -0,0 +1,51 @@ +From aef831369cd2a7a1bd4a58dd96ff8628ed6a85f9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 04:28:37 +0100 +Subject: [PATCH] mount: don't fire PropertiesChanged signals for mounts that + are stopped + +--- + src/core/mount.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index 98812c9..7a92e1c 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1679,20 +1679,20 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + Mount *mount = MOUNT(u); + + if (!mount->is_mounted) { +- /* This has just been unmounted. */ + + mount->from_proc_self_mountinfo = false; + + switch (mount->state) { + + case MOUNT_MOUNTED: ++ /* This has just been unmounted by ++ * somebody else, follow the state ++ * change. */ + mount_enter_dead(mount, MOUNT_SUCCESS); + break; + + default: +- mount_set_state(mount, mount->state); + break; +- + } + + } else if (mount->just_mounted || mount->just_changed) { +@@ -1703,6 +1703,9 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + + case MOUNT_DEAD: + case MOUNT_FAILED: ++ /* This has just been mounted by ++ * somebody else, follow the state ++ * change. */ + mount_enter_mounted(mount, MOUNT_SUCCESS); + break; + +-- +1.7.9.2 + diff --git a/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch b/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch new file mode 100644 index 00000000..cafa5324 --- /dev/null +++ b/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch @@ -0,0 +1,27 @@ +Based on d89b5fed9ea5d9ec293585cb85bb27b56ea6ac9c Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 21 Oct 2014 18:38:42 +0200 +Subject: [PATCH] shutdown: do final unmounting only if not running inside the + container + +If we run in the container then we run in a mount namespace. If namespace dies +then kernel should do unmounting for us, hence we skip unmounting in containers. + +Also, it may be the case that we no longer have capability to do umount, +because we are running in the unprivileged container. + +See: http://lists.freedesktop.org/archives/systemd-devel/2014-October/023536.html +--- + src/core/shutdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/core/shutdown.c ++++ src/core/shutdown.c 2014-10-29 14:18:38.767837898 +0000 +@@ -278,6 +278,7 @@ int main(int argc, char *argv[]) { + broadcast_signal(SIGKILL, true, false); + + if (in_container) { ++ need_umount = false; + need_swapoff = false; + need_dm_detach = false; + need_loop_detach = false; diff --git a/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch b/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch new file mode 100644 index 00000000..e99c1a0d --- /dev/null +++ b/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch @@ -0,0 +1,25 @@ +From da92ca5eb506d513033e0c7a85daf25a7e1c9d0e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 20 Jun 2014 22:43:49 -0400 +Subject: [PATCH] util: treat fuse.sshfs as a network filesystem + +https://bugs.freedesktop.org/show_bug.cgi?id=73727 +--- + src/shared/util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/shared/util.c src/shared/util.c +index 882a690..dbdb692 100644 +--- src/shared/util.c ++++ src/shared/util.c +@@ -1514,6 +1514,7 @@ bool fstype_is_network(const char *fstype) { + static const char table[] = + "cifs\0" + "smbfs\0" ++ "sshfs\0" + "ncpfs\0" + "ncp\0" + "nfs\0" +-- +1.7.9.2 + diff --git a/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch b/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch new file mode 100644 index 00000000..325f04a9 --- /dev/null +++ b/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch @@ -0,0 +1,28 @@ +From 8e75477abdd838d3beddc5fd1c6a7707b22748b6 Mon Sep 17 00:00:00 2001 +From: Ronny Chevalier +Date: Sat, 21 Jun 2014 22:07:09 +0200 +Subject: [PATCH] build-sys: add -pthread flag for libsystemd-shared + +src/shared/async.c uses pthread so it will fail at link time if we link +only to libsystemd-shared and use async +--- + Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git Makefile.am Makefile.am +index c7653ea..00db82d 100644 +--- Makefile.am ++++ Makefile.am +@@ -837,7 +837,8 @@ nodist_libsystemd_shared_la_SOURCES = \ + + libsystemd_shared_la_CFLAGS = \ + $(AM_CFLAGS) \ +- $(SECCOMP_CFLAGS) ++ $(SECCOMP_CFLAGS) \ ++ -pthread + + # ------------------------------------------------------------------------------ + noinst_LTLIBRARIES += \ +-- +1.7.9.2 + diff --git a/0011-logs-show-fix-corrupt-output-with-empty-messages.patch b/0011-logs-show-fix-corrupt-output-with-empty-messages.patch new file mode 100644 index 00000000..6ff83d12 --- /dev/null +++ b/0011-logs-show-fix-corrupt-output-with-empty-messages.patch @@ -0,0 +1,41 @@ +From 47d80904a1f72d559962cc5ad32fffd46672a34a Mon Sep 17 00:00:00 2001 +From: Uoti Urpala +Date: Thu, 20 Feb 2014 03:00:09 +0200 +Subject: [PATCH] logs-show: fix corrupt output with empty messages + +If a message had zero length, journalctl would print no newline, and +two output lines would be concatenated. Fix. The problem was +introduced in commit 31f7bf199452 ("logs-show: print multiline +messages"). Affected short and verbose output modes. + +Before fix: + +Feb 09 21:16:17 glyph dhclient[1323]: Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit + +after: + +Feb 09 21:16:17 glyph dhclient[1323]: +Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit +--- + src/shared/logs-show.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/shared/logs-show.c src/shared/logs-show.c +index 61c3652..12d4a1c 100644 +--- src/shared/logs-show.c ++++ src/shared/logs-show.c +@@ -124,6 +124,11 @@ static bool print_multiline(FILE *f, unsigned prefix, unsigned n_columns, Output + } + } + ++ /* A special case: make sure that we print a newline when ++ the message is empty. */ ++ if (message_len == 0) ++ fputs("\n", f); ++ + for (pos = message; + pos < message + message_len; + pos = end + 1, line++) { +-- +1.7.9.2 + diff --git a/0011-man-systemd-bootchart-fix-spacing-in-command.patch b/0011-man-systemd-bootchart-fix-spacing-in-command.patch new file mode 100644 index 00000000..60c206b3 --- /dev/null +++ b/0011-man-systemd-bootchart-fix-spacing-in-command.patch @@ -0,0 +1,28 @@ +From 82ed60080d327d7301fcd55f5a1f8511f894b9d5 Mon Sep 17 00:00:00 2001 +From: Zachary Cook +Date: Thu, 6 Mar 2014 03:49:49 -0500 +Subject: [PATCH] man: systemd-bootchart - fix spacing in command + +Use the same formatting as the systemd-analyze man page, so that man shows a space. +--- + man/systemd-bootchart.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git man/systemd-bootchart.xml man/systemd-bootchart.xml +index d0adaad..1715d5d 100644 +--- man/systemd-bootchart.xml ++++ man/systemd-bootchart.xml +@@ -78,8 +78,8 @@ + in which order, and where possible problems + exist in the startup sequence of the system. + It is essentially a more detailed version of +- the systemd-analyze +- plot function. ++ the systemd-analyze plot ++ function. + + + Of course, bootchart can also be used at any +-- +1.7.9.2 + diff --git a/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch b/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch new file mode 100644 index 00000000..1592a5aa --- /dev/null +++ b/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch @@ -0,0 +1,57 @@ +Based on dec23413ecc90d4a547aa41f02af0482b4513495 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 27 Oct 2014 21:31:29 -0400 +Subject: [PATCH] selinux: make sure we do not try to print missing fields + +UID or GID of 0 is valid, so we cannot use that to distinguish whether +calls to sd_bus_creds_get_* succeeded, and the return value from the +function is the only way to know about missing fields. Print "n/a" if +the fields are missing. + +CID #1238779 +--- + src/core/selinux-access.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git src/core/selinux-access.c src/core/selinux-access.c +index 08ea6ef..351d48f 100644 +--- src/core/selinux-access.c ++++ src/core/selinux-access.c +@@ -53,7 +53,7 @@ struct audit_info { + + /* + Any time an access gets denied this callback will be called +- with the aduit data. We then need to just copy the audit data into the msgbuf. ++ with the audit data. We then need to just copy the audit data into the msgbuf. + */ + static int audit_callback( + void *auditdata, +@@ -64,14 +64,20 @@ static int audit_callback( + const struct audit_info *audit = auditdata; + uid_t uid = 0, login_uid = 0; + gid_t gid = 0; ++ char login_uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; ++ char uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; ++ char gid_buf[DECIMAL_STR_MAX(gid_t)] = "n/a"; + +- sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid); +- sd_bus_creds_get_uid(audit->creds, &uid); +- sd_bus_creds_get_gid(audit->creds, &gid); ++ if (sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid) >= 0) ++ snprintf(login_uid_buf, sizeof(login_uid_buf), UID_FMT, login_uid); ++ if (sd_bus_creds_get_uid(audit->creds, &uid) >= 0) ++ snprintf(uid_buf, sizeof(uid_buf), UID_FMT, uid); ++ if (sd_bus_creds_get_gid(audit->creds, &gid) >= 0) ++ snprintf(gid_buf, sizeof(gid_buf), "%lu", (unsigned long)gid); + + snprintf(msgbuf, msgbufsize, +- "auid=%d uid=%d gid=%d%s%s%s%s%s%s", +- login_uid, uid, gid, ++ "auid=%s uid=%s gid=%s%s%s%s%s%s%s", ++ login_uid_buf, uid_buf, gid_buf, + audit->path ? " path=\"" : "", strempty(audit->path), audit->path ? "\"" : "", + audit->cmdline ? " cmdline=\"" : "", strempty(audit->cmdline), audit->cmdline ? "\"" : ""); + +-- +1.7.9.2 + diff --git a/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch b/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch new file mode 100644 index 00000000..7dee5011 --- /dev/null +++ b/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch @@ -0,0 +1,93 @@ +From ff50244582bf69e8489bba6ce59a21663d7f8274 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 18 Aug 2014 22:21:42 +0200 +Subject: [PATCH] units: fix BindsTo= logic when applied relative to services + with Type=oneshot +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Start jobs for Type=oneshot units are successful when the unit state +transition activating → inactive took place. In such a case all units +that BindsTo= on it previously would continue to run, even though the unit +they dependet on was actually already gone. +--- + src/core/unit.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 44 insertions(+), 4 deletions(-) + +diff --git src/core/unit.c src/core/unit.c +index a5f6b2e..950b83a 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1471,12 +1471,44 @@ static void unit_check_unneeded(Unit *u) { + if (unit_active_or_pending(other)) + return; + +- log_info_unit(u->id, "Service %s is not needed anymore. Stopping.", u->id); ++ log_info_unit(u->id, "Unit %s is not needed anymore. Stopping.", u->id); + + /* Ok, nobody needs us anymore. Sniff. Then let's commit suicide */ + manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); + } + ++static void unit_check_binds_to(Unit *u) { ++ bool stop = false; ++ Unit *other; ++ Iterator i; ++ ++ assert(u); ++ ++ if (u->job) ++ return; ++ ++ if (unit_active_state(u) != UNIT_ACTIVE) ++ return; ++ ++ SET_FOREACH(other, u->dependencies[UNIT_BINDS_TO], i) { ++ if (other->job) ++ continue; ++ ++ if (!UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) ++ continue; ++ ++ stop = true; ++ } ++ ++ if (!stop) ++ return; ++ ++ log_info_unit(u->id, "Unit %s is bound to inactive service. Stopping, too.", u->id); ++ ++ /* A unit we need to run is gone. Sniff. Let's stop this. */ ++ manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); ++} ++ + static void retroactively_start_dependencies(Unit *u) { + Iterator i; + Unit *other; +@@ -1788,11 +1820,19 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + manager_recheck_journal(m); + unit_trigger_notify(u); + +- /* Maybe we finished startup and are now ready for being +- * stopped because unneeded? */ +- if (u->manager->n_reloading <= 0) ++ if (u->manager->n_reloading <= 0) { ++ /* Maybe we finished startup and are now ready for ++ * being stopped because unneeded? */ + unit_check_unneeded(u); + ++ /* Maybe we finished startup, but something we needed ++ * has vanished? Let's die then. (This happens when ++ * something BindsTo= to a Type=oneshot unit, as these ++ * units go directly from starting to inactive, ++ * without ever entering started.) */ ++ unit_check_binds_to(u); ++ } ++ + unit_add_to_dbus_queue(u); + unit_add_to_gc_queue(u); + } +-- +1.7.9.2 + diff --git a/0012-core-transaction-avoid-misleading-error-message-when.patch b/0012-core-transaction-avoid-misleading-error-message-when.patch new file mode 100644 index 00000000..03021cd2 --- /dev/null +++ b/0012-core-transaction-avoid-misleading-error-message-when.patch @@ -0,0 +1,42 @@ +Based on 04ef5b03f64d3824a51a2a903548af029a006744 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 22 Jun 2014 14:04:23 -0400 +Subject: [PATCH] core/transaction: avoid misleading error message when unit + not found + +There's no point in telling the user to look at the logs when +an attempt to load the unit file failed with ENOENT. + +https://bugzilla.redhat.com/show_bug.cgi?id=996133 +--- + TODO | 4 ---- + src/core/transaction.c | 18 ++++++++++++------ + 2 files changed, 12 insertions(+), 10 deletions(-) + +--- src/core/transaction.c ++++ src/core/transaction.c 2014-06-24 11:18:42.746235805 +0000 +@@ -865,12 +865,18 @@ int transaction_add_job_and_dependencies + } + + if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { +- sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, +- "Unit %s failed to load: %s. " +- "See system logs and 'systemctl status %s' for details.", +- unit->id, +- strerror(-unit->load_error), +- unit->id); ++ if (unit->load_error == -ENOENT) ++ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, ++ "Unit %s failed to load: %s.", ++ unit->id, ++ strerror(-unit->load_error)); ++ else ++ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, ++ "Unit %s failed to load: %s. " ++ "See system logs and 'systemctl status %s' for details.", ++ unit->id, ++ strerror(-unit->load_error), ++ unit->id); + return -EINVAL; + } + diff --git a/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch b/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch new file mode 100644 index 00000000..00b0669b --- /dev/null +++ b/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch @@ -0,0 +1,30 @@ +From 0b6b7c2004317da48e5bbd3078c5662d8f0061b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 26 Feb 2014 23:01:43 -0500 +Subject: [PATCH] journalctl: refuse extra arguments with --verify and similar + +Positional arguments only make sense with the default action. +For other actions, complain instead of ignoring them silently. +--- + src/journal/journalctl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git src/journal/journalctl.c src/journal/journalctl.c +index a328ba1..0619b25 100644 +--- src/journal/journalctl.c ++++ src/journal/journalctl.c +@@ -658,6 +658,11 @@ static int parse_argv(int argc, char *argv[]) { + return -EINVAL; + } + ++ if (arg_action != ACTION_SHOW && optind < argc) { ++ log_error("Extraneous arguments starting with '%s'", argv[optind]); ++ return -EINVAL; ++ } ++ + return 1; + } + +-- +1.7.9.2 + diff --git a/0012-journald-remove-stray-reset-of-error-return-value.patch b/0012-journald-remove-stray-reset-of-error-return-value.patch new file mode 100644 index 00000000..f15237f7 --- /dev/null +++ b/0012-journald-remove-stray-reset-of-error-return-value.patch @@ -0,0 +1,24 @@ +From 2fc74bf4336eb7a7e40c0b355d19966cd97d4b3c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 10 Mar 2014 21:19:23 -0400 +Subject: [PATCH] journald: remove stray reset of error return value + +--- + src/journal/journald.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git src/journal/journald.c src/journal/journald.c +index 37896d0..c8c0801 100644 +--- src/journal/journald.c ++++ src/journal/journald.c +@@ -110,7 +110,6 @@ int main(int argc, char *argv[]) { + r = sd_event_run(server.event, t); + if (r < 0) { + log_error("Failed to run event loop: %s", strerror(-r)); +- r = -errno; + goto finish; + } + +-- +1.7.9.2 + diff --git a/0012-man-add-missing-comma.patch b/0012-man-add-missing-comma.patch new file mode 100644 index 00000000..9d779f43 --- /dev/null +++ b/0012-man-add-missing-comma.patch @@ -0,0 +1,26 @@ +From 7d06ef0a5cd2f0a4e021d3d12f3841cce529e0f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Mar 2014 23:54:13 -0500 +Subject: [PATCH] man: add missing comma + +marcosf0> missing comma in udevadm "see also" section +--- + man/udevadm.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git man/udevadm.xml man/udevadm.xml +index a3f8d54..21d1443 100644 +--- man/udevadm.xml ++++ man/udevadm.xml +@@ -594,7 +594,7 @@ + See Also + + udev7 +- ++ , + + systemd-udevd.service8 + +-- +1.7.9.2 + diff --git a/0012-manager-do-not-print-anything-while-passwords-are-be.patch b/0012-manager-do-not-print-anything-while-passwords-are-be.patch new file mode 100644 index 00000000..88c30eab --- /dev/null +++ b/0012-manager-do-not-print-anything-while-passwords-are-be.patch @@ -0,0 +1,180 @@ +Based on e46b13c8c7f48f81d4e09912f2265daaa7f6d27e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 25 Oct 2014 20:30:51 -0400 +Subject: [PATCH] manager: do not print anything while passwords are being + queried + +https://bugs.freedesktop.org/show_bug.cgi?id=73942 +--- + src/core/manager.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + src/core/manager.h | 5 ++ + 2 files changed, 109 insertions(+), 1 deletion(-) + +--- src/core/manager.c ++++ src/core/manager.c 2014-10-29 14:31:18.984212089 +0000 +@@ -25,6 +25,8 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include +@@ -212,6 +214,96 @@ static void manager_print_jobs_in_progre + + } + ++static int have_ask_password(void) { ++ _cleanup_closedir_ DIR *dir; ++ ++ dir = opendir("/run/systemd/ask-password"); ++ if (!dir) { ++ if (errno == ENOENT) ++ return false; ++ else ++ return -errno; ++ } ++ ++ for (;;) { ++ struct dirent *de; ++ ++ errno = 0; ++ de = readdir(dir); ++ if (!de && errno != 0) ++ return -errno; ++ if (!de) ++ return false; ++ ++ if (startswith(de->d_name, "ask.")) ++ return true; ++ } ++} ++ ++static int manager_dispatch_ask_password_fd(sd_event_source *source, ++ int fd, uint32_t revents, void *userdata) { ++ Manager *m = userdata; ++ ++ assert(m); ++ ++ flush_fd(fd); ++ ++ m->have_ask_password = have_ask_password(); ++ if (m->have_ask_password < 0) ++ /* Log error but continue. Negative have_ask_password ++ * is treated as unknown status. */ ++ log_error("Failed to list /run/systemd/ask-password: %s", strerror(m->have_ask_password)); ++ ++ return 0; ++} ++ ++static void manager_close_ask_password(Manager *m) { ++ assert(m); ++ if (m->ask_password_inotify_fd >= 0) close_nointr_nofail(m->ask_password_inotify_fd); ++ m->ask_password_inotify_fd = -1; ++ m->ask_password_event_source = sd_event_source_unref(m->ask_password_event_source); ++ m->have_ask_password = -EINVAL; ++} ++ ++static int manager_check_ask_password(Manager *m) { ++ int r; ++ ++ assert(m); ++ ++ if (!m->ask_password_event_source) { ++ assert(m->ask_password_inotify_fd < 0); ++ ++ mkdir_p_label("/run/systemd/ask-password", 0755); ++ ++ m->ask_password_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); ++ if (m->ask_password_inotify_fd < 0) { ++ log_error("inotify_init1() failed: %m"); ++ return -errno; ++ } ++ ++ if (inotify_add_watch(m->ask_password_inotify_fd, "/run/systemd/ask-password", IN_CREATE|IN_DELETE|IN_MOVE) < 0) { ++ log_error("Failed to add watch on /run/systemd/ask-password: %m"); ++ manager_close_ask_password(m); ++ return -errno; ++ } ++ ++ r = sd_event_add_io(m->event, &m->ask_password_event_source, ++ m->ask_password_inotify_fd, EPOLLIN, ++ manager_dispatch_ask_password_fd, m); ++ if (r < 0) { ++ log_error("Failed to add event source for /run/systemd/ask-password: %m"); ++ manager_close_ask_password(m); ++ return -errno; ++ } ++ ++ /* Queries might have been added meanwhile... */ ++ manager_dispatch_ask_password_fd(m->ask_password_event_source, ++ m->ask_password_inotify_fd, EPOLLIN, m); ++ } ++ ++ return m->have_ask_password; ++} ++ + static int manager_watch_idle_pipe(Manager *m) { + int r; + +@@ -470,6 +562,9 @@ int manager_new(SystemdRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; + m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + ++ m->ask_password_inotify_fd = -1; ++ m->have_ask_password = -EINVAL; /* we don't know */ ++ + r = manager_default_environment(m); + if (r < 0) + goto fail; +@@ -847,6 +942,8 @@ void manager_free(Manager *m) { + if (m->kdbus_fd >= 0) + close_nointr_nofail(m->kdbus_fd); + ++ manager_close_ask_password(m); ++ + manager_close_idle_pipe(m); + + udev_unref(m->udev); +@@ -2526,6 +2623,9 @@ void manager_check_finished(Manager *m) + /* Turn off confirm spawn now */ + m->confirm_spawn = false; + ++ /* No need to update ask password status when we're going non-interactive */ ++ manager_close_ask_password(m); ++ + if (dual_timestamp_is_set(&m->finish_timestamp)) + return; + +@@ -2843,12 +2943,15 @@ static bool manager_get_show_status(Mana + if (m->no_console_output) + return false; + ++ /* If we cannot find out the status properly, just proceed. */ ++ if (manager_check_ask_password(m) > 0) ++ return false; ++ + if (m->show_status > 0) + return true; + + /* If Plymouth is running make sure we show the status, so + * that there's something nice to see when people press Esc */ +- + return plymouth_running(); + } + +--- src/core/manager.h ++++ src/core/manager.h 2014-10-29 00:00:00.000000000 +0000 +@@ -231,6 +231,11 @@ struct Manager { + unsigned n_on_console; + unsigned jobs_in_progress_iteration; + ++ /* Do we have any outstanding password prompts? */ ++ int have_ask_password; ++ int ask_password_inotify_fd; ++ sd_event_source *ask_password_event_source; ++ + /* Type=idle pipes */ + int idle_pipe[4]; + sd_event_source *idle_pipe_event_source; diff --git a/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch b/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch new file mode 100644 index 00000000..becc7844 --- /dev/null +++ b/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch @@ -0,0 +1,36 @@ +From 70421bdce2719d76efffd8afdc28433c75aac5a2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 18 Aug 2014 23:15:51 +0200 +Subject: [PATCH] util: try to be a bit more NFS compatible when checking + whether an FS is writable + +https://bugs.freedesktop.org/show_bug.cgi?id=81169 +--- + src/shared/path-util.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git src/shared/path-util.c src/shared/path-util.c +index 57554cd..67566bc 100644 +--- src/shared/path-util.c ++++ src/shared/path-util.c +@@ -533,7 +533,16 @@ int path_is_read_only_fs(const char *path) { + if (statvfs(path, &st) < 0) + return -errno; + +- return !!(st.f_flag & ST_RDONLY); ++ if (st.f_flag & ST_RDONLY) ++ return true; ++ ++ /* On NFS, statvfs() might not reflect whether we can actually ++ * write to the remote share. Let's try again with ++ * access(W_OK) which is more reliable, at least sometimes. */ ++ if (access(path, W_OK) < 0 && errno == EROFS) ++ return true; ++ ++ return false; + } + + int path_is_os_tree(const char *path) { +-- +1.7.9.2 + diff --git a/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch b/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch new file mode 100644 index 00000000..0343c2ad --- /dev/null +++ b/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch @@ -0,0 +1,118 @@ +From 6f285378aa6e4b5b23c939d1fea16f9ab0a57efb Mon Sep 17 00:00:00 2001 +From: Miklos Vajna +Date: Fri, 14 Mar 2014 21:13:38 +0100 +Subject: [PATCH] core, libsystemd, systemd, timedate, udev: spelling fixes + +--- + src/core/service.c | 2 +- + src/core/unit.c | 2 +- + src/libsystemd/sd-bus/bus-message.c | 2 +- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/systemd/sd-resolve.h | 2 +- + src/timedate/timedated.c | 2 +- + src/udev/udevadm-settle.c | 2 +- + 7 files changed, 8 insertions(+), 8 deletions(-) + +diff --git src/core/service.c src/core/service.c +index 41b95ab..386692a 100644 +--- src/core/service.c ++++ src/core/service.c +@@ -3416,7 +3416,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { + free(t); + } + +- /* Interpet WATCHDOG= */ ++ /* Interpret WATCHDOG= */ + if (strv_find(tags, "WATCHDOG=1")) { + log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); + service_reset_watchdog(s); +diff --git src/core/unit.c src/core/unit.c +index 5c98843..4fb0d9c 100644 +--- src/core/unit.c ++++ src/core/unit.c +@@ -1537,7 +1537,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su + unit_destroy_cgroup(u); + + /* Note that this doesn't apply to RemainAfterExit services exiting +- * sucessfully, since there's no change of state in that case. Which is ++ * successfully, since there's no change of state in that case. Which is + * why it is handled in service_set_state() */ + if (UNIT_IS_INACTIVE_OR_FAILED(os) != UNIT_IS_INACTIVE_OR_FAILED(ns)) { + ExecContext *ec; +diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c +index b9d7f6d..e32f2b8 100644 +--- src/libsystemd/sd-bus/bus-message.c ++++ src/libsystemd/sd-bus/bus-message.c +@@ -4215,7 +4215,7 @@ static int message_read_ap( + * in a single stackframe. We hence implement our own + * home-grown stack in an array. */ + +- n_array = (unsigned) -1; /* lenght of current array entries */ ++ n_array = (unsigned) -1; /* length of current array entries */ + n_struct = strlen(types); /* length of current struct contents signature */ + + for (;;) { +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 8e44e50..ba8a8a2 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -1447,7 +1447,7 @@ static int bus_seal_message(sd_bus *b, sd_bus_message *m, usec_t timeout) { + static int bus_remarshal_message(sd_bus *b, sd_bus_message **m) { + assert(b); + +- /* Do packet version and endianess already match? */ ++ /* Do packet version and endianness already match? */ + if ((b->message_version == 0 || b->message_version == (*m)->header->version) && + (b->message_endian == 0 || b->message_endian == (*m)->header->endian)) + return 0; +@@ -1464,7 +1464,7 @@ int bus_seal_synthetic_message(sd_bus *b, sd_bus_message *m) { + * hence let's fill something in for synthetic messages. Since + * synthetic messages might have a fake sender and we don't + * want to interfere with the real sender's serial numbers we +- * pick a fixed, artifical one. We use (uint32_t) -1 rather ++ * pick a fixed, artificial one. We use (uint32_t) -1 rather + * than (uint64_t) -1 since dbus1 only had 32bit identifiers, + * even though kdbus can do 64bit. */ + +diff --git src/systemd/sd-resolve.h src/systemd/sd-resolve.h +index df69e4b..3c1d482 100644 +--- src/systemd/sd-resolve.h ++++ src/systemd/sd-resolve.h +@@ -129,7 +129,7 @@ int sd_resolve_get_next(sd_resolve *resolve, sd_resolve_query **q); + int sd_resolve_get_n_queries(sd_resolve *resolve); + + /** Cancel a currently running query. q is is destroyed by this call +- * and may not be used any futher. */ ++ * and may not be used any further. */ + int sd_resolve_cancel(sd_resolve_query* q); + + /** Returns non-zero when the query operation specified by q has been completed */ +diff --git src/timedate/timedated.c src/timedate/timedated.c +index d85ce57..c4a797a 100644 +--- src/timedate/timedated.c ++++ src/timedate/timedated.c +@@ -468,7 +468,7 @@ static int property_get_rtc_time( + zero(tm); + r = hwclock_get_time(&tm); + if (r == -EBUSY) { +- log_warning("/dev/rtc is busy, is somebody keeping it open continously? That's not a good idea... Returning a bogus RTC timestamp."); ++ log_warning("/dev/rtc is busy, is somebody keeping it open continuously? That's not a good idea... Returning a bogus RTC timestamp."); + t = 0; + } else if (r == -ENOENT) { + log_debug("Not /dev/rtc found."); +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index b026155..927ea2a 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -100,7 +100,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + case '?': + exit(EXIT_FAILURE); + default: +- assert_not_reached("Unkown argument"); ++ assert_not_reached("Unknown argument"); + } + + if (optind < argc) { +-- +1.7.9.2 + diff --git a/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch b/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch new file mode 100644 index 00000000..f65e5d3e --- /dev/null +++ b/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch @@ -0,0 +1,38 @@ +From 6c49212741253dae05b89d22374186f092ef1e5a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 7 Mar 2014 01:50:34 +0100 +Subject: [PATCH] units: Do not unescape instance name in + systemd-backlight@.service + +The instance name is never escaped in the udev rule, but unescaped in the unit. +This results in the following error message on Asus boards: + + Failed to get backlight or LED device 'backlight:eeepc/wmi': No such file or directory +--- + units/systemd-backlight@.service.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git units/systemd-backlight@.service.in units/systemd-backlight@.service.in +index 5caa5d5..e945d87 100644 +--- units/systemd-backlight@.service.in ++++ units/systemd-backlight@.service.in +@@ -6,7 +6,7 @@ + # (at your option) any later version. + + [Unit] +-Description=Load/Save Screen Backlight Brightness of %I ++Description=Load/Save Screen Backlight Brightness of %i + Documentation=man:systemd-backlight@.service(8) + DefaultDependencies=no + RequiresMountsFor=/var/lib/systemd/backlight +@@ -17,5 +17,5 @@ Before=sysinit.target shutdown.target + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=@rootlibexecdir@/systemd-backlight load %I +-ExecStop=@rootlibexecdir@/systemd-backlight save %I ++ExecStart=@rootlibexecdir@/systemd-backlight load %i ++ExecStop=@rootlibexecdir@/systemd-backlight save %i +-- +1.7.9.2 + diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index c3ae1a23..6bf95fb4 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -1,22 +1,5 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Augmented description [jengelh@inai.de]: -Disable COW on journal files, as that is naturally leading to a lot -of unwanted fragmentation on btrfs. -No word on compression… ---- - src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -Index: systemd/src/journal/journald-server.c -=================================================================== ---- systemd.orig/src/journal/journald-server.c -+++ systemd/src/journal/journald-server.c +--- systemd-208/src/journal/journald-server.c ++++ systemd-208/src/journal/journald-server.c 2013-12-10 16:31:50.770235717 +0000 @@ -21,6 +21,7 @@ #include @@ -25,50 +8,45 @@ Index: systemd/src/journal/journald-server.c #include #include #include -@@ -917,6 +918,38 @@ finish: - dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); - } +@@ -878,7 +879,7 @@ finish: -+/* -+ * On journaling and/or compressing file systems, avoid doubling the efforts -+ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every -+ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like BtrFS does). -+ * -+ * …but src/journal/journal-file.c already sets NOCOW too…⸘ -+ */ -+static void disable_cow(const char *dir, const Server *serv) -+{ -+ unsigned long flags; -+ int fd = open(dir, O_DIRECTORY); + + static int system_journal_open(Server *s) { +- int r; ++ int r, fd; + char *fn; + sd_id128_t machine; + char ids[33]; +@@ -905,7 +906,31 @@ static int system_journal_open(Server *s + (void) mkdir("/var/log/journal/", 0755); + + fn = strappenda("/var/log/journal/", ids); +- (void) mkdir(fn, 0755); ++ (void)mkdir(fn, 0755); + -+ if (fd < 0) -+ return; -+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ unsigned long old = flags; -+ if (!(flags & FS_NOATIME_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0) -+ flags |= FS_NOATIME_FL; -+ if (!(flags & FS_NOCOW_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0) -+ flags |= FS_NOCOW_FL; -+ if (!(flags & FS_NOCOMP_FL) && serv->compress) { -+ flags &= ~FS_COMPR_FL; -+ flags |= FS_NOCOMP_FL; ++ /* ++ * On journaling and/or compressing file systems avoid doubling the ++ * efforts for the system, that is set NOCOW and NOCOMP inode flags. ++ * Check for every single flag as otherwise some of the file systems ++ * may return EOPNOTSUPP on one unkown flag (like BtrFS does). ++ */ ++ if ((fd = open(fn, O_DIRECTORY)) >= 0) { ++ long flags; ++ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { ++ int old = flags; ++ if (!(flags&FS_NOATIME_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0) ++ flags |= FS_NOATIME_FL; ++ if (!(flags&FS_NOCOW_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0) ++ flags |= FS_NOCOW_FL; ++ if (!(flags&FS_NOCOMP_FL) && s->compress) { ++ flags &= ~FS_COMPR_FL; ++ flags |= FS_NOCOMP_FL; ++ } ++ if (old != flags) ++ ioctl(fd, FS_IOC_SETFLAGS, flags); ++ } ++ close(fd); + } -+ if (old != flags) -+ ioctl(fd, FS_IOC_SETFLAGS, flags); -+ } -+ close(fd); -+} - static int system_journal_open(Server *s, bool flush_requested) { - int r; -@@ -946,6 +979,7 @@ static int system_journal_open(Server *s - - fn = strjoina("/var/log/journal/", ids); - (void) mkdir(fn, 0755); -+ disable_cow(fn, s); - - fn = strjoina(fn, "/system.journal"); + fn = strappenda(fn, "/system.journal"); r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch b/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch new file mode 100644 index 00000000..c4c2f4cb --- /dev/null +++ b/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch @@ -0,0 +1,31 @@ +From 13e8ceb84e56907d73b6b07418deb37faaf0e66d Mon Sep 17 00:00:00 2001 +From: Tero Roponen +Date: Tue, 25 Feb 2014 17:19:35 +0200 +Subject: [PATCH] nspawn: fix detection of missing /proc/self/loginuid + +Running 'systemd-nspawn -D /srv/Fedora/' gave me this error: + Failed to read /proc/self/loginuid: No such file or directory + + Container Fedora failed with error code 1. + +This patch fixes the problem. +--- + src/nspawn/nspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 1fe641b..92b6728 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1349,7 +1349,7 @@ static int reset_audit_loginuid(void) { + return 0; + + r = read_one_line_file("/proc/self/loginuid", &p); +- if (r == -EEXIST) ++ if (r == -ENOENT) + return 0; + if (r < 0) { + log_error("Failed to read /proc/self/loginuid: %s", strerror(-r)); +-- +1.7.9.2 + diff --git a/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch new file mode 100644 index 00000000..a98660ec --- /dev/null +++ b/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch @@ -0,0 +1,68 @@ +Should solve the problems of + + bug #858864 - LSB "+" dependencies aren't handled properly + bug #857204 - inssrv fails to enable rpcbind + The side effect is that RequiresOverridable= is used for the services + add behind Required-Start + bug #863217 - systemd overrides explicit admin request to disable a service + That is that in this version the Wants= for all services behind + Should-Start, X-Start-Before, and X-Stop-After is not used anymore + +--- + service.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +--- systemd-208/src/core/service.c ++++ systemd-208/src/core/service.c 2014-02-21 14:44:59.066735478 +0000 +@@ -380,6 +380,8 @@ static int sysv_translate_facility(const + "remote_fs", SPECIAL_REMOTE_FS_TARGET, + "syslog", NULL, + "time", SPECIAL_TIME_SYNC_TARGET, ++ "all", SPECIAL_DEFAULT_TARGET, ++ "null", NULL, + }; + + unsigned i; +@@ -389,7 +391,7 @@ static int sysv_translate_facility(const + assert(name); + assert(_r); + +- n = *name == '$' ? name + 1 : name; ++ n = (*name == '$' || *name == '+') ? name + 1 : name; + + for (i = 0; i < ELEMENTSOF(table); i += 2) { + +@@ -816,10 +818,13 @@ static int service_load_sysv_path(Servic + startswith_no_case(t, "Should-Start:") || + startswith_no_case(t, "X-Start-Before:") || + startswith_no_case(t, "X-Start-After:")) { ++ UnitDependency d, e; + char *i, *w; + size_t z; + + state = LSB; ++ d = startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER; ++ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : _UNIT_DEPENDENCY_INVALID; + + FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { + char *n, *m; +@@ -838,12 +843,18 @@ static int service_load_sysv_path(Servic + continue; + } + ++ if (*n == '+') ++ e = UNIT_WANTS; ++ + free(n); + + if (r == 0) + continue; + +- r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true); ++ if (e != _UNIT_DEPENDENCY_INVALID) ++ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); ++ else ++ r = unit_add_dependency_by_name(u, d, m, NULL, true); + + if (r < 0) + log_error_unit(u->id, "[%s:%u] Failed to add dependency on %s, ignoring: %s", diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index a545cf08..89d79183 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -1,45 +1,8 @@ ---- - shell-completion/bash/coredumpctl | 6 +++++- - shell-completion/bash/hostnamectl | 6 +++++- - shell-completion/bash/journalctl | 6 +++++- - shell-completion/bash/kernel-install | 13 ++++++++++++- - shell-completion/bash/localectl | 6 +++++- - shell-completion/bash/loginctl | 6 +++++- - shell-completion/bash/systemctl.in | 6 +++++- - shell-completion/bash/systemd-analyze | 6 +++++- - shell-completion/bash/systemd-run | 14 +++++++++++++- - shell-completion/bash/timedatectl | 6 +++++- - shell-completion/bash/udevadm | 6 +++++- - 11 files changed, 70 insertions(+), 11 deletions(-) - -Index: systemd/shell-completion/bash/coredumpctl -=================================================================== ---- systemd.orig/shell-completion/bash/coredumpctl -+++ systemd/shell-completion/bash/coredumpctl -@@ -44,6 +44,10 @@ _coredumpctl() { - [DUMP]='dump gdb' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" '--output -o'; then - comps=$( compgen -A file -- "$cur" ) - compopt -o filenames -@@ -82,4 +86,4 @@ _coredumpctl() { - return 0 - } - --complete -F _coredumpctl coredumpctl -+complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd/shell-completion/bash/hostnamectl -=================================================================== ---- systemd.orig/shell-completion/bash/hostnamectl -+++ systemd/shell-completion/bash/hostnamectl +--- systemd-208/shell-completion/bash/hostnamectl ++++ systemd-208/shell-completion/bash/hostnamectl 2014-01-17 14:27:16.183272019 +0000 @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty - --no-ask-password -H --host --machine' + --no-ask-password -H --host' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -48,18 +11,16 @@ Index: systemd/shell-completion/bash/hostnamectl if [[ $cur = -* ]]; then COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) return 0 -@@ -61,4 +65,4 @@ _hostnamectl() { +@@ -58,4 +62,4 @@ _hostnamectl() { return 0 } -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd/shell-completion/bash/journalctl -=================================================================== ---- systemd.orig/shell-completion/bash/journalctl -+++ systemd/shell-completion/bash/journalctl -@@ -55,6 +55,10 @@ _journalctl() { - --root --machine' +--- systemd-208/shell-completion/bash/journalctl ++++ systemd-208/shell-completion/bash/journalctl 2014-01-17 14:34:30.338737694 +0000 +@@ -49,6 +49,10 @@ _journalctl() { + --verify-key' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -69,16 +30,14 @@ Index: systemd/shell-completion/bash/journalctl if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in --boot|--this-boot|-b) -@@ -120,4 +124,4 @@ _journalctl() { +@@ -107,4 +111,4 @@ _journalctl() { fi } -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd/shell-completion/bash/kernel-install -=================================================================== ---- systemd.orig/shell-completion/bash/kernel-install -+++ systemd/shell-completion/bash/kernel-install +--- systemd-208/shell-completion/bash/kernel-install ++++ systemd-208/shell-completion/bash/kernel-install 2014-01-17 14:34:41.982255874 +0000 @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -108,13 +67,11 @@ Index: systemd/shell-completion/bash/kernel-install -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd/shell-completion/bash/localectl -=================================================================== ---- systemd.orig/shell-completion/bash/localectl -+++ systemd/shell-completion/bash/localectl -@@ -36,6 +36,10 @@ _localectl() { +--- systemd-208/shell-completion/bash/localectl ++++ systemd-208/shell-completion/bash/localectl 2014-01-17 14:34:52.546235747 +0000 +@@ -30,6 +30,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password - -H --host --machine' + -H --host' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -123,19 +80,17 @@ Index: systemd/shell-completion/bash/localectl if __contains_word "$prev" $OPTS; then case $prev in --host|-H) -@@ -89,4 +93,4 @@ _localectl() { +@@ -73,4 +77,4 @@ _localectl() { return 0 } -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl -Index: systemd/shell-completion/bash/loginctl -=================================================================== ---- systemd.orig/shell-completion/bash/loginctl -+++ systemd/shell-completion/bash/loginctl -@@ -38,6 +38,10 @@ _loginctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --machine' - ) +--- systemd-208/shell-completion/bash/loginctl ++++ systemd-208/shell-completion/bash/loginctl 2014-01-17 14:35:03.386245699 +0000 +@@ -37,6 +37,10 @@ _loginctl () { + [ARG]='--host -H --kill-who --property -p --signal -s' + ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -144,17 +99,15 @@ Index: systemd/shell-completion/bash/loginctl if __contains_word "$prev" ${OPTS[ARG]}; then case $prev in --signal|-s) -@@ -107,4 +111,4 @@ _loginctl () { +@@ -106,4 +110,4 @@ _loginctl () { return 0 } -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd/shell-completion/bash/systemctl.in -=================================================================== ---- systemd.orig/shell-completion/bash/systemctl.in -+++ systemd/shell-completion/bash/systemctl.in -@@ -96,6 +96,10 @@ _systemctl () { +--- systemd-208/shell-completion/bash/systemctl ++++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000 +@@ -77,6 +77,10 @@ _systemctl () { [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' ) @@ -165,18 +118,16 @@ Index: systemd/shell-completion/bash/systemctl.in if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user else -@@ -264,4 +268,4 @@ _systemctl () { +@@ -226,4 +230,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd/shell-completion/bash/systemd-analyze -=================================================================== ---- systemd.orig/shell-completion/bash/systemd-analyze -+++ systemd/shell-completion/bash/systemd-analyze -@@ -47,6 +47,10 @@ _systemd_analyze() { - [VERIFY]='verify' +--- systemd-208/shell-completion/bash/systemd-analyze ++++ systemd-208/shell-completion/bash/systemd-analyze 2014-01-17 14:35:38.366736021 +0000 +@@ -37,6 +37,10 @@ _systemd_analyze() { + [LOG_LEVEL]='set-log-level' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -186,16 +137,33 @@ Index: systemd/shell-completion/bash/systemd-analyze _init_completion || return for ((i=0; i < COMP_CWORD; i++)); do -@@ -114,4 +118,4 @@ _systemd_analyze() { +@@ -83,4 +87,4 @@ _systemd_analyze() { return 0 } -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd/shell-completion/bash/systemd-run -=================================================================== ---- systemd.orig/shell-completion/bash/systemd-run -+++ systemd/shell-completion/bash/systemd-run +--- systemd-208/shell-completion/bash/systemd-coredumpctl ++++ systemd-208/shell-completion/bash/systemd-coredumpctl 2014-01-17 14:35:46.434235632 +0000 +@@ -44,6 +44,10 @@ _coredumpctl() { + [DUMP]='dump gdb' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" '--output -o'; then + comps=$( compgen -A file -- "$cur" ) + compopt -o filenames +@@ -82,4 +86,4 @@ _coredumpctl() { + return 0 + } + +-complete -F _coredumpctl systemd-coredumpctl ++complete -o default -o bashdefault -F _coredumpctl systemd-coredumpctl +--- systemd-208/shell-completion/bash/systemd-run ++++ systemd-208/shell-completion/bash/systemd-run 2014-01-17 14:35:55.938236298 +0000 @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -210,7 +178,7 @@ Index: systemd/shell-completion/bash/systemd-run __systemctl() { local mode=$1; shift 1 systemctl $mode --full --no-legend "$@" -@@ -38,6 +45,11 @@ _systemd_run() { +@@ -31,6 +38,11 @@ _systemd_run() { local mode=--system local i @@ -222,19 +190,17 @@ Index: systemd/shell-completion/bash/systemd-run for (( i=1; i <= COMP_CWORD; i++ )); do if [[ ${COMP_WORDS[i]} != -* ]]; then local root_command=${COMP_WORDS[i]} -@@ -98,4 +110,4 @@ _systemd_run() { +@@ -60,4 +72,4 @@ _systemd_run() { return 0 } -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd/shell-completion/bash/timedatectl -=================================================================== ---- systemd.orig/shell-completion/bash/timedatectl -+++ systemd/shell-completion/bash/timedatectl +--- systemd-208/shell-completion/bash/timedatectl ++++ systemd-208/shell-completion/bash/timedatectl 2014-01-17 14:36:06.182735466 +0000 @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager - --no-ask-password -H --host --machine' + --no-ask-password -H --host' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -249,10 +215,8 @@ Index: systemd/shell-completion/bash/timedatectl -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd/shell-completion/bash/udevadm -=================================================================== ---- systemd.orig/shell-completion/bash/udevadm -+++ systemd/shell-completion/bash/udevadm +--- systemd-208/shell-completion/bash/udevadm ++++ systemd-208/shell-completion/bash/udevadm 2014-01-17 14:36:16.406236120 +0000 @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index b4bc2d07..58bb7b25 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -22,14 +22,14 @@ References: bnc#770910,FATE#317063 Signed-off-by: Robert Milasan Signed-off-by: Hannes Reinecke --- - src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- + src/udev/udev-builtin-path_id.c | 53 +++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) -Index: systemd-218/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-218.orig/src/udev/udev-builtin-path_id.c -+++ systemd-218/src/udev/udev-builtin-path_id.c -@@ -426,6 +426,46 @@ static struct udev_device *handle_scsi_h +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c +index 0599980..fbd3fda 100644 +--- a/src/udev/udev-builtin-path_id.c ++++ b/src/udev/udev-builtin-path_id.c +@@ -339,6 +339,46 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * return parent; } @@ -73,10 +73,10 @@ Index: systemd-218/src/udev/udev-builtin-path_id.c + return hostdev; +} + - static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { + static struct udev_device *handle_scsi(struct udev_device *parent, char **path) + { const char *devtype; - const char *name; -@@ -465,19 +505,8 @@ static struct udev_device *handle_scsi(s +@@ -375,19 +415,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) goto out; } @@ -97,3 +97,6 @@ Index: systemd-218/src/udev/udev-builtin-path_id.c goto out; } +-- +1.8.1.4 + diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch index eee1415f..93756c5a 100644 --- a/1003-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -4,19 +4,17 @@ Subject: udev netlink null rules udevd race for netlink events (bnc#774646) --- - src/udev/udevd.c | 2 ++ + src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) -Index: systemd-218/src/udev/udevd.c -=================================================================== ---- systemd-218.orig/src/udev/udevd.c -+++ systemd-218/src/udev/udevd.c -@@ -1468,6 +1468,8 @@ int main(int argc, char *argv[]) { +--- systemd-206.orig/src/udev/udevd.c ++++ systemd-206/src/udev/udevd.c +@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[]) dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); + if (rules == NULL) -+ rules = udev_rules_new(udev, arg_resolve_names); ++ rules = udev_rules_new(udev, resolve_names); if (event_queue_insert(dev) < 0) udev_device_unref(dev); } diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch index 85abb1f7..e70b5758 100644 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -4,16 +4,14 @@ Subject: create default links for primary cd_dvd drive cdrom_id: created links for the default cd/dvd drive (bnc#783054). --- - rules/60-cdrom_id.rules | 5 ++++- + rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -Index: systemd/rules/60-cdrom_id.rules -=================================================================== ---- systemd.orig/rules/60-cdrom_id.rules -+++ systemd/rules/60-cdrom_id.rules -@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ - # stale mounts after ejecting - ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" +--- systemd-206.orig/rules/60-cdrom_id.rules ++++ systemd-206/rules/60-cdrom_id.rules +@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr + # enable the receiving of media eject button events + IMPORT{program}="cdrom_id --lock-media $devnode" -KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" +KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index f838b9ac..eb98cc2f 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -9,17 +9,15 @@ Date: Tue, 4 Mar 2014 10:29:21 +0000 Port the patch of Robert to systemd v210 and test it out. --- - src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) + udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 38 insertions(+), 4 deletions(-) -Index: systemd-218/src/udev/udev-event.c -=================================================================== ---- systemd-218.orig/src/udev/udev-event.c -+++ systemd-218/src/udev/udev-event.c -@@ -767,20 +767,53 @@ out: - static int rename_netif(struct udev_event *event) { +--- systemd-210/src/udev/udev-event.c ++++ systemd-210/src/udev/udev-event.c 2014-03-27 13:19:06.727748307 +0000 +@@ -750,8 +750,9 @@ static int rename_netif(struct udev_even struct udev_device *dev = event->dev; + _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL; char name[IFNAMSIZ]; + char interim[IFNAMSIZ], *ptr = &interim[0]; const char *oldname; @@ -28,40 +26,43 @@ Index: systemd-218/src/udev/udev-event.c oldname = udev_device_get_sysname(dev); - strscpy(name, IFNAMSIZ, event->name); +@@ -765,12 +766,45 @@ static int rename_netif(struct udev_even + return r; - r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); + r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); - if (r < 0) + if (r == 0) { -+ log_info("renamed network interface %s to %s\n", oldname, name); ++ print_kmsg("renamed network interface %s to %s\n", oldname, name); + return r; + } else if (r != -EEXIST) { - return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name); -+ } - -- log_debug("renamed network interface '%s' to '%s'", oldname, name); + log_error("error changing net interface name %s to %s: %s", + oldname, name, strerror(-r)); +- else +- print_kmsg("renamed network interface %s to %s", oldname, name); ++ return r; ++ } ++ + /* free our own name, another process may wait for us */ + strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); - -- return 0; -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim); ++ ++ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim); + if (r < 0) { + log_error("error changing net interface name %s to %s: %s", + oldname, interim, strerror(-r)); + return r; + } -+ + + /* log temporary name */ -+ log_info("renamed network interface %s to %s\n", oldname, interim); ++ print_kmsg("renamed network interface %s to %s\n", oldname, interim); + + loop = 90 * 20; + while (loop--) { + const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; + nanosleep(&duration, NULL); + -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); ++ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { -+ log_info("renamed network interface %s to %s\n", interim, name); ++ print_kmsg("renamed network interface %s to %s\n", interim, name); + break; + } + @@ -71,7 +72,6 @@ Index: systemd-218/src/udev/udev-event.c + break; + } + } -+ return r; + return r; } - void udev_event_execute_rules(struct udev_event *event, diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch new file mode 100644 index 00000000..d0117371 --- /dev/null +++ b/1008-add-msft-compability-rules.patch @@ -0,0 +1,25 @@ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \ + rules/80-hotplug-cpu-mem.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/61-msft.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +--- /dev/null ++++ systemd-206/rules/61-msft.rules +@@ -0,0 +1,9 @@ ++# MSFT compability rules ++ACTION!="add|change", GOTO="msft_end" ++ ++ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" ++KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode" ++KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}" ++KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n" ++ ++LABEL="msft_end" diff --git a/1009-cdrom_id-use-the-old-MMC-fallback.patch b/1009-cdrom_id-use-the-old-MMC-fallback.patch new file mode 100644 index 00000000..ada9292f --- /dev/null +++ b/1009-cdrom_id-use-the-old-MMC-fallback.patch @@ -0,0 +1,54 @@ +From a14f14976094650e17d39f3a7d15a1c68c93c333 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Thu, 27 Feb 2014 11:06:37 +0100 +Subject: [PATCH] cdrom_id: use the old MMC fallback + +https://bugzilla.redhat.com/show_bug.cgi?id=1038015 +The problem seems to be that the your virtual DVD is emulating a really +old DVD device, and doing it kind of strangely. + +> dracut:# /lib/udev/cdrom_id --debug /dev/sr0 +> probing: '/dev/sr0' +> INQUIRY: [IMM ][Virtual CD/DVD ][0316] +> GET CONFIGURATION failed with SK=5h/ASC=24h/ACQ=00h + +So your virtual drive rejects the GET CONFIGURATION command as illegal. + +Other pre-MMC2 drives that don't accept this command usually return the +error +SK=5h,ASC=20h (invalid/unsupported command code), in which case cdrom_id +tries an older method, and then ID_CDROM_MEDIA_TRACK_COUNT_DATA gets set +and all the /dev/disk/by-label (etc) links get set up. + +The virtual drive returns the error SK=5h,ASC=24h (invalid field in +Command Descriptor Block), which cdrom_id doesn't handle, so it gives up +and the links never get made. + +The ideal solution would be to make the IMM to emulate a device that's +less than 15 years old, but I'm not going to hold my breath waiting for +that. + +So probably cdrom_id should also use the old MMC fallback when the error +is SK=5h,ASC=24h, and then all of this would work as expected. + +Suggested-by:Luca Miccini +--- + src/udev/cdrom_id/cdrom_id.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/cdrom_id/cdrom_id.c src/udev/cdrom_id/cdrom_id.c +index 93467c2..33b2bc3 100644 +--- a/src/udev/cdrom_id/cdrom_id.c ++++ b/src/udev/cdrom_id/cdrom_id.c +@@ -556,7 +556,7 @@ static int cd_profiles(struct udev *udev, int fd) + if ((err != 0)) { + info_scsi_cmd_err(udev, "GET CONFIGURATION", err); + /* handle pre-MMC2 drives which do not support GET CONFIGURATION */ +- if (SK(err) == 0x5 && ASC(err) == 0x20) { ++ if (SK(err) == 0x5 && (ASC(err) == 0x20 || ASC(err) == 0x24)) { + log_debug("drive is pre-MMC2 and does not support 46h get configuration command"); + log_debug("trying to work around the problem"); + ret = cd_profiles_old_mmc(udev, fd); +-- +1.7.9.2 + diff --git a/1010-udev-increase-result-size-for-programs.patch b/1010-udev-increase-result-size-for-programs.patch new file mode 100644 index 00000000..7eb2ea72 --- /dev/null +++ b/1010-udev-increase-result-size-for-programs.patch @@ -0,0 +1,13 @@ +Index: systemd-210/src/udev/udev-rules.c +=================================================================== +--- systemd-210.orig/src/udev/udev-rules.c ++++ systemd-210/src/udev/udev-rules.c +@@ -2027,7 +2027,7 @@ int udev_rules_apply_to_event(struct ude + case TK_M_PROGRAM: { + char program[UTIL_PATH_SIZE]; + char **envp; +- char result[UTIL_PATH_SIZE]; ++ char result[UTIL_LINE_SIZE]; + + free(event->program_result); + event->program_result = NULL; diff --git a/1014-udev-update-net_id-comments.patch b/1014-udev-update-net_id-comments.patch new file mode 100644 index 00000000..6b0b7f5a --- /dev/null +++ b/1014-udev-update-net_id-comments.patch @@ -0,0 +1,102 @@ +From d4b687c96adf207f0878aebf3ce3371f6160687f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 27 Mar 2014 15:30:09 +0100 +Subject: [PATCH] udev: update net_id comments + +Signed-off-by: Robert Milasan +--- + src/udev/udev-builtin-net_id.c | 31 +++++++++++++++---------------- + 1 file changed, 15 insertions(+), 16 deletions(-) + +diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c +index 4f2b2c1..9ac07de 100644 +--- a/src/udev/udev-builtin-net_id.c ++++ b/src/udev/udev-builtin-net_id.c +@@ -33,8 +33,11 @@ + * ww -- wwan + * + * Type of names: ++ * b -- BCMA bus core number ++ * ccw -- CCW bus group name + * o -- on-board device index number + * s[f][d] -- hotplug slot index number ++ * v -- virtio number + * x -- MAC address + * [P]ps[f][d] + * -- PCI geographical location +@@ -119,12 +122,9 @@ struct netnames { + const char *pci_onboard_label; + + char usb_ports[IFNAMSIZ]; +- + char bcma_core[IFNAMSIZ]; +- +- char virtio_core[IFNAMSIZ]; +- +- char ccw_core[IFNAMSIZ]; ++ char virtio[IFNAMSIZ]; ++ char ccw_group[IFNAMSIZ]; + }; + + /* retrieve on-board index number and label from firmware */ +@@ -353,18 +353,17 @@ static int names_bcma(struct udev_device *dev, struct netnames *names) { + + static int names_virtio(struct udev_device *dev, struct netnames *names) { + struct udev_device *virtdev; +- unsigned int core; ++ unsigned int num; + + virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); + if (!virtdev) + return -ENOENT; + +- /* core num */ +- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &core) != 1) ++ if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) + return -EINVAL; +- /* suppress the common core == 0 */ +- if (core > 0) +- snprintf(names->virtio_core, sizeof(names->virtio_core), "v%u", core); ++ /* suppress the common num == 0 */ ++ if (num > 0) ++ snprintf(names->virtio, sizeof(names->virtio), "v%u", num); + + names->type = NET_VIRTIO; + return 0; +@@ -402,8 +401,8 @@ static int names_ccw(struct udev_device *dev, struct netnames *names) { + return -EINVAL; + + /* Store the CCW bus-ID for use as network device name */ +- rc = snprintf(names->ccw_core, sizeof(names->ccw_core), "ccw%s", bus_id); +- if (rc >= 0 && rc < (int)sizeof(names->ccw_core)) ++ rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); ++ if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) + names->type = NET_CCWGROUP; + return 0; + } +@@ -517,7 +516,7 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool + if (err >= 0 && names.type == NET_CCWGROUP) { + char str[IFNAMSIZ]; + +- if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); + goto out; + } +@@ -585,11 +584,11 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool + char str[IFNAMSIZ]; + + if (names.pci_path[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); + + if (names.pci_slot[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio_core) < (int)sizeof(str)) ++ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) + udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); + goto out; + } +-- +1.8.4.5 + diff --git a/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch b/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch new file mode 100644 index 00000000..a5e9c58f --- /dev/null +++ b/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch @@ -0,0 +1,99 @@ +From bf81e792f3c0aed54edf004c1c95cc6f6d81d0ee Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 27 Mar 2014 21:47:14 +0100 +Subject: [PATCH] udev: persistent naming - we cannot use virtio numbers as + they are not stable + +This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and +commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. + +Distros may want to take note of this, as it changes behavior. + +Signed-off-by: Robert Milasan +--- + src/udev/udev-builtin-net_id.c | 36 ------------------------------------ + src/udev/udev-builtin-path_id.c | 3 --- + 2 files changed, 39 deletions(-) + +Index: systemd-210/src/udev/udev-builtin-net_id.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-net_id.c ++++ systemd-210/src/udev/udev-builtin-net_id.c +@@ -37,7 +37,6 @@ + * ccw -- CCW bus group name + * o -- on-board device index number + * s[f][d] -- hotplug slot index number +- * v -- virtio number + * x -- MAC address + * [P]ps[f][d] + * -- PCI geographical location +@@ -123,7 +122,6 @@ struct netnames { + + char usb_ports[IFNAMSIZ]; + char bcma_core[IFNAMSIZ]; +- char virtio[IFNAMSIZ]; + char ccw_group[IFNAMSIZ]; + }; + +@@ -351,24 +349,6 @@ static int names_bcma(struct udev_device + return 0; + } + +-static int names_virtio(struct udev_device *dev, struct netnames *names) { +- struct udev_device *virtdev; +- unsigned int num; +- +- virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); +- if (!virtdev) +- return -ENOENT; +- +- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) +- return -EINVAL; +- /* suppress the common num == 0 */ +- if (num > 0) +- snprintf(names->virtio, sizeof(names->virtio), "v%u", num); +- +- names->type = NET_VIRTIO; +- return 0; +-} +- + static int names_ccw(struct udev_device *dev, struct netnames *names) { + struct udev_device *cdev; + const char *bus_id; +@@ -577,22 +557,6 @@ static int builtin_net_id(struct udev_de + udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); + goto out; + } +- +- /* virtio bus */ +- err = names_virtio(dev, &names); +- if (err >= 0 && names.type == NET_VIRTIO) { +- char str[IFNAMSIZ]; +- +- if (names.pci_path[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) +- udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); +- +- if (names.pci_slot[0]) +- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) +- udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); +- goto out; +- } +- + out: + return EXIT_SUCCESS; + } +Index: systemd-210/src/udev/udev-builtin-path_id.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-path_id.c ++++ systemd-210/src/udev/udev-builtin-path_id.c +@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d + } else if (streq(subsys, "xen")) { + path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "xen"); +- } else if (streq(subsys, "virtio")) { +- path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); +- parent = skip_subsystem(parent, "virtio"); + } else if (streq(subsys, "scm")) { + path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "scm"); diff --git a/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch b/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch new file mode 100644 index 00000000..fcf5f374 --- /dev/null +++ b/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch @@ -0,0 +1,30 @@ +Based on e6c474723dc66cd4765fd09453d6b48bd5905ba4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 20 Apr 2014 13:57:26 -0400 +Subject: [PATCH] udev: warn when name_to_handle_at is not implemented + +We have a bunch of reports from people who have a custom kernel and +are confused why udev is not running. Issue a warning on +error. Barring an error in the code, the only error that is possible +is ENOSYS. + +https://bugzilla.redhat.com/show_bug.cgi?id=1072966 +--- + src/libudev/libudev-monitor.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- src/libudev/libudev-monitor.c ++++ src/libudev/libudev-monitor.c 2014-05-12 00:00:00.000000000 +0000 +@@ -115,8 +115,11 @@ static bool udev_has_devtmpfs(struct ude + int r; + + r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); +- if (r < 0) ++ if (r < 0) { ++ if (errno != EOPNOTSUPP) ++ udev_err(udev, "name_to_handle_at on /dev: %m\n"); + return false; ++ } + + + f = fopen("/proc/self/mountinfo", "re"); diff --git a/1017-udev-serialize-synchronize-block-device-event-handli.patch b/1017-udev-serialize-synchronize-block-device-event-handli.patch new file mode 100644 index 00000000..559c0bc3 --- /dev/null +++ b/1017-udev-serialize-synchronize-block-device-event-handli.patch @@ -0,0 +1,83 @@ +From 3ebdb81ef088afd3b4c72b516beb5610f8c93a0d Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sun, 13 Apr 2014 19:54:27 -0700 +Subject: [PATCH] udev: serialize/synchronize block device event handling with + file locks + +--- + src/udev/udevd.c | 33 +++++++++++++++++++++++++++++++-- + 1 file changed, 31 insertions(+), 2 deletions(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index f9ee368..aecd208 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -265,6 +266,7 @@ static void worker_new(struct event *event) + for (;;) { + struct udev_event *udev_event; + struct worker_message msg; ++ int fd_lock = -1; + int err; + + log_debug("seq %llu running", udev_device_get_seqnum(dev)); +@@ -280,6 +282,30 @@ static void worker_new(struct event *event) + if (exec_delay > 0) + udev_event->exec_delay = exec_delay; + ++ /* ++ * Take a "read lock" on the device node; this establishes ++ * a concept of device "ownership" to serialize device ++ * access. External processes holding a "write lock" will ++ * cause udev to skip the event handling; in the case udev ++ * acquired the lock, the external process will block until ++ * udev has finished its event handling. ++ */ ++ if (streq_ptr("block", udev_device_get_subsystem(dev))) { ++ struct udev_device *d = dev; ++ ++ if (streq_ptr("partition", udev_device_get_devtype(d))) ++ d = udev_device_get_parent(d); ++ ++ if (d) { ++ fd_lock = open(udev_device_get_devnode(d), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { ++ log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); ++ err = -EWOULDBLOCK; ++ goto skip; ++ } ++ } ++ } ++ + /* apply rules, create node, symlinks */ + err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +@@ -292,13 +318,16 @@ static void worker_new(struct event *event) + udev_device_update_db(dev); + } + ++ if (fd_lock >= 0) ++ close(fd_lock); ++ + /* send processed event back to libudev listeners */ + udev_monitor_send_device(worker_monitor, NULL, dev); + ++skip: + /* send udevd the result of the event execution */ + memzero(&msg, sizeof(struct worker_message)); +- if (err != 0) +- msg.exitcode = err; ++ msg.exitcode = err; + msg.pid = getpid(); + send(worker_watch[WRITE_END], &msg, sizeof(struct worker_message), 0); + +-- +1.7.9.2 + diff --git a/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch b/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch new file mode 100644 index 00000000..e3bd7286 --- /dev/null +++ b/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch @@ -0,0 +1,140 @@ +From 1ea972174baba40dbc80c51cbfc4edc49764b59b Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 14 May 2014 00:34:49 +0200 +Subject: [PATCH] udev: do not skip the execution of RUN when renaming a + network device fails + +--- + src/test/test-udev.c | 5 ++--- + src/udev/udev-event.c | 11 +++++------ + src/udev/udev.h | 2 +- + src/udev/udevadm-test.c | 13 +++++-------- + src/udev/udevd.c | 5 ++--- + 5 files changed, 15 insertions(+), 21 deletions(-) + +diff --git src/test/test-udev.c src/test/test-udev.c +index b064744..b057cc8 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) { + } + } + +- err = udev_event_execute_rules(event, rules, &sigmask_orig); +- if (err == 0) +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_run(event, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 2cab42b..5213a4a 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -776,13 +776,12 @@ static int rename_netif(struct udev_event *event) + return r; + } + +-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) ++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) + { + struct udev_device *dev = event->dev; +- int err = 0; + + if (udev_device_get_subsystem(dev) == NULL) +- return -1; ++ return; + + if (streq(udev_device_get_action(dev), "remove")) { + udev_device_read_db(dev, NULL); +@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, + event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) { + char syspath[UTIL_PATH_SIZE]; + char *pos; ++ int r; + +- err = rename_netif(event); +- if (err == 0) { ++ r = rename_netif(event); ++ if (r >= 0) { + log_debug("renamed netif to '%s'", event->name); + + /* remember old name */ +@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, + udev_device_unref(event->dev_db); + event->dev_db = NULL; + } +- return err; + } + + void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +diff --git src/udev/udev.h src/udev/udev.h +index 936adfb..62538bc 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + int udev_event_spawn(struct udev_event *event, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); + void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 6cd311b..6a2f548 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + _cleanup_udev_device_unref_ struct udev_device *dev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; + sigset_t mask, sigmask_orig; +- int err; + int rc = 0, c; + + static const struct option options[] = { +@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- err = udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); + +- if (err == 0) { +- udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { +- char program[UTIL_PATH_SIZE]; ++ udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { ++ char program[UTIL_PATH_SIZE]; + +- udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); +- printf("run: '%s'\n", program); +- } ++ udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); ++ printf("run: '%s'\n", program); + } + out: + if (event != NULL && event->fd_signal >= 0) +diff --git src/udev/udevd.c src/udev/udevd.c +index aecd208..bc0696c 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -307,10 +307,9 @@ static void worker_new(struct event *event) + } + + /* apply rules, create node, symlinks */ +- err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +- if (err == 0) +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, &sigmask_orig); + + /* apply/restore inotify watch */ + if (err == 0 && udev_event->inotify_watch) { +-- +1.7.9.2 + diff --git a/1019-udev-avoid-use-of-uninitialized-err.patch b/1019-udev-avoid-use-of-uninitialized-err.patch new file mode 100644 index 00000000..c520436e --- /dev/null +++ b/1019-udev-avoid-use-of-uninitialized-err.patch @@ -0,0 +1,37 @@ +From bf9bead187802a52a1f376a03caee762d663e945 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Fri, 16 May 2014 23:46:48 +0200 +Subject: [PATCH] udev: avoid use of uninitialized err + +After 1ea972174baba40dbc80c51cbfc4edc49764b59b err is no longer +set unless we hit a special case. Initialize it to 0 and remove +a check that will never fail. +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index bc0696c..1c9488e 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -267,7 +267,7 @@ static void worker_new(struct event *event) + struct udev_event *udev_event; + struct worker_message msg; + int fd_lock = -1; +- int err; ++ int err = 0; + + log_debug("seq %llu running", udev_device_get_seqnum(dev)); + udev_event = udev_event_new(dev); +@@ -312,7 +312,7 @@ static void worker_new(struct event *event) + udev_event_execute_run(udev_event, &sigmask_orig); + + /* apply/restore inotify watch */ +- if (err == 0 && udev_event->inotify_watch) { ++ if (udev_event->inotify_watch) { + udev_watch_begin(udev, dev); + udev_device_update_db(dev); + } +-- +1.7.9.2 + diff --git a/1020-udev-keyboard-also-hook-into-change-events.patch b/1020-udev-keyboard-also-hook-into-change-events.patch new file mode 100644 index 00000000..0d285973 --- /dev/null +++ b/1020-udev-keyboard-also-hook-into-change-events.patch @@ -0,0 +1,27 @@ +From 49804365ea1242456c9763058a59cf68479e07ea Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 26 May 2014 09:30:21 +0800 +Subject: [PATCH] udev: keyboard - also hook into "change" events + +Re-apply the keymaps when "udevadm trigger" is called. Hooking into +"add" only would just remove all keymap content from the udev database +instead of applying the new config. +--- + rules/60-keyboard.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git rules/60-keyboard.rules rules/60-keyboard.rules +index 4e0f366..22f71e7 100644 +--- rules/60-keyboard.rules ++++ rules/60-keyboard.rules +@@ -1,6 +1,6 @@ + # do not edit this file, it will be overwritten on update + +-ACTION!="add", GOTO="keyboard_end" ++ACTION=="remove", GOTO="keyboard_end" + KERNEL!="event*", GOTO="keyboard_end" + ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end" + +-- +1.7.9.2 + diff --git a/1021-udev-re-add-persistent-net-rules.patch b/1021-udev-re-add-persistent-net-rules.patch index 5d21f1fe..e8cd290c 100644 --- a/1021-udev-re-add-persistent-net-rules.patch +++ b/1021-udev-re-add-persistent-net-rules.patch @@ -1,73 +1,7 @@ ---- - Makefile.am | 9 - src/udev/net/link-config.c | 17 + - src/udev/rule_generator/75-persistent-net-generator.rules | 105 ++++++++++ - src/udev/rule_generator/76-net-sriov-names.rules | 18 + - src/udev/rule_generator/net-set-sriov-names | 79 +++++++ - src/udev/rule_generator/rule_generator.functions | 113 +++++++++++ - src/udev/rule_generator/write_net_rules | 141 ++++++++++++++ - 7 files changed, 479 insertions(+), 3 deletions(-) - -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -3416,7 +3416,14 @@ dist_udevrules_DATA += \ - rules/75-tty-description.rules \ - rules/78-sound-card.rules \ - rules/80-net-setup-link.rules \ -- rules/95-udev-late.rules -+ rules/95-udev-late.rules \ -+ src/udev/rule_generator/75-persistent-net-generator.rules \ -+ src/udev/rule_generator/76-net-sriov-names.rules -+ -+udevlibexec_PROGRAMS += \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules \ -+ src/udev/rule_generator/net-set-sriov-names - - nodist_udevrules_DATA += \ - rules/99-systemd.rules -Index: systemd-218/src/udev/net/link-config.c -=================================================================== ---- systemd-218.orig/src/udev/net/link-config.c -+++ systemd-218/src/udev/net/link-config.c -@@ -176,16 +176,29 @@ static bool enable_name_policy(void) { - size_t l; - - r = proc_cmdline(&line); -- if (r < 0) { -+ if (r < 0) - log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m"); -+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) -+# warning Using persistent rules as a default -+ if (r <= 0) -+ return false; -+ -+ FOREACH_WORD_QUOTED(w, l, line, state) -+ if (strneq(w, "net.ifnames=1", l)) -+ return true; -+ -+ return false; -+#else -+# warning Using predictable rules as a default -+ if (r <= 0) - return true; -- } - - FOREACH_WORD_QUOTED(word, l, line, state) - if (strneq(word, "net.ifnames=0", l)) - return false; - - return true; -+#endif - } - - int link_config_load(link_config_ctx *ctx) { -Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules +Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules =================================================================== --- /dev/null -+++ systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules ++++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules @@ -0,0 +1,105 @@ +# do not edit this file, it will be overwritten on update + @@ -174,117 +108,10 @@ Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules +ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" + +LABEL="persistent_net_generator_end" -Index: systemd-218/src/udev/rule_generator/76-net-sriov-names.rules +Index: systemd-210/src/udev/rule_generator/rule_generator.functions =================================================================== --- /dev/null -+++ systemd-218/src/udev/rule_generator/76-net-sriov-names.rules -@@ -0,0 +1,18 @@ -+# do not edit this file, it will be overwritten on update -+# -+# rename SRIOV virtual function interfaces -+ -+ACTION=="remove", GOTO="net-sriov-names_end" -+SUBSYSTEM!="net", GOTO="net-sriov-names_end" -+ -+IMPORT{cmdline}="net.ifnames" -+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" -+ -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" -+ -+# rename interface if needed -+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" -+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" -+ -+LABEL="net-sriov-names_end" -Index: systemd-218/src/udev/rule_generator/net-set-sriov-names -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/net-set-sriov-names -@@ -0,0 +1,79 @@ -+#!/bin/bash -e -+# -+# This script is run to rename virtual interfaces -+# -+ -+if [ -n "$UDEV_LOG" ]; then -+ if [ "$UDEV_LOG" -ge 7 ]; then -+ set -x -+ fi -+fi -+ -+# according to dev_new_index(), ifindex is within [1, INT_MAX] -+int_max=$(/usr/bin/getconf INT_MAX) -+ifindex_before() { -+ a=$1 -+ b=$2 -+ -+ ((0 < (b - a) && (b - a) < int_max / 2 || -+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) -+} -+ -+rename_interface() { -+ local src_net=$1 -+ local dest_net=$2 -+ local err=0 -+ -+ /sbin/ip link set dev $src_net down -+ /sbin/ip link set dev $src_net name $dest_net -+} -+ -+if [ -z "$INTERFACE" ]; then -+ echo "missing \$INTERFACE" >&2 -+ exit 1 -+fi -+ -+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then -+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") -+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then -+ echo "too many pf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$INTERFACE/ifindex" -+ read pfindex < "/sys/class/net/$pf/ifindex" -+ if ifindex_before $pfindex $vfindex; then -+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) -+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do -+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ echo "INTERFACE_NEW=$pf.vf$vfnum" -+ exit 0 -+ fi -+ done -+ fi -+fi -+ -+read pfindex < "/sys/class/net/$INTERFACE/ifindex" -+shopt -s nullglob -+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do -+ vf=$(ls -1 "$virtfn/net") -+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then -+ echo "too many vf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$vf/ifindex" -+ if ifindex_before $vfindex $pfindex; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ if [ "$INTERFACE_NEW" ]; then -+ new_name=$INTERFACE_NEW -+ else -+ new_name=$INTERFACE -+ fi -+ new_name="$new_name.vf$vfnum" -+ if [ "$vf" != "$new_name" ]; then -+ rename_interface "$vf" "$new_name" -+ fi -+ fi -+done -Index: systemd-218/src/udev/rule_generator/rule_generator.functions -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/rule_generator.functions ++++ systemd-210/src/udev/rule_generator/rule_generator.functions @@ -0,0 +1,113 @@ +# functions used by the udev rule generator + @@ -399,10 +226,10 @@ Index: systemd-218/src/udev/rule_generator/rule_generator.functions + $([ -e $RULES_FILE ] && echo $RULES_FILE) \ + 2>/dev/null) +} -Index: systemd-218/src/udev/rule_generator/write_net_rules +Index: systemd-210/src/udev/rule_generator/write_net_rules =================================================================== --- /dev/null -+++ systemd-218/src/udev/rule_generator/write_net_rules ++++ systemd-210/src/udev/rule_generator/write_net_rules @@ -0,0 +1,141 @@ +#!/bin/sh -e + @@ -545,3 +372,161 @@ Index: systemd-218/src/udev/rule_generator/write_net_rules +unlock_rules_file + +exit 0 +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2552,7 +2552,14 @@ dist_udevrules_DATA += \ + rules/75-tty-description.rules \ + rules/78-sound-card.rules \ + rules/80-net-setup-link.rules \ +- rules/95-udev-late.rules ++ rules/95-udev-late.rules \ ++ src/udev/rule_generator/75-persistent-net-generator.rules \ ++ src/udev/rule_generator/76-net-sriov-names.rules ++ ++udevlibexec_PROGRAMS += \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules \ ++ src/udev/rule_generator/net-set-sriov-names + + dist_udevhwdb_DATA = \ + hwdb/20-pci-vendor-model.hwdb \ +Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules +@@ -0,0 +1,18 @@ ++# do not edit this file, it will be overwritten on update ++# ++# rename SRIOV virtual function interfaces ++ ++ACTION=="remove", GOTO="net-sriov-names_end" ++SUBSYSTEM!="net", GOTO="net-sriov-names_end" ++ ++IMPORT{cmdline}="net.ifnames" ++ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" ++ ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" ++ ++# rename interface if needed ++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" ++ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" ++ ++LABEL="net-sriov-names_end" +Index: systemd-210/src/udev/rule_generator/net-set-sriov-names +=================================================================== +--- /dev/null ++++ systemd-210/src/udev/rule_generator/net-set-sriov-names +@@ -0,0 +1,79 @@ ++#!/bin/bash -e ++# ++# This script is run to rename virtual interfaces ++# ++ ++if [ -n "$UDEV_LOG" ]; then ++ if [ "$UDEV_LOG" -ge 7 ]; then ++ set -x ++ fi ++fi ++ ++# according to dev_new_index(), ifindex is within [1, INT_MAX] ++int_max=$(/usr/bin/getconf INT_MAX) ++ifindex_before() { ++ a=$1 ++ b=$2 ++ ++ ((0 < (b - a) && (b - a) < int_max / 2 || ++ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) ++} ++ ++rename_interface() { ++ local src_net=$1 ++ local dest_net=$2 ++ local err=0 ++ ++ /sbin/ip link set dev $src_net down ++ /sbin/ip link set dev $src_net name $dest_net ++} ++ ++if [ -z "$INTERFACE" ]; then ++ echo "missing \$INTERFACE" >&2 ++ exit 1 ++fi ++ ++if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then ++ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") ++ if [ $(echo "$pf" | wc -l) -ne 1 ]; then ++ echo "too many pf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$INTERFACE/ifindex" ++ read pfindex < "/sys/class/net/$pf/ifindex" ++ if ifindex_before $pfindex $vfindex; then ++ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) ++ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do ++ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ echo "INTERFACE_NEW=$pf.vf$vfnum" ++ exit 0 ++ fi ++ done ++ fi ++fi ++ ++read pfindex < "/sys/class/net/$INTERFACE/ifindex" ++shopt -s nullglob ++for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do ++ vf=$(ls -1 "$virtfn/net") ++ if [ $(echo "$vf" | wc -l) -ne 1 ]; then ++ echo "too many vf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$vf/ifindex" ++ if ifindex_before $vfindex $pfindex; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ if [ "$INTERFACE_NEW" ]; then ++ new_name=$INTERFACE_NEW ++ else ++ new_name=$INTERFACE ++ fi ++ new_name="$new_name.vf$vfnum" ++ if [ "$vf" != "$new_name" ]; then ++ rename_interface "$vf" "$new_name" ++ fi ++ fi ++done +Index: systemd-210/src/udev/net/link-config.c +=================================================================== +--- systemd-210.orig/src/udev/net/link-config.c ++++ systemd-210/src/udev/net/link-config.c +@@ -193,6 +193,18 @@ static bool enable_name_policy(void) { + r = proc_cmdline(&line); + if (r < 0) + log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); ++#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) ++# warning Using persistent rules as a default ++ if (r <= 0) ++ return false; ++ ++ FOREACH_WORD_QUOTED(w, l, line, state) ++ if (strneq(w, "net.ifnames=1", l)) ++ return true; ++ ++ return false; ++#else ++# warning Using predictable rules as a default + if (r <= 0) + return true; + +@@ -201,6 +213,7 @@ static bool enable_name_policy(void) { + return false; + + return true; ++#endif + } + + int link_config_load(link_config_ctx *ctx) { diff --git a/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch b/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch new file mode 100644 index 00000000..39e385c0 --- /dev/null +++ b/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch @@ -0,0 +1,1445 @@ +From 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 12 Apr 2014 22:35:50 -0700 +Subject: [PATCH] udev: remove seqnum API and all assumptions about seqnums + +The way the kernel namespaces have been implemented breaks assumptions +udev made regarding uevent sequence numbers. Creating devices in a +namespace "steals" uevents and its sequence numbers from the host. It +confuses the "udevadmin settle" logic, which might block until util a +timeout is reached, even when no uevent is pending. + +Remove any assumptions about sequence numbers and deprecate libudev's +API exposing these numbers; none of that can reliably be used anymore +when namespaces are involved. +--- + Makefile.am | 6 +- + man/udevadm.xml | 22 -- + src/libudev/libudev-monitor.c | 17 +- + src/libudev/libudev-queue-private.c | 406 ----------------------------------- + src/libudev/libudev-queue.c | 302 ++------------------------ + src/libudev/libudev.h | 10 +- + src/shared/udev-util.h | 2 - + src/test/test-libudev.c | 24 --- + src/udev/udev-ctrl.c | 2 +- + src/udev/udevadm-settle.c | 131 ++--------- + src/udev/udevd.c | 59 +++-- + 11 files changed, 84 insertions(+), 897 deletions(-) + delete mode 100644 src/libudev/libudev-queue-private.c + +diff --git Makefile.am Makefile.am +index 5d84605..0ad1729 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2587,8 +2587,7 @@ noinst_LTLIBRARIES += \ + + libudev_internal_la_SOURCES =\ + $(libudev_la_SOURCES) \ +- src/libudev/libudev-device-private.c \ +- src/libudev/libudev-queue-private.c ++ src/libudev/libudev-device-private.c + + libudev_internal_la_CFLAGS = \ + $(AM_CFLAGS) \ +@@ -5169,6 +5168,9 @@ test_libsystemd_sym_LDADD = \ + + test_libudev_sym_SOURCES = \ + test-libudev-sym.c ++test_libudev_sym_CFLAGS = \ ++ $(AM_CFLAGS) \ ++ -Wno-deprecated-declarations + test_libudev_sym_LDADD = \ + libudev.la + +diff --git man/udevadm.xml man/udevadm.xml +index 21d1443..fbfa85a 100644 +--- a/man/udevadm.xml ++++ b/man/udevadm.xml +@@ -339,21 +339,6 @@ + + + +- +- +- +- Wait only for events after the given sequence +- number. +- +- +- +- +- +- +- Wait only for events before the given sequence number. +- +- +- + + + +@@ -361,13 +346,6 @@ + + + +- +- +- +- Do not print any output, like the remaining queue entries when reaching the timeout. +- +- +- + + + +diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c +index ba1b04d..3f7436b 100644 +--- a/src/libudev/libudev-monitor.c ++++ b/src/libudev/libudev-monitor.c +@@ -146,21 +146,6 @@ static bool udev_has_devtmpfs(struct udev *udev) { + return false; + } + +-/* we consider udev running when we have running udev service */ +-static bool udev_has_service(struct udev *udev) { +- struct udev_queue *queue; +- bool active; +- +- queue = udev_queue_new(udev); +- if (!queue) +- return false; +- +- active = udev_queue_get_udev_is_active(queue); +- udev_queue_unref(queue); +- +- return active; +-} +- + struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) + { + struct udev_monitor *udev_monitor; +@@ -184,7 +169,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c + * We do not set a netlink multicast group here, so the socket + * will not receive any messages. + */ +- if (!udev_has_service(udev) && !udev_has_devtmpfs(udev)) { ++ if (access("/run/udev/control", F_OK) < 0 && !udev_has_devtmpfs(udev)) { + udev_dbg(udev, "the udev service seems not to be active, disable the monitor\n"); + group = UDEV_MONITOR_NONE; + } else +diff --git src/libudev/libudev-queue-private.c src/libudev/libudev-queue-private.c +deleted file mode 100644 +index d5a2b50..0000000 +--- a/src/libudev/libudev-queue-private.c ++++ /dev/null +@@ -1,406 +0,0 @@ +-/*** +- This file is part of systemd. +- +- Copyright 2008-2012 Kay Sievers +- Copyright 2009 Alan Jenkins +- +- systemd is free software; you can redistribute it and/or modify it +- under the terms of the GNU Lesser General Public License as published by +- the Free Software Foundation; either version 2.1 of the License, or +- (at your option) any later version. +- +- systemd is distributed in the hope that it will be useful, but +- WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public License +- along with systemd; If not, see . +-***/ +- +-/* +- * DISCLAIMER - The file format mentioned here is private to udev/libudev, +- * and may be changed without notice. +- * +- * The udev event queue is exported as a binary log file. +- * Each log record consists of a sequence number followed by the device path. +- * +- * When a new event is queued, its details are appended to the log. +- * When the event finishes, a second record is appended to the log +- * with the same sequence number but a devpath len of 0. +- * +- * Example: +- * { 0x0000000000000001 } +- * { 0x0000000000000001, 0x0019, "/devices/virtual/mem/null" }, +- * { 0x0000000000000002, 0x001b, "/devices/virtual/mem/random" }, +- * { 0x0000000000000001, 0x0000 }, +- * { 0x0000000000000003, 0x0019, "/devices/virtual/mem/zero" }, +- * +- * Events 2 and 3 are still queued, but event 1 has finished. +- * +- * The queue does not grow indefinitely. It is periodically re-created +- * to remove finished events. Atomic rename() makes this transparent to readers. +- * +- * The queue file starts with a single sequence number which specifies the +- * minimum sequence number in the log that follows. Any events prior to this +- * sequence number have already finished. +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "libudev.h" +-#include "libudev-private.h" +- +-static int rebuild_queue_file(struct udev_queue_export *udev_queue_export); +- +-struct udev_queue_export { +- struct udev *udev; +- int queued_count; /* number of unfinished events exported in queue file */ +- FILE *queue_file; +- unsigned long long int seqnum_max; /* earliest sequence number in queue file */ +- unsigned long long int seqnum_min; /* latest sequence number in queue file */ +- int waste_bytes; /* queue file bytes wasted on finished events */ +-}; +- +-struct udev_queue_export *udev_queue_export_new(struct udev *udev) +-{ +- struct udev_queue_export *udev_queue_export; +- unsigned long long int initial_seqnum; +- +- if (udev == NULL) +- return NULL; +- +- udev_queue_export = new0(struct udev_queue_export, 1); +- if (udev_queue_export == NULL) +- return NULL; +- udev_queue_export->udev = udev; +- +- initial_seqnum = udev_get_kernel_seqnum(udev); +- udev_queue_export->seqnum_min = initial_seqnum; +- udev_queue_export->seqnum_max = initial_seqnum; +- +- udev_queue_export_cleanup(udev_queue_export); +- if (rebuild_queue_file(udev_queue_export) != 0) { +- free(udev_queue_export); +- return NULL; +- } +- +- return udev_queue_export; +-} +- +-struct udev_queue_export *udev_queue_export_unref(struct udev_queue_export *udev_queue_export) +-{ +- if (udev_queue_export == NULL) +- return NULL; +- if (udev_queue_export->queue_file != NULL) +- fclose(udev_queue_export->queue_file); +- free(udev_queue_export); +- return NULL; +-} +- +-void udev_queue_export_cleanup(struct udev_queue_export *udev_queue_export) +-{ +- if (udev_queue_export == NULL) +- return; +- unlink("/run/udev/queue.tmp"); +- unlink("/run/udev/queue.bin"); +-} +- +-static int skip_to(FILE *file, long offset) +-{ +- long old_offset; +- +- /* fseek may drop buffered data, avoid it for small seeks */ +- old_offset = ftell(file); +- if (offset > old_offset && offset - old_offset <= BUFSIZ) { +- size_t skip_bytes = offset - old_offset; +- char *buf = alloca(skip_bytes); +- +- if (fread(buf, skip_bytes, 1, file) != skip_bytes) +- return -1; +- } +- +- return fseek(file, offset, SEEK_SET); +-} +- +-struct queue_devpaths { +- unsigned int devpaths_first; /* index of first queued event */ +- unsigned int devpaths_size; +- long devpaths[]; /* seqnum -> offset of devpath in queue file (or 0) */ +-}; +- +-/* +- * Returns a table mapping seqnum to devpath file offset for currently queued events. +- * devpaths[i] represents the event with seqnum = i + udev_queue_export->seqnum_min. +- */ +-static struct queue_devpaths *build_index(struct udev_queue_export *udev_queue_export) +-{ +- struct queue_devpaths *devpaths; +- unsigned long long int range; +- long devpath_offset; +- ssize_t devpath_len; +- unsigned long long int seqnum; +- unsigned long long int n; +- unsigned int i; +- +- /* seek to the first event in the file */ +- rewind(udev_queue_export->queue_file); +- udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum); +- +- /* allocate the table */ +- range = udev_queue_export->seqnum_min - udev_queue_export->seqnum_max; +- if (range - 1 > INT_MAX) { +- udev_err(udev_queue_export->udev, "queue file overflow\n"); +- return NULL; +- } +- devpaths = malloc0(sizeof(struct queue_devpaths) + (range + 1) * sizeof(long)); +- if (devpaths == NULL) +- return NULL; +- devpaths->devpaths_size = range + 1; +- +- /* read all records and populate the table */ +- for (;;) { +- if (udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum) < 0) +- break; +- n = seqnum - udev_queue_export->seqnum_max; +- if (n >= devpaths->devpaths_size) +- goto read_error; +- +- devpath_offset = ftell(udev_queue_export->queue_file); +- devpath_len = udev_queue_skip_devpath(udev_queue_export->queue_file); +- if (devpath_len < 0) +- goto read_error; +- +- if (devpath_len > 0) +- devpaths->devpaths[n] = devpath_offset; +- else +- devpaths->devpaths[n] = 0; +- } +- +- /* find first queued event */ +- for (i = 0; i < devpaths->devpaths_size; i++) { +- if (devpaths->devpaths[i] != 0) +- break; +- } +- devpaths->devpaths_first = i; +- +- return devpaths; +- +-read_error: +- udev_err(udev_queue_export->udev, "queue file corrupted\n"); +- free(devpaths); +- return NULL; +-} +- +-static int rebuild_queue_file(struct udev_queue_export *udev_queue_export) +-{ +- unsigned long long int seqnum; +- struct queue_devpaths *devpaths = NULL; +- FILE *new_queue_file = NULL; +- unsigned int i; +- +- /* read old queue file */ +- if (udev_queue_export->queue_file != NULL) { +- devpaths = build_index(udev_queue_export); +- if (devpaths != NULL) +- udev_queue_export->seqnum_max += devpaths->devpaths_first; +- } +- if (devpaths == NULL) { +- udev_queue_export->queued_count = 0; +- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; +- } +- +- /* create new queue file */ +- new_queue_file = fopen("/run/udev/queue.tmp", "w+e"); +- if (new_queue_file == NULL) +- goto error; +- seqnum = udev_queue_export->seqnum_max; +- fwrite(&seqnum, 1, sizeof(unsigned long long int), new_queue_file); +- +- /* copy unfinished events only to the new file */ +- if (devpaths != NULL) { +- for (i = devpaths->devpaths_first; i < devpaths->devpaths_size; i++) { +- char devpath[UTIL_PATH_SIZE]; +- int err; +- unsigned short devpath_len; +- +- if (devpaths->devpaths[i] != 0) +- { +- skip_to(udev_queue_export->queue_file, devpaths->devpaths[i]); +- err = udev_queue_read_devpath(udev_queue_export->queue_file, devpath, sizeof(devpath)); +- devpath_len = err; +- +- fwrite(&seqnum, sizeof(unsigned long long int), 1, new_queue_file); +- fwrite(&devpath_len, sizeof(unsigned short), 1, new_queue_file); +- fwrite(devpath, 1, devpath_len, new_queue_file); +- } +- seqnum++; +- } +- free(devpaths); +- devpaths = NULL; +- } +- fflush(new_queue_file); +- if (ferror(new_queue_file)) +- goto error; +- +- /* rename the new file on top of the old one */ +- if (rename("/run/udev/queue.tmp", "/run/udev/queue.bin") != 0) +- goto error; +- +- if (udev_queue_export->queue_file != NULL) +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = new_queue_file; +- udev_queue_export->waste_bytes = 0; +- +- return 0; +- +-error: +- udev_err(udev_queue_export->udev, "failed to create queue file: %m\n"); +- udev_queue_export_cleanup(udev_queue_export); +- +- if (udev_queue_export->queue_file != NULL) { +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = NULL; +- } +- if (new_queue_file != NULL) +- fclose(new_queue_file); +- +- if (devpaths != NULL) +- free(devpaths); +- udev_queue_export->queued_count = 0; +- udev_queue_export->waste_bytes = 0; +- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; +- +- return -1; +-} +- +-static int write_queue_record(struct udev_queue_export *udev_queue_export, +- unsigned long long int seqnum, const char *devpath, size_t devpath_len) +-{ +- unsigned short len; +- +- if (udev_queue_export->queue_file == NULL) +- return -1; +- +- if (fwrite(&seqnum, sizeof(unsigned long long int), 1, udev_queue_export->queue_file) != 1) +- goto write_error; +- +- len = (devpath_len < USHRT_MAX) ? devpath_len : USHRT_MAX; +- if (fwrite(&len, sizeof(unsigned short), 1, udev_queue_export->queue_file) != 1) +- goto write_error; +- if (len > 0) { +- if (fwrite(devpath, 1, len, udev_queue_export->queue_file) != len) +- goto write_error; +- } +- +- /* *must* flush output; caller may fork */ +- if (fflush(udev_queue_export->queue_file) != 0) +- goto write_error; +- +- return 0; +- +-write_error: +- /* if we failed half way through writing a record to a file, +- we should not try to write any further records to it. */ +- udev_err(udev_queue_export->udev, "error writing to queue file: %m\n"); +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = NULL; +- +- return -1; +-} +- +-enum device_state { +- DEVICE_QUEUED, +- DEVICE_FINISHED, +-}; +- +-static inline size_t queue_record_size(size_t devpath_len) +-{ +- return sizeof(unsigned long long int) + sizeof(unsigned short int) + devpath_len; +-} +- +-static int update_queue(struct udev_queue_export *udev_queue_export, +- struct udev_device *udev_device, enum device_state state) +-{ +- unsigned long long int seqnum = udev_device_get_seqnum(udev_device); +- const char *devpath = NULL; +- size_t devpath_len = 0; +- int bytes; +- int err; +- +- /* FINISHED records have a zero length devpath */ +- if (state == DEVICE_QUEUED) { +- devpath = udev_device_get_devpath(udev_device); +- devpath_len = strlen(devpath); +- } +- +- /* recover from an earlier failed rebuild */ +- if (udev_queue_export->queue_file == NULL) { +- if (rebuild_queue_file(udev_queue_export) != 0) +- return -1; +- } +- +- /* if we're removing the last event from the queue, that's the best time to rebuild it */ +- if (state != DEVICE_QUEUED && udev_queue_export->queued_count == 1) { +- /* we don't need to read the old queue file */ +- fclose(udev_queue_export->queue_file); +- udev_queue_export->queue_file = NULL; +- rebuild_queue_file(udev_queue_export); +- return 0; +- } +- +- /* try to rebuild the queue files before they grow larger than one page. */ +- bytes = ftell(udev_queue_export->queue_file) + queue_record_size(devpath_len); +- if ((udev_queue_export->waste_bytes > bytes / 2) && bytes > 4096) +- rebuild_queue_file(udev_queue_export); +- +- /* don't record a finished event, if we already dropped the event in a failed rebuild */ +- if (seqnum < udev_queue_export->seqnum_max) +- return 0; +- +- /* now write to the queue */ +- if (state == DEVICE_QUEUED) { +- udev_queue_export->queued_count++; +- udev_queue_export->seqnum_min = seqnum; +- } else { +- udev_queue_export->waste_bytes += queue_record_size(devpath_len) + queue_record_size(0); +- udev_queue_export->queued_count--; +- } +- err = write_queue_record(udev_queue_export, seqnum, devpath, devpath_len); +- +- /* try to handle ENOSPC */ +- if (err != 0 && udev_queue_export->queued_count == 0) { +- udev_queue_export_cleanup(udev_queue_export); +- err = rebuild_queue_file(udev_queue_export); +- } +- +- return err; +-} +- +-static int update(struct udev_queue_export *udev_queue_export, +- struct udev_device *udev_device, enum device_state state) +-{ +- if (update_queue(udev_queue_export, udev_device, state) != 0) +- return -1; +- +- return 0; +-} +- +-int udev_queue_export_device_queued(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) +-{ +- return update(udev_queue_export, udev_device, DEVICE_QUEUED); +-} +- +-int udev_queue_export_device_finished(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) +-{ +- return update(udev_queue_export, udev_device, DEVICE_FINISHED); +-} +diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index 2cb4d67..eb0e096 100644 +--- a/src/libudev/libudev-queue.c ++++ b/src/libudev/libudev-queue.c +@@ -24,8 +24,6 @@ + #include + #include + #include +-#include +-#include + #include + #include + +@@ -36,10 +34,7 @@ + * SECTION:libudev-queue + * @short_description: access to currently active events + * +- * The udev daemon processes events asynchronously. All events which do not have +- * interdependencies run in parallel. This exports the current state of the +- * event processing queue, and the current event sequence numbers from the kernel +- * and the udev daemon. ++ * This exports the current state of the udev processing queue. + */ + + /** +@@ -50,7 +45,6 @@ + struct udev_queue { + struct udev *udev; + int refcount; +- struct udev_list queue_list; + }; + + /** +@@ -72,9 +66,9 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) + udev_queue = new0(struct udev_queue, 1); + if (udev_queue == NULL) + return NULL; ++ + udev_queue->refcount = 1; + udev_queue->udev = udev; +- udev_list_init(udev, &udev_queue->queue_list, false); + return udev_queue; + } + +@@ -90,6 +84,7 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue) + { + if (udev_queue == NULL) + return NULL; ++ + udev_queue->refcount++; + return udev_queue; + } +@@ -107,10 +102,11 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) + { + if (udev_queue == NULL) + return NULL; ++ + udev_queue->refcount--; + if (udev_queue->refcount > 0) + return NULL; +- udev_list_cleanup(&udev_queue->queue_list); ++ + free(udev_queue); + return NULL; + } +@@ -130,141 +126,30 @@ _public_ struct udev *udev_queue_get_udev(struct udev_queue *udev_queue) + return udev_queue->udev; + } + +-unsigned long long int udev_get_kernel_seqnum(struct udev *udev) +-{ +- unsigned long long int seqnum; +- int fd; +- char buf[32]; +- ssize_t len; +- +- fd = open("/sys/kernel/uevent_seqnum", O_RDONLY|O_CLOEXEC); +- if (fd < 0) +- return 0; +- len = read(fd, buf, sizeof(buf)); +- close(fd); +- if (len <= 2) +- return 0; +- buf[len-1] = '\0'; +- seqnum = strtoull(buf, NULL, 10); +- return seqnum; +-} +- + /** + * udev_queue_get_kernel_seqnum: + * @udev_queue: udev queue context + * +- * Get the current kernel event sequence number. ++ * This function is deprecated. + * +- * Returns: the sequence number. ++ * Returns: 0. + **/ + _public_ unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum; +- +- if (udev_queue == NULL) +- return -EINVAL; +- +- seqnum = udev_get_kernel_seqnum(udev_queue->udev); +- return seqnum; +-} +- +-int udev_queue_read_seqnum(FILE *queue_file, unsigned long long int *seqnum) +-{ +- if (fread(seqnum, sizeof(unsigned long long int), 1, queue_file) != 1) +- return -1; +- + return 0; + } + +-ssize_t udev_queue_skip_devpath(FILE *queue_file) +-{ +- unsigned short int len; +- +- if (fread(&len, sizeof(unsigned short int), 1, queue_file) == 1) { +- char *devpath = alloca(len); +- +- /* use fread to skip, fseek might drop buffered data */ +- if (fread(devpath, 1, len, queue_file) == len) +- return len; +- } +- +- return -1; +-} +- +-ssize_t udev_queue_read_devpath(FILE *queue_file, char *devpath, size_t size) +-{ +- unsigned short int read_bytes = 0; +- unsigned short int len; +- +- if (fread(&len, sizeof(unsigned short int), 1, queue_file) != 1) +- return -1; +- +- read_bytes = (len < size - 1) ? len : size - 1; +- if (fread(devpath, 1, read_bytes, queue_file) != read_bytes) +- return -1; +- devpath[read_bytes] = '\0'; +- +- /* if devpath was too long, skip unread characters */ +- if (read_bytes != len) { +- unsigned short int skip_bytes = len - read_bytes; +- char *buf = alloca(skip_bytes); +- +- if (fread(buf, 1, skip_bytes, queue_file) != skip_bytes) +- return -1; +- } +- +- return read_bytes; +-} +- +-static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long int *seqnum_start) +-{ +- FILE *queue_file; +- +- queue_file = fopen("/run/udev/queue.bin", "re"); +- if (queue_file == NULL) +- return NULL; +- +- if (udev_queue_read_seqnum(queue_file, seqnum_start) < 0) { +- udev_err(udev_queue->udev, "corrupt queue file\n"); +- fclose(queue_file); +- return NULL; +- } +- +- return queue_file; +-} +- + /** + * udev_queue_get_udev_seqnum: + * @udev_queue: udev queue context + * +- * Get the last known udev event sequence number. ++ * This function is deprecated. + * +- * Returns: the sequence number. ++ * Returns: 0. + **/ + _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum_udev; +- FILE *queue_file; +- +- queue_file = open_queue_file(udev_queue, &seqnum_udev); +- if (queue_file == NULL) +- return 0; +- +- for (;;) { +- unsigned long long int seqnum; +- ssize_t devpath_len; +- +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- devpath_len = udev_queue_skip_devpath(queue_file); +- if (devpath_len < 0) +- break; +- if (devpath_len > 0) +- seqnum_udev = seqnum; +- } +- +- fclose(queue_file); +- return seqnum_udev; ++ return 0; + } + + /** +@@ -277,15 +162,7 @@ _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *ud + **/ + _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum_start; +- FILE *queue_file; +- +- queue_file = open_queue_file(udev_queue, &seqnum_start); +- if (queue_file == NULL) +- return 0; +- +- fclose(queue_file); +- return 1; ++ return access("/run/udev/control", F_OK) >= 0; + } + + /** +@@ -298,48 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) + **/ + _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum_kernel; +- unsigned long long int seqnum_udev = 0; +- int queued = 0; +- int is_empty = 0; +- FILE *queue_file; +- +- if (udev_queue == NULL) +- return -EINVAL; +- queue_file = open_queue_file(udev_queue, &seqnum_udev); +- if (queue_file == NULL) +- return 1; +- +- for (;;) { +- unsigned long long int seqnum; +- ssize_t devpath_len; +- +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- devpath_len = udev_queue_skip_devpath(queue_file); +- if (devpath_len < 0) +- break; +- +- if (devpath_len > 0) { +- queued++; +- seqnum_udev = seqnum; +- } else { +- queued--; +- } +- } +- +- if (queued > 0) +- goto out; +- +- seqnum_kernel = udev_queue_get_kernel_seqnum(udev_queue); +- if (seqnum_udev < seqnum_kernel) +- goto out; +- +- is_empty = 1; +- +-out: +- fclose(queue_file); +- return is_empty; ++ return access("/run/udev/queue", F_OK) >= 0; + } + + /** +@@ -348,63 +184,15 @@ out: + * @start: first event sequence number + * @end: last event sequence number + * +- * Check if udev is currently processing any events in a given sequence number range. ++ * This function is deprecated, it just returns the result of ++ * udev_queue_get_queue_is_empty(). + * +- * Returns: a flag indicating if any of the sequence numbers in the given range is currently active. ++ * Returns: a flag indicating if udev is currently handling events. + **/ + _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, + unsigned long long int start, unsigned long long int end) + { +- unsigned long long int seqnum; +- ssize_t devpath_len; +- int unfinished; +- FILE *queue_file; +- +- if (udev_queue == NULL) +- return -EINVAL; +- queue_file = open_queue_file(udev_queue, &seqnum); +- if (queue_file == NULL) +- return 1; +- if (start < seqnum) +- start = seqnum; +- if (start > end) { +- fclose(queue_file); +- return 1; +- } +- if (end - start > INT_MAX - 1) { +- fclose(queue_file); +- return -EOVERFLOW; +- } +- +- /* +- * we might start with 0, and handle the initial seqnum +- * only when we find an entry in the queue file +- **/ +- unfinished = end - start; +- +- do { +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- devpath_len = udev_queue_skip_devpath(queue_file); +- if (devpath_len < 0) +- break; +- +- /* +- * we might start with an empty or re-build queue file, where +- * the initial seqnum is not recorded as finished +- */ +- if (start == seqnum && devpath_len > 0) +- unfinished++; +- +- if (devpath_len == 0) { +- if (seqnum >= start && seqnum <= end) +- unfinished--; +- } +- } while (unfinished > 0); +- +- fclose(queue_file); +- +- return (unfinished == 0); ++ return udev_queue_get_queue_is_empty(udev_queue); + } + + /** +@@ -412,69 +200,25 @@ _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_ + * @udev_queue: udev queue context + * @seqnum: sequence number + * +- * Check if udev is currently processing a given sequence number. ++ * This function is deprecated, it just returns the result of ++ * udev_queue_get_queue_is_empty(). + * +- * Returns: a flag indicating if the given sequence number is currently active. ++ * Returns: a flag indicating if udev is currently handling events. + **/ + _public_ int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) + { +- if (!udev_queue_get_seqnum_sequence_is_finished(udev_queue, seqnum, seqnum)) +- return 0; +- +- return 1; ++ return udev_queue_get_queue_is_empty(udev_queue); + } + + /** + * udev_queue_get_queued_list_entry: + * @udev_queue: udev queue context + * +- * Get the first entry of the list of queued events. ++ * This function is deprecated. + * +- * Returns: a udev_list_entry. ++ * Returns: NULL. + **/ + _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) + { +- unsigned long long int seqnum; +- FILE *queue_file; +- +- if (udev_queue == NULL) +- return NULL; +- udev_list_cleanup(&udev_queue->queue_list); +- +- queue_file = open_queue_file(udev_queue, &seqnum); +- if (queue_file == NULL) +- return NULL; +- +- for (;;) { +- char syspath[UTIL_PATH_SIZE]; +- char *s; +- size_t l; +- ssize_t len; +- char seqnum_str[32]; +- struct udev_list_entry *list_entry; +- +- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) +- break; +- snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum); +- +- s = syspath; +- l = strpcpy(&s, sizeof(syspath), "/sys"); +- len = udev_queue_read_devpath(queue_file, s, l); +- if (len < 0) +- break; +- +- if (len > 0) { +- udev_list_entry_add(&udev_queue->queue_list, syspath, seqnum_str); +- } else { +- udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_queue->queue_list)) { +- if (streq(seqnum_str, udev_list_entry_get_value(list_entry))) { +- udev_list_entry_delete(list_entry); +- break; +- } +- } +- } +- } +- fclose(queue_file); +- +- return udev_list_get_entry(&udev_queue->queue_list); ++ return NULL; + } +diff --git src/libudev/libudev.h src/libudev/libudev.h +index b9b8f13..ceb89bd 100644 +--- a/src/libudev/libudev.h ++++ b/src/libudev/libudev.h +@@ -170,14 +170,14 @@ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue); + struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue); + struct udev *udev_queue_get_udev(struct udev_queue *udev_queue); + struct udev_queue *udev_queue_new(struct udev *udev); +-unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue); +-unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue); ++unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); ++unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); + int udev_queue_get_udev_is_active(struct udev_queue *udev_queue); + int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); +-int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum); ++int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); + int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, +- unsigned long long int start, unsigned long long int end); +-struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue); ++ unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); ++struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); + + /* + * udev_hwdb +diff --git src/shared/udev-util.h src/shared/udev-util.h +index 40f8b77..5f09ce1 100644 +--- a/src/shared/udev-util.h ++++ b/src/shared/udev-util.h +@@ -31,7 +31,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_ctrl*, udev_ctrl_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_monitor*, udev_monitor_unref); +-DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); + + #define _cleanup_udev_unref_ _cleanup_(udev_unrefp) + #define _cleanup_udev_device_unref_ _cleanup_(udev_device_unrefp) +@@ -40,5 +39,4 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); + #define _cleanup_udev_rules_unref_ _cleanup_(udev_rules_unrefp) + #define _cleanup_udev_ctrl_unref_ _cleanup_(udev_ctrl_unrefp) + #define _cleanup_udev_monitor_unref_ _cleanup_(udev_monitor_unrefp) +-#define _cleanup_udev_queue_unref_ _cleanup_(udev_queue_unrefp) + #define _cleanup_udev_list_cleanup_ _cleanup_(udev_list_cleanup) +diff --git src/test/test-libudev.c src/test/test-libudev.c +index c233b1e..f5c8bc7 100644 +--- a/src/test/test-libudev.c ++++ b/src/test/test-libudev.c +@@ -303,38 +303,14 @@ out: + + static int test_queue(struct udev *udev) { + struct udev_queue *udev_queue; +- unsigned long long int seqnum; +- struct udev_list_entry *list_entry; + + udev_queue = udev_queue_new(udev); + if (udev_queue == NULL) + return -1; +- seqnum = udev_queue_get_kernel_seqnum(udev_queue); +- printf("seqnum kernel: %llu\n", seqnum); +- seqnum = udev_queue_get_udev_seqnum(udev_queue); +- printf("seqnum udev : %llu\n", seqnum); + + if (udev_queue_get_queue_is_empty(udev_queue)) + printf("queue is empty\n"); +- printf("get queue list\n"); +- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) +- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); +- printf("\n"); +- printf("get queue list again\n"); +- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) +- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); +- printf("\n"); + +- list_entry = udev_queue_get_queued_list_entry(udev_queue); +- if (list_entry != NULL) { +- printf("event [%llu] is queued\n", seqnum); +- seqnum = strtoull(udev_list_entry_get_value(list_entry), NULL, 10); +- if (udev_queue_get_seqnum_is_finished(udev_queue, seqnum)) +- printf("event [%llu] is not finished\n", seqnum); +- else +- printf("event [%llu] is finished\n", seqnum); +- } +- printf("\n"); + udev_queue_unref(udev_queue); + return 0; + } +diff --git src/udev/udev-ctrl.c src/udev/udev-ctrl.c +index 1e91ec2..74bbd3a 100644 +--- a/src/udev/udev-ctrl.c ++++ b/src/udev/udev-ctrl.c +@@ -275,7 +275,7 @@ static int ctrl_send(struct udev_ctrl *uctrl, enum udev_ctrl_msg_type type, int + + pfd[0].fd = uctrl->sock; + pfd[0].events = POLLIN; +- r = poll(pfd, 1, timeout * 1000); ++ r = poll(pfd, 1, timeout * MSEC_PER_SEC); + if (r < 0) { + if (errno == EINTR) + continue; +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 927ea2a..65fc35f 100644 +--- a/src/udev/udevadm-settle.c ++++ b/src/udev/udevadm-settle.c +@@ -41,42 +41,28 @@ + static void help(void) { + printf("Usage: udevadm settle OPTIONS\n" + " -t,--timeout= maximum time to wait for events\n" +- " -s,--seq-start= first seqnum to wait for\n" +- " -e,--seq-end= last seqnum to wait for\n" + " -E,--exit-if-exists= stop waiting if file exists\n" +- " -q,--quiet do not print list after timeout\n" + " -h,--help\n\n"); + } + + static int adm_settle(struct udev *udev, int argc, char *argv[]) + { + static const struct option options[] = { +- { "seq-start", required_argument, NULL, 's' }, +- { "seq-end", required_argument, NULL, 'e' }, ++ { "seq-start", required_argument, NULL, '\0' }, /* removed */ ++ { "seq-end", required_argument, NULL, '\0' }, /* removed */ + { "timeout", required_argument, NULL, 't' }, + { "exit-if-exists", required_argument, NULL, 'E' }, +- { "quiet", no_argument, NULL, 'q' }, ++ { "quiet", no_argument, NULL, 'q' }, /* removed */ + { "help", no_argument, NULL, 'h' }, + {} + }; +- usec_t start_usec = now(CLOCK_MONOTONIC); +- usec_t start = 0; +- usec_t end = 0; +- int quiet = 0; + const char *exists = NULL; + unsigned int timeout = 120; + struct pollfd pfd[1] = { {.fd = -1}, }; +- _cleanup_udev_queue_unref_ struct udev_queue *udev_queue = NULL; + int rc = EXIT_FAILURE, c; + +- while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) ++ while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { + switch (c) { +- case 's': +- start = strtoull(optarg, NULL, 0); +- break; +- case 'e': +- end = strtoull(optarg, NULL, 0); +- break; + case 't': { + int r; + +@@ -91,9 +77,6 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + case 'E': + exists = optarg; + break; +- case 'q': +- quiet = 1; +- break; + case 'h': + help(); + exit(EXIT_SUCCESS); +@@ -102,44 +85,13 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + default: + assert_not_reached("Unknown argument"); + } ++ } + + if (optind < argc) { + fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); + exit(EXIT_FAILURE); + } + +- udev_queue = udev_queue_new(udev); +- if (udev_queue == NULL) +- exit(2); +- +- if (start > 0) { +- unsigned long long kernel_seq; +- +- kernel_seq = udev_queue_get_kernel_seqnum(udev_queue); +- +- /* unless specified, the last event is the current kernel seqnum */ +- if (end == 0) +- end = udev_queue_get_kernel_seqnum(udev_queue); +- +- if (start > end) { +- log_error("seq-start larger than seq-end, ignoring"); +- start = 0; +- end = 0; +- } +- +- if (start > kernel_seq || end > kernel_seq) { +- log_error("seq-start or seq-end larger than current kernel value, ignoring"); +- start = 0; +- end = 0; +- } +- log_debug("start=%llu end=%llu current=%llu", (unsigned long long)start, (unsigned long long)end, kernel_seq); +- } else { +- if (end > 0) { +- log_error("seq-end needs seq-start parameter, ignoring"); +- end = 0; +- } +- } +- + /* guarantee that the udev daemon isn't pre-processing */ + if (getuid() == 0) { + struct udev_ctrl *uctrl; +@@ -160,73 +112,34 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + pfd[0].fd = inotify_init1(IN_CLOEXEC); + if (pfd[0].fd < 0) { + log_error("inotify_init failed: %m"); +- } else { +- if (inotify_add_watch(pfd[0].fd, "/run/udev" , IN_MOVED_TO) < 0) { +- log_error("watching /run/udev failed"); +- close(pfd[0].fd); +- pfd[0].fd = -1; +- } ++ goto out; + } + +- for (;;) { +- struct stat statbuf; ++ if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { ++ log_debug("watching /run/udev failed"); ++ goto out; ++ } + +- if (exists != NULL && stat(exists, &statbuf) == 0) { ++ for (;;) { ++ if (exists && access(exists, F_OK) >= 0) { + rc = EXIT_SUCCESS; + break; + } + +- if (start > 0) { +- /* if asked for, wait for a specific sequence of events */ +- if (udev_queue_get_seqnum_sequence_is_finished(udev_queue, start, end) == 1) { +- rc = EXIT_SUCCESS; +- break; +- } +- } else { +- /* exit if queue is empty */ +- if (udev_queue_get_queue_is_empty(udev_queue)) { +- rc = EXIT_SUCCESS; +- break; +- } +- } +- +- if (pfd[0].fd >= 0) { +- int delay; +- +- if (exists != NULL || start > 0) +- delay = 100; +- else +- delay = 1000; +- /* wake up after delay, or immediately after the queue is rebuilt */ +- if (poll(pfd, 1, delay) > 0 && pfd[0].revents & POLLIN) { +- char buf[sizeof(struct inotify_event) + PATH_MAX]; +- +- read(pfd[0].fd, buf, sizeof(buf)); +- } +- } else { +- sleep(1); ++ /* exit if queue is empty */ ++ if (access("/run/udev/queue", F_OK) < 0) { ++ rc = EXIT_SUCCESS; ++ break; + } + +- if (timeout > 0) { +- usec_t age_usec; ++ /* wake up when "queue" file is deleted */ ++ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { ++ char buf[sizeof(struct inotify_event) + PATH_MAX]; + +- age_usec = now(CLOCK_MONOTONIC) - start_usec; +- if (age_usec / (1000 * 1000) >= timeout) { +- struct udev_list_entry *list_entry; +- +- if (!quiet && udev_queue_get_queued_list_entry(udev_queue) != NULL) { +- log_debug("timeout waiting for udev queue"); +- printf("\nudevadm settle - timeout of %i seconds reached, the event queue contains:\n", timeout); +- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) +- printf(" %s (%s)\n", +- udev_list_entry_get_name(list_entry), +- udev_list_entry_get_value(list_entry)); +- } +- +- break; +- } ++ read(pfd[0].fd, buf, sizeof(buf)); + } + } ++ + out: + if (pfd[0].fd >= 0) + close(pfd[0].fd); +@@ -236,5 +149,5 @@ out: + const struct udevadm_cmd udevadm_settle = { + .name = "settle", + .cmd = adm_settle, +- .help = "wait for the event queue to finish", ++ .help = "wait for pending udev events", + }; +diff --git src/udev/udevd.c src/udev/udevd.c +index f21c227..f9ee368 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -60,7 +60,6 @@ void udev_main_log(struct udev *udev, int priority, + } + + static struct udev_rules *rules; +-static struct udev_queue_export *udev_queue_export; + static struct udev_ctrl *udev_ctrl; + static struct udev_monitor *monitor; + static int worker_watch[2] = { -1, -1 }; +@@ -139,14 +138,9 @@ static inline struct worker *node_to_worker(struct udev_list_node *node) + return container_of(node, struct worker, node); + } + +-static void event_queue_delete(struct event *event, bool export) ++static void event_queue_delete(struct event *event) + { + udev_list_node_remove(&event->node); +- +- if (export) { +- udev_queue_export_device_finished(udev_queue_export, event->dev); +- log_debug("seq %llu done with %i", udev_device_get_seqnum(event->dev), event->exitcode); +- } + udev_device_unref(event->dev); + free(event); + } +@@ -225,7 +219,6 @@ static void worker_new(struct event *event) + free(worker); + worker_list_cleanup(udev); + event_queue_cleanup(udev, EVENT_UNDEF); +- udev_queue_export_unref(udev_queue_export); + udev_monitor_unref(monitor); + udev_ctrl_unref(udev_ctrl); + close(fd_signal); +@@ -449,7 +442,6 @@ static int event_queue_insert(struct udev_device *dev) + event->nodelay = true; + #endif + +- udev_queue_export_device_queued(udev_queue_export, dev); + log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), + udev_device_get_action(dev), udev_device_get_subsystem(dev)); + +@@ -580,7 +572,7 @@ static void event_queue_cleanup(struct udev *udev, enum event_state match_type) + if (match_type != EVENT_UNDEF && match_type != event->state) + continue; + +- event_queue_delete(event, false); ++ event_queue_delete(event); + } + } + +@@ -605,7 +597,7 @@ static void worker_returned(int fd_worker) + /* worker returned */ + if (worker->event) { + worker->event->exitcode = msg.exitcode; +- event_queue_delete(worker->event, true); ++ event_queue_delete(worker->event); + worker->event = NULL; + } + if (worker->state != WORKER_KILLED) +@@ -797,7 +789,8 @@ static void handle_signal(struct udev *udev, int signo) + log_error("worker [%u] failed while handling '%s'", + pid, worker->event->devpath); + worker->event->exitcode = -32; +- event_queue_delete(worker->event, true); ++ event_queue_delete(worker->event); ++ + /* drop reference taken for state 'running' */ + worker_unref(worker); + } +@@ -1076,14 +1069,7 @@ int main(int argc, char *argv[]) + goto exit; + } + +- udev_monitor_set_receive_buffer_size(monitor, 128*1024*1024); +- +- /* create queue file before signalling 'ready', to make sure we block 'settle' */ +- udev_queue_export = udev_queue_export_new(udev); +- if (udev_queue_export == NULL) { +- log_error("error creating queue file"); +- goto exit; +- } ++ udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024); + + if (daemonize) { + pid_t pid; +@@ -1241,12 +1227,12 @@ int main(int argc, char *argv[]) + worker_kill(udev); + + /* exit after all has cleaned up */ +- if (udev_list_node_is_empty(&event_list) && udev_list_node_is_empty(&worker_list)) ++ if (udev_list_node_is_empty(&event_list) && children == 0) + break; + + /* timeout at exit for workers to finish */ +- timeout = 30 * 1000; +- } else if (udev_list_node_is_empty(&event_list) && !children) { ++ timeout = 30 * MSEC_PER_SEC; ++ } else if (udev_list_node_is_empty(&event_list) && children == 0) { + /* we are idle */ + timeout = -1; + +@@ -1255,8 +1241,20 @@ int main(int argc, char *argv[]) + cg_kill(SYSTEMD_CGROUP_CONTROLLER, udev_cgroup, SIGKILL, false, true, NULL); + } else { + /* kill idle or hanging workers */ +- timeout = 3 * 1000; ++ timeout = 3 * MSEC_PER_SEC; + } ++ ++ /* tell settle that we are busy or idle */ ++ if (!udev_list_node_is_empty(&event_list)) { ++ int fd; ++ ++ fd = open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444); ++ if (fd >= 0) ++ close(fd); ++ } else { ++ unlink("/run/udev/queue"); ++ } ++ + fdcount = epoll_wait(fd_ep, ev, ELEMENTSOF(ev), timeout); + if (fdcount < 0) + continue; +@@ -1283,18 +1281,18 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { + log_error("worker [%u] %s timeout; kill it", worker->pid, + worker->event ? worker->event->devpath : ""); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; ++ + /* drop reference taken for state 'running' */ + worker_unref(worker); + if (worker->event) { +- log_error("seq %llu '%s' killed", +- udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); + worker->event->exitcode = -64; +- event_queue_delete(worker->event, true); ++ event_queue_delete(worker->event); + worker->event = NULL; + } + } +@@ -1317,7 +1315,7 @@ int main(int argc, char *argv[]) + } + + /* check for changed config, every 3 seconds at most */ +- if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * 1000 * 1000) { ++ if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * USEC_PER_SEC) { + if (udev_rules_check_timestamp(rules)) + reload = true; + if (udev_builtin_validate(udev)) +@@ -1390,8 +1388,8 @@ int main(int argc, char *argv[]) + + rc = EXIT_SUCCESS; + exit: +- udev_queue_export_cleanup(udev_queue_export); + udev_ctrl_cleanup(udev_ctrl); ++ unlink("/run/udev/queue"); + exit_daemonize: + if (fd_ep >= 0) + close(fd_ep); +@@ -1406,7 +1404,6 @@ exit_daemonize: + if (worker_watch[WRITE_END] >= 0) + close(worker_watch[WRITE_END]); + udev_monitor_unref(monitor); +- udev_queue_export_unref(udev_queue_export); + udev_ctrl_connection_unref(ctrl_conn); + udev_ctrl_unref(udev_ctrl); + label_finish(); +-- +1.7.9.2 + diff --git a/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch b/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch new file mode 100644 index 00000000..75da64fa --- /dev/null +++ b/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch @@ -0,0 +1,31 @@ +From a52ec8ed881537627869afa8f0486db7e20ce2db Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Fri, 30 May 2014 13:16:56 -0400 +Subject: [PATCH] udev-builtin-keyboard: do tell on which device EVIOCSKEYCODE + failed. + +I am getting + +"Error calling EVIOCSKEYCODE (scan code 0xc022d, key code 418): Invalid +argument", the error message does not tell on which specific device the +problem is, add that info. +--- + src/udev/udev-builtin-keyboard.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udev-builtin-keyboard.c src/udev/udev-builtin-keyboard.c +index 614e44e..9b66bfd 100644 +--- src/udev/udev-builtin-keyboard.c ++++ src/udev/udev-builtin-keyboard.c +@@ -143,7 +143,7 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo + log_debug("keyboard: mapping scan code %d (0x%x) to key code %d (0x%x)", + map[i].scan, map[i].scan, map[i].key, map[i].key); + if (ioctl(fd, EVIOCSKEYCODE, &map[i]) < 0) +- log_error("Error calling EVIOCSKEYCODE (scan code 0x%x, key code %d): %m", map[i].scan, map[i].key); ++ log_error("Error calling EVIOCSKEYCODE on device node '%s' (scan code 0x%x, key code %d): %m", node, map[i].scan, map[i].key); + } + + /* install list of force-release codes */ +-- +1.7.9.2 + diff --git a/1024-udev-always-close-lock-file-descriptor.patch b/1024-udev-always-close-lock-file-descriptor.patch new file mode 100644 index 00000000..aaa4b296 --- /dev/null +++ b/1024-udev-always-close-lock-file-descriptor.patch @@ -0,0 +1,41 @@ +Based on 3d06f4183470d42361303086ed9dedd29c0ffc1b Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 3 Jun 2014 10:46:51 +0200 +Subject: [PATCH] udev: always close lock file descriptor + +https://bugs.freedesktop.org/show_bug.cgi?id=79576 +--- + src/udev/udevd.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-06-03 15:34:42.778346368 +0000 +@@ -301,6 +301,7 @@ static void worker_new(struct event *eve + if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { + log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); + err = -EWOULDBLOCK; ++ close_nointr_nofail(fd_lock); fd_lock = -1; + goto skip; + } + } +@@ -318,7 +319,7 @@ static void worker_new(struct event *eve + } + + if (fd_lock >= 0) +- close(fd_lock); ++ close_nointr_nofail(fd_lock); + + /* send processed event back to libudev listeners */ + udev_monitor_send_device(worker_monitor, NULL, dev); +@@ -378,9 +379,9 @@ skip: + out: + udev_device_unref(dev); + if (fd_signal >= 0) +- close(fd_signal); ++ close_nointr_nofail(fd_signal); + if (fd_ep >= 0) +- close(fd_ep); ++ close_nointr_nofail(fd_ep); + close(fd_inotify); + close(worker_watch[WRITE_END]); + udev_rules_unref(rules); diff --git a/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch b/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch new file mode 100644 index 00000000..2dc531f4 --- /dev/null +++ b/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch @@ -0,0 +1,39 @@ +From e918a1b5a94f270186dca59156354acd2a596494 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 3 Jun 2014 16:49:38 +0200 +Subject: [PATCH] udev: exclude device-mapper from block device ownership event + locking + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 819ea3b..6c05104 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -290,7 +290,19 @@ static void worker_new(struct event *event) + * acquired the lock, the external process will block until + * udev has finished its event handling. + */ +- if (streq_ptr("block", udev_device_get_subsystem(dev))) { ++ ++ /* ++ * since we make check - device seems unused - we try ++ * ioctl to deactivate - and device is found to be opened ++ * sure, you try to take a write lock ++ * if you get it udev is out ++ * if you can't get it, udev is busy ++ * we cannot deactivate openned device (as it is in-use) ++ * maybe we should just exclude dm from that thing entirely ++ * IMHO this sounds like a good plan for this moment ++ */ ++ if (streq_ptr("block", udev_device_get_subsystem(dev)) && ++ !startswith("dm-", udev_device_get_sysname(dev))) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +-- +1.8.4.5 + diff --git a/1026-udevd-inotify-modernizations.patch b/1026-udevd-inotify-modernizations.patch new file mode 100644 index 00000000..c63093ff --- /dev/null +++ b/1026-udevd-inotify-modernizations.patch @@ -0,0 +1,85 @@ +From edd32000c806e4527c5f376d138f7bff07724c26 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 11:05:45 +0200 +Subject: [PATCH] udevd: inotify - modernizations + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 45 ++++++++++++++++++++++----------------------- + 1 file changed, 22 insertions(+), 23 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -736,20 +736,30 @@ out: + return udev_ctrl_connection_unref(ctrl_conn); + } + ++static void synthesize_change(struct udev_device *dev) { ++ char filename[UTIL_PATH_SIZE]; ++ ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++} ++ + /* read inotify messages */ + static int handle_inotify(struct udev *udev) + { + int nbytes, pos; + char *buf; + struct inotify_event *ev; ++ int r; + +- if ((ioctl(fd_inotify, FIONREAD, &nbytes) < 0) || (nbytes <= 0)) +- return 0; ++ r = ioctl(fd_inotify, FIONREAD, &nbytes); ++ if (r < 0 || nbytes <= 0) ++ return -errno; + + buf = malloc(nbytes); +- if (buf == NULL) { ++ if (!buf) { + log_error("error getting buffer for inotify"); +- return -1; ++ return -ENOMEM; + } + + nbytes = read(fd_inotify, buf, nbytes); +@@ -759,27 +769,16 @@ static int handle_inotify(struct udev *u + + ev = (struct inotify_event *)(buf + pos); + dev = udev_watch_lookup(udev, ev->wd); +- if (dev != NULL) { +- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); +- if (ev->mask & IN_CLOSE_WRITE) { +- char filename[UTIL_PATH_SIZE]; +- int fd; +- +- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); +- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); +- fd = open(filename, O_WRONLY|O_CLOEXEC); +- if (fd >= 0) { +- if (write(fd, "change", 6) < 0) +- log_debug("error writing uevent: %m"); +- close(fd); +- } +- } +- if (ev->mask & IN_IGNORED) +- udev_watch_end(udev, dev); ++ if (!dev) ++ continue; + +- udev_device_unref(dev); +- } ++ log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); ++ if (ev->mask & IN_CLOSE_WRITE) ++ synthesize_change(dev); ++ else if (ev->mask & IN_IGNORED) ++ udev_watch_end(udev, dev); + ++ udev_device_unref(dev); + } + + free(buf); diff --git a/1027-udev-synthesize-change-events-for-partitions-when-to.patch b/1027-udev-synthesize-change-events-for-partitions-when-to.patch new file mode 100644 index 00000000..ab09c1b2 --- /dev/null +++ b/1027-udev-synthesize-change-events-for-partitions-when-to.patch @@ -0,0 +1,84 @@ +From f3a740a5dae792fb6b2d411022ce8c29ced1c3f1 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 12:16:28 +0200 +Subject: [PATCH] udev: synthesize "change' events for partitions when tools + change the disk + +This should make sure that fdisk-like programs will automatically +cause an update of all partitions, just like mkfs-like programs cause +an update of the partition. + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 42 insertions(+), 2 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -46,6 +46,7 @@ + #include + + #include "udev.h" ++#include "udev-util.h" + #include "sd-daemon.h" + #include "cgroup-util.h" + #include "dev-setup.h" +@@ -736,15 +737,54 @@ out: + return udev_ctrl_connection_unref(ctrl_conn); + } + +-static void synthesize_change(struct udev_device *dev) { ++static int synthesize_change(struct udev_device *dev) { + char filename[UTIL_PATH_SIZE]; ++ int r; + + log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); + strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); + write_string_file(filename, "change"); ++ ++ /* for disks devices, re-trigger all partitions too */ ++ if (streq_ptr("block", udev_device_get_subsystem(dev)) && ++ streq_ptr("disk", udev_device_get_devtype(dev))) { ++ struct udev *udev = udev_device_get_udev(dev); ++ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; ++ struct udev_list_entry *item; ++ ++ e = udev_enumerate_new(udev); ++ if (!e) ++ return -ENOMEM; ++ ++ r = udev_enumerate_add_match_parent(e, dev); ++ if (r < 0) ++ return r; ++ ++ r = udev_enumerate_add_match_subsystem(e, "block"); ++ if (r < 0) ++ return r; ++ ++ r = udev_enumerate_scan_devices(e); ++ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { ++ _cleanup_udev_device_unref_ struct udev_device *d = NULL; ++ ++ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); ++ if (!d) ++ continue; ++ ++ if (!streq_ptr("partition", udev_device_get_devtype(d))) ++ continue; ++ ++ log_debug("device %s closed, synthesising partition '%s' 'change'", ++ udev_device_get_devnode(dev), udev_device_get_devnode(d)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ } ++ } ++ ++ return 0; + } + +-/* read inotify messages */ + static int handle_inotify(struct udev *udev) + { + int nbytes, pos; diff --git a/1028-udev-link-config-fix-mem-leak.patch b/1028-udev-link-config-fix-mem-leak.patch new file mode 100644 index 00000000..265009f0 --- /dev/null +++ b/1028-udev-link-config-fix-mem-leak.patch @@ -0,0 +1,34 @@ +From edf029b7fd9a5853a87d3ca99aac2922bb8a277e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 4 Jun 2014 12:34:23 +0200 +Subject: [PATCH] udev: link-config - fix mem leak + +Reported by Kay. + +Signed-off-by: Robert Milasan +--- + src/udev/net/link-config.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +Index: systemd-210/src/udev/net/link-config.c +=================================================================== +--- systemd-210.orig/src/udev/net/link-config.c ++++ systemd-210/src/udev/net/link-config.c +@@ -118,6 +118,7 @@ static void link_configs_free(link_confi + free(link->match_type); + free(link->description); + free(link->alias); ++ free(link->name_policy); + + free(link); + } +@@ -205,7 +206,8 @@ static bool enable_name_policy(void) { + + int link_config_load(link_config_ctx *ctx) { + int r; +- char **files, **f; ++ _cleanup_strv_free_ char **files; ++ char **f; + + link_configs_free(ctx); + diff --git a/1029-udev-try-first-re-reading-the-partition-table.patch b/1029-udev-try-first-re-reading-the-partition-table.patch new file mode 100644 index 00000000..fa20002b --- /dev/null +++ b/1029-udev-try-first-re-reading-the-partition-table.patch @@ -0,0 +1,94 @@ +From ede344452a54e1c53f541cad12a06269a4fe96a9 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 13:30:24 +0200 +Subject: [PATCH] udev: try first re-reading the partition table + +mounted partitions: + # dd if=/dev/zero of=/dev/sda bs=1 count=1 + UDEV [4157.369250] change .../0:0:0:0/block/sda (block) + UDEV [4157.375059] change .../0:0:0:0/block/sda/sda1 (block) + UDEV [4157.397088] change .../0:0:0:0/block/sda/sda2 (block) + UDEV [4157.404842] change .../0:0:0:0/block/sda/sda4 (block) + +unmounted partitions: + # dd if=/dev/zero of=/dev/sdb bs=1 count=1 + UDEV [4163.450217] remove .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) + UDEV [4163.593167] change .../target6:0:0/6:0:0:0/block/sdb (block) + UDEV [4163.713982] add .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 39 +++++++++++++++++++++++++++++++++------ + 1 file changed, 33 insertions(+), 6 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -741,17 +742,37 @@ static int synthesize_change(struct udev + char filename[UTIL_PATH_SIZE]; + int r; + +- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); +- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); +- write_string_file(filename, "change"); +- +- /* for disks devices, re-trigger all partitions too */ + if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- streq_ptr("disk", udev_device_get_devtype(dev))) { ++ streq_ptr("disk", udev_device_get_devtype(dev)) && ++ !startswith("dm-", udev_device_get_sysname(dev))) { ++ int fd; + struct udev *udev = udev_device_get_udev(dev); + _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; + struct udev_list_entry *item; + ++ /* ++ * Try to re-read the partition table, this only succeeds if ++ * none of the devices is busy. ++ * ++ * The kernel will send out a change event for the disk, and ++ * "remove/add" for all partitions. ++ */ ++ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ if (fd >= 0) { ++ r = ioctl(fd, BLKRRPART, 0); ++ close(fd); ++ if (r >= 0) ++ return 0; ++ } ++ ++ /* ++ * Re-reading the partition table did not work, synthesize "change" ++ * events for the disk and all partitions. ++ */ ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ + e = udev_enumerate_new(udev); + if (!e) + return -ENOMEM; +@@ -780,8 +801,14 @@ static int synthesize_change(struct udev + strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); + write_string_file(filename, "change"); + } ++ ++ return 0; + } + ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ + return 0; + } + diff --git a/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch b/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch new file mode 100644 index 00000000..6fb7b15f --- /dev/null +++ b/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch @@ -0,0 +1,23 @@ +From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 14:09:31 +0200 +Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL) + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -757,7 +757,7 @@ static int synthesize_change(struct udev + * The kernel will send out a change event for the disk, and + * "remove/add" for all partitions. + */ +- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd >= 0) { + r = ioctl(fd, BLKRRPART, 0); + close(fd); diff --git a/1031-udev-make-sure-we-always-get-change-for-the-disk.patch b/1031-udev-make-sure-we-always-get-change-for-the-disk.patch new file mode 100644 index 00000000..4f48cd3a --- /dev/null +++ b/1031-udev-make-sure-we-always-get-change-for-the-disk.patch @@ -0,0 +1,98 @@ +From e9fc29f4ecc9509ccc02eb8a014341e26c0d7831 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 15:17:15 +0200 +Subject: [PATCH] udev: make sure we always get "change" for the disk + +The kernel will return 0 for REREADPT when no partition table +is found, we have to send out "change" ourselves. + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 53 +++++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 39 insertions(+), 14 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -745,34 +745,28 @@ static int synthesize_change(struct udev + if (streq_ptr("block", udev_device_get_subsystem(dev)) && + streq_ptr("disk", udev_device_get_devtype(dev)) && + !startswith("dm-", udev_device_get_sysname(dev))) { ++ bool part_table_read = false; ++ bool has_partitions = false; + int fd; + struct udev *udev = udev_device_get_udev(dev); + _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; + struct udev_list_entry *item; + + /* +- * Try to re-read the partition table, this only succeeds if +- * none of the devices is busy. +- * +- * The kernel will send out a change event for the disk, and +- * "remove/add" for all partitions. ++ * Try to re-read the partition table. This only succeeds if ++ * none of the devices is busy. The kernel returns 0 if no ++ * partition table is found, and we will not get an event for ++ * the disk. + */ + fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd >= 0) { + r = ioctl(fd, BLKRRPART, 0); + close(fd); + if (r >= 0) +- return 0; ++ part_table_read = true; + } + +- /* +- * Re-reading the partition table did not work, synthesize "change" +- * events for the disk and all partitions. +- */ +- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); +- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); +- write_string_file(filename, "change"); +- ++ /* search for partitions */ + e = udev_enumerate_new(udev); + if (!e) + return -ENOMEM; +@@ -786,6 +780,37 @@ static int synthesize_change(struct udev + return r; + + r = udev_enumerate_scan_devices(e); ++ ++ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { ++ _cleanup_udev_device_unref_ struct udev_device *d = NULL; ++ ++ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); ++ if (!d) ++ continue; ++ ++ if (!streq_ptr("partition", udev_device_get_devtype(d))) ++ continue; ++ ++ has_partitions = true; ++ break; ++ } ++ ++ /* ++ * We have partitions and re-read the table, the kernel already sent ++ * out a "change" event for the disk, and "remove/add" for all ++ * partitions. ++ */ ++ if (part_table_read && has_partitions) ++ return 0; ++ ++ /* ++ * We have partitions but re-reading the partition table did not ++ * work, synthesize "change" for the disk and all partitions. ++ */ ++ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); ++ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); ++ write_string_file(filename, "change"); ++ + udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { + _cleanup_udev_device_unref_ struct udev_device *d = NULL; + diff --git a/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch b/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch new file mode 100644 index 00000000..4a6d7c13 --- /dev/null +++ b/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch @@ -0,0 +1,29 @@ +From 02ba8fb3357daf57f6120ac512fb464a4c623419 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 4 Jun 2014 16:21:19 +0200 +Subject: [PATCH] udev: guard REREADPT by exclusive lock instead of O_EXCL + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -758,9 +758,12 @@ static int synthesize_change(struct udev + * partition table is found, and we will not get an event for + * the disk. + */ +- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); ++ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + if (fd >= 0) { +- r = ioctl(fd, BLKRRPART, 0); ++ r = flock(fd, LOCK_EX|LOCK_NB); ++ if (r >= 0) ++ r = ioctl(fd, BLKRRPART, 0); ++ + close(fd); + if (r >= 0) + part_table_read = true; diff --git a/1033-udev-really-exclude-device-mapper-from-block-device.patch b/1033-udev-really-exclude-device-mapper-from-block-device.patch new file mode 100644 index 00000000..594331c3 --- /dev/null +++ b/1033-udev-really-exclude-device-mapper-from-block-device.patch @@ -0,0 +1,39 @@ +From 638ca89c53e2b897cfb3f627f4acbc7d09af2f4c Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 10 Jun 2014 15:51:15 +0200 +Subject: [PATCH] udev: really exclude device-mapper from block device + ownership event locking + +Arguments were wrong order, no? +This fixes commits: + +e918a1b5a94f270186dca59156354acd2a596494 +3d06f4183470d42361303086ed9dedd29c0ffc1b + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -304,7 +304,7 @@ static void worker_new(struct event *eve + * IMHO this sounds like a good plan for this moment + */ + if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- !startswith("dm-", udev_device_get_sysname(dev))) { ++ !startswith(udev_device_get_sysname(dev), "dm-")) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +@@ -744,7 +744,7 @@ static int synthesize_change(struct udev + + if (streq_ptr("block", udev_device_get_subsystem(dev)) && + streq_ptr("disk", udev_device_get_devtype(dev)) && +- !startswith("dm-", udev_device_get_sysname(dev))) { ++ !startswith(udev_device_get_sysname(dev), "dm-")) { + bool part_table_read = false; + bool has_partitions = false; + int fd; diff --git a/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch b/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch new file mode 100644 index 00000000..c2a21fce --- /dev/null +++ b/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch @@ -0,0 +1,26 @@ +From 47a3fa0f7679521b85f7aeba9e245c52cc7bb2cb Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Wed, 4 Jun 2014 23:40:43 +0200 +Subject: [PATCH] udev: check the return value from udev_enumerate_scan_devices + +The return value from udev_enumerate_scan_devices was stored but +never used. I assume this was meant to be checked. + +Signed-off-by: Robert Milasan +--- + src/udev/udevd.c | 2 ++ + 1 file changed, 2 insertions(+) + +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -783,6 +783,8 @@ static int synthesize_change(struct udev + return r; + + r = udev_enumerate_scan_devices(e); ++ if (r < 0) ++ return r; + + udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { + _cleanup_udev_device_unref_ struct udev_device *d = NULL; diff --git a/1038-udev-fix-invalid-free-in-enable_name_policy.patch b/1038-udev-fix-invalid-free-in-enable_name_policy.patch new file mode 100644 index 00000000..4afdb7ce --- /dev/null +++ b/1038-udev-fix-invalid-free-in-enable_name_policy.patch @@ -0,0 +1,30 @@ +From f8a0bb5285024b6ce372c3157e761e6543ebdcd2 Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Fri, 13 Jun 2014 18:48:21 +0200 +Subject: [PATCH] udev: fix invalid free() in enable_name_policy() + +static bool enable_name_policy(...) in ./src/udev/net/link-config.c +calls proc_cmdline(...) to get "line" initialized, but +proc_cmdline(...) does not guarantee that atleast when both +conditions (detect_container(NULL) > 0) and +read_full_file(...) returned < 0. +--- + src/udev/net/link-config.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/net/link-config.c src/udev/net/link-config.c +index a9acc3d..7a9d01b 100644 +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c +@@ -185,7 +185,7 @@ static int load_link(link_config_ctx *ctx, const char *filename) { + } + + static bool enable_name_policy(void) { +- _cleanup_free_ char *line; ++ _cleanup_free_ char *line = NULL; + char *w, *state; + int r; + size_t l; +-- +1.7.9.2 + diff --git a/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch b/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch new file mode 100644 index 00000000..2760970f --- /dev/null +++ b/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch @@ -0,0 +1,34 @@ +From 83be2c398589a3d64db5999cfd5527c5219bff46 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 20 May 2014 12:25:16 +0200 +Subject: [PATCH] udevadm-settle: fixed return code for empty queue + +If the udev queue is empty and "/run/udev/queue" does not exist, +"udevadm settle" would return with EXIT_FAILURE, because the inotify on +"/run/udev/queue" would fail with ENOENT. + +This patch lets "udevadm settle" exit with EXIT_SUCCESS in this case. +--- + src/udev/udevadm-settle.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 65fc35f..66fd843 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -116,7 +116,11 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + } + + if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { +- log_debug("watching /run/udev failed"); ++ /* If it does not exist, we don't have to wait */ ++ if (errno == ENOENT) ++ rc = EXIT_SUCCESS; ++ else ++ log_debug("watching /run/udev/queue failed"); + goto out; + } + +-- +1.7.9.2 + diff --git a/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch b/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch new file mode 100644 index 00000000..21d21356 --- /dev/null +++ b/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch @@ -0,0 +1,25 @@ +From 45e60962b7965f32755a76b79a28126299aac149 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 27 Jun 2014 14:20:17 +0200 +Subject: [PATCH] libudev: fix udev_queue_get_queue_is_empty() logic + +--- + src/libudev/libudev-queue.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index eb0e096..c32a7ef 100644 +--- src/libudev/libudev-queue.c ++++ src/libudev/libudev-queue.c +@@ -175,7 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) + **/ + _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) + { +- return access("/run/udev/queue", F_OK) >= 0; ++ return access("/run/udev/queue", F_OK) < 0; + } + + /** +-- +1.7.9.2 + diff --git a/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch b/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch new file mode 100644 index 00000000..a9458e36 --- /dev/null +++ b/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch @@ -0,0 +1,248 @@ +Based on 14cb733684d3c3f50d088a3a370ddf8e8894dfa4 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 27 Jun 2014 17:42:44 +0200 +Subject: [PATCH] libudev: queue provide file descriptor to watch busy event + queue + +--- + docs/libudev/libudev-sections.txt | 2 ++ + src/libudev/libudev-queue.c | 46 +++++++++++++++++++++++++++++++++++ + src/libudev/libudev.h | 2 ++ + src/libudev/libudev.sym | 2 ++ + src/udev/udevadm-settle.c | 48 ++++++++++++++++--------------------- + 5 files changed, 73 insertions(+), 27 deletions(-) + +diff --git docs/libudev/libudev-sections.txt docs/libudev/libudev-sections.txt +index c154645..8a31ded 100644 +--- docs/libudev/libudev-sections.txt ++++ docs/libudev/libudev-sections.txt +@@ -116,6 +116,8 @@ udev_queue_get_seqnum_sequence_is_finished + udev_queue_get_queued_list_entry + udev_queue_get_kernel_seqnum + udev_queue_get_udev_seqnum ++udev_queue_get_fd ++udev_queue_flush +
+ +
+diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index c32a7ef..d4334b4 100644 +--- src/libudev/libudev-queue.c ++++ src/libudev/libudev-queue.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include "libudev.h" + #include "libudev-private.h" +@@ -45,6 +46,7 @@ + struct udev_queue { + struct udev *udev; + int refcount; ++ int fd; + }; + + /** +@@ -69,6 +71,7 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) + + udev_queue->refcount = 1; + udev_queue->udev = udev; ++ udev_queue->fd = -1; + return udev_queue; + } + +@@ -107,6 +110,9 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) + if (udev_queue->refcount > 0) + return NULL; + ++ if (udev_queue->fd >= 0) ++ close_nointr_nofail(udev_queue->fd); ++ + free(udev_queue); + return NULL; + } +@@ -222,3 +228,44 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu + { + return NULL; + } ++ ++/** ++ * udev_queue_get_fd: ++ * @udev_queue: udev queue context ++ * ++ * Returns: a file descriptor to watch for a queue to become empty. ++ */ ++_public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { ++ int fd; ++ int r; ++ ++ if (udev_queue->fd >= 0) ++ return udev_queue->fd; ++ ++ fd = inotify_init1(IN_CLOEXEC); ++ if (fd < 0) ++ return -errno; ++ ++ r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); ++ if (r < 0) { ++ r = -errno; ++ close(fd); ++ return r; ++ } ++ ++ udev_queue->fd = fd; ++ return fd; ++} ++ ++/** ++ * udev_queue_flush: ++ * @udev_queue: udev queue context ++ * ++ * Returns: the result of clearing the watch for queue changes. ++ */ ++_public_ int udev_queue_flush(struct udev_queue *udev_queue) { ++ if (udev_queue->fd < 0) ++ return -EINVAL; ++ ++ return flush_fd(udev_queue->fd); ++} +diff --git src/libudev/libudev.h src/libudev/libudev.h +index ceb89bd..4f2f115 100644 +--- src/libudev/libudev.h ++++ src/libudev/libudev.h +@@ -177,6 +177,8 @@ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); + int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); + int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, + unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); ++int udev_queue_get_fd(struct udev_queue *udev_queue); ++int udev_queue_flush(struct udev_queue *udev_queue); + struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); + + /* +diff --git src/libudev/libudev.sym src/libudev/libudev.sym +index 1e6f885..95cd1c7 100644 +--- src/libudev/libudev.sym ++++ src/libudev/libudev.sym +@@ -82,6 +82,8 @@ global: + udev_queue_get_udev; + udev_queue_get_udev_is_active; + udev_queue_get_udev_seqnum; ++ udev_queue_get_fd; ++ udev_queue_flush; + udev_queue_new; + udev_queue_ref; + udev_queue_unref; +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 66fd843..79e8b59 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -29,7 +29,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -59,7 +58,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + const char *exists = NULL; + unsigned int timeout = 120; + struct pollfd pfd[1] = { {.fd = -1}, }; +- int rc = EXIT_FAILURE, c; ++ int c; ++ struct udev_queue *queue; ++ int rc = EXIT_FAILURE; + + while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { + switch (c) { +@@ -79,9 +80,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + break; + case 'h': + help(); +- exit(EXIT_SUCCESS); ++ return EXIT_SUCCESS; + case '?': +- exit(EXIT_FAILURE); ++ return EXIT_FAILURE; + default: + assert_not_reached("Unknown argument"); + } +@@ -89,7 +90,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + + if (optind < argc) { + fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); +- exit(EXIT_FAILURE); ++ return EXIT_FAILURE; + } + + /* guarantee that the udev daemon isn't pre-processing */ +@@ -101,26 +102,23 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + if (udev_ctrl_send_ping(uctrl, timeout) < 0) { + log_debug("no connection to daemon"); + udev_ctrl_unref(uctrl); +- rc = EXIT_SUCCESS; +- goto out; ++ return EXIT_SUCCESS; + } + udev_ctrl_unref(uctrl); + } + } + +- pfd[0].events = POLLIN; +- pfd[0].fd = inotify_init1(IN_CLOEXEC); +- if (pfd[0].fd < 0) { +- log_error("inotify_init failed: %m"); +- goto out; ++ queue = udev_queue_new(udev); ++ if (!queue) { ++ log_error("unable to get udev queue"); ++ return EXIT_FAILURE; + } + +- if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { +- /* If it does not exist, we don't have to wait */ +- if (errno == ENOENT) +- rc = EXIT_SUCCESS; +- else +- log_debug("watching /run/udev/queue failed"); ++ pfd[0].events = POLLIN; ++ pfd[0].fd = udev_queue_get_fd(queue); ++ if (pfd[0].fd < 0) { ++ log_debug("queue is empty, nothing to watch"); ++ rc = EXIT_SUCCESS; + goto out; + } + +@@ -131,22 +129,18 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + } + + /* exit if queue is empty */ +- if (access("/run/udev/queue", F_OK) < 0) { ++ if (udev_queue_get_queue_is_empty(queue)) { + rc = EXIT_SUCCESS; + break; + } + +- /* wake up when "queue" file is deleted */ +- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { +- char buf[sizeof(struct inotify_event) + PATH_MAX]; +- +- read(pfd[0].fd, buf, sizeof(buf)); +- } ++ /* wake up when queue is empty */ ++ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) ++ udev_queue_flush(queue); + } + + out: +- if (pfd[0].fd >= 0) +- close(pfd[0].fd); ++ udev_queue_unref(queue); + return rc; + } + +-- +1.7.9.2 + diff --git a/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch b/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch new file mode 100644 index 00000000..78c1c084 --- /dev/null +++ b/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch @@ -0,0 +1,40 @@ +From 8a7a0c19edd2d971d4aa9d635f7978af841e8278 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Fri, 27 Jun 2014 19:54:45 +0200 +Subject: [PATCH] libudev: queue - watch entire directory to allow the re-use + of the watch descriptor + +--- + src/libudev/libudev-queue.c | 2 +- + src/udev/udevadm-settle.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c +index d4334b4..8ef1f3d 100644 +--- src/libudev/libudev-queue.c ++++ src/libudev/libudev-queue.c +@@ -245,7 +245,7 @@ _public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { + if (fd < 0) + return -errno; + +- r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); ++ r = inotify_add_watch(fd, "/run/udev" , IN_DELETE); + if (r < 0) { + r = -errno; + close(fd); +diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c +index 79e8b59..fa5b0c2 100644 +--- src/udev/udevadm-settle.c ++++ src/udev/udevadm-settle.c +@@ -135,7 +135,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) + } + + /* wake up when queue is empty */ +- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) ++ if (poll(pfd, 1, MSEC_PER_SEC) > 0 && pfd[0].revents & POLLIN) + udev_queue_flush(queue); + } + +-- +1.7.9.2 + diff --git a/1044-rules-update-qemu-hid-rules.patch b/1044-rules-update-qemu-hid-rules.patch new file mode 100644 index 00000000..52741afe --- /dev/null +++ b/1044-rules-update-qemu-hid-rules.patch @@ -0,0 +1,45 @@ +From cd31d1884f1ecf38e11bc6268f446d75dfafbc25 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 24 Mar 2014 12:07:41 +0100 +Subject: [PATCH] rules: update qemu hid rules + +Update comment to be a bit more specific. + +Change match to blacklist the serial number of the broken devices +instead of whitelisting the serial number of the fixed devices. +This allows to do something useful with the serial number in the +future. +--- + rules/42-usb-hid-pm.rules | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules +index 3fd6e8a..c675b5b 100644 +--- rules/42-usb-hid-pm.rules ++++ rules/42-usb-hid-pm.rules +@@ -2,14 +2,15 @@ + # + # Enable autosuspend for qemu emulated usb hid devices + +-# Note that there are buggy qemu versions which advertise remote +-# wakeup support but don't actually implement it correctly. This +-# is the reason why we need a match for the serial number here. +-# The serial number "42" is used to tag the implementations where ++# Note that there are buggy qemu versions (0.13 & older) which ++# advertise remote wakeup support but don't actually implement ++# it correctly. This is the reason why we need a match for the ++# serial number here. Old, broken versions have serial "1". ++# It has been changed to "42" after fixing the bug to indicate + # remote wakeup is working. +-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" +-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" +-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" ++ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" ++ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" ++ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + + # Catch-all for Avocent HID devices. Keyed off interface in order to only + # trigger on HID class devices. +-- +1.7.9.2 + diff --git a/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch b/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch new file mode 100644 index 00000000..cd1f72c7 --- /dev/null +++ b/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch @@ -0,0 +1,29 @@ +Based on 52fb538361053f8c4abce0e40cd0bae3d28ceb16 Mon Sep 17 00:00:00 2001 +From: Tom Hirst +Date: Wed, 25 Jun 2014 11:57:11 +0000 +Subject: [PATCH] rules: don't enable usb pm for Avocent devices + +The Avocent KVM over IP devices doesn't work correctly with USB power +management enabled. +--- + rules/42-usb-hid-pm.rules | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules +index c675b5b..4c300da 100644 +--- rules/42-usb-hid-pm.rules ++++ rules/42-usb-hid-pm.rules +@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!= + ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + +-# Catch-all for Avocent HID devices. Keyed off interface in order to only +-# trigger on HID class devices. +-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto" +- + # Dell DRAC 4 + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto" + +-- +1.7.9.2 + diff --git a/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch b/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch new file mode 100644 index 00000000..47fce280 --- /dev/null +++ b/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch @@ -0,0 +1,61 @@ +From 01d4590b775661ebc71c7b81b0c62ccd69395268 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Jul 2014 15:13:29 +0200 +Subject: [PATCH] udev: net_setup_link builtin should print the reason why + something fails + +Let's tell users what is going wrong. +--- + src/udev/udev-builtin-net_setup_link.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c +index 3cd384e..6207269 100644 +--- src/udev/udev-builtin-net_setup_link.c ++++ src/udev/udev-builtin-net_setup_link.c +@@ -43,17 +43,17 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv + r = link_config_get(ctx, dev, &link); + if (r < 0) { + if (r == -ENOENT) { +- log_debug("No matching link configuration found"); ++ log_debug("No matching link configuration found."); + return EXIT_SUCCESS; + } else { +- log_error("Could not get link config"); ++ log_error("Could not get link config: %s", strerror(-r)); + return EXIT_FAILURE; + } + } + + r = link_config_apply(ctx, link, dev, &name); + if (r < 0) { +- log_error("Could not apply link config to %s", udev_device_get_sysname(dev)); ++ log_error("Could not apply link config to %s: %s", udev_device_get_sysname(dev), strerror(-r)); + return EXIT_FAILURE; + } + +@@ -77,18 +77,18 @@ static int builtin_net_setup_link_init(struct udev *udev) { + if (r < 0) + return r; + +- log_debug("Created link configuration context"); ++ log_debug("Created link configuration context."); + return 0; + } + + static void builtin_net_setup_link_exit(struct udev *udev) { + link_config_ctx_free(ctx); + ctx = NULL; +- log_debug("Unloaded link configuration context"); ++ log_debug("Unloaded link configuration context."); + } + + static bool builtin_net_setup_link_validate(struct udev *udev) { +- log_debug("Check if link configuration needs reloading"); ++ log_debug("Check if link configuration needs reloading."); + if (!ctx) + return false; + +-- +1.7.9.2 + diff --git a/1048-udev-net_setup_link-add-a-bit-more-logging.patch b/1048-udev-net_setup_link-add-a-bit-more-logging.patch new file mode 100644 index 00000000..740e3c36 --- /dev/null +++ b/1048-udev-net_setup_link-add-a-bit-more-logging.patch @@ -0,0 +1,39 @@ +From 866ee3682213789f85b877700457fdca05695a0e Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 3 Jul 2014 09:57:27 +0200 +Subject: [PATCH] udev: net_setup_link - add a bit more logging + +--- + src/udev/net/link-config.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git src/udev/net/link-config.c src/udev/net/link-config.c +index 7a9d01b..b8650a6 100644 +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c +@@ -92,14 +92,20 @@ static int link_config_ctx_connect(link_config_ctx *ctx) { + + if (ctx->ethtool_fd == -1) { + r = ethtool_connect(&ctx->ethtool_fd); +- if (r < 0) ++ if (r < 0) { ++ log_warning("link_config: could not connect to ethtool: %s", ++ strerror(-r)); + return r; ++ } + } + + if (!ctx->rtnl) { + r = sd_rtnl_open(&ctx->rtnl, 0); +- if (r < 0) ++ if (r < 0) { ++ log_warning("link_config: could not connect to rtnl: %s", ++ strerror(-r)); + return r; ++ } + } + + return 0; +-- +1.7.9.2 + diff --git a/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch b/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch new file mode 100644 index 00000000..6b3d7ec6 --- /dev/null +++ b/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch @@ -0,0 +1,36 @@ +Based on a669ea9860900d5cdebbc4cb9aaea72db7e28a02 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 7 Jul 2014 14:50:16 +0200 +Subject: [PATCH] udev: link_config - ignore errors due to missing MAC address + +Otherwis, we get misleading error messages on links with MACs. + +Reported by Leonid Isaev. +--- + src/udev/net/link-config.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- src/udev/net/link-config.c ++++ src/udev/net/link-config.c 2014-07-08 10:44:19.450735575 +0000 +@@ -440,7 +440,9 @@ int link_config_apply(link_config_ctx *c + case MACPOLICY_PERSISTENT: + if (!mac_is_permanent(device)) { + r = get_mac(device, false, &generated_mac); +- if (r < 0) ++ if (r == -ENOENT) ++ break; ++ else if (r < 0) + return r; + mac = &generated_mac; + } +@@ -448,7 +450,9 @@ int link_config_apply(link_config_ctx *c + case MACPOLICY_RANDOM: + if (!mac_is_random(device)) { + r = get_mac(device, true, &generated_mac); +- if (r < 0) ++ if (r == -ENOENT) ++ break; ++ else if (r < 0) + return r; + mac = &generated_mac; + } diff --git a/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch b/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch new file mode 100644 index 00000000..edab1583 --- /dev/null +++ b/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch @@ -0,0 +1,45 @@ +From 30632d97d9d68c8202e562f34afae8f8d6e9c377 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 15 Jul 2014 17:35:53 +0200 +Subject: [PATCH] rules: uaccess - add ID_SOFTWARE_RADIO + +On Tue, Jul 15, 2014 at 1:52 PM, Alick Zhao wrote: +>>> +>>> So maybe ID_SOFTWARE_RADIO ? +>> +>> Hmm, SDR is more a term for a generic technology than for a device +>> class. To me it does not really sound like an administrator would know +>> what this is. +>> +>> What exactly is the device or subsystem you want to make accessible to +>> locally logged-in users only? +> +> Initially it is bladeRF, but many more are of interest: USRP, rtl-sdr, +> HackRF, ... [1] +> +> I agree an administrator might not know what SDR is, since it is +> currently still not widely known, and makes sense only for amateurs +> and researchers. But as a SDR fan, I see many new SDR peripherals +> are created recently, and expect to see more. So a generic ID seems +> reasonable to me. +> +> [1] http://en.wikipedia.org/wiki/List_of_software-defined_radios +--- + src/login/70-uaccess.rules | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/login/70-uaccess.rules src/login/70-uaccess.rules +index 57f619d..694df2c 100644 +--- src/login/70-uaccess.rules ++++ src/login/70-uaccess.rules +@@ -72,4 +72,7 @@ ENV{DDC_DEVICE}=="?*", TAG+="uaccess" + # media player raw devices (for user-mode drivers, Android SDK, etc.) + SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess" + ++# software-defined radio communication devices ++ENV{ID_SOFTWARE_RADIO}=="?*", TAG+="uaccess" ++ + LABEL="uaccess_end" +-- +1.7.9.2 + diff --git a/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch b/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch new file mode 100644 index 00000000..ecf11ad5 --- /dev/null +++ b/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch @@ -0,0 +1,53 @@ +From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 24 Jul 2014 23:37:35 +0200 +Subject: [PATCH] udev: exclude MD from block device ownership event locking + +MD instantiates devices at open(). This is incomptible with the +locking logic, as the "change" event emitted when stopping a +device will bring it back. +--- + src/udev/udevd.c | 23 +++++++---------------- + 1 file changed, 7 insertions(+), 16 deletions(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index a45d324..db935d6 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -285,26 +285,17 @@ static void worker_new(struct event *event) + udev_event->exec_delay = exec_delay; + + /* +- * Take a "read lock" on the device node; this establishes ++ * Take a shared lock on the device node; this establishes + * a concept of device "ownership" to serialize device +- * access. External processes holding a "write lock" will ++ * access. External processes holding an exclusive lock will + * cause udev to skip the event handling; in the case udev +- * acquired the lock, the external process will block until ++ * acquired the lock, the external process can block until + * udev has finished its event handling. + */ +- +- /* +- * since we make check - device seems unused - we try +- * ioctl to deactivate - and device is found to be opened +- * sure, you try to take a write lock +- * if you get it udev is out +- * if you can't get it, udev is busy +- * we cannot deactivate openned device (as it is in-use) +- * maybe we should just exclude dm from that thing entirely +- * IMHO this sounds like a good plan for this moment +- */ +- if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- !startswith(udev_device_get_sysname(dev), "dm-")) { ++ if (!streq_ptr(udev_device_get_action(dev), "remove") && ++ streq_ptr("block", udev_device_get_subsystem(dev)) && ++ !startswith(udev_device_get_sysname(dev), "dm-") && ++ !startswith(udev_device_get_sysname(dev), "md")) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +-- +1.7.9.2 + diff --git a/1056-udevd-add-event-timeout-commandline-option.patch b/1056-udevd-add-event-timeout-commandline-option.patch new file mode 100644 index 00000000..1f670688 --- /dev/null +++ b/1056-udevd-add-event-timeout-commandline-option.patch @@ -0,0 +1,119 @@ +From 9719859c07aa13539ed2cd4b31972cd30f678543 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Tue, 29 Jul 2014 09:06:14 +0200 +Subject: [PATCH] udevd: add --event-timeout commandline option + +Some events take longer than the default 30 seconds. Killing those +events will leave the machine halfway configured. + +Add a commandline option '--event-timeout' to handle these cases. +--- + man/systemd-udevd.service.xml | 19 +++++++++++++++++++ + src/udev/udevd.c | 12 +++++++++++- + 2 files changed, 30 insertions(+), 1 deletion(-) + +diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml +index f44b7a0..8de43b1 100644 +--- man/systemd-udevd.service.xml ++++ man/systemd-udevd.service.xml +@@ -44,6 +44,7 @@ + + + ++ + + + +@@ -96,6 +97,15 @@ + + + ++ ++ ++ Wait for the event to finish up to the given ++ number of seconds. After this time the event will ++ be terminated. Default is 30. ++ ++ ++ ++ + + + Specify when systemd-udevd should resolve names of users and groups. +@@ -156,6 +166,15 @@ + + + ++ udev.event-timeout= ++ rd.udev.event-timeout= ++ ++ Wait for events to finish up to the given number ++ of seconds. This option might be useful if events are ++ terminated due to a timeout in large configurations. ++ ++ ++ + net.ifnames= + + Network interfaces are renamed to give them predictable names +diff --git src/udev/udevd.c src/udev/udevd.c +index db935d6..c5dd739 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,6 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; ++static int event_timeout = 30; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -312,6 +313,9 @@ static void worker_new(struct event *event) + } + } + ++ if (event_timeout != 30) ++ udev_event->timeout_usec = event_timeout * USEC_PER_SEC; ++ + /* apply rules, create node, symlinks */ + udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +@@ -1009,6 +1013,8 @@ static void kernel_cmdline_options(struct udev *udev) + children_max = strtoul(opt + 18, NULL, 0); + } else if (startswith(opt, "udev.exec-delay=")) { + exec_delay = strtoul(opt + 16, NULL, 0); ++ } else if (startswith(opt, "udev.event-timeout=")) { ++ event_timeout = strtoul(opt + 16, NULL, 0); + } + + free(s); +@@ -1026,6 +1032,7 @@ int main(int argc, char *argv[]) + { "debug", no_argument, NULL, 'D' }, + { "children-max", required_argument, NULL, 'c' }, + { "exec-delay", required_argument, NULL, 'e' }, ++ { "event-timeout", required_argument, NULL, 't' }, + { "resolve-names", required_argument, NULL, 'N' }, + { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, 'V' }, +@@ -1069,6 +1076,9 @@ int main(int argc, char *argv[]) + case 'e': + exec_delay = strtoul(optarg, NULL, 0); + break; ++ case 't': ++ event_timeout = strtoul(optarg, NULL, 0); ++ break; + case 'D': + debug = true; + log_set_max_level(LOG_DEBUG); +@@ -1406,7 +1416,7 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { + log_error("worker [%u] %s timeout; kill it", worker->pid, + worker->event ? worker->event->devpath : ""); + kill(worker->pid, SIGKILL); +-- +1.7.9.2 + diff --git a/1057-udev-unify-event-timeout-handling.patch b/1057-udev-unify-event-timeout-handling.patch new file mode 100644 index 00000000..9aa819b6 --- /dev/null +++ b/1057-udev-unify-event-timeout-handling.patch @@ -0,0 +1,504 @@ +From dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 29 Jul 2014 15:18:27 +0200 +Subject: [PATCH] udev: unify event timeout handling + +--- + man/systemd-udevd.service.xml | 7 +++--- + man/udev.xml | 7 ------ + src/test/test-udev.c | 5 ++-- + src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- + src/udev/udev-rules.c | 38 ++++++++--------------------- + src/udev/udev.h | 8 +++---- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 32 ++++++++++--------------- + 8 files changed, 61 insertions(+), 91 deletions(-) + +diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml +index 8de43b1..3053dc7 100644 +--- man/systemd-udevd.service.xml ++++ man/systemd-udevd.service.xml +@@ -99,9 +99,8 @@ + + + +- Wait for the event to finish up to the given +- number of seconds. After this time the event will +- be terminated. Default is 30. ++ Set the number of seconds to wait for events to finish. After ++ this time the event will be terminated. The default is 30 seconds. + + + +@@ -171,7 +170,7 @@ + + Wait for events to finish up to the given number + of seconds. This option might be useful if events are +- terminated due to a timeout in large configurations. ++ terminated due to kernel drivers taking too long to initialize. + + + +diff --git man/udev.xml man/udev.xml +index 4e5f8f0..123c073 100644 +--- man/udev.xml ++++ man/udev.xml +@@ -516,13 +516,6 @@ + + + +- +- +- Number of seconds an event waits for operations to finish before +- giving up and terminating itself. +- +- +- + + + Usually control and other possibly unsafe characters are replaced +diff --git src/test/test-udev.c src/test/test-udev.c +index b057cc8..26d6537 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -80,7 +80,6 @@ out: + return err; + } + +- + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; +@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 5213a4a..6ad80d5 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) + udev_list_init(udev, &event->seclabel_list, false); + event->fd_signal = -1; + event->birth_usec = now(CLOCK_MONOTONIC); +- event->timeout_usec = 30 * 1000 * 1000; + return event; + } + +@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, + } + + static void spawn_read(struct udev_event *event, +- const char *cmd, +- int fd_stdout, int fd_stderr, +- char *result, size_t ressize) ++ usec_t timeout_usec, ++ const char *cmd, ++ int fd_stdout, int fd_stderr, ++ char *result, size_t ressize) + { + size_t respos = 0; + int fd_ep = -1; +@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, + struct epoll_event ev[4]; + int i; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) { ++ if (age_usec >= timeout_usec) { + log_error("timeout '%s'", cmd); + goto out; + } +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -543,8 +543,9 @@ out: + close(fd_ep); + } + +-static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) +-{ ++static int spawn_wait(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; + +@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) + int timeout; + int fdcount; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) ++ if (age_usec >= timeout_usec) + timeout = 1000; + else +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -657,9 +658,9 @@ out: + } + + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, +- char *result, size_t ressize) +-{ ++ char *result, size_t ressize) { + struct udev *udev = event->udev; + int outpipe[2] = {-1, -1}; + int errpipe[2] = {-1, -1}; +@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, + errpipe[WRITE_END] = -1; + } + +- spawn_read(event, cmd, +- outpipe[READ_END], errpipe[READ_END], +- result, ressize); ++ spawn_read(event, ++ timeout_usec, ++ cmd, ++ outpipe[READ_END], errpipe[READ_END], ++ result, ressize); + +- err = spawn_wait(event, cmd, pid); ++ err = spawn_wait(event, timeout_usec, cmd, pid); + } + + out: +@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) + return r; + } + +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) +-{ ++void udev_event_execute_rules(struct udev_event *event, ++ usec_t timeout_usec, ++ struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + + if (udev_device_get_subsystem(dev) == NULL) +@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + udev_watch_end(event->udev, event->dev_db); + } + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + } + } + +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +-{ ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9864016..aacde38 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -137,7 +137,6 @@ enum token_type { + TK_M_PARENTS_MAX, + + TK_M_TEST, /* val, mode_t */ +- TK_M_EVENT_TIMEOUT, /* int */ + TK_M_PROGRAM, /* val */ + TK_M_IMPORT_FILE, /* val */ + TK_M_IMPORT_PROG, /* val */ +@@ -201,7 +200,6 @@ struct token { + uid_t uid; + gid_t gid; + int devlink_prio; +- int event_timeout; + int watch; + enum udev_builtin_cmd builtin_cmd; + }; +@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) + [TK_M_PARENTS_MAX] = "M PARENTS_MAX", + + [TK_M_TEST] = "M TEST", +- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", + [TK_M_PROGRAM] = "M PROGRAM", + [TK_M_IMPORT_FILE] = "M IMPORT_FILE", + [TK_M_IMPORT_PROG] = "M IMPORT_PROG", +@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) + case TK_A_SECLABEL: + log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); + break; +- case TK_M_EVENT_TIMEOUT: +- log_debug("%s %u", token_str(type), token->key.event_timeout); +- break; + case TK_A_GOTO: + log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); + break; +@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + return 0; + } + +-static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) +-{ ++static int import_program_into_properties(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; + char result[UTIL_LINE_SIZE]; +@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, + case TK_A_MODE_ID: + token->key.mode = *(mode_t *)data; + break; +- case TK_M_EVENT_TIMEOUT: +- token->key.event_timeout = *(int *)data; +- break; + case TK_RULE: + case TK_M_PARENTS_MIN: + case TK_M_PARENTS_MAX: +@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, + rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); + } + +- pos = strstr(value, "event_timeout="); +- if (pos != NULL) { +- int tout = atoi(&pos[strlen("event_timeout=")]); +- +- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); +- } +- +- pos = strstr(value, "string_escape="); + if (pos != NULL) { + pos = &pos[strlen("string_escape=")]; + if (startswith(pos, "none")) +@@ -1829,8 +1813,10 @@ enum escape_type { + ESCAPE_REPLACE, + }; + +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) +-{ ++int udev_rules_apply_to_event(struct udev_rules *rules, ++ struct udev_event *event, ++ usec_t timeout_usec, ++ const sigset_t *sigmask) { + struct token *cur; + struct token *rule; + enum escape_type esc = ESCAPE_UNSET; +@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + goto nomatch; + break; + } +- case TK_M_EVENT_TIMEOUT: +- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); +- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; +- break; + case TK_M_PROGRAM: { + char program[UTIL_PATH_SIZE]; + char **envp; +@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index 62538bc..4aca70b 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -43,7 +43,6 @@ struct udev_event { + struct udev_list run_list; + int exec_delay; + usec_t birth_usec; +- usec_t timeout_usec; + int fd_signal; + unsigned int builtin_run; + unsigned int builtin_ret; +@@ -72,7 +71,7 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * + int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 6a2f548..52cc26c 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +diff --git src/udev/udevd.c src/udev/udevd.c +index c5dd739..dee7a87 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,7 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static int event_timeout = 30; ++static usec_t event_timeout_usec = 30 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -313,13 +313,10 @@ static void worker_new(struct event *event) + } + } + +- if (event_timeout != 30) +- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; +- + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) + } else if (startswith(opt, "udev.exec-delay=")) { + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { +- event_timeout = strtoul(opt + 16, NULL, 0); ++ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; + } + + free(s); + } + } + +-int main(int argc, char *argv[]) +-{ ++int main(int argc, char *argv[]) { + struct udev *udev; + sigset_t mask; + int daemonize = false; +@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) + exec_delay = strtoul(optarg, NULL, 0); + break; + case 't': +- event_timeout = strtoul(optarg, NULL, 0); ++ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; + break; + case 'D': + debug = true; +@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) + " --debug\n" + " --children-max=\n" + " --exec-delay=\n" ++ " --event-timeout=\n" + " --resolve-names=early|late|never\n" + " --version\n" + " --help\n" +@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, +- worker->event ? worker->event->devpath : ""); ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; + + /* drop reference taken for state 'running' */ + worker_unref(worker); +- if (worker->event) { +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event); +- worker->event = NULL; +- } ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event); ++ worker->event = NULL; + } + } + +-- +1.7.9.2 + diff --git a/1058-udev-unify-event-timeout-handling.patch b/1058-udev-unify-event-timeout-handling.patch new file mode 100644 index 00000000..a92d15f7 --- /dev/null +++ b/1058-udev-unify-event-timeout-handling.patch @@ -0,0 +1,504 @@ +Based on dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 29 Jul 2014 15:18:27 +0200 +Subject: [PATCH] udev: unify event timeout handling + +--- + man/systemd-udevd.service.xml | 7 +++--- + man/udev.xml | 7 ------ + src/test/test-udev.c | 5 ++-- + src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- + src/udev/udev-rules.c | 38 ++++++++--------------------- + src/udev/udev.h | 8 +++---- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 32 ++++++++++--------------- + 8 files changed, 61 insertions(+), 91 deletions(-) + +diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml +index 8de43b1..3053dc7 100644 +--- man/systemd-udevd.service.xml ++++ man/systemd-udevd.service.xml +@@ -99,9 +99,8 @@ + + + +- Wait for the event to finish up to the given +- number of seconds. After this time the event will +- be terminated. Default is 30. ++ Set the number of seconds to wait for events to finish. After ++ this time the event will be terminated. The default is 30 seconds. + + + +@@ -171,7 +170,7 @@ + + Wait for events to finish up to the given number + of seconds. This option might be useful if events are +- terminated due to a timeout in large configurations. ++ terminated due to kernel drivers taking too long to initialize. + + + +diff --git man/udev.xml man/udev.xml +index 4e5f8f0..123c073 100644 +--- man/udev.xml ++++ man/udev.xml +@@ -516,13 +516,6 @@ + + + +- +- +- Number of seconds an event waits for operations to finish before +- giving up and terminating itself. +- +- +- + + + Usually control and other possibly unsafe characters are replaced +diff --git src/test/test-udev.c src/test/test-udev.c +index b057cc8..26d6537 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -80,7 +80,6 @@ out: + return err; + } + +- + int main(int argc, char *argv[]) { + _cleanup_udev_unref_ struct udev *udev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; +@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 5213a4a..6ad80d5 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) + udev_list_init(udev, &event->seclabel_list, false); + event->fd_signal = -1; + event->birth_usec = now(CLOCK_MONOTONIC); +- event->timeout_usec = 30 * 1000 * 1000; + return event; + } + +@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, + } + + static void spawn_read(struct udev_event *event, +- const char *cmd, +- int fd_stdout, int fd_stderr, +- char *result, size_t ressize) ++ usec_t timeout_usec, ++ const char *cmd, ++ int fd_stdout, int fd_stderr, ++ char *result, size_t ressize) + { + size_t respos = 0; + int fd_ep = -1; +@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, + struct epoll_event ev[4]; + int i; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) { ++ if (age_usec >= timeout_usec) { + log_error("timeout '%s'", cmd); + goto out; + } +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -543,8 +543,9 @@ out: + close(fd_ep); + } + +-static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) +-{ ++static int spawn_wait(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; + +@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) + int timeout; + int fdcount; + +- if (event->timeout_usec > 0) { ++ if (timeout_usec > 0) { + usec_t age_usec; + + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; +- if (age_usec >= event->timeout_usec) ++ if (age_usec >= timeout_usec) + timeout = 1000; + else +- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; ++ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; + } else { + timeout = -1; + } +@@ -657,9 +658,9 @@ out: + } + + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, +- char *result, size_t ressize) +-{ ++ char *result, size_t ressize) { + struct udev *udev = event->udev; + int outpipe[2] = {-1, -1}; + int errpipe[2] = {-1, -1}; +@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, + errpipe[WRITE_END] = -1; + } + +- spawn_read(event, cmd, +- outpipe[READ_END], errpipe[READ_END], +- result, ressize); ++ spawn_read(event, ++ timeout_usec, ++ cmd, ++ outpipe[READ_END], errpipe[READ_END], ++ result, ressize); + +- err = spawn_wait(event, cmd, pid); ++ err = spawn_wait(event, timeout_usec, cmd, pid); + } + + out: +@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) + return r; + } + +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) +-{ ++void udev_event_execute_rules(struct udev_event *event, ++ usec_t timeout_usec, ++ struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + + if (udev_device_get_subsystem(dev) == NULL) +@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + udev_watch_end(event->udev, event->dev_db); + } + +- udev_rules_apply_to_event(rules, event, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules + } + } + +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +-{ ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9864016..aacde38 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -137,7 +137,6 @@ enum token_type { + TK_M_PARENTS_MAX, + + TK_M_TEST, /* val, mode_t */ +- TK_M_EVENT_TIMEOUT, /* int */ + TK_M_PROGRAM, /* val */ + TK_M_IMPORT_FILE, /* val */ + TK_M_IMPORT_PROG, /* val */ +@@ -201,7 +200,6 @@ struct token { + uid_t uid; + gid_t gid; + int devlink_prio; +- int event_timeout; + int watch; + enum udev_builtin_cmd builtin_cmd; + }; +@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) + [TK_M_PARENTS_MAX] = "M PARENTS_MAX", + + [TK_M_TEST] = "M TEST", +- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", + [TK_M_PROGRAM] = "M PROGRAM", + [TK_M_IMPORT_FILE] = "M IMPORT_FILE", + [TK_M_IMPORT_PROG] = "M IMPORT_PROG", +@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) + case TK_A_SECLABEL: + log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); + break; +- case TK_M_EVENT_TIMEOUT: +- log_debug("%s %u", token_str(type), token->key.event_timeout); +- break; + case TK_A_GOTO: + log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); + break; +@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + return 0; + } + +-static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) +-{ ++static int import_program_into_properties(struct udev_event *event, ++ usec_t timeout_usec, ++ const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; + char result[UTIL_LINE_SIZE]; +@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, + case TK_A_MODE_ID: + token->key.mode = *(mode_t *)data; + break; +- case TK_M_EVENT_TIMEOUT: +- token->key.event_timeout = *(int *)data; +- break; + case TK_RULE: + case TK_M_PARENTS_MIN: + case TK_M_PARENTS_MAX: +@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, + rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); + } + +- pos = strstr(value, "event_timeout="); +- if (pos != NULL) { +- int tout = atoi(&pos[strlen("event_timeout=")]); +- +- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); +- } +- +- pos = strstr(value, "string_escape="); + if (pos != NULL) { + pos = &pos[strlen("string_escape=")]; + if (startswith(pos, "none")) +@@ -1829,8 +1813,10 @@ enum escape_type { + ESCAPE_REPLACE, + }; + +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) +-{ ++int udev_rules_apply_to_event(struct udev_rules *rules, ++ struct udev_event *event, ++ usec_t timeout_usec, ++ const sigset_t *sigmask) { + struct token *cur; + struct token *rule; + enum escape_type esc = ESCAPE_UNSET; +@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + goto nomatch; + break; + } +- case TK_M_EVENT_TIMEOUT: +- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); +- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; +- break; + case TK_M_PROGRAM: { + char program[UTIL_PATH_SIZE]; + char **envp; +@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index 62538bc..4aca70b 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -43,7 +43,6 @@ struct udev_event { + struct udev_list run_list; + int exec_delay; + usec_t birth_usec; +- usec_t timeout_usec; + int fd_signal; + unsigned int builtin_run; + unsigned int builtin_ret; +@@ -72,7 +71,7 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * + int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, ++ usec_t timeout_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 6a2f548..52cc26c 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +diff --git src/udev/udevd.c src/udev/udevd.c +index c5dd739..dee7a87 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,7 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static int event_timeout = 30; ++static usec_t event_timeout_usec = 30 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -313,13 +313,10 @@ static void worker_new(struct event *event) + } + } + +- if (event_timeout != 30) +- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; +- + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) + } else if (startswith(opt, "udev.exec-delay=")) { + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { +- event_timeout = strtoul(opt + 16, NULL, 0); ++ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; + } + + free(s); + } + } + +-int main(int argc, char *argv[]) +-{ ++int main(int argc, char *argv[]) { + struct udev *udev; + sigset_t mask; + int daemonize = false; +@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) + exec_delay = strtoul(optarg, NULL, 0); + break; + case 't': +- event_timeout = strtoul(optarg, NULL, 0); ++ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; + break; + case 'D': + debug = true; +@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) + " --debug\n" + " --children-max=\n" + " --exec-delay=\n" ++ " --event-timeout=\n" + " --resolve-names=early|late|never\n" + " --version\n" + " --help\n" +@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, +- worker->event ? worker->event->devpath : ""); ++ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); + kill(worker->pid, SIGKILL); + worker->state = WORKER_KILLED; + + /* drop reference taken for state 'running' */ + worker_unref(worker); +- if (worker->event) { +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event, true); +- worker->event = NULL; +- } ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event, true); ++ worker->event = NULL; + } + } + +-- +1.7.9.2 + diff --git a/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch b/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch new file mode 100644 index 00000000..62d5d665 --- /dev/null +++ b/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch @@ -0,0 +1,26 @@ +From 9f20a8a376f924c8eb5423cfc1f98644fc1e2d1a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Wed, 30 Jul 2014 10:10:46 +0200 +Subject: [PATCH] udev: fixup commit dd5eddd28a74a49607a8fffcaf960040dba98479 + +Commit dd5eddd28a74a49607a8fffcaf960040dba98479 accidentally +removed one line too many. +--- + src/udev/udev-rules.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 59bc124..cc56215 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -1436,6 +1436,7 @@ static int add_rule(struct udev_rules *rules, char *line, + rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); + } + ++ pos = strstr(value, "string_escape="); + if (pos != NULL) { + pos = &pos[strlen("string_escape=")]; + if (startswith(pos, "none")) +-- +1.7.9.2 + diff --git a/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch b/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch new file mode 100644 index 00000000..20d064f8 --- /dev/null +++ b/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch @@ -0,0 +1,32 @@ +From b5df2eabf3fdd3e1663bc4c948812472084f3e96 Mon Sep 17 00:00:00 2001 +From: Kevin Wells +Date: Thu, 31 Jul 2014 17:38:21 +0200 +Subject: [PATCH] rules: allow systemd to manage loop device partitions + +SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*) +that do not have a backing_file. Partitioned loop devices (ex. loop0p1), +however, are matched by this rule and excluded by systemd even though +they are active devices. + +This change adds an additional check to the rule, ensuring that only +top level loop devices (loop[0-9]+$) are excluded from systemd. +--- + rules/99-systemd.rules.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in +index c3ef81b..aa435c4 100644 +--- rules/99-systemd.rules.in ++++ rules/99-systemd.rules.in +@@ -23,7 +23,7 @@ SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" + + # Ignore loop devices that don't have any file attached +-SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" ++SUBSYSTEM=="block", KERNEL=="loop[0-9]*", ENV{DEVTYPE}=="disk", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" + + # Ignore nbd devices in the "add" event, with "change" the nbd is ready + ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" +-- +1.7.9.2 + diff --git a/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch b/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch new file mode 100644 index 00000000..06966c4c --- /dev/null +++ b/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch @@ -0,0 +1,96 @@ +Based on e98bbfd2074e2b1079b7059341eac25741baf319 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 4 Aug 2014 18:15:34 +0200 +Subject: [PATCH] udev: path_id - suppress ID_PATH for devices with an unknown + parent device type + +https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1321816 +--- + src/udev/udev-builtin-path_id.c | 38 +++++++++++++++++++++++++++----------- + 1 file changed, 27 insertions(+), 11 deletions(-) + +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c 2014-08-22 14:08:59.250235369 +0000 +@@ -524,7 +524,8 @@ static int builtin_path_id(struct udev_d + { + struct udev_device *parent; + char *path = NULL; +- bool some_transport = false; ++ bool supported_transport = false; ++ bool supported_parent = false; + + /* S390 ccw bus */ + parent = udev_device_get_parent_with_subsystem_devtype(dev, "ccw", NULL); +@@ -545,47 +546,62 @@ static int builtin_path_id(struct udev_d + handle_scsi_tape(parent, &path); + } else if (streq(subsys, "scsi")) { + parent = handle_scsi(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "cciss")) { + parent = handle_cciss(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "usb")) { + parent = handle_usb(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "bcma")) { + parent = handle_bcma(parent, &path); +- some_transport = true; ++ supported_transport = true; + } else if (streq(subsys, "serio")) { + path_prepend(&path, "serio-%s", udev_device_get_sysnum(parent)); + parent = skip_subsystem(parent, "serio"); + } else if (streq(subsys, "pci")) { + path_prepend(&path, "pci-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "pci"); ++ supported_parent = true; + } else if (streq(subsys, "platform")) { + path_prepend(&path, "platform-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "platform"); +- some_transport = true; ++ supported_transport = true; ++ supported_parent = true; + } else if (streq(subsys, "acpi")) { + path_prepend(&path, "acpi-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "acpi"); ++ supported_parent = true; + } else if (streq(subsys, "xen")) { + path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "xen"); ++ supported_parent = true; + } else if (streq(subsys, "scm")) { + path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "scm"); +- some_transport = true; ++ supported_transport = true; ++ supported_parent = true; + } + + parent = udev_device_get_parent(parent); + } + + /* +- * Do not return a single-parent-device-only for block +- * devices, they might have entire buses behind it which +- * do not get unique IDs only by using the parent device. ++ * Do return devices with have an unknown type of parent device, they ++ * might produce conflicting IDs below multiple independent parent ++ * devices. + */ +- if (!some_transport && streq(udev_device_get_subsystem(dev), "block")) { ++ if (!supported_parent) { ++ free(path); ++ path = NULL; ++ } ++ ++ /* ++ * Do not return a have-only a single-parent block devices, some ++ * have entire hidden buses behind it, and not create predictable ++ * IDs that way. ++ */ ++ if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { + free(path); + path = NULL; + } diff --git a/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch b/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch new file mode 100644 index 00000000..07755c04 --- /dev/null +++ b/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch @@ -0,0 +1,63 @@ +From 77cf759ea05bea476cdcb8d0dcd04c4e6fb3b2ff Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 26 Aug 2014 18:27:36 +0200 +Subject: [PATCH] udev: hwdb - do not look at "usb_device" parents + +Based on a patch from Simon McVittie . + +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758050 +--- + src/udev/udev-builtin-hwdb.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git src/udev/udev-builtin-hwdb.c src/udev/udev-builtin-hwdb.c +index cac97e7..695a31a 100644 +--- src/udev/udev-builtin-hwdb.c ++++ src/udev/udev-builtin-hwdb.c +@@ -88,9 +88,10 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device + const char *filter, bool test) { + struct udev_device *d; + char s[16]; +- int n = 0; ++ bool last = false; ++ int r = 0; + +- for (d = srcdev; d; d = udev_device_get_parent(d)) { ++ for (d = srcdev; d && !last; d = udev_device_get_parent(d)) { + const char *dsubsys; + const char *modalias = NULL; + +@@ -104,19 +105,24 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device + + modalias = udev_device_get_property_value(d, "MODALIAS"); + +- /* the usb_device does not have a modalias, compose one */ +- if (!modalias && streq(dsubsys, "usb")) +- modalias = modalias_usb(d, s, sizeof(s)); ++ if (streq(dsubsys, "usb") && streq_ptr(udev_device_get_devtype(d), "usb_device")) { ++ /* if the usb_device does not have a modalias, compose one */ ++ if (!modalias) ++ modalias = modalias_usb(d, s, sizeof(s)); ++ ++ /* avoid looking at any parent device, they are usually just a USB hub */ ++ last = true; ++ } + + if (!modalias) + continue; + +- n = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); +- if (n > 0) ++ r = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); ++ if (r > 0) + break; + } + +- return n; ++ return r; + } + + static int builtin_hwdb(struct udev_device *dev, int argc, char *argv[], bool test) { +-- +1.7.9.2 + diff --git a/1065-udev-bump-event-timeout-to-60-seconds.patch b/1065-udev-bump-event-timeout-to-60-seconds.patch new file mode 100644 index 00000000..aae4da95 --- /dev/null +++ b/1065-udev-bump-event-timeout-to-60-seconds.patch @@ -0,0 +1,39 @@ +From 2e92633dbae52f5ac9b7b2e068935990d475d2cd Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 30 Aug 2014 11:36:32 +0200 +Subject: [PATCH] udev: bump event timeout to 60 seconds + +--- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 8486049..809adb6 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { + goto out; + } + +- udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +diff --git src/udev/udevd.c src/udev/udevd.c +index 9c2b0d5..e72c5b2 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -73,7 +73,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static usec_t event_timeout_usec = 30 * USEC_PER_SEC; ++static usec_t event_timeout_usec = 60 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +-- +1.7.9.2 + diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch index e08ad9f8..3bb4d407 100644 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch @@ -18,10 +18,8 @@ Signed-off-by: Jeff Mahoney src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ 4 files changed, 32 insertions(+), 7 deletions(-) -Index: systemd/rules/60-persistent-storage.rules -=================================================================== ---- systemd.orig/rules/60-persistent-storage.rules -+++ systemd/rules/60-persistent-storage.rules +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules @@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" @@ -33,11 +31,9 @@ Index: systemd/rules/60-persistent-storage.rules # firewire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" -Index: systemd/src/udev/scsi_id/scsi_id.c -=================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_id.c -+++ systemd/src/udev/scsi_id/scsi_id.c -@@ -43,6 +43,7 @@ static const struct option options[] = { +--- a/src/udev/scsi_id/scsi_id.c ++++ b/src/udev/scsi_id/scsi_id.c +@@ -44,6 +44,7 @@ static const struct option options[] = { { "replace-whitespace", no_argument, NULL, 'u' }, { "sg-version", required_argument, NULL, 's' }, { "verbose", no_argument, NULL, 'v' }, @@ -45,24 +41,24 @@ Index: systemd/src/udev/scsi_id/scsi_id.c { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ { "export", no_argument, NULL, 'x' }, { "help", no_argument, NULL, 'h' }, -@@ -54,6 +55,7 @@ static bool dev_specified = false; - static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config"; +@@ -56,6 +57,7 @@ static char config_file[MAX_PATH_LEN] = static enum page_code default_page_code = PAGE_UNSPECIFIED; static int sg_version = 4; + static int debug = 0; +static bool compat_truncated = false; static bool reformat_serial = false; static bool export = false; static char vendor_str[64]; -@@ -316,6 +318,7 @@ static void help(void) { - " -g --whitelisted Treat device as whitelisted\n" - " -u --replace-whitespace Replace all whitespace by underscores\n" - " -v --verbose Verbose logging\n" +@@ -323,6 +325,7 @@ static void help(void) { + " -g,--whitelisted threat device as whitelisted\n" + " -u,--replace-whitespace replace all whitespace by underscores\n" + " -v,--verbose verbose logging\n" + " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" - " -x --export Print values as environment keys\n" - , program_invocation_short_name); - -@@ -387,6 +390,10 @@ static int set_options(struct udev *udev - log_open(); + " --version print version\n" + " -x,--export print values as environment keys\n" + " -h,--help print this help text\n\n"); +@@ -393,6 +396,10 @@ static int set_options(struct udev *udev + debug++; break; + case '9': @@ -72,7 +68,7 @@ Index: systemd/src/udev/scsi_id/scsi_id.c case 'V': printf("%s\n", VERSION); exit(0); -@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch +@@ -535,6 +542,9 @@ static int scsi_id(struct udev *udev, ch util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); util_replace_chars(serial_str, NULL); printf("ID_SERIAL=%s\n", serial_str); @@ -82,7 +78,7 @@ Index: systemd/src/udev/scsi_id/scsi_id.c util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); util_replace_chars(serial_str, NULL); printf("ID_SERIAL_SHORT=%s\n", serial_str); -@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch +@@ -565,7 +575,10 @@ static int scsi_id(struct udev *udev, ch if (reformat_serial) { char serial_str[MAX_SERIAL_LEN]; @@ -94,10 +90,8 @@ Index: systemd/src/udev/scsi_id/scsi_id.c util_replace_chars(serial_str, NULL); printf("%s\n", serial_str); goto out; -Index: systemd/src/udev/scsi_id/scsi_id.h -=================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_id.h -+++ systemd/src/udev/scsi_id/scsi_id.h +--- a/src/udev/scsi_id/scsi_id.h ++++ b/src/udev/scsi_id/scsi_id.h @@ -43,6 +43,7 @@ struct scsi_id_device { char kernel[64]; char serial[MAX_SERIAL_LEN]; @@ -106,11 +100,9 @@ Index: systemd/src/udev/scsi_id/scsi_id.h int use_sg; /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ -Index: systemd/src/udev/scsi_id/scsi_serial.c -=================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_serial.c -+++ systemd/src/udev/scsi_id/scsi_serial.c -@@ -96,7 +96,8 @@ static const char hex_str[]="0123456789a +--- a/src/udev/scsi_id/scsi_serial.c ++++ b/src/udev/scsi_id/scsi_serial.c +@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -120,7 +112,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c static int sg_err_category_new(struct udev *udev, int scsi_status, int msg_status, int -@@ -619,7 +620,7 @@ static int do_scsi_page83_inquiry(struct +@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct unsigned char page_83[SCSI_INQ_BUFF_LEN]; /* also pick up the page 80 serial number */ @@ -129,7 +121,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c memzero(page_83, SCSI_INQ_BUFF_LEN); retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -764,7 +765,8 @@ static int do_scsi_page83_prespc3_inquir +@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir /* Get unit serial number VPD page */ static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -139,7 +131,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c { int retval; int ser_ind; -@@ -798,9 +800,14 @@ static int do_scsi_page80_inquiry(struct +@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); if (ser_ind < 0) return 1; @@ -155,7 +147,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c } if (serial_short != NULL) { memcpy(serial_short, &buf[4], len); -@@ -876,7 +883,7 @@ int scsi_get_serial(struct udev *udev, +@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, return 1; if (page_code == PAGE_80) { @@ -164,7 +156,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c retval = 1; goto completed; } else { -@@ -950,7 +957,7 @@ int scsi_get_serial(struct udev *udev, +@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, for (ind = 4; ind <= page0[3] + 3; ind++) if (page0[ind] == PAGE_80) if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, diff --git a/1067-udev-always-resolve-correctly-database-names-on-chan.patch b/1067-udev-always-resolve-correctly-database-names-on-chan.patch new file mode 100644 index 00000000..9fdc9c68 --- /dev/null +++ b/1067-udev-always-resolve-correctly-database-names-on-chan.patch @@ -0,0 +1,53 @@ +From 368082520b25722575783f06879fb5fc2e4c219c Mon Sep 17 00:00:00 2001 +From: Robert Milasan +Date: Sat, 13 Sep 2014 15:18:37 +0200 +Subject: [PATCH] udev: always resolve correctly database names on 'change' + event + +Signed-off-by: Robert Milasan +--- + src/libudev/libudev-device.c | 2 +- + src/libudev/libudev-private.h | 1 + + src/udev/udev-event.c | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c +index d61a2ad..2699374 100644 +--- a/src/libudev/libudev-device.c ++++ b/src/libudev/libudev-device.c +@@ -161,7 +161,7 @@ _public_ dev_t udev_device_get_devnum(struct udev_device *udev_device) + return udev_device->devnum; + } + +-static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) ++int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) + { + char num[32]; + +diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h +index 35ea7ba..05a6410 100644 +--- a/src/libudev/libudev-private.h ++++ b/src/libudev/libudev-private.h +@@ -59,6 +59,7 @@ uid_t udev_device_get_devnode_uid(struct udev_device *udev_device); + gid_t udev_device_get_devnode_gid(struct udev_device *udev_device); + int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); + int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); ++int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum); + int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); + void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); + struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value); +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index e8d6676..2cf0763 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -812,6 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, + if (event->dev_db != NULL) { + udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); + udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); ++ udev_device_set_devnum(event->dev_db, udev_device_get_devnum(dev)); + udev_device_read_db(event->dev_db, NULL); + udev_device_set_info_loaded(event->dev_db); + +-- +1.8.4.5 + diff --git a/1068-udev-net_setup_link-export-the-.link-filename-applie.patch b/1068-udev-net_setup_link-export-the-.link-filename-applie.patch new file mode 100644 index 00000000..e0f7039c --- /dev/null +++ b/1068-udev-net_setup_link-export-the-.link-filename-applie.patch @@ -0,0 +1,26 @@ +From ad6e5b348fa88f44d6cbfe7aabda7612a1d0463f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 8 Sep 2014 14:00:58 +0200 +Subject: [PATCH] udev: net_setup_link - export the .link filename applied to + the link + +--- + src/udev/udev-builtin-net_setup_link.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c +index 6207269..14351de 100644 +--- src/udev/udev-builtin-net_setup_link.c ++++ src/udev/udev-builtin-net_setup_link.c +@@ -57,6 +57,8 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv + return EXIT_FAILURE; + } + ++ udev_builtin_add_property(dev, test, "ID_NET_LINK_FILE", link->filename); ++ + if (name) + udev_builtin_add_property(dev, test, "ID_NET_NAME", name); + +-- +1.7.9.2 + diff --git a/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch b/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch new file mode 100644 index 00000000..7f7d24aa --- /dev/null +++ b/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch @@ -0,0 +1,27 @@ +From e4d7c49050769877c7f10184bbe2a1e77d0b5333 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 8 Sep 2014 17:16:24 +0200 +Subject: [PATCH] rules: net-setup-link - preserve ID_NET_LINK_FILE and + ID_NET_NAME after MOVE + +--- + rules/80-net-setup-link.rules | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules +index f390fcb..27c43b9 100644 +--- rules/80-net-setup-link.rules ++++ rules/80-net-setup-link.rules +@@ -4,7 +4,8 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" + + IMPORT{builtin}="path_id" + +-ACTION=="move", IMPORT{db}="ID_NET_DRIVER" ++ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", ++IMPORT{db}="ID_NET_NAME" + + ACTION!="add", GOTO="net_setup_link_end" + +-- +1.7.9.2 + diff --git a/1070-rules-net-setup-link-remove-stray-linebreak.patch b/1070-rules-net-setup-link-remove-stray-linebreak.patch new file mode 100644 index 00000000..f389aa8c --- /dev/null +++ b/1070-rules-net-setup-link-remove-stray-linebreak.patch @@ -0,0 +1,27 @@ +From 52e231b04635400292179cf51b30d7d9b6323fb2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Mon, 8 Sep 2014 22:53:39 +0300 +Subject: [PATCH] rules: net-setup-link - remove stray linebreak + +If not backslash-escaped, it splits the rule in two. +--- + rules/80-net-setup-link.rules | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules +index 27c43b9..4207694 100644 +--- rules/80-net-setup-link.rules ++++ rules/80-net-setup-link.rules +@@ -4,8 +4,7 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" + + IMPORT{builtin}="path_id" + +-ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", +-IMPORT{db}="ID_NET_NAME" ++ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" + + ACTION!="add", GOTO="net_setup_link_end" + +-- +1.7.9.2 + diff --git a/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch b/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch new file mode 100644 index 00000000..f821d890 --- /dev/null +++ b/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch @@ -0,0 +1,54 @@ +From b081b27e1433cdc7ac72b25ae8b4db887d79187f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 9 Sep 2014 12:23:19 +0200 +Subject: [PATCH] udev: import the full db on MOVE events for devices without + dev_t + +--- + rules/80-net-setup-link.rules | 2 -- + src/udev/udev-event.c | 16 ++++++++++++++++ + 2 files changed, 16 insertions(+), 2 deletions(-) + +diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules +index 4207694..6e411a9 100644 +--- rules/80-net-setup-link.rules ++++ rules/80-net-setup-link.rules +@@ -4,8 +4,6 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" + + IMPORT{builtin}="path_id" + +-ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" +- + ACTION!="add", GOTO="net_setup_link_end" + + IMPORT{builtin}="net_setup_link" +diff --git src/udev/udev-event.c src/udev/udev-event.c +index 00cd6d4..18b92ca 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -805,6 +805,22 @@ void udev_event_execute_rules(struct udev_event *event, + udev_watch_end(event->udev, event->dev_db); + } + ++ if (major(udev_device_get_devnum(dev)) == 0 && ++ streq(udev_device_get_action(dev), "move")) { ++ struct udev_list_entry *entry; ++ ++ for ((entry = udev_device_get_properties_list_entry(event->dev_db)); entry; entry = udev_list_entry_get_next(entry)) { ++ const char *key, *value; ++ struct udev_list_entry *property; ++ ++ key = udev_list_entry_get_name(entry); ++ value = udev_list_entry_get_value(entry); ++ ++ property = udev_device_add_property(event->dev, key, value); ++ udev_list_entry_set_num(property, true); ++ } ++ } ++ + udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); + + /* rename a new network interface, if needed */ +-- +1.7.9.2 + diff --git a/1072-udev-netif_rename-don-t-log-to-kmsg.patch b/1072-udev-netif_rename-don-t-log-to-kmsg.patch new file mode 100644 index 00000000..2a5cebd2 --- /dev/null +++ b/1072-udev-netif_rename-don-t-log-to-kmsg.patch @@ -0,0 +1,39 @@ +Based on 1187f20655de0c37337ea73e1e55823b83cd7c00 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 9 Sep 2014 22:45:03 +0200 +Subject: [PATCH] udev: netif_rename - don't log to kmsg + +As of 3.17, the kernel will do this on its own, so just do regular log_debug() logging from udev. +--- + src/udev/udev-event.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- src/udev/udev-event.c ++++ src/udev/udev-event.c 2014-09-16 08:52:36.154735794 +0000 +@@ -770,7 +770,7 @@ static int rename_netif(struct udev_even + + r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { +- print_kmsg("renamed network interface %s to %s\n", oldname, name); ++ log_debug("renamed network interface %s to %s", oldname, name); + return r; + } else if (r != -EEXIST) { + log_error("error changing net interface name %s to %s: %s", +@@ -789,7 +789,7 @@ static int rename_netif(struct udev_even + } + + /* log temporary name */ +- print_kmsg("renamed network interface %s to %s\n", oldname, interim); ++ log_debug("renamed network interface %s to %s", oldname, interim); + + loop = 90 * 20; + while (loop--) { +@@ -798,7 +798,7 @@ static int rename_netif(struct udev_even + + r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { +- print_kmsg("renamed network interface %s to %s\n", interim, name); ++ log_debug("renamed network interface %s to %s", interim, name); + break; + } + diff --git a/1073-udev-drop-print_kmsg.patch b/1073-udev-drop-print_kmsg.patch new file mode 100644 index 00000000..27aaa6e3 --- /dev/null +++ b/1073-udev-drop-print_kmsg.patch @@ -0,0 +1,75 @@ +Based on 9d19a679f23c7a72c326cbbbf44e0c9f423dec5d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 9 Sep 2014 22:48:07 +0200 +Subject: [PATCH] udev - drop print_kmsg + +The only remaining user was 'starting version XXX', which is now logged using log_info(). +--- + src/libudev/libudev-private.h | 1 - + src/libudev/libudev-util.c | 25 ------------------------- + src/udev/udevd.c | 2 +- + 3 files changed, 1 insertion(+), 27 deletions(-) + +diff --git src/libudev/libudev-private.h src/libudev/libudev-private.h +index ae97557..cd1c1fb 100644 +--- src/libudev/libudev-private.h ++++ src/libudev/libudev-private.h +@@ -170,6 +170,5 @@ int util_delete_path(struct udev *udev, const char *path); + uid_t util_lookup_user(struct udev *udev, const char *user); + gid_t util_lookup_group(struct udev *udev, const char *group); + int util_resolve_subsys_kernel(struct udev *udev, const char *string, char *result, size_t maxsize, int read_value); +-ssize_t print_kmsg(const char *fmt, ...) _printf_(1, 2); + + #endif +--- src/libudev/libudev-util.c ++++ src/libudev/libudev-util.c 2014-09-16 08:56:01.862736270 +0000 +@@ -422,33 +422,3 @@ static int parse_proc_cmdline_word(const + + return 0; + } +- +-ssize_t print_kmsg(const char *fmt, ...) +-{ +- _cleanup_close_ int fd = -1; +- va_list ap; +- char text[1024]; +- ssize_t len; +- ssize_t ret; +- +- if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { +- fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); +- } else { +- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); +- } +- +- if (fd < 0) +- return -errno; +- +- len = snprintf(text, sizeof(text), "<30>systemd-udevd[%u]: ", getpid()); +- +- va_start(ap, fmt); +- len += vsnprintf(text + len, sizeof(text) - len, fmt, ap); +- va_end(ap); +- +- ret = write(fd, text, len); +- if (ret < 0) +- return -errno; +- +- return ret; +-} +diff --git src/udev/udevd.c src/udev/udevd.c +index be0acc3..b023b6e 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -1200,7 +1200,7 @@ int main(int argc, char *argv[]) { + sd_notify(1, "READY=1"); + } + +- print_kmsg("starting version " VERSION "\n"); ++ log_info("starting version " VERSION "\n"); + + if (!debug) { + int fd; +-- +1.7.9.2 + diff --git a/1074-udev-fix-copy-paste-error-in-log-message.patch b/1074-udev-fix-copy-paste-error-in-log-message.patch new file mode 100644 index 00000000..a617451f --- /dev/null +++ b/1074-udev-fix-copy-paste-error-in-log-message.patch @@ -0,0 +1,25 @@ +From ec3281d3b681b002dfe1a4bea0532a504e37557a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 10 Sep 2014 07:59:22 +0200 +Subject: [PATCH] udev: fix copy-paste error in log message + +--- + src/udev/udev-rules.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index cc56215..6de7511 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -1323,7 +1323,7 @@ static int add_rule(struct udev_rules *rules, char *line, + if (cmd < UDEV_BUILTIN_MAX) + rule_add_key(&rule_tmp, TK_A_RUN_BUILTIN, op, value, &cmd); + else +- log_error("IMPORT{builtin}: '%s' unknown %s:%u", value, filename, lineno); ++ log_error("RUN{builtin}: '%s' unknown %s:%u", value, filename, lineno); + } else if (streq(attr, "program")) { + enum udev_builtin_cmd cmd = UDEV_BUILTIN_MAX; + +-- +1.7.9.2 + diff --git a/1075-udev-timeout-increase-timeout.patch b/1075-udev-timeout-increase-timeout.patch new file mode 100644 index 00000000..08f6daeb --- /dev/null +++ b/1075-udev-timeout-increase-timeout.patch @@ -0,0 +1,28 @@ +From b5338a19864ac3f5632aee48069a669479621dca Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 10 Sep 2014 10:56:26 +0200 +Subject: [PATCH] udev: timeout - increase timeout + +Some kernel modules still take more than one minute to insmod, we no longer rely on the timeout +killing insmod within a given period of time, so just bump this to a much higher value. Its only +purpose is to make sure that nothing stays aronud forever. +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index b023b6e..a7f8cbd 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -74,7 +74,7 @@ static bool reload; + static int children; + static int children_max; + static int exec_delay; +-static usec_t event_timeout_usec = 60 * USEC_PER_SEC; ++static usec_t event_timeout_usec = 180 * USEC_PER_SEC; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +-- +1.7.9.2 + diff --git a/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch new file mode 100644 index 00000000..4345f929 --- /dev/null +++ b/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch @@ -0,0 +1,350 @@ +Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 11 Sep 2014 18:49:04 +0200 +Subject: [PATCH] udev: timeout - warn after a third of the timeout before + killing + +--- + src/test/test-udev.c | 4 ++-- + src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- + src/udev/udev-rules.c | 8 +++++--- + src/udev/udev.h | 9 ++++++--- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- + 6 files changed, 71 insertions(+), 32 deletions(-) + +diff --git src/test/test-udev.c src/test/test-udev.c +index 566a73a..f085262 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); +- udev_event_execute_run(event, USEC_PER_SEC, NULL); ++ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index a883edc..e8d6676 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -541,6 +541,7 @@ out: + + static int spawn_wait(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; +@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, + + while (pid > 0) { + int timeout; ++ int timeout_warn = 0; + int fdcount; + + if (timeout_usec > 0) { +@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; + if (age_usec >= timeout_usec) + timeout = 1000; +- else +- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ else { ++ if (timeout_warn_usec > 0) ++ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ ++ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ } + } else { + timeout = -1; + } + +- fdcount = poll(pfd, 1, timeout); ++ fdcount = poll(pfd, 1, timeout_warn); + if (fdcount < 0) { + if (errno == EINTR) + continue; +@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, + goto out; + } + if (fdcount == 0) { +- log_error("timeout: killing '%s' [%u]", cmd, pid); +- kill(pid, SIGKILL); ++ log_warning("slow: '%s' [%u]", cmd, pid); ++ ++ fdcount = poll(pfd, 1, timeout); ++ if (fdcount < 0) { ++ if (errno == EINTR) ++ continue; ++ err = -errno; ++ log_error("failed to poll: %m"); ++ goto out; ++ } ++ if (fdcount == 0) { ++ log_error("timeout: killing '%s' [%u]", cmd, pid); ++ kill(pid, SIGKILL); ++ } + } + + if (pfd[0].revents & POLLIN) { +@@ -654,6 +672,7 @@ out: + + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize) { + struct udev *udev = event->udev; +@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, + outpipe[READ_END], errpipe[READ_END], + result, ressize); + +- err = spawn_wait(event, timeout_usec, cmd, pid); ++ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); + } + + out: +@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { + + void udev_event_execute_rules(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + +@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9514dde..db95442 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + + static int import_program_into_properties(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; +@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -1862,6 +1863,7 @@ enum escape_type { + int udev_rules_apply_to_event(struct udev_rules *rules, + struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const sigset_t *sigmask) { + struct token *cur; + struct token *rule; +@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index ed01da3..765ba9e 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -73,7 +73,8 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 809adb6..4738b61 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { + goto out; + } + +- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 +@@ -75,6 +75,7 @@ static int children; + static int children_max; + static int exec_delay; + static usec_t event_timeout_usec = 180 * USEC_PER_SEC; ++static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -129,6 +130,7 @@ struct worker { + enum worker_state state; + struct event *event; + usec_t event_start_usec; ++ bool event_warned; + }; + + /* passed from worker to main process */ +@@ -314,9 +316,9 @@ static void worker_new(struct event *eve + } + + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -410,6 +412,7 @@ out: + worker->pid = pid; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + worker->event = event; + event->state = EVENT_RUNNING; + udev_list_node_append(&worker->node, &worker_list); +@@ -441,6 +444,7 @@ static void event_run(struct event *even + worker->event = event; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + event->state = EVENT_RUNNING; + return; + } +@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { + event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + } + + free(s); +@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { + break; + case 't': + event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + break; + case 'D': + debug = true; +@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { + /* check for hanging events */ + udev_list_node_foreach(loop, &worker_list) { + struct worker *worker = node_to_worker(loop); ++ usec_t ts; + + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); +- kill(worker->pid, SIGKILL); +- worker->state = WORKER_KILLED; +- +- /* drop reference taken for state 'running' */ +- worker_unref(worker); +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event); +- worker->event = NULL; ++ ts = now(CLOCK_MONOTONIC); ++ ++ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { ++ if ((ts - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); ++ kill(worker->pid, SIGKILL); ++ worker->state = WORKER_KILLED; ++ ++ /* drop reference taken for state 'running' */ ++ worker_unref(worker); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event); ++ worker->event = NULL; ++ } else if (!worker->event_warned) { ++ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); ++ worker->event_warned = true; ++ } + } + } + +-- +1.7.9.2 + diff --git a/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch new file mode 100644 index 00000000..57b2d699 --- /dev/null +++ b/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch @@ -0,0 +1,350 @@ +Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 11 Sep 2014 18:49:04 +0200 +Subject: [PATCH] udev: timeout - warn after a third of the timeout before + killing + +--- + src/test/test-udev.c | 4 ++-- + src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- + src/udev/udev-rules.c | 8 +++++--- + src/udev/udev.h | 9 ++++++--- + src/udev/udevadm-test.c | 2 +- + src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- + 6 files changed, 71 insertions(+), 32 deletions(-) + +diff --git src/test/test-udev.c src/test/test-udev.c +index 566a73a..f085262 100644 +--- src/test/test-udev.c ++++ src/test/test-udev.c +@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { + } + } + +- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); +- udev_event_execute_run(event, USEC_PER_SEC, NULL); ++ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git src/udev/udev-event.c src/udev/udev-event.c +index a883edc..e8d6676 100644 +--- src/udev/udev-event.c ++++ src/udev/udev-event.c +@@ -541,6 +541,7 @@ out: + + static int spawn_wait(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, pid_t pid) { + struct pollfd pfd[1]; + int err = 0; +@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, + + while (pid > 0) { + int timeout; ++ int timeout_warn = 0; + int fdcount; + + if (timeout_usec > 0) { +@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, + age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; + if (age_usec >= timeout_usec) + timeout = 1000; +- else +- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ else { ++ if (timeout_warn_usec > 0) ++ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ ++ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; ++ } + } else { + timeout = -1; + } + +- fdcount = poll(pfd, 1, timeout); ++ fdcount = poll(pfd, 1, timeout_warn); + if (fdcount < 0) { + if (errno == EINTR) + continue; +@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, + goto out; + } + if (fdcount == 0) { +- log_error("timeout: killing '%s' [%u]", cmd, pid); +- kill(pid, SIGKILL); ++ log_warning("slow: '%s' [%u]", cmd, pid); ++ ++ fdcount = poll(pfd, 1, timeout); ++ if (fdcount < 0) { ++ if (errno == EINTR) ++ continue; ++ err = -errno; ++ log_error("failed to poll: %m"); ++ goto out; ++ } ++ if (fdcount == 0) { ++ log_error("timeout: killing '%s' [%u]", cmd, pid); ++ kill(pid, SIGKILL); ++ } + } + + if (pfd[0].revents & POLLIN) { +@@ -654,6 +672,7 @@ out: + + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize) { + struct udev *udev = event->udev; +@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, + outpipe[READ_END], errpipe[READ_END], + result, ressize); + +- err = spawn_wait(event, timeout_usec, cmd, pid); ++ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); + } + + out: +@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { + + void udev_event_execute_rules(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + struct udev_rules *rules, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + +@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, + if (major(udev_device_get_devnum(dev)) != 0) + udev_watch_end(event->udev, dev); + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + if (major(udev_device_get_devnum(dev)) != 0) + udev_node_remove(dev); +@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); ++ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); + + /* rename a new network interface, if needed */ + if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && +@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, + } + } + +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + + udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { +@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const + + udev_event_apply_format(event, cmd, program, sizeof(program)); + envp = udev_device_get_properties_envp(event->dev); +- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); ++ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); + } + } + } +diff --git src/udev/udev-rules.c src/udev/udev-rules.c +index 9514dde..db95442 100644 +--- src/udev/udev-rules.c ++++ src/udev/udev-rules.c +@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file + + static int import_program_into_properties(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *program, const sigset_t *sigmask) { + struct udev_device *dev = event->dev; + char **envp; +@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, + int err; + + envp = udev_device_get_properties_envp(dev); +- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); ++ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); + if (err < 0) + return err; + +@@ -1862,6 +1863,7 @@ enum escape_type { + int udev_rules_apply_to_event(struct udev_rules *rules, + struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const sigset_t *sigmask) { + struct token *cur; + struct token *rule; +@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { ++ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { + if (cur->key.op != OP_NOMATCH) + goto nomatch; + } else { +@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, + rules_str(rules, rule->rule.filename_off), + rule->rule.filename_line); + +- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) ++ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) + if (cur->key.op != OP_NOMATCH) + goto nomatch; + break; +diff --git src/udev/udev.h src/udev/udev.h +index ed01da3..765ba9e 100644 +--- src/udev/udev.h ++++ src/udev/udev.h +@@ -73,7 +73,8 @@ struct udev_rules; + struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); + struct udev_rules *udev_rules_unref(struct udev_rules *rules); + bool udev_rules_check_timestamp(struct udev_rules *rules); +-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); ++int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ const sigset_t *sigmask); + int udev_rules_apply_static_dev_perms(struct udev_rules *rules); + + /* udev-event.c */ +@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + char *result, size_t maxsize, int read_value); + int udev_event_spawn(struct udev_event *event, + usec_t timeout_usec, ++ usec_t timeout_warn_usec, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); +-void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, ++ struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + + /* udev-watch.c */ +diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c +index 809adb6..4738b61 100644 +--- src/udev/udevadm-test.c ++++ src/udev/udevadm-test.c +@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { + goto out; + } + +- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); ++ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 +@@ -75,6 +75,7 @@ static int children; + static int children_max; + static int exec_delay; + static usec_t event_timeout_usec = 180 * USEC_PER_SEC; ++static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -129,6 +130,7 @@ struct worker { + enum worker_state state; + struct event *event; + usec_t event_start_usec; ++ bool event_warned; + }; + + /* passed from worker to main process */ +@@ -314,9 +316,9 @@ static void worker_new(struct event *eve + } + + /* apply rules, create node, symlinks */ +- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); + +- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); ++ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); + + /* apply/restore inotify watch */ + if (udev_event->inotify_watch) { +@@ -410,6 +412,7 @@ out: + worker->pid = pid; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + worker->event = event; + event->state = EVENT_RUNNING; + udev_list_node_append(&worker->node, &worker_list); +@@ -441,6 +444,7 @@ static void event_run(struct event *even + worker->event = event; + worker->state = WORKER_RUNNING; + worker->event_start_usec = now(CLOCK_MONOTONIC); ++ worker->event_warned = false; + event->state = EVENT_RUNNING; + return; + } +@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc + exec_delay = strtoul(opt + 16, NULL, 0); + } else if (startswith(opt, "udev.event-timeout=")) { + event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + } + + free(s); +@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { + break; + case 't': + event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + break; + case 'D': + debug = true; +@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { + /* check for hanging events */ + udev_list_node_foreach(loop, &worker_list) { + struct worker *worker = node_to_worker(loop); ++ usec_t ts; + + if (worker->state != WORKER_RUNNING) + continue; + +- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { +- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); +- kill(worker->pid, SIGKILL); +- worker->state = WORKER_KILLED; +- +- /* drop reference taken for state 'running' */ +- worker_unref(worker); +- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); +- worker->event->exitcode = -64; +- event_queue_delete(worker->event, true); +- worker->event = NULL; ++ ts = now(CLOCK_MONOTONIC); ++ ++ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { ++ if ((ts - worker->event_start_usec) > event_timeout_usec) { ++ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); ++ kill(worker->pid, SIGKILL); ++ worker->state = WORKER_KILLED; ++ ++ /* drop reference taken for state 'running' */ ++ worker_unref(worker); ++ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); ++ worker->event->exitcode = -64; ++ event_queue_delete(worker->event, true); ++ worker->event = NULL; ++ } else if (!worker->event_warned) { ++ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); ++ worker->event_warned = true; ++ } + } + } + +-- +1.7.9.2 + diff --git a/1078-udev-remove-userspace-firmware-loading-support.patch b/1078-udev-remove-userspace-firmware-loading-support.patch new file mode 100644 index 00000000..42e0af98 --- /dev/null +++ b/1078-udev-remove-userspace-firmware-loading-support.patch @@ -0,0 +1,349 @@ +From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 30 Aug 2014 11:34:20 +0200 +Subject: [PATCH] udev: remove userspace firmware loading support + +--- + Makefile.am | 12 --- + README | 9 +-- + TODO | 1 - + configure.ac | 20 ----- + src/udev/udev-builtin-firmware.c | 154 --------------------------------------- + src/udev/udev-builtin.c | 3 - + src/udev/udev.h | 6 -- + src/udev/udevd.c | 13 ---- + +Index: systemd-210/configure.ac +=================================================================== +--- systemd-210.orig/configure.ac ++++ systemd-210/configure.ac +@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th + fi + + # ------------------------------------------------------------------------------ +-AC_ARG_WITH(firmware-path, +- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], +- [Firmware search path (default="")]), +- [], [with_firmware_path=""]) +-OLD_IFS=$IFS +-IFS=: +-for i in $with_firmware_path; do +- if test "x${FIRMWARE_PATH}" = "x"; then +- FIRMWARE_PATH="\\\"${i}/\\\"" +- else +- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" +- fi +-done +-IFS=$OLD_IFS +-AC_SUBST(FIRMWARE_PATH) +-AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) +-AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) +- +-# ------------------------------------------------------------------------------ + AC_ARG_ENABLE([gudev], + AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), + [], [enable_gudev=yes]) +@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ + Build Python: ${PYTHON} + Installation Python: ${PYTHON_BINARY} + sphinx binary: ${SPHINX_BUILD} +- firmware path: ${FIRMWARE_PATH} + PAM modules dir: ${with_pamlibdir} + PAM configuration dir: ${with_pamconfdir} + D-Bus policy dir: ${with_dbuspolicydir} +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ + $(BLKID_LIBS) \ + $(KMOD_LIBS) + +-libudev_core_la_CPPFLAGS = \ +- $(AM_CPPFLAGS) \ +- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" +- +-if ENABLE_FIRMWARE +-libudev_core_la_SOURCES += \ +- src/udev/udev-builtin-firmware.c +- +-dist_udevrules_DATA += \ +- rules/50-firmware.rules +-endif +- + if HAVE_KMOD + libudev_core_la_SOURCES += \ + src/udev/udev-builtin-kmod.c +Index: systemd-210/README +=================================================================== +--- systemd-210.orig/README ++++ systemd-210/README +@@ -51,14 +51,14 @@ REQUIREMENTS: + + Linux kernel >= 3.8 for Smack support + +- Udev will fail to work with the legacy layout: ++ Udev will fail to work with the legacy sysfs layout: + CONFIG_SYSFS_DEPRECATED=n + + Legacy hotplug slows down the system and confuses udev: + CONFIG_UEVENT_HELPER_PATH="" + +- Userspace firmware loading is deprecated, will go away, and +- sometimes causes problems: ++ Userspace firmware loading is not supported and should ++ be disabled in the kernel + CONFIG_FW_LOADER_USER_HELPER=n + + Some udev rules and virtualization detection relies on it: +Index: systemd-210/src/udev/udev-builtin.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin.c ++++ systemd-210/src/udev/udev-builtin.c +@@ -34,9 +34,6 @@ static const struct udev_builtin *builti + [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, + #endif + [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, +-#ifdef HAVE_FIRMWARE +- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, +-#endif + [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, + [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, + [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, +Index: systemd-210/src/udev/udev-builtin-firmware.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-firmware.c ++++ /dev/null +@@ -1,157 +0,0 @@ +-/* +- * firmware - Kernel firmware loader +- * +- * Copyright (C) 2009 Piter Punk +- * Copyright (C) 2009-2011 Kay Sievers +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2 of the +- * License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details:* +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "udev.h" +- +-static bool set_loading(struct udev *udev, char *loadpath, const char *state) +-{ +- FILE *ldfile; +- +- ldfile = fopen(loadpath, "we"); +- if (ldfile == NULL) { +- log_error("error: can not open '%s'", loadpath); +- return false; +- }; +- fprintf(ldfile, "%s\n", state); +- fclose(ldfile); +- return true; +-} +- +-static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) +-{ +- char *buf; +- FILE *fsource = NULL, *ftarget = NULL; +- bool ret = false; +- +- buf = malloc(size); +- if (buf == NULL) { +- log_error("No memory available to load firmware file"); +- return false; +- } +- +- log_debug("writing '%s' (%zi) to '%s'", source, size, target); +- +- fsource = fopen(source, "re"); +- if (fsource == NULL) +- goto exit; +- ftarget = fopen(target, "we"); +- if (ftarget == NULL) +- goto exit; +- if (fread(buf, size, 1, fsource) != 1) +- goto exit; +- if (fwrite(buf, size, 1, ftarget) == 1) +- ret = true; +-exit: +- if (ftarget != NULL) +- fclose(ftarget); +- if (fsource != NULL) +- fclose(fsource); +- free(buf); +- return ret; +-} +- +-static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) +-{ +- struct udev *udev = udev_device_get_udev(dev); +- static const char *searchpath[] = { FIRMWARE_PATH }; +- char loadpath[UTIL_PATH_SIZE]; +- char datapath[UTIL_PATH_SIZE]; +- char fwpath[UTIL_PATH_SIZE]; +- const char *firmware; +- FILE *fwfile = NULL; +- struct utsname kernel; +- struct stat statbuf; +- unsigned int i; +- int rc = EXIT_SUCCESS; +- +- firmware = udev_device_get_property_value(dev, "FIRMWARE"); +- if (firmware == NULL) { +- log_error("firmware parameter missing"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- /* lookup firmware file */ +- uname(&kernel); +- for (i = 0; i < ELEMENTSOF(searchpath); i++) { +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- } +- +- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); +- +- if (fwfile == NULL) { +- log_debug("did not find firmware file '%s'", firmware); +- rc = EXIT_FAILURE; +- /* +- * Do not cancel the request in the initrd, the real root might have +- * the firmware file and the 'coldplug' run in the real root will find +- * this pending request and fulfill or cancel it. +- * */ +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- goto exit; +- } +- +- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- if (!set_loading(udev, loadpath, "1")) +- goto exit; +- +- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); +- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { +- log_error("error sending firmware '%s' to device", firmware); +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- }; +- +- set_loading(udev, loadpath, "0"); +-exit: +- if (fwfile) +- fclose(fwfile); +- return rc; +-} +- +-const struct udev_builtin udev_builtin_firmware = { +- .name = "firmware", +- .cmd = builtin_firmware, +- .help = "kernel firmware loader", +- .run_once = true, +-}; +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -100,9 +100,6 @@ struct event { + dev_t devnum; + int ifindex; + bool is_block; +-#ifdef HAVE_FIRMWARE +- bool nodelay; +-#endif + }; + + static inline struct event *node_to_event(struct udev_list_node *node) +@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude + event->devnum = udev_device_get_devnum(dev); + event->is_block = streq("block", udev_device_get_subsystem(dev)); + event->ifindex = udev_device_get_ifindex(dev); +-#ifdef HAVE_FIRMWARE +- if (streq(udev_device_get_subsystem(dev), "firmware")) +- event->nodelay = true; +-#endif + + udev_queue_export_device_queued(udev_queue_export, dev); + log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), +@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event + return true; + } + +-#ifdef HAVE_FIRMWARE +- /* allow to bypass the dependency tracking */ +- if (event->nodelay) +- continue; +-#endif +- + /* parent device event found */ + if (event->devpath[common] == '/') { + event->delaying_seqnum = loop_event->seqnum; +Index: systemd-210/src/udev/udev.h +=================================================================== +--- systemd-210.orig/src/udev/udev.h ++++ systemd-210/src/udev/udev.h +@@ -141,9 +141,6 @@ enum udev_builtin_cmd { + UDEV_BUILTIN_BLKID, + #endif + UDEV_BUILTIN_BTRFS, +-#ifdef HAVE_FIRMWARE +- UDEV_BUILTIN_FIRMWARE, +-#endif + UDEV_BUILTIN_HWDB, + UDEV_BUILTIN_INPUT_ID, + UDEV_BUILTIN_KEYBOARD, +@@ -172,9 +169,6 @@ struct udev_builtin { + extern const struct udev_builtin udev_builtin_blkid; + #endif + extern const struct udev_builtin udev_builtin_btrfs; +-#ifdef HAVE_FIRMWARE +-extern const struct udev_builtin udev_builtin_firmware; +-#endif + extern const struct udev_builtin udev_builtin_hwdb; + extern const struct udev_builtin udev_builtin_input_id; + extern const struct udev_builtin udev_builtin_keyboard; +Index: systemd-210/TODO +=================================================================== +--- systemd-210.orig/TODO ++++ systemd-210/TODO +@@ -541,7 +541,6 @@ Features: + * ExecOnFailure=/usr/bin/foo + + * udev: +- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) + - move to LGPL + - kill scsi_id + - add trigger --subsystem-match=usb/usb_device device + diff --git a/1079-udev-remove-userspace-firmware-loading-support.patch b/1079-udev-remove-userspace-firmware-loading-support.patch new file mode 100644 index 00000000..37a5e752 --- /dev/null +++ b/1079-udev-remove-userspace-firmware-loading-support.patch @@ -0,0 +1,349 @@ +From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Sat, 30 Aug 2014 11:34:20 +0200 +Subject: [PATCH] udev: remove userspace firmware loading support + +--- + Makefile.am | 12 --- + README | 9 +-- + TODO | 1 - + configure.ac | 20 ----- + src/udev/udev-builtin-firmware.c | 154 --------------------------------------- + src/udev/udev-builtin.c | 3 - + src/udev/udev.h | 6 -- + src/udev/udevd.c | 13 ---- + +Index: systemd-210/configure.ac +=================================================================== +--- systemd-210.orig/configure.ac ++++ systemd-210/configure.ac +@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th + fi + + # ------------------------------------------------------------------------------ +-AC_ARG_WITH(firmware-path, +- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], +- [Firmware search path (default="")]), +- [], [with_firmware_path=""]) +-OLD_IFS=$IFS +-IFS=: +-for i in $with_firmware_path; do +- if test "x${FIRMWARE_PATH}" = "x"; then +- FIRMWARE_PATH="\\\"${i}/\\\"" +- else +- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" +- fi +-done +-IFS=$OLD_IFS +-AC_SUBST(FIRMWARE_PATH) +-AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) +-AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) +- +-# ------------------------------------------------------------------------------ + AC_ARG_ENABLE([gudev], + AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), + [], [enable_gudev=yes]) +@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ + Build Python: ${PYTHON} + Installation Python: ${PYTHON_BINARY} + sphinx binary: ${SPHINX_BUILD} +- firmware path: ${FIRMWARE_PATH} + PAM modules dir: ${with_pamlibdir} + PAM configuration dir: ${with_pamconfdir} + D-Bus policy dir: ${with_dbuspolicydir} +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ + $(BLKID_LIBS) \ + $(KMOD_LIBS) + +-libudev_core_la_CPPFLAGS = \ +- $(AM_CPPFLAGS) \ +- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" +- +-if ENABLE_FIRMWARE +-libudev_core_la_SOURCES += \ +- src/udev/udev-builtin-firmware.c +- +-dist_udevrules_DATA += \ +- rules/50-firmware.rules +-endif +- + if HAVE_KMOD + libudev_core_la_SOURCES += \ + src/udev/udev-builtin-kmod.c +Index: systemd-210/README +=================================================================== +--- systemd-210.orig/README ++++ systemd-210/README +@@ -51,14 +51,14 @@ REQUIREMENTS: + + Linux kernel >= 3.8 for Smack support + +- Udev will fail to work with the legacy layout: ++ Udev will fail to work with the legacy sysfs layout: + CONFIG_SYSFS_DEPRECATED=n + + Legacy hotplug slows down the system and confuses udev: + CONFIG_UEVENT_HELPER_PATH="" + +- Userspace firmware loading is deprecated, will go away, and +- sometimes causes problems: ++ Userspace firmware loading is not supported and should ++ be disabled in the kernel + CONFIG_FW_LOADER_USER_HELPER=n + + Some udev rules and virtualization detection relies on it: +Index: systemd-210/src/udev/udev-builtin.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin.c ++++ systemd-210/src/udev/udev-builtin.c +@@ -34,9 +34,6 @@ static const struct udev_builtin *builti + [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, + #endif + [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, +-#ifdef HAVE_FIRMWARE +- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, +-#endif + [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, + [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, + [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, +Index: systemd-210/src/udev/udev-builtin-firmware.c +=================================================================== +--- systemd-210.orig/src/udev/udev-builtin-firmware.c ++++ /dev/null +@@ -1,157 +0,0 @@ +-/* +- * firmware - Kernel firmware loader +- * +- * Copyright (C) 2009 Piter Punk +- * Copyright (C) 2009-2011 Kay Sievers +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2 of the +- * License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details:* +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "udev.h" +- +-static bool set_loading(struct udev *udev, char *loadpath, const char *state) +-{ +- FILE *ldfile; +- +- ldfile = fopen(loadpath, "we"); +- if (ldfile == NULL) { +- log_error("error: can not open '%s'", loadpath); +- return false; +- }; +- fprintf(ldfile, "%s\n", state); +- fclose(ldfile); +- return true; +-} +- +-static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) +-{ +- char *buf; +- FILE *fsource = NULL, *ftarget = NULL; +- bool ret = false; +- +- buf = malloc(size); +- if (buf == NULL) { +- log_error("No memory available to load firmware file"); +- return false; +- } +- +- log_debug("writing '%s' (%zi) to '%s'", source, size, target); +- +- fsource = fopen(source, "re"); +- if (fsource == NULL) +- goto exit; +- ftarget = fopen(target, "we"); +- if (ftarget == NULL) +- goto exit; +- if (fread(buf, size, 1, fsource) != 1) +- goto exit; +- if (fwrite(buf, size, 1, ftarget) == 1) +- ret = true; +-exit: +- if (ftarget != NULL) +- fclose(ftarget); +- if (fsource != NULL) +- fclose(fsource); +- free(buf); +- return ret; +-} +- +-static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) +-{ +- struct udev *udev = udev_device_get_udev(dev); +- static const char *searchpath[] = { FIRMWARE_PATH }; +- char loadpath[UTIL_PATH_SIZE]; +- char datapath[UTIL_PATH_SIZE]; +- char fwpath[UTIL_PATH_SIZE]; +- const char *firmware; +- FILE *fwfile = NULL; +- struct utsname kernel; +- struct stat statbuf; +- unsigned int i; +- int rc = EXIT_SUCCESS; +- +- firmware = udev_device_get_property_value(dev, "FIRMWARE"); +- if (firmware == NULL) { +- log_error("firmware parameter missing"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- /* lookup firmware file */ +- uname(&kernel); +- for (i = 0; i < ELEMENTSOF(searchpath); i++) { +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- +- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); +- fwfile = fopen(fwpath, "re"); +- if (fwfile != NULL) +- break; +- } +- +- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); +- +- if (fwfile == NULL) { +- log_debug("did not find firmware file '%s'", firmware); +- rc = EXIT_FAILURE; +- /* +- * Do not cancel the request in the initrd, the real root might have +- * the firmware file and the 'coldplug' run in the real root will find +- * this pending request and fulfill or cancel it. +- * */ +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- goto exit; +- } +- +- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { +- if (!in_initrd()) +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- } +- +- if (!set_loading(udev, loadpath, "1")) +- goto exit; +- +- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); +- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { +- log_error("error sending firmware '%s' to device", firmware); +- set_loading(udev, loadpath, "-1"); +- rc = EXIT_FAILURE; +- goto exit; +- }; +- +- set_loading(udev, loadpath, "0"); +-exit: +- if (fwfile) +- fclose(fwfile); +- return rc; +-} +- +-const struct udev_builtin udev_builtin_firmware = { +- .name = "firmware", +- .cmd = builtin_firmware, +- .help = "kernel firmware loader", +- .run_once = true, +-}; +Index: systemd-210/src/udev/udevd.c +=================================================================== +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -100,9 +100,6 @@ struct event { + dev_t devnum; + int ifindex; + bool is_block; +-#ifdef HAVE_FIRMWARE +- bool nodelay; +-#endif + }; + + static inline struct event *node_to_event(struct udev_list_node *node) +@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude + event->devnum = udev_device_get_devnum(dev); + event->is_block = streq("block", udev_device_get_subsystem(dev)); + event->ifindex = udev_device_get_ifindex(dev); +-#ifdef HAVE_FIRMWARE +- if (streq(udev_device_get_subsystem(dev), "firmware")) +- event->nodelay = true; +-#endif + + log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), + udev_device_get_action(dev), udev_device_get_subsystem(dev)); +@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event + return true; + } + +-#ifdef HAVE_FIRMWARE +- /* allow to bypass the dependency tracking */ +- if (event->nodelay) +- continue; +-#endif +- + /* parent device event found */ + if (event->devpath[common] == '/') { + event->delaying_seqnum = loop_event->seqnum; +Index: systemd-210/src/udev/udev.h +=================================================================== +--- systemd-210.orig/src/udev/udev.h ++++ systemd-210/src/udev/udev.h +@@ -141,9 +141,6 @@ enum udev_builtin_cmd { + UDEV_BUILTIN_BLKID, + #endif + UDEV_BUILTIN_BTRFS, +-#ifdef HAVE_FIRMWARE +- UDEV_BUILTIN_FIRMWARE, +-#endif + UDEV_BUILTIN_HWDB, + UDEV_BUILTIN_INPUT_ID, + UDEV_BUILTIN_KEYBOARD, +@@ -172,9 +169,6 @@ struct udev_builtin { + extern const struct udev_builtin udev_builtin_blkid; + #endif + extern const struct udev_builtin udev_builtin_btrfs; +-#ifdef HAVE_FIRMWARE +-extern const struct udev_builtin udev_builtin_firmware; +-#endif + extern const struct udev_builtin udev_builtin_hwdb; + extern const struct udev_builtin udev_builtin_input_id; + extern const struct udev_builtin udev_builtin_keyboard; +Index: systemd-210/TODO +=================================================================== +--- systemd-210.orig/TODO ++++ systemd-210/TODO +@@ -541,7 +541,6 @@ Features: + * ExecOnFailure=/usr/bin/foo + + * udev: +- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) + - move to LGPL + - kill scsi_id + - add trigger --subsystem-match=usb/usb_device device + diff --git a/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch b/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch new file mode 100644 index 00000000..a623b566 --- /dev/null +++ b/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch @@ -0,0 +1,73 @@ +Based on 6f5cf8a8b1de763383f7382821147e538b7dbd6d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:02:03 +0200 +Subject: [PATCH] udevd: parse_argv - warn if argumens are invalid + +Found by Coverity. Fixes CID #1238780. +--- + src/udev/udevd.c | 34 ++++++++++++++++++++++++++-------- + 1 file changed, 26 insertions(+), 8 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-19 10:36:25.602735652 +0000 +@@ -1002,11 +1002,20 @@ static void kernel_cmdline_options(struc + log_set_max_level(prio); + udev_set_log_priority(udev, prio); + } else if (startswith(opt, "udev.children-max=")) { +- children_max = strtoul(opt + 18, NULL, 0); ++ r = safe_atoi(opt + 18, &children_max); ++ if (r < 0) ++ log_warning("Invalid udev.children-max ignored: %s", opt + 18); + } else if (startswith(opt, "udev.exec-delay=")) { +- exec_delay = strtoul(opt + 16, NULL, 0); ++ r = safe_atoi(opt + 16, &exec_delay); ++ if (r < 0) ++ log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); + } else if (startswith(opt, "udev.event-timeout=")) { +- event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; ++ r = safe_atou64(opt + 16, &event_timeout_usec); ++ if (r < 0) { ++ log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); ++ break; ++ } ++ event_timeout_usec *= USEC_PER_SEC; + event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; + } + +@@ -1052,7 +1061,7 @@ int main(int argc, char *argv[]) { + label_init("/dev"); + + for (;;) { +- int option; ++ int option, r; + + option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); + if (option == -1) +@@ -1063,14 +1072,23 @@ int main(int argc, char *argv[]) { + daemonize = true; + break; + case 'c': +- children_max = strtoul(optarg, NULL, 0); ++ r = safe_atoi(optarg, &children_max); ++ if (r < 0) ++ log_warning("Invalid --children-max ignored: %s", optarg); + break; + case 'e': +- exec_delay = strtoul(optarg, NULL, 0); ++ r = safe_atoi(optarg, &exec_delay); ++ if (r < 0) ++ log_warning("Invalid --exec-delay ignored: %s", optarg); + break; + case 't': +- event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; +- event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; ++ r = safe_atou64(optarg, &event_timeout_usec); ++ if (r < 0) ++ log_warning("Invalig --event-timeout ignored: %s", optarg); ++ else { ++ event_timeout_usec *= USEC_PER_SEC; ++ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; ++ } + break; + case 'D': + debug = true; diff --git a/1081-udevd-check-return-of-various-functions.patch b/1081-udevd-check-return-of-various-functions.patch new file mode 100644 index 00000000..819e4499 --- /dev/null +++ b/1081-udevd-check-return-of-various-functions.patch @@ -0,0 +1,55 @@ +Based on d457ff8319b1e7c522c146f75e272f1226f4720c Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:07:02 +0200 +Subject: [PATCH] udevd: check return of various functions + +One reported by Coverity. Fixes CID #996252. +--- + src/udev/udevd.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-19 11:33:21.566236309 +0000 +@@ -1044,7 +1044,7 @@ int main(int argc, char *argv[]) { + int fd_worker = -1; + struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker; + struct udev_ctrl_connection *ctrl_conn = NULL; +- int rc = 1; ++ int rc = 1, r; + + udev = udev_new(); + if (udev == NULL) +@@ -1058,7 +1058,11 @@ int main(int argc, char *argv[]) { + log_set_max_level(udev_get_log_priority(udev)); + + log_debug("version %s", VERSION); +- label_init("/dev"); ++ r = label_init("/dev"); ++ if (r < 0) { ++ log_error("could not initialize labelling: %s", strerror(-r)); ++ goto exit; ++ } + + for (;;) { + int option, r; +@@ -1137,10 +1141,18 @@ int main(int argc, char *argv[]) { + } + + /* set umask before creating any file/directory */ +- chdir("/"); ++ r = chdir("/"); ++ if (r < 0) { ++ log_error("could not change dir to /: %m"); ++ goto exit; ++ } + umask(022); + +- mkdir("/run/udev", 0755); ++ r = mkdir("/run/udev", 0755); ++ if (r < 0) { ++ log_error("could not create /run/udev: %m"); ++ goto exit; ++ } + + dev_setup(NULL); + diff --git a/1082-udevadm-hwdb-check-return-value-of-fseeko.patch b/1082-udevadm-hwdb-check-return-value-of-fseeko.patch new file mode 100644 index 00000000..27e6dc45 --- /dev/null +++ b/1082-udevadm-hwdb-check-return-value-of-fseeko.patch @@ -0,0 +1,45 @@ +From f901aaadd68050bc575c1c15b84f8f31fd4d494d Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:16:54 +0200 +Subject: [PATCH] udevadm: hwdb - check return value of fseeko() + +Fonud by Coverity. Fixes CID #996255. +--- + src/udev/udevadm-hwdb.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git src/udev/udevadm-hwdb.c src/udev/udevadm-hwdb.c +index 65cbf61..64273fb 100644 +--- src/udev/udevadm-hwdb.c ++++ src/udev/udevadm-hwdb.c +@@ -365,7 +365,12 @@ static int trie_store(struct trie *trie, const char *filename) { + fchmod(fileno(t.f), 0444); + + /* write nodes */ +- fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); ++ err = fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); ++ if (err < 0) { ++ fclose(t.f); ++ unlink_noerrno(filename_tmp); ++ return -errno; ++ } + root_off = trie_store_nodes(&t, trie->root); + h.nodes_root_off = htole64(root_off); + pos = ftello(t.f); +@@ -378,7 +383,12 @@ static int trie_store(struct trie *trie, const char *filename) { + /* write header */ + size = ftello(t.f); + h.file_size = htole64(size); +- fseeko(t.f, 0, SEEK_SET); ++ err = fseeko(t.f, 0, SEEK_SET); ++ if (err < 0) { ++ fclose(t.f); ++ unlink_noerrno(filename_tmp); ++ return -errno; ++ } + fwrite(&h, sizeof(struct trie_header_f), 1, t.f); + err = ferror(t.f); + if (err) +-- +1.7.9.2 + diff --git a/1083-udev-node-warn-if-chmod-chown-fails.patch b/1083-udev-node-warn-if-chmod-chown-fails.patch new file mode 100644 index 00000000..0b78f626 --- /dev/null +++ b/1083-udev-node-warn-if-chmod-chown-fails.patch @@ -0,0 +1,34 @@ +From 543afdc63c02a5af3cf6bd2a264162f23474346a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:22:09 +0200 +Subject: [PATCH] udev: node - warn if chmod/chown fails + +No functional change, just log the warning. + +Fonud by Coverity. Fixes CID #1237544. +--- + src/udev/udev-node.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git src/udev/udev-node.c src/udev/udev-node.c +index c164603..8ef7889 100644 +--- src/udev/udev-node.c ++++ src/udev/udev-node.c +@@ -281,8 +281,12 @@ static int node_permissions_apply(struct udev_device *dev, bool apply, + + if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) { + log_debug("set permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); +- chmod(devnode, mode); +- chown(devnode, uid, gid); ++ err = chmod(devnode, mode); ++ if (err < 0) ++ log_warning("setting mode of %s to %#o failed: %m", devnode, mode); ++ err = chown(devnode, uid, gid); ++ if (err < 0) ++ log_warning("setting owner of %s to uid=%u, gid=%u failed: %m", devnode, uid, gid); + } else { + log_debug("preserve permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); + } +-- +1.7.9.2 + diff --git a/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch b/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch new file mode 100644 index 00000000..1e8f4fcf --- /dev/null +++ b/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch @@ -0,0 +1,45 @@ +Based on 4bbdff757ed4e718a3348b93439a03055cc5e3bc Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 19:26:11 +0200 +Subject: [PATCH] udev: ctrl - log if setting SO_PASSCRED fails + +No functional change. + +Found by Coverity. Fixes CID #1237533. +--- + src/udev/udev-ctrl.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- src/udev/udev-ctrl.c ++++ src/udev/udev-ctrl.c 2014-09-19 10:45:55.494236229 +0000 +@@ -74,6 +74,7 @@ struct udev_ctrl *udev_ctrl_new_from_fd( + { + struct udev_ctrl *uctrl; + const int on = 1; ++ int r; + + uctrl = new0(struct udev_ctrl, 1); + if (uctrl == NULL) +@@ -92,7 +93,9 @@ struct udev_ctrl *udev_ctrl_new_from_fd( + uctrl->bound = true; + uctrl->sock = fd; + } +- setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ r = setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ if (r < 0) ++ log_warning("could not set SO_PASSCRED: %m"); + + uctrl->saddr.sun_family = AF_LOCAL; + strscpy(uctrl->saddr.sun_path, sizeof(uctrl->saddr.sun_path), "/run/udev/control"); +@@ -209,7 +212,10 @@ struct udev_ctrl_connection *udev_ctrl_g + } + + /* enable receiving of the sender credentials in the messages */ +- setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); ++ if (r < 0) ++ log_warning("colud not set SO_PASSCRED: %m"); ++ + udev_ctrl_ref(uctrl); + return conn; + err: diff --git a/1085-udev-fix-typos.patch b/1085-udev-fix-typos.patch new file mode 100644 index 00000000..f6476200 --- /dev/null +++ b/1085-udev-fix-typos.patch @@ -0,0 +1,33 @@ +Based on 65fea570f03df51dadc06a3e0d261a71fe62aa01 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 20:25:33 +0200 +Subject: [PATCH] udev: fix typos + +Spotted by Andreas Henriksson. +--- + src/udev/udev-ctrl.c | 2 +- + src/udev/udevd.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- src/udev/udev-ctrl.c ++++ src/udev/udev-ctrl.c 2014-09-19 00:00:00.000000000 +0000 +@@ -214,7 +214,7 @@ struct udev_ctrl_connection *udev_ctrl_g + /* enable receiving of the sender credentials in the messages */ + r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); + if (r < 0) +- log_warning("colud not set SO_PASSCRED: %m"); ++ log_warning("could not set SO_PASSCRED: %m"); + + udev_ctrl_ref(uctrl); + return conn; +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-19 10:47:36.306235720 +0000 +@@ -1088,7 +1088,7 @@ int main(int argc, char *argv[]) { + case 't': + r = safe_atou64(optarg, &event_timeout_usec); + if (r < 0) +- log_warning("Invalig --event-timeout ignored: %s", optarg); ++ log_warning("Invalid --event-timeout ignored: %s", optarg); + else { + event_timeout_usec *= USEC_PER_SEC; + event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; diff --git a/1086-udevd-don-t-fail-if-run-udev-exists.patch b/1086-udevd-don-t-fail-if-run-udev-exists.patch new file mode 100644 index 00000000..7f574d6a --- /dev/null +++ b/1086-udevd-don-t-fail-if-run-udev-exists.patch @@ -0,0 +1,25 @@ +From 25773e7fc59b4ce53d67da4e18bfe4d13ab0b14b Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Thu, 18 Sep 2014 21:57:49 +0200 +Subject: [PATCH] udevd: don't fail if /run/udev exists + +--- + src/udev/udevd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/udev/udevd.c src/udev/udevd.c +index 37db81c..29ccb51 100644 +--- src/udev/udevd.c ++++ src/udev/udevd.c +@@ -1155,7 +1155,7 @@ int main(int argc, char *argv[]) { + umask(022); + + r = mkdir("/run/udev", 0755); +- if (r < 0) { ++ if (r < 0 && errno != EEXIST) { + log_error("could not create /run/udev: %m"); + goto exit; + } +-- +1.7.9.2 + diff --git a/1087-infinit-timeout-for-kmod-loaded-modules.patch b/1087-infinit-timeout-for-kmod-loaded-modules.patch new file mode 100644 index 00000000..4208c21f --- /dev/null +++ b/1087-infinit-timeout-for-kmod-loaded-modules.patch @@ -0,0 +1,135 @@ +--- + src/udev/udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + src/udev/udev.h | 1 + + src/udev/udevd.c | 23 +++++++++++++++++++++-- + 3 files changed, 64 insertions(+), 2 deletions(-) + +--- src/udev/udev-event.c ++++ src/udev/udev-event.c 2014-09-24 14:32:53.115639820 +0000 +@@ -959,6 +959,46 @@ void udev_event_execute_rules(struct ude + } + } + ++#ifdef HAVE_KMOD ++static inline void udev_check_and_set_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { ++ char filename[UTIL_PATH_SIZE]; ++ switch (builtin_cmd) { ++ case UDEV_BUILTIN_KMOD: ++ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); ++ touch(filename); ++ default: ++ break; ++ } ++} ++ ++static inline void udev_check_and_unset_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { ++ char filename[UTIL_PATH_SIZE]; ++ switch (builtin_cmd) { ++ case UDEV_BUILTIN_KMOD: ++ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); ++ unlink(filename); ++ default: ++ break; ++ } ++} ++ ++bool udev_check_for_kmod(pid_t pid) { ++ char filename[UTIL_PATH_SIZE]; ++ struct stat st; ++ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)pid); ++ if (stat(filename, &st) == 0) { ++ return true; ++ } ++ return false; ++} ++#else ++# define udev_set_kmod (a,b) ++# define udev_unset_kmod(a,b) ++bool udev_check_for_kmod(pid_t pid) { ++ return false; ++} ++#endif ++ + void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { + struct udev_list_entry *list_entry; + +@@ -970,7 +1010,9 @@ void udev_event_execute_run(struct udev_ + char command[UTIL_PATH_SIZE]; + + udev_event_apply_format(event, cmd, command, sizeof(command)); ++ udev_check_and_set_kmod(builtin_cmd, event); + udev_builtin_run(event->dev, builtin_cmd, command, false); ++ udev_check_and_unset_kmod(builtin_cmd, event); + } else { + char program[UTIL_PATH_SIZE]; + char **envp; +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-09-24 15:02:30.895592379 +0000 +@@ -76,6 +76,7 @@ static int children_max; + static int exec_delay; + static usec_t event_timeout_usec = 180 * USEC_PER_SEC; + static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; ++static bool event_killkmod = false; + static sigset_t sigmask_orig; + static UDEV_LIST(event_list); + static UDEV_LIST(worker_list); +@@ -1017,6 +1018,12 @@ static void kernel_cmdline_options(struc + } + event_timeout_usec *= USEC_PER_SEC; + event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; ++ } else if (startswith(opt, "udev.killkmod=")) { ++ r = parse_boolean(opt + 14); ++ if (r < 0) ++ log_warning("Invalid udev.killkmod Ignoring: %s", opt + 14); ++ else ++ event_killkmod = r; + } + + free(s); +@@ -1065,7 +1072,7 @@ int main(int argc, char *argv[]) { + } + + for (;;) { +- int option, r; ++ int option; + + option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); + if (option == -1) +@@ -1356,6 +1363,12 @@ int main(int argc, char *argv[]) { + udev_list_node_init(&event_list); + udev_list_node_init(&worker_list); + ++ r = mkdir_p("/run/udev/kmod", 0755); ++ if (r < 0 && errno != EEXIST) { ++ log_error("could not create /run/udev/kmod: %m"); ++ goto exit; ++ } ++ + for (;;) { + static usec_t last_usec; + struct epoll_event ev[8]; +@@ -1440,7 +1453,13 @@ int main(int argc, char *argv[]) { + + if (worker->state != WORKER_RUNNING) + continue; +- ++#ifdef HAVE_KMOD ++ if (udev_check_for_kmod(worker->pid)) { ++ log_debug("worker [%u] %s is using kmod", worker->pid, worker->event->devpath); ++ if (!event_killkmod) ++ continue; ++ } ++#endif + ts = now(CLOCK_MONOTONIC); + + if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { +--- src/udev/udev.h ++++ src/udev/udev.h 2014-09-24 14:33:33.824008084 +0000 +@@ -88,6 +88,7 @@ int udev_event_spawn(struct udev_event * + char *result, size_t ressize); + void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, + struct udev_rules *rules, const sigset_t *sigset); ++bool udev_check_for_kmod(pid_t pid); + void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + diff --git a/1089-fix-cgroup-device-controller.patch b/1089-fix-cgroup-device-controller.patch new file mode 100644 index 00000000..cd68533f --- /dev/null +++ b/1089-fix-cgroup-device-controller.patch @@ -0,0 +1,74 @@ +From eb0f0863f5af48865fb4569e2076d5f9e2313995 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 10 Mar 2014 21:36:01 +0100 +Subject: nspawn: don't try mknod() of /dev/console with the correct + major/minor + +We overmount /dev/console with an external pty anyway, hence there's no +point in using the real major/minor when we create the node to +overmount. Instead, use the one of /dev/null now. + +This fixes a race against the cgroup device controller setup we are +using. In case /dev/console was create before the cgroup policy was +applied all was good, but if created in the opposite order the mknod() +would fail, since creating /dev/console is not allowed by it. Creating +/dev/null instances is however permitted, and hence use it. + +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index d8d0dae..bef866a 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -879,23 +879,19 @@ static int setup_ptmx(const char *dest) { + } + + static int setup_dev_console(const char *dest, const char *console) { ++ _cleanup_umask_ mode_t u; ++ const char *to; + struct stat st; +- _cleanup_free_ char *to = NULL; + int r; +- _cleanup_umask_ mode_t u; + + assert(dest); + assert(console); + + u = umask(0000); + +- if (stat(console, &st) < 0) { +- log_error("Failed to stat %s: %m", console); ++ if (stat("/dev/null", &st) < 0) { ++ log_error("Failed to stat /dev/null: %m"); + return -errno; +- +- } else if (!S_ISCHR(st.st_mode)) { +- log_error("/dev/console is not a char device"); +- return -EIO; + } + + r = chmod_and_chown(console, 0600, 0, 0); +@@ -904,16 +900,15 @@ static int setup_dev_console(const char *dest, const char *console) { + return r; + } + +- if (asprintf(&to, "%s/dev/console", dest) < 0) +- return log_oom(); +- + /* We need to bind mount the right tty to /dev/console since + * ptys can only exist on pts file systems. To have something +- * to bind mount things on we create a device node first, that +- * has the right major/minor (note that the major minor +- * doesn't actually matter here, since we mount it over +- * anyway). */ ++ * to bind mount things on we create a device node first, and ++ * use /dev/null for that since we the cgroups device policy ++ * allows us to create that freely, while we cannot create ++ * /dev/console. (Note that the major minor doesn't actually ++ * matter here, since we mount it over anyway). */ + ++ to = strappenda(dest, "/dev/console"); + if (mknod(to, (st.st_mode & ~07777) | 0600, st.st_rdev) < 0) { + log_error("mknod() for /dev/console failed: %m"); + return -errno; +-- +cgit v0.10.2 + diff --git a/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch b/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch new file mode 100644 index 00000000..3a3ad550 --- /dev/null +++ b/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch @@ -0,0 +1,58 @@ +Based on cc821d02a37c8c76aaf15bae2d33fee1bdc4b2e0 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Tue, 28 Oct 2014 16:50:24 +0100 +Subject: [PATCH] udev: path_id - set supported_parent for well-known SCSI + setups + +--- + src/udev/udev-builtin-path_id.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c 2014-11-03 14:12:48.129956655 +0000 +@@ -379,7 +379,7 @@ out: + return hostdev; + } + +-static struct udev_device *handle_scsi(struct udev_device *parent, char **path) ++static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) + { + const char *devtype; + const char *name; +@@ -394,6 +394,7 @@ static struct udev_device *handle_scsi(s + if (id != NULL) { + parent = skip_subsystem(parent, "scsi"); + path_prepend(path, "ieee1394-0x%s", id); ++ *supported_parent = true; + goto out; + } + +@@ -402,16 +403,19 @@ static struct udev_device *handle_scsi(s + + if (strstr(name, "/rport-") != NULL) { + parent = handle_scsi_fibre_channel(parent, path); ++ *supported_parent = true; + goto out; + } + + if (strstr(name, "/end_device-") != NULL) { + parent = handle_scsi_sas(parent, path); ++ *supported_parent = true; + goto out; + } + + if (strstr(name, "/session") != NULL) { + parent = handle_scsi_iscsi(parent, path); ++ *supported_parent = true; + goto out; + } + +@@ -545,7 +549,7 @@ static int builtin_path_id(struct udev_d + } else if (streq(subsys, "scsi_tape")) { + handle_scsi_tape(parent, &path); + } else if (streq(subsys, "scsi")) { +- parent = handle_scsi(parent, &path); ++ parent = handle_scsi(parent, &path, &supported_parent); + supported_transport = true; + } else if (streq(subsys, "cciss")) { + parent = handle_cciss(parent, &path); diff --git a/1091-udev-path_id-update-comments.patch b/1091-udev-path_id-update-comments.patch new file mode 100644 index 00000000..a695f0db --- /dev/null +++ b/1091-udev-path_id-update-comments.patch @@ -0,0 +1,42 @@ +From a42cdff19f2d34f12ceca0f40707421a8aaa2c2f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 30 Oct 2014 01:18:34 +0100 +Subject: [PATCH] udev: path_id - update comments + +--- + src/udev/udev-builtin-path_id.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git src/udev/udev-builtin-path_id.c src/udev/udev-builtin-path_id.c +index 0d247f6..df996cb 100644 +--- src/udev/udev-builtin-path_id.c ++++ src/udev/udev-builtin-path_id.c +@@ -548,9 +548,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool + } + + /* +- * Do return devices with have an unknown type of parent device, they +- * might produce conflicting IDs below multiple independent parent +- * devices. ++ * Do not return devices with an unknown parent device type. They ++ * might produce conflicting IDs if the parent does not provide a ++ * unique and predictable name. + */ + if (!supported_parent) { + free(path); +@@ -558,9 +558,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool + } + + /* +- * Do not return a have-only a single-parent block devices, some +- * have entire hidden buses behind it, and not create predictable +- * IDs that way. ++ * Do not return block devices without a well-known transport. Some ++ * devices do not expose their buses and do not provide a unique ++ * and predictable name that way. + */ + if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { + free(path); +-- +1.7.9.2 + diff --git a/1092-libudev-do-not-accept-invalid-log-levels.patch b/1092-libudev-do-not-accept-invalid-log-levels.patch new file mode 100644 index 00000000..10b78859 --- /dev/null +++ b/1092-libudev-do-not-accept-invalid-log-levels.patch @@ -0,0 +1,67 @@ +Based on ee7122c0ec6aa11f02e9e8d94254b353f12d2c14 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 1 Nov 2014 12:06:41 -0400 +Subject: [PATCH] libudev: do not accept invalid log levels + +Invalid log levels lead to a assert failure later on. + +https://bugs.freedesktop.org/show_bug.cgi?id=85657 +--- + src/libudev/libudev-util.c | 10 +++++++--- + src/libudev/libudev.c | 19 ++++++++++++++++--- + 2 files changed, 23 insertions(+), 6 deletions(-) + +--- src/libudev/libudev-util.c ++++ src/libudev/libudev-util.c 2014-11-10 11:33:26.269519209 +0000 +@@ -255,9 +255,13 @@ int util_log_priority(const char *priori + char *endptr; + int prio; + +- prio = strtol(priority, &endptr, 10); +- if (endptr[0] == '\0' || isspace(endptr[0])) +- return prio; ++ prio = strtoul(priority, &endptr, 10); ++ if (endptr[0] == '\0' || isspace(endptr[0])) { ++ if (prio >= 0 && prio <= 7) ++ return prio; ++ else ++ return -ERANGE; ++ } + if (startswith(priority, "err")) + return LOG_ERR; + if (startswith(priority, "info")) +--- src/libudev/libudev.c ++++ src/libudev/libudev.c +@@ -193,7 +193,13 @@ _public_ struct udev *udev_new(void) + } + + if (streq(key, "udev_log")) { +- udev_set_log_priority(udev, util_log_priority(val)); ++ int prio; ++ ++ prio = util_log_priority(val); ++ if (prio < 0) ++ udev_err(udev, "/etc/udev/udev.conf:%u: invalid logging level '%s', ignoring.\n", line_nr, val); ++ else ++ udev_set_log_priority(udev, prio); + continue; + } + } +@@ -201,8 +207,15 @@ _public_ struct udev *udev_new(void) + + /* environment overrides config */ + env = secure_getenv("UDEV_LOG"); +- if (env != NULL) +- udev_set_log_priority(udev, util_log_priority(env)); ++ if (env != NULL) { ++ int prio; ++ ++ prio = util_log_priority(env); ++ if (prio < 0) ++ udev_err(udev, "$UDEV_LOG specifies invalid logging level '%s', ignoring.\n", env); ++ else ++ udev_set_log_priority(udev, prio); ++ } + + return udev; + } diff --git a/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch b/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch new file mode 100644 index 00000000..5f3bb576 --- /dev/null +++ b/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch @@ -0,0 +1,23 @@ +Based on f671774f52838d35d78e62ddcb781b5b65b3373f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 4 Nov 2014 23:45:15 +0000 +Subject: [PATCH] udev: Fix parsing of udev.event-timeout kernel parameter. + +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-11-10 12:28:20.385559165 +0000 +@@ -1011,9 +1011,9 @@ static void kernel_cmdline_options(struc + if (r < 0) + log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); + } else if (startswith(opt, "udev.event-timeout=")) { +- r = safe_atou64(opt + 16, &event_timeout_usec); ++ r = safe_atou64(opt + 19, &event_timeout_usec); + if (r < 0) { +- log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); ++ log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); + break; + } + event_timeout_usec *= USEC_PER_SEC; diff --git a/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch b/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch new file mode 100644 index 00000000..3cd42e5c --- /dev/null +++ b/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch @@ -0,0 +1,58 @@ +Based on cfe2061add5479710f6597899d632e64c54e62ef Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Wed, 5 Nov 2014 12:56:49 +0100 +Subject: [PATCH] udev: avoid magic constants in kernel-cmdline parsers + +Lets recognize the fact that startswith() returns a pointer to the tail on +success. Use it instead of hard-coding string-lengths as magic constants. +--- + src/udev/udevd.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +--- src/udev/udevd.c ++++ src/udev/udevd.c 2014-11-10 12:31:15.745519116 +0000 +@@ -984,7 +984,7 @@ static void kernel_cmdline_options(struc + return; + + FOREACH_WORD_QUOTED(w, l, line, state) { +- char *s, *opt; ++ char *s, *opt, *value; + + s = strndup(w, l); + if (!s) +@@ -996,24 +996,24 @@ static void kernel_cmdline_options(struc + else + opt = s; + +- if (startswith(opt, "udev.log-priority=")) { ++ if ((value = startswith(opt, "udev.log-priority="))) { + int prio; + +- prio = util_log_priority(opt + 18); ++ prio = util_log_priority(value); + log_set_max_level(prio); + udev_set_log_priority(udev, prio); +- } else if (startswith(opt, "udev.children-max=")) { +- r = safe_atoi(opt + 18, &children_max); ++ } else if ((value = startswith(opt, "udev.children-max="))) { ++ r = safe_atoi(value, &children_max); + if (r < 0) +- log_warning("Invalid udev.children-max ignored: %s", opt + 18); +- } else if (startswith(opt, "udev.exec-delay=")) { +- r = safe_atoi(opt + 16, &exec_delay); ++ log_warning("Invalid udev.children-max ignored: %s", value); ++ } else if ((value = startswith(opt, "udev.exec-delay="))) { ++ r = safe_atoi(value, &exec_delay); + if (r < 0) +- log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); +- } else if (startswith(opt, "udev.event-timeout=")) { +- r = safe_atou64(opt + 19, &event_timeout_usec); ++ log_warning("Invalid udev.exec-delay ignored: %s", value); ++ } else if ((value = startswith(opt, "udev.event-timeout="))) { ++ r = safe_atou64(value, &event_timeout_usec); + if (r < 0) { +- log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); ++ log_warning("Invalid udev.event-timeout ignored: %s", value); + break; + } + event_timeout_usec *= USEC_PER_SEC; diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch index d9d128f2..39c4a74a 100644 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ b/1095-set-ssd-disk-to-use-deadline-scheduler.patch @@ -1,24 +1,19 @@ ---- - Makefile.am | 1 + - rules/60-ssd-scheduler.rules | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -Index: systemd/Makefile.am +Index: systemd-210/Makefile.am =================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -3576,6 +3576,7 @@ dist_udevrules_DATA += \ +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2546,6 +2546,7 @@ dist_udevrules_DATA += \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ + rules/60-ssd-scheduler.rules \ rules/64-btrfs.rules \ - rules/70-mouse.rules \ - rules/70-touchpad.rules \ -Index: systemd/rules/60-ssd-scheduler.rules + rules/75-net-description.rules \ + rules/75-tty-description.rules \ +Index: systemd-210/rules/60-ssd-scheduler.rules =================================================================== --- /dev/null -+++ systemd/rules/60-ssd-scheduler.rules ++++ systemd-210/rules/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch index 7f09f46e..49c1b2c9 100644 --- a/1096-new-udev-root-symlink-generator.patch +++ b/1096-new-udev-root-symlink-generator.patch @@ -1,16 +1,9 @@ ---- - Makefile.am | 19 +++++ - src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++ - units/systemd-udev-root-symlink.service | 10 ++ - units/systemd-udev-root-symlink.service.in | 10 ++ - 4 files changed, 96 insertions(+) - -Index: systemd/Makefile.am +Index: systemd-210/Makefile.am =================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -3862,6 +3862,25 @@ EXTRA_DIST += \ - +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2791,6 +2791,25 @@ EXTRA_DIST += \ + test/rule-syntax-check.py # ------------------------------------------------------------------------------ +rootsymlink_generator_SOURCES = \ @@ -35,11 +28,11 @@ Index: systemd/Makefile.am ata_id_SOURCES = \ src/udev/ata_id/ata_id.c -Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c +Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c =================================================================== --- /dev/null -+++ systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c -@@ -0,0 +1,57 @@ ++++ systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +@@ -0,0 +1,65 @@ +/* + * Copyright (C) 2014-2015 Robert Milasan + * @@ -71,51 +64,44 @@ Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c +#define _PATH_ "/run/udev/rules.d" +#define _FILE_ "10-root-symlink.rules" + -+int main(void) ++int main() +{ -+ char filename[BUFFER_SIZE], buf[BUFFER_SIZE]; + struct stat statbuf; -+ int fd; + -+ if (stat(_ROOTDEV_, &statbuf) < 0) ++ if (stat(_ROOTDEV_, &statbuf) != 0) + return 1; -+ if (major(statbuf.st_dev) <= 0) -+ return 0; -+ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST) -+ return errno; -+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); -+ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644); -+ if (fd < 0) -+ return errno; -+ snprintf(buf, BUFFER_SIZE, -+ "ACTION==\"add|change\", SUBSYSTEM==\"block\", " -+ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", -+ major(statbuf.st_dev), minor(statbuf.st_dev)); -+ if (write(fd, buf, strlen(buf)) < 0) -+ return errno; -+ if (close(fd) < 0) -+ return errno; ++ ++ if (major(statbuf.st_dev) > 0) { ++ int fd = -1; ++ char filename[BUFFER_SIZE]; ++ ++ if (mkdir(_PATH_, 0755) != 0 && errno != EEXIST) ++ return errno; ++ ++ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); ++ ++ if ((fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0644)) == -1) ++ return errno; ++ else { ++ char buf[BUFFER_SIZE]; ++ ++ snprintf(buf, BUFFER_SIZE, "ACTION==\"add|change\", SUBSYSTEM==\"block\", ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", ++ major(statbuf.st_dev), minor(statbuf.st_dev)); ++ ++ if (write(fd, buf, strlen(buf)) == -1) ++ return errno; ++ ++ if (close(fd) == -1) ++ return errno; ++ } ++ } ++ + return 0; +} -Index: systemd/units/systemd-udev-root-symlink.service +Index: systemd-210/units/systemd-udev-root-symlink.service.in =================================================================== --- /dev/null -+++ systemd/units/systemd-udev-root-symlink.service -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=/usr/lib/udev/rootsymlink-generator -Index: systemd/units/systemd-udev-root-symlink.service.in -=================================================================== ---- /dev/null -+++ systemd/units/systemd-udev-root-symlink.service.in ++++ systemd-210/units/systemd-udev-root-symlink.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink @@ -127,3 +113,18 @@ Index: systemd/units/systemd-udev-root-symlink.service.in +Type=oneshot +RemainAfterExit=yes +ExecStart=@udevlibexec@/rootsymlink-generator +Index: systemd-210/units/systemd-udev-root-symlink.service +=================================================================== +--- /dev/null ++++ systemd-210/units/systemd-udev-root-symlink.service +@@ -0,0 +1,10 @@ ++[Unit] ++Description=Rule generator for /dev/root symlink ++Before=systemd-udevd.service ++DefaultDependencies=no ++ConditionPathIsReadWrite=/run/udev ++ ++[Service] ++Type=oneshot ++RemainAfterExit=yes ++ExecStart=/usr/lib/udev/rootsymlink-generator diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index 486be9b2..50bbc56f 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -1,26 +1,22 @@ ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-218/src/udev/udevd.c +Index: systemd-210/src/udev/udevd.c =================================================================== ---- systemd-218.orig/src/udev/udevd.c -+++ systemd-218/src/udev/udevd.c -@@ -446,7 +446,7 @@ static void event_run(struct event *even +--- systemd-210.orig/src/udev/udevd.c ++++ systemd-210/src/udev/udevd.c +@@ -454,7 +454,7 @@ static void event_run(struct event *even - if (children >= arg_children_max) { - if (arg_children_max > 1) + if (children >= children_max) { + if (children_max > 1) - log_debug("maximum number (%i) of children reached", children); + log_error("maximum number (%i) of children reached", children); return; } -@@ -1265,7 +1265,7 @@ int main(int argc, char *argv[]) { - arg_children_max = 8; +@@ -1277,7 +1277,7 @@ int main(int argc, char *argv[]) { + children_max = 8; if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { -- arg_children_max += CPU_COUNT(&cpu_set) * 2; -+ arg_children_max += CPU_COUNT(&cpu_set) * 64; +- children_max += CPU_COUNT(&cpu_set) * 2; ++ children_max += CPU_COUNT(&cpu_set) * 64; } } - log_debug("set children_max to %u", arg_children_max); + log_debug("set children_max to %u", children_max); diff --git a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch new file mode 100644 index 00000000..6772f650 --- /dev/null +++ b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch @@ -0,0 +1,154 @@ +Based on 04b67d49254d956d31bcfe80340fb9df7ed332d3 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Tue, 15 Jul 2014 17:57:43 +0200 +Subject: [PATCH] udev: link_setup - respect kernel name assign policy + +Newer kernels export meta-information about the origin of an ifname. Respect this +from the ifname rename logic. We do not rename any interfaces that was originally +named by userspace, nor once which have already been renamed from userspace. + +Moreover, we optionally do not (the default) rename interfaces which the kernel +claims to have named in a predictable way. +--- + man/udev.xml | 13 ++++++++++- + network/99-default.link | 2 - + src/shared/missing.h | 21 +++++++++++++++++ + src/udev/net/link-config.c | 53 +++++++++++++++++++++++++++++++++++++-------- + src/udev/net/link-config.h | 1 + 5 files changed, 79 insertions(+), 11 deletions(-) + +Index: man/udev.xml +=================================================================== +--- man/udev.xml.orig ++++ man/udev.xml +@@ -914,10 +914,12 @@ + successful one is used. The name is not set directly, but + is exported to udev as the property ID_NET_NAME, + which is, by default, used by a udev rule to set +- NAME. The available policies are: ++ NAME. If the name has already ++ been set by userspace, no renaming is performed. ++ The available policies are: + + +- ++ + database + + The name is set based on entries in the Hardware +Index: src/shared/missing.h +=================================================================== +--- src/shared/missing.h.orig ++++ src/shared/missing.h +@@ -362,3 +362,24 @@ static inline int setns(int fd, int nsty + return syscall(__NR_setns, fd, nstype); + } + #endif ++ ++#ifndef NET_ADDR_RANDOM ++# define NET_ADDR_RANDOM 1 ++#endif ++ ++#ifndef NET_NAME_ENUM ++# define NET_NAME_ENUM 1 ++#endif ++ ++#ifndef NET_NAME_PREDICTABLE ++# define NET_NAME_PREDICTABLE 2 ++#endif ++ ++#ifndef NET_NAME_USER ++# define NET_NAME_USER 3 ++#endif ++ ++#ifndef NET_NAME_RENAMED ++# define NET_NAME_RENAMED 4 ++#endif ++ +Index: src/udev/net/link-config.c +=================================================================== +--- src/udev/net/link-config.c.orig ++++ src/udev/net/link-config.c +@@ -20,10 +20,11 @@ + ***/ + + #include +-#include ++#include + + #include "sd-id128.h" + ++#include "missing.h" + #include "link-config.h" + #include "ethtool-util.h" + +@@ -297,23 +298,30 @@ static bool mac_is_random(struct udev_de + return false; + + /* check for NET_ADDR_RANDOM */ +- return type == 1; ++ return type == NET_ADDR_RANDOM; + } + +-static bool mac_is_permanent(struct udev_device *device) { ++static bool should_rename(struct udev_device *device) { + const char *s; + unsigned type; + int r; + +- s = udev_device_get_sysattr_value(device, "addr_assign_type"); ++ s = udev_device_get_sysattr_value(device, "name_assign_type"); + if (!s) +- return true; /* if we don't know, assume it is permanent */ ++ return true; /* if we don't know, assume we should rename */ + r = safe_atou(s, &type); + if (r < 0) + return true; + +- /* check for NET_ADDR_PERM */ +- return type == 0; ++ switch (type) { ++ case NET_NAME_USER: ++ case NET_NAME_RENAMED: ++ return false; /* these were already named by userspace, do not touch again */ ++ case NET_NAME_PREDICTABLE: ++ case NET_NAME_ENUM: ++ default: ++ return true; /* the name is known to be bad, or of an unknown type */ ++ } + } + + #define HASH_KEY SD_ID128_MAKE(d3,1e,48,fa,90,fe,4b,4c,9d,af,d5,d7,a1,b1,2e,8a) +@@ -429,16 +437,16 @@ int link_config_apply(link_config_ctx *c + } + } + +- if (new_name) +- *name = new_name; /* a name was set by a policy */ +- else if (config->name) +- *name = config->name; /* a name was set manually in the config */ +- else +- *name = NULL; ++ if (should_rename(device)) { ++ if (!new_name) ++ /* if not set by policy, fall back manually set name */ ++ new_name = config->name; ++ } else ++ new_name = NULL; + + switch (config->mac_policy) { + case MACPOLICY_PERSISTENT: +- if (!mac_is_permanent(device)) { ++ if (mac_is_random(device)) { + r = get_mac(device, false, &generated_mac); + if (r == -ENOENT) + break; +@@ -467,6 +475,8 @@ int link_config_apply(link_config_ctx *c + return r; + } + ++ *name = new_name; ++ + return 0; + } + diff --git a/513-nspawn-veth.patch b/513-nspawn-veth.patch new file mode 100644 index 00000000..b24ecf6c --- /dev/null +++ b/513-nspawn-veth.patch @@ -0,0 +1,39 @@ +diff -Naur systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c +--- systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c 2014-11-19 13:10:23.998310815 +0100 ++++ systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c 2014-12-08 12:03:18.059734333 +0100 +@@ -722,6 +722,7 @@ + + int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) { + uint16_t rtm_type; ++ int r; + + assert_return(m, -EINVAL); + assert_return(!m->sealed, -EPERM); +@@ -729,15 +730,21 @@ + sd_rtnl_message_get_type(m, &rtm_type); + + if (rtnl_message_type_is_link(rtm_type)) { +- + if ((type == IFLA_LINKINFO && m->n_containers == 0) || + (type == IFLA_INFO_DATA && m->n_containers == 1 && +- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) +- return add_rtattr(m, type, NULL, 0); +- else if (type == VETH_INFO_PEER && m->n_containers == 2 && ++ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) { ++ r = add_rtattr(m, type, NULL, 0); ++ if ( r > 0) ++ m->container_offsets[m->n_containers ++] = r; ++ return r; ++ } else if (type == VETH_INFO_PEER && m->n_containers == 2 && + GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA && +- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) +- return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); ++ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) { ++ r = add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); ++ if ( r > 0) ++ m->container_offsets[m->n_containers ++] = r; ++ return r; ++ } + } + + return -ENOTSUP; diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index 95c19107..8e0a00a7 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -5,21 +5,18 @@ Subject: Fix /run/lock directories permissions to follow openSUSE policy disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). --- - tmpfiles.d/legacy.conf | 7 ++++--- + tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -Index: systemd-218/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-218.orig/tmpfiles.d/legacy.conf -+++ systemd-218/tmpfiles.d/legacy.conf -@@ -10,13 +10,14 @@ +--- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf ++++ systemd-206_git201308300826/tmpfiles.d/legacy.conf +@@ -10,12 +10,13 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. -d /run/lock 0755 root root - -+# changed for openSUSE: only /run/lock should be available. ++# changed for openSUSE : only /run/lock should be available +d /run/lock 0775 root lock - - L /var/lock - - - - ../run/lock # /run/lock/subsys is used for serializing SysV service execution, and # hence without use on SysV-less systems. @@ -29,7 +26,7 @@ Index: systemd-218/tmpfiles.d/legacy.conf # /run/lock/lockdev is used to serialize access to tty devices via # LCK..xxx style lock files, For more information see: -@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root - +@@ -23,7 +24,7 @@ d /run/lock/subsys 0755 root root - # On modern systems a BSD file lock is a better choice if # serialization is needed on those devices. diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 96de1ed2..0c06b4dc 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -4,23 +4,21 @@ Subject: Forward suspend / hibernate calls to pm-utils forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) --- - src/sleep/sleep.c | 27 ++++++++++++++++++++++----- - 1 file changed, 22 insertions(+), 5 deletions(-) + src/sleep/sleep.c | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) -Index: systemd/src/sleep/sleep.c -=================================================================== ---- systemd.orig/src/sleep/sleep.c -+++ systemd/src/sleep/sleep.c +--- systemd-206.orig/src/sleep/sleep.c ++++ systemd-206/src/sleep/sleep.c @@ -24,6 +24,7 @@ #include #include #include +#include - #include "sd-id128.h" - #include "sd-messages.h" -@@ -36,6 +37,8 @@ - #include "def.h" + #include "systemd/sd-id128.h" + #include "systemd/sd-messages.h" +@@ -35,6 +36,8 @@ + #include "sleep-config.h" static char* arg_verb = NULL; +static bool delegate_to_pmutils = false; @@ -28,37 +26,36 @@ Index: systemd/src/sleep/sleep.c static int write_mode(char **modes) { int r = 0; -@@ -53,10 +56,6 @@ static int write_mode(char **modes) { - if (r == 0) +@@ -50,9 +53,6 @@ static int write_mode(char **modes) { r = k; } -- + - if (r < 0) -- log_error_errno(r, "Failed to write mode to /sys/power/disk: %m"); -- +- log_error("Failed to write mode to /sys/power/disk: %s", +- strerror(-r)); + return r; } - -@@ -97,6 +96,8 @@ static int execute(char **modes, char ** - int r; +@@ -90,6 +90,8 @@ static int execute(char **modes, char ** _cleanup_fclose_ FILE *f = NULL; + const char* note = strappenda("SLEEP=", arg_verb); + if (!delegate_to_pmutils) { + /* This file is opened first, so that if we hit an error, * we can abort before modifying any state. */ f = fopen("/sys/power/state", "we"); -@@ -107,6 +108,7 @@ static int execute(char **modes, char ** +@@ -102,6 +104,7 @@ static int execute(char **modes, char ** r = write_mode(modes); if (r < 0) return r; + } - execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments); - -@@ -115,8 +117,10 @@ static int execute(char **modes, char ** - LOG_MESSAGE("Suspending system..."), - "SLEEP=%s", arg_verb, + arguments[0] = NULL; + arguments[1] = (char*) "pre"; +@@ -114,8 +117,10 @@ static int execute(char **modes, char ** + "MESSAGE=Suspending system...", + note, NULL); - + if (!delegate_to_pmutils) @@ -68,7 +65,7 @@ Index: systemd/src/sleep/sleep.c if (r < 0) return r; -@@ -156,6 +160,7 @@ static int parse_argv(int argc, char *ar +@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar }; int c; @@ -76,7 +73,7 @@ Index: systemd/src/sleep/sleep.c assert(argc >= 0); assert(argv); -@@ -193,6 +198,18 @@ static int parse_argv(int argc, char *ar +@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar return -EINVAL; } diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch new file mode 100644 index 00000000..41d51bfa --- /dev/null +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -0,0 +1,140 @@ +From: Frederic Crozat +Date: Fri, 12 Apr 2013 16:56:26 +0200 +Subject: Revert "service: drop support for SysV scripts for the early boot" + +This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. + +Conflicts: + src/core/service.c +--- + src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 46 insertions(+), 5 deletions(-) + +Index: systemd-208/src/core/service.c +=================================================================== +--- systemd-208.orig/src/core/service.c ++++ systemd-208/src/core/service.c +@@ -51,7 +51,8 @@ + + typedef enum RunlevelType { + RUNLEVEL_UP, +- RUNLEVEL_DOWN ++ RUNLEVEL_DOWN, ++ RUNLEVEL_SYSINIT + } RunlevelType; + + static const struct { +@@ -66,6 +67,16 @@ static const struct { + { "rc4.d", SPECIAL_RUNLEVEL4_TARGET, RUNLEVEL_UP }, + { "rc5.d", SPECIAL_RUNLEVEL5_TARGET, RUNLEVEL_UP }, + ++#ifdef HAVE_SYSV_COMPAT ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++#endif ++ ++#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) ++ /* Debian style rcS.d */ ++ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++#endif ++ + /* Standard SysV runlevels for shutdown */ + { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN }, + { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN } +@@ -74,10 +85,12 @@ static const struct { + directories in this order, and we want to make sure that + sysv_start_priority is known when we first load the + unit. And that value we only know from S links. Hence +- UP must be read before DOWN */ ++ UP/SYSINIT must be read before DOWN */ + }; + + #define RUNLEVELS_UP "12345" ++/* #define RUNLEVELS_DOWN "06" */ ++#define RUNLEVELS_BOOT "bBsS" + #endif + + static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { +@@ -340,6 +353,9 @@ static char *sysv_translate_name(const c + if (endswith(name, ".sh")) + /* Drop .sh suffix */ + strcpy(stpcpy(r, name) - 3, ".service"); ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ strcpy(stpcpy(r, name + 5), ".service"); + else + /* Normal init script name */ + strcpy(stpcpy(r, name), ".service"); +@@ -942,6 +958,13 @@ static int service_load_sysv_path(Servic + + if ((r = sysv_exec_commands(s, supports_reload)) < 0) + goto finish; ++ if (s->sysv_runlevels && ++ chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels) && ++ chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { ++ /* Service has both boot and "up" runlevels ++ configured. Kill the "up" ones. */ ++ delete_chars(s->sysv_runlevels, RUNLEVELS_UP); ++ } + + if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { + /* If there a runlevels configured for this service +@@ -1023,6 +1046,9 @@ static int service_load_sysv_name(Servic + if (endswith(name, ".sh.service")) + return -ENOENT; + ++ if (startswith(name, "boot.")) ++ return -ENOENT; ++ + STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { + char *path; + int r; +@@ -1043,6 +1069,18 @@ static int service_load_sysv_name(Servic + } + free(path); + ++ if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) { ++ /* Try SUSE style boot.* init scripts */ ++ ++ path = strjoin(*p, "/boot.", name, NULL); ++ if (!path) ++ return -ENOMEM; ++ ++ /* Drop .service suffix */ ++ path[strlen(path)-8] = 0; ++ r = service_load_sysv_path(s, path); ++ free(path); ++ } + if (r < 0) + return r; + +@@ -3574,7 +3612,7 @@ static int service_enumerate(Manager *m) + + if (de->d_name[0] == 'S') { + +- if (rcnd_table[i].type == RUNLEVEL_UP) { ++ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) { + SERVICE(service)->sysv_start_priority_from_rcnd = + MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); + +@@ -3591,7 +3629,8 @@ static int service_enumerate(Manager *m) + goto finish; + + } else if (de->d_name[0] == 'K' && +- (rcnd_table[i].type == RUNLEVEL_DOWN)) { ++ (rcnd_table[i].type == RUNLEVEL_DOWN || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { + + r = set_ensure_allocated(&shutdown_services, + trivial_hash_func, trivial_compare_func); +@@ -3631,7 +3670,9 @@ static int service_enumerate(Manager *m) + * runlevels we assume the stop jobs will be implicitly added + * by the core logic. Also, we don't really distinguish here + * between the runlevels 0 and 6 and just add them to the +- * special shutdown target. */ ++ * special shutdown target. On SUSE the boot.d/ runlevel is ++ * also used for shutdown, so we add links for that too to the ++ * shutdown target.*/ + SET_FOREACH(service, shutdown_services, j) { + service = unit_follow_merge(service); + diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch new file mode 100644 index 00000000..04afafb9 --- /dev/null +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -0,0 +1,24 @@ +From: Ludwig Nussel +Date: Mon, 26 Nov 2012 09:49:42 +0100 +Subject: avoid assertion if invalid address familily is passed to + gethostbyaddr_r (bnc#791101) + +--- + src/nss-myhostname/nss-myhostname.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c +@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb + uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; + const char *canonical = NULL, *additional = NULL; + ++ if (af != AF_INET && af != AF_INET6) { ++ *errnop = EAFNOSUPPORT; ++ *h_errnop = NO_DATA; ++ return NSS_STATUS_UNAVAIL; ++ } ++ + if (len != PROTO_ADDRESS_SIZE(af)) { + *errnop = EINVAL; + *h_errnop = NO_RECOVERY; diff --git a/avoid-leaking-socket-descriptors.patch b/avoid-leaking-socket-descriptors.patch new file mode 100644 index 00000000..d65d1196 --- /dev/null +++ b/avoid-leaking-socket-descriptors.patch @@ -0,0 +1,339 @@ +Based on 249968612f16a71df909d6e73785c18a9ff36a65 +with src/core/dbus.c as well and corrected systemctl +error messages for killing a unit. + +--- + src/analyze/analyze.c | 2 +- + src/bus-proxyd/bus-proxyd.c | 4 +--- + src/cgroups-agent/cgroups-agent.c | 4 +--- + src/core/dbus.c | 2 +- + src/fsck/fsck.c | 2 +- + src/hostname/hostnamectl.c | 2 +- + src/hostname/hostnamed.c | 4 ++-- + src/libsystemd/sd-bus/bus-util.h | 9 +++++++++ + src/libsystemd/sd-bus/busctl.c | 2 +- + src/locale/localectl.c | 2 +- + src/locale/localed.c | 4 ++-- + src/login/inhibit.c | 2 +- + src/login/loginctl.c | 2 +- + src/login/pam-module.c | 4 ++-- + src/machine/machinectl.c | 4 ++-- + src/nspawn/nspawn.c | 4 ++-- + src/run/run.c | 2 +- + src/systemctl/systemctl.c | 2 +- + src/timedate/timedatectl.c | 2 +- + src/timedate/timedated.c | 4 ++-- + 20 files changed, 34 insertions(+), 29 deletions(-) + +--- src/analyze/analyze.c ++++ src/analyze/analyze.c 2014-10-21 11:13:56.113045992 +0000 +@@ -1264,7 +1264,7 @@ static int parse_argv(int argc, char *ar + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/bus-proxyd/bus-proxyd.c ++++ src/bus-proxyd/bus-proxyd.c 2014-10-21 11:16:16.303837968 +0000 +@@ -427,7 +427,7 @@ static int patch_sender(sd_bus *a, sd_bu + + int main(int argc, char *argv[]) { + +- _cleanup_bus_unref_ sd_bus *a = NULL, *b = NULL; ++ _cleanup_bus_close_unref_ sd_bus *a = NULL, *b = NULL; + sd_id128_t server_id; + int r, in_fd, out_fd; + bool got_hello = false; +@@ -777,8 +777,6 @@ int main(int argc, char *argv[]) { + r = 0; + + finish: +- sd_bus_flush(a); +- sd_bus_flush(b); + + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + } +--- src/cgroups-agent/cgroups-agent.c ++++ src/cgroups-agent/cgroups-agent.c 2014-10-21 11:17:37.400197469 +0000 +@@ -26,7 +26,7 @@ + #include "bus-util.h" + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + if (argc != 2) { +@@ -62,7 +62,5 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- sd_bus_flush(bus); +- + return EXIT_SUCCESS; + } +--- src/core/dbus.c ++++ src/core/dbus.c 2014-10-17 09:52:47.000000000 +0000 +@@ -639,7 +639,7 @@ static int bus_setup_disconnected_match( + } + + static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void *userdata) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_close_ int nfd = -1; + Manager *m = userdata; + sd_id128_t id; +--- src/fsck/fsck.c ++++ src/fsck/fsck.c 2014-10-21 11:18:06.003838037 +0000 +@@ -45,7 +45,7 @@ static bool arg_show_progress = false; + + static void start_target(const char *target) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(target); +--- src/hostname/hostnamectl.c ++++ src/hostname/hostnamectl.c 2014-10-21 11:18:19.915858156 +0000 +@@ -468,7 +468,7 @@ static int hostnamectl_main(sd_bus *bus, + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/hostname/hostnamed.c ++++ src/hostname/hostnamed.c 2014-10-21 11:24:07.737447673 +0000 +@@ -566,7 +566,7 @@ static const sd_bus_vtable hostname_vtab + }; + + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(c); +@@ -607,7 +607,7 @@ int main(int argc, char *argv[]) { + Context context = {}; + + _cleanup_event_unref_ sd_event *event = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_set_target(LOG_TARGET_AUTO); +--- src/libsystemd/sd-bus/bus-util.h ++++ src/libsystemd/sd-bus/bus-util.h 2014-10-17 09:51:34.000000000 +0000 +@@ -137,11 +137,20 @@ typedef struct UnitInfo { + + int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u); + ++static inline void sd_bus_close_unrefp(sd_bus **bus) { ++ if (*bus) { ++ sd_bus_flush(*bus); ++ sd_bus_close(*bus); ++ sd_bus_unref(*bus); ++ } ++} ++ + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, sd_bus_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_message*, sd_bus_message_unref); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_creds*, sd_bus_creds_unref); + + #define _cleanup_bus_unref_ _cleanup_(sd_bus_unrefp) ++#define _cleanup_bus_close_unref_ _cleanup_(sd_bus_close_unrefp) + #define _cleanup_bus_message_unref_ _cleanup_(sd_bus_message_unrefp) + #define _cleanup_bus_creds_unref_ _cleanup_(sd_bus_creds_unrefp) + #define _cleanup_bus_error_free_ _cleanup_(sd_bus_error_free) +--- src/libsystemd/sd-bus/busctl.c ++++ src/libsystemd/sd-bus/busctl.c 2014-10-21 11:19:01.472337887 +0000 +@@ -484,7 +484,7 @@ static int busctl_main(sd_bus *bus, int + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_parse_environment(); +--- src/locale/localectl.c ++++ src/locale/localectl.c 2014-10-21 11:19:13.811947994 +0000 +@@ -796,7 +796,7 @@ static int localectl_main(sd_bus *bus, i + } + + int main(int argc, char*argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/locale/localed.c ++++ src/locale/localed.c 2014-10-21 11:19:28.415837424 +0000 +@@ -1076,7 +1076,7 @@ static const sd_bus_vtable locale_vtable + }; + + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(c); +@@ -1116,7 +1116,7 @@ static int connect_bus(Context *c, sd_ev + int main(int argc, char *argv[]) { + Context context = {}; + _cleanup_event_unref_ sd_event *event = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_set_target(LOG_TARGET_AUTO); +--- src/login/inhibit.c ++++ src/login/inhibit.c 2014-10-21 11:19:44.470844885 +0000 +@@ -221,7 +221,7 @@ static int parse_argv(int argc, char *ar + + int main(int argc, char *argv[]) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_parse_environment(); +--- src/login/loginctl.c ++++ src/login/loginctl.c 2014-10-21 11:20:16.695837857 +0000 +@@ -1298,7 +1298,7 @@ static int loginctl_main(sd_bus *bus, in + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/login/pam-module.c ++++ src/login/pam-module.c 2014-10-21 10:48:20.000000000 +0000 +@@ -213,7 +213,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess + *seat = NULL, + *type = NULL, *class = NULL, + *class_pam = NULL, *type_pam = NULL, *cvtnr = NULL, *desktop = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int session_fd = -1, existing, r; + bool debug = false, remote; + struct passwd *pw; +@@ -517,7 +517,7 @@ _public_ PAM_EXTERN int pam_sm_close_ses + int argc, const char **argv) { + + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + const void *existing = NULL; + const char *id; + int r; +--- src/machine/machinectl.c ++++ src/machine/machinectl.c 2014-10-21 11:20:45.747838104 +0000 +@@ -550,7 +550,7 @@ static int openpt_in_namespace(pid_t pid + static int login_machine(sd_bus *bus, char **args, unsigned n) { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *reply2 = NULL, *reply3 = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *container_bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *container_bus = NULL; + _cleanup_close_ int master = -1; + _cleanup_free_ char *getty = NULL; + const char *path, *pty, *p; +@@ -879,7 +879,7 @@ static int machinectl_main(sd_bus *bus, + } + + int main(int argc, char*argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c 2014-10-21 11:21:05.561523449 +0000 +@@ -1163,7 +1163,7 @@ static int drop_capabilities(void) { + + static int register_machine(pid_t pid) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + if (!arg_register) +@@ -1285,7 +1285,7 @@ static int register_machine(pid_t pid) { + static int terminate_machine(pid_t pid) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + const char *path; + int r; + +--- src/run/run.c ++++ src/run/run.c 2014-10-21 11:22:35.163838021 +0000 +@@ -462,7 +462,7 @@ static int start_transient_scope( + + int main(int argc, char* argv[]) { + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_free_ char *description = NULL, *command = NULL; + int r; + +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c 2014-10-22 09:36:33.399838318 +0000 +@@ -2601,7 +2601,7 @@ static int kill_unit(sd_bus *bus, char * + "ssi", *names, arg_kill_who, arg_signal); + if (q < 0) { + log_error("Failed to kill unit %s: %s", +- *names, bus_error_message(&error, r)); ++ *names, bus_error_message(&error, q)); + if (r == 0) + r = q; + } +@@ -6436,7 +6436,7 @@ static int runlevel_main(void) { + } + + int main(int argc, char*argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/timedate/timedatectl.c ++++ src/timedate/timedatectl.c 2014-10-21 11:23:06.107837988 +0000 +@@ -593,7 +593,7 @@ static int timedatectl_main(sd_bus *bus, + } + + int main(int argc, char *argv[]) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + setlocale(LC_ALL, ""); +--- src/timedate/timedated.c ++++ src/timedate/timedated.c 2014-10-21 11:23:26.047838675 +0000 +@@ -779,7 +779,7 @@ static const sd_bus_vtable timedate_vtab + }; + + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + assert(c); +@@ -825,7 +825,7 @@ int main(int argc, char *argv[]) { + }; + + _cleanup_event_unref_ sd_event *event = NULL; +- _cleanup_bus_unref_ sd_bus *bus = NULL; ++ _cleanup_bus_close_unref_ sd_bus *bus = NULL; + int r; + + log_set_target(LOG_TARGET_AUTO); diff --git a/boot.udev b/boot.udev new file mode 100644 index 00000000..4fa0bd63 --- /dev/null +++ b/boot.udev @@ -0,0 +1,74 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: boot.udev +# Required-Start: +# Required-Stop: +# Should-Start: +# Should-Stop: +# Default-Start: B +# Default-Stop: +# Short-Description: manage /dev and kernel device-events +# Description: udevd daemon to manage /dev and kernel device events +### END INIT INFO + +. /etc/rc.status + +PATH="/sbin:/bin:/usr/sbin:/usr/bin" +DAEMON="@@SYSTEMD@@/systemd-udevd" +UDEVADM="@@BINDIR@@/udevadm" +WRITERULE="@@PREFIX@@/write_dev_root_rule" +udev_timeout=180 + +case "$1" in + start) + # create /dev/root symlink with dynamic rule + if [ -x ${WRITERULE} ]; then + ${WRITERULE} >/dev/null 2>&1 || true + fi + + # start udevd + echo -n "Starting udevd: " + ${DAEMON} --daemon + if [ $? -ne 0 ]; then + rc_status -v + rc_exit + fi + rc_status -v + + # trigger events for all devices + echo -n "Loading drivers, configuring devices: " + ${UDEVADM} trigger --type=subsystems --action=add + ${UDEVADM} trigger --type=devices --action=add + + # wait for events to finish + ${UDEVADM} settle --timeout=$udev_timeout + rc_status -v + ;; + stop) + echo -n "Stopping udevd: " + killproc ${DAEMON} + rc_status -v + ;; + restart) + echo -n "Restarting udevd: " + killproc ${DAEMON} + ${DAEMON} --daemon + rc_status -v + ;; + status) + echo -n "Checking for udevd: " + checkproc ${DAEMON} + rc_status -v + ;; + reload|force-reload) + echo -n "Reloading udevd: " + killproc -G -HUP ${DAEMON} + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart|status|reload|force-reload}" + exit 1 + ;; +esac +rc_exit diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch new file mode 100644 index 00000000..c20aad94 --- /dev/null +++ b/disable-nss-myhostname-warning-bnc-783841.patch @@ -0,0 +1,18 @@ +From: Ludwig Nussel +Date: Tue, 12 Feb 2013 17:24:35 +0100 +Subject: disable nss-myhostname warning (bnc#783841) + +--- + src/hostname/hostnamed.c | 1 + + 1 file changed, 1 insertion(+) + +--- systemd-206.orig/src/hostname/hostnamed.c ++++ systemd-206/src/hostname/hostnamed.c +@@ -134,6 +134,7 @@ static int read_data(void) { + + static bool check_nss(void) { + void *dl; ++ return true; + + dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY); + if (dl) { diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch index 77bed82d..3f6b0eb4 100644 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -4,13 +4,11 @@ Subject: ensure shortname is set as hostname (bnc#820213) strip hostname so the domain part isn't set as part of the hostname --- - src/core/hostname-setup.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) + src/core/hostname-setup.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) -Index: systemd-218/src/core/hostname-setup.c -=================================================================== ---- systemd-218.orig/src/core/hostname-setup.c -+++ systemd-218/src/core/hostname-setup.c +--- systemd-206.orig/src/core/hostname-setup.c ++++ systemd-206/src/core/hostname-setup.c @@ -32,7 +32,7 @@ #include "fileio.h" @@ -20,13 +18,14 @@ Index: systemd-218/src/core/hostname-setup.c int r; assert(path); -@@ -49,6 +49,10 @@ static int read_and_strip_hostname(const +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const return -ENOENT; } + /* strip any leftover of a domain name */ -+ if ((domain = strchr(s, '.')) != NULL) -+ *domain = '\0'; ++ if (domain = strchr(s, '.')) { ++ *domain = NULL; ++ } + *hn = s; return 0; diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch new file mode 100644 index 00000000..954c60ca --- /dev/null +++ b/fix-owner-of-var-log-btmp.patch @@ -0,0 +1,20 @@ +From: Frederic Crozat +Date: Tue, 20 Nov 2012 09:36:43 +0000 +Subject: fix owner of /var/log/btmp + +ensure btmp is owned only by root (bnc#777405). +--- + tmpfiles.d/systemd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf ++++ systemd-206_git201308300826/tmpfiles.d/systemd.conf +@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d + F! /run/utmp 0664 root utmp - + + f /var/log/wtmp 0664 root utmp - +-f /var/log/btmp 0600 root utmp - ++f /var/log/btmp 0600 root root - + + d /var/cache/man - - - 30d + diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index c4875197..b8fea652 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -3,17 +3,15 @@ Date: Thu, 23 Aug 2012 11:08:25 +0200 Subject: fix support for boot prefixed initscript (bnc#746506) --- - src/systemctl/systemctl.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) + src/systemctl/systemctl.c | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) -Index: systemd-218/src/systemctl/systemctl.c -=================================================================== ---- systemd-218.orig/src/systemctl/systemctl.c -+++ systemd-218/src/systemctl/systemctl.c -@@ -5202,8 +5202,26 @@ static int enable_sysv_units(const char - - p[strlen(p) - strlen(".service")] = 0; +--- systemd-206_git201308300826.orig/src/systemctl/systemctl.c ++++ systemd-206_git201308300826/src/systemctl/systemctl.c +@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args + p[strlen(p) - sizeof(".service") + 1] = 0; found_sysv = access(p, F_OK) >= 0; + - if (!found_sysv) + if (!found_sysv) { +#ifdef HAVE_SYSV_COMPAT @@ -23,8 +21,10 @@ Index: systemd-218/src/systemctl/systemctl.c + asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else + asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (!p) -+ return -ENOMEM; ++ if (!p) { ++ r = log_oom(); ++ goto finish; ++ } + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; + @@ -36,5 +36,5 @@ Index: systemd-218/src/systemctl/systemctl.c +#endif + } - log_info("%s is not a native service, redirecting to /sbin/chkconfig.", name); - + /* Mark this entry, so that we don't try enabling it as native unit */ + args[f] = (char*) ""; diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch new file mode 100644 index 00000000..c7fa0726 --- /dev/null +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -0,0 +1,42 @@ +From: Frederic Crozat +Date: Tue, 22 Jan 2013 17:02:04 +0000 +Subject: handle SYSTEMCTL_OPTIONS environment variable + +(bnc#798620) +--- + src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +Index: systemd-208/src/systemctl/systemctl.c +=================================================================== +--- systemd-208.orig/src/systemctl/systemctl.c ++++ systemd-208/src/systemctl/systemctl.c +@@ -6115,6 +6115,28 @@ int main(int argc, char*argv[]) { + * ellipsized. */ + original_stdout_is_tty = isatty(STDOUT_FILENO); + ++ if (secure_getenv("SYSTEMCTL_OPTIONS") && ++ (!program_invocation_short_name || ++ (program_invocation_short_name && strstr(program_invocation_short_name, "systemctl")))) { ++ char **parsed_systemctl_options = strv_split_quoted(getenv("SYSTEMCTL_OPTIONS")); ++ ++ if (*parsed_systemctl_options && **parsed_systemctl_options) { ++ char **k,**a; ++ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); ++ new_argv[0] = strdup(argv[0]); ++ for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { ++ *k = strdup(*a); ++ } ++ for (a = argv+1; *a; k++, a++) { ++ *k = strdup(*a); ++ } ++ *k = NULL; ++ argv = new_argv; ++ argc = strv_length(new_argv); ++ strv_free (parsed_systemctl_options); ++ } ++ } ++ + r = parse_argv(argc, argv); + if (r <= 0) + goto finish; diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 52af3ee9..96213505 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -4,13 +4,13 @@ Subject: handle disable_caplock and compose_table and kbd_rate (bnc#746595) --- - src/vconsole/vconsole-setup.c | 151 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 148 insertions(+), 3 deletions(-) + src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 153 insertions(+), 3 deletions(-) -Index: systemd-218/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-218.orig/src/vconsole/vconsole-setup.c -+++ systemd-218/src/vconsole/vconsole-setup.c +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -19,7 +19,7 @@ Index: systemd-218/src/vconsole/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -101,8 +102,8 @@ static int enable_utf8(int fd) { +@@ -99,8 +100,8 @@ static int enable_utf8(int fd) { return r; } @@ -30,7 +30,7 @@ Index: systemd-218/src/vconsole/vconsole-setup.c int i = 0; pid_t pid; -@@ -121,6 +122,8 @@ static int keymap_load(const char *vc, c +@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +39,7 @@ Index: systemd-218/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -236,11 +239,113 @@ static void font_copy_to_all_vcs(int fd) +@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) } } @@ -140,20 +140,25 @@ Index: systemd-218/src/vconsole/vconsole-setup.c + int main(int argc, char **argv) { const char *vc; - _cleanup_free_ char - *vc_keymap = NULL, *vc_keymap_toggle = NULL, - *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; + char *vc_keymap = NULL; +@@ -219,8 +317,16 @@ int main(int argc, char **argv) { + char *vc_font = NULL; + char *vc_font_map = NULL; + char *vc_font_unimap = NULL; +#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char -+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; ++ char *vc_kbd_delay = NULL; ++ char *vc_kbd_rate = NULL; ++ char *vc_kbd_disable_caps_lock = NULL; ++ char *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; +#endif -+ bool disable_capslock = false; - _cleanup_close_ int fd = -1; + int fd = -1; bool utf8; ++ bool disable_capslock = false; pid_t font_pid = 0, keymap_pid = 0; -@@ -273,6 +378,28 @@ int main(int argc, char **argv) { + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -182,37 +187,45 @@ Index: systemd-218/src/vconsole/vconsole-setup.c r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -312,14 +439,32 @@ int main(int argc, char **argv) { - if (font_pid > 0) - wait_for_terminate_and_warn(KBD_SETFONT, font_pid, true); +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { + disable_utf8(fd); -- r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid); -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); - if (r < 0) { - log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); - return EXIT_FAILURE; - } + r = EXIT_FAILURE; +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && ++ ++ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +#ifdef HAVE_SYSV_COMPAT -+ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); -+ if (r < 0) { -+ log_error_errno(r, "Failed to start " KBD_LOADKEYS " loading the compose table: %m"); -+ return EXIT_FAILURE; -+ } -+ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); -+ if (r < 0) { -+ log_error_errno(r, "Failed to start kbdrate: %m"); -+ return EXIT_FAILURE; -+ } ++ load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && ++ set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +#endif + font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) + r = EXIT_SUCCESS; +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid, true); + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); + +#ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid, true); ++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); ++ + if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/usr/bin/kbdrate", kbd_rate_pid, true); ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif ++ + if (font_pid > 0) { + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); + if (font_copy) +@@ -300,6 +441,12 @@ finish: + free(vc_font); + free(vc_font_map); + free(vc_font_unimap); ++#ifdef HAVE_SYSV_COMPAT ++ free(vc_kbd_delay); ++ free(vc_kbd_rate); ++ free(vc_kbd_disable_caps_lock); ++ free(vc_compose_table); +#endif - /* Only copy the font when we started setfont successfully */ - if (font_copy && font_pid > 0) + if (fd >= 0) + close_nointr_nofail(fd); diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch new file mode 100644 index 00000000..57a74f0d --- /dev/null +++ b/handle-etc-HOSTNAME.patch @@ -0,0 +1,77 @@ +From: Frederic Crozat +Date: Fri, 15 Feb 2013 16:04:39 +0000 +Subject: handle /etc/HOSTNAME + +(bnc#803653) +--- + src/core/hostname-setup.c | 22 +++++++++++++++++----- + src/hostname/hostnamed.c | 12 +++++++++++- + 2 files changed, 28 insertions(+), 6 deletions(-) + +--- systemd-206/src/core/hostname-setup.c ++++ systemd-206/src/core/hostname-setup.c +@@ -61,12 +61,24 @@ int hostname_setup(void) { + + r = read_and_strip_hostname("/etc/hostname", &b); + if (r < 0) { +- if (r == -ENOENT) +- enoent = true; +- else +- log_warning("Failed to read configured hostname: %s", strerror(-r)); ++ if (r == -ENOENT) { ++ /* use SUSE fallback */ ++ r = read_and_strip_hostname("/etc/HOSTNAME", &b); ++ if (r < 0) { ++ if (r == -ENOENT) ++ enoent = true; ++ else ++ log_warning("Failed to read configured hostname: %s", strerror(-r)); ++ hn = NULL; ++ } ++ else ++ hn = b; + +- hn = NULL; ++ } ++ else { ++ log_warning("Failed to read configured hostname: %s", strerror(-r)); ++ hn = NULL; ++ } + } else + hn = b; + +--- systemd-209/src/hostname/hostnamed.c ++++ systemd-209/src/hostname/hostnamed.c 2014-02-28 11:36:30.594735241 +0000 +@@ -89,6 +89,10 @@ static int context_read_data(Context *c) + if (r < 0 && r != -ENOENT) + return r; + ++ r = read_one_line_file("/etc/HOSTNAME", &c->data[PROP_STATIC_HOSTNAME]); ++ if (r < 0 && r != -ENOENT) ++ return r; ++ + return 0; + } + +@@ -246,6 +250,7 @@ static int context_write_data_hostname(C + } + + static int context_write_data_static_hostname(Context *c) { ++ int r; + + assert(c); + +@@ -256,7 +261,12 @@ static int context_write_data_static_hos + + return 0; + } +- return write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); ++ ++ r = write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); ++ if (!r) { ++ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); ++ } ++ return r; + } + + static int context_write_data_other(Context *c) { diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index a9f6924a..4278436c 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,19 +6,105 @@ Authors: Stanislav Brabec Cristian Rodríguez ---- - Makefile.am | 13 ++++++++++ - rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 +++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++-- - units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 94 insertions(+), 3 deletions(-) - -Index: systemd-218/Makefile.am +Index: systemd-210/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -3715,6 +3715,19 @@ dist_udevrules_DATA += \ +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c +@@ -42,6 +42,10 @@ + #include "fileio.h" + #include "strv.h" + ++#define BIOS_DATA_AREA 0x400 ++#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 ++#define BDA_KSF4_NUMLOCK_MASK 0x02 ++ + static bool is_vconsole(int fd) { + unsigned char data[1]; + +@@ -321,12 +325,14 @@ int main(int argc, char **argv) { + char *vc_kbd_delay = NULL; + char *vc_kbd_rate = NULL; + char *vc_kbd_disable_caps_lock = NULL; ++ char *vc_kbd_numlock = NULL; + char *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; + #endif + int fd = -1; + bool utf8; + bool disable_capslock = false; ++ bool numlock = false; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#if defined(__i386__) || defined(__x86_64__) ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; ++ ++ fdmem = open ("/dev/mem", O_RDONLY); ++ ++ if(fdmem < 0) { ++ r = EXIT_FAILURE; ++ log_error("Failed to open /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if(lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ r = EXIT_FAILURE; ++ log_error("Failed to seek /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if(read (fdmem, &c, sizeof(char)) == -1) { ++ r = EXIT_FAILURE; ++ log_error("Failed to read /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } else ++#endif ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); + #endif + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { + finish: + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + + #ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) +@@ -441,6 +482,7 @@ finish: + free(vc_font); + free(vc_font_map); + free(vc_font_unimap); ++ free(vc_kbd_numlock); + #ifdef HAVE_SYSV_COMPAT + free(vc_kbd_delay); + free(vc_kbd_rate); +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -38,10 +124,10 @@ Index: systemd-218/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-218/rules/73-seat-numlock.rules +Index: systemd-210/rules/73-seat-numlock.rules =================================================================== --- /dev/null -+++ systemd-218/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -51,10 +137,10 @@ Index: systemd-218/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-218/src/login/numlock-on.c +Index: systemd-210/src/login/numlock-on.c =================================================================== --- /dev/null -+++ systemd-218/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -90,95 +176,14 @@ Index: systemd-218/src/login/numlock-on.c + + exit(0); +} -Index: systemd-218/src/vconsole/vconsole-setup.c +Index: systemd-210/units/systemd-vconsole-setup.service.in =================================================================== ---- systemd-218.orig/src/vconsole/vconsole-setup.c -+++ systemd-218/src/vconsole/vconsole-setup.c -@@ -42,6 +42,10 @@ - #include "fileio.h" - #include "strv.h" - -+#define BIOS_DATA_AREA 0x400 -+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 -+#define BDA_KSF4_NUMLOCK_MASK 0x02 -+ - static bool is_vconsole(int fd) { - unsigned char data[1]; - -@@ -342,10 +346,11 @@ int main(int argc, char **argv) { - #ifdef HAVE_SYSV_COMPAT - _cleanup_free_ char - *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, -+ *vc_kbd_numlock = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; - #endif -- bool disable_capslock = false; -+ bool disable_capslock = false, numlock = false; - _cleanup_close_ int fd = -1; - bool utf8; - pid_t font_pid = 0, keymap_pid = 0; -@@ -384,6 +389,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -398,6 +404,32 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (read (fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ } else -+#endif -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - - r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -444,6 +476,10 @@ int main(int argc, char **argv) { - log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); - return EXIT_FAILURE; - } -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - #ifdef HAVE_SYSV_COMPAT - r = load_compose_table(vc, vc_compose_table, &compose_table_pid); - if (r < 0) { -Index: systemd-218/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-218.orig/units/systemd-vconsole-setup.service.in -+++ systemd-218/units/systemd-vconsole-setup.service.in -@@ -10,7 +10,7 @@ Description=Setup Virtual Console - Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in +@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service -Before=sysinit.target shutdown.target +Before=sysinit.target shutdown.target systemd-udev-trigger.service ConditionPathExists=/dev/tty0 diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index a441dd59..d7bea39c 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -4,16 +4,16 @@ Subject: handle root_uses_lang value in /etc/sysconfig/language handle ROOT_USES_LANG=ctype (bnc#792182). --- - src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) + src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) -Index: systemd-218/src/core/locale-setup.c +Index: systemd-208/src/core/locale-setup.c =================================================================== ---- systemd-218.orig/src/core/locale-setup.c -+++ systemd-218/src/core/locale-setup.c -@@ -36,6 +36,11 @@ int locale_setup(char ***environment) { +--- systemd-208.orig/src/core/locale-setup.c ++++ systemd-208/src/core/locale-setup.c +@@ -73,6 +73,11 @@ int locale_setup(char ***environment) { char **add; - char *variables[_VARIABLE_LC_MAX] = {}; + char *variables[_VARIABLE_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT + char _cleanup_free_ *root_uses_lang; @@ -23,9 +23,9 @@ Index: systemd-218/src/core/locale-setup.c if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -82,6 +87,27 @@ int locale_setup(char ***environment) { +@@ -119,6 +124,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); + log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } +#ifdef HAVE_SYSV_COMPAT + if (r <= 0 && @@ -50,4 +50,4 @@ Index: systemd-218/src/core/locale-setup.c +#endif add = NULL; - for (i = 0; i < _VARIABLE_LC_MAX; i++) { + for (i = 0; i < _VARIABLE_MAX; i++) { diff --git a/insserv-generator.patch b/insserv-generator.patch index 1e1cdf4e..5525222a 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -6,30 +6,29 @@ Subject: [PATCH] insserv.conf generator parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate systemd unit drop-in files to add dependencies --- - Makefile.am | 9 - src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 312 ++++++++++++++++++++++++++++++ - 3 files changed, 349 insertions(+) + Makefile.am | 9 + + src/insserv-generator/Makefile | 28 +++ + src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++ + 3 files changed, 346 insertions(+) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c ---- systemd-219.orig/Makefile.am -+++ systemd-219/Makefile.am -@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -343,6 +343,7 @@ rootlibexec_PROGRAMS = \ + systemd-socket-proxyd - systemgenerator_PROGRAMS += \ - systemd-sysv-generator \ -- systemd-rc-local-generator -+ systemd-rc-local-generator \ -+ systemd-insserv-generator - endif - - EXTRA_DIST += \ -@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \ - libsystemd-label.la \ + systemgenerator_PROGRAMS = \ ++ systemd-insserv-generator \ + systemd-getty-generator \ + systemd-fstab-generator \ + systemd-system-update-generator +@@ -1728,6 +1729,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la -+#------------------------------------------------------------------------------- + # ------------------------------------------------------------------------------ +systemd_insserv_generator_SOURCES = \ + src/insserv-generator/insserv-generator.c + @@ -37,11 +36,14 @@ systemd unit drop-in files to add dependencies + libsystemd-label.la \ + libsystemd-shared.la + - # ------------------------------------------------------------------------------ - systemd_remount_fs_SOURCES = \ - src/remount-fs/remount-fs.c \ ++# ------------------------------------------------------------------------------ + systemd_getty_generator_SOURCES = \ + src/getty-generator/getty-generator.c + +Index: systemd-210/src/insserv-generator/Makefile +=================================================================== --- /dev/null -+++ systemd-219/src/insserv-generator/Makefile ++++ systemd-210/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -71,8 +73,10 @@ systemd unit drop-in files to add dependencies + $(MAKE) -C .. clean + +.PHONY: all clean +Index: systemd-210/src/insserv-generator/insserv-generator.c +=================================================================== --- /dev/null -+++ systemd-219/src/insserv-generator/insserv-generator.c ++++ systemd-210/src/insserv-generator/insserv-generator.c @@ -0,0 +1,312 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -350,7 +354,7 @@ systemd unit drop-in files to add dependencies + + while ((de = readdir(d))) { + char *path = NULL; -+ if (hidden_file(de->d_name)) ++ if (ignore_file(de->d_name)) + continue; + + path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch index 4caf994f..008a72ef 100644 --- a/journald-advice-about-use-of-memory.patch +++ b/journald-advice-about-use-of-memory.patch @@ -1,135 +1,143 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Notes [jengelh@inai.de]: -MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render -MAP_POPULATE ineffective. Why do we have it? -What is the rationale for MAP_STACK? --- - src/journal/catalog.c | 12 +++++++++++- - src/journal/journal-authenticate.c | 7 +++++-- - src/journal/journald-kmsg.c | 3 ++- - src/journal/mmap-cache.c | 16 +++++++++++++++- - 4 files changed, 33 insertions(+), 5 deletions(-) + src/journal/catalog.c | 21 +++++++++++++++++++-- + src/journal/journal-authenticate.c | 4 ++-- + src/journal/journal-file.c | 2 +- + src/journal/journald-kmsg.c | 2 +- + src/journal/mmap-cache.c | 24 ++++++++++++++++++++++-- + 5 files changed, 45 insertions(+), 8 deletions(-) -Index: systemd/src/journal/catalog.c -=================================================================== ---- systemd.orig/src/journal/catalog.c -+++ systemd/src/journal/catalog.c -@@ -470,6 +470,10 @@ finish: +--- src/journal/catalog.c ++++ src/journal/catalog.c 2014-10-24 11:44:59.079838065 +0000 +@@ -472,9 +472,19 @@ finish: static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { const CatalogHeader *h; -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; -+ unsigned int n; -+ size_t psize; - int fd; +- int fd; ++ static const struct { ++ const int index; ++ int advise; ++ } advises[] = { ++ {0,MADV_WILLNEED}, ++ {1,MADV_SEQUENTIAL}, ++ {2,MADV_DONTDUMP}, ++ {3,MADV_DONTFORK} ++ }; ++ int n, fd; void *p; struct stat st; -@@ -492,12 +496,18 @@ static int open_mmap(const char *databas ++ size_t psize; + + assert(_fd); + assert(_st); +@@ -494,12 +504,19 @@ static int open_mmap(const char *databas return -EINVAL; } - p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); + psize = PAGE_ALIGN(st.st_size); -+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, 0); ++ p = mmap(NULL, psize, PROT_READ, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, 0); if (p == MAP_FAILED) { - safe_close(fd); + close_nointr_nofail(fd); return -errno; } -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) -+ if (madvise(p, psize, advice[n]) < 0) ++ for (n=0; n < sizeof(advises)/sizeof(advises[0]); n++) { ++ int r = madvise(p, psize, advises[n].advise); ++ if (r < 0) + log_warning("Failed to give advice about use of memory: %m"); ++ } + h = p; if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || le64toh(h->header_size) < sizeof(CatalogHeader) || -Index: systemd/src/journal/journal-authenticate.c -=================================================================== ---- systemd.orig/src/journal/journal-authenticate.c -+++ systemd/src/journal/journal-authenticate.c -@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f +--- src/journal/journal-authenticate.c ++++ src/journal/journal-authenticate.c 2014-10-24 07:41:09.271837523 +0000 +@@ -355,7 +355,7 @@ int journal_file_fss_load(JournalFile *f goto finish; } - m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); -+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, -+ MAP_SHARED | MAP_STACK, fd, 0); ++ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED|MAP_STACK, fd, 0); if (m == MAP_FAILED) { m = NULL; r = -errno; -@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f +@@ -399,7 +399,7 @@ int journal_file_fss_load(JournalFile *f goto finish; } - f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), -+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK, -+ fd, 0); ++ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); if (f->fss_file == MAP_FAILED) { f->fss_file = NULL; r = -errno; -Index: systemd/src/journal/journald-kmsg.c -=================================================================== ---- systemd.orig/src/journal/journald-kmsg.c -+++ systemd/src/journal/journald-kmsg.c -@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) +--- src/journal/journal-file.c ++++ src/journal/journal-file.c 2014-10-24 07:39:25.603837720 +0000 +@@ -2554,7 +2554,7 @@ int journal_file_open( + goto fail; + } + +- f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED, f->fd, 0); ++ f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED|MAP_STACK, f->fd, 0); + if (f->header == MAP_FAILED) { + f->header = NULL; + r = -errno; +--- src/journal/journald-kmsg.c ++++ src/journal/journald-kmsg.c 2014-10-24 07:38:01.967837989 +0000 +@@ -473,7 +473,7 @@ int server_open_kernel_seqnum(Server *s) return 0; } - p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE, -+ MAP_SHARED | MAP_STACK, fd, 0); ++ p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); if (p == MAP_FAILED) { - log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); - return 0; -Index: systemd/src/journal/mmap-cache.c -=================================================================== ---- systemd.orig/src/journal/mmap-cache.c -+++ systemd/src/journal/mmap-cache.c -@@ -467,11 +467,14 @@ static int add_mmap( + log_error("Failed to map sequential number file, ignoring: %m"); + close_nointr_nofail(fd); +--- src/journal/mmap-cache.c ++++ src/journal/mmap-cache.c 2014-10-24 11:16:47.759837744 +0000 +@@ -439,12 +439,21 @@ static int add_mmap( struct stat *st, void **ret) { -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; ++ static const struct { ++ const int index; ++ int vise; ++ } ad[] = { ++ {0, MADV_WILLNEED}, ++ {1, MADV_SEQUENTIAL}, ++ {2, MADV_DONTDUMP}, ++ {3, MADV_DONTFORK} ++ }; uint64_t woffset, wsize; Context *c; FileDescriptor *f; Window *w; void *d; -+ unsigned int n; - int r; +- int r; ++ int n, r; assert(m); -@@ -510,7 +513,8 @@ static int add_mmap( + assert(m->n_ref > 0); +@@ -481,7 +490,7 @@ static int add_mmap( } for (;;) { - d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); -+ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, woffset); ++ d = mmap(NULL, wsize, prot, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, woffset); if (d != MAP_FAILED) break; if (errno != ENOMEM) -@@ -523,6 +527,16 @@ static int add_mmap( +@@ -494,6 +503,17 @@ static int add_mmap( return -ENOMEM; } -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) { -+ if (advice[n] == MADV_DONTFORK) { ++ for (n=0; n < sizeof(ad)/sizeof(ad[0]); n++) { ++ if (ad[n].vise == MADV_DONTFORK) { + int flags = fcntl(fd, F_GETFD); + if (flags < 0 || !(flags & FD_CLOEXEC)) + continue; + } -+ if (madvise(d, wsize, advice[n]) < 0) ++ r = madvise(d, wsize, ad[n].vise); ++ if (r < 0) + log_warning("Failed to give advice about use of memory: %m"); + } + diff --git a/kbd-model-map.patch b/kbd-model-map.patch index b7327892..743a67b2 100644 --- a/kbd-model-map.patch +++ b/kbd-model-map.patch @@ -1,18 +1,13 @@ -From: werner@suse.de -Date: Tue Jan 20 11:33:59 UTC 2015 - --- src/locale/kbd-model-map | 13 +++++++++++++ 1 file changed, 13 insertions(+) -Index: systemd/src/locale/kbd-model-map -=================================================================== ---- systemd.orig/src/locale/kbd-model-map -+++ systemd/src/locale/kbd-model-map -@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a - lt.l4 lt pc105 - terminate:ctrl_alt_bksp +--- src/locale/kbd-model-map ++++ src/locale/kbd-model-map 2015-01-20 11:31:38.357518811 +0000 +@@ -63,3 +63,16 @@ by by,us pc105 - terminate:ctrl_alt_ + il il pc105 - terminate:ctrl_alt_bksp + kazakh kz,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll lt lt pc105 - terminate:ctrl_alt_bksp - khmer kh,us pc105 - terminate:ctrl_alt_bksp +# Additional layouts offered by YaST +Pl02 pl pc105 - terminate:ctrl_alt_bksp +arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch index 4879c708..e2bbdda1 100644 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ b/let-linker-find-libudev-for-libdevmapper.patch @@ -1,13 +1,6 @@ ---- - Makefile.am | 4 ++++ - configure.ac | 4 ---- - 2 files changed, 4 insertions(+), 4 deletions(-) - -Index: systemd/Makefile.am -=================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -4789,6 +4789,10 @@ systemd_cryptsetup_CFLAGS = \ +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-03-13 08:54:36.010736086 +0000 +@@ -3691,6 +3691,10 @@ systemd_cryptsetup_CFLAGS = \ $(AM_CFLAGS) \ $(LIBCRYPTSETUP_CFLAGS) @@ -18,18 +11,27 @@ Index: systemd/Makefile.am systemd_cryptsetup_LDADD = \ libsystemd-label.la \ libudev-internal.la \ -Index: systemd/configure.ac -=================================================================== ---- systemd.orig/configure.ac -+++ systemd/configure.ac -@@ -206,10 +206,6 @@ AS_CASE([$CC], [*clang*], - -Wno-gnu-variable-sized-type-not-at-end \ - ])]) +--- systemd-210/Makefile.in ++++ systemd-210/Makefile.in 2014-03-13 09:19:48.950238725 +0000 +@@ -8964,7 +8964,7 @@ src/cryptsetup/systemd_cryptsetup-crypts + systemd-cryptsetup$(EXEEXT): $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_DEPENDENCIES) $(EXTRA_systemd_cryptsetup_DEPENDENCIES) + @rm -f systemd-cryptsetup$(EXEEXT) +- $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDADD) $(LIBS) ++ $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDFLAGS) $(systemd_cryptsetup_LDADD) $(LIBS) + src/cryptsetup/cryptsetup-generator.$(OBJEXT): \ + src/cryptsetup/$(am__dirstamp) \ + src/cryptsetup/$(DEPDIR)/$(am__dirstamp) +--- systemd-210/configure.ac ++++ systemd-210/configure.ac 2014-03-13 13:46:24.394235954 +0000 +@@ -156,10 +156,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CF + -fdata-sections \ + -fstack-protector \ + --param=ssp-buffer-size=4]) -AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto -ffat-lto-objects])], +- -flto])], - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") + AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags") AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], diff --git a/localfs.service b/localfs.service new file mode 100644 index 00000000..da3facec --- /dev/null +++ b/localfs.service @@ -0,0 +1,8 @@ +[Unit] +Description=Shadow /etc/init.d/boot.localfs +DefaultDependencies=no +After=local-fs.target + +[Service] +RemainAfterExit=true +ExecStart=/bin/true diff --git a/log-target-null-instead-kmsg.patch b/log-target-null-instead-kmsg.patch new file mode 100644 index 00000000..4e715385 --- /dev/null +++ b/log-target-null-instead-kmsg.patch @@ -0,0 +1,116 @@ +--- + src/journal/journald-kmsg.c | 16 +++++++++++++++- + src/libudev/libudev-util.c | 16 +++++++++++++++- + src/shared/log.c | 16 +++++++++++++++- + src/shared/util.c | 6 +++++- + 4 files changed, 50 insertions(+), 4 deletions(-) + +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so + return server_read_dev_kmsg(s); + } + ++static int parse_proc_cmdline_word(const char *word) { ++ if (streq(word, "systemd.log_target=null")) ++ return -115; ++ ++ return 0; ++} ++ + int server_open_dev_kmsg(Server *s) { + int r; + + assert(s); + +- s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { ++ s->dev_kmsg_fd = open("/dev/null", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ } else { ++ s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); ++ } ++ + if (s->dev_kmsg_fd < 0) { + log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, + "Failed to open /dev/kmsg, ignoring: %m"); +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char + return bits; + } + ++static int parse_proc_cmdline_word(const char *word) { ++ if (streq(word, "systemd.log_target=null")) ++ return -115; ++ ++ return 0; ++} ++ + ssize_t print_kmsg(const char *fmt, ...) + { + _cleanup_close_ int fd = -1; +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) + ssize_t len; + ssize_t ret; + +- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { ++ fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } else { ++ fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } ++ + if (fd < 0) + return -errno; + +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { + kmsg_fd = -1; + } + ++static int parse_proc_cmdline_word(const char *word) { ++ if (streq(word, "systemd.log_target=null")) ++ return -115; ++ ++ return 0; ++} ++ + static int log_open_kmsg(void) { + + if (kmsg_fd >= 0) + return 0; + +- kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { ++ kmsg_fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } else { ++ kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); ++ } ++ + if (kmsg_fd < 0) + return -errno; + +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) + + r = parse_word(word); + if (r < 0) { +- log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); ++ if (r == -115) { ++ log_error("Warning: %s set, redirecting messages to /dev/null.", word); ++ } else { ++ log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); ++ } + return r; + } + } diff --git a/macros.systemd.upstream b/macros.systemd.upstream index 8c2e84f6..323d1d48 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -26,9 +26,7 @@ %_udevrulesdir @udevrulesdir@ %_journalcatalogdir @catalogdir@ %_tmpfilesdir @tmpfilesdir@ -%_sysusersdir @sysusersdir@ %_sysctldir @sysctldir@ -%_binfmtdir @binfmtdir@ %systemd_requires \ Requires(post): systemd \ @@ -39,71 +37,42 @@ Requires(postun): systemd \ %systemd_post() \ if [ $1 -eq 1 ] ; then \ # Initial installation \ - systemctl preset %{?*} >/dev/null 2>&1 || : \ + @rootbindir@/systemctl preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} -%systemd_user_post() %systemd_post --user --global %{?*} - %systemd_preun() \ if [ $1 -eq 0 ] ; then \ # Package removal, not upgrade \ - systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - systemctl stop %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \ + @rootbindir@/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + @rootbindir@/systemctl stop %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} %systemd_postun() \ -systemctl daemon-reload >/dev/null 2>&1 || : \ +@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ %{nil} -%systemd_user_postun() %{nil} - %systemd_postun_with_restart() \ -systemctl daemon-reload >/dev/null 2>&1 || : \ +@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ if [ $1 -ge 1 ] ; then \ # Package upgrade, not uninstall \ - systemctl try-restart %{?*} >/dev/null 2>&1 || : \ + @rootbindir@/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} -%systemd_user_postun_with_restart() %{nil} - %udev_hwdb_update() \ -udevadm hwdb --update >/dev/null 2>&1 || : \ +@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \ %{nil} %udev_rules_update() \ -udevadm control --reload >/dev/null 2>&1 || : \ +@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \ %{nil} %journal_catalog_update() \ -journalctl --update-catalog >/dev/null 2>&1 || : \ +@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ %{nil} %tmpfiles_create() \ -systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create() \ -systemd-sysusers %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create_inline() \ -echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \ -%{nil} - -%sysctl_apply() \ -@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%binfmt_apply() \ -@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ +@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ %{nil} diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch index d5814921..63e513cc 100644 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ b/make-emergency.service-conflict-with-syslog.socket.patch @@ -7,19 +7,16 @@ As a workaround explicitly stop syslog.socket when entering emergency.service. Reference: bnc#852232 ---- - units/emergency.service.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-218/units/emergency.service.in +Index: systemd-208/units/emergency.service.in =================================================================== ---- systemd-218.orig/units/emergency.service.in -+++ systemd-218/units/emergency.service.in -@@ -11,6 +11,7 @@ Documentation=man:sulogin(8) +--- systemd-208/units/emergency.service.in ++++ systemd-208/units/emergency.service.in +@@ -9,7 +9,7 @@ + Description=Emergency Shell + Documentation=man:sulogin(8) DefaultDependencies=no - Conflicts=shutdown.target - Conflicts=rescue.service -+Conflicts=syslog.socket +-Conflicts=shutdown.target ++Conflicts=shutdown.target syslog.socket Before=shutdown.target [Service] diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch new file mode 100644 index 00000000..4f557c54 --- /dev/null +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -0,0 +1,64 @@ +From: Frederic Crozat +Date: Wed, 12 Oct 2011 15:18:29 +0200 +Subject: module-load: handle SUSE /etc/sysconfig/kernel module list + +--- + src/modules-load/modules-load.c | 27 ++++++++++++++++++++++++++- + units/systemd-modules-load.service.in | 1 + + 2 files changed, 27 insertions(+), 1 deletion(-) + +--- systemd-206_git201308300826.orig/src/modules-load/modules-load.c ++++ systemd-206_git201308300826/src/modules-load/modules-load.c +@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar + int main(int argc, char *argv[]) { + int r, k; + struct kmod_ctx *ctx; ++#ifdef HAVE_SYSV_COMPAT ++ _cleanup_free_ char *modules_on_boot = NULL; ++#endif + + r = parse_argv(argc, argv); + if (r <= 0) +@@ -318,7 +321,31 @@ int main(int argc, char *argv[]) { + r = k; + } + } +- ++#ifdef HAVE_SYSV_COMPAT ++ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); ++ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, ++ "MODULES_LOADED_ON_BOOT", &modules_on_boot, ++ NULL)) < 0) { ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); ++ else ++ r = EXIT_SUCCESS; ++ } else ++ r = EXIT_SUCCESS; ++ if (modules_on_boot) { ++ char **modules = strv_split(modules_on_boot,WHITESPACE); ++ char **module; ++ ++ if (modules) { ++ STRV_FOREACH(module, modules) { ++ k = load_module(ctx, *module); ++ if (k < 0) ++ r = EXIT_FAILURE; ++ } ++ } ++ strv_free(modules); ++ } ++#endif + finish: + kmod_unref(ctx); + strv_free(arg_proc_cmdline_modules); +--- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in ++++ systemd-206_git201308300826/units/systemd-modules-load.service.in +@@ -13,6 +13,7 @@ Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service + Before=sysinit.target shutdown.target + ConditionCapability=CAP_SYS_MODULE ++ConditionPathExists=|/etc/sysconfig/kernel + ConditionDirectoryNotEmpty=|/lib/modules-load.d + ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d + ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch new file mode 100644 index 00000000..5b296a18 --- /dev/null +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -0,0 +1,102 @@ +From: Ludwig Nussel +Date: Fri, 20 May 2011 15:38:46 +0200 +Subject: optionally warn if nss-myhostname is called + +--- + configure.ac | 11 +++++++++++ + src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ + 2 files changed, 43 insertions(+) + +--- systemd-206_git201308300826.orig/configure.ac ++++ systemd-206_git201308300826/configure.ac +@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno"; + fi + AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) + ++if test "x$have_myhostname" != "xno"; then ++ AC_MSG_CHECKING([log warning messages for nss-myhostname]) ++ AC_ARG_WITH(nss-my-hostname-warning, AS_HELP_STRING([--with-nss-my-hostname-warning], [log warning to syslog when nss-myhostname is called (default=no)]),[],[with_nss_my_hostname_warning=no]) ++ AC_MSG_RESULT([$with_nss_my_hostname_warning]) ++ ++ if test x$with_nss_my_hostname_warning != xno; then ++ AC_CHECK_HEADERS([syslog.h]) ++ AC_DEFINE([LOG_NSS_MY_HOSTNAME_WARNING],[1],[whether to log warning message for nss-myhostname]) ++ fi ++fi ++ + # ------------------------------------------------------------------------------ + AC_ARG_WITH(firmware-path, + AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], +--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c +@@ -29,6 +29,9 @@ + #include + #include + #include ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++#include ++#endif + + #include "ifconf.h" + #include "macro.h" +@@ -47,6 +50,10 @@ + #define LOCALADDRESS_IPV6 &in6addr_loopback + #define LOOPBACK_INTERFACE "lo" + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++static void warn(const char* hn); ++#endif ++ + enum nss_status _nss_myhostname_gethostbyname4_r( + const char *name, + struct gaih_addrtuple **pat, +@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostb + return NSS_STATUS_NOTFOUND; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + /* If this fails, n_addresses is 0. Which is fine */ + ifconf_acquire_addresses(&addresses, &n_addresses); + +@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostb + local_address_ipv4 = LOCALADDRESS_IPV4; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + return fill_in_hostent( + canonical, additional, + af, +@@ -509,6 +522,9 @@ found: + canonical = hn; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + return fill_in_hostent( + canonical, additional, + af, +@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostb + errnop, h_errnop, + NULL); + } ++ ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++static void warn(const char* hn) { ++ if (strstr(program_invocation_short_name, "nscd")) { ++ syslog(LOG_WARNING, ++ "Some application tried to resolve hostname \"%s\" which is not in DNS. Stop nscd to find out which one.\n", ++ hn); ++ } else { ++ syslog(LOG_WARNING, ++ "%s(%u) tried to resolve hostname \"%s\" which is not in DNS. This might be the reason for the delays you experience.\n", ++ program_invocation_short_name, ++ getpid(), ++ hn); ++ } ++} ++#endif diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch index 4226b51c..8709dc70 100644 --- a/parse-crypttab-for-noauto-option.patch +++ b/parse-crypttab-for-noauto-option.patch @@ -1,14 +1,14 @@ --- - src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- - 1 file changed, 44 insertions(+), 1 deletion(-) + src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- + 1 file changed, 50 insertions(+), 2 deletions(-) -Index: systemd/src/fstab-generator/fstab-generator.c +Index: systemd-210/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd.orig/src/fstab-generator/fstab-generator.c -+++ systemd/src/fstab-generator/fstab-generator.c -@@ -48,6 +48,49 @@ static char *arg_usr_what = NULL; - static char *arg_usr_fstype = NULL; - static char *arg_usr_options = NULL; +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ + static const char *arg_dest = "/tmp"; + static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; @@ -53,15 +53,26 @@ Index: systemd/src/fstab-generator/fstab-generator.c + return 1; +} + - static int add_swap( - const char *what, - struct mntent *me, -@@ -118,7 +161,7 @@ static int add_swap( - if (r < 0) - return r; ++ + static int mount_find_pri(struct mntent *me, int *ret) { + char *end, *pri; + unsigned long r; +@@ -212,7 +256,7 @@ static int add_mount( + *name = NULL, *unit = NULL, *lnk = NULL, + *automount_name = NULL, *automount_unit = NULL; + _cleanup_fclose_ FILE *f = NULL; +- int r; ++ int r, c; + + assert(what); + assert(where); +@@ -288,7 +332,8 @@ static int add_mount( + return -errno; + } - if (!noauto) { -+ if (!noauto && check_crypttab(what) != 0) { - lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET, - nofail ? ".wants/" : ".requires/", name, NULL); - if (!lnk) ++ c = check_crypttab(what); ++ if (!noauto && (c != 0)) { + if (post) { + lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL); + if (!lnk) diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch index 242a05d1..560f9f3f 100644 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ b/plymouth-quit-and-wait-for-emergency-service.patch @@ -1,40 +1,16 @@ ---- - units/console-shell.service.m4.in | 2 ++ - units/emergency.service.in | 3 ++- - units/rescue.service.in | 3 ++- - 3 files changed, 6 insertions(+), 2 deletions(-) - -Index: systemd/units/console-shell.service.m4.in -=================================================================== ---- systemd.orig/units/console-shell.service.m4.in -+++ systemd/units/console-shell.service.m4.in +--- systemd-208/units/console-shell.service.m4.in ++++ systemd-208/units/console-shell.service.m4.in 2014-02-05 11:28:31.446735287 +0000 @@ -17,6 +17,8 @@ Before=getty.target [Service] Environment=HOME=/root WorkingDirectory=/root +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait - ExecStart=-@SULOGIN@ + ExecStart=-/usr/sbin/sulogin ExecStopPost=-@SYSTEMCTL@ poweroff Type=idle -Index: systemd/units/emergency.service.in -=================================================================== ---- systemd.orig/units/emergency.service.in -+++ systemd/units/emergency.service.in -@@ -17,7 +17,8 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" - Type=idle -Index: systemd/units/rescue.service.in -=================================================================== ---- systemd.orig/units/rescue.service.in -+++ systemd/units/rescue.service.in +--- systemd-208/units/rescue.service.m4.in ++++ systemd-208/units/rescue.service.m4.in 2014-02-05 11:28:45.214235524 +0000 @@ -16,7 +16,8 @@ Before=shutdown.target [Service] Environment=HOME=/root @@ -42,6 +18,18 @@ Index: systemd/units/rescue.service.in -ExecStartPre=-/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" - Type=idle + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' + ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ --fail --no-block default +--- systemd-208/units/emergency.service.in ++++ systemd-208/units/emergency.service.in 2014-02-05 11:28:51.782235282 +0000 +@@ -15,7 +15,8 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' + ExecStart=-/usr/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default diff --git a/prepare-suspend-to-disk.patch b/prepare-suspend-to-disk.patch new file mode 100644 index 00000000..01f95f9d --- /dev/null +++ b/prepare-suspend-to-disk.patch @@ -0,0 +1,28 @@ +diff -Naur systemd-210/units/systemd-hibernate.service.in systemd-210-mod/units/systemd-hibernate.service.in +--- systemd-210/units/systemd-hibernate.service.in 2013-08-13 22:02:52.808756274 +0200 ++++ systemd-210-mod/units/systemd-hibernate.service.in 2014-03-25 12:27:44.995995220 +0100 +@@ -11,7 +11,10 @@ + DefaultDependencies=no + Requires=sleep.target + After=sleep.target ++ConditionKernelCommandLine=resume + + [Service] + Type=oneshot ++ExecStart=@rootbindir@/systemd-sleep-grub pre + ExecStart=@rootlibexecdir@/systemd-sleep hibernate ++ExecStopPost=@rootbindir@/systemd-sleep-grub post +diff -Naur systemd-210/units/systemd-hybrid-sleep.service.in systemd-210-mod/units/systemd-hybrid-sleep.service.in +--- systemd-210/units/systemd-hybrid-sleep.service.in 2013-08-13 22:02:52.809756282 +0200 ++++ systemd-210-mod/units/systemd-hybrid-sleep.service.in 2014-03-25 12:27:56.115994902 +0100 +@@ -11,7 +11,10 @@ + DefaultDependencies=no + Requires=sleep.target + After=sleep.target ++ConditionKernelCommandLine=resume + + [Service] + Type=oneshot ++ExecStart=@rootbindir@/systemd-sleep-grub pre + ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep ++ExecStopPost=@rootbindir@/systemd-sleep-grub post diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch new file mode 100644 index 00000000..f1e0dfcb --- /dev/null +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -0,0 +1,91 @@ +From: Frederic Crozat +Date: Wed, 7 Dec 2011 15:15:07 +0000 +Subject: remain_after_exit initscript heuristic and add new LSB headers + +Add remain_after_exit heuristic for initscripts and add LSB headers +PIDFile: and X-Systemd-RemainAfterExit to control it. + +(bnc#721426) (bnc#727771) +--- + src/core/service.c | 34 ++++++++++++++++++++++++++++++++-- + src/core/service.h | 1 + + 2 files changed, 33 insertions(+), 2 deletions(-) + +Index: systemd-208/src/core/service.c +=================================================================== +--- systemd-208.orig/src/core/service.c ++++ systemd-208/src/core/service.c +@@ -135,6 +135,7 @@ static void service_init(Unit *u) { + #ifdef HAVE_SYSV_COMPAT + s->sysv_start_priority = -1; + s->sysv_start_priority_from_rcnd = -1; ++ s->sysv_remain_after_exit_heuristic = true; + #endif + s->socket_fd = -1; + s->guess_main_pid = true; +@@ -883,6 +884,34 @@ static int service_load_sysv_path(Servic + free(short_description); + short_description = d; + ++ } else if (startswith_no_case(t, "PIDFile:")) { ++ char *fn; ++ ++ state = LSB; ++ ++ fn = strstrip(t+8); ++ if (!path_is_absolute(fn)) { ++ log_warning("[%s:%u] PID file not absolute. Ignoring.", path, line); ++ continue; ++ } ++ ++ if (!(fn = strdup(fn))) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ free(s->pid_file); ++ s->pid_file = fn; ++ s->sysv_remain_after_exit_heuristic = false; ++ s->remain_after_exit = false; ++ } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { ++ char *j; ++ ++ state = LSB; ++ if ((j = strstrip(t+26)) && *j) { ++ s->remain_after_exit = parse_boolean(j); ++ s->sysv_remain_after_exit_heuristic = false; ++ } + } else if (state == LSB_DESCRIPTION) { + + if (startswith(l, "#\t") || startswith(l, "# ")) { +@@ -933,7 +962,8 @@ static int service_load_sysv_path(Servic + + /* Special setting for all SysV services */ + s->type = SERVICE_FORKING; +- s->remain_after_exit = !s->pid_file; ++ if (s->sysv_remain_after_exit_heuristic) ++ s->remain_after_exit = !s->pid_file; + s->guess_main_pid = false; + s->restart = SERVICE_RESTART_NO; + s->exec_context.ignore_sigpipe = false; +@@ -2080,7 +2110,7 @@ static void service_enter_running(Servic + if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && + (s->bus_name_good || s->type != SERVICE_DBUS)) { + #ifdef HAVE_SYSV_COMPAT +- if (s->sysv_enabled && !s->pid_file) ++ if (s->sysv_enabled && !s->pid_file && s->sysv_remain_after_exit_heuristic) + s->remain_after_exit = false; + #endif + service_set_state(s, SERVICE_RUNNING); +Index: systemd-208/src/core/service.h +=================================================================== +--- systemd-208.orig/src/core/service.h ++++ systemd-208/src/core/service.h +@@ -178,6 +178,7 @@ struct Service { + bool is_sysv:1; + bool sysv_has_lsb:1; + bool sysv_enabled:1; ++ bool sysv_remain_after_exit_heuristic:1; + int sysv_start_priority_from_rcnd; + int sysv_start_priority; + diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch index 91822e07..ccf7cea4 100644 --- a/respect-nfs-bg-option.patch +++ b/respect-nfs-bg-option.patch @@ -1,22 +1,19 @@ ---- - src/fstab-generator/fstab-generator.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-218/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-218.orig/src/fstab-generator/fstab-generator.c -+++ systemd-218/src/fstab-generator/fstab-generator.c -@@ -238,8 +238,11 @@ static int add_mount( - "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", - source); +--- systemd-210/src/fstab-generator/fstab-generator.c 2014-02-17 15:49:21.070855641 +0100 ++++ systemd-210/src/fstab-generator/fstab-generator.c 2014-04-25 16:25:13.256106126 +0200 +@@ -255,10 +255,12 @@ + "SourcePath=%s\n", + source); - if (post && !noauto && !nofail && !automount) -- fprintf(f, "Before=%s\n", post); +- fprintf(f, +- "Before=%s\n", +- post); + if (post && !noauto && !nofail && !automount) { -+ bool is_nfs = fstype != NULL && streq(fstype, "nfs"); -+ if (!is_nfs || strstr(opts, "bg") == NULL) -+ fprintf(f, "Before=%s\n", post); ++ if (!streq(type, "nfs") || (streq(type, "nfs") && !strstr(opts, "bg"))) ++ fprintf(f, ++ "Before=%s\n", ++ post); + } - if (passno != 0) { - r = generator_write_fsck_deps(f, arg_dest, what, where, fstype); + r = add_fsck(f, what, where, type, passno); + if (r < 0) diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index 132b73e1..422f23ca 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -3,20 +3,18 @@ Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: restore /var/run and /var/lock bind mount if they aren't symlink --- - Makefile.am | 9 +++++++++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ + Makefile.am | 9 +++++++++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -516,6 +516,12 @@ endif - dist_systemunit_DATA_busnames += \ - units/busnames.target +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am +@@ -419,6 +419,12 @@ dist_systemunit_DATA = \ + units/system-update.target \ + units/initrd-switch-root.target +if HAVE_SYSV_COMPAT +dist_systemunit_DATA += \ @@ -27,7 +25,7 @@ Index: systemd-218/Makefile.am nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -6086,6 +6092,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -35,12 +33,10 @@ Index: systemd-218/Makefile.am + var-run.mount \ + var-lock.mount endif - SYSINIT_TARGET_WANTS += \ -Index: systemd-218/units/var-lock.mount -=================================================================== + systemd-update-utmp.service --- /dev/null -+++ systemd-218/units/var-lock.mount ++++ systemd-206_git201308300826/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -61,10 +57,8 @@ Index: systemd-218/units/var-lock.mount +Where=/var/lock +Type=bind +Options=bind -Index: systemd-218/units/var-run.mount -=================================================================== --- /dev/null -+++ systemd-218/units/var-run.mount ++++ systemd-206_git201308300826/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch new file mode 100644 index 00000000..d0e907bb --- /dev/null +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -0,0 +1,31 @@ +From: Frederic Crozat +Date: Fri, 30 Sep 2011 12:58:17 +0200 +Subject: service: flags sysv service with detected pid as + RemainAfterExit=false + +LSB header doesn't give pidfile, so all LSB initscripts have +RemainAfterExit=false, causing daemon termination to not be reported as +such by systemd. Checking at startup if daemon is still running for +sysv initscript to disable RemainAfterExit helps a lot. +Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 +--- + src/core/service.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- systemd-206_git201308300826.orig/src/core/service.c ++++ systemd-206_git201308300826/src/core/service.c +@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic + cgroup_ok = cgroup_good(s); + + if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && +- (s->bus_name_good || s->type != SERVICE_DBUS)) ++ (s->bus_name_good || s->type != SERVICE_DBUS)) { ++#ifdef HAVE_SYSV_COMPAT ++ if (s->sysv_enabled && !s->pid_file) ++ s->remain_after_exit = false; ++#endif + service_set_state(s, SERVICE_RUNNING); ++ } + else if (s->remain_after_exit) + service_set_state(s, SERVICE_EXITED); + else diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index 23bd0163..e13cb6dd 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -6,8 +6,10 @@ Use and set default logging console for both journald and kernel messages src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- systemd-219.orig/src/journal/journald-console.c -+++ systemd-219/src/journal/journald-console.c +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include #include @@ -23,13 +25,13 @@ Use and set default logging console for both journald and kernel messages #include "fileio.h" #include "journald-server.h" -@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) { +@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) { return cached_printk_time; } ++#ifdef HAVE_SYSV_COMPAT +void defaul_tty_path(Server *s) +{ -+#ifdef HAVE_SYSV_COMPAT + static const char list[] = "/dev/tty10\0" "/dev/console\0"; + const char *vc; + @@ -49,12 +51,10 @@ Use and set default logging console for both journald and kernel messages + s->tty_path = strdup(vc); + break; + } -+#endif +} + +void klogconsole(Server *s) +{ -+#ifdef HAVE_SYSV_COMPAT + _cleanup_free_ char *klogconsole_params = NULL; + _cleanup_close_ int fd = -1; + const char *vc = s->tty_path; @@ -94,29 +94,27 @@ Use and set default logging console for both journald and kernel messages + num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); + if (safe_atoi(num, &r) == 0) + klogctl(8, 0, r); -+#endif +} ++#endif + void server_forward_console( Server *s, int priority, -@@ -64,6 +142,12 @@ void server_forward_console( +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+#ifdef HAVE_SYSV_COMPAT + /* Do not write security/authorization (private) messages to console */ + if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) + return; -+#endif + /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -100,7 +184,23 @@ void server_forward_console( +@@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { - log_debug_errno(errno, "Failed to open %s for logging: %m", tty); + log_debug("Failed to open %s for logging: %m", tty); +#ifdef HAVE_SYSV_COMPAT + if (fd != -ENOENT && fd != -ENODEV) + return; @@ -137,18 +135,23 @@ Use and set default logging console for both journald and kernel messages } if (writev(fd, iovec, n) < 0) ---- systemd-219.orig/src/journal/journald-console.h -+++ systemd-219/src/journal/journald-console.h -@@ -24,3 +24,6 @@ +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h +@@ -24,3 +24,7 @@ #include "journald-server.h" - void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); -+ + void server_forward_console(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred); ++#ifdef HAVE_SYSV_COMPAT +void klogconsole(Server *s); +void defaul_tty_path(Server *s); ---- systemd-219.orig/src/journal/journald-server.c -+++ systemd-219/src/journal/journald-server.c -@@ -1520,6 +1520,11 @@ int server_init(Server *s) { ++#endif +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c +@@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); @@ -158,5 +161,5 @@ Use and set default logging console for both journald and kernel messages + klogconsole(s); + if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { - log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", - s->rate_limit_interval, s->rate_limit_burst); + log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0", + (long long unsigned) s->rate_limit_interval, diff --git a/shut-up-annoying-assertion-monotonic-clock-message.patch b/shut-up-annoying-assertion-monotonic-clock-message.patch new file mode 100644 index 00000000..ecdf4bc0 --- /dev/null +++ b/shut-up-annoying-assertion-monotonic-clock-message.patch @@ -0,0 +1,38 @@ +Stop flooding the kernel's message ring buffer with useless +messages on dual_timestamp_is_set is failed. This is a backport +from upstream code. + +--- + src/libsystemd/sd-event/sd-event.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- systemd-210/src/libsystemd/sd-event/sd-event.c ++++ systemd-210/src/libsystemd/sd-event/sd-event.c 2014-05-02 10:01:23.366235185 +0000 +@@ -2191,9 +2191,12 @@ _public_ int sd_event_exit(sd_event *e, + _public_ int sd_event_get_now_realtime(sd_event *e, uint64_t *usec) { + assert_return(e, -EINVAL); + assert_return(usec, -EINVAL); +- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); + assert_return(!event_pid_changed(e), -ECHILD); + ++ /* If we haven't run yet, just get the actual time */ ++ if (!dual_timestamp_is_set(&e->timestamp)) ++ return -ENODATA; ++ + *usec = e->timestamp.realtime; + return 0; + } +@@ -2201,9 +2204,12 @@ _public_ int sd_event_get_now_realtime(s + _public_ int sd_event_get_now_monotonic(sd_event *e, uint64_t *usec) { + assert_return(e, -EINVAL); + assert_return(usec, -EINVAL); +- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); + assert_return(!event_pid_changed(e), -ECHILD); + ++ /* If we haven't run yet, just get the actual time */ ++ if (!dual_timestamp_is_set(&e->timestamp)) ++ return -ENODATA; ++ + *usec = e->timestamp.monotonic; + return 0; + } diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch index 2304a184..3230a8f1 100644 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ b/shut-up-rpmlint-on-var-log-journal.patch @@ -1,12 +1,6 @@ ---- - Makefile.am | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -4209,11 +4209,11 @@ noinst_LTLIBRARIES += \ +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-07-28 09:05:41.002735451 +0000 +@@ -3242,11 +3242,11 @@ noinst_LTLIBRARIES += \ libsystemd-journal-core.la journal-install-hook: @@ -22,4 +16,4 @@ Index: systemd-218/Makefile.am + -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ journal-uninstall-hook: - -rmdir $(DESTDIR)/var/log/journal/remote + -rmdir $(DESTDIR)/var/log/journal/ diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff deleted file mode 100644 index b11ea682..00000000 --- a/suse-sysv-bootd-support.diff +++ /dev/null @@ -1,86 +0,0 @@ -From: Frederic Crozat -Date: Fri, 12 Apr 2013 16:56:26 +0200 -Subject: Revert "service: drop support for SysV scripts for the early boot" - -This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. - -[Implementation note: currently, the unit is generated, but not -activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] ---- - src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++----- - 1 file changed, 21 insertions(+), 5 deletions(-) - ---- systemd-219.orig/src/sysv-generator/sysv-generator.c -+++ systemd-219/src/sysv-generator/sysv-generator.c -@@ -42,7 +42,8 @@ - - typedef enum RunlevelType { - RUNLEVEL_UP, -- RUNLEVEL_DOWN -+ RUNLEVEL_DOWN, -+ RUNLEVEL_SYSINIT, - } RunlevelType; - - static const struct { -@@ -50,6 +51,9 @@ static const struct { - const char *target; - const RunlevelType type; - } rcnd_table[] = { -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+ - /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, - { "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP }, -@@ -65,7 +69,7 @@ static const struct { - directories in this order, and we want to make sure that - sysv_start_priority is known when we first load the - unit. And that value we only know from S links. Hence -- UP must be read before DOWN */ -+ UP/SYSINIT must be read before DOWN */ - }; - - typedef struct SysvStub { -@@ -83,7 +87,7 @@ typedef struct SysvStub { - bool reload; - } SysvStub; - --const char *arg_dest = "/tmp"; -+static const char *arg_dest = "/tmp"; - - static int add_symlink(const char *service, const char *where) { - _cleanup_free_ char *from = NULL, *to = NULL; -@@ -235,6 +239,10 @@ static bool usage_contains_reload(const - static char *sysv_translate_name(const char *name) { - char *r; - -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ name += 5; -+ - r = new(char, strlen(name) + strlen(".service") + 1); - if (!r) - return NULL; -@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo - - if (de->d_name[0] == 'S') { - -- if (rcnd_table[i].type == RUNLEVEL_UP) { -+ if (rcnd_table[i].type == RUNLEVEL_UP || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = - MAX(a*10 + b, service->sysv_start_priority); -- } - - r = set_ensure_allocated(&runlevel_services[i], NULL); - if (r < 0) -@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo - goto finish; - - } else if (de->d_name[0] == 'K' && -- (rcnd_table[i].type == RUNLEVEL_DOWN)) { -+ (rcnd_table[i].type == RUNLEVEL_DOWN || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { - - r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 08247c82..9b3defb9 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -6,14 +6,14 @@ Subject: [PATCH] sysctl: handle /boot/sysctl.conf- Add support for kernel release sysctl.conf files (for per-flavor configuration), needed by openSUSE (bnc#809420). --- - src/sysctl/sysctl.c | 8 ++++++++ - units/systemd-sysctl.service.in | 2 ++ - 2 files changed, 10 insertions(+) + src/sysctl/sysctl.c | 8 ++++++++ + units/systemd-sysctl.service.in | 1 + + 2 files changed, 9 insertions(+) -Index: systemd-218/src/sysctl/sysctl.c +Index: systemd-207/src/sysctl/sysctl.c =================================================================== ---- systemd-218.orig/src/sysctl/sysctl.c -+++ systemd-218/src/sysctl/sysctl.c +--- systemd-207.orig/src/sysctl/sysctl.c ++++ systemd-207/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -22,7 +22,7 @@ Index: systemd-218/src/sysctl/sysctl.c #include "log.h" #include "strv.h" -@@ -310,6 +311,13 @@ int main(int argc, char *argv[]) { +@@ -299,6 +300,13 @@ int main(int argc, char *argv[]) { } else { _cleanup_strv_free_ char **files = NULL; char **f; @@ -36,14 +36,14 @@ Index: systemd-218/src/sysctl/sysctl.c r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { -Index: systemd-218/units/systemd-sysctl.service.in +Index: systemd-207/units/systemd-sysctl.service.in =================================================================== ---- systemd-218.orig/units/systemd-sysctl.service.in -+++ systemd-218/units/systemd-sysctl.service.in -@@ -13,6 +13,8 @@ Conflicts=shutdown.target - After=systemd-modules-load.service - Before=sysinit.target shutdown.target - ConditionPathIsReadWrite=/proc/sys/ +--- systemd-207.orig/units/systemd-sysctl.service.in ++++ systemd-207/units/systemd-sysctl.service.in +@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys + ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d + ConditionDirectoryNotEmpty=|/etc/sysctl.d + ConditionDirectoryNotEmpty=|/run/sysctl.d +ConditionPathExistsGlob=|/boot/sysctl.conf-%v +RequiresMountsFor=/boot diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch index 86aec7e9..4dd058d9 100644 --- a/systemctl-set-default-target.patch +++ b/systemctl-set-default-target.patch @@ -3,14 +3,12 @@ Mention that --force is required to override an already existing default.target This solves the bug bnc#868439 --- - man/systemctl.xml | 4 +++- + systemctl.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -Index: systemd/man/systemctl.xml -=================================================================== ---- systemd.orig/man/systemctl.xml -+++ systemd/man/systemctl.xml -@@ -445,7 +445,7 @@ along with systemd; If not, see @@ -19,12 +17,12 @@ Index: systemd/man/systemctl.xml any existing conflicting symlinks. When used with halt, -@@ -1215,6 +1215,8 @@ kobject-uevent 1 systemd-udevd-kernel.so - Return the default target to boot into. This returns - the target unit name default.target - is aliased (symlinked) to. +@@ -1036,6 +1036,8 @@ kobject-uevent 1 systemd-udevd-kernel.so + + Set the default target to boot into. Command links + default.target to the given unit. + If combined with , override + an already existing symlink for the default target. - + diff --git a/systemd-210.tar.xz b/systemd-210.tar.xz new file mode 100644 index 00000000..dd2041d8 --- /dev/null +++ b/systemd-210.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b3ddf9bf82f05cc3079650e86ae05b558381fd034cf1b03a592bcadd1610c4 +size 2620924 diff --git a/systemd-219.tar.xz b/systemd-219.tar.xz deleted file mode 100644 index d90808ee..00000000 --- a/systemd-219.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c57113454e37c040d0cb481bd960ae7cf3a3fe0a231ff4945259bc74503f2d9 -size 3938228 diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index 8eb7f440..c1c06ba5 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,27 +1,25 @@ ---- - man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- - 2 files changed, 43 insertions(+), 8 deletions(-) - -Index: systemd/man/tmpfiles.d.xml -=================================================================== ---- systemd.orig/man/tmpfiles.d.xml -+++ systemd/man/tmpfiles.d.xml -@@ -489,6 +489,9 @@ - f, F, and - w may be used to specify a short string that - is written to the file, suffixed by a newline. For -+ x, X, a comma separated list of -+ usernames. If given, only paths belonging to these users will be excluded -+ during directory cleanup. Ignored for all other lines. For - C, specifies the source file or - directory. For t determines extended - attributes to be set. For a determines -Index: systemd/src/tmpfiles/tmpfiles.c -=================================================================== ---- systemd.orig/src/tmpfiles/tmpfiles.c -+++ systemd/src/tmpfiles/tmpfiles.c -@@ -345,6 +345,7 @@ static int dir_cleanup( +diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210.mod/man/tmpfiles.d.xml +--- systemd-210/man/tmpfiles.d.xml 2014-12-18 09:40:29.403629407 +0100 ++++ systemd-210.mod/man/tmpfiles.d.xml 2014-12-18 10:34:06.274130934 +0100 +@@ -435,8 +435,12 @@ + f, F, + and w may be used to + specify a short string that is written to the +- file, suffixed by a newline. Ignored for all +- other lines. ++ file, suffixed by a newline. ++ For x, X ++ a comma separated list of usernames. If given, ++ only paths belonging to these users will be ++ excluded during directory cleanup. ++ Ignored for all other lines. + + + +diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpfiles.c +--- systemd-210/src/tmpfiles/tmpfiles.c 2014-12-18 09:40:29.342629177 +0100 ++++ systemd-210.mod/src/tmpfiles/tmpfiles.c 2014-12-18 11:58:16.686576974 +0100 +@@ -263,6 +263,7 @@ struct timespec times[2]; bool deleted = false; int r = 0; @@ -29,57 +27,52 @@ Index: systemd/src/tmpfiles/tmpfiles.c while ((dent = readdir(d))) { struct stat s; -@@ -395,14 +396,45 @@ static int dir_cleanup( +@@ -306,11 +307,43 @@ } /* Is there an item configured for this path? */ -- if (hashmap_get(items, sub_path)) { -- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); +- if (hashmap_get(items, sub_path)) - continue; -- } - -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); +- if (find_glob(globs, sub_path)) - continue; -+ bool found_glob = false; + found = hashmap_get(items, sub_path); -+ if (!found) { -+ found_glob = true; -+ found = find_glob(globs, sub_path); -+ } -+ if (found) { -+ struct passwd *pw; -+ char *userfound = NULL, *args; -+ bool match = false; -+ uid_t uid = -1; ++ ++ if (!found) ++ found = find_glob(globs, sub_path); + ++ if (found) { + /* evaluate username arguments in ignore statements */ -+ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) || -+ !found->argument) { -+ if (found_glob) -+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -+ else -+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -+ continue; -+ } -+ args = strdup(found->argument); -+ assert_se(args != NULL); -+ while ((userfound = strsep(&args, ",")) != NULL) { -+ pw = getpwnam(userfound); -+ if (pw == NULL) { -+ log_error("Unknown user '%s' in ignore statement.", userfound); -+ continue; ++ if (found->type == IGNORE_PATH || found->type == IGNORE_DIRECTORY_PATH) { ++ if (!found->argument) ++ continue; ++ else { ++ struct passwd *pw; ++ char *userfound = NULL, *args = strdup(found->argument); ++ bool match = false; ++ int uid = -1; ++ ++ while ((userfound = strsep(&args, ","))) { ++ pw = getpwnam(userfound); ++ ++ if (!pw) ++ log_error("Unknown user '%s' in ignore statement.", userfound); ++ else { ++ uid = pw->pw_uid; ++ if (s.st_uid == uid) { ++ match = true; ++ break; ++ } ++ } ++ } ++ if (match) { ++ found = NULL; ++ continue; ++ } + } -+ uid = pw->pw_uid; -+ if (s.st_uid == uid) { -+ match = true; -+ break; -+ } -+ } -+ if (match) { -+ found = NULL; -+ continue; -+ } - } ++ } else ++ continue; ++ } if (S_ISDIR(s.st_mode)) { + diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch index 89c83e42..cede24c9 100644 --- a/systemd-dbus-system-bus-address.patch +++ b/systemd-dbus-system-bus-address.patch @@ -1,14 +1,18 @@ ---- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/shared/def.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -Index: systemd/src/libsystemd/sd-bus/sd-bus.c -=================================================================== ---- systemd.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd/src/libsystemd/sd-bus/sd-bus.c -@@ -809,8 +809,8 @@ static int parse_container_unix_address( - b->nspid = 0; +--- systemd-210/src/shared/def.h ++++ systemd-210/src/shared/def.h 2014-03-12 13:11:06.502235254 +0000 +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS +--- systemd-210/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-210/src/libsystemd/sd-bus/sd-bus.c 2014-03-12 14:31:09.966736492 +0000 +@@ -794,8 +794,8 @@ static int parse_container_unix_address( + machine = NULL; b->sockaddr.un.sun_family = AF_UNIX; - strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); @@ -18,16 +22,3 @@ Index: systemd/src/libsystemd/sd-bus/sd-bus.c return 0; } -Index: systemd/src/shared/def.h -=================================================================== ---- systemd.orig/src/shared/def.h -+++ systemd/src/shared/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS diff --git a/systemd-journald.init b/systemd-journald.init new file mode 100644 index 00000000..0b8d5081 --- /dev/null +++ b/systemd-journald.init @@ -0,0 +1,33 @@ +#! /bin/sh +# +# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. +# +# /etc/init.d/systemd-journald +# +### BEGIN INIT INFO +# Provides: syslog +# Required-Start: $null +# Required-Stop: $null +# Default-Start: 2 3 5 +# Default-Stop: +# Short-Description: compat wrapper for journald +# Description: compat wrapper for journald +### END INIT INFO + +. /etc/rc.status + +rc_reset + +case "$1" in + start|stop|restart) + rc_failed 3 + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +rc_exit diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a9e12af8..def95a7d 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -1,4 +1,3 @@ -addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot\.8.*") @@ -17,7 +16,6 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 7a555d36..78b33870 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,575 +1,9 @@ -------------------------------------------------------------------- -Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de - -- Add 0001-core-rework-device-state-logic.patch to fix spurious - automated umount after mount. - -------------------------------------------------------------------- -Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com - -- mark more subpackages as !bootstrap for systemd-mini usage. - -------------------------------------------------------------------- -Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org - -- spec : remove --with-firmware-path, firmware loader was removed in v217 -- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) -- spec: Do not enable systemd-readahead-collect.service and -systemd-readahead-replay.service as these do not exist anymore. -- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch - Yast was fixed to write all timezone changes exactly how timedated expects - things to be done. -- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg - package handles the migration from /etc/HOSTNAME to /etc/hostname - and owns both files. --spec: remove boot.udev and systemd-journald.init as they currently - serve no purpose. -- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we - are in sysvcompat-only codepath, also remove the code targetting other - distributions, never compiled as the TARGET_$DISTRO macros are never defined. -- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT -- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards -- insserv-generator.patch: Only build when sysvcompat is enabled -- vhangup-on-all-consoles.patch add a comment indicating this is a workaround - for a kernel bug. -- spec: Add option to allow disabling sysvinit compat at build time. -- spec: Add option to enable resolved at build time. -- spec: Remove all %ifs for !factory products, current systemd releases can - neither be built nor installed in older products without upgrading - several components of the base system. - (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) -- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when - those init scripts still existed. (dummy localfs.service source: gone) -- systemd-sleep-grub: moved to the grub2 package where it belongs as a - suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) -- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds - config.h everywhere in the preprocessor cmdline. - -------------------------------------------------------------------- -Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 219 -* systemd units can now be "unsupported" (like, for example, - .device in a containers), similar to the "skipped" state in - SUSE's prior sysvinit scripts. -* tmpfiles gained the 'v' type for creating btrfs subvolumes. -* tmpfiles gained the 'a' type for setting ACLs. -* systemd-nspawn gained new switches: --ephemeral, --template -* The /var/lib/containers location is deprecated and replaced by - /var/lib/machines. -* machinectl gained the copy-from and copy-to commands. -* machinectl now knows a "bind" command (for use with nspawn) -* new "systemd-importd" daemon to download container images and run - them as nspawn containers. -* networkd collects LLDP network announcements, if available, and - so shown in networkctl. -* The fallback terminal type was changed from "vt102" to "vt220", - allowing PgUp/PgDn keys to work. -* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, - useful should the regular shutdown hang. -* Removing storage will cause systemd to unmount the associated - mountpoints so that they don't linger around. - -------------------------------------------------------------------- -Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de - -- Add suse-sysv-bootd-support.diff (reinstate old - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) - -------------------------------------------------------------------- -Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de - -- Update to systemd v218-1050-g38ab096 -- Remove patches - use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) -- Reinstate and improve (remove huge indents from) - tty-ask-password-agent-on-console.patch, - 0014-journald-with-journaling-FS.patch, rootsymlink_generator. - -------------------------------------------------------------------- -Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com - -- disable systemd-resolved for now as it interacts not well with - our methods and security has concerns regarding spoofing. bsc#917781 - ------------------------------------------------------------------- Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - Add patch kbd-model-map.patch to add missed keyboard layouts which are offered by YaST2 (bsc#910643 and boo#897803) -------------------------------------------------------------------- -Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 218 -* New utilities: systemd-timesyncd (SNTP client), - systemd-resolved, systemd-networkd, networkctl, - systemd-sysusers -* machinectl gained a "poweroff" command for clean container shutdown -* The udev hwdb now contains DPI information for mice. -* Userspace firmware loading support has been removed and - the minimum supported kernel version is thus bumped to 3.7. -- Remove patches: - G=gone locally, is upstream; - D=dropped: no longer needed; - N=no longer applies to source nor is it deemed needed; - K=killed: no longer applicable and too complex to resolve: - ---- - G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch - K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch - K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch - K handle-SYSTEMCTL_OPTIONS-environment-variable.patch - K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - K log-target-null-instead-kmsg.patch - K tty-ask-password-agent-on-console.patch - K 513-nspawn-veth.patch - K 1087-infinit-timeout-for-kmod-loaded-modules.patch - D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - D avoid-leaking-socket-descriptors.patch - D 0001-make-fortify-happy-with-ppoll.patch - N fix-owner-of-var-log-btmp.patch - N disable-nss-myhostname-warning-bnc-783841.patch - N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch - N 0001-make-209-working-on-older-dist.patch - N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - N tmpfiles-do-not-clean-for-mandb-index-files.patch - G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc - G optionally-warn-if-nss-myhostname-is-called.patch - G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - G 0004-getty-generator-properly-escape-instance-names.patch - G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - G 0008-Reset-signal-mask-on-re-exec-to-init.patch - G 0001-login-fix-pos-array-allocation.patch - G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch - G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - G 0005-Replace-var-run-with-run-in-remaining-places.patch - G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch - G 0007-README-document-that-var-run-must-be-a-symlink-run.patch - G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch - G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch - G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - G 0001-Fix-systemd-stdio-bridge-symlink.patch - G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - G 0004-man-document-missing-options-of-systemd-run.patch - G 0005-systemd-run-add-some-extra-safety-checks.patch - G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - G 0007-journal-forget-file-after-encountering-an-error.patch - G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - G 0010-man-update-link-to-LSB.patch - G 0011-man-systemd-bootchart-fix-spacing-in-command.patch - G 0012-man-add-missing-comma.patch - G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - G 0002-manager-flush-memory-stream-before-using-the-buffer.patch - G 0003-busname-don-t-drop-service-from-the-result-string.patch - G 0004-fix-off-by-one-error-in-array-index-assertion.patch - G 0005-logind-fix-policykit-checks.patch - G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - G 0007-networkd-fix-typo.patch - G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - G 0012-journald-remove-stray-reset-of-error-return-value.patch - G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - G 0005-sd-daemon-fix-incorrect-variable-access.patch - G 0006-sd-event-initialization-perturbation-value-right-bef.patch - G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch - G 0001-journal-fix-export-of-messages-containing-newlines.patch - G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - G 0003-tty-ask-password-agent-return-negative-errno.patch - G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - G 0005-systemd-python-fix-failing-assert.patch - G 0007-dbus-suppress-duplicate-and-misleading-messages.patch - G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - G 0001-bash-completion-fix-__get_startable_units.patch - G 0002-sysctl-replaces-some-slashes-with-dots.patch - G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - G 0004-implement-a-union-to-pad-out-file_handle.patch - G shut-up-annoying-assertion-monotonic-clock-message.patch - G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - G 0003-analyze-fix-plot-with-bad-y-size.patch - G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - G 0002-backlight-do-nothing-if-max_brightness-is-0.patch - G 0003-backlight-unify-error-messages.patch - G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - G 0001-core-close-socket-fds-asynchronously.patch - G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - G 0002-logind-fix-printf-format.patch - G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - G 0008-man-update-journald-rate-limit-defaults.patch - G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - G 0010-logind-allow-suspending-if-there-are-no-displays.patch - G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - G 0002-man-note-that-entire-sections-can-now-be-ignored.patch - G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - G 0006-login-add-mir-to-the-list-of-session-types.patch - G 0007-logind-fix-Display-property-of-user-objects.patch - G 0001-hwdb-update.patch - G 0002-hwdb-update.patch - G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - G 0004-hwdb-update.patch - G 0005-hwdb-update.patch - G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - G 0002-journal-properly-detect-language-specified-in-line.patch - G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - G 0002-nspawn-restore-journal-directory-is-empty-check.patch - G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - G 0004-socket-properly-handle-if-our-service-vanished-durin.patch - G 0001-Do-not-unescape-unit-names-in-Install-section.patch - G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - G 0001-virt-rework-container-detection-logic.patch - G 0002-fsck-include-device-name-in-the-message-about-missin.patch - G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - G 0004-util-ignore_file-should-not-allow-files-ending-with.patch - G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch - G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch - G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - G 0001-hwdb-fix-case-sensitive-match.patch - G 0001-sd-event-restore-correct-timeout-behaviour.patch - G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - G 0001-umount-modernizations.patch - G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - G 0003-core-allow-transient-mount-units.patch - G 0004-systemd-detect-virt-only-discover-Xen-domU.patch - G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - G 0001-core-fix-invalid-free-in-killall.patch - G 0003-install-fix-invalid-free-in-unit_file_mask.patch - G 0001-systemd-detect-virt-detect-s390-virtualization.patch - G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - G 0005-po-add-Greek-translation.patch - G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0007-po-add-German-translation.patch - G 0009-core-clean-up-signal-reset-logic-when-reexec.patch - G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - G 0012-core-transaction-avoid-misleading-error-message-when.patch - G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - G 0005-man-fix-path-in-crypttab-5.patch - G 0001-units-order-network-online.target-after-network.targ.patch - G 0001-core-use-correct-format-string-for-UIDs.patch - G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - G 0002-journald-make-MaxFileSec-really-default-to-1month.patch - G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - G 0001-parse_uid-return-ENXIO-for-1-uids.patch - G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - G 0003-localed-consider-an-unset-model-as-a-wildcard.patch - G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - G 0005-bus-close-a-bus-that-failed-to-connect.patch - G 0006-hwdb-update.patch - G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-architecture-Add-tilegx.patch - G 0002-architecture-Add-cris.patch - G 0003-arch-add-crisv32-to-uname-check.patch - G 0004-architecture-remove-cris-from-uname-list.patch - G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - G 0002-namespace-fix-uninitialized-memory-access.patch - G 0001-machine-don-t-return-uninitialized-variable.patch - G 0002-vconsole-setup-run-setfont-before-loadkeys.patch - G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - G 0007-service-flush-status-text-and-errno-values-each-time.patch - G 0001-journal-compress-return-early-in-uncompress_startswi.patch - G 0002-journal-compress-improve-xz-compression-performance.patch - G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch - G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - G 0001-event-pull-in-sd-event.h-from-event-util.h.patch - G 0002-util-fix-has-cc-check-and-add-test.patch - G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - G 0004-fileio-quote-more-shell-characters-in-envfiles.patch - G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - G 0002-units-serial-getty-.service-use-the-default-RestartS.patch - G 0001-po-add-Ukrainian-translation.patch - G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - G 0001-detect-virt-Fix-Xen-domU-discovery.patch - G 0002-Be-more-verbose-when-bind-or-listen-fails.patch - G 0003-Add-quotes-to-warning-message.patch - G 0004-systemd-return-the-first-error-from-manager_startup.patch - G 0001-bash-completion-p-option-for-journalctl.patch - G 0002-journalctl-man-allow-only-between-terms.patch - G 0003-systemd-use-pager-for-test-and-help.patch - G 0001-bus-proxyd-fix-incorrect-comparison.patch - G 0002-shell-completion-prevent-mangling-unit-names.patch - G 0003-Always-check-asprintf-return-code.patch - G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - G 0006-parse_boolean-require-exact-matches.patch - G 0007-drop_duplicates-copy-full-BindMount-struct.patch - G 0008-shell-completion-prevent-mangling-unit-names-bash.patch - G 0009-journald-always-add-syslog-facility-for-messages-com.patch - G 0001-sysv-order-initscripts-which-provide-network-before-.patch - G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - G 0003-keymap-Annotate-all-micmute-workarounds.patch - G 0007-hwdb-update.patch - G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - G 0002-switch-root-umount-the-old-root-correctly.patch - G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - G 0006-login-share-VT-signal-handler-between-sessions.patch - G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - G 0003-keymap-Fix-HP-Pavillon-DV7.patch - G 0004-hwdb-update-format-description-and-document-reloadin.patch - G 0008-hwdb-update.patch - G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - G 0001-login-fix-memory-leak-on-DropController.patch - G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - G 0001-nspawn-fix-network-interface.patch - G 0001-completion-filter-templates-from-restartable-units.patch - G 0002-systemd-fix-error-message.patch - G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - G 0004-config-parser-fix-mem-leak.patch - G 0005-login-fix-mem-leak.patch - G 0001-login-simplify-controller-handling.patch - G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0009-hwdb-update.patch - G 0001-systemctl-allow-to-change-the-default-target-without.patch - G 0001-activate-fix-fd-leak-in-do_accept.patch - G 0002-analyze-avoid-a-null-dereference.patch - G 0003-analyze-fix-mem-leak.patch - G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - G 0006-bus-unref-buscreds-on-failure.patch - G 0007-core-fix-a-potential-mem-leak.patch - G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - G 0009-journal-do-not-leak-mmaps-on-OOM.patch - G 0010-manager-use-correct-cleanup-function.patch - G 0001-core-fix-resource-leak-in-manager_environment_add.patch - G 0002-util-remove-a-unnecessary-check.patch - G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - G 0004-shared-conf-parser.patch - G 0005-logind-fix-typo.patch - G 0006-systemctl-fix-resource-leak-CID-1237747.patch - G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - G 0003-mount-order-options-before-other-arguments-to-mount.patch - G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - G 0005-shared-label.h-add-missing-stdio.h-include.patch - G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - G 0001-login-pause-devices-before-acknowledging-VT-switches.patch - G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - G 0001-socket-introduce-SELinuxContextFromNet-option.patch - G 0002-util-avoid-non-portable-__WORDSIZE.patch - G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - G 0002-bus-remove-unused-check.patch - G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - G 0001-logind-add-support-for-Triton2-Power-Button.patch - G 0002-logind-add-support-for-TPS65217-Power-Button.patch - G 0001-shutdownd-clean-up-initialization-of-struct.patch - G 0003-bootchart-parse-userinput-with-safe_atoi.patch - G 0004-bootchart-check-return-of-strftime.patch - G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - G 0001-journalctl-do-not-output-reboot-markers-when-running.patch - G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - G 0003-fileio-label-return-error-when-writing-fails.patch - G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - G 0004-sd-event-check-the-value-of-received-signal.patch - G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - G 0003-sd-bus-check-return-value-of-vasprintf.patch - G 0004-core-map-the-rescue-argument-to-rescue.target.patch - G 0005-util-avoid-double-close-of-fd.patch - G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - G 0001-tmpfiles-compare-return-against-correct-errno.patch - G 0001-shell-completion-fix-completion-of-inactive-units.patch - G 0002-shell-completion-propose-templates-for-disable-re-en.patch - G 0003-man-we-don-t-have-Wanted-dependency.patch - G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - G 0001-systemd-continue-switch-root-even-if-umount-fails.patch - G 0002-systemd-try-harder-to-bind-to-notify-socket.patch - G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - G 0004-journal-do-server_vacuum-for-sigusr1.patch - G 0005-cryptsetup-fix-an-OOM-check.patch - G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch - G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - G 0005-journalctl-correct-help-text-for-until.patch - G 0006-calendarspec-fix-typo-in-annually.patch - G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - G 0008-util-introduce-sethostname_idempotent.patch - G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch - G 0012-manager-do-not-print-anything-while-passwords-are-be.patch - G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - G 0002-snapshot-return-error-when-snapshot-exists.patch - G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - G 0004-Raise-level-of-Found-dependency.-lines.patch - G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - G 0006-journald-fix-minor-memory-leak.patch - G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - G 0008-journald-fix-memory-leak-on-error-path.patch - G 0009-units-make-systemd-journald.service-Type-notify.patch - G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - G 0001-systemctl-let-list-units-unit-files-honour-type.patch - G 0002-systemctl-obey-state-in-list-unit-files.patch - G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - G 0001-selinux-access-fix-broken-ternary-operator.patch - G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - G 0004-core-fix-transaction-destructiveness-check-once-more.patch - G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch - G 1009-cdrom_id-use-the-old-MMC-fallback.patch - G 1010-udev-increase-result-size-for-programs.patch - G 1014-udev-update-net_id-comments.patch - G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - G 1017-udev-serialize-synchronize-block-device-event-handli.patch - G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - G 1019-udev-avoid-use-of-uninitialized-err.patch - G 1020-udev-keyboard-also-hook-into-change-events.patch - G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - G 1024-udev-always-close-lock-file-descriptor.patch - G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - G 1026-udevd-inotify-modernizations.patch - G 1027-udev-synthesize-change-events-for-partitions-when-to.patch - G 1028-udev-link-config-fix-mem-leak.patch - G 1029-udev-try-first-re-reading-the-partition-table.patch - G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - G 1033-udev-really-exclude-device-mapper-from-block-device.patch - G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - G 1038-udev-fix-invalid-free-in-enable_name_policy.patch - G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch - G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch - G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - G 1044-rules-update-qemu-hid-rules.patch - G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - G 1048-udev-net_setup_link-add-a-bit-more-logging.patch - G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - G 1056-udevd-add-event-timeout-commandline-option.patch - G 1057-udev-unify-event-timeout-handling.patch - G 1058-udev-unify-event-timeout-handling.patch - G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - G 1065-udev-bump-event-timeout-to-60-seconds.patch - G 1067-udev-always-resolve-correctly-database-names-on-chan.patch - G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - G 1070-rules-net-setup-link-remove-stray-linebreak.patch - G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - G 1072-udev-netif_rename-don-t-log-to-kmsg.patch - G 1073-udev-drop-print_kmsg.patch - G 1074-udev-fix-copy-paste-error-in-log-message.patch - G 1075-udev-timeout-increase-timeout.patch - G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1078-udev-remove-userspace-firmware-loading-support.patch - G 1079-udev-remove-userspace-firmware-loading-support.patch - G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - G 1081-udevd-check-return-of-various-functions.patch - G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - G 1083-udev-node-warn-if-chmod-chown-fails.patch - G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - G 1085-udev-fix-typos.patch - G 1086-udevd-don-t-fail-if-run-udev-exists.patch - G 1089-fix-cgroup-device-controller.patch - G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - G 1091-udev-path_id-update-comments.patch - G 1092-libudev-do-not-accept-invalid-log-levels.patch - G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 3399d28d..015e1e0c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,9 +23,8 @@ %define udevpkgname udev-mini %define udev_major 1 %bcond_without bash_completion +%bcond_without compat_libs %bcond_with networkd -%bcond_without sysvcompat -%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -46,7 +45,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 219 +Version: 210 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -57,69 +56,112 @@ Provides: %{real} = %{version}-%{release} BuildRequires: acl BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake +%if %{with compat_libs} +# See gold_archs in binutils.spec +%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc +BuildRequires: binutils-gold +%endif +%endif +BuildRequires: config(suse-module-tools) +%if ! 0%{?bootstrap} +BuildRequires: docbook-xsl-stylesheets +%endif BuildRequires: fdupes +%if ! 0%{?bootstrap} +BuildRequires: gobject-introspection-devel +%endif BuildRequires: gperf +%if ! 0%{?bootstrap} BuildRequires: gtk-doc +%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel +BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool +%if ! 0%{?bootstrap} +BuildRequires: libusb-devel +BuildRequires: libxslt-tools +%endif BuildRequires: pam-devel +%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros +%endif +%if 0%{?suse_version} <= 1315 +BuildRequires: tcpd-devel +%endif BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.24 +BuildRequires: pkgconfig(blkid) >= 2.20 +%if ! 0%{?bootstrap} +BuildRequires: libgcrypt-devel +%if %{with python} +BuildRequires: python +%endif +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +%endif +%if 0%{?suse_version} <= 1310 +BuildRequires: pkgconfig(libkmod) >= 14 +%else BuildRequires: pkgconfig(libkmod) >= 15 +%endif BuildRequires: pkgconfig(liblzma) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libmicrohttpd) +%endif BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(mount) >= 2.20 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 +%endif +%if 0%{?suse_version} >= 1315 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif +%else +%if 0%{?suse_version} >= 1310 +%ifarch %ix86 x86_64 x32 %arm +BuildRequires: pkgconfig(libseccomp) +%endif +%endif +%endif +%if ! 0%{?bootstrap} +BuildRequires: libapparmor-devel +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) +%if 0%{?suse_version} > 1310 Conflicts: sysvinit +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi %else -BuildRequires: docbook-xsl-stylesheets -BuildRequires: gobject-introspection-devel -BuildRequires: gtk-doc -BuildRequires: libgcrypt-devel -BuildRequires: libusb-devel -BuildRequires: libxslt-tools -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd +%if 0%{?suse_version} <= 1310 +Requires: kmod >= 14 +%else Requires: kmod >= 15 +%endif Requires: netcfg Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.25 +Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils +%endif +%if ! 0%{?bootstrap} Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent @@ -131,31 +173,47 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} - -#Git-Clone: git://anongit.freedesktop.org/systemd/systemd -Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif +Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 +Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service +Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh +Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs +# +# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r +Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch +Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch +Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +Patch18: fix-owner-of-var-log-btmp.patch +# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file +Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -163,11 +221,14 @@ Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch +# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff +# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts +Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file @@ -180,10 +241,18 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) +Patch23: disable-nss-myhostname-warning-bnc-783841.patch +# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) +Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin +Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian +Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -192,8 +261,126 @@ Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch +# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) +Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch +# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com +Patch117: 0001-make-209-working-on-older-dist.patch +# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com +Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch121: 0001-login-fix-pos-array-allocation.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch137: 0004-man-document-missing-options-of-systemd-run.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch140: 0007-journal-forget-file-after-encountering-an-error.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch143: 0010-man-update-link-to-LSB.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch145: 0012-man-add-missing-comma.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch151: 0005-logind-fix-policykit-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch158: 0007-networkd-fix-typo.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -202,6 +389,8 @@ Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch Patch180: 0014-journald-with-journaling-FS.patch +# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com @@ -210,6 +399,8 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch +# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) +Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -222,38 +413,657 @@ Patch191: systemd-dbus-system-bus-address.patch Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target Patch193: portmap-wants-rpcbind-socket.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/14 +Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +# PATCH-FIX-SUSE Do not clean the data base files of the manual pages +Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch199: 0001-bash-completion-fix-__get_startable_units.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch # PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) Patch203: respect-nfs-bg-option.patch +# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. +Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch +# PATCH-FIX-UPSTREAM Fix uninitialized memory +Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch +# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) +Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch216: 0003-backlight-unify-error-messages.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch +# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) +Patch219: log-target-null-instead-kmsg.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch222: 0001-core-close-socket-fds-asynchronously.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch226: 0002-logind-fix-printf-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch232: 0008-man-update-journald-rate-limit-defaults.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch245: 0007-logind-fix-Display-property-of-user-objects.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch246: 0001-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch247: 0002-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch249: 0004-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch250: 0005-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch252: 0002-journal-properly-detect-language-specified-in-line.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch +# PATCH-FIX-UPSTREAM added at 2014/05/27 +Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch +# PATCH-FIX-UPSTREAM added at 2014/05/27 +Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch262: 0001-virt-rework-container-detection-logic.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch +# PATCH-FIX-UPSTREAM added at 2014/06/05 +Patch269: 0001-hwdb-fix-case-sensitive-match.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch272: 0001-umount-modernizations.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch274: 0003-core-allow-transient-mount-units.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU +Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch278: 0001-core-fix-invalid-free-in-killall.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch +# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) +Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch +# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available +Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch284: 0005-po-add-Greek-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch286: 0007-po-add-German-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch295: 0005-man-fix-path-in-crypttab-5.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch296: 0001-units-order-network-online.target-after-network.targ.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch297: 0001-core-use-correct-format-string-for-UIDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch312: 0006-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch314: 0001-architecture-Add-tilegx.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch315: 0002-architecture-Add-cris.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch316: 0003-arch-add-crisv32-to-uname-check.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch317: 0004-architecture-remove-cris-from-uname-list.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch319: 0002-namespace-fix-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch320: 0001-machine-don-t-return-uninitialized-variable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch330: 0002-journal-compress-improve-xz-compression-performance.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/10 +Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch335: 0002-util-fix-has-cc-check-and-add-test.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch341: 0001-po-add-Ukrainian-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-SUSE Shut up rpmlint warning Patch345: shut-up-rpmlint-on-var-log-journal.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch347: 0003-Add-quotes-to-warning-message.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch349: 0001-bash-completion-p-option-for-journalctl.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch350: 0002-journalctl-man-allow-only-between-terms.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch355: 0003-Always-check-asprintf-return-code.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch358: 0006-parse_boolean-require-exact-matches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch +# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console Patch362: tty-ask-password-agent-on-console.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch +# PATCH-FIX-UPSTREAM added at 2014/08/01 +Patch367: 0007-hwdb-update.patch # PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) Patch368: 0001-let-systemctl-completion-ignore-at-names.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch370: 0002-switch-root-umount-the-old-root-correctly.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch385: 0008-hwdb-update.patch # PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch390: 0001-login-fix-memory-leak-on-DropController.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch +# PATCH-FIX-UPSTREAM added at 2014/08/29 +Patch394: 0001-nspawn-fix-network-interface.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch395: 0001-completion-filter-templates-from-restartable-units.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch396: 0002-systemd-fix-error-message.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch398: 0004-config-parser-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch399: 0005-login-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/02 +Patch400: 0001-login-simplify-controller-handling.patch +# PATCH-FIX-UPSTREAM added at 2014/09/05 +Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/08 +Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/09/09 +Patch403: 0009-hwdb-update.patch +# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force +Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch406: 0002-analyze-avoid-a-null-dereference.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch407: 0003-analyze-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch410: 0006-bus-unref-buscreds-on-failure.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch411: 0007-core-fix-a-potential-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch414: 0010-manager-use-correct-cleanup-function.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch416: 0002-util-remove-a-unnecessary-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch418: 0004-shared-conf-parser.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch419: 0005-logind-fix-typo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary +Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 +# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved +Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) +Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch436: 0002-bus-remove-unused-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/26 +Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch442: 0004-bootchart-check-return-of-strftime.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch450: 0003-fileio-label-return-error-when-writing-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch452: 0004-sd-event-check-the-value-of-received-signal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch459: 0005-util-avoid-double-close-of-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/10/13 +Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/14 +Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch +# PATCH-FIX-SUSE added at 2014/10/15 +Patch468: avoid-leaking-socket-descriptors.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch473: 0005-cryptsetup-fix-an-OOM-check.patch +# PATCH-FIX-UPSTREAM added at 2014/10/24 +Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +# PATCH-FIX-SUSE added at 2014/10/24 Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch480: 0005-journalctl-correct-help-text-for-until.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch481: 0006-calendarspec-fix-typo-in-annually.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch483: 0008-util-introduce-sethostname_idempotent.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch +# PATCH-FIX-SUSE added at 2014/11/05 Patch490: watch_resolv.conf_for_become_changed.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch496: 0006-journald-fix-minor-memory-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch498: 0008-journald-fix-memory-leak-on-error-path.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch +# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) +Patch513: 513-nspawn-veth.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -Patch522: 0001-core-rework-device-state-logic.patch +# # UDEV PATCHES # ============ @@ -275,46 +1085,188 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 +Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-SUSE increase result size for programs (bnc#867840) +Patch1010: 1010-udev-increase-result-size-for-programs.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch +# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch +Patch1014: 1014-udev-update-net_id-comments.patch +# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch # PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch Patch1021: 1021-udev-re-add-persistent-net-rules.patch +# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1024: 1024-udev-always-close-lock-file-descriptor.patch +# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch +Patch1026: 1026-udevd-inotify-modernizations.patch +# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch +Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch +# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch +Patch1028: 1028-udev-link-config-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch +Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch +# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch +Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch +# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch +# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch +Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch +# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch +# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch +Patch1044: 1044-rules-update-qemu-hid-rules.patch +# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch # PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch +# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch +Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch +# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch # PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) Patch1051: 1051-check-if-NAME-has-a-value.patch +# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch +# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch +Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch # PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch +Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch +# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch +Patch1057: 1057-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch +Patch1058: 1058-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch +# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch +Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) +Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch +# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch +Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch +# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch +Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch +# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch +Patch1073: 1073-udev-drop-print_kmsg.patch +# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch +Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch +# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch +Patch1075: 1075-udev-timeout-increase-timeout.patch +# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch +Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch +Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch +Patch1081: 1081-udevd-check-return-of-various-functions.patch +# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch +Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch +# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch +Patch1085: 1085-udev-fix-typos.patch +# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch +Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch +# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch +Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch # PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch +# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch +Patch1089: 1089-fix-cgroup-device-controller.patch +# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch +Patch1091: 1091-udev-path_id-update-comments.patch +# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch +Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch +# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch +# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch +Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -522,24 +1474,6 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. - -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-resolve - %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ @@ -551,12 +1485,13 @@ Requires(postun): systemd %description journal-gateway systemd-journal-gatewayd serves journal events over the network using HTTP. + %endif %prep -%setup -q -n systemd-%version +%setup -q -n systemd-%{version} echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in +[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -564,15 +1499,29 @@ cp %{SOURCE7} m4/ %endif # systemd patches +%patch0 -p1 +%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%if 0%{?suse_version} <= 1310 +%patch8 -p1 +%endif +%patch9 -p1 %patch12 -p1 +%patch13 -p0 +%patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p0 %patch20 -p1 %patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -583,45 +1532,418 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 +%patch46 -p1 +%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 +%patch93 -p1 +%patch114 -p0 +%if 0%{?suse_version} <= 1310 +%patch117 -p1 +%endif +%patch119 -p1 %patch120 -p1 +%patch121 -p0 +%patch122 -p0 +%patch123 -p0 +%patch124 -p0 +%patch125 -p0 +%patch126 -p0 +%patch127 -p0 +%patch128 -p0 +%patch129 -p0 +%patch130 -p0 +%patch131 -p0 +%patch132 -p0 +%patch133 -p0 +%patch134 -p0 +%patch135 -p0 +%patch136 -p0 +%patch137 -p0 +%patch138 -p0 +%patch139 -p0 +%patch140 -p0 +%patch141 -p0 +%patch142 -p0 +%patch143 -p0 +%patch144 -p0 +%patch145 -p0 +%patch146 -p0 +%patch147 -p0 +%patch148 -p0 +%patch149 -p0 +%patch150 -p0 +%patch151 -p0 +%patch152 -p0 +%patch153 -p0 +%patch154 -p0 +%patch155 -p0 +%patch157 -p0 +%patch158 -p0 +%patch159 -p0 +%patch160 -p0 +%patch161 -p0 +%patch162 -p0 +%patch163 -p0 +%patch164 -p0 +%patch165 -p0 +%patch166 -p0 +%patch167 -p0 +%patch168 -p0 +%patch169 -p0 +%patch170 -p0 +%patch171 -p0 +%patch172 -p0 +%patch173 -p0 +%patch174 -p0 +%patch175 -p0 +%patch176 -p0 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 +%patch181 -p1 %patch182 -p1 %patch183 -p1 %patch185 -p1 %patch186 -p1 +%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 +%patch194 -p0 +%patch196 -p1 +%patch195 -p0 %patch197 -p1 %patch198 -p1 +%patch199 -p0 +%patch200 -p0 +%patch201 -p0 +%patch202 -p0 %patch203 -p1 +%patch204 -p1 +%patch206 -p0 +%patch207 -p0 %patch208 -p1 -%patch338 -p1 +%patch209 -p0 +%patch211 -p0 +%patch212 -p0 +%patch213 -p0 +%patch214 -p0 +%patch215 -p0 +%patch216 -p0 +%patch217 -p0 +%patch218 -p0 +%patch219 -p1 +%patch220 -p0 +%patch221 -p0 +%patch222 -p0 +%patch223 -p0 +%patch224 -p0 +%patch225 -p0 +%patch226 -p0 +%patch227 -p0 +%patch228 -p0 +%patch229 -p0 +%patch230 -p0 +%patch231 -p0 +%patch232 -p0 +%patch233 -p0 +%patch234 -p0 +%patch235 -p0 +%patch236 -p0 +%patch237 -p0 +%patch238 -p0 +%patch239 -p0 +%patch240 -p0 +%patch241 -p0 +%patch242 -p0 +%patch243 -p0 +%patch244 -p0 +%patch245 -p0 +%patch246 -p0 +%patch247 -p0 +%patch248 -p0 +%patch249 -p0 +%patch250 -p0 +%patch251 -p0 +%patch252 -p0 +%patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 +%patch260 -p0 +%patch261 -p0 +%patch262 -p0 +%patch263 -p0 +%patch264 -p0 +%patch265 -p0 +%patch266 -p0 +%patch267 -p0 +%patch268 -p0 +%patch269 -p0 +%patch270 -p0 +%patch271 -p0 +%patch272 -p0 +%patch273 -p0 +%patch274 -p0 +%patch275 -p0 +%patch276 -p0 +%patch277 -p0 +%patch278 -p0 +%patch279 -p0 +%patch280 -p0 +%patch281 -p1 +%patch282 -p0 +%patch283 -p0 +%patch284 -p0 +%patch285 -p0 +%patch286 -p0 +%patch287 -p0 +%patch288 -p0 +%patch289 -p0 +%patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 +%patch296 -p0 +%patch297 -p0 +%patch298 -p0 +%patch299 -p0 +%patch300 -p0 +%patch301 -p0 +%patch302 -p0 +%patch303 -p0 +%patch304 -p0 +%patch305 -p0 +%patch306 -p0 +%patch307 -p0 +%patch308 -p0 +%patch309 -p0 +%patch310 -p0 +%patch311 -p0 +%patch312 -p0 +%patch313 -p0 +%patch314 -p0 +%patch315 -p0 +%patch316 -p0 +%patch317 -p0 +%patch318 -p0 +%patch319 -p0 +%patch320 -p0 +%patch321 -p0 +%patch322 -p0 +%patch323 -p0 +%patch324 -p0 +%patch325 -p0 +%patch326 -p0 +%patch327 -p0 +%patch328 -p0 +%patch329 -p0 +%patch330 -p0 +%patch331 -p0 +%patch332 -p0 +%patch333 -p0 +%patch334 -p0 +%patch335 -p0 +%patch336 -p0 +%patch337 -p0 +%patch338 -p0 +%patch339 -p0 +%patch340 -p0 +%patch341 -p0 +%patch342 -p0 +%patch343 -p0 +%patch344 -p0 %patch345 -p1 -%patch352 -p1 +%patch346 -p0 +%patch347 -p0 +%patch348 -p0 +%patch349 -p0 +%patch350 -p0 +%patch351 -p0 +%patch352 -p0 +%patch353 -p0 +%patch354 -p0 +%patch355 -p0 +%patch356 -p0 +%patch357 -p0 +%patch358 -p0 +%patch359 -p0 +%patch360 -p0 +%patch361 -p0 %patch362 -p1 +%patch363 -p0 +%patch364 -p0 +%patch365 -p0 %patch366 -p1 +%patch367 -p0 %patch368 -p1 +%patch369 -p0 +%patch370 -p0 +%patch371 -p0 +%patch372 -p0 +%patch373 -p0 +%patch374 -p0 +%patch375 -p0 +%patch376 -p0 +%patch377 -p0 +%patch378 -p0 +%patch379 -p0 +%patch380 -p0 +%patch381 -p0 +%patch382 -p0 +%patch383 -p0 +%patch384 -p0 +%patch385 -p0 %patch386 -p1 +%patch387 -p0 +%patch388 -p0 +%patch389 -p0 +%patch390 -p0 +%patch391 -p0 +%patch392 -p0 +%patch393 -p0 +%patch394 -p0 +%patch395 -p0 +%patch396 -p0 +%patch397 -p0 +%patch398 -p0 +%patch399 -p0 +%patch400 -p0 +%patch401 -p0 +%patch402 -p0 +%patch403 -p0 +%patch404 -p0 +%patch405 -p0 +%patch406 -p0 +%patch407 -p0 +%patch408 -p0 +%patch409 -p0 +%patch410 -p0 +%patch411 -p0 +%patch412 -p0 +%patch413 -p0 +%patch414 -p0 +%patch415 -p0 +%patch416 -p0 +%patch417 -p0 +%patch418 -p0 +%patch419 -p0 +%patch420 -p0 +%patch421 -p0 +%patch422 -p0 +%patch423 -p0 +%patch424 -p0 +%patch425 -p0 +%patch426 -p0 +%patch427 -p0 +%patch428 -p0 +%patch429 -p0 %patch430 -p1 -%patch475 -p1 +%patch431 -p0 +%patch432 -p0 +%patch433 -p0 +%patch434 -p0 +%patch435 -p0 +%patch436 -p0 +%patch437 -p0 +%patch438 -p0 +%patch439 -p0 %ifarch %arm %patch38 -p1 %endif -%patch490 -p1 +%patch440 -p0 +%patch441 -p0 +%patch442 -p0 +%patch443 -p0 +%patch444 -p0 +%patch445 -p0 +%patch446 -p0 +%patch447 -p0 +%patch448 -p0 +%patch449 -p0 +%patch450 -p0 +%patch451 -p0 +%patch452 -p0 +%patch453 -p0 +%patch454 -p0 +%patch455 -p0 +%patch456 -p0 +%patch457 -p0 +%patch458 -p0 +%patch459 -p0 +%patch460 -p0 +%patch461 -p0 +%patch462 -p0 +%patch463 -p0 +%patch464 -p0 +%patch465 -p0 +%patch466 -p0 +%patch467 -p0 +%patch468 -p0 +%patch469 -p0 +%patch470 -p0 +%patch471 -p0 +%patch472 -p0 +%patch473 -p0 +%patch474 -p0 +%patch475 -p0 +%patch476 -p0 +%patch477 -p0 +%patch478 -p0 +%patch479 -p0 +%patch480 -p0 +%patch481 -p0 +%patch482 -p0 +%patch483 -p0 +%patch484 -p0 +%patch485 -p0 +%patch486 -p0 +%patch487 -p0 +%patch488 -p0 +%patch489 -p0 +%patch490 -p0 +%patch491 -p0 +%patch492 -p0 +%patch493 -p0 +%patch494 -p0 +%patch495 -p0 +%patch496 -p0 +%patch497 -p0 +%patch498 -p0 +%patch499 -p0 +%patch500 -p0 +%patch501 -p0 +%patch502 -p0 +%patch503 -p0 +%patch504 -p0 +%patch505 -p0 +%patch506 -p0 +%patch507 -p0 +%patch509 -p0 +%patch510 -p0 +%patch511 -p0 +%patch512 -p0 +%patch513 -p1 +%patch514 -p0 +%patch515 -p0 +%patch516 -p0 +%patch517 -p0 +%patch518 -p1 +%patch519 -p1 %patch520 -p1 -%patch521 -p1 -%patch522 -p1 +%patch521 -p0 # udev patches %patch1001 -p1 @@ -630,31 +1952,131 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 +%if 0%{?suse_version} <= 1310 +%patch1008 -p1 +%endif +%patch1009 -p1 +%patch1010 -p1 %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 +%patch1014 -p1 +%patch1015 -p1 +%patch1016 -p0 +%patch1017 -p0 +%patch1018 -p0 +%patch1019 -p0 +%patch1020 -p0 %patch1021 -p1 +%if %{with udevsettle} +%patch1022 -p1 +%endif +%patch1023 -p0 +%patch1024 -p0 +%if %{with blkrrpart} +%patch1025 -p1 +%endif +%patch1026 -p1 +%if %{with blkrrpart} +%patch1027 -p1 +%endif +%patch1028 -p1 +%if %{with blkrrpart} +%patch1029 -p1 +%patch1030 -p1 +%patch1031 -p1 +%patch1032 -p1 +%patch1033 -p1 +%patch1034 -p1 +%endif %patch1035 -p1 %patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif +%patch1038 -p0 +%if %{with udevsettle} +%patch1039 -p0 +%endif %patch1040 -p1 +%if %{with udevsettle} +%patch1041 -p0 +%patch1042 -p0 +%patch1043 -p0 +%endif +%patch1044 -p0 +%patch1045 -p0 %patch1046 -p1 +%patch1047 -p0 +%patch1048 -p0 +%patch1049 -p0 %patch1050 -p1 %patch1051 -p1 +%patch1052 -p0 %patch1053 -p1 %if %{with blkrrpart} +%patch1054 -p0 %else %patch1055 -p1 %endif +%patch1056 -p0 +%if %{with udevsettle} +%patch1057 -p0 +%else +%patch1058 -p0 +%endif +%patch1059 -p0 %patch1060 -p1 +%patch1061 -p0 %patch1062 -p1 +%if %{with parentpathid} +%patch1063 -p0 +%endif +%patch1064 -p0 +%patch1065 -p0 %patch1066 -p1 +%patch1067 -p1 +%patch1068 -p0 +%patch1069 -p0 +%patch1070 -p0 +%patch1071 -p0 +%patch1072 -p0 +%patch1073 -p0 +%patch1074 -p0 +%patch1075 -p0 +%if %{with udevsettle} +%patch1076 -p0 +%else +%patch1077 -p0 +%endif +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1079 -p1 +%else +%patch1078 -p1 +%endif +%endif +%patch1080 -p0 +%patch1081 -p0 +%patch1082 -p0 +%patch1083 -p0 +%patch1084 -p0 +%patch1085 -p0 +%patch1086 -p0 +%patch1087 -p0 %patch1088 -p1 +%patch1089 -p1 +%if %{with parentpathid} +%patch1090 -p0 +%patch1091 -p0 +%endif +%patch1092 -p0 +%patch1093 -p0 +%patch1094 -p0 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 +%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -674,6 +2096,17 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi +%if 0%{?suse_version} <= 1310 +# +# Older versions like oS 13.1 do not distinguish between +# network.target and network-online.target +# +for f in src/core/service.c src/insserv-generator/insserv-generator.c +do + sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f +done +%endif + # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -714,11 +2147,11 @@ cflags () esac set +o noclobber } -autoreconf -fi +autoreconf -fiv # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags}" +export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -744,7 +2177,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-gudev \ --disable-myhostname \ --disable-manpages \ - --disable-machined \ %else --enable-manpages \ %if %{with python} @@ -752,10 +2184,16 @@ cflags -Wl,--hash-size=8599 LDFLAGS %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ +%endif +%if %{with compat_libs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ +%if 0%{?suse_version} <= 1310 + --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ +%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -764,15 +2202,11 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ +%if 0%{?suse_version} > 1310 + --disable-multi-seat-x \ +%endif %if %{without networkd} --disable-networkd \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ -%endif -%if %{without resolved} - --disable-resolved \ %endif --disable-kdbus make %{?_smp_mflags} @@ -781,9 +2215,19 @@ make %{?_smp_mflags} update-man-list man %endif %install -%if !0%{?bootstrap} -cp man/man[0-9]/*.[0-9] man/ -%endif +# Use refreshed manual pages +for man in man/*.[0-9] +do + section=${man##*.} + test -d man/man${section} || continue + new=man/man${section}/${man##*/} + if test -s $new -a $new -nt $man + then + cp -p $new $man + else + sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man + fi +done make install DESTDIR="%buildroot" # move to %{_lib} @@ -796,17 +2240,24 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif - +%if 0%{?suse_version} <= 1310 +ln -sf /lib/firmware %{buildroot}/usr/lib/firmware +%endif %if ! 0%{?bootstrap} +install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} +sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} +sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} +install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule +install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -824,7 +2275,28 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target - +# aliases for /etc/init.d/* +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service +install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service +ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service +ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service +ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -897,6 +2369,15 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ +%if ! 0%{?bootstrap} +%if %{without python} +for man in systemd.directives.7 systemd.index.7 +do + install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ +done +%endif +%endif + mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -913,8 +2394,10 @@ done > files.completion > files.completion %endif +%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd +%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -926,6 +2409,30 @@ do done %endif +%if 0%{suse_version} <= 1310 +cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' + [Unit] + Description=Fix against deadlock at shutdown + Wants=remote-fs.target remote-fs-pre.target + Before=remote-fs.target systemd-logind.service + After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target + ConditionPathExists=|/etc/init.d/autofs + ConditionPathExists=|/etc/init.d/nfs + + [Service] + Type=oneshot + RemainAfterExit=true + ExecStart=/bin/true + ExecStop=-/etc/init.d/autofs stop + ExecStop=-/etc/init.d/nfs stop + + [Install] + WantedBy=remote-fs.target + EOF + mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants + ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants +%endif + # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -973,7 +2480,6 @@ fi getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : %endif -systemd-sysusers || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -1021,6 +2527,8 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -1050,6 +2558,7 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : +%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -1148,9 +2657,6 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig - %pre journal-gateway getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : @@ -1173,26 +2679,17 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl -%if %{with networkd} -%{_bindir}/networkctl -%endif +%{_bindir}/systemd-sleep-grub %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if ! 0%{?bootstrap} %{_bindir}/machinectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/coredumpctl +%{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify -%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -1235,6 +2732,7 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif %{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -1273,19 +2771,12 @@ exit 0 %{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif %{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -1314,23 +2805,13 @@ exit 0 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%endif -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -1347,24 +2828,15 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%if %{with networkd} -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy @@ -1414,11 +2886,8 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%if 0%{?suse_version} > 1310 +%{_datadir}/pkgconfig/systemd.pc %endif %if ! 0%{?bootstrap} @@ -1443,7 +2912,9 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h -%{_libdir}/pkgconfig/systemd.pc +%if 0%{?suse_version} <= 1310 +%{_datadir}/pkgconfig/systemd.pc +%endif %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -1505,6 +2976,7 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* +%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -1535,6 +3007,9 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so +%if 0%{?suse_version} <= 1310 +%{_datadir}/pkgconfig/udev.pc +%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -1568,9 +3043,8 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} %{_localstatedir}/log/README -%endif +/etc/init.d/systemd-journald %files -n nss-myhostname %defattr(-, root, root) @@ -1583,10 +3057,6 @@ exit 0 %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_mandir}/man8/systemd-journal-gatewayd.* %{_datadir}/systemd/gatewayd - -%files -n nss-mymachines -%defattr(-,root,root) -%_libdir/libnss_mymachines.so* %endif %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 898a6548..85027c50 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -1,16 +1,14 @@ ---- - src/login/systemd-user | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-218/src/login/systemd-user -=================================================================== ---- systemd-218.orig/src/login/systemd-user -+++ systemd-218/src/login/systemd-user -@@ -2,5 +2,5 @@ - # - # Used by systemd --user instances. +diff --git a/src/login/systemd-user b/src/login/systemd-user +index 7b57dbf..c0fc793 100644 +--- a/src/login/systemd-user ++++ b/src/login/systemd-user +@@ -2,7 +2,7 @@ --account include system-auth --session include system-auth -+account include common-account -+session include common-session + # Used by systemd when launching systemd user instances. + +-account include system-auth +-session include system-auth ++account include common-account ++session include common-session + auth required pam_deny.so + password required pam_deny.so diff --git a/systemd-powerd-initctl-support.patch b/systemd-powerd-initctl-support.patch index 675124ba..bc0e3ca4 100644 --- a/systemd-powerd-initctl-support.patch +++ b/systemd-powerd-initctl-support.patch @@ -12,8 +12,10 @@ Signed-off-by: Hannes Reinecke src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) ---- systemd-219.orig/src/initctl/initctl.c -+++ systemd-219/src/initctl/initctl.c +diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c +index 468df35..d4794a6 100644 +--- a/src/initctl/initctl.c ++++ b/src/initctl/initctl.c @@ -32,8 +32,11 @@ #include #include @@ -34,12 +36,11 @@ Signed-off-by: Hannes Reinecke #define SERVER_FD_MAX 16 #define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC)) -@@ -141,7 +145,54 @@ static void change_runlevel(Server *s, i +@@ -141,7 +145,53 @@ static void change_runlevel(Server *s, int runlevel) { } } +static int send_shutdownd(unsigned delay, char mode, const char *message) { -+#ifdef HAVE_SYSV_COMPAT + usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE; + struct sd_shutdown_command c = { + .usec = t, @@ -80,7 +81,7 @@ Signed-off-by: Hannes Reinecke + + if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) + return -errno; -+#endif ++ + return 0; +} + @@ -89,7 +90,7 @@ Signed-off-by: Hannes Reinecke assert(s); assert(req); -@@ -184,9 +235,28 @@ static void request_process(Server *s, c +@@ -184,9 +234,28 @@ static void request_process(Server *s, const struct init_request *req) { return; case INIT_CMD_POWERFAIL: @@ -119,3 +120,6 @@ Signed-off-by: Hannes Reinecke return; case INIT_CMD_CHANGECONS: +-- +1.8.1.4 + diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a9e12af8..def95a7d 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,4 +1,3 @@ -addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot\.8.*") @@ -17,7 +16,6 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-sleep-grub b/systemd-sleep-grub new file mode 100644 index 00000000..5cd8bef3 --- /dev/null +++ b/systemd-sleep-grub @@ -0,0 +1,204 @@ +#!/bin/bash +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. + +set -x + +prepare-parameters() +{ + eval `grep LOADER_TYPE= /etc/sysconfig/bootloader` + + if [ x"$LOADER_TYPE" = "xgrub2" -o x"$LOADER_TYPE" = "xgrub2-efi" ]; then + GRUBONCE="/usr/sbin/grub2-once" + GRUBDEFAULT="/boot/grub2/grubenv" + GRUB2EDITENV="/usr/bin/grub2-editenv" + GRUB2CONF="/boot/grub2/grub.cfg" + BLKID="/usr/sbin/blkid" + getkernels="getkernels-grub2" + fi +} + +##################################################################### +# gets a list of available kernels from /boot/grub2/grub.cfg +# kernels are in the array $KERNELS, output to stdout to be eval-ed. +getkernels-grub2() +{ + local I DUMMY MNT ROOTDEV + declare -i I=0 J=-1 + + # we need the root partition later to decide if this is the kernel to select + while read ROOTDEV MNT DUMMY; do + [ "$ROOTDEV" = "rootfs" ] && continue # not what we are searching for + if [ "$MNT" = "/" ]; then + break + fi + done < /proc/mounts + + while read LINE; do + case $LINE in + menuentry\ *) + let J++ + ;; + set\ default*) + local DEFAULT=${LINE#*default=} + + if echo $DEFAULT | grep -q saved_entry ; then + local SAVED=`$GRUB2EDITENV $GRUBDEFAULT list | sed -n s/^saved_entry=//p` + if [ -n "$SAVED" ]; then + DEFAULT_BOOT=$($GRUBONCE --show-mapped "$SAVED") + fi + fi + + ;; + linux*noresume*|module*xen*noresume*) + echo " Skipping grub entry #${J}, because it has the noresume option" >&2 + ;; + linux*root=*|module*xen*root=*) + local ROOT + ROOT=${LINE#*root=} + DUMMY=($ROOT) + ROOT=${DUMMY[0]} + + if [ x"${ROOT:0:5}" = "xUUID=" ]; then + UUID=${ROOT#UUID=} + if [ -n "$UUID" ]; then + ROOT=$($BLKID -U $UUID) + fi + fi + + if [ "$(stat -Lc '%t:%T' $ROOT)" != "$(stat -Lc '%t:%T' $ROOTDEV)" ]; then + echo " Skipping grub entry #${J}, because its root= parameter ($ROOT)" >&2 + echo " does not match the current root device ($ROOTDEV)." >&2 + continue + fi + DUMMY=($LINE) # kernel (hd0,1)/boot/vmlinuz-ABC root=/dev/hda2 + echo "KERNELS[$I]='${DUMMY[1]##*/}'" # vmlinuz-ABC + echo "MENU_ENTRIES[$I]=$J" + # DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO + let I++ + ;; + linux*|module*xen*) + # a kernel without "root="? We better skip that one... + echo " Skipping grub entry #${J}, because it has no root= option" >&2 + ;; + *) ;; + esac + done < "$GRUB2CONF" +} + +############################################################# +# runs grubonce from the grub package to select which kernel +# to boot on next startup +grub-once() +{ + if [ -x "$GRUBONCE" ]; then + echo " running '$GRUBONCE $1'" + $GRUBONCE $1 + else + echo "WARNING: $GRUBONCE not found, not preparing bootloader" + fi +} + +############################################################# +# restore grub default after (eventually failed) resume +grub-once-restore() +{ + echo "INFO: running grub-once-restore" + prepare-parameters + $GRUB2EDITENV $GRUBDEFAULT unset next_entry +} + +############################################################################# +# try to find a kernel image that matches the actually running kernel. +# We need this, if more than one kernel is installed. This works reasonably +# well with grub, if all kernels are named "vmlinuz-`uname -r`" and are +# located in /boot. If they are not, good luck ;-) +find-kernel-entry() +{ + NEXT_BOOT=-1 + ARCH=`uname -m` + declare -i I=0 + # DEBUG "running kernel: $RUNNING" DIAG + while [ -n "${KERNELS[$I]}" ]; do + BOOTING="${KERNELS[$I]}" + if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then + # DEBUG "Found kernel symlink $BOOTING => $IMAGE" INFO + BOOTING=$IMAGE + fi + case $ARCH in + ppc*) BOOTING="${BOOTING#*vmlinux-}" ;; + *) BOOTING="${BOOTING#*vmlinuz-}" ;; + esac + if [ "$RUNNING" == "$BOOTING" ]; then + NEXT_BOOT=${MENU_ENTRIES[$I]} + echo " running kernel is grub menu entry $NEXT_BOOT (${KERNELS[$I]})" + break + fi + let I++ + done + # if we have not found a kernel, issue a warning. + # if we have found a kernel, we'll do "grub-once" later, after + # prepare_suspend finished. + if [ $NEXT_BOOT -eq -1 ]; then + echo "WARNING: no kernelfile matching the running kernel found" + fi +} + +############################################################################# +# if we did not find a kernel (or BOOT_LOADER is not GRUB) check, +# if the running kernel is still the one that will (probably) be booted for +# resume (default entry in menu.lst or, if there is none, the kernel file +# /boot/vmlinuz points to.) +# This will only work, if you use "original" SUSE kernels. +# you can always override with the config variable set to "yes" +prepare-grub() +{ + echo "INFO: running prepare-grub" + prepare-parameters + eval `$getkernels` + RUNNING=`uname -r` + find-kernel-entry + + RET=0 + + if [ $NEXT_BOOT -eq -1 ]; then + # which kernel is booted with the default entry? + BOOTING="${KERNELS[$DEFAULT_BOOT]}" + # if there is no default entry (no menu.lst?) we fall back to + # the default of /boot/vmlinuz. + [ -z "$BOOTING" ] && BOOTING="vmlinuz" + if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then + BOOTING=$IMAGE + fi + BOOTING="${BOOTING#*vmlinuz-}" + echo "running kernel: '$RUNNING', probably booting kernel: '$BOOTING'" + if [ "$BOOTING" != "$RUNNING" ]; then + echo "ERROR: kernel version mismatch, cannot suspend to disk" + echo "running: $RUNNING booting: $BOOTING" >> $INHIBIT + RET=1 + fi + else + # set the bootloader to the running kernel + echo " preparing boot-loader: selecting entry $NEXT_BOOT, kernel /boot/$BOOTING" + T1=`date +"%s%N"` + sync; sync; sync # this is needed to speed up grub-once on reiserfs + T2=`date +"%s%N"` + echo " grub-once: `grub-once $NEXT_BOOT`" + T3=`date +"%s%N"` + S=$(((T2-T1)/100000000)); S="$((S/10)).${S:0-1}" + G=$(((T3-T2)/100000000)); G="$((G/10)).${G:0-1}" + echo " time needed for sync: $S seconds, time needed for grub: $G seconds." + fi + + return $RET +} + + +###### main() + +if [ "$1" = pre ] ; then + prepare-grub +fi +if [ "$1" = post ] ; then + grub-once-restore +fi diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index dd7c0d80..61d05349 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -5,22 +5,20 @@ Subject: systemd tmp safe defaults Fix regression in the default for tmp auto-deletion (FATE#314974). SUSE policy is to not clean /tmp by default. --- - tmpfiles.d/tmp.conf | 5 +++-- + tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: systemd/tmpfiles.d/tmp.conf -=================================================================== ---- systemd.orig/tmpfiles.d/tmp.conf -+++ systemd/tmpfiles.d/tmp.conf +--- systemd-206.orig/tmpfiles.d/tmp.conf ++++ systemd-206/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override --v /tmp 1777 root root 10d --v /var/tmp 1777 root root 30d +-d /tmp 1777 root root 10d +-d /var/tmp 1777 root root 30d +# SUSE policy: we don't clean those directories -+v /tmp 1777 root root - -+v /var/tmp 1777 root root - ++d /tmp 1777 root root - ++d /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index 7a555d36..78b33870 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,575 +1,9 @@ -------------------------------------------------------------------- -Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de - -- Add 0001-core-rework-device-state-logic.patch to fix spurious - automated umount after mount. - -------------------------------------------------------------------- -Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com - -- mark more subpackages as !bootstrap for systemd-mini usage. - -------------------------------------------------------------------- -Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org - -- spec : remove --with-firmware-path, firmware loader was removed in v217 -- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) -- spec: Do not enable systemd-readahead-collect.service and -systemd-readahead-replay.service as these do not exist anymore. -- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch - Yast was fixed to write all timezone changes exactly how timedated expects - things to be done. -- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg - package handles the migration from /etc/HOSTNAME to /etc/hostname - and owns both files. --spec: remove boot.udev and systemd-journald.init as they currently - serve no purpose. -- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we - are in sysvcompat-only codepath, also remove the code targetting other - distributions, never compiled as the TARGET_$DISTRO macros are never defined. -- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT -- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards -- insserv-generator.patch: Only build when sysvcompat is enabled -- vhangup-on-all-consoles.patch add a comment indicating this is a workaround - for a kernel bug. -- spec: Add option to allow disabling sysvinit compat at build time. -- spec: Add option to enable resolved at build time. -- spec: Remove all %ifs for !factory products, current systemd releases can - neither be built nor installed in older products without upgrading - several components of the base system. - (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) -- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when - those init scripts still existed. (dummy localfs.service source: gone) -- systemd-sleep-grub: moved to the grub2 package where it belongs as a - suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) -- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds - config.h everywhere in the preprocessor cmdline. - -------------------------------------------------------------------- -Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 219 -* systemd units can now be "unsupported" (like, for example, - .device in a containers), similar to the "skipped" state in - SUSE's prior sysvinit scripts. -* tmpfiles gained the 'v' type for creating btrfs subvolumes. -* tmpfiles gained the 'a' type for setting ACLs. -* systemd-nspawn gained new switches: --ephemeral, --template -* The /var/lib/containers location is deprecated and replaced by - /var/lib/machines. -* machinectl gained the copy-from and copy-to commands. -* machinectl now knows a "bind" command (for use with nspawn) -* new "systemd-importd" daemon to download container images and run - them as nspawn containers. -* networkd collects LLDP network announcements, if available, and - so shown in networkctl. -* The fallback terminal type was changed from "vt102" to "vt220", - allowing PgUp/PgDn keys to work. -* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, - useful should the regular shutdown hang. -* Removing storage will cause systemd to unmount the associated - mountpoints so that they don't linger around. - -------------------------------------------------------------------- -Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de - -- Add suse-sysv-bootd-support.diff (reinstate old - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) - -------------------------------------------------------------------- -Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de - -- Update to systemd v218-1050-g38ab096 -- Remove patches - use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) -- Reinstate and improve (remove huge indents from) - tty-ask-password-agent-on-console.patch, - 0014-journald-with-journaling-FS.patch, rootsymlink_generator. - -------------------------------------------------------------------- -Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com - -- disable systemd-resolved for now as it interacts not well with - our methods and security has concerns regarding spoofing. bsc#917781 - ------------------------------------------------------------------- Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - Add patch kbd-model-map.patch to add missed keyboard layouts which are offered by YaST2 (bsc#910643 and boo#897803) -------------------------------------------------------------------- -Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 218 -* New utilities: systemd-timesyncd (SNTP client), - systemd-resolved, systemd-networkd, networkctl, - systemd-sysusers -* machinectl gained a "poweroff" command for clean container shutdown -* The udev hwdb now contains DPI information for mice. -* Userspace firmware loading support has been removed and - the minimum supported kernel version is thus bumped to 3.7. -- Remove patches: - G=gone locally, is upstream; - D=dropped: no longer needed; - N=no longer applies to source nor is it deemed needed; - K=killed: no longer applicable and too complex to resolve: - ---- - G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch - K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch - K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch - K handle-SYSTEMCTL_OPTIONS-environment-variable.patch - K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - K log-target-null-instead-kmsg.patch - K tty-ask-password-agent-on-console.patch - K 513-nspawn-veth.patch - K 1087-infinit-timeout-for-kmod-loaded-modules.patch - D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - D avoid-leaking-socket-descriptors.patch - D 0001-make-fortify-happy-with-ppoll.patch - N fix-owner-of-var-log-btmp.patch - N disable-nss-myhostname-warning-bnc-783841.patch - N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch - N 0001-make-209-working-on-older-dist.patch - N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - N tmpfiles-do-not-clean-for-mandb-index-files.patch - G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc - G optionally-warn-if-nss-myhostname-is-called.patch - G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - G 0004-getty-generator-properly-escape-instance-names.patch - G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - G 0008-Reset-signal-mask-on-re-exec-to-init.patch - G 0001-login-fix-pos-array-allocation.patch - G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch - G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - G 0005-Replace-var-run-with-run-in-remaining-places.patch - G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch - G 0007-README-document-that-var-run-must-be-a-symlink-run.patch - G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch - G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch - G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - G 0001-Fix-systemd-stdio-bridge-symlink.patch - G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - G 0004-man-document-missing-options-of-systemd-run.patch - G 0005-systemd-run-add-some-extra-safety-checks.patch - G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - G 0007-journal-forget-file-after-encountering-an-error.patch - G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - G 0010-man-update-link-to-LSB.patch - G 0011-man-systemd-bootchart-fix-spacing-in-command.patch - G 0012-man-add-missing-comma.patch - G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - G 0002-manager-flush-memory-stream-before-using-the-buffer.patch - G 0003-busname-don-t-drop-service-from-the-result-string.patch - G 0004-fix-off-by-one-error-in-array-index-assertion.patch - G 0005-logind-fix-policykit-checks.patch - G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - G 0007-networkd-fix-typo.patch - G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - G 0012-journald-remove-stray-reset-of-error-return-value.patch - G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - G 0005-sd-daemon-fix-incorrect-variable-access.patch - G 0006-sd-event-initialization-perturbation-value-right-bef.patch - G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch - G 0001-journal-fix-export-of-messages-containing-newlines.patch - G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - G 0003-tty-ask-password-agent-return-negative-errno.patch - G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - G 0005-systemd-python-fix-failing-assert.patch - G 0007-dbus-suppress-duplicate-and-misleading-messages.patch - G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - G 0001-bash-completion-fix-__get_startable_units.patch - G 0002-sysctl-replaces-some-slashes-with-dots.patch - G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - G 0004-implement-a-union-to-pad-out-file_handle.patch - G shut-up-annoying-assertion-monotonic-clock-message.patch - G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - G 0003-analyze-fix-plot-with-bad-y-size.patch - G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - G 0002-backlight-do-nothing-if-max_brightness-is-0.patch - G 0003-backlight-unify-error-messages.patch - G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - G 0001-core-close-socket-fds-asynchronously.patch - G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - G 0002-logind-fix-printf-format.patch - G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - G 0008-man-update-journald-rate-limit-defaults.patch - G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - G 0010-logind-allow-suspending-if-there-are-no-displays.patch - G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - G 0002-man-note-that-entire-sections-can-now-be-ignored.patch - G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - G 0006-login-add-mir-to-the-list-of-session-types.patch - G 0007-logind-fix-Display-property-of-user-objects.patch - G 0001-hwdb-update.patch - G 0002-hwdb-update.patch - G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - G 0004-hwdb-update.patch - G 0005-hwdb-update.patch - G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - G 0002-journal-properly-detect-language-specified-in-line.patch - G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - G 0002-nspawn-restore-journal-directory-is-empty-check.patch - G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - G 0004-socket-properly-handle-if-our-service-vanished-durin.patch - G 0001-Do-not-unescape-unit-names-in-Install-section.patch - G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - G 0001-virt-rework-container-detection-logic.patch - G 0002-fsck-include-device-name-in-the-message-about-missin.patch - G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - G 0004-util-ignore_file-should-not-allow-files-ending-with.patch - G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch - G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch - G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - G 0001-hwdb-fix-case-sensitive-match.patch - G 0001-sd-event-restore-correct-timeout-behaviour.patch - G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - G 0001-umount-modernizations.patch - G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - G 0003-core-allow-transient-mount-units.patch - G 0004-systemd-detect-virt-only-discover-Xen-domU.patch - G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - G 0001-core-fix-invalid-free-in-killall.patch - G 0003-install-fix-invalid-free-in-unit_file_mask.patch - G 0001-systemd-detect-virt-detect-s390-virtualization.patch - G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - G 0005-po-add-Greek-translation.patch - G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0007-po-add-German-translation.patch - G 0009-core-clean-up-signal-reset-logic-when-reexec.patch - G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - G 0012-core-transaction-avoid-misleading-error-message-when.patch - G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - G 0005-man-fix-path-in-crypttab-5.patch - G 0001-units-order-network-online.target-after-network.targ.patch - G 0001-core-use-correct-format-string-for-UIDs.patch - G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - G 0002-journald-make-MaxFileSec-really-default-to-1month.patch - G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - G 0001-parse_uid-return-ENXIO-for-1-uids.patch - G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - G 0003-localed-consider-an-unset-model-as-a-wildcard.patch - G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - G 0005-bus-close-a-bus-that-failed-to-connect.patch - G 0006-hwdb-update.patch - G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-architecture-Add-tilegx.patch - G 0002-architecture-Add-cris.patch - G 0003-arch-add-crisv32-to-uname-check.patch - G 0004-architecture-remove-cris-from-uname-list.patch - G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - G 0002-namespace-fix-uninitialized-memory-access.patch - G 0001-machine-don-t-return-uninitialized-variable.patch - G 0002-vconsole-setup-run-setfont-before-loadkeys.patch - G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - G 0007-service-flush-status-text-and-errno-values-each-time.patch - G 0001-journal-compress-return-early-in-uncompress_startswi.patch - G 0002-journal-compress-improve-xz-compression-performance.patch - G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch - G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - G 0001-event-pull-in-sd-event.h-from-event-util.h.patch - G 0002-util-fix-has-cc-check-and-add-test.patch - G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - G 0004-fileio-quote-more-shell-characters-in-envfiles.patch - G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - G 0002-units-serial-getty-.service-use-the-default-RestartS.patch - G 0001-po-add-Ukrainian-translation.patch - G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - G 0001-detect-virt-Fix-Xen-domU-discovery.patch - G 0002-Be-more-verbose-when-bind-or-listen-fails.patch - G 0003-Add-quotes-to-warning-message.patch - G 0004-systemd-return-the-first-error-from-manager_startup.patch - G 0001-bash-completion-p-option-for-journalctl.patch - G 0002-journalctl-man-allow-only-between-terms.patch - G 0003-systemd-use-pager-for-test-and-help.patch - G 0001-bus-proxyd-fix-incorrect-comparison.patch - G 0002-shell-completion-prevent-mangling-unit-names.patch - G 0003-Always-check-asprintf-return-code.patch - G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - G 0006-parse_boolean-require-exact-matches.patch - G 0007-drop_duplicates-copy-full-BindMount-struct.patch - G 0008-shell-completion-prevent-mangling-unit-names-bash.patch - G 0009-journald-always-add-syslog-facility-for-messages-com.patch - G 0001-sysv-order-initscripts-which-provide-network-before-.patch - G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - G 0003-keymap-Annotate-all-micmute-workarounds.patch - G 0007-hwdb-update.patch - G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - G 0002-switch-root-umount-the-old-root-correctly.patch - G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - G 0006-login-share-VT-signal-handler-between-sessions.patch - G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - G 0003-keymap-Fix-HP-Pavillon-DV7.patch - G 0004-hwdb-update-format-description-and-document-reloadin.patch - G 0008-hwdb-update.patch - G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - G 0001-login-fix-memory-leak-on-DropController.patch - G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - G 0001-nspawn-fix-network-interface.patch - G 0001-completion-filter-templates-from-restartable-units.patch - G 0002-systemd-fix-error-message.patch - G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - G 0004-config-parser-fix-mem-leak.patch - G 0005-login-fix-mem-leak.patch - G 0001-login-simplify-controller-handling.patch - G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0009-hwdb-update.patch - G 0001-systemctl-allow-to-change-the-default-target-without.patch - G 0001-activate-fix-fd-leak-in-do_accept.patch - G 0002-analyze-avoid-a-null-dereference.patch - G 0003-analyze-fix-mem-leak.patch - G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - G 0006-bus-unref-buscreds-on-failure.patch - G 0007-core-fix-a-potential-mem-leak.patch - G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - G 0009-journal-do-not-leak-mmaps-on-OOM.patch - G 0010-manager-use-correct-cleanup-function.patch - G 0001-core-fix-resource-leak-in-manager_environment_add.patch - G 0002-util-remove-a-unnecessary-check.patch - G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - G 0004-shared-conf-parser.patch - G 0005-logind-fix-typo.patch - G 0006-systemctl-fix-resource-leak-CID-1237747.patch - G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - G 0003-mount-order-options-before-other-arguments-to-mount.patch - G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - G 0005-shared-label.h-add-missing-stdio.h-include.patch - G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - G 0001-login-pause-devices-before-acknowledging-VT-switches.patch - G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - G 0001-socket-introduce-SELinuxContextFromNet-option.patch - G 0002-util-avoid-non-portable-__WORDSIZE.patch - G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - G 0002-bus-remove-unused-check.patch - G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - G 0001-logind-add-support-for-Triton2-Power-Button.patch - G 0002-logind-add-support-for-TPS65217-Power-Button.patch - G 0001-shutdownd-clean-up-initialization-of-struct.patch - G 0003-bootchart-parse-userinput-with-safe_atoi.patch - G 0004-bootchart-check-return-of-strftime.patch - G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - G 0001-journalctl-do-not-output-reboot-markers-when-running.patch - G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - G 0003-fileio-label-return-error-when-writing-fails.patch - G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - G 0004-sd-event-check-the-value-of-received-signal.patch - G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - G 0003-sd-bus-check-return-value-of-vasprintf.patch - G 0004-core-map-the-rescue-argument-to-rescue.target.patch - G 0005-util-avoid-double-close-of-fd.patch - G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - G 0001-tmpfiles-compare-return-against-correct-errno.patch - G 0001-shell-completion-fix-completion-of-inactive-units.patch - G 0002-shell-completion-propose-templates-for-disable-re-en.patch - G 0003-man-we-don-t-have-Wanted-dependency.patch - G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - G 0001-systemd-continue-switch-root-even-if-umount-fails.patch - G 0002-systemd-try-harder-to-bind-to-notify-socket.patch - G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - G 0004-journal-do-server_vacuum-for-sigusr1.patch - G 0005-cryptsetup-fix-an-OOM-check.patch - G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch - G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - G 0005-journalctl-correct-help-text-for-until.patch - G 0006-calendarspec-fix-typo-in-annually.patch - G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - G 0008-util-introduce-sethostname_idempotent.patch - G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch - G 0012-manager-do-not-print-anything-while-passwords-are-be.patch - G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - G 0002-snapshot-return-error-when-snapshot-exists.patch - G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - G 0004-Raise-level-of-Found-dependency.-lines.patch - G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - G 0006-journald-fix-minor-memory-leak.patch - G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - G 0008-journald-fix-memory-leak-on-error-path.patch - G 0009-units-make-systemd-journald.service-Type-notify.patch - G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - G 0001-systemctl-let-list-units-unit-files-honour-type.patch - G 0002-systemctl-obey-state-in-list-unit-files.patch - G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - G 0001-selinux-access-fix-broken-ternary-operator.patch - G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - G 0004-core-fix-transaction-destructiveness-check-once-more.patch - G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch - G 1009-cdrom_id-use-the-old-MMC-fallback.patch - G 1010-udev-increase-result-size-for-programs.patch - G 1014-udev-update-net_id-comments.patch - G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - G 1017-udev-serialize-synchronize-block-device-event-handli.patch - G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - G 1019-udev-avoid-use-of-uninitialized-err.patch - G 1020-udev-keyboard-also-hook-into-change-events.patch - G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - G 1024-udev-always-close-lock-file-descriptor.patch - G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - G 1026-udevd-inotify-modernizations.patch - G 1027-udev-synthesize-change-events-for-partitions-when-to.patch - G 1028-udev-link-config-fix-mem-leak.patch - G 1029-udev-try-first-re-reading-the-partition-table.patch - G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - G 1033-udev-really-exclude-device-mapper-from-block-device.patch - G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - G 1038-udev-fix-invalid-free-in-enable_name_policy.patch - G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch - G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch - G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - G 1044-rules-update-qemu-hid-rules.patch - G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - G 1048-udev-net_setup_link-add-a-bit-more-logging.patch - G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - G 1056-udevd-add-event-timeout-commandline-option.patch - G 1057-udev-unify-event-timeout-handling.patch - G 1058-udev-unify-event-timeout-handling.patch - G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - G 1065-udev-bump-event-timeout-to-60-seconds.patch - G 1067-udev-always-resolve-correctly-database-names-on-chan.patch - G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - G 1070-rules-net-setup-link-remove-stray-linebreak.patch - G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - G 1072-udev-netif_rename-don-t-log-to-kmsg.patch - G 1073-udev-drop-print_kmsg.patch - G 1074-udev-fix-copy-paste-error-in-log-message.patch - G 1075-udev-timeout-increase-timeout.patch - G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1078-udev-remove-userspace-firmware-loading-support.patch - G 1079-udev-remove-userspace-firmware-loading-support.patch - G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - G 1081-udevd-check-return-of-various-functions.patch - G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - G 1083-udev-node-warn-if-chmod-chown-fails.patch - G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - G 1085-udev-fix-typos.patch - G 1086-udevd-don-t-fail-if-run-udev-exists.patch - G 1089-fix-cgroup-device-controller.patch - G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - G 1091-udev-path_id-update-comments.patch - G 1092-libudev-do-not-accept-invalid-log-levels.patch - G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index 7b5b6805..307e3cab 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,9 +21,8 @@ %define udevpkgname udev %define udev_major 1 %bcond_without bash_completion +%bcond_without compat_libs %bcond_with networkd -%bcond_without sysvcompat -%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -44,7 +43,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 219 +Version: 210 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -52,69 +51,112 @@ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: acl BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake +%if %{with compat_libs} +# See gold_archs in binutils.spec +%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc +BuildRequires: binutils-gold +%endif +%endif +BuildRequires: config(suse-module-tools) +%if ! 0%{?bootstrap} +BuildRequires: docbook-xsl-stylesheets +%endif BuildRequires: fdupes +%if ! 0%{?bootstrap} +BuildRequires: gobject-introspection-devel +%endif BuildRequires: gperf +%if ! 0%{?bootstrap} BuildRequires: gtk-doc +%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel +BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool +%if ! 0%{?bootstrap} +BuildRequires: libusb-devel +BuildRequires: libxslt-tools +%endif BuildRequires: pam-devel +%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros +%endif +%if 0%{?suse_version} <= 1315 +BuildRequires: tcpd-devel +%endif BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.24 +BuildRequires: pkgconfig(blkid) >= 2.20 +%if ! 0%{?bootstrap} +BuildRequires: libgcrypt-devel +%if %{with python} +BuildRequires: python +%endif +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +%endif +%if 0%{?suse_version} <= 1310 +BuildRequires: pkgconfig(libkmod) >= 14 +%else BuildRequires: pkgconfig(libkmod) >= 15 +%endif BuildRequires: pkgconfig(liblzma) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libmicrohttpd) +%endif BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(mount) >= 2.20 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 +%endif +%if 0%{?suse_version} >= 1315 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif +%else +%if 0%{?suse_version} >= 1310 +%ifarch %ix86 x86_64 x32 %arm +BuildRequires: pkgconfig(libseccomp) +%endif +%endif +%endif +%if ! 0%{?bootstrap} +BuildRequires: libapparmor-devel +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) +%if 0%{?suse_version} > 1310 Conflicts: sysvinit +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi %else -BuildRequires: docbook-xsl-stylesheets -BuildRequires: gobject-introspection-devel -BuildRequires: gtk-doc -BuildRequires: libgcrypt-devel -BuildRequires: libusb-devel -BuildRequires: libxslt-tools -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd +%if 0%{?suse_version} <= 1310 +Requires: kmod >= 14 +%else Requires: kmod >= 15 +%endif Requires: netcfg Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.25 +Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils +%endif +%if ! 0%{?bootstrap} Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent @@ -126,31 +168,47 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} - -#Git-Clone: git://anongit.freedesktop.org/systemd/systemd -Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif +Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 +Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service +Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh +Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs +# +# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r +Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch +Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch +Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +Patch18: fix-owner-of-var-log-btmp.patch +# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file +Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -158,11 +216,14 @@ Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch +# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff +# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts +Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file @@ -175,10 +236,18 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) +Patch23: disable-nss-myhostname-warning-bnc-783841.patch +# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) +Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin +Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian +Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -187,8 +256,126 @@ Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch +# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) +Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch +# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com +Patch117: 0001-make-209-working-on-older-dist.patch +# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com +Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch121: 0001-login-fix-pos-array-allocation.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch137: 0004-man-document-missing-options-of-systemd-run.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch140: 0007-journal-forget-file-after-encountering-an-error.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch143: 0010-man-update-link-to-LSB.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch145: 0012-man-add-missing-comma.patch +# PATCH-FIX-USTREAM added at 2014/03/07 +Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch151: 0005-logind-fix-policykit-checks.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch158: 0007-networkd-fix-typo.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch +# PATCH-FIX-USTREAM added at 2014/03/18 +Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch +# PATCH-FIX-USTREAM added at 2014/03/28 +Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch +# PATCH-FIX-USTREAM added at 2014/04/08 +Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -197,6 +384,8 @@ Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch Patch180: 0014-journald-with-journaling-FS.patch +# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com @@ -205,6 +394,8 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch +# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) +Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -217,38 +408,657 @@ Patch191: systemd-dbus-system-bus-address.patch Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target Patch193: portmap-wants-rpcbind-socket.patch +# PATCH-FIX-USTREAM added at 2014/03/11 +Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +# PATCH-FIX-USTREAM added at 2014/03/14 +Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +# PATCH-FIX-SUSE Do not clean the data base files of the manual pages +Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch199: 0001-bash-completion-fix-__get_startable_units.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch +# PATCH-FIX-USTREAM added at 2014/04/28 +Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch # PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) Patch203: respect-nfs-bg-option.patch +# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. +Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch +# PATCH-FIX-UPSTREAM Fix uninitialized memory +Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch +# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) +Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch216: 0003-backlight-unify-error-messages.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch +# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) +Patch219: log-target-null-instead-kmsg.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch +# PATCH-FIX-UPSTREAM added at 2014/05/14 +Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch222: 0001-core-close-socket-fds-asynchronously.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch +# PATCH-FIX-UPSTREAM added at 2014/05/16 +Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch226: 0002-logind-fix-printf-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch232: 0008-man-update-journald-rate-limit-defaults.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch +# PATCH-FIX-UPSTREAM added at 2014/05/19 +Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch245: 0007-logind-fix-Display-property-of-user-objects.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch246: 0001-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch247: 0002-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch249: 0004-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch250: 0005-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch252: 0002-journal-properly-detect-language-specified-in-line.patch +# PATCH-FIX-UPSTREAM added at 2014/05/21 +Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch +# PATCH-FIX-UPSTREAM added at 2014/05/27 +Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch +# PATCH-FIX-UPSTREAM added at 2014/05/27 +Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch262: 0001-virt-rework-container-detection-logic.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch +# PATCH-FIX-UPSTREAM added at 2014/06/05 +Patch269: 0001-hwdb-fix-case-sensitive-match.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch +# PATCH-FIX-UPSTREAM added at 2014/06/06 +Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch272: 0001-umount-modernizations.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch274: 0003-core-allow-transient-mount-units.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU +Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/11 +Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch278: 0001-core-fix-invalid-free-in-killall.patch +# PATCH-FIX-UPSTREAM added at 2014/06/17 +Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch +# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) +Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch +# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available +Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch284: 0005-po-add-Greek-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch286: 0007-po-add-German-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch +# PATCH-FIX-UPSTREAM added at 2014/06/24 +Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch295: 0005-man-fix-path-in-crypttab-5.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch296: 0001-units-order-network-online.target-after-network.targ.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch297: 0001-core-use-correct-format-string-for-UIDs.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/06/26 +Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch +# PATCH-FIX-UPSTREAM added at 2014/07/01 +Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch312: 0006-hwdb-update.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch314: 0001-architecture-Add-tilegx.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch315: 0002-architecture-Add-cris.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch316: 0003-arch-add-crisv32-to-uname-check.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch317: 0004-architecture-remove-cris-from-uname-list.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/04 +Patch319: 0002-namespace-fix-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch320: 0001-machine-don-t-return-uninitialized-variable.patch +# PATCH-FIX-UPSTREAM added at 2014/07/07 +Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch +# PATCH-FIX-UPSTREAM added at 2014/07/08 +Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch330: 0002-journal-compress-improve-xz-compression-performance.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch +# PATCH-FIX-UPSTREAM added at 2014/07/09 +Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/10 +Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch335: 0002-util-fix-has-cc-check-and-add-test.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch +# PATCH-FIX-UPSTREAM added at 2014/07/14 +Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/07/16 +Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch341: 0001-po-add-Ukrainian-translation.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch +# PATCH-FIX-UPSTREAM added at 2014/07/17 +Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch +Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-SUSE Shut up rpmlint warning Patch345: shut-up-rpmlint-on-var-log-journal.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch347: 0003-Add-quotes-to-warning-message.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch349: 0001-bash-completion-p-option-for-journalctl.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch350: 0002-journalctl-man-allow-only-between-terms.patch +# PATCH-FIX-UPSTREAM added at 2014/07/21 +Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch355: 0003-Always-check-asprintf-return-code.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch358: 0006-parse_boolean-require-exact-matches.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch +# PATCH-FIX-UPSTREAM added at 2014/07/28 +Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch +# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console Patch362: tty-ask-password-agent-on-console.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch +# PATCH-FIX-UPSTREAM added at 2014/07/30 +Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch +# PATCH-FIX-UPSTREAM added at 2014/08/01 +Patch367: 0007-hwdb-update.patch # PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) Patch368: 0001-let-systemctl-completion-ignore-at-names.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch370: 0002-switch-root-umount-the-old-root-correctly.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch +# PATCH-FIX-UPSTREAM added at 2014/08/22 +Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch +# PATCH-FIX-UPSTREAM added at 2014/08/25 +Patch385: 0008-hwdb-update.patch # PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch +# PATCH-FIX-UPSTREAM added at 2014/08/27 +Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch390: 0001-login-fix-memory-leak-on-DropController.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch +# PATCH-FIX-UPSTREAM added at 2014/08/28 +Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch +# PATCH-FIX-UPSTREAM added at 2014/08/29 +Patch394: 0001-nspawn-fix-network-interface.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch395: 0001-completion-filter-templates-from-restartable-units.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch396: 0002-systemd-fix-error-message.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch398: 0004-config-parser-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/01 +Patch399: 0005-login-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/02 +Patch400: 0001-login-simplify-controller-handling.patch +# PATCH-FIX-UPSTREAM added at 2014/09/05 +Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/08 +Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/09/09 +Patch403: 0009-hwdb-update.patch +# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force +Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch406: 0002-analyze-avoid-a-null-dereference.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch407: 0003-analyze-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch410: 0006-bus-unref-buscreds-on-failure.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch411: 0007-core-fix-a-potential-mem-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch414: 0010-manager-use-correct-cleanup-function.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch416: 0002-util-remove-a-unnecessary-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch418: 0004-shared-conf-parser.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch419: 0005-logind-fix-typo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch +# PATCH-FIX-UPSTREAM added at 2014/09/16 +Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 +Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch +# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary +Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch +# PATCH-FIX-UPSTREAM added at 2014/09/19 +Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 +# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved +Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) +Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch +# PATCH-FIX-UPSTREAM added at 2014/09/24 +Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch +# PATCH-FIX-UPSTREAM added at 2014/09/25 +Patch436: 0002-bus-remove-unused-check.patch +# PATCH-FIX-UPSTREAM added at 2014/09/26 +Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch442: 0004-bootchart-check-return-of-strftime.patch +# PATCH-FIX-UPSTREAM added at 2014/09/29 +Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch +# PATCH-FIX-UPSTREAM added at 2014/09/30 +Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch +# PATCH-FIX-UPSTREAM added at 2014/10/02 +Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch450: 0003-fileio-label-return-error-when-writing-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch452: 0004-sd-event-check-the-value-of-received-signal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/07 +Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch +# PATCH-FIX-UPSTREAM added at 2014/10/10 +Patch459: 0005-util-avoid-double-close-of-fd.patch +# PATCH-FIX-UPSTREAM added at 2014/10/13 +Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch +# PATCH-FIX-UPSTREAM added at 2014/10/14 +Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch +# PATCH-FIX-UPSTREAM added at 2014/10/15 +Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch +# PATCH-FIX-UPSTREAM added at 2014/10/20 +Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch +# PATCH-FIX-SUSE added at 2014/10/15 +Patch468: avoid-leaking-socket-descriptors.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch +# PATCH-FIX-UPSTREAM added at 2014/10/23 +Patch473: 0005-cryptsetup-fix-an-OOM-check.patch +# PATCH-FIX-UPSTREAM added at 2014/10/24 +Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +# PATCH-FIX-SUSE added at 2014/10/24 Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch480: 0005-journalctl-correct-help-text-for-until.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch481: 0006-calendarspec-fix-typo-in-annually.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch483: 0008-util-introduce-sethostname_idempotent.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +# PATCH-FIX-UPSTREAM added at 2014/10/28 +Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch +# PATCH-FIX-UPSTREAM added at 2014/10/31 +Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch +# PATCH-FIX-SUSE added at 2014/11/05 Patch490: watch_resolv.conf_for_become_changed.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch496: 0006-journald-fix-minor-memory-leak.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch498: 0008-journald-fix-memory-leak-on-error-path.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch +# PATCH-FIX-UPSTREAM added at 2014/11/07 +Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch +# PATCH-FIX-UPSTREAM added at 2014/11/10 +Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch +# PATCH-FIX-UPSTREAM added at 2014/11/18 +Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch +# PATCH-FIX-UPSTREAM added at 2014/11/20 +Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch +# PATCH-FIX-UPSTREAM added at 2014/12/05 +Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch +# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) +Patch513: 513-nspawn-veth.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch +# PATCH-FIX-UPSTREAM added at 2014/12/15 +Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch +# PATCH-FIX-UPSTREAM added at 2014/12/16 +Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -Patch522: 0001-core-rework-device-state-logic.patch +# # UDEV PATCHES # ============ @@ -270,46 +1080,188 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 +Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-SUSE increase result size for programs (bnc#867840) +Patch1010: 1010-udev-increase-result-size-for-programs.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch +# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch +Patch1014: 1014-udev-update-net_id-comments.patch +# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/12 +Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch +# PATCH-FIX-UPSTREAM added at 2014/05/20 +Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch +# PATCH-FIX-UPSTREAM added at 2014/05/26 +Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch # PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch Patch1021: 1021-udev-re-add-persistent-net-rules.patch +# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch +# PATCH-FIX-UPSTREAM added at 2014/06/03 +Patch1024: 1024-udev-always-close-lock-file-descriptor.patch +# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch +Patch1026: 1026-udevd-inotify-modernizations.patch +# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch +Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch +# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch +Patch1028: 1028-udev-link-config-fix-mem-leak.patch +# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch +Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch +# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch +# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch +Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch +# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch +# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch +Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch +# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch +# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch +Patch1044: 1044-rules-update-qemu-hid-rules.patch +# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch # PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch +# PATCH-FIX-UPSTREAM added at 2014/07/03 +Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch +# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch +Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch +# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch # PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) Patch1051: 1051-check-if-NAME-has-a-value.patch +# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch +# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch +Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch # PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch +Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch +# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch +Patch1057: 1057-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch +Patch1058: 1058-udev-unify-event-timeout-handling.patch +# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch +# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch +Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) +Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch +# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch +# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch +Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch +# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch +Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch +# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch +Patch1073: 1073-udev-drop-print_kmsg.patch +# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch +Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch +# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch +Patch1075: 1075-udev-timeout-increase-timeout.patch +# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch +Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch +Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch +# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch +Patch1081: 1081-udevd-check-return-of-various-functions.patch +# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch +# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch +Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch +# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch +Patch1085: 1085-udev-fix-typos.patch +# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch +Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch +# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch +Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch # PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch +# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch +Patch1089: 1089-fix-cgroup-device-controller.patch +# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch +Patch1091: 1091-udev-path_id-update-comments.patch +# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch +Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch +# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch +# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch +Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -517,24 +1469,6 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. - -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-resolve - %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ @@ -546,12 +1480,13 @@ Requires(postun): systemd %description journal-gateway systemd-journal-gatewayd serves journal events over the network using HTTP. + %endif %prep -%setup -q -n systemd-%version +%setup -q -n systemd-%{version} echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in +[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -559,15 +1494,29 @@ cp %{SOURCE7} m4/ %endif # systemd patches +%patch0 -p1 +%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%if 0%{?suse_version} <= 1310 +%patch8 -p1 +%endif +%patch9 -p1 %patch12 -p1 +%patch13 -p0 +%patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p0 %patch20 -p1 %patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -578,45 +1527,418 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 +%patch46 -p1 +%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 +%patch93 -p1 +%patch114 -p0 +%if 0%{?suse_version} <= 1310 +%patch117 -p1 +%endif +%patch119 -p1 %patch120 -p1 +%patch121 -p0 +%patch122 -p0 +%patch123 -p0 +%patch124 -p0 +%patch125 -p0 +%patch126 -p0 +%patch127 -p0 +%patch128 -p0 +%patch129 -p0 +%patch130 -p0 +%patch131 -p0 +%patch132 -p0 +%patch133 -p0 +%patch134 -p0 +%patch135 -p0 +%patch136 -p0 +%patch137 -p0 +%patch138 -p0 +%patch139 -p0 +%patch140 -p0 +%patch141 -p0 +%patch142 -p0 +%patch143 -p0 +%patch144 -p0 +%patch145 -p0 +%patch146 -p0 +%patch147 -p0 +%patch148 -p0 +%patch149 -p0 +%patch150 -p0 +%patch151 -p0 +%patch152 -p0 +%patch153 -p0 +%patch154 -p0 +%patch155 -p0 +%patch157 -p0 +%patch158 -p0 +%patch159 -p0 +%patch160 -p0 +%patch161 -p0 +%patch162 -p0 +%patch163 -p0 +%patch164 -p0 +%patch165 -p0 +%patch166 -p0 +%patch167 -p0 +%patch168 -p0 +%patch169 -p0 +%patch170 -p0 +%patch171 -p0 +%patch172 -p0 +%patch173 -p0 +%patch174 -p0 +%patch175 -p0 +%patch176 -p0 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 +%patch181 -p1 %patch182 -p1 %patch183 -p1 %patch185 -p1 %patch186 -p1 +%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 +%patch194 -p0 +%patch196 -p1 +%patch195 -p0 %patch197 -p1 %patch198 -p1 +%patch199 -p0 +%patch200 -p0 +%patch201 -p0 +%patch202 -p0 %patch203 -p1 +%patch204 -p1 +%patch206 -p0 +%patch207 -p0 %patch208 -p1 -%patch338 -p1 +%patch209 -p0 +%patch211 -p0 +%patch212 -p0 +%patch213 -p0 +%patch214 -p0 +%patch215 -p0 +%patch216 -p0 +%patch217 -p0 +%patch218 -p0 +%patch219 -p1 +%patch220 -p0 +%patch221 -p0 +%patch222 -p0 +%patch223 -p0 +%patch224 -p0 +%patch225 -p0 +%patch226 -p0 +%patch227 -p0 +%patch228 -p0 +%patch229 -p0 +%patch230 -p0 +%patch231 -p0 +%patch232 -p0 +%patch233 -p0 +%patch234 -p0 +%patch235 -p0 +%patch236 -p0 +%patch237 -p0 +%patch238 -p0 +%patch239 -p0 +%patch240 -p0 +%patch241 -p0 +%patch242 -p0 +%patch243 -p0 +%patch244 -p0 +%patch245 -p0 +%patch246 -p0 +%patch247 -p0 +%patch248 -p0 +%patch249 -p0 +%patch250 -p0 +%patch251 -p0 +%patch252 -p0 +%patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 +%patch260 -p0 +%patch261 -p0 +%patch262 -p0 +%patch263 -p0 +%patch264 -p0 +%patch265 -p0 +%patch266 -p0 +%patch267 -p0 +%patch268 -p0 +%patch269 -p0 +%patch270 -p0 +%patch271 -p0 +%patch272 -p0 +%patch273 -p0 +%patch274 -p0 +%patch275 -p0 +%patch276 -p0 +%patch277 -p0 +%patch278 -p0 +%patch279 -p0 +%patch280 -p0 +%patch281 -p1 +%patch282 -p0 +%patch283 -p0 +%patch284 -p0 +%patch285 -p0 +%patch286 -p0 +%patch287 -p0 +%patch288 -p0 +%patch289 -p0 +%patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 +%patch296 -p0 +%patch297 -p0 +%patch298 -p0 +%patch299 -p0 +%patch300 -p0 +%patch301 -p0 +%patch302 -p0 +%patch303 -p0 +%patch304 -p0 +%patch305 -p0 +%patch306 -p0 +%patch307 -p0 +%patch308 -p0 +%patch309 -p0 +%patch310 -p0 +%patch311 -p0 +%patch312 -p0 +%patch313 -p0 +%patch314 -p0 +%patch315 -p0 +%patch316 -p0 +%patch317 -p0 +%patch318 -p0 +%patch319 -p0 +%patch320 -p0 +%patch321 -p0 +%patch322 -p0 +%patch323 -p0 +%patch324 -p0 +%patch325 -p0 +%patch326 -p0 +%patch327 -p0 +%patch328 -p0 +%patch329 -p0 +%patch330 -p0 +%patch331 -p0 +%patch332 -p0 +%patch333 -p0 +%patch334 -p0 +%patch335 -p0 +%patch336 -p0 +%patch337 -p0 +%patch338 -p0 +%patch339 -p0 +%patch340 -p0 +%patch341 -p0 +%patch342 -p0 +%patch343 -p0 +%patch344 -p0 %patch345 -p1 -%patch352 -p1 +%patch346 -p0 +%patch347 -p0 +%patch348 -p0 +%patch349 -p0 +%patch350 -p0 +%patch351 -p0 +%patch352 -p0 +%patch353 -p0 +%patch354 -p0 +%patch355 -p0 +%patch356 -p0 +%patch357 -p0 +%patch358 -p0 +%patch359 -p0 +%patch360 -p0 +%patch361 -p0 %patch362 -p1 +%patch363 -p0 +%patch364 -p0 +%patch365 -p0 %patch366 -p1 +%patch367 -p0 %patch368 -p1 +%patch369 -p0 +%patch370 -p0 +%patch371 -p0 +%patch372 -p0 +%patch373 -p0 +%patch374 -p0 +%patch375 -p0 +%patch376 -p0 +%patch377 -p0 +%patch378 -p0 +%patch379 -p0 +%patch380 -p0 +%patch381 -p0 +%patch382 -p0 +%patch383 -p0 +%patch384 -p0 +%patch385 -p0 %patch386 -p1 +%patch387 -p0 +%patch388 -p0 +%patch389 -p0 +%patch390 -p0 +%patch391 -p0 +%patch392 -p0 +%patch393 -p0 +%patch394 -p0 +%patch395 -p0 +%patch396 -p0 +%patch397 -p0 +%patch398 -p0 +%patch399 -p0 +%patch400 -p0 +%patch401 -p0 +%patch402 -p0 +%patch403 -p0 +%patch404 -p0 +%patch405 -p0 +%patch406 -p0 +%patch407 -p0 +%patch408 -p0 +%patch409 -p0 +%patch410 -p0 +%patch411 -p0 +%patch412 -p0 +%patch413 -p0 +%patch414 -p0 +%patch415 -p0 +%patch416 -p0 +%patch417 -p0 +%patch418 -p0 +%patch419 -p0 +%patch420 -p0 +%patch421 -p0 +%patch422 -p0 +%patch423 -p0 +%patch424 -p0 +%patch425 -p0 +%patch426 -p0 +%patch427 -p0 +%patch428 -p0 +%patch429 -p0 %patch430 -p1 -%patch475 -p1 +%patch431 -p0 +%patch432 -p0 +%patch433 -p0 +%patch434 -p0 +%patch435 -p0 +%patch436 -p0 +%patch437 -p0 +%patch438 -p0 +%patch439 -p0 %ifarch %arm %patch38 -p1 %endif -%patch490 -p1 +%patch440 -p0 +%patch441 -p0 +%patch442 -p0 +%patch443 -p0 +%patch444 -p0 +%patch445 -p0 +%patch446 -p0 +%patch447 -p0 +%patch448 -p0 +%patch449 -p0 +%patch450 -p0 +%patch451 -p0 +%patch452 -p0 +%patch453 -p0 +%patch454 -p0 +%patch455 -p0 +%patch456 -p0 +%patch457 -p0 +%patch458 -p0 +%patch459 -p0 +%patch460 -p0 +%patch461 -p0 +%patch462 -p0 +%patch463 -p0 +%patch464 -p0 +%patch465 -p0 +%patch466 -p0 +%patch467 -p0 +%patch468 -p0 +%patch469 -p0 +%patch470 -p0 +%patch471 -p0 +%patch472 -p0 +%patch473 -p0 +%patch474 -p0 +%patch475 -p0 +%patch476 -p0 +%patch477 -p0 +%patch478 -p0 +%patch479 -p0 +%patch480 -p0 +%patch481 -p0 +%patch482 -p0 +%patch483 -p0 +%patch484 -p0 +%patch485 -p0 +%patch486 -p0 +%patch487 -p0 +%patch488 -p0 +%patch489 -p0 +%patch490 -p0 +%patch491 -p0 +%patch492 -p0 +%patch493 -p0 +%patch494 -p0 +%patch495 -p0 +%patch496 -p0 +%patch497 -p0 +%patch498 -p0 +%patch499 -p0 +%patch500 -p0 +%patch501 -p0 +%patch502 -p0 +%patch503 -p0 +%patch504 -p0 +%patch505 -p0 +%patch506 -p0 +%patch507 -p0 +%patch509 -p0 +%patch510 -p0 +%patch511 -p0 +%patch512 -p0 +%patch513 -p1 +%patch514 -p0 +%patch515 -p0 +%patch516 -p0 +%patch517 -p0 +%patch518 -p1 +%patch519 -p1 %patch520 -p1 -%patch521 -p1 -%patch522 -p1 +%patch521 -p0 # udev patches %patch1001 -p1 @@ -625,31 +1947,131 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 +%if 0%{?suse_version} <= 1310 +%patch1008 -p1 +%endif +%patch1009 -p1 +%patch1010 -p1 %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 +%patch1014 -p1 +%patch1015 -p1 +%patch1016 -p0 +%patch1017 -p0 +%patch1018 -p0 +%patch1019 -p0 +%patch1020 -p0 %patch1021 -p1 +%if %{with udevsettle} +%patch1022 -p1 +%endif +%patch1023 -p0 +%patch1024 -p0 +%if %{with blkrrpart} +%patch1025 -p1 +%endif +%patch1026 -p1 +%if %{with blkrrpart} +%patch1027 -p1 +%endif +%patch1028 -p1 +%if %{with blkrrpart} +%patch1029 -p1 +%patch1030 -p1 +%patch1031 -p1 +%patch1032 -p1 +%patch1033 -p1 +%patch1034 -p1 +%endif %patch1035 -p1 %patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif +%patch1038 -p0 +%if %{with udevsettle} +%patch1039 -p0 +%endif %patch1040 -p1 +%if %{with udevsettle} +%patch1041 -p0 +%patch1042 -p0 +%patch1043 -p0 +%endif +%patch1044 -p0 +%patch1045 -p0 %patch1046 -p1 +%patch1047 -p0 +%patch1048 -p0 +%patch1049 -p0 %patch1050 -p1 %patch1051 -p1 +%patch1052 -p0 %patch1053 -p1 %if %{with blkrrpart} +%patch1054 -p0 %else %patch1055 -p1 %endif +%patch1056 -p0 +%if %{with udevsettle} +%patch1057 -p0 +%else +%patch1058 -p0 +%endif +%patch1059 -p0 %patch1060 -p1 +%patch1061 -p0 %patch1062 -p1 +%if %{with parentpathid} +%patch1063 -p0 +%endif +%patch1064 -p0 +%patch1065 -p0 %patch1066 -p1 +%patch1067 -p1 +%patch1068 -p0 +%patch1069 -p0 +%patch1070 -p0 +%patch1071 -p0 +%patch1072 -p0 +%patch1073 -p0 +%patch1074 -p0 +%patch1075 -p0 +%if %{with udevsettle} +%patch1076 -p0 +%else +%patch1077 -p0 +%endif +%if 0%{?suse_version} > 1310 +%if %{with udevsettle} +%patch1079 -p1 +%else +%patch1078 -p1 +%endif +%endif +%patch1080 -p0 +%patch1081 -p0 +%patch1082 -p0 +%patch1083 -p0 +%patch1084 -p0 +%patch1085 -p0 +%patch1086 -p0 +%patch1087 -p0 %patch1088 -p1 +%patch1089 -p1 +%if %{with parentpathid} +%patch1090 -p0 +%patch1091 -p0 +%endif +%patch1092 -p0 +%patch1093 -p0 +%patch1094 -p0 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 +%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -669,6 +2091,17 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi +%if 0%{?suse_version} <= 1310 +# +# Older versions like oS 13.1 do not distinguish between +# network.target and network-online.target +# +for f in src/core/service.c src/insserv-generator/insserv-generator.c +do + sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f +done +%endif + # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -709,11 +2142,11 @@ cflags () esac set +o noclobber } -autoreconf -fi +autoreconf -fiv # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags}" +export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -739,7 +2172,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-gudev \ --disable-myhostname \ --disable-manpages \ - --disable-machined \ %else --enable-manpages \ %if %{with python} @@ -747,10 +2179,16 @@ cflags -Wl,--hash-size=8599 LDFLAGS %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ +%endif +%if %{with compat_libs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ +%if 0%{?suse_version} <= 1310 + --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ +%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -759,15 +2197,11 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ +%if 0%{?suse_version} > 1310 + --disable-multi-seat-x \ +%endif %if %{without networkd} --disable-networkd \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ -%endif -%if %{without resolved} - --disable-resolved \ %endif --disable-kdbus make %{?_smp_mflags} @@ -776,9 +2210,19 @@ make %{?_smp_mflags} update-man-list man %endif %install -%if !0%{?bootstrap} -cp man/man[0-9]/*.[0-9] man/ -%endif +# Use refreshed manual pages +for man in man/*.[0-9] +do + section=${man##*.} + test -d man/man${section} || continue + new=man/man${section}/${man##*/} + if test -s $new -a $new -nt $man + then + cp -p $new $man + else + sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man + fi +done make install DESTDIR="%buildroot" # move to %{_lib} @@ -791,17 +2235,24 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif - +%if 0%{?suse_version} <= 1310 +ln -sf /lib/firmware %{buildroot}/usr/lib/firmware +%endif %if ! 0%{?bootstrap} +install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} +sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} +sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} +install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule +install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -819,7 +2270,28 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target - +# aliases for /etc/init.d/* +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service +install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service +ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service +ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service +ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -892,6 +2364,15 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ +%if ! 0%{?bootstrap} +%if %{without python} +for man in systemd.directives.7 systemd.index.7 +do + install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ +done +%endif +%endif + mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -908,8 +2389,10 @@ done > files.completion > files.completion %endif +%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd +%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -921,6 +2404,30 @@ do done %endif +%if 0%{suse_version} <= 1310 +cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' + [Unit] + Description=Fix against deadlock at shutdown + Wants=remote-fs.target remote-fs-pre.target + Before=remote-fs.target systemd-logind.service + After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target + ConditionPathExists=|/etc/init.d/autofs + ConditionPathExists=|/etc/init.d/nfs + + [Service] + Type=oneshot + RemainAfterExit=true + ExecStart=/bin/true + ExecStop=-/etc/init.d/autofs stop + ExecStop=-/etc/init.d/nfs stop + + [Install] + WantedBy=remote-fs.target + EOF + mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants + ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants +%endif + # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -968,7 +2475,6 @@ fi getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : %endif -systemd-sysusers || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -1016,6 +2522,8 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -1045,6 +2553,7 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : +%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -1143,9 +2652,6 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig - %pre journal-gateway getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : @@ -1168,26 +2674,17 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl -%if %{with networkd} -%{_bindir}/networkctl -%endif +%{_bindir}/systemd-sleep-grub %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if ! 0%{?bootstrap} %{_bindir}/machinectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/coredumpctl +%{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify -%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -1230,6 +2727,7 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif %{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -1268,19 +2766,12 @@ exit 0 %{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif %{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -1309,23 +2800,13 @@ exit 0 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%endif -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -1342,24 +2823,15 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%if %{with networkd} -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy @@ -1409,11 +2881,8 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%if 0%{?suse_version} > 1310 +%{_datadir}/pkgconfig/systemd.pc %endif %if ! 0%{?bootstrap} @@ -1438,7 +2907,9 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h -%{_libdir}/pkgconfig/systemd.pc +%if 0%{?suse_version} <= 1310 +%{_datadir}/pkgconfig/systemd.pc +%endif %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -1500,6 +2971,7 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* +%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -1530,6 +3002,9 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so +%if 0%{?suse_version} <= 1310 +%{_datadir}/pkgconfig/udev.pc +%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -1563,9 +3038,8 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} %{_localstatedir}/log/README -%endif +/etc/init.d/systemd-journald %files -n nss-myhostname %defattr(-, root, root) @@ -1578,10 +3052,6 @@ exit 0 %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_mandir}/man8/systemd-journal-gatewayd.* %{_datadir}/systemd/gatewayd - -%files -n nss-mymachines -%defattr(-,root,root) -%_libdir/libnss_mymachines.so* %endif %changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch new file mode 100644 index 00000000..fb97a2f1 --- /dev/null +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -0,0 +1,24 @@ +From: Frederic Crozat +Date: Tue, 14 Aug 2012 14:26:16 +0200 +Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock + +--- + src/timedate/timedated.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- systemd-206_git201308300826.orig/src/timedate/timedated.c ++++ systemd-206_git201308300826/src/timedate/timedated.c +@@ -182,6 +182,13 @@ static int read_data(void) { + goto have_timezone; + } + } ++#ifdef HAVE_SYSV_COMPAT ++ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, ++ "TIMEZONE", &c->zone, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); ++#endif + + have_timezone: + if (isempty(c->zone)) { diff --git a/tmpfiles-do-not-clean-for-mandb-index-files.patch b/tmpfiles-do-not-clean-for-mandb-index-files.patch new file mode 100644 index 00000000..3bfd928f --- /dev/null +++ b/tmpfiles-do-not-clean-for-mandb-index-files.patch @@ -0,0 +1,22 @@ +There is no need to clean out all 30 days the index data base +files nor the cachedir tags of mandb. Those files are used +for whatis(1) as well as for apropos(1). + +--- + systemd-210/tmpfiles.d/systemd.conf | 5 +++++ + 1 file changed, 5 insertions(+) + +--- systemd-210/tmpfiles.d/systemd.conf ++++ systemd-210/tmpfiles.d/systemd.conf 2014-06-11 13:47:59.470236564 +0000 +@@ -14,6 +14,11 @@ f /var/log/wtmp 0664 root utmp - + f /var/log/btmp 0600 root root - + + d /var/cache/man - - - 30d ++# mandb uses data base file which should not be cleared ++x /var/cache/man/index.* ++x /var/cache/man/CACHEDIR.TAG ++x /var/cache/man/*/index.* ++x /var/cache/man/*/CACHEDIR.TAG + + d /run/systemd/ask-password 0755 root root - + d /run/systemd/seats 0755 root root - diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index ee7e73d8..1091a730 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -1,99 +1,110 @@ --- - src/tty-ask-password-agent/tty-ask-password-agent.c | 171 +++++++++++++++++++- - 1 file changed, 166 insertions(+), 5 deletions(-) + src/tty-ask-password-agent/tty-ask-password-agent.c | 190 +++++++++++++++++++- + 1 file changed, 185 insertions(+), 5 deletions(-) -Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd/src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -31,6 +31,10 @@ - #include - #include - #include +--- systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-30 10:48:43.602052750 +0000 +@@ -28,8 +28,12 @@ + #include + #include + #include +#include + #include +#include +#include + #include +#include + #include #include "util.h" - #include "mkdir.h" -@@ -42,6 +46,9 @@ +@@ -41,6 +45,9 @@ + #include "ask-password-api.h" #include "strv.h" #include "build.h" - #include "def.h" +#include "fileio.h" +#include "macro.h" +#include "list.h" static enum { ACTION_LIST, -@@ -50,6 +57,22 @@ static enum { +@@ -49,6 +56,21 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; +struct console { + LIST_FIELDS(struct console, handle); -+ const char *tty; ++ char *tty; + pid_t pid; + int id; -+ char dev[]; +}; + -+static volatile unsigned long *usemask; ++static volatile uint32_t *usemask; +static volatile sig_atomic_t sigchild; +static void chld_handler(int sig) +{ + (void)sig; -+ ++sigchild; ++ sigchild++; +} + static bool arg_plymouth = false; static bool arg_console = false; -@@ -208,6 +231,58 @@ static int ask_password_plymouth( - return 0; +@@ -246,12 +268,77 @@ finish: + return r; } +static const char *current_dev = "/dev/console"; +static LIST_HEAD(struct console, consoles); +static int collect_consoles(void) { + _cleanup_free_ char *active = NULL; -+ const char *word, *state; -+ struct console *con; -+ size_t len; -+ int ret, id = 0; ++ char *w, *state; ++ struct console *c; ++ size_t l; ++ int id; ++ int r; + -+ ret = read_one_line_file("/sys/class/tty/console/active", &active); -+ if (ret < 0) -+ return ret; -+ FOREACH_WORD(word, len, active, state) { ++ r = read_one_line_file("/sys/class/tty/console/active", &active); ++ if (r < 0) ++ return r; ++ ++ id = 0; ++ FOREACH_WORD(w, l, active, state) { + _cleanup_free_ char *tty = NULL; + -+ if (strneq(word, "tty0", len) && -+ read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { -+ word = tty; -+ len = strlen(tty); ++ if (strneq(w, "tty0", l)) { ++ if (read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { ++ w = tty; ++ l = strlen(tty); ++ } + } -+ con = malloc0(sizeof(*con) + strlen("/dev/") + len + 1); -+ if (con == NULL) { ++ ++ c = malloc0(sizeof(struct console)+5+l+1); ++ if (!c) { + log_oom(); + continue; + } -+ sprintf(con->dev, "/dev/%.*s", (int)len, word); -+ con->tty = con->dev; -+ con->id = id++; -+ LIST_PREPEND(handle, consoles, con); ++ ++ c->tty = ((char*)c)+sizeof(struct console); ++ stpncpy(stpcpy(c->tty, "/dev/"),w,l); ++ c->id = id++; ++ ++ LIST_PREPEND(handle, consoles, c); + } -+ if (consoles == NULL) { -+ con = malloc0(sizeof(*con)); -+ if (con == NULL) { ++ ++ if (!consoles) { ++ ++ c = malloc0(sizeof(struct console)); ++ if (!c) { + log_oom(); + return -ENOMEM; + } -+ con->tty = current_dev; -+ con->id = id++; -+ LIST_PREPEND(handle, consoles, con); ++ ++ c->tty = (char *)current_dev; ++ c->id = id++; ++ ++ LIST_PREPEND(handle, consoles, c); + } ++ + return 0; +} + @@ -107,133 +118,168 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +} + static int parse_password(const char *filename, char **wall) { - _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; + char *socket_name = NULL, *message = NULL, *packet = NULL; uint64_t not_after = 0; -@@ -308,7 +383,7 @@ static int parse_password(const char *fi - _cleanup_free_ char *password = NULL; + unsigned pid = 0; + int socket_fd = -1; + bool accept_cached = false; ++ size_t packet_length = 0; - if (arg_console) { -- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); -+ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); - if (tty_fd < 0) - return tty_fd; + const ConfigTableItem items[] = { + { "Ask", "Socket", config_parse_string, 0, &socket_name }, +@@ -323,7 +410,6 @@ static int parse_password(const char *fi + struct sockaddr sa; + struct sockaddr_un un; + } sa = {}; +- size_t packet_length = 0; + + assert(arg_action == ACTION_QUERY || + arg_action == ACTION_WATCH); +@@ -365,7 +451,7 @@ static int parse_password(const char *fi + char *password = NULL; + + if (arg_console) +- if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) { ++ if ((tty_fd = acquire_terminal(current_dev, false, false, true, (usec_t) -1)) < 0) { + r = tty_fd; + goto finish; + } +@@ -386,6 +472,7 @@ static int parse_password(const char *fi + strcpy(packet+1, password); + } + ++ memset(password, 0, strlen(password)); + free(password); } -@@ -612,9 +687,85 @@ static int parse_argv(int argc, char *ar - return 1; + } +@@ -423,6 +510,7 @@ finish: + if (socket_fd >= 0) + close_nointr_nofail(socket_fd); + ++ memset(packet, 0, packet_length); + free(packet); + free(socket_name); + free(message); +@@ -726,8 +814,10 @@ static int parse_argv(int argc, char *ar } -+static int zzz(void) -+{ -+ struct console *con; -+ struct sigaction sig = { -+ .sa_handler = chld_handler, -+ .sa_flags = SA_NOCLDSTOP | SA_RESTART, -+ }; -+ struct sigaction oldsig; -+ sigset_t set, oldset; -+ int status = 0, ret; -+ pid_t job; -+ -+ collect_consoles(); -+ if (!consoles->handle_next) { -+ consoles->pid = 0; -+ con = consoles; -+ goto nofork; -+ } -+ -+ assert_se(sigemptyset(&set) == 0); -+ assert_se(sigaddset(&set, SIGHUP) == 0); -+ assert_se(sigaddset(&set, SIGCHLD) == 0); -+ assert_se(sigemptyset(&sig.sa_mask) == 0); -+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); -+ sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); -+ -+ LIST_FOREACH(handle, con, consoles) { -+ switch ((con->pid = fork())) { -+ case 0: -+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) -+ _exit(EXIT_FAILURE); -+ zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); -+ nofork: -+ setsid(); -+ release_terminal(); -+ *usemask |= 1 << con->id; -+ current_dev = con->tty; -+ return con->id; /* child */ -+ case -1: -+ log_error("Failed to query password: %s", strerror(errno)); -+ exit(EXIT_FAILURE); -+ default: -+ break; -+ } -+ } -+ -+ ret = 0; -+ while ((job = wait(&status)) != 0) { -+ if (job < 0) { -+ if (errno != EINTR) -+ break; -+ continue; -+ } -+ LIST_FOREACH(handle, con, consoles) { -+ if (con->pid == job || kill(con->pid, 0) < 0) { -+ *usemask &= ~(1 << con->id); -+ continue; -+ } -+ if (*usemask & (1 << con->id)) -+ continue; -+ kill(con->pid, SIGHUP); -+ usleep(50000); -+ kill(con->pid, SIGKILL); -+ } -+ if (WIFEXITED(status) && ret == 0) -+ ret = WEXITSTATUS(status); -+ } -+ free_consoles(); -+ exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */ -+} -+ int main(int argc, char *argv[]) { -- int r; -+ int r, id = 0; ++ int id = 0; + int r; + LIST_HEAD_INIT(consoles); log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); -@@ -625,11 +776,19 @@ int main(int argc, char *argv[]) { - if (r <= 0) +@@ -737,11 +827,99 @@ int main(int argc, char *argv[]) { + if ((r = parse_argv(argc, argv)) <= 0) goto finish; -+ usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE, -+ MAP_ANONYMOUS | MAP_SHARED, -1, 0); -+ assert_se(usemask != NULL); ++ usemask = (uint32_t*) mmap(NULL, sizeof(uint32_t), PROT_READ|PROT_WRITE, ++ MAP_ANONYMOUS|MAP_SHARED, -1, 0); + if (arg_console) { - setsid(); - release_terminal(); +- } + if (!arg_plymouth && arg_action != ACTION_WALL && + arg_action != ACTION_LIST) { -+ id = zzz(); ++ struct console *c; ++ struct sigaction sig = { ++ .sa_handler = chld_handler, ++ .sa_flags = SA_NOCLDSTOP|SA_RESTART, ++ }; ++ struct sigaction oldsig; ++ sigset_t set, oldset; ++ int status = 0; ++ pid_t job; ++ ++ collect_consoles(); ++ ++ if (!consoles->handle_next) { ++ consoles->pid = 0; ++ c = consoles; ++ goto nofork; ++ } + ++ assert_se(sigemptyset(&set) == 0); ++ assert_se(sigaddset(&set, SIGHUP) == 0); ++ assert_se(sigaddset(&set, SIGCHLD) == 0); ++ assert_se(sigemptyset(&sig.sa_mask) == 0); ++ ++ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); ++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); ++ sig.sa_handler = SIG_DFL; ++ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); ++ LIST_FOREACH(handle, c, consoles) { ++ ++ switch ((c->pid = fork())) { ++ case 0: ++ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) ++ _exit(EXIT_FAILURE); ++ zero(sig); ++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); ++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); ++ /* fall through */ ++ nofork: ++ setsid(); ++ release_terminal(); ++ id = c->id; ++ *usemask |= (1<tty; ++ goto forked; /* child */ ++ case -1: ++ log_error("Failed to query password: %s", strerror(errno)); ++ return EXIT_FAILURE; ++ default: ++ break; ++ } ++ } ++ ++ r = 0; ++ while ((job = wait(&status))) { ++ if (job < 0) { ++ if (errno != EINTR) ++ break; ++ continue; ++ } ++ LIST_FOREACH(handle, c, consoles) { ++ if (c->pid == job) { ++ *usemask &= ~(1<id); ++ continue; ++ } ++ if (kill(c->pid, 0) < 0) { ++ *usemask &= ~(1<id); ++ continue; ++ } ++ if (*usemask & (1<id)) ++ continue; ++ kill(c->pid, SIGHUP); ++ usleep(50000); ++ kill(c->pid, SIGKILL); ++ } ++ ++ if (WIFEXITED(status) && !r) ++ r = WEXITSTATUS(status); ++ } ++ free_consoles(); ++ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; /* parent */ ++ + } else { + setsid(); + release_terminal(); + } - } -- - if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) ++ } ++forked: + if (arg_action == ACTION_WATCH || + arg_action == ACTION_WALL) r = watch_passwords(); - else -@@ -638,6 +797,8 @@ int main(int argc, char *argv[]) { +@@ -751,6 +929,8 @@ int main(int argc, char *argv[]) { if (r < 0) - log_error_errno(r, "Error: %m"); + log_error("Error: %s", strerror(-r)); + free_consoles(); -+ *usemask &= ~(1 << id); ++ *usemask &= ~(1< #include @@ -39,7 +37,7 @@ Index: systemd-218/src/random-seed/random-seed.c + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); + if (entropy_fd < 0) { -+ entropy_count = 0; ++ entropy_count = 0; + if (errno != ENOENT) { + log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); + r = -errno; @@ -57,13 +55,13 @@ Index: systemd-218/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -113,12 +133,34 @@ int main(int argc, char *argv[]) { +@@ -113,16 +133,37 @@ int main(int argc, char *argv[]) { } else { lseek(seed_fd, 0, SEEK_SET); -- r = loop_write(random_fd, buf, (size_t) k, false); -- if (r < 0) -- log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); +- k = loop_write(random_fd, buf, (size_t) k, false); +- if (k <= 0) { +- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); + if (entropy_count && (size_t) k == buf_size) { + struct rand_pool_info entropy = { + .entropy_count = entropy_count, @@ -79,12 +77,15 @@ Index: systemd-218/src/random-seed/random-seed.c + k = loop_write(random_fd, buf, (size_t) k, false); + if (k <= 0) { + log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); + +- r = k == 0 ? -EIO : (int) k; + r = k == 0 ? -EIO : (int) k; + } -+ } + } } } else if (streq(argv[1], "save")) { + + /* Read available entropy count, if possible */ + f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); + if (f) { @@ -92,10 +93,11 @@ Index: systemd-218/src/random-seed/random-seed.c + entropy_count = 0; + fclose(f); + } - ++ seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { -@@ -134,6 +176,21 @@ int main(int argc, char *argv[]) { + log_error("Failed to open " RANDOM_SEED ": %m"); +@@ -137,6 +178,21 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch new file mode 100644 index 00000000..e29f4b28 --- /dev/null +++ b/use-usr-sbin-sulogin-for-emergency-service.patch @@ -0,0 +1,44 @@ +From: Andrey Borzenkov +Subject: use /usr/sbin/sulogin in emergency service + +In current Factory sulogin is in /usr/sbin which makes it impossible +to enter emergency service. +Index: systemd-207/units/emergency.service.in +=================================================================== +--- systemd-207.orig/units/emergency.service.in ++++ systemd-207/units/emergency.service.in +@@ -17,7 +17,7 @@ Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default + Type=idle + StandardInput=tty-force +Index: systemd-207/units/console-shell.service.m4.in +=================================================================== +--- systemd-207.orig/units/console-shell.service.m4.in ++++ systemd-207/units/console-shell.service.m4.in +@@ -17,7 +17,7 @@ Before=getty.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ poweroff + Type=idle + StandardInput=tty-force +Index: systemd-207/units/rescue.service.m4.in +=================================================================== +--- systemd-207.orig/units/rescue.service.m4.in ++++ systemd-207/units/rescue.service.m4.in +@@ -18,7 +18,7 @@ Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ --fail --no-block default + Type=idle + StandardInput=tty-force diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch index 3273aba6..b318b124 100644 --- a/vhangup-on-all-consoles.patch +++ b/vhangup-on-all-consoles.patch @@ -2,22 +2,12 @@ Related to bnc#886599 and others. That is use the vhangup(8) tool to explicit do a virtually hangup on the specified on the terminal line to give e.g. the bash a few seconds to e.g. safe its history. -[crrodriguez@opensuse.org: Feb 2015 -This a known kernel bug, no notification from the cgroup subsystem -arrives and the processes in the "scope" units have -to be SIGKILL'ed without delay in order not to hang shutdown -Status: fix not available as of Feb 16 2015 -track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 -] - --- units/getty@.service.m4 | 1 + units/serial-getty@.service.m4 | 1 + 2 files changed, 2 insertions(+) -Index: systemd-218/units/getty@.service.m4 -=================================================================== ---- systemd-218.orig/units/getty@.service.m4 -+++ systemd-218/units/getty@.service.m4 +--- units/getty@.service.m4 ++++ units/getty@.service.m4 2014-07-15 07:30:28.006235859 +0000 @@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate @@ -26,15 +16,13 @@ Index: systemd-218/units/getty@.service.m4 Type=idle Restart=always RestartSec=0 -Index: systemd-218/units/serial-getty@.service.m4 -=================================================================== ---- systemd-218.orig/units/serial-getty@.service.m4 -+++ systemd-218/units/serial-getty@.service.m4 +--- units/serial-getty@.service.m4 ++++ units/serial-getty@.service.m4 2014-07-15 07:30:01.366235017 +0000 @@ -24,6 +24,7 @@ IgnoreOnIsolate=yes [Service] - ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM + ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 $TERM +ExecStopPost=-/sbin/vhangup /dev/%I Type=idle Restart=always - UtmpIdentifier=%I + RestartSec=0 diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index 8aec94ac..41a2b6dc 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -1,12 +1,10 @@ --- - src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/manager.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/core/manager.h | 5 ++ - 2 files changed, 98 insertions(+) + 2 files changed, 108 insertions(+) -Index: systemd-218/src/core/manager.c -=================================================================== ---- systemd-218.orig/src/core/manager.c -+++ systemd-218/src/core/manager.c +--- src/core/manager.c ++++ src/core/manager.c 2014-11-07 11:12:58.334193988 +0000 @@ -37,6 +37,7 @@ #include #include @@ -15,7 +13,7 @@ Index: systemd-218/src/core/manager.c #ifdef HAVE_AUDIT #include -@@ -302,6 +303,91 @@ static int manager_check_ask_password(Ma +@@ -304,6 +305,101 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -37,8 +35,13 @@ Index: systemd-218/src/core/manager.c + flush_fd(fd); + + m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); ++ ++ if (m->resolv_conf_inotify_fd >= 0) ++ close_nointr_nofail(m->resolv_conf_inotify_fd); ++ m->resolv_conf_inotify_fd = -1; ++ + manager_setup_resolv_conf_change(m); ++ + return m->resolv_conf_noent ? 0 : res_init(); +} + @@ -93,7 +96,10 @@ Index: systemd-218/src/core/manager.c + + return 0; +fail: -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); ++ if (m->resolv_conf_inotify_fd >= 0) ++ close_nointr_nofail(m->resolv_conf_inotify_fd); ++ m->resolv_conf_inotify_fd = -1; ++ + return 0; /* Ignore error here */ +} + @@ -101,21 +107,23 @@ Index: systemd-218/src/core/manager.c + assert(m); + + m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); ++ if (m->resolv_conf_inotify_fd >= 0) ++ close_nointr_nofail(m->resolv_conf_inotify_fd); ++ m->resolv_conf_inotify_fd = -1; +} + static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -557,6 +643,7 @@ int manager_new(SystemdRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; +@@ -562,6 +658,7 @@ int manager_new(SystemdRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + m->resolv_conf_inotify_fd = -1; m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ -@@ -618,6 +705,10 @@ int manager_new(SystemdRunningAs running +@@ -613,6 +710,10 @@ int manager_new(SystemdRunningAs running if (r < 0) goto fail; @@ -126,22 +134,20 @@ Index: systemd-218/src/core/manager.c m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -896,6 +987,8 @@ Manager* manager_free(Manager *m) { - if (!m) - return NULL; +@@ -906,6 +1007,8 @@ void manager_free(Manager *m) { + + assert(m); + manager_shutdown_resolv_conf_change(m); + manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-218/src/core/manager.h -=================================================================== ---- systemd-218.orig/src/core/manager.h -+++ systemd-218/src/core/manager.h -@@ -185,6 +185,11 @@ struct Manager { - int utab_inotify_fd; - sd_event_source *mount_utab_event_source; +--- src/core/manager.h ++++ src/core/manager.h 2014-11-07 11:06:41.466019636 +0000 +@@ -157,6 +157,11 @@ struct Manager { + FILE *proc_self_mountinfo; + sd_event_source *mount_event_source; + /* Watch out any change of /etc/resolv.conf */ + int resolv_conf_inotify_fd; From b9d779e5bf83b7b4183ee3cbb2af62d9b8593d80cb19a020b715aaa1e8990ccb Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 27 Mar 2015 08:39:40 +0000 Subject: [PATCH 212/991] Accepting request 290056 from Base:System Submit systemd to a staging of it's own - retest post revert OBS-URL: https://build.opensuse.org/request/show/290056 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=218 --- ...on-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch | 110 - ...escape-unit-names-in-Install-section.patch | 21 - ...-snprintf-a-potentially-NULL-pointer.patch | 25 - 0001-Fix-systemd-stdio-bridge-symlink.patch | 28 - ...g-about-unused-variable-with-SELINUX.patch | 31 - ...s390_con3270_disable_ANSI_colour_esc.patch | 67 +- 0001-activate-fix-fd-leak-in-do_accept.patch | 26 - ...sh-for-reboot-or-hddown-for-poweroff.patch | 49 +- ...network-device-after-NFS-mount-units.patch | 64 +- 0001-architecture-Add-tilegx.patch | 56 - ...restoring-brightness-to-an-unreadabl.patch | 79 - ...completion-fix-__get_startable_units.patch | 25 - ...h-completion-p-option-for-journalctl.patch | 46 - 0001-bnc888612-logind-polkit-acpi.patch | 34 +- ...ibc-s-xattr-support-instead-of-requi.patch | 215 - ...-bus-proxyd-fix-incorrect-comparison.patch | 21 - ...t-s-not-OK-to-invoke-alloca-in-loops.patch | 80 - ...ter-templates-from-restartable-units.patch | 30 - ...ntly-ignore-sections-starting-with-X.patch | 73 - ...-lookup-string-for-BUSNAME_FAILURE_S.patch | 29 - ...core-close-socket-fds-asynchronously.patch | 89 - ...n-t-allow-enabling-if-unit-is-masked.patch | 36 - 0001-core-fix-invalid-free-in-killall.patch | 32 - ...urce-leak-in-manager_environment_add.patch | 32 - 0001-core-rework-device-state-logic.patch | 917 + ...ake-configured-units-part-of-swap.ta.patch | 76 - ...network-should-be-equivalent-to-netw.patch | 51 - ...e-use-correct-format-string-for-UIDs.patch | 20 - 0001-detect-virt-Fix-Xen-domU-discovery.patch | 33 - ...to-handle-the-3-errnos-that-are-alia.patch | 30 - ...pull-in-sd-event.h-from-event-util.h.patch | 24 - ...or-don-t-return-OOM-on-parentless-de.patch | 20 - ...base-of-Bluetooth-company-identifier.patch | 29 - 0001-hwdb-fix-case-sensitive-match.patch | 25 - ...db-keymaps-for-Samsung-900X3E-900X3F.patch | 40 - 0001-hwdb-update.patch | 6590 -- ....service-ignore-return-code-of-daemo.patch | 29 - ...ount-on-the-compiler-initializing-fo.patch | 30 - ...-up-error-handling-in-update_catalog.patch | 104 - ...-return-early-in-uncompress_startswi.patch | 186 - ...port-of-messages-containing-newlines.patch | 80 - ...t-output-reboot-markers-when-running.patch | 27 - ...map-Add-Lenovo-Enhanced-USB-Keyboard.patch | 36 - ...-support-for-IBM-ThinkPad-X41-Tablet.patch | 38 - ...pad-toggle-on-Toshiba-Satellite-P75-.patch | 27 - ...systemctl-completion-ignore-at-names.patch | 4 +- ...in-fix-memory-leak-on-DropController.patch | 36 - 0001-login-fix-pos-array-allocation.patch | 52 - ...ces-before-acknowledging-VT-switches.patch | 82 - ...sole-setup-when-switching-from-vgaco.patch | 60 - 0001-login-simplify-controller-handling.patch | 118 - ...add-support-for-Triton2-Power-Button.patch | 24 - ...switching-to-unused-VTs-via-SwitchTo.patch | 37 - ...d-switch-if-more-than-1-display-is-c.patch | 168 - ...-don-t-return-uninitialized-variable.patch | 26 - ...-might-fail-due-to-OOM-protect-again.patch | 26 - 0001-make-209-working-on-older-dist.patch | 79 - 0001-make-fortify-happy-with-ppoll.patch | 55 - ...-hppa-has-fewer-rtsigs-hence-avoid-u.patch | 79 - ...bind-mount-journal-on-top-of-a-non-e.patch | 45 - ...-to-create-veth-link-with-too-long-i.patch | 21 - 0001-nspawn-fix-network-interface.patch | 21 - ...ation-of-machine-names-in-interface-.patch | 31 - ...XDG_RUNTIME_DIR_of_the_original_user.patch | 6 +- 0001-parse_uid-return-ENXIO-for-1-uids.patch | 45 - 0001-po-add-Ukrainian-translation.patch | 406 - ...t-of-messages-logged-to-dev-kmsg-whe.patch | 27 - ...-replace-more-dup-by-F_DUPFD_CLOEXEC.patch | 39 - ...k-for-a-64bit-value-when-we-only-hav.patch | 181 - ...handle-removals-of-non-existing-matc.patch | 25 - ...equire-a-signal-event-source-to-be-e.patch | 58 - ...nt-restore-correct-timeout-behaviour.patch | 37 - ...sage-append-fix-uninitialized-memory.patch | 111 - ...x-access-fix-broken-ternary-operator.patch | 23 - ...ion-fix-completion-of-inactive-units.patch | 95 - ...nd-clean-up-initialization-of-struct.patch | 30 - ...troduce-SELinuxContextFromNet-option.patch | 414 - ...tional-overflow-check-when-enlarging.patch | 35 - ...t-error-message-printed-when-bus_pro.patch | 28 - ...to-change-the-default-target-without.patch | 51 - ...et-list-units-unit-files-honour-type.patch | 94 - ...angle-unit-names-for-the-isolate-suf.patch | 52 - ...nue-switch-root-even-if-umount-fails.patch | 50 - ...tect-virt-detect-s390-virtualization.patch | 72 - ...-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch | 39 - ...cripts-which-provide-network-before-.patch | 34 - ...compare-return-against-correct-errno.patch | 26 - ...fix-permissions-on-new-journal-files.patch | 27 - 0001-umount-modernizations.patch | 119 - ...network-pre.target-as-place-to-hook-.patch | 126 - ...xecStopPost-action-part-of-ExecStart.patch | 46 - ...rfkill-service-is-bount-to-the-actua.patch | 32 - ...ork-online.target-after-network.targ.patch | 20 - ...sctl.service.in-run-after-load-modul.patch | 29 - ...etup-dev-allow-unsafe-file-creation-.patch | 24 - ...7F-a-control-chracter-which-it-is-DE.patch | 54 - ...py-character-maps-not-just-fonts-fro.patch | 56 - ...-we-are-running-inside-the-docker-co.patch | 25 - ...irt-rework-container-detection-logic.patch | 159 - ...wdb-entry-for-Samsung-Series-7-Ultra.patch | 31 - ...re-verbose-when-bind-or-listen-fails.patch | 92 - 0002-analyze-avoid-a-null-dereference.patch | 30 - ...bus_open_transport_systemd-instead-o.patch | 46 - 0002-architecture-Add-cris.patch | 55 - ...ht-do-nothing-if-max_brightness-is-0.patch | 108 - ...-use-n-a-if-PRETTY_NAME-is-not-found.patch | 31 - ...emory-leak-when-kdbus-is-not-enabled.patch | 26 - ...sd_bus_try_close-in-exit-on-idle-ser.patch | 59 - 0002-bus-remove-unused-check.patch | 29 - ...nvironment-fields-passed-in-for-tran.patch | 27 - ...-fix-cycle-break-attempts-outside-tr.patch | 42 - ...s-properties-cannot-be-both-writable.patch | 23 - ...ectory-path-if-we-fail-to-remove-it-.patch | 54 - ...ice-name-in-the-message-about-missin.patch | 26 - ...d-add-a-new-chassis-type-for-watches.patch | 26 - ...-for-special-keys-on-compaq-ku-0133-.patch | 42 - ...base-of-Bluetooth-company-identifier.patch | 32 - 0002-hwdb-update.patch | 2058 - ...lude-fcntl.h-rather-than-sys-fcntl.h.patch | 25 - ...s-improve-xz-compression-performance.patch | 82 - ...ly-detect-language-specified-in-line.patch | 99 - ...rnalctl-man-allow-only-between-terms.patch | 109 - ...-MaxFileSec-really-default-to-1month.patch | 30 - ...ophone-mute-keymap-for-Dell-Latitude.patch | 38 - ...eymap-Asus-EeePC-touchpad-toggle-key.patch | 28 - ...cial-keys-on-ThinkPad-X60-X61-Tablet.patch | 33 - ...-touchpad-toggle-key-on-Asus-laptops.patch | 25 - ...ightness-keys-on-Dell-Inspiron-1520-.patch | 41 - ...pos-slot-to-fallback-on-pos-eviction.patch | 52 - ...dd-support-for-TPS65217-Power-Button.patch | 71 - ...kit-policy-for-hibernate-in-line-wit.patch | 28 - 0002-logind-fix-printf-format.patch | 25 - ...l-bus-call-on-machine-objects-when-w.patch | 70 - ...early-and-annually-in-systemd.time-7.patch | 49 - ...t-entire-sections-can-now-be-ignored.patch | 35 - ...n-tmpfiles.d-recommend-using-b-and-c.patch | 24 - ...emory-stream-before-using-the-buffer.patch | 45 - ...pace-fix-uninitialized-memory-access.patch | 28 - ...etting-up-an-inaccessible-mount-poin.patch | 122 - ...ore-journal-directory-is-empty-check.patch | 30 - ...F_DUPFD_CLOEXEC-when-dupping-session.patch | 26 - ...w-we-generate-file-names-from-rfkill.patch | 116 - ...mpletion-prevent-mangling-unit-names.patch | 67 - ...-propose-templates-for-disable-re-en.patch | 111 - ...-arguments-to-run-initramfs-shutdown.patch | 70 - ...s-own-argv-to-run-initramfs-shutdown.patch | 36 - ...ot-return-error-when-snapshot-exists.patch | 25 - ...h-root-umount-the-old-root-correctly.patch | 26 - ...sctl-replaces-some-slashes-with-dots.patch | 97 - ...temctl-obey-state-in-list-unit-files.patch | 28 - ...BindsTo-BoundBy-in-list-dependencies.patch | 35 - ...emctl-update-NAME-to-PATTERN-in-help.patch | 52 - 0002-systemd-fix-error-message.patch | 29 - ...-try-harder-to-bind-to-notify-socket.patch | 44 - ...upport-infinity-syntax-in-parse_nsec.patch | 40 - ...w-Entry-for-Dell-XPS12-9Q33-keyboard.patch | 29 - ...g-caps-so-that-GetAddresses-can-work.patch | 18 - ...emd-fsck-.service-after-local-fs-pre.patch | 29 - ...ty-.service-use-the-default-RestartS.patch | 29 - 0002-util-avoid-non-portable-__WORDSIZE.patch | 25 - ...der-tabs-special-in-string_has_cc-an.patch | 117 - 0002-util-fix-has-cc-check-and-add-test.patch | 25 - ...-race-where-we-might-miss-SIGTERMs-w.patch | 96 - 0002-util-remove-a-unnecessary-check.patch | 25 - ...ping-strings-don-t-allow-smuggling-i.patch | 74 - ...le-setup-run-setfont-before-loadkeys.patch | 167 - 0003-Add-quotes-to-warning-message.patch | 41 - 0003-Always-check-asprintf-return-code.patch | 223 - ...rint-invalid-UTF-8-in-error-messages.patch | 130 - ...-in-suggested-systemctl-commandlines.patch | 68 - 0003-analyze-fix-mem-leak.patch | 27 - 0003-analyze-fix-plot-with-bad-y-size.patch | 31 - 0003-arch-add-crisv32-to-uname-check.patch | 24 - ...-string-table-entries-for-mips-le-ar.patch | 52 - 0003-backlight-unify-error-messages.patch | 115 - ...ot-OK-to-return-1-from-a-main-progra.patch | 27 - ...chart-parse-userinput-with-safe_atoi.patch | 34 - ...-drop-service-from-the-result-string.patch | 25 - ...-put-the-cached-result-of-use_smack-.patch | 32 - 0003-core-allow-transient-mount-units.patch | 115 - ...sure-to-serialize-jobs-for-all-units.patch | 118 - ...der-failure-when-reading-drop-ins-fa.patch | 113 - ...ge-when-inotify-watches-are-exhauste.patch | 30 - ...lt-to-no-hash-when-keyfile-is-specif.patch | 28 - ...do-not-use-unicode-chars-in-C-locale.patch | 134 - ...abel-return-error-when-writing-fails.patch | 30 - ...fsck-implementation-linked-to-bin-tr.patch | 110 - ...-primary-model-string-in-subsystem-m.patch | 51583 ---------------- ...base-of-Bluetooth-company-identifier.patch | 38 - ...l-fix-invalid-free-in-unit_file_mask.patch | 30 - ..._MAC_OVERRIDE-in-journald-for-SMACK-.patch | 41 - ...Adjust-for-more-Samsung-900X4-series.patch | 29 - ...map-Annotate-all-micmute-workarounds.patch | 54 - 0003-keymap-Fix-HP-Pavillon-DV7.patch | 28 - ...onsider-an-unset-model-as-a-wildcard.patch | 39 - ...ing-org.freedesktop.login1.Seat.Swit.patch | 35 - ...d-switch-events-for-30s-after-each-s.patch | 174 - ...tion-XDG_CONFIG_HOME-in-systemd.unit.patch | 40 - ...-man-we-don-t-have-Wanted-dependency.patch | 29 - ...ions-before-other-arguments-to-mount.patch | 39 - ...ure-tmp-var-tmp-and-dev-are-writable.patch | 34 - ...-bus-check-return-value-of-vasprintf.patch | 35 - ...-assert_return-to-check-for-disconne.patch | 498 - ...operties-that-claim-to-be-both-writa.patch | 29 - ...call-epoll_ctl-on-mask-updates-if-ed.patch | 46 - ...rly-convert-object-size-on-big-endia.patch | 39 - ...void-prematurely-rejecting-missing-u.patch | 39 - ...-systemd-use-pager-for-test-and-help.patch | 111 - ...t-from-format_timestamp_relative-on-.patch | 25 - ...password-agent-return-negative-errno.patch | 29 - ...xplicitly-don-t-read-from-invalid-fd.patch | 27 - ...emd-tmpfiles-clean.service-after-tim.patch | 26 - ...useManualStart-from-units-which-are-.patch | 65 - ...de-mixed-for-systemd-nspawn-.service.patch | 26 - ...g-at-the-next-unichar-honour-the-siz.patch | 29 - ...ise-level-of-Found-dependency.-lines.patch | 42 - ...itecture-remove-cris-from-uname-list.patch | 27 - ...error-when-state-restore-is-disabled.patch | 33 - ...f-kernel-exposes-backlight-device-wi.patch | 40 - ...use-list-unit-files-to-get-all-units.patch | 39 - 0004-bootchart-check-return-of-strftime.patch | 63 - 0004-config-parser-fix-mem-leak.patch | 24 - ...rt-for-ERRNO-NOTIFY_SOCKET-message-p.patch | 67 - ...o-relabel-mounts-before-we-loaded-th.patch | 29 - ...tion-destructiveness-check-once-more.patch | 32 - ...the-rescue-argument-to-rescue.target.patch | 27 - ...-add-unit-dependency-on-dev-null-dev.patch | 53 - ...te-more-shell-characters-in-envfiles.patch | 54 - ...y-one-error-in-array-index-assertion.patch | 35 - ...C-network-interface-name-irdac-idrac.patch | 22 - ...rator-properly-escape-instance-names.patch | 39 - ...base-of-Bluetooth-company-identifier.patch | 50 - ...at-description-and-document-reloadin.patch | 60 - 0004-hwdb-update.patch | 3964 -- ...ement-a-union-to-pad-out-file_handle.patch | 117 - ...g-jobs-to-run-queue-in-unit_coldplug.patch | 30 - ...journal-do-server_vacuum-for-sigusr1.patch | 30 - ...ller-should-fail-if-prepare_vt-fails.patch | 134 - ...il-display-count-if-a-device-has-no-.patch | 45 - ...re-GetMachineAddresses-is-available-.patch | 38 - ...ument-missing-options-of-systemd-run.patch | 113 - ...-t-manage-to-properly-allocate-the-e.patch | 43 - ...vent-loop-terminates-explicitly-clos.patch | 27 - ...t-check-the-value-of-received-signal.patch | 46 - ...y-that-object-start-with-the-field-n.patch | 41 - ...ntial-double-free-crash-in-child-pro.patch | 38 - 0004-shared-conf-parser.patch | 31 - ...-don-t-clear-store_wtmp-in-utmp_put_.patch | 106 - ...handle-if-our-service-vanished-durin.patch | 30 - ...d-detect-virt-only-discover-Xen-domU.patch | 79 - ...-python-use-.hex-instead-of-.get_hex.patch | 46 - ...the-first-error-from-manager_startup.patch | 57 - ...e-should-not-allow-files-ending-with.patch | 28 - ...idering-UID-0xFFFF-and-0xFFFFFFFF-va.patch | 31 - ...var-run-with-run-in-remaining-places.patch | 89 - ...ght-Do-not-clamp-brightness-for-LEDs.patch | 60 - ...-saved-brightness-exceeding-max-brig.patch | 64 - ...-try-to-access-data-for-non-existing.patch | 29 - ...avoid-using-m-kdbus-after-freeing-it.patch | 35 - ...s-close-a-bus-that-failed-to-connect.patch | 28 - ...tate-behind-the-D-Bus-API-not-in-the.patch | 137 - ...e-kernel-s-timezone-when-the-RTC-run.patch | 121 - 0005-cryptsetup-fix-an-OOM-check.patch | 25 - ...base-of-Bluetooth-company-identifier.patch | 73 - 0005-hwdb-update.patch | 1560 - ...aiting-jobs-to-run-queue-during-cold.patch | 34 - ...urnalctl-correct-help-text-for-until.patch | 21 - 0005-login-fix-mem-leak.patch | 23 - 0005-logind-fix-policykit-checks.patch | 43 - 0005-logind-fix-typo.patch | 25 - ...switch-handling-from-logind-main-to-.patch | 119 - 0005-man-fix-path-in-crypttab-5.patch | 26 - ...n_by_handle_at-and-others-via-seccom.patch | 94 - 0005-po-add-Greek-translation.patch | 436 - ...daemon-fix-incorrect-variable-access.patch | 25 - ...-stricter-checking-of-random-boot-id.patch | 37 - ...llocation-if-query-ids-never-reuse-t.patch | 45 - ...cept-negative-ERRNO-notification-mes.patch | 25 - ...-label.h-add-missing-stdio.h-include.patch | 24 - 0005-systemd-python-fix-failing-assert.patch | 26 - ...emd-run-add-some-extra-safety-checks.patch | 34 - ...sd-journal-flush-after-sd-remount-fs.patch | 38 - 0005-util-avoid-double-close-of-fd.patch | 28 - ...-return-1-EINVAL-on-allocation-error.patch | 35 - ...k-to-var-run-at-a-couple-of-problems.patch | 60 - 0006-bus-unref-buscreds-on-failure.patch | 32 - 0006-calendarspec-fix-typo-in-annually.patch | 27 - ...base-of-Bluetooth-company-identifier.patch | 82 - 0006-hwdb-update.patch | 4392 -- ...hat-next-entry-is-after-previous-ent.patch | 70 - 0006-journald-fix-minor-memory-leak.patch | 24 - ...-the-kernel-s-quiet-cmdline-argument.patch | 29 - ...add-mir-to-the-list-of-session-types.patch | 90 - ...e-VT-signal-handler-between-sessions.patch | 246 - ...-the-ExecReload-command-should-be-sy.patch | 39 - ...-parse_boolean-require-exact-matches.patch | 48 - ...device-as-SYSTEMD_READY-0-if-no-file.patch | 30 - ...ization-perturbation-value-right-bef.patch | 75 - ...dian.h-add-missing-byteswap.h-includ.patch | 24 - ...temctl-fix-resource-leak-CID-1237747.patch | 35 - ...tatusErrno-value-in-systemctl-status.patch | 37 - ...o-automatic-cleanup-in-XDG_RUNTIME_D.patch | 26 - ...-agent-Do-tell-what-directory-we-fai.patch | 26 - ...t-that-var-run-must-be-a-symlink-run.patch | 30 - 0007-core-fix-a-potential-mem-leak.patch | 25 - ...ss-duplicate-and-misleading-messages.patch | 66 - ...uplicates-copy-full-BindMount-struct.patch | 31 - ...base-of-Bluetooth-company-identifier.patch | 49 - 0007-hwdb-update.patch | 1910 - ...get-file-after-encountering-an-error.patch | 74 - ...eck-journal-file-size-to-deduce-if-i.patch | 55 - ...crease-the-SendBuffer-of-dev-log-to-.patch | 23 - ...d-add-Plantronics-.Audio-mute-button.patch | 32 - ...warn-if-we-fail-to-request-SO_PASSCR.patch | 29 - ...fix-Display-property-of-user-objects.patch | 147 - ...x-cmdline-switch-inconsistency-betwe.patch | 41 - 0007-networkd-fix-typo.patch | 26 - 0007-po-add-German-translation.patch | 448 - ...ccidentally-turn-of-watchdog-timer-e.patch | 29 - ...atus-text-and-errno-values-each-time.patch | 29 - ...not-ignore-errors-in-symlink-removal.patch | 26 - ...skip-mounting-tmp-if-it-is-a-symlink.patch | 26 - ...Reset-signal-mask-on-re-exec-to-init.patch | 51 - ...-system_bus_socket-for-the-D-Bus-soc.patch | 51 - ...-unregister-PIDs-from-PID-hashtables.patch | 102 - ...-Actually-allow-for-succesfully-load.patch | 31 - ...base-of-Bluetooth-company-identifier.patch | 104 - 0008-hwdb-update.patch | 1425 - ...urnald-fix-memory-leak-on-error-path.patch | 29 - ...ep-modes-are-to-be-separated-by-whit.patch | 36 - ...-update-journald-rate-limit-defaults.patch | 28 - ...counting-of-early-mounts-without-SMA.patch | 32 - ...ess-invalid-memory-if-a-signal-match.patch | 27 - ...er-don-t-leak-memory-on-error-in-DEF.patch | 52 - ...ion-prevent-mangling-unit-names-bash.patch | 87 - ...ode-is-long-long-gone-don-t-mention-.patch | 53 - ...til-introduce-sethostname_idempotent.patch | 85 - ...n-the-user-types-a-overly-long-passw.patch | 33 - ...int_property-to-use-int-for-booleans.patch | 29 - ...an-up-signal-reset-logic-when-reexec.patch | 50 - ...base-of-Bluetooth-company-identifier.patch | 38 - 0009-hwdb-update.patch | 3363 - 0009-journal-do-not-leak-mmaps-on-OOM.patch | 50 - ...-by-one-error-in-Missed-X-kernel-mes.patch | 29 - ...add-syslog-facility-for-messages-com.patch | 40 - ...ence-to-systemd-user-sessions.servic.patch | 25 - ...-out-PropertiesChanged-message-if-ac.patch | 70 - ...format-container_uuid-in-UUID-format.patch | 56 - ...ke-if-somebody-sends-us-a-message-wi.patch | 47 - ...systemd-journald.service-Type-notify.patch | 27 - ...ste-error-and-actually-set-the-new-h.patch | 26 - ...base-of-Bluetooth-company-identifier.patch | 77 - ...-suspending-if-there-are-no-displays.patch | 42 - ...-t-kill-the-unit-when-killing-the-le.patch | 32 - 0010-man-update-link-to-LSB.patch | 35 - ...manager-use-correct-cleanup-function.patch | 30 - ...-PropertiesChanged-signals-for-mount.patch | 51 - ...l-unmounting-only-if-not-running-ins.patch | 27 - ...t-fuse.sshfs-as-a-network-filesystem.patch | 25 - ...d-pthread-flag-for-libsystemd-shared.patch | 28 - ...x-corrupt-output-with-empty-messages.patch | 41 - ...emd-bootchart-fix-spacing-in-command.patch | 28 - ...e-we-do-not-try-to-print-missing-fie.patch | 57 - ...o-logic-when-applied-relative-to-ser.patch | 93 - ...-avoid-misleading-error-message-when.patch | 42 - ...e-extra-arguments-with-verify-and-si.patch | 30 - ...ve-stray-reset-of-error-return-value.patch | 24 - 0012-man-add-missing-comma.patch | 26 - ...rint-anything-while-passwords-are-be.patch | 180 - ...-bit-more-NFS-compatible-when-checki.patch | 36 - ...systemd-timedate-udev-spelling-fixes.patch | 118 - ...scape-instance-name-in-systemd-backl.patch | 38 - 0014-journald-with-journaling-FS.patch | 100 +- ...ection-of-missing-proc-self-loginuid.patch | 31 - ...ripts-know-about-Required-and-Should.patch | 68 - ...pletion-smart-to-be-able-to-redirect.patch | 154 +- ...enable-by_path-links-for-ata-devices.patch | 21 +- 1003-udev-netlink-null-rules.patch | 12 +- ...fault-links-for-primary-cd_dvd-drive.patch | 14 +- 1006-udev-always-rename-network.patch | 48 +- 1008-add-msft-compability-rules.patch | 25 - 1009-cdrom_id-use-the-old-MMC-fallback.patch | 54 - ...ev-increase-result-size-for-programs.patch | 13 - 1014-udev-update-net_id-comments.patch | 102 - ...naming-we-cannot-use-virtio-numbers-.patch | 99 - ...name_to_handle_at-is-not-implemented.patch | 30 - ...ynchronize-block-device-event-handli.patch | 83 - ...-the-execution-of-RUN-when-renaming-.patch | 140 - ...-udev-avoid-use-of-uninitialized-err.patch | 37 - ...eyboard-also-hook-into-change-events.patch | 27 - 1021-udev-re-add-persistent-net-rules.patch | 343 +- ...um-API-and-all-assumptions-about-seq.patch | 1445 - ...board-do-tell-on-which-device-EVIOCS.patch | 31 - ...ev-always-close-lock-file-descriptor.patch | 41 - ...ice-mapper-from-block-device-ownersh.patch | 39 - 1026-udevd-inotify-modernizations.patch | 85 - ...change-events-for-partitions-when-to.patch | 84 - 1028-udev-link-config-fix-mem-leak.patch | 34 - ...first-re-reading-the-partition-table.patch | 94 - ...guard-REREADP-logic-with-open-O_ECXL.patch | 23 - ...re-we-always-get-change-for-the-disk.patch | 98 - ...DPT-by-exclusive-lock-instead-of-O_E.patch | 29 - ...lude-device-mapper-from-block-device.patch | 39 - ...eturn-value-from-udev_enumerate_scan.patch | 26 - ...x-invalid-free-in-enable_name_policy.patch | 30 - ...le-fixed-return-code-for-empty-queue.patch | 34 - ...-udev_queue_get_queue_is_empty-logic.patch | 25 - ...ovide-file-descriptor-to-watch-busy-.patch | 248 - ...tch-entire-directory-to-allow-the-re.patch | 40 - 1044-rules-update-qemu-hid-rules.patch | 45 - ...-t-enable-usb-pm-for-Avocent-devices.patch | 29 - ...ink-builtin-should-print-the-reason-.patch | 61 - ...et_setup_link-add-a-bit-more-logging.patch | 39 - ...-ignore-errors-due-to-missing-MAC-ad.patch | 36 - ...-rules-uaccess-add-ID_SOFTWARE_RADIO.patch | 45 - ...from-block-device-ownership-event-lo.patch | 53 - ...add-event-timeout-commandline-option.patch | 119 - 1057-udev-unify-event-timeout-handling.patch | 504 - 1058-udev-unify-event-timeout-handling.patch | 504 - ...t-dd5eddd28a74a49607a8fffcaf960040db.patch | 26 - ...emd-to-manage-loop-device-partitions.patch | 32 - ...press-ID_PATH-for-devices-with-an-un.patch | 96 - ...db-do-not-look-at-usb_device-parents.patch | 63 - ...dev-bump-event-timeout-to-60-seconds.patch | 39 - ...lity-links-for-truncated-by-id-links.patch | 64 +- ...lve-correctly-database-names-on-chan.patch | 53 - ...ink-export-the-.link-filename-applie.patch | 26 - ...link-preserve-ID_NET_LINK_FILE-and-I.patch | 27 - ...et-setup-link-remove-stray-linebreak.patch | 27 - ...full-db-on-MOVE-events-for-devices-w.patch | 54 - ...-udev-netif_rename-don-t-log-to-kmsg.patch | 39 - 1073-udev-drop-print_kmsg.patch | 75 - ...-fix-copy-paste-error-in-log-message.patch | 25 - 1075-udev-timeout-increase-timeout.patch | 28 - ...n-after-a-third-of-the-timeout-befor.patch | 350 - ...n-after-a-third-of-the-timeout-befor.patch | 350 - ...e-userspace-firmware-loading-support.patch | 349 - ...e-userspace-firmware-loading-support.patch | 349 - ...se_argv-warn-if-argumens-are-invalid.patch | 73 - ...vd-check-return-of-various-functions.patch | 55 - ...dm-hwdb-check-return-value-of-fseeko.patch | 45 - ...-udev-node-warn-if-chmod-chown-fails.patch | 34 - ...trl-log-if-setting-SO_PASSCRED-fails.patch | 45 - 1085-udev-fix-typos.patch | 33 - ...-udevd-don-t-fail-if-run-udev-exists.patch | 25 - ...init-timeout-for-kmod-loaded-modules.patch | 135 - 1089-fix-cgroup-device-controller.patch | 74 - ...-supported_parent-for-well-known-SCS.patch | 58 - 1091-udev-path_id-update-comments.patch | 42 - ...dev-do-not-accept-invalid-log-levels.patch | 67 - ...-of-udev.event-timeout-kernel-parame.patch | 23 - ...-constants-in-kernel-cmdline-parsers.patch | 58 - ...t-ssd-disk-to-use-deadline-scheduler.patch | 21 +- 1096-new-udev-root-symlink-generator.patch | 105 +- ...-increase-maximum-number-of-children.patch | 26 +- ...up-respect-kernel-name-assign-policy.patch | 154 - 513-nspawn-veth.patch | 39 - ...es-permissions-to-follow-openSUSE-po.patch | 15 +- ...-suspend-hibernate-calls-to-pm-utils.patch | 49 +- ...pport-for-SysV-scripts-for-the-early.patch | 140 - ...alid-address-familily-is-passed-to-g.patch | 24 - avoid-leaking-socket-descriptors.patch | 339 - boot.udev | 74 - ...le-nss-myhostname-warning-bnc-783841.patch | 18 - ...rtname-is-set-as-hostname-bnc-820213.patch | 17 +- fix-owner-of-var-log-btmp.patch | 20 - ...-boot-prefixed-initscript-bnc-746506.patch | 26 +- ...STEMCTL_OPTIONS-environment-variable.patch | 42 - ...plock-and-compose_table-and-kbd_rate.patch | 95 +- handle-etc-HOSTNAME.patch | 77 - ...lock-value-in-etc-sysconfig-keyboard.patch | 209 +- ...lang-value-in-etc-sysconfig-language.patch | 20 +- insserv-generator.patch | 52 +- journald-advice-about-use-of-memory.patch | 146 +- kbd-model-map.patch | 15 +- ...linker-find-libudev-for-libdevmapper.patch | 40 +- localfs.service | 8 - log-target-null-instead-kmsg.patch | 116 - macros.systemd.upstream | 51 +- ....service-conflict-with-syslog.socket.patch | 19 +- ...USE-etc-sysconfig-kernel-module-list.patch | 64 - ...lly-warn-if-nss-myhostname-is-called.patch | 102 - parse-crypttab-for-noauto-option.patch | 47 +- ...-quit-and-wait-for-emergency-service.patch | 52 +- prepare-suspend-to-disk.patch | 28 - ...script-heuristic-and-add-new-LSB-hea.patch | 91 - respect-nfs-bg-option.patch | 31 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 30 +- ...vice-with-detected-pid-as-RemainAfte.patch | 31 - set-and-use-default-logconsole.patch | 47 +- ...ng-assertion-monotonic-clock-message.patch | 38 - shut-up-rpmlint-on-var-log-journal.patch | 14 +- suse-sysv-bootd-support.diff | 86 + ...ndle-boot-sysctl.conf-kernel_release.patch | 28 +- systemctl-set-default-target.patch | 20 +- systemd-210.tar.xz | 3 - systemd-219.tar.xz | 3 + systemd-add-user-keep.patch | 129 +- systemd-dbus-system-bus-address.patch | 39 +- systemd-journald.init | 33 - systemd-mini-rpmlintrc | 2 + systemd-mini.changes | 566 + systemd-mini.spec | 1730 +- systemd-pam_config.patch | 28 +- systemd-powerd-initctl-support.patch | 16 +- systemd-rpmlintrc | 2 + systemd-sleep-grub | 204 - systemd-tmp-safe-defaults.patch | 16 +- systemd.changes | 566 + systemd.spec | 1730 +- ...or-openSUSE-version-of-etc-sysconfig.patch | 24 - ...s-do-not-clean-for-mandb-index-files.patch | 22 - tty-ask-password-agent-on-console.patch | 334 +- ...addentropy-ioctl-to-load-random-seed.patch | 30 +- ...r-sbin-sulogin-for-emergency-service.patch | 44 - vhangup-on-all-consoles.patch | 24 +- watch_resolv.conf_for_become_changed.patch | 52 +- 517 files changed, 3871 insertions(+), 110760 deletions(-) delete mode 100644 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch delete mode 100644 0001-Do-not-unescape-unit-names-in-Install-section.patch delete mode 100644 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch delete mode 100644 0001-Fix-systemd-stdio-bridge-symlink.patch delete mode 100644 0001-Fix-warning-about-unused-variable-with-SELINUX.patch delete mode 100644 0001-activate-fix-fd-leak-in-do_accept.patch delete mode 100644 0001-architecture-Add-tilegx.patch delete mode 100644 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch delete mode 100644 0001-bash-completion-fix-__get_startable_units.patch delete mode 100644 0001-bash-completion-p-option-for-journalctl.patch delete mode 100644 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch delete mode 100644 0001-bus-proxyd-fix-incorrect-comparison.patch delete mode 100644 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch delete mode 100644 0001-completion-filter-templates-from-restartable-units.patch delete mode 100644 0001-conf-parser-silently-ignore-sections-starting-with-X.patch delete mode 100644 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch delete mode 100644 0001-core-close-socket-fds-asynchronously.patch delete mode 100644 0001-core-don-t-allow-enabling-if-unit-is-masked.patch delete mode 100644 0001-core-fix-invalid-free-in-killall.patch delete mode 100644 0001-core-fix-resource-leak-in-manager_environment_add.patch create mode 100644 0001-core-rework-device-state-logic.patch delete mode 100644 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch delete mode 100644 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch delete mode 100644 0001-core-use-correct-format-string-for-UIDs.patch delete mode 100644 0001-detect-virt-Fix-Xen-domU-discovery.patch delete mode 100644 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch delete mode 100644 0001-event-pull-in-sd-event.h-from-event-util.h.patch delete mode 100644 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch delete mode 100644 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0001-hwdb-fix-case-sensitive-match.patch delete mode 100644 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch delete mode 100644 0001-hwdb-update.patch delete mode 100644 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch delete mode 100644 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch delete mode 100644 0001-journal-cleanup-up-error-handling-in-update_catalog.patch delete mode 100644 0001-journal-compress-return-early-in-uncompress_startswi.patch delete mode 100644 0001-journal-fix-export-of-messages-containing-newlines.patch delete mode 100644 0001-journalctl-do-not-output-reboot-markers-when-running.patch delete mode 100644 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch delete mode 100644 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch delete mode 100644 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch delete mode 100644 0001-login-fix-memory-leak-on-DropController.patch delete mode 100644 0001-login-fix-pos-array-allocation.patch delete mode 100644 0001-login-pause-devices-before-acknowledging-VT-switches.patch delete mode 100644 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch delete mode 100644 0001-login-simplify-controller-handling.patch delete mode 100644 0001-logind-add-support-for-Triton2-Power-Button.patch delete mode 100644 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch delete mode 100644 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch delete mode 100644 0001-machine-don-t-return-uninitialized-variable.patch delete mode 100644 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch delete mode 100644 0001-make-209-working-on-older-dist.patch delete mode 100644 0001-make-fortify-happy-with-ppoll.patch delete mode 100644 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch delete mode 100644 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch delete mode 100644 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch delete mode 100644 0001-nspawn-fix-network-interface.patch delete mode 100644 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch delete mode 100644 0001-parse_uid-return-ENXIO-for-1-uids.patch delete mode 100644 0001-po-add-Ukrainian-translation.patch delete mode 100644 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch delete mode 100644 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch delete mode 100644 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch delete mode 100644 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch delete mode 100644 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch delete mode 100644 0001-sd-event-restore-correct-timeout-behaviour.patch delete mode 100644 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch delete mode 100644 0001-selinux-access-fix-broken-ternary-operator.patch delete mode 100644 0001-shell-completion-fix-completion-of-inactive-units.patch delete mode 100644 0001-shutdownd-clean-up-initialization-of-struct.patch delete mode 100644 0001-socket-introduce-SELinuxContextFromNet-option.patch delete mode 100644 0001-strv-add-an-additional-overflow-check-when-enlarging.patch delete mode 100644 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch delete mode 100644 0001-systemctl-allow-to-change-the-default-target-without.patch delete mode 100644 0001-systemctl-let-list-units-unit-files-honour-type.patch delete mode 100644 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch delete mode 100644 0001-systemd-continue-switch-root-even-if-umount-fails.patch delete mode 100644 0001-systemd-detect-virt-detect-s390-virtualization.patch delete mode 100644 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch delete mode 100644 0001-sysv-order-initscripts-which-provide-network-before-.patch delete mode 100644 0001-tmpfiles-compare-return-against-correct-errno.patch delete mode 100644 0001-tmpfiles-fix-permissions-on-new-journal-files.patch delete mode 100644 0001-umount-modernizations.patch delete mode 100644 0001-units-introduce-network-pre.target-as-place-to-hook-.patch delete mode 100644 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch delete mode 100644 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch delete mode 100644 0001-units-order-network-online.target-after-network.targ.patch delete mode 100644 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch delete mode 100644 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch delete mode 100644 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch delete mode 100644 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch delete mode 100644 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch delete mode 100644 0001-virt-rework-container-detection-logic.patch delete mode 100644 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch delete mode 100644 0002-Be-more-verbose-when-bind-or-listen-fails.patch delete mode 100644 0002-analyze-avoid-a-null-dereference.patch delete mode 100644 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch delete mode 100644 0002-architecture-Add-cris.patch delete mode 100644 0002-backlight-do-nothing-if-max_brightness-is-0.patch delete mode 100644 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch delete mode 100644 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch delete mode 100644 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch delete mode 100644 0002-bus-remove-unused-check.patch delete mode 100644 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch delete mode 100644 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch delete mode 100644 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch delete mode 100644 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch delete mode 100644 0002-fsck-include-device-name-in-the-message-about-missin.patch delete mode 100644 0002-hostnamed-add-a-new-chassis-type-for-watches.patch delete mode 100644 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch delete mode 100644 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0002-hwdb-update.patch delete mode 100644 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch delete mode 100644 0002-journal-compress-improve-xz-compression-performance.patch delete mode 100644 0002-journal-properly-detect-language-specified-in-line.patch delete mode 100644 0002-journalctl-man-allow-only-between-terms.patch delete mode 100644 0002-journald-make-MaxFileSec-really-default-to-1month.patch delete mode 100644 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch delete mode 100644 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch delete mode 100644 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch delete mode 100644 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch delete mode 100644 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch delete mode 100644 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch delete mode 100644 0002-logind-add-support-for-TPS65217-Power-Button.patch delete mode 100644 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch delete mode 100644 0002-logind-fix-printf-format.patch delete mode 100644 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch delete mode 100644 0002-man-document-yearly-and-annually-in-systemd.time-7.patch delete mode 100644 0002-man-note-that-entire-sections-can-now-be-ignored.patch delete mode 100644 0002-man-tmpfiles.d-recommend-using-b-and-c.patch delete mode 100644 0002-manager-flush-memory-stream-before-using-the-buffer.patch delete mode 100644 0002-namespace-fix-uninitialized-memory-access.patch delete mode 100644 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch delete mode 100644 0002-nspawn-restore-journal-directory-is-empty-check.patch delete mode 100644 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch delete mode 100644 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch delete mode 100644 0002-shell-completion-prevent-mangling-unit-names.patch delete mode 100644 0002-shell-completion-propose-templates-for-disable-re-en.patch delete mode 100644 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch delete mode 100644 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch delete mode 100644 0002-snapshot-return-error-when-snapshot-exists.patch delete mode 100644 0002-switch-root-umount-the-old-root-correctly.patch delete mode 100644 0002-sysctl-replaces-some-slashes-with-dots.patch delete mode 100644 0002-systemctl-obey-state-in-list-unit-files.patch delete mode 100644 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch delete mode 100644 0002-systemctl-update-NAME-to-PATTERN-in-help.patch delete mode 100644 0002-systemd-fix-error-message.patch delete mode 100644 0002-systemd-try-harder-to-bind-to-notify-socket.patch delete mode 100644 0002-time-also-support-infinity-syntax-in-parse_nsec.patch delete mode 100644 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch delete mode 100644 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch delete mode 100644 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch delete mode 100644 0002-units-serial-getty-.service-use-the-default-RestartS.patch delete mode 100644 0002-util-avoid-non-portable-__WORDSIZE.patch delete mode 100644 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch delete mode 100644 0002-util-fix-has-cc-check-and-add-test.patch delete mode 100644 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch delete mode 100644 0002-util-remove-a-unnecessary-check.patch delete mode 100644 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch delete mode 100644 0002-vconsole-setup-run-setfont-before-loadkeys.patch delete mode 100644 0003-Add-quotes-to-warning-message.patch delete mode 100644 0003-Always-check-asprintf-return-code.patch delete mode 100644 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch delete mode 100644 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch delete mode 100644 0003-analyze-fix-mem-leak.patch delete mode 100644 0003-analyze-fix-plot-with-bad-y-size.patch delete mode 100644 0003-arch-add-crisv32-to-uname-check.patch delete mode 100644 0003-architecture-add-string-table-entries-for-mips-le-ar.patch delete mode 100644 0003-backlight-unify-error-messages.patch delete mode 100644 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch delete mode 100644 0003-bootchart-parse-userinput-with-safe_atoi.patch delete mode 100644 0003-busname-don-t-drop-service-from-the-result-string.patch delete mode 100644 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch delete mode 100644 0003-core-allow-transient-mount-units.patch delete mode 100644 0003-core-make-sure-to-serialize-jobs-for-all-units.patch delete mode 100644 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch delete mode 100644 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch delete mode 100644 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch delete mode 100644 0003-delta-do-not-use-unicode-chars-in-C-locale.patch delete mode 100644 0003-fileio-label-return-error-when-writing-fails.patch delete mode 100644 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch delete mode 100644 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch delete mode 100644 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0003-install-fix-invalid-free-in-unit_file_mask.patch delete mode 100644 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch delete mode 100644 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch delete mode 100644 0003-keymap-Annotate-all-micmute-workarounds.patch delete mode 100644 0003-keymap-Fix-HP-Pavillon-DV7.patch delete mode 100644 0003-localed-consider-an-unset-model-as-a-wildcard.patch delete mode 100644 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch delete mode 100644 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch delete mode 100644 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch delete mode 100644 0003-man-we-don-t-have-Wanted-dependency.patch delete mode 100644 0003-mount-order-options-before-other-arguments-to-mount.patch delete mode 100644 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch delete mode 100644 0003-sd-bus-check-return-value-of-vasprintf.patch delete mode 100644 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch delete mode 100644 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch delete mode 100644 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch delete mode 100644 0003-sd-journal-properly-convert-object-size-on-big-endia.patch delete mode 100644 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch delete mode 100644 0003-systemd-use-pager-for-test-and-help.patch delete mode 100644 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch delete mode 100644 0003-tty-ask-password-agent-return-negative-errno.patch delete mode 100644 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch delete mode 100644 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch delete mode 100644 0003-units-remove-RefuseManualStart-from-units-which-are-.patch delete mode 100644 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch delete mode 100644 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch delete mode 100644 0004-Raise-level-of-Found-dependency.-lines.patch delete mode 100644 0004-architecture-remove-cris-from-uname-list.patch delete mode 100644 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch delete mode 100644 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch delete mode 100644 0004-bash-completion-use-list-unit-files-to-get-all-units.patch delete mode 100644 0004-bootchart-check-return-of-strftime.patch delete mode 100644 0004-config-parser-fix-mem-leak.patch delete mode 100644 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch delete mode 100644 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch delete mode 100644 0004-core-fix-transaction-destructiveness-check-once-more.patch delete mode 100644 0004-core-map-the-rescue-argument-to-rescue.target.patch delete mode 100644 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch delete mode 100644 0004-fileio-quote-more-shell-characters-in-envfiles.patch delete mode 100644 0004-fix-off-by-one-error-in-array-index-assertion.patch delete mode 100644 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch delete mode 100644 0004-getty-generator-properly-escape-instance-names.patch delete mode 100644 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0004-hwdb-update-format-description-and-document-reloadin.patch delete mode 100644 0004-hwdb-update.patch delete mode 100644 0004-implement-a-union-to-pad-out-file_handle.patch delete mode 100644 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch delete mode 100644 0004-journal-do-server_vacuum-for-sigusr1.patch delete mode 100644 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch delete mode 100644 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch delete mode 100644 0004-machined-make-sure-GetMachineAddresses-is-available-.patch delete mode 100644 0004-man-document-missing-options-of-systemd-run.patch delete mode 100644 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch delete mode 100644 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch delete mode 100644 0004-sd-event-check-the-value-of-received-signal.patch delete mode 100644 0004-sd-journal-verify-that-object-start-with-the-field-n.patch delete mode 100644 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch delete mode 100644 0004-shared-conf-parser.patch delete mode 100644 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch delete mode 100644 0004-socket-properly-handle-if-our-service-vanished-durin.patch delete mode 100644 0004-systemd-detect-virt-only-discover-Xen-domU.patch delete mode 100644 0004-systemd-python-use-.hex-instead-of-.get_hex.patch delete mode 100644 0004-systemd-return-the-first-error-from-manager_startup.patch delete mode 100644 0004-util-ignore_file-should-not-allow-files-ending-with.patch delete mode 100644 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch delete mode 100644 0005-Replace-var-run-with-run-in-remaining-places.patch delete mode 100644 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch delete mode 100644 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch delete mode 100644 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch delete mode 100644 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch delete mode 100644 0005-bus-close-a-bus-that-failed-to-connect.patch delete mode 100644 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch delete mode 100644 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch delete mode 100644 0005-cryptsetup-fix-an-OOM-check.patch delete mode 100644 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0005-hwdb-update.patch delete mode 100644 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch delete mode 100644 0005-journalctl-correct-help-text-for-until.patch delete mode 100644 0005-login-fix-mem-leak.patch delete mode 100644 0005-logind-fix-policykit-checks.patch delete mode 100644 0005-logind-fix-typo.patch delete mode 100644 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch delete mode 100644 0005-man-fix-path-in-crypttab-5.patch delete mode 100644 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch delete mode 100644 0005-po-add-Greek-translation.patch delete mode 100644 0005-sd-daemon-fix-incorrect-variable-access.patch delete mode 100644 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch delete mode 100644 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch delete mode 100644 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch delete mode 100644 0005-shared-label.h-add-missing-stdio.h-include.patch delete mode 100644 0005-systemd-python-fix-failing-assert.patch delete mode 100644 0005-systemd-run-add-some-extra-safety-checks.patch delete mode 100644 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch delete mode 100644 0005-util-avoid-double-close-of-fd.patch delete mode 100644 0006-Do-not-return-1-EINVAL-on-allocation-error.patch delete mode 100644 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch delete mode 100644 0006-bus-unref-buscreds-on-failure.patch delete mode 100644 0006-calendarspec-fix-typo-in-annually.patch delete mode 100644 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0006-hwdb-update.patch delete mode 100644 0006-journal-assume-that-next-entry-is-after-previous-ent.patch delete mode 100644 0006-journald-fix-minor-memory-leak.patch delete mode 100644 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch delete mode 100644 0006-login-add-mir-to-the-list-of-session-types.patch delete mode 100644 0006-login-share-VT-signal-handler-between-sessions.patch delete mode 100644 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch delete mode 100644 0006-parse_boolean-require-exact-matches.patch delete mode 100644 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch delete mode 100644 0006-sd-event-initialization-perturbation-value-right-bef.patch delete mode 100644 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch delete mode 100644 0006-systemctl-fix-resource-leak-CID-1237747.patch delete mode 100644 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch delete mode 100644 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch delete mode 100644 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch delete mode 100644 0007-README-document-that-var-run-must-be-a-symlink-run.patch delete mode 100644 0007-core-fix-a-potential-mem-leak.patch delete mode 100644 0007-dbus-suppress-duplicate-and-misleading-messages.patch delete mode 100644 0007-drop_duplicates-copy-full-BindMount-struct.patch delete mode 100644 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0007-hwdb-update.patch delete mode 100644 0007-journal-forget-file-after-encountering-an-error.patch delete mode 100644 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch delete mode 100644 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch delete mode 100644 0007-keyboard-add-Plantronics-.Audio-mute-button.patch delete mode 100644 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch delete mode 100644 0007-logind-fix-Display-property-of-user-objects.patch delete mode 100644 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch delete mode 100644 0007-networkd-fix-typo.patch delete mode 100644 0007-po-add-German-translation.patch delete mode 100644 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch delete mode 100644 0007-service-flush-status-text-and-errno-values-each-time.patch delete mode 100644 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch delete mode 100644 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch delete mode 100644 0008-Reset-signal-mask-on-re-exec-to-init.patch delete mode 100644 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch delete mode 100644 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch delete mode 100644 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch delete mode 100644 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0008-hwdb-update.patch delete mode 100644 0008-journald-fix-memory-leak-on-error-path.patch delete mode 100644 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch delete mode 100644 0008-man-update-journald-rate-limit-defaults.patch delete mode 100644 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch delete mode 100644 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch delete mode 100644 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch delete mode 100644 0008-shell-completion-prevent-mangling-unit-names-bash.patch delete mode 100644 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch delete mode 100644 0008-util-introduce-sethostname_idempotent.patch delete mode 100644 0009-ask-password-when-the-user-types-a-overly-long-passw.patch delete mode 100644 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch delete mode 100644 0009-core-clean-up-signal-reset-logic-when-reexec.patch delete mode 100644 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0009-hwdb-update.patch delete mode 100644 0009-journal-do-not-leak-mmaps-on-OOM.patch delete mode 100644 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch delete mode 100644 0009-journald-always-add-syslog-facility-for-messages-com.patch delete mode 100644 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch delete mode 100644 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch delete mode 100644 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch delete mode 100644 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch delete mode 100644 0009-units-make-systemd-journald.service-Type-notify.patch delete mode 100644 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch delete mode 100644 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch delete mode 100644 0010-logind-allow-suspending-if-there-are-no-displays.patch delete mode 100644 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch delete mode 100644 0010-man-update-link-to-LSB.patch delete mode 100644 0010-manager-use-correct-cleanup-function.patch delete mode 100644 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch delete mode 100644 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch delete mode 100644 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch delete mode 100644 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch delete mode 100644 0011-logs-show-fix-corrupt-output-with-empty-messages.patch delete mode 100644 0011-man-systemd-bootchart-fix-spacing-in-command.patch delete mode 100644 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch delete mode 100644 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch delete mode 100644 0012-core-transaction-avoid-misleading-error-message-when.patch delete mode 100644 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch delete mode 100644 0012-journald-remove-stray-reset-of-error-return-value.patch delete mode 100644 0012-man-add-missing-comma.patch delete mode 100644 0012-manager-do-not-print-anything-while-passwords-are-be.patch delete mode 100644 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch delete mode 100644 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch delete mode 100644 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch delete mode 100644 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch delete mode 100644 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch delete mode 100644 1008-add-msft-compability-rules.patch delete mode 100644 1009-cdrom_id-use-the-old-MMC-fallback.patch delete mode 100644 1010-udev-increase-result-size-for-programs.patch delete mode 100644 1014-udev-update-net_id-comments.patch delete mode 100644 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch delete mode 100644 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch delete mode 100644 1017-udev-serialize-synchronize-block-device-event-handli.patch delete mode 100644 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch delete mode 100644 1019-udev-avoid-use-of-uninitialized-err.patch delete mode 100644 1020-udev-keyboard-also-hook-into-change-events.patch delete mode 100644 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch delete mode 100644 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch delete mode 100644 1024-udev-always-close-lock-file-descriptor.patch delete mode 100644 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch delete mode 100644 1026-udevd-inotify-modernizations.patch delete mode 100644 1027-udev-synthesize-change-events-for-partitions-when-to.patch delete mode 100644 1028-udev-link-config-fix-mem-leak.patch delete mode 100644 1029-udev-try-first-re-reading-the-partition-table.patch delete mode 100644 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch delete mode 100644 1031-udev-make-sure-we-always-get-change-for-the-disk.patch delete mode 100644 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch delete mode 100644 1033-udev-really-exclude-device-mapper-from-block-device.patch delete mode 100644 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch delete mode 100644 1038-udev-fix-invalid-free-in-enable_name_policy.patch delete mode 100644 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch delete mode 100644 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch delete mode 100644 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch delete mode 100644 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch delete mode 100644 1044-rules-update-qemu-hid-rules.patch delete mode 100644 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch delete mode 100644 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch delete mode 100644 1048-udev-net_setup_link-add-a-bit-more-logging.patch delete mode 100644 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch delete mode 100644 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch delete mode 100644 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch delete mode 100644 1056-udevd-add-event-timeout-commandline-option.patch delete mode 100644 1057-udev-unify-event-timeout-handling.patch delete mode 100644 1058-udev-unify-event-timeout-handling.patch delete mode 100644 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch delete mode 100644 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch delete mode 100644 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch delete mode 100644 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch delete mode 100644 1065-udev-bump-event-timeout-to-60-seconds.patch delete mode 100644 1067-udev-always-resolve-correctly-database-names-on-chan.patch delete mode 100644 1068-udev-net_setup_link-export-the-.link-filename-applie.patch delete mode 100644 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch delete mode 100644 1070-rules-net-setup-link-remove-stray-linebreak.patch delete mode 100644 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch delete mode 100644 1072-udev-netif_rename-don-t-log-to-kmsg.patch delete mode 100644 1073-udev-drop-print_kmsg.patch delete mode 100644 1074-udev-fix-copy-paste-error-in-log-message.patch delete mode 100644 1075-udev-timeout-increase-timeout.patch delete mode 100644 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch delete mode 100644 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch delete mode 100644 1078-udev-remove-userspace-firmware-loading-support.patch delete mode 100644 1079-udev-remove-userspace-firmware-loading-support.patch delete mode 100644 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch delete mode 100644 1081-udevd-check-return-of-various-functions.patch delete mode 100644 1082-udevadm-hwdb-check-return-value-of-fseeko.patch delete mode 100644 1083-udev-node-warn-if-chmod-chown-fails.patch delete mode 100644 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch delete mode 100644 1085-udev-fix-typos.patch delete mode 100644 1086-udevd-don-t-fail-if-run-udev-exists.patch delete mode 100644 1087-infinit-timeout-for-kmod-loaded-modules.patch delete mode 100644 1089-fix-cgroup-device-controller.patch delete mode 100644 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch delete mode 100644 1091-udev-path_id-update-comments.patch delete mode 100644 1092-libudev-do-not-accept-invalid-log-levels.patch delete mode 100644 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch delete mode 100644 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch delete mode 100644 1098-udev-link_setup-respect-kernel-name-assign-policy.patch delete mode 100644 513-nspawn-veth.patch delete mode 100644 Revert-service-drop-support-for-SysV-scripts-for-the-early.patch delete mode 100644 avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch delete mode 100644 avoid-leaking-socket-descriptors.patch delete mode 100644 boot.udev delete mode 100644 disable-nss-myhostname-warning-bnc-783841.patch delete mode 100644 fix-owner-of-var-log-btmp.patch delete mode 100644 handle-SYSTEMCTL_OPTIONS-environment-variable.patch delete mode 100644 handle-etc-HOSTNAME.patch delete mode 100644 localfs.service delete mode 100644 log-target-null-instead-kmsg.patch delete mode 100644 module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch delete mode 100644 optionally-warn-if-nss-myhostname-is-called.patch delete mode 100644 prepare-suspend-to-disk.patch delete mode 100644 remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch delete mode 100644 service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch delete mode 100644 shut-up-annoying-assertion-monotonic-clock-message.patch create mode 100644 suse-sysv-bootd-support.diff delete mode 100644 systemd-210.tar.xz create mode 100644 systemd-219.tar.xz delete mode 100644 systemd-journald.init delete mode 100644 systemd-sleep-grub delete mode 100644 timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch delete mode 100644 tmpfiles-do-not-clean-for-mandb-index-files.patch delete mode 100644 use-usr-sbin-sulogin-for-emergency-service.patch diff --git a/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch b/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch deleted file mode 100644 index 53ccbcf5..00000000 --- a/0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch +++ /dev/null @@ -1,110 +0,0 @@ -Based on 874bc134ac6504c45e94174e37af13ff21a6bfe2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 14 Jul 2014 16:53:23 -0400 -Subject: [PATCH] Clear up confusion wrt. ENTRY_SIZE_MAX and DATA_SIZE_MAX - -Define DATA_SIZE_MAX to mean the maximum size of a single -field, and ENTRY_SIZE_MAX to mean the size of the whole -entry, with some rough calculation of overhead over the payload. - -Check if entries are not too big when processing native journal -messages. ---- - src/journal/coredump.c | 6 +++--- - src/journal/journald-native.c | 25 +++++++++++++++++++++---- - 2 files changed, 24 insertions(+), 7 deletions(-) ---- src/journal/coredump.c -+++ src/journal/coredump.c 2014-07-16 13:02:54.438235659 +0000 -@@ -38,10 +38,10 @@ - #include "cgroup-util.h" - - /* Few programs have less than 3MiB resident */ --#define COREDUMP_MIN_START (3*1024*1024) -+#define COREDUMP_MIN_START (3*1024*1024u) - /* Make sure to not make this larger than the maximum journal entry -- * size. See ENTRY_SIZE_MAX in journald-native.c. */ --#define COREDUMP_MAX (767*1024*1024) -+ * size. See DATA_SIZE_MAX in journald-native.c. */ -+#define COREDUMP_MAX (1024*1024*767u) - - enum { - ARG_PID = 1, ---- src/journal/journald-native.c -+++ src/journal/journald-native.c 2014-07-16 12:50:45.000000000 +0000 -@@ -34,8 +34,8 @@ - - /* Make sure not to make this smaller than the maximum coredump - * size. See COREDUMP_MAX in coredump.c */ --#define ENTRY_SIZE_MAX (1024*1024*768) --#define DATA_SIZE_MAX (1024*1024*768) -+#define ENTRY_SIZE_MAX (1024*1024*770u) -+#define DATA_SIZE_MAX (1024*1024*768u) - - static bool valid_user_field(const char *p, size_t l) { - const char *a; -@@ -86,7 +86,7 @@ void server_process_native_message( - struct iovec *iovec = NULL; - unsigned n = 0, j, tn = (unsigned) -1; - const char *p; -- size_t remaining, m = 0; -+ size_t remaining, m = 0, entry_size = 0; - int priority = LOG_INFO; - char *identifier = NULL, *message = NULL; - pid_t object_pid = 0; -@@ -110,9 +110,17 @@ void server_process_native_message( - - if (e == p) { - /* Entry separator */ -+ -+ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ -+ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", -+ n, entry_size); -+ continue; -+ } -+ - server_dispatch_message(s, iovec, n, m, ucred, tv, label, label_len, NULL, priority, object_pid); - n = 0; - priority = LOG_INFO; -+ entry_size = 0; - - p++; - remaining--; -@@ -150,6 +158,7 @@ void server_process_native_message( - iovec[n].iov_base = (char*) p; - iovec[n].iov_len = l; - n++; -+ entry_size += iovec[n].iov_len; - - /* We need to determine the priority - * of this entry for the rate limiting -@@ -218,7 +227,7 @@ void server_process_native_message( - l = le64toh(l_le); - - if (l > DATA_SIZE_MAX) { -- log_debug("Received binary data block too large, ignoring."); -+ log_debug("Received binary data block of %zu bytes is too large, ignoring.", l); - break; - } - -@@ -242,6 +251,7 @@ void server_process_native_message( - iovec[n].iov_base = k; - iovec[n].iov_len = (e - p) + 1 + l; - n++; -+ entry_size += iovec[n].iov_len; - } else - free(k); - -@@ -255,6 +265,13 @@ void server_process_native_message( - - tn = n++; - IOVEC_SET_STRING(iovec[tn], "_TRANSPORT=journal"); -+ entry_size += strlen("_TRANSPORT=journal"); -+ -+ if (entry_size + n + 1 > ENTRY_SIZE_MAX) { /* data + separators + trailer */ -+ log_debug("Entry is too big with %u properties and %zu bytes, ignoring.", -+ n, entry_size); -+ goto finish; -+ } - - if (message) { - if (s->forward_to_syslog) diff --git a/0001-Do-not-unescape-unit-names-in-Install-section.patch b/0001-Do-not-unescape-unit-names-in-Install-section.patch deleted file mode 100644 index 18e4aaa1..00000000 --- a/0001-Do-not-unescape-unit-names-in-Install-section.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on 000f6e5667eb4f73e137cbd0d7395a9f9db7728a Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 26 May 2014 20:09:45 +0200 -Subject: [PATCH] Do not unescape unit names in [Install] section - -https://bugs.freedesktop.org/show_bug.cgi?id=49316 ---- - src/shared/conf-parser.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c 2014-05-27 07:36:20.478236631 +0000 -@@ -723,7 +723,7 @@ int config_parse_strv(const char *unit, - FOREACH_WORD_QUOTED(w, l, rvalue, state) { - _cleanup_free_ char *n; - -- n = cunescape_length(w, l); -+ n = strndup(w, l); - if (!n) - return log_oom(); - diff --git a/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch b/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch deleted file mode 100644 index 7f0f7b9c..00000000 --- a/0001-Don-t-snprintf-a-potentially-NULL-pointer.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5effdfa831d75306fc0ff9b47d39997e4ae87f16 Mon Sep 17 00:00:00 2001 -From: Michael Meeks -Date: Tue, 11 Feb 2014 14:42:26 +0000 -Subject: [PATCH] Don't snprintf a potentially NULL pointer. - ---- - src/shared/log.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/log.c b/src/shared/log.c -index 2a075ff..d6b138f 100644 ---- a/src/shared/log.c -+++ b/src/shared/log.c -@@ -479,7 +479,7 @@ static int log_do_header(char *header, size_t size, - func ? "CODE_FUNCTION=" : "", - func ? LINE_MAX : 0, func, - func ? "\n" : "", -- object ? object_name : "", -+ object_name ? object_name : "", - object ? LINE_MAX : 0, object, /* %.0s means no output */ - object ? "\n" : "", - program_invocation_short_name); --- -1.8.4.5 - diff --git a/0001-Fix-systemd-stdio-bridge-symlink.patch b/0001-Fix-systemd-stdio-bridge-symlink.patch deleted file mode 100644 index 02e7e1cc..00000000 --- a/0001-Fix-systemd-stdio-bridge-symlink.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8100c1a8f58b2fb5d97e156420a7e16562e93bc4 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Sun, 2 Mar 2014 23:37:39 -0500 -Subject: [PATCH] Fix systemd-stdio-bridge symlink - -The symlink is created in bindir (/usr/bin), and points to a binary -which lives in rootlibexecdir (/lib/systemd or /usr/lib/systemd). A -relative symlink does not work here. ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git Makefile.am Makefile.am -index 38445fb..e7134a2 100644 ---- Makefile.am -+++ Makefile.am -@@ -1978,7 +1978,7 @@ systemd_bus_proxyd_LDADD = \ - - bus-proxyd-install-hook: - $(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir) -- $(AM_V_LN)$(LN_S) -f ../lib/systemd/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge -+ $(AM_V_LN)$(LN_S) -f $(rootlibexecdir)/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge - - bus-proxyd-uninstall-hook: - rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge --- -1.7.9.2 - diff --git a/0001-Fix-warning-about-unused-variable-with-SELINUX.patch b/0001-Fix-warning-about-unused-variable-with-SELINUX.patch deleted file mode 100644 index f1fb4ea9..00000000 --- a/0001-Fix-warning-about-unused-variable-with-SELINUX.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 493d521d9ffe706741665a88ea14929913ea2eaf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Sep 2014 09:22:40 -0400 -Subject: [PATCH] Fix warning about unused variable with !SELINUX - -src/shared/label.c:255:15: warning: unused variable 'l' [-Wunused-variable] - char *l = NULL; - ^ ---- - src/shared/label.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/shared/label.c src/shared/label.c -index 02b41f0..b6af38d 100644 ---- src/shared/label.c -+++ src/shared/label.c -@@ -252,9 +252,10 @@ fail: - - int label_get_our_label(char **label) { - int r = -EOPNOTSUPP; -- char *l = NULL; - - #ifdef HAVE_SELINUX -+ char *l = NULL; -+ - r = getcon(&l); - if (r < 0) - return r; --- -1.7.9.2 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index f09e8270..ef656b99 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,25 +1,29 @@ --- rules/99-systemd.rules.in | 2 - src/core/manager.c | 24 ++++++++-- - src/shared/util.c | 101 ++++++++++++++++++++++++++++++++++++++++++++-- + src/core/manager.c | 24 ++++++++--- + src/shared/util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- src/shared/util.h | 1 - 4 files changed, 118 insertions(+), 10 deletions(-) + 4 files changed, 116 insertions(+), 10 deletions(-) ---- systemd-208/rules/99-systemd.rules.in -+++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000 +Index: systemd/rules/99-systemd.rules.in +=================================================================== +--- systemd.orig/rules/99-systemd.rules.in ++++ systemd/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*", TAG+="systemd" +-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" ---- systemd-210/src/core/manager.c -+++ systemd-210/src/core/manager.c 2014-04-30 10:51:43.398735332 +0000 -@@ -110,7 +110,7 @@ static int manager_watch_jobs_in_progres +Index: systemd/src/core/manager.c +=================================================================== +--- systemd.orig/src/core/manager.c ++++ systemd/src/core/manager.c +@@ -113,7 +113,7 @@ static int manager_watch_jobs_in_progres #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) @@ -28,7 +32,7 @@ char *p = buffer; assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -119,12 +119,14 @@ static void draw_cylon(char buffer[], si +@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si if (pos > 1) { if (pos > 2) p = mempset(p, ' ', pos-2); @@ -45,7 +49,7 @@ *p++ = '*'; } -@@ -135,7 +137,8 @@ static void draw_cylon(char buffer[], si +@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si *p++ = '*'; if (pos < width-1) p = mempset(p, ' ', width-1-pos); @@ -55,7 +59,7 @@ } } -@@ -150,6 +153,7 @@ void manager_flip_auto_status(Manager *m +@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m } static void manager_print_jobs_in_progress(Manager *m) { @@ -63,7 +67,7 @@ _cleanup_free_ char *job_of_n = NULL; Iterator i; Job *j; -@@ -174,10 +178,20 @@ static void manager_print_jobs_in_progre +@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre assert(counter == print_nr + 1); assert(j); @@ -85,9 +89,11 @@ m->jobs_in_progress_iteration++; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-04-30 10:39:17.154736438 +0000 -@@ -2886,6 +2886,7 @@ int status_vprintf(const char *status, b +Index: systemd/src/shared/util.c +=================================================================== +--- systemd.orig/src/shared/util.c ++++ systemd/src/shared/util.c +@@ -3212,6 +3212,7 @@ int status_vprintf(const char *status, b struct iovec iovec[6] = {}; int n = 0; static bool prev_ephemeral; @@ -95,12 +101,12 @@ assert(format); -@@ -2899,6 +2900,41 @@ int status_vprintf(const char *status, b +@@ -3225,6 +3226,41 @@ int status_vprintf(const char *status, b if (fd < 0) return fd; + if (_unlikely_(is_ansi_console < 0)) -+ is_ansi_console = (int)ansi_console(fd); ++ is_ansi_console = ansi_console(fd); + + if (status && !is_ansi_console) { + const char *esc, *ptr; @@ -137,7 +143,7 @@ if (ellipse) { char *e; size_t emax, sl; -@@ -2921,8 +2957,12 @@ int status_vprintf(const char *status, b +@@ -3247,8 +3283,12 @@ int status_vprintf(const char *status, b } } @@ -152,7 +158,7 @@ prev_ephemeral = ephemeral; if (status) { -@@ -3169,12 +3209,47 @@ void columns_lines_cache_reset(int signu +@@ -3504,8 +3544,22 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -176,6 +182,9 @@ return cached_on_tty; } +@@ -3523,6 +3577,27 @@ int files_same(const char *filea, const + a.st_ino == b.st_ino; + } +bool ansi_console(int fd) { + static int cached_ansi_console = -1; @@ -199,13 +208,13 @@ +} + int running_in_chroot(void) { - struct stat a = {}, b = {}; + int ret; -@@ -3630,7 +3705,25 @@ bool tty_is_vc_resolve(const char *tty) +@@ -4006,7 +4081,23 @@ bool tty_is_vc_resolve(const char *tty) const char *default_term_for_tty(const char *tty) { assert(tty); -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102"; +- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; + if (tty_is_vc_resolve(tty)) + return "TERM=linux"; + @@ -221,16 +230,16 @@ + if (streq(mode, "3270")) + return "TERM=ibm327x"; + } -+ if (streq(tty, "ttyS1")) -+ return "TERM=vt220"; +#endif -+ return "TERM=vt102"; ++ return "TERM=vt220"; } bool dirent_is_file(const struct dirent *de) { ---- systemd-210/src/shared/util.h -+++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000 -@@ -418,6 +418,7 @@ unsigned lines(void); +Index: systemd/src/shared/util.h +=================================================================== +--- systemd.orig/src/shared/util.h ++++ systemd/src/shared/util.h +@@ -475,6 +475,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); diff --git a/0001-activate-fix-fd-leak-in-do_accept.patch b/0001-activate-fix-fd-leak-in-do_accept.patch deleted file mode 100644 index 14104a34..00000000 --- a/0001-activate-fix-fd-leak-in-do_accept.patch +++ /dev/null @@ -1,26 +0,0 @@ -From aa44499da15a8fa7026463555a7a27e55e4e24a8 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 22:14:41 +0300 -Subject: [PATCH] activate: fix fd leak in do_accept() - -Found with Coverity. ---- - src/activate/activate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/activate/activate.c src/activate/activate.c -index 8942773..0a1df37 100644 ---- src/activate/activate.c -+++ src/activate/activate.c -@@ -242,7 +242,7 @@ static int launch1(const char* child, char** argv, char **env, int fd) { - - static int do_accept(const char* name, char **argv, char **envp, int fd) { - _cleanup_free_ char *local = NULL, *peer = NULL; -- int fd2; -+ _cleanup_close_ int fd2 = -1; - - fd2 = accept(fd, NULL, NULL); - if (fd2 < 0) { --- -1.7.9.2 - diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index b4aeb6f4..d6b6fa3a 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -1,11 +1,13 @@ --- - systemd-209/src/core/shutdown.c | 4 ++++ - systemd-209/src/systemctl/systemctl.c | 22 +++++++++++++++------- - 2 files changed, 19 insertions(+), 7 deletions(-) + src/core/shutdown.c | 4 ++++ + src/systemctl/systemctl.c | 18 ++++++++++++------ + 2 files changed, 16 insertions(+), 6 deletions(-) ---- systemd-209/src/core/shutdown.c -+++ systemd-209/src/core/shutdown.c 2014-02-28 11:17:22.000000000 +0000 -@@ -449,6 +449,10 @@ int main(int argc, char *argv[]) { +Index: systemd-218/src/core/shutdown.c +=================================================================== +--- systemd-218.orig/src/core/shutdown.c ++++ systemd-218/src/core/shutdown.c +@@ -400,6 +400,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -16,9 +18,11 @@ if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our ---- systemd-209/src/systemctl/systemctl.c -+++ systemd-209/src/systemctl/systemctl.c 2014-02-28 11:19:35.000000000 +0000 -@@ -93,6 +93,7 @@ static bool arg_no_pager = false; +Index: systemd-218/src/systemctl/systemctl.c +=================================================================== +--- systemd-218.orig/src/systemctl/systemctl.c ++++ systemd-218/src/systemctl/systemctl.c +@@ -94,6 +94,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -26,7 +30,7 @@ static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -5578,6 +5579,7 @@ static int halt_parse_argv(int argc, cha +@@ -6813,6 +6814,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -34,7 +38,7 @@ { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -5629,10 +5631,13 @@ static int halt_parse_argv(int argc, cha +@@ -6865,10 +6867,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -49,17 +53,17 @@ case '?': return -EINVAL; -@@ -6274,20 +6279,23 @@ done: - - static int halt_now(enum action a) { - --/* Make sure C-A-D is handled by the kernel from this +@@ -7511,7 +7516,8 @@ static int halt_now(enum action a) { + /* The kernel will automaticall flush ATA disks and suchlike + * on reboot(), but the file systems need to be synce'd + * explicitly in advance. */ +- sync(); + if (!arg_no_sync) + sync(); -+ -+ /* Make sure C-A-D is handled by the kernel from this - * point on... */ - reboot(RB_ENABLE_CAD); + + /* Make sure C-A-D is handled by the kernel from this point + * on... */ +@@ -7519,14 +7525,14 @@ static int halt_now(enum action a) { switch (a) { @@ -67,12 +71,11 @@ - log_info("Halting."); - reboot(RB_HALT_SYSTEM); - return -errno; -- + case ACTION_POWEROFF: log_info("Powering off."); reboot(RB_POWER_OFF); -+ /* Fall through */ -+ ++ /* fall-through */ + case ACTION_HALT: + log_info("Halting."); + reboot(RB_HALT_SYSTEM); diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index 57a87c73..eb070d64 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -11,19 +11,23 @@ NFS share is added as "After=" dependency to the .mount. src/shared/util.c | 1 5 files changed, 234 insertions(+), 2 deletions(-) ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am 2014-02-26 12:44:20.000000000 +0000 -@@ -994,6 +994,8 @@ libsystemd_core_la_SOURCES = \ +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -1134,6 +1134,8 @@ libsystemd_core_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ + src/core/mount-iface.c \ + src/core/mount-iface.h \ + src/core/kmod-setup.c \ + src/core/kmod-setup.h \ src/core/loopback-setup.h \ - src/core/loopback-setup.c \ - src/core/condition.c \ ---- systemd-210/src/core/mount-iface.c -+++ systemd-210/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000 +Index: systemd-218/src/core/mount-iface.c +=================================================================== +--- /dev/null ++++ systemd-218/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -166,7 +170,7 @@ NFS share is added as "After=" dependency to the .mount. + continue; + + ret = ifa->ifa_name; -+ break; ++ break; + } else if (ifa->ifa_addr->sa_family == AF_INET6) { + struct in6_addr *addr, *mask, dest, ip6; + unsigned int prefix; @@ -198,8 +202,10 @@ NFS share is added as "After=" dependency to the .mount. + freeifaddrs(ifa_list); + ifa_list = NULL; +} ---- systemd-210/src/core/mount-iface.h -+++ systemd-210/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000 +Index: systemd-218/src/core/mount-iface.h +=================================================================== +--- /dev/null ++++ systemd-218/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -226,9 +232,11 @@ NFS share is added as "After=" dependency to the .mount. + +char *host2iface(const char *ip); +void freeroutes(void); ---- systemd-210/src/core/mount.c -+++ systemd-210/src/core/mount.c 2014-03-03 12:13:23.406246117 +0000 -@@ -36,6 +36,7 @@ +Index: systemd-218/src/core/mount.c +=================================================================== +--- systemd-218.orig/src/core/mount.c ++++ systemd-218/src/core/mount.c +@@ -38,6 +38,7 @@ #include "mkdir.h" #include "path-util.h" #include "mount-setup.h" @@ -236,7 +244,7 @@ NFS share is added as "After=" dependency to the .mount. #include "unit-name.h" #include "dbus-mount.h" #include "special.h" -@@ -1388,8 +1389,9 @@ static int mount_add_one( +@@ -1365,8 +1366,9 @@ static int mount_add_one( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -247,7 +255,7 @@ NFS share is added as "After=" dependency to the .mount. int r; assert(m); -@@ -1414,6 +1416,8 @@ static int mount_add_one( +@@ -1391,6 +1393,8 @@ static int mount_add_one( if (!e) return -ENOMEM; @@ -256,16 +264,16 @@ NFS share is added as "After=" dependency to the .mount. u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1442,7 +1446,7 @@ static int mount_add_one( +@@ -1419,7 +1423,7 @@ static int mount_add_one( if (m->running_as == SYSTEMD_SYSTEM) { const char* target; -- target = fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; +- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; + target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; - r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) -@@ -1519,6 +1523,32 @@ static int mount_add_one( + goto fail; +@@ -1505,6 +1509,32 @@ static int mount_add_one( goto fail; } @@ -288,7 +296,7 @@ NFS share is added as "After=" dependency to the .mount. + else { + r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); + if (r < 0) -+ log_error_unit(u->id, "Failed to add dependency on %s, ignoring: %s", ++ log_unit_error(u->id, "Failed to add dependency on %s, ignoring: %s", + target, strerror(-r)); + } + } @@ -298,21 +306,23 @@ NFS share is added as "After=" dependency to the .mount. if (changed) unit_add_to_dbus_queue(u); -@@ -1583,6 +1613,7 @@ static int mount_load_proc_self_mountinf - if (k < 0) +@@ -1560,6 +1590,7 @@ static int mount_load_proc_self_mountinf + if (r == 0 && k < 0) r = k; } + freeroutes(); /* Just in case of using the routing table with host2iface() */ return r; } ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000 -@@ -1502,6 +1502,7 @@ bool fstype_is_network(const char *fstyp +Index: systemd-218/src/shared/util.c +=================================================================== +--- systemd-218.orig/src/shared/util.c ++++ systemd-218/src/shared/util.c +@@ -1667,6 +1667,7 @@ bool fstype_is_network(const char *fstyp "ncp\0" "nfs\0" "nfs4\0" + "afs\0" "gfs\0" - "gfs2\0"; - + "gfs2\0" + "glusterfs\0"; diff --git a/0001-architecture-Add-tilegx.patch b/0001-architecture-Add-tilegx.patch deleted file mode 100644 index 277587c3..00000000 --- a/0001-architecture-Add-tilegx.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97 Mon Sep 17 00:00:00 2001 -From: Henrik Grindal Bakken -Date: Thu, 27 Feb 2014 21:19:13 +0100 -Subject: [PATCH] architecture: Add tilegx - -Add Tilera's TILE-GX processor family support. ---- - src/shared/architecture.c | 3 +++ - src/shared/architecture.h | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index ceba492..fcdb3d5 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -112,6 +112,8 @@ Architecture uname_architecture(void) { - { "sh", ARCHITECTURE_SH }, - #elif defined(__m68k__) - { "m68k", ARCHITECTURE_M68K }, -+#elif defined(__tilegx__) -+ { "tilegx", ARCHITECTURE_TILEGX }, - #else - #error "Please register your architecture here!" - #endif -@@ -158,6 +160,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { - [ARCHITECTURE_SH] = "sh", - [ARCHITECTURE_SH64] = "sh64", - [ARCHITECTURE_M68K] = "m68k", -+ [ARCHITECTURE_TILEGX] = "tilegx", - }; - - DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); -diff --git src/shared/architecture.h src/shared/architecture.h -index 3183645..e589a91 100644 ---- src/shared/architecture.h -+++ src/shared/architecture.h -@@ -47,6 +47,7 @@ typedef enum Architecture { - ARCHITECTURE_SH, - ARCHITECTURE_SH64, - ARCHITECTURE_M68K, -+ ARCHITECTURE_TILEGX, - _ARCHITECTURE_MAX, - _ARCHITECTURE_INVALID = -1 - } Architecture; -@@ -107,6 +108,8 @@ Architecture uname_architecture(void); - # define native_architecture() ARCHITECTURE_SH - #elif defined(__m68k__) - # define native_architecture() ARCHITECTURE_M68K -+#elif defined(__tilegx__) -+# define native_architecture() ARCHITECTURE_TILEGX - #else - #error "Please register your architecture here!" - #endif --- -1.7.9.2 - diff --git a/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch b/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch deleted file mode 100644 index 3b20a7e0..00000000 --- a/0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 7b909d7407965c03caaba30daae7aee113627a83 Mon Sep 17 00:00:00 2001 -From: Josh Triplett -Date: Tue, 11 Mar 2014 21:16:33 -0700 -Subject: [PATCH] backlight: Avoid restoring brightness to an unreadably dim - level - -Some systems turn the backlight all the way off at the lowest levels. -Clamp saved brightness to at least 1 or 5% of max_brightness. This -avoids preserving an unreadably dim screen, which would otherwise force -the user to disable state restoration. ---- - src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 44 insertions(+) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 81470b3..abf8bcf 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -192,6 +192,48 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { - return true; - } - -+/* Some systems turn the backlight all the way off at the lowest levels. -+ * clamp_brightness clamps the saved brightness to at least 1 or 5% of -+ * max_brightness. This avoids preserving an unreadably dim screen, which -+ * would otherwise force the user to disable state restoration. */ -+static void clamp_brightness(struct udev_device *device, char **value) { -+ int r; -+ const char *max_brightness_str; -+ unsigned brightness, max_brightness, new_brightness; -+ -+ max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); -+ if (!max_brightness_str) { -+ log_warning("Failed to read max_brightness attribute; not checking saved brightness"); -+ return; -+ } -+ -+ r = safe_atou(*value, &brightness); -+ if (r < 0) { -+ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); -+ return; -+ } -+ -+ r = safe_atou(max_brightness_str, &max_brightness); -+ if (r < 0) { -+ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ return; -+ } -+ -+ new_brightness = MAX3(brightness, 1U, max_brightness/20); -+ if (new_brightness != brightness) { -+ char *old_value = *value; -+ -+ r = asprintf(value, "%u", new_brightness); -+ if (r < 0) { -+ log_oom(); -+ return; -+ } -+ -+ log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); -+ free(old_value); -+ } -+} -+ - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_device_unref_ struct udev_device *device = NULL; -@@ -306,6 +348,8 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -+ clamp_brightness(device, &value); -+ - r = udev_device_set_sysattr_value(device, "brightness", value); - if (r < 0) { - log_error("Failed to write system attribute: %s", strerror(-r)); --- -1.7.9.2 - diff --git a/0001-bash-completion-fix-__get_startable_units.patch b/0001-bash-completion-fix-__get_startable_units.patch deleted file mode 100644 index 815e6abd..00000000 --- a/0001-bash-completion-fix-__get_startable_units.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a163b64c4b08e8a4ad39a9a295acf3d1634024a3 Mon Sep 17 00:00:00 2001 -From: Dan Kilman -Date: Sun, 13 Apr 2014 18:06:13 +0300 -Subject: [PATCH] bash completion: fix __get_startable_units - ---- - shell-completion/bash/systemctl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl -index 992e52d..e1c8420 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -56,7 +56,7 @@ __get_all_units () { __systemctl $1 list-units --all \ - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } - __get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ -- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed " ]] && echo " $a"; done; }; } -+ | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } - __get_failed_units () { __systemctl $1 list-units \ - | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } - __get_enabled_units () { __systemctl $1 list-unit-files \ --- -1.7.9.2 - diff --git a/0001-bash-completion-p-option-for-journalctl.patch b/0001-bash-completion-p-option-for-journalctl.patch deleted file mode 100644 index f41318f5..00000000 --- a/0001-bash-completion-p-option-for-journalctl.patch +++ /dev/null @@ -1,46 +0,0 @@ -From be8f4a9fa732d61e845e1ab1a62ac3a6b368d3a7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 19 Jul 2014 19:46:04 -0400 -Subject: [PATCH] bash-completion: -p option for journalctl - ---- - shell-completion/bash/journalctl | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git shell-completion/bash/journalctl shell-completion/bash/journalctl -index e4b2f4a..14dcd22 100644 ---- shell-completion/bash/journalctl -+++ shell-completion/bash/journalctl -@@ -35,6 +35,8 @@ __journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} - _UDEV_{SYSNAME,DEVNODE,DEVLINK} - __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) - -+__syslog_priorities=(emerg alert crit err warning notice info debug) -+ - _journalctl() { - local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} - local -A OPTS=( -@@ -44,8 +46,8 @@ _journalctl() { - --no-tail -q --quiet --setup-keys --this-boot --verify - --version --list-catalog --update-catalog --list-boots' - [ARG]='-b --boot --this-boot -D --directory --file -F --field -- -o --output -u --unit --user-unit' -- [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until -+ -o --output -u --unit --user-unit -p --priority' -+ [ARGUNKNOWN]='-c --cursor --interval -n --lines --since --until - --verify-key' - ) - -@@ -68,6 +70,9 @@ _journalctl() { - --field|-F) - comps=${__journal_fields[*]} - ;; -+ --priority|-p) -+ comps=${__syslog_priorities[*]} -+ ;; - --unit|-u) - comps=$(journalctl -F '_SYSTEMD_UNIT' 2>/dev/null) - ;; --- -1.7.9.2 - diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index a7021400..104339e0 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -3,11 +3,11 @@ src/login/logind-dbus.c | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) -Index: systemd-210/src/login/logind-action.c +Index: systemd-218/src/login/logind-action.c =================================================================== ---- systemd-210.orig/src/login/logind-action.c -+++ systemd-210/src/login/logind-action.c -@@ -101,6 +101,11 @@ int manager_handle_action( +--- systemd-218.orig/src/login/logind-action.c ++++ systemd-218/src/login/logind-action.c +@@ -83,6 +83,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ if (inhibit_key > 0) { @@ -19,11 +19,11 @@ Index: systemd-210/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-210/src/login/logind-dbus.c +Index: systemd-218/src/login/logind-dbus.c =================================================================== ---- systemd-210.orig/src/login/logind-dbus.c -+++ systemd-210/src/login/logind-dbus.c -@@ -1469,9 +1469,11 @@ static int method_do_shutdown_or_sleep( +--- systemd-218.orig/src/login/logind-dbus.c ++++ systemd-218/src/login/logind-dbus.c +@@ -1487,9 +1487,11 @@ static int method_do_shutdown_or_sleep( sd_bus_error *error) { _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; @@ -36,7 +36,7 @@ Index: systemd-210/src/login/logind-dbus.c assert(m); assert(message); -@@ -1515,7 +1517,17 @@ static int method_do_shutdown_or_sleep( +@@ -1533,7 +1535,17 @@ static int method_do_shutdown_or_sleep( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); @@ -52,24 +52,24 @@ Index: systemd-210/src/login/logind-dbus.c + + + if (multiple_sessions && !shutdown_through_acpi) { - r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, - action_multiple_sessions, interactive, error, method, m); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, &m->polkit_registry, error); if (r < 0) -@@ -1524,7 +1536,7 @@ static int method_do_shutdown_or_sleep( + return r; +@@ -1541,7 +1553,7 @@ static int method_do_shutdown_or_sleep( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (blocked) { + if (blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, - action_ignore_inhibit, interactive, error, method, m); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, &m->polkit_registry, error); if (r < 0) -@@ -1533,7 +1545,7 @@ static int method_do_shutdown_or_sleep( + return r; +@@ -1549,7 +1561,7 @@ static int method_do_shutdown_or_sleep( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (!multiple_sessions && !blocked) { + if (!multiple_sessions && !blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(m->bus, &m->polkit_registry, message, - action, interactive, error, method, m); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, &m->polkit_registry, error); if (r < 0) + return r; diff --git a/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch b/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch deleted file mode 100644 index f8632b99..00000000 --- a/0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch +++ /dev/null @@ -1,215 +0,0 @@ -Based on d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 28 May 2014 17:36:40 +0800 -Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring - libattr - ---- - configure.ac | 53 ++----------------------------------------- - src/core/mount-setup.c | 2 - - src/core/socket.c | 4 --- - src/journal/journal-file.c | 7 ----- - src/journal/journal-vacuum.c | 10 -------- - src/shared/label.c | 2 - - src/shared/smack-util.c | 4 --- - 7 files changed, 7 insertions(+), 75 deletions(-) - ---- configure.ac -+++ configure.ac 2014-06-03 00:00:00.000000000 +0000 -@@ -526,44 +526,6 @@ AC_SUBST(ACL_LIBS) - AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) - - # ------------------------------------------------------------------------------ --AC_ARG_ENABLE([xattr], -- AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]), -- [case "${enableval}" in -- yes) have_xattr=yes ;; -- no) have_xattr=no ;; -- *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;; -- esac], -- [have_xattr=auto]) -- --if test "x${have_xattr}" != xno ; then -- AC_CHECK_HEADERS( -- [attr/xattr.h], -- [have_xattr=yes], -- [if test "x$have_xattr" = xyes ; then -- AC_MSG_ERROR([*** XATTR headers not found.]) -- fi]) -- -- AC_CHECK_LIB( -- [attr], -- [fsetxattr], -- [have_xattr=yes], -- [if test "x$have_xattr" = xyes ; then -- AC_MSG_ERROR([*** libattr not found.]) -- fi]) -- -- if test "x$have_xattr" = xyes ; then -- XATTR_LIBS="-lattr" -- AC_DEFINE(HAVE_XATTR, 1, [XATTR available]) -- else -- have_xattr=no -- fi --else -- XATTR_LIBS= --fi --AC_SUBST(XATTR_LIBS) --AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno]) -- --# ------------------------------------------------------------------------------ - AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]), - [case "${enableval}" in - yes) have_smack=yes ;; -@@ -572,17 +534,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([- - esac], - [have_smack=auto]) - --if test "x${have_xattr}" = xno; then -- if test "x${have_smack}" = xyes; then -- AC_MSG_ERROR(SMACK requires xattr support) -- else -- have_smack=no -- fi --else -- if test "x${have_smack}" = xauto; then -- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" -- have_smack=yes -- fi -+if test "x${have_smack}" = xauto; then -+ M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" -+ have_smack=yes - fi - - AC_ARG_WITH(smack-run-label, -@@ -1131,7 +1085,6 @@ AC_MSG_RESULT([ - SMACK: ${have_smack} - XZ: ${have_xz} - ACL: ${have_acl} -- XATTR: ${have_xattr} - GCRYPT: ${have_gcrypt} - QRENCODE: ${have_qrencode} - MICROHTTPD: ${have_microhttpd} ---- src/core/mount-setup.c -+++ src/core/mount-setup.c 2014-06-03 00:00:00.000000000 +0000 -@@ -93,10 +93,8 @@ static const MountPoint mount_table[] = - NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, - NULL, MNT_IN_CONTAINER }, --#ifdef HAVE_XATTR - { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_IN_CONTAINER }, --#endif - { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_IN_CONTAINER }, - { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ---- src/core/socket.c -+++ src/core/socket.c 2014-06-03 00:00:00.000000000 +0000 -@@ -29,9 +29,7 @@ - #include - #include - #include --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "sd-event.h" - #include "log.h" ---- src/journal/journal-file.c -+++ src/journal/journal-file.c 2014-06-03 00:00:00.000000000 +0000 -@@ -26,10 +26,7 @@ - #include - #include - #include -- --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "journal-def.h" - #include "journal-file.h" -@@ -2515,7 +2512,6 @@ int journal_file_open( - } - - if (f->last_stat.st_size == 0 && f->writable) { --#ifdef HAVE_XATTR - uint64_t crtime; - - /* Let's attach the creation time to the journal file, -@@ -2530,7 +2526,6 @@ int journal_file_open( - - crtime = htole64((uint64_t) now(CLOCK_REALTIME)); - fsetxattr(f->fd, "user.crtime_usec", &crtime, sizeof(crtime), XATTR_CREATE); --#endif - - #ifdef HAVE_GCRYPT - /* Try to load the FSPRG state, and if we can't, then ---- src/journal/journal-vacuum.c -+++ src/journal/journal-vacuum.c 2014-06-03 00:00:00.000000000 +0000 -@@ -24,10 +24,7 @@ - #include - #include - #include -- --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "journal-def.h" - #include "journal-file.h" -@@ -79,11 +76,8 @@ static void patch_realtime( - unsigned long long *realtime) { - - usec_t x; -- --#ifdef HAVE_XATTR - uint64_t crtime; - _cleanup_free_ const char *path = NULL; --#endif - - /* The timestamp was determined by the file name, but let's - * see if the file might actually be older than the file name -@@ -106,7 +100,6 @@ static void patch_realtime( - if (x > 0 && x != (usec_t) -1 && x < *realtime) - *realtime = x; - --#ifdef HAVE_XATTR - /* Let's read the original creation time, if possible. Ideally - * we'd just query the creation time the FS might provide, but - * unfortunately there's currently no sane API to query -@@ -125,7 +118,6 @@ static void patch_realtime( - if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime) - *realtime = crtime; - } --#endif - } - - static int journal_file_empty(int dir_fd, const char *name) { ---- src/shared/label.c -+++ src/shared/label.c 2014-06-03 00:00:00.000000000 +0000 -@@ -27,9 +27,7 @@ - #include - #include - #include --#ifdef HAVE_XATTR - #include --#endif - #ifdef HAVE_SELINUX - #include - #include ---- src/shared/smack-util.c -+++ src/shared/smack-util.c 2014-06-03 00:00:00.000000000 +0000 -@@ -23,9 +23,7 @@ - - #include - #include --#ifdef HAVE_XATTR --#include --#endif -+#include - - #include "smack-util.h" - diff --git a/0001-bus-proxyd-fix-incorrect-comparison.patch b/0001-bus-proxyd-fix-incorrect-comparison.patch deleted file mode 100644 index 404e4c8d..00000000 --- a/0001-bus-proxyd-fix-incorrect-comparison.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on e05aa2e02ba35d8b3741dddb79af3c802308414b Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 25 Jul 2014 10:25:06 +0200 -Subject: [PATCH] bus-proxyd: fix incorrect comparison - -We should be interested in k variable. ---- - src/bus-proxyd/bus-proxyd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/bus-proxyd/bus-proxyd.c -+++ src/bus-proxyd/bus-proxyd.c 2014-07-28 09:37:29.274735818 +0000 -@@ -698,7 +698,7 @@ int main(int argc, char *argv[]) { - - k = sd_bus_send(a, m, NULL); - if (k < 0) { -- if (r == -ECONNRESET) -+ if (k == -ECONNRESET) - r = 0; - else { - r = k; diff --git a/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch b/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch deleted file mode 100644 index 06845364..00000000 --- a/0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch +++ /dev/null @@ -1,80 +0,0 @@ -From a641dcd9bf05418d6a6c165e1c0cff615b4a0f47 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 18 Mar 2014 04:06:36 +0100 -Subject: [PATCH] cgroup: it's not OK to invoke alloca() in loops - ---- - src/core/mount-setup.c | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index 387030a..c6d3f4b 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -216,10 +216,10 @@ int mount_setup_early(void) { - } - - int mount_cgroup_controllers(char ***join_controllers) { -- int r; -- char buf[LINE_MAX]; - _cleanup_set_free_free_ Set *controllers = NULL; - _cleanup_fclose_ FILE *f; -+ char buf[LINE_MAX]; -+ int r; - - /* Mount all available cgroup controllers that are built into the kernel. */ - -@@ -262,6 +262,7 @@ int mount_cgroup_controllers(char ***join_controllers) { - } - - for (;;) { -+ _cleanup_free_ char *options = NULL, *controller = NULL, *where = NULL; - MountPoint p = { - .what = "cgroup", - .type = "cgroup", -@@ -269,7 +270,6 @@ int mount_cgroup_controllers(char ***join_controllers) { - .mode = MNT_IN_CONTAINER, - }; - char ***k = NULL; -- _cleanup_free_ char *options = NULL, *controller; - - controller = set_steal_first(controllers); - if (!controller) -@@ -286,7 +286,7 @@ int mount_cgroup_controllers(char ***join_controllers) { - for (i = *k, j = *k; *i; i++) { - - if (!streq(*i, controller)) { -- char _cleanup_free_ *t; -+ _cleanup_free_ char *t; - - t = set_remove(controllers, *i); - if (!t) { -@@ -308,7 +308,11 @@ int mount_cgroup_controllers(char ***join_controllers) { - controller = NULL; - } - -- p.where = strappenda("/sys/fs/cgroup/", options); -+ where = strappend("/sys/fs/cgroup/", options); -+ if (!where) -+ return log_oom(); -+ -+ p.where = where; - p.options = options; - - r = mount_one(&p, true); -@@ -319,7 +323,11 @@ int mount_cgroup_controllers(char ***join_controllers) { - char **i; - - for (i = *k; *i; i++) { -- char *t = strappenda("/sys/fs/cgroup/", *i); -+ _cleanup_free_ char *t = NULL; -+ -+ t = strappend("/sys/fs/cgroup/", *i); -+ if (!t) -+ return log_oom(); - - r = symlink(options, t); - if (r < 0 && errno != EEXIST) { --- -1.7.9.2 - diff --git a/0001-completion-filter-templates-from-restartable-units.patch b/0001-completion-filter-templates-from-restartable-units.patch deleted file mode 100644 index 13e03e03..00000000 --- a/0001-completion-filter-templates-from-restartable-units.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on ec15977a3cd82eff6c94bb13db72195f7cd512e8 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Fri, 29 Aug 2014 20:35:15 -0400 -Subject: [PATCH] completion: filter templates from restartable units - -Since c6a373a2634854, we might encounter unit templates via the -'list-units' verb. These aren't restartable (and we throw errors), so -make sure they're filtered out of the completion options. - -fixes downstream bug: https://bugs.archlinux.org/task/41719 ---- - shell-completion/bash/systemctl.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in -index 64b15df..0150018 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -182,7 +182,7 @@ _systemctl () { - comps=$( __filter_units_by_property $mode CanStart yes \ - $( __get_all_units $mode \ - | while read -r line; do \ -- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ -+ [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ - done )) - compopt -o filenames - --- -1.7.9.2 - diff --git a/0001-conf-parser-silently-ignore-sections-starting-with-X.patch b/0001-conf-parser-silently-ignore-sections-starting-with-X.patch deleted file mode 100644 index 8ae66062..00000000 --- a/0001-conf-parser-silently-ignore-sections-starting-with-X.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 342aea195051633c69ba7b8c02c82a0e5f8cbde4 Mon Sep 17 00:00:00 2001 -From: Michael Marineau -Date: Fri, 16 May 2014 16:58:31 -0700 -Subject: [PATCH] conf-parser: silently ignore sections starting with "X-" - -This allows external tools to keep additional unit information in a -separate section without scaring users with a big warning. ---- - src/shared/conf-parser.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git src/shared/conf-parser.c src/shared/conf-parser.c -index d27b1b7..062b15b 100644 ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c -@@ -204,6 +204,7 @@ static int parse_line(const char* unit, - bool allow_include, - char **section, - unsigned *section_line, -+ bool *section_ignored, - char *l, - void *userdata) { - -@@ -266,7 +267,7 @@ static int parse_line(const char* unit, - - if (sections && !nulstr_contains(sections, n)) { - -- if (!relaxed) -+ if (!relaxed && !startswith(n, "X-")) - log_syntax(unit, LOG_WARNING, filename, line, EINVAL, - "Unknown section '%s'. Ignoring.", n); - -@@ -274,10 +275,12 @@ static int parse_line(const char* unit, - free(*section); - *section = NULL; - *section_line = 0; -+ *section_ignored = true; - } else { - free(*section); - *section = n; - *section_line = line; -+ *section_ignored = false; - } - - return 0; -@@ -285,7 +288,7 @@ static int parse_line(const char* unit, - - if (sections && !*section) { - -- if (!relaxed) -+ if (!relaxed && !*section_ignored) - log_syntax(unit, LOG_WARNING, filename, line, EINVAL, - "Assignment outside of section. Ignoring."); - -@@ -328,6 +331,7 @@ int config_parse(const char *unit, - _cleanup_free_ char *section = NULL, *continuation = NULL; - _cleanup_fclose_ FILE *ours = NULL; - unsigned line = 0, section_line = 0; -+ bool section_ignored = false; - int r; - - assert(filename); -@@ -399,6 +403,7 @@ int config_parse(const char *unit, - allow_include, - §ion, - §ion_line, -+ §ion_ignored, - p, - userdata); - free(c); --- -1.7.9.2 - diff --git a/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch b/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch deleted file mode 100644 index b8989aef..00000000 --- a/0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 36d239dbdaf94ba2d96bb60ac45ecfc58624b1eb Mon Sep 17 00:00:00 2001 -From: Daniel Mack -Date: Fri, 7 Mar 2014 11:41:18 +0100 -Subject: [PATCH] core/busname: add lookup string for - BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT - -When a busname unit enters BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT, the -serialization will not be able to look up the result as string via -busname_result_to_string(). This leads to an assertion trap during -daemon-reexec. ---- - src/core/busname.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/core/busname.c src/core/busname.c -index 4c34538..237011a 100644 ---- src/core/busname.c -+++ src/core/busname.c -@@ -548,6 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); - static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { - [BUSNAME_SUCCESS] = "success", - [BUSNAME_FAILURE_RESOURCES] = "resources", -+ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", - }; - - DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); --- -1.7.9.2 - diff --git a/0001-core-close-socket-fds-asynchronously.patch b/0001-core-close-socket-fds-asynchronously.patch deleted file mode 100644 index 90649f90..00000000 --- a/0001-core-close-socket-fds-asynchronously.patch +++ /dev/null @@ -1,89 +0,0 @@ -Based on 574634bcacb01efe15ca2742effd461a5b7afb5f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 13 May 2014 23:22:13 +0200 -Subject: [PATCH] core: close socket fds asynchronously - -http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html ---- - src/core/async.c | 24 ++++++++++++++++++++++++ - src/core/service.c | 5 +++-- - 2 files changed, 27 insertions(+), 2 deletions(-) - -Index: src/core/service.c -=================================================================== ---- src/core/service.c.orig -+++ src/core/service.c -@@ -25,6 +25,7 @@ - #include - #include - -+#include "async.h" - #include "manager.h" - #include "unit.h" - #include "service.h" -@@ -240,7 +241,7 @@ static void service_close_socket_fd(Serv - if (s->socket_fd < 0) - return; - -- close_nointr_nofail(s->socket_fd); -+ asynchronous_close(s->socket_fd); - s->socket_fd = -1; - } - -@@ -2767,7 +2768,7 @@ static int service_deserialize_item(Unit - else { - - if (s->socket_fd >= 0) -- close_nointr_nofail(s->socket_fd); -+ asynchronous_close(s->socket_fd); - s->socket_fd = fdset_remove(fds, fd); - } - } else if (streq(key, "main-exec-status-pid")) { -Index: src/core/async.c -=================================================================== ---- src/core/async.c.orig -+++ src/core/async.c -@@ -24,6 +24,7 @@ - - #include "async.h" - #include "log.h" -+#include "util.h" - - int asynchronous_job(void* (*func)(void *p), void *arg) { - pthread_attr_t a; -@@ -70,3 +71,26 @@ int asynchronous_sync(void) { - - return asynchronous_job(sync_thread, NULL); - } -+ -+static void *close_thread(void *p) { -+ int fd = PTR_TO_INT(p); -+ if (fd >= 0) -+ close_nointr_nofail(fd); -+ return NULL; -+} -+ -+int asynchronous_close(int fd) { -+ int r; -+ -+ /* This is supposed to behave similar to safe_close(), but -+ * actually invoke close() asynchronously, so that it will -+ * never block. Ideally the kernel would have an API for this, -+ * but it doesn't, so we work around it, and hide this as a -+ * far away as we can. */ -+ -+ r = asynchronous_job(close_thread, INT_TO_PTR(fd)); -+ if (r < 0 && fd >= 0) -+ close_nointr_nofail(fd); -+ -+ return -1; -+} -Index: src/core/async.h -=================================================================== ---- src/core/async.h.orig -+++ src/core/async.h -@@ -23,3 +23,4 @@ - - int asynchronous_job(void* (*func)(void *p), void *arg); - int asynchronous_sync(void); -+int asynchronous_close(int fd); diff --git a/0001-core-don-t-allow-enabling-if-unit-is-masked.patch b/0001-core-don-t-allow-enabling-if-unit-is-masked.patch deleted file mode 100644 index 7e193738..00000000 --- a/0001-core-don-t-allow-enabling-if-unit-is-masked.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f7101b7368dfe41dbc8b7203e06133cccb589c01 Mon Sep 17 00:00:00 2001 -From: Jan Synacek -Date: Tue, 7 Oct 2014 13:35:41 +0200 -Subject: [PATCH] core: don't allow enabling if unit is masked - ---- - src/shared/install.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git src/shared/install.c src/shared/install.c -index fa064c2..945bb27 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -1516,6 +1516,19 @@ int unit_file_enable( - return r; - - STRV_FOREACH(i, files) { -+ UnitFileState state; -+ -+ state = unit_file_get_state(scope, root_dir, *i); -+ if (state < 0) { -+ log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); -+ return state; -+ } -+ -+ if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { -+ log_error("Failed to enable unit: Unit %s is masked", *i); -+ return -ENOTSUP; -+ } -+ - r = install_info_add_auto(&c, *i); - if (r < 0) - return r; --- -1.7.9.2 - diff --git a/0001-core-fix-invalid-free-in-killall.patch b/0001-core-fix-invalid-free-in-killall.patch deleted file mode 100644 index 23d527e8..00000000 --- a/0001-core-fix-invalid-free-in-killall.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3e09eb5c83e56bc0184bd9d9c44f76047464f77c Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Fri, 13 Jun 2014 18:48:19 +0200 -Subject: [PATCH] core: fix invalid free() in killall() - -static int killall(....) in ./src/core/killall.c tries to get "s" -initialized by calling get_process_comm(...) which calls -read_one_line_file(...) which if it fails will mean it is left -uninitialized. -It is then used in argument to strna(s) call where it is -dereferenced(!), in addition to nothing else initializing it before -the scope it is in finishes. ---- - src/core/killall.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/killall.c src/core/killall.c -index 57ed41c..eab48f7 100644 ---- src/core/killall.c -+++ src/core/killall.c -@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { - continue; - - if (sig == SIGKILL) { -- _cleanup_free_ char *s; -+ _cleanup_free_ char *s = NULL; - - get_process_comm(pid, &s); - log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s)); --- -1.7.9.2 - diff --git a/0001-core-fix-resource-leak-in-manager_environment_add.patch b/0001-core-fix-resource-leak-in-manager_environment_add.patch deleted file mode 100644 index 7991b3be..00000000 --- a/0001-core-fix-resource-leak-in-manager_environment_add.patch +++ /dev/null @@ -1,32 +0,0 @@ -From aa9f8a30fd7dc7aa3aa2575b75b3f9a0ab3f02db Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Tue, 16 Sep 2014 21:11:02 +0200 -Subject: [PATCH] core: fix resource leak in manager_environment_add - -Second error path must free the (potentially) allocated memory in the -first code chunk before returning. - -Found by coverity. Fixes: CID#1237750 ---- - src/core/manager.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git src/core/manager.c src/core/manager.c -index 0770727..e0c1cd1 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -2751,8 +2751,10 @@ int manager_environment_add(Manager *m, char **minus, char **plus) { - - if (!strv_isempty(plus)) { - b = strv_env_merge(2, l, plus); -- if (!b) -+ if (!b) { -+ strv_free(a); - return -ENOMEM; -+ } - - l = b; - } --- -1.7.9.2 - diff --git a/0001-core-rework-device-state-logic.patch b/0001-core-rework-device-state-logic.patch new file mode 100644 index 00000000..0234602c --- /dev/null +++ b/0001-core-rework-device-state-logic.patch @@ -0,0 +1,917 @@ +From 628c89cc68ab96fce2de7ebba5933725d147aecc Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 27 Feb 2015 21:55:08 +0100 +Subject: [PATCH] core: rework device state logic +References: https://bugzilla.redhat.com/show_bug.cgi?id=1196452 + +This change introduces a new state "tentative" for device units. Device +units are considered "plugged" when udev announced them, "dead" when +they are not available in the kernel, and "tentative" when they are +referenced in /proc/self/mountinfo or /proc/swaps but not (yet) +announced via udev. + +This should fix a race when device nodes (like loop devices) are created +and immediately mounted. Previously, systemd might end up seeing the +mount unit before the device, and would thus pull down the mount because +its BindTo dependency on the device would not be fulfilled. +=== +[The bug can be triggered by + cp -a /dev/sda1 (pick any source) /dev/xxx; mount /dev/xxx /mnt; + since "xxx" is a device udev does not know about even if it runs + and is race-free in the moment you are trying. + -jengelh] +--- + src/core/device.c | 368 +++++++++++++++++++++++++++++++++--------------------- + src/core/device.h | 14 ++- + src/core/mount.c | 46 ++++--- + src/core/swap.c | 32 +++-- + src/core/swap.h | 4 +- + src/core/unit.c | 1 - + 6 files changed, 285 insertions(+), 180 deletions(-) + +diff --git a/src/core/device.c b/src/core/device.c +index 2d983cc..e41ed41 100644 +--- a/src/core/device.c ++++ b/src/core/device.c +@@ -34,7 +34,8 @@ + + static const UnitActiveState state_translation_table[_DEVICE_STATE_MAX] = { + [DEVICE_DEAD] = UNIT_INACTIVE, +- [DEVICE_PLUGGED] = UNIT_ACTIVE ++ [DEVICE_TENTATIVE] = UNIT_ACTIVATING, ++ [DEVICE_PLUGGED] = UNIT_ACTIVE, + }; + + static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata); +@@ -63,6 +64,41 @@ static void device_unset_sysfs(Device *d) { + d->sysfs = NULL; + } + ++static int device_set_sysfs(Device *d, const char *sysfs) { ++ Device *first; ++ char *copy; ++ int r; ++ ++ assert(d); ++ ++ if (streq_ptr(d->sysfs, sysfs)) ++ return 0; ++ ++ r = hashmap_ensure_allocated(&UNIT(d)->manager->devices_by_sysfs, &string_hash_ops); ++ if (r < 0) ++ return r; ++ ++ copy = strdup(sysfs); ++ if (!copy) ++ return -ENOMEM; ++ ++ device_unset_sysfs(d); ++ ++ first = hashmap_get(UNIT(d)->manager->devices_by_sysfs, sysfs); ++ LIST_PREPEND(same_sysfs, first, d); ++ ++ r = hashmap_replace(UNIT(d)->manager->devices_by_sysfs, copy, first); ++ if (r < 0) { ++ LIST_REMOVE(same_sysfs, first, d); ++ free(copy); ++ return r; ++ } ++ ++ d->sysfs = copy; ++ ++ return 0; ++} ++ + static void device_init(Unit *u) { + Device *d = DEVICE(u); + +@@ -110,8 +146,13 @@ static int device_coldplug(Unit *u) { + assert(d); + assert(d->state == DEVICE_DEAD); + +- if (d->sysfs) ++ if (d->found & DEVICE_FOUND_UDEV) ++ /* If udev says the device is around, it's around */ + device_set_state(d, DEVICE_PLUGGED); ++ else if (d->found != DEVICE_NOT_FOUND) ++ /* If a device is found in /proc/self/mountinfo or ++ * /proc/swaps, it's "tentatively" around. */ ++ device_set_state(d, DEVICE_TENTATIVE); + + return 0; + } +@@ -140,49 +181,9 @@ _pure_ static const char *device_sub_state_to_string(Unit *u) { + return device_state_to_string(DEVICE(u)->state); + } + +-static int device_add_escaped_name(Unit *u, const char *dn) { +- _cleanup_free_ char *e = NULL; +- int r; +- +- assert(u); +- assert(dn); +- assert(dn[0] == '/'); +- +- e = unit_name_from_path(dn, ".device"); +- if (!e) +- return -ENOMEM; +- +- r = unit_add_name(u, e); +- if (r < 0 && r != -EEXIST) +- return r; +- +- return 0; +-} +- +-static int device_find_escape_name(Manager *m, const char *dn, Unit **_u) { +- _cleanup_free_ char *e = NULL; +- Unit *u; +- +- assert(m); +- assert(dn); +- assert(dn[0] == '/'); +- assert(_u); +- +- e = unit_name_from_path(dn, ".device"); +- if (!e) +- return -ENOMEM; +- +- u = manager_get_unit(m, e); +- if (u) { +- *_u = u; +- return 1; +- } +- +- return 0; +-} +- +-static int device_make_description(Unit *u, struct udev_device *dev, const char *path) { ++static int device_update_description(Unit *u, struct udev_device *dev, const char *path) { + const char *model; ++ int r; + + assert(u); + assert(dev); +@@ -207,13 +208,16 @@ static int device_make_description(Unit *u, struct udev_device *dev, const char + + j = strjoin(model, " ", label, NULL); + if (j) +- return unit_set_description(u, j); +- } ++ r = unit_set_description(u, j); ++ } else ++ r = unit_set_description(u, model); ++ } else ++ r = unit_set_description(u, path); + +- return unit_set_description(u, model); +- } ++ if (r < 0) ++ log_unit_error_errno(u->id, r, "Failed to set device description: %m"); + +- return unit_set_description(u, path); ++ return r; + } + + static int device_add_udev_wants(Unit *u, struct udev_device *dev) { +@@ -240,20 +244,20 @@ static int device_add_udev_wants(Unit *u, struct udev_device *dev) { + + n = unit_name_mangle(e, MANGLE_NOGLOB); + if (!n) +- return -ENOMEM; ++ return log_oom(); + + r = unit_add_dependency_by_name(u, UNIT_WANTS, n, NULL, true); + if (r < 0) +- return r; ++ return log_unit_error_errno(u->id, r, "Failed to add wants dependency: %m"); + } + if (!isempty(state)) +- log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", +- property, strna(udev_device_get_syspath(dev))); ++ log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", property, strna(udev_device_get_syspath(dev))); + + return 0; + } + +-static int device_update_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { ++static int device_setup_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { ++ _cleanup_free_ char *e = NULL; + const char *sysfs; + Unit *u = NULL; + bool delete; +@@ -267,12 +271,18 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + if (!sysfs) + return 0; + +- r = device_find_escape_name(m, path, &u); +- if (r < 0) +- return r; ++ e = unit_name_from_path(path, ".device"); ++ if (!e) ++ return log_oom(); ++ ++ u = manager_get_unit(m, e); + +- if (u && DEVICE(u)->sysfs && !path_equal(DEVICE(u)->sysfs, sysfs)) ++ if (u && ++ DEVICE(u)->sysfs && ++ !path_equal(DEVICE(u)->sysfs, sysfs)) { ++ log_unit_error(u->id, "Device %s appeared twice with different sysfs paths %s and %s", e, DEVICE(u)->sysfs, sysfs); + return -EEXIST; ++ } + + if (!u) { + delete = true; +@@ -281,7 +291,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + if (!u) + return log_oom(); + +- r = device_add_escaped_name(u, path); ++ r = unit_add_name(u, e); + if (r < 0) + goto fail; + +@@ -293,37 +303,16 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + * actually been seen yet ->sysfs will not be + * initialized. Hence initialize it if necessary. */ + +- if (!DEVICE(u)->sysfs) { +- Device *first; +- +- DEVICE(u)->sysfs = strdup(sysfs); +- if (!DEVICE(u)->sysfs) { +- r = -ENOMEM; +- goto fail; +- } +- +- r = hashmap_ensure_allocated(&m->devices_by_sysfs, &string_hash_ops); +- if (r < 0) +- goto fail; +- +- first = hashmap_get(m->devices_by_sysfs, sysfs); +- LIST_PREPEND(same_sysfs, first, DEVICE(u)); +- +- r = hashmap_replace(m->devices_by_sysfs, DEVICE(u)->sysfs, first); +- if (r < 0) +- goto fail; +- } +- +- device_make_description(u, dev, path); ++ r = device_set_sysfs(DEVICE(u), sysfs); ++ if (r < 0) ++ goto fail; + +- if (main) { +- /* The additional systemd udev properties we only +- * interpret for the main object */ ++ (void) device_update_description(u, dev, path); + +- r = device_add_udev_wants(u, dev); +- if (r < 0) +- goto fail; +- } ++ /* The additional systemd udev properties we only interpret ++ * for the main object */ ++ if (main) ++ (void) device_add_udev_wants(u, dev); + + /* Note that this won't dispatch the load queue, the caller + * has to do that if needed and appropriate */ +@@ -332,7 +321,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + return 0; + + fail: +- log_warning_errno(r, "Failed to load device unit: %m"); ++ log_unit_warning_errno(u->id, r, "Failed to set up device unit: %m"); + + if (delete && u) + unit_free(u); +@@ -340,7 +329,7 @@ fail: + return r; + } + +-static int device_process_new_device(Manager *m, struct udev_device *dev) { ++static int device_process_new(Manager *m, struct udev_device *dev) { + const char *sysfs, *dn, *alias; + struct udev_list_entry *item = NULL, *first = NULL; + int r; +@@ -352,14 +341,14 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + return 0; + + /* Add the main unit named after the sysfs path */ +- r = device_update_unit(m, dev, sysfs, true); ++ r = device_setup_unit(m, dev, sysfs, true); + if (r < 0) + return r; + + /* Add an additional unit for the device node */ + dn = udev_device_get_devnode(dev); + if (dn) +- device_update_unit(m, dev, dn, false); ++ (void) device_setup_unit(m, dev, dn, false); + + /* Add additional units for all symlinks */ + first = udev_device_get_devlinks_list_entry(dev); +@@ -386,7 +375,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + st.st_rdev != udev_device_get_devnum(dev)) + continue; + +- device_update_unit(m, dev, p, false); ++ (void) device_setup_unit(m, dev, p, false); + } + + /* Add additional units for all explicitly configured +@@ -403,7 +392,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + e[l] = 0; + + if (path_is_absolute(e)) +- device_update_unit(m, dev, e, false); ++ (void) device_setup_unit(m, dev, e, false); + else + log_warning("SYSTEMD_ALIAS for %s is not an absolute path, ignoring: %s", sysfs, e); + } +@@ -414,39 +403,62 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { + return 0; + } + +-static void device_set_path_plugged(Manager *m, struct udev_device *dev) { +- const char *sysfs; ++static void device_update_found_one(Device *d, bool add, DeviceFound found, bool now) { ++ DeviceFound n; ++ ++ assert(d); ++ ++ n = add ? (d->found | found) : (d->found & ~found); ++ if (n == d->found) ++ return; ++ ++ d->found = n; ++ ++ if (now) { ++ if (d->found & DEVICE_FOUND_UDEV) ++ device_set_state(d, DEVICE_PLUGGED); ++ else if (d->found != DEVICE_NOT_FOUND) ++ device_set_state(d, DEVICE_TENTATIVE); ++ else ++ device_set_state(d, DEVICE_DEAD); ++ } ++} ++ ++static int device_update_found_by_sysfs(Manager *m, const char *sysfs, bool add, DeviceFound found, bool now) { + Device *d, *l; + + assert(m); +- assert(dev); ++ assert(sysfs); + +- sysfs = udev_device_get_syspath(dev); +- if (!sysfs) +- return; ++ if (found == DEVICE_NOT_FOUND) ++ return 0; + + l = hashmap_get(m->devices_by_sysfs, sysfs); + LIST_FOREACH(same_sysfs, d, l) +- device_set_state(d, DEVICE_PLUGGED); ++ device_update_found_one(d, add, found, now); ++ ++ return 0; + } + +-static int device_process_removed_device(Manager *m, struct udev_device *dev) { +- const char *sysfs; +- Device *d; ++static int device_update_found_by_name(Manager *m, const char *path, bool add, DeviceFound found, bool now) { ++ _cleanup_free_ char *e = NULL; ++ Unit *u; + + assert(m); +- assert(dev); ++ assert(path); + +- sysfs = udev_device_get_syspath(dev); +- if (!sysfs) +- return -ENOMEM; ++ if (found == DEVICE_NOT_FOUND) ++ return 0; + +- /* Remove all units of this sysfs path */ +- while ((d = hashmap_get(m->devices_by_sysfs, sysfs))) { +- device_unset_sysfs(d); +- device_set_state(d, DEVICE_DEAD); +- } ++ e = unit_name_from_path(path, ".device"); ++ if (!e) ++ return log_oom(); + ++ u = manager_get_unit(m, e); ++ if (!u) ++ return 0; ++ ++ device_update_found_one(DEVICE(u), add, found, now); + return 0; + } + +@@ -462,22 +474,6 @@ static bool device_is_ready(struct udev_device *dev) { + return parse_boolean(ready) != 0; + } + +-static int device_process_new_path(Manager *m, const char *path) { +- _cleanup_udev_device_unref_ struct udev_device *dev = NULL; +- +- assert(m); +- assert(path); +- +- dev = udev_device_new_from_syspath(m->udev, path); +- if (!dev) +- return log_oom(); +- +- if (!device_is_ready(dev)) +- return 0; +- +- return device_process_new_device(m, dev); +-} +- + static Unit *device_following(Unit *u) { + Device *d = DEVICE(u); + Device *other, *first = NULL; +@@ -604,12 +600,31 @@ static int device_enumerate(Manager *m) { + goto fail; + + first = udev_enumerate_get_list_entry(e); +- udev_list_entry_foreach(item, first) +- device_process_new_path(m, udev_list_entry_get_name(item)); ++ udev_list_entry_foreach(item, first) { ++ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; ++ const char *sysfs; ++ ++ sysfs = udev_list_entry_get_name(item); ++ ++ dev = udev_device_new_from_syspath(m->udev, sysfs); ++ if (!dev) { ++ log_oom(); ++ continue; ++ } ++ ++ if (!device_is_ready(dev)) ++ continue; ++ ++ (void) device_process_new(m, dev); ++ ++ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, false); ++ } + + return 0; + + fail: ++ log_error_errno(r, "Failed to enumerate devices: %m"); ++ + device_shutdown(m); + return r; + } +@@ -617,7 +632,7 @@ fail: + static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata) { + _cleanup_udev_device_unref_ struct udev_device *dev = NULL; + Manager *m = userdata; +- const char *action; ++ const char *action, *sysfs; + int r; + + assert(m); +@@ -639,33 +654,47 @@ static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + if (!dev) + return 0; + ++ sysfs = udev_device_get_syspath(dev); ++ if (!sysfs) { ++ log_error("Failed to get udev sys path."); ++ return 0; ++ } ++ + action = udev_device_get_action(dev); + if (!action) { + log_error("Failed to get udev action string."); + return 0; + } + +- if (streq(action, "remove") || !device_is_ready(dev)) { +- r = device_process_removed_device(m, dev); +- if (r < 0) +- log_error_errno(r, "Failed to process device remove event: %m"); +- +- r = swap_process_removed_device(m, dev); ++ if (streq(action, "remove")) { ++ r = swap_process_device_remove(m, dev); + if (r < 0) + log_error_errno(r, "Failed to process swap device remove event: %m"); + +- } else { +- r = device_process_new_device(m, dev); +- if (r < 0) +- log_error_errno(r, "Failed to process device new event: %m"); ++ /* If we get notified that a device was removed by ++ * udev, then it's completely gone, hence unset all ++ * found bits */ ++ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV|DEVICE_FOUND_MOUNT|DEVICE_FOUND_SWAP, true); + +- r = swap_process_new_device(m, dev); ++ } else if (device_is_ready(dev)) { ++ ++ (void) device_process_new(m, dev); ++ ++ r = swap_process_device_new(m, dev); + if (r < 0) + log_error_errno(r, "Failed to process swap device new event: %m"); + + manager_dispatch_load_queue(m); + +- device_set_path_plugged(m, dev); ++ /* The device is found now, set the udev found bit */ ++ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, true); ++ ++ } else { ++ /* The device is nominally around, but not ready for ++ * us. Hence unset the udev bit, but leave the rest ++ * around. */ ++ ++ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV, true); + } + + return 0; +@@ -684,9 +713,58 @@ static bool device_supported(Manager *m) { + return read_only <= 0; + } + ++int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now) { ++ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; ++ struct stat st; ++ ++ assert(m); ++ assert(node); ++ ++ /* This is called whenever we find a device referenced in ++ * /proc/swaps or /proc/self/mounts. Such a device might be ++ * mounted/enabled at a time where udev has not finished ++ * probing it yet, and we thus haven't learned about it ++ * yet. In this case we will set the device unit to ++ * "tentative" state. */ ++ ++ if (add) { ++ if (!path_startswith(node, "/dev")) ++ return 0; ++ ++ if (stat(node, &st) < 0) { ++ if (errno == ENOENT) ++ return 0; ++ ++ return log_error_errno(errno, "Failed to stat device node file %s: %m", node); ++ } ++ ++ if (!S_ISBLK(st.st_mode) && !S_ISCHR(st.st_mode)) ++ return 0; ++ ++ dev = udev_device_new_from_devnum(m->udev, S_ISBLK(st.st_mode) ? 'b' : 'c', st.st_rdev); ++ if (!dev) { ++ if (errno == ENOENT) ++ return 0; ++ ++ return log_oom(); ++ } ++ ++ /* If the device is known in the kernel and newly ++ * appeared, then we'll create a device unit for it, ++ * under the name referenced in /proc/swaps or ++ * /proc/self/mountinfo. */ ++ ++ (void) device_setup_unit(m, dev, node, false); ++ } ++ ++ /* Update the device unit's state, should it exist */ ++ return device_update_found_by_name(m, node, add, found, now); ++} ++ + static const char* const device_state_table[_DEVICE_STATE_MAX] = { + [DEVICE_DEAD] = "dead", +- [DEVICE_PLUGGED] = "plugged" ++ [DEVICE_TENTATIVE] = "tentative", ++ [DEVICE_PLUGGED] = "plugged", + }; + + DEFINE_STRING_TABLE_LOOKUP(device_state, DeviceState); +diff --git a/src/core/device.h b/src/core/device.h +index 9065085..9f46e08 100644 +--- a/src/core/device.h ++++ b/src/core/device.h +@@ -28,20 +28,28 @@ typedef struct Device Device; + * simplifies the state engine greatly */ + typedef enum DeviceState { + DEVICE_DEAD, +- DEVICE_PLUGGED, ++ DEVICE_TENTATIVE, /* mounted or swapped, but not (yet) announced by udev */ ++ DEVICE_PLUGGED, /* announced by udev */ + _DEVICE_STATE_MAX, + _DEVICE_STATE_INVALID = -1 + } DeviceState; + ++typedef enum DeviceFound { ++ DEVICE_NOT_FOUND = 0, ++ DEVICE_FOUND_UDEV = 1, ++ DEVICE_FOUND_MOUNT = 2, ++ DEVICE_FOUND_SWAP = 4, ++} DeviceFound; ++ + struct Device { + Unit meta; + + char *sysfs; ++ DeviceFound found; + + /* In order to be able to distinguish dependencies on + different device nodes we might end up creating multiple + devices for the same sysfs path. We chain them up here. */ +- + LIST_FIELDS(struct Device, same_sysfs); + + DeviceState state; +@@ -51,3 +59,5 @@ extern const UnitVTable device_vtable; + + const char* device_state_to_string(DeviceState i) _const_; + DeviceState device_state_from_string(const char *s) _pure_; ++ ++int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now); +diff --git a/src/core/mount.c b/src/core/mount.c +index 40037e7..8e4a376 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1386,7 +1386,7 @@ static int mount_dispatch_timer(sd_event_source *source, usec_t usec, void *user + return 0; + } + +-static int mount_add_one( ++static int mount_setup_unit( + Manager *m, + const char *what, + const char *where, +@@ -1429,7 +1429,7 @@ static int mount_add_one( + + u = unit_new(m, sizeof(Mount)); + if (!u) +- return -ENOMEM; ++ return log_oom(); + + r = unit_add_name(u, e); + if (r < 0) +@@ -1542,6 +1542,8 @@ static int mount_add_one( + return 0; + + fail: ++ log_warning_errno(r, "Failed to set up mount unit: %m"); ++ + if (delete && u) + unit_free(u); + +@@ -1549,33 +1551,36 @@ fail: + } + + static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { +- _cleanup_(mnt_free_tablep) struct libmnt_table *tb = NULL; +- _cleanup_(mnt_free_iterp) struct libmnt_iter *itr = NULL; +- struct libmnt_fs *fs; ++ _cleanup_(mnt_free_tablep) struct libmnt_table *t = NULL; ++ _cleanup_(mnt_free_iterp) struct libmnt_iter *i = NULL; + int r = 0; + + assert(m); + +- tb = mnt_new_table(); +- itr = mnt_new_iter(MNT_ITER_FORWARD); +- if (!tb || !itr) ++ t = mnt_new_table(); ++ if (!t) + return log_oom(); + +- r = mnt_table_parse_mtab(tb, NULL); ++ i = mnt_new_iter(MNT_ITER_FORWARD); ++ if (!i) ++ return log_oom(); ++ ++ r = mnt_table_parse_mtab(t, NULL); + if (r < 0) +- return r; ++ return log_error_errno(r, "Failed to parse /proc/self/mountinfo: %m"); + + r = 0; + for (;;) { + const char *device, *path, *options, *fstype; + _cleanup_free_ const char *d = NULL, *p = NULL; ++ struct libmnt_fs *fs; + int k; + +- k = mnt_table_next_fs(tb, itr, &fs); ++ k = mnt_table_next_fs(t, i, &fs); + if (k == 1) + break; +- else if (k < 0) +- return log_error_errno(k, "Failed to get next entry from /etc/fstab: %m"); ++ if (k < 0) ++ return log_error_errno(k, "Failed to get next entry from /proc/self/mountinfo: %m"); + + device = mnt_fs_get_source(fs); + path = mnt_fs_get_target(fs); +@@ -1583,11 +1588,16 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { + fstype = mnt_fs_get_fstype(fs); + + d = cunescape(device); ++ if (!d) ++ return log_oom(); ++ + p = cunescape(path); +- if (!d || !p) ++ if (!p) + return log_oom(); + +- k = mount_add_one(m, d, p, options, fstype, set_flags); ++ (void) device_found_node(m, d, true, DEVICE_FOUND_MOUNT, set_flags); ++ ++ k = mount_setup_unit(m, d, p, options, fstype, set_flags); + if (r == 0 && k < 0) + r = k; + } +@@ -1731,8 +1741,6 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + + r = mount_load_proc_self_mountinfo(m, true); + if (r < 0) { +- log_error_errno(r, "Failed to reread /proc/self/mountinfo: %m"); +- + /* Reset flags, just in case, for later calls */ + LIST_FOREACH(units_by_type, u, m->units_by_type[UNIT_MOUNT]) { + Mount *mount = MOUNT(u); +@@ -1765,6 +1773,10 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + break; + } + ++ if (mount->parameters_proc_self_mountinfo.what) ++ (void) device_found_node(m, mount->parameters_proc_self_mountinfo.what, false, DEVICE_FOUND_MOUNT, true); ++ ++ + } else if (mount->just_mounted || mount->just_changed) { + + /* New or changed mount entry */ +diff --git a/src/core/swap.c b/src/core/swap.c +index f73a8e6..de3a5d8 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -331,7 +331,7 @@ static int swap_load(Unit *u) { + return swap_verify(s); + } + +-static int swap_add_one( ++static int swap_setup_unit( + Manager *m, + const char *what, + const char *what_proc_swaps, +@@ -356,8 +356,10 @@ static int swap_add_one( + + if (u && + SWAP(u)->from_proc_swaps && +- !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) ++ !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) { ++ log_error("Swap %s appeared twice with different device paths %s and %s", e, SWAP(u)->parameters_proc_swaps.what, what_proc_swaps); + return -EEXIST; ++ } + + if (!u) { + delete = true; +@@ -372,7 +374,7 @@ static int swap_add_one( + + SWAP(u)->what = strdup(what); + if (!SWAP(u)->what) { +- r = log_oom(); ++ r = -ENOMEM; + goto fail; + } + +@@ -400,7 +402,6 @@ static int swap_add_one( + p->priority = priority; + + unit_add_to_dbus_queue(u); +- + return 0; + + fail: +@@ -412,7 +413,7 @@ fail: + return r; + } + +-static int swap_process_new_swap(Manager *m, const char *device, int prio, bool set_flags) { ++static int swap_process_new(Manager *m, const char *device, int prio, bool set_flags) { + _cleanup_udev_device_unref_ struct udev_device *d = NULL; + struct udev_list_entry *item = NULL, *first = NULL; + const char *dn; +@@ -421,7 +422,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool + + assert(m); + +- r = swap_add_one(m, device, device, prio, set_flags); ++ r = swap_setup_unit(m, device, device, prio, set_flags); + if (r < 0) + return r; + +@@ -437,7 +438,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool + /* Add the main device node */ + dn = udev_device_get_devnode(d); + if (dn && !streq(dn, device)) +- swap_add_one(m, dn, device, prio, set_flags); ++ swap_setup_unit(m, dn, device, prio, set_flags); + + /* Add additional units for all symlinks */ + first = udev_device_get_devlinks_list_entry(d); +@@ -458,7 +459,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool + st.st_rdev != udev_device_get_devnum(d)) + continue; + +- swap_add_one(m, p, device, prio, set_flags); ++ swap_setup_unit(m, p, device, prio, set_flags); + } + + return r; +@@ -1084,15 +1085,17 @@ static int swap_load_proc_swaps(Manager *m, bool set_flags) { + if (k == EOF) + break; + +- log_warning("Failed to parse /proc/swaps:%u", i); ++ log_warning("Failed to parse /proc/swaps:%u.", i); + continue; + } + + d = cunescape(dev); + if (!d) +- return -ENOMEM; ++ return log_oom(); ++ ++ device_found_node(m, d, true, DEVICE_FOUND_SWAP, set_flags); + +- k = swap_process_new_swap(m, d, prio, set_flags); ++ k = swap_process_new(m, d, prio, set_flags); + if (k < 0) + r = k; + } +@@ -1144,6 +1147,9 @@ static int swap_dispatch_io(sd_event_source *source, int fd, uint32_t revents, v + break; + } + ++ if (swap->what) ++ device_found_node(m, swap->what, false, DEVICE_FOUND_SWAP, true); ++ + } else if (swap->just_activated) { + + /* New swap entry */ +@@ -1291,7 +1297,7 @@ fail: + return r; + } + +-int swap_process_new_device(Manager *m, struct udev_device *dev) { ++int swap_process_device_new(Manager *m, struct udev_device *dev) { + struct udev_list_entry *item = NULL, *first = NULL; + _cleanup_free_ char *e = NULL; + const char *dn; +@@ -1334,7 +1340,7 @@ int swap_process_new_device(Manager *m, struct udev_device *dev) { + return r; + } + +-int swap_process_removed_device(Manager *m, struct udev_device *dev) { ++int swap_process_device_remove(Manager *m, struct udev_device *dev) { + const char *dn; + int r = 0; + Swap *s; +diff --git a/src/core/swap.h b/src/core/swap.h +index c36c6f2..5de8c20 100644 +--- a/src/core/swap.h ++++ b/src/core/swap.h +@@ -115,8 +115,8 @@ struct Swap { + + extern const UnitVTable swap_vtable; + +-int swap_process_new_device(Manager *m, struct udev_device *dev); +-int swap_process_removed_device(Manager *m, struct udev_device *dev); ++int swap_process_device_new(Manager *m, struct udev_device *dev); ++int swap_process_device_remove(Manager *m, struct udev_device *dev); + + const char* swap_state_to_string(SwapState i) _const_; + SwapState swap_state_from_string(const char *s) _pure_; +diff --git a/src/core/unit.c b/src/core/unit.c +index 63ccd67..7cd7043 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -2834,7 +2834,6 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { + return -ENOMEM; + + r = manager_load_unit(u->manager, e, NULL, NULL, &device); +- + if (r < 0) + return r; + +-- +2.1.4 + diff --git a/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch b/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch deleted file mode 100644 index 18e76f4f..00000000 --- a/0001-core-swap-only-make-configured-units-part-of-swap.ta.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 3018d31238caabc2e204aa161e647dc1c1b5d1c6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 2 Oct 2014 00:11:36 -0400 -Subject: [PATCH] core/swap: only make configured units part of swap.target - -We used to make all .swap units either RequiredBy=swap.target or -WantedBy=swap.target. But swap.target should be the "configured swap -units", either through /etc/fstab or non-generated .swap units. It -is surprising when systemd starts treating a swap device that was -possibly temporarily enabled as a hard dependency for other units. -So do not add dependencies with swap.target for units gleaned from -/proc/swaps. - -Similarly, we added dependencies for all aliases of the device name, -which clutters up the dependency graph but does not seem to bring any -value, since the status of those following units is consistent with -the main one anyway. - -This should be a fix for [1], and it seems the right thing to do -anyway. - -[1] https://bugzilla.redhat.com/show_bug.cgi?id=1114786 ---- - src/core/swap.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git src/core/swap.c src/core/swap.c -index ef90d0e..b2ca048 100644 ---- src/core/swap.c -+++ src/core/swap.c -@@ -213,7 +213,7 @@ static int swap_add_device_links(Swap *s) { - } - - static int swap_add_default_dependencies(Swap *s) { -- bool nofail = false, noauto = false; -+ bool nofail, noauto; - int r; - - assert(s); -@@ -228,23 +228,25 @@ static int swap_add_default_dependencies(Swap *s) { - if (r < 0) - return r; - -- if (s->from_fragment) { -- SwapParameters *p = &s->parameters_fragment; -+ if (!s->from_fragment) -+ /* The swap unit can either be for an alternative device name, in which -+ * case we don't need to add the dependency on swap.target because this unit -+ * is following a different unit which will have this dependency added, -+ * or it can be derived from /proc/swaps, in which case it was started -+ * manually, and should not become a dependency of swap.target. */ -+ return 0; - -- nofail = p->nofail; -- noauto = p->noauto; -- } -+ nofail = s->parameters_fragment.nofail; -+ noauto = s->parameters_fragment.noauto; - - if (!noauto) { - if (nofail) - r = unit_add_dependency_by_name_inverse(UNIT(s), UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); - else - r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); -- if (r < 0) -- return r; - } - -- return 0; -+ return r < 0 ? r : 0; - } - - static int swap_verify(Swap *s) { --- -1.7.9.2 - diff --git a/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch b/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch deleted file mode 100644 index 06371697..00000000 --- a/0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0404c609f399b2092a3de52eef9d75b0dc12e94c Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 12 May 2014 21:26:54 +0200 -Subject: [PATCH] core: sysvcompat - $network should be equivalent to - network-online, rather than network target -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Most likely the facility needed is actual connectivity, rather than whether or not the -network managment daemon is running. - -We also need to explicitly pull in the network-online.target, as it is not active by -default. - -This means {systemd-networkd,NetworkManager}-wait-online.service, can be enabled by default -as part of network-online.target, and only delay boot when some service actively pulls it in. - -See: - -Cc: Pavel Šimerda -Cc: Michal Sekletar ---- - TODO | 4 ---- - src/core/service.c | 8 ++++++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -Modified by Andrey Borzenkov for openSUSE. -Index: systemd-210/src/core/service.c -=================================================================== ---- systemd-210.orig/src/core/service.c -+++ systemd-210/src/core/service.c -@@ -404,7 +404,7 @@ static int sysv_translate_facility(const - static const char * const table[] = { - /* LSB defined facilities */ - "local_fs", NULL, -- "network", SPECIAL_NETWORK_TARGET, -+ "network", SPECIAL_NETWORK_ONLINE_TARGET, - "named", SPECIAL_NSS_LOOKUP_TARGET, - "portmap", SPECIAL_RPCBIND_TARGET, - "remote_fs", SPECIAL_REMOTE_FS_TARGET, -@@ -881,6 +881,9 @@ static int service_load_sysv_path(Servic - if (r == 0) - continue; - -+ if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && d == UNIT_AFTER && e == _UNIT_DEPENDENCY_INVALID) -+ e = UNIT_WANTS; -+ - if (e != _UNIT_DEPENDENCY_INVALID) - r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); - else diff --git a/0001-core-use-correct-format-string-for-UIDs.patch b/0001-core-use-correct-format-string-for-UIDs.patch deleted file mode 100644 index f0906df0..00000000 --- a/0001-core-use-correct-format-string-for-UIDs.patch +++ /dev/null @@ -1,20 +0,0 @@ -Based on d6239dc4b0cf55a953d6c40890859b85d504ef19 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= -Date: Wed, 25 Jun 2014 14:54:48 +0200 -Subject: [PATCH] core: use correct format string for UIDs - ---- - src/core/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/main.c -+++ src/core/main.c 2014-06-26 09:29:28.182235325 +0000 -@@ -1526,7 +1526,7 @@ int main(int argc, char *argv[]) { - - } else { - _cleanup_free_ char *t = uid_to_name(getuid()); -- log_debug(PACKAGE_STRING " running in user mode for user "PID_FMT"/%s. (" SYSTEMD_FEATURES ")", -+ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", - getuid(), t); - } - diff --git a/0001-detect-virt-Fix-Xen-domU-discovery.patch b/0001-detect-virt-Fix-Xen-domU-discovery.patch deleted file mode 100644 index 8582f560..00000000 --- a/0001-detect-virt-Fix-Xen-domU-discovery.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a71516dfd1858f37712ef52a288bf5fb274383e0 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Thu, 17 Jul 2014 11:25:37 +0200 -Subject: [PATCH] detect-virt: Fix Xen domU discovery - -The conditional for detection xen virtualization contained a little mistake. -It is checking for i to be empty: 'if (!i) {', but it must check for cap instead, -because: 'cap = strsep(&i, ",")' will set cap to the discovered value and i to -the next value after the separator. -Hence, i would be empty, if there is only control_d in domcap, leading to a wrong -domU detection. - -https://bugs.freedesktop.org/show_bug.cgi?id=77271 ---- - src/shared/virt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/virt.c src/shared/virt.c -index 774915f..20a8d7c 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -173,7 +173,7 @@ int detect_vm(const char **id) { - if (streq(cap, "control_d")) - break; - -- if (!i) { -+ if (!cap) { - _id = "xen"; - r = 1; - } --- -1.7.9.2 - diff --git a/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch b/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch deleted file mode 100644 index d087eeb6..00000000 --- a/0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on 0d522a7a0547982eae9ab1b5971e4bed9c2fbc7c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 24 Apr 2014 08:11:39 +0200 -Subject: [PATCH] errno: make sure to handle the 3 errnos that are aliases for - others properly - ---- - Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- Makefile.am -+++ Makefile.am 2014-05-12 00:00:00.000000000 +0000 -@@ -1078,7 +1078,7 @@ BUILT_SOURCES += \ - - src/shared/errno-list.txt: - $(AM_V_at)$(MKDIR_P) $(dir $@) -- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }' > $@ -+ $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' > $@ - - src/shared/errno-from-name.gperf: src/shared/errno-list.txt - $(AM_V_at)$(MKDIR_P) $(dir $@) -@@ -1090,7 +1090,7 @@ src/shared/errno-from-name.h: src/shared - - src/shared/errno-to-name.h: src/shared/errno-list.txt - $(AM_V_at)$(MKDIR_P) $(dir $@) -- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ -+ $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ - - # ------------------------------------------------------------------------------ - systemd_SOURCES = \ diff --git a/0001-event-pull-in-sd-event.h-from-event-util.h.patch b/0001-event-pull-in-sd-event.h-from-event-util.h.patch deleted file mode 100644 index e9fc98ce..00000000 --- a/0001-event-pull-in-sd-event.h-from-event-util.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 138992534878483de28417dfc61c546bba5cb8ad Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 10 Jul 2014 18:25:08 +0200 -Subject: [PATCH] event: pull in sd-event.h from event-util.h - ---- - src/libsystemd/sd-event/event-util.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/libsystemd/sd-event/event-util.h src/libsystemd/sd-event/event-util.h -index e58020d..e7cad9b 100644 ---- src/libsystemd/sd-event/event-util.h -+++ src/libsystemd/sd-event/event-util.h -@@ -22,6 +22,7 @@ - ***/ - - #include "util.h" -+#include "sd-event.h" - - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event*, sd_event_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_event_source*, sd_event_source_unref); --- -1.7.9.2 - diff --git a/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch b/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch deleted file mode 100644 index be9add48..00000000 --- a/0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 9c4495ca561624c2f0085507dd1288ed5f1247c5 Mon Sep 17 00:00:00 2001 -From: Tomasz Torcz -Date: Wed, 12 Mar 2014 19:25:11 +0100 -Subject: [PATCH] gpt-auto-generator: don't return OOM on parentless devices - ---- - src/gpt-auto-generator/gpt-auto-generator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/gpt-auto-generator/gpt-auto-generator.c -+++ src/gpt-auto-generator/gpt-auto-generator.c 2014-03-18 13:35:11.438235125 +0000 -@@ -254,7 +254,7 @@ static int enumerate_partitions(struct u - - parent = udev_device_get_parent(d); - if (!parent) -- return log_oom(); -+ return 0; - - r = udev_enumerate_add_match_parent(e, parent); - if (r < 0) diff --git a/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 15de6363..00000000 --- a/0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e525326bd07ebf3cabcfd730bc479166723f2d44 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Sun, 2 Mar 2014 10:02:10 -0800 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index db3bc24..0335a71 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -902,3 +902,12 @@ bluetooth:v0129* - - bluetooth:v012A* - ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd -+ -+bluetooth:v012B* -+ ID_VENDOR_FROM_DATABASE=SportIQ -+ -+bluetooth:v012C* -+ ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V. -+ -+bluetooth:v012D* -+ ID_VENDOR_FROM_DATABASE=Sony Corporation --- -1.7.9.2 - diff --git a/0001-hwdb-fix-case-sensitive-match.patch b/0001-hwdb-fix-case-sensitive-match.patch deleted file mode 100644 index 64642714..00000000 --- a/0001-hwdb-fix-case-sensitive-match.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4c02dd7153f970244950b5e00f7bdfea8d2ff0be Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 17:55:14 +0200 -Subject: [PATCH] hwdb: fix case-sensitive match - ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index d053766..c7ff4e4 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -870,7 +870,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* - ########################################################### - - # Plantronics .Audio 626 DSP --keyboard:usb:v047fpC006* -+keyboard:usb:v047FpC006* - KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute - - ########################################################### --- -1.7.9.2 - diff --git a/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch b/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch deleted file mode 100644 index d3acf899..00000000 --- a/0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 77e8ff6974ffaa6c9954e3d2264d9aa75ef25233 Mon Sep 17 00:00:00 2001 -From: Kieran Clancy -Date: Thu, 27 Feb 2014 16:02:57 +1030 -Subject: [PATCH] hwdb: keymaps for Samsung 900X3E/900X3F - -Keymaps for Samsung 900X3E and 900X3F should be the same as for other -models in the series. - -I have also moved the comment for '# Series 9' to the right place ---- - hwdb/60-keyboard.hwdb | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index edfa842..bd8fd10 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -897,9 +897,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* - KEYBOARD_KEY_a8=! # Fn Lock - Function lock on - KEYBOARD_KEY_a9=! # Fn Lock - Function lock off - -+# Series 7 / 9 - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* --keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDG]*:pvr* -+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* - KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings - KEYBOARD_KEY_a0=!mute # Fn+F6 mute -@@ -909,7 +910,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* - KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up - KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer - --# Series 9 - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr* - KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up - KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down --- -1.7.9.2 - diff --git a/0001-hwdb-update.patch b/0001-hwdb-update.patch deleted file mode 100644 index f487f680..00000000 --- a/0001-hwdb-update.patch +++ /dev/null @@ -1,6590 +0,0 @@ -From 6080625dc833144aca0817d1b9fd23f2fbcdf5c2 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 18 Mar 2014 16:17:51 +0100 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 779 +++++++++++++++++-- - hwdb/20-pci-vendor-model.hwdb | 1671 ++++++++++++++++++++++++++++++++++++----- - hwdb/20-usb-vendor-model.hwdb | 119 ++- - 3 files changed, 2330 insertions(+), 239 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index a51a00a..209b89e 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -13558,6 +13558,9 @@ OUI:40D8551CA* - OUI:40D8551CB* - ID_OUI_FROM_DATABASE=MG S.r.l. - -+OUI:40D8551CC* -+ ID_OUI_FROM_DATABASE=NKT Photonics A/S -+ - OUI:40D8551CD* - ID_OUI_FROM_DATABASE=YXLON International A/S - -@@ -13630,6 +13633,9 @@ OUI:40D8551E3* - OUI:40D8551E4* - ID_OUI_FROM_DATABASE=STEK Ltd - -+OUI:40D85550D* -+ ID_OUI_FROM_DATABASE=Shenzhen MaiWei Cable TV Equipment CO.,LTD. -+ - OUI:40D855EE6* - ID_OUI_FROM_DATABASE=Narinet, Inc. - -@@ -13703,7 +13709,7 @@ OUI:000016* - ID_OUI_FROM_DATABASE=DU PONT PIXEL SYSTEMS . - - OUI:000017* -- ID_OUI_FROM_DATABASE=TEKELEC -+ ID_OUI_FROM_DATABASE=Oracle - - OUI:000018* - ID_OUI_FROM_DATABASE=WEBSTER COMPUTER CORPORATION -@@ -18029,7 +18035,7 @@ OUI:0005BB* - ID_OUI_FROM_DATABASE=Myspace AB - - OUI:0005BC* -- ID_OUI_FROM_DATABASE=Resorsys Ltd. -+ ID_OUI_FROM_DATABASE=Resource Data Management Ltd - - OUI:0005BD* - ID_OUI_FROM_DATABASE=ROAX BV -@@ -18977,7 +18983,7 @@ OUI:0006F7* - ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. - - OUI:0006F8* -- ID_OUI_FROM_DATABASE=CPU Technology, Inc. -+ ID_OUI_FROM_DATABASE=The Boeing Company - - OUI:0006F9* - ID_OUI_FROM_DATABASE=Mitsui Zosen Systems Research Inc. -@@ -19337,7 +19343,7 @@ OUI:00076F* - ID_OUI_FROM_DATABASE=Synoptics Limited - - OUI:000770* -- ID_OUI_FROM_DATABASE=Locusnetworks Corporation -+ ID_OUI_FROM_DATABASE=Ubiquoss Inc - - OUI:000771* - ID_OUI_FROM_DATABASE=Embedded System Corporation -@@ -19616,7 +19622,7 @@ OUI:0007CC* - ID_OUI_FROM_DATABASE=Kaba Benzing GmbH - - OUI:0007CD* -- ID_OUI_FROM_DATABASE=NMTEL Co., Ltd. -+ ID_OUI_FROM_DATABASE=Kumoh Electronic Co, Ltd - - OUI:0007CE* - ID_OUI_FROM_DATABASE=Cabletime Limited -@@ -21584,7 +21590,7 @@ OUI:000A78* - ID_OUI_FROM_DATABASE=OLITEC - - OUI:000A79* -- ID_OUI_FROM_DATABASE=Allied Telesis K.K. corega division -+ ID_OUI_FROM_DATABASE=corega K.K - - OUI:000A7A* - ID_OUI_FROM_DATABASE=Kyoritsu Electric Co., Ltd. -@@ -22643,7 +22649,7 @@ OUI:000BDA* - ID_OUI_FROM_DATABASE=EyeCross Co.,Inc. - - OUI:000BDB* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:000BDC* - ID_OUI_FROM_DATABASE=AKCP -@@ -23774,7 +23780,7 @@ OUI:000D55* - ID_OUI_FROM_DATABASE=SANYCOM Technology Co.,Ltd - - OUI:000D56* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:000D57* - ID_OUI_FROM_DATABASE=Fujitsu I-Network Systems Limited. -@@ -25118,7 +25124,7 @@ OUI:000F1E* - ID_OUI_FROM_DATABASE=Chengdu KT Electric Co.of High & New Technology - - OUI:000F1F* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:000F20* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company -@@ -26435,7 +26441,7 @@ OUI:0010D5* - ID_OUI_FROM_DATABASE=IMASDE CANARIAS, S.A. - - OUI:0010D6* -- ID_OUI_FROM_DATABASE=ITT - A/CD -+ ID_OUI_FROM_DATABASE=Exelis - - OUI:0010D7* - ID_OUI_FROM_DATABASE=ARGOSY RESEARCH INC. -@@ -26762,7 +26768,7 @@ OUI:001142* - ID_OUI_FROM_DATABASE=e-SMARTCOM INC. - - OUI:001143* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001144* - ID_OUI_FROM_DATABASE=Assurance Technology Corp -@@ -27518,7 +27524,7 @@ OUI:00123E* - ID_OUI_FROM_DATABASE=ERUNE technology Co., Ltd. - - OUI:00123F* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001240* - ID_OUI_FROM_DATABASE=AMOI ELECTRONICS CO.,LTD -@@ -28439,7 +28445,7 @@ OUI:001371* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - - OUI:001372* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001373* - ID_OUI_FROM_DATABASE=BLwave Electronics Co., Ltd -@@ -28967,7 +28973,7 @@ OUI:001421* - ID_OUI_FROM_DATABASE=Total Wireless Technologies Pte. Ltd. - - OUI:001422* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001423* - ID_OUI_FROM_DATABASE=J-S Co. NEUROCOM -@@ -30104,7 +30110,7 @@ OUI:00159C* - ID_OUI_FROM_DATABASE=B-KYUNG SYSTEM Co.,Ltd. - - OUI:00159D* -- ID_OUI_FROM_DATABASE=Minicom Advanced Systems ltd -+ ID_OUI_FROM_DATABASE=Tripp Lite - - OUI:00159E* - ID_OUI_FROM_DATABASE=Mad Catz Interactive Inc -@@ -30224,7 +30230,7 @@ OUI:0015C4* - ID_OUI_FROM_DATABASE=FLOVEL CO., LTD. - - OUI:0015C5* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:0015C6* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. -@@ -30914,7 +30920,7 @@ OUI:0016AA* - ID_OUI_FROM_DATABASE=Kei Communication Technology Inc. - - OUI:0016AB* -- ID_OUI_FROM_DATABASE=PBI-Dansensor A/S -+ ID_OUI_FROM_DATABASE=Dansensor A/S - - OUI:0016AC* - ID_OUI_FROM_DATABASE=Toho Technology Corp. -@@ -32342,7 +32348,7 @@ OUI:00188A* - ID_OUI_FROM_DATABASE=Infinova LLC - - OUI:00188B* -- ID_OUI_FROM_DATABASE=Dell ESG PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:00188C* - ID_OUI_FROM_DATABASE=Mobile Action Technology Inc. -@@ -35348,7 +35354,7 @@ OUI:001C74* - ID_OUI_FROM_DATABASE=Syswan Technologies Inc. - - OUI:001C75* -- ID_OUI_FROM_DATABASE=RF Systems GmbH -+ ID_OUI_FROM_DATABASE=Segnet Ltd. - - OUI:001C76* - ID_OUI_FROM_DATABASE=The Wandsworth Group Ltd -@@ -35831,7 +35837,7 @@ OUI:001D15* - ID_OUI_FROM_DATABASE=Shenzhen Dolphin Electronic Co., Ltd - - OUI:001D16* -- ID_OUI_FROM_DATABASE=Efixo -+ ID_OUI_FROM_DATABASE=SFR - - OUI:001D17* - ID_OUI_FROM_DATABASE=Digital Sky Corporation -@@ -35957,7 +35963,7 @@ OUI:001D3F* - ID_OUI_FROM_DATABASE=Mitron Pty Ltd - - OUI:001D40* -- ID_OUI_FROM_DATABASE=Living Independently Group, Inc. -+ ID_OUI_FROM_DATABASE=Intel – GE Care Innovations LLC - - OUI:001D41* - ID_OUI_FROM_DATABASE=Hardy Instruments -@@ -35969,7 +35975,7 @@ OUI:001D43* - ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. - - OUI:001D44* -- ID_OUI_FROM_DATABASE=Krohne -+ ID_OUI_FROM_DATABASE=KROHNE - - OUI:001D45* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. -@@ -40316,7 +40322,7 @@ OUI:0022EE* - ID_OUI_FROM_DATABASE=Algo Communication Products Ltd - - OUI:0022EF* -- ID_OUI_FROM_DATABASE=Ibis Tek, LLC -+ ID_OUI_FROM_DATABASE=iWDL Technologies - - OUI:0022F0* - ID_OUI_FROM_DATABASE=3 Greens Aviation Limited -@@ -40361,7 +40367,7 @@ OUI:0022FE* - ID_OUI_FROM_DATABASE=Microprocessor Designs Inc - - OUI:0022FF* -- ID_OUI_FROM_DATABASE=NIVIS LLC -+ ID_OUI_FROM_DATABASE=iWDL Technologies - - OUI:002300* - ID_OUI_FROM_DATABASE=Cayee Computer Ltd. -@@ -41258,7 +41264,7 @@ OUI:00242E* - ID_OUI_FROM_DATABASE=Datastrip Inc. - - OUI:00242F* -- ID_OUI_FROM_DATABASE=VirtenSys Inc -+ ID_OUI_FROM_DATABASE=Micron - - OUI:002430* - ID_OUI_FROM_DATABASE=Ruby Tech Corp. -@@ -43028,7 +43034,7 @@ OUI:002686* - ID_OUI_FROM_DATABASE=Quantenna Communcations, Inc. - - OUI:002687* -- ID_OUI_FROM_DATABASE=ALLIED TELESIS, K.K corega division. -+ ID_OUI_FROM_DATABASE=Corega K.K - - OUI:002688* - ID_OUI_FROM_DATABASE=Juniper Networks -@@ -46118,7 +46124,7 @@ OUI:00605F* - ID_OUI_FROM_DATABASE=NIPPON UNISOFT CORPORATION - - OUI:006060* -- ID_OUI_FROM_DATABASE=DAWNING TECHNOLOGIES, INC. -+ ID_OUI_FROM_DATABASE=Data Innovations North America - - OUI:006061* - ID_OUI_FROM_DATABASE=WHISTLE COMMUNICATIONS CORP. -@@ -46621,12 +46627,18 @@ OUI:0070B0* - OUI:0070B3* - ID_OUI_FROM_DATABASE=DATA RECALL LTD. - -+OUI:0071CC* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:00738D* - ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp - - OUI:0073E0* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:007532* -+ ID_OUI_FROM_DATABASE=INID BV -+ - OUI:0075E1* - ID_OUI_FROM_DATABASE=Ampt, LLC - -@@ -48623,7 +48635,7 @@ OUI:00A086* - ID_OUI_FROM_DATABASE=AMBER WAVE SYSTEMS, INC. - - OUI:00A087* -- ID_OUI_FROM_DATABASE=Zarlink Semiconductor Ltd. -+ ID_OUI_FROM_DATABASE=Microsemi Corporation - - OUI:00A088* - ID_OUI_FROM_DATABASE=ESSENTIAL COMMUNICATIONS -@@ -49009,6 +49021,9 @@ OUI:00AA3C* - OUI:00AA70* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:00ACE0* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:00B009* - ID_OUI_FROM_DATABASE=Grass Valley Group - -@@ -51550,6 +51565,9 @@ OUI:00E0FE* - OUI:00E0FF* - ID_OUI_FROM_DATABASE=SECURITY DYNAMICS TECHNOLOGIES, Inc. - -+OUI:00E16D* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:00E175* - ID_OUI_FROM_DATABASE=AK-Systems Ltd - -@@ -51703,6 +51721,9 @@ OUI:0444A1* - OUI:044665* - ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. - -+OUI:04489A* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:044A50* - ID_OUI_FROM_DATABASE=Ramaxel Technology (Shenzhen) limited company - -@@ -51727,6 +51748,9 @@ OUI:045453* - OUI:0455CA* - ID_OUI_FROM_DATABASE=BriView (Xiamen) Corp. - -+OUI:04572F* -+ ID_OUI_FROM_DATABASE=Sertel Electronics UK Ltd -+ - OUI:04586F* - ID_OUI_FROM_DATABASE=Sichuan Whayer information industry Co.,LTD - -@@ -51892,6 +51916,9 @@ OUI:04E548* - OUI:04E662* - ID_OUI_FROM_DATABASE=Acroname Inc. - -+OUI:04E676* -+ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. -+ - OUI:04E9E5* - ID_OUI_FROM_DATABASE=PJRC.COM, LLC - -@@ -52486,6 +52513,9 @@ OUI:085AE0* - OUI:085B0E* - ID_OUI_FROM_DATABASE=Fortinet, Inc. - -+OUI:085DDD* -+ ID_OUI_FROM_DATABASE=Mercury Corporation -+ - OUI:08606E* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -@@ -52504,6 +52534,9 @@ OUI:086DF2* - OUI:087045* - ID_OUI_FROM_DATABASE=Apple - -+OUI:0874F6* -+ ID_OUI_FROM_DATABASE=Winterhalter Gastronom GmbH -+ - OUI:087572* - ID_OUI_FROM_DATABASE=Obelux Oy - -@@ -52573,6 +52606,9 @@ OUI:08ACA5* - OUI:08AF78* - ID_OUI_FROM_DATABASE=Totus Solutions, Inc. - -+OUI:08B2A3* -+ ID_OUI_FROM_DATABASE=Cynny Italia S.r.L. -+ - OUI:08B4CF* - ID_OUI_FROM_DATABASE=Abicom International - -@@ -52615,6 +52651,9 @@ OUI:08D5C0* - OUI:08D833* - ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co,.Ltd - -+OUI:08DF1F* -+ ID_OUI_FROM_DATABASE=Bose Corporation -+ - OUI:08E5DA* - ID_OUI_FROM_DATABASE=NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD. - -@@ -52687,6 +52726,9 @@ OUI:0C191F* - OUI:0C1DC2* - ID_OUI_FROM_DATABASE=SeAH Networks - -+OUI:0C2026* -+ ID_OUI_FROM_DATABASE=noax Technologies AG -+ - OUI:0C2724* - ID_OUI_FROM_DATABASE=Cisco - -@@ -52756,6 +52798,9 @@ OUI:0C5CD8* - OUI:0C6076* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:0C63FC* -+ ID_OUI_FROM_DATABASE=Nanjing Signway Technology Co., Ltd -+ - OUI:0C6803* - ID_OUI_FROM_DATABASE=Cisco - -@@ -52984,6 +53029,9 @@ OUI:1000FD* - OUI:1001CA* - ID_OUI_FROM_DATABASE=Ashley Butterworth - -+OUI:1005CA* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:10090C* - ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. - -@@ -53008,6 +53056,9 @@ OUI:100E2B* - OUI:100E7E* - ID_OUI_FROM_DATABASE=Juniper networks - -+OUI:100F18* -+ ID_OUI_FROM_DATABASE=Fu Gang Electronic(KunShan)CO.,LTD -+ - OUI:1010B6* - ID_OUI_FROM_DATABASE=McCain Inc - -@@ -53158,6 +53209,9 @@ OUI:1083D2* - OUI:10880F* - ID_OUI_FROM_DATABASE=Daruma Telecomunicações e Informática S.A. - -+OUI:1088CE* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:108CCF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -53317,6 +53371,9 @@ OUI:1423D7* - OUI:142BD2* - ID_OUI_FROM_DATABASE=Armtel Ltd. - -+OUI:142BD6* -+ ID_OUI_FROM_DATABASE=Guangdong Appscomm Co.,Ltd -+ - OUI:142D27* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -53329,6 +53386,9 @@ OUI:142DF5* - OUI:14307A* - ID_OUI_FROM_DATABASE=Avermetrics - -+OUI:1430C6* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:14358B* - ID_OUI_FROM_DATABASE=Mediabridge Products, LLC. - -@@ -53344,6 +53404,9 @@ OUI:14373B* - OUI:143AEA* - ID_OUI_FROM_DATABASE=Dynapower Company LLC - -+OUI:143DF2* -+ ID_OUI_FROM_DATABASE=Beijing Shidai Hongyuan Network Communication Co.,Ltd -+ - OUI:143E60* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -@@ -53368,6 +53431,9 @@ OUI:144C1A* - OUI:145412* - ID_OUI_FROM_DATABASE=Entis Co., Ltd. - -+OUI:145645* -+ ID_OUI_FROM_DATABASE=Savitech Corp. -+ - OUI:145A05* - ID_OUI_FROM_DATABASE=Apple - -@@ -53440,6 +53506,9 @@ OUI:14B126* - OUI:14B1C8* - ID_OUI_FROM_DATABASE=InfiniWing, Inc. - -+OUI:14B484* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:14B73D* - ID_OUI_FROM_DATABASE=ARCHEAN Technologies - -@@ -53489,7 +53558,7 @@ OUI:14EB33* - ID_OUI_FROM_DATABASE=BSMediasoft Co., Ltd. - - OUI:14EDA5* -- ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme -+ ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme - - OUI:14EE9D* - ID_OUI_FROM_DATABASE=AirNav Systems LLC -@@ -53572,6 +53641,9 @@ OUI:182032* - OUI:1820A6* - ID_OUI_FROM_DATABASE=Sage Co., Ltd. - -+OUI:18227E* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:182666* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53726,7 +53798,7 @@ OUI:18A905* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - - OUI:18A99B* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:18AA45* - ID_OUI_FROM_DATABASE=Fon Technology -@@ -53779,6 +53851,9 @@ OUI:18CC23* - OUI:18D071* - ID_OUI_FROM_DATABASE=DASAN SMC, Inc. - -+OUI:18D5B6* -+ ID_OUI_FROM_DATABASE=SMG Holdings LLC -+ - OUI:18D66A* - ID_OUI_FROM_DATABASE=Inmarsat - -@@ -53824,6 +53899,9 @@ OUI:18F87A* - OUI:18FA6F* - ID_OUI_FROM_DATABASE=ISC applied systems corp - -+OUI:18FB7B* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:18FC9F* - ID_OUI_FROM_DATABASE=Changhe Electronics Co., Ltd. - -@@ -53863,9 +53941,15 @@ OUI:1C184A* - OUI:1C19DE* - ID_OUI_FROM_DATABASE=eyevis GmbH - -+OUI:1C1AC0* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:1C1B68* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:1C1CFD* -+ ID_OUI_FROM_DATABASE=Dalian Hi-Think Computer Technology, Corp -+ - OUI:1C1D67* - ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd - -@@ -54157,6 +54241,9 @@ OUI:201D03* - OUI:2021A5* - ID_OUI_FROM_DATABASE=LG Electronics Inc - -+OUI:202564* -+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION -+ - OUI:202598* - ID_OUI_FROM_DATABASE=Teleview - -@@ -54202,6 +54289,9 @@ OUI:204E6B* - OUI:204E7F* - ID_OUI_FROM_DATABASE=NETGEAR - -+OUI:2053CA* -+ ID_OUI_FROM_DATABASE=Risk Technology Ltd -+ - OUI:205476* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -@@ -54211,6 +54301,9 @@ OUI:205721* - OUI:2059A0* - ID_OUI_FROM_DATABASE=Paragon Technologies Inc. - -+OUI:205A00* -+ ID_OUI_FROM_DATABASE=Coval -+ - OUI:205B5E* - ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd - -@@ -54265,12 +54358,18 @@ OUI:20918A* - OUI:2091D9* - ID_OUI_FROM_DATABASE=I'M SPA - -+OUI:209AE9* -+ ID_OUI_FROM_DATABASE=Volacomm Co., Ltd -+ - OUI:209BA5* - ID_OUI_FROM_DATABASE=JIAXING GLEAD Electronics Co.,Ltd - - OUI:20A2E7* - ID_OUI_FROM_DATABASE=Lee-Dickens Ltd - -+OUI:20A787* -+ ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited -+ - OUI:20AA25* - ID_OUI_FROM_DATABASE=IP-NET LLC - -@@ -54394,6 +54493,9 @@ OUI:24050F* - OUI:240917* - ID_OUI_FROM_DATABASE=Devlin Electronics Limited - -+OUI:240A11* -+ ID_OUI_FROM_DATABASE=TCT Mobile Limited -+ - OUI:240A64* - ID_OUI_FROM_DATABASE=AzureWaveTechnologies,Inc - -@@ -54691,9 +54793,15 @@ OUI:282CB2* - OUI:283152* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:2832C5* -+ ID_OUI_FROM_DATABASE=Humax.co.,ltd -+ - OUI:283410* - ID_OUI_FROM_DATABASE=Enigma Diagnostics Limited - -+OUI:2834A2* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:283737* - ID_OUI_FROM_DATABASE=Apple - -@@ -54778,6 +54886,9 @@ OUI:2872F0* - OUI:287994* - ID_OUI_FROM_DATABASE=Realplay Digital Technology(Shenzhen) Co.,Ltd - -+OUI:288023* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:28852D* - ID_OUI_FROM_DATABASE=Touch Networks - -@@ -55024,6 +55135,9 @@ OUI:2C3731* - OUI:2C3996* - ID_OUI_FROM_DATABASE=SAGEMCOM - -+OUI:2C39C1* -+ ID_OUI_FROM_DATABASE=Ciena Corporation -+ - OUI:2C3A28* - ID_OUI_FROM_DATABASE=Fagor Electrónica - -@@ -55069,6 +55183,9 @@ OUI:2C5A05* - OUI:2C5AA3* - ID_OUI_FROM_DATABASE=PROMATE ELECTRONIC CO.LTD - -+OUI:2C5BE1* -+ ID_OUI_FROM_DATABASE=Centripetal Networks, Inc -+ - OUI:2C5D93* - ID_OUI_FROM_DATABASE=Ruckus Wireless - -@@ -55117,6 +55234,9 @@ OUI:2C8065* - OUI:2C8158* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd - -+OUI:2C8A72* -+ ID_OUI_FROM_DATABASE=HTC Corporation -+ - OUI:2C8BF2* - ID_OUI_FROM_DATABASE=Hitachi Metals America Ltd - -@@ -55135,6 +55255,9 @@ OUI:2C957F* - OUI:2C9717* - ID_OUI_FROM_DATABASE=I.C.Y. B.V. - -+OUI:2C9AA4* -+ ID_OUI_FROM_DATABASE=NGI SpA -+ - OUI:2C9E5F* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -55327,6 +55450,9 @@ OUI:3055ED* - OUI:3057AC* - ID_OUI_FROM_DATABASE=IRLAB LTD. - -+OUI:3059B7* -+ ID_OUI_FROM_DATABASE=Microsoft -+ - OUI:305D38* - ID_OUI_FROM_DATABASE=Beissbarth - -@@ -55387,6 +55513,9 @@ OUI:308CFB* - OUI:3090AB* - ID_OUI_FROM_DATABASE=Apple - -+OUI:30918F* -+ ID_OUI_FROM_DATABASE=Technicolor -+ - OUI:3092F6* - ID_OUI_FROM_DATABASE=SHANGHAI SUNMON COMMUNICATION TECHNOGY CO.,LTD - -@@ -55417,12 +55546,18 @@ OUI:30B5C2* - OUI:30C750* - ID_OUI_FROM_DATABASE=MIC Technology Group - -+OUI:30C7AE* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:30C82A* - ID_OUI_FROM_DATABASE=Wi-Next s.r.l. - - OUI:30CDA7* - ID_OUI_FROM_DATABASE=Samsung Electronics ITS, Printer division - -+OUI:30D17E* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:30D357* - ID_OUI_FROM_DATABASE=Logosol, Inc. - -@@ -55462,6 +55597,9 @@ OUI:30F70D* - OUI:30F7C5* - ID_OUI_FROM_DATABASE=Apple - -+OUI:30F7D7* -+ ID_OUI_FROM_DATABASE=Thread Technology Co., Ltd -+ - OUI:30F9ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -@@ -55474,6 +55612,9 @@ OUI:3407FB* - OUI:340804* - ID_OUI_FROM_DATABASE=D-Link Corporation - -+OUI:340AFF* -+ ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd -+ - OUI:3413A8* - ID_OUI_FROM_DATABASE=Mediplan Limited - -@@ -55484,7 +55625,7 @@ OUI:34159E* - ID_OUI_FROM_DATABASE=Apple - - OUI:3417EB* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:341A4C* - ID_OUI_FROM_DATABASE=SHENZHEN WEIBU ELECTRONICS CO.,LTD. -@@ -55534,6 +55675,9 @@ OUI:344F5C* - OUI:344F69* - ID_OUI_FROM_DATABASE=EKINOPS SAS - -+OUI:3451AA* -+ ID_OUI_FROM_DATABASE=JID GLOBAL -+ - OUI:3451C9* - ID_OUI_FROM_DATABASE=Apple - -@@ -55543,6 +55687,9 @@ OUI:345B11* - OUI:345C40* - ID_OUI_FROM_DATABASE=Cargt Holdings LLC - -+OUI:345D10* -+ ID_OUI_FROM_DATABASE=Wytek -+ - OUI:346178* - ID_OUI_FROM_DATABASE=The Boeing Company - -@@ -55573,6 +55720,9 @@ OUI:347E39* - OUI:348137* - ID_OUI_FROM_DATABASE=UNICARD SA - -+OUI:3481C4* -+ ID_OUI_FROM_DATABASE=AVM GmbH -+ - OUI:3482DE* - ID_OUI_FROM_DATABASE=Kayo Technology, Inc. - -@@ -55741,6 +55891,9 @@ OUI:34E0D7* - OUI:34E2FD* - ID_OUI_FROM_DATABASE=Apple - -+OUI:34E42A* -+ ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. -+ - OUI:34EF44* - ID_OUI_FROM_DATABASE=2Wire - -@@ -55933,6 +56086,9 @@ OUI:38B74D* - OUI:38BB23* - ID_OUI_FROM_DATABASE=OzVision America LLC - -+OUI:38BB3C* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:38BC1A* - ID_OUI_FROM_DATABASE=Meizu technology co.,ltd - -@@ -56224,6 +56380,9 @@ OUI:3CA72B* - OUI:3CA9F4* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:3CAB8E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:3CB15B* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -56311,6 +56470,9 @@ OUI:3CF72A* - OUI:3CF748* - ID_OUI_FROM_DATABASE=Shenzhen Linsn Technology Development Co.,Ltd - -+OUI:3CF808* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:3CFB96* - ID_OUI_FROM_DATABASE=Emcraft Systems LLC - -@@ -56341,6 +56503,9 @@ OUI:4013D9* - OUI:401597* - ID_OUI_FROM_DATABASE=Protect America, Inc. - -+OUI:40167E* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:40169F* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. - -@@ -56392,6 +56557,9 @@ OUI:404022* - OUI:40406B* - ID_OUI_FROM_DATABASE=Icomera - -+OUI:4045DA* -+ ID_OUI_FROM_DATABASE=Spreadtrum Communications (Shanghai) Co., Ltd. -+ - OUI:404A03* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -@@ -56527,6 +56695,9 @@ OUI:40B2C8* - OUI:40B395* - ID_OUI_FROM_DATABASE=Apple - -+OUI:40B3CD* -+ ID_OUI_FROM_DATABASE=Chiyoda Electronics Co.,Ltd. -+ - OUI:40B3FC* - ID_OUI_FROM_DATABASE=Logital Co. Limited - -@@ -56596,6 +56767,9 @@ OUI:40F02F* - OUI:40F14C* - ID_OUI_FROM_DATABASE=ISE Europe SPRL - -+OUI:40F201* -+ ID_OUI_FROM_DATABASE=SAGEMCOM -+ - OUI:40F2E9* - ID_OUI_FROM_DATABASE=IBM - -@@ -56632,6 +56806,9 @@ OUI:44184F* - OUI:4419B6* - ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. - -+OUI:441E91* -+ ID_OUI_FROM_DATABASE=ARVIDA Intelligent Electronics Technology Co.,Ltd. -+ - OUI:441EA1* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -56776,6 +56953,9 @@ OUI:448312* - OUI:448500* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:4486C1* -+ ID_OUI_FROM_DATABASE=Siemens Low Voltage & Products -+ - OUI:4487FC* - ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. - -@@ -56860,6 +57040,9 @@ OUI:44D2CA* - OUI:44D3CA* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:44D4E0* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:44D63D* - ID_OUI_FROM_DATABASE=Talari Networks - -@@ -56920,6 +57103,9 @@ OUI:48174C* - OUI:481842* - ID_OUI_FROM_DATABASE=Shanghai Winaas Co. Equipment Co. Ltd. - -+OUI:481A84* -+ ID_OUI_FROM_DATABASE=Pointer Telocation Ltd -+ - OUI:481BD2* - ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. - -@@ -56950,9 +57136,15 @@ OUI:4846F1* - OUI:4846FB* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:4851B7* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:485261* - ID_OUI_FROM_DATABASE=SOREEL - -+OUI:485929* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:485A3F* - ID_OUI_FROM_DATABASE=WISOL - -@@ -56971,6 +57163,9 @@ OUI:4860BC* - OUI:4861A3* - ID_OUI_FROM_DATABASE=Concern "Axion" JSC - -+OUI:486276* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:486B91* - ID_OUI_FROM_DATABASE=Fleetwood Group Inc. - -@@ -56986,6 +57181,9 @@ OUI:487119* - OUI:48746E* - ID_OUI_FROM_DATABASE=Apple - -+OUI:488244* -+ ID_OUI_FROM_DATABASE=Life Fitness / Div. of Brunswick -+ - OUI:488E42* - ID_OUI_FROM_DATABASE=DIGALOG GmbH - -@@ -57046,15 +57244,24 @@ OUI:48CB6E* - OUI:48D0CF* - ID_OUI_FROM_DATABASE=Universal Electronics, Inc. - -+OUI:48D18E* -+ ID_OUI_FROM_DATABASE=Metis Communication Co.,Ltd -+ - OUI:48D224* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - - OUI:48D54C* - ID_OUI_FROM_DATABASE=Jeda Networks - -+OUI:48D705* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:48D7FF* - ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH - -+OUI:48D855* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY -+ - OUI:48D8FE* - ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. - -@@ -57136,6 +57343,9 @@ OUI:4C0F6E* - OUI:4C0FC7* - ID_OUI_FROM_DATABASE=Earda Electronics Co.,Ltd - -+OUI:4C11BF* -+ ID_OUI_FROM_DATABASE=ZHEJIANG DAHUA TECHNOLOGY CO.,LTD. -+ - OUI:4C1480* - ID_OUI_FROM_DATABASE=NOREGON SYSTEMS, INC - -@@ -57178,6 +57388,9 @@ OUI:4C322D* - OUI:4C32D9* - ID_OUI_FROM_DATABASE=M Rutty Holdings Pty. Ltd. - -+OUI:4C3909* -+ ID_OUI_FROM_DATABASE=HPL Electric & Power Private Limited -+ - OUI:4C3910* - ID_OUI_FROM_DATABASE=Newtek Electronics co., Ltd. - -@@ -57478,9 +57691,15 @@ OUI:505663* - OUI:5056A8* - ID_OUI_FROM_DATABASE=Jolla Ltd - -+OUI:5056BF* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD -+ - OUI:5057A8* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:505800* -+ ID_OUI_FROM_DATABASE=WyTec International, Inc. -+ - OUI:505AC6* - ID_OUI_FROM_DATABASE=GUANGDONG SUPER TELECOM CO.,LTD. - -@@ -57601,6 +57820,9 @@ OUI:50C271* - OUI:50C58D* - ID_OUI_FROM_DATABASE=Juniper Networks - -+OUI:50C7BF* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:50C971* - ID_OUI_FROM_DATABASE=GN Netcom A/S - -@@ -57706,6 +57928,9 @@ OUI:54271E* - OUI:542A9C* - ID_OUI_FROM_DATABASE=LSY Defense, LLC. - -+OUI:542AA2* -+ ID_OUI_FROM_DATABASE=Alpha Networks Inc. -+ - OUI:542CEA* - ID_OUI_FROM_DATABASE=PROTECTRON - -@@ -57739,9 +57964,15 @@ OUI:544408* - OUI:54466B* - ID_OUI_FROM_DATABASE=Shenzhen CZTIC Electronic Technology Co., Ltd - -+OUI:544A00* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:544A05* - ID_OUI_FROM_DATABASE=wenglor sensoric gmbh - -+OUI:544A16* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:5453ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -@@ -57844,6 +58075,9 @@ OUI:54B620* - OUI:54BEF7* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -+OUI:54C80F* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:54CDA7* - ID_OUI_FROM_DATABASE=Fujian Shenzhou Electronic Co.,Ltd - -@@ -57886,6 +58120,12 @@ OUI:54E6FC* - OUI:54EAA8* - ID_OUI_FROM_DATABASE=Apple, Inc. - -+OUI:54EE75* -+ ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. -+ -+OUI:54EF92* -+ ID_OUI_FROM_DATABASE=Shenzhen Elink Technology Co., LTD -+ - OUI:54F5B6* - ID_OUI_FROM_DATABASE=ORIENTAL PACIFIC INTERNATIONAL LIMITED - -@@ -57928,12 +58168,18 @@ OUI:581CBD* - OUI:581D91* - ID_OUI_FROM_DATABASE=Advanced Mobile Telecom co.,ltd. - -+OUI:581F67* -+ ID_OUI_FROM_DATABASE=Open-m technology limited -+ - OUI:581FAA* - ID_OUI_FROM_DATABASE=Apple - - OUI:581FEF* - ID_OUI_FROM_DATABASE=Tuttnaer LTD - -+OUI:58238C* -+ ID_OUI_FROM_DATABASE=Technicolor CH USA -+ - OUI:582EFE* - ID_OUI_FROM_DATABASE=Lighting Science Group - -@@ -58123,6 +58369,9 @@ OUI:58DB8D* - OUI:58E02C* - ID_OUI_FROM_DATABASE=Micro Technic A/S - -+OUI:58E326* -+ ID_OUI_FROM_DATABASE=Compass Technologies Inc. -+ - OUI:58E476* - ID_OUI_FROM_DATABASE=CENTRON COMMUNICATIONS TECHNOLOGIES FUJIAN CO.,LTD - -@@ -58213,6 +58462,9 @@ OUI:5C260A* - OUI:5C2AEF* - ID_OUI_FROM_DATABASE=Open Access Pty Ltd - -+OUI:5C313E* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:5C3327* - ID_OUI_FROM_DATABASE=Spazio Italia srl - -@@ -58411,6 +58663,9 @@ OUI:5CF370* - OUI:5CF3FC* - ID_OUI_FROM_DATABASE=IBM Corp - -+OUI:5CF4AB* -+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp -+ - OUI:5CF50D* - ID_OUI_FROM_DATABASE=Institute of microelectronic applications - -@@ -58561,6 +58816,9 @@ OUI:60748D* - OUI:607688* - ID_OUI_FROM_DATABASE=Velodyne - -+OUI:60812B* -+ ID_OUI_FROM_DATABASE=Custom Control Concepts -+ - OUI:6083B2* - ID_OUI_FROM_DATABASE=GkWare e.K. - -@@ -58585,9 +58843,15 @@ OUI:608C2B* - OUI:608D17* - ID_OUI_FROM_DATABASE=Sentrus Government Systems Division, Inc - -+OUI:608F5C* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:609084* - ID_OUI_FROM_DATABASE=DSSD Inc - -+OUI:609217* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:609AA4* - ID_OUI_FROM_DATABASE=GVI SECURITY INC. - -@@ -58615,6 +58879,9 @@ OUI:60B3C4* - OUI:60B606* - ID_OUI_FROM_DATABASE=Phorus - -+OUI:60B617* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:60B933* - ID_OUI_FROM_DATABASE=Deutron Electronics Corp. - -@@ -58633,6 +58900,9 @@ OUI:60BD91* - OUI:60BEB5* - ID_OUI_FROM_DATABASE=Motorola Mobility LLC - -+OUI:60C1CB* -+ ID_OUI_FROM_DATABASE=Fujian Great Power PLC Equipment Co.,Ltd -+ - OUI:60C397* - ID_OUI_FROM_DATABASE=2Wire Inc - -@@ -58681,6 +58951,9 @@ OUI:60DE44* - OUI:60E00E* - ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD - -+OUI:60E327* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:60E956* - ID_OUI_FROM_DATABASE=Ayla Networks, Inc - -@@ -58753,6 +59026,9 @@ OUI:640F28* - OUI:641084* - ID_OUI_FROM_DATABASE=HEXIUM Technical Development Co., Ltd. - -+OUI:641225* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:64168D* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -58966,6 +59242,9 @@ OUI:64A3CB* - OUI:64A769* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:64A7DD* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:64A837* - ID_OUI_FROM_DATABASE=Juni Korea Co., Ltd - -@@ -59062,6 +59341,9 @@ OUI:64E8E6* - OUI:64E950* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:64EAC5* -+ ID_OUI_FROM_DATABASE=SiboTech Automation Co., Ltd. -+ - OUI:64EB8C* - ID_OUI_FROM_DATABASE=Seiko Epson Corporation - -@@ -59131,6 +59413,9 @@ OUI:681FD8* - OUI:68234B* - ID_OUI_FROM_DATABASE=Nihon Dengyo Kousaku - -+OUI:6828BA* -+ ID_OUI_FROM_DATABASE=Dejai -+ - OUI:682DDC* - ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD - -@@ -59188,6 +59473,9 @@ OUI:6869F2* - OUI:686E23* - ID_OUI_FROM_DATABASE=Wi3 Inc. - -+OUI:686E48* -+ ID_OUI_FROM_DATABASE=Prophet Electronic Technology Corp.,Ltd -+ - OUI:687251* - ID_OUI_FROM_DATABASE=Ubiquiti Networks - -@@ -59332,6 +59620,9 @@ OUI:68DB96* - OUI:68DCE8* - ID_OUI_FROM_DATABASE=PacketStorm Communications - -+OUI:68DFDD* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:68E41F* - ID_OUI_FROM_DATABASE=Unglaube Identech GmbH - -@@ -59377,12 +59668,18 @@ OUI:6C0E0D* - OUI:6C0F6A* - ID_OUI_FROM_DATABASE=JDC Tech Co., Ltd. - -+OUI:6C14F7* -+ ID_OUI_FROM_DATABASE=Erhardt+Leimer GmbH -+ - OUI:6C15F9* - ID_OUI_FROM_DATABASE=Nautronix Limited - - OUI:6C1811* - ID_OUI_FROM_DATABASE=Decatur Electronics - -+OUI:6C198F* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:6C2056* - ID_OUI_FROM_DATABASE=Cisco - -@@ -59395,6 +59692,9 @@ OUI:6C23B9* - OUI:6C2995* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:6C2C06* -+ ID_OUI_FROM_DATABASE=OOO NPP Systemotechnika-NN -+ - OUI:6C2E33* - ID_OUI_FROM_DATABASE=Accelink Technologies Co.,Ltd. - -@@ -59539,6 +59839,9 @@ OUI:6CA906* - OUI:6CA96F* - ID_OUI_FROM_DATABASE=TransPacket AS - -+OUI:6CAAB3* -+ ID_OUI_FROM_DATABASE=Ruckus Wireless -+ - OUI:6CAB4D* - ID_OUI_FROM_DATABASE=Digital Payment Technologies - -@@ -59608,6 +59911,9 @@ OUI:6CE983* - OUI:6CECA1* - ID_OUI_FROM_DATABASE=SHENZHEN CLOU ELECTRONICS CO. LTD. - -+OUI:6CECEB* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:6CF049* - ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. - -@@ -59623,6 +59929,9 @@ OUI:6CF97C* - OUI:6CFA58* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:6CFAA7* -+ ID_OUI_FROM_DATABASE=AMPAK Technology Inc. -+ - OUI:6CFDB9* - ID_OUI_FROM_DATABASE=Proware Technologies Co Ltd. - -@@ -59686,6 +59995,9 @@ OUI:702F97* - OUI:703018* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:70305D* -+ ID_OUI_FROM_DATABASE=Ubiquoss Inc -+ - OUI:70305E* - ID_OUI_FROM_DATABASE=Nanjing Zhongke Menglian Information Technology Co.,LTD - -@@ -59767,6 +60079,9 @@ OUI:7060DE* - OUI:706173* - ID_OUI_FROM_DATABASE=Calantec GmbH - -+OUI:7062B8* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:706417* - ID_OUI_FROM_DATABASE=ORBIS TECNOLOGIA ELECTRICA S.A. - -@@ -59881,6 +60196,9 @@ OUI:70B14E* - OUI:70B265* - ID_OUI_FROM_DATABASE=Hiltron s.r.l. - -+OUI:70B3D5* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see OUI36 public listing for more information. -+ - OUI:70B599* - ID_OUI_FROM_DATABASE=Embedded Technologies s.r.o. - -@@ -59950,6 +60268,9 @@ OUI:70F395* - OUI:70F927* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:70F96D* -+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -+ - OUI:70FF76* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -59965,12 +60286,18 @@ OUI:741489* - OUI:7415E2* - ID_OUI_FROM_DATABASE=Tri-Sen Systems Corporation - -+OUI:7419F8* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:741E93* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - - OUI:74258A* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:7426AC* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:74273C* - ID_OUI_FROM_DATABASE=ChangYang Technology (Nanjing) Co., LTD - -@@ -60077,7 +60404,7 @@ OUI:747E2D* - ID_OUI_FROM_DATABASE=Beijing Thomson CITIC Digital Technology Co. LTD. - - OUI:74867A* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:74882A* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -@@ -60172,6 +60499,9 @@ OUI:74D675* - OUI:74D850* - ID_OUI_FROM_DATABASE=Evrisko Systems - -+OUI:74DA38* -+ ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. -+ - OUI:74DE2B* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -60292,6 +60622,9 @@ OUI:7831C1* - OUI:78324F* - ID_OUI_FROM_DATABASE=Millennium Group, Inc. - -+OUI:783A84* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:783CE3* - ID_OUI_FROM_DATABASE=Kai-EE - -@@ -60319,6 +60652,9 @@ OUI:7846C4* - OUI:78471D* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:784859* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:78491D* - ID_OUI_FROM_DATABASE=The Will-Burt Company - -@@ -60391,6 +60727,9 @@ OUI:788C54* - OUI:788DF7* - ID_OUI_FROM_DATABASE=Hitron Technologies. Inc - -+OUI:78923E* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:78929C* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -60523,6 +60862,9 @@ OUI:78D38D* - OUI:78D5B5* - ID_OUI_FROM_DATABASE=NAVIELEKTRO KY - -+OUI:78D66F* -+ ID_OUI_FROM_DATABASE=Aristocrat Technologies Australia Pty. Ltd. -+ - OUI:78D6F0* - ID_OUI_FROM_DATABASE=Samsung Electro Mechanics - -@@ -60736,6 +61078,9 @@ OUI:7C6C8F* - OUI:7C6D62* - ID_OUI_FROM_DATABASE=Apple - -+OUI:7C6DF8* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:7C6F06* - ID_OUI_FROM_DATABASE=Caterpillar Trimble Control Technologies - -@@ -60856,6 +61201,9 @@ OUI:7CCFCF* - OUI:7CD1C3* - ID_OUI_FROM_DATABASE=Apple - -+OUI:7CD30A* -+ ID_OUI_FROM_DATABASE=INVENTEC Corporation -+ - OUI:7CD762* - ID_OUI_FROM_DATABASE=Freestyle Technology Pty Ltd - -@@ -60919,6 +61267,9 @@ OUI:7CFADF* - OUI:7CFE28* - ID_OUI_FROM_DATABASE=Salutron Inc. - -+OUI:7CFE4E* -+ ID_OUI_FROM_DATABASE=Shenzhen Safe vision Technology Co.,LTD -+ - OUI:7CFF62* - ID_OUI_FROM_DATABASE=Huizhou Super Electron Technology Co.,Ltd. - -@@ -60940,9 +61291,15 @@ OUI:8007A2* - OUI:800A06* - ID_OUI_FROM_DATABASE=COMTEC co.,ltd - -+OUI:800E24* -+ ID_OUI_FROM_DATABASE=ForgetBox -+ - OUI:801440* - ID_OUI_FROM_DATABASE=Sunlit System Technology Corp - -+OUI:8014A8* -+ ID_OUI_FROM_DATABASE=Guangzhou V-SOLUTION Electronic Technology Co., Ltd. -+ - OUI:8016B7* - ID_OUI_FROM_DATABASE=Brunel University - -@@ -60952,6 +61309,9 @@ OUI:80177D* - OUI:8018A7* - ID_OUI_FROM_DATABASE=Samsung Eletronics Co., Ltd - -+OUI:801934* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:801DAA* - ID_OUI_FROM_DATABASE=Avaya Inc - -@@ -60994,6 +61354,9 @@ OUI:803F5D* - OUI:803FD6* - ID_OUI_FROM_DATABASE=bytes at work AG - -+OUI:80414E* -+ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., -+ - OUI:80427C* - ID_OUI_FROM_DATABASE=Adolf Tedsen GmbH & Co. KG - -@@ -61279,6 +61642,9 @@ OUI:843611* - OUI:843835* - ID_OUI_FROM_DATABASE=Apple - -+OUI:843838* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ - OUI:843A4B* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -61360,6 +61726,9 @@ OUI:848506* - OUI:848D84* - ID_OUI_FROM_DATABASE=Rajant Corporation - -+OUI:848DC7* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:848E0C* - ID_OUI_FROM_DATABASE=Apple - -@@ -61372,6 +61741,12 @@ OUI:848F69* - OUI:849000* - ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik - -+OUI:84948C* -+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc -+ -+OUI:8496D8* -+ ID_OUI_FROM_DATABASE=Pace plc -+ - OUI:8497B8* - ID_OUI_FROM_DATABASE=Memjet Inc. - -@@ -61399,6 +61774,9 @@ OUI:84ACA4* - OUI:84AF1F* - ID_OUI_FROM_DATABASE=Beat System Service Co,. Ltd. - -+OUI:84B153* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:84B59C* - ID_OUI_FROM_DATABASE=Juniper networks - -@@ -61468,6 +61846,9 @@ OUI:880355* - OUI:880905* - ID_OUI_FROM_DATABASE=MTMCommunications - -+OUI:880F10* -+ ID_OUI_FROM_DATABASE=Huami Information Technology Co.,Ltd. -+ - OUI:880FB6* - ID_OUI_FROM_DATABASE=Jabil Circuits India Pvt Ltd,-EHTP unit - -@@ -61558,7 +61939,10 @@ OUI:88576D* - OUI:885A92* - ID_OUI_FROM_DATABASE=Cisco - --OUI:885C4F* -+OUI:885BDD* -+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. -+ -+OUI:885C47* - ID_OUI_FROM_DATABASE=Alcatel Lucent - - OUI:88615A* -@@ -61654,6 +62038,9 @@ OUI:88AE1D* - OUI:88B168* - ID_OUI_FROM_DATABASE=Delta Control GmbH - -+OUI:88B1E1* -+ ID_OUI_FROM_DATABASE=AirTight Networks, Inc. -+ - OUI:88B627* - ID_OUI_FROM_DATABASE=Gembird Europe BV - -@@ -62107,6 +62494,9 @@ OUI:9046B7* - OUI:904716* - ID_OUI_FROM_DATABASE=RORZE CORPORATION - -+OUI:90489A* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:9049FA* - ID_OUI_FROM_DATABASE=Intel Corporation - -@@ -62179,6 +62569,9 @@ OUI:907A28* - OUI:907AF1* - ID_OUI_FROM_DATABASE=SNUPI Technologies - -+OUI:907EBA* -+ ID_OUI_FROM_DATABASE=UTEK TECHNOLOGY (SHENZHEN) CO.,LTD -+ - OUI:907F61* - ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. - -@@ -62197,12 +62590,12 @@ OUI:9088A2* - OUI:908C44* - ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. - -+OUI:908C63* -+ ID_OUI_FROM_DATABASE=GZ Weedong Networks Technology Co. , Ltd -+ - OUI:908D1D* - ID_OUI_FROM_DATABASE=GH Technologies - --OUI:908F93* -- ID_OUI_FROM_DATABASE=MakerBot Industries -- - OUI:908FCF* - ID_OUI_FROM_DATABASE=UNO System Co., Ltd - -@@ -62245,6 +62638,9 @@ OUI:90A7C1* - OUI:90AC3F* - ID_OUI_FROM_DATABASE=BrightSign LLC - -+OUI:90AE1B* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:90B11C* - ID_OUI_FROM_DATABASE=Dell Inc. - -@@ -62303,7 +62699,7 @@ OUI:90DFB7* - ID_OUI_FROM_DATABASE=s.m.s smart microwave sensors GmbH - - OUI:90E0F0* -- ID_OUI_FROM_DATABASE=Harman International -+ ID_OUI_FROM_DATABASE=IEEE 1722a Working Group - - OUI:90E2BA* - ID_OUI_FROM_DATABASE=Intel Corporate -@@ -62683,6 +63079,9 @@ OUI:983571* - OUI:9835B8* - ID_OUI_FROM_DATABASE=Assembled Products Corporation - -+OUI:983713* -+ ID_OUI_FROM_DATABASE=PT.Navicom Indonesia -+ - OUI:983B16* - ID_OUI_FROM_DATABASE=AMPAK Technology Inc - -@@ -62746,6 +63145,9 @@ OUI:986022* - OUI:9866EA* - ID_OUI_FROM_DATABASE=Industrial Control Communications, Inc. - -+OUI:986B3D* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:986CF5* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -62812,6 +63214,9 @@ OUI:98BC57* - OUI:98BC99* - ID_OUI_FROM_DATABASE=Edeltech Co.,Ltd. - -+OUI:98BE94* -+ ID_OUI_FROM_DATABASE=IBM -+ - OUI:98C0EB* - ID_OUI_FROM_DATABASE=Global Regency Ltd - -@@ -62929,6 +63334,9 @@ OUI:9C2840* - OUI:9C28BF* - ID_OUI_FROM_DATABASE=Continental Automotive Czech Republic s.r.o. - -+OUI:9C28EF* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:9C2A70* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -63184,6 +63592,9 @@ OUI:9CFBF1* - OUI:9CFFBE* - ID_OUI_FROM_DATABASE=OTSL Inc. - -+OUI:A002DC* -+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. -+ - OUI:A00363* - ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH - -@@ -63205,6 +63616,9 @@ OUI:A00CA1* - OUI:A01290* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:A012DB* -+ ID_OUI_FROM_DATABASE=TABUCHI ELECTRIC CO.,LTD -+ - OUI:A0133B* - ID_OUI_FROM_DATABASE=Copyright © HiTi Digital, Inc. - -@@ -63235,6 +63649,9 @@ OUI:A021B7* - OUI:A0231B* - ID_OUI_FROM_DATABASE=TeleComp R&D Corp. - -+OUI:A02BB8* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:A02EF3* - ID_OUI_FROM_DATABASE=United Integrated Services Co., Led. - -@@ -63439,6 +63856,9 @@ OUI:A0D12A* - OUI:A0D3C1* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A0DA92* -+ ID_OUI_FROM_DATABASE=Nanjing Glarun Atten Technology Co. Ltd. -+ - OUI:A0DC04* - ID_OUI_FROM_DATABASE=Becker-Antriebe GmbH - -@@ -63502,6 +63922,9 @@ OUI:A0F450* - OUI:A0F459* - ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED - -+OUI:A0FC6E* -+ ID_OUI_FROM_DATABASE=Telegrafia a.s. -+ - OUI:A0FE91* - ID_OUI_FROM_DATABASE=AVAT Automation GmbH - -@@ -63565,6 +63988,12 @@ OUI:A438FC* - OUI:A43A69* - ID_OUI_FROM_DATABASE=Vers Inc - -+OUI:A43BFA* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ -+OUI:A43D78* -+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD -+ - OUI:A4466B* - ID_OUI_FROM_DATABASE=EOC Technology - -@@ -63604,6 +64033,9 @@ OUI:A45C27* - OUI:A45D36* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A46032* -+ ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD -+ - OUI:A46706* - ID_OUI_FROM_DATABASE=Apple - -@@ -63632,7 +64064,13 @@ OUI:A47C14* - ID_OUI_FROM_DATABASE=ChargeStorm AB - - OUI:A47C1F* -- ID_OUI_FROM_DATABASE=Global Microwave Systems Inc. -+ ID_OUI_FROM_DATABASE=Cobham plc -+ -+OUI:A47E39* -+ ID_OUI_FROM_DATABASE=zte corporation -+ -+OUI:A481EE* -+ ID_OUI_FROM_DATABASE=Nokia Corporation - - OUI:A4856B* - ID_OUI_FROM_DATABASE=Q Electronics Ltd -@@ -63664,6 +64102,9 @@ OUI:A49B13* - OUI:A49EDB* - ID_OUI_FROM_DATABASE=AutoCrib, Inc. - -+OUI:A49F85* -+ ID_OUI_FROM_DATABASE=Lyve Minds, Inc -+ - OUI:A49F89* - ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. - -@@ -63964,6 +64405,9 @@ OUI:A8995C* - OUI:A89B10* - ID_OUI_FROM_DATABASE=inMotion Ltd. - -+OUI:A8A668* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:A8AD3D* - ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd - -@@ -64021,6 +64465,9 @@ OUI:A8F274* - OUI:A8F470* - ID_OUI_FROM_DATABASE=Fujian Newland Communication Science Technologies Co.,Ltd. - -+OUI:A8F7E0* -+ ID_OUI_FROM_DATABASE=PLANET Technology Corporation -+ - OUI:A8F94B* - ID_OUI_FROM_DATABASE=Eltex Enterprise Ltd. - -@@ -64258,12 +64705,21 @@ OUI:ACA22C* - OUI:ACA430* - ID_OUI_FROM_DATABASE=Peerless AV - -+OUI:ACA919* -+ ID_OUI_FROM_DATABASE=TrekStor GmbH -+ -+OUI:ACA9A0* -+ ID_OUI_FROM_DATABASE=Audioengine, Ltd. -+ - OUI:ACAB8D* - ID_OUI_FROM_DATABASE=Lyngso Marine A/S - - OUI:ACB313* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:ACB859* -+ ID_OUI_FROM_DATABASE=Uniband Electronic Corp, -+ - OUI:ACBD0B* - ID_OUI_FROM_DATABASE=IMAC CO.,LTD - -@@ -64375,6 +64831,9 @@ OUI:ACF97E* - OUI:ACFDEC* - ID_OUI_FROM_DATABASE=Apple, Inc - -+OUI:B000B4* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:B00594* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -64465,6 +64924,9 @@ OUI:B06CBF* - OUI:B0750C* - ID_OUI_FROM_DATABASE=QA Cafe - -+OUI:B0754D* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:B075D5* - ID_OUI_FROM_DATABASE=ZTE Corporation - -@@ -64528,9 +64990,15 @@ OUI:B09FBA* - OUI:B0A10A* - ID_OUI_FROM_DATABASE=Pivotal Systems Corporation - -+OUI:B0A37E* -+ ID_OUI_FROM_DATABASE=Qingdao Haier Electronics Co.,Ltd -+ - OUI:B0A72A* - ID_OUI_FROM_DATABASE=Ensemble Designs, Inc. - -+OUI:B0A737* -+ ID_OUI_FROM_DATABASE=Roku, Inc. -+ - OUI:B0A86E* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -64597,6 +65065,9 @@ OUI:B0D09C* - OUI:B0D2F5* - ID_OUI_FROM_DATABASE=Vello Systems, Inc. - -+OUI:B0D59D* -+ ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd -+ - OUI:B0D7C5* - ID_OUI_FROM_DATABASE=STP KFT - -@@ -64813,6 +65284,9 @@ OUI:B499BA* - OUI:B49DB4* - ID_OUI_FROM_DATABASE=Axion Technologies Inc. - -+OUI:B49EAC* -+ ID_OUI_FROM_DATABASE=Imagik Int'l Corp -+ - OUI:B49EE6* - ID_OUI_FROM_DATABASE=SHENZHEN TECHNOLOGY CO LTD - -@@ -64900,6 +65374,9 @@ OUI:B4ED19* - OUI:B4ED54* - ID_OUI_FROM_DATABASE=Wohler Technologies - -+OUI:B4EEB4* -+ ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP -+ - OUI:B4EED4* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -64963,6 +65440,9 @@ OUI:B8288B* - OUI:B829F7* - ID_OUI_FROM_DATABASE=Blaster Tech - -+OUI:B82A72* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:B82ADC* - ID_OUI_FROM_DATABASE=EFR Europäische Funk-Rundsteuerung GmbH - -@@ -65047,6 +65527,9 @@ OUI:B87424* - OUI:B87447* - ID_OUI_FROM_DATABASE=Convergence Technologies - -+OUI:B875C0* -+ ID_OUI_FROM_DATABASE=PayPal, Inc. -+ - OUI:B8763F* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -65062,6 +65545,9 @@ OUI:B8797E* - OUI:B87AC9* - ID_OUI_FROM_DATABASE=Siemens Ltd. - -+OUI:B87CF2* -+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc. -+ - OUI:B8871E* - ID_OUI_FROM_DATABASE=Good Mind Industries Co., Ltd. - -@@ -65152,6 +65638,9 @@ OUI:B8BB6D* - OUI:B8BEBF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:B8BF83* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:B8C1A2* - ID_OUI_FROM_DATABASE=Dragon Path Technologies Co., Limited - -@@ -65171,7 +65660,7 @@ OUI:B8C855* - ID_OUI_FROM_DATABASE=Shanghai GBCOM Communication Technology Co.,Ltd. - - OUI:B8CA3A* -- ID_OUI_FROM_DATABASE=Dell PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:B8CD93* - ID_OUI_FROM_DATABASE=Penetek, Inc -@@ -65215,6 +65704,9 @@ OUI:B8E856* - OUI:B8E937* - ID_OUI_FROM_DATABASE=Sonos, Inc. - -+OUI:B8EE65* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:B8EE79* - ID_OUI_FROM_DATABASE=YWire Technologies, Inc. - -@@ -65284,6 +65776,9 @@ OUI:BC20A4* - OUI:BC20BA* - ID_OUI_FROM_DATABASE=Inspur (Shandong) Electronic Information Co., Ltd - -+OUI:BC25F0* -+ ID_OUI_FROM_DATABASE=3D Display Technologies Co., Ltd. -+ - OUI:BC261D* - ID_OUI_FROM_DATABASE=HONG KONG TECON TECHNOLOGY - -@@ -65311,6 +65806,9 @@ OUI:BC305B* - OUI:BC307D* - ID_OUI_FROM_DATABASE=Wistron Neweb Corp. - -+OUI:BC3400* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:BC35E5* - ID_OUI_FROM_DATABASE=Hydro Systems Company - -@@ -65419,6 +65917,9 @@ OUI:BC8B55* - OUI:BC8CCD* - ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. - -+OUI:BC8D0E* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:BC926B* - ID_OUI_FROM_DATABASE=Apple - -@@ -65572,6 +66073,9 @@ OUI:C038F9* - OUI:C03B8F* - ID_OUI_FROM_DATABASE=Minicom Digital Signage - -+OUI:C03D46* -+ ID_OUI_FROM_DATABASE=Shanghai Mochui Network Technology Co., Ltd -+ - OUI:C03E0F* - ID_OUI_FROM_DATABASE=BSkyB Ltd - -@@ -65602,6 +66106,9 @@ OUI:C04A00* - OUI:C04DF7* - ID_OUI_FROM_DATABASE=SERELEC - -+OUI:C056E3* -+ ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd. -+ - OUI:C057BC* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -65614,6 +66121,9 @@ OUI:C05E6F* - OUI:C05E79* - ID_OUI_FROM_DATABASE=SHENZHEN HUAXUN ARK TECHNOLOGIES CO.,LTD - -+OUI:C06118* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:C0626B* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -65794,6 +66304,9 @@ OUI:C40415* - OUI:C40528* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:C4084A* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:C40938* - ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd - -@@ -65848,6 +66361,9 @@ OUI:C4291D* - OUI:C42C03* - ID_OUI_FROM_DATABASE=Apple - -+OUI:C4346B* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:C436DA* - ID_OUI_FROM_DATABASE=Rusteletech Ltd. - -@@ -65938,6 +66454,9 @@ OUI:C467B5* - OUI:C46AB7* - ID_OUI_FROM_DATABASE=Xiaomi Technology,Inc. - -+OUI:C46BB4* -+ ID_OUI_FROM_DATABASE=myIDkey -+ - OUI:C46DF1* - ID_OUI_FROM_DATABASE=DataGravity - -@@ -65983,6 +66502,9 @@ OUI:C48508* - OUI:C488E5* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:C4913A* -+ ID_OUI_FROM_DATABASE=Shenzhen Sanland Electronic Co., ltd. -+ - OUI:C49300* - ID_OUI_FROM_DATABASE=8Devices - -@@ -66025,6 +66547,9 @@ OUI:C4C755* - OUI:C4C919* - ID_OUI_FROM_DATABASE=Energy Imports Ltd - -+OUI:C4C9EC* -+ ID_OUI_FROM_DATABASE=D&D GROUP sp. z o.o. -+ - OUI:C4CAD9* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -@@ -66113,7 +66638,7 @@ OUI:C81E8E* - ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd - - OUI:C81F66* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:C8208E* - ID_OUI_FROM_DATABASE=Storagedata -@@ -66127,6 +66652,9 @@ OUI:C82A14* - OUI:C82E94* - ID_OUI_FROM_DATABASE=Halfa Enterprise Co., Ltd. - -+OUI:C83168* -+ ID_OUI_FROM_DATABASE=eZEX corporation -+ - OUI:C83232* - ID_OUI_FROM_DATABASE=Hunting Innova - -@@ -66238,6 +66766,9 @@ OUI:C89C1D* - OUI:C89CDC* - ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. - -+OUI:C89F1D* -+ ID_OUI_FROM_DATABASE=SHENZHEN COMMUNICATION TECHNOLOGIES CO.,LTD -+ - OUI:C89F42* - ID_OUI_FROM_DATABASE=VDII Innovation AB - -@@ -66274,6 +66805,9 @@ OUI:C8B373* - OUI:C8B5B7* - ID_OUI_FROM_DATABASE=Apple - -+OUI:C8BA94* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ - OUI:C8BBD3* - ID_OUI_FROM_DATABASE=Embrane - -@@ -66316,6 +66850,9 @@ OUI:C8D3A3* - OUI:C8D429* - ID_OUI_FROM_DATABASE=Muehlbauer AG - -+OUI:C8D590* -+ ID_OUI_FROM_DATABASE=FLIGHT DATA SYSTEMS -+ - OUI:C8D5FE* - ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd - -@@ -66337,6 +66874,9 @@ OUI:C8E0EB* - OUI:C8E1A7* - ID_OUI_FROM_DATABASE=Vertu Corporation Limited - -+OUI:C8E42F* -+ ID_OUI_FROM_DATABASE=Technical Research Design and Development -+ - OUI:C8EE08* - ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD - -@@ -66358,6 +66898,9 @@ OUI:C8F386* - OUI:C8F406* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:C8F650* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:C8F68D* - ID_OUI_FROM_DATABASE=S.E.TECHNOLOGIES LIMITED - -@@ -66379,6 +66922,9 @@ OUI:C8FB26* - OUI:C8FE30* - ID_OUI_FROM_DATABASE=Bejing DAYO Mobile Communication Technology Ltd. - -+OUI:C8FF77* -+ ID_OUI_FROM_DATABASE=Dyson Limited -+ - OUI:CC0080* - ID_OUI_FROM_DATABASE=BETTINI SRL - -@@ -66394,6 +66940,9 @@ OUI:CC051B* - OUI:CC07AB* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:CC07E4* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:CC08E0* - ID_OUI_FROM_DATABASE=Apple - -@@ -66574,6 +67123,9 @@ OUI:CC9E00* - OUI:CC9F35* - ID_OUI_FROM_DATABASE=Transbit Sp. z o.o. - -+OUI:CCA0E5* -+ ID_OUI_FROM_DATABASE=DZG Metering GmbH -+ - OUI:CCA374* - ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd - -@@ -66595,6 +67147,9 @@ OUI:CCB3F8* - OUI:CCB55A* - ID_OUI_FROM_DATABASE=Fraunhofer ITWM - -+OUI:CCB691* -+ ID_OUI_FROM_DATABASE=NECMagnusCommunications -+ - OUI:CCB888* - ID_OUI_FROM_DATABASE=AnB Securite s.a. - -@@ -66610,6 +67165,9 @@ OUI:CCBE71* - OUI:CCC104* - ID_OUI_FROM_DATABASE=Applied Technical Systems - -+OUI:CCC3EA* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:CCC50A* - ID_OUI_FROM_DATABASE=SHENZHEN DAJIAHAO TECHNOLOGY CO.,LTD - -@@ -66643,6 +67201,9 @@ OUI:CCD811* - OUI:CCD9E9* - ID_OUI_FROM_DATABASE=SCR Engineers Ltd. - -+OUI:CCE1D5* -+ ID_OUI_FROM_DATABASE=Buffalo Inc. -+ - OUI:CCE798* - ID_OUI_FROM_DATABASE=My Social Stuff - -@@ -66778,6 +67339,12 @@ OUI:D059C3* - OUI:D05A0F* - ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD - -+OUI:D05AF1* -+ ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd -+ -+OUI:D05FB8* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:D05FCE* - ID_OUI_FROM_DATABASE=Hitachi Data Systems - -@@ -66799,6 +67366,9 @@ OUI:D0699E* - OUI:D069D0* - ID_OUI_FROM_DATABASE=Verto Medical Solutions, LLC - -+OUI:D072DC* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:D0737F* - ID_OUI_FROM_DATABASE=Mini-Circuits - -@@ -66811,6 +67381,9 @@ OUI:D073D5* - OUI:D075BE* - ID_OUI_FROM_DATABASE=Reno A&E - -+OUI:D07650* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:D07AB5* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -66895,6 +67468,9 @@ OUI:D0C42F* - OUI:D0C789* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:D0C7C0* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:D0CDE1* - ID_OUI_FROM_DATABASE=Scientech Electronics - -@@ -67018,6 +67594,9 @@ OUI:D41F0C* - OUI:D4206D* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:D42122* -+ ID_OUI_FROM_DATABASE=Sercomm Corporation -+ - OUI:D4223F* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -@@ -67099,6 +67678,9 @@ OUI:D464F7* - OUI:D466A8* - ID_OUI_FROM_DATABASE=Riedo Networks GmbH - -+OUI:D46761* -+ ID_OUI_FROM_DATABASE=SAHAB TECHNOLOGY -+ - OUI:D467E7* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - -@@ -67168,6 +67750,9 @@ OUI:D49524* - OUI:D496DF* - ID_OUI_FROM_DATABASE=SUNGJIN C&T CO.,LTD - -+OUI:D4970B* -+ ID_OUI_FROM_DATABASE=XIAOMI CORPORATION -+ - OUI:D49A20* - ID_OUI_FROM_DATABASE=Apple - -@@ -67207,6 +67792,9 @@ OUI:D4AE52* - OUI:D4B110* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:D4B43E* -+ ID_OUI_FROM_DATABASE=Messcomp Datentechnik GmbH -+ - OUI:D4BED9* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -67237,6 +67825,9 @@ OUI:D4CBAF* - OUI:D4CEB8* - ID_OUI_FROM_DATABASE=Enatel LTD - -+OUI:D4CFF9* -+ ID_OUI_FROM_DATABASE=Shenzhen Sen5 Technology Co., Ltd. -+ - OUI:D4D184* - ID_OUI_FROM_DATABASE=ADB Broadband Italia - -@@ -67258,6 +67849,9 @@ OUI:D4D919* - OUI:D4DF57* - ID_OUI_FROM_DATABASE=Alpinion Medical Systems - -+OUI:D4E08E* -+ ID_OUI_FROM_DATABASE=ValueHD Corporation -+ - OUI:D4E32C* - ID_OUI_FROM_DATABASE=S. Siedle & Sohne - -@@ -67375,6 +67969,9 @@ OUI:D84606* - OUI:D8490B* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:D8492F* -+ ID_OUI_FROM_DATABASE=CANON INC. -+ - OUI:D84B2A* - ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. - -@@ -67397,7 +67994,7 @@ OUI:D85D84* - ID_OUI_FROM_DATABASE=CAx soft GmbH - - OUI:D86194* -- ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido -+ ID_OUI_FROM_DATABASE=Objetivos y Sevicios de Valor Añadido - - OUI:D862DB* - ID_OUI_FROM_DATABASE=Eno Inc. -@@ -67438,6 +68035,9 @@ OUI:D87988* - OUI:D87CDD* - ID_OUI_FROM_DATABASE=SANIX INCORPORATED - -+OUI:D87EB1* -+ ID_OUI_FROM_DATABASE=x.o.ware, inc. -+ - OUI:D881CE* - ID_OUI_FROM_DATABASE=AHN INC. - -@@ -67462,6 +68062,9 @@ OUI:D8973B* - OUI:D89760* - ID_OUI_FROM_DATABASE=C2 Development, Inc. - -+OUI:D8977C* -+ ID_OUI_FROM_DATABASE=Grey Innovation -+ - OUI:D89D67* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -67525,6 +68128,9 @@ OUI:D8C7C8* - OUI:D8C99D* - ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED - -+OUI:D8CF9C* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D8D1CB* - ID_OUI_FROM_DATABASE=Apple - -@@ -67555,6 +68161,9 @@ OUI:D8DD5F* - OUI:D8DDFD* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:D8DECE* -+ ID_OUI_FROM_DATABASE=ISUNG CO.,LTD -+ - OUI:D8DF0D* - ID_OUI_FROM_DATABASE=beroNet GmbH - -@@ -67660,6 +68269,9 @@ OUI:DC3350* - OUI:DC37D2* - ID_OUI_FROM_DATABASE=Hunan HKT Electronic Technology Co., Ltd - -+OUI:DC38E1* -+ ID_OUI_FROM_DATABASE=Juniper networks -+ - OUI:DC3A5E* - ID_OUI_FROM_DATABASE=Roku, Inc - -@@ -67693,6 +68305,9 @@ OUI:DC5E36* - OUI:DC647C* - ID_OUI_FROM_DATABASE=C.R.S. iiMotion GmbH - -+OUI:DC663A* -+ ID_OUI_FROM_DATABASE=Apacer Technology Inc. -+ - OUI:DC6F00* - ID_OUI_FROM_DATABASE=Livescribe, Inc. - -@@ -67816,6 +68431,9 @@ OUI:DCE71C* - OUI:DCF05D* - ID_OUI_FROM_DATABASE=Letta Teknoloji - -+OUI:DCF110* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:DCF755* - ID_OUI_FROM_DATABASE=SITRONIK - -@@ -67939,6 +68557,9 @@ OUI:E063E5* - OUI:E064BB* - ID_OUI_FROM_DATABASE=DigiView S.r.l. - -+OUI:E06678* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:E067B3* - ID_OUI_FROM_DATABASE=C-Data Technology Co., Ltd - -@@ -68071,6 +68692,9 @@ OUI:E0CA94* - OUI:E0CB4E* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -+OUI:E0CBEE* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:E0CEC3* - ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP - -@@ -68152,6 +68776,9 @@ OUI:E40439* - OUI:E4115B* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:E41218* -+ ID_OUI_FROM_DATABASE=ShenZhen Rapoo Technology Co., Ltd. -+ - OUI:E4121D* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -68341,6 +68968,9 @@ OUI:E4C806* - OUI:E4CE8F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:E4D332* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:E4D3F1* - ID_OUI_FROM_DATABASE=Cisco - -@@ -68371,6 +69001,9 @@ OUI:E4F365* - OUI:E4F3E3* - ID_OUI_FROM_DATABASE=Shanghai iComhome Co.,Ltd. - -+OUI:E4F4C6* -+ ID_OUI_FROM_DATABASE=NETGEAR -+ - OUI:E4F7A1* - ID_OUI_FROM_DATABASE=Datafox GmbH - -@@ -68671,6 +69304,9 @@ OUI:E8EADA* - OUI:E8EDF3* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:E8EF89* -+ ID_OUI_FROM_DATABASE=OPMEX Tech. -+ - OUI:E8F1B0* - ID_OUI_FROM_DATABASE=SAGEMCOM SAS - -@@ -68719,6 +69355,9 @@ OUI:EC2AF0* - OUI:EC2C49* - ID_OUI_FROM_DATABASE=University of Tokyo - -+OUI:EC2E4E* -+ ID_OUI_FROM_DATABASE=HITACHI-LG DATA STORAGE INC -+ - OUI:EC3091* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -68881,6 +69520,9 @@ OUI:ECE09B* - OUI:ECE1A9* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:ECE512* -+ ID_OUI_FROM_DATABASE=tado GmbH -+ - OUI:ECE555* - ID_OUI_FROM_DATABASE=Hirschmann Automation - -@@ -68909,7 +69551,7 @@ OUI:ECF35B* - ID_OUI_FROM_DATABASE=Nokia Corporation - - OUI:ECF4BB* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:ECF72B* - ID_OUI_FROM_DATABASE=HD DIGITAL TECH CO., LTD. -@@ -68948,7 +69590,7 @@ OUI:F01C13* - ID_OUI_FROM_DATABASE=LG Electronics - - OUI:F01FAF* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F0219D* - ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd. -@@ -69085,6 +69727,9 @@ OUI:F08A28* - OUI:F08BFE* - ID_OUI_FROM_DATABASE=COSTEL.,CO.LTD - -+OUI:F08CFB* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:F08EDB* - ID_OUI_FROM_DATABASE=VeloCloud Networks - -@@ -69241,6 +69886,9 @@ OUI:F4044C* - OUI:F4068D* - ID_OUI_FROM_DATABASE=devolo AG - -+OUI:F406A5* -+ ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. -+ - OUI:F40B93* - ID_OUI_FROM_DATABASE=Research In Motion - -@@ -69427,6 +70075,9 @@ OUI:F4B7E2* - OUI:F4BD7C* - ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD - -+OUI:F4C447* -+ ID_OUI_FROM_DATABASE=Coagent International Enterprise Limited -+ - OUI:F4C6D7* - ID_OUI_FROM_DATABASE=blackned GmbH - -@@ -69478,6 +70129,9 @@ OUI:F4F15A* - OUI:F4F5A5* - ID_OUI_FROM_DATABASE=Nokia corporation - -+OUI:F4F5E8* -+ ID_OUI_FROM_DATABASE=Google -+ - OUI:F4F951* - ID_OUI_FROM_DATABASE=Apple - -@@ -69502,6 +70156,9 @@ OUI:F80BD0* - OUI:F80CF3* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:F80D43* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. -+ - OUI:F80DEA* - ID_OUI_FROM_DATABASE=ZyCast Technology Inc. - -@@ -69586,6 +70243,9 @@ OUI:F8472D* - OUI:F84897* - ID_OUI_FROM_DATABASE=Hitachi, Ltd. - -+OUI:F84A73* -+ ID_OUI_FROM_DATABASE=EUMTECH CO., LTD -+ - OUI:F84A7F* - ID_OUI_FROM_DATABASE=Innometriks Inc - -@@ -69622,6 +70282,12 @@ OUI:F85F2A* - OUI:F862AA* - ID_OUI_FROM_DATABASE=xn systems - -+OUI:F86601* -+ ID_OUI_FROM_DATABASE=Suzhou Chi-tek information technology Co., Ltd -+ -+OUI:F866D1* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd. -+ - OUI:F866F2* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -69710,13 +70376,13 @@ OUI:F8AC6D* - ID_OUI_FROM_DATABASE=Deltenna Ltd - - OUI:F8B156* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F8B599* - ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd - - OUI:F8BC12* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F8C001* - ID_OUI_FROM_DATABASE=Juniper Networks -@@ -69764,7 +70430,7 @@ OUI:F8DB7F* - ID_OUI_FROM_DATABASE=HTC Corporation - - OUI:F8DB88* -- ID_OUI_FROM_DATABASE=Dell Inc PCBA Test -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:F8DC7A* - ID_OUI_FROM_DATABASE=Variscite LTD -@@ -69892,6 +70558,9 @@ OUI:FC1FC0* - OUI:FC229C* - ID_OUI_FROM_DATABASE=Han Kyung I Net Co.,Ltd. - -+OUI:FC2325* -+ ID_OUI_FROM_DATABASE=EosTek (Shenzhen) Co., Ltd. -+ - OUI:FC253F* - ID_OUI_FROM_DATABASE=Apple - -@@ -69928,6 +70597,9 @@ OUI:FC455F* - OUI:FC48EF* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:FC4AE9* -+ ID_OUI_FROM_DATABASE=Castlenet Technology Inc. -+ - OUI:FC4B1C* - ID_OUI_FROM_DATABASE=INTERSENSOR S.R.L. - -@@ -70030,6 +70702,9 @@ OUI:FCBBA1* - OUI:FCC23D* - ID_OUI_FROM_DATABASE=Atmel Corporation - -+OUI:FCC2DE* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:FCC734* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -70048,6 +70723,9 @@ OUI:FCD4F2* - OUI:FCD4F6* - ID_OUI_FROM_DATABASE=Messana Air.Ray Conditioning s.r.l. - -+OUI:FCD5D9* -+ ID_OUI_FROM_DATABASE=Shenzhen SDMC Technology Co., Ltd. -+ - OUI:FCD6BD* - ID_OUI_FROM_DATABASE=Robert Bosch GmbH - -@@ -70060,6 +70738,9 @@ OUI:FCDB96* - OUI:FCDD55* - ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd - -+OUI:FCE186* -+ ID_OUI_FROM_DATABASE=A3M Co., LTD -+ - OUI:FCE192* - ID_OUI_FROM_DATABASE=Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd - -@@ -70078,12 +70759,18 @@ OUI:FCE892* - OUI:FCEDB9* - ID_OUI_FROM_DATABASE=Arrayent - -+OUI:FCF152* -+ ID_OUI_FROM_DATABASE=Sony Corporation -+ - OUI:FCF1CD* - ID_OUI_FROM_DATABASE=OPTEX-FA CO.,LTD. - - OUI:FCF528* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -+OUI:FCF647* -+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. -+ - OUI:FCF8AE* - ID_OUI_FROM_DATABASE=Intel Corporate - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 7f833e3..371a685 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -890,6 +890,9 @@ pci:v00001000d0000005Bsv00001000sd00009295* - pci:v00001000d0000005Bsv00001014sd0000040B* - ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller - -+pci:v00001000d0000005Bsv00001014sd0000040C* -+ ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller -+ - pci:v00001000d0000005Bsv00001014sd00000412* - ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller - -@@ -917,6 +920,9 @@ pci:v00001000d0000005Bsv00001028sd00001F37* - pci:v00001000d0000005Bsv00001028sd00001F38* - ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) - -+pci:v00001000d0000005Bsv000015D9sd00000690* -+ ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB -+ - pci:v00001000d0000005Bsv00008086sd00003510* - ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller - -@@ -950,6 +956,12 @@ pci:v00001000d0000005Dsv00001028sd00001F49* - pci:v00001000d0000005Dsv00001028sd00001F4A* - ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) - -+pci:v00001000d0000005Dsv000017AAsd00001052* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i -+ -+pci:v00001000d0000005Dsv000017AAsd00001053* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix -+ - pci:v00001000d0000005E* - ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS - -@@ -1163,6 +1175,9 @@ pci:v00001000d00000073sv000015D9sd00000400* - pci:v00001000d00000073sv00001734sd00001177* - ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) - -+pci:v00001000d00000073sv000017AAsd00001051* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i -+ - pci:v00001000d00000073sv00008086sd0000350D* - ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller - -@@ -1598,6 +1613,9 @@ pci:v00001000d00001960sv00008086sd00000520* - pci:v00001000d00001960sv00008086sd00000523* - ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 - -+pci:v00001000d00003050* -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 -+ - pci:v00001000d00006001* - ID_MODEL_FROM_DATABASE=DX1 Multiformat Broadcast HD/SD Encoder/Decoder - -@@ -1665,7 +1683,7 @@ pci:v00001002d0000130E* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d0000130F* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] - - pci:v00001002d00001310* - ID_MODEL_FROM_DATABASE=Kaveri -@@ -1673,9 +1691,12 @@ pci:v00001002d00001310* - pci:v00001002d00001311* - ID_MODEL_FROM_DATABASE=Kaveri - --pci:v00001002d00001313* -+pci:v00001002d00001312* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d00001313* -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] -+ - pci:v00001002d00001314* - ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio - -@@ -1686,6 +1707,9 @@ pci:v00001002d00001315* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d00001316* -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] -+ -+pci:v00001002d00001317* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d0000131B* -@@ -1694,6 +1718,9 @@ pci:v00001002d0000131B* - pci:v00001002d0000131C* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d0000131D* -+ ID_MODEL_FROM_DATABASE=Kaveri -+ - pci:v00001002d00001714* - ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] - -@@ -4176,20 +4203,41 @@ pci:v00001002d00006603* - ID_MODEL_FROM_DATABASE=Mars - - pci:v00001002d00006604* -- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M265] -+ ID_MODEL_FROM_DATABASE=Opal XT [Radeon R7 M265] - - pci:v00001002d00006605* -- ID_MODEL_FROM_DATABASE=Mars [Radeon R7 M260] -+ ID_MODEL_FROM_DATABASE=Opal PRO [Radeon R7 M260] - - pci:v00001002d00006606* - ID_MODEL_FROM_DATABASE=Mars XTX [Radeon HD 8790M] - - pci:v00001002d00006607* -- ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M] -+ ID_MODEL_FROM_DATABASE=Mars LE [Radeon HD 8530M / R5 M240] - - pci:v00001002d00006610* - ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] - -+pci:v00001002d00006610sv00001019sd00000030* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001028sd00002120* -+ ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ -+pci:v00001002d00006610sv00001028sd00002322* -+ ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ -+pci:v00001002d00006610sv00001462sd00002910* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001462sd00002911* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001642sd00003C81* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ -+pci:v00001002d00006610sv00001642sd00003C91* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ - pci:v00001002d00006611* - ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] - -@@ -4278,13 +4326,13 @@ pci:v00001002d00006663sv00001025sd00000846* - ID_MODEL_FROM_DATABASE=Radeon HD 8570A - - pci:v00001002d00006664* -- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M200 Series] -+ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] - - pci:v00001002d00006665* -- ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M200 Series] -+ ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] - - pci:v00001002d00006667* -- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M200 Series] -+ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] - - pci:v00001002d0000666F* - ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] -@@ -5003,6 +5051,9 @@ pci:v00001002d00006759sv00001B0Asd000090B5* - pci:v00001002d00006759sv00001B0Asd000090B6* - ID_MODEL_FROM_DATABASE=Radeon HD 7570 - -+pci:v00001002d0000675B* -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] -+ - pci:v00001002d0000675D* - ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 7570] - -@@ -5801,6 +5852,9 @@ pci:v00001002d00006798sv00001092sd00003000* - pci:v00001002d00006798sv00001458sd00002261* - ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] - -+pci:v00001002d00006798sv00001462sd00002774* -+ ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE -+ - pci:v00001002d00006798sv00001682sd00003211* - ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition - -@@ -5823,7 +5877,7 @@ pci:v00001002d00006799* - ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] - - pci:v00001002d0000679A* -- ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950] -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] - - pci:v00001002d0000679Asv00001002sd00000B01* - ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM -@@ -5903,6 +5957,9 @@ pci:v00001002d00006801* - pci:v00001002d00006801sv00001002sd00000124* - ID_MODEL_FROM_DATABASE=Radeon HD 8970M - -+pci:v00001002d00006801sv00001462sd00001117* -+ ID_MODEL_FROM_DATABASE=Radeon R9 M290X -+ - pci:v00001002d00006801sv00008086sd00002110* - ID_MODEL_FROM_DATABASE=Radeon HD 8970M - -@@ -5966,6 +6023,12 @@ pci:v00001002d00006821* - pci:v00001002d00006821sv00001002sd0000031E* - ID_MODEL_FROM_DATABASE=FirePro SX4000 - -+pci:v00001002d00006821sv00001028sd000005CC* -+ ID_MODEL_FROM_DATABASE=FirePro M5100 -+ -+pci:v00001002d00006821sv00001028sd000015CC* -+ ID_MODEL_FROM_DATABASE=FirePro M5100 -+ - pci:v00001002d00006822* - ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] - -@@ -6039,7 +6102,7 @@ pci:v00001002d0000683B* - ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7700 Series] - - pci:v00001002d0000683D* -- ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] - - pci:v00001002d0000683Dsv00001002sd00000030* - ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -@@ -6050,8 +6113,14 @@ pci:v00001002d0000683Dsv00001019sd00000030* - pci:v00001002d0000683Dsv0000103Csd00006890* - ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM - -+pci:v00001002d0000683Dsv00001043sd00008760* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ -+pci:v00001002d0000683Dsv0000174Bsd00008304* -+ ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ - pci:v00001002d0000683F* -- ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750] -+ ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] - - pci:v00001002d00006840* - ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] -@@ -8891,6 +8960,9 @@ pci:v00001002d0000985E* - pci:v00001002d0000985F* - ID_MODEL_FROM_DATABASE=Mullins - -+pci:v00001002d00009900* -+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G] -+ - pci:v00001002d00009901* - ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660D] - -@@ -9498,7 +9570,7 @@ pci:v00001011d0000000D* - ID_MODEL_FROM_DATABASE=PBXGB [TGA2] - - pci:v00001011d0000000F* -- ID_MODEL_FROM_DATABASE=PCI-to-PDQ Interface Chip [PFI] -+ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] - - pci:v00001011d0000000Fsv00001011sd0000DEF1* - ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) -@@ -9596,6 +9668,9 @@ pci:v00001011d00000019sv00001186sd00001102* - pci:v00001011d00000019sv00001186sd00001112* - ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet - -+pci:v00001011d00000019sv000011F0sd00004235* -+ ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] -+ - pci:v00001011d00000019sv00001259sd00002800* - ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet - -@@ -9761,6 +9836,9 @@ pci:v00001013d000000B0* - pci:v00001013d000000B8* - ID_MODEL_FROM_DATABASE=GD 5446 - -+pci:v00001013d000000B8sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001013d000000BC* - ID_MODEL_FROM_DATABASE=GD 5480 - -@@ -10487,6 +10565,9 @@ pci:v0000101Ed00001960sv00001028sd00000511* - pci:v0000101Ed00001960sv0000103Csd000060E7* - ID_MODEL_FROM_DATABASE=NetRAID-1M - -+pci:v0000101Ed00001960sv0000103Csd000060E8* -+ ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] -+ - pci:v0000101Ed00009010* - ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller - -@@ -10811,6 +10892,9 @@ pci:v00001022d00002003* - pci:v00001022d00002020* - ID_MODEL_FROM_DATABASE=53c974 [PCscsi] - -+pci:v00001022d00002020sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001022d00002040* - ID_MODEL_FROM_DATABASE=79c974 - -@@ -12263,6 +12347,9 @@ pci:v0000102Bd00002007* - pci:v0000102Bd00002527* - ID_MODEL_FROM_DATABASE=Millennium G550 - -+pci:v0000102Bd00002527sv0000102Bsd00000F42* -+ ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI -+ - pci:v0000102Bd00002527sv0000102Bsd00000F83* - ID_MODEL_FROM_DATABASE=Millennium G550 - -@@ -12515,6 +12602,9 @@ pci:v0000102Bd00004949* - pci:v0000102Bd00004949sv0000102Bsd00000010* - ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber - -+pci:v0000102Bd00004949sv0000102Bsd00000011* -+ ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber -+ - pci:v0000102Bd00004949sv0000102Bsd00000020* - ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber - -@@ -12527,6 +12617,18 @@ pci:v0000102Bd00004949sv0000102Bsd00000040* - pci:v0000102Bd00004949sv0000102Bsd00000050* - ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber - -+pci:v0000102Bd00004949sv0000102Bsd00001010* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber -+ -+pci:v0000102Bd00004949sv0000102Bsd00001015* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber -+ -+pci:v0000102Bd00004949sv0000102Bsd00001020* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber -+ -+pci:v0000102Bd00004949sv0000102Bsd00001050* -+ ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber -+ - pci:v0000102Bd00004CDC* - ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator - -@@ -12911,6 +13013,9 @@ pci:v00001033d00000194sv00001028sd000004DA* - pci:v00001033d00000194sv00001043sd00008413* - ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard - -+pci:v00001033d00000194sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001033d00000194sv00001B96sd00000001* - ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card - -@@ -13853,9 +13958,6 @@ pci:v0000103Cd00004037* - pci:v0000103Cd0000403B* - ID_MODEL_FROM_DATABASE=PCIe Root Port - --pci:v0000103Cd000060E8* -- ID_MODEL_FROM_DATABASE=NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493) -- - pci:v0000103E* - ID_VENDOR_FROM_DATABASE=Solliday Engineering - -@@ -14159,6 +14261,9 @@ pci:v0000104Ad00000010* - pci:v0000104Ad00000010sv0000104Asd00004018* - ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) - -+pci:v0000104Ad00000010sv00001681sd00000010* -+ ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] -+ - pci:v0000104Ad00000010sv00001681sd00000028* - ID_MODEL_FROM_DATABASE=3D Prophet 4000XT - -@@ -14426,6 +14531,9 @@ pci:v0000104Cd00008022sv0000104Csd00008023* - pci:v0000104Cd00008023* - ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] - -+pci:v0000104Cd00008023sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v0000104Cd00008023sv0000103Csd0000088C* - ID_MODEL_FROM_DATABASE=NC8000 laptop - -@@ -15233,6 +15341,9 @@ pci:v00001054d0000302C* - pci:v00001054d0000302D* - ID_MODEL_FROM_DATABASE=M001 PCI Express Switch Downstream Port - -+pci:v00001054d00003070* -+ ID_MODEL_FROM_DATABASE=Hitachi FIVE-FX Fibre Channel to PCIe HBA -+ - pci:v00001054d00003505* - ID_MODEL_FROM_DATABASE=SH7751 PCI Controller (PCIC) - -@@ -16208,6 +16319,9 @@ pci:v0000106Bd0000003E* - pci:v0000106Bd0000003F* - ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB - -+pci:v0000106Bd0000003Fsv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v0000106Bd00000040* - ID_MODEL_FROM_DATABASE=K2 KeyLargo USB - -@@ -16517,6 +16631,9 @@ pci:v00001077d00002422sv0000103Csd000012DD* - pci:v00001077d00002432* - ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA - -+pci:v00001077d00002432sv0000103Csd00007040* -+ ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] -+ - pci:v00001077d00002532* - ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA - -@@ -16815,7 +16932,7 @@ pci:v0000108Dd00000002* - ID_MODEL_FROM_DATABASE=16/4 Token Ring - - pci:v0000108Dd00000004* -- ID_MODEL_FROM_DATABASE=RapidFire 3139 Token-Ring 16/4 PCI Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter - - pci:v0000108Dd00000004sv0000108Dsd00000004* - ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter -@@ -17294,6 +17411,30 @@ pci:v00001093d00002CC0* - pci:v00001093d00002DB0* - ID_MODEL_FROM_DATABASE=PCI-6608 - -+pci:v00001093d0000702C* -+ ID_MODEL_FROM_DATABASE=PXI-7831R -+ -+pci:v00001093d0000702D* -+ ID_MODEL_FROM_DATABASE=PCI-7831R -+ -+pci:v00001093d0000702E* -+ ID_MODEL_FROM_DATABASE=PXI-7811R -+ -+pci:v00001093d0000702F* -+ ID_MODEL_FROM_DATABASE=PCI-7811R -+ -+pci:v00001093d00007055* -+ ID_MODEL_FROM_DATABASE=PXI-7830R -+ -+pci:v00001093d00007056* -+ ID_MODEL_FROM_DATABASE=PCI-7830R -+ -+pci:v00001093d00007074* -+ ID_MODEL_FROM_DATABASE=PXI-7833R -+ -+pci:v00001093d00007083* -+ ID_MODEL_FROM_DATABASE=PCI-7833R -+ - pci:v00001093d00007085* - ID_MODEL_FROM_DATABASE=PCI-6509 - -@@ -17369,6 +17510,9 @@ pci:v00001093d0000714C* - pci:v00001093d0000714D* - ID_MODEL_FROM_DATABASE=PCI-5114 - -+pci:v00001093d00007152* -+ ID_MODEL_FROM_DATABASE=PCI-5640R -+ - pci:v00001093d0000716C* - ID_MODEL_FROM_DATABASE=PCI-6225 - -@@ -17378,6 +17522,12 @@ pci:v00001093d0000717D* - pci:v00001093d0000717F* - ID_MODEL_FROM_DATABASE=PCIe-6259 - -+pci:v00001093d00007193* -+ ID_MODEL_FROM_DATABASE=PXI-7813R -+ -+pci:v00001093d00007194* -+ ID_MODEL_FROM_DATABASE=PCI-7813R -+ - pci:v00001093d000071BC* - ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) - -@@ -17420,6 +17570,51 @@ pci:v00001093d0000734A* - pci:v00001093d0000737D* - ID_MODEL_FROM_DATABASE=PXI-5124EX - -+pci:v00001093d00007384* -+ ID_MODEL_FROM_DATABASE=PXI-7851R -+ -+pci:v00001093d00007385* -+ ID_MODEL_FROM_DATABASE=PXI-7852R -+ -+pci:v00001093d00007386* -+ ID_MODEL_FROM_DATABASE=PCIe-7851R -+ -+pci:v00001093d00007387* -+ ID_MODEL_FROM_DATABASE=PCIe-7852R -+ -+pci:v00001093d00007390* -+ ID_MODEL_FROM_DATABASE=PXI-7841R -+ -+pci:v00001093d00007391* -+ ID_MODEL_FROM_DATABASE=PXI-7842R -+ -+pci:v00001093d00007392* -+ ID_MODEL_FROM_DATABASE=PXI-7853R -+ -+pci:v00001093d00007393* -+ ID_MODEL_FROM_DATABASE=PCIe-7841R -+ -+pci:v00001093d00007394* -+ ID_MODEL_FROM_DATABASE=PCIe-7842R -+ -+pci:v00001093d000073A5* -+ ID_MODEL_FROM_DATABASE=PXIe-5641R -+ -+pci:v00001093d000073D5* -+ ID_MODEL_FROM_DATABASE=PXI-7951R -+ -+pci:v00001093d000073D6* -+ ID_MODEL_FROM_DATABASE=PXI-7952R -+ -+pci:v00001093d000073D7* -+ ID_MODEL_FROM_DATABASE=PXI-7953R -+ -+pci:v00001093d000073E1* -+ ID_MODEL_FROM_DATABASE=PXI-7854R -+ -+pci:v00001093d000073EC* -+ ID_MODEL_FROM_DATABASE=PXI-7954R -+ - pci:v00001093d000073F0* - ID_MODEL_FROM_DATABASE=PXI-5153 - -@@ -17438,6 +17633,18 @@ pci:v00001093d00007460* - pci:v00001093d00007461* - ID_MODEL_FROM_DATABASE=PCI-5154EX - -+pci:v00001093d00007539* -+ ID_MODEL_FROM_DATABASE=NI 9157 -+ -+pci:v00001093d0000753A* -+ ID_MODEL_FROM_DATABASE=NI 9159 -+ -+pci:v00001093d00007626* -+ ID_MODEL_FROM_DATABASE=NI 9154 -+ -+pci:v00001093d00007627* -+ ID_MODEL_FROM_DATABASE=NI 9155 -+ - pci:v00001093d0000B001* - ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 - -@@ -17469,7 +17676,28 @@ pci:v00001093d0000B091* - ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 - - pci:v00001093d0000C4C4* -- ID_MODEL_FROM_DATABASE=PXIe-4353/5160 -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device -+ -+pci:v00001093d0000C4C4sv00001093sd000074B2* -+ ID_MODEL_FROM_DATABASE=PXIe-4353 -+ -+pci:v00001093d0000C4C4sv00001093sd000074D0* -+ ID_MODEL_FROM_DATABASE=PXIe-7961R -+ -+pci:v00001093d0000C4C4sv00001093sd000074E2* -+ ID_MODEL_FROM_DATABASE=PXIe-7962R -+ -+pci:v00001093d0000C4C4sv00001093sd000074E3* -+ ID_MODEL_FROM_DATABASE=PXIe-7965R -+ -+pci:v00001093d0000C4C4sv00001093sd00007553* -+ ID_MODEL_FROM_DATABASE=PCIe-1473R -+ -+pci:v00001093d0000C4C4sv00001093sd000075CE* -+ ID_MODEL_FROM_DATABASE=PXIe-7966R -+ -+pci:v00001093d0000C4C4sv00001093sd000076B7* -+ ID_MODEL_FROM_DATABASE=PXIe-7975R - - pci:v00001093d0000C4C4sv00001093sd000076D0* - ID_MODEL_FROM_DATABASE=PXIe-5160 -@@ -17696,9 +17924,6 @@ pci:v0000109Ed0000036Esv00001461sd00000761* - pci:v0000109Ed0000036Esv00001461sd00000771* - ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 - --pci:v0000109Ed0000036Esv00001464sd0000AA00* -- ID_MODEL_FROM_DATABASE=iTuner Spectra8 -- - pci:v0000109Ed0000036Esv000014F1sd00000001* - ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC - -@@ -18152,6 +18377,9 @@ pci:v000010A9d00008001* - pci:v000010A9d00008002* - ID_MODEL_FROM_DATABASE=G-net NT - -+pci:v000010A9d0000802B* -+ ID_MODEL_FROM_DATABASE=REACT external interrupt controller -+ - pci:v000010AA* - ID_VENDOR_FROM_DATABASE=ACC Microelectronics - -@@ -18485,6 +18713,9 @@ pci:v000010B5d00008732* - pci:v000010B5d00008734* - ID_MODEL_FROM_DATABASE=PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch - -+pci:v000010B5d00008747* -+ ID_MODEL_FROM_DATABASE=PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch -+ - pci:v000010B5d000087B0* - ID_MODEL_FROM_DATABASE=PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch - -@@ -18969,10 +19200,10 @@ pci:v000010B6d00000009sv000010B6sd00000009* - ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode - - pci:v000010B6d0000000A* -- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode -+ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner - - pci:v000010B6d0000000Asv000010B6sd0000000A* -- ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI Ringnode -+ ID_MODEL_FROM_DATABASE=Token Ring 100/16/4 Ringnode/Ringrunner - - pci:v000010B6d0000000B* - ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 -@@ -19001,6 +19232,9 @@ pci:v000010B7* - pci:v000010B7d00000001* - ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) - -+pci:v000010B7d00000001sv00009850sd00000001* -+ ID_MODEL_FROM_DATABASE=3c985B-SX -+ - pci:v000010B7d00000013* - ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) - -@@ -21042,10 +21276,7 @@ pci:v000010DEd000000CC* - ID_MODEL_FROM_DATABASE=NV41GLM [Quadro FX Go1400] - - pci:v000010DEd000000CD* -- ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 3450/4000 SDI] -- --pci:v000010DEd000000CDsv000010DEsd0000029B* -- ID_MODEL_FROM_DATABASE=wx4300 Workstation -+ ID_MODEL_FROM_DATABASE=NV42GL [Quadro FX 3450/4000 SDI] - - pci:v000010DEd000000CE* - ID_MODEL_FROM_DATABASE=NV41GL [Quadro FX 1400] -@@ -24858,7 +25089,7 @@ pci:v000010DEd0000086E* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9100M G] - - pci:v000010DEd0000086F* -- ID_MODEL_FROM_DATABASE=C79 [GeForce 9200M G] -+ ID_MODEL_FROM_DATABASE=MCP79 [GeForce 8200M G] - - pci:v000010DEd00000870* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] -@@ -26006,6 +26237,9 @@ pci:v000010DEd00001005sv00003842sd00002795* - pci:v000010DEd0000100A* - ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] - -+pci:v000010DEd0000100C* -+ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] -+ - pci:v000010DEd0000101F* - ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] - -@@ -26582,6 +26816,9 @@ pci:v000010DEd00001140sv00001462sd000010B8* - pci:v000010DEd00001140sv00001462sd000010E9* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -+pci:v000010DEd00001140sv00001462sd00001116* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ - pci:v000010DEd00001140sv00001462sd0000AA33* - ID_MODEL_FROM_DATABASE=GeForce 720M - -@@ -26750,6 +26987,9 @@ pci:v000010DEd00001140sv00001B0Asd00002202* - pci:v000010DEd00001180* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] - -+pci:v000010DEd00001180sv00001043sd000083F1* -+ ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 -+ - pci:v000010DEd00001180sv00003842sd00003682* - ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition - -@@ -26804,6 +27044,15 @@ pci:v000010DEd0000118F* - pci:v000010DEd00001193* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] - -+pci:v000010DEd00001198* -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] -+ -+pci:v000010DEd00001199* -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 870M] -+ -+pci:v000010DEd0000119A* -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 860M] -+ - pci:v000010DEd0000119D* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 775M Mac Edition] - -@@ -27065,6 +27314,9 @@ pci:v000010DEd00001251* - pci:v000010DEd00001280* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 635] - -+pci:v000010DEd00001281* -+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 710] -+ - pci:v000010DEd00001282* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 640 Rev. 2] - -@@ -27107,6 +27359,9 @@ pci:v000010DEd00001294* - pci:v000010DEd00001295* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] - -+pci:v000010DEd00001296* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] -+ - pci:v000010DEd00001298* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 720M] - -@@ -27119,12 +27374,48 @@ pci:v000010DEd000012B9* - pci:v000010DEd000012BA* - ID_MODEL_FROM_DATABASE=GK208GLM [Quadro K510M] - -+pci:v000010DEd00001340* -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] -+ -+pci:v000010DEd00001341* -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] -+ -+pci:v000010DEd00001380* -+ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] -+ -+pci:v000010DEd00001381* -+ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750] -+ -+pci:v000010DEd00001382* -+ ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] -+ -+pci:v000010DEd00001390* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] -+ -+pci:v000010DEd00001391* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] -+ -+pci:v000010DEd00001392* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] -+ -+pci:v000010DEd00001393* -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] -+ - pci:v000010DF* - ID_VENDOR_FROM_DATABASE=Emulex Corporation - - pci:v000010DFd00000720* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) - -+pci:v000010DFd00000720sv000017AAsd00001056* -+ ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric -+ -+pci:v000010DFd00000720sv000017AAsd00001057* -+ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric -+ -+pci:v000010DFd00000720sv000017AAsd00001059* -+ ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric -+ - pci:v000010DFd00000722* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) - -@@ -27167,6 +27458,12 @@ pci:v000010DFd0000E208* - pci:v000010DFd0000E220* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) - -+pci:v000010DFd0000E220sv000017AAsd00001054* -+ ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric -+ -+pci:v000010DFd0000E220sv000017AAsd00001055* -+ ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric -+ - pci:v000010DFd0000E240* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) - -@@ -27573,7 +27870,7 @@ pci:v000010ECd00008029sv00001259sd00002400* - ID_MODEL_FROM_DATABASE=AT-2400 - - pci:v000010ECd00008029sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine - - pci:v000010ECd00008129* - ID_MODEL_FROM_DATABASE=RTL-8129 -@@ -27603,7 +27900,7 @@ pci:v000010ECd00008138sv000010ECsd00008138* - ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter - - pci:v000010ECd00008139* -- ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter - - pci:v000010ECd00008139sv00000357sd0000000A* - ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 -@@ -27638,11 +27935,14 @@ pci:v000010ECd00008139sv00001071sd00008160* - pci:v000010ECd00008139sv000010BDsd00000320* - ID_MODEL_FROM_DATABASE=EP-320X-R - -+pci:v000010ECd00008139sv000010ECsd00008139* -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter -+ - pci:v000010ECd00008139sv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop - - pci:v000010ECd00008139sv00001113sd0000EC01* -- ID_MODEL_FROM_DATABASE=FNC-0107TX -+ ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX - - pci:v000010ECd00008139sv00001186sd00001300* - ID_MODEL_FROM_DATABASE=DFE-538TX -@@ -27734,6 +28034,9 @@ pci:v000010ECd00008139sv0000187Esd00003303* - pci:v000010ECd00008139sv00001904sd00008139* - ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter - -+pci:v000010ECd00008139sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v000010ECd00008139sv00002646sd00000001* - ID_MODEL_FROM_DATABASE=KNE120TX - -@@ -27779,6 +28082,9 @@ pci:v000010ECd00008168sv0000103Csd00001611* - pci:v000010ECd00008168sv0000103Csd00001950* - ID_MODEL_FROM_DATABASE=ProBook 450/455 - -+pci:v000010ECd00008168sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v000010ECd00008168sv00001043sd000011F5* - ID_MODEL_FROM_DATABASE=A6J-Q008 - -@@ -27815,6 +28121,9 @@ pci:v000010ECd00008168sv00001462sd0000238C* - pci:v000010ECd00008168sv00001462sd0000368C* - ID_MODEL_FROM_DATABASE=K9AG Neo2 - -+pci:v000010ECd00008168sv00001462sd00004180* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v000010ECd00008168sv00001462sd00007522* - ID_MODEL_FROM_DATABASE=X58 Pro-E - -@@ -27894,10 +28203,10 @@ pci:v000010ECd00008176sv00001A3Bsd00001139* - ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card - - pci:v000010ECd00008177* -- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter -+ ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter - - pci:v000010ECd00008178* -- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter -+ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter - - pci:v000010ECd00008179* - ID_MODEL_FROM_DATABASE=RTL8188EE Wireless Network Adapter -@@ -27914,11 +28223,14 @@ pci:v000010ECd00008180sv00001737sd00000019* - pci:v000010ECd00008185* - ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller - -+pci:v000010ECd0000818B* -+ ID_MODEL_FROM_DATABASE=RTL8192EE PCIe Wireless Network Adapter -+ - pci:v000010ECd00008190* -- ID_MODEL_FROM_DATABASE=RTL8190 802.11n Wireless LAN -+ ID_MODEL_FROM_DATABASE=RTL8190 802.11n PCI Wireless Network Adapter - - pci:v000010ECd00008191* -- ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter -+ ID_MODEL_FROM_DATABASE=RTL8192CE PCIe Wireless Network Adapter - - pci:v000010ECd00008192* - ID_MODEL_FROM_DATABASE=RTL8192E/RTL8192SE Wireless LAN Controller -@@ -27938,6 +28250,15 @@ pci:v000010ECd00008199sv00001462sd00006894* - pci:v000010ECd00008723* - ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter - -+pci:v000010ECd00008812* -+ ID_MODEL_FROM_DATABASE=RTL8812AE 802.11ac PCIe Wireless Network Adapter -+ -+pci:v000010ECd00008813* -+ ID_MODEL_FROM_DATABASE=RTL8813AE 802.11ac PCIe Wireless Network Adapter -+ -+pci:v000010ECd00008821* -+ ID_MODEL_FROM_DATABASE=RTL8821AE 802.11ac PCIe Wireless Network Adapter -+ - pci:v000010ECd0000B723* - ID_MODEL_FROM_DATABASE=RTL8723BE PCIe Wireless Network Adapter - -@@ -28211,6 +28532,9 @@ pci:v00001102d00000004sv00001102sd00000058* - pci:v00001102d00000004sv00001102sd00001002* - ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum - -+pci:v00001102d00000004sv00001102sd00001003* -+ ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 -+ - pci:v00001102d00000004sv00001102sd00001007* - ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 - -@@ -28436,6 +28760,9 @@ pci:v00001103d00001742* - pci:v00001103d00002210* - ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller - -+pci:v00001103d00002210sv000011ABsd000011AB* -+ ID_MODEL_FROM_DATABASE=88SX6042 -+ - pci:v00001103d00002300* - ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller - -@@ -28635,7 +28962,7 @@ pci:v00001106d00000415* - ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller - - pci:v00001106d00000415sv00001043sd0000838F* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=Motherboard - - pci:v00001106d00000501* - ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] -@@ -29033,6 +29360,9 @@ pci:v00001106d00003038sv00001849sd00003038* - pci:v00001106d00003038sv000019DAsd0000A179* - ID_MODEL_FROM_DATABASE=ZBOX nano VD01 - -+pci:v00001106d00003038sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001106d00003040* - ID_MODEL_FROM_DATABASE=VT82C586B ACPI - -@@ -29591,6 +29921,9 @@ pci:v00001106d00003238* - pci:v00001106d00003249* - ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller - -+pci:v00001106d00003249sv00001106sd00003249* -+ ID_MODEL_FROM_DATABASE=VT6421 IDE/SATA Controller -+ - pci:v00001106d0000324A* - ID_MODEL_FROM_DATABASE=CX700/VX700 PCI to PCI Bridge - -@@ -30180,7 +30513,7 @@ pci:v00001109d00001400* - ID_MODEL_FROM_DATABASE=EM110TX [EX110TX] - - pci:v0000110A* -- ID_VENDOR_FROM_DATABASE=Siemens Nixdorf AG -+ ID_VENDOR_FROM_DATABASE=Siemens AG - - pci:v0000110Ad00000002* - ID_MODEL_FROM_DATABASE=Pirahna 2-port -@@ -30216,20 +30549,56 @@ pci:v0000110Ad00002104* - ID_MODEL_FROM_DATABASE=Eicon Diva 2.02 compatible passive ISDN card - - pci:v0000110Ad00003141* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 (Profibus Adapter) -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5611 / 5621 - - pci:v0000110Ad00003142* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A1 (Profibus Adapter) -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 / 5614 -+ -+pci:v0000110Ad00003143* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 - - pci:v0000110Ad00004021* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) - - pci:v0000110Ad00004029* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613A2 (Profibus Adapter) -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 -+ -+pci:v0000110Ad00004029sv0000110Asd00004029* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 -+ -+pci:v0000110Ad00004029sv0000110Asd0000C029* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 - - pci:v0000110Ad00004035* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 - -+pci:v0000110Ad00004036* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1616 -+ -+pci:v0000110Ad00004038* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1604 -+ -+pci:v0000110Ad00004069* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 -+ -+pci:v0000110Ad00004069sv0000110Asd0000C069* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 -+ -+pci:v0000110Ad0000407C* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 -+ -+pci:v0000110Ad0000407D* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A3 -+ -+pci:v0000110Ad0000407E* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5622 -+ -+pci:v0000110Ad00004083* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A3 -+ -+pci:v0000110Ad00004084* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1626 -+ - pci:v0000110Ad00004942* - ID_MODEL_FROM_DATABASE=FPGA I-Bus Tracer for MBD - -@@ -31244,9 +31613,24 @@ pci:v00001131d00007133sv00005ACEsd00006290* - pci:v00001131d00007133sv00005ACEsd00007090* - ID_MODEL_FROM_DATABASE=Behold TV A7 - -+pci:v00001131d00007133sv00005ACEsd00007150* -+ ID_MODEL_FROM_DATABASE=Behold TV H75 -+ -+pci:v00001131d00007133sv00005ACEsd00007151* -+ ID_MODEL_FROM_DATABASE=Behold TV H75 -+ - pci:v00001131d00007133sv00005ACEsd00007190* - ID_MODEL_FROM_DATABASE=Behold TV H7 - -+pci:v00001131d00007133sv00005ACEsd00007191* -+ ID_MODEL_FROM_DATABASE=Behold TV H7 -+ -+pci:v00001131d00007133sv00005ACEsd00007290* -+ ID_MODEL_FROM_DATABASE=Behold TV T7 -+ -+pci:v00001131d00007133sv00005ACEsd00007591* -+ ID_MODEL_FROM_DATABASE=Behold TV X7 -+ - pci:v00001131d00007133sv00005ACEsd00007595* - ID_MODEL_FROM_DATABASE=Behold TV X7 - -@@ -31553,9 +31937,30 @@ pci:v00001131d00007231* - pci:v00001131d00007231sv00005ACEsd00008000* - ID_MODEL_FROM_DATABASE=Behold TV H8 - -+pci:v00001131d00007231sv00005ACEsd00008001* -+ ID_MODEL_FROM_DATABASE=Behold TV H8 -+ -+pci:v00001131d00007231sv00005ACEsd00008050* -+ ID_MODEL_FROM_DATABASE=Behold TV H85 -+ -+pci:v00001131d00007231sv00005ACEsd00008051* -+ ID_MODEL_FROM_DATABASE=Behold TV H85 -+ - pci:v00001131d00007231sv00005ACEsd00008100* - ID_MODEL_FROM_DATABASE=Behold TV A8 - -+pci:v00001131d00007231sv00005ACEsd00008101* -+ ID_MODEL_FROM_DATABASE=Behold TV A8 -+ -+pci:v00001131d00007231sv00005ACEsd00008150* -+ ID_MODEL_FROM_DATABASE=Behold TV A85 -+ -+pci:v00001131d00007231sv00005ACEsd00008151* -+ ID_MODEL_FROM_DATABASE=Behold TV A85 -+ -+pci:v00001131d00007231sv00005ACEsd00008201* -+ ID_MODEL_FROM_DATABASE=Behold TV T8 -+ - pci:v00001131d00009730* - ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller - -@@ -35042,6 +35447,9 @@ pci:v000011C1d00005811* - pci:v000011C1d00005811sv0000103Csd00002A34* - ID_MODEL_FROM_DATABASE=Pavilion a1677c - -+pci:v000011C1d00005811sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v000011C1d00005811sv0000103Csd00002A9E* - ID_MODEL_FROM_DATABASE=Pavilion p6310f - -@@ -35858,6 +36266,9 @@ pci:v00001217d00008330sv00001028sd000004A3* - pci:v00001217d00008331* - ID_MODEL_FROM_DATABASE=O2 Flash Memory Card - -+pci:v00001217d00008520* -+ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller -+ - pci:v00001218* - ID_VENDOR_FROM_DATABASE=Hybricon Corp. - -@@ -36852,7 +37263,7 @@ pci:v00001274d00001171* - ID_MODEL_FROM_DATABASE=ES1373 [AudioPCI] (also Creative Labs CT5803) - - pci:v00001274d00001371* -- ID_MODEL_FROM_DATABASE=ES1371 [AudioPCI-97] -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] - - pci:v00001274d00001371sv00000E11sd00000024* - ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro -@@ -36870,7 +37281,7 @@ pci:v00001274d00001371sv0000107Bsd00008054* - ID_MODEL_FROM_DATABASE=Tabor2 - - pci:v00001274d00001371sv00001274sd00001371* -- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI64V, AudioPCI128 -+ ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 - - pci:v00001274d00001371sv00001274sd00008001* - ID_MODEL_FROM_DATABASE=CT4751 board -@@ -41858,12 +42269,24 @@ pci:v00001425d00005013* - pci:v00001425d00005014* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005015* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005080* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005081* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005083* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005084* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005085* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d00005401* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -41924,12 +42347,24 @@ pci:v00001425d00005413* - pci:v00001425d00005414* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005415* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005480* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005481* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005483* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005484* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005485* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d00005501* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -41990,12 +42425,24 @@ pci:v00001425d00005513* - pci:v00001425d00005514* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller - -+pci:v00001425d00005515* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller -+ - pci:v00001425d00005580* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller - - pci:v00001425d00005581* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller - -+pci:v00001425d00005583* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller -+ -+pci:v00001425d00005584* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller -+ -+pci:v00001425d00005585* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller -+ - pci:v00001425d00005601* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -42056,12 +42503,24 @@ pci:v00001425d00005613* - pci:v00001425d00005614* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller - -+pci:v00001425d00005615* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller -+ - pci:v00001425d00005680* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller - - pci:v00001425d00005681* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Storage Controller - -+pci:v00001425d00005683* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller -+ -+pci:v00001425d00005684* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller -+ -+pci:v00001425d00005685* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller -+ - pci:v00001425d00005701* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -42122,12 +42581,24 @@ pci:v00001425d00005713* - pci:v00001425d00005714* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005715* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005780* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005781* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005783* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005784* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005785* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d00005801* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -42188,12 +42659,24 @@ pci:v00001425d00005813* - pci:v00001425d00005814* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller - -+pci:v00001425d00005815* -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ - pci:v00001425d00005880* - ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller - - pci:v00001425d00005881* - ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller - -+pci:v00001425d00005883* -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005884* -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ -+pci:v00001425d00005885* -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ - pci:v00001425d0000A000* - ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller - -@@ -42483,7 +42966,7 @@ pci:v00001461d0000F436* - ID_MODEL_FROM_DATABASE=AVerTV Hybrid+FM - - pci:v00001462* -- ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. -+ ID_VENDOR_FROM_DATABASE=Micro-Star International Co., Ltd. [MSI] - - pci:v00001463* - ID_VENDOR_FROM_DATABASE=Fast Corporation -@@ -43847,6 +44330,33 @@ pci:v000014E4d0000168E* - pci:v000014E4d0000168Esv0000103Csd00001798* - ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] - -+pci:v000014E4d0000168Esv0000103Csd000017A5* -+ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd000018D3* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001930* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001931* -+ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001932* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00001933* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd0000193A* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd00003382* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ -+pci:v000014E4d0000168Esv0000103Csd0000339D* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ - pci:v000014E4d00001690* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe - -@@ -43922,9 +44432,21 @@ pci:v000014E4d000016A1* - pci:v000014E4d000016A2* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet - -+pci:v000014E4d000016A2sv0000103Csd00001916* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ -+pci:v000014E4d000016A2sv0000103Csd00001917* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ - pci:v000014E4d000016A4* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function - -+pci:v000014E4d000016A4sv0000103Csd00001916* -+ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter -+ -+pci:v000014E4d000016A4sv0000103Csd00001917* -+ ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter -+ - pci:v000014E4d000016A5* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function - -@@ -44048,12 +44570,78 @@ pci:v000014E4d000016ACsv0000103Csd0000703D* - pci:v000014E4d000016AD* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function - -+pci:v000014E4d000016ADsv0000103Csd00001916* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ -+pci:v000014E4d000016ADsv0000103Csd00001917* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ - pci:v000014E4d000016AE* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function - -+pci:v000014E4d000016AEsv0000103Csd00001798* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd000017A5* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd000018D3* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001930* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001931* -+ ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001932* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00001933* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd0000193A* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd00003382* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AEsv0000103Csd0000339D* -+ ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter -+ - pci:v000014E4d000016AF* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function - -+pci:v000014E4d000016AFsv0000103Csd00001798* -+ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd000017A5* -+ ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd000018D3* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001930* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001931* -+ ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001932* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00001933* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd0000193A* -+ ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd00003382* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ -+pci:v000014E4d000016AFsv0000103Csd0000339D* -+ ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ - pci:v000014E4d000016B0* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe - -@@ -49484,6 +50072,9 @@ pci:v00001814d0000539F* - pci:v00001814d0000539Fsv0000103Csd00001637* - ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card - -+pci:v00001814d00005592* -+ ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter -+ - pci:v00001814d0000E932* - ID_MODEL_FROM_DATABASE=RT2560F 802.11 b/g PCI - -@@ -50480,6 +51071,12 @@ pci:v0000193Fd00000367* - pci:v0000193Fd00000370* - ID_MODEL_FROM_DATABASE=AHA370-PCIe - -+pci:v0000193Fd00003641* -+ ID_MODEL_FROM_DATABASE=AHA3641 -+ -+pci:v0000193Fd00003642* -+ ID_MODEL_FROM_DATABASE=AHA3642 -+ - pci:v00001942* - ID_VENDOR_FROM_DATABASE=ClearSpeed Technology plc - -@@ -50633,6 +51230,9 @@ pci:v00001957d00000084* - pci:v00001957d00000085* - ID_MODEL_FROM_DATABASE=MPC8347 PBGA - -+pci:v00001957d00000085sv0000110Asd00004046* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 -+ - pci:v00001957d00000086* - ID_MODEL_FROM_DATABASE=MPC8343E - -@@ -51095,6 +51695,9 @@ pci:v000019A2d00000710sv0000103Csd00003341* - pci:v000019A2d00000710sv0000103Csd00003345* - ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter - -+pci:v000019A2d00000710sv0000103Csd0000337B* -+ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ - pci:v000019A2d00000712* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) - -@@ -51104,6 +51707,9 @@ pci:v000019A2d00000714* - pci:v000019A2d00000714sv0000103Csd00003315* - ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter - -+pci:v000019A2d00000714sv0000103Csd0000337B* -+ ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ - pci:v000019A8* - ID_VENDOR_FROM_DATABASE=DAQDATA GmbH - -@@ -51236,6 +51842,9 @@ pci:v00001A22* - pci:v00001A29* - ID_VENDOR_FROM_DATABASE=Fortinet, Inc. - -+pci:v00001A29d00004338* -+ ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC -+ - pci:v00001A2B* - ID_VENDOR_FROM_DATABASE=Ascom AG - -@@ -51605,6 +52214,12 @@ pci:v00001AF4d00001005* - pci:v00001AF4d00001009* - ID_MODEL_FROM_DATABASE=Virtio filesystem - -+pci:v00001AF4d00001110* -+ ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory -+ -+pci:v00001AF4d00001110sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001AF5* - ID_VENDOR_FROM_DATABASE=Netezza Corp. - -@@ -51647,6 +52262,9 @@ pci:v00001B21d00000612sv00001849sd00000612* - pci:v00001B21d00001042* - ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller - -+pci:v00001B21d00001042sv00001043sd00008488* -+ ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ - pci:v00001B21d00001042sv00001849sd00001042* - ID_MODEL_FROM_DATABASE=Motherboard - -@@ -51662,6 +52280,39 @@ pci:v00001B2C* - pci:v00001B36* - ID_VENDOR_FROM_DATABASE=Red Hat, Inc. - -+pci:v00001B36d00000001* -+ ID_MODEL_FROM_DATABASE=QEMU PCI-PCI bridge -+ -+pci:v00001B36d00000002* -+ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter -+ -+pci:v00001B36d00000002sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000003* -+ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter -+ -+pci:v00001B36d00000003sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000004* -+ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter -+ -+pci:v00001B36d00000004sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000005* -+ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device -+ -+pci:v00001B36d00000005sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ -+pci:v00001B36d00000100* -+ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card -+ -+pci:v00001B36d00000100sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00001B37* - ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB - -@@ -51725,6 +52376,9 @@ pci:v00001B4Bd00009130sv00001043sd00008438* - pci:v00001B4Bd00009172* - ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller - -+pci:v00001B4Bd00009178* -+ ID_MODEL_FROM_DATABASE=88SE9170 PCIe SATA 6Gb/s Controller -+ - pci:v00001B4Bd0000917A* - ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller - -@@ -51875,6 +52529,9 @@ pci:v00001BBFd00000004* - pci:v00001BF4* - ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation - -+pci:v00001BF4d00000001* -+ ID_MODEL_FROM_DATABASE=SentinelEX -+ - pci:v00001BFD* - ID_VENDOR_FROM_DATABASE=EeeTOP - -@@ -51902,6 +52559,18 @@ pci:v00001C2Cd000000A1* - pci:v00001C2Cd000000A2* - ID_MODEL_FROM_DATABASE=FBC8XG Capture 8x10Gb - -+pci:v00001C2Cd000000A3* -+ ID_MODEL_FROM_DATABASE=FBC2XG Capture 2x10Gb -+ -+pci:v00001C2Cd000000A4* -+ ID_MODEL_FROM_DATABASE=FBC4XGG3 Capture 4x10Gb -+ -+pci:v00001C2Cd000000A5* -+ ID_MODEL_FROM_DATABASE=FBC2XLG Capture 2x40Gb -+ -+pci:v00001C2Cd000000A6* -+ ID_MODEL_FROM_DATABASE=FBC1CG Capture 1x100Gb -+ - pci:v00001C32* - ID_VENDOR_FROM_DATABASE=Highland Technology, Inc. - -@@ -53970,7 +54639,7 @@ pci:v00008086d00000100sv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - - pci:v00008086d00000100sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard - - pci:v00008086d00000101* - ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port -@@ -53987,6 +54656,9 @@ pci:v00008086d00000102* - pci:v00008086d00000102sv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - -+pci:v00008086d00000102sv00001043sd00000102* -+ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ - pci:v00008086d00000104* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller - -@@ -54065,9 +54737,15 @@ pci:v00008086d00000151* - pci:v00008086d00000151sv00001043sd00001477* - ID_MODEL_FROM_DATABASE=N56VZ - -+pci:v00008086d00000151sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00000151sv00001043sd000084CA* - ID_MODEL_FROM_DATABASE=P8H77-I Motherboard - -+pci:v00008086d00000151sv00008086sd00002010* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00000152* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -@@ -54098,12 +54776,21 @@ pci:v00008086d00000154sv00001043sd00001517* - pci:v00008086d00000155* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - -+pci:v00008086d00000155sv00008086sd00002010* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00000156* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller - - pci:v00008086d00000158* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller - -+pci:v00008086d00000158sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ -+pci:v00008086d00000158sv00008086sd00002010* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00000159* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - -@@ -54116,6 +54803,9 @@ pci:v00008086d0000015C* - pci:v00008086d0000015D* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - -+pci:v00008086d0000015Dsv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d0000015E* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -@@ -54137,6 +54827,9 @@ pci:v00008086d00000166sv00001043sd00002103* - pci:v00008086d0000016A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -+pci:v00008086d0000016Asv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ - pci:v00008086d00000172* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -@@ -54753,7 +55446,7 @@ pci:v00008086d0000095Asv00008086sd00005002* - ID_MODEL_FROM_DATABASE=Wireless-N 7265 - - pci:v00008086d0000095Asv00008086sd0000500A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 - - pci:v00008086d0000095Asv00008086sd00005010* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -@@ -54770,9 +55463,18 @@ pci:v00008086d0000095Asv00008086sd0000502A* - pci:v00008086d0000095Asv00008086sd00005090* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00005100* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ -+pci:v00008086d0000095Asv00008086sd0000510A* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00005110* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00005112* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00005190* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -@@ -54794,9 +55496,15 @@ pci:v00008086d0000095Asv00008086sd00005590* - pci:v00008086d0000095Asv00008086sd00009010* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00009012* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00009110* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -+pci:v00008086d0000095Asv00008086sd00009112* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ - pci:v00008086d0000095Asv00008086sd00009210* - ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 - -@@ -55089,397 +55797,409 @@ pci:v00008086d00000D36* - ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller - - pci:v00008086d00000E00* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DMI2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 - - pci:v00008086d00000E01* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode - - pci:v00008086d00000E02* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1a -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a - - pci:v00008086d00000E03* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1b -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b - - pci:v00008086d00000E04* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2a -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a - - pci:v00008086d00000E05* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2b -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2b - - pci:v00008086d00000E06* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2c -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c - - pci:v00008086d00000E07* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2d -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2d - - pci:v00008086d00000E08* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3a -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a - - pci:v00008086d00000E09* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3b -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3b - - pci:v00008086d00000E0A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3c -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3c - - pci:v00008086d00000E0B* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3d -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3d - - pci:v00008086d00000E10* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E13* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E17* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E18* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E1C* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers - - pci:v00008086d00000E1D* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E1E* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers - - pci:v00008086d00000E1F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers - - pci:v00008086d00000E20* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 - - pci:v00008086d00000E21* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 - - pci:v00008086d00000E22* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 - - pci:v00008086d00000E23* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 - - pci:v00008086d00000E24* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 - - pci:v00008086d00000E25* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 - - pci:v00008086d00000E26* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 - - pci:v00008086d00000E27* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 - - pci:v00008086d00000E28* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 VTd/Memory Map/Misc -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc - - pci:v00008086d00000E29* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Memory Hotplug -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Memory Hotplug - - pci:v00008086d00000E2A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO RAS -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS - - pci:v00008086d00000E2C* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IOAPIC -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC - - pci:v00008086d00000E2E* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA - - pci:v00008086d00000E2F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA - - pci:v00008086d00000E30* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 - - pci:v00008086d00000E32* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 - - pci:v00008086d00000E33* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 - - pci:v00008086d00000E34* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E36* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E37* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E38* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 - - pci:v00008086d00000E3A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 - - pci:v00008086d00000E3E* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E3F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - - pci:v00008086d00000E40* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 - - pci:v00008086d00000E41* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E43* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 - - pci:v00008086d00000E44* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 -+ -+pci:v00008086d00000E45* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register -+ -+pci:v00008086d00000E47* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register - - pci:v00008086d00000E60* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 - - pci:v00008086d00000E68* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers - - pci:v00008086d00000E6A* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E6B* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E6C* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E6D* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - - pci:v00008086d00000E71* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers - - pci:v00008086d00000E74* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E75* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe - - pci:v00008086d00000E77* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E79* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers - - pci:v00008086d00000E7D* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers - - pci:v00008086d00000E7F* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E80* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 - - pci:v00008086d00000E81* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers - - pci:v00008086d00000E83* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 - - pci:v00008086d00000E84* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 -+ -+pci:v00008086d00000E85* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register - - pci:v00008086d00000E87* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Registers - - pci:v00008086d00000E90* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 - - pci:v00008086d00000E93* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 - - pci:v00008086d00000E94* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 1 -+ -+pci:v00008086d00000E95* -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register - - pci:v00008086d00000EA0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 - - pci:v00008086d00000EA8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers - - pci:v00008086d00000EAA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAB* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAD* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - - pci:v00008086d00000EAE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EAF* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EB0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 - - pci:v00008086d00000EB1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 - - pci:v00008086d00000EB2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 - - pci:v00008086d00000EB3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 - - pci:v00008086d00000EB4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 - - pci:v00008086d00000EB5* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 - - pci:v00008086d00000EB6* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 - - pci:v00008086d00000EB7* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 - - pci:v00008086d00000EBC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EBE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EBF* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers - - pci:v00008086d00000EC0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0 - - pci:v00008086d00000EC1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1 - - pci:v00008086d00000EC2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2 - - pci:v00008086d00000EC3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3 - - pci:v00008086d00000EC4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 4 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 4 - - pci:v00008086d00000EC8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 System Address Decoder -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder - - pci:v00008086d00000EC9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers - - pci:v00008086d00000ECA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers - - pci:v00008086d00000ED8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000ED9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDD* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EDF* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EE0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE5* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE6* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE7* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EE9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEB* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EED* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EEE* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers - - pci:v00008086d00000EF0* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 - - pci:v00008086d00000EF1* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 - - pci:v00008086d00000EF2* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 - - pci:v00008086d00000EF3* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 - - pci:v00008086d00000EF4* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 - - pci:v00008086d00000EF5* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 - - pci:v00008086d00000EF6* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 - - pci:v00008086d00000EF7* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 - - pci:v00008086d00000EF8* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EF9* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFA* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFB* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFC* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000EFD* -- ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO -+ ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000F00* - ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -@@ -55868,6 +56588,9 @@ pci:v00008086d0000100Esv00001028sd00000151* - pci:v00008086d0000100Esv0000107Bsd00008920* - ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter - -+pci:v00008086d0000100Esv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000100Esv00008086sd0000001E* - ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter - -@@ -56057,6 +56780,9 @@ pci:v00008086d0000101Esv00008086sd0000101E* - pci:v00008086d00001026* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - -+pci:v00008086d00001026sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d00001026sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -56867,15 +57593,24 @@ pci:v00008086d000010D3* - pci:v00008086d000010D3sv0000103Csd00003250* - ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter - -+pci:v00008086d000010D3sv00001043sd00008369* -+ ID_MODEL_FROM_DATABASE=Motherboard -+ - pci:v00008086d000010D3sv000010A9sd00008029* - ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet - - pci:v00008086d000010D3sv000015D9sd0000060A* - ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard - -+pci:v00008086d000010D3sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d000010D3sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter - -+pci:v00008086d000010D3sv00008086sd0000357A* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d000010D3sv00008086sd0000A01F* - ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter - -@@ -57002,6 +57737,9 @@ pci:v00008086d000010EF* - pci:v00008086d000010EFsv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d000010EFsv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d000010F0* - ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection - -@@ -57086,6 +57824,9 @@ pci:v00008086d000010FBsv0000108Esd00007B11* - pci:v00008086d000010FBsv00001734sd000011A9* - ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection - -+pci:v00008086d000010FBsv000017AAsd00001071* -+ ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric -+ - pci:v00008086d000010FBsv00008086sd00000002* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 - -@@ -57182,6 +57923,9 @@ pci:v00008086d00001209* - pci:v00008086d00001209sv0000140Bsd00000610* - ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board - -+pci:v00008086d00001209sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00001209sv00004C53sd00001050* - ID_MODEL_FROM_DATABASE=CT7 mainboard - -@@ -57428,6 +58172,9 @@ pci:v00008086d00001229sv00001775sd00001100* - pci:v00008086d00001229sv00001775sd0000CE90* - ID_MODEL_FROM_DATABASE=CE9 - -+pci:v00008086d00001229sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00001229sv00004C53sd00001080* - ID_MODEL_FROM_DATABASE=CT8 mainboard - -@@ -57782,6 +58529,9 @@ pci:v00008086d00001502* - pci:v00008086d00001502sv00001028sd000004A3* - ID_MODEL_FROM_DATABASE=Precision M4600 - -+pci:v00008086d00001502sv00008086sd0000357A* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00001503* - ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection - -@@ -57878,12 +58628,18 @@ pci:v00008086d00001520* - pci:v00008086d00001521* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection - -+pci:v00008086d00001521sv00001028sd00000602* -+ ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM -+ - pci:v00008086d00001521sv00001028sd00001F60* - ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC - - pci:v00008086d00001521sv00001028sd00001F62* - ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC - -+pci:v00008086d00001521sv00001028sd0000FF9A* -+ ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC -+ - pci:v00008086d00001521sv0000103Csd000017D1* - ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter - -@@ -57911,6 +58667,9 @@ pci:v00008086d00001521sv0000108Esd00007B18* - pci:v00008086d00001521sv000010A9sd0000802A* - ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE - -+pci:v00008086d00001521sv000017AAsd00001074* -+ ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric -+ - pci:v00008086d00001521sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 - -@@ -57962,6 +58721,9 @@ pci:v00008086d00001522sv00008086sd000000A4* - pci:v00008086d00001523* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection - -+pci:v00008086d00001523sv00001028sd00001F9B* -+ ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC -+ - pci:v00008086d00001523sv0000103Csd00001784* - ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter - -@@ -58025,6 +58787,9 @@ pci:v00008086d00001528sv0000108Esd00007B15* - pci:v00008086d00001528sv00001137sd000000BF* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 - -+pci:v00008086d00001528sv000017AAsd00001073* -+ ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric -+ - pci:v00008086d00001528sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 - -@@ -58055,6 +58820,9 @@ pci:v00008086d00001533* - pci:v00008086d00001533sv0000103Csd00000003* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 - -+pci:v00008086d00001533sv000017AAsd00001100* -+ ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter -+ - pci:v00008086d00001533sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 - -@@ -58103,6 +58871,9 @@ pci:v00008086d0000154Asv00008086sd0000011B* - pci:v00008086d0000154Asv00008086sd0000011C* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 - -+pci:v00008086d0000154C* -+ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ - pci:v00008086d0000154D* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter - -@@ -58148,12 +58919,78 @@ pci:v00008086d0000155Dsv00008086sd00000002* - pci:v00008086d00001560* - ID_MODEL_FROM_DATABASE=Ethernet Controller X540 - -+pci:v00008086d00001571* -+ ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ -+pci:v00008086d00001572* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter -+ -+pci:v00008086d00001572sv00001028sd00001F99* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC -+ -+pci:v00008086d00001572sv00008086sd00000001* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ -+pci:v00008086d00001572sv00008086sd00000002* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ -+pci:v00008086d00001572sv00008086sd00000004* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ -+pci:v00008086d00001572sv00008086sd00000005* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter -+ -+pci:v00008086d00001572sv00008086sd00000006* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter -+ -+pci:v00008086d00001572sv00008086sd00000007* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ -+pci:v00008086d00001572sv00008086sd00000008* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ - pci:v00008086d0000157B* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection - - pci:v00008086d0000157C* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - -+pci:v00008086d00001580* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane -+ -+pci:v00008086d00001581* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane -+ -+pci:v00008086d00001581sv00001028sd00001F98* -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC -+ -+pci:v00008086d00001583* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ -+ -+pci:v00008086d00001583sv00008086sd00000001* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ -+pci:v00008086d00001583sv00008086sd00000002* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ -+pci:v00008086d00001583sv00008086sd00000003* -+ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 -+ -+pci:v00008086d00001584* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ -+ -+pci:v00008086d00001584sv00008086sd00000001* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ -+pci:v00008086d00001584sv00008086sd00000002* -+ ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ -+pci:v00008086d00001584sv00008086sd00000003* -+ ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 -+ -+pci:v00008086d00001585* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ -+ - pci:v00008086d000015A0* - ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I218-LM - -@@ -58166,6 +59003,117 @@ pci:v00008086d000015A2* - pci:v00008086d000015A3* - ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V - -+pci:v00008086d00001600* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -+ -+pci:v00008086d00001601* -+ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x16 Controller -+ -+pci:v00008086d00001602* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001603* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Camarillo Device -+ -+pci:v00008086d00001604* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -+ -+pci:v00008086d00001605* -+ ID_MODEL_FROM_DATABASE=Broadwell-U PCI Express x8 Controller -+ -+pci:v00008086d00001606* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001607* -+ ID_MODEL_FROM_DATABASE=Broadwell-U CHAPS Device -+ -+pci:v00008086d00001608* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -+ -+pci:v00008086d00001609* -+ ID_MODEL_FROM_DATABASE=Broadwell-U x4 PCIe -+ -+pci:v00008086d0000160A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160C* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Audio Controller -+ -+pci:v00008086d0000160D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000160F* -+ ID_MODEL_FROM_DATABASE=Broadwell-U SoftSKU -+ -+pci:v00008086d00001610* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI -+ -+pci:v00008086d00001612* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001614* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI -+ -+pci:v00008086d00001616* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001618* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge - DMI -+ -+pci:v00008086d0000161A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000161B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000161D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000161E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001622* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001626* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000162E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001632* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d00001636* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163A* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163B* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163D* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ -+pci:v00008086d0000163E* -+ ID_MODEL_FROM_DATABASE=Broadwell-U Integrated Graphics -+ - pci:v00008086d00001960* - ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor - -@@ -58308,7 +59256,10 @@ pci:v00008086d00001C02sv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - - pci:v00008086d00001C02sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ -+pci:v00008086d00001C02sv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS - - pci:v00008086d00001C03* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller -@@ -58346,8 +59297,11 @@ pci:v00008086d00001C10sv00001028sd000004AA* - pci:v00008086d00001C10sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - -+pci:v00008086d00001C10sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00001C10sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C12* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 -@@ -58379,18 +59333,27 @@ pci:v00008086d00001C18* - pci:v00008086d00001C18sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - -+pci:v00008086d00001C18sv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00001C1A* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 - - pci:v00008086d00001C1Asv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - -+pci:v00008086d00001C1Asv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00001C1C* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 - - pci:v00008086d00001C1E* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 - -+pci:v00008086d00001C1Esv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d00001C20* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller - -@@ -58412,6 +59375,9 @@ pci:v00008086d00001C20sv00001028sd000004DA* - pci:v00008086d00001C20sv00001043sd00008418* - ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard - -+pci:v00008086d00001C20sv00001043sd0000841B* -+ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ - pci:v00008086d00001C20sv00008086sd00002008* - ID_MODEL_FROM_DATABASE=DQ67SW board - -@@ -58434,10 +59400,10 @@ pci:v00008086d00001C22sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C22sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C22sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C24* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller -@@ -58461,10 +59427,10 @@ pci:v00008086d00001C26sv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C26sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C26sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C27* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 -@@ -58494,10 +59460,10 @@ pci:v00008086d00001C2Dsv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C2Dsv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C2Dsv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 - - pci:v00008086d00001C33* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller -@@ -58521,7 +59487,7 @@ pci:v00008086d00001C3Asv00001028sd000004DA* - ID_MODEL_FROM_DATABASE=Vostro 3750 - - pci:v00008086d00001C3Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P8 series motherboard - - pci:v00008086d00001C3Asv00008086sd00007270* - ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -@@ -58577,6 +59543,9 @@ pci:v00008086d00001C4A* - pci:v00008086d00001C4Asv00001028sd000004AA* - ID_MODEL_FROM_DATABASE=XPS 8300 - -+pci:v00008086d00001C4Asv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ - pci:v00008086d00001C4B* - ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller - -@@ -58610,6 +59579,9 @@ pci:v00008086d00001C51* - pci:v00008086d00001C52* - ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller - -+pci:v00008086d00001C52sv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00001C53* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller - -@@ -58622,6 +59594,9 @@ pci:v00008086d00001C55* - pci:v00008086d00001C56* - ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller - -+pci:v00008086d00001C56sv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ - pci:v00008086d00001C57* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller - -@@ -59345,6 +60320,9 @@ pci:v00008086d0000225C* - pci:v00008086d0000225D* - ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 3120 series - -+pci:v00008086d0000225E* -+ ID_MODEL_FROM_DATABASE=Xeon Phi coprocessor 31S1 -+ - pci:v00008086d00002310* - ID_MODEL_FROM_DATABASE=DH89xxCC LPC Controller - -@@ -59495,6 +60473,9 @@ pci:v00008086d00002415sv000011D4sd00005340* - pci:v00008086d00002415sv00001734sd00001025* - ID_MODEL_FROM_DATABASE=Activy 3xx - -+pci:v00008086d00002415sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002416* - ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller - -@@ -59804,6 +60785,9 @@ pci:v00008086d00002449sv00001186sd00007801* - pci:v00008086d00002449sv0000144Dsd00002602* - ID_MODEL_FROM_DATABASE=HomePNA 1M CNR - -+pci:v00008086d00002449sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002449sv00008086sd00003010* - ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE - -@@ -59897,6 +60881,9 @@ pci:v00008086d0000244Esv00001028sd000002DA* - pci:v00008086d0000244Esv0000103Csd00002A3B* - ID_MODEL_FROM_DATABASE=Pavilion A1512X - -+pci:v00008086d0000244Esv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000244Esv0000103Csd000031FE* - ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 - -@@ -59906,15 +60893,27 @@ pci:v00008086d0000244Esv0000103Csd0000330B* - pci:v00008086d0000244Esv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -+pci:v00008086d0000244Esv00001043sd0000844D* -+ ID_MODEL_FROM_DATABASE=P8 series motherboard -+ - pci:v00008086d0000244Esv00001458sd00005000* - ID_MODEL_FROM_DATABASE=Motherboard - -+pci:v00008086d0000244Esv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ -+pci:v00008086d0000244Esv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d0000244Esv000015D9sd00009680* - ID_MODEL_FROM_DATABASE=X7DBN Motherboard - - pci:v00008086d0000244Esv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -+pci:v00008086d0000244Esv00008086sd00007270* -+ ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ - pci:v00008086d00002450* - ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) - -@@ -60671,6 +61670,9 @@ pci:v00008086d000024CDsv00001734sd00001004* - pci:v00008086d000024CDsv00001734sd00001055* - ID_MODEL_FROM_DATABASE=Amilo M1420 - -+pci:v00008086d000024CDsv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000024CDsv00004C53sd00001090* - ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard - -@@ -60689,6 +61691,9 @@ pci:v00008086d000024D0* - pci:v00008086d000024D1* - ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller - -+pci:v00008086d000024D1sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D1sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60740,6 +61745,9 @@ pci:v00008086d000024D2sv00001014sd000002DD* - pci:v00008086d000024D2sv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024D2sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D2sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60809,6 +61817,9 @@ pci:v00008086d000024D3sv00001014sd000002ED* - pci:v00008086d000024D3sv00001028sd00000156* - ID_MODEL_FROM_DATABASE=Precision 360 - -+pci:v00008086d000024D3sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D3sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60860,6 +61871,9 @@ pci:v00008086d000024D4sv00001014sd000002DD* - pci:v00008086d000024D4sv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024D4sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D4sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60926,6 +61940,9 @@ pci:v00008086d000024D5* - pci:v00008086d000024D5sv0000100Asd0000147B* - ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard - -+pci:v00008086d000024D5sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D5sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -60977,6 +61994,9 @@ pci:v00008086d000024D7* - pci:v00008086d000024D7sv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=xSeries server mainboard - -+pci:v00008086d000024D7sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024D7sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61040,6 +62060,9 @@ pci:v00008086d000024DBsv00001014sd000002DD* - pci:v00008086d000024DBsv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024DBsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024DBsv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61112,6 +62135,9 @@ pci:v00008086d000024DDsv00001014sd000002DD* - pci:v00008086d000024DDsv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d000024DDsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024DDsv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61169,6 +62195,9 @@ pci:v00008086d000024DE* - pci:v00008086d000024DEsv00001014sd000002ED* - ID_MODEL_FROM_DATABASE=xSeries server mainboard - -+pci:v00008086d000024DEsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d000024DEsv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -61208,6 +62237,21 @@ pci:v00008086d000024DEsv00008086sd0000524C* - pci:v00008086d000024DF* - ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller - -+pci:v00008086d000024DFsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ -+pci:v00008086d000024F3* -+ ID_MODEL_FROM_DATABASE=Wireless 8260 -+ -+pci:v00008086d000024F3sv00008086sd00000010* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ -+pci:v00008086d000024F4* -+ ID_MODEL_FROM_DATABASE=Wireless 8260 -+ -+pci:v00008086d000024F4sv00008086sd00000030* -+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ - pci:v00008086d00002500* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) - -@@ -61679,6 +62723,9 @@ pci:v00008086d000025ABsv00001775sd00001100* - pci:v00008086d000025ABsv00001775sd0000CE90* - ID_MODEL_FROM_DATABASE=CE9 - -+pci:v00008086d000025ABsv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000025ABsv00004C53sd000010B0* - ID_MODEL_FROM_DATABASE=CL9 mainboard - -@@ -62330,6 +63377,9 @@ pci:v00008086d00002668sv00001043sd0000814E* - pci:v00008086d00002668sv00001462sd00007028* - ID_MODEL_FROM_DATABASE=915P/G Neo2 - -+pci:v00008086d00002668sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000266A* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller - -@@ -62657,6 +63707,9 @@ pci:v00008086d00002770sv00001043sd0000817A* - pci:v00008086d00002770sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=E4500 - -+pci:v00008086d00002770sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d00002770sv00008086sd0000544E* - ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP - -@@ -62669,6 +63722,9 @@ pci:v00008086d00002772* - pci:v00008086d00002772sv0000103Csd00002A3B* - ID_MODEL_FROM_DATABASE=Pavilion A1512X - -+pci:v00008086d00002772sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d00002772sv00008086sd0000544E* - ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP - -@@ -62831,6 +63887,9 @@ pci:v00008086d000027B8sv00001043sd00008179* - pci:v00008086d000027B8sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=E4500 - -+pci:v00008086d000027B8sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027B8sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -62906,6 +63965,9 @@ pci:v00008086d000027C0sv00001462sd00002310* - pci:v00008086d000027C0sv00001462sd00007236* - ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard - -+pci:v00008086d000027C0sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027C0sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -62961,7 +64023,7 @@ pci:v00008086d000027C4sv00001028sd000001D7* - ID_MODEL_FROM_DATABASE=XPS M1210 - - pci:v00008086d000027C4sv000017AAsd0000200E* -- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 -+ ID_MODEL_FROM_DATABASE=ThinkPad T60 - - pci:v00008086d000027C5* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] -@@ -63026,6 +64088,9 @@ pci:v00008086d000027C8sv0000144Dsd0000C072* - pci:v00008086d000027C8sv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027C8sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027C8sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63089,6 +64154,9 @@ pci:v00008086d000027C9sv0000144Dsd0000C072* - pci:v00008086d000027C9sv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027C9sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027C9sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63152,6 +64220,9 @@ pci:v00008086d000027CAsv0000144Dsd0000C072* - pci:v00008086d000027CAsv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027CAsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027CAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63209,6 +64280,9 @@ pci:v00008086d000027CBsv0000144Dsd0000C072* - pci:v00008086d000027CBsv00001458sd00005004* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027CBsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027CBsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63266,6 +64340,9 @@ pci:v00008086d000027CCsv0000144Dsd0000C072* - pci:v00008086d000027CCsv00001458sd00005006* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027CCsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027CCsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63296,6 +64373,9 @@ pci:v00008086d000027D0sv0000144Dsd0000C072* - pci:v00008086d000027D0sv00001458sd00005001* - ID_MODEL_FROM_DATABASE=GA-D525TUD - -+pci:v00008086d000027D0sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D0sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63314,6 +64394,9 @@ pci:v00008086d000027D2sv0000103Csd000030A3* - pci:v00008086d000027D2sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=Notebook N150P - -+pci:v00008086d000027D2sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D2sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63326,6 +64409,9 @@ pci:v00008086d000027D4* - pci:v00008086d000027D4sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=Notebook N150P - -+pci:v00008086d000027D4sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D4sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63341,6 +64427,9 @@ pci:v00008086d000027D6sv0000103Csd000030A3* - pci:v00008086d000027D6sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=Notebook N150P - -+pci:v00008086d000027D6sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D6sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63410,6 +64499,9 @@ pci:v00008086d000027D8sv00001458sd0000A002* - pci:v00008086d000027D8sv00001458sd0000A102* - ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard - -+pci:v00008086d000027D8sv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027D8sv0000152Dsd00000753* - ID_MODEL_FROM_DATABASE=Softmodem - -@@ -63470,6 +64562,9 @@ pci:v00008086d000027DAsv0000144Dsd0000C072* - pci:v00008086d000027DAsv00001458sd00005001* - ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard - -+pci:v00008086d000027DAsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027DAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63545,6 +64640,9 @@ pci:v00008086d000027DFsv0000107Bsd00005048* - pci:v00008086d000027DFsv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop - -+pci:v00008086d000027DFsv00001462sd00007418* -+ ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ - pci:v00008086d000027DFsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - -@@ -63632,6 +64730,9 @@ pci:v00008086d00002822* - pci:v00008086d00002822sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d00002822sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002823* - ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller - -@@ -64202,6 +65303,9 @@ pci:v00008086d00002916* - pci:v00008086d00002916sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d00002916sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002916sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -@@ -64223,6 +65327,9 @@ pci:v00008086d00002918sv00001028sd00000236* - pci:v00008086d00002918sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002918sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002919* - ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller - -@@ -64265,6 +65372,9 @@ pci:v00008086d00002921sv00001462sd00007360* - pci:v00008086d00002922* - ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] - -+pci:v00008086d00002922sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002922sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64331,6 +65441,9 @@ pci:v00008086d00002930sv00001028sd0000020D* - pci:v00008086d00002930sv00001028sd00000211* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002930sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002930sv0000103Csd00003628* - ID_MODEL_FROM_DATABASE=dv6-1190en - -@@ -64340,6 +65453,9 @@ pci:v00008086d00002930sv00001043sd00008277* - pci:v00008086d00002930sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002930sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002930sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64388,12 +65504,18 @@ pci:v00008086d00002934sv00001028sd0000029C* - pci:v00008086d00002934sv00001028sd00002011* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002934sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002934sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002934sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002934sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002934sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64433,12 +65555,18 @@ pci:v00008086d00002935sv00001028sd00000287* - pci:v00008086d00002935sv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller - -+pci:v00008086d00002935sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002935sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002935sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002935sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002935sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64472,12 +65600,18 @@ pci:v00008086d00002936sv00001028sd00000287* - pci:v00008086d00002936sv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller - -+pci:v00008086d00002936sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002936sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002936sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002936sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002936sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64511,12 +65645,18 @@ pci:v00008086d00002937sv00001028sd0000029C* - pci:v00008086d00002937sv00001028sd00002011* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002937sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002937sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002937sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002937sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002937sv00008086sd00002937* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64553,12 +65693,18 @@ pci:v00008086d00002938sv00001028sd00000287* - pci:v00008086d00002938sv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller - -+pci:v00008086d00002938sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002938sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002938sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002938sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002938sv00008086sd00002938* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64580,12 +65726,18 @@ pci:v00008086d00002939sv00001028sd00000210* - pci:v00008086d00002939sv00001028sd00000237* - ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller - -+pci:v00008086d00002939sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002939sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d00002939sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d00002939sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00002939sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64625,12 +65777,18 @@ pci:v00008086d0000293Asv00001028sd00000287* - pci:v00008086d0000293Asv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller - -+pci:v00008086d0000293Asv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000293Asv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d0000293Asv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d0000293Asv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000293Asv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -64661,12 +65819,18 @@ pci:v00008086d0000293Csv00001028sd00000287* - pci:v00008086d0000293Csv00001028sd0000029C* - ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller - -+pci:v00008086d0000293Csv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000293Csv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - - pci:v00008086d0000293Csv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d0000293Csv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000293Csv00008086sd0000293C* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64685,6 +65849,9 @@ pci:v00008086d0000293Esv00001028sd0000020D* - pci:v00008086d0000293Esv00001028sd00000211* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d0000293Esv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d0000293Esv0000103Csd00003628* - ID_MODEL_FROM_DATABASE=dv6-1190en - -@@ -64694,6 +65861,9 @@ pci:v00008086d0000293Esv00001043sd0000829F* - pci:v00008086d0000293Esv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d0000293Esv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d0000293Esv00008086sd0000293E* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -@@ -64712,6 +65882,9 @@ pci:v00008086d00002940sv00001028sd0000020D* - pci:v00008086d00002940sv00001028sd00000211* - ID_MODEL_FROM_DATABASE=Optiplex 755 - -+pci:v00008086d00002940sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002940sv00001043sd00008277* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -@@ -64730,6 +65903,9 @@ pci:v00008086d00002944* - pci:v00008086d00002944sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d00002944sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d00002946* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 - -@@ -64910,6 +66086,9 @@ pci:v00008086d000029C0* - pci:v00008086d000029C0sv00001028sd0000020D* - ID_MODEL_FROM_DATABASE=Inspiron 530 - -+pci:v00008086d000029C0sv0000103Csd00002A6F* -+ ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ - pci:v00008086d000029C0sv00001043sd00008276* - ID_MODEL_FROM_DATABASE=P5K PRO Motherboard - -@@ -64919,6 +66098,9 @@ pci:v00008086d000029C0sv00001043sd000082B0* - pci:v00008086d000029C0sv00001462sd00007360* - ID_MODEL_FROM_DATABASE=G33/P35 Neo - -+pci:v00008086d000029C0sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000029C0sv00008086sd00005044* - ID_MODEL_FROM_DATABASE=Desktop Board DP35DP - -@@ -66050,6 +67232,9 @@ pci:v00008086d00002F37* - pci:v00008086d00002F38* - ID_MODEL_FROM_DATABASE=Haswell-E Home Agent 1 - -+pci:v00008086d00002F39* -+ ID_MODEL_FROM_DATABASE=Haswell-E I/O Performance Monitoring -+ - pci:v00008086d00002F3A* - ID_MODEL_FROM_DATABASE=Haswell-E QPI Link 2 - -@@ -66899,6 +68084,9 @@ pci:v00008086d00003591* - pci:v00008086d00003591sv00001014sd000002DD* - ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard - -+pci:v00008086d00003591sv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d00003591sv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -66968,6 +68156,9 @@ pci:v00008086d0000359Bsv00001014sd000002DD* - pci:v00008086d0000359E* - ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub - -+pci:v00008086d0000359Esv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00008086d0000359Esv00001028sd00000169* - ID_MODEL_FROM_DATABASE=Precision 470 - -@@ -67586,6 +68777,9 @@ pci:v00008086d00003B0A* - pci:v00008086d00003B0Asv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d00003B0Asv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B0B* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller - -@@ -67661,6 +68855,9 @@ pci:v00008086d00003B22* - pci:v00008086d00003B22sv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d00003B22sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B23* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller - -@@ -67715,6 +68912,9 @@ pci:v00008086d00003B30sv00001028sd000002DA* - pci:v00008086d00003B30sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B30sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B30sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67736,6 +68936,9 @@ pci:v00008086d00003B34sv00001028sd000002DA* - pci:v00008086d00003B34sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B34sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B34sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67769,6 +68972,9 @@ pci:v00008086d00003B3Csv00001028sd000002DA* - pci:v00008086d00003B3Csv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B3Csv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B3Csv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67793,12 +68999,18 @@ pci:v00008086d00003B42sv00001028sd000002DA* - pci:v00008086d00003B42sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B42sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B44* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 - - pci:v00008086d00003B44sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B44sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B46* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 - -@@ -67841,6 +69053,9 @@ pci:v00008086d00003B56sv00001028sd000002DA* - pci:v00008086d00003B56sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d00003B56sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B56sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -67853,6 +69068,9 @@ pci:v00008086d00003B64* - pci:v00008086d00003B64sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=Aspire 7740G - -+pci:v00008086d00003B64sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d00003B64sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=PC1-GROOVE - -@@ -68601,10 +69819,10 @@ pci:v00008086d0000504C* - ID_MODEL_FROM_DATABASE=EP80579 Integrated Processor with QuickAssist TDM - - pci:v00008086d00005200* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server -+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server PCI Bridge - - pci:v00008086d00005201* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server -+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller - - pci:v00008086d00005201sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter -@@ -68612,6 +69830,12 @@ pci:v00008086d00005201sv00008086sd00000001* - pci:v00008086d0000530D* - ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor - -+pci:v00008086d00005845* -+ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller -+ -+pci:v00008086d00005845sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d000065C0* - ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub - -@@ -68688,7 +69912,7 @@ pci:v00008086d00007020* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] - - pci:v00008086d00007020sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine - - pci:v00008086d00007030* - ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] -@@ -68720,6 +69944,9 @@ pci:v00008086d00007112* - pci:v00008086d00007112sv000015ADsd00001976* - ID_MODEL_FROM_DATABASE=Virtual Machine Chipset - -+pci:v00008086d00007112sv00001AF4sd00001100* -+ ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ - pci:v00008086d00007113* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI - -@@ -69383,6 +70610,9 @@ pci:v00008086d00008D04* - pci:v00008086d00008D06* - ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] - -+pci:v00008086d00008D06sv000017AAsd00001031* -+ ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i -+ - pci:v00008086d00008D08* - ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] - -@@ -69959,6 +71189,9 @@ pci:v00008086d0000D131* - pci:v00008086d0000D131sv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=OptiPlex 980 - -+pci:v00008086d0000D131sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d0000D132* - ID_MODEL_FROM_DATABASE=Core Processor DMI - -@@ -69989,6 +71222,9 @@ pci:v00008086d0000D138sv00001028sd000002DA* - pci:v00008086d0000D138sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=Latitude E6510 - -+pci:v00008086d0000D138sv000015D9sd0000060D* -+ ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ - pci:v00008086d0000D139* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 - -@@ -71144,6 +72380,9 @@ pci:v00009005d00008089* - pci:v00009005d0000808F* - ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID - -+pci:v00009005d0000808Fsv00001028sd00000168* -+ ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ - pci:v00009005d00008090* - ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID - -@@ -71271,11 +72510,14 @@ pci:v00009710d00009912* - ID_MODEL_FROM_DATABASE=PCIe 9912 Multi-I/O Controller - - pci:v00009710d00009922* -- ID_MODEL_FROM_DATABASE=PCIe 9922 Multi-I/O Controller -+ ID_MODEL_FROM_DATABASE=MCS9922 PCIe Multi-I/O Controller - - pci:v00009710d00009990* - ID_MODEL_FROM_DATABASE=MCS9990 PCIe to 4‐Port USB 2.0 Host Controller - -+pci:v00009850* -+ ID_VENDOR_FROM_DATABASE=3Com (wrong ID) -+ - pci:v00009902* - ID_VENDOR_FROM_DATABASE=Stargen Inc. - -@@ -71381,6 +72623,9 @@ pci:v0000BD11* - pci:v0000BDBD* - ID_VENDOR_FROM_DATABASE=Blackmagic Design - -+pci:v0000BDBDd0000A106* -+ ID_MODEL_FROM_DATABASE=Multibridge Extreme -+ - pci:v0000BDBDd0000A117* - ID_MODEL_FROM_DATABASE=Intensity Pro - -@@ -71585,6 +72830,51 @@ pci:v0000D84D* - pci:v0000DADA* - ID_VENDOR_FROM_DATABASE=Datapath Limited - -+pci:v0000DADAd00000133* -+ ID_MODEL_FROM_DATABASE=VisionRGB-X2 -+ -+pci:v0000DADAd00000139* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E1 -+ -+pci:v0000DADAd00000144* -+ ID_MODEL_FROM_DATABASE=VisionSD8 -+ -+pci:v0000DADAd00000150* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E2 -+ -+pci:v0000DADAd00000151* -+ ID_MODEL_FROM_DATABASE=VisionSD4+1 -+ -+pci:v0000DADAd00000159* -+ ID_MODEL_FROM_DATABASE=VisionAV -+ -+pci:v0000DADAd00000161* -+ ID_MODEL_FROM_DATABASE=DGC161 -+ -+pci:v0000DADAd00000165* -+ ID_MODEL_FROM_DATABASE=DGC165 -+ -+pci:v0000DADAd00000167* -+ ID_MODEL_FROM_DATABASE=DGC167 -+ -+pci:v0000DADAd00000168* -+ ID_MODEL_FROM_DATABASE=DGC168 -+ -+pci:v0000DADAd00001139* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E1S -+ -+pci:v0000DADAd00001150* -+ ID_MODEL_FROM_DATABASE=VisionRGB-E2S -+ -+pci:v0000DADAd00001151* -+ ID_MODEL_FROM_DATABASE=VisionSD4+1S -+ -+pci:v0000DADAd00001153* -+ ID_MODEL_FROM_DATABASE=VisionDVI-DL -+ -+pci:v0000DADAd00001154* -+ ID_MODEL_FROM_DATABASE=VisionSDI2 -+ - pci:v0000DB10* - ID_VENDOR_FROM_DATABASE=Diablo Technologies - -@@ -71735,6 +73025,9 @@ pci:v0000E4BFd0000CC47* - pci:v0000E4BFd0000CC4D* - ID_MODEL_FROM_DATABASE=CCM-BOOGIE - -+pci:v0000E4E4* -+ ID_VENDOR_FROM_DATABASE=Xorcom -+ - pci:v0000E55E* - ID_VENDOR_FROM_DATABASE=Essence Technology, Inc. - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 60dbcd2..014c628 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -20,6 +20,12 @@ usb:v0003* - usb:v0004* - ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart - -+usb:v0011* -+ ID_VENDOR_FROM_DATABASE=Unknown manufacturer -+ -+usb:v0011p7788* -+ ID_MODEL_FROM_DATABASE=Flash mass storage drive -+ - usb:v0053* - ID_VENDOR_FROM_DATABASE=Planex - -@@ -30,7 +36,7 @@ usb:v0079* - ID_VENDOR_FROM_DATABASE=DragonRise Inc. - - usb:v0079p0006* -- ID_MODEL_FROM_DATABASE=Generic USB Joystick -+ ID_MODEL_FROM_DATABASE=PC TWIN SHOCK Gamepad - - usb:v0079p0011* - ID_MODEL_FROM_DATABASE=Gamepad -@@ -63,7 +69,7 @@ usb:v0204* - ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd - - usb:v0204p6025* -- ID_MODEL_FROM_DATABASE=CBM2080 Flash drive controller -+ ID_MODEL_FROM_DATABASE=CBM2080 / CBM2090 Flash drive controller - - usb:v0204p6026* - ID_MODEL_FROM_DATABASE=CBM1180 Flash drive controller -@@ -263,6 +269,9 @@ usb:v03EBp2109* - usb:v03EBp210D* - ID_MODEL_FROM_DATABASE=XPLAIN evaluation kit (CDC ACM) - -+usb:v03EBp2110* -+ ID_MODEL_FROM_DATABASE=AVR JTAGICE3 Debugger and Programmer -+ - usb:v03EBp2122* - ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit - -@@ -1001,6 +1010,9 @@ usb:v03F0p2505* - usb:v03F0p2512* - ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 - -+usb:v03F0p2514* -+ ID_MODEL_FROM_DATABASE=4-port hub -+ - usb:v03F0p2517* - ID_MODEL_FROM_DATABASE=LaserJet 2410 - -@@ -1376,6 +1388,9 @@ usb:v03F0p5111* - usb:v03F0p5211* - ID_MODEL_FROM_DATABASE=PhotoSmart 3300 series - -+usb:v03F0p5307* -+ ID_MODEL_FROM_DATABASE=v165w Stick -+ - usb:v03F0p5311* - ID_MODEL_FROM_DATABASE=OfficeJet 6300 - -@@ -2054,6 +2069,21 @@ usb:v0403p8A28* - usb:v0403p8A98* - ID_MODEL_FROM_DATABASE=TIAO Multi-Protocol Adapter - -+usb:v0403p8B28* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCI70 -+ -+usb:v0403p8B29* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 CLS -+ -+usb:v0403p8B2A* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium Q1 -+ -+usb:v0403p8B2B* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCD -+ -+usb:v0403p8B2C* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 -+ - usb:v0403p9133* - ID_MODEL_FROM_DATABASE=CallerID - -@@ -2156,6 +2186,9 @@ usb:v0403pC8BD* - usb:v0403pC8BE* - ID_MODEL_FROM_DATABASE=Alpermann+Velte Rubidium D1 - -+usb:v0403pC8BF* -+ ID_MODEL_FROM_DATABASE=Alpermann+Velte TC60 RLV -+ - usb:v0403pCC48* - ID_MODEL_FROM_DATABASE=Tactrix OpenPort 1.3 Mitsubishi - -@@ -2966,6 +2999,9 @@ usb:v040Ap4021* - usb:v040Ap4022* - ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer - -+usb:v040Ap402E* -+ ID_MODEL_FROM_DATABASE=605 Photo Printer -+ - usb:v040Ap4034* - ID_MODEL_FROM_DATABASE=805 Photo Printer - -@@ -4949,6 +4985,9 @@ usb:v043Ep7001* - usb:v043Ep7013* - ID_MODEL_FROM_DATABASE=MP3 Player - -+usb:v043Ep70D7* -+ ID_MODEL_FROM_DATABASE=Mouse Scanner LSM-150 [LG Smart Scan Mouse] -+ - usb:v043Ep70F5* - ID_MODEL_FROM_DATABASE=External HDD - -@@ -5114,6 +5153,9 @@ usb:v044FpB203* - usb:v044FpB300* - ID_MODEL_FROM_DATABASE=Firestorm Dual Power - -+usb:v044FpB303* -+ ID_MODEL_FROM_DATABASE=FireStorm Dual Analog 2 -+ - usb:v044FpB304* - ID_MODEL_FROM_DATABASE=Firestorm Dual Power - -@@ -6437,6 +6479,9 @@ usb:v045Ep0772* - usb:v045Ep0779* - ID_MODEL_FROM_DATABASE=LifeCam HD-3000 - -+usb:v045Ep0780* -+ ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000 -+ - usb:v045Ep0797* - ID_MODEL_FROM_DATABASE=Optical Mouse 200 - -@@ -7313,6 +7358,9 @@ usb:v046DpC062* - usb:v046DpC063* - ID_MODEL_FROM_DATABASE=DELL Laser Mouse - -+usb:v046DpC064* -+ ID_MODEL_FROM_DATABASE=M110 corded optical mouse (M-B0001) -+ - usb:v046DpC066* - ID_MODEL_FROM_DATABASE=G9x Laser Mouse - -@@ -7331,6 +7379,9 @@ usb:v046DpC06B* - usb:v046DpC06C* - ID_MODEL_FROM_DATABASE=Optical Mouse - -+usb:v046DpC077* -+ ID_MODEL_FROM_DATABASE=M105 Optical Mouse -+ - usb:v046DpC101* - ID_MODEL_FROM_DATABASE=UltraX Media Remote - -@@ -7361,6 +7412,9 @@ usb:v046DpC125* - usb:v046DpC126* - ID_MODEL_FROM_DATABASE=Harmony Link - -+usb:v046DpC12B* -+ ID_MODEL_FROM_DATABASE=Harmony Touch Remote -+ - usb:v046DpC201* - ID_MODEL_FROM_DATABASE=WingMan Extreme Joystick with Throttle - -@@ -7448,6 +7502,12 @@ usb:v046DpC226* - usb:v046DpC227* - ID_MODEL_FROM_DATABASE=G15 Refresh Keyboard - -+usb:v046DpC228* -+ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard -+ -+usb:v046DpC229* -+ ID_MODEL_FROM_DATABASE=G19 Gaming Keyboard Macro Interface -+ - usb:v046DpC22A* - ID_MODEL_FROM_DATABASE=Gaming Keyboard G110 - -@@ -7466,6 +7526,18 @@ usb:v046DpC245* - usb:v046DpC246* - ID_MODEL_FROM_DATABASE=Gaming Mouse G300 - -+usb:v046DpC248* -+ ID_MODEL_FROM_DATABASE=G105 Gaming Keyboard -+ -+usb:v046DpC24A* -+ ID_MODEL_FROM_DATABASE=G600 Gaming Mouse -+ -+usb:v046DpC24D* -+ ID_MODEL_FROM_DATABASE=G710 Gaming Keyboard -+ -+usb:v046DpC24E* -+ ID_MODEL_FROM_DATABASE=G500s Laser Gaming Mouse -+ - usb:v046DpC281* - ID_MODEL_FROM_DATABASE=WingMan Force - -@@ -8543,6 +8615,9 @@ usb:v0480pA006* - usb:v0480pA007* - ID_MODEL_FROM_DATABASE=External Disk USB 3.0 - -+usb:v0480pA009* -+ ID_MODEL_FROM_DATABASE=Stor.E Basics -+ - usb:v0480pD010* - ID_MODEL_FROM_DATABASE=External Disk 3TB - -@@ -10814,6 +10889,9 @@ usb:v04A9p31E5* - usb:v04A9p31E6* - ID_MODEL_FROM_DATABASE=PowerShot SD940 IS DIGITAL ELPH / Digital IXUS 120 IS / IXY DIGITAL 220 IS - -+usb:v04A9p31E7* -+ ID_MODEL_FROM_DATABASE=SELPHY CP790 -+ - usb:v04A9p31EA* - ID_MODEL_FROM_DATABASE=EOS Rebel T2i / EOS 550D / EOS Kiss X4 - -@@ -10985,6 +11063,9 @@ usb:v04A9p325F* - usb:v04A9p3260* - ID_MODEL_FROM_DATABASE=PowerShot SX270 HS - -+usb:v04A9p3262* -+ ID_MODEL_FROM_DATABASE=PowerShot A2600 -+ - usb:v04A9p3264* - ID_MODEL_FROM_DATABASE=PowerShot A1400 - -@@ -11000,6 +11081,9 @@ usb:v04A9p3271* - usb:v04A9p3276* - ID_MODEL_FROM_DATABASE=PowerShot SX170 IS - -+usb:v04A9p3277* -+ ID_MODEL_FROM_DATABASE=PowerShot SX510 HS -+ - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -@@ -11312,6 +11396,9 @@ usb:v04B3p4482* - usb:v04B3p4485* - ID_MODEL_FROM_DATABASE=Serial Converter - -+usb:v04B3p4524* -+ ID_MODEL_FROM_DATABASE=40 Character Vacuum Fluorescent Display -+ - usb:v04B3p4525* - ID_MODEL_FROM_DATABASE=Double sided CRT - -@@ -12335,6 +12422,9 @@ usb:v04C5p10FE* - usb:v04C5p1150* - ID_MODEL_FROM_DATABASE=fi-6230 - -+usb:v04C5p201D* -+ ID_MODEL_FROM_DATABASE=SATA 3.0 6Gbit/s Adaptor [GROOVY] -+ - usb:v04C6* - ID_VENDOR_FROM_DATABASE=Toshiba America Electronic Components - -@@ -12374,6 +12464,9 @@ usb:v04C8p072D* - usb:v04CA* - ID_VENDOR_FROM_DATABASE=Lite-On Technology Corp. - -+usb:v04CAp004F* -+ ID_MODEL_FROM_DATABASE=SK-9020 keyboard -+ - usb:v04CAp1766* - ID_MODEL_FROM_DATABASE=HID Monitor Controls - -@@ -13346,6 +13439,9 @@ usb:v04E6p5292* - usb:v04E6p5410* - ID_MODEL_FROM_DATABASE=SCR35xx Smart Card Reader - -+usb:v04E6p5591* -+ ID_MODEL_FROM_DATABASE=SCL3711-NFC&RW -+ - usb:v04E6pE000* - ID_MODEL_FROM_DATABASE=SCRx31 Reader - -@@ -14138,6 +14234,9 @@ usb:v04F2p0841* - usb:v04F2p0860* - ID_MODEL_FROM_DATABASE=2.4G Multimedia Wireless Kit - -+usb:v04F2p1121* -+ ID_MODEL_FROM_DATABASE=Periboard 717 Mini Wireless Keyboard -+ - usb:v04F2pA001* - ID_MODEL_FROM_DATABASE=E-Video DC-100 Camera - -@@ -28935,10 +29034,10 @@ usb:v0906* - ID_VENDOR_FROM_DATABASE=Faraday Technology Corp. - - usb:v0908* -- ID_VENDOR_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd -+ ID_VENDOR_FROM_DATABASE=Siemens AG - - usb:v0908p2701* -- ID_MODEL_FROM_DATABASE=Spy Pen VGA -+ ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA - - usb:v0909* - ID_VENDOR_FROM_DATABASE=Audio-Technica Corp. -@@ -38360,6 +38459,12 @@ usb:v0FFC* - usb:v0FFCp0021* - ID_MODEL_FROM_DATABASE=Nord Stage 2 - -+usb:v0FFD* -+ ID_VENDOR_FROM_DATABASE=EarlySense -+ -+usb:v0FFDpFF00* -+ ID_MODEL_FROM_DATABASE=OEM -+ - usb:v0FFF* - ID_VENDOR_FROM_DATABASE=Aopen, Inc. - -@@ -47762,6 +47867,12 @@ usb:v2237* - usb:v2237p4161* - ID_MODEL_FROM_DATABASE=eReader White - -+usb:v228D* -+ ID_VENDOR_FROM_DATABASE=8D Technologies inc. -+ -+usb:v228Dp0001* -+ ID_MODEL_FROM_DATABASE=Terminal Bike Key Reader -+ - usb:v22A6* - ID_VENDOR_FROM_DATABASE=Pie Digital, Inc. - --- -1.7.9.2 - diff --git a/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch b/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch deleted file mode 100644 index 722f7382..00000000 --- a/0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f3b8fbb1da6519e14985ea444f8304673d20ad3f Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Wed, 3 Sep 2014 13:28:31 +0200 -Subject: [PATCH] initrd-parse-etc.service: ignore return code of - daemon-reload - -It seems the return code of systemctl daemon-reload can be !=0 in some -circumstances, which causes a failure of the unit and breaks booting in -the initrd. ---- - units/initrd-parse-etc.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git units/initrd-parse-etc.service.in units/initrd-parse-etc.service.in -index c0b2543..42c059b 100644 ---- units/initrd-parse-etc.service.in -+++ units/initrd-parse-etc.service.in -@@ -16,7 +16,7 @@ ConditionPathExists=/etc/initrd-release - - [Service] - Type=oneshot --ExecStartPre=@rootbindir@/systemctl daemon-reload -+ExecStartPre=-@rootbindir@/systemctl daemon-reload - # we have to retrigger initrd-fs.target after daemon-reload - ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target - ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service --- -1.7.9.2 - diff --git a/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch b/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch deleted file mode 100644 index 1cf00ff0..00000000 --- a/0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e8c108ca9f11a382742f212f5b42a02536b3d40f Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 17 Sep 2014 00:27:16 +0300 -Subject: [PATCH] journal: Do not count on the compiler initializing - found_last to false - -There is a very unlikely case where this can happen since gcc usually -does the sane thing. But let's make sure found_last is initialized anyway. - -Fixes: CID#996386 ---- - src/journal/journal-verify.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journal-verify.c src/journal/journal-verify.c -index 6c8ca8c..b4e8f73 100644 ---- src/journal/journal-verify.c -+++ src/journal/journal-verify.c -@@ -804,7 +804,7 @@ int journal_file_verify( - usec_t last_usec = 0; - int data_fd = -1, entry_fd = -1, entry_array_fd = -1; - unsigned i; -- bool found_last; -+ bool found_last = false; - #ifdef HAVE_GCRYPT - uint64_t last_tag = 0; - #endif --- -1.7.9.2 - diff --git a/0001-journal-cleanup-up-error-handling-in-update_catalog.patch b/0001-journal-cleanup-up-error-handling-in-update_catalog.patch deleted file mode 100644 index 2062149b..00000000 --- a/0001-journal-cleanup-up-error-handling-in-update_catalog.patch +++ /dev/null @@ -1,104 +0,0 @@ -From e3b9d9c8027a7c4c55cf1614e0fe9423fad69e8f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Apr 2014 08:44:55 -0400 -Subject: [PATCH] journal: cleanup up error handling in update_catalog() - -- Negative/positive errno mixup caused duplicates not to be detected properly. - Now we get a warning about some duplicate entries in our own catalogs... -- Errors in update_catalog would be ignored, but they should not be. ---- - src/journal/catalog.c | 25 +++++++++++++------------ - src/journal/test-catalog.c | 3 ++- - 2 files changed, 15 insertions(+), 13 deletions(-) - -diff --git src/journal/catalog.c src/journal/catalog.c -index 3ed0b7e..02dedc4 100644 ---- src/journal/catalog.c -+++ src/journal/catalog.c -@@ -103,7 +103,7 @@ static int finish_item( - const char *payload) { - - ssize_t offset; -- CatalogItem *i; -+ _cleanup_free_ CatalogItem *i = NULL; - int r; - - assert(h); -@@ -126,13 +126,14 @@ static int finish_item( - i->offset = htole64((uint64_t) offset); - - r = hashmap_put(h, i, i); -- if (r == EEXIST) { -+ if (r == -EEXIST) { - log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.", - SD_ID128_FORMAT_VAL(id), language ? language : "C"); -- free(i); - return 0; -- } -+ } else if (r < 0) -+ return r; - -+ i = NULL; - return 0; - } - -@@ -383,8 +384,8 @@ error: - int catalog_update(const char* database, const char* root, const char* const* dirs) { - _cleanup_strv_free_ char **files = NULL; - char **f; -- Hashmap *h; - struct strbuf *sb = NULL; -+ _cleanup_hashmap_free_free_ Hashmap *h = NULL; - _cleanup_free_ CatalogItem *items = NULL; - CatalogItem *i; - Iterator j; -@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di - } - - STRV_FOREACH(f, files) { -- log_debug("reading file '%s'", *f); -- catalog_import_file(h, sb, *f); -+ log_debug("Reading file '%s'", *f); -+ r = catalog_import_file(h, sb, *f); -+ if (r < 0) { -+ log_error("Failed to import file '%s': %s.", -+ *f, strerror(-r)); -+ goto finish; -+ } - } - - if (hashmap_size(h) <= 0) { - log_info("No items in catalog."); -- r = 0; - goto finish; - } else - log_debug("Found %u items in catalog.", hashmap_size(h)); -@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di - log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.", - database, n, sb->len, r); - -- r = 0; -- - finish: -- if (h) -- hashmap_free_free(h); - if (sb) - strbuf_cleanup(sb); - -diff --git src/journal/test-catalog.c src/journal/test-catalog.c -index b087a8b..967ab67 100644 ---- src/journal/test-catalog.c -+++ src/journal/test-catalog.c -@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) { - - setlocale(LC_ALL, "de_DE.UTF-8"); - -- log_set_max_level(LOG_DEBUG); -+ log_parse_environment(); -+ log_open(); - - test_catalog_file_lang(); - --- -1.7.9.2 - diff --git a/0001-journal-compress-return-early-in-uncompress_startswi.patch b/0001-journal-compress-return-early-in-uncompress_startswi.patch deleted file mode 100644 index 74777205..00000000 --- a/0001-journal-compress-return-early-in-uncompress_startswi.patch +++ /dev/null @@ -1,186 +0,0 @@ -Based on 5e592c66bdf76dfc8445b332f7a5088ca504ee90 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 4 Jul 2014 19:53:58 -0400 -Subject: [PATCH] journal/compress: return early in uncompress_startswith - -uncompress_startswith would always decode the whole stream, even -if it did not start with the given prefix. - -Reallocation policy was also strange. ---- - src/journal/compress.c | 91 ++++++++++++++----------------------------------- - 1 file changed, 27 insertions(+), 64 deletions(-) - -Index: src/journal/compress.c -=================================================================== ---- src/journal/compress.c.orig -+++ src/journal/compress.c -@@ -25,6 +25,7 @@ - #include - - #include "macro.h" -+#include "util.h" - #include "compress.h" - - bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { -@@ -69,10 +70,9 @@ fail: - bool uncompress_blob(const void *src, uint64_t src_size, - void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { - -- lzma_stream s = LZMA_STREAM_INIT; -+ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; - lzma_ret ret; - uint64_t space; -- bool b = false; - - assert(src); - assert(src_size > 0); -@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui - if (ret != LZMA_OK) - return false; - -- if (*dst_alloc_size <= src_size) { -- void *p; -- -- p = realloc(*dst, src_size*2); -- if (!p) -- return false; -- -- *dst = p; -- *dst_alloc_size = src_size*2; -- } -+ space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space)) -+ return false; - - s.next_in = src; - s.avail_in = src_size; - - s.next_out = *dst; -- space = dst_max > 0 ? MIN(*dst_alloc_size, dst_max) : *dst_alloc_size; - s.avail_out = space; - - for (;;) { -- void *p; -+ uint64_t used; - - ret = lzma_code(&s, LZMA_FINISH); - -@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui - break; - - if (ret != LZMA_OK) -- goto fail; -+ return false; - - if (dst_max > 0 && (space - s.avail_out) >= dst_max) - break; - -- p = realloc(*dst, space*2); -- if (!p) -- goto fail; -- -- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *dst); -- s.avail_out += space; -+ if (dst_max > 0 && space == dst_max) -+ return false; - -- space *= 2; -+ used = space - s.avail_out; -+ space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space)) -+ return false; - -- *dst = p; -- *dst_alloc_size = space; -+ s.avail_out = space - used; -+ s.next_out = *dst + used; - } - - *dst_size = space - s.avail_out; -- b = true; -- --fail: -- lzma_end(&s); -- -- return b; -+ return true; - } - - bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s - const void *prefix, uint64_t prefix_len, - uint8_t extra) { - -- lzma_stream s = LZMA_STREAM_INIT; -+ _cleanup_(lzma_end) lzma_stream s = LZMA_STREAM_INIT; - lzma_ret ret; -- bool b = false; - - /* Checks whether the uncompressed blob starts with the - * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s - if (ret != LZMA_OK) - return false; - -- if (*buffer_size <= prefix_len) { -- void *p; -- -- p = realloc(*buffer, prefix_len*2); -- if (!p) -- return false; -- -- *buffer = p; -- *buffer_size = prefix_len*2; -- } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) -+ return false; - - s.next_in = src; - s.avail_in = src_size; -@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s - s.avail_out = *buffer_size; - - for (;;) { -- void *p; -- - ret = lzma_code(&s, LZMA_FINISH); - - if (ret != LZMA_STREAM_END && ret != LZMA_OK) -- goto fail; -+ return false; - -- if ((*buffer_size - s.avail_out > prefix_len) && -- memcmp(*buffer, prefix, prefix_len) == 0 && -- ((const uint8_t*) *buffer)[prefix_len] == extra) -- break; -+ if (*buffer_size - s.avail_out >= prefix_len + 1) -+ return memcmp(*buffer, prefix, prefix_len) == 0 && -+ ((const uint8_t*) *buffer)[prefix_len] == extra; - - if (ret == LZMA_STREAM_END) -- goto fail; -- -- p = realloc(*buffer, *buffer_size*2); -- if (!p) -- goto fail; -+ return false; - -- s.next_out = (uint8_t*) p + ((uint8_t*) s.next_out - (uint8_t*) *buffer); - s.avail_out += *buffer_size; - -- *buffer = p; -- *buffer_size *= 2; -- } -- -- b = true; -- --fail: -- lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) -+ return false; - -- return b; -+ s.next_out = *buffer + *buffer_size - s.avail_out; -+ } - } diff --git a/0001-journal-fix-export-of-messages-containing-newlines.patch b/0001-journal-fix-export-of-messages-containing-newlines.patch deleted file mode 100644 index 75cdd023..00000000 --- a/0001-journal-fix-export-of-messages-containing-newlines.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 0ade5ffe2778e7b238bba8d979ca4d53dee1e702 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 31 Mar 2014 08:57:28 -0400 -Subject: [PATCH] journal: fix export of messages containing newlines - -In "export" format, newlines are significant, and messages containing -newlines must be exported as "binary". ---- - src/shared/logs-show.c | 7 ++++--- - src/shared/utf8.c | 5 +++-- - src/shared/utf8.h | 5 ++++- - 3 files changed, 11 insertions(+), 6 deletions(-) - -diff --git src/shared/logs-show.c src/shared/logs-show.c -index 9d14933..b0b66f6 100644 ---- src/shared/logs-show.c -+++ src/shared/logs-show.c -@@ -547,7 +547,9 @@ static int output_export( - startswith(data, "_BOOT_ID=")) - continue; - -- if (!utf8_is_printable(data, length)) { -+ if (utf8_is_printable_newline(data, length, false)) -+ fwrite(data, length, 1, f); -+ else { - const char *c; - uint64_t le64; - -@@ -562,8 +564,7 @@ static int output_export( - le64 = htole64(length - (c - (const char*) data) - 1); - fwrite(&le64, sizeof(le64), 1, f); - fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f); -- } else -- fwrite(data, length, 1, f); -+ } - - fputc('\n', f); - } -diff --git src/shared/utf8.c src/shared/utf8.c -index 0b524d8..c559c13 100644 ---- src/shared/utf8.c -+++ src/shared/utf8.c -@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) { - return unichar; - } - --bool utf8_is_printable(const char* str, size_t length) { -+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) { - const uint8_t *p; - - assert(str); -@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) { - int encoded_len = utf8_encoded_valid_unichar((const char *)p); - int val = utf8_encoded_to_unichar((const char*)p); - -- if (encoded_len < 0 || val < 0 || is_unicode_control(val)) -+ if (encoded_len < 0 || val < 0 || is_unicode_control(val) || -+ (!newline && val == '\n')) - return false; - - length -= encoded_len; -diff --git src/shared/utf8.h src/shared/utf8.h -index c0eb73a..c087995 100644 ---- src/shared/utf8.h -+++ src/shared/utf8.h -@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_; - char *ascii_is_valid(const char *s) _pure_; - char *utf8_escape_invalid(const char *s); - --bool utf8_is_printable(const char* str, size_t length) _pure_; -+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_; -+_pure_ static inline bool utf8_is_printable(const char* str, size_t length) { -+ return utf8_is_printable_newline(str, length, true); -+} - - char *utf16_to_utf8(const void *s, size_t length); - --- -1.7.9.2 - diff --git a/0001-journalctl-do-not-output-reboot-markers-when-running.patch b/0001-journalctl-do-not-output-reboot-markers-when-running.patch deleted file mode 100644 index b2aed874..00000000 --- a/0001-journalctl-do-not-output-reboot-markers-when-running.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4bed248505da4da94d82078fe60326a374970e97 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 26 Sep 2014 10:49:55 -0400 -Subject: [PATCH] journalctl: do not output --reboot-- markers when running - non-interactively - -They are not legal in the export format. ---- - src/journal/journalctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journalctl.c src/journal/journalctl.c -index 47206d3..89a922c 100644 ---- src/journal/journalctl.c -+++ src/journal/journalctl.c -@@ -1939,7 +1939,7 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- if (!arg_merge) { -+ if (!arg_merge && !arg_quiet) { - sd_id128_t boot_id; - - r = sd_journal_get_monotonic_usec(j, NULL, &boot_id); --- -1.7.9.2 - diff --git a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch deleted file mode 100644 index 09bd55ef..00000000 --- a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d258d4967eb24122c2b1014d4e873f61b633f1d2 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Sun, 25 May 2014 11:57:22 +0200 -Subject: [PATCH] keymap: Add Lenovo Enhanced USB Keyboard - -https://bugs.freedesktop.org/show_bug.cgi?id=77234 ---- - hwdb/60-keyboard.hwdb | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 832c686..fe5b3ee 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -579,6 +579,18 @@ keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* - KEYBOARD_KEY_f1=f21 - -+# enhanced USB keyboard -+keyboard:usb:v04B3p301B* -+ KEYBOARD_KEY_90001=prog1 # ThinkVantage -+ KEYBOARD_KEY_90002=screenlock -+ KEYBOARD_KEY_90003=file -+ KEYBOARD_KEY_90004=wordprocessor -+ KEYBOARD_KEY_90005=spreadsheet -+ KEYBOARD_KEY_90006=calc -+ KEYBOARD_KEY_90007=mail -+ KEYBOARD_KEY_90008=www -+ -+ - ########################################################### - # Logitech - ########################################################### --- -1.7.9.2 - diff --git a/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch b/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch deleted file mode 100644 index 67fb3061..00000000 --- a/0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 71ed2d38711e345f22e2200bc7bb156aed98972a Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Wed, 12 Nov 2014 23:30:46 +0100 -Subject: [PATCH] keymap: Add support for IBM ThinkPad X41 Tablet - -Scancode taken from: -http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons#Linux_Support - -William Jon McCann provided the DMI match. IBM seems to have -swapped the version and model of the system: - Manufacturer: IBM - Product Name: 18666TU - Version: ThinkPad X41 Tablet ---- - hwdb/60-keyboard.hwdb | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index d2ca965..56a4009 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -594,6 +594,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* - KEYBOARD_KEY_6f=down # down on d-pad - KEYBOARD_KEY_69=enter # enter on d-pad - -+# ThinkPad X41 Tablet -+keyboard:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr* -+ KEYBOARD_KEY_6c=direction # rotate -+ KEYBOARD_KEY_68=f13 # toolbox -+ KEYBOARD_KEY_6b=esc # escape -+ KEYBOARD_KEY_69=enter # enter on d-pad -+ - # IdeaPad - keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* - KEYBOARD_KEY_42=f23 --- -1.7.9.2 - diff --git a/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch b/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch deleted file mode 100644 index 29bbbcd1..00000000 --- a/0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a046659f8551e1c8f79ba4b66472444e285255df Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Tue, 7 Oct 2014 11:20:04 +0200 -Subject: [PATCH] keymap: Fix touchpad toggle on Toshiba Satellite P75-A7200 - -Just like everywhere else we use KEY_F21 instead of KEY_TOUCHPAD_TOGGLE for X -friendliness. ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 8a1baa7..1fea32a 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -1094,7 +1094,7 @@ keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75 - KEYBOARD_KEY_13c=brightnessdown - KEYBOARD_KEY_13d=brightnessup - KEYBOARD_KEY_13e=switchvideomode -- KEYBOARD_KEY_13f=touchpad_toggle -+ KEYBOARD_KEY_13f=f21 # Touchpad toggle - KEYBOARD_KEY_9e=wlan - - ########################################################### --- -1.7.9.2 - diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch index ea89c56a..4763dcaf 100644 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ b/0001-let-systemctl-completion-ignore-at-names.patch @@ -1,5 +1,5 @@ ---- systemd-210/shell-completion/bash/systemctl -+++ systemd-210/shell-completion/bash/systemctl 2014-08-20 15:01:04.502736981 +0000 +--- systemd-210/shell-completion/bash/systemctl.in ++++ systemd-210/shell-completion/bash/systemctl.in 2014-08-20 15:01:04.502736981 +0000 @@ -43,7 +43,7 @@ __filter_units_by_property () { local units=("$@") local props diff --git a/0001-login-fix-memory-leak-on-DropController.patch b/0001-login-fix-memory-leak-on-DropController.patch deleted file mode 100644 index ba5ed744..00000000 --- a/0001-login-fix-memory-leak-on-DropController.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 60240797a4ce464ec7a0537ccbec4c83f599251c Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Fri, 22 Aug 2014 14:57:11 +0200 -Subject: [PATCH] login: fix memory-leak on DropController() - -Our bus-name watch helpers only remove a bus-name if it's not a -controller, anymore. If we call manager_drop_busname() before -unregistering the controller, the busname will not be dropped. Therefore, -first drop the controller, then drop the bus-name. ---- - src/login/logind-session.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 136bbce..0c6e425 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -1061,11 +1061,13 @@ bool session_is_controller(Session *s, const char *sender) { - - static void session_swap_controller(Session *s, char *name) { - SessionDevice *sd; -+ char *c; - - if (s->controller) { -- manager_drop_busname(s->manager, s->controller); -- free(s->controller); -+ c = s->controller; - s->controller = NULL; -+ manager_drop_busname(s->manager, c); -+ free(c); - - /* Drop all devices as they're now unused. Do that after the - * controller is released to avoid sending out useles --- -1.7.9.2 - diff --git a/0001-login-fix-pos-array-allocation.patch b/0001-login-fix-pos-array-allocation.patch deleted file mode 100644 index 2549d220..00000000 --- a/0001-login-fix-pos-array-allocation.patch +++ /dev/null @@ -1,52 +0,0 @@ -From a1937e679f76758635d295287398abe526de2522 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Tue, 25 Feb 2014 12:20:25 +0100 -Subject: [PATCH] login: fix pos-array allocation - -GREEDY_REALLOC takes a pointer to the real size, not the array-width as -argument. Therefore, our array is currently way to small to keep the seat -positions. - -Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store -the array-width instead of array-size. ---- - src/login/logind-seat.c | 2 +- - src/shared/util.h | 9 +++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git src/login/logind-seat.c src/login/logind-seat.c -index 631be5f..36ec7ed 100644 ---- src/login/logind-seat.c -+++ src/login/logind-seat.c -@@ -475,7 +475,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) { - if (seat_has_vts(s)) - pos = session->vtnr; - -- if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1)) -+ if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1)) - return; - - seat_evict_position(s, session); -diff --git src/shared/util.h src/shared/util.h -index 9913fce..78b1444 100644 ---- src/shared/util.h -+++ src/shared/util.h -@@ -723,6 +723,15 @@ void* greedy_realloc0(void **p, size_t *allocated, size_t need); - #define GREEDY_REALLOC0(array, allocated, need) \ - greedy_realloc0((void**) &(array), &(allocated), sizeof((array)[0]) * (need)) - -+#define GREEDY_REALLOC0_T(array, count, need) \ -+ ({ \ -+ size_t _size = (count) * sizeof((array)[0]); \ -+ void *_ptr = GREEDY_REALLOC0((array), _size, (need)); \ -+ if (_ptr) \ -+ (count) = _size / sizeof((array)[0]); \ -+ _ptr; \ -+ }) -+ - static inline void _reset_errno_(int *saved_errno) { - errno = *saved_errno; - } --- -1.7.9.2 - diff --git a/0001-login-pause-devices-before-acknowledging-VT-switches.patch b/0001-login-pause-devices-before-acknowledging-VT-switches.patch deleted file mode 100644 index 0a335de2..00000000 --- a/0001-login-pause-devices-before-acknowledging-VT-switches.patch +++ /dev/null @@ -1,82 +0,0 @@ -Based on 2ec3ff668ff03410e94cfef8e3ee9384a8222211 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Fri, 19 Sep 2014 13:26:39 +0200 -Subject: [PATCH] login: pause devices before acknowledging VT switches - -If a session controller does not need synchronous VT switches, we allow -them to pass VT control to logind, which acknowledges all VT switches -unconditionally. This works fine with all sessions using the dbus API, -but causes out-of-sync device use if we switch to legacy sessions that -are notified via VT signals. Those are processed before logind notices -the session-switch via sysfs. Therefore, leaving the old session still -active for a short amount of time. - -This, in fact, may cause the legacy session to prepare graphics devices -before the old session was deactivated, and thus, maybe causing the old -session to interfer with graphics device usage. - -Fix this by releasing devices immediately before acknowledging VT -switches. This way, sessions without VT handlers are required to support -async session switching (which they do in that case, anyway). ---- - src/login/logind-session.c | 21 +++++++++++++++++++++ - src/login/logind-session.h | 1 + - src/login/logind.c | 4 ++-- - 3 files changed, 24 insertions(+), 2 deletions(-) - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-09-24 07:40:45.786639180 +0000 -@@ -1040,6 +1040,27 @@ void session_restore_vt(Session *s) { - s->vtfd = -1; - } - -+void session_leave_vt(Session *s) { -+ assert(s); -+ -+ /* This is called whenever we get a VT-switch signal from the kernel. -+ * We acknowledge all of them unconditionally. Note that session are -+ * free to overwrite those handlers and we only register them for -+ * sessions with controllers. Legacy sessions are not affected. -+ * However, if we switch from a non-legacy to a legacy session, we must -+ * make sure to pause all device before acknowledging the switch. We -+ * process the real switch only after we are notified via sysfs, so the -+ * legacy session might have already started using the devices. If we -+ * don't pause the devices before the switch, we might confuse the -+ * session we switch to. */ -+ -+ if (s->vtfd < 0) -+ return; -+ -+ session_device_pause_all(s); -+ ioctl(s->vtfd, VT_RELDISP, 1); -+} -+ - bool session_is_controller(Session *s, const char *sender) { - assert(s); - ---- src/login/logind-session.h -+++ src/login/logind-session.h 2014-09-24 07:41:50.290236363 +0000 -@@ -173,6 +173,7 @@ KillWho kill_who_from_string(const char - - int session_mute_vt(Session *s); - void session_restore_vt(Session *s); -+void session_leave_vt(Session *s); - - bool session_is_controller(Session *s, const char *sender); - int session_set_controller(Session *s, const char *sender, bool force); ---- src/login/logind.c -+++ src/login/logind.c 2014-09-24 00:00:00.000000000 +0000 -@@ -743,11 +743,11 @@ static int manager_vt_switch(sd_event_so - } - - if (active->vtfd >= 0) { -- ioctl(active->vtfd, VT_RELDISP, 1); -+ session_leave_vt(active); - } else { - LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { - if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { -- ioctl(iter->vtfd, VT_RELDISP, 1); -+ session_leave_vt(iter); - break; - } - } diff --git a/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch b/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch deleted file mode 100644 index ba00c036..00000000 --- a/0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch +++ /dev/null @@ -1,60 +0,0 @@ -From f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Wed, 5 Nov 2014 08:30:52 -0500 -Subject: [PATCH] login: rerun vconsole-setup when switching from vgacon to - fbcon - -The initialization performed by systemd-vconsole-setup is reset -when changing console drivers (say from vgacon to fbcon), so we -need to run it in that case. - -See -http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html -http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html -http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html - -This commit adds a udev rule to make systemd-vconsole-setup get run when -the fbcon device becomes available. - -(david: moved into new file 90-vconsole.rules instead of 71-seats.rules; - build-failures are on me, not on Ray) ---- - Makefile.am | 3 +++ - src/vconsole/90-vconsole.rules | 11 +++++++++++ - 2 files changed, 14 insertions(+) - create mode 100644 src/vconsole/90-vconsole.rules - -diff --git Makefile.am Makefile.am -index 3686103..f614b86 100644 ---- Makefile.am -+++ Makefile.am -@@ -4439,6 +4439,9 @@ rootlibexec_PROGRAMS += \ - nodist_systemunit_DATA += \ - units/systemd-vconsole-setup.service - -+dist_udevrules_DATA += \ -+ src/vconsole/90-vconsole.rules -+ - SYSINIT_TARGET_WANTS += \ - systemd-vconsole-setup.service - endif -diff --git src/vconsole/90-vconsole.rules src/vconsole/90-vconsole.rules -new file mode 100644 -index 0000000..bf6a9ef ---- /dev/null -+++ src/vconsole/90-vconsole.rules -@@ -0,0 +1,11 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+ -+# Kernel resets vconsole state when changing console drivers so run -+# systemd-vconsole-setup when fbcon loads -+ -+ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="/usr/lib/systemd/systemd-vconsole-setup" --- -1.7.9.2 - diff --git a/0001-login-simplify-controller-handling.patch b/0001-login-simplify-controller-handling.patch deleted file mode 100644 index 0ca9ec52..00000000 --- a/0001-login-simplify-controller-handling.patch +++ /dev/null @@ -1,118 +0,0 @@ -Based on b12e56156e5f363ebb8dc4ea5c10f5fd0665dc9d Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Mon, 1 Sep 2014 14:04:44 +0200 -Subject: [PATCH] login: simplify controller handling - -Simplify the way we handler session-controllers and fix several -shortcomings: - * send ReleaseDevice() signals on forced session takeover - * fix mem-leaks for busnames in case VT preparation fails (non-critical) - * avoid passing pre-allocated names to helpers ---- - src/login/logind-session.c | 55 ++++++++++++++++++++++---------------------- - 1 file changed, 28 insertions(+), 27 deletions(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 58453b5..10a43a4 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -1059,32 +1059,30 @@ bool session_is_controller(Session *s, const char *sender) { - return streq_ptr(s->controller, sender); - } - --static void session_swap_controller(Session *s, char *name) { -+static void session_release_controller(Session *s, bool notify) { -+ _cleanup_free_ char *name = NULL; - SessionDevice *sd; -- char *c; - -- if (s->controller) { -- c = s->controller; -- s->controller = NULL; -- manager_drop_busname(s->manager, c); -- free(c); -+ if (!s->controller) -+ return; - -- /* Drop all devices as they're now unused. Do that after the -- * controller is released to avoid sending out useles -- * dbus signals. */ -- while ((sd = hashmap_first(s->devices))) -- session_device_free(sd); -+ name = s->controller; - -- if (!name) -- session_restore_vt(s); -- } -+ /* By resetting the controller before releasing the devices, we won't -+ * send notification signals. This avoids sending useless notifications -+ * if the controller is released on disconnects. */ -+ if (!notify) -+ s->controller = NULL; - -- s->controller = name; -- session_save(s); -+ while ((sd = hashmap_first(s->devices))) -+ session_device_free(sd); -+ -+ s->controller = NULL; -+ manager_drop_busname(s->manager, name); - } - - int session_set_controller(Session *s, const char *sender, bool force) { -- char *t; -+ _cleanup_free_ char *name = NULL; - int r; - - assert(s); -@@ -1095,15 +1093,13 @@ int session_set_controller(Session *s, const char *sender, bool force) { - if (s->controller && !force) - return -EBUSY; - -- t = strdup(sender); -- if (!t) -+ name = strdup(sender); -+ if (!name) - return -ENOMEM; - -- r = manager_watch_busname(s->manager, sender); -- if (r) { -- free(t); -+ r = manager_watch_busname(s->manager, name); -+ if (r) - return r; -- } - - /* When setting a session controller, we forcibly mute the VT and set - * it into graphics-mode. Applications can override that by changing -@@ -1115,11 +1111,14 @@ int session_set_controller(Session *s, const char *sender, bool force) { - * or reset the VT in case it crashed/exited, too. */ - r = session_mute_vt(s); - if (r < 0) { -- free(t); -+ manager_drop_busname(s->manager, name); - return r; - } - -- session_swap_controller(s, t); -+ session_release_controller(s, true); -+ s->controller = name; -+ name = NULL; -+ session_save(s); - - return 0; - } -@@ -1130,7 +1129,9 @@ void session_drop_controller(Session *s) { - if (!s->controller) - return; - -- session_swap_controller(s, NULL); -+ session_release_controller(s, false); -+ session_save(s); -+ session_restore_vt(s); - } - - static const char* const session_state_table[_SESSION_STATE_MAX] = { --- -1.7.9.2 - diff --git a/0001-logind-add-support-for-Triton2-Power-Button.patch b/0001-logind-add-support-for-Triton2-Power-Button.patch deleted file mode 100644 index dbd0047c..00000000 --- a/0001-logind-add-support-for-Triton2-Power-Button.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 58d4aabedd415a735efeb8c2608ee73618c07f78 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 22 Sep 2014 22:14:39 -0400 -Subject: [PATCH] logind: add support for Triton2 Power Button - -https://bugs.freedesktop.org/show_bug.cgi?id=84201 ---- - src/login/70-power-switch.rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules -index 36fb827..a6997f7 100644 ---- src/login/70-power-switch.rules -+++ src/login/70-power-switch.rules -@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" - - SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" -+SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" - - LABEL="power_switch_end" --- -1.7.9.2 - diff --git a/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch b/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch deleted file mode 100644 index 269adaba..00000000 --- a/0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 154034270c4643b7cfe61c0be1676d78bb1b7b07 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Tue, 8 Jul 2014 12:56:55 +0200 -Subject: [PATCH] logind: allow switching to unused VTs via SwitchTo() - -If compositors use the new SwitchTo() logic to map F1-F12, we should allow -them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic -of gettys won't trigger. - -Reported-by: Jasper St. Pierre -Signed-off-by: David Herrmann ---- - src/login/logind-seat.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git src/login/logind-seat.c src/login/logind-seat.c -index 3114de8..9992195 100644 ---- src/login/logind-seat.c -+++ src/login/logind-seat.c -@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) { - if (!num) - return -EINVAL; - -- if (num >= s->position_count || !s->positions[num]) -+ if (num >= s->position_count || !s->positions[num]) { -+ /* allow switching to unused VTs to trigger auto-activate */ -+ if (seat_has_vts(s) && num < 64) -+ return chvt(num); -+ - return -EINVAL; -+ } - - return session_activate(s->positions[num]); - } --- -1.7.9.2 - diff --git a/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch b/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch deleted file mode 100644 index 382d4bf1..00000000 --- a/0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 6a79c58603ea816a1b4fa1520397b4e138bc1ca0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 19:30:16 +0100 -Subject: [PATCH] logind: ignore lid switch if more than 1 display is - connected - -Previously we expected the desktop environment to take an inhibitor -lock, but this opened a race on boot-up where logind might already be -running but no DE is active. - -Hence, let's move checking for additional displays into logind. This -also opens up this logic for other DEs, given that only GNOME -implemented the inhibitor logic so far. ---- - man/logind.conf.xml | 14 +++++++----- - src/login/logind-action.c | 8 +++++++ - src/login/logind-core.c | 55 +++++++++++++++++++++++++++++++++++++++++++-- - src/login/logind.h | 1 + - 4 files changed, 71 insertions(+), 7 deletions(-) - -diff --git man/logind.conf.xml man/logind.conf.xml -index 54cc379..7673201 100644 ---- man/logind.conf.xml -+++ man/logind.conf.xml -@@ -242,10 +242,10 @@ - ignore, logind will - never handle these keys. If - lock, all running -- sessions will be screen-locked; otherwise, -- the specified action -- will be taken in the respective -- event. Only input devices with the -+ sessions will be screen-locked; -+ otherwise, the specified action will -+ be taken in the respective event. Only -+ input devices with the - power-switch udev - tag will be watched for key/lid switch - events. HandlePowerKey= -@@ -257,7 +257,11 @@ - default to suspend. - HandleHibernateKey= - defaults to -- hibernate. -+ hibernate. Note -+ that the lid switch is ignored if the -+ system is inserted in a docking -+ station, or if more than one display -+ is connected. - - - -diff --git src/login/logind-action.c src/login/logind-action.c -index c04f210..da5a830 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -72,10 +72,18 @@ int manager_handle_action( - - /* If we are docked don't react to lid closing */ - if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { -+ int n; -+ - if (manager_is_docked(m)) { - log_debug("Ignoring lid switch request, system is docked."); - return 0; - } -+ -+ n = manager_count_displays(m); -+ if (n != 1) { -+ log_debug("Ignoring lid switch request, %s displays connected."); -+ return 0; -+ } - } - - /* If the key handling is inhibited, don't do anything */ -diff --git src/login/logind-core.c src/login/logind-core.c -index e4e593f..b8d03c3 100644 ---- src/login/logind-core.c -+++ src/login/logind-core.c -@@ -32,6 +32,7 @@ - #include "audit.h" - #include "bus-util.h" - #include "bus-error.h" -+#include "udev-util.h" - #include "logind.h" - - int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device) { -@@ -276,9 +277,11 @@ int manager_process_seat_device(Manager *m, struct udev_device *d) { - return 0; - } - -- /* ignore non-master devices for unknown seats */ -+ seat = hashmap_get(m->seats, sn); - master = udev_device_has_tag(d, "master-of-seat"); -- if (!master && !(seat = hashmap_get(m->seats, sn))) -+ -+ /* Ignore non-master devices for unknown seats */ -+ if (!master && !seat) - return 0; - - r = manager_add_device(m, udev_device_get_syspath(d), master, &device); -@@ -514,3 +517,51 @@ bool manager_is_docked(Manager *m) { - - return false; - } -+ -+int manager_count_displays(Manager *m) { -+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; -+ struct udev_list_entry *item = NULL, *first = NULL; -+ int r; -+ int n = 0; -+ -+ e = udev_enumerate_new(m->udev); -+ if (!e) -+ return -ENOMEM; -+ -+ r = udev_enumerate_add_match_subsystem(e, "drm"); -+ if (r < 0) -+ return r; -+ -+ r = udev_enumerate_scan_devices(e); -+ if (r < 0) -+ return r; -+ -+ first = udev_enumerate_get_list_entry(e); -+ udev_list_entry_foreach(item, first) { -+ _cleanup_udev_device_unref_ struct udev_device *d = NULL; -+ struct udev_device *p; -+ const char *status; -+ -+ d = udev_device_new_from_syspath(m->udev, udev_list_entry_get_name(item)); -+ if (!d) -+ return -ENOMEM; -+ -+ p = udev_device_get_parent(d); -+ if (!p) -+ return -ENOMEM; -+ -+ /* If the parent shares the same subsystem as the -+ * device we are looking at then it is a connector, -+ * which is what we are interested in. */ -+ if (!streq_ptr(udev_device_get_subsystem(p), "drm")) -+ continue; -+ -+ /* We count any connector which is not explicitly -+ * "disconnected" as connected. */ -+ status = udev_device_get_sysattr_value(d, "status"); -+ if (!streq_ptr(status, "disconnected")) -+ n++; -+ } -+ -+ return n; -+} -diff --git src/login/logind.h src/login/logind.h -index 0344acc..74d6641 100644 ---- src/login/logind.h -+++ src/login/logind.h -@@ -149,6 +149,7 @@ int manager_get_user_by_pid(Manager *m, pid_t pid, User **user); - int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session); - - bool manager_is_docked(Manager *m); -+int manager_count_displays(Manager *m); - - extern const sd_bus_vtable manager_vtable[]; - --- -1.7.9.2 - diff --git a/0001-machine-don-t-return-uninitialized-variable.patch b/0001-machine-don-t-return-uninitialized-variable.patch deleted file mode 100644 index 5c1bfd05..00000000 --- a/0001-machine-don-t-return-uninitialized-variable.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f14aa1f1b2e4e99ee20393871b5f64f1378ed6c3 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Sun, 6 Jul 2014 14:12:28 +0200 -Subject: [PATCH] machine: don't return uninitialized variable - -Repotred by Ronny Chevalier ---- - src/machine/machine.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/machine/machine.c src/machine/machine.c -index c0fa1b2..cf38e3f 100644 ---- src/machine/machine.c -+++ src/machine/machine.c -@@ -371,7 +371,7 @@ static int machine_stop_scope(Machine *m) { - free(m->scope_job); - m->scope_job = job; - -- return r; -+ return 0; - } - - int machine_stop(Machine *m) { --- -1.7.9.2 - diff --git a/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch b/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch deleted file mode 100644 index df04192f..00000000 --- a/0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 1f97091d3cb0887c264176b47b0a86c269acf0b5 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 27 Jun 2014 18:34:37 +0200 -Subject: [PATCH] main: uid_to_name() might fail due to OOM, protect against - that - ---- - src/core/main.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-07-01 12:25:17.906235000 +0000 -@@ -1525,9 +1525,10 @@ int main(int argc, char *argv[]) { - log_info("Running in initial RAM disk."); - - } else { -- _cleanup_free_ char *t = uid_to_name(getuid()); -- log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", -- getuid(), t); -+ _cleanup_free_ char *t; -+ -+ t = uid_to_name(getuid()); -+ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", getuid(), strna(t)); - } - - if (arg_running_as == SYSTEMD_SYSTEM && !skip_setup) { diff --git a/0001-make-209-working-on-older-dist.patch b/0001-make-209-working-on-older-dist.patch deleted file mode 100644 index 63fbd03b..00000000 --- a/0001-make-209-working-on-older-dist.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- systemd-209/units/kmod-static-nodes.service.in -+++ systemd-209/units/kmod-static-nodes.service.in 2014-02-27 15:04:30.378236539 +0000 -@@ -15,4 +15,5 @@ ConditionPathExists=/lib/modules/%v/modu - [Service] - Type=oneshot - RemainAfterExit=yes -+ExecStartPre=@MKDIR_P@ /run/tmpfiles.d - ExecStart=@KMOD@ static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf ---- systemd-209/configure.ac -+++ systemd-209/configure.ac 2014-02-28 17:14:14.866235643 +0000 -@@ -300,9 +300,9 @@ AC_ARG_ENABLE(kmod, AS_HELP_STRING([--di - if test "x$enable_kmod" != "xno"; then - PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no) - if test "x$have_kmod" = "xyes"; then -- PKG_CHECK_MODULES(KMOD, [ libkmod >= 15 ], -+ PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ], - [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])], -- AC_MSG_ERROR([*** kmod version >= 15 not found])) -+ AC_MSG_ERROR([*** kmod version >= 14 not found])) - fi - if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then - AC_MSG_ERROR([*** kmod support requested, but libraries not found]) ---- systemd-209/configure -+++ systemd-209/configure 2014-02-28 17:13:50.770735397 +0000 -@@ -15999,12 +15999,12 @@ if test -n "$KMOD_CFLAGS"; then - pkg_cv_KMOD_CFLAGS="$KMOD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 -- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 -+ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then -- pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 15 " 2>/dev/null` -+ pkg_cv_KMOD_CFLAGS=`$PKG_CONFIG --cflags " libkmod >= 14 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes - else - pkg_failed=yes -@@ -16016,12 +16016,12 @@ if test -n "$KMOD_LIBS"; then - pkg_cv_KMOD_LIBS="$KMOD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 15 \""; } >&5 -- ($PKG_CONFIG --exists --print-errors " libkmod >= 15 ") 2>&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libkmod >= 14 \""; } >&5 -+ ($PKG_CONFIG --exists --print-errors " libkmod >= 14 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then -- pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 15 " 2>/dev/null` -+ pkg_cv_KMOD_LIBS=`$PKG_CONFIG --libs " libkmod >= 14 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes - else - pkg_failed=yes -@@ -16042,18 +16042,18 @@ else - _pkg_short_errors_supported=no - fi - if test $_pkg_short_errors_supported = yes; then -- KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 15 " 2>&1` -+ KMOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libkmod >= 14 " 2>&1` - else -- KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 15 " 2>&1` -+ KMOD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libkmod >= 14 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$KMOD_PKG_ERRORS" >&5 - -- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 -+ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 - elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } -- as_fn_error $? "*** kmod version >= 15 not found" "$LINENO" 5 -+ as_fn_error $? "*** kmod version >= 14 not found" "$LINENO" 5 - else - KMOD_CFLAGS=$pkg_cv_KMOD_CFLAGS - KMOD_LIBS=$pkg_cv_KMOD_LIBS diff --git a/0001-make-fortify-happy-with-ppoll.patch b/0001-make-fortify-happy-with-ppoll.patch deleted file mode 100644 index ed27a725..00000000 --- a/0001-make-fortify-happy-with-ppoll.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- systemd-209/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-209/src/libsystemd/sd-bus/sd-bus.c 2014-02-28 11:08:21.354235373 +0000 -@@ -2548,7 +2548,7 @@ static int bus_poll(sd_bus *bus, bool ne - n = 2; - } - -- r = ppoll(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); -+ r = __ppoll_alias(p, n, m == (uint64_t) -1 ? NULL : timespec_store(&ts, m), NULL); - if (r < 0) - return -errno; - ---- systemd-209/src/core/hostname-setup.c -+++ systemd-209/src/core/hostname-setup.c 2014-02-28 11:14:51.594832792 +0000 -@@ -50,8 +50,8 @@ static int read_and_strip_hostname(const - } - - /* strip any leftover of a domain name */ -- if (domain = strchr(s, '.')) { -- *domain = NULL; -+ if ((domain = strchr(s, '.'))) { -+ *domain = '\0'; - } - - *hn = s; ---- systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-209/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-02-28 11:41:42.254735820 +0000 -@@ -142,7 +142,7 @@ static int ask_password_plymouth( - goto finish; - } - -- if ((j = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { -+ if ((j = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { - - if (errno == EINTR) - continue; -@@ -595,7 +595,7 @@ static int watch_passwords(void) { - if ((r = show_passwords()) < 0) - log_error("Failed to show password: %s", strerror(-r)); - -- if (poll(pollfd, _FD_MAX, -1) < 0) { -+ if (__poll_alias(pollfd, _FD_MAX, -1) < 0) { - - if (errno == EINTR) - continue; ---- systemd-209/src/shared/ask-password-api.c -+++ systemd-209/src/shared/ask-password-api.c 2014-02-28 11:47:21.754234675 +0000 -@@ -138,7 +138,7 @@ int ask_password_tty( - goto finish; - } - -- if ((k = poll(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { -+ if ((k = __poll_alias(pollfd, notify > 0 ? 2 : 1, sleep_for)) < 0) { - - if (errno == EINTR) - continue; diff --git a/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch b/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch deleted file mode 100644 index f71e16bd..00000000 --- a/0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch +++ /dev/null @@ -1,79 +0,0 @@ -Based on 4dffec1459f50ac9f8f67ccfcb79836b4ed5a50e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 13:44:45 +0200 -Subject: [PATCH] manager: Linux on hppa has fewer rtsigs, hence avoid using - the higher ones there - -https://bugs.freedesktop.org/show_bug.cgi?id=84931 ---- - src/core/manager.c | 29 +++++++++++++++++++++++++++-- - 1 file changed, 27 insertions(+), 2 deletions(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-10-29 14:02:28.635837997 +0000 -@@ -340,11 +340,14 @@ static int manager_setup_signals(Manager - - assert(m); - -- /* We are not interested in SIGSTOP and friends. */ - assert_se(sigaction(SIGCHLD, &sa, NULL) == 0); - -- assert_se(sigemptyset(&mask) == 0); -+ /* We make liberal use of realtime signals here. On -+ * Linux/glibc we have 30 of them (with the exception of Linux -+ * on hppa, see below), between SIGRTMIN+0 ... SIGRTMIN+30 -+ * (aka SIGRTMAX). */ - -+ assert_se(sigemptyset(&mask) == 0); - sigset_add_many(&mask, - SIGCHLD, /* Child died */ - SIGTERM, /* Reexecute daemon */ -@@ -354,6 +357,7 @@ static int manager_setup_signals(Manager - SIGINT, /* Kernel sends us this on control-alt-del */ - SIGWINCH, /* Kernel sends us this on kbrequest (alt-arrowup) */ - SIGPWR, /* Some kernel drivers and upsd send us this on power failure */ -+ - SIGRTMIN+0, /* systemd: start default.target */ - SIGRTMIN+1, /* systemd: isolate rescue.target */ - SIGRTMIN+2, /* systemd: isolate emergency.target */ -@@ -361,19 +365,40 @@ static int manager_setup_signals(Manager - SIGRTMIN+4, /* systemd: start poweroff.target */ - SIGRTMIN+5, /* systemd: start reboot.target */ - SIGRTMIN+6, /* systemd: start kexec.target */ -+ -+ /* ... space for more special targets ... */ -+ - SIGRTMIN+13, /* systemd: Immediate halt */ - SIGRTMIN+14, /* systemd: Immediate poweroff */ - SIGRTMIN+15, /* systemd: Immediate reboot */ - SIGRTMIN+16, /* systemd: Immediate kexec */ -+ -+ /* ... space for more immediate system state changes ... */ -+ - SIGRTMIN+20, /* systemd: enable status messages */ - SIGRTMIN+21, /* systemd: disable status messages */ - SIGRTMIN+22, /* systemd: set log level to LOG_DEBUG */ - SIGRTMIN+23, /* systemd: set log level to LOG_INFO */ - SIGRTMIN+24, /* systemd: Immediate exit (--user only) */ -+ -+ /* .. one free signal here ... */ -+ -+#if !defined(__hppa64__) && !defined(__hppa__) -+ /* Apparently Linux on hppa has fewer RT -+ * signals (SIGRTMAX is SIGRTMIN+25 there), -+ * hence let's not try to make use of them -+ * here. Since these commands are accessible -+ * by different means and only really a safety -+ * net, the missing functionality on hppa -+ * shouldn't matter. */ -+ - SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */ - SIGRTMIN+27, /* systemd: set log target to console */ - SIGRTMIN+28, /* systemd: set log target to kmsg */ - SIGRTMIN+29, /* systemd: set log target to syslog-or-kmsg */ -+ -+ /* ... one free signal here SIGRTMIN+30 ... */ -+#endif - -1); - assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0); - diff --git a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch deleted file mode 100644 index 7d5b066f..00000000 --- a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +++ /dev/null @@ -1,45 +0,0 @@ -From e6a4a517befe559adf6d1dbbadf425c3538849c9 Mon Sep 17 00:00:00 2001 -From: Djalal Harouni -Date: Fri, 11 Apr 2014 01:45:52 +0100 -Subject: [PATCH] nspawn: allow to bind mount journal on top of a non empty - container journal dentry - -Currently if nspawn was called with --link-journal=host or ---link-journal=auto and the right /var/log/journal/machine-id/ exists -then the bind mount the subdirectory into the container might fail due -to the ~/mycontainer/var/log/journal/machine-id/ of the container not -being empty. - -There is no reason to check if the container journal subdir is empty -since there will be a bind mount on top of it. The user asked for a bind -mount so give it. - -Note: a next call with --link-journal=guest may fail due to the -/var/log/journal/machine-id/ on the host not being empty. - -https://bugs.freedesktop.org/show_bug.cgi?id=76193 - -Reported-by: Tobias Hunger ---- - src/nspawn/nspawn.c | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 9d9238f..ef84664 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1143,11 +1143,6 @@ static int setup_journal(const char *directory) { - } else if (access(p, F_OK) < 0) - return 0; - -- if (dir_is_empty(q) == 0) { -- log_error("%s not empty.", q); -- return -ENOTEMPTY; -- } -- - r = mkdir_p(q, 0755); - if (r < 0) { - log_error("Failed to create %s: %m", q); --- -1.7.9.2 - diff --git a/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch b/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch deleted file mode 100644 index ee7cea2a..00000000 --- a/0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on c00524c9cc7fb498c7244350e25823b8352f078c Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 19 Sep 2014 23:02:00 +0200 -Subject: [PATCH] nspawn: don't try to create veth link with too long ifname - -Reported by: James Lott ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-09-23 15:33:06.766236272 +0000 -@@ -1383,7 +1383,7 @@ static int setup_veth(pid_t pid, char if - - /* Use two different interface name prefixes depending whether - * we are in bridge mode or not. */ -- snprintf(iface_name, IFNAMSIZ, "%s-%s", -+ snprintf(iface_name, IFNAMSIZ - 1, "%s-%s", - arg_network_bridge ? "vb" : "ve", arg_machine); - - r = sd_rtnl_open(&rtnl, 0); diff --git a/0001-nspawn-fix-network-interface.patch b/0001-nspawn-fix-network-interface.patch deleted file mode 100644 index 6e9fce7c..00000000 --- a/0001-nspawn-fix-network-interface.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on 3125b3ef5db70d45882c7d6f617705802c5f939e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 28 Aug 2014 12:15:51 +0200 -Subject: [PATCH] nspawn: fix --network-interface - -Use SETLINK when modifying an existing link. ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-08-29 14:11:25.866235309 +0000 -@@ -1568,7 +1568,7 @@ static int move_network_interfaces(pid_t - return -EBUSY; - } - -- r = sd_rtnl_message_new_link(rtnl, &m, RTM_NEWLINK, ifi); -+ r = sd_rtnl_message_new_link(rtnl, &m, RTM_SETLINK, ifi); - if (r < 0) { - log_error("Failed to allocate netlink message: %s", strerror(-r)); - return r; diff --git a/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch b/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch deleted file mode 100644 index 4378b91f..00000000 --- a/0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch +++ /dev/null @@ -1,31 +0,0 @@ -Based on 4212a3375e03fd12cb407b34cab59dbe4ed9f4eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 3 Aug 2014 01:28:21 -0400 -Subject: [PATCH] nspawn: fix truncation of machine names in interface names - -Based on patch by Michael Marineau : - -When deriving the network interface name from machine name strncpy was -not properly null terminating the string and the maximum string size as -returned by strlen() is actually IFNAMSIZ-1, not IFNAMSIZ. ---- - src/nspawn/nspawn.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-08-22 10:18:20.390235611 +0000 -@@ -1383,12 +1383,8 @@ static int setup_veth(pid_t pid, char if - - /* Use two different interface name prefixes depending whether - * we are in bridge mode or not. */ -- if (arg_network_bridge) -- memcpy(iface_name, "vb-", 3); -- else -- memcpy(iface_name, "ve-", 3); -- -- strncpy(iface_name+3, arg_machine, IFNAMSIZ - 3); -+ snprintf(iface_name, IFNAMSIZ, "%s-%s", -+ arg_network_bridge ? "vb" : "ve", arg_machine); - - r = sd_rtnl_open(&rtnl, 0); - if (r < 0) { diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch index 4dcfb70f..291de476 100644 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -8,11 +8,11 @@ is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. This belongs to BNC#852015 and also to BNC#855160 --- - pam-module.c | 19 +++++++++++++++++++ + pam_systemd.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---- systemd-209/src/login/pam-module.c -+++ systemd-209/src/login/pam-module.c 2014-02-26 14:31:30.158235525 +0000 +--- systemd-209/src/login/pam_systemd.c ++++ systemd-209/src/login/pam_systemd.c 2014-02-26 14:31:30.158235525 +0000 @@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); if (r != PAM_SUCCESS) diff --git a/0001-parse_uid-return-ENXIO-for-1-uids.patch b/0001-parse_uid-return-ENXIO-for-1-uids.patch deleted file mode 100644 index bc23d1a9..00000000 --- a/0001-parse_uid-return-ENXIO-for-1-uids.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f841a154efbb3162d2a732936f031ac7a6b0d4cf Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 1 Jul 2014 16:00:05 +0200 -Subject: [PATCH] parse_uid: return -ENXIO for -1 uids - ---- - src/shared/audit.c | 3 --- - src/shared/util.c | 4 ++-- - 2 files changed, 2 insertions(+), 5 deletions(-) - -diff --git src/shared/audit.c src/shared/audit.c -index 5466447..f101050 100644 ---- src/shared/audit.c -+++ src/shared/audit.c -@@ -77,9 +77,6 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) { - if (r < 0) - return r; - -- if (u == (uid_t) -1) -- return -ENXIO; -- - *uid = (uid_t) u; - return 0; - } -diff --git src/shared/util.c src/shared/util.c -index e75f6c9..9b5a47a 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -282,11 +282,11 @@ int parse_uid(const char *s, uid_t* ret_uid) { - - /* Some libc APIs use (uid_t) -1 as special placeholder */ - if (uid == (uid_t) 0xFFFFFFFF) -- return -EINVAL; -+ return -ENXIO; - - /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ - if (uid == (uid_t) 0xFFFF) -- return -EINVAL; -+ return -ENXIO; - - *ret_uid = uid; - return 0; --- -1.7.9.2 - diff --git a/0001-po-add-Ukrainian-translation.patch b/0001-po-add-Ukrainian-translation.patch deleted file mode 100644 index b7dba0ee..00000000 --- a/0001-po-add-Ukrainian-translation.patch +++ /dev/null @@ -1,406 +0,0 @@ -From 260b6323cc2aebe722d5b8e43fa63a502f906774 Mon Sep 17 00:00:00 2001 -From: Daniel Korostil -Date: Thu, 17 Jul 2014 02:07:29 +0300 -Subject: [PATCH] po: add Ukrainian translation - ---- - po/LINGUAS | 1 + - po/uk.po | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 378 insertions(+) - create mode 100644 po/uk.po - -diff --git po/LINGUAS po/LINGUAS -index 2cb0f30..f214ece 100644 ---- po/LINGUAS -+++ po/LINGUAS -@@ -4,3 +4,4 @@ fr - it - pl - ru -+uk -diff --git po/uk.po po/uk.po -new file mode 100644 -index 0000000..7a5212a ---- /dev/null -+++ po/uk.po -@@ -0,0 +1,377 @@ -+# Ukrainian translation for systemd. -+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER -+# This file is distributed under the same license as the systemd package. -+# Eugene Melnik , 2014. -+# Daniel Korostil , 2014. -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd master\n" -+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" -+"temd&keywords=I18N+L10N&component=general\n" -+"POT-Creation-Date: 2014-06-06 22:16+0000\n" -+"PO-Revision-Date: 2014-07-16 19:13+0300\n" -+"Last-Translator: Daniel Korostil \n" -+"Language-Team: linux.org.ua\n" -+"Language: uk\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"X-Generator: Virtaal 0.7.1\n" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Set host name" -+msgstr "Встановити назву вузла" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Засвідчення потрібне, щоб встановити назву локального вузла." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 -+msgid "Set static host name" -+msgstr "Встановити статичну назву вузла" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Засвідчення потрібне, щоб вказати статично налаштовану назву локального " -+"вузла, так само й форматовану." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Встановити інформацію про машину" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Authentication is required to set local machine information." -+msgstr "Засвідчення потрібно, щоб вказати локальну інформацію про машини." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 -+msgid "Set system locale" -+msgstr "Вказати системну локаль" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "Засвідчення потрібно, щоб встановити системну локаль." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Вказати налаштування системної клавіатури" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "Засвідчення потрібно, щоб вказати налаштування системної клавіатури." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow applications to inhibit system shutdown" -+msgstr "Дозволити програмам перешкоджати вимкненню системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:2 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"shutdown." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати вимкненню системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:3 -+msgid "Allow applications to delay system shutdown" -+msgstr "Дозволити програмам затримувати вимкнення системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:4 -+msgid "" -+"Authentication is required to allow an application to delay system shutdown." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам затримувати вимкнення системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:5 -+msgid "Allow applications to inhibit system sleep" -+msgstr "Дозволити програмам перешкоджати засинанню системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow an application to inhibit system sleep." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати засинанню системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:7 -+msgid "Allow applications to delay system sleep" -+msgstr "Дозволити програмами затримувати засинання системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow an application to delay system sleep." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам затримувати засинання системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:9 -+msgid "Allow applications to inhibit automatic system suspend" -+msgstr "Дозволити програмам перешкоджати автоматичному призупиненню системи" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:10 -+msgid "" -+"Authentication is required to allow an application to inhibit automatic " -+"system suspend." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати автоматичному " -+"призупиненню системи." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:11 -+msgid "Allow applications to inhibit system handling of the power key" -+msgstr "Дозволити програмам перешкоджати обробленню системою клавіші живлення" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:12 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the power key." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші живлення." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:13 -+msgid "Allow applications to inhibit system handling of the suspend key" -+msgstr "" -+"Дозволити програмам перешкоджати обробленню системою клавіші призупинення" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:14 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the suspend key." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші призупинення." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:15 -+msgid "Allow applications to inhibit system handling of the hibernate key" -+msgstr "Дозволити програмам перешкоджати обробленню системою клавіші присипання" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:16 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the hibernate key." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші присипання." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:17 -+msgid "Allow applications to inhibit system handling of the lid switch" -+msgstr "" -+"Дозволити програмам перешкоджати обробленню системою клавіші перемикання " -+"кришки" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:18 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the lid switch." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити програмам перешкоджати обробленню " -+"системою клавіші перемикання кришки." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:19 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Дозволити незареєстрованим користувачам запускати програми" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:20 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs." -+msgstr "" -+"Засвідчення потрібно, щоб дозволити незареєстрованим користувачам запускати " -+"програми." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:21 -+msgid "Allow attaching devices to seats" -+msgstr "Дозволити під'єднання пристроїв до місць" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:22 -+msgid "Authentication is required for attaching a device to a seat." -+msgstr "Засвідчення потрібно, щоб під'єднувати пристрої до місць." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:23 -+msgid "Flush device to seat attachments" -+msgstr "Очисний пристрій для під'єднань до місця" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:24 -+msgid "" -+"Authentication is required for resetting how devices are attached to seats." -+msgstr "Засвідчення потрібно, щоб перезапустити спосіб під'єднання до місць." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:25 -+msgid "Power off the system" -+msgstr "Вимкнути систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:26 -+msgid "Authentication is required for powering off the system." -+msgstr "Засвідчення потрібно, щоб вимкнути систему." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:27 -+msgid "Power off the system while other users are logged in" -+msgstr "Вимикнути систему, коли інші користувачі ще в ній" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:28 -+msgid "" -+"Authentication is required for powering off the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб вимкнути систему, коли інші користувачі в ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:29 -+msgid "Power off the system while an application asked to inhibit it" -+msgstr "Вимкнути систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:30 -+msgid "" -+"Authentication is required for powering off the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб вимкнути систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:31 -+msgid "Reboot the system" -+msgstr "Перезавантажити систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:32 -+msgid "Authentication is required for rebooting the system." -+msgstr "Для перезавантаження системи необхідна ідентифікація." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:33 -+msgid "Reboot the system while other users are logged in" -+msgstr "Перезавантажити, якщо інщі користувачі в системі" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:34 -+msgid "" -+"Authentication is required for rebooting the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб перезапустити систему, коли інші користувачі в " -+"ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:35 -+msgid "Reboot the system while an application asked to inhibit it" -+msgstr "Перезапустити систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:36 -+msgid "" -+"Authentication is required for rebooting the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб перезапустити систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:37 -+msgid "Suspend the system" -+msgstr "Призупинити систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:38 -+msgid "Authentication is required for suspending the system." -+msgstr "Засвідчення потрібно, щоб призупинити систему." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:39 -+msgid "Suspend the system while other users are logged in" -+msgstr "Призупинити систему, коли інші користувачі в ній" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:40 -+msgid "" -+"Authentication is required for suspending the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб призупинити систему, коли інші користувачі в ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:41 -+msgid "Suspend the system while an application asked to inhibit it" -+msgstr "Призупинити систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:42 -+msgid "" -+"Authentication is required for suspending the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб призупнити систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:43 -+msgid "Hibernate the system" -+msgstr "Приспати систему" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:44 -+msgid "Authentication is required for hibernating the system." -+msgstr "Засвідчення потрібно, щоб приспати систему." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:45 -+msgid "Hibernate the system while other users are logged in" -+msgstr "Приспати систему, коли інші користувачі в ній" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:46 -+msgid "" -+"Authentication is required for hibernating the system while other users are " -+"logged in." -+msgstr "" -+"Засвідчення потрібно, щоб присипання систему, коли інші користувачі в ній." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:47 -+msgid "Hibernate the system while an application asked to inhibit it" -+msgstr "Приспати систему, коли програми намагаються першкодити цьому" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:48 -+msgid "" -+"Authentication is required for hibernating the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Засвідчення потрібно, щоб приспати систему, коли програми намагаються " -+"першкодити цьому." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 -+msgid "Set system time" -+msgstr "Вказати системний час" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 -+msgid "Authentication is required to set the system time." -+msgstr "Засвідчення потрібно, щоб вказати системний час." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Set system timezone" -+msgstr "Вказати системний часовий пояс" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Засвідчення потрібно, щоб вказати системний часовий пояс." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Вкажіть RTC для локального часового поясу або UTC" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "Засвідчення потрібно, щоб контролювати, чи RTC зберігає час, чи UTC." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Turn network time synchronization on or off" -+msgstr "Увімкнути або вимкнути синхронізування через мережу" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Засвідчення потрібно, щоб контролювати, чи синхронізування часу через мережу " -+"запущено." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 -+msgid "Send passphrase back to system" -+msgstr "Надіслати пароль назад у систему" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 -+msgid "" -+"Authentication is required to send the entered passphrase back to the system." -+msgstr "Засвідчення потрібно, щоб надіслати введений пароль назад у систему." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 -+msgid "Privileged system and service manager access" -+msgstr "Привілейований доступ до менеджера системи і служб" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 -+msgid "Authentication is required to access the system and service manager." -+msgstr "Засвідчення потрібно, щоб доступитись до менеджера системи і служб." --- -1.7.9.2 - diff --git a/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch b/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch deleted file mode 100644 index 9d10cced..00000000 --- a/0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch +++ /dev/null @@ -1,27 +0,0 @@ -Based on b2103dccb354de3f38c49c14ccb637bdf665e40f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 5 Apr 2014 13:59:01 -0400 -Subject: [PATCH] reduce the amount of messages logged to /dev/kmsg when - "debug" is specified - ---- - src/core/main.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-04-14 13:50:48.490814738 +0000 -@@ -412,12 +412,8 @@ static int parse_proc_cmdline_word(const - if (arg_show_status == _SHOW_STATUS_UNSET) - arg_show_status = SHOW_STATUS_AUTO; - } else if (streq(word, "debug")) { -- /* Log to kmsg, the journal socket will fill up before the -- * journal is started and tools running during that time -- * will block with every log message for for 60 seconds, -- * before they give up. */ -- log_set_max_level(LOG_DEBUG); -- log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_CONSOLE : LOG_TARGET_KMSG); -+ if (detect_container(NULL) > 0) -+ log_set_target(LOG_TARGET_CONSOLE); - } else if (!in_initrd()) { - unsigned i; - diff --git a/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch b/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch deleted file mode 100644 index 0438c3ee..00000000 --- a/0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ead349509e325aad720bb0349521a9e56e2ac7c0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 13 May 2014 16:40:53 +0200 -Subject: [PATCH] replace more dup() by F_DUPFD_CLOEXEC - ---- - src/login/inhibit.c | 2 +- - src/shared/install.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/login/inhibit.c src/login/inhibit.c -index 48c2ec4..ae3afdf 100644 ---- src/login/inhibit.c -+++ src/login/inhibit.c -@@ -64,7 +64,7 @@ static int inhibit(sd_bus *bus, sd_bus_error *error) { - if (r < 0) - return r; - -- r = dup(fd); -+ r = fcntl(fd, F_DUPFD_CLOEXEC, 3); - if (r < 0) - return -errno; - -diff --git src/shared/install.c src/shared/install.c -index acfba25..9ce9403 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -332,7 +332,7 @@ static int remove_marked_symlinks( - int q, cfd; - deleted = false; - -- cfd = dup(fd); -+ cfd = fcntl(fd, F_DUPFD_CLOEXEC, 3); - if (cfd < 0) { - r = -errno; - break; --- -1.7.9.2 - diff --git a/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch b/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch deleted file mode 100644 index 47dbcce3..00000000 --- a/0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch +++ /dev/null @@ -1,181 +0,0 @@ -From 42c4ebcbd4cbd7b27667eb8081ee4dc46f9ece17 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 13 Mar 2014 20:33:22 +0100 -Subject: [PATCH] sd-bus: don't look for a 64bit value when we only have 32bit - value on reply cookie hash table access - -This broke hashtable lookups for the message cookies on s390x, which is -a 64bit BE machine where accessing 32bit values as 64bit and vice versa -will explode. - -Also, while we are at it, be a bit more careful when dealing with the -64bit cookies we expose and the 32bit serial numbers dbus uses in its -payload. - -Problem identified by Fridrich Strba. ---- - src/libsystemd/sd-bus/bus-dump.c | 4 ++-- - src/libsystemd/sd-bus/bus-kernel.c | 2 +- - src/libsystemd/sd-bus/bus-message.c | 15 ++++++++++----- - src/libsystemd/sd-bus/bus-message.h | 5 +++-- - src/libsystemd/sd-bus/sd-bus.c | 12 ++++++------ - 5 files changed, 22 insertions(+), 16 deletions(-) - -diff --git a/src/libsystemd/sd-bus/bus-dump.c b/src/libsystemd/sd-bus/bus-dump.c -index 0e41549..ea81644 100644 ---- a/src/libsystemd/sd-bus/bus-dump.c -+++ b/src/libsystemd/sd-bus/bus-dump.c -@@ -69,10 +69,10 @@ int bus_message_dump(sd_bus_message *m, FILE *f, bool with_header) { - if (BUS_MESSAGE_COOKIE(m) == 0xFFFFFFFFULL) - fprintf(f, " Cookie=-1"); - else -- fprintf(f, " Cookie=%lu", (unsigned long) BUS_MESSAGE_COOKIE(m)); -+ fprintf(f, " Cookie=%" PRIu64, BUS_MESSAGE_COOKIE(m)); - - if (m->reply_cookie != 0) -- fprintf(f, " ReplyCookie=%lu", (unsigned long) m->reply_cookie); -+ fprintf(f, " ReplyCookie=%" PRIu64, m->reply_cookie); - - fputs("\n", f); - -diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c -index 8a2ca02..80ef15b 100644 ---- a/src/libsystemd/sd-bus/bus-kernel.c -+++ b/src/libsystemd/sd-bus/bus-kernel.c -@@ -266,7 +266,7 @@ static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) { - well_known ? 0 : - m->destination ? unique : KDBUS_DST_ID_BROADCAST; - m->kdbus->payload_type = KDBUS_PAYLOAD_DBUS; -- m->kdbus->cookie = m->header->serial; -+ m->kdbus->cookie = (uint64_t) m->header->serial; - m->kdbus->priority = m->priority; - - if (m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) -diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c -index fb894ef..97ab0e3 100644 ---- a/src/libsystemd/sd-bus/bus-message.c -+++ b/src/libsystemd/sd-bus/bus-message.c -@@ -617,7 +617,7 @@ static int message_new_reply( - t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; - t->reply_cookie = BUS_MESSAGE_COOKIE(call); - -- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); -+ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); - if (r < 0) - goto fail; - -@@ -752,7 +752,7 @@ int bus_message_new_synthetic_error( - t->header->flags |= BUS_MESSAGE_NO_REPLY_EXPECTED; - t->reply_cookie = cookie; - -- r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, t->reply_cookie); -+ r = message_append_field_uint32(t, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) t->reply_cookie); - if (r < 0) - goto fail; - -@@ -5075,21 +5075,26 @@ int bus_message_parse_fields(sd_bus_message *m) { - break; - } - -- case BUS_MESSAGE_HEADER_REPLY_SERIAL: -+ case BUS_MESSAGE_HEADER_REPLY_SERIAL: { -+ uint32_t serial; -+ - if (m->reply_cookie != 0) - return -EBADMSG; - - if (!streq(signature, "u")) - return -EBADMSG; - -- r = message_peek_field_uint32(m, &ri, item_size, &m->reply_cookie); -+ r = message_peek_field_uint32(m, &ri, item_size, &serial); - if (r < 0) - return r; - -+ m->reply_cookie = serial; -+ - if (m->reply_cookie == 0) - return -EBADMSG; - - break; -+ } - - case BUS_MESSAGE_HEADER_UNIX_FDS: - if (unix_fds != 0) -@@ -5489,7 +5494,7 @@ int bus_message_remarshal(sd_bus *bus, sd_bus_message **m) { - return -ENOMEM; - - n->reply_cookie = (*m)->reply_cookie; -- r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, n->reply_cookie); -+ r = message_append_field_uint32(n, BUS_MESSAGE_HEADER_REPLY_SERIAL, (uint32_t) n->reply_cookie); - if (r < 0) - return r; - -diff --git a/src/libsystemd/sd-bus/bus-message.h b/src/libsystemd/sd-bus/bus-message.h -index 5fbe3e6..df79294 100644 ---- a/src/libsystemd/sd-bus/bus-message.h -+++ b/src/libsystemd/sd-bus/bus-message.h -@@ -84,7 +84,7 @@ struct sd_bus_message { - - sd_bus *bus; - -- uint32_t reply_cookie; -+ uint64_t reply_cookie; - - const char *path; - const char *interface; -@@ -162,7 +162,8 @@ static inline uint64_t BUS_MESSAGE_BSWAP64(sd_bus_message *m, uint64_t u) { - return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u; - } - --static inline uint32_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { -+static inline uint64_t BUS_MESSAGE_COOKIE(sd_bus_message *m) { -+ /* Note that we return the serial converted to a 64bit value here */ - return BUS_MESSAGE_BSWAP32(m, m->header->serial); - } - -diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c -index ca7c428..8e44e50 100644 ---- a/src/libsystemd/sd-bus/sd-bus.c -+++ b/src/libsystemd/sd-bus/sd-bus.c -@@ -1486,15 +1486,15 @@ static int bus_write_message(sd_bus *bus, sd_bus_message *m, bool hint_sync_call - return r; - - if (bus->is_kernel || *idx >= BUS_MESSAGE_SIZE(m)) -- log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", -+ log_debug("Sent message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", - bus_message_type_to_string(m->header->type), - strna(sd_bus_message_get_sender(m)), - strna(sd_bus_message_get_destination(m)), - strna(sd_bus_message_get_path(m)), - strna(sd_bus_message_get_interface(m)), - strna(sd_bus_message_get_member(m)), -- (unsigned long) BUS_MESSAGE_COOKIE(m), -- (unsigned long) m->reply_cookie, -+ BUS_MESSAGE_COOKIE(m), -+ m->reply_cookie, - strna(m->error.message)); - - return r; -@@ -2253,15 +2253,15 @@ static int process_message(sd_bus *bus, sd_bus_message *m) { - bus->current = m; - bus->iteration_counter++; - -- log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%lu reply_cookie=%lu error=%s", -+ log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", - bus_message_type_to_string(m->header->type), - strna(sd_bus_message_get_sender(m)), - strna(sd_bus_message_get_destination(m)), - strna(sd_bus_message_get_path(m)), - strna(sd_bus_message_get_interface(m)), - strna(sd_bus_message_get_member(m)), -- (unsigned long) BUS_MESSAGE_COOKIE(m), -- (unsigned long) m->reply_cookie, -+ BUS_MESSAGE_COOKIE(m), -+ m->reply_cookie, - strna(m->error.message)); - - r = process_hello(bus, m); --- -1.9.0 - diff --git a/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch b/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch deleted file mode 100644 index c1326c50..00000000 --- a/0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ef7b6c0190fefaacf6d8f8e1a6dda4ba8b98091b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 29 Oct 2014 17:58:43 +0100 -Subject: [PATCH] sd-bus: properly handle removals of non-existing matches - ---- - src/libsystemd/sd-bus/bus-match.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c -index 18afe0f..5658c61 100644 ---- src/libsystemd/sd-bus/bus-match.c -+++ src/libsystemd/sd-bus/bus-match.c -@@ -537,7 +537,7 @@ static int bus_match_find_compare_value( - else if (BUS_MATCH_CAN_HASH(t)) - n = hashmap_get(c->compare.children, value_str); - else { -- for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next) -+ for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next) - ; - } - --- -1.7.9.2 - diff --git a/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch b/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch deleted file mode 100644 index 4b9e6e87..00000000 --- a/0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 92daebc0d0268c35f416c1665e0da3d4be5dd69f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 11 Jul 2014 16:48:35 +0200 -Subject: [PATCH] sd-event: don't require a signal event source to be enabled - for the child event source to work - ---- - src/libsystemd/sd-event/sd-event.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index a21f7db..9a9664c 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -1919,14 +1919,13 @@ static int process_signal(sd_event *e, uint32_t events) { - int r; - - assert(e); -- assert(e->signal_sources); - - assert_return(events == EPOLLIN, -EIO); - - for (;;) { - struct signalfd_siginfo si; - ssize_t ss; -- sd_event_source *s; -+ sd_event_source *s = NULL; - - ss = read(e->signal_fd, &si, sizeof(si)); - if (ss < 0) { -@@ -1941,16 +1940,19 @@ static int process_signal(sd_event *e, uint32_t events) { - - read_one = true; - -- s = e->signal_sources[si.ssi_signo]; - if (si.ssi_signo == SIGCHLD) { - r = process_child(e); - if (r < 0) - return r; -- if (r > 0 || !s) -+ if (r > 0) - continue; -- } else -- if (!s) -- return -EIO; -+ } -+ -+ if (e->signal_sources) -+ s = e->signal_sources[si.ssi_signo]; -+ -+ if (!s) -+ continue; - - s->signal.siginfo = si; - r = source_set_pending(s, true); --- -1.7.9.2 - diff --git a/0001-sd-event-restore-correct-timeout-behaviour.patch b/0001-sd-event-restore-correct-timeout-behaviour.patch deleted file mode 100644 index 8787f3f3..00000000 --- a/0001-sd-event-restore-correct-timeout-behaviour.patch +++ /dev/null @@ -1,37 +0,0 @@ -Based on eec6022cf039e62233139000b9e95db943959e48 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 13:43:30 +0200 -Subject: [PATCH] sd-event: restore correct timeout behaviour - ---- - src/libsystemd/sd-event/sd-event.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c 2014-06-06 10:26:51.422235695 +0000 -@@ -2047,6 +2047,7 @@ _public_ int sd_event_run(sd_event *e, u - unsigned ev_queue_max; - sd_event_source *p; - int r, i, m; -+ bool timedout; - - assert_return(e, -EINVAL); - assert_return(!event_pid_changed(e), -ECHILD); -@@ -2084,6 +2085,8 @@ _public_ int sd_event_run(sd_event *e, u - goto finish; - } - -+ timedout = m == 0; -+ - dual_timestamp_get(&e->timestamp); - - for (i = 0; i < m; i++) { -@@ -2123,7 +2126,7 @@ _public_ int sd_event_run(sd_event *e, u - - p = event_next_pending(e); - if (!p) { -- r = 1; -+ r = !timedout; - goto finish; - } - diff --git a/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch b/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch deleted file mode 100644 index cde6a3da..00000000 --- a/0001-sd-rtnl-message-append-fix-uninitialized-memory.patch +++ /dev/null @@ -1,111 +0,0 @@ -Backport of 7ca1d31964a2553f7bd011bc10ac42e0ebc1f975 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 2 May 2014 22:29:18 +0200 -Subject: [PATCH] sd-rtnl-message: append - fix uninitialized memory - -We were not properly clearing the padding at the front of some containers. ---- - src/libsystemd/sd-rtnl/rtnl-message.c | 42 +++++++++++++++++++++------------- - 1 file changed, 27 insertions(+), 15 deletions(-) - ---- src/libsystemd/sd-rtnl/rtnl-message.c -+++ src/libsystemd/sd-rtnl/rtnl-message.c 2014-05-05 13:33:01.998235340 +0000 -@@ -314,24 +314,28 @@ int sd_rtnl_message_link_get_flags(sd_rt - /* If successful the updated message will be correctly aligned, if - unsuccessful the old message is untouched. */ - static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) { -- uint32_t rta_length, message_length; -+ uint32_t rta_length; -+ size_t message_length, padding_length; - struct nlmsghdr *new_hdr; - struct rtattr *rta; - char *padding; - unsigned i; -+ int offset; - - assert(m); - assert(m->hdr); - assert(!m->sealed); - assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len); -- assert(!data || data_length > 0); -- assert(data || m->n_containers < RTNL_CONTAINER_DEPTH); -+ assert(!data || data_length); -+ -+ /* get offset of the new attribute */ -+ offset = m->hdr->nlmsg_len; - - /* get the size of the new rta attribute (with padding at the end) */ - rta_length = RTA_LENGTH(data_length); - - /* get the new message size (with padding at the end) */ -- message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length); -+ message_length = offset + RTA_ALIGN(rta_length); - - /* realloc to fit the new attribute */ - new_hdr = realloc(m->hdr, message_length); -@@ -340,32 +344,35 @@ static int add_rtattr(sd_rtnl_message *m - m->hdr = new_hdr; - - /* get pointer to the attribute we are about to add */ -- rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len); -+ rta = (struct rtattr *) ((uint8_t *) m->hdr + offset); - - /* if we are inside containers, extend them */ - for (i = 0; i < m->n_containers; i++) -- GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len; -+ GET_CONTAINER(m, i)->rta_len += message_length - offset; - - /* fill in the attribute */ - rta->rta_type = type; - rta->rta_len = rta_length; -- if (!data) { -- /* this is the start of a new container */ -- m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len; -- } else { -+ if (data) - /* we don't deal with the case where the user lies about the type - * and gives us too little data (so don't do that) -- */ -+ */ - padding = mempcpy(RTA_DATA(rta), data, data_length); -- /* make sure also the padding at the end of the message is initialized */ -- memzero(padding, -- (uint8_t *) m->hdr + message_length - (uint8_t *) padding); -+ else { -+ /* if no data was passed, make sure we still initialize the padding -+ note that we can have data_length > 0 (used by some containers) */ -+ padding = RTA_DATA(rta); -+ data_length = 0; - } - -+ /* make sure also the padding at the end of the message is initialized */ -+ padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding; -+ memzero(padding, padding_length); -+ - /* update message size */ - m->hdr->nlmsg_len = message_length; - -- return 0; -+ return offset; - } - - int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) { -@@ -498,6 +505,7 @@ int sd_rtnl_message_append_u32(sd_rtnl_m - - assert_return(m, -EINVAL); - assert_return(!m->sealed, -EPERM); -+ assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE); - - r = sd_rtnl_message_get_type(m, &rtm_type); - if (r < 0) -@@ -548,6 +556,10 @@ int sd_rtnl_message_append_u32(sd_rtnl_m - if (r < 0) - return r; - -+ m->container_offsets[m->n_containers ++] = r; -+ -+ m->container_offsets[m->n_containers ++] = r; -+ - return 0; - } - diff --git a/0001-selinux-access-fix-broken-ternary-operator.patch b/0001-selinux-access-fix-broken-ternary-operator.patch deleted file mode 100644 index b94de819..00000000 --- a/0001-selinux-access-fix-broken-ternary-operator.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 1e648011b20c8126412d3cf2699d575d9ba9e0fe Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 21 Nov 2014 17:02:15 +0100 -Subject: [PATCH] selinux-access: fix broken ternary operator - -it seems to be a typo introduced by ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602 -- _r = selinux_access_check(_b, _m, _u->source_path ?:_u->fragment_path, (permission), &_error); \ -+ ({ Unit *_unit = (unit); selinux_generic_access_check(bus,message, _unit->fragment_path ?: _unit->fragment_path, permission,error); }) ---- - src/core/selinux-access.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/selinux-access.h -+++ src/core/selinux-access.h 2014-12-15 11:49:54.521518349 +0000 -@@ -34,7 +34,7 @@ int selinux_generic_access_check(sd_bus - #define selinux_access_check(bus, message, permission, error) \ - selinux_generic_access_check(bus, message, NULL, permission, error) - #define selinux_unit_access_check(unit, bus, message, permission, error) \ -- ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->fragment_path ?: _unit->fragment_path, permission, error); }) -+ ({ Unit *_unit = (unit); selinux_generic_access_check(bus, message, _unit->source_path ?: _unit->fragment_path, permission, error); }) - - #else - diff --git a/0001-shell-completion-fix-completion-of-inactive-units.patch b/0001-shell-completion-fix-completion-of-inactive-units.patch deleted file mode 100644 index 563d9828..00000000 --- a/0001-shell-completion-fix-completion-of-inactive-units.patch +++ /dev/null @@ -1,95 +0,0 @@ -Based on f29c77bc0179b0fa57407dbe30b495be9f5ad2e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 14 Oct 2014 20:20:07 -0400 -Subject: [PATCH] shell-completion: fix completion of inactive units - -Units which not loaded were not proposed properly. OTOH, we should -filter units from get-unit-files by their state if they are currently -loaded. Bring zsh completions in line with bash completion, the same -logic should be used in both implementations. - -https://bugzilla.redhat.com/show_bug.cgi?id=1024379 -https://bugzilla.redhat.com/show_bug.cgi?id=790768 -https://bugs.freedesktop.org/show_bug.cgi?id=84720 ---- - shell-completion/bash/systemctl | 17 +++++++++-------- - shell-completion/zsh/_systemctl | 16 +++++++++------- - 2 files changed, 18 insertions(+), 15 deletions(-) - ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -55,10 +55,14 @@ __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list- - | { while read -r a b; do echo " $a"; done; }; } - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } --__get_startable_units () { { -- __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap -- __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ -- | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } -+__get_startable_units () { -+ # find inactive or failed units, filter out masked and not-found -+ __systemctl $1 list-units --state inactive,failed -- $( __get_all_units ) | \ -+ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } -+__get_restartable_units () { -+ # find !masked, filter out masked and not-found -+ __systemctl $1 list-units --state active,inactive,failed -- $( __get_all_units ) | \ -+ { while read -r a b c d; do [[ $b == "loaded" ]] && echo " $a"; done; }; } - __get_failed_units () { __systemctl $1 list-units \ - | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } - __get_enabled_units () { __systemctl $1 list-unit-files \ -@@ -180,10 +184,7 @@ _systemctl () { - - elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -- $( __get_all_units $mode \ -- | while read -r line; do \ -- [[ "$line" =~ @\.|\.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ -- done )) -+ $( __get_restartable_units $mode)) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then ---- shell-completion/zsh/_systemctl -+++ shell-completion/zsh/_systemctl -@@ -138,8 +138,11 @@ _filter_units_by_property() { - done - } - -+_systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } -+ - _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} --_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} -+_systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} -+_systemctl_restartable_units(){_sys_restartable_units=($(__systemctl list-units --state inactive,failed,active -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} - _systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} - _systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} - _systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} -@@ -181,8 +184,9 @@ done - # Completion functions for STARTABLE_UNITS - (( $+functions[_systemctl_start] )) || _systemctl_start() - { -- _systemctl_inactive_units -- compadd "$@" -a - _sys_inactive_units -+ _systemctl_startable_units -+ compadd "$@" - $( _filter_units_by_property CanStart yes \ -+ ${_sys_startable_units[*]} ) - } - - # Completion functions for STOPPABLE_UNITS -@@ -217,11 +221,9 @@ done - for fun in restart reload-or-restart ; do - (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() - { -- _systemctl_all_units -+ _systemctl_restartable_units - compadd "$@" - $( _filter_units_by_property CanStart yes \ -- ${_sys_all_units[*]} | while read -r line; do \ -- [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ -- done ) -+ ${_sys_restartable_units[*]} ) - } - done - --- -1.7.9.2 - diff --git a/0001-shutdownd-clean-up-initialization-of-struct.patch b/0001-shutdownd-clean-up-initialization-of-struct.patch deleted file mode 100644 index 3f2fb4ea..00000000 --- a/0001-shutdownd-clean-up-initialization-of-struct.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b748c7596f79945be5263a0d1c88de64eb0c5146 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 27 Sep 2014 00:25:09 +0200 -Subject: [PATCH] shutdownd: clean up initialization of struct - -No functional change. We just don't assign the value twice. - -Found by coverity. Fixes: CID#1237616 and #1237617 ---- - src/shutdownd/shutdownd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/shutdownd/shutdownd.c src/shutdownd/shutdownd.c -index 99aa4b3..0f008a6 100644 ---- src/shutdownd/shutdownd.c -+++ src/shutdownd/shutdownd.c -@@ -52,8 +52,8 @@ static int read_packet(int fd, union shutdown_buffer *_b) { - union shutdown_buffer b; /* We maintain our own copy here, in - * order not to corrupt the last message */ - struct iovec iovec = { -- iovec.iov_base = &b, -- iovec.iov_len = sizeof(b) - 1, -+ .iov_base = &b, -+ .iov_len = sizeof(b) - 1, - }; - union { - struct cmsghdr cmsghdr; --- -1.7.9.2 - diff --git a/0001-socket-introduce-SELinuxContextFromNet-option.patch b/0001-socket-introduce-SELinuxContextFromNet-option.patch deleted file mode 100644 index f437c7be..00000000 --- a/0001-socket-introduce-SELinuxContextFromNet-option.patch +++ /dev/null @@ -1,414 +0,0 @@ -Based on 16115b0a7b7cdf08fb38084d857d572d8a9088dc Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 24 Jul 2014 10:40:28 +0200 -Subject: [PATCH] socket: introduce SELinuxContextFromNet option - -This makes possible to spawn service instances triggered by socket with -MLS/MCS SELinux labels which are created based on information provided by -connected peer. - -Implementation of label_get_child_mls_label derived from xinetd. - -Reviewed-by: Paul Moore ---- - man/systemd.socket.xml | 26 +++++++ - src/core/execute.c | 30 +++++++-- - src/core/execute.h | 1 - src/core/load-fragment-gperf.gperf.m4 | 3 - src/core/mount.c | 1 - src/core/service.c | 4 - - src/core/service.h | 3 - src/core/socket.c | 16 +++- - src/core/socket.h | 2 - src/core/swap.c | 1 - src/shared/label.c | 113 ++++++++++++++++++++++++++++++++++ - src/shared/label.h | 2 - 12 files changed, 191 insertions(+), 11 deletions(-) - ---- man/systemd.socket.xml -+++ man/systemd.socket.xml 2014-09-23 15:36:49.000000000 +0000 -@@ -570,6 +570,32 @@ - - - -+ SELinuxContextFromNet= -+ Takes a boolean -+ argument. When true systemd will attempt -+ to figure out the SELinux label used -+ for the instantiated service from the -+ information handed by the peer over the -+ network. Note that only the security -+ level is used from the information -+ provided by the peer. Other parts of -+ the resulting SELinux context originate -+ from either the target binary that is -+ effectively triggered by socket unit -+ are taken from the value of the -+ SELinuxContext= -+ option.This configuration option only -+ affects sockets with -+ Accept= mode set to -+ true. Also note that -+ this option is useful only when -+ MLS/MCS SELinux policy is -+ deployed. Defaults to -+ false. -+ -+ -+ -+ - PipeSize= - Takes an size in - bytes. Controls the pipe buffer size ---- src/core/execute.c -+++ src/core/execute.c 2014-09-24 09:22:08.882735864 +0000 -@@ -82,6 +82,7 @@ - #include "selinux-util.h" - #include "errno-list.h" - #include "apparmor-util.h" -+#include "label.h" - - #ifdef HAVE_SECCOMP - #include "seccomp-util.h" -@@ -1123,6 +1124,7 @@ int exec_spawn(ExecCommand *command, - bool apply_chroot, - bool apply_tty_stdin, - bool confirm_spawn, -+ bool selinux_context_net, - CGroupControllerMask cgroup_supported, - const char *cgroup_path, - const char *unit_id, -@@ -1594,11 +1596,29 @@ int exec_spawn(ExecCommand *command, - #endif - - #ifdef HAVE_SELINUX -- if (context->selinux_context && use_selinux()) { -- err = setexeccon(context->selinux_context); -- if (err < 0 && !context->selinux_context_ignore) { -- r = EXIT_SELINUX_CONTEXT; -- goto fail_child; -+ if (use_selinux()) { -+ if (context->selinux_context) { -+ err = setexeccon(context->selinux_context); -+ if (err < 0 && !context->selinux_context_ignore) { -+ r = EXIT_SELINUX_CONTEXT; -+ goto fail_child; -+ } -+ } -+ -+ if (selinux_context_net && socket_fd >= 0) { -+ _cleanup_free_ char *label = NULL; -+ -+ err = label_get_child_mls_label(socket_fd, command->path, &label); -+ if (err < 0) { -+ r = EXIT_SELINUX_CONTEXT; -+ goto fail_child; -+ } -+ -+ err = setexeccon(label); -+ if (err < 0) { -+ r = EXIT_SELINUX_CONTEXT; -+ goto fail_child; -+ } - } - } - #endif ---- src/core/execute.h -+++ src/core/execute.h 2014-09-23 15:46:26.000000000 +0000 -@@ -195,6 +195,7 @@ int exec_spawn(ExecCommand *command, - bool apply_chroot, - bool apply_tty_stdin, - bool confirm_spawn, -+ bool selinux_context_net, - CGroupControllerMask cgroup_mask, - const char *cgroup_path, - const char *unit_id, ---- src/core/load-fragment-gperf.gperf.m4 -+++ src/core/load-fragment-gperf.gperf.m4 2014-09-23 00:00:00.000000000 +0000 -@@ -242,6 +242,9 @@ Socket.SmackLabelIPOut, config_ - `Socket.SmackLabel, config_parse_warn_compat, 0, 0 - Socket.SmackLabelIPIn, config_parse_warn_compat, 0, 0 - Socket.SmackLabelIPOut, config_parse_warn_compat, 0, 0') -+m4_ifdef(`HAVE_SELINUX', -+`Socket.SELinuxContextFromNet, config_parse_bool, 0, offsetof(Socket, selinux_context_from_net)', -+`Socket.SELinuxContextFromNet, config_parse_warn_compat, 0, 0') - EXEC_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl - CGROUP_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl - KILL_CONTEXT_CONFIG_ITEMS(Socket)m4_dnl ---- src/core/mount.c -+++ src/core/mount.c 2014-09-24 09:16:26.234235379 +0000 -@@ -785,6 +785,7 @@ static int mount_spawn(Mount *m, ExecCom - true, - true, - UNIT(m)->manager->confirm_spawn, -+ false, - UNIT(m)->manager->cgroup_supported, - UNIT(m)->cgroup_path, - UNIT(m)->id, ---- src/core/service.c -+++ src/core/service.c 2014-09-23 15:49:24.000000000 +0000 -@@ -1856,6 +1856,7 @@ static int service_spawn( - apply_chroot, - apply_tty_stdin, - UNIT(s)->manager->confirm_spawn, -+ s->socket_fd_selinux_context_net, - UNIT(s)->manager->cgroup_supported, - path, - UNIT(s)->id, -@@ -3787,7 +3788,7 @@ static void service_bus_name_owner_chang - } - } - --int service_set_socket_fd(Service *s, int fd, Socket *sock) { -+int service_set_socket_fd(Service *s, int fd, Socket *sock, bool selinux_context_net) { - _cleanup_free_ char *peer = NULL; - int r; - -@@ -3825,6 +3826,7 @@ int service_set_socket_fd(Service *s, in - } - - s->socket_fd = fd; -+ s->socket_fd_selinux_context_net = selinux_context_net; - - unit_ref_set(&s->accept_socket, UNIT(sock)); - ---- src/core/service.h -+++ src/core/service.h 2014-09-23 15:51:13.000000000 +0000 -@@ -159,6 +159,7 @@ struct Service { - pid_t main_pid, control_pid; - int socket_fd; - -+ bool socket_fd_selinux_context_net; - bool permissions_start_only; - bool root_directory_start_only; - bool remain_after_exit; -@@ -204,7 +205,7 @@ extern const UnitVTable service_vtable; - - struct Socket; - --int service_set_socket_fd(Service *s, int fd, struct Socket *socket); -+int service_set_socket_fd(Service *s, int fd, struct Socket *socket, bool selinux_context_net); - - const char* service_state_to_string(ServiceState i) _const_; - ServiceState service_state_from_string(const char *s) _pure_; ---- src/core/socket.c -+++ src/core/socket.c 2014-09-24 09:13:29.698735735 +0000 -@@ -453,7 +453,8 @@ static void socket_dump(Unit *u, FILE *f - "%sBroadcast: %s\n" - "%sPassCredentials: %s\n" - "%sPassSecurity: %s\n" -- "%sTCPCongestion: %s\n", -+ "%sTCPCongestion: %s\n" -+ "%sSELinuxContextFromNet: %s\n", - prefix, socket_state_to_string(s->state), - prefix, socket_result_to_string(s->result), - prefix, socket_address_bind_ipv6_only_to_string(s->bind_ipv6_only), -@@ -466,7 +467,8 @@ static void socket_dump(Unit *u, FILE *f - prefix, yes_no(s->broadcast), - prefix, yes_no(s->pass_cred), - prefix, yes_no(s->pass_sec), -- prefix, strna(s->tcp_congestion)); -+ prefix, strna(s->tcp_congestion), -+ prefix, yes_no(s->selinux_context_from_net)); - - if (s->control_pid > 0) - fprintf(f, -@@ -1000,7 +1002,12 @@ static int socket_open_fds(Socket *s) { - - if (p->type == SOCKET_SOCKET) { - -- if (!know_label) { -+ if (!know_label && s->selinux_context_from_net) { -+ r = label_get_our_label(&label); -+ if (r < 0) -+ return r; -+ know_label = true; -+ } else if (!know_label) { - - if ((r = socket_instantiate_service(s)) < 0) - return r; -@@ -1247,6 +1254,7 @@ static int socket_spawn(Socket *s, ExecC - true, - true, - UNIT(s)->manager->confirm_spawn, -+ s->selinux_context_from_net, - UNIT(s)->manager->cgroup_supported, - UNIT(s)->cgroup_path, - UNIT(s)->id, -@@ -1568,7 +1576,7 @@ static void socket_enter_running(Socket - - unit_choose_id(UNIT(service), name); - -- r = service_set_socket_fd(service, cfd, s); -+ r = service_set_socket_fd(service, cfd, s, s->selinux_context_from_net); - if (r < 0) - goto fail; - ---- src/core/socket.h -+++ src/core/socket.h 2014-09-23 15:55:17.000000000 +0000 -@@ -154,6 +154,8 @@ struct Socket { - char *smack; - char *smack_ip_in; - char *smack_ip_out; -+ -+ bool selinux_context_from_net; - }; - - /* Called from the service code when collecting fds */ ---- src/core/swap.c -+++ src/core/swap.c 2014-09-24 09:17:18.438735618 +0000 -@@ -642,6 +642,7 @@ static int swap_spawn(Swap *s, ExecComma - true, - true, - UNIT(s)->manager->confirm_spawn, -+ false, - UNIT(s)->manager->cgroup_supported, - UNIT(s)->cgroup_path, - UNIT(s)->id, ---- src/shared/label.c -+++ src/shared/label.c 2014-09-23 00:00:00.000000000 +0000 -@@ -31,6 +31,7 @@ - #ifdef HAVE_SELINUX - #include - #include -+#include - #endif - - #include "label.h" -@@ -41,6 +42,12 @@ - #include "smack-util.h" - - #ifdef HAVE_SELINUX -+DEFINE_TRIVIAL_CLEANUP_FUNC(security_context_t, freecon); -+DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); -+ -+#define _cleanup_security_context_free_ _cleanup_(freeconp) -+#define _cleanup_context_free_ _cleanup_(context_freep) -+ - static struct selabel_handle *label_hnd = NULL; - #endif - -@@ -243,6 +250,112 @@ fail: - return r; - } - -+int label_get_our_label(char **label) { -+ int r = -EOPNOTSUPP; -+ char *l = NULL; -+ -+#ifdef HAVE_SELINUX -+ r = getcon(&l); -+ if (r < 0) -+ return r; -+ -+ *label = l; -+#endif -+ -+ return r; -+} -+ -+int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { -+ int r = -EOPNOTSUPP; -+ -+#ifdef HAVE_SELINUX -+ -+ _cleanup_security_context_free_ security_context_t mycon = NULL, peercon = NULL, fcon = NULL, ret = NULL; -+ _cleanup_context_free_ context_t pcon = NULL, bcon = NULL; -+ security_class_t sclass; -+ -+ const char *range = NULL; -+ -+ assert(socket_fd >= 0); -+ assert(exe); -+ assert(label); -+ -+ r = getcon(&mycon); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ r = getpeercon(socket_fd, &peercon); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ r = getexeccon(&fcon); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ if (!fcon) { -+ /* If there is no context set for next exec let's use context -+ of target executable */ -+ r = getfilecon(exe, &fcon); -+ if (r < 0) { -+ r = -errno; -+ goto out; -+ } -+ } -+ -+ bcon = context_new(mycon); -+ if (!bcon) { -+ r = -ENOMEM; -+ goto out; -+ } -+ -+ pcon = context_new(peercon); -+ if (!pcon) { -+ r = -ENOMEM; -+ goto out; -+ } -+ -+ range = context_range_get(pcon); -+ if (!range) { -+ r = -errno; -+ goto out; -+ } -+ -+ r = context_range_set(bcon, range); -+ if (r) { -+ r = -errno; -+ goto out; -+ } -+ -+ freecon(mycon); -+ mycon = context_str(bcon); -+ if (!mycon) { -+ r = -errno; -+ goto out; -+ } -+ -+ sclass = string_to_security_class("process"); -+ r = security_compute_create(mycon, fcon, sclass, &ret); -+ if (r < 0) { -+ r = -EINVAL; -+ goto out; -+ } -+ -+ *label = ret; -+ r = 0; -+ -+out: -+ if (r < 0 && security_getenforce() == 1) -+ return r; -+#endif -+ return r; -+} -+ - int label_context_set(const char *path, mode_t mode) { - int r = 0; - ---- src/shared/label.h -+++ src/shared/label.h 2014-09-23 00:00:00.000000000 +0000 -@@ -40,6 +40,8 @@ void label_context_clear(void); - void label_free(const char *label); - - int label_get_create_label_from_exe(const char *exe, char **label); -+int label_get_our_label(char **label); -+int label_get_child_mls_label(int socket_fd, const char *exec, char **label); - - int label_mkdir(const char *path, mode_t mode); - diff --git a/0001-strv-add-an-additional-overflow-check-when-enlarging.patch b/0001-strv-add-an-additional-overflow-check-when-enlarging.patch deleted file mode 100644 index 3f953f4f..00000000 --- a/0001-strv-add-an-additional-overflow-check-when-enlarging.patch +++ /dev/null @@ -1,35 +0,0 @@ -Based on 97569e154b80541cbad39d78231b7f360d4ff058 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 21 Oct 2014 14:01:28 +0200 -Subject: [PATCH] strv: add an additional overflow check when enlarging - strv()s - -https://bugs.freedesktop.org/show_bug.cgi?id=76745 ---- - src/shared/strv.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- src/shared/strv.c -+++ src/shared/strv.c 2014-10-23 00:00:00.000000000 +0000 -@@ -361,13 +361,19 @@ char *strv_join_quoted(char **l) { - - int strv_push(char ***l, char *value) { - char **c; -- unsigned n; -+ unsigned n, m; - - if (!value) - return 0; - - n = strv_length(*l); -- c = realloc(*l, sizeof(char*) * (n + 2)); -+ -+ /* increase and check for overflow */ -+ m = n + 2; -+ if (m < n) -+ return -ENOMEM; -+ -+ c = realloc(*l, sizeof(char*) * (size_t) m); - if (!c) - return -ENOMEM; - diff --git a/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch b/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch deleted file mode 100644 index 917c8ec2..00000000 --- a/0001-systemctl-Correct-error-message-printed-when-bus_pro.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 498cfc230af8f83675be2e92057956f1792969e4 Mon Sep 17 00:00:00 2001 -From: Sjoerd Simons -Date: Sat, 23 Aug 2014 21:11:44 +0200 -Subject: [PATCH] systemctl: Correct error message printed when - bus_process_wait fails - -Actually use the variable containing the return code of bus_process_wait when -printing the error message as a result of it failing. ---- - src/systemctl/systemctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index d9b8bee..6534819 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -2382,7 +2382,7 @@ static int wait_for_jobs(sd_bus *bus, Set *s) { - while (!set_isempty(s)) { - q = bus_process_wait(bus); - if (q < 0) { -- log_error("Failed to wait for response: %s", strerror(-r)); -+ log_error("Failed to wait for response: %s", strerror(-q)); - return q; - } - --- -1.7.9.2 - diff --git a/0001-systemctl-allow-to-change-the-default-target-without.patch b/0001-systemctl-allow-to-change-the-default-target-without.patch deleted file mode 100644 index 8e78fe01..00000000 --- a/0001-systemctl-allow-to-change-the-default-target-without.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a1484a216e79da1fa7e2323095fb1b7203fb7a17 Mon Sep 17 00:00:00 2001 -From: Djalal Harouni -Date: Mon, 14 Apr 2014 01:07:52 +0100 -Subject: [PATCH] systemctl: allow to change the default target without the - --force switch - -Currently "systemctl set-default" will fail to change the default target -due to the 'default.target' being a symlink which is always the case. - -To work around this, the user must specify the "--force" switch to be -able to overwrite the existing symlink. - -This is clearly a regression that was introduced by commit 718db96199e -since it worked before without the "--force" switch and the man pages do -not mention that you need to specify it. It is expected that this is a -symlink. - -So just explicity set the force flag to make it work again. - -https://bugs.freedesktop.org/show_bug.cgi?id=76623 - -Reported-by: ---- - src/systemctl/systemctl.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index ee0938f..1b381f7 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -1968,7 +1968,7 @@ static int set_default(sd_bus *bus, char **args) { - return log_oom(); - - if (!bus || avoid_bus()) { -- r = unit_file_set_default(arg_scope, arg_root, unit, arg_force, &changes, &n_changes); -+ r = unit_file_set_default(arg_scope, arg_root, unit, true, &changes, &n_changes); - if (r < 0) { - log_error("Failed to set default target: %s", strerror(-r)); - return r; -@@ -1990,7 +1990,7 @@ static int set_default(sd_bus *bus, char **args) { - "SetDefaultTarget", - &error, - &reply, -- "sb", unit, arg_force); -+ "sb", unit, true); - if (r < 0) { - log_error("Failed to set default target: %s", bus_error_message(&error, -r)); - return r; --- -1.7.9.2 - diff --git a/0001-systemctl-let-list-units-unit-files-honour-type.patch b/0001-systemctl-let-list-units-unit-files-honour-type.patch deleted file mode 100644 index 1548d84f..00000000 --- a/0001-systemctl-let-list-units-unit-files-honour-type.patch +++ /dev/null @@ -1,94 +0,0 @@ -Based on 6c71341aeecc3d092ed90f66e1b2c481b8e260ff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 29 Oct 2014 22:46:30 -0400 -Subject: [PATCH] systemctl: let list-{units,unit-files } honour --type - -The docs don't clarify what is expected, but I don't see any reason -why --type should be ignored. - -Also restucture the compund conditions into separate clauses for -easier reading. ---- - src/systemctl/systemctl.c | 48 ++++++++++++++++++++++++++++++++++----------- - 1 file changed, 37 insertions(+), 11 deletions(-) - ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-11-18 00:00:00.000000000 +0000 -@@ -305,21 +305,37 @@ static int compare_unit_info(const void - } - - static bool output_show_unit(const UnitInfo *u, char **patterns) { -- const char *dot; -- - if (!strv_isempty(patterns)) { - char **pattern; - - STRV_FOREACH(pattern, patterns) - if (fnmatch(*pattern, u->id, FNM_NOESCAPE) == 0) -- return true; -+ goto next; - return false; - } - -- return (!arg_types || ((dot = strrchr(u->id, '.')) && -- strv_find(arg_types, dot+1))) && -- (arg_all || !(streq(u->active_state, "inactive") -- || u->following[0]) || u->job_id > 0); -+next: -+ if (arg_types) { -+ const char *dot; -+ -+ dot = strrchr(u->id, '.'); -+ if (!dot) -+ return false; -+ -+ if (!strv_find(arg_types, dot+1)) -+ return false; -+ } -+ -+ if (arg_all) -+ return true; -+ -+ if (u->job_id > 0) -+ return true; -+ -+ if (streq(u->active_state, "inactive") || u->following[0]) -+ return false; -+ -+ return true; - } - - static void output_units_list(const UnitInfo *unit_infos, unsigned c) { -@@ -1019,18 +1035,28 @@ static int compare_unit_file_list(const - } - - static bool output_show_unit_file(const UnitFileList *u, char **patterns) { -- const char *dot; -- - if (!strv_isempty(patterns)) { - char **pattern; - - STRV_FOREACH(pattern, patterns) - if (fnmatch(*pattern, basename(u->path), FNM_NOESCAPE) == 0) -- return true; -+ goto next; - return false; - } - -- return !arg_types || ((dot = strrchr(u->path, '.')) && strv_find(arg_types, dot+1)); -+next: -+ if (!strv_isempty(arg_types)) { -+ const char *dot; -+ -+ dot = strrchr(u->path, '.'); -+ if (!dot) -+ return false; -+ -+ if (!strv_find(arg_types, dot+1)) -+ return false; -+ } -+ -+ return true; - } - - static void output_unit_file_list(const UnitFileList *units, unsigned c) { diff --git a/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch b/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch deleted file mode 100644 index 544be067..00000000 --- a/0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 08073121d8171f8e6be27b0c80e2ec283064760e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 13 Oct 2014 15:43:09 +0200 -Subject: [PATCH] systemctl: when mangle unit names for the "isolate", suffix - with ".target" rather than ".service" by default - -After all, we set AllowIsolate exclusively for target units so far, and -this is more or less the only thing tht makes sense, hence also use -".target" as completion suffix by default. ---- - src/systemctl/systemctl.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 842ca6c..af3cc97 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -2704,7 +2704,7 @@ static enum action verb_to_action(const char *verb) { - static int start_unit(sd_bus *bus, char **args) { - _cleanup_set_free_free_ Set *s = NULL; - _cleanup_strv_free_ char **names = NULL; -- const char *method, *mode, *one_name; -+ const char *method, *mode, *one_name, *suffix = NULL; - char **name; - int r = 0; - -@@ -2717,8 +2717,11 @@ static int start_unit(sd_bus *bus, char **args) { - method = verb_to_method(args[0]); - action = verb_to_action(args[0]); - -- mode = streq(args[0], "isolate") ? "isolate" : -- action_table[action].mode ?: arg_job_mode; -+ if (streq(args[0], "isolate")) { -+ mode = "isolate"; -+ suffix = ".target"; -+ } else -+ mode = action_table[action].mode ?: arg_job_mode; - - one_name = action_table[action].target; - } else { -@@ -2734,7 +2737,7 @@ static int start_unit(sd_bus *bus, char **args) { - if (one_name) - names = strv_new(one_name, NULL); - else { -- r = expand_names(bus, args + 1, NULL, &names); -+ r = expand_names(bus, args + 1, suffix, &names); - if (r < 0) - log_error("Failed to expand names: %s", strerror(-r)); - } --- -1.7.9.2 - diff --git a/0001-systemd-continue-switch-root-even-if-umount-fails.patch b/0001-systemd-continue-switch-root-even-if-umount-fails.patch deleted file mode 100644 index e8b3ee9f..00000000 --- a/0001-systemd-continue-switch-root-even-if-umount-fails.patch +++ /dev/null @@ -1,50 +0,0 @@ -Based on d677d4df80e0ea1c66c691f50867fedd63c6770a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 16 Oct 2014 19:12:55 -0500 -Subject: [PATCH] systemd: continue switch-root even if umount fails - -Leaving the old root around seems better than aborting the -switch. ---- - src/core/main.c | 2 +- - src/core/switch-root.c | 11 +++++------ - 2 files changed, 6 insertions(+), 7 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-10-20 13:35:35.915837828 +0000 -@@ -1848,7 +1848,7 @@ finish: - /* And switch root */ - r = switch_root(switch_root_dir); - if (r < 0) -- log_error("Failed to switch root, ignoring: %s", strerror(-r)); -+ log_error("Failed to switch root, trying to continue: %s", strerror(-r)); - } - - args_size = MAX(6, argc+1); ---- src/core/switch-root.c -+++ src/core/switch-root.c 2014-10-20 13:39:58.167121460 +0000 -@@ -68,10 +68,9 @@ int switch_root(const char *new_root) { - goto fail; - } - -- /* Work-around for a kernel bug: for some reason the kernel -- * refuses switching root if any file systems are mounted -- * MS_SHARED. Hence remount them MS_PRIVATE here as a -- * work-around. -+ /* Work-around for kernel design: the kernel refuses switching -+ * root if any file systems are mounted MS_SHARED. Hence -+ * remount them MS_PRIVATE here as a work-around. - * - * https://bugzilla.redhat.com/show_bug.cgi?id=847418 */ - if (mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) < 0) -@@ -124,8 +123,8 @@ int switch_root(const char *new_root) { - * running off it we need to do this lazily. */ - if (umount2("/mnt", MNT_DETACH) < 0) { - r = -errno; -- log_error("Failed to umount old root dir /mnt: %m"); -- goto fail; -+ log_error("Failed to lazily umount old root dir /mnt, %s: %m", -+ errno == ENOENT ? "ignoring" : "leaving it around"); - } - - } else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) { diff --git a/0001-systemd-detect-virt-detect-s390-virtualization.patch b/0001-systemd-detect-virt-detect-s390-virtualization.patch deleted file mode 100644 index 300258fb..00000000 --- a/0001-systemd-detect-virt-detect-s390-virtualization.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f41925b4e442a34c93ad120ef1426c974a047ed1 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Fri, 18 Jul 2014 09:13:36 -0400 -Subject: [PATCH] systemd-detect-virt: detect s390 virtualization - -A system that is running on a logical partition (LPAR) provided by -PR/SM has access to physical hardware (except CPU). It is true that -PR/SM abstracts the hardware, but only for sharing purposes. - -Details are statet at: - -http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/eicaz/eicazzlpar.htm - --->-- -In other words, PR/SM transforms physical resources into virtual resources so -that many logical partitions can share the same physical resources. ---<-- - -Still, from the OS point of view, the shared virtual resource is real -hardware. ConditionVirtualization must be set to false if the OS runs -directly on PR/SM (e.g. in an LPAR). - -[zj: reorder code so that variables are not allocated when #if-def is -false. Add commit message.] ---- - man/systemd.unit.xml | 1 + - src/shared/virt.c | 17 +++++++++++++++++ - 2 files changed, 18 insertions(+) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 6447584..86a8cbb 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -996,6 +996,7 @@ - virtualization solution, or one of - qemu, - kvm, -+ zvm, - vmware, - microsoft, - oracle, -diff --git src/shared/virt.c src/shared/virt.c -index 20a8d7c..b436895 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -220,6 +220,23 @@ int detect_vm(const char **id) { - goto finish; - } - -+#if defined(__s390__) -+ { -+ _cleanup_free_ char *t = NULL; -+ -+ r = get_status_field("/proc/sysinfo", "VM00 Control Program:", &t); -+ if (r >= 0) { -+ if (streq(t, "z/VM")) -+ _id = "zvm"; -+ else -+ _id = "kvm"; -+ r = 1; -+ -+ goto finish; -+ } -+ } -+#endif -+ - r = 0; - - finish: --- -1.7.9.2 - diff --git a/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch b/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch deleted file mode 100644 index 9f1a8dcb..00000000 --- a/0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 9ed2a35e93f4a9e82585f860f54cdcbbdf3e1f86 Mon Sep 17 00:00:00 2001 -From: Richard Weinberger -Date: Tue, 9 Sep 2014 11:09:37 +0200 -Subject: [PATCH] systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling - -If one has a config like: -d /tmp 1777 root root - -X /tmp/important_mount - -All files below /tmp/important_mount will be deleted as the -/tmp/important_mount item will spuriously inherit a max age of 0 -from /tmp. -/tmp has a max age of 0 but age_set is (of course) false. - -This affects also the PrivateTmp feature of systemd. -All tmp files of such services will be deleted unconditionally -and can cause service failures and data loss. - -Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic. ---- - src/tmpfiles/tmpfiles.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index f9830c4..7eafd6b 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -1576,7 +1576,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) { - candidate_item = j; - } - -- if (candidate_item) { -+ if (candidate_item && candidate_item->age_set) { - i->age = candidate_item->age; - i->age_set = true; - } --- -1.7.9.2 - diff --git a/0001-sysv-order-initscripts-which-provide-network-before-.patch b/0001-sysv-order-initscripts-which-provide-network-before-.patch deleted file mode 100644 index 944b9158..00000000 --- a/0001-sysv-order-initscripts-which-provide-network-before-.patch +++ /dev/null @@ -1,34 +0,0 @@ -Based on 805b573fad06b845502e76f3db3a0efa7583149d Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 23 Jul 2014 12:49:14 +0200 -Subject: [PATCH] sysv: order initscripts which provide $network before - network.target - -Due to recent changes where $network "maps" to network-online.target -it is not guaranteed that initscript which provides networking will -be terminated after network.target during shutdown which is against LSB. ---- - src/core/service.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/core/service.c -+++ src/core/service.c 2014-07-30 11:27:16.074235995 +0000 -@@ -820,7 +820,7 @@ static int service_load_sysv_path(Servic - - if (unit_name_to_type(m) == UNIT_SERVICE) - r = unit_merge_by_name(u, m); -- else -+ else { - /* NB: SysV targets - * which are provided - * by a service are -@@ -835,6 +835,9 @@ static int service_load_sysv_path(Servic - * in the SysV - * services! */ - r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, UNIT_WANTS, m, NULL, true); -+ if (r >= 0 && streq(m, SPECIAL_NETWORK_ONLINE_TARGET)) -+ r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_NETWORK_TARGET, NULL, true); -+ } - - if (r < 0) - log_error_unit(u->id, diff --git a/0001-tmpfiles-compare-return-against-correct-errno.patch b/0001-tmpfiles-compare-return-against-correct-errno.patch deleted file mode 100644 index 10c2e214..00000000 --- a/0001-tmpfiles-compare-return-against-correct-errno.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e7aab5412829ed6b50d109f670bd0b1b365838a7 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sat, 11 Oct 2014 20:35:06 -0400 -Subject: [PATCH] tmpfiles: compare return against correct errno - -name_to_handle_at returns -EOPNOTSUPP, not -ENOTSUP. ---- - src/tmpfiles/tmpfiles.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index dafb9ae..8108b43 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -259,7 +259,7 @@ static int dir_is_mount_point(DIR *d, const char *subdir) { - - /* got only one handle; assume different mount points if one - * of both queries was not supported by the filesystem */ -- if (r_p == -ENOSYS || r_p == -ENOTSUP || r == -ENOSYS || r == -ENOTSUP) -+ if (r_p == -ENOSYS || r_p == -EOPNOTSUPP || r == -ENOSYS || r == -EOPNOTSUPP) - return true; - - /* return error */ --- -1.7.9.2 - diff --git a/0001-tmpfiles-fix-permissions-on-new-journal-files.patch b/0001-tmpfiles-fix-permissions-on-new-journal-files.patch deleted file mode 100644 index de54a2e5..00000000 --- a/0001-tmpfiles-fix-permissions-on-new-journal-files.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a606871da508995f5ede113a8fc6538afd98966c Mon Sep 17 00:00:00 2001 -From: Greg KH -Date: Tue, 15 Apr 2014 14:12:01 -0700 -Subject: [PATCH] tmpfiles: fix permissions on new journal files - -When starting up journald on a new system, set the proper permissions on -the system.journal files, not only on the journal directory. ---- - tmpfiles.d/systemd.conf | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git tmpfiles.d/systemd.conf tmpfiles.d/systemd.conf -index 7c6d6b9..c470045 100644 ---- tmpfiles.d/systemd.conf -+++ tmpfiles.d/systemd.conf -@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root - - d /run/systemd/shutdown 0755 root root - - - m /var/log/journal 2755 root systemd-journal - - --m /var/log/journal/%m 2755 root systemd-journal - - -+Z /var/log/journal/%m 2755 root systemd-journal - - - m /run/log/journal 2755 root systemd-journal - - --m /run/log/journal/%m 2755 root systemd-journal - - -+Z /run/log/journal/%m 2755 root systemd-journal - - --- -1.7.9.2 - diff --git a/0001-umount-modernizations.patch b/0001-umount-modernizations.patch deleted file mode 100644 index 1397d155..00000000 --- a/0001-umount-modernizations.patch +++ /dev/null @@ -1,119 +0,0 @@ -From c3544e8d2c2d870a2aff0944aff4ab7824b9ae6b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 21:35:15 +0200 -Subject: [PATCH] umount: modernizations - ---- - src/core/umount.c | 65 ++++++++++++++++++++++------------------------------- - 1 file changed, 27 insertions(+), 38 deletions(-) - -diff --git src/core/umount.c src/core/umount.c -index d1258f0..a30f674 100644 ---- src/core/umount.c -+++ src/core/umount.c -@@ -61,52 +61,46 @@ static void mount_points_list_free(MountPoint **head) { - } - - static int mount_points_list_get(MountPoint **head) { -- FILE *proc_self_mountinfo; -- char *path, *p; -+ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; - unsigned int i; -- int r; - - assert(head); - -- if (!(proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"))) -+ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); -+ if (!proc_self_mountinfo) - return -errno; - - for (i = 1;; i++) { -- int k; -+ _cleanup_free_ char *path = NULL; -+ char *p = NULL; - MountPoint *m; -+ int k; - -- path = p = NULL; -- -- if ((k = fscanf(proc_self_mountinfo, -- "%*s " /* (1) mount id */ -- "%*s " /* (2) parent id */ -- "%*s " /* (3) major:minor */ -- "%*s " /* (4) root */ -- "%ms " /* (5) mount point */ -- "%*s" /* (6) mount options */ -- "%*[^-]" /* (7) optional fields */ -- "- " /* (8) separator */ -- "%*s " /* (9) file system type */ -- "%*s" /* (10) mount source */ -- "%*s" /* (11) mount options 2 */ -- "%*[^\n]", /* some rubbish at the end */ -- &path)) != 1) { -+ k = fscanf(proc_self_mountinfo, -+ "%*s " /* (1) mount id */ -+ "%*s " /* (2) parent id */ -+ "%*s " /* (3) major:minor */ -+ "%*s " /* (4) root */ -+ "%ms " /* (5) mount point */ -+ "%*s" /* (6) mount options */ -+ "%*[^-]" /* (7) optional fields */ -+ "- " /* (8) separator */ -+ "%*s " /* (9) file system type */ -+ "%*s" /* (10) mount source */ -+ "%*s" /* (11) mount options 2 */ -+ "%*[^\n]", /* some rubbish at the end */ -+ &path); -+ if (k != 1) { - if (k == EOF) - break; - - log_warning("Failed to parse /proc/self/mountinfo:%u.", i); -- -- free(path); - continue; - } - - p = cunescape(path); -- free(path); -- -- if (!p) { -- r = -ENOMEM; -- goto finish; -- } -+ if (!p) -+ return -ENOMEM; - - /* Ignore mount points we can't unmount because they - * are API or because we are keeping them open (like -@@ -118,22 +112,17 @@ static int mount_points_list_get(MountPoint **head) { - continue; - } - -- if (!(m = new0(MountPoint, 1))) { -+ m = new0(MountPoint, 1); -+ if (!m) { - free(p); -- r = -ENOMEM; -- goto finish; -+ return -ENOMEM; - } - - m->path = p; - LIST_PREPEND(mount_point, *head, m); - } - -- r = 0; -- --finish: -- fclose(proc_self_mountinfo); -- -- return r; -+ return 0; - } - - static int swap_list_get(MountPoint **head) { --- -1.7.9.2 - diff --git a/0001-units-introduce-network-pre.target-as-place-to-hook-.patch b/0001-units-introduce-network-pre.target-as-place-to-hook-.patch deleted file mode 100644 index ffbc0569..00000000 --- a/0001-units-introduce-network-pre.target-as-place-to-hook-.patch +++ /dev/null @@ -1,126 +0,0 @@ -From a4a878d04045b46fa9783664e3643a890b356790 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 11 Jun 2014 11:33:02 +0200 -Subject: [PATCH] units: introduce network-pre.target as place to hook in - firewalls - -network-pre.target is a passive target that should be pulled in by -services that want to be executed before any network is configured (for -example: firewall scrips). - -network-pre.target should be ordered before all network managemet -services (but not be pulled in by them). - -network-pre.target should be order after all services that want to be -executed before any network is configured (and be pulled in by them). ---- - Makefile.am | 1 + - man/systemd.special.xml | 15 +++++++++++++++ - units/local-fs.target | 2 -- - units/network-pre.target | 12 ++++++++++++ - units/network.target | 2 ++ - units/systemd-networkd.service.in | 2 +- - 6 files changed, 31 insertions(+), 3 deletions(-) - create mode 100644 units/network-pre.target - -diff --git Makefile.am Makefile.am -index 3ea95e9..8514ec9 100644 ---- Makefile.am -+++ Makefile.am -@@ -413,6 +413,7 @@ dist_systemunit_DATA = \ - units/remote-fs.target \ - units/remote-fs-pre.target \ - units/network.target \ -+ units/network-pre.target \ - units/network-online.target \ - units/nss-lookup.target \ - units/nss-user-lookup.target \ -diff --git man/systemd.special.xml man/systemd.special.xml -index 38b94a7..cda6edd 100644 ---- man/systemd.special.xml -+++ man/systemd.special.xml -@@ -72,6 +72,7 @@ - multi-user.target, - network.target, - network-online.target, -+ network-pre.target, - nss-lookup.target, - nss-user-lookup.target, - paths.target, -@@ -891,6 +892,20 @@ - - - -+ network-pre.target -+ -+ This passive target unit -+ may be pulled in by services -+ that want to run before any -+ network is set up, for example -+ for the purpose of setting up a -+ firewall. All network -+ management software orders -+ itself after this target, but -+ does not pull it in. -+ -+ -+ - nss-lookup.target - - A target that should be -diff --git units/local-fs.target units/local-fs.target -index ae3cedc..70cb13f 100644 ---- units/local-fs.target -+++ units/local-fs.target -@@ -9,7 +9,5 @@ - Description=Local File Systems - Documentation=man:systemd.special(7) - After=local-fs-pre.target --DefaultDependencies=no --Conflicts=shutdown.target - OnFailure=emergency.target - OnFailureJobMode=replace-irreversibly -diff --git units/network-pre.target units/network-pre.target -new file mode 100644 -index 0000000..0ea4bc7 ---- /dev/null -+++ units/network-pre.target -@@ -0,0 +1,12 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Network (Pre) -+Documentation=man:systemd.special(7) -+Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget -+RefuseManualStart=yes -diff --git units/network.target units/network.target -index 65fc64b..61ebdca 100644 ---- units/network.target -+++ units/network.target -@@ -9,3 +9,5 @@ - Description=Network - Documentation=man:systemd.special(7) - Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget -+After=network-pre.target -+RefuseManualStart=yes -diff --git units/systemd-networkd.service.in units/systemd-networkd.service.in -index 373ac4e..48f4d63 100644 ---- units/systemd-networkd.service.in -+++ units/systemd-networkd.service.in -@@ -9,7 +9,7 @@ - Description=Network Service - Documentation=man:systemd-networkd.service(8) - DefaultDependencies=no --After=dbus.service -+After=dbus.service network-pre.target - Before=network.target - Wants=network.target - ConditionCapability=CAP_NET_ADMIN --- -1.7.9.2 - diff --git a/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch b/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch deleted file mode 100644 index bb9010bd..00000000 --- a/0001-units-make-ExecStopPost-action-part-of-ExecStart.patch +++ /dev/null @@ -1,46 +0,0 @@ -Based on d3381512282f2ca1c7669f77fb736a90fdce6982 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 8 Jul 2014 17:42:23 +0200 -Subject: [PATCH] units: make ExecStopPost action part of ExecStart - -Currently after exiting rescue shell we isolate default target. User -might want to isolate to some other target than default one. However -issuing systemctl isolate command to desired target would bring system -to default target as a consequence of running ExecStopPost action. - -Having common ancestor for rescue shell and possible followup systemctl -default command should fix this. If user exits rescue shell we will -proceed with isolating default target, otherwise, on manual isolate, -parent shell process is terminated and we don't isolate default target, -but target chosen by user. - -Suggested-by: Michal Schmidt ---- - units/emergency.service.in | 3 +-- - units/rescue.service.m4.in | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - ---- units/emergency.service.in -+++ units/emergency.service.in 2014-07-10 13:31:50.662235825 +0000 -@@ -18,8 +18,7 @@ WorkingDirectory=/root - ExecStartPre=-/usr/bin/plymouth quit - ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' --ExecStart=-/usr/sbin/sulogin --ExecStopPost=@SYSTEMCTL@ --fail --no-block default -+ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" - Type=idle - StandardInput=tty-force - StandardOutput=inherit ---- units/rescue.service.m4.in -+++ units/rescue.service.m4.in 2014-07-10 13:32:15.678235509 +0000 -@@ -19,8 +19,7 @@ WorkingDirectory=/root - ExecStartPre=-/usr/bin/plymouth quit - ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' --ExecStart=-/usr/sbin/sulogin --ExecStopPost=-@SYSTEMCTL@ --fail --no-block default -+ExecStart=-/bin/sh -c "/usr/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default" - Type=idle - StandardInput=tty-force - StandardOutput=inherit diff --git a/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch b/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch deleted file mode 100644 index 052eeca6..00000000 --- a/0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch +++ /dev/null @@ -1,32 +0,0 @@ -Based on 812bd1e6ab4c463507557f2bdbb8875fedd92ade Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 21 Nov 2014 01:20:57 +0100 -Subject: [PATCH] units: make sure rfkill service is bount to the actual - hardware - ---- - rules/99-systemd.rules.in | 2 +- - units/systemd-rfkill@.service.in | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in -@@ -62,7 +62,7 @@ SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="pa - - # Pull in rfkill save/restore for all rfkill devices - --SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" -+SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/rfkill/devices/%k", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service" - - # Asynchronously mount file systems implemented by these modules as - # soon as they are loaded. ---- units/systemd-rfkill@.service.in -+++ units/systemd-rfkill@.service.in 2014-12-05 11:52:59.433518948 +0000 -@@ -9,6 +9,7 @@ - Description=Load/Save RF Kill Switch Status of %I - Documentation=man:systemd-rfkill@.service(8) - DefaultDependencies=no -+BindsTo=sys-subsystem-rfkill-devices-%i.device - RequiresMountsFor=/var/lib/systemd/rfkill - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service diff --git a/0001-units-order-network-online.target-after-network.targ.patch b/0001-units-order-network-online.target-after-network.targ.patch deleted file mode 100644 index d09fa29e..00000000 --- a/0001-units-order-network-online.target-after-network.targ.patch +++ /dev/null @@ -1,20 +0,0 @@ -Based on 58e027023b47b32e42cf93dd4a629b869ee1ef25 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 11 Jun 2014 14:58:32 +0200 -Subject: [PATCH] units: order network-online.target after network.target - -There might be implementations around where the network-online logic -might not talk to any network configuration service (and thus not have -to wait for it), hence let's explicitly order network-online.target -after network.target to avoid any ambiguities. ---- - units/network-online.target | 1 + - 1 file changed, 1 insertion(+) - ---- units/network-online.target -+++ units/network-online.target 2014-06-26 00:00:00.000000000 +0000 -@@ -9,3 +9,4 @@ - Description=Network is Online - Documentation=man:systemd.special(7) - Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget -+After=network.target diff --git a/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch b/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch deleted file mode 100644 index 6c60f8b7..00000000 --- a/0001-units-systemd-sysctl.service.in-run-after-load-modul.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 0b73eab7a2185ae0377650e3fdb8208347a8a575 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Sat, 23 Mar 2013 03:54:16 +0100 -Subject: [PATCH] units/systemd-sysctl.service.in: run after load-modules - -Modules might or will register new sysctl options. - -[zj: This mechanism of adding modules just to reliably set sysctl -attributes is not ideal. Nevertheless, sysctl for dynamically created -attributes is simply broken, and this is the easiest workaround.] - -https://bugzilla.redhat.com/show_bug.cgi?id=1022977 -https://bugzilla.novell.com/show_bug.cgi?id=725412 ---- - units/systemd-sysctl.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git units/systemd-sysctl.service.in units/systemd-sysctl.service.in -index 5c7c5d7..ade9dc3 100644 ---- units/systemd-sysctl.service.in -+++ units/systemd-sysctl.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service - DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service -+After=systemd-modules-load.service - Before=sysinit.target shutdown.target - ConditionPathIsReadWrite=/proc/sys/ - ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch b/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch deleted file mode 100644 index 8aa6da5f..00000000 --- a/0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8c94052ee543c3598a3c7b0c46688150aa2c6168 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 27 Oct 2014 17:15:42 +0100 -Subject: [PATCH 1/2] units: tmpfiles-setup-dev - allow unsafe file creation to - happen in /dev at boot - -This will allow us to mark static device nodes with '!' to indicate that they should only be created at early boot. ---- - units/systemd-tmpfiles-setup-dev.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/systemd-tmpfiles-setup-dev.service.in b/units/systemd-tmpfiles-setup-dev.service.in -index f3833fd..0123a03 100644 ---- a/units/systemd-tmpfiles-setup-dev.service.in -+++ b/units/systemd-tmpfiles-setup-dev.service.in -@@ -17,4 +17,4 @@ ConditionCapability=CAP_SYS_MODULE - [Service] - Type=oneshot - RemainAfterExit=yes --ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create -+ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --boot --- -2.1.2 - diff --git a/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch b/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch deleted file mode 100644 index 9a6c97a5..00000000 --- a/0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 3a8a916338d8446b938f3cf40f6aae0c611892e3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 11:47:10 +0200 -Subject: [PATCH] util: consider 0x7F a control chracter (which it is: DEL) - -Let's better be safe than sorry. ---- - src/shared/util.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git src/shared/util.c src/shared/util.c -index 3d875c7..d25ee66 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1608,8 +1608,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - return -ETIMEDOUT; - } - -+ errno = 0; - if (!fgets(line, sizeof(line), f)) -- return -EIO; -+ return errno ? -errno : -EIO; - - truncate_nl(line); - -@@ -5355,6 +5356,9 @@ bool string_is_safe(const char *p) { - if (*t > 0 && *t < ' ') - return false; - -+ if (*t == 127) -+ return false; -+ - if (strchr("\\\"\'", *t)) - return false; - } -@@ -5371,10 +5375,14 @@ bool string_has_cc(const char *p) { - - assert(p); - -- for (t = p; *t; t++) -+ for (t = p; *t; t++) { - if (*t > 0 && *t < ' ' && *t != '\t') - return true; - -+ if (*t == 127) -+ return true; -+ } -+ - return false; - } - --- -1.7.9.2 - diff --git a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch deleted file mode 100644 index bf379908..00000000 --- a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +++ /dev/null @@ -1,56 +0,0 @@ -From ff452e76e2c0f89a32542b7179bb2fd538335933 Mon Sep 17 00:00:00 2001 -From: Carl Schaefer -Date: Mon, 23 Jun 2014 18:23:48 +0200 -Subject: [PATCH] vconsole: also copy character maps (not just fonts) from vt1 - to vt2, vt3, ... - -https://bugs.freedesktop.org/show_bug.cgi?id=78796 ---- - src/vconsole/vconsole-setup.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git src/vconsole/vconsole-setup.c src/vconsole/vconsole-setup.c -index 0f2b706..e0c4050 100644 ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c -@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch - */ - static void font_copy_to_all_vcs(int fd) { - struct vt_stat vcs = {}; -+ unsigned char map8[E_TABSZ]; -+ unsigned short map16[E_TABSZ]; -+ struct unimapdesc unimapd; -+ struct unipair unipairs[USHRT_MAX]; - int i, r; - - /* get active, and 16 bit mask of used VT numbers */ -@@ -209,6 +213,26 @@ static void font_copy_to_all_vcs(int fd) { - cfo.op = KD_FONT_OP_COPY; - cfo.height = vcs.v_active-1; /* tty1 == index 0 */ - ioctl(vcfd, KDFONTOP, &cfo); -+ -+ /* copy map of 8bit chars */ -+ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) -+ ioctl(vcfd, PIO_SCRNMAP, map8); -+ -+ /* copy map of 8bit chars -> 16bit Unicode values */ -+ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) -+ ioctl(vcfd, PIO_UNISCRNMAP, map16); -+ -+ /* copy unicode translation table */ -+ /* unimapd is a ushort count and a pointer to an -+ array of struct unipair { ushort, ushort } */ -+ unimapd.entries = unipairs; -+ unimapd.entry_ct = USHRT_MAX; -+ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { -+ struct unimapinit adv = { 0, 0, 0 }; -+ -+ ioctl(vcfd, PIO_UNIMAPCLR, &adv); -+ ioctl(vcfd, PIO_UNIMAP, &unimapd); -+ } - } - } - --- -1.7.9.2 - diff --git a/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch b/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch deleted file mode 100644 index a5358cc9..00000000 --- a/0001-virt-detect-that-we-are-running-inside-the-docker-co.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 893e72da6b27c21b102e1589276e651e9e4f591c Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 9 Sep 2014 18:14:25 +0200 -Subject: [PATCH] virt: detect that we are running inside the docker container - ---- - src/shared/virt.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git src/shared/virt.c src/shared/virt.c -index b436895..f9c4e67 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -310,6 +310,8 @@ int detect_container(const char **id) { - _id = "lxc-libvirt"; - else if (streq(e, "systemd-nspawn")) - _id = "systemd-nspawn"; -+ else if (streq(e, "docker")) -+ _id = "docker"; - else - _id = "other"; - --- -1.7.9.2 - diff --git a/0001-virt-rework-container-detection-logic.patch b/0001-virt-rework-container-detection-logic.patch deleted file mode 100644 index 4adc20a2..00000000 --- a/0001-virt-rework-container-detection-logic.patch +++ /dev/null @@ -1,159 +0,0 @@ -Based on fdd25311706bd32580ec4d43211cdf4665d2f9de Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 28 May 2014 18:37:11 +0800 -Subject: [PATCH] virt: rework container detection logic - -Instead of accessing /proc/1/environ directly, trying to read the -$container variable from it, let's make PID 1 save the contents of that -variable to /run/systemd/container. This allows us to detect containers -without the need for CAP_SYS_PTRACE, which allows us to drop it from a -number of daemons and from the file capabilities of systemd-detect-virt. - -Also, don't consider chroot a container technology anymore. After all, -we don't consider file system namespaces container technology anymore, -and hence chroot() should be considered a container even less. ---- - Makefile.am | 3 --- - configure.ac | 2 -- - src/core/main.c | 12 ++++++++++++ - src/shared/virt.c | 48 ++++++++++++++++++++++++++++++------------------ - 4 files changed, 42 insertions(+), 23 deletions(-) - -diff --git Makefile.am Makefile.am -index 5b26bc3..f66ef42 100644 ---- Makefile.am -+++ Makefile.am -@@ -1798,9 +1798,6 @@ systemd_detect_virt_SOURCES = \ - systemd_detect_virt_LDADD = \ - libsystemd-shared.la - --systemd-detect-virt-install-hook: -- -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt -- - INSTALL_EXEC_HOOKS += \ - systemd-detect-virt-install-hook - ---- configure.ac -+++ configure.ac 2014-06-03 14:16:45.046237826 +0000 -@@ -68,8 +68,6 @@ AC_PATH_PROG([XSLTPROC], [xsltproc]) - AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon]) - AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck]) - --AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap]) -- - AC_PATH_PROG([KILL], [kill], [/usr/bin/kill]) - - AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod]) -diff --git src/core/main.c src/core/main.c -index 77cc2fb..d5d1ee2 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1261,6 +1261,16 @@ static int status_welcome(void) { - isempty(pretty_name) ? "Linux" : pretty_name); - } - -+static int write_container_id(void) { -+ const char *c; -+ -+ c = getenv("container"); -+ if (isempty(c)) -+ return 0; -+ -+ return write_string_file("/run/systemd/container", c); -+} -+ - int main(int argc, char *argv[]) { - Manager *m = NULL; - int r, retval = EXIT_FAILURE; -@@ -1544,6 +1554,8 @@ int main(int argc, char *argv[]) { - if (virtualization) - log_info("Detected virtualization '%s'.", virtualization); - -+ write_container_id(); -+ - log_info("Detected architecture '%s'.", architecture_to_string(uname_architecture())); - - if (in_initrd()) -diff --git src/shared/virt.c src/shared/virt.c -index 0db0514..1e227c5 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -217,8 +217,8 @@ int detect_container(const char **id) { - static thread_local int cached_found = -1; - static thread_local const char *cached_id = NULL; - -- _cleanup_free_ char *e = NULL; -- const char *_id = NULL; -+ _cleanup_free_ char *m = NULL; -+ const char *_id = NULL, *e = NULL; - int r; - - if (_likely_(cached_found >= 0)) { -@@ -229,17 +229,6 @@ int detect_container(const char **id) { - return cached_found; - } - -- /* Unfortunately many of these operations require root access -- * in one way or another */ -- -- r = running_in_chroot(); -- if (r < 0) -- return r; -- if (r > 0) { -- _id = "chroot"; -- goto finish; -- } -- - /* /proc/vz exists in container and outside of the container, - * /proc/bc only outside of the container. */ - if (access("/proc/vz", F_OK) >= 0 && -@@ -249,11 +238,32 @@ int detect_container(const char **id) { - goto finish; - } - -- r = getenv_for_pid(1, "container", &e); -- if (r < 0) -- return r; -- if (r == 0) -- goto finish; -+ if (getpid() == 1) { -+ /* If we are PID 1 we can just check our own -+ * environment variable */ -+ -+ e = getenv("container"); -+ if (isempty(e)) { -+ r = 0; -+ goto finish; -+ } -+ } else { -+ -+ /* Otherwise, PID 1 dropped this information into a -+ * file in /run. This is better than accessing -+ * /proc/1/environ, since we don't need CAP_SYS_PTRACE -+ * for that. */ -+ -+ r = read_one_line_file("/run/systemd/container", &m); -+ if (r == -ENOENT) { -+ r = 0; -+ goto finish; -+ } -+ if (r < 0) -+ return r; -+ -+ e = m; -+ } - - /* We only recognize a selected few here, since we want to - * enforce a redacted namespace */ -@@ -266,6 +276,8 @@ int detect_container(const char **id) { - else - _id = "other"; - -+ r = 1; -+ - finish: - cached_found = r; - --- -1.7.9.2 - diff --git a/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch b/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch deleted file mode 100644 index 30dc17d0..00000000 --- a/0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 15f392394e75ffb7f318920008fd1bbe4e82b488 Mon Sep 17 00:00:00 2001 -From: Scott Thrasher -Date: Wed, 26 Mar 2014 18:48:13 -0700 -Subject: [PATCH] Add hwdb entry for Samsung Series 7 Ultra - ---- - hwdb/60-keyboard.hwdb | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index bd8fd10..832c686 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -924,6 +924,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr* - KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up - KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle - -+# Series 7 Ultra -+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr* -+ KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings -+ KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down -+ KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up -+ KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer -+ KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch -+ - # SQ1US - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr* - KEYBOARD_KEY_d4=menu --- -1.7.9.2 - diff --git a/0002-Be-more-verbose-when-bind-or-listen-fails.patch b/0002-Be-more-verbose-when-bind-or-listen-fails.patch deleted file mode 100644 index 0a8e80e6..00000000 --- a/0002-Be-more-verbose-when-bind-or-listen-fails.patch +++ /dev/null @@ -1,92 +0,0 @@ -Based on 6b9732b2bf0499c5e4ea8a9d4f6051d98033f680 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 3 Mar 2014 19:49:40 -0500 -Subject: [PATCH] Be more verbose when bind or listen fails - -Also be more verbose in devnode_acl_all(). ---- - src/core/manager.c | 2 +- - src/journal/journald-native.c | 2 +- - src/journal/journald-stream.c | 4 ++-- - src/journal/journald-syslog.c | 2 +- - src/login/logind-acl.c | 5 ++++- - src/shared/ask-password-api.c | 2 +- - 6 files changed, 10 insertions(+), 7 deletions(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-07-21 10:57:20.286367050 +0000 -@@ -571,7 +571,7 @@ static int manager_setup_notify(Manager - - r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); - return -errno; - } - ---- src/journal/journald-native.c -+++ src/journal/journald-native.c 2014-07-21 00:00:00.000000000 +0000 -@@ -405,7 +405,7 @@ int server_open_native_socket(Server*s) - - r = bind(s->native_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - return -errno; - } - ---- src/journal/journald-stream.c -+++ src/journal/journald-stream.c 2014-07-21 00:00:00.000000000 +0000 -@@ -447,14 +447,14 @@ int server_open_stdout_socket(Server *s) - - r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - return -errno; - } - - chmod(sa.un.sun_path, 0666); - - if (listen(s->stdout_fd, SOMAXCONN) < 0) { -- log_error("listen() failed: %m"); -+ log_error("listen(%s) failed: %m", sa.un.sun_path); - return -errno; - } - } else ---- src/journal/journald-syslog.c -+++ src/journal/journald-syslog.c 2014-07-21 00:00:00.000000000 +0000 -@@ -437,7 +437,7 @@ int server_open_syslog_socket(Server *s) - - r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path)); - if (r < 0) { -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - return -errno; - } - ---- src/login/logind-acl.c -+++ src/login/logind-acl.c 2014-07-21 10:59:04.986235573 +0000 -@@ -277,7 +277,10 @@ int devnode_acl_all(struct udev *udev, - SET_FOREACH(n, nodes, i) { - int k; - -- log_debug("Fixing up ACLs at %s for seat %s", n, seat); -+ log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"→"UID_FMT"%s%s)", -+ n, seat, old_uid, new_uid, -+ del ? " del" : "", add ? " add" : ""); -+ - k = devnode_acl(n, flush, del, old_uid, add, new_uid); - if (k < 0) - r = k; ---- src/shared/ask-password-api.c -+++ src/shared/ask-password-api.c 2014-07-21 00:00:00.000000000 +0000 -@@ -275,7 +275,7 @@ static int create_socket(char **name) { - - if (r < 0) { - r = -errno; -- log_error("bind() failed: %m"); -+ log_error("bind(%s) failed: %m", sa.un.sun_path); - goto fail; - } - diff --git a/0002-analyze-avoid-a-null-dereference.patch b/0002-analyze-avoid-a-null-dereference.patch deleted file mode 100644 index b7662371..00000000 --- a/0002-analyze-avoid-a-null-dereference.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d725a138c5c311ba06567d6841933aa5b7b6a435 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Thu, 11 Sep 2014 23:41:44 +0200 -Subject: [PATCH] analyze: avoid a null dereference - -If we have an error in the early sd_bus_* calls then unit_times -will still be null. - -Found with coverity. Fixes: CID#996464 ---- - src/analyze/analyze.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index d860a02..1281d6b 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -277,7 +277,8 @@ static int acquire_time_data(sd_bus *bus, struct unit_times **out) { - return c; - - fail: -- free_unit_times(unit_times, (unsigned) c); -+ if (unit_times) -+ free_unit_times(unit_times, (unsigned) c); - return r; - } - --- -1.7.9.2 - diff --git a/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch b/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch deleted file mode 100644 index c18fcb9e..00000000 --- a/0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1f89214e6e990a0b552f6854f87f8514ca384956 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= -Date: Fri, 21 Feb 2014 11:55:24 +0100 -Subject: [PATCH] analyze/run: use bus_open_transport_systemd instead of - bus_open_transport - -Both systemd-analyze and systemd-run only access org.freedesktop.systemd1 -on the bus. This patch allows using systemd-run --user and systemd-analyze ---user even if the user session's bus is not properly integrated with the -systemd user unit. - -https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports... ---- - src/analyze/analyze.c | 2 +- - src/run/run.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index 4c5fcfe..0a4190c 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -1335,7 +1335,7 @@ int main(int argc, char *argv[]) { - if (r <= 0) - goto finish; - -- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); -+ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); - if (r < 0) { - log_error("Failed to create bus connection: %s", strerror(-r)); - goto finish; -diff --git src/run/run.c src/run/run.c -index e4c695c..9d5527b 100644 ---- src/run/run.c -+++ src/run/run.c -@@ -593,7 +593,7 @@ int main(int argc, char* argv[]) { - arg_description = description; - } - -- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus); -+ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); - if (r < 0) { - log_error("Failed to create bus connection: %s", strerror(-r)); - goto finish; --- -1.7.9.2 - diff --git a/0002-architecture-Add-cris.patch b/0002-architecture-Add-cris.patch deleted file mode 100644 index a93d29d9..00000000 --- a/0002-architecture-Add-cris.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 86bafac9540ba9e111ccba2fdf4161fe3a67cd3b Mon Sep 17 00:00:00 2001 -From: Umut Tezduyar Lindskog -Date: Tue, 4 Mar 2014 13:58:35 +0100 -Subject: [PATCH] architecture: Add cris - ---- - src/shared/architecture.c | 3 +++ - src/shared/architecture.h | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index fcdb3d5..9e0c3ef 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -114,6 +114,8 @@ Architecture uname_architecture(void) { - { "m68k", ARCHITECTURE_M68K }, - #elif defined(__tilegx__) - { "tilegx", ARCHITECTURE_TILEGX }, -+#elif defined(__cris__) -+ { "cris", ARCHITECTURE_CRIS }, - #else - #error "Please register your architecture here!" - #endif -@@ -161,6 +163,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { - [ARCHITECTURE_SH64] = "sh64", - [ARCHITECTURE_M68K] = "m68k", - [ARCHITECTURE_TILEGX] = "tilegx", -+ [ARCHITECTURE_CRIS] = "cris", - }; - - DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); -diff --git src/shared/architecture.h src/shared/architecture.h -index e589a91..20e848b 100644 ---- src/shared/architecture.h -+++ src/shared/architecture.h -@@ -48,6 +48,7 @@ typedef enum Architecture { - ARCHITECTURE_SH64, - ARCHITECTURE_M68K, - ARCHITECTURE_TILEGX, -+ ARCHITECTURE_CRIS, - _ARCHITECTURE_MAX, - _ARCHITECTURE_INVALID = -1 - } Architecture; -@@ -110,6 +111,8 @@ Architecture uname_architecture(void); - # define native_architecture() ARCHITECTURE_M68K - #elif defined(__tilegx__) - # define native_architecture() ARCHITECTURE_TILEGX -+#elif defined(__cris__) -+# define native_architecture() ARCHITECTURE_CRIS - #else - #error "Please register your architecture here!" - #endif --- -1.7.9.2 - diff --git a/0002-backlight-do-nothing-if-max_brightness-is-0.patch b/0002-backlight-do-nothing-if-max_brightness-is-0.patch deleted file mode 100644 index 8ca31e28..00000000 --- a/0002-backlight-do-nothing-if-max_brightness-is-0.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 3cadce7d33e263ec7a6a83c00c11144930258b22 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= -Date: Thu, 27 Mar 2014 23:41:59 +0100 -Subject: [PATCH] backlight: do nothing if max_brightness is 0 - -On virtually any newer Asus mainboard, the eeepc-wmi driver is loaded. -It exposes a backlight device despite the lack of any physical backlight -devices. This fake backlight device has max_brightness set to 0. Since -the introduction of the clamp_brightness function, systemd-backlight -tries to write '1' to brightness and fails. - -This patch changes systemd-backlight to exit gracefully when -max_brightness is 0 before performing any action. This affects -both the load and save actions. ---- - src/backlight/backlight.c | 44 ++++++++++++++++++++++++++++++-------------- - 1 file changed, 30 insertions(+), 14 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index abf8bcf..ce0385b 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -192,30 +192,37 @@ static bool validate_device(struct udev *udev, struct udev_device *device) { - return true; - } - --/* Some systems turn the backlight all the way off at the lowest levels. -- * clamp_brightness clamps the saved brightness to at least 1 or 5% of -- * max_brightness. This avoids preserving an unreadably dim screen, which -- * would otherwise force the user to disable state restoration. */ --static void clamp_brightness(struct udev_device *device, char **value) { -+static unsigned get_max_brightness(struct udev_device *device) { - int r; - const char *max_brightness_str; -- unsigned brightness, max_brightness, new_brightness; -+ unsigned max_brightness; - - max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); - if (!max_brightness_str) { -- log_warning("Failed to read max_brightness attribute; not checking saved brightness"); -- return; -+ log_warning("Failed to read max_brightness attribute"); -+ return 0; - } - -- r = safe_atou(*value, &brightness); -+ r = safe_atou(max_brightness_str, &max_brightness); - if (r < 0) { -- log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); -- return; -+ log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ return 0; - } - -- r = safe_atou(max_brightness_str, &max_brightness); -+ return max_brightness; -+} -+ -+/* Some systems turn the backlight all the way off at the lowest levels. -+ * clamp_brightness clamps the saved brightness to at least 1 or 5% of -+ * max_brightness. This avoids preserving an unreadably dim screen, which -+ * would otherwise force the user to disable state restoration. */ -+static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { -+ int r; -+ unsigned brightness, new_brightness; -+ -+ r = safe_atou(*value, &brightness); - if (r < 0) { -- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ log_warning("Failed to parse brightness \"%s\": %s", *value, strerror(-r)); - return; - } - -@@ -239,6 +246,7 @@ int main(int argc, char *argv[]) { - _cleanup_udev_device_unref_ struct udev_device *device = NULL; - _cleanup_free_ char *saved = NULL, *ss = NULL, *escaped_ss = NULL, *escaped_sysname = NULL, *escaped_path_id = NULL; - const char *sysname, *path_id; -+ unsigned max_brightness; - int r; - - if (argc != 3) { -@@ -294,6 +302,14 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -+ /* If max_brightness is 0, then there is no actual backlight -+ * device. This happens on desktops with Asus mainboards -+ * that load the eeepc-wmi module. -+ */ -+ max_brightness = get_max_brightness(device); -+ if (max_brightness == 0) -+ return EXIT_SUCCESS; -+ - escaped_ss = cescape(ss); - if (!escaped_ss) { - log_oom(); -@@ -348,7 +364,7 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- clamp_brightness(device, &value); -+ clamp_brightness(device, &value, max_brightness); - - r = udev_device_set_sysattr_value(device, "brightness", value); - if (r < 0) { --- -1.7.9.2 - diff --git a/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch b/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch deleted file mode 100644 index 8c1b12e2..00000000 --- a/0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1c92ff85b786c423f4436ec26007e79369c9ac05 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 26 Sep 2014 22:01:32 +0200 -Subject: [PATCH] bootchart: use 'n/a' if PRETTY_NAME is not found - -Spotted with coverity. If parsing both /etc/os-release and -/usr/lib/os-release fails then null would be passed on. The calls -to parse the two files are allowed to fail. A empty /etc may not -have had the /etc/os-release symlink restored yet and we just -try again in the loop. If for whatever reason that does not happen -then we now pass on 'n/a' instead of null. ---- - src/bootchart/bootchart.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c -index 366a5ab..813e38d 100644 ---- src/bootchart/bootchart.c -+++ src/bootchart/bootchart.c -@@ -471,7 +471,7 @@ int main(int argc, char *argv[]) { - exit (EXIT_FAILURE); - } - -- svg_do(build); -+ svg_do(strna(build)); - - fprintf(stderr, "systemd-bootchart wrote %s\n", output_file); - --- -1.7.9.2 - diff --git a/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch b/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch deleted file mode 100644 index 718f6862..00000000 --- a/0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 82923adfe5c4fa09cc91fd2a2e374c936cd4a186 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 13 Mar 2014 20:00:50 +0100 -Subject: [PATCH] bus: fix memory leak when kdbus is not enabled - ---- - src/libsystemd/sd-bus/sd-bus.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index ffa3369..ca7c428 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -1189,7 +1189,8 @@ _public_ int sd_bus_open_user(sd_bus **ret) { - #ifdef ENABLE_KDBUS - asprintf(&b->address, KERNEL_USER_BUS_FMT, (unsigned long) getuid()); - #else -- return -ECONNREFUSED; -+ r = -ECONNREFUSED; -+ goto fail; - #endif - } - --- -1.7.9.2 - diff --git a/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch b/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch deleted file mode 100644 index 3961c020..00000000 --- a/0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b27adf354a83ad25f4a209c0a6f7989ecab7b4e2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 13:31:25 +0200 -Subject: [PATCH] bus: make use of sd_bus_try_close() in exit-on-idle services - ---- - src/libsystemd/sd-bus/bus-util.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c -index 6bd21cc..6441c5b 100644 ---- src/libsystemd/sd-bus/bus-util.c -+++ src/libsystemd/sd-bus/bus-util.c -@@ -43,7 +43,9 @@ static int name_owner_change_callback(sd_bus *bus, sd_bus_message *m, void *user - assert(m); - assert(e); - -+ sd_bus_close(bus); - sd_event_exit(e, 0); -+ - return 1; - } - -@@ -121,11 +123,30 @@ int bus_event_loop_with_idle( - return r; - - if (r == 0 && !exiting) { -- r = bus_async_unregister_and_exit(e, bus, name); -+ -+ r = sd_bus_try_close(bus); -+ if (r == -EBUSY) -+ continue; -+ -+ if (r == -ENOTSUP) { -+ /* Fallback for dbus1 connections: we -+ * unregister the name and wait for -+ * the response to come through for -+ * it */ -+ -+ r = bus_async_unregister_and_exit(e, bus, name); -+ if (r < 0) -+ return r; -+ -+ exiting = true; -+ continue; -+ } -+ - if (r < 0) - return r; - -- exiting = true; -+ sd_event_exit(e, 0); -+ break; - } - } - --- -1.7.9.2 - diff --git a/0002-bus-remove-unused-check.patch b/0002-bus-remove-unused-check.patch deleted file mode 100644 index 32c35276..00000000 --- a/0002-bus-remove-unused-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 04c553e322680b6fcdf5b271e84b0b4b0ad8d5f9 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Tue, 23 Sep 2014 21:34:21 +0200 -Subject: [PATCH] bus: remove unused check - -strerror_r does not return null here and even if it did we would have -problems already at the preceding strlen call. - -Found by coverity. Fixes: CID#1237770 ---- - src/libsystemd/sd-bus/bus-error.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c -index c2e41fb..abdfd73 100644 ---- src/libsystemd/sd-bus/bus-error.c -+++ src/libsystemd/sd-bus/bus-error.c -@@ -312,7 +312,7 @@ static void bus_error_strerror(sd_bus_error *e, int error) { - continue; - } - -- if (!x || errno) { -+ if (errno) { - free(m); - return; - } --- -1.7.9.2 - diff --git a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch deleted file mode 100644 index ec455770..00000000 --- a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cdd7b7dfd44649b204c43e907f03d4294de4f28a Mon Sep 17 00:00:00 2001 -From: Hristo Venev -Date: Mon, 23 Jun 2014 18:53:04 +0200 -Subject: [PATCH] core: make sure Environment fields passed in for transient - units are properly written to unit files - -https://bugs.freedesktop.org/show_bug.cgi?id=76744 ---- - src/core/dbus-execute.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/dbus-execute.c src/core/dbus-execute.c -index cb9a077..ecbadd7 100644 ---- src/core/dbus-execute.c -+++ src/core/dbus-execute.c -@@ -848,7 +848,7 @@ int bus_exec_context_set_transient_property( - strv_free(c->environment); - c->environment = e; - -- joined = strv_join(c->environment, " "); -+ joined = strv_join_quoted(c->environment); - if (!joined) - return -ENOMEM; - --- -1.7.9.2 - diff --git a/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch b/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch deleted file mode 100644 index 61888e5f..00000000 --- a/0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 375ae4aa4d2f89ae8afdd27e9f2b8336fcc2a046 Mon Sep 17 00:00:00 2001 -From: Uoti Urpala -Date: Mon, 23 Jun 2014 16:50:03 +0300 -Subject: [PATCH] core/transaction: fix cycle break attempts outside - transaction - -Patch fixes some incorrect-looking code in transaction.c. -It could fix cases where Debian users with bad package configurations -had systemd go into an infinite loop printing messages about breaking an -ordering cycle, though I have not reproduced that problem myself. - -transaction_verify_order_one() considers jobs/units outside current -transaction when checking whether ordering dependencies cause cycles. -It would also incorrectly try to break cycles at these jobs; this -cannot work, as the break action is to remove the job from the -transaction, which is a no-op if the job isn't part of the transaction -to begin with. The unit_matters_to_anchor() test also looks like it -would not work correctly for non-transaction jobs. Add a check to -verify that the unit is part of the transaction before considering a -job a candidate for deletion. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752259 ---- - src/core/transaction.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/transaction.c src/core/transaction.c -index d23a45c..805d40a 100644 ---- src/core/transaction.c -+++ src/core/transaction.c -@@ -381,7 +381,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi - "Found dependency on %s/%s", - k->unit->id, job_type_to_string(k->type)); - -- if (!delete && -+ if (!delete && hashmap_get(tr->jobs, k->unit) && - !unit_matters_to_anchor(k->unit, k)) { - /* Ok, we can drop this one, so let's - * do so. */ --- -1.7.9.2 - diff --git a/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch b/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch deleted file mode 100644 index 3a136da5..00000000 --- a/0002-core-watchdog-bus-properties-cannot-be-both-writable.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 4c3f1641f13b7687a0dc234d3ae387b7c40494ff Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 19 Nov 2014 20:52:23 +0100 -Subject: [PATCH] core: watchdog bus properties cannot be both writable and - constant - ---- - src/core/dbus-manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c 2014-11-20 13:43:06.781518488 +0000 -@@ -1599,8 +1599,8 @@ const sd_bus_vtable bus_manager_vtable[] - SD_BUS_PROPERTY("UnitPath", "as", NULL, offsetof(Manager, lookup_paths.unit_path), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("DefaultStandardOutput", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("DefaultStandardError", "s", bus_property_get_exec_output, offsetof(Manager, default_std_output), SD_BUS_VTABLE_PROPERTY_CONST), -- SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), -- SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), SD_BUS_VTABLE_PROPERTY_CONST), -+ SD_BUS_WRITABLE_PROPERTY("RuntimeWatchdogUSec", "t", bus_property_get_usec, property_set_runtime_watchdog, offsetof(Manager, runtime_watchdog), 0), -+ SD_BUS_WRITABLE_PROPERTY("ShutdownWatchdogUSec", "t", bus_property_get_usec, bus_property_set_usec, offsetof(Manager, shutdown_watchdog), 0), - SD_BUS_PROPERTY("ControlGroup", "s", NULL, offsetof(Manager, cgroup_root), 0), - - SD_BUS_METHOD("GetUnit", "s", "o", method_get_unit, SD_BUS_VTABLE_UNPRIVILEGED), diff --git a/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch b/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch deleted file mode 100644 index 67454ead..00000000 --- a/0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 98b47d54ce946ad3524f84eb38d2413498a333dc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 17:11:39 +0100 -Subject: [PATCH] execute: free directory path if we fail to remove it because - we cannot allocate a thread - ---- - src/core/execute.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git src/core/execute.c src/core/execute.c -index 9de6e87..3312885 100644 ---- src/core/execute.c -+++ src/core/execute.c -@@ -2713,6 +2713,8 @@ static void *remove_tmpdir_thread(void *p) { - } - - void exec_runtime_destroy(ExecRuntime *rt) { -+ int r; -+ - if (!rt) - return; - -@@ -2722,13 +2724,25 @@ void exec_runtime_destroy(ExecRuntime *rt) { - - if (rt->tmp_dir) { - log_debug("Spawning thread to nuke %s", rt->tmp_dir); -- asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); -+ -+ r = asynchronous_job(remove_tmpdir_thread, rt->tmp_dir); -+ if (r < 0) { -+ log_warning("Failed to nuke %s: %s", rt->tmp_dir, strerror(-r)); -+ free(rt->tmp_dir); -+ } -+ - rt->tmp_dir = NULL; - } - - if (rt->var_tmp_dir) { - log_debug("Spawning thread to nuke %s", rt->var_tmp_dir); -- asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); -+ -+ r = asynchronous_job(remove_tmpdir_thread, rt->var_tmp_dir); -+ if (r < 0) { -+ log_warning("Failed to nuke %s: %s", rt->var_tmp_dir, strerror(-r)); -+ free(rt->var_tmp_dir); -+ } -+ - rt->var_tmp_dir = NULL; - } - --- -1.7.9.2 - diff --git a/0002-fsck-include-device-name-in-the-message-about-missin.patch b/0002-fsck-include-device-name-in-the-message-about-missin.patch deleted file mode 100644 index 7ec3506f..00000000 --- a/0002-fsck-include-device-name-in-the-message-about-missin.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 8d2a6145334257c8a9ceabc9dd52dff06cca818e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 26 May 2014 23:03:11 -0400 -Subject: [PATCH] fsck: include device name in the message about missing fsck - ---- - src/fsck/fsck.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-03 14:15:15.746235301 +0000 -@@ -284,10 +284,12 @@ int main(int argc, char *argv[]) { - r = access(checker, X_OK); - if (r < 0) { - if (errno == ENOENT) { -- log_info("%s doesn't exist, not checking file system.", checker); -+ log_info("%s doesn't exist, not checking file system on %s", -+ checker, device); - return EXIT_SUCCESS; - } else -- log_warning("%s cannot be used: %m", checker); -+ log_warning("%s cannot be used for %s: %m", -+ checker, device); - } - } - diff --git a/0002-hostnamed-add-a-new-chassis-type-for-watches.patch b/0002-hostnamed-add-a-new-chassis-type-for-watches.patch deleted file mode 100644 index a20c11c6..00000000 --- a/0002-hostnamed-add-a-new-chassis-type-for-watches.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c49e59c1831f20fe02276d7bc6ba7d23d24c4ab3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 9 Jul 2014 13:20:05 +0200 -Subject: [PATCH] hostnamed: add a new chassis type for watches - ---- - src/hostname/hostnamed.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 514554d..eaae113 100644 ---- src/hostname/hostnamed.c -+++ src/hostname/hostnamed.c -@@ -144,7 +144,8 @@ static bool valid_chassis(const char *chassis) { - "laptop\0" - "server\0" - "tablet\0" -- "handset\0", -+ "handset\0" -+ "watch\0", - chassis); - } - --- -1.7.9.2 - diff --git a/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch b/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch deleted file mode 100644 index 8304b2d4..00000000 --- a/0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fc1ae82cae69d8dbbd9e7a31938810a486fac782 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 22 Oct 2014 14:09:21 +0200 -Subject: [PATCH] hwdb: Add mapping for special keys on compaq ku 0133 - keyboards - -The compaq ku 0133 keyboard has 8 special keys at the top: -http://lackof.org/taggart/hacking/keyboard/cpqwireless.jpg - -3 of these use standard HID usage codes from the consumer page, the 5 -others use part of the reserved 0x07 - 0x1f range. - -This commit adds mapping for this keyboard for these reserved codes, making -the other 5 keys work. - -Cc: Hans de Goede -Signed-off-by: Hans de Goede ---- - hwdb/60-keyboard.hwdb | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 59f467b..06caba9 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -181,6 +181,13 @@ keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr* - KEYBOARD_KEY_9e=email - KEYBOARD_KEY_9f=homepage - -+keyboard:usb:v049Fp0051d*dc*dsc*dp*ic*isc*ip*in01* -+ KEYBOARD_KEY_0c0011=presentation -+ KEYBOARD_KEY_0c0012=addressbook -+ KEYBOARD_KEY_0c0013=info -+ KEYBOARD_KEY_0c0014=prog1 -+ KEYBOARD_KEY_0c0015=messenger -+ - ########################################################### - # Dell - ########################################################### --- -1.7.9.2 - diff --git a/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index a386c649..00000000 --- a/0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f401e2b24ba17452f9655993a6dedefdffe06d23 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Tue, 11 Mar 2014 09:33:31 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 0335a71..7d86f10 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -911,3 +911,15 @@ bluetooth:v012C* - - bluetooth:v012D* - ID_VENDOR_FROM_DATABASE=Sony Corporation -+ -+bluetooth:v012E* -+ ID_VENDOR_FROM_DATABASE=ASSA ABLOY -+ -+bluetooth:v012F* -+ ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd. -+ -+bluetooth:v0130* -+ ID_VENDOR_FROM_DATABASE=Warehouse Innovations -+ -+bluetooth:v0131* -+ ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation --- -1.7.9.2 - diff --git a/0002-hwdb-update.patch b/0002-hwdb-update.patch deleted file mode 100644 index 1d3abc28..00000000 --- a/0002-hwdb-update.patch +++ /dev/null @@ -1,2058 +0,0 @@ -From dbe633cc027e31a0d4fb488a3c68b7762ef0e7b3 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 13 Apr 2014 23:46:27 -0700 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 275 +++++++++++++++++++++- - hwdb/20-pci-vendor-model.hwdb | 522 ++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 751 insertions(+), 46 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 209b89e..17794ed 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -6929,7 +6929,7 @@ OUI:0050C2912* - ID_OUI_FROM_DATABASE=ASSET InterTech, Inc. - - OUI:0050C2913* -- ID_OUI_FROM_DATABASE=Selex Sensors & Airborne Systems -+ ID_OUI_FROM_DATABASE=Selex Ex Ltd - - OUI:0050C2914* - ID_OUI_FROM_DATABASE=IO-Connect -@@ -15944,7 +15944,7 @@ OUI:000300* - ID_OUI_FROM_DATABASE=Barracuda Networks, Inc. - - OUI:000301* -- ID_OUI_FROM_DATABASE=Avantas Networks Corporation -+ ID_OUI_FROM_DATABASE=EXFO - - OUI:000302* - ID_OUI_FROM_DATABASE=Charles Industries, Ltd. -@@ -24575,7 +24575,7 @@ OUI:000E65* - ID_OUI_FROM_DATABASE=TransCore - - OUI:000E66* -- ID_OUI_FROM_DATABASE=Hitachi Advanced Digital, Inc. -+ ID_OUI_FROM_DATABASE=Hitachi Industry & Control Solutions, Ltd. - - OUI:000E67* - ID_OUI_FROM_DATABASE=Eltis Microelectronics Ltd. -@@ -24947,7 +24947,7 @@ OUI:000EE1* - ID_OUI_FROM_DATABASE=ExtremeSpeed Inc. - - OUI:000EE2* -- ID_OUI_FROM_DATABASE=Custom Engineering S.p.A. -+ ID_OUI_FROM_DATABASE=Custom Engineering - - OUI:000EE3* - ID_OUI_FROM_DATABASE=Chiyu Technology Co.,Ltd -@@ -51760,6 +51760,9 @@ OUI:045A95* - OUI:045C06* - ID_OUI_FROM_DATABASE=Zmodo Technology Corporation - -+OUI:045C8E* -+ ID_OUI_FROM_DATABASE=gosund GROUP CO.,LTD -+ - OUI:045D56* - ID_OUI_FROM_DATABASE=camtron industrial inc. - -@@ -51865,6 +51868,9 @@ OUI:04C5A4* - OUI:04C880* - ID_OUI_FROM_DATABASE=Samtec Inc - -+OUI:04C991* -+ ID_OUI_FROM_DATABASE=Phistek INC. -+ - OUI:04CB1D* - ID_OUI_FROM_DATABASE=Traka plc - -@@ -52633,6 +52639,9 @@ OUI:08CA45* - OUI:08CC68* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:08CD9B* -+ ID_OUI_FROM_DATABASE=samtec automotive electronics & software GmbH -+ - OUI:08D09F* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -52684,6 +52693,9 @@ OUI:08F2F4* - OUI:08F6F8* - ID_OUI_FROM_DATABASE=GET Engineering - -+OUI:08F728* -+ ID_OUI_FROM_DATABASE=GLOBO Multimedia Sp. z o.o. Sp.k. -+ - OUI:08FAE0* - ID_OUI_FROM_DATABASE=Fohhn Audio AG - -@@ -52750,6 +52762,9 @@ OUI:0C3021* - OUI:0C37DC* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:0C383E* -+ ID_OUI_FROM_DATABASE=Fanvil Technology Co., Ltd. -+ - OUI:0C3956* - ID_OUI_FROM_DATABASE=Observator instruments - -@@ -53104,6 +53119,9 @@ OUI:102D96* - OUI:102EAF* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:103047* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:103378* - ID_OUI_FROM_DATABASE=FLECTRON Co., LTD - -@@ -53215,6 +53233,9 @@ OUI:1088CE* - OUI:108CCF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:109266* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:1093E9* - ID_OUI_FROM_DATABASE=Apple - -@@ -53260,6 +53281,9 @@ OUI:10BF48* - OUI:10C2BA* - ID_OUI_FROM_DATABASE=UTT Co., Ltd. - -+OUI:10C37B* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:10C586* - ID_OUI_FROM_DATABASE=BIO SOUND LAB CO., LTD. - -@@ -53365,6 +53389,9 @@ OUI:141BBD* - OUI:141BF0* - ID_OUI_FROM_DATABASE=Intellimedia Systems Ltd - -+OUI:141FBA* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:1423D7* - ID_OUI_FROM_DATABASE=EUTRONIX CO., LTD. - -@@ -53518,6 +53545,9 @@ OUI:14B968* - OUI:14C089* - ID_OUI_FROM_DATABASE=DUNE HD LTD - -+OUI:14C126* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:14C21D* - ID_OUI_FROM_DATABASE=Sabtech Industries - -@@ -53572,6 +53602,9 @@ OUI:14F28E* - OUI:14F42A* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:14F65A* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:14FEAF* - ID_OUI_FROM_DATABASE=SAGITTAR LIMITED - -@@ -53659,6 +53692,9 @@ OUI:182B05* - OUI:182C91* - ID_OUI_FROM_DATABASE=Concept Development, Inc. - -+OUI:183009* -+ ID_OUI_FROM_DATABASE=Woojin Industrial Systems Co., Ltd. -+ - OUI:1832A2* - ID_OUI_FROM_DATABASE=LAON TECHNOLOGY CO., LTD. - -@@ -53698,6 +53734,9 @@ OUI:184617* - OUI:1848D8* - ID_OUI_FROM_DATABASE=Fastback Networks - -+OUI:184A6F* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd -+ - OUI:184E94* - ID_OUI_FROM_DATABASE=MESSOA TECHNOLOGIES INC. - -@@ -53758,6 +53797,9 @@ OUI:1880F5* - OUI:188331* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:1883BF* -+ ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation -+ - OUI:188410* - ID_OUI_FROM_DATABASE=CoreTrust Inc. - -@@ -54322,6 +54364,9 @@ OUI:206A8A* - OUI:206AFF* - ID_OUI_FROM_DATABASE=Atlas Elektronik UK Limited - -+OUI:206E9C* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:206FEC* - ID_OUI_FROM_DATABASE=Braemac CA LLC - -@@ -54838,6 +54883,9 @@ OUI:284C53* - OUI:284D92* - ID_OUI_FROM_DATABASE=Luminator - -+OUI:284ED7* -+ ID_OUI_FROM_DATABASE=OutSmart Power Systems, Inc. -+ - OUI:284FCE* - ID_OUI_FROM_DATABASE=Liaoning Wontel Science and Technology Development Co.,Ltd. - -@@ -54976,6 +55024,9 @@ OUI:28C68E* - OUI:28C718* - ID_OUI_FROM_DATABASE=Altierre - -+OUI:28C7CE* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:28C825* - ID_OUI_FROM_DATABASE=DellKing Industrial Co., Ltd - -@@ -55069,6 +55120,9 @@ OUI:28FBD3* - OUI:28FC51* - ID_OUI_FROM_DATABASE=The Electric Controller and Manufacturing Co., LLC - -+OUI:28FCF6* -+ ID_OUI_FROM_DATABASE=Shenzhen Xin KingBrand enterprises Co.,Ltd -+ - OUI:2C002C* - ID_OUI_FROM_DATABASE=UNOWHY - -@@ -55291,6 +55345,9 @@ OUI:2CB693* - OUI:2CB69D* - ID_OUI_FROM_DATABASE=RED Digital Cinema - -+OUI:2CBE08* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:2CBE97* - ID_OUI_FROM_DATABASE=Ingenieurbuero Bickele und Buehler GmbH - -@@ -55354,6 +55411,9 @@ OUI:30055C* - OUI:300B9C* - ID_OUI_FROM_DATABASE=Delta Mobile Systems, Inc. - -+OUI:300D2A* -+ ID_OUI_FROM_DATABASE=Zhejiang Wellcom Technology Co.,Ltd. -+ - OUI:300ED5* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd - -@@ -55450,6 +55510,9 @@ OUI:3055ED* - OUI:3057AC* - ID_OUI_FROM_DATABASE=IRLAB LTD. - -+OUI:30595B* -+ ID_OUI_FROM_DATABASE=streamnow AG -+ - OUI:3059B7* - ID_OUI_FROM_DATABASE=Microsoft - -@@ -55543,6 +55606,9 @@ OUI:30B3A2* - OUI:30B5C2* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:30B5F1* -+ ID_OUI_FROM_DATABASE=Aitexin Technology Co., Ltd -+ - OUI:30C750* - ID_OUI_FROM_DATABASE=MIC Technology Group - -@@ -55606,6 +55672,9 @@ OUI:30F9ED* - OUI:30FD11* - ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. - -+OUI:340286* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:3407FB* - ID_OUI_FROM_DATABASE=Ericsson AB - -@@ -55654,6 +55723,9 @@ OUI:342F6E* - OUI:343111* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:3431C4* -+ ID_OUI_FROM_DATABASE=AVM GmbH -+ - OUI:3440B5* - ID_OUI_FROM_DATABASE=IBM - -@@ -55840,6 +55912,9 @@ OUI:34C059* - OUI:34C3AC* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:34C5D0* -+ ID_OUI_FROM_DATABASE=Hagleitner Hygiene International GmbH -+ - OUI:34C69A* - ID_OUI_FROM_DATABASE=Enecsys Ltd - -@@ -55963,6 +56038,9 @@ OUI:3826CD* - OUI:3828EA* - ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD - -+OUI:382DD1* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:3831AC* - ID_OUI_FROM_DATABASE=WEG - -@@ -56371,6 +56449,9 @@ OUI:3C99F7* - OUI:3C9F81* - ID_OUI_FROM_DATABASE=Shenzhen CATIC Bit Communications Technology Co.,Ltd - -+OUI:3CA10D* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:3CA315* - ID_OUI_FROM_DATABASE=Bless Information & Communications Co., Ltd - -@@ -56380,6 +56461,9 @@ OUI:3CA72B* - OUI:3CA9F4* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:3CAA3F* -+ ID_OUI_FROM_DATABASE=iKey, Ltd. -+ - OUI:3CAB8E* - ID_OUI_FROM_DATABASE=Apple - -@@ -56413,6 +56497,9 @@ OUI:3CC99E* - OUI:3CCA87* - ID_OUI_FROM_DATABASE=Iders Incorporated - -+OUI:3CCD5A* -+ ID_OUI_FROM_DATABASE=Technische Alternative GmbH -+ - OUI:3CCD93* - ID_OUI_FROM_DATABASE=LG ELECTRONICS INC - -@@ -57109,6 +57196,9 @@ OUI:481A84* - OUI:481BD2* - ID_OUI_FROM_DATABASE=Intron Scientific co., ltd. - -+OUI:4826E8* -+ ID_OUI_FROM_DATABASE=Tek-Air Systems, Inc. -+ - OUI:48282F* - ID_OUI_FROM_DATABASE=ZTE Corporation - -@@ -57260,7 +57350,7 @@ OUI:48D7FF* - ID_OUI_FROM_DATABASE=BLANKOM Antennentechnik GmbH - - OUI:48D855* -- ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY -+ ID_OUI_FROM_DATABASE=Telvent - - OUI:48D8FE* - ID_OUI_FROM_DATABASE=ClarIDy Solutions, Inc. -@@ -57748,6 +57838,9 @@ OUI:507E5D* - OUI:508569* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD - -+OUI:508789* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:5087B8* - ID_OUI_FROM_DATABASE=Nuvyyo Inc - -@@ -57880,6 +57973,9 @@ OUI:50FC30* - OUI:50FC9F* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:50FEF2* -+ ID_OUI_FROM_DATABASE=Sify Technologies Ltd -+ - OUI:5403F5* - ID_OUI_FROM_DATABASE=EBN Technology Corp. - -@@ -58072,6 +58168,9 @@ OUI:54AE27* - OUI:54B620* - ID_OUI_FROM_DATABASE=SUHDOL E&C Co.Ltd. - -+OUI:54B753* -+ ID_OUI_FROM_DATABASE=Hunan Fenghui Yinjia Science And Technology Co.,Ltd -+ - OUI:54BEF7* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -@@ -58132,6 +58231,9 @@ OUI:54F5B6* - OUI:54F666* - ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG - -+OUI:54FA3E* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD -+ - OUI:54FB58* - ID_OUI_FROM_DATABASE=WISEWARE, Lda - -@@ -58462,6 +58564,9 @@ OUI:5C260A* - OUI:5C2AEF* - ID_OUI_FROM_DATABASE=Open Access Pty Ltd - -+OUI:5C2E59* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:5C313E* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -58519,6 +58624,9 @@ OUI:5C57C8* - OUI:5C5948* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C5BC2* -+ ID_OUI_FROM_DATABASE=YIK Corporation -+ - OUI:5C5EAB* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -58558,6 +58666,9 @@ OUI:5C8778* - OUI:5C89D4* - ID_OUI_FROM_DATABASE=Beijing Banner Electric Co.,Ltd - -+OUI:5C8D4E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:5C95AE* - ID_OUI_FROM_DATABASE=Apple - -@@ -58819,6 +58930,9 @@ OUI:607688* - OUI:60812B* - ID_OUI_FROM_DATABASE=Custom Control Concepts - -+OUI:6081F9* -+ ID_OUI_FROM_DATABASE=Helium Systems, Inc -+ - OUI:6083B2* - ID_OUI_FROM_DATABASE=GkWare e.K. - -@@ -58867,6 +58981,9 @@ OUI:60A10A* - OUI:60A44C* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -+OUI:60A8FE* -+ ID_OUI_FROM_DATABASE=Nokia Solutions and Networks -+ - OUI:60A9B0* - ID_OUI_FROM_DATABASE=Merchandising Technologies, Inc - -@@ -58918,6 +59035,9 @@ OUI:60C980* - OUI:60CBFB* - ID_OUI_FROM_DATABASE=AirScape Inc. - -+OUI:60CDA9* -+ ID_OUI_FROM_DATABASE=Abloomy -+ - OUI:60CDC5* - ID_OUI_FROM_DATABASE=Taiwan Carol Electronics., Ltd - -@@ -59092,6 +59212,9 @@ OUI:644D70* - OUI:644F74* - ID_OUI_FROM_DATABASE=LENUS Co., Ltd. - -+OUI:644FB0* -+ ID_OUI_FROM_DATABASE=Hyunjin.com -+ - OUI:64517E* - ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. - -@@ -59146,6 +59269,9 @@ OUI:64680C* - OUI:6469BC* - ID_OUI_FROM_DATABASE=Hytera Communications Co .,ltd - -+OUI:646CB2* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:646E6C* - ID_OUI_FROM_DATABASE=Radio Datacom LLC - -@@ -59305,6 +59431,9 @@ OUI:64D814* - OUI:64D912* - ID_OUI_FROM_DATABASE=Solidica, Inc. - -+OUI:64D954* -+ ID_OUI_FROM_DATABASE=TAICANG AND W ELECTRONICS CO LTD -+ - OUI:64D989* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -59368,6 +59497,9 @@ OUI:64F987* - OUI:64FC8C* - ID_OUI_FROM_DATABASE=Zonar Systems - -+OUI:680571* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:6805CA* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -59701,6 +59833,9 @@ OUI:6C2E33* - OUI:6C2E85* - ID_OUI_FROM_DATABASE=SAGEMCOM - -+OUI:6C2F2C* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:6C32DE* - ID_OUI_FROM_DATABASE=Indieon Technologies Pvt. Ltd. - -@@ -59860,6 +59995,9 @@ OUI:6CADF8* - OUI:6CAE8B* - ID_OUI_FROM_DATABASE=IBM Corporation - -+OUI:6CB0CE* -+ ID_OUI_FROM_DATABASE=NETGEAR -+ - OUI:6CB311* - ID_OUI_FROM_DATABASE=Shenzhen Lianrui Electronics Co.,Ltd - -@@ -59875,6 +60013,9 @@ OUI:6CBEE9* - OUI:6CC1D2* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:6CC217* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:6CC26B* - ID_OUI_FROM_DATABASE=Apple - -@@ -59929,6 +60070,9 @@ OUI:6CF97C* - OUI:6CFA58* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:6CFA89* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:6CFAA7* - ID_OUI_FROM_DATABASE=AMPAK Technology Inc. - -@@ -60097,6 +60241,9 @@ OUI:7071B3* - OUI:7071BC* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -+OUI:70720D* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:70723C* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -60502,6 +60649,9 @@ OUI:74D850* - OUI:74DA38* - ID_OUI_FROM_DATABASE=Edimax Technology Co. Ltd. - -+OUI:74DBD1* -+ ID_OUI_FROM_DATABASE=Ebay Inc -+ - OUI:74DE2B* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -60733,6 +60883,9 @@ OUI:78923E* - OUI:78929C* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:789684* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:7898FD* - ID_OUI_FROM_DATABASE=Q9 Networks Inc. - -@@ -60922,6 +61075,9 @@ OUI:78F7BE* - OUI:78F7D0* - ID_OUI_FROM_DATABASE=Silverbrook Research - -+OUI:78FD94* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:78FE3D* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -61060,6 +61216,9 @@ OUI:7C69F6* - OUI:7C6AB3* - ID_OUI_FROM_DATABASE=IBC TECHNOLOGIES INC. - -+OUI:7C6AC3* -+ ID_OUI_FROM_DATABASE=GatesAir, Inc -+ - OUI:7C6ADB* - ID_OUI_FROM_DATABASE=SafeTone Technology Co.,Ltd - -@@ -61087,6 +61246,9 @@ OUI:7C6F06* - OUI:7C6FF8* - ID_OUI_FROM_DATABASE=ShenZhen ACTO Digital Video Technology Co.,Ltd. - -+OUI:7C70BC* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:7C72E4* - ID_OUI_FROM_DATABASE=Unikey Technologies - -@@ -61174,6 +61336,9 @@ OUI:7CBFB1* - OUI:7CC3A1* - ID_OUI_FROM_DATABASE=Apple - -+OUI:7CC4EF* -+ ID_OUI_FROM_DATABASE=Devialet -+ - OUI:7CC537* - ID_OUI_FROM_DATABASE=Apple - -@@ -61231,6 +61396,9 @@ OUI:7CE044* - OUI:7CE1FF* - ID_OUI_FROM_DATABASE=Computer Performance, Inc. DBA Digital Loggers, Inc. - -+OUI:7CE524* -+ ID_OUI_FROM_DATABASE=Quirky, Inc. -+ - OUI:7CE56B* - ID_OUI_FROM_DATABASE=ESEN Optoelectronics Technology Co.,Ltd. - -@@ -61477,6 +61645,9 @@ OUI:80A1D7* - OUI:80AAA4* - ID_OUI_FROM_DATABASE=USAG - -+OUI:80AD67* -+ ID_OUI_FROM_DATABASE=Kasda Digital Technology Co.,Ltd -+ - OUI:80B219* - ID_OUI_FROM_DATABASE=ELEKTRON TECHNOLOGY UK LIMITED - -@@ -61564,6 +61735,9 @@ OUI:80FFA8* - OUI:8400D2* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:8401A7* -+ ID_OUI_FROM_DATABASE=Greyware Automation Products, Inc -+ - OUI:840B2D* - ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS CO., LTD - -@@ -61576,6 +61750,9 @@ OUI:841715* - OUI:841766* - ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd - -+OUI:84183A* -+ ID_OUI_FROM_DATABASE=Ruckus Wireless -+ - OUI:841888* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -61723,6 +61900,9 @@ OUI:848433* - OUI:848506* - ID_OUI_FROM_DATABASE=Apple - -+OUI:84850A* -+ ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH -+ - OUI:848D84* - ID_OUI_FROM_DATABASE=Rajant Corporation - -@@ -61885,6 +62065,9 @@ OUI:8823FE* - OUI:88252C* - ID_OUI_FROM_DATABASE=Arcadyan Technology Corporation - -+OUI:882950* -+ ID_OUI_FROM_DATABASE=Dalian Netmoon Tech Develop Co.,Ltd -+ - OUI:882E5A* - ID_OUI_FROM_DATABASE=storONE - -@@ -61948,6 +62131,9 @@ OUI:885C47* - OUI:88615A* - ID_OUI_FROM_DATABASE=Siano Mobile Silicon Ltd. - -+OUI:8863DF* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:88685C* - ID_OUI_FROM_DATABASE=Shenzhen ChuangDao & Perpetual Eternal Technology Co.,Ltd - -@@ -62098,6 +62284,9 @@ OUI:88E917* - OUI:88ED1C* - ID_OUI_FROM_DATABASE=Cudo Communication Co., Ltd. - -+OUI:88F031* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:88F077* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -62326,6 +62515,9 @@ OUI:8CB864* - OUI:8CBEBE* - ID_OUI_FROM_DATABASE=Xiaomi Technology Co.,Ltd - -+OUI:8CBF9D* -+ ID_OUI_FROM_DATABASE=Shanghai Xinyou Information Technology Ltd. Co. -+ - OUI:8CC121* - ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company - -@@ -62662,6 +62854,9 @@ OUI:90B97D* - OUI:90C115* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:90C792* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:90CC24* - ID_OUI_FROM_DATABASE=Synaptics, Inc - -@@ -63259,6 +63454,9 @@ OUI:98EC65* - OUI:98F0AB* - ID_OUI_FROM_DATABASE=Apple - -+OUI:98F170* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:98F537* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -63496,6 +63694,9 @@ OUI:9CA577* - OUI:9CA9E4* - ID_OUI_FROM_DATABASE=zte corporation - -+OUI:9CAD97* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:9CADEF* - ID_OUI_FROM_DATABASE=Obihai Technology, Inc. - -@@ -64456,6 +64657,9 @@ OUI:A8E018* - OUI:A8E3EE* - ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. - -+OUI:A8E539* -+ ID_OUI_FROM_DATABASE=Moimstone Co.,Ltd -+ - OUI:A8EF26* - ID_OUI_FROM_DATABASE=Tritonwave - -@@ -64702,6 +64906,9 @@ OUI:ACA016* - OUI:ACA22C* - ID_OUI_FROM_DATABASE=Baycity Technologies Ltd - -+OUI:ACA31E* -+ ID_OUI_FROM_DATABASE=Aruba Networks -+ - OUI:ACA430* - ID_OUI_FROM_DATABASE=Peerless AV - -@@ -64837,6 +65044,12 @@ OUI:B000B4* - OUI:B00594* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -+OUI:B009D3* -+ ID_OUI_FROM_DATABASE=Avizia -+ -+OUI:B01041* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:B01203* - ID_OUI_FROM_DATABASE=Dynamics Hong Kong Limited - -@@ -64951,6 +65164,9 @@ OUI:B0808C* - OUI:B081D8* - ID_OUI_FROM_DATABASE=I-sys Corp - -+OUI:B083FE* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:B0869E* - ID_OUI_FROM_DATABASE=Chloride S.r.L - -@@ -65122,6 +65338,9 @@ OUI:B407F9* - OUI:B40832* - ID_OUI_FROM_DATABASE=TC Communications - -+OUI:B40B44* -+ ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. -+ - OUI:B40B7A* - ID_OUI_FROM_DATABASE=Brusa Elektronik AG - -@@ -65200,6 +65419,9 @@ OUI:B4417A* - OUI:B4430D* - ID_OUI_FROM_DATABASE=Broadlink Pty Ltd - -+OUI:B4475E* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:B44CC2* - ID_OUI_FROM_DATABASE=NR ELECTRIC CO., LTD - -@@ -65608,6 +65830,9 @@ OUI:B8A8AF* - OUI:B8AC6F* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:B8AD3E* -+ ID_OUI_FROM_DATABASE=BLUECOM -+ - OUI:B8AE6E* - ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. - -@@ -65842,6 +66067,9 @@ OUI:BC4B79* - OUI:BC4E3C* - ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. - -+OUI:BC4E5D* -+ ID_OUI_FROM_DATABASE=ZhongMiao Technology Co., Ltd. -+ - OUI:BC51FE* - ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd - -@@ -65974,6 +66202,9 @@ OUI:BCC6DB* - OUI:BCC810* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:BCCAB5* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:BCCD45* - ID_OUI_FROM_DATABASE=VOISMART - -@@ -66748,6 +66979,9 @@ OUI:C88B47* - OUI:C8903E* - ID_OUI_FROM_DATABASE=Pakton Technologies - -+OUI:C891F9* -+ ID_OUI_FROM_DATABASE=SAGEMCOM -+ - OUI:C89346* - ID_OUI_FROM_DATABASE=MXCHIP Company Limited - -@@ -67000,6 +67234,9 @@ OUI:CC3A61* - OUI:CC3C3F* - ID_OUI_FROM_DATABASE=SA.S.S. Datentechnik AG - -+OUI:CC3D82* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:CC3E5F* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -67303,6 +67540,9 @@ OUI:D03761* - OUI:D03972* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:D039B3* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:D046DC* - ID_OUI_FROM_DATABASE=Southwest Research Institute - -@@ -67735,6 +67975,9 @@ OUI:D48FAA* - OUI:D491AF* - ID_OUI_FROM_DATABASE=Electroacustica General Iberica, S.A. - -+OUI:D49398* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:D493A0* - ID_OUI_FROM_DATABASE=Fidelix Oy - -@@ -68057,7 +68300,7 @@ OUI:D89695* - ID_OUI_FROM_DATABASE=Apple - - OUI:D8973B* -- ID_OUI_FROM_DATABASE=Emerson Network Power Embedded Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:D89760* - ID_OUI_FROM_DATABASE=C2 Development, Inc. -@@ -68170,6 +68413,9 @@ OUI:D8DF0D* - OUI:D8E3AE* - ID_OUI_FROM_DATABASE=CIRTEC MEDICAL SYSTEMS - -+OUI:D8E56D* -+ ID_OUI_FROM_DATABASE=TCT Mobile Limited -+ - OUI:D8E72B* - ID_OUI_FROM_DATABASE=OnPATH Technologies - -@@ -69319,6 +69565,9 @@ OUI:E8F928* - OUI:E8FC60* - ID_OUI_FROM_DATABASE=ELCOM Innovations Private Limited - -+OUI:E8FCAF* -+ ID_OUI_FROM_DATABASE=NETGEAR INC., -+ - OUI:EC0ED6* - ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS - -@@ -69442,6 +69691,9 @@ OUI:EC888F* - OUI:EC89F5* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:EC8A4C* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:EC8EAD* - ID_OUI_FROM_DATABASE=DLX - -@@ -70099,6 +70351,9 @@ OUI:F4CE46* - OUI:F4CFE2* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:F4D261* -+ ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd -+ - OUI:F4D9FB* - ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD - -@@ -70111,6 +70366,9 @@ OUI:F4DCDA* - OUI:F4DCF9* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:F4DD9E* -+ ID_OUI_FROM_DATABASE=GoPro -+ - OUI:F4E142* - ID_OUI_FROM_DATABASE=Delta Elektronika BV - -@@ -70318,6 +70576,9 @@ OUI:F87B8C* - OUI:F8811A* - ID_OUI_FROM_DATABASE=OVERKIZ - -+OUI:F884F2* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:F88C1C* - ID_OUI_FROM_DATABASE=KAISHUN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING - -@@ -70586,7 +70847,7 @@ OUI:FC3FAB* - ID_OUI_FROM_DATABASE=Henan Lanxin Technology Co., Ltd - - OUI:FC4463* -- ID_OUI_FROM_DATABASE=Universal Audio -+ ID_OUI_FROM_DATABASE=Universal Audio, Inc - - OUI:FC4499* - ID_OUI_FROM_DATABASE=Swarco LEA d.o.o. -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 371a685..d54cb2a 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -497,6 +497,9 @@ pci:v00000E11d0000F130* - pci:v00000E11d0000F150* - ID_MODEL_FROM_DATABASE=NetFlex-3/P ThunderLAN 2.3 - -+pci:v00000E55* -+ ID_VENDOR_FROM_DATABASE=HaSoTec GmbH -+ - pci:v00000EAC* - ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG - -@@ -1169,6 +1172,12 @@ pci:v00001000d00000073sv00001137sd000000B0* - pci:v00001000d00000073sv00001137sd000000B1* - ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i - -+pci:v00001000d00000073sv00001137sd000000C2* -+ ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide -+ -+pci:v00001000d00000073sv00001137sd000000C3* -+ ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide -+ - pci:v00001000d00000073sv000015D9sd00000400* - ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR - -@@ -1665,25 +1674,25 @@ pci:v00001002d00001307* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d00001309* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d0000130A* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] - - pci:v00001002d0000130B* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] - - pci:v00001002d0000130C* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d0000130D* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] - - pci:v00001002d0000130E* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] - - pci:v00001002d0000130F* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d00001310* - ID_MODEL_FROM_DATABASE=Kaveri -@@ -1695,7 +1704,7 @@ pci:v00001002d00001312* - ID_MODEL_FROM_DATABASE=Kaveri - - pci:v00001002d00001313* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 200 Series] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d00001314* - ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio -@@ -1704,22 +1713,25 @@ pci:v00001002d00001314sv0000174Bsd00001001* - ID_MODEL_FROM_DATABASE=PURE Fusion Mini - - pci:v00001002d00001315* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] - - pci:v00001002d00001316* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 200 Series] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] - - pci:v00001002d00001317* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d00001318* -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] -+ - pci:v00001002d0000131B* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R4 Graphics] - - pci:v00001002d0000131C* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - - pci:v00001002d0000131D* -- ID_MODEL_FROM_DATABASE=Kaveri -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] - - pci:v00001002d00001714* - ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] -@@ -4275,7 +4287,7 @@ pci:v00001002d00006641* - ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] - - pci:v00001002d00006649* -- ID_MODEL_FROM_DATABASE=Bonaire -+ ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] - - pci:v00001002d00006650* - ID_MODEL_FROM_DATABASE=Bonaire -@@ -4326,13 +4338,13 @@ pci:v00001002d00006663sv00001025sd00000846* - ID_MODEL_FROM_DATABASE=Radeon HD 8570A - - pci:v00001002d00006664* -- ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M250] -+ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] - - pci:v00001002d00006665* - ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M230] - - pci:v00001002d00006667* -- ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M240] -+ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] - - pci:v00001002d0000666F* - ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] -@@ -5808,7 +5820,7 @@ pci:v00001002d00006792* - ID_MODEL_FROM_DATABASE=Tahiti - - pci:v00001002d00006798* -- ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/R9 280X] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] - - pci:v00001002d00006798sv00001002sd00003000* - ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -@@ -5934,7 +5946,7 @@ pci:v00001002d000067B1* - ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] - - pci:v00001002d000067B9* -- ID_MODEL_FROM_DATABASE=Vesuvius -+ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] - - pci:v00001002d000067BE* - ID_MODEL_FROM_DATABASE=Hawaii LE -@@ -5952,7 +5964,7 @@ pci:v00001002d00006800sv00008086sd00002111* - ID_MODEL_FROM_DATABASE=Radeon HD 7970M - - pci:v00001002d00006801* -- ID_MODEL_FROM_DATABASE=Neptune [Radeon HD 8970M] -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] - - pci:v00001002d00006801sv00001002sd00000124* - ID_MODEL_FROM_DATABASE=Radeon HD 8970M -@@ -6017,6 +6029,9 @@ pci:v00001002d00006820* - pci:v00001002d00006820sv0000103Csd00001851* - ID_MODEL_FROM_DATABASE=Radeon HD 7750M - -+pci:v00001002d00006820sv000017AAsd00003801* -+ ID_MODEL_FROM_DATABASE=Radeon R9 M275 -+ - pci:v00001002d00006821* - ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] - -@@ -7817,6 +7832,12 @@ pci:v00001002d000068FAsv000017AFsd00003015* - pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE - -+pci:v00001002d00006900* -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] -+ -+pci:v00001002d00006901* -+ ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] -+ - pci:v00001002d00006920* - ID_MODEL_FROM_DATABASE=Tonga - -@@ -10391,6 +10412,15 @@ pci:v00001014d0000034Asv00001014sd00000499* - pci:v00001014d0000034Asv00001014sd0000049A* - ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) - -+pci:v00001014d0000034Asv00001014sd000004C7* -+ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) -+ -+pci:v00001014d0000034Asv00001014sd000004C8* -+ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) -+ -+pci:v00001014d0000034Asv00001014sd00000C49* -+ ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) -+ - pci:v00001014d000004AA* - ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) - -@@ -13793,6 +13823,63 @@ pci:v0000103Cd00003238sv0000103Csd00003211* - pci:v0000103Cd00003238sv0000103Csd00003212* - ID_MODEL_FROM_DATABASE=Smart Array E200 - -+pci:v0000103Cd00003239* -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers -+ -+pci:v0000103Cd00003239sv0000103Csd000021BD* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021BE* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021BF* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C0* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C1* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C2* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C3* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C4* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C5* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C6* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C7* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C8* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021C9* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CA* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CB* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CC* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CD* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ -+pci:v0000103Cd00003239sv0000103Csd000021CE* -+ ID_MODEL_FROM_DATABASE=Smart Array -+ - pci:v0000103Cd0000323A* - ID_MODEL_FROM_DATABASE=Smart Array G6 controllers - -@@ -17954,6 +18041,54 @@ pci:v0000109Ed0000036Esv000018ACsd0000D500* - pci:v0000109Ed0000036Esv0000270Fsd0000FC00* - ID_MODEL_FROM_DATABASE=Digitop DTT-1000 - -+pci:v0000109Ed0000036Esv0000AA00sd00001460* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 -+ -+pci:v0000109Ed0000036Esv0000AA01sd00001461* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 -+ -+pci:v0000109Ed0000036Esv0000AA02sd00001462* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 -+ -+pci:v0000109Ed0000036Esv0000AA03sd00001463* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 -+ -+pci:v0000109Ed0000036Esv0000AA04sd00001464* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 -+ -+pci:v0000109Ed0000036Esv0000AA05sd00001465* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 -+ -+pci:v0000109Ed0000036Esv0000AA06sd00001466* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 -+ -+pci:v0000109Ed0000036Esv0000AA07sd00001467* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 -+ -+pci:v0000109Ed0000036Esv0000AA08sd00001468* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 -+ -+pci:v0000109Ed0000036Esv0000AA09sd00001469* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 -+ -+pci:v0000109Ed0000036Esv0000AA0Asd0000146A* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 -+ -+pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 -+ -+pci:v0000109Ed0000036Esv0000AA0Csd0000146C* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 -+ -+pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 -+ -+pci:v0000109Ed0000036Esv0000AA0Esd0000146E* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 -+ -+pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* -+ ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 -+ - pci:v0000109Ed0000036Esv0000BD11sd00001200* - ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) - -@@ -26009,6 +26144,9 @@ pci:v000010DEd00000E1A* - pci:v000010DEd00000E1B* - ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller - -+pci:v000010DEd00000E1Bsv0000103Csd0000197B* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v000010DEd00000E1Bsv00001043sd00008428* - ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 - -@@ -26165,6 +26303,9 @@ pci:v000010DEd00000FF5* - pci:v000010DEd00000FF6* - ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] - -+pci:v000010DEd00000FF6sv0000103Csd0000197B* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v000010DEd00000FF7* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] - -@@ -26234,6 +26375,12 @@ pci:v000010DEd00001005sv00003842sd00002794* - pci:v000010DEd00001005sv00003842sd00002795* - ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature - -+pci:v000010DEd00001007* -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] -+ -+pci:v000010DEd00001008* -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Ti Rev. 2] -+ - pci:v000010DEd0000100A* - ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Ti] - -@@ -26294,6 +26441,9 @@ pci:v000010DEd0000104Asv000010B0sd0000104A* - pci:v000010DEd0000104B* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] - -+pci:v000010DEd0000104C* -+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] -+ - pci:v000010DEd00001050* - ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] - -@@ -26333,6 +26483,24 @@ pci:v000010DEd00001058sv00001043sd000010BC* - pci:v000010DEd00001058sv00001043sd00001652* - ID_MODEL_FROM_DATABASE=GeForce GT 610M - -+pci:v000010DEd00001058sv000017AAsd0000367A* -+ ID_MODEL_FROM_DATABASE=GeForce 610M -+ -+pci:v000010DEd00001058sv000017AAsd00003682* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd00001058sv000017AAsd00003687* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd00001058sv000017AAsd00003692* -+ ID_MODEL_FROM_DATABASE=GeForce 705A -+ -+pci:v000010DEd00001058sv000017AAsd00003695* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd00001058sv000017AAsd0000A117* -+ ID_MODEL_FROM_DATABASE=GeForce 610M -+ - pci:v000010DEd00001059* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] - -@@ -26351,6 +26519,15 @@ pci:v000010DEd0000105B* - pci:v000010DEd0000105Bsv0000103Csd00002AFB* - ID_MODEL_FROM_DATABASE=GeForce 705A - -+pci:v000010DEd0000105Bsv000017AAsd0000309D* -+ ID_MODEL_FROM_DATABASE=GeForce 705A -+ -+pci:v000010DEd0000105Bsv000017AAsd000030B1* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ -+pci:v000010DEd0000105Bsv000017AAsd000036A1* -+ ID_MODEL_FROM_DATABASE=GeForce 800A -+ - pci:v000010DEd0000107C* - ID_MODEL_FROM_DATABASE=GF119 [NVS 315] - -@@ -26675,6 +26852,30 @@ pci:v000010DEd00001140sv00001043sd000014C7* - pci:v000010DEd00001140sv00001043sd00001507* - ID_MODEL_FROM_DATABASE=GeForce GT 620M - -+pci:v000010DEd00001140sv00001043sd000015AD* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd000015ED* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000160D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000163D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000166D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd000016CD* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd000016DD* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000170D* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ - pci:v000010DEd00001140sv00001043sd00002132* - ID_MODEL_FROM_DATABASE=GeForce GT 620M - -@@ -26699,6 +26900,12 @@ pci:v000010DEd00001140sv00001043sd0000223A* - pci:v000010DEd00001140sv00001043sd0000224A* - ID_MODEL_FROM_DATABASE=GeForce GT 710M - -+pci:v000010DEd00001140sv00001043sd0000227A* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ -+pci:v000010DEd00001140sv00001043sd0000228A* -+ ID_MODEL_FROM_DATABASE=GeForce 820M -+ - pci:v000010DEd00001140sv00001043sd00008595* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -@@ -26864,9 +27071,48 @@ pci:v000010DEd00001140sv000017AAsd00002213* - pci:v000010DEd00001140sv000017AAsd00002220* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -+pci:v000010DEd00001140sv000017AAsd0000309C* -+ ID_MODEL_FROM_DATABASE=GeForce GT 720A -+ -+pci:v000010DEd00001140sv000017AAsd000030B4* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ - pci:v000010DEd00001140sv000017AAsd00003656* - ID_MODEL_FROM_DATABASE=GeForce GT 620M - -+pci:v000010DEd00001140sv000017AAsd0000365A* -+ ID_MODEL_FROM_DATABASE=GeForce 705M -+ -+pci:v000010DEd00001140sv000017AAsd0000365E* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd0000366C* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd00003685* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd00003686* -+ ID_MODEL_FROM_DATABASE=GeForce 800M -+ -+pci:v000010DEd00001140sv000017AAsd00003687* -+ ID_MODEL_FROM_DATABASE=GeForce 705A -+ -+pci:v000010DEd00001140sv000017AAsd00003696* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369B* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369C* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369D* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ -+pci:v000010DEd00001140sv000017AAsd0000369E* -+ ID_MODEL_FROM_DATABASE=GeForce 820A -+ - pci:v000010DEd00001140sv000017AAsd00003800* - ID_MODEL_FROM_DATABASE=GeForce GT 720M - -@@ -27044,6 +27290,9 @@ pci:v000010DEd0000118F* - pci:v000010DEd00001193* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] - -+pci:v000010DEd00001195* -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] -+ - pci:v000010DEd00001198* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 880M] - -@@ -27173,6 +27422,9 @@ pci:v000010DEd000011E2* - pci:v000010DEd000011E3* - ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] - -+pci:v000010DEd000011E3sv000017AAsd00003683* -+ ID_MODEL_FROM_DATABASE=GeForce GTX 760A -+ - pci:v000010DEd000011FA* - ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] - -@@ -27323,6 +27575,9 @@ pci:v000010DEd00001282* - pci:v000010DEd00001284* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 630 Rev. 2] - -+pci:v000010DEd00001286* -+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] -+ - pci:v000010DEd00001290* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] - -@@ -27380,6 +27635,15 @@ pci:v000010DEd00001340* - pci:v000010DEd00001341* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] - -+pci:v000010DEd00001341sv000017AAsd00003697* -+ ID_MODEL_FROM_DATABASE=GeForce 840A -+ -+pci:v000010DEd00001341sv000017AAsd00003699* -+ ID_MODEL_FROM_DATABASE=GeForce 840A -+ -+pci:v000010DEd00001341sv000017AAsd0000369C* -+ ID_MODEL_FROM_DATABASE=GeForce 840A -+ - pci:v000010DEd00001380* - ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] - -@@ -27395,6 +27659,12 @@ pci:v000010DEd00001390* - pci:v000010DEd00001391* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] - -+pci:v000010DEd00001391sv000017AAsd00003697* -+ ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ -+pci:v000010DEd00001391sv000017AAsd0000A125* -+ ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ - pci:v000010DEd00001392* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] - -@@ -27839,6 +28109,9 @@ pci:v000010ECd00005227* - pci:v000010ECd00005227sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -+pci:v000010ECd00005227sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v000010ECd00005229* - ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader - -@@ -27848,6 +28121,12 @@ pci:v000010ECd00005229sv00001025sd00000813* - pci:v000010ECd00005229sv0000103Csd0000194E* - ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook - -+pci:v000010ECd00005249* -+ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader -+ -+pci:v000010ECd00005249sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v000010ECd00005288* - ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader - -@@ -30561,7 +30840,7 @@ pci:v0000110Ad00004021* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) - - pci:v0000110Ad00004029* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 - - pci:v0000110Ad00004029sv0000110Asd00004029* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 -@@ -30581,6 +30860,9 @@ pci:v0000110Ad00004038* - pci:v0000110Ad00004069* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 - -+pci:v0000110Ad00004069sv0000110Asd00004069* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 -+ - pci:v0000110Ad00004069sv0000110Asd0000C069* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 - -@@ -31541,6 +31823,9 @@ pci:v00001131d00007133sv0000153Bsd00001160* - pci:v00001131d00007133sv0000153Bsd00001162* - ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile - -+pci:v00001131d00007133sv000017DEsd00007256* -+ ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card -+ - pci:v00001131d00007133sv000017DEsd00007350* - ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner - -@@ -33651,7 +33936,7 @@ pci:v00001180d00000476sv000014EFsd00000220* - ID_MODEL_FROM_DATABASE=PCD-RP-220S - - pci:v00001180d00000476sv000017AAsd0000201C* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00001180d00000476sv000017AAsd000020C4* - ID_MODEL_FROM_DATABASE=ThinkPad T61 -@@ -33711,7 +33996,7 @@ pci:v00001180d00000552sv0000144Dsd0000C00C* - ID_MODEL_FROM_DATABASE=P30/P35 notebook - - pci:v00001180d00000552sv000017AAsd0000201E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00001180d00000554* - ID_MODEL_FROM_DATABASE=R5C554 -@@ -33813,7 +34098,7 @@ pci:v00001180d00000822sv0000144Dsd0000C018* - ID_MODEL_FROM_DATABASE=X20 IV - - pci:v00001180d00000822sv000017AAsd0000201D* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00001180d00000822sv000017AAsd000020C7* - ID_MODEL_FROM_DATABASE=ThinkPad T61 -@@ -33833,6 +34118,9 @@ pci:v00001180d00000832sv00001028sd000001D7* - pci:v00001180d00000832sv00001028sd000001F3* - ID_MODEL_FROM_DATABASE=Inspiron 1420 - -+pci:v00001180d00000832sv00001028sd0000024D* -+ ID_MODEL_FROM_DATABASE=Latitude E4300 -+ - pci:v00001180d00000832sv0000103Csd000030B5* - ID_MODEL_FROM_DATABASE=Presario V3242AU - -@@ -49442,6 +49730,18 @@ pci:v00001797d00006812* - pci:v00001797d00006813* - ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller - -+pci:v00001797d00006814* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ -+pci:v00001797d00006815* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ -+pci:v00001797d00006816* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ -+pci:v00001797d00006817* -+ ID_MODEL_FROM_DATABASE=TW6816 multimedia video controller -+ - pci:v00001799* - ID_VENDOR_FROM_DATABASE=Belkin - -@@ -50978,12 +51278,33 @@ pci:v00001924d00000813sv00001924sd00007904* - pci:v00001924d00000903* - ID_MODEL_FROM_DATABASE=SFC9120 - -+pci:v00001924d00000903sv00001014sd000004CC* -+ ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra -+ - pci:v00001924d00000903sv00001924sd00008002* - ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter - -+pci:v00001924d00000903sv00001924sd00008003* -+ ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ - pci:v00001924d00000903sv00001924sd00008006* - ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter - -+pci:v00001924d00000903sv00001924sd00008007* -+ ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter -+ -+pci:v00001924d00000903sv00001924sd00008009* -+ ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter -+ -+pci:v00001924d00000903sv00001924sd0000800A* -+ ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter -+ -+pci:v00001924d00000923* -+ ID_MODEL_FROM_DATABASE=SFC9140 -+ -+pci:v00001924d00000923sv00001924sd0000800B* -+ ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ - pci:v00001924d00001803* - ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] - -@@ -51227,6 +51548,9 @@ pci:v00001957d00000083* - pci:v00001957d00000084* - ID_MODEL_FROM_DATABASE=MPC8347E PBGA - -+pci:v00001957d00000084sv0000110Asd00004074* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 -+ - pci:v00001957d00000085* - ID_MODEL_FROM_DATABASE=MPC8347 PBGA - -@@ -51456,7 +51780,7 @@ pci:v00001969d00002062* - ID_MODEL_FROM_DATABASE=AR8152 v2.0 Fast Ethernet - - pci:v00001969d0000E091* -- ID_MODEL_FROM_DATABASE=Killer E2200 Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=Killer E220x Gigabit Ethernet Controller - - pci:v0000196A* - ID_VENDOR_FROM_DATABASE=Sensory Networks Inc. -@@ -52214,8 +52538,14 @@ pci:v00001AF4d00001005* - pci:v00001AF4d00001009* - ID_MODEL_FROM_DATABASE=Virtio filesystem - -+pci:v00001AF4d00001010* -+ ID_MODEL_FROM_DATABASE=Virtio GPU -+ -+pci:v00001AF4d00001012* -+ ID_MODEL_FROM_DATABASE=Virtio input device -+ - pci:v00001AF4d00001110* -- ID_MODEL_FROM_DATABASE=Virtio Inter-VM shared memory -+ ID_MODEL_FROM_DATABASE=Inter-VM shared memory - - pci:v00001AF4d00001110sv00001AF4sd00001100* - ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -@@ -52397,6 +52727,9 @@ pci:v00001B4Bd000091A4* - pci:v00001B4Bd00009230* - ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller - -+pci:v00001B4Bd00009445* -+ ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller -+ - pci:v00001B4Bd00009480* - ID_MODEL_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller - -@@ -55550,15 +55883,24 @@ pci:v00008086d00000964* - pci:v00008086d00000A04* - ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller - -+pci:v00008086d00000A04sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00000A06* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - - pci:v00008086d00000A0C* - ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller - -+pci:v00008086d00000A0Csv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00000A16* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - -+pci:v00008086d00000A16sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00000A22* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - -@@ -55655,6 +55997,9 @@ pci:v00008086d00000C01* - pci:v00008086d00000C04* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller - -+pci:v00008086d00000C04sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00000C04sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -57360,7 +57705,7 @@ pci:v00008086d0000109Asv000017AAsd00002001* - ID_MODEL_FROM_DATABASE=ThinkPad T60 - - pci:v00008086d0000109Asv000017AAsd0000207E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s -+ ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s - - pci:v00008086d0000109Asv00008086sd0000109A* - ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection -@@ -58847,6 +59192,9 @@ pci:v00008086d00001539* - pci:v00008086d0000153A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM - -+pci:v00008086d0000153Asv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d0000153Asv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -58901,6 +59249,9 @@ pci:v00008086d00001559* - pci:v00008086d0000155A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM - -+pci:v00008086d0000155Asv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d0000155C* - ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter - -@@ -63816,7 +64167,7 @@ pci:v00008086d000027A0sv000017AAsd00002015* - ID_MODEL_FROM_DATABASE=ThinkPad T60 - - pci:v00008086d000027A0sv000017AAsd00002017* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027A1* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port -@@ -63834,7 +64185,7 @@ pci:v00008086d000027A2sv0000103Csd000030A1* - ID_MODEL_FROM_DATABASE=NC2400 - - pci:v00008086d000027A2sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027A2sv00009902sd00001584* - ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F -@@ -63849,7 +64200,7 @@ pci:v00008086d000027A6sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) - - pci:v00008086d000027A6sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027AC* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub -@@ -63915,7 +64266,7 @@ pci:v00008086d000027B9sv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop - - pci:v00008086d000027B9sv000017AAsd00002009* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027BC* - ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller -@@ -64035,7 +64386,7 @@ pci:v00008086d000027C5sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=Compaq nw8440 - - pci:v00008086d000027C5sv000017AAsd0000200D* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027C6* - ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] -@@ -64095,7 +64446,7 @@ pci:v00008086d000027C8sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027C8sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027C8sv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64161,7 +64512,7 @@ pci:v00008086d000027C9sv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027C9sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027C9sv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64227,7 +64578,7 @@ pci:v00008086d000027CAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027CAsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027CAsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64287,7 +64638,7 @@ pci:v00008086d000027CBsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027CBsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027CBsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64347,7 +64698,7 @@ pci:v00008086d000027CCsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027CCsv000017AAsd0000200B* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027CCsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64509,7 +64860,7 @@ pci:v00008086d000027D8sv00001734sd000010AD* - ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP - - pci:v00008086d000027D8sv000017AAsd00002010* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027D8sv000017AAsd00003802* - ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] -@@ -64569,7 +64920,7 @@ pci:v00008086d000027DAsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027DAsv000017AAsd0000200F* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027DAsv00008086sd00004F4D* - ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -@@ -64647,7 +64998,7 @@ pci:v00008086d000027DFsv00001775sd000011CC* - ID_MODEL_FROM_DATABASE=CC11/CL11 - - pci:v00008086d000027DFsv000017AAsd0000200C* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series - - pci:v00008086d000027DFsv00008086sd0000544E* - ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -@@ -70358,6 +70709,9 @@ pci:v00008086d00008C02* - pci:v00008086d00008C03* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] - -+pci:v00008086d00008C03sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C03sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70442,6 +70796,9 @@ pci:v00008086d00008C1F* - pci:v00008086d00008C20* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller - -+pci:v00008086d00008C20sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C20sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70451,6 +70808,9 @@ pci:v00008086d00008C21* - pci:v00008086d00008C22* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller - -+pci:v00008086d00008C22sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C22sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70463,18 +70823,27 @@ pci:v00008086d00008C24* - pci:v00008086d00008C26* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 - -+pci:v00008086d00008C26sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C26sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - - pci:v00008086d00008C2D* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 - -+pci:v00008086d00008C2Dsv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C2Dsv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - - pci:v00008086d00008C31* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI - -+pci:v00008086d00008C31sv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C31sv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70487,6 +70856,9 @@ pci:v00008086d00008C34* - pci:v00008086d00008C3A* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 - -+pci:v00008086d00008C3Asv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C3Asv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70547,6 +70919,9 @@ pci:v00008086d00008C4E* - pci:v00008086d00008C4F* - ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller - -+pci:v00008086d00008C4Fsv0000103Csd00001909* -+ ID_MODEL_FROM_DATABASE=ZBook 15 -+ - pci:v00008086d00008C4Fsv000017AAsd0000220E* - ID_MODEL_FROM_DATABASE=ThinkPad T440p - -@@ -70820,6 +71195,9 @@ pci:v00008086d00009C02* - pci:v00008086d00009C03* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] - -+pci:v00008086d00009C03sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C04* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] - -@@ -70907,12 +71285,18 @@ pci:v00008086d00009C1F* - pci:v00008086d00009C20* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller - -+pci:v00008086d00009C20sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C21* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller - - pci:v00008086d00009C22* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller - -+pci:v00008086d00009C22sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C23* - ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters - -@@ -70922,12 +71306,18 @@ pci:v00008086d00009C24* - pci:v00008086d00009C26* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 - -+pci:v00008086d00009C26sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C2D* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 - - pci:v00008086d00009C31* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC - -+pci:v00008086d00009C31sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C35* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller - -@@ -70937,6 +71327,9 @@ pci:v00008086d00009C36* - pci:v00008086d00009C3A* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 - -+pci:v00008086d00009C3Asv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C3B* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 - -@@ -70958,6 +71351,9 @@ pci:v00008086d00009C42* - pci:v00008086d00009C43* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller - -+pci:v00008086d00009C43sv000017AAsd00002214* -+ ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ - pci:v00008086d00009C44* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller - -@@ -72557,6 +72953,54 @@ pci:v0000A727d00000013* - pci:v0000A727d00006803* - ID_MODEL_FROM_DATABASE=3CRDAG675B Wireless 11a/b/g Adapter - -+pci:v0000AA00* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA01* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA02* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA03* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA04* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA05* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA06* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA07* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA08* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA09* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0A* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0B* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0C* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0D* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0E* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ -+pci:v0000AA0F* -+ ID_VENDOR_FROM_DATABASE=iTuner -+ - pci:v0000AA42* - ID_VENDOR_FROM_DATABASE=Scitex Digital Video - --- -1.7.9.2 - diff --git a/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch b/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch deleted file mode 100644 index 17cd4197..00000000 --- a/0002-include-fcntl.h-rather-than-sys-fcntl.h.patch +++ /dev/null @@ -1,25 +0,0 @@ -From fdb8bd0fe7244b72ddc1c08e401ebddefdaf4f46 Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:38 +0200 -Subject: [PATCH] include fcntl.h rather than sys/fcntl.h - ---- - src/socket-proxy/socket-proxyd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/socket-proxy/socket-proxyd.c src/socket-proxy/socket-proxyd.c -index 81d8457..ff2b24f 100644 ---- src/socket-proxy/socket-proxyd.c -+++ src/socket-proxy/socket-proxyd.c -@@ -26,7 +26,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include --- -1.7.9.2 - diff --git a/0002-journal-compress-improve-xz-compression-performance.patch b/0002-journal-compress-improve-xz-compression-performance.patch deleted file mode 100644 index adccdaad..00000000 --- a/0002-journal-compress-improve-xz-compression-performance.patch +++ /dev/null @@ -1,82 +0,0 @@ -Based on 1930eed2a7855d2df06ccf51f9e394428bf547e2 Mon Sep 17 00:00:00 2001 -From: Jon Severinsson -Date: Tue, 8 Jul 2014 18:29:46 +0200 -Subject: [PATCH] journal/compress: improve xz compression performance - -The new lzma2 compression options at the top of compress_blob_xz are -equivalent to using preset "0", exept for using a 1 MiB dictionary -(the same as preset "1"). This makes the memory usage at most 7.5 MiB -in the compressor, and 1 MiB in the decompressor, instead of the -previous 92 MiB in the compressor and 8 MiB in the decompressor. - -According to test-compress-benchmark this commit makes XZ compression -20 times faster, with no increase in compressed data size. -Using more realistic test data (an ELF binary rather than repeating -ASCII letters 'a' through 'z' in order) it only provides a factor 10 -speedup, and at a cost if a 10% increase in compressed data size. -But that is still a worthwhile trade-off. - -According to test-compress-benchmark XZ compression is still 25 times -slower than LZ4, but the compressed data is one eighth the size. -Using more realistic test data XZ compression is only 18 times slower -than LZ4, and the compressed data is only one quarter the size. - ---- - src/journal/compress.c | 33 ++++++++++++++------------------- - 1 file changed, 14 insertions(+), 19 deletions(-) - ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 12:09:45.814235274 +0000 -@@ -28,8 +28,15 @@ - #include "compress.h" - - bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { -- lzma_stream s = LZMA_STREAM_INIT; -+ static const lzma_options_lzma opt = { -+ 1u << 20u, NULL, 0, LZMA_LC_DEFAULT, LZMA_LP_DEFAULT, -+ LZMA_PB_DEFAULT, LZMA_MODE_FAST, 128, LZMA_MF_HC3, 4}; -+ static const lzma_filter filters[2] = { -+ {LZMA_FILTER_LZMA2, (lzma_options_lzma*) &opt}, -+ {LZMA_VLI_UNKNOWN, NULL} -+ }; - lzma_ret ret; -+ size_t out_pos = 0; - bool b = false; - - assert(src); -@@ -40,29 +47,17 @@ bool compress_blob(const void *src, uint - /* Returns false if we couldn't compress the data or the - * compressed result is longer than the original */ - -- ret = lzma_easy_encoder(&s, LZMA_PRESET_DEFAULT, LZMA_CHECK_NONE); -- if (ret != LZMA_OK) -+ if (src_size < 80) - return false; - -- s.next_in = src; -- s.avail_in = src_size; -- s.next_out = dst; -- s.avail_out = src_size; -- -- /* Does it fit? */ -- if (lzma_code(&s, LZMA_FINISH) != LZMA_STREAM_END) -- goto fail; -- -- /* Is it actually shorter? */ -- if (s.avail_out == 0) -- goto fail; -+ ret = lzma_stream_buffer_encode((lzma_filter*) filters, LZMA_CHECK_NONE, NULL, -+ src, src_size, dst, &out_pos, src_size - 1); -+ if (ret != LZMA_OK) -+ return false; - -- *dst_size = src_size - s.avail_out; -+ *dst_size = out_pos; - b = true; - --fail: -- lzma_end(&s); -- - return b; - } - diff --git a/0002-journal-properly-detect-language-specified-in-line.patch b/0002-journal-properly-detect-language-specified-in-line.patch deleted file mode 100644 index 361518a2..00000000 --- a/0002-journal-properly-detect-language-specified-in-line.patch +++ /dev/null @@ -1,99 +0,0 @@ -From baf167ee0a2953f98e4e7d4c35752ef737832674 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Apr 2014 20:57:27 -0400 -Subject: [PATCH] journal: properly detect language specified in line - -... it turns out that the duplicates in our own catalog were not real -duplicates, but translations. ---- - TODO | 2 ++ - src/journal/catalog.c | 53 +++++++++++++++++++++++++++++++------------------ - 2 files changed, 36 insertions(+), 19 deletions(-) - -diff --git TODO TODO -index 0343b94..a7307f7 100644 ---- TODO -+++ TODO -@@ -709,6 +709,8 @@ External: - - * fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it - -+* register catalog database signature as file magic -+ - Regularly: - - * look for close() vs. close_nointr() vs. close_nointr_nofail() -diff --git src/journal/catalog.c src/journal/catalog.c -index 02dedc4..f03357d 100644 ---- src/journal/catalog.c -+++ src/journal/catalog.c -@@ -159,6 +159,37 @@ int catalog_file_lang(const char* filename, char **lang) { - return 1; - } - -+static int catalog_entry_lang(const char* filename, int line, -+ const char* t, const char* deflang, char **lang) { -+ size_t c; -+ -+ c = strlen(t); -+ if (c == 0) { -+ log_error("[%s:%u] Language too short.", filename, line); -+ return -EINVAL; -+ } -+ if (c > 31) { -+ log_error("[%s:%u] language too long.", filename, line); -+ return -EINVAL; -+ } -+ -+ if (deflang) { -+ if (streq(t, deflang)) { -+ log_warning("[%s:%u] language specified unnecessarily", -+ filename, line); -+ return 0; -+ } else -+ log_warning("[%s:%u] language differs from default for file", -+ filename, line); -+ } -+ -+ *lang = strdup(t); -+ if (!*lang) -+ return -ENOMEM; -+ -+ return 0; -+} -+ - int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { - _cleanup_fclose_ FILE *f = NULL; - _cleanup_free_ char *payload = NULL; -@@ -238,25 +269,9 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { - if (with_language) { - t = strstrip(line + 2 + 1 + 32 + 1); - -- c = strlen(t); -- if (c <= 0) { -- log_error("[%s:%u] Language too short.", path, n); -- return -EINVAL; -- } -- if (c > 31) { -- log_error("[%s:%u] language too long.", path, n); -- return -EINVAL; -- } -- -- if (deflang) { -- log_warning("[%s:%u] language %s", path, n, -- streq(t, deflang) ? -- "specified unnecessarily" : -- "differs from default for file"); -- lang = strdup(t); -- if (!lang) -- return -ENOMEM; -- } -+ r = catalog_entry_lang(path, n, t, deflang, &lang); -+ if (r < 0) -+ return r; - } - - got_id = true; --- -1.7.9.2 - diff --git a/0002-journalctl-man-allow-only-between-terms.patch b/0002-journalctl-man-allow-only-between-terms.patch deleted file mode 100644 index c29bdf6f..00000000 --- a/0002-journalctl-man-allow-only-between-terms.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 4e6029435111adcad71489aca2dd68bc65aeffd4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 19 Jul 2014 21:05:07 -0400 -Subject: [PATCH] journalctl,man: allow + only between terms - -https://bugzilla.redhat.com/show_bug.cgi?id=1110712 ---- - man/journalctl.xml | 19 +++++++++++++++---- - src/journal/journalctl.c | 20 +++++++++++++++++--- - 2 files changed, 32 insertions(+), 7 deletions(-) - -diff --git man/journalctl.xml man/journalctl.xml -index 47b5a05..df9c794 100644 ---- man/journalctl.xml -+++ man/journalctl.xml -@@ -84,10 +84,11 @@ - field, then they are automatically matched as - alternatives, i.e. the resulting output will show - entries matching any of the specified matches for the -- same field. Finally, if the character -- + appears as a separate word on the -- command line, all matches before and after are combined -- in a disjunction (i.e. logical OR). -+ same field. Finally, the character -+ + may appears as a separate word -+ between other terms on the command line. This causes -+ all matches before and after to be combined in a -+ disjunction (i.e. logical OR). - - As shortcuts for a few types of field/value - matches, file paths may be specified. If a file path -@@ -98,11 +99,21 @@ - _KERNEL_DEVICE= match for the - device. - -+ Additional contraints may be added using options -+ , , -+ etc, to futher limit what entries will be shown -+ (logical AND). -+ - Output is interleaved from all accessible - journal files, whether they are rotated or currently - being written, and regardless of whether they belong to the - system itself or are accessible user journals. - -+ The set of journal files which will be used -+ can be modified using the , -+ , , -+ and options, see below. -+ - All users are granted access to their private - per-user journals. However, by default, only root and - users who are members of the systemd-journal -diff --git src/journal/journalctl.c src/journal/journalctl.c -index 92e8286..7aedbf0 100644 ---- src/journal/journalctl.c -+++ src/journal/journalctl.c -@@ -699,15 +699,20 @@ static int generate_new_id128(void) { - - static int add_matches(sd_journal *j, char **args) { - char **i; -+ bool have_term = false; - - assert(j); - - STRV_FOREACH(i, args) { - int r; - -- if (streq(*i, "+")) -+ if (streq(*i, "+")) { -+ if (!have_term) -+ break; - r = sd_journal_add_disjunction(j); -- else if (path_is_absolute(*i)) { -+ have_term = false; -+ -+ } else if (path_is_absolute(*i)) { - _cleanup_free_ char *p, *t = NULL, *t2 = NULL; - const char *path; - _cleanup_free_ char *interpreter = NULL; -@@ -756,8 +761,12 @@ static int add_matches(sd_journal *j, char **args) { - r = sd_journal_add_match(j, t, 0); - if (t2) - r = sd_journal_add_match(j, t2, 0); -- } else -+ have_term = true; -+ -+ } else { - r = sd_journal_add_match(j, *i, 0); -+ have_term = true; -+ } - - if (r < 0) { - log_error("Failed to add match '%s': %s", *i, strerror(-r)); -@@ -765,6 +774,11 @@ static int add_matches(sd_journal *j, char **args) { - } - } - -+ if (!strv_isempty(args) && !have_term) { -+ log_error("\"+\" can only be used between terms"); -+ return -EINVAL; -+ } -+ - return 0; - } - --- -1.7.9.2 - diff --git a/0002-journald-make-MaxFileSec-really-default-to-1month.patch b/0002-journald-make-MaxFileSec-really-default-to-1month.patch deleted file mode 100644 index 9b48fcae..00000000 --- a/0002-journald-make-MaxFileSec-really-default-to-1month.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on e150e82097211f09b911c7784a89ef9efed713ca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= -Date: Thu, 26 Jun 2014 22:11:35 +0200 -Subject: [PATCH] journald: make MaxFileSec really default to 1month - -journald.conf(5) states that the default for MaxFileSec is one month, -but the code didn't respect that. ---- - src/journal/journald-server.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-01 12:28:25.506735287 +0000 -@@ -68,6 +68,7 @@ - #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE) - #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC) - #define DEFAULT_RATE_LIMIT_BURST 1000 -+#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH - - #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC) - -@@ -1496,6 +1497,8 @@ int server_init(Server *s) { - - s->forward_to_syslog = true; - -+ s->max_file_usec = DEFAULT_MAX_FILE_USEC; -+ - s->max_level_store = LOG_DEBUG; - s->max_level_syslog = LOG_DEBUG; - s->max_level_kmsg = LOG_NOTICE; diff --git a/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch b/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch deleted file mode 100644 index 7ba1dc4d..00000000 --- a/0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 1f6d36f267186c0e3184bab4c7eca48481c6faab Mon Sep 17 00:00:00 2001 -From: Hui Wang -Date: Wed, 30 Jul 2014 16:09:08 +0800 -Subject: [PATCH] keymap: Add microphone mute keymap for Dell Latitude - -On the Dell Latitude, the mic mute key event is generated by wmi -driver, the keycode assigned to this hotkey from kernel is -KEY_MICMUTE (248), this keycode is too big for xorg to handle, -in the xorg, the XF86AudioMicMute is assigned to F20. - -Please refer to 4e648ea0 of xkeyboard-config. - -BugLink: https://bugs.launchpad.net/bugs/1326684 -BugLink: https://bugs.launchpad.net/bugs/1339998 -Signed-off-by: Hui Wang -Signed-off-by: Martin Pitt ---- - hwdb/60-keyboard.hwdb | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index c7ff4e4..70e372b 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -229,6 +229,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* - KEYBOARD_KEY_8c=!unknown - -+# Dell Latitude microphone mute -+keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* -+ KEYBOARD_KEY_150=f20 # Mic mute toggle -+ - ########################################################### - # Everex - ########################################################### --- -1.7.9.2 - diff --git a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch deleted file mode 100644 index e921c60b..00000000 --- a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e55edb22a71e67f01534d28f91c6aa27bba48fc1 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Sun, 25 May 2014 12:16:35 +0200 -Subject: [PATCH] keymap: Asus EeePC touchpad toggle key - -Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events, -so use the F21 convention. - -https://bugs.freedesktop.org/show_bug.cgi?id=72807 ---- - hwdb/60-keyboard.hwdb | 1 + - 1 file changed, 1 insertion(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index fe5b3ee..05e6a04 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -138,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* - KEYBOARD_KEY_ef=mute - - keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* -+keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* - KEYBOARD_KEY_6b=f21 # Touchpad Toggle - - ########################################################### --- -1.7.9.2 - diff --git a/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch b/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch deleted file mode 100644 index 28f7bb2a..00000000 --- a/0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b4c72e52d2109fe7f0ac3440c81ae3e1ce64a143 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Wed, 12 Nov 2014 23:31:08 +0100 -Subject: [PATCH] keymap: Fix special keys on ThinkPad X60/X61 Tablet - -KEY_DIRECTION is mapped to XF86RotateWindows, to rotate the display: -http://cgit.freedesktop.org/xkeyboard-config/commit/symbols/inet?id=ec875f6f9b7c4028e11d32b071989c682e6502bd - -And F13 is mapped to XF86Tools, which is closest to the original toolbox -usage: -http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/inet?id=7a2c4bed212ebbcc05f3c959aef659ce7dd31fd8#n221 ---- - hwdb/60-keyboard.hwdb | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 56a4009..533ad5b 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -585,8 +585,8 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet* - - # ThinkPad X6 Tablet - keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* -- KEYBOARD_KEY_6c=f21 # rotate -- KEYBOARD_KEY_68=screenlock # screenlock -+ KEYBOARD_KEY_6c=direction # rotate -+ KEYBOARD_KEY_68=f13 # toolbox - KEYBOARD_KEY_6b=esc # escape - KEYBOARD_KEY_6d=right # right on d-pad - KEYBOARD_KEY_6e=left # left on d-pad --- -1.7.9.2 - diff --git a/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch b/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch deleted file mode 100644 index 45af9018..00000000 --- a/0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4e3deeedc15b03197d591850061316289245c9a9 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Tue, 7 Oct 2014 11:22:31 +0200 -Subject: [PATCH] keymap: Fix touchpad toggle key on Asus laptops - -https://launchpad.net/bugs/1377352 ---- - hwdb/60-keyboard.hwdb | 1 + - 1 file changed, 1 insertion(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 1fea32a..59f467b 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -153,6 +153,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* - - keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* - keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* -+keyboard:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* - KEYBOARD_KEY_6b=f21 # Touchpad Toggle - - ########################################################### --- -1.7.9.2 - diff --git a/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch b/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch deleted file mode 100644 index e29c01d9..00000000 --- a/0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From aba248ee6b1eb10baf3d89eca2ad7569459af6ab Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 30 Oct 2014 10:15:54 +0100 -Subject: [PATCH] keymap: Ignore brightness keys on Dell Inspiron 1520 to - avoid double events - -On the Dell Inspiron 1520 both the atkbd and acpi-video input devices report -an event for pressing the brightness up / down key-combos, resulting in user -space seeing double events and increasing / decreasing the brightness 2 steps -for each keypress. - -This hwdb snippet suppresses the atkbd events, making the Inspiron 1520 work -like most modern laptops which emit brightness up / down events through -acpi-video only. - -Reported by Pavel Malyshev - -https://bugzilla.redhat.com/show_bug.cgi?id=1141525 ---- - hwdb/60-keyboard.hwdb | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 06caba9..d2ca965 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -230,6 +230,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr* - KEYBOARD_KEY_84=wlan - -+# Dell Inspiron 1520 -+keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr* -+ KEYBOARD_KEY_85=unknown # Brightness Down, also emitted by acpi-video, ignore -+ KEYBOARD_KEY_86=unknown # Brightness Up, also emitted by acpi-video, ignore -+ - # Latitude XT2 - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr* - KEYBOARD_KEY_9b=up # tablet rocker up --- -1.7.9.2 - diff --git a/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch b/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch deleted file mode 100644 index a1934486..00000000 --- a/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 3e6b205f81e743c7354ccbc69eb45afbdbebe2dc Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Tue, 25 Feb 2014 13:08:24 +0100 -Subject: [PATCH] login: set pos-slot to fallback on pos-eviction - -If we evict a session position, we open the position slot for future -sessions. However, there might already be another session on the same -position if both were started on the same VT. This is currently done if -gdm spawns the session on its own Xserver. - -Hence, look for such a session on pos-eviction and claim the new slot -immediately. ---- - src/login/logind-seat.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git src/login/logind-seat.c src/login/logind-seat.c -index 36ec7ed..96cf08e 100644 ---- src/login/logind-seat.c -+++ src/login/logind-seat.c -@@ -459,6 +459,7 @@ int seat_stop_sessions(Seat *s, bool force) { - } - - void seat_evict_position(Seat *s, Session *session) { -+ Session *iter; - unsigned int pos = session->pos; - - session->pos = 0; -@@ -466,8 +467,19 @@ void seat_evict_position(Seat *s, Session *session) { - if (!pos) - return; - -- if (pos < s->position_count && s->positions[pos] == session) -+ if (pos < s->position_count && s->positions[pos] == session) { - s->positions[pos] = NULL; -+ -+ /* There might be another session claiming the same -+ * position (eg., during gdm->session transition), so lets look -+ * for it and set it on the free slot. */ -+ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { -+ if (iter->pos == pos) { -+ s->positions[pos] = iter; -+ break; -+ } -+ } -+ } - } - - void seat_claim_position(Seat *s, Session *session, unsigned int pos) { --- -1.7.9.2 - diff --git a/0002-logind-add-support-for-TPS65217-Power-Button.patch b/0002-logind-add-support-for-TPS65217-Power-Button.patch deleted file mode 100644 index 17a576de..00000000 --- a/0002-logind-add-support-for-TPS65217-Power-Button.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 492d7a3038b154e1813a1ece913a5a27148fec19 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Sat, 27 Sep 2014 09:55:44 +0200 -Subject: [PATCH] logind: add support for TPS65217 Power Button - -This PMIC is found on TI AM335x based boards like the beaglebone and -beaglebone black. - -root@beaglebone-white:~# udevadm info -a /dev/input/event0 - -Udevadm info starts with the device specified by the devpath and then -walks up the chain of parent devices. It prints for every device -found, all possible attributes in the udev rules key format. -A rule to match, can be composed by the attributes of the device -and the attributes from one single parent device. - - looking at device -'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0/event0': - KERNEL=="event0" - SUBSYSTEM=="input" - DRIVER=="" - - looking at parent device -'/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0': - KERNELS=="input0" - SUBSYSTEMS=="input" - DRIVERS=="" - ATTRS{name}=="tps65217_pwr_but" - ATTRS{phys}=="" - ATTRS{uniq}=="" - ATTRS{properties}=="0" - - looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0/0-0024': - KERNELS=="0-0024" - SUBSYSTEMS=="i2c" - DRIVERS=="tps65217" - ATTRS{name}=="tps65217" - - looking at parent device '/devices/ocp.3/44e0b000.i2c/i2c-0': - KERNELS=="i2c-0" - SUBSYSTEMS=="i2c" - DRIVERS=="" - ATTRS{name}=="OMAP I2C adapter" - - looking at parent device '/devices/ocp.3/44e0b000.i2c': - KERNELS=="44e0b000.i2c" - SUBSYSTEMS=="platform" - DRIVERS=="omap_i2c" - - looking at parent device '/devices/ocp.3': - KERNELS=="ocp.3" - SUBSYSTEMS=="platform" - DRIVERS=="" ---- - src/login/70-power-switch.rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/login/70-power-switch.rules src/login/70-power-switch.rules -index a6997f7..695d246 100644 ---- src/login/70-power-switch.rules -+++ src/login/70-power-switch.rules -@@ -10,5 +10,6 @@ ACTION=="remove", GOTO="power_switch_end" - SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" -+SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" - - LABEL="power_switch_end" --- -1.7.9.2 - diff --git a/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch b/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch deleted file mode 100644 index 73ffb867..00000000 --- a/0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 301f9684e6465df5d0590f6c571fe3229ded966d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 15 May 2014 18:30:07 +0200 -Subject: [PATCH] logind: bring polkit policy for hibernate in line with - suspend/poweroff/reboot - -THere's no reason why hibernate should be better protected then -suspendor poweroff, so sync the policies. ---- - src/login/org.freedesktop.login1.policy.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/org.freedesktop.login1.policy.in src/login/org.freedesktop.login1.policy.in -index b96d32d..b8e90f1 100644 ---- src/login/org.freedesktop.login1.policy.in -+++ src/login/org.freedesktop.login1.policy.in -@@ -254,7 +254,7 @@ - - auth_admin_keep - auth_admin_keep -- auth_admin_keep -+ yes - - org.freedesktop.login1.hibernate - --- -1.7.9.2 - diff --git a/0002-logind-fix-printf-format.patch b/0002-logind-fix-printf-format.patch deleted file mode 100644 index 61bbc9aa..00000000 --- a/0002-logind-fix-printf-format.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7e9110a29d90041b0364cb93a84aec9dd72363b6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 19:39:51 +0100 -Subject: [PATCH] logind: fix printf format - ---- - src/login/logind-action.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index da5a830..c9d8bc5 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -81,7 +81,7 @@ int manager_handle_action( - - n = manager_count_displays(m); - if (n != 1) { -- log_debug("Ignoring lid switch request, %s displays connected."); -+ log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } - } --- -1.7.9.2 - diff --git a/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch b/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch deleted file mode 100644 index c3381ef7..00000000 --- a/0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch +++ /dev/null @@ -1,70 +0,0 @@ -From de58a50e24a0d55e3bbcc77f8f6170a7322acf52 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 18 Mar 2014 04:43:08 +0100 -Subject: [PATCH] machined: fix Kill() bus call on machine objects when "what" - is specified as "leader" - ---- - src/machine/machine.c | 10 +++++++++- - src/machine/machined-dbus.c | 4 ++-- - src/machine/machined.h | 2 +- - 3 files changed, 12 insertions(+), 4 deletions(-) - -diff --git src/machine/machine.c src/machine/machine.c -index 4596a80..9a5cc9a 100644 ---- src/machine/machine.c -+++ src/machine/machine.c -@@ -410,7 +410,15 @@ int machine_kill(Machine *m, KillWho who, int signo) { - if (!m->unit) - return -ESRCH; - -- return manager_kill_unit(m->manager, m->unit, who, signo, NULL); -+ if (who == KILL_LEADER) { -+ /* If we shall simply kill the leader, do so directly */ -+ -+ if (kill(m->leader, signo) < 0) -+ return -errno; -+ } -+ -+ /* Otherwise make PID 1 do it for us, for the entire cgroup */ -+ return manager_kill_unit(m->manager, m->unit, signo, NULL); - } - - static const char* const machine_class_table[_MACHINE_CLASS_MAX] = { -diff --git src/machine/machined-dbus.c src/machine/machined-dbus.c -index 09d28bb..9473105 100644 ---- src/machine/machined-dbus.c -+++ src/machine/machined-dbus.c -@@ -655,7 +655,7 @@ int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c - return 1; - } - --int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error) { -+int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error) { - assert(manager); - assert(unit); - -@@ -667,7 +667,7 @@ int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo - "KillUnit", - error, - NULL, -- "ssi", unit, who == KILL_LEADER ? "main" : "all", signo); -+ "ssi", unit, "all", signo); - } - - int manager_unit_is_active(Manager *manager, const char *unit) { -diff --git src/machine/machined.h src/machine/machined.h -index d4b581b..2dba303 100644 ---- src/machine/machined.h -+++ src/machine/machined.h -@@ -67,6 +67,6 @@ int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_b - - int manager_start_scope(Manager *manager, const char *scope, pid_t pid, const char *slice, const char *description, sd_bus_message *more_properties, sd_bus_error *error, char **job); - int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, char **job); --int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error); -+int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error); - int manager_unit_is_active(Manager *manager, const char *unit); - int manager_job_is_active(Manager *manager, const char *path); --- -1.7.9.2 - diff --git a/0002-man-document-yearly-and-annually-in-systemd.time-7.patch b/0002-man-document-yearly-and-annually-in-systemd.time-7.patch deleted file mode 100644 index 521b22cc..00000000 --- a/0002-man-document-yearly-and-annually-in-systemd.time-7.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 8c275eef38bf7e3e592e4cb35a497522d1f15bb6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Jul 2014 22:17:29 -0400 -Subject: [PATCH] man: document yearly and annually in systemd.time(7) - -https://bugs.freedesktop.org/show_bug.cgi?id=81158 ---- - man/systemd.time.xml | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git man/systemd.time.xml man/systemd.time.xml -index 0706cdf..02431a5 100644 ---- man/systemd.time.xml -+++ man/systemd.time.xml -@@ -243,12 +243,16 @@ - - The special expressions - hourly, daily, -- monthly and weekly -- may be used as calendar events which refer to -- *-*-* *:00:00, *-*-* -- 00:00:00, *-*-01 00:00:00 and -- Mon *-*-* 00:00:00, -- respectively. -+ monthly, weekly, -+ and yearly or -+ annually may be used as calendar -+ events which refer to -+ *-*-* *:00:00, -+ *-*-* 00:00:00, -+ *-*-01 00:00:00, -+ Mon *-*-* 00:00:00, and -+ *-01-01 00:00:00 respectively. -+ - - Examples for valid timestamps and their - normalized form: -@@ -277,6 +281,8 @@ Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03 - daily → *-*-* 00:00:00 - monthly → *-*-01 00:00:00 - weekly → Mon *-*-* 00:00:00 -+ yearly → *-01-01 00:00:00 -+ annually → *-01-01 00:00:00 - *:2/3 → *-*-* *:02/3:00 - - Calendar events are used by timer units, see --- -1.7.9.2 - diff --git a/0002-man-note-that-entire-sections-can-now-be-ignored.patch b/0002-man-note-that-entire-sections-can-now-be-ignored.patch deleted file mode 100644 index 2db35728..00000000 --- a/0002-man-note-that-entire-sections-can-now-be-ignored.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2bcc2523711e69e6daa744641e56ed8b78646676 Mon Sep 17 00:00:00 2001 -From: Michael Marineau -Date: Sat, 17 May 2014 16:09:08 -0700 -Subject: [PATCH] man: note that entire sections can now be ignored - -Prefixing a section name with "X-" will cause it and all of its contents -to be silently ignored as of commit 342aea19. ---- - man/systemd.unit.xml | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 157530b..e903156 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -139,10 +139,12 @@ - Unit files may contain additional options on top - of those listed here. If systemd encounters an unknown - option, it will write a warning log message but -- continue loading the unit. If an option is prefixed -- with , it is ignored completely by -- systemd. Applications may use this to include -- additional information in the unit files. -+ continue loading the unit. If an option or section name -+ is prefixed with , it is ignored -+ completely by systemd. Options within an ignored -+ section do not need the prefix. Applications may use -+ this to include additional information in the unit -+ files. - - Boolean arguments used in unit files can be - written in various formats. For positive settings the --- -1.7.9.2 - diff --git a/0002-man-tmpfiles.d-recommend-using-b-and-c.patch b/0002-man-tmpfiles.d-recommend-using-b-and-c.patch deleted file mode 100644 index bb6c70d2..00000000 --- a/0002-man-tmpfiles.d-recommend-using-b-and-c.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210-mod/man/tmpfiles.d.xml ---- systemd-210/man/tmpfiles.d.xml 2014-12-16 10:16:51.269189374 +0100 -+++ systemd-210-mod/man/tmpfiles.d.xml 2014-12-16 10:39:49.937552189 +0100 -@@ -158,12 +158,18 @@ - - - c -- Create a character device node if it does not exist yet. -+ Create a character device node if it does not exist yet. -+ It is recommended to suffix this entry with an exclamation mark to only -+ create static device nodes at boot, as udev will not manage static device -+ nodes that are created at runtime. - - - - b -- Create a block device node if it does not exist yet. -+ Create a block device node if it does not exist yet. -+ It is recommended to suffix this entry with an exclamation mark to only -+ create static device nodes at boot, as udev will not manage static device -+ nodes that re created at runtime. - - - diff --git a/0002-manager-flush-memory-stream-before-using-the-buffer.patch b/0002-manager-flush-memory-stream-before-using-the-buffer.patch deleted file mode 100644 index 39ca371c..00000000 --- a/0002-manager-flush-memory-stream-before-using-the-buffer.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b2cdc6664ef6b56e47d38649d69b9943d9f9f5d0 Mon Sep 17 00:00:00 2001 -From: Daniel Mack -Date: Fri, 7 Mar 2014 14:43:59 +0100 -Subject: [PATCH] manager: flush memory stream before using the buffer - -When the manager receives a SIGUSR2 signal, it opens a memory stream -with open_memstream(), uses the returned file handle for logging, and -dumps the logged content with log_dump(). - -However, the char* buffer is only safe to use after the file handle has -been flushed with fflush, as the man pages states: - - When the stream is closed (fclose(3)) or flushed (fflush(3)), the - locations pointed to by ptr and sizeloc are updated to contain, - respectively, a pointer to the buffer and the current size of the - buffer. - These values remain valid only as long as the caller performs no - further output on the stream. If further output is performed, then the - stream must again be flushed before trying to access these variables. - -Without that call, dump remains NULL and the daemon crashes in -log_dump(). ---- - src/core/manager.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/core/manager.c src/core/manager.c -index 27a1cc6..78f4f3d 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -1621,6 +1621,11 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t - break; - } - -+ if (fflush(f)) { -+ log_warning("Failed to flush status stream"); -+ break; -+ } -+ - log_dump(LOG_INFO, dump); - break; - } --- -1.7.9.2 - diff --git a/0002-namespace-fix-uninitialized-memory-access.patch b/0002-namespace-fix-uninitialized-memory-access.patch deleted file mode 100644 index bb6ea8ea..00000000 --- a/0002-namespace-fix-uninitialized-memory-access.patch +++ /dev/null @@ -1,28 +0,0 @@ -Based on 002b226843e77630128da580225f9c3ef8474db2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 16:27:53 +0200 -Subject: [PATCH] namespace: fix uninitialized memory access - ---- - src/core/namespace.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- src/core/namespace.c -+++ src/core/namespace.c 2014-07-04 00:00:00.000000000 +0000 -@@ -68,6 +68,7 @@ static int append_mounts(BindMount **p, - STRV_FOREACH(i, strv) { - - (*p)->ignore = false; -+ (*p)->done = false; - - if ((mode == INACCESSIBLE || mode == READONLY) && (*i)[0] == '-') { - (*p)->ignore = true; -@@ -298,7 +299,7 @@ int setup_namespace( - private_dev; - - if (n > 0) { -- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); -+ m = mounts = (BindMount *) alloca0(n * sizeof(BindMount)); - r = append_mounts(&m, read_write_dirs, READWRITE); - if (r < 0) - return r; diff --git a/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch b/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch deleted file mode 100644 index dfbf403c..00000000 --- a/0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch +++ /dev/null @@ -1,122 +0,0 @@ -Based on 6d313367d9ef780560e117e886502a99fa220eac Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 5 Jun 2014 21:35:35 +0200 -Subject: [PATCH] namespace: when setting up an inaccessible mount point, - unmounting everything below - -This has the benefit of not triggering any autofs mount points -unnecessarily. - ---- - src/core/namespace.c | 6 ++++ - src/shared/util.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/shared/util.h | 2 + - 3 files changed, 76 insertions(+) - ---- src/core/namespace.c -+++ src/core/namespace.c 2014-06-11 00:00:00.000000000 +0000 -@@ -220,6 +220,12 @@ static int apply_mount( - return mount_dev(m); - - case INACCESSIBLE: -+ -+ /* First, get rid of everything that is below if there -+ * is anything... Then, overmount it with an -+ * inaccessible directory. */ -+ umount_recursive(m->path, 0); -+ - what = "/run/systemd/inaccessible"; - break; - ---- src/shared/util.c -+++ src/shared/util.c 2014-06-11 00:00:00.000000000 +0000 -@@ -54,6 +54,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -4635,6 +4636,73 @@ char *strjoin(const char *x, ...) { - return r; - } - -+int umount_recursive(const char *prefix, int flags) { -+ bool again; -+ int n = 0, r; -+ -+ /* Try to umount everything recursively below a -+ * directory. Also, take care of stacked mounts, and keep -+ * unmounting them until they are gone. */ -+ -+ do { -+ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL; -+ -+ again = false; -+ r = 0; -+ -+ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re"); -+ if (!proc_self_mountinfo) -+ return -errno; -+ -+ for (;;) { -+ _cleanup_free_ char *path = NULL, *p = NULL; -+ int k; -+ -+ k = fscanf(proc_self_mountinfo, -+ "%*s " /* (1) mount id */ -+ "%*s " /* (2) parent id */ -+ "%*s " /* (3) major:minor */ -+ "%*s " /* (4) root */ -+ "%ms " /* (5) mount point */ -+ "%*s" /* (6) mount options */ -+ "%*[^-]" /* (7) optional fields */ -+ "- " /* (8) separator */ -+ "%*s " /* (9) file system type */ -+ "%*s" /* (10) mount source */ -+ "%*s" /* (11) mount options 2 */ -+ "%*[^\n]", /* some rubbish at the end */ -+ &path); -+ -+ if (k != 1) { -+ if (k == EOF) -+ break; -+ -+ continue; -+ } -+ -+ p = cunescape(path); -+ if (!p) -+ return -ENOMEM; -+ -+ if (!path_startswith(p, prefix)) -+ continue; -+ -+ if (umount2(p, flags) < 0) { -+ r = -errno; -+ continue; -+ } -+ -+ again = true; -+ n++; -+ -+ break; -+ } -+ -+ } while (again); -+ -+ return r ? r : n; -+} -+ - bool is_main_thread(void) { - static thread_local int cached = 0; - ---- src/shared/util.h -+++ src/shared/util.h 2014-06-11 10:10:08.000000000 +0000 -@@ -890,3 +890,5 @@ union file_handle_union { - struct file_handle handle; - char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; - }; -+ -+int umount_recursive(const char *target, int flags); diff --git a/0002-nspawn-restore-journal-directory-is-empty-check.patch b/0002-nspawn-restore-journal-directory-is-empty-check.patch deleted file mode 100644 index c3d60bd4..00000000 --- a/0002-nspawn-restore-journal-directory-is-empty-check.patch +++ /dev/null @@ -1,30 +0,0 @@ -From cdb2b9d05a2f3d649f47bd2ba24eb3fe30b52e92 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 May 2014 15:19:46 +0900 -Subject: [PATCH] nspawn: restore journal directory is empty check - -This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9. - -Instead of removing the error message about non-empty journal bind mount -directories, simply downgrade the message to a warning and proceed. ---- - src/nspawn/nspawn.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index ef84664..eb9c5e0 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1143,6 +1143,9 @@ static int setup_journal(const char *directory) { - } else if (access(p, F_OK) < 0) - return 0; - -+ if (dir_is_empty(q) == 0) -+ log_warning("%s is not empty, proceeding anyway.", q); -+ - r = mkdir_p(q, 0755); - if (r < 0) { - log_error("Failed to create %s: %m", q); --- -1.7.9.2 - diff --git a/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch b/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch deleted file mode 100644 index 06a4521c..00000000 --- a/0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 85c08dc013f9f99b58bc9b79284af0b35304237b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 13 May 2014 16:35:34 +0200 -Subject: [PATCH] pam_systemd: use F_DUPFD_CLOEXEC when dupping session fds - -http://lists.freedesktop.org/archives/systemd-devel/2014-May/019034.html ---- - src/login/pam-module.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/pam-module.c src/login/pam-module.c -index 9873dd5..1259457 100644 ---- src/login/pam-module.c -+++ src/login/pam-module.c -@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( - } - - if (session_fd >= 0) { -- session_fd = dup(session_fd); -+ session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3); - if (session_fd < 0) { - pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m"); - return PAM_SESSION_ERR; --- -1.7.9.2 - diff --git a/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch b/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch deleted file mode 100644 index 67ad0284..00000000 --- a/0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch +++ /dev/null @@ -1,116 +0,0 @@ -Based on 4844262f25a3ff6bd23de05a0a6f84a8e2983d74 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 3 Dec 2014 02:02:11 +0100 -Subject: [PATCH] rfkill: rework how we generate file names from rfkill - devices - -Generate the file name from ID_PATH plus the rfkill type (wlan, -bluetooth, ...) and ignore the rfkill device name, since it apparently -is not a stable identifier. - -Also, ensure that devices disappearing don't result in broken services, -simply exit cleanly. ---- - src/rfkill/rfkill.c | 47 ++++++++++++++++++++++++----------------------- - 1 file changed, 24 insertions(+), 23 deletions(-) - ---- src/rfkill/rfkill.c -+++ src/rfkill/rfkill.c 2014-12-05 12:05:59.053518122 +0000 -@@ -28,8 +28,8 @@ - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_device_unref_ struct udev_device *device = NULL; -- _cleanup_free_ char *saved = NULL, *escaped_name = NULL, *escaped_path_id = NULL; -- const char *name, *path_id; -+ _cleanup_free_ char *saved = NULL, *escaped_type = NULL, *escaped_path_id = NULL; -+ const char *name, *type, *path_id; - int r; - - if (argc != 3) { -@@ -55,25 +55,28 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- errno = 0; - device = udev_device_new_from_subsystem_sysname(udev, "rfkill", argv[2]); - if (!device) { -- if (errno != 0) -- log_error("Failed to get rfkill device '%s': %m", argv[2]); -- else -- log_oom(); -- -- return EXIT_FAILURE; -+ log_debug("Failed to get rfkill device '%s', ignoring: %m", argv[2]); -+ return EXIT_SUCCESS; - } - - name = udev_device_get_sysattr_value(device, "name"); - if (!name) { -- log_error("rfkill device has no name?"); -- return EXIT_FAILURE; -+ log_error("rfkill device has no name? Ignoring device."); -+ return EXIT_SUCCESS; -+ } -+ -+ log_debug("Operating on rfkill device '%s'.", name); -+ -+ type = udev_device_get_sysattr_value(device, "type"); -+ if (!type) { -+ log_error("rfkill device has no type? Ignoring device."); -+ return EXIT_SUCCESS; - } - -- escaped_name = cescape(name); -- if (!escaped_name) { -+ escaped_type = cescape(type); -+ if (!escaped_type) { - log_oom(); - return EXIT_FAILURE; - } -@@ -86,9 +89,9 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_name, NULL); -+ saved = strjoin("/var/lib/systemd/rfkill/", escaped_path_id, ":", escaped_type, NULL); - } else -- saved = strjoin("/var/lib/systemd/rfkill/", escaped_name, NULL); -+ saved = strjoin("/var/lib/systemd/rfkill/", escaped_type, NULL); - - if (!saved) { - log_oom(); -@@ -102,19 +105,17 @@ int main(int argc, char *argv[]) { - return EXIT_SUCCESS; - - r = read_one_line_file(saved, &value); -+ if (r == -ENOENT) -+ return EXIT_SUCCESS; - if (r < 0) { -- -- if (r == -ENOENT) -- return EXIT_SUCCESS; -- - log_error("Failed to read %s: %s", saved, strerror(-r)); - return EXIT_FAILURE; - } - - r = udev_device_set_sysattr_value(device, "soft", value); - if (r < 0) { -- log_error("Failed to write system attribute: %s", strerror(-r)); -- return EXIT_FAILURE; -+ log_debug("Failed to write 'soft' attribute on rfkill device, ignoring: %s", strerror(-r)); -+ return EXIT_SUCCESS; - } - - } else if (streq(argv[1], "save")) { -@@ -122,8 +123,8 @@ int main(int argc, char *argv[]) { - - value = udev_device_get_sysattr_value(device, "soft"); - if (!value) { -- log_error("Failed to read system attribute: %s", strerror(-r)); -- return EXIT_FAILURE; -+ log_debug("Failed to read system attribute, ignoring device: %s", strerror(-r)); -+ return EXIT_SUCCESS; - } - - r = write_string_file(saved, value); diff --git a/0002-shell-completion-prevent-mangling-unit-names.patch b/0002-shell-completion-prevent-mangling-unit-names.patch deleted file mode 100644 index 9d8b1324..00000000 --- a/0002-shell-completion-prevent-mangling-unit-names.patch +++ /dev/null @@ -1,67 +0,0 @@ -Based on 6d314eca15f6cbda38d82774b210f784d3d4f52a Mon Sep 17 00:00:00 2001 -From: Eric Cook -Date: Sat, 26 Jul 2014 11:15:52 -0400 -Subject: [PATCH] shell-completion: prevent mangling unit names - -Units with literal hex '\xFF' in their names has to be read -and printed properly. -dev-disk-byx2dlabel-root.device != dev-disk-by\x2dlabel-root.device ---- - shell-completion/zsh/_systemctl.in | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git shell-completion/zsh/_systemctl.in shell-completion/zsh/_systemctl.in -index d364d17..e681ec6 100644 ---- shell-completion/zsh/_systemctl -+++ shell-completion/zsh/_systemctl -@@ -100,7 +100,7 @@ _systemctl_all_units() - if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) && - ! _retrieve_cache SYS_ALL_UNITS; - then -- _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo " $a"; done; }) ) -+ _sys_all_units=( $(__systemctl list-units --all | { while read -r a b; do echo -E - " $a"; done; }) ) - _store_cache SYS_ALL_UNITS _sys_all_units - fi - } -@@ -113,7 +113,7 @@ _systemctl_really_all_units() - if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) && - ! _retrieve_cache SYS_REALLY_ALL_UNITS; - then -- all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo " $a"; done; }) ) -+ all_unit_files=( $(__systemctl list-unit-files | { while read -r a b; do echo -E - " $a"; done; }) ) - _systemctl_all_units - really_all_units=($_sys_all_units $all_unit_files) - _sys_really_all_units=(${(u)really_all_units}) -@@ -138,12 +138,12 @@ _filter_units_by_property() { - done - } - --_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo " $a"; done; }) )} --_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }) )} --_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo " $a"; done; }) )} --_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo " $a"; done; }) )} --_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo " $a"; done; }) )} --_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo " $a"; done; }) )} -+_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} -+_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo -E - " $a"; done; }) )} -+_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} -+_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} -+_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} -+_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "masked" ]] && echo -E - " $a"; done; }) )} - - # Completion functions for ALL_UNITS - for fun in is-active is-failed is-enabled status show cat mask preset help list-dependencies ; do -@@ -219,8 +219,8 @@ for fun in restart reload-or-restart ; do - { - _systemctl_all_units - compadd "$@" - $( _filter_units_by_property CanStart yes \ -- ${_sys_all_units[*]} | while read line; do \ -- [[ "$line" =~ \.device$ ]] || echo " $line"; \ -+ ${_sys_all_units[*]} | while read -r line; do \ -+ [[ "$line" =~ \.device$ ]] || echo -E - " $line"; \ - done ) - } - done --- -1.7.9.2 - diff --git a/0002-shell-completion-propose-templates-for-disable-re-en.patch b/0002-shell-completion-propose-templates-for-disable-re-en.patch deleted file mode 100644 index 3a58e013..00000000 --- a/0002-shell-completion-propose-templates-for-disable-re-en.patch +++ /dev/null @@ -1,111 +0,0 @@ -Based on e9a19bd882ff8a2c8aef5c63b39525ea231e5fb9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 14 Oct 2014 21:10:02 -0400 -Subject: [PATCH] shell-completion: propose templates for - disable/[re]enable/[re]start - -Templates can be [re]enabled, on their own if the have DefaultInstance set, -and with an instance suffix in all cases. Propose just the template name -ending in @, to underline the instance suffix may have to be appended. - -Likewise for start/restart. - -This means that sometimes superflous units that one will not really -want to operate on will be proposed, but this seems better than -proposing a very incomplete set of names. - -https://bugs.freedesktop.org/show_bug.cgi?id=66912 ---- - shell-completion/bash/systemctl | 15 +++++++++++---- - shell-completion/zsh/_systemctl | 20 +++++++++++++------- - 2 files changed, 24 insertions(+), 11 deletions(-) - ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -53,6 +53,9 @@ __filter_units_by_property () { - - __get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ - | { while read -r a b; do echo " $a"; done; }; } -+__get_template_names () { __systemctl $1 list-unit-files \ -+ | { while read -r a b; do [[ $a =~ @\. ]] && echo " ${a%%@.*}@"; done; }; } -+ - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } - __get_startable_units () { -@@ -169,22 +172,26 @@ _systemctl () { - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then -- comps=$( __get_disabled_units $mode ) -+ comps=$( __get_disabled_units $mode; -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then - comps=$( __get_disabled_units $mode; -- __get_enabled_units $mode ) -+ __get_enabled_units $mode; -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -- $( __get_startable_units $mode)) -+ $( __get_startable_units $mode); -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -- $( __get_restartable_units $mode)) -+ $( __get_restartable_units $mode); \ -+ __get_template_names $mode) - compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then ---- shell-completion/zsh/_systemctl -+++ shell-completion/zsh/_systemctl -@@ -139,6 +139,8 @@ _filter_units_by_property() { - } - - _systemctl_all_units() { { __systemctl list-unit-files; __systemctl list-units --all; } | { while read -r a b; do echo -E - " $a"; done; } } -+_systemctl_get_template_names() { __systemctl list-unit-files | { while read -r a b; do [[ $a =~ @\. ]] && echo -E - " ${a%%@.*}@"; done; } } -+ - - _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} - _systemctl_startable_units(){_sys_startable_units=($(__systemctl list-units --state inactive,failed -- $(_systemctl_all_units) | { while read -r a b c d; do [[ $b == "loaded" ]] && echo -E - " $a"; done; }) )} -@@ -158,20 +160,24 @@ for fun in is-active is-failed is-enabled status show cat mask preset help list- - done - - # Completion functions for ENABLED_UNITS --for fun in disable reenable ; do -- (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() -- { -+(( $+functions[_systemctl_disable] )) || _systemctl_disable() -+{ -+ _systemctl_enabled_units -+ compadd "$@" -a - _sys_enabled_units -+} -+ -+(( $+functions[_systemctl_reenable] )) || _systemctl_reenable() -+{ - _systemctl_enabled_units - _systemctl_disabled_units -- compadd "$@" -a - _sys_enabled_units _sys_disabled_units -- } --done -+ compadd "$@" -a - _sys_enabled_units _sys_disabled_units $(_systemctl_get_template_names) -+} - - # Completion functions for DISABLED_UNITS - (( $+functions[_systemctl_enable] )) || _systemctl_enable() - { - _systemctl_disabled_units -- compadd "$@" -a - _sys_disabled_units -+ compadd "$@" -a - _sys_disabled_units $(_systemctl_get_template_names) - } - - # Completion functions for FAILED_UNITS --- -1.7.9.2 - diff --git a/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch b/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch deleted file mode 100644 index 12ad7d2d..00000000 --- a/0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch +++ /dev/null @@ -1,70 +0,0 @@ -Based on 4b5d8d0f22ae61ceb45a25391354ba53b43ee992 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 6 Nov 2014 22:24:13 +0100 -Subject: [PATCH] shutdown: fix arguments to /run/initramfs/shutdown - -Our initrd interface specifies that the verb is in argv[1]. -This is where systemd passes it to systemd-shutdown, but getopt -permutes argv[]. This confuses dracut's shutdown script: - Shutdown called with argument '--log-level'. Rebooting! - -getopt can be convinced to not permute argv[] by having '-' as the first -character of optstring. Let's use it. This requires changing the way -non-option arguments (in our case, the verb) are processed. - -This fixes a bug where the system would reboot instead of powering off. ---- - src/core/shutdown.c | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - ---- src/core/shutdown.c -+++ src/core/shutdown.c 2014-11-10 14:14:20.869519112 +0000 -@@ -75,9 +75,9 @@ static int parse_argv(int argc, char *ar - assert(argc >= 1); - assert(argv); - -- opterr = 0; -- -- while ((c = getopt_long(argc, argv, ":", options, NULL)) >= 0) -+ /* "-" prevents getopt from permuting argv[] and moving the verb away -+ * from argv[1]. Our interface to initrd promises it'll be there. */ -+ while ((c = getopt_long(argc, argv, "-", options, NULL)) >= 0) - switch (c) { - - case ARG_LOG_LEVEL: -@@ -115,27 +115,25 @@ static int parse_argv(int argc, char *ar - - break; - -- case '?': -- log_error("Unknown option %s.", argv[optind-1]); -- return -EINVAL; -+ case '\001': -+ if (!arg_verb) -+ arg_verb = optarg; -+ else -+ log_error("Excess arguments, ignoring"); -+ break; - -- case ':': -- log_error("Missing argument to %s.", argv[optind-1]); -+ case '?': - return -EINVAL; - - default: - assert_not_reached("Unhandled option code."); - } - -- if (optind >= argc) { -+ if (!arg_verb) { - log_error("Verb argument missing."); - return -EINVAL; - } - -- arg_verb = argv[optind]; -- -- if (optind + 1 < argc) -- log_error("Excess arguments, ignoring"); - return 0; - } - diff --git a/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch b/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch deleted file mode 100644 index 73a98020..00000000 --- a/0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch +++ /dev/null @@ -1,36 +0,0 @@ -Based on a2726e5cedfa5edeabd7e0784be11bc578555ac5 Mon Sep 17 00:00:00 2001 -From: Marius Tessmann -Date: Fri, 29 Aug 2014 17:51:45 +0200 -Subject: [PATCH] shutdown: pass own argv to /run/initramfs/shutdown - -Since commit b1e90ec515408aec2702522f6f68c4920b56375b systemd passes -its log settings to systemd-shutdown via command line parameters. -However, systemd-shutdown doesn't pass these parameters to -/run/initramfs/shutdown, causing it to fall back to the default log -settings. - -This fixes the following bugs about the shutdown not being quiet -despite "quiet" being in the kernel parameters: - -https://bugs.freedesktop.org/show_bug.cgi?id=79582 -https://bugs.freedesktop.org/show_bug.cgi?id=57216 ---- - src/core/shutdown.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/shutdown.c -+++ src/core/shutdown.c 2014-10-24 12:32:44.704337960 +0000 -@@ -377,11 +377,11 @@ int main(int argc, char *argv[]) { - - if (prepare_new_root() >= 0 && - pivot_to_new_root() >= 0) { -- arguments[0] = (char*) "/shutdown"; -+ argv[0] = (char*) "/shutdown"; - - log_info("Returning to initrd..."); - -- execv("/shutdown", arguments); -+ execv("/shutdown", argv); - log_error("Failed to execute shutdown binary: %m"); - } - } diff --git a/0002-snapshot-return-error-when-snapshot-exists.patch b/0002-snapshot-return-error-when-snapshot-exists.patch deleted file mode 100644 index 4a7fcfb3..00000000 --- a/0002-snapshot-return-error-when-snapshot-exists.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7cabba07745b388497e8c0fc19b61984167fd474 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 28 Oct 2014 12:36:17 -0400 -Subject: [PATCH] snapshot: return error when snapshot exists - ---- - src/core/snapshot.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/snapshot.c src/core/snapshot.c -index 5eed615..c2678cb 100644 ---- src/core/snapshot.c -+++ src/core/snapshot.c -@@ -208,7 +208,7 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, sd_bus_error *e, - return sd_bus_error_setf(e, SD_BUS_ERROR_INVALID_ARGS, "Unit name %s lacks snapshot suffix.", name); - - if (manager_get_unit(m, name)) -- sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); -+ return sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name); - - } else { - --- -1.7.9.2 - diff --git a/0002-switch-root-umount-the-old-root-correctly.patch b/0002-switch-root-umount-the-old-root-correctly.patch deleted file mode 100644 index df79c8f0..00000000 --- a/0002-switch-root-umount-the-old-root-correctly.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 23f25b1496c31ef4c20b8f3ee8328f7b1d5f3a54 Mon Sep 17 00:00:00 2001 -From: Dan Dedrick -Date: Tue, 29 Jul 2014 15:31:23 -0400 -Subject: [PATCH] switch-root: umount the old root correctly - -The unmount occurs after the pivot_root, so the path used to unmount -should take into account the new root directory. This will allow the -umount to actually succeed. ---- - src/core/switch-root.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/switch-root.c -+++ src/core/switch-root.c 2014-08-22 11:22:50.230735231 +0000 -@@ -122,9 +122,9 @@ int switch_root(const char *new_root) { - - /* Immediately get rid of the old root. Since we are - * running off it we need to do this lazily. */ -- if (umount2(temporary_old_root, MNT_DETACH) < 0) { -+ if (umount2("/mnt", MNT_DETACH) < 0) { - r = -errno; -- log_error("Failed to umount old root dir %s: %m", temporary_old_root); -+ log_error("Failed to umount old root dir /mnt: %m"); - goto fail; - } - diff --git a/0002-sysctl-replaces-some-slashes-with-dots.patch b/0002-sysctl-replaces-some-slashes-with-dots.patch deleted file mode 100644 index d46fd449..00000000 --- a/0002-sysctl-replaces-some-slashes-with-dots.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 2e573fcf8754fdfe0db0a783b1631ec1679b063a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Apr 2014 21:33:46 -0400 -Subject: [PATCH] sysctl: replaces some slashes with dots - -It turns out that plain sysctl understands a.b/c syntax to write to -/proc/sys/a/b.c. Support this for compatibility. - -https://bugs.freedesktop.org/show_bug.cgi?id=77466 ---- - man/sysctl.d.xml | 29 +++++++++++++++++++++-------- - src/sysctl/sysctl.c | 18 ++++++++++++++++-- - 2 files changed, 37 insertions(+), 10 deletions(-) - -diff --git man/sysctl.d.xml man/sysctl.d.xml -index 00a857b..db53b49 100644 ---- man/sysctl.d.xml -+++ man/sysctl.d.xml -@@ -68,13 +68,26 @@ - The configuration files contain a list of - variable assignments, separated by newlines. Empty - lines and lines whose first non-whitespace character -- is # or ; are ignored. -- -- Note that both / and . are accepted as label -- separators within sysctl variable -- names. kernel.domainname=foo and -- kernel/domainname=foo hence are -- entirely equivalent. -+ is # or ; are -+ ignored. -+ -+ Note that either / or -+ . may be used as separators within -+ sysctl variable names. If the first separator is a -+ slash, remaining slashes and dots are left intact. If -+ the first separator is a dot, dots and slashes are -+ interchanged. kernel.domainname=foo -+ and kernel/domainname=foo are -+ equivalent and will cause foo to -+ be written to -+ /proc/sys/kernel/domainname. -+ Either -+ net.ipv4.conf.enp3s0/200.forwarding -+ or -+ net/ipv4/conf/enp3s0.200/forwarding -+ may be used to refer to -+ /proc/sys/net/ipv4/conf/enp3s0.200/forwarding. -+ - - Each configuration file shall be named in the - style of program.conf. -@@ -109,7 +122,7 @@ - early on boot. The network interface-specific options - will also be applied individually for each network - interface as it shows up in the system. (More -- specifically, that is -+ specifically, - net.ipv4.conf.*, - net.ipv6.conf.*, - net.ipv4.neigh.* and net.ipv6.neigh.*) -diff --git src/sysctl/sysctl.c src/sysctl/sysctl.c -index 283eefe..06defa5 100644 ---- src/sysctl/sysctl.c -+++ src/sysctl/sysctl.c -@@ -48,12 +48,26 @@ static const char conf_file_dirs[] = - #endif - ; - --static char *normalize_sysctl(char *s) { -+static char* normalize_sysctl(char *s) { - char *n; - -- for (n = s; *n; n++) -+ n = strpbrk(s, "/."); -+ /* If the first separator is a slash, the path is -+ * assumed to be normalized and slashes remain slashes -+ * and dots remains dots. */ -+ if (!n || *n == '/') -+ return s; -+ -+ /* Otherwise, dots become slashes and slashes become -+ * dots. Fun. */ -+ while (n) { - if (*n == '.') - *n = '/'; -+ else -+ *n = '.'; -+ -+ n = strpbrk(n + 1, "/."); -+ } - - return s; - } --- -1.7.9.2 - diff --git a/0002-systemctl-obey-state-in-list-unit-files.patch b/0002-systemctl-obey-state-in-list-unit-files.patch deleted file mode 100644 index aaa1cbf3..00000000 --- a/0002-systemctl-obey-state-in-list-unit-files.patch +++ /dev/null @@ -1,28 +0,0 @@ -From fec1530e6b5b8d6dc352c7338010357126e84621 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 29 Oct 2014 22:51:00 -0400 -Subject: [PATCH] systemctl: obey --state in list-unit-files - ---- - src/systemctl/systemctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index b71040b..8481a9b 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -1268,6 +1268,11 @@ next: - return false; - } - -+ if (!strv_isempty(arg_states)) { -+ if (!strv_find(arg_states, unit_file_state_to_string(u->state))) -+ return false; -+ } -+ - return true; - } - --- -1.7.9.2 - diff --git a/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch b/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch deleted file mode 100644 index 6a9cd2ac..00000000 --- a/0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c469089cf647ac740c7dcf09c463d2907b6d00eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 22 Nov 2014 20:21:56 -0500 -Subject: [PATCH] systemctl: show BindsTo/BoundBy in list-dependencies - -Suggested-by: Peter Mattern - -http://lists.freedesktop.org/archives/systemd-devel/2014-November/025437.html ---- - src/systemctl/systemctl.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 78b7c96..fd69c69 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -1480,11 +1480,13 @@ static int list_dependencies_get_dependencies(sd_bus *bus, const char *name, cha - "RequiresOverridable\0" - "Requisite\0" - "RequisiteOverridable\0" -- "Wants\0", -+ "Wants\0" -+ "BindsTo\0", - [DEPENDENCY_REVERSE] = "RequiredBy\0" - "RequiredByOverridable\0" - "WantedBy\0" -- "PartOf\0", -+ "PartOf\0" -+ "BoundBy\0", - [DEPENDENCY_AFTER] = "After\0", - [DEPENDENCY_BEFORE] = "Before\0", - }; --- -1.7.9.2 - diff --git a/0002-systemctl-update-NAME-to-PATTERN-in-help.patch b/0002-systemctl-update-NAME-to-PATTERN-in-help.patch deleted file mode 100644 index fd9096b9..00000000 --- a/0002-systemctl-update-NAME-to-PATTERN-in-help.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b3ae710c251d0ce5cf2cef63208e325497b5e323 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 1 Apr 2014 20:43:15 -0400 -Subject: [PATCH] systemctl: update NAME to PATTERN in help() - -Previously the man page was modified, but not help(). ---- - TODO | 2 ++ - src/systemctl/systemctl.c | 14 +++++++------- - 2 files changed, 9 insertions(+), 7 deletions(-) - -diff --git TODO TODO -index 4ff69ff..0343b94 100644 ---- TODO -+++ TODO -@@ -1,4 +1,6 @@ - Bugfixes: -+* Should systemctl status \* work on all unit types, not just .service? -+ - * enabling an instance unit creates a pointless link, and - the unit will be started with getty@getty.service: - $ systemctl enable getty@.service -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 6b88f85..653a324 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -5403,15 +5403,15 @@ static int systemctl_help(void) { - " otherwise restart if active\n" - " isolate NAME Start one unit and stop all others\n" - " kill NAME... Send signal to processes of a unit\n" -- " is-active NAME... Check whether units are active\n" -- " is-failed NAME... Check whether units are failed\n" -- " status [NAME...|PID...] Show runtime status of one or more units\n" -- " show [NAME...|JOB...] Show properties of one or more\n" -+ " is-active PATTERN... Check whether units are active\n" -+ " is-failed PATTERN... Check whether units are failed\n" -+ " status [PATTERN...|PID...] Show runtime status of one or more units\n" -+ " show [PATTERN...|JOB...] Show properties of one or more\n" - " units/jobs or the manager\n" -- " cat NAME... Show files and drop-ins of one or more units\n" -+ " cat PATTERN... Show files and drop-ins of one or more units\n" - " set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n" -- " help NAME...|PID... Show manual for one or more units\n" -- " reset-failed [NAME...] Reset failed state for all, one, or more\n" -+ " help PATTERN...|PID... Show manual for one or more units\n" -+ " reset-failed [PATTERN...] Reset failed state for all, one, or more\n" - " units\n" - " list-dependencies [NAME] Recursively show units which are required\n" - " or wanted by this unit or by which this\n" --- -1.7.9.2 - diff --git a/0002-systemd-fix-error-message.patch b/0002-systemd-fix-error-message.patch deleted file mode 100644 index 778444a8..00000000 --- a/0002-systemd-fix-error-message.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 6ad3b2b62cbe34cc02ee98deb5f48047f5e42d26 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 30 Aug 2014 17:22:42 -0400 -Subject: [PATCH] systemd: fix error message - ---- - src/core/dbus-manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c 2014-09-01 12:51:33.266735961 +0000 -@@ -1114,7 +1114,7 @@ static int method_switch_root(sd_bus *bu - return r; - - if (m->running_as != SYSTEMD_SYSTEM) -- return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "KExec is only supported for system managers."); -+ return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Root switching is only supported by system manager."); - - r = sd_bus_message_read(message, "ss", &root, &init); - if (r < 0) -@@ -1125,7 +1125,7 @@ static int method_switch_root(sd_bus *bu - - /* Safety check */ - if (isempty(init)) { -- if (! path_is_os_tree(root)) -+ if (!path_is_os_tree(root)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified switch root path %s does not seem to be an OS tree. /etc/os-release is missing.", root); - } else { - _cleanup_free_ char *p = NULL; diff --git a/0002-systemd-try-harder-to-bind-to-notify-socket.patch b/0002-systemd-try-harder-to-bind-to-notify-socket.patch deleted file mode 100644 index d0277386..00000000 --- a/0002-systemd-try-harder-to-bind-to-notify-socket.patch +++ /dev/null @@ -1,44 +0,0 @@ -Based on e7bc519620cb7bcdbe2166fc2a446453769d827e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 16 Oct 2014 19:15:38 -0500 -Subject: [PATCH] systemd: try harder to bind to notify socket - -Without the socket open we are going to crash and burn. If for -whatever reason we fail during deserialization we will fail when -trying to open the socket. In this case it is better to unlink the old -socket and maybe lose some messages, than to continue without the -notification socket. - -Of course this situation should not happen, but we should handle -it as gracefully as possible anyway. - -https://bugzilla.redhat.com/show_bug.cgi?id=1099299 ---- - src/core/manager.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-10-20 13:47:21.035837897 +0000 -@@ -572,7 +572,21 @@ static int manager_setup_notify(Manager - r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)); - if (r < 0) { - log_error("bind(@%s) failed: %m", sa.un.sun_path+1); -- return -errno; -+ if (errno == EADDRINUSE) { -+ log_notice("Removing %s socket and trying again.", m->notify_socket); -+ r = unlink(m->notify_socket); -+ if (r < 0) { -+ log_error("Failed to remove %s: %m", m->notify_socket); -+ return -EADDRINUSE; -+ } -+ -+ r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)); -+ if (r < 0) { -+ log_error("bind(@%s) failed: %m", sa.un.sun_path+1); -+ return -errno; -+ } -+ } else -+ return -errno; - } - - r = setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)); diff --git a/0002-time-also-support-infinity-syntax-in-parse_nsec.patch b/0002-time-also-support-infinity-syntax-in-parse_nsec.patch deleted file mode 100644 index c1f4884c..00000000 --- a/0002-time-also-support-infinity-syntax-in-parse_nsec.patch +++ /dev/null @@ -1,40 +0,0 @@ -Based on e73c78c27511b03c7abc55aed87896092c0de699 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 19:07:26 +0200 -Subject: [PATCH] time: also support 'infinity' syntax in parse_nsec() - -Let's make parse_usec() and parse_nsec() work similar ---- - src/shared/time-util.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - ---- src/shared/time-util.c -+++ src/shared/time-util.c -@@ -773,7 +773,7 @@ int parse_nsec(const char *t, nsec_t *nsec) { - { "", 1ULL }, /* default is nsec */ - }; - -- const char *p; -+ const char *p, *s; - nsec_t r = 0; - bool something = false; - -@@ -781,6 +781,18 @@ int parse_nsec(const char *t, nsec_t *nsec) { - assert(nsec); - - p = t; -+ -+ p += strspn(p, WHITESPACE); -+ s = startswith(p, "infinity"); -+ if (s) { -+ s += strspn(s, WHITESPACE); -+ if (!*s != 0) -+ return -EINVAL; -+ -+ *nsec = ((nsec_t) -1); -+ return 0; -+ } -+ - for (;;) { - long long l, z = 0; - char *e; diff --git a/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch b/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch deleted file mode 100644 index 7fab49e6..00000000 --- a/0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 24119cf10c7ed58a8fc0851745149dcc6dd5757f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Mon, 29 Sep 2014 22:32:10 -0400 -Subject: [PATCH] udev/hwdb: New Entry for Dell XPS12 9Q33 keyboard - -https://bugs.freedesktop.org/show_bug.cgi?id=84437 ---- - hwdb/60-keyboard.hwdb | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 0ffcb83..8a1baa7 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -243,6 +243,11 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* - KEYBOARD_KEY_8c=!unknown - -+# Dell XPS12 9Q33 -+keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr* -+ KEYBOARD_KEY_88=wlan -+ KEYBOARD_KEY_65=switchvideomode # Screen Rotate -+ - # Dell Latitude microphone mute - keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* - KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute --- -1.7.9.2 - diff --git a/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch b/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch deleted file mode 100644 index 58189d0f..00000000 --- a/0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch +++ /dev/null @@ -1,18 +0,0 @@ -Basedo n a55954297dade7b432fd3a4f328f23261621ff79 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 19 Jun 2014 19:53:16 +0200 -Subject: [PATCH] units: add missing caps so that GetAddresses() can work - ---- - units/systemd-machined.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- units/systemd-machined.service.in -+++ units/systemd-machined.service.in 2014-06-24 11:26:19.554235869 +0000 -@@ -15,5 +15,5 @@ After=machine.slice - [Service] - ExecStart=@rootlibexecdir@/systemd-machined - BusName=org.freedesktop.machine1 --CapabilityBoundingSet=CAP_KILL -+CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID - WatchdogSec=1min diff --git a/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch b/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch deleted file mode 100644 index 6bc06d23..00000000 --- a/0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 66f311206e908a5b6f21e66fad73e1e5ea3e31d6 Mon Sep 17 00:00:00 2001 -From: Ivan Shapovalov -Date: Wed, 27 Aug 2014 00:17:43 +0400 -Subject: [PATCH] units: order systemd-fsck@.service after - local-fs-pre.target. - -With this change, it becomes possible to order a unit to activate before any -modifications to the file systems. This is especially useful for supporting -resume from hibernation. ---- - units/systemd-fsck@.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git units/systemd-fsck@.service.in units/systemd-fsck@.service.in -index c12efa8..d2cda6a 100644 ---- units/systemd-fsck@.service.in -+++ units/systemd-fsck@.service.in -@@ -10,7 +10,7 @@ Description=File System Check on %f - Documentation=man:systemd-fsck@.service(8) - DefaultDependencies=no - BindsTo=%i.device --After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service local-fs-pre.target - Before=shutdown.target - - [Service] --- -1.7.9.2 - diff --git a/0002-units-serial-getty-.service-use-the-default-RestartS.patch b/0002-units-serial-getty-.service-use-the-default-RestartS.patch deleted file mode 100644 index 3945e4cd..00000000 --- a/0002-units-serial-getty-.service-use-the-default-RestartS.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 4bf04322b8b7ecca4f3d65cfc642d0ac16356129 Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Tue, 15 Jul 2014 18:28:10 +0200 -Subject: [PATCH] units/serial-getty@.service: use the default RestartSec - -For pluggable ttys such as USB serial devices, the getty is restarted -and exits in a loop until the remove event reaches systemd. Under -certain circumstances the restart loop can overload the system in a -way that prevents the remove event from reaching systemd for a long -time (e.g. at least several minutes on a small embedded system). - -Use the default RestartSec to prevent the restart loop from -overloading the system. Serial gettys are interactive units, so -waiting an extra 100ms really doesn't make a difference anyways -compared to the time it takes the user to log in. ---- - units/serial-getty@.service.m4 | 1 - - 1 file changed, 1 deletion(-) - ---- units/serial-getty@.service.m4 -+++ units/serial-getty@.service.m4 2014-07-16 00:00:00.000000000 +0000 -@@ -27,7 +27,6 @@ ExecStart=-/sbin/agetty --keep-baud %I 1 - ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always --RestartSec=0 - UtmpIdentifier=%I - TTYPath=/dev/%I - TTYReset=yes diff --git a/0002-util-avoid-non-portable-__WORDSIZE.patch b/0002-util-avoid-non-portable-__WORDSIZE.patch deleted file mode 100644 index 7c82d91c..00000000 --- a/0002-util-avoid-non-portable-__WORDSIZE.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 8507eb20b64010b26f23822cbf442bb0bf96511c Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Fri, 19 Sep 2014 20:26:53 +0200 -Subject: [PATCH] util: avoid non-portable __WORDSIZE - -Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified -by any spec. Use explicit size comparisons if we're not interested in the -WORDSIZE, anyway. - -(David: adjust commit message to explain why we do this) ---- - src/shared/util.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/shared/util.h -+++ src/shared/util.h 2014-09-24 06:58:11.378235669 +0000 -@@ -166,7 +166,7 @@ int safe_atolli(const char *s, long long - - int safe_atod(const char *s, double *ret_d); - --#if __WORDSIZE == 32 -+#if LONG_MAX == INT_MAX - static inline int safe_atolu(const char *s, unsigned long *ret_u) { - assert_cc(sizeof(unsigned long) == sizeof(unsigned)); - return safe_atou(s, (unsigned*) ret_u); diff --git a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch b/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch deleted file mode 100644 index 7dd59ed5..00000000 --- a/0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 6294aa76d818e831de4592b41a37e225fd0871f9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 12:04:55 +0200 -Subject: [PATCH] util: don't consider tabs special in string_has_cc() anymore - -Instead, take a list of exceptions to our usual CC check ---- - src/hostname/hostnamed.c | 3 +-- - src/shared/env-util.c | 4 +++- - src/shared/fileio.c | 2 +- - src/shared/util.c | 19 ++++++++++--------- - src/shared/util.h | 5 +++-- - 5 files changed, 18 insertions(+), 15 deletions(-) - -Index: src/hostname/hostnamed.c -=================================================================== ---- src/hostname/hostnamed.c.orig -+++ src/hostname/hostnamed.c -@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, - - if (prop == PROP_ICON_NAME && !filename_is_safe(name)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); -- if (prop == PROP_PRETTY_HOSTNAME && -- (string_has_cc(name) || chars_intersect(name, "\t"))) -+ if (prop == PROP_PRETTY_HOSTNAME && string_has_cc(name, NULL)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); - if (prop == PROP_CHASSIS && !valid_chassis(name)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -Index: src/shared/env-util.c -=================================================================== ---- src/shared/env-util.c.orig -+++ src/shared/env-util.c -@@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { - if (!utf8_is_valid(e)) - return false; - -- if (string_has_cc(e)) -+ /* bash allows tabs in environment variables, and so should -+ * we */ -+ if (string_has_cc(e, "\t")) - return false; - - /* POSIX says the overall size of the environment block cannot -Index: src/shared/fileio.c -=================================================================== ---- src/shared/fileio.c.orig -+++ src/shared/fileio.c -@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const - p++; - fwrite(v, 1, p-v, f); - -- if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { -+ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { - fputc('\"', f); - - for (; *p; p++) { -Index: src/shared/util.c -=================================================================== ---- src/shared/util.c.orig -+++ src/shared/util.c -@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { - bool string_is_safe(const char *p) { - const char *t; - -- assert(p); -+ if (!p) -+ return false; - - for (t = p; *t; t++) { - if (*t > 0 && *t < ' ') - return false; - -- if (*t == 127) -- return false; -- -- if (strchr("\\\"\'", *t)) -+ if (strchr("\\\"\'\0x7f", *t)) - return false; - } - -@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { - } - - /** -- * Check if a string contains control characters. -- * Spaces and tabs are not considered control characters. -+ * Check if a string contains control characters. If 'ok' is non-NULL -+ * it may be a string containing additional CCs to be considered OK. - */ --bool string_has_cc(const char *p) { -+bool string_has_cc(const char *p, const char *ok) { - const char *t; - - assert(p); - - for (t = p; *t; t++) { -- if (*t > 0 && *t < ' ' && *t != '\t') -+ if (ok && strchr(ok, *t)) -+ return false; -+ -+ if (*t > 0 && *t < ' ') - return true; - - if (*t == 127) -Index: src/shared/util.h -=================================================================== ---- src/shared/util.h.orig -+++ src/shared/util.h -@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup - bool filename_is_safe(const char *p) _pure_; - bool path_is_safe(const char *p) _pure_; - bool string_is_safe(const char *p) _pure_; --bool string_has_cc(const char *p) _pure_; -+bool string_has_cc(const char *p, const char *ok) _pure_; - - /** - * Check if a string contains any glob patterns. diff --git a/0002-util-fix-has-cc-check-and-add-test.patch b/0002-util-fix-has-cc-check-and-add-test.patch deleted file mode 100644 index f39ad16c..00000000 --- a/0002-util-fix-has-cc-check-and-add-test.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 1cb1767a29458b3d16d6b161b4ee34dd496ff60d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Jul 2014 09:21:15 -0400 -Subject: [PATCH] util: fix has cc check and add test - ---- - src/shared/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/util.c src/shared/util.c -index 3342798..75dc58b 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -5419,7 +5419,7 @@ bool string_has_cc(const char *p, const char *ok) { - - for (t = p; *t; t++) { - if (ok && strchr(ok, *t)) -- return false; -+ continue; - - if (*t > 0 && *t < ' ') - return true; --- -1.7.9.2 - diff --git a/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch b/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch deleted file mode 100644 index 9cd13c2d..00000000 --- a/0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch +++ /dev/null @@ -1,96 +0,0 @@ -Based on 8a7c93d858c342744adf481565d8bb03b9713dcf Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 27 Aug 2014 21:42:20 +0200 -Subject: [PATCH] util: fix minimal race where we might miss SIGTERMs when - forking off an agent - -Before forking, block all signals, and unblock them afterwards. This way -the child will have them blocked, and we won't lose them. ---- - src/shared/util.c | 39 ++++++++++++++++++++++++++++++++++----- - 1 file changed, 34 insertions(+), 5 deletions(-) - ---- src/shared/util.c -+++ src/shared/util.c 2014-08-28 10:32:06.442693437 +0000 -@@ -894,6 +894,18 @@ int reset_all_signal_handlers(void) { - return 0; - } - -+static int reset_signal_mask(void) { -+ sigset_t ss; -+ -+ if (sigemptyset(&ss) < 0) -+ return -errno; -+ -+ if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - char *strstrip(char *s) { - char *e; - -@@ -5119,9 +5131,9 @@ int fd_inc_rcvbuf(int fd, size_t n) { - } - - int fork_agent(pid_t *pid, const int except[], unsigned n_except, const char *path, ...) { -- pid_t parent_pid, agent_pid; -- int fd; - bool stdout_is_tty, stderr_is_tty; -+ pid_t parent_pid, agent_pid; -+ sigset_t ss, saved_ss; - unsigned n, i; - va_list ap; - char **l; -@@ -5129,16 +5141,25 @@ int fork_agent(pid_t *pid, const int exc - assert(pid); - assert(path); - -- parent_pid = getpid(); -- - /* Spawns a temporary TTY agent, making sure it goes away when - * we go away */ - -+ parent_pid = getpid(); -+ -+ /* First we temporarily block all signals, so that the new -+ * child has them blocked initially. This way, we can be sure -+ * that SIGTERMs are not lost we might send to the agent. */ -+ assert_se(sigfillset(&ss) >= 0); -+ assert_se(sigprocmask(SIG_SETMASK, &ss, &saved_ss) >= 0); -+ - agent_pid = fork(); -- if (agent_pid < 0) -+ if (agent_pid < 0) { -+ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); - return -errno; -+ } - - if (agent_pid != 0) { -+ assert_se(sigprocmask(SIG_SETMASK, &saved_ss, NULL) >= 0); - *pid = agent_pid; - return 0; - } -@@ -5149,6 +5170,12 @@ int fork_agent(pid_t *pid, const int exc - if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0) - _exit(EXIT_FAILURE); - -+ /* Make sure we actually can kill the agent, if we need to, in -+ * case somebody invoked us from a shell script that trapped -+ * SIGTERM or so... */ -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ - /* Check whether our parent died before we were able - * to set the death signal */ - if (getppid() != parent_pid) -@@ -5161,6 +5188,8 @@ int fork_agent(pid_t *pid, const int exc - stderr_is_tty = isatty(STDERR_FILENO); - - if (!stdout_is_tty || !stderr_is_tty) { -+ int fd; -+ - /* Detach from stdout/stderr. and reopen - * /dev/tty for them. This is important to - * ensure that when systemctl is started via diff --git a/0002-util-remove-a-unnecessary-check.patch b/0002-util-remove-a-unnecessary-check.patch deleted file mode 100644 index ac7cdfb8..00000000 --- a/0002-util-remove-a-unnecessary-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 42646a8bf24be2c9280554c9d8540c67c835b3c4 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Tue, 16 Sep 2014 22:58:35 +0200 -Subject: [PATCH] util: remove a unnecessary check - -We only break out of the previous loop if fd >= 0 so there is no -use in checking it again. - -Found by coverity. Fixes: CID#1237577 ---- - src/shared/util.c | 3 --- - 1 file changed, 3 deletions(-) - ---- src/shared/util.c -+++ src/shared/util.c 2014-09-18 13:05:08.218236754 +0000 -@@ -1772,9 +1772,6 @@ int open_terminal(const char *name, int - c++; - } - -- if (fd < 0) -- return -errno; -- - r = isatty(fd); - if (r < 0) { - close_nointr_nofail(fd); diff --git a/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch b/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch deleted file mode 100644 index b202ce37..00000000 --- a/0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch +++ /dev/null @@ -1,74 +0,0 @@ -Based on e0a33e7ba619eb44f732aaf23cb249fa43d0ce8d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Jul 2014 13:42:25 +0200 -Subject: [PATCH] util: when unescaping strings, don't allow smuggling in of - additional NUL bytes - -Better safe than sorry. ---- - src/shared/util.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git src/shared/util.c src/shared/util.c -index ceafa01..4ad3f20 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1256,7 +1256,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre - a = unhexchar(f[1]); - b = unhexchar(f[2]); - -- if (a < 0 || b < 0) { -+ if (a < 0 || b < 0 || (a == 0 && b == 0)) { - /* Invalid escape code, let's take it literal then */ - *(t++) = '\\'; - *(t++) = 'x'; -@@ -1283,7 +1283,7 @@ char *cunescape_length_with_prefix(const char *s, size_t length, const char *pre - b = unoctchar(f[1]); - c = unoctchar(f[2]); - -- if (a < 0 || b < 0 || c < 0) { -+ if (a < 0 || b < 0 || c < 0 || (a == 0 && b == 0 && c == 0)) { - /* Invalid escape code, let's take it literal then */ - *(t++) = '\\'; - *(t++) = f[0]; -@@ -1566,8 +1566,7 @@ int chvt(int vt) { - - int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - struct termios old_termios, new_termios; -- char c; -- char line[LINE_MAX]; -+ char c, line[LINE_MAX]; - - assert(f); - assert(ret); -@@ -1604,9 +1603,10 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - } - } - -- if (t != (usec_t) -1) -+ if (t != (usec_t) -1) { - if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0) - return -ETIMEDOUT; -+ } - - if (!fgets(line, sizeof(line), f)) - return -EIO; -@@ -1624,6 +1624,7 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { - } - - int ask(char *ret, const char *replies, const char *text, ...) { -+ int r; - - assert(ret); - assert(replies); -@@ -1632,7 +1633,6 @@ int ask(char *ret, const char *replies, const char *text, ...) { - for (;;) { - va_list ap; - char c; -- int r; - bool need_nl = true; - - if (on_tty()) --- -1.7.9.2 - diff --git a/0002-vconsole-setup-run-setfont-before-loadkeys.patch b/0002-vconsole-setup-run-setfont-before-loadkeys.patch deleted file mode 100644 index 7ef05c2d..00000000 --- a/0002-vconsole-setup-run-setfont-before-loadkeys.patch +++ /dev/null @@ -1,167 +0,0 @@ -Based on abee28c56d523e55751b0c007d0bf812cc285c00 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 1 Jul 2014 22:20:11 -0400 -Subject: [PATCH] vconsole-setup: run setfont before loadkeys - -https://bugs.freedesktop.org/show_bug.cgi?id=80685 - -For SUSE please note that this had been ported on top of the patches - * handle-disable_caplock-and-compose_table-and-kbd_rate.patch - * handle-numlock-value-in-etc-sysconfig-keyboard.patch -that is that now set_kbd_rate() will be called first before font_load(). -Then font_load() is followed by load_compose_table() and afterwards as -in the original commit the keymap_load() follows. - ---- - src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- - 1 file changed, 47 insertions(+), 46 deletions(-) - -Index: src/vconsole/vconsole-setup.c -=================================================================== ---- src/vconsole/vconsole-setup.c.orig -+++ src/vconsole/vconsole-setup.c -@@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, - - int main(int argc, char **argv) { - const char *vc; -- char *vc_keymap = NULL; -- char *vc_keymap_toggle = NULL; -- char *vc_font = NULL; -- char *vc_font_map = NULL; -- char *vc_font_unimap = NULL; -+ _cleanup_free_ char -+ *vc_keymap = NULL, *vc_keymap_toggle = NULL, -+ *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; -+ _cleanup_close_ int fd = -1; - #ifdef HAVE_SYSV_COMPAT -- char *vc_kbd_delay = NULL; -- char *vc_kbd_rate = NULL; -- char *vc_kbd_disable_caps_lock = NULL; -- char *vc_kbd_numlock = NULL; -- char *vc_compose_table = NULL; -+ _cleanup_free_ char -+ *vc_kbd_numlock = NULL, *vc_kbd_delay = NULL, -+ *vc_kbd_rate = NULL, * vc_kbd_disable_caps_lock = NULL, -+ *vc_compose_table = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; -+ bool numlock = false; - #endif -- int fd = -1; - bool utf8; - bool disable_capslock = false; -- bool numlock = false; - pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -377,12 +374,12 @@ int main(int argc, char **argv) { - fd = open_terminal(vc, O_RDWR|O_CLOEXEC); - if (fd < 0) { - log_error("Failed to open %s: %m", vc); -- goto finish; -+ return EXIT_FAILURE; - } - - if (!is_vconsole(fd)) { - log_error("Device %s is not a virtual console.", vc); -- goto finish; -+ return EXIT_FAILURE; - } - - utf8 = is_locale_utf8(); -@@ -464,58 +461,62 @@ int main(int argc, char **argv) { - if (r < 0 && r != -ENOENT) - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } -+#ifdef HAVE_SYSV_COMPAT -+finish: -+ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); -+ if (r < 0) { -+ log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); -+#endif - - if (utf8) - enable_utf8(fd); - else - disable_utf8(fd); - -- r = EXIT_FAILURE; -- -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && --#ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && --#endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; -+ r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); -+ if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } - --finish: -- if (keymap_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -- if (numlock) -- touch("/run/numlock-on"); -- else -- unlink("/run/numlock-on"); -+ if (font_pid > 0) -+ wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - - #ifdef HAVE_SYSV_COMPAT -+ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); -+ if (r < 0) { -+ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ - if (compose_table_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); -- -- if (kbd_rate_pid > 0) -- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); - #endif - -- if (font_pid > 0) { -- wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (font_copy) -- font_copy_to_all_vcs(fd); -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { -+ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); -+ return EXIT_FAILURE; - } - -- free(vc_keymap); -- free(vc_font); -- free(vc_font_map); -- free(vc_font_unimap); -- free(vc_kbd_numlock); -+ if (keymap_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ - #ifdef HAVE_SYSV_COMPAT -- free(vc_kbd_delay); -- free(vc_kbd_rate); -- free(vc_kbd_disable_caps_lock); -- free(vc_compose_table); -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - #endif - -- if (fd >= 0) -- close_nointr_nofail(fd); -+ /* Only copy the font when we started setfont successfully */ -+ if (font_copy && font_pid > 0) -+ font_copy_to_all_vcs(fd); - - return r; - } diff --git a/0003-Add-quotes-to-warning-message.patch b/0003-Add-quotes-to-warning-message.patch deleted file mode 100644 index 3a742bac..00000000 --- a/0003-Add-quotes-to-warning-message.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f0ea29eaeb3449822bfbdfa839b00e323dfc523e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 20 Jul 2014 19:47:42 -0400 -Subject: [PATCH] Add quotes to warning message - -The message for SYSTEMD_LOG_LEVEL= looked a bit strange. ---- - src/shared/log.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git src/shared/log.c src/shared/log.c -index 9039db3..3941e3e 100644 ---- src/shared/log.c -+++ src/shared/log.c -@@ -884,19 +884,19 @@ void log_parse_environment(void) { - - e = secure_getenv("SYSTEMD_LOG_TARGET"); - if (e && log_set_target_from_string(e) < 0) -- log_warning("Failed to parse log target %s. Ignoring.", e); -+ log_warning("Failed to parse log target '%s'. Ignoring.", e); - - e = secure_getenv("SYSTEMD_LOG_LEVEL"); - if (e && log_set_max_level_from_string(e) < 0) -- log_warning("Failed to parse log level %s. Ignoring.", e); -+ log_warning("Failed to parse log level '%s'. Ignoring.", e); - - e = secure_getenv("SYSTEMD_LOG_COLOR"); - if (e && log_show_color_from_string(e) < 0) -- log_warning("Failed to parse bool %s. Ignoring.", e); -+ log_warning("Failed to parse bool '%s'. Ignoring.", e); - - e = secure_getenv("SYSTEMD_LOG_LOCATION"); - if (e && log_show_location_from_string(e) < 0) -- log_warning("Failed to parse bool %s. Ignoring.", e); -+ log_warning("Failed to parse bool '%s'. Ignoring.", e); - } - - LogTarget log_get_target(void) { --- -1.7.9.2 - diff --git a/0003-Always-check-asprintf-return-code.patch b/0003-Always-check-asprintf-return-code.patch deleted file mode 100644 index 00d873f7..00000000 --- a/0003-Always-check-asprintf-return-code.patch +++ /dev/null @@ -1,223 +0,0 @@ -Based on 7de80bfe2e61d5818601ccfddbadad3b7703ed70 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Fri, 25 Jul 2014 15:38:31 +0200 -Subject: [PATCH] Always check asprintf return code - -There is a small number of the places in sources where we don't check -asprintf() return code and assume that after error the function -returns NULL pointer via the first argument. That's wrong, after -error the content of pointer is undefined. ---- - src/core/unit-printf.c | 8 ++++---- - src/cryptsetup/cryptsetup.c | 11 ++++++++--- - src/journal/journalctl.c | 16 +++++++++++----- - src/run/run.c | 20 ++++++++++---------- - src/shared/install.c | 15 +++++++++------ - src/systemctl/systemctl.c | 18 +++++++++--------- - src/tty-ask-password-agent/tty-ask-password-agent.c | 5 +++-- - 7 files changed, 54 insertions(+), 39 deletions(-) - ---- src/core/unit-printf.c -+++ src/core/unit-printf.c 2014-07-28 09:42:20.726235696 +0000 -@@ -182,7 +182,7 @@ static int specifier_user_name(char spec - char *printed = NULL; - Unit *u = userdata; - ExecContext *c; -- int r; -+ int r = 0; - - assert(u); - -@@ -208,7 +208,7 @@ static int specifier_user_name(char spec - if (r < 0) - return -ENODATA; - -- asprintf(&printed, "%lu", (unsigned long) uid); -+ r = asprintf(&printed, "%lu", (unsigned long) uid); - } - } - -@@ -231,10 +231,10 @@ static int specifier_user_name(char spec - if (specifier == 'u') - printed = strdup(username); - else -- asprintf(&printed, "%lu", (unsigned long) uid); -+ r = asprintf(&printed, "%lu", (unsigned long) uid); - } - -- if (!printed) -+ if (r < 0 || !printed) - return -ENOMEM; - - *ret = printed; ---- src/cryptsetup/cryptsetup.c -+++ src/cryptsetup/cryptsetup.c 2014-07-28 00:00:00.000000000 +0000 -@@ -535,13 +535,18 @@ int main(int argc, char *argv[]) { - description = NULL; - } - -+ k = 0; - if (mount_point && description) -- asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); -+ k = asprintf(&name_buffer, "%s (%s) on %s", description, argv[2], mount_point); - else if (mount_point) -- asprintf(&name_buffer, "%s on %s", argv[2], mount_point); -+ k = asprintf(&name_buffer, "%s on %s", argv[2], mount_point); - else if (description) -- asprintf(&name_buffer, "%s (%s)", description, argv[2]); -+ k = asprintf(&name_buffer, "%s (%s)", description, argv[2]); - -+ if (k < 0) { -+ log_oom(); -+ goto finish; -+ } - name = name_buffer ? name_buffer : argv[2]; - - k = crypt_init(&cd, argv[3]); ---- src/journal/journalctl.c -+++ src/journal/journalctl.c 2014-07-28 00:00:00.000000000 +0000 -@@ -746,11 +746,17 @@ static int add_matches(sd_journal *j, ch - } - } else - t = strappend("_EXE=", path); -- } else if (S_ISCHR(st.st_mode)) -- asprintf(&t, "_KERNEL_DEVICE=c%u:%u", major(st.st_rdev), minor(st.st_rdev)); -- else if (S_ISBLK(st.st_mode)) -- asprintf(&t, "_KERNEL_DEVICE=b%u:%u", major(st.st_rdev), minor(st.st_rdev)); -- else { -+ } else if (S_ISCHR(st.st_mode)) { -+ if (asprintf(&t, "_KERNEL_DEVICE=c%u:%u", -+ major(st.st_rdev), -+ minor(st.st_rdev)) < 0) -+ return -ENOMEM; -+ } else if (S_ISBLK(st.st_mode)) { -+ if (asprintf(&t, "_KERNEL_DEVICE=b%u:%u", -+ major(st.st_rdev), -+ minor(st.st_rdev)) < 0) -+ return -ENOMEM; -+ } else { - log_error("File is neither a device node, nor regular file, nor executable: %s", *i); - return -EINVAL; - } ---- src/run/run.c -+++ src/run/run.c 2014-07-28 09:46:36.846235596 +0000 -@@ -309,12 +309,12 @@ static int start_transient_service( - _cleanup_free_ char *name = NULL; - int r; - -- if (arg_unit) -+ if (arg_unit) { - name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".service"); -- else -- asprintf(&name, "run-%lu.service", (unsigned long) getpid()); -- if (!name) -- return -ENOMEM; -+ if (!name) -+ return log_oom(); -+ } else if (asprintf(&name, "run-%lu.service", (unsigned long) getpid()) < 0) -+ return log_oom(); - - r = message_start_transient_unit_new(bus, name, &m); - if (r < 0) -@@ -436,12 +436,12 @@ static int start_transient_scope( - - assert(bus); - -- if (arg_unit) -+ if (arg_unit) { - name = unit_name_mangle_with_suffix(arg_unit, MANGLE_NOGLOB, ".scope"); -- else -- asprintf(&name, "run-%lu.scope", (unsigned long) getpid()); -- if (!name) -- return -ENOMEM; -+ if (!name) -+ return log_oom(); -+ } else if (asprintf(&name, "run-%lu.scope", (unsigned long) getpid()) < 0) -+ return log_oom(); - - r = message_start_transient_unit_new(bus, name, &m); - if (r < 0) ---- src/shared/install.c -+++ src/shared/install.c 2014-07-28 00:00:00.000000000 +0000 -@@ -72,13 +72,16 @@ static int get_config_path(UnitFileScope - - case UNIT_FILE_SYSTEM: - -- if (root_dir && runtime) -- asprintf(&p, "%s/run/systemd/system", root_dir); -- else if (runtime) -+ if (root_dir && runtime) { -+ if (asprintf(&p, "%s/run/systemd/system", root_dir) < 0) -+ return -ENOMEM; -+ } else if (runtime) - p = strdup("/run/systemd/system"); -- else if (root_dir) -- asprintf(&p, "%s/%s", root_dir, SYSTEM_CONFIG_UNIT_PATH); -- else -+ else if (root_dir) { -+ if (asprintf(&p, "%s/%s", root_dir, -+ SYSTEM_CONFIG_UNIT_PATH) < 0) -+ return -ENOMEM; -+ } else - p = strdup(SYSTEM_CONFIG_UNIT_PATH); - - break; ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-07-28 09:51:40.894735541 +0000 -@@ -4639,11 +4639,11 @@ static int enable_sysv_units(const char - - STRV_FOREACH(k, paths.unit_path) { - if (!isempty(arg_root)) -- asprintf(&p, "%s/%s/%s", arg_root, *k, name); -+ j = asprintf(&p, "%s/%s/%s", arg_root, *k, name); - else -- asprintf(&p, "%s/%s", *k, name); -+ j = asprintf(&p, "%s/%s", *k, name); - -- if (!p) { -+ if (j < 0) { - r = log_oom(); - goto finish; - } -@@ -4660,10 +4660,10 @@ static int enable_sysv_units(const char - continue; - - if (!isempty(arg_root)) -- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); -+ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name); - else -- asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); -- if (!p) { -+ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name); -+ if (j < 0) { - r = log_oom(); - goto finish; - } -@@ -4676,10 +4676,10 @@ static int enable_sysv_units(const char - free(p); - p = NULL; - if (!isempty(arg_root)) -- asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); -+ j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); - else -- asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -- if (!p) { -+ j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (j < 0) { - r = log_oom(); - goto finish; - } ---- src/tty-ask-password-agent/tty-ask-password-agent.c -+++ src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-28 00:00:00.000000000 +0000 -@@ -102,8 +102,9 @@ static int ask_password_plymouth( - if (accept_cached) { - packet = strdup("c"); - n = 1; -- } else -- asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), message, &n); -+ } else if (asprintf(&packet, "*\002%c%s%n", (int) (strlen(message) + 1), -+ message, &n) < 0) -+ packet = NULL; - - if (!packet) { - r = -ENOMEM; diff --git a/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch b/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch deleted file mode 100644 index 7f485448..00000000 --- a/0003-Do-not-print-invalid-UTF-8-in-error-messages.patch +++ /dev/null @@ -1,130 +0,0 @@ -From b5d742138f71e87312541a89aac5657015f50f48 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 4 Mar 2014 09:50:26 -0500 -Subject: [PATCH] Do not print invalid UTF-8 in error messages - -Inexplicably, 550a40ec ('core: do not print invalid utf-8 in error -messages') only fixed two paths. Convert all of them now. ---- - src/core/load-fragment.c | 13 ++++--------- - src/shared/conf-parser.c | 7 +++---- - src/shared/conf-parser.h | 6 ++++++ - src/shared/fileio.c | 9 ++++++--- - 4 files changed, 19 insertions(+), 16 deletions(-) - -diff --git src/core/load-fragment.c src/core/load-fragment.c -index d77bf5c..5628d8c 100644 ---- src/core/load-fragment.c -+++ src/core/load-fragment.c -@@ -536,9 +536,7 @@ int config_parse_exec(const char *unit, - } - - if (!utf8_is_valid(path)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", -- rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - r = 0; - goto fail; - } -@@ -553,9 +551,7 @@ int config_parse_exec(const char *unit, - } - - if (!utf8_is_valid(c)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", -- rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - r = 0; - goto fail; - } -@@ -1960,8 +1956,7 @@ int config_parse_unit_requires_mounts_for( - return log_oom(); - - if (!utf8_is_valid(n)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - continue; - } - -diff --git src/shared/conf-parser.c src/shared/conf-parser.c -index 0a87a71..d27b1b7 100644 ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c -@@ -618,8 +618,7 @@ int config_parse_string(const char *unit - return log_oom(); - - if (!utf8_is_valid(n)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "String is not UTF-8 clean, ignoring assignment: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - free(n); - return 0; - } -@@ -656,8 +655,7 @@ int config_parse_path(const char *unit, - assert(data); - - if (!utf8_is_valid(rvalue)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "Path is not UTF-8 clean, ignoring assignment: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - return 0; - } - -@@ -725,8 +723,7 @@ int config_parse_strv(const char *unit, - return log_oom(); - - if (!utf8_is_valid(n)) { -- log_syntax(unit, LOG_ERR, filename, line, EINVAL, -- "String is not UTF-8 clean, ignoring: %s", rvalue); -+ log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); - continue; - } - -diff --git src/shared/conf-parser.h src/shared/conf-parser.h -index e1c7ab4..ba0e58d 100644 ---- src/shared/conf-parser.h -+++ src/shared/conf-parser.h -@@ -121,6 +121,12 @@ int log_syntax_internal(const char *unit, int level, - config_file, config_line, \ - error, __VA_ARGS__) - -+#define log_invalid_utf8(unit, level, config_file, config_line, error, rvalue) { \ -+ _cleanup_free_ char *__p = utf8_escape_invalid(rvalue); \ -+ log_syntax(unit, level, config_file, config_line, error, \ -+ "String is not UTF-8 clean, ignoring assignment: %s", __p); \ -+ } -+ - #define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ - int function(const char *unit, \ - const char *filename, \ -diff --git src/shared/fileio.c src/shared/fileio.c -index d591567..f101269 100644 ---- src/shared/fileio.c -+++ src/shared/fileio.c -@@ -598,15 +598,18 @@ static int load_env_file_push(const char *filename, unsigned line, - int r; - - if (!utf8_is_valid(key)) { -+ _cleanup_free_ char *t = utf8_escape_invalid(key); -+ - log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.", -- filename, line, key); -+ filename, line, t); - return -EINVAL; - } - - if (value && !utf8_is_valid(value)) { -- /* FIXME: filter UTF-8 */ -+ _cleanup_free_ char *t = utf8_escape_invalid(value); -+ - log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.", -- filename, line, key, value); -+ filename, line, key, t); - return -EINVAL; - } - --- -1.7.9.2 - diff --git a/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch b/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch deleted file mode 100644 index 38b777fe..00000000 --- a/0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 8e07fc41f86d41e68c5663b2a3c620a0adedcc11 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 31 Aug 2014 00:42:27 -0400 -Subject: [PATCH] Quote unit names in suggested systemctl commandlines - -The fact that unit names have to be quoted can be a bit surprising. -Show quotes in the hint commandline, but only after checking that this -is necessary, since quotes are visually heavy and usually not needed. - -https://bugs.freedesktop.org/show_bug.cgi?id=82832 ---- - src/core/job.c | 11 +++++++++-- - src/systemctl/systemctl.c | 14 ++++++++++++-- - 2 files changed, 21 insertions(+), 4 deletions(-) - -diff --git src/core/job.c src/core/job.c -index 5e4987f..ef5dbce 100644 ---- src/core/job.c -+++ src/core/job.c -@@ -632,11 +632,18 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { - unit_status_printf(u, ANSI_GREEN_ON " OK " ANSI_HIGHLIGHT_OFF, format); - break; - -- case JOB_FAILED: -+ case JOB_FAILED: { -+ bool quotes; -+ -+ quotes = chars_intersect(u->id, SHELL_NEED_QUOTES); -+ - manager_flip_auto_status(u->manager, true); - unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format); -- manager_status_printf(u->manager, false, NULL, "See 'systemctl status %s' for details.", u->id); -+ manager_status_printf(u->manager, false, NULL, -+ "See \"systemctl status %s%s%s\" for details.", -+ quotes ? "'" : "", u->id, quotes ? "'" : ""); - break; -+ } - - case JOB_DEPENDENCY: - manager_flip_auto_status(u->manager, true); -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 6534819..de43c87 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -2351,8 +2351,18 @@ static int check_wait_response(WaitData *d) { - log_error("Job for %s canceled.", strna(d->name)); - else if (streq(d->result, "dependency")) - log_error("A dependency job for %s failed. See 'journalctl -xn' for details.", strna(d->name)); -- else if (!streq(d->result, "done") && !streq(d->result, "skipped")) -- log_error("Job for %s failed. See 'systemctl status %s' and 'journalctl -xn' for details.", strna(d->name), strna(d->name)); -+ else if (!streq(d->result, "done") && !streq(d->result, "skipped")) { -+ if (d->name) { -+ bool quotes; -+ -+ quotes = chars_intersect(d->name, SHELL_NEED_QUOTES); -+ -+ log_error("Job for %s failed. See \"systemctl status %s%s%s\" and \"journalctl -xn\" for details.", -+ d->name, -+ quotes ? "'" : "", d->name, quotes ? "'" : ""); -+ } else -+ log_error("Job failed. See \"journalctl -xn\" for details."); -+ } - } - - if (streq(d->result, "timeout")) --- -1.7.9.2 - diff --git a/0003-analyze-fix-mem-leak.patch b/0003-analyze-fix-mem-leak.patch deleted file mode 100644 index 10ecbcfc..00000000 --- a/0003-analyze-fix-mem-leak.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0ee9613d98cbe1f36ffc98c6bfa51dd2b798fc6d Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 13 Sep 2014 12:29:43 +0200 -Subject: [PATCH] analyze: fix mem leak - -Found with Coverity. Fixes: CID#1237756 ---- - src/analyze/analyze.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index 1281d6b..82f5cf3 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -848,7 +848,8 @@ static int list_dependencies(sd_bus *bus, const char *name) { - char ts[FORMAT_TIMESPAN_MAX]; - struct unit_times *times; - int r; -- const char *path, *id; -+ const char *id; -+ _cleanup_free_ char *path = NULL; - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - struct boot_times *boot; --- -1.7.9.2 - diff --git a/0003-analyze-fix-plot-with-bad-y-size.patch b/0003-analyze-fix-plot-with-bad-y-size.patch deleted file mode 100644 index 07761449..00000000 --- a/0003-analyze-fix-plot-with-bad-y-size.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a213b7e977221ca96bbc1b19a5a879c912ba2488 Mon Sep 17 00:00:00 2001 -From: Jeffrey Clark -Date: Wed, 23 Apr 2014 22:37:43 +0200 -Subject: [PATCH] analyze: fix plot with bad y size - -systemd-analyze plot > test.svg produces output with all y and height -element attributes equal to zero. This of course causes the resulting -svg to appear blank (zero height). Bug does not affect x86. Looks like -a compiler optimization may be the culprit. - -https://github.com/archlinuxarm/PKGBUILDs/issues/815 ---- - src/analyze/analyze.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/analyze/analyze.c src/analyze/analyze.c -index ba236d9..ebaa9d0 100644 ---- src/analyze/analyze.c -+++ src/analyze/analyze.c -@@ -43,7 +43,7 @@ - #include "pager.h" - - #define SCALE_X (0.1 / 1000.0) /* pixels per us */ --#define SCALE_Y 20.0 -+#define SCALE_Y (20.0) - - #define compare(a, b) (((a) > (b))? 1 : (((b) > (a))? -1 : 0)) - --- -1.7.9.2 - diff --git a/0003-arch-add-crisv32-to-uname-check.patch b/0003-arch-add-crisv32-to-uname-check.patch deleted file mode 100644 index c8a9e7f3..00000000 --- a/0003-arch-add-crisv32-to-uname-check.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9b3a0ba3e9e28382a1072bf0e2c07a3661432743 Mon Sep 17 00:00:00 2001 -From: Umut Tezduyar Lindskog -Date: Thu, 3 Jul 2014 09:54:45 +0200 -Subject: [PATCH] arch: add crisv32 to uname check - ---- - src/shared/architecture.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index 9e0c3ef..7dd049a 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -116,6 +116,7 @@ Architecture uname_architecture(void) { - { "tilegx", ARCHITECTURE_TILEGX }, - #elif defined(__cris__) - { "cris", ARCHITECTURE_CRIS }, -+ { "crisv32", ARCHITECTURE_CRIS }, - #else - #error "Please register your architecture here!" - #endif --- -1.7.9.2 - diff --git a/0003-architecture-add-string-table-entries-for-mips-le-ar.patch b/0003-architecture-add-string-table-entries-for-mips-le-ar.patch deleted file mode 100644 index c3944702..00000000 --- a/0003-architecture-add-string-table-entries-for-mips-le-ar.patch +++ /dev/null @@ -1,52 +0,0 @@ -Based on 037c26d0aeb750ca9c8d605884ea1db7baecfea8 Mon Sep 17 00:00:00 2001 -Based on 9a00f57a5ba7ed431e6bac8d8b36518708503b4e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 14:59:06 +0200 -Subject: [PATCH] architecture: add string table entries for mips-le archs - which were missing - ---- - src/shared/architecture.c | 2 ++ - src/shared/architecture.h | 4 ++++ - 2 files changed, 6 insertions(+) - -diff --git src/shared/architecture.c src/shared/architecture.c -index 6cdca4e..dc45f35 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -153,7 +153,9 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { - [ARCHITECTURE_SPARC] = "sparc", - [ARCHITECTURE_SPARC64] = "sparc64", - [ARCHITECTURE_MIPS] = "mips", -+ [ARCHITECTURE_MIPS_LE] = "mips-le", - [ARCHITECTURE_MIPS64] = "mips64", -+ [ARCHITECTURE_MIPS64_LE] = "mips64-le", - [ARCHITECTURE_ALPHA] = "alpha", - [ARCHITECTURE_ARM] = "arm", - [ARCHITECTURE_ARM_BE] = "arm-be", -diff --git src/shared/architecture.h src/shared/architecture.h -index 20e848b..0807924 100644 ---- src/shared/architecture.h -+++ src/shared/architecture.h -@@ -23,6 +23,8 @@ - - #include "util.h" - -+/* A cleaned up architecture definition */ -+ - typedef enum Architecture { - ARCHITECTURE_X86 = 0, - ARCHITECTURE_X86_64, -@@ -38,7 +40,9 @@ typedef enum Architecture { - ARCHITECTURE_SPARC, - ARCHITECTURE_SPARC64, - ARCHITECTURE_MIPS, -+ ARCHITECTURE_MIPS_LE, - ARCHITECTURE_MIPS64, -+ ARCHITECTURE_MIPS64_LE, - ARCHITECTURE_ALPHA, - ARCHITECTURE_ARM, - ARCHITECTURE_ARM_BE, --- -1.7.9.2 - diff --git a/0003-backlight-unify-error-messages.patch b/0003-backlight-unify-error-messages.patch deleted file mode 100644 index 452de616..00000000 --- a/0003-backlight-unify-error-messages.patch +++ /dev/null @@ -1,115 +0,0 @@ -Based on 938d2699d2e818bd996614e89ea3d668200ad2a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 7 Apr 2014 20:57:22 -0400 -Subject: [PATCH] backlight: unify error messages - ---- - src/backlight/backlight.c | 29 +++++++++++++++++++---------- - 1 file changed, 19 insertions(+), 10 deletions(-) - ---- src/backlight/backlight.c -+++ src/backlight/backlight.c 2014-05-12 13:31:50.502235843 +0000 -@@ -24,6 +24,7 @@ - #include "fileio.h" - #include "libudev.h" - #include "udev-util.h" -+#include "def.h" - - static struct udev_device *find_pci_or_platform_parent(struct udev_device *device) { - struct udev_device *parent; -@@ -50,7 +51,7 @@ static struct udev_device *find_pci_or_p - if (!c) - return NULL; - -- c += strspn(c, "0123456789"); -+ c += strspn(c, DIGITS); - if (*c == '-') { - /* A connector DRM device, let's ignore all but LVDS and eDP! */ - -@@ -67,7 +68,8 @@ static struct udev_device *find_pci_or_p - unsigned long class = 0; - - if (safe_atolu(value, &class) < 0) { -- log_warning("Cannot parse PCI class %s of device %s:%s.", value, subsystem, sysname); -+ log_warning("Cannot parse PCI class %s of device %s:%s.", -+ value, subsystem, sysname); - return NULL; - } - -@@ -175,7 +177,9 @@ static bool validate_device(struct udev - if (same_device(parent, other_parent)) { - /* Both have the same PCI parent, that means - * we are out. */ -- log_debug("Skipping backlight device %s, since backlight device %s is on same PCI device and, takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); -+ log_debug("Skipping backlight device %s, since device %s is on same PCI device and takes precedence.", -+ udev_device_get_sysname(device), -+ udev_device_get_sysname(other)); - return false; - } - -@@ -184,7 +188,9 @@ static bool validate_device(struct udev - /* The other is connected to the platform bus - * and we are a PCI device, that also means we - * are out. */ -- log_debug("Skipping backlight device %s, since backlight device %s is a platform device and takes precedence.", udev_device_get_sysname(device), udev_device_get_sysname(other)); -+ log_debug("Skipping backlight device %s, since device %s is a platform device and takes precedence.", -+ udev_device_get_sysname(device), -+ udev_device_get_sysname(other)); - return false; - } - } -@@ -199,13 +205,14 @@ static unsigned get_max_brightness(struc - - max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); - if (!max_brightness_str) { -- log_warning("Failed to read max_brightness attribute"); -+ log_warning("Failed to read 'max_brightness' attribute"); - return 0; - } - - r = safe_atou(max_brightness_str, &max_brightness); - if (r < 0) { -- log_warning("Failed to parse max_brightness \"%s\": %s", max_brightness_str, strerror(-r)); -+ log_warning("Failed to parse 'max_brightness' \"%s\": %s", -+ max_brightness_str, strerror(-r)); - return 0; - } - -@@ -262,7 +269,8 @@ int main(int argc, char *argv[]) { - - r = mkdir_p("/var/lib/systemd/backlight", 0755); - if (r < 0) { -- log_error("Failed to create backlight directory: %s", strerror(-r)); -+ log_error("Failed to create backlight directory /var/lib/systemd/backlight: %s", -+ strerror(-r)); - return EXIT_FAILURE; - } - -@@ -274,7 +282,7 @@ int main(int argc, char *argv[]) { - - sysname = strchr(argv[2], ':'); - if (!sysname) { -- log_error("Requires pair of subsystem and sysname for specifying backlight device."); -+ log_error("Requires a subsystem and sysname pair specifying a backlight device."); - return EXIT_FAILURE; - } - -@@ -368,7 +376,8 @@ int main(int argc, char *argv[]) { - - r = udev_device_set_sysattr_value(device, "brightness", value); - if (r < 0) { -- log_error("Failed to write system attribute: %s", strerror(-r)); -+ log_error("Failed to write system 'brightness' attribute: %s", -+ strerror(-r)); - return EXIT_FAILURE; - } - -@@ -382,7 +391,7 @@ int main(int argc, char *argv[]) { - - value = udev_device_get_sysattr_value(device, "brightness"); - if (!value) { -- log_error("Failed to read system attribute: %s", strerror(-r)); -+ log_error("Failed to read system 'brightness' attribute: %s", strerror(-r)); - return EXIT_FAILURE; - } - diff --git a/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch b/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch deleted file mode 100644 index 9796af4f..00000000 --- a/0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4155f7d4be5053d5f34a26e5437fd85e1fe00fa3 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 11 Aug 2014 18:23:47 +0200 -Subject: [PATCH] bootchart: it's not OK to return -1 from a main program - ---- - src/bootchart/bootchart.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c -index c0e176d..8ef5ad1 100644 ---- src/bootchart/bootchart.c -+++ src/bootchart/bootchart.c -@@ -380,8 +380,8 @@ int main(int argc, char *argv[]) { - - sampledata = new0(struct list_sample_data, 1); - if (sampledata == NULL) { -- log_error("Failed to allocate memory for a node: %m"); -- return -1; -+ log_oom(); -+ return EXIT_FAILURE; - } - - sampledata->sampletime = gettime_ns(); --- -1.7.9.2 - diff --git a/0003-bootchart-parse-userinput-with-safe_atoi.patch b/0003-bootchart-parse-userinput-with-safe_atoi.patch deleted file mode 100644 index 16378405..00000000 --- a/0003-bootchart-parse-userinput-with-safe_atoi.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9bcf7507fab6e6b022ae3cc7178237e6e0a09e9a Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 26 Sep 2014 21:41:02 +0200 -Subject: [PATCH] bootchart: parse userinput with safe_atoi - -Found by coverity. Fixes: CID#996409 ---- - src/bootchart/store.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/bootchart/store.c src/bootchart/store.c -index ed683e8..3099ff1 100644 ---- src/bootchart/store.c -+++ src/bootchart/store.c -@@ -192,12 +192,14 @@ vmstat_next: - - m = buf; - while (m) { -+ int r; -+ - if (sscanf(m, "%s %*s %*s %*s %*s %*s %*s %s %s", key, rt, wt) < 3) - goto schedstat_next; - - if (strstr(key, "cpu")) { -- c = atoi((const char*)(key+3)); -- if (c > MAXCPUS) -+ r = safe_atoi((const char*)(key+3), &c); -+ if (r < 0 || c > MAXCPUS) - /* Oops, we only have room for MAXCPUS data */ - break; - sampledata->runtime[c] = atoll(rt); --- -1.7.9.2 - diff --git a/0003-busname-don-t-drop-service-from-the-result-string.patch b/0003-busname-don-t-drop-service-from-the-result-string.patch deleted file mode 100644 index 37b7bd5c..00000000 --- a/0003-busname-don-t-drop-service-from-the-result-string.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 700ff4d97311902a440109a2c081731ab6ae8a20 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 7 Mar 2014 17:29:16 +0100 -Subject: [PATCH] busname: don't drop 'service' from the result string - ---- - src/core/busname.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/busname.c src/core/busname.c -index 237011a..bca2145 100644 ---- src/core/busname.c -+++ src/core/busname.c -@@ -548,7 +548,7 @@ DEFINE_STRING_TABLE_LOOKUP(busname_state, BusNameState); - static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { - [BUSNAME_SUCCESS] = "success", - [BUSNAME_FAILURE_RESOURCES] = "resources", -- [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "failed-permanent", -+ [BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT] = "service-failed-permanent", - }; - - DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); --- -1.7.9.2 - diff --git a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch deleted file mode 100644 index 8305035f..00000000 --- a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d1d8e5d49f3149d03ceb94d1d2f6c14e7abccb6f Mon Sep 17 00:00:00 2001 -From: Ronan Le Martret -Date: Tue, 22 Apr 2014 10:33:25 +0200 -Subject: [PATCH] core: You can not put the cached result of use_smack fct, as - we are not sure the "/sys" is mounted. So we should mount - "sys" before "/proc" - -https://bugs.freedesktop.org/show_bug.cgi?id=77646 ---- - src/core/mount-setup.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index ae8447c..991bfdf 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -67,10 +67,10 @@ typedef struct MountPoint { - #define N_EARLY_MOUNT 5 - - static const MountPoint mount_table[] = { -- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -- NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_FATAL|MNT_IN_CONTAINER }, -+ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, - NULL, MNT_FATAL|MNT_IN_CONTAINER }, - { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, --- -1.7.9.2 - diff --git a/0003-core-allow-transient-mount-units.patch b/0003-core-allow-transient-mount-units.patch deleted file mode 100644 index 607bdaea..00000000 --- a/0003-core-allow-transient-mount-units.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 0e252f6b375af59eac9bd6d2fe8dd6ee2f51998d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 6 Jun 2014 15:10:20 +0200 -Subject: [PATCH] core: allow transient mount units - -For now only What=, Options=, Type= are supported, and Where= is deduced -from the unit name. ---- - src/core/dbus-mount.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++- - src/core/mount.c | 2 ++ - 2 files changed, 65 insertions(+), 1 deletion(-) - -diff --git src/core/dbus-mount.c src/core/dbus-mount.c -index e64d3ea..e27019d 100644 ---- src/core/dbus-mount.c -+++ src/core/dbus-mount.c -@@ -124,6 +124,47 @@ const sd_bus_vtable bus_mount_vtable[] = { - SD_BUS_VTABLE_END - }; - -+static int bus_mount_set_transient_property( -+ Mount *m, -+ const char *name, -+ sd_bus_message *message, -+ UnitSetPropertiesMode mode, -+ sd_bus_error *error) { -+ -+ const char *new_property; -+ char **property; -+ char *p; -+ int r; -+ -+ assert(m); -+ assert(name); -+ assert(message); -+ -+ if (streq(name, "What")) -+ property = &m->parameters_fragment.what; -+ else if (streq(name, "Options")) -+ property = &m->parameters_fragment.options; -+ else if (streq(name, "Type")) -+ property = &m->parameters_fragment.fstype; -+ else -+ return 0; -+ -+ r = sd_bus_message_read(message, "s", &new_property); -+ if (r < 0) -+ return r; -+ -+ if (mode != UNIT_CHECK) { -+ p = strdup(new_property); -+ if (!p) -+ return -ENOMEM; -+ -+ free(*property); -+ *property = p; -+ } -+ -+ return 1; -+} -+ - int bus_mount_set_property( - Unit *u, - const char *name, -@@ -132,12 +173,33 @@ int bus_mount_set_property( - sd_bus_error *error) { - - Mount *m = MOUNT(u); -+ int r; - - assert(m); - assert(name); - assert(message); - -- return bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); -+ r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error); -+ if (r != 0) -+ return r; -+ -+ if (u->transient && u->load_state == UNIT_STUB) { -+ /* This is a transient unit, let's load a little more */ -+ -+ r = bus_mount_set_transient_property(m, name, message, mode, error); -+ if (r != 0) -+ return r; -+ -+ r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, mode, error); -+ if (r != 0) -+ return r; -+ -+ r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, mode, error); -+ if (r != 0) -+ return r; -+ } -+ -+ return 0; - } - - int bus_mount_commit_properties(Unit *u) { -diff --git src/core/mount.c src/core/mount.c -index a979837..14ac0a0 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -1819,6 +1819,8 @@ const UnitVTable mount_vtable = { - - .get_timeout = mount_get_timeout, - -+ .can_transient = true, -+ - .enumerate = mount_enumerate, - .shutdown = mount_shutdown, - --- -1.7.9.2 - diff --git a/0003-core-make-sure-to-serialize-jobs-for-all-units.patch b/0003-core-make-sure-to-serialize-jobs-for-all-units.patch deleted file mode 100644 index 30c4615f..00000000 --- a/0003-core-make-sure-to-serialize-jobs-for-all-units.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 9bdb98c59451ed090f8d35d470a54710f389ce71 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 May 2014 01:15:03 +0200 -Subject: [PATCH] core: make sure to serialize jobs for all units - -Previously we wouldn't serialize jobs for units that themselves have -nothing to serialize. - -http://lists.freedesktop.org/archives/systemd-devel/2014-May/019051.html ---- - src/core/manager.c | 3 --- - src/core/unit.c | 43 +++++++++++++++++++++---------------------- - 2 files changed, 21 insertions(+), 25 deletions(-) - -diff --git src/core/manager.c src/core/manager.c -index 1e3e127..d0af674 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -2131,9 +2131,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) { - if (u->id != t) - continue; - -- if (!unit_can_serialize(u)) -- continue; -- - /* Start marker */ - fputs(u->id, f); - fputc('\n', f); -diff --git src/core/unit.c src/core/unit.c -index c4ed923..41651ba 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -2288,25 +2288,25 @@ bool unit_can_serialize(Unit *u) { - } - - int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) { -- ExecRuntime *rt; - int r; - - assert(u); - assert(f); - assert(fds); - -- if (!unit_can_serialize(u)) -- return 0; -- -- r = UNIT_VTABLE(u)->serialize(u, f, fds); -- if (r < 0) -- return r; -+ if (unit_can_serialize(u)) { -+ ExecRuntime *rt; - -- rt = unit_get_exec_runtime(u); -- if (rt) { -- r = exec_runtime_serialize(rt, u, f, fds); -+ r = UNIT_VTABLE(u)->serialize(u, f, fds); - if (r < 0) - return r; -+ -+ rt = unit_get_exec_runtime(u); -+ if (rt) { -+ r = exec_runtime_serialize(rt, u, f, fds); -+ if (r < 0) -+ return r; -+ } - } - - dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); -@@ -2368,17 +2368,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) { - } - - int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { -- size_t offset; - ExecRuntime **rt = NULL; -+ size_t offset; - int r; - - assert(u); - assert(f); - assert(fds); - -- if (!unit_can_serialize(u)) -- return 0; -- - offset = UNIT_VTABLE(u)->exec_runtime_offset; - if (offset > 0) - rt = (ExecRuntime**) ((uint8_t*) u + offset); -@@ -2503,17 +2500,19 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { - continue; - } - -- if (rt) { -- r = exec_runtime_deserialize_item(rt, u, l, v, fds); -+ if (unit_can_serialize(u)) { -+ if (rt) { -+ r = exec_runtime_deserialize_item(rt, u, l, v, fds); -+ if (r < 0) -+ return r; -+ if (r > 0) -+ continue; -+ } -+ -+ r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); - if (r < 0) - return r; -- if (r > 0) -- continue; - } -- -- r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); -- if (r < 0) -- return r; - } - } - --- -1.7.9.2 - diff --git a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch deleted file mode 100644 index 74a3f0e8..00000000 --- a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +++ /dev/null @@ -1,113 +0,0 @@ -From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 May 2014 16:49:12 +0900 -Subject: [PATCH] core: never consider failure when reading drop-ins fatal - -drop-ins don't carry the main configuration of a unit, hence read them -if we can't, complain if we cannot, but don't fail. ---- - src/core/load-dropin.c | 42 +++++++++++++----------------------------- - 1 file changed, 13 insertions(+), 29 deletions(-) - -Index: src/core/load-dropin.c -=================================================================== ---- src/core/load-dropin.c.orig -+++ src/core/load-dropin.c -@@ -58,6 +58,7 @@ static int iterate_dir( - if (errno == ENOENT) - return 0; - -+ log_error("Failed to open directory %s: %m", path); - return -errno; - } - -@@ -101,7 +102,6 @@ static int process_dir( - char ***strv) { - - _cleanup_free_ char *path = NULL; -- int r; - - assert(u); - assert(unit_path); -@@ -112,11 +112,8 @@ static int process_dir( - if (!path) - return log_oom(); - -- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) { -- r = iterate_dir(u, path, dependency, strv); -- if (r < 0) -- return r; -- } -+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) -+ iterate_dir(u, path, dependency, strv); - - if (u->instance) { - _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +127,8 @@ static int process_dir( - if (!p) - return log_oom(); - -- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) { -- r = iterate_dir(u, p, dependency, strv); -- if (r < 0) -- return r; -- } -+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) -+ iterate_dir(u, p, dependency, strv); - } - - return 0; -@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { - SET_FOREACH(t, u->names, i) { - char **p; - -- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { -- /* This loads the drop-in config snippets */ -- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); -- if (r < 0) -- return NULL; -- } -+ STRV_FOREACH(p, u->manager->lookup_paths.unit_path) -+ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); - } - - if (strv_isempty(strv)) -@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { - int unit_load_dropin(Unit *u) { - Iterator i; - char *t, **f; -- int r; - - assert(u); - -@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { - char **p; - - STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { -- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); -- if (r < 0) -- return r; -- -- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); -- if (r < 0) -- return r; -+ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); -+ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); - } - } - -@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { - return 0; - - STRV_FOREACH(f, u->dropin_paths) { -- r = config_parse(u->id, *f, NULL, -- UNIT_VTABLE(u)->sections, config_item_perf_lookup, -- (void*) load_fragment_gperf_lookup, false, false, u); -- if (r < 0) -- return r; -+ config_parse(u->id, *f, NULL, -+ UNIT_VTABLE(u)->sections, config_item_perf_lookup, -+ (void*) load_fragment_gperf_lookup, false, false, u); - } - - u->dropin_mtime = now(CLOCK_REALTIME); diff --git a/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch b/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch deleted file mode 100644 index 5a60b86b..00000000 --- a/0003-core-nicer-message-when-inotify-watches-are-exhauste.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 18abe7bd3e13525b257da69ac49ff7841c289567 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Jul 2014 22:52:53 -0400 -Subject: [PATCH] core: nicer message when inotify watches are exhausted - -inotify_add_watch returns ENOSPC, which translates to -"No space left on device", which is misleading. - -https://bugs.freedesktop.org/show_bug.cgi?id=73628 ---- - src/core/path.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/core/path.c src/core/path.c -index 20e454d..f54c77f 100644 ---- src/core/path.c -+++ src/core/path.c -@@ -99,7 +99,8 @@ int path_spec_watch(PathSpec *s, sd_event_io_handler_t handler) { - break; - } - -- log_warning("Failed to add watch on %s: %m", s->path); -+ log_warning("Failed to add watch on %s: %s", s->path, -+ errno == ENOSPC ? "too many watches" : strerror(-r)); - r = -errno; - if (cut) - *cut = tmp; --- -1.7.9.2 - diff --git a/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch b/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch deleted file mode 100644 index 5424ff1c..00000000 --- a/0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch +++ /dev/null @@ -1,28 +0,0 @@ -Based on 8a52210c9392887a31fdb2845f65b4c5869e8e66 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 24 Nov 2014 09:11:12 -0500 -Subject: [PATCH] cryptsetup: default to no hash when keyfile is specified - -For plain dm-crypt devices, the behavior of cryptsetup package is to -ignore the hash algorithm when a key file is provided. It seems wrong -to ignore a hash when it is explicitly specified, but we should default -to no hash if the keyfile is specified. - -https://bugs.freedesktop.org/show_bug.cgi?id=52630 ---- - src/cryptsetup/cryptsetup.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- src/cryptsetup/cryptsetup.c -+++ src/cryptsetup/cryptsetup.c 2014-12-15 12:00:17.554019752 +0000 -@@ -386,7 +386,9 @@ static int attach_luks_or_plain(struct c - /* plain isn't a real hash type. it just means "use no hash" */ - if (!streq(opt_hash, "plain")) - params.hash = opt_hash; -- } else -+ } else if (!key_file) -+ /* for CRYPT_PLAIN, the behaviour of cryptsetup -+ * package is to not hash when a key file is provided */ - params.hash = "ripemd160"; - - if (opt_cipher) { diff --git a/0003-delta-do-not-use-unicode-chars-in-C-locale.patch b/0003-delta-do-not-use-unicode-chars-in-C-locale.patch deleted file mode 100644 index f7360178..00000000 --- a/0003-delta-do-not-use-unicode-chars-in-C-locale.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 00a5cc3a63c125633e822f39efd9c32223169f62 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 16 Apr 2014 23:33:41 -0400 -Subject: [PATCH] delta: do not use unicode chars in C locale - -https://bugzilla.redhat.com/show_bug.cgi?id=1088418 ---- - src/delta/delta.c | 40 +++++++++++++++++++++++++--------------- - 1 file changed, 25 insertions(+), 15 deletions(-) - -diff --git src/delta/delta.c src/delta/delta.c -index 369f8f8..8fc37c5 100644 ---- src/delta/delta.c -+++ src/delta/delta.c -@@ -85,6 +85,10 @@ static void pager_open_if_enabled(void) { - pager_open(false); - } - -+static inline const char* arrow(void) { -+ return is_locale_utf8() ? "→" : "->"; -+} -+ - static int equivalent(const char *a, const char *b) { - _cleanup_free_ char *x = NULL, *y = NULL; - -@@ -103,8 +107,9 @@ static int notify_override_masked(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_MASKED)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight_red(), "[MASKED]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -112,8 +117,9 @@ static int notify_override_equivalent(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_EQUIVALENT)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight_green(), "[EQUIVALENT]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -121,8 +127,9 @@ static int notify_override_redirected(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_REDIRECTED)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight(), "[REDIRECTED]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -130,8 +137,9 @@ static int notify_override_overridden(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_OVERRIDDEN)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight(), "[OVERRIDDEN]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -139,8 +147,9 @@ static int notify_override_extended(const char *top, const char *bottom) { - if (!(arg_flags & SHOW_EXTENDED)) - return 0; - -- printf("%s%s%s %s → %s\n", -- ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), top, bottom); -+ printf("%s%s%s %s %s %s\n", -+ ansi_highlight(), "[EXTENDED]", ansi_highlight_off(), -+ top, arrow(), bottom); - return 1; - } - -@@ -241,7 +250,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const - return -ENOMEM; - d = p + strlen(toppath) + 1; - -- log_debug("Adding at top: %s → %s", d, p); -+ log_debug("Adding at top: %s %s %s", d, arrow(), p); - k = hashmap_put(top, d, p); - if (k >= 0) { - p = strdup(p); -@@ -253,7 +262,7 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const - return k; - } - -- log_debug("Adding at bottom: %s → %s", d, p); -+ log_debug("Adding at bottom: %s %s %s", d, arrow(), p); - free(hashmap_remove(bottom, d)); - k = hashmap_put(bottom, d, p); - if (k < 0) { -@@ -276,7 +285,8 @@ static int enumerate_dir_d(Hashmap *top, Hashmap *bottom, Hashmap *drops, const - if (!p) - return -ENOMEM; - -- log_debug("Adding to drops: %s → %s → %s", unit, basename(p), p); -+ log_debug("Adding to drops: %s %s %s %s %s", -+ unit, arrow(), basename(p), arrow(), p); - k = hashmap_put(h, basename(p), p); - if (k < 0) { - free(p); -@@ -328,7 +338,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch - if (!p) - return -ENOMEM; - -- log_debug("Adding at top: %s → %s", basename(p), p); -+ log_debug("Adding at top: %s %s %s", basename(p), arrow(), p); - k = hashmap_put(top, basename(p), p); - if (k >= 0) { - p = strdup(p); -@@ -339,7 +349,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch - return k; - } - -- log_debug("Adding at bottom: %s → %s", basename(p), p); -+ log_debug("Adding at bottom: %s %s %s", basename(p), arrow(), p); - free(hashmap_remove(bottom, basename(p))); - k = hashmap_put(bottom, basename(p), p); - if (k < 0) { --- -1.7.9.2 - diff --git a/0003-fileio-label-return-error-when-writing-fails.patch b/0003-fileio-label-return-error-when-writing-fails.patch deleted file mode 100644 index 91ea97d9..00000000 --- a/0003-fileio-label-return-error-when-writing-fails.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on 754fc0c720eb998b8e47e695c12807ced0ff3602 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 3 Oct 2014 08:58:40 -0400 -Subject: [PATCH] fileio-label: return error when writing fails - -The status of actually writing the file was totally ignored. ---- - src/shared/fileio-label.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/shared/fileio-label.c -+++ src/shared/fileio-label.c 2014-10-14 14:52:50.883837740 +0000 -@@ -33,7 +33,7 @@ int write_string_file_atomic_label(const - if (r < 0) - return r; - -- write_string_file_atomic(fn, line); -+ r = write_string_file_atomic(fn, line); - - label_context_clear(); - -@@ -47,7 +47,7 @@ int write_env_file_label(const char *fna - if (r < 0) - return r; - -- write_env_file(fname, l); -+ r = write_env_file(fname, l); - - label_context_clear(); - diff --git a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch b/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch deleted file mode 100644 index 27bfc4e6..00000000 --- a/0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch +++ /dev/null @@ -1,110 +0,0 @@ -Based on 571d0134bd464444567cf4eb0d2ed8df40045f36 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 24 Jun 2014 19:37:22 +0200 -Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true - non-existant - ---- - src/fsck/fsck.c | 32 ++++++++++++++++++++++---------- - src/shared/path-util.c | 26 +++++++++++++++----------- - 2 files changed, 37 insertions(+), 21 deletions(-) - -Index: src/fsck/fsck.c -=================================================================== ---- src/fsck/fsck.c.orig -+++ src/fsck/fsck.c -@@ -37,6 +37,7 @@ - #include "bus-errors.h" - #include "fileio.h" - #include "udev-util.h" -+#include "path-util.h" - - static bool arg_skip = false; - static bool arg_force = false; -@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { - - type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); - if (type) { -- const char *checker = strappenda("/sbin/fsck.", type); -- r = access(checker, X_OK); -- if (r < 0) { -- if (errno == ENOENT) { -- log_info("%s doesn't exist, not checking file system on %s", -- checker, device); -- return EXIT_SUCCESS; -- } else -- log_warning("%s cannot be used for %s: %m", -- checker, device); -+ _cleanup_free_ char *p = NULL, *d = NULL; -+ const char *checker = strappenda("fsck.", type); -+ r = find_binary(checker, &p); -+ if (r == -ENOENT) { -+ log_info("fsck.%s doesn't exist, not checking file system on %s", -+ type, device); -+ return EXIT_SUCCESS; -+ } else if (r < 0) { -+ log_warning("fsck.%s cannot be used for %s: %m", -+ type, device); -+ return r; -+ } -+ -+ /* An fsck that is linked to /bin/true is a non-existant fsck */ -+ r = readlink_malloc(p, &d); -+ if (r >= 0 && -+ (path_equal(d, "/bin/true") || -+ path_equal(d, "/usr/bin/true") || -+ path_equal(d, "/dev/null"))) { -+ log_info("fsck.%s doesn't exist, not checking file system on %s", -+ type, device); -+ return EXIT_SUCCESS; - } - } - -Index: src/shared/path-util.c -=================================================================== ---- src/shared/path-util.c.orig -+++ src/shared/path-util.c -@@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { - - int find_binary(const char *name, char **filename) { - assert(name); -- assert(filename); - -- if (strchr(name, '/')) { -- char *p; -+ if (is_path(name)) { -+ if (access(name, X_OK) < 0) -+ return -errno; -+ -+ if (filename) { -+ char *p; - -- if (path_is_absolute(name)) -- p = strdup(name); -- else - p = path_make_absolute_cwd(name); -- if (!p) -- return -ENOMEM; -+ if (!p) -+ return -ENOMEM; -+ -+ *filename = p; -+ } - -- *filename = p; - return 0; - } else { - const char *path; -@@ -463,8 +465,10 @@ int find_binary(const char *name, char * - continue; - } - -- path_kill_slashes(p); -- *filename = p; -+ if (filename) { -+ path_kill_slashes(p); -+ *filename = p; -+ } - - return 0; - } diff --git a/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch b/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch deleted file mode 100644 index 6515929b..00000000 --- a/0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch +++ /dev/null @@ -1,51583 +0,0 @@ -Based on d060b62fcb4746d3758c567e9379c6728a035b66 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 14 Apr 2014 07:54:35 -0700 -Subject: [PATCH] hwdb: PCI - include "primary" model string in subsystem - model string - -The data in the PCI ids file is randomly inconsistent. Many -subvendor model strings just describe the "product" where the -hardware is built into, not the hardware itself. This causes -some "Network Card Model Foo" to show up as "Laptop Model Bar". - -Try to make the best out of this mess and concatenate both -strings to describe the hardware. ---- - hwdb/20-pci-vendor-model.hwdb |21356 +++++++++++++++++++++--------------------- - 1 file changed, 10678 insertions(+), 10678 deletions(-) - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index d54cb2a..14637d3 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -15,10 +15,10 @@ pci:v0000001Cd00000001* - ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller - - pci:v0000001Cd00000001sv0000001Csd00000004* -- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 -+ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000) - - pci:v0000001Cd00000001sv0000001Csd00000005* -- ID_MODEL_FROM_DATABASE=2 Channel CAN Bus SJC1000 (Optically Isolated) -+ ID_MODEL_FROM_DATABASE=PCAN-PCI CAN-Bus controller (2 Channel CAN Bus SJC1000 (Optically Isolated)) - - pci:v0000003D* - ID_VENDOR_FROM_DATABASE=Lockheed Martin-Marietta Corp -@@ -189,19 +189,19 @@ pci:v00000E11d00000046* - ID_MODEL_FROM_DATABASE=Smart Array 64xx - - pci:v00000E11d00000046sv00000E11sd00004091* -- ID_MODEL_FROM_DATABASE=Smart Array 6i -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6i) - - pci:v00000E11d00000046sv00000E11sd0000409A* -- ID_MODEL_FROM_DATABASE=Smart Array 641 -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 641) - - pci:v00000E11d00000046sv00000E11sd0000409B* -- ID_MODEL_FROM_DATABASE=Smart Array 642 -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 642) - - pci:v00000E11d00000046sv00000E11sd0000409C* -- ID_MODEL_FROM_DATABASE=Smart Array 6400 -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400) - - pci:v00000E11d00000046sv00000E11sd0000409D* -- ID_MODEL_FROM_DATABASE=Smart Array 6400 EM -+ ID_MODEL_FROM_DATABASE=Smart Array 64xx (Smart Array 6400 EM) - - pci:v00000E11d00000049* - ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module -@@ -321,7 +321,7 @@ pci:v00000E11d0000A0F0* - ID_MODEL_FROM_DATABASE=Advanced System Management Controller - - pci:v00000E11d0000A0F0sv00000E11sd0000B0F3* -- ID_MODEL_FROM_DATABASE=ProLiant DL360 -+ ID_MODEL_FROM_DATABASE=Advanced System Management Controller (ProLiant DL360) - - pci:v00000E11d0000A0F3* - ID_MODEL_FROM_DATABASE=Triflex PCI to ISA Bridge -@@ -330,10 +330,10 @@ pci:v00000E11d0000A0F7* - ID_MODEL_FROM_DATABASE=PCI Hotplug Controller - - pci:v00000E11d0000A0F7sv00008086sd0000002A* -- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller A -+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (A) - - pci:v00000E11d0000A0F7sv00008086sd0000002B* -- ID_MODEL_FROM_DATABASE=PCI Hotplug Controller B -+ ID_MODEL_FROM_DATABASE=PCI Hotplug Controller (B) - - pci:v00000E11d0000A0F8* - ID_MODEL_FROM_DATABASE=ZFMicro Chipset USB -@@ -345,19 +345,19 @@ pci:v00000E11d0000AE10* - ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller - - pci:v00000E11d0000AE10sv00000E11sd00004030* -- ID_MODEL_FROM_DATABASE=Smart-2/P Array Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2/P Array Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004031* -- ID_MODEL_FROM_DATABASE=Smart-2SL Array Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart-2SL Array Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004032* -- ID_MODEL_FROM_DATABASE=Smart Array 3200 Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3200 Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004033* -- ID_MODEL_FROM_DATABASE=Smart Array 3100ES Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 3100ES Controller) - - pci:v00000E11d0000AE10sv00000E11sd00004034* -- ID_MODEL_FROM_DATABASE=Smart Array 221 Controller -+ ID_MODEL_FROM_DATABASE=Smart-2/P RAID Controller (Smart Array 221 Controller) - - pci:v00000E11d0000AE29* - ID_MODEL_FROM_DATABASE=MIS-L -@@ -468,13 +468,13 @@ pci:v00000E11d0000B178* - ID_MODEL_FROM_DATABASE=Smart Array 5i/532 - - pci:v00000E11d0000B178sv00000E11sd00004080* -- ID_MODEL_FROM_DATABASE=Smart Array 5i -+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5i) - - pci:v00000E11d0000B178sv00000E11sd00004082* -- ID_MODEL_FROM_DATABASE=Smart Array 532 -+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 532) - - pci:v00000E11d0000B178sv00000E11sd00004083* -- ID_MODEL_FROM_DATABASE=Smart Array 5312 -+ ID_MODEL_FROM_DATABASE=Smart Array 5i/532 (Smart Array 5312) - - pci:v00000E11d0000B1A4* - ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter -@@ -516,7 +516,7 @@ pci:v00001000d00000001* - ID_MODEL_FROM_DATABASE=53c810 - - pci:v00001000d00000001sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C810AE PCI to SCSI I/O Processor -+ ID_MODEL_FROM_DATABASE=53c810 (LSI53C810AE PCI to SCSI I/O Processor) - - pci:v00001000d00000002* - ID_MODEL_FROM_DATABASE=53c820 -@@ -525,7 +525,7 @@ pci:v00001000d00000003* - ID_MODEL_FROM_DATABASE=53c825 - - pci:v00001000d00000003sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) -+ ID_MODEL_FROM_DATABASE=53c825 (LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide)) - - pci:v00001000d00000004* - ID_MODEL_FROM_DATABASE=53c815 -@@ -537,49 +537,49 @@ pci:v00001000d00000006* - ID_MODEL_FROM_DATABASE=53c860 - - pci:v00001000d00000006sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C860E PCI to Ultra SCSI I/O Processor -+ ID_MODEL_FROM_DATABASE=53c860 (LSI53C860E PCI to Ultra SCSI I/O Processor) - - pci:v00001000d0000000A* - ID_MODEL_FROM_DATABASE=53c1510 - - pci:v00001000d0000000Asv00000E11sd0000B143* -- ID_MODEL_FROM_DATABASE=Integrated Dual Channel Wide Ultra2 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1510 (Integrated Dual Channel Wide Ultra2 SCSI Controller) - - pci:v00001000d0000000Asv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) -+ ID_MODEL_FROM_DATABASE=53c1510 (LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode)) - - pci:v00001000d0000000B* - ID_MODEL_FROM_DATABASE=53C896/897 - - pci:v00001000d0000000Bsv00000E11sd00006004* -- ID_MODEL_FROM_DATABASE=EOB003 Series SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53C896/897 (EOB003 Series SCSI host adapter) - - pci:v00001000d0000000Bsv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller -+ ID_MODEL_FROM_DATABASE=53C896/897 (LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller) - - pci:v00001000d0000000Bsv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53C896/897 (LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter) - - pci:v00001000d0000000Bsv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53C896/897 (LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter) - - pci:v00001000d0000000Bsv000013E9sd00001000* -- ID_MODEL_FROM_DATABASE=6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics) -+ ID_MODEL_FROM_DATABASE=53C896/897 (6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics)) - - pci:v00001000d0000000C* - ID_MODEL_FROM_DATABASE=53c895 - - pci:v00001000d0000000Csv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=LSI8951U PCI to Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c895 (LSI8951U PCI to Ultra2 SCSI host adapter) - - pci:v00001000d0000000Csv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=LSI8952U PCI to Ultra2 SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c895 (LSI8952U PCI to Ultra2 SCSI host adapter) - - pci:v00001000d0000000Csv00001DE1sd00003906* -- ID_MODEL_FROM_DATABASE=DC-390U2B SCSI adapter -+ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2B SCSI adapter) - - pci:v00001000d0000000Csv00001DE1sd00003907* -- ID_MODEL_FROM_DATABASE=DC-390U2W -+ ID_MODEL_FROM_DATABASE=53c895 (DC-390U2W) - - pci:v00001000d0000000D* - ID_MODEL_FROM_DATABASE=53c885 -@@ -588,151 +588,151 @@ pci:v00001000d0000000F* - ID_MODEL_FROM_DATABASE=53c875 - - pci:v00001000d0000000Fsv00000E11sd00007004* -- ID_MODEL_FROM_DATABASE=Embedded Ultra Wide SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875 (Embedded Ultra Wide SCSI Controller) - - pci:v00001000d0000000Fsv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C876/E PCI to Dual Channel SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875 (LSI53C876/E PCI to Dual Channel SCSI Controller) - - pci:v00001000d0000000Fsv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=LSI22801 PCI to Dual Channel Ultra SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c875 (LSI22801 PCI to Dual Channel Ultra SCSI host adapter) - - pci:v00001000d0000000Fsv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=LSI22802 PCI to Dual Channel Ultra SCSI host adapter -+ ID_MODEL_FROM_DATABASE=53c875 (LSI22802 PCI to Dual Channel Ultra SCSI host adapter) - - pci:v00001000d0000000Fsv00001092sd00008760* -- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875 (FirePort 40 Dual SCSI Controller) - - pci:v00001000d0000000Fsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Wide Ultra SCSI -+ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Wide Ultra SCSI) - - pci:v00001000d0000000Fsv00001775sd000010D1* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Ultra SCSI -+ ID_MODEL_FROM_DATABASE=53c875 (V5D Single Board Computer Ultra SCSI) - - pci:v00001000d0000000Fsv00001DE1sd00003904* -- ID_MODEL_FROM_DATABASE=DC390F/U Ultra Wide SCSI Adapter -+ ID_MODEL_FROM_DATABASE=53c875 (DC390F/U Ultra Wide SCSI Adapter) - - pci:v00001000d0000000Fsv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=53c875 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00001000d0000000Fsv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=53c875 (CT7 mainboard) - - pci:v00001000d00000010* - ID_MODEL_FROM_DATABASE=53C1510 - - pci:v00001000d00000010sv00000E11sd00004040* -- ID_MODEL_FROM_DATABASE=Integrated Smart Array Controller -+ ID_MODEL_FROM_DATABASE=53C1510 (Integrated Smart Array Controller) - - pci:v00001000d00000010sv00000E11sd00004048* -- ID_MODEL_FROM_DATABASE=RAID LC2 Controller -+ ID_MODEL_FROM_DATABASE=53C1510 (RAID LC2 Controller) - - pci:v00001000d00000010sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) -+ ID_MODEL_FROM_DATABASE=53C1510 (PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode)) - - pci:v00001000d00000012* - ID_MODEL_FROM_DATABASE=53c895a - - pci:v00001000d00000012sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C895A PCI to Ultra2 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c895a (LSI53C895A PCI to Ultra2 SCSI Controller) - - pci:v00001000d00000013* - ID_MODEL_FROM_DATABASE=53c875a - - pci:v00001000d00000013sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C875A PCI to Ultra SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875a (LSI53C875A PCI to Ultra SCSI Controller) - - pci:v00001000d00000020* - ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter - - pci:v00001000d00000020sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller) - - pci:v00001000d00000020sv0000107Bsd00001040* -- ID_MODEL_FROM_DATABASE=Server Onboard 53C1010-33 -+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (Server Onboard 53C1010-33) - - pci:v00001000d00000020sv00001DE1sd00001020* -- ID_MODEL_FROM_DATABASE=DC-390U3W -+ ID_MODEL_FROM_DATABASE=53c1010 Ultra3 SCSI Adapter (DC-390U3W) - - pci:v00001000d00000021* - ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter - - pci:v00001000d00000021sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller) - - pci:v00001000d00000021sv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=Asus TR-DLS onboard 53C1010-66 -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Asus TR-DLS onboard 53C1010-66) - - pci:v00001000d00000021sv0000103Csd00001300* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [AB306A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [AB306A]) - - pci:v00001000d00000021sv0000103Csd00001310* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A9918A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A9918A]) - - pci:v00001000d00000021sv0000103Csd00001330* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7059A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7059A]) - - pci:v00001000d00000021sv0000103Csd00001340* -- ID_MODEL_FROM_DATABASE=Ultra160 SCSI [A7060A] -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (Ultra160 SCSI [A7060A]) - - pci:v00001000d00000021sv0000124Bsd00001070* -- ID_MODEL_FROM_DATABASE=PMC-USCSI3 -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (PMC-USCSI3) - - pci:v00001000d00000021sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (CT8 mainboard) - - pci:v00001000d00000021sv00004C53sd00001300* -- ID_MODEL_FROM_DATABASE=P017 mezzanine (32-bit PMC) -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (32-bit PMC)) - - pci:v00001000d00000021sv00004C53sd00001310* -- ID_MODEL_FROM_DATABASE=P017 mezzanine (64-bit PMC) -+ ID_MODEL_FROM_DATABASE=53c1010 66MHz Ultra3 SCSI Adapter (P017 mezzanine (64-bit PMC)) - - pci:v00001000d0000002F* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] - - pci:v00001000d0000002Fsv00001028sd00001F3E* -- ID_MODEL_FROM_DATABASE=SPERC 8 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 IOV [Thunderbolt] (SPERC 8) - - pci:v00001000d00000030* - ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI - - pci:v00001000d00000030sv00000E11sd000000DA* -- ID_MODEL_FROM_DATABASE=ProLiant ML 350 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (ProLiant ML 350) - - pci:v00001000d00000030sv00001028sd00000123* -- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) - - pci:v00001000d00000030sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) - - pci:v00001000d00000030sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4)) - - pci:v00001000d00000030sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=LSI Logic 1020/1030 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic 1020/1030) - - pci:v00001000d00000030sv00001028sd0000018A* -- ID_MODEL_FROM_DATABASE=PERC 4/IM -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PERC 4/IM) - - pci:v00001000d00000030sv00001028sd00001010* -- ID_MODEL_FROM_DATABASE=LSI U320 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI U320 SCSI Controller) - - pci:v00001000d00000030sv0000103Csd000012C5* -- ID_MODEL_FROM_DATABASE=Ultra320 SCSI [A7173A] -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Ultra320 SCSI [A7173A]) - - pci:v00001000d00000030sv0000103Csd00001323* -- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Core I/O LAN/SCSI Combo [AB314A]) - - pci:v00001000d00000030sv0000103Csd00003108* -- ID_MODEL_FROM_DATABASE=Single Channel Ultra320 SCSI HBA G2 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (Single Channel Ultra320 SCSI HBA G2) - - pci:v00001000d00000030sv0000124Bsd00001170* -- ID_MODEL_FROM_DATABASE=PMC-USCSI320 -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PMC-USCSI320) - - pci:v00001000d00000030sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=LSI Logic Parallel SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI Logic Parallel SCSI Controller) - - pci:v00001000d00000030sv00001734sd00001052* -- ID_MODEL_FROM_DATABASE=PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) -+ ID_MODEL_FROM_DATABASE=53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (PRIMERGY BX/RX/TX S2 series onboard SCSI(IME)) - - pci:v00001000d00000031* - ID_MODEL_FROM_DATABASE=53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI -@@ -741,7 +741,7 @@ pci:v00001000d00000032* - ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI - - pci:v00001000d00000032sv00001000sd00001000* -- ID_MODEL_FROM_DATABASE=LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller) - - pci:v00001000d00000033* - ID_MODEL_FROM_DATABASE=1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI -@@ -750,10 +750,10 @@ pci:v00001000d00000040* - ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI - - pci:v00001000d00000040sv00001000sd00000033* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XR -+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XR) - - pci:v00001000d00000040sv00001000sd00000066* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2XRWS -+ ID_MODEL_FROM_DATABASE=53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI (MegaRAID SCSI 320-2XRWS) - - pci:v00001000d00000041* - ID_MODEL_FROM_DATABASE=53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI -@@ -762,73 +762,73 @@ pci:v00001000d00000050* - ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS - - pci:v00001000d00000050sv00001028sd00001F04* -- ID_MODEL_FROM_DATABASE=SAS 5/E -+ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5/E) - - pci:v00001000d00000050sv00001028sd00001F09* -- ID_MODEL_FROM_DATABASE=SAS 5i/R -+ ID_MODEL_FROM_DATABASE=SAS1064 PCI-X Fusion-MPT SAS (SAS 5i/R) - - pci:v00001000d00000054* - ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS - - pci:v00001000d00000054sv00001028sd00001F04* -- ID_MODEL_FROM_DATABASE=SAS 5/E Adapter Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/E Adapter Controller) - - pci:v00001000d00000054sv00001028sd00001F05* -- ID_MODEL_FROM_DATABASE=SAS 5/i Adapter Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Adapter Controller) - - pci:v00001000d00000054sv00001028sd00001F06* -- ID_MODEL_FROM_DATABASE=SAS 5/i Integrated Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/i Integrated Controller) - - pci:v00001000d00000054sv00001028sd00001F07* -- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) - - pci:v00001000d00000054sv00001028sd00001F08* -- ID_MODEL_FROM_DATABASE=SAS 5/iR Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Integrated RAID Controller) - - pci:v00001000d00000054sv00001028sd00001F09* -- ID_MODEL_FROM_DATABASE=SAS 5/iR Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS 5/iR Adapter RAID Controller) - - pci:v00001000d00000054sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=SAS Controller -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS Controller) - - pci:v00001000d00000055* - ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS - - pci:v00001000d00000055sv00001033sd00008336* -- ID_MODEL_FROM_DATABASE=SAS1068 -+ ID_MODEL_FROM_DATABASE=SAS1068 PCI-X Fusion-MPT SAS (SAS1068) - - pci:v00001000d00000056* - ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS - - pci:v00001000d00000056sv00001014sd000003BB* -- ID_MODEL_FROM_DATABASE=ServeRAID BR10il SAS/SATA Controller v2 -+ ID_MODEL_FROM_DATABASE=SAS1064ET PCI-Express Fusion-MPT SAS (ServeRAID BR10il SAS/SATA Controller v2) - - pci:v00001000d00000057* - ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS - - pci:v00001000d00000057sv00008086sd0000346C* -- ID_MODEL_FROM_DATABASE=Embedded Software RAID Technology II (ESTRII) -+ ID_MODEL_FROM_DATABASE=M1064E MegaRAID SAS (Embedded Software RAID Technology II (ESTRII)) - - pci:v00001000d00000058* - ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS - - pci:v00001000d00000058sv00001000sd00003140* -- ID_MODEL_FROM_DATABASE=SAS3081E-R 8-Port SAS/SATA Host Bus Adapter -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS3081E-R 8-Port SAS/SATA Host Bus Adapter) - - pci:v00001000d00000058sv00001028sd0000021D* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Workstations RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Workstations RAID Controller) - - pci:v00001000d00000058sv00001028sd00001F0E* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Adapter RAID Controller) - - pci:v00001000d00000058sv00001028sd00001F0F* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated Blades RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated Blades RAID Controller) - - pci:v00001000d00000058sv00001028sd00001F10* -- ID_MODEL_FROM_DATABASE=SAS 6/iR Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SAS 6/iR Integrated RAID Controller) - - pci:v00001000d00000058sv0000103Csd00003229* -- ID_MODEL_FROM_DATABASE=SC44Ge Host Bus Adapter -+ ID_MODEL_FROM_DATABASE=SAS1068E PCI-Express Fusion-MPT SAS (SC44Ge Host Bus Adapter) - - pci:v00001000d00000059* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 8208ELP/8208ELP -@@ -840,97 +840,97 @@ pci:v00001000d0000005B* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] - - pci:v00001000d0000005Bsv00001000sd00009265* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265-8i) - - pci:v00001000d0000005Bsv00001000sd00009266* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-8i) - - pci:v00001000d0000005Bsv00001000sd00009267* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9267-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9267-8i) - - pci:v00001000d0000005Bsv00001000sd00009268* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9265CV-8i / 9270CV-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9265CV-8i / 9270CV-8i) - - pci:v00001000d0000005Bsv00001000sd00009269* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9266-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9266-4i) - - pci:v00001000d0000005Bsv00001000sd00009270* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-8i) - - pci:v00001000d0000005Bsv00001000sd00009271* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8i) - - pci:v00001000d0000005Bsv00001000sd00009272* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9272-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9272-8i) - - pci:v00001000d0000005Bsv00001000sd00009273* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270CV-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270CV-8i) - - pci:v00001000d0000005Bsv00001000sd00009274* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9270-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9270-4i) - - pci:v00001000d0000005Bsv00001000sd00009275* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-8iCC -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-8iCC) - - pci:v00001000d0000005Bsv00001000sd00009276* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9271-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9271-4i) - - pci:v00001000d0000005Bsv00001000sd00009285* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285-8e) - - pci:v00001000d0000005Bsv00001000sd00009288* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9285CV-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9285CV-8e) - - pci:v00001000d0000005Bsv00001000sd00009290* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286-8e) - - pci:v00001000d0000005Bsv00001000sd00009291* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8e) - - pci:v00001000d0000005Bsv00001000sd00009295* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9286CV-8eCC -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (MegaRAID SAS 9286CV-8eCC) - - pci:v00001000d0000005Bsv00001014sd0000040B* -- ID_MODEL_FROM_DATABASE=ServeRAID M5110 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110 SAS/SATA Controller) - - pci:v00001000d0000005Bsv00001014sd0000040C* -- ID_MODEL_FROM_DATABASE=ServeRAID M5120 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5120 SAS/SATA Controller) - - pci:v00001000d0000005Bsv00001014sd00000412* -- ID_MODEL_FROM_DATABASE=ServeRAID M5110e SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (ServeRAID M5110e SAS/SATA Controller) - - pci:v00001000d0000005Bsv00001028sd00001F2D* -- ID_MODEL_FROM_DATABASE=PERC H810 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H810 Adapter) - - pci:v00001000d0000005Bsv00001028sd00001F30* -- ID_MODEL_FROM_DATABASE=PERC H710 Embedded -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Embedded) - - pci:v00001000d0000005Bsv00001028sd00001F31* -- ID_MODEL_FROM_DATABASE=PERC H710P Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Adapter) - - pci:v00001000d0000005Bsv00001028sd00001F33* -- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for blades)) - - pci:v00001000d0000005Bsv00001028sd00001F34* -- ID_MODEL_FROM_DATABASE=PERC H710P Mini (for monolithics) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710P Mini (for monolithics)) - - pci:v00001000d0000005Bsv00001028sd00001F35* -- ID_MODEL_FROM_DATABASE=PERC H710 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Adapter) - - pci:v00001000d0000005Bsv00001028sd00001F37* -- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for blades)) - - pci:v00001000d0000005Bsv00001028sd00001F38* -- ID_MODEL_FROM_DATABASE=PERC H710 Mini (for monolithics) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (PERC H710 Mini (for monolithics)) - - pci:v00001000d0000005Bsv000015D9sd00000690* -- ID_MODEL_FROM_DATABASE=LSI MegaRAID ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (LSI MegaRAID ROMB) - - pci:v00001000d0000005Bsv00008086sd00003510* -- ID_MODEL_FROM_DATABASE=RMS25PB080 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25PB080 RAID Controller) - - pci:v00001000d0000005Bsv00008086sd00003513* -- ID_MODEL_FROM_DATABASE=RMS25CB080 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2208 [Thunderbolt] (RMS25CB080 RAID Controller) - - pci:v00001000d0000005C* - ID_MODEL_FROM_DATABASE=SAS1064A PCI-X Fusion-MPT SAS -@@ -939,31 +939,31 @@ pci:v00001000d0000005D* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] - - pci:v00001000d0000005Dsv00001028sd00001F41* -- ID_MODEL_FROM_DATABASE=PERC H830 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H830 Adapter) - - pci:v00001000d0000005Dsv00001028sd00001F42* -- ID_MODEL_FROM_DATABASE=PERC H730P Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Adapter) - - pci:v00001000d0000005Dsv00001028sd00001F43* -- ID_MODEL_FROM_DATABASE=PERC H730 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Adapter) - - pci:v00001000d0000005Dsv00001028sd00001F47* -- ID_MODEL_FROM_DATABASE=PERC H730P Mini -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini) - - pci:v00001000d0000005Dsv00001028sd00001F48* -- ID_MODEL_FROM_DATABASE=PERC H730P Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Mini (for blades)) - - pci:v00001000d0000005Dsv00001028sd00001F49* -- ID_MODEL_FROM_DATABASE=PERC H730 Mini -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini) - - pci:v00001000d0000005Dsv00001028sd00001F4A* -- ID_MODEL_FROM_DATABASE=PERC H730 Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) - - pci:v00001000d0000005Dsv000017AAsd00001052* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) - - pci:v00001000d0000005Dsv000017AAsd00001053* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 720ix -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720ix) - - pci:v00001000d0000005E* - ID_MODEL_FROM_DATABASE=SAS1066 PCI-X Fusion-MPT SAS -@@ -972,109 +972,109 @@ pci:v00001000d0000005F* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] - - pci:v00001000d0000005Fsv00001028sd00001F44* -- ID_MODEL_FROM_DATABASE=PERC H330 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Adapter) - - pci:v00001000d0000005Fsv00001028sd00001F4B* -- ID_MODEL_FROM_DATABASE=PERC H330 Mini -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini) - - pci:v00001000d0000005Fsv00001028sd00001F4C* -- ID_MODEL_FROM_DATABASE=PERC H330 Mini (for blades) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Mini (for blades)) - - pci:v00001000d0000005Fsv00001028sd00001F4D* -- ID_MODEL_FROM_DATABASE=PERC H330 Embedded (for monolithic) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3008 [Fury] (PERC H330 Embedded (for monolithic)) - - pci:v00001000d00000060* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 - - pci:v00001000d00000060sv00001000sd00001006* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8888ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8888ELP) - - pci:v00001000d00000060sv00001000sd0000100A* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708ELP) - - pci:v00001000d00000060sv00001000sd0000100E* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8884E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8884E) - - pci:v00001000d00000060sv00001000sd0000100F* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8708E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8708E) - - pci:v00001000d00000060sv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-8ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-8ELP) - - pci:v00001000d00000060sv00001000sd00001011* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 350-4ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SATA 350-4ELP) - - pci:v00001000d00000060sv00001000sd00001012* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8704ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8704ELP) - - pci:v00001000d00000060sv00001000sd00001016* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8880EM2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS 8880EM2) - - pci:v00001000d00000060sv00001014sd00000363* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001014sd00000364* -- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8808E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8808E) - - pci:v00001000d00000060sv00001014sd00000365* -- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8884E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8884E) - - pci:v00001000d00000060sv00001014sd00000379* -- ID_MODEL_FROM_DATABASE=SystemX MegaRAID SAS 8880EM2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (SystemX MegaRAID SAS 8880EM2) - - pci:v00001000d00000060sv00001028sd00001F0A* -- ID_MODEL_FROM_DATABASE=PERC 6/E Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/E Adapter RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F0B* -- ID_MODEL_FROM_DATABASE=PERC 6/i Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Adapter RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F0C* -- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F0D* -- ID_MODEL_FROM_DATABASE=PERC 6/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (PERC 6/i Integrated RAID Controller) - - pci:v00001000d00000060sv00001028sd00001F11* -- ID_MODEL_FROM_DATABASE=CERC 6/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (CERC 6/i Integrated RAID Controller) - - pci:v00001000d00000060sv00001033sd0000835A* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001043sd0000824D* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001170sd0000002F* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00001170sd00000036* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv000015D9sd0000C080* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv000017AAsd00006B7C* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv000018A1sd00000003* -- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (LSI MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000060sv00008086sd00001006* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EP) - - pci:v00001000d00000060sv00008086sd0000100A* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS28EV -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSAS28EV) - - pci:v00001000d00000060sv00008086sd00001010* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSATA28E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (RAID Controller SRCSATA28E) - - pci:v00001000d00000060sv00008086sd000034CC* -- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) - - pci:v00001000d00000060sv00008086sd000034CD* -- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSAS28E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSAS28E) - - pci:v00001000d00000060sv00008086sd00003505* -- ID_MODEL_FROM_DATABASE=Integrated RAID Controller SROMBSASMP2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078 (Integrated RAID Controller SROMBSASMP2) - - pci:v00001000d00000062* - ID_MODEL_FROM_DATABASE=SAS1078 PCI-Express Fusion-MPT SAS -@@ -1101,100 +1101,100 @@ pci:v00001000d00000072* - ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] - - pci:v00001000d00000072sv00001028sd00001F1C* -- ID_MODEL_FROM_DATABASE=6Gbps SAS HBA Adapter -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (6Gbps SAS HBA Adapter) - - pci:v00001000d00000072sv00001028sd00001F1D* -- ID_MODEL_FROM_DATABASE=PERC H200 Adapter -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Adapter) - - pci:v00001000d00000072sv00001028sd00001F1E* -- ID_MODEL_FROM_DATABASE=PERC H200 Integrated -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Integrated) - - pci:v00001000d00000072sv00001028sd00001F1F* -- ID_MODEL_FROM_DATABASE=PERC H200 Modular -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Modular) - - pci:v00001000d00000072sv00001028sd00001F20* -- ID_MODEL_FROM_DATABASE=PERC H200 Embedded -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (PERC H200 Embedded) - - pci:v00001000d00000072sv00001028sd00001F22* -- ID_MODEL_FROM_DATABASE=Internal Tape Adapter -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (Internal Tape Adapter) - - pci:v00001000d00000072sv00008086sd0000350F* -- ID_MODEL_FROM_DATABASE=RMS2LL040 RAID Controller -+ ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (RMS2LL040 RAID Controller) - - pci:v00001000d00000073* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] - - pci:v00001000d00000073sv00001000sd00009240* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-8i) - - pci:v00001000d00000073sv00001000sd00009241* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9240-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9240-4i) - - pci:v00001000d00000073sv00001000sd000092A0* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9220-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (MegaRAID SAS 9220-8i) - - pci:v00001000d00000073sv00001014sd000003B1* -- ID_MODEL_FROM_DATABASE=ServeRAID M1015 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ServeRAID M1015 SAS/SATA Controller) - - pci:v00001000d00000073sv00001028sd00001F4E* -- ID_MODEL_FROM_DATABASE=PERC H310 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Adapter) - - pci:v00001000d00000073sv00001028sd00001F4F* -- ID_MODEL_FROM_DATABASE=PERC H310 Integrated -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Integrated) - - pci:v00001000d00000073sv00001028sd00001F50* -- ID_MODEL_FROM_DATABASE=PERC H310 Mini Blades -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Blades) - - pci:v00001000d00000073sv00001028sd00001F51* -- ID_MODEL_FROM_DATABASE=PERC H310 Mini Monolithics -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Mini Monolithics) - - pci:v00001000d00000073sv00001028sd00001F52* -- ID_MODEL_FROM_DATABASE=PERC H310 Embedded1 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded1) - - pci:v00001000d00000073sv00001028sd00001F53* -- ID_MODEL_FROM_DATABASE=PERC H310 Embedded2 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Embedded2) - - pci:v00001000d00000073sv00001028sd00001F54* -- ID_MODEL_FROM_DATABASE=PERC H310 Reserved -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (PERC H310 Reserved) - - pci:v00001000d00000073sv00001054sd00003035* -- ID_MODEL_FROM_DATABASE=LSI MegaRAID SAS 9240-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (LSI MegaRAID SAS 9240-8i) - - pci:v00001000d00000073sv00001137sd00000072* -- ID_MODEL_FROM_DATABASE=2004 iMR ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2004 iMR ROMB) - - pci:v00001000d00000073sv00001137sd00000073* -- ID_MODEL_FROM_DATABASE=2008 ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (2008 ROMB) - - pci:v00001000d00000073sv00001137sd000000B0* -- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) - - pci:v00001000d00000073sv00001137sd000000B1* -- ID_MODEL_FROM_DATABASE=UCSC RAID SAS 2008M-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCSC RAID SAS 2008M-8i) - - pci:v00001000d00000073sv00001137sd000000C2* -- ID_MODEL_FROM_DATABASE=UCS E-Series Double Wide -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Double Wide) - - pci:v00001000d00000073sv00001137sd000000C3* -- ID_MODEL_FROM_DATABASE=UCS E-Series Single Wide -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (UCS E-Series Single Wide) - - pci:v00001000d00000073sv000015D9sd00000400* -- ID_MODEL_FROM_DATABASE=Supermicro SMC2008-iMR -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (Supermicro SMC2008-iMR) - - pci:v00001000d00000073sv00001734sd00001177* -- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Ctrl SAS 6G 0/1 (D2607)) - - pci:v00001000d00000073sv000017AAsd00001051* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 510i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (ThinkServer RAID 510i) - - pci:v00001000d00000073sv00008086sd0000350D* -- ID_MODEL_FROM_DATABASE=RMS2AF040 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RMS2AF040 RAID Controller) - - pci:v00001000d00000073sv00008086sd00009240* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC080 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC080) - - pci:v00001000d00000073sv00008086sd00009241* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2WC040 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2008 [Falcon] (RAID Controller RS2WC040) - - pci:v00001000d00000074* - ID_MODEL_FROM_DATABASE=SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] -@@ -1209,106 +1209,106 @@ pci:v00001000d00000079* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] - - pci:v00001000d00000079sv00001000sd00009251* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4ix -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4ix) - - pci:v00001000d00000079sv00001000sd00009256* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8ix -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8ix) - - pci:v00001000d00000079sv00001000sd00009260* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-4i) - - pci:v00001000d00000079sv00001000sd00009261* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260-8i) - - pci:v00001000d00000079sv00001000sd00009262* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9262-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9262-8i) - - pci:v00001000d00000079sv00001000sd00009263* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9261-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9261-8i) - - pci:v00001000d00000079sv00001000sd00009264* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9264-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9264-8i) - - pci:v00001000d00000079sv00001000sd00009267* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-4i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-4i) - - pci:v00001000d00000079sv00001000sd00009268* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260CV-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260CV-8i) - - pci:v00001000d00000079sv00001000sd00009275* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8ex -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8ex) - - pci:v00001000d00000079sv00001000sd00009276* -- ID_MODEL_FROM_DATABASE=MR9260-16i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MR9260-16i) - - pci:v00001000d00000079sv00001000sd00009280* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-8e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-8e) - - pci:v00001000d00000079sv00001000sd00009281* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9281-8E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9281-8E) - - pci:v00001000d00000079sv00001000sd00009282* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280-4i4e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280-4i4e) - - pci:v00001000d00000079sv00001000sd00009290* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9280DE-24i4e -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9280DE-24i4e) - - pci:v00001000d00000079sv00001014sd000003B2* -- ID_MODEL_FROM_DATABASE=ServeRAID M5015 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5015 SAS/SATA Controller) - - pci:v00001000d00000079sv00001014sd000003B3* -- ID_MODEL_FROM_DATABASE=ServeRAID M5025 SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (ServeRAID M5025 SAS/SATA Controller) - - pci:v00001000d00000079sv00001028sd00001F15* -- ID_MODEL_FROM_DATABASE=PERC H800 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Adapter) - - pci:v00001000d00000079sv00001028sd00001F16* -- ID_MODEL_FROM_DATABASE=PERC H700 Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Adapter) - - pci:v00001000d00000079sv00001028sd00001F17* -- ID_MODEL_FROM_DATABASE=PERC H700 Integrated -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) - - pci:v00001000d00000079sv00001028sd00001F18* -- ID_MODEL_FROM_DATABASE=PERC H700 Modular -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Modular) - - pci:v00001000d00000079sv00001028sd00001F1A* -- ID_MODEL_FROM_DATABASE=PERC H800 Proto Adapter -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H800 Proto Adapter) - - pci:v00001000d00000079sv00001028sd00001F1B* -- ID_MODEL_FROM_DATABASE=PERC H700 Integrated -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PERC H700 Integrated) - - pci:v00001000d00000079sv00001043sd00008480* -- ID_MODEL_FROM_DATABASE=PIKE-2108 16PD -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (PIKE-2108 16PD) - - pci:v00001000d00000079sv00001734sd00001176* -- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 5/6 512MB (D2616) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 5/6 512MB (D2616)) - - pci:v00001000d00000079sv00001734sd00001177* -- ID_MODEL_FROM_DATABASE=RAID Ctrl SAS 6G 0/1 (D2607) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Ctrl SAS 6G 0/1 (D2607)) - - pci:v00001000d00000079sv00008086sd00009256* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 9260DE-8i -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (MegaRAID SAS 9260DE-8i) - - pci:v00001000d00000079sv00008086sd00009260* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL040 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL040) - - pci:v00001000d00000079sv00008086sd00009261* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2BL080 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2BL080) - - pci:v00001000d00000079sv00008086sd00009264* -- ID_MODEL_FROM_DATABASE=Warm Beach (Caster Lite) -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (Warm Beach (Caster Lite)) - - pci:v00001000d00000079sv00008086sd00009267* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB040 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB040) - - pci:v00001000d00000079sv00008086sd00009268* -- ID_MODEL_FROM_DATABASE=RAID Controller RS2VB080 -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 2108 [Liberator] (RAID Controller RS2VB080) - - pci:v00001000d0000007C* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE - - pci:v00001000d0000007Csv00001014sd00000395* -- ID_MODEL_FROM_DATABASE=ServeRAID-AR10is SAS/SATA Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1078DE (ServeRAID-AR10is SAS/SATA Controller) - - pci:v00001000d0000007E* - ID_MODEL_FROM_DATABASE=SSS6200 PCI-Express Flash SSD -@@ -1338,16 +1338,16 @@ pci:v00001000d00000087* - ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 - - pci:v00001000d00000087sv00001590sd00000044* -- ID_MODEL_FROM_DATABASE=H220i -+ ID_MODEL_FROM_DATABASE=SAS2308 PCI-Express Fusion-MPT SAS-2 (H220i) - - pci:v00001000d0000008F* - ID_MODEL_FROM_DATABASE=53c875J - - pci:v00001000d0000008Fsv00001092sd00008000* -- ID_MODEL_FROM_DATABASE=FirePort 40 SCSI Controller -+ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 SCSI Controller) - - pci:v00001000d0000008Fsv00001092sd00008760* -- ID_MODEL_FROM_DATABASE=FirePort 40 Dual SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=53c875J (FirePort 40 Dual SCSI Host Adapter) - - pci:v00001000d00000090* - ID_MODEL_FROM_DATABASE=SAS3108 PCI-Express Fusion-MPT SAS-3 -@@ -1368,151 +1368,151 @@ pci:v00001000d00000097* - ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 - - pci:v00001000d00000097sv00001028sd00001F45* -- ID_MODEL_FROM_DATABASE=12GB/s HBA internal -+ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA internal) - - pci:v00001000d00000097sv00001028sd00001F46* -- ID_MODEL_FROM_DATABASE=12GB/s HBA external -+ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (12GB/s HBA external) - - pci:v00001000d00000407* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00000407sv00001000sd00000530* -- ID_MODEL_FROM_DATABASE=MegaRAID 530 SCSI 320-0X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (530 SCSI 320-0X RAID Controller) - - pci:v00001000d00000407sv00001000sd00000531* -- ID_MODEL_FROM_DATABASE=MegaRAID 531 SCSI 320-4X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (531 SCSI 320-4X RAID Controller) - - pci:v00001000d00000407sv00001000sd00000532* -- ID_MODEL_FROM_DATABASE=MegaRAID 532 SCSI 320-2X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (532 SCSI 320-2X RAID Controller) - - pci:v00001000d00000407sv00001028sd00000531* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00000407sv00001028sd00000533* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00000407sv00008086sd00000530* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCZCRX -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCZCRX) - - pci:v00001000d00000407sv00008086sd00000532* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42X -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42X) - - pci:v00001000d00000408* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00000408sv00001000sd00000001* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-1E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-1E RAID Controller) - - pci:v00001000d00000408sv00001000sd00000002* -- ID_MODEL_FROM_DATABASE=MegaRAID SCSI 320-2E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SCSI 320-2E RAID Controller) - - pci:v00001000d00000408sv00001025sd0000004D* -- ID_MODEL_FROM_DATABASE=MegaRAID ACER ROMB-2E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (ACER ROMB-2E RAID Controller) - - pci:v00001000d00000408sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/SC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/SC) - - pci:v00001000d00000408sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC4e/DC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC4e/DC) - - pci:v00001000d00000408sv00001028sd00000012* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller RAC4 -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller RAC4) - - pci:v00001000d00000408sv00001028sd00000015* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) - - pci:v00001000d00000408sv00001028sd00001F03* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller PERC5 -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller PERC5) - - pci:v00001000d00000408sv00001734sd00001065* -- ID_MODEL_FROM_DATABASE=FSC MegaRAID PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID (FSC MegaRAID PCI Express ROMB) - - pci:v00001000d00000408sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SRCU42E -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SRCU42E) - - pci:v00001000d00000408sv00008086sd00003449* -- ID_MODEL_FROM_DATABASE=MegaRAID Intel RAID Controller SROMBU -+ ID_MODEL_FROM_DATABASE=MegaRAID (Intel RAID Controller SROMBU) - - pci:v00001000d00000409* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00000409sv00001000sd00003004* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-4X RAID Controller) - - pci:v00001000d00000409sv00001000sd00003008* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8X RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 300-8X RAID Controller) - - pci:v00001000d00000409sv00008086sd00003008* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS28X -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS28X) - - pci:v00001000d00000409sv00008086sd00003431* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Alief SROMBU42E -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Alief SROMBU42E) - - pci:v00001000d00000409sv00008086sd00003499* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller Harwich SROMBU42E -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller Harwich SROMBU42E) - - pci:v00001000d00000411* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 - - pci:v00001000d00000411sv00001000sd00001001* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8408E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8408E) - - pci:v00001000d00000411sv00001000sd00001002* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8480E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8480E) - - pci:v00001000d00000411sv00001000sd00001003* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8344ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8344ELP) - - pci:v00001000d00000411sv00001000sd00001004* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8308ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 8308ELP) - - pci:v00001000d00000411sv00001000sd00001008* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 84016E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS 84016E) - - pci:v00001000d00000411sv00001000sd0000100C* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-12E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-12E) - - pci:v00001000d00000411sv00001000sd0000100D* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-16E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-16E) - - pci:v00001000d00000411sv00001000sd00002004* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-8ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-8ELP) - - pci:v00001000d00000411sv00001000sd00002005* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 300-4ELP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SATA 300-4ELP) - - pci:v00001000d00000411sv00001033sd00008287* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000411sv00001054sd00003016* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS RoMB Server -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS RoMB Server) - - pci:v00001000d00000411sv00001734sd00001081* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000411sv00001734sd000010A3* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS PCI Express ROMB -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (MegaRAID SAS PCI Express ROMB) - - pci:v00001000d00000411sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS18E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS18E) - - pci:v00001000d00000411sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=RAID Controller SRCSAS144E -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (RAID Controller SRCSAS144E) - - pci:v00001000d00000411sv00008086sd00003500* -- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) - - pci:v00001000d00000411sv00008086sd00003501* -- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) - - pci:v00001000d00000411sv00008086sd00003504* -- ID_MODEL_FROM_DATABASE=SROMBSAS18E RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 (SROMBSAS18E RAID Controller) - - pci:v00001000d00000413* - ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] - - pci:v00001000d00000413sv00001000sd00001005* -- ID_MODEL_FROM_DATABASE=MegaRAID SAS 8300XLP -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS 1068 [Verde ZCR] (MegaRAID SAS 8300XLP) - - pci:v00001000d00000621* - ID_MODEL_FROM_DATABASE=FC909 Fibre Channel Adapter -@@ -1521,7 +1521,7 @@ pci:v00001000d00000622* - ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter - - pci:v00001000d00000622sv00001000sd00001020* -- ID_MODEL_FROM_DATABASE=44929 O Dual Fibre Channel card -+ ID_MODEL_FROM_DATABASE=FC929 Fibre Channel Adapter (44929 O Dual Fibre Channel card) - - pci:v00001000d00000623* - ID_MODEL_FROM_DATABASE=FC929 LAN -@@ -1536,7 +1536,7 @@ pci:v00001000d00000626* - ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter - - pci:v00001000d00000626sv00001000sd00001010* -- ID_MODEL_FROM_DATABASE=7202-XP-LC Dual Fibre Channel card -+ ID_MODEL_FROM_DATABASE=FC929X Fibre Channel Adapter (7202-XP-LC Dual Fibre Channel card) - - pci:v00001000d00000627* - ID_MODEL_FROM_DATABASE=FC929X LAN -@@ -1563,7 +1563,7 @@ pci:v00001000d00000702* - ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet - - pci:v00001000d00000702sv00001318sd00000000* -- ID_MODEL_FROM_DATABASE=PEI100X -+ ID_MODEL_FROM_DATABASE=Yellowfin G-NIC gigabit ethernet (PEI100X) - - pci:v00001000d00000804* - ID_MODEL_FROM_DATABASE=SA2010 -@@ -1587,40 +1587,40 @@ pci:v00001000d00001960* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v00001000d00001960sv00001000sd00000518* -- ID_MODEL_FROM_DATABASE=MegaRAID 518 SCSI 320-2 Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (518 SCSI 320-2 Controller) - - pci:v00001000d00001960sv00001000sd00000520* -- ID_MODEL_FROM_DATABASE=MegaRAID 520 SCSI 320-1 Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (520 SCSI 320-1 Controller) - - pci:v00001000d00001960sv00001000sd00000522* -- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4 133 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4 133 RAID Controller) - - pci:v00001000d00001960sv00001000sd00000523* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-6 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-6 RAID Controller) - - pci:v00001000d00001960sv00001000sd00004523* -- ID_MODEL_FROM_DATABASE=MegaRAID SATA 150-4 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (SATA 150-4 RAID Controller) - - pci:v00001000d00001960sv00001000sd0000A520* -- ID_MODEL_FROM_DATABASE=MegaRAID ZCR SCSI 320-0 Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (ZCR SCSI 320-0 Controller) - - pci:v00001000d00001960sv00001028sd00000518* -- ID_MODEL_FROM_DATABASE=MegaRAID 518 DELL PERC 4/DC RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (518 DELL PERC 4/DC RAID Controller) - - pci:v00001000d00001960sv00001028sd00000520* -- ID_MODEL_FROM_DATABASE=MegaRAID 520 DELL PERC 4/SC RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (520 DELL PERC 4/SC RAID Controller) - - pci:v00001000d00001960sv00001028sd00000531* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00001960sv00001028sd00000533* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Expandable RAID Controller 4/QC) - - pci:v00001000d00001960sv00008086sd00000520* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCU41L -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCU41L) - - pci:v00001000d00001960sv00008086sd00000523* -- ID_MODEL_FROM_DATABASE=MegaRAID RAID Controller SRCS16 -+ ID_MODEL_FROM_DATABASE=MegaRAID (RAID Controller SRCS16) - - pci:v00001000d00003050* - ID_MODEL_FROM_DATABASE=SAS2008 PCI-Express Fusion-MPT SAS-2 -@@ -1710,7 +1710,7 @@ pci:v00001002d00001314* - ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio - - pci:v00001002d00001314sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=Wrestler HDMI Audio (PURE Fusion Mini) - - pci:v00001002d00001315* - ID_MODEL_FROM_DATABASE=Kaveri [Radeon R5 Graphics] -@@ -1737,13 +1737,13 @@ pci:v00001002d00001714* - ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] - - pci:v00001002d00001714sv0000103Csd0000168B* -- ID_MODEL_FROM_DATABASE=ProBook 4535s -+ ID_MODEL_FROM_DATABASE=BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] (ProBook 4535s) - - pci:v00001002d00003150* - ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] - - pci:v00001002d00003150sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=nx8220 -+ ID_MODEL_FROM_DATABASE=RV380/M24 [Mobility Radeon X600] (nx8220) - - pci:v00001002d00003151* - ID_MODEL_FROM_DATABASE=RV380 GL [FireMV 2400] -@@ -1791,73 +1791,73 @@ pci:v00001002d00004150* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] - - pci:v00001002d00004150sv00001002sd00000002* -- ID_MODEL_FROM_DATABASE=R9600 Pro primary (Asus OEM for HP) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro primary (Asus OEM for HP)) - - pci:v00001002d00004150sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R9600 Pro secondary (Asus OEM for HP)) - - pci:v00001002d00004150sv00001002sd00004722* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (All-in-Wonder 2006 AGP Edition) - - pci:v00001002d00004150sv00001458sd00004024* -- ID_MODEL_FROM_DATABASE=GV-R96128D -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GV-R96128D) - - pci:v00001002d00004150sv0000148Csd00002064* -- ID_MODEL_FROM_DATABASE=R96A-C3N -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) - - pci:v00001002d00004150sv0000148Csd00002066* -- ID_MODEL_FROM_DATABASE=R96A-C3N -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (R96A-C3N) - - pci:v00001002d00004150sv0000174Bsd00007C19* -- ID_MODEL_FROM_DATABASE=Atlantis Radeon 9600 Pro -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Atlantis Radeon 9600 Pro) - - pci:v00001002d00004150sv0000174Bsd00007C29* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO) - - pci:v00001002d00004150sv000017EEsd00002002* -- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb Primary -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Radeon 9600 256Mb Primary) - - pci:v00001002d00004150sv000018BCsd00000101* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Primary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (GC-R9600PRO (Primary)) - - pci:v00001002d00004151* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] - - pci:v00001002d00004151sv00001043sd0000C004* -- ID_MODEL_FROM_DATABASE=A9600SE -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600 Series] (A9600SE) - - pci:v00001002d00004152* - ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] - - pci:v00001002d00004152sv00001002sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) - - pci:v00001002d00004152sv00001002sd00004772* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (All-in-Wonder 9600 XT) - - pci:v00001002d00004152sv00001043sd0000C002* -- ID_MODEL_FROM_DATABASE=Radeon 9600 XT TVD -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT TVD) - - pci:v00001002d00004152sv00001043sd0000C01A* -- ID_MODEL_FROM_DATABASE=A9600XT/TD -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (A9600XT/TD) - - pci:v00001002d00004152sv00001462sd00009510* -- ID_MODEL_FROM_DATABASE=RX9600XT (MS-8951) -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (RX9600XT (MS-8951)) - - pci:v00001002d00004152sv0000174Bsd00007C29* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600XT) - - pci:v00001002d00004152sv00001787sd00004002* -- ID_MODEL_FROM_DATABASE=Radeon 9600 XT -+ ID_MODEL_FROM_DATABASE=RV360 [Radeon 9600/X1050 Series] (Radeon 9600 XT) - - pci:v00001002d00004153* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] - - pci:v00001002d00004153sv00001043sd0000010C* -- ID_MODEL_FROM_DATABASE=A9550GE/TD -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (A9550GE/TD) - - pci:v00001002d00004153sv00001462sd0000932C* -- ID_MODEL_FROM_DATABASE=RX9550SE-TD128 (MS-8932) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (RX9550SE-TD128 (MS-8932)) - - pci:v00001002d00004154* - ID_MODEL_FROM_DATABASE=RV350 GL [FireGL T2] -@@ -1887,64 +1887,64 @@ pci:v00001002d00004170* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) - - pci:v00001002d00004170sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=R9600 Pro secondary (Asus OEM for HP) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R9600 Pro secondary (Asus OEM for HP)) - - pci:v00001002d00004170sv00001002sd00004723* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 AGP Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (All-in-Wonder 2006 AGP Edition (Secondary)) - - pci:v00001002d00004170sv00001458sd00004025* -- ID_MODEL_FROM_DATABASE=GV-R96128D (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GV-R96128D (Secondary)) - - pci:v00001002d00004170sv0000148Csd00002067* -- ID_MODEL_FROM_DATABASE=R96A-C3N (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (R96A-C3N (Secondary)) - - pci:v00001002d00004170sv0000174Bsd00007C28* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) - - pci:v00001002d00004170sv000017EEsd00002003* -- ID_MODEL_FROM_DATABASE=Radeon 9600 256Mb (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (Radeon 9600 256Mb (Secondary)) - - pci:v00001002d00004170sv000018BCsd00000100* -- ID_MODEL_FROM_DATABASE=GC-R9600PRO (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] (Secondary) (GC-R9600PRO (Secondary)) - - pci:v00001002d00004171* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) - - pci:v00001002d00004171sv00001043sd0000C005* -- ID_MODEL_FROM_DATABASE=A9600SE (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) (A9600SE (Secondary)) - - pci:v00001002d00004172* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) - - pci:v00001002d00004172sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) - - pci:v00001002d00004172sv00001002sd00004773* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 9600 XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (All-in-Wonder 9600 XT (Secondary)) - - pci:v00001002d00004172sv00001043sd0000C003* -- ID_MODEL_FROM_DATABASE=A9600XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT (Secondary)) - - pci:v00001002d00004172sv00001043sd0000C01B* -- ID_MODEL_FROM_DATABASE=A9600XT/TD (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (A9600XT/TD (Secondary)) - - pci:v00001002d00004172sv0000174Bsd00007C28* -- ID_MODEL_FROM_DATABASE=Radeon 9600XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600XT (Secondary)) - - pci:v00001002d00004172sv00001787sd00004003* -- ID_MODEL_FROM_DATABASE=Radeon 9600 XT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600/X1050 Series] (Secondary) (Radeon 9600 XT (Secondary)) - - pci:v00001002d00004173* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) - - pci:v00001002d00004173sv00001043sd0000010D* -- ID_MODEL_FROM_DATABASE=A9550GE/TD (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550] (Secondary) (A9550GE/TD (Secondary)) - - pci:v00001002d00004242* - ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] - - pci:v00001002d00004242sv00001002sd000002AA* -- ID_MODEL_FROM_DATABASE=Radeon 8500 AIW DV Edition -+ ID_MODEL_FROM_DATABASE=R200 [All-In-Wonder Radeon 8500 DV] (Radeon 8500 AIW DV Edition) - - pci:v00001002d00004243* - ID_MODEL_FROM_DATABASE=R200 PCI Bridge [All-in-Wonder Radeon 8500DV] -@@ -1953,22 +1953,22 @@ pci:v00001002d00004336* - ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] - - pci:v00001002d00004336sv00001002sd00004336* -- ID_MODEL_FROM_DATABASE=Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M) -+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M)) - - pci:v00001002d00004336sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Video -+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (Pavilion ze4400 builtin Video) - - pci:v00001002d00004336sv0000161Fsd00002029* -- ID_MODEL_FROM_DATABASE=eMachines M5312 builtin Video -+ ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] (eMachines M5312 builtin Video) - - pci:v00001002d00004337* - ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] - - pci:v00001002d00004337sv00001014sd0000053A* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (ThinkPad R40e) - - pci:v00001002d00004337sv0000103Csd00000850* -- ID_MODEL_FROM_DATABASE=Radeon IGP 345M -+ ID_MODEL_FROM_DATABASE=RS200M [Radeon IGP 330M/340M/345M/350M] (Radeon IGP 345M) - - pci:v00001002d00004341* - ID_MODEL_FROM_DATABASE=IXP150 AC'97 Audio Controller -@@ -2013,160 +2013,160 @@ pci:v00001002d00004370* - ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller - - pci:v00001002d00004370sv00001025sd00000079* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5024WLMMi) - - pci:v00001002d00004370sv00001025sd00000091* -- ID_MODEL_FROM_DATABASE=Aspire 5032WXMi -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Aspire 5032WXMi) - - pci:v00001002d00004370sv0000103Csd00002A05* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004370sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6125) - - pci:v00001002d00004370sv0000105Bsd00000C81* -- ID_MODEL_FROM_DATABASE=Realtek ALC 653 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (Realtek ALC 653) - - pci:v00001002d00004370sv0000107Bsd00000300* -- ID_MODEL_FROM_DATABASE=MX6421 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MX6421) - - pci:v00001002d00004370sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Audio Controller (MS-1013 Notebook) - - pci:v00001002d00004371* - ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge - - pci:v00001002d00004371sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (MX6125) - - pci:v00001002d00004371sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-PCI Bridge (Aspire L250) - - pci:v00001002d00004372* - ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller - - pci:v00001002d00004372sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire 5024WLMMi) - - pci:v00001002d00004372sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004372sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MX6125) - - pci:v00001002d00004372sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (MS-1013 Notebook) - - pci:v00001002d00004372sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 SMBus Controller (Aspire L250) - - pci:v00001002d00004373* - ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller - - pci:v00001002d00004373sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire 5024WLMMi) - - pci:v00001002d00004373sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004373sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (MX6125) - - pci:v00001002d00004373sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB2 Host Controller (Aspire L250) - - pci:v00001002d00004374* - ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller - - pci:v00001002d00004374sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004374sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) - - pci:v00001002d00004374sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) - - pci:v00001002d00004375* - ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller - - pci:v00001002d00004375sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire 5024WLMMi) - - pci:v00001002d00004375sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004375sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (MX6125) - - pci:v00001002d00004375sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 USB Host Controller (Aspire L250) - - pci:v00001002d00004376* - ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller - - pci:v00001002d00004376sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire 5024WLMMi) - - pci:v00001002d00004376sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004376sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MX6125) - - pci:v00001002d00004376sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (MS-1013 Notebook) - - pci:v00001002d00004376sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 IDE Controller (Aspire L250) - - pci:v00001002d00004377* - ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge - - pci:v00001002d00004377sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire 5024WLMi) - - pci:v00001002d00004377sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Pavilion t3030.de Desktop PC) - - pci:v00001002d00004377sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (MX6125) - - pci:v00001002d00004377sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 PCI-ISA Bridge (Aspire L250) - - pci:v00001002d00004378* - ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller - - pci:v00001002d00004378sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (Aspire 5024WLMMi) - - pci:v00001002d00004378sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MX6125) - - pci:v00001002d00004378sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=IXP SB400 AC'97 Modem Controller (MS-1013 Notebook) - - pci:v00001002d00004379* - ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller - - pci:v00001002d00004379sv00001462sd00007141* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 Serial ATA Controller (Aspire L250) - - pci:v00001002d0000437A* - ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller - - pci:v00001002d0000437Asv00001002sd00004379* -- ID_MODEL_FROM_DATABASE=4379 Serial ATA Controller -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (4379 Serial ATA Controller) - - pci:v00001002d0000437Asv00001002sd0000437A* -- ID_MODEL_FROM_DATABASE=437A Serial ATA Controller -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (437A Serial ATA Controller) - - pci:v00001002d0000437Asv00001462sd00007141* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Aspire L250) - - pci:v00001002d0000437Asv000014F1sd00008800* -- ID_MODEL_FROM_DATABASE=Leadtek WinFast TV2000XP Expert -+ ID_MODEL_FROM_DATABASE=IXP SB400 Serial ATA Controller (Leadtek WinFast TV2000XP Expert) - - pci:v00001002d0000437B* - ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller -@@ -2175,31 +2175,31 @@ pci:v00001002d0000437Bsv00001002sd0000437B* - ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller - - pci:v00001002d0000437Bsv000010CFsd00001326* -- ID_MODEL_FROM_DATABASE=Fujitsu Lifebook A3040 -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Fujitsu Lifebook A3040) - - pci:v00001002d0000437Bsv00001734sd000010B8* -- ID_MODEL_FROM_DATABASE=Realtek High Definition Audio -+ ID_MODEL_FROM_DATABASE=IXP SB4x0 High Definition Audio Controller (Realtek High Definition Audio) - - pci:v00001002d00004380* - ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA - - pci:v00001002d00004380sv0000103Csd00002813* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (DC5750 Microtower) - - pci:v00001002d00004380sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Satellite P305D-S8995E) - - pci:v00001002d00004380sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-MA790FX-DS5 (rev. 1.0) -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (GA-MA790FX-DS5 (rev. 1.0)) - - pci:v00001002d00004380sv00001458sd0000B005* -- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (Gigabyte GA-MA69G-S3H Motherboard) - - pci:v00001002d00004380sv00001462sd00007327* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (K9AG Neo2) - - pci:v00001002d00004380sv000017F2sd00005999* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 Non-Raid-5 SATA (KI690-AM2 Motherboard) - - pci:v00001002d00004381* - ID_MODEL_FROM_DATABASE=SB600 SATA Controller (RAID 5 mode) -@@ -2211,34 +2211,34 @@ pci:v00001002d00004383* - ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) - - pci:v00001002d00004383sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (A785GM-M) - - pci:v00001002d00004383sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Pavilion DM1Z-3000) - - pci:v00001002d00004383sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (DC5750 Microtower) - - pci:v00001002d00004383sv00001043sd00008230* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M3A78-EH Motherboard) - - pci:v00001002d00004383sv00001043sd0000836C* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A785TD Motherboard) - - pci:v00001002d00004383sv00001043sd00008410* -- ID_MODEL_FROM_DATABASE=M4A89GTD PRO/USB3 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M4A89GTD PRO/USB3 Motherboard) - - pci:v00001002d00004383sv00001043sd0000841B* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (M5A88-V EVO) - - pci:v00001002d00004383sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (Satellite P305D-S8995E) - - pci:v00001002d00004383sv00001458sd0000A022* -- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (GA-MA770-DS3rev2.0 Motherboard) - - pci:v00001002d00004383sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 Azalia (Intel HDA) (KI690-AM2 Motherboard) - - pci:v00001002d00004384* - ID_MODEL_FROM_DATABASE=SBx00 PCI to PCI Bridge -@@ -2247,160 +2247,160 @@ pci:v00001002d00004385* - ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller - - pci:v00001002d00004385sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (A785GM-M) - - pci:v00001002d00004385sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Pavilion DM1Z-3000) - - pci:v00001002d00004385sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (DC5750 Microtower) - - pci:v00001002d00004385sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M3A78-EH Motherboard) - - pci:v00001002d00004385sv00001043sd00008389* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (M4A785TD Motherboard) - - pci:v00001002d00004385sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (Satellite P305D-S8995E) - - pci:v00001002d00004385sv00001458sd00004385* -- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (GA-MA770-DS3rev2.0 Motherboard) - - pci:v00001002d00004385sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (K9AG Neo2) - - pci:v00001002d00004385sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (H8DGU) - - pci:v00001002d00004385sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (PURE Fusion Mini) - - pci:v00001002d00004385sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SBx00 SMBus Controller (KI690-AM2 Motherboard) - - pci:v00001002d00004386* - ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) - - pci:v00001002d00004386sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (DC5750 Microtower) - - pci:v00001002d00004386sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (Satellite P305D-S8995E) - - pci:v00001002d00004386sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (K9AG Neo2) - - pci:v00001002d00004386sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB Controller (EHCI) (KI690-AM2 Motherboard) - - pci:v00001002d00004387* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) - - pci:v00001002d00004387sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (DC5750 Microtower) - - pci:v00001002d00004387sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (Satellite P305D-S8995E) - - pci:v00001002d00004387sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (K9AG Neo2) - - pci:v00001002d00004387sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI0) (KI690-AM2 Motherboard) - - pci:v00001002d00004388* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) - - pci:v00001002d00004388sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (DC5750 Microtower) - - pci:v00001002d00004388sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (Satellite P305D-S8995E) - - pci:v00001002d00004388sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (K9AG Neo2) - - pci:v00001002d00004388sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI1) (KI690-AM2 Motherboard) - - pci:v00001002d00004389* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) - - pci:v00001002d00004389sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (DC5750 Microtower) - - pci:v00001002d00004389sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (Satellite P305D-S8995E) - - pci:v00001002d00004389sv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (K9AG Neo2) - - pci:v00001002d00004389sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI2) (KI690-AM2 Motherboard) - - pci:v00001002d0000438A* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) - - pci:v00001002d0000438Asv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (DC5750 Microtower) - - pci:v00001002d0000438Asv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (Satellite P305D-S8995E) - - pci:v00001002d0000438Asv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (K9AG Neo2) - - pci:v00001002d0000438Asv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI3) (KI690-AM2 Motherboard) - - pci:v00001002d0000438B* - ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) - - pci:v00001002d0000438Bsv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (DC5750 Microtower) - - pci:v00001002d0000438Bsv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (Satellite P305D-S8995E) - - pci:v00001002d0000438Bsv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (K9AG Neo2) - - pci:v00001002d0000438Bsv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 USB (OHCI4) (KI690-AM2 Motherboard) - - pci:v00001002d0000438C* - ID_MODEL_FROM_DATABASE=SB600 IDE - - pci:v00001002d0000438Csv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 IDE (DC5750 Microtower) - - pci:v00001002d0000438Csv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 IDE (Satellite P305D-S8995E) - - pci:v00001002d0000438Csv00001458sd00005002* -- ID_MODEL_FROM_DATABASE=Gigabyte GA-MA69G-S3H Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 IDE (Gigabyte GA-MA69G-S3H Motherboard) - - pci:v00001002d0000438Csv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 IDE (K9AG Neo2) - - pci:v00001002d0000438Csv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 IDE (KI690-AM2 Motherboard) - - pci:v00001002d0000438D* - ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge - - pci:v00001002d0000438Dsv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (DC5750 Microtower) - - pci:v00001002d0000438Dsv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (Satellite P305D-S8995E) - - pci:v00001002d0000438Dsv00001462sd00007368* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (K9AG Neo2) - - pci:v00001002d0000438Dsv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=SB600 PCI to LPC Bridge (KI690-AM2 Motherboard) - - pci:v00001002d0000438E* - ID_MODEL_FROM_DATABASE=SB600 AC97 Modem -@@ -2409,31 +2409,31 @@ pci:v00001002d00004390* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] - - pci:v00001002d00004390sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M3A78-EH Motherboard) - - pci:v00001002d00004390sv00001043sd00008389* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (M4A785TD Motherboard) - - pci:v00001002d00004390sv00001458sd0000B002* -- ID_MODEL_FROM_DATABASE=GA-MA770-DS3rev2.0 Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (GA-MA770-DS3rev2.0 Motherboard) - - pci:v00001002d00004390sv00001849sd00004390* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (Motherboard (one of many)) - - pci:v00001002d00004391* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] - - pci:v00001002d00004391sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (Pavilion DM1Z-3000) - - pci:v00001002d00004391sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M3A78-EH Motherboard) - - pci:v00001002d00004391sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (M5A88-V EVO) - - pci:v00001002d00004391sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (PURE Fusion Mini) - - pci:v00001002d00004392* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] -@@ -2451,97 +2451,97 @@ pci:v00001002d00004396* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller - - pci:v00001002d00004396sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (A785GM-M) - - pci:v00001002d00004396sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (Pavilion DM1Z-3000) - - pci:v00001002d00004396sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M3A78-EH Motherboard) - - pci:v00001002d00004396sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (M5A88-V EVO) - - pci:v00001002d00004396sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (H8DGU) - - pci:v00001002d00004396sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB EHCI Controller (PURE Fusion Mini) - - pci:v00001002d00004397* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller - - pci:v00001002d00004397sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (A785GM-M) - - pci:v00001002d00004397sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (Pavilion DM1Z-3000) - - pci:v00001002d00004397sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M3A78-EH Motherboard) - - pci:v00001002d00004397sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (M5A88-V EVO) - - pci:v00001002d00004397sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (H8DGU) - - pci:v00001002d00004397sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (PURE Fusion Mini) - - pci:v00001002d00004398* - ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller - - pci:v00001002d00004398sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (A785GM-M) - - pci:v00001002d00004398sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (M3A78-EH Motherboard) - - pci:v00001002d00004398sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=SB7x0 USB OHCI1 Controller (H8DGU) - - pci:v00001002d00004399* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller - - pci:v00001002d00004399sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (A785GM-M) - - pci:v00001002d00004399sv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M3A78-EH Motherboard) - - pci:v00001002d00004399sv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (M5A88-V EVO) - - pci:v00001002d00004399sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (PURE Fusion Mini) - - pci:v00001002d0000439C* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller - - pci:v00001002d0000439Csv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (A785GM-M) - - pci:v00001002d0000439Csv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 IDE Controller (M3A78-EH Motherboard) - - pci:v00001002d0000439D* - ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller - - pci:v00001002d0000439Dsv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (A785GM-M) - - pci:v00001002d0000439Dsv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (Pavilion DM1Z-3000) - - pci:v00001002d0000439Dsv00001043sd000082EF* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M3A78-EH Motherboard) - - pci:v00001002d0000439Dsv00001043sd00008443* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (M5A88-V EVO) - - pci:v00001002d0000439Dsv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=SB7x0/SB8x0/SB9x0 LPC host controller (PURE Fusion Mini) - - pci:v00001002d000043A0* - ID_MODEL_FROM_DATABASE=SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) -@@ -2568,88 +2568,88 @@ pci:v00001002d00004742* - ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X - - pci:v00001002d00004742sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00000061* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) - - pci:v00001002d00004742sv00001002sd00000062* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) - - pci:v00001002d00004742sv00001002sd00000063* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro AIW AGP 2X) - - pci:v00001002d00004742sv00001002sd00000080* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00004742* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001002sd00008001* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001028sd00000082* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001028sd00004082* -- ID_MODEL_FROM_DATABASE=Optiplex GX1 Onboard Display Adapter -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Optiplex GX1 Onboard Display Adapter) - - pci:v00001002d00004742sv00001028sd00008082* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00001028sd0000C082* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004742sv00008086sd00004152* -- ID_MODEL_FROM_DATABASE=Xpert 98D AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Xpert 98D AGP 2X) - - pci:v00001002d00004742sv00008086sd0000464A* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 2X (Rage Pro Turbo AGP 2X) - - pci:v00001002d00004744* - ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X - - pci:v00001002d00004744sv00001002sd00004744* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo AGP -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage Pro Turbo AGP) - - pci:v00001002d00004744sv00008086sd00004D55* -- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 1X [Intel MU440EX] -+ ID_MODEL_FROM_DATABASE=3D Rage PRO AGP 1X (Rage 3D Pro AGP 1X [Intel MU440EX]) - - pci:v00001002d00004749* - ID_MODEL_FROM_DATABASE=3D Rage PRO PCI - - pci:v00001002d00004749sv00001002sd00000061* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW -+ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) - - pci:v00001002d00004749sv00001002sd00000062* -- ID_MODEL_FROM_DATABASE=Rage Pro AIW -+ ID_MODEL_FROM_DATABASE=3D Rage PRO PCI (Rage Pro AIW) - - pci:v00001002d0000474D* - ID_MODEL_FROM_DATABASE=Rage XL AGP 2X - - pci:v00001002d0000474Dsv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) - - pci:v00001002d0000474Dsv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 98 RXL AGP 2X -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 RXL AGP 2X) - - pci:v00001002d0000474Dsv00001002sd00000080* - ID_MODEL_FROM_DATABASE=Rage XL AGP 2X - - pci:v00001002d0000474Dsv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Xpert 98 AGP 2X) - - pci:v00001002d0000474Dsv00001002sd0000474D* -- ID_MODEL_FROM_DATABASE=Rage XL AGP -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) - - pci:v00001002d0000474Dsv00001033sd0000806A* -- ID_MODEL_FROM_DATABASE=Rage XL AGP -+ ID_MODEL_FROM_DATABASE=Rage XL AGP 2X (Rage XL AGP) - - pci:v00001002d0000474E* - ID_MODEL_FROM_DATABASE=Rage XC AGP -@@ -2670,79 +2670,79 @@ pci:v00001002d00004750* - ID_MODEL_FROM_DATABASE=3D Rage Pro PCI - - pci:v00001002d00004750sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00000080* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004750sv00001002sd00004750* -- ID_MODEL_FROM_DATABASE=Rage Pro Turbo -+ ID_MODEL_FROM_DATABASE=3D Rage Pro PCI (Rage Pro Turbo) - - pci:v00001002d00004752* - ID_MODEL_FROM_DATABASE=Rage XL PCI - - pci:v00001002d00004752sv00000E11sd0000001E* -- ID_MODEL_FROM_DATABASE=Proliant Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) - - pci:v00001002d00004752sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) - - pci:v00001002d00004752sv00001002sd00004752* -- ID_MODEL_FROM_DATABASE=Proliant Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Proliant Rage XL) - - pci:v00001002d00004752sv00001002sd00008008* -- ID_MODEL_FROM_DATABASE=Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Rage XL) - - pci:v00001002d00004752sv00001014sd00000240* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (eServer xSeries server mainboard) - - pci:v00001002d00004752sv00001028sd000000CE* -- ID_MODEL_FROM_DATABASE=PowerEdge 1400 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1400) - - pci:v00001002d00004752sv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=PowerEdge 2550 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2550) - - pci:v00001002d00004752sv00001028sd000000D9* -- ID_MODEL_FROM_DATABASE=PowerEdge 2500 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 2500) - - pci:v00001002d00004752sv00001028sd00000134* -- ID_MODEL_FROM_DATABASE=PowerEdge 600SC -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 600SC) - - pci:v00001002d00004752sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 1750) - - pci:v00001002d00004752sv00001028sd00000165* -- ID_MODEL_FROM_DATABASE=PowerEdge 750 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PowerEdge 750) - - pci:v00001002d00004752sv0000103Csd000010E1* -- ID_MODEL_FROM_DATABASE=NetServer Rage XL -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (NetServer Rage XL) - - pci:v00001002d00004752sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (ProLiant DL140 G2) - - pci:v00001002d00004752sv0000107Bsd00006400* -- ID_MODEL_FROM_DATABASE=6400 Server -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (6400 Server) - - pci:v00001002d00004752sv00001734sd0000007A* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard VGA -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (PRIMERGY RX/TX series onboard VGA) - - pci:v00001002d00004752sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (Primergy Econel 200 D2020 mainboard) - - pci:v00001002d00004752sv00008086sd00003411* -- ID_MODEL_FROM_DATABASE=SDS2 Mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (SDS2 Mainboard) - - pci:v00001002d00004752sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (S875WP1-E mainboard) - - pci:v00001002d00004752sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=Rage XL PCI (S845WD1-E mainboard) - - pci:v00001002d00004753* - ID_MODEL_FROM_DATABASE=Rage XC -@@ -2760,28 +2760,28 @@ pci:v00001002d00004756* - ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] - - pci:v00001002d00004756sv00001002sd00004756* -- ID_MODEL_FROM_DATABASE=Rage IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC PCI [Mach64 GT IIC] (Rage IIC) - - pci:v00001002d00004757* - ID_MODEL_FROM_DATABASE=3D Rage IIC AGP - - pci:v00001002d00004757sv00001002sd00004757* -- ID_MODEL_FROM_DATABASE=Rage IIC AGP -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) - - pci:v00001002d00004757sv00001028sd00000089* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004757sv00001028sd0000008E* -- ID_MODEL_FROM_DATABASE=PowerEdge 1300 onboard video -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (PowerEdge 1300 onboard video) - - pci:v00001002d00004757sv00001028sd00004082* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004757sv00001028sd00008082* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004757sv00001028sd0000C082* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d00004758* - ID_MODEL_FROM_DATABASE=210888GX [Mach64 GX PCI] -@@ -2793,40 +2793,40 @@ pci:v00001002d0000475A* - ID_MODEL_FROM_DATABASE=3D Rage IIC AGP - - pci:v00001002d0000475Asv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Rage 3D Pro AGP 2x XPERT 98 -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D Pro AGP 2x XPERT 98) - - pci:v00001002d0000475Asv00001002sd00000087* -- ID_MODEL_FROM_DATABASE=Rage 3D IIC -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage 3D IIC) - - pci:v00001002d0000475Asv00001002sd0000475A* -- ID_MODEL_FROM_DATABASE=Rage IIC AGP -+ ID_MODEL_FROM_DATABASE=3D Rage IIC AGP (Rage IIC AGP) - - pci:v00001002d00004966* - ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] - - pci:v00001002d00004966sv000010F1sd00000002* -- ID_MODEL_FROM_DATABASE=RV250 If [Tachyon G9000 PRO] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Tachyon G9000 PRO]) - - pci:v00001002d00004966sv0000148Csd00002039* -- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 Pro "Evil Commando"] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 Pro "Evil Commando"]) - - pci:v00001002d00004966sv00001509sd00009A00* -- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "AT009"] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "AT009"]) - - pci:v00001002d00004966sv00001681sd00000040* -- ID_MODEL_FROM_DATABASE=RV250 If [3D prophet 9000] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [3D prophet 9000]) - - pci:v00001002d00004966sv0000174Bsd00007176* -- ID_MODEL_FROM_DATABASE=Radeon 9000 Pro -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (Radeon 9000 Pro) - - pci:v00001002d00004966sv0000174Bsd00007192* -- ID_MODEL_FROM_DATABASE=RV250 If [Radeon 9000 "Atlantis"] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Radeon 9000 "Atlantis"]) - - pci:v00001002d00004966sv000017AFsd00002005* -- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000 Pro] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000 Pro]) - - pci:v00001002d00004966sv000017AFsd00002006* -- ID_MODEL_FROM_DATABASE=RV250 If [Excalibur Radeon 9000] -+ ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000 Series] (RV250 If [Excalibur Radeon 9000]) - - pci:v00001002d0000496E* - ID_MODEL_FROM_DATABASE=RV250 [Radeon 9000] (Secondary) -@@ -2835,7 +2835,7 @@ pci:v00001002d00004A49* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] - - pci:v00001002d00004A49sv0000174Bsd00002620* -- ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GTO AGP] -+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO AGP] (R420 [Radeon X800 GTO AGP]) - - pci:v00001002d00004A4A* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 GT AGP] -@@ -2859,7 +2859,7 @@ pci:v00001002d00004A54* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] - - pci:v00001002d00004A54sv00001002sd00004422* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 VE AGP -+ ID_MODEL_FROM_DATABASE=R420 [Radeon X800 VE AGP] (All-In-Wonder X800 VE AGP) - - pci:v00001002d00004A69* - ID_MODEL_FROM_DATABASE=R420 [Radeon X800 PRO/GTO] (Secondary) -@@ -2898,40 +2898,40 @@ pci:v00001002d00004C42* - ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X - - pci:v00001002d00004C42sv00000E11sd0000B0E7* -- ID_MODEL_FROM_DATABASE=Rage LT Pro (Compaq Presario 5240) -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro (Compaq Presario 5240)) - - pci:v00001002d00004C42sv00000E11sd0000B0E8* -- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) - - pci:v00001002d00004C42sv00000E11sd0000B10E* -- ID_MODEL_FROM_DATABASE=3D Rage LT Pro (Compaq Armada 1750) -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (3D Rage LT Pro (Compaq Armada 1750)) - - pci:v00001002d00004C42sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001002sd00004C42* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001002sd00008001* -- ID_MODEL_FROM_DATABASE=Rage LT Pro AGP 2X -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage LT Pro AGP 2X) - - pci:v00001002d00004C42sv00001028sd00000085* -- ID_MODEL_FROM_DATABASE=Rage 3D LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO AGP 2X (Rage 3D LT Pro) - - pci:v00001002d00004C46* - ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 - - pci:v00001002d00004C46sv00001002sd00000155* -- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p -+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) - - pci:v00001002d00004C46sv00001014sd00000155* -- ID_MODEL_FROM_DATABASE=IBM Thinkpad A22p -+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (IBM Thinkpad A22p) - - pci:v00001002d00004C46sv00001028sd000000B1* -- ID_MODEL_FROM_DATABASE=Latitude C600 -+ ID_MODEL_FROM_DATABASE=Rage Mobility 128 AGP 2X/Mobility M3 (Latitude C600) - - pci:v00001002d00004C47* - ID_MODEL_FROM_DATABASE=3D Rage IIC PCI / Mobility Radeon 7500/7500C -@@ -2940,55 +2940,55 @@ pci:v00001002d00004C49* - ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI - - pci:v00001002d00004C49sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C49sv00001002sd00000040* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C49sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C49sv00001002sd00004C49* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C4D* - ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series - - pci:v00001002d00004C4Dsv00000E11sd0000B111* -- ID_MODEL_FROM_DATABASE=Armada M700 -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada M700) - - pci:v00001002d00004C4Dsv00000E11sd0000B160* -- ID_MODEL_FROM_DATABASE=Armada E500 -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Armada E500) - - pci:v00001002d00004C4Dsv00001002sd00000084* -- ID_MODEL_FROM_DATABASE=Xpert 98 AGP 2X (Mobility) -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Xpert 98 AGP 2X (Mobility)) - - pci:v00001002d00004C4Dsv00001014sd00000154* -- ID_MODEL_FROM_DATABASE=ThinkPad A20m/A21m -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (ThinkPad A20m/A21m) - - pci:v00001002d00004C4Dsv00001028sd000000AA* -- ID_MODEL_FROM_DATABASE=Latitude CPt -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPt) - - pci:v00001002d00004C4Dsv00001028sd000000BB* -- ID_MODEL_FROM_DATABASE=Latitude CPx -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Latitude CPx) - - pci:v00001002d00004C4Dsv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Satellite 1715XCDS laptop -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (Satellite 1715XCDS laptop) - - pci:v00001002d00004C4Dsv000013BDsd00001019* -- ID_MODEL_FROM_DATABASE=PC-AR10 -+ ID_MODEL_FROM_DATABASE=Rage Mobility AGP 2x Series (PC-AR10) - - pci:v00001002d00004C50* - ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI - - pci:v00001002d00004C50sv00001002sd00004C50* -- ID_MODEL_FROM_DATABASE=Rage LT Pro -+ ID_MODEL_FROM_DATABASE=3D Rage LT PRO PCI (Rage LT Pro) - - pci:v00001002d00004C52* - ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI - - pci:v00001002d00004C52sv00001033sd00008112* -- ID_MODEL_FROM_DATABASE=Versa Note VXi -+ ID_MODEL_FROM_DATABASE=Rage Mobility-M1 PCI (Versa Note VXi) - - pci:v00001002d00004C54* - ID_MODEL_FROM_DATABASE=264LT [Mach64 LT] -@@ -2997,22 +2997,22 @@ pci:v00001002d00004C57* - ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] - - pci:v00001002d00004C57sv00001014sd00000517* -- ID_MODEL_FROM_DATABASE=ThinkPad T30 -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) - - pci:v00001002d00004C57sv00001014sd00000530* -- ID_MODEL_FROM_DATABASE=ThinkPad T42 2373-4WU -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) - - pci:v00001002d00004C57sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW (Dell Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) - - pci:v00001002d00004C57sv00001028sd0000012A* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Latitude C640) - - pci:v00001002d00004C57sv00001043sd00001622* -- ID_MODEL_FROM_DATABASE=Mobility Radeon M7 (L3C/S) -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Mobility Radeon M7 (L3C/S)) - - pci:v00001002d00004C57sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=Radeon Mobility M7 LW in vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW in vpr Matrix 170B4) - - pci:v00001002d00004C58* - ID_MODEL_FROM_DATABASE=RV200/M7 GL [Mobility FireGL 7800] -@@ -3021,31 +3021,31 @@ pci:v00001002d00004C59* - ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] - - pci:v00001002d00004C59sv00000E11sd0000B111* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Evo N600c) - - pci:v00001002d00004C59sv00001014sd00000235* -- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p (2652/2653) -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad A30/A30p (2652/2653)) - - pci:v00001002d00004C59sv00001014sd00000239* -- ID_MODEL_FROM_DATABASE=ThinkPad X22/X23/X24 -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (ThinkPad X22/X23/X24) - - pci:v00001002d00004C59sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (XE4500 Notebook) - - pci:v00001002d00004C59sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00001002d00004C59sv0000104Dsd00008140* -- ID_MODEL_FROM_DATABASE=PCG-Z1SP laptop -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (PCG-Z1SP laptop) - - pci:v00001002d00004C59sv00001509sd00001930* -- ID_MODEL_FROM_DATABASE=Medion MD9703 -+ ID_MODEL_FROM_DATABASE=RV100/M6 [Rage/Radeon Mobility Series] (Medion MD9703) - - pci:v00001002d00004C66* - ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] - - pci:v00001002d00004C66sv00001014sd0000054D* -- ID_MODEL_FROM_DATABASE=ThinkPad T41 -+ ID_MODEL_FROM_DATABASE=RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] (ThinkPad T41) - - pci:v00001002d00004C6E* - ID_MODEL_FROM_DATABASE=RV250/M9 [Mobility Radeon 9000] (Secondary) -@@ -3063,19 +3063,19 @@ pci:v00001002d00004E44* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] - - pci:v00001002d00004E44sv00001002sd0000515E* -- ID_MODEL_FROM_DATABASE=Radeon ES1000 -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) - - pci:v00001002d00004E44sv00001002sd00005965* -- ID_MODEL_FROM_DATABASE=Radeon ES1000 -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9700/9700 PRO] (Radeon ES1000) - - pci:v00001002d00004E45* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] - - pci:v00001002d00004E45sv00001002sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Radeon R300 NE [Radeon 9500 Pro]) - - pci:v00001002d00004E45sv00001681sd00000002* -- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO/9700] (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro]) - - pci:v00001002d00004E46* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9600 TX] -@@ -3093,7 +3093,7 @@ pci:v00001002d00004E4A* - ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] - - pci:v00001002d00004E4Asv00001002sd00004E4A* -- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] -+ ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XXL/XT] (R360 [Radeon 9800 XT]) - - pci:v00001002d00004E4B* - ID_MODEL_FROM_DATABASE=R350 GL [FireGL X2 AGP Pro] -@@ -3102,22 +3102,22 @@ pci:v00001002d00004E50* - ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] - - pci:v00001002d00004E50sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (TravelMate 290) - - pci:v00001002d00004E50sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC8000 laptop) - - pci:v00001002d00004E50sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (NC6000 laptop) - - pci:v00001002d00004E50sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P35 notebook -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (P35 notebook) - - pci:v00001002d00004E50sv00001462sd00000311* -- ID_MODEL_FROM_DATABASE=MSI M510A -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (MSI M510A) - - pci:v00001002d00004E50sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420W -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600 PRO Turbo] (Amilo M1420W) - - pci:v00001002d00004E51* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9550/9600/X1050 Series] -@@ -3126,7 +3126,7 @@ pci:v00001002d00004E52* - ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] - - pci:v00001002d00004E52sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P35 notebook -+ ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9500/9700 SE] (P35 notebook) - - pci:v00001002d00004E54* - ID_MODEL_FROM_DATABASE=RV350/M10 GL [Mobility FireGL T2] -@@ -3141,10 +3141,10 @@ pci:v00001002d00004E65* - ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) - - pci:v00001002d00004E65sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=Radeon R300 NE [Radeon 9500 Pro] -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Radeon R300 NE [Radeon 9500 Pro]) - - pci:v00001002d00004E65sv00001681sd00000003* -- ID_MODEL_FROM_DATABASE=Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) -+ ID_MODEL_FROM_DATABASE=R300 [Radeon 9500 PRO] (Secondary) (Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary)) - - pci:v00001002d00004E66* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9600] (Secondary) -@@ -3162,10 +3162,10 @@ pci:v00001002d00004E6A* - ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) - - pci:v00001002d00004E6Asv00001002sd00004E6A* -- ID_MODEL_FROM_DATABASE=R360 [Radeon 9800 XT] (Secondary) -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (R360 [Radeon 9800 XT] (Secondary)) - - pci:v00001002d00004E6Asv00001002sd00004E71* -- ID_MODEL_FROM_DATABASE=M10 NQ [Radeon Mobility 9600] -+ ID_MODEL_FROM_DATABASE=RV350 [Radeon 9800 XT] (Secondary) (M10 NQ [Radeon Mobility 9600]) - - pci:v00001002d00004E71* - ID_MODEL_FROM_DATABASE=RV350/M10 [Mobility Radeon 9600] (Secondary) -@@ -3180,46 +3180,46 @@ pci:v00001002d00005044* - ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI - - pci:v00001002d00005044sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) - - pci:v00001002d00005044sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=All-In-Wonder 128 PCI (Rage 128 AIW) - - pci:v00001002d00005046* - ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS - - pci:v00001002d00005046sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) - - pci:v00001002d00005046sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005046sv00001002sd00000014* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) - - pci:v00001002d00005046sv00001002sd00000018* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005046sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) - - pci:v00001002d00005046sv00001002sd0000002A* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage 128 Pro AIW AGP) - - pci:v00001002d00005046sv00001002sd00000048* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury Pro) - - pci:v00001002d00005046sv00001002sd00002000* -- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (VGA device) -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (VGA device)) - - pci:v00001002d00005046sv00001002sd00002001* -- ID_MODEL_FROM_DATABASE=Rage Fury MAXX AGP 4x (TMDS) (Extra device?!) -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4x TMDS (Rage Fury MAXX AGP 4x (TMDS) (Extra device?!)) - - pci:v00001002d00005050* - ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] - - pci:v00001002d00005050sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 128 -+ ID_MODEL_FROM_DATABASE=Rage128 [Xpert 128 PCI] (Xpert 128) - - pci:v00001002d00005052* - ID_MODEL_FROM_DATABASE=Rage 128 PRO AGP 4X TMDS -@@ -3228,79 +3228,79 @@ pci:v00001002d00005144* - ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] - - pci:v00001002d00005144sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon VE) - - pci:v00001002d00005144sv00001002sd00000009* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000000A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000001A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Radeon AIW -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) - - pci:v00001002d00005144sv00001002sd00000038* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd00000039* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000008A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd000000BA* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd00000139* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd0000028A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005144sv00001002sd000002AA* -- ID_MODEL_FROM_DATABASE=Radeon AIW -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon AIW) - - pci:v00001002d00005144sv00001002sd0000053A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon -+ ID_MODEL_FROM_DATABASE=R100 [Radeon 7200 / All-In-Wonder Radeon] (Radeon 7000/Radeon) - - pci:v00001002d00005148* - ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] - - pci:v00001002d00005148sv00001002sd0000010A* -- ID_MODEL_FROM_DATABASE=FireGL 8800 64Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 64Mb) - - pci:v00001002d00005148sv00001002sd00000152* -- ID_MODEL_FROM_DATABASE=FireGL 8800 128Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8800 128Mb) - - pci:v00001002d00005148sv00001002sd00000162* -- ID_MODEL_FROM_DATABASE=FireGL 8700 32Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 32Mb) - - pci:v00001002d00005148sv00001002sd00000172* -- ID_MODEL_FROM_DATABASE=FireGL 8700 64Mb -+ ID_MODEL_FROM_DATABASE=R200 GL [FireGL 8800] (FireGL 8700 64Mb) - - pci:v00001002d0000514C* - ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] - - pci:v00001002d0000514Csv00001002sd0000003A* -- ID_MODEL_FROM_DATABASE=Radeon R200 QL [Radeon 8500 LE] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [Radeon 8500 LE]) - - pci:v00001002d0000514Csv00001002sd0000013A* -- ID_MODEL_FROM_DATABASE=Radeon 8500 -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500) - - pci:v00001002d0000514Csv0000148Csd00002026* -- ID_MODEL_FROM_DATABASE=R200 QL [Radeon 8500 Evil Master II Multi Display Edition] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (R200 QL [Radeon 8500 Evil Master II Multi Display Edition]) - - pci:v00001002d0000514Csv00001681sd00000010* -- ID_MODEL_FROM_DATABASE=Radeon 8500 [3D Prophet 8500 128Mb] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 [3D Prophet 8500 128Mb]) - - pci:v00001002d0000514Csv0000174Bsd00007149* -- ID_MODEL_FROM_DATABASE=Radeon 8500 LE -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon 8500 LE) - - pci:v00001002d0000514Csv00001787sd00000F08* -- ID_MODEL_FROM_DATABASE=Radeon R200 QL [PowerMagic Radeon 8500] -+ ID_MODEL_FROM_DATABASE=R200 [Radeon 8500/8500 LE] (Radeon R200 QL [PowerMagic Radeon 8500]) - - pci:v00001002d0000514D* - ID_MODEL_FROM_DATABASE=R200 [Radeon 9100] -@@ -3309,196 +3309,196 @@ pci:v00001002d00005157* - ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] - - pci:v00001002d00005157sv00001002sd0000013A* -- ID_MODEL_FROM_DATABASE=Radeon 7500 -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500) - - pci:v00001002d00005157sv00001002sd00000F2B* -- ID_MODEL_FROM_DATABASE=ALL-IN-WONDER VE PCI -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (ALL-IN-WONDER VE PCI) - - pci:v00001002d00005157sv00001002sd0000103A* -- ID_MODEL_FROM_DATABASE=Dell Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Dell Optiplex GX260) - - pci:v00001002d00005157sv00001458sd00004000* -- ID_MODEL_FROM_DATABASE=RV200 QW [RADEON 7500 PRO MAYA AR] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [RADEON 7500 PRO MAYA AR]) - - pci:v00001002d00005157sv0000148Csd00002024* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500LE Dual Display] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500LE Dual Display]) - - pci:v00001002d00005157sv0000148Csd00002025* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 Evil Master Multi Display Edition] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 Evil Master Multi Display Edition]) - - pci:v00001002d00005157sv0000148Csd00002036* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 PCI Dual Display] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 PCI Dual Display]) - - pci:v00001002d00005157sv0000174Bsd00007146* -- ID_MODEL_FROM_DATABASE=RV200 QW [Radeon 7500 LE] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Radeon 7500 LE]) - - pci:v00001002d00005157sv0000174Bsd00007147* -- ID_MODEL_FROM_DATABASE=Radeon 7500 LE -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon 7500 LE) - - pci:v00001002d00005157sv0000174Bsd00007161* -- ID_MODEL_FROM_DATABASE=Radeon RV200 QW [Radeon 7500 LE] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (Radeon RV200 QW [Radeon 7500 LE]) - - pci:v00001002d00005157sv000017AFsd00000202* -- ID_MODEL_FROM_DATABASE=RV200 QW [Excalibur Radeon 7500LE] -+ ID_MODEL_FROM_DATABASE=RV200 [Radeon 7500/7500 LE] (RV200 QW [Excalibur Radeon 7500LE]) - - pci:v00001002d00005159* - ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] - - pci:v00001002d00005159sv00001002sd0000000A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd0000000B* -- ID_MODEL_FROM_DATABASE=Radeon 7000 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) - - pci:v00001002d00005159sv00001002sd00000038* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd0000003A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd000000BA* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd0000013A* -- ID_MODEL_FROM_DATABASE=Radeon 7000/Radeon VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000/Radeon VE) - - pci:v00001002d00005159sv00001002sd00000908* -- ID_MODEL_FROM_DATABASE=XVR-100 (supplied by Sun) -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (XVR-100 (supplied by Sun)) - - pci:v00001002d00005159sv00001014sd0000029A* -- ID_MODEL_FROM_DATABASE=Remote Supervisor Adapter II (RSA2) -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Remote Supervisor Adapter II (RSA2)) - - pci:v00001002d00005159sv00001014sd000002C8* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (eServer xSeries server mainboard) - - pci:v00001002d00005159sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Embedded Radeon 7000/VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 1850 Embedded Radeon 7000/VE) - - pci:v00001002d00005159sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Embedded Radeon 7000-M -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 2850 Embedded Radeon 7000-M) - - pci:v00001002d00005159sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Embedded Radeon 7000/VE -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge 6850 Embedded Radeon 7000/VE) - - pci:v00001002d00005159sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (PowerEdge SC1425) - - pci:v00001002d00005159sv0000103Csd00001292* -- ID_MODEL_FROM_DATABASE=Radeon 7000 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000) - - pci:v00001002d00005159sv00001043sd0000C00A* -- ID_MODEL_FROM_DATABASE=A7000/T/64M -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (A7000/T/64M) - - pci:v00001002d00005159sv00001458sd00004002* -- ID_MODEL_FROM_DATABASE=RV100 QY [RADEON 7000 PRO MAYA AV Series] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [RADEON 7000 PRO MAYA AV Series]) - - pci:v00001002d00005159sv0000148Csd00002003* -- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Multi-Display Edition] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Multi-Display Edition]) - - pci:v00001002d00005159sv0000148Csd00002023* -- ID_MODEL_FROM_DATABASE=RV100 QY [Radeon 7000 Evil Master Multi-Display] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Radeon 7000 Evil Master Multi-Display]) - - pci:v00001002d00005159sv0000174Bsd00000280* -- ID_MODEL_FROM_DATABASE=Radeon RV100 QY [Radeon 7000/VE] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon RV100 QY [Radeon 7000/VE]) - - pci:v00001002d00005159sv0000174Bsd00007112* -- ID_MODEL_FROM_DATABASE=Radeon VE 7000 -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000) - - pci:v00001002d00005159sv0000174Bsd00007C28* -- ID_MODEL_FROM_DATABASE=Radeon VE 7000 DDR -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon VE 7000 DDR) - - pci:v00001002d00005159sv00001787sd00000202* -- ID_MODEL_FROM_DATABASE=RV100 QY [Excalibur Radeon 7000] -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (RV100 QY [Excalibur Radeon 7000]) - - pci:v00001002d00005159sv000017EEsd00001001* -- ID_MODEL_FROM_DATABASE=Radeon 7000 64MB DDR + DVI -+ ID_MODEL_FROM_DATABASE=RV100 [Radeon 7000 / Radeon VE] (Radeon 7000 64MB DDR + DVI) - - pci:v00001002d0000515E* - ID_MODEL_FROM_DATABASE=ES1000 - - pci:v00001002d0000515Esv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 1955 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge SC440) - - pci:v00001002d0000515Esv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 860) - - pci:v00001002d0000515Esv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R900 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge 2970 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T605 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R300 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T300 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R805 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000223* -- ID_MODEL_FROM_DATABASE=PowerEdge R905 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R905 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge T105 Embedded ATI ES1000) - - pci:v00001002d0000515Esv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 Embedded ATI ES1000 -+ ID_MODEL_FROM_DATABASE=ES1000 (PowerEdge R200 Embedded ATI ES1000) - - pci:v00001002d0000515Esv0000103Csd00001304* -- ID_MODEL_FROM_DATABASE=Integrity iLO2 Advanced KVM VGA [AD307A] -+ ID_MODEL_FROM_DATABASE=ES1000 (Integrity iLO2 Advanced KVM VGA [AD307A]) - - pci:v00001002d0000515Esv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=ES1000 (X7DVL-E-O motherboard) - - pci:v00001002d0000515Esv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=ES1000 (X7DBN Motherboard) - - pci:v00001002d0000515Esv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=ES1000 (S5000PSLSATA Server Board) - - pci:v00001002d00005245* - ID_MODEL_FROM_DATABASE=Rage 128 GL PCI - - pci:v00001002d00005245sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 128 -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Xpert 128) - - pci:v00001002d00005245sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) - - pci:v00001002d00005245sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) - - pci:v00001002d00005245sv00001002sd00000068* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 GL PCI (Rage 128 AIW) - - pci:v00001002d00005246* - ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x - - pci:v00001002d00005246sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Magnum/Xpert 128/Xpert 99 -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert 128/Xpert 99) - - pci:v00001002d00005246sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Magnum/Xpert128/X99/Xpert2000 -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Magnum/Xpert128/X99/Xpert2000) - - pci:v00001002d00005246sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) - - pci:v00001002d00005246sv00001002sd00000044* -- ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury/Xpert 128/Xpert 2000) - - pci:v00001002d00005246sv00001002sd00000068* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW AGP -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage 128 AIW AGP) - - pci:v00001002d00005246sv00001002sd00000448* -- ID_MODEL_FROM_DATABASE=Rage Fury -+ ID_MODEL_FROM_DATABASE=Rage Fury/Xpert 128/Xpert 2000 AGP 2x (Rage Fury) - - pci:v00001002d0000524B* - ID_MODEL_FROM_DATABASE=Rage 128 VR PCI -@@ -3507,73 +3507,73 @@ pci:v00001002d0000524C* - ID_MODEL_FROM_DATABASE=Rage 128 VR AGP - - pci:v00001002d0000524Csv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99/Xpert 2000) - - pci:v00001002d0000524Csv00001002sd00000088* -- ID_MODEL_FROM_DATABASE=Xpert 99 -+ ID_MODEL_FROM_DATABASE=Rage 128 VR AGP (Xpert 99) - - pci:v00001002d00005346* - ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x - - pci:v00001002d00005346sv00001002sd00000048* -- ID_MODEL_FROM_DATABASE=RAGE 128 16MB VGA TVOUT AMC PAL -+ ID_MODEL_FROM_DATABASE=Rage 128 SF/4x AGP 2x (RAGE 128 16MB VGA TVOUT AMC PAL) - - pci:v00001002d0000534D* - ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x - - pci:v00001002d0000534Dsv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Xpert 99/Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 99/Xpert 2000) - - pci:v00001002d0000534Dsv00001002sd00000018* -- ID_MODEL_FROM_DATABASE=Xpert 2000 -+ ID_MODEL_FROM_DATABASE=Rage 128 4X AGP 4x (Xpert 2000) - - pci:v00001002d00005354* - ID_MODEL_FROM_DATABASE=Mach 64 VT - - pci:v00001002d00005354sv00001002sd00005654* -- ID_MODEL_FROM_DATABASE=Mach 64 reference -+ ID_MODEL_FROM_DATABASE=Mach 64 VT (Mach 64 reference) - - pci:v00001002d00005446* - ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x - - pci:v00001002d00005446sv00001002sd00000004* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro) - - pci:v00001002d00005446sv00001002sd00000008* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005446sv00001002sd00000018* -- ID_MODEL_FROM_DATABASE=Rage Fury Pro/Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage Fury Pro/Xpert 2000 Pro) - - pci:v00001002d00005446sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) - - pci:v00001002d00005446sv00001002sd00000029* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) - - pci:v00001002d00005446sv00001002sd0000002A* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW Pro AGP -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW Pro AGP) - - pci:v00001002d00005446sv00001002sd0000002B* -- ID_MODEL_FROM_DATABASE=Rage 128 AIW -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Rage 128 AIW) - - pci:v00001002d00005446sv00001002sd00000048* -- ID_MODEL_FROM_DATABASE=Xpert 2000 Pro -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra AGP 4x (Xpert 2000 Pro) - - pci:v00001002d00005452* - ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP - - pci:v00001002d00005452sv00001002sd0000001C* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) - - pci:v00001002d00005452sv0000103Csd00001279* -- ID_MODEL_FROM_DATABASE=Rage 128 Pro 4XL -+ ID_MODEL_FROM_DATABASE=Rage 128 PRO Ultra4XL VR-R AGP (Rage 128 Pro 4XL) - - pci:v00001002d00005460* - ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] - - pci:v00001002d00005460sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] (CR11/VR11 Single Board Computer) - - pci:v00001002d00005461* - ID_MODEL_FROM_DATABASE=RV370/M22 [Mobility Radeon X300] -@@ -3594,16 +3594,16 @@ pci:v00001002d0000554B* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] - - pci:v00001002d0000554Bsv00001002sd00000302* -- ID_MODEL_FROM_DATABASE=Radeon X800 SE -+ ID_MODEL_FROM_DATABASE=R423 [Radeon X800 GT/SE] (Radeon X800 SE) - - pci:v00001002d0000554D* - ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] - - pci:v00001002d0000554Dsv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X800 XL -+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (All-In-Wonder X800 XL) - - pci:v00001002d0000554Dsv00001458sd00002124* -- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) -+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (GV-R80L256V-B (AGP)) - - pci:v00001002d0000554E* - ID_MODEL_FROM_DATABASE=R430 [All-In-Wonder X800 GT] -@@ -3627,7 +3627,7 @@ pci:v00001002d0000556D* - ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) - - pci:v00001002d0000556Dsv00001458sd00002125* -- ID_MODEL_FROM_DATABASE=GV-R80L256V-B (AGP) -+ ID_MODEL_FROM_DATABASE=R430 [Radeon X800 XL] (Secondary) (GV-R80L256V-B (AGP)) - - pci:v00001002d0000556F* - ID_MODEL_FROM_DATABASE=R430 [Radeon X800] (Secondary) -@@ -3648,16 +3648,16 @@ pci:v00001002d00005653* - ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] - - pci:v00001002d00005653sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (Aspire 5024WLMi) - - pci:v00001002d00005653sv0000103Csd00000940* -- ID_MODEL_FROM_DATABASE=HP Compaq NW8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=RV410/M26 [Mobility Radeon X700] (HP Compaq NW8240 Mobile Workstation) - - pci:v00001002d00005654* - ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] - - pci:v00001002d00005654sv00001002sd00005654* -- ID_MODEL_FROM_DATABASE=Mach64VT Reference -+ ID_MODEL_FROM_DATABASE=264VT [Mach64 VT] (Mach64VT Reference) - - pci:v00001002d00005655* - ID_MODEL_FROM_DATABASE=264VT3 [Mach64 VT3] -@@ -3699,22 +3699,22 @@ pci:v00001002d00005940* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) - - pci:v00001002d00005940sv000017AFsd00002021* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Secondary) (Excalibur Radeon 9250 (Secondary)) - - pci:v00001002d00005941* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) - - pci:v00001002d00005941sv00001458sd00004019* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) - - pci:v00001002d00005941sv0000174Bsd00007C12* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Radeon 9200) - - pci:v00001002d00005941sv000017AFsd0000200D* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (Excalibur Radeon 9200) - - pci:v00001002d00005941sv000018BCsd00000050* -- ID_MODEL_FROM_DATABASE=GC-R9200-C3 (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Secondary) (GC-R9200-C3 (Secondary)) - - pci:v00001002d00005944* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE PCI] -@@ -3723,22 +3723,22 @@ pci:v00001002d00005950* - ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge - - pci:v00001002d00005950sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMMi -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire 5024WLMMi) - - pci:v00001002d00005950sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (DC5750 Microtower) - - pci:v00001002d00005950sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Pavilion t3030.de Desktop PC) - - pci:v00001002d00005950sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MX6125) - - pci:v00001002d00005950sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (MS-1013 Notebook) - - pci:v00001002d00005950sv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RS480/RS482/RS485 Host Bridge (Aspire L250) - - pci:v00001002d00005951* - ID_MODEL_FROM_DATABASE=RX480/RX482 Host Bridge -@@ -3750,19 +3750,19 @@ pci:v00001002d00005954* - ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] - - pci:v00001002d00005954sv00001002sd00005954* -- ID_MODEL_FROM_DATABASE=RV370 [Radeon Xpress 200G Series] -+ ID_MODEL_FROM_DATABASE=RS480 [Radeon Xpress 200 Series] (RV370 [Radeon Xpress 200G Series]) - - pci:v00001002d00005955* - ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] - - pci:v00001002d00005955sv00001002sd00005955* -- ID_MODEL_FROM_DATABASE=RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] -+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)]) - - pci:v00001002d00005955sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MX6125) - - pci:v00001002d00005955sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=RS480M [Mobility Radeon Xpress 200] (MS-1013 Notebook) - - pci:v00001002d00005956* - ID_MODEL_FROM_DATABASE=RD790 Host Bridge -@@ -3771,7 +3771,7 @@ pci:v00001002d00005957* - ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge - - pci:v00001002d00005957sv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RX780/RX790 Host Bridge (A770CrossFire Motherboard) - - pci:v00001002d00005958* - ID_MODEL_FROM_DATABASE=RD780 Host Bridge -@@ -3780,37 +3780,37 @@ pci:v00001002d00005960* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] - - pci:v00001002d00005960sv000017AFsd00002020* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9250 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 PRO] (Excalibur Radeon 9250) - - pci:v00001002d00005961* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] - - pci:v00001002d00005961sv00001002sd00002F72* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 9200 Series -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (All-in-Wonder 9200 Series) - - pci:v00001002d00005961sv00001019sd00004C30* -- ID_MODEL_FROM_DATABASE=Radeon 9200 VIVO -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 VIVO) - - pci:v00001002d00005961sv000012ABsd00005961* -- ID_MODEL_FROM_DATABASE=YUAN SMARTVGA Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (YUAN SMARTVGA Radeon 9200) - - pci:v00001002d00005961sv00001458sd00004018* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) - - pci:v00001002d00005961sv0000174Bsd00007C13* -- ID_MODEL_FROM_DATABASE=Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200) - - pci:v00001002d00005961sv000017AFsd0000200C* -- ID_MODEL_FROM_DATABASE=Excalibur Radeon 9200 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Excalibur Radeon 9200) - - pci:v00001002d00005961sv000018BCsd00000050* -- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster) - - pci:v00001002d00005961sv000018BCsd00000051* -- ID_MODEL_FROM_DATABASE=GC-R9200-C3 -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (GC-R9200-C3) - - pci:v00001002d00005961sv000018BCsd00000053* -- ID_MODEL_FROM_DATABASE=Radeon 9200 Game Buster VIVO -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] (Radeon 9200 Game Buster VIVO) - - pci:v00001002d00005962* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200] -@@ -3819,37 +3819,37 @@ pci:v00001002d00005964* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] - - pci:v00001002d00005964sv00001002sd00005964* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz) - - pci:v00001002d00005964sv00001043sd0000C006* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE / TD / 128M -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE / TD / 128M) - - pci:v00001002d00005964sv00001458sd00004018* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) - - pci:v00001002d00005964sv00001458sd00004032* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE 128MB) - - pci:v00001002d00005964sv0000147Bsd00006191* -- ID_MODEL_FROM_DATABASE=R9200SE-DT -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (R9200SE-DT) - - pci:v00001002d00005964sv0000148Csd00002073* -- ID_MODEL_FROM_DATABASE=CN-AG92E -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (CN-AG92E) - - pci:v00001002d00005964sv0000174Bsd00007C13* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE) - - pci:v00001002d00005964sv00001787sd00005964* -- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Excalibur 9200SE VIVO 128M) - - pci:v00001002d00005964sv000017AFsd00002012* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Radeon 9200 SE Excalibur) - - pci:v00001002d00005964sv000018BCsd00000170* -- ID_MODEL_FROM_DATABASE=Sapphire Radeon 9200 SE 128MB Game Buster -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Sapphire Radeon 9200 SE 128MB Game Buster) - - pci:v00001002d00005964sv000018BCsd00000173* -- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) - - pci:v00001002d00005965* - ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] -@@ -3858,10 +3858,10 @@ pci:v00001002d00005974* - ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] - - pci:v00001002d00005974sv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (DC5750 Microtower) - - pci:v00001002d00005974sv00001462sd00007141* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RS482/RS485 [Radeon Xpress 1100/1150] (Aspire L250) - - pci:v00001002d00005975* - ID_MODEL_FROM_DATABASE=RS482M [Mobility Radeon Xpress 200] -@@ -3870,7 +3870,7 @@ pci:v00001002d00005978* - ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) - - pci:v00001002d00005978sv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RX780/RD790 PCI to PCI bridge (external gfx0 port A) (A770CrossFire Motherboard) - - pci:v00001002d00005979* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx0 port B) -@@ -3891,13 +3891,13 @@ pci:v00001002d0000597E* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) - - pci:v00001002d0000597Esv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port E) (A770CrossFire Motherboard) - - pci:v00001002d0000597F* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) - - pci:v00001002d0000597Fsv00001849sd00005957* -- ID_MODEL_FROM_DATABASE=A770CrossFire Motherboard -+ ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (PCI express gpp port F) (A770CrossFire Motherboard) - - pci:v00001002d00005980* - ID_MODEL_FROM_DATABASE=RD790 PCI to PCI bridge (external gfx1 port A) -@@ -3918,7 +3918,7 @@ pci:v00001002d00005A12* - ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part - - pci:v00001002d00005A12sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part (H8DGU) - - pci:v00001002d00005A13* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (external gfx0 port A) -@@ -3939,7 +3939,7 @@ pci:v00001002d00005A18* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) - - pci:v00001002d00005A18sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port D) (H8DGU) - - pci:v00001002d00005A19* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (PCI express gpp port E) -@@ -3963,7 +3963,7 @@ pci:v00001002d00005A1F* - ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) - - pci:v00001002d00005A1Fsv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=RD890 PCI to PCI bridge (NB-SB link) (H8DGU) - - pci:v00001002d00005A20* - ID_MODEL_FROM_DATABASE=RD890S PCI Express bridge for GPP2 port 1 -@@ -3996,7 +3996,7 @@ pci:v00001002d00005A3F* - ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] - - pci:v00001002d00005A3Fsv00001462sd00007217* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RC4xx/RS4xx PCI Bridge [int gfx] (Aspire L250) - - pci:v00001002d00005A41* - ID_MODEL_FROM_DATABASE=RS400 [Radeon Xpress 200] -@@ -4014,25 +4014,25 @@ pci:v00001002d00005B60* - ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] - - pci:v00001002d00005B60sv00001043sd0000002A* -- ID_MODEL_FROM_DATABASE=Extreme AX300SE-X -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300SE-X) - - pci:v00001002d00005B60sv00001043sd0000032E* -- ID_MODEL_FROM_DATABASE=Extreme AX300/TD -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Extreme AX300/TD) - - pci:v00001002d00005B60sv00001458sd00002102* -- ID_MODEL_FROM_DATABASE=GV-RX30S128D (X300SE) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (GV-RX30S128D (X300SE)) - - pci:v00001002d00005B60sv00001462sd00000400* -- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940 REV:200) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940 REV:200)) - - pci:v00001002d00005B60sv00001462sd00000402* -- ID_MODEL_FROM_DATABASE=RX300SE-TD128E (MS-8940) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (RX300SE-TD128E (MS-8940)) - - pci:v00001002d00005B60sv0000174Bsd00000500* -- ID_MODEL_FROM_DATABASE=Radeon X300 (PCIE) -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (Radeon X300 (PCIE)) - - pci:v00001002d00005B60sv0000196Dsd00001086* -- ID_MODEL_FROM_DATABASE=X300SE HM -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300] (X300SE HM) - - pci:v00001002d00005B62* - ID_MODEL_FROM_DATABASE=RV370 [Radeon X600/X600 SE] -@@ -4053,13 +4053,13 @@ pci:v00001002d00005B70* - ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] - - pci:v00001002d00005B70sv00001462sd00000403* -- ID_MODEL_FROM_DATABASE=Radeon X300 SE 128MB DDR -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE 128MB DDR) - - pci:v00001002d00005B70sv0000174Bsd00000501* -- ID_MODEL_FROM_DATABASE=Radeon X300 SE -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE) - - pci:v00001002d00005B70sv0000196Dsd00001087* -- ID_MODEL_FROM_DATABASE=Radeon X300 SE HyperMemory -+ ID_MODEL_FROM_DATABASE=RV370 [Radeon X300 SE] (Radeon X300 SE HyperMemory) - - pci:v00001002d00005B72* - ID_MODEL_FROM_DATABASE=RV380 [Radeon X300/X550/X1050 Series] (Secondary) -@@ -4080,37 +4080,37 @@ pci:v00001002d00005C63* - ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] - - pci:v00001002d00005C63sv00001002sd00005C63* -- ID_MODEL_FROM_DATABASE=Apple iBook G4 2004 -+ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (Apple iBook G4 2004) - - pci:v00001002d00005C63sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=RV280/M9+ [Mobility Radeon 9200 AGP] (P30 notebook) - - pci:v00001002d00005D44* - ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) - - pci:v00001002d00005D44sv00001458sd00004019* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) - - pci:v00001002d00005D44sv00001458sd00004032* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB) - - pci:v00001002d00005D44sv0000147Bsd00006190* -- ID_MODEL_FROM_DATABASE=R9200SE-DT (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (R9200SE-DT (Secondary)) - - pci:v00001002d00005D44sv0000174Bsd00007C12* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE (Secondary)) - - pci:v00001002d00005D44sv00001787sd00005965* -- ID_MODEL_FROM_DATABASE=Excalibur 9200SE VIVO 128M (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Excalibur 9200SE VIVO 128M (Secondary)) - - pci:v00001002d00005D44sv000017AFsd00002013* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE Excalibur (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE Excalibur (Secondary)) - - pci:v00001002d00005D44sv000018BCsd00000171* -- ID_MODEL_FROM_DATABASE=Radeon 9200 SE 128MB Game Buster (Secondary) -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (Radeon 9200 SE 128MB Game Buster (Secondary)) - - pci:v00001002d00005D44sv000018BCsd00000172* -- ID_MODEL_FROM_DATABASE=GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] -+ ID_MODEL_FROM_DATABASE=RV280 [Radeon 9200 SE] (Secondary) (GC-R9200L(SE)-C3H [Radeon 9200 Game Buster]) - - pci:v00001002d00005D45* - ID_MODEL_FROM_DATABASE=RV280 GL [FireMV 2200 PCI] (Secondary) -@@ -4140,7 +4140,7 @@ pci:v00001002d00005D52* - ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] - - pci:v00001002d00005D52sv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Primary) -+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (PowerColor X850XT PCIe (Primary)) - - pci:v00001002d00005D57* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] -@@ -4155,7 +4155,7 @@ pci:v00001002d00005D72* - ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) - - pci:v00001002d00005D72sv00001002sd00000B13* -- ID_MODEL_FROM_DATABASE=PowerColor X850XT PCIe (Secondary) -+ ID_MODEL_FROM_DATABASE=R480 [Radeon X850 XT] (Secondary) (PowerColor X850XT PCIe (Secondary)) - - pci:v00001002d00005D77* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] (Secondary) -@@ -4179,13 +4179,13 @@ pci:v00001002d00005E4D* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] - - pci:v00001002d00005E4Dsv0000148Csd00002116* -- ID_MODEL_FROM_DATABASE=Bravo X700 -+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Bravo X700) - - pci:v00001002d00005E4F* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] - - pci:v00001002d00005E4Fsv00001569sd00001E4F* -- ID_MODEL_FROM_DATABASE=Radeon X550 XT -+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Radeon X550 XT) - - pci:v00001002d00005E6B* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700 PRO] (Secondary) -@@ -4194,7 +4194,7 @@ pci:v00001002d00005E6D* - ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) - - pci:v00001002d00005E6Dsv0000148Csd00002117* -- ID_MODEL_FROM_DATABASE=Bravo X700 (Secondary) -+ ID_MODEL_FROM_DATABASE=RV410 [Radeon X700] (Secondary) (Bravo X700 (Secondary)) - - pci:v00001002d00005F57* - ID_MODEL_FROM_DATABASE=R423 [Radeon X800 XT] -@@ -4206,7 +4206,7 @@ pci:v00001002d00006601* - ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] - - pci:v00001002d00006601sv0000103Csd00002100* -- ID_MODEL_FROM_DATABASE=FirePro M4100 -+ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] (FirePro M4100) - - pci:v00001002d00006602* - ID_MODEL_FROM_DATABASE=Mars -@@ -4230,40 +4230,40 @@ pci:v00001002d00006610* - ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] - - pci:v00001002d00006610sv00001019sd00000030* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001028sd00002120* -- ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) - - pci:v00001002d00006610sv00001028sd00002322* -- ID_MODEL_FROM_DATABASE=Radeon R7 250 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon R7 250) - - pci:v00001002d00006610sv00001462sd00002910* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001462sd00002911* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001642sd00003C81* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006610sv00001642sd00003C91* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250] (Radeon HD 8670) - - pci:v00001002d00006611* - ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] - - pci:v00001002d00006611sv00001028sd0000210B* -- ID_MODEL_FROM_DATABASE=Radeon R5 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R5 240 OEM) - - pci:v00001002d00006611sv0000174Bsd00004248* -- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) - - pci:v00001002d00006611sv0000174Bsd0000A240* -- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) - - pci:v00001002d00006611sv00001B0Asd000090D3* -- ID_MODEL_FROM_DATABASE=Radeon R7 240 OEM -+ ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240 OEM] (Radeon R7 240 OEM) - - pci:v00001002d00006613* - ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] -@@ -4302,28 +4302,28 @@ pci:v00001002d0000665C* - ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] - - pci:v00001002d0000665Csv00001043sd00000452* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 DirectCU II OC -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 DirectCU II OC) - - pci:v00001002d0000665Csv00001462sd00002930* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 OC -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 OC) - - pci:v00001002d0000665Csv00001462sd00002932* -- ID_MODEL_FROM_DATABASE=Radeon HD 8770 -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 8770) - - pci:v00001002d0000665Csv00001462sd00002934* -- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) - - pci:v00001002d0000665Csv0000148Csd00009260* -- ID_MODEL_FROM_DATABASE=Radeon R9 260 OEM -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM) - - pci:v00001002d0000665Csv00001682sd00003310* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Black Edition 2 GB -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Black Edition 2 GB) - - pci:v00001002d0000665Csv0000174Bsd0000E253* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 Dual-X OC -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Dual-X OC) - - pci:v00001002d0000665Csv00001787sd00002329* -- ID_MODEL_FROM_DATABASE=Radeon HD 7790 TurboDuo -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 TurboDuo) - - pci:v00001002d0000665D* - ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series] -@@ -4335,7 +4335,7 @@ pci:v00001002d00006663* - ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] - - pci:v00001002d00006663sv00001025sd00000846* -- ID_MODEL_FROM_DATABASE=Radeon HD 8570A -+ ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8570A/8570M] (Radeon HD 8570A) - - pci:v00001002d00006664* - ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M240] -@@ -4377,34 +4377,34 @@ pci:v00001002d00006720* - ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] - - pci:v00001002d00006720sv00001028sd0000048F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv00001028sd00000490* -- ID_MODEL_FROM_DATABASE=Alienware M17x R3 Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Alienware M17x R3 Radeon HD 6970M) - - pci:v00001002d00006720sv00001028sd000004A4* -- ID_MODEL_FROM_DATABASE=FirePro M8900 -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) - - pci:v00001002d00006720sv00001028sd000004BA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv00001028sd0000053F* -- ID_MODEL_FROM_DATABASE=FirePro M8900 -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (FirePro M8900) - - pci:v00001002d00006720sv0000106Bsd00000B00* -- ID_MODEL_FROM_DATABASE=Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) - - pci:v00001002d00006720sv00001558sd00005102* -- ID_MODEL_FROM_DATABASE=Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) - - pci:v00001002d00006720sv00001558sd00005104* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv00001558sd00007201* -- ID_MODEL_FROM_DATABASE=Radeon HD 6990M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6990M) - - pci:v00001002d00006720sv0000174Bsd0000E188* -- ID_MODEL_FROM_DATABASE=Radeon HD 6970M -+ ID_MODEL_FROM_DATABASE=Blackcomb [Radeon HD 6970M/6990M] (Radeon HD 6970M) - - pci:v00001002d00006724* - ID_MODEL_FROM_DATABASE=Blackcomb [Mobility Radeon HD 6000 series] -@@ -4416,511 +4416,511 @@ pci:v00001002d00006738* - ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] - - pci:v00001002d00006738sv00001682sd00003103* -- ID_MODEL_FROM_DATABASE=Radeon HD 8670 -+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Radeon HD 8670) - - pci:v00001002d00006738sv00001787sd0000201A* -- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] -+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) - - pci:v00001002d00006738sv00001787sd0000201B* -- ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870 X2] -+ ID_MODEL_FROM_DATABASE=Barts XT [Radeon HD 6870] (Barts XT [Radeon HD 6870 X2]) - - pci:v00001002d00006739* - ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] - - pci:v00001002d00006739sv00001043sd000003B4* -- ID_MODEL_FROM_DATABASE=EAH6850 [Radeon HD 6850] -+ ID_MODEL_FROM_DATABASE=Barts PRO [Radeon HD 6850] (EAH6850 [Radeon HD 6850]) - - pci:v00001002d0000673E* - ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] - - pci:v00001002d0000673Esv0000148Csd00007720* -- ID_MODEL_FROM_DATABASE=Radeon HD 7720 OEM -+ ID_MODEL_FROM_DATABASE=Barts LE [Radeon HD 6790] (Radeon HD 7720 OEM) - - pci:v00001002d00006740* - ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] - - pci:v00001002d00006740sv00001019sd0000238C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001019sd00002391* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001019sd00002392* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Precision M4600) - - pci:v00001002d00006740sv00001028sd0000053E* -- ID_MODEL_FROM_DATABASE=FirePro M5950 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) - - pci:v00001002d00006740sv0000103Csd00001630* -- ID_MODEL_FROM_DATABASE=FirePro M5950 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) - - pci:v00001002d00006740sv0000103Csd00001631* -- ID_MODEL_FROM_DATABASE=FirePro M5950 -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (FirePro M5950) - - pci:v00001002d00006740sv0000103Csd0000164B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000103Csd0000164E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000103Csd00001657* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00001658* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000165A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000165B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00001688* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00001689* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000168A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000185E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7690M XT -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 7690M XT) - - pci:v00001002d00006740sv0000103Csd00003388* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00003389* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd00003582* -- ID_MODEL_FROM_DATABASE=Radeon HD 6770M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6770M) - - pci:v00001002d00006740sv0000103Csd0000366C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001043sd00001D02* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv00001043sd00001D12* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000104Dsd00009084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000104Dsd00009085* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B074* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B077* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv0000144Dsd0000B088* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006740sv000017AAsd00003982* -- ID_MODEL_FROM_DATABASE=Radeon HD 6730M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6730M/6770M/7690M XT] (Radeon HD 6730M) - - pci:v00001002d00006741* - ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] - - pci:v00001002d00006741sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001019sd0000238F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000379* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000037B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000037E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000382* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000384* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000385* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000386* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000387* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000388* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000442* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000451* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000489* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000048B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000048C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000050F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000513* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000515* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000516* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000051E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000051F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000520* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000521* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000052A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000555* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000556* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000055D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000055E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000056D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd0000059F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000600* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000605* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000606* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001025sd00000619* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001028sd000004C1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004C5* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004CD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004D7* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd000004D9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001028sd0000052D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000103Csd00001617* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd00001646* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00001647* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd0000164B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd0000164E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000103Csd00001688* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00001689* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd0000168A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00001860* -- ID_MODEL_FROM_DATABASE=Radeon HD 7690M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7690M) - - pci:v00001002d00006741sv0000103Csd00003385* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000103Csd00003560* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd0000358D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00003590* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd00003593* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000103Csd0000366C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00001CD2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002121* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002122* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002123* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001043sd00002125* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) - - pci:v00001002d00006741sv00001043sd00002127* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 7670M) - - pci:v00001002d00006741sv0000104Dsd0000907B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000104Dsd00009080* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000106Bsd000000E2* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", Late 2011] -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (MacBookPro8,2 [Core i7, 15", Late 2011]) - - pci:v00001002d00006741sv00001179sd0000FD63* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv00001179sd0000FD65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000144Dsd0000C093* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000144Dsd0000C0AC* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv0000144Dsd0000C0B3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6750M) - - pci:v00001002d00006741sv0000144Dsd0000C539* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000144Dsd0000C609* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv0000152Dsd00000914* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv000017AAsd000021E1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6630M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6630M) - - pci:v00001002d00006741sv000017AAsd00003970* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv000017AAsd00003976* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006741sv00001854sd00000907* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650M -+ ID_MODEL_FROM_DATABASE=Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (Radeon HD 6650M) - - pci:v00001002d00006742* - ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] - - pci:v00001002d00006742sv00001002sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00001019sd00002393* -- ID_MODEL_FROM_DATABASE=Radeon HD 6610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6610M) - - pci:v00001002d00006742sv00001043sd00001D82* -- ID_MODEL_FROM_DATABASE=K53SK Laptop Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (K53SK Laptop Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB22* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB23* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB27* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB2A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB2C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB30* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB31* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB32* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB38* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB39* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB3A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB3B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB40* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB41* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB47* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB48* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB49* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB51* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB53* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB81* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB82* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FB83* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FC56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FCD4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001179sd0000FCEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7610M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 7610M) - - pci:v00001002d00006742sv00001458sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00001462sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv0000148Csd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00001682sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv0000174Bsd00005570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 5570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 5570]) - - pci:v00001002d00006742sv0000174Bsd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv0000174Bsd00007570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 7570]) - - pci:v00001002d00006742sv0000174Bsd00008510* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8510] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8510]) - - pci:v00001002d00006742sv0000174Bsd00008570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 8570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 8570]) - - pci:v00001002d00006742sv00001787sd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv000017AFsd00006570* -- ID_MODEL_FROM_DATABASE=Turks [Radeon HD 6570] -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Turks [Radeon HD 6570]) - - pci:v00001002d00006742sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Radeon HD 6625M -+ ID_MODEL_FROM_DATABASE=Whistler LE [Radeon HD 6610M/7610M] (Radeon HD 6625M) - - pci:v00001002d00006743* - ID_MODEL_FROM_DATABASE=Whistler [Radeon E6760] -@@ -4935,133 +4935,133 @@ pci:v00001002d00006750* - ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] - - pci:v00001002d00006750sv00001462sd00002670* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6670A) - - pci:v00001002d00006750sv000017AAsd00003079* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) - - pci:v00001002d00006750sv000017AAsd0000307A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006750sv000017AAsd00003087* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 7650A) - - pci:v00001002d00006750sv000017AAsd00003618* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006750sv000017AAsd00003623* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006750sv000017AAsd00003627* -- ID_MODEL_FROM_DATABASE=Radeon HD 6650A -+ ID_MODEL_FROM_DATABASE=Onega [Radeon HD 6650A/7650A] (Radeon HD 6650A) - - pci:v00001002d00006751* - ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] - - pci:v00001002d00006751sv00001028sd00000548* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006751sv00001462sd00002671* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) - - pci:v00001002d00006751sv00001462sd00002672* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7670A) - - pci:v00001002d00006751sv00001462sd00002680* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006751sv00001462sd00002681* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006751sv000017AAsd00003087* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650A -+ ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7650A/7670A] (Radeon HD 7650A) - - pci:v00001002d00006758* - ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] - - pci:v00001002d00006758sv00001028sd00000B0E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006758sv0000103Csd00006882* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006758sv00001462sd0000250A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv0000148Csd00007670* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv00001545sd00007670* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv00001682sd00003300* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv0000174Bsd00007670* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 7670) - - pci:v00001002d00006758sv0000174Bsd0000E181* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006758sv00001787sd00002309* -- ID_MODEL_FROM_DATABASE=Radeon HD 6670 -+ ID_MODEL_FROM_DATABASE=Turks XT [Radeon HD 6670/7670] (Radeon HD 6670) - - pci:v00001002d00006759* - ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] - - pci:v00001002d00006759sv0000103Csd00003130* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001043sd00000403* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001462sd00002500* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001462sd00002509* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv0000148Csd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv00001642sd00003A67* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001682sd00003280* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv00001682sd00003530* -- ID_MODEL_FROM_DATABASE=Radeon HD 8550 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 8550) - - pci:v00001002d00006759sv0000174Bsd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv0000174Bsd0000E142* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv0000174Bsd0000E181* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd0000908F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd00009090* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd00009091* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd00009092* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd0000909E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 6570) - - pci:v00001002d00006759sv00001B0Asd000090B5* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d00006759sv00001B0Asd000090B6* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks PRO [Radeon HD 6570/7570/8550] (Radeon HD 7570) - - pci:v00001002d0000675B* - ID_MODEL_FROM_DATABASE=Turks [Radeon HD 7600 Series] -@@ -5073,526 +5073,526 @@ pci:v00001002d0000675F* - ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] - - pci:v00001002d0000675Fsv0000148Csd00006510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) - - pci:v00001002d0000675Fsv0000148Csd00006530* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6530) - - pci:v00001002d0000675Fsv0000148Csd00007510* -- ID_MODEL_FROM_DATABASE=Radeon HD 7510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) - - pci:v00001002d0000675Fsv00001545sd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7570) - - pci:v00001002d0000675Fsv0000174Bsd00006510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 6510) - - pci:v00001002d0000675Fsv0000174Bsd00007510* -- ID_MODEL_FROM_DATABASE=Radeon HD 7510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 7510) - - pci:v00001002d0000675Fsv0000174Bsd00008510* -- ID_MODEL_FROM_DATABASE=Radeon HD 8510 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 8510) - - pci:v00001002d0000675Fsv00001787sd00002012* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 2GB GDDR3 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 2GB GDDR3) - - pci:v00001002d0000675Fsv00001787sd00002314* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 1GB DDR2/GDDR3 -+ ID_MODEL_FROM_DATABASE=Turks LE [Radeon HD 5570/6510/7510/8510] (Radeon HD 5570 1GB DDR2/GDDR3) - - pci:v00001002d00006760* - ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] - - pci:v00001002d00006760sv00001002sd00000124* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001002sd00000134* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd0000238B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd00002390* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001019sd00009985* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004C1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004C3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004CA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004CB* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004CC* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Vostro 3350) - - pci:v00001002d00006760sv00001028sd000004D1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004D3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd000004D7* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000502* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000503* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000506* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000507* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001028sd0000051C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001028sd0000051D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv0000103Csd0000161A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000161B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000161E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000161F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001622* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv0000103Csd00001623* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv0000103Csd0000164A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000164D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001651* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001656* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00001658* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00001659* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000165B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000165D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000165F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001661* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001663* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001665* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001667* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001669* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000166B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000166C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000166E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001670* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001672* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000167A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000167B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000167D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000167F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000168C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000168F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001694* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001696* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00001698* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000169A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000169C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00001855* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd00001859* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd0000185C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd0000185D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000103Csd0000185F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000103Csd00001863* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv0000103Csd0000355C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000355F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003563* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003565* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003567* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003569* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003581* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003584* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd0000358C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000358F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003592* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd00003596* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000103Csd0000366B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000103Csd00003671* -- ID_MODEL_FROM_DATABASE=FirePro M3900 -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (FirePro M3900) - - pci:v00001002d00006760sv0000103Csd00003673* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000100A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000100C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000101B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000101C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000102A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv00001043sd0000102C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd0000104B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000105D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000106B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000106D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000107D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00001CB2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00001D22* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00001D32* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00002001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00002002* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00002107* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00002108* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00002109* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd000084A0* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd000084E9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001043sd00008515* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd00008517* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001043sd0000855A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000104Dsd0000907B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000104Dsd00009084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000104Dsd00009085* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001179sd00000003* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001179sd00000004* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6450M) - - pci:v00001002d00006760sv00001179sd0000FB22* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB23* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB2C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB31* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB32* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB33* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB38* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB39* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB3A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB40* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB41* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB42* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB47* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB48* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB51* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB53* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB81* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB82* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FB83* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FC51* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001179sd0000FC52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FC56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FCD3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FCD4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FCEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv00001179sd0000FDEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000144Dsd0000B074* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000B084* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C095* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C0B3* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6490M) - - pci:v00001002d00006760sv0000144Dsd0000C538* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C581* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C589* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000144Dsd0000C609* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000144Dsd0000C625* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv0000144Dsd0000C636* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv00001462sd000010AC* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv0000152Dsd00000916* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd000021E5* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd00003900* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00003902* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00003969* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd00003970* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00003976* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd0000397B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd0000397D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv000017AAsd00005101* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7470M) - - pci:v00001002d00006760sv000017AAsd00005102* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00005103* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv000017AAsd00005106* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 7450M) - - pci:v00001002d00006760sv00001854sd00000897* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001854sd00000900* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001854sd00000908* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006760sv00001854sd00002015* -- ID_MODEL_FROM_DATABASE=Radeon HD 6470M -+ ID_MODEL_FROM_DATABASE=Seymour [Radeon HD 6400M/7400M Series] (Radeon HD 6470M) - - pci:v00001002d00006761* - ID_MODEL_FROM_DATABASE=Seymour LP [Radeon HD 6430M] -@@ -5619,22 +5619,22 @@ pci:v00001002d00006770* - ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] - - pci:v00001002d00006770sv000017AAsd0000308D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7450A) - - pci:v00001002d00006770sv000017AAsd00003623* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd00003627* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd00003629* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd0000363C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 6450A) - - pci:v00001002d00006770sv000017AAsd00003658* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450A/7450A] (Radeon HD 7470A) - - pci:v00001002d00006771* - ID_MODEL_FROM_DATABASE=Caicos XTX [Radeon HD 8490 / R5 235X OEM] -@@ -5646,133 +5646,133 @@ pci:v00001002d00006778* - ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] - - pci:v00001002d00006778sv00001019sd00000024* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) - - pci:v00001002d00006778sv00001019sd00000027* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001028sd00002120* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) - - pci:v00001002d00006778sv00001462sd0000B491* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001462sd0000B492* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001462sd0000B493* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 OEM -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470 OEM) - - pci:v00001002d00006778sv00001642sd00003C65* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv00001642sd00003C75* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv0000174Bsd00008145* -- ID_MODEL_FROM_DATABASE=Radeon HD 8470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 8470) - - pci:v00001002d00006778sv0000174Bsd0000E145* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] (Radeon HD 7470) - - pci:v00001002d00006779* - ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] - - pci:v00001002d00006779sv00001019sd00000016* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001019sd00000017* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001019sd00000018* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001028sd00002120* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000103Csd00002128* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000103Csd00002AEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) - - pci:v00001002d00006779sv00001462sd00002125* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001462sd00002346* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv00001462sd00002490* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001462sd00002494* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001462sd00002496* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000148Csd00007450* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000148Csd00008450* -- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) - - pci:v00001002d00006779sv00001545sd00007470* -- ID_MODEL_FROM_DATABASE=Radeon HD 7470 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7470) - - pci:v00001002d00006779sv00001642sd00003A65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001642sd00003A66* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv00001642sd00003A75* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001642sd00003A76* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv00001682sd00003200* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000174Bsd00007450* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450) - - pci:v00001002d00006779sv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000174Bsd0000E164* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1 GB DDR3 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450 1 GB DDR3) - - pci:v00001002d00006779sv0000174Bsd0000E180* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv0000174Bsd0000E201* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv000017AFsd00008450* -- ID_MODEL_FROM_DATABASE=Radeon HD 8450 OEM -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 8450 OEM) - - pci:v00001002d00006779sv00001B0Asd00009096* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001B0Asd00009097* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001B0Asd000090A8* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450A) - - pci:v00001002d00006779sv00001B0Asd000090B1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 6450) - - pci:v00001002d00006779sv00001B0Asd000090B3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) - - pci:v00001002d00006779sv00001B0Asd000090BB* -- ID_MODEL_FROM_DATABASE=Radeon HD 7450A -+ ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] (Radeon HD 7450A) - - pci:v00001002d0000677B* - ID_MODEL_FROM_DATABASE=Caicos PRO [Radeon HD 7450] -@@ -5790,25 +5790,25 @@ pci:v00001002d0000678A* - ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] - - pci:v00001002d0000678Asv00001002sd0000030C* -- ID_MODEL_FROM_DATABASE=FirePro W8000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) - - pci:v00001002d0000678Asv00001002sd00000310* -- ID_MODEL_FROM_DATABASE=FirePro S9000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S9000) - - pci:v00001002d0000678Asv00001002sd00000420* -- ID_MODEL_FROM_DATABASE=Radeon Sky 700 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 700) - - pci:v00001002d0000678Asv00001002sd00000422* -- ID_MODEL_FROM_DATABASE=Radeon Sky 900 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (Radeon Sky 900) - - pci:v00001002d0000678Asv00001002sd00000B0E* -- ID_MODEL_FROM_DATABASE=FirePro S10000 Passive -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000 Passive) - - pci:v00001002d0000678Asv00001002sd00000B2A* -- ID_MODEL_FROM_DATABASE=FirePro S10000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro S10000) - - pci:v00001002d0000678Asv00001028sd0000030C* -- ID_MODEL_FROM_DATABASE=FirePro W8000 -+ ID_MODEL_FROM_DATABASE=Tahiti PRO GL [FirePro Series] (FirePro W8000) - - pci:v00001002d00006790* - ID_MODEL_FROM_DATABASE=Tahiti -@@ -5823,67 +5823,67 @@ pci:v00001002d00006798* - ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] - - pci:v00001002d00006798sv00001002sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) - - pci:v00001002d00006798sv00001002sd00003001* -- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X]) - - pci:v00001002d00006798sv00001002sd00004000* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970 OEM -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 8970 OEM) - - pci:v00001002d00006798sv00001043sd0000041C* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II) - - pci:v00001002d00006798sv00001043sd00000420* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) - - pci:v00001002d00006798sv00001043sd00000444* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) - - pci:v00001002d00006798sv00001043sd00000448* -- ID_MODEL_FROM_DATABASE=HD 7970 DirectCU II TOP -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 DirectCU II TOP) - - pci:v00001002d00006798sv00001043sd0000044A* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970]) - - pci:v00001002d00006798sv00001043sd0000044C* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Matrix HD 7970 Platinum] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Matrix HD 7970 Platinum]) - - pci:v00001002d00006798sv00001043sd00003001* -- ID_MODEL_FROM_DATABASE=Tahiti XTL [ROG Matrix R9 280X] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [ROG Matrix R9 280X]) - - pci:v00001002d00006798sv00001043sd00003006* -- ID_MODEL_FROM_DATABASE=Tahiti XTL [Radeon R9 280X DirectCU II TOP] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XTL [Radeon R9 280X DirectCU II TOP]) - - pci:v00001002d00006798sv00001043sd00009999* -- ID_MODEL_FROM_DATABASE=ARES II -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (ARES II) - - pci:v00001002d00006798sv00001092sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) - - pci:v00001002d00006798sv00001458sd00002261* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition OC] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition OC]) - - pci:v00001002d00006798sv00001462sd00002774* -- ID_MODEL_FROM_DATABASE=MSI R7970 TF 3GD5/OC BE -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (MSI R7970 TF 3GD5/OC BE) - - pci:v00001002d00006798sv00001682sd00003211* -- ID_MODEL_FROM_DATABASE=Double D HD 7970 Black Edition -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970 Black Edition) - - pci:v00001002d00006798sv00001682sd00003213* -- ID_MODEL_FROM_DATABASE=HD 7970 Black Edition -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 Black Edition) - - pci:v00001002d00006798sv00001682sd00003214* -- ID_MODEL_FROM_DATABASE=Double D HD 7970 -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Double D HD 7970) - - pci:v00001002d00006798sv00001787sd0000201C* -- ID_MODEL_FROM_DATABASE=HD 7970 IceQ X² -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (HD 7970 IceQ X²) - - pci:v00001002d00006798sv00001787sd00002317* -- ID_MODEL_FROM_DATABASE=Radeon HD 7990 -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Radeon HD 7990) - - pci:v00001002d00006798sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti XT2 [Radeon HD 7970 GHz Edition] -+ ID_MODEL_FROM_DATABASE=Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] (Tahiti XT2 [Radeon HD 7970 GHz Edition]) - - pci:v00001002d00006799* - ID_MODEL_FROM_DATABASE=New Zealand [Radeon HD 7900 Series] -@@ -5892,28 +5892,28 @@ pci:v00001002d0000679A* - ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] - - pci:v00001002d0000679Asv00001002sd00000B01* -- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) - - pci:v00001002d0000679Asv00001002sd00003000* -- ID_MODEL_FROM_DATABASE=Tahiti PRO2 [Radeon HD 7950 Boost] -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Tahiti PRO2 [Radeon HD 7950 Boost]) - - pci:v00001002d0000679Asv00001462sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 8950 OEM -+ ID_MODEL_FROM_DATABASE=Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] (Radeon HD 8950 OEM) - - pci:v00001002d0000679B* - ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] - - pci:v00001002d0000679Bsv00001002sd00000B28* -- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) - - pci:v00001002d0000679Bsv00001002sd00000B2A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7990 -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 7990) - - pci:v00001002d0000679Bsv00001462sd00008036* -- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) - - pci:v00001002d0000679Bsv0000148Csd00008990* -- ID_MODEL_FROM_DATABASE=Radeon HD 8990 OEM -+ ID_MODEL_FROM_DATABASE=Malta [Radeon HD 7990] (Radeon HD 8990 OEM) - - pci:v00001002d0000679E* - ID_MODEL_FROM_DATABASE=Tahiti LE [Radeon HD 7870 XT] -@@ -5955,28 +5955,28 @@ pci:v00001002d00006800* - ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] - - pci:v00001002d00006800sv00001002sd00000124* -- ID_MODEL_FROM_DATABASE=Radeon HD 7970M -+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) - - pci:v00001002d00006800sv00008086sd00002110* -- ID_MODEL_FROM_DATABASE=Radeon HD 7970M -+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) - - pci:v00001002d00006800sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Radeon HD 7970M -+ ID_MODEL_FROM_DATABASE=Wimbledon XT [Radeon HD 7970M] (Radeon HD 7970M) - - pci:v00001002d00006801* - ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] - - pci:v00001002d00006801sv00001002sd00000124* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970M -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) - - pci:v00001002d00006801sv00001462sd00001117* -- ID_MODEL_FROM_DATABASE=Radeon R9 M290X -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon R9 M290X) - - pci:v00001002d00006801sv00008086sd00002110* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970M -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) - - pci:v00001002d00006801sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Radeon HD 8970M -+ ID_MODEL_FROM_DATABASE=Neptune XT [Radeon HD 8970M] (Radeon HD 8970M) - - pci:v00001002d00006802* - ID_MODEL_FROM_DATABASE=Wimbledon -@@ -5988,10 +5988,10 @@ pci:v00001002d00006808* - ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] - - pci:v00001002d00006808sv00001002sd00000310* -- ID_MODEL_FROM_DATABASE=FirePro S7000 -+ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (FirePro S7000) - - pci:v00001002d00006808sv00001002sd00000420* -- ID_MODEL_FROM_DATABASE=Radeon Sky 500 -+ ID_MODEL_FROM_DATABASE=Pitcairn XT GL [FirePro W7000] (Radeon Sky 500) - - pci:v00001002d00006809* - ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000] -@@ -6012,37 +6012,37 @@ pci:v00001002d00006818* - ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] - - pci:v00001002d00006818sv00001002sd00000B05* -- ID_MODEL_FROM_DATABASE=Radeon HD 8870 OEM -+ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8870 OEM) - - pci:v00001002d00006818sv0000174Bsd00008B04* -- ID_MODEL_FROM_DATABASE=Radeon HD 8860 -+ ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8860) - - pci:v00001002d00006819* - ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] - - pci:v00001002d00006819sv0000174Bsd0000E221* -- ID_MODEL_FROM_DATABASE=Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP -+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) - - pci:v00001002d00006820* - ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] - - pci:v00001002d00006820sv0000103Csd00001851* -- ID_MODEL_FROM_DATABASE=Radeon HD 7750M -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) - - pci:v00001002d00006820sv000017AAsd00003801* -- ID_MODEL_FROM_DATABASE=Radeon R9 M275 -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) - - pci:v00001002d00006821* - ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] - - pci:v00001002d00006821sv00001002sd0000031E* -- ID_MODEL_FROM_DATABASE=FirePro SX4000 -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) - - pci:v00001002d00006821sv00001028sd000005CC* -- ID_MODEL_FROM_DATABASE=FirePro M5100 -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) - - pci:v00001002d00006821sv00001028sd000015CC* -- ID_MODEL_FROM_DATABASE=FirePro M5100 -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) - - pci:v00001002d00006822* - ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] -@@ -6054,7 +6054,7 @@ pci:v00001002d00006825* - ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] - - pci:v00001002d00006825sv00008086sd00002111* -- ID_MODEL_FROM_DATABASE=Chelsea PRO -+ ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] (Chelsea PRO) - - pci:v00001002d00006826* - ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7700M Series] -@@ -6081,7 +6081,7 @@ pci:v00001002d0000682F* - ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] - - pci:v00001002d0000682Fsv0000103Csd00001851* -- ID_MODEL_FROM_DATABASE=Radeon HD 7750M -+ ID_MODEL_FROM_DATABASE=Chelsea LP [Radeon HD 7730M] (Radeon HD 7750M) - - pci:v00001002d00006830* - ID_MODEL_FROM_DATABASE=Cape Verde [Radeon HD 7800M Series] -@@ -6096,16 +6096,16 @@ pci:v00001002d00006837* - ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] - - pci:v00001002d00006837sv00001462sd00002796* -- ID_MODEL_FROM_DATABASE=Radeon HD 8730 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) - - pci:v00001002d00006837sv00001462sd00008092* -- ID_MODEL_FROM_DATABASE=Radeon HD 8730 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) - - pci:v00001002d00006837sv0000148Csd00008730* -- ID_MODEL_FROM_DATABASE=Radeon HD 8730 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 8730) - - pci:v00001002d00006837sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Cape Verde LE [Radeon HD 7730/8730] (Radeon HD 6570) - - pci:v00001002d00006838* - ID_MODEL_FROM_DATABASE=Cape Verde -@@ -6120,19 +6120,19 @@ pci:v00001002d0000683D* - ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] - - pci:v00001002d0000683Dsv00001002sd00000030* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv00001019sd00000030* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv0000103Csd00006890* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv00001043sd00008760* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683Dsv0000174Bsd00008304* -- ID_MODEL_FROM_DATABASE=Radeon HD 8760 OEM -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - - pci:v00001002d0000683F* - ID_MODEL_FROM_DATABASE=Cape Verde PRO [Radeon HD 7750 / R7 250E] -@@ -6141,322 +6141,322 @@ pci:v00001002d00006840* - ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] - - pci:v00001002d00006840sv00001025sd0000050E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000050F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000513* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000056D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000059A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000059B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd0000059E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000600* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000606* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001025sd00000696* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000697* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000698* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000699* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv00001025sd00000757* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd0000056A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd0000056E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd00000598* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd0000059D* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd000005A3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd000005B9* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001028sd000005BB* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000017F1* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7570M) - - pci:v00001002d00006840sv0000103Csd000017F4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7650M) - - pci:v00001002d00006840sv0000103Csd00001813* -- ID_MODEL_FROM_DATABASE=Radeon HD 7590M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7590M) - - pci:v00001002d00006840sv0000103Csd0000182F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001830* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001835* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000183A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000183C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000183E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001840* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001842* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001844* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001848* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000184A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd0000184C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001895* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd00001897* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000018A5* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000018A7* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000103Csd000018F4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd0000100A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd0000104B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd000010DC* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002121* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002122* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002123* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002125* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001043sd00002127* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB11* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB22* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB23* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB2C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB31* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB32* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB38* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB39* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB3A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB40* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB41* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB47* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB48* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB51* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB52* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB53* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB81* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB82* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FB83* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FC56* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FCD4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv00001179sd0000FCEE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000144Dsd0000C0C5* -- ID_MODEL_FROM_DATABASE=Radeon HD 7690M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7690M) - - pci:v00001002d00006840sv0000144Dsd0000C0CE* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv0000144Dsd0000C0DA* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00003970* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd0000397B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00005101* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00005102* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006840sv000017AAsd00005103* -- ID_MODEL_FROM_DATABASE=Radeon HD 7670M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7500M/7600M Series] (Radeon HD 7670M) - - pci:v00001002d00006841* - ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] - - pci:v00001002d00006841sv00001028sd00000561* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001028sd0000056C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001028sd0000057F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv0000103Csd000017F1* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv0000103Csd000017F4* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001813* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv0000103Csd0000183A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd0000183C* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd0000183E* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001840* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001842* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv0000103Csd00001844* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd0000100A* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd0000104B* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd000010DC* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001043sd00002134* -- ID_MODEL_FROM_DATABASE=Radeon HD 7650M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7650M) - - pci:v00001002d00006841sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv00001179sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) - - pci:v00001002d00006841sv00001179sd0000FB43* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FB91* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FB92* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FB93* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FBA2* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv00001179sd0000FBA3* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006841sv0000144Dsd0000C0C7* -- ID_MODEL_FROM_DATABASE=Radeon HD 7550M -+ ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7550M) - - pci:v00001002d00006842* - ID_MODEL_FROM_DATABASE=Thames LE [Radeon HD 7000M Series] -@@ -6471,13 +6471,13 @@ pci:v00001002d00006889* - ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] - - pci:v00001002d00006889sv00001002sd00000301* -- ID_MODEL_FROM_DATABASE=FirePro V7800P -+ ID_MODEL_FROM_DATABASE=Cypress PRO [FirePro V7800] (FirePro V7800P) - - pci:v00001002d0000688A* - ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] - - pci:v00001002d0000688Asv00001002sd0000030C* -- ID_MODEL_FROM_DATABASE=FirePro V9800P -+ ID_MODEL_FROM_DATABASE=Cypress XT [FirePro V9800] (FirePro V9800P) - - pci:v00001002d0000688C* - ID_MODEL_FROM_DATABASE=Cypress XT GL [FireStream 9370] -@@ -6489,28 +6489,28 @@ pci:v00001002d00006898* - ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] - - pci:v00001002d00006898sv00001002sd00000B00* -- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Eyefinity⁶ Edition -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Eyefinity⁶ Edition) - - pci:v00001002d00006898sv0000106Bsd000000D0* -- ID_MODEL_FROM_DATABASE=Radeon HD 5870 Mac Edition -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 Mac Edition) - - pci:v00001002d00006898sv00001462sd00008032* -- ID_MODEL_FROM_DATABASE=Radeon HD 5870 1 GB GDDR5 -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 5870 1 GB GDDR5) - - pci:v00001002d00006898sv0000174Bsd00006870* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870 1600SP Edition -+ ID_MODEL_FROM_DATABASE=Cypress XT [Radeon HD 5870] (Radeon HD 6870 1600SP Edition) - - pci:v00001002d00006899* - ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] - - pci:v00001002d00006899sv00001043sd00000330* -- ID_MODEL_FROM_DATABASE=Radeon HD 5850 -+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850) - - pci:v00001002d00006899sv0000174Bsd0000237B* -- ID_MODEL_FROM_DATABASE=Radeon HD 5850 X2 -+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 5850 X2) - - pci:v00001002d00006899sv0000174Bsd00006850* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850 1440SP Edition -+ ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 5850] (Radeon HD 6850 1440SP Edition) - - pci:v00001002d0000689B* - ID_MODEL_FROM_DATABASE=Cypress PRO [Radeon HD 6800 Series] -@@ -6519,7 +6519,7 @@ pci:v00001002d0000689C* - ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] - - pci:v00001002d0000689Csv00001043sd00000352* -- ID_MODEL_FROM_DATABASE=ARES -+ ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] (ARES) - - pci:v00001002d0000689D* - ID_MODEL_FROM_DATABASE=Hemlock [Radeon HD 5970] -@@ -6531,79 +6531,79 @@ pci:v00001002d000068A0* - ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] - - pci:v00001002d000068A0sv00001028sd000012EF* -- ID_MODEL_FROM_DATABASE=FirePro M7820 -+ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) - - pci:v00001002d000068A0sv0000103Csd00001520* -- ID_MODEL_FROM_DATABASE=FirePro M7820 -+ ID_MODEL_FROM_DATABASE=Broadway XT [Mobility Radeon HD 5870] (FirePro M7820) - - pci:v00001002d000068A1* - ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] - - pci:v00001002d000068A1sv0000106Bsd000000CC* -- ID_MODEL_FROM_DATABASE=iMac MC511 Mobility Radeon HD 5850 MXM Module -+ ID_MODEL_FROM_DATABASE=Broadway PRO [Mobility Radeon HD 5850] (iMac MC511 Mobility Radeon HD 5850 MXM Module) - - pci:v00001002d000068A8* - ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] - - pci:v00001002d000068A8sv00001025sd00000442* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000451* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000050F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000513* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000514* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000515* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000516* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000525* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd00000526* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001025sd0000056D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv00001028sd0000048F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv00001028sd00000490* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv00001028sd000004B9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv00001028sd000004BA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6870M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6870M) - - pci:v00001002d000068A8sv0000103Csd0000159B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A8sv0000144Dsd0000C0AD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6850M -+ ID_MODEL_FROM_DATABASE=Granville [Radeon HD 6850M/6870M] (Radeon HD 6850M) - - pci:v00001002d000068A9* - ID_MODEL_FROM_DATABASE=Juniper XT [FirePro V5800] -@@ -6612,7 +6612,7 @@ pci:v00001002d000068B8* - ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] - - pci:v00001002d000068B8sv0000106Bsd000000CF* -- ID_MODEL_FROM_DATABASE=MacPro5,1 [Mac Pro 2.8GHz DDR3] -+ ID_MODEL_FROM_DATABASE=Juniper XT [Radeon HD 5770] (MacPro5,1 [Mac Pro 2.8GHz DDR3]) - - pci:v00001002d000068B9* - ID_MODEL_FROM_DATABASE=Juniper LE [Radeon HD 5670 640SP Edition] -@@ -6624,466 +6624,466 @@ pci:v00001002d000068BE* - ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] - - pci:v00001002d000068BEsv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750 -+ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 5750] (Radeon HD 6750) - - pci:v00001002d000068BF* - ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] - - pci:v00001002d000068BFsv0000174Bsd00006750* -- ID_MODEL_FROM_DATABASE=Radeon HD 6750 -+ ID_MODEL_FROM_DATABASE=Juniper PRO [Radeon HD 6750] (Radeon HD 6750) - - pci:v00001002d000068C0* - ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] - - pci:v00001002d000068C0sv00001019sd00002383* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv00001028sd000002A2* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv00001028sd000002FE* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv00001028sd00000419* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv0000103Csd0000147D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv0000103Csd00001521* -- ID_MODEL_FROM_DATABASE=Madison XT [FirePro M5800] -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Madison XT [FirePro M5800]) - - pci:v00001002d000068C0sv0000103Csd00001593* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) - - pci:v00001002d000068C0sv0000103Csd00001596* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) - - pci:v00001002d000068C0sv0000103Csd00001599* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 6570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 6570) - - pci:v00001002d000068C0sv00001043sd00001C22* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv000017AAsd00003927* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv000017AAsd00003952* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Mobility Radeon HD 5730) - - pci:v00001002d000068C0sv000017AAsd00003978* -- ID_MODEL_FROM_DATABASE=Radeon HD 6570M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5730 / 6570M] (Radeon HD 6570M) - - pci:v00001002d000068C1* - ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] - - pci:v00001002d000068C1sv00001025sd00000205* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000293* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000294* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000296* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000308* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000030A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000311* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000312* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000031C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000031D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000033D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000033E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000033F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000346* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Aspire 7740G) - - pci:v00001002d000068C1sv00001025sd00000348* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000356* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000357* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000358* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000359* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000035E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000360* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000362* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000364* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000365* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000366* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000367* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000368* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000036F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000372* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000373* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000377* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000378* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000379* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000037F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000382* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000383* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000384* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000385* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000386* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000387* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000388* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000038B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000038C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000039A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000411* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000412* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000418* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000419* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000420* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000421* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000425* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000042A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000042E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000042F* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000432* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000433* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000442* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000044C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd0000044E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000451* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000454* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000455* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000475* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000476* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000487* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000489* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000498* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001025sd00000517* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000051D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd00000525* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd00000526* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000052B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000052C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd0000053F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001025sd00000607* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C1sv00001028sd0000041B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000447* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000448* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000456* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001028sd00000457* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001436* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001437* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001440* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001448* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001449* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000144A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000144B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000147B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000149C* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd0000149E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000103Csd00001521* -- ID_MODEL_FROM_DATABASE=Madison Pro [FirePro M5800] -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Madison Pro [FirePro M5800]) - - pci:v00001002d000068C1sv00001043sd00001BC2* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000104Dsd00009071* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000104Dsd00009077* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD00* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD12* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD1A* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD30* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD31* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD50* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FD52* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv00001179sd0000FD63* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv00001179sd0000FD65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv00001179sd0000FDD0* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv00001179sd0000FDD2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6530M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6530M) - - pci:v00001002d000068C1sv0000144Dsd0000C07E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv0000144Dsd0000C085* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000014C0sd00000043* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000014C0sd0000004D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000017AAsd00003928* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000017AAsd00003951* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Mobility Radeon HD 5650) - - pci:v00001002d000068C1sv000017AAsd00003977* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550M -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (Radeon HD 6550M) - - pci:v00001002d000068C7* - ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] - - pci:v00001002d000068C7sv00001462sd00002241* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) - - pci:v00001002d000068C7sv00001462sd00002243* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) - - pci:v00001002d000068C7sv00001462sd00002244* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Mobility Radeon HD 5570) - - pci:v00001002d000068C7sv00001462sd00002245* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550A -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) - - pci:v00001002d000068C7sv00001462sd00002246* -- ID_MODEL_FROM_DATABASE=Radeon HD 6550A -+ ID_MODEL_FROM_DATABASE=Madison [Mobility Radeon HD 5570/6550A] (Radeon HD 6550A) - - pci:v00001002d000068C8* - ID_MODEL_FROM_DATABASE=Redwood XT GL [FirePro V4800] -@@ -7095,115 +7095,115 @@ pci:v00001002d000068D8* - ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] - - pci:v00001002d000068D8sv00001028sd000068E0* -- ID_MODEL_FROM_DATABASE=Radeon HD 5670 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) - - pci:v00001002d000068D8sv0000174Bsd00005690* -- ID_MODEL_FROM_DATABASE=Radeon HD 5690 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) - - pci:v00001002d000068D8sv0000174Bsd00005730* -- ID_MODEL_FROM_DATABASE=Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) - - pci:v00001002d000068D8sv0000174Bsd0000E151* -- ID_MODEL_FROM_DATABASE=Radeon HD 5670 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5670) - - pci:v00001002d000068D8sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) - - pci:v00001002d000068D8sv000017AFsd00003010* -- ID_MODEL_FROM_DATABASE=Radeon HD 5730 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5730) - - pci:v00001002d000068D8sv000017AFsd00003011* -- ID_MODEL_FROM_DATABASE=Radeon HD 5690 -+ ID_MODEL_FROM_DATABASE=Redwood XT [Radeon HD 5670/5690/5730] (Radeon HD 5690) - - pci:v00001002d000068D9* - ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] - - pci:v00001002d000068D9sv0000103Csd00006870* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv0000103Csd00006872* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001043sd000003CE* -- ID_MODEL_FROM_DATABASE=Radeon HD 5550 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) - - pci:v00001002d000068D9sv00001462sd00002151* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001462sd00002240* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6610 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) - - pci:v00001002d000068D9sv00001545sd00005550* -- ID_MODEL_FROM_DATABASE=Radeon HD 5550 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5550) - - pci:v00001002d000068D9sv00001545sd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 7570) - - pci:v00001002d000068D9sv00001642sd00003985* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001642sd00003996* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv0000174Bsd00006510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv0000174Bsd00006610* -- ID_MODEL_FROM_DATABASE=Radeon HD 6610 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6610) - - pci:v00001002d000068D9sv0000174Bsd0000E142* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5570) - - pci:v00001002d000068D9sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6510 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 6510) - - pci:v00001002d000068D9sv000017AFsd00003010* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] (Radeon HD 5630) - - pci:v00001002d000068DA* - ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] - - pci:v00001002d000068DAsv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6390 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) - - pci:v00001002d000068DAsv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) - - pci:v00001002d000068DAsv00001545sd00007570* -- ID_MODEL_FROM_DATABASE=Radeon HD 7570 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 7570) - - pci:v00001002d000068DAsv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6390 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) - - pci:v00001002d000068DAsv0000174Bsd00005570* -- ID_MODEL_FROM_DATABASE=Radeon HD 5570 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5570) - - pci:v00001002d000068DAsv0000174Bsd00005630* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) - - pci:v00001002d000068DAsv0000174Bsd00006490* -- ID_MODEL_FROM_DATABASE=Radeon HD 6490 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6490) - - pci:v00001002d000068DAsv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) - - pci:v00001002d000068DAsv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6390 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 6390) - - pci:v00001002d000068DAsv000017AFsd00003010* -- ID_MODEL_FROM_DATABASE=Radeon HD 5630 -+ ID_MODEL_FROM_DATABASE=Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] (Radeon HD 5630) - - pci:v00001002d000068DE* - ID_MODEL_FROM_DATABASE=Redwood -@@ -7212,349 +7212,349 @@ pci:v00001002d000068E0* - ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] - - pci:v00001002d000068E0sv00001028sd00000404* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv00001028sd00000414* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv00001028sd00000434* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001433* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001434* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001469* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd0000146B* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001486* -- ID_MODEL_FROM_DATABASE=TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450)) - - pci:v00001002d000068E0sv0000103Csd00001622* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd00001623* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000103Csd0000EEEE* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv0000104Dsd00009076* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Mobility Radeon HD 5450) - - pci:v00001002d000068E0sv00001682sd0000304E* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E0sv00001682sd00006000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E0sv000017AAsd00009E52* -- ID_MODEL_FROM_DATABASE=FirePro M3800 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) - - pci:v00001002d000068E0sv000017AAsd00009E53* -- ID_MODEL_FROM_DATABASE=FirePro M3800 -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430/5450/5470] (FirePro M3800) - - pci:v00001002d000068E1* - ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] - - pci:v00001002d000068E1sv00001043sd0000041F* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv00001043sd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) - - pci:v00001002d000068E1sv0000148Csd00003002* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6250] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6250]) - - pci:v00001002d000068E1sv0000148Csd00003003* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) - - pci:v00001002d000068E1sv0000148Csd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv0000148Csd00008350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350]) - - pci:v00001002d000068E1sv00001545sd00005450* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv00001682sd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv00001682sd00006000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv00001682sd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000174Bsd00005470* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5470] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5470]) - - pci:v00001002d000068E1sv0000174Bsd00006000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv0000174Bsd00006230* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) - - pci:v00001002d000068E1sv0000174Bsd00006350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) - - pci:v00001002d000068E1sv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 5450]) - - pci:v00001002d000068E1sv000017AFsd00003001* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6230] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6230]) - - pci:v00001002d000068E1sv000017AFsd00003014* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 6350]) - - pci:v00001002d000068E1sv000017AFsd00003015* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 7350]) - - pci:v00001002d000068E1sv000017AFsd00008350* -- ID_MODEL_FROM_DATABASE=Caicos [Radeon HD 8350 OEM] -+ ID_MODEL_FROM_DATABASE=Park [Mobility Radeon HD 5430] (Caicos [Radeon HD 8350 OEM]) - - pci:v00001002d000068E4* - ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] - - pci:v00001002d000068E4sv00001019sd00002386* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) - - pci:v00001002d000068E4sv00001019sd00002387* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6350M) - - pci:v00001002d000068E4sv00001019sd0000238D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001019sd0000238E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd00000382* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd00000489* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd0000048A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd0000048B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001025sd0000048C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004C1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004CA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004CC* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004CD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001028sd000004D7* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001411* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001421* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001426* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001428* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000142A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000142B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000143A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000143C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001445* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000162F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001639* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163D* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163E* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000163F* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001641* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00001643* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00003578* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd0000357A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00003673* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000103Csd00003675* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001043sd00001C92* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001043sd000084A1* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001043sd000084AD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000104Dsd00009081* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 7350]) - - pci:v00001002d000068E4sv00001558sd00004510* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv00001558sd00005505* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv0000174Bsd00005450* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Cedar [Radeon HD 5450]) - - pci:v00001002d000068E4sv000017AAsd000021DD* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv000017AAsd000021E9* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv000017AAsd00003971* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M) - - pci:v00001002d000068E4sv000017AAsd00003972* -- ID_MODEL_FROM_DATABASE=Radeon HD 7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) - - pci:v00001002d000068E4sv000017AAsd0000397A* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) - - pci:v00001002d000068E4sv000017AAsd0000397B* -- ID_MODEL_FROM_DATABASE=Radeon HD 6370M/7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 6370M/7370M) - - pci:v00001002d000068E4sv000017AAsd0000397F* -- ID_MODEL_FROM_DATABASE=Radeon HD 7370M -+ ID_MODEL_FROM_DATABASE=Robson CE [Radeon HD 6370M/7370M] (Radeon HD 7370M) - - pci:v00001002d000068E5* - ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] - - pci:v00001002d000068E5sv00001179sd0000FD3C* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD50* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD52* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD63* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD65* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD73* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FD75* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDD0* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDD2* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDEA* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv00001179sd0000FDF8* -- ID_MODEL_FROM_DATABASE=Radeon HD 6330M -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Radeon HD 6330M) - - pci:v00001002d000068E5sv0000148Csd00005450* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5450] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 5450]) - - pci:v00001002d000068E5sv0000148Csd00006350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 6350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 6350]) - - pci:v00001002d000068E5sv0000148Csd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) - - pci:v00001002d000068E5sv0000148Csd00008350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 8350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 8350]) - - pci:v00001002d000068E5sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350] -+ ID_MODEL_FROM_DATABASE=Robson LE [Radeon HD 6330M] (Cedar [Radeon HD 7350]) - - pci:v00001002d000068E8* - ID_MODEL_FROM_DATABASE=Cedar -@@ -7575,259 +7575,259 @@ pci:v00001002d000068F9* - ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] - - pci:v00001002d000068F9sv00001019sd00000001* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001019sd00000002* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001019sd00000019* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001025sd00000518* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001025sd00000519* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (XPS 8300) - - pci:v00001002d000068F9sv00001028sd00002126* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000103Csd00002126* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000103Csd00002AAC* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000103Csd00002AAE* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000103Csd00003580* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001043sd00000386* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001043sd000003C2* -- ID_MODEL_FROM_DATABASE=EAH5450 SILENT/DI/512MD2 (LP) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (EAH5450 SILENT/DI/512MD2 (LP)) - - pci:v00001002d000068F9sv00001462sd00002130* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002131* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002133* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001462sd00002180* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002181* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002182* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001462sd00002183* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001462sd00002230* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002231* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001462sd00002495* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000148Csd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 5530/6250 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530/6250) - - pci:v00001002d000068F9sv0000148Csd00003002* -- ID_MODEL_FROM_DATABASE=Radeon HD 6290 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) - - pci:v00001002d000068F9sv0000148Csd00003003* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv0000148Csd00003004* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000148Csd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv0000148Csd00008350* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) - - pci:v00001002d000068F9sv00001545sd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv00001642sd00003983* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001642sd00003984* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001642sd00003987* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv00001642sd00003997* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001642sd00003A05* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001642sd00003B31* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350A -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350A) - - pci:v00001002d000068F9sv00001682sd00003270* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv0000174Bsd00003987* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000174Bsd00005470* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv0000174Bsd00005490* -- ID_MODEL_FROM_DATABASE=Radeon HD 5490 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) - - pci:v00001002d000068F9sv0000174Bsd00005530* -- ID_MODEL_FROM_DATABASE=Radeon HD 5530 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) - - pci:v00001002d000068F9sv0000174Bsd00006230* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv0000174Bsd00006250* -- ID_MODEL_FROM_DATABASE=Radeon HD 6250 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) - - pci:v00001002d000068F9sv0000174Bsd00006290* -- ID_MODEL_FROM_DATABASE=Radeon HD 6290 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) - - pci:v00001002d000068F9sv0000174Bsd00006350* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068F9sv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 7350) - - pci:v00001002d000068F9sv0000174Bsd00008350* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 8350) - - pci:v00001002d000068F9sv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000174Bsd0000E145* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv00001787sd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 5530 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5530) - - pci:v00001002d000068F9sv00001787sd00003002* -- ID_MODEL_FROM_DATABASE=Radeon HD 5490 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) - - pci:v00001002d000068F9sv000017AAsd00003602* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AAsd00003603* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AAsd0000360F* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AAsd00003619* -- ID_MODEL_FROM_DATABASE=Radeon HD 5450 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5450) - - pci:v00001002d000068F9sv000017AFsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 6250 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6250) - - pci:v00001002d000068F9sv000017AFsd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 6230 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6230) - - pci:v00001002d000068F9sv000017AFsd00003002* -- ID_MODEL_FROM_DATABASE=Radeon HD 6290 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6290) - - pci:v00001002d000068F9sv000017AFsd00003011* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv000017AFsd00003012* -- ID_MODEL_FROM_DATABASE=Radeon HD 5490 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5490) - - pci:v00001002d000068F9sv000017AFsd00003013* -- ID_MODEL_FROM_DATABASE=Radeon HD 5470 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 5470) - - pci:v00001002d000068F9sv000017AFsd00003014* -- ID_MODEL_FROM_DATABASE=Radeon HD 6350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068FA* - ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] - - pci:v00001002d000068FAsv00001019sd00000019* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000021* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000022* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000026* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000103Csd00002ADF* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350A -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) - - pci:v00001002d000068FAsv0000103Csd00002AE8* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350A -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) - - pci:v00001002d000068FAsv00001043sd00008350* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) - - pci:v00001002d000068FAsv00001462sd00002128* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002184* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002186* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002495* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd0000B490* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001642sd00003985* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd00008153* -- ID_MODEL_FROM_DATABASE=Radeon HD 8350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E180* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FAsv000017AFsd00003015* -- ID_MODEL_FROM_DATABASE=Radeon HD 7350 -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) - - pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE -@@ -7863,16 +7863,16 @@ pci:v00001002d00007109* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] - - pci:v00001002d00007109sv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-in-Wonder X1800XL -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (All-in-Wonder X1800XL) - - pci:v00001002d00007109sv00001002sd00000D02* -- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 XL] (Radeon X1800 CrossFire Edition) - - pci:v00001002d0000710A* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] - - pci:v00001002d0000710Asv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=Radeon X1800 GTO² -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] (Radeon X1800 GTO²) - - pci:v00001002d0000710B* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800 GTO] -@@ -7887,10 +7887,10 @@ pci:v00001002d00007129* - ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) - - pci:v00001002d00007129sv00001002sd00000323* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X1800 XL (Secondary) -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (All-In-Wonder X1800 XL (Secondary)) - - pci:v00001002d00007129sv00001002sd00000D03* -- ID_MODEL_FROM_DATABASE=Radeon X1800 CrossFire Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=R520 [Radeon X1800] (Secondary) (Radeon X1800 CrossFire Edition (Secondary)) - - pci:v00001002d00007140* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550/X1600 Series] -@@ -7899,10 +7899,10 @@ pci:v00001002d00007142* - ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] - - pci:v00001002d00007142sv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition -+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (All-in-Wonder 2006 PCI-E Edition) - - pci:v00001002d00007142sv00001043sd00000142* -- ID_MODEL_FROM_DATABASE=EAX1300PRO/TD/256M -+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (EAX1300PRO/TD/256M) - - pci:v00001002d00007143* - ID_MODEL_FROM_DATABASE=RV505 [Radeon X1300/X1550 Series] -@@ -7911,16 +7911,16 @@ pci:v00001002d00007145* - ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] - - pci:v00001002d00007145sv000017AAsd00002006* -- ID_MODEL_FROM_DATABASE=Thinkpad T60 model 2007 -+ ID_MODEL_FROM_DATABASE=RV515/M54 [Mobility Radeon X1400] (Thinkpad T60 model 2007) - - pci:v00001002d00007146* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] - - pci:v00001002d00007146sv00001002sd00000322* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (All-in-Wonder 2006 PCI-E Edition) - - pci:v00001002d00007146sv00001545sd00001996* -- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550] (Radeon X1300 512MB PCI-e) - - pci:v00001002d00007147* - ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 64-bit] -@@ -7944,7 +7944,7 @@ pci:v00001002d00007162* - ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) - - pci:v00001002d00007162sv00001002sd00000323* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=RV515 PRO [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) - - pci:v00001002d00007163* - ID_MODEL_FROM_DATABASE=RV505 [Radeon X1550 Series] (Secondary) -@@ -7953,10 +7953,10 @@ pci:v00001002d00007166* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) - - pci:v00001002d00007166sv00001002sd00000323* -- ID_MODEL_FROM_DATABASE=All-in-Wonder 2006 PCI-E Edition (Secondary) -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (All-in-Wonder 2006 PCI-E Edition (Secondary)) - - pci:v00001002d00007166sv00001545sd00001997* -- ID_MODEL_FROM_DATABASE=Radeon X1300 512MB PCI-e (Secondary) -+ ID_MODEL_FROM_DATABASE=RV515 [Radeon X1300/X1550 Series] (Secondary) (Radeon X1300 512MB PCI-e (Secondary)) - - pci:v00001002d00007167* - ID_MODEL_FROM_DATABASE=RV515 [Radeon X1550 64-bit] (Secondary) -@@ -7983,7 +7983,7 @@ pci:v00001002d00007188* - ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] - - pci:v00001002d00007188sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=6910p -+ ID_MODEL_FROM_DATABASE=RV516/M64-S [Mobility Radeon X2300] (6910p) - - pci:v00001002d0000718A* - ID_MODEL_FROM_DATABASE=RV516/M64 [Mobility Radeon X2300] -@@ -8028,16 +8028,16 @@ pci:v00001002d000071C0* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] - - pci:v00001002d000071C0sv00001002sd0000E160* -- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO -+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) - - pci:v00001002d000071C0sv0000174Bsd0000E160* -- ID_MODEL_FROM_DATABASE=Radeon X1650 GTO -+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 XT/X1650 GTO] (Radeon X1650 GTO) - - pci:v00001002d000071C1* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] - - pci:v00001002d000071C1sv0000174Bsd00000880* -- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Radeon X1700 FSC) - - pci:v00001002d000071C2* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600 PRO] -@@ -8046,22 +8046,22 @@ pci:v00001002d000071C4* - ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] - - pci:v00001002d000071C4sv000017AAsd00002007* -- ID_MODEL_FROM_DATABASE=ThinkPad T60p -+ ID_MODEL_FROM_DATABASE=RV530/M56 GL [Mobility FireGL V5200] (ThinkPad T60p) - - pci:v00001002d000071C5* - ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] - - pci:v00001002d000071C5sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq nx9420 Notebook) - - pci:v00001002d000071C5sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq NW8440 -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (Compaq NW8440) - - pci:v00001002d000071C5sv00001043sd000010B2* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (A6J-Q008) - - pci:v00001002d000071C5sv0000106Bsd00000080* -- ID_MODEL_FROM_DATABASE=MacBook Pro -+ ID_MODEL_FROM_DATABASE=RV530/M56-P [Mobility Radeon X1600] (MacBook Pro) - - pci:v00001002d000071C6* - ID_MODEL_FROM_DATABASE=RV530LE [Radeon X1600/X1650 PRO] -@@ -8070,7 +8070,7 @@ pci:v00001002d000071C7* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] - - pci:v00001002d000071C7sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=PowerColor X1650 PRO AGP -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (PowerColor X1650 PRO AGP) - - pci:v00001002d000071CE* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1300 XT/X1600 PRO] -@@ -8094,13 +8094,13 @@ pci:v00001002d000071E0* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) - - pci:v00001002d000071E0sv0000174Bsd0000E161* -- ID_MODEL_FROM_DATABASE=Radeon X1600 GTO (Secondary) -+ ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) (Radeon X1600 GTO (Secondary)) - - pci:v00001002d000071E1* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) - - pci:v00001002d000071E1sv0000174Bsd00000881* -- ID_MODEL_FROM_DATABASE=Radeon X1700 FSC (Secondary) -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1700 FSC (Secondary)) - - pci:v00001002d000071E2* - ID_MODEL_FROM_DATABASE=RV530 [Radeon X1600] (Secondary) -@@ -8112,7 +8112,7 @@ pci:v00001002d000071E7* - ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) - - pci:v00001002d000071E7sv00001787sd00003001* -- ID_MODEL_FROM_DATABASE=Radeon X1650 PRO AGP -+ ID_MODEL_FROM_DATABASE=RV535 [Radeon X1650 PRO] (Secondary) (Radeon X1650 PRO AGP) - - pci:v00001002d000071F2* - ID_MODEL_FROM_DATABASE=RV530 GL [FireGL V3400] (Secondary) -@@ -8127,7 +8127,7 @@ pci:v00001002d00007240* - ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] - - pci:v00001002d00007240sv00001002sd00000D02* -- ID_MODEL_FROM_DATABASE=Radeon X1950 CrossFire Edition -+ ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XTX] (Radeon X1950 CrossFire Edition) - - pci:v00001002d00007244* - ID_MODEL_FROM_DATABASE=R580+ [Radeon X1950 XT] -@@ -8139,25 +8139,25 @@ pci:v00001002d00007249* - ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] - - pci:v00001002d00007249sv00001002sd00000412* -- ID_MODEL_FROM_DATABASE=All-In-Wonder X1900 -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (All-In-Wonder X1900) - - pci:v00001002d00007249sv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=Radeon X1900 XT/XTX -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XT/XTX) - - pci:v00001002d00007249sv00001002sd00000D02* -- ID_MODEL_FROM_DATABASE=Radeon X1900 CrossFire Edition -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 CrossFire Edition) - - pci:v00001002d00007249sv00001043sd00000160* -- ID_MODEL_FROM_DATABASE=Radeon X1900 XTX 512 MB GDDR3 -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 XT] (Radeon X1900 XTX 512 MB GDDR3) - - pci:v00001002d0000724B* - ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] - - pci:v00001002d0000724Bsv00001002sd00000B12* -- ID_MODEL_FROM_DATABASE=Radeon X1900 (Primary) -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Primary)) - - pci:v00001002d0000724Bsv00001002sd00000B13* -- ID_MODEL_FROM_DATABASE=Radeon X1900 (Secondary) -+ ID_MODEL_FROM_DATABASE=R580 [Radeon X1900 GT] (Radeon X1900 (Secondary)) - - pci:v00001002d0000724E* - ID_MODEL_FROM_DATABASE=R580 GL [FireGL V7350] -@@ -8181,7 +8181,7 @@ pci:v00001002d00007291* - ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] - - pci:v00001002d00007291sv00001462sd00000810* -- ID_MODEL_FROM_DATABASE=Radeon X1700 SE -+ ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 XT] (Radeon X1700 SE) - - pci:v00001002d00007293* - ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT] -@@ -8214,10 +8214,10 @@ pci:v00001002d00007910* - ID_MODEL_FROM_DATABASE=RS690 Host Bridge - - pci:v00001002d00007910sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (Satellite P305D-S8995E) - - pci:v00001002d00007910sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=RS690 Host Bridge (KI690-AM2 Motherboard) - - pci:v00001002d00007911* - ID_MODEL_FROM_DATABASE=RS690 Host Bridge -@@ -8238,31 +8238,31 @@ pci:v00001002d00007917* - ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) - - pci:v00001002d00007917sv00001002sd00007910* -- ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge -+ ID_MODEL_FROM_DATABASE=RS690 PCI to PCI Bridge (PCI Express Port 3) (RS690 PCI to PCI Bridge) - - pci:v00001002d00007919* - ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] - - pci:v00001002d00007919sv00001179sd00007919* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (Satellite P305D-S8995E) - - pci:v00001002d00007919sv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=RS690 HDMI Audio [Radeon Xpress 1200 Series] (KI690-AM2 Motherboard) - - pci:v00001002d0000791E* - ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] - - pci:v00001002d0000791Esv00001462sd00007327* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (K9AG Neo2) - - pci:v00001002d0000791Esv000017F2sd00005000* -- ID_MODEL_FROM_DATABASE=KI690-AM2 Motherboard -+ ID_MODEL_FROM_DATABASE=RS690 [Radeon X1200] (KI690-AM2 Motherboard) - - pci:v00001002d0000791F* - ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] - - pci:v00001002d0000791Fsv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=RS690M [Radeon Xpress 1200/1250/1270] (Satellite P305D-S8995E) - - pci:v00001002d00007930* - ID_MODEL_FROM_DATABASE=RS600 Host Bridge -@@ -8301,13 +8301,13 @@ pci:v00001002d00009400* - ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] - - pci:v00001002d00009400sv00001002sd00002552* -- ID_MODEL_FROM_DATABASE=Radeon HD 2900 XT -+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 XT) - - pci:v00001002d00009400sv00001002sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 2900 PRO -+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (Radeon HD 2900 PRO) - - pci:v00001002d00009400sv00001002sd00003142* -- ID_MODEL_FROM_DATABASE=HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe -+ ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 PRO/XT] (HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe) - - pci:v00001002d00009401* - ID_MODEL_FROM_DATABASE=R600 [Radeon HD 2900 XT] -@@ -8337,10 +8337,10 @@ pci:v00001002d00009442* - ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] - - pci:v00001002d00009442sv00001002sd00000502* -- ID_MODEL_FROM_DATABASE=MSI Radeon HD 4850 512MB GDDR3 -+ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (MSI Radeon HD 4850 512MB GDDR3) - - pci:v00001002d00009442sv0000174Bsd0000E810* -- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 -+ ID_MODEL_FROM_DATABASE=RV770 [Radeon HD 4850] (Radeon HD 4850 512MB GDDR3) - - pci:v00001002d00009443* - ID_MODEL_FROM_DATABASE=R700 [Radeon HD 4850 X2] -@@ -8364,7 +8364,7 @@ pci:v00001002d0000944E* - ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] - - pci:v00001002d0000944Esv0000174Bsd00003261* -- ID_MODEL_FROM_DATABASE=Radeon HD 4810 -+ ID_MODEL_FROM_DATABASE=RV770 CE [Radeon HD 4710] (Radeon HD 4810) - - pci:v00001002d00009450* - ID_MODEL_FROM_DATABASE=RV770 GL [FireStream 9270] -@@ -8391,7 +8391,7 @@ pci:v00001002d00009480* - ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] - - pci:v00001002d00009480sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4650 [dv6-1190en] -+ ID_MODEL_FROM_DATABASE=RV730/M96 [Mobility Radeon HD 4650/5165] (Mobility Radeon HD 4650 [dv6-1190en]) - - pci:v00001002d00009488* - ID_MODEL_FROM_DATABASE=RV730/M96-XT [Mobility Radeon HD 4670] -@@ -8403,7 +8403,7 @@ pci:v00001002d00009490* - ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] - - pci:v00001002d00009490sv0000174Bsd0000E880* -- ID_MODEL_FROM_DATABASE=Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO -+ ID_MODEL_FROM_DATABASE=RV730 XT [Radeon HD 4670] (Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO) - - pci:v00001002d00009491* - ID_MODEL_FROM_DATABASE=RV730/M96-CSP [Radeon E4690] -@@ -8412,19 +8412,19 @@ pci:v00001002d00009495* - ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] - - pci:v00001002d00009495sv00001002sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650/4670 AGP -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650/4670 AGP) - - pci:v00001002d00009495sv00001092sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4670 AGP 512MB DDR2 -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4670 AGP 512MB DDR2) - - pci:v00001002d00009495sv00001458sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) - - pci:v00001002d00009495sv00001682sd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP) - - pci:v00001002d00009495sv0000174Bsd00000028* -- ID_MODEL_FROM_DATABASE=Radeon HD 4650 AGP DDR2 -+ ID_MODEL_FROM_DATABASE=RV730 [Radeon HD 4600 AGP Series] (Radeon HD 4650 AGP DDR2) - - pci:v00001002d00009498* - ID_MODEL_FROM_DATABASE=RV730 PRO [Radeon HD 4650] -@@ -8457,22 +8457,22 @@ pci:v00001002d000094C1* - ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] - - pci:v00001002d000094C1sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) - - pci:v00001002d000094C1sv00001028sd00000D02* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO/XT] (Optiplex 755) - - pci:v00001002d000094C3* - ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] - - pci:v00001002d000094C3sv00001028sd00000302* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 Pro -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 Pro) - - pci:v00001002d000094C3sv0000174Bsd0000E400* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) - - pci:v00001002d000094C3sv000018BCsd00003550* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 [Radeon HD 2400 PRO] (Radeon HD 2400 PRO) - - pci:v00001002d000094C4* - ID_MODEL_FROM_DATABASE=RV610 LE [Radeon HD 2400 PRO AGP] -@@ -8490,7 +8490,7 @@ pci:v00001002d000094C9* - ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] - - pci:v00001002d000094C9sv00001002sd000094C9* -- ID_MODEL_FROM_DATABASE=Radeon HD2400 -+ ID_MODEL_FROM_DATABASE=RV610/M72-S [Mobility Radeon HD 2400] (Radeon HD2400) - - pci:v00001002d000094CB* - ID_MODEL_FROM_DATABASE=RV610 [Radeon E2400] -@@ -8505,7 +8505,7 @@ pci:v00001002d00009501* - ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] - - pci:v00001002d00009501sv0000174Bsd0000E620* -- ID_MODEL_FROM_DATABASE=Radeon HD 3870 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3870] (Radeon HD 3870) - - pci:v00001002d00009504* - ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850] -@@ -8514,13 +8514,13 @@ pci:v00001002d00009505* - ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] - - pci:v00001002d00009505sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3850 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3850) - - pci:v00001002d00009505sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3690/3850 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690/3850) - - pci:v00001002d00009505sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3690 -+ ID_MODEL_FROM_DATABASE=RV670 [Radeon HD 3690/3850] (Radeon HD 3690) - - pci:v00001002d00009506* - ID_MODEL_FROM_DATABASE=RV670/M88 [Mobility Radeon HD 3850 X2] -@@ -8556,76 +8556,76 @@ pci:v00001002d0000954F* - ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] - - pci:v00001002d0000954Fsv00001462sd00001618* -- ID_MODEL_FROM_DATABASE=R4350 MD512H (MS-V161) -+ ID_MODEL_FROM_DATABASE=RV710 [Radeon HD 4350/4550] (R4350 MD512H (MS-V161)) - - pci:v00001002d00009552* - ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] - - pci:v00001002d00009552sv00001028sd00001103* -- ID_MODEL_FROM_DATABASE=M92 [Mobility Radeon HD 4330] -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (M92 [Mobility Radeon HD 4330]) - - pci:v00001002d00009552sv00001458sd000021AC* -- ID_MODEL_FROM_DATABASE=Radeon HD 4350 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350) - - pci:v00001002d00009552sv00001458sd000021ED* -- ID_MODEL_FROM_DATABASE=Radeon HD 4550 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4550) - - pci:v00001002d00009552sv0000148Csd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 4350 Go! Green 512MB GDDR3 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350 Go! Green 512MB GDDR3) - - pci:v00001002d00009552sv0000174Bsd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 4350/4550 HyperMemory DDR2 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4330/4350/4550] (Radeon HD 4350/4550 HyperMemory DDR2) - - pci:v00001002d00009553* - ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] - - pci:v00001002d00009553sv00001025sd0000015E* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd0000017D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd00000205* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd00000206* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001025sd00000237* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001028sd000002BE* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001028sd000002E8* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv0000103Csd00003624* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv0000103Csd00003636* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4530) - - pci:v00001002d00009553sv00001043sd00001B32* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001043sd00001B42* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv0000104Dsd00009056* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Mobility Radeon HD 4570) - - pci:v00001002d00009553sv00001179sd0000FF82* -- ID_MODEL_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145) -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] (Satellite L505-13T GPU (Mobility Radeon HD 5145)) - - pci:v00001002d00009555* - ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] - - pci:v00001002d00009555sv0000103Csd00001411* -- ID_MODEL_FROM_DATABASE=ProBook 4720s GPU (Mobility Radeon HD 4350) -+ ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4350/4550] (ProBook 4720s GPU (Mobility Radeon HD 4350)) - - pci:v00001002d00009557* - ID_MODEL_FROM_DATABASE=RV711 GL [FirePro RG220] -@@ -8643,10 +8643,10 @@ pci:v00001002d00009583* - ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] - - pci:v00001002d00009583sv0000106Bsd00000083* -- ID_MODEL_FROM_DATABASE=iMac 7,1 -+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (iMac 7,1) - - pci:v00001002d00009583sv00001734sd00001107* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 2700 -+ ID_MODEL_FROM_DATABASE=RV630/M76 [Mobility Radeon HD 2600 XT/2700] (Mobility Radeon HD 2700) - - pci:v00001002d00009586* - ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT AGP] -@@ -8658,13 +8658,13 @@ pci:v00001002d00009588* - ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] - - pci:v00001002d00009588sv00001458sd0000216C* -- ID_MODEL_FROM_DATABASE=Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) -+ ID_MODEL_FROM_DATABASE=RV630 XT [Radeon HD 2600 XT] (Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H)) - - pci:v00001002d00009589* - ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] - - pci:v00001002d00009589sv00001787sd00003000* -- ID_MODEL_FROM_DATABASE=Radeon HD 3610 -+ ID_MODEL_FROM_DATABASE=RV630 PRO [Radeon HD 2600 PRO] (Radeon HD 3610) - - pci:v00001002d0000958A* - ID_MODEL_FROM_DATABASE=RV630 [Radeon HD 2600 X2] -@@ -8682,7 +8682,7 @@ pci:v00001002d00009591* - ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] - - pci:v00001002d00009591sv00001002sd00009591* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3650 -+ ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3650] (Mobility Radeon HD 3650) - - pci:v00001002d00009593* - ID_MODEL_FROM_DATABASE=RV635/M86 [Mobility Radeon HD 3670] -@@ -8694,7 +8694,7 @@ pci:v00001002d00009596* - ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] - - pci:v00001002d00009596sv00001043sd00000028* -- ID_MODEL_FROM_DATABASE=EAH3650 SILENT/HTDI/512M/A -+ ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] (EAH3650 SILENT/HTDI/512M/A) - - pci:v00001002d00009597* - ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] -@@ -8703,19 +8703,19 @@ pci:v00001002d00009598* - ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] - - pci:v00001002d00009598sv00001002sd00009598* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3600 -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Mobility Radeon HD 3600) - - pci:v00001002d00009598sv00001043sd000001D6* -- ID_MODEL_FROM_DATABASE=EAH3650 Silent -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (EAH3650 Silent) - - pci:v00001002d00009598sv00001043sd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 4570 -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 4570) - - pci:v00001002d00009598sv0000174Bsd00003001* -- ID_MODEL_FROM_DATABASE=Radeon HD 3750 -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (Radeon HD 3750) - - pci:v00001002d00009598sv0000174Bsd00004580* -- ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 4580] -+ ID_MODEL_FROM_DATABASE=RV635 [Radeon HD 3650/3750/4570/4580] (RV635 PRO [Radeon HD 4580]) - - pci:v00001002d00009599* - ID_MODEL_FROM_DATABASE=RV635 PRO [Radeon HD 3650 AGP] -@@ -8724,7 +8724,7 @@ pci:v00001002d000095C0* - ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] - - pci:v00001002d000095C0sv00001002sd000095C0* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3470 -+ ID_MODEL_FROM_DATABASE=RV620 PRO [Radeon HD 3470] (Mobility Radeon HD 3470) - - pci:v00001002d000095C2* - ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3410/3430] -@@ -8733,13 +8733,13 @@ pci:v00001002d000095C4* - ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] - - pci:v00001002d000095C4sv00001002sd000095C4* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 3400 -+ ID_MODEL_FROM_DATABASE=RV620/M82 [Mobility Radeon HD 3450/3470] (Mobility Radeon HD 3400) - - pci:v00001002d000095C5* - ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] - - pci:v00001002d000095C5sv00001028sd00000342* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450] (OptiPlex 980) - - pci:v00001002d000095C6* - ID_MODEL_FROM_DATABASE=RV620 LE [Radeon HD 3450 AGP] -@@ -8760,7 +8760,7 @@ pci:v00001002d00009610* - ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] - - pci:v00001002d00009610sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-MA78GM-S2H Motherboard -+ ID_MODEL_FROM_DATABASE=RS780 [Radeon HD 3200] (GA-MA78GM-S2H Motherboard) - - pci:v00001002d00009611* - ID_MODEL_FROM_DATABASE=RS780C [Radeon 3100] -@@ -8823,22 +8823,22 @@ pci:v00001002d0000970F* - ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] - - pci:v00001002d0000970Fsv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (A785GM-M) - - pci:v00001002d0000970Fsv00001043sd000083A2* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M4A785TD Motherboard) - - pci:v00001002d0000970Fsv00001043sd0000843E* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=RS880 HDMI Audio [Radeon HD 4200 Series] (M5A88-V EVO) - - pci:v00001002d00009710* - ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] - - pci:v00001002d00009710sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (A785GM-M) - - pci:v00001002d00009710sv00001043sd000083A2* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4200] (M4A785TD Motherboard) - - pci:v00001002d00009712* - ID_MODEL_FROM_DATABASE=RS880M [Mobility Radeon HD 4225/4250] -@@ -8853,13 +8853,13 @@ pci:v00001002d00009715* - ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] - - pci:v00001002d00009715sv00001043sd0000843E* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=RS880 [Radeon HD 4250] (M5A88-V EVO) - - pci:v00001002d00009802* - ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] - - pci:v00001002d00009802sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] (PURE Fusion Mini) - - pci:v00001002d00009803* - ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 6310] -@@ -8991,16 +8991,16 @@ pci:v00001002d00009902* - ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller - - pci:v00001002d00009902sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=Trinity HDMI Audio Controller (ProBook 455 G1 Notebook) - - pci:v00001002d00009903* - ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] - - pci:v00001002d00009903sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) - - pci:v00001002d00009903sv0000103Csd00001952* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7640G] (ProBook 455 G1 Notebook) - - pci:v00001002d00009904* - ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7560D] -@@ -9114,10 +9114,10 @@ pci:v00001002d0000AA10* - ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] - - pci:v00001002d0000AA10sv0000174Bsd0000AA10* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) - - pci:v00001002d0000AA10sv000018BCsd0000AA10* -- ID_MODEL_FROM_DATABASE=Radeon HD 2400 PRO -+ ID_MODEL_FROM_DATABASE=RV610 HDMI Audio [Radeon HD 2350/2400 Series] (Radeon HD 2400 PRO) - - pci:v00001002d0000AA18* - ID_MODEL_FROM_DATABASE=RV670/680 HDMI Audio [Radeon HD 3690/3800 Series] -@@ -9132,13 +9132,13 @@ pci:v00001002d0000AA30* - ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] - - pci:v00001002d0000AA30sv0000174Bsd0000AA30* -- ID_MODEL_FROM_DATABASE=Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink -+ ID_MODEL_FROM_DATABASE=RV770 HDMI Audio [Radeon HD 4850/4870] (Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink) - - pci:v00001002d0000AA38* - ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] - - pci:v00001002d0000AA38sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=RV710/730 HDMI Audio [Radeon HD 4000 series] (dv6-1190en) - - pci:v00001002d0000AA50* - ID_MODEL_FROM_DATABASE=Cypress HDMI Audio [Radeon HD 5800 Series] -@@ -9150,16 +9150,16 @@ pci:v00001002d0000AA60* - ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] - - pci:v00001002d0000AA60sv00001025sd0000033D* -- ID_MODEL_FROM_DATABASE=Mobility Radeon HD 5650 -+ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Mobility Radeon HD 5650) - - pci:v00001002d0000AA60sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Redwood HDMI Audio [Radeon HD 5000 Series] (Aspire 7740G) - - pci:v00001002d0000AA68* - ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] - - pci:v00001002d0000AA68sv00001028sd0000AA68* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=Cedar HDMI Audio [Radeon HD 5400/6300 Series] (XPS 8300) - - pci:v00001002d0000AA80* - ID_MODEL_FROM_DATABASE=Cayman/Antilles HDMI Audio [Radeon HD 6900 Series] -@@ -9171,13 +9171,13 @@ pci:v00001002d0000AA90* - ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] - - pci:v00001002d0000AA90sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=Turks/Whistler HDMI Audio [Radeon HD 6000 Series] (Precision M4600) - - pci:v00001002d0000AA98* - ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] - - pci:v00001002d0000AA98sv0000174Bsd0000AA98* -- ID_MODEL_FROM_DATABASE=Radeon HD 6450 1GB DDR3 -+ ID_MODEL_FROM_DATABASE=Caicos HDMI Audio [Radeon HD 6400 Series] (Radeon HD 6450 1GB DDR3) - - pci:v00001002d0000AAA0* - ID_MODEL_FROM_DATABASE=Tahiti XT HDMI Audio [Radeon HD 7970 Series] -@@ -9264,10 +9264,10 @@ pci:v00001004d00000304sv00001004sd00000304* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio - - pci:v00001004d00000304sv0000122Dsd00001206* -- ID_MODEL_FROM_DATABASE=DSP368 Audio -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (DSP368 Audio) - - pci:v00001004d00000304sv00001483sd00005020* -- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio (XWave Thunder 3D Audio) - - pci:v00001004d00000305* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport -@@ -9276,10 +9276,10 @@ pci:v00001004d00000305sv00001004sd00000305* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport - - pci:v00001004d00000305sv0000122Dsd00001207* -- ID_MODEL_FROM_DATABASE=DSP368 Audio Gameport -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (DSP368 Audio Gameport) - - pci:v00001004d00000305sv00001483sd00005021* -- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Gameport -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Gameport (XWave Thunder 3D Audio Gameport) - - pci:v00001004d00000306* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers -@@ -9288,22 +9288,22 @@ pci:v00001004d00000306sv00001004sd00000306* - ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers - - pci:v00001004d00000306sv0000122Dsd00001208* -- ID_MODEL_FROM_DATABASE=DSP368 Audio Support Registers -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (DSP368 Audio Support Registers) - - pci:v00001004d00000306sv00001483sd00005022* -- ID_MODEL_FROM_DATABASE=XWave Thunder 3D Audio Support Registers -+ ID_MODEL_FROM_DATABASE=QSound ThunderBird PCI Audio Support Registers (XWave Thunder 3D Audio Support Registers) - - pci:v00001004d00000307* - ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio - - pci:v00001004d00000307sv00001004sd00000703* -- ID_MODEL_FROM_DATABASE=Philips Rhythmic Edge PSC703 -+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Rhythmic Edge PSC703) - - pci:v00001004d00000307sv00001004sd00000705* -- ID_MODEL_FROM_DATABASE=Philips Seismic Edge PSC705 -+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Seismic Edge PSC705) - - pci:v00001004d00000307sv00001004sd00000706* -- ID_MODEL_FROM_DATABASE=Philips Acoustic Edge PSC706 -+ ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio (Philips Acoustic Edge PSC706) - - pci:v00001004d00000308* - ID_MODEL_FROM_DATABASE=SAA7785 ThunderBird PCI Audio Gameport -@@ -9375,16 +9375,16 @@ pci:v0000100Bd00000020* - ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller - - pci:v0000100Bd00000020sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Network -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Pavilion ze4400 builtin Network) - - pci:v0000100Bd00000020sv000012D9sd0000000C* -- ID_MODEL_FROM_DATABASE=Aculab E1/T1 PMXc cPCI carrier card -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (Aculab E1/T1 PMXc cPCI carrier card) - - pci:v0000100Bd00000020sv00001385sd0000F311* -- ID_MODEL_FROM_DATABASE=FA311 / FA312 (FA311 with WoL HW) -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA311 / FA312 (FA311 with WoL HW)) - - pci:v0000100Bd00000020sv00001385sd0000F312* -- ID_MODEL_FROM_DATABASE=FA312 (rev. A1) Fast Ethernet PCI Adapter -+ ID_MODEL_FROM_DATABASE=DP83815 (MacPhyter) Ethernet Controller (FA312 (rev. A1) Fast Ethernet PCI Adapter) - - pci:v0000100Bd00000021* - ID_MODEL_FROM_DATABASE=PC87200 PCI to ISA Bridge -@@ -9393,13 +9393,13 @@ pci:v0000100Bd00000022* - ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller - - pci:v0000100Bd00000022sv00001186sd00004900* -- ID_MODEL_FROM_DATABASE=DGE-500T -+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (DGE-500T) - - pci:v0000100Bd00000022sv00001385sd0000621A* -- ID_MODEL_FROM_DATABASE=GA621 -+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA621) - - pci:v0000100Bd00000022sv00001385sd0000622A* -- ID_MODEL_FROM_DATABASE=GA622T -+ ID_MODEL_FROM_DATABASE=DP83820 10/100/1000 Ethernet Controller (GA622T) - - pci:v0000100Bd00000028* - ID_MODEL_FROM_DATABASE=Geode GX2 Host Bridge -@@ -9435,13 +9435,13 @@ pci:v0000100Bd00000502* - ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller - - pci:v0000100Bd00000502sv0000100Bsd00000502* -- ID_MODEL_FROM_DATABASE=IDE Controller -+ ID_MODEL_FROM_DATABASE=SCx200, SC1100 IDE controller (IDE Controller) - - pci:v0000100Bd00000503* - ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller - - pci:v0000100Bd00000503sv0000100Bsd00000503* -- ID_MODEL_FROM_DATABASE=XpressAudio controller -+ ID_MODEL_FROM_DATABASE=SCx200, SC1100 Audio Controller (XpressAudio controller) - - pci:v0000100Bd00000504* - ID_MODEL_FROM_DATABASE=SCx200 Video -@@ -9453,19 +9453,19 @@ pci:v0000100Bd00000510* - ID_MODEL_FROM_DATABASE=SC1100 Bridge - - pci:v0000100Bd00000510sv0000100Bsd00000500* -- ID_MODEL_FROM_DATABASE=GPIO and LPC support bridge -+ ID_MODEL_FROM_DATABASE=SC1100 Bridge (GPIO and LPC support bridge) - - pci:v0000100Bd00000511* - ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI - - pci:v0000100Bd00000511sv0000100Bsd00000501* -- ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI bridge -+ ID_MODEL_FROM_DATABASE=SC1100 SMI & ACPI (bridge) - - pci:v0000100Bd00000515* - ID_MODEL_FROM_DATABASE=SC1100 XBus - - pci:v0000100Bd00000515sv0000100Bsd00000505* -- ID_MODEL_FROM_DATABASE=SC1100 PCI to XBus bridge -+ ID_MODEL_FROM_DATABASE=SC1100 XBus (SC1100 PCI to XBus bridge) - - pci:v0000100Bd0000D001* - ID_MODEL_FROM_DATABASE=87410 IDE -@@ -9534,55 +9534,55 @@ pci:v00001011d00000009* - ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] - - pci:v00001011d00000009sv00001025sd00000310* -- ID_MODEL_FROM_DATABASE=21140 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (21140 Fast Ethernet) - - pci:v00001011d00000009sv000010B8sd00002001* -- ID_MODEL_FROM_DATABASE=SMC9332BDT EtherPower 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BDT EtherPower 10/100) - - pci:v00001011d00000009sv000010B8sd00002002* -- ID_MODEL_FROM_DATABASE=SMC9332BVT EtherPower T4 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9332BVT EtherPower T4 10/100) - - pci:v00001011d00000009sv000010B8sd00002003* -- ID_MODEL_FROM_DATABASE=SMC9334BDT EtherPower 10/100 (1-port) -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (SMC9334BDT EtherPower 10/100 (1-port)) - - pci:v00001011d00000009sv00001109sd00002400* -- ID_MODEL_FROM_DATABASE=ANA-6944A/TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (ANA-6944A/TX Fast Ethernet) - - pci:v00001011d00000009sv00001112sd00002300* -- ID_MODEL_FROM_DATABASE=RNS2300 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2300 Fast Ethernet) - - pci:v00001011d00000009sv00001112sd00002320* -- ID_MODEL_FROM_DATABASE=RNS2320 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2320 Fast Ethernet) - - pci:v00001011d00000009sv00001112sd00002340* -- ID_MODEL_FROM_DATABASE=RNS2340 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (RNS2340 Fast Ethernet) - - pci:v00001011d00000009sv00001113sd00001207* -- ID_MODEL_FROM_DATABASE=EN-1207-TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (EN-1207-TX Fast Ethernet) - - pci:v00001011d00000009sv00001186sd00001100* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-500TX Fast Ethernet) - - pci:v00001011d00000009sv00001186sd00001112* -- ID_MODEL_FROM_DATABASE=DFE-570TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-570TX Fast Ethernet) - - pci:v00001011d00000009sv00001186sd00001140* -- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) - - pci:v00001011d00000009sv00001186sd00001142* -- ID_MODEL_FROM_DATABASE=DFE-660 Cardbus Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (DFE-660 Cardbus Ethernet 10/100) - - pci:v00001011d00000009sv000011F6sd00000503* -- ID_MODEL_FROM_DATABASE=Freedomline Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (Freedomline Fast Ethernet) - - pci:v00001011d00000009sv00001282sd00009100* -- ID_MODEL_FROM_DATABASE=AEF-380TXD Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (AEF-380TXD Fast Ethernet) - - pci:v00001011d00000009sv00001385sd00001100* -- ID_MODEL_FROM_DATABASE=FA310TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (FA310TX Fast Ethernet) - - pci:v00001011d00000009sv00002646sd00000001* -- ID_MODEL_FROM_DATABASE=KNE100TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21140 [FasterNet] (KNE100TX Fast Ethernet) - - pci:v00001011d0000000A* - ID_MODEL_FROM_DATABASE=21230 Video Codec -@@ -9594,16 +9594,16 @@ pci:v00001011d0000000F* - ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] - - pci:v00001011d0000000Fsv00001011sd0000DEF1* -- ID_MODEL_FROM_DATABASE=FDDI controller (DEFPA) -+ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (DEFPA)) - - pci:v00001011d0000000Fsv0000103Csd0000DEF1* -- ID_MODEL_FROM_DATABASE=FDDI controller (3X-DEFPA) -+ ID_MODEL_FROM_DATABASE=DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] (FDDI controller (3X-DEFPA)) - - pci:v00001011d00000014* - ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] - - pci:v00001011d00000014sv00001186sd00000100* -- ID_MODEL_FROM_DATABASE=DE-530+ -+ ID_MODEL_FROM_DATABASE=DECchip 21041 [Tulip Pass 3] (DE-530+) - - pci:v00001011d00000016* - ID_MODEL_FROM_DATABASE=DGLPB [OPPO] -@@ -9618,133 +9618,133 @@ pci:v00001011d00000019* - ID_MODEL_FROM_DATABASE=DECchip 21142/43 - - pci:v00001011d00000019sv00001011sd0000500A* -- ID_MODEL_FROM_DATABASE=DE500A Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500A Fast Ethernet) - - pci:v00001011d00000019sv00001011sd0000500B* -- ID_MODEL_FROM_DATABASE=DE500B Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DE500B Fast Ethernet) - - pci:v00001011d00000019sv00001014sd00000001* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 EtherJet Cardbus) - - pci:v00001011d00000019sv00001025sd00000315* -- ID_MODEL_FROM_DATABASE=ALN315 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ALN315 Fast Ethernet) - - pci:v00001011d00000019sv00001033sd0000800C* -- ID_MODEL_FROM_DATABASE=PC-9821-CS01 100BASE-TX Interface Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821-CS01 100BASE-TX Interface Card) - - pci:v00001011d00000019sv00001033sd0000800D* -- ID_MODEL_FROM_DATABASE=PC-9821NR-B06 100BASE-TX Interface Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (PC-9821NR-B06 100BASE-TX Interface Card) - - pci:v00001011d00000019sv0000103Csd0000125A* -- ID_MODEL_FROM_DATABASE=10/100Base-TX (PCI) [A5506B] -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100Base-TX (PCI) [A5506B]) - - pci:v00001011d00000019sv0000108Dsd00000016* -- ID_MODEL_FROM_DATABASE=Rapidfire 2327 10/100 Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Rapidfire 2327 10/100 Ethernet) - - pci:v00001011d00000019sv0000108Dsd00000017* -- ID_MODEL_FROM_DATABASE=GoCard 2250 Ethernet 10/100 Cardbus -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (GoCard 2250 Ethernet 10/100 Cardbus) - - pci:v00001011d00000019sv000010B8sd00002005* -- ID_MODEL_FROM_DATABASE=SMC8032DT Extreme Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8032DT Extreme Ethernet 10/100) - - pci:v00001011d00000019sv000010B8sd00008034* -- ID_MODEL_FROM_DATABASE=SMC8034 Extreme Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (SMC8034 Extreme Ethernet 10/100) - - pci:v00001011d00000019sv000010EFsd00008169* -- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) - - pci:v00001011d00000019sv00001109sd00002A00* -- ID_MODEL_FROM_DATABASE=ANA-6911A/TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TX Fast Ethernet) - - pci:v00001011d00000019sv00001109sd00002B00* -- ID_MODEL_FROM_DATABASE=ANA-6911A/TXC Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6911A/TXC Fast Ethernet) - - pci:v00001011d00000019sv00001109sd00003000* -- ID_MODEL_FROM_DATABASE=ANA-6922/TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (ANA-6922/TX Fast Ethernet) - - pci:v00001011d00000019sv00001113sd00001207* -- ID_MODEL_FROM_DATABASE=Cheetah Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cheetah Fast Ethernet) - - pci:v00001011d00000019sv00001113sd00002220* -- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) - - pci:v00001011d00000019sv0000115Dsd00000002* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet 10/100) - - pci:v00001011d00000019sv00001179sd00000203* -- ID_MODEL_FROM_DATABASE=Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Fast Ethernet) - - pci:v00001011d00000019sv00001179sd00000204* -- ID_MODEL_FROM_DATABASE=Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001100* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001101* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001102* -- ID_MODEL_FROM_DATABASE=DFE-500TX Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-500TX Fast Ethernet) - - pci:v00001011d00000019sv00001186sd00001112* -- ID_MODEL_FROM_DATABASE=DFE-570TX Quad Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (DFE-570TX Quad Fast Ethernet) - - pci:v00001011d00000019sv000011F0sd00004235* -- ID_MODEL_FROM_DATABASE=21143 [FASTLine-II UTP 10/100] -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (21143 [FASTLine-II UTP 10/100]) - - pci:v00001011d00000019sv00001259sd00002800* -- ID_MODEL_FROM_DATABASE=AT-2800Tx Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (AT-2800Tx Fast Ethernet) - - pci:v00001011d00000019sv00001266sd00000004* -- ID_MODEL_FROM_DATABASE=Eagle Fast EtherMAX -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Eagle Fast EtherMAX) - - pci:v00001011d00000019sv000012AFsd00000019* -- ID_MODEL_FROM_DATABASE=NetFlyer Cardbus Fast Ethernet -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (NetFlyer Cardbus Fast Ethernet) - - pci:v00001011d00000019sv00001374sd00000001* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001374sd00000002* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001374sd00000007* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001374sd00000008* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet Card 10/100 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (Cardbus Ethernet Card 10/100) - - pci:v00001011d00000019sv00001385sd00002100* -- ID_MODEL_FROM_DATABASE=FA510 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FA510) - - pci:v00001011d00000019sv00001395sd00000001* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet CardBus PC Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (10/100 Ethernet CardBus PC Card) - - pci:v00001011d00000019sv000013D1sd0000AB01* -- ID_MODEL_FROM_DATABASE=EtherFast 10/100 Cardbus (PCMPC200) -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherFast 10/100 Cardbus (PCMPC200)) - - pci:v00001011d00000019sv00001498sd0000000A* -- ID_MODEL_FROM_DATABASE=TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter) - - pci:v00001011d00000019sv00001498sd0000000B* -- ID_MODEL_FROM_DATABASE=TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter) - - pci:v00001011d00000019sv00001498sd0000000C* -- ID_MODEL_FROM_DATABASE=TPMC880-12 Single 10Base2 PMC Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (TPMC880-12 Single 10Base2 PMC Ethernet Adapter) - - pci:v00001011d00000019sv000014CBsd00000100* -- ID_MODEL_FROM_DATABASE=LNDL-100N 100Base-TX Ethernet PC Card -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (LNDL-100N 100Base-TX Ethernet PC Card) - - pci:v00001011d00000019sv00001668sd00002000* -- ID_MODEL_FROM_DATABASE=FastNet Pro (PE2000) -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (FastNet Pro (PE2000)) - - pci:v00001011d00000019sv00002646sd00000001* -- ID_MODEL_FROM_DATABASE=KNE100TX -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE100TX) - - pci:v00001011d00000019sv00002646sd00000002* -- ID_MODEL_FROM_DATABASE=KNE-CB4TX -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (KNE-CB4TX) - - pci:v00001011d00000019sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 -+ ID_MODEL_FROM_DATABASE=DECchip 21142/43 (EtherExpress PRO/100 Mobile CardBus 32) - - pci:v00001011d0000001A* - ID_MODEL_FROM_DATABASE=Farallon PN9000SX Gigabit Ethernet -@@ -9780,46 +9780,46 @@ pci:v00001011d00000046* - ID_MODEL_FROM_DATABASE=DECchip 21554 - - pci:v00001011d00000046sv00000E11sd00004050* -- ID_MODEL_FROM_DATABASE=Smart Array 4200 Controller -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4200 Controller) - - pci:v00001011d00000046sv00000E11sd00004051* -- ID_MODEL_FROM_DATABASE=Smart Array 4250ES Controller -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 4250ES Controller) - - pci:v00001011d00000046sv00000E11sd00004058* -- ID_MODEL_FROM_DATABASE=Smart Array 431 Controller -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Smart Array 431 Controller) - - pci:v00001011d00000046sv0000103Csd000010C2* -- ID_MODEL_FROM_DATABASE=NetRAID-4M -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (NetRAID-4M) - - pci:v00001011d00000046sv000012D9sd0000000A* -- ID_MODEL_FROM_DATABASE=IP Telephony card -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (IP Telephony card) - - pci:v00001011d00000046sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (CT7 mainboard) - - pci:v00001011d00000046sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (CE7 mainboard) - - pci:v00001011d00000046sv00009005sd00000364* -- ID_MODEL_FROM_DATABASE=5400S (Mustang) -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) - - pci:v00001011d00000046sv00009005sd00000365* -- ID_MODEL_FROM_DATABASE=5400S (Mustang) -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (5400S (Mustang)) - - pci:v00001011d00000046sv00009005sd00001364* -- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) - - pci:v00001011d00000046sv00009005sd00001365* -- ID_MODEL_FROM_DATABASE=Dell PowerEdge RAID Controller 2 -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (Dell PowerEdge RAID Controller 2) - - pci:v00001011d00000046sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CC8-1-BLUES -+ ID_MODEL_FROM_DATABASE=DECchip 21554 (CC8-1-BLUES) - - pci:v00001011d00001065* - ID_MODEL_FROM_DATABASE=StrongARM DC21285 - - pci:v00001011d00001065sv00001069sd00000020* -- ID_MODEL_FROM_DATABASE=DAC960P / DAC1164P -+ ID_MODEL_FROM_DATABASE=StrongARM DC21285 (DAC960P / DAC1164P) - - pci:v00001012* - ID_VENDOR_FROM_DATABASE=Micronics Computers Inc -@@ -9858,13 +9858,13 @@ pci:v00001013d000000B8* - ID_MODEL_FROM_DATABASE=GD 5446 - - pci:v00001013d000000B8sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=GD 5446 (QEMU Virtual Machine) - - pci:v00001013d000000BC* - ID_MODEL_FROM_DATABASE=GD 5480 - - pci:v00001013d000000BCsv00001013sd000000BC* -- ID_MODEL_FROM_DATABASE=CL-GD5480 -+ ID_MODEL_FROM_DATABASE=GD 5480 (CL-GD5480) - - pci:v00001013d000000D0* - ID_MODEL_FROM_DATABASE=GD 5462 -@@ -9882,10 +9882,10 @@ pci:v00001013d000000D6* - ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] - - pci:v00001013d000000D6sv000013CEsd00008031* -- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) - - pci:v00001013d000000D6sv000013CFsd00008031* -- ID_MODEL_FROM_DATABASE=Barco Metheus 2 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=GD 5465 [Laguna] (Barco Metheus 2 Megapixel, Dual Head) - - pci:v00001013d000000E8* - ID_MODEL_FROM_DATABASE=GD 5436U -@@ -9921,34 +9921,34 @@ pci:v00001013d00006001* - ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] - - pci:v00001013d00006001sv00001014sd00001010* -- ID_MODEL_FROM_DATABASE=CS4610 SoundFusion Audio Accelerator -+ ID_MODEL_FROM_DATABASE=CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] (CS4610 SoundFusion Audio Accelerator) - - pci:v00001013d00006003* - ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] - - pci:v00001013d00006003sv00001013sd00004280* -- ID_MODEL_FROM_DATABASE=Crystal SoundFusion PCI Audio Accelerator -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Crystal SoundFusion PCI Audio Accelerator) - - pci:v00001013d00006003sv00001014sd00000153* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A20m -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (ThinkPad 600X/A20m) - - pci:v00001013d00006003sv0000153Bsd0000112E* -- ID_MODEL_FROM_DATABASE=DMX XFire 1024 -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (DMX XFire 1024) - - pci:v00001013d00006003sv0000153Bsd00001136* -- ID_MODEL_FROM_DATABASE=SiXPack 5.1+ -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (SiXPack 5.1+) - - pci:v00001013d00006003sv00001681sd00000050* -- ID_MODEL_FROM_DATABASE=Game Theater XP -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Game Theater XP) - - pci:v00001013d00006003sv00001681sd0000A010* -- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo II -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo II) - - pci:v00001013d00006003sv00001681sd0000A011* -- ID_MODEL_FROM_DATABASE=Gamesurround Fortissimo III 7.1 -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Gamesurround Fortissimo III 7.1) - - pci:v00001013d00006003sv00005053sd00003357* -- ID_MODEL_FROM_DATABASE=Santa Cruz -+ ID_MODEL_FROM_DATABASE=CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] (Santa Cruz) - - pci:v00001013d00006004* - ID_MODEL_FROM_DATABASE=CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] -@@ -10029,16 +10029,16 @@ pci:v00001014d0000002E* - ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] - - pci:v00001014d0000002Esv00001014sd0000002E* -- ID_MODEL_FROM_DATABASE=ServeRAID-3x -+ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-3x) - - pci:v00001014d0000002Esv00001014sd0000022E* -- ID_MODEL_FROM_DATABASE=ServeRAID-4H -+ ID_MODEL_FROM_DATABASE=SCSI RAID Adapter [ServeRAID] (ServeRAID-4H) - - pci:v00001014d00000031* - ID_MODEL_FROM_DATABASE=2 Port Serial Adapter - - pci:v00001014d00000031sv00001014sd00000031* -- ID_MODEL_FROM_DATABASE=2721 WAN IOA - 2 Port Sync Serial Adapter -+ ID_MODEL_FROM_DATABASE=2 Port Serial Adapter (2721 WAN IOA - 2 Port Sync Serial Adapter) - - pci:v00001014d00000036* - ID_MODEL_FROM_DATABASE=PCI to 32-bit LocalBus Bridge [Miami] -@@ -10056,25 +10056,25 @@ pci:v00001014d0000003E* - ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller - - pci:v00001014d0000003Esv00001014sd0000003E* -- ID_MODEL_FROM_DATABASE=Token-Ring Adapter -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter) - - pci:v00001014d0000003Esv00001014sd000000CD* -- ID_MODEL_FROM_DATABASE=Token-Ring Adapter + Wake-On-LAN -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (Token-Ring Adapter + Wake-On-LAN) - - pci:v00001014d0000003Esv00001014sd000000CE* -- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2) - - pci:v00001014d0000003Esv00001014sd000000CF* -- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter Special -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter Special) - - pci:v00001014d0000003Esv00001014sd000000E4* -- ID_MODEL_FROM_DATABASE=High-Speed 100/16/4 Token-Ring Adapter -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (High-Speed 100/16/4 Token-Ring Adapter) - - pci:v00001014d0000003Esv00001014sd000000E5* -- ID_MODEL_FROM_DATABASE=16/4 Token-Ring Adapter 2 + Wake-On-LAN -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (16/4 Token-Ring Adapter 2 + Wake-On-LAN) - - pci:v00001014d0000003Esv00001014sd0000016D* -- ID_MODEL_FROM_DATABASE=iSeries 2744 Card -+ ID_MODEL_FROM_DATABASE=16/4 Token ring UTP/STP controller (iSeries 2744 Card) - - pci:v00001014d00000045* - ID_MODEL_FROM_DATABASE=SSA Adapter -@@ -10131,7 +10131,7 @@ pci:v00001014d00000090* - ID_MODEL_FROM_DATABASE=GXT 3000P - - pci:v00001014d00000090sv00001014sd0000008E* -- ID_MODEL_FROM_DATABASE=GXT-3000P -+ ID_MODEL_FROM_DATABASE=GXT 3000P (GXT-3000P) - - pci:v00001014d00000091* - ID_MODEL_FROM_DATABASE=SSA Adapter -@@ -10143,13 +10143,13 @@ pci:v00001014d00000096* - ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller - - pci:v00001014d00000096sv00001014sd00000097* -- ID_MODEL_FROM_DATABASE=iSeries 2778 DASD IOA -+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2778 DASD IOA) - - pci:v00001014d00000096sv00001014sd00000098* -- ID_MODEL_FROM_DATABASE=iSeries 2763 DASD IOA -+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2763 DASD IOA) - - pci:v00001014d00000096sv00001014sd00000099* -- ID_MODEL_FROM_DATABASE=iSeries 2748 DASD IOA -+ ID_MODEL_FROM_DATABASE=Chukar chipset SCSI controller (iSeries 2748 DASD IOA) - - pci:v00001014d0000009F* - ID_MODEL_FROM_DATABASE=PCI 4758 Cryptographic Accelerator -@@ -10164,7 +10164,7 @@ pci:v00001014d000000B7* - ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] - - pci:v00001014d000000B7sv00001092sd000000B8* -- ID_MODEL_FROM_DATABASE=FireGL1 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] (FireGL1 AGP 32Mb) - - pci:v00001014d000000B8* - ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter -@@ -10188,13 +10188,13 @@ pci:v00001014d00000142* - ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input - - pci:v00001014d00000142sv00001014sd00000143* -- ID_MODEL_FROM_DATABASE=Yotta Input Controller (ytin) -+ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Input (Yotta Input Controller (ytin)) - - pci:v00001014d00000144* - ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output - - pci:v00001014d00000144sv00001014sd00000145* -- ID_MODEL_FROM_DATABASE=Yotta Output Controller (ytout) -+ ID_MODEL_FROM_DATABASE=Yotta Video Compositor Output (Yotta Output Controller (ytout)) - - pci:v00001014d00000156* - ID_MODEL_FROM_DATABASE=405GP PLB to PCI Bridge -@@ -10218,10 +10218,10 @@ pci:v00001014d00000180* - ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller - - pci:v00001014d00000180sv00001014sd00000241* -- ID_MODEL_FROM_DATABASE=iSeries 2757 DASD IOA -+ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (iSeries 2757 DASD IOA) - - pci:v00001014d00000180sv00001014sd00000264* -- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X U320 SCSI RAID Adapter (2780) -+ ID_MODEL_FROM_DATABASE=Snipe chipset SCSI controller (Quad Channel PCI-X U320 SCSI RAID Adapter (2780)) - - pci:v00001014d00000188* - ID_MODEL_FROM_DATABASE=EADS-X PCI-X to PCI-X Bridge -@@ -10233,28 +10233,28 @@ pci:v00001014d000001BD* - ID_MODEL_FROM_DATABASE=ServeRAID Controller - - pci:v00001014d000001BDsv00001014sd000001BD* -- ID_MODEL_FROM_DATABASE=ServeRAID 4Lx -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 4Lx) - - pci:v00001014d000001BDsv00001014sd000001BE* -- ID_MODEL_FROM_DATABASE=ServeRAID-4M -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4M) - - pci:v00001014d000001BDsv00001014sd000001BF* -- ID_MODEL_FROM_DATABASE=ServeRAID-4L -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4L) - - pci:v00001014d000001BDsv00001014sd00000208* -- ID_MODEL_FROM_DATABASE=ServeRAID-4Mx -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Mx) - - pci:v00001014d000001BDsv00001014sd0000020E* -- ID_MODEL_FROM_DATABASE=ServeRAID-4Lx -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4Lx) - - pci:v00001014d000001BDsv00001014sd0000022E* -- ID_MODEL_FROM_DATABASE=ServeRAID-4H -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-4H) - - pci:v00001014d000001BDsv00001014sd00000258* -- ID_MODEL_FROM_DATABASE=ServeRAID-5i -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) - - pci:v00001014d000001BDsv00001014sd00000259* -- ID_MODEL_FROM_DATABASE=ServeRAID-5i -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID-5i) - - pci:v00001014d000001C1* - ID_MODEL_FROM_DATABASE=64bit/66MHz PCI ATM 155 UTP -@@ -10266,10 +10266,10 @@ pci:v00001014d000001EF* - ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge - - pci:v00001014d000001EFsv00001734sd0000102B* -- ID_MODEL_FROM_DATABASE=PCEAS PCI-X Dual Port ESCON Adapter -+ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAS PCI-X Dual Port ESCON Adapter) - - pci:v00001014d000001EFsv00001734sd000010F8* -- ID_MODEL_FROM_DATABASE=PCEAT PCI-Express Dual Port ESCON Adapter -+ ID_MODEL_FROM_DATABASE=PowerPC 440GP PCI Bridge (PCEAT PCI-Express Dual Port ESCON Adapter) - - pci:v00001014d000001FF* - ID_MODEL_FROM_DATABASE=10/100 Mbps Ethernet -@@ -10278,13 +10278,13 @@ pci:v00001014d00000219* - ID_MODEL_FROM_DATABASE=Multiport Serial Adapter - - pci:v00001014d00000219sv00001014sd0000021A* -- ID_MODEL_FROM_DATABASE=Dual RVX -+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Dual RVX) - - pci:v00001014d00000219sv00001014sd00000251* -- ID_MODEL_FROM_DATABASE=Internal Modem/RVX -+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Internal Modem/RVX) - - pci:v00001014d00000219sv00001014sd00000252* -- ID_MODEL_FROM_DATABASE=Quad Internal Modem -+ ID_MODEL_FROM_DATABASE=Multiport Serial Adapter (Quad Internal Modem) - - pci:v00001014d0000021B* - ID_MODEL_FROM_DATABASE=GXT6500P Graphics Adapter -@@ -10299,16 +10299,16 @@ pci:v00001014d0000028C* - ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller - - pci:v00001014d0000028Csv00001014sd0000028D* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR SAS RAID Adapter (572E) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR SAS RAID Adapter (572E)) - - pci:v00001014d0000028Csv00001014sd000002BE* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B)) - - pci:v00001014d0000028Csv00001014sd000002C0* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X DDR U320 SCSI Adapter (571A) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (Dual Channel PCI-X DDR U320 SCSI Adapter (571A)) - - pci:v00001014d0000028Csv00001014sd0000030D* -- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575B) -+ ID_MODEL_FROM_DATABASE=Citrine chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575B)) - - pci:v00001014d000002A1* - ID_MODEL_FROM_DATABASE=Calgary PCI-X Host Bridge -@@ -10317,13 +10317,13 @@ pci:v00001014d000002BD* - ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller - - pci:v00001014d000002BDsv00001014sd000002C1* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) - - pci:v00001014d000002BDsv00001014sd000002C2* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/571D)) - - pci:v00001014d000002BDsv00001014sd00000338* -- ID_MODEL_FROM_DATABASE=PCI-X DDR Auxiliary Cache Adapter (575C) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR Auxiliary Cache Adapter (575C)) - - pci:v00001014d00000302* - ID_MODEL_FROM_DATABASE=Winnipeg PCI-X Host Bridge -@@ -10338,88 +10338,88 @@ pci:v00001014d0000032D* - ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip - - pci:v00001014d0000032Dsv00001014sd000003A1* -- ID_MODEL_FROM_DATABASE=PCIe PowerXCell 8i Cell Accelerator Board -+ ID_MODEL_FROM_DATABASE=Axon - Cell Companion Chip (PCIe PowerXCell 8i Cell Accelerator Board) - - pci:v00001014d00000339* - ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller - - pci:v00001014d00000339sv00001014sd0000030A* -- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS RAID Adapter (574E) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS RAID Adapter (574E)) - - pci:v00001014d00000339sv00001014sd0000033A* -- ID_MODEL_FROM_DATABASE=PCIe 3Gb SAS Adapter (57B3) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe 3Gb SAS Adapter (57B3)) - - pci:v00001014d00000339sv00001014sd0000035C* -- ID_MODEL_FROM_DATABASE=PCIe x8 Internal 3Gb SAS adapter (57CC) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCIe x8 Internal 3Gb SAS adapter (57CC)) - - pci:v00001014d00000339sv00001014sd00000360* -- ID_MODEL_FROM_DATABASE=PCI-E Auxiliary Cache Adapter (57B7) -+ ID_MODEL_FROM_DATABASE=Obsidian-E PCI-E SCSI controller (PCI-E Auxiliary Cache Adapter (57B7)) - - pci:v00001014d0000033D* - ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) - - pci:v00001014d0000033Dsv00001014sd0000033C* -- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5)) - - pci:v00001014d0000033Dsv00001014sd00000353* -- ID_MODEL_FROM_DATABASE=PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3)) - - pci:v00001014d0000033Dsv00001014sd00000354* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Dual-port (57C4) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Dual-port (57C4)) - - pci:v00001014d0000033Dsv00001014sd00000356* -- ID_MODEL_FROM_DATABASE=PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D)) - - pci:v00001014d0000033Dsv00001014sd0000035F* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57B2) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (FPGA) (PCIe2 6Gb SAS Adapter Quad-port (57B2)) - - pci:v00001014d0000034A* - ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) - - pci:v00001014d0000034Asv00001014sd0000033B* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS RAID Adapter Quad-port (57B4) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)) - - pci:v00001014d0000034Asv00001014sd00000355* -- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1)) - - pci:v00001014d0000034Asv00001014sd00000357* -- ID_MODEL_FROM_DATABASE=PCIe2 6Gb SAS Adapter Quad-port (57C6) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 6Gb SAS Adapter Quad-port (57C6)) - - pci:v00001014d0000034Asv00001014sd0000035D* -- ID_MODEL_FROM_DATABASE=PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8)) - - pci:v00001014d0000034Asv00001014sd0000035E* -- ID_MODEL_FROM_DATABASE=PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE)) - - pci:v00001014d0000034Asv00001014sd000003FB* -- ID_MODEL_FROM_DATABASE=PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5)) - - pci:v00001014d0000034Asv00001014sd000003FE* -- ID_MODEL_FROM_DATABASE=PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8)) - - pci:v00001014d0000034Asv00001014sd000003FF* -- ID_MODEL_FROM_DATABASE=PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7)) - - pci:v00001014d0000034Asv00001014sd00000474* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB)) - - pci:v00001014d0000034Asv00001014sd00000475* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC)) - - pci:v00001014d0000034Asv00001014sd00000499* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED)) - - pci:v00001014d0000034Asv00001014sd0000049A* -- ID_MODEL_FROM_DATABASE=PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE)) - - pci:v00001014d0000034Asv00001014sd000004C7* -- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA)) - - pci:v00001014d0000034Asv00001014sd000004C8* -- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2)) - - pci:v00001014d0000034Asv00001014sd00000C49* -- ID_MODEL_FROM_DATABASE=PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) -+ ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) - - pci:v00001014d000004AA* - ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) -@@ -10461,13 +10461,13 @@ pci:v0000101Ad00000007* - ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G - - pci:v0000101Ad00000007sv0000101Asd00000019* -- ID_MODEL_FROM_DATABASE=BYNET BIC2C -+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2C) - - pci:v0000101Ad00000007sv0000101Asd0000001C* -- ID_MODEL_FROM_DATABASE=BYNET BIC2G -+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC2G) - - pci:v0000101Ad00000007sv0000101Asd0000001F* -- ID_MODEL_FROM_DATABASE=BYNET BIC4G -+ ID_MODEL_FROM_DATABASE=BYNET BIC4G/2C/2G (BYNET BIC4G) - - pci:v0000101Ad00000009* - ID_MODEL_FROM_DATABASE=PQS Memory Controller -@@ -10488,19 +10488,19 @@ pci:v0000101Ad00001DC1* - ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M - - pci:v0000101Ad00001DC1sv0000101Asd00000019* -- ID_MODEL_FROM_DATABASE=BIC2M -+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC2M) - - pci:v0000101Ad00001DC1sv0000101Asd0000001F* -- ID_MODEL_FROM_DATABASE=BIC4M -+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BIC4M) - - pci:v0000101Ad00001DC1sv0000101Asd00000ECE* -- ID_MODEL_FROM_DATABASE=BYA4M -+ ID_MODEL_FROM_DATABASE=BYNET BIC2M/BIC4M/BYA4M (BYA4M) - - pci:v0000101Ad00001FA8* - ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) - - pci:v0000101Ad00001FA8sv0000101Asd000000C3* -- ID_MODEL_FROM_DATABASE=BYNET BIC2SE -+ ID_MODEL_FROM_DATABASE=BYNET Multi-port BIC Adapter (XBIC Based) (BYNET BIC2SE) - - pci:v0000101B* - ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor -@@ -10557,46 +10557,46 @@ pci:v0000101Ed00001960* - ID_MODEL_FROM_DATABASE=MegaRAID - - pci:v0000101Ed00001960sv0000101Esd00000471* -- ID_MODEL_FROM_DATABASE=MegaRAID 471 Enterprise 1600 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (471 Enterprise 1600 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000475* -- ID_MODEL_FROM_DATABASE=MegaRAID 475 Express 500/500LC RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (475 Express 500/500LC RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000477* -- ID_MODEL_FROM_DATABASE=MegaRAID 477 Elite 3100 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (477 Elite 3100 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000493* -- ID_MODEL_FROM_DATABASE=MegaRAID 493 Elite 1600 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (493 Elite 1600 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000494* -- ID_MODEL_FROM_DATABASE=MegaRAID 494 Elite 1650 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (494 Elite 1650 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000503* -- ID_MODEL_FROM_DATABASE=MegaRAID 503 Enterprise 1650 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (503 Enterprise 1650 RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000511* -- ID_MODEL_FROM_DATABASE=MegaRAID 511 i4 IDE RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (511 i4 IDE RAID Controller) - - pci:v0000101Ed00001960sv0000101Esd00000522* -- ID_MODEL_FROM_DATABASE=MegaRAID 522 i4133 RAID Controller -+ ID_MODEL_FROM_DATABASE=MegaRAID (522 i4133 RAID Controller) - - pci:v0000101Ed00001960sv00001028sd00000471* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/QC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/QC) - - pci:v0000101Ed00001960sv00001028sd00000475* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/SC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/SC) - - pci:v0000101Ed00001960sv00001028sd00000493* -- ID_MODEL_FROM_DATABASE=PowerEdge RAID Controller 3/DC -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge RAID Controller 3/DC) - - pci:v0000101Ed00001960sv00001028sd00000511* -- ID_MODEL_FROM_DATABASE=PowerEdge Cost Effective RAID Controller ATA100/4Ch -+ ID_MODEL_FROM_DATABASE=MegaRAID (PowerEdge Cost Effective RAID Controller ATA100/4Ch) - - pci:v0000101Ed00001960sv0000103Csd000060E7* -- ID_MODEL_FROM_DATABASE=NetRAID-1M -+ ID_MODEL_FROM_DATABASE=MegaRAID (NetRAID-1M) - - pci:v0000101Ed00001960sv0000103Csd000060E8* -- ID_MODEL_FROM_DATABASE=NetRaid 2M [AMI MegaRaid 493] -+ ID_MODEL_FROM_DATABASE=MegaRAID (NetRaid 2M [AMI MegaRaid 493]) - - pci:v0000101Ed00009010* - ID_MODEL_FROM_DATABASE=MegaRAID 428 Ultra RAID Controller -@@ -10623,7 +10623,7 @@ pci:v0000101Ed00009063* - ID_MODEL_FROM_DATABASE=MegaRAC - - pci:v0000101Ed00009063sv0000101Esd00000767* -- ID_MODEL_FROM_DATABASE=Dell Remote Assistant Card 2 -+ ID_MODEL_FROM_DATABASE=MegaRAC (Dell Remote Assistant Card 2) - - pci:v0000101F* - ID_VENDOR_FROM_DATABASE=PictureTel -@@ -10731,7 +10731,7 @@ pci:v00001022d00001510* - ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex - - pci:v00001022d00001510sv0000174Bsd00001001* -- ID_MODEL_FROM_DATABASE=PURE Fusion Mini -+ ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex (PURE Fusion Mini) - - pci:v00001022d00001512* - ID_MODEL_FROM_DATABASE=Family 14h Processor Root Port -@@ -10842,79 +10842,79 @@ pci:v00001022d00002000* - ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] - - pci:v00001022d00002000sv00001014sd00002000* -- ID_MODEL_FROM_DATABASE=NetFinity 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (NetFinity 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001022sd00002000* -- ID_MODEL_FROM_DATABASE=PCnet - Fast 79C971 -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PCnet - Fast 79C971) - - pci:v00001022d00002000sv0000103Csd0000104C* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd00001064* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd00001065* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd0000106C* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd0000106E* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv0000103Csd000010EA* -- ID_MODEL_FROM_DATABASE=Ethernet with LAN remote power Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (Ethernet with LAN remote power Adapter) - - pci:v00001022d00002000sv00001113sd00001220* -- ID_MODEL_FROM_DATABASE=EN1220 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (EN1220 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002450* -- ID_MODEL_FROM_DATABASE=AT-2450 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002454* -- ID_MODEL_FROM_DATABASE=AT-2450v4 10Mb Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2450v4 10Mb Ethernet Adapter) - - pci:v00001022d00002000sv00001259sd00002700* -- ID_MODEL_FROM_DATABASE=AT-2700TX 10/100 Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700TX 10/100 Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002701* -- ID_MODEL_FROM_DATABASE=AT-2700FX 100Mb Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FX 100Mb Ethernet) - - pci:v00001022d00002000sv00001259sd00002702* -- ID_MODEL_FROM_DATABASE=AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet) - - pci:v00001022d00002000sv00001259sd00002703* -- ID_MODEL_FROM_DATABASE=AT-2701FX -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FX) - - pci:v00001022d00002000sv00001259sd00002704* -- ID_MODEL_FROM_DATABASE=AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet) - - pci:v00001022d00002000sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00001022d00002000sv00004C53sd00001010* -- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CP5/CR6 mainboard) - - pci:v00001022d00002000sv00004C53sd00001020* -- ID_MODEL_FROM_DATABASE=VR6 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (VR6 mainboard) - - pci:v00001022d00002000sv00004C53sd00001030* -- ID_MODEL_FROM_DATABASE=PC5 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC5 mainboard) - - pci:v00001022d00002000sv00004C53sd00001040* -- ID_MODEL_FROM_DATABASE=CL7 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (CL7 mainboard) - - pci:v00001022d00002000sv00004C53sd00001060* -- ID_MODEL_FROM_DATABASE=PC7 mainboard -+ ID_MODEL_FROM_DATABASE=79c970 [PCnet32 LANCE] (PC7 mainboard) - - pci:v00001022d00002001* - ID_MODEL_FROM_DATABASE=79c978 [HomePNA] - - pci:v00001022d00002001sv00001092sd00000A78* -- ID_MODEL_FROM_DATABASE=Multimedia Home Network Adapter -+ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (Multimedia Home Network Adapter) - - pci:v00001022d00002001sv00001668sd00000299* -- ID_MODEL_FROM_DATABASE=ActionLink Home Network Adapter -+ ID_MODEL_FROM_DATABASE=79c978 [HomePNA] (ActionLink Home Network Adapter) - - pci:v00001022d00002003* - ID_MODEL_FROM_DATABASE=Am 1771 MBW [Alchemy] -@@ -10923,7 +10923,7 @@ pci:v00001022d00002020* - ID_MODEL_FROM_DATABASE=53c974 [PCscsi] - - pci:v00001022d00002020sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=53c974 [PCscsi] (QEMU Virtual Machine) - - pci:v00001022d00002040* - ID_MODEL_FROM_DATABASE=79c974 -@@ -11043,7 +11043,7 @@ pci:v00001022d00007440* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA - - pci:v00001022d00007440sv00001043sd00008044* -- ID_MODEL_FROM_DATABASE=A7M-D Mainboard -+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ISA (A7M-D Mainboard) - - pci:v00001022d00007441* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] IDE -@@ -11052,7 +11052,7 @@ pci:v00001022d00007443* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI - - pci:v00001022d00007443sv00001043sd00008044* -- ID_MODEL_FROM_DATABASE=A7M-D Mainboard -+ ID_MODEL_FROM_DATABASE=AMD-768 [Opus] ACPI (A7M-D Mainboard) - - pci:v00001022d00007445* - ID_MODEL_FROM_DATABASE=AMD-768 [Opus] Audio -@@ -11088,7 +11088,7 @@ pci:v00001022d00007460* - ID_MODEL_FROM_DATABASE=AMD-8111 PCI - - pci:v00001022d00007460sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 PCI (HDAMB) - - pci:v00001022d00007461* - ID_MODEL_FROM_DATABASE=AMD-8111 USB -@@ -11103,22 +11103,22 @@ pci:v00001022d00007464* - ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI - - pci:v00001022d00007464sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 USB OHCI (HDAMB) - - pci:v00001022d00007468* - ID_MODEL_FROM_DATABASE=AMD-8111 LPC - - pci:v00001022d00007468sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 LPC (HDAMB) - - pci:v00001022d00007469* - ID_MODEL_FROM_DATABASE=AMD-8111 IDE - - pci:v00001022d00007469sv00001022sd00002B80* -- ID_MODEL_FROM_DATABASE=AMD-8111 IDE [Quartet] -+ ID_MODEL_FROM_DATABASE=AMD-8111 IDE ([Quartet]) - - pci:v00001022d00007469sv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 IDE (HDAMB) - - pci:v00001022d0000746A* - ID_MODEL_FROM_DATABASE=AMD-8111 SMBus 2.0 -@@ -11127,13 +11127,13 @@ pci:v00001022d0000746B* - ID_MODEL_FROM_DATABASE=AMD-8111 ACPI - - pci:v00001022d0000746Bsv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 ACPI (HDAMB) - - pci:v00001022d0000746D* - ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio - - pci:v00001022d0000746Dsv0000161Fsd00003017* -- ID_MODEL_FROM_DATABASE=HDAMB -+ ID_MODEL_FROM_DATABASE=AMD-8111 AC97 Audio (HDAMB) - - pci:v00001022d0000746E* - ID_MODEL_FROM_DATABASE=AMD-8111 MC97 Modem -@@ -11148,10 +11148,10 @@ pci:v00001022d00007801* - ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] - - pci:v00001022d00007801sv0000103Csd0000168B* -- ID_MODEL_FROM_DATABASE=ProBook 4535s Notebook -+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 4535s Notebook) - - pci:v00001022d00007801sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH SATA Controller [AHCI mode] (ProBook 455 G1 Notebook) - - pci:v00001022d00007802* - ID_MODEL_FROM_DATABASE=FCH SATA Controller [RAID mode] -@@ -11172,25 +11172,25 @@ pci:v00001022d00007807* - ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller - - pci:v00001022d00007807sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d00007808* - ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller - - pci:v00001022d00007808sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB EHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d00007809* - ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller - - pci:v00001022d00007809sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB OHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d0000780B* - ID_MODEL_FROM_DATABASE=FCH SMBus Controller - - pci:v00001022d0000780Bsv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH SMBus Controller (ProBook 455 G1 Notebook) - - pci:v00001022d0000780C* - ID_MODEL_FROM_DATABASE=FCH IDE Controller -@@ -11199,16 +11199,16 @@ pci:v00001022d0000780D* - ID_MODEL_FROM_DATABASE=FCH Azalia Controller - - pci:v00001022d0000780Dsv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (ProBook 455 G1 Notebook) - - pci:v00001022d0000780Dsv00001043sd00008444* -- ID_MODEL_FROM_DATABASE=F2A85-M Series -+ ID_MODEL_FROM_DATABASE=FCH Azalia Controller (F2A85-M Series) - - pci:v00001022d0000780E* - ID_MODEL_FROM_DATABASE=FCH LPC Bridge - - pci:v00001022d0000780Esv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH LPC Bridge (ProBook 455 G1 Notebook) - - pci:v00001022d0000780F* - ID_MODEL_FROM_DATABASE=FCH PCI Bridge -@@ -11223,7 +11223,7 @@ pci:v00001022d00007814* - ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller - - pci:v00001022d00007814sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller (ProBook 455 G1 Notebook) - - pci:v00001022d00007900* - ID_MODEL_FROM_DATABASE=FCH SATA Controller [IDE mode] -@@ -11262,16 +11262,16 @@ pci:v00001022d00009600* - ID_MODEL_FROM_DATABASE=RS780 Host Bridge - - pci:v00001022d00009600sv00001043sd000082F1* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=RS780 Host Bridge (M3A78-EH Motherboard) - - pci:v00001022d00009601* - ID_MODEL_FROM_DATABASE=RS880 Host Bridge - - pci:v00001022d00009601sv00001019sd00002120* -- ID_MODEL_FROM_DATABASE=A785GM-M -+ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (A785GM-M) - - pci:v00001022d00009601sv00001043sd0000843E* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=RS880 Host Bridge (M5A88-V EVO) - - pci:v00001022d00009602* - ID_MODEL_FROM_DATABASE=RS780/RS880 PCI to PCI bridge (int gfx) -@@ -11316,7 +11316,7 @@ pci:v00001023d00002001* - ID_MODEL_FROM_DATABASE=4DWave NX - - pci:v00001023d00002001sv0000122Dsd00001400* -- ID_MODEL_FROM_DATABASE=Trident PCI288-Q3DII (NX) -+ ID_MODEL_FROM_DATABASE=4DWave NX (Trident PCI288-Q3DII (NX)) - - pci:v00001023d00002100* - ID_MODEL_FROM_DATABASE=CyberBlade XP4m32 -@@ -11328,13 +11328,13 @@ pci:v00001023d00008400* - ID_MODEL_FROM_DATABASE=CyberBlade/i7 - - pci:v00001023d00008400sv00001023sd00008400* -- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade/i7 (CyberBlade i7 AGP) - - pci:v00001023d00008420* - ID_MODEL_FROM_DATABASE=CyberBlade/i7d - - pci:v00001023d00008420sv00000E11sd0000B15A* -- ID_MODEL_FROM_DATABASE=CyberBlade i7 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade/i7d (CyberBlade i7 AGP) - - pci:v00001023d00008500* - ID_MODEL_FROM_DATABASE=CyberBlade/i1 -@@ -11343,19 +11343,19 @@ pci:v00001023d00008520* - ID_MODEL_FROM_DATABASE=CyberBlade i1 - - pci:v00001023d00008520sv00000E11sd0000B16E* -- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) - - pci:v00001023d00008520sv00001023sd00008520* -- ID_MODEL_FROM_DATABASE=CyberBlade i1 AGP -+ ID_MODEL_FROM_DATABASE=CyberBlade i1 (AGP) - - pci:v00001023d00008620* - ID_MODEL_FROM_DATABASE=CyberBlade/i1 - - pci:v00001023d00008620sv00001014sd00000502* -- ID_MODEL_FROM_DATABASE=ThinkPad R30/T30 -+ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (ThinkPad R30/T30) - - pci:v00001023d00008620sv00001014sd00001025* -- ID_MODEL_FROM_DATABASE=Travelmate 352TE -+ ID_MODEL_FROM_DATABASE=CyberBlade/i1 (Travelmate 352TE) - - pci:v00001023d00008820* - ID_MODEL_FROM_DATABASE=CyberBlade XPAi1 -@@ -11460,7 +11460,7 @@ pci:v00001023d00009880* - ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP - - pci:v00001023d00009880sv00001023sd00009880* -- ID_MODEL_FROM_DATABASE=Blade 3D -+ ID_MODEL_FROM_DATABASE=Blade 3D PCI/AGP (Blade 3D) - - pci:v00001023d00009910* - ID_MODEL_FROM_DATABASE=CyberBlade/XP -@@ -11523,7 +11523,7 @@ pci:v00001025d00001533* - ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge - - pci:v00001025d00001533sv000010B9sd00001533* -- ID_MODEL_FROM_DATABASE=ALI M1533 Aladdin IV/V ISA South Bridge -+ ID_MODEL_FROM_DATABASE=M1533 PCI-to-ISA Bridge (ALI M1533 Aladdin IV/V ISA South Bridge) - - pci:v00001025d00001535* - ID_MODEL_FROM_DATABASE=M1535 PCI Bridge + Super I/O + FIR -@@ -11532,7 +11532,7 @@ pci:v00001025d00001541* - ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] - - pci:v00001025d00001541sv000010B9sd00001541* -- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP+PCI North Bridge -+ ID_MODEL_FROM_DATABASE=M1541 Northbridge [Aladdin V] (ALI M1541 Aladdin V/V+ AGP+PCI North Bridge) - - pci:v00001025d00001542* - ID_MODEL_FROM_DATABASE=M1542 Northbridge [Aladdin V] -@@ -11658,31 +11658,31 @@ pci:v00001028d00000001* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si - - pci:v00001028d00000001sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=PowerEdge 2400 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/Si (PowerEdge 2400) - - pci:v00001028d00000002* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di - - pci:v00001028d00000002sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=PowerEdge 4400 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PowerEdge 4400) - - pci:v00001028d00000002sv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=PERC 3/DiV [Viper] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiV [Viper]) - - pci:v00001028d00000002sv00001028sd000000D9* -- ID_MODEL_FROM_DATABASE=PERC 3/DiL [Lexus] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiL [Lexus]) - - pci:v00001028d00000003* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si - - pci:v00001028d00000003sv00001028sd00000003* -- ID_MODEL_FROM_DATABASE=PowerEdge 2450 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Si (PowerEdge 2450) - - pci:v00001028d00000004* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] - - pci:v00001028d00000004sv00001028sd00000004* -- ID_MODEL_FROM_DATABASE=PERC 3/DiF [Iguana] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di [Iguana] (PERC 3/DiF [Iguana]) - - pci:v00001028d00000006* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di -@@ -11700,13 +11700,13 @@ pci:v00001028d0000000A* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di - - pci:v00001028d0000000Asv00001028sd00000106* -- ID_MODEL_FROM_DATABASE=PERC 3/DiJ [Jaguar] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiJ [Jaguar]) - - pci:v00001028d0000000Asv00001028sd0000011B* -- ID_MODEL_FROM_DATABASE=PERC 3/DiD [Dagger] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiD [Dagger]) - - pci:v00001028d0000000Asv00001028sd00000121* -- ID_MODEL_FROM_DATABASE=PERC 3/DiB [Boxster] -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 3/Di (PERC 3/DiB [Boxster]) - - pci:v00001028d0000000C* - ID_MODEL_FROM_DATABASE=Embedded Remote Access or ERA/O -@@ -11721,7 +11721,7 @@ pci:v00001028d0000000F* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di - - pci:v00001028d0000000Fsv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4/Di (PowerEdge 1750) - - pci:v00001028d00000010* - ID_MODEL_FROM_DATABASE=Remote Access Card 4 -@@ -11736,19 +11736,19 @@ pci:v00001028d00000013* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 - - pci:v00001028d00000013sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Si -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Si) - - pci:v00001028d00000013sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000013sv00001028sd0000016E* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000013sv00001028sd0000016F* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000013sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 4e/Di -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 4 (PowerEdge Expandable RAID Controller 4e/Di) - - pci:v00001028d00000014* - ID_MODEL_FROM_DATABASE=Remote Access Card 4 Daughter Card SMIC interface -@@ -11757,19 +11757,19 @@ pci:v00001028d00000015* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 - - pci:v00001028d00000015sv00001028sd00001F01* -- ID_MODEL_FROM_DATABASE=PERC 5/E Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/E Adapter RAID Controller) - - pci:v00001028d00000015sv00001028sd00001F02* -- ID_MODEL_FROM_DATABASE=PERC 5/i Adapter RAID Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Adapter RAID Controller) - - pci:v00001028d00000015sv00001028sd00001F03* -- ID_MODEL_FROM_DATABASE=PERC 5/i Integrated RAID Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller 5 (PERC 5/i Integrated RAID Controller) - - pci:v00001028d00000016* - ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 - - pci:v00001028d00000016sv00001028sd00001F24* -- ID_MODEL_FROM_DATABASE=PERC S300 Controller -+ ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID controller S300 (PERC S300 Controller) - - pci:v00001029* - ID_VENDOR_FROM_DATABASE=Siemens Nixdorf IS -@@ -11787,28 +11787,28 @@ pci:v0000102Ad0000001F* - ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers - - pci:v0000102Ad0000001Fsv00009005sd0000000F* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) - - pci:v0000102Ad0000001Fsv00009005sd00000106* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) - - pci:v0000102Ad0000001Fsv00009005sd0000A180* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W /7890/7891 SCSI Controllers (2940U2W SCSI Controller) - - pci:v0000102Ad000000C5* - ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller - - pci:v0000102Ad000000C5sv00001028sd000000C5* -- ID_MODEL_FROM_DATABASE=PowerEdge 2550/2650/4600 -+ ID_MODEL_FROM_DATABASE=AIC-7899 U160/m SCSI Controller (PowerEdge 2550/2650/4600) - - pci:v0000102Ad000000CF* - ID_MODEL_FROM_DATABASE=AIC-7899P U160/m - - pci:v0000102Ad000000CFsv00001028sd00000106* -- ID_MODEL_FROM_DATABASE=PowerEdge 4600 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 4600) - - pci:v0000102Ad000000CFsv00001028sd00000121* -- ID_MODEL_FROM_DATABASE=PowerEdge 2650 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2650) - - pci:v0000102B* - ID_VENDOR_FROM_DATABASE=Matrox Electronics Systems Ltd. -@@ -11829,34 +11829,34 @@ pci:v0000102Bd0000051A* - ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] - - pci:v0000102Bd0000051Asv0000102Bsd00000100* -- ID_MODEL_FROM_DATABASE=MGA-1064SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1064SG Mystique) - - pci:v0000102Bd0000051Asv0000102Bsd00001100* -- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) - - pci:v0000102Bd0000051Asv0000102Bsd00001200* -- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) - - pci:v0000102Bd0000051Asv00001100sd0000102B* -- ID_MODEL_FROM_DATABASE=MGA-1084SG Mystique -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (MGA-1084SG Mystique) - - pci:v0000102Bd0000051Asv0000110Asd00000018* -- ID_MODEL_FROM_DATABASE=Scenic Pro C5 (D1025) -+ ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] (Scenic Pro C5 (D1025)) - - pci:v0000102Bd0000051B* - ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] - - pci:v0000102Bd0000051Bsv0000102Bsd0000051B* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051Bsv0000102Bsd00001100* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051Bsv0000102Bsd00001200* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051Bsv0000102Bsd00002100* -- ID_MODEL_FROM_DATABASE=MGA-2164W Millennium II -+ ID_MODEL_FROM_DATABASE=MGA 2164W [Millennium II] (MGA-2164W Millennium II) - - pci:v0000102Bd0000051E* - ID_MODEL_FROM_DATABASE=MGA 1064SG [Mystique] AGP -@@ -11868,391 +11868,391 @@ pci:v0000102Bd00000520* - ID_MODEL_FROM_DATABASE=MGA G200 - - pci:v0000102Bd00000520sv0000102Bsd0000DBC2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000DBC8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000DBE2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000DBE8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 (G200 Multi-Monitor) - - pci:v0000102Bd00000520sv0000102Bsd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G200 SD -+ ID_MODEL_FROM_DATABASE=MGA G200 (Millennium G200 SD) - - pci:v0000102Bd00000520sv0000102Bsd0000FF04* -- ID_MODEL_FROM_DATABASE=Marvel G200 -+ ID_MODEL_FROM_DATABASE=MGA G200 (Marvel G200) - - pci:v0000102Bd00000521* - ID_MODEL_FROM_DATABASE=MGA G200 AGP - - pci:v0000102Bd00000521sv00001014sd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd000048E9* -- ID_MODEL_FROM_DATABASE=Mystique G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd000048F8* -- ID_MODEL_FROM_DATABASE=Millennium G200 SD AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 SD AGP) - - pci:v0000102Bd00000521sv0000102Bsd00004A60* -- ID_MODEL_FROM_DATABASE=Millennium G200 LE AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 LE AGP) - - pci:v0000102Bd00000521sv0000102Bsd00004A64* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000C93C* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000C9B0* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000C9BC* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000CA60* -- ID_MODEL_FROM_DATABASE=Millennium G250 LE AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 LE AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000CA6C* -- ID_MODEL_FROM_DATABASE=Millennium G250 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G250 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000DBBC* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000DBC2* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBC3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBC8* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Dual G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Dual G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD4* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD5* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBD9* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBE2* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBE3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBE8* -- ID_MODEL_FROM_DATABASE=Millennium G200 MMS (Quad G200) -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 MMS (Quad G200)) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF2* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF3* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF4* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF5* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF8* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000DBF9* -- ID_MODEL_FROM_DATABASE=G200 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (G200 Multi-Monitor) - - pci:v0000102Bd00000521sv0000102Bsd0000F806* -- ID_MODEL_FROM_DATABASE=Mystique G200 Video AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 Video AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF00* -- ID_MODEL_FROM_DATABASE=MGA-G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF02* -- ID_MODEL_FROM_DATABASE=Mystique G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Mystique G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Millennium G200 AGP) - - pci:v0000102Bd00000521sv0000102Bsd0000FF04* -- ID_MODEL_FROM_DATABASE=Marvel G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (Marvel G200 AGP) - - pci:v0000102Bd00000521sv0000110Asd00000032* -- ID_MODEL_FROM_DATABASE=MGA-G200 AGP -+ ID_MODEL_FROM_DATABASE=MGA G200 AGP (MGA-G200 AGP) - - pci:v0000102Bd00000522* - ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) - - pci:v0000102Bd00000522sv0000103Csd000031FA* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=MGA G200e [Pilot] ServerEngines (SEP1) (ProLiant DL140 G3) - - pci:v0000102Bd00000525* - ID_MODEL_FROM_DATABASE=MGA G400/G450 - - pci:v0000102Bd00000525sv00000E11sd0000B16F* -- ID_MODEL_FROM_DATABASE=MGA-G400 AGP -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (MGA-G400 AGP) - - pci:v0000102Bd00000525sv0000102Bsd00000328* -- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) - - pci:v0000102Bd00000525sv0000102Bsd00000338* -- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SDRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SDRAM) - - pci:v0000102Bd00000525sv0000102Bsd00000378* -- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SDRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SDRAM) - - pci:v0000102Bd00000525sv0000102Bsd00000541* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head) - - pci:v0000102Bd00000525sv0000102Bsd00000542* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX) - - pci:v0000102Bd00000525sv0000102Bsd00000543* -- ID_MODEL_FROM_DATABASE=Millennium G450 Single Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Single Head LX) - - pci:v0000102Bd00000525sv0000102Bsd00000641* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head) - - pci:v0000102Bd00000525sv0000102Bsd00000642* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Dual Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Dual Head LX) - - pci:v0000102Bd00000525sv0000102Bsd00000643* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb SDRAM Single Head LX -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb SDRAM Single Head LX) - - pci:v0000102Bd00000525sv0000102Bsd000007C0* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LE -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LE) - - pci:v0000102Bd00000525sv0000102Bsd000007C1* -- ID_MODEL_FROM_DATABASE=Millennium G450 SDR Dual Head LE -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 SDR Dual Head LE) - - pci:v0000102Bd00000525sv0000102Bsd00000D41* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head PCI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head PCI) - - pci:v0000102Bd00000525sv0000102Bsd00000D42* -- ID_MODEL_FROM_DATABASE=Millennium G450 Dual Head LX PCI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Dual Head LX PCI) - - pci:v0000102Bd00000525sv0000102Bsd00000D43* -- ID_MODEL_FROM_DATABASE=Millennium G450 32Mb Dual Head PCI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32Mb Dual Head PCI) - - pci:v0000102Bd00000525sv0000102Bsd00000E00* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000E01* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000E02* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000E03* -- ID_MODEL_FROM_DATABASE=Marvel G450 eTV -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G450 eTV) - - pci:v0000102Bd00000525sv0000102Bsd00000F80* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) - - pci:v0000102Bd00000525sv0000102Bsd00000F81* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile) - - pci:v0000102Bd00000525sv0000102Bsd00000F82* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) - - pci:v0000102Bd00000525sv0000102Bsd00000F83* -- ID_MODEL_FROM_DATABASE=Millennium G450 Low Profile DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 Low Profile DVI) - - pci:v0000102Bd00000525sv0000102Bsd000019D8* -- ID_MODEL_FROM_DATABASE=Millennium G400 16Mb SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 16Mb SGRAM) - - pci:v0000102Bd00000525sv0000102Bsd000019F8* -- ID_MODEL_FROM_DATABASE=Millennium G400 32Mb SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 32Mb SGRAM) - - pci:v0000102Bd00000525sv0000102Bsd00002159* -- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head 16Mb -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head 16Mb) - - pci:v0000102Bd00000525sv0000102Bsd00002179* -- ID_MODEL_FROM_DATABASE=Millennium G400 MAX/Dual Head 32Mb -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 MAX/Dual Head 32Mb) - - pci:v0000102Bd00000525sv0000102Bsd0000217D* -- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head Max -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head Max) - - pci:v0000102Bd00000525sv0000102Bsd000023C0* -- ID_MODEL_FROM_DATABASE=Millennium G450 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) - - pci:v0000102Bd00000525sv0000102Bsd000023C1* -- ID_MODEL_FROM_DATABASE=Millennium G450 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450) - - pci:v0000102Bd00000525sv0000102Bsd000023C2* -- ID_MODEL_FROM_DATABASE=Millennium G450 DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) - - pci:v0000102Bd00000525sv0000102Bsd000023C3* -- ID_MODEL_FROM_DATABASE=Millennium G450 DVI -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 DVI) - - pci:v0000102Bd00000525sv0000102Bsd00002F58* -- ID_MODEL_FROM_DATABASE=Millennium G400 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) - - pci:v0000102Bd00000525sv0000102Bsd00002F78* -- ID_MODEL_FROM_DATABASE=Millennium G400 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400) - - pci:v0000102Bd00000525sv0000102Bsd00003693* -- ID_MODEL_FROM_DATABASE=Marvel G400 AGP -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Marvel G400 AGP) - - pci:v0000102Bd00000525sv0000102Bsd00005DD0* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00005F50* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00005F51* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00005F52* -- ID_MODEL_FROM_DATABASE=4Sight II -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (4Sight II) - - pci:v0000102Bd00000525sv0000102Bsd00009010* -- ID_MODEL_FROM_DATABASE=Millennium G400 Dual Head -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G400 Dual Head) - - pci:v0000102Bd00000525sv00001458sd00000400* -- ID_MODEL_FROM_DATABASE=GA-G400 -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (GA-G400) - - pci:v0000102Bd00000525sv00001705sd00000001* -- ID_MODEL_FROM_DATABASE=Millennium G450 32MB SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB SGRAM) - - pci:v0000102Bd00000525sv00001705sd00000002* -- ID_MODEL_FROM_DATABASE=Millennium G450 16MB SGRAM -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB SGRAM) - - pci:v0000102Bd00000525sv00001705sd00000003* -- ID_MODEL_FROM_DATABASE=Millennium G450 32MB -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 32MB) - - pci:v0000102Bd00000525sv00001705sd00000004* -- ID_MODEL_FROM_DATABASE=Millennium G450 16MB -+ ID_MODEL_FROM_DATABASE=MGA G400/G450 (Millennium G450 16MB) - - pci:v0000102Bd00000527* - ID_MODEL_FROM_DATABASE=Parhelia - - pci:v0000102Bd00000527sv0000102Bsd00000840* -- ID_MODEL_FROM_DATABASE=Parhelia 128Mb -+ ID_MODEL_FROM_DATABASE=Parhelia (128Mb) - - pci:v0000102Bd00000527sv0000102Bsd00000850* -- ID_MODEL_FROM_DATABASE=Parhelia 256MB -+ ID_MODEL_FROM_DATABASE=Parhelia (256MB) - - pci:v0000102Bd00000527sv0000102Bsd00000870* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000527sv0000102Bsd00000880* -- ID_MODEL_FROM_DATABASE=P-256 Edge Overlap Controller -+ ID_MODEL_FROM_DATABASE=Parhelia (P-256 Edge Overlap Controller) - - pci:v0000102Bd00000528* - ID_MODEL_FROM_DATABASE=Parhelia - - pci:v0000102Bd00000528sv0000102Bsd00001020* -- ID_MODEL_FROM_DATABASE=Parhelia 128MB -+ ID_MODEL_FROM_DATABASE=Parhelia (128MB) - - pci:v0000102Bd00000528sv0000102Bsd00001030* -- ID_MODEL_FROM_DATABASE=Parhelia 256 MB Dual DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (256 MB Dual DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001040* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001050* -- ID_MODEL_FROM_DATABASE=Sono S20 -+ ID_MODEL_FROM_DATABASE=Parhelia (Sono S20) - - pci:v0000102Bd00000528sv0000102Bsd00001060* -- ID_MODEL_FROM_DATABASE=PJ-30L -+ ID_MODEL_FROM_DATABASE=Parhelia (PJ-30L) - - pci:v0000102Bd00000528sv0000102Bsd00001070* -- ID_MODEL_FROM_DATABASE=PJ-40L -+ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40L) - - pci:v0000102Bd00000528sv0000102Bsd00001421* -- ID_MODEL_FROM_DATABASE=MED5mp -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp) - - pci:v0000102Bd00000528sv0000102Bsd00001431* -- ID_MODEL_FROM_DATABASE=MED3mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001451* -- ID_MODEL_FROM_DATABASE=MED5mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001491* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd000014B1* -- ID_MODEL_FROM_DATABASE=MED3mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd000014C1* -- ID_MODEL_FROM_DATABASE=MED5mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd000014E1* -- ID_MODEL_FROM_DATABASE=Parhelia PCI 256MB -+ ID_MODEL_FROM_DATABASE=Parhelia (PCI 256MB) - - pci:v0000102Bd00000528sv0000102Bsd000014F1* -- ID_MODEL_FROM_DATABASE=Parhelia Precision SGT -+ ID_MODEL_FROM_DATABASE=Parhelia (Precision SGT) - - pci:v0000102Bd00000528sv0000102Bsd00001501* -- ID_MODEL_FROM_DATABASE=ATC-4MP -+ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) - - pci:v0000102Bd00000528sv0000102Bsd00001511* -- ID_MODEL_FROM_DATABASE=ATC-4MP -+ ID_MODEL_FROM_DATABASE=Parhelia (ATC-4MP) - - pci:v0000102Bd00000528sv0000102Bsd00001521* -- ID_MODEL_FROM_DATABASE=TheatreVUE T30 -+ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T30) - - pci:v0000102Bd00000528sv0000102Bsd00001531* -- ID_MODEL_FROM_DATABASE=TheatreVUE T20 -+ ID_MODEL_FROM_DATABASE=Parhelia (TheatreVUE T20) - - pci:v0000102Bd00000528sv0000102Bsd00001541* -- ID_MODEL_FROM_DATABASE=MED2mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED2mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001551* -- ID_MODEL_FROM_DATABASE=MED3mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED3mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001561* -- ID_MODEL_FROM_DATABASE=MED5mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED5mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00001571* -- ID_MODEL_FROM_DATABASE=Parhelia DL256 PCI -+ ID_MODEL_FROM_DATABASE=Parhelia (DL256 PCI) - - pci:v0000102Bd00000528sv0000102Bsd00001591* -- ID_MODEL_FROM_DATABASE=Parhelia Precision SDT -+ ID_MODEL_FROM_DATABASE=Parhelia (Precision SDT) - - pci:v0000102Bd00000528sv0000102Bsd000015A1* -- ID_MODEL_FROM_DATABASE=MED4mp-DVI -+ ID_MODEL_FROM_DATABASE=Parhelia (MED4mp-DVI) - - pci:v0000102Bd00000528sv0000102Bsd00002011* -- ID_MODEL_FROM_DATABASE=Parhelia HR256 -+ ID_MODEL_FROM_DATABASE=Parhelia (HR256) - - pci:v0000102Bd00000528sv0000102Bsd00002021* -- ID_MODEL_FROM_DATABASE=QID Pro -+ ID_MODEL_FROM_DATABASE=Parhelia (QID Pro) - - pci:v0000102Bd00000528sv0000102Bsd00002061* -- ID_MODEL_FROM_DATABASE=PJ-40LP -+ ID_MODEL_FROM_DATABASE=Parhelia (PJ-40LP) - - pci:v0000102Bd00000528sv0000102Bsd00002081* -- ID_MODEL_FROM_DATABASE=EWS Quad -+ ID_MODEL_FROM_DATABASE=Parhelia (EWS Quad) - - pci:v0000102Bd00000528sv0000102Bsd00002411* -- ID_MODEL_FROM_DATABASE=PPX-OUT8 -+ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT8) - - pci:v0000102Bd00000528sv0000102Bsd00002421* -- ID_MODEL_FROM_DATABASE=VPX-OUT8 -+ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT8) - - pci:v0000102Bd00000528sv0000102Bsd00002441* -- ID_MODEL_FROM_DATABASE=PPX-OUT4 -+ ID_MODEL_FROM_DATABASE=Parhelia (PPX-OUT4) - - pci:v0000102Bd00000528sv0000102Bsd00002451* -- ID_MODEL_FROM_DATABASE=VPX-OUT4 -+ ID_MODEL_FROM_DATABASE=Parhelia (VPX-OUT4) - - pci:v0000102Bd00000528sv0000102Bsd00002491* -- ID_MODEL_FROM_DATABASE=LPX-OUT4 -+ ID_MODEL_FROM_DATABASE=Parhelia (LPX-OUT4) - - pci:v0000102Bd00000530* - ID_MODEL_FROM_DATABASE=MGA G200EV -@@ -12261,37 +12261,37 @@ pci:v0000102Bd00000532* - ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 - - pci:v0000102Bd00000532sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R710 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R610 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T610 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M610 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge R410 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T410 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge M710 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv00001028sd000002A4* -- ID_MODEL_FROM_DATABASE=PowerEdge T310 MGA G200eW WPCM450 -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) - - pci:v0000102Bd00000532sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) - - pci:v0000102Bd00000533* - ID_MODEL_FROM_DATABASE=MGA G200EH - - pci:v0000102Bd00000533sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=MGA G200EH (iLO4) - - pci:v0000102Bd00000534* - ID_MODEL_FROM_DATABASE=G200eR2 -@@ -12300,40 +12300,40 @@ pci:v0000102Bd00000540* - ID_MODEL_FROM_DATABASE=M91XX - - pci:v0000102Bd00000540sv0000102Bsd00002080* -- ID_MODEL_FROM_DATABASE=M9140 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9140 LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd000020C0* -- ID_MODEL_FROM_DATABASE=Xenia -+ ID_MODEL_FROM_DATABASE=M91XX (Xenia) - - pci:v0000102Bd00000540sv0000102Bsd000020C1* -- ID_MODEL_FROM_DATABASE=Xenia Pro -+ ID_MODEL_FROM_DATABASE=M91XX (Xenia Pro) - - pci:v0000102Bd00000540sv0000102Bsd00002100* -- ID_MODEL_FROM_DATABASE=M9120 PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9120 PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002140* -- ID_MODEL_FROM_DATABASE=M9125 PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9125 PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002180* -- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd000021C0* -- ID_MODEL_FROM_DATABASE=M9120 Plus LP PCIe x1 -+ ID_MODEL_FROM_DATABASE=M91XX (M9120 Plus LP PCIe x1) - - pci:v0000102Bd00000540sv0000102Bsd00002200* -- ID_MODEL_FROM_DATABASE=VDA1164 Output Board -+ ID_MODEL_FROM_DATABASE=M91XX (VDA1164 Output Board) - - pci:v0000102Bd00000540sv0000102Bsd00002240* -- ID_MODEL_FROM_DATABASE=M9148 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9148 LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002241* -- ID_MODEL_FROM_DATABASE=M9138 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9138 LP PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd00002280* -- ID_MODEL_FROM_DATABASE=M9188 ATX PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9188 ATX PCIe x16) - - pci:v0000102Bd00000540sv0000102Bsd000022C0* -- ID_MODEL_FROM_DATABASE=M9128 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=M91XX (M9128 LP PCIe x16) - - pci:v0000102Bd00000D10* - ID_MODEL_FROM_DATABASE=MGA Ultima/Impression -@@ -12342,34 +12342,34 @@ pci:v0000102Bd00001000* - ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] - - pci:v0000102Bd00001000sv0000102Bsd0000FF01* -- ID_MODEL_FROM_DATABASE=Productiva G100 -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100) - - pci:v0000102Bd00001000sv0000102Bsd0000FF05* -- ID_MODEL_FROM_DATABASE=Productiva G100 Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] (Productiva G100 Multi-Monitor) - - pci:v0000102Bd00001001* - ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP - - pci:v0000102Bd00001001sv0000102Bsd00001001* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF00* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF01* -- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF03* -- ID_MODEL_FROM_DATABASE=Millennium G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (Millennium G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF04* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00001001sv0000102Bsd0000FF05* -- ID_MODEL_FROM_DATABASE=MGA-G100 Productiva AGP Multi-Monitor -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 Productiva AGP Multi-Monitor) - - pci:v0000102Bd00001001sv0000110Asd0000001E* -- ID_MODEL_FROM_DATABASE=MGA-G100 AGP -+ ID_MODEL_FROM_DATABASE=MGA G100 [Productiva] AGP (MGA-G100 AGP) - - pci:v0000102Bd00002007* - ID_MODEL_FROM_DATABASE=MGA Mistral -@@ -12378,163 +12378,163 @@ pci:v0000102Bd00002527* - ID_MODEL_FROM_DATABASE=Millennium G550 - - pci:v0000102Bd00002527sv0000102Bsd00000F42* -- ID_MODEL_FROM_DATABASE=Matrox G550 Low Profile PCI -+ ID_MODEL_FROM_DATABASE=Millennium G550 (Matrox G550 Low Profile PCI) - - pci:v0000102Bd00002527sv0000102Bsd00000F83* - ID_MODEL_FROM_DATABASE=Millennium G550 - - pci:v0000102Bd00002527sv0000102Bsd00000F84* -- ID_MODEL_FROM_DATABASE=Millennium G550 Dual Head DDR 32Mb -+ ID_MODEL_FROM_DATABASE=Millennium G550 (Dual Head DDR 32Mb) - - pci:v0000102Bd00002527sv0000102Bsd00001E41* - ID_MODEL_FROM_DATABASE=Millennium G550 - - pci:v0000102Bd00002527sv0000102Bsd00002300* -- ID_MODEL_FROM_DATABASE=Millennium G550 LP PCIE -+ ID_MODEL_FROM_DATABASE=Millennium G550 (LP PCIE) - - pci:v0000102Bd00002537* - ID_MODEL_FROM_DATABASE=Millenium P650/P750 - - pci:v0000102Bd00002537sv0000102Bsd00001820* -- ID_MODEL_FROM_DATABASE=Millennium P750 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P750 64MB) - - pci:v0000102Bd00002537sv0000102Bsd00001830* -- ID_MODEL_FROM_DATABASE=Millennium P650 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 64MB) - - pci:v0000102Bd00002537sv0000102Bsd00001850* -- ID_MODEL_FROM_DATABASE=RAD2mp -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD2mp) - - pci:v0000102Bd00002537sv0000102Bsd00001860* -- ID_MODEL_FROM_DATABASE=RAD3mp -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD3mp) - - pci:v0000102Bd00002537sv0000102Bsd00001880* -- ID_MODEL_FROM_DATABASE=Sono S10 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Sono S10) - - pci:v0000102Bd00002537sv0000102Bsd00001C10* -- ID_MODEL_FROM_DATABASE=QID 128MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID 128MB) - - pci:v0000102Bd00002537sv0000102Bsd00002811* -- ID_MODEL_FROM_DATABASE=Millennium P650 Low-profile PCI 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millennium P650 Low-profile PCI 64MB) - - pci:v0000102Bd00002537sv0000102Bsd00002821* -- ID_MODEL_FROM_DATABASE=Millenium P650 Low-profile PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Millenium P650 Low-profile PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002841* -- ID_MODEL_FROM_DATABASE=RAD PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RAD PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002851* -- ID_MODEL_FROM_DATABASE=Spectrum PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Spectrum PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002871* -- ID_MODEL_FROM_DATABASE=EpicA TC2 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC2) - - pci:v0000102Bd00002537sv0000102Bsd00002C11* -- ID_MODEL_FROM_DATABASE=QID Low-profile PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID Low-profile PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002C21* -- ID_MODEL_FROM_DATABASE=QID LP PCI LW -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI LW) - - pci:v0000102Bd00002537sv0000102Bsd00002C31* -- ID_MODEL_FROM_DATABASE=QID LP PCI -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (QID LP PCI) - - pci:v0000102Bd00002537sv0000102Bsd00002C41* -- ID_MODEL_FROM_DATABASE=EpicA TC4 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (EpicA TC4) - - pci:v0000102Bd00002537sv0000102Bsd00003001* -- ID_MODEL_FROM_DATABASE=Extio F1400 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1400) - - pci:v0000102Bd00002537sv0000102Bsd00003011* -- ID_MODEL_FROM_DATABASE=Extio F1220 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1220) - - pci:v0000102Bd00002537sv0000102Bsd00003041* -- ID_MODEL_FROM_DATABASE=RG-200DL -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-200DL) - - pci:v0000102Bd00002537sv0000102Bsd00003051* -- ID_MODEL_FROM_DATABASE=RG-400SL -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (RG-400SL) - - pci:v0000102Bd00002537sv0000102Bsd00003061* -- ID_MODEL_FROM_DATABASE=Extio F1420 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1420) - - pci:v0000102Bd00002537sv0000102Bsd00003081* -- ID_MODEL_FROM_DATABASE=Extio F1240 -+ ID_MODEL_FROM_DATABASE=Millenium P650/P750 (Extio F1240) - - pci:v0000102Bd00002538* - ID_MODEL_FROM_DATABASE=Millenium P650 PCIe - - pci:v0000102Bd00002538sv0000102Bsd00000847* -- ID_MODEL_FROM_DATABASE=RAD PCIe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (RAD PCIe) - - pci:v0000102Bd00002538sv0000102Bsd000008C7* -- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 128MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 128MB) - - pci:v0000102Bd00002538sv0000102Bsd00000907* -- ID_MODEL_FROM_DATABASE=Millennium P650 PCIe 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 PCIe 64MB) - - pci:v0000102Bd00002538sv0000102Bsd00000947* -- ID_MODEL_FROM_DATABASE=Parhelia APVe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) - - pci:v0000102Bd00002538sv0000102Bsd00000987* -- ID_MODEL_FROM_DATABASE=ATC PCIe 4MP -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (ATC PCIe 4MP) - - pci:v0000102Bd00002538sv0000102Bsd00001047* -- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 128MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 128MB) - - pci:v0000102Bd00002538sv0000102Bsd00001087* -- ID_MODEL_FROM_DATABASE=Millennium P650 LP PCIe 64MB -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Millennium P650 LP PCIe 64MB) - - pci:v0000102Bd00002538sv0000102Bsd00001801* -- ID_MODEL_FROM_DATABASE=Millenium P650 PCIe x1 -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (x1) - - pci:v0000102Bd00002538sv0000102Bsd00002538* -- ID_MODEL_FROM_DATABASE=Parhelia APVe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Parhelia APVe) - - pci:v0000102Bd00002538sv0000102Bsd00003007* -- ID_MODEL_FROM_DATABASE=QID Low-profile PCIe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID Low-profile PCIe) - - pci:v0000102Bd00002538sv0000102Bsd00003087* -- ID_MODEL_FROM_DATABASE=Aurora VX3mp -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (Aurora VX3mp) - - pci:v0000102Bd00002538sv0000102Bsd000030C7* -- ID_MODEL_FROM_DATABASE=QID LP PCIe -+ ID_MODEL_FROM_DATABASE=Millenium P650 PCIe (QID LP PCIe) - - pci:v0000102Bd00002539* - ID_MODEL_FROM_DATABASE=Millennium P690 - - pci:v0000102Bd00002539sv0000102Bsd00000040* -- ID_MODEL_FROM_DATABASE=Millenium P690 PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd00000042* -- ID_MODEL_FROM_DATABASE=ONYX -+ ID_MODEL_FROM_DATABASE=Millennium P690 (ONYX) - - pci:v0000102Bd00002539sv0000102Bsd00000043* -- ID_MODEL_FROM_DATABASE=SPECTRA -+ ID_MODEL_FROM_DATABASE=Millennium P690 (SPECTRA) - - pci:v0000102Bd00002539sv0000102Bsd00000080* -- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd00000081* -- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd00000082* -- ID_MODEL_FROM_DATABASE=RAD LPX PCIe x16 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCIe x16) - - pci:v0000102Bd00002539sv0000102Bsd000000C0* -- ID_MODEL_FROM_DATABASE=Millenium P690 Plus LP PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 Plus LP PCI) - - pci:v0000102Bd00002539sv0000102Bsd000000C2* -- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCI) - - pci:v0000102Bd00002539sv0000102Bsd000000C3* -- ID_MODEL_FROM_DATABASE=RAD LPX PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (RAD LPX PCI) - - pci:v0000102Bd00002539sv0000102Bsd00000101* -- ID_MODEL_FROM_DATABASE=Millenium P690 PCI -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 PCI) - - pci:v0000102Bd00002539sv0000102Bsd00000140* -- ID_MODEL_FROM_DATABASE=Millenium P690 LP PCIe x1 -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Millenium P690 LP PCIe x1) - - pci:v0000102Bd00002539sv0000102Bsd00000180* -- ID_MODEL_FROM_DATABASE=Display Wall IP Decode 128 MB -+ ID_MODEL_FROM_DATABASE=Millennium P690 (Display Wall IP Decode 128 MB) - - pci:v0000102Bd00004164* - ID_MODEL_FROM_DATABASE=Morphis QxT frame grabber -@@ -12558,43 +12558,43 @@ pci:v0000102Bd0000475D* - ID_MODEL_FROM_DATABASE=Vio frame grabber family - - pci:v0000102Bd0000475Dsv0000102Bsd00004B90* -- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber (single channel) -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber (single channel)) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B91* -- ID_MODEL_FROM_DATABASE=Vio Duo frame grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Duo frame grabber) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B92* -- ID_MODEL_FROM_DATABASE=Vio Analog frame grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio Analog frame grabber) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B93* -- ID_MODEL_FROM_DATABASE=Vio SDI Frame Grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio SDI Frame Grabber) - - pci:v0000102Bd0000475Dsv0000102Bsd00004B94* -- ID_MODEL_FROM_DATABASE=Vio DVI-A frame grabber -+ ID_MODEL_FROM_DATABASE=Vio frame grabber family (Vio DVI-A frame grabber) - - pci:v0000102Bd0000475F* - ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber - - pci:v0000102Bd0000475Fsv0000102Bsd0000475F* -- ID_MODEL_FROM_DATABASE=Solios eCL/XCL-F frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eCL/XCL-F frame grabber) - - pci:v0000102Bd0000475Fsv0000102Bsd00004D5F* -- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Full) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eV-CL (single-Full) frame grabber) - - pci:v0000102Bd0000475Fsv0000102Bsd00004E5F* -- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Full) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (single-Full) CL frame grabber (Solios eM-CL (single-Full) frame grabber) - - pci:v0000102Bd000047A1* - ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber - - pci:v0000102Bd000047A1sv0000102Bsd00004BE0* -- ID_MODEL_FROM_DATABASE=Solios eA/XA (single) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (single) frame grabber) - - pci:v0000102Bd000047A1sv0000102Bsd00004BE1* -- ID_MODEL_FROM_DATABASE=Solios eA/XA (dual) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (dual) frame grabber) - - pci:v0000102Bd000047A1sv0000102Bsd00004BE2* -- ID_MODEL_FROM_DATABASE=Solios eA/XA (quad) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios eA/XA frame grabber (Solios eA/XA (quad) frame grabber) - - pci:v0000102Bd000047A2* - ID_MODEL_FROM_DATABASE=Solios COM port -@@ -12603,25 +12603,25 @@ pci:v0000102Bd000047C1* - ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber - - pci:v0000102Bd000047C1sv0000102Bsd00000000* -- ID_MODEL_FROM_DATABASE=Solios frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004B80* -- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (single-Medium) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (single-Medium) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004B81* -- ID_MODEL_FROM_DATABASE=Solios eCL/XCL (dual-Base) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eCL/XCL (dual-Base) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004D80* -- ID_MODEL_FROM_DATABASE=Solios eV-CL (single-Medium) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (single-Medium) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004D81* -- ID_MODEL_FROM_DATABASE=Solios eV-CL (dual-Base) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eV-CL (dual-Base) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004E80* -- ID_MODEL_FROM_DATABASE=Solios eM-CL (single-Medium) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (single-Medium) frame grabber) - - pci:v0000102Bd000047C1sv0000102Bsd00004E81* -- ID_MODEL_FROM_DATABASE=Solios eM-CL (dual-Base) frame grabber -+ ID_MODEL_FROM_DATABASE=Solios (dual-Base/single-Medium) CL frame grabber (Solios eM-CL (dual-Base) frame grabber) - - pci:v0000102Bd000047C2* - ID_MODEL_FROM_DATABASE=Solios COM port -@@ -12630,34 +12630,34 @@ pci:v0000102Bd00004949* - ID_MODEL_FROM_DATABASE=Radient frame grabber family - - pci:v0000102Bd00004949sv0000102Bsd00000010* -- ID_MODEL_FROM_DATABASE=Radient eCL (Single-full) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Single-full) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000011* -- ID_MODEL_FROM_DATABASE=Radient eCLV (Single-full) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCLV (Single-full) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000020* -- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-base) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-base) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000030* -- ID_MODEL_FROM_DATABASE=Radient eCL (Dual-full) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Dual-full) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000040* -- ID_MODEL_FROM_DATABASE=Radient eCL (Quad-base) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Quad-base) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00000050* -- ID_MODEL_FROM_DATABASE=Radient eCL (Golden) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eCL (Golden) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001010* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-6) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-6) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001015* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (dual CXP-6) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (dual CXP-6) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001020* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (quad CXP-3) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (quad CXP-3) frame grabber) - - pci:v0000102Bd00004949sv0000102Bsd00001050* -- ID_MODEL_FROM_DATABASE=Radient eV-CXP (Golden) frame grabber -+ ID_MODEL_FROM_DATABASE=Radient frame grabber family (Radient eV-CXP (Golden) frame grabber) - - pci:v0000102Bd00004CDC* - ID_MODEL_FROM_DATABASE=Morphis JPEG2000 accelerator -@@ -12687,22 +12687,22 @@ pci:v0000102Cd000000C0sv0000102Csd000000C0* - ID_MODEL_FROM_DATABASE=F69000 HiQVideo - - pci:v0000102Cd000000C0sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001010* -- ID_MODEL_FROM_DATABASE=CP5/CR6 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CP5/CR6 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001020* -- ID_MODEL_FROM_DATABASE=VR6 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (VR6 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001030* -- ID_MODEL_FROM_DATABASE=PC5 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (PC5 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CT7 mainboard) - - pci:v0000102Cd000000C0sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=F69000 HiQVideo (CE7 mainboard) - - pci:v0000102Cd000000D0* - ID_MODEL_FROM_DATABASE=F65545 -@@ -12723,10 +12723,10 @@ pci:v0000102Cd000000E5* - ID_MODEL_FROM_DATABASE=F65555 HiQVPro - - pci:v0000102Cd000000E5sv00000E11sd0000B049* -- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop Display Controller -+ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Armada 1700 Laptop Display Controller) - - pci:v0000102Cd000000E5sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite Pro/Satellite -+ ID_MODEL_FROM_DATABASE=F65555 HiQVPro (Satellite Pro/Satellite) - - pci:v0000102Cd000000F0* - ID_MODEL_FROM_DATABASE=F68554 -@@ -12741,16 +12741,16 @@ pci:v0000102Cd00000C30* - ID_MODEL_FROM_DATABASE=F69030 - - pci:v0000102Cd00000C30sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v0000102Cd00000C30sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CT7 mainboard) - - pci:v0000102Cd00000C30sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CE7 mainboard) - - pci:v0000102Cd00000C30sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=F69030 (CT8 mainboard) - - pci:v0000102D* - ID_VENDOR_FROM_DATABASE=Wyse Technology Inc. -@@ -12894,34 +12894,34 @@ pci:v00001033d00000035* - ID_MODEL_FROM_DATABASE=OHCI USB Controller - - pci:v00001033d00000035sv00001033sd00000035* -- ID_MODEL_FROM_DATABASE=USB Controller -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB Controller) - - pci:v00001033d00000035sv0000103Csd00001293* -- ID_MODEL_FROM_DATABASE=USB add-in card -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB add-in card) - - pci:v00001033d00000035sv0000103Csd00001294* -- ID_MODEL_FROM_DATABASE=USB 2.0 add-in card -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB 2.0 add-in card) - - pci:v00001033d00000035sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=USB -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (USB) - - pci:v00001033d00000035sv000012EEsd00007000* -- ID_MODEL_FROM_DATABASE=Root Hub -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) - - pci:v00001033d00000035sv000014C2sd00000105* -- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PTI-205N USB 2.0 Host Controller) - - pci:v00001033d00000035sv00001799sd00000001* -- ID_MODEL_FROM_DATABASE=Root Hub -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (Root Hub) - - pci:v00001033d00000035sv00001931sd0000000A* -- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (PPP data) -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (PPP data)) - - pci:v00001033d00000035sv00001931sd0000000B* -- ID_MODEL_FROM_DATABASE=GlobeTrotter Fusion Quad Lite (GSM data) -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (GlobeTrotter Fusion Quad Lite (GSM data)) - - pci:v00001033d00000035sv0000807Dsd00000035* -- ID_MODEL_FROM_DATABASE=PCI-USB2 (OHCI subsystem) -+ ID_MODEL_FROM_DATABASE=OHCI USB Controller (PCI-USB2 (OHCI subsystem)) - - pci:v00001033d0000003B* - ID_MODEL_FROM_DATABASE=PCI to C-bus Bridge -@@ -12942,28 +12942,28 @@ pci:v00001033d00000067* - ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset - - pci:v00001033d00000067sv00001010sd00000020* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) - - pci:v00001033d00000067sv00001010sd00000080* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) - - pci:v00001033d00000067sv00001010sd00000088* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) - - pci:v00001033d00000067sv00001010sd00000090* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 16Mb) - - pci:v00001033d00000067sv00001010sd00000098* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 16Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 16Mb) - - pci:v00001033d00000067sv00001010sd000000A0* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) - - pci:v00001033d00000067sv00001010sd000000A8* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 32Mb) - - pci:v00001033d00000067sv00001010sd00000120* -- ID_MODEL_FROM_DATABASE=PowerVR Neon 250 AGP 32Mb -+ ID_MODEL_FROM_DATABASE=PowerVR Neon 250 Chipset (PowerVR Neon 250 AGP 32Mb) - - pci:v00001033d00000072* - ID_MODEL_FROM_DATABASE=uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr -@@ -12972,7 +12972,7 @@ pci:v00001033d00000074* - ID_MODEL_FROM_DATABASE=56k Voice Modem - - pci:v00001033d00000074sv00001033sd00008014* -- ID_MODEL_FROM_DATABASE=RCV56ACF 56k Voice Modem -+ ID_MODEL_FROM_DATABASE=56k Voice Modem (RCV56ACF 56k Voice Modem) - - pci:v00001033d0000009B* - ID_MODEL_FROM_DATABASE=Vrc5476 -@@ -12987,7 +12987,7 @@ pci:v00001033d000000CD* - ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller - - pci:v00001033d000000CDsv000012EEsd00008011* -- ID_MODEL_FROM_DATABASE=Root hub -+ ID_MODEL_FROM_DATABASE=uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller (Root hub) - - pci:v00001033d000000CE* - ID_MODEL_FROM_DATABASE=uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller -@@ -12999,16 +12999,16 @@ pci:v00001033d000000E0* - ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller - - pci:v00001033d000000E0sv000012EEsd00007001* -- ID_MODEL_FROM_DATABASE=Root hub -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root hub) - - pci:v00001033d000000E0sv000014C2sd00000205* -- ID_MODEL_FROM_DATABASE=PTI-205N USB 2.0 Host Controller -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PTI-205N USB 2.0 Host Controller) - - pci:v00001033d000000E0sv00001799sd00000002* -- ID_MODEL_FROM_DATABASE=Root Hub -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (Root Hub) - - pci:v00001033d000000E0sv0000807Dsd00001043* -- ID_MODEL_FROM_DATABASE=PCI-USB2 (EHCI subsystem) -+ ID_MODEL_FROM_DATABASE=uPD72010x USB 2.0 Controller (PCI-USB2 (EHCI subsystem)) - - pci:v00001033d000000E7* - ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller -@@ -13032,22 +13032,22 @@ pci:v00001033d00000194* - ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller - - pci:v00001033d00000194sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Precision M4600) - - pci:v00001033d00000194sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3350) - - pci:v00001033d00000194sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (Vostro 3750) - - pci:v00001033d00000194sv00001043sd00008413* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (P8P67 Deluxe Motherboard) - - pci:v00001033d00000194sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (QEMU Virtual Machine) - - pci:v00001033d00000194sv00001B96sd00000001* -- ID_MODEL_FROM_DATABASE=USB 3.0 PCIe Card -+ ID_MODEL_FROM_DATABASE=uPD720200 USB 3.0 Host Controller (USB 3.0 PCIe Card) - - pci:v00001033d000001E7* - ID_MODEL_FROM_DATABASE=uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller -@@ -13116,7 +13116,7 @@ pci:v00001039d00000182* - ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller - - pci:v00001039d00000182sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=182 SATA/RAID Controller (D2030-A1) - - pci:v00001039d00000186* - ID_MODEL_FROM_DATABASE=AHCI Controller (0106) -@@ -13131,7 +13131,7 @@ pci:v00001039d00000200* - ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA - - pci:v00001039d00000200sv00001039sd00000000* -- ID_MODEL_FROM_DATABASE=SiS5597 SVGA (Shared RAM) -+ ID_MODEL_FROM_DATABASE=5597/5598/6326 VGA (SiS5597 SVGA (Shared RAM)) - - pci:v00001039d00000204* - ID_MODEL_FROM_DATABASE=82C204 -@@ -13143,7 +13143,7 @@ pci:v00001039d00000300* - ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter - - pci:v00001039d00000300sv0000107Dsd00002720* -- ID_MODEL_FROM_DATABASE=Leadtek WinFast VR300 -+ ID_MODEL_FROM_DATABASE=300/305 PCI/AGP VGA Display Adapter (Leadtek WinFast VR300) - - pci:v00001039d00000310* - ID_MODEL_FROM_DATABASE=315H PCI/AGP VGA Display Adapter -@@ -13239,7 +13239,7 @@ pci:v00001039d00000741* - ID_MODEL_FROM_DATABASE=741/741GX/M741 Host - - pci:v00001039d00000741sv00001849sd00000741* -- ID_MODEL_FROM_DATABASE=K7S41/K7S41GX motherboard -+ ID_MODEL_FROM_DATABASE=741/741GX/M741 Host (K7S41/K7S41GX motherboard) - - pci:v00001039d00000745* - ID_MODEL_FROM_DATABASE=745 Host -@@ -13257,25 +13257,25 @@ pci:v00001039d00000761* - ID_MODEL_FROM_DATABASE=761/M761 Host - - pci:v00001039d00000761sv00001734sd00001099* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=761/M761 Host (D2030-A1 Motherboard) - - pci:v00001039d00000900* - ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet - - pci:v00001039d00000900sv00001019sd00000A14* -- ID_MODEL_FROM_DATABASE=K7S5A motherboard -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (K7S5A motherboard) - - pci:v00001039d00000900sv00001039sd00000900* -- ID_MODEL_FROM_DATABASE=SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA] -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA]) - - pci:v00001039d00000900sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (CUSI-FX motherboard) - - pci:v00001039d00000900sv00001043sd000080A7* -- ID_MODEL_FROM_DATABASE=Motherboard P4S800D-X -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (Motherboard P4S800D-X) - - pci:v00001039d00000900sv00001462sd00000900* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=SiS900 PCI Fast Ethernet (MS-6701 motherboard) - - pci:v00001039d00000961* - ID_MODEL_FROM_DATABASE=SiS961 [MuTIOL Media IO] -@@ -13335,22 +13335,22 @@ pci:v00001039d00005513* - ID_MODEL_FROM_DATABASE=5513 IDE Controller - - pci:v00001039d00005513sv00001019sd00000970* -- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (P6STP-FL motherboard) - - pci:v00001039d00005513sv00001039sd00005513* -- ID_MODEL_FROM_DATABASE=SiS5513 EIDE Controller (A,B step) -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (SiS5513 EIDE Controller (A,B step)) - - pci:v00001039d00005513sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (CUSI-FX motherboard) - - pci:v00001039d00005513sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (MS-6701 motherboard) - - pci:v00001039d00005513sv00001631sd00005513* -- ID_MODEL_FROM_DATABASE=GA-8SIML Rev1.0 Motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (GA-8SIML Rev1.0 Motherboard) - - pci:v00001039d00005513sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=5513 IDE Controller (D2030-A1 Motherboard) - - pci:v00001039d00005517* - ID_MODEL_FROM_DATABASE=5517 -@@ -13389,13 +13389,13 @@ pci:v00001039d00006300* - ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter - - pci:v00001039d00006300sv00001019sd00000970* -- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard -+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (P6STP-FL motherboard) - - pci:v00001039d00006300sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (CUSI-FX motherboard) - - pci:v00001039d00006300sv0000104Dsd000080E2* -- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 -+ ID_MODEL_FROM_DATABASE=630/730 PCI/AGP VGA Display Adapter (VAIO PCV-J200) - - pci:v00001039d00006306* - ID_MODEL_FROM_DATABASE=530/620 PCI/AGP VGA Display Adapter -@@ -13404,49 +13404,49 @@ pci:v00001039d00006325* - ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter - - pci:v00001039d00006325sv00001039sd00006325* -- ID_MODEL_FROM_DATABASE=SiS 651 onboard [Asus P4SC-EA] -+ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651 onboard [Asus P4SC-EA]) - - pci:v00001039d00006325sv00001631sd00001004* -- ID_MODEL_FROM_DATABASE=SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] -+ ID_MODEL_FROM_DATABASE=65x/M650/740 PCI/AGP VGA Display Adapter (SiS 651C onboard [Gigabyte GA-8SIML Rev1.0]) - - pci:v00001039d00006326* - ID_MODEL_FROM_DATABASE=86C326 5598/6326 - - pci:v00001039d00006326sv00001039sd00006326* -- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) - - pci:v00001039d00006326sv00001092sd00000A50* -- ID_MODEL_FROM_DATABASE=SpeedStar A50 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A50) - - pci:v00001039d00006326sv00001092sd00000A70* -- ID_MODEL_FROM_DATABASE=SpeedStar A70 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) - - pci:v00001039d00006326sv00001092sd00004910* -- ID_MODEL_FROM_DATABASE=SpeedStar A70 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) - - pci:v00001039d00006326sv00001092sd00004920* -- ID_MODEL_FROM_DATABASE=SpeedStar A70 -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SpeedStar A70) - - pci:v00001039d00006326sv000010B0sd00006326* -- ID_MODEL_FROM_DATABASE=S6110-B (AGP) -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (S6110-B (AGP)) - - pci:v00001039d00006326sv00001569sd00006326* -- ID_MODEL_FROM_DATABASE=SiS6326 GUI Accelerator -+ ID_MODEL_FROM_DATABASE=86C326 5598/6326 (SiS6326 GUI Accelerator) - - pci:v00001039d00006330* - ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter - - pci:v00001039d00006330sv00001039sd00006330* -- ID_MODEL_FROM_DATABASE=[M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter ([M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter) - - pci:v00001039d00006330sv00001043sd00008113* -- ID_MODEL_FROM_DATABASE=SiS Real 256E (ASUS P5S800-VM motherboard) -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS Real 256E (ASUS P5S800-VM motherboard)) - - pci:v00001039d00006330sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=SiS661FX GUI 2D/3D Accelerator -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (SiS661FX GUI 2D/3D Accelerator) - - pci:v00001039d00006330sv00001734sd00001099* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter (D2030-A1) - - pci:v00001039d00006350* - ID_MODEL_FROM_DATABASE=770/670 PCIE VGA Display Adapter -@@ -13458,70 +13458,70 @@ pci:v00001039d00007001* - ID_MODEL_FROM_DATABASE=USB 1.1 Controller - - pci:v00001039d00007001sv00001019sd00000A14* -- ID_MODEL_FROM_DATABASE=K7S5A motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (K7S5A motherboard) - - pci:v00001039d00007001sv00001039sd00007000* -- ID_MODEL_FROM_DATABASE=Onboard USB Controller -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Onboard USB Controller) - - pci:v00001039d00007001sv00001462sd00005470* -- ID_MODEL_FROM_DATABASE=ECS K7SOM+ motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ECS K7SOM+ motherboard) - - pci:v00001039d00007001sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (MS-6701 motherboard) - - pci:v00001039d00007001sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (D2030-A1 Motherboard) - - pci:v00001039d00007002* - ID_MODEL_FROM_DATABASE=USB 2.0 Controller - - pci:v00001039d00007002sv00001462sd00005470* -- ID_MODEL_FROM_DATABASE=K7SOM+ 5.2C Motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (K7SOM+ 5.2C Motherboard) - - pci:v00001039d00007002sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (MS-6701 motherboard) - - pci:v00001039d00007002sv00001509sd00007002* -- ID_MODEL_FROM_DATABASE=Onboard USB Controller -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (Onboard USB Controller) - - pci:v00001039d00007002sv00001734sd00001095* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (D2030-A1) - - pci:v00001039d00007007* - ID_MODEL_FROM_DATABASE=FireWire Controller - - pci:v00001039d00007007sv00001462sd0000701D* -- ID_MODEL_FROM_DATABASE=MS-6701 -+ ID_MODEL_FROM_DATABASE=FireWire Controller (MS-6701) - - pci:v00001039d00007012* - ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller - - pci:v00001039d00007012sv00001019sd00000F05* -- ID_MODEL_FROM_DATABASE=A928 (i-Buddie) -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A928 (i-Buddie)) - - pci:v00001039d00007012sv00001039sd00007012* -- ID_MODEL_FROM_DATABASE=SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller) - - pci:v00001039d00007012sv00001043sd0000818F* -- ID_MODEL_FROM_DATABASE=A8S-X Motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (A8S-X Motherboard) - - pci:v00001039d00007012sv000013F6sd00000300* -- ID_MODEL_FROM_DATABASE=CMI9739(A) on ECS K7SOM+ motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (CMI9739(A) on ECS K7SOM+ motherboard) - - pci:v00001039d00007012sv00001462sd00005850* -- ID_MODEL_FROM_DATABASE=MSI 648 Max (MS-6585) -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MSI 648 Max (MS-6585)) - - pci:v00001039d00007012sv00001462sd00007010* -- ID_MODEL_FROM_DATABASE=MS-6701 motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (MS-6701 motherboard) - - pci:v00001039d00007012sv000015BDsd00001001* -- ID_MODEL_FROM_DATABASE=DFI 661FX motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (DFI 661FX motherboard) - - pci:v00001039d00007012sv00001734sd0000109F* -- ID_MODEL_FROM_DATABASE=D2030-A1 Motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (D2030-A1 Motherboard) - - pci:v00001039d00007012sv00001849sd00007012* -- ID_MODEL_FROM_DATABASE=K7S41GX motherboard -+ ID_MODEL_FROM_DATABASE=SiS7012 AC'97 Sound Controller (K7S41GX motherboard) - - pci:v00001039d00007013* - ID_MODEL_FROM_DATABASE=AC'97 Modem Controller -@@ -13530,7 +13530,7 @@ pci:v00001039d00007016* - ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter - - pci:v00001039d00007016sv00001039sd00007016* -- ID_MODEL_FROM_DATABASE=SiS7016 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SiS7016 PCI Fast Ethernet Adapter (SiS7016 10/100 Ethernet Adapter) - - pci:v00001039d00007018* - ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator -@@ -13560,7 +13560,7 @@ pci:v00001039d00007018sv00001043sd0000800B* - ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator - - pci:v00001039d00007018sv0000104Dsd000080E2* -- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 -+ ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator (VAIO PCV-J200) - - pci:v00001039d00007018sv00001054sd00007018* - ID_MODEL_FROM_DATABASE=SiS PCI Audio Accelerator -@@ -13635,25 +13635,25 @@ pci:v0000103Cd00001029* - ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter - - pci:v0000103Cd00001029sv0000107Esd0000000F* -- ID_MODEL_FROM_DATABASE=Interphase 5560 Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (Interphase 5560 Fibre Channel Adapter) - - pci:v0000103Cd00001029sv00009004sd00009210* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd00001029sv00009004sd00009211* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach XL2 Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd0000102A* - ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter - - pci:v0000103Cd0000102Asv0000107Esd0000000E* -- ID_MODEL_FROM_DATABASE=Interphase 5540/5541 Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (Interphase 5540/5541 Fibre Channel Adapter) - - pci:v0000103Cd0000102Asv00009004sd00009110* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd0000102Asv00009004sd00009111* -- ID_MODEL_FROM_DATABASE=1Gb/2Gb Family Fibre Channel Controller -+ ID_MODEL_FROM_DATABASE=Tach TS Fibre Channel Host Adapter (1Gb/2Gb Family Fibre Channel Controller) - - pci:v0000103Cd00001030* - ID_MODEL_FROM_DATABASE=J2585A DeskDirect 10/100VG NIC -@@ -13662,13 +13662,13 @@ pci:v0000103Cd00001031* - ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter - - pci:v0000103Cd00001031sv0000103Csd00001040* -- ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC -+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2973A DeskDirect 10BaseT NIC) - - pci:v0000103Cd00001031sv0000103Csd00001041* -- ID_MODEL_FROM_DATABASE=J2585B DeskDirect 10/100VG NIC -+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2585B DeskDirect 10/100VG NIC) - - pci:v0000103Cd00001031sv0000103Csd00001042* -- ID_MODEL_FROM_DATABASE=J2970A DeskDirect 10BaseT/2 NIC -+ ID_MODEL_FROM_DATABASE=J2585B HP 10/100VG PCI LAN Adapter (J2970A DeskDirect 10BaseT/2 NIC) - - pci:v0000103Cd00001040* - ID_MODEL_FROM_DATABASE=J2973A DeskDirect 10BaseT NIC -@@ -13683,28 +13683,28 @@ pci:v0000103Cd00001048* - ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART - - pci:v0000103Cd00001048sv0000103Csd00001049* -- ID_MODEL_FROM_DATABASE=Tosca Console -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Console) - - pci:v0000103Cd00001048sv0000103Csd0000104A* -- ID_MODEL_FROM_DATABASE=Tosca Secondary -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Tosca Secondary) - - pci:v0000103Cd00001048sv0000103Csd0000104B* -- ID_MODEL_FROM_DATABASE=Maestro SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Maestro SP2) - - pci:v0000103Cd00001048sv0000103Csd00001223* -- ID_MODEL_FROM_DATABASE=Superdome Console -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Superdome Console) - - pci:v0000103Cd00001048sv0000103Csd00001226* -- ID_MODEL_FROM_DATABASE=Keystone SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Keystone SP2) - - pci:v0000103Cd00001048sv0000103Csd00001227* -- ID_MODEL_FROM_DATABASE=Powerbar SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Powerbar SP2) - - pci:v0000103Cd00001048sv0000103Csd00001282* -- ID_MODEL_FROM_DATABASE=Everest SP2 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Everest SP2) - - pci:v0000103Cd00001048sv0000103Csd00001301* -- ID_MODEL_FROM_DATABASE=Diva RMP3 -+ ID_MODEL_FROM_DATABASE=Diva Serial [GSP] Multiport UART (Diva RMP3) - - pci:v0000103Cd00001054* - ID_MODEL_FROM_DATABASE=PCI Local Bus Adapter -@@ -13758,7 +13758,7 @@ pci:v0000103Cd00001290* - ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port - - pci:v0000103Cd00001290sv0000103Csd00001291* -- ID_MODEL_FROM_DATABASE=Diva SP2 -+ ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port (Diva SP2) - - pci:v0000103Cd00001291* - ID_MODEL_FROM_DATABASE=Auxiliary Diva Serial Port -@@ -13794,208 +13794,208 @@ pci:v0000103Cd00003220* - ID_MODEL_FROM_DATABASE=Smart Array P600 - - pci:v0000103Cd00003220sv0000103Csd00003225* -- ID_MODEL_FROM_DATABASE=3 Gb/s SAS RAID -+ ID_MODEL_FROM_DATABASE=Smart Array P600 (3 Gb/s SAS RAID) - - pci:v0000103Cd00003230* - ID_MODEL_FROM_DATABASE=Smart Array Controller - - pci:v0000103Cd00003230sv0000103Csd00003223* -- ID_MODEL_FROM_DATABASE=Smart Array P800 -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (Smart Array P800) - - pci:v0000103Cd00003230sv0000103Csd00003234* -- ID_MODEL_FROM_DATABASE=P400 SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400 SAS Controller) - - pci:v0000103Cd00003230sv0000103Csd00003235* -- ID_MODEL_FROM_DATABASE=P400i SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (P400i SAS Controller) - - pci:v0000103Cd00003230sv0000103Csd00003237* -- ID_MODEL_FROM_DATABASE=E500 SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (E500 SAS Controller) - - pci:v0000103Cd00003230sv0000103Csd0000323D* -- ID_MODEL_FROM_DATABASE=P700m SAS Controller -+ ID_MODEL_FROM_DATABASE=Smart Array Controller (P700m SAS Controller) - - pci:v0000103Cd00003238* - ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) - - pci:v0000103Cd00003238sv0000103Csd00003211* -- ID_MODEL_FROM_DATABASE=Smart Array E200i -+ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200i) - - pci:v0000103Cd00003238sv0000103Csd00003212* -- ID_MODEL_FROM_DATABASE=Smart Array E200 -+ ID_MODEL_FROM_DATABASE=Smart Array E200i (SAS Controller) (Smart Array E200) - - pci:v0000103Cd00003239* - ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers - - pci:v0000103Cd00003239sv0000103Csd000021BD* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021BE* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021BF* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C0* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C1* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C2* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C3* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C4* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C5* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C6* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C7* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C8* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021C9* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CA* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CB* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CC* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CD* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd00003239sv0000103Csd000021CE* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen9 Controllers (Smart Array) - - pci:v0000103Cd0000323A* - ID_MODEL_FROM_DATABASE=Smart Array G6 controllers - - pci:v0000103Cd0000323Asv0000103Csd00003241* -- ID_MODEL_FROM_DATABASE=Smart Array P212 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P212) - - pci:v0000103Cd0000323Asv0000103Csd00003243* -- ID_MODEL_FROM_DATABASE=Smart Array P410 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410) - - pci:v0000103Cd0000323Asv0000103Csd00003245* -- ID_MODEL_FROM_DATABASE=Smart Array P410i -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P410i) - - pci:v0000103Cd0000323Asv0000103Csd00003247* -- ID_MODEL_FROM_DATABASE=Smart Array P411 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P411) - - pci:v0000103Cd0000323Asv0000103Csd00003249* -- ID_MODEL_FROM_DATABASE=Smart Array P812 -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P812) - - pci:v0000103Cd0000323Asv0000103Csd0000324A* -- ID_MODEL_FROM_DATABASE=HP Smart Array 712m (Mezzanine RAID controller) -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (HP Smart Array 712m (Mezzanine RAID controller)) - - pci:v0000103Cd0000323Asv0000103Csd0000324B* -- ID_MODEL_FROM_DATABASE=Smart Array P711m (Mezzanine RAID controller) -+ ID_MODEL_FROM_DATABASE=Smart Array G6 controllers (Smart Array P711m (Mezzanine RAID controller)) - - pci:v0000103Cd0000323B* - ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers - - pci:v0000103Cd0000323Bsv0000103Csd00003350* -- ID_MODEL_FROM_DATABASE=P222 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P222) - - pci:v0000103Cd0000323Bsv0000103Csd00003351* -- ID_MODEL_FROM_DATABASE=P420 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420) - - pci:v0000103Cd0000323Bsv0000103Csd00003352* -- ID_MODEL_FROM_DATABASE=P421 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P421) - - pci:v0000103Cd0000323Bsv0000103Csd00003354* -- ID_MODEL_FROM_DATABASE=P420i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P420i) - - pci:v0000103Cd0000323Bsv0000103Csd00003355* -- ID_MODEL_FROM_DATABASE=P220i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8 Controllers (P220i) - - pci:v0000103Cd0000323C* - ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers - - pci:v0000103Cd0000323Csv0000103Csd00001920* -- ID_MODEL_FROM_DATABASE=P430i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430i) - - pci:v0000103Cd0000323Csv0000103Csd00001921* -- ID_MODEL_FROM_DATABASE=P830i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830i) - - pci:v0000103Cd0000323Csv0000103Csd00001922* -- ID_MODEL_FROM_DATABASE=P430 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P430) - - pci:v0000103Cd0000323Csv0000103Csd00001923* -- ID_MODEL_FROM_DATABASE=P431 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P431) - - pci:v0000103Cd0000323Csv0000103Csd00001924* -- ID_MODEL_FROM_DATABASE=P830 -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P830) - - pci:v0000103Cd0000323Csv0000103Csd00001925* -- ID_MODEL_FROM_DATABASE=Smart Array -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (Smart Array) - - pci:v0000103Cd0000323Csv0000103Csd00001926* -- ID_MODEL_FROM_DATABASE=P731m -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P731m) - - pci:v0000103Cd0000323Csv0000103Csd00001928* -- ID_MODEL_FROM_DATABASE=P230i -+ ID_MODEL_FROM_DATABASE=Smart Array Gen8+ Controllers (P230i) - - pci:v0000103Cd00003300* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller - - pci:v0000103Cd00003300sv0000103Csd00003304* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) - - pci:v0000103Cd00003300sv0000103Csd00003305* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2) - - pci:v0000103Cd00003300sv0000103Csd00003309* -- ID_MODEL_FROM_DATABASE=iLO2 GXL/iLO3 GXE -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO2 GXL/iLO3 GXE) - - pci:v0000103Cd00003300sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO3) - - pci:v0000103Cd00003300sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Virtual USB Controller (iLO4) - - pci:v0000103Cd00003301* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port - - pci:v0000103Cd00003301sv0000103Csd00003304* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) - - pci:v0000103Cd00003301sv0000103Csd00003305* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO2) - - pci:v0000103Cd00003301sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO3) - - pci:v0000103Cd00003301sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Serial Port (iLO4) - - pci:v0000103Cd00003302* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface - - pci:v0000103Cd00003302sv0000103Csd00003304* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) - - pci:v0000103Cd00003302sv0000103Csd00003305* -- ID_MODEL_FROM_DATABASE=iLO2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO2) - - pci:v0000103Cd00003302sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO3) - - pci:v0000103Cd00003302sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard KCS Interface (iLO4) - - pci:v0000103Cd00003305* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out (iLO2) Controller -@@ -14004,31 +14004,31 @@ pci:v0000103Cd00003306* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support - - pci:v0000103Cd00003306sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO3) - - pci:v0000103Cd00003306sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Slave Instrumentation & System Support (iLO4) - - pci:v0000103Cd00003307* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging - - pci:v0000103Cd00003307sv0000103Csd00003309* -- ID_MODEL_FROM_DATABASE=iLO 2 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO 2) - - pci:v0000103Cd00003307sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO3) - - pci:v0000103Cd00003307sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard Management Processor Support and Messaging (iLO4) - - pci:v0000103Cd00003308* - ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer - - pci:v0000103Cd00003308sv0000103Csd0000330E* -- ID_MODEL_FROM_DATABASE=iLO3 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO3) - - pci:v0000103Cd00003308sv0000103Csd00003381* -- ID_MODEL_FROM_DATABASE=iLO4 -+ ID_MODEL_FROM_DATABASE=Integrated Lights-Out Standard MS Watchdog Timer (iLO4) - - pci:v0000103Cd0000402F* - ID_MODEL_FROM_DATABASE=PCIe Root Port -@@ -14082,19 +14082,19 @@ pci:v00001043d00000675* - ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D - - pci:v00001043d00000675sv00000675sd00001704* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) -+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, D, C)) - - pci:v00001043d00000675sv00000675sd00001707* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001043d00000675sv000010CFsd0000105E* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001043d00009602* - ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) - - pci:v00001043d00009602sv00001043sd000083A2* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx) (M4A785TD Motherboard) - - pci:v00001044* - ID_VENDOR_FROM_DATABASE=Adaptec (formerly DPT) -@@ -14112,118 +14112,118 @@ pci:v00001044d0000A501* - ID_MODEL_FROM_DATABASE=SmartRAID V Controller - - pci:v00001044d0000A501sv00001044sd0000C001* -- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C002* -- ID_MODEL_FROM_DATABASE=PM1654U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1654U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C003* -- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C004* -- ID_MODEL_FROM_DATABASE=PM1564U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1564U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C005* -- ID_MODEL_FROM_DATABASE=PM1554U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM1554U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C00A* -- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C00B* -- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C00C* -- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C00D* -- ID_MODEL_FROM_DATABASE=PM2664U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2664U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C00E* -- ID_MODEL_FROM_DATABASE=PM2554U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2554U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C00F* -- ID_MODEL_FROM_DATABASE=PM2654U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2654U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C014* -- ID_MODEL_FROM_DATABASE=PM3754U2 Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3754U2 Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C015* -- ID_MODEL_FROM_DATABASE=PM3755U2B Ultra2 Single Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755U2B Ultra2 Single Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C016* -- ID_MODEL_FROM_DATABASE=PM3755F Fibre Channel (NON ACPI) -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3755F Fibre Channel (NON ACPI)) - - pci:v00001044d0000A501sv00001044sd0000C01E* -- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C01F* -- ID_MODEL_FROM_DATABASE=PM3757U2 Ultra2 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3757U2 Ultra2 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C020* -- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C021* -- ID_MODEL_FROM_DATABASE=PM3767U3 Ultra3 Quad Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM3767U3 Ultra3 Quad Channel) - - pci:v00001044d0000A501sv00001044sd0000C028* -- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C029* -- ID_MODEL_FROM_DATABASE=PM2865U3 Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865U3 Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C02A* -- ID_MODEL_FROM_DATABASE=PM2865F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (PM2865F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C03C* -- ID_MODEL_FROM_DATABASE=2000S Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C03D* -- ID_MODEL_FROM_DATABASE=2000S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C03E* -- ID_MODEL_FROM_DATABASE=2000F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2000F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C046* -- ID_MODEL_FROM_DATABASE=3000S Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C047* -- ID_MODEL_FROM_DATABASE=3000S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C048* -- ID_MODEL_FROM_DATABASE=3000F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3000F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C050* -- ID_MODEL_FROM_DATABASE=5000S Ultra3 Single Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Single Channel) - - pci:v00001044d0000A501sv00001044sd0000C051* -- ID_MODEL_FROM_DATABASE=5000S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C052* -- ID_MODEL_FROM_DATABASE=5000F Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (5000F Fibre Channel) - - pci:v00001044d0000A501sv00001044sd0000C05A* -- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel) - - pci:v00001044d0000A501sv00001044sd0000C05B* -- ID_MODEL_FROM_DATABASE=2400A UDMA Four Channel DAC -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (2400A UDMA Four Channel DAC) - - pci:v00001044d0000A501sv00001044sd0000C064* -- ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Ultra3 Dual Channel) - - pci:v00001044d0000A501sv00001044sd0000C065* -- ID_MODEL_FROM_DATABASE=3410S Ultra160 Four Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3410S Ultra160 Four Channel) - - pci:v00001044d0000A501sv00001044sd0000C066* -- ID_MODEL_FROM_DATABASE=3010S Fibre Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (3010S Fibre Channel) - - pci:v00001044d0000A511* - ID_MODEL_FROM_DATABASE=SmartRAID V Controller - - pci:v00001044d0000A511sv00001044sd0000C032* -- ID_MODEL_FROM_DATABASE=ASR-2005S I2O Zero Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2005S I2O Zero Channel) - - pci:v00001044d0000A511sv00001044sd0000C035* -- ID_MODEL_FROM_DATABASE=ASR-2010S I2O Zero Channel -+ ID_MODEL_FROM_DATABASE=SmartRAID V Controller (ASR-2010S I2O Zero Channel) - - pci:v00001044d0000C066* - ID_MODEL_FROM_DATABASE=3010S Ultra3 Dual Channel -@@ -14325,7 +14325,7 @@ pci:v00001048d00008901* - ID_MODEL_FROM_DATABASE=Gloria XL - - pci:v00001048d00008901sv00001048sd00000935* -- ID_MODEL_FROM_DATABASE=GLoria XL (Virge) -+ ID_MODEL_FROM_DATABASE=Gloria XL (GLoria XL (Virge)) - - pci:v00001049* - ID_VENDOR_FROM_DATABASE=Fountain Technologies, Inc. -@@ -14346,19 +14346,19 @@ pci:v0000104Ad00000010* - ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] - - pci:v0000104Ad00000010sv0000104Asd00004018* -- ID_MODEL_FROM_DATABASE=ST PowerVR Kyro (64MB AGP TVO) -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (ST PowerVR Kyro (64MB AGP TVO)) - - pci:v0000104Ad00000010sv00001681sd00000010* -- ID_MODEL_FROM_DATABASE=PowerVR Kyro II [3D Prophet 4500] -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (PowerVR Kyro II [3D Prophet 4500]) - - pci:v0000104Ad00000010sv00001681sd00000028* -- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) - - pci:v0000104Ad00000010sv00001681sd0000C010* -- ID_MODEL_FROM_DATABASE=3D Prophet 4500 TV-Out -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4500 TV-Out) - - pci:v0000104Ad00000010sv00001681sd0000C069* -- ID_MODEL_FROM_DATABASE=3D Prophet 4000XT -+ ID_MODEL_FROM_DATABASE=STG4000 [3D Prophet Kyro Series] (3D Prophet 4000XT) - - pci:v0000104Ad00000201* - ID_MODEL_FROM_DATABASE=STPC Vega Northbridge -@@ -14400,7 +14400,7 @@ pci:v0000104Ad00000500* - ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver - - pci:v0000104Ad00000500sv0000104Asd00000500* -- ID_MODEL_FROM_DATABASE=BeWAN ADSL PCI st -+ ID_MODEL_FROM_DATABASE=ST70137 [Unicorn] ADSL DMT Transceiver (BeWAN ADSL PCI st) - - pci:v0000104Ad00000564* - ID_MODEL_FROM_DATABASE=STPC Client Northbridge -@@ -14454,115 +14454,115 @@ pci:v0000104Cd00003D07* - ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] - - pci:v0000104Cd00003D07sv00001011sd00004D10* -- ID_MODEL_FROM_DATABASE=Comet -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Comet) - - pci:v0000104Cd00003D07sv00001040sd0000000F* -- ID_MODEL_FROM_DATABASE=AccelStar II -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) - - pci:v0000104Cd00003D07sv00001040sd00000011* -- ID_MODEL_FROM_DATABASE=AccelStar II -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (AccelStar II) - - pci:v0000104Cd00003D07sv00001048sd00000A31* -- ID_MODEL_FROM_DATABASE=WINNER 2000 -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WINNER 2000) - - pci:v0000104Cd00003D07sv00001048sd00000A32* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A34* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A35* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A36* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A43* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv00001048sd00000A44* -- ID_MODEL_FROM_DATABASE=GLoria Synergy -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (GLoria Synergy) - - pci:v0000104Cd00003D07sv0000107Dsd00002633* -- ID_MODEL_FROM_DATABASE=WinFast 3D L2300 -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (WinFast 3D L2300) - - pci:v0000104Cd00003D07sv00001092sd00000126* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000127* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000136* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000141* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000146* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000148* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000149* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000152* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000154* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000155* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000156* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001092sd00000157* -- ID_MODEL_FROM_DATABASE=FIRE GL 1000 PRO -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (FIRE GL 1000 PRO) - - pci:v0000104Cd00003D07sv00001097sd00003D01* -- ID_MODEL_FROM_DATABASE=Jeronimo Pro -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Jeronimo Pro) - - pci:v0000104Cd00003D07sv00001102sd0000100F* -- ID_MODEL_FROM_DATABASE=Graphics Blaster Extreme -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Graphics Blaster Extreme) - - pci:v0000104Cd00003D07sv00003D3Dsd00000100* -- ID_MODEL_FROM_DATABASE=Reference Permedia 2 3D -+ ID_MODEL_FROM_DATABASE=TVP4020 [Permedia 2] (Reference Permedia 2 3D) - - pci:v0000104Cd00008000* - ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller - - pci:v0000104Cd00008000sv0000105Esd00008003* -- ID_MODEL_FROM_DATABASE=FireBoard200 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) - - pci:v0000104Cd00008000sv00001443sd00008003* -- ID_MODEL_FROM_DATABASE=FireBoard200 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard200) - - pci:v0000104Cd00008000sv00001443sd00008005* -- ID_MODEL_FROM_DATABASE=FireBoard400 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) - - pci:v0000104Cd00008000sv00001443sd00008006* -- ID_MODEL_FROM_DATABASE=FireBoard400 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireBoard400) - - pci:v0000104Cd00008000sv0000E4BFsd00001010* -- ID_MODEL_FROM_DATABASE=CF1-1-SNARE -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-1-SNARE) - - pci:v0000104Cd00008000sv0000E4BFsd00001020* -- ID_MODEL_FROM_DATABASE=CF1-2-SNARE -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (CF1-2-SNARE) - - pci:v0000104Cd00008000sv0000E4BFsd00001040* -- ID_MODEL_FROM_DATABASE=FireCompact400 -+ ID_MODEL_FROM_DATABASE=PCILynx/PCILynx2 IEEE 1394 Link Layer Controller (FireCompact400) - - pci:v0000104Cd00008009* - ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller - - pci:v0000104Cd00008009sv0000104Dsd00008032* -- ID_MODEL_FROM_DATABASE=8032 OHCI i.LINK (IEEE 1394) Controller -+ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (8032 OHCI i.LINK (IEEE 1394) Controller) - - pci:v0000104Cd00008009sv00001443sd00008010* -- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI -+ ID_MODEL_FROM_DATABASE=TSB12LV22 IEEE-1394 Controller (FireBoard400-OHCI) - - pci:v0000104Cd00008017* - ID_MODEL_FROM_DATABASE=PCI4410 FireWire Controller -@@ -14571,223 +14571,223 @@ pci:v0000104Cd00008019* - ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller - - pci:v0000104Cd00008019sv000011BDsd0000000A* -- ID_MODEL_FROM_DATABASE=Studio DV500-1394 -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV500-1394) - - pci:v0000104Cd00008019sv000011BDsd0000000E* -- ID_MODEL_FROM_DATABASE=Studio DV -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (Studio DV) - - pci:v0000104Cd00008019sv00001443sd00008010* -- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (FireBoard400-OHCI) - - pci:v0000104Cd00008019sv0000E4BFsd00001010* -- ID_MODEL_FROM_DATABASE=CF2-1-CYMBAL -+ ID_MODEL_FROM_DATABASE=TSB12LV23 IEEE-1394 Controller (CF2-1-CYMBAL) - - pci:v0000104Cd00008020* - ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) - - pci:v0000104Cd00008020sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Precision 530) - - pci:v0000104Cd00008020sv0000104Dsd000080E2* -- ID_MODEL_FROM_DATABASE=VAIO PCV-J200 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (VAIO PCV-J200) - - pci:v0000104Cd00008020sv000011BDsd0000000F* -- ID_MODEL_FROM_DATABASE=Studio DV500-1394 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Studio DV500-1394) - - pci:v0000104Cd00008020sv000011BDsd0000001C* -- ID_MODEL_FROM_DATABASE=Excalibur 4.1 -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (Excalibur 4.1) - - pci:v0000104Cd00008020sv00001443sd00008010* -- ID_MODEL_FROM_DATABASE=FireBoard400-OHCI -+ ID_MODEL_FROM_DATABASE=TSB12LV26 IEEE-1394 Controller (Link) (FireBoard400-OHCI) - - pci:v0000104Cd00008021* - ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) - - pci:v0000104Cd00008021sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (Vaio PCG-FX403) - - pci:v0000104Cd00008021sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v0000104Cd00008022* - ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] - - pci:v0000104Cd00008022sv0000104Csd00008023* -- ID_MODEL_FROM_DATABASE=TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) -+ ID_MODEL_FROM_DATABASE=TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)) - - pci:v0000104Cd00008023* - ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] - - pci:v0000104Cd00008023sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Precision Workstation 670 Mainboard) - - pci:v0000104Cd00008023sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (NC8000 laptop) - - pci:v0000104Cd00008023sv00001043sd0000808B* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (K8N4/A8N Series Mainboard) - - pci:v0000104Cd00008023sv00001043sd0000815B* -- ID_MODEL_FROM_DATABASE=P5W DH Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (P5W DH Deluxe Motherboard) - - pci:v0000104Cd00008023sv00001443sd00008023* -- ID_MODEL_FROM_DATABASE=FireCard400 -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (FireCard400) - - pci:v0000104Cd00008023sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (Desktop Board DP35DP) - - pci:v0000104Cd00008024* - ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) - - pci:v0000104Cd00008024sv0000107Dsd00006620* -- ID_MODEL_FROM_DATABASE=Winfast DV2000 FireWire Controller -+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Winfast DV2000 FireWire Controller) - - pci:v0000104Cd00008024sv00001443sd00008024* -- ID_MODEL_FROM_DATABASE=FireBoard Blue -+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (FireBoard Blue) - - pci:v0000104Cd00008024sv00001458sd00001000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (Motherboard) - - pci:v0000104Cd00008025* - ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller - - pci:v0000104Cd00008025sv00001043sd0000813C* -- ID_MODEL_FROM_DATABASE=P5P series mainboard -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (P5P series mainboard) - - pci:v0000104Cd00008025sv00001443sd00008025* -- ID_MODEL_FROM_DATABASE=FireBoard800 -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FireBoard800) - - pci:v0000104Cd00008025sv00001458sd00001000* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GA-K8N Ultra-9 Mainboard) - - pci:v0000104Cd00008025sv00001546sd00008025* -- ID_MODEL_FROM_DATABASE=FWB-PCI01 -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (FWB-PCI01) - - pci:v0000104Cd00008025sv000017FCsd00008025* -- ID_MODEL_FROM_DATABASE=GIC3800 -+ ID_MODEL_FROM_DATABASE=TSB82AA2 IEEE-1394b Link Layer Controller (GIC3800) - - pci:v0000104Cd00008026* - ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) - - pci:v0000104Cd00008026sv00001025sd00000035* -- ID_MODEL_FROM_DATABASE=TravelMate 660 -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (TravelMate 660) - - pci:v0000104Cd00008026sv00001025sd0000003C* -- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compaq CL50 motherboard) -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (Aspire 2001WLCi (Compaq CL50 motherboard)) - - pci:v0000104Cd00008026sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (XE4500 Notebook) - - pci:v0000104Cd00008026sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (NX9500) - - pci:v0000104Cd00008026sv00001043sd0000808D* -- ID_MODEL_FROM_DATABASE=A7V333 mainboard. -+ ID_MODEL_FROM_DATABASE=TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) (A7V333 mainboard.) - - pci:v0000104Cd00008027* - ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller - - pci:v0000104Cd00008027sv00001028sd000000E5* -- ID_MODEL_FROM_DATABASE=Latitude C810 -+ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Latitude C810) - - pci:v0000104Cd00008027sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=PCI4451 IEEE-1394 Controller ((Dell Inspiron 8100)) - - pci:v0000104Cd00008029* - ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller - - pci:v0000104Cd00008029sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Latitude D505) - - pci:v0000104Cd00008029sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (Inspiron 5160) - - pci:v0000104Cd00008029sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2900 -+ ID_MODEL_FROM_DATABASE=PCI4510 IEEE-1394 Controller (MIM2900) - - pci:v0000104Cd0000802B* - ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller - - pci:v0000104Cd0000802Bsv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D400) - - pci:v0000104Cd0000802Bsv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) -+ ID_MODEL_FROM_DATABASE=PCI7410,7510,7610 OHCI-Lynx Controller ((Latitude D800)) - - pci:v0000104Cd0000802E* - ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller - - pci:v0000104Cd0000802Esv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller (Inspiron 700m/710m) - - pci:v0000104Cd00008031* - ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller - - pci:v0000104Cd00008031sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008031sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008031sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (NX6110/NC6120) - - pci:v0000104Cd00008031sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=PCIxx21/x515 Cardbus Controller (MX6125) - - pci:v0000104Cd00008032* - ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller - - pci:v0000104Cd00008032sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008032sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008032sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (NX6110/NC6120) - - pci:v0000104Cd00008032sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=OHCI Compliant IEEE 1394 Host Controller (MX6125) - - pci:v0000104Cd00008033* - ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller - - pci:v0000104Cd00008033sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008033sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008033sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (NX6110/NC6120) - - pci:v0000104Cd00008033sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=PCIxx21 Integrated FlashMedia Controller (MX6125) - - pci:v0000104Cd00008034* - ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller - - pci:v0000104Cd00008034sv00001025sd00000080* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Aspire 5024WLMi) - - pci:v0000104Cd00008034sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008034sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (NX6110/NC6120) - - pci:v0000104Cd00008034sv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller (MX6125) - - pci:v0000104Cd00008035* - ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller - - pci:v0000104Cd00008035sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (Compaq nw8240/nx8220) - - pci:v0000104Cd00008035sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller (NX6110/NC6120) - - pci:v0000104Cd00008036* - ID_MODEL_FROM_DATABASE=PCI6515 Cardbus Controller -@@ -14799,67 +14799,67 @@ pci:v0000104Cd00008039* - ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller - - pci:v0000104Cd00008039sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nx9420 Notebook) - - pci:v0000104Cd00008039sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (NC2400) - - pci:v0000104Cd00008039sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (Compaq nw8440) - - pci:v0000104Cd00008039sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=PCIxx12 Cardbus Controller (VAIO VGN-NR120E) - - pci:v0000104Cd0000803A* - ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller - - pci:v0000104Cd0000803Asv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=nx9420 -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (nx9420) - - pci:v0000104Cd0000803Asv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (NC2400) - - pci:v0000104Cd0000803Asv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (Compaq nw8440) - - pci:v0000104Cd0000803Asv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=PCIxx12 OHCI Compliant IEEE 1394 Host Controller (VAIO VGN-NR120E) - - pci:v0000104Cd0000803B* - ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) - - pci:v0000104Cd0000803Bsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=nx9420 -+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (nx9420) - - pci:v0000104Cd0000803Bsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (Compaq nw8440) - - pci:v0000104Cd0000803Bsv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) (VAIO VGN-NR120E) - - pci:v0000104Cd0000803C* - ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller - - pci:v0000104Cd0000803Csv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=nx9420 -+ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (nx9420) - - pci:v0000104Cd0000803Csv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=PCIxx12 SDA Standard Compliant SD Host Controller (Compaq nw8440) - - pci:v0000104Cd0000803D* - ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller - - pci:v0000104Cd0000803Dsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (Compaq nx9420 Notebook) - - pci:v0000104Cd0000803Dsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (NC2400) - - pci:v0000104Cd0000803Dsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=nc8430 -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc8430) - - pci:v0000104Cd0000803Dsv0000103Csd000030AA* -- ID_MODEL_FROM_DATABASE=nc6310 -+ ID_MODEL_FROM_DATABASE=PCIxx12 GemCore based SmartCard controller (nc6310) - - pci:v0000104Cd00008101* - ID_MODEL_FROM_DATABASE=TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) -@@ -14871,16 +14871,16 @@ pci:v0000104Cd00008204* - ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function - - pci:v0000104Cd00008204sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D400) - - pci:v0000104Cd00008204sv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=Latitude D800 -+ ID_MODEL_FROM_DATABASE=PCI7410/7510/7610 PCI Firmware Loading Function (Latitude D800) - - pci:v0000104Cd00008231* - ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge - - pci:v0000104Cd00008231sv00005678sd00001234* -- ID_MODEL_FROM_DATABASE=DC-1394 PCIe -+ ID_MODEL_FROM_DATABASE=XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge (DC-1394 PCIe) - - pci:v0000104Cd00008232* - ID_MODEL_FROM_DATABASE=XIO3130 PCI Express Switch (Upstream) -@@ -14892,7 +14892,7 @@ pci:v0000104Cd00008235* - ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) - - pci:v0000104Cd00008235sv00005678sd00001234* -- ID_MODEL_FROM_DATABASE=DC-1394 PCIe -+ ID_MODEL_FROM_DATABASE=XIO2200A IEEE-1394a-2000 Controller (PHY/Link) (DC-1394 PCIe) - - pci:v0000104Cd0000823E* - ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] -@@ -14901,7 +14901,7 @@ pci:v0000104Cd0000823F* - ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] - - pci:v0000104Cd0000823Fsv00001546sd0000803C* -- ID_MODEL_FROM_DATABASE=FWB-PCIE1X11B -+ ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (FWB-PCIE1X11B) - - pci:v0000104Cd00008240* - ID_MODEL_FROM_DATABASE=XIO2001 PCI Express-to-PCI Bridge -@@ -14913,16 +14913,16 @@ pci:v0000104Cd00008400* - ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface - - pci:v0000104Cd00008400sv00001186sd00003B00* -- ID_MODEL_FROM_DATABASE=DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus]) - - pci:v0000104Cd00008400sv00001186sd00003B01* -- ID_MODEL_FROM_DATABASE=DWL-520+ 22Mbps PCI Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (DWL-520+ 22Mbps PCI Wireless Adapter) - - pci:v0000104Cd00008400sv00001395sd00002201* -- ID_MODEL_FROM_DATABASE=WL22-PC -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL22-PC) - - pci:v0000104Cd00008400sv000016ABsd00008501* -- ID_MODEL_FROM_DATABASE=WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface (WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter) - - pci:v0000104Cd00008401* - ID_MODEL_FROM_DATABASE=ACX 100 22Mbps Wireless Interface -@@ -14937,58 +14937,58 @@ pci:v0000104Cd00009066* - ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface - - pci:v0000104Cd00009066sv00000308sd00003404* -- ID_MODEL_FROM_DATABASE=G-102 v1 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-102 v1 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv00000308sd00003406* -- ID_MODEL_FROM_DATABASE=G-162 v2 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v2 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv0000104Csd00009066* -- ID_MODEL_FROM_DATABASE=WL212 Sitecom Wireless Network PCI-Card 100M (Version 1) -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WL212 Sitecom Wireless Network PCI-Card 100M (Version 1)) - - pci:v0000104Cd00009066sv0000104Csd00009067* -- ID_MODEL_FROM_DATABASE=TNETW1130GVF -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (TNETW1130GVF) - - pci:v0000104Cd00009066sv0000104Csd00009096* -- ID_MODEL_FROM_DATABASE=Trendnet TEW-412PC Wireless PCI Adapter (Version A) -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Trendnet TEW-412PC Wireless PCI Adapter (Version A)) - - pci:v0000104Cd00009066sv00001186sd00003B04* -- ID_MODEL_FROM_DATABASE=DWL-G520+ Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G520+ Wireless PCI Adapter) - - pci:v0000104Cd00009066sv00001186sd00003B05* -- ID_MODEL_FROM_DATABASE=DWL-G650+ AirPlusG+ CardBus Wireless LAN -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (DWL-G650+ AirPlusG+ CardBus Wireless LAN) - - pci:v0000104Cd00009066sv00001186sd00003B08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1) -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1)) - - pci:v0000104Cd00009066sv00001385sd00004C00* -- ID_MODEL_FROM_DATABASE=WG311v2 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WG311v2 802.11g Wireless PCI Adapter) - - pci:v0000104Cd00009066sv000013D1sd0000ABA0* -- ID_MODEL_FROM_DATABASE=SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+) - - pci:v0000104Cd00009066sv000014EAsd0000AB07* -- ID_MODEL_FROM_DATABASE=GW-NS54GM Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (GW-NS54GM Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv000016ECsd0000010D* -- ID_MODEL_FROM_DATABASE=USR5416 802.11g Wireless Turbo PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5416 802.11g Wireless Turbo PCI Adapter) - - pci:v0000104Cd00009066sv000016ECsd0000010E* -- ID_MODEL_FROM_DATABASE=USR5410 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (USR5410 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv00001737sd00000033* -- ID_MODEL_FROM_DATABASE=WPC54G v2 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (WPC54G v2 802.11g Wireless-G Notebook Adapter) - - pci:v0000104Cd00009066sv000017CFsd00000032* -- ID_MODEL_FROM_DATABASE=G-162 v1 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-162 v1 802.11g Wireless Cardbus Adapter) - - pci:v0000104Cd00009066sv000017CFsd00000033* -- ID_MODEL_FROM_DATABASE=Z-Com XG650 Wireless miniPCI 802.11b/g -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (Z-Com XG650 Wireless miniPCI 802.11b/g) - - pci:v0000104Cd00009066sv0000187Esd0000340B* -- ID_MODEL_FROM_DATABASE=G-302 v2 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-302 v2 802.11g Wireless PCI Adapter) - - pci:v0000104Cd00009066sv0000187Esd0000340C* -- ID_MODEL_FROM_DATABASE=G-360 v2 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ACX 111 54Mbps Wireless Interface (G-360 v2 802.11g Wireless PCI Adapter) - - pci:v0000104Cd0000A001* - ID_MODEL_FROM_DATABASE=TDC1570 -@@ -15003,13 +15003,13 @@ pci:v0000104Cd0000A106* - ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 - - pci:v0000104Cd0000A106sv0000175Csd00005000* -- ID_MODEL_FROM_DATABASE=ASI50xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI50xx Audio Adapter) - - pci:v0000104Cd0000A106sv0000175Csd00006400* -- ID_MODEL_FROM_DATABASE=ASI6400 Cobranet series -+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI6400 Cobranet series) - - pci:v0000104Cd0000A106sv0000175Csd00008700* -- ID_MODEL_FROM_DATABASE=ASI87xx Radio Tuner card -+ ID_MODEL_FROM_DATABASE=TMS320C6414 TMS320C6415 TMS320C6416 (ASI87xx Radio Tuner card) - - pci:v0000104Cd0000AC10* - ID_MODEL_FROM_DATABASE=PCI1050 -@@ -15030,7 +15030,7 @@ pci:v0000104Cd0000AC16* - ID_MODEL_FROM_DATABASE=PCI1250 - - pci:v0000104Cd0000AC16sv00001014sd00000092* -- ID_MODEL_FROM_DATABASE=ThinkPad 600 -+ ID_MODEL_FROM_DATABASE=PCI1250 (ThinkPad 600) - - pci:v0000104Cd0000AC17* - ID_MODEL_FROM_DATABASE=PCI1220 -@@ -15048,19 +15048,19 @@ pci:v0000104Cd0000AC1B* - ID_MODEL_FROM_DATABASE=PCI1450 - - pci:v0000104Cd0000AC1Bsv00000E11sd0000B113* -- ID_MODEL_FROM_DATABASE=Armada M700 -+ ID_MODEL_FROM_DATABASE=PCI1450 (Armada M700) - - pci:v0000104Cd0000AC1Bsv00001014sd00000130* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X/A21m/T20/T22 -+ ID_MODEL_FROM_DATABASE=PCI1450 (ThinkPad 600X/A21m/T20/T22) - - pci:v0000104Cd0000AC1C* - ID_MODEL_FROM_DATABASE=PCI1225 - - pci:v0000104Cd0000AC1Csv00000E11sd0000B121* -- ID_MODEL_FROM_DATABASE=Armada E500 -+ ID_MODEL_FROM_DATABASE=PCI1225 (Armada E500) - - pci:v0000104Cd0000AC1Csv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=Latitude CPi A400XT -+ ID_MODEL_FROM_DATABASE=PCI1225 (Latitude CPi A400XT) - - pci:v0000104Cd0000AC1D* - ID_MODEL_FROM_DATABASE=PCI1251A -@@ -15102,40 +15102,40 @@ pci:v0000104Cd0000AC42* - ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller - - pci:v0000104Cd0000AC42sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=PCI4451 PC card CardBus Controller (Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=PCI4451 PC card Cardbus Controller (PCI4451 PC card CardBus Controller (Inspiron 8100)) - - pci:v0000104Cd0000AC44* - ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller - - pci:v0000104Cd0000AC44sv00001028sd00000149* -- ID_MODEL_FROM_DATABASE=Inspiron 5100 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5100) - - pci:v0000104Cd0000AC44sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Latitude D505) - - pci:v0000104Cd0000AC44sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (Inspiron 5160) - - pci:v0000104Cd0000AC44sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=PCI4510 PC card Cardbus Controller (MIM2000) - - pci:v0000104Cd0000AC46* - ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller - - pci:v0000104Cd0000AC46sv00001014sd00000552* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=PCI4520 PC card Cardbus Controller (ThinkPad) - - pci:v0000104Cd0000AC47* - ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller - - pci:v0000104Cd0000AC47sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D400) - - pci:v0000104Cd0000AC47sv00001028sd0000013F* -- ID_MODEL_FROM_DATABASE=Precision M60 -+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Precision M60) - - pci:v0000104Cd0000AC47sv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=Latitude D800 -+ ID_MODEL_FROM_DATABASE=PCI7510 PC card Cardbus Controller (Latitude D800) - - pci:v0000104Cd0000AC48* - ID_MODEL_FROM_DATABASE=PCI7610 PC Card Cardbus Controller -@@ -15147,10 +15147,10 @@ pci:v0000104Cd0000AC4A* - ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge - - pci:v0000104Cd0000AC4Asv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D400) - - pci:v0000104Cd0000AC4Asv00001028sd0000014E* -- ID_MODEL_FROM_DATABASE=Latitude D800 -+ ID_MODEL_FROM_DATABASE=PCI7510/7610 CardBus Bridge (Latitude D800) - - pci:v0000104Cd0000AC4B* - ID_MODEL_FROM_DATABASE=PCI7610 SD/MMC controller -@@ -15165,28 +15165,28 @@ pci:v0000104Cd0000AC51* - ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller - - pci:v0000104Cd0000AC51sv00000E11sd0000004E* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Evo N600c) - - pci:v0000104Cd0000AC51sv00001014sd00000148* -- ID_MODEL_FROM_DATABASE=ThinkPad A20m -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad A20m) - - pci:v0000104Cd0000AC51sv00001014sd0000023B* -- ID_MODEL_FROM_DATABASE=ThinkPad T23 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (ThinkPad T23) - - pci:v0000104Cd0000AC51sv00001028sd000000B1* -- ID_MODEL_FROM_DATABASE=Latitude C600 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C600) - - pci:v0000104Cd0000AC51sv00001028sd0000012A* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Latitude C640) - - pci:v0000104Cd0000AC51sv00001033sd000080CD* -- ID_MODEL_FROM_DATABASE=Versa Note VXi -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Versa Note VXi) - - pci:v0000104Cd0000AC51sv000010CFsd00001095* -- ID_MODEL_FROM_DATABASE=Lifebook S-4510/C6155 -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (Lifebook S-4510/C6155) - - pci:v0000104Cd0000AC51sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CP2-2-HIPHOP -+ ID_MODEL_FROM_DATABASE=PCI1420 PC card Cardbus Controller (CP2-2-HIPHOP) - - pci:v0000104Cd0000AC52* - ID_MODEL_FROM_DATABASE=PCI1451 PC card Cardbus Controller -@@ -15198,55 +15198,55 @@ pci:v0000104Cd0000AC54* - ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller - - pci:v0000104Cd0000AC54sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=PCI1620 PC Card Controller (tc1100 tablet) - - pci:v0000104Cd0000AC55* - ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller - - pci:v0000104Cd0000AC55sv00001014sd00000512* -- ID_MODEL_FROM_DATABASE=ThinkPad T30/T40 -+ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (ThinkPad T30/T40) - - pci:v0000104Cd0000AC55sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=PCI1520 PC card Cardbus Controller (XE4500 Notebook) - - pci:v0000104Cd0000AC56* - ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller - - pci:v0000104Cd0000AC56sv00001014sd00000512* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R50e) - - pci:v0000104Cd0000AC56sv00001014sd00000528* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad R40e) - - pci:v0000104Cd0000AC56sv000017AAsd00002012* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60 series -+ ID_MODEL_FROM_DATABASE=PCI1510 PC card Cardbus Controller (ThinkPad T60/R60 series) - - pci:v0000104Cd0000AC60* - ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller - - pci:v0000104Cd0000AC60sv0000175Csd00005100* -- ID_MODEL_FROM_DATABASE=ASI51xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI51xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000175Csd00006100* -- ID_MODEL_FROM_DATABASE=ASI61xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI61xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000175Csd00006200* -- ID_MODEL_FROM_DATABASE=ASI62xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI62xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000175Csd00008800* -- ID_MODEL_FROM_DATABASE=ASI88xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (ASI88xx Audio Adapter) - - pci:v0000104Cd0000AC60sv0000186Fsd00003001* -- ID_MODEL_FROM_DATABASE=WR-G303 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G303 PCI radio receiver) - - pci:v0000104Cd0000AC60sv0000186Fsd00003005* -- ID_MODEL_FROM_DATABASE=WR-G305 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G305 PCI radio receiver) - - pci:v0000104Cd0000AC60sv0000186Fsd00003101* -- ID_MODEL_FROM_DATABASE=WR-G313 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G313 PCI radio receiver) - - pci:v0000104Cd0000AC60sv0000186Fsd00003105* -- ID_MODEL_FROM_DATABASE=WR-G315 PCI radio receiver -+ ID_MODEL_FROM_DATABASE=PCI2040 PCI to DSP Bridge Controller (WR-G315 PCI radio receiver) - - pci:v0000104Cd0000AC8D* - ID_MODEL_FROM_DATABASE=PCI 7620 -@@ -15255,13 +15255,13 @@ pci:v0000104Cd0000AC8E* - ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller - - pci:v0000104Cd0000AC8Esv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=PCI7420 CardBus Controller (Inspiron 700m/710m) - - pci:v0000104Cd0000AC8F* - ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller - - pci:v0000104Cd0000AC8Fsv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=PCI7420/7620 SD/MS-Pro Controller (Inspiron 700m/710m) - - pci:v0000104Cd0000B001* - ID_MODEL_FROM_DATABASE=TMS320C6424 -@@ -15336,10 +15336,10 @@ pci:v00001050d00000840* - ID_MODEL_FROM_DATABASE=W89C840 - - pci:v00001050d00000840sv00001050sd00000001* -- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) - - pci:v00001050d00000840sv00001050sd00000840* -- ID_MODEL_FROM_DATABASE=W89C840 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=W89C840 (Ethernet Adapter) - - pci:v00001050d00000940* - ID_MODEL_FROM_DATABASE=W89C940 -@@ -15351,22 +15351,22 @@ pci:v00001050d00006692* - ID_MODEL_FROM_DATABASE=W6692 - - pci:v00001050d00006692sv00001043sd00001702* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) - - pci:v00001050d00006692sv00001043sd00001703* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00006692sv00001043sd00001707* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00006692sv0000144Fsd00001702* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, D, W)) - - pci:v00001050d00006692sv0000144Fsd00001703* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00006692sv0000144Fsd00001707* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, DV, W) -+ ID_MODEL_FROM_DATABASE=W6692 (ISDN Adapter (PCI Bus, DV, W)) - - pci:v00001050d00009921* - ID_MODEL_FROM_DATABASE=W99200F MPEG-1 Video Encoder -@@ -15501,76 +15501,76 @@ pci:v00001057d00001801* - ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor - - pci:v00001057d00001801sv000014FBsd00000101* -- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM]) - - pci:v00001057d00001801sv000014FBsd00000102* -- ID_MODEL_FROM_DATABASE=Transas Radar Imitator Board [RIM-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Imitator Board [RIM-2]) - - pci:v00001057d00001801sv000014FBsd00000202* -- ID_MODEL_FROM_DATABASE=Transas Radar Integrator Board [RIB-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas Radar Integrator Board [RIB-2]) - - pci:v00001057d00001801sv000014FBsd00000611* -- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci-1] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci-1]) - - pci:v00001057d00001801sv000014FBsd00000612* -- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci-2]) - - pci:v00001057d00001801sv000014FBsd00000613* -- ID_MODEL_FROM_DATABASE=3 channels CAN bus Controller [CanPci-3] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (3 channels CAN bus Controller [CanPci-3]) - - pci:v00001057d00001801sv000014FBsd00000614* -- ID_MODEL_FROM_DATABASE=4 channels CAN bus Controller [CanPci-4] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (4 channels CAN bus Controller [CanPci-4]) - - pci:v00001057d00001801sv000014FBsd00000621* -- ID_MODEL_FROM_DATABASE=1 channel CAN bus Controller [CanPci2-1] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (1 channel CAN bus Controller [CanPci2-1]) - - pci:v00001057d00001801sv000014FBsd00000622* -- ID_MODEL_FROM_DATABASE=2 channels CAN bus Controller [CanPci2-2] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (2 channels CAN bus Controller [CanPci2-2]) - - pci:v00001057d00001801sv000014FBsd00000810* -- ID_MODEL_FROM_DATABASE=Transas VTS Radar Integrator Board [RIB-4] -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Transas VTS Radar Integrator Board [RIB-4]) - - pci:v00001057d00001801sv0000175Csd00004200* -- ID_MODEL_FROM_DATABASE=ASI4215 Audio Adapter -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4215 Audio Adapter) - - pci:v00001057d00001801sv0000175Csd00004300* -- ID_MODEL_FROM_DATABASE=ASI43xx Audio Adapter -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI43xx Audio Adapter) - - pci:v00001057d00001801sv0000175Csd00004400* -- ID_MODEL_FROM_DATABASE=ASI4401 Audio Adapter -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (ASI4401 Audio Adapter) - - pci:v00001057d00001801sv0000ECC0sd00000010* -- ID_MODEL_FROM_DATABASE=Darla -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla) - - pci:v00001057d00001801sv0000ECC0sd00000020* -- ID_MODEL_FROM_DATABASE=Gina -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina) - - pci:v00001057d00001801sv0000ECC0sd00000030* -- ID_MODEL_FROM_DATABASE=Layla rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000031* -- ID_MODEL_FROM_DATABASE=Layla rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Layla rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000040* -- ID_MODEL_FROM_DATABASE=Darla24 rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000041* -- ID_MODEL_FROM_DATABASE=Darla24 rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Darla24 rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000050* -- ID_MODEL_FROM_DATABASE=Gina24 rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000051* -- ID_MODEL_FROM_DATABASE=Gina24 rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Gina24 rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000070* -- ID_MODEL_FROM_DATABASE=Mona rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.0) - - pci:v00001057d00001801sv0000ECC0sd00000071* -- ID_MODEL_FROM_DATABASE=Mona rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.1) - - pci:v00001057d00001801sv0000ECC0sd00000072* -- ID_MODEL_FROM_DATABASE=Mona rev.2 -+ ID_MODEL_FROM_DATABASE=DSP56301 Digital Signal Processor (Mona rev.2) - - pci:v00001057d000018C0* - ID_MODEL_FROM_DATABASE=MPC8265A/8266/8272 -@@ -15585,40 +15585,40 @@ pci:v00001057d00003410* - ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor - - pci:v00001057d00003410sv0000ECC0sd00000050* -- ID_MODEL_FROM_DATABASE=Gina24 rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.0) - - pci:v00001057d00003410sv0000ECC0sd00000051* -- ID_MODEL_FROM_DATABASE=Gina24 rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Gina24 rev.1) - - pci:v00001057d00003410sv0000ECC0sd00000060* -- ID_MODEL_FROM_DATABASE=Layla24 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Layla24) - - pci:v00001057d00003410sv0000ECC0sd00000070* -- ID_MODEL_FROM_DATABASE=Mona rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.0) - - pci:v00001057d00003410sv0000ECC0sd00000071* -- ID_MODEL_FROM_DATABASE=Mona rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.1) - - pci:v00001057d00003410sv0000ECC0sd00000072* -- ID_MODEL_FROM_DATABASE=Mona rev.2 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mona rev.2) - - pci:v00001057d00003410sv0000ECC0sd00000080* -- ID_MODEL_FROM_DATABASE=Mia rev.0 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.0) - - pci:v00001057d00003410sv0000ECC0sd00000081* -- ID_MODEL_FROM_DATABASE=Mia rev.1 -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Mia rev.1) - - pci:v00001057d00003410sv0000ECC0sd00000090* -- ID_MODEL_FROM_DATABASE=Indigo -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo) - - pci:v00001057d00003410sv0000ECC0sd000000A0* -- ID_MODEL_FROM_DATABASE=Indigo IO -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo IO) - - pci:v00001057d00003410sv0000ECC0sd000000B0* -- ID_MODEL_FROM_DATABASE=Indigo DJ -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (Indigo DJ) - - pci:v00001057d00003410sv0000ECC0sd00000100* -- ID_MODEL_FROM_DATABASE=3G -+ ID_MODEL_FROM_DATABASE=DSP56361 Digital Signal Processor (3G) - - pci:v00001057d00004801* - ID_MODEL_FROM_DATABASE=Raven -@@ -15639,55 +15639,55 @@ pci:v00001057d00005600* - ID_MODEL_FROM_DATABASE=SM56 PCI Modem - - pci:v00001057d00005600sv00001057sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001057sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice Modem) - - pci:v00001057d00005600sv00001057sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001057sd00005600* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv000013D2sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv000013D2sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv000013D2sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001436sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001436sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv00001436sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv0000144Fsd0000100C* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001494sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001494sd00000301* -- ID_MODEL_FROM_DATABASE=SM56 PCI Voice modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Voice modem) - - pci:v00001057d00005600sv000014C8sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv000014C8sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005600sv00001668sd00000300* -- ID_MODEL_FROM_DATABASE=SM56 PCI Speakerphone Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Speakerphone Modem) - - pci:v00001057d00005600sv00001668sd00000302* -- ID_MODEL_FROM_DATABASE=SM56 PCI Fax Modem -+ ID_MODEL_FROM_DATABASE=SM56 PCI Modem (SM56 PCI Fax Modem) - - pci:v00001057d00005608* - ID_MODEL_FROM_DATABASE=Wildcard X100P -@@ -15723,16 +15723,16 @@ pci:v0000105Ad00000D30* - ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) - - pci:v0000105Ad00000D30sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=AV7266-E South Bridge Promise RAID -+ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (AV7266-E South Bridge Promise RAID) - - pci:v0000105Ad00000D30sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=Ultra100 -+ ID_MODEL_FROM_DATABASE=PDC20265 (FastTrak100 Lite/Ultra100) (Ultra100) - - pci:v0000105Ad00000D38* - ID_MODEL_FROM_DATABASE=20263 - - pci:v0000105Ad00000D38sv0000105Asd00004D39* -- ID_MODEL_FROM_DATABASE=Fasttrak66 -+ ID_MODEL_FROM_DATABASE=20263 (Fasttrak66) - - pci:v0000105Ad00001275* - ID_MODEL_FROM_DATABASE=20275 -@@ -15744,10 +15744,10 @@ pci:v0000105Ad00003319* - ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) - - pci:v0000105Ad00003319sv0000105Asd00003319* -- ID_MODEL_FROM_DATABASE=FastTrak S150 TX4 4 port SATA PCI board -+ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (FastTrak S150 TX4 4 port SATA PCI board) - - pci:v0000105Ad00003319sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=PDC20319 (FastTrak S150 TX4) (S875WP1-E mainboard) - - pci:v0000105Ad00003371* - ID_MODEL_FROM_DATABASE=PDC20371 (FastTrak S150 TX2plus) -@@ -15756,13 +15756,13 @@ pci:v0000105Ad00003373* - ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) - - pci:v0000105Ad00003373sv00001043sd000080F5* -- ID_MODEL_FROM_DATABASE=K8V Deluxe/PC-DL Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8V Deluxe/PC-DL Deluxe motherboard) - - pci:v0000105Ad00003373sv00001462sd0000590D* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (KT6 Delta-FIS2R (MS-6590)) - - pci:v0000105Ad00003373sv00001462sd0000702E* -- ID_MODEL_FROM_DATABASE=K8T NEO FIS2R motherboard -+ ID_MODEL_FROM_DATABASE=PDC20378 (FastTrak 378/SATA 378) (K8T NEO FIS2R motherboard) - - pci:v0000105Ad00003375* - ID_MODEL_FROM_DATABASE=PDC20375 (SATA150 TX2plus) -@@ -15771,7 +15771,7 @@ pci:v0000105Ad00003376* - ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) - - pci:v0000105Ad00003376sv00001043sd0000809E* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=PDC20376 (FastTrak 376) (A7V8X motherboard) - - pci:v0000105Ad00003515* - ID_MODEL_FROM_DATABASE=PDC40719 [FastTrak TX4300/TX4310] -@@ -15813,58 +15813,58 @@ pci:v0000105Ad00004D30* - ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) - - pci:v0000105Ad00004D30sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=Ultra100 -+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (Ultra100) - - pci:v0000105Ad00004D30sv0000105Asd00004D39* -- ID_MODEL_FROM_DATABASE=FastTrak100 -+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (FastTrak100) - - pci:v0000105Ad00004D30sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=PDC20267 (FastTrak100/Ultra100) (S845WD1-E mainboard) - - pci:v0000105Ad00004D33* - ID_MODEL_FROM_DATABASE=20246 - - pci:v0000105Ad00004D33sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=20246 IDE Controller -+ ID_MODEL_FROM_DATABASE=20246 (IDE Controller) - - pci:v0000105Ad00004D38* - ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) - - pci:v0000105Ad00004D38sv0000105Asd00004D30* -- ID_MODEL_FROM_DATABASE=Ultra Device on SuperTrak -+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra Device on SuperTrak) - - pci:v0000105Ad00004D38sv0000105Asd00004D33* -- ID_MODEL_FROM_DATABASE=Ultra66 -+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (Ultra66) - - pci:v0000105Ad00004D38sv0000105Asd00004D39* -- ID_MODEL_FROM_DATABASE=FastTrak66 -+ ID_MODEL_FROM_DATABASE=PDC20262 (FastTrak66/Ultra66) (FastTrak66) - - pci:v0000105Ad00004D68* - ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] - - pci:v0000105Ad00004D68sv0000105Asd00004D68* -- ID_MODEL_FROM_DATABASE=Ultra100 TX2 -+ ID_MODEL_FROM_DATABASE=PDC20268 [Ultra100 TX2] (Ultra100 TX2) - - pci:v0000105Ad00004D69* - ID_MODEL_FROM_DATABASE=20269 - - pci:v0000105Ad00004D69sv0000105Asd00004D68* -- ID_MODEL_FROM_DATABASE=Ultra133TX2 -+ ID_MODEL_FROM_DATABASE=20269 (Ultra133TX2) - - pci:v0000105Ad00005275* - ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) - - pci:v0000105Ad00005275sv00001043sd0000807E* -- ID_MODEL_FROM_DATABASE=A7V333 motherboard. -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (A7V333 motherboard.) - - pci:v0000105Ad00005275sv0000105Asd00000275* -- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 IDE -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (SuperTrak SX6000 IDE) - - pci:v0000105Ad00005275sv0000105Asd00001275* -- ID_MODEL_FROM_DATABASE=MBFastTrak133 Lite (tm) Controller (RAID mode) -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBFastTrak133 Lite (tm) Controller (RAID mode)) - - pci:v0000105Ad00005275sv00001458sd0000B001* -- ID_MODEL_FROM_DATABASE=MBUltra 133 -+ ID_MODEL_FROM_DATABASE=PDC20276 (MBFastTrak133 Lite) (MBUltra 133) - - pci:v0000105Ad00005300* - ID_MODEL_FROM_DATABASE=DC5300 -@@ -15873,13 +15873,13 @@ pci:v0000105Ad00006268* - ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) - - pci:v0000105Ad00006268sv0000105Asd00004D68* -- ID_MODEL_FROM_DATABASE=FastTrak100 TX2 -+ ID_MODEL_FROM_DATABASE=PDC20270 (FastTrak100 LP/TX2/TX4) (FastTrak100 TX2) - - pci:v0000105Ad00006269* - ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) - - pci:v0000105Ad00006269sv0000105Asd00006269* -- ID_MODEL_FROM_DATABASE=FastTrak TX2/TX2000 -+ ID_MODEL_FROM_DATABASE=PDC20271 (FastTrak TX2000) (FastTrak TX2/TX2000) - - pci:v0000105Ad00006300* - ID_MODEL_FROM_DATABASE=PDC81731 [FastTrak SX8300] -@@ -15912,43 +15912,43 @@ pci:v0000105Ad00008650* - ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] - - pci:v0000105Ad00008650sv0000105Asd00004600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX4650A -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650A) - - pci:v0000105Ad00008650sv0000105Asd00004601* -- ID_MODEL_FROM_DATABASE=SuperTrak EX4650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650) - - pci:v0000105Ad00008650sv0000105Asd00004610* -- ID_MODEL_FROM_DATABASE=SuperTrak EX4650EL -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX4650EL) - - pci:v0000105Ad00008650sv0000105Asd00008600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650EL -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650EL) - - pci:v0000105Ad00008650sv0000105Asd00008601* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650A -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650A) - - pci:v0000105Ad00008650sv0000105Asd00008602* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8654 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8654) - - pci:v0000105Ad00008650sv0000105Asd00008603* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8658 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8658) - - pci:v0000105Ad00008650sv0000105Asd00008604* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650) - - pci:v0000105Ad00008650sv0000105Asd00008610* -- ID_MODEL_FROM_DATABASE=SuperTrak EX8650M -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX8650M) - - pci:v0000105Ad00008650sv0000105Asd0000A600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX12650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX12650) - - pci:v0000105Ad00008650sv0000105Asd0000B600* -- ID_MODEL_FROM_DATABASE=SuperTrak EX16650 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16650) - - pci:v0000105Ad00008650sv0000105Asd0000B601* -- ID_MODEL_FROM_DATABASE=SuperTrak EX16654 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16654) - - pci:v0000105Ad00008650sv0000105Asd0000B602* -- ID_MODEL_FROM_DATABASE=SuperTrak EX16658 -+ ID_MODEL_FROM_DATABASE=81384 [SuperTrak EX SAS and SATA RAID Controller] (SuperTrak EX16658) - - pci:v0000105Ad00008760* - ID_MODEL_FROM_DATABASE=PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller] -@@ -15975,106 +15975,106 @@ pci:v0000105Dd00002339* - ID_MODEL_FROM_DATABASE=Imagine 128-II - - pci:v0000105Dd00002339sv0000105Dsd00000000* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000001* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000002* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000003* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000004* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000005* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000006* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000007* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 4Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 4Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000008* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) - - pci:v0000105Dd00002339sv0000105Dsd00000009* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2e 4Mb DRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2e 4Mb DRAM) - - pci:v0000105Dd00002339sv0000105Dsd0000000A* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb VRAM) - - pci:v0000105Dd00002339sv0000105Dsd0000000B* -- ID_MODEL_FROM_DATABASE=Imagine 128 series 2 8Mb H-VRAM -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Imagine 128 series 2 8Mb H-VRAM) - - pci:v0000105Dd00002339sv000011A4sd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000000* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000004* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000005* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000006* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000008* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd00000009* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd00002339sv000013CCsd0000000C* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel -+ ID_MODEL_FROM_DATABASE=Imagine 128-II (Barco Metheus 5 Megapixel) - - pci:v0000105Dd0000493D* - ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] - - pci:v0000105Dd0000493Dsv000011A4sd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000011A4sd0000000B* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000002* -- ID_MODEL_FROM_DATABASE=Barco Metheus 4 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 4 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000003* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000007* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000008* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd00000009* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd0000493Dsv000013CCsd0000000A* -- ID_MODEL_FROM_DATABASE=Barco Metheus 5 Megapixel, Dual Head -+ ID_MODEL_FROM_DATABASE=Imagine 128 T2R [Ticket to Ride] (Barco Metheus 5 Megapixel, Dual Head) - - pci:v0000105Dd00005348* - ID_MODEL_FROM_DATABASE=Revolution 4 - - pci:v0000105Dd00005348sv0000105Dsd00000037* -- ID_MODEL_FROM_DATABASE=Revolution IV-FP AGP (For SGI 1600SW) -+ ID_MODEL_FROM_DATABASE=Revolution 4 (Revolution IV-FP AGP (For SGI 1600SW)) - - pci:v0000105Dd00005348sv000011A4sd00000028* -- ID_MODEL_FROM_DATABASE=PVS5600M -+ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600M) - - pci:v0000105Dd00005348sv000011A4sd00000038* -- ID_MODEL_FROM_DATABASE=PVS5600D -+ ID_MODEL_FROM_DATABASE=Revolution 4 (PVS5600D) - - pci:v0000105E* - ID_VENDOR_FROM_DATABASE=Vtech Computers Ltd -@@ -16236,43 +16236,43 @@ pci:v00001069d00000050* - ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device - - pci:v00001069d00000050sv00001069sd00000050* -- ID_MODEL_FROM_DATABASE=AcceleRAID 352 support Device -+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 352 support Device) - - pci:v00001069d00000050sv00001069sd00000052* -- ID_MODEL_FROM_DATABASE=AcceleRAID 170 support Device -+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 170 support Device) - - pci:v00001069d00000050sv00001069sd00000054* -- ID_MODEL_FROM_DATABASE=AcceleRAID 160 support Device -+ ID_MODEL_FROM_DATABASE=AcceleRAID 352/170/160 support Device (AcceleRAID 160 support Device) - - pci:v00001069d0000B166* - ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device - - pci:v00001069d0000B166sv00001014sd00000242* -- ID_MODEL_FROM_DATABASE=iSeries 2872 DASD IOA -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (iSeries 2872 DASD IOA) - - pci:v00001069d0000B166sv00001014sd00000266* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) - - pci:v00001069d0000B166sv00001014sd00000278* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) - - pci:v00001069d0000B166sv00001014sd000002D3* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI Adapter) - - pci:v00001069d0000B166sv00001014sd000002D4* -- ID_MODEL_FROM_DATABASE=Dual Channel PCI-X U320 SCSI RAID Adapter -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (Dual Channel PCI-X U320 SCSI RAID Adapter) - - pci:v00001069d0000B166sv00001069sd00000200* -- ID_MODEL_FROM_DATABASE=AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000B166sv00001069sd00000202* -- ID_MODEL_FROM_DATABASE=AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000B166sv00001069sd00000204* -- ID_MODEL_FROM_DATABASE=AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000B166sv00001069sd00000206* -- ID_MODEL_FROM_DATABASE=AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID -+ ID_MODEL_FROM_DATABASE=AcceleRAID 600/500/400/Sapphire support Device (AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID) - - pci:v00001069d0000BA55* - ID_MODEL_FROM_DATABASE=eXtremeRAID 1100 support Device -@@ -16281,16 +16281,16 @@ pci:v00001069d0000BA56* - ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device - - pci:v00001069d0000BA56sv00001069sd00000030* -- ID_MODEL_FROM_DATABASE=eXtremeRAID 3000 support Device -+ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 3000 support Device) - - pci:v00001069d0000BA56sv00001069sd00000040* -- ID_MODEL_FROM_DATABASE=eXtremeRAID 2000 support Device -+ ID_MODEL_FROM_DATABASE=eXtremeRAID 2000/3000 support Device (eXtremeRAID 2000 support Device) - - pci:v00001069d0000BA57* - ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device - - pci:v00001069d0000BA57sv00001069sd00000072* -- ID_MODEL_FROM_DATABASE=eXtremeRAID 5000 support Device -+ ID_MODEL_FROM_DATABASE=eXtremeRAID 4000/5000 support Device (eXtremeRAID 5000 support Device) - - pci:v0000106A* - ID_VENDOR_FROM_DATABASE=Aten Research Inc -@@ -16380,7 +16380,7 @@ pci:v0000106Bd00000031* - ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire - - pci:v0000106Bd00000031sv0000106Bsd00005811* -- ID_MODEL_FROM_DATABASE=iBook G4 2004 -+ ID_MODEL_FROM_DATABASE=UniNorth 2 FireWire (iBook G4 2004) - - pci:v0000106Bd00000032* - ID_MODEL_FROM_DATABASE=UniNorth 2 GMAC (Sun GEM) -@@ -16407,7 +16407,7 @@ pci:v0000106Bd0000003F* - ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB - - pci:v0000106Bd0000003Fsv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB (QEMU Virtual Machine) - - pci:v0000106Bd00000040* - ID_MODEL_FROM_DATABASE=K2 KeyLargo USB -@@ -16563,13 +16563,13 @@ pci:v00001073d00000004* - ID_MODEL_FROM_DATABASE=YMF-724 - - pci:v00001073d00000004sv00001073sd00000004* -- ID_MODEL_FROM_DATABASE=YMF724-Based PCI Audio Adapter -+ ID_MODEL_FROM_DATABASE=YMF-724 (YMF724-Based PCI Audio Adapter) - - pci:v00001073d00000005* - ID_MODEL_FROM_DATABASE=DS1 Audio - - pci:v00001073d00000005sv00001073sd00000005* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d00000006* - ID_MODEL_FROM_DATABASE=DS1 Audio -@@ -16578,46 +16578,46 @@ pci:v00001073d00000008* - ID_MODEL_FROM_DATABASE=DS1 Audio - - pci:v00001073d00000008sv00001073sd00000008* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1 Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000A* - ID_MODEL_FROM_DATABASE=DS1L Audio - - pci:v00001073d0000000Asv00001073sd00000004* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000Asv00001073sd0000000A* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000Asv00008086sd00004D55* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC [Intel MU440EX] -+ ID_MODEL_FROM_DATABASE=DS1L Audio (DS-XG PCI Audio CODEC [Intel MU440EX]) - - pci:v00001073d0000000C* - ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] - - pci:v00001073d0000000Csv0000107Asd0000000C* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-740C [DS-1L Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d0000000D* - ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] - - pci:v00001073d0000000Dsv00001073sd0000000D* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-724F [DS-1 Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d00000010* - ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] - - pci:v00001073d00000010sv00001073sd00000006* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d00000010sv00001073sd00000010* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio CODEC -+ ID_MODEL_FROM_DATABASE=YMF-744B [DS-1S Audio Controller] (DS-XG PCI Audio CODEC) - - pci:v00001073d00000012* - ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] - - pci:v00001073d00000012sv00001073sd00000012* -- ID_MODEL_FROM_DATABASE=DS-XG PCI Audio Codec -+ ID_MODEL_FROM_DATABASE=YMF-754 [DS-1E Audio Controller] (DS-XG PCI Audio Codec) - - pci:v00001073d00000020* - ID_MODEL_FROM_DATABASE=DS-1 Audio -@@ -16662,10 +16662,10 @@ pci:v00001077d00001216* - ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor - - pci:v00001077d00001216sv0000101Esd00008471* -- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID -+ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) - - pci:v00001077d00001216sv0000101Esd00008493* -- ID_MODEL_FROM_DATABASE=QLA12160 on AMI MegaRAID -+ ID_MODEL_FROM_DATABASE=ISP12160 Dual Channel Ultra3 SCSI Processor (QLA12160 on AMI MegaRAID) - - pci:v00001077d00001240* - ID_MODEL_FROM_DATABASE=ISP1240 SCSI Host Adapter -@@ -16689,7 +16689,7 @@ pci:v00001077d00002200* - ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter - - pci:v00001077d00002200sv00001077sd00000002* -- ID_MODEL_FROM_DATABASE=QLA2200 -+ ID_MODEL_FROM_DATABASE=QLA2200 64-bit Fibre Channel Adapter (QLA2200) - - pci:v00001077d00002300* - ID_MODEL_FROM_DATABASE=QLA2300 64-bit Fibre Channel Adapter -@@ -16698,10 +16698,10 @@ pci:v00001077d00002312* - ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA - - pci:v00001077d00002312sv0000103Csd00000131* -- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Single port [A7538A] -+ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Single port [A7538A]) - - pci:v00001077d00002312sv0000103Csd000012BA* -- ID_MODEL_FROM_DATABASE=2Gb Fibre Channel - Dual port [A6826A] -+ ID_MODEL_FROM_DATABASE=ISP2312-based 2Gb Fibre Channel to PCI-X HBA (2Gb Fibre Channel - Dual port [A6826A]) - - pci:v00001077d00002322* - ID_MODEL_FROM_DATABASE=ISP2322-based 2Gb Fibre Channel to PCI-X HBA -@@ -16710,25 +16710,25 @@ pci:v00001077d00002422* - ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA - - pci:v00001077d00002422sv0000103Csd000012D7* -- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB379A] -+ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB379A]) - - pci:v00001077d00002422sv0000103Csd000012DD* -- ID_MODEL_FROM_DATABASE=4Gb Fibre Channel [AB429A] -+ ID_MODEL_FROM_DATABASE=ISP2422-based 4Gb Fibre Channel to PCI-X HBA (4Gb Fibre Channel [AB429A]) - - pci:v00001077d00002432* - ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA - - pci:v00001077d00002432sv0000103Csd00007040* -- ID_MODEL_FROM_DATABASE=FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] -+ ID_MODEL_FROM_DATABASE=ISP2432-based 4Gb Fibre Channel to PCI Express HBA (FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A]) - - pci:v00001077d00002532* - ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA - - pci:v00001077d00002532sv0000103Csd00003262* -- ID_MODEL_FROM_DATABASE=StorageWorks 81Q -+ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (StorageWorks 81Q) - - pci:v00001077d00002532sv00001077sd00000167* -- ID_MODEL_FROM_DATABASE=QME2572 Dual Port FC8 HBA Mezzanine -+ ID_MODEL_FROM_DATABASE=ISP2532-based 8Gb Fibre Channel to PCI Express HBA (QME2572 Dual Port FC8 HBA Mezzanine) - - pci:v00001077d00003022* - ID_MODEL_FROM_DATABASE=ISP4022-based Ethernet NIC -@@ -16770,55 +16770,55 @@ pci:v00001077d00008020* - ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller - - pci:v00001077d00008020sv0000103Csd00003346* -- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (CN1000Q Dual Port Converged Network Adapter) - - pci:v00001077d00008020sv0000103Csd00003733* -- ID_MODEL_FROM_DATABASE=NC523SFP 10Gb 2-port Server Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (NC523SFP 10Gb 2-port Server Adapter) - - pci:v00001077d00008020sv00001077sd00000203* -- ID_MODEL_FROM_DATABASE=8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008020sv00001077sd00000207* -- ID_MODEL_FROM_DATABASE=8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008020sv00001077sd0000020B* -- ID_MODEL_FROM_DATABASE=3200 Series Dual Port 10Gb Intelligent Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Dual Port 10Gb Intelligent Ethernet Adapter) - - pci:v00001077d00008020sv00001077sd0000020C* -- ID_MODEL_FROM_DATABASE=3200 Series Quad Port 1Gb Intelligent Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Quad Port 1Gb Intelligent Ethernet Adapter) - - pci:v00001077d00008020sv00001077sd0000020F* -- ID_MODEL_FROM_DATABASE=3200 Series Single Port 10Gb Intelligent Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (3200 Series Single Port 10Gb Intelligent Ethernet Adapter) - - pci:v00001077d00008020sv00001077sd00000210* -- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card -+ ID_MODEL_FROM_DATABASE=cLOM8214 1/10GbE Controller (QME8242-k 10GbE Dual Port Mezzanine Card) - - pci:v00001077d00008021* - ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) - - pci:v00001077d00008021sv0000103Csd00003348* -- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (CN1000Q Dual Port Converged Network Adapter) - - pci:v00001077d00008021sv00001077sd00000211* -- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, FCoE -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (FCoE) (QME8242-k 10GbE Dual Port Mezzanine Card, FCoE) - - pci:v00001077d00008022* - ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) - - pci:v00001077d00008022sv0000103Csd00003347* -- ID_MODEL_FROM_DATABASE=CN1000Q Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (CN1000Q Dual Port Converged Network Adapter) - - pci:v00001077d00008022sv00001077sd00000212* -- ID_MODEL_FROM_DATABASE=QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI -+ ID_MODEL_FROM_DATABASE=8200 Series 10GbE Converged Network Adapter (iSCSI) (QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI) - - pci:v00001077d00008030* - ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller - - pci:v00001077d00008030sv00001077sd00000243* -- ID_MODEL_FROM_DATABASE=8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008030sv00001077sd00000246* -- ID_MODEL_FROM_DATABASE=8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) -+ ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking)) - - pci:v00001077d00008031* - ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (FCoE) -@@ -17022,7 +17022,7 @@ pci:v0000108Dd00000004* - ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter - - pci:v0000108Dd00000004sv0000108Dsd00000004* -- ID_MODEL_FROM_DATABASE=OC-3139/3140 RapidFire Token-Ring 16/4 Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter (OC-3139/3140 RapidFire Token-Ring 16/4 Adapter) - - pci:v0000108Dd00000005* - ID_MODEL_FROM_DATABASE=GoCard 3250 Token-Ring 16/4 CardBus PC Card -@@ -17034,13 +17034,13 @@ pci:v0000108Dd00000007* - ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter - - pci:v0000108Dd00000007sv0000108Dsd00000007* -- ID_MODEL_FROM_DATABASE=OC-3141 RapidFire Token-Ring 16/4 Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter (OC-3141 RapidFire Token-Ring 16/4 Adapter) - - pci:v0000108Dd00000008* - ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter - - pci:v0000108Dd00000008sv0000108Dsd00000008* -- ID_MODEL_FROM_DATABASE=OC-3540 RapidFire HSTR 100/16/4 Adapter -+ ID_MODEL_FROM_DATABASE=RapidFire 3540 HSTR 100/16/4 PCI Adapter (OC-3540 RapidFire HSTR 100/16/4 Adapter) - - pci:v0000108Dd00000011* - ID_MODEL_FROM_DATABASE=OC-2315 -@@ -17058,10 +17058,10 @@ pci:v0000108Dd00000019* - ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter - - pci:v0000108Dd00000019sv0000108Dsd00000016* -- ID_MODEL_FROM_DATABASE=OC-2327 Rapidfire 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2327 Rapidfire 10/100 Ethernet Adapter) - - pci:v0000108Dd00000019sv0000108Dsd00000017* -- ID_MODEL_FROM_DATABASE=OC-2250 GoCard 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=OC-2327/2250 10/100 Ethernet Adapter (OC-2250 GoCard 10/100 Ethernet Adapter) - - pci:v0000108Dd00000021* - ID_MODEL_FROM_DATABASE=OC-6151/6152 [RapidFire ATM 155] -@@ -17085,25 +17085,25 @@ pci:v0000108Ed00001100* - ID_MODEL_FROM_DATABASE=RIO EBUS - - pci:v0000108Ed00001100sv0000108Esd00001100* -- ID_MODEL_FROM_DATABASE=RIO EBUS on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO EBUS (on Blade 100 motherboard) - - pci:v0000108Ed00001101* - ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] - - pci:v0000108Ed00001101sv0000108Esd00001101* -- ID_MODEL_FROM_DATABASE=RIO GEM on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO 10/100 Ethernet [eri] (RIO GEM on Blade 100 motherboard) - - pci:v0000108Ed00001102* - ID_MODEL_FROM_DATABASE=RIO 1394 - - pci:v0000108Ed00001102sv0000108Esd00001102* -- ID_MODEL_FROM_DATABASE=RIO 1394 on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO 1394 (on Blade 100 motherboard) - - pci:v0000108Ed00001103* - ID_MODEL_FROM_DATABASE=RIO USB - - pci:v0000108Ed00001103sv0000108Esd00001103* -- ID_MODEL_FROM_DATABASE=RIO USB on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=RIO USB (on Blade 100 motherboard) - - pci:v0000108Ed00001647* - ID_MODEL_FROM_DATABASE=Broadcom 570x 10/100/1000 Ethernet [bge] -@@ -17124,7 +17124,7 @@ pci:v0000108Ed00005000* - ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge - - pci:v0000108Ed00005000sv0000108Esd00005000* -- ID_MODEL_FROM_DATABASE=Netra AX1105-500 -+ ID_MODEL_FROM_DATABASE=Simba Advanced PCI Bridge (Netra AX1105-500) - - pci:v0000108Ed00005043* - ID_MODEL_FROM_DATABASE=SunPCI Co-processor -@@ -17226,7 +17226,7 @@ pci:v0000108Ed0000A001* - ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] - - pci:v0000108Ed0000A001sv0000108Esd0000A001* -- ID_MODEL_FROM_DATABASE=Ultra IIe on Blade 100 motherboard -+ ID_MODEL_FROM_DATABASE=Psycho UPA-PCI Bus Module [pcipsy] (Ultra IIe on Blade 100 motherboard) - - pci:v0000108Ed0000A801* - ID_MODEL_FROM_DATABASE=Schizo Fireplane-PCI bus bridge module [pcisch] -@@ -17295,7 +17295,7 @@ pci:v00001092d00000028* - ID_MODEL_FROM_DATABASE=Viper V770 - - pci:v00001092d00000028sv00001092sd00004A00* -- ID_MODEL_FROM_DATABASE=Viper V770 32MB -+ ID_MODEL_FROM_DATABASE=Viper V770 (32MB) - - pci:v00001092d000000A0* - ID_MODEL_FROM_DATABASE=Speedstar Pro SE -@@ -17766,28 +17766,28 @@ pci:v00001093d0000C4C4* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device - - pci:v00001093d0000C4C4sv00001093sd000074B2* -- ID_MODEL_FROM_DATABASE=PXIe-4353 -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) - - pci:v00001093d0000C4C4sv00001093sd000074D0* -- ID_MODEL_FROM_DATABASE=PXIe-7961R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) - - pci:v00001093d0000C4C4sv00001093sd000074E2* -- ID_MODEL_FROM_DATABASE=PXIe-7962R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) - - pci:v00001093d0000C4C4sv00001093sd000074E3* -- ID_MODEL_FROM_DATABASE=PXIe-7965R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) - - pci:v00001093d0000C4C4sv00001093sd00007553* -- ID_MODEL_FROM_DATABASE=PCIe-1473R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) - - pci:v00001093d0000C4C4sv00001093sd000075CE* -- ID_MODEL_FROM_DATABASE=PXIe-7966R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) - - pci:v00001093d0000C4C4sv00001093sd000076B7* -- ID_MODEL_FROM_DATABASE=PXIe-7975R -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) - - pci:v00001093d0000C4C4sv00001093sd000076D0* -- ID_MODEL_FROM_DATABASE=PXIe-5160 -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) - - pci:v00001093d0000C801* - ID_MODEL_FROM_DATABASE=PCI-GPIB -@@ -17820,19 +17820,19 @@ pci:v00001095d00000648* - ID_MODEL_FROM_DATABASE=PCI0648 - - pci:v00001095d00000648sv00001043sd00008025* -- ID_MODEL_FROM_DATABASE=CUBX motherboard -+ ID_MODEL_FROM_DATABASE=PCI0648 (CUBX motherboard) - - pci:v00001095d00000649* - ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller - - pci:v00001095d00000649sv00000E11sd0000005D* -- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 Dual Channel Controller -+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 Dual Channel Controller) - - pci:v00001095d00000649sv00000E11sd0000007E* -- ID_MODEL_FROM_DATABASE=Integrated Ultra ATA-100 IDE RAID Controller -+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (Integrated Ultra ATA-100 IDE RAID Controller) - - pci:v00001095d00000649sv0000101Esd00000649* -- ID_MODEL_FROM_DATABASE=AMI MegaRAID IDE 100 Controller -+ ID_MODEL_FROM_DATABASE=SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (AMI MegaRAID IDE 100 Controller) - - pci:v00001095d00000650* - ID_MODEL_FROM_DATABASE=PBC0650A -@@ -17850,34 +17850,34 @@ pci:v00001095d00000680* - ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller - - pci:v00001095d00000680sv00001095sd00000680* -- ID_MODEL_FROM_DATABASE=SiI 0680 ATA/133 Controller -+ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (SiI 0680 ATA/133 Controller) - - pci:v00001095d00000680sv00001095sd00003680* -- ID_MODEL_FROM_DATABASE=Winic W-680 (Silicon Image 680 based) -+ ID_MODEL_FROM_DATABASE=PCI0680 Ultra ATA-133 Host Controller (Winic W-680 (Silicon Image 680 based)) - - pci:v00001095d00003112* - ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller - - pci:v00001095d00003112sv00001095sd00003112* -- ID_MODEL_FROM_DATABASE=SiI 3112 SATALink Controller -+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATALink Controller) - - pci:v00001095d00003112sv00001095sd00006112* -- ID_MODEL_FROM_DATABASE=SiI 3112 SATARaid Controller -+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SiI 3112 SATARaid Controller) - - pci:v00001095d00003112sv00009005sd00000250* -- ID_MODEL_FROM_DATABASE=SATAConnect 1205SA Host Controller -+ ID_MODEL_FROM_DATABASE=SiI 3112 [SATALink/SATARaid] Serial ATA Controller (SATAConnect 1205SA Host Controller) - - pci:v00001095d00003114* - ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller - - pci:v00001095d00003114sv00001043sd00008167* -- ID_MODEL_FROM_DATABASE=A8N-SLI Deluxe/Premium Mainboard -+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (A8N-SLI Deluxe/Premium Mainboard) - - pci:v00001095d00003114sv00001095sd00003114* -- ID_MODEL_FROM_DATABASE=SiI 3114 SATALink Controller -+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATALink Controller) - - pci:v00001095d00003114sv00001095sd00006114* -- ID_MODEL_FROM_DATABASE=SiI 3114 SATARaid Controller -+ ID_MODEL_FROM_DATABASE=SiI 3114 [SATALink/SATARaid] Serial ATA Controller (SiI 3114 SATARaid Controller) - - pci:v00001095d00003124* - ID_MODEL_FROM_DATABASE=SiI 3124 PCI-X Serial ATA Controller -@@ -17892,10 +17892,10 @@ pci:v00001095d00003512* - ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller - - pci:v00001095d00003512sv00001095sd00003512* -- ID_MODEL_FROM_DATABASE=SiI 3512 SATALink Controller -+ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATALink Controller) - - pci:v00001095d00003512sv00001095sd00006512* -- ID_MODEL_FROM_DATABASE=SiI 3512 SATARaid Controller -+ ID_MODEL_FROM_DATABASE=SiI 3512 [SATALink/SATARaid] Serial ATA Controller (SiI 3512 SATARaid Controller) - - pci:v00001095d00003531* - ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller -@@ -17949,412 +17949,412 @@ pci:v0000109Ed00000369* - ID_MODEL_FROM_DATABASE=Bt878 Video Capture - - pci:v0000109Ed00000369sv00001002sd00000001* -- ID_MODEL_FROM_DATABASE=TV-Wonder -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder) - - pci:v0000109Ed00000369sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=TV-Wonder/VE -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV-Wonder/VE) - - pci:v0000109Ed0000036C* - ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture - - pci:v0000109Ed0000036Csv000013E9sd00000070* -- ID_MODEL_FROM_DATABASE=Win/TV (Video Section) -+ ID_MODEL_FROM_DATABASE=Bt879(??) Video Capture (Win/TV (Video Section)) - - pci:v0000109Ed0000036E* - ID_MODEL_FROM_DATABASE=Bt878 Video Capture - - pci:v0000109Ed0000036Esv00000070sd000013EB* -- ID_MODEL_FROM_DATABASE=WinTV Series -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinTV Series) - - pci:v0000109Ed0000036Esv00000070sd0000FF01* -- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Viewcast Osprey 200) - - pci:v0000109Ed0000036Esv00000071sd00000101* -- ID_MODEL_FROM_DATABASE=DigiTV PCI -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DigiTV PCI) - - pci:v0000109Ed0000036Esv0000107Dsd00006606* -- ID_MODEL_FROM_DATABASE=WinFast TV 2000 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (WinFast TV 2000) - - pci:v0000109Ed0000036Esv000011BDsd00000012* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) - - pci:v0000109Ed0000036Esv000011BDsd0000001C* -- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV Sat (DBC receiver)) - - pci:v0000109Ed0000036Esv0000127Asd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) - - pci:v0000109Ed0000036Esv0000127Asd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv0000127Asd00000003* -- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv0000127Asd00000048* -- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) - - pci:v0000109Ed0000036Esv0000144Fsd00003000* -- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Video -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (MagicTView CPH060 - Video) - - pci:v0000109Ed0000036Esv00001461sd00000002* -- ID_MODEL_FROM_DATABASE=TV98 Series (TV/No FM/Remote) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (TV98 Series (TV/No FM/Remote)) - - pci:v0000109Ed0000036Esv00001461sd00000003* -- ID_MODEL_FROM_DATABASE=AverMedia UltraTV PCI 350 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia UltraTV PCI 350) - - pci:v0000109Ed0000036Esv00001461sd00000004* -- ID_MODEL_FROM_DATABASE=AVerTV WDM Video Capture -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AVerTV WDM Video Capture) - - pci:v0000109Ed0000036Esv00001461sd00000761* -- ID_MODEL_FROM_DATABASE=AverTV DVB-T -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverTV DVB-T) - - pci:v0000109Ed0000036Esv00001461sd00000771* -- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (AverMedia AVerTV DVB-T 771) - - pci:v0000109Ed0000036Esv000014F1sd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller NTSC -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller NTSC) - - pci:v0000109Ed0000036Esv000014F1sd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878 Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv000014F1sd00000003* -- ID_MODEL_FROM_DATABASE=Bt878a Mediastream Controller PAL BG -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878a Mediastream Controller PAL BG) - - pci:v0000109Ed0000036Esv000014F1sd00000048* -- ID_MODEL_FROM_DATABASE=Bt878/832 Mediastream Controller -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Bt878/832 Mediastream Controller) - - pci:v0000109Ed0000036Esv00001822sd00000001* -- ID_MODEL_FROM_DATABASE=VisionPlus DVB card -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (VisionPlus DVB card) - - pci:v0000109Ed0000036Esv00001851sd00001850* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video) - - pci:v0000109Ed0000036Esv00001851sd00001851* -- ID_MODEL_FROM_DATABASE=FlyVideo II -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo II) - - pci:v0000109Ed0000036Esv00001852sd00001852* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (FlyVideo'98 - Video (with FM Tuner)) - - pci:v0000109Ed0000036Esv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (DViCO FusionHDTV5 Lite) - - pci:v0000109Ed0000036Esv0000270Fsd0000FC00* -- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Digitop DTT-1000) - - pci:v0000109Ed0000036Esv0000AA00sd00001460* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input0) - - pci:v0000109Ed0000036Esv0000AA01sd00001461* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input1) - - pci:v0000109Ed0000036Esv0000AA02sd00001462* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input2) - - pci:v0000109Ed0000036Esv0000AA03sd00001463* -- ID_MODEL_FROM_DATABASE=Spectra8 CardA Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardA Input3) - - pci:v0000109Ed0000036Esv0000AA04sd00001464* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input0) - - pci:v0000109Ed0000036Esv0000AA05sd00001465* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input1) - - pci:v0000109Ed0000036Esv0000AA06sd00001466* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input2) - - pci:v0000109Ed0000036Esv0000AA07sd00001467* -- ID_MODEL_FROM_DATABASE=Spectra8 CardB Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardB Input3) - - pci:v0000109Ed0000036Esv0000AA08sd00001468* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input0) - - pci:v0000109Ed0000036Esv0000AA09sd00001469* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input1) - - pci:v0000109Ed0000036Esv0000AA0Asd0000146A* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input2) - - pci:v0000109Ed0000036Esv0000AA0Bsd0000146B* -- ID_MODEL_FROM_DATABASE=Spectra8 CardC Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardC Input3) - - pci:v0000109Ed0000036Esv0000AA0Csd0000146C* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input0 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input0) - - pci:v0000109Ed0000036Esv0000AA0Dsd0000146D* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input1 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input1) - - pci:v0000109Ed0000036Esv0000AA0Esd0000146E* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input2 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input2) - - pci:v0000109Ed0000036Esv0000AA0Fsd0000146F* -- ID_MODEL_FROM_DATABASE=Spectra8 CardD Input3 -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Spectra8 CardD Input3) - - pci:v0000109Ed0000036Esv0000BD11sd00001200* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Video Capture (PCTV pro (TV + FM stereo receiver)) - - pci:v0000109Ed0000036F* - ID_MODEL_FROM_DATABASE=Bt879 Video Capture - - pci:v0000109Ed0000036Fsv0000127Asd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv0000127Asd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv0000127Asd00000244* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv0000127Asd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv0000127Asd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv0000127Asd00001522* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) - - pci:v0000109Ed0000036Fsv0000127Asd00001622* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) - - pci:v0000109Ed0000036Fsv0000127Asd00001722* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv000014F1sd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv000014F1sd00000244* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL I) - - pci:v0000109Ed0000036Fsv000014F1sd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (PAL BG) - - pci:v0000109Ed0000036Fsv000014F1sd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (NTSC) - - pci:v0000109Ed0000036Fsv000014F1sd00001522* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL I -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL I) - - pci:v0000109Ed0000036Fsv000014F1sd00001622* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture PAL BG -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture PAL BG) - - pci:v0000109Ed0000036Fsv000014F1sd00001722* -- ID_MODEL_FROM_DATABASE=Bt879a Video Capture NTSC -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Bt879a Video Capture NTSC) - - pci:v0000109Ed0000036Fsv00001851sd00001850* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video) - - pci:v0000109Ed0000036Fsv00001851sd00001851* -- ID_MODEL_FROM_DATABASE=FlyVideo II -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo II) - - pci:v0000109Ed0000036Fsv00001852sd00001852* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 - Video (with FM Tuner) -+ ID_MODEL_FROM_DATABASE=Bt879 Video Capture (FlyVideo'98 - Video (with FM Tuner)) - - pci:v0000109Ed00000370* - ID_MODEL_FROM_DATABASE=Bt880 Video Capture - - pci:v0000109Ed00000370sv00001851sd00001850* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 -+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98) - - pci:v0000109Ed00000370sv00001851sd00001851* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 EZ - video -+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 EZ - video) - - pci:v0000109Ed00000370sv00001852sd00001852* -- ID_MODEL_FROM_DATABASE=FlyVideo'98 (with FM Tuner) -+ ID_MODEL_FROM_DATABASE=Bt880 Video Capture (FlyVideo'98 (with FM Tuner)) - - pci:v0000109Ed00000878* - ID_MODEL_FROM_DATABASE=Bt878 Audio Capture - - pci:v0000109Ed00000878sv00000070sd000013EB* -- ID_MODEL_FROM_DATABASE=WinTV Series -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (WinTV Series) - - pci:v0000109Ed00000878sv00000070sd0000FF01* -- ID_MODEL_FROM_DATABASE=Viewcast Osprey 200 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Viewcast Osprey 200) - - pci:v0000109Ed00000878sv00000071sd00000101* -- ID_MODEL_FROM_DATABASE=DigiTV PCI -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DigiTV PCI) - - pci:v0000109Ed00000878sv00001002sd00000001* -- ID_MODEL_FROM_DATABASE=TV-Wonder -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder) - - pci:v0000109Ed00000878sv00001002sd00000003* -- ID_MODEL_FROM_DATABASE=TV-Wonder/VE -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (TV-Wonder/VE) - - pci:v0000109Ed00000878sv000011BDsd00000012* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) - - pci:v0000109Ed00000878sv000011BDsd0000001C* -- ID_MODEL_FROM_DATABASE=PCTV Sat (DBC receiver) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV Sat (DBC receiver)) - - pci:v0000109Ed00000878sv0000127Asd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv0000127Asd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv0000127Asd00000003* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv0000127Asd00000048* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000013E9sd00000070* -- ID_MODEL_FROM_DATABASE=Win/TV (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Win/TV (Audio Section)) - - pci:v0000109Ed00000878sv0000144Fsd00003000* -- ID_MODEL_FROM_DATABASE=MagicTView CPH060 - Audio -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (MagicTView CPH060 - Audio) - - pci:v0000109Ed00000878sv00001461sd00000002* -- ID_MODEL_FROM_DATABASE=Avermedia PCTV98 Audio Capture -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Avermedia PCTV98 Audio Capture) - - pci:v0000109Ed00000878sv00001461sd00000003* -- ID_MODEL_FROM_DATABASE=UltraTV PCI 350 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (UltraTV PCI 350) - - pci:v0000109Ed00000878sv00001461sd00000004* -- ID_MODEL_FROM_DATABASE=AVerTV WDM Audio Capture -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV WDM Audio Capture) - - pci:v0000109Ed00000878sv00001461sd00000761* -- ID_MODEL_FROM_DATABASE=AVerTV DVB-T -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AVerTV DVB-T) - - pci:v0000109Ed00000878sv00001461sd00000771* -- ID_MODEL_FROM_DATABASE=AverMedia AVerTV DVB-T 771 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (AverMedia AVerTV DVB-T 771) - - pci:v0000109Ed00000878sv000014F1sd00000001* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000014F1sd00000002* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000014F1sd00000003* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv000014F1sd00000048* -- ID_MODEL_FROM_DATABASE=Bt878 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Bt878 Video Capture (Audio Section)) - - pci:v0000109Ed00000878sv00001822sd00000001* -- ID_MODEL_FROM_DATABASE=VisionPlus DVB Card -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (VisionPlus DVB Card) - - pci:v0000109Ed00000878sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Lite -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (DViCO FusionHDTV5 Lite) - - pci:v0000109Ed00000878sv0000270Fsd0000FC00* -- ID_MODEL_FROM_DATABASE=Digitop DTT-1000 -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (Digitop DTT-1000) - - pci:v0000109Ed00000878sv0000BD11sd00001200* -- ID_MODEL_FROM_DATABASE=PCTV pro (TV + FM stereo receiver, audio section) -+ ID_MODEL_FROM_DATABASE=Bt878 Audio Capture (PCTV pro (TV + FM stereo receiver, audio section)) - - pci:v0000109Ed00000879* - ID_MODEL_FROM_DATABASE=Bt879 Audio Capture - - pci:v0000109Ed00000879sv0000127Asd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000244* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001522* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001622* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv0000127Asd00001722* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000044* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000144* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000244* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00000422* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001122* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001222* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001322* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001522* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001622* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000879sv000014F1sd00001722* -- ID_MODEL_FROM_DATABASE=Bt879 Video Capture (Audio Section) -+ ID_MODEL_FROM_DATABASE=Bt879 Audio Capture (Bt879 Video Capture (Audio Section)) - - pci:v0000109Ed00000880* - ID_MODEL_FROM_DATABASE=Bt880 Audio Capture -@@ -18585,7 +18585,7 @@ pci:v000010B4d00001B1D* - ID_MODEL_FROM_DATABASE=Velocity 128 3D - - pci:v000010B4d00001B1Dsv000010B4sd0000237E* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=Velocity 128 3D (Velocity 4400) - - pci:v000010B5* - ID_VENDOR_FROM_DATABASE=PLX Technology, Inc. -@@ -18597,13 +18597,13 @@ pci:v000010B5d00000557* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00000557sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card) - - pci:v000010B5d00001000* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00001000sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM AT400P Quad T1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AT400P Quad T1 PCI card) - - pci:v000010B5d00001024* - ID_MODEL_FROM_DATABASE=Acromag, Inc. IndustryPack Carrier Card -@@ -18636,7 +18636,7 @@ pci:v000010B5d00002000* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00002000sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM AE400P Quad E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM AE400P Quad E1 PCI card) - - pci:v000010B5d00002540* - ID_MODEL_FROM_DATABASE=IXXAT CAN-Interface PC-I 04/PCI -@@ -18651,19 +18651,19 @@ pci:v000010B5d00004000* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00004000sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card) - - pci:v000010B5d00004001* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00004001sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM A400PE Quad E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PE Quad E1 PCI card) - - pci:v000010B5d00004002* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00004002sv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=ATCOM A400PT Quad T1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (ATCOM A400PT Quad T1 PCI card) - - pci:v000010B5d00006140* - ID_MODEL_FROM_DATABASE=PCI6140 32-bit 33MHz PCI-to-PCI Bridge -@@ -18690,28 +18690,28 @@ pci:v000010B5d00006540* - ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge - - pci:v000010B5d00006540sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (CR11 Single Board Computer) - - pci:v000010B5d00006540sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge (PSL09 PrPMC) - - pci:v000010B5d00006541* - ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) - - pci:v000010B5d00006541sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (CR11 Single Board Computer) - - pci:v000010B5d00006541sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) (PSL09 PrPMC) - - pci:v000010B5d00006542* - ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) - - pci:v000010B5d00006542sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (CR11 Single Board Computer) - - pci:v000010B5d00006542sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) (PSL09 PrPMC) - - pci:v000010B5d00008111* - ID_MODEL_FROM_DATABASE=PEX 8111 PCI Express-to-PCI Bridge -@@ -18807,7 +18807,7 @@ pci:v000010B5d00008624* - ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] - - pci:v000010B5d00008624sv000013A3sd00001845* -- ID_MODEL_FROM_DATABASE=DX1845 Acceleration Card -+ ID_MODEL_FROM_DATABASE=PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] (DX1845 Acceleration Card) - - pci:v000010B5d00008625* - ID_MODEL_FROM_DATABASE=PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch -@@ -18861,85 +18861,85 @@ pci:v000010B5d00009030* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009030sv000010B5sd00002695* -- ID_MODEL_FROM_DATABASE=Hilscher CIF50-PB/DPS Profibus -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Hilscher CIF50-PB/DPS Profibus) - - pci:v000010B5d00009030sv000010B5sd00002862* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00002906* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board) - - pci:v000010B5d00009030sv000010B5sd00002940* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00002977* -- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCI CAN Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCI CAN Board) - - pci:v000010B5d00009030sv000010B5sd00002978* -- ID_MODEL_FROM_DATABASE=SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card) - - pci:v000010B5d00009030sv000010B5sd00003025* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00003068* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000010B5sd00003463* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board) - - pci:v000010B5d00009030sv000012FEsd00000111* -- ID_MODEL_FROM_DATABASE=CPCI-ASIO4 (ESD 4-port Serial Interface Board) -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (CPCI-ASIO4 (ESD 4-port Serial Interface Board)) - - pci:v000010B5d00009030sv00001369sd00009C01* -- ID_MODEL_FROM_DATABASE=VX222v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222v2) - - pci:v000010B5d00009030sv00001369sd00009D01* -- ID_MODEL_FROM_DATABASE=VX222-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) - - pci:v000010B5d00009030sv00001369sd00009D02* -- ID_MODEL_FROM_DATABASE=VX222-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (VX222-Mic) - - pci:v000010B5d00009030sv00001369sd00009E01* -- ID_MODEL_FROM_DATABASE=PCX924v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924v2) - - pci:v000010B5d00009030sv00001369sd00009F01* -- ID_MODEL_FROM_DATABASE=PCX924-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) - - pci:v000010B5d00009030sv00001369sd00009F02* -- ID_MODEL_FROM_DATABASE=PCX924-Mic -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX924-Mic) - - pci:v000010B5d00009030sv00001369sd0000A001* -- ID_MODEL_FROM_DATABASE=PCX22v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (PCX22v2) - - pci:v000010B5d00009030sv00001369sd0000A701* -- ID_MODEL_FROM_DATABASE=LCM220v2 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM220v2) - - pci:v000010B5d00009030sv00001369sd0000A801* -- ID_MODEL_FROM_DATABASE=LCM200 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (LCM200) - - pci:v000010B5d00009030sv00001397sd00003136* -- ID_MODEL_FROM_DATABASE=4xS0-ISDN PCI Adapter -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (4xS0-ISDN PCI Adapter) - - pci:v000010B5d00009030sv00001397sd00003137* -- ID_MODEL_FROM_DATABASE=S2M-E1-ISDN PCI Adapter -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (S2M-E1-ISDN PCI Adapter) - - pci:v000010B5d00009030sv00001518sd00000200* -- ID_MODEL_FROM_DATABASE=Kontron ThinkIO-C -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Kontron ThinkIO-C) - - pci:v000010B5d00009030sv000015EDsd00001002* -- ID_MODEL_FROM_DATABASE=MCCS 8-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 8-port Serial Hot Swap) - - pci:v000010B5d00009030sv000015EDsd00001003* -- ID_MODEL_FROM_DATABASE=MCCS 16-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (MCCS 16-port Serial Hot Swap) - - pci:v000010B5d00009030sv0000E1C5sd00000001* -- ID_MODEL_FROM_DATABASE=TE1-PCI -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TE1-PCI) - - pci:v000010B5d00009030sv0000E1C5sd00000005* -- ID_MODEL_FROM_DATABASE=TA1-PCI -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI) - - pci:v000010B5d00009030sv0000E1C5sd00000006* -- ID_MODEL_FROM_DATABASE=TA1-PCI4 -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (TA1-PCI4) - - pci:v000010B5d00009036* - ID_MODEL_FROM_DATABASE=9036 -@@ -18948,145 +18948,145 @@ pci:v000010B5d00009050* - ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge - - pci:v000010B5d00009050sv000010B5sd00001067* -- ID_MODEL_FROM_DATABASE=IXXAT CAN i165 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IXXAT CAN i165) - - pci:v000010B5d00009050sv000010B5sd0000114E* -- ID_MODEL_FROM_DATABASE=Wasco WITIO PCI168extended -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco WITIO PCI168extended) - - pci:v000010B5d00009050sv000010B5sd00001169* -- ID_MODEL_FROM_DATABASE=Wasco OPTOIO32standard 32 digital in, 32 digital out -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Wasco OPTOIO32standard 32 digital in, 32 digital out) - - pci:v000010B5d00009050sv000010B5sd00001172* -- ID_MODEL_FROM_DATABASE=IK220 (Heidenhain) -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IK220 (Heidenhain)) - - pci:v000010B5d00009050sv000010B5sd00002036* -- ID_MODEL_FROM_DATABASE=SatPak GPS -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SatPak GPS) - - pci:v000010B5d00009050sv000010B5sd00002221* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI LV: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI LV: Timecode Reader Board) - - pci:v000010B5d00009050sv000010B5sd00002273* -- ID_MODEL_FROM_DATABASE=SH ARC-PCI SOHARD ARCNET card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (SH ARC-PCI SOHARD ARCNET card) - - pci:v000010B5d00009050sv000010B5sd00002431* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCI D: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCL PCI D: Timecode Reader Board) - - pci:v000010B5d00009050sv000010B5sd00002905* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCI TS: Time Synchronisation Board -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Alpermann+Velte PCI TS: Time Synchronisation Board) - - pci:v000010B5d00009050sv000010B5sd00003196* -- ID_MODEL_FROM_DATABASE=Goramo PLX200SYN sync serial card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Goramo PLX200SYN sync serial card) - - pci:v000010B5d00009050sv000010B5sd00009050* -- ID_MODEL_FROM_DATABASE=PCI-I04 PCI Passive PC/CAN Interface -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCI-I04 PCI Passive PC/CAN Interface) - - pci:v000010B5d00009050sv00001369sd00008901* -- ID_MODEL_FROM_DATABASE=PCX11+ PCI -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX11+ PCI) - - pci:v000010B5d00009050sv00001369sd00008F01* -- ID_MODEL_FROM_DATABASE=VX222 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (VX222) - - pci:v000010B5d00009050sv00001369sd00009401* -- ID_MODEL_FROM_DATABASE=PCX924 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX924) - - pci:v000010B5d00009050sv00001369sd00009501* -- ID_MODEL_FROM_DATABASE=PCX22 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCX22) - - pci:v000010B5d00009050sv00001498sd00000362* -- ID_MODEL_FROM_DATABASE=TPMC866 8 Channel Serial Card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (TPMC866 8 Channel Serial Card) - - pci:v000010B5d00009050sv00001522sd00000001* -- ID_MODEL_FROM_DATABASE=RockForce 4 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 4 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000002* -- ID_MODEL_FROM_DATABASE=RockForce 2 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 2 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000003* -- ID_MODEL_FROM_DATABASE=RockForce 6 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 6 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000004* -- ID_MODEL_FROM_DATABASE=RockForce 8 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce 8 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000010* -- ID_MODEL_FROM_DATABASE=RockForce2000 4 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 4 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv00001522sd00000020* -- ID_MODEL_FROM_DATABASE=RockForce2000 2 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce2000 2 Port V.90 Data/Fax/Voice Modem) - - pci:v000010B5d00009050sv000015EDsd00001000* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial) - - pci:v000010B5d00009050sv000015EDsd00001001* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial) - - pci:v000010B5d00009050sv000015EDsd00001002* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 8-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 8-port Serial Hot Swap) - - pci:v000010B5d00009050sv000015EDsd00001003* -- ID_MODEL_FROM_DATABASE=Macrolink MCCS 16-port Serial Hot Swap -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (Macrolink MCCS 16-port Serial Hot Swap) - - pci:v000010B5d00009050sv00005654sd00002036* -- ID_MODEL_FROM_DATABASE=OpenSwitch 6 Telephony card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 6 Telephony card) - - pci:v000010B5d00009050sv00005654sd00003132* -- ID_MODEL_FROM_DATABASE=OpenSwitch 12 Telephony card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenSwitch 12 Telephony card) - - pci:v000010B5d00009050sv00005654sd00005634* -- ID_MODEL_FROM_DATABASE=OpenLine4 Telephony Card -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (OpenLine4 Telephony Card) - - pci:v000010B5d00009050sv0000D531sd0000C002* -- ID_MODEL_FROM_DATABASE=PCIntelliCAN 2xSJA1000 CAN bus -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (PCIntelliCAN 2xSJA1000 CAN bus) - - pci:v000010B5d00009050sv0000D84Dsd00004006* -- ID_MODEL_FROM_DATABASE=EX-4006 1P -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4006 1P) - - pci:v000010B5d00009050sv0000D84Dsd00004008* -- ID_MODEL_FROM_DATABASE=EX-4008 1P EPP/ECP -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4008 1P EPP/ECP) - - pci:v000010B5d00009050sv0000D84Dsd00004014* -- ID_MODEL_FROM_DATABASE=EX-4014 2P -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4014 2P) - - pci:v000010B5d00009050sv0000D84Dsd00004018* -- ID_MODEL_FROM_DATABASE=EX-4018 3P EPP/ECP -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4018 3P EPP/ECP) - - pci:v000010B5d00009050sv0000D84Dsd00004025* -- ID_MODEL_FROM_DATABASE=EX-4025 1S(16C550) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4025 1S(16C550) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004027* -- ID_MODEL_FROM_DATABASE=EX-4027 1S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4027 1S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004028* -- ID_MODEL_FROM_DATABASE=EX-4028 1S(16C850) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4028 1S(16C850) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004036* -- ID_MODEL_FROM_DATABASE=EX-4036 2S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4036 2S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004037* -- ID_MODEL_FROM_DATABASE=EX-4037 2S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4037 2S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004038* -- ID_MODEL_FROM_DATABASE=EX-4038 2S(16C850) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4038 2S(16C850) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004052* -- ID_MODEL_FROM_DATABASE=EX-4052 1S(16C550) RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4052 1S(16C550) RS-422/485) - - pci:v000010B5d00009050sv0000D84Dsd00004053* -- ID_MODEL_FROM_DATABASE=EX-4053 2S(16C550) RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4053 2S(16C550) RS-422/485) - - pci:v000010B5d00009050sv0000D84Dsd00004055* -- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C550) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C550) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004058* -- ID_MODEL_FROM_DATABASE=EX-4055 4S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4055 4S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004065* -- ID_MODEL_FROM_DATABASE=EX-4065 8S(16C550) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4065 8S(16C550) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004068* -- ID_MODEL_FROM_DATABASE=EX-4068 8S(16C650) RS-232 -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4068 8S(16C650) RS-232) - - pci:v000010B5d00009050sv0000D84Dsd00004078* -- ID_MODEL_FROM_DATABASE=EX-4078 2S(16C552) RS-232+1P -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (EX-4078 2S(16C552) RS-232+1P) - - pci:v000010B5d00009052* - ID_MODEL_FROM_DATABASE=PCI9052 PCI <-> IOBus Bridge -@@ -19095,88 +19095,88 @@ pci:v000010B5d00009054* - ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009054sv000010B5sd00002455* -- ID_MODEL_FROM_DATABASE=Wessex Techology PHIL-PCI -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Wessex Techology PHIL-PCI) - - pci:v000010B5d00009054sv000010B5sd00002696* -- ID_MODEL_FROM_DATABASE=Innes Corp AM Radcap card -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp AM Radcap card) - - pci:v000010B5d00009054sv000010B5sd00002717* -- ID_MODEL_FROM_DATABASE=Innes Corp Auricon card -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp Auricon card) - - pci:v000010B5d00009054sv000010B5sd00002844* -- ID_MODEL_FROM_DATABASE=Innes Corp TVS Encoder card -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Innes Corp TVS Encoder card) - - pci:v000010B5d00009054sv000012C7sd00004001* -- ID_MODEL_FROM_DATABASE=Intel Dialogic DM/V960-4T1 PCI -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Intel Dialogic DM/V960-4T1 PCI) - - pci:v000010B5d00009054sv000012D9sd00000002* -- ID_MODEL_FROM_DATABASE=PCI Prosody Card rev 1.5 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PCI Prosody Card rev 1.5) - - pci:v000010B5d00009054sv000014B4sd0000D100* -- ID_MODEL_FROM_DATABASE=Dektec DTA-100 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-100) - - pci:v000010B5d00009054sv000014B4sd0000D114* -- ID_MODEL_FROM_DATABASE=Dektec DTA-120 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (Dektec DTA-120) - - pci:v000010B5d00009054sv000016DFsd00000011* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM PCI -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM PCI) - - pci:v000010B5d00009054sv000016DFsd00000012* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8) - - pci:v000010B5d00009054sv000016DFsd00000013* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 8 (without CAS Signaling) -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 8 (without CAS Signaling)) - - pci:v000010B5d00009054sv000016DFsd00000014* -- ID_MODEL_FROM_DATABASE=PIKA PrimeNet MM cPCI 4 -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA PrimeNet MM cPCI 4) - - pci:v000010B5d00009054sv000016DFsd00000015* -- ID_MODEL_FROM_DATABASE=PIKA Daytona MM -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA Daytona MM) - - pci:v000010B5d00009054sv000016DFsd00000016* -- ID_MODEL_FROM_DATABASE=PIKA InLine MM -+ ID_MODEL_FROM_DATABASE=PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (PIKA InLine MM) - - pci:v000010B5d00009056* - ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009056sv000010B5sd00002979* -- ID_MODEL_FROM_DATABASE=CellinkBlade 11 - CPCI board VoATM AAL1 -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (CellinkBlade 11 - CPCI board VoATM AAL1) - - pci:v000010B5d00009056sv000010B5sd00003268* -- ID_MODEL_FROM_DATABASE=IXXAT iPC-I XC16/PCIe CAN Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (IXXAT iPC-I XC16/PCIe CAN Board) - - pci:v000010B5d00009056sv000010B5sd00003352* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe HD: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe HD: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003353* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe D: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe D: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003354* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe LV: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe LV: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003355* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe L: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe L: Timecode Reader Board) - - pci:v000010B5d00009056sv000010B5sd00003415* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCIe TS: Time Synchronisation Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCIe TS: Time Synchronisation Board) - - pci:v000010B5d00009056sv000010B5sd00003493* -- ID_MODEL_FROM_DATABASE=Alpermann+Velte PCL PCIe 3G: Timecode Reader Board -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Alpermann+Velte PCL PCIe 3G: Timecode Reader Board) - - pci:v000010B5d00009056sv00001369sd0000C001* -- ID_MODEL_FROM_DATABASE=LX6464ES -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX6464ES) - - pci:v000010B5d00009056sv00001369sd0000C201* -- ID_MODEL_FROM_DATABASE=LX1616ES -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (LX1616ES) - - pci:v000010B5d00009056sv000014B4sd0000D10A* -- ID_MODEL_FROM_DATABASE=DekTec DTA-110T -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (DekTec DTA-110T) - - pci:v000010B5d00009056sv000014B4sd0000D140* -- ID_MODEL_FROM_DATABASE=Dektec DTA-140 -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-140) - - pci:v000010B5d00009056sv00001A0Esd0000006F* -- ID_MODEL_FROM_DATABASE=Dektec DTA-111 -+ ID_MODEL_FROM_DATABASE=PCI9056 32-bit 66MHz PCI <-> IOBus Bridge (Dektec DTA-111) - - pci:v000010B5d00009060* - ID_MODEL_FROM_DATABASE=PCI9060 32-bit 33MHz PCI <-> IOBus Bridge -@@ -19185,7 +19185,7 @@ pci:v000010B5d0000906D* - ID_MODEL_FROM_DATABASE=9060SD - - pci:v000010B5d0000906Dsv0000125Csd00000640* -- ID_MODEL_FROM_DATABASE=Aries 16000P -+ ID_MODEL_FROM_DATABASE=9060SD (Aries 16000P) - - pci:v000010B5d0000906E* - ID_MODEL_FROM_DATABASE=9060ES -@@ -19194,61 +19194,61 @@ pci:v000010B5d00009080* - ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d00009080sv0000103Csd000010EB* -- ID_MODEL_FROM_DATABASE=(Agilent) E2777B 83K Series Optical Communication Interface -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E2777B 83K Series Optical Communication Interface) - - pci:v000010B5d00009080sv0000103Csd000010EC* -- ID_MODEL_FROM_DATABASE=(Agilent) E6978-66442 PCI CIC -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge ((Agilent) E6978-66442 PCI CIC) - - pci:v000010B5d00009080sv000010B5sd00001123* -- ID_MODEL_FROM_DATABASE=Sectra KK631 encryption board -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (Sectra KK631 encryption board) - - pci:v000010B5d00009080sv000010B5sd00009080* -- ID_MODEL_FROM_DATABASE=9080 [real subsystem ID not set] -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (9080 [real subsystem ID not set]) - - pci:v000010B5d00009080sv000012D9sd00000002* -- ID_MODEL_FROM_DATABASE=PCI Prosody Card -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCI Prosody Card) - - pci:v000010B5d00009080sv000012DFsd00004422* -- ID_MODEL_FROM_DATABASE=4422PCI ["Do-All" Telemetry Data Aquisition System] -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (4422PCI ["Do-All" Telemetry Data Aquisition System]) - - pci:v000010B5d00009080sv00001369sd00009601* -- ID_MODEL_FROM_DATABASE=PCX822np -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822np) - - pci:v000010B5d00009080sv00001369sd0000A102* -- ID_MODEL_FROM_DATABASE=PCX822v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX822v2) - - pci:v000010B5d00009080sv00001369sd0000A201* -- ID_MODEL_FROM_DATABASE=PCX442 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (PCX442) - - pci:v000010B5d00009080sv00001369sd0000A301* -- ID_MODEL_FROM_DATABASE=LCM440v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM440v2) - - pci:v000010B5d00009080sv00001369sd0000A401* -- ID_MODEL_FROM_DATABASE=VX822 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822) - - pci:v000010B5d00009080sv00001369sd0000A402* -- ID_MODEL_FROM_DATABASE=VX822v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX822v2) - - pci:v000010B5d00009080sv00001369sd0000A901* -- ID_MODEL_FROM_DATABASE=LCM420 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (LCM420) - - pci:v000010B5d00009080sv00001369sd0000AA01* -- ID_MODEL_FROM_DATABASE=VX820v2 -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (VX820v2) - - pci:v000010B5d00009080sv00001517sd0000000B* -- ID_MODEL_FROM_DATABASE=ECSG-1R3ADC-PMC Clock synthesizer -+ ID_MODEL_FROM_DATABASE=PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (ECSG-1R3ADC-PMC Clock synthesizer) - - pci:v000010B5d00009656* - ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge - - pci:v000010B5d00009656sv00001517sd0000000F* -- ID_MODEL_FROM_DATABASE=ECDR-GC314-PMC Receiver -+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (ECDR-GC314-PMC Receiver) - - pci:v000010B5d00009656sv00001885sd00000700* -- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S40 -+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S40) - - pci:v000010B5d00009656sv00001885sd00000701* -- ID_MODEL_FROM_DATABASE=Tsunami FPGA PMC with Altera Stratix S30 -+ ID_MODEL_FROM_DATABASE=PCI9656 PCI <-> IOBus Bridge (Tsunami FPGA PMC with Altera Stratix S30) - - pci:v000010B5d0000A100* - ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink -@@ -19263,28 +19263,28 @@ pci:v000010B5d0000D00D* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d0000D00Dsv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card) - - pci:v000010B5d0000D33D* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d0000D33Dsv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PT Quad T1/J1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PT Quad T1/J1 PCI card) - - pci:v000010B5d0000D44D* - ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge - - pci:v000010B5d0000D44Dsv000010B5sd000017F6* -- ID_MODEL_FROM_DATABASE=Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card) - - pci:v000010B5d0000D44Dsv000010B5sd000017F7* -- ID_MODEL_FROM_DATABASE=Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card) - - pci:v000010B5d0000D44Dsv000010B5sd000017F8* -- ID_MODEL_FROM_DATABASE=Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card) - - pci:v000010B5d0000D44Dsv000010B5sd00009030* -- ID_MODEL_FROM_DATABASE=Tormenta 3 Varion V401PE Quad E1 PCI card -+ ID_MODEL_FROM_DATABASE=PCI9030 32-bit 33MHz PCI <-> IOBus Bridge (Tormenta 3 Varion V401PE Quad E1 PCI card) - - pci:v000010B6* - ID_VENDOR_FROM_DATABASE=Madge Networks -@@ -19299,19 +19299,19 @@ pci:v000010B6d00000002sv000010B6sd00000002* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 - - pci:v000010B6d00000002sv000010B6sd00000006* -- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter -+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk2 (16/4 CardBus Adapter) - - pci:v000010B6d00000003* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 - - pci:v000010B6d00000003sv00000E11sd0000B0FD* -- ID_MODEL_FROM_DATABASE=Compaq NC4621 PCI, 4/16, WOL -+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Compaq NC4621 PCI, 4/16, WOL) - - pci:v000010B6d00000003sv000010B6sd00000003* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 - - pci:v000010B6d00000003sv000010B6sd00000007* -- ID_MODEL_FROM_DATABASE=Presto PCI Plus Adapter -+ ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk3 (Presto PCI Plus Adapter) - - pci:v000010B6d00000004* - ID_MODEL_FROM_DATABASE=Smart 16/4 PCI Ringnode Mk1 -@@ -19320,13 +19320,13 @@ pci:v000010B6d00000006* - ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter - - pci:v000010B6d00000006sv000010B6sd00000006* -- ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter -+ ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter (16/4 CardBus Adapter) - - pci:v000010B6d00000007* - ID_MODEL_FROM_DATABASE=Presto PCI Adapter - - pci:v000010B6d00000007sv000010B6sd00000007* -- ID_MODEL_FROM_DATABASE=Presto PCI -+ ID_MODEL_FROM_DATABASE=Presto PCI Adapter (Presto PCI) - - pci:v000010B6d00000009* - ID_MODEL_FROM_DATABASE=Smart 100/16/4 PCI-HS Ringnode -@@ -19347,7 +19347,7 @@ pci:v000010B6d0000000Bsv000010B6sd00000008* - ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 - - pci:v000010B6d0000000Bsv000010B6sd0000000B* -- ID_MODEL_FROM_DATABASE=16/4 Cardbus Adapter Mk2 -+ ID_MODEL_FROM_DATABASE=16/4 CardBus Adapter Mk2 (16/4 Cardbus Adapter Mk2) - - pci:v000010B6d0000000C* - ID_MODEL_FROM_DATABASE=RapidFire 3140V2 16/4 TR Adapter -@@ -19368,13 +19368,13 @@ pci:v000010B7d00000001* - ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) - - pci:v000010B7d00000001sv00009850sd00000001* -- ID_MODEL_FROM_DATABASE=3c985B-SX -+ ID_MODEL_FROM_DATABASE=3c985 1000BaseSX (SX/TX) (3c985B-SX) - - pci:v000010B7d00000013* - ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) - - pci:v000010B7d00000013sv000010B7sd00002031* -- ID_MODEL_FROM_DATABASE=3CRDAG675 11a/b/g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (3CRDAG675) (3CRDAG675 11a/b/g Wireless PCI Adapter) - - pci:v000010B7d00000910* - ID_MODEL_FROM_DATABASE=3C910-A01 -@@ -19386,10 +19386,10 @@ pci:v000010B7d00001007* - ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem - - pci:v000010B7d00001007sv000010B7sd0000615B* -- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem -+ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) - - pci:v000010B7d00001007sv000010B7sd0000615C* -- ID_MODEL_FROM_DATABASE=Mini PCI 56K Modem -+ ID_MODEL_FROM_DATABASE=Mini PCI 56k Winmodem (Mini PCI 56K Modem) - - pci:v000010B7d00001201* - ID_MODEL_FROM_DATABASE=3c982-TXM 10/100baseTX Dual Port A [Hydra] -@@ -19401,16 +19401,16 @@ pci:v000010B7d00001700* - ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] - - pci:v000010B7d00001700sv00001043sd000080EB* -- ID_MODEL_FROM_DATABASE=A7V600/P4P800/K8V motherboard -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (A7V600/P4P800/K8V motherboard) - - pci:v000010B7d00001700sv000010B7sd00000010* -- ID_MODEL_FROM_DATABASE=3C940 Gigabit LOM Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C940 Gigabit LOM Ethernet Adapter) - - pci:v000010B7d00001700sv000010B7sd00000020* -- ID_MODEL_FROM_DATABASE=3C941 Gigabit LOM Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (3C941 Gigabit LOM Ethernet Adapter) - - pci:v000010B7d00001700sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=3c940 10/100/1000Base-T [Marvell] (KV8-MAX3 motherboard) - - pci:v000010B7d00003390* - ID_MODEL_FROM_DATABASE=3c339 TokenLink Velocity -@@ -19419,7 +19419,7 @@ pci:v000010B7d00003590* - ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL - - pci:v000010B7d00003590sv000010B7sd00003590* -- ID_MODEL_FROM_DATABASE=TokenLink Velocity XL Adapter (3C359/359B) -+ ID_MODEL_FROM_DATABASE=3c359 TokenLink Velocity XL (TokenLink Velocity XL Adapter (3C359/359B)) - - pci:v000010B7d00004500* - ID_MODEL_FROM_DATABASE=3c450 HomePNA [Tornado] -@@ -19431,19 +19431,19 @@ pci:v000010B7d00005057* - ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] - - pci:v000010B7d00005057sv000010B7sd00005A57* -- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card -+ ID_MODEL_FROM_DATABASE=3c575 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) - - pci:v000010B7d00005157* - ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] - - pci:v000010B7d00005157sv000010B7sd00005B57* -- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card -+ ID_MODEL_FROM_DATABASE=3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] (3C575 Megahertz 10/100 LAN Cardbus PC Card) - - pci:v000010B7d00005257* - ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] - - pci:v000010B7d00005257sv000010B7sd00005C57* -- ID_MODEL_FROM_DATABASE=FE575C-3Com 10/100 LAN CardBus-Fast Ethernet -+ ID_MODEL_FROM_DATABASE=3cCFE575CT CardBus [Cyclone] (FE575C-3Com 10/100 LAN CardBus-Fast Ethernet) - - pci:v000010B7d00005900* - ID_MODEL_FROM_DATABASE=3c590 10BaseT [Vortex] -@@ -19467,7 +19467,7 @@ pci:v000010B7d00005B57* - ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] - - pci:v000010B7d00005B57sv000010B7sd00005B57* -- ID_MODEL_FROM_DATABASE=3C575 Megahertz 10/100 LAN Cardbus PC Card -+ ID_MODEL_FROM_DATABASE=3c595 Megahertz 10/100 LAN CardBus [Boomerang] (3C575 Megahertz 10/100 LAN Cardbus PC Card) - - pci:v000010B7d00006000* - ID_MODEL_FROM_DATABASE=3CRSHPW796 [OfficeConnect Wireless CardBus] -@@ -19482,31 +19482,31 @@ pci:v000010B7d00006056* - ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] - - pci:v000010B7d00006056sv000010B7sd00006556* -- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c556B CardBus [Tornado] (10/100 Mini PCI Ethernet Adapter) - - pci:v000010B7d00006560* - ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] - - pci:v000010B7d00006560sv000010B7sd0000656A* -- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFE656 CardBus [Cyclone] (3CCFEM656 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006561* - ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus - - pci:v000010B7d00006561sv000010B7sd0000656B* -- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFEM656 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006562* - ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] - - pci:v000010B7d00006562sv000010B7sd0000656B* -- ID_MODEL_FROM_DATABASE=3CCFEM656B 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] (3CCFEM656B 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006563* - ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus - - pci:v000010B7d00006563sv000010B7sd0000656B* -- ID_MODEL_FROM_DATABASE=3CCFEM656 10/100 LAN+56K Modem CardBus -+ ID_MODEL_FROM_DATABASE=3cCFEM656B 10/100 LAN+56K Modem CardBus (3CCFEM656 10/100 LAN+56K Modem CardBus) - - pci:v000010B7d00006564* - ID_MODEL_FROM_DATABASE=3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado] -@@ -19542,13 +19542,13 @@ pci:v000010B7d00009004* - ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] - - pci:v000010B7d00009004sv000010B7sd00009004* -- ID_MODEL_FROM_DATABASE=3C900B-TPO Etherlink XL TPO 10Mb -+ ID_MODEL_FROM_DATABASE=3c900B-TPO Etherlink XL [Cyclone] (3C900B-TPO Etherlink XL TPO 10Mb) - - pci:v000010B7d00009005* - ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] - - pci:v000010B7d00009005sv000010B7sd00009005* -- ID_MODEL_FROM_DATABASE=3C900B-Combo Etherlink XL Combo -+ ID_MODEL_FROM_DATABASE=3c900B-Combo Etherlink XL [Cyclone] (3C900B-Combo Etherlink XL Combo) - - pci:v000010B7d00009006* - ID_MODEL_FROM_DATABASE=3c900B-TPC Etherlink XL [Cyclone] -@@ -19572,67 +19572,67 @@ pci:v000010B7d00009055* - ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] - - pci:v000010B7d00009055sv00001028sd00000080* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000081* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000082* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000083* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000084* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000085* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000086* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000087* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000089* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000090* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000091* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000092* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000093* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000094* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000096* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000097* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000098* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv00001028sd00000099* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009055sv000010B7sd00009055* -- ID_MODEL_FROM_DATABASE=3C905B Fast Etherlink XL 10/100 -+ ID_MODEL_FROM_DATABASE=3c905B 100BaseTX [Cyclone] (3C905B Fast Etherlink XL 10/100) - - pci:v000010B7d00009056* - ID_MODEL_FROM_DATABASE=3c905B-T4 Fast EtherLink XL [Cyclone] -@@ -19647,40 +19647,40 @@ pci:v000010B7d00009200* - ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] - - pci:v000010B7d00009200sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) - - pci:v000010B7d00009200sv00001028sd00000097* -- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller) - - pci:v000010B7d00009200sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (OptiPlex GX110) - - pci:v000010B7d00009200sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Precision 530) - - pci:v000010B7d00009200sv00001028sd000000FE* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Optiplex GX240) - - pci:v000010B7d00009200sv00001028sd0000012A* -- ID_MODEL_FROM_DATABASE=3C920 Integrated Fast Ethernet Controller [Latitude C640] -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C920 Integrated Fast Ethernet Controller [Latitude C640]) - - pci:v000010B7d00009200sv000010B7sd00001000* -- ID_MODEL_FROM_DATABASE=3C905CX-TX/TX-M Fast Etherlink for PC Management NIC -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (3C905CX-TX/TX-M Fast Etherlink for PC Management NIC) - - pci:v000010B7d00009200sv000010B7sd00007000* -- ID_MODEL_FROM_DATABASE=10/100 Mini PCI Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (10/100 Mini PCI Ethernet Adapter) - - pci:v000010B7d00009200sv000010F1sd00002466* -- ID_MODEL_FROM_DATABASE=Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller)) - - pci:v000010B7d00009200sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=3c905C-TX/TX-M [Tornado] (X10 Laptop) - - pci:v000010B7d00009201* - ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] - - pci:v000010B7d00009201sv00001043sd000080AB* -- ID_MODEL_FROM_DATABASE=A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller -+ ID_MODEL_FROM_DATABASE=3C920B-EMB Integrated Fast Ethernet Controller [Tornado] (A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller) - - pci:v000010B7d00009202* - ID_MODEL_FROM_DATABASE=3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller -@@ -19695,22 +19695,22 @@ pci:v000010B7d00009800* - ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] - - pci:v000010B7d00009800sv000010B7sd00009800* -- ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter -+ ID_MODEL_FROM_DATABASE=3c980-TX Fast Etherlink XL Server Adapter [Cyclone] (3c980-TX Fast Etherlink XL Server Adapter) - - pci:v000010B7d00009805* - ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] - - pci:v000010B7d00009805sv000010B7sd00001201* -- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port A -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port A) - - pci:v000010B7d00009805sv000010B7sd00001202* -- ID_MODEL_FROM_DATABASE=EtherLink Server 10/100 Dual Port B -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (EtherLink Server 10/100 Dual Port B) - - pci:v000010B7d00009805sv000010B7sd00009805* -- ID_MODEL_FROM_DATABASE=3c980 10/100baseTX NIC [Python-T] -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (3c980 10/100baseTX NIC [Python-T]) - - pci:v000010B7d00009805sv000010F1sd00002462* -- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 -+ ID_MODEL_FROM_DATABASE=3c980-C 10/100baseTX NIC [Python-T] (Thunder K7 S2462) - - pci:v000010B7d00009900* - ID_MODEL_FROM_DATABASE=3C990-TX [Typhoon] -@@ -19725,25 +19725,25 @@ pci:v000010B7d00009904* - ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] - - pci:v000010B7d00009904sv000010B7sd00001000* -- ID_MODEL_FROM_DATABASE=3CR990B-TX-M [Typhoon2] -+ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990B-TX-M [Typhoon2]) - - pci:v000010B7d00009904sv000010B7sd00002000* -- ID_MODEL_FROM_DATABASE=3CR990BSVR [Typhoon2 Server] -+ ID_MODEL_FROM_DATABASE=3C990B-TX-M/3C990BSVR [Typhoon2] (3CR990BSVR [Typhoon2 Server]) - - pci:v000010B7d00009905* - ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] - - pci:v000010B7d00009905sv000010B7sd00001101* -- ID_MODEL_FROM_DATABASE=3CR990-FX-95 [Typhoon Fiber 56-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 [Typhoon Fiber 56-bit]) - - pci:v000010B7d00009905sv000010B7sd00001102* -- ID_MODEL_FROM_DATABASE=3CR990-FX-97 [Typhoon Fiber 168-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 [Typhoon Fiber 168-bit]) - - pci:v000010B7d00009905sv000010B7sd00002101* -- ID_MODEL_FROM_DATABASE=3CR990-FX-95 Server [Typhoon Fiber 56-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-95 Server [Typhoon Fiber 56-bit]) - - pci:v000010B7d00009905sv000010B7sd00002102* -- ID_MODEL_FROM_DATABASE=3CR990-FX-97 Server [Typhoon Fiber 168-bit] -+ ID_MODEL_FROM_DATABASE=3CR990-FX-95/97/95 [Typhon Fiber] (3CR990-FX-97 Server [Typhoon Fiber 168-bit]) - - pci:v000010B7d00009908* - ID_MODEL_FROM_DATABASE=3CR990SVR95 [Typhoon Server 56-bit] -@@ -19764,49 +19764,49 @@ pci:v000010B8d00000005* - ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter - - pci:v000010B8d00000005sv00001055sd0000E000* -- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171Q-PCI] -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171Q-PCI]) - - pci:v000010B8d00000005sv00001055sd0000E002* -- ID_MODEL_FROM_DATABASE=LANEPIC 10/100 [EVB171G-PCI] -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (LANEPIC 10/100 [EVB171G-PCI]) - - pci:v000010B8d00000005sv000010B8sd0000A011* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A014* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A015* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A016* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000005sv000010B8sd0000A017* -- ID_MODEL_FROM_DATABASE=EtherPower II 10/100 -+ ID_MODEL_FROM_DATABASE=83c170 EPIC/100 Fast Ethernet Adapter (EtherPower II 10/100) - - pci:v000010B8d00000006* - ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter - - pci:v000010B8d00000006sv00001055sd0000E100* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv00001055sd0000E102* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv00001055sd0000E300* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv00001055sd0000E302* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv000010B8sd0000A012* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv000013A2sd00008002* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00000006sv000013A2sd00008006* -- ID_MODEL_FROM_DATABASE=LANEPIC Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=83c175 EPIC/100 Fast Ethernet Adapter (LANEPIC Cardbus Fast Ethernet Adapter) - - pci:v000010B8d00001000* - ID_MODEL_FROM_DATABASE=FDC 37c665 -@@ -19869,13 +19869,13 @@ pci:v000010B9d00001521* - ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] - - pci:v000010B9d00001521sv000010B9sd00001521* -- ID_MODEL_FROM_DATABASE=ALI M1521 Aladdin III CPU Bridge -+ ID_MODEL_FROM_DATABASE=M1521 [Aladdin III] (ALI M1521 Aladdin III CPU Bridge) - - pci:v000010B9d00001523* - ID_MODEL_FROM_DATABASE=M1523 - - pci:v000010B9d00001523sv000010B9sd00001523* -- ID_MODEL_FROM_DATABASE=ALI M1523 ISA Bridge -+ ID_MODEL_FROM_DATABASE=M1523 (ALI M1523 ISA Bridge) - - pci:v000010B9d00001531* - ID_MODEL_FROM_DATABASE=M1531 [Aladdin IV] -@@ -19884,16 +19884,16 @@ pci:v000010B9d00001533* - ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] - - pci:v000010B9d00001533sv00001014sd0000053B* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ThinkPad R40e) - - pci:v000010B9d00001533sv000010B9sd00001533* -- ID_MODEL_FROM_DATABASE=ALi M1533 Aladdin IV/V ISA Bridge -+ ID_MODEL_FROM_DATABASE=M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (ALi M1533 Aladdin IV/V ISA Bridge) - - pci:v000010B9d00001541* - ID_MODEL_FROM_DATABASE=M1541 - - pci:v000010B9d00001541sv000010B9sd00001541* -- ID_MODEL_FROM_DATABASE=ALI M1541 Aladdin V/V+ AGP System Controller -+ ID_MODEL_FROM_DATABASE=M1541 (ALI M1541 Aladdin V/V+ AGP System Controller) - - pci:v000010B9d00001543* - ID_MODEL_FROM_DATABASE=M1543 -@@ -19902,10 +19902,10 @@ pci:v000010B9d00001563* - ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge - - pci:v000010B9d00001563sv000010B9sd00001563* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00001563sv00001849sd00001563* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M1563 HyperTransport South Bridge (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00001573* - ID_MODEL_FROM_DATABASE=PCI to LPC Controller -@@ -20007,22 +20007,22 @@ pci:v000010B9d00005229* - ID_MODEL_FROM_DATABASE=M5229 IDE - - pci:v000010B9d00005229sv00001014sd0000050F* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R30) - - pci:v000010B9d00005229sv00001014sd0000053D* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M5229 IDE (ThinkPad R40e) - - pci:v000010B9d00005229sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin IDE -+ ID_MODEL_FROM_DATABASE=M5229 IDE (Pavilion ze4400 builtin IDE) - - pci:v000010B9d00005229sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M5229 IDE (XE4500 Notebook) - - pci:v000010B9d00005229sv00001043sd00008053* -- ID_MODEL_FROM_DATABASE=A7A266 Motherboard IDE -+ ID_MODEL_FROM_DATABASE=M5229 IDE (A7A266 Motherboard IDE) - - pci:v000010B9d00005229sv00001849sd00005229* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard IDE (PATA) -+ ID_MODEL_FROM_DATABASE=M5229 IDE (ASRock 939Dual-SATA2 Motherboard IDE (PATA)) - - pci:v000010B9d00005235* - ID_MODEL_FROM_DATABASE=M5225 -@@ -20031,31 +20031,31 @@ pci:v000010B9d00005237* - ID_MODEL_FROM_DATABASE=USB 1.1 Controller - - pci:v000010B9d00005237sv00001014sd00000540* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ThinkPad R40e) - - pci:v000010B9d00005237sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin USB -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (Pavilion ze4400 builtin USB) - - pci:v000010B9d00005237sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (XE4500 Notebook) - - pci:v000010B9d00005237sv0000104Dsd0000810F* -- ID_MODEL_FROM_DATABASE=VAIO PCG-U1 USB/OHCI Revision 1.0 -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (VAIO PCG-U1 USB/OHCI Revision 1.0) - - pci:v000010B9d00005237sv000010B9sd00005237* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005237sv00001849sd00005237* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 1.1 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005239* - ID_MODEL_FROM_DATABASE=USB 2.0 Controller - - pci:v000010B9d00005239sv000010B9sd00005239* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005239sv00001849sd00005239* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 Controller (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005243* - ID_MODEL_FROM_DATABASE=M1541 PCI to AGP Controller -@@ -20103,7 +20103,7 @@ pci:v000010B9d00005288* - ID_MODEL_FROM_DATABASE=ULi M5288 SATA - - pci:v000010B9d00005288sv00001043sd00008056* -- ID_MODEL_FROM_DATABASE=A8R-MVP Mainboard -+ ID_MODEL_FROM_DATABASE=ULi M5288 SATA (A8R-MVP Mainboard) - - pci:v000010B9d00005289* - ID_MODEL_FROM_DATABASE=ULi 5289 SATA -@@ -20115,16 +20115,16 @@ pci:v000010B9d00005451* - ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device - - pci:v000010B9d00005451sv00001014sd00000506* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R30) - - pci:v000010B9d00005451sv00001014sd0000053E* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (ThinkPad R40e) - - pci:v000010B9d00005451sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Audio -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (Pavilion ze4400 builtin Audio) - - pci:v000010B9d00005451sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M5451 PCI AC-Link Controller Audio Device (XE4500 Notebook) - - pci:v000010B9d00005453* - ID_MODEL_FROM_DATABASE=M5453 PCI AC-Link Controller Modem Device -@@ -20133,22 +20133,22 @@ pci:v000010B9d00005455* - ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device - - pci:v000010B9d00005455sv000010B9sd00005455* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005455sv00001849sd00000850* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M5455 PCI AC-Link Controller Audio Device (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010B9d00005457* - ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller - - pci:v000010B9d00005457sv00001014sd00000535* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (ThinkPad R40e) - - pci:v000010B9d00005457sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 builtin Modem Device -+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (Pavilion ze4400 builtin Modem Device) - - pci:v000010B9d00005457sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M5457 AC'97 Modem Controller (XE4500 Notebook) - - pci:v000010B9d00005459* - ID_MODEL_FROM_DATABASE=SmartLink SmartPCI561 56K Modem -@@ -20169,19 +20169,19 @@ pci:v000010B9d00007101* - ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] - - pci:v000010B9d00007101sv00001014sd00000510* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R30) - - pci:v000010B9d00007101sv00001014sd0000053C* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ThinkPad R40e) - - pci:v000010B9d00007101sv0000103Csd00000024* -- ID_MODEL_FROM_DATABASE=Pavilion ze4400 -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (Pavilion ze4400) - - pci:v000010B9d00007101sv0000103Csd00000025* -- ID_MODEL_FROM_DATABASE=XE4500 Notebook -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (XE4500 Notebook) - - pci:v000010B9d00007101sv00001849sd00007101* -- ID_MODEL_FROM_DATABASE=ASRock 939Dual-SATA2 Motherboard -+ ID_MODEL_FROM_DATABASE=M7101 Power Management Controller [PMU] (ASRock 939Dual-SATA2 Motherboard) - - pci:v000010BA* - ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corp. -@@ -20196,7 +20196,7 @@ pci:v000010BAd00000308* - ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] - - pci:v000010BAd00000308sv000010DDsd00000024* -- ID_MODEL_FROM_DATABASE=Tornado 3000 -+ ID_MODEL_FROM_DATABASE=Tornado 3000 [OEM Evans & Sutherland] (Tornado 3000) - - pci:v000010BAd00001002* - ID_MODEL_FROM_DATABASE=VG500 [VolumePro Volume Rendering Accelerator] -@@ -20259,79 +20259,79 @@ pci:v000010C8d00000004* - ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] - - pci:v000010C8d00000004sv00001014sd000000BA* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001025sd00001007* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd00000074* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd00000075* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd0000007D* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001028sd0000007E* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv00001033sd0000802F* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv0000104Dsd0000801B* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv0000104Dsd0000802F* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv0000104Dsd0000830B* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010BAsd00000E00* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010C8sd00000004* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010CFsd00001029* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd00008308* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd00008309* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd0000830B* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd0000830D* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000004sv000010F7sd00008312* -- ID_MODEL_FROM_DATABASE=MagicGraph 128XD -+ ID_MODEL_FROM_DATABASE=NM2160 [MagicGraph 128XD] (MagicGraph 128XD) - - pci:v000010C8d00000005* - ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] - - pci:v000010C8d00000005sv00001014sd000000DD* -- ID_MODEL_FROM_DATABASE=ThinkPad 570 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (ThinkPad 570) - - pci:v000010C8d00000005sv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=Latitude CPi A -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicGraph 256AV] (Latitude CPi A) - - pci:v000010C8d00000006* - ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] - - pci:v000010C8d00000006sv00001014sd00000152* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X -+ ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX] (ThinkPad 600X) - - pci:v000010C8d00000016* - ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] - - pci:v000010C8d00000016sv000010C8sd00000016* -- ID_MODEL_FROM_DATABASE=MagicMedia 256XL+ -+ ID_MODEL_FROM_DATABASE=NM2380 [MagicMedia 256XL+] (MagicMedia 256XL+) - - pci:v000010C8d00000025* - ID_MODEL_FROM_DATABASE=NM2230 [MagicGraph 256AV+] -@@ -20343,40 +20343,40 @@ pci:v000010C8d00008005* - ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] - - pci:v000010C8d00008005sv00000E11sd0000B0D1* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Discovery -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Discovery) - - pci:v000010C8d00008005sv00000E11sd0000B126* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Durango -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Durango) - - pci:v000010C8d00008005sv00001014sd000000DD* -- ID_MODEL_FROM_DATABASE=ThinkPad 390/i1720/i1721 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (ThinkPad 390/i1720/i1721) - - pci:v000010C8d00008005sv00001025sd00001003* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on TravelMate 720 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on TravelMate 720) - - pci:v000010C8d00008005sv00001028sd00000088* -- ID_MODEL_FROM_DATABASE=Latitude CPi A -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (Latitude CPi A) - - pci:v000010C8d00008005sv00001028sd0000008F* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Colorado Inspiron -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Colorado Inspiron) - - pci:v000010C8d00008005sv0000103Csd00000007* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager II -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager II) - - pci:v000010C8d00008005sv0000103Csd00000008* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Voyager III -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Voyager III) - - pci:v000010C8d00008005sv0000103Csd0000000D* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on Omnibook 900 -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on Omnibook 900) - - pci:v000010C8d00008005sv000010C8sd00008005* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device on FireAnt -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device on FireAnt) - - pci:v000010C8d00008005sv0000110Asd00008005* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) - - pci:v000010C8d00008005sv000014C0sd00000004* -- ID_MODEL_FROM_DATABASE=MagicMedia 256AV Audio Device -+ ID_MODEL_FROM_DATABASE=NM2200 [MagicMedia 256AV Audio] (MagicMedia 256AV Audio Device) - - pci:v000010C8d00008006* - ID_MODEL_FROM_DATABASE=NM2360 [MagicMedia 256ZX Audio] -@@ -20415,10 +20415,10 @@ pci:v000010CDd00001300* - ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U - - pci:v000010CDd00001300sv000010CDsd00001310* -- ID_MODEL_FROM_DATABASE=ASC1300 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (ASC1300 SCSI Adapter) - - pci:v000010CDd00001300sv00001195sd00001320* -- ID_MODEL_FROM_DATABASE=Ultra-SCSI CardBus PC Card REX CB31 -+ ID_MODEL_FROM_DATABASE=ABP940-U / ABP960-U (Ultra-SCSI CardBus PC Card REX CB31) - - pci:v000010CDd00002300* - ID_MODEL_FROM_DATABASE=ABP940-UW -@@ -20511,7 +20511,7 @@ pci:v000010D9d00000531* - ID_MODEL_FROM_DATABASE=MX987x5 - - pci:v000010D9d00000531sv00001186sd00001200* -- ID_MODEL_FROM_DATABASE=DFE-540TX ProFAST 10/100 Adapter -+ ID_MODEL_FROM_DATABASE=MX987x5 (DFE-540TX ProFAST 10/100 Adapter) - - pci:v000010D9d00008625* - ID_MODEL_FROM_DATABASE=MX86250 -@@ -20559,7 +20559,7 @@ pci:v000010DDd00000100* - ID_MODEL_FROM_DATABASE=Lightning 1200 - - pci:v000010DDd00000100sv000010DDsd00000023* -- ID_MODEL_FROM_DATABASE=Lightning 1200 15+16M -+ ID_MODEL_FROM_DATABASE=Lightning 1200 (15+16M) - - pci:v000010DE* - ID_VENDOR_FROM_DATABASE=NVIDIA Corporation -@@ -20574,193 +20574,193 @@ pci:v000010DEd00000020* - ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] - - pci:v000010DEd00000020sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=V3400 TNT -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (V3400 TNT) - - pci:v000010DEd00000020sv00001048sd00000C18* -- ID_MODEL_FROM_DATABASE=Erazor II SGRAM -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II SGRAM) - - pci:v000010DEd00000020sv00001048sd00000C19* -- ID_MODEL_FROM_DATABASE=Erazor II -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) - - pci:v000010DEd00000020sv00001048sd00000C1B* -- ID_MODEL_FROM_DATABASE=Erazor II -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) - - pci:v000010DEd00000020sv00001048sd00000C1C* -- ID_MODEL_FROM_DATABASE=Erazor II -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Erazor II) - - pci:v000010DEd00000020sv00001092sd00000550* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00000552* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004804* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004808* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004810* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004812* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004815* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004820* -- ID_MODEL_FROM_DATABASE=Viper V550 with TV out -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550 with TV out) - - pci:v000010DEd00000020sv00001092sd00004822* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004904* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00004914* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv00001092sd00008225* -- ID_MODEL_FROM_DATABASE=Viper V550 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Viper V550) - - pci:v000010DEd00000020sv000010B4sd0000273D* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) - - pci:v000010DEd00000020sv000010B4sd0000273E* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) - - pci:v000010DEd00000020sv000010B4sd00002740* -- ID_MODEL_FROM_DATABASE=Velocity 4400 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Velocity 4400) - - pci:v000010DEd00000020sv000010DEsd00000020* -- ID_MODEL_FROM_DATABASE=Riva TNT -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Riva TNT) - - pci:v000010DEd00000020sv00001102sd00001015* -- ID_MODEL_FROM_DATABASE=Graphics Blaster CT6710 -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster CT6710) - - pci:v000010DEd00000020sv00001102sd00001016* -- ID_MODEL_FROM_DATABASE=Graphics Blaster RIVA TNT -+ ID_MODEL_FROM_DATABASE=NV4 [Riva TNT] (Graphics Blaster RIVA TNT) - - pci:v000010DEd00000028* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] - - pci:v000010DEd00000028sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800 SGRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SGRAM) - - pci:v000010DEd00000028sv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800 SDRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800 SDRAM) - - pci:v000010DEd00000028sv00001043sd00000205* -- ID_MODEL_FROM_DATABASE=PCI-V3800 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (PCI-V3800) - - pci:v000010DEd00000028sv00001043sd00004000* -- ID_MODEL_FROM_DATABASE=AGP-V3800PRO -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (AGP-V3800PRO) - - pci:v000010DEd00000028sv00001048sd00000C21* -- ID_MODEL_FROM_DATABASE=Synergy II -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Synergy II) - - pci:v000010DEd00000028sv00001048sd00000C28* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C29* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C2A* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C2B* -- ID_MODEL_FROM_DATABASE=Erazor III -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III) - - pci:v000010DEd00000028sv00001048sd00000C31* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv00001048sd00000C32* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv00001048sd00000C33* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv00001048sd00000C34* -- ID_MODEL_FROM_DATABASE=Erazor III Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Erazor III Pro) - - pci:v000010DEd00000028sv0000107Dsd00002134* -- ID_MODEL_FROM_DATABASE=WinFast 3D S320 II + TV-Out -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (WinFast 3D S320 II + TV-Out) - - pci:v000010DEd00000028sv00001092sd00004804* -- ID_MODEL_FROM_DATABASE=Viper V770 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) - - pci:v000010DEd00000028sv00001092sd00004A00* -- ID_MODEL_FROM_DATABASE=Viper V770 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770) - - pci:v000010DEd00000028sv00001092sd00004A02* -- ID_MODEL_FROM_DATABASE=Viper V770 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) - - pci:v000010DEd00000028sv00001092sd00005A00* -- ID_MODEL_FROM_DATABASE=RIVA TNT2/TNT2 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2/TNT2 Pro) - - pci:v000010DEd00000028sv00001092sd00005A40* -- ID_MODEL_FROM_DATABASE=Viper V770D AGP -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770D AGP) - - pci:v000010DEd00000028sv00001092sd00006A02* -- ID_MODEL_FROM_DATABASE=Viper V770 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) - - pci:v000010DEd00000028sv00001092sd00007A02* -- ID_MODEL_FROM_DATABASE=Viper V770 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Viper V770 Ultra) - - pci:v000010DEd00000028sv000010DEsd00000005* -- ID_MODEL_FROM_DATABASE=RIVA TNT2 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (RIVA TNT2 Pro) - - pci:v000010DEd00000028sv000010DEsd0000000F* -- ID_MODEL_FROM_DATABASE=Compaq NVIDIA TNT2 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Compaq NVIDIA TNT2 Pro) - - pci:v000010DEd00000028sv00001102sd00001020* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2) - - pci:v000010DEd00000028sv00001102sd00001026* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Digital -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (3D Blaster RIVA TNT2 Digital) - - pci:v000010DEd00000028sv00001462sd00008806* -- ID_MODEL_FROM_DATABASE=MS-8806 AGPhantom Graphics Card -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (MS-8806 AGPhantom Graphics Card) - - pci:v000010DEd00000028sv000014AFsd00005810* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 / TNT2 Pro] (Maxi Gamer Xentor) - - pci:v000010DEd00000029* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] - - pci:v000010DEd00000029sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Deluxe -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Deluxe) - - pci:v000010DEd00000029sv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Ultra SDRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (AGP-V3800 Ultra SDRAM) - - pci:v000010DEd00000029sv00001043sd00000205* -- ID_MODEL_FROM_DATABASE=PCI-V3800 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (PCI-V3800 Ultra) - - pci:v000010DEd00000029sv00001048sd00000C2E* -- ID_MODEL_FROM_DATABASE=Erazor III Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) - - pci:v000010DEd00000029sv00001048sd00000C2F* -- ID_MODEL_FROM_DATABASE=Erazor III Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) - - pci:v000010DEd00000029sv00001048sd00000C30* -- ID_MODEL_FROM_DATABASE=Erazor III Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Erazor III Ultra) - - pci:v000010DEd00000029sv00001102sd00001021* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) - - pci:v000010DEd00000029sv00001102sd00001029* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) - - pci:v000010DEd00000029sv00001102sd0000102F* -- ID_MODEL_FROM_DATABASE=3D Blaster RIVA TNT2 Ultra -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (3D Blaster RIVA TNT2 Ultra) - - pci:v000010DEd00000029sv000014AFsd00005820* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor 32 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Maxi Gamer Xentor 32) - - pci:v000010DEd00000029sv00004843sd00004F34* -- ID_MODEL_FROM_DATABASE=Dynamite -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Ultra] (Dynamite) - - pci:v000010DEd0000002A* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2] -@@ -20772,85 +20772,85 @@ pci:v000010DEd0000002C* - ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] - - pci:v000010DEd0000002Csv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat SDRAM -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat SDRAM) - - pci:v000010DEd0000002Csv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800 Combat -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (AGP-V3800 Combat) - - pci:v000010DEd0000002Csv00001048sd00000C20* -- ID_MODEL_FROM_DATABASE=TNT2 Vanta -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) - - pci:v000010DEd0000002Csv00001048sd00000C21* -- ID_MODEL_FROM_DATABASE=TNT2 Vanta -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta) - - pci:v000010DEd0000002Csv00001048sd00000C25* -- ID_MODEL_FROM_DATABASE=TNT2 Vanta 16MB -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (TNT2 Vanta 16MB) - - pci:v000010DEd0000002Csv00001092sd00006820* -- ID_MODEL_FROM_DATABASE=Viper V730 -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Viper V730) - - pci:v000010DEd0000002Csv00001102sd00001031* -- ID_MODEL_FROM_DATABASE=CT6938 VANTA 8MB -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6938 VANTA 8MB) - - pci:v000010DEd0000002Csv00001102sd00001034* -- ID_MODEL_FROM_DATABASE=CT6894 VANTA 16MB -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (CT6894 VANTA 16MB) - - pci:v000010DEd0000002Csv000014AFsd00005008* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix 2 -+ ID_MODEL_FROM_DATABASE=NV5 [Vanta / Vanta LT] (Maxi Gamer Phoenix 2) - - pci:v000010DEd0000002D* - ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] - - pci:v000010DEd0000002Dsv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V3800M -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) - - pci:v000010DEd0000002Dsv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V3800M -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (AGP-V3800M) - - pci:v000010DEd0000002Dsv00001048sd00000C3A* -- ID_MODEL_FROM_DATABASE=Erazor III LT -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) - - pci:v000010DEd0000002Dsv00001048sd00000C3B* -- ID_MODEL_FROM_DATABASE=Erazor III LT -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Erazor III LT) - - pci:v000010DEd0000002Dsv0000107Dsd00002137* -- ID_MODEL_FROM_DATABASE=WinFast 3D S325 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (WinFast 3D S325) - - pci:v000010DEd0000002Dsv000010DEsd00000006* -- ID_MODEL_FROM_DATABASE=RIVA TNT2 Model 64/Model 64 Pro -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (RIVA TNT2 Model 64/Model 64 Pro) - - pci:v000010DEd0000002Dsv000010DEsd0000001E* -- ID_MODEL_FROM_DATABASE=M64 AGP4x -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (M64 AGP4x) - - pci:v000010DEd0000002Dsv00001102sd00001023* -- ID_MODEL_FROM_DATABASE=CT6892 RIVA TNT2 Value -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6892 RIVA TNT2 Value) - - pci:v000010DEd0000002Dsv00001102sd00001024* -- ID_MODEL_FROM_DATABASE=CT6932 RIVA TNT2 Value 32Mb -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6932 RIVA TNT2 Value 32Mb) - - pci:v000010DEd0000002Dsv00001102sd0000102C* -- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value [Jumper] -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value [Jumper]) - - pci:v000010DEd0000002Dsv00001102sd00001030* -- ID_MODEL_FROM_DATABASE=CT6931 RIVA TNT2 Value -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (CT6931 RIVA TNT2 Value) - - pci:v000010DEd0000002Dsv0000110Asd0000006F* -- ID_MODEL_FROM_DATABASE=GM1000-16 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) - - pci:v000010DEd0000002Dsv0000110Asd00000081* -- ID_MODEL_FROM_DATABASE=GM1000-16 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (GM1000-16) - - pci:v000010DEd0000002Dsv00001462sd00008808* -- ID_MODEL_FROM_DATABASE=MSI-8808 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (MSI-8808) - - pci:v000010DEd0000002Dsv000014AFsd00005620* -- ID_MODEL_FROM_DATABASE=Gamer Cougar Video Edition -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Gamer Cougar Video Edition) - - pci:v000010DEd0000002Dsv00001554sd00001041* -- ID_MODEL_FROM_DATABASE=Pixelview RIVA TNT2 M64 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Pixelview RIVA TNT2 M64) - - pci:v000010DEd0000002Dsv00001569sd0000002D* -- ID_MODEL_FROM_DATABASE=Palit Microsystems Daytona TNT2 M64 -+ ID_MODEL_FROM_DATABASE=NV5 [Riva TNT2 Model 64 / Model 64 Pro] (Palit Microsystems Daytona TNT2 M64) - - pci:v000010DEd00000034* - ID_MODEL_FROM_DATABASE=MCP04 SMBus -@@ -20889,19 +20889,19 @@ pci:v000010DEd00000041* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] - - pci:v000010DEd00000041sv00001043sd0000817B* -- ID_MODEL_FROM_DATABASE=V9999 Gamer Edition -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (V9999 Gamer Edition) - - pci:v000010DEd00000041sv0000107Dsd00002992* -- ID_MODEL_FROM_DATABASE=WinFast A400 -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (WinFast A400) - - pci:v000010DEd00000041sv00001458sd0000310F* -- ID_MODEL_FROM_DATABASE=Geforce 6800 GV-N6812 -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800] (Geforce 6800 GV-N6812) - - pci:v000010DEd00000042* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] - - pci:v000010DEd00000042sv0000107Dsd0000299B* -- ID_MODEL_FROM_DATABASE=WinFast A400 LE -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 LE] (WinFast A400 LE) - - pci:v000010DEd00000043* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XE] -@@ -20913,16 +20913,16 @@ pci:v000010DEd00000045* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] - - pci:v000010DEd00000045sv00001043sd0000817D* -- ID_MODEL_FROM_DATABASE=V9999GT -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (V9999GT) - - pci:v000010DEd00000045sv00001458sd00003140* -- ID_MODEL_FROM_DATABASE=GV-N68T256D -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] (GV-N68T256D) - - pci:v000010DEd00000047* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] - - pci:v000010DEd00000047sv00001682sd00002109* -- ID_MODEL_FROM_DATABASE=GeForce 6800 GS -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GS] (GeForce 6800 GS) - - pci:v000010DEd00000048* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 XT] -@@ -20934,133 +20934,133 @@ pci:v000010DEd00000050* - ID_MODEL_FROM_DATABASE=CK804 ISA Bridge - - pci:v000010DEd00000050sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000050sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (Tomcat K8E (S2865)) - - pci:v000010DEd00000050sv00001458sd00000C11* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000050sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (MSI K8N Diamond) - - pci:v000010DEd00000050sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (K8N Neo4-F mainboard) - - pci:v000010DEd00000050sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (KN8-Ultra Mainboard) - - pci:v000010DEd00000050sv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (NF4 AM2L Mainboard) - - pci:v000010DEd00000051* - ID_MODEL_FROM_DATABASE=CK804 ISA Bridge - - pci:v000010DEd00000051sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 ISA Bridge -+ ID_MODEL_FROM_DATABASE=CK804 ISA Bridge (PowerEdge T105 ISA Bridge) - - pci:v000010DEd00000052* - ID_MODEL_FROM_DATABASE=CK804 SMBus - - pci:v000010DEd00000052sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 SMBus -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (PowerEdge T105 SMBus) - - pci:v000010DEd00000052sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000052sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (Tomcat K8E (S2865)) - - pci:v000010DEd00000052sv00001458sd00000C11* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000052sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (MSI K8N Diamond) - - pci:v000010DEd00000052sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (K8N Neo4-F mainboard) - - pci:v000010DEd00000052sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (KN8-Ultra Mainboard) - - pci:v000010DEd00000052sv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 SMBus (NF4 AM2L Mainboard) - - pci:v000010DEd00000053* - ID_MODEL_FROM_DATABASE=CK804 IDE - - pci:v000010DEd00000053sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000053sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 IDE (Tomcat K8E (S2865)) - - pci:v000010DEd00000053sv00001458sd00005002* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000053sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 IDE (MSI K8N Diamond) - - pci:v000010DEd00000053sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (K8N Neo4-F mainboard) - - pci:v000010DEd00000053sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (KN8-Ultra Mainboard) - - pci:v000010DEd00000053sv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 IDE (NF4 AM2L Mainboard) - - pci:v000010DEd00000054* - ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller - - pci:v000010DEd00000054sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) - - pci:v000010DEd00000054sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (A8N Series Mainboard) - - pci:v000010DEd00000054sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000054sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000054sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (MSI K8N Diamond) - - pci:v000010DEd00000054sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000054sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000054sv00001565sd00005401* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) - - pci:v000010DEd00000055* - ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller - - pci:v000010DEd00000055sv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Serial ATA -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (PowerEdge T105 Serial ATA) - - pci:v000010DEd00000055sv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000055sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000055sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000055sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000055sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000055sv00001565sd00005401* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Serial ATA Controller (NF4 AM2L Mainboard) - - pci:v000010DEd00000056* - ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller -@@ -21069,28 +21069,28 @@ pci:v000010DEd00000057* - ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller - - pci:v000010DEd00000057sv00001043sd00008141* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000057sv000010DEsd0000CB84* -- ID_MODEL_FROM_DATABASE=NF4 Lanparty -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 Lanparty) - - pci:v000010DEd00000057sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000057sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd00000057sv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (MSI K8N Diamond) - - pci:v000010DEd00000057sv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000057sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000057sv00001565sd00002501* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Ethernet Controller (NF4 AM2L Mainboard) - - pci:v000010DEd00000058* - ID_MODEL_FROM_DATABASE=CK804 AC'97 Modem -@@ -21099,73 +21099,73 @@ pci:v000010DEd00000059* - ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller - - pci:v000010DEd00000059sv00001043sd0000812A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd00000059sv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (Tomcat K8E (S2865)) - - pci:v000010DEd00000059sv00001462sd00007585* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (K8N Neo4-F mainboard) - - pci:v000010DEd00000059sv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (KN8-Ultra Mainboard) - - pci:v000010DEd00000059sv00001565sd00008211* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 AC'97 Audio Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005A* - ID_MODEL_FROM_DATABASE=CK804 USB Controller - - pci:v000010DEd0000005Asv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) - - pci:v000010DEd0000005Asv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd0000005Asv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) - - pci:v000010DEd0000005Asv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd0000005Asv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) - - pci:v000010DEd0000005Asv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) - - pci:v000010DEd0000005Asv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) - - pci:v000010DEd0000005Asv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005B* - ID_MODEL_FROM_DATABASE=CK804 USB Controller - - pci:v000010DEd0000005Bsv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 onboard USB -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (PowerEdge T105 onboard USB) - - pci:v000010DEd0000005Bsv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=K8N4/A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N4/A8N Series Mainboard) - - pci:v000010DEd0000005Bsv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (Tomcat K8E (S2865)) - - pci:v000010DEd0000005Bsv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd0000005Bsv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=MSI K8N Diamond -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (MSI K8N Diamond) - - pci:v000010DEd0000005Bsv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (K8N Neo4-F mainboard) - - pci:v000010DEd0000005Bsv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (KN8-Ultra Mainboard) - - pci:v000010DEd0000005Bsv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 USB Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005C* - ID_MODEL_FROM_DATABASE=CK804 PCI Bridge -@@ -21177,34 +21177,34 @@ pci:v000010DEd0000005E* - ID_MODEL_FROM_DATABASE=CK804 Memory Controller - - pci:v000010DEd0000005Esv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Memory Controller -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (PowerEdge T105 Memory Controller) - - pci:v000010DEd0000005Esv00001043sd0000815A* -- ID_MODEL_FROM_DATABASE=A8N Series Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (A8N Series Mainboard) - - pci:v000010DEd0000005Esv000010DEsd0000005E* -- ID_MODEL_FROM_DATABASE=ECS Elitegroup NFORCE3-A939 motherboard. -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (ECS Elitegroup NFORCE3-A939 motherboard.) - - pci:v000010DEd0000005Esv000010F1sd00002865* -- ID_MODEL_FROM_DATABASE=Tomcat K8E (S2865) -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Tomcat K8E (S2865)) - - pci:v000010DEd0000005Esv000010F1sd00002891* -- ID_MODEL_FROM_DATABASE=Thunder K8SRE Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (Thunder K8SRE Mainboard) - - pci:v000010DEd0000005Esv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-K8N Ultra-9 Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (GA-K8N Ultra-9 Mainboard) - - pci:v000010DEd0000005Esv00001462sd00007100* -- ID_MODEL_FROM_DATABASE=K8N Diamond Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Diamond Mainboard) - - pci:v000010DEd0000005Esv00001462sd00007125* -- ID_MODEL_FROM_DATABASE=K8N Neo4-F Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (K8N Neo4-F Mainboard) - - pci:v000010DEd0000005Esv0000147Bsd00001C1A* -- ID_MODEL_FROM_DATABASE=KN8-Ultra Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (KN8-Ultra Mainboard) - - pci:v000010DEd0000005Esv00001565sd00003402* -- ID_MODEL_FROM_DATABASE=NF4 AM2L Mainboard -+ ID_MODEL_FROM_DATABASE=CK804 Memory Controller (NF4 AM2L Mainboard) - - pci:v000010DEd0000005F* - ID_MODEL_FROM_DATABASE=CK804 Memory Controller -@@ -21213,61 +21213,61 @@ pci:v000010DEd00000060* - ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge - - pci:v000010DEd00000060sv00001043sd000080AD* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard -+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (A7N8X Mainboard) - - pci:v000010DEd00000060sv0000147Bsd00001C02* -- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X -+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (NF7-S/NF7 (nVidia-nForce2) 2.X) - - pci:v000010DEd00000060sv0000A0A0sd000003BA* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 ISA Bridge (UK79G-1394 motherboard) - - pci:v000010DEd00000064* - ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) - - pci:v000010DEd00000064sv0000147Bsd00001C02* -- ID_MODEL_FROM_DATABASE=NF7-S/NF7 (nVidia-nForce2) 2.X -+ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (NF7-S/NF7 (nVidia-nForce2) 2.X) - - pci:v000010DEd00000064sv0000A0A0sd000003BB* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 SMBus (MCP) (UK79G-1394 motherboard) - - pci:v000010DEd00000065* - ID_MODEL_FROM_DATABASE=nForce2 IDE - - pci:v000010DEd00000065sv000010DEsd00000C11* -- ID_MODEL_FROM_DATABASE=nForce 2 EIDE Controller -+ ID_MODEL_FROM_DATABASE=nForce2 IDE (nForce 2 EIDE Controller) - - pci:v000010DEd00000065sv0000A0A0sd000003B2* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 IDE (UK79G-1394 motherboard) - - pci:v000010DEd00000066* - ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller - - pci:v000010DEd00000066sv00001043sd000080A7* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard onboard nForce2 Ethernet -+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (A7N8X Mainboard onboard nForce2 Ethernet) - - pci:v000010DEd00000066sv000010DEsd00000C11* -- ID_MODEL_FROM_DATABASE=nForce MCP-T Networking Adapter -+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (nForce MCP-T Networking Adapter) - - pci:v000010DEd00000066sv0000A0A0sd000003B3* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Ethernet Controller (UK79G-1394 motherboard) - - pci:v000010DEd00000067* - ID_MODEL_FROM_DATABASE=nForce2 USB Controller - - pci:v000010DEd00000067sv00001043sd00000C11* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) - - pci:v000010DEd00000067sv0000A0A0sd000003B4* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) - - pci:v000010DEd00000068* - ID_MODEL_FROM_DATABASE=nForce2 USB Controller - - pci:v000010DEd00000068sv00001043sd00000C11* -- ID_MODEL_FROM_DATABASE=A7N8X Mainboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (A7N8X Mainboard) - - pci:v000010DEd00000068sv0000A0A0sd000003B4* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 USB Controller (UK79G-1394 motherboard) - - pci:v000010DEd0000006A* - ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) -@@ -21276,16 +21276,16 @@ pci:v000010DEd0000006Asv00001043sd00008095* - ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) - - pci:v000010DEd0000006Asv0000A0A0sd00000304* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 AC97 Audio Controler (MCP) (UK79G-1394 motherboard) - - pci:v000010DEd0000006B* - ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit - - pci:v000010DEd0000006Bsv000010DEsd0000006B* -- ID_MODEL_FROM_DATABASE=nForce2 MCP Audio Processing Unit -+ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (nForce2 MCP Audio Processing Unit) - - pci:v000010DEd0000006Bsv0000A0A0sd00000304* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce Audio Processing Unit (UK79G-1394 motherboard) - - pci:v000010DEd0000006C* - ID_MODEL_FROM_DATABASE=nForce2 External PCI Bridge -@@ -21297,25 +21297,25 @@ pci:v000010DEd0000006E* - ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller - - pci:v000010DEd0000006Esv0000A0A0sd00000306* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 FireWire (IEEE 1394) Controller (UK79G-1394 motherboard) - - pci:v000010DEd00000080* - ID_MODEL_FROM_DATABASE=MCP2A ISA bridge - - pci:v000010DEd00000080sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A ISA bridge (NV7 Motherboard) - - pci:v000010DEd00000084* - ID_MODEL_FROM_DATABASE=MCP2A SMBus - - pci:v000010DEd00000084sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A SMBus (NV7 Motherboard) - - pci:v000010DEd00000085* - ID_MODEL_FROM_DATABASE=MCP2A IDE - - pci:v000010DEd00000085sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A IDE (NV7 Motherboard) - - pci:v000010DEd00000086* - ID_MODEL_FROM_DATABASE=MCP2A Ethernet Controller -@@ -21324,19 +21324,19 @@ pci:v000010DEd00000087* - ID_MODEL_FROM_DATABASE=MCP2A USB Controller - - pci:v000010DEd00000087sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) - - pci:v000010DEd00000088* - ID_MODEL_FROM_DATABASE=MCP2A USB Controller - - pci:v000010DEd00000088sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2A USB Controller (NV7 Motherboard) - - pci:v000010DEd0000008A* - ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller - - pci:v000010DEd0000008Asv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=MCP2S AC'97 Audio Controller (NV7 Motherboard) - - pci:v000010DEd0000008B* - ID_MODEL_FROM_DATABASE=MCP2A PCI Bridge -@@ -21378,7 +21378,7 @@ pci:v000010DEd000000A0* - ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] - - pci:v000010DEd000000A0sv000014AFsd00005810* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Xentor -+ ID_MODEL_FROM_DATABASE=NV5 [Aladdin TNT2] (Maxi Gamer Xentor) - - pci:v000010DEd000000C0* - ID_MODEL_FROM_DATABASE=NV41 [GeForce 6800 GS] -@@ -21459,46 +21459,46 @@ pci:v000010DEd000000DF* - ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller - - pci:v000010DEd000000DFsv00001043sd000080A7* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (K8N-E) - - pci:v000010DEd000000DFsv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000DFsv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller (NF8 Mainboard) - - pci:v000010DEd000000E0* - ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge - - pci:v000010DEd000000E0sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N-E) - - pci:v000010DEd000000E0sv000010DEsd00000C11* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Winfast NF3250K8AA) - - pci:v000010DEd000000E0sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E0sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (NF8 Mainboard) - - pci:v000010DEd000000E0sv00001849sd000000E0* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb LPC Bridge (Motherboard (one of many)) - - pci:v000010DEd000000E1* - ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge - - pci:v000010DEd000000E1sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N-E) - - pci:v000010DEd000000E1sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E1sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (NF8 Mainboard) - - pci:v000010DEd000000E1sv00001849sd000000E1* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb Host Bridge (Motherboard (one of many)) - - pci:v000010DEd000000E2* - ID_MODEL_FROM_DATABASE=nForce3 250Gb AGP Host to PCI Bridge -@@ -21507,55 +21507,55 @@ pci:v000010DEd000000E3* - ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller - - pci:v000010DEd000000E3sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (K8N-E) - - pci:v000010DEd000000E3sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000E3sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (NF8 Mainboard) - - pci:v000010DEd000000E3sv00001849sd000000E3* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 Serial ATA Controller (Motherboard (one of many)) - - pci:v000010DEd000000E4* - ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management - - pci:v000010DEd000000E4sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N-E) - - pci:v000010DEd000000E4sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Winfast NF3250K8AA) - - pci:v000010DEd000000E4sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E4sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (NF8 Mainboard) - - pci:v000010DEd000000E4sv00001849sd000000E4* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce 250Gb PCI System Management (Motherboard (one of many)) - - pci:v000010DEd000000E5* - ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) - - pci:v000010DEd000000E5sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N-E) - - pci:v000010DEd000000E5sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Winfast NF3250K8AA) - - pci:v000010DEd000000E5sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E5sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (NF8 Mainboard) - - pci:v000010DEd000000E5sv00001849sd000000E5* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) - - pci:v000010DEd000000E5sv0000F849sd000000E5* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=CK8S Parallel ATA Controller (v2.5) (Motherboard (one of many)) - - pci:v000010DEd000000E6* - ID_MODEL_FROM_DATABASE=CK8S Ethernet Controller -@@ -21564,52 +21564,52 @@ pci:v000010DEd000000E7* - ID_MODEL_FROM_DATABASE=CK8S USB Controller - - pci:v000010DEd000000E7sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N-E) - - pci:v000010DEd000000E7sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000E7sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E7sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (NF8 Mainboard) - - pci:v000010DEd000000E7sv00001849sd000000E7* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=CK8S USB Controller (Motherboard (one of many)) - - pci:v000010DEd000000E8* - ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller - - pci:v000010DEd000000E8sv00001043sd0000813F* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N-E) - - pci:v000010DEd000000E8sv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000E8sv00001462sd00007030* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (K8N Neo-FSR v2.0) - - pci:v000010DEd000000E8sv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (NF8 Mainboard) - - pci:v000010DEd000000E8sv00001849sd000000E8* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=nForce3 EHCI USB 2.0 Controller (Motherboard (one of many)) - - pci:v000010DEd000000EA* - ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller - - pci:v000010DEd000000EAsv00001043sd0000819D* -- ID_MODEL_FROM_DATABASE=K8N-E -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N-E) - - pci:v000010DEd000000EAsv0000105Bsd00000C43* -- ID_MODEL_FROM_DATABASE=Winfast NF3250K8AA -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (Winfast NF3250K8AA) - - pci:v000010DEd000000EAsv00001462sd0000B010* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (K8N Neo-FSR v2.0) - - pci:v000010DEd000000EAsv0000147Bsd00001C0B* -- ID_MODEL_FROM_DATABASE=NF8 Mainboard -+ ID_MODEL_FROM_DATABASE=nForce3 250Gb AC'97 Audio Controller (NF8 Mainboard) - - pci:v000010DEd000000ED* - ID_MODEL_FROM_DATABASE=nForce3 250Gb PCI-to-PCI Bridge -@@ -21621,28 +21621,28 @@ pci:v000010DEd000000F1* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] - - pci:v000010DEd000000F1sv00001043sd000081A6* -- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) - - pci:v000010DEd000000F1sv00001043sd000081C6* -- ID_MODEL_FROM_DATABASE=N6600GT TD 128M AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (N6600GT TD 128M AGP) - - pci:v000010DEd000000F1sv00001458sd00003150* -- ID_MODEL_FROM_DATABASE=GV-N66T128VP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-N66T128VP) - - pci:v000010DEd000000F1sv00001554sd00001191* -- ID_MODEL_FROM_DATABASE=PixelView PV-N43UA (128KD) -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (PixelView PV-N43UA (128KD)) - - pci:v000010DEd000000F1sv00001682sd00002119* -- ID_MODEL_FROM_DATABASE=GeForce 6600 GT AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GeForce 6600 GT AGP) - - pci:v000010DEd000000F2* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] - - pci:v000010DEd000000F2sv00001554sd00001194* -- ID_MODEL_FROM_DATABASE=PixelView PV-N43AT (256KD) -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (PixelView PV-N43AT (256KD)) - - pci:v000010DEd000000F2sv00001682sd0000211C* -- ID_MODEL_FROM_DATABASE=GeForce 6600 256MB DDR DUAL DVI TV -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GeForce 6600 256MB DDR DUAL DVI TV) - - pci:v000010DEd000000F3* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6200] -@@ -21657,7 +21657,7 @@ pci:v000010DEd000000F6* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] - - pci:v000010DEd000000F6sv00001682sd0000217E* -- ID_MODEL_FROM_DATABASE=XFX GeForce 6800 XTreme 256MB DDR3 AGP -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6800 GS/XT] (XFX GeForce 6800 XTreme 256MB DDR3 AGP) - - pci:v000010DEd000000F8* - ID_MODEL_FROM_DATABASE=NV40GL [Quadro FX 3400/4400] -@@ -21666,10 +21666,10 @@ pci:v000010DEd000000F9* - ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] - - pci:v000010DEd000000F9sv000010DEsd000000F9* -- ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT] -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (NV40 [GeForce 6800 GT]) - - pci:v000010DEd000000F9sv00001682sd00002120* -- ID_MODEL_FROM_DATABASE=GEFORCE 6800 GT PCI-E -+ ID_MODEL_FROM_DATABASE=NV40 [GeForce 6800 GT/GTO/Ultra] (GEFORCE 6800 GT PCI-E) - - pci:v000010DEd000000FA* - ID_MODEL_FROM_DATABASE=NV36 [GeForce PCX 5750] -@@ -21693,130 +21693,130 @@ pci:v000010DEd00000100* - ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] - - pci:v000010DEd00000100sv00001043sd00000200* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) - - pci:v000010DEd00000100sv00001043sd00000201* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) - - pci:v000010DEd00000100sv00001043sd00004008* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SGRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SGRAM) - - pci:v000010DEd00000100sv00001043sd00004009* -- ID_MODEL_FROM_DATABASE=AGP-V6600 SDRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (AGP-V6600 SDRAM) - - pci:v000010DEd00000100sv00001048sd00000C41* -- ID_MODEL_FROM_DATABASE=Erazor X -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Erazor X) - - pci:v000010DEd00000100sv00001048sd00000C43* -- ID_MODEL_FROM_DATABASE=ERAZOR X PCI -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (ERAZOR X PCI) - - pci:v000010DEd00000100sv00001048sd00000C48* -- ID_MODEL_FROM_DATABASE=Synergy Force -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (Synergy Force) - - pci:v000010DEd00000100sv00001102sd0000102D* -- ID_MODEL_FROM_DATABASE=CT6941 GeForce 256 -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (CT6941 GeForce 256) - - pci:v000010DEd00000100sv000014AFsd00005022* -- ID_MODEL_FROM_DATABASE=3D Prophet SE -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 SDR] (3D Prophet SE) - - pci:v000010DEd00000101* - ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] - - pci:v000010DEd00000101sv00001043sd00000202* -- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR) - - pci:v000010DEd00000101sv00001043sd0000400A* -- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SGRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SGRAM) - - pci:v000010DEd00000101sv00001043sd0000400B* -- ID_MODEL_FROM_DATABASE=AGP-V6800 DDR SDRAM -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (AGP-V6800 DDR SDRAM) - - pci:v000010DEd00000101sv00001048sd00000C42* -- ID_MODEL_FROM_DATABASE=Erazor X -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (Erazor X) - - pci:v000010DEd00000101sv0000107Dsd00002822* -- ID_MODEL_FROM_DATABASE=WinFast GeForce 256 -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (WinFast GeForce 256) - - pci:v000010DEd00000101sv00001102sd0000102E* -- ID_MODEL_FROM_DATABASE=CT6970/CT6971 -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (CT6970/CT6971) - - pci:v000010DEd00000101sv000014AFsd00005021* -- ID_MODEL_FROM_DATABASE=3D Prophet DDR-DVI -+ ID_MODEL_FROM_DATABASE=NV10 [GeForce 256 DDR] (3D Prophet DDR-DVI) - - pci:v000010DEd00000103* - ID_MODEL_FROM_DATABASE=NV10GL [Quadro] - - pci:v000010DEd00000103sv00001048sd00000C40* -- ID_MODEL_FROM_DATABASE=GLoria II-64 -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64) - - pci:v000010DEd00000103sv00001048sd00000C44* -- ID_MODEL_FROM_DATABASE=GLoria II -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) - - pci:v000010DEd00000103sv00001048sd00000C45* -- ID_MODEL_FROM_DATABASE=GLoria II -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II) - - pci:v000010DEd00000103sv00001048sd00000C4A* -- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro) - - pci:v000010DEd00000103sv00001048sd00000C4B* -- ID_MODEL_FROM_DATABASE=GLoria II-64 Pro DVII -+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro DVII) - - pci:v000010DEd00000110* - ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] - - pci:v000010DEd00000110sv00001043sd00004015* -- ID_MODEL_FROM_DATABASE=AGP-V7100 Pro -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (AGP-V7100 Pro) - - pci:v000010DEd00000110sv00001043sd00004021* -- ID_MODEL_FROM_DATABASE=V7100 Deluxe Combo -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Deluxe Combo) - - pci:v000010DEd00000110sv00001043sd00004031* -- ID_MODEL_FROM_DATABASE=V7100 Pro with TV output -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (V7100 Pro with TV output) - - pci:v000010DEd00000110sv00001048sd00000C60* -- ID_MODEL_FROM_DATABASE=Gladiac MX -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac MX) - - pci:v000010DEd00000110sv00001048sd00000C61* -- ID_MODEL_FROM_DATABASE=Gladiac 511PCI -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511PCI) - - pci:v000010DEd00000110sv00001048sd00000C63* -- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 32MB -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 32MB) - - pci:v000010DEd00000110sv00001048sd00000C64* -- ID_MODEL_FROM_DATABASE=Gladiac 511TV-OUT 64MB -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TV-OUT 64MB) - - pci:v000010DEd00000110sv00001048sd00000C65* -- ID_MODEL_FROM_DATABASE=Gladiac 511TWIN -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 511TWIN) - - pci:v000010DEd00000110sv00001048sd00000C66* -- ID_MODEL_FROM_DATABASE=Gladiac 311 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Gladiac 311) - - pci:v000010DEd00000110sv000010B0sd00000001* -- ID_MODEL_FROM_DATABASE=GeForce2 MX Jumbo TV -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (GeForce2 MX Jumbo TV) - - pci:v000010DEd00000110sv000010DEsd00000091* -- ID_MODEL_FROM_DATABASE=Dell OEM GeForce 2 MX 400 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Dell OEM GeForce 2 MX 400) - - pci:v000010DEd00000110sv000010DEsd000000A1* -- ID_MODEL_FROM_DATABASE=Apple OEM GeForce2 MX -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Apple OEM GeForce2 MX) - - pci:v000010DEd00000110sv00001462sd00008523* -- ID_MODEL_FROM_DATABASE=MS-8852 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MS-8852) - - pci:v000010DEd00000110sv00001462sd00008817* -- ID_MODEL_FROM_DATABASE=MSI GeForce2 MX400 Pro32S [MS-8817] -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MSI GeForce2 MX400 Pro32S [MS-8817]) - - pci:v000010DEd00000110sv000014AFsd00007102* -- ID_MODEL_FROM_DATABASE=3D Prophet II MX -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX) - - pci:v000010DEd00000110sv000014AFsd00007103* -- ID_MODEL_FROM_DATABASE=3D Prophet II MX Dual-Display -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (3D Prophet II MX Dual-Display) - - pci:v000010DEd00000110sv00001545sd00000023* -- ID_MODEL_FROM_DATABASE=Xtasy Rev. B2 -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (Xtasy Rev. B2) - - pci:v000010DEd00000110sv00001554sd00001081* -- ID_MODEL_FROM_DATABASE=MVGA-NVG11AM(400) -+ ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400] (MVGA-NVG11AM(400)) - - pci:v000010DEd00000111* - ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX200] -@@ -21831,28 +21831,28 @@ pci:v000010DEd00000140* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] - - pci:v000010DEd00000140sv00001458sd00003125* -- ID_MODEL_FROM_DATABASE=GV-NX66T128D -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T128D) - - pci:v000010DEd00000140sv00001458sd00003126* -- ID_MODEL_FROM_DATABASE=GV-NX66T256DE -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (GV-NX66T256DE) - - pci:v000010DEd00000140sv00001462sd00008939* -- ID_MODEL_FROM_DATABASE=MS-8983 -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 GT] (MS-8983) - - pci:v000010DEd00000141* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] - - pci:v000010DEd00000141sv00001043sd000081B0* -- ID_MODEL_FROM_DATABASE=EN6600 Silencer -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (EN6600 Silencer) - - pci:v000010DEd00000141sv0000107Dsd0000593A* -- ID_MODEL_FROM_DATABASE=LR2A22 128MB TV OUT -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (LR2A22 128MB TV OUT) - - pci:v000010DEd00000141sv0000107Dsd0000597B* -- ID_MODEL_FROM_DATABASE=WINFAST PX6600 -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (WINFAST PX6600) - - pci:v000010DEd00000141sv00001458sd00003124* -- ID_MODEL_FROM_DATABASE=GV-NX66128DP Turbo Force Edition -+ ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600] (GV-NX66128DP Turbo Force Edition) - - pci:v000010DEd00000142* - ID_MODEL_FROM_DATABASE=NV43 [GeForce 6600 LE] -@@ -21897,49 +21897,49 @@ pci:v000010DEd00000150* - ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] - - pci:v000010DEd00000150sv00001043sd00004016* -- ID_MODEL_FROM_DATABASE=V7700 AGP Video Card -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (V7700 AGP Video Card) - - pci:v000010DEd00000150sv00001043sd0000402A* -- ID_MODEL_FROM_DATABASE=AGP-V7700 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (AGP-V7700) - - pci:v000010DEd00000150sv00001048sd00000C50* -- ID_MODEL_FROM_DATABASE=Gladiac -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac) - - pci:v000010DEd00000150sv00001048sd00000C52* -- ID_MODEL_FROM_DATABASE=Gladiac-64 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Gladiac-64) - - pci:v000010DEd00000150sv0000107Dsd00002840* -- ID_MODEL_FROM_DATABASE=WinFast GeForce2 GTS with TV output -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce2 GTS with TV output) - - pci:v000010DEd00000150sv0000107Dsd00002842* -- ID_MODEL_FROM_DATABASE=WinFast GeForce 2 Pro -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (WinFast GeForce 2 Pro) - - pci:v000010DEd00000150sv000010DEsd0000002E* -- ID_MODEL_FROM_DATABASE=GeForce2 GTS -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (GeForce2 GTS) - - pci:v000010DEd00000150sv00001462sd0000815A* -- ID_MODEL_FROM_DATABASE=MS-8815 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (MS-8815) - - pci:v000010DEd00000150sv00001462sd00008831* -- ID_MODEL_FROM_DATABASE=Creative GeForce2 Pro -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 GTS/Pro] (Creative GeForce2 Pro) - - pci:v000010DEd00000151* - ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] - - pci:v000010DEd00000151sv00001043sd0000405F* -- ID_MODEL_FROM_DATABASE=V7700Ti -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (V7700Ti) - - pci:v000010DEd00000151sv00001462sd00005506* -- ID_MODEL_FROM_DATABASE=Creative 3D Blaster GeForce2 Titanium -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (Creative 3D Blaster GeForce2 Titanium) - - pci:v000010DEd00000151sv00001462sd00008364* -- ID_MODEL_FROM_DATABASE=MS-8836 -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ti] (MS-8836) - - pci:v000010DEd00000152* - ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] - - pci:v000010DEd00000152sv00001048sd00000C56* -- ID_MODEL_FROM_DATABASE=GLADIAC Ultra -+ ID_MODEL_FROM_DATABASE=NV15 [GeForce2 Ultra] (GLADIAC Ultra) - - pci:v000010DEd00000153* - ID_MODEL_FROM_DATABASE=NV15GL [Quadro2 Pro] -@@ -21990,40 +21990,40 @@ pci:v000010DEd00000170* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] - - pci:v000010DEd00000170sv00001462sd00008630* -- ID_MODEL_FROM_DATABASE=MS-8863 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 460] (MS-8863) - - pci:v000010DEd00000171* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] - - pci:v000010DEd00000171sv000010B0sd00000002* -- ID_MODEL_FROM_DATABASE=Gainward Pro/600 TV -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Gainward Pro/600 TV) - - pci:v000010DEd00000171sv000010DEsd00000008* -- ID_MODEL_FROM_DATABASE=Apple OEM GeForce4 MX 440 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Apple OEM GeForce4 MX 440) - - pci:v000010DEd00000171sv00001462sd00008661* -- ID_MODEL_FROM_DATABASE=G4MX440-VTP -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (G4MX440-VTP) - - pci:v000010DEd00000171sv00001462sd00008730* -- ID_MODEL_FROM_DATABASE=MX440SES-T (MS-8873) -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MX440SES-T (MS-8873)) - - pci:v000010DEd00000171sv00001462sd00008743* -- ID_MODEL_FROM_DATABASE=MS-8874 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (MS-8874) - - pci:v000010DEd00000171sv00001462sd00008852* -- ID_MODEL_FROM_DATABASE=GeForce4 MX440 PCI -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (GeForce4 MX440 PCI) - - pci:v000010DEd00000171sv0000147Bsd00008F00* -- ID_MODEL_FROM_DATABASE=Abit Siluro GeForce4MX440 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440] (Abit Siluro GeForce4MX440) - - pci:v000010DEd00000172* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] - - pci:v000010DEd00000172sv00001462sd00008730* -- ID_MODEL_FROM_DATABASE=MS-8873 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8873) - - pci:v000010DEd00000172sv00001462sd00008784* -- ID_MODEL_FROM_DATABASE=MS-8878 -+ ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 420] (MS-8878) - - pci:v000010DEd00000173* - ID_MODEL_FROM_DATABASE=NV17 [GeForce4 MX 440-SE] -@@ -22038,13 +22038,13 @@ pci:v000010DEd00000176* - ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] - - pci:v000010DEd00000176sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (tc1100 tablet) - - pci:v000010DEd00000176sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (X10 Laptop) - - pci:v000010DEd00000176sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 420 Go 32M] (Cx9 / Vx9 mainboard) - - pci:v000010DEd00000177* - ID_MODEL_FROM_DATABASE=NV17M [GeForce4 460 Go] -@@ -22056,7 +22056,7 @@ pci:v000010DEd00000179* - ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] - - pci:v000010DEd00000179sv000010DEsd00000179* -- ID_MODEL_FROM_DATABASE=GeForce4 MX (Mac) -+ ID_MODEL_FROM_DATABASE=NV17M [GeForce4 440 Go 64M] (GeForce4 MX (Mac)) - - pci:v000010DEd0000017A* - ID_MODEL_FROM_DATABASE=NV17GL [Quadro NVS] -@@ -22074,25 +22074,25 @@ pci:v000010DEd00000181* - ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] - - pci:v000010DEd00000181sv00001043sd00008063* -- ID_MODEL_FROM_DATABASE=GeForce4 MX 440 AGP 8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (GeForce4 MX 440 AGP 8X) - - pci:v000010DEd00000181sv00001043sd0000806F* -- ID_MODEL_FROM_DATABASE=V9180 Magic -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (V9180 Magic) - - pci:v000010DEd00000181sv00001462sd00008880* -- ID_MODEL_FROM_DATABASE=MS-StarForce GeForce4 MX 440 with AGP8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-StarForce GeForce4 MX 440 with AGP8X) - - pci:v000010DEd00000181sv00001462sd00008900* -- ID_MODEL_FROM_DATABASE=MS-8890 GeForce 4 MX440 AGP8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MS-8890 GeForce 4 MX440 AGP8X) - - pci:v000010DEd00000181sv00001462sd00009350* -- ID_MODEL_FROM_DATABASE=MSI GeForce4 MX T8X with AGP8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (MSI GeForce4 MX T8X with AGP8X) - - pci:v000010DEd00000181sv0000147Bsd00008F0D* -- ID_MODEL_FROM_DATABASE=Siluro GF4 MX-8X -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (Siluro GF4 MX-8X) - - pci:v000010DEd00000181sv00001554sd00001111* -- ID_MODEL_FROM_DATABASE=PixelView MVGA-NVG18A -+ ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440 AGP 8x] (PixelView MVGA-NVG18A) - - pci:v000010DEd00000182* - ID_MODEL_FROM_DATABASE=NV18 [GeForce4 MX 440SE AGP 8x] -@@ -22146,7 +22146,7 @@ pci:v000010DEd00000193* - ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] - - pci:v000010DEd00000193sv0000107Dsd000020BD* -- ID_MODEL_FROM_DATABASE=WinFast PX 8800 GTS TDH -+ ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 GTS] (WinFast PX 8800 GTS TDH) - - pci:v000010DEd00000194* - ID_MODEL_FROM_DATABASE=G80 [GeForce 8800 Ultra] -@@ -22212,13 +22212,13 @@ pci:v000010DEd000001D1* - ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] - - pci:v000010DEd000001D1sv0000107Dsd00005EFA* -- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD128 -+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD128) - - pci:v000010DEd000001D1sv0000107Dsd00005EFB* -- ID_MODEL_FROM_DATABASE=WinFast PX7300LE-TD256 -+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (WinFast PX7300LE-TD256) - - pci:v000010DEd000001D1sv00001462sd00000345* -- ID_MODEL_FROM_DATABASE=7300LE PCI Express Graphics Adapter -+ ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 LE] (7300LE PCI Express Graphics Adapter) - - pci:v000010DEd000001D2* - ID_MODEL_FROM_DATABASE=G72 [GeForce 7550 LE] -@@ -22239,7 +22239,7 @@ pci:v000010DEd000001D8* - ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] - - pci:v000010DEd000001D8sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7400] (XPS M1210) - - pci:v000010DEd000001D9* - ID_MODEL_FROM_DATABASE=G72M [GeForce Go 7450] -@@ -22260,7 +22260,7 @@ pci:v000010DEd000001DE* - ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] - - pci:v000010DEd000001DEsv000010DEsd000001DC* -- ID_MODEL_FROM_DATABASE=Quadro FX Go350M -+ ID_MODEL_FROM_DATABASE=G72GL [Quadro FX 350] (Quadro FX Go350M) - - pci:v000010DEd000001DF* - ID_MODEL_FROM_DATABASE=G72 [GeForce 7300 GS] -@@ -22269,7 +22269,7 @@ pci:v000010DEd000001E0* - ID_MODEL_FROM_DATABASE=nForce2 IGP2 - - pci:v000010DEd000001E0sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 IGP2 (NV7 Motherboard) - - pci:v000010DEd000001E8* - ID_MODEL_FROM_DATABASE=nForce2 AGP -@@ -22278,55 +22278,55 @@ pci:v000010DEd000001EA* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 - - pci:v000010DEd000001EAsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 0 (UK79G-1394 motherboard) - - pci:v000010DEd000001EB* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 - - pci:v000010DEd000001EBsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 1 (UK79G-1394 motherboard) - - pci:v000010DEd000001EC* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 - - pci:v000010DEd000001ECsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 2 (UK79G-1394 motherboard) - - pci:v000010DEd000001ED* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 - - pci:v000010DEd000001EDsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 3 (UK79G-1394 motherboard) - - pci:v000010DEd000001EE* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 - - pci:v000010DEd000001EEsv000010DEsd000001EE* -- ID_MODEL_FROM_DATABASE=MSI Delta-L nForce2 memory controller -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (MSI Delta-L nForce2 memory controller) - - pci:v000010DEd000001EEsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 4 (UK79G-1394 motherboard) - - pci:v000010DEd000001EF* - ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 - - pci:v000010DEd000001EFsv0000A0A0sd000003B9* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=nForce2 Memory Controller 5 (UK79G-1394 motherboard) - - pci:v000010DEd000001F0* - ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] - - pci:v000010DEd000001F0sv0000A0A0sd000003B5* -- ID_MODEL_FROM_DATABASE=UK79G-1394 motherboard -+ ID_MODEL_FROM_DATABASE=C17 [GeForce4 MX IGP] (UK79G-1394 motherboard) - - pci:v000010DEd00000200* - ID_MODEL_FROM_DATABASE=NV20 [GeForce3] - - pci:v000010DEd00000200sv00001043sd0000402F* -- ID_MODEL_FROM_DATABASE=AGP-V8200 DDR -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (AGP-V8200 DDR) - - pci:v000010DEd00000200sv00001048sd00000C70* -- ID_MODEL_FROM_DATABASE=GLADIAC 920 -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3] (GLADIAC 920) - - pci:v000010DEd00000201* - ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 200] -@@ -22335,10 +22335,10 @@ pci:v000010DEd00000202* - ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] - - pci:v000010DEd00000202sv00001043sd0000405B* -- ID_MODEL_FROM_DATABASE=V8200 T5 -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (V8200 T5) - - pci:v000010DEd00000202sv00001545sd0000002F* -- ID_MODEL_FROM_DATABASE=Xtasy 6964 -+ ID_MODEL_FROM_DATABASE=NV20 [GeForce3 Ti 500] (Xtasy 6964) - - pci:v000010DEd00000203* - ID_MODEL_FROM_DATABASE=NV20GL [Quadro DCC] -@@ -22359,10 +22359,10 @@ pci:v000010DEd00000221* - ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] - - pci:v000010DEd00000221sv00001043sd000081E1* -- ID_MODEL_FROM_DATABASE=N6200/TD/256M/A -+ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (N6200/TD/256M/A) - - pci:v000010DEd00000221sv00003842sd0000A341* -- ID_MODEL_FROM_DATABASE=256A8N341DX -+ ID_MODEL_FROM_DATABASE=NV44A [GeForce 6200] (256A8N341DX) - - pci:v000010DEd00000222* - ID_MODEL_FROM_DATABASE=NV44 [GeForce 6200 A-LE] -@@ -22374,10 +22374,10 @@ pci:v000010DEd00000240* - ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] - - pci:v000010DEd00000240sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM -+ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (A8N-VM CSM) - - pci:v000010DEd00000240sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51PV [GeForce 6150] (K8NGM2 series) - - pci:v000010DEd00000241* - ID_MODEL_FROM_DATABASE=C51 [GeForce 6150 LE] -@@ -22386,7 +22386,7 @@ pci:v000010DEd00000242* - ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] - - pci:v000010DEd00000242sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=C51G [GeForce 6100] (Winfast 6100K8MB) - - pci:v000010DEd00000243* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge -@@ -22395,13 +22395,13 @@ pci:v000010DEd00000244* - ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] - - pci:v000010DEd00000244sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V3242AU) - - pci:v000010DEd00000244sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (Presario V6133CL) - - pci:v000010DEd00000244sv000010DEsd00000244* -- ID_MODEL_FROM_DATABASE=GeForce Go 6150 -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6150] (GeForce Go 6150) - - pci:v000010DEd00000245* - ID_MODEL_FROM_DATABASE=C51 [Quadro NVS 210S/GeForce 6150LE] -@@ -22413,7 +22413,7 @@ pci:v000010DEd00000247* - ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] - - pci:v000010DEd00000247sv00001043sd00001382* -- ID_MODEL_FROM_DATABASE=MCP51 PCI-X GeForce Go 6100 -+ ID_MODEL_FROM_DATABASE=C51 [GeForce Go 6100] (MCP51 PCI-X GeForce Go 6100) - - pci:v000010DEd00000248* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge -@@ -22446,13 +22446,13 @@ pci:v000010DEd00000251* - ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] - - pci:v000010DEd00000251sv00001043sd00008023* -- ID_MODEL_FROM_DATABASE=v8440 GeForce 4 Ti4400 -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (v8440 GeForce 4 Ti4400) - - pci:v000010DEd00000251sv000010DEsd00000251* -- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) - - pci:v000010DEd00000251sv00001462sd00008710* -- ID_MODEL_FROM_DATABASE=PNY GeForce4 Ti 4400 -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4400] (PNY GeForce4 Ti 4400) - - pci:v000010DEd00000252* - ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti] -@@ -22461,10 +22461,10 @@ pci:v000010DEd00000253* - ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] - - pci:v000010DEd00000253sv0000107Dsd00002896* -- ID_MODEL_FROM_DATABASE=WinFast A250 LE TD (Dual VGA/TV-out/DVI) -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (WinFast A250 LE TD (Dual VGA/TV-out/DVI)) - - pci:v000010DEd00000253sv0000147Bsd00008F09* -- ID_MODEL_FROM_DATABASE=Siluro (Dual VGA/TV-out/DVI) -+ ID_MODEL_FROM_DATABASE=NV25 [GeForce4 Ti 4200] (Siluro (Dual VGA/TV-out/DVI)) - - pci:v000010DEd00000258* - ID_MODEL_FROM_DATABASE=NV25GL [Quadro4 900 XGL] -@@ -22479,25 +22479,25 @@ pci:v000010DEd00000260* - ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge - - pci:v000010DEd00000260sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Pavilion a1677c) - - pci:v000010DEd00000260sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Presario V6133CL) - - pci:v000010DEd00000260sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd00000260sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (GA-M55plus-S3G) - - pci:v000010DEd00000260sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (K8NGM2 series) - - pci:v000010DEd00000261* - ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge - - pci:v000010DEd00000261sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge (Winfast 6100K8MB) - - pci:v000010DEd00000262* - ID_MODEL_FROM_DATABASE=MCP51 LPC Bridge -@@ -22509,64 +22509,64 @@ pci:v000010DEd00000264* - ID_MODEL_FROM_DATABASE=MCP51 SMBus - - pci:v000010DEd00000264sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Pavilion a1677c) - - pci:v000010DEd00000264sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Presario V6133CL) - - pci:v000010DEd00000264sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (A8N-VM CSM Mainboard) - - pci:v000010DEd00000264sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (Winfast 6100K8MB) - - pci:v000010DEd00000264sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 SMBus (K8NGM2 series) - - pci:v000010DEd00000265* - ID_MODEL_FROM_DATABASE=MCP51 IDE - - pci:v000010DEd00000265sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (Pavilion a1677c) - - pci:v000010DEd00000265sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (Presario V6133CL) - - pci:v000010DEd00000265sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (A8N-VM CSM Mainboard) - - pci:v000010DEd00000265sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (K8NGM2 series) - - pci:v000010DEd00000265sv0000F05Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 IDE (Winfast 6100K8MB) - - pci:v000010DEd00000266* - ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller - - pci:v000010DEd00000266sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) - - pci:v000010DEd00000266sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Presario V6133CL) - - pci:v000010DEd00000266sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd00000266sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) - - pci:v000010DEd00000267* - ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller - - pci:v000010DEd00000267sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (Pavilion a1677c) - - pci:v000010DEd00000267sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd00000267sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Serial ATA Controller (K8NGM2 series) - - pci:v000010DEd00000268* - ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller -@@ -22575,16 +22575,16 @@ pci:v000010DEd00000269* - ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller - - pci:v000010DEd00000269sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Pavilion a1677c) - - pci:v000010DEd00000269sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (Presario V6133CL) - - pci:v000010DEd00000269sv00001043sd00008141* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd00000269sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Ethernet Controller (K8NGM2 series) - - pci:v000010DEd0000026A* - ID_MODEL_FROM_DATABASE=MCP51 MCI -@@ -22593,142 +22593,142 @@ pci:v000010DEd0000026B* - ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller - - pci:v000010DEd0000026Bsv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 AC97 Audio Controller (Winfast 6100K8MB) - - pci:v000010DEd0000026C* - ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio - - pci:v000010DEd0000026Csv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Pavilion a1677c) - - pci:v000010DEd0000026Csv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V3242AU) - - pci:v000010DEd0000026Csv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (Presario V6133CL) - - pci:v000010DEd0000026Csv000010DEsd0000CB84* -- ID_MODEL_FROM_DATABASE=ASUSTeK Computer Inc. A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (ASUSTeK Computer Inc. A8N-VM CSM Mainboard) - - pci:v000010DEd0000026Csv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 High Definition Audio (K8NGM2 series) - - pci:v000010DEd0000026D* - ID_MODEL_FROM_DATABASE=MCP51 USB Controller - - pci:v000010DEd0000026Dsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) - - pci:v000010DEd0000026Dsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) - - pci:v000010DEd0000026Dsv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd0000026Dsv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) - - pci:v000010DEd0000026Dsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) - - pci:v000010DEd0000026E* - ID_MODEL_FROM_DATABASE=MCP51 USB Controller - - pci:v000010DEd0000026Esv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Pavilion a1677c) - - pci:v000010DEd0000026Esv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Presario V6133CL) - - pci:v000010DEd0000026Esv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (A8N-VM CSM Mainboard) - - pci:v000010DEd0000026Esv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (Winfast 6100K8MB) - - pci:v000010DEd0000026Esv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 USB Controller (K8NGM2 series) - - pci:v000010DEd0000026F* - ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge - - pci:v000010DEd0000026Fsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 PCI Bridge (Presario V6133CL) - - pci:v000010DEd00000270* - ID_MODEL_FROM_DATABASE=MCP51 Host Bridge - - pci:v000010DEd00000270sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Pavilion a1677c) - - pci:v000010DEd00000270sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Presario V6133CL) - - pci:v000010DEd00000270sv00001043sd000081BC* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd00000270sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (Winfast 6100K8MB) - - pci:v000010DEd00000270sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (GA-M55plus-S3G) - - pci:v000010DEd00000270sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=MCP51 Host Bridge (K8NGM2 series) - - pci:v000010DEd00000271* - ID_MODEL_FROM_DATABASE=MCP51 PMU - - pci:v000010DEd00000271sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V3242AU) - - pci:v000010DEd00000271sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=MCP51 PMU (Presario V6133CL) - - pci:v000010DEd00000272* - ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 - - pci:v000010DEd00000272sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Pavilion a1677c) - - pci:v000010DEd00000272sv0000105Bsd00000CAD* -- ID_MODEL_FROM_DATABASE=Winfast 6100K8MB -+ ID_MODEL_FROM_DATABASE=MCP51 Memory Controller 0 (Winfast 6100K8MB) - - pci:v000010DEd0000027E* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 - - pci:v000010DEd0000027Esv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Pavilion a1677c) - - pci:v000010DEd0000027Esv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (Presario V6133CL) - - pci:v000010DEd0000027Esv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (A8N-VM CSM Mainboard) - - pci:v000010DEd0000027Esv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (GA-M55plus-S3G) - - pci:v000010DEd0000027Esv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 2 (K8NGM2 series) - - pci:v000010DEd0000027F* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 - - pci:v000010DEd0000027Fsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Pavilion a1677c) - - pci:v000010DEd0000027Fsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (Presario V6133CL) - - pci:v000010DEd0000027Fsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (A8N-VM CSM Mainboard) - - pci:v000010DEd0000027Fsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (GA-M55plus-S3G) - - pci:v000010DEd0000027Fsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 3 (K8NGM2 series) - - pci:v000010DEd00000280* - ID_MODEL_FROM_DATABASE=NV28 [GeForce4 Ti 4800] -@@ -22758,7 +22758,7 @@ pci:v000010DEd00000291* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] - - pci:v000010DEd00000291sv000010DEsd0000042B* -- ID_MODEL_FROM_DATABASE=NX7900GTO-T2D512E [7900 GTO] -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GT/GTO] (NX7900GTO-T2D512E [7900 GTO]) - - pci:v000010DEd00000292* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7900 GS] -@@ -22773,13 +22773,13 @@ pci:v000010DEd00000295* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] - - pci:v000010DEd00000295sv00001043sd00008225* -- ID_MODEL_FROM_DATABASE=GeForce 7950 GT -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (GeForce 7950 GT) - - pci:v000010DEd00000295sv0000107Dsd00002A68* -- ID_MODEL_FROM_DATABASE=WinFast PX7950GT TDH -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (WinFast PX7950GT TDH) - - pci:v000010DEd00000295sv00001462sd00000663* -- ID_MODEL_FROM_DATABASE=NX7950GT-VT2D512EZ-HD -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (NX7950GT-VT2D512EZ-HD) - - pci:v000010DEd00000297* - ID_MODEL_FROM_DATABASE=G71M [GeForce Go 7950 GTX] -@@ -22803,7 +22803,7 @@ pci:v000010DEd0000029D* - ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] - - pci:v000010DEd0000029Dsv00001028sd0000019B* -- ID_MODEL_FROM_DATABASE=G71GLM [Quadro FX 3500M] -+ ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 3500] (G71GLM [Quadro FX 3500M]) - - pci:v000010DEd0000029E* - ID_MODEL_FROM_DATABASE=G71GL [Quadro FX 1500] -@@ -22824,16 +22824,16 @@ pci:v000010DEd000002E0* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] - - pci:v000010DEd000002E0sv000002E0sd00002249* -- ID_MODEL_FROM_DATABASE=GF 7600GT 560M 256MB DDR3 DUAL DVI TV -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GF 7600GT 560M 256MB DDR3 DUAL DVI TV) - - pci:v000010DEd000002E1* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] - - pci:v000010DEd000002E1sv00001682sd0000222B* -- ID_MODEL_FROM_DATABASE=PV-T73K-UAL3 (256MB) -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (PV-T73K-UAL3 (256MB)) - - pci:v000010DEd000002E1sv00001682sd00002247* -- ID_MODEL_FROM_DATABASE=GF 7600GS 512MB DDR2 -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (GF 7600GS 512MB DDR2) - - pci:v000010DEd000002E2* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] -@@ -22845,28 +22845,28 @@ pci:v000010DEd000002E4* - ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] - - pci:v000010DEd000002E4sv00001682sd00002271* -- ID_MODEL_FROM_DATABASE=PV-T71A-YDF7 (512MB) -+ ID_MODEL_FROM_DATABASE=G71 [GeForce 7950 GT] (PV-T71A-YDF7 (512MB)) - - pci:v000010DEd000002F0* - ID_MODEL_FROM_DATABASE=C51 Host Bridge - - pci:v000010DEd000002F0sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) - - pci:v000010DEd000002F0sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) - - pci:v000010DEd000002F0sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd000002F0sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) - - pci:v000010DEd000002F1* - ID_MODEL_FROM_DATABASE=C51 Host Bridge - - pci:v000010DEd000002F1sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) - - pci:v000010DEd000002F2* - ID_MODEL_FROM_DATABASE=C51 Host Bridge -@@ -22890,55 +22890,55 @@ pci:v000010DEd000002F8* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 - - pci:v000010DEd000002F8sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Pavilion a1677c) - - pci:v000010DEd000002F8sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (Presario V6133CL) - - pci:v000010DEd000002F8sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002F8sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (GA-M55plus-S3G) - - pci:v000010DEd000002F8sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 5 (K8NGM2 series) - - pci:v000010DEd000002F9* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 - - pci:v000010DEd000002F9sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Pavilion a1677c) - - pci:v000010DEd000002F9sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (Presario V6133CL) - - pci:v000010DEd000002F9sv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002F9sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (GA-M55plus-S3G) - - pci:v000010DEd000002F9sv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 4 (K8NGM2 series) - - pci:v000010DEd000002FA* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 - - pci:v000010DEd000002FAsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Pavilion a1677c) - - pci:v000010DEd000002FAsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (Presario V6133CL) - - pci:v000010DEd000002FAsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002FAsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (GA-M55plus-S3G) - - pci:v000010DEd000002FAsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 0 (K8NGM2 series) - - pci:v000010DEd000002FB* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge -@@ -22947,49 +22947,49 @@ pci:v000010DEd000002FC* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge - - pci:v000010DEd000002FCsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) - - pci:v000010DEd000002FD* - ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge - - pci:v000010DEd000002FDsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 PCI Express Bridge (Presario V6133CL) - - pci:v000010DEd000002FE* - ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 - - pci:v000010DEd000002FEsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Pavilion a1677c) - - pci:v000010DEd000002FEsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (Presario V6133CL) - - pci:v000010DEd000002FEsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (A8N-VM CSM Mainboard) - - pci:v000010DEd000002FEsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (GA-M55plus-S3G) - - pci:v000010DEd000002FEsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Memory Controller 1 (K8NGM2 series) - - pci:v000010DEd000002FF* - ID_MODEL_FROM_DATABASE=C51 Host Bridge - - pci:v000010DEd000002FFsv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Pavilion a1677c) - - pci:v000010DEd000002FFsv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (Presario V6133CL) - - pci:v000010DEd000002FFsv00001043sd000081CD* -- ID_MODEL_FROM_DATABASE=A8N-VM CSM Mainboard -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (A8N-VM CSM Mainboard) - - pci:v000010DEd000002FFsv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-M55plus-S3G -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (GA-M55plus-S3G) - - pci:v000010DEd000002FFsv00001462sd00007207* -- ID_MODEL_FROM_DATABASE=K8NGM2 series -+ ID_MODEL_FROM_DATABASE=C51 Host Bridge (K8NGM2 series) - - pci:v000010DEd00000300* - ID_MODEL_FROM_DATABASE=NV30 [GeForce FX] -@@ -23016,7 +23016,7 @@ pci:v000010DEd00000314* - ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] - - pci:v000010DEd00000314sv00001043sd0000814A* -- ID_MODEL_FROM_DATABASE=V9560XT/TD -+ ID_MODEL_FROM_DATABASE=NV31 [GeForce FX 5600XT] (V9560XT/TD) - - pci:v000010DEd00000316* - ID_MODEL_FROM_DATABASE=NV31M -@@ -23043,25 +23043,25 @@ pci:v000010DEd00000322* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] - - pci:v000010DEd00000322sv00001043sd000002FB* -- ID_MODEL_FROM_DATABASE=V9250 Magic -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9250 Magic) - - pci:v000010DEd00000322sv00001043sd00008180* -- ID_MODEL_FROM_DATABASE=V9520-X/TD/128M -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (V9520-X/TD/128M) - - pci:v000010DEd00000322sv0000107Dsd00002967* -- ID_MODEL_FROM_DATABASE=WinFast A340T 128MB -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (WinFast A340T 128MB) - - pci:v000010DEd00000322sv00001462sd00009110* -- ID_MODEL_FROM_DATABASE=MS-8911 (FX5200-TD128) -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8911 (FX5200-TD128)) - - pci:v000010DEd00000322sv00001462sd00009171* -- ID_MODEL_FROM_DATABASE=MS-8917 (FX5200-T128) -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8917 (FX5200-T128)) - - pci:v000010DEd00000322sv00001462sd00009360* -- ID_MODEL_FROM_DATABASE=MS-8936 (FX5200-T128) -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (MS-8936 (FX5200-T128)) - - pci:v000010DEd00000322sv00001682sd00001351* -- ID_MODEL_FROM_DATABASE=GeForce FX 5200 -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200] (GeForce FX 5200) - - pci:v000010DEd00000323* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5200LE] -@@ -23070,13 +23070,13 @@ pci:v000010DEd00000324* - ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] - - pci:v000010DEd00000324sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Inspiron 5160) - - pci:v000010DEd00000324sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=Pavilion ZD7000 laptop -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (Pavilion ZD7000 laptop) - - pci:v000010DEd00000324sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200 64M] (MIM2000) - - pci:v000010DEd00000325* - ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5250] -@@ -23085,10 +23085,10 @@ pci:v000010DEd00000326* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] - - pci:v000010DEd00000326sv00001458sd0000310D* -- ID_MODEL_FROM_DATABASE=GeForce FX 5500 128 MB -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce FX 5500 128 MB) - - pci:v000010DEd00000326sv00001682sd00002034* -- ID_MODEL_FROM_DATABASE=GeForce 5500 256 MB -+ ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5500] (GeForce 5500 256 MB) - - pci:v000010DEd00000327* - ID_MODEL_FROM_DATABASE=NV34 [GeForce FX 5100] -@@ -23100,7 +23100,7 @@ pci:v000010DEd00000329* - ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] - - pci:v000010DEd00000329sv000010DEsd00000010* -- ID_MODEL_FROM_DATABASE=Powerbook G4 -+ ID_MODEL_FROM_DATABASE=NV34M [GeForce FX Go5200] (Powerbook G4) - - pci:v000010DEd0000032A* - ID_MODEL_FROM_DATABASE=NV34GL [Quadro NVS 280 PCI] -@@ -23124,13 +23124,13 @@ pci:v000010DEd00000330* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] - - pci:v000010DEd00000330sv00001043sd00008137* -- ID_MODEL_FROM_DATABASE=V9950 Ultra / 256 MB -+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900 Ultra] (V9950 Ultra / 256 MB) - - pci:v000010DEd00000331* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] - - pci:v000010DEd00000331sv00001043sd00008145* -- ID_MODEL_FROM_DATABASE=V9950GE -+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900] (V9950GE) - - pci:v000010DEd00000332* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900XT] -@@ -23142,7 +23142,7 @@ pci:v000010DEd00000334* - ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] - - pci:v000010DEd00000334sv00001462sd00009373* -- ID_MODEL_FROM_DATABASE=FX5900ZT-VTD128 (MS-8937) -+ ID_MODEL_FROM_DATABASE=NV35 [GeForce FX 5900ZT] (FX5900ZT-VTD128 (MS-8937)) - - pci:v000010DEd00000338* - ID_MODEL_FROM_DATABASE=NV35GL [Quadro FX 3000] -@@ -23154,7 +23154,7 @@ pci:v000010DEd00000341* - ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] - - pci:v000010DEd00000341sv00001462sd00009380* -- ID_MODEL_FROM_DATABASE=MS-8938 (FX5700U-TD128) -+ ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700 Ultra] (MS-8938 (FX5700U-TD128)) - - pci:v000010DEd00000342* - ID_MODEL_FROM_DATABASE=NV36 [GeForce FX 5700] -@@ -23169,7 +23169,7 @@ pci:v000010DEd00000347* - ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] - - pci:v000010DEd00000347sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] (NX9500) - - pci:v000010DEd00000348* - ID_MODEL_FROM_DATABASE=NV36M [GeForce FX Go5700] -@@ -23190,13 +23190,13 @@ pci:v000010DEd00000361* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000361sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge -+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) - - pci:v000010DEd00000362* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000362sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (KN9 series mainboard) - - pci:v000010DEd00000363* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge -@@ -23205,7 +23205,7 @@ pci:v000010DEd00000364* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000364sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 LPC Bridge -+ ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge (PowerEdge R805 MCP55 LPC Bridge) - - pci:v000010DEd00000365* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge -@@ -23220,19 +23220,19 @@ pci:v000010DEd00000368* - ID_MODEL_FROM_DATABASE=MCP55 SMBus - - pci:v000010DEd00000368sv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 SMBus -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) - - pci:v000010DEd00000368sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SMBus -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) - - pci:v000010DEd00000368sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) - - pci:v000010DEd00000369* - ID_MODEL_FROM_DATABASE=MCP55 Memory Controller - - pci:v000010DEd00000369sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 Memory Controller (KN9 series mainboard) - - pci:v000010DEd0000036A* - ID_MODEL_FROM_DATABASE=MCP55 Memory Controller -@@ -23244,31 +23244,31 @@ pci:v000010DEd0000036C* - ID_MODEL_FROM_DATABASE=MCP55 USB Controller - - pci:v000010DEd0000036Csv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) - - pci:v000010DEd0000036Csv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) - - pci:v000010DEd0000036Csv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) - - pci:v000010DEd0000036D* - ID_MODEL_FROM_DATABASE=MCP55 USB Controller - - pci:v000010DEd0000036Dsv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge M605 MCP55 USB Controller) - - pci:v000010DEd0000036Dsv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 USB Controller -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (PowerEdge R805 MCP55 USB Controller) - - pci:v000010DEd0000036Dsv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 USB Controller (KN9 series mainboard) - - pci:v000010DEd0000036E* - ID_MODEL_FROM_DATABASE=MCP55 IDE - - pci:v000010DEd0000036Esv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 IDE (KN9 series mainboard) - - pci:v000010DEd00000370* - ID_MODEL_FROM_DATABASE=MCP55 PCI bridge -@@ -23277,7 +23277,7 @@ pci:v000010DEd00000371* - ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio - - pci:v000010DEd00000371sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 High Definition Audio (KN9 series mainboard) - - pci:v000010DEd00000372* - ID_MODEL_FROM_DATABASE=MCP55 Ethernet -@@ -23286,7 +23286,7 @@ pci:v000010DEd00000373* - ID_MODEL_FROM_DATABASE=MCP55 Ethernet - - pci:v000010DEd00000373sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 Ethernet (KN9 series mainboard) - - pci:v000010DEd00000374* - ID_MODEL_FROM_DATABASE=MCP55 PCI Express bridge -@@ -23313,10 +23313,10 @@ pci:v000010DEd0000037F* - ID_MODEL_FROM_DATABASE=MCP55 SATA Controller - - pci:v000010DEd0000037Fsv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 MCP55 SATA Controller -+ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (PowerEdge R805 MCP55 SATA Controller) - - pci:v000010DEd0000037Fsv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=KN9 series mainboard -+ ID_MODEL_FROM_DATABASE=MCP55 SATA Controller (KN9 series mainboard) - - pci:v000010DEd0000038B* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7650 GS] -@@ -23328,25 +23328,25 @@ pci:v000010DEd00000391* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] - - pci:v000010DEd00000391sv00001458sd00003427* -- ID_MODEL_FROM_DATABASE=GV-NX76T128D-RH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (GV-NX76T128D-RH) - - pci:v000010DEd00000391sv00001462sd00000452* -- ID_MODEL_FROM_DATABASE=NX7600GT-VT2D256E -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GT] (NX7600GT-VT2D256E) - - pci:v000010DEd00000392* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] - - pci:v000010DEd00000392sv00001462sd00000622* -- ID_MODEL_FROM_DATABASE=NX7600GS-T2D256EH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 GS] (NX7600GS-T2D256EH) - - pci:v000010DEd00000393* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] - - pci:v000010DEd00000393sv000010DEsd00000412* -- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) - - pci:v000010DEd00000393sv00001462sd00000412* -- ID_MODEL_FROM_DATABASE=NX7300GT-TD256EH -+ ID_MODEL_FROM_DATABASE=G73 [GeForce 7300 GT] (NX7300GT-TD256EH) - - pci:v000010DEd00000394* - ID_MODEL_FROM_DATABASE=G73 [GeForce 7600 LE] -@@ -23364,7 +23364,7 @@ pci:v000010DEd00000398* - ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] - - pci:v000010DEd00000398sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=Acer 9814 WKMI -+ ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600] (Acer 9814 WKMI) - - pci:v000010DEd00000399* - ID_MODEL_FROM_DATABASE=G73M [GeForce Go 7600 GT] -@@ -23379,7 +23379,7 @@ pci:v000010DEd0000039C* - ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] - - pci:v000010DEd0000039Csv000010DEsd0000039C* -- ID_MODEL_FROM_DATABASE=Quadro FX 560M -+ ID_MODEL_FROM_DATABASE=G73GLM [Quadro FX 550M] (Quadro FX 560M) - - pci:v000010DEd0000039D* - ID_MODEL_FROM_DATABASE=G73 -@@ -23481,7 +23481,7 @@ pci:v000010DEd000003D0* - ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] - - pci:v000010DEd000003D0sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=C61 [GeForce 6150SE nForce 430] (Inspiron 531) - - pci:v000010DEd000003D1* - ID_MODEL_FROM_DATABASE=C61 [GeForce 6100 nForce 405] -@@ -23499,22 +23499,22 @@ pci:v000010DEd000003E0* - ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge - - pci:v000010DEd000003E0sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (Inspiron 531) - - pci:v000010DEd000003E0sv00001849sd000003E0* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003E1* - ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge - - pci:v000010DEd000003E1sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge (M4N68T series motherboard) - - pci:v000010DEd000003E2* - ID_MODEL_FROM_DATABASE=MCP61 Host Bridge - - pci:v000010DEd000003E2sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 Host Bridge (M4N68T series motherboard) - - pci:v000010DEd000003E3* - ID_MODEL_FROM_DATABASE=MCP61 LPC Bridge -@@ -23535,55 +23535,55 @@ pci:v000010DEd000003E8* - ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge - - pci:v000010DEd000003E8sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) - - pci:v000010DEd000003E8sv00001849sd000003E8* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003E9* - ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge - - pci:v000010DEd000003E9sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (Inspiron 531) - - pci:v000010DEd000003E9sv00001849sd000003E9* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 PCI Express bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003EA* - ID_MODEL_FROM_DATABASE=MCP61 Memory Controller - - pci:v000010DEd000003EAsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) - - pci:v000010DEd000003EAsv00001849sd000003EA* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003EB* - ID_MODEL_FROM_DATABASE=MCP61 SMBus - - pci:v000010DEd000003EBsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 SMBus (Inspiron 531) - - pci:v000010DEd000003EBsv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 SMBus (M4N68T series motherboard) - - pci:v000010DEd000003EBsv00001849sd000003EB* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 SMBus (939NF6G-VSTA Board) - - pci:v000010DEd000003EC* - ID_MODEL_FROM_DATABASE=MCP61 IDE - - pci:v000010DEd000003ECsv00001025sd00000392* -- ID_MODEL_FROM_DATABASE=ET1350 -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (ET1350) - - pci:v000010DEd000003ECsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (Inspiron 531) - - pci:v000010DEd000003ECsv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (M4N68T series motherboard) - - pci:v000010DEd000003ECsv00001849sd000003EC* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 IDE (939NF6G-VSTA Board) - - pci:v000010DEd000003EE* - ID_MODEL_FROM_DATABASE=MCP61 Ethernet -@@ -23592,61 +23592,61 @@ pci:v000010DEd000003EF* - ID_MODEL_FROM_DATABASE=MCP61 Ethernet - - pci:v000010DEd000003EFsv00001025sd00008000* -- ID_MODEL_FROM_DATABASE=ET1350 -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (ET1350) - - pci:v000010DEd000003EFsv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (Inspiron 531) - - pci:v000010DEd000003EFsv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (M4N68T series motherboard) - - pci:v000010DEd000003EFsv00001849sd000003EF* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 Ethernet (939NF6G-VSTA Board) - - pci:v000010DEd000003F0* - ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio - - pci:v000010DEd000003F0sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (Inspiron 531) - - pci:v000010DEd000003F0sv00001043sd00008415* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (M4N68T series motherboard) - - pci:v000010DEd000003F0sv00001849sd00000888* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 High Definition Audio (939NF6G-VSTA Board) - - pci:v000010DEd000003F1* - ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller - - pci:v000010DEd000003F1sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (Inspiron 531) - - pci:v000010DEd000003F1sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (M4N68T series motherboard) - - pci:v000010DEd000003F1sv00001849sd000003F1* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 USB 1.1 Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F2* - ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller - - pci:v000010DEd000003F2sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (Inspiron 531) - - pci:v000010DEd000003F2sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (M4N68T series motherboard) - - pci:v000010DEd000003F2sv00001849sd000003F2* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 USB 2.0 Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F3* - ID_MODEL_FROM_DATABASE=MCP61 PCI bridge - - pci:v000010DEd000003F3sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (Inspiron 531) - - pci:v000010DEd000003F3sv00001849sd000003F3* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 PCI bridge (939NF6G-VSTA Board) - - pci:v000010DEd000003F4* - ID_MODEL_FROM_DATABASE=MCP61 SMU -@@ -23655,25 +23655,25 @@ pci:v000010DEd000003F5* - ID_MODEL_FROM_DATABASE=MCP61 Memory Controller - - pci:v000010DEd000003F5sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (Inspiron 531) - - pci:v000010DEd000003F5sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (M4N68T series motherboard) - - pci:v000010DEd000003F5sv00001849sd000003EB* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 Memory Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F6* - ID_MODEL_FROM_DATABASE=MCP61 SATA Controller - - pci:v000010DEd000003F6sv00001028sd0000020E* -- ID_MODEL_FROM_DATABASE=Inspiron 531 -+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (Inspiron 531) - - pci:v000010DEd000003F6sv00001043sd000083A4* -- ID_MODEL_FROM_DATABASE=M4N68T series motherboard -+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (M4N68T series motherboard) - - pci:v000010DEd000003F6sv00001849sd000003F6* -- ID_MODEL_FROM_DATABASE=939NF6G-VSTA Board -+ ID_MODEL_FROM_DATABASE=MCP61 SATA Controller (939NF6G-VSTA Board) - - pci:v000010DEd000003F7* - ID_MODEL_FROM_DATABASE=MCP61 SATA Controller -@@ -23682,7 +23682,7 @@ pci:v000010DEd00000400* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] - - pci:v000010DEd00000400sv00001043sd00008241* -- ID_MODEL_FROM_DATABASE=EN8600GTS -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GTS] (EN8600GTS) - - pci:v000010DEd00000401* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] -@@ -23691,10 +23691,10 @@ pci:v000010DEd00000402* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] - - pci:v000010DEd00000402sv00001458sd00003455* -- ID_MODEL_FROM_DATABASE=GV-NX86T512H -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (GV-NX86T512H) - - pci:v000010DEd00000402sv00001462sd00000910* -- ID_MODEL_FROM_DATABASE=NX8600GT-T2D256EZ -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GT] (NX8600GT-T2D256EZ) - - pci:v000010DEd00000403* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8600 GS] -@@ -23703,7 +23703,7 @@ pci:v000010DEd00000404* - ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] - - pci:v000010DEd00000404sv00001462sd00001230* -- ID_MODEL_FROM_DATABASE=NX8400GS-TD256E -+ ID_MODEL_FROM_DATABASE=G84 [GeForce 8400 GS] (NX8400GS-TD256E) - - pci:v000010DEd00000405* - ID_MODEL_FROM_DATABASE=G84M [GeForce 9500M GS] -@@ -23730,7 +23730,7 @@ pci:v000010DEd0000040C* - ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] - - pci:v000010DEd0000040Csv000017AAsd000020D9* -- ID_MODEL_FROM_DATABASE=ThinkPad T61p -+ ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 570M] (ThinkPad T61p) - - pci:v000010DEd0000040D* - ID_MODEL_FROM_DATABASE=G84GLM [Quadro FX 1600M] -@@ -23754,7 +23754,7 @@ pci:v000010DEd00000421* - ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] - - pci:v000010DEd00000421sv00001462sd00000960* -- ID_MODEL_FROM_DATABASE=NX8500GT-TD512EH/M2 -+ ID_MODEL_FROM_DATABASE=G86 [GeForce 8500 GT] (NX8500GT-TD512EH/M2) - - pci:v000010DEd00000422* - ID_MODEL_FROM_DATABASE=G86 [GeForce 8400 GS] -@@ -23769,7 +23769,7 @@ pci:v000010DEd00000425* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] - - pci:v000010DEd00000425sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8600M GS] (Aspire 5920G) - - pci:v000010DEd00000426* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GT] -@@ -23778,10 +23778,10 @@ pci:v000010DEd00000427* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] - - pci:v000010DEd00000427sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv6700) - - pci:v000010DEd00000427sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M GS] (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000428* - ID_MODEL_FROM_DATABASE=G86M [GeForce 8400M G] -@@ -23790,7 +23790,7 @@ pci:v000010DEd00000429* - ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] - - pci:v000010DEd00000429sv000017AAsd000020D8* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 140M] (ThinkPad T61) - - pci:v000010DEd0000042A* - ID_MODEL_FROM_DATABASE=G86M [Quadro NVS 130M] -@@ -23820,7 +23820,7 @@ pci:v000010DEd00000442* - ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge - - pci:v000010DEd00000442sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000443* - ID_MODEL_FROM_DATABASE=MCP65 LPC Bridge -@@ -23829,7 +23829,7 @@ pci:v000010DEd00000444* - ID_MODEL_FROM_DATABASE=MCP65 Memory Controller - - pci:v000010DEd00000444sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 Memory Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000445* - ID_MODEL_FROM_DATABASE=MCP65 Memory Controller -@@ -23838,31 +23838,31 @@ pci:v000010DEd00000446* - ID_MODEL_FROM_DATABASE=MCP65 SMBus - - pci:v000010DEd00000446sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 SMBus (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000447* - ID_MODEL_FROM_DATABASE=MCP65 SMU - - pci:v000010DEd00000447sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 SMU (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000448* - ID_MODEL_FROM_DATABASE=MCP65 IDE - - pci:v000010DEd00000448sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 IDE (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000449* - ID_MODEL_FROM_DATABASE=MCP65 PCI bridge - - pci:v000010DEd00000449sv000010DEsd0000CB84* -- ID_MODEL_FROM_DATABASE=HP Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 PCI bridge (HP Pavilion dv9668eg Laptop) - - pci:v000010DEd0000044A* - ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio - - pci:v000010DEd0000044Asv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio (Pavilion dv9668eg Laptop) - - pci:v000010DEd0000044B* - ID_MODEL_FROM_DATABASE=MCP65 High Definition Audio -@@ -23883,7 +23883,7 @@ pci:v000010DEd00000450* - ID_MODEL_FROM_DATABASE=MCP65 Ethernet - - pci:v000010DEd00000450sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 Ethernet (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000451* - ID_MODEL_FROM_DATABASE=MCP65 Ethernet -@@ -23898,13 +23898,13 @@ pci:v000010DEd00000454* - ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller - - pci:v000010DEd00000454sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 USB 1.1 OHCI Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000455* - ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller - - pci:v000010DEd00000455sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 USB 2.0 EHCI Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd00000456* - ID_MODEL_FROM_DATABASE=MCP65 USB Controller -@@ -23943,7 +23943,7 @@ pci:v000010DEd0000045D* - ID_MODEL_FROM_DATABASE=MCP65 SATA Controller - - pci:v000010DEd0000045Dsv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=MCP65 SATA Controller (Pavilion dv9668eg Laptop) - - pci:v000010DEd0000045E* - ID_MODEL_FROM_DATABASE=MCP65 SATA Controller -@@ -23964,7 +23964,7 @@ pci:v000010DEd0000053B* - ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] - - pci:v000010DEd0000053Bsv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=C68 [GeForce 7050 PV / nForce 630a] (M2N68-AM Motherbord) - - pci:v000010DEd0000053E* - ID_MODEL_FROM_DATABASE=C68 [GeForce 7025 / nForce 630a] -@@ -23976,7 +23976,7 @@ pci:v000010DEd00000542* - ID_MODEL_FROM_DATABASE=MCP67 SMBus - - pci:v000010DEd00000542sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=MCP67 SMBus (M2N68-AM Motherbord) - - pci:v000010DEd00000543* - ID_MODEL_FROM_DATABASE=MCP67 Co-processor -@@ -23985,25 +23985,25 @@ pci:v000010DEd00000547* - ID_MODEL_FROM_DATABASE=MCP67 Memory Controller - - pci:v000010DEd00000547sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (M2N68-AM Motherbord) - - pci:v000010DEd00000547sv00001849sd00000547* -- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready -+ ID_MODEL_FROM_DATABASE=MCP67 Memory Controller (ALiveNF7G-HDready) - - pci:v000010DEd00000548* - ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge - - pci:v000010DEd00000548sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 ISA Bridge (M2N68-AM Motherboard) - - pci:v000010DEd0000054C* - ID_MODEL_FROM_DATABASE=MCP67 Ethernet - - pci:v000010DEd0000054Csv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherbord -+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (M2N68-AM Motherbord) - - pci:v000010DEd0000054Csv00001849sd0000054C* -- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready, MCP67 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=MCP67 Ethernet (ALiveNF7G-HDready, MCP67 Gigabit Ethernet) - - pci:v000010DEd0000054D* - ID_MODEL_FROM_DATABASE=MCP67 Ethernet -@@ -24018,25 +24018,25 @@ pci:v000010DEd00000550* - ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller - - pci:v000010DEd00000550sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000554* - ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller - - pci:v000010DEd00000554sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 AHCI Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000555* - ID_MODEL_FROM_DATABASE=MCP67 SATA Controller - - pci:v000010DEd00000555sv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 SATA Controller (M2N68-AM Motherboard) - - pci:v000010DEd0000055C* - ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio - - pci:v000010DEd0000055Csv00001043sd00008290* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio (M2N68-AM Motherboard) - - pci:v000010DEd0000055D* - ID_MODEL_FROM_DATABASE=MCP67 High Definition Audio -@@ -24045,19 +24045,19 @@ pci:v000010DEd0000055E* - ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller - - pci:v000010DEd0000055Esv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 OHCI USB 1.1 Controller (M2N68-AM Motherboard) - - pci:v000010DEd0000055F* - ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller - - pci:v000010DEd0000055Fsv00001043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 EHCI USB 2.0 Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000560* - ID_MODEL_FROM_DATABASE=MCP67 IDE Controller - - pci:v000010DEd00000560sv0000F043sd00008308* -- ID_MODEL_FROM_DATABASE=M2N68-AM Motherboard -+ ID_MODEL_FROM_DATABASE=MCP67 IDE Controller (M2N68-AM Motherboard) - - pci:v000010DEd00000561* - ID_MODEL_FROM_DATABASE=MCP67 PCI Bridge -@@ -24066,7 +24066,7 @@ pci:v000010DEd00000562* - ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge - - pci:v000010DEd00000562sv00001849sd00000562* -- ID_MODEL_FROM_DATABASE=ALiveNF7G-HDready -+ ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge (ALiveNF7G-HDready) - - pci:v000010DEd00000563* - ID_MODEL_FROM_DATABASE=MCP67 PCI Express Bridge -@@ -24075,64 +24075,64 @@ pci:v000010DEd00000568* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller - - pci:v000010DEd00000568sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) - - pci:v000010DEd00000568sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) - - pci:v000010DEd00000568sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) - - pci:v000010DEd00000568sv00001849sd00000568* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) - - pci:v000010DEd00000569* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge - - pci:v000010DEd00000569sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) - - pci:v000010DEd00000569sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) - - pci:v000010DEd00000569sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) - - pci:v000010DEd00000569sv00001849sd00000569* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) - - pci:v000010DEd0000056A* - ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) - - pci:v000010DEd0000056Asv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 [nForce 630i] USB 2.0 Controller (EHCI) (MCP73PVT-SM) - - pci:v000010DEd0000056C* - ID_MODEL_FROM_DATABASE=MCP73 IDE - - pci:v000010DEd0000056Csv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 IDE (MCP73PVT-SM) - - pci:v000010DEd0000056Csv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 IDE (JW-IN7150-HD) - - pci:v000010DEd0000056D* - ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge - - pci:v000010DEd0000056Dsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) - - pci:v000010DEd0000056E* - ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge - - pci:v000010DEd0000056Esv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) - - pci:v000010DEd0000056F* - ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge - - pci:v000010DEd0000056Fsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 PCI Express bridge (MCP73PVT-SM) - - pci:v000010DEd000005B1* - ID_MODEL_FROM_DATABASE=NF200 PCIe 2.0 switch -@@ -24156,7 +24156,7 @@ pci:v000010DEd000005E3* - ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] - - pci:v000010DEd000005E3sv00001682sd00002490* -- ID_MODEL_FROM_DATABASE=GX-285N-ZDF -+ ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 285] (GX-285N-ZDF) - - pci:v000010DEd000005E6* - ID_MODEL_FROM_DATABASE=GT200b [GeForce GTX 275] -@@ -24165,19 +24165,19 @@ pci:v000010DEd000005E7* - ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] - - pci:v000010DEd000005E7sv000010DEsd00000595* -- ID_MODEL_FROM_DATABASE=Tesla T10 Processor -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) - - pci:v000010DEd000005E7sv000010DEsd0000068F* -- ID_MODEL_FROM_DATABASE=Tesla T10 Processor -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla T10 Processor) - - pci:v000010DEd000005E7sv000010DEsd00000697* -- ID_MODEL_FROM_DATABASE=Tesla M1060 -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) - - pci:v000010DEd000005E7sv000010DEsd00000714* -- ID_MODEL_FROM_DATABASE=Tesla M1060 -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) - - pci:v000010DEd000005E7sv000010DEsd00000743* -- ID_MODEL_FROM_DATABASE=Tesla M1060 -+ ID_MODEL_FROM_DATABASE=GT200GL [Tesla C1060 / M1060] (Tesla M1060) - - pci:v000010DEd000005EA* - ID_MODEL_FROM_DATABASE=GT200 [GeForce GTX 260] -@@ -24240,7 +24240,7 @@ pci:v000010DEd00000609* - ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] - - pci:v000010DEd00000609sv0000106Bsd000000A7* -- ID_MODEL_FROM_DATABASE=GeForce 8800 GS -+ ID_MODEL_FROM_DATABASE=G92M [GeForce 8800M GTS] (GeForce 8800 GS) - - pci:v000010DEd0000060A* - ID_MODEL_FROM_DATABASE=G92M [GeForce GTX 280M] -@@ -24261,16 +24261,16 @@ pci:v000010DEd00000610* - ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] - - pci:v000010DEd00000610sv00001682sd00002385* -- ID_MODEL_FROM_DATABASE=GeForce 9600 GSO 768mb -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9600 GSO] (GeForce 9600 GSO 768mb) - - pci:v000010DEd00000611* - ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] - - pci:v000010DEd00000611sv0000107Dsd00002AB0* -- ID_MODEL_FROM_DATABASE=Winfast PX8800 GT PCI-E -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (Winfast PX8800 GT PCI-E) - - pci:v000010DEd00000611sv000019DAsd00001040* -- ID_MODEL_FROM_DATABASE=ZT-88TES2P-FSP -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 8800 GT] (ZT-88TES2P-FSP) - - pci:v000010DEd00000612* - ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GTX / 9800 GTX+] -@@ -24282,22 +24282,22 @@ pci:v000010DEd00000614* - ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] - - pci:v000010DEd00000614sv0000107Dsd00002AB3* -- ID_MODEL_FROM_DATABASE=WinFast PX9800 GT (S-Fanpipe) -+ ID_MODEL_FROM_DATABASE=G92 [GeForce 9800 GT] (WinFast PX9800 GT (S-Fanpipe)) - - pci:v000010DEd00000615* - ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] - - pci:v000010DEd00000615sv00003842sd00001150* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1150-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1150-TR) - - pci:v000010DEd00000615sv00003842sd00001151* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 512-P3-1151-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 512-P3-1151-TR) - - pci:v000010DEd00000615sv00003842sd00001155* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1155-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1155-TR) - - pci:v000010DEd00000615sv00003842sd00001156* -- ID_MODEL_FROM_DATABASE=GeForce GTS 250 P/N 01G-P3-1156-TR -+ ID_MODEL_FROM_DATABASE=G92 [GeForce GTS 250] (GeForce GTS 250 P/N 01G-P3-1156-TR) - - pci:v000010DEd00000617* - ID_MODEL_FROM_DATABASE=G92M [GeForce 9800M GTX] -@@ -24336,10 +24336,10 @@ pci:v000010DEd00000622* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] - - pci:v000010DEd00000622sv0000107Dsd00002AC1* -- ID_MODEL_FROM_DATABASE=WinFast PX9600GT 1024MB -+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (WinFast PX9600GT 1024MB) - - pci:v000010DEd00000622sv00001458sd00003481* -- ID_MODEL_FROM_DATABASE=GV-NX96T512HP -+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GV-NX96T512HP) - - pci:v000010DEd00000623* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GS] -@@ -24375,7 +24375,7 @@ pci:v000010DEd0000062E* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] - - pci:v000010DEd0000062Esv0000106Bsd00000605* -- ID_MODEL_FROM_DATABASE=GeForce GT 130 -+ ID_MODEL_FROM_DATABASE=G94 [GeForce 9600 GT] (GeForce GT 130) - - pci:v000010DEd0000062F* - ID_MODEL_FROM_DATABASE=G94 [GeForce 9800 S] -@@ -24435,7 +24435,7 @@ pci:v000010DEd00000649* - ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] - - pci:v000010DEd00000649sv00001043sd0000202D* -- ID_MODEL_FROM_DATABASE=GeForce GT 220M -+ ID_MODEL_FROM_DATABASE=G96M [GeForce 9600M GT] (GeForce GT 220M) - - pci:v000010DEd0000064A* - ID_MODEL_FROM_DATABASE=G96M [GeForce 9700M GT] -@@ -24459,7 +24459,7 @@ pci:v000010DEd00000652* - ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] - - pci:v000010DEd00000652sv0000152Dsd00000850* -- ID_MODEL_FROM_DATABASE=GeForce GT 240M LE -+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 130M] (GeForce GT 240M LE) - - pci:v000010DEd00000653* - ID_MODEL_FROM_DATABASE=G96M [GeForce GT 120M] -@@ -24468,10 +24468,10 @@ pci:v000010DEd00000654* - ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] - - pci:v000010DEd00000654sv00001043sd000014A2* -- ID_MODEL_FROM_DATABASE=GeForce GT 320M -+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) - - pci:v000010DEd00000654sv00001043sd000014D2* -- ID_MODEL_FROM_DATABASE=GeForce GT 320M -+ ID_MODEL_FROM_DATABASE=G96M [GeForce GT 220M] (GeForce GT 320M) - - pci:v000010DEd00000655* - ID_MODEL_FROM_DATABASE=G96 [GeForce GT 120] -@@ -24519,28 +24519,28 @@ pci:v000010DEd000006D1* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] - - pci:v000010DEd000006D1sv000010DEsd00000771* -- ID_MODEL_FROM_DATABASE=Tesla C2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2050) - - pci:v000010DEd000006D1sv000010DEsd00000772* -- ID_MODEL_FROM_DATABASE=Tesla C2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla C2050 / C2070] (Tesla C2070) - - pci:v000010DEd000006D2* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] - - pci:v000010DEd000006D2sv000010DEsd00000774* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D2sv000010DEsd00000830* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D2sv000010DEsd00000842* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D2sv000010DEsd0000088F* -- ID_MODEL_FROM_DATABASE=Tesla X2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla X2070) - - pci:v000010DEd000006D2sv000010DEsd00000908* -- ID_MODEL_FROM_DATABASE=Tesla M2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070] (Tesla M2070) - - pci:v000010DEd000006D8* - ID_MODEL_FROM_DATABASE=GF100GL [Quadro 6000] -@@ -24561,37 +24561,37 @@ pci:v000010DEd000006DE* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] - - pci:v000010DEd000006DEsv000010DEsd00000773* -- ID_MODEL_FROM_DATABASE=Tesla S2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla S2050) - - pci:v000010DEd000006DEsv000010DEsd0000082F* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000840* -- ID_MODEL_FROM_DATABASE=Tesla X2070 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla X2070) - - pci:v000010DEd000006DEsv000010DEsd00000842* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000846* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000866* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd00000907* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DEsv000010DEsd0000091E* -- ID_MODEL_FROM_DATABASE=Tesla M2050 -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla T20 Processor] (Tesla M2050) - - pci:v000010DEd000006DF* - ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] - - pci:v000010DEd000006DFsv000010DEsd0000084D* -- ID_MODEL_FROM_DATABASE=Tesla M2070-Q -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) - - pci:v000010DEd000006DFsv000010DEsd0000087F* -- ID_MODEL_FROM_DATABASE=Tesla M2070-Q -+ ID_MODEL_FROM_DATABASE=GF100GL [Tesla M2070-Q] (Tesla M2070-Q) - - pci:v000010DEd000006E0* - ID_MODEL_FROM_DATABASE=G98 [GeForce 9300 GE] -@@ -24609,7 +24609,7 @@ pci:v000010DEd000006E4* - ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] - - pci:v000010DEd000006E4sv00001458sd00003475* -- ID_MODEL_FROM_DATABASE=GV-NX84S256HE [GeForce 8400 GS] -+ ID_MODEL_FROM_DATABASE=G98 [GeForce 8400 GS Rev. 2] (GV-NX84S256HE [GeForce 8400 GS]) - - pci:v000010DEd000006E5* - ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] -@@ -24624,13 +24624,13 @@ pci:v000010DEd000006E8* - ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] - - pci:v000010DEd000006E8sv0000103Csd0000360B* -- ID_MODEL_FROM_DATABASE=GeForce 9200M GE -+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9200M GS] (GeForce 9200M GE) - - pci:v000010DEd000006E9* - ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] - - pci:v000010DEd000006E9sv00001043sd000019B2* -- ID_MODEL_FROM_DATABASE=U6V laptop -+ ID_MODEL_FROM_DATABASE=G98M [GeForce 9300M GS] (U6V laptop) - - pci:v000010DEd000006EA* - ID_MODEL_FROM_DATABASE=G98M [Quadro NVS 150M] -@@ -24672,139 +24672,139 @@ pci:v000010DEd000006FF* - ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] - - pci:v000010DEd000006FFsv000010DEsd00000711* -- ID_MODEL_FROM_DATABASE=HICx8 + Graphics -+ ID_MODEL_FROM_DATABASE=G98 [HICx16 + Graphics] (HICx8 + Graphics) - - pci:v000010DEd00000751* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller - - pci:v000010DEd00000751sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) - - pci:v000010DEd00000751sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) - - pci:v000010DEd00000751sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) - - pci:v000010DEd00000751sv00001849sd00000751* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) - - pci:v000010DEd00000752* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus - - pci:v000010DEd00000752sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (Pavilion p6310f) - - pci:v000010DEd00000752sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (M3N72-D) - - pci:v000010DEd00000752sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K9N2GM-FIH) - - pci:v000010DEd00000752sv00001849sd00000752* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 SMBus -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SMBus (K10N78FullHD-hSLI R3.0 SMBus) - - pci:v000010DEd00000753* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor - - pci:v000010DEd00000753sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (Pavilion p6310f) - - pci:v000010DEd00000753sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (M3N72-D) - - pci:v000010DEd00000753sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K9N2GM-FIH) - - pci:v000010DEd00000753sv00001849sd00000753* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Co-Processor -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Co-Processor (K10N78FullHD-hSLI R3.0 Co-Processor) - - pci:v000010DEd00000754* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller - - pci:v000010DEd00000754sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (Pavilion p6310f) - - pci:v000010DEd00000754sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (M3N72-D) - - pci:v000010DEd00000754sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K9N2GM-FIH) - - pci:v000010DEd00000754sv00001849sd00000754* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Memory Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] Memory Controller (K10N78FullHD-hSLI R3.0 Memory Controller) - - pci:v000010DEd00000759* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE - - pci:v000010DEd00000759sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (M3N72-D) - - pci:v000010DEd00000759sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K9N2GM-FIH) - - pci:v000010DEd00000759sv00001849sd00000759* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] IDE (K10N78FullHD-hSLI R3.0 IDE) - - pci:v000010DEd0000075A* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge - - pci:v000010DEd0000075Asv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) - - pci:v000010DEd0000075Asv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) - - pci:v000010DEd0000075Asv00001849sd0000075A* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) - - pci:v000010DEd0000075B* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge - - pci:v000010DEd0000075Bsv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) - - pci:v000010DEd0000075Bsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) - - pci:v000010DEd0000075Bsv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) - - pci:v000010DEd0000075Bsv00001849sd0000075B* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) - - pci:v000010DEd0000075C* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge - - pci:v000010DEd0000075Csv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (Pavilion p6310f) - - pci:v000010DEd0000075Csv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K9N2GM-FIH) - - pci:v000010DEd0000075Csv00001849sd0000075C* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 LPC Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (K10N78FullHD-hSLI R3.0 LPC Bridge) - - pci:v000010DEd0000075D* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge - - pci:v000010DEd0000075Dsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] LPC Bridge (M3N72-D) - - pci:v000010DEd00000760* - ID_MODEL_FROM_DATABASE=MCP77 Ethernet - - pci:v000010DEd00000760sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (Pavilion p6310f) - - pci:v000010DEd00000760sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (M3N72-D) - - pci:v000010DEd00000760sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K9N2GM-FIH) - - pci:v000010DEd00000760sv00001849sd00000760* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 Ethernet -+ ID_MODEL_FROM_DATABASE=MCP77 Ethernet (K10N78FullHD-hSLI R3.0 Ethernet) - - pci:v000010DEd00000761* - ID_MODEL_FROM_DATABASE=MCP77 Ethernet -@@ -24819,118 +24819,118 @@ pci:v000010DEd00000774* - ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio - - pci:v000010DEd00000774sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (Pavilion p6310f) - - pci:v000010DEd00000774sv00001043sd000082FE* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (M3N72-D) - - pci:v000010DEd00000774sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K9N2GM-FIH) - - pci:v000010DEd00000774sv00001849sd00003662* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 High Definition Audio -+ ID_MODEL_FROM_DATABASE=MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (K10N78FullHD-hSLI R3.0 High Definition Audio) - - pci:v000010DEd00000778* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge - - pci:v000010DEd00000778sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (Pavilion p6310f) - - pci:v000010DEd00000778sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (M3N72-D) - - pci:v000010DEd00000778sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K9N2GM-FIH) - - pci:v000010DEd00000778sv00001849sd00000778* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Express Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Express Bridge (K10N78FullHD-hSLI R3.0 PCI Express Bridge) - - pci:v000010DEd0000077A* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge - - pci:v000010DEd0000077Asv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (Pavilion p6310f) - - pci:v000010DEd0000077Asv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (M3N72-D) - - pci:v000010DEd0000077Asv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K9N2GM-FIH) - - pci:v000010DEd0000077Asv00001849sd0000077A* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 PCI Bridge -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] PCI Bridge (K10N78FullHD-hSLI R3.0 PCI Bridge) - - pci:v000010DEd0000077B* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller - - pci:v000010DEd0000077Bsv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Bsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) - - pci:v000010DEd0000077Bsv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Bsv00001849sd0000077B* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) - - pci:v000010DEd0000077C* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller - - pci:v000010DEd0000077Csv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Csv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) - - pci:v000010DEd0000077Csv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Csv00001849sd0000077C* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) - - pci:v000010DEd0000077D* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller - - pci:v000010DEd0000077Dsv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Dsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (M3N72-D) - - pci:v000010DEd0000077Dsv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Dsv00001849sd0000077D* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] OHCI USB 1.1 Controller (K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller) - - pci:v000010DEd0000077E* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller - - pci:v000010DEd0000077Esv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (Pavilion p6310f) - - pci:v000010DEd0000077Esv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (M3N72-D) - - pci:v000010DEd0000077Esv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K9N2GM-FIH) - - pci:v000010DEd0000077Esv00001849sd0000077E* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] EHCI USB 2.0 Controller (K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller) - - pci:v000010DEd000007C0* - ID_MODEL_FROM_DATABASE=MCP73 Host Bridge - - pci:v000010DEd000007C0sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (JW-IN7150-HD) - - pci:v000010DEd000007C1* - ID_MODEL_FROM_DATABASE=MCP73 Host Bridge - - pci:v000010DEd000007C1sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 Host Bridge (MCP73PVT-SM) - - pci:v000010DEd000007C2* - ID_MODEL_FROM_DATABASE=MCP73 Host Bridge -@@ -24942,124 +24942,124 @@ pci:v000010DEd000007C8* - ID_MODEL_FROM_DATABASE=MCP73 Memory Controller - - pci:v000010DEd000007C8sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) - - pci:v000010DEd000007C8sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) - - pci:v000010DEd000007CB* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CBsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CBsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007CD* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CDsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CDsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007CE* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CEsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CEsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007CF* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007CFsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007CFsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D0* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D0sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D0sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D1* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D1sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D1sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D2* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D2sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D2sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D3* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D3sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D3sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D6* - ID_MODEL_FROM_DATABASE=nForce 630i memory controller - - pci:v000010DEd000007D6sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (MCP73PVT-SM) - - pci:v000010DEd000007D6sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=nForce 630i memory controller (JW-IN7150-HD) - - pci:v000010DEd000007D7* - ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge - - pci:v000010DEd000007D7sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (MCP73PVT-SM) - - pci:v000010DEd000007D7sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 LPC Bridge (JW-IN7150-HD) - - pci:v000010DEd000007D8* - ID_MODEL_FROM_DATABASE=MCP73 SMBus - - pci:v000010DEd000007D8sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 SMBus (MCP73PVT-SM) - - pci:v000010DEd000007D8sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 SMBus (JW-IN7150-HD) - - pci:v000010DEd000007D9* - ID_MODEL_FROM_DATABASE=MCP73 Memory Controller - - pci:v000010DEd000007D9sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (MCP73PVT-SM) - - pci:v000010DEd000007D9sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Memory Controller (JW-IN7150-HD) - - pci:v000010DEd000007DA* - ID_MODEL_FROM_DATABASE=MCP73 Co-processor - - pci:v000010DEd000007DAsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=MCP73 Co-processor (JW-IN7150-HD) - - pci:v000010DEd000007DC* - ID_MODEL_FROM_DATABASE=MCP73 Ethernet -@@ -25077,13 +25077,13 @@ pci:v000010DEd000007E0* - ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] - - pci:v000010DEd000007E0sv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7150 / nForce 630i] (JW-IN7150-HD) - - pci:v000010DEd000007E1* - ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] - - pci:v000010DEd000007E1sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=C73 [GeForce 7100 / nForce 630i] (MCP73PVT-SM) - - pci:v000010DEd000007E2* - ID_MODEL_FROM_DATABASE=C73 [GeForce 7050 / nForce 630i] -@@ -25101,7 +25101,7 @@ pci:v000010DEd000007F4* - ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA - - pci:v000010DEd000007F4sv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i SATA (MCP73PVT-SM) - - pci:v000010DEd000007F8* - ID_MODEL_FROM_DATABASE=MCP73 SATA RAID Controller -@@ -25110,7 +25110,7 @@ pci:v000010DEd000007FC* - ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio - - pci:v000010DEd000007FCsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio (MCP73PVT-SM) - - pci:v000010DEd000007FCsv000010DEsd000007FC* - ID_MODEL_FROM_DATABASE=MCP73 High Definition Audio -@@ -25119,10 +25119,10 @@ pci:v000010DEd000007FE* - ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB - - pci:v000010DEd000007FEsv00001019sd0000297A* -- ID_MODEL_FROM_DATABASE=MCP73PVT-SM -+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (MCP73PVT-SM) - - pci:v000010DEd000007FEsv00001AFAsd00007150* -- ID_MODEL_FROM_DATABASE=JW-IN7150-HD -+ ID_MODEL_FROM_DATABASE=GeForce 7100/nForce 630i USB (JW-IN7150-HD) - - pci:v000010DEd00000840* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8200M] -@@ -25140,7 +25140,7 @@ pci:v000010DEd00000847* - ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] - - pci:v000010DEd00000847sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=C78 [GeForce 9100] (Pavilion p6310f) - - pci:v000010DEd00000848* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8300] -@@ -25149,10 +25149,10 @@ pci:v000010DEd00000849* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] - - pci:v000010DEd00000849sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K9N2GM-FIH) - - pci:v000010DEd00000849sv00001849sd00000849* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 GeForce 8200 -+ ID_MODEL_FROM_DATABASE=C77 [GeForce 8200] (K10N78FullHD-hSLI R3.0 GeForce 8200) - - pci:v000010DEd0000084A* - ID_MODEL_FROM_DATABASE=C77 [nForce 730a] -@@ -25167,7 +25167,7 @@ pci:v000010DEd0000084D* - ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] - - pci:v000010DEd0000084Dsv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D mGPU -+ ID_MODEL_FROM_DATABASE=C77 [nForce 750a SLI] (M3N72-D mGPU) - - pci:v000010DEd0000084F* - ID_MODEL_FROM_DATABASE=C77 [GeForce 8100 / nForce 720a] -@@ -25185,7 +25185,7 @@ pci:v000010DEd00000863* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] - - pci:v000010DEd00000863sv0000106Bsd000000AA* -- ID_MODEL_FROM_DATABASE=MacBook5,1 -+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M] (MacBook5,1) - - pci:v000010DEd00000864* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9300] -@@ -25197,13 +25197,13 @@ pci:v000010DEd00000866* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] - - pci:v000010DEd00000866sv0000106Bsd000000B1* -- ID_MODEL_FROM_DATABASE=GeForce 9400M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400M G] (GeForce 9400M) - - pci:v000010DEd00000867* - ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] - - pci:v000010DEd00000867sv0000106Bsd000000AD* -- ID_MODEL_FROM_DATABASE=iMac 9,1 -+ ID_MODEL_FROM_DATABASE=C79 [GeForce 9400] (iMac 9,1) - - pci:v000010DEd00000868* - ID_MODEL_FROM_DATABASE=C79 [nForce 760i SLI] -@@ -25236,28 +25236,28 @@ pci:v000010DEd00000872* - ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] - - pci:v000010DEd00000872sv00001043sd000019B4* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000872sv00001043sd00001AA2* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000872sv00001043sd00001C02* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000872sv00001043sd00001C42* -- ID_MODEL_FROM_DATABASE=GeForce G205M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) - - pci:v000010DEd00000873* - ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] - - pci:v000010DEd00000873sv00001043sd000019B4* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000873sv00001043sd00001C12* -- ID_MODEL_FROM_DATABASE=GeForce G102M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G102M) - - pci:v000010DEd00000873sv00001043sd00001C52* -- ID_MODEL_FROM_DATABASE=GeForce G205M -+ ID_MODEL_FROM_DATABASE=C79 [GeForce G102M] (GeForce G205M) - - pci:v000010DEd00000874* - ID_MODEL_FROM_DATABASE=C79 [ION] -@@ -25272,7 +25272,7 @@ pci:v000010DEd0000087D* - ID_MODEL_FROM_DATABASE=ION VGA - - pci:v000010DEd0000087Dsv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=ION VGA (IONITX-F-E) - - pci:v000010DEd0000087E* - ID_MODEL_FROM_DATABASE=ION LE VGA -@@ -25299,7 +25299,7 @@ pci:v000010DEd00000A20* - ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] - - pci:v000010DEd00000A20sv00001043sd00008311* -- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 -+ ID_MODEL_FROM_DATABASE=GT216 [GeForce GT 220] (ENGT220/DI/1GD3(LP)/V2) - - pci:v000010DEd00000A21* - ID_MODEL_FROM_DATABASE=GT216M [GeForce GT 330M] -@@ -25368,7 +25368,7 @@ pci:v000010DEd00000A65* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] - - pci:v000010DEd00000A65sv00001043sd00008334* -- ID_MODEL_FROM_DATABASE=EN210 SILENT -+ ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] (EN210 SILENT) - - pci:v000010DEd00000A66* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 310] -@@ -25389,10 +25389,10 @@ pci:v000010DEd00000A6C* - ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] - - pci:v000010DEd00000A6Csv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (Latitude E6510) - - pci:v000010DEd00000A6Csv000017AAsd00002142* -- ID_MODEL_FROM_DATABASE=ThinkPad T410 -+ ID_MODEL_FROM_DATABASE=GT218M [NVS 3100M] (ThinkPad T410) - - pci:v000010DEd00000A6E* - ID_MODEL_FROM_DATABASE=GT218M [GeForce 305M] -@@ -25416,7 +25416,7 @@ pci:v000010DEd00000A74* - ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] - - pci:v000010DEd00000A74sv00001B0Asd0000903A* -- ID_MODEL_FROM_DATABASE=GeForce G210 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce G210M] (GeForce G210) - - pci:v000010DEd00000A75* - ID_MODEL_FROM_DATABASE=GT218M [GeForce 310M] -@@ -25431,127 +25431,127 @@ pci:v000010DEd00000A7A* - ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] - - pci:v000010DEd00000A7Asv0000104Dsd0000907E* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC50* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC61* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC71* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FC90* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCC0* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCD0* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCE2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FCF2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD16* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD40* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD50* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD52* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD61* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD71* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD92* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FD96* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FDD0* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FDD2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001179sd0000FDFE* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C0A2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C0B2* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C581* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C587* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C588* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C597* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv0000144Dsd0000C606* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001462sd0000AA51* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AA58* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AC71* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AC81* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001462sd0000AC82* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001462sd0000AE33* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001642sd00003980* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv000017AAsd00003950* -- ID_MODEL_FROM_DATABASE=GeForce 405M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) - - pci:v000010DEd00000A7Asv000017AAsd0000397D* -- ID_MODEL_FROM_DATABASE=GeForce 405M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405M) - - pci:v000010DEd00000A7Asv00001B0Asd00002091* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7Asv00001B0Asd000090B4* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001BFDsd00000003* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001BFDsd00008006* -- ID_MODEL_FROM_DATABASE=GeForce 405 -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 405) - - pci:v000010DEd00000A7Asv00001BFDsd00008007* -- ID_MODEL_FROM_DATABASE=GeForce 315M -+ ID_MODEL_FROM_DATABASE=GT218M [GeForce 315M] (GeForce 315M) - - pci:v000010DEd00000A7B* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 505] -@@ -25593,64 +25593,64 @@ pci:v000010DEd00000A98* - ID_MODEL_FROM_DATABASE=MCP79 Memory Controller - - pci:v000010DEd00000A98sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (iMac 9,1) - - pci:v000010DEd00000AA0* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AA0sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AA2* - ID_MODEL_FROM_DATABASE=MCP79 SMBus - - pci:v000010DEd00000AA2sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 SMBus (Apple iMac 9,1) - - pci:v000010DEd00000AA2sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 SMBus (IONITX-F-E) - - pci:v000010DEd00000AA3* - ID_MODEL_FROM_DATABASE=MCP79 Co-processor - - pci:v000010DEd00000AA3sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (Apple iMac 9,1) - - pci:v000010DEd00000AA3sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 Co-processor (IONITX-F-E) - - pci:v000010DEd00000AA4* - ID_MODEL_FROM_DATABASE=MCP79 Memory Controller - - pci:v000010DEd00000AA4sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 Memory Controller (IONITX-F-E) - - pci:v000010DEd00000AA5* - ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller - - pci:v000010DEd00000AA5sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA5sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) - - pci:v000010DEd00000AA6* - ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller - - pci:v000010DEd00000AA6sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA6sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) - - pci:v000010DEd00000AA7* - ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller - - pci:v000010DEd00000AA7sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA7sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller (IONITX-F-E) - - pci:v000010DEd00000AA8* - ID_MODEL_FROM_DATABASE=MCP79 OHCI USB 1.1 Controller -@@ -25659,10 +25659,10 @@ pci:v000010DEd00000AA9* - ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller - - pci:v000010DEd00000AA9sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (Apple iMac 9,1) - - pci:v000010DEd00000AA9sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller (IONITX-F-E) - - pci:v000010DEd00000AAA* - ID_MODEL_FROM_DATABASE=MCP79 EHCI USB 2.0 Controller -@@ -25671,7 +25671,7 @@ pci:v000010DEd00000AAB* - ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge - - pci:v000010DEd00000AABsv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AAC* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge -@@ -25680,13 +25680,13 @@ pci:v000010DEd00000AAD* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge - - pci:v000010DEd00000AADsv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (IONITX-F-E) - - pci:v000010DEd00000AAE* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge - - pci:v000010DEd00000AAEsv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AAF* - ID_MODEL_FROM_DATABASE=MCP79 LPC Bridge -@@ -25695,10 +25695,10 @@ pci:v000010DEd00000AB0* - ID_MODEL_FROM_DATABASE=MCP79 Ethernet - - pci:v000010DEd00000AB0sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (Apple iMac 9,1) - - pci:v000010DEd00000AB0sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 Ethernet (IONITX-F-E) - - pci:v000010DEd00000AB1* - ID_MODEL_FROM_DATABASE=MCP79 Ethernet -@@ -25713,7 +25713,7 @@ pci:v000010DEd00000AB4* - ID_MODEL_FROM_DATABASE=MCP79 SATA Controller - - pci:v000010DEd00000AB4sv000019DAsd0000A123* -- ID_MODEL_FROM_DATABASE=IONITX-F-E -+ ID_MODEL_FROM_DATABASE=MCP79 SATA Controller (IONITX-F-E) - - pci:v000010DEd00000AB5* - ID_MODEL_FROM_DATABASE=MCP79 SATA Controller -@@ -25731,7 +25731,7 @@ pci:v000010DEd00000AB9* - ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller - - pci:v000010DEd00000AB9sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller (Apple iMac 9,1) - - pci:v000010DEd00000ABA* - ID_MODEL_FROM_DATABASE=MCP79 AHCI Controller -@@ -25755,7 +25755,7 @@ pci:v000010DEd00000AC0* - ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio - - pci:v000010DEd00000AC0sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio (Apple iMac 9,1) - - pci:v000010DEd00000AC1* - ID_MODEL_FROM_DATABASE=MCP79 High Definition Audio -@@ -25770,7 +25770,7 @@ pci:v000010DEd00000AC4* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AC4sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AC5* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge -@@ -25779,13 +25779,13 @@ pci:v000010DEd00000AC6* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AC6sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AC7* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge - - pci:v000010DEd00000AC7sv000010DEsd0000CB79* -- ID_MODEL_FROM_DATABASE=Apple iMac 9,1 -+ ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge (Apple iMac 9,1) - - pci:v000010DEd00000AC8* - ID_MODEL_FROM_DATABASE=MCP79 PCI Express Bridge -@@ -25794,22 +25794,22 @@ pci:v000010DEd00000AD0* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) - - pci:v000010DEd00000AD0sv00001462sd00007508* -- ID_MODEL_FROM_DATABASE=K9N2GM-FIH -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K9N2GM-FIH) - - pci:v000010DEd00000AD0sv00001849sd00000AD0* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 IDE -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (K10N78FullHD-hSLI R3.0 IDE) - - pci:v000010DEd00000AD4* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller - - pci:v000010DEd00000AD4sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (Pavilion p6310f) - - pci:v000010DEd00000AD4sv00001043sd000082E8* -- ID_MODEL_FROM_DATABASE=M3N72-D -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (M3N72-D) - - pci:v000010DEd00000AD4sv00001849sd00000AD4* -- ID_MODEL_FROM_DATABASE=K10N78FullHD-hSLI R3.0 AHCI Controller -+ ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] AHCI Controller (K10N78FullHD-hSLI R3.0 AHCI Controller) - - pci:v000010DEd00000AD8* - ID_MODEL_FROM_DATABASE=MCP78S [GeForce 8200] SATA Controller (RAID mode) -@@ -25818,16 +25818,16 @@ pci:v000010DEd00000BE2* - ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller - - pci:v000010DEd00000BE2sv00001043sd00008311* -- ID_MODEL_FROM_DATABASE=ENGT220/DI/1GD3(LP)/V2 -+ ID_MODEL_FROM_DATABASE=GT216 HDMI Audio Controller (ENGT220/DI/1GD3(LP)/V2) - - pci:v000010DEd00000BE3* - ID_MODEL_FROM_DATABASE=High Definition Audio Controller - - pci:v000010DEd00000BE3sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (Latitude E6510) - - pci:v000010DEd00000BE3sv000010DEsd0000066D* -- ID_MODEL_FROM_DATABASE=G98 [GeForce 8400GS] -+ ID_MODEL_FROM_DATABASE=High Definition Audio Controller (G98 [GeForce 8400GS]) - - pci:v000010DEd00000BE4* - ID_MODEL_FROM_DATABASE=High Definition Audio Controller -@@ -25839,22 +25839,22 @@ pci:v000010DEd00000BE9* - ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller - - pci:v000010DEd00000BE9sv00001558sd00008687* -- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU -+ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (CLEVO/KAPOK W860CU) - - pci:v000010DEd00000BE9sv00003842sd00001452* -- ID_MODEL_FROM_DATABASE=GeForce GTS 450 -+ ID_MODEL_FROM_DATABASE=GF106 High Definition Audio Controller (GeForce GTS 450) - - pci:v000010DEd00000BEA* - ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller - - pci:v000010DEd00000BEAsv00003842sd00001430* -- ID_MODEL_FROM_DATABASE=GeForce GT 430 -+ ID_MODEL_FROM_DATABASE=GF108 High Definition Audio Controller (GeForce GT 430) - - pci:v000010DEd00000BEB* - ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller - - pci:v000010DEd00000BEBsv00001462sd00002322* -- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC -+ ID_MODEL_FROM_DATABASE=GF104 High Definition Audio Controller (N460GTX Cyclone 1GD5/OC) - - pci:v000010DEd00000BEE* - ID_MODEL_FROM_DATABASE=GF116 High Definition Audio Controller -@@ -25968,7 +25968,7 @@ pci:v000010DEd00000DD1* - ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] - - pci:v000010DEd00000DD1sv00001558sd00008687* -- ID_MODEL_FROM_DATABASE=CLEVO/KAPOK W860CU -+ ID_MODEL_FROM_DATABASE=GF106M [GeForce GTX 460M] (CLEVO/KAPOK W860CU) - - pci:v000010DEd00000DD2* - ID_MODEL_FROM_DATABASE=GF106M [GeForce GT 445M] -@@ -25983,7 +25983,7 @@ pci:v000010DEd00000DD8* - ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] - - pci:v000010DEd00000DD8sv000010DEsd00000914* -- ID_MODEL_FROM_DATABASE=Quadro 2000D -+ ID_MODEL_FROM_DATABASE=GF106GL [Quadro 2000] (Quadro 2000D) - - pci:v000010DEd00000DDA* - ID_MODEL_FROM_DATABASE=GF106GLM [Quadro 2000M] -@@ -25995,7 +25995,7 @@ pci:v000010DEd00000DE1* - ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] - - pci:v000010DEd00000DE1sv00003842sd00001430* -- ID_MODEL_FROM_DATABASE=GeForce GT 430 -+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 430] (GeForce GT 430) - - pci:v000010DEd00000DE2* - ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 420] -@@ -26019,49 +26019,49 @@ pci:v000010DEd00000DE9* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] - - pci:v000010DEd00000DE9sv00001025sd00000692* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000725* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000728* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd0000072B* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd0000072E* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000753* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv00001025sd00000754* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 620M) - - pci:v000010DEd00000DE9sv000017AAsd00003977* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 640M LE) - - pci:v000010DEd00000DE9sv00001B0Asd00002210* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 630M] (GeForce GT 635M) - - pci:v000010DEd00000DEA* - ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] - - pci:v000010DEd00000DEAsv000017AAsd0000365A* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd0000365B* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd0000365E* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd00003660* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEAsv000017AAsd0000366C* -- ID_MODEL_FROM_DATABASE=GeForce 615 -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce 610M] (GeForce 615) - - pci:v000010DEd00000DEB* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 555M] -@@ -26094,10 +26094,10 @@ pci:v000010DEd00000DF4* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] - - pci:v000010DEd00000DF4sv0000152Dsd00000952* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) - - pci:v000010DEd00000DF4sv0000152Dsd00000953* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 540M] (GeForce GT 630M) - - pci:v000010DEd00000DF5* - ID_MODEL_FROM_DATABASE=GF108M [GeForce GT 525M] -@@ -26124,7 +26124,7 @@ pci:v000010DEd00000E08* - ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller - - pci:v000010DEd00000E08sv000010B0sd0000104A* -- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 -+ ID_MODEL_FROM_DATABASE=GF119 HDMI Audio Controller (Gainward GeForce GT 610) - - pci:v000010DEd00000E09* - ID_MODEL_FROM_DATABASE=GF110 High Definition Audio Controller -@@ -26145,16 +26145,16 @@ pci:v000010DEd00000E1B* - ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller - - pci:v000010DEd00000E1Bsv0000103Csd0000197B* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (ZBook 15) - - pci:v000010DEd00000E1Bsv00001043sd00008428* -- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 -+ ID_MODEL_FROM_DATABASE=GK107 HDMI Audio Controller (GTX650-DC-1GD5) - - pci:v000010DEd00000E22* - ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] - - pci:v000010DEd00000E22sv00001462sd00002322* -- ID_MODEL_FROM_DATABASE=N460GTX Cyclone 1GD5/OC -+ ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460] (N460GTX Cyclone 1GD5/OC) - - pci:v000010DEd00000E23* - ID_MODEL_FROM_DATABASE=GF104 [GeForce GTX 460 SE] -@@ -26193,7 +26193,7 @@ pci:v000010DEd00000FC6* - ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] - - pci:v000010DEd00000FC6sv00001043sd00008428* -- ID_MODEL_FROM_DATABASE=GTX650-DC-1GD5 -+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) - - pci:v000010DEd00000FCD* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] -@@ -26205,34 +26205,34 @@ pci:v000010DEd00000FD1* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] - - pci:v000010DEd00000FD1sv00001043sd00001597* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD1sv00001043sd000015A7* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD1sv00001043sd00002103* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (N56VZ) - - pci:v000010DEd00000FD1sv00001043sd00002105* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD1sv00001043sd00002141* -- ID_MODEL_FROM_DATABASE=GeForce GT 650M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 650M] (GeForce GT 650M) - - pci:v000010DEd00000FD2* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] - - pci:v000010DEd00000FD2sv00001028sd0000054F* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) - - pci:v000010DEd00000FD2sv00001028sd0000055F* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M) - - pci:v000010DEd00000FD2sv00001028sd00000595* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) - - pci:v000010DEd00000FD2sv00001028sd000005B2* -- ID_MODEL_FROM_DATABASE=GeForce GT 640M LE -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M] (GeForce GT 640M LE) - - pci:v000010DEd00000FD3* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 640M LE] -@@ -26265,7 +26265,7 @@ pci:v000010DEd00000FE3* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] - - pci:v000010DEd00000FE3sv000017AAsd00003675* -- ID_MODEL_FROM_DATABASE=GeForce GT 745A -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) - - pci:v000010DEd00000FE4* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M] -@@ -26280,7 +26280,7 @@ pci:v000010DEd00000FE7* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] - - pci:v000010DEd00000FE7sv000010DEsd0000101E* -- ID_MODEL_FROM_DATABASE=GRID K100 -+ ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] (GRID K100) - - pci:v000010DEd00000FE9* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M Mac Edition] -@@ -26304,13 +26304,13 @@ pci:v000010DEd00000FF6* - ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] - - pci:v000010DEd00000FF6sv0000103Csd0000197B* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K1100M] (ZBook 15) - - pci:v000010DEd00000FF7* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] - - pci:v000010DEd00000FF7sv000010DEsd00001037* -- ID_MODEL_FROM_DATABASE=GRID K140Q -+ ID_MODEL_FROM_DATABASE=GK107GL [GRID K140Q vGPU] (GRID K140Q) - - pci:v000010DEd00000FF8* - ID_MODEL_FROM_DATABASE=GK107GLM [Quadro K500M] -@@ -26343,37 +26343,37 @@ pci:v000010DEd00001004* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] - - pci:v000010DEd00001004sv00003842sd00000784* -- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 SC w/ ACX Cooler] -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 SC w/ ACX Cooler]) - - pci:v000010DEd00001004sv00003842sd00001784* -- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler] -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler]) - - pci:v000010DEd00001004sv00003842sd00001788* -- ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler] -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780] (GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler]) - - pci:v000010DEd00001005* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] - - pci:v000010DEd00001005sv00001043sd00008451* -- ID_MODEL_FROM_DATABASE=GTXTITAN-6GD5 -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GTXTITAN-6GD5) - - pci:v000010DEd00001005sv000010DEsd00001035* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) - - pci:v000010DEd00001005sv00003842sd00002790* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan) - - pci:v000010DEd00001005sv00003842sd00002791* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC) - - pci:v000010DEd00001005sv00003842sd00002793* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Signature -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Signature) - - pci:v000010DEd00001005sv00003842sd00002794* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper) - - pci:v000010DEd00001005sv00003842sd00002795* -- ID_MODEL_FROM_DATABASE=GeForce GTX Titan SC Hydro Copper Signature -+ ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan] (GeForce GTX Titan SC Hydro Copper Signature) - - pci:v000010DEd00001007* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX 780 Rev. 2] -@@ -26436,7 +26436,7 @@ pci:v000010DEd0000104A* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] - - pci:v000010DEd0000104Asv000010B0sd0000104A* -- ID_MODEL_FROM_DATABASE=Gainward GeForce GT 610 -+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 610] (Gainward GeForce GT 610) - - pci:v000010DEd0000104B* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 625 OEM] -@@ -26469,37 +26469,37 @@ pci:v000010DEd00001058* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] - - pci:v000010DEd00001058sv0000103Csd00002AED* -- ID_MODEL_FROM_DATABASE=GeForce 610 -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) - - pci:v000010DEd00001058sv0000103Csd00002AF1* -- ID_MODEL_FROM_DATABASE=GeForce 610 -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610) - - pci:v000010DEd00001058sv00001043sd000010AC* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd00001058sv00001043sd000010BC* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd00001058sv00001043sd00001652* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd00001058sv000017AAsd0000367A* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) - - pci:v000010DEd00001058sv000017AAsd00003682* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) - - pci:v000010DEd00001058sv000017AAsd00003687* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) - - pci:v000010DEd00001058sv000017AAsd00003692* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 705A) - - pci:v000010DEd00001058sv000017AAsd00003695* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 800A) - - pci:v000010DEd00001058sv000017AAsd0000A117* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce 610M) - - pci:v000010DEd00001059* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] -@@ -26508,25 +26508,25 @@ pci:v000010DEd0000105A* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] - - pci:v000010DEd0000105Asv00001043sd00002111* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd0000105Asv00001043sd00002112* -- ID_MODEL_FROM_DATABASE=GeForce GT 610M -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 610M] (GeForce GT 610M) - - pci:v000010DEd0000105B* - ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] - - pci:v000010DEd0000105Bsv0000103Csd00002AFB* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) - - pci:v000010DEd0000105Bsv000017AAsd0000309D* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 705A) - - pci:v000010DEd0000105Bsv000017AAsd000030B1* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) - - pci:v000010DEd0000105Bsv000017AAsd000036A1* -- ID_MODEL_FROM_DATABASE=GeForce 800A -+ ID_MODEL_FROM_DATABASE=GF119M [GeForce 705M] (GeForce 800A) - - pci:v000010DEd0000107C* - ID_MODEL_FROM_DATABASE=GF119 [NVS 315] -@@ -26541,7 +26541,7 @@ pci:v000010DEd00001081* - ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] - - pci:v000010DEd00001081sv000010DEsd0000087E* -- ID_MODEL_FROM_DATABASE=Leadtek WinFast GTX 570 -+ ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 570] (Leadtek WinFast GTX 570) - - pci:v000010DEd00001082* - ID_MODEL_FROM_DATABASE=GF110 [GeForce GTX 560 Ti OEM] -@@ -26571,31 +26571,31 @@ pci:v000010DEd00001091* - ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] - - pci:v000010DEd00001091sv000010DEsd0000088E* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001091sv000010DEsd00000891* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001091sv000010DEsd00000974* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001091sv000010DEsd0000098D* -- ID_MODEL_FROM_DATABASE=Tesla X2090 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2090] (Tesla X2090) - - pci:v000010DEd00001094* - ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] - - pci:v000010DEd00001094sv000010DEsd00000888* -- ID_MODEL_FROM_DATABASE=Tesla M2075 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla M2075] (Tesla M2075) - - pci:v000010DEd00001096* - ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] - - pci:v000010DEd00001096sv000010DEsd00000910* -- ID_MODEL_FROM_DATABASE=Tesla C2075 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2075) - - pci:v000010DEd00001096sv000010DEsd00000911* -- ID_MODEL_FROM_DATABASE=Tesla C2050 -+ ID_MODEL_FROM_DATABASE=GF110GL [Tesla C2050 / C2075] (Tesla C2050) - - pci:v000010DEd0000109A* - ID_MODEL_FROM_DATABASE=GF100GLM [Quadro 5010M] -@@ -26604,7 +26604,7 @@ pci:v000010DEd0000109B* - ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] - - pci:v000010DEd0000109Bsv000010DEsd00000918* -- ID_MODEL_FROM_DATABASE=Quadro 7000 -+ ID_MODEL_FROM_DATABASE=GF100GL [Quadro 7000] (Quadro 7000) - - pci:v000010DEd000010C0* - ID_MODEL_FROM_DATABASE=GT218 [GeForce 9300 GS Rev. 2] -@@ -26622,622 +26622,622 @@ pci:v000010DEd00001140* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] - - pci:v000010DEd00001140sv00001025sd00000600* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000606* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000064A* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000064C* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000067A* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000680* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000686* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000689* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000068B* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000068D* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000068E* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000691* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000692* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000694* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000702* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000719* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000725* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000728* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000072B* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd0000072E* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000732* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001025sd00000763* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000773* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000774* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000776* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd0000077A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077B* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077C* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077D* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077E* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd0000077F* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001025sd00000781* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000798* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000799* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd0000079B* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd0000079C* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000807* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000821* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000823* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000830* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000837* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001025sd00000841* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001028sd0000054D* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd0000054E* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000554* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001028sd00000557* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001028sd00000562* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd00000565* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000568* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000590* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd00000592* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd00000594* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd00000595* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005A2* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005B1* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005B3* -- ID_MODEL_FROM_DATABASE=GeForce GT 625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M) - - pci:v000010DEd00001140sv00001028sd000005DA* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd000005DE* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001028sd000005E0* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001028sd000005E8* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv00001028sd000005F4* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv0000103Csd000018EF* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018F9* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018FB* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018FD* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd000018FF* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000103Csd00002AEF* -- ID_MODEL_FROM_DATABASE=GeForce GT 720A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) - - pci:v000010DEd00001140sv0000103Csd00002AF9* -- ID_MODEL_FROM_DATABASE=GeForce 710A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710A) - - pci:v000010DEd00001140sv00001043sd000010DD* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv00001043sd000010ED* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv00001043sd000011FD* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000124D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000126D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000131D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd000013FD* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd000014C7* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd00001507* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001043sd000015AD* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd000015ED* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000160D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000163D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000166D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd000016CD* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd000016DD* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000170D* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd00002132* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001043sd00002136* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv00001043sd000021BA* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd000021FA* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000220A* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000221A* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001043sd0000223A* -- ID_MODEL_FROM_DATABASE=GeForce GT 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) - - pci:v000010DEd00001140sv00001043sd0000224A* -- ID_MODEL_FROM_DATABASE=GeForce GT 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) - - pci:v000010DEd00001140sv00001043sd0000227A* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd0000228A* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001043sd00008595* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001072sd0000152D* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000010CFsd000017F5* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001179sd0000FA01* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA02* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA03* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA05* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA11* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA13* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA18* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA19* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA21* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA23* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA2A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA32* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA33* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA36* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA38* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA42* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA43* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA45* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA47* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA49* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA58* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA59* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA88* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001179sd0000FA89* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000144Dsd0000B092* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv0000144Dsd0000C0D5* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000144Dsd0000C0D7* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv0000144Dsd0000C0E2* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv0000144Dsd0000C0E3* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv0000144Dsd0000C0E4* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv0000144Dsd0000C652* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv0000144Dsd0000C709* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000144Dsd0000C711* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000144Dsd0000C736* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001462sd000010B8* -- ID_MODEL_FROM_DATABASE=GeForce GT 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M) - - pci:v000010DEd00001140sv00001462sd000010E9* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001462sd00001116* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001462sd0000AA33* -- ID_MODEL_FROM_DATABASE=GeForce 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) - - pci:v000010DEd00001140sv00001462sd0000AAA2* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001462sd0000AAA3* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001462sd0000AE71* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv0000152Dsd00000926* -- ID_MODEL_FROM_DATABASE=GeForce 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 620M) - - pci:v000010DEd00001140sv0000152Dsd00000982* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000152Dsd00000983* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000152Dsd00001012* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000152Dsd00001030* -- ID_MODEL_FROM_DATABASE=GeForce GT 630M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - - pci:v000010DEd00001140sv0000152Dsd00001055* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv0000152Dsd00001067* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv0000152Dsd00001072* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00002200* -- ID_MODEL_FROM_DATABASE=NVS 5200M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - - pci:v000010DEd00001140sv000017AAsd00002213* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00002220* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000309C* -- ID_MODEL_FROM_DATABASE=GeForce GT 720A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A) - - pci:v000010DEd00001140sv000017AAsd000030B4* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd00003656* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv000017AAsd0000365A* -- ID_MODEL_FROM_DATABASE=GeForce 705M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) - - pci:v000010DEd00001140sv000017AAsd0000365E* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd0000366C* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd00003685* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd00003686* -- ID_MODEL_FROM_DATABASE=GeForce 800M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M) - - pci:v000010DEd00001140sv000017AAsd00003687* -- ID_MODEL_FROM_DATABASE=GeForce 705A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705A) - - pci:v000010DEd00001140sv000017AAsd00003696* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369B* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369C* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369D* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd0000369E* -- ID_MODEL_FROM_DATABASE=GeForce 820A -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A) - - pci:v000010DEd00001140sv000017AAsd00003800* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003801* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003802* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003803* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003804* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003901* -- ID_MODEL_FROM_DATABASE=GeForce 610M / GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) - - pci:v000010DEd00001140sv000017AAsd00003902* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00003903* -- ID_MODEL_FROM_DATABASE=GeForce 610M/710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M) - - pci:v000010DEd00001140sv000017AAsd00003904* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M/625M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M) - - pci:v000010DEd00001140sv000017AAsd00003905* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003910* -- ID_MODEL_FROM_DATABASE=GeForce 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) - - pci:v000010DEd00001140sv000017AAsd00003912* -- ID_MODEL_FROM_DATABASE=GeForce 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M) - - pci:v000010DEd00001140sv000017AAsd00003977* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00003983* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) - - pci:v000010DEd00001140sv000017AAsd00005001* -- ID_MODEL_FROM_DATABASE=GeForce 610M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M) - - pci:v000010DEd00001140sv000017AAsd00005003* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00005005* -- ID_MODEL_FROM_DATABASE=GeForce 705M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) - - pci:v000010DEd00001140sv000017AAsd0000500D* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv000017AAsd00005014* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00005017* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00005019* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000501A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000501F* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd00005025* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd00005027* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000502A* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000502B* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000502D* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000502E* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000502F* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv000017AAsd0000503E* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000503F* -- ID_MODEL_FROM_DATABASE=GeForce 820M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - - pci:v000010DEd00001140sv00001854sd00000177* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001854sd00000180* -- ID_MODEL_FROM_DATABASE=GeForce 710M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv00001854sd00000190* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001854sd00000192* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001140sv00001B0Asd000020DD* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001B0Asd000020DF* -- ID_MODEL_FROM_DATABASE=GeForce GT 620M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - - pci:v000010DEd00001140sv00001B0Asd00002202* -- ID_MODEL_FROM_DATABASE=GeForce GT 720M -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - - pci:v000010DEd00001180* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] - - pci:v000010DEd00001180sv00001043sd000083F1* -- ID_MODEL_FROM_DATABASE=GTX680-DC2-2GD5 -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GTX680-DC2-2GD5) - - pci:v000010DEd00001180sv00003842sd00003682* -- ID_MODEL_FROM_DATABASE=GeForce GTX 680 Mac Edition -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680] (GeForce GTX 680 Mac Edition) - - pci:v000010DEd00001182* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti] -@@ -27252,7 +27252,7 @@ pci:v000010DEd00001185* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] - - pci:v000010DEd00001185sv000010DEsd0000106F* -- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 OEM] (GK104 [GeForce GTX 760 OEM]) - - pci:v000010DEd00001187* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760] -@@ -27264,7 +27264,7 @@ pci:v000010DEd00001189* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] - - pci:v000010DEd00001189sv000010DEsd00001074* -- ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 670] (GK104 [GeForce GTX 760 Ti OEM]) - - pci:v000010DEd0000118A* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K520] -@@ -27279,7 +27279,7 @@ pci:v000010DEd0000118D* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] - - pci:v000010DEd0000118Dsv000010DEsd0000101D* -- ID_MODEL_FROM_DATABASE=GRID K200 -+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K200 vGPU] (GRID K200) - - pci:v000010DEd0000118E* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 OEM] -@@ -27324,7 +27324,7 @@ pci:v000010DEd000011A3* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] - - pci:v000010DEd000011A3sv0000106Bsd0000010D* -- ID_MODEL_FROM_DATABASE=iMac 13,2 -+ ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 680MX] (iMac 13,2) - - pci:v000010DEd000011A7* - ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX] -@@ -27333,10 +27333,10 @@ pci:v000010DEd000011B0* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] - - pci:v000010DEd000011B0sv000010DEsd0000101A* -- ID_MODEL_FROM_DATABASE=GRID K240Q -+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K240Q) - - pci:v000010DEd000011B0sv000010DEsd0000101B* -- ID_MODEL_FROM_DATABASE=GRID K260Q -+ ID_MODEL_FROM_DATABASE=GK104GL [GRID K240Q\K260Q vGPU] (GRID K260Q) - - pci:v000010DEd000011B1* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] -@@ -27375,28 +27375,28 @@ pci:v000010DEd000011C2* - ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] - - pci:v000010DEd000011C2sv00001043sd0000845B* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost DirectCU II OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost DirectCU II OC) - - pci:v000010DEd000011C2sv00001462sd00002874* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost TwinFrozr II OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost TwinFrozr II OC) - - pci:v000010DEd000011C2sv00001569sd000011C2* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) - - pci:v000010DEd000011C2sv000019DAsd00001281* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost OC -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost OC) - - pci:v000010DEd000011C2sv00003842sd00003657* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost) - - pci:v000010DEd000011C2sv00003842sd00003658* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti Boost Superclocked -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti Boost] (GeForce GTX 650 Ti Boost Superclocked) - - pci:v000010DEd000011C3* - ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] - - pci:v000010DEd000011C3sv000010DEsd00001030* -- ID_MODEL_FROM_DATABASE=GeForce GTX 650 Ti OEM -+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 Ti OEM] (GeForce GTX 650 Ti OEM) - - pci:v000010DEd000011C4* - ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 645 OEM] -@@ -27423,7 +27423,7 @@ pci:v000010DEd000011E3* - ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] - - pci:v000010DEd000011E3sv000017AAsd00003683* -- ID_MODEL_FROM_DATABASE=GeForce GTX 760A -+ ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] (GeForce GTX 760A) - - pci:v000010DEd000011FA* - ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000] -@@ -27486,55 +27486,55 @@ pci:v000010DEd00001247* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] - - pci:v000010DEd00001247sv00001043sd00001752* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001247sv00001043sd00002050* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001247sv00001043sd00002051* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001247sv00001043sd0000212A* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001247sv00001043sd0000212B* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001247sv00001043sd0000212C* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001247sv0000152Dsd00000930* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001248* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] - - pci:v000010DEd00001248sv0000152Dsd00000930* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001248sv000017C0sd000010E7* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv000017C0sd000010E8* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv000017C0sd000010EA* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00000890* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00000891* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00001795* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00001796* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001248sv00001854sd00003005* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd00001249* - ID_MODEL_FROM_DATABASE=GF116 [GeForce GTS 450 Rev. 3] -@@ -27546,19 +27546,19 @@ pci:v000010DEd0000124D* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] - - pci:v000010DEd0000124Dsv00001028sd00000491* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001028sd00000570* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001028sd00000571* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001462sd0000108D* -- ID_MODEL_FROM_DATABASE=GeForce GT 555M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 555M) - - pci:v000010DEd0000124Dsv00001462sd000010CC* -- ID_MODEL_FROM_DATABASE=GeForce GT 635M -+ ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 555M/635M] (GeForce GT 635M) - - pci:v000010DEd00001251* - ID_MODEL_FROM_DATABASE=GF116M [GeForce GT 560M] -@@ -27582,16 +27582,16 @@ pci:v000010DEd00001290* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] - - pci:v000010DEd00001290sv0000103Csd00002AFA* -- ID_MODEL_FROM_DATABASE=GeForce GT 730A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) - - pci:v000010DEd00001290sv0000103Csd00002B04* -- ID_MODEL_FROM_DATABASE=GeForce GT 730A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730A) - - pci:v000010DEd00001290sv00001043sd000013AD* -- ID_MODEL_FROM_DATABASE=GeForce GT 730M -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) - - pci:v000010DEd00001290sv00001043sd000013CD* -- ID_MODEL_FROM_DATABASE=GeForce GT 730M -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] (GeForce GT 730M) - - pci:v000010DEd00001291* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 735M] -@@ -27600,10 +27600,10 @@ pci:v000010DEd00001292* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] - - pci:v000010DEd00001292sv000017AAsd00003675* -- ID_MODEL_FROM_DATABASE=GeForce GT 740A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) - - pci:v000010DEd00001292sv000017AAsd00003684* -- ID_MODEL_FROM_DATABASE=GeForce GT 740A -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 740M] (GeForce GT 740A) - - pci:v000010DEd00001293* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] -@@ -27636,13 +27636,13 @@ pci:v000010DEd00001341* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] - - pci:v000010DEd00001341sv000017AAsd00003697* -- ID_MODEL_FROM_DATABASE=GeForce 840A -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) - - pci:v000010DEd00001341sv000017AAsd00003699* -- ID_MODEL_FROM_DATABASE=GeForce 840A -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) - - pci:v000010DEd00001341sv000017AAsd0000369C* -- ID_MODEL_FROM_DATABASE=GeForce 840A -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A) - - pci:v000010DEd00001380* - ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti] -@@ -27660,10 +27660,10 @@ pci:v000010DEd00001391* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] - - pci:v000010DEd00001391sv000017AAsd00003697* -- ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) - - pci:v000010DEd00001391sv000017AAsd0000A125* -- ID_MODEL_FROM_DATABASE=GeForce GTX 850A -+ ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 850M] (GeForce GTX 850A) - - pci:v000010DEd00001392* - ID_MODEL_FROM_DATABASE=GM107M [GeForce GTX 860M] -@@ -27678,13 +27678,13 @@ pci:v000010DFd00000720* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) - - pci:v000010DFd00000720sv000017AAsd00001056* -- ID_MODEL_FROM_DATABASE=ThinkServer OCm14102-UX-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14102-UX-L AnyFabric) - - pci:v000010DFd00000720sv000017AAsd00001057* -- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UX-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UX-L AnyFabric) - - pci:v000010DFd00000720sv000017AAsd00001059* -- ID_MODEL_FROM_DATABASE=ThinkServer OCm14104-UT-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UT-L AnyFabric) - - pci:v000010DFd00000722* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk) -@@ -27729,10 +27729,10 @@ pci:v000010DFd0000E220* - ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) - - pci:v000010DFd0000E220sv000017AAsd00001054* -- ID_MODEL_FROM_DATABASE=ThinkServer LPm16002B-M6-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16002B-M6-L AnyFabric) - - pci:v000010DFd0000E220sv000017AAsd00001055* -- ID_MODEL_FROM_DATABASE=ThinkServer LPm16004B-M8-L AnyFabric -+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Lancer) (ThinkServer LPm16004B-M8-L AnyFabric) - - pci:v000010DFd0000E240* - ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Lancer) -@@ -27831,7 +27831,7 @@ pci:v000010DFd0000FC00* - ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter - - pci:v000010DFd0000FC00sv000010DFsd0000FC00* -- ID_MODEL_FROM_DATABASE=LP10000 LightPulse Fibre Channel Host Adapter -+ ID_MODEL_FROM_DATABASE=Thor-X LightPulse Fibre Channel Host Adapter (LP10000 LightPulse Fibre Channel Host Adapter) - - pci:v000010DFd0000FC10* - ID_MODEL_FROM_DATABASE=Helios-X LightPulse Fibre Channel Host Adapter -@@ -27897,7 +27897,7 @@ pci:v000010E1d00000391* - ID_MODEL_FROM_DATABASE=TRM-S1040 - - pci:v000010E1d00000391sv000010E1sd00000391* -- ID_MODEL_FROM_DATABASE=DC-315U SCSI-3 Host Adapter -+ ID_MODEL_FROM_DATABASE=TRM-S1040 (DC-315U SCSI-3 Host Adapter) - - pci:v000010E1d0000690C* - ID_MODEL_FROM_DATABASE=DC-690c -@@ -27921,7 +27921,7 @@ pci:v000010E3d00000148* - ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] - - pci:v000010E3d00000148sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=Tsi148 [Tempe] (VR11 Single Board Computer) - - pci:v000010E3d00000860* - ID_MODEL_FROM_DATABASE=CA91C860 [QSpan] -@@ -28107,25 +28107,25 @@ pci:v000010ECd00005227* - ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader - - pci:v000010ECd00005227sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad T440p) - - pci:v000010ECd00005227sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=RTS5227 PCI Express Card Reader (ThinkPad X240) - - pci:v000010ECd00005229* - ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader - - pci:v000010ECd00005229sv00001025sd00000813* -- ID_MODEL_FROM_DATABASE=Aspire R7-571 -+ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (Aspire R7-571) - - pci:v000010ECd00005229sv0000103Csd0000194E* -- ID_MODEL_FROM_DATABASE=ProBook 455 G1 Notebook -+ ID_MODEL_FROM_DATABASE=RTS5229 PCI Express Card Reader (ProBook 455 G1 Notebook) - - pci:v000010ECd00005249* - ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader - - pci:v000010ECd00005249sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) - - pci:v000010ECd00005288* - ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader -@@ -28134,334 +28134,334 @@ pci:v000010ECd00008029* - ID_MODEL_FROM_DATABASE=RTL-8029(AS) - - pci:v000010ECd00008029sv000010B8sd00002011* -- ID_MODEL_FROM_DATABASE=EZ-Card (SMC1208) -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EZ-Card (SMC1208)) - - pci:v000010ECd00008029sv000010ECsd00008029* - ID_MODEL_FROM_DATABASE=RTL-8029(AS) - - pci:v000010ECd00008029sv00001113sd00001208* -- ID_MODEL_FROM_DATABASE=EN1208 -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (EN1208) - - pci:v000010ECd00008029sv00001186sd00000300* -- ID_MODEL_FROM_DATABASE=DE-528 -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (DE-528) - - pci:v000010ECd00008029sv00001259sd00002400* -- ID_MODEL_FROM_DATABASE=AT-2400 -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (AT-2400) - - pci:v000010ECd00008029sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=RTL-8029(AS) (QEMU Virtual Machine) - - pci:v000010ECd00008129* - ID_MODEL_FROM_DATABASE=RTL-8129 - - pci:v000010ECd00008129sv000010ECsd00008129* -- ID_MODEL_FROM_DATABASE=RT8129 Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL-8129 (RT8129 Fast Ethernet Adapter) - - pci:v000010ECd00008129sv000011ECsd00008129* -- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) -+ ID_MODEL_FROM_DATABASE=RTL-8129 (RTL8111/8168 PCIe Gigabit Ethernet (misconfigured)) - - pci:v000010ECd00008136* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller - - pci:v000010ECd00008136sv0000103Csd00002AB1* -- ID_MODEL_FROM_DATABASE=Pavillion p6774 -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) - - pci:v000010ECd00008136sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) - - pci:v000010ECd00008136sv00001179sd0000FF64* -- ID_MODEL_FROM_DATABASE=RTL8102E PCI-E Fast Ethernet NIC -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) - - pci:v000010ECd00008138* - ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter - - pci:v000010ECd00008138sv000010ECsd00008138* -- ID_MODEL_FROM_DATABASE=RT8139 (B/C) Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter (RT8139 (B/C) Fast Ethernet Adapter) - - pci:v000010ECd00008139* - ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter - - pci:v000010ECd00008139sv00000357sd0000000A* -- ID_MODEL_FROM_DATABASE=TTP-Monitoring Card V2.0 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TTP-Monitoring Card V2.0) - - pci:v000010ECd00008139sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (TravelMate 290) - - pci:v000010ECd00008139sv00001025sd00008920* -- ID_MODEL_FROM_DATABASE=ALN-325 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) - - pci:v000010ECd00008139sv00001025sd00008921* -- ID_MODEL_FROM_DATABASE=ALN-325 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325) - - pci:v000010ECd00008139sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (NX9500) - - pci:v000010ECd00008139sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Pavilion t3030.de Desktop PC) - - pci:v000010ECd00008139sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Presario C700) - - pci:v000010ECd00008139sv00001043sd00001045* -- ID_MODEL_FROM_DATABASE=L8400B or L3C/S notebook -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (L8400B or L3C/S notebook) - - pci:v000010ECd00008139sv00001043sd00008109* -- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P5P800-MX Mainboard) - - pci:v000010ECd00008139sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MIM2000) - - pci:v000010ECd00008139sv000010BDsd00000320* -- ID_MODEL_FROM_DATABASE=EP-320X-R -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EP-320X-R) - - pci:v000010ECd00008139sv000010ECsd00008139* - ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter - - pci:v000010ECd00008139sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Panasonic CF-Y5 laptop) - - pci:v000010ECd00008139sv00001113sd0000EC01* -- ID_MODEL_FROM_DATABASE=LevelOne FNC-0107TX/FNC-0109TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LevelOne FNC-0107TX/FNC-0109TX) - - pci:v000010ECd00008139sv00001186sd00001300* -- ID_MODEL_FROM_DATABASE=DFE-538TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DFE-538TX) - - pci:v000010ECd00008139sv00001186sd00001320* -- ID_MODEL_FROM_DATABASE=SN5200 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (SN5200) - - pci:v000010ECd00008139sv00001186sd00008139* -- ID_MODEL_FROM_DATABASE=DRN-32TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DRN-32TX) - - pci:v000010ECd00008139sv000011F6sd00008139* -- ID_MODEL_FROM_DATABASE=FN22-3(A) LinxPRO Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN22-3(A) LinxPRO Ethernet Adapter) - - pci:v000010ECd00008139sv00001259sd00002500* -- ID_MODEL_FROM_DATABASE=AT-2500TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX) - - pci:v000010ECd00008139sv00001259sd00002503* -- ID_MODEL_FROM_DATABASE=AT-2500TX/ACPI -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AT-2500TX/ACPI) - - pci:v000010ECd00008139sv00001385sd0000F31D* -- ID_MODEL_FROM_DATABASE=FA311 v2 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FA311 v2) - - pci:v000010ECd00008139sv00001395sd00002100* -- ID_MODEL_FROM_DATABASE=AMB2100 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (AMB2100) - - pci:v000010ECd00008139sv00001429sd0000D010* -- ID_MODEL_FROM_DATABASE=ND010/ND012 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ND010/ND012) - - pci:v000010ECd00008139sv00001432sd00009130* -- ID_MODEL_FROM_DATABASE=EN-9130TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (EN-9130TX) - - pci:v000010ECd00008139sv00001436sd00008139* -- ID_MODEL_FROM_DATABASE=RT8139 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RT8139) - - pci:v000010ECd00008139sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P30/P35 notebook) - - pci:v000010ECd00008139sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-7VM400M/7VT600 Motherboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GA-7VM400M/7VT600 Motherboard) - - pci:v000010ECd00008139sv00001462sd00000131* -- ID_MODEL_FROM_DATABASE=MS-1013 Notebook -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (MS-1013 Notebook) - - pci:v000010ECd00008139sv00001462sd0000217C* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Aspire L250) - - pci:v000010ECd00008139sv00001462sd0000788C* -- ID_MODEL_FROM_DATABASE=865PE Neo2-V Mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (865PE Neo2-V Mainboard) - - pci:v000010ECd00008139sv0000146Csd00001439* -- ID_MODEL_FROM_DATABASE=FE-1439TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FE-1439TX) - - pci:v000010ECd00008139sv00001489sd00006001* -- ID_MODEL_FROM_DATABASE=GF100TXRII -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRII) - - pci:v000010ECd00008139sv00001489sd00006002* -- ID_MODEL_FROM_DATABASE=GF100TXRA -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (GF100TXRA) - - pci:v000010ECd00008139sv0000149Csd0000139A* -- ID_MODEL_FROM_DATABASE=LFE-8139ATX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139ATX) - - pci:v000010ECd00008139sv0000149Csd00008139* -- ID_MODEL_FROM_DATABASE=LFE-8139TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LFE-8139TX) - - pci:v000010ECd00008139sv000014CBsd00000200* -- ID_MODEL_FROM_DATABASE=LNR-100 Family 10/100 Base-TX Ethernet -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LNR-100 Family 10/100 Base-TX Ethernet) - - pci:v000010ECd00008139sv00001565sd00002300* -- ID_MODEL_FROM_DATABASE=P4TSV Onboard LAN (RTL8100B) -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (P4TSV Onboard LAN (RTL8100B)) - - pci:v000010ECd00008139sv00001631sd00007003* -- ID_MODEL_FROM_DATABASE=Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard) - - pci:v000010ECd00008139sv00001695sd00009001* -- ID_MODEL_FROM_DATABASE=Onboard RTL8101L 10/100 MBit -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (Onboard RTL8101L 10/100 MBit) - - pci:v000010ECd00008139sv000016ECsd000000FF* -- ID_MODEL_FROM_DATABASE=USR997900A -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (USR997900A) - - pci:v000010ECd00008139sv00001799sd00005000* -- ID_MODEL_FROM_DATABASE=F5D5000 PCI Card/Desktop Network PCI Card -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5000 PCI Card/Desktop Network PCI Card) - - pci:v000010ECd00008139sv00001799sd00005010* -- ID_MODEL_FROM_DATABASE=F5D5010 CardBus Notebook Network Card -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (F5D5010 CardBus Notebook Network Card) - - pci:v000010ECd00008139sv0000187Esd00003303* -- ID_MODEL_FROM_DATABASE=FN312 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (FN312) - - pci:v000010ECd00008139sv00001904sd00008139* -- ID_MODEL_FROM_DATABASE=RTL8139D Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (RTL8139D Fast Ethernet Adapter) - - pci:v000010ECd00008139sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (QEMU Virtual Machine) - - pci:v000010ECd00008139sv00002646sd00000001* -- ID_MODEL_FROM_DATABASE=KNE120TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KNE120TX) - - pci:v000010ECd00008139sv00008E2Esd00007000* -- ID_MODEL_FROM_DATABASE=KF-230TX -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX) - - pci:v000010ECd00008139sv00008E2Esd00007100* -- ID_MODEL_FROM_DATABASE=KF-230TX/2 -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (KF-230TX/2) - - pci:v000010ECd00008139sv0000A0A0sd00000007* -- ID_MODEL_FROM_DATABASE=ALN-325C -+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (ALN-325C) - - pci:v000010ECd00008167* - ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet - - pci:v000010ECd00008167sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-MA69G-S3H Motherboard -+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (GA-MA69G-S3H Motherboard) - - pci:v000010ECd00008167sv00001462sd0000235C* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (P965 Neo MS-7235 mainboard) - - pci:v000010ECd00008167sv00001462sd0000236C* -- ID_MODEL_FROM_DATABASE=945P Neo3-F motherboard -+ ID_MODEL_FROM_DATABASE=RTL-8110SC/8169SC Gigabit Ethernet (945P Neo3-F motherboard) - - pci:v000010ECd00008168* - ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller - - pci:v000010ECd00008168sv00001019sd00008168* -- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) - - pci:v000010ECd00008168sv00001028sd00000283* -- ID_MODEL_FROM_DATABASE=Vostro 220 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 220) - - pci:v000010ECd00008168sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3350) - - pci:v000010ECd00008168sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Vostro 3750) - - pci:v000010ECd00008168sv0000103Csd00001611* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Pavilion DM1Z-3000) - - pci:v000010ECd00008168sv0000103Csd00001950* -- ID_MODEL_FROM_DATABASE=ProBook 450/455 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (ProBook 450/455) - - pci:v000010ECd00008168sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Asus IPIBL-LB Motherboard) - - pci:v000010ECd00008168sv00001043sd000011F5* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (A6J-Q008) - - pci:v000010ECd00008168sv00001043sd000016D5* -- ID_MODEL_FROM_DATABASE=U6V/U31J laptop -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (U6V/U31J laptop) - - pci:v000010ECd00008168sv00001043sd000081AA* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P5B) - - pci:v000010ECd00008168sv00001043sd000082C6* -- ID_MODEL_FROM_DATABASE=M3A78-EH Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M3A78-EH Motherboard) - - pci:v000010ECd00008168sv00001043sd000083A3* -- ID_MODEL_FROM_DATABASE=M4A785TD Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M4A785TD Motherboard) - - pci:v000010ECd00008168sv00001043sd00008432* -- ID_MODEL_FROM_DATABASE=P8P67 and other motherboards -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) - - pci:v000010ECd00008168sv00001043sd00008505* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) - - pci:v000010ECd00008168sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) - - pci:v000010ECd00008168sv000010ECsd00008168* -- ID_MODEL_FROM_DATABASE=RTL8111/8168 PCI Express Gigabit Ethernet controller -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (RTL8111/8168 PCI Express Gigabit Ethernet controller) - - pci:v000010ECd00008168sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard) - - pci:v000010ECd00008168sv00001462sd0000238C* -- ID_MODEL_FROM_DATABASE=Onboard RTL8111b on MSI P965 Platinum Mainboard -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Onboard RTL8111b on MSI P965 Platinum Mainboard) - - pci:v000010ECd00008168sv00001462sd0000368C* -- ID_MODEL_FROM_DATABASE=K9AG Neo2 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (K9AG Neo2) - - pci:v000010ECd00008168sv00001462sd00004180* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Wind PC MS-7418) - - pci:v000010ECd00008168sv00001462sd00007522* -- ID_MODEL_FROM_DATABASE=X58 Pro-E -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (X58 Pro-E) - - pci:v000010ECd00008168sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (CC11/CL11) - - pci:v000010ECd00008168sv00001849sd00008168* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many)) - - pci:v000010ECd00008168sv00008086sd0000D615* -- ID_MODEL_FROM_DATABASE=Desktop Board D510MO/D525MW -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Desktop Board D510MO/D525MW) - - pci:v000010ECd00008169* - ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller - - pci:v000010ECd00008169sv00001025sd00000079* -- ID_MODEL_FROM_DATABASE=Aspire 5024WLMi -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Aspire 5024WLMi) - - pci:v000010ECd00008169sv000010BDsd00003202* -- ID_MODEL_FROM_DATABASE=EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter) - - pci:v000010ECd00008169sv000010ECsd00008169* -- ID_MODEL_FROM_DATABASE=RTL8169/8110 Family PCI Gigabit Ethernet NIC -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (RTL8169/8110 Family PCI Gigabit Ethernet NIC) - - pci:v000010ECd00008169sv00001259sd0000C107* -- ID_MODEL_FROM_DATABASE=CG-LAPCIGT -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (CG-LAPCIGT) - - pci:v000010ECd00008169sv00001371sd0000434E* -- ID_MODEL_FROM_DATABASE=ProG-2000L -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (ProG-2000L) - - pci:v000010ECd00008169sv00001385sd0000311A* -- ID_MODEL_FROM_DATABASE=GA311 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA311) - - pci:v000010ECd00008169sv00001385sd00005200* -- ID_MODEL_FROM_DATABASE=GA511 Gigabit PC Card -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA511 Gigabit PC Card) - - pci:v000010ECd00008169sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (GA-8I915ME-G Mainboard) - - pci:v000010ECd00008169sv00001462sd0000030C* -- ID_MODEL_FROM_DATABASE=K8N Neo-FSR v2.0 mainboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8N Neo-FSR v2.0 mainboard) - - pci:v000010ECd00008169sv00001462sd0000065C* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (Hetis 865GV-E (MS-7065)) - - pci:v000010ECd00008169sv00001462sd0000702C* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T NEO 2 motherboard) - - pci:v000010ECd00008169sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (K8T Neo2-F V2.0) - - pci:v000010ECd00008169sv000016ECsd0000011F* -- ID_MODEL_FROM_DATABASE=USR997903 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (USR997903) - - pci:v000010ECd00008169sv00001734sd00001091* -- ID_MODEL_FROM_DATABASE=D2030-A1 -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (D2030-A1) - - pci:v000010ECd00008169sv0000A0A0sd00000449* -- ID_MODEL_FROM_DATABASE=AK86-L motherboard -+ ID_MODEL_FROM_DATABASE=RTL8169 PCI Gigabit Ethernet Controller (AK86-L motherboard) - - pci:v000010ECd00008171* - ID_MODEL_FROM_DATABASE=RTL8191SEvA Wireless LAN Controller -@@ -28479,7 +28479,7 @@ pci:v000010ECd00008176* - ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter - - pci:v000010ECd00008176sv00001A3Bsd00001139* -- ID_MODEL_FROM_DATABASE=AW-NE139H Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RTL8188CE 802.11b/g/n WiFi Adapter (AW-NE139H Half-size Mini PCIe Card) - - pci:v000010ECd00008177* - ID_MODEL_FROM_DATABASE=RTL8191CE PCIe Wireless Network Adapter -@@ -28494,10 +28494,10 @@ pci:v000010ECd00008180* - ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC - - pci:v000010ECd00008180sv00001385sd00004700* -- ID_MODEL_FROM_DATABASE=MA521 802.11b Wireless PC Card -+ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (MA521 802.11b Wireless PC Card) - - pci:v000010ECd00008180sv00001737sd00000019* -- ID_MODEL_FROM_DATABASE=WPC11v4 802.11b Wireless-B Notebook Adapter -+ ID_MODEL_FROM_DATABASE=RTL8180L 802.11b MAC (WPC11v4 802.11b Wireless-B Notebook Adapter) - - pci:v000010ECd00008185* - ID_MODEL_FROM_DATABASE=RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller -@@ -28524,7 +28524,7 @@ pci:v000010ECd00008199* - ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller - - pci:v000010ECd00008199sv00001462sd00006894* -- ID_MODEL_FROM_DATABASE=MN54G2 / MS-6894 Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RTL8187SE Wireless LAN Controller (MN54G2 / MS-6894 Wireless Mini PCIe Card) - - pci:v000010ECd00008723* - ID_MODEL_FROM_DATABASE=RTL8723AE PCIe Wireless Network Adapter -@@ -28734,115 +28734,115 @@ pci:v00001102d00000002* - ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 - - pci:v00001102d00000002sv0000100Asd00001102* -- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF) - - pci:v00001102d00000002sv00001102sd00000020* -- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00000021* -- ID_MODEL_FROM_DATABASE=CT4620 SBLive! -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4620 SBLive!) - - pci:v00001102d00000002sv00001102sd0000002F* -- ID_MODEL_FROM_DATABASE=SBLive! mainboard implementation -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! mainboard implementation) - - pci:v00001102d00000002sv00001102sd0000100A* -- ID_MODEL_FROM_DATABASE=SB Live! 5.1 Digital OEM [SB0220] -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SB Live! 5.1 Digital OEM [SB0220]) - - pci:v00001102d00000002sv00001102sd00004001* -- ID_MODEL_FROM_DATABASE=E-mu APS -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (E-mu APS) - - pci:v00001102d00000002sv00001102sd00008022* -- ID_MODEL_FROM_DATABASE=CT4780 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4780 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008023* -- ID_MODEL_FROM_DATABASE=CT4790 SoundBlaster PCI512 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4790 SoundBlaster PCI512) - - pci:v00001102d00000002sv00001102sd00008024* -- ID_MODEL_FROM_DATABASE=CT4760 SBLive! -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) - - pci:v00001102d00000002sv00001102sd00008025* -- ID_MODEL_FROM_DATABASE=SBLive! Mainboard Implementation -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Mainboard Implementation) - - pci:v00001102d00000002sv00001102sd00008026* -- ID_MODEL_FROM_DATABASE=CT4830 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4830 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008027* -- ID_MODEL_FROM_DATABASE=CT4832 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4832 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008028* -- ID_MODEL_FROM_DATABASE=CT4760 SBLive! OEM version -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive! OEM version) - - pci:v00001102d00000002sv00001102sd00008031* -- ID_MODEL_FROM_DATABASE=CT4831 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4831 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008040* -- ID_MODEL_FROM_DATABASE=CT4760 SBLive! -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4760 SBLive!) - - pci:v00001102d00000002sv00001102sd00008051* -- ID_MODEL_FROM_DATABASE=CT4850 SBLive! Value -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (CT4850 SBLive! Value) - - pci:v00001102d00000002sv00001102sd00008061* -- ID_MODEL_FROM_DATABASE=SBLive! Player 5.1 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! Player 5.1) - - pci:v00001102d00000002sv00001102sd00008064* -- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Model SB0100 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Model SB0100) - - pci:v00001102d00000002sv00001102sd00008065* -- ID_MODEL_FROM_DATABASE=SBLive! 5.1 Digital Model SB0220 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 Digital Model SB0220) - - pci:v00001102d00000002sv00001102sd00008066* -- ID_MODEL_FROM_DATABASE=Live! 5.1 Digital [SB0228] -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (Live! 5.1 Digital [SB0228]) - - pci:v00001102d00000002sv00001102sd00008067* -- ID_MODEL_FROM_DATABASE=SBLive! 5.1 eMicro 28028 -+ ID_MODEL_FROM_DATABASE=SB Live! EMU10k1 (SBLive! 5.1 eMicro 28028) - - pci:v00001102d00000004* - ID_MODEL_FROM_DATABASE=SB Audigy - - pci:v00001102d00000004sv00001102sd00000051* -- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player) - - pci:v00001102d00000004sv00001102sd00000053* -- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) - - pci:v00001102d00000004sv00001102sd00000058* -- ID_MODEL_FROM_DATABASE=SB0090 Audigy Player/OEM -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0090 Audigy Player/OEM) - - pci:v00001102d00000004sv00001102sd00001002* -- ID_MODEL_FROM_DATABASE=SB Audigy2 Platinum -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 Platinum) - - pci:v00001102d00000004sv00001102sd00001003* -- ID_MODEL_FROM_DATABASE=SB0350 Audigy 2 -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0350 Audigy 2) - - pci:v00001102d00000004sv00001102sd00001007* -- ID_MODEL_FROM_DATABASE=SB0240 Audigy 2 Platinum 6.1 -+ ID_MODEL_FROM_DATABASE=SB Audigy (SB0240 Audigy 2 Platinum 6.1) - - pci:v00001102d00000004sv00001102sd00001009* -- ID_MODEL_FROM_DATABASE=SB Audigy2 OEM HP -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 OEM HP) - - pci:v00001102d00000004sv00001102sd00002001* -- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS Platinum Pro -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS Platinum Pro) - - pci:v00001102d00000004sv00001102sd00002002* -- ID_MODEL_FROM_DATABASE=SB Audigy 2 ZS (SB0350) -+ ID_MODEL_FROM_DATABASE=SB Audigy (2 ZS (SB0350)) - - pci:v00001102d00000004sv00001102sd00004001* -- ID_MODEL_FROM_DATABASE=E-MU 1010 -+ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 1010) - - pci:v00001102d00000004sv00001102sd00004002* -- ID_MODEL_FROM_DATABASE=E-MU 0404 -+ ID_MODEL_FROM_DATABASE=SB Audigy (E-MU 0404) - - pci:v00001102d00000005* - ID_MODEL_FROM_DATABASE=SB X-Fi - - pci:v00001102d00000005sv00001102sd00000021* -- ID_MODEL_FROM_DATABASE=X-Fi Platinum -+ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi Platinum) - - pci:v00001102d00000005sv00001102sd0000002C* -- ID_MODEL_FROM_DATABASE=X-Fi XtremeGamer FATAL1TY PRO -+ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeGamer FATAL1TY PRO) - - pci:v00001102d00000005sv00001102sd00001003* -- ID_MODEL_FROM_DATABASE=X-Fi XtremeMusic -+ ID_MODEL_FROM_DATABASE=SB X-Fi (X-Fi XtremeMusic) - - pci:v00001102d00000006* - ID_MODEL_FROM_DATABASE=[SB Live! Value] EMU10k1X -@@ -28851,37 +28851,37 @@ pci:v00001102d00000007* - ID_MODEL_FROM_DATABASE=CA0106 Soundblaster - - pci:v00001102d00000007sv00001102sd00000007* -- ID_MODEL_FROM_DATABASE=SBLive! 24bit -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SBLive! 24bit) - - pci:v00001102d00000007sv00001102sd00001001* -- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0310 Audigy LS) - - pci:v00001102d00000007sv00001102sd00001002* -- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0312 Audigy LS) - - pci:v00001102d00000007sv00001102sd00001006* -- ID_MODEL_FROM_DATABASE=SB0410 SBLive! 24-bit -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0410 SBLive! 24-bit) - - pci:v00001102d00000007sv00001102sd0000100A* -- ID_MODEL_FROM_DATABASE=SB0570 [SB Audigy SE] -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0570 [SB Audigy SE]) - - pci:v00001102d00000007sv00001102sd00001012* -- ID_MODEL_FROM_DATABASE=SB0790 X-Fi XA -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (SB0790 X-Fi XA) - - pci:v00001102d00000007sv00001102sd00001013* -- ID_MODEL_FROM_DATABASE=Soundblaster X-Fi Xtreme Audio -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (Soundblaster X-Fi Xtreme Audio) - - pci:v00001102d00000007sv00001462sd00001009* -- ID_MODEL_FROM_DATABASE=K8N Diamond -+ ID_MODEL_FROM_DATABASE=CA0106 Soundblaster (K8N Diamond) - - pci:v00001102d00000008* - ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value - - pci:v00001102d00000008sv00001102sd00000008* -- ID_MODEL_FROM_DATABASE=EMU0404 Digital Audio System -+ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU0404 Digital Audio System) - - pci:v00001102d00000008sv00001102sd00004004* -- ID_MODEL_FROM_DATABASE=EMU1010 Digital Audio System [MAEM8960] -+ ID_MODEL_FROM_DATABASE=SB0400 Audigy2 Value (EMU1010 Digital Audio System [MAEM8960]) - - pci:v00001102d00000009* - ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG -@@ -28890,13 +28890,13 @@ pci:v00001102d00000009sv00001102sd00000010* - ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG - - pci:v00001102d00000009sv00001102sd00000018* -- ID_MODEL_FROM_DATABASE=SB1040 -+ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG (SB1040) - - pci:v00001102d0000000B* - ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] - - pci:v00001102d0000000Bsv00001102sd00000041* -- ID_MODEL_FROM_DATABASE=SB0880 [SoundBlaster X-Fi Titanium PCI-e] -+ ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) - - pci:v00001102d00004001* - ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port -@@ -28908,7 +28908,7 @@ pci:v00001102d00007002* - ID_MODEL_FROM_DATABASE=SB Live! Game Port - - pci:v00001102d00007002sv00001102sd00000020* -- ID_MODEL_FROM_DATABASE=Gameport Joystick -+ ID_MODEL_FROM_DATABASE=SB Live! Game Port (Gameport Joystick) - - pci:v00001102d00007003* - ID_MODEL_FROM_DATABASE=SB Audigy Game Port -@@ -28917,7 +28917,7 @@ pci:v00001102d00007003sv00001102sd00000040* - ID_MODEL_FROM_DATABASE=SB Audigy Game Port - - pci:v00001102d00007003sv00001102sd00000060* -- ID_MODEL_FROM_DATABASE=SB Audigy2 MIDI/Game Port -+ ID_MODEL_FROM_DATABASE=SB Audigy Game Port (SB Audigy2 MIDI/Game Port) - - pci:v00001102d00007004* - ID_MODEL_FROM_DATABASE=[SB Live! Value] Input device controller -@@ -28926,10 +28926,10 @@ pci:v00001102d00007005* - ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port - - pci:v00001102d00007005sv00001102sd00001001* -- ID_MODEL_FROM_DATABASE=SB0310 Audigy LS MIDI/Game port -+ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0310 Audigy LS MIDI/Game port) - - pci:v00001102d00007005sv00001102sd00001002* -- ID_MODEL_FROM_DATABASE=SB0312 Audigy LS MIDI/Game port -+ ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0312 Audigy LS MIDI/Game port) - - pci:v00001102d00007006* - ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge -@@ -28938,49 +28938,49 @@ pci:v00001102d00008938* - ID_MODEL_FROM_DATABASE=Ectiva EV1938 - - pci:v00001102d00008938sv00001033sd000080E5* -- ID_MODEL_FROM_DATABASE=SlimTower-Jim (NEC) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (SlimTower-Jim (NEC)) - - pci:v00001102d00008938sv00001071sd00007150* -- ID_MODEL_FROM_DATABASE=Mitac 7150 -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Mitac 7150) - - pci:v00001102d00008938sv0000110Asd00005938* -- ID_MODEL_FROM_DATABASE=Siemens Scenic Mobile 510PIII -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Siemens Scenic Mobile 510PIII) - - pci:v00001102d00008938sv000013BDsd0000100C* -- ID_MODEL_FROM_DATABASE=Ceres-C (Sharp, Intel BX) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Ceres-C (Sharp, Intel BX)) - - pci:v00001102d00008938sv000013BDsd0000100D* -- ID_MODEL_FROM_DATABASE=Sharp, Intel Banister -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Sharp, Intel Banister) - - pci:v00001102d00008938sv000013BDsd0000100E* -- ID_MODEL_FROM_DATABASE=TwinHead P09S/P09S3 (Sharp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (TwinHead P09S/P09S3 (Sharp)) - - pci:v00001102d00008938sv000013BDsd0000F6F1* -- ID_MODEL_FROM_DATABASE=Marlin (Sharp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Marlin (Sharp)) - - pci:v00001102d00008938sv000014FFsd00000E70* -- ID_MODEL_FROM_DATABASE=P88TE (TWINHEAD INTERNATIONAL Corp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (P88TE (TWINHEAD INTERNATIONAL Corp)) - - pci:v00001102d00008938sv000014FFsd0000C401* -- ID_MODEL_FROM_DATABASE=Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp)) - - pci:v00001102d00008938sv0000156Dsd0000B400* -- ID_MODEL_FROM_DATABASE=G400 - Geo (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G400 - Geo (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B550* -- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B560* -- ID_MODEL_FROM_DATABASE=G560 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G560 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B700* -- ID_MODEL_FROM_DATABASE=G700/U700 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G700/U700 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B795* -- ID_MODEL_FROM_DATABASE=G795 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G795 (AlphaTop (Taiwan))) - - pci:v00001102d00008938sv0000156Dsd0000B797* -- ID_MODEL_FROM_DATABASE=G797 (AlphaTop (Taiwan)) -+ ID_MODEL_FROM_DATABASE=Ectiva EV1938 (G797 (AlphaTop (Taiwan))) - - pci:v00001103* - ID_VENDOR_FROM_DATABASE=HighPoint Technologies, Inc. -@@ -28992,16 +28992,16 @@ pci:v00001103d00000004* - ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N - - pci:v00001103d00000004sv00001103sd00000001* -- ID_MODEL_FROM_DATABASE=HPT370A -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370A) - - pci:v00001103d00000004sv00001103sd00000004* -- ID_MODEL_FROM_DATABASE=HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4)) - - pci:v00001103d00000004sv00001103sd00000005* -- ID_MODEL_FROM_DATABASE=HPT370 UDMA100 -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT370 UDMA100) - - pci:v00001103d00000004sv00001103sd00000006* -- ID_MODEL_FROM_DATABASE=HPT302/302N -+ ID_MODEL_FROM_DATABASE=HPT366/368/370/370A/372/372N (HPT302/302N) - - pci:v00001103d00000005* - ID_MODEL_FROM_DATABASE=HPT372A/372N -@@ -29040,7 +29040,7 @@ pci:v00001103d00002210* - ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller - - pci:v00001103d00002210sv000011ABsd000011AB* -- ID_MODEL_FROM_DATABASE=88SX6042 -+ ID_MODEL_FROM_DATABASE=RocketRAID 2210 SATA-II Controller (88SX6042) - - pci:v00001103d00002300* - ID_MODEL_FROM_DATABASE=RocketRAID 230x 4 Port SATA-II Controller -@@ -29112,13 +29112,13 @@ pci:v00001105d00008475* - ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder - - pci:v00001105d00008475sv00001105sd00000001* -- ID_MODEL_FROM_DATABASE=REALmagic X-Card -+ ID_MODEL_FROM_DATABASE=EM8475 REALmagic DVD/MPEG-4 A/V Decoder (REALmagic X-Card) - - pci:v00001105d00008476* - ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder - - pci:v00001105d00008476sv0000127Dsd00000000* -- ID_MODEL_FROM_DATABASE=CineView II -+ ID_MODEL_FROM_DATABASE=EM8476 REALmagic DVD/MPEG-4 A/V Decoder (CineView II) - - pci:v00001105d00008485* - ID_MODEL_FROM_DATABASE=EM8485 REALmagic DVD/MPEG-4 A/V Decoder -@@ -29163,7 +29163,7 @@ pci:v00001106d00000282* - ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge - - pci:v00001106d00000282sv00001043sd000080A3* -- ID_MODEL_FROM_DATABASE=A8V Deluxe -+ ID_MODEL_FROM_DATABASE=K8T800Pro Host Bridge (A8V Deluxe) - - pci:v00001106d00000290* - ID_MODEL_FROM_DATABASE=K8M890 Host Bridge -@@ -29178,28 +29178,28 @@ pci:v00001106d00000305* - ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] - - pci:v00001106d00000305sv00001019sd00000987* -- ID_MODEL_FROM_DATABASE=K7VZA Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (K7VZA Mainboard) - - pci:v00001106d00000305sv00001043sd00008033* -- ID_MODEL_FROM_DATABASE=A7V Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V Mainboard) - - pci:v00001106d00000305sv00001043sd0000803E* -- ID_MODEL_FROM_DATABASE=A7V-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V-E Mainboard) - - pci:v00001106d00000305sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (A7V133/A7V133-C Mainboard) - - pci:v00001106d00000305sv0000147Bsd0000A401* -- ID_MODEL_FROM_DATABASE=KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard -+ ID_MODEL_FROM_DATABASE=VT8363/8365 [KT133/KM133] (KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard) - - pci:v00001106d00000308* - ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge - - pci:v00001106d00000308sv00001043sd00008199* -- ID_MODEL_FROM_DATABASE=P4V800D-X Mainboard -+ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (P4V800D-X Mainboard) - - pci:v00001106d00000308sv00001849sd00000308* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=PT880 Ultra/PT894 Host Bridge (Motherboard) - - pci:v00001106d00000314* - ID_MODEL_FROM_DATABASE=CN700/VN800/P4M800CE/Pro Host Bridge -@@ -29226,7 +29226,7 @@ pci:v00001106d00000364* - ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge - - pci:v00001106d00000364sv00001043sd000081CE* -- ID_MODEL_FROM_DATABASE=P5VD2-VM mothervoard -+ ID_MODEL_FROM_DATABASE=CN896/VN896/P4M900 Host Bridge (P5VD2-VM mothervoard) - - pci:v00001106d00000391* - ID_MODEL_FROM_DATABASE=VT8371 [KX133] -@@ -29241,7 +29241,7 @@ pci:v00001106d00000415* - ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller - - pci:v00001106d00000415sv00001043sd0000838F* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=VT6415 PATA IDE Host Controller (Motherboard) - - pci:v00001106d00000501* - ID_MODEL_FROM_DATABASE=VT8501 [Apollo MVP4] -@@ -29256,55 +29256,55 @@ pci:v00001106d00000571* - ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE - - pci:v00001106d00000571sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (P6VXA Motherboard) - - pci:v00001106d00000571sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00000571sv00001043sd00008052* -- ID_MODEL_FROM_DATABASE=VT8233A Bus Master ATA100/66/33 IDE -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT8233A Bus Master ATA100/66/33 IDE) - - pci:v00001106d00000571sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V8X / A7V333 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X / A7V333 motherboard) - - pci:v00001106d00000571sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev. 1.01 -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V8X-X motherboard rev. 1.01) - - pci:v00001106d00000571sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00000571sv00001106sd00000571* -- ID_MODEL_FROM_DATABASE=VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE) - - pci:v00001106d00000571sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (Magnia Z310) - - pci:v00001106d00000571sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (FX41 motherboard) - - pci:v00001106d00000571sv00001458sd00005002* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (GA-7VAX Mainboard) - - pci:v00001106d00000571sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00000571sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T NEO 2 motherboard) - - pci:v00001106d00000571sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8T Neo2-F V2.0) - - pci:v00001106d00000571sv00001462sd00007120* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KT4AV motherboard) - - pci:v00001106d00000571sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K8MM3-V mainboard) - - pci:v00001106d00000571sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (KV8-MAX3 motherboard) - - pci:v00001106d00000571sv00001849sd00000571* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (K7VT series Motherboards) - - pci:v00001106d00000576* - ID_MODEL_FROM_DATABASE=VT82C576 3V [Apollo Master] -@@ -29313,7 +29313,7 @@ pci:v00001106d00000581* - ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller - - pci:v00001106d00000581sv00001106sd00000581* -- ID_MODEL_FROM_DATABASE=Wrong IDE ID -+ ID_MODEL_FROM_DATABASE=CX700/VX700 RAID Controller (Wrong IDE ID) - - pci:v00001106d00000585* - ID_MODEL_FROM_DATABASE=VT82C585VP [Apollo VP1/VPX] -@@ -29322,7 +29322,7 @@ pci:v00001106d00000586* - ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] - - pci:v00001106d00000586sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=MVP3 ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C586/A/B PCI-to-ISA [Apollo VP] (MVP3 ISA Bridge) - - pci:v00001106d00000591* - ID_MODEL_FROM_DATABASE=VT8237A SATA 2-Port Controller -@@ -29334,10 +29334,10 @@ pci:v00001106d00000596* - ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] - - pci:v00001106d00000596sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) - - pci:v00001106d00000596sv00001458sd00000596* -- ID_MODEL_FROM_DATABASE=VT82C596/A/B PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C596 ISA [Mobile South] (VT82C596/A/B PCI to ISA Bridge) - - pci:v00001106d00000597* - ID_MODEL_FROM_DATABASE=VT82C597 [Apollo VP3] -@@ -29352,10 +29352,10 @@ pci:v00001106d00000605* - ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] - - pci:v00001106d00000605sv0000103Csd00001254* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00001106d00000605sv00001043sd0000802C* -- ID_MODEL_FROM_DATABASE=CUV4X mainboard -+ ID_MODEL_FROM_DATABASE=VT8605 [ProSavage PM133] (CUV4X mainboard) - - pci:v00001106d00000680* - ID_MODEL_FROM_DATABASE=VT82C680 [Apollo P6] -@@ -29364,49 +29364,49 @@ pci:v00001106d00000686* - ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] - - pci:v00001106d00000686sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (P6VXA Motherboard) - - pci:v00001106d00000686sv0000103Csd00001256* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00001106d00000686sv00001043sd0000802C* -- ID_MODEL_FROM_DATABASE=CUV4X mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (CUV4X mainboard) - - pci:v00001106d00000686sv00001043sd00008033* -- ID_MODEL_FROM_DATABASE=A7V Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V Mainboard) - - pci:v00001106d00000686sv00001043sd0000803E* -- ID_MODEL_FROM_DATABASE=A7V-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V-E Mainboard) - - pci:v00001106d00000686sv00001043sd00008040* -- ID_MODEL_FROM_DATABASE=A7M266 Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7M266 Mainboard) - - pci:v00001106d00000686sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (A7V133/A7V133-C Mainboard) - - pci:v00001106d00000686sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) - - pci:v00001106d00000686sv00001106sd00000686* -- ID_MODEL_FROM_DATABASE=VT82C686/A PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (VT82C686/A PCI to ISA Bridge) - - pci:v00001106d00000686sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (Magnia Z310) - - pci:v00001106d00000686sv0000147Bsd0000A702* -- ID_MODEL_FROM_DATABASE=KG7-Lite Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super South] (KG7-Lite Mainboard) - - pci:v00001106d00000691* - ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] - - pci:v00001106d00000691sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (P6VXA Motherboard) - - pci:v00001106d00000691sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (Magnia Z310) - - pci:v00001106d00000691sv00001458sd00000691* -- ID_MODEL_FROM_DATABASE=VT82C691 Apollo Pro System Controller -+ ID_MODEL_FROM_DATABASE=VT82C693A/694x [Apollo PRO133x] (VT82C691 Apollo Pro System Controller) - - pci:v00001106d00000693* - ID_MODEL_FROM_DATABASE=VT82C693 [Apollo Pro Plus] -@@ -29586,61 +29586,61 @@ pci:v00001106d00003038* - ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller - - pci:v00001106d00003038sv00000925sd00001234* -- ID_MODEL_FROM_DATABASE=VA-502 Mainboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VA-502 Mainboard) - - pci:v00001106d00003038sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (P6VXA Motherboard) - - pci:v00001106d00003038sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003038sv00001043sd00008080* -- ID_MODEL_FROM_DATABASE=A7V333 motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V333 motherboard) - - pci:v00001106d00003038sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=VT6202 USB2.0 4 port controller -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (VT6202 USB2.0 4 port controller) - - pci:v00001106d00003038sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V8X-X motherboard) - - pci:v00001106d00003038sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003038sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (Magnia Z310) - - pci:v00001106d00003038sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (GA-7VAX Mainboard) - - pci:v00001106d00003038sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003038sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T NEO 2 motherboard) - - pci:v00001106d00003038sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8T Neo2-F V2.0) - - pci:v00001106d00003038sv00001462sd00007120* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KT4AV motherboard) - - pci:v00001106d00003038sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K8MM3-V mainboard) - - pci:v00001106d00003038sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (KV8-MAX3 motherboard) - - pci:v00001106d00003038sv0000182Dsd0000201D* -- ID_MODEL_FROM_DATABASE=CN-029 USB2.0 4 port PCI Card -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (CN-029 USB2.0 4 port PCI Card) - - pci:v00001106d00003038sv00001849sd00003038* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (K7VT series Motherboards) - - pci:v00001106d00003038sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (ZBOX nano VD01) - - pci:v00001106d00003038sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=VT82xxxxx UHCI USB 1.1 Controller (QEMU Virtual Machine) - - pci:v00001106d00003040* - ID_MODEL_FROM_DATABASE=VT82C586B ACPI -@@ -29649,52 +29649,52 @@ pci:v00001106d00003043* - ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] - - pci:v00001106d00003043sv000010BDsd00000000* -- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) - - pci:v00001106d00003043sv00001106sd00000100* -- ID_MODEL_FROM_DATABASE=VT86C100A Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter) - - pci:v00001106d00003043sv00001186sd00001400* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev A -+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (DFE-530TX rev A) - - pci:v00001106d00003044* - ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller - - pci:v00001106d00003044sv00000010sd00000001* -- ID_MODEL_FROM_DATABASE=IEEE 1394 4port DCST 1394-3+1B -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (IEEE 1394 4port DCST 1394-3+1B) - - pci:v00001106d00003044sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (TravelMate 290) - - pci:v00001106d00003044sv0000103Csd00002A20* -- ID_MODEL_FROM_DATABASE=Pavilion t3030.de Desktop PC -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Pavilion t3030.de Desktop PC) - - pci:v00001106d00003044sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Media Center PC m7590n -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Media Center PC m7590n) - - pci:v00001106d00003044sv00001043sd0000808A* -- ID_MODEL_FROM_DATABASE=A8V/A8N/P4P800 series motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (A8V/A8N/P4P800 series motherboard) - - pci:v00001106d00003044sv00001043sd000081FE* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Motherboard) - - pci:v00001106d00003044sv00001458sd00001000* -- ID_MODEL_FROM_DATABASE=GA-7VT600-1394 Motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (GA-7VT600-1394 Motherboard) - - pci:v00001106d00003044sv00001462sd0000207D* -- ID_MODEL_FROM_DATABASE=K8NGM2 series motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8NGM2 series motherboard) - - pci:v00001106d00003044sv00001462sd0000217D* -- ID_MODEL_FROM_DATABASE=Aspire L250 -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (Aspire L250) - - pci:v00001106d00003044sv00001462sd0000590D* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003044sv00001462sd0000702D* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (K8T NEO 2 motherboard) - - pci:v00001106d00003044sv00001462sd0000971D* -- ID_MODEL_FROM_DATABASE=MS-6917 -+ ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (MS-6917) - - pci:v00001106d00003050* - ID_MODEL_FROM_DATABASE=VT82C596 Power Management -@@ -29709,205 +29709,205 @@ pci:v00001106d00003057* - ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] - - pci:v00001106d00003057sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (P6VXA Motherboard) - - pci:v00001106d00003057sv00001019sd00000987* -- ID_MODEL_FROM_DATABASE=K7VZA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (K7VZA Motherboard) - - pci:v00001106d00003057sv00001043sd00008033* -- ID_MODEL_FROM_DATABASE=A7V Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V Mainboard) - - pci:v00001106d00003057sv00001043sd0000803E* -- ID_MODEL_FROM_DATABASE=A7V-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V-E Mainboard) - - pci:v00001106d00003057sv00001043sd00008040* -- ID_MODEL_FROM_DATABASE=A7M266 Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7M266 Mainboard) - - pci:v00001106d00003057sv00001043sd00008042* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (A7V133/A7V133-C Mainboard) - - pci:v00001106d00003057sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI] (Magnia Z310) - - pci:v00001106d00003058* - ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller - - pci:v00001106d00003058sv00000E11sd00000097* -- ID_MODEL_FROM_DATABASE=SoundMax Digital Integrated Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (SoundMax Digital Integrated Audio) - - pci:v00001106d00003058sv00000E11sd0000B194* -- ID_MODEL_FROM_DATABASE=Soundmax integrated digital audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Soundmax integrated digital audio) - - pci:v00001106d00003058sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (P6VXA Motherboard) - - pci:v00001106d00003058sv00001019sd00000987* -- ID_MODEL_FROM_DATABASE=K7VZA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (K7VZA Motherboard) - - pci:v00001106d00003058sv0000103Csd00001251* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00001106d00003058sv00001043sd00001106* -- ID_MODEL_FROM_DATABASE=A7V133/A7V133-C Mainboard -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (A7V133/A7V133-C Mainboard) - - pci:v00001106d00003058sv00001106sd00004511* -- ID_MODEL_FROM_DATABASE=Onboard Audio on EP7KXA -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio on EP7KXA) - - pci:v00001106d00003058sv00001106sd0000AA03* -- ID_MODEL_FROM_DATABASE=VT1612A AC'97 Audio Controller -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (VT1612A AC'97 Audio Controller) - - pci:v00001106d00003058sv000011D4sd00005348* -- ID_MODEL_FROM_DATABASE=AD1881A audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (AD1881A audio) - - pci:v00001106d00003058sv00001458sd00007600* -- ID_MODEL_FROM_DATABASE=Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) - - pci:v00001106d00003058sv00001462sd00003091* -- ID_MODEL_FROM_DATABASE=MS-6309 Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 Onboard Audio) - - pci:v00001106d00003058sv00001462sd00003092* -- ID_MODEL_FROM_DATABASE=MS-6309 v2.x Mainboard (VIA VT1611A codec) -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6309 v2.x Mainboard (VIA VT1611A codec)) - - pci:v00001106d00003058sv00001462sd00003300* -- ID_MODEL_FROM_DATABASE=MS-6330 Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (MS-6330 Onboard Audio) - - pci:v00001106d00003058sv000015DDsd00007609* -- ID_MODEL_FROM_DATABASE=Onboard Audio -+ ID_MODEL_FROM_DATABASE=VT82C686 AC97 Audio Controller (Onboard Audio) - - pci:v00001106d00003059* - ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller - - pci:v00001106d00003059sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003059sv00001019sd00001877* -- ID_MODEL_FROM_DATABASE=K8M800-M2 (V2.0) onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8M800-M2 (V2.0) onboard audio) - - pci:v00001106d00003059sv00001043sd00008095* -- ID_MODEL_FROM_DATABASE=A7V8X Motherboard (Realtek ALC650 codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X Motherboard (Realtek ALC650 codec)) - - pci:v00001106d00003059sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V8X-X Motherboard) - - pci:v00001106d00003059sv00001043sd000080B0* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])) - - pci:v00001106d00003059sv00001043sd0000810D* -- ID_MODEL_FROM_DATABASE=Asus P5VD1-X (AD1888 codec [SoundMax]) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Asus P5VD1-X (AD1888 codec [SoundMax])) - - pci:v00001106d00003059sv00001043sd0000812A* -- ID_MODEL_FROM_DATABASE=A8V Deluxe motherboard (Realtek ALC850 codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (A8V Deluxe motherboard (Realtek ALC850 codec)) - - pci:v00001106d00003059sv000010ECsd00008168* -- ID_MODEL_FROM_DATABASE=High Definition Audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (High Definition Audio) - - pci:v00001106d00003059sv00001106sd00003059* -- ID_MODEL_FROM_DATABASE=L7VMM2 Motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (L7VMM2 Motherboard) - - pci:v00001106d00003059sv00001106sd00004161* -- ID_MODEL_FROM_DATABASE=K7VT2 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT2 motherboard) - - pci:v00001106d00003059sv00001106sd00004170* -- ID_MODEL_FROM_DATABASE=PCPartner P4M800-8237R Motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (PCPartner P4M800-8237R Motherboard) - - pci:v00001106d00003059sv00001106sd00004552* -- ID_MODEL_FROM_DATABASE=Soyo KT-600 Dragon Plus (Realtek ALC 650) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (Soyo KT-600 Dragon Plus (Realtek ALC 650)) - - pci:v00001106d00003059sv00001297sd0000C160* -- ID_MODEL_FROM_DATABASE=FX41 motherboard (Realtek ALC650 codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (FX41 motherboard (Realtek ALC650 codec)) - - pci:v00001106d00003059sv00001413sd0000147B* -- ID_MODEL_FROM_DATABASE=KV8 Pro motherboard onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8 Pro motherboard onboard audio) - - pci:v00001106d00003059sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-7VAX Onboard Audio (Realtek ALC650) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (GA-7VAX Onboard Audio (Realtek ALC650)) - - pci:v00001106d00003059sv00001462sd00000080* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8T NEO 2 motherboard) - - pci:v00001106d00003059sv00001462sd00003800* -- ID_MODEL_FROM_DATABASE=KT266 onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT266 onboard audio) - - pci:v00001106d00003059sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003059sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K8MM3-V mainboard) - - pci:v00001106d00003059sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (KV8-MAX3 motherboard) - - pci:v00001106d00003059sv00001695sd0000300C* -- ID_MODEL_FROM_DATABASE=EP-8KRA2+ Mainboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (EP-8KRA2+ Mainboard) - - pci:v00001106d00003059sv00001849sd00000850* -- ID_MODEL_FROM_DATABASE=ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (ASRock 775Dual-880 Pro onboard audio (Realtek ALC850)) - - pci:v00001106d00003059sv00001849sd00009739* -- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard (C-Media CMI9739A codec) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (P4VT8 Mainboard (C-Media CMI9739A codec)) - - pci:v00001106d00003059sv00001849sd00009761* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (K7VT series Motherboards) - - pci:v00001106d00003059sv00004005sd00004710* -- ID_MODEL_FROM_DATABASE=MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P)) - - pci:v00001106d00003059sv0000A0A0sd000001B6* -- ID_MODEL_FROM_DATABASE=AK77-8XN onboard audio -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK77-8XN onboard audio) - - pci:v00001106d00003059sv0000A0A0sd00000342* -- ID_MODEL_FROM_DATABASE=AK86-L motherboard -+ ID_MODEL_FROM_DATABASE=VT8233/A/8235/8237 AC97 Audio Controller (AK86-L motherboard) - - pci:v00001106d00003065* - ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] - - pci:v00001106d00003065sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X Motherboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V8X-X Motherboard) - - pci:v00001106d00003065sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600-X Motherboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (A7V600-X Motherboard) - - pci:v00001106d00003065sv00001106sd00000102* -- ID_MODEL_FROM_DATABASE=VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6102 [Rhine II] Embeded Ethernet Controller on VT8235) - - pci:v00001106d00003065sv00001186sd00001400* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev A -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev A) - - pci:v00001106d00003065sv00001186sd00001401* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev B -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (DFE-530TX rev B) - - pci:v00001106d00003065sv000013B9sd00001421* -- ID_MODEL_FROM_DATABASE=LD-10/100AL PCI Fast Ethernet Adapter (rev.B) -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (LD-10/100AL PCI Fast Ethernet Adapter (rev.B)) - - pci:v00001106d00003065sv00001462sd00007061* -- ID_MODEL_FROM_DATABASE=MS-7061 -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (MS-7061) - - pci:v00001106d00003065sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K8MM3-V mainboard) - - pci:v00001106d00003065sv0000147Bsd00001C09* -- ID_MODEL_FROM_DATABASE=NV7 Motherboard -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (NV7 Motherboard) - - pci:v00001106d00003065sv00001695sd00003005* -- ID_MODEL_FROM_DATABASE=VT6103 -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (VT6103) - - pci:v00001106d00003065sv00001695sd0000300C* -- ID_MODEL_FROM_DATABASE=Realtek ALC655 sound chip -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (Realtek ALC655 sound chip) - - pci:v00001106d00003065sv00001849sd00003065* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT6102 [Rhine-II] (K7VT series Motherboards) - - pci:v00001106d00003068* - ID_MODEL_FROM_DATABASE=AC'97 Modem Controller - - pci:v00001106d00003068sv00001462sd0000309E* -- ID_MODEL_FROM_DATABASE=MS-6309 Saturn Motherboard -+ ID_MODEL_FROM_DATABASE=AC'97 Modem Controller (MS-6309 Saturn Motherboard) - - pci:v00001106d00003074* - ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge - - pci:v00001106d00003074sv00001043sd00008052* -- ID_MODEL_FROM_DATABASE=VT8233A -+ ID_MODEL_FROM_DATABASE=VT8233 PCI to ISA Bridge (VT8233A) - - pci:v00001106d00003091* - ID_MODEL_FROM_DATABASE=VT8633 [Apollo Pro266] -@@ -29916,13 +29916,13 @@ pci:v00001106d00003099* - ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] - - pci:v00001106d00003099sv00001043sd00008064* -- ID_MODEL_FROM_DATABASE=A7V266-E Mainboard -+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V266-E Mainboard) - - pci:v00001106d00003099sv00001043sd0000807F* -- ID_MODEL_FROM_DATABASE=A7V333 Mainboard -+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (A7V333 Mainboard) - - pci:v00001106d00003099sv00001849sd00003099* -- ID_MODEL_FROM_DATABASE=K7VT2 motherboard -+ ID_MODEL_FROM_DATABASE=VT8366/A/7 [Apollo KT266/A/333] (K7VT2 motherboard) - - pci:v00001106d00003101* - ID_MODEL_FROM_DATABASE=VT8653 Host Bridge -@@ -29937,70 +29937,70 @@ pci:v00001106d00003104* - ID_MODEL_FROM_DATABASE=USB 2.0 - - pci:v00001106d00003104sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=USB 2.0 (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003104sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X motherboard) - - pci:v00001106d00003104sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard rev 1.01 -+ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V8X-X motherboard rev 1.01) - - pci:v00001106d00003104sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003104sv00001106sd00003104* -- ID_MODEL_FROM_DATABASE=USB 2.0 Controller -+ ID_MODEL_FROM_DATABASE=USB 2.0 (Controller) - - pci:v00001106d00003104sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (FX41 motherboard) - - pci:v00001106d00003104sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (GA-7VAX Mainboard) - - pci:v00001106d00003104sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=USB 2.0 (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003104sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T NEO 2 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T NEO 2 motherboard) - - pci:v00001106d00003104sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K8T Neo2-F V2.0) - - pci:v00001106d00003104sv00001462sd00007120* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (KT4AV motherboard) - - pci:v00001106d00003104sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K8MM3-V mainboard) - - pci:v00001106d00003104sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=USB 2.0 (KV8-MAX3 motherboard) - - pci:v00001106d00003104sv0000182Dsd0000201D* -- ID_MODEL_FROM_DATABASE=CN-029 USB 2.0 4 port PCI Card -+ ID_MODEL_FROM_DATABASE=USB 2.0 (CN-029 USB 2.0 4 port PCI Card) - - pci:v00001106d00003104sv00001849sd00003104* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=USB 2.0 (K7VT series Motherboards) - - pci:v00001106d00003104sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=USB 2.0 (ZBOX nano VD01) - - pci:v00001106d00003106* - ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] - - pci:v00001106d00003106sv00001106sd00000105* -- ID_MODEL_FROM_DATABASE=VT6106S [Rhine-III] -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (VT6106S [Rhine-III]) - - pci:v00001106d00003106sv00001186sd00001403* -- ID_MODEL_FROM_DATABASE=DFE-530TX rev C -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX rev C) - - pci:v00001106d00003106sv00001186sd00001405* -- ID_MODEL_FROM_DATABASE=DFE-520TX Fast Ethernet PCI Adapter -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-520TX Fast Ethernet PCI Adapter) - - pci:v00001106d00003106sv00001186sd00001406* -- ID_MODEL_FROM_DATABASE=DFE-530TX+ rev F2 -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX+ rev F2) - - pci:v00001106d00003106sv00001186sd00001407* -- ID_MODEL_FROM_DATABASE=DFE-538TX -+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-538TX) - - pci:v00001106d00003108* - ID_MODEL_FROM_DATABASE=K8M800/K8N800/K8N800A [S3 UniChrome Pro] -@@ -30018,7 +30018,7 @@ pci:v00001106d00003116* - ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge - - pci:v00001106d00003116sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=VT8375 [KM266/KL266] Host Bridge (FX41 motherboard) - - pci:v00001106d00003118* - ID_MODEL_FROM_DATABASE=CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] -@@ -30045,7 +30045,7 @@ pci:v00001106d00003147* - ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge - - pci:v00001106d00003147sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V333 motherboard -+ ID_MODEL_FROM_DATABASE=VT8233A ISA Bridge (A7V333 motherboard) - - pci:v00001106d00003148* - ID_MODEL_FROM_DATABASE=P4M266 Host Bridge -@@ -30054,34 +30054,34 @@ pci:v00001106d00003149* - ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller - - pci:v00001106d00003149sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003149sv00001458sd0000B003* -- ID_MODEL_FROM_DATABASE=GA-7VM400AM(F) Motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (GA-7VM400AM(F) Motherboard) - - pci:v00001106d00003149sv00001462sd00005901* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KT6 Delta-FIS2R (MS-6590)) - - pci:v00001106d00003149sv00001462sd00007020* -- ID_MODEL_FROM_DATABASE=K8T Neo 2 Motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo 2 Motherboard) - - pci:v00001106d00003149sv00001462sd00007094* -- ID_MODEL_FROM_DATABASE=K8T Neo2-F V2.0 -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8T Neo2-F V2.0) - - pci:v00001106d00003149sv00001462sd00007181* -- ID_MODEL_FROM_DATABASE=K8MM3-V mainboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K8MM3-V mainboard) - - pci:v00001106d00003149sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV8-MAX3 motherboard) - - pci:v00001106d00003149sv0000147Bsd00001408* -- ID_MODEL_FROM_DATABASE=KV7 -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (KV7) - - pci:v00001106d00003149sv00001849sd00003149* -- ID_MODEL_FROM_DATABASE=K7VT6 motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (K7VT6 motherboard) - - pci:v00001106d00003149sv0000A0A0sd000004AD* -- ID_MODEL_FROM_DATABASE=AK86-L motherboard -+ ID_MODEL_FROM_DATABASE=VIA VT6420 SATA RAID Controller (AK86-L motherboard) - - pci:v00001106d00003156* - ID_MODEL_FROM_DATABASE=P/KN266 Host Bridge -@@ -30093,40 +30093,40 @@ pci:v00001106d00003164* - ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller - - pci:v00001106d00003164sv00001043sd000080F4* -- ID_MODEL_FROM_DATABASE=P4P800 Mainboard Deluxe ATX -+ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (P4P800 Mainboard Deluxe ATX) - - pci:v00001106d00003164sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=VT6410 ATA133 RAID controller (915P/G Neo2) - - pci:v00001106d00003168* - ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge - - pci:v00001106d00003168sv00001849sd00003168* -- ID_MODEL_FROM_DATABASE=P4VT8 Mainboard -+ ID_MODEL_FROM_DATABASE=P4X333/P4X400/PT800 AGP Bridge (P4VT8 Mainboard) - - pci:v00001106d00003177* - ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge - - pci:v00001106d00003177sv00001019sd00000A81* -- ID_MODEL_FROM_DATABASE=L7VTA v1.0 Motherboard (KT400-8235) -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (L7VTA v1.0 Motherboard (KT400-8235)) - - pci:v00001106d00003177sv00001043sd0000808C* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X motherboard) - - pci:v00001106d00003177sv00001043sd000080A1* -- ID_MODEL_FROM_DATABASE=A7V8X-X motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (A7V8X-X motherboard) - - pci:v00001106d00003177sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (KT4AV motherboard) - - pci:v00001106d00003177sv00001297sd0000F641* -- ID_MODEL_FROM_DATABASE=FX41 motherboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (FX41 motherboard) - - pci:v00001106d00003177sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (GA-7VAX Mainboard) - - pci:v00001106d00003177sv00001849sd00003177* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT8235 ISA Bridge (K7VT series Motherboards) - - pci:v00001106d00003178* - ID_MODEL_FROM_DATABASE=ProSavageDDR P4N333 Host Bridge -@@ -30135,25 +30135,25 @@ pci:v00001106d00003188* - ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge - - pci:v00001106d00003188sv00001043sd000080A3* -- ID_MODEL_FROM_DATABASE=K8V Deluxe/K8V-X motherboard -+ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (K8V Deluxe/K8V-X motherboard) - - pci:v00001106d00003188sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8385 [K8T800 AGP] Host Bridge (KV8-MAX3 motherboard) - - pci:v00001106d00003189* - ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge - - pci:v00001106d00003189sv00001043sd0000807F* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (A7V8X motherboard) - - pci:v00001106d00003189sv00001106sd00000000* -- ID_MODEL_FROM_DATABASE=KT4AV motherboard (KT400A) -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (KT4AV motherboard (KT400A)) - - pci:v00001106d00003189sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-7VAX Mainboard -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (GA-7VAX Mainboard) - - pci:v00001106d00003189sv00001849sd00003189* -- ID_MODEL_FROM_DATABASE=K7VT series Motherboards -+ ID_MODEL_FROM_DATABASE=VT8377 [KT400/KT600 AGP] Host Bridge (K7VT series Motherboards) - - pci:v00001106d00003204* - ID_MODEL_FROM_DATABASE=K8M800 Host Bridge -@@ -30162,7 +30162,7 @@ pci:v00001106d00003205* - ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge - - pci:v00001106d00003205sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-7VM400M Motherboard -+ ID_MODEL_FROM_DATABASE=VT8378 [KM400/A] Chipset Host Bridge (GA-7VM400M Motherboard) - - pci:v00001106d00003208* - ID_MODEL_FROM_DATABASE=PT890 Host Bridge -@@ -30177,19 +30177,19 @@ pci:v00001106d00003227* - ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] - - pci:v00001106d00003227sv00001043sd000080ED* -- ID_MODEL_FROM_DATABASE=A7V600/K8V-X/A8V Deluxe motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (A7V600/K8V-X/A8V Deluxe motherboard) - - pci:v00001106d00003227sv00001106sd00003227* -- ID_MODEL_FROM_DATABASE=DFI KT600-AL / Soltek SL-B9D-FGR Motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (DFI KT600-AL / Soltek SL-B9D-FGR Motherboard) - - pci:v00001106d00003227sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-7VT600 Motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (GA-7VT600 Motherboard) - - pci:v00001106d00003227sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (KV8-MAX3 motherboard) - - pci:v00001106d00003227sv00001849sd00003227* -- ID_MODEL_FROM_DATABASE=K7VT4 motherboard -+ ID_MODEL_FROM_DATABASE=VT8237 ISA bridge [KT600/K8T800/K8T890 South] (K7VT4 motherboard) - - pci:v00001106d00003230* - ID_MODEL_FROM_DATABASE=K8M890CE/K8N890CE [Chrome 9] -@@ -30237,7 +30237,7 @@ pci:v00001106d00003288* - ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller - - pci:v00001106d00003288sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX VD01 -+ ID_MODEL_FROM_DATABASE=VT8237A/VT8251 HDA Controller (ZBOX VD01) - - pci:v00001106d00003290* - ID_MODEL_FROM_DATABASE=K8M890 Host Bridge -@@ -30294,10 +30294,10 @@ pci:v00001106d00003403* - ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller - - pci:v00001106d00003403sv00001043sd00008374* -- ID_MODEL_FROM_DATABASE=M5A88-V EVO -+ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (M5A88-V EVO) - - pci:v00001106d00003403sv00001043sd00008384* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=VT6315 Series Firewire Controller (P8P67 Deluxe Motherboard) - - pci:v00001106d00003409* - ID_MODEL_FROM_DATABASE=VX855/VX875 DRAM Bus Control -@@ -30306,7 +30306,7 @@ pci:v00001106d00003410* - ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control - - pci:v00001106d00003410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 DRAM Bus Control (ZBOX nano VD01) - - pci:v00001106d00003432* - ID_MODEL_FROM_DATABASE=VL80x xHCI USB 3.0 Controller -@@ -30378,7 +30378,7 @@ pci:v00001106d00004410* - ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control - - pci:v00001106d00004410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 Power Management and Chip Testing Control (ZBOX nano VD01) - - pci:v00001106d00005030* - ID_MODEL_FROM_DATABASE=VT82C596 ACPI [Apollo PRO] -@@ -30456,7 +30456,7 @@ pci:v00001106d00006410* - ID_MODEL_FROM_DATABASE=VX900 Scratch Registers - - pci:v00001106d00006410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 Scratch Registers (ZBOX nano VD01) - - pci:v00001106d00007122* - ID_MODEL_FROM_DATABASE=VX900 Graphics [Chrome9 HD] -@@ -30468,10 +30468,10 @@ pci:v00001106d00007205* - ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] - - pci:v00001106d00007205sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=Gigabyte GA-7VM400(A)M(F) Motherboard -+ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (Gigabyte GA-7VM400(A)M(F) Motherboard) - - pci:v00001106d00007205sv00001462sd00007061* -- ID_MODEL_FROM_DATABASE=MS-7061 -+ ID_MODEL_FROM_DATABASE=KM400/KN400/P4M800 [S3 UniChrome] (MS-7061) - - pci:v00001106d00007208* - ID_MODEL_FROM_DATABASE=PT890 Host Bridge -@@ -30534,7 +30534,7 @@ pci:v00001106d00007410* - ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control - - pci:v00001106d00007410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX nano VD01 -+ ID_MODEL_FROM_DATABASE=VX900 North-South Module Interface Control (ZBOX nano VD01) - - pci:v00001106d00008231* - ID_MODEL_FROM_DATABASE=VT8231 [PCI-to-ISA Bridge] -@@ -30564,7 +30564,7 @@ pci:v00001106d00008410* - ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management - - pci:v00001106d00008410sv000019DAsd0000A179* -- ID_MODEL_FROM_DATABASE=ZBOX VD01 -+ ID_MODEL_FROM_DATABASE=VX900 Bus Control and Power Management (ZBOX VD01) - - pci:v00001106d00008500* - ID_MODEL_FROM_DATABASE=KLE133/PLE133/PLE133T -@@ -30582,7 +30582,7 @@ pci:v00001106d00008598* - ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] - - pci:v00001106d00008598sv00001019sd00000985* -- ID_MODEL_FROM_DATABASE=P6VXA Motherboard -+ ID_MODEL_FROM_DATABASE=VT82C598/694x [Apollo MVP3/Pro133x AGP] (P6VXA Motherboard) - - pci:v00001106d00008601* - ID_MODEL_FROM_DATABASE=VT8601 [Apollo ProMedia AGP] -@@ -30669,7 +30669,7 @@ pci:v00001106d0000B188* - ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] - - pci:v00001106d0000B188sv0000147Bsd00001407* -- ID_MODEL_FROM_DATABASE=KV8-MAX3 motherboard -+ ID_MODEL_FROM_DATABASE=VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] (KV8-MAX3 motherboard) - - pci:v00001106d0000B198* - ID_MODEL_FROM_DATABASE=VT8237/VX700 PCI Bridge -@@ -30846,7 +30846,7 @@ pci:v0000110Ad00004029sv0000110Asd00004029* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 - - pci:v0000110Ad00004029sv0000110Asd0000C029* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5614 A2 -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5613 A2 (SIMATIC NET CP 5614 A2) - - pci:v0000110Ad00004035* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1613 A2 -@@ -30864,7 +30864,7 @@ pci:v0000110Ad00004069sv0000110Asd00004069* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 - - pci:v0000110Ad00004069sv0000110Asd0000C069* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5624 -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5623 (SIMATIC NET CP 5624) - - pci:v0000110Ad0000407C* - ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5612 -@@ -30942,25 +30942,25 @@ pci:v00001113d00001211* - ID_MODEL_FROM_DATABASE=SMC2-1211TX - - pci:v00001113d00001211sv0000103Csd00001207* -- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) - - pci:v00001113d00001211sv00001113sd00001211* -- ID_MODEL_FROM_DATABASE=EN-1207D Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SMC2-1211TX (EN-1207D Fast Ethernet Adapter) - - pci:v00001113d00001216* - ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter - - pci:v00001113d00001216sv00001113sd00001216* -- ID_MODEL_FROM_DATABASE=EN1207F series PCI Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN1207F series PCI Fast Ethernet Adapter) - - pci:v00001113d00001216sv00001113sd00002220* -- ID_MODEL_FROM_DATABASE=EN2220A Cardbus Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2220A Cardbus Fast Ethernet Adapter) - - pci:v00001113d00001216sv00001113sd00002242* -- ID_MODEL_FROM_DATABASE=EN2242 10/100 Ethernet Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (EN2242 10/100 Ethernet Mini-PCI Card) - - pci:v00001113d00001216sv0000111Asd00001020* -- ID_MODEL_FROM_DATABASE=SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] -+ ID_MODEL_FROM_DATABASE=EN-1216 Ethernet Adapter (SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?]) - - pci:v00001113d00001217* - ID_MODEL_FROM_DATABASE=EN-1217 Ethernet Adapter -@@ -31272,37 +31272,37 @@ pci:v0000111Ad00000003* - ID_MODEL_FROM_DATABASE=ENI-25P ATM - - pci:v0000111Ad00000003sv0000111Asd00000000* -- ID_MODEL_FROM_DATABASE=ENI-25p Miniport ATM Adapter -+ ID_MODEL_FROM_DATABASE=ENI-25P ATM (ENI-25p Miniport ATM Adapter) - - pci:v0000111Ad00000005* - ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) - - pci:v0000111Ad00000005sv0000111Asd00000001* -- ID_MODEL_FROM_DATABASE=ENI-3010 ATM -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) - - pci:v0000111Ad00000005sv0000111Asd00000009* -- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0)) - - pci:v0000111Ad00000005sv0000111Asd00000101* -- ID_MODEL_FROM_DATABASE=ENI-3010 ATM -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3010 ATM) - - pci:v0000111Ad00000005sv0000111Asd00000109* -- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0)) - - pci:v0000111Ad00000005sv0000111Asd00000809* -- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=0 or 8) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=0 or 8)) - - pci:v0000111Ad00000005sv0000111Asd00000909* -- ID_MODEL_FROM_DATABASE=ENI-3060CO ADSL (VPI=0 or 8) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060CO ADSL (VPI=0 or 8)) - - pci:v0000111Ad00000005sv0000111Asd00000A09* -- ID_MODEL_FROM_DATABASE=ENI-3060 ADSL (VPI=<0..15>) -+ ID_MODEL_FROM_DATABASE=SpeedStream (LANAI) (ENI-3060 ADSL (VPI=<0..15>)) - - pci:v0000111Ad00000007* - ID_MODEL_FROM_DATABASE=SpeedStream ADSL - - pci:v0000111Ad00000007sv0000111Asd00001001* -- ID_MODEL_FROM_DATABASE=ENI-3061 ADSL [ASIC] -+ ID_MODEL_FROM_DATABASE=SpeedStream ADSL (ENI-3061 ADSL [ASIC]) - - pci:v0000111Ad00001020* - ID_MODEL_FROM_DATABASE=SpeedStream PCI 10/100 Network Card -@@ -31446,7 +31446,7 @@ pci:v0000111Dd0000806A* - ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch - - pci:v0000111Dd0000806Asv000014C1sd0000000C* -- ID_MODEL_FROM_DATABASE=10G-PCIE2-8B2 -+ ID_MODEL_FROM_DATABASE=PES24T3G2 PCI Express Gen2 Switch (10G-PCIE2-8B2) - - pci:v0000111Dd0000806C* - ID_MODEL_FROM_DATABASE=PES16T4A/4T4G2 PCI Express Gen2 Switch -@@ -31515,7 +31515,7 @@ pci:v00001127d00000400* - ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter - - pci:v00001127d00000400sv00001127sd00000400* -- ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM -+ ID_MODEL_FROM_DATABASE=ForeRunnerHE ATM Adapter (ForeRunnerHE ATM) - - pci:v00001129* - ID_VENDOR_FROM_DATABASE=Firmworks -@@ -31557,13 +31557,13 @@ pci:v00001131d00001561* - ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller - - pci:v00001131d00001561sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K onboard USB 1.1 host controller -+ ID_MODEL_FROM_DATABASE=USB 1.1 Host Controller (C2K onboard USB 1.1 host controller) - - pci:v00001131d00001562* - ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller - - pci:v00001131d00001562sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K onboard USB 2.0 host controller -+ ID_MODEL_FROM_DATABASE=USB 2.0 Host Controller (C2K onboard USB 2.0 host controller) - - pci:v00001131d00003400* - ID_MODEL_FROM_DATABASE=SmartPCI56(UCB1500) 56K Modem -@@ -31572,49 +31572,49 @@ pci:v00001131d00005400* - ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 - - pci:v00001131d00005400sv000012CAsd00000000* -- ID_MODEL_FROM_DATABASE=BlueICE -+ ID_MODEL_FROM_DATABASE=TriMedia TM1000/1100 (BlueICE) - - pci:v00001131d00005402* - ID_MODEL_FROM_DATABASE=TriMedia TM1300 - - pci:v00001131d00005402sv00001244sd00000F00* -- ID_MODEL_FROM_DATABASE=Fritz!Card DSL -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (Fritz!Card DSL) - - pci:v00001131d00005402sv000015EBsd00001300* -- ID_MODEL_FROM_DATABASE=DT1300 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1300) - - pci:v00001131d00005402sv000015EBsd00001302* -- ID_MODEL_FROM_DATABASE=DT1302 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1302) - - pci:v00001131d00005402sv000015EBsd00001304* -- ID_MODEL_FROM_DATABASE=DT1304 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1304) - - pci:v00001131d00005402sv000015EBsd00001305* -- ID_MODEL_FROM_DATABASE=DT1305 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1305) - - pci:v00001131d00005402sv000015EBsd00001306* -- ID_MODEL_FROM_DATABASE=PMCDT1306 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PMCDT1306) - - pci:v00001131d00005402sv000015EBsd00001308* -- ID_MODEL_FROM_DATABASE=DT1308 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1308) - - pci:v00001131d00005402sv000015EBsd00001331* -- ID_MODEL_FROM_DATABASE=DT1301 with SAA7121 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7121) - - pci:v00001131d00005402sv000015EBsd00001337* -- ID_MODEL_FROM_DATABASE=DT1301 with SAA7127 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (DT1301 with SAA7127) - - pci:v00001131d00005402sv000015EBsd00002D3D* -- ID_MODEL_FROM_DATABASE=X3D -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (X3D) - - pci:v00001131d00005402sv000015EBsd00007022* -- ID_MODEL_FROM_DATABASE=PTM1300 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1300 (PTM1300) - - pci:v00001131d00005405* - ID_MODEL_FROM_DATABASE=TriMedia TM1500 - - pci:v00001131d00005405sv00001136sd00000005* -- ID_MODEL_FROM_DATABASE=LCP-1500 -+ ID_MODEL_FROM_DATABASE=TriMedia TM1500 (LCP-1500) - - pci:v00001131d00005406* - ID_MODEL_FROM_DATABASE=TriMedia TM1700 -@@ -31623,409 +31623,409 @@ pci:v00001131d0000540B* - ID_MODEL_FROM_DATABASE=PNX1005 Media Processor - - pci:v00001131d0000540Bsv00001131sd00000020* -- ID_MODEL_FROM_DATABASE=PNXLite PCI Demo Board -+ ID_MODEL_FROM_DATABASE=PNX1005 Media Processor (PNXLite PCI Demo Board) - - pci:v00001131d00007130* - ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder - - pci:v00001131d00007130sv00000000sd00004016* -- ID_MODEL_FROM_DATABASE=Behold TV 401 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 401) - - pci:v00001131d00007130sv00000000sd00004051* -- ID_MODEL_FROM_DATABASE=Behold TV 405 FM -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 405 FM) - - pci:v00001131d00007130sv00000000sd00005051* -- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) - - pci:v00001131d00007130sv00000000sd0000505B* -- ID_MODEL_FROM_DATABASE=Behold TV 505 RDS -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 RDS) - - pci:v00001131d00007130sv0000102Bsd000048D0* -- ID_MODEL_FROM_DATABASE=Matrox CronosPlus -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Matrox CronosPlus) - - pci:v00001131d00007130sv00001048sd0000226B* -- ID_MODEL_FROM_DATABASE=ELSA EX-VISION 300TV -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (ELSA EX-VISION 300TV) - - pci:v00001131d00007130sv0000107Dsd00006655* -- ID_MODEL_FROM_DATABASE=WinFast DTV1000S -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (WinFast DTV1000S) - - pci:v00001131d00007130sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=SAA7130-based TV tuner card -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (SAA7130-based TV tuner card) - - pci:v00001131d00007130sv00001131sd00002001* -- ID_MODEL_FROM_DATABASE=10MOONS PCI TV CAPTURE CARD -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (10MOONS PCI TV CAPTURE CARD) - - pci:v00001131d00007130sv00001131sd00002005* -- ID_MODEL_FROM_DATABASE=Techcom (India) TV Tuner Card (SSD-TV-670) -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Techcom (India) TV Tuner Card (SSD-TV-670)) - - pci:v00001131d00007130sv00001458sd00009006* -- ID_MODEL_FROM_DATABASE=GT-PS700 DVB-S tuner -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (GT-PS700 DVB-S tuner) - - pci:v00001131d00007130sv00001461sd0000050C* -- ID_MODEL_FROM_DATABASE=Nagase Sangyo TransGear 3000TV -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Nagase Sangyo TransGear 3000TV) - - pci:v00001131d00007130sv00001461sd000010FF* -- ID_MODEL_FROM_DATABASE=AVerMedia DVD EZMaker -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AVerMedia DVD EZMaker) - - pci:v00001131d00007130sv00001461sd00002108* -- ID_MODEL_FROM_DATABASE=AverMedia AverTV/305 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV/305) - - pci:v00001131d00007130sv00001461sd00002115* -- ID_MODEL_FROM_DATABASE=AverMedia AverTV Studio 305 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (AverMedia AverTV Studio 305) - - pci:v00001131d00007130sv0000153Bsd00001152* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 200 TV -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Terratec Cinergy 200 TV) - - pci:v00001131d00007130sv0000185Bsd0000C100* -- ID_MODEL_FROM_DATABASE=Compro VideoMate TV PVR/FM -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Compro VideoMate TV PVR/FM) - - pci:v00001131d00007130sv0000185Bsd0000C901* -- ID_MODEL_FROM_DATABASE=Videomate DVB-T200 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Videomate DVB-T200) - - pci:v00001131d00007130sv00005168sd00000138* -- ID_MODEL_FROM_DATABASE=LifeView FlyVIDEO2000 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (LifeView FlyVIDEO2000) - - pci:v00001131d00007130sv00005ACEsd00005010* -- ID_MODEL_FROM_DATABASE=Behold TV 501 -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 501) - - pci:v00001131d00007130sv00005ACEsd00005050* -- ID_MODEL_FROM_DATABASE=Behold TV 505 FM -+ ID_MODEL_FROM_DATABASE=SAA7130 Video Broadcast Decoder (Behold TV 505 FM) - - pci:v00001131d00007133* - ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder - - pci:v00001131d00007133sv00000000sd00004091* -- ID_MODEL_FROM_DATABASE=Beholder BeholdTV 409 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Beholder BeholdTV 409 FM) - - pci:v00001131d00007133sv00000000sd00005071* -- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) - - pci:v00001131d00007133sv00000000sd0000507B* -- ID_MODEL_FROM_DATABASE=Behold TV 507 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 507 RDS) - - pci:v00001131d00007133sv00000000sd00005201* -- ID_MODEL_FROM_DATABASE=Behold TV Columbus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV Columbus) - - pci:v00001131d00007133sv00000070sd00006701* -- ID_MODEL_FROM_DATABASE=WinTV HVR-1110 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (WinTV HVR-1110) - - pci:v00001131d00007133sv00001019sd00004CB5* -- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)) - - pci:v00001131d00007133sv00001043sd00000210* -- ID_MODEL_FROM_DATABASE=FlyTV mini Asus Digimatrix -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (FlyTV mini Asus Digimatrix) - - pci:v00001131d00007133sv00001043sd00004843* -- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7133 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ASUS TV-FM 7133) - - pci:v00001131d00007133sv00001043sd00004845* -- ID_MODEL_FROM_DATABASE=TV-FM 7135 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV-FM 7135) - - pci:v00001131d00007133sv00001043sd00004862* -- ID_MODEL_FROM_DATABASE=P7131 Dual -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (P7131 Dual) - - pci:v00001131d00007133sv00001043sd00004876* -- ID_MODEL_FROM_DATABASE=My Cinema-P7131 Hybrid -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (My Cinema-P7131 Hybrid) - - pci:v00001131d00007133sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (SAA713x-based TV tuner card) - - pci:v00001131d00007133sv00001131sd00002001* -- ID_MODEL_FROM_DATABASE=Proteus Pro [philips reference design] -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Proteus Pro [philips reference design]) - - pci:v00001131d00007133sv00001131sd00002018* -- ID_MODEL_FROM_DATABASE=Tiger reference design -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Tiger reference design) - - pci:v00001131d00007133sv00001131sd00004EE9* -- ID_MODEL_FROM_DATABASE=MonsterTV Mobile -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (MonsterTV Mobile) - - pci:v00001131d00007133sv00001131sd00007133* -- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 301i -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Pinnacle PCTV 301i) - - pci:v00001131d00007133sv000011BDsd0000002B* -- ID_MODEL_FROM_DATABASE=PCTV Stereo -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV Stereo) - - pci:v00001131d00007133sv000011BDsd0000002E* -- ID_MODEL_FROM_DATABASE=PCTV 110i (saa7133) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PCTV 110i (saa7133)) - - pci:v00001131d00007133sv000012ABsd00000800* -- ID_MODEL_FROM_DATABASE=PURPLE TV -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PURPLE TV) - - pci:v00001131d00007133sv000013C2sd00002804* -- ID_MODEL_FROM_DATABASE=Technotrend Budget T-3000 Hybrid -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Technotrend Budget T-3000 Hybrid) - - pci:v00001131d00007133sv00001421sd00000335* -- ID_MODEL_FROM_DATABASE=Instant TV DVB-T Cardbus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV DVB-T Cardbus) - - pci:v00001131d00007133sv00001421sd00001370* -- ID_MODEL_FROM_DATABASE=Instant TV (saa7135) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Instant TV (saa7135)) - - pci:v00001131d00007133sv00001435sd00007330* -- ID_MODEL_FROM_DATABASE=VFG7330 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7330) - - pci:v00001131d00007133sv00001435sd00007350* -- ID_MODEL_FROM_DATABASE=VFG7350 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VFG7350) - - pci:v00001131d00007133sv00001458sd00009001* -- ID_MODEL_FROM_DATABASE=GC-PTV-TAF Hybrid TV card -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GC-PTV-TAF Hybrid TV card) - - pci:v00001131d00007133sv00001458sd00009002* -- ID_MODEL_FROM_DATABASE=GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009003* -- ID_MODEL_FROM_DATABASE=GT-PTV-AF-RH Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-PTV-AF-RH Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009004* -- ID_MODEL_FROM_DATABASE=GT-P8000 DVB-T/Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P8000 DVB-T/Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009005* -- ID_MODEL_FROM_DATABASE=GT-P6000 Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P6000 Analog TV/FM tuner) - - pci:v00001131d00007133sv00001458sd00009008* -- ID_MODEL_FROM_DATABASE=GT-P5100 Analog TV tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (GT-P5100 Analog TV tuner) - - pci:v00001131d00007133sv00001461sd00001044* -- ID_MODEL_FROM_DATABASE=AVerTVHD MCE A180 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTVHD MCE A180) - - pci:v00001131d00007133sv00001461sd00004836* -- ID_MODEL_FROM_DATABASE=M10D Hybrid DVBT -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M10D Hybrid DVBT) - - pci:v00001131d00007133sv00001461sd0000861E* -- ID_MODEL_FROM_DATABASE=M105 PAL/SECAM/NTSC/FM Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M105 PAL/SECAM/NTSC/FM Tuner) - - pci:v00001131d00007133sv00001461sd0000A14B* -- ID_MODEL_FROM_DATABASE=AVerTV Studio 509 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (AVerTV Studio 509) - - pci:v00001131d00007133sv00001461sd0000A836* -- ID_MODEL_FROM_DATABASE=M115 DVB-T, PAL/SECAM/NTSC Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (M115 DVB-T, PAL/SECAM/NTSC Tuner) - - pci:v00001131d00007133sv00001461sd0000F01D* -- ID_MODEL_FROM_DATABASE=DVB-T Super 007 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (DVB-T Super 007) - - pci:v00001131d00007133sv00001461sd0000F31F* -- ID_MODEL_FROM_DATABASE=Avermedia AVerTV GO 007 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Avermedia AVerTV GO 007 FM) - - pci:v00001131d00007133sv00001461sd0000F936* -- ID_MODEL_FROM_DATABASE=Hybrid+FM PCI (rev A16D) -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Hybrid+FM PCI (rev A16D)) - - pci:v00001131d00007133sv00001462sd00006231* -- ID_MODEL_FROM_DATABASE=TV@nywhere Plus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (TV@nywhere Plus) - - pci:v00001131d00007133sv00001489sd00000214* -- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum FM) - - pci:v00001131d00007133sv000014C0sd00001212* -- ID_MODEL_FROM_DATABASE=LifeView FlyTV Platinum Mini2 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV Platinum Mini2) - - pci:v00001131d00007133sv0000153Bsd00001160* -- ID_MODEL_FROM_DATABASE=Cinergy 250 PCI TV -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Cinergy 250 PCI TV) - - pci:v00001131d00007133sv0000153Bsd00001162* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 mobile -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Terratec Cinergy 400 mobile) - - pci:v00001131d00007133sv000017DEsd00007256* -- ID_MODEL_FROM_DATABASE=PlusTV All In One PI610 card -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (PlusTV All In One PI610 card) - - pci:v00001131d00007133sv000017DEsd00007350* -- ID_MODEL_FROM_DATABASE=ATSC 110 Digital / Analog HDTV Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 110 Digital / Analog HDTV Tuner) - - pci:v00001131d00007133sv000017DEsd00007352* -- ID_MODEL_FROM_DATABASE=ATSC 115 Digital / Analog HDTV Tuner -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (ATSC 115 Digital / Analog HDTV Tuner) - - pci:v00001131d00007133sv0000185Bsd0000C100* -- ID_MODEL_FROM_DATABASE=VideoMate TV -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate TV) - - pci:v00001131d00007133sv0000185Bsd0000C900* -- ID_MODEL_FROM_DATABASE=VideoMate T750 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (VideoMate T750) - - pci:v00001131d00007133sv00005168sd00000306* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T DUO -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T DUO) - - pci:v00001131d00007133sv00005168sd00000319* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio) - - pci:v00001131d00007133sv00005168sd00000502* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Duo CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Duo CardBus) - - pci:v00001131d00007133sv00005168sd00000520* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio CardBus) - - pci:v00001131d00007133sv00005168sd00001502* -- ID_MODEL_FROM_DATABASE=LifeView FlyTV CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyTV CardBus) - - pci:v00001131d00007133sv00005168sd00002502* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T CardBus) - - pci:v00001131d00007133sv00005168sd00002520* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-S Duo CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-S Duo CardBus) - - pci:v00001131d00007133sv00005168sd00003502* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB-T Hybrid CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB-T Hybrid CardBus) - - pci:v00001131d00007133sv00005168sd00003520* -- ID_MODEL_FROM_DATABASE=LifeView FlyDVB Trio N CardBus -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (LifeView FlyDVB Trio N CardBus) - - pci:v00001131d00007133sv00005ACEsd00005030* -- ID_MODEL_FROM_DATABASE=Behold TV 503 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 503 FM) - - pci:v00001131d00007133sv00005ACEsd00005090* -- ID_MODEL_FROM_DATABASE=Behold TV 509 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 509 FM) - - pci:v00001131d00007133sv00005ACEsd00006090* -- ID_MODEL_FROM_DATABASE=Behold TV 609 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) - - pci:v00001131d00007133sv00005ACEsd00006091* -- ID_MODEL_FROM_DATABASE=Behold TV 609 FM -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 FM) - - pci:v00001131d00007133sv00005ACEsd00006092* -- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) - - pci:v00001131d00007133sv00005ACEsd00006093* -- ID_MODEL_FROM_DATABASE=Behold TV 609 RDS -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV 609 RDS) - - pci:v00001131d00007133sv00005ACEsd00006190* -- ID_MODEL_FROM_DATABASE=Behold TV M6 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6) - - pci:v00001131d00007133sv00005ACEsd00006191* -- ID_MODEL_FROM_DATABASE=Behold TV M63 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M63) - - pci:v00001131d00007133sv00005ACEsd00006193* -- ID_MODEL_FROM_DATABASE=Behold TV M6 Extra -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV M6 Extra) - - pci:v00001131d00007133sv00005ACEsd00006290* -- ID_MODEL_FROM_DATABASE=Behold TV H6 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H6) - - pci:v00001131d00007133sv00005ACEsd00007090* -- ID_MODEL_FROM_DATABASE=Behold TV A7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV A7) - - pci:v00001131d00007133sv00005ACEsd00007150* -- ID_MODEL_FROM_DATABASE=Behold TV H75 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) - - pci:v00001131d00007133sv00005ACEsd00007151* -- ID_MODEL_FROM_DATABASE=Behold TV H75 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H75) - - pci:v00001131d00007133sv00005ACEsd00007190* -- ID_MODEL_FROM_DATABASE=Behold TV H7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) - - pci:v00001131d00007133sv00005ACEsd00007191* -- ID_MODEL_FROM_DATABASE=Behold TV H7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV H7) - - pci:v00001131d00007133sv00005ACEsd00007290* -- ID_MODEL_FROM_DATABASE=Behold TV T7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV T7) - - pci:v00001131d00007133sv00005ACEsd00007591* -- ID_MODEL_FROM_DATABASE=Behold TV X7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) - - pci:v00001131d00007133sv00005ACEsd00007595* -- ID_MODEL_FROM_DATABASE=Behold TV X7 -+ ID_MODEL_FROM_DATABASE=SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Behold TV X7) - - pci:v00001131d00007134* - ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder - - pci:v00001131d00007134sv00000000sd00004036* -- ID_MODEL_FROM_DATABASE=Behold TV 403 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403) - - pci:v00001131d00007134sv00000000sd00004037* -- ID_MODEL_FROM_DATABASE=Behold TV 403 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 403 FM) - - pci:v00001131d00007134sv00000000sd00004071* -- ID_MODEL_FROM_DATABASE=Behold TV 407 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 407 FM) - - pci:v00001131d00007134sv00001019sd00004CB4* -- ID_MODEL_FROM_DATABASE=Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)) - - pci:v00001131d00007134sv00001043sd00000210* -- ID_MODEL_FROM_DATABASE=Digimatrix TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Digimatrix TV) - - pci:v00001131d00007134sv00001043sd00004840* -- ID_MODEL_FROM_DATABASE=ASUS TV-FM 7134 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ASUS TV-FM 7134) - - pci:v00001131d00007134sv00001043sd00004842* -- ID_MODEL_FROM_DATABASE=TV-FM 7134 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (TV-FM 7134) - - pci:v00001131d00007134sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=SAA713x-based TV tuner card -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SAA713x-based TV tuner card) - - pci:v00001131d00007134sv00001131sd00002004* -- ID_MODEL_FROM_DATABASE=EUROPA V3 reference design -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EUROPA V3 reference design) - - pci:v00001131d00007134sv00001131sd00004E85* -- ID_MODEL_FROM_DATABASE=SKNet Monster TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (SKNet Monster TV) - - pci:v00001131d00007134sv00001131sd00006752* -- ID_MODEL_FROM_DATABASE=EMPRESS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (EMPRESS) - - pci:v00001131d00007134sv000011BDsd0000002B* -- ID_MODEL_FROM_DATABASE=PCTV Stereo -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV Stereo) - - pci:v00001131d00007134sv000011BDsd0000002D* -- ID_MODEL_FROM_DATABASE=PCTV 300i DVB-T + PAL -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (PCTV 300i DVB-T + PAL) - - pci:v00001131d00007134sv00001461sd00002C00* -- ID_MODEL_FROM_DATABASE=AverTV Hybrid+FM PCI -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverTV Hybrid+FM PCI) - - pci:v00001131d00007134sv00001461sd00009715* -- ID_MODEL_FROM_DATABASE=AVerTV Studio 307 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Studio 307) - - pci:v00001131d00007134sv00001461sd0000A70A* -- ID_MODEL_FROM_DATABASE=Avermedia AVerTV 307 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Avermedia AVerTV 307) - - pci:v00001131d00007134sv00001461sd0000A70B* -- ID_MODEL_FROM_DATABASE=AverMedia M156 / Medion 2819 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AverMedia M156 / Medion 2819) - - pci:v00001131d00007134sv00001461sd0000D6EE* -- ID_MODEL_FROM_DATABASE=Cardbus TV/Radio (E500) -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Cardbus TV/Radio (E500)) - - pci:v00001131d00007134sv00001471sd0000B7E9* -- ID_MODEL_FROM_DATABASE=AVerTV Cardbus plus -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (AVerTV Cardbus plus) - - pci:v00001131d00007134sv0000153Bsd00001142* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 400 TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 400 TV) - - pci:v00001131d00007134sv0000153Bsd00001143* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV) - - pci:v00001131d00007134sv0000153Bsd00001158* -- ID_MODEL_FROM_DATABASE=Terratec Cinergy 600 TV MK3 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Terratec Cinergy 600 TV MK3) - - pci:v00001131d00007134sv00001540sd00009524* -- ID_MODEL_FROM_DATABASE=ProVideo PV952 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (ProVideo PV952) - - pci:v00001131d00007134sv000016BEsd00000003* -- ID_MODEL_FROM_DATABASE=Medion 7134 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Medion 7134) - - pci:v00001131d00007134sv0000185Bsd0000C200* -- ID_MODEL_FROM_DATABASE=Compro VideoMate Gold+ Pal -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Compro VideoMate Gold+ Pal) - - pci:v00001131d00007134sv0000185Bsd0000C900* -- ID_MODEL_FROM_DATABASE=Videomate DVB-T300 -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Videomate DVB-T300) - - pci:v00001131d00007134sv00001894sd0000A006* -- ID_MODEL_FROM_DATABASE=KNC One TV-Station DVR -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station DVR) - - pci:v00001131d00007134sv00001894sd0000FE01* -- ID_MODEL_FROM_DATABASE=KNC One TV-Station RDS / Typhoon TV Tuner RDS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (KNC One TV-Station RDS / Typhoon TV Tuner RDS) - - pci:v00001131d00007134sv00005168sd00000138* -- ID_MODEL_FROM_DATABASE=FLY TV PRIME 34FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FLY TV PRIME 34FM) - - pci:v00001131d00007134sv00005168sd00000300* -- ID_MODEL_FROM_DATABASE=FlyDVB-S -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (FlyDVB-S) - - pci:v00001131d00007134sv00005ACEsd00005070* -- ID_MODEL_FROM_DATABASE=Behold TV 507 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 507 FM) - - pci:v00001131d00007134sv00005ACEsd00006070* -- ID_MODEL_FROM_DATABASE=Behold TV 607 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) - - pci:v00001131d00007134sv00005ACEsd00006071* -- ID_MODEL_FROM_DATABASE=Behold TV 607 FM -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 FM) - - pci:v00001131d00007134sv00005ACEsd00006072* -- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) - - pci:v00001131d00007134sv00005ACEsd00006073* -- ID_MODEL_FROM_DATABASE=Behold TV 607 RDS -+ ID_MODEL_FROM_DATABASE=SAA7134/SAA7135HL Video Broadcast Decoder (Behold TV 607 RDS) - - pci:v00001131d00007145* - ID_MODEL_FROM_DATABASE=SAA7145 -@@ -32034,223 +32034,223 @@ pci:v00001131d00007146* - ID_MODEL_FROM_DATABASE=SAA7146 - - pci:v00001131d00007146sv0000110Asd00000000* -- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) - - pci:v00001131d00007146sv0000110Asd0000FFFF* -- ID_MODEL_FROM_DATABASE=Fujitsu/Siemens DVB-C card rev1.5 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu/Siemens DVB-C card rev1.5) - - pci:v00001131d00007146sv00001124sd00002581* -- ID_MODEL_FROM_DATABASE=Leutron Vision PicPort -+ ID_MODEL_FROM_DATABASE=SAA7146 (Leutron Vision PicPort) - - pci:v00001131d00007146sv00001131sd00004F56* -- ID_MODEL_FROM_DATABASE=KNC1 DVB-S Budget -+ ID_MODEL_FROM_DATABASE=SAA7146 (KNC1 DVB-S Budget) - - pci:v00001131d00007146sv00001131sd00004F60* -- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Activy DVB-S Budget Rev AL -+ ID_MODEL_FROM_DATABASE=SAA7146 (Fujitsu-Siemens Activy DVB-S Budget Rev AL) - - pci:v00001131d00007146sv00001131sd00004F61* -- ID_MODEL_FROM_DATABASE=Activy DVB-S Budget Rev GR -+ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-S Budget Rev GR) - - pci:v00001131d00007146sv00001131sd00005F61* -- ID_MODEL_FROM_DATABASE=Activy DVB-T Budget -+ ID_MODEL_FROM_DATABASE=SAA7146 (Activy DVB-T Budget) - - pci:v00001131d00007146sv0000114Bsd00002003* -- ID_MODEL_FROM_DATABASE=DVRaptor Video Edit/Capture Card -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVRaptor Video Edit/Capture Card) - - pci:v00001131d00007146sv000011BDsd00000006* -- ID_MODEL_FROM_DATABASE=DV500 Overlay -+ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) - - pci:v00001131d00007146sv000011BDsd0000000A* -- ID_MODEL_FROM_DATABASE=DV500 Overlay -+ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) - - pci:v00001131d00007146sv000011BDsd0000000F* -- ID_MODEL_FROM_DATABASE=DV500 Overlay -+ ID_MODEL_FROM_DATABASE=SAA7146 (DV500 Overlay) - - pci:v00001131d00007146sv000013C2sd00000000* -- ID_MODEL_FROM_DATABASE=Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5) - - pci:v00001131d00007146sv000013C2sd00000001* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) - - pci:v00001131d00007146sv000013C2sd00000002* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv000013C2sd00000003* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv000013C2sd00000004* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv000013C2sd00000006* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev1.3 or rev1.6 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev1.3 or rev1.6) - - pci:v00001131d00007146sv000013C2sd00000008* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB-T -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB-T) - - pci:v00001131d00007146sv000013C2sd0000000A* -- ID_MODEL_FROM_DATABASE=Octal/Technotrend DVB-C for iTV -+ ID_MODEL_FROM_DATABASE=SAA7146 (Octal/Technotrend DVB-C for iTV) - - pci:v00001131d00007146sv000013C2sd0000000E* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.3 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.3) - - pci:v00001131d00007146sv000013C2sd00001003* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card) - - pci:v00001131d00007146sv000013C2sd00001004* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card) - - pci:v00001131d00007146sv000013C2sd00001005* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) - - pci:v00001131d00007146sv000013C2sd0000100C* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) - - pci:v00001131d00007146sv000013C2sd0000100F* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card) - - pci:v00001131d00007146sv000013C2sd00001010* -- ID_MODEL_FROM_DATABASE=DVB C-1500 -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVB C-1500) - - pci:v00001131d00007146sv000013C2sd00001011* -- ID_MODEL_FROM_DATABASE=Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card) - - pci:v00001131d00007146sv000013C2sd00001012* -- ID_MODEL_FROM_DATABASE=DVB T-1500 -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVB T-1500) - - pci:v00001131d00007146sv000013C2sd00001013* -- ID_MODEL_FROM_DATABASE=SATELCO Multimedia DVB -+ ID_MODEL_FROM_DATABASE=SAA7146 (SATELCO Multimedia DVB) - - pci:v00001131d00007146sv000013C2sd00001016* -- ID_MODEL_FROM_DATABASE=WinTV-NOVA-SE DVB card -+ ID_MODEL_FROM_DATABASE=SAA7146 (WinTV-NOVA-SE DVB card) - - pci:v00001131d00007146sv000013C2sd00001018* -- ID_MODEL_FROM_DATABASE=DVB S-1401 -+ ID_MODEL_FROM_DATABASE=SAA7146 (DVB S-1401) - - pci:v00001131d00007146sv000013C2sd00001019* -- ID_MODEL_FROM_DATABASE=S2-3200 -+ ID_MODEL_FROM_DATABASE=SAA7146 (S2-3200) - - pci:v00001131d00007146sv000013C2sd00001102* -- ID_MODEL_FROM_DATABASE=Technotrend/Hauppauge DVB card rev2.1 -+ ID_MODEL_FROM_DATABASE=SAA7146 (Technotrend/Hauppauge DVB card rev2.1) - - pci:v00001131d00007146sv0000153Bsd00001155* -- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-S -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) - - pci:v00001131d00007146sv0000153Bsd00001156* -- ID_MODEL_FROM_DATABASE=Terratec Cynergy 1200C -+ ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) - - pci:v00001131d00007146sv0000153Bsd00001157* -- ID_MODEL_FROM_DATABASE=Cinergy 1200 DVB-T -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) - - pci:v00001131d00007146sv00001894sd00000020* -- ID_MODEL_FROM_DATABASE=KNC One DVB-C V1.0 -+ ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) - - pci:v00001131d00007146sv00001894sd00000023* -- ID_MODEL_FROM_DATABASE=TVStation DVB-C plus -+ ID_MODEL_FROM_DATABASE=SAA7146 (TVStation DVB-C plus) - - pci:v00001131d00007160* - ID_MODEL_FROM_DATABASE=SAA7160 - - pci:v00001131d00007160sv00001458sd00009009* -- ID_MODEL_FROM_DATABASE=E8000 DVB-T/Analog TV/FM tuner -+ ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) - - pci:v00001131d00007162* - ID_MODEL_FROM_DATABASE=SAA7162 - - pci:v00001131d00007162sv000011BDsd00000101* -- ID_MODEL_FROM_DATABASE=Pinnacle PCTV 7010iX TV Card -+ ID_MODEL_FROM_DATABASE=SAA7162 (Pinnacle PCTV 7010iX TV Card) - - pci:v00001131d00007164* - ID_MODEL_FROM_DATABASE=SAA7164 - - pci:v00001131d00007164sv00000070sd00008800* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008810* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008851* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008853* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008880* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008891* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd000088A0* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd000088A1* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2250 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2250) - - pci:v00001131d00007164sv00000070sd00008900* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008901* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008940* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 (submodel 89619) -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200 (submodel 89619)) - - pci:v00001131d00007164sv00000070sd00008951* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008953* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008980* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008991* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd00008993* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd000089A0* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007164sv00000070sd000089A1* -- ID_MODEL_FROM_DATABASE=WinTV HVR-2200 -+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200) - - pci:v00001131d00007231* - ID_MODEL_FROM_DATABASE=SAA7231 - - pci:v00001131d00007231sv00005ACEsd00008000* -- ID_MODEL_FROM_DATABASE=Behold TV H8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) - - pci:v00001131d00007231sv00005ACEsd00008001* -- ID_MODEL_FROM_DATABASE=Behold TV H8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H8) - - pci:v00001131d00007231sv00005ACEsd00008050* -- ID_MODEL_FROM_DATABASE=Behold TV H85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) - - pci:v00001131d00007231sv00005ACEsd00008051* -- ID_MODEL_FROM_DATABASE=Behold TV H85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV H85) - - pci:v00001131d00007231sv00005ACEsd00008100* -- ID_MODEL_FROM_DATABASE=Behold TV A8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) - - pci:v00001131d00007231sv00005ACEsd00008101* -- ID_MODEL_FROM_DATABASE=Behold TV A8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A8) - - pci:v00001131d00007231sv00005ACEsd00008150* -- ID_MODEL_FROM_DATABASE=Behold TV A85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) - - pci:v00001131d00007231sv00005ACEsd00008151* -- ID_MODEL_FROM_DATABASE=Behold TV A85 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV A85) - - pci:v00001131d00007231sv00005ACEsd00008201* -- ID_MODEL_FROM_DATABASE=Behold TV T8 -+ ID_MODEL_FROM_DATABASE=SAA7231 (Behold TV T8) - - pci:v00001131d00009730* - ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller - - pci:v00001131d00009730sv00001131sd00000000* -- ID_MODEL_FROM_DATABASE=Integrated Multimedia and Peripheral Controller -+ ID_MODEL_FROM_DATABASE=SAA9730 Integrated Multimedia and Peripheral Controller (Integrated Multimedia and Peripheral Controller) - - pci:v00001132* - ID_VENDOR_FROM_DATABASE=Mitel Corp. -@@ -32364,7 +32364,7 @@ pci:v00001133d0000E010* - ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI - - pci:v00001133d0000E010sv0000110Asd00000021* -- ID_MODEL_FROM_DATABASE=Fujitsu Siemens ISDN S0 -+ ID_MODEL_FROM_DATABASE=Diva Server BRI-2M PCI (Fujitsu Siemens ISDN S0) - - pci:v00001133d0000E011* - ID_MODEL_FROM_DATABASE=Diva Server BRI S/T Rev 2 -@@ -32376,10 +32376,10 @@ pci:v00001133d0000E013* - ID_MODEL_FROM_DATABASE=4BRI - - pci:v00001133d0000E013sv00001133sd00001300* -- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCI v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCI v2) - - pci:v00001133d0000E013sv00001133sd0000E013* -- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCI v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCI v2) - - pci:v00001133d0000E014* - ID_MODEL_FROM_DATABASE=Diva Server PRI-30M PCI -@@ -32394,22 +32394,22 @@ pci:v00001133d0000E017* - ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 - - pci:v00001133d0000E017sv00001133sd0000E017* -- ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI-8M 2.0 PCI -+ ID_MODEL_FROM_DATABASE=Diva Server Voice 4BRI Rev 2 (Diva Server Voice 4BRI-8M 2.0 PCI) - - pci:v00001133d0000E018* - ID_MODEL_FROM_DATABASE=BRI - - pci:v00001133d0000E018sv00001133sd00001800* -- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCI v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCI v2) - - pci:v00001133d0000E018sv00001133sd0000E018* -- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCI v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCI v2) - - pci:v00001133d0000E019* - ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 - - pci:v00001133d0000E019sv00001133sd0000E019* -- ID_MODEL_FROM_DATABASE=Diva Server Voice PRI 2.0 PCI -+ ID_MODEL_FROM_DATABASE=Diva Server Voice PRI Rev 2 (Diva Server Voice PRI 2.0 PCI) - - pci:v00001133d0000E01A* - ID_MODEL_FROM_DATABASE=Diva BRI-2FX PCI v2 -@@ -32424,85 +32424,85 @@ pci:v00001133d0000E01C* - ID_MODEL_FROM_DATABASE=PRI - - pci:v00001133d0000E01Csv00001133sd00001C01* -- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-8 PCI v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-8 PCI v3) - - pci:v00001133d0000E01Csv00001133sd00001C02* -- ID_MODEL_FROM_DATABASE=Diva PRI/T1-24 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/T1-24 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C03* -- ID_MODEL_FROM_DATABASE=Diva PRI/E1-30 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1-30 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C04* -- ID_MODEL_FROM_DATABASE=Diva PRI/E1/T1-CTI PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva PRI/E1/T1-CTI PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C05* -- ID_MODEL_FROM_DATABASE=Diva V-PRI/T1-24 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/T1-24 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C06* -- ID_MODEL_FROM_DATABASE=Diva V-PRI/E1-30 PCI(e) v3 -+ ID_MODEL_FROM_DATABASE=PRI (Diva V-PRI/E1-30 PCI(e) v3) - - pci:v00001133d0000E01Csv00001133sd00001C07* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1-8 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1-8 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C08* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/T1-24 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/T1-24 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C09* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1-30 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1-30 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C0A* -- ID_MODEL_FROM_DATABASE=Diva Server PRI/E1/T1 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server PRI/E1/T1 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C0B* -- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/T1-24 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/T1-24 Cornet NQ) - - pci:v00001133d0000E01Csv00001133sd00001C0C* -- ID_MODEL_FROM_DATABASE=Diva Server V-PRI/E1-30 Cornet NQ -+ ID_MODEL_FROM_DATABASE=PRI (Diva Server V-PRI/E1-30 Cornet NQ) - - pci:v00001133d0000E01E* - ID_MODEL_FROM_DATABASE=2PRI - - pci:v00001133d0000E01Esv00001133sd00001E01* -- ID_MODEL_FROM_DATABASE=Diva 2PRI/E1/T1-60 PCI v1 -+ ID_MODEL_FROM_DATABASE=2PRI (Diva 2PRI/E1/T1-60 PCI v1) - - pci:v00001133d0000E01Esv00001133sd0000E01E* -- ID_MODEL_FROM_DATABASE=Diva V-2PRI/E1/T1-60 PCI v1 -+ ID_MODEL_FROM_DATABASE=2PRI (Diva V-2PRI/E1/T1-60 PCI v1) - - pci:v00001133d0000E020* - ID_MODEL_FROM_DATABASE=4PRI - - pci:v00001133d0000E020sv00001133sd00002001* -- ID_MODEL_FROM_DATABASE=Diva 4PRI/E1/T1-120 PCI v1 -+ ID_MODEL_FROM_DATABASE=4PRI (Diva 4PRI/E1/T1-120 PCI v1) - - pci:v00001133d0000E020sv00001133sd0000E020* -- ID_MODEL_FROM_DATABASE=Diva V-4PRI/E1/T1-120 PCI v1 -+ ID_MODEL_FROM_DATABASE=4PRI (Diva V-4PRI/E1/T1-120 PCI v1) - - pci:v00001133d0000E022* - ID_MODEL_FROM_DATABASE=Analog-2 - - pci:v00001133d0000E022sv00001133sd00002200* -- ID_MODEL_FROM_DATABASE=Diva V-Analog-2 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-2 (Diva V-Analog-2 PCI v1) - - pci:v00001133d0000E022sv00001133sd0000E022* -- ID_MODEL_FROM_DATABASE=Diva Analog-2 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-2 (Diva Analog-2 PCI v1) - - pci:v00001133d0000E024* - ID_MODEL_FROM_DATABASE=Analog-4 - - pci:v00001133d0000E024sv00001133sd00002400* -- ID_MODEL_FROM_DATABASE=Diva V-Analog-4 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-4 (Diva V-Analog-4 PCI v1) - - pci:v00001133d0000E024sv00001133sd0000E024* -- ID_MODEL_FROM_DATABASE=Diva Analog-4 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-4 (Diva Analog-4 PCI v1) - - pci:v00001133d0000E028* - ID_MODEL_FROM_DATABASE=Analog-8 - - pci:v00001133d0000E028sv00001133sd00002800* -- ID_MODEL_FROM_DATABASE=Diva V-Analog-8 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-8 (Diva V-Analog-8 PCI v1) - - pci:v00001133d0000E028sv00001133sd0000E028* -- ID_MODEL_FROM_DATABASE=Diva Analog-8 PCI v1 -+ ID_MODEL_FROM_DATABASE=Analog-8 (Diva Analog-8 PCI v1) - - pci:v00001133d0000E02A* - ID_MODEL_FROM_DATABASE=Diva IPM-300 PCI v1 -@@ -32514,19 +32514,19 @@ pci:v00001133d0000E02E* - ID_MODEL_FROM_DATABASE=4BRI - - pci:v00001133d0000E02Esv00001133sd00002E01* -- ID_MODEL_FROM_DATABASE=Diva V-4BRI-8 PCIe v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva V-4BRI-8 PCIe v2) - - pci:v00001133d0000E02Esv00001133sd0000E02E* -- ID_MODEL_FROM_DATABASE=Diva 4BRI-8 PCIe v2 -+ ID_MODEL_FROM_DATABASE=4BRI (Diva 4BRI-8 PCIe v2) - - pci:v00001133d0000E032* - ID_MODEL_FROM_DATABASE=BRI - - pci:v00001133d0000E032sv00001133sd00003201* -- ID_MODEL_FROM_DATABASE=Diva V-BRI-2 PCIe v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva V-BRI-2 PCIe v2) - - pci:v00001133d0000E032sv00001133sd0000E032* -- ID_MODEL_FROM_DATABASE=Diva BRI-2 PCIe v2 -+ ID_MODEL_FROM_DATABASE=BRI (Diva BRI-2 PCIe v2) - - pci:v00001133d0000E034* - ID_MODEL_FROM_DATABASE=Diva BRI-CTI PCI v2 -@@ -32574,88 +32574,88 @@ pci:v00001137d00000042* - ID_MODEL_FROM_DATABASE=VIC Management Controller - - pci:v00001137d00000042sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC P81E PCIe Management Controller) - - pci:v00001137d00000042sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225 PCIe Management Controller) - - pci:v00001137d00000042sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1285 PCIe Management Controller) - - pci:v00001137d00000042sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Management Controller -+ ID_MODEL_FROM_DATABASE=VIC Management Controller (VIC 1225T PCIe Management Controller) - - pci:v00001137d00000043* - ID_MODEL_FROM_DATABASE=VIC Ethernet NIC - - pci:v00001137d00000043sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC P81E PCIe Ethernet NIC) - - pci:v00001137d00000043sv00001137sd00000048* -- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC M81KR Mezzanine Ethernet NIC) - - pci:v00001137d00000043sv00001137sd0000004F* -- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1280 Mezzanine Ethernet NIC) - - pci:v00001137d00000043sv00001137sd00000084* -- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1240 MLOM Ethernet NIC) - - pci:v00001137d00000043sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225 PCIe Ethernet NIC) - - pci:v00001137d00000043sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1285 PCIe Ethernet NIC) - - pci:v00001137d00000043sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC (VIC 1225T PCIe Ethernet NIC) - - pci:v00001137d00000044* - ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic - - pci:v00001137d00000044sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC P81E PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd00000048* -- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC M81KR Mezzanine Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd0000004F* -- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1280 Mezzanine Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd00000084* -- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1240 MLOM Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225 PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1285 PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000044sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe Ethernet NIC Dynamic -+ ID_MODEL_FROM_DATABASE=VIC Ethernet NIC Dynamic (VIC 1225T PCIe Ethernet NIC Dynamic) - - pci:v00001137d00000045* - ID_MODEL_FROM_DATABASE=VIC FCoE HBA - - pci:v00001137d00000045sv00001137sd00000047* -- ID_MODEL_FROM_DATABASE=VIC P81E PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC P81E PCIe FCoE HBA) - - pci:v00001137d00000045sv00001137sd00000048* -- ID_MODEL_FROM_DATABASE=VIC M81KR Mezzanine FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC M81KR Mezzanine FCoE HBA) - - pci:v00001137d00000045sv00001137sd0000004F* -- ID_MODEL_FROM_DATABASE=VIC 1280 Mezzanine FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1280 Mezzanine FCoE HBA) - - pci:v00001137d00000045sv00001137sd00000084* -- ID_MODEL_FROM_DATABASE=VIC 1240 MLOM FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1240 MLOM FCoE HBA) - - pci:v00001137d00000045sv00001137sd00000085* -- ID_MODEL_FROM_DATABASE=VIC 1225 PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225 PCIe FCoE HBA) - - pci:v00001137d00000045sv00001137sd000000CD* -- ID_MODEL_FROM_DATABASE=VIC 1285 PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1285 PCIe FCoE HBA) - - pci:v00001137d00000045sv00001137sd000000CE* -- ID_MODEL_FROM_DATABASE=VIC 1225T PCIe FCoE HBA -+ ID_MODEL_FROM_DATABASE=VIC FCoE HBA (VIC 1225T PCIe FCoE HBA) - - pci:v00001137d0000004E* - ID_MODEL_FROM_DATABASE=VIC 82 PCIe Upstream Port -@@ -32814,49 +32814,49 @@ pci:v00001148d00004000* - ID_MODEL_FROM_DATABASE=FDDI Adapter - - pci:v00001148d00004000sv00000E11sd0000B03B* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS Fibre SC -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS Fibre SC) - - pci:v00001148d00004000sv00000E11sd0000B03C* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre SC -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre SC) - - pci:v00001148d00004000sv00000E11sd0000B03D* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI DAS UTP -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI DAS UTP) - - pci:v00001148d00004000sv00000E11sd0000B03E* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS UTP -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS UTP) - - pci:v00001148d00004000sv00000E11sd0000B03F* -- ID_MODEL_FROM_DATABASE=Netelligent 100 FDDI SAS Fibre MIC -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (Netelligent 100 FDDI SAS Fibre MIC) - - pci:v00001148d00004000sv00001148sd00005521* -- ID_MODEL_FROM_DATABASE=FDDI SK-5521 (SK-NET FDDI-UP) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5521 (SK-NET FDDI-UP)) - - pci:v00001148d00004000sv00001148sd00005522* -- ID_MODEL_FROM_DATABASE=FDDI SK-5522 (SK-NET FDDI-UP DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5522 (SK-NET FDDI-UP DAS)) - - pci:v00001148d00004000sv00001148sd00005541* -- ID_MODEL_FROM_DATABASE=FDDI SK-5541 (SK-NET FDDI-FP) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5541 (SK-NET FDDI-FP)) - - pci:v00001148d00004000sv00001148sd00005543* -- ID_MODEL_FROM_DATABASE=FDDI SK-5543 (SK-NET FDDI-LP) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5543 (SK-NET FDDI-LP)) - - pci:v00001148d00004000sv00001148sd00005544* -- ID_MODEL_FROM_DATABASE=FDDI SK-5544 (SK-NET FDDI-LP DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5544 (SK-NET FDDI-LP DAS)) - - pci:v00001148d00004000sv00001148sd00005821* -- ID_MODEL_FROM_DATABASE=FDDI SK-5821 (SK-NET FDDI-UP64) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5821 (SK-NET FDDI-UP64)) - - pci:v00001148d00004000sv00001148sd00005822* -- ID_MODEL_FROM_DATABASE=FDDI SK-5822 (SK-NET FDDI-UP64 DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5822 (SK-NET FDDI-UP64 DAS)) - - pci:v00001148d00004000sv00001148sd00005841* -- ID_MODEL_FROM_DATABASE=FDDI SK-5841 (SK-NET FDDI-FP64) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5841 (SK-NET FDDI-FP64)) - - pci:v00001148d00004000sv00001148sd00005843* -- ID_MODEL_FROM_DATABASE=FDDI SK-5843 (SK-NET FDDI-LP64) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5843 (SK-NET FDDI-LP64)) - - pci:v00001148d00004000sv00001148sd00005844* -- ID_MODEL_FROM_DATABASE=FDDI SK-5844 (SK-NET FDDI-LP64 DAS) -+ ID_MODEL_FROM_DATABASE=FDDI Adapter (FDDI SK-5844 (SK-NET FDDI-LP64 DAS)) - - pci:v00001148d00004200* - ID_MODEL_FROM_DATABASE=Token Ring adapter -@@ -32865,115 +32865,115 @@ pci:v00001148d00004300* - ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) - - pci:v00001148d00004300sv00001148sd00009821* -- ID_MODEL_FROM_DATABASE=SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)) - - pci:v00001148d00004300sv00001148sd00009822* -- ID_MODEL_FROM_DATABASE=SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)) - - pci:v00001148d00004300sv00001148sd00009841* -- ID_MODEL_FROM_DATABASE=SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)) - - pci:v00001148d00004300sv00001148sd00009842* -- ID_MODEL_FROM_DATABASE=SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)) - - pci:v00001148d00004300sv00001148sd00009843* -- ID_MODEL_FROM_DATABASE=SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)) - - pci:v00001148d00004300sv00001148sd00009844* -- ID_MODEL_FROM_DATABASE=SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)) - - pci:v00001148d00004300sv00001148sd00009861* -- ID_MODEL_FROM_DATABASE=SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)) - - pci:v00001148d00004300sv00001148sd00009862* -- ID_MODEL_FROM_DATABASE=SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)) - - pci:v00001148d00004300sv00001148sd00009871* -- ID_MODEL_FROM_DATABASE=SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)) - - pci:v00001148d00004300sv00001148sd00009872* - ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) - - pci:v00001148d00004300sv00001259sd00002970* -- ID_MODEL_FROM_DATABASE=AT-2970SX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002971* -- ID_MODEL_FROM_DATABASE=AT-2970LX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002972* -- ID_MODEL_FROM_DATABASE=AT-2970TX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002973* -- ID_MODEL_FROM_DATABASE=AT-2971SX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971SX Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002974* -- ID_MODEL_FROM_DATABASE=AT-2971T Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2971T Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002975* -- ID_MODEL_FROM_DATABASE=AT-2970SX/2SC Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970SX/2SC Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002976* -- ID_MODEL_FROM_DATABASE=AT-2970LX/2SC Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970LX/2SC Gigabit Ethernet Adapter) - - pci:v00001148d00004300sv00001259sd00002977* -- ID_MODEL_FROM_DATABASE=AT-2970TX/2TX Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) (AT-2970TX/2TX Gigabit Ethernet Adapter) - - pci:v00001148d00004320* - ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC - - pci:v00001148d00004320sv00001148sd00000121* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8001 Adapter) - - pci:v00001148d00004320sv00001148sd00000221* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8002 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8002 Adapter) - - pci:v00001148d00004320sv00001148sd00000321* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8003 Adapter) - - pci:v00001148d00004320sv00001148sd00000421* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8004 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8004 Adapter) - - pci:v00001148d00004320sv00001148sd00000621* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8006 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8006 Adapter) - - pci:v00001148d00004320sv00001148sd00000721* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8007 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8007 Adapter) - - pci:v00001148d00004320sv00001148sd00000821* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8008 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8008 Adapter) - - pci:v00001148d00004320sv00001148sd00000921* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8009 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8009 Adapter) - - pci:v00001148d00004320sv00001148sd00001121* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8011 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8011 Adapter) - - pci:v00001148d00004320sv00001148sd00001221* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8012 Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (Marvell RDK-8012 Adapter) - - pci:v00001148d00004320sv00001148sd00003221* -- ID_MODEL_FROM_DATABASE=SK-9521 V2.0 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 V2.0 10/100/1000Base-T Adapter) - - pci:v00001148d00004320sv00001148sd00005021* -- ID_MODEL_FROM_DATABASE=SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter) - - pci:v00001148d00004320sv00001148sd00005041* -- ID_MODEL_FROM_DATABASE=SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter) - - pci:v00001148d00004320sv00001148sd00005043* -- ID_MODEL_FROM_DATABASE=SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter) - - pci:v00001148d00004320sv00001148sd00005051* -- ID_MODEL_FROM_DATABASE=SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter) - - pci:v00001148d00004320sv00001148sd00005061* -- ID_MODEL_FROM_DATABASE=SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter) - - pci:v00001148d00004320sv00001148sd00005071* -- ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter) - - pci:v00001148d00004320sv00001148sd00009521* -- ID_MODEL_FROM_DATABASE=SK-9521 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC (SK-9521 10/100/1000Base-T Adapter) - - pci:v00001148d00004400* - ID_MODEL_FROM_DATABASE=SK-9Dxx Gigabit Ethernet Adapter -@@ -32991,25 +32991,25 @@ pci:v00001148d00009E00* - ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 - - pci:v00001148d00009E00sv00001148sd00002100* -- ID_MODEL_FROM_DATABASE=SK-9E21 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21 Server Adapter) - - pci:v00001148d00009E00sv00001148sd000021D0* -- ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E21D 10/100/1000Base-T Adapter) - - pci:v00001148d00009E00sv00001148sd00002200* -- ID_MODEL_FROM_DATABASE=SK-9E22 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E22 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00008100* -- ID_MODEL_FROM_DATABASE=SK-9E81 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E81 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00008200* -- ID_MODEL_FROM_DATABASE=SK-9E82 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E82 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00009100* -- ID_MODEL_FROM_DATABASE=SK-9E91 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E91 Server Adapter) - - pci:v00001148d00009E00sv00001148sd00009200* -- ID_MODEL_FROM_DATABASE=SK-9E92 Server Adapter -+ ID_MODEL_FROM_DATABASE=SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (SK-9E92 Server Adapter) - - pci:v00001148d00009E01* - ID_MODEL_FROM_DATABASE=SK-9E21M 10/100/1000Base-T Adapter -@@ -33111,16 +33111,16 @@ pci:v0000114Fd0000001D* - ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI - - pci:v0000114Fd0000001Dsv0000114Fsd00000050* -- ID_MODEL_FROM_DATABASE=DataFire RAS E1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS E1 Adapter) - - pci:v0000114Fd0000001Dsv0000114Fsd00000051* -- ID_MODEL_FROM_DATABASE=DataFire RAS Dual E1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual E1 Adapter) - - pci:v0000114Fd0000001Dsv0000114Fsd00000052* -- ID_MODEL_FROM_DATABASE=DataFire RAS T1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS T1 Adapter) - - pci:v0000114Fd0000001Dsv0000114Fsd00000053* -- ID_MODEL_FROM_DATABASE=DataFire RAS Dual T1 Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS T1/E1/PRI (DataFire RAS Dual T1 Adapter) - - pci:v0000114Fd00000023* - ID_MODEL_FROM_DATABASE=AccelePort RAS -@@ -33129,10 +33129,10 @@ pci:v0000114Fd00000024* - ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U - - pci:v0000114Fd00000024sv0000114Fsd00000030* -- ID_MODEL_FROM_DATABASE=DataFire RAS BRI U Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI U Adapter) - - pci:v0000114Fd00000024sv0000114Fsd00000031* -- ID_MODEL_FROM_DATABASE=DataFire RAS BRI S/T Adapter -+ ID_MODEL_FROM_DATABASE=DataFire RAS B4 ST/U (DataFire RAS BRI S/T Adapter) - - pci:v0000114Fd00000026* - ID_MODEL_FROM_DATABASE=AccelePort 4r 920 -@@ -33156,19 +33156,19 @@ pci:v0000114Fd00000040* - ID_MODEL_FROM_DATABASE=AccelePort Xp - - pci:v0000114Fd00000040sv0000114Fsd00000042* -- ID_MODEL_FROM_DATABASE=AccelePort 2p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 2p PCI) - - pci:v0000114Fd00000040sv0000114Fsd00000043* -- ID_MODEL_FROM_DATABASE=AccelePort 4p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 4p PCI) - - pci:v0000114Fd00000040sv0000114Fsd00000044* -- ID_MODEL_FROM_DATABASE=AccelePort 8p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 8p PCI) - - pci:v0000114Fd00000040sv0000114Fsd00000045* -- ID_MODEL_FROM_DATABASE=AccelePort 16p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 16p PCI) - - pci:v0000114Fd00000040sv0000114Fsd0000004E* -- ID_MODEL_FROM_DATABASE=AccelePort 32p PCI -+ ID_MODEL_FROM_DATABASE=AccelePort Xp (AccelePort 32p PCI) - - pci:v0000114Fd00000042* - ID_MODEL_FROM_DATABASE=AccelePort 2p -@@ -33300,22 +33300,22 @@ pci:v0000115Dd00000003* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000003sv00001014sd00000181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv00001014sd00001181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv00001014sd00008181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv00001014sd00009181* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000003sv0000115Dsd00000181* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000003sv0000115Dsd00000182* -- ID_MODEL_FROM_DATABASE=RealPort2 CardBus Ethernet 10/100 (R2BE-100) -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (RealPort2 CardBus Ethernet 10/100 (R2BE-100)) - - pci:v0000115Dd00000003sv0000115Dsd00001181* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33324,19 +33324,19 @@ pci:v0000115Dd00000003sv00001179sd00000181* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000003sv00008086sd00008181* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) - - pci:v0000115Dd00000003sv00008086sd00009181* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Mobile CardBus 32 Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (EtherExpress PRO/100 Mobile CardBus 32 Adapter) - - pci:v0000115Dd00000005* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000005sv00001014sd00000182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000005sv00001014sd00001182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000005sv0000115Dsd00000182* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33348,10 +33348,10 @@ pci:v0000115Dd00000007* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd00000007sv00001014sd00000182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000007sv00001014sd00001182* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd00000007sv0000115Dsd00000182* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33363,7 +33363,7 @@ pci:v0000115Dd0000000B* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd0000000Bsv00001014sd00000183* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd0000000Bsv0000115Dsd00000183* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33375,7 +33375,7 @@ pci:v0000115Dd0000000F* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 - - pci:v0000115Dd0000000Fsv00001014sd00000183* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 (10/100 EtherJet Cardbus Adapter) - - pci:v0000115Dd0000000Fsv0000115Dsd00000183* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet 10/100 -@@ -33387,22 +33387,22 @@ pci:v0000115Dd00000101* - ID_MODEL_FROM_DATABASE=Cardbus 56k modem - - pci:v0000115Dd00000101sv0000115Dsd00001081* -- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus 56k modem (Cardbus 56k Modem) - - pci:v0000115Dd00000103* - ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem - - pci:v0000115Dd00000103sv00001014sd00009181* -- ID_MODEL_FROM_DATABASE=Cardbus 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus 56k Modem) - - pci:v0000115Dd00000103sv00001115sd00001181* -- ID_MODEL_FROM_DATABASE=Cardbus Ethernet 100 + 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (Cardbus Ethernet 100 + 56k Modem) - - pci:v0000115Dd00000103sv0000115Dsd00001181* -- ID_MODEL_FROM_DATABASE=CBEM56G-100 Ethernet + 56k Modem -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (CBEM56G-100 Ethernet + 56k Modem) - - pci:v0000115Dd00000103sv00008086sd00009181* -- ID_MODEL_FROM_DATABASE=PRO/100 LAN + Modem56 CardBus -+ ID_MODEL_FROM_DATABASE=Cardbus Ethernet + 56k Modem (PRO/100 LAN + Modem56 CardBus) - - pci:v0000115E* - ID_VENDOR_FROM_DATABASE=Peer Protocols Inc -@@ -33429,7 +33429,7 @@ pci:v00001163d00002000* - ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 - - pci:v00001163d00002000sv00001092sd00002000* -- ID_MODEL_FROM_DATABASE=Stealth II S220 -+ ID_MODEL_FROM_DATABASE=Verite V2000/V2100/V2200 (Stealth II S220) - - pci:v00001164* - ID_VENDOR_FROM_DATABASE=Advanced Peripherals Technologies -@@ -33510,7 +33510,7 @@ pci:v00001166d00000132* - ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge - - pci:v00001166d00000132sv00001166sd00000132* -- ID_MODEL_FROM_DATABASE=HT2000 PCI-Express bridge -+ ID_MODEL_FROM_DATABASE=BCM5780 [HT2000] PCI-Express Bridge (HT2000 PCI-Express bridge) - - pci:v00001166d00000140* - ID_MODEL_FROM_DATABASE=HT2100 PCI-Express Bridge -@@ -33531,13 +33531,13 @@ pci:v00001166d00000201* - ID_MODEL_FROM_DATABASE=CSB5 South Bridge - - pci:v00001166d00000201sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=CSB5 South Bridge (CT8 mainboard) - - pci:v00001166d00000203* - ID_MODEL_FROM_DATABASE=CSB6 South Bridge - - pci:v00001166d00000203sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series -+ ID_MODEL_FROM_DATABASE=CSB6 South Bridge (PRIMERGY RX/TX series) - - pci:v00001166d00000205* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] Legacy South Bridge -@@ -33549,37 +33549,37 @@ pci:v00001166d00000212* - ID_MODEL_FROM_DATABASE=CSB5 IDE Controller - - pci:v00001166d00000212sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1750) - - pci:v00001166d00000212sv00001028sd0000810B* -- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 -+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (PowerEdge 1650/2550) - - pci:v00001166d00000212sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=CSB5 IDE Controller (CT8 mainboard) - - pci:v00001166d00000213* - ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller - - pci:v00001166d00000213sv00001028sd00004134* -- ID_MODEL_FROM_DATABASE=PowerEdge 600SC -+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PowerEdge 600SC) - - pci:v00001166d00000213sv00001028sd0000C134* -- ID_MODEL_FROM_DATABASE=Poweredge SC600 -+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (Poweredge SC600) - - pci:v00001166d00000213sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard IDE -+ ID_MODEL_FROM_DATABASE=CSB6 RAID/IDE Controller (PRIMERGY RX/TX series onboard IDE) - - pci:v00001166d00000214* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE - - pci:v00001166d00000214sv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 IDE -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] IDE (PowerEdge 2970 HT1000 IDE) - - pci:v00001166d00000217* - ID_MODEL_FROM_DATABASE=CSB6 IDE Controller - - pci:v00001166d00000217sv00001028sd00004134* -- ID_MODEL_FROM_DATABASE=Poweredge SC600 -+ ID_MODEL_FROM_DATABASE=CSB6 IDE Controller (Poweredge SC600) - - pci:v00001166d0000021B* - ID_MODEL_FROM_DATABASE=HT1100 HD Audio -@@ -33588,22 +33588,22 @@ pci:v00001166d00000220* - ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller - - pci:v00001166d00000220sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=OSB4/CSB5 OHCI USB Controller (CT8 mainboard) - - pci:v00001166d00000221* - ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller - - pci:v00001166d00000221sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard OHCI -+ ID_MODEL_FROM_DATABASE=CSB6 OHCI USB Controller (PRIMERGY RX/TX series onboard OHCI) - - pci:v00001166d00000223* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB - - pci:v00001166d00000223sv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 USB Controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge 2970 HT1000 USB Controller) - - pci:v00001166d00000223sv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 USB Controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] USB (PowerEdge T605 HT1000 USB Controller) - - pci:v00001166d00000225* - ID_MODEL_FROM_DATABASE=CSB5 LPC bridge -@@ -33612,22 +33612,22 @@ pci:v00001166d00000227* - ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge - - pci:v00001166d00000227sv00001734sd00001012* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series -+ ID_MODEL_FROM_DATABASE=GCLE-2 Host Bridge (PRIMERGY RX/TX series) - - pci:v00001166d00000230* - ID_MODEL_FROM_DATABASE=CSB5 LPC bridge - - pci:v00001166d00000230sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=CSB5 LPC bridge (CT8 mainboard) - - pci:v00001166d00000234* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC - - pci:v00001166d00000234sv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 LPC -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge 2970 HT1000 LPC) - - pci:v00001166d00000234sv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 HT1000 LPC -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] LPC (PowerEdge T605 HT1000 LPC) - - pci:v00001166d00000235* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] XIOAPIC0-2 -@@ -33648,13 +33648,13 @@ pci:v00001166d0000024A* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) - - pci:v00001166d0000024Asv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (Native SATA Mode) (PowerEdge T605 onboard SATA Controller) - - pci:v00001166d0000024B* - ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) - - pci:v00001166d0000024Bsv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 HT1000 SATA controller -+ ID_MODEL_FROM_DATABASE=BCM5785 [HT1000] SATA (PATA/IDE Mode) (PowerEdge 2970 HT1000 SATA controller) - - pci:v00001166d00000406* - ID_MODEL_FROM_DATABASE=HT1100 PCI-X Bridge -@@ -33666,7 +33666,7 @@ pci:v00001166d0000040A* - ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge - - pci:v00001166d0000040Asv00001028sd00000223* -- ID_MODEL_FROM_DATABASE=PowerEdge R905 HT1100 ISA-LPC Bridge -+ ID_MODEL_FROM_DATABASE=HT1100 ISA-LPC Bridge (PowerEdge R905 HT1100 ISA-LPC Bridge) - - pci:v00001166d00000410* - ID_MODEL_FROM_DATABASE=HT1100 SATA Controller (Native SATA Mode) -@@ -33783,7 +33783,7 @@ pci:v00001179d00000601* - ID_MODEL_FROM_DATABASE=CPU to PCI bridge - - pci:v00001179d00000601sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite Pro -+ ID_MODEL_FROM_DATABASE=CPU to PCI bridge (Satellite Pro) - - pci:v00001179d00000602* - ID_MODEL_FROM_DATABASE=PCI to ISA bridge -@@ -33798,13 +33798,13 @@ pci:v00001179d0000060A* - ID_MODEL_FROM_DATABASE=ToPIC95 - - pci:v00001179d0000060Asv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite Pro -+ ID_MODEL_FROM_DATABASE=ToPIC95 (Satellite Pro) - - pci:v00001179d0000060F* - ID_MODEL_FROM_DATABASE=ToPIC97 - - pci:v00001179d0000060Fsv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite 4010 -+ ID_MODEL_FROM_DATABASE=ToPIC97 (Satellite 4010) - - pci:v00001179d00000617* - ID_MODEL_FROM_DATABASE=ToPIC100 PCI to Cardbus Bridge with ZV Support -@@ -33846,16 +33846,16 @@ pci:v0000117Cd00000030* - ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter - - pci:v0000117Cd00000030sv0000117Csd00008013* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL4D -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4D) - - pci:v0000117Cd00000030sv0000117Csd00008014* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL4S -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL4S) - - pci:v0000117Cd00000030sv0000117Csd00008027* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D) - - pci:v0000117Cd00000030sv0000117Csd0000802F* -- ID_MODEL_FROM_DATABASE=ExpressPCI UL5D Low Profile -+ ID_MODEL_FROM_DATABASE=Ultra320 SCSI Host Adapter (ExpressPCI UL5D Low Profile) - - pci:v0000117Cd00000033* - ID_MODEL_FROM_DATABASE=SAS Adapter -@@ -33882,67 +33882,67 @@ pci:v00001180d00000475* - ID_MODEL_FROM_DATABASE=RL5c475 - - pci:v00001180d00000475sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 CardBus bridge -+ ID_MODEL_FROM_DATABASE=RL5c475 (vpr Matrix 170B4 CardBus bridge) - - pci:v00001180d00000476* - ID_MODEL_FROM_DATABASE=RL5c476 II - - pci:v00001180d00000476sv00001014sd00000185* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad A/T/X Series) - - pci:v00001180d00000476sv00001014sd0000056C* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad Z60t) - - pci:v00001180d00000476sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Latitude X300 laptop) - - pci:v00001180d00000476sv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Inspiron 6000 laptop) - - pci:v00001180d00000476sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6710b) - - pci:v00001180d00000476sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Compaq 6910p) - - pci:v00001180d00000476sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (A6J-Q008) - - pci:v00001180d00000476sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=RL5c476 II (V6800V) - - pci:v00001180d00000476sv00001043sd00001987* -- ID_MODEL_FROM_DATABASE=Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines ) -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines )) - - pci:v00001180d00000476sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Vaio PCG-FX403) - - pci:v00001180d00000476sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00001180d00000476sv0000104Dsd0000814E* -- ID_MODEL_FROM_DATABASE=VAIO GRZ390Z -+ ID_MODEL_FROM_DATABASE=RL5c476 II (VAIO GRZ390Z) - - pci:v00001180d00000476sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (Panasonic CF-Y5 laptop) - - pci:v00001180d00000476sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=RL5c476 II (X10 Laptop) - - pci:v00001180d00000476sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=RL5c476 II (P30/P35 notebook) - - pci:v00001180d00000476sv000014EFsd00000220* -- ID_MODEL_FROM_DATABASE=PCD-RP-220S -+ ID_MODEL_FROM_DATABASE=RL5c476 II (PCD-RP-220S) - - pci:v00001180d00000476sv000017AAsd0000201C* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad X60/X60s) - - pci:v00001180d00000476sv000017AAsd000020C4* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad T61) - - pci:v00001180d00000476sv000017AAsd000020C6* -- ID_MODEL_FROM_DATABASE=ThinkPad R61 -+ ID_MODEL_FROM_DATABASE=RL5c476 II (ThinkPad R61) - - pci:v00001180d00000477* - ID_MODEL_FROM_DATABASE=RL5c477 -@@ -33951,7 +33951,7 @@ pci:v00001180d00000478* - ID_MODEL_FROM_DATABASE=RL5c478 - - pci:v00001180d00000478sv00001014sd00000184* -- ID_MODEL_FROM_DATABASE=ThinkPad A30p -+ ID_MODEL_FROM_DATABASE=RL5c478 (ThinkPad A30p) - - pci:v00001180d00000511* - ID_MODEL_FROM_DATABASE=R5C511 -@@ -33960,43 +33960,43 @@ pci:v00001180d00000522* - ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller - - pci:v00001180d00000522sv00001014sd000001CF* -- ID_MODEL_FROM_DATABASE=ThinkPad A30p -+ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (ThinkPad A30p) - - pci:v00001180d00000522sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=R5C522 IEEE 1394 Controller (V6800V) - - pci:v00001180d00000551* - ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller - - pci:v00001180d00000551sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=R5C551 IEEE 1394 Controller (vpr Matrix 170B4) - - pci:v00001180d00000552* - ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller - - pci:v00001180d00000552sv00001014sd00000511* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad A/T/X Series) - - pci:v00001180d00000552sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Latitude X300 laptop) - - pci:v00001180d00000552sv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (Inspiron 6000 laptop) - - pci:v00001180d00000552sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (A6J-Q008) - - pci:v00001180d00000552sv00001043sd00001757* -- ID_MODEL_FROM_DATABASE=M2400N laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (M2400N laptop) - - pci:v00001180d00000552sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (X10 Laptop) - - pci:v00001180d00000552sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (P30/P35 notebook) - - pci:v00001180d00000552sv000017AAsd0000201E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=R5C552 IEEE 1394 Controller (ThinkPad X60/X60s) - - pci:v00001180d00000554* - ID_MODEL_FROM_DATABASE=R5C554 -@@ -34011,37 +34011,37 @@ pci:v00001180d00000592* - ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter - - pci:v00001180d00000592sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Aspire 5920G) - - pci:v00001180d00000592sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (XPS M1210) - - pci:v00001180d00000592sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Inspiron 1420) - - pci:v00001180d00000592sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V3242AU) - - pci:v00001180d00000592sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Presario V6133CL) - - pci:v00001180d00000592sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv6700) - - pci:v00001180d00000592sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (Pavilion dv9668eg Laptop) - - pci:v00001180d00000592sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (A6J-Q008) - - pci:v00001180d00000592sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (V6800V) - - pci:v00001180d00000592sv0000144Dsd0000C018* -- ID_MODEL_FROM_DATABASE=X20 IV -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (X20 IV) - - pci:v00001180d00000592sv000017AAsd000020CA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=R5C592 Memory Stick Bus Host Adapter (ThinkPad T61) - - pci:v00001180d00000811* - ID_MODEL_FROM_DATABASE=R5C811 -@@ -34050,94 +34050,94 @@ pci:v00001180d00000822* - ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter - - pci:v00001180d00000822sv00001014sd00000556* -- ID_MODEL_FROM_DATABASE=ThinkPad X60s / Z60t -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60s / Z60t) - - pci:v00001180d00000822sv00001014sd00000598* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60m -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad Z60m) - - pci:v00001180d00000822sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Aspire 5920G) - - pci:v00001180d00000822sv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 6000 laptop) - - pci:v00001180d00000822sv00001028sd000001A2* -- ID_MODEL_FROM_DATABASE=Inspiron 9200 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 9200) - - pci:v00001180d00000822sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (XPS M1210) - - pci:v00001180d00000822sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Inspiron 1420) - - pci:v00001180d00000822sv0000103Csd000003B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V3242AU) - - pci:v00001180d00000822sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Presario V6133CL) - - pci:v00001180d00000822sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Compaq 6910p) - - pci:v00001180d00000822sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv6700) - - pci:v00001180d00000822sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Pavilion dv9668eg Laptop) - - pci:v00001180d00000822sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (A6J-Q008) - - pci:v00001180d00000822sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=ASUS V6800V -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ASUS V6800V) - - pci:v00001180d00000822sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (Panasonic CF-Y5 laptop) - - pci:v00001180d00000822sv0000144Dsd0000C018* -- ID_MODEL_FROM_DATABASE=X20 IV -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (X20 IV) - - pci:v00001180d00000822sv000017AAsd0000201D* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad X60/X60s) - - pci:v00001180d00000822sv000017AAsd000020C7* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad T61) - - pci:v00001180d00000822sv000017AAsd000020C8* -- ID_MODEL_FROM_DATABASE=ThinkPad W500 -+ ID_MODEL_FROM_DATABASE=R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (ThinkPad W500) - - pci:v00001180d00000832* - ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller - - pci:v00001180d00000832sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Aspire 5920G) - - pci:v00001180d00000832sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (XPS M1210) - - pci:v00001180d00000832sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Inspiron 1420) - - pci:v00001180d00000832sv00001028sd0000024D* -- ID_MODEL_FROM_DATABASE=Latitude E4300 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Latitude E4300) - - pci:v00001180d00000832sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V3242AU) - - pci:v00001180d00000832sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Presario V6133CL) - - pci:v00001180d00000832sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Compaq 6910p) - - pci:v00001180d00000832sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv6700) - - pci:v00001180d00000832sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (Pavilion dv9668eg Laptop) - - pci:v00001180d00000832sv000017AAsd000020C7* -- ID_MODEL_FROM_DATABASE=ThinkPad R61 -+ ID_MODEL_FROM_DATABASE=R5C832 IEEE 1394 Controller (ThinkPad R61) - - pci:v00001180d00000841* - ID_MODEL_FROM_DATABASE=R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 -@@ -34146,58 +34146,58 @@ pci:v00001180d00000843* - ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller - - pci:v00001180d00000843sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Aspire 5920G) - - pci:v00001180d00000843sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (XPS M1210) - - pci:v00001180d00000843sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Inspiron 1420) - - pci:v00001180d00000843sv00001028sd000001F5* -- ID_MODEL_FROM_DATABASE=Dell Inspiron 1501 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Inspiron 1501) - - pci:v00001180d00000843sv00001028sd0000024F* -- ID_MODEL_FROM_DATABASE=Dell Latitude e6500 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Dell Latitude e6500) - - pci:v00001180d00000843sv0000103Csd000003B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V3242AU) - - pci:v00001180d00000843sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Presario V6133CL) - - pci:v00001180d00000843sv00001183sd00000843* -- ID_MODEL_FROM_DATABASE=Alienware Aurora m9700 -+ ID_MODEL_FROM_DATABASE=R5C843 MMC Host Controller (Alienware Aurora m9700) - - pci:v00001180d00000852* - ID_MODEL_FROM_DATABASE=xD-Picture Card Controller - - pci:v00001180d00000852sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Aspire 5920G) - - pci:v00001180d00000852sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Inspiron 1420) - - pci:v00001180d00000852sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V3242AU) - - pci:v00001180d00000852sv0000103Csd000030B7* -- ID_MODEL_FROM_DATABASE=Presario V6133CL -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Presario V6133CL) - - pci:v00001180d00000852sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv6700) - - pci:v00001180d00000852sv0000103Csd000030CF* -- ID_MODEL_FROM_DATABASE=Pavilion dv9668eg Laptop -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion dv9668eg Laptop) - - pci:v00001180d00000852sv00001043sd00001967* -- ID_MODEL_FROM_DATABASE=V6800V -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (V6800V) - - pci:v00001180d00000852sv00001180sd00000852* -- ID_MODEL_FROM_DATABASE=Pavilion 2410us -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (Pavilion 2410us) - - pci:v00001180d00000852sv00001324sd000010CF* -- ID_MODEL_FROM_DATABASE=P7120 -+ ID_MODEL_FROM_DATABASE=xD-Picture Card Controller (P7120) - - pci:v00001180d0000E230* - ID_MODEL_FROM_DATABASE=R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] -@@ -34206,19 +34206,19 @@ pci:v00001180d0000E476* - ID_MODEL_FROM_DATABASE=CardBus bridge - - pci:v00001180d0000E476sv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6410) - - pci:v00001180d0000E476sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=CardBus bridge (Latitude E6510) - - pci:v00001180d0000E822* - ID_MODEL_FROM_DATABASE=MMC/SD Host Controller - - pci:v00001180d0000E822sv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6410) - - pci:v00001180d0000E822sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=MMC/SD Host Controller (Latitude E6510) - - pci:v00001180d0000E823* - ID_MODEL_FROM_DATABASE=PCIe SDXC/MMC Host Controller -@@ -34227,10 +34227,10 @@ pci:v00001180d0000E832* - ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller - - pci:v00001180d0000E832sv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6410) - - pci:v00001180d0000E832sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=R5C832 PCIe IEEE 1394 Controller (Latitude E6510) - - pci:v00001180d0000E852* - ID_MODEL_FROM_DATABASE=PCIe xD-Picture Card Controller -@@ -34254,10 +34254,10 @@ pci:v00001186d00001002* - ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet - - pci:v00001186d00001002sv00001186sd00001002* -- ID_MODEL_FROM_DATABASE=DFE-550TX/FX -+ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-550TX/FX) - - pci:v00001186d00001002sv00001186sd00001012* -- ID_MODEL_FROM_DATABASE=DFE-580TX -+ ID_MODEL_FROM_DATABASE=DL10050 Sundance Ethernet (DFE-580TX) - - pci:v00001186d00001025* - ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G650 Adapter -@@ -34272,13 +34272,13 @@ pci:v00001186d00001300* - ID_MODEL_FROM_DATABASE=RTL8139 Ethernet - - pci:v00001186d00001300sv00001186sd00001300* -- ID_MODEL_FROM_DATABASE=DFE-538TX 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-538TX 10/100 Ethernet Adapter) - - pci:v00001186d00001300sv00001186sd00001301* -- ID_MODEL_FROM_DATABASE=DFE-530TX+ 10/100 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-530TX+ 10/100 Ethernet Adapter) - - pci:v00001186d00001300sv00001186sd00001303* -- ID_MODEL_FROM_DATABASE=DFE-528TX 10/100 Fast Ethernet PCI Adapter -+ ID_MODEL_FROM_DATABASE=RTL8139 Ethernet (DFE-528TX 10/100 Fast Ethernet PCI Adapter) - - pci:v00001186d00001340* - ID_MODEL_FROM_DATABASE=DFE-690TXD CardBus PC Card -@@ -34296,10 +34296,10 @@ pci:v00001186d00003300* - ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] - - pci:v00001186d00003300sv00001186sd00003300* -- ID_MODEL_FROM_DATABASE=DWL-610 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-610 Wireless Cardbus Adapter) - - pci:v00001186d00003300sv00001186sd00003301* -- ID_MODEL_FROM_DATABASE=DWL-510 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=DWL-510 / DWL-610 802.11b [Realtek RTL8180L] (DWL-510 Wireless PCI Adapter) - - pci:v00001186d00003A10* - ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B) -@@ -34317,7 +34317,7 @@ pci:v00001186d00004300* - ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter - - pci:v00001186d00004300sv00001186sd00004B10* -- ID_MODEL_FROM_DATABASE=DGE-560T PCI Express (x1) Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter (DGE-560T PCI Express (x1) Gigabit Ethernet Adapter) - - pci:v00001186d00004302* - ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169] -@@ -34338,7 +34338,7 @@ pci:v00001186d00004C00* - ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter - - pci:v00001186d00004C00sv00001186sd00004C00* -- ID_MODEL_FROM_DATABASE=DGE-530T Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (DGE-530T Gigabit Ethernet Adapter) - - pci:v00001186d00008400* - ID_MODEL_FROM_DATABASE=D-Link DWL-650+ CardBus PC Card -@@ -34620,7 +34620,7 @@ pci:v000011ABd00001FA6* - ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter - - pci:v000011ABd00001FA6sv00001186sd00003B08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1) -+ ID_MODEL_FROM_DATABASE=Marvell W8300 802.11 Adapter (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1)) - - pci:v000011ABd00001FA7* - ID_MODEL_FROM_DATABASE=88W8310 and 88W8000G [Libertas] 802.11g client chipset -@@ -34629,13 +34629,13 @@ pci:v000011ABd00001FAA* - ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless - - pci:v000011ABd00001FAAsv00001385sd00004E00* -- ID_MODEL_FROM_DATABASE=WG511v2 54 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG511v2 54 Mbps Wireless PC Card) - - pci:v000011ABd00001FAAsv00001385sd00006B00* -- ID_MODEL_FROM_DATABASE=WG311v3 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WG311v3 802.11g Wireless PCI Adapter) - - pci:v000011ABd00001FAAsv00001737sd00000040* -- ID_MODEL_FROM_DATABASE=WPC54G v5 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=88w8335 [Libertas] 802.11b/g Wireless (WPC54G v5 802.11g Wireless-G Notebook Adapter) - - pci:v000011ABd00002211* - ID_MODEL_FROM_DATABASE=88SB2211 PCI Express to PCI Bridge -@@ -34647,19 +34647,19 @@ pci:v000011ABd00002A02* - ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless - - pci:v000011ABd00002A02sv000007D1sd00003B02* -- ID_MODEL_FROM_DATABASE=DIR-615 rev. A1 Mini PCI Wireless Module -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (DIR-615 rev. A1 Mini PCI Wireless Module) - - pci:v000011ABd00002A02sv00001385sd00007C00* -- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless PC Card) - - pci:v000011ABd00002A02sv00001385sd00007C01* -- ID_MODEL_FROM_DATABASE=WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter) - - pci:v000011ABd00002A02sv00001385sd00007E00* -- ID_MODEL_FROM_DATABASE=WN311T RangeMax Next 300 Mbps Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (WN311T RangeMax Next 300 Mbps Wireless PCI Adapter) - - pci:v000011ABd00002A02sv00001799sd0000801B* -- ID_MODEL_FROM_DATABASE=F5D8011 v2 802.11n N1 Wireless Notebook Card -+ ID_MODEL_FROM_DATABASE=88W8361 [TopDog] 802.11n Wireless (F5D8011 v2 802.11n N1 Wireless Notebook Card) - - pci:v000011ABd00002A08* - ID_MODEL_FROM_DATABASE=88W8362e [TopDog] 802.11a/b/g/n Wireless -@@ -34701,58 +34701,58 @@ pci:v000011ABd00004320* - ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller - - pci:v000011ABd00004320sv00001019sd00000F38* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) - - pci:v000011ABd00004320sv00001019sd00008001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (ECS) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (ECS)) - - pci:v000011ABd00004320sv00001043sd0000173C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004320sv00001043sd0000811A* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004320sv0000105Bsd00000C19* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Foxconn) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)) - - pci:v000011ABd00004320sv000010B8sd0000B452* -- ID_MODEL_FROM_DATABASE=EZ Card 1000 (SMC9452TXV.2) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (EZ Card 1000 (SMC9452TXV.2)) - - pci:v000011ABd00004320sv000011ABsd00000121* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8001 -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8001) - - pci:v000011ABd00004320sv000011ABsd00000321* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8003 -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8003) - - pci:v000011ABd00004320sv000011ABsd00001021* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8010 -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell RDK-8010) - - pci:v000011ABd00004320sv000011ABsd00004320* -- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus)) - - pci:v000011ABd00004320sv000011ABsd00005021* -- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)) - - pci:v000011ABd00004320sv000011ABsd00009521* -- ID_MODEL_FROM_DATABASE=Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)) - - pci:v000011ABd00004320sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)) - - pci:v000011ABd00004320sv0000147Bsd00001406* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Abit) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Abit)) - - pci:v000011ABd00004320sv000015D4sd00000047* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Iwill) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Iwill)) - - pci:v000011ABd00004320sv00001695sd00009025* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Epox) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Epox)) - - pci:v000011ABd00004320sv000017F2sd00001C03* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Albatron) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Albatron)) - - pci:v000011ABd00004320sv0000270Fsd00002803* -- ID_MODEL_FROM_DATABASE=Marvell 88E8001 Gigabit Ethernet Controller (Chaintech) -+ ID_MODEL_FROM_DATABASE=88E8001 Gigabit Ethernet Controller (Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)) - - pci:v000011ABd00004340* - ID_MODEL_FROM_DATABASE=88E8021 PCI-X IPMI Gigabit Ethernet Controller -@@ -34779,115 +34779,115 @@ pci:v000011ABd00004347* - ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller - - pci:v000011ABd00004347sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 PrAMC Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=88E8062 PCI-E IPMI Gigabit Ethernet Controller (Telum ASLP10 PrAMC Gigabit Ethernet) - - pci:v000011ABd00004350* - ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004350sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (Toshiba) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (Toshiba)) - - pci:v000011ABd00004350sv000011ABsd00003521* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8035 -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell RDK-8035) - - pci:v000011ABd00004350sv00001854sd0000000D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000000E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000000F* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000011* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000012* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000016* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000017* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000018* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000019* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000001C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd0000001E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004350sv00001854sd00000020* -- ID_MODEL_FROM_DATABASE=Marvell 88E8035 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8035 PCI-E Fast Ethernet Controller (Marvell 88E8035 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351* - ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004351sv0000107Bsd00004009* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Wistron) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Wistron)) - - pci:v000011ABd00004351sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Panasonic) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Panasonic)) - - pci:v000011ABd00004351sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Toshiba) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Toshiba)) - - pci:v000011ABd00004351sv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Compal) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Compal)) - - pci:v000011ABd00004351sv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Inventec) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Inventec)) - - pci:v000011ABd00004351sv000011ABsd00003621* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8036 -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell RDK-8036) - - pci:v000011ABd00004351sv000013D1sd0000AC12* -- ID_MODEL_FROM_DATABASE=Abocom EFE3K - 10/100 Ethernet Expresscard -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Abocom EFE3K - 10/100 Ethernet Expresscard) - - pci:v000011ABd00004351sv0000161Fsd0000203D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (Arima) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (Arima)) - - pci:v000011ABd00004351sv00001854sd0000000D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000000E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000000F* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000011* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000012* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000016* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000017* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000018* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000019* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000001C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd0000001E* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004351sv00001854sd00000020* -- ID_MODEL_FROM_DATABASE=Marvell 88E8036 Fast Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8036 PCI-E Fast Ethernet Controller (Marvell 88E8036 Fast Ethernet Controller (LGE)) - - pci:v000011ABd00004352* - ID_MODEL_FROM_DATABASE=88E8038 PCI-E Fast Ethernet Controller -@@ -34896,19 +34896,19 @@ pci:v000011ABd00004353* - ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004353sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=88E8039 PCI-E Fast Ethernet Controller (VAIO VGN-NR120E) - - pci:v000011ABd00004354* - ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller - - pci:v000011ABd00004354sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) - - pci:v000011ABd00004355* - ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller - - pci:v000011ABd00004355sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=88E8040T PCI-E Fast Ethernet Controller (Satellite P305D-S8995E) - - pci:v000011ABd00004356* - ID_MODEL_FROM_DATABASE=88EC033 PCI-E Fast Ethernet Controller -@@ -34923,163 +34923,163 @@ pci:v000011ABd00004360* - ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller - - pci:v000011ABd00004360sv00001043sd00008134* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004360sv0000107Bsd00004009* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Wistron) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Wistron)) - - pci:v000011ABd00004360sv000011ABsd00005221* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8052 -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell RDK-8052) - - pci:v000011ABd00004360sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)) - - pci:v000011ABd00004360sv00001462sd0000052C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (MSI) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (MSI)) - - pci:v000011ABd00004360sv00001849sd00008052* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (ASRock) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (ASRock)) - - pci:v000011ABd00004360sv0000A0A0sd00000509* -- ID_MODEL_FROM_DATABASE=Marvell 88E8052 Gigabit Ethernet Controller (Aopen) -+ ID_MODEL_FROM_DATABASE=88E8052 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8052 Gigabit Ethernet Controller (Aopen)) - - pci:v000011ABd00004361* - ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller - - pci:v000011ABd00004361sv0000107Bsd00003015* -- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Gateway) -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Gateway)) - - pci:v000011ABd00004361sv000011ABsd00005021* -- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) - - pci:v000011ABd00004361sv00008086sd00003063* -- ID_MODEL_FROM_DATABASE=D925XCVLK mainboard -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (D925XCVLK mainboard) - - pci:v000011ABd00004361sv00008086sd00003439* -- ID_MODEL_FROM_DATABASE=Marvell 88E8050 Gigabit Ethernet Controller (Intel) -+ ID_MODEL_FROM_DATABASE=88E8050 PCI-E ASF Gigabit Ethernet Controller (Marvell 88E8050 Gigabit Ethernet Controller (Intel)) - - pci:v000011ABd00004362* - ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller - - pci:v000011ABd00004362sv0000103Csd00002A0D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Asus) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Asus)) - - pci:v000011ABd00004362sv00001043sd00008142* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus)) - - pci:v000011ABd00004362sv0000109Fsd00003197* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Trigem) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Trigem)) - - pci:v000011ABd00004362sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Panasonic) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)) - - pci:v000011ABd00004362sv000010FDsd0000A430* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (SOYO) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (SOYO)) - - pci:v000011ABd00004362sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Toshiba) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)) - - pci:v000011ABd00004362sv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) - - pci:v000011ABd00004362sv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Inventec) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Inventec)) - - pci:v000011ABd00004362sv000011ABsd00005321* -- ID_MODEL_FROM_DATABASE=Marvell RDK-8053 -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell RDK-8053) - - pci:v000011ABd00004362sv00001297sd0000C240* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C241* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C242* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C243* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv00001297sd0000C244* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)) - - pci:v000011ABd00004362sv000013D1sd0000AC11* -- ID_MODEL_FROM_DATABASE=EGE5K - Giga Ethernet Expresscard -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (EGE5K - Giga Ethernet Expresscard) - - pci:v000011ABd00004362sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)) - - pci:v000011ABd00004362sv00001462sd0000058C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (MSI) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (MSI)) - - pci:v000011ABd00004362sv000014C0sd00000012* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Compal) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Compal)) - - pci:v000011ABd00004362sv00001558sd000004A0* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Clevo) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Clevo)) - - pci:v000011ABd00004362sv000015BDsd00001003* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (DFI) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (DFI)) - - pci:v000011ABd00004362sv0000161Fsd0000203C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) - - pci:v000011ABd00004362sv0000161Fsd0000203D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Arima) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Arima)) - - pci:v000011ABd00004362sv00001695sd00009029* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Epox) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Epox)) - - pci:v000011ABd00004362sv000017F2sd00002C08* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Albatron) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Albatron)) - - pci:v000011ABd00004362sv000017FFsd00000585* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Quanta) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Quanta)) - - pci:v000011ABd00004362sv00001849sd00008053* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (ASRock) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (ASRock)) - - pci:v000011ABd00004362sv00001854sd0000000B* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000000C* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000010* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000013* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000014* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000015* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001A* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001B* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001D* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd0000001F* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000021* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv00001854sd00000022* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (LGE) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (LGE)) - - pci:v000011ABd00004362sv0000270Fsd00002801* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Chaintech) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)) - - pci:v000011ABd00004362sv0000A0A0sd00000506* -- ID_MODEL_FROM_DATABASE=Marvell 88E8053 Gigabit Ethernet Controller (Aopen) -+ ID_MODEL_FROM_DATABASE=88E8053 PCI-E Gigabit Ethernet Controller (Marvell 88E8053 Gigabit Ethernet Controller (Aopen)) - - pci:v000011ABd00004363* - ID_MODEL_FROM_DATABASE=88E8055 PCI-E Gigabit Ethernet Controller -@@ -35088,10 +35088,10 @@ pci:v000011ABd00004364* - ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller - - pci:v000011ABd00004364sv00001043sd000081F8* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (Motherboard) - - pci:v000011ABd00004364sv000011BAsd000000BA* -- ID_MODEL_FROM_DATABASE=8056 Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=88E8056 PCI-E Gigabit Ethernet Controller (8056 Gigabit Ethernet Controller) - - pci:v000011ABd00004365* - ID_MODEL_FROM_DATABASE=88E8070 based Ethernet Controller -@@ -35112,7 +35112,7 @@ pci:v000011ABd0000436A* - ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller - - pci:v000011ABd0000436Asv000011ABsd000000BA* -- ID_MODEL_FROM_DATABASE=Imac 8,1 Wired Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=88E8058 PCI-E Gigabit Ethernet Controller (Imac 8,1 Wired Ethernet Adapter) - - pci:v000011ABd0000436B* - ID_MODEL_FROM_DATABASE=88E8071 PCI-E Gigabit Ethernet Controller -@@ -35178,7 +35178,7 @@ pci:v000011ABd00006101* - ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface - - pci:v000011ABd00006101sv00001043sd000082E0* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=88SE6101/6102 single-port PATA133 interface (P5K PRO Motherboard) - - pci:v000011ABd00006111* - ID_MODEL_FROM_DATABASE=88SE6111 1-port PATA133(IDE) and 1-port SATA II Controllers -@@ -35217,7 +35217,7 @@ pci:v000011ABd00006480* - ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller - - pci:v000011ABd00006480sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K CompactPCI single board computer -+ ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller (C2K CompactPCI single board computer) - - pci:v000011ABd00006485* - ID_MODEL_FROM_DATABASE=MV64460/64461/64462 System Controller, Revision B -@@ -35226,7 +35226,7 @@ pci:v000011ABd00007042* - ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II - - pci:v000011ABd00007042sv000016B8sd0000434B* -- ID_MODEL_FROM_DATABASE=Tempo SATA E4P -+ ID_MODEL_FROM_DATABASE=88SX7042 PCI-e 4-port SATA-II (Tempo SATA E4P) - - pci:v000011ABd00007810* - ID_MODEL_FROM_DATABASE=MV78100 [Discovery Innovation] ARM SoC -@@ -35259,19 +35259,19 @@ pci:v000011ADd00000002sv000011ADsd0000FFFF* - ID_MODEL_FROM_DATABASE=LNE100TX - - pci:v000011ADd00000002sv00001385sd0000F004* -- ID_MODEL_FROM_DATABASE=FA310TX -+ ID_MODEL_FROM_DATABASE=LNE100TX (FA310TX) - - pci:v000011ADd00000002sv00002646sd0000F002* -- ID_MODEL_FROM_DATABASE=KNE110TX EtheRx Fast Ethernet -+ ID_MODEL_FROM_DATABASE=LNE100TX (KNE110TX EtheRx Fast Ethernet) - - pci:v000011ADd0000C115* - ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] - - pci:v000011ADd0000C115sv000011ADsd0000C001* -- ID_MODEL_FROM_DATABASE=LNE100TX [ver 2.0] -+ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (LNE100TX [ver 2.0]) - - pci:v000011ADd0000C115sv00002646sd0000000B* -- ID_MODEL_FROM_DATABASE=KNE111TX -+ ID_MODEL_FROM_DATABASE=LNE100TX [Linksys EtherFast 10/100] (KNE111TX) - - pci:v000011AE* - ID_VENDOR_FROM_DATABASE=Aztech System Ltd -@@ -35355,28 +35355,28 @@ pci:v000011BDd00000040* - ID_MODEL_FROM_DATABASE=Royal TS Function 1 - - pci:v000011BDd00000040sv000011BDsd00000044* -- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 1 -+ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV 2000i Dual DVB-T Pro PCI Tuner 1) - - pci:v000011BDd00000040sv000011BDsd00000045* -- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 1 -+ ID_MODEL_FROM_DATABASE=Royal TS Function 1 (PCTV Dual Sat Pro PCI 4000i Tuner 1) - - pci:v000011BDd00000041* - ID_MODEL_FROM_DATABASE=RoyalTS Function 2 - - pci:v000011BDd00000041sv000011BDsd00000044* -- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Tuner 2 -+ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV 2000i Dual DVB-T Pro PCI Tuner 2) - - pci:v000011BDd00000041sv000011BDsd00000045* -- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Tuner 2 -+ ID_MODEL_FROM_DATABASE=RoyalTS Function 2 (PCTV Dual Sat Pro PCI 4000i Tuner 2) - - pci:v000011BDd00000042* - ID_MODEL_FROM_DATABASE=Royal TS Function 3 - - pci:v000011BDd00000042sv000011BDsd00000044* -- ID_MODEL_FROM_DATABASE=PCTV 2000i Dual DVB-T Pro PCI Common -+ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV 2000i Dual DVB-T Pro PCI Common) - - pci:v000011BDd00000042sv000011BDsd00000045* -- ID_MODEL_FROM_DATABASE=PCTV Dual Sat Pro PCI 4000i Common -+ ID_MODEL_FROM_DATABASE=Royal TS Function 3 (PCTV Dual Sat Pro PCI 4000i Common) - - pci:v000011BDd00000051* - ID_MODEL_FROM_DATABASE=PCTV HD 800i -@@ -35400,154 +35400,154 @@ pci:v000011C1d00000440* - ID_MODEL_FROM_DATABASE=56k WinModem - - pci:v000011C1d00000440sv00001033sd00008015* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv00001033sd00008047* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv00001033sd0000804F* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000010CFsd0000102C* -- ID_MODEL_FROM_DATABASE=LB LT Modem V.90 56k -+ ID_MODEL_FROM_DATABASE=56k WinModem (LB LT Modem V.90 56k) - - pci:v000011C1d00000440sv000010CFsd0000104A* -- ID_MODEL_FROM_DATABASE=BIBLO LT Modem 56k -+ ID_MODEL_FROM_DATABASE=56k WinModem (BIBLO LT Modem 56k) - - pci:v000011C1d00000440sv000010CFsd0000105F* -- ID_MODEL_FROM_DATABASE=LB2 LT Modem V.90 56k -+ ID_MODEL_FROM_DATABASE=56k WinModem (LB2 LT Modem V.90 56k) - - pci:v000011C1d00000440sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Internal V.90 Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) - - pci:v000011C1d00000440sv000011C1sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv0000122Dsd00004101* -- ID_MODEL_FROM_DATABASE=MDP7800-U Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) - - pci:v000011C1d00000440sv0000122Dsd00004102* -- ID_MODEL_FROM_DATABASE=MDP7800SP-U Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800SP-U Modem) - - pci:v000011C1d00000440sv000013E0sd00000040* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd00000441* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd00000450* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd0000F100* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv000013E0sd0000F101* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000440sv0000144Dsd00002101* -- ID_MODEL_FROM_DATABASE=LT56PV Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PV Modem) - - pci:v000011C1d00000440sv0000149Fsd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000441* - ID_MODEL_FROM_DATABASE=56k WinModem - - pci:v000011C1d00000441sv00001033sd0000804D* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv00001033sd00008065* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv00001092sd00000440* -- ID_MODEL_FROM_DATABASE=Supra 56i -+ ID_MODEL_FROM_DATABASE=56k WinModem (Supra 56i) - - pci:v000011C1d00000441sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Internal V.90 Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Internal V.90 Modem) - - pci:v000011C1d00000441sv000011C1sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000011C1sd00000441* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv0000122Dsd00004100* -- ID_MODEL_FROM_DATABASE=MDP7800-U Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (MDP7800-U Modem) - - pci:v000011C1d00000441sv000013E0sd00000040* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000100* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000410* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000420* -- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem -+ ID_MODEL_FROM_DATABASE=56k WinModem (TelePath Internet 56k WinModem) - - pci:v000011C1d00000441sv000013E0sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd00000443* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv000013E0sd0000F102* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv00001416sd00009804* -- ID_MODEL_FROM_DATABASE=CommWave 56k Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (CommWave 56k Modem) - - pci:v000011C1d00000441sv0000141Dsd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000441sv0000144Fsd00000441* -- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) - - pci:v000011C1d00000441sv0000144Fsd00000449* -- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DF Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent 56k V.90 DF Modem) - - pci:v000011C1d00000441sv0000144Fsd0000110D* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) - - pci:v000011C1d00000441sv00001468sd00000441* -- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DF Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Presario 56k V.90 DF Modem) - - pci:v000011C1d00000441sv00001668sd00000440* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (Lucent Win Modem) - - pci:v000011C1d00000442* - ID_MODEL_FROM_DATABASE=56k WinModem - - pci:v000011C1d00000442sv000011C1sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000011C1sd00000442* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000013E0sd00000412* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000013E0sd00000442* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv000013FCsd00002471* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv0000144Dsd00002104* -- ID_MODEL_FROM_DATABASE=LT56PT Modem -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT56PT Modem) - - pci:v000011C1d00000442sv0000144Fsd00001104* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv0000149Fsd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000442sv00001668sd00000440* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=56k WinModem (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d00000443* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35559,10 +35559,10 @@ pci:v000011C1d00000445* - ID_MODEL_FROM_DATABASE=LT WinModem - - pci:v000011C1d00000445sv00008086sd00002203* -- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card) -+ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card)) - - pci:v000011C1d00000445sv00008086sd00002204* -- ID_MODEL_FROM_DATABASE=PRO/100+ MiniPCI on Armada E500 -+ ID_MODEL_FROM_DATABASE=LT WinModem (PRO/100+ MiniPCI on Armada E500) - - pci:v000011C1d00000446* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35574,64 +35574,64 @@ pci:v000011C1d00000448* - ID_MODEL_FROM_DATABASE=WinModem 56k - - pci:v000011C1d00000448sv00001014sd00000131* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=WinModem 56k (Lucent Win Modem) - - pci:v000011C1d00000448sv00001033sd00008066* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000448sv000013E0sd00000030* -- ID_MODEL_FROM_DATABASE=56k Voice Modem -+ ID_MODEL_FROM_DATABASE=WinModem 56k (56k Voice Modem) - - pci:v000011C1d00000448sv000013E0sd00000040* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+Dsvd -+ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k Data+Fax+Voice+Dsvd) - - pci:v000011C1d00000448sv00001668sd00002400* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k (MiniPCI Ethernet+Modem) -+ ID_MODEL_FROM_DATABASE=WinModem 56k (LT WinModem 56k (MiniPCI Ethernet+Modem)) - - pci:v000011C1d00000449* - ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k - - pci:v000011C1d00000449sv00000E11sd0000B14D* -- ID_MODEL_FROM_DATABASE=56k V.90 Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (56k V.90 Modem) - - pci:v000011C1d00000449sv00001014sd0000018C* -- ID_MODEL_FROM_DATABASE=ThinkPad 600X -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (ThinkPad 600X) - - pci:v000011C1d00000449sv000013E0sd00000020* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (LT WinModem 56k Data+Fax) - - pci:v000011C1d00000449sv000013E0sd00000041* -- ID_MODEL_FROM_DATABASE=TelePath Internet 56k WinModem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (TelePath Internet 56k WinModem) - - pci:v000011C1d00000449sv00001436sd00000440* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) - - pci:v000011C1d00000449sv0000144Fsd00000449* -- ID_MODEL_FROM_DATABASE=Lucent 56k V.90 DFi Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent 56k V.90 DFi Modem) - - pci:v000011C1d00000449sv00001468sd00000410* -- ID_MODEL_FROM_DATABASE=IBM ThinkPad T23 -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (IBM ThinkPad T23) - - pci:v000011C1d00000449sv00001468sd00000440* -- ID_MODEL_FROM_DATABASE=Lucent Win Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Lucent Win Modem) - - pci:v000011C1d00000449sv00001468sd00000449* -- ID_MODEL_FROM_DATABASE=Presario 56k V.90 DFi Modem -+ ID_MODEL_FROM_DATABASE=L56xM+S [Mars-2] WinModem 56k (Presario 56k V.90 DFi Modem) - - pci:v000011C1d0000044A* - ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) - - pci:v000011C1d0000044Asv000010CFsd00001072* -- ID_MODEL_FROM_DATABASE=LB Global LT Modem -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LB Global LT Modem) - - pci:v000011C1d0000044Asv000013E0sd00000012* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d0000044Asv000013E0sd00000042* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d0000044Asv0000144Fsd00001005* -- ID_MODEL_FROM_DATABASE=LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd -+ ID_MODEL_FROM_DATABASE=F-1156IV WinModem (V90, 56KFlex) (LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd) - - pci:v000011C1d0000044B* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35652,13 +35652,13 @@ pci:v000011C1d00000450* - ID_MODEL_FROM_DATABASE=LT WinModem - - pci:v000011C1d00000450sv00001033sd000080A8* -- ID_MODEL_FROM_DATABASE=Versa Note Vxi -+ ID_MODEL_FROM_DATABASE=LT WinModem (Versa Note Vxi) - - pci:v000011C1d00000450sv0000144Fsd00004005* -- ID_MODEL_FROM_DATABASE=Magnia SG20 -+ ID_MODEL_FROM_DATABASE=LT WinModem (Magnia SG20) - - pci:v000011C1d00000450sv00001468sd00000450* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=LT WinModem (Evo N600c) - - pci:v000011C1d00000451* - ID_MODEL_FROM_DATABASE=LT WinModem -@@ -35733,22 +35733,22 @@ pci:v000011C1d00005811* - ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller - - pci:v000011C1d00005811sv0000103Csd00002A34* -- ID_MODEL_FROM_DATABASE=Pavilion a1677c -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion a1677c) - - pci:v000011C1d00005811sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Asus IPIBL-LB Motherboard) - - pci:v000011C1d00005811sv0000103Csd00002A9E* -- ID_MODEL_FROM_DATABASE=Pavilion p6310f -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (Pavilion p6310f) - - pci:v000011C1d00005811sv00001043sd00008294* -- ID_MODEL_FROM_DATABASE=LSI FW322/323 IEEE 1394a FireWire Controller -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (LSI FW322/323 IEEE 1394a FireWire Controller) - - pci:v000011C1d00005811sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (D865PERL mainboard) - - pci:v000011C1d00005811sv0000DEADsd00000800* -- ID_MODEL_FROM_DATABASE=FireWire Host Bus Adapter -+ ID_MODEL_FROM_DATABASE=FW322/323 [TrueFire] 1394a Controller (FireWire Host Bus Adapter) - - pci:v000011C1d00005901* - ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller -@@ -35757,10 +35757,10 @@ pci:v000011C1d00005901sv000011C1sd00005900* - ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller - - pci:v000011C1d00005901sv00001443sd00000643* -- ID_MODEL_FROM_DATABASE=FireBoard800-e V.2 -+ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FireBoard800-e V.2) - - pci:v000011C1d00005901sv00001546sd00000643* -- ID_MODEL_FROM_DATABASE=FWB-PCIE1X2x -+ ID_MODEL_FROM_DATABASE=FW643 [TrueFire] PCIe 1394b Controller (FWB-PCIE1X2x) - - pci:v000011C1d00005903* - ID_MODEL_FROM_DATABASE=FW533 [TrueFire] PCIe 1394a Controller -@@ -35769,7 +35769,7 @@ pci:v000011C1d00008110* - ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch - - pci:v000011C1d00008110sv000012D9sd0000000C* -- ID_MODEL_FROM_DATABASE=E1/T1 PMXc cPCI carrier card -+ ID_MODEL_FROM_DATABASE=T8110 H.100/H.110 TDM switch (E1/T1 PMXc cPCI carrier card) - - pci:v000011C1d0000AB10* - ID_MODEL_FROM_DATABASE=WL60010 Wireless LAN MAC -@@ -35778,16 +35778,16 @@ pci:v000011C1d0000AB11* - ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC - - pci:v000011C1d0000AB11sv000011C1sd0000AB12* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1102) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1102)) - - pci:v000011C1d0000AB11sv000011C1sd0000AB13* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0512) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0512)) - - pci:v000011C1d0000AB11sv000011C1sd0000AB15* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg Cardbus card (Model 1106) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg Cardbus card (Model 1106)) - - pci:v000011C1d0000AB11sv000011C1sd0000AB16* -- ID_MODEL_FROM_DATABASE=WaveLAN 11abg MiniPCI card (Model 0516) -+ ID_MODEL_FROM_DATABASE=WL60040 Multimode Wireles LAN MAC (WaveLAN 11abg MiniPCI card (Model 0516)) - - pci:v000011C1d0000AB20* - ID_MODEL_FROM_DATABASE=ORiNOCO PCI Adapter -@@ -35856,10 +35856,10 @@ pci:v000011CBd00002000* - ID_MODEL_FROM_DATABASE=PCI_9050 - - pci:v000011CBd00002000sv000011CBsd00000200* -- ID_MODEL_FROM_DATABASE=SX -+ ID_MODEL_FROM_DATABASE=PCI_9050 (SX) - - pci:v000011CBd00002000sv000011CBsd0000B008* -- ID_MODEL_FROM_DATABASE=I/O8+ -+ ID_MODEL_FROM_DATABASE=PCI_9050 (I/O8+) - - pci:v000011CBd00004000* - ID_MODEL_FROM_DATABASE=SUPI_1 -@@ -35949,28 +35949,28 @@ pci:v000011DEd00006057* - ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset - - pci:v000011DEd00006057sv00001031sd00007EFE* -- ID_MODEL_FROM_DATABASE=DC10 Plus -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (DC10 Plus) - - pci:v000011DEd00006057sv00001031sd0000FC00* -- ID_MODEL_FROM_DATABASE=MiroVIDEO DC50, Motion JPEG Capture/CODEC Board -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (MiroVIDEO DC50, Motion JPEG Capture/CODEC Board) - - pci:v000011DEd00006057sv000012F8sd00008A02* -- ID_MODEL_FROM_DATABASE=Tekram Video Kit -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (Tekram Video Kit) - - pci:v000011DEd00006057sv000013CAsd00004231* -- ID_MODEL_FROM_DATABASE=JPEG/TV Card -+ ID_MODEL_FROM_DATABASE=ZR36057PQC Video cutting chipset (JPEG/TV Card) - - pci:v000011DEd00006120* - ID_MODEL_FROM_DATABASE=ZR36120 - - pci:v000011DEd00006120sv00001328sd0000F001* -- ID_MODEL_FROM_DATABASE=Cinemaster C DVD Decoder -+ ID_MODEL_FROM_DATABASE=ZR36120 (Cinemaster C DVD Decoder) - - pci:v000011DEd00006120sv000013C2sd00000000* -- ID_MODEL_FROM_DATABASE=MediaFocus Satellite TV Card -+ ID_MODEL_FROM_DATABASE=ZR36120 (MediaFocus Satellite TV Card) - - pci:v000011DEd00006120sv00001DE1sd00009FFF* -- ID_MODEL_FROM_DATABASE=Video Kit C210 -+ ID_MODEL_FROM_DATABASE=ZR36120 (Video Kit C210) - - pci:v000011DF* - ID_VENDOR_FROM_DATABASE=New Wave PDG -@@ -36102,13 +36102,13 @@ pci:v000011F6d00002011* - ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 - - pci:v000011F6d00002011sv000011F6sd00002011* -- ID_MODEL_FROM_DATABASE=RL100-ATX -+ ID_MODEL_FROM_DATABASE=RL100-ATX 10/100 (RL100-ATX) - - pci:v000011F6d00002201* - ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) - - pci:v000011F6d00002201sv000011F6sd00002011* -- ID_MODEL_FROM_DATABASE=ReadyLink 100TX -+ ID_MODEL_FROM_DATABASE=ReadyLink 100TX (Winbond W89C840) (ReadyLink 100TX) - - pci:v000011F6d00009881* - ID_MODEL_FROM_DATABASE=RL100TX Fast Ethernet -@@ -36138,10 +36138,10 @@ pci:v000011F8d00008032* - ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN - - pci:v000011F8d00008032sv0000117Csd0000003B* -- ID_MODEL_FROM_DATABASE=Celerity FC-82EN Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-82EN Fibre Channel Adapter) - - pci:v000011F8d00008032sv0000117Csd0000003C* -- ID_MODEL_FROM_DATABASE=Celerity FC-84EN Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN (Celerity FC-84EN Fibre Channel Adapter) - - pci:v000011F9* - ID_VENDOR_FROM_DATABASE=I-Cube Inc -@@ -36285,16 +36285,16 @@ pci:v00001202d00004300* - ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter - - pci:v00001202d00004300sv00001202sd00009841* -- ID_MODEL_FROM_DATABASE=SK-9841 LX -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX) - - pci:v00001202d00004300sv00001202sd00009842* -- ID_MODEL_FROM_DATABASE=SK-9841 LX dual link -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9841 LX dual link) - - pci:v00001202d00004300sv00001202sd00009843* -- ID_MODEL_FROM_DATABASE=SK-9843 SX -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX) - - pci:v00001202d00004300sv00001202sd00009844* -- ID_MODEL_FROM_DATABASE=SK-9843 SX dual link -+ ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter (SK-9843 SX dual link) - - pci:v00001203* - ID_VENDOR_FROM_DATABASE=Bayer Corporation, Agfa Division -@@ -36411,7 +36411,7 @@ pci:v00001217d000000F7* - ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) - - pci:v00001217d000000F7sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) - - pci:v00001217d000010F7* - ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller -@@ -36420,7 +36420,7 @@ pci:v00001217d000011F7* - ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller - - pci:v00001217d000011F7sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=OZ600 1394a-2000 Controller (Precision M4600) - - pci:v00001217d000013F7* - ID_MODEL_FROM_DATABASE=1394 OHCI Compliant Host Controller -@@ -36447,31 +36447,31 @@ pci:v00001217d00006933* - ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller - - pci:v00001217d00006933sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=OZ6933/711E1 CardBus/SmartCardBus Controller (Travelmate 612 TX) - - pci:v00001217d00006972* - ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller - - pci:v00001217d00006972sv00001014sd0000020C* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (ThinkPad R30) - - pci:v00001217d00006972sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Latitude D500) - - pci:v00001217d00006972sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=OZ601/6912/711E0 CardBus/SmartCardBus Controller (Magnia Z310) - - pci:v00001217d00007110* - ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator - - pci:v00001217d00007110sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC8000 laptop) - - pci:v00001217d00007110sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (NC6000 laptop) - - pci:v00001217d00007110sv00001734sd0000106C* -- ID_MODEL_FROM_DATABASE=Amilo A1645 -+ ID_MODEL_FROM_DATABASE=OZ711Mx 4-in-1 MemoryCardBus Accelerator (Amilo A1645) - - pci:v00001217d00007112* - ID_MODEL_FROM_DATABASE=OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller -@@ -36480,7 +36480,7 @@ pci:v00001217d00007113* - ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller - - pci:v00001217d00007113sv00001025sd00000035* -- ID_MODEL_FROM_DATABASE=TravelMate 660 -+ ID_MODEL_FROM_DATABASE=OZ711EC1 SmartCardBus Controller (TravelMate 660) - - pci:v00001217d00007114* - ID_MODEL_FROM_DATABASE=OZ711M1/MC1 4-in-1 MemoryCardBus Controller -@@ -36489,13 +36489,13 @@ pci:v00001217d00007120* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller - - pci:v00001217d00007120sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) - - pci:v00001217d00007130* - ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller - - pci:v00001217d00007130sv00001179sd0000FF50* -- ID_MODEL_FROM_DATABASE=Satellite P305D-S8995E -+ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) - - pci:v00001217d00007134* - ID_MODEL_FROM_DATABASE=OZ711MP1/MS1 MemoryCardBus Controller -@@ -36519,13 +36519,13 @@ pci:v00001217d00007223* - ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller - - pci:v00001217d00007223sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC8000 laptop) - - pci:v00001217d00007223sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (NC6000 laptop) - - pci:v00001217d00007223sv000010CFsd000011C4* -- ID_MODEL_FROM_DATABASE=Lifebook P5020D Laptop -+ ID_MODEL_FROM_DATABASE=OZ711M3/MC3 4-in-1 MemoryCardBus Controller (Lifebook P5020D Laptop) - - pci:v00001217d00007233* - ID_MODEL_FROM_DATABASE=OZ711MP3/MS3 4-in-1 MemoryCardBus Controller -@@ -36540,7 +36540,7 @@ pci:v00001217d00008320* - ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller - - pci:v00001217d00008320sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) - - pci:v00001217d00008321* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller -@@ -36549,7 +36549,7 @@ pci:v00001217d00008330* - ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller - - pci:v00001217d00008330sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller (Precision M4600) - - pci:v00001217d00008331* - ID_MODEL_FROM_DATABASE=O2 Flash Memory Card -@@ -36576,52 +36576,52 @@ pci:v0000121Ad00000003* - ID_MODEL_FROM_DATABASE=Voodoo Banshee - - pci:v0000121Ad00000003sv00001092sd00000003* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00004000* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00004002* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00004801* -- ID_MODEL_FROM_DATABASE=Monster Fusion AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) - - pci:v0000121Ad00000003sv00001092sd00004803* -- ID_MODEL_FROM_DATABASE=Monster Fusion AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) - - pci:v0000121Ad00000003sv00001092sd00008030* -- ID_MODEL_FROM_DATABASE=Monster Fusion -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion) - - pci:v0000121Ad00000003sv00001092sd00008035* -- ID_MODEL_FROM_DATABASE=Monster Fusion AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Monster Fusion AGP) - - pci:v0000121Ad00000003sv000010B0sd00000001* -- ID_MODEL_FROM_DATABASE=Dragon 4000 -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Dragon 4000) - - pci:v0000121Ad00000003sv00001102sd00001017* -- ID_MODEL_FROM_DATABASE=3D Blaster Banshee PCI (CT6760) -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee PCI (CT6760)) - - pci:v0000121Ad00000003sv00001102sd00001018* -- ID_MODEL_FROM_DATABASE=3D Blaster Banshee VE -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (3D Blaster Banshee VE) - - pci:v0000121Ad00000003sv0000121Asd00000001* -- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP) - - pci:v0000121Ad00000003sv0000121Asd00000003* -- ID_MODEL_FROM_DATABASE=Voodoo Banshee AGP SGRAM -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (AGP SGRAM) - - pci:v0000121Ad00000003sv0000121Asd00000004* - ID_MODEL_FROM_DATABASE=Voodoo Banshee - - pci:v0000121Ad00000003sv0000139Csd00000016* -- ID_MODEL_FROM_DATABASE=Raven -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) - - pci:v0000121Ad00000003sv0000139Csd00000017* -- ID_MODEL_FROM_DATABASE=Raven -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Raven) - - pci:v0000121Ad00000003sv000014AFsd00000002* -- ID_MODEL_FROM_DATABASE=Maxi Gamer Phoenix -+ ID_MODEL_FROM_DATABASE=Voodoo Banshee (Maxi Gamer Phoenix) - - pci:v0000121Ad00000004* - ID_MODEL_FROM_DATABASE=Voodoo Banshee [Velocity 100] -@@ -36630,70 +36630,70 @@ pci:v0000121Ad00000005* - ID_MODEL_FROM_DATABASE=Voodoo 3 - - pci:v0000121Ad00000005sv0000121Asd00000004* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000030* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000031* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000034* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000036* -- ID_MODEL_FROM_DATABASE=Voodoo3 2000 PCI -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 2000 PCI) - - pci:v0000121Ad00000005sv0000121Asd00000037* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000038* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd0000003A* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000044* -- ID_MODEL_FROM_DATABASE=Voodoo3 -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3) - - pci:v0000121Ad00000005sv0000121Asd0000004B* -- ID_MODEL_FROM_DATABASE=Velocity 100 -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 100) - - pci:v0000121Ad00000005sv0000121Asd0000004C* -- ID_MODEL_FROM_DATABASE=Velocity 200 -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Velocity 200) - - pci:v0000121Ad00000005sv0000121Asd0000004D* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd0000004E* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000051* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000052* -- ID_MODEL_FROM_DATABASE=Voodoo3 AGP -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 AGP) - - pci:v0000121Ad00000005sv0000121Asd00000057* -- ID_MODEL_FROM_DATABASE=Voodoo3 3000 PCI -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3000 PCI) - - pci:v0000121Ad00000005sv0000121Asd00000060* -- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (NTSC) -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (NTSC)) - - pci:v0000121Ad00000005sv0000121Asd00000061* -- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (PAL) -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (PAL)) - - pci:v0000121Ad00000005sv0000121Asd00000062* -- ID_MODEL_FROM_DATABASE=Voodoo3 3500 TV (SECAM) -+ ID_MODEL_FROM_DATABASE=Voodoo 3 (Voodoo3 3500 TV (SECAM)) - - pci:v0000121Ad00000009* - ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 - - pci:v0000121Ad00000009sv0000121Asd00000003* -- ID_MODEL_FROM_DATABASE=Voodoo5 PCI 5500 -+ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 PCI 5500) - - pci:v0000121Ad00000009sv0000121Asd00000009* -- ID_MODEL_FROM_DATABASE=Voodoo5 AGP 5500/6000 -+ ID_MODEL_FROM_DATABASE=Voodoo 4 / Voodoo 5 (Voodoo5 AGP 5500/6000) - - pci:v0000121Ad00000057* - ID_MODEL_FROM_DATABASE=Voodoo 3/3000 [Avenger] -@@ -36930,31 +36930,31 @@ pci:v0000123Fd00008120* - ID_MODEL_FROM_DATABASE=DVxplore Codec - - pci:v0000123Fd00008120sv000010DEsd000001E1* -- ID_MODEL_FROM_DATABASE=NVTV PAL -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) - - pci:v0000123Fd00008120sv000010DEsd000001E2* -- ID_MODEL_FROM_DATABASE=NVTV NTSC -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) - - pci:v0000123Fd00008120sv000010DEsd000001E3* -- ID_MODEL_FROM_DATABASE=NVTV PAL -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) - - pci:v0000123Fd00008120sv000010DEsd00000248* -- ID_MODEL_FROM_DATABASE=NVTV NTSC -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV NTSC) - - pci:v0000123Fd00008120sv000010DEsd00000249* -- ID_MODEL_FROM_DATABASE=NVTV PAL -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (NVTV PAL) - - pci:v0000123Fd00008120sv000011BDsd00000006* -- ID_MODEL_FROM_DATABASE=DV500 E4 -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) - - pci:v0000123Fd00008120sv000011BDsd0000000A* -- ID_MODEL_FROM_DATABASE=DV500 E4 -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) - - pci:v0000123Fd00008120sv000011BDsd0000000F* -- ID_MODEL_FROM_DATABASE=DV500 E4 -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (DV500 E4) - - pci:v0000123Fd00008120sv00001809sd00000016* -- ID_MODEL_FROM_DATABASE=Emuzed MAUI-III PCI PVR FM TV -+ ID_MODEL_FROM_DATABASE=DVxplore Codec (Emuzed MAUI-III PCI PVR FM TV) - - pci:v0000123Fd00008888* - ID_MODEL_FROM_DATABASE=Cinemaster C 3.0 DVD Decoder -@@ -36981,10 +36981,10 @@ pci:v00001242d00001560* - ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller - - pci:v00001242d00001560sv00001242sd00006562* -- ID_MODEL_FROM_DATABASE=FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter) - - pci:v00001242d00001560sv00001242sd0000656A* -- ID_MODEL_FROM_DATABASE=FCX-6562 PCI-X Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=JNIC-1560 PCI-X Fibre Channel Controller (FCX-6562 PCI-X Fibre Channel Adapter) - - pci:v00001242d00004643* - ID_MODEL_FROM_DATABASE=FCI-1063 Fibre Channel Adapter -@@ -37011,7 +37011,7 @@ pci:v00001244d00000A00* - ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] - - pci:v00001244d00000A00sv00001244sd00000A00* -- ID_MODEL_FROM_DATABASE=FRITZ!Card ISDN Controller -+ ID_MODEL_FROM_DATABASE=A1 ISDN [Fritz] (FRITZ!Card ISDN Controller) - - pci:v00001244d00000E00* - ID_MODEL_FROM_DATABASE=Fritz!PCI v2.0 ISDN -@@ -37053,7 +37053,7 @@ pci:v0000124Bd00000040* - ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier - - pci:v0000124Bd00000040sv0000124Bsd00009080* -- ID_MODEL_FROM_DATABASE=PCI9080 Bridge -+ ID_MODEL_FROM_DATABASE=PCI-40A or cPCI-200 Quad IndustryPack carrier (PCI9080 Bridge) - - pci:v0000124C* - ID_VENDOR_FROM_DATABASE=Solitron Technologies, Inc. -@@ -37164,7 +37164,7 @@ pci:v0000125Bd00001400* - ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller - - pci:v0000125Bd00001400sv00001186sd00001100* -- ID_MODEL_FROM_DATABASE=AX8814X Based PCI Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=AX88141 Fast Ethernet Controller (AX8814X Based PCI Fast Ethernet Adapter) - - pci:v0000125C* - ID_VENDOR_FROM_DATABASE=Aurora Technologies, Inc. -@@ -37188,61 +37188,61 @@ pci:v0000125Dd00001968* - ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 - - pci:v0000125Dd00001968sv00001028sd00000085* -- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 PCI -+ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 PCI) - - pci:v0000125Dd00001968sv00001033sd00008051* -- ID_MODEL_FROM_DATABASE=ES1968 Maestro-2 Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1968 Maestro 2 (ES1968 Maestro-2 Audiodrive) - - pci:v0000125Dd00001969* - ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive - - pci:v0000125Dd00001969sv00001014sd00000166* -- ID_MODEL_FROM_DATABASE=ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard -+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard) - - pci:v0000125Dd00001969sv0000125Dsd00008888* -- ID_MODEL_FROM_DATABASE=Solo-1 Audio Adapter -+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Solo-1 Audio Adapter) - - pci:v0000125Dd00001969sv0000153Bsd0000111B* -- ID_MODEL_FROM_DATABASE=Terratec 128i PCI -+ ID_MODEL_FROM_DATABASE=ES1938/ES1946/ES1969 Solo-1 Audiodrive (Terratec 128i PCI) - - pci:v0000125Dd00001978* - ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E - - pci:v0000125Dd00001978sv00000E11sd0000B112* -- ID_MODEL_FROM_DATABASE=Armada M700/E500 -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Armada M700/E500) - - pci:v0000125Dd00001978sv00001033sd0000803C* -- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) - - pci:v0000125Dd00001978sv00001033sd00008058* -- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) - - pci:v0000125Dd00001978sv00001092sd00004000* -- ID_MODEL_FROM_DATABASE=Monster Sound MX400 -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (Monster Sound MX400) - - pci:v0000125Dd00001978sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=ES1978 Maestro-2E Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1978 Maestro 2E (ES1978 Maestro-2E Audiodrive) - - pci:v0000125Dd00001988* - ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 - - pci:v0000125Dd00001988sv00000E11sd00000098* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Evo N600c) - - pci:v0000125Dd00001988sv00001092sd00004100* -- ID_MODEL_FROM_DATABASE=Sonic Impact S100 -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Sonic Impact S100) - - pci:v0000125Dd00001988sv0000125Dsd00000431* -- ID_MODEL_FROM_DATABASE=Allegro AudioDrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) - - pci:v0000125Dd00001988sv0000125Dsd00001988* -- ID_MODEL_FROM_DATABASE=ESS Allegro-1 Audiodrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (ESS Allegro-1 Audiodrive) - - pci:v0000125Dd00001988sv0000125Dsd00001998* -- ID_MODEL_FROM_DATABASE=Allegro AudioDrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro AudioDrive) - - pci:v0000125Dd00001988sv0000125Dsd00001999* -- ID_MODEL_FROM_DATABASE=Allegro-1 AudioDrive -+ ID_MODEL_FROM_DATABASE=ES1988 Allegro-1 (Allegro-1 AudioDrive) - - pci:v0000125Dd00001989* - ID_MODEL_FROM_DATABASE=ESS Modem -@@ -37254,13 +37254,13 @@ pci:v0000125Dd00001998* - ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator - - pci:v0000125Dd00001998sv00001028sd000000B1* -- ID_MODEL_FROM_DATABASE=Latitude C600 -+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C600) - - pci:v0000125Dd00001998sv00001028sd000000E5* -- ID_MODEL_FROM_DATABASE=Latitude C810 -+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (Latitude C810) - - pci:v0000125Dd00001998sv00001028sd000000E6* -- ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i (Dell Inspiron 8100) -+ ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Audio Accelerator (ES1983S Maestro-3i (Dell Inspiron 8100)) - - pci:v0000125Dd00001999* - ID_MODEL_FROM_DATABASE=ES1983S Maestro-3i PCI Modem Accelerator -@@ -37281,34 +37281,34 @@ pci:v0000125Dd00002898* - ID_MODEL_FROM_DATABASE=ES2898 Modem - - pci:v0000125Dd00002898sv0000125Dsd00000424* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000425* -- ID_MODEL_FROM_DATABASE=ES56T-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56T-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000426* -- ID_MODEL_FROM_DATABASE=ES56V-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56V-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000427* -- ID_MODEL_FROM_DATABASE=VW-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (VW-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000428* -- ID_MODEL_FROM_DATABASE=ES56ST-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56ST-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000125Dsd00000429* -- ID_MODEL_FROM_DATABASE=ES56SV-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56SV-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000147Asd0000C001* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125Dd00002898sv0000148Dsd00001030* -- ID_MODEL_FROM_DATABASE=HCF WV-PI56 [ESS ES56-PI Data Fax Modem] -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (HCF WV-PI56 [ESS ES56-PI Data Fax Modem]) - - pci:v0000125Dd00002898sv000014FEsd00000428* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125Dd00002898sv000014FEsd00000429* -- ID_MODEL_FROM_DATABASE=ES56-PI Data Fax Modem -+ ID_MODEL_FROM_DATABASE=ES2898 Modem (ES56-PI Data Fax Modem) - - pci:v0000125E* - ID_VENDOR_FROM_DATABASE=Specialvideo Engineering SRL -@@ -37323,40 +37323,40 @@ pci:v00001260d00003872* - ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] - - pci:v00001260d00003872sv00001468sd00000202* -- ID_MODEL_FROM_DATABASE=LAN-Express IEEE 802.11b Wireless LAN -+ ID_MODEL_FROM_DATABASE=ISL3872 [Prism 3] (LAN-Express IEEE 802.11b Wireless LAN) - - pci:v00001260d00003873* - ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] - - pci:v00001260d00003873sv000010CFsd00001169* -- ID_MODEL_FROM_DATABASE=MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874]) - - pci:v00001260d00003873sv00001186sd00003501* -- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874]) - - pci:v00001260d00003873sv00001186sd00003700* -- ID_MODEL_FROM_DATABASE=DWL-520 Wireless PCI Adapter (rev E1) [ISL3872] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (DWL-520 Wireless PCI Adapter (rev E1) [ISL3872]) - - pci:v00001260d00003873sv00001385sd00004105* -- ID_MODEL_FROM_DATABASE=MA311 802.11b wireless adapter [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (MA311 802.11b wireless adapter [ISL3874]) - - pci:v00001260d00003873sv00001668sd00000414* -- ID_MODEL_FROM_DATABASE=HWP01170-01 802.11b PCI Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (HWP01170-01 802.11b PCI Wireless Adapter) - - pci:v00001260d00003873sv000016A5sd00001601* -- ID_MODEL_FROM_DATABASE=AIR.mate PC-400 PCI Wireless LAN Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (AIR.mate PC-400 PCI Wireless LAN Adapter) - - pci:v00001260d00003873sv00001737sd00003874* -- ID_MODEL_FROM_DATABASE=WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874]) - - pci:v00001260d00003873sv00004033sd00007033* -- ID_MODEL_FROM_DATABASE=PCW200 802.11b Wireless PCI Adapter [ISL3874] -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (PCW200 802.11b Wireless PCI Adapter [ISL3874]) - - pci:v00001260d00003873sv00008086sd00002510* -- ID_MODEL_FROM_DATABASE=M3AWEB Wireless 802.11b MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (M3AWEB Wireless 802.11b MiniPCI Adapter) - - pci:v00001260d00003873sv00008086sd00002513* -- ID_MODEL_FROM_DATABASE=Wireless 802.11b MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3874 [Prism 2.5]/ISL3872 [Prism 3] (Wireless 802.11b MiniPCI Adapter) - - pci:v00001260d00003877* - ID_MODEL_FROM_DATABASE=ISL3877 [Prism Indigo] -@@ -37365,58 +37365,58 @@ pci:v00001260d00003886* - ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] - - pci:v00001260d00003886sv000017CFsd00000037* -- ID_MODEL_FROM_DATABASE=XG-901 and clones Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3886 [Prism Javelin/Prism Xbow] (XG-901 and clones Wireless Adapter) - - pci:v00001260d00003890* - ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] - - pci:v00001260d00003890sv000010B8sd00002802* -- ID_MODEL_FROM_DATABASE=SMC2802W V1 Wireless PCI Adapter [ISL3890] -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V1 Wireless PCI Adapter [ISL3890]) - - pci:v00001260d00003890sv000010B8sd00002835* -- ID_MODEL_FROM_DATABASE=SMC2835W Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W Wireless Cardbus Adapter) - - pci:v00001260d00003890sv000010B8sd0000A835* -- ID_MODEL_FROM_DATABASE=SMC2835W V2 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V2 Wireless Cardbus Adapter) - - pci:v00001260d00003890sv00001113sd00004203* -- ID_MODEL_FROM_DATABASE=WN4201B -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WN4201B) - - pci:v00001260d00003890sv00001113sd00008201* -- ID_MODEL_FROM_DATABASE=T-Com T-Sinus 154pcicard Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Com T-Sinus 154pcicard Wireless PCI Adapter) - - pci:v00001260d00003890sv00001113sd0000B301* -- ID_MODEL_FROM_DATABASE=T-Sinus 154card Cardbus -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (T-Sinus 154card Cardbus) - - pci:v00001260d00003890sv00001113sd0000EE03* -- ID_MODEL_FROM_DATABASE=SMC2802W V2 Wireless PCI Adapter [ISL3886] -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2802W V2 Wireless PCI Adapter [ISL3886]) - - pci:v00001260d00003890sv00001113sd0000EE08* -- ID_MODEL_FROM_DATABASE=SMC2835W V3 EU Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (SMC2835W V3 EU Wireless Cardbus Adapter) - - pci:v00001260d00003890sv00001186sd00003202* -- ID_MODEL_FROM_DATABASE=DWL-G650 A1 Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (DWL-G650 A1 Wireless Adapter) - - pci:v00001260d00003890sv00001259sd0000C104* -- ID_MODEL_FROM_DATABASE=CG-WLCB54GT Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (CG-WLCB54GT Wireless Adapter) - - pci:v00001260d00003890sv00001260sd00000000* -- ID_MODEL_FROM_DATABASE=WG511 v1 54 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v1 54 Mbps Wireless PC Card) - - pci:v00001260d00003890sv00001385sd00004800* -- ID_MODEL_FROM_DATABASE=WG511 v2/v3 54 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (WG511 v2/v3 54 Mbps Wireless PC Card) - - pci:v00001260d00003890sv000016A5sd00001605* -- ID_MODEL_FROM_DATABASE=ALLNET ALL0271 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (ALLNET ALL0271 Wireless PCI Adapter) - - pci:v00001260d00003890sv000017CFsd00000014* -- ID_MODEL_FROM_DATABASE=XG-600 and clones Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-600 and clones Wireless Adapter) - - pci:v00001260d00003890sv000017CFsd00000020* -- ID_MODEL_FROM_DATABASE=XG-900 and clones Wireless Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (XG-900 and clones Wireless Adapter) - - pci:v00001260d00003890sv0000187Esd00003403* -- ID_MODEL_FROM_DATABASE=G-110 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (G-110 802.11g Wireless Cardbus Adapter) - - pci:v00001260d00008130* - ID_MODEL_FROM_DATABASE=HMP8130 NTSC/PAL Video Decoder -@@ -37428,7 +37428,7 @@ pci:v00001260d0000FFFF* - ID_MODEL_FROM_DATABASE=ISL3886IK - - pci:v00001260d0000FFFFsv00001260sd00000000* -- ID_MODEL_FROM_DATABASE=Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter -+ ID_MODEL_FROM_DATABASE=ISL3886IK (Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter) - - pci:v00001261* - ID_VENDOR_FROM_DATABASE=Matsushita-Kotobuki Electronics Industries, Ltd. -@@ -37455,7 +37455,7 @@ pci:v00001266d00001910* - ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter - - pci:v00001266d00001910sv00001266sd00001910* -- ID_MODEL_FROM_DATABASE=NE2000Plus Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=NE2000Plus (RT8029) Ethernet Adapter (NE2000Plus Ethernet Adapter) - - pci:v00001267* - ID_VENDOR_FROM_DATABASE=S. A. Telecommunications -@@ -37554,169 +37554,169 @@ pci:v00001274d00001371* - ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] - - pci:v00001274d00001371sv00000E11sd00000024* -- ID_MODEL_FROM_DATABASE=AudioPCI on Motherboard Compaq Deskpro -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI on Motherboard Compaq Deskpro) - - pci:v00001274d00001371sv00000E11sd0000B1A7* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) - - pci:v00001274d00001371sv00001033sd000080AC* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI) - - pci:v00001274d00001371sv00001042sd00001854* -- ID_MODEL_FROM_DATABASE=Tazer -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tazer) - - pci:v00001274d00001371sv0000107Bsd00008054* -- ID_MODEL_FROM_DATABASE=Tabor2 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (Tabor2) - - pci:v00001274d00001371sv00001274sd00001371* -- ID_MODEL_FROM_DATABASE=AudioPCI 64V/128 / Creative Sound Blaster CT4810 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (AudioPCI 64V/128 / Creative Sound Blaster CT4810) - - pci:v00001274d00001371sv00001274sd00008001* -- ID_MODEL_FROM_DATABASE=CT4751 board -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (CT4751 board) - - pci:v00001274d00001371sv00001462sd00006470* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A) - - pci:v00001274d00001371sv00001462sd00006560* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10) - - pci:v00001274d00001371sv00001462sd00006630* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A) - - pci:v00001274d00001371sv00001462sd00006631* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A) - - pci:v00001274d00001371sv00001462sd00006632* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A) - - pci:v00001274d00001371sv00001462sd00006633* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A) - - pci:v00001274d00001371sv00001462sd00006820* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00) - - pci:v00001274d00001371sv00001462sd00006822* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A) - - pci:v00001274d00001371sv00001462sd00006830* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00) - - pci:v00001274d00001371sv00001462sd00006880* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00) - - pci:v00001274d00001371sv00001462sd00006900* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00) - - pci:v00001274d00001371sv00001462sd00006910* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6191 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6191) - - pci:v00001274d00001371sv00001462sd00006930* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6193 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6193) - - pci:v00001274d00001371sv00001462sd00006990* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A) - - pci:v00001274d00001371sv00001462sd00006991* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A) - - pci:v00001274d00001371sv000014A4sd00002077* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KR639 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KR639) - - pci:v00001274d00001371sv000014A4sd00002105* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR800 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR800) - - pci:v00001274d00001371sv000014A4sd00002107* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard MR801 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard MR801) - - pci:v00001274d00001371sv000014A4sd00002172* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard DR739 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard DR739) - - pci:v00001274d00001371sv00001509sd00009902* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW11 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW11) - - pci:v00001274d00001371sv00001509sd00009903* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KW31 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KW31) - - pci:v00001274d00001371sv00001509sd00009904* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KA11 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KA11) - - pci:v00001274d00001371sv00001509sd00009905* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard KC13 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard KC13) - - pci:v00001274d00001371sv0000152Dsd00008801* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810E -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810E) - - pci:v00001274d00001371sv0000152Dsd00008802* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard CP810 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard CP810) - - pci:v00001274d00001371sv0000152Dsd00008803* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810E -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810E) - - pci:v00001274d00001371sv0000152Dsd00008804* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3810-S -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3810-S) - - pci:v00001274d00001371sv0000152Dsd00008805* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard P3820-S -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard P3820-S) - - pci:v00001274d00001371sv0000270Fsd00002001* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6CTR -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6CTR) - - pci:v00001274d00001371sv0000270Fsd00002200* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WTX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WTX) - - pci:v00001274d00001371sv0000270Fsd00003000* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WSV -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WSV) - - pci:v00001274d00001371sv0000270Fsd00003100* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV2 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV2) - - pci:v00001274d00001371sv0000270Fsd00003102* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6WIV -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6WIV) - - pci:v00001274d00001371sv0000270Fsd00007060* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard 6ASA2 -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard 6ASA2) - - pci:v00001274d00001371sv00008086sd00004249* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BI440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BI440ZX) - - pci:v00001274d00001371sv00008086sd0000424C* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BL440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BL440ZX) - - pci:v00001274d00001371sv00008086sd0000425A* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard BZ440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard BZ440ZX) - - pci:v00001274d00001371sv00008086sd00004341* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cayman -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cayman) - - pci:v00001274d00001371sv00008086sd00004343* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Cape Cod -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Cape Cod) - - pci:v00001274d00001371sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=D815EEA Motherboard -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (D815EEA Motherboard) - - pci:v00001274d00001371sv00008086sd00004649* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Fire Island -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Fire Island) - - pci:v00001274d00001371sv00008086sd0000464A* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard FJ440ZX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard FJ440ZX) - - pci:v00001274d00001371sv00008086sd00004D4F* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Montreal -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Montreal) - - pci:v00001274d00001371sv00008086sd00004F43* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard OC440LX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard OC440LX) - - pci:v00001274d00001371sv00008086sd00005243* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard RC440BX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard RC440BX) - - pci:v00001274d00001371sv00008086sd00005352* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard SunRiver -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard SunRiver) - - pci:v00001274d00001371sv00008086sd00005643* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard Vancouver -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard Vancouver) - - pci:v00001274d00001371sv00008086sd00005753* -- ID_MODEL_FROM_DATABASE=ES1371, ES1373 AudioPCI On Motherboard WS440BX -+ ID_MODEL_FROM_DATABASE=ES1371 / Creative Labs CT2518 [AudioPCI-97] (ES1371, ES1373 AudioPCI On Motherboard WS440BX) - - pci:v00001274d00005000* - ID_MODEL_FROM_DATABASE=ES1370 [AudioPCI] -@@ -37725,31 +37725,31 @@ pci:v00001274d00005880* - ID_MODEL_FROM_DATABASE=5880B [AudioPCI] - - pci:v00001274d00005880sv00001274sd00002000* -- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) - - pci:v00001274d00005880sv00001274sd00002003* -- ID_MODEL_FROM_DATABASE=Creative SoundBlaster AudioPCI 128 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative SoundBlaster AudioPCI 128) - - pci:v00001274d00005880sv00001274sd00005880* -- ID_MODEL_FROM_DATABASE=Creative Sound Blaster AudioPCI128 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Creative Sound Blaster AudioPCI128) - - pci:v00001274d00005880sv00001274sd00008001* -- ID_MODEL_FROM_DATABASE=Sound Blaster 16PCI 4.1ch -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (Sound Blaster 16PCI 4.1ch) - - pci:v00001274d00005880sv00001458sd0000A000* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6OXET -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6OXET) - - pci:v00001274d00005880sv00001462sd00006880* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard MS-6188 1.00 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard MS-6188 1.00) - - pci:v00001274d00005880sv0000270Fsd00002001* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6CTR -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6CTR) - - pci:v00001274d00005880sv0000270Fsd00002200* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6WTX -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6WTX) - - pci:v00001274d00005880sv0000270Fsd00007040* -- ID_MODEL_FROM_DATABASE=5880 AudioPCI On Motherboard 6ATA4 -+ ID_MODEL_FROM_DATABASE=5880B [AudioPCI] (5880 AudioPCI On Motherboard 6ATA4) - - pci:v00001274d00008001* - ID_MODEL_FROM_DATABASE=CT5880 [AudioPCI] -@@ -37809,181 +37809,181 @@ pci:v0000127Ad00001002* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00001002sv00001092sd0000094C* -- ID_MODEL_FROM_DATABASE=SupraExpress 56i PRO [Diamond SUP2380] -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (SupraExpress 56i PRO [Diamond SUP2380]) - - pci:v0000127Ad00001002sv0000122Dsd00004002* -- ID_MODEL_FROM_DATABASE=HPG / MDP3858-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (HPG / MDP3858-U) - - pci:v0000127Ad00001002sv0000122Dsd00004005* -- ID_MODEL_FROM_DATABASE=MDP3858-E -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-E) - - pci:v0000127Ad00001002sv0000122Dsd00004007* -- ID_MODEL_FROM_DATABASE=MDP3858-A/-NZ -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-A/-NZ) - - pci:v0000127Ad00001002sv0000122Dsd00004012* -- ID_MODEL_FROM_DATABASE=MDP3858-SA -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-SA) - - pci:v0000127Ad00001002sv0000122Dsd00004017* -- ID_MODEL_FROM_DATABASE=MDP3858-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) - - pci:v0000127Ad00001002sv0000122Dsd00004018* -- ID_MODEL_FROM_DATABASE=MDP3858-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-W) - - pci:v0000127Ad00001002sv0000127Asd00001002* -- ID_MODEL_FROM_DATABASE=Rockwell 56K D/F HCF Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Rockwell 56K D/F HCF Modem) - - pci:v0000127Ad00001003* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00001003sv00000E11sd0000B0BC* -- ID_MODEL_FROM_DATABASE=229-DF Zephyr -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Zephyr) - - pci:v0000127Ad00001003sv00000E11sd0000B114* -- ID_MODEL_FROM_DATABASE=229-DF Cheetah -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF Cheetah) - - pci:v0000127Ad00001003sv00001033sd0000802B* -- ID_MODEL_FROM_DATABASE=229-DF -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DF) - - pci:v0000127Ad00001003sv000013DFsd00001003* -- ID_MODEL_FROM_DATABASE=PCI56RX Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PCI56RX Modem) - - pci:v0000127Ad00001003sv000013E0sd00000117* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv000013E0sd00000147* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 Spain V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 Spain V.90 Modem) - - pci:v0000127Ad00001003sv000013E0sd00000197* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv000013E0sd000001C7* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R3 WW V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R3 WW V.90 Modem) - - pci:v0000127Ad00001003sv000013E0sd000001F7* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv00001436sd00001003* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001003sv00001436sd00001103* -- ID_MODEL_FROM_DATABASE=IBM 5614PM3G V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM 5614PM3G V.90 Modem) - - pci:v0000127Ad00001003sv00001436sd00001602* -- ID_MODEL_FROM_DATABASE=Compaq 229-DF Ducati -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq 229-DF Ducati) - - pci:v0000127Ad00001004* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem - - pci:v0000127Ad00001004sv00001048sd00001500* -- ID_MODEL_FROM_DATABASE=MicroLink 56k Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (MicroLink 56k Modem) - - pci:v0000127Ad00001004sv000010CFsd00001059* -- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFRT -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem (Fujitsu 229-DFRT) - - pci:v0000127Ad00001005* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v0000127Ad00001005sv00001005sd0000127A* -- ID_MODEL_FROM_DATABASE=AOpen FM56-P -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (AOpen FM56-P) - - pci:v0000127Ad00001005sv00001033sd00008029* -- ID_MODEL_FROM_DATABASE=229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (229-DFSV) - - pci:v0000127Ad00001005sv00001033sd00008054* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Modem) - - pci:v0000127Ad00001005sv000010CFsd0000103C* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00001005sv000010CFsd00001055* -- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) - - pci:v0000127Ad00001005sv000010CFsd00001056* -- ID_MODEL_FROM_DATABASE=Fujitsu 229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 229-DFSV) - - pci:v0000127Ad00001005sv0000122Dsd00004003* -- ID_MODEL_FROM_DATABASE=MDP3858SP-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-U) - - pci:v0000127Ad00001005sv0000122Dsd00004006* -- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-E -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-E) - - pci:v0000127Ad00001005sv0000122Dsd00004008* -- ID_MODEL_FROM_DATABASE=MDP3858SP-A/SP-NZ -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-A/SP-NZ) - - pci:v0000127Ad00001005sv0000122Dsd00004009* -- ID_MODEL_FROM_DATABASE=MDP3858SP-E -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-E) - - pci:v0000127Ad00001005sv0000122Dsd00004010* -- ID_MODEL_FROM_DATABASE=MDP3858V-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-U) - - pci:v0000127Ad00001005sv0000122Dsd00004011* -- ID_MODEL_FROM_DATABASE=MDP3858SP-SA -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-SA) - - pci:v0000127Ad00001005sv0000122Dsd00004013* -- ID_MODEL_FROM_DATABASE=MDP3858V-A/V-NZ -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-A/V-NZ) - - pci:v0000127Ad00001005sv0000122Dsd00004015* -- ID_MODEL_FROM_DATABASE=MDP3858SP-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-W) - - pci:v0000127Ad00001005sv0000122Dsd00004016* -- ID_MODEL_FROM_DATABASE=MDP3858V-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-W) - - pci:v0000127Ad00001005sv0000122Dsd00004019* -- ID_MODEL_FROM_DATABASE=MDP3858V-SA -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-SA) - - pci:v0000127Ad00001005sv000013DFsd00001005* -- ID_MODEL_FROM_DATABASE=PCI56RVP Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (PCI56RVP Modem) - - pci:v0000127Ad00001005sv000013E0sd00000187* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv000013E0sd000001A7* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv000013E0sd000001B7* -- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 Spain V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 Spain V.90 Modem) - - pci:v0000127Ad00001005sv000013E0sd000001D7* -- ID_MODEL_FROM_DATABASE=IBM DF-1156IV+/R3 WW V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM DF-1156IV+/R3 WW V.90 Modem) - - pci:v0000127Ad00001005sv00001436sd00001005* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv00001436sd00001105* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM) - - pci:v0000127Ad00001005sv00001437sd00001105* -- ID_MODEL_FROM_DATABASE=IBM 5614PS3G V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (IBM 5614PS3G V.90 Modem) - - pci:v0000127Ad00001022* - ID_MODEL_FROM_DATABASE=HCF 56k Modem - - pci:v0000127Ad00001022sv00001436sd00001303* -- ID_MODEL_FROM_DATABASE=M3-5614PM3G V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (M3-5614PM3G V.90 Modem) - - pci:v0000127Ad00001023* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00001023sv0000122Dsd00004020* -- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858-WE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Packard Bell MDP3858-WE) - - pci:v0000127Ad00001023sv0000122Dsd00004023* -- ID_MODEL_FROM_DATABASE=MDP3858-UE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (MDP3858-UE) - - pci:v0000127Ad00001023sv000013E0sd00000247* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 Spain V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 Spain V.90 Modem) - - pci:v0000127Ad00001023sv000013E0sd00000297* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001023sv000013E0sd000002C7* -- ID_MODEL_FROM_DATABASE=IBM F-1156IV+/R6 WW V.90 Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM F-1156IV+/R6 WW V.90 Modem) - - pci:v0000127Ad00001023sv00001436sd00001203* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001023sv00001436sd00001303* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v0000127Ad00001024* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem -@@ -37992,19 +37992,19 @@ pci:v0000127Ad00001025* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v0000127Ad00001025sv000010CFsd0000106A* -- ID_MODEL_FROM_DATABASE=Fujitsu 235-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu 235-DFSV) - - pci:v0000127Ad00001025sv0000122Dsd00004021* -- ID_MODEL_FROM_DATABASE=Packard Bell MDP3858V-WE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Packard Bell MDP3858V-WE) - - pci:v0000127Ad00001025sv0000122Dsd00004022* -- ID_MODEL_FROM_DATABASE=MDP3858SP-WE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-WE) - - pci:v0000127Ad00001025sv0000122Dsd00004024* -- ID_MODEL_FROM_DATABASE=MDP3858V-UE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858V-UE) - - pci:v0000127Ad00001025sv0000122Dsd00004025* -- ID_MODEL_FROM_DATABASE=MDP3858SP-UE -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (MDP3858SP-UE) - - pci:v0000127Ad00001026* - ID_MODEL_FROM_DATABASE=HCF 56k PCI Speakerphone Modem -@@ -38034,85 +38034,85 @@ pci:v0000127Ad00002005* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v0000127Ad00002005sv0000104Dsd00008044* -- ID_MODEL_FROM_DATABASE=229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd00008045* -- ID_MODEL_FROM_DATABASE=229-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (229-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd00008055* -- ID_MODEL_FROM_DATABASE=PBE/Aztech 235W-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (PBE/Aztech 235W-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd00008056* -- ID_MODEL_FROM_DATABASE=235-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (235-DFSV) - - pci:v0000127Ad00002005sv0000104Dsd0000805A* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002005sv0000104Dsd0000805F* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002005sv0000104Dsd00008074* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002013* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem - - pci:v0000127Ad00002013sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002013sv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Modem) - - pci:v0000127Ad00002014* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem - - pci:v0000127Ad00002014sv000010CFsd00001057* -- ID_MODEL_FROM_DATABASE=Fujitsu Citicorp III -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Fujitsu Citicorp III) - - pci:v0000127Ad00002014sv0000122Dsd00004050* -- ID_MODEL_FROM_DATABASE=MSP3880-U -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-U) - - pci:v0000127Ad00002014sv0000122Dsd00004055* -- ID_MODEL_FROM_DATABASE=MSP3880-W -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (MSP3880-W) - - pci:v0000127Ad00002015* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v0000127Ad00002015sv000010CFsd00001063* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00002015sv000010CFsd00001064* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00002015sv00001468sd00002015* -- ID_MODEL_FROM_DATABASE=Fujitsu -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu) - - pci:v0000127Ad00002016* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem - - pci:v0000127Ad00002016sv0000122Dsd00004051* -- ID_MODEL_FROM_DATABASE=MSP3880V-W -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-W) - - pci:v0000127Ad00002016sv0000122Dsd00004052* -- ID_MODEL_FROM_DATABASE=MSP3880SP-W -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-W) - - pci:v0000127Ad00002016sv0000122Dsd00004054* -- ID_MODEL_FROM_DATABASE=MSP3880V-U -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880V-U) - - pci:v0000127Ad00002016sv0000122Dsd00004056* -- ID_MODEL_FROM_DATABASE=MSP3880SP-U -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-U) - - pci:v0000127Ad00002016sv0000122Dsd00004057* -- ID_MODEL_FROM_DATABASE=MSP3880SP-A -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (MSP3880SP-A) - - pci:v0000127Ad00004311* - ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem - - pci:v0000127Ad00004311sv0000127Asd00004311* -- ID_MODEL_FROM_DATABASE=Ring Modular? Riptide HSF RT HP Dom -+ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (Ring Modular? Riptide HSF RT HP Dom) - - pci:v0000127Ad00004311sv000013E0sd00000210* -- ID_MODEL_FROM_DATABASE=HP-GVC -+ ID_MODEL_FROM_DATABASE=Riptide HSF 56k PCI Modem (HP-GVC) - - pci:v0000127Ad00004320* - ID_MODEL_FROM_DATABASE=Riptide PCI Audio Controller -@@ -38124,16 +38124,16 @@ pci:v0000127Ad00004321* - ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem - - pci:v0000127Ad00004321sv00001235sd00004321* -- ID_MODEL_FROM_DATABASE=Hewlett Packard DF -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) - - pci:v0000127Ad00004321sv00001235sd00004324* -- ID_MODEL_FROM_DATABASE=Hewlett Packard DF -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) - - pci:v0000127Ad00004321sv000013E0sd00000210* -- ID_MODEL_FROM_DATABASE=Hewlett Packard DF -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Hewlett Packard DF) - - pci:v0000127Ad00004321sv0000144Dsd00002321* -- ID_MODEL_FROM_DATABASE=Riptide -+ ID_MODEL_FROM_DATABASE=Riptide HCF 56k PCI Modem (Riptide) - - pci:v0000127Ad00004322* - ID_MODEL_FROM_DATABASE=Riptide PCI Game Controller -@@ -38190,7 +38190,7 @@ pci:v00001282d00009102* - ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet - - pci:v00001282d00009102sv00000291sd00008212* -- ID_MODEL_FROM_DATABASE=DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit -+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit) - - pci:v00001282d00009132* - ID_MODEL_FROM_DATABASE=Ethernet 100/10 MBit -@@ -38208,19 +38208,19 @@ pci:v00001283d00008211* - ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 - - pci:v00001283d00008211sv00001043sd00008138* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=ITE 8211F Single Channel UDMA 133 (P5GD1-VW Mainboard) - - pci:v00001283d00008212* - ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller - - pci:v00001283d00008212sv00001283sd00000001* -- ID_MODEL_FROM_DATABASE=IT/ITE8212 Dual channel ATA RAID controller -+ ID_MODEL_FROM_DATABASE=IT8212 Dual channel ATA RAID controller (IT/ITE8212 Dual channel ATA RAID controller) - - pci:v00001283d00008213* - ID_MODEL_FROM_DATABASE=IT8213 IDE Controller - - pci:v00001283d00008213sv00001458sd0000B000* -- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard -+ ID_MODEL_FROM_DATABASE=IT8213 IDE Controller (GA-EG45M-DS2H Mainboard) - - pci:v00001283d00008330* - ID_MODEL_FROM_DATABASE=IT8330G -@@ -38451,19 +38451,19 @@ pci:v000012AEd00000001* - ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet - - pci:v000012AEd00000001sv00001014sd00000104* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX PCI Adapter -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX PCI Adapter) - - pci:v000012AEd00000001sv000012AEsd00000001* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-SX (Universal) -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Gigabit Ethernet-SX (Universal)) - - pci:v000012AEd00000002* - ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) - - pci:v000012AEd00000002sv000010A9sd00008002* -- ID_MODEL_FROM_DATABASE=Acenic Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Acenic Gigabit Ethernet) - - pci:v000012AEd00000002sv000012AEsd00000002* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet-T (3C986-T) -+ ID_MODEL_FROM_DATABASE=AceNIC Gigabit Ethernet (Copper) (Gigabit Ethernet-T (3C986-T)) - - pci:v000012AEd000000FA* - ID_MODEL_FROM_DATABASE=Farallon PN9100-T Gigabit Ethernet -@@ -38505,64 +38505,64 @@ pci:v000012B9d00001006* - ID_MODEL_FROM_DATABASE=WinModem - - pci:v000012B9d00001006sv000012B9sd0000005C* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 3472) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 3472)) - - pci:v000012B9d00001006sv000012B9sd0000005E* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 662975) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 662975)) - - pci:v000012B9d00001006sv000012B9sd00000062* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662978) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662978)) - - pci:v000012B9d00001006sv000012B9sd00000068* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 5690) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 5690)) - - pci:v000012B9d00001006sv000012B9sd0000007A* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 662974) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 662974)) - - pci:v000012B9d00001006sv000012B9sd0000007F* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 5698, 5699) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 5698, 5699)) - - pci:v000012B9d00001006sv000012B9sd00000080* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Models 2975, 3528) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal WinModem (Models 2975, 3528)) - - pci:v000012B9d00001006sv000012B9sd00000081* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Models 2974, 3529) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Models 2974, 3529)) - - pci:v000012B9d00001006sv000012B9sd00000091* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice WinModem (Model 2978) -+ ID_MODEL_FROM_DATABASE=WinModem (USR 56k Internal Voice WinModem (Model 2978)) - - pci:v000012B9d00001007* - ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem - - pci:v000012B9d00001007sv000012B9sd000000A3* -- ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (Model 3595) -+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem ((Model 3595)) - - pci:v000012B9d00001007sv000012B9sd000000C4* -- ID_MODEL_FROM_DATABASE=U.S. Robotics V.92 Voice Faxmodem (2884A/B/C) -+ ID_MODEL_FROM_DATABASE=USR 56k Internal WinModem (U.S. Robotics V.92 Voice Faxmodem (2884A/B/C)) - - pci:v000012B9d00001008* - ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 - - pci:v000012B9d00001008sv000012B9sd000000A2* -- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 2977) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 2977)) - - pci:v000012B9d00001008sv000012B9sd000000AA* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 2976) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 2976)) - - pci:v000012B9d00001008sv000012B9sd000000AB* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 5609) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 5609)) - - pci:v000012B9d00001008sv000012B9sd000000AC* -- ID_MODEL_FROM_DATABASE=USR 56k Internal Voice Modem (Model 3298) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal Voice Modem (Model 3298)) - - pci:v000012B9d00001008sv000012B9sd000000AD* -- ID_MODEL_FROM_DATABASE=USR 56k Internal FAX Modem (Model 5610) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56k Internal FAX Modem (Model 5610)) - - pci:v000012B9d00001008sv000012B9sd000000D3* -- ID_MODEL_FROM_DATABASE=USR 56K Internal V92 FAX Modem (Model 5610) -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal V92 FAX Modem (Model 5610)) - - pci:v000012B9d00001008sv000012B9sd0000BABA* -- ID_MODEL_FROM_DATABASE=USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] -+ ID_MODEL_FROM_DATABASE=56K FaxModem Model 5610 (USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk]) - - pci:v000012BA* - ID_VENDOR_FROM_DATABASE=BittWare, Inc. -@@ -38586,7 +38586,7 @@ pci:v000012BEd00003042* - ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite - - pci:v000012BEd00003042sv000012BEsd00003042* -- ID_MODEL_FROM_DATABASE=Anchor Chips Lite Evaluation Board -+ ID_MODEL_FROM_DATABASE=AN3042Q CO-MEM Lite (Anchor Chips Lite Evaluation Board) - - pci:v000012BF* - ID_VENDOR_FROM_DATABASE=Fujifilm Microdevices -@@ -38781,58 +38781,58 @@ pci:v000012D2d00000018* - ID_MODEL_FROM_DATABASE=Riva128 - - pci:v000012D2d00000018sv00001048sd00000C10* -- ID_MODEL_FROM_DATABASE=VICTORY Erazor -+ ID_MODEL_FROM_DATABASE=Riva128 (VICTORY Erazor) - - pci:v000012D2d00000018sv0000107Bsd00008030* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv00001092sd00000350* -- ID_MODEL_FROM_DATABASE=Viper V330 -+ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) - - pci:v000012D2d00000018sv00001092sd00001092* -- ID_MODEL_FROM_DATABASE=Viper V330 -+ ID_MODEL_FROM_DATABASE=Riva128 (Viper V330) - - pci:v000012D2d00000018sv000010B4sd00001B1B* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00001B1D* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00001B1E* -- ID_MODEL_FROM_DATABASE=STB Velocity 128, PAL TV-Out -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128, PAL TV-Out) - - pci:v000012D2d00000018sv000010B4sd00001B20* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 Sapphire -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 Sapphire) - - pci:v000012D2d00000018sv000010B4sd00001B21* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00001B22* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, NTSC TV-Out -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, NTSC TV-Out) - - pci:v000012D2d00000018sv000010B4sd00001B23* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP, PAL TV-Out -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP, PAL TV-Out) - - pci:v000012D2d00000018sv000010B4sd00001B27* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 DVD -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 DVD) - - pci:v000012D2d00000018sv000010B4sd00001B88* -- ID_MODEL_FROM_DATABASE=MVP Pro 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (MVP Pro 128) - - pci:v000012D2d00000018sv000010B4sd0000222A* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) - - pci:v000012D2d00000018sv000010B4sd00002230* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00002232* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128) - - pci:v000012D2d00000018sv000010B4sd00002235* -- ID_MODEL_FROM_DATABASE=STB Velocity 128 AGP -+ ID_MODEL_FROM_DATABASE=Riva128 (STB Velocity 128 AGP) - - pci:v000012D2d00000018sv00002A15sd000054A3* -- ID_MODEL_FROM_DATABASE=3DVision-SAGP / 3DexPlorer 3000 -+ ID_MODEL_FROM_DATABASE=Riva128 (3DVision-SAGP / 3DexPlorer 3000) - - pci:v000012D2d00000019* - ID_MODEL_FROM_DATABASE=Riva128ZX -@@ -38916,7 +38916,7 @@ pci:v000012D8d0000E110* - ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge - - pci:v000012D8d0000E110sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 CompactPCI Bridge -+ ID_MODEL_FROM_DATABASE=PI7C9X110 PCI Express to PCI bridge (CC11/CL11 CompactPCI Bridge) - - pci:v000012D8d0000E111* - ID_MODEL_FROM_DATABASE=PI7C9X111SL PCIe-to-PCI Reversible Bridge -@@ -38940,10 +38940,10 @@ pci:v000012D9d00001078* - ID_MODEL_FROM_DATABASE=Prosody X class e1000 device - - pci:v000012D9d00001078sv000012D9sd0000000D* -- ID_MODEL_FROM_DATABASE=Prosody X PCI -+ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X PCI) - - pci:v000012D9d00001078sv000012D9sd0000000E* -- ID_MODEL_FROM_DATABASE=Prosody X cPCI -+ ID_MODEL_FROM_DATABASE=Prosody X class e1000 device (Prosody X cPCI) - - pci:v000012DA* - ID_VENDOR_FROM_DATABASE=True Time Inc. -@@ -39015,67 +39015,67 @@ pci:v000012EBd00000001* - ID_MODEL_FROM_DATABASE=Vortex 1 - - pci:v000012EBd00000001sv0000104Dsd00008036* -- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) - - pci:v000012EBd00000001sv00001092sd00002000* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv00001092sd00002100* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv00001092sd00002110* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv00001092sd00002200* -- ID_MODEL_FROM_DATABASE=Sonic Impact A3D -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Sonic Impact A3D) - - pci:v000012EBd00000001sv0000122Dsd00001002* -- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) - - pci:v000012EBd00000001sv000012EBsd00000001* -- ID_MODEL_FROM_DATABASE=AU8820 Vortex Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 1 (AU8820 Vortex Digital Audio Processor) - - pci:v000012EBd00000001sv00005053sd00003355* -- ID_MODEL_FROM_DATABASE=Montego -+ ID_MODEL_FROM_DATABASE=Vortex 1 (Montego) - - pci:v000012EBd00000001sv000050B2sd00001111* -- ID_MODEL_FROM_DATABASE=XLerate -+ ID_MODEL_FROM_DATABASE=Vortex 1 (XLerate) - - pci:v000012EBd00000002* - ID_MODEL_FROM_DATABASE=Vortex 2 - - pci:v000012EBd00000002sv0000104Dsd00008049* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv0000104Dsd0000807B* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv00001092sd00003000* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003001* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003002* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003003* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv00001092sd00003004* -- ID_MODEL_FROM_DATABASE=Monster Sound II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Monster Sound II) - - pci:v000012EBd00000002sv000012EBsd00000002* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv000012EBsd00000088* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv0000144Dsd00003510* -- ID_MODEL_FROM_DATABASE=AU8830 Vortex 3D Digital Audio Processor -+ ID_MODEL_FROM_DATABASE=Vortex 2 (AU8830 Vortex 3D Digital Audio Processor) - - pci:v000012EBd00000002sv00005053sd00003356* -- ID_MODEL_FROM_DATABASE=Montego II -+ ID_MODEL_FROM_DATABASE=Vortex 2 (Montego II) - - pci:v000012EBd00000003* - ID_MODEL_FROM_DATABASE=AU8810 Vortex Digital Audio Processor -@@ -39465,16 +39465,16 @@ pci:v00001317d00000985* - ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 - - pci:v00001317d00000985sv00001734sd0000100C* -- ID_MODEL_FROM_DATABASE=Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter -+ ID_MODEL_FROM_DATABASE=NC100 Network Everywhere Fast Ethernet 10/100 (Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter) - - pci:v00001317d00001985* - ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet - - pci:v00001317d00001985sv00001385sd0000511A* -- ID_MODEL_FROM_DATABASE=FA511 -+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (FA511) - - pci:v00001317d00001985sv00001395sd00002103* -- ID_MODEL_FROM_DATABASE=CB100-EZ (4-LED version) -+ ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet (CB100-EZ (4-LED version)) - - pci:v00001317d00002850* - ID_MODEL_FROM_DATABASE=HSP MicroModem 56 -@@ -39486,10 +39486,10 @@ pci:v00001317d00008201* - ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface - - pci:v00001317d00008201sv000010B8sd00002635* -- ID_MODEL_FROM_DATABASE=SMC2635W v1 802.11b Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v1 802.11b Wireless Cardbus Adapter) - - pci:v00001317d00008201sv00001317sd00008201* -- ID_MODEL_FROM_DATABASE=SMC2635W v2 802.11b Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface (SMC2635W v2 802.11b Wireless Cardbus Adapter) - - pci:v00001317d00008211* - ID_MODEL_FROM_DATABASE=ADM8211 802.11b Wireless Interface -@@ -39510,13 +39510,13 @@ pci:v00001319d00000801* - ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] - - pci:v00001319d00000801sv00001319sd00001319* -- ID_MODEL_FROM_DATABASE=FM801 PCI Audio -+ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801] (FM801 PCI Audio) - - pci:v00001319d00000802* - ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] - - pci:v00001319d00000802sv00001319sd00001319* -- ID_MODEL_FROM_DATABASE=FM801 PCI Joystick -+ ID_MODEL_FROM_DATABASE=Xwave QS3000A [FM801 game port] (FM801 PCI Joystick) - - pci:v00001319d00001000* - ID_MODEL_FROM_DATABASE=FM801 PCI Audio -@@ -39618,7 +39618,7 @@ pci:v0000131Fd00002030* - ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 - - pci:v0000131Fd00002030sv0000131Fsd00002030* -- ID_MODEL_FROM_DATABASE=PCI Serial Card -+ ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16550 (PCI Serial Card) - - pci:v0000131Fd00002031* - ID_MODEL_FROM_DATABASE=CyberSerial (2-port) 16650 -@@ -39834,7 +39834,7 @@ pci:v0000134Dd00007890* - ID_MODEL_FROM_DATABASE=HSP MicroModem 56 - - pci:v0000134Dd00007890sv0000134Dsd00000001* -- ID_MODEL_FROM_DATABASE=PCT789 adapter -+ ID_MODEL_FROM_DATABASE=HSP MicroModem 56 (PCT789 adapter) - - pci:v0000134Dd00007891* - ID_MODEL_FROM_DATABASE=HSP MicroModem 56 -@@ -40119,7 +40119,7 @@ pci:v00001371d0000434E* - ID_MODEL_FROM_DATABASE=GigaCard Network Adapter - - pci:v00001371d0000434Esv00001371sd0000434E* -- ID_MODEL_FROM_DATABASE=N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) -+ ID_MODEL_FROM_DATABASE=GigaCard Network Adapter (N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)) - - pci:v00001373* - ID_VENDOR_FROM_DATABASE=Silicon Vision Inc -@@ -40515,10 +40515,10 @@ pci:v00001394d00000001* - ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet - - pci:v00001394d00000001sv00001186sd00004800* -- ID_MODEL_FROM_DATABASE=DGE-500SX -+ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (DGE-500SX) - - pci:v00001394d00000001sv00001394sd00000001* -- ID_MODEL_FROM_DATABASE=NetCelerator Adapter -+ ID_MODEL_FROM_DATABASE=LXT1001 Gigabit Ethernet (NetCelerator Adapter) - - pci:v00001395* - ID_VENDOR_FROM_DATABASE=Ambicom Inc -@@ -40533,40 +40533,40 @@ pci:v00001397d000008B4* - ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] - - pci:v00001397d000008B4sv00001397sd0000B520* -- ID_MODEL_FROM_DATABASE=HFC-4S [IOB4ST] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [IOB4ST]) - - pci:v00001397d000008B4sv00001397sd0000B540* -- ID_MODEL_FROM_DATABASE=HFC-4S [Swyx 4xS0 SX2 QuadBri] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx 4xS0 SX2 QuadBri]) - - pci:v00001397d000008B4sv00001397sd0000B550* -- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns quadBRI] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns quadBRI]) - - pci:v00001397d000008B4sv00001397sd0000B556* -- ID_MODEL_FROM_DATABASE=HFC-4S [Junghanns DuoDBRI] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns DuoDBRI]) - - pci:v00001397d000008B4sv00001397sd0000E888* -- ID_MODEL_FROM_DATABASE=HFC-4S [OpenVox B200P / B400P] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P / B400P]) - - pci:v00001397d000016B8* - ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] - - pci:v00001397d000016B8sv00001397sd0000B562* -- ID_MODEL_FROM_DATABASE=HFC-8S [IOB8ST] -+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB8ST]) - - pci:v00001397d00002BD0* - ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] - - pci:v00001397d00002BD0sv00000675sd00001704* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C) -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C)) - - pci:v00001397d00002BD0sv00000675sd00001708* -- ID_MODEL_FROM_DATABASE=ISDN Adapter (PCI Bus, D, C, ACPI) -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Adapter (PCI Bus, D, C, ACPI)) - - pci:v00001397d00002BD0sv00001397sd00002BD0* -- ID_MODEL_FROM_DATABASE=ISDN Board -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (ISDN Board) - - pci:v00001397d00002BD0sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CI1-1-Harp -+ ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI] (CI1-1-Harp) - - pci:v00001397d000030B1* - ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] -@@ -40665,46 +40665,46 @@ pci:v000013A3d0000002F* - ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor - - pci:v000013A3d0000002Fsv000013A3sd00001600* -- ID_MODEL_FROM_DATABASE=DR1600 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1600 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001605* -- ID_MODEL_FROM_DATABASE=DR1605 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1605 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001610* -- ID_MODEL_FROM_DATABASE=DR1610 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1610 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001615* -- ID_MODEL_FROM_DATABASE=DR1615 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1615 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001620* -- ID_MODEL_FROM_DATABASE=DR1620 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1620 Acceleration Card) - - pci:v000013A3d0000002Fsv000013A3sd00001625* -- ID_MODEL_FROM_DATABASE=DR1625 Acceleration Card -+ ID_MODEL_FROM_DATABASE=9725 Compression and Security Processor (DR1625 Acceleration Card) - - pci:v000013A3d00000033* - ID_MODEL_FROM_DATABASE=8201 Acceleration Processor - - pci:v000013A3d00000033sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1710 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8201 Acceleration Processor (DX1710 Acceleration Card) - - pci:v000013A3d00000034* - ID_MODEL_FROM_DATABASE=8202 Acceleration Processor - - pci:v000013A3d00000034sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1720 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8202 Acceleration Processor (DX1720 Acceleration Card) - - pci:v000013A3d00000035* - ID_MODEL_FROM_DATABASE=8203 Acceleration Processor - - pci:v000013A3d00000035sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1730 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8203 Acceleration Processor (DX1730 Acceleration Card) - - pci:v000013A3d00000037* - ID_MODEL_FROM_DATABASE=8204 Acceleration Processor - - pci:v000013A3d00000037sv000013A3sd00000036* -- ID_MODEL_FROM_DATABASE=DX1740 Acceleration Card -+ ID_MODEL_FROM_DATABASE=8204 Acceleration Processor (DX1740 Acceleration Card) - - pci:v000013A4* - ID_VENDOR_FROM_DATABASE=Rascom Inc -@@ -41067,7 +41067,7 @@ pci:v000013F0d00000200* - ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY - - pci:v000013F0d00000200sv00001043sd00008213* -- ID_MODEL_FROM_DATABASE=NX1001 -+ ID_MODEL_FROM_DATABASE=IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY (NX1001) - - pci:v000013F0d00000201* - ID_MODEL_FROM_DATABASE=ST201 Sundance Ethernet -@@ -41079,7 +41079,7 @@ pci:v000013F0d00001023* - ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet - - pci:v000013F0d00001023sv00001043sd00008180* -- ID_MODEL_FROM_DATABASE=NX1101 -+ ID_MODEL_FROM_DATABASE=IP1000 Family Gigabit Ethernet (NX1101) - - pci:v000013F1* - ID_VENDOR_FROM_DATABASE=Oce' - Technologies B.V. -@@ -41109,76 +41109,76 @@ pci:v000013F6d00000100* - ID_MODEL_FROM_DATABASE=CM8338A - - pci:v000013F6d00000100sv000013F6sd0000FFFF* -- ID_MODEL_FROM_DATABASE=CMI8338/C3DX PCI Audio Device -+ ID_MODEL_FROM_DATABASE=CM8338A (CMI8338/C3DX PCI Audio Device) - - pci:v000013F6d00000101* - ID_MODEL_FROM_DATABASE=CM8338B - - pci:v000013F6d00000101sv000013F6sd00000101* -- ID_MODEL_FROM_DATABASE=CMI8338-031 PCI Audio Device -+ ID_MODEL_FROM_DATABASE=CM8338B (CMI8338-031 PCI Audio Device) - - pci:v000013F6d00000111* - ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio - - pci:v000013F6d00000111sv00001019sd00000970* -- ID_MODEL_FROM_DATABASE=P6STP-FL motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (P6STP-FL motherboard) - - pci:v000013F6d00000111sv00001043sd00008035* -- ID_MODEL_FROM_DATABASE=CUSI-FX motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CUSI-FX motherboard) - - pci:v000013F6d00000111sv00001043sd00008077* -- ID_MODEL_FROM_DATABASE=CMI8738 6-channel audio controller -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6-channel audio controller) - - pci:v000013F6d00000111sv00001043sd000080E2* -- ID_MODEL_FROM_DATABASE=CMI8738 6ch-MX -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738 6ch-MX) - - pci:v000013F6d00000111sv000013F6sd00000111* -- ID_MODEL_FROM_DATABASE=CMI8738/C3DX PCI Audio Device -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CMI8738/C3DX PCI Audio Device) - - pci:v000013F6d00000111sv000013F6sd00009761* -- ID_MODEL_FROM_DATABASE=Theatron Agrippa -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Theatron Agrippa) - - pci:v000013F6d00000111sv0000153Bsd00001144* -- ID_MODEL_FROM_DATABASE=Aureon 5.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 5.1) - - pci:v000013F6d00000111sv0000153Bsd00001170* -- ID_MODEL_FROM_DATABASE=Aureon 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Aureon 7.1) - - pci:v000013F6d00000111sv00001681sd0000A000* -- ID_MODEL_FROM_DATABASE=Gamesurround MUSE XL -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Gamesurround MUSE XL) - - pci:v000013F6d00000111sv000017ABsd00000604* -- ID_MODEL_FROM_DATABASE=PSC604 Dynamic Edge -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC604 Dynamic Edge) - - pci:v000013F6d00000111sv000017ABsd00000605* -- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) - - pci:v000013F6d00000111sv000017ABsd00007777* -- ID_MODEL_FROM_DATABASE=PSC605 Sonic Edge -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (PSC605 Sonic Edge) - - pci:v000013F6d00000111sv0000270Fsd00001103* -- ID_MODEL_FROM_DATABASE=CT-7NJS Ultra motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (CT-7NJS Ultra motherboard) - - pci:v000013F6d00000111sv0000270Fsd0000F462* -- ID_MODEL_FROM_DATABASE=7NJL1 motherboard -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (7NJL1 motherboard) - - pci:v000013F6d00000111sv0000584Dsd00003731* -- ID_MODEL_FROM_DATABASE=Digital X-Mystique -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Digital X-Mystique) - - pci:v000013F6d00000111sv0000584Dsd00003741* -- ID_MODEL_FROM_DATABASE=X-Plosion 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Plosion 7.1) - - pci:v000013F6d00000111sv0000584Dsd00003751* -- ID_MODEL_FROM_DATABASE=X-Raider 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Raider 7.1) - - pci:v000013F6d00000111sv0000584Dsd00003761* -- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP) - - pci:v000013F6d00000111sv0000584Dsd00003771* -- ID_MODEL_FROM_DATABASE=X-Mystique 7.1 LP Value -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (X-Mystique 7.1 LP Value) - - pci:v000013F6d00000111sv00007284sd00008384* -- ID_MODEL_FROM_DATABASE=Striker 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8738/CMI8768 PCI Audio (Striker 7.1) - - pci:v000013F6d00000211* - ID_MODEL_FROM_DATABASE=CM8738 -@@ -41187,85 +41187,85 @@ pci:v000013F6d00005011* - ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] - - pci:v000013F6d00005011sv000013F6sd00005011* -- ID_MODEL_FROM_DATABASE=HDA Controller -+ ID_MODEL_FROM_DATABASE=CM8888 [Oxygen Express] (HDA Controller) - - pci:v000013F6d00008788* - ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] - - pci:v000013F6d00008788sv00001043sd00008269* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2)) - - pci:v000013F6d00008788sv00001043sd00008275* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) - - pci:v000013F6d00008788sv00001043sd000082B7* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar D2X) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar D2X)) - - pci:v000013F6d00008788sv00001043sd00008314* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3)) - - pci:v000013F6d00008788sv00001043sd00008327* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar DX) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar DX)) - - pci:v000013F6d00008788sv00001043sd0000834F* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar D1) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar D1)) - - pci:v000013F6d00008788sv00001043sd0000835C* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Essence STX) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) - - pci:v000013F6d00008788sv00001043sd0000835D* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar ST) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar ST)) - - pci:v000013F6d00008788sv00001043sd0000835E* -- ID_MODEL_FROM_DATABASE=Virtuoso 200 (Xonar HDAV1.3 Slim) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 200 (Xonar HDAV1.3 Slim)) - - pci:v000013F6d00008788sv00001043sd0000838E* -- ID_MODEL_FROM_DATABASE=Virtuoso 66 (Xonar DS) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 66 (Xonar DS)) - - pci:v000013F6d00008788sv00001043sd00008428* -- ID_MODEL_FROM_DATABASE=Virtuoso 100 (Xonar Xense) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Xense)) - - pci:v000013F6d00008788sv00001043sd00008467* -- ID_MODEL_FROM_DATABASE=CMI8786 (Xonar DG) -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) - - pci:v000013F6d00008788sv000013F6sd00008782* -- ID_MODEL_FROM_DATABASE=PCI 2.0 HD Audio -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) - - pci:v000013F6d00008788sv000013F6sd0000FFFF* -- ID_MODEL_FROM_DATABASE=CMI8787-HG2PCI -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8787-HG2PCI) - - pci:v000013F6d00008788sv000014C3sd00001710* -- ID_MODEL_FROM_DATABASE=HiFier Fantasia -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Fantasia) - - pci:v000013F6d00008788sv000014C3sd00001711* -- ID_MODEL_FROM_DATABASE=HiFier Serenade -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade) - - pci:v000013F6d00008788sv000014C3sd00001713* -- ID_MODEL_FROM_DATABASE=HiFier Serenade III -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HiFier Serenade III) - - pci:v000013F6d00008788sv00001A58sd00000910* -- ID_MODEL_FROM_DATABASE=Barracuda AC-1 -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Barracuda AC-1) - - pci:v000013F6d00008788sv0000415Asd00005431* -- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1) - - pci:v000013F6d00008788sv00005431sd0000017A* -- ID_MODEL_FROM_DATABASE=X-Meridian 7.1 2G -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (X-Meridian 7.1 2G) - - pci:v000013F6d00008788sv0000584Dsd00003781* -- ID_MODEL_FROM_DATABASE=HDA X-Purity 7.1 Platinum -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (HDA X-Purity 7.1 Platinum) - - pci:v000013F6d00008788sv00007284sd00009761* -- ID_MODEL_FROM_DATABASE=CLARO -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO) - - pci:v000013F6d00008788sv00007284sd00009781* -- ID_MODEL_FROM_DATABASE=CLARO halo -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO halo) - - pci:v000013F6d00008788sv00007284sd00009783* -- ID_MODEL_FROM_DATABASE=eCLARO -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (eCLARO) - - pci:v000013F6d00008788sv00007284sd00009787* -- ID_MODEL_FROM_DATABASE=CLARO II -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CLARO II) - - pci:v000013F7* - ID_VENDOR_FROM_DATABASE=Wildfire Communications -@@ -41298,13 +41298,13 @@ pci:v000013FEd00001600* - ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) - - pci:v000013FEd00001600sv00001601sd00000002* -- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1601 2-port unisolated RS-422/485) - - pci:v000013FEd00001600sv00001602sd00000002* -- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1602 2-port isolated RS-422/485) - - pci:v000013FEd00001600sv00001612sd00000004* -- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 0) (PCI-1612 4-port RS-232/422/485) - - pci:v000013FEd00001603* - ID_MODEL_FROM_DATABASE=PCI-1603 2-port isolated RS-232/current loop -@@ -41316,13 +41316,13 @@ pci:v000013FEd000016FF* - ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) - - pci:v000013FEd000016FFsv00001601sd00000000* -- ID_MODEL_FROM_DATABASE=PCI-1601 2-port unisolated RS-422/485 PCI communications card -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1601 2-port unisolated RS-422/485 PCI communications card) - - pci:v000013FEd000016FFsv00001602sd00000000* -- ID_MODEL_FROM_DATABASE=PCI-1602 2-port isolated RS-422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1602 2-port isolated RS-422/485) - - pci:v000013FEd000016FFsv00001612sd00000000* -- ID_MODEL_FROM_DATABASE=PCI-1612 4-port RS-232/422/485 -+ ID_MODEL_FROM_DATABASE=PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) (PCI-1612 4-port RS-232/422/485) - - pci:v000013FEd00001711* - ID_MODEL_FROM_DATABASE=PCI-1711 16-channel data acquisition card 12-bit, 100kS/s -@@ -41676,37 +41676,37 @@ pci:v00001409d00007168* - ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) - - pci:v00001409d00007168sv00001409sd00000002* -- ID_MODEL_FROM_DATABASE=SER4036A3V (2x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4036A3V (2x RS232 port)) - - pci:v00001409d00007168sv00001409sd00004027* -- ID_MODEL_FROM_DATABASE=SER4027A (1x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027A (1x RS232 port)) - - pci:v00001409d00007168sv00001409sd00004037* -- ID_MODEL_FROM_DATABASE=SER4037A (2x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037A (2x RS232 port)) - - pci:v00001409d00007168sv00001409sd00004056* -- ID_MODEL_FROM_DATABASE=SER4056A (4x RS232) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056A (4x RS232)) - - pci:v00001409d00007168sv00001409sd00005027* -- ID_MODEL_FROM_DATABASE=SER4027D -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4027D) - - pci:v00001409d00007168sv00001409sd00005037* -- ID_MODEL_FROM_DATABASE=SER4037D (2x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4037D (2x RS232 port)) - - pci:v00001409d00007168sv00001409sd00005066* -- ID_MODEL_FROM_DATABASE=SER4066R (8x RS232) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4066R (8x RS232)) - - pci:v00001409d00007168sv00001409sd00006056* -- ID_MODEL_FROM_DATABASE=SER4056D (4x RS232 port) -+ ID_MODEL_FROM_DATABASE=PCI2S550 (Dual 16550 UART) (SER4056D (4x RS232 port)) - - pci:v00001409d00007268* - ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) - - pci:v00001409d00007268sv00001409sd00000103* -- ID_MODEL_FROM_DATABASE=PAR4008A -+ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4008A) - - pci:v00001409d00007268sv00001409sd00000104* -- ID_MODEL_FROM_DATABASE=PAR4018A -+ ID_MODEL_FROM_DATABASE=SUN1888 (Dual IEEE1284 parallel port) (PAR4018A) - - pci:v0000140A* - ID_VENDOR_FROM_DATABASE=DSP Research Inc -@@ -41739,106 +41739,106 @@ pci:v00001412d00001712* - ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller - - pci:v00001412d00001712sv00001412sd00001712* -- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24) - - pci:v00001412d00001712sv00001412sd00003632* -- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 192 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 192) - - pci:v00001412d00001712sv00001412sd0000D630* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010) - - pci:v00001412d00001712sv00001412sd0000D631* -- ID_MODEL_FROM_DATABASE=M-Audio Delta DiO -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta DiO) - - pci:v00001412d00001712sv00001412sd0000D632* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 66 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 66) - - pci:v00001412d00001712sv00001412sd0000D633* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 44 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 44) - - pci:v00001412d00001712sv00001412sd0000D634* -- ID_MODEL_FROM_DATABASE=M-Audio Delta Audiophile 2496 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 2496) - - pci:v00001412d00001712sv00001412sd0000D635* -- ID_MODEL_FROM_DATABASE=M-Audio Delta TDIF -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta TDIF) - - pci:v00001412d00001712sv00001412sd0000D637* -- ID_MODEL_FROM_DATABASE=M-Audio Delta RBUS -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta RBUS) - - pci:v00001412d00001712sv00001412sd0000D638* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 410 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 410) - - pci:v00001412d00001712sv00001412sd0000D63B* -- ID_MODEL_FROM_DATABASE=M-Audio Delta 1010LT -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta 1010LT) - - pci:v00001412d00001712sv00001412sd0000D63C* -- ID_MODEL_FROM_DATABASE=Digigram VX442 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Digigram VX442) - - pci:v00001412d00001712sv00001416sd00001712* -- ID_MODEL_FROM_DATABASE=Hoontech ST Audio DSP 24 Media 7.1 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Hoontech ST Audio DSP 24 Media 7.1) - - pci:v00001412d00001712sv0000153Bsd00001115* -- ID_MODEL_FROM_DATABASE=EWS88 MT -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT) - - pci:v00001412d00001712sv0000153Bsd00001125* -- ID_MODEL_FROM_DATABASE=EWS88 MT (Master) -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 MT (Master)) - - pci:v00001412d00001712sv0000153Bsd0000112B* -- ID_MODEL_FROM_DATABASE=EWS88 D -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D) - - pci:v00001412d00001712sv0000153Bsd0000112C* -- ID_MODEL_FROM_DATABASE=EWS88 D (Master) -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWS88 D (Master)) - - pci:v00001412d00001712sv0000153Bsd00001130* -- ID_MODEL_FROM_DATABASE=EWX 24/96 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (EWX 24/96) - - pci:v00001412d00001712sv0000153Bsd00001138* -- ID_MODEL_FROM_DATABASE=DMX 6fire 24/96 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (DMX 6fire 24/96) - - pci:v00001412d00001712sv0000153Bsd00001151* -- ID_MODEL_FROM_DATABASE=PHASE88 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (PHASE88) - - pci:v00001412d00001712sv000016CEsd00001040* -- ID_MODEL_FROM_DATABASE=Edirol DA-2496 -+ ID_MODEL_FROM_DATABASE=ICE1712 [Envy24] PCI Multi-Channel I/O Controller (Edirol DA-2496) - - pci:v00001412d00001724* - ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller - - pci:v00001412d00001724sv000010B0sd00000200* -- ID_MODEL_FROM_DATABASE=Hollywood@Home 7.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Hollywood@Home 7.1) - - pci:v00001412d00001724sv00001412sd00001724* -- ID_MODEL_FROM_DATABASE=Albatron PX865PE 7.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Albatron PX865PE 7.1) - - pci:v00001412d00001724sv00001412sd00003630* -- ID_MODEL_FROM_DATABASE=M-Audio Revolution 7.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 7.1) - - pci:v00001412d00001724sv00001412sd00003631* -- ID_MODEL_FROM_DATABASE=M-Audio Revolution 5.1 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (M-Audio Revolution 5.1) - - pci:v00001412d00001724sv0000153Bsd00001145* -- ID_MODEL_FROM_DATABASE=Aureon 7.1 Space -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Space) - - pci:v00001412d00001724sv0000153Bsd00001147* -- ID_MODEL_FROM_DATABASE=Aureon 5.1 Sky -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 5.1 Sky) - - pci:v00001412d00001724sv0000153Bsd00001150* -- ID_MODEL_FROM_DATABASE=PHASE 22 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PHASE 22) - - pci:v00001412d00001724sv0000153Bsd00001153* -- ID_MODEL_FROM_DATABASE=Aureon 7.1 Universe -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (Aureon 7.1 Universe) - - pci:v00001412d00001724sv000017ABsd00001906* -- ID_MODEL_FROM_DATABASE=PSC 724 [Ultimate Edge] -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (PSC 724 [Ultimate Edge]) - - pci:v00001412d00001724sv0000270Fsd0000F641* -- ID_MODEL_FROM_DATABASE=ZNF3-150 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-150) - - pci:v00001412d00001724sv0000270Fsd0000F645* -- ID_MODEL_FROM_DATABASE=ZNF3-250 -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (ZNF3-250) - - pci:v00001412d00001724sv00003130sd00004154* -- ID_MODEL_FROM_DATABASE=MAYA 44 MKII -+ ID_MODEL_FROM_DATABASE=VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (MAYA 44 MKII) - - pci:v00001413* - ID_VENDOR_FROM_DATABASE=Addonics -@@ -41904,28 +41904,28 @@ pci:v00001415d00009501* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) - - pci:v00001415d00009501sv000012C4sd00000201* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (2 port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (2 port)) - - pci:v00001415d00009501sv000012C4sd00000202* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (4 port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (4 port)) - - pci:v00001415d00009501sv000012C4sd00000203* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (8 port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/cPCI (8 port)) - - pci:v00001415d00009501sv000012C4sd00000210* -- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p1-4) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (Titan/104-Plus (8 port, p1-4)) - - pci:v00001415d00009501sv0000131Fsd00002050* -- ID_MODEL_FROM_DATABASE=CyberPro (4-port) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberPro (4-port)) - - pci:v00001415d00009501sv0000131Fsd00002051* -- ID_MODEL_FROM_DATABASE=CyberSerial 4S Plus -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (CyberSerial 4S Plus) - - pci:v00001415d00009501sv000015EDsd00002000* -- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 8 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 8) - - pci:v00001415d00009501sv000015EDsd00002001* -- ID_MODEL_FROM_DATABASE=MCCR Serial p0-3 of 16 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 0 (Uart) (MCCR Serial p0-3 of 16) - - pci:v00001415d00009505* - ID_MODEL_FROM_DATABASE=OXuPCI952 (Dual 16C950 UART) -@@ -41940,19 +41940,19 @@ pci:v00001415d00009510* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) - - pci:v00001415d00009510sv000012C4sd00000200* -- ID_MODEL_FROM_DATABASE=Titan/cPCI (Unused) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (Disabled) (Titan/cPCI (Unused)) - - pci:v00001415d00009511* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) - - pci:v00001415d00009511sv000012C4sd00000211* -- ID_MODEL_FROM_DATABASE=Titan/104-Plus (8 port, p5-8) -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (Titan/104-Plus (8 port, p5-8)) - - pci:v00001415d00009511sv000015EDsd00002000* -- ID_MODEL_FROM_DATABASE=MCCR Serial p4-7 of 8 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-7 of 8) - - pci:v00001415d00009511sv000015EDsd00002001* -- ID_MODEL_FROM_DATABASE=MCCR Serial p4-15 of 16 -+ ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) (MCCR Serial p4-15 of 16) - - pci:v00001415d00009512* - ID_MODEL_FROM_DATABASE=OX16PCI954 (Quad 16950 UART) function 1 (32bit bus) -@@ -41970,10 +41970,10 @@ pci:v00001415d0000C158* - ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART - - pci:v00001415d0000C158sv0000E4BFsd0000C504* -- ID_MODEL_FROM_DATABASE=CP4-SCAT Wireless Technologies Carrier Board -+ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (CP4-SCAT Wireless Technologies Carrier Board) - - pci:v00001415d0000C158sv0000E4BFsd0000D551* -- ID_MODEL_FROM_DATABASE=DU1-MUSTANG Dual-Port RS-485 Interface -+ ID_MODEL_FROM_DATABASE=OXPCIe952 Dual 16C950 UART (DU1-MUSTANG Dual-Port RS-485 Interface) - - pci:v00001415d0000C308* - ID_MODEL_FROM_DATABASE=EX-44016 16-port serial -@@ -42042,7 +42042,7 @@ pci:v00001425d00000030* - ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter - - pci:v00001425d00000030sv0000103Csd0000705E* -- ID_MODEL_FROM_DATABASE=PCIe 10GBase-SR [AD386A] -+ ID_MODEL_FROM_DATABASE=T310 10GbE Single Port Adapter (PCIe 10GBase-SR [AD386A]) - - pci:v00001425d00000031* - ID_MODEL_FROM_DATABASE=T320 10GbE Dual Port Adapter -@@ -43170,13 +43170,13 @@ pci:v0000144Dd0000A820* - ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X - - pci:v0000144Dd0000A820sv00001028sd00001F95* -- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 400GB -+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 400GB) - - pci:v0000144Dd0000A820sv00001028sd00001F96* -- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 800GB -+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 800GB) - - pci:v0000144Dd0000A820sv00001028sd00001F97* -- ID_MODEL_FROM_DATABASE=Express Flash NVMe XS1715 SSD 1600GB -+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 1600GB) - - pci:v0000144E* - ID_VENDOR_FROM_DATABASE=OLITEC -@@ -43656,19 +43656,19 @@ pci:v000014C1d00000008* - ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC - - pci:v000014C1d00000008sv000014C1sd00000008* -- ID_MODEL_FROM_DATABASE=10G-PCIE-8A -+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A) - - pci:v000014C1d00000008sv000014C1sd00000009* -- ID_MODEL_FROM_DATABASE=10G-PCIE-8A (MSI-X firmware) -+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8A (MSI-X firmware)) - - pci:v000014C1d00000008sv000014C1sd0000000A* -- ID_MODEL_FROM_DATABASE=10G-PCIE-8B -+ ID_MODEL_FROM_DATABASE=Myri-10G Dual-Protocol NIC (10G-PCIE-8B) - - pci:v000014C1d00008043* - ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect - - pci:v000014C1d00008043sv0000103Csd00001240* -- ID_MODEL_FROM_DATABASE=Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) -+ ID_MODEL_FROM_DATABASE=Myrinet 2000 Scalable Cluster Interconnect (Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)) - - pci:v000014C2* - ID_VENDOR_FROM_DATABASE=DTK Computer -@@ -43929,19 +43929,19 @@ pci:v000014E4d00001600* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express - - pci:v000014E4d00001600sv00001028sd000001C1* -- ID_MODEL_FROM_DATABASE=Precision 490 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Precision 490) - - pci:v000014E4d00001600sv00001028sd000001C2* -- ID_MODEL_FROM_DATABASE=Latitude D620 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (Latitude D620) - - pci:v000014E4d00001600sv0000103Csd00003015* -- ID_MODEL_FROM_DATABASE=PCIe LAN on Motherboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (PCIe LAN on Motherboard) - - pci:v000014E4d00001600sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 Onboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (E4500 Onboard) - - pci:v000014E4d00001600sv00001259sd00002705* -- ID_MODEL_FROM_DATABASE=AT-2711FX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5752 Gigabit Ethernet PCI Express (AT-2711FX) - - pci:v000014E4d00001601* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5752M Gigabit Ethernet PCI Express -@@ -43956,52 +43956,52 @@ pci:v000014E4d00001639* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet - - pci:v000014E4d00001639sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 BCM5709 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R710 BCM5709 Gigabit Ethernet) - - pci:v000014E4d00001639sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 BCM5709 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge R610 BCM5709 Gigabit Ethernet) - - pci:v000014E4d00001639sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 BCM5709 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (PowerEdge T610 BCM5709 Gigabit Ethernet) - - pci:v000014E4d00001639sv0000103Csd00007055* -- ID_MODEL_FROM_DATABASE=NC382i Integrated Multi-port PCI Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382i Integrated Multi-port PCI Express Gigabit Server Adapter) - - pci:v000014E4d00001639sv0000103Csd00007059* -- ID_MODEL_FROM_DATABASE=NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter) - - pci:v000014E4d00001639sv000010A9sd00008027* -- ID_MODEL_FROM_DATABASE=Quad port Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709 Gigabit Ethernet (Quad port Gigabit Ethernet Controller) - - pci:v000014E4d0000163A* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet - - pci:v000014E4d0000163Asv00001028sd0000027B* -- ID_MODEL_FROM_DATABASE=PowerEdge M805 Broadcom NetXtreme II BCM5709S -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M805 Broadcom NetXtreme II BCM5709S) - - pci:v000014E4d0000163Asv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 BCM5709S Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (PowerEdge M710 BCM5709S Gigabit Ethernet) - - pci:v000014E4d0000163Asv0000103Csd0000171D* -- ID_MODEL_FROM_DATABASE=NC382m Dual Port 1GbE Multifunction BL-c Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382m Dual Port 1GbE Multifunction BL-c Adapter) - - pci:v000014E4d0000163Asv0000103Csd00007056* -- ID_MODEL_FROM_DATABASE=NC382i Integrated Quad Port PCI Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (NC382i Integrated Quad Port PCI Express Gigabit Server Adapter) - - pci:v000014E4d0000163Asv00001259sd00002984* -- ID_MODEL_FROM_DATABASE=AT-2973SX -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5709S Gigabit Ethernet (AT-2973SX) - - pci:v000014E4d0000163B* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet - - pci:v000014E4d0000163Bsv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 BCM5716 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R410 BCM5716 Gigabit Ethernet) - - pci:v000014E4d0000163Bsv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 BCM5716 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge T410 BCM5716 Gigabit Ethernet) - - pci:v000014E4d0000163Bsv00001028sd000002F1* -- ID_MODEL_FROM_DATABASE=PowerEdge R510 BCM5716 Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716 Gigabit Ethernet (PowerEdge R510 BCM5716 Gigabit Ethernet) - - pci:v000014E4d0000163C* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5716S Gigabit Ethernet -@@ -44028,220 +44028,220 @@ pci:v000014E4d00001644* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet - - pci:v000014E4d00001644sv00001014sd00000277* -- ID_MODEL_FROM_DATABASE=Broadcom Vigil B5700 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom Vigil B5700 1000Base-T) - - pci:v000014E4d00001644sv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) - - pci:v000014E4d00001644sv00001028sd00000106* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700) - - pci:v000014E4d00001644sv00001028sd00000109* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000Base-T) - - pci:v000014E4d00001644sv00001028sd0000010A* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5700 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (Broadcom BCM5700 1000BaseTX) - - pci:v000014E4d00001644sv000010B7sd00001000* -- ID_MODEL_FROM_DATABASE=3C996-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-T 1000Base-T) - - pci:v000014E4d00001644sv000010B7sd00001001* -- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996B-T 1000Base-T) - - pci:v000014E4d00001644sv000010B7sd00001002* -- ID_MODEL_FROM_DATABASE=3C996C-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996C-T 1000Base-T) - - pci:v000014E4d00001644sv000010B7sd00001003* -- ID_MODEL_FROM_DATABASE=3C997-T 1000Base-T Dual Port -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-T 1000Base-T Dual Port) - - pci:v000014E4d00001644sv000010B7sd00001004* -- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C996-SX 1000Base-SX) - - pci:v000014E4d00001644sv000010B7sd00001005* -- ID_MODEL_FROM_DATABASE=3C997-SX 1000Base-SX Dual Port -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C997-SX 1000Base-SX Dual Port) - - pci:v000014E4d00001644sv000010B7sd00001008* -- ID_MODEL_FROM_DATABASE=3C942 Gigabit LOM (31X31) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (3C942 Gigabit LOM (31X31)) - - pci:v000014E4d00001644sv000014E4sd00000002* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) - - pci:v000014E4d00001644sv000014E4sd00000003* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-SX) - - pci:v000014E4d00001644sv000014E4sd00000004* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000Base-T) - - pci:v000014E4d00001644sv000014E4sd00001028* -- ID_MODEL_FROM_DATABASE=NetXtreme 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (NetXtreme 1000BaseTX) - - pci:v000014E4d00001644sv000014E4sd00001644* -- ID_MODEL_FROM_DATABASE=BCM5700 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5700 Gigabit Ethernet (BCM5700 1000Base-T) - - pci:v000014E4d00001645* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet - - pci:v000014E4d00001645sv00000E11sd0000007C* -- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) - - pci:v000014E4d00001645sv00000E11sd0000007D* -- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) - - pci:v000014E4d00001645sv00000E11sd00000085* -- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) - - pci:v000014E4d00001645sv00000E11sd00000099* -- ID_MODEL_FROM_DATABASE=NC7780 Gigabit Server Adapter (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7780 Gigabit Server Adapter (embedded, WOL)) - - pci:v000014E4d00001645sv00000E11sd0000009A* -- ID_MODEL_FROM_DATABASE=NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) - - pci:v000014E4d00001645sv00000E11sd000000C1* -- ID_MODEL_FROM_DATABASE=NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (NC6770 Gigabit Server Adapter (PCI-X, 1000-SX)) - - pci:v000014E4d00001645sv00001028sd00000121* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Broadcom BCM5701 1000Base-T) - - pci:v000014E4d00001645sv0000103Csd0000128A* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T (HP, OEM 3COM) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T (HP, OEM 3COM)) - - pci:v000014E4d00001645sv0000103Csd0000128B* -- ID_MODEL_FROM_DATABASE=1000Base-SX (PCI) [A7073A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (1000Base-SX (PCI) [A7073A]) - - pci:v000014E4d00001645sv0000103Csd000012A4* -- ID_MODEL_FROM_DATABASE=Core Lan 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core Lan 1000Base-T) - - pci:v000014E4d00001645sv0000103Csd000012C1* -- ID_MODEL_FROM_DATABASE=IOX Core Lan 1000Base-T [A7109AX] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IOX Core Lan 1000Base-T [A7109AX]) - - pci:v000014E4d00001645sv0000103Csd00001300* -- ID_MODEL_FROM_DATABASE=Core LAN/SCSI Combo [A6794A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Core LAN/SCSI Combo [A6794A]) - - pci:v000014E4d00001645sv000010A9sd00008010* -- ID_MODEL_FROM_DATABASE=IO9/IO10 Gigabit Ethernet (Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (IO9/IO10 Gigabit Ethernet (Copper)) - - pci:v000014E4d00001645sv000010A9sd00008011* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Copper)) - - pci:v000014E4d00001645sv000010A9sd00008012* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet (Fiber) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (Gigabit Ethernet (Fiber)) - - pci:v000014E4d00001645sv000010B7sd00001004* -- ID_MODEL_FROM_DATABASE=3C996-SX 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996-SX 1000Base-SX) - - pci:v000014E4d00001645sv000010B7sd00001006* -- ID_MODEL_FROM_DATABASE=3C996B-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C996B-T 1000Base-T) - - pci:v000014E4d00001645sv000010B7sd00001007* -- ID_MODEL_FROM_DATABASE=3C1000-T 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C1000-T 1000Base-T) - - pci:v000014E4d00001645sv000010B7sd00001008* -- ID_MODEL_FROM_DATABASE=3C940-BR01 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (3C940-BR01 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000001* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000005* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000006* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00000007* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-SX) - - pci:v000014E4d00001645sv000014E4sd00000008* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001645sv000014E4sd00001645* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet - - pci:v000014E4d00001645sv000014E4sd00008008* -- ID_MODEL_FROM_DATABASE=BCM5701 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5701 Gigabit Ethernet (BCM5701 1000Base-T) - - pci:v000014E4d00001646* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet - - pci:v000014E4d00001646sv00000E11sd000000BB* -- ID_MODEL_FROM_DATABASE=NC7760 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (NC7760 1000BaseTX) - - pci:v000014E4d00001646sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Broadcom BCM5702 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (Broadcom BCM5702 1000BaseTX) - - pci:v000014E4d00001646sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5702 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702 Gigabit Ethernet (BCM5702 1000BaseTX) - - pci:v000014E4d00001647* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet - - pci:v000014E4d00001647sv00000E11sd00000099* -- ID_MODEL_FROM_DATABASE=NC7780 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7780 1000BaseTX) - - pci:v000014E4d00001647sv00000E11sd0000009A* -- ID_MODEL_FROM_DATABASE=NC7770 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7770 1000BaseTX) - - pci:v000014E4d00001647sv000010A9sd00008010* -- ID_MODEL_FROM_DATABASE=SGI IO9 Gigabit Ethernet (Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (SGI IO9 Gigabit Ethernet (Copper)) - - pci:v000014E4d00001647sv000014E4sd00000009* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001647sv000014E4sd0000000A* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseSX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseSX) - - pci:v000014E4d00001647sv000014E4sd0000000B* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001647sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001647sv000014E4sd0000800A* -- ID_MODEL_FROM_DATABASE=BCM5703 1000BaseTX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (BCM5703 1000BaseTX) - - pci:v000014E4d00001648* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet - - pci:v000014E4d00001648sv00000E11sd000000CF* -- ID_MODEL_FROM_DATABASE=NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv00000E11sd000000D0* -- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv00000E11sd000000D1* -- ID_MODEL_FROM_DATABASE=NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv00001028sd0000014A* -- ID_MODEL_FROM_DATABASE=PowerEdge 1750 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 1750) - - pci:v000014E4d00001648sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Broadcom NetXtreme BCM5704 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PowerEdge 6850 Broadcom NetXtreme BCM5704) - - pci:v000014E4d00001648sv0000103Csd0000310F* -- ID_MODEL_FROM_DATABASE=NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d00001648sv000010A9sd00008013* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Copper)) - - pci:v000014E4d00001648sv000010A9sd00008018* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (A330) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (A330)) - - pci:v000014E4d00001648sv000010A9sd0000801A* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (IA-blade) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Dual Port Gigabit Ethernet (IA-blade)) - - pci:v000014E4d00001648sv000010A9sd0000801B* -- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Copper) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Copper)) - - pci:v000014E4d00001648sv000010B7sd00002000* -- ID_MODEL_FROM_DATABASE=3C998-T Dual Port 10/100/1000 PCI-X -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C998-T Dual Port 10/100/1000 PCI-X) - - pci:v000014E4d00001648sv000010B7sd00003000* -- ID_MODEL_FROM_DATABASE=3C999-T Quad Port 10/100/1000 PCI-X -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (3C999-T Quad Port 10/100/1000 PCI-X) - - pci:v000014E4d00001648sv00001166sd00001648* -- ID_MODEL_FROM_DATABASE=NetXtreme CIOB-E 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (NetXtreme CIOB-E 1000Base-T) - - pci:v000014E4d00001648sv00001734sd0000100B* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard LAN -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704 Gigabit Ethernet (PRIMERGY RX/TX series onboard LAN) - - pci:v000014E4d00001649* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S_2 Gigabit Ethernet -@@ -44250,46 +44250,46 @@ pci:v000014E4d0000164A* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet - - pci:v000014E4d0000164Asv0000103Csd00001709* -- ID_MODEL_FROM_DATABASE=NC371i Integrated PCI-X Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC371i Integrated PCI-X Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Asv0000103Csd00003070* -- ID_MODEL_FROM_DATABASE=NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Asv0000103Csd00003101* -- ID_MODEL_FROM_DATABASE=NC370T MultifuNCtion Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370T MultifuNCtion Gigabit Server Adapter) - - pci:v000014E4d0000164Asv0000103Csd00003106* -- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706 Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164C* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet - - pci:v000014E4d0000164Csv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R900 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=PowerEdge 2970 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge 2970 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd0000020B* -- ID_MODEL_FROM_DATABASE=PowerEdge T605 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge T605 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=PowerEdge R805 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00000223* -- ID_MODEL_FROM_DATABASE=PowerEdge R905 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R905 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv00001028sd00001F12* -- ID_MODEL_FROM_DATABASE=PowerEdge R805/R905 Broadcom NetXtreme II BCM5708 -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (PowerEdge R805/R905 Broadcom NetXtreme II BCM5708) - - pci:v000014E4d0000164Csv0000103Csd00007037* -- ID_MODEL_FROM_DATABASE=NC373T PCI Express Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373T PCI Express Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Csv0000103Csd00007038* -- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164Csv0000103Csd00007045* -- ID_MODEL_FROM_DATABASE=NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708 Gigabit Ethernet (NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter) - - pci:v000014E4d0000164D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702FE Gigabit Ethernet -@@ -44298,10 +44298,10 @@ pci:v000014E4d0000164E* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] - - pci:v000014E4d0000164Esv0000103Csd0000171C* -- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532m Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d0000164Esv0000103Csd00007058* -- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57710 10-Gigabit PCIe [Everest] (NC532i Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d0000164F* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711 10-Gigabit PCIe -@@ -44310,31 +44310,31 @@ pci:v000014E4d00001650* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe - - pci:v000014E4d00001650sv0000103Csd0000171C* -- ID_MODEL_FROM_DATABASE=NC532m Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532m Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d00001650sv0000103Csd00007058* -- ID_MODEL_FROM_DATABASE=NC532i Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57711E 10-Gigabit PCIe (NC532i Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v000014E4d00001653* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet - - pci:v000014E4d00001653sv00000E11sd000000E3* -- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (NC7761 Gigabit Server Adapter) - - pci:v000014E4d00001653sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705 Gigabit Ethernet (Primergy Econel 200 D2020 mainboard) - - pci:v000014E4d00001654* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet - - pci:v000014E4d00001654sv00000E11sd000000E3* -- ID_MODEL_FROM_DATABASE=NC7761 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC7761 Gigabit Server Adapter) - - pci:v000014E4d00001654sv0000103Csd00003100* -- ID_MODEL_FROM_DATABASE=NC1020 ProLiant Gigabit Server Adapter 32 PCI -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC1020 ProLiant Gigabit Server Adapter 32 PCI) - - pci:v000014E4d00001654sv0000103Csd00003226* -- ID_MODEL_FROM_DATABASE=NC150T 4-port Gigabit Combo Switch & Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705_2 Gigabit Ethernet (NC150T 4-port Gigabit Combo Switch & Adapter) - - pci:v000014E4d00001655* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5717 Gigabit Ethernet PCIe -@@ -44349,52 +44349,52 @@ pci:v000014E4d00001659* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express - - pci:v000014E4d00001659sv00001014sd000002C6* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (eServer xSeries server mainboard) - - pci:v000014E4d00001659sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge 860) - - pci:v000014E4d00001659sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 Broadcom NetXtreme BCM5721 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PowerEdge R200 Broadcom NetXtreme BCM5721) - - pci:v000014E4d00001659sv0000103Csd0000170B* -- ID_MODEL_FROM_DATABASE=NC320m PCI Express Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320m PCI Express Dual Port Gigabit Server Adapter) - - pci:v000014E4d00001659sv0000103Csd00007031* -- ID_MODEL_FROM_DATABASE=NC320T PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320T PCIe Gigabit Server Adapter) - - pci:v000014E4d00001659sv0000103Csd00007032* -- ID_MODEL_FROM_DATABASE=NC320i PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (NC320i PCIe Gigabit Server Adapter) - - pci:v000014E4d00001659sv00001734sd00001061* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard LAN -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5721 Gigabit Ethernet PCI Express (PRIMERGY RX/TX S2 series onboard LAN) - - pci:v000014E4d0000165A* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express - - pci:v000014E4d0000165Asv00001014sd00000378* -- ID_MODEL_FROM_DATABASE=IBM System x3350 (Machine type 4192) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (IBM System x3350 (Machine type 4192)) - - pci:v000014E4d0000165Asv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 Broadcom NetXtreme 5722 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge R300 Broadcom NetXtreme 5722) - - pci:v000014E4d0000165Asv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 Broadcom NetXtreme 5722 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T300 Broadcom NetXtreme 5722) - - pci:v000014E4d0000165Asv00001028sd00000225* -- ID_MODEL_FROM_DATABASE=PowerEdge T105 Broadcom NetXtreme 5722 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (PowerEdge T105 Broadcom NetXtreme 5722) - - pci:v000014E4d0000165Asv0000103Csd00007051* -- ID_MODEL_FROM_DATABASE=NC105i PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105i PCIe Gigabit Server Adapter) - - pci:v000014E4d0000165Asv0000103Csd00007052* -- ID_MODEL_FROM_DATABASE=NC105T PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5722 Gigabit Ethernet PCI Express (NC105T PCIe Gigabit Server Adapter) - - pci:v000014E4d0000165B* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe - - pci:v000014E4d0000165Bsv0000103Csd0000705D* -- ID_MODEL_FROM_DATABASE=NC107i Integrated PCI Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5723 Gigabit Ethernet PCIe (NC107i Integrated PCI Express Gigabit Server Adapter) - - pci:v000014E4d0000165C* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5724 Gigabit Ethernet PCIe -@@ -44403,25 +44403,25 @@ pci:v000014E4d0000165D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet - - pci:v000014E4d0000165Dsv00001028sd0000865D* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Latitude D400) - - pci:v000014E4d0000165Dsv000014E4sd0000165D* -- ID_MODEL_FROM_DATABASE=Dell Latitude D600 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M Gigabit Ethernet (Dell Latitude D600) - - pci:v000014E4d0000165E* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet - - pci:v000014E4d0000165Esv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC8000 laptop) - - pci:v000014E4d0000165Esv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NC6000 laptop) - - pci:v000014E4d0000165Esv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (NX6110/NC6120) - - pci:v000014E4d0000165Esv000010CFsd00001279* -- ID_MODEL_FROM_DATABASE=LifeBook E8010D -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5705M_2 Gigabit Ethernet (LifeBook E8010D) - - pci:v000014E4d0000165F* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5720 Gigabit Ethernet PCIe -@@ -44439,7 +44439,7 @@ pci:v000014E4d00001668* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet - - pci:v000014E4d00001668sv0000103Csd00007039* -- ID_MODEL_FROM_DATABASE=NC324i PCIe Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5714 Gigabit Ethernet (NC324i PCIe Dual Port Gigabit Server Adapter) - - pci:v000014E4d00001669* - ID_MODEL_FROM_DATABASE=NetXtreme 5714S Gigabit Ethernet -@@ -44448,7 +44448,7 @@ pci:v000014E4d0000166A* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet - - pci:v000014E4d0000166Asv0000103Csd00007035* -- ID_MODEL_FROM_DATABASE=NC325i Integrated Dual port PCIe Express Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5780 Gigabit Ethernet (NC325i Integrated Dual port PCIe Express Gigabit Server Adapter) - - pci:v000014E4d0000166B* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5780S Gigabit Ethernet -@@ -44472,91 +44472,91 @@ pci:v000014E4d00001677* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express - - pci:v000014E4d00001677sv00001028sd00000176* -- ID_MODEL_FROM_DATABASE=Dimension XPS Gen 4 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension XPS Gen 4) - - pci:v000014E4d00001677sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Dimension 8400) - - pci:v000014E4d00001677sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Optiplex GX280) - - pci:v000014E4d00001677sv00001028sd00000182* -- ID_MODEL_FROM_DATABASE=Latitude D610 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Latitude D610) - - pci:v000014E4d00001677sv00001028sd00000187* -- ID_MODEL_FROM_DATABASE=Precision M70 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision M70) - - pci:v000014E4d00001677sv00001028sd000001A8* -- ID_MODEL_FROM_DATABASE=Precision 380 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Precision 380) - - pci:v000014E4d00001677sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (OptiPlex GX620) - - pci:v000014E4d00001677sv0000103Csd00003006* -- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (DC7100 SFF(DX878AV)) - - pci:v000014E4d00001677sv00001462sd0000028C* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (915P/G Neo2) - - pci:v000014E4d00001677sv00001734sd0000105D* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751 Gigabit Ethernet PCI Express (Scenic W620) - - pci:v000014E4d00001678* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet - - pci:v000014E4d00001678sv0000103Csd0000703E* -- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715 Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) - - pci:v000014E4d00001679* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet - - pci:v000014E4d00001679sv0000103Csd00001707* -- ID_MODEL_FROM_DATABASE=NC326m PCIe Dual Port Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326m PCIe Dual Port Adapter) - - pci:v000014E4d00001679sv0000103Csd0000170C* -- ID_MODEL_FROM_DATABASE=NC325m PCIe Quad Port Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC325m PCIe Quad Port Adapter) - - pci:v000014E4d00001679sv0000103Csd0000703C* -- ID_MODEL_FROM_DATABASE=NC326i PCIe Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5715S Gigabit Ethernet (NC326i PCIe Dual Port Gigabit Server Adapter) - - pci:v000014E4d0000167A* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express - - pci:v000014E4d0000167Asv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (OptiPlex 745) - - pci:v000014E4d0000167Asv00001028sd000001DE* -- ID_MODEL_FROM_DATABASE=Precision 390 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision 390) - - pci:v000014E4d0000167Asv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (PowerEdge SC440) - - pci:v000014E4d0000167Asv00001028sd00000214* -- ID_MODEL_FROM_DATABASE=Precision T3400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T3400) - - pci:v000014E4d0000167Asv00001028sd0000021E* -- ID_MODEL_FROM_DATABASE=Precision T5400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5754 Gigabit Ethernet PCI Express (Precision T5400) - - pci:v000014E4d0000167B* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express - - pci:v000014E4d0000167Bsv0000103Csd0000280A* -- ID_MODEL_FROM_DATABASE=DC5750 Microtower -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5755 Gigabit Ethernet PCI Express (DC5750 Microtower) - - pci:v000014E4d0000167D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express - - pci:v000014E4d0000167Dsv00001014sd00000577* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad Z60t) - - pci:v000014E4d0000167Dsv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP nx8220 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP nx8220) - - pci:v000014E4d0000167Dsv0000103Csd00000940* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (HP Compaq nw8240 Mobile Workstation) - - pci:v000014E4d0000167Dsv000017AAsd00002081* -- ID_MODEL_FROM_DATABASE=ThinkPad R60e -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5751M Gigabit Ethernet PCI Express (ThinkPad R60e) - - pci:v000014E4d0000167E* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5751F Fast Ethernet PCI Express -@@ -44592,22 +44592,22 @@ pci:v000014E4d00001688* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet - - pci:v000014E4d00001688sv00001259sd00002708* -- ID_MODEL_FROM_DATABASE=AT-2712 FX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 10/100/1000BASE-T Ethernet (AT-2712 FX) - - pci:v000014E4d0000168A* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet - - pci:v000014E4d0000168Asv00001028sd00001F5C* -- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) - - pci:v000014E4d0000168Asv00001028sd00001F5D* -- ID_MODEL_FROM_DATABASE=BCM57800 10-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 10-Gigabit Ethernet) - - pci:v000014E4d0000168Asv00001028sd00001F67* -- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) - - pci:v000014E4d0000168Asv00001028sd00001F68* -- ID_MODEL_FROM_DATABASE=BCM57800 1-Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet (BCM57800 1-Gigabit Ethernet) - - pci:v000014E4d0000168D* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet -@@ -44616,34 +44616,34 @@ pci:v000014E4d0000168E* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet - - pci:v000014E4d0000168Esv0000103Csd00001798* -- ID_MODEL_FROM_DATABASE=Flex-10 10Gb 2-port 530FLB Adapter [Meru] -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (Flex-10 10Gb 2-port 530FLB Adapter [Meru]) - - pci:v000014E4d0000168Esv0000103Csd000017A5* -- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Flex-10 10Gb 2-port 530M Adapter) - - pci:v000014E4d0000168Esv0000103Csd000018D3* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530T Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001930* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001931* -- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP StoreFabric CN1100R Dual Port Converged Network Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001932* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534FLB Adapter) - - pci:v000014E4d0000168Esv0000103Csd00001933* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 534M Adapter) - - pci:v000014E4d0000168Esv0000103Csd0000193A* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) - - pci:v000014E4d0000168Esv0000103Csd00003382* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) - - pci:v000014E4d0000168Esv0000103Csd0000339D* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet (HP Ethernet 10Gb 2-port 530SFP+ Adapter) - - pci:v000014E4d00001690* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57760 Gigabit Ethernet PCIe -@@ -44652,22 +44652,22 @@ pci:v000014E4d00001691* - ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe - - pci:v000014E4d00001691sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=NetLink BCM57788 Gigabit Ethernet PCIe (XPS 8300) - - pci:v000014E4d00001692* - ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe - - pci:v000014E4d00001692sv00001025sd0000033D* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=NetLink BCM57780 Gigabit Ethernet PCIe (Aspire 7740G) - - pci:v000014E4d00001693* - ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express - - pci:v000014E4d00001693sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (Aspire 5920G) - - pci:v000014E4d00001693sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=6710b -+ ID_MODEL_FROM_DATABASE=NetLink BCM5787M Gigabit Ethernet PCI Express (6710b) - - pci:v000014E4d00001694* - ID_MODEL_FROM_DATABASE=NetLink BCM57790 Gigabit Ethernet PCIe -@@ -44676,10 +44676,10 @@ pci:v000014E4d00001696* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet - - pci:v000014E4d00001696sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (d530 CMT (DG746A)) - - pci:v000014E4d00001696sv000014E4sd0000000D* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5782 Gigabit Ethernet (NetXtreme BCM5782 1000Base-T) - - pci:v000014E4d00001698* - ID_MODEL_FROM_DATABASE=NetLink BCM5784M Gigabit Ethernet PCIe -@@ -44697,16 +44697,16 @@ pci:v000014E4d0000169C* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet - - pci:v000014E4d0000169Csv0000103Csd0000308B* -- ID_MODEL_FROM_DATABASE=MX6125 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (MX6125) - - pci:v000014E4d0000169Csv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (NC2400) - - pci:v000014E4d0000169Csv0000144Dsd0000C018* -- ID_MODEL_FROM_DATABASE=X20 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (X20) - - pci:v000014E4d0000169Csv00001462sd0000590C* -- ID_MODEL_FROM_DATABASE=KT6 Delta-FIS2R (MS-6590) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5788 Gigabit Ethernet (KT6 Delta-FIS2R (MS-6590)) - - pci:v000014E4d0000169D* - ID_MODEL_FROM_DATABASE=NetLink BCM5789 Gigabit Ethernet PCI Express -@@ -44721,112 +44721,112 @@ pci:v000014E4d000016A2* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet - - pci:v000014E4d000016A2sv0000103Csd00001916* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630FLB Adapter) - - pci:v000014E4d000016A2sv0000103Csd00001917* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) - - pci:v000014E4d000016A4* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function - - pci:v000014E4d000016A4sv0000103Csd00001916* -- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630FLB Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630FLB Adapter) - - pci:v000014E4d000016A4sv0000103Csd00001917* -- ID_MODEL_FROM_DATABASE=HP NPAR 20Gb 2-port 630M Adapter -+ ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function (HP NPAR 20Gb 2-port 630M Adapter) - - pci:v000014E4d000016A5* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function - - pci:v000014E4d000016A5sv00001028sd00001F5C* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A5sv00001028sd00001F5D* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A5sv00001028sd00001F67* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A5sv00001028sd00001F68* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function (NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function) - - pci:v000014E4d000016A6* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet - - pci:v000014E4d000016A6sv00000E11sd000000BB* -- ID_MODEL_FROM_DATABASE=NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T)) - - pci:v000014E4d000016A6sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016A6sv000014E4sd0000000C* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016A6sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702X Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016A7* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet - - pci:v000014E4d000016A7sv00000E11sd000000CA* -- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016A7sv00000E11sd000000CB* -- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016A7sv00001014sd0000026F* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (eServer xSeries server mainboard) - - pci:v000014E4d000016A7sv000014E4sd00000009* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016A7sv000014E4sd0000000A* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) - - pci:v000014E4d000016A7sv000014E4sd0000000B* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016A7sv000014E4sd0000800A* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703X Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016A8* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet - - pci:v000014E4d000016A8sv0000103Csd0000132B* -- ID_MODEL_FROM_DATABASE=PCI-X 1000Mbps Dual-port Built-in -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (PCI-X 1000Mbps Dual-port Built-in) - - pci:v000014E4d000016A8sv000010A9sd00008014* -- ID_MODEL_FROM_DATABASE=Dual Port Gigabit Ethernet (PCI-X,Fiber) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Dual Port Gigabit Ethernet (PCI-X,Fiber)) - - pci:v000014E4d000016A8sv000010A9sd0000801C* -- ID_MODEL_FROM_DATABASE=Quad Port Gigabit Ethernet (PCI-E,Fiber) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (Quad Port Gigabit Ethernet (PCI-E,Fiber)) - - pci:v000014E4d000016A8sv000010B7sd00002001* -- ID_MODEL_FROM_DATABASE=3C998-SX Dual Port 1000-SX PCI-X -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5704S Gigabit Ethernet (3C998-SX Dual Port 1000-SX PCI-X) - - pci:v000014E4d000016A9* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function - - pci:v000014E4d000016A9sv00001028sd00001F5C* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016A9sv00001028sd00001F5D* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016A9sv00001028sd00001F67* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016A9sv00001028sd00001F68* -- ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function (NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function) - - pci:v000014E4d000016AA* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet - - pci:v000014E4d000016AAsv0000103Csd00003102* -- ID_MODEL_FROM_DATABASE=NC370F MultifuNCtion Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370F MultifuNCtion Gigabit Server Adapter) - - pci:v000014E4d000016AAsv0000103Csd0000310C* -- ID_MODEL_FROM_DATABASE=NC370i Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5706S Gigabit Ethernet (NC370i Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016AB* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function -@@ -44838,97 +44838,97 @@ pci:v000014E4d000016ACsv00001014sd00000304* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet - - pci:v000014E4d000016ACsv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 Broadcom NetXtreme II BCM5708S -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge 1955 Broadcom NetXtreme II BCM5708S) - - pci:v000014E4d000016ACsv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=PowerEdge M605 Broadcom NetXtreme II BCM5708S -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (PowerEdge M605 Broadcom NetXtreme II BCM5708S) - - pci:v000014E4d000016ACsv0000103Csd00001706* -- ID_MODEL_FROM_DATABASE=NC373m Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373m Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016ACsv0000103Csd00007038* -- ID_MODEL_FROM_DATABASE=NC373i PCI Express Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i PCI Express Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016ACsv0000103Csd0000703B* -- ID_MODEL_FROM_DATABASE=NC373i Integrated Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373i Integrated Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016ACsv0000103Csd0000703D* -- ID_MODEL_FROM_DATABASE=NC373F PCI Express Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM5708S Gigabit Ethernet (NC373F PCI Express Multifunction Gigabit Server Adapter) - - pci:v000014E4d000016AD* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function - - pci:v000014E4d000016ADsv0000103Csd00001916* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630FLB Adapter) - - pci:v000014E4d000016ADsv0000103Csd00001917* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 20Gb 2-port 630M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function (HP FlexFabric 20Gb 2-port 630M Adapter) - - pci:v000014E4d000016AE* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function - - pci:v000014E4d000016AEsv0000103Csd00001798* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLB Adapter) - - pci:v000014E4d000016AEsv0000103Csd000017A5* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530M Adapter) - - pci:v000014E4d000016AEsv0000103Csd000018D3* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530T Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001930* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001931* -- ID_MODEL_FROM_DATABASE=HP NPAR CN1100R Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR CN1100R Dual Port Converged Network Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001932* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534FLB Adapter) - - pci:v000014E4d000016AEsv0000103Csd00001933* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 534M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 534M Adapter) - - pci:v000014E4d000016AEsv0000103Csd0000193A* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 533FLR-T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 533FLR-T Adapter) - - pci:v000014E4d000016AEsv0000103Csd00003382* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter) - - pci:v000014E4d000016AEsv0000103Csd0000339D* -- ID_MODEL_FROM_DATABASE=HP NPAR 10Gb 2-port 530SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (HP NPAR 10Gb 2-port 530SFP+ Adapter) - - pci:v000014E4d000016AF* - ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function - - pci:v000014E4d000016AFsv0000103Csd00001798* -- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530FLB Adapter) - - pci:v000014E4d000016AFsv0000103Csd000017A5* -- ID_MODEL_FROM_DATABASE=HP Flex-10 10Gb 2-port 530M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Flex-10 10Gb 2-port 530M Adapter) - - pci:v000014E4d000016AFsv0000103Csd000018D3* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530T Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001930* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001931* -- ID_MODEL_FROM_DATABASE=HP StoreFabric CN1100R Dual Port Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP StoreFabric CN1100R Dual Port Converged Network Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001932* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534FLB Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534FLB Adapter) - - pci:v000014E4d000016AFsv0000103Csd00001933* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 534M Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 534M Adapter) - - pci:v000014E4d000016AFsv0000103Csd0000193A* -- ID_MODEL_FROM_DATABASE=HP FlexFabric 10Gb 2-port 533FLR-T Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP FlexFabric 10Gb 2-port 533FLR-T Adapter) - - pci:v000014E4d000016AFsv0000103Csd00003382* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) - - pci:v000014E4d000016AFsv0000103Csd0000339D* -- ID_MODEL_FROM_DATABASE=HP Ethernet 10Gb 2-port 530SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function (HP Ethernet 10Gb 2-port 530SFP+ Adapter) - - pci:v000014E4d000016B0* - ID_MODEL_FROM_DATABASE=NetXtreme BCM57761 Gigabit Ethernet PCIe -@@ -44937,7 +44937,7 @@ pci:v000014E4d000016B1* - ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe - - pci:v000014E4d000016B1sv00001849sd000096B1* -- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard -+ ID_MODEL_FROM_DATABASE=NetLink BCM57781 Gigabit Ethernet PCIe (Z77 Extreme4 motherboard) - - pci:v000014E4d000016B2* - ID_MODEL_FROM_DATABASE=NetLink BCM57791 Gigabit Ethernet PCIe -@@ -44970,37 +44970,37 @@ pci:v000014E4d000016C6* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet - - pci:v000014E4d000016C6sv000010B7sd00001100* -- ID_MODEL_FROM_DATABASE=3C1000B-T 10/100/1000 PCI -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (3C1000B-T 10/100/1000 PCI) - - pci:v000014E4d000016C6sv000014E4sd0000000C* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016C6sv000014E4sd00008009* -- ID_MODEL_FROM_DATABASE=BCM5702 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet (BCM5702 1000Base-T) - - pci:v000014E4d000016C7* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet - - pci:v000014E4d000016C7sv00000E11sd000000CA* -- ID_MODEL_FROM_DATABASE=NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016C7sv00000E11sd000000CB* -- ID_MODEL_FROM_DATABASE=NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T)) - - pci:v000014E4d000016C7sv0000103Csd000012C3* -- ID_MODEL_FROM_DATABASE=Combo FC/GigE-SX [A9782A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-SX [A9782A]) - - pci:v000014E4d000016C7sv0000103Csd000012CA* -- ID_MODEL_FROM_DATABASE=Combo FC/GigE-T [A9784A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Combo FC/GigE-T [A9784A]) - - pci:v000014E4d000016C7sv0000103Csd00001321* -- ID_MODEL_FROM_DATABASE=Core I/O LAN/SCSI Combo [AB314A] -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (Core I/O LAN/SCSI Combo [AB314A]) - - pci:v000014E4d000016C7sv000014E4sd00000009* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-T -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-T) - - pci:v000014E4d000016C7sv000014E4sd0000000A* -- ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 1000Base-SX -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5703 Gigabit Ethernet (NetXtreme BCM5703 1000Base-SX) - - pci:v000014E4d000016DD* - ID_MODEL_FROM_DATABASE=NetLink BCM5781 Gigabit Ethernet PCI Express -@@ -45015,10 +45015,10 @@ pci:v000014E4d000016FD* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express - - pci:v000014E4d000016FDsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nx9420 Notebook) - - pci:v000014E4d000016FDsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5753M Gigabit Ethernet PCI Express (Compaq nw8440) - - pci:v000014E4d000016FE* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5753F Fast Ethernet PCI Express -@@ -45027,40 +45027,40 @@ pci:v000014E4d0000170C* - ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX - - pci:v000014E4d0000170Csv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6000 laptop) - - pci:v000014E4d0000170Csv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 700m/710m) - - pci:v000014E4d0000170Csv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 5160) - - pci:v000014E4d0000170Csv00001028sd000001AF* -- ID_MODEL_FROM_DATABASE=Inspiron 6400 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 6400) - - pci:v000014E4d0000170Csv00001028sd000001CD* -- ID_MODEL_FROM_DATABASE=Inspiron 9400 Laptop -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron 9400 Laptop) - - pci:v000014E4d0000170Csv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (XPS M1210) - - pci:v000014E4d0000170Csv00001028sd000001D8* -- ID_MODEL_FROM_DATABASE=Inspiron E1405 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (Inspiron E1405) - - pci:v000014E4d0000170Csv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX6110/NC6120) - - pci:v000014E4d0000170Csv0000103Csd000030A2* -- ID_MODEL_FROM_DATABASE=NX7300 laptop -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (NX7300 laptop) - - pci:v000014E4d0000170Csv000014E4sd0000170C* -- ID_MODEL_FROM_DATABASE=HP Compaq 6720t Mobile Thin Client -+ ID_MODEL_FROM_DATABASE=BCM4401-B0 100Base-TX (HP Compaq 6720t Mobile Thin Client) - - pci:v000014E4d0000170D* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX - - pci:v000014E4d0000170Dsv00001014sd00000545* -- ID_MODEL_FROM_DATABASE=ThinkPad R40e -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX (ThinkPad R40e) - - pci:v000014E4d0000170E* - ID_MODEL_FROM_DATABASE=NetXtreme BCM5901 100Base-TX -@@ -45072,16 +45072,16 @@ pci:v000014E4d00001713* - ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express - - pci:v000014E4d00001713sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Inspiron 1420) - - pci:v000014E4d00001713sv00001028sd00000209* -- ID_MODEL_FROM_DATABASE=XPS M1330 -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (XPS M1330) - - pci:v000014E4d00001713sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (Compaq 6710b) - - pci:v000014E4d00001713sv000017AAsd00003A23* -- ID_MODEL_FROM_DATABASE=IdeaPad S10e -+ ID_MODEL_FROM_DATABASE=NetLink BCM5906M Fast Ethernet PCI Express (IdeaPad S10e) - - pci:v000014E4d00003352* - ID_MODEL_FROM_DATABASE=BCM3352 -@@ -45108,16 +45108,16 @@ pci:v000014E4d00004301* - ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller - - pci:v000014E4d00004301sv00001028sd00000407* -- ID_MODEL_FROM_DATABASE=TrueMobile 1180 Onboard WLAN -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (TrueMobile 1180 Onboard WLAN) - - pci:v000014E4d00004301sv00001043sd00000120* -- ID_MODEL_FROM_DATABASE=WL-103b Wireless LAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WL-103b Wireless LAN PC Card) - - pci:v000014E4d00004301sv000016A5sd00001602* -- ID_MODEL_FROM_DATABASE=B-300 802.11b Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (B-300 802.11b Wireless CardBus Adapter) - - pci:v000014E4d00004301sv00001737sd00004301* -- ID_MODEL_FROM_DATABASE=WMP11 v2.7 802.11b Wireless-B PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4301 802.11b Wireless LAN Controller (WMP11 v2.7 802.11b Wireless-B PCI Adapter) - - pci:v000014E4d00004305* - ID_MODEL_FROM_DATABASE=BCM4307 V.90 56k Modem -@@ -45135,85 +45135,85 @@ pci:v000014E4d00004311* - ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN - - pci:v000014E4d00004311sv00001028sd00000007* -- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN Mini-Card) - - pci:v000014E4d00004311sv00001028sd00000008* -- ID_MODEL_FROM_DATABASE=Wireless 1390 WLAN ExpressCard -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (Wireless 1390 WLAN ExpressCard) - - pci:v000014E4d00004311sv0000103Csd00001363* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001364* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001365* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001374* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001375* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001376* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001377* -- ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4311 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd0000137F* -- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) - - pci:v000014E4d00004311sv0000103Csd00001380* -- ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM4322 802.11a/b/g/n Wireless LAN Controller) - - pci:v000014E4d00004311sv000014E4sd00004311* -- ID_MODEL_FROM_DATABASE=BCM94311MCG -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11b/g WLAN (BCM94311MCG) - - pci:v000014E4d00004312* - ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g - - pci:v000014E4d00004312sv00001028sd00000007* -- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN Mini-Card) - - pci:v000014E4d00004312sv00001028sd00000008* -- ID_MODEL_FROM_DATABASE=Wireless 1490 Dual Band WLAN ExpressCard -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Wireless 1490 Dual Band WLAN ExpressCard) - - pci:v000014E4d00004312sv0000103Csd0000135A* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd0000135F* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001360* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001361* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001362* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001370* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001371* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001372* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd00001373* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004312sv0000103Csd000030B5* -- ID_MODEL_FROM_DATABASE=Presario V3242AU -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Presario V3242AU) - - pci:v000014E4d00004312sv0000106Bsd00000089* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (AirPort Extreme) - - pci:v000014E4d00004312sv00001371sd0000103C* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11 Multiband-netwerkadapter(6715s) -+ ID_MODEL_FROM_DATABASE=BCM4311 802.11a/b/g (Broadcom 802.11 Multiband-netwerkadapter(6715s)) - - pci:v000014E4d00004313* - ID_MODEL_FROM_DATABASE=BCM4311 802.11a -@@ -45222,175 +45222,175 @@ pci:v000014E4d00004315* - ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY - - pci:v000014E4d00004315sv00001028sd0000000B* -- ID_MODEL_FROM_DATABASE=Wireless 1395 WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1395 WLAN Mini-Card) - - pci:v000014E4d00004315sv00001028sd0000000C* -- ID_MODEL_FROM_DATABASE=Wireless 1397 WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (Wireless 1397 WLAN Mini-Card) - - pci:v000014E4d00004315sv0000103Csd0000137C* -- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004315sv0000103Csd0000137D* -- ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (BCM4312 802.11b/g Wireless LAN Controller) - - pci:v000014E4d00004315sv0000103Csd00001507* -- ID_MODEL_FROM_DATABASE=U98Z049.00 Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (U98Z049.00 Wireless Mini PCIe Card) - - pci:v000014E4d00004315sv0000105Bsd0000E003* -- ID_MODEL_FROM_DATABASE=T77H030.00 Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H030.00 Wireless Mini PCIe Card) - - pci:v000014E4d00004315sv0000105Bsd0000E01B* -- ID_MODEL_FROM_DATABASE=T77H106.00 Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM4312 802.11b/g LP-PHY (T77H106.00 Wireless Half-size Mini PCIe Card) - - pci:v000014E4d00004318* - ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller - - pci:v000014E4d00004318sv00001028sd00000005* -- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN Mini-PCI Card) - - pci:v000014E4d00004318sv00001028sd00000006* -- ID_MODEL_FROM_DATABASE=Wireless 1370 WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Wireless 1370 WLAN PC Card) - - pci:v000014E4d00004318sv0000103Csd00001355* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004318sv0000103Csd00001356* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004318sv0000103Csd00001357* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004318sv00001043sd0000100F* -- ID_MODEL_FROM_DATABASE=WL-138G v2 / WL-138gE / WL-100gE -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WL-138G v2 / WL-138gE / WL-100gE) - - pci:v000014E4d00004318sv00001043sd0000120F* -- ID_MODEL_FROM_DATABASE=A6U notebook embedded card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (A6U notebook embedded card) - - pci:v000014E4d00004318sv00001154sd00000355* -- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter) - - pci:v000014E4d00004318sv00001468sd00000311* -- ID_MODEL_FROM_DATABASE=Aspire 3022WLMi, 5024WLMi, 5020 -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Aspire 3022WLMi, 5024WLMi, 5020) - - pci:v000014E4d00004318sv00001468sd00000312* -- ID_MODEL_FROM_DATABASE=TravelMate 2410 -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (TravelMate 2410) - - pci:v000014E4d00004318sv000014E4sd00000449* -- ID_MODEL_FROM_DATABASE=Gateway 7510GX -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (Gateway 7510GX) - - pci:v000014E4d00004318sv000016ECsd00000119* -- ID_MODEL_FROM_DATABASE=U.S.Robotics Wireless MAXg PC Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (U.S.Robotics Wireless MAXg PC Card) - - pci:v000014E4d00004318sv00001737sd00000042* -- ID_MODEL_FROM_DATABASE=WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster) - - pci:v000014E4d00004318sv00001737sd00000048* -- ID_MODEL_FROM_DATABASE=WPC54G v3 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54G v3 802.11g Wireless-G Notebook Adapter) - - pci:v000014E4d00004318sv00001737sd00000049* -- ID_MODEL_FROM_DATABASE=WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster) - - pci:v000014E4d00004318sv00001799sd00007000* -- ID_MODEL_FROM_DATABASE=F5D7000 v4000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7000 v4000 Wireless G Desktop Card) - - pci:v000014E4d00004318sv00001799sd00007001* -- ID_MODEL_FROM_DATABASE=F5D7001 v2000 Wireless G Plus Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7001 v2000 Wireless G Plus Desktop Card) - - pci:v000014E4d00004318sv00001799sd00007010* -- ID_MODEL_FROM_DATABASE=F5D7010 v4000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7010 v4000 Wireless G Notebook Card) - - pci:v000014E4d00004318sv00001799sd00007011* -- ID_MODEL_FROM_DATABASE=F5D7011 v2000 High-Speed Mode Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (F5D7011 v2000 High-Speed Mode Wireless G Notebook Card) - - pci:v000014E4d00004319* - ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver - - pci:v000014E4d00004319sv00001028sd00000005* -- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN Mini-PCI Card) - - pci:v000014E4d00004319sv00001028sd00000006* -- ID_MODEL_FROM_DATABASE=Wireless 1470 Dual Band WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Wireless 1470 Dual Band WLAN PC Card) - - pci:v000014E4d00004319sv0000103Csd00001358* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004319sv0000103Csd00001359* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004319sv0000103Csd0000135A* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004320* - ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller - - pci:v000014E4d00004320sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN Mini-PCI Card) - - pci:v000014E4d00004320sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=TrueMobile 1300 WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TrueMobile 1300 WLAN PC Card) - - pci:v000014E4d00004320sv00001028sd00000003* -- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN Mini-PCI Card) - - pci:v000014E4d00004320sv00001028sd00000004* -- ID_MODEL_FROM_DATABASE=Wireless 1350 WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Wireless 1350 WLAN PC Card) - - pci:v000014E4d00004320sv0000103Csd000012F4* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv0000103Csd000012F8* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv0000103Csd000012FA* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv0000103Csd000012FB* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Broadcom 802.11b/g WLAN) - - pci:v000014E4d00004320sv00001043sd0000100F* -- ID_MODEL_FROM_DATABASE=WL-100G -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WL-100G) - - pci:v000014E4d00004320sv00001057sd00007025* -- ID_MODEL_FROM_DATABASE=WN825G -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WN825G) - - pci:v000014E4d00004320sv0000106Bsd0000004E* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (AirPort Extreme) - - pci:v000014E4d00004320sv00001154sd00000330* -- ID_MODEL_FROM_DATABASE=Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter) - - pci:v000014E4d00004320sv0000144Fsd00007050* -- ID_MODEL_FROM_DATABASE=eMachines M6805 802.11g Built-in Wireless -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (eMachines M6805 802.11g Built-in Wireless) - - pci:v000014E4d00004320sv0000144Fsd00007051* -- ID_MODEL_FROM_DATABASE=Sonnet Aria Extreme PCI -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (Sonnet Aria Extreme PCI) - - pci:v000014E4d00004320sv00001737sd00000013* -- ID_MODEL_FROM_DATABASE=WMP54G v1 802.11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v1 802.11g PCI Adapter) - - pci:v000014E4d00004320sv00001737sd00000014* -- ID_MODEL_FROM_DATABASE=WMP54G v2 802.11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54G v2 802.11g PCI Adapter) - - pci:v000014E4d00004320sv00001737sd00000015* -- ID_MODEL_FROM_DATABASE=WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster) - - pci:v000014E4d00004320sv00001737sd00004320* -- ID_MODEL_FROM_DATABASE=WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter) - - pci:v000014E4d00004320sv00001799sd00007000* -- ID_MODEL_FROM_DATABASE=F5D7000 v1000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7000 v1000 Wireless G Desktop Card) - - pci:v000014E4d00004320sv00001799sd00007001* -- ID_MODEL_FROM_DATABASE=F5D7001 v1000 Wireless G Plus Desktop Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7001 v1000 Wireless G Plus Desktop Card) - - pci:v000014E4d00004320sv00001799sd00007010* -- ID_MODEL_FROM_DATABASE=F5D7010 v1000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7010 v1000 Wireless G Notebook Card) - - pci:v000014E4d00004320sv00001799sd00007011* -- ID_MODEL_FROM_DATABASE=F5D7011 v1000 High-Speed Mode Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (F5D7011 v1000 High-Speed Mode Wireless G Notebook Card) - - pci:v000014E4d00004320sv0000185Fsd00001220* -- ID_MODEL_FROM_DATABASE=TravelMate 290E WLAN Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11b/g Wireless LAN Controller (TravelMate 290E WLAN Mini-PCI Card) - - pci:v000014E4d00004321* - ID_MODEL_FROM_DATABASE=BCM4321 802.11a Wireless Network Controller -@@ -45402,31 +45402,31 @@ pci:v000014E4d00004324* - ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller - - pci:v000014E4d00004324sv00001028sd00000001* -- ID_MODEL_FROM_DATABASE=Truemobile 1400 -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1400) - - pci:v000014E4d00004324sv00001028sd00000002* -- ID_MODEL_FROM_DATABASE=TrueMobile 1400 Dual Band WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (TrueMobile 1400 Dual Band WLAN PC Card) - - pci:v000014E4d00004324sv00001028sd00000003* -- ID_MODEL_FROM_DATABASE=Truemobile 1450 MiniPCI -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Truemobile 1450 MiniPCI) - - pci:v000014E4d00004324sv00001028sd00000004* -- ID_MODEL_FROM_DATABASE=Wireless 1450 Dual Band WLAN PC Card -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Wireless 1450 Dual Band WLAN PC Card) - - pci:v000014E4d00004324sv0000103Csd000012F9* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004324sv0000103Csd000012FC* -- ID_MODEL_FROM_DATABASE=Broadcom 802.11a/b/g WLAN -+ ID_MODEL_FROM_DATABASE=BCM4309 802.11abg Wireless Network Controller (Broadcom 802.11a/b/g WLAN) - - pci:v000014E4d00004325* - ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller - - pci:v000014E4d00004325sv00001414sd00000003* -- ID_MODEL_FROM_DATABASE=Wireless Notebook Adapter MN-720 -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless Notebook Adapter MN-720) - - pci:v000014E4d00004325sv00001414sd00000004* -- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter MN-730 -+ ID_MODEL_FROM_DATABASE=BCM4306 802.11bg Wireless Network Controller (Wireless PCI Adapter MN-730) - - pci:v000014E4d00004326* - ID_MODEL_FROM_DATABASE=BCM4307 Chipcommon I/O Controller? -@@ -45435,58 +45435,58 @@ pci:v000014E4d00004328* - ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n - - pci:v000014E4d00004328sv00001028sd00000009* -- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-Card) - - pci:v000014E4d00004328sv00001028sd0000000A* -- ID_MODEL_FROM_DATABASE=Wireless 1500 Draft 802.11n WLAN Mini-card -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless 1500 Draft 802.11n WLAN Mini-card) - - pci:v000014E4d00004328sv0000103Csd00001366* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000103Csd00001367* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000103Csd00001368* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000103Csd00001369* -- ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n Wireless LAN Controller -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (Wireless LAN Controller) - - pci:v000014E4d00004328sv0000106Bsd00000087* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd00000088* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd0000008B* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd0000008C* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv0000106Bsd00000090* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004328sv000014E4sd00004328* -- ID_MODEL_FROM_DATABASE=BCM4328 802.11a/b/g/n -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (BCM4328 802.11a/b/g/n) - - pci:v000014E4d00004328sv00001737sd00000066* -- ID_MODEL_FROM_DATABASE=WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter) - - pci:v000014E4d00004328sv00001737sd00000068* -- ID_MODEL_FROM_DATABASE=WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11a/b/g/n (WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard) - - pci:v000014E4d00004329* - ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n - - pci:v000014E4d00004329sv00001385sd00007B00* -- ID_MODEL_FROM_DATABASE=WN511B RangeMax NEXT Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN511B RangeMax NEXT Wireless Notebook Adapter) - - pci:v000014E4d00004329sv00001385sd00007D00* -- ID_MODEL_FROM_DATABASE=WN311B RangeMax Next 270 Mbps Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WN311B RangeMax Next 270 Mbps Wireless PCI Adapter) - - pci:v000014E4d00004329sv00001737sd00000058* -- ID_MODEL_FROM_DATABASE=WPC300N v1 Wireless-N Notebook Adapter -+ ID_MODEL_FROM_DATABASE=BCM4321 802.11b/g/n (WPC300N v1 Wireless-N Notebook Adapter) - - pci:v000014E4d0000432A* - ID_MODEL_FROM_DATABASE=BCM4321 802.11an Wireless Network Controller -@@ -45495,19 +45495,19 @@ pci:v000014E4d0000432B* - ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller - - pci:v000014E4d0000432Bsv00001028sd0000000D* -- ID_MODEL_FROM_DATABASE=Wireless 1510 Wireless-N WLAN Mini-Card -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (Wireless 1510 Wireless-N WLAN Mini-Card) - - pci:v000014E4d0000432Bsv0000106Bsd0000008D* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) - - pci:v000014E4d0000432Bsv0000106Bsd0000008E* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11a/b/g/n Wireless LAN Controller (AirPort Extreme) - - pci:v000014E4d0000432C* - ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n - - pci:v000014E4d0000432Csv00001799sd0000D311* -- ID_MODEL_FROM_DATABASE=Dynex DX-NNBX 802.11n WLAN Cardbus Card -+ ID_MODEL_FROM_DATABASE=BCM4322 802.11b/g/n (Dynex DX-NNBX 802.11n WLAN Cardbus Card) - - pci:v000014E4d0000432D* - ID_MODEL_FROM_DATABASE=BCM4322 802.11an Wireless Network Controller -@@ -45516,25 +45516,25 @@ pci:v000014E4d00004331* - ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n - - pci:v000014E4d00004331sv0000106Bsd000000D6* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000E4* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000EF* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000F4* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd000000F5* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd0000010E* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004331sv0000106Bsd0000010F* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM4331 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004333* - ID_MODEL_FROM_DATABASE=Serial (EDGE/GPRS modem part of Option GT Combo Edge) -@@ -45549,25 +45549,25 @@ pci:v000014E4d00004353* - ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n - - pci:v000014E4d00004353sv00001028sd0000000E* -- ID_MODEL_FROM_DATABASE=Wireless 1520 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (Wireless 1520 Half-size Mini PCIe Card) - - pci:v000014E4d00004353sv0000103Csd00001509* -- ID_MODEL_FROM_DATABASE=WMIB-275N Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (WMIB-275N Half-size Mini PCIe Card) - - pci:v000014E4d00004353sv0000106Bsd00000093* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004353sv0000106Bsd000000D1* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004353sv0000106Bsd000000E9* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=BCM43224 802.11a/b/g/n (AirPort Extreme) - - pci:v000014E4d00004357* - ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n - - pci:v000014E4d00004357sv0000105Bsd0000E021* -- ID_MODEL_FROM_DATABASE=T77H103.00 Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43225 802.11b/g/n (T77H103.00 Wireless Half-size Mini PCIe Card) - - pci:v000014E4d00004358* - ID_MODEL_FROM_DATABASE=BCM43227 802.11b/g/n -@@ -45576,16 +45576,16 @@ pci:v000014E4d00004359* - ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n - - pci:v000014E4d00004359sv00001028sd00000011* -- ID_MODEL_FROM_DATABASE=Wireless 1530 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (Wireless 1530 Half-size Mini PCIe Card) - - pci:v000014E4d00004359sv0000103Csd0000182C* -- ID_MODEL_FROM_DATABASE=BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter -+ ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) - - pci:v000014E4d00004365* - ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n - - pci:v000014E4d00004365sv00001028sd00000016* -- ID_MODEL_FROM_DATABASE=Wireless 1704 802.11n + BT 4.0 -+ ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n (Wireless 1704 802.11n + BT 4.0) - - pci:v000014E4d000043A0* - ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter -@@ -45597,13 +45597,13 @@ pci:v000014E4d00004401* - ID_MODEL_FROM_DATABASE=BCM4401 100Base-T - - pci:v000014E4d00004401sv00001025sd00000035* -- ID_MODEL_FROM_DATABASE=TravelMate 660 -+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (TravelMate 660) - - pci:v000014E4d00004401sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (tc1100 tablet) - - pci:v000014E4d00004401sv00001043sd000080A8* -- ID_MODEL_FROM_DATABASE=A7V8X motherboard -+ ID_MODEL_FROM_DATABASE=BCM4401 100Base-T (A7V8X motherboard) - - pci:v000014E4d00004402* - ID_MODEL_FROM_DATABASE=BCM4402 Integrated 10/100BaseT -@@ -45696,7 +45696,7 @@ pci:v000014E4d00004727* - ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter - - pci:v000014E4d00004727sv00001028sd00000010* -- ID_MODEL_FROM_DATABASE=Inspiron M5010 / XPS 8300 -+ ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter (Inspiron M5010 / XPS 8300) - - pci:v000014E4d00005365* - ID_MODEL_FROM_DATABASE=BCM5365P Sentry5 Host Bridge -@@ -45867,55 +45867,55 @@ pci:v000014F1d00001033* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v000014F1d00001033sv00001033sd00008077* -- ID_MODEL_FROM_DATABASE=NEC -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (NEC) - - pci:v000014F1d00001033sv0000122Dsd00004027* -- ID_MODEL_FROM_DATABASE=Dell Zeus - MDP3880-W(B) Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Zeus - MDP3880-W(B) Data Fax Modem) - - pci:v000014F1d00001033sv0000122Dsd00004030* -- ID_MODEL_FROM_DATABASE=Dell Mercury - MDP3880-U(B) Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Mercury - MDP3880-U(B) Data Fax Modem) - - pci:v000014F1d00001033sv0000122Dsd00004034* -- ID_MODEL_FROM_DATABASE=Dell Thor - MDP3880-W(U) Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Thor - MDP3880-W(U) Data Fax Modem) - - pci:v000014F1d00001033sv000013E0sd0000020D* -- ID_MODEL_FROM_DATABASE=Dell Copper -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Copper) - - pci:v000014F1d00001033sv000013E0sd0000020E* -- ID_MODEL_FROM_DATABASE=Dell Silver -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Dell Silver) - - pci:v000014F1d00001033sv000013E0sd00000261* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv000013E0sd00000290* -- ID_MODEL_FROM_DATABASE=Compaq Goldwing -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Goldwing) - - pci:v000014F1d00001033sv000013E0sd000002A0* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv000013E0sd000002B0* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv000013E0sd000002C0* -- ID_MODEL_FROM_DATABASE=Compaq Scooter -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Compaq Scooter) - - pci:v000014F1d00001033sv000013E0sd000002D0* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001033sv0000144Fsd00001500* -- ID_MODEL_FROM_DATABASE=IBM P85-DF (1) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (1)) - - pci:v000014F1d00001033sv0000144Fsd00001501* -- ID_MODEL_FROM_DATABASE=IBM P85-DF (2) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (2)) - - pci:v000014F1d00001033sv0000144Fsd0000150A* -- ID_MODEL_FROM_DATABASE=IBM P85-DF (3) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF (3)) - - pci:v000014F1d00001033sv0000144Fsd0000150B* -- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (1) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (1)) - - pci:v000014F1d00001033sv0000144Fsd00001510* -- ID_MODEL_FROM_DATABASE=IBM P85-DF Low Profile (2) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P85-DF Low Profile (2)) - - pci:v000014F1d00001034* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem -@@ -45924,31 +45924,31 @@ pci:v000014F1d00001035* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem - - pci:v000014F1d00001035sv000010CFsd00001098* -- ID_MODEL_FROM_DATABASE=Fujitsu P85-DFSV -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Fujitsu P85-DFSV) - - pci:v000014F1d00001036* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem - - pci:v000014F1d00001036sv0000104Dsd00008067* -- ID_MODEL_FROM_DATABASE=HCF 56k Modem -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (HCF 56k Modem) - - pci:v000014F1d00001036sv0000122Dsd00004029* -- ID_MODEL_FROM_DATABASE=MDP3880SP-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-W) - - pci:v000014F1d00001036sv0000122Dsd00004031* -- ID_MODEL_FROM_DATABASE=MDP3880SP-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (MDP3880SP-U) - - pci:v000014F1d00001036sv000013E0sd00000209* -- ID_MODEL_FROM_DATABASE=Dell Titanium -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Titanium) - - pci:v000014F1d00001036sv000013E0sd0000020A* -- ID_MODEL_FROM_DATABASE=Dell Graphite -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Graphite) - - pci:v000014F1d00001036sv000013E0sd00000260* -- ID_MODEL_FROM_DATABASE=Gateway Red Owl -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway Red Owl) - - pci:v000014F1d00001036sv000013E0sd00000270* -- ID_MODEL_FROM_DATABASE=Gateway White Horse -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Gateway White Horse) - - pci:v000014F1d00001052* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (Worldwide) -@@ -45966,7 +45966,7 @@ pci:v000014F1d00001056* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) - - pci:v000014F1d00001056sv0000122Dsd00004035* -- ID_MODEL_FROM_DATABASE=MDP3900V-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) (MDP3900V-W) - - pci:v000014F1d00001057* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) -@@ -45987,7 +45987,7 @@ pci:v000014F1d00001066* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem - - pci:v000014F1d00001066sv0000122Dsd00004033* -- ID_MODEL_FROM_DATABASE=Dell Athena - MDP3900V-U -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Athena - MDP3900V-U) - - pci:v000014F1d00001085* - ID_MODEL_FROM_DATABASE=HCF V90 56k Data/Fax/Voice/Spkp PCI Modem -@@ -46011,16 +46011,16 @@ pci:v000014F1d00001453* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem - - pci:v000014F1d00001453sv000013E0sd00000240* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001453sv000013E0sd00000250* -- ID_MODEL_FROM_DATABASE=IBM -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM) - - pci:v000014F1d00001453sv0000144Fsd00001502* -- ID_MODEL_FROM_DATABASE=IBM P95-DF (1) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (1)) - - pci:v000014F1d00001453sv0000144Fsd00001503* -- ID_MODEL_FROM_DATABASE=IBM P95-DF (2) -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax Modem (IBM P95-DF (2)) - - pci:v000014F1d00001454* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice Modem -@@ -46032,10 +46032,10 @@ pci:v000014F1d00001456* - ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem - - pci:v000014F1d00001456sv0000122Dsd00004035* -- ID_MODEL_FROM_DATABASE=Dell Europa - MDP3900V-W -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell Europa - MDP3900V-W) - - pci:v000014F1d00001456sv0000122Dsd00004302* -- ID_MODEL_FROM_DATABASE=Dell MP3930V-W(C) MiniPCI -+ ID_MODEL_FROM_DATABASE=HCF 56k Data/Fax/Voice/Spkp Modem (Dell MP3930V-W(C) MiniPCI) - - pci:v000014F1d00001610* - ID_MODEL_FROM_DATABASE=ADSL AccessRunner PCI Arbitration Device -@@ -46056,10 +46056,10 @@ pci:v000014F1d00001803* - ID_MODEL_FROM_DATABASE=HCF 56k Modem - - pci:v000014F1d00001803sv00000E11sd00000023* -- ID_MODEL_FROM_DATABASE=623-LAN Grizzly -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Grizzly) - - pci:v000014F1d00001803sv00000E11sd00000043* -- ID_MODEL_FROM_DATABASE=623-LAN Yogi -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (623-LAN Yogi) - - pci:v000014F1d00001811* - ID_MODEL_FROM_DATABASE=MiniPCI Network Adapter -@@ -46068,10 +46068,10 @@ pci:v000014F1d00001815* - ID_MODEL_FROM_DATABASE=HCF 56k Modem - - pci:v000014F1d00001815sv00000E11sd00000022* -- ID_MODEL_FROM_DATABASE=Grizzly -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Grizzly) - - pci:v000014F1d00001815sv00000E11sd00000042* -- ID_MODEL_FROM_DATABASE=Yogi -+ ID_MODEL_FROM_DATABASE=HCF 56k Modem (Yogi) - - pci:v000014F1d00002003* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem -@@ -46089,28 +46089,28 @@ pci:v000014F1d00002013* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem - - pci:v000014F1d00002013sv00000E11sd0000B195* -- ID_MODEL_FROM_DATABASE=Bear -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Bear) - - pci:v000014F1d00002013sv00000E11sd0000B196* -- ID_MODEL_FROM_DATABASE=Seminole 1 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 1) - - pci:v000014F1d00002013sv00000E11sd0000B1BE* -- ID_MODEL_FROM_DATABASE=Seminole 2 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Seminole 2) - - pci:v000014F1d00002013sv00001025sd00008013* -- ID_MODEL_FROM_DATABASE=Acer -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Acer) - - pci:v000014F1d00002013sv00001033sd0000809D* -- ID_MODEL_FROM_DATABASE=NEC -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) - - pci:v000014F1d00002013sv00001033sd000080BC* -- ID_MODEL_FROM_DATABASE=NEC -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (NEC) - - pci:v000014F1d00002013sv0000155Dsd00006793* -- ID_MODEL_FROM_DATABASE=HP -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (HP) - - pci:v000014F1d00002013sv0000155Dsd00008850* -- ID_MODEL_FROM_DATABASE=E Machines -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (E Machines) - - pci:v000014F1d00002014* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem -@@ -46131,7 +46131,7 @@ pci:v000014F1d00002045* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) - - pci:v000014F1d00002045sv000014F1sd00002045* -- ID_MODEL_FROM_DATABASE=Generic SoftK56 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) (Generic SoftK56) - - pci:v000014F1d00002046* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA) -@@ -46152,7 +46152,7 @@ pci:v000014F1d00002093* - ID_MODEL_FROM_DATABASE=HSF 56k Modem - - pci:v000014F1d00002093sv0000155Dsd00002F07* -- ID_MODEL_FROM_DATABASE=Legend -+ ID_MODEL_FROM_DATABASE=HSF 56k Modem (Legend) - - pci:v000014F1d00002143* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA) -@@ -46206,13 +46206,13 @@ pci:v000014F1d00002443* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) - - pci:v000014F1d00002443sv0000104Dsd00008075* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) - - pci:v000014F1d00002443sv0000104Dsd00008083* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) - - pci:v000014F1d00002443sv0000104Dsd00008097* -- ID_MODEL_FROM_DATABASE=Modem -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (Modem) - - pci:v000014F1d00002444* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA) -@@ -46239,13 +46239,13 @@ pci:v000014F1d00002F00* - ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem - - pci:v000014F1d00002F00sv000013E0sd00008D84* -- ID_MODEL_FROM_DATABASE=IBM HSFi V.90 -+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (IBM HSFi V.90) - - pci:v000014F1d00002F00sv000013E0sd00008D85* -- ID_MODEL_FROM_DATABASE=Compaq Stinger -+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Compaq Stinger) - - pci:v000014F1d00002F00sv000014F1sd00002004* -- ID_MODEL_FROM_DATABASE=Dynalink 56PMi -+ ID_MODEL_FROM_DATABASE=HSF 56k HSFi Modem (Dynalink 56PMi) - - pci:v000014F1d00002F02* - ID_MODEL_FROM_DATABASE=HSF 56k HSFi Data/Fax -@@ -46257,16 +46257,16 @@ pci:v000014F1d00002F20* - ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem - - pci:v000014F1d00002F20sv000014F1sd0000200C* -- ID_MODEL_FROM_DATABASE=Soft Data Fax Modem with SmartCP -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Soft Data Fax Modem with SmartCP) - - pci:v000014F1d00002F20sv000014F1sd0000200F* -- ID_MODEL_FROM_DATABASE=Dimension 3000 -+ ID_MODEL_FROM_DATABASE=HSF 56k Data/Fax Modem (Dimension 3000) - - pci:v000014F1d00002F30* - ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP - - pci:v000014F1d00002F30sv000014F1sd00002014* -- ID_MODEL_FROM_DATABASE=Devolo MikroLink 56K Modem PCI -+ ID_MODEL_FROM_DATABASE=SoftV92 SpeakerPhone SoftRing Modem with SmartSP (Devolo MikroLink 56K Modem PCI) - - pci:v000014F1d00002F50* - ID_MODEL_FROM_DATABASE=Conexant SoftK56 Data/Fax Modem -@@ -46275,13 +46275,13 @@ pci:v000014F1d00005B7A* - ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder - - pci:v000014F1d00005B7Asv00000070sd00007444* -- ID_MODEL_FROM_DATABASE=WinTV HVR-1600 -+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinTV HVR-1600) - - pci:v000014F1d00005B7Asv0000107Dsd00006F34* -- ID_MODEL_FROM_DATABASE=WinFast DVR3100 H -+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (WinFast DVR3100 H) - - pci:v000014F1d00005B7Asv00005854sd00003343* -- ID_MODEL_FROM_DATABASE=GoTView PCI DVD3 Hybrid -+ ID_MODEL_FROM_DATABASE=CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder (GoTView PCI DVD3 Hybrid) - - pci:v000014F1d00008200* - ID_MODEL_FROM_DATABASE=CX25850 -@@ -46293,304 +46293,304 @@ pci:v000014F1d00008800* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder - - pci:v000014F1d00008800sv00000070sd00002801* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 28xxx (Roslyn) models) - - pci:v000014F1d00008800sv00000070sd00003400* -- ID_MODEL_FROM_DATABASE=WinTV 34604 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 34604) - - pci:v000014F1d00008800sv00000070sd00003401* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Hauppauge WinTV 34xxx models) - - pci:v000014F1d00008800sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-4000-HD) - - pci:v000014F1d00008800sv00000070sd00007801* -- ID_MODEL_FROM_DATABASE=WinTV HVR-1800 MCE -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV HVR-1800 MCE) - - pci:v000014F1d00008800sv00000070sd00009001* -- ID_MODEL_FROM_DATABASE=Nova-T DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-T DVB-T) - - pci:v000014F1d00008800sv00000070sd00009200* -- ID_MODEL_FROM_DATABASE=Nova-SE2 DVB-S -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-SE2 DVB-S) - - pci:v000014F1d00008800sv00000070sd00009202* -- ID_MODEL_FROM_DATABASE=Nova-S-Plus DVB-S -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Nova-S-Plus DVB-S) - - pci:v000014F1d00008800sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008800sv00000070sd00009600* -- ID_MODEL_FROM_DATABASE=WinTV 88x Video -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV 88x Video) - - pci:v000014F1d00008800sv00000070sd00009802* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid (Low Profile) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinTV-HVR1100 DVB-T/Hybrid (Low Profile)) - - pci:v000014F1d00008800sv00001002sd000000F8* -- ID_MODEL_FROM_DATABASE=ATI TV Wonder Pro -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) - - pci:v000014F1d00008800sv00001002sd0000A101* -- ID_MODEL_FROM_DATABASE=HDTV Wonder -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) - - pci:v000014F1d00008800sv00001043sd00004823* -- ID_MODEL_FROM_DATABASE=ASUS PVR-416 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ASUS PVR-416) - - pci:v000014F1d00008800sv0000107Dsd00006611* -- ID_MODEL_FROM_DATABASE=Winfast TV 2000XP Expert -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Winfast TV 2000XP Expert) - - pci:v000014F1d00008800sv0000107Dsd00006613* -- ID_MODEL_FROM_DATABASE=Leadtek Winfast 2000XP Expert -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast 2000XP Expert) - - pci:v000014F1d00008800sv0000107Dsd00006620* -- ID_MODEL_FROM_DATABASE=Leadtek Winfast DV2000 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek Winfast DV2000) - - pci:v000014F1d00008800sv0000107Dsd0000663C* -- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Leadtek PVR 2000) - - pci:v000014F1d00008800sv0000107Dsd0000665F* -- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (WinFast DTV1000-T) - - pci:v000014F1d00008800sv000010FCsd0000D003* -- ID_MODEL_FROM_DATABASE=IODATA GV-VCP3/PCI -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV-VCP3/PCI) - - pci:v000014F1d00008800sv000010FCsd0000D035* -- ID_MODEL_FROM_DATABASE=IODATA GV/BCTV7E -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (IODATA GV/BCTV7E) - - pci:v000014F1d00008800sv00001421sd00000334* -- ID_MODEL_FROM_DATABASE=Instant TV DVB-T PCI -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Instant TV DVB-T PCI) - - pci:v000014F1d00008800sv00001461sd0000000A* -- ID_MODEL_FROM_DATABASE=AVerTV 303 (M126) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AVerTV 303 (M126)) - - pci:v000014F1d00008800sv00001461sd0000000B* -- ID_MODEL_FROM_DATABASE=AverTV Studio 303 (M126) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (AverTV Studio 303 (M126)) - - pci:v000014F1d00008800sv00001461sd00008011* -- ID_MODEL_FROM_DATABASE=UltraTV Media Center PCI 550 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (UltraTV Media Center PCI 550) - - pci:v000014F1d00008800sv00001462sd00008606* -- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (MSI TV-@nywhere Master) - - pci:v000014F1d00008800sv000014C7sd00000107* -- ID_MODEL_FROM_DATABASE=GDI Black Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GDI Black Gold) - - pci:v000014F1d00008800sv000014F1sd00000187* -- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Conexant DVB-T reference design) - - pci:v000014F1d00008800sv000014F1sd00000342* -- ID_MODEL_FROM_DATABASE=Digital-Logic MICROSPACE Entertainment Center (MEC) -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Digital-Logic MICROSPACE Entertainment Center (MEC)) - - pci:v000014F1d00008800sv0000153Bsd00001166* -- ID_MODEL_FROM_DATABASE=Cinergy 1400 DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Cinergy 1400 DVB-T) - - pci:v000014F1d00008800sv00001540sd00002580* -- ID_MODEL_FROM_DATABASE=Provideo PV259 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Provideo PV259) - - pci:v000014F1d00008800sv00001554sd00004811* -- ID_MODEL_FROM_DATABASE=PixelView -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (PixelView) - - pci:v000014F1d00008800sv00001554sd00004813* -- ID_MODEL_FROM_DATABASE=Club 3D ZAP1000 MCE Edition -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (Club 3D ZAP1000 MCE Edition) - - pci:v000014F1d00008800sv000017DEsd000008A1* -- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T with cx22702 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T with cx22702) - - pci:v000014F1d00008800sv000017DEsd000008A6* -- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld/VStream XPert DVB-T) - - pci:v000014F1d00008800sv000017DEsd000008B2* -- ID_MODEL_FROM_DATABASE=KWorld DVB-S 100 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (KWorld DVB-S 100) - - pci:v000014F1d00008800sv000017DEsd0000A8A6* -- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T) - - pci:v000014F1d00008800sv00001822sd00000025* -- ID_MODEL_FROM_DATABASE=digitalnow DNTV Live! DVB-T Pro -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (digitalnow DNTV Live! DVB-T Pro) - - pci:v000014F1d00008800sv0000185Bsd0000E000* -- ID_MODEL_FROM_DATABASE=VideoMate X500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (VideoMate X500) - - pci:v000014F1d00008800sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=FusionHDTV 5 Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 5 Gold) - - pci:v000014F1d00008800sv000018ACsd0000D810* -- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-Q -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-Q) - - pci:v000014F1d00008800sv000018ACsd0000D820* -- ID_MODEL_FROM_DATABASE=FusionHDTV 3 Gold-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV 3 Gold-T) - - pci:v000014F1d00008800sv000018ACsd0000DB00* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T1 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T1) - - pci:v000014F1d00008800sv000018ACsd0000DB11* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Plus -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Plus) - - pci:v000014F1d00008800sv000018ACsd0000DB50* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Digital -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Digital) - - pci:v000014F1d00008800sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TV Tuner Card -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (GoTView PCI Hybrid TV Tuner Card) - - pci:v000014F1d00008800sv00007063sd00003000* -- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD3000 HDTV) - - pci:v000014F1d00008800sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (pcHDTV HD-5500) - - pci:v000014F1d00008801* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] - - pci:v000014F1d00008801sv00000070sd00002801* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 28xxx (Roslyn) models) - - pci:v000014F1d00008801sv0000185Bsd0000E000* -- ID_MODEL_FROM_DATABASE=VideoMate X500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (VideoMate X500) - - pci:v000014F1d00008801sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio AVStream Device -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio AVStream Device) - - pci:v000014F1d00008801sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (pcHDTV HD-5500) - - pci:v000014F1d00008802* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] - - pci:v000014F1d00008802sv00000070sd00002801* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 28xxx (Roslyn) models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Hauppauge WinTV 28xxx (Roslyn) models) - - pci:v000014F1d00008802sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV HVR-4000-HD) - - pci:v000014F1d00008802sv00000070sd00009002* -- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Nova-T DVB-T Model 909) - - pci:v000014F1d00008802sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008802sv00000070sd00009600* -- ID_MODEL_FROM_DATABASE=WinTV 88x MPEG Encoder -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinTV 88x MPEG Encoder) - - pci:v000014F1d00008802sv00001043sd00004823* -- ID_MODEL_FROM_DATABASE=ASUS PVR-416 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (ASUS PVR-416) - - pci:v000014F1d00008802sv0000107Dsd0000663C* -- ID_MODEL_FROM_DATABASE=Leadtek PVR 2000 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Leadtek PVR 2000) - - pci:v000014F1d00008802sv0000107Dsd0000665F* -- ID_MODEL_FROM_DATABASE=WinFast DTV1000-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (WinFast DTV1000-T) - - pci:v000014F1d00008802sv000014F1sd00000187* -- ID_MODEL_FROM_DATABASE=Conexant DVB-T reference design -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (Conexant DVB-T reference design) - - pci:v000014F1d00008802sv000017DEsd000008A1* -- ID_MODEL_FROM_DATABASE=XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture) - - pci:v000014F1d00008802sv000017DEsd000008A6* -- ID_MODEL_FROM_DATABASE=KWorld/VStream XPert DVB-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (KWorld/VStream XPert DVB-T) - - pci:v000014F1d00008802sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV5 Gold) - - pci:v000014F1d00008802sv000018ACsd0000D810* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-Q) - - pci:v000014F1d00008802sv000018ACsd0000D820* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DViCO FusionHDTV3 Gold-T) - - pci:v000014F1d00008802sv000018ACsd0000DB00* -- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T1) - - pci:v000014F1d00008802sv000018ACsd0000DB10* -- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T Plus -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (DVICO FusionHDTV DVB-T Plus) - - pci:v000014F1d00008802sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid TS Capture Device -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (GoTView PCI Hybrid TS Capture Device) - - pci:v000014F1d00008802sv00007063sd00003000* -- ID_MODEL_FROM_DATABASE=pcHDTV HD3000 HDTV -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD3000 HDTV) - - pci:v000014F1d00008802sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (pcHDTV HD-5500) - - pci:v000014F1d00008804* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] - - pci:v000014F1d00008804sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV HVR-4000-HD) - - pci:v000014F1d00008804sv00000070sd00009002* -- ID_MODEL_FROM_DATABASE=Nova-T DVB-T Model 909 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (Nova-T DVB-T Model 909) - - pci:v000014F1d00008804sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008804sv00007063sd00005500* -- ID_MODEL_FROM_DATABASE=pcHDTV HD-5500 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (pcHDTV HD-5500) - - pci:v000014F1d00008811* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] - - pci:v000014F1d00008811sv00000070sd00003400* -- ID_MODEL_FROM_DATABASE=WinTV 34604 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 34604) - - pci:v000014F1d00008811sv00000070sd00003401* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV 34xxx models -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (Hauppauge WinTV 34xxx models) - - pci:v000014F1d00008811sv00000070sd00006902* -- ID_MODEL_FROM_DATABASE=WinTV HVR-4000-HD -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV HVR-4000-HD) - - pci:v000014F1d00008811sv00000070sd00009402* -- ID_MODEL_FROM_DATABASE=WinTV-HVR1100 DVB-T/Hybrid -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV-HVR1100 DVB-T/Hybrid) - - pci:v000014F1d00008811sv00000070sd00009600* -- ID_MODEL_FROM_DATABASE=WinTV 88x Audio -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (WinTV 88x Audio) - - pci:v000014F1d00008811sv00001462sd00008606* -- ID_MODEL_FROM_DATABASE=MSI TV-@nywhere Master -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (MSI TV-@nywhere Master) - - pci:v000014F1d00008811sv000018ACsd0000D500* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV5 Gold -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV5 Gold) - - pci:v000014F1d00008811sv000018ACsd0000D810* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-Q -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-Q) - - pci:v000014F1d00008811sv000018ACsd0000D820* -- ID_MODEL_FROM_DATABASE=DViCO FusionHDTV3 Gold-T -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DViCO FusionHDTV3 Gold-T) - - pci:v000014F1d00008811sv000018ACsd0000DB00* -- ID_MODEL_FROM_DATABASE=DVICO FusionHDTV DVB-T1 -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (DVICO FusionHDTV DVB-T1) - - pci:v000014F1d00008811sv00005654sd00002388* -- ID_MODEL_FROM_DATABASE=GoTView PCI Hybrid Audio Capture Device -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (GoTView PCI Hybrid Audio Capture Device) - - pci:v000014F1d00008852* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder - - pci:v000014F1d00008852sv00000070sd00008010* -- ID_MODEL_FROM_DATABASE=Hauppauge WinTV HVR-1400 ExpressCard -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) - - pci:v000014F1d00008852sv0000107Dsd00006F22* -- ID_MODEL_FROM_DATABASE=WinFast PxTV1200 -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) - - pci:v000014F1d00008852sv00001461sd0000C039* -- ID_MODEL_FROM_DATABASE=AVerTV Hybrid Express (A577) -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (AVerTV Hybrid Express (A577)) - - pci:v000014F1d00008852sv0000153Bsd0000117E* -- ID_MODEL_FROM_DATABASE=Cinergy T PCIe Dual -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Cinergy T PCIe Dual) - - pci:v000014F1d00008852sv000018ACsd0000DB78* -- ID_MODEL_FROM_DATABASE=FusionHDTV DVB-T Dual Express -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) - - pci:v000014F1d00008880* - ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb - - pci:v000014F1d00008880sv00000070sd0000C108* -- ID_MODEL_FROM_DATABASE=WinTV-HVR-4400-HD model 1278 -+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (WinTV-HVR-4400-HD model 1278) - - pci:v000014F1d00008880sv00005654sd00002389* -- ID_MODEL_FROM_DATABASE=GoTView X5 DVD Hybrid PCI-E -+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 DVD Hybrid PCI-E) - - pci:v000014F1d00008880sv00005654sd00002390* -- ID_MODEL_FROM_DATABASE=GoTView X5 3D HYBRID PCI-E -+ ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (GoTView X5 3D HYBRID PCI-E) - - pci:v000014F2* - ID_VENDOR_FROM_DATABASE=MOBILITY Electronics -@@ -46842,100 +46842,100 @@ pci:v00001522d00000100* - ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge - - pci:v00001522d00000100sv00001522sd00000200* -- ID_MODEL_FROM_DATABASE=RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000300* -- ID_MODEL_FROM_DATABASE=RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000400* -- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000500* -- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000600* -- ID_MODEL_FROM_DATABASE=RockForce+ 2 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 2 Port V.90 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000700* -- ID_MODEL_FROM_DATABASE=RockForce+ 4 Port V.90 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForce+ 4 Port V.90 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000800* -- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem) - - pci:v00001522d00000100sv00001522sd00000C00* -- ID_MODEL_FROM_DATABASE=RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) - - pci:v00001522d00000100sv00001522sd00000D00* -- ID_MODEL_FROM_DATABASE=RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) - - pci:v00001522d00000100sv00001522sd00001D00* -- ID_MODEL_FROM_DATABASE=RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem) - - pci:v00001522d00000100sv00001522sd00002000* -- ID_MODEL_FROM_DATABASE=RockForceD1 1 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD1 1 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002100* -- ID_MODEL_FROM_DATABASE=RockForceF1 1 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF1 1 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00002200* -- ID_MODEL_FROM_DATABASE=RockForceD2 2 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD2 2 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002300* -- ID_MODEL_FROM_DATABASE=RockForceF2 2 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF2 2 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00002400* -- ID_MODEL_FROM_DATABASE=RockForceD4 4 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD4 4 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002500* -- ID_MODEL_FROM_DATABASE=RockForceF4 4 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF4 4 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00002600* -- ID_MODEL_FROM_DATABASE=RockForceD8 8 Port V.90 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceD8 8 Port V.90 Data Modem) - - pci:v00001522d00000100sv00001522sd00002700* -- ID_MODEL_FROM_DATABASE=RockForceF8 8 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (RockForceF8 8 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003000* -- ID_MODEL_FROM_DATABASE=IQ Express D1 - 1 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D1 - 1 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003100* -- ID_MODEL_FROM_DATABASE=IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003200* -- ID_MODEL_FROM_DATABASE=IQ Express D2 - 2 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D2 - 2 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003300* -- ID_MODEL_FROM_DATABASE=IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003400* -- ID_MODEL_FROM_DATABASE=IQ Express D4 - 4 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D4 - 4 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003500* -- ID_MODEL_FROM_DATABASE=IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00000100sv00001522sd00003C00* -- ID_MODEL_FROM_DATABASE=IQ Express D8 - 8 Port V.92 Data Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express D8 - 8 Port V.92 Data Modem) - - pci:v00001522d00000100sv00001522sd00003D00* -- ID_MODEL_FROM_DATABASE=IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem -+ ID_MODEL_FROM_DATABASE=PCI <-> IOBus Bridge (IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem) - - pci:v00001522d00004000* - ID_MODEL_FROM_DATABASE=PCI Express UART - - pci:v00001522d00004000sv00001522sd00004001* -- ID_MODEL_FROM_DATABASE=IQ Express 1-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 1-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004002* -- ID_MODEL_FROM_DATABASE=IQ Express 2-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 2-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004004* -- ID_MODEL_FROM_DATABASE=IQ Express 4-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 4-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004008* -- ID_MODEL_FROM_DATABASE=IQ Express 8-port V.34 Super-G3 Fax -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express 8-port V.34 Super-G3 Fax) - - pci:v00001522d00004000sv00001522sd00004100* -- ID_MODEL_FROM_DATABASE=IQ Express SideBand -+ ID_MODEL_FROM_DATABASE=PCI Express UART (IQ Express SideBand) - - pci:v00001523* - ID_VENDOR_FROM_DATABASE=MUSIC Semiconductors -@@ -46947,7 +46947,7 @@ pci:v00001524d00000510* - ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller - - pci:v00001524d00000510sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=CB710 Memory Card Reader Controller (NX9500) - - pci:v00001524d00000520* - ID_MODEL_FROM_DATABASE=FLASH memory: ENE Technology Inc: -@@ -46986,16 +46986,16 @@ pci:v00001524d00001410* - ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller - - pci:v00001524d00001410sv00001025sd0000003C* -- ID_MODEL_FROM_DATABASE=CL50 motherboard -+ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (CL50 motherboard) - - pci:v00001524d00001410sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=CB1410 Cardbus Controller (TravelMate 290) - - pci:v00001524d00001411* - ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller - - pci:v00001524d00001411sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=CB-710/2/4 Cardbus Controller (NX9500) - - pci:v00001524d00001412* - ID_MODEL_FROM_DATABASE=CB-712/4 Cardbus Controller -@@ -47598,7 +47598,7 @@ pci:v000015ADd00000801* - ID_MODEL_FROM_DATABASE=Virtual Machine Interface - - pci:v000015ADd00000801sv000015ADsd00000800* -- ID_MODEL_FROM_DATABASE=Hypervisor ROM Interface -+ ID_MODEL_FROM_DATABASE=Virtual Machine Interface (Hypervisor ROM Interface) - - pci:v000015ADd00001977* - ID_MODEL_FROM_DATABASE=HD Audio Controller -@@ -47748,10 +47748,10 @@ pci:v000015B3d00006746* - ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] - - pci:v000015B3d00006746sv0000103Csd00001781* -- ID_MODEL_FROM_DATABASE=NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter -+ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter) - - pci:v000015B3d00006746sv0000103Csd00003349* -- ID_MODEL_FROM_DATABASE=NC543i 2-port 4xQDR IB/10Gb Adapter -+ ID_MODEL_FROM_DATABASE=MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] (NC543i 2-port 4xQDR IB/10Gb Adapter) - - pci:v000015B3d00006750* - ID_MODEL_FROM_DATABASE=MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] -@@ -47763,7 +47763,7 @@ pci:v000015B3d00006764* - ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] - - pci:v000015B3d00006764sv0000103Csd00003313* -- ID_MODEL_FROM_DATABASE=HP NC542m Dual Port Flex-10 10GbE BLc Adapter -+ ID_MODEL_FROM_DATABASE=MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] (HP NC542m Dual Port Flex-10 10GbE BLc Adapter) - - pci:v000015B3d0000676E* - ID_MODEL_FROM_DATABASE=MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s] -@@ -47886,13 +47886,13 @@ pci:v000015BCd00000105* - ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES - - pci:v000015BCd00000105sv0000117Csd00000022* -- ID_MODEL_FROM_DATABASE=Celerity FC-42XS Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42XS Fibre Channel Adapter) - - pci:v000015BCd00000105sv0000117Csd00000025* -- ID_MODEL_FROM_DATABASE=Celerity FC-44ES Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-44ES Fibre Channel Adapter) - - pci:v000015BCd00000105sv0000117Csd00000026* -- ID_MODEL_FROM_DATABASE=Celerity FC-42ES Fibre Channel Adapter -+ ID_MODEL_FROM_DATABASE=Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES (Celerity FC-42ES Fibre Channel Adapter) - - pci:v000015BCd00001100* - ID_MODEL_FROM_DATABASE=E8001-66442 PCI Express CIC -@@ -48306,34 +48306,34 @@ pci:v00001657d00000013* - ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA - - pci:v00001657d00000013sv0000103Csd00001742* -- ID_MODEL_FROM_DATABASE=HP 82B 8Gbps dual port FC HBA -+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 82B 8Gbps dual port FC HBA) - - pci:v00001657d00000013sv0000103Csd00001744* -- ID_MODEL_FROM_DATABASE=HP 42B 4Gbps dual port FC HBA -+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (HP 42B 4Gbps dual port FC HBA) - - pci:v00001657d00000013sv00001657sd00000014* -- ID_MODEL_FROM_DATABASE=425/825 4Gbps/8Gbps PCIe dual port FC HBA -+ ID_MODEL_FROM_DATABASE=425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA (425/825 4Gbps/8Gbps PCIe dual port FC HBA) - - pci:v00001657d00000014* - ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - - pci:v00001657d00000014sv00001657sd00000014* -- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - FCOE -+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- FCOE) - - pci:v00001657d00000014sv00001657sd00000015* -- ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA - LL -+ ID_MODEL_FROM_DATABASE=1010/1020/1007/1741 10Gbps CNA (- LL) - - pci:v00001657d00000017* - ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA - - pci:v00001657d00000017sv0000103Csd00001741* -- ID_MODEL_FROM_DATABASE=HP 41B 4Gbps single port FC HBA -+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 41B 4Gbps single port FC HBA) - - pci:v00001657d00000017sv0000103Csd00001743* -- ID_MODEL_FROM_DATABASE=HP 81B 8Gbps single port FC HBA -+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (HP 81B 8Gbps single port FC HBA) - - pci:v00001657d00000017sv00001657sd00000014* -- ID_MODEL_FROM_DATABASE=415/815 4Gbps/8Gbps single port PCIe FC HBA -+ ID_MODEL_FROM_DATABASE=415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA (415/815 4Gbps/8Gbps single port PCIe FC HBA) - - pci:v00001657d00000021* - ID_MODEL_FROM_DATABASE=804 8Gbps FC HBA for HP Bladesystem c-class -@@ -48342,13 +48342,13 @@ pci:v00001657d00000022* - ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter - - pci:v00001657d00000022sv00001657sd00000022* -- ID_MODEL_FROM_DATABASE=10Gbps CNA - FCOE -+ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - FCOE) - - pci:v00001657d00000022sv00001657sd00000023* -- ID_MODEL_FROM_DATABASE=10Gbps CNA - LL -+ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (10Gbps CNA - LL) - - pci:v00001657d00000022sv00001657sd00000024* -- ID_MODEL_FROM_DATABASE=16Gbps FC HBA -+ ID_MODEL_FROM_DATABASE=1860 16Gbps/10Gbps Fabric Adapter (16Gbps FC HBA) - - pci:v00001657d00000023* - ID_MODEL_FROM_DATABASE=1867/1869 16Gbps FC HBA -@@ -48435,10 +48435,10 @@ pci:v0000167Bd00002102* - ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 - - pci:v0000167Bd00002102sv0000187Esd00003406* -- ID_MODEL_FROM_DATABASE=ZyAIR B-122 CardBus 11Mbs Wireless LAN Card -+ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-122 CardBus 11Mbs Wireless LAN Card) - - pci:v0000167Bd00002102sv0000187Esd00003407* -- ID_MODEL_FROM_DATABASE=ZyAIR B-320 802.11b Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=ZyDAS ZD1202 (ZyAIR B-320 802.11b Wireless PCI Adapter) - - pci:v0000167Bd00002116* - ID_MODEL_FROM_DATABASE=ZD1212B Wireless Adapter -@@ -48471,16 +48471,16 @@ pci:v0000168Cd00000007* - ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] - - pci:v0000168Cd00000007sv00001737sd00000007* -- ID_MODEL_FROM_DATABASE=WPC54A Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (WPC54A Wireless PC Card) - - pci:v0000168Cd00000007sv00001B47sd00000100* -- ID_MODEL_FROM_DATABASE=Harmony 8450CN Wireless CardBus Module -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Harmony 8450CN Wireless CardBus Module) - - pci:v0000168Cd00000007sv00001B47sd00000110* -- ID_MODEL_FROM_DATABASE=Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter) - - pci:v0000168Cd00000007sv00008086sd00002501* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 5000 LAN PCI Adapter Module -+ ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a] (PRO/Wireless 5000 LAN PCI Adapter Module) - - pci:v0000168Cd00000011* - ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001A 802.11a] -@@ -48489,562 +48489,562 @@ pci:v0000168Cd00000012* - ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] - - pci:v0000168Cd00000012sv00001186sd00003A03* -- ID_MODEL_FROM_DATABASE=AirPro DWL-A650 Wireless Cardbus Adapter (rev.B) -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-A650 Wireless Cardbus Adapter (rev.B)) - - pci:v0000168Cd00000012sv00001186sd00003A04* -- ID_MODEL_FROM_DATABASE=AirPro DWL-AB650 Multimode Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB650 Multimode Wireless Cardbus Adapter) - - pci:v0000168Cd00000012sv00001186sd00003A05* -- ID_MODEL_FROM_DATABASE=AirPro DWL-AB520 Multimode Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (AirPro DWL-AB520 Multimode Wireless PCI Adapter) - - pci:v0000168Cd00000012sv0000126Csd00008031* -- ID_MODEL_FROM_DATABASE=2201 Mobile Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (2201 Mobile Adapter) - - pci:v0000168Cd00000012sv00001385sd00004400* -- ID_MODEL_FROM_DATABASE=WAB501 802.11ab Wireless CardBus Card -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (WAB501 802.11ab Wireless CardBus Card) - - pci:v0000168Cd00000012sv00001B47sd0000AA00* -- ID_MODEL_FROM_DATABASE=8460 802.11ab Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5211 Wireless Network Adapter [AR5001X 802.11ab] (8460 802.11ab Wireless CardBus Adapter) - - pci:v0000168Cd00000013* - ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter - - pci:v0000168Cd00000013sv00000308sd00003402* -- ID_MODEL_FROM_DATABASE=AG-100 802.11ag Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AG-100 802.11ag Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00000308sd00003405* -- ID_MODEL_FROM_DATABASE=G-102 v2 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-102 v2 802.11g Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00000308sd00003408* -- ID_MODEL_FROM_DATABASE=G-170S 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (G-170S 802.11g Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv00000E11sd000000E5* -- ID_MODEL_FROM_DATABASE=NC6000/NC8000 laptop -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (NC6000/NC8000 laptop) - - pci:v0000168Cd00000013sv000010B7sd00006002* -- ID_MODEL_FROM_DATABASE=3CRWE154A72 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRWE154A72 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv00001113sd0000D301* -- ID_MODEL_FROM_DATABASE=Philips CPWNA100 Wireless CardBus adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Philips CPWNA100 Wireless CardBus adapter) - - pci:v0000168Cd00000013sv00001113sd0000EE23* -- ID_MODEL_FROM_DATABASE=SMCWPCIT-G 108Mbps Wireless PCI adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (SMCWPCIT-G 108Mbps Wireless PCI adapter) - - pci:v0000168Cd00000013sv00001154sd0000033B* -- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AMG54 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AMG54) - - pci:v0000168Cd00000013sv00001154sd0000034E* -- ID_MODEL_FROM_DATABASE=Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003202* -- ID_MODEL_FROM_DATABASE=DWL-G650 (Rev B3,B5) Wireless cardbus adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650 (Rev B3,B5) Wireless cardbus adapter) - - pci:v0000168Cd00000013sv00001186sd00003203* -- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. A) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) - - pci:v0000168Cd00000013sv00001186sd00003A07* -- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG650 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG650 Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A08* -- ID_MODEL_FROM_DATABASE=AirXpert DWL-AG520 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirXpert DWL-AG520 Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A12* -- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C)) - - pci:v0000168Cd00000013sv00001186sd00003A13* -- ID_MODEL_FROM_DATABASE=AirPlus DWL-G520 Wireless PCI Adapter (rev. B) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus DWL-G520 Wireless PCI Adapter (rev. B)) - - pci:v0000168Cd00000013sv00001186sd00003A14* -- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A)) - - pci:v0000168Cd00000013sv00001186sd00003A17* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G680 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G680 Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A18* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-G550 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-G550 Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A1A* -- ID_MODEL_FROM_DATABASE=WNA-2330 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WNA-2330 802.11bg Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A63* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003A93* -- ID_MODEL_FROM_DATABASE=Conceptronic C54I Wireless 801.11g PCI card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54I Wireless 801.11g PCI card) - - pci:v0000168Cd00000013sv00001186sd00003A94* -- ID_MODEL_FROM_DATABASE=Conceptronic C54C 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Conceptronic C54C 802.11g Wireless Cardbus Adapter) - - pci:v0000168Cd00000013sv00001186sd00003AB0* -- ID_MODEL_FROM_DATABASE=Allnet ALL0281 Wireless PCI Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Allnet ALL0281 Wireless PCI Card) - - pci:v0000168Cd00000013sv00001385sd00004600* -- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) - - pci:v0000168Cd00000013sv00001385sd00004610* -- ID_MODEL_FROM_DATABASE=WAG511 802.11a/b/g Dual Band Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG511 802.11a/b/g Dual Band Wireless PC Card) - - pci:v0000168Cd00000013sv00001385sd00004900* -- ID_MODEL_FROM_DATABASE=WG311v1 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311v1 802.11g Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001385sd00004A00* -- ID_MODEL_FROM_DATABASE=WAG311 802.11a/g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WAG311 802.11a/g Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001385sd00004B00* -- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.A/B) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.A/B)) - - pci:v0000168Cd00000013sv00001385sd00004D00* -- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A2) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A2)) - - pci:v0000168Cd00000013sv00001385sd00004F00* -- ID_MODEL_FROM_DATABASE=WG511U Double 108 Mbps Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511U Double 108 Mbps Wireless PC Card) - - pci:v0000168Cd00000013sv00001385sd00005A00* -- ID_MODEL_FROM_DATABASE=WG311T 108 Mbps Wireless PCI Adapter (rev.A3) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG311T 108 Mbps Wireless PCI Adapter (rev.A3)) - - pci:v0000168Cd00000013sv00001385sd00005B00* -- ID_MODEL_FROM_DATABASE=WG511T 108 Mbps Wireless PC Card (rev.C) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WG511T 108 Mbps Wireless PC Card (rev.C)) - - pci:v0000168Cd00000013sv00001385sd00005D00* -- ID_MODEL_FROM_DATABASE=WPN511 RangeMax Wireless PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPN511 RangeMax Wireless PC Card) - - pci:v0000168Cd00000013sv00001458sd0000E911* -- ID_MODEL_FROM_DATABASE=GN-WIAG02 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (GN-WIAG02) - - pci:v0000168Cd00000013sv00001468sd00000403* -- ID_MODEL_FROM_DATABASE=U10H014 802.11g Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (U10H014 802.11g Cardbus Adapter) - - pci:v0000168Cd00000013sv00001468sd00000408* -- ID_MODEL_FROM_DATABASE=ThinkPad 11b/g Wireless LAN Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (ThinkPad 11b/g Wireless LAN Mini PCI Adapter) - - pci:v0000168Cd00000013sv000014B7sd00000A10* -- ID_MODEL_FROM_DATABASE=8480-WD 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8480-WD 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv000014B7sd00000A60* -- ID_MODEL_FROM_DATABASE=8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter) - - pci:v0000168Cd00000013sv000014B7sd0000AA30* -- ID_MODEL_FROM_DATABASE=8800-FC 802.11bg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8800-FC 802.11bg Cardbus Adapter) - - pci:v0000168Cd00000013sv000014B7sd0000AA40* -- ID_MODEL_FROM_DATABASE=8470-WD 802.11bg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (8470-WD 802.11bg Cardbus Adapter) - - pci:v0000168Cd00000013sv000014B9sd0000CB21* -- ID_MODEL_FROM_DATABASE=CB21 802.11a/b/g Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CB21 802.11a/b/g Cardbus Adapter) - - pci:v0000168Cd00000013sv00001668sd00001026* -- ID_MODEL_FROM_DATABASE=IBM HighRate 11 a/b/g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (IBM HighRate 11 a/b/g Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00000013* -- ID_MODEL_FROM_DATABASE=AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001025* -- ID_MODEL_FROM_DATABASE=DWL-G650B2 Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (DWL-G650B2 Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001027* -- ID_MODEL_FROM_DATABASE=Engenius NL-3054CB ARIES b/g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius NL-3054CB ARIES b/g CardBus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001042* -- ID_MODEL_FROM_DATABASE=Ubiquiti Networks SuperRange a/b/g Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Ubiquiti Networks SuperRange a/b/g Cardbus Adapter) - - pci:v0000168Cd00000013sv0000168Csd00001051* -- ID_MODEL_FROM_DATABASE=EZ Connect g 802.11g 108Mbps Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (EZ Connect g 802.11g 108Mbps Wireless PCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002026* -- ID_MODEL_FROM_DATABASE=Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002027* -- ID_MODEL_FROM_DATABASE=D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A) -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A)) - - pci:v0000168Cd00000013sv0000168Csd00002041* -- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002042* -- ID_MODEL_FROM_DATABASE=Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000168Csd00002051* -- ID_MODEL_FROM_DATABASE=TRENDnet TEW-443PI Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (TRENDnet TEW-443PI Wireless PCI Adapter) - - pci:v0000168Cd00000013sv000016A5sd0000160A* -- ID_MODEL_FROM_DATABASE=BWP712 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (BWP712 802.11bg Wireless CardBus Adapter) - - pci:v0000168Cd00000013sv000016ABsd00007302* -- ID_MODEL_FROM_DATABASE=Trust Speedshare Turbo Pro Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Trust Speedshare Turbo Pro Wireless PCI Adapter) - - pci:v0000168Cd00000013sv00001737sd00000017* -- ID_MODEL_FROM_DATABASE=WPC55AG -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG) - - pci:v0000168Cd00000013sv00001737sd00000026* -- ID_MODEL_FROM_DATABASE=WMP55AG v1.1 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.1) - - pci:v0000168Cd00000013sv00001737sd00000035* -- ID_MODEL_FROM_DATABASE=WPC55AG v1.2 802.11abg Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WPC55AG v1.2 802.11abg Cardbus Adapter) - - pci:v0000168Cd00000013sv00001737sd00000036* -- ID_MODEL_FROM_DATABASE=WMP55AG v1.2 802.11abg PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (WMP55AG v1.2 802.11abg PCI Adapter) - - pci:v0000168Cd00000013sv00001799sd00003000* -- ID_MODEL_FROM_DATABASE=F6D3000 Dual-Band Wireless A+G Desktop Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3000 Dual-Band Wireless A+G Desktop Card) - - pci:v0000168Cd00000013sv00001799sd00003010* -- ID_MODEL_FROM_DATABASE=F6D3010 Dual-Band Wireless A+G Notebook Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (F6D3010 Dual-Band Wireless A+G Notebook Card) - - pci:v0000168Cd00000013sv000017CFsd00000042* -- ID_MODEL_FROM_DATABASE=Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter) - - pci:v0000168Cd00000013sv0000185Fsd00001012* -- ID_MODEL_FROM_DATABASE=CM9 Wireless a/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (CM9 Wireless a/b/g MiniPCI Adapter) - - pci:v0000168Cd00000013sv0000185Fsd00002012* -- ID_MODEL_FROM_DATABASE=Wistron NeWeb WLAN a+b+g model CB9 -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (Wistron NeWeb WLAN a+b+g model CB9) - - pci:v0000168Cd00000013sv0000A727sd00006801* -- ID_MODEL_FROM_DATABASE=3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card -+ ID_MODEL_FROM_DATABASE=AR5212/AR5213 Wireless Network Adapter (3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card) - - pci:v0000168Cd0000001A* - ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] - - pci:v0000168Cd0000001Asv00001052sd0000168C* -- ID_MODEL_FROM_DATABASE=Sweex Wireless Lan PC Card 54Mbps -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Sweex Wireless Lan PC Card 54Mbps) - - pci:v0000168Cd0000001Asv00001113sd0000EE20* -- ID_MODEL_FROM_DATABASE=SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU)) - - pci:v0000168Cd0000001Asv00001113sd0000EE24* -- ID_MODEL_FROM_DATABASE=SMC Wireless PCI Card WPCI-G -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (SMC Wireless PCI Card WPCI-G) - - pci:v0000168Cd0000001Asv00001186sd00003A15* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1)) - - pci:v0000168Cd0000001Asv00001186sd00003A16* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless PCI Adapter(rev.B) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G510 Wireless PCI Adapter(rev.B)) - - pci:v0000168Cd0000001Asv00001186sd00003A1C* -- ID_MODEL_FROM_DATABASE=WNA-1330 Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WNA-1330 Notebook Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003A1D* -- ID_MODEL_FROM_DATABASE=WDA-1320 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WDA-1320 Desktop Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003A23* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G520+A Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G520+A Wireless PCI Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003A24* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G650+A Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G650+A Wireless Cardbus Adapter) - - pci:v0000168Cd0000001Asv00001186sd00003B08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1) -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1)) - - pci:v0000168Cd0000001Asv0000168Csd0000001A* -- ID_MODEL_FROM_DATABASE=Belkin FD7000 -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Belkin FD7000) - - pci:v0000168Cd0000001Asv0000168Csd00001052* -- ID_MODEL_FROM_DATABASE=TP-Link TL-WN510G Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (TP-Link TL-WN510G Wireless CardBus Adapter) - - pci:v0000168Cd0000001Asv0000168Csd00002052* -- ID_MODEL_FROM_DATABASE=Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]) - - pci:v0000168Cd0000001Asv000016ECsd00000122* -- ID_MODEL_FROM_DATABASE=Wireless PCI Adapter Model 5418 -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (Wireless PCI Adapter Model 5418) - - pci:v0000168Cd0000001Asv00001737sd00000053* -- ID_MODEL_FROM_DATABASE=WPC54G v7 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (WPC54G v7 802.11g Wireless-G Notebook Adapter) - - pci:v0000168Cd0000001Asv00001799sd0000700C* -- ID_MODEL_FROM_DATABASE=F5D7000 v5000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7000 v5000 Wireless G Desktop Card) - - pci:v0000168Cd0000001Asv00001799sd0000701D* -- ID_MODEL_FROM_DATABASE=F5D7010 v5000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (F5D7010 v5000 Wireless G Notebook Card) - - pci:v0000168Cd0000001Asv000017F9sd00000008* -- ID_MODEL_FROM_DATABASE=DX-WGNBC 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGNBC 802.11bg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Asv000017F9sd00000018* -- ID_MODEL_FROM_DATABASE=DX-WGDTC 802.11bg Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (DX-WGDTC 802.11bg Wireless PCI Adapter) - - pci:v0000168Cd0000001B* - ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] - - pci:v0000168Cd0000001Bsv00000777sd00001107* -- ID_MODEL_FROM_DATABASE=UB5 802.11a Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (UB5 802.11a Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00000777sd00003002* -- ID_MODEL_FROM_DATABASE=XR2 802.11g Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR2 802.11g Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00000777sd00003005* -- ID_MODEL_FROM_DATABASE=XR5 802.11a Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR5 802.11a Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00000777sd00003009* -- ID_MODEL_FROM_DATABASE=XR9 900MHz Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (XR9 900MHz Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv00001154sd0000034E* -- ID_MODEL_FROM_DATABASE=WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Bsv00001186sd00003A19* -- ID_MODEL_FROM_DATABASE=D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter) - - pci:v0000168Cd0000001Bsv00001186sd00003A22* -- ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B) -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B)) - - pci:v0000168Cd0000001Bsv000011ADsd00005001* -- ID_MODEL_FROM_DATABASE=WN5301A 802.11bg Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WN5301A 802.11bg Wireless PCI Adapter) - - pci:v0000168Cd0000001Bsv00001458sd0000E901* -- ID_MODEL_FROM_DATABASE=GN-WI01HT Wireless a/b/g MiniPCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (GN-WI01HT Wireless a/b/g MiniPCI Adapter) - - pci:v0000168Cd0000001Bsv0000168Csd0000001B* -- ID_MODEL_FROM_DATABASE=Wireless LAN PCI LiteOn -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless LAN PCI LiteOn) - - pci:v0000168Cd0000001Bsv0000168Csd00001062* -- ID_MODEL_FROM_DATABASE=IPN-W100CB 802.11abg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (IPN-W100CB 802.11abg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Bsv0000168Csd00002062* -- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG) -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG)) - - pci:v0000168Cd0000001Bsv0000168Csd00002063* -- ID_MODEL_FROM_DATABASE=EnGenius EMP-8602 (400mw) or Compex WLM54AG -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (EnGenius EMP-8602 (400mw) or Compex WLM54AG) - - pci:v0000168Cd0000001Bsv000017F9sd0000000B* -- ID_MODEL_FROM_DATABASE=WL-711A 802.11abg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WL-711A 802.11abg Wireless CardBus Adapter) - - pci:v0000168Cd0000001Bsv000017F9sd0000000C* -- ID_MODEL_FROM_DATABASE=WPIA-112AG 802.11abg Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (WPIA-112AG 802.11abg Wireless PCI Adapter) - - pci:v0000168Cd0000001Bsv000017F9sd0000000D* -- ID_MODEL_FROM_DATABASE=PC-686X 802.11abg Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (PC-686X 802.11abg Wireless Mini PCI Adapter) - - pci:v0000168Cd0000001Bsv0000185Fsd00001600* -- ID_MODEL_FROM_DATABASE=DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW)) - - pci:v0000168Cd0000001Bsv00001948sd00003ABA* -- ID_MODEL_FROM_DATABASE=RBTBJ-AW 802.11abg Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (RBTBJ-AW 802.11abg Wireless Cardbus Adapter) - - pci:v0000168Cd0000001Bsv0000A727sd00006804* -- ID_MODEL_FROM_DATABASE=Wireless 11a/b/g PC Card with XJACK(r) Antenna -+ ID_MODEL_FROM_DATABASE=AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (Wireless 11a/b/g PC Card with XJACK(r) Antenna) - - pci:v0000168Cd0000001C* - ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) - - pci:v0000168Cd0000001Csv00000777sd00003006* -- ID_MODEL_FROM_DATABASE=SRX 802.11abg Wireless ExpressCard Adapter -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (SRX 802.11abg Wireless ExpressCard Adapter) - - pci:v0000168Cd0000001Csv0000103Csd0000137A* -- ID_MODEL_FROM_DATABASE=AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC) - - pci:v0000168Cd0000001Csv0000106Bsd00000086* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPort Extreme) - - pci:v0000168Cd0000001Csv0000144Fsd00007106* -- ID_MODEL_FROM_DATABASE=WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card) - - pci:v0000168Cd0000001Csv0000144Fsd00007128* -- ID_MODEL_FROM_DATABASE=WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card) - - pci:v0000168Cd0000001Csv00001468sd00000428* -- ID_MODEL_FROM_DATABASE=AR5BXB63 802.11bg NIC -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5BXB63 802.11bg NIC) - - pci:v0000168Cd0000001Csv00001468sd0000042A* -- ID_MODEL_FROM_DATABASE=AR5007EG 802.11bg NIC -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5007EG 802.11bg NIC) - - pci:v0000168Cd0000001Csv0000147Bsd00001033* -- ID_MODEL_FROM_DATABASE=AirPace Wi-Fi -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AirPace Wi-Fi) - - pci:v0000168Cd0000001Csv0000168Csd0000001C* -- ID_MODEL_FROM_DATABASE=AR242x 802.11abg NIC (PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg NIC (PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003061* -- ID_MODEL_FROM_DATABASE=AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EGS 802.11bg NIC (2.4GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003062* -- ID_MODEL_FROM_DATABASE=AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003063* -- ID_MODEL_FROM_DATABASE=AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003065* -- ID_MODEL_FROM_DATABASE=AR5006EG 802.11bg NIC (2.4GHz, PCI Express) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR5006EG 802.11bg NIC (2.4GHz, PCI Express)) - - pci:v0000168Cd0000001Csv0000168Csd00003067* -- ID_MODEL_FROM_DATABASE=AR242x 802.11abg Wireless PCI Express Adapter (rev 01) -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AR242x 802.11abg Wireless PCI Express Adapter (rev 01)) - - pci:v0000168Cd0000001Csv00001A3Bsd00001026* -- ID_MODEL_FROM_DATABASE=AW-GE780 802.11bg Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR242x / AR542x Wireless Network Adapter (PCI-Express) (AW-GE780 802.11bg Wireless Mini PCIe Card) - - pci:v0000168Cd0000001D* - ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] - - pci:v0000168Cd0000001Dsv00001799sd0000720B* -- ID_MODEL_FROM_DATABASE=F5D7000 v8000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7000 v8000 Wireless G Desktop Card) - - pci:v0000168Cd0000001Dsv00001799sd0000721B* -- ID_MODEL_FROM_DATABASE=F5D7010 v8000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=AR2417 Wireless Network Adapter [AR5007G 802.11bg] (F5D7010 v8000 Wireless G Notebook Card) - - pci:v0000168Cd00000020* - ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC - - pci:v0000168Cd00000020sv00000308sd00003407* -- ID_MODEL_FROM_DATABASE=M-102 802.11g Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-102 802.11g Wireless Cardbus Adapter) - - pci:v0000168Cd00000020sv00001186sd00003A67* -- ID_MODEL_FROM_DATABASE=DWL-G650M Super G MIMO Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G650M Super G MIMO Wireless Notebook Adapter) - - pci:v0000168Cd00000020sv00001186sd00003A68* -- ID_MODEL_FROM_DATABASE=DWL-G520M Wireless 108G MIMO Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (DWL-G520M Wireless 108G MIMO Desktop Adapter) - - pci:v0000168Cd00000020sv0000187Esd0000340E* -- ID_MODEL_FROM_DATABASE=M-302 802.11g Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (M-302 802.11g Wireless PCI Adapter) - - pci:v0000168Cd00000020sv00001976sd00002003* -- ID_MODEL_FROM_DATABASE=TEW-601PC 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5513 802.11abg Wireless NIC (TEW-601PC 802.11g Wireless CardBus Adapter) - - pci:v0000168Cd00000023* - ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] - - pci:v0000168Cd00000023sv00000308sd0000340B* -- ID_MODEL_FROM_DATABASE=NWD-170N 802.11bgn Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-170N 802.11bgn Wireless CardBus Adapter) - - pci:v0000168Cd00000023sv00001154sd00000365* -- ID_MODEL_FROM_DATABASE=Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter) - - pci:v0000168Cd00000023sv00001154sd00000367* -- ID_MODEL_FROM_DATABASE=WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter) - - pci:v0000168Cd00000023sv00001186sd00003A6A* -- ID_MODEL_FROM_DATABASE=DWA-642 802.11n RangeBooster N CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-642 802.11n RangeBooster N CardBus Adapter) - - pci:v0000168Cd00000023sv00001186sd00003A6B* -- ID_MODEL_FROM_DATABASE=DWA-547 802.11n RangeBooster N 650 DeskTop Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-547 802.11n RangeBooster N 650 DeskTop Adapter) - - pci:v0000168Cd00000023sv00001186sd00003A6D* -- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A1) -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-552 802.11n Xtreme N Desktop Adapter (rev A1)) - - pci:v0000168Cd00000023sv00001186sd00003A76* -- ID_MODEL_FROM_DATABASE=DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1) -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1)) - - pci:v0000168Cd00000023sv00001737sd00000059* -- ID_MODEL_FROM_DATABASE=WPC300N v2 Wireless-N Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC300N v2 Wireless-N Notebook Adapter) - - pci:v0000168Cd00000023sv00001737sd00000069* -- ID_MODEL_FROM_DATABASE=WPC100 v1 802.11n RangePlus Wireless Notebook Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WPC100 v1 802.11n RangePlus Wireless Notebook Adapter) - - pci:v0000168Cd00000023sv00001737sd00000072* -- ID_MODEL_FROM_DATABASE=WMP110 v1 802.11n RangePlus Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (WMP110 v1 802.11n RangePlus Wireless PCI Adapter) - - pci:v0000168Cd00000023sv00001799sd00008011* -- ID_MODEL_FROM_DATABASE=F5D8011 v1 802.11n N1 Wireless Notebook Card -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (F5D8011 v1 802.11n N1 Wireless Notebook Card) - - pci:v0000168Cd00000023sv0000187Esd00003411* -- ID_MODEL_FROM_DATABASE=NWD-370N 802.11n Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (NWD-370N 802.11n Wireless PCI Adapter) - - pci:v0000168Cd00000023sv00001976sd00002008* -- ID_MODEL_FROM_DATABASE=TEW-621PC 802.11bgn Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] (TEW-621PC 802.11bgn Wireless CardBus Adapter) - - pci:v0000168Cd00000024* - ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) - - pci:v0000168Cd00000024sv0000106Bsd00000087* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (AirPort Extreme) - - pci:v0000168Cd00000024sv00001186sd00003A70* -- ID_MODEL_FROM_DATABASE=DWA-556 Xtreme N PCI Express Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) (DWA-556 Xtreme N PCI Express Desktop Adapter) - - pci:v0000168Cd00000027* - ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] - - pci:v0000168Cd00000027sv00000777sd00004082* -- ID_MODEL_FROM_DATABASE=SR71-A 802.11abgn Wireless Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] (SR71-A 802.11abgn Wireless Mini PCI Adapter) - - pci:v0000168Cd00000029* - ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter - - pci:v0000168Cd00000029sv00000777sd00004005* -- ID_MODEL_FROM_DATABASE=SR71-15 802.11an Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (SR71-15 802.11an Mini PCI Adapter) - - pci:v0000168Cd00000029sv00001186sd00003A7A* -- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A2) -+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)) - - pci:v0000168Cd00000029sv00001186sd00003A7D* -- ID_MODEL_FROM_DATABASE=DWA-552 802.11n Xtreme N Desktop Adapter (rev A3) -+ ID_MODEL_FROM_DATABASE=AR922X Wireless Network Adapter (DWA-552 802.11n Xtreme N Desktop Adapter (rev A3)) - - pci:v0000168Cd0000002A* - ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) - - pci:v0000168Cd0000002Asv00000777sd00004F05* -- ID_MODEL_FROM_DATABASE=SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]) - - pci:v0000168Cd0000002Asv0000103Csd00003041* -- ID_MODEL_FROM_DATABASE=AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) - - pci:v0000168Cd0000002Asv0000105Bsd0000E006* -- ID_MODEL_FROM_DATABASE=T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv0000105Bsd0000E01F* -- ID_MODEL_FROM_DATABASE=T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) - - pci:v0000168Cd0000002Asv0000106Bsd0000008F* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AirPort Extreme) - - pci:v0000168Cd0000002Asv000011ADsd00006600* -- ID_MODEL_FROM_DATABASE=WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv0000144Fsd00007141* -- ID_MODEL_FROM_DATABASE=WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv0000168Csd00000203* -- ID_MODEL_FROM_DATABASE=DW1525 802.11abgn WLAN PCIe Card [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (DW1525 802.11abgn WLAN PCIe Card [AR9280]) - - pci:v0000168Cd0000002Asv00001A32sd00000303* -- ID_MODEL_FROM_DATABASE=EM303 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM303 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv00001A32sd00000306* -- ID_MODEL_FROM_DATABASE=EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283]) - - pci:v0000168Cd0000002Asv00001A3Bsd00001067* -- ID_MODEL_FROM_DATABASE=AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281]) - - pci:v0000168Cd0000002Asv00001A3Bsd00001081* -- ID_MODEL_FROM_DATABASE=AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] -+ ID_MODEL_FROM_DATABASE=AR928X Wireless Network Adapter (PCI-Express) (AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]) - - pci:v0000168Cd0000002B* - ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) - - pci:v0000168Cd0000002Bsv00001028sd00000204* -- ID_MODEL_FROM_DATABASE=Wireless 1502 802.11bgn Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1502 802.11bgn Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001028sd00000205* -- ID_MODEL_FROM_DATABASE=Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD] -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD]) - - pci:v0000168Cd0000002Bsv0000103Csd0000303F* -- ID_MODEL_FROM_DATABASE=U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000103Csd00003040* -- ID_MODEL_FROM_DATABASE=U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000105Bsd0000E017* -- ID_MODEL_FROM_DATABASE=T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000105Bsd0000E023* -- ID_MODEL_FROM_DATABASE=T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001113sd0000E811* -- ID_MODEL_FROM_DATABASE=WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv0000185Fsd000030AF* -- ID_MODEL_FROM_DATABASE=DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001931sd00000023* -- ID_MODEL_FROM_DATABASE=Option GTM67x PCIe WiFi Adapter -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (Option GTM67x PCIe WiFi Adapter) - - pci:v0000168Cd0000002Bsv00001A3Bsd00001089* -- ID_MODEL_FROM_DATABASE=AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001A3Bsd00002C37* -- ID_MODEL_FROM_DATABASE=AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) - - pci:v0000168Cd0000002Bsv00001B9Asd00000401* -- ID_MODEL_FROM_DATABASE=XW204E 802.11bgn Wireless Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (XW204E 802.11bgn Wireless Half-size Mini PCIe Card) - - pci:v0000168Cd0000002Bsv00001B9Asd00000C03* -- ID_MODEL_FROM_DATABASE=WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD]) - - pci:v0000168Cd0000002C* - ID_MODEL_FROM_DATABASE=AR2427 802.11bg Wireless Network Adapter (PCI-Express) -@@ -49059,25 +49059,25 @@ pci:v0000168Cd00000030* - ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter - - pci:v0000168Cd00000030sv0000103Csd00001627* -- ID_MODEL_FROM_DATABASE=AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter) - - pci:v0000168Cd00000030sv0000106Bsd0000009A* -- ID_MODEL_FROM_DATABASE=AirPort Extreme -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (AirPort Extreme) - - pci:v0000168Cd00000030sv00001186sd00003A7E* -- ID_MODEL_FROM_DATABASE=DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter) - - pci:v0000168Cd00000030sv00001A56sd00002000* -- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382] -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]) - - pci:v0000168Cd00000030sv00001A56sd00002001* -- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380] -+ ID_MODEL_FROM_DATABASE=AR93xx Wireless Network Adapter (Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]) - - pci:v0000168Cd00000032* - ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter - - pci:v0000168Cd00000032sv0000103Csd00001838* -- ID_MODEL_FROM_DATABASE=AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter -+ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter) - - pci:v0000168Cd00000033* - ID_MODEL_FROM_DATABASE=AR9580 Wireless Network Adapter -@@ -49086,7 +49086,7 @@ pci:v0000168Cd00000034* - ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter - - pci:v0000168Cd00000034sv00001A56sd00002003* -- ID_MODEL_FROM_DATABASE=Killer Wireless-N 1202 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9462 Wireless Network Adapter (Killer Wireless-N 1202 Half-size Mini PCIe Card) - - pci:v0000168Cd00000036* - ID_MODEL_FROM_DATABASE=QCA9565 / AR9565 Wireless Network Adapter -@@ -49095,7 +49095,7 @@ pci:v0000168Cd00000037* - ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter - - pci:v0000168Cd00000037sv00001A3Bsd00002100* -- ID_MODEL_FROM_DATABASE=AW-NB100H 802.11n Wireless Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=AR9485 Wireless Network Adapter (AW-NB100H 802.11n Wireless Mini PCIe Card) - - pci:v0000168Cd0000003C* - ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter -@@ -49107,7 +49107,7 @@ pci:v0000168Cd00001014* - ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC - - pci:v0000168Cd00001014sv00001014sd0000058A* -- ID_MODEL_FROM_DATABASE=ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) -+ ID_MODEL_FROM_DATABASE=AR5212 802.11abg NIC (ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)) - - pci:v0000168Cd00009013* - ID_MODEL_FROM_DATABASE=AR5002X Wireless Network Adapter -@@ -49125,7 +49125,7 @@ pci:v0000168Cd0000FF1D* - ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter - - pci:v0000168Cd0000FF1Dsv0000168Csd0000EE1C* -- ID_MODEL_FROM_DATABASE=AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3] -+ ID_MODEL_FROM_DATABASE=AR922x Wireless Network Adapter (AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3]) - - pci:v00001695* - ID_VENDOR_FROM_DATABASE=EPoX Computer Co., Ltd. -@@ -49524,16 +49524,16 @@ pci:v00001737d00001032* - ID_MODEL_FROM_DATABASE=Gigabit Network Adapter - - pci:v00001737d00001032sv00001737sd00000015* -- ID_MODEL_FROM_DATABASE=EG1032 v2 Instant Gigabit Network Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v2 Instant Gigabit Network Adapter) - - pci:v00001737d00001032sv00001737sd00000024* -- ID_MODEL_FROM_DATABASE=EG1032 v3 Instant Gigabit Network Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1032 v3 Instant Gigabit Network Adapter) - - pci:v00001737d00001064* - ID_MODEL_FROM_DATABASE=Gigabit Network Adapter - - pci:v00001737d00001064sv00001737sd00000016* -- ID_MODEL_FROM_DATABASE=EG1064 v2 Instant Gigabit Network Adapter -+ ID_MODEL_FROM_DATABASE=Gigabit Network Adapter (EG1064 v2 Instant Gigabit Network Adapter) - - pci:v00001737d0000AB08* - ID_MODEL_FROM_DATABASE=21x4x DEC-Tulip compatible 10/100 Ethernet -@@ -49554,7 +49554,7 @@ pci:v0000173Bd000003EA* - ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet - - pci:v0000173Bd000003EAsv0000173Bsd00000001* -- ID_MODEL_FROM_DATABASE=AC1002 -+ ID_MODEL_FROM_DATABASE=AC9100 Gigabit Ethernet (AC1002) - - pci:v0000173Bd000003EB* - ID_MODEL_FROM_DATABASE=AC1003 Gigabit Ethernet -@@ -49851,19 +49851,19 @@ pci:v000017CBd00000001* - ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card - - pci:v000017CBd00000001sv00001385sd00005C00* -- ID_MODEL_FROM_DATABASE=WGM511 Pre-N 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WGM511 Pre-N 802.11g Wireless CardBus Adapter) - - pci:v000017CBd00000001sv00001737sd00000045* -- ID_MODEL_FROM_DATABASE=WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX -+ ID_MODEL_FROM_DATABASE=AGN100 802.11 a/b/g True MIMO Wireless Card (WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX) - - pci:v000017CBd00000002* - ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card - - pci:v000017CBd00000002sv00001385sd00006D00* -- ID_MODEL_FROM_DATABASE=WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter) - - pci:v000017CBd00000002sv00001737sd00000054* -- ID_MODEL_FROM_DATABASE=WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400 -+ ID_MODEL_FROM_DATABASE=AGN300 802.11 a/b/g True MIMO Wireless Card (WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400) - - pci:v000017CC* - ID_VENDOR_FROM_DATABASE=NetChip Technology, Inc -@@ -49914,7 +49914,7 @@ pci:v000017D3d00001280* - ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller - - pci:v000017D3d00001280sv000017D3sd00001221* -- ID_MODEL_FROM_DATABASE=ARC-1221 8-Port PCI-Express to SATA RAID Controller -+ ID_MODEL_FROM_DATABASE=ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller (ARC-1221 8-Port PCI-Express to SATA RAID Controller) - - pci:v000017D3d00001300* - ID_MODEL_FROM_DATABASE=ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter -@@ -49923,7 +49923,7 @@ pci:v000017D3d00001680* - ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller - - pci:v000017D3d00001680sv000017D3sd00001212* -- ID_MODEL_FROM_DATABASE=ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller -+ ID_MODEL_FROM_DATABASE=ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller (ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller) - - pci:v000017D3d00001880* - ID_MODEL_FROM_DATABASE=ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller -@@ -49941,82 +49941,82 @@ pci:v000017D5d00005831* - ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X - - pci:v000017D5d00005831sv0000103Csd000012D5* -- ID_MODEL_FROM_DATABASE=PCI-X 133MHz 10GbE SR Fiber -+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (PCI-X 133MHz 10GbE SR Fiber) - - pci:v000017D5d00005831sv000010A9sd00008020* -- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) -+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) - - pci:v000017D5d00005831sv000010A9sd00008024* -- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet (PCI-X, Fiber) -+ ID_MODEL_FROM_DATABASE=Xframe 10-Gigabit Ethernet PCI-X (Single Port 10-Gigabit Ethernet (PCI-X, Fiber)) - - pci:v000017D5d00005832* - ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 - - pci:v000017D5d00005832sv0000103Csd00001337* -- ID_MODEL_FROM_DATABASE=PCI-X 266MHz 10GigE SR [AD385A] -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (PCI-X 266MHz 10GigE SR [AD385A]) - - pci:v000017D5d00005832sv000010A9sd00008021* -- ID_MODEL_FROM_DATABASE=Single Port 10-Gigabit Ethernet II (PCI-X, Fiber) -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Single Port 10-Gigabit Ethernet II (PCI-X, Fiber)) - - pci:v000017D5d00005832sv000017D5sd00006020* -- ID_MODEL_FROM_DATABASE=Xframe II SR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR) - - pci:v000017D5d00005832sv000017D5sd00006021* -- ID_MODEL_FROM_DATABASE=Xframe II SR, Low Profile -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II SR, Low Profile) - - pci:v000017D5d00005832sv000017D5sd00006022* -- ID_MODEL_FROM_DATABASE=Xframe E SR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E SR) - - pci:v000017D5d00005832sv000017D5sd00006420* -- ID_MODEL_FROM_DATABASE=Xframe II LR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR) - - pci:v000017D5d00005832sv000017D5sd00006421* -- ID_MODEL_FROM_DATABASE=Xframe II LR, Low Profile -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II LR, Low Profile) - - pci:v000017D5d00005832sv000017D5sd00006422* -- ID_MODEL_FROM_DATABASE=Xframe E LR -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E LR) - - pci:v000017D5d00005832sv000017D5sd00006C20* -- ID_MODEL_FROM_DATABASE=Xframe II CX4 -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4) - - pci:v000017D5d00005832sv000017D5sd00006C21* -- ID_MODEL_FROM_DATABASE=Xframe II CX4, Low Profile -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe II CX4, Low Profile) - - pci:v000017D5d00005832sv000017D5sd00006C22* -- ID_MODEL_FROM_DATABASE=Xframe E CX4 -+ ID_MODEL_FROM_DATABASE=Xframe II 10-Gigabit Ethernet PCI-X 2.0 (Xframe E CX4) - - pci:v000017D5d00005833* - ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe - - pci:v000017D5d00005833sv000017D5sd00006030* -- ID_MODEL_FROM_DATABASE=X3110 Single Port SR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port SR) - - pci:v000017D5d00005833sv000017D5sd00006031* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port SR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port SR) - - pci:v000017D5d00005833sv000017D5sd00006430* -- ID_MODEL_FROM_DATABASE=X3110 Single Port LR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LR) - - pci:v000017D5d00005833sv000017D5sd00006431* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port LR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LR) - - pci:v000017D5d00005833sv000017D5sd00007030* -- ID_MODEL_FROM_DATABASE=X3110 Single Port LRM -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port LRM) - - pci:v000017D5d00005833sv000017D5sd00007031* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port LRM -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port LRM) - - pci:v000017D5d00005833sv000017D5sd00007430* -- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-T -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-T) - - pci:v000017D5d00005833sv000017D5sd00007431* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-T -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-T) - - pci:v000017D5d00005833sv000017D5sd00007830* -- ID_MODEL_FROM_DATABASE=X3110 Single Port 10GBase-CR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3110 Single Port 10GBase-CR) - - pci:v000017D5d00005833sv000017D5sd00007831* -- ID_MODEL_FROM_DATABASE=X3120 Dual Port 10GBase-CR -+ ID_MODEL_FROM_DATABASE=X3100 Series 10 Gigabit Ethernet PCIe (X3120 Dual Port 10GBase-CR) - - pci:v000017DB* - ID_VENDOR_FROM_DATABASE=Cray Inc -@@ -50103,16 +50103,16 @@ pci:v000017FEd00002120* - ID_MODEL_FROM_DATABASE=IPN 2120 802.11b - - pci:v000017FEd00002120sv00001737sd00000020* -- ID_MODEL_FROM_DATABASE=WMP11 v4 802.11b Wireless-B PCI Adapter -+ ID_MODEL_FROM_DATABASE=IPN 2120 802.11b (WMP11 v4 802.11b Wireless-B PCI Adapter) - - pci:v000017FEd00002220* - ID_MODEL_FROM_DATABASE=IPN 2220 802.11g - - pci:v000017FEd00002220sv00001468sd00000305* -- ID_MODEL_FROM_DATABASE=T60N871 802.11g Mini PCI Wireless Adapter -+ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (T60N871 802.11g Mini PCI Wireless Adapter) - - pci:v000017FEd00002220sv00001737sd00000029* -- ID_MODEL_FROM_DATABASE=WPC54G v4 802.11g Wireless-G Notebook Adapter -+ ID_MODEL_FROM_DATABASE=IPN 2220 802.11g (WPC54G v4 802.11g Wireless-G Notebook Adapter) - - pci:v000017FF* - ID_VENDOR_FROM_DATABASE=Benq Corporation -@@ -50133,13 +50133,13 @@ pci:v00001813d00004000* - ID_MODEL_FROM_DATABASE=HaM controllerless modem - - pci:v00001813d00004000sv000016BEsd00000001* -- ID_MODEL_FROM_DATABASE=V9x HAM Data Fax Modem -+ ID_MODEL_FROM_DATABASE=HaM controllerless modem (V9x HAM Data Fax Modem) - - pci:v00001813d00004100* - ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem - - pci:v00001813d00004100sv000016BEsd00000002* -- ID_MODEL_FROM_DATABASE=V9x HAM 1394 -+ ID_MODEL_FROM_DATABASE=HaM plus Data Fax Modem (V9x HAM 1394) - - pci:v00001814* - ID_VENDOR_FROM_DATABASE=Ralink corp. -@@ -50148,13 +50148,13 @@ pci:v00001814d00000101* - ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 - - pci:v00001814d00000101sv00001043sd00000127* -- ID_MODEL_FROM_DATABASE=WiFi-b add-on Card -+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (WiFi-b add-on Card) - - pci:v00001814d00000101sv00001371sd00000010* -- ID_MODEL_FROM_DATABASE=Minitar MNW2BPCI Wireless PCI Card -+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (Minitar MNW2BPCI Wireless PCI Card) - - pci:v00001814d00000101sv00001462sd00006828* -- ID_MODEL_FROM_DATABASE=PC11B2 (MS-6828) Wireless 11b PCI Card -+ ID_MODEL_FROM_DATABASE=Wireless PCI Adapter RT2400 / RT2460 (PC11B2 (MS-6828) Wireless 11b PCI Card) - - pci:v00001814d00000200* - ID_MODEL_FROM_DATABASE=RT2500 802.11g PCI [PC54G2] -@@ -50163,58 +50163,58 @@ pci:v00001814d00000201* - ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg - - pci:v00001814d00000201sv00001043sd0000130F* -- ID_MODEL_FROM_DATABASE=WL-130g -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-130g) - - pci:v00001814d00000201sv00001186sd00003C00* -- ID_MODEL_FROM_DATABASE=DWL-G650X Wireless 11g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (DWL-G650X Wireless 11g CardBus Adapter) - - pci:v00001814d00000201sv00001371sd0000001E* -- ID_MODEL_FROM_DATABASE=CWC-854 Wireless-G CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWC-854 Wireless-G CardBus Adapter) - - pci:v00001814d00000201sv00001371sd0000001F* -- ID_MODEL_FROM_DATABASE=CWM-854 Wireless-G Mini PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWM-854 Wireless-G Mini PCI Adapter) - - pci:v00001814d00000201sv00001371sd00000020* -- ID_MODEL_FROM_DATABASE=CWP-854 Wireless-G PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CWP-854 Wireless-G PCI Adapter) - - pci:v00001814d00000201sv00001458sd0000E381* -- ID_MODEL_FROM_DATABASE=GN-WMKG 802.11b/g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WMKG 802.11b/g Wireless CardBus Adapter) - - pci:v00001814d00000201sv00001458sd0000E931* -- ID_MODEL_FROM_DATABASE=GN-WIKG 802.11b/g mini-PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (GN-WIKG 802.11b/g mini-PCI Adapter) - - pci:v00001814d00000201sv00001462sd00006833* -- ID_MODEL_FROM_DATABASE=Unknown 802.11g mini-PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Unknown 802.11g mini-PCI Adapter) - - pci:v00001814d00000201sv00001462sd00006835* -- ID_MODEL_FROM_DATABASE=Wireless 11G CardBus CB54G2 -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (Wireless 11G CardBus CB54G2) - - pci:v00001814d00000201sv00001737sd00000032* -- ID_MODEL_FROM_DATABASE=WMP54G v4.0 PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WMP54G v4.0 PCI Adapter) - - pci:v00001814d00000201sv00001799sd0000700A* -- ID_MODEL_FROM_DATABASE=F5D7000 v2000/v3000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7000 v2000/v3000 Wireless G Desktop Card) - - pci:v00001814d00000201sv00001799sd0000701A* -- ID_MODEL_FROM_DATABASE=F5D7010 v2000/v3000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (F5D7010 v2000/v3000 Wireless G Notebook Card) - - pci:v00001814d00000201sv00001814sd00002560* - ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg - - pci:v00001814d00000201sv0000182Dsd00009073* -- ID_MODEL_FROM_DATABASE=WL-115 Wireless Network PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL-115 Wireless Network PCI Adapter) - - pci:v00001814d00000201sv0000185Fsd000022A0* -- ID_MODEL_FROM_DATABASE=CN-WF513 Wireless Cardbus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (CN-WF513 Wireless Cardbus Adapter) - - pci:v00001814d00000201sv000018EBsd00005312* -- ID_MODEL_FROM_DATABASE=WL531P IEEE 802.11g PCI Card-EU -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (WL531P IEEE 802.11g PCI Card-EU) - - pci:v00001814d00000201sv00001948sd00003C00* -- ID_MODEL_FROM_DATABASE=C54RC v1 Wireless 11g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54RC v1 Wireless 11g CardBus Adapter) - - pci:v00001814d00000201sv00001948sd00003C01* -- ID_MODEL_FROM_DATABASE=C54Ri v1 Wireless 11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2500 Wireless 802.11bg (C54Ri v1 Wireless 11g PCI Adapter) - - pci:v00001814d00000300* - ID_MODEL_FROM_DATABASE=Wireless Adapter Canyon CN-WF511 -@@ -50223,88 +50223,88 @@ pci:v00001814d00000301* - ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI - - pci:v00001814d00000301sv00001186sd00003C08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1) -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1)) - - pci:v00001814d00000301sv00001186sd00003C09* -- ID_MODEL_FROM_DATABASE=DWL-G510 Rev C -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (DWL-G510 Rev C) - - pci:v00001814d00000301sv000013D1sd0000ABE3* -- ID_MODEL_FROM_DATABASE=miniPCI Pluscom 802.11 a/b/g -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (miniPCI Pluscom 802.11 a/b/g) - - pci:v00001814d00000301sv00001458sd0000E933* -- ID_MODEL_FROM_DATABASE=GN-WI01GS -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WI01GS) - - pci:v00001814d00000301sv00001458sd0000E934* -- ID_MODEL_FROM_DATABASE=GN-WP01GS -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (GN-WP01GS) - - pci:v00001814d00000301sv00001737sd00000055* -- ID_MODEL_FROM_DATABASE=WMP54G v4.1 -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (WMP54G v4.1) - - pci:v00001814d00000301sv00001799sd0000700E* -- ID_MODEL_FROM_DATABASE=F5D7000 v6000 Wireless G Desktop Card -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7000 v6000 Wireless G Desktop Card) - - pci:v00001814d00000301sv00001799sd0000701E* -- ID_MODEL_FROM_DATABASE=F5D7010 v6000 Wireless G Notebook Card -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (F5D7010 v6000 Wireless G Notebook Card) - - pci:v00001814d00000301sv000017F9sd00000012* -- ID_MODEL_FROM_DATABASE=AWLC3026T 802.11g Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (AWLC3026T 802.11g Wireless CardBus Adapter) - - pci:v00001814d00000301sv00001814sd00002561* -- ID_MODEL_FROM_DATABASE=EW-7108PCg/EW-7128g -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 802.11g PCI (EW-7108PCg/EW-7128g) - - pci:v00001814d00000302* - ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g - - pci:v00001814d00000302sv00001186sd00003A71* -- ID_MODEL_FROM_DATABASE=DWA-510 Wireless G Desktop Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (DWA-510 Wireless G Desktop Adapter) - - pci:v00001814d00000302sv00001186sd00003C08* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2) -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2)) - - pci:v00001814d00000302sv00001186sd00003C09* -- ID_MODEL_FROM_DATABASE=AirPlus G DWL-G510 Wireless Network Adapter (Rev.C) -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (AirPlus G DWL-G510 Wireless Network Adapter (Rev.C)) - - pci:v00001814d00000302sv00001462sd0000B834* -- ID_MODEL_FROM_DATABASE=PC54G3 Wireless 11g PCI Card -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (PC54G3 Wireless 11g PCI Card) - - pci:v00001814d00000302sv00001948sd00003C23* -- ID_MODEL_FROM_DATABASE=C54RC v2 Wireless 11g CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54RC v2 Wireless 11g CardBus Adapter) - - pci:v00001814d00000302sv00001948sd00003C24* -- ID_MODEL_FROM_DATABASE=C54Ri v2 Wireless 11g PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2561/RT61 rev B 802.11g (C54Ri v2 Wireless 11g PCI Adapter) - - pci:v00001814d00000401* - ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO - - pci:v00001814d00000401sv00001737sd00000052* -- ID_MODEL_FROM_DATABASE=WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster -+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster) - - pci:v00001814d00000401sv000017F9sd00000011* -- ID_MODEL_FROM_DATABASE=WPCR-137G 802.11bg Wireless CardBus Adapter -+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPCR-137G 802.11bg Wireless CardBus Adapter) - - pci:v00001814d00000401sv000017F9sd00000016* -- ID_MODEL_FROM_DATABASE=WPIR-119GH 802.11bg Wireless Desktop Adapter -+ ID_MODEL_FROM_DATABASE=RT2600 802.11 MIMO (WPIR-119GH 802.11bg Wireless Desktop Adapter) - - pci:v00001814d00000601* - ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI - - pci:v00001814d00000601sv00001799sd0000801C* -- ID_MODEL_FROM_DATABASE=F5D8011 v3 802.11n N1 Wireless Notebook Card -+ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (F5D8011 v3 802.11n N1 Wireless Notebook Card) - - pci:v00001814d00000601sv0000187Esd00003412* -- ID_MODEL_FROM_DATABASE=NWD-310N 802.11n Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2800 802.11n PCI (NWD-310N 802.11n Wireless PCI Adapter) - - pci:v00001814d00000681* - ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe - - pci:v00001814d00000681sv00001458sd0000E939* -- ID_MODEL_FROM_DATABASE=GN-WS30N-RH 802.11bgn Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RT2890 Wireless 802.11n PCIe (GN-WS30N-RH 802.11bgn Mini PCIe Card) - - pci:v00001814d00000701* - ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R - - pci:v00001814d00000701sv00001737sd00000074* -- ID_MODEL_FROM_DATABASE=WMP110 v2 802.11n RangePlus Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT2760 Wireless 802.11n 1T/2R (WMP110 v2 802.11n RangePlus Wireless PCI Adapter) - - pci:v00001814d00000781* - ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe -@@ -50313,7 +50313,7 @@ pci:v00001814d00003060* - ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R - - pci:v00001814d00003060sv00001186sd00003C04* -- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A1) -+ ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A1)) - - pci:v00001814d00003062* - ID_MODEL_FROM_DATABASE=RT3062 Wireless 802.11n 2T/2R -@@ -50322,7 +50322,7 @@ pci:v00001814d00003090* - ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe - - pci:v00001814d00003090sv000013BDsd00001057* -- ID_MODEL_FROM_DATABASE=GN-WS32L-RH Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RT3090 Wireless 802.11n 1T/1R PCIe (GN-WS32L-RH Half-size Mini PCIe Card) - - pci:v00001814d00003091* - ID_MODEL_FROM_DATABASE=RT3091 Wireless 802.11n 1T/2R PCIe -@@ -50334,13 +50334,13 @@ pci:v00001814d00003290* - ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe - - pci:v00001814d00003290sv0000103Csd000018EC* -- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter -+ ID_MODEL_FROM_DATABASE=RT3290 Wireless 802.11n 1T/1R PCIe (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) - - pci:v00001814d00003298* - ID_MODEL_FROM_DATABASE=RT3290 Bluetooth - - pci:v00001814d00003298sv0000103Csd000018EC* -- ID_MODEL_FROM_DATABASE=Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter -+ ID_MODEL_FROM_DATABASE=RT3290 Bluetooth (Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter) - - pci:v00001814d00003592* - ID_MODEL_FROM_DATABASE=RT3592 Wireless 802.11abgn 2T/2R PCIe -@@ -50352,16 +50352,16 @@ pci:v00001814d00005360* - ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R - - pci:v00001814d00005360sv00001186sd00003C05* -- ID_MODEL_FROM_DATABASE=DWA-525 Wireless N 150 Desktop Adapter (rev.A2) -+ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (DWA-525 Wireless N 150 Desktop Adapter (rev.A2)) - - pci:v00001814d00005360sv000020F4sd0000703A* -- ID_MODEL_FROM_DATABASE=TEW-703PI N150 Wireless PCI Adapter -+ ID_MODEL_FROM_DATABASE=RT5360 Wireless 802.11n 1T/1R (TEW-703PI N150 Wireless PCI Adapter) - - pci:v00001814d00005390* - ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe - - pci:v00001814d00005390sv0000103Csd00001636* -- ID_MODEL_FROM_DATABASE=U98Z077.00 Half-size Mini PCIe Card -+ ID_MODEL_FROM_DATABASE=RT5390 Wireless 802.11n 1T/1R PCIe (U98Z077.00 Half-size Mini PCIe Card) - - pci:v00001814d00005392* - ID_MODEL_FROM_DATABASE=RT5392 PCIe Wireless Network Adapter -@@ -50370,7 +50370,7 @@ pci:v00001814d0000539F* - ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] - - pci:v00001814d0000539Fsv0000103Csd00001637* -- ID_MODEL_FROM_DATABASE=Pavilion DM1Z-3000 PCIe wireless card -+ ID_MODEL_FROM_DATABASE=RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] (Pavilion DM1Z-3000 PCIe wireless card) - - pci:v00001814d00005592* - ID_MODEL_FROM_DATABASE=RT5592 PCIe Wireless Network Adapter -@@ -50637,7 +50637,7 @@ pci:v000018C3d00000720* - ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller - - pci:v000018C3d00000720sv000007CAsd0000032E* -- ID_MODEL_FROM_DATABASE=Hybrid M779 PCI-E -+ ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller (Hybrid M779 PCI-E) - - pci:v000018C8* - ID_VENDOR_FROM_DATABASE=Cray Inc -@@ -50697,70 +50697,70 @@ pci:v000018ECd00006D05* - ID_MODEL_FROM_DATABASE=ML555 - - pci:v000018ECd00006D05sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=ML555 (NIC (ethernet interfaces)) - - pci:v000018ECd00006D05sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 4x1G) - - pci:v000018ECd00006D05sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=ML555 (NIC (szedata2) 2x10G) - - pci:v000018ECd00006D05sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd00006D05sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=ML555 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd00006D05sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=ML555 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd00006D05sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=ML555 (Testing design) - - pci:v000018ECd00006D05sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=ML555 (Boot design) - - pci:v000018ECd0000C006* - ID_MODEL_FROM_DATABASE=COMBO6 - - pci:v000018ECd0000C006sv000018ECsd0000D001* -- ID_MODEL_FROM_DATABASE=COMBO-4MTX -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4MTX) - - pci:v000018ECd0000C006sv000018ECsd0000D002* -- ID_MODEL_FROM_DATABASE=COMBO-4SFP -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFP) - - pci:v000018ECd0000C006sv000018ECsd0000D003* -- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-4SFPRO) - - pci:v000018ECd0000C006sv000018ECsd0000D004* -- ID_MODEL_FROM_DATABASE=COMBO-2XFP -+ ID_MODEL_FROM_DATABASE=COMBO6 (COMBO-2XFP) - - pci:v000018ECd0000C032* - ID_MODEL_FROM_DATABASE=COMBO-LXT110 - - pci:v000018ECd0000C032sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (ethernet interfaces)) - - pci:v000018ECd0000C032sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 4x1G) - - pci:v000018ECd0000C032sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIC (szedata2) 2x10G) - - pci:v000018ECd0000C032sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd0000C032sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd0000C032sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd0000C032sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Testing design) - - pci:v000018ECd0000C032sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT110 (Boot design) - - pci:v000018ECd0000C045* - ID_MODEL_FROM_DATABASE=COMBO6E -@@ -50772,70 +50772,70 @@ pci:v000018ECd0000C058* - ID_MODEL_FROM_DATABASE=COMBO6X - - pci:v000018ECd0000C058sv000018ECsd0000D001* -- ID_MODEL_FROM_DATABASE=COMBO-4MTX -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4MTX) - - pci:v000018ECd0000C058sv000018ECsd0000D002* -- ID_MODEL_FROM_DATABASE=COMBO-4SFP -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFP) - - pci:v000018ECd0000C058sv000018ECsd0000D003* -- ID_MODEL_FROM_DATABASE=COMBO-4SFPRO -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-4SFPRO) - - pci:v000018ECd0000C058sv000018ECsd0000D004* -- ID_MODEL_FROM_DATABASE=COMBO-2XFP -+ ID_MODEL_FROM_DATABASE=COMBO6X (COMBO-2XFP) - - pci:v000018ECd0000C132* - ID_MODEL_FROM_DATABASE=COMBO-LXT155 - - pci:v000018ECd0000C132sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (ethernet interfaces)) - - pci:v000018ECd0000C132sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 4x1G) - - pci:v000018ECd0000C132sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIC (szedata2) 2x10G) - - pci:v000018ECd0000C132sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd0000C132sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd0000C132sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd0000C132sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Testing design) - - pci:v000018ECd0000C132sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=COMBO-LXT155 (Boot design) - - pci:v000018ECd0000C232* - ID_MODEL_FROM_DATABASE=COMBO-FXT100 - - pci:v000018ECd0000C232sv000018ECsd00000100* -- ID_MODEL_FROM_DATABASE=NIC (ethernet interfaces) -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (ethernet interfaces)) - - pci:v000018ECd0000C232sv000018ECsd00000200* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 4x1G) - - pci:v000018ECd0000C232sv000018ECsd00000201* -- ID_MODEL_FROM_DATABASE=NIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIC (szedata2) 2x10G) - - pci:v000018ECd0000C232sv000018ECsd00000300* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 4x1G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 4x1G) - - pci:v000018ECd0000C232sv000018ECsd00000302* -- ID_MODEL_FROM_DATABASE=NIFIC (szedata2) 2x10G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (NIFIC (szedata2) 2x10G) - - pci:v000018ECd0000C232sv000018ECsd00004200* -- ID_MODEL_FROM_DATABASE=Flexible FlowMon (szedata2) 1x10G -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Flexible FlowMon (szedata2) 1x10G) - - pci:v000018ECd0000C232sv000018ECsd0000FF00* -- ID_MODEL_FROM_DATABASE=Testing design -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Testing design) - - pci:v000018ECd0000C232sv000018ECsd0000FF01* -- ID_MODEL_FROM_DATABASE=Boot design -+ ID_MODEL_FROM_DATABASE=COMBO-FXT100 (Boot design) - - pci:v000018EE* - ID_VENDOR_FROM_DATABASE=Chenming Mold Ind. Corp. -@@ -51075,235 +51075,235 @@ pci:v00001924d00000703* - ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] - - pci:v00001924d00000703sv000010B8sd00000102* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) - - pci:v00001924d00000703sv000010B8sd00000103* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) - - pci:v00001924d00000703sv000010B8sd00000201* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) - - pci:v00001924d00000703sv00001924sd00000101* -- ID_MODEL_FROM_DATABASE=SFE4001-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A1) - - pci:v00001924d00000703sv00001924sd00000102* -- ID_MODEL_FROM_DATABASE=SFE4001-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A2) - - pci:v00001924d00000703sv00001924sd00000103* -- ID_MODEL_FROM_DATABASE=SFE4001-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4001-A3) - - pci:v00001924d00000703sv00001924sd00000201* -- ID_MODEL_FROM_DATABASE=SFE4002-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4002-A1) - - pci:v00001924d00000703sv00001924sd00000301* -- ID_MODEL_FROM_DATABASE=SFE4003-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A1) - - pci:v00001924d00000703sv00001924sd00000302* -- ID_MODEL_FROM_DATABASE=SFE4003-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A2) - - pci:v00001924d00000703sv00001924sd00000303* -- ID_MODEL_FROM_DATABASE=SFE4003-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A3) - - pci:v00001924d00000703sv00001924sd00000304* -- ID_MODEL_FROM_DATABASE=SFE4003-A4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4003-A4) - - pci:v00001924d00000703sv00001924sd00000500* -- ID_MODEL_FROM_DATABASE=SFE4005-A0 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A net [Solarstorm] (SFE4005-A0) - - pci:v00001924d00000710* - ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] - - pci:v00001924d00000710sv000010B8sd00000103* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) - - pci:v00001924d00000710sv000010B8sd00000201* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) - - pci:v00001924d00000710sv00001924sd00000102* -- ID_MODEL_FROM_DATABASE=SFE4001-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A2) - - pci:v00001924d00000710sv00001924sd00000103* -- ID_MODEL_FROM_DATABASE=SFE4001-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4001-A3) - - pci:v00001924d00000710sv00001924sd00000201* -- ID_MODEL_FROM_DATABASE=SFE4002-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4002-A1) - - pci:v00001924d00000710sv00001924sd00000302* -- ID_MODEL_FROM_DATABASE=SFE4003-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A2) - - pci:v00001924d00000710sv00001924sd00000303* -- ID_MODEL_FROM_DATABASE=SFE4003-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A3) - - pci:v00001924d00000710sv00001924sd00000304* -- ID_MODEL_FROM_DATABASE=SFE4003-A4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4003-A4) - - pci:v00001924d00000710sv00001924sd00000500* -- ID_MODEL_FROM_DATABASE=SFE4005-A0 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFE4005-A0) - - pci:v00001924d00000710sv00001924sd00005102* -- ID_MODEL_FROM_DATABASE=SFN4111T-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-A2) - - pci:v00001924d00000710sv00001924sd00005103* -- ID_MODEL_FROM_DATABASE=SFN4111T-R3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R3) - - pci:v00001924d00000710sv00001924sd00005104* -- ID_MODEL_FROM_DATABASE=SFN4111T-R4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R4) - - pci:v00001924d00000710sv00001924sd00005105* -- ID_MODEL_FROM_DATABASE=SFN4111T-R5 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4111T-R5) - - pci:v00001924d00000710sv00001924sd00005201* -- ID_MODEL_FROM_DATABASE=SFN4112F-R1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R1) - - pci:v00001924d00000710sv00001924sd00005202* -- ID_MODEL_FROM_DATABASE=SFN4112F-R2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R2) - - pci:v00001924d00000803* - ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] - - pci:v00001924d00000803sv00001014sd00000478* -- ID_MODEL_FROM_DATABASE=2-port 10GbE Low-Latency (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE Low-Latency (R7)) - - pci:v00001924d00000803sv00001014sd00000479* -- ID_MODEL_FROM_DATABASE=2-port 10GbE OpenOnload (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE OpenOnload (R7)) - - pci:v00001924d00000803sv00001014sd000004A7* -- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Low-latency Dual-port HBA (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Low-latency Dual-port HBA (R7)) - - pci:v00001924d00000803sv00001014sd000004A8* -- ID_MODEL_FROM_DATABASE=Solarflare 10Gb Dual-port HBA (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Dual-port HBA (R7)) - - pci:v00001924d00000803sv0000103Csd00002132* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1)) - - pci:v00001924d00000803sv0000103Csd00002136* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 570SFP+ Adapter (R7) -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570SFP+ Adapter (R7)) - - pci:v00001924d00000803sv00001924sd00001201* -- ID_MODEL_FROM_DATABASE=SFA6902F-R1 SFP+ AOE Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFA6902F-R1 SFP+ AOE Adapter) - - pci:v00001924d00000803sv00001924sd00006200* -- ID_MODEL_FROM_DATABASE=SFN5122F-R0 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R0 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006201* -- ID_MODEL_FROM_DATABASE=SFN5122F-R1 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R1 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006202* -- ID_MODEL_FROM_DATABASE=SFN5122F-R2 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R2 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006204* -- ID_MODEL_FROM_DATABASE=SFN5122F-R4 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R4 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006205* -- ID_MODEL_FROM_DATABASE=SFN5122F-R5 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R5 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006206* -- ID_MODEL_FROM_DATABASE=SFN5122F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006207* -- ID_MODEL_FROM_DATABASE=SFN5122F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R7 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006210* -- ID_MODEL_FROM_DATABASE=SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006211* -- ID_MODEL_FROM_DATABASE=SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006217* -- ID_MODEL_FROM_DATABASE=SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006227* -- ID_MODEL_FROM_DATABASE=SFN6122F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6122F-R7 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006237* -- ID_MODEL_FROM_DATABASE=SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter) - - pci:v00001924d00000803sv00001924sd00006501* -- ID_MODEL_FROM_DATABASE=SFN5802K-R1 Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5802K-R1 Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006511* -- ID_MODEL_FROM_DATABASE=SFN5814H-R1 Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5814H-R1 Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006521* -- ID_MODEL_FROM_DATABASE=SFN5812H-R1 Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5812H-R1 Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006562* -- ID_MODEL_FROM_DATABASE=SFN6832F-R2 SFP+ Mezzanine Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6832F-R2 SFP+ Mezzanine Adapter) - - pci:v00001924d00000803sv00001924sd00006A05* -- ID_MODEL_FROM_DATABASE=SFN5112F-R5 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R5 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00006A06* -- ID_MODEL_FROM_DATABASE=SFN5112F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007206* -- ID_MODEL_FROM_DATABASE=SFN5162F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007207* -- ID_MODEL_FROM_DATABASE=SFN5162F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R7 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007A06* -- ID_MODEL_FROM_DATABASE=SFN5152F-R6 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R6 SFP+ Server Adapter) - - pci:v00001924d00000803sv00001924sd00007A07* -- ID_MODEL_FROM_DATABASE=SFN5152F-R7 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R7 SFP+ Server Adapter) - - pci:v00001924d00000813* - ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] - - pci:v00001924d00000813sv00001924sd00006100* -- ID_MODEL_FROM_DATABASE=SFN5121T-R0 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R0 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006102* -- ID_MODEL_FROM_DATABASE=SFN5121T-R2 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R2 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006103* -- ID_MODEL_FROM_DATABASE=SFN5121T-R3 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R3 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006104* -- ID_MODEL_FROM_DATABASE=SFN5121T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006902* -- ID_MODEL_FROM_DATABASE=SFN5111T-R2 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R2 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00006904* -- ID_MODEL_FROM_DATABASE=SFN5111T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00007104* -- ID_MODEL_FROM_DATABASE=SFN5161T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5161T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000813sv00001924sd00007904* -- ID_MODEL_FROM_DATABASE=SFN5151T-R4 10GBASE-T Server Adapter -+ ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5151T-R4 10GBASE-T Server Adapter) - - pci:v00001924d00000903* - ID_MODEL_FROM_DATABASE=SFC9120 - - pci:v00001924d00000903sv00001014sd000004CC* -- ID_MODEL_FROM_DATABASE=SFN7122F-R2 2x10GbE SFP+ Flareon Ultra -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R2 2x10GbE SFP+ Flareon Ultra) - - pci:v00001924d00000903sv00001924sd00008002* -- ID_MODEL_FROM_DATABASE=SFN7122F-R1 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R1 SFP+ Server Adapter) - - pci:v00001924d00000903sv00001924sd00008003* -- ID_MODEL_FROM_DATABASE=SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) - - pci:v00001924d00000903sv00001924sd00008006* -- ID_MODEL_FROM_DATABASE=SFN7022F-R1 SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7022F-R1 SFP+ Server Adapter) - - pci:v00001924d00000903sv00001924sd00008007* -- ID_MODEL_FROM_DATABASE=SFN7322F-R2 Precision Time SFP+ Server Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7322F-R2 Precision Time SFP+ Server Adapter) - - pci:v00001924d00000903sv00001924sd00008009* -- ID_MODEL_FROM_DATABASE=SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter) - - pci:v00001924d00000903sv00001924sd0000800A* -- ID_MODEL_FROM_DATABASE=SFN7x02F-R2 Flareon 7000 Series 10G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter) - - pci:v00001924d00000923* - ID_MODEL_FROM_DATABASE=SFC9140 - - pci:v00001924d00000923sv00001924sd0000800B* -- ID_MODEL_FROM_DATABASE=SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter -+ ID_MODEL_FROM_DATABASE=SFC9140 (SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter) - - pci:v00001924d00001803* - ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm] -@@ -51315,40 +51315,40 @@ pci:v00001924d00006703* - ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] - - pci:v00001924d00006703sv000010B8sd00000102* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A2) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A2) [TigerCard]) - - pci:v00001924d00006703sv000010B8sd00000103* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-10BT (A3) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-10BT (A3) [TigerCard]) - - pci:v00001924d00006703sv000010B8sd00000201* -- ID_MODEL_FROM_DATABASE=SMC10GPCIe-XFP (A1) [TigerCard] -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SMC10GPCIe-XFP (A1) [TigerCard]) - - pci:v00001924d00006703sv00001924sd00000101* -- ID_MODEL_FROM_DATABASE=SFE4001-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A1) - - pci:v00001924d00006703sv00001924sd00000102* -- ID_MODEL_FROM_DATABASE=SFE4001-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A2) - - pci:v00001924d00006703sv00001924sd00000103* -- ID_MODEL_FROM_DATABASE=SFE4001-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4001-A3) - - pci:v00001924d00006703sv00001924sd00000201* -- ID_MODEL_FROM_DATABASE=SFE4002-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4002-A1) - - pci:v00001924d00006703sv00001924sd00000301* -- ID_MODEL_FROM_DATABASE=SFE4003-A1 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A1) - - pci:v00001924d00006703sv00001924sd00000302* -- ID_MODEL_FROM_DATABASE=SFE4003-A2 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A2) - - pci:v00001924d00006703sv00001924sd00000303* -- ID_MODEL_FROM_DATABASE=SFE4003-A3 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A3) - - pci:v00001924d00006703sv00001924sd00000304* -- ID_MODEL_FROM_DATABASE=SFE4003-A4 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4003-A4) - - pci:v00001924d00006703sv00001924sd00000500* -- ID_MODEL_FROM_DATABASE=SFE4005-A0 -+ ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm] (SFE4005-A0) - - pci:v00001924d0000C101* - ID_MODEL_FROM_DATABASE=EF1-21022T [EtherFabric] -@@ -51549,13 +51549,13 @@ pci:v00001957d00000084* - ID_MODEL_FROM_DATABASE=MPC8347E PBGA - - pci:v00001957d00000084sv0000110Asd00004074* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1628 -+ ID_MODEL_FROM_DATABASE=MPC8347E PBGA (SIMATIC NET CP 1628) - - pci:v00001957d00000085* - ID_MODEL_FROM_DATABASE=MPC8347 PBGA - - pci:v00001957d00000085sv0000110Asd00004046* -- ID_MODEL_FROM_DATABASE=SIMATIC NET CP 1623 -+ ID_MODEL_FROM_DATABASE=MPC8347 PBGA (SIMATIC NET CP 1623) - - pci:v00001957d00000086* - ID_MODEL_FROM_DATABASE=MPC8343E -@@ -51570,7 +51570,7 @@ pci:v00001957d000000B6* - ID_MODEL_FROM_DATABASE=MPC8314E - - pci:v00001957d000000B6sv00001A56sd00001101* -- ID_MODEL_FROM_DATABASE=Killer Xeno Pro Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=MPC8314E (Killer Xeno Pro Gigabit Ethernet Controller) - - pci:v00001957d000000C2* - ID_MODEL_FROM_DATABASE=MPC8379E -@@ -51621,7 +51621,7 @@ pci:v00001957d00000111* - ID_MODEL_FROM_DATABASE=P1022 - - pci:v00001957d00000111sv00001C7Fsd00005200* -- ID_MODEL_FROM_DATABASE=EB5200 -+ ID_MODEL_FROM_DATABASE=P1022 (EB5200) - - pci:v00001957d00000118* - ID_MODEL_FROM_DATABASE=P1013E -@@ -51660,7 +51660,7 @@ pci:v00001957d0000C006* - ID_MODEL_FROM_DATABASE=MPC8308 - - pci:v00001957d0000C006sv00001A56sd00001201* -- ID_MODEL_FROM_DATABASE=Killer E2100 Gigabit Ethernet Controller -+ ID_MODEL_FROM_DATABASE=MPC8308 (Killer E2100 Gigabit Ethernet Controller) - - pci:v00001958* - ID_VENDOR_FROM_DATABASE=Faster Technology, LLC. -@@ -51726,13 +51726,13 @@ pci:v00001969d00001026* - ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet - - pci:v00001969d00001026sv00001043sd00008304* -- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard -+ ID_MODEL_FROM_DATABASE=AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (P5KPL-CM Motherboard) - - pci:v00001969d00001048* - ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet - - pci:v00001969d00001048sv00001043sd00008226* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=Attansic L1 Gigabit Ethernet (P5KPL-VM Motherboard) - - pci:v00001969d00001062* - ID_MODEL_FROM_DATABASE=AR8132 Fast Ethernet -@@ -51741,7 +51741,7 @@ pci:v00001969d00001063* - ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet - - pci:v00001969d00001063sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=GA-G31M-ES2L Motherboard -+ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) - - pci:v00001969d00001066* - ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet -@@ -51762,7 +51762,7 @@ pci:v00001969d00001091* - ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet - - pci:v00001969d00001091sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=AR8161 Gigabit Ethernet (N56VZ) - - pci:v00001969d000010A0* - ID_MODEL_FROM_DATABASE=QCA8172 Fast Ethernet -@@ -51804,7 +51804,7 @@ pci:v00001971d00001011* - ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] - - pci:v00001971d00001011sv00001043sd00000001* -- ID_MODEL_FROM_DATABASE=PhysX P1 -+ ID_MODEL_FROM_DATABASE=Physics Processing Unit [PhysX] (PhysX P1) - - pci:v00001974* - ID_VENDOR_FROM_DATABASE=Eberspaecher Electronics -@@ -51834,25 +51834,25 @@ pci:v0000197Bd00002361* - ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE - - pci:v0000197Bd00002361sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=JMB361 AHCI/IDE (P965 Neo MS-7235 mainboard) - - pci:v0000197Bd00002362* - ID_MODEL_FROM_DATABASE=JMB362 SATA Controller - - pci:v0000197Bd00002362sv00001043sd00008460* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=JMB362 SATA Controller (P8P67 Deluxe Motherboard) - - pci:v0000197Bd00002363* - ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller - - pci:v0000197Bd00002363sv00001043sd000081E4* -- ID_MODEL_FROM_DATABASE=P5B [JMB363] -+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (P5B [JMB363]) - - pci:v0000197Bd00002363sv00001458sd0000B000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard) - - pci:v0000197Bd00002363sv00001849sd00002363* -- ID_MODEL_FROM_DATABASE=Motherboard (one of many) -+ ID_MODEL_FROM_DATABASE=JMB363 SATA/IDE Controller (Motherboard (one of many)) - - pci:v0000197Bd00002364* - ID_MODEL_FROM_DATABASE=JMB364 AHCI Controller -@@ -51984,19 +51984,19 @@ pci:v000019A2d00000700* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC - - pci:v000019A2d00000700sv0000103Csd00001747* -- ID_MODEL_FROM_DATABASE=NC550SFP DualPort 10GbE Server Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP DualPort 10GbE Server Adapter) - - pci:v000019A2d00000700sv0000103Csd00001749* -- ID_MODEL_FROM_DATABASE=NC550SFP Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC550SFP Dual Port Server Adapter) - - pci:v000019A2d00000700sv0000103Csd0000174A* -- ID_MODEL_FROM_DATABASE=NC551m Dual Port FlexFabric 10Gb Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551m Dual Port FlexFabric 10Gb Adapter) - - pci:v000019A2d00000700sv0000103Csd0000174B* -- ID_MODEL_FROM_DATABASE=StorageWorks NC550 DualPort Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (StorageWorks NC550 DualPort Converged Network Adapter) - - pci:v000019A2d00000700sv0000103Csd00003314* -- ID_MODEL_FROM_DATABASE=NC551i Dual Port FlexFabric 10Gb Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (NC551i Dual Port FlexFabric 10Gb Adapter) - - pci:v000019A2d00000702* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator -@@ -52008,19 +52008,19 @@ pci:v000019A2d00000710* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) - - pci:v000019A2d00000710sv0000103Csd00003315* -- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000710sv0000103Csd00003340* -- ID_MODEL_FROM_DATABASE=NC552SFP 2-port 10Gb Server Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552SFP 2-port 10Gb Server Adapter) - - pci:v000019A2d00000710sv0000103Csd00003341* -- ID_MODEL_FROM_DATABASE=NC552m 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC552m 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000710sv0000103Csd00003345* -- ID_MODEL_FROM_DATABASE=NC553m 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC553m 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000710sv0000103Csd0000337B* -- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb NIC (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000712* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb iSCSI Initiator (be3) -@@ -52029,10 +52029,10 @@ pci:v000019A2d00000714* - ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) - - pci:v000019A2d00000714sv0000103Csd00003315* -- ID_MODEL_FROM_DATABASE=NC553i 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC553i 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A2d00000714sv0000103Csd0000337B* -- ID_MODEL_FROM_DATABASE=NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=OneConnect 10Gb FCoE Initiator (be3) (NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter) - - pci:v000019A8* - ID_VENDOR_FROM_DATABASE=DAQDATA GmbH -@@ -52332,16 +52332,16 @@ pci:v00001A78d00000031* - ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive - - pci:v00001A78d00000031sv00001A78sd00000034* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) - - pci:v00001A78d00000031sv00001A78sd00000037* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 3D] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) - - pci:v00001A78d00000031sv00001A78sd00000038* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) - - pci:v00001A78d00000031sv00001A78sd00000039* -- ID_MODEL_FROM_DATABASE=FlashMAX PCIe SSD [rev 4D] -+ ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) - - pci:v00001A78d00000040* - ID_MODEL_FROM_DATABASE=FlashMAX II -@@ -52479,25 +52479,25 @@ pci:v00001AEDd00001005* - ID_MODEL_FROM_DATABASE=ioDimm3 - - pci:v00001AEDd00001005sv00001014sd000003C3* -- ID_MODEL_FROM_DATABASE=High IOPS SSD PCIe Adapter -+ ID_MODEL_FROM_DATABASE=ioDimm3 (High IOPS SSD PCIe Adapter) - - pci:v00001AEDd00001005sv0000103Csd0000176F* -- ID_MODEL_FROM_DATABASE=1.28TB MLC PCIe ioDrive Duo -+ ID_MODEL_FROM_DATABASE=ioDimm3 (1.28TB MLC PCIe ioDrive Duo) - - pci:v00001AEDd00001005sv0000103Csd00001770* -- ID_MODEL_FROM_DATABASE=5.2TB MLC PCIe ioDrive Octal -+ ID_MODEL_FROM_DATABASE=ioDimm3 (5.2TB MLC PCIe ioDrive Octal) - - pci:v00001AEDd00001005sv0000103Csd0000178B* -- ID_MODEL_FROM_DATABASE=160GB SLC PCIe ioDrive -+ ID_MODEL_FROM_DATABASE=ioDimm3 (160GB SLC PCIe ioDrive) - - pci:v00001AEDd00001005sv0000103Csd0000178C* -- ID_MODEL_FROM_DATABASE=320GB MLC PCIe ioDrive -+ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB MLC PCIe ioDrive) - - pci:v00001AEDd00001005sv0000103Csd0000178D* -- ID_MODEL_FROM_DATABASE=320GB SLC PCIe ioDrive Duo -+ ID_MODEL_FROM_DATABASE=ioDimm3 (320GB SLC PCIe ioDrive Duo) - - pci:v00001AEDd00001005sv0000103Csd0000178E* -- ID_MODEL_FROM_DATABASE=640GB MLC PCIe ioDrive Duo -+ ID_MODEL_FROM_DATABASE=ioDimm3 (640GB MLC PCIe ioDrive Duo) - - pci:v00001AEDd00001006* - ID_MODEL_FROM_DATABASE=ioXtreme -@@ -52548,7 +52548,7 @@ pci:v00001AF4d00001110* - ID_MODEL_FROM_DATABASE=Inter-VM shared memory - - pci:v00001AF4d00001110sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=Inter-VM shared memory (QEMU Virtual Machine) - - pci:v00001AF5* - ID_VENDOR_FROM_DATABASE=Netezza Corp. -@@ -52587,22 +52587,22 @@ pci:v00001B21d00000612* - ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller - - pci:v00001B21d00000612sv00001849sd00000612* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1062 Serial ATA Controller (Motherboard) - - pci:v00001B21d00001042* - ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller - - pci:v00001B21d00001042sv00001043sd00008488* -- ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (P8B WS Motherboard) - - pci:v00001B21d00001042sv00001849sd00001042* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1042 SuperSpeed USB Host Controller (Motherboard) - - pci:v00001B21d00001080* - ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge - - pci:v00001B21d00001080sv00001849sd00001080* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) - - pci:v00001B2C* - ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. -@@ -52617,31 +52617,31 @@ pci:v00001B36d00000002* - ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter - - pci:v00001B36d00000002sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI 16550A Adapter (QEMU Virtual Machine) - - pci:v00001B36d00000003* - ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter - - pci:v00001B36d00000003sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI Dual-port 16550A Adapter (QEMU Virtual Machine) - - pci:v00001B36d00000004* - ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter - - pci:v00001B36d00000004sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI Quad-port 16550A Adapter (QEMU Virtual Machine) - - pci:v00001B36d00000005* - ID_MODEL_FROM_DATABASE=QEMU PCI Test Device - - pci:v00001B36d00000005sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU PCI Test Device (QEMU Virtual Machine) - - pci:v00001B36d00000100* - ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card - - pci:v00001B36d00000100sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QXL paravirtual graphic card (QEMU Virtual Machine) - - pci:v00001B37* - ID_VENDOR_FROM_DATABASE=Signal Processing Devices Sweden AB -@@ -52662,10 +52662,10 @@ pci:v00001B3Ed00001FA8* - ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X - - pci:v00001B3Ed00001FA8sv00001B3Esd000000A3* -- ID_MODEL_FROM_DATABASE=BYNET BIC2SX -+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SX) - - pci:v00001B3Ed00001FA8sv00001B3Esd000000C3* -- ID_MODEL_FROM_DATABASE=BYNET BIC2SE -+ ID_MODEL_FROM_DATABASE=BYNET BIC2SE/X (BYNET BIC2SE) - - pci:v00001B40* - ID_VENDOR_FROM_DATABASE=Schooner Information Technology, Inc. -@@ -52701,7 +52701,7 @@ pci:v00001B4Bd00009130* - ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo - - pci:v00001B4Bd00009130sv00001043sd00008438* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo (P8P67 Deluxe Motherboard) - - pci:v00001B4Bd00009172* - ID_MODEL_FROM_DATABASE=88SE9172 SATA 6Gb/s Controller -@@ -52767,7 +52767,7 @@ pci:v00001B73d00001000* - ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller - - pci:v00001B73d00001000sv00001D5Csd00001000* -- ID_MODEL_FROM_DATABASE=Anker USB 3.0 Express Card -+ ID_MODEL_FROM_DATABASE=FL1000G USB 3.0 Host Controller (Anker USB 3.0 Express Card) - - pci:v00001B73d00001009* - ID_MODEL_FROM_DATABASE=FL1009 USB 3.0 Host Controller -@@ -53010,67 +53010,67 @@ pci:v00001FC9d00003010* - ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC - - pci:v00001FC9d00003010sv00000000sd00003002* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port XFP SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port XFP SmartNIC) - - pci:v00001FC9d00003010sv00000000sd00003004* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) - - pci:v00001FC9d00003010sv00000000sd00003008* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port CX4 SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC (10-Giga TOE Single Port CX4 SmartNIC) - - pci:v00001FC9d00003014* - ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port - - pci:v00001FC9d00003014sv00000000sd00003003* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port XFP Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port XFP Low Profile SmartNIC) - - pci:v00001FC9d00003014sv00000000sd00003005* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003014sv00000000sd00003014* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SmartNIC 2-Port (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003110* - ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC - - pci:v00001FC9d00003110sv00000000sd00003004* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) - - pci:v00001FC9d00003114* - ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC - - pci:v00001FC9d00003114sv00000000sd00003005* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003114sv00000000sd00003011* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003114sv00000000sd00003012* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003114sv00000000sd00003014* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003310* - ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC - - pci:v00001FC9d00003310sv00000000sd00003004* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Single Port SFP+ SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE SFP+ Single Port SmartNIC (10-Giga TOE Single Port SFP+ SmartNIC) - - pci:v00001FC9d00003314* - ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC - - pci:v00001FC9d00003314sv00000000sd00003005* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003314sv00000000sd00003011* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC) - - pci:v00001FC9d00003314sv00000000sd00003012* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC) - - pci:v00001FC9d00003314sv00000000sd00003014* -- ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port CX4 Low Profile SmartNIC -+ ID_MODEL_FROM_DATABASE=10-Giga TOE Dual Port Low Profile SmartNIC (10-Giga TOE Dual Port CX4 Low Profile SmartNIC) - - pci:v00001FCE* - ID_VENDOR_FROM_DATABASE=Cognio Inc. -@@ -53172,31 +53172,31 @@ pci:v00003388d00000021* - ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) - - pci:v00003388d00000021sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K CompactPCI interface bridge -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (C2K CompactPCI interface bridge) - - pci:v00003388d00000021sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CE9) - - pci:v00003388d00000021sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT7 mainboard) - - pci:v00003388d00000021sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CT8 mainboard) - - pci:v00003388d00000021sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (Cx9 mainboard) - - pci:v00003388d00000021sv00004C53sd000010A0* -- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (CA3/CR3 mainboard) - - pci:v00003388d00000021sv00004C53sd00003010* -- ID_MODEL_FROM_DATABASE=PPCI mezzanine (32-bit PMC) -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (32-bit PMC)) - - pci:v00003388d00000021sv00004C53sd00003011* -- ID_MODEL_FROM_DATABASE=PPCI mezzanine (64-bit PMC) -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PPCI mezzanine (64-bit PMC)) - - pci:v00003388d00000021sv00004C53sd00004000* -- ID_MODEL_FROM_DATABASE=PMCCARR1 carrier board -+ ID_MODEL_FROM_DATABASE=HB6 Universal PCI-PCI bridge (non-transparent mode) (PMCCARR1 carrier board) - - pci:v00003388d00000022* - ID_MODEL_FROM_DATABASE=HiNT HB4 PCI-PCI Bridge (PCI6150) -@@ -53220,19 +53220,19 @@ pci:v00003388d00008011* - ID_MODEL_FROM_DATABASE=VXPro II Chipset - - pci:v00003388d00008011sv00003388sd00008011* -- ID_MODEL_FROM_DATABASE=VXPro II Chipset CPU to PCI Bridge -+ ID_MODEL_FROM_DATABASE=VXPro II Chipset (CPU to PCI Bridge) - - pci:v00003388d00008012* - ID_MODEL_FROM_DATABASE=VXPro II Chipset - - pci:v00003388d00008012sv00003388sd00008012* -- ID_MODEL_FROM_DATABASE=VXPro II Chipset PCI to ISA Bridge -+ ID_MODEL_FROM_DATABASE=VXPro II Chipset (PCI to ISA Bridge) - - pci:v00003388d00008013* - ID_MODEL_FROM_DATABASE=VXPro II IDE - - pci:v00003388d00008013sv00003388sd00008013* -- ID_MODEL_FROM_DATABASE=VXPro II Chipset EIDE Controller -+ ID_MODEL_FROM_DATABASE=VXPro II IDE (VXPro II Chipset EIDE Controller) - - pci:v00003388d0000A103* - ID_MODEL_FROM_DATABASE=Blackmagic Design DeckLink HD Pro -@@ -53277,13 +53277,13 @@ pci:v00003D3Dd00000002* - ID_MODEL_FROM_DATABASE=GLINT 500TX - - pci:v00003D3Dd00000002sv00000000sd00000000* -- ID_MODEL_FROM_DATABASE=GLoria L -+ ID_MODEL_FROM_DATABASE=GLINT 500TX (GLoria L) - - pci:v00003D3Dd00000003* - ID_MODEL_FROM_DATABASE=GLINT Delta - - pci:v00003D3Dd00000003sv00000000sd00000000* -- ID_MODEL_FROM_DATABASE=GLoria XL -+ ID_MODEL_FROM_DATABASE=GLINT Delta (GLoria XL) - - pci:v00003D3Dd00000004* - ID_MODEL_FROM_DATABASE=Permedia -@@ -53295,10 +53295,10 @@ pci:v00003D3Dd00000006* - ID_MODEL_FROM_DATABASE=GLINT MX - - pci:v00003D3Dd00000006sv00000000sd00000000* -- ID_MODEL_FROM_DATABASE=GLoria XL -+ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XL) - - pci:v00003D3Dd00000006sv00001048sd00000A42* -- ID_MODEL_FROM_DATABASE=GLoria XXL -+ ID_MODEL_FROM_DATABASE=GLINT MX (GLoria XXL) - - pci:v00003D3Dd00000007* - ID_MODEL_FROM_DATABASE=3D Extreme -@@ -53307,55 +53307,55 @@ pci:v00003D3Dd00000008* - ID_MODEL_FROM_DATABASE=GLINT Gamma G1 - - pci:v00003D3Dd00000008sv00001048sd00000A42* -- ID_MODEL_FROM_DATABASE=GLoria XXL -+ ID_MODEL_FROM_DATABASE=GLINT Gamma G1 (GLoria XXL) - - pci:v00003D3Dd00000009* - ID_MODEL_FROM_DATABASE=Permedia II 2D+3D - - pci:v00003D3Dd00000009sv00001040sd00000011* -- ID_MODEL_FROM_DATABASE=AccelStar II -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II) - - pci:v00003D3Dd00000009sv00001048sd00000A42* -- ID_MODEL_FROM_DATABASE=GLoria XXL -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (GLoria XXL) - - pci:v00003D3Dd00000009sv000013E9sd00001000* -- ID_MODEL_FROM_DATABASE=6221L-4U -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (6221L-4U) - - pci:v00003D3Dd00000009sv00003D3Dsd00000100* -- ID_MODEL_FROM_DATABASE=AccelStar II 3D Accelerator -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (AccelStar II 3D Accelerator) - - pci:v00003D3Dd00000009sv00003D3Dsd00000111* -- ID_MODEL_FROM_DATABASE=Permedia 3:16 -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia 3:16) - - pci:v00003D3Dd00000009sv00003D3Dsd00000114* -- ID_MODEL_FROM_DATABASE=Santa Ana -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana) - - pci:v00003D3Dd00000009sv00003D3Dsd00000116* -- ID_MODEL_FROM_DATABASE=Oxygen GVX1 -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen GVX1) - - pci:v00003D3Dd00000009sv00003D3Dsd00000119* -- ID_MODEL_FROM_DATABASE=Scirocco -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Scirocco) - - pci:v00003D3Dd00000009sv00003D3Dsd00000120* -- ID_MODEL_FROM_DATABASE=Santa Ana PCL -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Santa Ana PCL) - - pci:v00003D3Dd00000009sv00003D3Dsd00000125* -- ID_MODEL_FROM_DATABASE=Oxygen VX1 -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Oxygen VX1) - - pci:v00003D3Dd00000009sv00003D3Dsd00000127* -- ID_MODEL_FROM_DATABASE=Permedia3 Create! -+ ID_MODEL_FROM_DATABASE=Permedia II 2D+3D (Permedia3 Create!) - - pci:v00003D3Dd0000000A* - ID_MODEL_FROM_DATABASE=GLINT R3 - - pci:v00003D3Dd0000000Asv00003D3Dsd00000121* -- ID_MODEL_FROM_DATABASE=Oxygen VX1 -+ ID_MODEL_FROM_DATABASE=GLINT R3 (Oxygen VX1) - - pci:v00003D3Dd0000000C* - ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] - - pci:v00003D3Dd0000000Csv00003D3Dsd00000144* -- ID_MODEL_FROM_DATABASE=Oxygen VX1-4X AGP [Permedia 4] -+ ID_MODEL_FROM_DATABASE=GLINT R3 [Oxygen VX1] (Oxygen VX1-4X AGP [Permedia 4]) - - pci:v00003D3Dd0000000D* - ID_MODEL_FROM_DATABASE=GLint R4 rev A -@@ -53472,13 +53472,13 @@ pci:v00004040d00000001* - ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface - - pci:v00004040d00000001sv0000103Csd00007047* -- ID_MODEL_FROM_DATABASE=NC510F PCIe 10-Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface (NC510F PCIe 10-Gigabit Server Adapter) - - pci:v00004040d00000002* - ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface - - pci:v00004040d00000002sv0000103Csd00007048* -- ID_MODEL_FROM_DATABASE=NC510c PCIe 10-Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface (NC510c PCIe 10-Gigabit Server Adapter) - - pci:v00004040d00000003* - ID_MODEL_FROM_DATABASE=NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface -@@ -53490,7 +53490,7 @@ pci:v00004040d00000005* - ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class - - pci:v00004040d00000005sv0000103Csd0000170E* -- ID_MODEL_FROM_DATABASE=NC512m Dual Port 10GbE Multifunction BL-C Adapter -+ ID_MODEL_FROM_DATABASE=NetXen Dual Port 10GbE Multifunction Adapter for c-Class (NC512m Dual Port 10GbE Multifunction BL-C Adapter) - - pci:v00004040d00000024* - ID_MODEL_FROM_DATABASE=XG Mgmt -@@ -53502,28 +53502,28 @@ pci:v00004040d00000100* - ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter - - pci:v00004040d00000100sv0000103Csd0000171B* -- ID_MODEL_FROM_DATABASE=NC522m Dual Port 10GbE Multifunction BL-c Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522m Dual Port 10GbE Multifunction BL-c Adapter) - - pci:v00004040d00000100sv0000103Csd00001740* -- ID_MODEL_FROM_DATABASE=NC375T PCI Express Quad Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375T PCI Express Quad Port Gigabit Server Adapter) - - pci:v00004040d00000100sv0000103Csd00003251* -- ID_MODEL_FROM_DATABASE=NC375i 1G w/NC524SFP 10G Module -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i 1G w/NC524SFP 10G Module) - - pci:v00004040d00000100sv0000103Csd0000705A* -- ID_MODEL_FROM_DATABASE=NC375i Integrated Quad Port Multifunction Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC375i Integrated Quad Port Multifunction Gigabit Server Adapter) - - pci:v00004040d00000100sv0000103Csd0000705B* -- ID_MODEL_FROM_DATABASE=NC522SFP Dual Port 10GbE Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NC522SFP Dual Port 10GbE Server Adapter) - - pci:v00004040d00000100sv0000152Dsd0000896B* -- ID_MODEL_FROM_DATABASE=TG20 Dual Port 10GbE Server/Storage Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (TG20 Dual Port 10GbE Server/Storage Adapter) - - pci:v00004040d00000100sv00004040sd00000124* -- ID_MODEL_FROM_DATABASE=NX3031 Quad Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (NX3031 Quad Port Gigabit Server Adapter) - - pci:v00004040d00000100sv00004040sd00000126* -- ID_MODEL_FROM_DATABASE=Dual Port SFP+ 10GbE Server Adapter -+ ID_MODEL_FROM_DATABASE=NX3031 Multifunction 1/10-Gigabit Server Adapter (Dual Port SFP+ 10GbE Server Adapter) - - pci:v00004143* - ID_VENDOR_FROM_DATABASE=Digital Equipment Corp -@@ -53571,190 +53571,190 @@ pci:v00004444d00000016* - ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder - - pci:v00004444d00000016sv00000070sd00000003* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00000009* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00000801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00000807* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00004001* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00004009* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00004801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00004803* -- ID_MODEL_FROM_DATABASE=WinTV PVR 250 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 250) - - pci:v00004444d00000016sv00000070sd00008003* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd00008801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd0000C801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv00000070sd0000E807* -- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (1st unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (1st unit)) - - pci:v00004444d00000016sv00000070sd0000E817* -- ID_MODEL_FROM_DATABASE=WinTV PVR 500 (2nd unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 500 (2nd unit)) - - pci:v00004444d00000016sv00000070sd0000FF92* -- ID_MODEL_FROM_DATABASE=WiNTV PVR-550 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WiNTV PVR-550) - - pci:v00004444d00000016sv00000270sd00000801* -- ID_MODEL_FROM_DATABASE=WinTV PVR 150 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (WinTV PVR 150) - - pci:v00004444d00000016sv0000104Dsd0000013D* -- ID_MODEL_FROM_DATABASE=ENX-26 TV Encoder -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (ENX-26 TV Encoder) - - pci:v00004444d00000016sv000010FCsd0000D038* -- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (1st unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (1st unit)) - - pci:v00004444d00000016sv000010FCsd0000D039* -- ID_MODEL_FROM_DATABASE=GV-MVP/RX2W (2nd unit) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (GV-MVP/RX2W (2nd unit)) - - pci:v00004444d00000016sv000012ABsd0000FFF3* -- ID_MODEL_FROM_DATABASE=MPG600 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) - - pci:v00004444d00000016sv000012ABsd0000FFFF* -- ID_MODEL_FROM_DATABASE=MPG600 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (MPG600) - - pci:v00004444d00000016sv00001461sd0000C00A* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C00B* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C00C* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner)) - - pci:v00004444d00000016sv00001461sd0000C010* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C011* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C018* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C019* -- ID_MODEL_FROM_DATABASE=UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C01A* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C01B* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C030* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C031* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C032* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C033* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C034* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C035* -- ID_MODEL_FROM_DATABASE=M113 PCI Analog TV (NTSC+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M113 PCI Analog TV (NTSC+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C03F* -- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) - - pci:v00004444d00000016sv00001461sd0000C136* -- ID_MODEL_FROM_DATABASE=M104 mini-PCI Analog TV -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M104 mini-PCI Analog TV) - - pci:v00004444d00000016sv00001461sd0000C20A* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner)) - - pci:v00004444d00000016sv00001461sd0000C218* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C219* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C21A* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C21B* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner)) - - pci:v00004444d00000016sv00001461sd0000C230* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C231* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C232* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C233* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C234* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C235* -- ID_MODEL_FROM_DATABASE=M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner)) - - pci:v00004444d00000016sv00001461sd0000C337* -- ID_MODEL_FROM_DATABASE=E106 AVerMedia AVerTV Video Capture -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (E106 AVerMedia AVerTV Video Capture) - - pci:v00004444d00000016sv00001461sd0000C439* -- ID_MODEL_FROM_DATABASE=M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner)) - - pci:v00004444d00000016sv00001461sd0000C5FF* -- ID_MODEL_FROM_DATABASE=C755 AVerTV Video Capture card (no tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C755 AVerTV Video Capture card (no tuner)) - - pci:v00004444d00000016sv00001461sd0000C6FF* -- ID_MODEL_FROM_DATABASE=C115 PCI video capture card (no tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (C115 PCI video capture card (no tuner)) - - pci:v00004444d00000016sv00001461sd0000C739* -- ID_MODEL_FROM_DATABASE=M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner) -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner)) - - pci:v00004444d00000016sv00009005sd00000092* -- ID_MODEL_FROM_DATABASE=VideOh! AVC-2010 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2010) - - pci:v00004444d00000016sv00009005sd00000093* -- ID_MODEL_FROM_DATABASE=VideOh! AVC-2410 -+ ID_MODEL_FROM_DATABASE=iTVC16 (CX23416) Video Decoder (VideOh! AVC-2410) - - pci:v00004444d00000803* - ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder - - pci:v00004444d00000803sv00000070sd00004000* -- ID_MODEL_FROM_DATABASE=WinTV PVR-350 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350) - - pci:v00004444d00000803sv00000070sd00004001* -- ID_MODEL_FROM_DATABASE=WinTV PVR-250 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-250) - - pci:v00004444d00000803sv00000070sd00004800* -- ID_MODEL_FROM_DATABASE=WinTV PVR-350 (V1) -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (WinTV PVR-350 (V1)) - - pci:v00004444d00000803sv000012ABsd00000000* -- ID_MODEL_FROM_DATABASE=MPG160 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (MPG160) - - pci:v00004444d00000803sv00001461sd0000A3CE* -- ID_MODEL_FROM_DATABASE=M179 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) - - pci:v00004444d00000803sv00001461sd0000A3CF* -- ID_MODEL_FROM_DATABASE=M179 -+ ID_MODEL_FROM_DATABASE=iTVC15 (CX23415) Video Decoder (M179) - - pci:v00004468* - ID_VENDOR_FROM_DATABASE=Bridgeport machines -@@ -53961,7 +53961,7 @@ pci:v00004A14d00005000* - ID_MODEL_FROM_DATABASE=NV5000SC - - pci:v00004A14d00005000sv00004A14sd00005000* -- ID_MODEL_FROM_DATABASE=RT8029-Based Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=NV5000SC (RT8029-Based Ethernet Adapter) - - pci:v00004B10* - ID_VENDOR_FROM_DATABASE=Buslogic Inc. -@@ -53976,16 +53976,16 @@ pci:v00004C53d00000000* - ID_MODEL_FROM_DATABASE=PLUSTEST device - - pci:v00004C53d00000000sv00004C53sd00003000* -- ID_MODEL_FROM_DATABASE=PLUSTEST card (PC104+) -+ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PC104+)) - - pci:v00004C53d00000000sv00004C53sd00003001* -- ID_MODEL_FROM_DATABASE=PLUSTEST card (PMC) -+ ID_MODEL_FROM_DATABASE=PLUSTEST device (PLUSTEST card (PMC)) - - pci:v00004C53d00000001* - ID_MODEL_FROM_DATABASE=PLUSTEST-MM device - - pci:v00004C53d00000001sv00004C53sd00003002* -- ID_MODEL_FROM_DATABASE=PLUSTEST-MM card (PMC) -+ ID_MODEL_FROM_DATABASE=PLUSTEST-MM device (PLUSTEST-MM card (PMC)) - - pci:v00004CA1* - ID_VENDOR_FROM_DATABASE=Seanix Technology Inc -@@ -54222,13 +54222,13 @@ pci:v00005333d00008900* - ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] - - pci:v00005333d00008900sv00005333sd00008900* -- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX -+ ID_MODEL_FROM_DATABASE=86c755 [Trio 64V2/DX] (86C775 Trio64V2/DX) - - pci:v00005333d00008901* - ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] - - pci:v00005333d00008901sv00005333sd00008901* -- ID_MODEL_FROM_DATABASE=86C775 Trio64V2/DX, 86C785 Trio64V2/GX -+ ID_MODEL_FROM_DATABASE=86c775/86c785 [Trio 64V2/DX or /GX] (86C775 Trio64V2/DX, 86C785 Trio64V2/GX) - - pci:v00005333d00008902* - ID_MODEL_FROM_DATABASE=Plato/PX -@@ -54240,13 +54240,13 @@ pci:v00005333d00008904* - ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] - - pci:v00005333d00008904sv00001014sd000000DB* -- ID_MODEL_FROM_DATABASE=Integrated Trio3D -+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Integrated Trio3D) - - pci:v00005333d00008904sv00004843sd0000314A* -- ID_MODEL_FROM_DATABASE=Terminator 128/3D GLH -+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (Terminator 128/3D GLH) - - pci:v00005333d00008904sv00005333sd00008904* -- ID_MODEL_FROM_DATABASE=86C365 Trio3D AGP -+ ID_MODEL_FROM_DATABASE=86c365, 86c366 [Trio 3D] (86C365 Trio3D AGP) - - pci:v00005333d00008905* - ID_MODEL_FROM_DATABASE=Trio 64V+ family -@@ -54285,40 +54285,40 @@ pci:v00005333d00008A01* - ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] - - pci:v00005333d00008A01sv00000E11sd0000B032* -- ID_MODEL_FROM_DATABASE=ViRGE/GX -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/GX) - - pci:v00005333d00008A01sv000010B4sd00001617* -- ID_MODEL_FROM_DATABASE=Nitro 3D -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) - - pci:v00005333d00008A01sv000010B4sd00001717* -- ID_MODEL_FROM_DATABASE=Nitro 3D -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (Nitro 3D) - - pci:v00005333d00008A01sv00005333sd00008A01* -- ID_MODEL_FROM_DATABASE=ViRGE/DX -+ ID_MODEL_FROM_DATABASE=86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] (ViRGE/DX) - - pci:v00005333d00008A10* - ID_MODEL_FROM_DATABASE=ViRGE/GX2 - - pci:v00005333d00008A10sv00001092sd00008A10* -- ID_MODEL_FROM_DATABASE=Stealth 3D 4000 -+ ID_MODEL_FROM_DATABASE=ViRGE/GX2 (Stealth 3D 4000) - - pci:v00005333d00008A13* - ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] - - pci:v00005333d00008A13sv00005333sd00008A13* -- ID_MODEL_FROM_DATABASE=Trio3D/2X -+ ID_MODEL_FROM_DATABASE=86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] (Trio3D/2X) - - pci:v00005333d00008A20* - ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] - - pci:v00005333d00008A20sv00005333sd00008A20* -- ID_MODEL_FROM_DATABASE=86C391 Savage3D -+ ID_MODEL_FROM_DATABASE=86c794 [Savage 3D] (86C391 Savage3D) - - pci:v00005333d00008A21* - ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] - - pci:v00005333d00008A21sv00005333sd00008A21* -- ID_MODEL_FROM_DATABASE=86C390 Savage3D/MV -+ ID_MODEL_FROM_DATABASE=86c390 [Savage 3D/MV] (86C390 Savage3D/MV) - - pci:v00005333d00008A22* - ID_MODEL_FROM_DATABASE=Savage 4 -@@ -54330,85 +54330,85 @@ pci:v00005333d00008A22sv00001033sd00008069* - ID_MODEL_FROM_DATABASE=Savage 4 - - pci:v00005333d00008A22sv00001033sd00008110* -- ID_MODEL_FROM_DATABASE=Savage 4 LT -+ ID_MODEL_FROM_DATABASE=Savage 4 (LT) - - pci:v00005333d00008A22sv0000105Dsd00000018* -- ID_MODEL_FROM_DATABASE=SR9 8Mb SDRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 8Mb SDRAM) - - pci:v00005333d00008A22sv0000105Dsd0000002A* -- ID_MODEL_FROM_DATABASE=SR9 Pro 16Mb SDRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 16Mb SDRAM) - - pci:v00005333d00008A22sv0000105Dsd0000003A* -- ID_MODEL_FROM_DATABASE=SR9 Pro 32Mb SDRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro 32Mb SDRAM) - - pci:v00005333d00008A22sv0000105Dsd0000092F* -- ID_MODEL_FROM_DATABASE=SR9 Pro+ 16Mb SGRAM -+ ID_MODEL_FROM_DATABASE=Savage 4 (SR9 Pro+ 16Mb SGRAM) - - pci:v00005333d00008A22sv00001092sd00004207* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004800* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004807* -- ID_MODEL_FROM_DATABASE=SpeedStar A90 -+ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A90) - - pci:v00005333d00008A22sv00001092sd00004808* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004809* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd0000480E* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004904* -- ID_MODEL_FROM_DATABASE=Stealth III S520 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S520) - - pci:v00005333d00008A22sv00001092sd00004905* -- ID_MODEL_FROM_DATABASE=SpeedStar A200 -+ ID_MODEL_FROM_DATABASE=Savage 4 (SpeedStar A200) - - pci:v00005333d00008A22sv00001092sd00004A09* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004A0B* -- ID_MODEL_FROM_DATABASE=Stealth III S540 Xtreme -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540 Xtreme) - - pci:v00005333d00008A22sv00001092sd00004A0F* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001092sd00004E01* -- ID_MODEL_FROM_DATABASE=Stealth III S540 -+ ID_MODEL_FROM_DATABASE=Savage 4 (Stealth III S540) - - pci:v00005333d00008A22sv00001102sd0000101D* -- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 -+ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) - - pci:v00005333d00008A22sv00001102sd0000101E* -- ID_MODEL_FROM_DATABASE=3d Blaster Savage 4 -+ ID_MODEL_FROM_DATABASE=Savage 4 (3d Blaster Savage 4) - - pci:v00005333d00008A22sv00005333sd00008100* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 100 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 100) - - pci:v00005333d00008A22sv00005333sd00008110* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 110 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 110) - - pci:v00005333d00008A22sv00005333sd00008125* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 125 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 125) - - pci:v00005333d00008A22sv00005333sd00008143* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SDRAM 143 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SDRAM 143) - - pci:v00005333d00008A22sv00005333sd00008A22* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4) - - pci:v00005333d00008A22sv00005333sd00008A2E* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 32bit -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 32bit) - - pci:v00005333d00008A22sv00005333sd00009125* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 125 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 125) - - pci:v00005333d00008A22sv00005333sd00009143* -- ID_MODEL_FROM_DATABASE=86C394-397 Savage4 SGRAM 143 -+ ID_MODEL_FROM_DATABASE=Savage 4 (86C394-397 Savage4 SGRAM 143) - - pci:v00005333d00008A23* - ID_MODEL_FROM_DATABASE=Savage 4 -@@ -54417,7 +54417,7 @@ pci:v00005333d00008A25* - ID_MODEL_FROM_DATABASE=ProSavage PM133 - - pci:v00005333d00008A25sv00000303sd00000303* -- ID_MODEL_FROM_DATABASE=D9840-60001 [Brio BA410 Motherboard] -+ ID_MODEL_FROM_DATABASE=ProSavage PM133 (D9840-60001 [Brio BA410 Motherboard]) - - pci:v00005333d00008A26* - ID_MODEL_FROM_DATABASE=ProSavage KM133 -@@ -54447,16 +54447,16 @@ pci:v00005333d00008C12* - ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] - - pci:v00005333d00008C12sv00001014sd0000017F* -- ID_MODEL_FROM_DATABASE=ThinkPad T20/T22 -+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (ThinkPad T20/T22) - - pci:v00005333d00008C12sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=86C584 SuperSavage/IXC Toshiba -+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX-MV] (86C584 SuperSavage/IXC Toshiba) - - pci:v00005333d00008C13* - ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] - - pci:v00005333d00008C13sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=86C270-294 [SavageIX] (Magnia Z310) - - pci:v00005333d00008C22* - ID_MODEL_FROM_DATABASE=SuperSavage MX/128 -@@ -54483,7 +54483,7 @@ pci:v00005333d00008C2E* - ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR - - pci:v00005333d00008C2Esv00001014sd000001FC* -- ID_MODEL_FROM_DATABASE=ThinkPad T23 -+ ID_MODEL_FROM_DATABASE=SuperSavage IX/C SDR (ThinkPad T23) - - pci:v00005333d00008C2F* - ID_MODEL_FROM_DATABASE=SuperSavage IX/C DDR -@@ -54513,7 +54513,7 @@ pci:v00005333d00008E48* - ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] - - pci:v00005333d00008E48sv00005333sd00000130* -- ID_MODEL_FROM_DATABASE=Chrome S27 256M DDR2 -+ ID_MODEL_FROM_DATABASE=Matrix [Chrome S25 / S27] (Chrome S27 256M DDR2) - - pci:v00005333d00009043* - ID_MODEL_FROM_DATABASE=Chrome 430 GT -@@ -54528,28 +54528,28 @@ pci:v00005333d00009102* - ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] - - pci:v00005333d00009102sv00001092sd00005932* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005934* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005952* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005954* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A35* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A37* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A55* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d00009102sv00001092sd00005A57* -- ID_MODEL_FROM_DATABASE=Viper II Z200 -+ ID_MODEL_FROM_DATABASE=86C410 [Savage 2000] (Viper II Z200) - - pci:v00005333d0000CA00* - ID_MODEL_FROM_DATABASE=SonicVibes -@@ -54774,13 +54774,13 @@ pci:v00008086d00000044* - ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller - - pci:v00008086d00000044sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Aspire 7740G) - - pci:v00008086d00000044sv00001025sd00000487* -- ID_MODEL_FROM_DATABASE=TravelMate 5742 -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) - - pci:v00008086d00000044sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) - - pci:v00008086d00000045* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port -@@ -54789,7 +54789,7 @@ pci:v00008086d00000046* - ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller - - pci:v00008086d00000046sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) - - pci:v00008086d00000047* - ID_MODEL_FROM_DATABASE=Core Processor Secondary PCI Express Root Port -@@ -54816,202 +54816,202 @@ pci:v00008086d00000082* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] - - pci:v00008086d00000082sv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) - - pci:v00008086d00000082sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) - - pci:v00008086d00000082sv00008086sd00001307* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 BG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 BG) - - pci:v00008086d00000082sv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) - - pci:v00008086d00000082sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) - - pci:v00008086d00000083* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] - - pci:v00008086d00000083sv00008086sd00001205* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001206* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000083sv00008086sd00001225* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001226* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000083sv00008086sd00001305* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000083sv00008086sd00001325* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000083sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000084* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] - - pci:v00008086d00000084sv00008086sd00001215* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000084sv00008086sd00001216* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000084sv00008086sd00001315* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BGN) - - pci:v00008086d00000084sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1000 [Condor Peak] (Centrino Wireless-N 1000 BG) - - pci:v00008086d00000085* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] - - pci:v00008086d00000085sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 AGN) - - pci:v00008086d00000085sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6205 [Taylor Peak] (Centrino Advanced-N 6205 ABG) - - pci:v00008086d00000087* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] - - pci:v00008086d00000087sv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) - - pci:v00008086d00000087sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) - - pci:v00008086d00000087sv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) - - pci:v00008086d00000087sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) - - pci:v00008086d00000089* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] - - pci:v00008086d00000089sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 AGN) - - pci:v00008086d00000089sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] (Centrino Advanced-N + WiMAX 6250 2x2 ABG) - - pci:v00008086d0000008A* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] - - pci:v00008086d0000008Asv00008086sd00005305* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) - - pci:v00008086d0000008Asv00008086sd00005307* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) - - pci:v00008086d0000008Asv00008086sd00005325* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) - - pci:v00008086d0000008Asv00008086sd00005327* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) - - pci:v00008086d0000008B* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] - - pci:v00008086d0000008Bsv00008086sd00005315* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BGN) - - pci:v00008086d0000008Bsv00008086sd00005317* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 1030 [Rainbow Peak] (Centrino Wireless-N 1030 BG) - - pci:v00008086d00000090* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] - - pci:v00008086d00000090sv00008086sd00005211* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) - - pci:v00008086d00000090sv00008086sd00005215* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) - - pci:v00008086d00000090sv00008086sd00005216* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) - - pci:v00008086d00000091* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] - - pci:v00008086d00000091sv00008086sd00005201* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) - - pci:v00008086d00000091sv00008086sd00005205* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) - - pci:v00008086d00000091sv00008086sd00005206* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) - - pci:v00008086d00000091sv00008086sd00005207* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BG) - - pci:v00008086d00000091sv00008086sd00005221* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 AGN) - - pci:v00008086d00000091sv00008086sd00005225* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 BGN) - - pci:v00008086d00000091sv00008086sd00005226* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 [Rainbow Peak] (Centrino Advanced-N 6230 ABG) - - pci:v00008086d00000100* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller - - pci:v00008086d00000100sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (XPS 8300) - - pci:v00008086d00000100sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67/P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (P8P67/P8H67 Series Motherboard) - - pci:v00008086d00000101* - ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port - - pci:v00008086d00000101sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (Vostro 3350) - - pci:v00008086d00000101sv0000106Bsd000000DC* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00000102* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller - - pci:v00008086d00000102sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (XPS 8300) - - pci:v00008086d00000102sv00001043sd00000102* -- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (P8H67 Series Motherboard) - - pci:v00008086d00000104* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller - - pci:v00008086d00000104sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Precision M4600) - - pci:v00008086d00000104sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3350) - - pci:v00008086d00000104sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (Vostro 3750) - - pci:v00008086d00000104sv0000106Bsd000000DC* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family DRAM Controller (MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00000105* - ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port - - pci:v00008086d00000105sv0000106Bsd000000DC* -- ID_MODEL_FROM_DATABASE=MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00000106* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller -@@ -55044,7 +55044,7 @@ pci:v00008086d00000116* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller - - pci:v00008086d00000116sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3750) - - pci:v00008086d00000122* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller -@@ -55053,64 +55053,64 @@ pci:v00008086d00000126* - ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller - - pci:v00008086d00000126sv00001028sd000004CC* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=2nd Generation Core Processor Family Integrated Graphics Controller (Vostro 3350) - - pci:v00008086d00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller - - pci:v00008086d00000150sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) - - pci:v00008086d00000150sv00001849sd00000150* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) - - pci:v00008086d00000151* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - - pci:v00008086d00000151sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (N56VZ) - - pci:v00008086d00000151sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) - - pci:v00008086d00000151sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8H77-I Motherboard) - - pci:v00008086d00000151sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) - - pci:v00008086d00000152* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - - pci:v00008086d00000152sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8H77-I Motherboard) - - pci:v00008086d00000153* - ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem - - pci:v00008086d00000153sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=3rd Gen Core Processor Thermal Subsystem (Zenbook Prime UX31A) - - pci:v00008086d00000154* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller - - pci:v00008086d00000154sv00001025sd00000813* -- ID_MODEL_FROM_DATABASE=Aspire R7-571 -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Aspire R7-571) - - pci:v00008086d00000154sv0000103Csd000017F6* -- ID_MODEL_FROM_DATABASE=ProBook 4540s -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (ProBook 4540s) - - pci:v00008086d00000154sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (N56VZ) - - pci:v00008086d00000154sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor DRAM Controller (Zenbook Prime UX31A) - - pci:v00008086d00000155* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - - pci:v00008086d00000155sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (Server Board S1200BTS) - - pci:v00008086d00000156* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller -@@ -55119,10 +55119,10 @@ pci:v00008086d00000158* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller - - pci:v00008086d00000158sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (P8 series motherboard) - - pci:v00008086d00000158sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/Ivy Bridge DRAM Controller (Server Board S1200BTS) - - pci:v00008086d00000159* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port -@@ -55137,7 +55137,7 @@ pci:v00008086d0000015D* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port - - pci:v00008086d0000015Dsv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (P8 series motherboard) - - pci:v00008086d0000015E* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller -@@ -55146,22 +55146,22 @@ pci:v00008086d00000162* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - - pci:v00008086d00000162sv00001849sd00000162* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) - - pci:v00008086d00000166* - ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller - - pci:v00008086d00000166sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (Zenbook Prime UX31A) - - pci:v00008086d00000166sv00001043sd00002103* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=3rd Gen Core processor Graphics Controller (N56VZ) - - pci:v00008086d0000016A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - - pci:v00008086d0000016Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8B WS Motherboard) - - pci:v00008086d00000172* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller -@@ -55179,19 +55179,19 @@ pci:v00008086d00000326* - ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A - - pci:v00008086d00000326sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (ProLiant DL140 G2) - - pci:v00008086d00000326sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6700/6702PXH I/OxAPIC Interrupt Controller A (CR11/VR11 Single Board Computer) - - pci:v00008086d00000327* - ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B - - pci:v00008086d00000327sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (ProLiant DL140 G2) - - pci:v00008086d00000327sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6700PXH I/OxAPIC Interrupt Controller B (CR11/VR11 Single Board Computer) - - pci:v00008086d00000329* - ID_MODEL_FROM_DATABASE=6700PXH PCI Express-to-PCI Bridge A -@@ -55260,7 +55260,7 @@ pci:v00008086d00000416* - ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller - - pci:v00008086d00000416sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=4th Gen Core Processor Integrated Graphics Controller (ThinkPad T440p) - - pci:v00008086d0000041A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller -@@ -55365,16 +55365,16 @@ pci:v00008086d00000600* - ID_MODEL_FROM_DATABASE=RAID Controller - - pci:v00008086d00000600sv00008086sd00000136* -- ID_MODEL_FROM_DATABASE=SRCU31L -+ ID_MODEL_FROM_DATABASE=RAID Controller (SRCU31L) - - pci:v00008086d00000600sv00008086sd000001AF* -- ID_MODEL_FROM_DATABASE=SRCZCR -+ ID_MODEL_FROM_DATABASE=RAID Controller (SRCZCR) - - pci:v00008086d00000600sv00008086sd000001C1* -- ID_MODEL_FROM_DATABASE=ICP Vortex GDT8546RZ -+ ID_MODEL_FROM_DATABASE=RAID Controller (ICP Vortex GDT8546RZ) - - pci:v00008086d00000600sv00008086sd000001F7* -- ID_MODEL_FROM_DATABASE=SCRU32 -+ ID_MODEL_FROM_DATABASE=RAID Controller (SCRU32) - - pci:v00008086d0000061F* - ID_MODEL_FROM_DATABASE=80303 I/O Processor -@@ -55467,301 +55467,301 @@ pci:v00008086d00000885* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 - - pci:v00008086d00000885sv00008086sd00001305* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) - - pci:v00008086d00000885sv00008086sd00001307* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) - - pci:v00008086d00000885sv00008086sd00001325* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) - - pci:v00008086d00000885sv00008086sd00001327* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) - - pci:v00008086d00000886* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 - - pci:v00008086d00000886sv00008086sd00001315* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BGN) - - pci:v00008086d00000886sv00008086sd00001317* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150 (BG) - - pci:v00008086d00000887* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 - - pci:v00008086d00000887sv00008086sd00004062* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) - - pci:v00008086d00000887sv00008086sd00004462* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) - - pci:v00008086d00000888* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 - - pci:v00008086d00000888sv00008086sd00004262* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2230 (BGN) - - pci:v00008086d0000088E* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 - - pci:v00008086d0000088Esv00008086sd00004060* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) - - pci:v00008086d0000088Esv00008086sd00004460* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) - - pci:v00008086d0000088F* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 - - pci:v00008086d0000088Fsv00008086sd00004260* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6235 (AGN) - - pci:v00008086d00000890* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 - - pci:v00008086d00000890sv00008086sd00004022* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000890sv00008086sd00004422* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000890sv00008086sd00004822* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000891* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 - - pci:v00008086d00000891sv00008086sd00004222* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 2200 (BGN) - - pci:v00008086d00000892* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 - - pci:v00008086d00000892sv00008086sd00000062* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) - - pci:v00008086d00000892sv00008086sd00000462* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) - - pci:v00008086d00000893* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 - - pci:v00008086d00000893sv00008086sd00000262* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 135 (BGN) - - pci:v00008086d00000894* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 - - pci:v00008086d00000894sv00008086sd00000022* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000894sv00008086sd00000422* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000894sv00008086sd00000822* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000895* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 - - pci:v00008086d00000895sv00008086sd00000222* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 105 (BGN) - - pci:v00008086d00000896* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 - - pci:v00008086d00000896sv00008086sd00005005* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) - - pci:v00008086d00000896sv00008086sd00005007* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) - - pci:v00008086d00000896sv00008086sd00005025* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) - - pci:v00008086d00000896sv00008086sd00005027* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) - - pci:v00008086d00000897* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 - - pci:v00008086d00000897sv00008086sd00005015* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BGN) - - pci:v00008086d00000897sv00008086sd00005017* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 130 (BG) - - pci:v00008086d000008AE* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 - - pci:v00008086d000008AEsv00008086sd00001005* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) - - pci:v00008086d000008AEsv00008086sd00001007* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) - - pci:v00008086d000008AEsv00008086sd00001025* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) - - pci:v00008086d000008AEsv00008086sd00001027* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) - - pci:v00008086d000008AF* - ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 - - pci:v00008086d000008AFsv00008086sd00001015* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BGN -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BGN) - - pci:v00008086d000008AFsv00008086sd00001017* -- ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 BG -+ ID_MODEL_FROM_DATABASE=Centrino Wireless-N 100 (BG) - - pci:v00008086d000008B1* - ID_MODEL_FROM_DATABASE=Wireless 7260 - - pci:v00008086d000008B1sv00008086sd00004060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004062* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004160* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004162* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004460* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004462* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd00004470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000486E* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004870* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004A6C* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004A6E* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd00004A70* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000C020* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C062* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000C160* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C162* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B1sv00008086sd0000C420* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C460* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C462* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B1sv00008086sd0000C470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B2* - ID_MODEL_FROM_DATABASE=Wireless 7260 - - pci:v00008086d000008B2sv00008086sd00004220* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd00004260* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd00004262* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd00004270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B2sv00008086sd0000C220* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd0000C260* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd0000C262* -- ID_MODEL_FROM_DATABASE=Wireless-N 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Wireless-N 7260) - - pci:v00008086d000008B2sv00008086sd0000C270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7260 -+ ID_MODEL_FROM_DATABASE=Wireless 7260 (Dual Band Wireless-AC 7260) - - pci:v00008086d000008B3* - ID_MODEL_FROM_DATABASE=Wireless 3160 - - pci:v00008086d000008B3sv00008086sd00000060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-N 3160) - - pci:v00008086d000008B3sv00008086sd00000062* -- ID_MODEL_FROM_DATABASE=Wireless-N 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless-N 3160) - - pci:v00008086d000008B3sv00008086sd00000070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B3sv00008086sd00000170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B3sv00008086sd00000470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B3sv00008086sd00008060* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless N-3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless N-3160) - - pci:v00008086d000008B3sv00008086sd00008062* -- ID_MODEL_FROM_DATABASE=Wireless N-3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Wireless N-3160) - - pci:v00008086d000008B3sv00008086sd00008070* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008B3sv00008086sd00008170* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008B3sv00008086sd00008470* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008B4* - ID_MODEL_FROM_DATABASE=Wireless 3160 - - pci:v00008086d000008B4sv00008086sd00000270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless-AC 3160) - - pci:v00008086d000008B4sv00008086sd00008270* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless AC 3160 -+ ID_MODEL_FROM_DATABASE=Wireless 3160 (Dual Band Wireless AC 3160) - - pci:v00008086d000008CF* - ID_MODEL_FROM_DATABASE=Atom Processor Z2760 Integrated Graphics Controller -@@ -55770,106 +55770,106 @@ pci:v00008086d0000095A* - ID_MODEL_FROM_DATABASE=Wireless 7265 - - pci:v00008086d0000095Asv00008086sd00001010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005000* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005002* -- ID_MODEL_FROM_DATABASE=Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd0000500A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005012* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005020* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd0000502A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005090* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005100* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd0000510A* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005110* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005112* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005190* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005400* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005410* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005420* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Asv00008086sd00005490* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00005590* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009012* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009110* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009112* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009210* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009310* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009410* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Asv00008086sd00009510* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095B* - ID_MODEL_FROM_DATABASE=Wireless 7265 - - pci:v00008086d0000095Bsv00008086sd00005200* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-N 7265) - - pci:v00008086d0000095Bsv00008086sd00005202* -- ID_MODEL_FROM_DATABASE=Wireless-N 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Wireless-N 7265) - - pci:v00008086d0000095Bsv00008086sd00005210* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Bsv00008086sd00005290* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Bsv00008086sd00005302* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d0000095Bsv00008086sd00005310* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 7265 -+ ID_MODEL_FROM_DATABASE=Wireless 7265 (Dual Band Wireless-AC 7265) - - pci:v00008086d00000960* - ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor/Bridge -@@ -55884,7 +55884,7 @@ pci:v00008086d00000A04* - ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller - - pci:v00008086d00000A04sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Haswell-ULT DRAM Controller (ThinkPad X240) - - pci:v00008086d00000A06* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller -@@ -55893,13 +55893,13 @@ pci:v00008086d00000A0C* - ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller - - pci:v00008086d00000A0Csv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Haswell-ULT HD Audio Controller (ThinkPad X240) - - pci:v00008086d00000A16* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller - - pci:v00008086d00000A16sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller (ThinkPad X240) - - pci:v00008086d00000A22* - ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller -@@ -55917,7 +55917,7 @@ pci:v00008086d00000BE1* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller - - pci:v00008086d00000BE1sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller (D270S/D250S Motherboard) - - pci:v00008086d00000BE2* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller -@@ -55980,7 +55980,7 @@ pci:v00008086d00000BF5* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller - - pci:v00008086d00000BF5sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller (D270S/D250S Motherboard) - - pci:v00008086d00000BF6* - ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx DRAM Controller -@@ -55998,10 +55998,10 @@ pci:v00008086d00000C04* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller - - pci:v00008086d00000C04sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ZBook 15) - - pci:v00008086d00000C04sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (ThinkPad T440p) - - pci:v00008086d00000C05* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller -@@ -56016,7 +56016,7 @@ pci:v00008086d00000C0C* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller - - pci:v00008086d00000C0Csv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (ThinkPad T440p) - - pci:v00008086d00000C46* - ID_MODEL_FROM_DATABASE=Atom Processor S1200 PCI Express Root Port 1 -@@ -56787,34 +56787,34 @@ pci:v00008086d00001000* - ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001000sv00000E11sd0000B0DF* -- ID_MODEL_FROM_DATABASE=NC6132 Gigabit Ethernet Adapter (1000-SX) -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6132 Gigabit Ethernet Adapter (1000-SX)) - - pci:v00008086d00001000sv00000E11sd0000B0E0* -- ID_MODEL_FROM_DATABASE=NC6133 Gigabit Ethernet Adapter (1000-LX) -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6133 Gigabit Ethernet Adapter (1000-LX)) - - pci:v00008086d00001000sv00000E11sd0000B123* -- ID_MODEL_FROM_DATABASE=NC6134 Gigabit Ethernet Adapter (1000-LX) -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (NC6134 Gigabit Ethernet Adapter (1000-LX)) - - pci:v00008086d00001000sv00001014sd00000119* -- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) - - pci:v00008086d00001000sv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) (PRO/1000 Gigabit Server Adapter) - - pci:v00008086d00001001* - ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001001sv00000E11sd0000004A* -- ID_MODEL_FROM_DATABASE=NC6136 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (NC6136 Gigabit Server Adapter) - - pci:v00008086d00001001sv00001014sd000001EA* -- ID_MODEL_FROM_DATABASE=Netfinity Gigabit Ethernet SX Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (Netfinity Gigabit Ethernet SX Adapter) - - pci:v00008086d00001001sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) - - pci:v00008086d00001001sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 F Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Fiber) (PRO/1000 F Server Adapter) - - pci:v00008086d00001002* - ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II -@@ -56823,64 +56823,64 @@ pci:v00008086d00001002sv00008086sd0000200E* - ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II - - pci:v00008086d00001002sv00008086sd00002013* -- ID_MODEL_FROM_DATABASE=Pro 100 SR Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 SR Mobile Combo Adapter) - - pci:v00008086d00001002sv00008086sd00002017* -- ID_MODEL_FROM_DATABASE=Pro 100 S Combo Mobile Adapter -+ ID_MODEL_FROM_DATABASE=Pro 100 LAN+Modem 56 Cardbus II (Pro 100 S Combo Mobile Adapter) - - pci:v00008086d00001004* - ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001004sv00000E11sd00000049* -- ID_MODEL_FROM_DATABASE=NC7132 Gigabit Upgrade Module -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7132 Gigabit Upgrade Module) - - pci:v00008086d00001004sv00000E11sd0000B1A4* -- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (NC7131 Gigabit Server Adapter) - - pci:v00008086d00001004sv00001014sd000010F2* -- ID_MODEL_FROM_DATABASE=Gigabit Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (Gigabit Ethernet Server Adapter) - - pci:v00008086d00001004sv00008086sd00001004* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) - - pci:v00008086d00001004sv00008086sd00002004* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Server Adapter -+ ID_MODEL_FROM_DATABASE=82543GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Server Adapter) - - pci:v00008086d00001008* - ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001008sv00001014sd00000269* -- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) - - pci:v00008086d00001008sv00001028sd0000011B* -- ID_MODEL_FROM_DATABASE=PowerEdge 1650/2550 -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PowerEdge 1650/2550) - - pci:v00008086d00001008sv00001028sd0000011C* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) - - pci:v00008086d00001008sv00008086sd00001107* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) - - pci:v00008086d00001008sv00008086sd00002107* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Server Adapter) - - pci:v00008086d00001008sv00008086sd00002110* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Desktop Adapter) - - pci:v00008086d00001008sv00008086sd00003108* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Copper) (PRO/1000 XT Network Connection) - - pci:v00008086d00001009* - ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001009sv00001014sd00000268* -- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) - - pci:v00008086d00001009sv00008086sd00001109* -- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) - - pci:v00008086d00001009sv00008086sd00002109* -- ID_MODEL_FROM_DATABASE=PRO/1000 XF Server Adapter -+ ID_MODEL_FROM_DATABASE=82544EI Gigabit Ethernet Controller (Fiber) (PRO/1000 XF Server Adapter) - - pci:v00008086d0000100A* - ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller -@@ -56889,286 +56889,286 @@ pci:v00008086d0000100C* - ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000100Csv00008086sd00001112* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) - - pci:v00008086d0000100Csv00008086sd00002112* -- ID_MODEL_FROM_DATABASE=PRO/1000 T Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (Copper) (PRO/1000 T Desktop Adapter) - - pci:v00008086d0000100D* - ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) - - pci:v00008086d0000100Dsv00001028sd00000123* -- ID_MODEL_FROM_DATABASE=PRO/1000 XT Network Connection -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (PRO/1000 XT Network Connection) - - pci:v00008086d0000100Dsv00001079sd0000891F* -- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) - - pci:v00008086d0000100Dsv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (CT8 mainboard) - - pci:v00008086d0000100Dsv00008086sd0000110D* -- ID_MODEL_FROM_DATABASE=82544GC Based Network Connection -+ ID_MODEL_FROM_DATABASE=82544GC Gigabit Ethernet Controller (LOM) (82544GC Based Network Connection) - - pci:v00008086d0000100E* - ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller - - pci:v00008086d0000100Esv00001014sd00000265* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Esv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Esv00001014sd0000026A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Esv00001028sd0000002E* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX260) - - pci:v00008086d0000100Esv00001028sd00000134* -- ID_MODEL_FROM_DATABASE=PowerEdge 600SC -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PowerEdge 600SC) - - pci:v00008086d0000100Esv00001028sd00000151* -- ID_MODEL_FROM_DATABASE=Optiplex GX270 -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (Optiplex GX270) - - pci:v00008086d0000100Esv0000107Bsd00008920* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d0000100Esv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (QEMU Virtual Machine) - - pci:v00008086d0000100Esv00008086sd0000001E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d0000100Esv00008086sd0000002E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d0000100Esv00008086sd00001376* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000100Esv00008086sd00001476* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000100F* - ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000100Fsv00001014sd00000269* -- ID_MODEL_FROM_DATABASE=iSeries 1000/100/10 Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (iSeries 1000/100/10 Ethernet Adapter) - - pci:v00008086d0000100Fsv00001014sd0000028E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Fsv000015ADsd00000750* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Single Port Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Single Port Adapter) - - pci:v00008086d0000100Fsv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Network Connection) - - pci:v00008086d0000100Fsv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Copper) (PRO/1000 MT Server Adapter) - - pci:v00008086d00001010* - ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001010sv00000E11sd000000DB* -- ID_MODEL_FROM_DATABASE=NC7170 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (NC7170 Gigabit Server Adapter) - - pci:v00008086d00001010sv00001014sd0000027C* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Adapter) - - pci:v00008086d00001010sv000015ADsd00000760* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Adapter) - - pci:v00008086d00001010sv000018FBsd00007872* -- ID_MODEL_FROM_DATABASE=RESlink-X -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (RESlink-X) - - pci:v00008086d00001010sv00001FC1sd00000026* -- ID_MODEL_FROM_DATABASE=Niagara 2260 Bypass Card -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (Niagara 2260 Bypass Card) - - pci:v00008086d00001010sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CT8 mainboard) - - pci:v00008086d00001010sv00004C53sd000010A0* -- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (CA3/CR3 mainboard) - - pci:v00008086d00001010sv00008086sd00001011* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d00001010sv00008086sd00001012* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d00001010sv00008086sd0000101A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (PRO/1000 MT Dual Port Network Connection) - - pci:v00008086d00001010sv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Copper) (SE7501HG2 Mainboard) - - pci:v00008086d00001011* - ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001011sv00001014sd00000268* -- ID_MODEL_FROM_DATABASE=iSeries Gigabit Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (iSeries Gigabit Ethernet Adapter) - - pci:v00008086d00001011sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter) - - pci:v00008086d00001011sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter (LX) -+ ID_MODEL_FROM_DATABASE=82545EM Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Server Adapter (LX)) - - pci:v00008086d00001012* - ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) - - pci:v00008086d00001012sv00000E11sd000000DC* -- ID_MODEL_FROM_DATABASE=NC6170 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (NC6170 Gigabit Server Adapter) - - pci:v00008086d00001012sv00008086sd00001012* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (Fiber) (PRO/1000 MF Dual Port Server Adapter) - - pci:v00008086d00001013* - ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller - - pci:v00008086d00001013sv00008086sd00000013* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001013sv00008086sd00001013* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001013sv00008086sd00001113* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d00001014* - ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller - - pci:v00008086d00001014sv00008086sd00000014* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Connection -+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Desktop Connection) - - pci:v00008086d00001014sv00008086sd00001014* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001015* - ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) - - pci:v00008086d00001015sv00008086sd00001015* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EM Gigabit Ethernet Controller (LOM) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001016* - ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) - - pci:v00008086d00001016sv00001014sd0000052C* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001016sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001016sv00008086sd00001016* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001017* - ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller - - pci:v00008086d00001017sv00008086sd00001017* -- ID_MODEL_FROM_DATABASE=PR0/1000 MT Desktop Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (PR0/1000 MT Desktop Connection) - - pci:v00008086d00001018* - ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller - - pci:v00008086d00001018sv00008086sd00001018* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541EI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001019* - ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller - - pci:v00008086d00001019sv00001458sd00001019* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d00001019sv00001458sd0000E000* -- ID_MODEL_FROM_DATABASE=Intel Gigabit Ethernet (Kenai II) -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel Gigabit Ethernet (Kenai II)) - - pci:v00008086d00001019sv00008086sd00001019* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Desktop Connection -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (PRO/1000 CT Desktop Connection) - - pci:v00008086d00001019sv00008086sd0000301F* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D865PERL mainboard) - - pci:v00008086d00001019sv00008086sd00003025* -- ID_MODEL_FROM_DATABASE=D875PBZ motherboard -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D875PBZ motherboard) - - pci:v00008086d00001019sv00008086sd0000302C* -- ID_MODEL_FROM_DATABASE=Intel 82865G Mainboard (D865GBF) -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel 82865G Mainboard (D865GBF)) - - pci:v00008086d00001019sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (S875WP1-E mainboard) - - pci:v00008086d0000101A* - ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) - - pci:v00008086d0000101Asv00008086sd0000101A* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Mobile) (PRO/1000 CT Mobile Connection) - - pci:v00008086d0000101D* - ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller - - pci:v00008086d0000101Dsv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546EB Gigabit Ethernet Controller (PRO/1000 MT Quad Port Server Adapter) - - pci:v00008086d0000101E* - ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) - - pci:v00008086d0000101Esv00001014sd00000549* -- ID_MODEL_FROM_DATABASE=Thinkpad -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (Thinkpad) - - pci:v00008086d0000101Esv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d0000101Esv00008086sd0000101E* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82540EP Gigabit Ethernet Controller (Mobile) (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001026* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - - pci:v00008086d00001026sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d00001026sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (Precision 470) - - pci:v00008086d00001026sv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) - - pci:v00008086d00001026sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) - - pci:v00008086d00001026sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Adapter) - - pci:v00008086d00001026sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 GT Server Adapter) - - pci:v00008086d00001026sv00008086sd00001026* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Server Connection -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MT Server Connection) - - pci:v00008086d00001027* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - - pci:v00008086d00001027sv0000103Csd00003103* -- ID_MODEL_FROM_DATABASE=NC310F PCI-X Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (NC310F PCI-X Gigabit Server Adapter) - - pci:v00008086d00001027sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) - - pci:v00008086d00001027sv00008086sd00001002* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) - - pci:v00008086d00001027sv00008086sd00001003* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter(LX) -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter(LX)) - - pci:v00008086d00001027sv00008086sd00001027* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Server Adapter -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MF Server Adapter) - - pci:v00008086d00001028* - ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller - - pci:v00008086d00001028sv00008086sd00001028* -- ID_MODEL_FROM_DATABASE=PRO/1000 MB Server Connection -+ ID_MODEL_FROM_DATABASE=82545GM Gigabit Ethernet Controller (PRO/1000 MB Server Connection) - - pci:v00008086d00001029* - ID_MODEL_FROM_DATABASE=82559 Ethernet Controller -@@ -57180,31 +57180,31 @@ pci:v00008086d00001031* - ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller - - pci:v00008086d00001031sv00001014sd00000209* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (ThinkPad A/T/X Series) - - pci:v00008086d00001031sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00001031sv0000104Dsd0000813C* -- ID_MODEL_FROM_DATABASE=Vaio PCG-GRV616G -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (Vaio PCG-GRV616G) - - pci:v00008086d00001031sv0000107Bsd00005350* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C000* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C003* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00001031sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (vpr Matrix 170B4) - - pci:v00008086d00001032* - ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VE Ethernet Controller -@@ -57228,16 +57228,16 @@ pci:v00008086d00001038* - ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller - - pci:v00008086d00001038sv00000E11sd00000098* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller (Evo N600c) - - pci:v00008086d00001039* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller - - pci:v00008086d00001039sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (NetVista A30p) - - pci:v00008086d00001039sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH1 -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (LOM) Ethernet Controller (PC8 onboard ethernet ETH1) - - pci:v00008086d0000103A* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (CNR) Ethernet Controller -@@ -57252,13 +57252,13 @@ pci:v00008086d0000103D* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller - - pci:v00008086d0000103Dsv00001014sd00000522* -- ID_MODEL_FROM_DATABASE=ThinkPad R40 -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (ThinkPad R40) - - pci:v00008086d0000103Dsv00001028sd00002002* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (Latitude D500) - - pci:v00008086d0000103Dsv00008086sd0000103D* -- ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller -+ ID_MODEL_FROM_DATABASE=82801DB PRO/100 VE (MOB) Ethernet Controller (82562EZ 10/100 Ethernet Controller) - - pci:v00008086d0000103E* - ID_MODEL_FROM_DATABASE=82801DB PRO/100 VM (MOB) Ethernet Controller -@@ -57267,43 +57267,43 @@ pci:v00008086d00001040* - ID_MODEL_FROM_DATABASE=536EP Data Fax Modem - - pci:v00008086d00001040sv000016BEsd00001040* -- ID_MODEL_FROM_DATABASE=V.9X DSP Data Fax Modem -+ ID_MODEL_FROM_DATABASE=536EP Data Fax Modem (V.9X DSP Data Fax Modem) - - pci:v00008086d00001043* - ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter - - pci:v00008086d00001043sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (tc1100 tablet) - - pci:v00008086d00001043sv00008086sd00002522* -- ID_MODEL_FROM_DATABASE=Samsung X10/P30 integrated WLAN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Samsung X10/P30 integrated WLAN) - - pci:v00008086d00001043sv00008086sd00002527* -- ID_MODEL_FROM_DATABASE=MIM2000/Centrino -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (MIM2000/Centrino) - - pci:v00008086d00001043sv00008086sd00002561* -- ID_MODEL_FROM_DATABASE=Dell Latitude D800 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Dell Latitude D800) - - pci:v00008086d00001043sv00008086sd00002581* -- ID_MODEL_FROM_DATABASE=Toshiba Satellite M10 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless LAN 2100 3B Mini PCI Adapter (Toshiba Satellite M10) - - pci:v00008086d00001048* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d00001048sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001048sv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001049* - ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection - - pci:v00008086d00001049sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (Compaq 6910p) - - pci:v00008086d00001049sv000017AAsd000020B9* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82566MM Gigabit Network Connection (ThinkPad T61/R61) - - pci:v00008086d0000104A* - ID_MODEL_FROM_DATABASE=82566DM Gigabit Network Connection -@@ -57321,22 +57321,22 @@ pci:v00008086d00001050* - ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller - - pci:v00008086d00001050sv00001028sd0000019D* -- ID_MODEL_FROM_DATABASE=Dimension 3000 -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Dimension 3000) - - pci:v00008086d00001050sv00001462sd0000728C* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d00001050sv00001462sd0000758C* -- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (MS-6758 (875P Neo)) - - pci:v00008086d00001050sv00008086sd00003020* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (D865PERL mainboard) - - pci:v00008086d00001050sv00008086sd0000302F* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (Desktop Board D865GBF) - - pci:v00008086d00001050sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82562EZ 10/100 Ethernet Controller (S875WP1-E mainboard) - - pci:v00008086d00001051* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) integrated LAN Controller -@@ -57369,70 +57369,70 @@ pci:v00008086d0000105E* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d0000105Esv0000103Csd00007044* -- ID_MODEL_FROM_DATABASE=NC360T PCI Express Dual Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (NC360T PCI Express Dual Port Gigabit Server Adapter) - - pci:v00008086d0000105Esv0000103Csd0000704E* -- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T (PCIe) [AD337A] -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-T (PCIe) [AD337A]) - - pci:v00008086d0000105Esv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d0000105Esv00001775sd00006003* -- ID_MODEL_FROM_DATABASE=Telum GE-QT -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Telum GE-QT) - - pci:v00008086d0000105Esv000018DFsd00001214* -- ID_MODEL_FROM_DATABASE=2x 1GbE, PCIe x1, dual Intel 82571EB chips -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (2x 1GbE, PCIe x1, dual Intel 82571EB chips) - - pci:v00008086d0000105Esv00008086sd0000005E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Connection) - - pci:v00008086d0000105Esv00008086sd0000105E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Network Connection) - - pci:v00008086d0000105Esv00008086sd000010D5* -- ID_MODEL_FROM_DATABASE=82571PT Gigabit PT Quad Port Server ExpressModule -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (82571PT Gigabit PT Quad Port Server ExpressModule) - - pci:v00008086d0000105Esv00008086sd0000115E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) - - pci:v00008086d0000105Esv00008086sd0000125E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) - - pci:v00008086d0000105Esv00008086sd0000135E* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Dual Port Server Adapter) - - pci:v00008086d0000105F* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d0000105Fsv0000103Csd0000704F* -- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-SX (PCIe) [AD338A] -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Dual Port 1000Base-SX (PCIe) [AD338A]) - - pci:v00008086d0000105Fsv00008086sd0000005A* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d0000105Fsv00008086sd0000115F* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d0000105Fsv00008086sd0000125F* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d0000105Fsv00008086sd0000135F* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PF Dual Port Server Adapter) - - pci:v00008086d00001060* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d00001060sv00008086sd00000060* -- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) - - pci:v00008086d00001060sv00008086sd00001060* -- ID_MODEL_FROM_DATABASE=PRO/1000 PB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PB Dual Port Server Connection) - - pci:v00008086d00001064* - ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller - - pci:v00008086d00001064sv00001043sd000080F8* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller (P5GD1-VW Mainboard) - - pci:v00008086d00001065* - ID_MODEL_FROM_DATABASE=82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller -@@ -57459,148 +57459,148 @@ pci:v00008086d00001075* - ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller - - pci:v00008086d00001075sv00001028sd00000165* -- ID_MODEL_FROM_DATABASE=PowerEdge 750 -+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PowerEdge 750) - - pci:v00008086d00001075sv00008086sd00000075* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection -+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) - - pci:v00008086d00001075sv00008086sd00001075* -- ID_MODEL_FROM_DATABASE=PRO/1000 CT Network Connection -+ ID_MODEL_FROM_DATABASE=82547GI Gigabit Ethernet Controller (PRO/1000 CT Network Connection) - - pci:v00008086d00001076* - ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller - - pci:v00008086d00001076sv00001028sd00000165* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00001028sd0000106D* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00008086sd00000076* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00008086sd00001076* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Connection) - - pci:v00008086d00001076sv00008086sd00001176* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Desktop Adapter) - - pci:v00008086d00001076sv00008086sd00001276* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Network Adapter -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Network Adapter) - - pci:v00008086d00001077* - ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller - - pci:v00008086d00001077sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001077sv00008086sd00000077* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001077sv00008086sd00001077* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Mobile Connection -+ ID_MODEL_FROM_DATABASE=82541GI Gigabit Ethernet Controller (PRO/1000 MT Mobile Connection) - - pci:v00008086d00001078* - ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller - - pci:v00008086d00001078sv00008086sd00001078* -- ID_MODEL_FROM_DATABASE=82541ER-based Network Connection -+ ID_MODEL_FROM_DATABASE=82541ER Gigabit Ethernet Controller (82541ER-based Network Connection) - - pci:v00008086d00001079* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d00001079sv0000103Csd000012A6* -- ID_MODEL_FROM_DATABASE=Dual Port 1000Base-T [A9900A] -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000Base-T [A9900A]) - - pci:v00008086d00001079sv0000103Csd000012CF* -- ID_MODEL_FROM_DATABASE=Core Dual Port 1000Base-T [AB352A] -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Core Dual Port 1000Base-T [AB352A]) - - pci:v00008086d00001079sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (V5D Single Board Computer Gigabit Ethernet) - - pci:v00008086d00001079sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CE9) - - pci:v00008086d00001079sv00001FC1sd00000027* -- ID_MODEL_FROM_DATABASE=Niagara 2261 Failover NIC -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Niagara 2261 Failover NIC) - - pci:v00008086d00001079sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d00001079sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (CL9 mainboard) - - pci:v00008086d00001079sv00008086sd00000079* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) - - pci:v00008086d00001079sv00008086sd00001079* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Network Connection) - - pci:v00008086d00001079sv00008086sd00001179* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d00001079sv00008086sd0000117A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MT Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MT Dual Port Server Adapter) - - pci:v00008086d0000107A* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d0000107Asv0000103Csd000012A8* -- ID_MODEL_FROM_DATABASE=Dual Port 1000base-SX [A9899A] -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Dual Port 1000base-SX [A9899A]) - - pci:v00008086d0000107Asv00008086sd0000107A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) - - pci:v00008086d0000107Asv00008086sd0000127A* -- ID_MODEL_FROM_DATABASE=PRO/1000 MF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MF Dual Port Server Adapter) - - pci:v00008086d0000107B* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d0000107Bsv00008086sd0000007B* -- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) - - pci:v00008086d0000107Bsv00008086sd0000107B* -- ID_MODEL_FROM_DATABASE=PRO/1000 MB Dual Port Server Connection -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 MB Dual Port Server Connection) - - pci:v00008086d0000107C* - ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller - - pci:v00008086d0000107Csv00008086sd00001376* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000107Csv00008086sd00001476* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82541PI Gigabit Ethernet Controller (PRO/1000 GT Desktop Adapter) - - pci:v00008086d0000107D* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000107Dsv00008086sd00001082* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) - - pci:v00008086d0000107Dsv00008086sd00001084* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) - - pci:v00008086d0000107Dsv00008086sd00001092* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Server Adapter) - - pci:v00008086d0000107E* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) - - pci:v00008086d0000107Esv00008086sd00001084* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) - - pci:v00008086d0000107Esv00008086sd00001085* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) - - pci:v00008086d0000107Esv00008086sd00001094* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Server Adapter) - - pci:v00008086d0000107F* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller -@@ -57636,16 +57636,16 @@ pci:v00008086d0000108A* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller - - pci:v00008086d0000108Asv00008086sd0000108A* -- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) - - pci:v00008086d0000108Asv00008086sd0000118A* -- ID_MODEL_FROM_DATABASE=PRO/1000 P Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (PRO/1000 P Dual Port Server Adapter) - - pci:v00008086d0000108B* - ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) - - pci:v00008086d0000108Bsv00001462sd0000176C* -- ID_MODEL_FROM_DATABASE=on board on MSI 945P - NEO (MS-7176) -+ ID_MODEL_FROM_DATABASE=82573V Gigabit Ethernet Controller (Copper) (on board on MSI 945P - NEO (MS-7176)) - - pci:v00008086d0000108C* - ID_MODEL_FROM_DATABASE=82573E Gigabit Ethernet Controller (Copper) -@@ -57675,13 +57675,13 @@ pci:v00008086d00001096* - ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001096sv000015D9sd00001096* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Motherboard) - - pci:v00008086d00001096sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (X7DVL-E-O motherboard) - - pci:v00008086d00001096sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Intel S5000PSLSATA Server Board) - - pci:v00008086d00001097* - ID_MODEL_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber) -@@ -57693,28 +57693,28 @@ pci:v00008086d00001099* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) - - pci:v00008086d00001099sv00008086sd00001099* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) - - pci:v00008086d0000109A* - ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller - - pci:v00008086d0000109Asv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=PRO/1000 PL -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL) - - pci:v00008086d0000109Asv000017AAsd00002001* -- ID_MODEL_FROM_DATABASE=ThinkPad T60 -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad T60) - - pci:v00008086d0000109Asv000017AAsd0000207E* -- ID_MODEL_FROM_DATABASE=ThinkPad X60/X60s -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (ThinkPad X60/X60s) - - pci:v00008086d0000109Asv00008086sd0000109A* -- ID_MODEL_FROM_DATABASE=PRO/1000 PL Network Connection -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (PRO/1000 PL Network Connection) - - pci:v00008086d0000109Asv00008086sd0000309C* -- ID_MODEL_FROM_DATABASE=Desktop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D945GTP) - - pci:v00008086d0000109Asv00008086sd000030A5* -- ID_MODEL_FROM_DATABASE=Desktop Board D975XBX -+ ID_MODEL_FROM_DATABASE=82573L Gigabit Ethernet Controller (Desktop Board D975XBX) - - pci:v00008086d0000109B* - ID_MODEL_FROM_DATABASE=82546GB PRO/1000 GF Quad Port Server Adapter -@@ -57723,10 +57723,10 @@ pci:v00008086d0000109E* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d0000109Esv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) - - pci:v00008086d0000109Esv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE CX4 Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE CX4 Server Adapter) - - pci:v00008086d000010A0* - ID_MODEL_FROM_DATABASE=82571EB PRO/1000 AT Quad Port Bypass Adapter -@@ -57738,19 +57738,19 @@ pci:v00008086d000010A4* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller - - pci:v00008086d000010A4sv00008086sd000010A4* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) - - pci:v00008086d000010A4sv00008086sd000011A4* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (PRO/1000 PT Quad Port Server Adapter) - - pci:v00008086d000010A5* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) - - pci:v00008086d000010A5sv00008086sd000010A5* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) - - pci:v00008086d000010A5sv00008086sd000010A6* -- ID_MODEL_FROM_DATABASE=PRO/1000 PF Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Fiber) (PRO/1000 PF Quad Port Server Adapter) - - pci:v00008086d000010A6* - ID_MODEL_FROM_DATABASE=82599EB 10-Gigabit Dummy Function -@@ -57759,7 +57759,7 @@ pci:v00008086d000010A7* - ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection - - pci:v00008086d000010A7sv00008086sd000010A8* -- ID_MODEL_FROM_DATABASE=82575EB Gigabit Riser Card -+ ID_MODEL_FROM_DATABASE=82575EB Gigabit Network Connection (82575EB Gigabit Riser Card) - - pci:v00008086d000010A9* - ID_MODEL_FROM_DATABASE=82575EB Gigabit Backplane Connection -@@ -57780,13 +57780,13 @@ pci:v00008086d000010B5* - ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) - - pci:v00008086d000010B5sv0000103Csd00003109* -- ID_MODEL_FROM_DATABASE=NC340T PCI-X Quad-port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (NC340T PCI-X Quad-port Gigabit Server Adapter) - - pci:v00008086d000010B5sv00008086sd00001099* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) - - pci:v00008086d000010B5sv00008086sd00001199* -- ID_MODEL_FROM_DATABASE=PRO/1000 GT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82546GB Gigabit Ethernet Controller (Copper) (PRO/1000 GT Quad Port Server Adapter) - - pci:v00008086d000010B6* - ID_MODEL_FROM_DATABASE=82598 10GbE PCI-Express Ethernet Controller -@@ -57795,13 +57795,13 @@ pci:v00008086d000010B9* - ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) - - pci:v00008086d000010B9sv0000103Csd0000704A* -- ID_MODEL_FROM_DATABASE=HP 110T PCIe Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (HP 110T PCIe Gigabit Server Adapter) - - pci:v00008086d000010B9sv00008086sd00001083* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) - - pci:v00008086d000010B9sv00008086sd00001093* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82572EI Gigabit Ethernet Controller (Copper) (PRO/1000 PT Desktop Adapter) - - pci:v00008086d000010BA* - ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) -@@ -57813,22 +57813,22 @@ pci:v00008086d000010BC* - ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) - - pci:v00008086d000010BCsv0000103Csd0000704B* -- ID_MODEL_FROM_DATABASE=NC364T PCI Express Quad Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (NC364T PCI Express Quad Port Gigabit Server Adapter) - - pci:v00008086d000010BCsv0000108Esd000011BC* -- ID_MODEL_FROM_DATABASE=x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (x4 PCI-Express Quad Gigabit Ethernet UTP Low Profile Adapter) - - pci:v00008086d000010BCsv00008086sd000010BC* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) - - pci:v00008086d000010BCsv00008086sd000011BC* -- ID_MODEL_FROM_DATABASE=PRO/1000 PT Quad Port LP Server Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Gigabit Ethernet Controller (Copper) (PRO/1000 PT Quad Port LP Server Adapter) - - pci:v00008086d000010BD* - ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection - - pci:v00008086d000010BDsv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection (OptiPlex 755) - - pci:v00008086d000010BF* - ID_MODEL_FROM_DATABASE=82567LF Gigabit Network Connection -@@ -57837,7 +57837,7 @@ pci:v00008086d000010C0* - ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection - - pci:v00008086d000010C0sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82562V-2 10/100 Network Connection (Inspiron 530) - - pci:v00008086d000010C2* - ID_MODEL_FROM_DATABASE=82562G-2 10/100 Network Connection -@@ -57855,67 +57855,67 @@ pci:v00008086d000010C6* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection - - pci:v00008086d000010C6sv00008086sd0000A05F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) - - pci:v00008086d000010C6sv00008086sd0000A15F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit XF SR Dual Port Server Adapter) - - pci:v00008086d000010C7* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection - - pci:v00008086d000010C7sv00001014sd0000037F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C7sv00001014sd00000380* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) - - pci:v00008086d000010C7sv00008086sd0000A05F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C7sv00008086sd0000A15F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C7sv00008086sd0000A16F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF SR Server Adapter) - - pci:v00008086d000010C8* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection - - pci:v00008086d000010C8sv00008086sd0000A10C* -- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) - - pci:v00008086d000010C8sv00008086sd0000A11C* -- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) - - pci:v00008086d000010C8sv00008086sd0000A12C* -- ID_MODEL_FROM_DATABASE=10-Gigabit AT Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT Network Connection (10-Gigabit AT Server Adapter) - - pci:v00008086d000010C9* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010C9sv0000103Csd000031EF* -- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) - - pci:v00008086d000010C9sv0000103Csd0000323F* -- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual port Gigabit Server Adapter) - - pci:v00008086d000010C9sv000010A9sd00008028* -- ID_MODEL_FROM_DATABASE=UV-BaseIO dual-port GbE -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (UV-BaseIO dual-port GbE) - - pci:v00008086d000010C9sv000013A3sd00000037* -- ID_MODEL_FROM_DATABASE=DS4100 Secure Multi-Gigabit Server Adapter with Compression -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (DS4100 Secure Multi-Gigabit Server Adapter with Compression) - - pci:v00008086d000010C9sv000015D9sd0000A811* -- ID_MODEL_FROM_DATABASE=H8DGU -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (H8DGU) - - pci:v00008086d000010C9sv00008086sd0000A01C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) - - pci:v00008086d000010C9sv00008086sd0000A03C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) - - pci:v00008086d000010C9sv00008086sd0000A04C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Dual Port Server Adapter) - - pci:v00008086d000010CA* - ID_MODEL_FROM_DATABASE=82576 Virtual Function -@@ -57936,34 +57936,34 @@ pci:v00008086d000010D3* - ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection - - pci:v00008086d000010D3sv0000103Csd00003250* -- ID_MODEL_FROM_DATABASE=NC112T PCI Express single Port Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112T PCI Express single Port Gigabit Server Adapter) - - pci:v00008086d000010D3sv00001043sd00008369* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) - - pci:v00008086d000010D3sv000010A9sd00008029* -- ID_MODEL_FROM_DATABASE=Prism XL Single Port Gigabit Ethernet -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) - - pci:v00008086d000010D3sv000015D9sd0000060A* -- ID_MODEL_FROM_DATABASE=X7SPA-H/X7SPA-HF Motherboard -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (X7SPA-H/X7SPA-HF Motherboard) - - pci:v00008086d000010D3sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (C7SIM-Q Motherboard) - - pci:v00008086d000010D3sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Gigabit CT2 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT2 Desktop Adapter) - - pci:v00008086d000010D3sv00008086sd0000357A* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Server Board S1200BTS) - - pci:v00008086d000010D3sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=Gigabit CT Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Gigabit CT Desktop Adapter) - - pci:v00008086d000010D3sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC1-GROOVE) - - pci:v00008086d000010D3sv0000E4BFsd000050C2* -- ID_MODEL_FROM_DATABASE=PC2-LIMBO -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PC2-LIMBO) - - pci:v00008086d000010D4* - ID_MODEL_FROM_DATABASE=Matrox Concord GE (customized Intel 82574) -@@ -57975,13 +57975,13 @@ pci:v00008086d000010D6* - ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection - - pci:v00008086d000010D6sv00008086sd000010D6* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010D6sv00008086sd0000145A* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010D6sv00008086sd0000147A* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010D8* - ID_MODEL_FROM_DATABASE=82599EB 10 Gigabit Unprogrammed -@@ -57990,13 +57990,13 @@ pci:v00008086d000010D9* - ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter - - pci:v00008086d000010D9sv0000103Csd00001716* -- ID_MODEL_FROM_DATABASE=NC360m Dual Port 1GbE BL-c Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Dual Port Gigabit Mezzanine Adapter (NC360m Dual Port 1GbE BL-c Adapter) - - pci:v00008086d000010DA* - ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter - - pci:v00008086d000010DAsv0000103Csd00001717* -- ID_MODEL_FROM_DATABASE=NC364m Quad Port 1GbE BL-c Adapter -+ ID_MODEL_FROM_DATABASE=82571EB Quad Port Gigabit Mezzanine Adapter (NC364m Quad Port 1GbE BL-c Adapter) - - pci:v00008086d000010DB* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit Dual Port Network Connection -@@ -58014,13 +58014,13 @@ pci:v00008086d000010E1* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection - - pci:v00008086d000010E1sv00008086sd0000A15F* -- ID_MODEL_FROM_DATABASE=10-Gigabit SR Dual Port Express Module -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit SR Dual Port Express Module) - - pci:v00008086d000010E2* - ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection - - pci:v00008086d000010E2sv00008086sd000010E2* -- ID_MODEL_FROM_DATABASE=Gigabit VT Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82575GB Gigabit Network Connection (Gigabit VT Quad Port Server Adapter) - - pci:v00008086d000010E5* - ID_MODEL_FROM_DATABASE=82567LM-4 Gigabit Network Connection -@@ -58029,37 +58029,37 @@ pci:v00008086d000010E6* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010E6sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) - - pci:v00008086d000010E6sv00008086sd0000A02F* -- ID_MODEL_FROM_DATABASE=Gigabit EF Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit EF Dual Port Server Adapter) - - pci:v00008086d000010E7* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010E7sv0000103Csd000031FF* -- ID_MODEL_FROM_DATABASE=NC362i Integrated Dual Port BL-c Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (NC362i Integrated Dual Port BL-c Gigabit Server Adapter) - - pci:v00008086d000010E8* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d000010E8sv00008086sd0000A02B* -- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) - - pci:v00008086d000010E8sv00008086sd0000A02C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET Quad Port Server Adapter) - - pci:v00008086d000010EA* - ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection - - pci:v00008086d000010EAsv00001028sd0000040A* -- ID_MODEL_FROM_DATABASE=Latitude E6410 -+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6410) - - pci:v00008086d000010EAsv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (Latitude E6510) - - pci:v00008086d000010EAsv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=82577LM Gigabit Network Connection (PC1-GROOVE) - - pci:v00008086d000010EB* - ID_MODEL_FROM_DATABASE=82577LC Gigabit Network Connection -@@ -58068,10 +58068,10 @@ pci:v00008086d000010EC* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection - - pci:v00008086d000010ECsv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) - - pci:v00008086d000010ECsv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=10-Gigabit CX4 Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AT CX4 Network Connection (10-Gigabit CX4 Dual Port Server Adapter) - - pci:v00008086d000010ED* - ID_MODEL_FROM_DATABASE=82599 Ethernet Controller Virtual Function -@@ -58080,10 +58080,10 @@ pci:v00008086d000010EF* - ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection - - pci:v00008086d000010EFsv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (OptiPlex 980) - - pci:v00008086d000010EFsv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=82578DM Gigabit Network Connection (C7SIM-Q Motherboard) - - pci:v00008086d000010F0* - ID_MODEL_FROM_DATABASE=82578DC Gigabit Network Connection -@@ -58092,19 +58092,19 @@ pci:v00008086d000010F1* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection - - pci:v00008086d000010F1sv00008086sd0000A20F* -- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) - - pci:v00008086d000010F1sv00008086sd0000A21F* -- ID_MODEL_FROM_DATABASE=10-Gigabit AF DA Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Dual Port Network Connection (10-Gigabit AF DA Dual Port Server Adapter) - - pci:v00008086d000010F4* - ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection - - pci:v00008086d000010F4sv00008086sd0000106F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) - - pci:v00008086d000010F4sv00008086sd0000A06F* -- ID_MODEL_FROM_DATABASE=10-Gigabit XF LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82598EB 10-Gigabit AF Network Connection (10-Gigabit XF LR Server Adapter) - - pci:v00008086d000010F5* - ID_MODEL_FROM_DATABASE=82567LM Gigabit Network Connection -@@ -58116,25 +58116,25 @@ pci:v00008086d000010F7* - ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection - - pci:v00008086d000010F7sv0000108Esd00007B12* -- ID_MODEL_FROM_DATABASE=Sun Dual 10GbE PCIe 2.0 FEM -+ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Sun Dual 10GbE PCIe 2.0 FEM) - - pci:v00008086d000010F7sv00008086sd0000000D* -- ID_MODEL_FROM_DATABASE=Ethernet Mezzanine Adapter X520-KX4-2 -+ ID_MODEL_FROM_DATABASE=10 Gigabit BR KX4 Dual Port Network Connection (Ethernet Mezzanine Adapter X520-KX4-2) - - pci:v00008086d000010F8* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection - - pci:v00008086d000010F8sv00001028sd00001F63* -- ID_MODEL_FROM_DATABASE=10GbE 2P X520k bNDC -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (10GbE 2P X520k bNDC) - - pci:v00008086d000010F8sv0000103Csd000017D2* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560M Adapter) - - pci:v00008086d000010F8sv0000103Csd000018D0* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLB Adapter -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet 10Gb 2-port 560FLB Adapter) - - pci:v00008086d000010F8sv00008086sd0000000C* -- ID_MODEL_FROM_DATABASE=Ethernet X520 10GbE Dual Port KX4-KR Mezz -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet X520 10GbE Dual Port KX4-KR Mezz) - - pci:v00008086d000010F9* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection -@@ -58143,58 +58143,58 @@ pci:v00008086d000010FB* - ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection - - pci:v00008086d000010FBsv00001028sd00001F72* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X520/I350 rNDC -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10G 4P X520/I350 rNDC) - - pci:v00008086d000010FBsv0000103Csd000017D0* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560FLR-SFP+ Adapter) - - pci:v00008086d000010FBsv0000103Csd000017D2* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560M Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560M Adapter) - - pci:v00008086d000010FBsv0000103Csd000017D3* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 560SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 560SFP+ Adapter) - - pci:v00008086d000010FBsv0000103Csd0000211B* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port P560FLR-SFP+ Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port P560FLR-SFP+ Adapter) - - pci:v00008086d000010FBsv0000103Csd00002147* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 1-port 561i Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 1-port 561i Adapter) - - pci:v00008086d000010FBsv0000103Csd00002159* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 562i Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet 10Gb 2-port 562i Adapter) - - pci:v00008086d000010FBsv0000108Esd00007B11* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00001734sd000011A9* -- ID_MODEL_FROM_DATABASE=10 Gigabit Dual Port Network Connection -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (10 Gigabit Dual Port Network Connection) - - pci:v00008086d000010FBsv000017AAsd00001071* -- ID_MODEL_FROM_DATABASE=ThinkServer X520-2 AnyFabric -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (ThinkServer X520-2 AnyFabric) - - pci:v00008086d000010FBsv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-DA2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-DA2) - - pci:v00008086d000010FBsv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) - - pci:v00008086d000010FBsv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet OCP Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd0000000A* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-1 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-1) - - pci:v00008086d000010FBsv00008086sd0000000C* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd00007A11* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FBsv00008086sd00007A12* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-2 -+ ID_MODEL_FROM_DATABASE=82599ES 10-Gigabit SFI/SFP+ Network Connection (Ethernet Server Adapter X520-2) - - pci:v00008086d000010FC* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection -@@ -58209,19 +58209,19 @@ pci:v00008086d00001130* - ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub - - pci:v00008086d00001130sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Travelmate 612 TX) - - pci:v00008086d00001130sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (TUSL2-C Mainboard) - - pci:v00008086d00001130sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (Vaio PCG-FX403) - - pci:v00008086d00001130sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EEA2 mainboard) - - pci:v00008086d00001130sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82815 815 Chipset Host Bridge and Memory Controller Hub (D815EGEW Mainboard) - - pci:v00008086d00001131* - ID_MODEL_FROM_DATABASE=82815 815 Chipset AGP Bridge -@@ -58230,28 +58230,28 @@ pci:v00008086d00001132* - ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) - - pci:v00008086d00001132sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Travelmate 612 TX) - - pci:v00008086d00001132sv0000103Csd00002001* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (e-pc 40) - - pci:v00008086d00001132sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (Vaio PCG-FX403) - - pci:v00008086d00001132sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 Mainboard -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA2 Mainboard) - - pci:v00008086d00001132sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=D815EEA Motherboard -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EEA Motherboard) - - pci:v00008086d00001132sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82815 Chipset Graphics Controller (CGC) (D815EGEW Mainboard) - - pci:v00008086d00001161* - ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller - - pci:v00008086d00001161sv00008086sd00001161* -- ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub APIC -+ ID_MODEL_FROM_DATABASE=82806AA PCI64 Hub Advanced Programmable Interrupt Controller (82806AA PCI64 Hub APIC) - - pci:v00008086d00001162* - ID_MODEL_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip -@@ -58260,25 +58260,25 @@ pci:v00008086d00001200* - ID_MODEL_FROM_DATABASE=IXP1200 Network Processor - - pci:v00008086d00001200sv0000172Asd00000000* -- ID_MODEL_FROM_DATABASE=AEP SSL Accelerator -+ ID_MODEL_FROM_DATABASE=IXP1200 Network Processor (AEP SSL Accelerator) - - pci:v00008086d00001209* - ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller - - pci:v00008086d00001209sv0000140Bsd00000610* -- ID_MODEL_FROM_DATABASE=PMC610 quad Ethernet board -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PMC610 quad Ethernet board) - - pci:v00008086d00001209sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (QEMU Virtual Machine) - - pci:v00008086d00001209sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CT7 mainboard) - - pci:v00008086d00001209sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (CE7 mainboard) - - pci:v00008086d00001209sv00004C53sd00001070* -- ID_MODEL_FROM_DATABASE=PC6 mainboard -+ ID_MODEL_FROM_DATABASE=8255xER/82551IT Fast Ethernet Controller (PC6 mainboard) - - pci:v00008086d00001221* - ID_MODEL_FROM_DATABASE=82092AA PCI to PCMCIA Bridge -@@ -58305,487 +58305,487 @@ pci:v00008086d00001229* - ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 - - pci:v00008086d00001229sv00000E11sd00003001* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003002* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003003* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003004* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003005* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003006* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd00003007* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN*) - - pci:v00008086d00001229sv00000E11sd0000B01E* -- ID_MODEL_FROM_DATABASE=NC3120 Fast Ethernet NIC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3120 Fast Ethernet NIC) - - pci:v00008086d00001229sv00000E11sd0000B01F* -- ID_MODEL_FROM_DATABASE=NC3122 Fast Ethernet NIC (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3122 Fast Ethernet NIC (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B02F* -- ID_MODEL_FROM_DATABASE=NC1120 Ethernet NIC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC1120 Ethernet NIC) - - pci:v00008086d00001229sv00000E11sd0000B04A* -- ID_MODEL_FROM_DATABASE=Netelligent 10/100TX NIC with Wake on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netelligent 10/100TX NIC with Wake on LAN) - - pci:v00008086d00001229sv00000E11sd0000B0C6* -- ID_MODEL_FROM_DATABASE=NC3161 Fast Ethernet NIC (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3161 Fast Ethernet NIC (embedded, WOL)) - - pci:v00008086d00001229sv00000E11sd0000B0C7* -- ID_MODEL_FROM_DATABASE=NC3160 Fast Ethernet NIC (embedded) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3160 Fast Ethernet NIC (embedded)) - - pci:v00008086d00001229sv00000E11sd0000B0D7* -- ID_MODEL_FROM_DATABASE=NC3121 Fast Ethernet NIC (WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3121 Fast Ethernet NIC (WOL)) - - pci:v00008086d00001229sv00000E11sd0000B0DD* -- ID_MODEL_FROM_DATABASE=NC3131 Fast Ethernet NIC (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3131 Fast Ethernet NIC (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B0DE* -- ID_MODEL_FROM_DATABASE=NC3132 Fast Ethernet Module (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3132 Fast Ethernet Module (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B0E1* -- ID_MODEL_FROM_DATABASE=NC3133 Fast Ethernet Module (100-FX) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3133 Fast Ethernet Module (100-FX)) - - pci:v00008086d00001229sv00000E11sd0000B134* -- ID_MODEL_FROM_DATABASE=NC3163 Fast Ethernet NIC (embedded, WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3163 Fast Ethernet NIC (embedded, WOL)) - - pci:v00008086d00001229sv00000E11sd0000B13C* -- ID_MODEL_FROM_DATABASE=NC3162 Fast Ethernet NIC (embedded) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3162 Fast Ethernet NIC (embedded)) - - pci:v00008086d00001229sv00000E11sd0000B144* -- ID_MODEL_FROM_DATABASE=NC3123 Fast Ethernet NIC (WOL) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3123 Fast Ethernet NIC (WOL)) - - pci:v00008086d00001229sv00000E11sd0000B163* -- ID_MODEL_FROM_DATABASE=NC3134 Fast Ethernet NIC (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3134 Fast Ethernet NIC (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B164* -- ID_MODEL_FROM_DATABASE=NC3135 Fast Ethernet Upgrade Module (dual port) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC3135 Fast Ethernet Upgrade Module (dual port)) - - pci:v00008086d00001229sv00000E11sd0000B1A4* -- ID_MODEL_FROM_DATABASE=NC7131 Gigabit Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NC7131 Gigabit Server Adapter) - - pci:v00008086d00001229sv00001014sd0000005C* -- ID_MODEL_FROM_DATABASE=82558B Ethernet Pro 10/100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B Ethernet Pro 10/100) - - pci:v00008086d00001229sv00001014sd000001BC* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN On Motherboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN On Motherboard) - - pci:v00008086d00001229sv00001014sd000001F1* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001014sd000001F2* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001014sd00000207* -- ID_MODEL_FROM_DATABASE=Ethernet Pro/100 S -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Ethernet Pro/100 S) - - pci:v00008086d00001229sv00001014sd00000232* -- ID_MODEL_FROM_DATABASE=10/100 Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Dual Port Server Adapter) - - pci:v00008086d00001229sv00001014sd0000023A* -- ID_MODEL_FROM_DATABASE=ThinkPad R30 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad R30) - - pci:v00008086d00001229sv00001014sd0000105C* -- ID_MODEL_FROM_DATABASE=Netfinity 10/100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (Netfinity 10/100) - - pci:v00008086d00001229sv00001014sd00002205* -- ID_MODEL_FROM_DATABASE=ThinkPad A22p -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (ThinkPad A22p) - - pci:v00008086d00001229sv00001014sd0000305C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Management Adapter) - - pci:v00008086d00001229sv00001014sd0000405C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Adapter with Alert on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Adapter with Alert on LAN) - - pci:v00008086d00001229sv00001014sd0000505C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) - - pci:v00008086d00001229sv00001014sd0000605C* -- ID_MODEL_FROM_DATABASE=10/100 EtherJet Secure Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 EtherJet Secure Management Adapter) - - pci:v00008086d00001229sv00001014sd0000705C* -- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) - - pci:v00008086d00001229sv00001014sd0000805C* -- ID_MODEL_FROM_DATABASE=10/100 Netfinity 10/100 Ethernet Security Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Netfinity 10/100 Ethernet Security Adapter) - - pci:v00008086d00001229sv00001028sd0000009B* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001028sd000000CE* -- ID_MODEL_FROM_DATABASE=10/100 Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (10/100 Ethernet Server Adapter) - - pci:v00008086d00001229sv00001033sd00008000* -- ID_MODEL_FROM_DATABASE=PC-9821X-B06 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC-9821X-B06) - - pci:v00008086d00001229sv00001033sd00008016* -- ID_MODEL_FROM_DATABASE=PK-UG-X006 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) - - pci:v00008086d00001229sv00001033sd0000801F* -- ID_MODEL_FROM_DATABASE=PK-UG-X006 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) - - pci:v00008086d00001229sv00001033sd00008026* -- ID_MODEL_FROM_DATABASE=PK-UG-X006 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PK-UG-X006) - - pci:v00008086d00001229sv00001033sd00008063* -- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) - - pci:v00008086d00001229sv00001033sd00008064* -- ID_MODEL_FROM_DATABASE=82559-based Fast Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559-based Fast Ethernet Adapter) - - pci:v00008086d00001229sv0000103Csd000010C0* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010C3* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010CA* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010CB* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010E3* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd000010E4* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000103Csd00001200* -- ID_MODEL_FROM_DATABASE=NetServer 10/100TX -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NetServer 10/100TX) - - pci:v00008086d00001229sv0000108Esd000010CF* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100(B) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100(B)) - - pci:v00008086d00001229sv000010C3sd00001100* -- ID_MODEL_FROM_DATABASE=SmartEther100 SC1100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SmartEther100 SC1100) - - pci:v00008086d00001229sv000010CFsd00001115* -- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) - - pci:v00008086d00001229sv000010CFsd00001143* -- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) - - pci:v00008086d00001229sv0000110Asd0000008B* -- ID_MODEL_FROM_DATABASE=82551QM Fast Ethernet Multifuction PCI/CardBus Controller -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82551QM Fast Ethernet Multifuction PCI/CardBus Controller) - - pci:v00008086d00001229sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard ethernet ETH2 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PC8 onboard ethernet ETH2) - - pci:v00008086d00001229sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=8255x-based Ethernet Adapter (10/100) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Ethernet Adapter (10/100)) - - pci:v00008086d00001229sv00001179sd00000002* -- ID_MODEL_FROM_DATABASE=PCI FastEther LAN on Docker -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PCI FastEther LAN on Docker) - - pci:v00008086d00001229sv00001179sd00000003* -- ID_MODEL_FROM_DATABASE=8255x-based Fast Ethernet -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (8255x-based Fast Ethernet) - - pci:v00008086d00001229sv00001259sd00002560* -- ID_MODEL_FROM_DATABASE=AT-2560 100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100) - - pci:v00008086d00001229sv00001259sd00002561* -- ID_MODEL_FROM_DATABASE=AT-2560 100 FX Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (AT-2560 100 FX Ethernet Adapter) - - pci:v00008086d00001229sv00001266sd00000001* -- ID_MODEL_FROM_DATABASE=NE10/100 Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (NE10/100 Adapter) - - pci:v00008086d00001229sv000013E9sd00001000* -- ID_MODEL_FROM_DATABASE=6221L-4U -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (6221L-4U) - - pci:v00008086d00001229sv0000144Dsd00002501* -- ID_MODEL_FROM_DATABASE=SEM-2000 MiniPCI LAN Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2000 MiniPCI LAN Adapter) - - pci:v00008086d00001229sv0000144Dsd00002502* -- ID_MODEL_FROM_DATABASE=SEM-2100IL MiniPCI LAN Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SEM-2100IL MiniPCI LAN Adapter) - - pci:v00008086d00001229sv00001668sd00001100* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem)) - - pci:v00008086d00001229sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CR11/VR11 Single Board Computer) - - pci:v00008086d00001229sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CE9) - - pci:v00008086d00001229sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (QEMU Virtual Machine) - - pci:v00008086d00001229sv00004C53sd00001080* -- ID_MODEL_FROM_DATABASE=CT8 mainboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (CT8 mainboard) - - pci:v00008086d00001229sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (PSL09 PrPMC) - - pci:v00008086d00001229sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (TX) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (TX)) - - pci:v00008086d00001229sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100B (T4) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100B (T4)) - - pci:v00008086d00001229sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/10+ -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/10+) - - pci:v00008086d00001229sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 WfM -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 WfM) - - pci:v00008086d00001229sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=82557 10/100 -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100) - - pci:v00008086d00001229sv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=82557 10/100 with Wake on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557 10/100 with Wake on LAN) - - pci:v00008086d00001229sv00008086sd00000007* -- ID_MODEL_FROM_DATABASE=82558 10/100 Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 Adapter) - - pci:v00008086d00001229sv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=82558 10/100 with Wake on LAN -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558 10/100 with Wake on LAN) - - pci:v00008086d00001229sv00008086sd00000009* -- ID_MODEL_FROM_DATABASE=82558B PRO/100+ PCI (TP) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82558B PRO/100+ PCI (TP)) - - pci:v00008086d00001229sv00008086sd0000000A* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) - - pci:v00008086d00001229sv00008086sd0000000B* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+) - - pci:v00008086d00001229sv00008086sd0000000C* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter) - - pci:v00008086d00001229sv00008086sd0000000D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Alert On LAN II* Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Alert On LAN II* Adapter) - - pci:v00008086d00001229sv00008086sd0000000E* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN*) - - pci:v00008086d00001229sv00008086sd0000000F* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) - - pci:v00008086d00001229sv00008086sd00000011* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Management Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Management Adapter) - - pci:v00008086d00001229sv00008086sd00000012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (D) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (D)) - - pci:v00008086d00001229sv00008086sd00000013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Advanced Management Adapter (E) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Advanced Management Adapter (E)) - - pci:v00008086d00001229sv00008086sd00000030* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Management Adapter with Alert On LAN* GC -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Management Adapter with Alert On LAN* GC) - - pci:v00008086d00001229sv00008086sd00000031* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000040* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000041* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000042* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00000050* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Desktop Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Desktop Adapter) - - pci:v00008086d00001229sv00008086sd00001009* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter) - - pci:v00008086d00001229sv00008086sd0000100C* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Server Adapter (PILA8470B) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Server Adapter (PILA8470B)) - - pci:v00008086d00001229sv00008086sd00001012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (D) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (D)) - - pci:v00008086d00001229sv00008086sd00001013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter (E) -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter (E)) - - pci:v00008086d00001229sv00008086sd00001015* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Dual Port Server Adapter) - - pci:v00008086d00001229sv00008086sd00001017* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Server Adapter) - - pci:v00008086d00001229sv00008086sd00001030* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server) - - pci:v00008086d00001229sv00008086sd00001040* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) - - pci:v00008086d00001229sv00008086sd00001041* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) - - pci:v00008086d00001229sv00008086sd00001042* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) - - pci:v00008086d00001229sv00008086sd00001050* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Server Adapter) - - pci:v00008086d00001229sv00008086sd00001051* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) - - pci:v00008086d00001229sv00008086sd00001052* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Server Adapter) - - pci:v00008086d00001229sv00008086sd000010F0* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ Dual Port Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ Dual Port Adapter) - - pci:v00008086d00001229sv00008086sd00001229* -- ID_MODEL_FROM_DATABASE=82557/8/9 [Ethernet Pro 100] -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82557/8/9 [Ethernet Pro 100]) - - pci:v00008086d00001229sv00008086sd00002009* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) - - pci:v00008086d00001229sv00008086sd0000200D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Cardbus -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Cardbus) - - pci:v00008086d00001229sv00008086sd0000200E* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 LAN+V90 Cardbus Modem -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 LAN+V90 Cardbus Modem) - - pci:v00008086d00001229sv00008086sd0000200F* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002016* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002017* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Combo Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Combo Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002018* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002019* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SR Combo Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SR Combo Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002101* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002102* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002103* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002104* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002105* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002106* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Adapter) - - pci:v00008086d00001229sv00008086sd00002107* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd00002108* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd00002200* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002201* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002202* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002203* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002204* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002205* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002206* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002207* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 SP Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 SP Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002208* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo Adapter -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 P Mobile Combo Adapter) - - pci:v00008086d00001229sv00008086sd00002402* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002407* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002408* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002409* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd0000240F* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002410* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002411* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002412* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00002413* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100+ MiniPCI -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100+ MiniPCI) - - pci:v00008086d00001229sv00008086sd00003000* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LAN on Motherboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LAN on Motherboard) - - pci:v00008086d00001229sv00008086sd00003001* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Basic Alert on LAN* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Basic Alert on LAN*) - - pci:v00008086d00001229sv00008086sd00003002* -- ID_MODEL_FROM_DATABASE=82559 Fast Ethernet LOM with Alert on LAN II* -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (82559 Fast Ethernet LOM with Alert on LAN II*) - - pci:v00008086d00001229sv00008086sd00003006* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003007* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003008* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd00003010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003011* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 S Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 S Network Connection) - - pci:v00008086d00001229sv00008086sd00003012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Network Connection -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (EtherExpress PRO/100 Network Connection) - - pci:v00008086d00001229sv00008086sd0000301A* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (S845WD1-E mainboard) - - pci:v00008086d00001229sv00008086sd00003411* -- ID_MODEL_FROM_DATABASE=SDS2 Mainboard -+ ID_MODEL_FROM_DATABASE=82557/8/9/0/1 Ethernet Pro 100 (SDS2 Mainboard) - - pci:v00008086d0000122D* - ID_MODEL_FROM_DATABASE=430FX - 82437FX TSC [Triton I] -@@ -58809,7 +58809,7 @@ pci:v00008086d00001237* - ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] - - pci:v00008086d00001237sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=440FX - 82441FX PMC [Natoma] (Qemu virtual machine) - - pci:v00008086d00001239* - ID_MODEL_FROM_DATABASE=82371FB PIIX IDE Interface -@@ -58857,10 +58857,10 @@ pci:v00008086d00001461* - ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC - - pci:v00008086d00001461sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (P4DP6) - - pci:v00008086d00001461sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9/Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82870P2 P64H2 I/OxAPIC (Cx9/Vx9 mainboard) - - pci:v00008086d00001462* - ID_MODEL_FROM_DATABASE=82870P2 P64H2 Hot Plug Controller -@@ -58872,16 +58872,16 @@ pci:v00008086d00001502* - ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection - - pci:v00008086d00001502sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Precision M4600) - - pci:v00008086d00001502sv00008086sd0000357A* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection (Server Board S1200BTS) - - pci:v00008086d00001503* - ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection - - pci:v00008086d00001503sv00001043sd0000849C* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82579V Gigabit Network Connection (P8P67 Deluxe Motherboard) - - pci:v00008086d00001507* - ID_MODEL_FROM_DATABASE=Ethernet Express Module X520-P2 -@@ -58911,19 +58911,19 @@ pci:v00008086d0000150D* - ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection - - pci:v00008086d0000150Dsv00008086sd0000A10C* -- ID_MODEL_FROM_DATABASE=Gigabit ET Quad Port Mezzanine Card -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Backplane Connection (Gigabit ET Quad Port Mezzanine Card) - - pci:v00008086d0000150E* - ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection - - pci:v00008086d0000150Esv0000103Csd00001780* -- ID_MODEL_FROM_DATABASE=NC365T 4-port Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (NC365T 4-port Ethernet Server Adapter) - - pci:v00008086d0000150Esv00008086sd000012A1* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) - - pci:v00008086d0000150Esv00008086sd000012A2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T4) - - pci:v00008086d0000150F* - ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection -@@ -58947,16 +58947,16 @@ pci:v00008086d00001516* - ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection - - pci:v00008086d00001516sv00008086sd000012B1* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) - - pci:v00008086d00001516sv00008086sd000012B2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-T2 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Network Connection (Ethernet Server Adapter I340-T2) - - pci:v00008086d00001517* - ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection - - pci:v00008086d00001517sv00001137sd0000006A* -- ID_MODEL_FROM_DATABASE=UCS CNA M61KR-I Intel Converged Network Adapter -+ ID_MODEL_FROM_DATABASE=82599ES 10 Gigabit Network Connection (UCS CNA M61KR-I Intel Converged Network Adapter) - - pci:v00008086d00001518* - ID_MODEL_FROM_DATABASE=82576NS SerDes Gigabit Network Connection -@@ -58965,7 +58965,7 @@ pci:v00008086d0000151C* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection - - pci:v00008086d0000151Csv0000108Esd00007B13* -- ID_MODEL_FROM_DATABASE=Dual 10GBASE-T LP -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit TN Network Connection (Dual 10GBASE-T LP) - - pci:v00008086d00001520* - ID_MODEL_FROM_DATABASE=I350 Ethernet Controller Virtual Function -@@ -58974,115 +58974,115 @@ pci:v00008086d00001521* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection - - pci:v00008086d00001521sv00001028sd00000602* -- ID_MODEL_FROM_DATABASE=Gigabit 2P I350-t LOM -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) - - pci:v00008086d00001521sv00001028sd00001F60* -- ID_MODEL_FROM_DATABASE=Intel GbE 4P I350crNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) - - pci:v00008086d00001521sv00001028sd00001F62* -- ID_MODEL_FROM_DATABASE=Intel GbE 2P I350crNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) - - pci:v00008086d00001521sv00001028sd0000FF9A* -- ID_MODEL_FROM_DATABASE=Gigabit 4P X710/I350 rNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) - - pci:v00008086d00001521sv0000103Csd000017D1* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366FLR Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366FLR Adapter) - - pci:v00008086d00001521sv0000103Csd00002003* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 367i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 367i Adapter) - - pci:v00008086d00001521sv0000103Csd00002226* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 1-port 364i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 1-port 364i Adapter) - - pci:v00008086d00001521sv0000103Csd0000337F* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361i Adapter) - - pci:v00008086d00001521sv0000103Csd00003380* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366i Adapter) - - pci:v00008086d00001521sv0000103Csd0000339E* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361T Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361T Adapter) - - pci:v00008086d00001521sv0000108Esd00007B16* -- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, UTP -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, UTP) - - pci:v00008086d00001521sv0000108Esd00007B18* -- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) - - pci:v00008086d00001521sv000010A9sd0000802A* -- ID_MODEL_FROM_DATABASE=UV2-BaseIO dual-port GbE -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) - - pci:v00008086d00001521sv000017AAsd00001074* -- ID_MODEL_FROM_DATABASE=ThinkServer I350-T4 AnyFabric -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (ThinkServer I350-T4 AnyFabric) - - pci:v00008086d00001521sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) - - pci:v00008086d00001521sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001521sv00008086sd000000A1* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) - - pci:v00008086d00001521sv00008086sd000000A2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001521sv00008086sd00005001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4) - - pci:v00008086d00001521sv00008086sd00005002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001522* - ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection - - pci:v00008086d00001522sv0000108Esd00007B17* -- ID_MODEL_FROM_DATABASE=Quad Port GbE PCIe 2.0 ExpressModule, MMF -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, MMF) - - pci:v00008086d00001522sv0000108Esd00007B19* -- ID_MODEL_FROM_DATABASE=Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF) - - pci:v00008086d00001522sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001522sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) - - pci:v00008086d00001522sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) - - pci:v00008086d00001522sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F1 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F1) - - pci:v00008086d00001522sv00008086sd000000A2* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-T2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-T2) - - pci:v00008086d00001522sv00008086sd000000A3* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F4 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F4) - - pci:v00008086d00001522sv00008086sd000000A4* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I350-F2 -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Fiber Network Connection (Ethernet Server Adapter I350-F2) - - pci:v00008086d00001523* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection - - pci:v00008086d00001523sv00001028sd00001F9B* -- ID_MODEL_FROM_DATABASE=Gigabit 4P I350 bNDC -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) - - pci:v00008086d00001523sv0000103Csd00001784* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) - - pci:v00008086d00001523sv0000103Csd000018D1* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 361FLB Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) - - pci:v00008086d00001523sv0000103Csd00001989* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 2-port 363i Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 363i Adapter) - - pci:v00008086d00001523sv0000103Csd0000339F* -- ID_MODEL_FROM_DATABASE=Ethernet 1Gb 4-port 366M Adapter -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 4-port 366M Adapter) - - pci:v00008086d00001523sv00008086sd00001F52* -- ID_MODEL_FROM_DATABASE=1GbE 4P I350 Mezz -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (1GbE 4P I350 Mezz) - - pci:v00008086d00001524* - ID_MODEL_FROM_DATABASE=I350 Gigabit Connection -@@ -59094,64 +59094,64 @@ pci:v00008086d00001526* - ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection - - pci:v00008086d00001526sv00008086sd0000A05C* -- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) - - pci:v00008086d00001526sv00008086sd0000A06C* -- ID_MODEL_FROM_DATABASE=Gigabit ET2 Quad Port Server Adapter -+ ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection (Gigabit ET2 Quad Port Server Adapter) - - pci:v00008086d00001527* - ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection - - pci:v00008086d00001527sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) - - pci:v00008086d00001527sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I340-F4 -+ ID_MODEL_FROM_DATABASE=82580 Gigabit Fiber Network Connection (Ethernet Server Adapter I340-F4) - - pci:v00008086d00001528* - ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 - - pci:v00008086d00001528sv00001028sd00001F61* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) - - pci:v00008086d00001528sv0000103Csd0000192D* -- ID_MODEL_FROM_DATABASE=561FLR-T 2-port 10Gb Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (561FLR-T 2-port 10Gb Ethernet Adapter) - - pci:v00008086d00001528sv0000103Csd00002004* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561i Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561i Adapter) - - pci:v00008086d00001528sv0000103Csd0000211A* -- ID_MODEL_FROM_DATABASE=Ethernet 10Gb 2-port 561T Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10Gb 2-port 561T Adapter) - - pci:v00008086d00001528sv0000108Esd00007B14* -- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T) - - pci:v00008086d00001528sv0000108Esd00007B15* -- ID_MODEL_FROM_DATABASE=Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T) - - pci:v00008086d00001528sv00001137sd000000BF* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) - - pci:v00008086d00001528sv000017AAsd00001073* -- ID_MODEL_FROM_DATABASE=ThinkServer X540-T2 AnyFabric -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (ThinkServer X540-T2 AnyFabric) - - pci:v00008086d00001528sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) - - pci:v00008086d00001528sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) - - pci:v00008086d00001528sv00008086sd0000001A* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T2) - - pci:v00008086d00001528sv00008086sd000000A2* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X540-T1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet Converged Network Adapter X540-T1) - - pci:v00008086d00001528sv00008086sd00001F61* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X540/I350 rNDC -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 4P X540/I350 rNDC) - - pci:v00008086d00001528sv00008086sd00005003* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X540-t Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller 10-Gigabit X540-AT2 (Ethernet 10G 2P X540-t Adapter) - - pci:v00008086d00001529* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Network Connection with FCoE -@@ -59163,16 +59163,16 @@ pci:v00008086d00001533* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection - - pci:v00008086d00001533sv0000103Csd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - - pci:v00008086d00001533sv000017AAsd00001100* -- ID_MODEL_FROM_DATABASE=ThinkServer Ethernet Server Adapter -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) - - pci:v00008086d00001533sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - - pci:v00008086d00001533sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Adapter I210-T1 -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - - pci:v00008086d00001534* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -@@ -59193,10 +59193,10 @@ pci:v00008086d0000153A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM - - pci:v00008086d0000153Asv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ZBook 15) - - pci:v00008086d0000153Asv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I217-LM (ThinkPad T440p) - - pci:v00008086d0000153B* - ID_MODEL_FROM_DATABASE=Ethernet Connection I217-V -@@ -59211,13 +59211,13 @@ pci:v00008086d0000154A* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 - - pci:v00008086d0000154Asv00008086sd0000011A* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154Asv00008086sd0000011B* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154Asv00008086sd0000011C* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-4 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154C* - ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -@@ -59226,13 +59226,13 @@ pci:v00008086d0000154D* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter - - pci:v00008086d0000154Dsv00008086sd00007B11* -- ID_MODEL_FROM_DATABASE=10GbE 2P X520 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter (10GbE 2P X520 Adapter) - - pci:v00008086d00001557* - ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection - - pci:v00008086d00001557sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet OCP Server Adapter X520-1 -+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Network Connection (Ethernet OCP Server Adapter X520-1) - - pci:v00008086d00001558* - ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X520-Q1 -@@ -59250,22 +59250,22 @@ pci:v00008086d0000155A* - ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM - - pci:v00008086d0000155Asv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I218-LM (ThinkPad X240) - - pci:v00008086d0000155C* - ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter - - pci:v00008086d0000155Csv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X540-T2 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X540-T2) - - pci:v00008086d0000155D* - ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter - - pci:v00008086d0000155Dsv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-SR2 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-SR2) - - pci:v00008086d0000155Dsv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter X520-LR2 -+ ID_MODEL_FROM_DATABASE=Ethernet Server Bypass Adapter (X520-LR2) - - pci:v00008086d00001560* - ID_MODEL_FROM_DATABASE=Ethernet Controller X540 -@@ -59277,28 +59277,28 @@ pci:v00008086d00001572* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter - - pci:v00008086d00001572sv00001028sd00001F99* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710/I350 rNDC -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) - - pci:v00008086d00001572sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-4 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=Ethernet 10G2P X710 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000007* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d00001572sv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter X710-2 -+ ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d0000157B* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -@@ -59313,31 +59313,31 @@ pci:v00008086d00001581* - ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane - - pci:v00008086d00001581sv00001028sd00001F98* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 4P X710-k bNDC -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) - - pci:v00008086d00001583* - ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ - - pci:v00008086d00001583sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q2 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) - - pci:v00008086d00001584* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - - pci:v00008086d00001584sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) - - pci:v00008086d00001584sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Converged Network Adapter XL710-Q1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) - - pci:v00008086d00001584sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet I/O Module XL710-Q1 -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q1) - - pci:v00008086d00001585* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+ -@@ -59469,82 +59469,82 @@ pci:v00008086d00001960* - ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor - - pci:v00008086d00001960sv0000101Esd00000431* -- ID_MODEL_FROM_DATABASE=MegaRAID 431 RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 431 RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000438* -- ID_MODEL_FROM_DATABASE=MegaRAID 438 Ultra2 LVD RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438 Ultra2 LVD RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000466* -- ID_MODEL_FROM_DATABASE=MegaRAID 466 Express Plus RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466 Express Plus RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000467* -- ID_MODEL_FROM_DATABASE=MegaRAID 467 Enterprise 1500 RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 467 Enterprise 1500 RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000490* -- ID_MODEL_FROM_DATABASE=MegaRAID 490 Express 300 RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 490 Express 300 RAID Controller) - - pci:v00008086d00001960sv0000101Esd00000762* -- ID_MODEL_FROM_DATABASE=MegaRAID 762 Express RAID Controller -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 762 Express RAID Controller) - - pci:v00008086d00001960sv0000101Esd000009A0* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv00001028sd00000467* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/DC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/DC) - - pci:v00008086d00001960sv00001028sd00001111* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv0000103Csd000003A2* -- ID_MODEL_FROM_DATABASE=MegaRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) - - pci:v00008086d00001960sv0000103Csd000010C6* -- ID_MODEL_FROM_DATABASE=MegaRAID 438, NetRAID-3Si -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 438, NetRAID-3Si) - - pci:v00008086d00001960sv0000103Csd000010C7* -- ID_MODEL_FROM_DATABASE=MegaRAID T5, Integrated NetRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID T5, Integrated NetRAID) - - pci:v00008086d00001960sv0000103Csd000010CC* -- ID_MODEL_FROM_DATABASE=MegaRAID, Integrated NetRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID, Integrated NetRAID) - - pci:v00008086d00001960sv0000103Csd000010CD* -- ID_MODEL_FROM_DATABASE=NetRAID-1Si -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (NetRAID-1Si) - - pci:v00008086d00001960sv0000105Asd00000000* -- ID_MODEL_FROM_DATABASE=SuperTrak -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak) - - pci:v00008086d00001960sv0000105Asd00002168* -- ID_MODEL_FROM_DATABASE=SuperTrak Pro -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak Pro) - - pci:v00008086d00001960sv0000105Asd00005168* -- ID_MODEL_FROM_DATABASE=SuperTrak66/100 -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (SuperTrak66/100) - - pci:v00008086d00001960sv00001111sd00001111* -- ID_MODEL_FROM_DATABASE=MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv00001111sd00001112* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 2/SC -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (PowerEdge Expandable RAID Controller 2/SC) - - pci:v00008086d00001960sv0000113Csd000003A2* -- ID_MODEL_FROM_DATABASE=MegaRAID -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (MegaRAID) - - pci:v00008086d00001960sv0000E4BFsd00001010* -- ID_MODEL_FROM_DATABASE=CG1-RADIO -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CG1-RADIO) - - pci:v00008086d00001960sv0000E4BFsd00001020* -- ID_MODEL_FROM_DATABASE=CU2-QUARTET -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU2-QUARTET) - - pci:v00008086d00001960sv0000E4BFsd00001040* -- ID_MODEL_FROM_DATABASE=CU1-CHORUS -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CU1-CHORUS) - - pci:v00008086d00001960sv0000E4BFsd00003100* -- ID_MODEL_FROM_DATABASE=CX1-BAND -+ ID_MODEL_FROM_DATABASE=80960RP (i960RP) Microprocessor (CX1-BAND) - - pci:v00008086d00001962* - ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor - - pci:v00008086d00001962sv0000105Asd00000000* -- ID_MODEL_FROM_DATABASE=SuperTrak SX6000 I2O CPU -+ ID_MODEL_FROM_DATABASE=80960RM (i960RM) Microprocessor (SuperTrak SX6000 I2O CPU) - - pci:v00008086d00001A21* - ID_MODEL_FROM_DATABASE=82840 840 [Carmel] Chipset Host Bridge (Hub A) -@@ -59559,10 +59559,10 @@ pci:v00008086d00001A30* - ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge - - pci:v00008086d00001A30sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Optiplex GX240) - - pci:v00008086d00001A30sv000015D9sd00003280* -- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard -+ ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset Host Bridge (Supermicro P4SBE Mainboard) - - pci:v00008086d00001A31* - ID_MODEL_FROM_DATABASE=82845 845 [Brookdale] Chipset AGP Bridge -@@ -59571,28 +59571,28 @@ pci:v00008086d00001A38* - ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine - - pci:v00008086d00001A38sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (X7DVL-E-O motherboard) - - pci:v00008086d00001A38sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (Intel S5000PSLSATA Server Board) - - pci:v00008086d00001A48* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d00001A48sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) - - pci:v00008086d00001A48sv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE SR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE SR Server Adapter) - - pci:v00008086d00001B48* - ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller - - pci:v00008086d00001B48sv00008086sd0000A01F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001B48sv00008086sd0000A11F* -- ID_MODEL_FROM_DATABASE=PRO/10GbE LR Server Adapter -+ ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller (PRO/10GbE LR Server Adapter) - - pci:v00008086d00001C00* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 4 port SATA IDE Controller -@@ -59604,28 +59604,28 @@ pci:v00008086d00001C02* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller - - pci:v00008086d00001C02sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (XPS 8300) - - pci:v00008086d00001C02sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (P8 series motherboard) - - pci:v00008086d00001C02sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA AHCI Controller (Server Board S1200BTS) - - pci:v00008086d00001C03* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller - - pci:v00008086d00001C03sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Precision M4600) - - pci:v00008086d00001C03sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3350) - - pci:v00008086d00001C03sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Vostro 3750) - - pci:v00008086d00001C03sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C04* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SATA RAID Controller -@@ -59643,58 +59643,58 @@ pci:v00008086d00001C10* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 - - pci:v00008086d00001C10sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (XPS 8300) - - pci:v00008086d00001C10sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Vostro 3750) - - pci:v00008086d00001C10sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (P8 series motherboard) - - pci:v00008086d00001C10sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C12* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 - - pci:v00008086d00001C12sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (XPS 8300) - - pci:v00008086d00001C12sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 2 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C14* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 - - pci:v00008086d00001C14sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Vostro 3750) - - pci:v00008086d00001C14sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 3 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C16* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 - - pci:v00008086d00001C16sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 4 (XPS 8300) - - pci:v00008086d00001C18* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 - - pci:v00008086d00001C18sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Vostro 3750) - - pci:v00008086d00001C18sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 5 (Server Board S1200BTS) - - pci:v00008086d00001C1A* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 - - pci:v00008086d00001C1Asv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (Vostro 3750) - - pci:v00008086d00001C1Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 6 (P8 series motherboard) - - pci:v00008086d00001C1C* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 7 -@@ -59703,58 +59703,58 @@ pci:v00008086d00001C1E* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 - - pci:v00008086d00001C1Esv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family PCI Express Root Port 8 (P8 series motherboard) - - pci:v00008086d00001C20* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller - - pci:v00008086d00001C20sv00001028sd00000490* -- ID_MODEL_FROM_DATABASE=Alienware M17x R3 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Alienware M17x R3) - - pci:v00008086d00001C20sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Precision M4600) - - pci:v00008086d00001C20sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (XPS 8300) - - pci:v00008086d00001C20sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3350) - - pci:v00008086d00001C20sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Vostro 3750) - - pci:v00008086d00001C20sv00001043sd00008418* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8P67 Deluxe Motherboard) - - pci:v00008086d00001C20sv00001043sd0000841B* -- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (P8H67 Series Motherboard) - - pci:v00008086d00001C20sv00008086sd00002008* -- ID_MODEL_FROM_DATABASE=DQ67SW board -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (DQ67SW board) - - pci:v00008086d00001C20sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family High Definition Audio Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C22* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller - - pci:v00008086d00001C22sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Precision M4600) - - pci:v00008086d00001C22sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (XPS 8300) - - pci:v00008086d00001C22sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3350) - - pci:v00008086d00001C22sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Vostro 3750) - - pci:v00008086d00001C22sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (P8 series motherboard) - - pci:v00008086d00001C22sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family SMBus Controller (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C24* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family Thermal Management Controller -@@ -59766,55 +59766,55 @@ pci:v00008086d00001C26* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 - - pci:v00008086d00001C26sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Precision M4600) - - pci:v00008086d00001C26sv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (XPS 8300) - - pci:v00008086d00001C26sv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3350) - - pci:v00008086d00001C26sv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Vostro 3750) - - pci:v00008086d00001C26sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) - - pci:v00008086d00001C26sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C27* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 - - pci:v00008086d00001C27sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C2C* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 - - pci:v00008086d00001C2Csv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Universal Host Controller #5 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C2D* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 - - pci:v00008086d00001C2Dsv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Precision M4600) - - pci:v00008086d00001C2Dsv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (XPS 8300) - - pci:v00008086d00001C2Dsv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3350) - - pci:v00008086d00001C2Dsv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Vostro 3750) - - pci:v00008086d00001C2Dsv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) - - pci:v00008086d00001C2Dsv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (Server Board S1200BTS / Apple MacBook Pro 8,1/8,2) - - pci:v00008086d00001C33* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LAN Controller -@@ -59826,22 +59826,22 @@ pci:v00008086d00001C3A* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 - - pci:v00008086d00001C3Asv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Precision M4600) - - pci:v00008086d00001C3Asv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (XPS 8300) - - pci:v00008086d00001C3Asv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3350) - - pci:v00008086d00001C3Asv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Vostro 3750) - - pci:v00008086d00001C3Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (P8 series motherboard) - - pci:v00008086d00001C3Asv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #1 (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C3B* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family MEI Controller #2 -@@ -59874,7 +59874,7 @@ pci:v00008086d00001C46* - ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller - - pci:v00008086d00001C46sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8P67 Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=P67 Express Chipset Family LPC Controller (P8P67 Deluxe Motherboard) - - pci:v00008086d00001C47* - ID_MODEL_FROM_DATABASE=UM67 Express Chipset Family LPC Controller -@@ -59886,25 +59886,25 @@ pci:v00008086d00001C49* - ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller - - pci:v00008086d00001C49sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Apple MacBookPro8,2 [Core i7, 15", 2011] -+ ID_MODEL_FROM_DATABASE=HM65 Express Chipset Family LPC Controller (Apple MacBookPro8,2 [Core i7, 15", 2011]) - - pci:v00008086d00001C4A* - ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller - - pci:v00008086d00001C4Asv00001028sd000004AA* -- ID_MODEL_FROM_DATABASE=XPS 8300 -+ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (XPS 8300) - - pci:v00008086d00001C4Asv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8H67 Series Motherboard -+ ID_MODEL_FROM_DATABASE=H67 Express Chipset Family LPC Controller (P8H67 Series Motherboard) - - pci:v00008086d00001C4B* - ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller - - pci:v00008086d00001C4Bsv00001028sd000004B2* -- ID_MODEL_FROM_DATABASE=Vostro 3350 -+ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3350) - - pci:v00008086d00001C4Bsv00001028sd000004DA* -- ID_MODEL_FROM_DATABASE=Vostro 3750 -+ ID_MODEL_FROM_DATABASE=HM67 Express Chipset Family LPC Controller (Vostro 3750) - - pci:v00008086d00001C4C* - ID_MODEL_FROM_DATABASE=Q65 Express Chipset Family LPC Controller -@@ -59919,7 +59919,7 @@ pci:v00008086d00001C4F* - ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller - - pci:v00008086d00001C4Fsv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=Precision M4600 -+ ID_MODEL_FROM_DATABASE=QM67 Express Chipset Family LPC Controller (Precision M4600) - - pci:v00008086d00001C50* - ID_MODEL_FROM_DATABASE=B65 Express Chipset Family LPC Controller -@@ -59931,7 +59931,7 @@ pci:v00008086d00001C52* - ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller - - pci:v00008086d00001C52sv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=C202 Chipset Family LPC Controller (Server Board S1200BTS) - - pci:v00008086d00001C53* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller -@@ -59946,7 +59946,7 @@ pci:v00008086d00001C56* - ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller - - pci:v00008086d00001C56sv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8B WS Motherboard -+ ID_MODEL_FROM_DATABASE=C206 Chipset Family LPC Controller (P8B WS Motherboard) - - pci:v00008086d00001C57* - ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family LPC Controller -@@ -60177,19 +60177,19 @@ pci:v00008086d00001E02* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] - - pci:v00008086d00001E02sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) - - pci:v00008086d00001E02sv00001849sd00001E02* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) - - pci:v00008086d00001E03* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] - - pci:v00008086d00001E03sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (N56VZ) - - pci:v00008086d00001E03sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series Chipset Family 6-port SATA Controller [AHCI mode] (Zenbook Prime UX31A) - - pci:v00008086d00001E04* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SATA Controller [RAID mode] -@@ -60216,25 +60216,25 @@ pci:v00008086d00001E10* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 - - pci:v00008086d00001E10sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (N56VZ) - - pci:v00008086d00001E10sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Zenbook Prime UX31A) - - pci:v00008086d00001E10sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (P8H77-I Motherboard) - - pci:v00008086d00001E10sv00001849sd00001E10* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 1 (Motherboard) - - pci:v00008086d00001E12* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 - - pci:v00008086d00001E12sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (N56VZ) - - pci:v00008086d00001E12sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 2 (Zenbook Prime UX31A) - - pci:v00008086d00001E14* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 3 -@@ -60243,25 +60243,25 @@ pci:v00008086d00001E16* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 - - pci:v00008086d00001E16sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (N56VZ) - - pci:v00008086d00001E16sv00001849sd00001618* -- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 4 (Z77 Extreme4 motherboard) - - pci:v00008086d00001E18* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 - - pci:v00008086d00001E18sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (P8H77-I Motherboard) - - pci:v00008086d00001E18sv00001849sd00001E18* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 5 (Motherboard) - - pci:v00008086d00001E1A* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 - - pci:v00008086d00001E1Asv00001849sd00001E1A* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 6 (Motherboard) - - pci:v00008086d00001E1C* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 7 -@@ -60270,43 +60270,43 @@ pci:v00008086d00001E1E* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 - - pci:v00008086d00001E1Esv00001849sd00001E1E* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family PCI Express Root Port 8 (Motherboard) - - pci:v00008086d00001E20* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller - - pci:v00008086d00001E20sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (N56VZ) - - pci:v00008086d00001E20sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E20sv00001043sd00008415* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) - - pci:v00008086d00001E20sv00001849sd00001898* -- ID_MODEL_FROM_DATABASE=Z77 Extreme4 motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) - - pci:v00008086d00001E22* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller - - pci:v00008086d00001E22sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (N56VZ) - - pci:v00008086d00001E22sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E22sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) - - pci:v00008086d00001E22sv00001849sd00001E22* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) - - pci:v00008086d00001E24* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller - - pci:v00008086d00001E24sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family Thermal Management Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E25* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family DMI to PCI Bridge -@@ -60315,49 +60315,49 @@ pci:v00008086d00001E26* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 - - pci:v00008086d00001E26sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (N56VZ) - - pci:v00008086d00001E26sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E26sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) - - pci:v00008086d00001E26sv00001849sd00001E26* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) - - pci:v00008086d00001E2D* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 - - pci:v00008086d00001E2Dsv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (N56VZ) - - pci:v00008086d00001E2Dsv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) - - pci:v00008086d00001E2Dsv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) - - pci:v00008086d00001E2Dsv00001849sd00001E2D* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) - - pci:v00008086d00001E31* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller - - pci:v00008086d00001E31sv0000103Csd000017AB* -- ID_MODEL_FROM_DATABASE=ProBook 6570b -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (ProBook 6570b) - - pci:v00008086d00001E31sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (N56VZ) - - pci:v00008086d00001E31sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E31sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) - - pci:v00008086d00001E31sv00001849sd00001E31* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) - - pci:v00008086d00001E33* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family LAN Controller -@@ -60366,16 +60366,16 @@ pci:v00008086d00001E3A* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 - - pci:v00008086d00001E3Asv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (N56VZ) - - pci:v00008086d00001E3Asv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E3Asv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) - - pci:v00008086d00001E3Asv00001849sd00001E3A* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) - - pci:v00008086d00001E3B* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #2 -@@ -60399,7 +60399,7 @@ pci:v00008086d00001E44* - ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller - - pci:v00008086d00001E44sv00001849sd00001E44* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) - - pci:v00008086d00001E45* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller -@@ -60420,7 +60420,7 @@ pci:v00008086d00001E4A* - ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller - - pci:v00008086d00001E4Asv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=P8H77-I Motherboard -+ ID_MODEL_FROM_DATABASE=H77 Express Chipset LPC Controller (P8H77-I Motherboard) - - pci:v00008086d00001E4B* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller -@@ -60468,10 +60468,10 @@ pci:v00008086d00001E59* - ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller - - pci:v00008086d00001E59sv00001043sd00001477* -- ID_MODEL_FROM_DATABASE=N56VZ -+ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (N56VZ) - - pci:v00008086d00001E59sv00001043sd00001517* -- ID_MODEL_FROM_DATABASE=Zenbook Prime UX31A -+ ID_MODEL_FROM_DATABASE=HM76 Express Chipset LPC Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E5A* - ID_MODEL_FROM_DATABASE=7 Series Chipset Family LPC Controller -@@ -60804,28 +60804,28 @@ pci:v00008086d00002415* - ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller - - pci:v00008086d00002415sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Precision Workstation 220 Integrated Digital Audio) - - pci:v00008086d00002415sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (OptiPlex GX110) - - pci:v00008086d00002415sv0000110Asd00000051* -- ID_MODEL_FROM_DATABASE=Activy 2xx -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 2xx) - - pci:v00008086d00002415sv000011D4sd00000040* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002415sv000011D4sd00000048* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002415sv000011D4sd00005340* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002415sv00001734sd00001025* -- ID_MODEL_FROM_DATABASE=Activy 3xx -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (Activy 3xx) - - pci:v00008086d00002415sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801AA AC'97 Audio Controller (QEMU Virtual Machine) - - pci:v00008086d00002416* - ID_MODEL_FROM_DATABASE=82801AA AC'97 Modem Controller -@@ -60849,10 +60849,10 @@ pci:v00008086d00002425* - ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller - - pci:v00008086d00002425sv000011D4sd00000040* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002425sv000011D4sd00000048* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801AB AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00002426* - ID_MODEL_FROM_DATABASE=82801AB AC'97 Modem Controller -@@ -60864,352 +60864,352 @@ pci:v00008086d00002440* - ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) - - pci:v00008086d00002440sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E -+ ID_MODEL_FROM_DATABASE=82801BA ISA Bridge (LPC) (S845WD1-E) - - pci:v00008086d00002442* - ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 - - pci:v00008086d00002442sv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Netvista A40/A40p) - - pci:v00008086d00002442sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) - - pci:v00008086d00002442sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) - - pci:v00008086d00002442sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) - - pci:v00008086d00002442sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) - - pci:v00008086d00002442sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) - - pci:v00008086d00002442sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) - - pci:v00008086d00002442sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) - - pci:v00008086d00002442sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) - - pci:v00008086d00002442sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) - - pci:v00008086d00002442sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EGEW Mainboard) - - pci:v00008086d00002442sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) - - pci:v00008086d00002443* - ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller - - pci:v00008086d00002443sv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Netvista A40/A40p) - - pci:v00008086d00002443sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Travelmate 612 TX) - - pci:v00008086d00002443sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Dimension 8100) - - pci:v00008086d00002443sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Precision 530) - - pci:v00008086d00002443sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Optiplex GX240) - - pci:v00008086d00002443sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (e-pc 40) - - pci:v00008086d00002443sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TUSL2-C Mainboard) - - pci:v00008086d00002443sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Vaio PCG-FX403) - - pci:v00008086d00002443sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (TH7II-RAID) - - pci:v00008086d00002443sv000015D9sd00003280* -- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (Supermicro P4SBE Mainboard) - - pci:v00008086d00002443sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EEA2 mainboard) - - pci:v00008086d00002443sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (D815EGEW Mainboard) - - pci:v00008086d00002443sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM SMBus Controller (S845WD1-E mainboard) - - pci:v00008086d00002444* - ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 - - pci:v00008086d00002444sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Travelmate 612 TX) - - pci:v00008086d00002444sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Dimension 8100) - - pci:v00008086d00002444sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Precision 530) - - pci:v00008086d00002444sv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Optiplex GX240) - - pci:v00008086d00002444sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (e-pc 40) - - pci:v00008086d00002444sv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TUSL2-C Mainboard) - - pci:v00008086d00002444sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (Vaio PCG-FX403) - - pci:v00008086d00002444sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (TH7II-RAID) - - pci:v00008086d00002444sv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (D815EEA2 mainboard) - - pci:v00008086d00002444sv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM USB Controller #1 (S845WD1-E mainboard) - - pci:v00008086d00002445* - ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller - - pci:v00008086d00002445sv00000E11sd0000000B* -- ID_MODEL_FROM_DATABASE=Compaq Deskpro EN Audio -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Compaq Deskpro EN Audio) - - pci:v00008086d00002445sv00000E11sd00000088* -- ID_MODEL_FROM_DATABASE=Evo D500 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Evo D500) - - pci:v00008086d00002445sv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Netvista A40/A40p) - - pci:v00008086d00002445sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Travelmate 612 TX) - - pci:v00008086d00002445sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Precision 530) - - pci:v00008086d00002445sv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (e-pc 40) - - pci:v00008086d00002445sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (Vaio PCG-FX403) - - pci:v00008086d00002445sv00001462sd00003370* -- ID_MODEL_FROM_DATABASE=STAC9721 AC -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (STAC9721 AC) - - pci:v00008086d00002445sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (TH7II-RAID) - - pci:v00008086d00002445sv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Audio Controller (D815EGEW Mainboard) - - pci:v00008086d00002446* - ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller - - pci:v00008086d00002446sv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612 TX -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Travelmate 612 TX) - - pci:v00008086d00002446sv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM AC'97 Modem Controller (Vaio PCG-FX403) - - pci:v00008086d00002448* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge - - pci:v00008086d00002448sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Latitude E6510) - - pci:v00008086d00002448sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002448sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (NX6110/NC6120) - - pci:v00008086d00002448sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nx9420 Notebook) - - pci:v00008086d00002448sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq nw8440) - - pci:v00008086d00002448sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Compaq 6910p) - - pci:v00008086d00002448sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (VAIO VGN-NR120E) - - pci:v00008086d00002448sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) - - pci:v00008086d00002448sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) - - pci:v00008086d00002448sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) - - pci:v00008086d00002448sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (GA-D525TUD) - - pci:v00008086d00002448sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Amilo M1420) - - pci:v00008086d00002448sv000017AAsd000020AE* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) - - pci:v00008086d00002448sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) - - pci:v00008086d00002448sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (CCG-RUMBA) - - pci:v00008086d00002449* - ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller - - pci:v00008086d00002449sv00000E11sd00000012* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) - - pci:v00008086d00002449sv00000E11sd00000091* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001CE* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001DC* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001EB* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd000001EC* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000202* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000205* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000217* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000234* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd0000023D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000244* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000245* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001014sd00000265* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) - - pci:v00008086d00002449sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) - - pci:v00008086d00002449sv00001014sd0000026A* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Desktop Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Desktop Connection) - - pci:v00008086d00002449sv0000109Fsd0000315D* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv0000109Fsd00003181* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00001179sd0000FF01* -- ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (PRO/100 VE Network Connection) - - pci:v00008086d00002449sv00001186sd00007801* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv0000144Dsd00002602* -- ID_MODEL_FROM_DATABASE=HomePNA 1M CNR -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (HomePNA 1M CNR) - - pci:v00008086d00002449sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (QEMU Virtual Machine) - - pci:v00008086d00002449sv00008086sd00003010* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00008086sd00003011* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) - - pci:v00008086d00002449sv00008086sd00003012* -- ID_MODEL_FROM_DATABASE=82562EH based Phoneline -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) - - pci:v00008086d00002449sv00008086sd00003013* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VE -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VE) - - pci:v00008086d00002449sv00008086sd00003014* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 VM -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 VM) - - pci:v00008086d00002449sv00008086sd00003015* -- ID_MODEL_FROM_DATABASE=82562EH based Phoneline -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (82562EH based Phoneline) - - pci:v00008086d00002449sv00008086sd00003016* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile Combo -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile Combo) - - pci:v00008086d00002449sv00008086sd00003017* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 P Mobile -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100 P Mobile) - - pci:v00008086d00002449sv00008086sd00003018* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 -+ ID_MODEL_FROM_DATABASE=82801BA/BAM/CA/CAM Ethernet Controller (EtherExpress PRO/100) - - pci:v00008086d0000244A* - ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller - - pci:v00008086d0000244Asv00001025sd00001016* -- ID_MODEL_FROM_DATABASE=Travelmate 612TX -+ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Travelmate 612TX) - - pci:v00008086d0000244Asv0000104Dsd000080DF* -- ID_MODEL_FROM_DATABASE=Vaio PCG-FX403 -+ ID_MODEL_FROM_DATABASE=82801BAM IDE U100 Controller (Vaio PCG-FX403) - - pci:v00008086d0000244B* - ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller - - pci:v00008086d0000244Bsv00001014sd000001C6* -- ID_MODEL_FROM_DATABASE=Netvista A40/A40p -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Netvista A40/A40p) - - pci:v00008086d0000244Bsv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Dimension 8100) - - pci:v00008086d0000244Bsv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Precision 530) - - pci:v00008086d0000244Bsv00001028sd0000010E* -- ID_MODEL_FROM_DATABASE=Optiplex GX240 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Optiplex GX240) - - pci:v00008086d0000244Bsv0000103Csd0000126F* -- ID_MODEL_FROM_DATABASE=e-pc 40 -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (e-pc 40) - - pci:v00008086d0000244Bsv00001043sd00008027* -- ID_MODEL_FROM_DATABASE=TUSL2-C Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TUSL2-C Mainboard) - - pci:v00008086d0000244Bsv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (TH7II-RAID) - - pci:v00008086d0000244Bsv000015D9sd00003280* -- ID_MODEL_FROM_DATABASE=Supermicro P4SBE Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (Supermicro P4SBE Mainboard) - - pci:v00008086d0000244Bsv00008086sd00004532* -- ID_MODEL_FROM_DATABASE=D815EEA2 mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EEA2 mainboard) - - pci:v00008086d0000244Bsv00008086sd00004557* -- ID_MODEL_FROM_DATABASE=D815EGEW Mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (D815EGEW Mainboard) - - pci:v00008086d0000244Bsv00008086sd00005744* -- ID_MODEL_FROM_DATABASE=S845WD1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801BA IDE U100 Controller (S845WD1-E mainboard) - - pci:v00008086d0000244C* - ID_MODEL_FROM_DATABASE=82801BAM ISA Bridge (LPC) -@@ -61218,52 +61218,52 @@ pci:v00008086d0000244E* - ID_MODEL_FROM_DATABASE=82801 PCI Bridge - - pci:v00008086d0000244Esv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (NetVista A30p) - - pci:v00008086d0000244Esv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Inspiron 530) - - pci:v00008086d0000244Esv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Optiplex 755) - - pci:v00008086d0000244Esv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (OptiPlex 980) - - pci:v00008086d0000244Esv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Pavilion A1512X) - - pci:v00008086d0000244Esv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000244Esv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant DL140 G3) - - pci:v00008086d0000244Esv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (ProLiant ML150 G6 Server) - - pci:v00008086d0000244Esv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P5K PRO Motherboard) - - pci:v00008086d0000244Esv00001043sd0000844D* -- ID_MODEL_FROM_DATABASE=P8 series motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (P8 series motherboard) - - pci:v00008086d0000244Esv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Motherboard) - - pci:v00008086d0000244Esv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Wind PC MS-7418) - - pci:v00008086d0000244Esv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (C7SIM-Q Motherboard) - - pci:v00008086d0000244Esv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (X7DBN Motherboard) - - pci:v00008086d0000244Esv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (CC11/CL11) - - pci:v00008086d0000244Esv00008086sd00007270* -- ID_MODEL_FROM_DATABASE=Server Board S1200BTS -+ ID_MODEL_FROM_DATABASE=82801 PCI Bridge (Server Board S1200BTS) - - pci:v00008086d00002450* - ID_MODEL_FROM_DATABASE=82801E ISA Bridge (LPC) -@@ -61293,160 +61293,160 @@ pci:v00008086d00002482* - ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 - - pci:v00008086d00002482sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Evo N600c) - - pci:v00008086d00002482sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (ThinkPad A/T/X Series) - - pci:v00008086d00002482sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002482sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (P4DP6) - - pci:v00008086d00002482sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (vpr Matrix 170B4) - - pci:v00008086d00002482sv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (SE7501HG2 Mainboard) - - pci:v00008086d00002482sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #1 (Latitude C640) - - pci:v00008086d00002483* - ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller - - pci:v00008086d00002483sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002483sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002483sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (P4DP6) - - pci:v00008086d00002483sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM SMBus Controller (vpr Matrix 170B4) - - pci:v00008086d00002484* - ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 - - pci:v00008086d00002484sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (Evo N600c) - - pci:v00008086d00002484sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (ThinkPad A/T/X Series) - - pci:v00008086d00002484sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002484sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (P4DP6) - - pci:v00008086d00002484sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #2 (vpr Matrix 170B4) - - pci:v00008086d00002485* - ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller - - pci:v00008086d00002485sv00001013sd00005959* -- ID_MODEL_FROM_DATABASE=Crystal WMD Audio Codec -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (Crystal WMD Audio Codec) - - pci:v00008086d00002485sv00001014sd00000222* -- ID_MODEL_FROM_DATABASE=ThinkPad A30/A30p/T23 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A30/A30p/T23) - - pci:v00008086d00002485sv00001014sd00000508* -- ID_MODEL_FROM_DATABASE=ThinkPad T30 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad T30) - - pci:v00008086d00002485sv00001014sd0000051C* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002485sv00001043sd00001583* -- ID_MODEL_FROM_DATABASE=L3C (SPDIF) -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3C (SPDIF)) - - pci:v00008086d00002485sv00001043sd00001623* -- ID_MODEL_FROM_DATABASE=L2B (no SPDIF) -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L2B (no SPDIF)) - - pci:v00008086d00002485sv00001043sd00001643* -- ID_MODEL_FROM_DATABASE=L3F -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (L3F) - - pci:v00008086d00002485sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002485sv0000144Dsd0000C006* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Audio Controller (vpr Matrix 170B4) - - pci:v00008086d00002486* - ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller - - pci:v00008086d00002486sv00001014sd00000223* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002486sv00001014sd00000503* -- ID_MODEL_FROM_DATABASE=ThinkPad R31 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad R31) - - pci:v00008086d00002486sv00001014sd0000051A* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (ThinkPad A/T/X Series) - - pci:v00008086d00002486sv0000101Fsd00001025* -- ID_MODEL_FROM_DATABASE=620 Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (620 Series) - - pci:v00008086d00002486sv00001043sd00001496* -- ID_MODEL_FROM_DATABASE=PCtel HSP56 MR -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (PCtel HSP56 MR) - - pci:v00008086d00002486sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002486sv0000134Dsd00004C21* -- ID_MODEL_FROM_DATABASE=Dell Inspiron 2100 internal modem -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (Dell Inspiron 2100 internal modem) - - pci:v00008086d00002486sv0000144Dsd00002115* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 internal modem -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (vpr Matrix 170B4 internal modem) - - pci:v00008086d00002486sv000014F1sd00005421* -- ID_MODEL_FROM_DATABASE=MD56ORD V.92 MDC Modem -+ ID_MODEL_FROM_DATABASE=82801CA/CAM AC'97 Modem Controller (MD56ORD V.92 MDC Modem) - - pci:v00008086d00002487* - ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 - - pci:v00008086d00002487sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (Evo N600c) - - pci:v00008086d00002487sv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (ThinkPad A/T/X Series) - - pci:v00008086d00002487sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00002487sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (P4DP6) - - pci:v00008086d00002487sv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CA/CAM USB Controller #3 (vpr Matrix 170B4) - - pci:v00008086d0000248A* - ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller - - pci:v00008086d0000248Asv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Evo N600c) - - pci:v00008086d0000248Asv00001014sd00000220* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (ThinkPad A/T/X Series) - - pci:v00008086d0000248Asv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d0000248Asv00008086sd00001958* -- ID_MODEL_FROM_DATABASE=vpr Matrix 170B4 -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (vpr Matrix 170B4) - - pci:v00008086d0000248Asv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude C640 -+ ID_MODEL_FROM_DATABASE=82801CAM IDE U100 Controller (Latitude C640) - - pci:v00008086d0000248B* - ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller - - pci:v00008086d0000248Bsv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=82801CA Ultra ATA Storage Controller (P4DP6) - - pci:v00008086d0000248C* - ID_MODEL_FROM_DATABASE=82801CAM ISA Bridge (LPC) -@@ -61455,10 +61455,10 @@ pci:v00008086d000024C0* - ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge - - pci:v00008086d000024C0sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (NetVista A30p) - - pci:v00008086d000024C0sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (845PE Max (MS-6580)) - - pci:v00008086d000024C1* - ID_MODEL_FROM_DATABASE=82801DBL (ICH4-L) IDE Controller -@@ -61467,574 +61467,574 @@ pci:v00008086d000024C2* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 - - pci:v00008086d000024C2sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NetVista A30p) - - pci:v00008086d000024C2sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (ThinkPad) - - pci:v00008086d000024C2sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (TravelMate 290) - - pci:v00008086d000024C2sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Optiplex GX260) - - pci:v00008086d000024C2sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D505) - - pci:v00008086d000024C2sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 700m/710m) - - pci:v00008086d000024C2sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Inspiron 5160) - - pci:v00008086d000024C2sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC8000 laptop) - - pci:v00008086d000024C2sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (NC6000 laptop) - - pci:v00008086d000024C2sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (tc1100 tablet) - - pci:v00008086d000024C2sv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P4B533) - - pci:v00008086d000024C2sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (MIM2000) - - pci:v00008086d000024C2sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard USB 1.x -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (PC8 onboard USB 1.x) - - pci:v00008086d000024C2sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (X10 Laptop) - - pci:v00008086d000024C2sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (P30/P35 notebook) - - pci:v00008086d000024C2sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (845PE Max (MS-6580)) - - pci:v00008086d000024C2sv00001509sd00002990* -- ID_MODEL_FROM_DATABASE=Averatec 5110H laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Averatec 5110H laptop) - - pci:v00008086d000024C2sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C2sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Amilo M1420) - - pci:v00008086d000024C2sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C2sv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude X300) - - pci:v00008086d000024C2sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (Latitude D400/D500) - - pci:v00008086d000024C2sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CC9-SAMBA) - - pci:v00008086d000024C2sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (CD2-BEBOP) - - pci:v00008086d000024C3* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller - - pci:v00008086d000024C3sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NetVista A30p) - - pci:v00008086d000024C3sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (ThinkPad) - - pci:v00008086d000024C3sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (TravelMate 290) - - pci:v00008086d000024C3sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Optiplex GX260) - - pci:v00008086d000024C3sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Latitude X300) - - pci:v00008086d000024C3sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Inspiron 700m/710m) - - pci:v00008086d000024C3sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC8000 laptop) - - pci:v00008086d000024C3sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (NC6000 laptop) - - pci:v00008086d000024C3sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (tc1100 tablet) - - pci:v00008086d000024C3sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (MIM2000) - - pci:v00008086d000024C3sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard SMbus -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (PC8 onboard SMbus) - - pci:v00008086d000024C3sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (X10 Laptop) - - pci:v00008086d000024C3sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (P30/P35 notebook) - - pci:v00008086d000024C3sv00001458sd000024C2* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (GA-8PE667 Ultra) - - pci:v00008086d000024C3sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (845PE Max (MS-6580)) - - pci:v00008086d000024C3sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C3sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Amilo M1420) - - pci:v00008086d000024C3sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C3sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CC9-SAMBA) - - pci:v00008086d000024C3sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (CD2-BEBOP) - - pci:v00008086d000024C4* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 - - pci:v00008086d000024C4sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NetVista A30p) - - pci:v00008086d000024C4sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (ThinkPad) - - pci:v00008086d000024C4sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (TravelMate 290) - - pci:v00008086d000024C4sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Optiplex GX260) - - pci:v00008086d000024C4sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D505) - - pci:v00008086d000024C4sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 700m/710m) - - pci:v00008086d000024C4sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Inspiron 5160) - - pci:v00008086d000024C4sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC8000 laptop) - - pci:v00008086d000024C4sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (NC6000 laptop) - - pci:v00008086d000024C4sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (tc1100 tablet) - - pci:v00008086d000024C4sv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P4B533) - - pci:v00008086d000024C4sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (MIM2000) - - pci:v00008086d000024C4sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (P30/P35 notebook) - - pci:v00008086d000024C4sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (845PE Max (MS-6580)) - - pci:v00008086d000024C4sv00001509sd00002990* -- ID_MODEL_FROM_DATABASE=Averatec 5110H -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Averatec 5110H) - - pci:v00008086d000024C4sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C4sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C4sv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude X300) - - pci:v00008086d000024C4sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (Latitude D400/D500) - - pci:v00008086d000024C4sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CC9-SAMBA) - - pci:v00008086d000024C4sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (CD2-BEBOP) - - pci:v00008086d000024C5* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller - - pci:v00008086d000024C5sv00000E11sd000000B8* -- ID_MODEL_FROM_DATABASE=Analog Devices Inc. codec [SoundMAX] -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Analog Devices Inc. codec [SoundMAX]) - - pci:v00008086d000024C5sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) - - pci:v00008086d000024C5sv00001014sd00000537* -- ID_MODEL_FROM_DATABASE=ThinkPad T41 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) - - pci:v00008086d000024C5sv00001014sd0000055F* -- ID_MODEL_FROM_DATABASE=Thinkpad R50e model 1634 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) - - pci:v00008086d000024C5sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (TravelMate 290) - - pci:v00008086d000024C5sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D400) - - pci:v00008086d000024C5sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude X300) - - pci:v00008086d000024C5sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D500) - - pci:v00008086d000024C5sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Latitude D505) - - pci:v00008086d000024C5sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m [SigmaTel STAC9750,51] -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 700m/710m [SigmaTel STAC9750,51]) - - pci:v00008086d000024C5sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Inspiron 5160) - - pci:v00008086d000024C5sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC8000 laptop) - - pci:v00008086d000024C5sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NC6000 laptop) - - pci:v00008086d000024C5sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (tc1100 tablet) - - pci:v00008086d000024C5sv00001043sd00001713* -- ID_MODEL_FROM_DATABASE=M2400N/M6800N laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (M2400N/M6800N laptop) - - pci:v00008086d000024C5sv00001043sd000080B0* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P4B533) - - pci:v00008086d000024C5sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (MIM2000) - - pci:v00008086d000024C5sv00001179sd00000201* -- ID_MODEL_FROM_DATABASE=Toshiba Tecra M1 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Toshiba Tecra M1) - - pci:v00008086d000024C5sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (X10 Laptop) - - pci:v00008086d000024C5sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (P30/P35 notebook) - - pci:v00008086d000024C5sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (GA-8PE667 Ultra) - - pci:v00008086d000024C5sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (845PE Max (MS-6580)) - - pci:v00008086d000024C5sv00001734sd00001005* -- ID_MODEL_FROM_DATABASE=D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T) - - pci:v00008086d000024C5sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Amilo M1420) - - pci:v00008086d000024C5sv00008086sd000024C5* -- ID_MODEL_FROM_DATABASE=Dell Dimension 2400 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Dell Dimension 2400) - - pci:v00008086d000024C6* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller - - pci:v00008086d000024C6sv00001014sd00000524* -- ID_MODEL_FROM_DATABASE=ThinkPad T41 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) - - pci:v00008086d000024C6sv00001014sd00000525* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) - - pci:v00008086d000024C6sv00001014sd00000559* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad R50e) - - pci:v00008086d000024C6sv00001025sd0000003C* -- ID_MODEL_FROM_DATABASE=Aspire 2001WLCi (Compal CL50 motherboard) implementation -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Aspire 2001WLCi (Compal CL50 motherboard) implementation) - - pci:v00008086d000024C6sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (TravelMate 290) - - pci:v00008086d000024C6sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Inspiron 5160) - - pci:v00008086d000024C6sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC8000 laptop) - - pci:v00008086d000024C6sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (NC6000 laptop) - - pci:v00008086d000024C6sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (tc1100 tablet) - - pci:v00008086d000024C6sv00001043sd00001716* -- ID_MODEL_FROM_DATABASE=M2400N laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M2400N laptop) - - pci:v00008086d000024C6sv00001043sd00001826* -- ID_MODEL_FROM_DATABASE=M6800N -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (M6800N) - - pci:v00008086d000024C6sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (MIM2000) - - pci:v00008086d000024C6sv0000134Dsd00004C21* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (Latitude D500) - - pci:v00008086d000024C6sv0000144Dsd00002115* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (X10 Laptop) - - pci:v00008086d000024C6sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (P30/P35 notebook) - - pci:v00008086d000024C6sv000014F1sd00005422* -- ID_MODEL_FROM_DATABASE=D480 MDC V.9x Modem -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (D480 MDC V.9x Modem) - - pci:v00008086d000024C7* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 - - pci:v00008086d000024C7sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NetVista A30p) - - pci:v00008086d000024C7sv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (ThinkPad) - - pci:v00008086d000024C7sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (TravelMate 290) - - pci:v00008086d000024C7sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Optiplex GX260) - - pci:v00008086d000024C7sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D505) - - pci:v00008086d000024C7sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 700m/710m) - - pci:v00008086d000024C7sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Inspiron 5160) - - pci:v00008086d000024C7sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC8000 laptop) - - pci:v00008086d000024C7sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (NC6000 laptop) - - pci:v00008086d000024C7sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (tc1100 tablet) - - pci:v00008086d000024C7sv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P4B533) - - pci:v00008086d000024C7sv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (MIM2000) - - pci:v00008086d000024C7sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (P30/P35 notebook) - - pci:v00008086d000024C7sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (845PE Max (MS-6580)) - - pci:v00008086d000024C7sv00001509sd00002990* -- ID_MODEL_FROM_DATABASE=Averatec 5110H -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Averatec 5110H) - - pci:v00008086d000024C7sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024C7sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Cx9 / Vx9 mainboard) - - pci:v00008086d000024C7sv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude X300) - - pci:v00008086d000024C7sv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (Latitude D400/D500) - - pci:v00008086d000024C7sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CC9-SAMBA) - - pci:v00008086d000024C7sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (CD2-BEBOP) - - pci:v00008086d000024CA* - ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller - - pci:v00008086d000024CAsv00001014sd0000052D* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (ThinkPad) - - pci:v00008086d000024CAsv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (TravelMate 290) - - pci:v00008086d000024CAsv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude X300) - - pci:v00008086d000024CAsv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D505) - - pci:v00008086d000024CAsv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 700m/710m) - - pci:v00008086d000024CAsv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Inspiron 5160) - - pci:v00008086d000024CAsv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC8000 laptop) - - pci:v00008086d000024CAsv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (NC6000 laptop) - - pci:v00008086d000024CAsv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (tc1100 tablet) - - pci:v00008086d000024CAsv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (MIM2000) - - pci:v00008086d000024CAsv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (X10 Laptop) - - pci:v00008086d000024CAsv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (P30/P35 notebook) - - pci:v00008086d000024CAsv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Amilo M1420) - - pci:v00008086d000024CAsv00008086sd00004541* -- ID_MODEL_FROM_DATABASE=Latitude D400/D500 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) IDE Controller (Latitude D400/D500) - - pci:v00008086d000024CB* - ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller - - pci:v00008086d000024CBsv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (NetVista A30p) - - pci:v00008086d000024CBsv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Optiplex GX260) - - pci:v00008086d000024CBsv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (P4B533) - - pci:v00008086d000024CBsv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard IDE -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (PC8 onboard IDE) - - pci:v00008086d000024CBsv00001458sd000024C2* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (GA-8PE667 Ultra) - - pci:v00008086d000024CBsv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (845PE Max (MS-6580)) - - pci:v00008086d000024CBsv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024CBsv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d000024CBsv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CC9-SAMBA) - - pci:v00008086d000024CBsv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB (ICH4) IDE Controller (CD2-BEBOP) - - pci:v00008086d000024CC* - ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge - - pci:v00008086d000024CCsv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (P30 notebook) - - pci:v00008086d000024CCsv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DBM (ICH4-M) LPC Interface Bridge (Amilo M1420) - - pci:v00008086d000024CD* - ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller - - pci:v00008086d000024CDsv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NetVista A30p) - - pci:v00008086d000024CDsv00001014sd0000052E* -- ID_MODEL_FROM_DATABASE=ThinkPad -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (ThinkPad) - - pci:v00008086d000024CDsv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (TravelMate 290) - - pci:v00008086d000024CDsv00001028sd0000011D* -- ID_MODEL_FROM_DATABASE=Latitude D600 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D600) - - pci:v00008086d000024CDsv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Optiplex GX260) - - pci:v00008086d000024CDsv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D400) - - pci:v00008086d000024CDsv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D500) - - pci:v00008086d000024CDsv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude D505) - - pci:v00008086d000024CDsv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 700m/710m) - - pci:v00008086d000024CDsv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Inspiron 5160) - - pci:v00008086d000024CDsv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC8000 laptop) - - pci:v00008086d000024CDsv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (NC6000 laptop) - - pci:v00008086d000024CDsv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (tc1100 tablet) - - pci:v00008086d000024CDsv00001043sd00008089* -- ID_MODEL_FROM_DATABASE=P4B533 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P4B533) - - pci:v00008086d000024CDsv00001071sd00008160* -- ID_MODEL_FROM_DATABASE=MIM2000 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (MIM2000) - - pci:v00008086d000024CDsv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 onboard USB 2.0 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (PC8 onboard USB 2.0) - - pci:v00008086d000024CDsv00001179sd0000FF00* -- ID_MODEL_FROM_DATABASE=Satellite 2430 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Satellite 2430) - - pci:v00008086d000024CDsv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (X10 Laptop) - - pci:v00008086d000024CDsv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (P30/P35 notebook) - - pci:v00008086d000024CDsv00001462sd00003981* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (845PE Max (MS-6580)) - - pci:v00008086d000024CDsv00001509sd00001968* -- ID_MODEL_FROM_DATABASE=Averatec 5110H -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Averatec 5110H) - - pci:v00008086d000024CDsv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d000024CDsv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Amilo M1420) - - pci:v00008086d000024CDsv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (QEMU Virtual Machine) - - pci:v00008086d000024CDsv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d000024CDsv00008086sd000024C2* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (Latitude X300) - - pci:v00008086d000024CDsv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CC9-SAMBA) - - pci:v00008086d000024CDsv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (CD2-BEBOP) - - pci:v00008086d000024D0* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) LPC Interface Bridge -@@ -62043,436 +62043,436 @@ pci:v00008086d000024D1* - ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller - - pci:v00008086d000024D1sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D1sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Precision 470) - - pci:v00008086d000024D1sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (PowerEdge SC1425) - - pci:v00008086d000024D1sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (d530 CMT (DG746A)) - - pci:v00008086d000024D1sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (ProLiant DL140 G2) - - pci:v00008086d000024D1sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4P800 series motherboard) - - pci:v00008086d000024D1sv00001458sd000024D1* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D1sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D1sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D1sv00001565sd00005200* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4TSV Motherboard (865G)) - - pci:v00008086d000024D1sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (P4SCE Mainboard) - - pci:v00008086d000024D1sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (S875WP1-E mainboard) - - pci:v00008086d000024D1sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GBF) - - pci:v00008086d000024D1sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (Desktop Board D865GLC) - - pci:v00008086d000024D1sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB (ICH5) SATA Controller (D865PERL mainboard) - - pci:v00008086d000024D2* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 - - pci:v00008086d000024D2sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) - - pci:v00008086d000024D2sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (eServer xSeries server mainboard) - - pci:v00008086d000024D2sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D2sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Precision 470) - - pci:v00008086d000024D2sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1850 onboard UHCI) - - pci:v00008086d000024D2sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 2850 onboard UHCI) - - pci:v00008086d000024D2sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 6850 onboard UHCI) - - pci:v00008086d000024D2sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge 1800) - - pci:v00008086d000024D2sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PowerEdge SC1425) - - pci:v00008086d000024D2sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (NX9500) - - pci:v00008086d000024D2sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (d530 CMT (DG746A)) - - pci:v00008086d000024D2sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (ProLiant DL140 G2) - - pci:v00008086d000024D2sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D2sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (GA-8IPE1000/8KNXP motherboard) - - pci:v00008086d000024D2sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D2sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4TSV Motherboard (865G)) - - pci:v00008086d000024D2sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (P4SCE Mainboard) - - pci:v00008086d000024D2sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (PRIMERGY RX/TX series onboard UHCI) - - pci:v00008086d000024D2sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (S875WP1-E mainboard) - - pci:v00008086d000024D2sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GBF) - - pci:v00008086d000024D2sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (Desktop Board D865GLC) - - pci:v00008086d000024D2sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (D865PERL mainboard) - - pci:v00008086d000024D3* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller - - pci:v00008086d000024D3sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) - - pci:v00008086d000024D3sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (eServer xSeries server mainboard) - - pci:v00008086d000024D3sv00001028sd00000156* -- ID_MODEL_FROM_DATABASE=Precision 360 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 360) - - pci:v00008086d000024D3sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D3sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Precision 470) - - pci:v00008086d000024D3sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d330 uT -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (d330 uT) - - pci:v00008086d000024D3sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (ProLiant DL140 G2) - - pci:v00008086d000024D3sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D3sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D3sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D3sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D3sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4TSV Motherboard (865G)) - - pci:v00008086d000024D3sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (P4SCE Mainboard) - - pci:v00008086d000024D3sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series SMBus -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (PRIMERGY RX/TX S2 series SMBus) - - pci:v00008086d000024D3sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (S875WP1-E mainboard) - - pci:v00008086d000024D3sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GBF) - - pci:v00008086d000024D3sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (Desktop Board D865GLC) - - pci:v00008086d000024D3sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) SMBus Controller (D865PERL mainboard) - - pci:v00008086d000024D4* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 - - pci:v00008086d000024D4sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) - - pci:v00008086d000024D4sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (eServer xSeries server mainboard) - - pci:v00008086d000024D4sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D4sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Precision 470) - - pci:v00008086d000024D4sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1850 onboard UHCI) - - pci:v00008086d000024D4sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 2850 onboard UHCI) - - pci:v00008086d000024D4sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 6850 onboard UHCI) - - pci:v00008086d000024D4sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge 1800) - - pci:v00008086d000024D4sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PowerEdge SC1425) - - pci:v00008086d000024D4sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (NX9500) - - pci:v00008086d000024D4sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (d530 CMT (DG746A)) - - pci:v00008086d000024D4sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (ProLiant DL140 G2) - - pci:v00008086d000024D4sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D4sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D4sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D4sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D4sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4TSV Motherboard (865G)) - - pci:v00008086d000024D4sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (P4SCE Mainboard) - - pci:v00008086d000024D4sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (PRIMERGY RX/TX S2 series onboard UHCI) - - pci:v00008086d000024D4sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (S875WP1-E mainboard) - - pci:v00008086d000024D4sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GBF) - - pci:v00008086d000024D4sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (Desktop Board D865GLC) - - pci:v00008086d000024D4sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (D865PERL mainboard) - - pci:v00008086d000024D5* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller - - pci:v00008086d000024D5sv0000100Asd0000147B* -- ID_MODEL_FROM_DATABASE=Abit IS7-E motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Abit IS7-E motherboard) - - pci:v00008086d000024D5sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D5sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Precision 470) - - pci:v00008086d000024D5sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (NX9500) - - pci:v00008086d000024D5sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d330 uT -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (d330 uT) - - pci:v00008086d000024D5sv00001043sd000080F3* -- ID_MODEL_FROM_DATABASE=P4P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P4P800 series motherboard) - - pci:v00008086d000024D5sv00001043sd0000810F* -- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (P5P800-MX Mainboard) - - pci:v00008086d000024D5sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000/8KNXP motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (GA-8IPE1000/8KNXP motherboard) - - pci:v00008086d000024D5sv00001462sd00000080* -- ID_MODEL_FROM_DATABASE=865PE Neo2-V (MS-6788) Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2-V (MS-6788) Mainboard) - - pci:v00008086d000024D5sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D5sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D5sv00008086sd0000A000* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) - - pci:v00008086d000024D5sv00008086sd0000E000* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (D865PERL mainboard) - - pci:v00008086d000024D5sv00008086sd0000E001* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (Desktop Board D865GBF) - - pci:v00008086d000024D5sv00008086sd0000E002* -- ID_MODEL_FROM_DATABASE=SoundMax Intergrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (SoundMax Intergrated Digital Audio) - - pci:v00008086d000024D6* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller - - pci:v00008086d000024D6sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller (NX9500) - - pci:v00008086d000024D7* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 - - pci:v00008086d000024D7sv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (xSeries server mainboard) - - pci:v00008086d000024D7sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024D7sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Precision 470) - - pci:v00008086d000024D7sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1850 onboard UHCI) - - pci:v00008086d000024D7sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 2850 onboard UHCI) - - pci:v00008086d000024D7sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 6850 onboard UHCI) - - pci:v00008086d000024D7sv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PowerEdge 1800) - - pci:v00008086d000024D7sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (NX9500) - - pci:v00008086d000024D7sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (d530 CMT (DG746A)) - - pci:v00008086d000024D7sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024D7sv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024D7sv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024D7sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024D7sv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4TSV Motherboard (865G)) - - pci:v00008086d000024D7sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (P4SCE Mainboard) - - pci:v00008086d000024D7sv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (PRIMERGY RX/TX S2 series onboard UHCI) - - pci:v00008086d000024D7sv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (S875WP1-E mainboard) - - pci:v00008086d000024D7sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GBF) - - pci:v00008086d000024D7sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (Desktop Board D865GLC) - - pci:v00008086d000024D7sv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (D865PERL mainboard) - - pci:v00008086d000024DB* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller - - pci:v00008086d000024DBsv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DBsv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DBsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024DBsv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Precision 470) - - pci:v00008086d000024DBsv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 IDE Controller -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 1850 IDE Controller) - - pci:v00008086d000024DBsv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 IDE Controller -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 2850 IDE Controller) - - pci:v00008086d000024DBsv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 IDE Controller -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge 6850 IDE Controller) - - pci:v00008086d000024DBsv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PowerEdge SC1425) - - pci:v00008086d000024DBsv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (NX9500) - - pci:v00008086d000024DBsv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (d530 CMT (DG746A)) - - pci:v00008086d000024DBsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4P800/P5P800 series motherboard) - - pci:v00008086d000024DBsv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024DBsv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024DBsv00001462sd00007580* -- ID_MODEL_FROM_DATABASE=MSI 875P -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (MSI 875P) - - pci:v00008086d000024DBsv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024DBsv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4TSV Motherboard (865G)) - - pci:v00008086d000024DBsv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4SCE Mainboard) - - pci:v00008086d000024DBsv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard IDE -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (PRIMERGY RX/TX S2 series onboard IDE) - - pci:v00008086d000024DBsv00008086sd000024DB* -- ID_MODEL_FROM_DATABASE=P4C800 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (P4C800 Mainboard) - - pci:v00008086d000024DBsv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (S875WP1-E mainboard) - - pci:v00008086d000024DBsv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GBF) - - pci:v00008086d000024DBsv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (Desktop Board D865GLC) - - pci:v00008086d000024DBsv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) IDE Controller (D865PERL mainboard) - - pci:v00008086d000024DC* - ID_MODEL_FROM_DATABASE=82801EB (ICH5) LPC Interface Bridge -@@ -62481,142 +62481,142 @@ pci:v00008086d000024DD* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller - - pci:v00008086d000024DDsv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DDsv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (eServer xSeries server mainboard) - - pci:v00008086d000024DDsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024DDsv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Precision 470) - - pci:v00008086d000024DDsv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1850 onboard EHCI) - - pci:v00008086d000024DDsv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 2850 onboard EHCI) - - pci:v00008086d000024DDsv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 6850 onboard EHCI) - - pci:v00008086d000024DDsv00001028sd00000183* -- ID_MODEL_FROM_DATABASE=PowerEdge 1800 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge 1800) - - pci:v00008086d000024DDsv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (PowerEdge SC1425) - - pci:v00008086d000024DDsv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (NX9500) - - pci:v00008086d000024DDsv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d530 CMT (DG746A) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (d530 CMT (DG746A)) - - pci:v00008086d000024DDsv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (ProLiant DL140 G2) - - pci:v00008086d000024DDsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (P4P800/P5P800 series motherboard) - - pci:v00008086d000024DDsv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024DDsv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (865PE Neo2 (MS-6728)) - - pci:v00008086d000024DDsv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024DDsv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (S875WP1-E mainboard) - - pci:v00008086d000024DDsv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GBF) - - pci:v00008086d000024DDsv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (Desktop Board D865GLC) - - pci:v00008086d000024DDsv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (D865PERL mainboard) - - pci:v00008086d000024DE* - ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 - - pci:v00008086d000024DEsv00001014sd000002ED* -- ID_MODEL_FROM_DATABASE=xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (xSeries server mainboard) - - pci:v00008086d000024DEsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision Workstation 670 Mainboard) - - pci:v00008086d000024DEsv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Precision 470) - - pci:v00008086d000024DEsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4P800/P5P800 series motherboard) - - pci:v00008086d000024DEsv00001458sd000024D2* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d000024DEsv00001462sd00007280* -- ID_MODEL_FROM_DATABASE=865PE Neo2 (MS-6728) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (865PE Neo2 (MS-6728)) - - pci:v00008086d000024DEsv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Hetis 865GV-E (MS-7065)) - - pci:v00008086d000024DEsv00001565sd00003101* -- ID_MODEL_FROM_DATABASE=P4TSV Motherboard (865G) -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4TSV Motherboard (865G)) - - pci:v00008086d000024DEsv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (P4SCE Mainboard) - - pci:v00008086d000024DEsv00001734sd0000101C* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (PRIMERGY RX/TX S2 series onboard UHCI) - - pci:v00008086d000024DEsv00008086sd00003427* -- ID_MODEL_FROM_DATABASE=S875WP1-E mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (S875WP1-E mainboard) - - pci:v00008086d000024DEsv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GBF) - - pci:v00008086d000024DEsv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (Desktop Board D865GLC) - - pci:v00008086d000024DEsv00008086sd0000524C* -- ID_MODEL_FROM_DATABASE=D865PERL mainboard -+ ID_MODEL_FROM_DATABASE=82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (D865PERL mainboard) - - pci:v00008086d000024DF* - ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller - - pci:v00008086d000024DFsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller (Precision Workstation 670 Mainboard) - - pci:v00008086d000024F3* - ID_MODEL_FROM_DATABASE=Wireless 8260 - - pci:v00008086d000024F3sv00008086sd00000010* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) - - pci:v00008086d000024F4* - ID_MODEL_FROM_DATABASE=Wireless 8260 - - pci:v00008086d000024F4sv00008086sd00000030* -- ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 8260 -+ ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260) - - pci:v00008086d00002500* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) - - pci:v00008086d00002500sv00001028sd00000095* -- ID_MODEL_FROM_DATABASE=Precision Workstation 220 Chipset -+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (Precision Workstation 220 Chipset) - - pci:v00008086d00002500sv00001043sd0000801C* -- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset -+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) - - pci:v00008086d00002501* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) - - pci:v00008086d00002501sv00001043sd0000801C* -- ID_MODEL_FROM_DATABASE=P3C-2000 system chipset -+ ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH) (P3C-2000 system chipset) - - pci:v00008086d0000250B* - ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge -@@ -62634,16 +62634,16 @@ pci:v00008086d00002530* - ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) - - pci:v00008086d00002530sv00001028sd000000C7* -- ID_MODEL_FROM_DATABASE=Dimension 8100 -+ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (Dimension 8100) - - pci:v00008086d00002530sv0000147Bsd00000507* -- ID_MODEL_FROM_DATABASE=TH7II-RAID -+ ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset Host Bridge (MCH) (TH7II-RAID) - - pci:v00008086d00002531* - ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) - - pci:v00008086d00002531sv00001028sd000000D8* -- ID_MODEL_FROM_DATABASE=Precision 530 -+ ID_MODEL_FROM_DATABASE=82860 860 (Wombat) Chipset Host Bridge (MCH) (Precision 530) - - pci:v00008086d00002532* - ID_MODEL_FROM_DATABASE=82850 850 (Tehama) Chipset AGP Bridge -@@ -62658,19 +62658,19 @@ pci:v00008086d00002540* - ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub - - pci:v00008086d00002540sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=E7500 Memory Controller Hub (P4DP6) - - pci:v00008086d00002541* - ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller - - pci:v00008086d00002541sv000015D9sd00003480* -- ID_MODEL_FROM_DATABASE=P4DP6 -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (P4DP6) - - pci:v00008086d00002541sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d00002541sv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Host RASUM Controller (SE7501HG2 Mainboard) - - pci:v00008086d00002543* - ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B PCI-to-PCI Bridge -@@ -62679,7 +62679,7 @@ pci:v00008086d00002544* - ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller - - pci:v00008086d00002544sv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface B RASUM Controller (Cx9 / Vx9 mainboard) - - pci:v00008086d00002545* - ID_MODEL_FROM_DATABASE=E7500/E7501 Hub Interface C PCI-to-PCI Bridge -@@ -62697,10 +62697,10 @@ pci:v00008086d0000254C* - ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub - - pci:v00008086d0000254Csv00004C53sd00001090* -- ID_MODEL_FROM_DATABASE=Cx9 / Vx9 mainboard -+ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (Cx9 / Vx9 mainboard) - - pci:v00008086d0000254Csv00008086sd00003424* -- ID_MODEL_FROM_DATABASE=SE7501HG2 Mainboard -+ ID_MODEL_FROM_DATABASE=E7501 Memory Controller Hub (SE7501HG2 Mainboard) - - pci:v00008086d00002550* - ID_MODEL_FROM_DATABASE=E7505 Memory Controller Hub -@@ -62724,13 +62724,13 @@ pci:v00008086d00002560* - ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface - - pci:v00008086d00002560sv00001028sd00000126* -- ID_MODEL_FROM_DATABASE=Optiplex GX260 -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (Optiplex GX260) - - pci:v00008086d00002560sv00001458sd00002560* -- ID_MODEL_FROM_DATABASE=GA-8PE667 Ultra -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (GA-8PE667 Ultra) - - pci:v00008086d00002560sv00001462sd00005800* -- ID_MODEL_FROM_DATABASE=845PE Max (MS-6580) -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (845PE Max (MS-6580)) - - pci:v00008086d00002561* - ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge -@@ -62739,31 +62739,31 @@ pci:v00008086d00002562* - ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device - - pci:v00008086d00002562sv00000E11sd000000B9* -- ID_MODEL_FROM_DATABASE=Evo D510 SFF -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (Evo D510 SFF) - - pci:v00008086d00002562sv00001014sd00000267* -- ID_MODEL_FROM_DATABASE=NetVista A30p -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (NetVista A30p) - - pci:v00008086d00002562sv00001734sd00001003* -- ID_MODEL_FROM_DATABASE=D1521 Mainboard (Fujitsu-Siemens) -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1521 Mainboard (Fujitsu-Siemens)) - - pci:v00008086d00002562sv00001734sd00001004* -- ID_MODEL_FROM_DATABASE=D1451 Mainboard (SCENIC N300, i845GV) -+ ID_MODEL_FROM_DATABASE=82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (D1451 Mainboard (SCENIC N300, i845GV)) - - pci:v00008086d00002570* - ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface - - pci:v00008086d00002570sv0000103Csd0000006A* -- ID_MODEL_FROM_DATABASE=NX9500 -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (NX9500) - - pci:v00008086d00002570sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=d330 uT -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (d330 uT) - - pci:v00008086d00002570sv00001043sd000080F2* -- ID_MODEL_FROM_DATABASE=P4P800/P5P800 series motherboard -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (P4P800/P5P800 series motherboard) - - pci:v00008086d00002570sv00001458sd00002570* -- ID_MODEL_FROM_DATABASE=GA-8IPE1000 Pro2 motherboard (865PE) -+ ID_MODEL_FROM_DATABASE=82865G/PE/P DRAM Controller/Host-Hub Interface (GA-8IPE1000 Pro2 motherboard (865PE)) - - pci:v00008086d00002571* - ID_MODEL_FROM_DATABASE=82865G/PE/P AGP Bridge -@@ -62772,25 +62772,25 @@ pci:v00008086d00002572* - ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller - - pci:v00008086d00002572sv00001028sd0000019D* -- ID_MODEL_FROM_DATABASE=Dimension 3000 -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Dimension 3000) - - pci:v00008086d00002572sv0000103Csd000012BC* -- ID_MODEL_FROM_DATABASE=D530 sff(dc578av) -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (D530 sff(dc578av)) - - pci:v00008086d00002572sv00001043sd000080A5* -- ID_MODEL_FROM_DATABASE=P5P800-MX Mainboard -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (P5P800-MX Mainboard) - - pci:v00008086d00002572sv00001462sd00007650* -- ID_MODEL_FROM_DATABASE=Hetis 865GV-E (MS-7065) -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Hetis 865GV-E (MS-7065)) - - pci:v00008086d00002572sv00001734sd0000101B* -- ID_MODEL_FROM_DATABASE=Fujitsu-Siemens Scenic E300 i865GV -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Fujitsu-Siemens Scenic E300 i865GV) - - pci:v00008086d00002572sv00008086sd00004246* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GBF -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GBF) - - pci:v00008086d00002572sv00008086sd00004C43* -- ID_MODEL_FROM_DATABASE=Desktop Board D865GLC -+ ID_MODEL_FROM_DATABASE=82865G Integrated Graphics Controller (Desktop Board D865GLC) - - pci:v00008086d00002573* - ID_MODEL_FROM_DATABASE=82865G/PE/P PCI to CSA Bridge -@@ -62802,13 +62802,13 @@ pci:v00008086d00002578* - ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub - - pci:v00008086d00002578sv00001458sd00002578* -- ID_MODEL_FROM_DATABASE=GA-8KNXP motherboard (875P) -+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (GA-8KNXP motherboard (875P)) - - pci:v00008086d00002578sv00001462sd00007580* -- ID_MODEL_FROM_DATABASE=MS-6758 (875P Neo) -+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (MS-6758 (875P Neo)) - - pci:v00008086d00002578sv000015D9sd00004580* -- ID_MODEL_FROM_DATABASE=P4SCE Motherboard -+ ID_MODEL_FROM_DATABASE=82875P/E7210 Memory Controller Hub (P4SCE Motherboard) - - pci:v00008086d00002579* - ID_MODEL_FROM_DATABASE=82875P Processor to AGP Controller -@@ -62823,13 +62823,13 @@ pci:v00008086d00002580* - ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub - - pci:v00008086d00002580sv00001458sd00002580* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (GA-8I915ME-G Mainboard) - - pci:v00008086d00002580sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (915P/G Neo2) - - pci:v00008086d00002580sv00001734sd0000105B* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL Memory Controller Hub (Scenic W620) - - pci:v00008086d00002581* - ID_MODEL_FROM_DATABASE=82915G/P/GV/GL/PL/910GL PCI Express Root Port -@@ -62838,28 +62838,28 @@ pci:v00008086d00002582* - ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller - - pci:v00008086d00002582sv00001028sd00001079* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Optiplex GX280) - - pci:v00008086d00002582sv0000103Csd00003006* -- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (DC7100 SFF(DX878AV)) - - pci:v00008086d00002582sv00001043sd00002582* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002582sv00001458sd00002582* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d00002582sv00001734sd0000105B* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (Scenic W620) - - pci:v00008086d00002582sv00001849sd00002582* -- ID_MODEL_FROM_DATABASE=ASRock P4Dual-915GL -+ ID_MODEL_FROM_DATABASE=82915G/GV/910GL Integrated Graphics Controller (ASRock P4Dual-915GL) - - pci:v00008086d00002584* - ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub - - pci:v00008086d00002584sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82925X/XE Memory Controller Hub (Dimension 8400) - - pci:v00008086d00002585* - ID_MODEL_FROM_DATABASE=82925X/XE PCI Express Root Port -@@ -62877,58 +62877,58 @@ pci:v00008086d00002590* - ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller - - pci:v00008086d00002590sv00001014sd00000575* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (ThinkPad Z60t) - - pci:v00008086d00002590sv00001028sd00000182* -- ID_MODEL_FROM_DATABASE=Dell Latitude C610 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Dell Latitude C610) - - pci:v00008086d00002590sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Compaq nw8240/nx8220) - - pci:v00008086d00002590sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (NX6110/NC6120) - - pci:v00008086d00002590sv0000104Dsd000081B7* -- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) - - pci:v00008086d00002590sv0000A304sd000081B7* -- ID_MODEL_FROM_DATABASE=Vaio VGN-S3XP -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (Vaio VGN-S3XP) - - pci:v00008086d00002590sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CCD-CALYPSO) - - pci:v00008086d00002590sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (CD3-JIVE) - - pci:v00008086d00002590sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (XB1) - - pci:v00008086d00002591* - ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port - - pci:v00008086d00002591sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/PM Express PCI Express Root Port (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002592* - ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller - - pci:v00008086d00002592sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) - - pci:v00008086d00002592sv0000103Csd0000308A* -- ID_MODEL_FROM_DATABASE=NC6220 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NC6220) - - pci:v00008086d00002592sv00001043sd00001881* -- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) - - pci:v00008086d00002592sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) - - pci:v00008086d00002592sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) - - pci:v00008086d00002592sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) - - pci:v00008086d000025A1* - ID_MODEL_FROM_DATABASE=6300ESB LPC Interface Controller -@@ -62937,79 +62937,79 @@ pci:v00008086d000025A2* - ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller - - pci:v00008086d000025A2sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A2sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer IDE -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (V5D Single Board Computer IDE) - - pci:v00008086d000025A2sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A2sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CE9) - - pci:v00008086d000025A2sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (CL9 mainboard) - - pci:v00008086d000025A2sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB PATA Storage Controller (PSL09 PrPMC) - - pci:v00008086d000025A3* - ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller - - pci:v00008086d000025A3sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A3sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A3sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CE9) - - pci:v00008086d000025A3sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (CL9 mainboard) - - pci:v00008086d000025A3sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025A3sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA Storage Controller (PSL09 PrPMC) - - pci:v00008086d000025A4* - ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller - - pci:v00008086d000025A4sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A4sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (V5D Single Board Computer) - - pci:v00008086d000025A4sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A4sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CE9) - - pci:v00008086d000025A4sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (CL9 mainboard) - - pci:v00008086d000025A4sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025A4sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB SMBus Controller (PSL09 PrPMC) - - pci:v00008086d000025A6* - ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller - - pci:v00008086d000025A6sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A6sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CE9) - - pci:v00008086d000025A6sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB AC'97 Audio Controller (CL9 mainboard) - - pci:v00008086d000025A7* - ID_MODEL_FROM_DATABASE=6300ESB AC'97 Modem Controller -@@ -63018,121 +63018,121 @@ pci:v00008086d000025A9* - ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller - - pci:v00008086d000025A9sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025A9sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (V5D Single Board Computer USB) - - pci:v00008086d000025A9sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025A9sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) - - pci:v00008086d000025A9sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) - - pci:v00008086d000025A9sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025A9sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) - - pci:v00008086d000025AA* - ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller - - pci:v00008086d000025AAsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025AAsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025AAsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CE9) - - pci:v00008086d000025AAsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (CL9 mainboard) - - pci:v00008086d000025AAsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025AAsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB Universal Host Controller (PSL09 PrPMC) - - pci:v00008086d000025AB* - ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer - - pci:v00008086d000025ABsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025ABsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (V5D Single Board Computer) - - pci:v00008086d000025ABsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CR11/VR11 Single Board Computer) - - pci:v00008086d000025ABsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CE9) - - pci:v00008086d000025ABsv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (QEMU Virtual Machine) - - pci:v00008086d000025ABsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (CL9 mainboard) - - pci:v00008086d000025ABsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (Telum ASLP10 Processor AMC) - - pci:v00008086d000025ABsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB Watchdog Timer (PSL09 PrPMC) - - pci:v00008086d000025AC* - ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller - - pci:v00008086d000025ACsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025ACsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (V5D Single Board Computer) - - pci:v00008086d000025ACsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025ACsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CE9) - - pci:v00008086d000025ACsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (CL9 mainboard) - - pci:v00008086d000025ACsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025ACsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB I/O Advanced Programmable Interrupt Controller (PSL09 PrPMC) - - pci:v00008086d000025AD* - ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller - - pci:v00008086d000025ADsv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d000025ADsv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer USB 2.0 -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (V5D Single Board Computer USB 2.0) - - pci:v00008086d000025ADsv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025ADsv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CE9) - - pci:v00008086d000025ADsv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (CL9 mainboard) - - pci:v00008086d000025ADsv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025ADsv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB USB2 Enhanced Host Controller (PSL09 PrPMC) - - pci:v00008086d000025AE* - ID_MODEL_FROM_DATABASE=6300ESB 64-bit PCI-X Bridge -@@ -63141,13 +63141,13 @@ pci:v00008086d000025B0* - ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller - - pci:v00008086d000025B0sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d000025B0sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d000025B0sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=6300ESB SATA RAID Controller (PSL09 PrPMC) - - pci:v00008086d000025C0* - ID_MODEL_FROM_DATABASE=5000X Chipset Memory Controller Hub -@@ -63159,16 +63159,16 @@ pci:v00008086d000025D4* - ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub - - pci:v00008086d000025D4sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000V Chipset Memory Controller Hub (X7DVL-E-O motherboard) - - pci:v00008086d000025D8* - ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub - - pci:v00008086d000025D8sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (X7DBN Motherboard) - - pci:v00008086d000025D8sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000P Chipset Memory Controller Hub (S5000PSLSATA Server Board) - - pci:v00008086d000025E2* - ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x4 Port 2 -@@ -63192,79 +63192,79 @@ pci:v00008086d000025F0* - ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers - - pci:v00008086d000025F0sv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 FSB Registers -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (PowerEdge 1955 FSB Registers) - - pci:v00008086d000025F0sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (ProLiant DL140 G3) - - pci:v00008086d000025F0sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F0sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (X7DBN Motherboard) - - pci:v00008086d000025F0sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FSB Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F1* - ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers - - pci:v00008086d000025F1sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) - - pci:v00008086d000025F1sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F1sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) - - pci:v00008086d000025F1sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F3* - ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers - - pci:v00008086d000025F3sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (ProLiant DL140 G3) - - pci:v00008086d000025F3sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F3sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (X7DBN Motherboard) - - pci:v00008086d000025F3sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset Reserved Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F5* - ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers - - pci:v00008086d000025F5sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) - - pci:v00008086d000025F5sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F5sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) - - pci:v00008086d000025F5sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F6* - ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers - - pci:v00008086d000025F6sv0000103Csd000031FD* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (ProLiant DL140 G3) - - pci:v00008086d000025F6sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DVL-E-O motherboard) - - pci:v00008086d000025F6sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (X7DBN Motherboard) - - pci:v00008086d000025F6sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=5000 Series Chipset FBD Registers (S5000PSLSATA Server Board) - - pci:v00008086d000025F7* - ID_MODEL_FROM_DATABASE=5000 Series Chipset PCI Express x8 Port 2-3 -@@ -63282,7 +63282,7 @@ pci:v00008086d00002600* - ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 - - pci:v00008086d00002600sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Hub Interface -+ ID_MODEL_FROM_DATABASE=E8500/E8501 Hub Interface 1.5 (PowerEdge 6850 Hub Interface) - - pci:v00008086d00002601* - ID_MODEL_FROM_DATABASE=E8500/E8501 PCI Express x4 Port D -@@ -63363,76 +63363,76 @@ pci:v00008086d00002620* - ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge - - pci:v00008086d00002620sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Bridge -+ ID_MODEL_FROM_DATABASE=E8500/E8501 eXternal Memory Bridge (PowerEdge 6850 Memory Bridge) - - pci:v00008086d00002621* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers - - pci:v00008086d00002621sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 XMB Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Miscellaneous Registers (PowerEdge 6850 XMB Registers) - - pci:v00008086d00002622* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers - - pci:v00008086d00002622sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Memory Interleaving Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Memory Interleaving Registers (PowerEdge 6850 Memory Interleaving Registers) - - pci:v00008086d00002623* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration - - pci:v00008086d00002623sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 DDR Initialization and Calibration -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB DDR Initialization and Calibration (PowerEdge 6850 DDR Initialization and Calibration) - - pci:v00008086d00002624* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002624sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002625* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002625sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002626* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002626sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002627* - ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers - - pci:v00008086d00002627sv00001028sd00000170* -- ID_MODEL_FROM_DATABASE=PowerEdge 6850 Reserved Registers -+ ID_MODEL_FROM_DATABASE=E8500/E8501 XMB Reserved Registers (PowerEdge 6850 Reserved Registers) - - pci:v00008086d00002640* - ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge - - pci:v00008086d00002640sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (915P/G Neo2) - - pci:v00008086d00002640sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (Scenic W620) - - pci:v00008086d00002640sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CCD-CALYPSO) - - pci:v00008086d00002640sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (CD3-JIVE) - - pci:v00008086d00002640sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (XB1) - - pci:v00008086d00002641* - ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge - - pci:v00008086d00002641sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (Compaq nw8240/nx8220) - - pci:v00008086d00002641sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) LPC Interface Bridge (NX6110/NC6120) - - pci:v00008086d00002642* - ID_MODEL_FROM_DATABASE=82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge -@@ -63441,34 +63441,34 @@ pci:v00008086d00002651* - ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller - - pci:v00008086d00002651sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Optiplex GX280) - - pci:v00008086d00002651sv00001043sd00002601* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002651sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (Scenic W620) - - pci:v00008086d00002651sv00008086sd00004147* -- ID_MODEL_FROM_DATABASE=D915GAG Motherboard -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (D915GAG Motherboard) - - pci:v00008086d00002651sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CCD-CALYPSO) - - pci:v00008086d00002651sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (CD3-JIVE) - - pci:v00008086d00002651sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FW (ICH6/ICH6W) SATA Controller (XB1) - - pci:v00008086d00002652* - ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller - - pci:v00008086d00002652sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (Dimension 8400) - - pci:v00008086d00002652sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FR/FRW (ICH6R/ICH6RW) SATA Controller (915P/G Neo2) - - pci:v00008086d00002653* - ID_MODEL_FROM_DATABASE=82801FBM (ICH6M) SATA Controller -@@ -63477,289 +63477,289 @@ pci:v00008086d00002658* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 - - pci:v00008086d00002658sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Dimension 8400) - - pci:v00008086d00002658sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Optiplex GX280) - - pci:v00008086d00002658sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Compaq nw8240/nx8220) - - pci:v00008086d00002658sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (NX6110/NC6120) - - pci:v00008086d00002658sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (P5GD1-VW Mainboard) - - pci:v00008086d00002658sv00001458sd00002558* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (GA-8I915ME-G Mainboard) - - pci:v00008086d00002658sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (915P/G Neo2) - - pci:v00008086d00002658sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (Scenic W620) - - pci:v00008086d00002658sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CCD-CALYPSO) - - pci:v00008086d00002658sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (CD3-JIVE) - - pci:v00008086d00002658sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (XB1) - - pci:v00008086d00002659* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 - - pci:v00008086d00002659sv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Dimension 8400) - - pci:v00008086d00002659sv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Optiplex GX280) - - pci:v00008086d00002659sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Compaq nw8240/nx8220) - - pci:v00008086d00002659sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (NX6110/NC6120) - - pci:v00008086d00002659sv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (P5GD1-VW Mainboard) - - pci:v00008086d00002659sv00001458sd00002659* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (GA-8I915ME-G Mainboard) - - pci:v00008086d00002659sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (915P/G Neo2) - - pci:v00008086d00002659sv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (Scenic W620) - - pci:v00008086d00002659sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CCD-CALYPSO) - - pci:v00008086d00002659sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (CD3-JIVE) - - pci:v00008086d00002659sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (XB1) - - pci:v00008086d0000265A* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 - - pci:v00008086d0000265Asv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Dimension 8400) - - pci:v00008086d0000265Asv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Optiplex GX280) - - pci:v00008086d0000265Asv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Compaq nw8240/nx8220) - - pci:v00008086d0000265Asv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (NX6110/NC6120) - - pci:v00008086d0000265Asv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (P5GD1-VW Mainboard) - - pci:v00008086d0000265Asv00001458sd0000265A* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (GA-8I915ME-G Mainboard) - - pci:v00008086d0000265Asv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (915P/G Neo2) - - pci:v00008086d0000265Asv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (Scenic W620) - - pci:v00008086d0000265Asv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CCD-CALYPSO) - - pci:v00008086d0000265Asv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (CD3-JIVE) - - pci:v00008086d0000265Asv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (XB1) - - pci:v00008086d0000265B* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 - - pci:v00008086d0000265Bsv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Dimension 8400) - - pci:v00008086d0000265Bsv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Optiplex GX280) - - pci:v00008086d0000265Bsv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (NX6110/NC6120) - - pci:v00008086d0000265Bsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (P5GD1-VW Mainboard) - - pci:v00008086d0000265Bsv00001458sd0000265A* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (GA-8I915ME-G Mainboard) - - pci:v00008086d0000265Bsv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (915P/G Neo2) - - pci:v00008086d0000265Bsv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (Scenic W620) - - pci:v00008086d0000265Bsv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CCD-CALYPSO) - - pci:v00008086d0000265Bsv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (CD3-JIVE) - - pci:v00008086d0000265Bsv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (XB1) - - pci:v00008086d0000265C* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller - - pci:v00008086d0000265Csv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 8400) - - pci:v00008086d0000265Csv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Optiplex GX280) - - pci:v00008086d0000265Csv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000265Csv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (NX6110/NC6120) - - pci:v00008086d0000265Csv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (P5GD1-VW Mainboard) - - pci:v00008086d0000265Csv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000265Csv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (915P/G Neo2) - - pci:v00008086d0000265Csv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Scenic W620) - - pci:v00008086d0000265Csv00008086sd0000265C* -- ID_MODEL_FROM_DATABASE=Dimension 3100 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (Dimension 3100) - - pci:v00008086d0000265Csv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CCD-CALYPSO) - - pci:v00008086d0000265Csv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (CD3-JIVE) - - pci:v00008086d0000265Csv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (XB1) - - pci:v00008086d00002660* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 - - pci:v00008086d00002660sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002660sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (NX6110/NC6120) - - pci:v00008086d00002660sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CCD-CALYPSO) - - pci:v00008086d00002660sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (CD3-JIVE) - - pci:v00008086d00002660sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (XB1) - - pci:v00008086d00002662* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 - - pci:v00008086d00002662sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=HP Compaq nw8240 Mobile Workstation -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (HP Compaq nw8240 Mobile Workstation) - - pci:v00008086d00002662sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CCD-CALYPSO) - - pci:v00008086d00002662sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (CD3-JIVE) - - pci:v00008086d00002662sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (XB1) - - pci:v00008086d00002664* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 - - pci:v00008086d00002664sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CCD-CALYPSO) - - pci:v00008086d00002664sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (CD3-JIVE) - - pci:v00008086d00002664sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (XB1) - - pci:v00008086d00002666* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 - - pci:v00008086d00002666sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CCD-CALYPSO) - - pci:v00008086d00002666sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (CD3-JIVE) - - pci:v00008086d00002666sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (XB1) - - pci:v00008086d00002668* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller - - pci:v00008086d00002668sv00001014sd000005B7* -- ID_MODEL_FROM_DATABASE=ThinkPad Z60t -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (ThinkPad Z60t) - - pci:v00008086d00002668sv0000103Csd00002A09* -- ID_MODEL_FROM_DATABASE=PufferM-UL8E -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (PufferM-UL8E) - - pci:v00008086d00002668sv00001043sd00001173* -- ID_MODEL_FROM_DATABASE=Asus A6VC -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (Asus A6VC) - - pci:v00008086d00002668sv00001043sd0000814E* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002668sv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (915P/G Neo2) - - pci:v00008086d00002668sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) - - pci:v00008086d0000266A* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller - - pci:v00008086d0000266Asv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Dimension 8400) - - pci:v00008086d0000266Asv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Optiplex GX280) - - pci:v00008086d0000266Asv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (P5GD1-VW Mainboard) - - pci:v00008086d0000266Asv00001458sd0000266A* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000266Asv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (915P/G Neo2) - - pci:v00008086d0000266Asv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (Scenic W620) - - pci:v00008086d0000266Asv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CCD-CALYPSO) - - pci:v00008086d0000266Asv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (CD3-JIVE) - - pci:v00008086d0000266Asv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (XB1) - - pci:v00008086d0000266C* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller -@@ -63768,103 +63768,103 @@ pci:v00008086d0000266D* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller - - pci:v00008086d0000266Dsv00001025sd0000006A* -- ID_MODEL_FROM_DATABASE=Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop)) - - pci:v00008086d0000266Dsv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000266Dsv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (NX6110/NC6120) - - pci:v00008086d0000266E* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller - - pci:v00008086d0000266Esv00001025sd0000006A* -- ID_MODEL_FROM_DATABASE=Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)) - - pci:v00008086d0000266Esv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dimension 8400) - - pci:v00008086d0000266Esv00001028sd00000179* -- ID_MODEL_FROM_DATABASE=Optiplex GX280 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Optiplex GX280) - - pci:v00008086d0000266Esv00001028sd00000182* -- ID_MODEL_FROM_DATABASE=Latitude D610 Laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Latitude D610 Laptop) - - pci:v00008086d0000266Esv00001028sd00000187* -- ID_MODEL_FROM_DATABASE=Dell Precision M70 Laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Dell Precision M70 Laptop) - - pci:v00008086d0000266Esv00001028sd00000188* -- ID_MODEL_FROM_DATABASE=Inspiron 6000 laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Inspiron 6000 laptop) - - pci:v00008086d0000266Esv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000266Esv0000103Csd00000944* -- ID_MODEL_FROM_DATABASE=Compaq NC6220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Compaq NC6220) - - pci:v00008086d0000266Esv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (NX6110/NC6120) - - pci:v00008086d0000266Esv0000103Csd00003006* -- ID_MODEL_FROM_DATABASE=DC7100 SFF(DX878AV) -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (DC7100 SFF(DX878AV)) - - pci:v00008086d0000266Esv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000266Esv0000152Dsd00000745* -- ID_MODEL_FROM_DATABASE=Packard Bell A8550 Laptop -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Packard Bell A8550 Laptop) - - pci:v00008086d0000266Esv00001734sd0000105A* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (Scenic W620) - - pci:v00008086d0000266F* - ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller - - pci:v00008086d0000266Fsv00001028sd00000177* -- ID_MODEL_FROM_DATABASE=Dimension 8400 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Dimension 8400) - - pci:v00008086d0000266Fsv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Compaq nw8240/nx8220) - - pci:v00008086d0000266Fsv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (NX6110/NC6120) - - pci:v00008086d0000266Fsv00001043sd000080A6* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (P5GD1-VW Mainboard) - - pci:v00008086d0000266Fsv00001458sd0000266F* -- ID_MODEL_FROM_DATABASE=GA-8I915ME-G Mainboard -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (GA-8I915ME-G Mainboard) - - pci:v00008086d0000266Fsv00001462sd00007028* -- ID_MODEL_FROM_DATABASE=915P/G Neo2 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (915P/G Neo2) - - pci:v00008086d0000266Fsv00001734sd0000105C* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (Scenic W620) - - pci:v00008086d0000266Fsv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CCD-CALYPSO) - - pci:v00008086d0000266Fsv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (CD3-JIVE) - - pci:v00008086d0000266Fsv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (XB1) - - pci:v00008086d00002670* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller - - pci:v00008086d00002670sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (ProLiant DL140 G3) - - pci:v00008086d00002670sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DVL-E-O motherboard) - - pci:v00008086d00002670sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DBN Motherboard) - - pci:v00008086d00002670sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002680* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller -@@ -63873,22 +63873,22 @@ pci:v00008086d00002681* - ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller - - pci:v00008086d00002681sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (ProLiant DL140 G3) - - pci:v00008086d00002681sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DVL-E-O motherboard) - - pci:v00008086d00002681sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DBN Motherboard) - - pci:v00008086d00002681sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002682* - ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller - - pci:v00008086d00002682sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=Adaptec Serial ATA HostRAID -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller (Adaptec Serial ATA HostRAID) - - pci:v00008086d00002683* - ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller -@@ -63897,109 +63897,109 @@ pci:v00008086d00002688* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 - - pci:v00008086d00002688sv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge 1955 onboard USB) - - pci:v00008086d00002688sv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (PowerEdge R900 onboard USB) - - pci:v00008086d00002688sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (ProLiant DL140 G3) - - pci:v00008086d00002688sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DVL-E-O motherboard) - - pci:v00008086d00002688sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DBN Motherboard) - - pci:v00008086d00002688sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002689* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 - - pci:v00008086d00002689sv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge 1955 onboard USB) - - pci:v00008086d00002689sv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (PowerEdge R900 onboard USB) - - pci:v00008086d00002689sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (ProLiant DL140 G3) - - pci:v00008086d00002689sv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DVL-E-O motherboard) - - pci:v00008086d00002689sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DBN Motherboard) - - pci:v00008086d00002689sv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000268A* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 - - pci:v00008086d0000268Asv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (PowerEdge R900 onboard USB) - - pci:v00008086d0000268Asv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (ProLiant DL140 G3) - - pci:v00008086d0000268Asv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DVL-E-O motherboard) - - pci:v00008086d0000268Asv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DBN Motherboard) - - pci:v00008086d0000268Asv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000268B* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 - - pci:v00008086d0000268Bsv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (PowerEdge R900 onboard USB) - - pci:v00008086d0000268Bsv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (X7DVL-E-O motherboard) - - pci:v00008086d0000268Bsv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000268C* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller - - pci:v00008086d0000268Csv00001028sd000001BB* -- ID_MODEL_FROM_DATABASE=PowerEdge 1955 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge 1955 onboard USB) - - pci:v00008086d0000268Csv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 onboard USB -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (PowerEdge R900 onboard USB) - - pci:v00008086d0000268Csv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (ProLiant DL140 G3) - - pci:v00008086d0000268Csv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DVL-E-O motherboard) - - pci:v00008086d0000268Csv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DBN Motherboard) - - pci:v00008086d0000268Csv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d00002690* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 - - pci:v00008086d00002690sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (ProLiant DL140 G3) - - pci:v00008086d00002690sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (X7DBN Motherboard) - - pci:v00008086d00002692* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 - - pci:v00008086d00002692sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 2 (ProLiant DL140 G3) - - pci:v00008086d00002694* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 3 -@@ -64020,49 +64020,49 @@ pci:v00008086d0000269B* - ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller - - pci:v00008086d0000269Bsv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (ProLiant DL140 G3) - - pci:v00008086d0000269Bsv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DVL-E-O motherboard) - - pci:v00008086d0000269Bsv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DBN Motherboard) - - pci:v00008086d0000269Bsv00008086sd00003476* -- ID_MODEL_FROM_DATABASE=Intel S5000PSLSATA Server Board -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (Intel S5000PSLSATA Server Board) - - pci:v00008086d0000269E* - ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller - - pci:v00008086d0000269Esv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (ProLiant DL140 G3) - - pci:v00008086d0000269Esv000015D9sd00008680* -- ID_MODEL_FROM_DATABASE=X7DVL-E-O motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DVL-E-O motherboard) - - pci:v00008086d0000269Esv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller (X7DBN Motherboard) - - pci:v00008086d00002770* - ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub - - pci:v00008086d00002770sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (OptiPlex GX620) - - pci:v00008086d00002770sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Pavilion A1512X) - - pci:v00008086d00002770sv00001043sd0000817A* -- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (P5LD2-VM Mainboard) - - pci:v00008086d00002770sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (E4500) - - pci:v00008086d00002770sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (Wind PC MS-7418) - - pci:v00008086d00002770sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL Memory Controller Hub (DeskTop Board D945GTP) - - pci:v00008086d00002771* - ID_MODEL_FROM_DATABASE=82945G/GZ/P/PL PCI Express Root Port -@@ -64071,16 +64071,16 @@ pci:v00008086d00002772* - ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller - - pci:v00008086d00002772sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Pavilion A1512X) - - pci:v00008086d00002772sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Wind PC MS-7418) - - pci:v00008086d00002772sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (DeskTop Board D945GTP) - - pci:v00008086d00002772sv00008086sd0000D605* -- ID_MODEL_FROM_DATABASE=Intel Desktop Board D945GCCR -+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Intel Desktop Board D945GCCR) - - pci:v00008086d00002774* - ID_MODEL_FROM_DATABASE=82955X Memory Controller Hub -@@ -64095,10 +64095,10 @@ pci:v00008086d00002778* - ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub - - pci:v00008086d00002778sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge SC440) - - pci:v00008086d00002778sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=E7230/3000/3010 Memory Controller Hub (PowerEdge 860) - - pci:v00008086d00002779* - ID_MODEL_FROM_DATABASE=E7230/3000/3010 PCI Express Root Port -@@ -64110,7 +64110,7 @@ pci:v00008086d0000277C* - ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub - - pci:v00008086d0000277Csv00001043sd00008178* -- ID_MODEL_FROM_DATABASE=P5WDG2 WS Professional motherboard -+ ID_MODEL_FROM_DATABASE=82975X Memory Controller Hub (P5WDG2 WS Professional motherboard) - - pci:v00008086d0000277D* - ID_MODEL_FROM_DATABASE=82975X PCI Express Root Port -@@ -64119,94 +64119,94 @@ pci:v00008086d00002782* - ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller - - pci:v00008086d00002782sv00001043sd00002582* -- ID_MODEL_FROM_DATABASE=P5GD1-VW Mainboard -+ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (P5GD1-VW Mainboard) - - pci:v00008086d00002782sv00001734sd0000105B* -- ID_MODEL_FROM_DATABASE=Scenic W620 -+ ID_MODEL_FROM_DATABASE=82915G Integrated Graphics Controller (Scenic W620) - - pci:v00008086d00002792* - ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller - - pci:v00008086d00002792sv0000103Csd0000099C* -- ID_MODEL_FROM_DATABASE=NX6110/NC6120 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120) - - pci:v00008086d00002792sv00001043sd00001881* -- ID_MODEL_FROM_DATABASE=GMA 900 915GM Integrated Graphics -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (GMA 900 915GM Integrated Graphics) - - pci:v00008086d00002792sv0000E4BFsd00000CCD* -- ID_MODEL_FROM_DATABASE=CCD-CALYPSO -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CCD-CALYPSO) - - pci:v00008086d00002792sv0000E4BFsd00000CD3* -- ID_MODEL_FROM_DATABASE=CD3-JIVE -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (CD3-JIVE) - - pci:v00008086d00002792sv0000E4BFsd000058B1* -- ID_MODEL_FROM_DATABASE=XB1 -+ ID_MODEL_FROM_DATABASE=Mobile 915GM/GMS/910GML Express Graphics Controller (XB1) - - pci:v00008086d000027A0* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub - - pci:v00008086d000027A0sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (9814 WKMI) - - pci:v00008086d000027A0sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (XPS M1210) - - pci:v00008086d000027A0sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nx9420 Notebook) - - pci:v00008086d000027A0sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (NC2400) - - pci:v00008086d000027A0sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Compaq nw8440) - - pci:v00008086d000027A0sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) - - pci:v00008086d000027A0sv000017AAsd00002015* -- ID_MODEL_FROM_DATABASE=ThinkPad T60 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) - - pci:v00008086d000027A0sv000017AAsd00002017* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027A1* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port - - pci:v00008086d000027A1sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nx9420 Notebook) - - pci:v00008086d000027A1sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) - - pci:v00008086d000027A2* - ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller - - pci:v00008086d000027A2sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (NC2400) - - pci:v00008086d000027A2sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027A2sv00009902sd00001584* -- ID_MODEL_FROM_DATABASE=CCE MPL-D10H120F -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (CCE MPL-D10H120F) - - pci:v00008086d000027A6* - ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller - - pci:v00008086d000027A6sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (NC2400) - - pci:v00008086d000027A6sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (secondary) -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (CC11/CL11 integrated graphics (secondary)) - - pci:v00008086d000027A6sv000017AAsd0000201A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027AC* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub - - pci:v00008086d000027ACsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Memory Controller Hub (CC11/CL11) - - pci:v00008086d000027AD* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express PCI Express Root Port -@@ -64215,178 +64215,178 @@ pci:v00008086d000027AE* - ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller - - pci:v00008086d000027AEsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 integrated graphics (primary) -+ ID_MODEL_FROM_DATABASE=Mobile 945GSE Express Integrated Graphics Controller (CC11/CL11 integrated graphics (primary)) - - pci:v00008086d000027B0* - ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge - - pci:v00008086d000027B0sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (Pavilion A1512X) - - pci:v00008086d000027B0sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801GH (ICH7DH) LPC Interface Bridge (DeskTop Board D945GTP) - - pci:v00008086d000027B8* - ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge - - pci:v00008086d000027B8sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (PowerEdge 860) - - pci:v00008086d000027B8sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (P5KPL-VM Motherboard) - - pci:v00008086d000027B8sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (E4500) - - pci:v00008086d000027B8sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (Wind PC MS-7418) - - pci:v00008086d000027B8sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (CC11/CL11) - - pci:v00008086d000027B8sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801GB/GR (ICH7 Family) LPC Interface Bridge (DeskTop Board D945GTP) - - pci:v00008086d000027B9* - ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge - - pci:v00008086d000027B9sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (XPS M1210) - - pci:v00008086d000027B9sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nx9420 Notebook) - - pci:v00008086d000027B9sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (NC2400) - - pci:v00008086d000027B9sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) - - pci:v00008086d000027B9sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) - - pci:v00008086d000027B9sv000017AAsd00002009* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027BC* - ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller - - pci:v00008086d000027BCsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (D270S/D250S Motherboard) - - pci:v00008086d000027BCsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Notebook N150P) - - pci:v00008086d000027BCsv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (GA-D525TUD) - - pci:v00008086d000027BCsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (DeskTop Board D510MO) - - pci:v00008086d000027BCsv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10 Family LPC Controller (Desktop Board D425KT) - - pci:v00008086d000027BD* - ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge - - pci:v00008086d000027BDsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) LPC Interface Bridge (9814 WKMI) - - pci:v00008086d000027C0* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] - - pci:v00008086d000027C0sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (OptiPlex GX620) - - pci:v00008086d000027C0sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge SC440) - - pci:v00008086d000027C0sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (PowerEdge 860) - - pci:v00008086d000027C0sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (P5KPL-VM Motherboard) - - pci:v00008086d000027C0sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (E4500) - - pci:v00008086d000027C0sv00001462sd00002310* -- ID_MODEL_FROM_DATABASE=MSI Hetis 945 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (MSI Hetis 945) - - pci:v00008086d000027C0sv00001462sd00007236* -- ID_MODEL_FROM_DATABASE=945P Neo3-F Rev. 2.2 motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (945P Neo3-F Rev. 2.2 motherboard) - - pci:v00008086d000027C0sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Wind PC MS-7418) - - pci:v00008086d000027C0sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (CC11/CL11) - - pci:v00008086d000027C0sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (Desktop Board D425KT) - - pci:v00008086d000027C0sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [IDE mode] (DeskTop Board D945GTP) - - pci:v00008086d000027C1* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] - - pci:v00008086d000027C1sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (PowerEdge SC440) - - pci:v00008086d000027C1sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Pavilion A1512X) - - pci:v00008086d000027C1sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (D270S/D250S Motherboard) - - pci:v00008086d000027C1sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (Notebook N150P) - - pci:v00008086d000027C1sv00001458sd0000B005* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (GA-D525TUD) - - pci:v00008086d000027C1sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (CC11/CL11) - - pci:v00008086d000027C1sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D510MO) - - pci:v00008086d000027C1sv00008086sd00005842* -- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SATA Controller [AHCI mode] (DeskTop Board D975XBX) - - pci:v00008086d000027C3* - ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] - - pci:v00008086d000027C3sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (CC11/CL11) - - pci:v00008086d000027C3sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] (DeskTop Board D945GTP) - - pci:v00008086d000027C4* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] - - pci:v00008086d000027C4sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (9814 WKMI) - - pci:v00008086d000027C4sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) - - pci:v00008086d000027C4sv000017AAsd0000200E* -- ID_MODEL_FROM_DATABASE=ThinkPad T60 -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) - - pci:v00008086d000027C5* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] - - pci:v00008086d000027C5sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nx9420 Notebook) - - pci:v00008086d000027C5sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (Compaq nw8440) - - pci:v00008086d000027C5sv000017AAsd0000200D* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027C6* - ID_MODEL_FROM_DATABASE=82801GHM (ICH7-M DH) SATA Controller [RAID mode] -@@ -64395,553 +64395,553 @@ pci:v00008086d000027C8* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 - - pci:v00008086d000027C8sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (9814 WKMI) - - pci:v00008086d000027C8sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (OptiPlex GX620) - - pci:v00008086d000027C8sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (XPS M1210) - - pci:v00008086d000027C8sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge SC440) - - pci:v00008086d000027C8sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (PowerEdge 860) - - pci:v00008086d000027C8sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Pavilion A1512X) - - pci:v00008086d000027C8sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nx9420 Notebook) - - pci:v00008086d000027C8sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (NC2400) - - pci:v00008086d000027C8sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Compaq nw8440) - - pci:v00008086d000027C8sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (A6J-Q008) - - pci:v00008086d000027C8sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027C8sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) - - pci:v00008086d000027C8sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) - - pci:v00008086d000027C8sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Notebook N150P) - - pci:v00008086d000027C8sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (GA-D525TUD) - - pci:v00008086d000027C8sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Wind PC MS-7418) - - pci:v00008086d000027C8sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (CC11/CL11) - - pci:v00008086d000027C8sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027C8sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D510MO) - - pci:v00008086d000027C8sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Desktop Board D425KT) - - pci:v00008086d000027C8sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (DeskTop Board D945GTP) - - pci:v00008086d000027C9* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 - - pci:v00008086d000027C9sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (9814 WKMI) - - pci:v00008086d000027C9sv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (OptiPlex GX620) - - pci:v00008086d000027C9sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (XPS M1210) - - pci:v00008086d000027C9sv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge SC440) - - pci:v00008086d000027C9sv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (PowerEdge 860) - - pci:v00008086d000027C9sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Pavilion A1512X) - - pci:v00008086d000027C9sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nx9420 Notebook) - - pci:v00008086d000027C9sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (NC2400) - - pci:v00008086d000027C9sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Compaq nw8440) - - pci:v00008086d000027C9sv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (A6J-Q008) - - pci:v00008086d000027C9sv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027C9sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) - - pci:v00008086d000027C9sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) - - pci:v00008086d000027C9sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Notebook N150P) - - pci:v00008086d000027C9sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (GA-D525TUD) - - pci:v00008086d000027C9sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Wind PC MS-7418) - - pci:v00008086d000027C9sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (CC11/CL11) - - pci:v00008086d000027C9sv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027C9sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D510MO) - - pci:v00008086d000027C9sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Desktop Board D425KT) - - pci:v00008086d000027C9sv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (DeskTop Board D945GTP) - - pci:v00008086d000027CA* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 - - pci:v00008086d000027CAsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (9814 WKMI) - - pci:v00008086d000027CAsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (OptiPlex GX620) - - pci:v00008086d000027CAsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (XPS M1210) - - pci:v00008086d000027CAsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge SC440) - - pci:v00008086d000027CAsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (PowerEdge 860) - - pci:v00008086d000027CAsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Pavilion A1512X) - - pci:v00008086d000027CAsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nx9420 Notebook) - - pci:v00008086d000027CAsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (NC2400) - - pci:v00008086d000027CAsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Compaq nw8440) - - pci:v00008086d000027CAsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (A6J-Q008) - - pci:v00008086d000027CAsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027CAsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) - - pci:v00008086d000027CAsv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) - - pci:v00008086d000027CAsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Notebook N150P) - - pci:v00008086d000027CAsv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (GA-D525TUD) - - pci:v00008086d000027CAsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Wind PC MS-7418) - - pci:v00008086d000027CAsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (CC11/CL11) - - pci:v00008086d000027CAsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027CAsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D510MO) - - pci:v00008086d000027CAsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (DeskTop Board D945GTP) - - pci:v00008086d000027CB* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 - - pci:v00008086d000027CBsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (9814 WKMI) - - pci:v00008086d000027CBsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (OptiPlex GX620) - - pci:v00008086d000027CBsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (XPS M1210) - - pci:v00008086d000027CBsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (PowerEdge SC440) - - pci:v00008086d000027CBsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Pavilion A1512X) - - pci:v00008086d000027CBsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nx9420 Notebook) - - pci:v00008086d000027CBsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (NC2400) - - pci:v00008086d000027CBsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Compaq nw8440) - - pci:v00008086d000027CBsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (A6J-Q008) - - pci:v00008086d000027CBsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027CBsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) - - pci:v00008086d000027CBsv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) - - pci:v00008086d000027CBsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Notebook N150P) - - pci:v00008086d000027CBsv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (GA-D525TUD) - - pci:v00008086d000027CBsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Wind PC MS-7418) - - pci:v00008086d000027CBsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (CC11/CL11) - - pci:v00008086d000027CBsv000017AAsd0000200A* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027CBsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D510MO) - - pci:v00008086d000027CBsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (DeskTop Board D945GTP) - - pci:v00008086d000027CC* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller - - pci:v00008086d000027CCsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (9814 WKMI) - - pci:v00008086d000027CCsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (OptiPlex GX620) - - pci:v00008086d000027CCsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (XPS M1210) - - pci:v00008086d000027CCsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge SC440) - - pci:v00008086d000027CCsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (PowerEdge 860) - - pci:v00008086d000027CCsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Pavilion A1512X) - - pci:v00008086d000027CCsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nx9420 Notebook) - - pci:v00008086d000027CCsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (NC2400) - - pci:v00008086d000027CCsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Compaq nw8440) - - pci:v00008086d000027CCsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (A6J-Q008) - - pci:v00008086d000027CCsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM,P5LD2-VM Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (P5KPL-VM,P5LD2-VM Mainboard) - - pci:v00008086d000027CCsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) - - pci:v00008086d000027CCsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) - - pci:v00008086d000027CCsv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (GA-D525TUD) - - pci:v00008086d000027CCsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Wind PC MS-7418) - - pci:v00008086d000027CCsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (CC11/CL11) - - pci:v00008086d000027CCsv000017AAsd0000200B* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027CCsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D510MO) - - pci:v00008086d000027CCsv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Desktop Board D425KT) - - pci:v00008086d000027CCsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (DeskTop Board D945GTP) - - pci:v00008086d000027D0* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 - - pci:v00008086d000027D0sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nx9420 Notebook) - - pci:v00008086d000027D0sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) - - pci:v00008086d000027D0sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) - - pci:v00008086d000027D0sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (GA-D525TUD) - - pci:v00008086d000027D0sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Wind PC MS-7418) - - pci:v00008086d000027D0sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (CC11/CL11) - - pci:v00008086d000027D0sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Desktop Board D425KT) - - pci:v00008086d000027D2* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 - - pci:v00008086d000027D2sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nx9420 Notebook) - - pci:v00008086d000027D2sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) - - pci:v00008086d000027D2sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) - - pci:v00008086d000027D2sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Wind PC MS-7418) - - pci:v00008086d000027D2sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (CC11/CL11) - - pci:v00008086d000027D2sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Desktop Board D425KT) - - pci:v00008086d000027D4* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 - - pci:v00008086d000027D4sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) - - pci:v00008086d000027D4sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Wind PC MS-7418) - - pci:v00008086d000027D4sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (CC11/CL11) - - pci:v00008086d000027D4sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Desktop Board D425KT) - - pci:v00008086d000027D6* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 - - pci:v00008086d000027D6sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) - - pci:v00008086d000027D6sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) - - pci:v00008086d000027D6sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Wind PC MS-7418) - - pci:v00008086d000027D6sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (CC11/CL11) - - pci:v00008086d000027D6sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Desktop Board D425KT) - - pci:v00008086d000027D8* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller - - pci:v00008086d000027D8sv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (9814 WKMI) - - pci:v00008086d000027D8sv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (XPS M1210) - - pci:v00008086d000027D8sv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Pavilion A1512X) - - pci:v00008086d000027D8sv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nx9420 Notebook) - - pci:v00008086d000027D8sv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (NC2400) - - pci:v00008086d000027D8sv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Compaq nw8440) - - pci:v00008086d000027D8sv00001043sd00001123* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (A6J-Q008) - - pci:v00008086d000027D8sv00001043sd000013C4* -- ID_MODEL_FROM_DATABASE=Asus G2P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus G2P) - - pci:v00008086d000027D8sv00001043sd0000817F* -- ID_MODEL_FROM_DATABASE=P5LD2-VM Mainboard (Realtek ALC 882 codec) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5LD2-VM Mainboard (Realtek ALC 882 codec)) - - pci:v00008086d000027D8sv00001043sd00008290* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-VM Motherboard) - - pci:v00008086d000027D8sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P5KPL-CM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (P5KPL-CM Motherboard) - - pci:v00008086d000027D8sv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) - - pci:v00008086d000027D8sv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) - - pci:v00008086d000027D8sv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Panasonic CF-Y5 laptop) - - pci:v00008086d000027D8sv00001179sd0000FF10* -- ID_MODEL_FROM_DATABASE=Toshiba Satellite A100-796 audio (Realtek ALC861) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Toshiba Satellite A100-796 audio (Realtek ALC861)) - - pci:v00008086d000027D8sv00001179sd0000FF31* -- ID_MODEL_FROM_DATABASE=AC97 Data Fax SoftModem with SmartCP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (AC97 Data Fax SoftModem with SmartCP) - - pci:v00008086d000027D8sv00001447sd00001043* -- ID_MODEL_FROM_DATABASE=Asus A8JP (Analog Devices AD1986A) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Asus A8JP (Analog Devices AD1986A)) - - pci:v00008086d000027D8sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Notebook N150P) - - pci:v00008086d000027D8sv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-D525TUD (Realtek ALC887) -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-D525TUD (Realtek ALC887)) - - pci:v00008086d000027D8sv00001458sd0000A102* -- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (GA-8I945PG-RH Mainboard) - - pci:v00008086d000027D8sv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Wind PC MS-7418) - - pci:v00008086d000027D8sv0000152Dsd00000753* -- ID_MODEL_FROM_DATABASE=Softmodem -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Softmodem) - - pci:v00008086d000027D8sv00001734sd000010AD* -- ID_MODEL_FROM_DATABASE=Conexant softmodem SmartCP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Conexant softmodem SmartCP) - - pci:v00008086d000027D8sv000017AAsd00002010* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027D8sv000017AAsd00003802* -- ID_MODEL_FROM_DATABASE=Lenovo 3000 C200 audio [Realtek ALC861VD] -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Lenovo 3000 C200 audio [Realtek ALC861VD]) - - pci:v00008086d000027D8sv00008086sd00001112* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) - - pci:v00008086d000027D8sv00008086sd000027D8* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D945GTP) - - pci:v00008086d000027D8sv00008086sd0000D618* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (DeskTop Board D510MO) - - pci:v00008086d000027D8sv00008384sd00007680* -- ID_MODEL_FROM_DATABASE=STAC9221 HD Audio Codec -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (STAC9221 HD Audio Codec) - - pci:v00008086d000027DA* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller - - pci:v00008086d000027DAsv00001025sd0000006C* -- ID_MODEL_FROM_DATABASE=9814 WKMI -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (9814 WKMI) - - pci:v00008086d000027DAsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (OptiPlex GX620) - - pci:v00008086d000027DAsv00001028sd000001D7* -- ID_MODEL_FROM_DATABASE=XPS M1210 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (XPS M1210) - - pci:v00008086d000027DAsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge SC440) - - pci:v00008086d000027DAsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (PowerEdge 860) - - pci:v00008086d000027DAsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Pavilion A1512X) - - pci:v00008086d000027DAsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (P5KPL-VM Motherboard) - - pci:v00008086d000027DAsv0000105Bsd00000D7C* -- ID_MODEL_FROM_DATABASE=D270S/D250S Motherboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) - - pci:v00008086d000027DAsv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) - - pci:v00008086d000027DAsv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Notebook N150P) - - pci:v00008086d000027DAsv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-8I945PG-RH/GA-D525TUD Mainboard -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (GA-8I945PG-RH/GA-D525TUD Mainboard) - - pci:v00008086d000027DAsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Wind PC MS-7418) - - pci:v00008086d000027DAsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (CC11/CL11) - - pci:v00008086d000027DAsv000017AAsd0000200F* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027DAsv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D510MO) - - pci:v00008086d000027DAsv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Desktop Board D425KT) - - pci:v00008086d000027DAsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D945GTP) - - pci:v00008086d000027DAsv00008086sd00005842* -- ID_MODEL_FROM_DATABASE=DeskTop Board D975XBX -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (DeskTop Board D975XBX) - - pci:v00008086d000027DC* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller - - pci:v00008086d000027DCsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (Pavilion A1512X) - - pci:v00008086d000027DCsv00008086sd0000308D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family LAN Controller (DeskTop Board D945GTP) - - pci:v00008086d000027DD* - ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Modem Controller -@@ -64950,88 +64950,88 @@ pci:v00008086d000027DE* - ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller - - pci:v00008086d000027DEsv00001028sd000001AD* -- ID_MODEL_FROM_DATABASE=OptiPlex GX620 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (OptiPlex GX620) - - pci:v00008086d000027DEsv00001462sd00007267* -- ID_MODEL_FROM_DATABASE=Realtek ALC883 Audio Controller -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (Realtek ALC883 Audio Controller) - - pci:v00008086d000027DEsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11 integrated audio (AD1981BL codec) -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) AC'97 Audio Controller (CC11 integrated audio (AD1981BL codec)) - - pci:v00008086d000027DF* - ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller - - pci:v00008086d000027DFsv00001028sd000001DF* -- ID_MODEL_FROM_DATABASE=PowerEdge SC440 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge SC440) - - pci:v00008086d000027DFsv00001028sd000001E6* -- ID_MODEL_FROM_DATABASE=PowerEdge 860 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (PowerEdge 860) - - pci:v00008086d000027DFsv0000103Csd00002A3B* -- ID_MODEL_FROM_DATABASE=Pavilion A1512X -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Pavilion A1512X) - - pci:v00008086d000027DFsv0000103Csd0000309F* -- ID_MODEL_FROM_DATABASE=Compaq nx9420 Notebook -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nx9420 Notebook) - - pci:v00008086d000027DFsv0000103Csd000030A1* -- ID_MODEL_FROM_DATABASE=NC2400 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (NC2400) - - pci:v00008086d000027DFsv0000103Csd000030A3* -- ID_MODEL_FROM_DATABASE=Compaq nw8440 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Compaq nw8440) - - pci:v00008086d000027DFsv00001043sd00001237* -- ID_MODEL_FROM_DATABASE=A6J-Q008 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (A6J-Q008) - - pci:v00008086d000027DFsv00001043sd00008179* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (P5KPL-VM Motherboard) - - pci:v00008086d000027DFsv0000107Bsd00005048* -- ID_MODEL_FROM_DATABASE=E4500 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (E4500) - - pci:v00008086d000027DFsv000010F7sd00008338* -- ID_MODEL_FROM_DATABASE=Panasonic CF-Y5 laptop -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Panasonic CF-Y5 laptop) - - pci:v00008086d000027DFsv00001462sd00007418* -- ID_MODEL_FROM_DATABASE=Wind PC MS-7418 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (Wind PC MS-7418) - - pci:v00008086d000027DFsv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (CC11/CL11) - - pci:v00008086d000027DFsv000017AAsd0000200C* -- ID_MODEL_FROM_DATABASE=ThinkPad R60/T60/X60 series -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (ThinkPad R60/T60/X60 series) - - pci:v00008086d000027DFsv00008086sd0000544E* -- ID_MODEL_FROM_DATABASE=DeskTop Board D945GTP -+ ID_MODEL_FROM_DATABASE=82801G (ICH7 Family) IDE Controller (DeskTop Board D945GTP) - - pci:v00008086d000027E0* - ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 - - pci:v00008086d000027E0sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (CC11/CL11) - - pci:v00008086d000027E2* - ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 - - pci:v00008086d000027E2sv00001775sd000011CC* -- ID_MODEL_FROM_DATABASE=CC11/CL11 -+ ID_MODEL_FROM_DATABASE=82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (CC11/CL11) - - pci:v00008086d00002810* - ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller - - pci:v00008086d00002810sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801HB/HR (ICH8/R) LPC Interface Controller (P5B) - - pci:v00008086d00002811* - ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller - - pci:v00008086d00002811sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (Compaq 6910p) - - pci:v00008086d00002811sv000017AAsd000020B6* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (ThinkPad T61/R61) - - pci:v00008086d00002811sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HEM (ICH8M-E) LPC Interface Controller (CCG-RUMBA) - - pci:v00008086d00002812* - ID_MODEL_FROM_DATABASE=82801HH (ICH8DH) LPC Interface Controller -@@ -65043,34 +65043,34 @@ pci:v00008086d00002815* - ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller - - pci:v00008086d00002815sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Aspire 5920G) - - pci:v00008086d00002815sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Inspiron 1420) - - pci:v00008086d00002815sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Compaq 6710b) - - pci:v00008086d00002815sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Pavilion dv6700) - - pci:v00008086d00002815sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Presario C700) - - pci:v00008086d00002815sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Vaio VGN-FZ260E) - - pci:v00008086d00002815sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) - - pci:v00008086d00002820* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] - - pci:v00008086d00002820sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (OptiPlex 745) - - pci:v00008086d00002820sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002821* - ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode] -@@ -65079,10 +65079,10 @@ pci:v00008086d00002822* - ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] - - pci:v00008086d00002822sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Inspiron 530) - - pci:v00008086d00002822sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801 SATA Controller [RAID mode] (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002823* - ID_MODEL_FROM_DATABASE=Wellsburg sSATA RAID Controller -@@ -65091,16 +65091,16 @@ pci:v00008086d00002824* - ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] - - pci:v00008086d00002824sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801HB (ICH8) 4 port SATA Controller [AHCI mode] (P5B) - - pci:v00008086d00002825* - ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] - - pci:v00008086d00002825sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (OptiPlex 745) - - pci:v00008086d00002825sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002826* - ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller -@@ -65112,424 +65112,424 @@ pci:v00008086d00002828* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] - - pci:v00008086d00002828sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Inspiron 1420) - - pci:v00008086d00002828sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (Compaq 6710b) - - pci:v00008086d00002828sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (CCG-RUMBA) - - pci:v00008086d00002829* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] - - pci:v00008086d00002829sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Aspire 5920G) - - pci:v00008086d00002829sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6710b) - - pci:v00008086d00002829sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Compaq 6910p) - - pci:v00008086d00002829sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Pavilion dv6700) - - pci:v00008086d00002829sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Presario C700) - - pci:v00008086d00002829sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Vaio VGN-FZ260E) - - pci:v00008086d00002829sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (VAIO VGN-NR120E) - - pci:v00008086d00002829sv000017AAsd000020A7* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) - - pci:v00008086d00002829sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) - - pci:v00008086d0000282A* - ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] - - pci:v00008086d0000282Asv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (Latitude E6510) - - pci:v00008086d0000282Asv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=82801 Mobile SATA Controller [RAID mode] (PC1-GROOVE) - - pci:v00008086d00002830* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 - - pci:v00008086d00002830sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Acer Aspire 5920G) - - pci:v00008086d00002830sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (OptiPlex 745) - - pci:v00008086d00002830sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Inspiron 1420) - - pci:v00008086d00002830sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6710b) - - pci:v00008086d00002830sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Compaq 6910p) - - pci:v00008086d00002830sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Pavilion dv6700) - - pci:v00008086d00002830sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Presario C700) - - pci:v00008086d00002830sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P5B) - - pci:v00008086d00002830sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Vaio VGN-FZ260E) - - pci:v00008086d00002830sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (VAIO VGN-NR120E) - - pci:v00008086d00002830sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002830sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) - - pci:v00008086d00002830sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) - - pci:v00008086d00002831* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 - - pci:v00008086d00002831sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Aspire 5920G) - - pci:v00008086d00002831sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (OptiPlex 745) - - pci:v00008086d00002831sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Inspiron 1420) - - pci:v00008086d00002831sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6710b) - - pci:v00008086d00002831sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Compaq 6910p) - - pci:v00008086d00002831sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Pavilion dv6700) - - pci:v00008086d00002831sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Presario C700) - - pci:v00008086d00002831sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P5B) - - pci:v00008086d00002831sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Vaio VGN-FZ260E) - - pci:v00008086d00002831sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (VAIO VGN-NR120E) - - pci:v00008086d00002831sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002831sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) - - pci:v00008086d00002831sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) - - pci:v00008086d00002832* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 - - pci:v00008086d00002832sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Aspire 5920G) - - pci:v00008086d00002832sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (OptiPlex 745) - - pci:v00008086d00002832sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Inspiron 1420) - - pci:v00008086d00002832sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6710b) - - pci:v00008086d00002832sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Compaq 6910p) - - pci:v00008086d00002832sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Pavilion dv6700) - - pci:v00008086d00002832sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Presario C700) - - pci:v00008086d00002832sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (P5B) - - pci:v00008086d00002832sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Vaio VGN-FZ260E) - - pci:v00008086d00002832sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (VAIO VGN-NR120E) - - pci:v00008086d00002832sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) - - pci:v00008086d00002832sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) - - pci:v00008086d00002833* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 - - pci:v00008086d00002833sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) - - pci:v00008086d00002834* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 - - pci:v00008086d00002834sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Aspire 5920G) - - pci:v00008086d00002834sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (OptiPlex 745) - - pci:v00008086d00002834sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Inspiron 1420) - - pci:v00008086d00002834sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6710b) - - pci:v00008086d00002834sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Compaq 6910p) - - pci:v00008086d00002834sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Pavilion dv6700) - - pci:v00008086d00002834sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P5B) - - pci:v00008086d00002834sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Vaio VGN-FZ260E) - - pci:v00008086d00002834sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (VAIO VGN-NR120E) - - pci:v00008086d00002834sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002834sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) - - pci:v00008086d00002834sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) - - pci:v00008086d00002835* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 - - pci:v00008086d00002835sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Acer Aspire 5920G) - - pci:v00008086d00002835sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (OptiPlex 745) - - pci:v00008086d00002835sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Inspiron 1420) - - pci:v00008086d00002835sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6710b) - - pci:v00008086d00002835sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Compaq 6910p) - - pci:v00008086d00002835sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Pavilion dv6700) - - pci:v00008086d00002835sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (P5B) - - pci:v00008086d00002835sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Vaio VGN-FZ260E) - - pci:v00008086d00002835sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (VAIO VGN-NR120E) - - pci:v00008086d00002835sv000017AAsd000020AA* -- ID_MODEL_FROM_DATABASE=Thinkpad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) - - pci:v00008086d00002835sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) - - pci:v00008086d00002836* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 - - pci:v00008086d00002836sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Aspire 5920G) - - pci:v00008086d00002836sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (OptiPlex 745) - - pci:v00008086d00002836sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Inspiron 1420) - - pci:v00008086d00002836sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6710b) - - pci:v00008086d00002836sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Compaq 6910p) - - pci:v00008086d00002836sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Pavilion dv6700) - - pci:v00008086d00002836sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Presario C700) - - pci:v00008086d00002836sv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P5B) - - pci:v00008086d00002836sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Vaio VGN-FZ260E) - - pci:v00008086d00002836sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (VAIO VGN-NR120E) - - pci:v00008086d00002836sv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (P965 Neo MS-7235 mainboard) - - pci:v00008086d00002836sv000017AAsd000020AB* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) - - pci:v00008086d00002836sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) - - pci:v00008086d0000283A* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 - - pci:v00008086d0000283Asv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Acer Aspire 5920G) - - pci:v00008086d0000283Asv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (OptiPlex 745) - - pci:v00008086d0000283Asv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Inspiron 1420) - - pci:v00008086d0000283Asv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6710b) - - pci:v00008086d0000283Asv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Compaq 6910p) - - pci:v00008086d0000283Asv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Pavilion dv6700) - - pci:v00008086d0000283Asv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (P5B) - - pci:v00008086d0000283Asv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Vaio VGN-FZ260E) - - pci:v00008086d0000283Asv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (VAIO VGN-NR120E) - - pci:v00008086d0000283Asv000017AAsd000020AB* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) - - pci:v00008086d0000283Asv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) - - pci:v00008086d0000283E* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller - - pci:v00008086d0000283Esv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Aspire 5920G) - - pci:v00008086d0000283Esv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (OptiPlex 745) - - pci:v00008086d0000283Esv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Inspiron 1420) - - pci:v00008086d0000283Esv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Presario C700) - - pci:v00008086d0000283Esv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P5B) - - pci:v00008086d0000283Esv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-FZ260E) - - pci:v00008086d0000283Esv0000104Dsd00009008* -- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Vaio VGN-SZ79SN_C) - - pci:v00008086d0000283Esv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (VAIO VGN-NR120E) - - pci:v00008086d0000283Esv00001462sd00007235* -- ID_MODEL_FROM_DATABASE=P965 Neo MS-7235 mainboard -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (P965 Neo MS-7235 mainboard) - - pci:v00008086d0000283Esv000017AAsd000020A9* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) - - pci:v00008086d0000283Esv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) - - pci:v00008086d0000283F* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 - - pci:v00008086d0000283Fsv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (OptiPlex 745) - - pci:v00008086d0000283Fsv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Compaq 6910p) - - pci:v00008086d0000283Fsv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (VAIO VGN-NR120E) - - pci:v00008086d0000283Fsv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) - - pci:v00008086d00002841* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 - - pci:v00008086d00002841sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Compaq 6910p) - - pci:v00008086d00002841sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (VAIO VGN-NR120E) - - pci:v00008086d00002841sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) - - pci:v00008086d00002843* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 - - pci:v00008086d00002843sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (VAIO VGN-NR120E) - - pci:v00008086d00002843sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) - - pci:v00008086d00002845* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 - - pci:v00008086d00002845sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) - - pci:v00008086d00002847* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 - - pci:v00008086d00002847sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (OptiPlex 745) - - pci:v00008086d00002847sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Compaq 6910p) - - pci:v00008086d00002847sv000017AAsd000020AD* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) - - pci:v00008086d00002849* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 -@@ -65538,70 +65538,70 @@ pci:v00008086d0000284B* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller - - pci:v00008086d0000284Bsv00001025sd0000011F* -- ID_MODEL_FROM_DATABASE=Realtek ALC268 audio codec -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC268 audio codec) - - pci:v00008086d0000284Bsv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Aspire 5920G) - - pci:v00008086d0000284Bsv00001025sd00000145* -- ID_MODEL_FROM_DATABASE=Realtek ALC889 (Aspire 8920G w. Dolby Theather) -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Realtek ALC889 (Aspire 8920G w. Dolby Theather)) - - pci:v00008086d0000284Bsv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (OptiPlex 745) - - pci:v00008086d0000284Bsv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Inspiron 1420) - - pci:v00008086d0000284Bsv00001028sd000001F9* -- ID_MODEL_FROM_DATABASE=Dell Latitude D630 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Latitude D630) - - pci:v00008086d0000284Bsv00001028sd000001FF* -- ID_MODEL_FROM_DATABASE=Dell Precision M4300 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Precision M4300) - - pci:v00008086d0000284Bsv00001028sd00000256* -- ID_MODEL_FROM_DATABASE=Studio 1735 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Studio 1735) - - pci:v00008086d0000284Bsv0000103Csd00002802* -- ID_MODEL_FROM_DATABASE=HP Compaq dc7700p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (HP Compaq dc7700p) - - pci:v00008086d0000284Bsv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6710b) - - pci:v00008086d0000284Bsv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Compaq 6910p) - - pci:v00008086d0000284Bsv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Pavilion dv6700) - - pci:v00008086d0000284Bsv00001043sd00001339* -- ID_MODEL_FROM_DATABASE=Asus M51S series -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Asus M51S series) - - pci:v00008086d0000284Bsv00001043sd000081EC* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (P5B) - - pci:v00008086d0000284Bsv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-FZ260E) - - pci:v00008086d0000284Bsv0000104Dsd00009008* -- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Vaio VGN-SZ79SN_C) - - pci:v00008086d0000284Bsv0000104Dsd00009016* -- ID_MODEL_FROM_DATABASE=Sony VAIO VGN-AR51M -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Sony VAIO VGN-AR51M) - - pci:v00008086d0000284Bsv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (VAIO VGN-NR120E) - - pci:v00008086d0000284Bsv000014F1sd00005051* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Presario C700) - - pci:v00008086d0000284Bsv000017AAsd000020AC* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) - - pci:v00008086d0000284Bsv00008384sd00007616* -- ID_MODEL_FROM_DATABASE=Dell Vostro 1400 -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) - - pci:v00008086d0000284Bsv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (CCG-RUMBA) - - pci:v00008086d0000284F* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) Thermal Reporting Device -@@ -65610,34 +65610,34 @@ pci:v00008086d00002850* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller - - pci:v00008086d00002850sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Aspire 5920G -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Aspire 5920G) - - pci:v00008086d00002850sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Inspiron 1420) - - pci:v00008086d00002850sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6710b) - - pci:v00008086d00002850sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Compaq 6910p) - - pci:v00008086d00002850sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Pavilion dv6700) - - pci:v00008086d00002850sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Presario C700) - - pci:v00008086d00002850sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Vaio VGN-FZ260E) - - pci:v00008086d00002850sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (VAIO VGN-NR120E) - - pci:v00008086d00002850sv000017AAsd000020A6* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) - - pci:v00008086d00002850sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) - - pci:v00008086d00002912* - ID_MODEL_FROM_DATABASE=82801IH (ICH9DH) LPC Interface Controller -@@ -65646,40 +65646,40 @@ pci:v00008086d00002914* - ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller - - pci:v00008086d00002914sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801IO (ICH9DO) LPC Interface Controller (Optiplex 755) - - pci:v00008086d00002916* - ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller - - pci:v00008086d00002916sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Inspiron 530) - - pci:v00008086d00002916sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002916sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (P5K PRO Motherboard) - - pci:v00008086d00002916sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801IR (ICH9R) LPC Interface Controller (Desktop Board DP35DP) - - pci:v00008086d00002917* - ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller - - pci:v00008086d00002917sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=ICH9M-E LPC Interface Controller (CCM-BOOGIE) - - pci:v00008086d00002918* - ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller - - pci:v00008086d00002918sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 82801IB (ICH9) LPC Interface Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (PowerEdge R610 82801IB (ICH9) LPC Interface Controller) - - pci:v00008086d00002918sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (G33/P35 Neo) - - pci:v00008086d00002918sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) LPC Interface Controller (QEMU Virtual Machine) - - pci:v00008086d00002919* - ID_MODEL_FROM_DATABASE=ICH9M LPC Interface Controller -@@ -65688,46 +65688,46 @@ pci:v00008086d00002920* - ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] - - pci:v00008086d00002920sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Inspiron 530) - - pci:v00008086d00002920sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) - - pci:v00008086d00002920sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) - - pci:v00008086d00002920sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (Optiplex 755) - - pci:v00008086d00002920sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (PowerEdge R200 onboard SATA Controller) - - pci:v00008086d00002920sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (P5K PRO Motherboard) - - pci:v00008086d00002921* - ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] - - pci:v00008086d00002921sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R710 SATA IDE Controller) - - pci:v00008086d00002921sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge R610 SATA IDE Controller) - - pci:v00008086d00002921sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (PowerEdge T610 SATA IDE Controller) - - pci:v00008086d00002921sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801IB (ICH9) 2 port SATA Controller [IDE mode] (G33/P35 Neo) - - pci:v00008086d00002922* - ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] - - pci:v00008086d00002922sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (QEMU Virtual Machine) - - pci:v00008086d00002922sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (Desktop Board DP35DP) - - pci:v00008086d00002923* - ID_MODEL_FROM_DATABASE=82801IB (ICH9) 4 port SATA Controller [AHCI mode] -@@ -65736,31 +65736,31 @@ pci:v00008086d00002925* - ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] - - pci:v00008086d00002925sv00001734sd000010E0* -- ID_MODEL_FROM_DATABASE=System Board D2542 -+ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) - - pci:v00008086d00002925sv00008086sd00002925* -- ID_MODEL_FROM_DATABASE=System Board D2542 -+ ID_MODEL_FROM_DATABASE=82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] (System Board D2542) - - pci:v00008086d00002926* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] - - pci:v00008086d00002926sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Inspiron 530) - - pci:v00008086d00002926sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge R300 onboard SATA Controller) - - pci:v00008086d00002926sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard SATA Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (PowerEdge T300 onboard SATA Controller) - - pci:v00008086d00002926sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (Optiplex 755) - - pci:v00008086d00002926sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (P5K PRO Motherboard) - - pci:v00008086d00002926sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (G33/P35 Neo) - - pci:v00008086d00002928* - ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] -@@ -65769,10 +65769,10 @@ pci:v00008086d00002929* - ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] - - pci:v00008086d00002929sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (dv6-1190en) - - pci:v00008086d00002929sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (CCM-BOOGIE) - - pci:v00008086d0000292C* - ID_MODEL_FROM_DATABASE=82801IEM (ICH9M-E) SATA Controller [RAID mode] -@@ -65781,511 +65781,511 @@ pci:v00008086d0000292D* - ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] - - pci:v00008086d0000292Dsv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] (CCM-BOOGIE) - - pci:v00008086d00002930* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller - - pci:v00008086d00002930sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Inspiron 530) - - pci:v00008086d00002930sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Optiplex 755) - - pci:v00008086d00002930sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002930sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (dv6-1190en) - - pci:v00008086d00002930sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (P5K PRO Motherboard) - - pci:v00008086d00002930sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (G33/P35 Neo) - - pci:v00008086d00002930sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (QEMU Virtual Machine) - - pci:v00008086d00002930sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (Desktop Board DP35DP) - - pci:v00008086d00002930sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) SMBus Controller (CCM-BOOGIE) - - pci:v00008086d00002932* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem - - pci:v00008086d00002932sv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) Thermal Subsystem (dv6-1190en) - - pci:v00008086d00002934* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 - - pci:v00008086d00002934sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Inspiron 530) - - pci:v00008086d00002934sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R300 onboard UHCI) - - pci:v00008086d00002934sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002934sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) - - pci:v00008086d00002934sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge R200 onboard UHCI) - - pci:v00008086d00002934sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002934sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002934sv00001028sd00002011* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Optiplex 755) - - pci:v00008086d00002934sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002934sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (P5K PRO Motherboard) - - pci:v00008086d00002934sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (G33/P35 Neo) - - pci:v00008086d00002934sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (QEMU Virtual Machine) - - pci:v00008086d00002934sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (Desktop Board DP35DP) - - pci:v00008086d00002934sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #1 (CCM-BOOGIE) - - pci:v00008086d00002935* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 - - pci:v00008086d00002935sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Inspiron 530) - - pci:v00008086d00002935sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R300 onboard UHCI) - - pci:v00008086d00002935sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002935sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Optiplex 755) - - pci:v00008086d00002935sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002935sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002935sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002935sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge R200 onboard UHCI) - - pci:v00008086d00002935sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002935sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002935sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002935sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (P5K PRO Motherboard) - - pci:v00008086d00002935sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (G33/P35 Neo) - - pci:v00008086d00002935sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (QEMU Virtual Machine) - - pci:v00008086d00002935sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (Desktop Board DP35DP) - - pci:v00008086d00002935sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #2 (CCM-BOOGIE) - - pci:v00008086d00002936* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 - - pci:v00008086d00002936sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Inspiron 530) - - pci:v00008086d00002936sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R300 onboard UHCI) - - pci:v00008086d00002936sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002936sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Optiplex 755) - - pci:v00008086d00002936sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002936sv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge R200 onboard UHCI) - - pci:v00008086d00002936sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002936sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002936sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002936sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (P5K PRO Motherboard) - - pci:v00008086d00002936sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (G33/P35 Neo) - - pci:v00008086d00002936sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (QEMU Virtual Machine) - - pci:v00008086d00002936sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (Desktop Board DP35DP) - - pci:v00008086d00002936sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #3 (CCM-BOOGIE) - - pci:v00008086d00002937* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 - - pci:v00008086d00002937sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Inspiron 530) - - pci:v00008086d00002937sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) - - pci:v00008086d00002937sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002937sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002937sv00001028sd00002011* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) - - pci:v00008086d00002937sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002937sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (P5K PRO Motherboard) - - pci:v00008086d00002937sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (G33/P35 Neo) - - pci:v00008086d00002937sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (QEMU Virtual Machine) - - pci:v00008086d00002937sv00008086sd00002937* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Optiplex 755) - - pci:v00008086d00002937sv00008086sd00002942* -- ID_MODEL_FROM_DATABASE=828011 (ICH9 Family ) USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (828011 (ICH9 Family ) USB UHCI Controller) - - pci:v00008086d00002937sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (Desktop Board DP35DP) - - pci:v00008086d00002937sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #4 (CCM-BOOGIE) - - pci:v00008086d00002938* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 - - pci:v00008086d00002938sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Inspiron 530) - - pci:v00008086d00002938sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) - - pci:v00008086d00002938sv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R710 USB UHCI Controller) - - pci:v00008086d00002938sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge R610 USB UHCI Controller) - - pci:v00008086d00002938sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002938sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M610 onboard UHCI) - - pci:v00008086d00002938sv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (PowerEdge M710 USB UHCI Controller) - - pci:v00008086d00002938sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002938sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (P5K PRO Motherboard) - - pci:v00008086d00002938sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (G33/P35 Neo) - - pci:v00008086d00002938sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (QEMU Virtual Machine) - - pci:v00008086d00002938sv00008086sd00002938* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Optiplex 755) - - pci:v00008086d00002938sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (Desktop Board DP35DP) - - pci:v00008086d00002938sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #5 (CCM-BOOGIE) - - pci:v00008086d00002939* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 - - pci:v00008086d00002939sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Inspiron 530) - - pci:v00008086d00002939sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard UHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T300 onboard UHCI) - - pci:v00008086d00002939sv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (PowerEdge T610 USB UHCI Controller) - - pci:v00008086d00002939sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002939sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (P5K PRO Motherboard) - - pci:v00008086d00002939sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (G33/P35 Neo) - - pci:v00008086d00002939sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (QEMU Virtual Machine) - - pci:v00008086d00002939sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (Desktop Board DP35DP) - - pci:v00008086d00002939sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB UHCI Controller #6 (CCM-BOOGIE) - - pci:v00008086d0000293A* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 - - pci:v00008086d0000293Asv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Inspiron 530) - - pci:v00008086d0000293Asv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R300 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T300 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Optiplex 755) - - pci:v00008086d0000293Asv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R710 USB EHCI Controller) - - pci:v00008086d0000293Asv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R610 USB EHCI Controller) - - pci:v00008086d0000293Asv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge T610 USB EHCI Controller) - - pci:v00008086d0000293Asv00001028sd0000023C* -- ID_MODEL_FROM_DATABASE=PowerEdge R200 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge R200 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M610 onboard EHCI) - - pci:v00008086d0000293Asv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (PowerEdge M710 USB EHCI Controller) - - pci:v00008086d0000293Asv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000293Asv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (P5K PRO Motherboard) - - pci:v00008086d0000293Asv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (G33/P35 Neo) - - pci:v00008086d0000293Asv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (QEMU Virtual Machine) - - pci:v00008086d0000293Asv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (Desktop Board DP35DP) - - pci:v00008086d0000293Asv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #1 (CCM-BOOGIE) - - pci:v00008086d0000293C* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 - - pci:v00008086d0000293Csv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Inspiron 530) - - pci:v00008086d0000293Csv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) - - pci:v00008086d0000293Csv00001028sd00000235* -- ID_MODEL_FROM_DATABASE=PowerEdge R710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R710 USB EHCI Controller) - - pci:v00008086d0000293Csv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge R610 USB EHCI Controller) - - pci:v00008086d0000293Csv00001028sd00000237* -- ID_MODEL_FROM_DATABASE=PowerEdge T610 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge T610 USB EHCI Controller) - - pci:v00008086d0000293Csv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 onboard EHCI -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M610 onboard EHCI) - - pci:v00008086d0000293Csv00001028sd0000029C* -- ID_MODEL_FROM_DATABASE=PowerEdge M710 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (PowerEdge M710 USB EHCI Controller) - - pci:v00008086d0000293Csv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000293Csv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (P5K PRO Motherboard) - - pci:v00008086d0000293Csv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (G33/P35 Neo) - - pci:v00008086d0000293Csv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (QEMU Virtual Machine) - - pci:v00008086d0000293Csv00008086sd0000293C* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Optiplex 755) - - pci:v00008086d0000293Csv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (Desktop Board DP35DP) - - pci:v00008086d0000293Csv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) USB2 EHCI Controller #2 (CCM-BOOGIE) - - pci:v00008086d0000293E* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller - - pci:v00008086d0000293Esv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Inspiron 530) - - pci:v00008086d0000293Esv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) - - pci:v00008086d0000293Esv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d0000293Esv0000103Csd00003628* -- ID_MODEL_FROM_DATABASE=dv6-1190en -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (dv6-1190en) - - pci:v00008086d0000293Esv00001043sd0000829F* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (P5K PRO Motherboard) - - pci:v00008086d0000293Esv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (G33/P35 Neo) - - pci:v00008086d0000293Esv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (QEMU Virtual Machine) - - pci:v00008086d0000293Esv00008086sd0000293E* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) - - pci:v00008086d0000293Esv00008086sd00002940* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (Optiplex 755) - - pci:v00008086d0000293Esv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) HD Audio Controller (CCM-BOOGIE) - - pci:v00008086d00002940* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 - - pci:v00008086d00002940sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Inspiron 530) - - pci:v00008086d00002940sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) - - pci:v00008086d00002940sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002940sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (P5K PRO Motherboard) - - pci:v00008086d00002940sv00008086sd00002940* -- ID_MODEL_FROM_DATABASE=Optiplex 755 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 1 (Optiplex 755) - - pci:v00008086d00002942* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 - - pci:v00008086d00002942sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 2 (Inspiron 530) - - pci:v00008086d00002944* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 - - pci:v00008086d00002944sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Inspiron 530) - - pci:v00008086d00002944sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 3 (Asus IPIBL-LB Motherboard) - - pci:v00008086d00002946* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 - - pci:v00008086d00002946sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 4 (Inspiron 530) - - pci:v00008086d00002948* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 - - pci:v00008086d00002948sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (Inspiron 530) - - pci:v00008086d00002948sv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 5 (P5K PRO Motherboard) - - pci:v00008086d0000294A* - ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 - - pci:v00008086d0000294Asv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (Inspiron 530) - - pci:v00008086d0000294Asv00001043sd00008277* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82801I (ICH9 Family) PCI Express Port 6 (P5K PRO Motherboard) - - pci:v00008086d0000294C* - ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection - - pci:v00008086d0000294Csv000017AAsd0000302E* -- ID_MODEL_FROM_DATABASE=82566DM-2 Gigabit Network Connection -+ ID_MODEL_FROM_DATABASE=82566DC-2 Gigabit Network Connection (82566DM-2 Gigabit Network Connection) - - pci:v00008086d00002970* - ID_MODEL_FROM_DATABASE=82946GZ/PL/GL Memory Controller Hub -@@ -66330,7 +66330,7 @@ pci:v00008086d00002990* - ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub - - pci:v00008086d00002990sv00001028sd000001DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 745 -+ ID_MODEL_FROM_DATABASE=82Q963/Q965 Memory Controller Hub (OptiPlex 745) - - pci:v00008086d00002991* - ID_MODEL_FROM_DATABASE=82Q963/Q965 PCI Express Root Port -@@ -66357,10 +66357,10 @@ pci:v00008086d000029A0* - ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub - - pci:v00008086d000029A0sv00001043sd000081EA* -- ID_MODEL_FROM_DATABASE=P5B -+ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (P5B) - - pci:v00008086d000029A0sv00001462sd00007276* -- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] -+ ID_MODEL_FROM_DATABASE=82P965/G965 Memory Controller Hub (MS-7276 [G965MDH]) - - pci:v00008086d000029A1* - ID_MODEL_FROM_DATABASE=82P965/G965 PCI Express Root Port -@@ -66369,7 +66369,7 @@ pci:v00008086d000029A2* - ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller - - pci:v00008086d000029A2sv00001462sd00007276* -- ID_MODEL_FROM_DATABASE=MS-7276 [G965MDH] -+ ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller (MS-7276 [G965MDH]) - - pci:v00008086d000029A3* - ID_MODEL_FROM_DATABASE=82G965 Integrated Graphics Controller -@@ -66390,31 +66390,31 @@ pci:v00008086d000029B0* - ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller - - pci:v00008086d000029B0sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express DRAM Controller (OptiPlex 755) - - pci:v00008086d000029B1* - ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port - - pci:v00008086d000029B1sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express PCI Express Root Port (OptiPlex 755) - - pci:v00008086d000029B2* - ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller - - pci:v00008086d000029B2sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) - - pci:v00008086d000029B3* - ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller - - pci:v00008086d000029B3sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express Integrated Graphics Controller (OptiPlex 755) - - pci:v00008086d000029B4* - ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller - - pci:v00008086d000029B4sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller (OptiPlex 755) - - pci:v00008086d000029B5* - ID_MODEL_FROM_DATABASE=82Q35 Express MEI Controller -@@ -66423,70 +66423,70 @@ pci:v00008086d000029B6* - ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller - - pci:v00008086d000029B6sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express PT IDER Controller (OptiPlex 755) - - pci:v00008086d000029B7* - ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller - - pci:v00008086d000029B7sv00001028sd00000211* -- ID_MODEL_FROM_DATABASE=OptiPlex 755 -+ ID_MODEL_FROM_DATABASE=82Q35 Express Serial KT Controller (OptiPlex 755) - - pci:v00008086d000029C0* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller - - pci:v00008086d000029C0sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Inspiron 530) - - pci:v00008086d000029C0sv0000103Csd00002A6F* -- ID_MODEL_FROM_DATABASE=Asus IPIBL-LB Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Asus IPIBL-LB Motherboard) - - pci:v00008086d000029C0sv00001043sd00008276* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5K PRO Motherboard) - - pci:v00008086d000029C0sv00001043sd000082B0* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (P5KPL-VM Motherboard) - - pci:v00008086d000029C0sv00001462sd00007360* -- ID_MODEL_FROM_DATABASE=G33/P35 Neo -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (G33/P35 Neo) - - pci:v00008086d000029C0sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (QEMU Virtual Machine) - - pci:v00008086d000029C0sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express DRAM Controller (Desktop Board DP35DP) - - pci:v00008086d000029C1* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port - - pci:v00008086d000029C1sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (Inspiron 530) - - pci:v00008086d000029C1sv00001043sd00008276* -- ID_MODEL_FROM_DATABASE=P5K PRO Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express PCI Express Root Port (P5K PRO Motherboard) - - pci:v00008086d000029C2* - ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller - - pci:v00008086d000029C2sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) - - pci:v00008086d000029C2sv00001043sd000082B0* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) - - pci:v00008086d000029C3* - ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller - - pci:v00008086d000029C3sv00001028sd0000020D* -- ID_MODEL_FROM_DATABASE=Inspiron 530 -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (Inspiron 530) - - pci:v00008086d000029C3sv00001043sd000082B0* -- ID_MODEL_FROM_DATABASE=P5KPL-VM Motherboard -+ ID_MODEL_FROM_DATABASE=82G33/G31 Express Integrated Graphics Controller (P5KPL-VM Motherboard) - - pci:v00008086d000029C4* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller - - pci:v00008086d000029C4sv00008086sd00005044* -- ID_MODEL_FROM_DATABASE=Desktop Board DP35DP -+ ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller (Desktop Board DP35DP) - - pci:v00008086d000029C5* - ID_MODEL_FROM_DATABASE=82G33/G31/P35/P31 Express MEI Controller -@@ -66570,37 +66570,37 @@ pci:v00008086d00002A00* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub - - pci:v00008086d00002A00sv00001025sd00000121* -- ID_MODEL_FROM_DATABASE=Acer Aspire 5920G -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Acer Aspire 5920G) - - pci:v00008086d00002A00sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Inspiron 1420) - - pci:v00008086d00002A00sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6710b) - - pci:v00008086d00002A00sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Compaq 6910p) - - pci:v00008086d00002A00sv0000103Csd000030CC* -- ID_MODEL_FROM_DATABASE=Pavilion dv6700 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Pavilion dv6700) - - pci:v00008086d00002A00sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Presario C700) - - pci:v00008086d00002A00sv0000104Dsd00009005* -- ID_MODEL_FROM_DATABASE=Vaio VGN-FZ260E -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Vaio VGN-FZ260E) - - pci:v00008086d00002A00sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (VAIO VGN-NR120E) - - pci:v00008086d00002A00sv000017AAsd000020B1* -- ID_MODEL_FROM_DATABASE=ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61) - - pci:v00008086d00002A00sv000017AAsd000020B3* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) - - pci:v00008086d00002A00sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) - - pci:v00008086d00002A01* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 PCI Express Root Port -@@ -66609,52 +66609,52 @@ pci:v00008086d00002A02* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) - - pci:v00008086d00002A02sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Inspiron 1420) - - pci:v00008086d00002A02sv00001028sd000001F9* -- ID_MODEL_FROM_DATABASE=Latitude D630 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Latitude D630) - - pci:v00008086d00002A02sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Compaq 6710b) - - pci:v00008086d00002A02sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Presario C700) - - pci:v00008086d00002A02sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (VAIO VGN-NR120E) - - pci:v00008086d00002A02sv000017AAsd000020B5* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) - - pci:v00008086d00002A02sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) - - pci:v00008086d00002A03* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) - - pci:v00008086d00002A03sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Dell Inspiron 1420 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) - - pci:v00008086d00002A03sv0000103Csd000030C0* -- ID_MODEL_FROM_DATABASE=Compaq 6710b -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) - - pci:v00008086d00002A03sv0000103Csd000030D9* -- ID_MODEL_FROM_DATABASE=Presario C700 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Presario C700) - - pci:v00008086d00002A03sv0000104Dsd0000902D* -- ID_MODEL_FROM_DATABASE=VAIO VGN-NR120E -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (VAIO VGN-NR120E) - - pci:v00008086d00002A03sv000017AAsd000020B5* -- ID_MODEL_FROM_DATABASE=ThinkPad T61/R61 -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) - - pci:v00008086d00002A03sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) - - pci:v00008086d00002A04* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller - - pci:v00008086d00002A04sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller (Compaq 6910p) - - pci:v00008086d00002A05* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 MEI Controller -@@ -66663,19 +66663,19 @@ pci:v00008086d00002A06* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller - - pci:v00008086d00002A06sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 PT IDER Controller (Compaq 6910p) - - pci:v00008086d00002A07* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller - - pci:v00008086d00002A07sv0000103Csd000030C1* -- ID_MODEL_FROM_DATABASE=Compaq 6910p -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965 KT Controller (Compaq 6910p) - - pci:v00008086d00002A10* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub - - pci:v00008086d00002A10sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Memory Controller Hub (CCG-RUMBA) - - pci:v00008086d00002A11* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 PCI Express Root Port -@@ -66684,13 +66684,13 @@ pci:v00008086d00002A12* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller - - pci:v00008086d00002A12sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) - - pci:v00008086d00002A13* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller - - pci:v00008086d00002A13sv0000E4BFsd0000CC47* -- ID_MODEL_FROM_DATABASE=CCG-RUMBA -+ ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 Integrated Graphics Controller (CCG-RUMBA) - - pci:v00008086d00002A14* - ID_MODEL_FROM_DATABASE=Mobile GME965/GLE960 MEI Controller -@@ -66708,25 +66708,25 @@ pci:v00008086d00002A40* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub - - pci:v00008086d00002A40sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Memory Controller Hub (CCM-BOOGIE) - - pci:v00008086d00002A41* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port - - pci:v00008086d00002A41sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset PCI Express Graphics Port (CCM-BOOGIE) - - pci:v00008086d00002A42* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002A42sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) - - pci:v00008086d00002A43* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002A43sv0000E4BFsd0000CC4D* -- ID_MODEL_FROM_DATABASE=CCM-BOOGIE -+ ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset Integrated Graphics Controller (CCM-BOOGIE) - - pci:v00008086d00002A44* - ID_MODEL_FROM_DATABASE=Mobile 4 Series Chipset MEI Controller -@@ -67251,34 +67251,34 @@ pci:v00008086d00002E20* - ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller - - pci:v00008086d00002E20sv00001028sd00000283* -- ID_MODEL_FROM_DATABASE=Dell Vostro 220 -+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (Dell Vostro 220) - - pci:v00008086d00002E20sv00001043sd000082D3* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00002E20sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset DRAM Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00002E21* - ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port - - pci:v00008086d00002E21sv00001043sd000082D3* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (P5Q Deluxe Motherboard) - - pci:v00008086d00002E21sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset PCI Express Root Port (GA-EP45-DS5 Motherboard) - - pci:v00008086d00002E22* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002E22sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) - - pci:v00008086d00002E23* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - - pci:v00008086d00002E23sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-EG45M-DS2H Mainboard -+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (GA-EG45M-DS2H Mainboard) - - pci:v00008086d00002E24* - ID_MODEL_FROM_DATABASE=4 Series Chipset HECI Controller -@@ -67917,16 +67917,16 @@ pci:v00008086d00003200* - ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA - - pci:v00008086d00003200sv00001775sd0000C200* -- ID_MODEL_FROM_DATABASE=C2K onboard SATA host bus adapter -+ ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA (C2K onboard SATA host bus adapter) - - pci:v00008086d00003310* - ID_MODEL_FROM_DATABASE=IOP348 I/O Processor - - pci:v00008086d00003310sv00001054sd00003030* -- ID_MODEL_FROM_DATABASE=HRA380 Hitachi RAID Adapter to PCIe -+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA380 Hitachi RAID Adapter to PCIe) - - pci:v00008086d00003310sv00001054sd00003034* -- ID_MODEL_FROM_DATABASE=HRA381 Hitachi RAID Adapter to PCIe -+ ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (HRA381 Hitachi RAID Adapter to PCIe) - - pci:v00008086d00003313* - ID_MODEL_FROM_DATABASE=IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA -@@ -67944,31 +67944,31 @@ pci:v00008086d00003340* - ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller - - pci:v00008086d00003340sv00001014sd00000529* -- ID_MODEL_FROM_DATABASE=Thinkpad T40 series -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (Thinkpad T40 series) - - pci:v00008086d00003340sv00001025sd0000005A* -- ID_MODEL_FROM_DATABASE=TravelMate 290 -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (TravelMate 290) - - pci:v00008086d00003340sv0000103Csd0000088C* -- ID_MODEL_FROM_DATABASE=NC8000 laptop -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC8000 laptop) - - pci:v00008086d00003340sv0000103Csd00000890* -- ID_MODEL_FROM_DATABASE=NC6000 laptop -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (NC6000 laptop) - - pci:v00008086d00003340sv0000103Csd000008B0* -- ID_MODEL_FROM_DATABASE=tc1100 tablet -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (tc1100 tablet) - - pci:v00008086d00003340sv0000144Dsd0000C005* -- ID_MODEL_FROM_DATABASE=X10 Laptop -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (X10 Laptop) - - pci:v00008086d00003340sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30/P35 notebook -+ ID_MODEL_FROM_DATABASE=82855PM Processor to I/O Controller (P30/P35 notebook) - - pci:v00008086d00003341* - ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller - - pci:v00008086d00003341sv0000144Dsd0000C00C* -- ID_MODEL_FROM_DATABASE=P30 notebook -+ ID_MODEL_FROM_DATABASE=82855PM Processor to AGP Controller (P30 notebook) - - pci:v00008086d00003363* - ID_MODEL_FROM_DATABASE=IOC340 I/O Controller in IOC Mode SAS/SATA -@@ -67995,19 +67995,19 @@ pci:v00008086d00003403* - ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port - - pci:v00008086d00003403sv00001028sd00000236* -- ID_MODEL_FROM_DATABASE=PowerEdge R610 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R610 I/O Hub to ESI Port) - - pci:v00008086d00003403sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge M610 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge M610 I/O Hub to ESI Port) - - pci:v00008086d00003403sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge R410 I/O Hub to ESI Port) - - pci:v00008086d00003403sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 I/O Hub to ESI Port -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (PowerEdge T410 I/O Hub to ESI Port) - - pci:v00008086d00003403sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=5500 I/O Hub to ESI Port (ProLiant ML150 G6 Server) - - pci:v00008086d00003404* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port -@@ -68019,7 +68019,7 @@ pci:v00008086d00003406* - ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port - - pci:v00008086d00003406sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=5520 I/O Hub to ESI Port (ProLiant G6 series) - - pci:v00008086d00003407* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub to ESI Port -@@ -68028,7 +68028,7 @@ pci:v00008086d00003408* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 - - pci:v00008086d00003408sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 1 (ProLiant G6 series) - - pci:v00008086d00003409* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 2 -@@ -68037,7 +68037,7 @@ pci:v00008086d0000340A* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 - - pci:v00008086d0000340Asv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 3 (ProLiant ML150 G6 Server) - - pci:v00008086d0000340B* - ID_MODEL_FROM_DATABASE=5520/X58 I/O Hub PCI Express Root Port 4 -@@ -68052,7 +68052,7 @@ pci:v00008086d0000340E* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 - - pci:v00008086d0000340Esv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 7 (ProLiant ML150 G6 Server) - - pci:v00008086d0000340F* - ID_MODEL_FROM_DATABASE=5520/5500/X58 I/O Hub PCI Express Root Port 8 -@@ -68079,13 +68079,13 @@ pci:v00008086d00003422* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers - - pci:v00008086d00003422sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (ProLiant G6 series) - - pci:v00008086d00003423* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers - - pci:v00008086d00003423sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (ProLiant G6 series) - - pci:v00008086d00003425* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Physical and Link Layer Registers Port 0 -@@ -68118,7 +68118,7 @@ pci:v00008086d0000342E* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers - - pci:v00008086d0000342Esv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 I/O Hub System Management Registers (ProLiant G6 series) - - pci:v00008086d0000342F* - ID_MODEL_FROM_DATABASE=7500/5520/5500/X58 Trusted Execution Technology Registers -@@ -68142,10 +68142,10 @@ pci:v00008086d00003500* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port - - pci:v00008086d00003500sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (ProLiant DL140 G3) - - pci:v00008086d00003500sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Upstream Port (X7DBN Motherboard) - - pci:v00008086d00003501* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express Upstream Port -@@ -68160,10 +68160,10 @@ pci:v00008086d0000350C* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge - - pci:v00008086d0000350Csv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (ProLiant DL140 G3) - - pci:v00008086d0000350Csv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express to PCI-X Bridge (X7DBN Motherboard) - - pci:v00008086d0000350D* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express to PCI-X Bridge -@@ -68172,10 +68172,10 @@ pci:v00008086d00003510* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 - - pci:v00008086d00003510sv0000103Csd000031FE* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G3 -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (ProLiant DL140 G3) - - pci:v00008086d00003510sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E1 (X7DBN Motherboard) - - pci:v00008086d00003511* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E1 -@@ -68190,7 +68190,7 @@ pci:v00008086d00003518* - ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 - - pci:v00008086d00003518sv000015D9sd00009680* -- ID_MODEL_FROM_DATABASE=X7DBN Motherboard -+ ID_MODEL_FROM_DATABASE=6311ESB/6321ESB PCI Express Downstream Port E3 (X7DBN Motherboard) - - pci:v00008086d00003519* - ID_MODEL_FROM_DATABASE=6310ESB PCI Express Downstream Port E3 -@@ -68199,13 +68199,13 @@ pci:v00008086d00003575* - ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge - - pci:v00008086d00003575sv00000E11sd00000030* -- ID_MODEL_FROM_DATABASE=Evo N600c -+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (Evo N600c) - - pci:v00008086d00003575sv00001014sd0000021D* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (ThinkPad A/T/X Series) - - pci:v00008086d00003575sv0000104Dsd000080E7* -- ID_MODEL_FROM_DATABASE=VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP -+ ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge (VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP) - - pci:v00008086d00003576* - ID_MODEL_FROM_DATABASE=82830M/MP AGP Bridge -@@ -68214,7 +68214,7 @@ pci:v00008086d00003577* - ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller - - pci:v00008086d00003577sv00001014sd00000513* -- ID_MODEL_FROM_DATABASE=ThinkPad A/T/X Series -+ ID_MODEL_FROM_DATABASE=82830M/MG Integrated Graphics Controller (ThinkPad A/T/X Series) - - pci:v00008086d00003578* - ID_MODEL_FROM_DATABASE=82830M/MG/MP Host Bridge -@@ -68223,181 +68223,181 @@ pci:v00008086d00003580* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller - - pci:v00008086d00003580sv00001014sd0000055C* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) - - pci:v00008086d00003580sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) - - pci:v00008086d00003580sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) - - pci:v00008086d00003580sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) - - pci:v00008086d00003580sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) - - pci:v00008086d00003580sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) - - pci:v00008086d00003580sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) - - pci:v00008086d00003580sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) - - pci:v00008086d00003580sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) - - pci:v00008086d00003580sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) - - pci:v00008086d00003580sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) - - pci:v00008086d00003580sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) - - pci:v00008086d00003580sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) - - pci:v00008086d00003580sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CC9-SAMBA) - - pci:v00008086d00003580sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CD2-BEBOP) - - pci:v00008086d00003581* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller - - pci:v00008086d00003581sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to AGP Controller (Amilo M1420) - - pci:v00008086d00003582* - ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device - - pci:v00008086d00003582sv00001014sd00000562* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (ThinkPad R50e) - - pci:v00008086d00003582sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D400) - - pci:v00008086d00003582sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude X300) - - pci:v00008086d00003582sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D500) - - pci:v00008086d00003582sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Latitude D505) - - pci:v00008086d00003582sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (Inspiron 700m/710m) - - pci:v00008086d00003582sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 integrated graphics -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PC8 integrated graphics) - - pci:v00008086d00003582sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer VGA -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (V5D Single Board Computer VGA) - - pci:v00008086d00003582sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CE9) - - pci:v00008086d00003582sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CL9 mainboard) - - pci:v00008086d00003582sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (PSL09 PrPMC) - - pci:v00008086d00003582sv0000E4BFsd00000CC9* -- ID_MODEL_FROM_DATABASE=CC9-SAMBA -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CC9-SAMBA) - - pci:v00008086d00003582sv0000E4BFsd00000CD2* -- ID_MODEL_FROM_DATABASE=CD2-BEBOP -+ ID_MODEL_FROM_DATABASE=82852/855GM Integrated Graphics Device (CD2-BEBOP) - - pci:v00008086d00003584* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller - - pci:v00008086d00003584sv00001014sd0000055D* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) - - pci:v00008086d00003584sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) - - pci:v00008086d00003584sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) - - pci:v00008086d00003584sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) - - pci:v00008086d00003584sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) - - pci:v00008086d00003584sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) - - pci:v00008086d00003584sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) - - pci:v00008086d00003584sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) - - pci:v00008086d00003584sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) - - pci:v00008086d00003584sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) - - pci:v00008086d00003584sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) - - pci:v00008086d00003584sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) - - pci:v00008086d00003584sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) - - pci:v00008086d00003585* - ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller - - pci:v00008086d00003585sv00001014sd0000055E* -- ID_MODEL_FROM_DATABASE=ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (ThinkPad R50e) - - pci:v00008086d00003585sv00001028sd00000139* -- ID_MODEL_FROM_DATABASE=Latitude D400 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D400) - - pci:v00008086d00003585sv00001028sd0000014F* -- ID_MODEL_FROM_DATABASE=Latitude X300 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude X300) - - pci:v00008086d00003585sv00001028sd00000152* -- ID_MODEL_FROM_DATABASE=Latitude D500 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D500) - - pci:v00008086d00003585sv00001028sd00000163* -- ID_MODEL_FROM_DATABASE=Latitude D505 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Latitude D505) - - pci:v00008086d00003585sv00001028sd0000018D* -- ID_MODEL_FROM_DATABASE=Inspiron 700m/710m -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 700m/710m) - - pci:v00008086d00003585sv00001028sd00000196* -- ID_MODEL_FROM_DATABASE=Inspiron 5160 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Inspiron 5160) - - pci:v00008086d00003585sv0000114Asd00000582* -- ID_MODEL_FROM_DATABASE=PC8 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PC8) - - pci:v00008086d00003585sv00001734sd00001055* -- ID_MODEL_FROM_DATABASE=Amilo M1420 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (Amilo M1420) - - pci:v00008086d00003585sv00001775sd000010D0* -- ID_MODEL_FROM_DATABASE=V5D Single Board Computer -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (V5D Single Board Computer) - - pci:v00008086d00003585sv00001775sd0000CE90* -- ID_MODEL_FROM_DATABASE=CE9 -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CE9) - - pci:v00008086d00003585sv00004C53sd000010B0* -- ID_MODEL_FROM_DATABASE=CL9 mainboard -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (CL9 mainboard) - - pci:v00008086d00003585sv00004C53sd000010E0* -- ID_MODEL_FROM_DATABASE=PSL09 PrPMC -+ ID_MODEL_FROM_DATABASE=82852/82855 GM/GME/PM/GMV Processor to I/O Controller (PSL09 PrPMC) - - pci:v00008086d0000358C* - ID_MODEL_FROM_DATABASE=82854 GMCH -@@ -68409,70 +68409,70 @@ pci:v00008086d00003590* - ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub - - pci:v00008086d00003590sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (eServer xSeries server mainboard) - - pci:v00008086d00003590sv00001028sd0000016C* -- ID_MODEL_FROM_DATABASE=PowerEdge 1850 Memory Controller Hub -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 1850 Memory Controller Hub) - - pci:v00008086d00003590sv00001028sd0000016D* -- ID_MODEL_FROM_DATABASE=PowerEdge 2850 Memory Controller Hub -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge 2850 Memory Controller Hub) - - pci:v00008086d00003590sv00001028sd0000019A* -- ID_MODEL_FROM_DATABASE=PowerEdge SC1425 -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PowerEdge SC1425) - - pci:v00008086d00003590sv00001734sd0000103E* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX/TX S2 series -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (PRIMERGY RX/TX S2 series) - - pci:v00008086d00003590sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (CR11/VR11 Single Board Computer) - - pci:v00008086d00003590sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=E7520 Memory Controller Hub (Telum ASLP10 Processor AMC) - - pci:v00008086d00003591* - ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers - - pci:v00008086d00003591sv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (eServer xSeries server mainboard) - - pci:v00008086d00003591sv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision Workstation 670 Mainboard) - - pci:v00008086d00003591sv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Precision 470) - - pci:v00008086d00003591sv0000103Csd00003208* -- ID_MODEL_FROM_DATABASE=ProLiant DL140 G2 -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (ProLiant DL140 G2) - - pci:v00008086d00003591sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=E7525/E7520 Error Reporting Registers (Telum ASLP10 Processor AMC) - - pci:v00008086d00003592* - ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub - - pci:v00008086d00003592sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=E7320 Memory Controller Hub (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d00003593* - ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers - - pci:v00008086d00003593sv00001734sd00001073* -- ID_MODEL_FROM_DATABASE=Primergy Econel 200 D2020 mainboard -+ ID_MODEL_FROM_DATABASE=E7320 Error Reporting Registers (Primergy Econel 200 D2020 mainboard) - - pci:v00008086d00003594* - ID_MODEL_FROM_DATABASE=E7520 DMA Controller - - pci:v00008086d00003594sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (CR11/VR11 Single Board Computer) - - pci:v00008086d00003594sv00004C53sd000010D0* -- ID_MODEL_FROM_DATABASE=Telum ASLP10 Processor AMC -+ ID_MODEL_FROM_DATABASE=E7520 DMA Controller (Telum ASLP10 Processor AMC) - - pci:v00008086d00003595* - ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A - - pci:v00008086d00003595sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A (CR11/VR11 Single Board Computer) - - pci:v00008086d00003596* - ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 PCI Express Port A1 -@@ -68481,19 +68481,19 @@ pci:v00008086d00003597* - ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B - - pci:v00008086d00003597sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7525/E7520 PCI Express Port B (CR11/VR11 Single Board Computer) - - pci:v00008086d00003598* - ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 - - pci:v00008086d00003598sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port B1 (CR11/VR11 Single Board Computer) - - pci:v00008086d00003599* - ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C - - pci:v00008086d00003599sv00001775sd00001100* -- ID_MODEL_FROM_DATABASE=CR11/VR11 Single Board Computer -+ ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C (CR11/VR11 Single Board Computer) - - pci:v00008086d0000359A* - ID_MODEL_FROM_DATABASE=E7520 PCI Express Port C1 -@@ -68502,16 +68502,16 @@ pci:v00008086d0000359B* - ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers - - pci:v00008086d0000359Bsv00001014sd000002DD* -- ID_MODEL_FROM_DATABASE=eServer xSeries server mainboard -+ ID_MODEL_FROM_DATABASE=E7525/E7520/E7320 Extended Configuration Registers (eServer xSeries server mainboard) - - pci:v00008086d0000359E* - ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub - - pci:v00008086d0000359Esv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision Workstation 670 Mainboard) - - pci:v00008086d0000359Esv00001028sd00000169* -- ID_MODEL_FROM_DATABASE=Precision 470 -+ ID_MODEL_FROM_DATABASE=E7525 Memory Controller Hub (Precision 470) - - pci:v00008086d000035B0* - ID_MODEL_FROM_DATABASE=3100 Chipset Memory I/O Controller Hub -@@ -68562,7 +68562,7 @@ pci:v00008086d0000360C* - ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers - - pci:v00008086d0000360Csv00001028sd000001F0* -- ID_MODEL_FROM_DATABASE=PowerEdge R900 7300 Chipset FSB Registers -+ ID_MODEL_FROM_DATABASE=7300 Chipset FSB Registers (PowerEdge R900 7300 Chipset FSB Registers) - - pci:v00008086d0000360D* - ID_MODEL_FROM_DATABASE=7300 Chipset Snoop Filter Registers -@@ -68724,19 +68724,19 @@ pci:v00008086d00003A16* - ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller - - pci:v00008086d00003A16sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 LPC Interface Controller -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge R410 LPC Interface Controller) - - pci:v00008086d00003A16sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 LPC Interface Controller -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (PowerEdge T410 LPC Interface Controller) - - pci:v00008086d00003A16sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (ProLiant G6 series) - - pci:v00008086d00003A16sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A16sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) LPC Interface Controller (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A18* - ID_MODEL_FROM_DATABASE=82801JIB (ICH10) LPC Interface Controller -@@ -68748,52 +68748,52 @@ pci:v00008086d00003A20* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 - - pci:v00008086d00003A20sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge R410 SATA IDE Controller) - - pci:v00008086d00003A20sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 4 port SATA IDE Controller #1 (PowerEdge T410 SATA IDE Controller) - - pci:v00008086d00003A22* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller - - pci:v00008086d00003A22sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (ProLiant G6 series) - - pci:v00008086d00003A22sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A22sv00001458sd0000B005* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SATA AHCI Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A25* - ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller - - pci:v00008086d00003A25sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R410) -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R410)) - - pci:v00008086d00003A25sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE T410) -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE T410)) - - pci:v00008086d00003A25sv00001028sd000002F1* -- ID_MODEL_FROM_DATABASE=PERC S100 Controller (PE R510) -+ ID_MODEL_FROM_DATABASE=82801JIR (ICH10R) SATA RAID Controller (PERC S100 Controller (PE R510)) - - pci:v00008086d00003A26* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 - - pci:v00008086d00003A26sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge R410 SATA IDE Controller) - - pci:v00008086d00003A26sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 SATA IDE Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) 2 port SATA IDE Controller #2 (PowerEdge T410 SATA IDE Controller) - - pci:v00008086d00003A30* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller - - pci:v00008086d00003A30sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A30sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) SMBus Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A32* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Thermal Subsystem -@@ -68802,178 +68802,178 @@ pci:v00008086d00003A34* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 - - pci:v00008086d00003A34sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A34sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A34sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (ProLiant G6 series) - - pci:v00008086d00003A34sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A34sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #1 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A35* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 - - pci:v00008086d00003A35sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A35sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A35sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (ProLiant G6 series) - - pci:v00008086d00003A35sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A35sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #2 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A36* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 - - pci:v00008086d00003A36sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A36sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A36sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (ProLiant G6 series) - - pci:v00008086d00003A36sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A36sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #3 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A37* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 - - pci:v00008086d00003A37sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A37sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A37sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (ProLiant G6 series) - - pci:v00008086d00003A37sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A37sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #4 (Motherboard) - - pci:v00008086d00003A38* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 - - pci:v00008086d00003A38sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A38sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A38sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A38sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A38sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #5 (Motherboard) - - pci:v00008086d00003A39* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 - - pci:v00008086d00003A39sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge R410 USB UHCI Controller) - - pci:v00008086d00003A39sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB UHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (PowerEdge T410 USB UHCI Controller) - - pci:v00008086d00003A39sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A39sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A39sv00001458sd00005004* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB UHCI Controller #6 (Motherboard) - - pci:v00008086d00003A3A* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 - - pci:v00008086d00003A3Asv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge R410 USB EHCI Controller) - - pci:v00008086d00003A3Asv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (PowerEdge T410 USB EHCI Controller) - - pci:v00008086d00003A3Asv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (ProLiant G6 series) - - pci:v00008086d00003A3Asv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A3Asv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #1 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A3C* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 - - pci:v00008086d00003A3Csv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge R410 USB EHCI Controller) - - pci:v00008086d00003A3Csv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 USB EHCI Controller -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (PowerEdge T410 USB EHCI Controller) - - pci:v00008086d00003A3Csv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant G6 series -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (ProLiant G6 series) - - pci:v00008086d00003A3Csv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A3Csv00001458sd00005006* -- ID_MODEL_FROM_DATABASE=Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) USB2 EHCI Controller #2 (Motherboard) - - pci:v00008086d00003A3E* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller - - pci:v00008086d00003A3Esv00001043sd00008311* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (P5Q Deluxe Motherboard) - - pci:v00008086d00003A3Esv00001458sd0000A002* -- ID_MODEL_FROM_DATABASE=GA-EP45-UD3R Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-UD3R Motherboard) - - pci:v00008086d00003A3Esv00001458sd0000A102* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) HD Audio Controller (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A40* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 - - pci:v00008086d00003A40sv00001028sd0000028C* -- ID_MODEL_FROM_DATABASE=PowerEdge R410 PCI Express Port 1 -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge R410 PCI Express Port 1) - - pci:v00008086d00003A40sv00001028sd0000028D* -- ID_MODEL_FROM_DATABASE=PowerEdge T410 PCI Express Port 1 -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (PowerEdge T410 PCI Express Port 1) - - pci:v00008086d00003A40sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A40sv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A40sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A40sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 1 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A42* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Port 2 -@@ -68982,43 +68982,43 @@ pci:v00008086d00003A44* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 - - pci:v00008086d00003A44sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 3 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A46* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 - - pci:v00008086d00003A46sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A46sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 4 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A48* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 - - pci:v00008086d00003A48sv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A48sv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (P6T Deluxe Motherboard) - - pci:v00008086d00003A48sv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5 Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 5 (GA-EP45-DS5 Motherboard) - - pci:v00008086d00003A4A* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 - - pci:v00008086d00003A4Asv0000103Csd0000330B* -- ID_MODEL_FROM_DATABASE=ProLiant ML150 G6 Server -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (ProLiant ML150 G6 Server) - - pci:v00008086d00003A4Asv00001043sd000082D4* -- ID_MODEL_FROM_DATABASE=P5Q Deluxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P5Q Deluxe Motherboard) - - pci:v00008086d00003A4Asv00001043sd000082EA* -- ID_MODEL_FROM_DATABASE=P6T DeLuxe Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (P6T DeLuxe Motherboard) - - pci:v00008086d00003A4Asv00001458sd00005001* -- ID_MODEL_FROM_DATABASE=GA-EP45-DS5/GA-EG45M-DS2H Motherboard -+ ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) PCI Express Root Port 6 (GA-EP45-DS5/GA-EG45M-DS2H Motherboard) - - pci:v00008086d00003A4C* - ID_MODEL_FROM_DATABASE=82801JI (ICH10 Family) Gigabit Ethernet Controller -@@ -69108,10 +69108,10 @@ pci:v00008086d00003B07* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller - - pci:v00008086d00003B07sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Latitude E6510) - - pci:v00008086d00003B07sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (PC1-GROOVE) - - pci:v00008086d00003B08* - ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller -@@ -69120,16 +69120,16 @@ pci:v00008086d00003B09* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller - - pci:v00008086d00003B09sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) - - pci:v00008086d00003B0A* - ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller - - pci:v00008086d00003B0Asv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (OptiPlex 980) - - pci:v00008086d00003B0Asv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B0B* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller -@@ -69204,10 +69204,10 @@ pci:v00008086d00003B22* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller - - pci:v00008086d00003B22sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (OptiPlex 980) - - pci:v00008086d00003B22sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B23* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller -@@ -69225,7 +69225,7 @@ pci:v00008086d00003B29* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller - - pci:v00008086d00003B29sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) - - pci:v00008086d00003B2C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller -@@ -69234,64 +69234,64 @@ pci:v00008086d00003B2D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller - - pci:v00008086d00003B2Dsv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) - - pci:v00008086d00003B2E* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller - - pci:v00008086d00003B2Esv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (PC1-GROOVE) - - pci:v00008086d00003B2F* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller - - pci:v00008086d00003B2Fsv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (Latitude E6510) - - pci:v00008086d00003B2Fsv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 6 port SATA AHCI Controller (PC1-GROOVE) - - pci:v00008086d00003B30* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller - - pci:v00008086d00003B30sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Aspire 7740G) - - pci:v00008086d00003B30sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (OptiPlex 980) - - pci:v00008086d00003B30sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) - - pci:v00008086d00003B30sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B30sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) - - pci:v00008086d00003B32* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem - - pci:v00008086d00003B32sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) - - pci:v00008086d00003B34* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller - - pci:v00008086d00003B34sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) - - pci:v00008086d00003B34sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) - - pci:v00008086d00003B34sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - - pci:v00008086d00003B34sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B34sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - - pci:v00008086d00003B36* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller -@@ -69315,19 +69315,19 @@ pci:v00008086d00003B3C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller - - pci:v00008086d00003B3Csv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Aspire 7740G) - - pci:v00008086d00003B3Csv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (OptiPlex 980) - - pci:v00008086d00003B3Csv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - - pci:v00008086d00003B3Csv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B3Csv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - - pci:v00008086d00003B3E* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB Universal Host Controller -@@ -69345,40 +69345,40 @@ pci:v00008086d00003B42* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 - - pci:v00008086d00003B42sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (OptiPlex 980) - - pci:v00008086d00003B42sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) - - pci:v00008086d00003B42sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) - - pci:v00008086d00003B44* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 - - pci:v00008086d00003B44sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Latitude E6510) - - pci:v00008086d00003B44sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) - - pci:v00008086d00003B46* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 - - pci:v00008086d00003B46sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) - - pci:v00008086d00003B48* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 - - pci:v00008086d00003B48sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) - - pci:v00008086d00003B4A* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 - - pci:v00008086d00003B4Asv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) - - pci:v00008086d00003B4C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 -@@ -69396,19 +69396,19 @@ pci:v00008086d00003B56* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio - - pci:v00008086d00003B56sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Aspire 7740G) - - pci:v00008086d00003B56sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (OptiPlex 980) - - pci:v00008086d00003B56sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) - - pci:v00008086d00003B56sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) - - pci:v00008086d00003B56sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) - - pci:v00008086d00003B57* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio -@@ -69417,13 +69417,13 @@ pci:v00008086d00003B64* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller - - pci:v00008086d00003B64sv00001025sd00000347* -- ID_MODEL_FROM_DATABASE=Aspire 7740G -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Aspire 7740G) - - pci:v00008086d00003B64sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) - - pci:v00008086d00003B64sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) - - pci:v00008086d00003B65* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller -@@ -69435,7 +69435,7 @@ pci:v00008086d00003B67* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller - - pci:v00008086d00003B67sv0000E4BFsd000050C1* -- ID_MODEL_FROM_DATABASE=PC1-GROOVE -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset KT Controller (PC1-GROOVE) - - pci:v00008086d00003C00* - ID_MODEL_FROM_DATABASE=Xeon E5/Core i7 DMI2 -@@ -69765,25 +69765,25 @@ pci:v00008086d00004220* - ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection - - pci:v00008086d00004220sv0000103Csd00000934* -- ID_MODEL_FROM_DATABASE=Compaq nw8240/nx8220 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Compaq nw8240/nx8220) - - pci:v00008086d00004220sv0000103Csd000012F6* -- ID_MODEL_FROM_DATABASE=nc6120/nx8220/nw8240 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (nc6120/nx8220/nw8240) - - pci:v00008086d00004220sv00008086sd00002701* -- ID_MODEL_FROM_DATABASE=WM3B2300BG Mini-PCI Card -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (WM3B2300BG Mini-PCI Card) - - pci:v00008086d00004220sv00008086sd00002712* -- ID_MODEL_FROM_DATABASE=IBM ThinkPad R50e -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (IBM ThinkPad R50e) - - pci:v00008086d00004220sv00008086sd00002721* -- ID_MODEL_FROM_DATABASE=Dell B130 laptop integrated WLAN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell B130 laptop integrated WLAN) - - pci:v00008086d00004220sv00008086sd00002722* -- ID_MODEL_FROM_DATABASE=Dell Latitude D600 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Dell Latitude D600) - - pci:v00008086d00004220sv00008086sd00002731* -- ID_MODEL_FROM_DATABASE=Samsung P35 integrated WLAN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2200BG [Calexico2] Network Connection (Samsung P35 integrated WLAN) - - pci:v00008086d00004222* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection -@@ -69792,40 +69792,40 @@ pci:v00008086d00004222sv0000103Csd0000135C* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection - - pci:v00008086d00004222sv00008086sd00001000* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004222sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004222sv00008086sd00001005* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004222sv00008086sd00001034* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004222sv00008086sd00001044* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004222sv00008086sd00001C00* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004223* - ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection - - pci:v00008086d00004223sv00001000sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B Americas/Europe ZZA -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Americas/Europe ZZA) - - pci:v00008086d00004223sv00001001sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B Europe ZZE -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Europe ZZE) - - pci:v00008086d00004223sv00001002sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B Japan ZZJ -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B Japan ZZJ) - - pci:v00008086d00004223sv00001003sd00008086* -- ID_MODEL_FROM_DATABASE=mPCI 3B High-Band ZZH -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (mPCI 3B High-Band ZZH) - - pci:v00008086d00004223sv00001351sd0000103C* -- ID_MODEL_FROM_DATABASE=Compaq NC6220 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection (Compaq NC6220) - - pci:v00008086d00004224* - ID_MODEL_FROM_DATABASE=PRO/Wireless 2915ABG [Calexico2] Network Connection -@@ -69834,106 +69834,106 @@ pci:v00008086d00004227* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection - - pci:v00008086d00004227sv00008086sd00001011* -- ID_MODEL_FROM_DATABASE=ThinkPad T60/R60e/X60s -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (ThinkPad T60/R60e/X60s) - - pci:v00008086d00004227sv00008086sd00001014* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945BG Network Connection -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) - - pci:v00008086d00004229* - ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection - - pci:v00008086d00004229sv00008086sd00001100* -- ID_MODEL_FROM_DATABASE=Vaio VGN-SZ79SN_C -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Vaio VGN-SZ79SN_C) - - pci:v00008086d00004229sv00008086sd00001101* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (PRO/Wireless 4965 AG or AGN) - - pci:v00008086d0000422B* - ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 - - pci:v00008086d0000422Bsv00008086sd00001101* -- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) - - pci:v00008086d0000422Bsv00008086sd00001121* -- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) - - pci:v00008086d0000422C* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 - - pci:v00008086d0000422Csv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) - - pci:v00008086d0000422Csv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) - - pci:v00008086d0000422Csv00008086sd00001307* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 BG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 BG) - - pci:v00008086d0000422Csv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) - - pci:v00008086d0000422Csv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) - - pci:v00008086d00004230* - ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection - - pci:v00008086d00004230sv00008086sd00001110* -- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T51 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T51) - - pci:v00008086d00004230sv00008086sd00001111* -- ID_MODEL_FROM_DATABASE=Lenovo ThinkPad T61 -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (Lenovo ThinkPad T61) - - pci:v00008086d00004232* - ID_MODEL_FROM_DATABASE=WiFi Link 5100 - - pci:v00008086d00004232sv00008086sd00001201* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001204* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001205* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001206* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004232sv00008086sd00001221* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001224* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001225* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001226* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004232sv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001304* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001305* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004232sv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001324* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (AGN) - - pci:v00008086d00004232sv00008086sd00001325* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (BGN) - - pci:v00008086d00004232sv00008086sd00001326* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=WiFi Link 5100 (ABG) - - pci:v00008086d00004235* - ID_MODEL_FROM_DATABASE=Ultimate N WiFi Link 5300 -@@ -69945,43 +69945,43 @@ pci:v00008086d00004237* - ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection - - pci:v00008086d00004237sv00008086sd00001211* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001214* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001215* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) - - pci:v00008086d00004237sv00008086sd00001216* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) - - pci:v00008086d00004237sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001314* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 AGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 AGN) - - pci:v00008086d00004237sv00008086sd00001315* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 BGN -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 BGN) - - pci:v00008086d00004237sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=WiFi Link 5100 ABG -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 5100 AGN [Shiloh] Network Connection (WiFi Link 5100 ABG) - - pci:v00008086d00004238* - ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 - - pci:v00008086d00004238sv00008086sd00001111* -- ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 3x3 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Ultimate-N 6300 (3x3 AGN) - - pci:v00008086d00004239* - ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 - - pci:v00008086d00004239sv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 AGN -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 AGN) - - pci:v00008086d00004239sv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 2x2 ABG -+ ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6200 (2x2 ABG) - - pci:v00008086d0000423A* - ID_MODEL_FROM_DATABASE=PRO/Wireless 5350 AGN [Echo Peak] Network Connection -@@ -69993,37 +69993,37 @@ pci:v00008086d0000423C* - ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 - - pci:v00008086d0000423Csv00008086sd00001201* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Csv00008086sd00001206* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000423Csv00008086sd00001221* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Csv00008086sd00001301* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Csv00008086sd00001306* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000423Csv00008086sd00001321* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423D* - ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 - - pci:v00008086d0000423Dsv00008086sd00001211* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Dsv00008086sd00001216* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000423Dsv00008086sd00001311* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 AGN -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (AGN) - - pci:v00008086d0000423Dsv00008086sd00001316* -- ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 ABG -+ ID_MODEL_FROM_DATABASE=WiMAX/WiFi Link 5150 (ABG) - - pci:v00008086d0000444E* - ID_MODEL_FROM_DATABASE=Turbo Memory Controller -@@ -70176,7 +70176,7 @@ pci:v00008086d00005201* - ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller - - pci:v00008086d00005201sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Server Ethernet Adapter -+ ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller (EtherExpress PRO/100 Server Ethernet Adapter) - - pci:v00008086d0000530D* - ID_MODEL_FROM_DATABASE=80310 (IOP) IO Processor -@@ -70185,7 +70185,7 @@ pci:v00008086d00005845* - ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller - - pci:v00008086d00005845sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller (QEMU Virtual Machine) - - pci:v00008086d000065C0* - ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub -@@ -70212,16 +70212,16 @@ pci:v00008086d000065F0* - ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers - - pci:v00008086d000065F0sv00001028sd0000020F* -- ID_MODEL_FROM_DATABASE=PowerEdge R300 -+ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge R300) - - pci:v00008086d000065F0sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 -+ ID_MODEL_FROM_DATABASE=5100 Chipset FSB Registers (PowerEdge T300) - - pci:v00008086d000065F1* - ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers - - pci:v00008086d000065F1sv00001028sd00000210* -- ID_MODEL_FROM_DATABASE=PowerEdge T300 -+ ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers (PowerEdge T300) - - pci:v00008086d000065F3* - ID_MODEL_FROM_DATABASE=5100 Chipset Reserved Registers -@@ -70251,19 +70251,19 @@ pci:v00008086d00007000* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] - - pci:v00008086d00007000sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] (Qemu virtual machine) - - pci:v00008086d00007010* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] - - pci:v00008086d00007010sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 IDE [Natoma/Triton II] (Qemu virtual machine) - - pci:v00008086d00007020* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] - - pci:v00008086d00007020sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82371SB PIIX3 USB [Natoma/Triton II] (QEMU Virtual Machine) - - pci:v00008086d00007030* - ID_MODEL_FROM_DATABASE=430VX - 82437VX TVX [Triton VX] -@@ -70281,52 +70281,52 @@ pci:v00008086d00007110* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA - - pci:v00008086d00007110sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ISA (Virtual Machine Chipset) - - pci:v00008086d00007111* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE - - pci:v00008086d00007111sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 IDE (Virtual Machine Chipset) - - pci:v00008086d00007112* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB - - pci:v00008086d00007112sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (Virtual Machine Chipset) - - pci:v00008086d00007112sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=QEMU Virtual Machine -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 USB (QEMU Virtual Machine) - - pci:v00008086d00007113* - ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI - - pci:v00008086d00007113sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Virtual Machine Chipset) - - pci:v00008086d00007113sv00001AF4sd00001100* -- ID_MODEL_FROM_DATABASE=Qemu virtual machine -+ ID_MODEL_FROM_DATABASE=82371AB/EB/MB PIIX4 ACPI (Qemu virtual machine) - - pci:v00008086d00007120* - ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) - - pci:v00008086d00007120sv00004C53sd00001040* -- ID_MODEL_FROM_DATABASE=CL7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (CL7 mainboard) - - pci:v00008086d00007120sv00004C53sd00001060* -- ID_MODEL_FROM_DATABASE=PC7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 GMCH (Graphics Memory Controller Hub) (PC7 mainboard) - - pci:v00008086d00007121* - ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller - - pci:v00008086d00007121sv00004C53sd00001040* -- ID_MODEL_FROM_DATABASE=CL7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (CL7 mainboard) - - pci:v00008086d00007121sv00004C53sd00001060* -- ID_MODEL_FROM_DATABASE=PC7 mainboard -+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (PC7 mainboard) - - pci:v00008086d00007121sv00008086sd00004341* -- ID_MODEL_FROM_DATABASE=Cayman (CA810) Mainboard -+ ID_MODEL_FROM_DATABASE=82810 (CGC) Chipset Graphics Controller (Cayman (CA810) Mainboard) - - pci:v00008086d00007122* - ID_MODEL_FROM_DATABASE=82810 DC-100 (GMCH) Graphics Memory Controller Hub -@@ -70338,13 +70338,13 @@ pci:v00008086d00007124* - ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub - - pci:v00008086d00007124sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=82810E DC-133 (GMCH) Graphics Memory Controller Hub (OptiPlex GX110) - - pci:v00008086d00007125* - ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller - - pci:v00008086d00007125sv00001028sd000000B4* -- ID_MODEL_FROM_DATABASE=OptiPlex GX110 -+ ID_MODEL_FROM_DATABASE=82810E DC-133 (CGC) Chipset Graphics Controller (OptiPlex GX110) - - pci:v00008086d00007126* - ID_MODEL_FROM_DATABASE=82810 DC-133 System and Graphics Controller -@@ -70365,73 +70365,73 @@ pci:v00008086d00007190* - ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge - - pci:v00008086d00007190sv00000E11sd00000500* -- ID_MODEL_FROM_DATABASE=Armada 1750 Laptop System Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada 1750 Laptop System Chipset) - - pci:v00008086d00007190sv00000E11sd0000B110* -- ID_MODEL_FROM_DATABASE=Armada M700/E500 -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Armada M700/E500) - - pci:v00008086d00007190sv00001028sd0000008E* -- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (PowerEdge 1300 mainboard) - - pci:v00008086d00007190sv00001043sd0000803B* -- ID_MODEL_FROM_DATABASE=CUBX-L/E Mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CUBX-L/E Mainboard) - - pci:v00008086d00007190sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Toshiba Tecra 8100 Laptop System Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Toshiba Tecra 8100 Laptop System Chipset) - - pci:v00008086d00007190sv000015ADsd00001976* -- ID_MODEL_FROM_DATABASE=Virtual Machine Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (Virtual Machine Chipset) - - pci:v00008086d00007190sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CT7 mainboard) - - pci:v00008086d00007190sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (CE7 mainboard) - - pci:v00008086d00007191* - ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge - - pci:v00008086d00007191sv00001028sd0000008E* -- ID_MODEL_FROM_DATABASE=PowerEdge 1300 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (PowerEdge 1300 mainboard) - - pci:v00008086d00007192* - ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) - - pci:v00008086d00007192sv00000E11sd00000460* -- ID_MODEL_FROM_DATABASE=Armada 1700 Laptop System Chipset -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Armada 1700 Laptop System Chipset) - - pci:v00008086d00007192sv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Satellite 4010 -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Satellite 4010) - - pci:v00008086d00007192sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00008086d00007192sv00008086sd00007190* -- ID_MODEL_FROM_DATABASE=Dell PowerEdge 350 -+ ID_MODEL_FROM_DATABASE=440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (Dell PowerEdge 350) - - pci:v00008086d00007194* - ID_MODEL_FROM_DATABASE=82440MX Host Bridge - - pci:v00008086d00007194sv00001033sd00000000* -- ID_MODEL_FROM_DATABASE=Versa Note Vxi -+ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (Versa Note Vxi) - - pci:v00008086d00007194sv00004C53sd000010A0* -- ID_MODEL_FROM_DATABASE=CA3/CR3 mainboard -+ ID_MODEL_FROM_DATABASE=82440MX Host Bridge (CA3/CR3 mainboard) - - pci:v00008086d00007195* - ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller - - pci:v00008086d00007195sv00001033sd000080CC* -- ID_MODEL_FROM_DATABASE=Versa Note VXi -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (Versa Note VXi) - - pci:v00008086d00007195sv000010CFsd00001099* -- ID_MODEL_FROM_DATABASE=QSound_SigmaTel Stac97 PCI Audio -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (QSound_SigmaTel Stac97 PCI Audio) - - pci:v00008086d00007195sv000011D4sd00000040* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00007195sv000011D4sd00000048* -- ID_MODEL_FROM_DATABASE=SoundMAX Integrated Digital Audio -+ ID_MODEL_FROM_DATABASE=82440MX AC'97 Audio Controller (SoundMAX Integrated Digital Audio) - - pci:v00008086d00007196* - ID_MODEL_FROM_DATABASE=82440MX AC'97 Modem Controller -@@ -70452,10 +70452,10 @@ pci:v00008086d000071A0* - ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge - - pci:v00008086d000071A0sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CT7 mainboard) - - pci:v00008086d000071A0sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (CE7 mainboard) - - pci:v00008086d000071A1* - ID_MODEL_FROM_DATABASE=440GX - 82443GX AGP bridge -@@ -70464,7 +70464,7 @@ pci:v00008086d000071A2* - ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) - - pci:v00008086d000071A2sv00004C53sd00001000* -- ID_MODEL_FROM_DATABASE=CC7/CR7/CP7/VC7/VP7/VR7 mainboard -+ ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard) - - pci:v00008086d00007600* - ID_MODEL_FROM_DATABASE=82372FB PIIX5 ISA -@@ -70482,25 +70482,25 @@ pci:v00008086d00007800* - ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator - - pci:v00008086d00007800sv0000003Dsd00000008* -- ID_MODEL_FROM_DATABASE=Starfighter AGP -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) - - pci:v00008086d00007800sv0000003Dsd0000000B* -- ID_MODEL_FROM_DATABASE=Starfighter AGP -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Starfighter AGP) - - pci:v00008086d00007800sv00001092sd00000100* -- ID_MODEL_FROM_DATABASE=Stealth II G460 -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Stealth II G460) - - pci:v00008086d00007800sv000010B4sd0000201A* -- ID_MODEL_FROM_DATABASE=Lightspeed 740 -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) - - pci:v00008086d00007800sv000010B4sd0000202F* -- ID_MODEL_FROM_DATABASE=Lightspeed 740 -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Lightspeed 740) - - pci:v00008086d00007800sv00008086sd00000000* -- ID_MODEL_FROM_DATABASE=Terminator 2x/i -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Terminator 2x/i) - - pci:v00008086d00007800sv00008086sd00000100* -- ID_MODEL_FROM_DATABASE=Intel740 Graphics Accelerator -+ ID_MODEL_FROM_DATABASE=82740 (i740) AGP Graphics Accelerator (Intel740 Graphics Accelerator) - - pci:v00008086d00008002* - ID_MODEL_FROM_DATABASE=Trusted Execution Technology Registers -@@ -70611,13 +70611,13 @@ pci:v00008086d00008500* - ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) - - pci:v00008086d00008500sv00001993sd00000DED* -- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#2 -+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#2) - - pci:v00008086d00008500sv00001993sd00000DEE* -- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#1 -+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#1) - - pci:v00008086d00008500sv00001993sd00000DEF* -- ID_MODEL_FROM_DATABASE=mGuard-PCI AV#0 -+ ID_MODEL_FROM_DATABASE=IXP4XX Network Processor (IXP420/421/422/425/IXC1100) (mGuard-PCI AV#0) - - pci:v00008086d00008800* - ID_MODEL_FROM_DATABASE=Platform Controller Hub EG20T PCI Express Port -@@ -70710,10 +70710,10 @@ pci:v00008086d00008C03* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] - - pci:v00008086d00008C03sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ZBook 15) - - pci:v00008086d00008C03sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (ThinkPad T440p) - - pci:v00008086d00008C04* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] -@@ -70743,7 +70743,7 @@ pci:v00008086d00008C10* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 - - pci:v00008086d00008C10sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 (ThinkPad T440p) - - pci:v00008086d00008C11* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #1 -@@ -70752,7 +70752,7 @@ pci:v00008086d00008C12* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 - - pci:v00008086d00008C12sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 (ThinkPad T440p) - - pci:v00008086d00008C13* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family PCI Express Root Port #2 -@@ -70797,10 +70797,10 @@ pci:v00008086d00008C20* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller - - pci:v00008086d00008C20sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ZBook 15) - - pci:v00008086d00008C20sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller (ThinkPad T440p) - - pci:v00008086d00008C21* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset High Definition Audio Controller -@@ -70809,10 +70809,10 @@ pci:v00008086d00008C22* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller - - pci:v00008086d00008C22sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ZBook 15) - - pci:v00008086d00008C22sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family SMBus Controller (ThinkPad T440p) - - pci:v00008086d00008C23* - ID_MODEL_FROM_DATABASE=8 Series Chipset Family CHAP Counters -@@ -70824,28 +70824,28 @@ pci:v00008086d00008C26* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 - - pci:v00008086d00008C26sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ZBook 15) - - pci:v00008086d00008C26sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #1 (ThinkPad T440p) - - pci:v00008086d00008C2D* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 - - pci:v00008086d00008C2Dsv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ZBook 15) - - pci:v00008086d00008C2Dsv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB EHCI #2 (ThinkPad T440p) - - pci:v00008086d00008C31* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI - - pci:v00008086d00008C31sv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ZBook 15) - - pci:v00008086d00008C31sv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI (ThinkPad T440p) - - pci:v00008086d00008C33* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LAN Controller -@@ -70857,10 +70857,10 @@ pci:v00008086d00008C3A* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 - - pci:v00008086d00008C3Asv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ZBook 15) - - pci:v00008086d00008C3Asv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #1 (ThinkPad T440p) - - pci:v00008086d00008C3B* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family MEI Controller #2 -@@ -70920,10 +70920,10 @@ pci:v00008086d00008C4F* - ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller - - pci:v00008086d00008C4Fsv0000103Csd00001909* -- ID_MODEL_FROM_DATABASE=ZBook 15 -+ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ZBook 15) - - pci:v00008086d00008C4Fsv000017AAsd0000220E* -- ID_MODEL_FROM_DATABASE=ThinkPad T440p -+ ID_MODEL_FROM_DATABASE=QM87 Express LPC Controller (ThinkPad T440p) - - pci:v00008086d00008C50* - ID_MODEL_FROM_DATABASE=B85 Express LPC Controller -@@ -70986,7 +70986,7 @@ pci:v00008086d00008D06* - ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] - - pci:v00008086d00008D06sv000017AAsd00001031* -- ID_MODEL_FROM_DATABASE=ThinkServer RAID 110i -+ ID_MODEL_FROM_DATABASE=Wellsburg SATA Controller [RAID mode] (ThinkServer RAID 110i) - - pci:v00008086d00008D08* - ID_MODEL_FROM_DATABASE=Wellsburg 2-port SATA Controller [IDE mode] -@@ -71196,7 +71196,7 @@ pci:v00008086d00009C03* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] - - pci:v00008086d00009C03sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) - - pci:v00008086d00009C04* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -@@ -71286,7 +71286,7 @@ pci:v00008086d00009C20* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller - - pci:v00008086d00009C20sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) - - pci:v00008086d00009C21* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller -@@ -71295,7 +71295,7 @@ pci:v00008086d00009C22* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller - - pci:v00008086d00009C22sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) - - pci:v00008086d00009C23* - ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters -@@ -71307,7 +71307,7 @@ pci:v00008086d00009C26* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 - - pci:v00008086d00009C26sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) - - pci:v00008086d00009C2D* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 -@@ -71316,7 +71316,7 @@ pci:v00008086d00009C31* - ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC - - pci:v00008086d00009C31sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) - - pci:v00008086d00009C35* - ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller -@@ -71328,7 +71328,7 @@ pci:v00008086d00009C3A* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 - - pci:v00008086d00009C3Asv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) - - pci:v00008086d00009C3B* - ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 -@@ -71352,7 +71352,7 @@ pci:v00008086d00009C43* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller - - pci:v00008086d00009C43sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=ThinkPad X240 -+ ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) - - pci:v00008086d00009C44* - ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -@@ -71496,25 +71496,25 @@ pci:v00008086d0000A000* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge - - pci:v00008086d0000A000sv00001458sd00005000* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (GA-D525TUD) - - pci:v00008086d0000A000sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (DeskTop Board D510MO) - - pci:v00008086d0000A000sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Desktop Board D425KT) - - pci:v00008086d0000A001* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller - - pci:v00008086d0000A001sv00001458sd0000D000* -- ID_MODEL_FROM_DATABASE=GA-D525TUD -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (GA-D525TUD) - - pci:v00008086d0000A001sv00008086sd00004F4D* -- ID_MODEL_FROM_DATABASE=DeskTop Board D510MO -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (DeskTop Board D510MO) - - pci:v00008086d0000A001sv00008086sd0000544B* -- ID_MODEL_FROM_DATABASE=Desktop Board D425KT -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Desktop Board D425KT) - - pci:v00008086d0000A002* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller -@@ -71526,19 +71526,19 @@ pci:v00008086d0000A010* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge - - pci:v00008086d0000A010sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge (Notebook N150P) - - pci:v00008086d0000A011* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller - - pci:v00008086d0000A011sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) - - pci:v00008086d0000A012* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller - - pci:v00008086d0000A012sv0000144Dsd0000C072* -- ID_MODEL_FROM_DATABASE=Notebook N150P -+ ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (Notebook N150P) - - pci:v00008086d0000A013* - ID_MODEL_FROM_DATABASE=Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter -@@ -71559,22 +71559,22 @@ pci:v00008086d0000B555* - ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge - - pci:v00008086d0000B555sv000012C7sd00005005* -- ID_MODEL_FROM_DATABASE=SS7HD PCI Adaptor Card -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HD PCI Adaptor Card) - - pci:v00008086d0000B555sv000012C7sd00005006* -- ID_MODEL_FROM_DATABASE=SS7HDC cPCI Adaptor Card -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (SS7HDC cPCI Adaptor Card) - - pci:v00008086d0000B555sv000012D9sd0000000A* -- ID_MODEL_FROM_DATABASE=PCI VoIP Gateway -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (PCI VoIP Gateway) - - pci:v00008086d0000B555sv00004C53sd00001050* -- ID_MODEL_FROM_DATABASE=CT7 mainboard -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CT7 mainboard) - - pci:v00008086d0000B555sv00004C53sd00001051* -- ID_MODEL_FROM_DATABASE=CE7 mainboard -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CE7 mainboard) - - pci:v00008086d0000B555sv0000E4BFsd00001000* -- ID_MODEL_FROM_DATABASE=CC8-1-BLUES -+ ID_MODEL_FROM_DATABASE=21555 Non transparent PCI-to-PCI Bridge (CC8-1-BLUES) - - pci:v00008086d0000D130* - ID_MODEL_FROM_DATABASE=Core Processor DMI -@@ -71583,16 +71583,16 @@ pci:v00008086d0000D131* - ID_MODEL_FROM_DATABASE=Core Processor DMI - - pci:v00008086d0000D131sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=Core Processor DMI (OptiPlex 980) - - pci:v00008086d0000D131sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=Core Processor DMI (C7SIM-Q Motherboard) - - pci:v00008086d0000D132* - ID_MODEL_FROM_DATABASE=Core Processor DMI - - pci:v00008086d0000D132sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=Core Processor DMI (Latitude E6510) - - pci:v00008086d0000D133* - ID_MODEL_FROM_DATABASE=Core Processor DMI -@@ -71613,13 +71613,13 @@ pci:v00008086d0000D138* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 - - pci:v00008086d0000D138sv00001028sd000002DA* -- ID_MODEL_FROM_DATABASE=OptiPlex 980 -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (OptiPlex 980) - - pci:v00008086d0000D138sv00001028sd0000040B* -- ID_MODEL_FROM_DATABASE=Latitude E6510 -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (Latitude E6510) - - pci:v00008086d0000D138sv000015D9sd0000060D* -- ID_MODEL_FROM_DATABASE=C7SIM-Q Motherboard -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 1 (C7SIM-Q Motherboard) - - pci:v00008086d0000D139* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express Root Port 2 -@@ -71730,7 +71730,7 @@ pci:v00009004d00005078* - ID_MODEL_FROM_DATABASE=AIC-7850 - - pci:v00009004d00005078sv00009004sd00007850* -- ID_MODEL_FROM_DATABASE=AHA-2904/Integrated AIC-7850 -+ ID_MODEL_FROM_DATABASE=AIC-7850 (AHA-2904/Integrated AIC-7850) - - pci:v00009004d00005175* - ID_MODEL_FROM_DATABASE=AIC-755x -@@ -71766,10 +71766,10 @@ pci:v00009004d00005647* - ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine - - pci:v00009004d00005647sv00009004sd00007710* -- ID_MODEL_FROM_DATABASE=ANA-7711F TCP Offload Engine - Optical -+ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711F TCP Offload Engine - Optical) - - pci:v00009004d00005647sv00009004sd00007711* -- ID_MODEL_FROM_DATABASE=ANA-7711LP TCP Offload Engine - Copper -+ ID_MODEL_FROM_DATABASE=ANA-7711 TCP Offload Engine (ANA-7711LP TCP Offload Engine - Copper) - - pci:v00009004d00005675* - ID_MODEL_FROM_DATABASE=AIC-755x -@@ -71799,7 +71799,7 @@ pci:v00009004d00006075* - ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 - - pci:v00009004d00006075sv00009004sd00007560* -- ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 Cardbus -+ ID_MODEL_FROM_DATABASE=AIC-1480 / APA-1480 (Cardbus) - - pci:v00009004d00006078* - ID_MODEL_FROM_DATABASE=AIC-7860 -@@ -71808,7 +71808,7 @@ pci:v00009004d00006178* - ID_MODEL_FROM_DATABASE=AIC-7861 - - pci:v00009004d00006178sv00009004sd00007861* -- ID_MODEL_FROM_DATABASE=AHA-2940AU Single -+ ID_MODEL_FROM_DATABASE=AIC-7861 (AHA-2940AU Single) - - pci:v00009004d00006278* - ID_MODEL_FROM_DATABASE=AIC-7860 -@@ -71832,46 +71832,46 @@ pci:v00009004d00006915* - ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A - - pci:v00009004d00006915sv00009004sd00000008* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) - - pci:v00009004d00006915sv00009004sd00000009* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) - - pci:v00009004d00006915sv00009004sd00000010* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) - - pci:v00009004d00006915sv00009004sd00000018* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) - - pci:v00009004d00006915sv00009004sd00000019* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 10/100) - - pci:v00009004d00006915sv00009004sd00000020* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 10/100) - - pci:v00009004d00006915sv00009004sd00000028* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 10/100) - - pci:v00009004d00006915sv00009004sd00008008* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008009* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008010* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008018* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008019* -- ID_MODEL_FROM_DATABASE=ANA62044 4-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62044 4-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008020* -- ID_MODEL_FROM_DATABASE=ANA62022 2-port 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA62022 2-port 64 bit 10/100) - - pci:v00009004d00006915sv00009004sd00008028* -- ID_MODEL_FROM_DATABASE=ANA69011A/TX 64 bit 10/100 -+ ID_MODEL_FROM_DATABASE=ANA620xx/ANA69011A (ANA69011A/TX 64 bit 10/100) - - pci:v00009004d00007078* - ID_MODEL_FROM_DATABASE=AHA-294x / AIC-7870 -@@ -71910,7 +71910,7 @@ pci:v00009004d00007815* - ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC - - pci:v00009004d00007815sv00009004sd00007815* -- ID_MODEL_FROM_DATABASE=ARO-1130U2 RAID Controller -+ ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC (ARO-1130U2 RAID Controller) - - pci:v00009004d00007815sv00009004sd00007840* - ID_MODEL_FROM_DATABASE=AIC-7815 RAID+Memory Controller IC -@@ -71961,25 +71961,25 @@ pci:v00009004d00007895* - ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 - - pci:v00009004d00007895sv00009004sd00007890* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007895sv00009004sd00007891* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual) - - pci:v00009004d00007895sv00009004sd00007892* -- ID_MODEL_FROM_DATABASE=AHA-3940AU/AUW/AUWD/UWD -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3940AU/AUW/AUWD/UWD) - - pci:v00009004d00007895sv00009004sd00007894* -- ID_MODEL_FROM_DATABASE=AHA-3944AUWD -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-3944AUWD) - - pci:v00009004d00007895sv00009004sd00007895* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007895sv00009004sd00007896* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007895sv00009004sd00007897* -- ID_MODEL_FROM_DATABASE=AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW / AHA-39xx / AIC-7895 (AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B) - - pci:v00009004d00007896* - ID_MODEL_FROM_DATABASE=AIC-789x -@@ -71991,13 +71991,13 @@ pci:v00009004d00008078* - ID_MODEL_FROM_DATABASE=AIC-7880U - - pci:v00009004d00008078sv00009004sd00007880* -- ID_MODEL_FROM_DATABASE=AIC-7880P Ultra/Ultra Wide SCSI Chipset -+ ID_MODEL_FROM_DATABASE=AIC-7880U (AIC-7880P Ultra/Ultra Wide SCSI Chipset) - - pci:v00009004d00008178* - ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U - - pci:v00009004d00008178sv00009004sd00007881* -- ID_MODEL_FROM_DATABASE=AHA-2940UW SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=AHA-2940U/UW/D / AIC-7881U (AHA-2940UW SCSI Host Adapter) - - pci:v00009004d00008278* - ID_MODEL_FROM_DATABASE=AHA-3940U/UW/UWD / AIC-7882U -@@ -72018,13 +72018,13 @@ pci:v00009004d00008778* - ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x - - pci:v00009004d00008778sv00009004sd00007887* -- ID_MODEL_FROM_DATABASE=2940UW Pro Ultra-Wide SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940UW Pro / AIC-788x (2940UW Pro Ultra-Wide SCSI Controller) - - pci:v00009004d00008878* - ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 - - pci:v00009004d00008878sv00009004sd00007888* -- ID_MODEL_FROM_DATABASE=AHA-2930UW SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2930UW / AIC-7888 (AHA-2930UW SCSI Controller) - - pci:v00009004d00008B78* - ID_MODEL_FROM_DATABASE=ABA-1030 -@@ -72039,19 +72039,19 @@ pci:v00009005d00000010* - ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W - - pci:v00009005d00000010sv00009005sd00002180* -- ID_MODEL_FROM_DATABASE=AHA-2940U2 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2 SCSI Controller) - - pci:v00009005d00000010sv00009005sd00008100* -- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) - - pci:v00009005d00000010sv00009005sd0000A100* -- ID_MODEL_FROM_DATABASE=AHA-2940U2B SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2B SCSI Controller) - - pci:v00009005d00000010sv00009005sd0000A180* -- ID_MODEL_FROM_DATABASE=AHA-2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2940U2W SCSI Controller) - - pci:v00009005d00000010sv00009005sd0000E100* -- ID_MODEL_FROM_DATABASE=AHA-2950U2B SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W (AHA-2950U2B SCSI Controller) - - pci:v00009005d00000011* - ID_MODEL_FROM_DATABASE=AHA-2930U2 -@@ -72060,19 +72060,19 @@ pci:v00009005d00000013* - ID_MODEL_FROM_DATABASE=78902 - - pci:v00009005d00000013sv00009005sd00000003* -- ID_MODEL_FROM_DATABASE=AAA-131U2 Array1000 1 Channel RAID Controller -+ ID_MODEL_FROM_DATABASE=78902 (AAA-131U2 Array1000 1 Channel RAID Controller) - - pci:v00009005d00000013sv00009005sd0000000F* -- ID_MODEL_FROM_DATABASE=AIC7890_ARO -+ ID_MODEL_FROM_DATABASE=78902 (AIC7890_ARO) - - pci:v00009005d0000001F* - ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 - - pci:v00009005d0000001Fsv00009005sd0000000F* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) - - pci:v00009005d0000001Fsv00009005sd0000A180* -- ID_MODEL_FROM_DATABASE=2940U2W SCSI Controller -+ ID_MODEL_FROM_DATABASE=AHA-2940U2/U2W / 7890/7891 (2940U2W SCSI Controller) - - pci:v00009005d00000020* - ID_MODEL_FROM_DATABASE=AIC-7890 -@@ -72090,10 +72090,10 @@ pci:v00009005d00000050* - ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x - - pci:v00009005d00000050sv00009005sd0000F500* -- ID_MODEL_FROM_DATABASE=AHA-3950U2B -+ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) - - pci:v00009005d00000050sv00009005sd0000FFFF* -- ID_MODEL_FROM_DATABASE=AHA-3950U2B -+ ID_MODEL_FROM_DATABASE=AHA-3940U2x/395U2x (AHA-3950U2B) - - pci:v00009005d00000051* - ID_MODEL_FROM_DATABASE=AHA-3950U2D -@@ -72105,7 +72105,7 @@ pci:v00009005d00000053* - ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller - - pci:v00009005d00000053sv00009005sd0000FFFF* -- ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller mainboard implementation -+ ID_MODEL_FROM_DATABASE=AIC-7896 SCSI Controller (mainboard implementation) - - pci:v00009005d0000005F* - ID_MODEL_FROM_DATABASE=AIC-7896U2/7897U2 -@@ -72114,25 +72114,25 @@ pci:v00009005d00000080* - ID_MODEL_FROM_DATABASE=AIC-7892A U160/m - - pci:v00009005d00000080sv00000E11sd0000E2A0* -- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter) - - pci:v00009005d00000080sv00009005sd00006220* -- ID_MODEL_FROM_DATABASE=AHA-29160C -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (AHA-29160C) - - pci:v00009005d00000080sv00009005sd000062A0* -- ID_MODEL_FROM_DATABASE=29160N Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160N Ultra160 SCSI Controller) - - pci:v00009005d00000080sv00009005sd0000E220* -- ID_MODEL_FROM_DATABASE=29160LP Low Profile Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160LP Low Profile Ultra160 SCSI Controller) - - pci:v00009005d00000080sv00009005sd0000E2A0* -- ID_MODEL_FROM_DATABASE=29160 Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892A U160/m (29160 Ultra160 SCSI Controller) - - pci:v00009005d00000081* - ID_MODEL_FROM_DATABASE=AIC-7892B U160/m - - pci:v00009005d00000081sv00009005sd000062A1* -- ID_MODEL_FROM_DATABASE=19160 Ultra160 SCSI Controller -+ ID_MODEL_FROM_DATABASE=AIC-7892B U160/m (19160 Ultra160 SCSI Controller) - - pci:v00009005d00000083* - ID_MODEL_FROM_DATABASE=AIC-7892D U160/m -@@ -72141,10 +72141,10 @@ pci:v00009005d0000008F* - ID_MODEL_FROM_DATABASE=AIC-7892P U160/m - - pci:v00009005d0000008Fsv00001179sd00000001* -- ID_MODEL_FROM_DATABASE=Magnia Z310 -+ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Magnia Z310) - - pci:v00009005d0000008Fsv000015D9sd00009005* -- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=AIC-7892P U160/m (Onboard SCSI Host Adapter) - - pci:v00009005d00000092* - ID_MODEL_FROM_DATABASE=AVC-2010 [VideoH!] -@@ -72156,10 +72156,10 @@ pci:v00009005d000000C0* - ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m - - pci:v00009005d000000C0sv00000E11sd0000F620* -- ID_MODEL_FROM_DATABASE=Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter -+ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter) - - pci:v00009005d000000C0sv00009005sd0000F620* -- ID_MODEL_FROM_DATABASE=AHA-3960D U160/m -+ ID_MODEL_FROM_DATABASE=AHA-3960D / AIC-7899A U160/m (AHA-3960D U160/m) - - pci:v00009005d000000C1* - ID_MODEL_FROM_DATABASE=AIC-7899B U160/m -@@ -72171,28 +72171,28 @@ pci:v00009005d000000C5* - ID_MODEL_FROM_DATABASE=RAID subsystem HBA - - pci:v00009005d000000C5sv00001028sd000000C5* -- ID_MODEL_FROM_DATABASE=PowerEdge 2400,2500,2550,4400 -+ ID_MODEL_FROM_DATABASE=RAID subsystem HBA (PowerEdge 2400,2500,2550,4400) - - pci:v00009005d000000CF* - ID_MODEL_FROM_DATABASE=AIC-7899P U160/m - - pci:v00009005d000000CFsv00001028sd000000CE* -- ID_MODEL_FROM_DATABASE=PowerEdge 1400 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 1400) - - pci:v00009005d000000CFsv00001028sd000000D1* -- ID_MODEL_FROM_DATABASE=PowerEdge 2550 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2550) - - pci:v00009005d000000CFsv00001028sd000000D9* -- ID_MODEL_FROM_DATABASE=PowerEdge 2500 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (PowerEdge 2500) - - pci:v00009005d000000CFsv000010F1sd00002462* -- ID_MODEL_FROM_DATABASE=Thunder K7 S2462 -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Thunder K7 S2462) - - pci:v00009005d000000CFsv000015D9sd00009005* -- ID_MODEL_FROM_DATABASE=Onboard SCSI Host Adapter -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (Onboard SCSI Host Adapter) - - pci:v00009005d000000CFsv00008086sd00003411* -- ID_MODEL_FROM_DATABASE=SDS2 Mainboard -+ ID_MODEL_FROM_DATABASE=AIC-7899P U160/m (SDS2 Mainboard) - - pci:v00009005d00000241* - ID_MODEL_FROM_DATABASE=Serial ATA II RAID 1420SA -@@ -72210,13 +72210,13 @@ pci:v00009005d00000250* - ID_MODEL_FROM_DATABASE=ServeRAID Controller - - pci:v00009005d00000250sv00001014sd00000279* -- ID_MODEL_FROM_DATABASE=ServeRAID 6M -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6M) - - pci:v00009005d00000250sv00001014sd0000028C* -- ID_MODEL_FROM_DATABASE=ServeRAID 6i/6i+ -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 6i/6i+) - - pci:v00009005d00000250sv00001014sd0000028E* -- ID_MODEL_FROM_DATABASE=ServeRAID 7k -+ ID_MODEL_FROM_DATABASE=ServeRAID Controller (ServeRAID 7k) - - pci:v00009005d00000279* - ID_MODEL_FROM_DATABASE=ServeRAID 6M -@@ -72225,415 +72225,415 @@ pci:v00009005d00000283* - ID_MODEL_FROM_DATABASE=AAC-RAID - - pci:v00009005d00000283sv00009005sd00000283* -- ID_MODEL_FROM_DATABASE=Catapult -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Catapult) - - pci:v00009005d00000284* - ID_MODEL_FROM_DATABASE=AAC-RAID - - pci:v00009005d00000284sv00009005sd00000284* -- ID_MODEL_FROM_DATABASE=Tomcat -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Tomcat) - - pci:v00009005d00000285* - ID_MODEL_FROM_DATABASE=AAC-RAID - - pci:v00009005d00000285sv00000E11sd00000295* -- ID_MODEL_FROM_DATABASE=SATA 6Ch (Bearcat) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SATA 6Ch (Bearcat)) - - pci:v00009005d00000285sv00001014sd000002F2* -- ID_MODEL_FROM_DATABASE=ServeRAID 8i -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ServeRAID 8i) - - pci:v00009005d00000285sv00001028sd00000287* -- ID_MODEL_FROM_DATABASE=PowerEdge Expandable RAID Controller 320/DC -+ ID_MODEL_FROM_DATABASE=AAC-RAID (PowerEdge Expandable RAID Controller 320/DC) - - pci:v00009005d00000285sv00001028sd00000291* -- ID_MODEL_FROM_DATABASE=CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)) - - pci:v00009005d00000285sv0000103Csd00003227* -- ID_MODEL_FROM_DATABASE=AAR-2610SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2610SA) - - pci:v00009005d00000285sv0000108Esd00000286* -- ID_MODEL_FROM_DATABASE=Sun StorageTek SAS RAID HBA, Internal -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Sun StorageTek SAS RAID HBA, Internal) - - pci:v00009005d00000285sv0000108Esd00000287* -- ID_MODEL_FROM_DATABASE=STK RAID EXT -+ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EXT) - - pci:v00009005d00000285sv0000108Esd00007AAC* -- ID_MODEL_FROM_DATABASE=STK RAID REM -+ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID REM) - - pci:v00009005d00000285sv0000108Esd00007AAE* -- ID_MODEL_FROM_DATABASE=STK RAID EX -+ ID_MODEL_FROM_DATABASE=AAC-RAID (STK RAID EX) - - pci:v00009005d00000285sv000015D9sd000002B5* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4i -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4i) - - pci:v00009005d00000285sv000015D9sd000002B6* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i) - - pci:v00009005d00000285sv000015D9sd000002C9* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S4iR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S4iR) - - pci:v00009005d00000285sv000015D9sd000002CA* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR) - - pci:v00009005d00000285sv000015D9sd000002D2* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8i-LP -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8i-LP) - - pci:v00009005d00000285sv000015D9sd000002D3* -- ID_MODEL_FROM_DATABASE=SMC AOC-USAS-S8iR-LP -+ ID_MODEL_FROM_DATABASE=AAC-RAID (SMC AOC-USAS-S8iR-LP) - - pci:v00009005d00000285sv000017AAsd00000286* -- ID_MODEL_FROM_DATABASE=Legend S220 (Legend Crusader) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S220 (Legend Crusader)) - - pci:v00009005d00000285sv000017AAsd00000287* -- ID_MODEL_FROM_DATABASE=Legend S230 (Legend Vulcan) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Legend S230 (Legend Vulcan)) - - pci:v00009005d00000285sv00009005sd00000285* -- ID_MODEL_FROM_DATABASE=2200S (Vulcan) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan)) - - pci:v00009005d00000285sv00009005sd00000286* -- ID_MODEL_FROM_DATABASE=2120S (Crusader) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (2120S (Crusader)) - - pci:v00009005d00000285sv00009005sd00000287* -- ID_MODEL_FROM_DATABASE=2200S (Vulcan-2m) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (2200S (Vulcan-2m)) - - pci:v00009005d00000285sv00009005sd00000288* -- ID_MODEL_FROM_DATABASE=3230S (Harrier) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3230S (Harrier)) - - pci:v00009005d00000285sv00009005sd00000289* -- ID_MODEL_FROM_DATABASE=3240S (Tornado) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3240S (Tornado)) - - pci:v00009005d00000285sv00009005sd0000028A* -- ID_MODEL_FROM_DATABASE=ASR-2020ZCR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020ZCR) - - pci:v00009005d00000285sv00009005sd0000028B* -- ID_MODEL_FROM_DATABASE=ASR-2025ZCR (Terminator) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025ZCR (Terminator)) - - pci:v00009005d00000285sv00009005sd0000028E* -- ID_MODEL_FROM_DATABASE=ASR-2020SA (Skyhawk) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2020SA (Skyhawk)) - - pci:v00009005d00000285sv00009005sd0000028F* -- ID_MODEL_FROM_DATABASE=ASR-2025SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2025SA) - - pci:v00009005d00000285sv00009005sd00000290* -- ID_MODEL_FROM_DATABASE=AAR-2410SA PCI SATA 4ch (Jaguar II) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2410SA PCI SATA 4ch (Jaguar II)) - - pci:v00009005d00000285sv00009005sd00000292* -- ID_MODEL_FROM_DATABASE=AAR-2810SA PCI SATA 8ch (Corsair-8) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-2810SA PCI SATA 8ch (Corsair-8)) - - pci:v00009005d00000285sv00009005sd00000293* -- ID_MODEL_FROM_DATABASE=AAR-21610SA PCI SATA 16ch (Corsair-16) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (AAR-21610SA PCI SATA 16ch (Corsair-16)) - - pci:v00009005d00000285sv00009005sd00000294* -- ID_MODEL_FROM_DATABASE=ESD SO-DIMM PCI-X SATA ZCR (Prowler) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ESD SO-DIMM PCI-X SATA ZCR (Prowler)) - - pci:v00009005d00000285sv00009005sd00000296* -- ID_MODEL_FROM_DATABASE=ASR-2240S -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2240S) - - pci:v00009005d00000285sv00009005sd00000297* -- ID_MODEL_FROM_DATABASE=ASR-4005SAS -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4005SAS) - - pci:v00009005d00000285sv00009005sd00000298* -- ID_MODEL_FROM_DATABASE=ASR-4000 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4000) - - pci:v00009005d00000285sv00009005sd00000299* -- ID_MODEL_FROM_DATABASE=ASR-4800SAS -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-4800SAS) - - pci:v00009005d00000285sv00009005sd0000029A* -- ID_MODEL_FROM_DATABASE=4805SAS -+ ID_MODEL_FROM_DATABASE=AAC-RAID (4805SAS) - - pci:v00009005d00000285sv00009005sd000002A4* -- ID_MODEL_FROM_DATABASE=ICP ICP9085LI -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP9085LI) - - pci:v00009005d00000285sv00009005sd000002A5* -- ID_MODEL_FROM_DATABASE=ICP ICP5085BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BR) - - pci:v00009005d00000285sv00009005sd000002B5* -- ID_MODEL_FROM_DATABASE=ASR5800 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5800) - - pci:v00009005d00000285sv00009005sd000002B6* -- ID_MODEL_FROM_DATABASE=ASR5805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5805) - - pci:v00009005d00000285sv00009005sd000002B7* -- ID_MODEL_FROM_DATABASE=ASR5808 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR5808) - - pci:v00009005d00000285sv00009005sd000002B8* -- ID_MODEL_FROM_DATABASE=ICP5445SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5445SL) - - pci:v00009005d00000285sv00009005sd000002B9* -- ID_MODEL_FROM_DATABASE=ICP5085SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5085SL) - - pci:v00009005d00000285sv00009005sd000002BA* -- ID_MODEL_FROM_DATABASE=ICP5805SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805SL) - - pci:v00009005d00000285sv00009005sd000002BB* -- ID_MODEL_FROM_DATABASE=3405 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3405) - - pci:v00009005d00000285sv00009005sd000002BC* -- ID_MODEL_FROM_DATABASE=3805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3805) - - pci:v00009005d00000285sv00009005sd000002BD* -- ID_MODEL_FROM_DATABASE=31205 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (31205) - - pci:v00009005d00000285sv00009005sd000002BE* -- ID_MODEL_FROM_DATABASE=31605 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (31605) - - pci:v00009005d00000285sv00009005sd000002BF* -- ID_MODEL_FROM_DATABASE=ICP ICP5045BL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5045BL) - - pci:v00009005d00000285sv00009005sd000002C0* -- ID_MODEL_FROM_DATABASE=ICP ICP5085BL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5085BL) - - pci:v00009005d00000285sv00009005sd000002C1* -- ID_MODEL_FROM_DATABASE=ICP ICP5125BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125BR) - - pci:v00009005d00000285sv00009005sd000002C2* -- ID_MODEL_FROM_DATABASE=ICP ICP5165BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165BR) - - pci:v00009005d00000285sv00009005sd000002C3* -- ID_MODEL_FROM_DATABASE=51205 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51205) - - pci:v00009005d00000285sv00009005sd000002C4* -- ID_MODEL_FROM_DATABASE=51605 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51605) - - pci:v00009005d00000285sv00009005sd000002C5* -- ID_MODEL_FROM_DATABASE=ICP ICP5125SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5125SL) - - pci:v00009005d00000285sv00009005sd000002C6* -- ID_MODEL_FROM_DATABASE=ICP ICP5165SL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP ICP5165SL) - - pci:v00009005d00000285sv00009005sd000002C7* -- ID_MODEL_FROM_DATABASE=3085 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (3085) - - pci:v00009005d00000285sv00009005sd000002C8* -- ID_MODEL_FROM_DATABASE=ICP5805BL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ICP5805BL) - - pci:v00009005d00000285sv00009005sd000002CE* -- ID_MODEL_FROM_DATABASE=51245 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51245) - - pci:v00009005d00000285sv00009005sd000002CF* -- ID_MODEL_FROM_DATABASE=51645 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51645) - - pci:v00009005d00000285sv00009005sd000002D0* -- ID_MODEL_FROM_DATABASE=52445 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (52445) - - pci:v00009005d00000285sv00009005sd000002D1* -- ID_MODEL_FROM_DATABASE=5405 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5405) - - pci:v00009005d00000285sv00009005sd000002D4* -- ID_MODEL_FROM_DATABASE=ASR-2045 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045) - - pci:v00009005d00000285sv00009005sd000002D5* -- ID_MODEL_FROM_DATABASE=ASR-2405 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405) - - pci:v00009005d00000285sv00009005sd000002D6* -- ID_MODEL_FROM_DATABASE=ASR-2445 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445) - - pci:v00009005d00000285sv00009005sd000002D7* -- ID_MODEL_FROM_DATABASE=ASR-2805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805) - - pci:v00009005d00000285sv00009005sd000002D8* -- ID_MODEL_FROM_DATABASE=5405G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5405G) - - pci:v00009005d00000285sv00009005sd000002D9* -- ID_MODEL_FROM_DATABASE=5445G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5445G) - - pci:v00009005d00000285sv00009005sd000002DA* -- ID_MODEL_FROM_DATABASE=5805G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5805G) - - pci:v00009005d00000285sv00009005sd000002DB* -- ID_MODEL_FROM_DATABASE=5085G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (5085G) - - pci:v00009005d00000285sv00009005sd000002DC* -- ID_MODEL_FROM_DATABASE=51245G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51245G) - - pci:v00009005d00000285sv00009005sd000002DD* -- ID_MODEL_FROM_DATABASE=51645G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (51645G) - - pci:v00009005d00000285sv00009005sd000002DE* -- ID_MODEL_FROM_DATABASE=52445G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (52445G) - - pci:v00009005d00000285sv00009005sd000002DF* -- ID_MODEL_FROM_DATABASE=ASR-2045G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2045G) - - pci:v00009005d00000285sv00009005sd000002E0* -- ID_MODEL_FROM_DATABASE=ASR-2405G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2405G) - - pci:v00009005d00000285sv00009005sd000002E1* -- ID_MODEL_FROM_DATABASE=ASR-2445G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2445G) - - pci:v00009005d00000285sv00009005sd000002E2* -- ID_MODEL_FROM_DATABASE=ASR-2805G -+ ID_MODEL_FROM_DATABASE=AAC-RAID (ASR-2805G) - - pci:v00009005d00000286* - ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) - - pci:v00009005d00000286sv00001014sd0000034D* -- ID_MODEL_FROM_DATABASE=8s -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (8s) - - pci:v00009005d00000286sv00001014sd00009540* -- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l4 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l4) - - pci:v00009005d00000286sv00001014sd00009580* -- ID_MODEL_FROM_DATABASE=ServeRAID 8k/8k-l8 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ServeRAID 8k/8k-l8) - - pci:v00009005d00000286sv00009005sd0000028C* -- ID_MODEL_FROM_DATABASE=ASR-2230S + ASR-2230SLP PCI-X (Lancer) -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2230S + ASR-2230SLP PCI-X (Lancer)) - - pci:v00009005d00000286sv00009005sd0000028D* -- ID_MODEL_FROM_DATABASE=ASR-2130S -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2130S) - - pci:v00009005d00000286sv00009005sd0000029B* -- ID_MODEL_FROM_DATABASE=ASR-2820SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2820SA) - - pci:v00009005d00000286sv00009005sd0000029C* -- ID_MODEL_FROM_DATABASE=ASR-2620SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2620SA) - - pci:v00009005d00000286sv00009005sd0000029D* -- ID_MODEL_FROM_DATABASE=ASR-2420SA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ASR-2420SA) - - pci:v00009005d00000286sv00009005sd0000029E* -- ID_MODEL_FROM_DATABASE=ICP ICP9024R0 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9024R0) - - pci:v00009005d00000286sv00009005sd0000029F* -- ID_MODEL_FROM_DATABASE=ICP ICP9014R0 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9014R0) - - pci:v00009005d00000286sv00009005sd000002A0* -- ID_MODEL_FROM_DATABASE=ICP ICP9047MA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9047MA) - - pci:v00009005d00000286sv00009005sd000002A1* -- ID_MODEL_FROM_DATABASE=ICP ICP9087MA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9087MA) - - pci:v00009005d00000286sv00009005sd000002A2* -- ID_MODEL_FROM_DATABASE=3800 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3800) - - pci:v00009005d00000286sv00009005sd000002A3* -- ID_MODEL_FROM_DATABASE=ICP ICP5445AU -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5445AU) - - pci:v00009005d00000286sv00009005sd000002A4* -- ID_MODEL_FROM_DATABASE=ICP ICP9085LI -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP9085LI) - - pci:v00009005d00000286sv00009005sd000002A5* -- ID_MODEL_FROM_DATABASE=ICP ICP5085BR -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085BR) - - pci:v00009005d00000286sv00009005sd000002A6* -- ID_MODEL_FROM_DATABASE=ICP9067MA -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP9067MA) - - pci:v00009005d00000286sv00009005sd000002A7* -- ID_MODEL_FROM_DATABASE=3805 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3805) - - pci:v00009005d00000286sv00009005sd000002A8* -- ID_MODEL_FROM_DATABASE=3400 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (3400) - - pci:v00009005d00000286sv00009005sd000002A9* -- ID_MODEL_FROM_DATABASE=ICP ICP5085AU -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5085AU) - - pci:v00009005d00000286sv00009005sd000002AA* -- ID_MODEL_FROM_DATABASE=ICP ICP5045AU -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AU) - - pci:v00009005d00000286sv00009005sd000002AC* -- ID_MODEL_FROM_DATABASE=1800 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (1800) - - pci:v00009005d00000286sv00009005sd000002B3* -- ID_MODEL_FROM_DATABASE=2400 -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (2400) - - pci:v00009005d00000286sv00009005sd000002B4* -- ID_MODEL_FROM_DATABASE=ICP ICP5045AL -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (ICP ICP5045AL) - - pci:v00009005d00000286sv00009005sd00000800* -- ID_MODEL_FROM_DATABASE=Callisto -+ ID_MODEL_FROM_DATABASE=AAC-RAID (Rocket) (Callisto) - - pci:v00009005d0000028B* - ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 - - pci:v00009005d0000028Bsv00009005sd00000200* -- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000201* -- ID_MODEL_FROM_DATABASE=Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000300* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6405 - 4 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6405 - 4 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000301* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6805 - 8 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6805 - 8 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000302* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000310* -- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000311* -- ID_MODEL_FROM_DATABASE=Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS) - - pci:v00009005d0000028Bsv00009005sd00000400* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61205 - 12 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61205 - 12 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000401* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-61605 - 16 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-61605 - 16 internal 6G SAS ports) - - pci:v00009005d0000028Bsv00009005sd00000403* -- ID_MODEL_FROM_DATABASE=Series 6 - ASR-62405 - 24 internal 6G SAS ports -+ ID_MODEL_FROM_DATABASE=Series 6 - 6G SAS/PCIe 2 (Series 6 - ASR-62405 - 24 internal 6G SAS ports) - - pci:v00009005d0000028C* - ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 - - pci:v00009005d0000028Csv00009005sd00000500* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000501* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000502* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000503* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000504* -- ID_MODEL_FROM_DATABASE=Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000505* -- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Csv00009005sd00000506* -- ID_MODEL_FROM_DATABASE=Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 7 6G SAS/PCIe 3 (Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0) - - pci:v00009005d0000028D* - ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 - - pci:v00009005d0000028Dsv00009005sd00000550* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000551* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000552* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000553* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d0000028Dsv00009005sd00000554* -- ID_MODEL_FROM_DATABASE=Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0 -+ ID_MODEL_FROM_DATABASE=Series 8 12G SAS/PCIe 3 (Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0) - - pci:v00009005d00000410* - ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) - - pci:v00009005d00000410sv00009005sd00000410* -- ID_MODEL_FROM_DATABASE=ASC-48300(Spirit RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-48300(Spirit RAID)) - - pci:v00009005d00000410sv00009005sd00000411* -- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA RAID) (ASC-58300 (Oakmont RAID)) - - pci:v00009005d00000412* - ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) - - pci:v00009005d00000412sv00009005sd00000412* -- ID_MODEL_FROM_DATABASE=ASC-48300 (Spirit non-RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-48300 (Spirit non-RAID)) - - pci:v00009005d00000412sv00009005sd00000413* -- ID_MODEL_FROM_DATABASE=ASC-58300 (Oakmont non-RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9410W SAS (Razor HBA non-RAID) (ASC-58300 (Oakmont non-RAID)) - - pci:v00009005d00000415* - ID_MODEL_FROM_DATABASE=ASC-58300 SAS (Razor-External HBA RAID) -@@ -72657,13 +72657,13 @@ pci:v00009005d00000430* - ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) - - pci:v00009005d00000430sv00009005sd00000430* -- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA RAID) (ASC-44300 (Spirit-Lite RAID)) - - pci:v00009005d00000432* - ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) - - pci:v00009005d00000432sv00009005sd00000432* -- ID_MODEL_FROM_DATABASE=ASC-44300 (Spirit-Lite non-RAID) -+ ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite HBA non-RAID) (ASC-44300 (Spirit-Lite non-RAID)) - - pci:v00009005d0000043E* - ID_MODEL_FROM_DATABASE=AIC-9405W SAS (Razor-Lite ASIC non-RAID) -@@ -72678,22 +72678,22 @@ pci:v00009005d00000500* - ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller - - pci:v00009005d00000500sv00001014sd000002C1* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS Adapter (572A/572C) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS Adapter (572A/572C)) - - pci:v00009005d00000500sv00001014sd000002C2* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572B/572D) -+ ID_MODEL_FROM_DATABASE=Obsidian chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572B/572D)) - - pci:v00009005d00000503* - ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller - - pci:v00009005d00000503sv00001014sd000002BF* -- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E) -+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E)) - - pci:v00009005d00000503sv00001014sd000002C3* -- ID_MODEL_FROM_DATABASE=PCI-X DDR 3Gb SAS RAID Adapter (572F) -+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (PCI-X DDR 3Gb SAS RAID Adapter (572F)) - - pci:v00009005d00000503sv00001014sd000002D5* -- ID_MODEL_FROM_DATABASE=Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F) -+ ID_MODEL_FROM_DATABASE=Scamp chipset SCSI controller (Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F)) - - pci:v00009005d00000910* - ID_MODEL_FROM_DATABASE=AUA-3100B -@@ -72714,10 +72714,10 @@ pci:v00009005d00008011* - ID_MODEL_FROM_DATABASE=ASC-39320D - - pci:v00009005d00008011sv00000E11sd000000AC* -- ID_MODEL_FROM_DATABASE=ASC-39320D U320 -+ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) - - pci:v00009005d00008011sv00009005sd00000041* -- ID_MODEL_FROM_DATABASE=ASC-39320D U320 -+ ID_MODEL_FROM_DATABASE=ASC-39320D (U320) - - pci:v00009005d00008012* - ID_MODEL_FROM_DATABASE=ASC-29320 U320 -@@ -72738,10 +72738,10 @@ pci:v00009005d00008017* - ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 - - pci:v00009005d00008017sv00009005sd00000044* -- ID_MODEL_FROM_DATABASE=ASC-29320ALP PCIx U320 -+ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320ALP PCIx U320) - - pci:v00009005d00008017sv00009005sd00000045* -- ID_MODEL_FROM_DATABASE=ASC-29320LPE PCIe U320 -+ ID_MODEL_FROM_DATABASE=ASC-29320ALP U320 (ASC-29320LPE PCIe U320) - - pci:v00009005d0000801C* - ID_MODEL_FROM_DATABASE=ASC-39320D U320 -@@ -72750,7 +72750,7 @@ pci:v00009005d0000801D* - ID_MODEL_FROM_DATABASE=AIC-7902B U320 - - pci:v00009005d0000801Dsv00001014sd000002CC* -- ID_MODEL_FROM_DATABASE=ServeRAID 7e -+ ID_MODEL_FROM_DATABASE=AIC-7902B U320 (ServeRAID 7e) - - pci:v00009005d0000801E* - ID_MODEL_FROM_DATABASE=AIC-7901A U320 -@@ -72759,7 +72759,7 @@ pci:v00009005d0000801F* - ID_MODEL_FROM_DATABASE=AIC-7902 U320 - - pci:v00009005d0000801Fsv00001734sd00001011* -- ID_MODEL_FROM_DATABASE=PRIMERGY RX300 onboard SCSI -+ ID_MODEL_FROM_DATABASE=AIC-7902 U320 (PRIMERGY RX300 onboard SCSI) - - pci:v00009005d00008080* - ID_MODEL_FROM_DATABASE=ASC-29320A U320 w/HostRAID -@@ -72777,7 +72777,7 @@ pci:v00009005d0000808F* - ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID - - pci:v00009005d0000808Fsv00001028sd00000168* -- ID_MODEL_FROM_DATABASE=Precision Workstation 670 Mainboard -+ ID_MODEL_FROM_DATABASE=AIC-7901 U320 w/HostRAID (Precision Workstation 670 Mainboard) - - pci:v00009005d00008090* - ID_MODEL_FROM_DATABASE=ASC-39320 U320 w/HostRAID -@@ -72810,7 +72810,7 @@ pci:v00009005d0000809D* - ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID - - pci:v00009005d0000809Dsv00001014sd000002CC* -- ID_MODEL_FROM_DATABASE=ServeRAID 7e -+ ID_MODEL_FROM_DATABASE=AIC-7902(B) U320 w/HostRAID (ServeRAID 7e) - - pci:v00009005d0000809E* - ID_MODEL_FROM_DATABASE=AIC-7901A U320 w/HostRAID -@@ -72858,7 +72858,7 @@ pci:v00009710d00009815* - ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller - - pci:v00009710d00009815sv00001000sd00000020* -- ID_MODEL_FROM_DATABASE=2P0S (2 port parallel adaptor) -+ ID_MODEL_FROM_DATABASE=PCI 9815 Multi-I/O Controller (2P0S (2 port parallel adaptor)) - - pci:v00009710d00009820* - ID_MODEL_FROM_DATABASE=PCI 9820 Multi-I/O Controller -@@ -72867,31 +72867,31 @@ pci:v00009710d00009835* - ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller - - pci:v00009710d00009835sv00001000sd00000002* -- ID_MODEL_FROM_DATABASE=2S (16C550 UART) -+ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (2S (16C550 UART)) - - pci:v00009710d00009835sv00001000sd00000012* -- ID_MODEL_FROM_DATABASE=1P2S -+ ID_MODEL_FROM_DATABASE=PCI 9835 Multi-I/O Controller (1P2S) - - pci:v00009710d00009845* - ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller - - pci:v00009710d00009845sv00001000sd00000004* -- ID_MODEL_FROM_DATABASE=0P4S (4 port 16550A serial card) -+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P4S (4 port 16550A serial card)) - - pci:v00009710d00009845sv00001000sd00000006* -- ID_MODEL_FROM_DATABASE=0P6S (6 port 16550a serial card) -+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (0P6S (6 port 16550a serial card)) - - pci:v00009710d00009845sv00001000sd00000014* -- ID_MODEL_FROM_DATABASE=1P4S (1 Parallel / 4 16550A Serial Port Adapter) -+ ID_MODEL_FROM_DATABASE=PCI 9845 Multi-I/O Controller (1P4S (1 Parallel / 4 16550A Serial Port Adapter)) - - pci:v00009710d00009855* - ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller - - pci:v00009710d00009855sv00001000sd00000014* -- ID_MODEL_FROM_DATABASE=1P4S -+ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (1P4S) - - pci:v00009710d00009855sv00001000sd00000022* -- ID_MODEL_FROM_DATABASE=2P2S (2 Parallel / 2 16550A Serial Port Adapter) -+ ID_MODEL_FROM_DATABASE=PCI 9855 Multi-I/O Controller (2P2S (2 Parallel / 2 16550A Serial Port Adapter)) - - pci:v00009710d00009865* - ID_MODEL_FROM_DATABASE=PCI 9865 Multi-I/O Controller -@@ -73350,40 +73350,40 @@ pci:v0000DD01d00000003* - ID_MODEL_FROM_DATABASE=Octopus DVB Adapter - - pci:v0000DD01d00000003sv0000DD01sd00000001* -- ID_MODEL_FROM_DATABASE=Octopus DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000002* -- ID_MODEL_FROM_DATABASE=Octopus LE DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus LE DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000003* -- ID_MODEL_FROM_DATABASE=Octopus OEM -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus OEM) - - pci:v0000DD01d00000003sv0000DD01sd00000004* -- ID_MODEL_FROM_DATABASE=Octopus V3 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus V3 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000010* -- ID_MODEL_FROM_DATABASE=Octopus Mini -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Octopus Mini) - - pci:v0000DD01d00000003sv0000DD01sd00000020* -- ID_MODEL_FROM_DATABASE=Cine S2 V6 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000021* -- ID_MODEL_FROM_DATABASE=Cine S2 V6.5 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine S2 V6.5 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd00000030* -- ID_MODEL_FROM_DATABASE=Cine CT V6.1 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Cine CT V6.1 DVB adapter) - - pci:v0000DD01d00000003sv0000DD01sd0000DB03* -- ID_MODEL_FROM_DATABASE=Mystique SaTiX-S2 V3 DVB adapter -+ ID_MODEL_FROM_DATABASE=Octopus DVB Adapter (Mystique SaTiX-S2 V3 DVB adapter) - - pci:v0000DD01d00000011* - ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter - - pci:v0000DD01d00000011sv0000DD01sd00000040* -- ID_MODEL_FROM_DATABASE=Octopus CI -+ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI) - - pci:v0000DD01d00000011sv0000DD01sd00000041* -- ID_MODEL_FROM_DATABASE=Octopus CI Single -+ ID_MODEL_FROM_DATABASE=Octopus CI DVB Adapter (Octopus CI Single) - - pci:v0000DEAD* - ID_VENDOR_FROM_DATABASE=Indigita Corporation -@@ -73416,22 +73416,22 @@ pci:v0000E159d00000001* - ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface - - pci:v0000E159d00000001sv00000059sd00000001* -- ID_MODEL_FROM_DATABASE=128k ISDN-S/T Adapter -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-S/T Adapter) - - pci:v0000E159d00000001sv00000059sd00000003* -- ID_MODEL_FROM_DATABASE=128k ISDN-U Adapter -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (128k ISDN-U Adapter) - - pci:v0000E159d00000001sv000000A7sd00000001* -- ID_MODEL_FROM_DATABASE=TELES.S0/PCI 2.x ISDN Adapter -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (TELES.S0/PCI 2.x ISDN Adapter) - - pci:v0000E159d00000001sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Digium X100P/X101P analogue PSTN FXO interface -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (Digium X100P/X101P analogue PSTN FXO interface) - - pci:v0000E159d00000001sv0000B100sd00000003* -- ID_MODEL_FROM_DATABASE=OpenVox A400P 4-port analog card -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (OpenVox A400P 4-port analog card) - - pci:v0000E159d00000001sv0000B1D9sd00000003* -- ID_MODEL_FROM_DATABASE=AX400P 4-port analog card -+ ID_MODEL_FROM_DATABASE=Tiger3XX Modem/ISDN interface (AX400P 4-port analog card) - - pci:v0000E159d00000002* - ID_MODEL_FROM_DATABASE=Tiger100APC ISDN chipset --- -1.7.9.2 - diff --git a/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 5f097f39..00000000 --- a/0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f89b42ec0fd51feab5566d6bdbacee101023c037 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Tue, 25 Mar 2014 20:21:23 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 7d86f10..b928f5a 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -923,3 +923,21 @@ bluetooth:v0130* - - bluetooth:v0131* - ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation -+ -+bluetooth:v0132* -+ ID_VENDOR_FROM_DATABASE=MADS Inc -+ -+bluetooth:v0133* -+ ID_VENDOR_FROM_DATABASE=Blue Maestro Limited -+ -+bluetooth:v0134* -+ ID_VENDOR_FROM_DATABASE=Resolution Products, Inc. -+ -+bluetooth:v0135* -+ ID_VENDOR_FROM_DATABASE=Airewear LLC -+ -+bluetooth:v0136* -+ ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o. -+ -+bluetooth:v0137* -+ ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. --- -1.7.9.2 - diff --git a/0003-install-fix-invalid-free-in-unit_file_mask.patch b/0003-install-fix-invalid-free-in-unit_file_mask.patch deleted file mode 100644 index 0fe0581b..00000000 --- a/0003-install-fix-invalid-free-in-unit_file_mask.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 223217749e57996336d5730b0a28716cca56d45d Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Fri, 13 Jun 2014 18:48:18 +0200 -Subject: [PATCH] install: fix invalid free() in unit_file_mask() - -int unit_file_mask(...) in ./src/shared/install.c calls -get_config_path(...) which can in 4 error cases return without setting -"ret", and thus "prefix" can be uninitialized when unit_file_mask(...) -finishes (which it does directly after the error is returned from -get_config_path(...)). ---- - src/shared/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/install.c src/shared/install.c -index 487d0f6..f562063 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -563,7 +563,7 @@ int unit_file_mask( - unsigned *n_changes) { - - char **i; -- _cleanup_free_ char *prefix; -+ _cleanup_free_ char *prefix = NULL; - int r; - - assert(scope >= 0); --- -1.7.9.2 - diff --git a/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch b/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch deleted file mode 100644 index c88ed60b..00000000 --- a/0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f2a474aea8f82fa9b695515d4590f4f3398358a7 Mon Sep 17 00:00:00 2001 -From: Juho Son -Date: Thu, 11 Sep 2014 16:06:38 +0900 -Subject: [PATCH] journald: add CAP_MAC_OVERRIDE in journald for SMACK issue - -systemd-journald check the cgroup id to support rate limit option for -every messages. so journald should be available to access cgroup node in -each process send messages to journald. -In system using SMACK, cgroup node in proc is assigned execute label -as each process's execute label. -so if journald don't want to denied for every process, journald -should have all of access rule for all process's label. -It's too heavy. so we could give special smack label for journald te get -all accesses's permission. -'^' label. -When assign '^' execute smack label to systemd-journald, -systemd-journald need to add CAP_MAC_OVERRIDE capability to get that smack privilege. - -so I want to notice this information and set default capability to -journald whether system use SMACK or not. -because that capability affect to only smack enabled kernel ---- - units/systemd-journald.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git units/systemd-journald.service.in units/systemd-journald.service.in -index 7013979..4de38fa 100644 ---- units/systemd-journald.service.in -+++ units/systemd-journald.service.in -@@ -20,7 +20,7 @@ Restart=always - RestartSec=0 - NotifyAccess=all - StandardOutput=null --CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID -+CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG CAP_AUDIT_CONTROL CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE - WatchdogSec=1min - - # Increase the default a bit in order to allow many simultaneous --- -1.7.9.2 - diff --git a/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch b/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch deleted file mode 100644 index c9ab5e0e..00000000 --- a/0003-keymap-Adjust-for-more-Samsung-900X4-series.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e512e8a255ef29d5a8eb605f8849202ea3d3e4cb Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Wed, 27 Aug 2014 08:41:10 +0200 -Subject: [PATCH] keymap: Adjust for more Samsung 900X4 series - -Reportedly also applies to NP900X4B, so relax the match to apply to all models -of this series. - -https://launchpad.net/bugs/902332 ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index ef0ebc5..0ffcb83 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -939,7 +939,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* - # Series 7 / 9 - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* --keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* -+keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr* - keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* - KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings - KEYBOARD_KEY_a0=!mute # Fn+F6 mute --- -1.7.9.2 - diff --git a/0003-keymap-Annotate-all-micmute-workarounds.patch b/0003-keymap-Annotate-all-micmute-workarounds.patch deleted file mode 100644 index 00f1e431..00000000 --- a/0003-keymap-Annotate-all-micmute-workarounds.patch +++ /dev/null @@ -1,54 +0,0 @@ -From d946bb53f94713241004810de92cc37f1e19c2d2 Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Wed, 30 Jul 2014 10:54:23 +0200 -Subject: [PATCH] keymap: Annotate all micmute workarounds - -Add a comment to all assignments to f20 that this actually should be "micmute" -in a future when we aren't limited by X.org's key code limiations any more. ---- - hwdb/60-keyboard.hwdb | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 70e372b..cbbbf2c 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -231,7 +231,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* - - # Dell Latitude microphone mute - keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude* -- KEYBOARD_KEY_150=f20 # Mic mute toggle -+ KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute - - ########################################################### - # Everex -@@ -505,7 +505,7 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* - KEYBOARD_KEY_15=volumedown - KEYBOARD_KEY_16=mute - KEYBOARD_KEY_17=prog1 -- KEYBOARD_KEY_1a=f20 -+ KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute - - # ThinkPad Keyboard with TrackPoint - keyboard:usb:v17EFp6009* -@@ -573,7 +573,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* - - keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* - KEYBOARD_KEY_f1=f21 -- KEYBOARD_KEY_ce=f20 -+ KEYBOARD_KEY_ce=f20 # micmute - - keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* - KEYBOARD_KEY_a0=!mute -@@ -809,7 +809,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:* - KEYBOARD_KEY_f3=f17 - KEYBOARD_KEY_f2=f18 - KEYBOARD_KEY_f1=f19 -- KEYBOARD_KEY_f0=f20 -+ KEYBOARD_KEY_f0=f20 # micmute - KEYBOARD_KEY_ef=f21 - KEYBOARD_KEY_ee=chat - KEYBOARD_KEY_e4=chat --- -1.7.9.2 - diff --git a/0003-keymap-Fix-HP-Pavillon-DV7.patch b/0003-keymap-Fix-HP-Pavillon-DV7.patch deleted file mode 100644 index 33908a82..00000000 --- a/0003-keymap-Fix-HP-Pavillon-DV7.patch +++ /dev/null @@ -1,28 +0,0 @@ -From efb4bf4e419e14a13eead6289ea40165579a816f Mon Sep 17 00:00:00 2001 -From: Martin Pitt -Date: Tue, 5 Aug 2014 12:29:27 +0200 -Subject: [PATCH] keymap: Fix HP Pavillon DV7 - -Properly disable scan code 94 instead of producing KEY_0. - -https://launchpad.net/bugs/1322770 ---- - hwdb/60-keyboard.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index cbbbf2c..5c3d4ca 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -368,7 +368,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr - KEYBOARD_KEY_b7=print - KEYBOARD_KEY_c2=media # FIXME: quick play - KEYBOARD_KEY_c6=break -- KEYBOARD_KEY_94=0 -+ KEYBOARD_KEY_94=reserved - - # Elitebook - keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr* --- -1.7.9.2 - diff --git a/0003-localed-consider-an-unset-model-as-a-wildcard.patch b/0003-localed-consider-an-unset-model-as-a-wildcard.patch deleted file mode 100644 index 3fbdb74e..00000000 --- a/0003-localed-consider-an-unset-model-as-a-wildcard.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 387066c2e5bda159201896b194711965b52f34a9 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 30 May 2014 18:20:16 +0200 -Subject: [PATCH] localed: consider an unset model as a wildcard - ---- - src/locale/localed.c | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git src/locale/localed.c src/locale/localed.c -index e3061c8..358f6c2 100644 ---- src/locale/localed.c -+++ src/locale/localed.c -@@ -712,15 +712,16 @@ static int find_legacy_keymap(Context *c, char **new_keymap) { - } - } - -- if (matching > 0 && -- streq_ptr(c->x11_model, a[2])) { -- matching++; -- -- if (streq_ptr(c->x11_variant, a[3])) { -+ if (matching > 0) { -+ if (isempty(c->x11_model) || streq_ptr(c->x11_model, a[2])) { - matching++; - -- if (streq_ptr(c->x11_options, a[4])) -+ if (streq_ptr(c->x11_variant, a[3])) { - matching++; -+ -+ if (streq_ptr(c->x11_options, a[4])) -+ matching++; -+ } - } - } - --- -1.7.9.2 - diff --git a/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch b/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch deleted file mode 100644 index e4752edc..00000000 --- a/0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9c413373d2112055a0142ef522bf95af9b491b4a Mon Sep 17 00:00:00 2001 -From: "Jasper St. Pierre" -Date: Fri, 21 Feb 2014 18:23:17 -0500 -Subject: [PATCH] login: Allow calling org.freedesktop.login1.Seat.SwitchTo - ---- - src/login/org.freedesktop.login1.conf | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git src/login/org.freedesktop.login1.conf src/login/org.freedesktop.login1.conf -index d677f61..1318328 100644 ---- src/login/org.freedesktop.login1.conf -+++ src/login/org.freedesktop.login1.conf -@@ -141,6 +141,18 @@ - send_member="ActivateSession"/> - - -+ -+ -+ -+ -+ -+ - --- -1.7.9.2 - diff --git a/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch b/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch deleted file mode 100644 index 596702d6..00000000 --- a/0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch +++ /dev/null @@ -1,174 +0,0 @@ -From f9cd6be10ece07e10488c05e270a0b5860779864 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Mar 2014 20:49:33 +0100 -Subject: [PATCH] logind: ignore lid switch events for 30s after each suspend - and 3min after startup - -This is needed to give USB docking stations and suchlike time to settle, -so that a display connected to an USB docking station can actually act -as a lid swith inhibitor correctly. - -With this change we should have somewhat reliable docking station -support in place. ---- - src/login/logind-action.c | 15 ++++++++++++++- - src/login/logind-dbus.c | 3 +++ - src/login/logind.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ - src/login/logind.h | 7 +++++++ - 4 files changed, 69 insertions(+), 1 deletion(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index c9d8bc5..ae7b350 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -70,20 +70,33 @@ int manager_handle_action( - return 0; - } - -- /* If we are docked don't react to lid closing */ - if (inhibit_key == INHIBIT_HANDLE_LID_SWITCH) { - int n; - -+ /* If we are docked don't react to lid closing */ - if (manager_is_docked(m)) { - log_debug("Ignoring lid switch request, system is docked."); - return 0; - } - -+ /* If we have more than one or no displays connected, -+ * don't react to lid closing. The no display case we -+ * treat like this under the assumption that there is -+ * no modern drm driver available. */ - n = manager_count_displays(m); - if (n != 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } -+ -+ /* If the last system suspend or startup is too close, -+ * let's not suspend for now, to give USB docking -+ * stations some time to settle so that we can -+ * properly watch its displays. */ -+ if (m->lid_switch_ignore_event_source) { -+ log_debug("Ignoring lid switch request, system startup or resume too close."); -+ return 0; -+ } - } - - /* If the key handling is inhibited, don't do anything */ -diff --git src/login/logind-dbus.c src/login/logind-dbus.c -index fc89531..c9c58f3 100644 ---- src/login/logind-dbus.c -+++ src/login/logind-dbus.c -@@ -1337,6 +1337,9 @@ static int execute_shutdown_or_sleep( - m->action_job = c; - m->action_what = w; - -+ /* Make sure the lid switch is ignored for a while */ -+ manager_set_lid_switch_ignore(m, now(CLOCK_MONOTONIC) + IGNORE_LID_SWITCH_SUSPEND_USEC); -+ - return 0; - } - -diff --git src/login/logind.c src/login/logind.c -index 10f61ab..fd113b3 100644 ---- src/login/logind.c -+++ src/login/logind.c -@@ -144,6 +144,7 @@ void manager_free(Manager *m) { - sd_event_source_unref(m->udev_device_event_source); - sd_event_source_unref(m->udev_vcsa_event_source); - sd_event_source_unref(m->udev_button_event_source); -+ sd_event_source_unref(m->lid_switch_ignore_event_source); - - if (m->console_active_fd >= 0) - close_nointr_nofail(m->console_active_fd); -@@ -959,6 +960,46 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us - return 0; - } - -+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(e); -+ assert(m); -+ -+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); -+ return 0; -+} -+ -+int manager_set_lid_switch_ignore(Manager *m, usec_t until) { -+ int r; -+ -+ assert(m); -+ -+ if (until <= now(CLOCK_MONOTONIC)) -+ return 0; -+ -+ /* We want to ignore the lid switch for a while after each -+ * suspend, and after boot-up. Hence let's install a timer for -+ * this. As long as the event source exists we ignore the lid -+ * switch. */ -+ -+ if (m->lid_switch_ignore_event_source) { -+ usec_t u; -+ -+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); -+ if (r < 0) -+ return r; -+ -+ if (until <= u) -+ return 0; -+ -+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); -+ } else -+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); -+ -+ return r; -+} -+ - int manager_startup(Manager *m) { - int r; - Seat *seat; -@@ -994,6 +1035,10 @@ int manager_startup(Manager *m) { - return r; - } - -+ r = manager_set_lid_switch_ignore(m, 0 + IGNORE_LID_SWITCH_STARTUP_USEC); -+ if (r < 0) -+ log_warning("Failed to set up lid switch ignore event source: %s", strerror(-r)); -+ - /* Deserialize state */ - r = manager_enumerate_devices(m); - if (r < 0) -diff --git src/login/logind.h src/login/logind.h -index 74d6641..4bb8e7b 100644 ---- src/login/logind.h -+++ src/login/logind.h -@@ -42,6 +42,9 @@ typedef struct Manager Manager; - #include "logind-button.h" - #include "logind-action.h" - -+#define IGNORE_LID_SWITCH_STARTUP_USEC (3 * USEC_PER_MINUTE) -+#define IGNORE_LID_SWITCH_SUSPEND_USEC (30 * USEC_PER_SEC) -+ - struct Manager { - sd_event *event; - sd_bus *bus; -@@ -118,6 +121,8 @@ struct Manager { - bool lid_switch_ignore_inhibited; - - Hashmap *polkit_registry; -+ -+ sd_event_source *lid_switch_ignore_event_source; - }; - - Manager *manager_new(void); -@@ -178,3 +183,5 @@ const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned lengt - - int manager_watch_busname(Manager *manager, const char *name); - void manager_drop_busname(Manager *manager, const char *name); -+ -+int manager_set_lid_switch_ignore(Manager *m, usec_t until); --- -1.7.9.2 - diff --git a/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch b/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch deleted file mode 100644 index 070a9100..00000000 --- a/0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 05a2f6fefedd7254fd799502191d025d2908cf74 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen -Date: Sat, 12 Apr 2014 08:37:38 +0300 -Subject: [PATCH] man: mention XDG_CONFIG_HOME in systemd.unit - ---- - man/systemd.unit.xml | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index 07a73fd..bcd4ba8 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -70,7 +70,8 @@ - ... - - -- $HOME/.config/systemd/user/* -+ $XDG_CONFIG_HOME/systemd/user/* -+$HOME/.config/systemd/user/* - /etc/systemd/user/* - /run/systemd/user/* - /usr/lib/systemd/user/* -@@ -320,8 +321,12 @@ - - - -+ $XDG_CONFIG_HOME/systemd/user -+ User configuration (only used when $XDG_CONFIG_HOME is set) -+ -+ - $HOME/.config/systemd/user -- User configuration -+ User configuration (only used when $XDG_CONFIG_HOME is not set) - - - /etc/systemd/user --- -1.7.9.2 - diff --git a/0003-man-we-don-t-have-Wanted-dependency.patch b/0003-man-we-don-t-have-Wanted-dependency.patch deleted file mode 100644 index 6ab1a897..00000000 --- a/0003-man-we-don-t-have-Wanted-dependency.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3e883473a0f36c220fc45ecf61d6878c9ac308b4 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Wed, 15 Oct 2014 09:28:31 +0200 -Subject: [PATCH] man: we don't have 'Wanted' dependency - ---- - man/systemd.unit.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd.unit.xml man/systemd.unit.xml -index e9395ff..88c9d7f 100644 ---- man/systemd.unit.xml -+++ man/systemd.unit.xml -@@ -181,10 +181,10 @@ - foo.service.wants/ may exist. All - unit files symlinked from such a directory are - implicitly added as dependencies of type -- Wanted= to the unit. This is useful -+ Wants= to the unit. This is useful - to hook units into the start-up of other units, - without having to modify their unit files. For details -- about the semantics of Wanted=, see -+ about the semantics of Wants=, see - below. The preferred way to create symlinks in the - .wants/ directory of a unit file - is with the enable command of the --- -1.7.9.2 - diff --git a/0003-mount-order-options-before-other-arguments-to-mount.patch b/0003-mount-order-options-before-other-arguments-to-mount.patch deleted file mode 100644 index d777869d..00000000 --- a/0003-mount-order-options-before-other-arguments-to-mount.patch +++ /dev/null @@ -1,39 +0,0 @@ -Based on 141a1ceaa62578f1ed14f04cae2113dd0f49fd7f Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:59 +0200 -Subject: [PATCH] mount: order options before other arguments to mount - ---- - src/core/mount.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - ---- src/core/mount.c -+++ src/core/mount.c 2014-09-25 13:43:44.926563278 +0000 -@@ -947,10 +947,11 @@ static void mount_enter_mounting(Mount * - r = exec_command_set( - m->control_command, - "/bin/mount", -+ "-n", -+ "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", -+ "-o", m->parameters_fragment.options ? m->parameters_fragment.options : "defaults", - m->parameters_fragment.what, - m->where, -- "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", -- m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options, - NULL); - else - r = -ENOENT; -@@ -994,10 +995,11 @@ static void mount_enter_remounting(Mount - r = exec_command_set( - m->control_command, - "/bin/mount", -- m->parameters_fragment.what, -- m->where, -+ "-n", - "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto", - "-o", o, -+ m->parameters_fragment.what, -+ m->where, - NULL); - } else - r = -ENOENT; diff --git a/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch b/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch deleted file mode 100644 index a8e538e2..00000000 --- a/0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch +++ /dev/null @@ -1,34 +0,0 @@ -Based on 664064d60c36e1f62c7e9177e4c7498035467e07 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 16:27:57 +0200 -Subject: [PATCH] namespace: make sure /tmp, /var/tmp and /dev are writable in - namespaces we set up - ---- - src/core/namespace.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - ---- src/core/namespace.c -+++ src/core/namespace.c 2014-07-04 09:55:21.582234949 +0000 -@@ -263,14 +263,17 @@ static int make_read_only(BindMount *m) - - assert(m); - -- if (m->mode != INACCESSIBLE && m->mode != READONLY) -- return 0; -+ if (IN_SET(m->mode, INACCESSIBLE, READONLY)) -+ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); -+ else if (IN_SET(m->mode, READWRITE, PRIVATE_TMP, PRIVATE_VAR_TMP, PRIVATE_DEV)) -+ r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_REC, NULL); -+ else -+ r = 0; - -- r = mount(NULL, m->path, NULL, MS_BIND|MS_REMOUNT|MS_RDONLY|MS_REC, NULL); - if (r < 0 && !(m->ignore && errno == ENOENT)) - return -errno; - -- return 0; -+ return r; - } - - int setup_namespace( diff --git a/0003-sd-bus-check-return-value-of-vasprintf.patch b/0003-sd-bus-check-return-value-of-vasprintf.patch deleted file mode 100644 index c908f074..00000000 --- a/0003-sd-bus-check-return-value-of-vasprintf.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 Mon Sep 17 00:00:00 2001 -From: Daniel Mack -Date: Tue, 7 Oct 2014 12:10:06 +0200 -Subject: [PATCH] sd-bus: check return value of vasprintf - -Check for OOM situations when vasprintf() returns < 0 in bus_error_setfv(). - -Spotted by coverity. ---- - src/libsystemd/sd-bus/bus-error.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c -index abdfd73..5ca974a 100644 ---- src/libsystemd/sd-bus/bus-error.c -+++ src/libsystemd/sd-bus/bus-error.c -@@ -194,8 +194,13 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li - return -ENOMEM; - } - -- if (format) -- vasprintf((char**) &e->message, format, ap); -+ if (format) { -+ int r; -+ -+ r = vasprintf((char**) &e->message, format, ap); -+ if (r < 0) -+ return -ENOMEM; -+ } - - e->_need_free = 1; - --- -1.7.9.2 - diff --git a/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch b/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch deleted file mode 100644 index 72455f2c..00000000 --- a/0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch +++ /dev/null @@ -1,498 +0,0 @@ -From a3d59cd1b0a2738d06893948492113f2c35be0af Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 19 Mar 2014 21:41:21 +0100 -Subject: [PATCH] sd-bus: don't use assert_return() to check for disconnected - bus connections - -A terminated connection is a runtime error and not a developer mistake, -hence don't use assert_return() to check for it. ---- - src/libsystemd/sd-bus/bus-control.c | 20 +++++++++++++----- - src/libsystemd/sd-bus/bus-convenience.c | 58 +++++++++++++++++++++++++++++++++++++++++------------- - src/libsystemd/sd-bus/bus-objects.c | 23 +++++++++++++++------ - src/libsystemd/sd-bus/sd-bus.c | 49 +++++++++++++++++++++++++++++++++------------ - 4 files changed, 113 insertions(+), 37 deletions(-) - ---- src/libsystemd/sd-bus/bus-control.c -+++ src/libsystemd/sd-bus/bus-control.c 2014-03-28 00:00:00.000000000 +0000 -@@ -128,12 +128,14 @@ _public_ int sd_bus_request_name(sd_bus - assert_return(bus, -EINVAL); - assert_return(name, -EINVAL); - assert_return(bus->bus_client, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(!(flags & ~(SD_BUS_NAME_ALLOW_REPLACEMENT|SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_QUEUE)), -EINVAL); - assert_return(service_name_is_valid(name), -EINVAL); - assert_return(name[0] != ':', -EINVAL); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_request_name_kernel(bus, name, flags); - else -@@ -201,11 +203,13 @@ _public_ int sd_bus_release_name(sd_bus - assert_return(bus, -EINVAL); - assert_return(name, -EINVAL); - assert_return(bus->bus_client, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(service_name_is_valid(name), -EINVAL); - assert_return(name[0] != ':', -EINVAL); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_release_name_kernel(bus, name); - else -@@ -344,9 +348,11 @@ static int bus_list_names_dbus1(sd_bus * - _public_ int sd_bus_list_names(sd_bus *bus, char ***acquired, char ***activatable) { - assert_return(bus, -EINVAL); - assert_return(acquired || activatable, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_list_names_kernel(bus, acquired, activatable); - else -@@ -737,11 +743,13 @@ _public_ int sd_bus_get_owner( - assert_return(name, -EINVAL); - assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); - assert_return(mask == 0 || creds, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(service_name_is_valid(name), -EINVAL); - assert_return(bus->bus_client, -ENODATA); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (bus->is_kernel) - return bus_get_owner_kdbus(bus, name, mask, creds); - else -@@ -1198,10 +1206,12 @@ _public_ int sd_bus_get_owner_machine_id - assert_return(bus, -EINVAL); - assert_return(name, -EINVAL); - assert_return(machine, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - assert_return(service_name_is_valid(name), -EINVAL); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (streq_ptr(name, bus->unique_name)) - return sd_id128_get_machine(machine); - ---- src/libsystemd/sd-bus/bus-convenience.c -+++ src/libsystemd/sd-bus/bus-convenience.c 2014-03-28 00:00:00.000000000 +0000 -@@ -36,9 +36,11 @@ _public_ int sd_bus_emit_signal( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_message_new_signal(bus, &m, path, interface, member); - if (r < 0) - return r; -@@ -70,9 +72,11 @@ _public_ int sd_bus_call_method( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_message_new_method_call(bus, &m, destination, path, interface, member); - if (r < 0) - return r; -@@ -100,9 +104,12 @@ _public_ int sd_bus_reply_method_return( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -134,9 +141,12 @@ _public_ int sd_bus_reply_method_error( - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); - assert_return(sd_bus_error_is_set(e), -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -159,9 +169,12 @@ _public_ int sd_bus_reply_method_errorf( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -182,9 +195,12 @@ _public_ int sd_bus_reply_method_errno( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -208,9 +224,12 @@ _public_ int sd_bus_reply_method_errnof( - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); - assert_return(call->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - if (call->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) - return 0; - -@@ -239,9 +258,11 @@ _public_ int sd_bus_get_property( - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(reply, -EINVAL); - assert_return(signature_is_single(type, false), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &rep, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -273,9 +294,11 @@ _public_ int sd_bus_get_property_trivial - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(bus_type_is_trivial(type), -EINVAL); - assert_return(ptr, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -309,9 +332,11 @@ _public_ int sd_bus_get_property_string( - assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(ret, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -348,9 +373,11 @@ _public_ int sd_bus_get_property_strv( - assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(ret, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_call_method(bus, destination, path, "org.freedesktop.DBus.Properties", "Get", error, &reply, "ss", strempty(interface), member); - if (r < 0) - return r; -@@ -383,9 +410,11 @@ _public_ int sd_bus_set_property( - assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL); - assert_return(member_name_is_valid(member), -EINVAL); - assert_return(signature_is_single(type, false), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = sd_bus_message_new_method_call(bus, &m, destination, path, "org.freedesktop.DBus.Properties", "Set"); - if (r < 0) - return r; -@@ -416,9 +445,12 @@ _public_ int sd_bus_query_sender_creds(s - - assert_return(call, -EINVAL); - assert_return(call->sealed, -EPERM); -- assert_return(call->bus && BUS_IS_OPEN(call->bus->state), -ENOTCONN); -+ assert_return(call->bus, -EINVAL); - assert_return(!bus_pid_changed(call->bus), -ECHILD); - -+ if (!BUS_IS_OPEN(call->bus->state)) -+ return -ENOTCONN; -+ - c = sd_bus_message_get_creds(call); - - /* All data we need? */ ---- src/libsystemd/sd-bus/bus-objects.c -+++ src/libsystemd/sd-bus/bus-objects.c 2014-03-28 00:00:00.000000000 +0000 -@@ -2196,9 +2196,10 @@ _public_ int sd_bus_emit_properties_chan - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); - assert_return(interface_name_is_valid(interface), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - /* A non-NULL but empty names list means nothing needs to be - generated. A NULL list OTOH indicates that all properties -@@ -2241,9 +2242,11 @@ _public_ int sd_bus_emit_properties_chan - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); - assert_return(interface_name_is_valid(interface), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (!name) - return 0; - -@@ -2361,9 +2364,11 @@ _public_ int sd_bus_emit_interfaces_adde - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (strv_isempty(interfaces)) - return 0; - -@@ -2421,9 +2426,11 @@ _public_ int sd_bus_emit_interfaces_adde - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - interfaces = strv_from_stdarg_alloca(interface); - - return sd_bus_emit_interfaces_added_strv(bus, path, interfaces); -@@ -2435,9 +2442,11 @@ _public_ int sd_bus_emit_interfaces_remo - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (strv_isempty(interfaces)) - return 0; - -@@ -2461,9 +2470,11 @@ _public_ int sd_bus_emit_interfaces_remo - - assert_return(bus, -EINVAL); - assert_return(object_path_is_valid(path), -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - interfaces = strv_from_stdarg_alloca(interface); - - return sd_bus_emit_interfaces_removed_strv(bus, path, interfaces); ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c 2014-03-28 12:19:27.146736146 +0000 -@@ -1592,10 +1592,12 @@ static int bus_send_internal(sd_bus *bus - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (m->n_fds > 0) { - r = sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD); - if (r < 0) -@@ -1671,10 +1673,12 @@ _public_ int sd_bus_send_to(sd_bus *bus, - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - if (!streq_ptr(m->destination, destination)) { - - if (!destination) -@@ -1726,13 +1730,15 @@ _public_ int sd_bus_call_async( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); - assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); - assert_return(callback, -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func); - if (r < 0) - return r; -@@ -1839,13 +1845,15 @@ _public_ int sd_bus_call( - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(m, -EINVAL); - assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL); - assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL); - assert_return(!bus_error_is_dirty(error), -EINVAL); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; -+ - r = bus_ensure_running(bus); - if (r < 0) - return r; -@@ -1971,9 +1979,11 @@ _public_ int sd_bus_get_events(sd_bus *b - int flags = 0; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) -+ return -ENOTCONN; -+ - if (bus->state == BUS_OPENING) - flags |= POLLOUT; - else if (bus->state == BUS_AUTHENTICATING) { -@@ -1998,9 +2008,11 @@ _public_ int sd_bus_get_timeout(sd_bus * - - assert_return(bus, -EINVAL); - assert_return(timeout_usec, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); - -+ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING) -+ return -ENOTCONN; -+ - if (bus->state == BUS_CLOSING) { - *timeout_usec = 0; - return 1; -@@ -2510,7 +2522,8 @@ static int bus_poll(sd_bus *bus, bool ne - if (bus->state == BUS_CLOSING) - return 1; - -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - e = sd_bus_get_events(bus); - if (e < 0) -@@ -2565,7 +2578,8 @@ _public_ int sd_bus_wait(sd_bus *bus, ui - if (bus->state == BUS_CLOSING) - return 0; - -- assert_return(BUS_IS_OPEN(bus->state) , -ENOTCONN); -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - if (bus->rqueue_size > 0) - return 0; -@@ -2582,7 +2596,8 @@ _public_ int sd_bus_flush(sd_bus *bus) { - if (bus->state == BUS_CLOSING) - return 0; - -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - r = bus_ensure_running(bus); - if (r < 0) -@@ -3058,9 +3073,13 @@ _public_ int sd_bus_get_peer_creds(sd_bu - assert_return(bus, -EINVAL); - assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP); - assert_return(ret, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); -- assert_return(!bus->is_kernel, -ENOTSUP); -+ -+ if (!bus->is_kernel) -+ return -ENOTSUP; -+ -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - if (!bus->ucred_valid && !isempty(bus->label)) - return -ENODATA; -@@ -3099,9 +3118,13 @@ _public_ int sd_bus_try_close(sd_bus *bu - int r; - - assert_return(bus, -EINVAL); -- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN); - assert_return(!bus_pid_changed(bus), -ECHILD); -- assert_return(bus->is_kernel, -ENOTSUP); -+ -+ if (!bus->is_kernel) -+ return -ENOTSUP; -+ -+ if (!BUS_IS_OPEN(bus->state)) -+ return -ENOTCONN; - - if (bus->rqueue_size > 0) - return -EBUSY; diff --git a/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch b/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch deleted file mode 100644 index 13b0da4b..00000000 --- a/0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9b772efb41c2d9f743ba5e96804bdf89b12630d8 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 19 Nov 2014 20:52:47 +0100 -Subject: [PATCH] sd-bus: refuse properties that claim to be both writable and - constant at the same time - ---- - src/libsystemd/sd-bus/bus-objects.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/libsystemd/sd-bus/bus-objects.c src/libsystemd/sd-bus/bus-objects.c -index 0ab1119..7981d65 100644 ---- src/libsystemd/sd-bus/bus-objects.c -+++ src/libsystemd/sd-bus/bus-objects.c -@@ -1682,6 +1682,11 @@ static int add_object_vtable_internal( - goto fail; - } - -+ if (v->flags & SD_BUS_VTABLE_PROPERTY_CONST) { -+ r = -EINVAL; -+ goto fail; -+ } -+ - /* Fall through */ - - case _SD_BUS_VTABLE_PROPERTY: { --- -1.7.9.2 - diff --git a/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch b/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch deleted file mode 100644 index f401411e..00000000 --- a/0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b63c8d4f0364457b0ead8793504012bb7113974f Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 10 Jul 2014 00:47:23 +0200 -Subject: [PATCH] sd-event: always call epoll_ctl() on mask-updates if - edge-triggered - -A call to sd_event_source_set_io_events() skipps calling into the kernel -if the new event-mask matches the old one. This is safe for -level-triggered sources as the kernel moves them onto the ready-list -automatically if events change. However, edge-triggered sources might not -be on the ready-list even though events are present. - -A call to sd_event_source_set_io_events() with EPOLLET set might thus be -used to just move the io-source onto the ready-list so the next poll -will return it again. This is very useful to avoid starvation in -priority-based event queues. - -Imagine a read() loop on an edge-triggered fd. If we cannot read data fast -enough to drain the receive queue, we might decide to skip reading for now -and schedule it for later. On edge-triggered io-sources we have to make -sure it's put on the ready-list so the next dispatch-round will return it -again if it's still the highest priority task. We could make sd-event -handle edge-triggered sources directly and allow marking them ready again. -However, it's much simpler to let the kernel do that for now via -EPOLL_CTL_MOD. ---- - src/libsystemd/sd-event/sd-event.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index 53f1904..a21f7db 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -1282,7 +1282,8 @@ _public_ int sd_event_source_set_io_events(sd_event_source *s, uint32_t events) - assert_return(s->event->state != SD_EVENT_FINISHED, -ESTALE); - assert_return(!event_pid_changed(s->event), -ECHILD); - -- if (s->io.events == events) -+ /* edge-triggered updates are never skipped, so we can reset edges */ -+ if (s->io.events == events && !(events & EPOLLET)) - return 0; - - if (s->enabled != SD_EVENT_OFF) { --- -1.7.9.2 - diff --git a/0003-sd-journal-properly-convert-object-size-on-big-endia.patch b/0003-sd-journal-properly-convert-object-size-on-big-endia.patch deleted file mode 100644 index 40e8d57c..00000000 --- a/0003-sd-journal-properly-convert-object-size-on-big-endia.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 57cd09acf2c63a414aa2131c00a2b3f600eb0133 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 23 Aug 2014 22:35:03 -0400 -Subject: [PATCH] sd-journal: properly convert object->size on big endian - -mmap code crashes when attempting to map an object of zero size. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758392 -https://bugs.freedesktop.org/show_bug.cgi?id=82894 ---- - src/journal/journal-file.h | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git src/journal/journal-file.h src/journal/journal-file.h -index 3d41682..da2ef3b 100644 ---- src/journal/journal-file.h -+++ src/journal/journal-file.h -@@ -214,14 +214,15 @@ static unsigned type_to_context(int type) { - - static inline int journal_file_object_keep(JournalFile *f, Object *o, uint64_t offset) { - unsigned context = type_to_context(o->object.type); -+ uint64_t s = le64toh(o->object.size); - - return mmap_cache_get(f->mmap, f->fd, f->prot, context, true, -- offset, o->object.size, &f->last_stat, NULL); -+ offset, s, &f->last_stat, NULL); - } - - static inline int journal_file_object_release(JournalFile *f, Object *o, uint64_t offset) { - unsigned context = type_to_context(o->object.type); -+ uint64_t s = le64toh(o->object.size); - -- return mmap_cache_release(f->mmap, f->fd, f->prot, context, -- offset, o->object.size); -+ return mmap_cache_release(f->mmap, f->fd, f->prot, context, offset, s); - } --- -1.7.9.2 - diff --git a/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch b/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch deleted file mode 100644 index 7aa3506a..00000000 --- a/0003-shared-install-avoid-prematurely-rejecting-missing-u.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0ffce503cd6e5a5ff5ba5cd1cc23684cfb8bb9e3 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Thu, 30 Oct 2014 20:12:05 -0400 -Subject: [PATCH] shared/install: avoid prematurely rejecting "missing" units - -f7101b7368df copied some logic to prevent enabling masked units, but -also added a check which causes attempts to enable templated units to -fail. Since we know the logic beyond this check will properly handle -units which truly do not exist, we can rely on the unit file state -comparison to suffice for expressing the intent of f7101b7368df. - -ref: https://bugs.archlinux.org/task/42616 ---- - src/shared/install.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git src/shared/install.c src/shared/install.c -index 035b44c..cab93e8 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -1620,12 +1620,10 @@ int unit_file_enable( - STRV_FOREACH(i, files) { - UnitFileState state; - -+ /* We only want to know if this unit is masked, so we ignore -+ * errors from unit_file_get_state, deferring other checks. -+ * This allows templated units to be enabled on the fly. */ - state = unit_file_get_state(scope, root_dir, *i); -- if (state < 0) { -- log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); -- return state; -- } -- - if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { - log_error("Failed to enable unit: Unit %s is masked", *i); - return -ENOTSUP; --- -1.7.9.2 - diff --git a/0003-systemd-use-pager-for-test-and-help.patch b/0003-systemd-use-pager-for-test-and-help.patch deleted file mode 100644 index a22e0b9d..00000000 --- a/0003-systemd-use-pager-for-test-and-help.patch +++ /dev/null @@ -1,111 +0,0 @@ -From b87c2aa6bf1247c298c9bd9f56b9b56a87836b2d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 7 Jan 2014 00:00:05 -0500 -Subject: [PATCH] systemd: use pager for --test and --help - ---- - src/core/main.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git src/core/main.c src/core/main.c -index f9ee297..ae38b43 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -50,6 +50,7 @@ - #include "conf-parser.h" - #include "missing.h" - #include "label.h" -+#include "pager.h" - #include "build.h" - #include "strv.h" - #include "def.h" -@@ -94,6 +95,7 @@ static int arg_crash_chvt = -1; - static bool arg_confirm_spawn = false; - static ShowStatus arg_show_status = _SHOW_STATUS_UNSET; - static bool arg_switched_root = false; -+static int arg_no_pager = -1; - static char ***arg_join_controllers = NULL; - static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; - static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; -@@ -117,6 +119,14 @@ static bool arg_default_memory_accounting = false; - - static void nop_handler(int sig) {} - -+static void pager_open_if_enabled(void) { -+ -+ if (arg_no_pager <= 0) -+ return; -+ -+ pager_open(false); -+} -+ - noreturn static void crash(int sig) { - - if (getpid() != 1) -@@ -704,6 +714,7 @@ static int parse_argv(int argc, char *argv[]) { - ARG_SYSTEM, - ARG_USER, - ARG_TEST, -+ ARG_NO_PAGER, - ARG_VERSION, - ARG_DUMP_CONFIGURATION_ITEMS, - ARG_DUMP_CORE, -@@ -725,6 +736,7 @@ static int parse_argv(int argc, char *argv[]) { - { "system", no_argument, NULL, ARG_SYSTEM }, - { "user", no_argument, NULL, ARG_USER }, - { "test", no_argument, NULL, ARG_TEST }, -+ { "no-pager", no_argument, NULL, ARG_NO_PAGER }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, ARG_VERSION }, - { "dump-configuration-items", no_argument, NULL, ARG_DUMP_CONFIGURATION_ITEMS }, -@@ -832,6 +844,12 @@ static int parse_argv(int argc, char *argv[]) { - - case ARG_TEST: - arg_action = ACTION_TEST; -+ if (arg_no_pager < 0) -+ arg_no_pager = true; -+ break; -+ -+ case ARG_NO_PAGER: -+ arg_no_pager = true; - break; - - case ARG_VERSION: -@@ -912,6 +930,8 @@ static int parse_argv(int argc, char *argv[]) { - - case 'h': - arg_action = ACTION_HELP; -+ if (arg_no_pager < 0) -+ arg_no_pager = true; - break; - - case 'D': -@@ -984,6 +1004,7 @@ static int help(void) { - "Starts up and maintains the system or user services.\n\n" - " -h --help Show this help\n" - " --test Determine startup sequence, dump it and exit\n" -+ " --no-pager Do not pipe output into a pager\n" - " --dump-configuration-items Dump understood unit configuration items\n" - " --unit=UNIT Set default unit\n" - " --system Run a system instance, even if PID != 1\n" -@@ -1452,6 +1473,8 @@ int main(int argc, char *argv[]) { - goto finish; - } - -+ pager_open_if_enabled(); -+ - if (arg_action == ACTION_HELP) { - retval = help(); - goto finish; -@@ -1798,6 +1821,8 @@ int main(int argc, char *argv[]) { - } - - finish: -+ pager_close(); -+ - if (m) { - manager_free(m); - m = NULL; --- -1.7.9.2 - diff --git a/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch b/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch deleted file mode 100644 index 17cd7d1a..00000000 --- a/0003-time-earlier-exit-from-format_timestamp_relative-on-.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 65de0395ffe1cfb0f9af86504e8588fb31bb0fbc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 19:08:22 +0200 -Subject: [PATCH] time: earlier exit from format_timestamp_relative() on - special times - ---- - src/shared/time-util.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- src/shared/time-util.c -+++ src/shared/time-util.c 2014-10-29 14:07:28.479838096 +0000 -@@ -194,11 +194,10 @@ char *format_timestamp_relative(char *bu - const char *s; - usec_t n, d; - -- n = now(CLOCK_REALTIME); -- - if (t <= 0 || (t == (usec_t) -1)) - return NULL; - -+ n = now(CLOCK_REALTIME); - if (n > t) { - d = n - t; - s = "ago"; diff --git a/0003-tty-ask-password-agent-return-negative-errno.patch b/0003-tty-ask-password-agent-return-negative-errno.patch deleted file mode 100644 index 9f839a7f..00000000 --- a/0003-tty-ask-password-agent-return-negative-errno.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ee0e4cca5ac37a094dfe1074907dae70c7b7701c Mon Sep 17 00:00:00 2001 -From: Florian Albrechtskirchinger -Date: Thu, 3 Apr 2014 21:17:20 +0200 -Subject: [PATCH] tty-ask-password-agent: return negative errno - -Return negative errno in wall_tty_block(). get_ctty_devnr() already -returns a negative errno in case of failure, no need to negate it again. - -Reported-by: Simon ---- - .../tty-ask-password-agent.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 1d067af..3203474 100644 ---- src/tty-ask-password-agent/tty-ask-password-agent.c -+++ src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -432,7 +432,7 @@ static int wall_tty_block(void) { - - r = get_ctty_devnr(0, &devnr); - if (r < 0) -- return -r; -+ return r; - - if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0) - return -ENOMEM; --- -1.7.9.2 - diff --git a/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch b/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch deleted file mode 100644 index bad29c52..00000000 --- a/0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3f796750b192e62701e91a95f85389f876d1059b Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 17 Sep 2014 21:44:56 +0200 -Subject: [PATCH] udev: event - explicitly don't read() from invalid fd - -This fixes CID #1237641. ---- - src/udev/udev-event.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 6b8b5a8..c8b1420 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -494,6 +494,9 @@ static void spawn_read(struct udev_event *event, - for (i = 0; i < fdcount; i++) { - int *fd = (int *)ev[i].data.ptr; - -+ if (*fd < 0) -+ continue; -+ - if (ev[i].events & EPOLLIN) { - ssize_t count; - char buf[4096]; --- -1.7.9.2 - diff --git a/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch b/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch deleted file mode 100644 index 5f466ea6..00000000 --- a/0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 497d1986c13032f1ef8f4592bb7ed8d3aa321a47 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 20 Jun 2014 00:15:39 +0200 -Subject: [PATCH] units: order systemd-tmpfiles-clean.service after - time-sync.target - -That way, on systems lacking an RTC we don't false start removing aged -files too early. ---- - units/systemd-tmpfiles-clean.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- units/systemd-tmpfiles-clean.service.in -+++ units/systemd-tmpfiles-clean.service.in 2014-06-24 10:47:57.398235644 +0000 -@@ -10,8 +10,9 @@ Description=Cleanup of Temporary Directo - Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) - DefaultDependencies=no - Wants=local-fs.target --After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target --Before=sysinit.target shutdown.target -+Conflicts=shutdown.target -+After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target -+Before=shutdown.target - ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d - ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d - ConditionDirectoryNotEmpty=|/etc/tmpfiles.d diff --git a/0003-units-remove-RefuseManualStart-from-units-which-are-.patch b/0003-units-remove-RefuseManualStart-from-units-which-are-.patch deleted file mode 100644 index d9ffedbf..00000000 --- a/0003-units-remove-RefuseManualStart-from-units-which-are-.patch +++ /dev/null @@ -1,65 +0,0 @@ -Based on 0fdeb6e011dfdb17636c81e2d7e0d632186359ce Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 28 Jun 2014 00:06:30 -0400 -Subject: [PATCH] units: remove RefuseManualStart from units which are always - around - -In a normal running system, non-passive targets and units used during -early bootup are always started. So refusing "manual start" for them -doesn't make any difference, because a "start" command doesn't cause -any action. - -In early boot however, the administrator might want to start on -of those targets or services by hand. We shouldn't interfere with that. - -Note: in case of systemd-tmpfiles-setup.service, really running the -unit after system is up would break the system. So e.g. restarting -should not be allowed. The unit has "RefuseManualStop=yes", which -prevents restart too. ---- - units/basic.target | 1 - - units/sysinit.target | 1 - - units/systemd-tmpfiles-setup.service.in | 1 - - units/user/basic.target | 1 - - 4 files changed, 4 deletions(-) - -diff --git units/basic.target units/basic.target -index d7c68f4..b890d48 100644 ---- units/basic.target -+++ units/basic.target -@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) - Requires=sysinit.target - Wants=sockets.target timers.target paths.target slices.target - After=sysinit.target sockets.target timers.target paths.target slices.target --RefuseManualStart=yes -diff --git units/sysinit.target units/sysinit.target -index 8f4fb8f..ec33503 100644 ---- units/sysinit.target -+++ units/sysinit.target -@@ -11,4 +11,3 @@ Documentation=man:systemd.special(7) - Conflicts=emergency.service emergency.target - Wants=local-fs.target swap.target - After=local-fs.target swap.target emergency.service emergency.target --RefuseManualStart=yes ---- units/systemd-tmpfiles-setup.service.in -+++ units/systemd-tmpfiles-setup.service.in 2014-07-01 12:17:48.154235348 +0000 -@@ -18,7 +18,6 @@ ConditionDirectoryNotEmpty=|/lib/tmpfile - ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d - ConditionDirectoryNotEmpty=|/etc/tmpfiles.d - ConditionDirectoryNotEmpty=|/run/tmpfiles.d --RefuseManualStart=yes - RefuseManualStop=yes - - [Service] -diff --git units/user/basic.target units/user/basic.target -index b74d13c..afc6e93 100644 ---- units/user/basic.target -+++ units/user/basic.target -@@ -10,4 +10,3 @@ Description=Basic System - Documentation=man:systemd.special(7) - Wants=sockets.target timers.target paths.target - After=sockets.target timers.target paths.target --RefuseManualStart=yes --- -1.7.9.2 - diff --git a/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch b/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch deleted file mode 100644 index 15c8d7f5..00000000 --- a/0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d8e40d62ab871a87fde421c4b246bb45bc3cbe2d Mon Sep 17 00:00:00 2001 -From: Jonathan Liu -Date: Thu, 29 May 2014 01:17:25 +1000 -Subject: [PATCH] units: use KillMode=mixed for systemd-nspawn@.service - -This causes the container to shut down cleanly when the service is -stopped. ---- - units/systemd-nspawn@.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git units/systemd-nspawn@.service.in units/systemd-nspawn@.service.in -index ff36e90..e373628 100644 ---- units/systemd-nspawn@.service.in -+++ units/systemd-nspawn@.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1) - - [Service] - ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i -+KillMode=mixed - Type=notify - - [Install] --- -1.7.9.2 - diff --git a/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch b/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch deleted file mode 100644 index bc69be20..00000000 --- a/0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 144b3d9e093dd9310cd9590bec039dc43a7e2ad6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 7 Nov 2014 16:34:00 +0100 -Subject: [PATCH] utf8: when looking at the next unichar, honour the size - parameter, in utf8_is_printable_newline() - ---- - src/shared/utf8.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - ---- src/shared/utf8.c -+++ src/shared/utf8.c 2014-11-10 14:20:28.094539264 +0000 -@@ -143,9 +143,14 @@ bool utf8_is_printable_newline(const cha - - for (p = (const uint8_t*) str; length;) { - int encoded_len = utf8_encoded_valid_unichar((const char *)p); -- int val = utf8_encoded_to_unichar((const char*)p); -+ int val; - -- if (encoded_len < 0 || val < 0 || is_unicode_control(val) || -+ if (encoded_len < 0 || -+ (size_t) encoded_len > length) -+ return false; -+ -+ val = utf8_encoded_to_unichar((const char*)p); -+ if (val < 0 || is_unicode_control(val) || - (!newline && val == '\n')) - return false; - diff --git a/0004-Raise-level-of-Found-dependency.-lines.patch b/0004-Raise-level-of-Found-dependency.-lines.patch deleted file mode 100644 index 3ae2e49e..00000000 --- a/0004-Raise-level-of-Found-dependency.-lines.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 14fe721b5f6d8457cc8737fa75f2ed79e7fa534b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 2 Nov 2014 12:10:42 -0500 -Subject: [PATCH] Raise level of 'Found dependency...' lines - -This way they always show up together with 'Found ordering cycle...'. -Ordering cycles are a serious error and a major pain to debug. If -quiet is enabled, only the first and the last line of output are -shown: - -systemd[1]: Found ordering cycle on basic.target/start -systemd[1]: Breaking ordering cycle by deleting job timers.target/start -systemd[1]: Job timers.target/start deleted to break ordering cycle starting with basic.target/start - -which isn't particularly enlightening. So just show the whole message -at the same level. - -https://bugzilla.redhat.com/show_bug.cgi?id=1158206 ---- - src/core/transaction.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git src/core/transaction.c src/core/transaction.c -index 488cb86..bbaa6da 100644 ---- src/core/transaction.c -+++ src/core/transaction.c -@@ -376,9 +376,9 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi - for (k = from; k; k = ((k->generation == generation && k->marker != k) ? k->marker : NULL)) { - - /* logging for j not k here here to provide consistent narrative */ -- log_info_unit(j->unit->id, -- "Found dependency on %s/%s", -- k->unit->id, job_type_to_string(k->type)); -+ log_warning_unit(j->unit->id, -+ "Found dependency on %s/%s", -+ k->unit->id, job_type_to_string(k->type)); - - if (!delete && hashmap_get(tr->jobs, k->unit) && - !unit_matters_to_anchor(k->unit, k)) { --- -1.7.9.2 - diff --git a/0004-architecture-remove-cris-from-uname-list.patch b/0004-architecture-remove-cris-from-uname-list.patch deleted file mode 100644 index dc1aa466..00000000 --- a/0004-architecture-remove-cris-from-uname-list.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bc4bc52bc3de56405045b0437e145a7067fb085d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 22:52:44 +0200 -Subject: [PATCH] architecture: remove "cris" from uname list - -the only correct name appears to be "crisv32"... - -http://lists.freedesktop.org/archives/systemd-devel/2014-July/020899.html ---- - src/shared/architecture.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git src/shared/architecture.c src/shared/architecture.c -index 7dd049a..6cdca4e 100644 ---- src/shared/architecture.c -+++ src/shared/architecture.c -@@ -115,7 +115,6 @@ Architecture uname_architecture(void) { - #elif defined(__tilegx__) - { "tilegx", ARCHITECTURE_TILEGX }, - #elif defined(__cris__) -- { "cris", ARCHITECTURE_CRIS }, - { "crisv32", ARCHITECTURE_CRIS }, - #else - #error "Please register your architecture here!" --- -1.7.9.2 - diff --git a/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch b/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch deleted file mode 100644 index 281f7b5c..00000000 --- a/0004-backlight-Avoid-error-when-state-restore-is-disabled.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b76388e123e8d73ded1fd53937d816b314948517 Mon Sep 17 00:00:00 2001 -From: Michael Biebl -Date: Thu, 11 Sep 2014 00:49:36 +0200 -Subject: [PATCH] backlight: Avoid error when state restore is disabled - -When the state restore is disabled, we would print: -"Unknown verb: load" instead of simply skipping loading the -state. ---- - src/backlight/backlight.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 4d94ebf..0a2bac6 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -372,9 +372,12 @@ int main(int argc, char *argv[]) { - * device probing should be complete), so that the validity - * check at boot time doesn't have to be reliable. */ - -- if (streq(argv[1], "load") && shall_restore_state()) { -+ if (streq(argv[1], "load")) { - _cleanup_free_ char *value = NULL; - -+ if (!shall_restore_state()) -+ return EXIT_SUCCESS; -+ - if (!validate_device(udev, device)) - return EXIT_SUCCESS; - --- -1.7.9.2 - diff --git a/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch b/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch deleted file mode 100644 index d0ec9ec8..00000000 --- a/0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c7fdf44d08e1217d40dc092fb90a65978a0f541f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 23 Apr 2014 06:55:54 +0200 -Subject: [PATCH] backlight: warn if kernel exposes backlight device with - bogus max_brightness - -We shouldn't silently tape over broken kernel drivers. ---- - src/backlight/backlight.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 754a646..c708391 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -205,14 +205,18 @@ static unsigned get_max_brightness(struct udev_device *device) { - - max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); - if (!max_brightness_str) { -- log_warning("Failed to read 'max_brightness' attribute"); -+ log_warning("Failed to read 'max_brightness' attribute."); - return 0; - } - - r = safe_atou(max_brightness_str, &max_brightness); - if (r < 0) { -- log_warning("Failed to parse 'max_brightness' \"%s\": %s", -- max_brightness_str, strerror(-r)); -+ log_warning("Failed to parse 'max_brightness' \"%s\": %s", max_brightness_str, strerror(-r)); -+ return 0; -+ } -+ -+ if (max_brightness <= 0) { -+ log_warning("Maximum brightness is 0, ignoring device."); - return 0; - } - --- -1.7.9.2 - diff --git a/0004-bash-completion-use-list-unit-files-to-get-all-units.patch b/0004-bash-completion-use-list-unit-files-to-get-all-units.patch deleted file mode 100644 index b5ab5359..00000000 --- a/0004-bash-completion-use-list-unit-files-to-get-all-units.patch +++ /dev/null @@ -1,39 +0,0 @@ -Based on c6a373a26348544d944b08bf0c5dea4f72f6980b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 26 Jul 2014 20:11:58 -0400 -Subject: [PATCH] bash-completion: use list-unit-files to get "all" units - -I think that it is better to return good results slightly more slowly, -than partial quickly. Also reading from disk seems fast enough. Even -the delay on first try with completely cold cache is acceptable. - -This is just for bash, 'cause zsh was already doing this. - -https://bugzilla.redhat.com/show_bug.cgi?id=790768 ---- - shell-completion/bash/systemctl.in | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in -index c5950cc..69ef04b 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -51,11 +51,13 @@ __filter_units_by_property () { - done - } - --__get_all_units () { __systemctl $1 list-units --all \ -+__get_all_units () { { __systemctl $1 list-unit-files; __systemctl $1 list-units --all; } \ - | { while read -r a b; do echo " $a"; done; }; } - __get_active_units () { __systemctl $1 list-units \ - | { while read -r a b; do echo " $a"; done; }; } --__get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ -+__get_startable_units () { { -+ __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap -+ __systemctl $1 list-unit-files -t service,timer,socket,mount,automount,path,snapshot,swap; } \ - | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }; } - __get_failed_units () { __systemctl $1 list-units \ - | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } --- -1.7.9.2 - diff --git a/0004-bootchart-check-return-of-strftime.patch b/0004-bootchart-check-return-of-strftime.patch deleted file mode 100644 index a629c9e9..00000000 --- a/0004-bootchart-check-return-of-strftime.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e931d3f4241231e4102eda06adaf7cbfd68c6a5d Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 27 Sep 2014 22:25:07 +0200 -Subject: [PATCH] bootchart: check return of strftime - -Found by coverity. Fixes: CID#996314 and #996312 ---- - src/bootchart/bootchart.c | 8 ++++++-- - src/bootchart/svg.c | 5 +++-- - 2 files changed, 9 insertions(+), 4 deletions(-) - -diff --git src/bootchart/bootchart.c src/bootchart/bootchart.c -index 8ef5ad1..366a5ab 100644 ---- src/bootchart/bootchart.c -+++ src/bootchart/bootchart.c -@@ -389,7 +389,9 @@ int main(int argc, char *argv[]) { - - if (!of && (access(arg_output_path, R_OK|W_OK|X_OK) == 0)) { - t = time(NULL); -- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ assert_se(r > 0); -+ - snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); - of = fopen(output_file, "we"); - } -@@ -457,7 +459,9 @@ int main(int argc, char *argv[]) { - - if (!of) { - t = time(NULL); -- strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ r = strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t)); -+ assert_se(r > 0); -+ - snprintf(output_file, PATH_MAX, "%s/bootchart-%s.svg", arg_output_path, datestr); - of = fopen(output_file, "we"); - } -diff --git src/bootchart/svg.c src/bootchart/svg.c -index 135883f..faf377e 100644 ---- src/bootchart/svg.c -+++ src/bootchart/svg.c -@@ -162,7 +162,7 @@ static void svg_title(const char *build) { - char *c; - FILE *f; - time_t t; -- int fd; -+ int fd, r; - struct utsname uts; - - /* grab /proc/cmdline */ -@@ -196,7 +196,8 @@ static void svg_title(const char *build) { - - /* date */ - t = time(NULL); -- strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); -+ r = strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&t)); -+ assert_se(r > 0); - - /* CPU type */ - fd = openat(procfd, "cpuinfo", O_RDONLY); --- -1.7.9.2 - diff --git a/0004-config-parser-fix-mem-leak.patch b/0004-config-parser-fix-mem-leak.patch deleted file mode 100644 index b45d89c0..00000000 --- a/0004-config-parser-fix-mem-leak.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9e60277835e61597011358afcdbfb3dd712ce128 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sun, 31 Aug 2014 23:13:12 +0200 -Subject: [PATCH] config-parser: fix mem leak - ---- - src/shared/conf-parser.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/conf-parser.c src/shared/conf-parser.c -index 439cfc5..ee6de65 100644 ---- src/shared/conf-parser.c -+++ src/shared/conf-parser.c -@@ -710,6 +710,7 @@ int config_parse_strv(const char *unit, - - if (!utf8_is_valid(n)) { - log_invalid_utf8(unit, LOG_ERR, filename, line, EINVAL, rvalue); -+ free(n); - continue; - } - --- -1.7.9.2 - diff --git a/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch b/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch deleted file mode 100644 index 3ae99a64..00000000 --- a/0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch +++ /dev/null @@ -1,67 +0,0 @@ -Based on 4774e357268e4a1e9fa82adb0563a538932a4c8e Mon Sep 17 00:00:00 2001 -From: Miguel Angel Ajo -Date: Mon, 7 Jul 2014 14:20:36 +0200 -Subject: [PATCH] core: Added support for ERRNO NOTIFY_SOCKET message parsing, - and added StatusErrno dbus property along StatusText to - allow notification of numeric status condition while - degraded service operation or any other special situation. - ---- - src/core/dbus-service.c | 1 + - src/core/service.c | 17 +++++++++++++++++ - src/core/service.h | 1 + - 3 files changed, 19 insertions(+) - -diff --git src/core/dbus-service.c src/core/dbus-service.c -index 093289f..5a881e8 100644 ---- src/core/dbus-service.c -+++ src/core/dbus-service.c -@@ -60,6 +60,7 @@ const sd_bus_vtable bus_service_vtable[] = { - SD_BUS_PROPERTY("ControlPID", "u", bus_property_get_pid, offsetof(Service, control_pid), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("BusName", "s", NULL, offsetof(Service, bus_name), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("StatusText", "s", NULL, offsetof(Service, status_text), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), -+ SD_BUS_PROPERTY("StatusErrno", "i", NULL, offsetof(Service, status_errno), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("Result", "s", property_get_result, offsetof(Service, result), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - BUS_EXEC_STATUS_VTABLE("ExecMain", offsetof(Service, main_exec_status), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - BUS_EXEC_COMMAND_LIST_VTABLE("ExecStartPre", offsetof(Service, exec_command[SERVICE_EXEC_START_PRE]), SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION), -diff --git src/core/service.c src/core/service.c -index 0b19767..ace45e2 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -2637,6 +2637,23 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - free(t); - } - -+ /* Interpret ERRNO= */ -+ e = strv_find_prefix(tags, "ERRNO="); -+ if (e) { -+ int status_errno; -+ -+ if (safe_atoi(e + 6, &status_errno) < 0) -+ log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); -+ else { -+ log_debug_unit(u->id, "%s: got %s", u->id, e); -+ -+ if (s->status_errno != status_errno) { -+ s->status_errno = status_errno; -+ notify_dbus = true; -+ } -+ } -+ } -+ - /* Interpret WATCHDOG= */ - if (strv_find(tags, "WATCHDOG=1")) { - log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); ---- src/core/service.h -+++ src/core/service.h 2014-07-08 12:54:39.238736046 +0200 -@@ -187,6 +187,7 @@ struct Service { - char *bus_name; - - char *status_text; -+ int status_errno; - - RateLimit start_limit; - StartLimitAction start_limit_action; --- -1.7.9.2 - diff --git a/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch b/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch deleted file mode 100644 index 17d7f268..00000000 --- a/0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c4bfd1691f4d3e26d6d7f34dbca941e119956e8a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Mar 2014 21:04:02 +0100 -Subject: [PATCH] core: don't try to relabel mounts before we loaded the - policy - ---- - src/core/mount-setup.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index 147333a..0a45b24 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -172,7 +172,10 @@ static int mount_one(const MountPoint *p, bool relabel) { - - /* The access mode here doesn't really matter too much, since - * the mounted file system will take precedence anyway. */ -- mkdir_p_label(p->where, 0755); -+ if (relabel) -+ mkdir_p_label(p->where, 0755); -+ else -+ mkdir_p(p->where, 0755); - - log_debug("Mounting %s to %s of type %s with options %s.", - p->what, --- -1.7.9.2 - diff --git a/0004-core-fix-transaction-destructiveness-check-once-more.patch b/0004-core-fix-transaction-destructiveness-check-once-more.patch deleted file mode 100644 index 843200c5..00000000 --- a/0004-core-fix-transaction-destructiveness-check-once-more.patch +++ /dev/null @@ -1,32 +0,0 @@ -Based on e0312f4db08c7100bd00299614e87bedc759b366 Mon Sep 17 00:00:00 2001 -Based on c21b92ffe7ef939dd32502ac912cf8ad1c5638fd Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 27 Nov 2014 15:23:58 +0100 -Subject: [PATCH] core: fix transaction destructiveness check once more - -The previous fix e0312f4db "core: fix check for transaction -destructiveness" broke test-engine (noticed by Zbyszek). -Apparently I had a wrong idea of the intended semantics of --fail. - -The manpage says the operation should fail if it "conflicts with a -pending job (more specifically: causes an already pending start job to -be reversed into a stop job or vice versa)". - -So let's check job_type_is_conflicting, instead of !is_superset. - -This makes both test-engine and TEST-03-JOBS pass again. ---- - src/core/transaction.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/transaction.c -+++ src/core/transaction.c 2014-12-15 12:06:11.721518136 +0000 -@@ -510,7 +510,7 @@ static int transaction_is_destructive(Tr - assert(!j->transaction_next); - - if (j->unit->job && (mode == JOB_FAIL || j->unit->job->irreversible) && -- !job_type_is_superset(j->type, j->unit->job->type)) { -+ job_type_is_conflicting(j->unit->job->type, j->type)) { - - sd_bus_error_setf(e, BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE, "Transaction is destructive."); - return -EEXIST; diff --git a/0004-core-map-the-rescue-argument-to-rescue.target.patch b/0004-core-map-the-rescue-argument-to-rescue.target.patch deleted file mode 100644 index 6b639305..00000000 --- a/0004-core-map-the-rescue-argument-to-rescue.target.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5329ab10ffaf5b4a3fd6ebd9380b1ec09d05cfc8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Tue, 7 Oct 2014 14:55:21 +0300 -Subject: [PATCH] core: map the 'rescue' argument to rescue.target - -Even though the 'emergency' and 'single' aliases come from sysvinit, the -lack of 'rescue' is still quite confusing (caught me by surprise for the -9th time yet) and inconsistent with `systemctl rescue` as well. ---- - src/core/main.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/core/main.c src/core/main.c -index 1a62e04..44373cc 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -272,6 +272,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { - static const char * const rlmap[] = { - "emergency", SPECIAL_EMERGENCY_TARGET, - "-b", SPECIAL_EMERGENCY_TARGET, -+ "rescue", SPECIAL_RESCUE_TARGET, - "single", SPECIAL_RESCUE_TARGET, - "-s", SPECIAL_RESCUE_TARGET, - "s", SPECIAL_RESCUE_TARGET, --- -1.7.9.2 - diff --git a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch deleted file mode 100644 index 4bed22a5..00000000 --- a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +++ /dev/null @@ -1,53 +0,0 @@ -Based on bde29068aa3815c88190a91e9867605a0aeaf9c4 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 23 Jun 2014 19:18:44 +0200 -Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices - when it is listed as password file - -As special magic, don't create device dependencies for /dev/null. Of -course, there might be similar devices we might want to include, but -given that none of them really make sense to specify as password source -there's really no point in checking for anything else here. - -https://bugs.freedesktop.org/show_bug.cgi?id=75816 ---- - src/cryptsetup/cryptsetup-generator.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - ---- src/cryptsetup/cryptsetup-generator.c -+++ src/cryptsetup/cryptsetup-generator.c 2014-06-25 17:24:14.338237375 +0000 -@@ -29,6 +29,7 @@ - #include "mkdir.h" - #include "strv.h" - #include "fileio.h" -+#include "path-util.h" - - static const char *arg_dest = "/tmp"; - static bool arg_enabled = true; -@@ -141,14 +142,18 @@ static int create_disk( - if (uu == NULL) - return log_oom(); - -- if (is_device_path(uu)) { -- _cleanup_free_ char *dd = unit_name_from_path(uu, ".device"); -- if (dd == NULL) -- return log_oom(); -- -- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); -- } else -- fprintf(f, "RequiresMountsFor=%s\n", password); -+ if (!path_equal(uu, "/dev/null")) { -+ if (is_device_path(uu)) { -+ _cleanup_free_ char *dd; -+ -+ dd = unit_name_from_path(uu, ".device"); -+ if (!dd) -+ return log_oom(); -+ -+ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); -+ } else -+ fprintf(f, "RequiresMountsFor=%s\n", password); -+ } - } - } - diff --git a/0004-fileio-quote-more-shell-characters-in-envfiles.patch b/0004-fileio-quote-more-shell-characters-in-envfiles.patch deleted file mode 100644 index b4cd3e96..00000000 --- a/0004-fileio-quote-more-shell-characters-in-envfiles.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 0ce5a80601597fe4d1a715a8f70ce8d5ccaa2d86 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Sun, 13 Jul 2014 18:49:00 +0300 -Subject: [PATCH] fileio: quote more shell characters in envfiles - -Turns out, making strings shell-proof is harder than expected: - - # machinectl set-hostname "foo|poweroff" && . /etc/machine-info - -(This could be simplified by quoting *and* escaping all characters, -which is harmless in shell but unnecessary.) ---- - src/shared/fileio.c | 4 ++-- - src/shared/util.h | 6 ++++++ - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git src/shared/fileio.c src/shared/fileio.c -index b0ab780..cbb40c2 100644 ---- src/shared/fileio.c -+++ src/shared/fileio.c -@@ -738,11 +738,11 @@ static void write_env_var(FILE *f, const char *v) { - p++; - fwrite(v, 1, p-v, f); - -- if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE "\'\"\\`$")) { -+ if (string_has_cc(p, NULL) || chars_intersect(p, WHITESPACE SHELL_NEED_QUOTES)) { - fputc('\"', f); - - for (; *p; p++) { -- if (strchr("\'\"\\`$", *p)) -+ if (strchr(SHELL_NEED_ESCAPE, *p)) - fputc('\\', f); - - fputc(*p, f); -diff --git src/shared/util.h src/shared/util.h -index c5eadc9..b3187a9 100644 ---- src/shared/util.h -+++ src/shared/util.h -@@ -93,6 +93,12 @@ - #define COMMENTS "#;" - #define GLOB_CHARS "*?[" - -+/* What characters are special in the shell? */ -+/* must be escaped outside and inside double-quotes */ -+#define SHELL_NEED_ESCAPE "\"\\`$" -+/* can be escaped or double-quoted */ -+#define SHELL_NEED_QUOTES SHELL_NEED_ESCAPE GLOB_CHARS "'()<>|&;" -+ - #define FORMAT_BYTES_MAX 8 - - #define ANSI_HIGHLIGHT_ON "\x1B[1;39m" --- -1.7.9.2 - diff --git a/0004-fix-off-by-one-error-in-array-index-assertion.patch b/0004-fix-off-by-one-error-in-array-index-assertion.patch deleted file mode 100644 index 9b718e05..00000000 --- a/0004-fix-off-by-one-error-in-array-index-assertion.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 26abdc73a212b90f7c4b71808a1028d2e87ab09f Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sat, 8 Mar 2014 17:32:53 -0500 -Subject: [PATCH] fix off by one error in array index assertion - -Since the index is already post-incremented when the array is appended -to, this assertion can be wrongly reached when the array is at capacity -(with the NULL terminator). The bug is reproducible on shutdown with -the following settings in /etc/systemd/system.conf: - - LogTarget=journal-or-kmsg - LogColor=yes - LogLocation=yes - -Reported by Thermi on IRC. ---- - src/core/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/main.c src/core/main.c -index 6ebfe64..f1b06d8 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1994,7 +1994,7 @@ finish: - if (log_get_show_location()) - command_line[pos++] = "--log-location"; - -- assert(pos + 1 < ELEMENTSOF(command_line)); -+ assert(pos < ELEMENTSOF(command_line)); - - if (arm_reboot_watchdog && arg_shutdown_watchdog > 0) { - char *e; --- -1.7.9.2 - diff --git a/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch b/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch deleted file mode 100644 index 065c0ea9..00000000 --- a/0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +++ /dev/null @@ -1,22 +0,0 @@ -From b3e4387351c835766f96796a20d94971afea7d3b Mon Sep 17 00:00:00 2001 -From: Tomasz Torcz -Date: Tue, 25 Feb 2014 12:43:55 +0100 -Subject: [PATCH] fix typo in iDRAC network interface name: irdac->idrac - ---- - hwdb/20-net-ifname.hwdb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git hwdb/20-net-ifname.hwdb hwdb/20-net-ifname.hwdb -index 29d2633..2408dc1 100644 ---- hwdb/20-net-ifname.hwdb -+++ hwdb/20-net-ifname.hwdb -@@ -2,4 +2,4 @@ - - # Dell iDRAC Virtual USB NIC - usb:v413CpA102* -- ID_NET_NAME_FROM_DATABASE=irdac -+ ID_NET_NAME_FROM_DATABASE=idrac --- -1.7.9.2 - diff --git a/0004-getty-generator-properly-escape-instance-names.patch b/0004-getty-generator-properly-escape-instance-names.patch deleted file mode 100644 index 26feb694..00000000 --- a/0004-getty-generator-properly-escape-instance-names.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a2ae516a25dafe41e0cd296ab7b5d022fa62b95f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 19 Jun 2014 22:02:55 -0400 -Subject: [PATCH] getty-generator: properly escape instance names - -Otherwise the add_symlink() function tries to make directories for -each slash even for the slash after the @ symbol in the final link -name, failing for /dev/3270/tty1. - -Based on a patch by Werner Fink . ---- - src/getty-generator/getty-generator.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/getty-generator/getty-generator.c src/getty-generator/getty-generator.c -index 35cd858..7d4b546 100644 ---- src/getty-generator/getty-generator.c -+++ src/getty-generator/getty-generator.c -@@ -67,7 +67,7 @@ static int add_serial_getty(const char *tty) { - - log_debug("Automatically adding serial getty for /dev/%s.", tty); - -- n = unit_name_replace_instance("serial-getty@.service", tty); -+ n = unit_name_from_path_instance("serial-getty", tty, ".service"); - if (!n) - return log_oom(); - -@@ -81,7 +81,7 @@ static int add_container_getty(const char *tty) { - - log_debug("Automatically adding container getty for /dev/pts/%s.", tty); - -- n = unit_name_replace_instance("container-getty@.service", tty); -+ n = unit_name_from_path_instance("container-getty", tty, ".service"); - if (!n) - return log_oom(); - --- -1.7.9.2 - diff --git a/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 7ae03b91..00000000 --- a/0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,50 +0,0 @@ -From b189101727e80a09864c5e5880663ef565467f19 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Sat, 12 Apr 2014 10:38:16 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index b928f5a..28aa2a7 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -733,7 +733,7 @@ bluetooth:v00F1* - ID_VENDOR_FROM_DATABASE=Witron Technology Limited - - bluetooth:v00F2* -- ID_VENDOR_FROM_DATABASE=Morse Project Inc. -+ ID_VENDOR_FROM_DATABASE=Aether Things Inc. (formerly Morse Project Inc.) - - bluetooth:v00F3* - ID_VENDOR_FROM_DATABASE=Kent Displays Inc. -@@ -941,3 +941,24 @@ bluetooth:v0136* - - bluetooth:v0137* - ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. -+ -+bluetooth:v0138* -+ ID_VENDOR_FROM_DATABASE=NTEO Inc. -+ -+bluetooth:v0139* -+ ID_VENDOR_FROM_DATABASE=Focus Systems Corporation -+ -+bluetooth:v013A* -+ ID_VENDOR_FROM_DATABASE=Tencent Holdings Limited -+ -+bluetooth:v013B* -+ ID_VENDOR_FROM_DATABASE=Allegion -+ -+bluetooth:v013C* -+ ID_VENDOR_FROM_DATABASE=Murata Manufacuring Co., Ltd. -+ -+bluetooth:v013D* -+ ID_VENDOR_FROM_DATABASE=WirelessWERX -+ -+bluetooth:v013E* -+ ID_VENDOR_FROM_DATABASE=nimai --- -1.7.9.2 - diff --git a/0004-hwdb-update-format-description-and-document-reloadin.patch b/0004-hwdb-update-format-description-and-document-reloadin.patch deleted file mode 100644 index a65a46f0..00000000 --- a/0004-hwdb-update-format-description-and-document-reloadin.patch +++ /dev/null @@ -1,60 +0,0 @@ -From fa9d4be3f1f4a792b2f3624c2a08fe9cc6ce6e54 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 7 Aug 2014 21:48:57 -0400 -Subject: [PATCH] hwdb: update format description and document reloading - -https://bugs.freedesktop.org/show_bug.cgi?id=82311 ---- - hwdb/60-keyboard.hwdb | 32 +++++++++++++++++++++++--------- - 1 file changed, 23 insertions(+), 9 deletions(-) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 5c3d4ca..ef0ebc5 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -28,19 +28,33 @@ - # driver, is the firmware-provided string exported - # by the kernel DMI modalias. - # --# Scan codes are specified as: --# KEYBOARD_KEY_= --# The scan code should be expressed in hex lowercase and in --# full bytes, a multiple of 2 digits. The key codes are retrieved --# and normalized from the kernel input API header. -+# Scan codes are specified as: -+# KEYBOARD_KEY_= -+# The scan code should be expressed in hex lowercase. The key codes -+# are retrieved and normalized from the kernel input API header. - # --# A '!' as the first charcter of the key identifier string --# will add the scan code to the AT keyboard's list of scan codes --# where the driver will synthesize a release event and not expect --# it to be generated by the hardware. -+# An '!' as the first character of the key identifier string -+# will add the scan code to the AT keyboard's list of scan codes -+# where the driver will synthesize a release event and not expect -+# it to be generated by the hardware. - # - # To debug key presses and access scan code mapping data of - # an input device use the commonly available tool: evtest(1). -+# -+# To update this file, create a new file -+# /etc/udev/hwdb.d/70-keyboad.hwdb -+# and add your rules there. To load the new rules execute (as root): -+# udevadm hwdb --update -+# udevadm trigger /dev/input/eventXX -+# where /dev/input/eventXX is the keyboard in question. If in -+# doubt, simply use /dev/input/event* to reload all input rules. -+# -+# If your changes are generally applicable, open a bug report on -+# http://bugs.freedesktop.org/enter_bug.cgi?product=systemd -+# and include your new rules, a description of the device, and the -+# output of -+# udevadm info /dev/input/eventXX -+# (or /dev/input/event*). - - ########################################## - # Acer --- -1.7.9.2 - diff --git a/0004-hwdb-update.patch b/0004-hwdb-update.patch deleted file mode 100644 index 572bcd32..00000000 --- a/0004-hwdb-update.patch +++ /dev/null @@ -1,3964 +0,0 @@ -From 61fb23db45c626d92b4e33f09b9287f58a3625a5 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 5 May 2014 14:23:10 +0200 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 295 +++++++++++- - hwdb/20-pci-vendor-model.hwdb | 174 ++++++-- - hwdb/20-usb-vendor-model.hwdb | 992 +++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 1368 insertions(+), 93 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 17794ed..afc0d90 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -13940,7 +13940,7 @@ OUI:000063* - ID_OUI_FROM_DATABASE=BARCO CONTROL ROOMS GMBH - - OUI:000064* -- ID_OUI_FROM_DATABASE=YOKOGAWA DIGITAL COMPUTER CORP -+ ID_OUI_FROM_DATABASE=Yokogawa Electric Corporation - - OUI:000065* - ID_OUI_FROM_DATABASE=Network General Corporation -@@ -14927,7 +14927,7 @@ OUI:0001AE* - ID_OUI_FROM_DATABASE=Trex Enterprises - - OUI:0001AF* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:0001B0* - ID_OUI_FROM_DATABASE=Fulltek Technology Co., Ltd. -@@ -18272,7 +18272,7 @@ OUI:00060A* - ID_OUI_FROM_DATABASE=Blue2space - - OUI:00060B* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:00060C* - ID_OUI_FROM_DATABASE=Melco Industries, Inc. -@@ -20441,7 +20441,7 @@ OUI:0008F8* - ID_OUI_FROM_DATABASE=UTC CCS - - OUI:0008F9* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:0008FA* - ID_OUI_FROM_DATABASE=Karl E.Brinkmann GmbH -@@ -46612,6 +46612,9 @@ OUI:0064A6* - OUI:00664B* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:006B8E* -+ ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. -+ - OUI:006B9E* - ID_OUI_FROM_DATABASE=VIZIO Inc - -@@ -46850,7 +46853,7 @@ OUI:008041* - ID_OUI_FROM_DATABASE=VEB KOMBINAT ROBOTRON - - OUI:008042* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:008043* - ID_OUI_FROM_DATABASE=NETWORLD, INC. -@@ -49919,7 +49922,7 @@ OUI:00C0F8* - ID_OUI_FROM_DATABASE=ABOUT COMPUTING INC. - - OUI:00C0F9* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:00C0FA* - ID_OUI_FROM_DATABASE=CANARY COMMUNICATIONS, INC. -@@ -50957,7 +50960,7 @@ OUI:00E034* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:00E035* -- ID_OUI_FROM_DATABASE=Emerson Network Power -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:00E036* - ID_OUI_FROM_DATABASE=PIONEER CORPORATION -@@ -52477,6 +52480,9 @@ OUI:0838A5* - OUI:083AB8* - ID_OUI_FROM_DATABASE=Shinoda Plasma Co., Ltd. - -+OUI:083D88* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:083E0C* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -52495,9 +52501,6 @@ OUI:084027* - OUI:08482C* - ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. - --OUI:084929* -- ID_OUI_FROM_DATABASE=CYBATI -- - OUI:084E1C* - ID_OUI_FROM_DATABASE=H2A Systems, LLC - -@@ -52867,6 +52870,9 @@ OUI:0C8910* - OUI:0C8BFD* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:0C8C8F* -+ ID_OUI_FROM_DATABASE=Kamo Technology Limited -+ - OUI:0C8CDC* - ID_OUI_FROM_DATABASE=Suunto Oy - -@@ -53515,6 +53521,9 @@ OUI:1499E2* - OUI:149FE8* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:14A364* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:14A62C* - ID_OUI_FROM_DATABASE=S.M. Dezac S.A. - -@@ -54403,6 +54412,9 @@ OUI:20918A* - OUI:2091D9* - ID_OUI_FROM_DATABASE=I'M SPA - -+OUI:20934D* -+ ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd -+ - OUI:209AE9* - ID_OUI_FROM_DATABASE=Volacomm Co., Ltd - -@@ -54598,6 +54610,9 @@ OUI:24470E* - OUI:24497B* - ID_OUI_FROM_DATABASE=Innovative Converged Devices Inc - -+OUI:244F1D* -+ ID_OUI_FROM_DATABASE=iRule LLC -+ - OUI:245FDF* - ID_OUI_FROM_DATABASE=KYOCERA Corporation - -@@ -54751,6 +54766,9 @@ OUI:24DEC6* - OUI:24E271* - ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd - -+OUI:24E314* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:24E6BA* - ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky - -@@ -54829,6 +54847,9 @@ OUI:2826A6* - OUI:28285D* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -+OUI:2829CC* -+ ID_OUI_FROM_DATABASE=Corsa Technology Incorporated -+ - OUI:2829D9* - ID_OUI_FROM_DATABASE=GlobalBeiMing technology (Beijing)Co. Ltd - -@@ -55087,12 +55108,18 @@ OUI:28E14C* - OUI:28E297* - ID_OUI_FROM_DATABASE=Shanghai InfoTM Microelectronics Co.,Ltd. - -+OUI:28E31F* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:28E347* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - - OUI:28E608* - ID_OUI_FROM_DATABASE=Tokheim - -+OUI:28E6E9* -+ ID_OUI_FROM_DATABASE=SIS Sat Internet Services GmbH -+ - OUI:28E794* - ID_OUI_FROM_DATABASE=Microtime Computer Inc. - -@@ -55225,6 +55252,9 @@ OUI:2C534A* - OUI:2C542D* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:2C54CF* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:2C553C* - ID_OUI_FROM_DATABASE=Gainspeed, Inc. - -@@ -55330,6 +55360,9 @@ OUI:2CA835* - OUI:2CAB25* - ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd - -+OUI:2CABA4* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:2CB05D* - ID_OUI_FROM_DATABASE=NETGEAR - -@@ -55456,6 +55489,9 @@ OUI:303294* - OUI:3032D4* - ID_OUI_FROM_DATABASE=Hanilstm Co., Ltd. - -+OUI:303335* -+ ID_OUI_FROM_DATABASE=Boosty -+ - OUI:3037A6* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -55888,6 +55924,9 @@ OUI:34BA9A* - OUI:34BB1F* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:34BB26* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:34BCA6* - ID_OUI_FROM_DATABASE=Beijing Ding Qing Technology, Ltd. - -@@ -55975,6 +56014,9 @@ OUI:34EF44* - OUI:34EF8B* - ID_OUI_FROM_DATABASE=NTT Communications Corporation - -+OUI:34F0CA* -+ ID_OUI_FROM_DATABASE=Shenzhen Linghangyuan Digital Technology Co.,Ltd. -+ - OUI:34F39B* - ID_OUI_FROM_DATABASE=WizLAN Ltd. - -@@ -56023,6 +56065,9 @@ OUI:381766* - OUI:38192F* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:381C1A* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:381C4A* - ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd. - -@@ -56236,6 +56281,9 @@ OUI:38F597* - OUI:38F708* - ID_OUI_FROM_DATABASE=National Resource Management, Inc. - -+OUI:38F889* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:38F8B7* - ID_OUI_FROM_DATABASE=V2COM PARTICIPACOES S.A. - -@@ -56287,6 +56335,9 @@ OUI:3C15C2* - OUI:3C15EA* - ID_OUI_FROM_DATABASE=TESCOM CO., LTD. - -+OUI:3C189F* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:3C18A0* - ID_OUI_FROM_DATABASE=Luxshare Precision Industry Co.,Ltd. - -@@ -56521,6 +56572,9 @@ OUI:3CD7DA* - OUI:3CD92B* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -+OUI:3CD9CE* -+ ID_OUI_FROM_DATABASE=Eclipse WiFi -+ - OUI:3CDF1E* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -56725,6 +56779,9 @@ OUI:407A80* - OUI:407B1B* - ID_OUI_FROM_DATABASE=Mettle Networks Inc. - -+OUI:408256* -+ ID_OUI_FROM_DATABASE=Continental Automotive GmbH -+ - OUI:4083DE* - ID_OUI_FROM_DATABASE=Motorola - -@@ -56818,6 +56875,9 @@ OUI:40C245* - OUI:40C4D6* - ID_OUI_FROM_DATABASE=ChongQing Camyu Technology Development Co.,Ltd. - -+OUI:40C62A* -+ ID_OUI_FROM_DATABASE=Shanghai Jing Ren Electronic Technology Co., Ltd. -+ - OUI:40C7C9* - ID_OUI_FROM_DATABASE=Naviit Inc. - -@@ -57001,6 +57061,9 @@ OUI:446132* - OUI:44619C* - ID_OUI_FROM_DATABASE=FONsystem co. ltd. - -+OUI:44666E* -+ ID_OUI_FROM_DATABASE=IP-LINE -+ - OUI:446755* - ID_OUI_FROM_DATABASE=Orbit Irrigation - -@@ -57019,6 +57082,9 @@ OUI:44700B* - OUI:447098* - ID_OUI_FROM_DATABASE=MING HONG TECHNOLOGY (SHEN ZHEN) LIMITED - -+OUI:44746C* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:447BC4* - ID_OUI_FROM_DATABASE=DualShine Technology(SZ)Co.,Ltd - -@@ -57079,6 +57145,9 @@ OUI:44A42D* - OUI:44A689* - ID_OUI_FROM_DATABASE=PROMAX ELECTRONICA SA - -+OUI:44A6E5* -+ ID_OUI_FROM_DATABASE=THINKING TECHNOLOGY CO.,LTD -+ - OUI:44A7CF* - ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. - -@@ -57178,6 +57247,9 @@ OUI:48022A* - OUI:480362* - ID_OUI_FROM_DATABASE=DESAY ELECTRONICS(HUIZHOU)CO.,LTD - -+OUI:480C49* -+ ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC -+ - OUI:481249* - ID_OUI_FROM_DATABASE=Luxcom Technologies Inc. - -@@ -57463,6 +57535,9 @@ OUI:4C2258* - OUI:4C2578* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:4C26E7* -+ ID_OUI_FROM_DATABASE=Welgate Co., Ltd. -+ - OUI:4C2C80* - ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd - -@@ -57535,6 +57610,9 @@ OUI:4C63EB* - OUI:4C64D9* - ID_OUI_FROM_DATABASE=Guangdong Leawin Group Co., Ltd - -+OUI:4C6E6E* -+ ID_OUI_FROM_DATABASE=Comnect Technology CO.,LTD -+ - OUI:4C72B9* - ID_OUI_FROM_DATABASE=Pegatron Corporation - -@@ -57565,6 +57643,9 @@ OUI:4C8093* - OUI:4C82CF* - ID_OUI_FROM_DATABASE=Echostar Technologies - -+OUI:4C83DE* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:4C8B30* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -@@ -57592,6 +57673,9 @@ OUI:4C9E80* - OUI:4C9EE4* - ID_OUI_FROM_DATABASE=Hanyang Navicom Co.,Ltd. - -+OUI:4C9EFF* -+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corp -+ - OUI:4CA56D* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -57775,6 +57859,9 @@ OUI:504A6E* - OUI:504F94* - ID_OUI_FROM_DATABASE=Loxone Electronics GmbH - -+OUI:505065* -+ ID_OUI_FROM_DATABASE=TAKT Corporation -+ - OUI:505663* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -57808,6 +57895,9 @@ OUI:506313* - OUI:506441* - ID_OUI_FROM_DATABASE=Greenlee - -+OUI:506787* -+ ID_OUI_FROM_DATABASE=iTellus -+ - OUI:5067F0* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -@@ -58693,6 +58783,12 @@ OUI:5CAC4C* - OUI:5CB524* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:5CB6CC* -+ ID_OUI_FROM_DATABASE=NovaComm Technologies Inc. -+ -+OUI:5CB8CB* -+ ID_OUI_FROM_DATABASE=Allis Communications -+ - OUI:5CBD9E* - ID_OUI_FROM_DATABASE=HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED - -@@ -58789,6 +58885,9 @@ OUI:5CF8A1* - OUI:5CF938* - ID_OUI_FROM_DATABASE=Apple, Inc - -+OUI:5CF96A* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:5CF9DD* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -58927,6 +59026,9 @@ OUI:60748D* - OUI:607688* - ID_OUI_FROM_DATABASE=Velodyne - -+OUI:6077E2* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:60812B* - ID_OUI_FROM_DATABASE=Custom Control Concepts - -@@ -59074,6 +59176,9 @@ OUI:60E00E* - OUI:60E327* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:60E701* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:60E956* - ID_OUI_FROM_DATABASE=Ayla Networks, Inc - -@@ -59131,6 +59236,9 @@ OUI:6405BE* - OUI:64094C* - ID_OUI_FROM_DATABASE=Beijing Superbee Wireless Technology Co.,Ltd - -+OUI:640980* -+ ID_OUI_FROM_DATABASE=XIAOMI Electronics,CO.,LTD -+ - OUI:640B4A* - ID_OUI_FROM_DATABASE=Digital Telecom Technology Limited - -@@ -59254,6 +59362,9 @@ OUI:645FFF* - OUI:646223* - ID_OUI_FROM_DATABASE=Cellient Co., Ltd. - -+OUI:64649B* -+ ID_OUI_FROM_DATABASE=juniper networks -+ - OUI:6465C0* - ID_OUI_FROM_DATABASE=Nuvon, Inc - -@@ -59680,6 +59791,9 @@ OUI:689C5E* - OUI:689C70* - ID_OUI_FROM_DATABASE=Apple - -+OUI:68A0F6* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:68A1B7* - ID_OUI_FROM_DATABASE=Honghao Mingchuan Technology (Beijing) CO.,Ltd. - -@@ -60130,6 +60244,9 @@ OUI:702B1D* - OUI:702C1F* - ID_OUI_FROM_DATABASE=Wisol - -+OUI:702DD1* -+ ID_OUI_FROM_DATABASE=Newings Communication CO., LTD. -+ - OUI:702F4B* - ID_OUI_FROM_DATABASE=PolyVision Inc. - -@@ -60211,6 +60328,9 @@ OUI:705986* - OUI:705AB6* - ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. - -+OUI:705B2E* -+ ID_OUI_FROM_DATABASE=M2Communication Inc. -+ - OUI:705CAD* - ID_OUI_FROM_DATABASE=Konami Gaming Inc - -@@ -60568,6 +60688,9 @@ OUI:748EF8* - OUI:748F1B* - ID_OUI_FROM_DATABASE=MasterImage 3D - -+OUI:748F4D* -+ ID_OUI_FROM_DATABASE=MEN Mikro Elektronik GmbH -+ - OUI:749050* - ID_OUI_FROM_DATABASE=Renesas Electronics Corporation - -@@ -60694,6 +60817,9 @@ OUI:74F07D* - OUI:74F102* - ID_OUI_FROM_DATABASE=Beijing HCHCOM Technology Co., Ltd - -+OUI:74F413* -+ ID_OUI_FROM_DATABASE=Maxwell Forest -+ - OUI:74F612* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -61582,6 +61708,9 @@ OUI:806CBC* - OUI:80711F* - ID_OUI_FROM_DATABASE=Juniper Networks - -+OUI:80717A* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:807693* - ID_OUI_FROM_DATABASE=Newag SA - -@@ -61633,6 +61762,9 @@ OUI:80946C* - OUI:8096B1* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:8096CA* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind Co.,Ltd -+ - OUI:80971B* - ID_OUI_FROM_DATABASE=Altenergy Power System,Inc. - -@@ -61699,6 +61831,9 @@ OUI:80D019* - OUI:80D18B* - ID_OUI_FROM_DATABASE=Hangzhou I'converge Technology Co.,Ltd - -+OUI:80D21D* -+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc -+ - OUI:80D433* - ID_OUI_FROM_DATABASE=LzLabs GmbH - -@@ -62356,6 +62491,9 @@ OUI:8C2F39* - OUI:8C3330* - ID_OUI_FROM_DATABASE=EmFirst Co., Ltd. - -+OUI:8C3357* -+ ID_OUI_FROM_DATABASE=HiteVision Digital Media Technology Co.,Ltd. -+ - OUI:8C3AE3* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -62842,6 +62980,9 @@ OUI:90B134* - OUI:90B21F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:90B686* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:90B8D0* - ID_OUI_FROM_DATABASE=Joyent, Inc. - -@@ -62887,6 +63028,9 @@ OUI:90D92C* - OUI:90DA4E* - ID_OUI_FROM_DATABASE=AVANU - -+OUI:90DA6A* -+ ID_OUI_FROM_DATABASE=MCC System Co., Ltd. -+ - OUI:90DB46* - ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD - -@@ -63100,6 +63244,9 @@ OUI:94ACCA* - OUI:94AE61* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:94AEE3* -+ ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. -+ - OUI:94B8C5* - ID_OUI_FROM_DATABASE=RuggedCom Inc. - -@@ -63151,6 +63298,9 @@ OUI:94CE2C* - OUI:94D019* - ID_OUI_FROM_DATABASE=Cydle Corp. - -+OUI:94D60E* -+ ID_OUI_FROM_DATABASE=shenzhen yunmao information technologies co., ltd -+ - OUI:94D723* - ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd - -@@ -63730,6 +63880,9 @@ OUI:9CC077* - OUI:9CC0D2* - ID_OUI_FROM_DATABASE=Conductix-Wampfler AG - -+OUI:9CC172* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:9CC7A6* - ID_OUI_FROM_DATABASE=AVM GmbH - -@@ -63799,6 +63952,9 @@ OUI:A002DC* - OUI:A00363* - ID_OUI_FROM_DATABASE=Robert Bosch Healthcare GmbH - -+OUI:A00627* -+ ID_OUI_FROM_DATABASE=NEXPA System -+ - OUI:A00798* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -63898,6 +64054,9 @@ OUI:A051C6* - OUI:A055DE* - ID_OUI_FROM_DATABASE=Pace plc - -+OUI:A056B2* -+ ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH -+ - OUI:A0593A* - ID_OUI_FROM_DATABASE=V.D.S. Video Display Systems srl - -@@ -64234,6 +64393,9 @@ OUI:A45C27* - OUI:A45D36* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A45DA1* -+ ID_OUI_FROM_DATABASE=ADB Broadband Italia -+ - OUI:A46032* - ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD - -@@ -64312,6 +64474,9 @@ OUI:A49F89* - OUI:A4A24A* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:A4A4D3* -+ ID_OUI_FROM_DATABASE=Bluebank Communication Technology Co.Ltd -+ - OUI:A4A80F* - ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd. - -@@ -64462,6 +64627,9 @@ OUI:A80600* - OUI:A80C0D* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:A81374* -+ ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company -+ - OUI:A8154D* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -@@ -64495,6 +64663,9 @@ OUI:A82BD6* - OUI:A830AD* - ID_OUI_FROM_DATABASE=Wei Fang Goertek Electronics Co.,Ltd - -+OUI:A8329A* -+ ID_OUI_FROM_DATABASE=Digicom Futuristic Technologies Ltd. -+ - OUI:A83944* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -@@ -64582,6 +64753,9 @@ OUI:A88CEE* - OUI:A88D7B* - ID_OUI_FROM_DATABASE=SunDroid Global limited. - -+OUI:A88E24* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:A8922C* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -64903,6 +65077,9 @@ OUI:AC9CE4* - OUI:ACA016* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:ACA213* -+ ID_OUI_FROM_DATABASE=Shenzhen Bilian electronic CO.,LTD -+ - OUI:ACA22C* - ID_OUI_FROM_DATABASE=Baycity Technologies Ltd - -@@ -65068,6 +65245,9 @@ OUI:B01B7C* - OUI:B01C91* - ID_OUI_FROM_DATABASE=Elim Co - -+OUI:B01F81* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:B024F3* - ID_OUI_FROM_DATABASE=Progeny Systems - -@@ -65113,6 +65293,9 @@ OUI:B058C4* - OUI:B05B1F* - ID_OUI_FROM_DATABASE=THERMO FISHER SCIENTIFIC S.P.A. - -+OUI:B05B67* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:B05CE5* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -65338,6 +65521,9 @@ OUI:B407F9* - OUI:B40832* - ID_OUI_FROM_DATABASE=TC Communications - -+OUI:B40AC6* -+ ID_OUI_FROM_DATABASE=DEXON Systems Ltd. -+ - OUI:B40B44* - ID_OUI_FROM_DATABASE=Smartisan Technology Co., Ltd. - -@@ -65533,6 +65719,9 @@ OUI:B4AA4D* - OUI:B4AB2C* - ID_OUI_FROM_DATABASE=MtM Technology Corporation - -+OUI:B4AE6F* -+ ID_OUI_FROM_DATABASE=Circle Reliance, Inc. -+ - OUI:B4B017* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -65566,6 +65755,9 @@ OUI:B4C810* - OUI:B4CCE9* - ID_OUI_FROM_DATABASE=PROSYST - -+OUI:B4CEF6* -+ ID_OUI_FROM_DATABASE=HTC Corporation -+ - OUI:B4CFDB* - ID_OUI_FROM_DATABASE=Shenzhen Jiuzhou Electric Co.,LTD - -@@ -65812,6 +66004,9 @@ OUI:B898B0* - OUI:B898F7* - ID_OUI_FROM_DATABASE=Gionee Communication Equipment Co,Ltd.ShenZhen - -+OUI:B89919* -+ ID_OUI_FROM_DATABASE=7signal Solutions, Inc -+ - OUI:B89AED* - ID_OUI_FROM_DATABASE=OceanServer Technology, Inc - -@@ -66160,6 +66355,9 @@ OUI:BC9889* - OUI:BC99BC* - ID_OUI_FROM_DATABASE=FonSee Technology Inc. - -+OUI:BC9CC5* -+ ID_OUI_FROM_DATABASE=Beijing Huafei Technology Co., Ltd. -+ - OUI:BC9DA5* - ID_OUI_FROM_DATABASE=DASCOM Europe GmbH - -@@ -66511,6 +66709,9 @@ OUI:C0EAE4* - OUI:C0F1C4* - ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. - -+OUI:C0F2FB* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:C0F79D* - ID_OUI_FROM_DATABASE=Powercode - -@@ -66613,6 +66814,9 @@ OUI:C43C3C* - OUI:C43DC7* - ID_OUI_FROM_DATABASE=NETGEAR - -+OUI:C44202* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:C4438F* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -66634,6 +66838,9 @@ OUI:C44AD0* - OUI:C44B44* - ID_OUI_FROM_DATABASE=Omniprint Inc. - -+OUI:C44BD1* -+ ID_OUI_FROM_DATABASE=Wallys Communications Teachnologies Co.,Ltd. -+ - OUI:C44E1F* - ID_OUI_FROM_DATABASE=BlueN - -@@ -66835,6 +67042,9 @@ OUI:C4F57C* - OUI:C4FCE4* - ID_OUI_FROM_DATABASE=DishTV NZ Ltd - -+OUI:C80210* -+ ID_OUI_FROM_DATABASE=LG Innotek -+ - OUI:C80258* - ID_OUI_FROM_DATABASE=ITW GSE ApS - -@@ -67363,6 +67573,9 @@ OUI:CC9F35* - OUI:CCA0E5* - ID_OUI_FROM_DATABASE=DZG Metering GmbH - -+OUI:CCA223* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:CCA374* - ID_OUI_FROM_DATABASE=Guangdong Guanglian Electronic Technology Co.Ltd - -@@ -67498,6 +67711,9 @@ OUI:CCFE3C* - OUI:D00790* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:D00AAB* -+ ID_OUI_FROM_DATABASE=Yokogawa Digital Computer Corporation -+ - OUI:D00EA4* - ID_OUI_FROM_DATABASE=Porsche Cars North America - -@@ -67576,6 +67792,9 @@ OUI:D05875* - OUI:D059C3* - ID_OUI_FROM_DATABASE=CeraMicro Technology Corporation - -+OUI:D059E4* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:D05A0F* - ID_OUI_FROM_DATABASE=I-BT DIGITAL CO.,LTD - -@@ -68248,6 +68467,9 @@ OUI:D86595* - OUI:D866C6* - ID_OUI_FROM_DATABASE=Shenzhen Daystar Technology Co.,ltd - -+OUI:D866EE* -+ ID_OUI_FROM_DATABASE=BOXIN COMMUNICATION CO.,LTD. -+ - OUI:D867D9* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -68542,6 +68764,9 @@ OUI:DC49C9* - OUI:DC4EDE* - ID_OUI_FROM_DATABASE=SHINYEI TECHNOLOGY CO., LTD. - -+OUI:DC537C* -+ ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc. -+ - OUI:DC5726* - ID_OUI_FROM_DATABASE=Power-One - -@@ -69112,6 +69337,9 @@ OUI:E45614* - OUI:E457A8* - ID_OUI_FROM_DATABASE=Stuart Manufacturing, Inc. - -+OUI:E45D52* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:E46449* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -69298,6 +69526,9 @@ OUI:E81132* - OUI:E81324* - ID_OUI_FROM_DATABASE=GuangZhou Bonsoninfo System CO.,LTD - -+OUI:E8150E* -+ ID_OUI_FROM_DATABASE=Nokia Corporation -+ - OUI:E817FC* - ID_OUI_FROM_DATABASE=NIFTY Corporation - -@@ -69373,6 +69604,9 @@ OUI:E85B5B* - OUI:E85BF0* - ID_OUI_FROM_DATABASE=Imaging Diagnostics - -+OUI:E85D6B* -+ ID_OUI_FROM_DATABASE=Luminate Wireless -+ - OUI:E85E53* - ID_OUI_FROM_DATABASE=Infratec Datentechnik GmbH - -@@ -69409,6 +69643,9 @@ OUI:E878A1* - OUI:E87AF3* - ID_OUI_FROM_DATABASE=S5 Tech S.r.l. - -+OUI:E8802E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:E880D8* - ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. - -@@ -69719,7 +69956,7 @@ OUI:EC9B5B* - ID_OUI_FROM_DATABASE=Nokia Corporation - - OUI:EC9ECD* -- ID_OUI_FROM_DATABASE=Emerson Network Power and Embedded Computing -+ ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - - OUI:ECA29B* - ID_OUI_FROM_DATABASE=Kemppi Oy -@@ -69745,6 +69982,9 @@ OUI:ECC38A* - OUI:ECC882* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:ECCB30* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:ECCD6D* - ID_OUI_FROM_DATABASE=Allied Telesis, Inc. - -@@ -69763,6 +70003,9 @@ OUI:ECD925* - OUI:ECD950* - ID_OUI_FROM_DATABASE=IRT SA - -+OUI:ECD9D1* -+ ID_OUI_FROM_DATABASE=Shenzhen TG-NET Botone Technology Co.,Ltd. -+ - OUI:ECDE3D* - ID_OUI_FROM_DATABASE=Lamprey Networks, Inc. - -@@ -70144,6 +70387,12 @@ OUI:F406A5* - OUI:F40B93* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:F40E11* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ -+OUI:F40F1B* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F40F9B* - ID_OUI_FROM_DATABASE=WAVELINK - -@@ -70165,6 +70414,9 @@ OUI:F41FC2* - OUI:F42012* - ID_OUI_FROM_DATABASE=Cuciniale GmbH - -+OUI:F42833* -+ ID_OUI_FROM_DATABASE=MMPC Inc. -+ - OUI:F42896* - ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA - -@@ -70294,6 +70546,9 @@ OUI:F499AC* - OUI:F49F54* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:F49FF3* -+ ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd -+ - OUI:F4A294* - ID_OUI_FROM_DATABASE=EAGLE WORLD DEVELOPMENT CO., LIMITED - -@@ -70351,6 +70606,9 @@ OUI:F4CE46* - OUI:F4CFE2* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:F4D032* -+ ID_OUI_FROM_DATABASE=Yunnan Ideal Information&Technology.,Ltd -+ - OUI:F4D261* - ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd - -@@ -70390,12 +70648,18 @@ OUI:F4F5A5* - OUI:F4F5E8* - ID_OUI_FROM_DATABASE=Google - -+OUI:F4F646* -+ ID_OUI_FROM_DATABASE=Dediprog Technology Co. Ltd. -+ - OUI:F4F951* - ID_OUI_FROM_DATABASE=Apple - - OUI:F4FC32* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:F4FD2B* -+ ID_OUI_FROM_DATABASE=ZOYI Company -+ - OUI:F80113* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -70798,6 +71062,9 @@ OUI:FC1607* - OUI:FC1794* - ID_OUI_FROM_DATABASE=InterCreative Co., Ltd - -+OUI:FC1910* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:FC19D0* - ID_OUI_FROM_DATABASE=Cloud Vision Networks Technology Co.,Ltd. - -@@ -70906,6 +71173,9 @@ OUI:FC7516* - OUI:FC75E6* - ID_OUI_FROM_DATABASE=Handreamnet - -+OUI:FC790B* -+ ID_OUI_FROM_DATABASE=Hitachi High Technologies America, Inc. -+ - OUI:FC7CE7* - ID_OUI_FROM_DATABASE=FCI USA LLC - -@@ -70948,6 +71218,9 @@ OUI:FCA841* - OUI:FCA9B0* - ID_OUI_FROM_DATABASE=MIARTECH (SHANGHAI),INC. - -+OUI:FCAA14* -+ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. -+ - OUI:FCAD0F* - ID_OUI_FROM_DATABASE=QTS NETWORKS - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 14637d3..2957774 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -1673,6 +1673,9 @@ pci:v00001002d00001306* - pci:v00001002d00001307* - ID_MODEL_FROM_DATABASE=Kaveri - -+pci:v00001002d00001308* -+ ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller -+ - pci:v00001002d00001309* - ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] - -@@ -4268,6 +4271,9 @@ pci:v00001002d00006611sv00001B0Asd000090D3* - pci:v00001002d00006613* - ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] - -+pci:v00001002d00006613sv00001682sd00007240* -+ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] (R7 240 2048 MB) -+ - pci:v00001002d00006620* - ID_MODEL_FROM_DATABASE=Mars - -@@ -6024,31 +6030,31 @@ pci:v00001002d00006819sv0000174Bsd0000E221* - ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP) - - pci:v00001002d00006820* -- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] - - pci:v00001002d00006820sv0000103Csd00001851* -- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon HD 7750M) -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon HD 7750M) - - pci:v00001002d00006820sv000017AAsd00003801* -- ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M] (Radeon R9 M275) -+ ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X] (Radeon R9 M275) - - pci:v00001002d00006821* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] - - pci:v00001002d00006821sv00001002sd0000031E* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro SX4000) -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro SX4000) - - pci:v00001002d00006821sv00001028sd000005CC* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) - - pci:v00001002d00006821sv00001028sd000015CC* -- ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M] (FirePro M5100) -+ ID_MODEL_FROM_DATABASE=Venus XT [Radeon HD 8870M / R9 M270X] (FirePro M5100) - - pci:v00001002d00006822* - ID_MODEL_FROM_DATABASE=Venus PRO [Radeon E8860] - - pci:v00001002d00006823* -- ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M] -+ ID_MODEL_FROM_DATABASE=Venus PRO [Radeon HD 8850M / R9 M265X] - - pci:v00001002d00006825* - ID_MODEL_FROM_DATABASE=Heathrow XT [Radeon HD 7870M] -@@ -7770,64 +7776,73 @@ pci:v00001002d000068F9sv000017AFsd00003014* - ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 5000/6000/7350/8350 Series] (Radeon HD 6350) - - pci:v00001002d000068FA* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] - - pci:v00001002d000068FAsv00001019sd00000019* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000021* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000022* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001019sd00000026* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000103Csd00002ADF* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) - - pci:v00001002d000068FAsv0000103Csd00002AE8* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350A) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350A) - - pci:v00001002d000068FAsv00001043sd00008350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) - - pci:v00001002d000068FAsv00001462sd00002128* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002184* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002186* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd00002495* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001462sd0000B490* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv00001642sd00003985* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) -+ -+pci:v00001002d000068FAsv0000174Bsd00003510* -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) -+ -+pci:v00001002d000068FAsv0000174Bsd00003521* -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) -+ -+pci:v00001002d000068FAsv0000174Bsd00003522* -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon R5 220) - - pci:v00001002d000068FAsv0000174Bsd00007350* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd00008153* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 8350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 8350) - - pci:v00001002d000068FAsv0000174Bsd0000E127* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E153* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv0000174Bsd0000E180* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FAsv000017AFsd00003015* -- ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350] (Radeon HD 7350) -+ ID_MODEL_FROM_DATABASE=Cedar [Radeon HD 7350/8350 / R5 220] (Radeon HD 7350) - - pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE -@@ -8886,7 +8901,7 @@ pci:v00001002d0000980A* - ID_MODEL_FROM_DATABASE=Wrestler [Radeon HD 7290] - - pci:v00001002d00009830* -- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400] -+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400 / R3 Series] - - pci:v00001002d00009831* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8400E] -@@ -8904,13 +8919,13 @@ pci:v00001002d00009835* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8310E] - - pci:v00001002d00009836* -- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280] -+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280 / R3 Series] - - pci:v00001002d00009837* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8280E] - - pci:v00001002d00009838* -- ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240] -+ ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8240 / R3 Series] - - pci:v00001002d00009839* - ID_MODEL_FROM_DATABASE=Kabini [Radeon HD 8180] -@@ -10724,6 +10739,33 @@ pci:v00001022d00001418* - pci:v00001022d00001419* - ID_MODEL_FROM_DATABASE=Family 15h (Models 10h-1fh) I/O Memory Management Unit - -+pci:v00001022d0000141A* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 0 -+ -+pci:v00001022d0000141B* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 1 -+ -+pci:v00001022d0000141C* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 2 -+ -+pci:v00001022d0000141D* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 3 -+ -+pci:v00001022d0000141E* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 4 -+ -+pci:v00001022d0000141F* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Function 5 -+ -+pci:v00001022d00001422* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Complex -+ -+pci:v00001022d00001423* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) I/O Memory Management Unit -+ -+pci:v00001022d00001426* -+ ID_MODEL_FROM_DATABASE=Family 15h (Models 30h-3fh) Processor Root Port -+ - pci:v00001022d00001439* - ID_MODEL_FROM_DATABASE=Family 16h Processor Functions 5:1 - -@@ -17621,6 +17663,9 @@ pci:v00001093d000071BC* - pci:v00001093d000071D0* - ID_MODEL_FROM_DATABASE=PXI-6143 - -+pci:v00001093d000071DC* -+ ID_MODEL_FROM_DATABASE=PCI-1588 -+ - pci:v00001093d00007260* - ID_MODEL_FROM_DATABASE=PXI-5142 - -@@ -17639,6 +17684,9 @@ pci:v00001093d000072AA* - pci:v00001093d000072AB* - ID_MODEL_FROM_DATABASE=PCI-5105 - -+pci:v00001093d000072B8* -+ ID_MODEL_FROM_DATABASE=PXI-6682 -+ - pci:v00001093d0000730F* - ID_MODEL_FROM_DATABASE=PXI-5922EX - -@@ -17708,6 +17756,9 @@ pci:v00001093d000073F0* - pci:v00001093d000073F1* - ID_MODEL_FROM_DATABASE=PCI-5153 - -+pci:v00001093d00007405* -+ ID_MODEL_FROM_DATABASE=PXIe-6674T -+ - pci:v00001093d0000745E* - ID_MODEL_FROM_DATABASE=PXI-5153EX - -@@ -17726,6 +17777,12 @@ pci:v00001093d00007539* - pci:v00001093d0000753A* - ID_MODEL_FROM_DATABASE=NI 9159 - -+pci:v00001093d000075E5* -+ ID_MODEL_FROM_DATABASE=PXI-6683 -+ -+pci:v00001093d000075E6* -+ ID_MODEL_FROM_DATABASE=PXI-6683H -+ - pci:v00001093d00007626* - ID_MODEL_FROM_DATABASE=NI 9154 - -@@ -28100,6 +28157,9 @@ pci:v000010EC* - pci:v000010ECd00000139* - ID_MODEL_FROM_DATABASE=RTL-8139/8139C/8139C+ Ethernet Controller - -+pci:v000010ECd00005208* -+ ID_MODEL_FROM_DATABASE=RTS5208 PCI Express Card Reader -+ - pci:v000010ECd00005209* - ID_MODEL_FROM_DATABASE=RTS5209 PCI Express Card Reader - -@@ -28128,7 +28188,7 @@ pci:v000010ECd00005249sv0000103Csd00001909* - ID_MODEL_FROM_DATABASE=RTS5249 PCI Express Card Reader (ZBook 15) - - pci:v000010ECd00005288* -- ID_MODEL_FROM_DATABASE=Barossa PCI Express Card Reader -+ ID_MODEL_FROM_DATABASE=RTS5288 PCI Express Card Reader - - pci:v000010ECd00008029* - ID_MODEL_FROM_DATABASE=RTL-8029(AS) -@@ -32153,6 +32213,9 @@ pci:v00001131d00007160* - pci:v00001131d00007160sv00001458sd00009009* - ID_MODEL_FROM_DATABASE=SAA7160 (E8000 DVB-T/Analog TV/FM tuner) - -+pci:v00001131d00007160sv00001461sd00001455* -+ ID_MODEL_FROM_DATABASE=SAA7160 (AVerTV Hybrid Speedy PCI-E (H788)) -+ - pci:v00001131d00007162* - ID_MODEL_FROM_DATABASE=SAA7162 - -@@ -34691,6 +34754,9 @@ pci:v000011ABd00002A42* - pci:v000011ABd00002A43* - ID_MODEL_FROM_DATABASE=88W8366 [TopDog] 802.11n Wireless - -+pci:v000011ABd00002A55* -+ ID_MODEL_FROM_DATABASE=88W8864 [Avastar] 802.11ac Wireless -+ - pci:v000011ABd00002B36* - ID_MODEL_FROM_DATABASE=88W8764 [Avastar] 802.11n Wireless - -@@ -36536,6 +36602,9 @@ pci:v00001217d00008120* - pci:v00001217d00008130* - ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller - -+pci:v00001217d00008221* -+ ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller -+ - pci:v00001217d00008320* - ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller - -@@ -43278,7 +43347,13 @@ pci:v00001469* - ID_VENDOR_FROM_DATABASE=Cleveland Motion Controls - - pci:v0000146A* -- ID_VENDOR_FROM_DATABASE=IFR -+ ID_VENDOR_FROM_DATABASE=Aeroflex -+ -+pci:v0000146Ad00003010* -+ ID_MODEL_FROM_DATABASE=3010 RF Synthesizer -+ -+pci:v0000146Ad00003A11* -+ ID_MODEL_FROM_DATABASE=3011A PXI RF Synthesizer - - pci:v0000146B* - ID_VENDOR_FROM_DATABASE=Parascan Technologies Ltd -@@ -52409,6 +52484,9 @@ pci:v00001AB8d00004006* - pci:v00001AB9* - ID_VENDOR_FROM_DATABASE=Espia Srl - -+pci:v00001AC8* -+ ID_VENDOR_FROM_DATABASE=Aeroflex Gaisler -+ - pci:v00001ACC* - ID_VENDOR_FROM_DATABASE=Point of View BV - -@@ -52724,9 +52802,15 @@ pci:v00001B4Bd000091A0* - pci:v00001B4Bd000091A4* - ID_MODEL_FROM_DATABASE=88SE912x IDE Controller - -+pci:v00001B4Bd00009220* -+ ID_MODEL_FROM_DATABASE=88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller -+ - pci:v00001B4Bd00009230* - ID_MODEL_FROM_DATABASE=88SE9230 PCIe SATA 6Gb/s Controller - -+pci:v00001B4Bd00009235* -+ ID_MODEL_FROM_DATABASE=88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller -+ - pci:v00001B4Bd00009445* - ID_MODEL_FROM_DATABASE=88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller - -@@ -54693,7 +54777,7 @@ pci:v00006688* - ID_VENDOR_FROM_DATABASE=Zycoo Co., Ltd - - pci:v00006688d00001200* -- ID_MODEL_FROM_DATABASE=CooVOX TDM Analog Module -+ ID_MODEL_FROM_DATABASE=CooVox TDM Analog Module - - pci:v00006688d00001400* - ID_MODEL_FROM_DATABASE=CooVOX TDM GSM Module -@@ -59066,8 +59150,11 @@ pci:v00008086d00001522sv00008086sd000000A4* - pci:v00008086d00001523* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection - -+pci:v00008086d00001523sv00001028sd00000060* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 2P I350 LOM) -+ - pci:v00008086d00001523sv00001028sd00001F9B* -- ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350 bNDC) -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Gigabit 4P I350-t bNDC) - - pci:v00008086d00001523sv0000103Csd00001784* - ID_MODEL_FROM_DATABASE=I350 Gigabit Backplane Connection (Ethernet 1Gb 2-port 361FLB Adapter) -@@ -59183,9 +59270,6 @@ pci:v00008086d00001536* - pci:v00008086d00001537* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - --pci:v00008086d00001538* -- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -- - pci:v00008086d00001539* - ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection - -@@ -59270,6 +59354,12 @@ pci:v00008086d0000155Dsv00008086sd00000002* - pci:v00008086d00001560* - ID_MODEL_FROM_DATABASE=Ethernet Controller X540 - -+pci:v00008086d0000156F* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-LM -+ -+pci:v00008086d00001570* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V -+ - pci:v00008086d00001571* - ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function - -@@ -59316,16 +59406,16 @@ pci:v00008086d00001581sv00001028sd00001F98* - ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) - - pci:v00008086d00001583* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - - pci:v00008086d00001583sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - - pci:v00008086d00001583sv00008086sd00000003* -- ID_MODEL_FROM_DATABASE=Ethernet Controller LX710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q2) - - pci:v00008086d00001584* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 014c628..52586bc 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -21,7 +21,7 @@ usb:v0004* - ID_VENDOR_FROM_DATABASE=Nebraska Furniture Mart - - usb:v0011* -- ID_VENDOR_FROM_DATABASE=Unknown manufacturer -+ ID_VENDOR_FROM_DATABASE=Unknown - - usb:v0011p7788* - ID_MODEL_FROM_DATABASE=Flash mass storage drive -@@ -275,6 +275,9 @@ usb:v03EBp2110* - usb:v03EBp2122* - ID_MODEL_FROM_DATABASE=XMEGA-A1 Explained evaluation kit - -+usb:v03EBp2141* -+ ID_MODEL_FROM_DATABASE=ICE debugger -+ - usb:v03EBp2310* - ID_MODEL_FROM_DATABASE=EVK11xx evaluation board - -@@ -455,6 +458,9 @@ usb:v03F0p0121* - usb:v03F0p0122* - ID_MODEL_FROM_DATABASE=HID Internet Keyboard - -+usb:v03F0p0139* -+ ID_MODEL_FROM_DATABASE=Barcode Scanner 4430 -+ - usb:v03F0p0201* - ID_MODEL_FROM_DATABASE=ScanJet 6200c - -@@ -782,6 +788,9 @@ usb:v03F0p1517* - usb:v03F0p1524* - ID_MODEL_FROM_DATABASE=Smart Card Keyboard - KR - -+usb:v03F0p1539* -+ ID_MODEL_FROM_DATABASE=Mini Magnetic Stripe Reader -+ - usb:v03F0p1602* - ID_MODEL_FROM_DATABASE=PhotoSmart 330 series - -@@ -893,6 +902,9 @@ usb:v03F0p1D02* - usb:v03F0p1D17* - ID_MODEL_FROM_DATABASE=LaserJet 1320 - -+usb:v03F0p1D24* -+ ID_MODEL_FROM_DATABASE=Barcode scanner -+ - usb:v03F0p1E02* - ID_MODEL_FROM_DATABASE=PhotoSmart A320 Printer series - -@@ -935,6 +947,9 @@ usb:v03F0p2012* - usb:v03F0p201D* - ID_MODEL_FROM_DATABASE=un2400 Gobi Wireless Modem (QDL mode) - -+usb:v03F0p2039* -+ ID_MODEL_FROM_DATABASE=Cashdrawer -+ - usb:v03F0p2102* - ID_MODEL_FROM_DATABASE=PhotoSmart 7345 - -@@ -1008,7 +1023,7 @@ usb:v03F0p2505* - ID_MODEL_FROM_DATABASE=ScanJet 3770 - - usb:v03F0p2512* -- ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 -+ ID_MODEL_FROM_DATABASE=OfficeJet Pro L7300 / Compaq LA2405 series monitor - - usb:v03F0p2514* - ID_MODEL_FROM_DATABASE=4-port hub -@@ -1046,6 +1061,9 @@ usb:v03F0p2704* - usb:v03F0p2717* - ID_MODEL_FROM_DATABASE=Color LaserJet 2830 - -+usb:v03F0p2724* -+ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader IDRA-334133-HP -+ - usb:v03F0p2811* - ID_MODEL_FROM_DATABASE=PSC-2100 - -@@ -1424,6 +1442,9 @@ usb:v03F0p5817* - usb:v03F0p5911* - ID_MODEL_FROM_DATABASE=PhotoSmart C6180 - -+usb:v03F0p5912* -+ ID_MODEL_FROM_DATABASE=Officejet Pro 8600 -+ - usb:v03F0p5A11* - ID_MODEL_FROM_DATABASE=PhotoSmart C7100 series - -@@ -1532,6 +1553,9 @@ usb:v03F0p6B02* - usb:v03F0p6B11* - ID_MODEL_FROM_DATABASE=Photosmart C4500 series - -+usb:v03F0p6C11* -+ ID_MODEL_FROM_DATABASE=Photosmart C4480 -+ - usb:v03F0p6C17* - ID_MODEL_FROM_DATABASE=Color LaserJet 4610 - -@@ -1913,6 +1937,9 @@ usb:v03FC* - usb:v03FD* - ID_VENDOR_FROM_DATABASE=Xilinx, Inc. - -+usb:v03FDp0008* -+ ID_MODEL_FROM_DATABASE=Platform Cable USB II -+ - usb:v03FE* - ID_VENDOR_FROM_DATABASE=Farallon Comunications - -@@ -2012,6 +2039,9 @@ usb:v0403p0232* - usb:v0403p1060* - ID_MODEL_FROM_DATABASE=JTAG adapter - -+usb:v0403p1234* -+ ID_MODEL_FROM_DATABASE=IronLogic RFID Adapter [Z-2 USB] -+ - usb:v0403p6001* - ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC - -@@ -2084,12 +2114,18 @@ usb:v0403p8B2B* - usb:v0403p8B2C* - ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70 - -+usb:v0403p9132* -+ ID_MODEL_FROM_DATABASE=LCD and Temperature Interface -+ - usb:v0403p9133* - ID_MODEL_FROM_DATABASE=CallerID - - usb:v0403p9135* - ID_MODEL_FROM_DATABASE=Rotary Pub alarm - -+usb:v0403p9136* -+ ID_MODEL_FROM_DATABASE=Pulsecounter -+ - usb:v0403p9E90* - ID_MODEL_FROM_DATABASE=Marvell OpenRD Base/Client - -@@ -2291,6 +2327,9 @@ usb:v0403pEF10* - usb:v0403pF070* - ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] - -+usb:v0403pF0E9* -+ ID_MODEL_FROM_DATABASE=Tagsys L-P101 -+ - usb:v0403pF1A0* - ID_MODEL_FROM_DATABASE=Asix PRESTO Programmer - -@@ -2999,6 +3038,9 @@ usb:v040Ap4021* - usb:v040Ap4022* - ID_MODEL_FROM_DATABASE=1400 Digital Photo Printer - -+usb:v040Ap402B* -+ ID_MODEL_FROM_DATABASE=Photo Printer 6850 -+ - usb:v040Ap402E* - ID_MODEL_FROM_DATABASE=605 Photo Printer - -@@ -4379,6 +4421,9 @@ usb:v0424p7500* - usb:v0424p9512* - ID_MODEL_FROM_DATABASE=SMC9512/9514 USB Hub - -+usb:v0424p9514* -+ ID_MODEL_FROM_DATABASE=SMC9514 Hub -+ - usb:v0424pA700* - ID_MODEL_FROM_DATABASE=2 Port Hub - -@@ -5219,6 +5264,9 @@ usb:v0451p2046* - usb:v0451p2077* - ID_MODEL_FROM_DATABASE=TUSB2077 Hub - -+usb:v0451p2F90* -+ ID_MODEL_FROM_DATABASE=SM-USB-DIG -+ - usb:v0451p3410* - ID_MODEL_FROM_DATABASE=TUSB3410 Microcontroller - -@@ -5534,6 +5582,9 @@ usb:v0458p5003* - usb:v0458p5004* - ID_MODEL_FROM_DATABASE=G-pen Tablet - -+usb:v0458p505E* -+ ID_MODEL_FROM_DATABASE=Genius iSlim 330 -+ - usb:v0458p6001* - ID_MODEL_FROM_DATABASE=GF3000F Ethernet Adapter - -@@ -5600,6 +5651,24 @@ usb:v0458p705A* - usb:v0458p705C* - ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF - -+usb:v0458p7061* -+ ID_MODEL_FROM_DATABASE=Genius iLook 1321 V2 -+ -+usb:v0458p7066* -+ ID_MODEL_FROM_DATABASE=Acer Crystal Eye Webcam -+ -+usb:v0458p7067* -+ ID_MODEL_FROM_DATABASE=Genius iSlim 1300AF V2 -+ -+usb:v0458p7068* -+ ID_MODEL_FROM_DATABASE=Genius eFace 1325R -+ -+usb:v0458p706D* -+ ID_MODEL_FROM_DATABASE=Genius iSlim 2000AF V2 -+ -+usb:v0458p7076* -+ ID_MODEL_FROM_DATABASE=Genius FaceCam 312 -+ - usb:v0458p7079* - ID_MODEL_FROM_DATABASE=FaceCam 2025R - -@@ -5609,6 +5678,12 @@ usb:v0458p707F* - usb:v0458p7088* - ID_MODEL_FROM_DATABASE=WideCam 1050 - -+usb:v0458p7089* -+ ID_MODEL_FROM_DATABASE=Genius FaceCam 320 -+ -+usb:v0458p708C* -+ ID_MODEL_FROM_DATABASE=Genius WideCam F100 -+ - usb:v0459* - ID_VENDOR_FROM_DATABASE=Adobe Systems, Inc. - -@@ -6017,6 +6092,15 @@ usb:v045Ep02B0* - usb:v045Ep02B6* - ID_MODEL_FROM_DATABASE=Xbox 360 / Bluetooth Wireless Headset - -+usb:v045Ep02BE* -+ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Audio -+ -+usb:v045Ep02BF* -+ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Camera -+ -+usb:v045Ep02C2* -+ ID_MODEL_FROM_DATABASE=Kinect for Windows NUI Motor -+ - usb:v045Ep0400* - ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002 - -@@ -6866,6 +6950,9 @@ usb:v046Dp0830* - usb:v046Dp0840* - ID_MODEL_FROM_DATABASE=QuickCam Express - -+usb:v046Dp0843* -+ ID_MODEL_FROM_DATABASE=Webcam C930e -+ - usb:v046Dp0850* - ID_MODEL_FROM_DATABASE=QuickCam Web - -@@ -7169,6 +7256,12 @@ usb:v046Dp0A1F* - usb:v046Dp0A29* - ID_MODEL_FROM_DATABASE=H600 [Wireless Headset] - -+usb:v046Dp0A38* -+ ID_MODEL_FROM_DATABASE=Headset H340 -+ -+usb:v046Dp0A4D* -+ ID_MODEL_FROM_DATABASE=G430 Surround Sound Gaming Headset -+ - usb:v046Dp0B02* - ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode) - -@@ -7650,7 +7743,7 @@ usb:v046DpC31B* - ID_MODEL_FROM_DATABASE=Compact Keyboard K300 - - usb:v046DpC31C* -- ID_MODEL_FROM_DATABASE=Keyboard K120 for Business -+ ID_MODEL_FROM_DATABASE=Keyboard K120 - - usb:v046DpC31D* - ID_MODEL_FROM_DATABASE=Media Keyboard K200 -@@ -7751,6 +7844,9 @@ usb:v046DpC529* - usb:v046DpC52B* - ID_MODEL_FROM_DATABASE=Unifying Receiver - -+usb:v046DpC52D* -+ ID_MODEL_FROM_DATABASE=R700 Remote Presenter receiver -+ - usb:v046DpC52E* - ID_MODEL_FROM_DATABASE=MK260 Wireless Combo Receiver - -@@ -7760,6 +7856,18 @@ usb:v046DpC52F* - usb:v046DpC532* - ID_MODEL_FROM_DATABASE=Unifying Receiver - -+usb:v046DpC603* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT -+ -+usb:v046DpC605* -+ ID_MODEL_FROM_DATABASE=3Dconnexion CADman -+ -+usb:v046DpC606* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Classic -+ -+usb:v046DpC621* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Spaceball 5000 -+ - usb:v046DpC623* - ID_MODEL_FROM_DATABASE=3Dconnexion Space Traveller 3D Mouse - -@@ -7772,9 +7880,18 @@ usb:v046DpC626* - usb:v046DpC627* - ID_MODEL_FROM_DATABASE=3Dconnexion Space Explorer 3D Mouse - -+usb:v046DpC628* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Navigator for Notebooks -+ - usb:v046DpC629* - ID_MODEL_FROM_DATABASE=3Dconnexion SpacePilot Pro 3D Mouse - -+usb:v046DpC62B* -+ ID_MODEL_FROM_DATABASE=3Dconnexion Space Mouse Pro -+ -+usb:v046DpC640* -+ ID_MODEL_FROM_DATABASE=NuLOOQ navigator -+ - usb:v046DpC702* - ID_MODEL_FROM_DATABASE=Cordless Presenter - -@@ -8609,6 +8726,9 @@ usb:v0480p0011* - usb:v0480p0014* - ID_MODEL_FROM_DATABASE=InTouch Module - -+usb:v0480p0100* -+ ID_MODEL_FROM_DATABASE=Stor.E Slim USB 3.0 -+ - usb:v0480pA006* - ID_MODEL_FROM_DATABASE=External Disk 1.5TB - -@@ -10043,6 +10163,9 @@ usb:v04A9p2225* - usb:v04A9p2228* - ID_MODEL_FROM_DATABASE=CanoScan 4400F - -+usb:v04A9p2229* -+ ID_MODEL_FROM_DATABASE=CanoScan 8600F -+ - usb:v04A9p2602* - ID_MODEL_FROM_DATABASE=MultiPASS C555 - -@@ -10988,6 +11111,9 @@ usb:v04A9p3233* - usb:v04A9p3234* - ID_MODEL_FROM_DATABASE=PowerShot SX150 IS - -+usb:v04A9p3235* -+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 510 HS / IXUS 1100 HS -+ - usb:v04A9p3236* - ID_MODEL_FROM_DATABASE=PowerShot S100 - -@@ -11057,12 +11183,18 @@ usb:v04A9p325B* - usb:v04A9p325C* - ID_MODEL_FROM_DATABASE=PowerShot SX500 IS - -+usb:v04A9p325E* -+ ID_MODEL_FROM_DATABASE=PowerShot N -+ - usb:v04A9p325F* - ID_MODEL_FROM_DATABASE=PowerShot SX280 HS - - usb:v04A9p3260* - ID_MODEL_FROM_DATABASE=PowerShot SX270 HS - -+usb:v04A9p3261* -+ ID_MODEL_FROM_DATABASE=PowerShot A3500 IS -+ - usb:v04A9p3262* - ID_MODEL_FROM_DATABASE=PowerShot A2600 - -@@ -11087,6 +11219,15 @@ usb:v04A9p3277* - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -+usb:v04A9p3288* -+ ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 -+ -+usb:v04A9p3289* -+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 340 HS / IXUS 265 HS -+ -+usb:v04A9p328A* -+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 150 IS / IXUS 155 -+ - usb:v04AA* - ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd - -@@ -11471,6 +11612,9 @@ usb:v04B4p2050* - usb:v04B4p2830* - ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) - -+usb:v04B4p4235* -+ ID_MODEL_FROM_DATABASE=Monitor 02 Driver -+ - usb:v04B4p4381* - ID_MODEL_FROM_DATABASE=SCAPS USC-1 Scanner Controller - -@@ -12407,6 +12551,9 @@ usb:v04C5p10AE* - usb:v04C5p10AF* - ID_MODEL_FROM_DATABASE=fi-4220C2 - -+usb:v04C5p10C7* -+ ID_MODEL_FROM_DATABASE=fi-60f scanner -+ - usb:v04C5p10E0* - ID_MODEL_FROM_DATABASE=fi-5120c Scanner - -@@ -12981,7 +13128,7 @@ usb:v04D9p2519* - ID_MODEL_FROM_DATABASE=Shenzhen LogoTech 2.4GHz receiver - - usb:v04D9p2832* -- ID_MODEL_FROM_DATABASE=1channel Telephone line recorder -+ ID_MODEL_FROM_DATABASE=HT82A832R Audio MCU - - usb:v04D9p2834* - ID_MODEL_FROM_DATABASE=HT82A834R Audio MCU -@@ -13070,6 +13217,9 @@ usb:v04DAp2374* - usb:v04DAp2451* - ID_MODEL_FROM_DATABASE=HDC-SD9 - -+usb:v04DAp245B* -+ ID_MODEL_FROM_DATABASE=HC-X920K (3MOS Full HD video camcorder) -+ - usb:v04DAp2497* - ID_MODEL_FROM_DATABASE=HDC-TM700 - -@@ -13535,6 +13685,9 @@ usb:v04E8p1006* - usb:v04E8p130C* - ID_MODEL_FROM_DATABASE=NX100 - -+usb:v04E8p1F05* -+ ID_MODEL_FROM_DATABASE=S2 Portable [JMicron] (500GB) -+ - usb:v04E8p1F06* - ID_MODEL_FROM_DATABASE=HX-MU064DA portable harddisk - -@@ -13670,6 +13823,9 @@ usb:v04E8p3310* - usb:v04E8p3315* - ID_MODEL_FROM_DATABASE=ML-2540 Series Laser Printer - -+usb:v04E8p331E* -+ ID_MODEL_FROM_DATABASE=M262x/M282x Xpress Series Laser Printer -+ - usb:v04E8p3409* - ID_MODEL_FROM_DATABASE=SCX-4216F Scanner - -@@ -13718,6 +13874,9 @@ usb:v04E8p3420* - usb:v04E8p3426* - ID_MODEL_FROM_DATABASE=SCX-4500 Laser Printer - -+usb:v04E8p342D* -+ ID_MODEL_FROM_DATABASE=SCX-4x28 Series -+ - usb:v04E8p344F* - ID_MODEL_FROM_DATABASE=SCX-3400 Series - -@@ -14058,7 +14217,7 @@ usb:v04E8p685B* - ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (mass storage mode) - - usb:v04E8p685C* -- ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] -+ ID_MODEL_FROM_DATABASE=GT-I9250 Phone [Galaxy Nexus] (Mass storage mode) - - usb:v04E8p685D* - ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II] (Download mode) -@@ -14067,7 +14226,10 @@ usb:v04E8p685E* - ID_MODEL_FROM_DATABASE=GT-I9100 / GT-C3350 Phones (USB Debugging mode) - - usb:v04E8p6860* -- ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] -+ ID_MODEL_FROM_DATABASE=GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] , GT-I9500 [Galaxy S 4] -+ -+usb:v04E8p6863* -+ ID_MODEL_FROM_DATABASE=GT-I9500 [Galaxy S4] / GT-I9250 [Galaxy Nexus] (network tethering) - - usb:v04E8p6865* - ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode) -@@ -14075,6 +14237,9 @@ usb:v04E8p6865* - usb:v04E8p6866* - ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode) - -+usb:v04E8p6868* -+ ID_MODEL_FROM_DATABASE=Escape Composite driver for Android Phones: Modem+Diagnostic+ADB -+ - usb:v04E8p6875* - ID_MODEL_FROM_DATABASE=GT-B3710 Standalone LTE device (Commercial) - -@@ -14342,6 +14507,12 @@ usb:v04F2pB057* - usb:v04F2pB059* - ID_MODEL_FROM_DATABASE=CKF7037 HP webcam - -+usb:v04F2pB064* -+ ID_MODEL_FROM_DATABASE=CNA7137 Integrated Webcam -+ -+usb:v04F2pB070* -+ ID_MODEL_FROM_DATABASE=Camera -+ - usb:v04F2pB071* - ID_MODEL_FROM_DATABASE=2.0M UVC Webcam / CNF7129 - -@@ -14411,6 +14582,9 @@ usb:v04F2pB2B0* - usb:v04F2pB2B9* - ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera UVC - -+usb:v04F2pB2DA* -+ ID_MODEL_FROM_DATABASE=thinkpad t430s camera -+ - usb:v04F2pB2EA* - ID_MODEL_FROM_DATABASE=Integrated Camera [ThinkPad] - -@@ -14420,6 +14594,9 @@ usb:v04F2pB330* - usb:v04F2pB354* - ID_MODEL_FROM_DATABASE=UVC 1.00 device HD UVC WebCam - -+usb:v04F2pB394* -+ ID_MODEL_FROM_DATABASE=Integrated Camera -+ - usb:v04F3* - ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp. - -@@ -15038,6 +15215,9 @@ usb:v04F9p01EB* - usb:v04F9p01F4* - ID_MODEL_FROM_DATABASE=MFC-5890CN - -+usb:v04F9p0217* -+ ID_MODEL_FROM_DATABASE=MFC-8480DN -+ - usb:v04F9p0223* - ID_MODEL_FROM_DATABASE=DCP-365CN - -@@ -15158,9 +15338,15 @@ usb:v04FCp5331* - usb:v04FCp5360* - ID_MODEL_FROM_DATABASE=Sunplus Generic Digital Camera - -+usb:v04FCp5563* -+ ID_MODEL_FROM_DATABASE=Digital Media Player MP3/WMA [The Sharper Image] -+ - usb:v04FCp5720* - ID_MODEL_FROM_DATABASE=Card Reader Driver - -+usb:v04FCp6333* -+ ID_MODEL_FROM_DATABASE=Siri A9 UVC chipset -+ - usb:v04FCp7333* - ID_MODEL_FROM_DATABASE=Finet Technology Palmpix DC-85 - -@@ -15239,6 +15425,18 @@ usb:v0502p3325* - usb:v0502p3341* - ID_MODEL_FROM_DATABASE=Iconia tablet A500 - -+usb:v0502p33C3* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 -+ -+usb:v0502p33C4* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode) -+ -+usb:v0502p33C7* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (USB tethering) -+ -+usb:v0502p33C8* -+ ID_MODEL_FROM_DATABASE=Liquid Gallant Duo E350 (debug mode, USB tethering) -+ - usb:v0502pD001* - ID_MODEL_FROM_DATABASE=Divio NW801/DVC-V6+ Digital Camera - -@@ -15446,6 +15644,9 @@ usb:v050Dp0416* - usb:v050Dp0551* - ID_MODEL_FROM_DATABASE=F6C550-AVR UPS - -+usb:v050Dp065A* -+ ID_MODEL_FROM_DATABASE=F8T065BF Mini Bluetooth 4.0 Adapter -+ - usb:v050Dp0706* - ID_MODEL_FROM_DATABASE=2-N-1 7-Port Hub (Lower half) - -@@ -15497,6 +15698,9 @@ usb:v050Dp2103* - usb:v050Dp21F1* - ID_MODEL_FROM_DATABASE=N300 WLAN N Adapter [ISY] - -+usb:v050Dp21F2* -+ ID_MODEL_FROM_DATABASE=RTL8192CU 802.11n WLAN Adapter [ISY IWL 4000] -+ - usb:v050Dp258A* - ID_MODEL_FROM_DATABASE=F5U258 Host to Host cable - -@@ -15728,6 +15932,9 @@ usb:v0525p1200* - usb:v0525p1265* - ID_MODEL_FROM_DATABASE=File-backed Storage Gadget - -+usb:v0525p3424* -+ ID_MODEL_FROM_DATABASE=Lumidigm Venus fingerprint sensor -+ - usb:v0525pA0F0* - ID_MODEL_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2 - -@@ -16655,6 +16862,9 @@ usb:v054Cp035B* - usb:v054Cp035C* - ID_MODEL_FROM_DATABASE=NWZ-A726/A728/A729 - -+usb:v054Cp035F* -+ ID_MODEL_FROM_DATABASE=UP-DR200 Photo Printer -+ - usb:v054Cp0382* - ID_MODEL_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1) - -@@ -16694,9 +16904,18 @@ usb:v054Cp0485* - usb:v054Cp04CB* - ID_MODEL_FROM_DATABASE=WALKMAN NWZ-E354 - -+usb:v054Cp0541* -+ ID_MODEL_FROM_DATABASE=DSC-HX100V [Cybershot Digital Still Camera] -+ -+usb:v054Cp0689* -+ ID_MODEL_FROM_DATABASE=Walkman NWZ-B173F -+ - usb:v054Cp06BB* - ID_MODEL_FROM_DATABASE=WALKMAN NWZ-F805 - -+usb:v054Cp088C* -+ ID_MODEL_FROM_DATABASE=Portable Headphone Amplifier -+ - usb:v054Cp1000* - ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver - -@@ -16721,6 +16940,12 @@ usb:v0550p0004* - usb:v0550p0005* - ID_MODEL_FROM_DATABASE=InkJet Color Printer - -+usb:v0550p000B* -+ ID_MODEL_FROM_DATABASE=Workcentre 24 -+ -+usb:v0550p014E* -+ ID_MODEL_FROM_DATABASE=CM215b Printer -+ - usb:v0551* - ID_VENDOR_FROM_DATABASE=CompuTrend Systems, Inc. - -@@ -17306,6 +17531,9 @@ usb:v056Ap0069* - usb:v056Ap0081* - ID_MODEL_FROM_DATABASE=Graphire Wireless 6x8 - -+usb:v056Ap0084* -+ ID_MODEL_FROM_DATABASE=Wireless adapter for Bamboo tablets -+ - usb:v056Ap0090* - ID_MODEL_FROM_DATABASE=TPC90 - -@@ -17372,6 +17600,9 @@ usb:v056Ap00D1* - usb:v056Ap00D3* - ID_MODEL_FROM_DATABASE=Bamboo Fun (CTH-661) - -+usb:v056Ap00D4* -+ ID_MODEL_FROM_DATABASE=Bamboo Pen (CTL-460) -+ - usb:v056Ap00D6* - ID_MODEL_FROM_DATABASE=Bamboo Pen & Touch (CTH-460) - -@@ -17390,6 +17621,12 @@ usb:v056Ap00F6* - usb:v056Ap00F8* - ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet - -+usb:v056Ap0307* -+ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) tablet -+ -+usb:v056Ap0309* -+ ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) touchscreen -+ - usb:v056Ap0400* - ID_MODEL_FROM_DATABASE=PenPartner 4x5 - -@@ -18719,6 +18956,9 @@ usb:v0586p341E* - usb:v0586p341F* - ID_MODEL_FROM_DATABASE=NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU] - -+usb:v0586p3425* -+ ID_MODEL_FROM_DATABASE=NWD6505 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] -+ - usb:v0586p343E* - ID_MODEL_FROM_DATABASE=N220 802.11bgn Wireless Adapter - -@@ -18737,9 +18977,15 @@ usb:v058A* - usb:v058B* - ID_VENDOR_FROM_DATABASE=Infineon Technologies - -+usb:v058Bp0015* -+ ID_MODEL_FROM_DATABASE=Flash Loader utility -+ - usb:v058Bp001C* - ID_MODEL_FROM_DATABASE=Flash Drive - -+usb:v058Bp0041* -+ ID_MODEL_FROM_DATABASE=Flash Loader utility -+ - usb:v058C* - ID_VENDOR_FROM_DATABASE=In Focus Systems - -@@ -18855,7 +19101,7 @@ usb:v058Fp6366* - ID_MODEL_FROM_DATABASE=Multi Flash Reader - - usb:v058Fp6377* -- ID_MODEL_FROM_DATABASE=Multimedia Card Reader -+ ID_MODEL_FROM_DATABASE=AU6375 4-LUN card reader - - usb:v058Fp6386* - ID_MODEL_FROM_DATABASE=Memory Card -@@ -18926,12 +19172,18 @@ usb:v058Fp9510* - usb:v058Fp9520* - ID_MODEL_FROM_DATABASE=EMV Certified Smart Card Reader - -+usb:v058Fp9540* -+ ID_MODEL_FROM_DATABASE=AU9540 Smartcard Reader -+ - usb:v058Fp9720* - ID_MODEL_FROM_DATABASE=USB-Serial Adapter - - usb:v058FpA014* - ID_MODEL_FROM_DATABASE=Asus Integrated Webcam - -+usb:v058FpB002* -+ ID_MODEL_FROM_DATABASE=Acer Integrated Webcam -+ - usb:v0590* - ID_VENDOR_FROM_DATABASE=Omron Corp. - -@@ -18983,6 +19235,9 @@ usb:v0596p0002* - usb:v0596p0500* - ID_MODEL_FROM_DATABASE=PCT Multitouch HID Controller - -+usb:v0596p0543* -+ ID_MODEL_FROM_DATABASE=DELL XPS touchscreen -+ - usb:v0597* - ID_VENDOR_FROM_DATABASE=Trisignal Communications - -@@ -19055,6 +19310,9 @@ usb:v059Bp0061* - usb:v059Bp006D* - ID_MODEL_FROM_DATABASE=HipZip MP3 Player - -+usb:v059Bp0070* -+ ID_MODEL_FROM_DATABASE=eGo Portable Hard Drive -+ - usb:v059Bp007C* - ID_MODEL_FROM_DATABASE=Ultra Max USB/1394 - -@@ -19163,9 +19421,15 @@ usb:v059Fp0323* - usb:v059Fp0421* - ID_MODEL_FROM_DATABASE=Big Disk G465 - -+usb:v059Fp0525* -+ ID_MODEL_FROM_DATABASE=BigDisk Extreme 500 -+ - usb:v059Fp0641* - ID_MODEL_FROM_DATABASE=Mobile Hard Drive - -+usb:v059Fp0829* -+ ID_MODEL_FROM_DATABASE=BigDisk Extreme+ -+ - usb:v059Fp100C* - ID_MODEL_FROM_DATABASE=Rugged Triple Interface Mobile Hard Drive - -@@ -19190,6 +19454,9 @@ usb:v059Fp1049* - usb:v059Fp1052* - ID_MODEL_FROM_DATABASE=P'9220 Mobile Drive - -+usb:v059Fp1064* -+ ID_MODEL_FROM_DATABASE=Rugged 16 and 32 GB -+ - usb:v059FpA601* - ID_MODEL_FROM_DATABASE=HardDrive - -@@ -19464,7 +19731,7 @@ usb:v05ACp0225* - ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (JIS) - - usb:v05ACp0229* -- ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ANSI) -+ ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (ANSI) - - usb:v05ACp022A* - ID_MODEL_FROM_DATABASE=Internal Keyboard/Trackpad (MacBook Pro) (ISO) -@@ -19545,7 +19812,7 @@ usb:v05ACp0302* - ID_MODEL_FROM_DATABASE=Optical Mouse [Fujitsu] - - usb:v05ACp0304* -- ID_MODEL_FROM_DATABASE=Optical USB Mouse [Mitsumi] -+ ID_MODEL_FROM_DATABASE=Mighty Mouse [Mitsumi, M1152] - - usb:v05ACp0306* - ID_MODEL_FROM_DATABASE=Optical USB Mouse [Fujitsu] -@@ -19577,6 +19844,9 @@ usb:v05ACp1003* - usb:v05ACp1006* - ID_MODEL_FROM_DATABASE=Hub in Aluminum Keyboard - -+usb:v05ACp1008* -+ ID_MODEL_FROM_DATABASE=Mini DisplayPort to Dual-Link DVI Adapter -+ - usb:v05ACp1101* - ID_MODEL_FROM_DATABASE=Speakers - -@@ -19670,6 +19940,9 @@ usb:v05ACp1265* - usb:v05ACp1266* - ID_MODEL_FROM_DATABASE=iPod Nano 6.Gen - -+usb:v05ACp1267* -+ ID_MODEL_FROM_DATABASE=iPod Nano 7.Gen -+ - usb:v05ACp1281* - ID_MODEL_FROM_DATABASE=Apple Mobile Device [Recovery Mode] - -@@ -19700,6 +19973,9 @@ usb:v05ACp1299* - usb:v05ACp129A* - ID_MODEL_FROM_DATABASE=iPad - -+usb:v05ACp129C* -+ ID_MODEL_FROM_DATABASE=iPhone 4(CDMA) -+ - usb:v05ACp129E* - ID_MODEL_FROM_DATABASE=iPod Touch 4.Gen - -@@ -19712,15 +19988,30 @@ usb:v05ACp12A0* - usb:v05ACp12A2* - ID_MODEL_FROM_DATABASE=iPad 2 (3G; 64GB) - -+usb:v05ACp12A3* -+ ID_MODEL_FROM_DATABASE=iPad 2 (CDMA) -+ -+usb:v05ACp12A4* -+ ID_MODEL_FROM_DATABASE=iPad 3 (wifi) -+ -+usb:v05ACp12A5* -+ ID_MODEL_FROM_DATABASE=iPad 3 (CDMA) -+ - usb:v05ACp12A6* - ID_MODEL_FROM_DATABASE=iPad 3 (3G, 16 GB) - -+usb:v05ACp12A8* -+ ID_MODEL_FROM_DATABASE=iPhone5/5C/5S -+ - usb:v05ACp12A9* - ID_MODEL_FROM_DATABASE=iPad 2 - - usb:v05ACp12AA* - ID_MODEL_FROM_DATABASE=iPod Touch 5.Gen [A1421] - -+usb:v05ACp12AB* -+ ID_MODEL_FROM_DATABASE=iPad 4 (WiFi, 32GB) -+ - usb:v05ACp1300* - ID_MODEL_FROM_DATABASE=iPod Shuffle - -@@ -19742,6 +20033,15 @@ usb:v05ACp1402* - usb:v05ACp1500* - ID_MODEL_FROM_DATABASE=SuperDrive [A1379] - -+usb:v05ACp8005* -+ ID_MODEL_FROM_DATABASE=OHCI Root Hub Simulation -+ -+usb:v05ACp8006* -+ ID_MODEL_FROM_DATABASE=EHCI Root Hub Simulation -+ -+usb:v05ACp8007* -+ ID_MODEL_FROM_DATABASE=XHCI Root Hub USB 2.0 Simulation -+ - usb:v05ACp8202* - ID_MODEL_FROM_DATABASE=HCF V.90 Data/Fax Modem - -@@ -19838,6 +20138,9 @@ usb:v05ACp8510* - usb:v05ACp911C* - ID_MODEL_FROM_DATABASE=Hub in A1082 [Cinema HD Display 23"] - -+usb:v05ACp9127* -+ ID_MODEL_FROM_DATABASE=Hub in Thunderbolt Display -+ - usb:v05ACp912F* - ID_MODEL_FROM_DATABASE=Hub in 30" Cinema Display - -@@ -20042,6 +20345,9 @@ usb:v05C6p9202* - usb:v05C6p9203* - ID_MODEL_FROM_DATABASE=Gobi Wireless Modem - -+usb:v05C6p9205* -+ ID_MODEL_FROM_DATABASE=Gobi 2000 -+ - usb:v05C6p9211* - ID_MODEL_FROM_DATABASE=Acer Gobi Wireless Modem (QDL mode) - -@@ -20123,9 +20429,18 @@ usb:v05C8p021A* - usb:v05C8p0318* - ID_MODEL_FROM_DATABASE=Webcam - -+usb:v05C8p0361* -+ ID_MODEL_FROM_DATABASE=SunplusIT INC. HP Truevision HD Webcam -+ -+usb:v05C8p036E* -+ ID_MODEL_FROM_DATABASE=Webcam -+ - usb:v05C8p0403* - ID_MODEL_FROM_DATABASE=Webcam - -+usb:v05C8p041B* -+ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam -+ - usb:v05C9* - ID_VENDOR_FROM_DATABASE=Semtech Corp. - -@@ -20861,6 +21176,9 @@ usb:v05DCp4D12* - usb:v05DCp4D30* - ID_MODEL_FROM_DATABASE=MP3 Player - -+usb:v05DCpA209* -+ ID_MODEL_FROM_DATABASE=JumpDrive S70 -+ - usb:v05DCpA300* - ID_MODEL_FROM_DATABASE=JumpDrive2 - -@@ -20921,6 +21239,9 @@ usb:v05DCpA701* - usb:v05DCpA731* - ID_MODEL_FROM_DATABASE=JumpDrive FireFly - -+usb:v05DCpA768* -+ ID_MODEL_FROM_DATABASE=JumpDrive Retrax -+ - usb:v05DCpA790* - ID_MODEL_FROM_DATABASE=JumpDrive 2GB - -@@ -20930,6 +21251,9 @@ usb:v05DCpA811* - usb:v05DCpA813* - ID_MODEL_FROM_DATABASE=16gB flash thumb drive - -+usb:v05DCpA815* -+ ID_MODEL_FROM_DATABASE=JumpDrive V10 -+ - usb:v05DCpB002* - ID_MODEL_FROM_DATABASE=USB CF Reader - -@@ -20939,6 +21263,9 @@ usb:v05DCpB018* - usb:v05DCpB047* - ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000] - -+usb:v05DCpBA02* -+ ID_MODEL_FROM_DATABASE=Workflow CFR1 -+ - usb:v05DCpC753* - ID_MODEL_FROM_DATABASE=JumpDrive TwistTurn - -@@ -21084,7 +21411,7 @@ usb:v05E3p0607* - ID_MODEL_FROM_DATABASE=Logitech G110 Hub - - usb:v05E3p0608* -- ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB -+ ID_MODEL_FROM_DATABASE=Hub - - usb:v05E3p0610* - ID_MODEL_FROM_DATABASE=4-port hub -@@ -21158,6 +21485,9 @@ usb:v05E3p0718* - usb:v05E3p0719* - ID_MODEL_FROM_DATABASE=SATA adapter - -+usb:v05E3p0722* -+ ID_MODEL_FROM_DATABASE=SD/MMC card reader -+ - usb:v05E3p0723* - ID_MODEL_FROM_DATABASE=GL827L SD/MMC/MS Flash Card Reader - -@@ -21170,9 +21500,18 @@ usb:v05E3p0727* - usb:v05E3p0731* - ID_MODEL_FROM_DATABASE=GL3310 SATA 3Gb/s Bridge Controller - -+usb:v05E3p0732* -+ ID_MODEL_FROM_DATABASE=All-in-One Cardreader -+ - usb:v05E3p0736* - ID_MODEL_FROM_DATABASE=microSD Reader/Writer - -+usb:v05E3p0741* -+ ID_MODEL_FROM_DATABASE=microSD Card Reader -+ -+usb:v05E3p0743* -+ ID_MODEL_FROM_DATABASE=SDXC and microSDXC CardReader -+ - usb:v05E3p0760* - ID_MODEL_FROM_DATABASE=USB 2.0 Card Reader/Writer - -@@ -21296,6 +21635,9 @@ usb:v05F3p0081* - usb:v05F3p00FF* - ID_MODEL_FROM_DATABASE=VEC Footpedal - -+usb:v05F3p0203* -+ ID_MODEL_FROM_DATABASE=Y-mouse Keyboard & Mouse Adapter -+ - usb:v05F3p020B* - ID_MODEL_FROM_DATABASE=PS2 Adapter - -@@ -21410,6 +21752,9 @@ usb:v05FEp0014* - usb:v05FEp1010* - ID_MODEL_FROM_DATABASE=Optical Wireless - -+usb:v05FEp2001* -+ ID_MODEL_FROM_DATABASE=Microsoft Wireless Receiver 700 -+ - usb:v05FF* - ID_VENDOR_FROM_DATABASE=LeCroy Corp. - -@@ -21434,6 +21779,9 @@ usb:v0603* - usb:v0603p00F1* - ID_MODEL_FROM_DATABASE=Keyboard - -+usb:v0603p00F2* -+ ID_MODEL_FROM_DATABASE=Keyboard (Labtec Ultra Flat Keyboard) -+ - usb:v0603p6871* - ID_MODEL_FROM_DATABASE=Mouse - -@@ -21491,6 +21839,9 @@ usb:v060Bp2231* - usb:v060Bp2270* - ID_MODEL_FROM_DATABASE=Gigabyte K8100 Aivia Gaming Keyboard - -+usb:v060Bp5253* -+ ID_MODEL_FROM_DATABASE=Thermaltake MEKA G-Unit Gaming Keyboard -+ - usb:v060Bp5811* - ID_MODEL_FROM_DATABASE=ACK-571U Wireless Keyboard - -@@ -21911,6 +22262,9 @@ usb:v064EpA110* - usb:v064EpA114* - ID_MODEL_FROM_DATABASE=Lemote Webcam - -+usb:v064EpA116* -+ ID_MODEL_FROM_DATABASE=UVC 1.3MPixel WebCam -+ - usb:v064EpA136* - ID_MODEL_FROM_DATABASE=Asus Integrated Webcam [CN031B] - -@@ -22893,7 +23247,7 @@ usb:v068Ep00F4* - ID_MODEL_FROM_DATABASE=Combatstick - - usb:v068Ep00FA* -- ID_MODEL_FROM_DATABASE=Flight Sim Pedals -+ ID_MODEL_FROM_DATABASE=Ch Throttle Quadrant - - usb:v068Ep00FF* - ID_MODEL_FROM_DATABASE=Flight Sim Yoke -@@ -22955,6 +23309,9 @@ usb:v0698p9999* - usb:v0699* - ID_VENDOR_FROM_DATABASE=Tektronix, Inc. - -+usb:v0699p0347* -+ ID_MODEL_FROM_DATABASE=AFG 3022B -+ - usb:v069A* - ID_VENDOR_FROM_DATABASE=Askey Computer Corp. - -@@ -23486,6 +23843,9 @@ usb:v06C2* - usb:v06C2p0030* - ID_MODEL_FROM_DATABASE=PhidgetRFID - -+usb:v06C2p0031* -+ ID_MODEL_FROM_DATABASE=RFID reader -+ - usb:v06C2p0038* - ID_MODEL_FROM_DATABASE=4-Motor PhidgetServo v3.0 - -@@ -23789,6 +24149,12 @@ usb:v06D3p0394* - usb:v06D3p03A1* - ID_MODEL_FROM_DATABASE=CP9550D/DW Port - -+usb:v06D3p3B30* -+ ID_MODEL_FROM_DATABASE=CP-D70DW / CP-D707DW -+ -+usb:v06D3p3B31* -+ ID_MODEL_FROM_DATABASE=CP-K60DW-S -+ - usb:v06D4* - ID_VENDOR_FROM_DATABASE=Cisco Systems - -@@ -24575,6 +24941,9 @@ usb:v072Fp1000* - usb:v072Fp1001* - ID_MODEL_FROM_DATABASE=PLDT Drive - -+usb:v072Fp2200* -+ ID_MODEL_FROM_DATABASE=ACR122U -+ - usb:v072Fp8002* - ID_MODEL_FROM_DATABASE=AET63 BioTRUSTKey - -@@ -25046,6 +25415,12 @@ usb:v0765* - usb:v0765p5001* - ID_MODEL_FROM_DATABASE=Huey PRO Colorimeter - -+usb:v0765p5020* -+ ID_MODEL_FROM_DATABASE=i1 Display Pro -+ -+usb:v0765p6003* -+ ID_MODEL_FROM_DATABASE=ColorMunki Smile -+ - usb:v0765pD094* - ID_MODEL_FROM_DATABASE=X-Rite DTP94 [Quato Silver Haze Pro] - -@@ -25325,12 +25700,24 @@ usb:v0781p5530* - usb:v0781p5567* - ID_MODEL_FROM_DATABASE=Cruzer Blade - -+usb:v0781p556C* -+ ID_MODEL_FROM_DATABASE=Ultra -+ -+usb:v0781p556D* -+ ID_MODEL_FROM_DATABASE=Memory Vault -+ - usb:v0781p5571* - ID_MODEL_FROM_DATABASE=Cruzer Fit - -+usb:v0781p5576* -+ ID_MODEL_FROM_DATABASE=Cruzer Facet -+ - usb:v0781p5580* - ID_MODEL_FROM_DATABASE=SDCZ80 Flash Drive - -+usb:v0781p5581* -+ ID_MODEL_FROM_DATABASE=Ultra -+ - usb:v0781p5E10* - ID_MODEL_FROM_DATABASE=Encrypted - -@@ -25830,7 +26217,7 @@ usb:v07AAp001A* - ID_MODEL_FROM_DATABASE=ULUSB-11 Key - - usb:v07AAp001C* -- ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] -+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] - - usb:v07AAp002E* - ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] -@@ -26114,6 +26501,9 @@ usb:v07B4p0114* - usb:v07B4p0118* - ID_MODEL_FROM_DATABASE=Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW - -+usb:v07B4p0125* -+ ID_MODEL_FROM_DATABASE=Tough TG-1 Camera -+ - usb:v07B4p0184* - ID_MODEL_FROM_DATABASE=P-S100 port - -@@ -26441,6 +26831,9 @@ usb:v07C4pA400* - usb:v07C4pA600* - ID_MODEL_FROM_DATABASE=Card Reader - -+usb:v07C4pA604* -+ ID_MODEL_FROM_DATABASE=12-in-1 Card Reader -+ - usb:v07C4pAD01* - ID_MODEL_FROM_DATABASE=Mass Storage Device - -@@ -26474,6 +26867,9 @@ usb:v07C4pC010* - usb:v07C5* - ID_VENDOR_FROM_DATABASE=APG Cash Drawer - -+usb:v07C5p0500* -+ ID_MODEL_FROM_DATABASE=Cash Drawer -+ - usb:v07C6* - ID_VENDOR_FROM_DATABASE=ShareWave, Inc. - -@@ -27140,6 +27536,9 @@ usb:v0803* - usb:v0803p1300* - ID_MODEL_FROM_DATABASE=V92 Faxmodem - -+usb:v0803p3095* -+ ID_MODEL_FROM_DATABASE=V.92 56K Mini External Modem Model 3095 -+ - usb:v0803p4310* - ID_MODEL_FROM_DATABASE=4410a Wireless-G Adapter [Intersil ISL3887] - -@@ -27713,6 +28112,9 @@ usb:v0846p9018* - usb:v0846p9020* - ID_MODEL_FROM_DATABASE=WNA3100(v1) Wireless-N 300 [Broadcom BCM43231] - -+usb:v0846p9021* -+ ID_MODEL_FROM_DATABASE=WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU] -+ - usb:v0846p9030* - ID_MODEL_FROM_DATABASE=WNA1100 Wireless-N 150 [Atheros AR9271] - -@@ -27722,9 +28124,21 @@ usb:v0846p9040* - usb:v0846p9041* - ID_MODEL_FROM_DATABASE=WNA1000M 802.11bgn [Realtek RTL8188CUS] - -+usb:v0846p9042* -+ ID_MODEL_FROM_DATABASE=On Networks N150MA 802.11bgn [Realtek RTL8188CUS] -+ -+usb:v0846p9050* -+ ID_MODEL_FROM_DATABASE=A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] -+ -+usb:v0846p9052* -+ ID_MODEL_FROM_DATABASE=A6100 AC600 DB Wireless Adapter [Realtek RTL8811AU] -+ - usb:v0846pA001* - ID_MODEL_FROM_DATABASE=PA101 10 Mbps HPNA Home Phoneline RJ-1 - -+usb:v0846pF001* -+ ID_MODEL_FROM_DATABASE=On Networks N300MA 802.11bgn [Realtek RTL8192CU] -+ - usb:v084D* - ID_VENDOR_FROM_DATABASE=Minton Optic Industry Co., Inc. - -@@ -27875,8 +28289,17 @@ usb:v085Ap8027* - usb:v085C* - ID_VENDOR_FROM_DATABASE=ColorVision, Inc. - -+usb:v085Cp0100* -+ ID_MODEL_FROM_DATABASE=Spyder 1 -+ - usb:v085Cp0200* -- ID_MODEL_FROM_DATABASE=Monitor Spyder -+ ID_MODEL_FROM_DATABASE=Spyder 2 -+ -+usb:v085Cp0300* -+ ID_MODEL_FROM_DATABASE=Spyder 3 -+ -+usb:v085Cp0400* -+ ID_MODEL_FROM_DATABASE=Spyder 4 - - usb:v0862* - ID_VENDOR_FROM_DATABASE=Teletrol Systems, Inc. -@@ -28127,6 +28550,12 @@ usb:v0892* - usb:v0892p0101* - ID_MODEL_FROM_DATABASE=Smartdio Reader/Writer - -+usb:v0894* -+ ID_VENDOR_FROM_DATABASE=TSI Incorporated -+ -+usb:v0894p0010* -+ ID_MODEL_FROM_DATABASE=Remote NDIS Network Device -+ - usb:v0897* - ID_VENDOR_FROM_DATABASE=Lauterbach - -@@ -28181,6 +28610,18 @@ usb:v08A9p0015* - usb:v08AE* - ID_VENDOR_FROM_DATABASE=Macally (Mace Group, Inc.) - -+usb:v08B0* -+ ID_VENDOR_FROM_DATABASE=Metrohm -+ -+usb:v08B0p0006* -+ ID_MODEL_FROM_DATABASE=814 Sample Processor -+ -+usb:v08B0p0015* -+ ID_MODEL_FROM_DATABASE=857 Titrando -+ -+usb:v08B0p001A* -+ ID_MODEL_FROM_DATABASE=852 Titrando -+ - usb:v08B4* - ID_VENDOR_FROM_DATABASE=Sorenson Vision, Inc. - -@@ -29036,6 +29477,12 @@ usb:v0906* - usb:v0908* - ID_VENDOR_FROM_DATABASE=Siemens AG - -+usb:v0908p01F4* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET CP 5711 -+ -+usb:v0908p01FE* -+ ID_MODEL_FROM_DATABASE=SIMATIC NET PC Adapter A2 -+ - usb:v0908p2701* - ID_MODEL_FROM_DATABASE=ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA - -@@ -29285,12 +29732,18 @@ usb:v091Ep23CC* - usb:v091Ep2459* - ID_MODEL_FROM_DATABASE=GPSmap 62/78 series - -+usb:v091Ep2491* -+ ID_MODEL_FROM_DATABASE=Edge 800 -+ - usb:v091Ep2519* - ID_MODEL_FROM_DATABASE=eTrex 30 - - usb:v091Ep2535* - ID_MODEL_FROM_DATABASE=Edge 800 - -+usb:v091Ep253C* -+ ID_MODEL_FROM_DATABASE=GPSmap 62sc -+ - usb:v091Ep255B* - ID_MODEL_FROM_DATABASE=Nuvi 2505LM - -@@ -29315,12 +29768,18 @@ usb:v0922p0007* - usb:v0922p0009* - ID_MODEL_FROM_DATABASE=LabelWriter 310 - -+usb:v0922p0019* -+ ID_MODEL_FROM_DATABASE=LabelWriter 400 -+ - usb:v0922p001A* - ID_MODEL_FROM_DATABASE=LabelWriter 400 Turbo - - usb:v0922p0020* - ID_MODEL_FROM_DATABASE=LabelWriter 450 - -+usb:v0922p1001* -+ ID_MODEL_FROM_DATABASE=LabelManager PnP -+ - usb:v0923* - ID_VENDOR_FROM_DATABASE=IC Media Corp. - -@@ -29363,6 +29822,9 @@ usb:v0925* - usb:v0925p0005* - ID_MODEL_FROM_DATABASE=Gamtec.,Ltd SmartJoy PLUS Adapter - -+usb:v0925p03E8* -+ ID_MODEL_FROM_DATABASE=Wii Classic Controller Adapter -+ - usb:v0925p3881* - ID_MODEL_FROM_DATABASE=Saleae Logic - -@@ -29417,6 +29879,9 @@ usb:v0930p000C* - usb:v0930p0010* - ID_MODEL_FROM_DATABASE=Gigabeat S (mtp) - -+usb:v0930p0200* -+ ID_MODEL_FROM_DATABASE=Integrated Bluetooth (Taiyo Yuden) -+ - usb:v0930p0301* - ID_MODEL_FROM_DATABASE=PCX1100U Cable Modem (WDM) - -@@ -29483,6 +29948,9 @@ usb:v0930p070B* - usb:v0930p0A07* - ID_MODEL_FROM_DATABASE=WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572] - -+usb:v0930p0A13* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Toshiba] -+ - usb:v0930p0B05* - ID_MODEL_FROM_DATABASE=PX1220E-1G25 External hard drive - -@@ -29691,7 +30159,7 @@ usb:v0939* - ID_VENDOR_FROM_DATABASE=Lumberg, Inc. - - usb:v0939p0B15* -- ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0) -+ ID_MODEL_FROM_DATABASE=Toshiba Stor.E Alu 2 - - usb:v093A* - ID_VENDOR_FROM_DATABASE=Pixart Imaging, Inc. -@@ -29753,6 +30221,9 @@ usb:v093Ap260F* - usb:v093Ap2621* - ID_MODEL_FROM_DATABASE=PAC731x Trust Webcam - -+usb:v093Ap2622* -+ ID_MODEL_FROM_DATABASE=Webcam Genius -+ - usb:v093Ap2624* - ID_MODEL_FROM_DATABASE=Webcam - -@@ -29951,6 +30422,9 @@ usb:v0951p1653* - usb:v0951p1656* - ID_MODEL_FROM_DATABASE=DataTraveler Ultimate G2 - -+usb:v0951p1665* -+ ID_MODEL_FROM_DATABASE=Digital DataTraveler SE9 64GB -+ - usb:v0951p1689* - ID_MODEL_FROM_DATABASE=DataTraveler SE9 - -@@ -29993,6 +30467,9 @@ usb:v0957p0200* - usb:v0957p0202* - ID_MODEL_FROM_DATABASE=E-Video DC-350 Camera - -+usb:v0957p0407* -+ ID_MODEL_FROM_DATABASE=33220A Waveform Generator -+ - usb:v0957p0518* - ID_MODEL_FROM_DATABASE=82357B GPIB Interface - -@@ -30033,7 +30510,7 @@ usb:v095Dp0001* - ID_MODEL_FROM_DATABASE=Polycom ViaVideo - - usb:v0967* -- ID_VENDOR_FROM_DATABASE=Acer (??) -+ ID_VENDOR_FROM_DATABASE=Acer NeWeb Corp. - - usb:v0967p0204* - ID_MODEL_FROM_DATABASE=WarpLink 802.11b Adapter -@@ -30056,6 +30533,12 @@ usb:v096Ep0807* - usb:v0971* - ID_VENDOR_FROM_DATABASE=Gretag-Macbeth AG - -+usb:v0971p2000* -+ ID_MODEL_FROM_DATABASE=i1 Pro -+ -+usb:v0971p2001* -+ ID_MODEL_FROM_DATABASE=i1 Monitor -+ - usb:v0971p2003* - ID_MODEL_FROM_DATABASE=Eye-One display - -@@ -30063,7 +30546,7 @@ usb:v0971p2005* - ID_MODEL_FROM_DATABASE=Huey - - usb:v0971p2007* -- ID_MODEL_FROM_DATABASE=ColorMunki -+ ID_MODEL_FROM_DATABASE=ColorMunki Photo - - usb:v0973* - ID_VENDOR_FROM_DATABASE=Schlumberger -@@ -30182,6 +30665,9 @@ usb:v099Ap0638* - usb:v099Ap610C* - ID_MODEL_FROM_DATABASE=EL-610 Super Mini Electron luminescent Keyboard - -+usb:v099Ap713A* -+ ID_MODEL_FROM_DATABASE=WK-713 Multimedia Keyboard -+ - usb:v099Ap7160* - ID_MODEL_FROM_DATABASE=Hyper Slim Keyboard - -@@ -30375,7 +30861,10 @@ usb:v09D3* - ID_VENDOR_FROM_DATABASE=Com One - - usb:v09D3p0001* -- ID_MODEL_FROM_DATABASE=ISDN TA -+ ID_MODEL_FROM_DATABASE=ISDN TA / Light Rider 128K -+ -+usb:v09D3p000B* -+ ID_MODEL_FROM_DATABASE=Bluetooth Adapter class 1 [BlueLight] - - usb:v09D7* - ID_VENDOR_FROM_DATABASE=Novatel Wireless -@@ -30596,6 +31085,12 @@ usb:v0A07p00DA* - usb:v0A0B* - ID_VENDOR_FROM_DATABASE=Cybex Computer Products Co. - -+usb:v0A0D* -+ ID_VENDOR_FROM_DATABASE=Servergy, Inc -+ -+usb:v0A0Dp2514* -+ ID_MODEL_FROM_DATABASE=CTS-1000 Internal Hub -+ - usb:v0A11* - ID_VENDOR_FROM_DATABASE=Xentec, Inc. - -@@ -30887,6 +31382,9 @@ usb:v0A48p5024* - usb:v0A48p5025* - ID_MODEL_FROM_DATABASE=Mass Storage Device - -+usb:v0A4A* -+ ID_VENDOR_FROM_DATABASE=Ploytec GmbH -+ - usb:v0A4B* - ID_VENDOR_FROM_DATABASE=Fujitsu Media Devices, Ltd - -@@ -31217,6 +31715,9 @@ usb:v0A5CpBD11* - usb:v0A5CpBD13* - ID_MODEL_FROM_DATABASE=BCM4323 802.11abgn Wireless Adapter - -+usb:v0A5CpBD16* -+ ID_MODEL_FROM_DATABASE=BCM4319 802.11bgn Wireless Adapter -+ - usb:v0A5CpBD17* - ID_MODEL_FROM_DATABASE=BCM43236 802.11abgn Wireless Adapter - -@@ -31775,6 +32276,9 @@ usb:v0AC8pC33F* - usb:v0AC8pC429* - ID_MODEL_FROM_DATABASE=Lenovo ThinkCentre Web Camera - -+usb:v0AC8pC42D* -+ ID_MODEL_FROM_DATABASE=Lenovo IdeaCentre Web Camera -+ - usb:v0AC9* - ID_VENDOR_FROM_DATABASE=Micro Solutions, Inc. - -@@ -31823,6 +32327,9 @@ usb:v0ACDp0630* - usb:v0ACDp0810* - ID_MODEL_FROM_DATABASE=SecurePIN (IDPA-506100Y) PIN Pad - -+usb:v0ACDp2030* -+ ID_MODEL_FROM_DATABASE=ValueMag Magnetic Stripe Reader -+ - usb:v0ACE* - ID_VENDOR_FROM_DATABASE=ZyDAS - -@@ -32024,6 +32531,12 @@ usb:v0AF9p0010* - usb:v0AF9p0011* - ID_MODEL_FROM_DATABASE=Micro Innovations IC50C Webcam - -+usb:v0AFA* -+ ID_VENDOR_FROM_DATABASE=DMC Co., Ltd. -+ -+usb:v0AFAp07D2* -+ ID_MODEL_FROM_DATABASE=Controller Board for Projected Capacitive Touch Screen DUS3000 -+ - usb:v0AFC* - ID_VENDOR_FROM_DATABASE=Zaptronix Ltd - -@@ -32042,6 +32555,9 @@ usb:v0B00* - usb:v0B05* - ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. - -+usb:v0B05p0001* -+ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (CD-ROM mode) -+ - usb:v0B05p1101* - ID_MODEL_FROM_DATABASE=Mass Storage (UISDMC4S) - -@@ -32147,6 +32663,9 @@ usb:v0B05p1784* - usb:v0B05p1786* - ID_MODEL_FROM_DATABASE=USB-N10 802.11n Network Adapter [Realtek RTL8188SU] - -+usb:v0B05p1788* -+ ID_MODEL_FROM_DATABASE=BT-270 Bluetooth Adapter -+ - usb:v0B05p1791* - ID_MODEL_FROM_DATABASE=WL-167G v3 802.11n Adapter [Realtek RTL8188SU] - -@@ -32159,12 +32678,18 @@ usb:v0B05p179E* - usb:v0B05p179F* - ID_MODEL_FROM_DATABASE=Eee Note EA800 (tablet mode) - -+usb:v0B05p17A0* -+ ID_MODEL_FROM_DATABASE=Xonar U3 sound card -+ - usb:v0B05p17A1* - ID_MODEL_FROM_DATABASE=Eee Note EA800 (mass storage mode) - - usb:v0B05p17AB* - ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] - -+usb:v0B05p17C9* -+ ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] -+ - usb:v0B05p4C80* - ID_MODEL_FROM_DATABASE=Transformer Pad TF300TG - -@@ -32183,6 +32708,12 @@ usb:v0B05p4D01* - usb:v0B05p4DAF* - ID_MODEL_FROM_DATABASE=Transformer Pad Infinity TF700 (Fastboot) - -+usb:v0B05p5410* -+ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (MTP mode) -+ -+usb:v0B05p5412* -+ ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) -+ - usb:v0B05p6101* - ID_MODEL_FROM_DATABASE=Cable Modem - -@@ -32228,9 +32759,15 @@ usb:v0B0E* - usb:v0B0Ep0420* - ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 - -+usb:v0B0Ep094D* -+ ID_MODEL_FROM_DATABASE=GN Netcom / Jabra REVO Wireless -+ - usb:v0B0Ep1022* - ID_MODEL_FROM_DATABASE=Jabra PRO 9450, Type 9400BS (DECT Headset) - -+usb:v0B0Ep2007* -+ ID_MODEL_FROM_DATABASE=GN 2000 Stereo Corded Headset -+ - usb:v0B0Ep620C* - ID_MODEL_FROM_DATABASE=Jabra BT620s - -@@ -32291,6 +32828,9 @@ usb:v0B33* - usb:v0B33p0020* - ID_MODEL_FROM_DATABASE=ShuttleXpress - -+usb:v0B33p0700* -+ ID_MODEL_FROM_DATABASE=RollerMouse Pro -+ - usb:v0B37* - ID_VENDOR_FROM_DATABASE=Hitachi ULSI Systems Co., Ltd - -@@ -32687,6 +33227,9 @@ usb:v0B95p1720* - usb:v0B95p1780* - ID_MODEL_FROM_DATABASE=AX88178 - -+usb:v0B95p1790* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet -+ - usb:v0B95p7720* - ID_MODEL_FROM_DATABASE=AX88772 - -@@ -32786,6 +33329,9 @@ usb:v0BAFp011B* - usb:v0BAFp0121* - ID_MODEL_FROM_DATABASE=USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B] - -+usb:v0BAFp0303* -+ ID_MODEL_FROM_DATABASE=USR5637 56K Faxmodem -+ - usb:v0BAFp6112* - ID_MODEL_FROM_DATABASE=FaxModem Model 5633 - -@@ -33332,6 +33878,9 @@ usb:v0BB4p0C01* - usb:v0BB4p0C02* - ID_MODEL_FROM_DATABASE=Dream / ADP1 / G1 / Magic / Tattoo (Debug) - -+usb:v0BB4p0C03* -+ ID_MODEL_FROM_DATABASE=Android Phone [Fairphone First Edition (FP1)] -+ - usb:v0BB4p0C13* - ID_MODEL_FROM_DATABASE=Diamond - -@@ -33371,6 +33920,12 @@ usb:v0BB4p0CA2* - usb:v0BB4p0CA5* - ID_MODEL_FROM_DATABASE=Android Phone [Evo Shift 4G] - -+usb:v0BB4p0CAE* -+ ID_MODEL_FROM_DATABASE=T-Mobile MyTouch 4G Slide [Doubleshot] -+ -+usb:v0BB4p0DEA* -+ ID_MODEL_FROM_DATABASE=M7_UL [HTC One] -+ - usb:v0BB4p0FF8* - ID_MODEL_FROM_DATABASE=Desire HD (Tethering Mode) - -@@ -33443,18 +33998,33 @@ usb:v0BC2p2320* - usb:v0BC2p3008* - ID_MODEL_FROM_DATABASE=FreeAgent Desk 1TB - -+usb:v0BC2p3101* -+ ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB -+ -+usb:v0BC2p3312* -+ ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] -+ - usb:v0BC2p3320* - ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] - - usb:v0BC2p3332* - ID_MODEL_FROM_DATABASE=Expansion - -+usb:v0BC2p5020* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex -+ - usb:v0BC2p5021* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 2.0 - -+usb:v0BC2p5030* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Upgrade Cable STAE104 -+ - usb:v0BC2p5031* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex USB 3.0 - -+usb:v0BC2p5070* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk -+ - usb:v0BC2p50A1* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk - -@@ -33476,6 +34046,9 @@ usb:v0BC2pA0A1* - usb:v0BC2pA0A4* - ID_MODEL_FROM_DATABASE=Backup Plus Desktop Drive - -+usb:v0BC2pAB00* -+ ID_MODEL_FROM_DATABASE=Slim Portable Drive -+ - usb:v0BC3* - ID_VENDOR_FROM_DATABASE=IPWireless, Inc. - -@@ -33650,6 +34223,12 @@ usb:v0BDAp0184* - usb:v0BDAp0186* - ID_MODEL_FROM_DATABASE=Card Reader - -+usb:v0BDAp0301* -+ ID_MODEL_FROM_DATABASE=multicard reader -+ -+usb:v0BDAp1724* -+ ID_MODEL_FROM_DATABASE=RTL8723AU 802.11n WLAN Adapter -+ - usb:v0BDAp2831* - ID_MODEL_FROM_DATABASE=RTL2831U DVB-T - -@@ -33707,6 +34286,9 @@ usb:v0BDAp8198* - usb:v0BDAp8199* - ID_MODEL_FROM_DATABASE=RTL8187SU 802.11g WLAN Adapter - -+usb:v0BDAp8812* -+ ID_MODEL_FROM_DATABASE=RTL8812AU 802.11a/b/g/n/ac WLAN Adapter -+ - usb:v0BDB* - ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV - -@@ -34038,7 +34620,7 @@ usb:v0C24p0019* - ID_MODEL_FROM_DATABASE=Bluetooth Device - - usb:v0C24p0021* -- ID_MODEL_FROM_DATABASE=Bluetooth Device -+ ID_MODEL_FROM_DATABASE=Bluetooth Device (V2.1+EDR) - - usb:v0C24p0C24* - ID_MODEL_FROM_DATABASE=Bluetooth Device(SAMPLE) -@@ -34142,6 +34724,9 @@ usb:v0C45* - usb:v0C45p0011* - ID_MODEL_FROM_DATABASE=EBUDDY - -+usb:v0C45p0520* -+ ID_MODEL_FROM_DATABASE=MaxTrack Wireless Mouse -+ - usb:v0C45p1018* - ID_MODEL_FROM_DATABASE=Compact Flash storage memory card reader - -@@ -34496,9 +35081,15 @@ usb:v0C45p62C0* - usb:v0C45p62E0* - ID_MODEL_FROM_DATABASE=MSI Starcam Racer - -+usb:v0C45p6300* -+ ID_MODEL_FROM_DATABASE=PC Microscope camera -+ - usb:v0C45p6310* - ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera - -+usb:v0C45p6340* -+ ID_MODEL_FROM_DATABASE=Camera -+ - usb:v0C45p6341* - ID_MODEL_FROM_DATABASE=Defender G-Lens 2577 HD720p Camera - -@@ -34526,6 +35117,12 @@ usb:v0C45p6419* - usb:v0C45p641D* - ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam - -+usb:v0C45p643F* -+ ID_MODEL_FROM_DATABASE=Dell Integrated HD Webcam -+ -+usb:v0C45p644D* -+ ID_MODEL_FROM_DATABASE=1.3 MPixel Integrated Webcam -+ - usb:v0C45p6480* - ID_MODEL_FROM_DATABASE=Sonix 1.3 MP Laptop Integrated Webcam - -@@ -34535,6 +35132,9 @@ usb:v0C45p648B* - usb:v0C45p64BD* - ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera - -+usb:v0C45p7401* -+ ID_MODEL_FROM_DATABASE=TEMPer Temperature Sensor -+ - usb:v0C45p7402* - ID_MODEL_FROM_DATABASE=TEMPerHUM Temperature & Humidity Sensor - -@@ -35390,6 +35990,9 @@ usb:v0CF3p3000* - usb:v0CF3p3002* - ID_MODEL_FROM_DATABASE=AR3011 Bluetooth - -+usb:v0CF3p3004* -+ ID_MODEL_FROM_DATABASE=AR3012 Bluetooth 4.0 -+ - usb:v0CF3p3005* - ID_MODEL_FROM_DATABASE=AR3011 Bluetooth - -@@ -35564,6 +36167,15 @@ usb:v0D35* - usb:v0D3A* - ID_VENDOR_FROM_DATABASE=Posiflex Technologies, Inc. - -+usb:v0D3Ap0206* -+ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer -+ -+usb:v0D3Ap0207* -+ ID_MODEL_FROM_DATABASE=Series 3xxx Cash Drawer -+ -+usb:v0D3Ap0500* -+ ID_MODEL_FROM_DATABASE=Magnetic Stripe Reader -+ - usb:v0D3C* - ID_VENDOR_FROM_DATABASE=Sri Cable Technology, Ltd - -@@ -35573,6 +36185,9 @@ usb:v0D3D* - usb:v0D3Dp0001* - ID_MODEL_FROM_DATABASE=HID Keyboard - -+usb:v0D3Dp0040* -+ ID_MODEL_FROM_DATABASE=PS/2 Adapter -+ - usb:v0D3E* - ID_VENDOR_FROM_DATABASE=Fitcom, inc. - -@@ -35651,6 +36266,9 @@ usb:v0D49p7010* - usb:v0D49p7100* - ID_MODEL_FROM_DATABASE=OneTouch II 300GB External Hard Disk - -+usb:v0D49p7310* -+ ID_MODEL_FROM_DATABASE=OneTouch 4 -+ - usb:v0D49p7410* - ID_MODEL_FROM_DATABASE=Mobile Hard Disk Drive (1TB) - -@@ -35858,6 +36476,9 @@ usb:v0D78* - usb:v0D7A* - ID_VENDOR_FROM_DATABASE=MARX Datentechnik GmbH - -+usb:v0D7Ap0001* -+ ID_MODEL_FROM_DATABASE=CrypToken -+ - usb:v0D7B* - ID_VENDOR_FROM_DATABASE=Wellco Technology Co., Ltd - -@@ -36404,6 +37025,12 @@ usb:v0DB7* - usb:v0DB7p0002* - ID_MODEL_FROM_DATABASE=Goldpfeil P-LAN - -+usb:v0DBA* -+ ID_VENDOR_FROM_DATABASE=Digidesign -+ -+usb:v0DBAp3000* -+ ID_MODEL_FROM_DATABASE=Mbox 2 -+ - usb:v0DBC* - ID_VENDOR_FROM_DATABASE=A&D Medical - -@@ -36776,6 +37403,9 @@ usb:v0DF6p0060* - usb:v0DF6p0062* - ID_MODEL_FROM_DATABASE=WLA-5000 802.11abgn [Ralink RT3572] - -+usb:v0DF6p0072* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [Sitecom] -+ - usb:v0DF6p061C* - ID_MODEL_FROM_DATABASE=LN-028 Network USB 2.0 Adapter - -@@ -37253,6 +37883,9 @@ usb:v0E79p14AD* - usb:v0E79p150E* - ID_MODEL_FROM_DATABASE=80 G9 - -+usb:v0E79p3001* -+ ID_MODEL_FROM_DATABASE=40 Titanium -+ - usb:v0E7B* - ID_VENDOR_FROM_DATABASE=On-Tech Industry Co., Ltd - -@@ -37292,9 +37925,15 @@ usb:v0E8Dp1806* - usb:v0E8Dp1836* - ID_MODEL_FROM_DATABASE=Samsung SE-S084 Super WriteMaster Slim External DVD writer - -+usb:v0E8Dp2000* -+ ID_MODEL_FROM_DATABASE=MT65xx Preloader -+ - usb:v0E8Dp3329* - ID_MODEL_FROM_DATABASE=Qstarz BT-Q1000XT - -+usb:v0E8Dp763E* -+ ID_MODEL_FROM_DATABASE=MT7630e Bluetooth Adapter -+ - usb:v0E8F* - ID_VENDOR_FROM_DATABASE=GreenAsia Inc. - -@@ -37302,7 +37941,7 @@ usb:v0E8Fp0003* - ID_MODEL_FROM_DATABASE=MaxFire Blaze2 - - usb:v0E8Fp0012* -- ID_MODEL_FROM_DATABASE=USB Wireless 2.4GHz Gamepad -+ ID_MODEL_FROM_DATABASE=Joystick/Gamepad - - usb:v0E8Fp0016* - ID_MODEL_FROM_DATABASE=4 port USB 1.1 hub UH-174 -@@ -37436,9 +38075,18 @@ usb:v0EB7* - usb:v0EB8* - ID_VENDOR_FROM_DATABASE=Mettler Toledo - -+usb:v0EB8p2200* -+ ID_MODEL_FROM_DATABASE=Ariva Scale -+ - usb:v0EB8pF000* - ID_MODEL_FROM_DATABASE=PS60 Scale - -+usb:v0EBB* -+ ID_VENDOR_FROM_DATABASE=Thermo Fisher Scientific -+ -+usb:v0EBBp0002* -+ ID_MODEL_FROM_DATABASE=FT-IR Spectrometer -+ - usb:v0EBE* - ID_VENDOR_FROM_DATABASE=VWeb Corp. - -@@ -37559,6 +38207,12 @@ usb:v0EEFp0001* - usb:v0EEFp0002* - ID_MODEL_FROM_DATABASE=Touchscreen Controller(Professional) - -+usb:v0EEFp7200* -+ ID_MODEL_FROM_DATABASE=Touchscreen Controller -+ -+usb:v0EEFpA802* -+ ID_MODEL_FROM_DATABASE=eGalaxTouch EXC7920 -+ - usb:v0EF0* - ID_VENDOR_FROM_DATABASE=Hitachi Cable, Ltd - -@@ -37670,6 +38324,12 @@ usb:v0F12* - usb:v0F13* - ID_VENDOR_FROM_DATABASE=Acetek Technology Co., Ltd - -+usb:v0F14* -+ ID_VENDOR_FROM_DATABASE=Ingenico -+ -+usb:v0F14p0012* -+ ID_MODEL_FROM_DATABASE=Vital'Act 3S -+ - usb:v0F18* - ID_VENDOR_FROM_DATABASE=Finger Lakes Instrumentation - -@@ -37754,6 +38414,12 @@ usb:v0F37* - usb:v0F38* - ID_VENDOR_FROM_DATABASE=Nien-Yi Industrial Corp. - -+usb:v0F39* -+ ID_VENDOR_FROM_DATABASE=TG3 Electronics -+ -+usb:v0F39p0876* -+ ID_MODEL_FROM_DATABASE=Keyboard [87 Francium Pro] -+ - usb:v0F3D* - ID_VENDOR_FROM_DATABASE=Airprime, Incorporated - -@@ -37841,6 +38507,9 @@ usb:v0F63* - usb:v0F63p0010* - ID_MODEL_FROM_DATABASE=Leapster Explorer - -+usb:v0F63p0022* -+ ID_MODEL_FROM_DATABASE=Leap Reader -+ - usb:v0F63p0500* - ID_MODEL_FROM_DATABASE=Fly Fusion - -@@ -37928,6 +38597,9 @@ usb:v0F6Ep0404* - usb:v0F73* - ID_VENDOR_FROM_DATABASE=DFI - -+usb:v0F78* -+ ID_VENDOR_FROM_DATABASE=Guntermann & Drunck GmbH -+ - usb:v0F7C* - ID_VENDOR_FROM_DATABASE=DQ Technology, Inc. - -@@ -38064,7 +38736,7 @@ usb:v0FCAp8001* - ID_MODEL_FROM_DATABASE=Blackberry Handheld - - usb:v0FCAp8004* -- ID_MODEL_FROM_DATABASE=Blackberry Handheld -+ ID_MODEL_FROM_DATABASE=Blackberry - - usb:v0FCAp8007* - ID_MODEL_FROM_DATABASE=Blackberry Handheld -@@ -38147,6 +38819,12 @@ usb:v0FCEp3138* - usb:v0FCEp3149* - ID_MODEL_FROM_DATABASE=Xperia X8 - -+usb:v0FCEp514F* -+ ID_MODEL_FROM_DATABASE=Xperia arc S [Adb-Enable Mode] -+ -+usb:v0FCEp5169* -+ ID_MODEL_FROM_DATABASE=Xperia S [Adb-Enable Mode] -+ - usb:v0FCEp5177* - ID_MODEL_FROM_DATABASE=Xperia Ion [Debug Mode] - -@@ -38309,6 +38987,9 @@ usb:v0FCEpE166* - usb:v0FCEpE167* - ID_MODEL_FROM_DATABASE=XPERIA mini - -+usb:v0FCEpF0FA* -+ ID_MODEL_FROM_DATABASE=Liveview micro display MN800 in DFU mode -+ - usb:v0FCF* - ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc. - -@@ -38316,13 +38997,16 @@ usb:v0FCFp1003* - ID_MODEL_FROM_DATABASE=ANT Development Board - - usb:v0FCFp1004* -- ID_MODEL_FROM_DATABASE=ANT2USB -+ ID_MODEL_FROM_DATABASE=ANTUSB Stick - - usb:v0FCFp1006* - ID_MODEL_FROM_DATABASE=ANT Development Board - - usb:v0FCFp1008* -- ID_MODEL_FROM_DATABASE=Mini stick Suunto -+ ID_MODEL_FROM_DATABASE=ANTUSB2 Stick -+ -+usb:v0FCFp1009* -+ ID_MODEL_FROM_DATABASE=ANTUSB-m Stick - - usb:v0FD0* - ID_VENDOR_FROM_DATABASE=Tulip Computers B.V. -@@ -38378,6 +39062,12 @@ usb:v0FDAp0100* - usb:v0FDC* - ID_VENDOR_FROM_DATABASE=Micro Plus - -+usb:v0FDE* -+ ID_VENDOR_FROM_DATABASE=Oregon Scientific -+ -+usb:v0FDEpCA01* -+ ID_MODEL_FROM_DATABASE=WMRS200 weather station -+ - usb:v0FE0* - ID_VENDOR_FROM_DATABASE=Osterhout Design Group - -@@ -38471,6 +39161,9 @@ usb:v0FFF* - usb:v1000* - ID_VENDOR_FROM_DATABASE=Speed Tech Corp. - -+usb:v1000p153B* -+ ID_MODEL_FROM_DATABASE=TerraTec Electronic GmbH -+ - usb:v1001* - ID_VENDOR_FROM_DATABASE=Ritronics Components (S) Pte., Ltd - -@@ -38504,6 +39197,9 @@ usb:v1004p618E* - usb:v1004p618F* - ID_MODEL_FROM_DATABASE=Ally/Optimus One - -+usb:v1004p61C5* -+ ID_MODEL_FROM_DATABASE=P880 / Charge only -+ - usb:v1004p61C6* - ID_MODEL_FROM_DATABASE=Vortex (msc) - -@@ -38514,7 +39210,7 @@ usb:v1004p61F1* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [LG Software mode] - - usb:v1004p61F9* -- ID_MODEL_FROM_DATABASE=V909 G-Slate -+ ID_MODEL_FROM_DATABASE=Optimus (Various Models) MTP Mode - - usb:v1004p61FC* - ID_MODEL_FROM_DATABASE=Optimus 3 -@@ -38528,9 +39224,15 @@ usb:v1004p6300* - usb:v1004p631C* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [MTP mode] - -+usb:v1004p631D* -+ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Camera/PTP Mode) -+ - usb:v1004p631E* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [Camera/PTP mode] - -+usb:v1004p631F* -+ ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode) -+ - usb:v1004p6356* - ID_MODEL_FROM_DATABASE=Optimus Android Phone [Virtual CD mode] - -@@ -38540,6 +39242,9 @@ usb:v1004p6800* - usb:v1004p7000* - ID_MODEL_FROM_DATABASE=LG LDP-7024D(LD)USB - -+usb:v1004p91C8* -+ ID_MODEL_FROM_DATABASE=P880 / USB tethering -+ - usb:v1004pA400* - ID_MODEL_FROM_DATABASE=Renoir (KC910) - -@@ -38742,13 +39447,13 @@ usb:v1033p0068* - ID_MODEL_FROM_DATABASE=3,5'' HDD case MD-231 - - usb:v1038* -- ID_VENDOR_FROM_DATABASE=Ideazon, Inc. -+ ID_VENDOR_FROM_DATABASE=SteelSeries ApS - - usb:v1038p0100* -- ID_MODEL_FROM_DATABASE=Zboard -+ ID_MODEL_FROM_DATABASE=Ideazon Zboard - - usb:v1038p1361* -- ID_MODEL_FROM_DATABASE=Sensei -+ ID_MODEL_FROM_DATABASE=Ideazon Sensei - - usb:v1039* - ID_VENDOR_FROM_DATABASE=devolo AG -@@ -38946,28 +39651,37 @@ usb:v1058p0704* - ID_MODEL_FROM_DATABASE=Passport External HDD - - usb:v1058p070A* -- ID_MODEL_FROM_DATABASE=My Passport Essential SE -+ ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) - - usb:v1058p071A* - ID_MODEL_FROM_DATABASE=My Passport - - usb:v1058p0730* -- ID_MODEL_FROM_DATABASE=My Passport -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) - - usb:v1058p0740* - ID_MODEL_FROM_DATABASE=My Passport - -+usb:v1058p0741* -+ ID_MODEL_FROM_DATABASE=My Passport Ultra -+ - usb:v1058p0742* - ID_MODEL_FROM_DATABASE=My Passport Essential SE - - usb:v1058p0748* -- ID_MODEL_FROM_DATABASE=My Passport 1TB USB 3.0 -+ ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) -+ -+usb:v1058p0810* -+ ID_MODEL_FROM_DATABASE=My Passport Ultra - - usb:v1058p0900* - ID_MODEL_FROM_DATABASE=MyBook Essential External HDD - - usb:v1058p0901* -- ID_MODEL_FROM_DATABASE=MyBook External HDD -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) -+ -+usb:v1058p0902* -+ ID_MODEL_FROM_DATABASE=My Book Pro Edition - - usb:v1058p0903* - ID_MODEL_FROM_DATABASE=My Book Premium Edition -@@ -38976,20 +39690,32 @@ usb:v1058p0910* - ID_MODEL_FROM_DATABASE=MyBook Essential External HDD - - usb:v1058p1001* -- ID_MODEL_FROM_DATABASE=External Hard Disk [Elements] -+ ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) - - usb:v1058p1003* - ID_MODEL_FROM_DATABASE=Elements 1000 GB - - usb:v1058p1010* -- ID_MODEL_FROM_DATABASE=Elements External HDD -+ ID_MODEL_FROM_DATABASE=Elements Portable (WDBAAR) - - usb:v1058p1021* -- ID_MODEL_FROM_DATABASE=Elements 2TB -+ ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) - - usb:v1058p1023* - ID_MODEL_FROM_DATABASE=Elements SE - -+usb:v1058p1048* -+ ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) -+ -+usb:v1058p10A2* -+ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBPCK) -+ -+usb:v1058p10A8* -+ ID_MODEL_FROM_DATABASE=Elements Portable (WDBUZG) -+ -+usb:v1058p1100* -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition 2.0 (WDH1U) -+ - usb:v1058p1103* - ID_MODEL_FROM_DATABASE=My Book Studio - -@@ -39272,6 +39998,9 @@ usb:v106Fp0009* - usb:v106Fp000A* - ID_MODEL_FROM_DATABASE=CR10x Coin Recycler - -+usb:v106Fp000C* -+ ID_MODEL_FROM_DATABASE=Xchange -+ - usb:v1076* - ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc. - -@@ -39335,6 +40064,12 @@ usb:v1099* - usb:v109A* - ID_VENDOR_FROM_DATABASE=DATASOFT Systems GmbH - -+usb:v109B* -+ ID_VENDOR_FROM_DATABASE=Hisense -+ -+usb:v109Bp9118* -+ ID_MODEL_FROM_DATABASE=Medion P4013 Mobile -+ - usb:v109F* - ID_VENDOR_FROM_DATABASE=eSOL Co., Ltd - -@@ -39458,6 +40193,15 @@ usb:v10BF* - usb:v10BFp0001* - ID_MODEL_FROM_DATABASE=SmartHome PowerLinc - -+usb:v10C3* -+ ID_VENDOR_FROM_DATABASE=Universal Laser Systems, Inc. -+ -+usb:v10C3p00A4* -+ ID_MODEL_FROM_DATABASE=ULS PLS Series Laser Engraver Firmware Loader -+ -+usb:v10C3p00A5* -+ ID_MODEL_FROM_DATABASE=ULS Print Support -+ - usb:v10C4* - ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc. - -@@ -39509,6 +40253,12 @@ usb:v10C4p8461* - usb:v10C4p8477* - ID_MODEL_FROM_DATABASE=Balluff RFID Reader - -+usb:v10C4p8496* -+ ID_MODEL_FROM_DATABASE=SiLabs Cypress FW downloader -+ -+usb:v10C4p8497* -+ ID_MODEL_FROM_DATABASE=SiLabs Cypress EVB -+ - usb:v10C4p8605* - ID_MODEL_FROM_DATABASE=dilitronics ESoLUX solar lighting controller - -@@ -39527,6 +40277,9 @@ usb:v10C4p8863* - usb:v10C4p8897* - ID_MODEL_FROM_DATABASE=C8051F38x HDMI Splitter [UHBX] - -+usb:v10C4p8918* -+ ID_MODEL_FROM_DATABASE=C8051F38x HDMI Audio Extractor [VSA-HA-DP] -+ - usb:v10C4pEA60* - ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light - -@@ -39908,6 +40661,9 @@ usb:v1141* - usb:v1142* - ID_VENDOR_FROM_DATABASE=CyberScan Technologies, Inc. - -+usb:v1142p0709* -+ ID_MODEL_FROM_DATABASE=Cyberview High Speed Scanner -+ - usb:v1145* - ID_VENDOR_FROM_DATABASE=Japan Radio Company - -@@ -39938,6 +40694,9 @@ usb:v114D* - usb:v114F* - ID_VENDOR_FROM_DATABASE=Wavecom - -+usb:v114Fp1234* -+ ID_MODEL_FROM_DATABASE=Fastrack Xtend FXT001 Modem -+ - usb:v115B* - ID_VENDOR_FROM_DATABASE=Salix Technology Co., Ltd. - -@@ -40128,7 +40887,7 @@ usb:v1199p683A* - ID_MODEL_FROM_DATABASE=MC8785 Device - - usb:v1199p683C* -- ID_MODEL_FROM_DATABASE=MC8790 Device -+ ID_MODEL_FROM_DATABASE=Mobile Broadband 3G/UMTS (MC8790 Device) - - usb:v1199p6850* - ID_MODEL_FROM_DATABASE=AirCard 880 Device -@@ -40196,6 +40955,12 @@ usb:v1199p9009* - usb:v1199p900A* - ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem - -+usb:v1199p9055* -+ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (NAT mode) -+ -+usb:v1199p9057* -+ ID_MODEL_FROM_DATABASE=Gobi 9x15 Multimode 3G/4G LTE Modem (IP passthrough mode) -+ - usb:v119A* - ID_VENDOR_FROM_DATABASE=ZHAN QI Technology Co., Ltd - -@@ -40238,12 +41003,30 @@ usb:v11ACp6565* - usb:v11B0* - ID_VENDOR_FROM_DATABASE=ATECH FLASH TECHNOLOGY - -+usb:v11B0p6208* -+ ID_MODEL_FROM_DATABASE=PRO-28U -+ -+usb:v11BE* -+ ID_VENDOR_FROM_DATABASE=R&D International NV -+ -+usb:v11BEpF0A0* -+ ID_MODEL_FROM_DATABASE=Martin Maxxyz DMX -+ - usb:v11C5* - ID_VENDOR_FROM_DATABASE=Inmax - - usb:v11C5p0521* - ID_MODEL_FROM_DATABASE=IMT-0521 Smartcard Reader - -+usb:v11CA* -+ ID_VENDOR_FROM_DATABASE=VeriFone Inc -+ -+usb:v11CAp0207* -+ ID_MODEL_FROM_DATABASE=PIN Pad VX 810 -+ -+usb:v11CAp0220* -+ ID_MODEL_FROM_DATABASE=PIN Pad VX 805 -+ - usb:v11DB* - ID_VENDOR_FROM_DATABASE=Topfield Co., Ltd. - -@@ -40274,6 +41057,9 @@ usb:v11F5p0005* - usb:v11F5p0008* - ID_MODEL_FROM_DATABASE=UMTS/HSDPA Data Card - -+usb:v11F5p0101* -+ ID_MODEL_FROM_DATABASE=RCU Connect -+ - usb:v11F6* - ID_VENDOR_FROM_DATABASE=Prolific - -@@ -40284,7 +41070,7 @@ usb:v11F7* - ID_VENDOR_FROM_DATABASE=Alcatel (?) - - usb:v11F7p02DF* -- ID_MODEL_FROM_DATABASE=TD10 Mobile phone USB cable -+ ID_MODEL_FROM_DATABASE=Serial cable (v2) for TD-10 Mobile Phone - - usb:v1203* - ID_VENDOR_FROM_DATABASE=TSC Auto ID Technology Co., Ltd -@@ -40352,6 +41138,9 @@ usb:v1228p0012* - usb:v1228p0015* - ID_MODEL_FROM_DATABASE=TPaq21/MPaq21 Datalogger - -+usb:v1228p584C* -+ ID_MODEL_FROM_DATABASE=XL2 Logger -+ - usb:v1230* - ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A. - -@@ -40377,20 +41166,110 @@ usb:v1235* - ID_VENDOR_FROM_DATABASE=Novation EMS - - usb:v1235p0001* -- ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation -+ ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition - - usb:v1235p0002* - ID_MODEL_FROM_DATABASE=Speedio - - usb:v1235p0003* -- ID_MODEL_FROM_DATABASE=ReMOTE ZeRO SL -+ ID_MODEL_FROM_DATABASE=RemoteSL + ZeroSL -+ -+usb:v1235p0004* -+ ID_MODEL_FROM_DATABASE=ReMOTE LE -+ -+usb:v1235p0005* -+ ID_MODEL_FROM_DATABASE=XIOSynth [First Edition] -+ -+usb:v1235p0006* -+ ID_MODEL_FROM_DATABASE=XStation -+ -+usb:v1235p0007* -+ ID_MODEL_FROM_DATABASE=XIOSynth -+ -+usb:v1235p0008* -+ ID_MODEL_FROM_DATABASE=ReMOTE SL Compact -+ -+usb:v1235p0009* -+ ID_MODEL_FROM_DATABASE=nIO -+ -+usb:v1235p000A* -+ ID_MODEL_FROM_DATABASE=Nocturn -+ -+usb:v1235p000B* -+ ID_MODEL_FROM_DATABASE=ReMOTE SL MkII -+ -+usb:v1235p000C* -+ ID_MODEL_FROM_DATABASE=ZeRO MkII -+ -+usb:v1235p000E* -+ ID_MODEL_FROM_DATABASE=Launchpad -+ -+usb:v1235p0010* -+ ID_MODEL_FROM_DATABASE=Saffire 6 -+ -+usb:v1235p0011* -+ ID_MODEL_FROM_DATABASE=Ultranova -+ -+usb:v1235p0012* -+ ID_MODEL_FROM_DATABASE=Nocturn Keyboard -+ -+usb:v1235p0013* -+ ID_MODEL_FROM_DATABASE=VRM Box -+ -+usb:v1235p0014* -+ ID_MODEL_FROM_DATABASE=VRM Box Audio Class (2-out) -+ -+usb:v1235p0015* -+ ID_MODEL_FROM_DATABASE=Dicer -+ -+usb:v1235p0016* -+ ID_MODEL_FROM_DATABASE=Ultranova -+ -+usb:v1235p0018* -+ ID_MODEL_FROM_DATABASE=Twitch -+ -+usb:v1235p0019* -+ ID_MODEL_FROM_DATABASE=Impulse 25 -+ -+usb:v1235p001A* -+ ID_MODEL_FROM_DATABASE=Impulse 49 -+ -+usb:v1235p001B* -+ ID_MODEL_FROM_DATABASE=Impulse 61 - - usb:v1235p4661* - ID_MODEL_FROM_DATABASE=ReMOTE25 - -+usb:v1235p8000* -+ ID_MODEL_FROM_DATABASE=Scarlett 18i6 -+ -+usb:v1235p8002* -+ ID_MODEL_FROM_DATABASE=Scarlett 8i6 -+ - usb:v1235p8006* - ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2 - -+usb:v1235p8008* -+ ID_MODEL_FROM_DATABASE=Saffire 6 -+ -+usb:v1235p800A* -+ ID_MODEL_FROM_DATABASE=Scarlett 2i4 -+ -+usb:v1235p800C* -+ ID_MODEL_FROM_DATABASE=Scarlett 18i20 -+ -+usb:v1235p800E* -+ ID_MODEL_FROM_DATABASE=iTrack Solo -+ -+usb:v1235p8010* -+ ID_MODEL_FROM_DATABASE=Forte -+ -+usb:v1235p8012* -+ ID_MODEL_FROM_DATABASE=Scarlett 6i6 -+ -+usb:v1235p8014* -+ ID_MODEL_FROM_DATABASE=Scarlett 18i8 -+ - usb:v1241* - ID_VENDOR_FROM_DATABASE=Belkin - -@@ -40410,7 +41289,7 @@ usb:v1241p1166* - ID_MODEL_FROM_DATABASE=MI-2150 Trust Mouse - - usb:v1241p1177* -- ID_MODEL_FROM_DATABASE=F8E842-DL Mouse -+ ID_MODEL_FROM_DATABASE=Mouse [HT82M21A] - - usb:v1241p1503* - ID_MODEL_FROM_DATABASE=Keyboard -@@ -40463,6 +41342,9 @@ usb:v125Fp312A* - usb:v125Fp312B* - ID_MODEL_FROM_DATABASE=Superior S102 Pro - -+usb:v125FpA22A* -+ ID_MODEL_FROM_DATABASE=DashDrive Elite HE720 500GB -+ - usb:v125FpA91A* - ID_MODEL_FROM_DATABASE=Portable HDD CH91 - -@@ -40478,6 +41360,9 @@ usb:v125FpC93A* - usb:v125FpC96A* - ID_MODEL_FROM_DATABASE=C906 Flash Drive - -+usb:v125FpCB10* -+ ID_MODEL_FROM_DATABASE=Dash Drive UV100 -+ - usb:v1260* - ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp. - -@@ -40637,6 +41522,9 @@ usb:v1283p0150* - usb:v1286* - ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc. - -+usb:v1286p00BC* -+ ID_MODEL_FROM_DATABASE=Marvell JTAG Probe -+ - usb:v1286p1FAB* - ID_MODEL_FROM_DATABASE=88W8338 [Libertas] 802.11g - -@@ -40733,6 +41621,12 @@ usb:v12C4p0006* - usb:v12C4p0008* - ID_MODEL_FROM_DATABASE=Teleprompter Foot Control (v1) - -+usb:v12CF* -+ ID_VENDOR_FROM_DATABASE=DEXIN -+ -+usb:v12CFp0170* -+ ID_MODEL_FROM_DATABASE=Tt eSPORTS BLACK Gaming mouse -+ - usb:v12D1* - ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd. - -@@ -40802,9 +41696,15 @@ usb:v12D1p14CF* - usb:v12D1p14D1* - ID_MODEL_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode) - -+usb:v12D1p14DB* -+ ID_MODEL_FROM_DATABASE=E353/E3131 -+ - usb:v12D1p14F1* - ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem - -+usb:v12D1p14FE* -+ ID_MODEL_FROM_DATABASE=Modem (Mass Storage Mode) -+ - usb:v12D1p1501* - ID_MODEL_FROM_DATABASE=Pulse - -@@ -40826,6 +41726,9 @@ usb:v12D1p1521* - usb:v12D1p155A* - ID_MODEL_FROM_DATABASE=R205 Mobile WiFi (CD-ROM mode) - -+usb:v12D1p1575* -+ ID_MODEL_FROM_DATABASE=K5150 LTE modem -+ - usb:v12D1p1805* - ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone - -@@ -41376,7 +42279,7 @@ usb:v13BA* - ID_VENDOR_FROM_DATABASE=PCPlay - - usb:v13BAp0001* -- ID_MODEL_FROM_DATABASE=König Electronic CMP-KEYPAD12 Numeric Keypad -+ ID_MODEL_FROM_DATABASE=Konig Electronic CMP-KEYPAD12 Numeric Keypad - - usb:v13BAp0017* - ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter -@@ -44096,6 +44999,9 @@ usb:v1740p9801* - usb:v1743* - ID_VENDOR_FROM_DATABASE=General Atomics - -+usb:v1748* -+ ID_VENDOR_FROM_DATABASE=MQP Electronics -+ - usb:v174C* - ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. - -@@ -46569,7 +47475,7 @@ usb:v1C7B* - ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD. - - usb:v1C83* -- ID_VENDOR_FROM_DATABASE=Schomäcker GmbH -+ ID_VENDOR_FROM_DATABASE=Schomaecker GmbH - - usb:v1C83p0001* - ID_MODEL_FROM_DATABASE=RS150 V2 -@@ -47678,6 +48584,12 @@ usb:v2047* - usb:v2047p0200* - ID_MODEL_FROM_DATABASE=MSP430 USB HID Bootstrap Loader - -+usb:v2047p0855* -+ ID_MODEL_FROM_DATABASE=Invensense Embedded MotionApp HID Sensor -+ -+usb:v2047p0964* -+ ID_MODEL_FROM_DATABASE=Inventio Software MSP430 -+ - usb:v2080* - ID_VENDOR_FROM_DATABASE=Barnes & Noble - --- -1.7.9.2 - diff --git a/0004-implement-a-union-to-pad-out-file_handle.patch b/0004-implement-a-union-to-pad-out-file_handle.patch deleted file mode 100644 index cbb924cc..00000000 --- a/0004-implement-a-union-to-pad-out-file_handle.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 370c860f748d149097710dc7952a64f627db9de7 Mon Sep 17 00:00:00 2001 -From: Dave Reisner -Date: Sat, 19 Apr 2014 13:22:35 -0400 -Subject: [PATCH] implement a union to pad out file_handle - -Cases where name_to_handle_at is used allocated the full struct to be -MAX_HANDLE_SZ, and assigned this size to handle_bytes. This is wrong -since handle_bytes should describe the length of the flexible array -member and not the whole struct. - -Define a union type which includes sufficient padding to allow -assignment of MAX_HANDLE_SZ to be correct. ---- - src/libudev/libudev-monitor.c | 6 ++---- - src/readahead/readahead-common.c | 6 ++---- - src/shared/util.h | 6 ++++++ - src/tmpfiles/tmpfiles.c | 11 ++++------- - 4 files changed, 14 insertions(+), 15 deletions(-) - -diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c -index 3f7436b..0a2ab82 100644 ---- src/libudev/libudev-monitor.c -+++ src/libudev/libudev-monitor.c -@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev) - - /* we consider udev running when /dev is on devtmpfs */ - static bool udev_has_devtmpfs(struct udev *udev) { -- struct file_handle *h; -+ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; - int mount_id; - _cleanup_fclose_ FILE *f = NULL; - char line[LINE_MAX], *e; - int r; - -- h = alloca(MAX_HANDLE_SZ); -- h->handle_bytes = MAX_HANDLE_SZ; -- r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0); -+ r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); - if (r < 0) - return false; - -diff --git src/readahead/readahead-common.c src/readahead/readahead-common.c -index 5ffa88b..49679fc 100644 ---- src/readahead/readahead-common.c -+++ src/readahead/readahead-common.c -@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) { - if (major(st.st_dev) == 0) { - _cleanup_fclose_ FILE *f = NULL; - int mount_id; -- struct file_handle *h; -+ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; - - /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. - * -@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) { - * and then lookup the mount ID in mountinfo to find - * the mount options. */ - -- h = alloca(MAX_HANDLE_SZ); -- h->handle_bytes = MAX_HANDLE_SZ; -- r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); -+ r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW); - if (r < 0) - return false; - -diff --git src/shared/util.h src/shared/util.h -index 900f1cf..891848a 100644 ---- src/shared/util.h -+++ src/shared/util.h -@@ -22,6 +22,7 @@ - ***/ - - #include -+#include - #include - #include - #include -@@ -883,3 +884,8 @@ int fd_warn_permissions(const char *path - - unsigned long personality_from_string(const char *p); - const char *personality_to_string(unsigned long); -+ -+union file_handle_union { -+ struct file_handle handle; -+ char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; -+}; -diff --git src/tmpfiles/tmpfiles.c src/tmpfiles/tmpfiles.c -index 33e7cbc..04b472d 100644 ---- src/tmpfiles/tmpfiles.c -+++ src/tmpfiles/tmpfiles.c -@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) { - } - - static int dir_is_mount_point(DIR *d, const char *subdir) { -- struct file_handle *h; -+ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ }; - int mount_id_parent, mount_id; - int r_p, r; - -- h = alloca(MAX_HANDLE_SZ); -- -- h->handle_bytes = MAX_HANDLE_SZ; -- r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0); -+ r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0); - if (r_p < 0) - r_p = -errno; - -- h->handle_bytes = MAX_HANDLE_SZ; -- r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0); -+ h.handle.handle_bytes = MAX_HANDLE_SZ; -+ r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0); - if (r < 0) - r = -errno; - --- -1.7.9.2 - diff --git a/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch b/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch deleted file mode 100644 index 0358d8cc..00000000 --- a/0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on 20a83d7bf4542875f8033b68682a4da4993010e8 Mon Sep 17 00:00:00 2001 -From: Brandon Philips -Date: Fri, 25 Apr 2014 09:31:59 -0600 -Subject: [PATCH] job: add waiting jobs to run queue in unit_coldplug - -When we have job installed and added to run queue for service which is -still in dead state and systemd initiates reload then after reload we -never add deserialized job to the run queue again. This is caused by -check in service_coldplug() where we check if deserialized state is -something else than dead state, which is not the case thus we never call -service_set_state() and finally unit_notify() where we would have added -job to the run queue. - -Thanks to Michal Sekletar for the original patch. ---- - src/core/job.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- src/core/job.c -+++ src/core/job.c 2014-05-12 12:58:30.354235531 +0000 -@@ -1057,6 +1057,9 @@ int job_coldplug(Job *j) { - if (j->timer_event_source) - j->timer_event_source = sd_event_source_unref(j->timer_event_source); - -+ if (j->state == JOB_WAITING) -+ job_add_to_run_queue(j); -+ - r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); - if (r < 0) - log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0004-journal-do-server_vacuum-for-sigusr1.patch b/0004-journal-do-server_vacuum-for-sigusr1.patch deleted file mode 100644 index 530a5397..00000000 --- a/0004-journal-do-server_vacuum-for-sigusr1.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3bfd4e0c6341b0ef946d2198f089743fa99e0a97 Mon Sep 17 00:00:00 2001 -From: WaLyong Cho -Date: Thu, 28 Aug 2014 21:33:03 +0900 -Subject: [PATCH] journal: do server_vacuum for sigusr1 - -runtime journal is migrated to system journal when only -"/run/systemd/journal/flushed" exist. It's ok but according to this -the system journal directory size(max use) can be over the config. If -journal is not rotated during some time the journal directory can be -remained as over the config(or default) size. To avoid, do -server_vacuum just after the system journal migration from runtime. ---- - src/journal/journald-server.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/journal/journald-server.c src/journal/journald-server.c -index 52111f7..bf9cfcc 100644 ---- src/journal/journald-server.c -+++ src/journal/journald-server.c -@@ -1224,6 +1224,7 @@ static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo * - touch("/run/systemd/journal/flushed"); - server_flush_to_var(s); - server_sync(s); -+ server_vacuum(s); - - return 0; - } --- -1.7.9.2 - diff --git a/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch b/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch deleted file mode 100644 index 848a73d3..00000000 --- a/0004-login-set_controller-should-fail-if-prepare_vt-fails.patch +++ /dev/null @@ -1,134 +0,0 @@ -Based on baccf3e40bab6c0b69992ae29c396930de4660c9 Mon Sep 17 00:00:00 2001 -From: Olivier Brunel -Date: Fri, 8 Aug 2014 20:45:43 +0200 -Subject: [PATCH] login: set_controller should fail if prepare_vt fails - -If controllers can expect logind to have "prepared" the VT (e.g. set it to -graphics mode, etc) then TakeControl() should fail if said preparation -failed (and session_restore_vt() was called). - -(David: fixed up !CONFIG_VT case and errno-numbers) ---- - src/login/logind-session.c | 47 +++++++++++++++++++++++++++++++++------------ - src/login/logind-session.h | 2 - - 2 files changed, 36 insertions(+), 13 deletions(-) - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-08-26 10:14:21.014235811 +0000 -@@ -950,8 +950,8 @@ int session_kill(Session *s, KillWho who - static int session_open_vt(Session *s) { - char path[sizeof("/dev/tty") + DECIMAL_STR_MAX(s->vtnr)]; - -- if (!s->vtnr) -- return -1; -+ if (s->vtnr < 1) -+ return -ENODEV; - - if (s->vtfd >= 0) - return s->vtfd; -@@ -975,22 +975,38 @@ static int session_vt_fn(sd_event_source - return 0; - } - --void session_mute_vt(Session *s) { -+int session_mute_vt(Session *s) { - int vt, r; - struct vt_mode mode = { 0 }; - sigset_t mask; - -+ if (s->vtnr < 1) -+ return 0; -+ - vt = session_open_vt(s); - if (vt < 0) -- return; -+ return vt; -+ -+ r = fchown(vt, s->user->uid, -1); -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot change owner of /dev/tty%u: %m", s->vtnr); -+ goto error; -+ } - - r = ioctl(vt, KDSKBMODE, K_OFF); -- if (r < 0) -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot set K_OFF on /dev/tty%u: %m", s->vtnr); - goto error; -+ } - - r = ioctl(vt, KDSETMODE, KD_GRAPHICS); -- if (r < 0) -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot set KD_GRAPHICS on /dev/tty%u: %m", s->vtnr); - goto error; -+ } - - sigemptyset(&mask); - sigaddset(&mask, SIGUSR1); -@@ -1007,14 +1023,17 @@ void session_mute_vt(Session *s) { - mode.relsig = SIGUSR1; - mode.acqsig = SIGUSR1; - r = ioctl(vt, VT_SETMODE, &mode); -- if (r < 0) -+ if (r < 0) { -+ r = -errno; -+ log_error("Cannot set VT_PROCESS on /dev/tty%u: %m", s->vtnr); - goto error; -+ } - -- return; -+ return 0; - - error: -- log_error("cannot mute VT %u for session %s (%d/%d)", s->vtnr, s->id, r, errno); - session_restore_vt(s); -+ return r; - } - - void session_restore_vt(Session *s) { -@@ -1037,6 +1056,8 @@ void session_restore_vt(Session *s) { - mode.mode = VT_AUTO; - ioctl(vt, VT_SETMODE, &mode); - -+ fchown(vt, 0, -1); -+ - close_nointr_nofail(vt); - s->vtfd = -1; - } -@@ -1091,8 +1112,6 @@ int session_set_controller(Session *s, c - return r; - } - -- session_swap_controller(s, t); -- - /* When setting a session controller, we forcibly mute the VT and set - * it into graphics-mode. Applications can override that by changing - * VT state after calling TakeControl(). However, this serves as a good -@@ -1101,7 +1120,11 @@ int session_set_controller(Session *s, c - * exits. - * If logind crashes/restarts, we restore the controller during restart - * or reset the VT in case it crashed/exited, too. */ -- session_mute_vt(s); -+ r = session_mute_vt(s); -+ if (r < 0) -+ return r; -+ -+ session_swap_controller(s, t); - - return 0; - } ---- src/login/logind-session.h -+++ src/login/logind-session.h 2014-08-25 17:19:29.042236429 +0000 -@@ -172,7 +172,7 @@ SessionClass session_class_from_string(c - const char *kill_who_to_string(KillWho k) _const_; - KillWho kill_who_from_string(const char *s) _pure_; - --void session_mute_vt(Session *s); -+int session_mute_vt(Session *s); - void session_restore_vt(Session *s); - - bool session_is_controller(Session *s, const char *sender); diff --git a/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch b/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch deleted file mode 100644 index c19bfcee..00000000 --- a/0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 94036de887ad5b0dc805abe38b5c1c58b57d9465 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Tue, 11 Mar 2014 17:49:00 +0200 -Subject: [PATCH] logind: Do not fail display count if a device has no parent - -udev_device_get_parent() may return NULL when the device doesn't have a -parent, as is the case with (for example) /sys/devices/virtual/drm/ttm. - -Also, log an actual error message instead of "-12 displays connected". ---- - src/login/logind-action.c | 4 +++- - src/login/logind-core.c | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index ae7b350..1928f43 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -84,7 +84,9 @@ int manager_handle_action( - * treat like this under the assumption that there is - * no modern drm driver available. */ - n = manager_count_displays(m); -- if (n != 1) { -+ if (n < 0) -+ log_warning("Display counting failed: %s", strerror(-n)); -+ else if (n != 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } -diff --git src/login/logind-core.c src/login/logind-core.c -index ca34d37..053d2ed 100644 ---- src/login/logind-core.c -+++ src/login/logind-core.c -@@ -520,7 +520,7 @@ int manager_count_displays(Manager *m) { - - p = udev_device_get_parent(d); - if (!p) -- return -ENOMEM; -+ continue; - - /* If the parent shares the same subsystem as the - * device we are looking at then it is a connector, --- -1.7.9.2 - diff --git a/0004-machined-make-sure-GetMachineAddresses-is-available-.patch b/0004-machined-make-sure-GetMachineAddresses-is-available-.patch deleted file mode 100644 index 20b625ba..00000000 --- a/0004-machined-make-sure-GetMachineAddresses-is-available-.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d3152a09ac5804ec8603daee12f98cf03523cce0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 19 May 2014 00:47:26 +0900 -Subject: [PATCH] machined: make sure GetMachineAddresses() is available for - unprivileged processes - ---- - src/machine/org.freedesktop.machine1.conf | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git src/machine/org.freedesktop.machine1.conf src/machine/org.freedesktop.machine1.conf -index 970ccd8..ab349a5 100644 ---- src/machine/org.freedesktop.machine1.conf -+++ src/machine/org.freedesktop.machine1.conf -@@ -42,12 +42,20 @@ - - -+ -+ - - - -+ -+ - - - --- -1.7.9.2 - diff --git a/0004-man-document-missing-options-of-systemd-run.patch b/0004-man-document-missing-options-of-systemd-run.patch deleted file mode 100644 index a6e6551d..00000000 --- a/0004-man-document-missing-options-of-systemd-run.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 981ee551945f4e00de52fcbb7780fd7476bcd47e Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 5 Mar 2014 03:37:48 +0100 -Subject: [PATCH] man: document missing options of systemd-run - ---- - man/systemd-run.xml | 71 +++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 60 insertions(+), 11 deletions(-) - -diff --git man/systemd-run.xml man/systemd-run.xml -index 95c1cb7..81d41dc 100644 ---- man/systemd-run.xml -+++ man/systemd-run.xml -@@ -121,9 +121,9 @@ along with systemd; If not, see . - - - -- Provide description for the unit. If not -- specified, the command itself will be used as a description. -- See Description= in -+ Provide description for the service or scope -+ unit. If not specified, the command itself will be used as a -+ description. See Description= in - systemd.unit5. - - -@@ -140,10 +140,10 @@ along with systemd; If not, see . - - - -- After the service's process has terminated, keep -- the service around until it is explicitly stopped. This is -- useful to collect runtime information about the service after -- it finished running. Also see -+ After the service or scope process has -+ terminated, keep the service around until it is explicitly -+ stopped. This is useful to collect runtime information about -+ the service after it finished running. Also see - RemainAfterExit= in - systemd.service5. - -@@ -153,15 +153,64 @@ along with systemd; If not, see . - - - -- When terminating the scope unit, send a SIGHUP -- immediately after SIGTERM. This is useful to indicate to -- shells and shell-like processes that the connection has been -- severed. Also see SendSIGHUP= in -+ When terminating the scope or service unit, -+ send a SIGHUP immediately after SIGTERM. This is useful to -+ indicate to shells and shell-like processes that the -+ connection has been severed. Also see -+ SendSIGHUP= in - systemd.kill5. - - - - -+ -+ -+ -+ Sets the service type. Also see -+ Type= in -+ systemd.service5. This -+ option has no effect in conjunction with -+ . Defaults to -+ simple. -+ -+ -+ -+ -+ -+ -+ -+ Runs the service process under the UNIX user -+ and group. Also see User= and -+ Group= in -+ systemd.exec5. This -+ option has no effect in conjunction with -+ . -+ -+ -+ -+ -+ -+ -+ Runs the service process with the specified -+ nice level. Also see Nice= in -+ systemd.exec5. This -+ option has no effect in conjunction with -+ . -+ -+ -+ -+ -+ -+ -+ Runs the service process with the specified -+ environment variables set. Also see -+ Environment= in -+ systemd.exec5. This -+ option has no effect in conjunction with -+ . -+ -+ -+ - - - --- -1.7.9.2 - diff --git a/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch b/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch deleted file mode 100644 index 9ab7a2da..00000000 --- a/0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 455cd8b137b8ef45d04889f2d967c562a097f1e6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Oct 2014 19:24:53 +0200 -Subject: [PATCH] sd-bus: if we don't manage to properly allocate the error - message for an sd_bus_error, just go on - -sd_bus_error_setfv() must initialize the sd_bus_error value to some -sensible value and then return a good errno code matching that. If it -cannot work at all it should set the error statically to the OOM error. -But if it can work half-way (i.e. initialize the name, but not the -message) it should do so and still return the correct errno number for -it. - -This effectively reverts 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 ---- - src/libsystemd/sd-bus/bus-error.c | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c -index 5ca974a..af83c12 100644 ---- src/libsystemd/sd-bus/bus-error.c -+++ src/libsystemd/sd-bus/bus-error.c -@@ -194,13 +194,10 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li - return -ENOMEM; - } - -- if (format) { -- int r; -- -- r = vasprintf((char**) &e->message, format, ap); -- if (r < 0) -- return -ENOMEM; -- } -+ /* Of we hit OOM on formatting the pretty message, we ignore -+ * this, since we at least managed to write the error name */ -+ if (format) -+ (void) vasprintf((char**) &e->message, format, ap); - - e->_need_free = 1; - --- -1.7.9.2 - diff --git a/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch b/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch deleted file mode 100644 index 51b46fb4..00000000 --- a/0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7bb4d371af5ec6b8c50b71d2a80c2866d8134d9a Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Jul 2014 17:36:47 +0200 -Subject: [PATCH] sd-bus: when an event loop terminates, explicitly close the - bus - -This makes sure we actually release the bus and all the messages it -references. ---- - src/libsystemd/sd-bus/sd-bus.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index d52afe8..eb267d4 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -2940,6 +2940,7 @@ static int quit_callback(sd_event_source *event, void *userdata) { - assert(event); - - sd_bus_flush(bus); -+ sd_bus_close(bus); - - return 1; - } --- -1.7.9.2 - diff --git a/0004-sd-event-check-the-value-of-received-signal.patch b/0004-sd-event-check-the-value-of-received-signal.patch deleted file mode 100644 index 9c4662a9..00000000 --- a/0004-sd-event-check-the-value-of-received-signal.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7057bd993110c1eff0cd3a8776902ca66417634e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 3 Oct 2014 18:49:45 -0400 -Subject: [PATCH] sd-event: check the value of received signal - -Appease coverity report #1237775. - -Also rename ss to n, to make it visually different from ss. ---- - src/libsystemd/sd-event/sd-event.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index b56182d..4c67ee8 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -1973,20 +1973,22 @@ static int process_signal(sd_event *e, uint32_t events) { - - for (;;) { - struct signalfd_siginfo si; -- ssize_t ss; -+ ssize_t n; - sd_event_source *s = NULL; - -- ss = read(e->signal_fd, &si, sizeof(si)); -- if (ss < 0) { -+ n = read(e->signal_fd, &si, sizeof(si)); -+ if (n < 0) { - if (errno == EAGAIN || errno == EINTR) - return read_one; - - return -errno; - } - -- if (_unlikely_(ss != sizeof(si))) -+ if (_unlikely_(n != sizeof(si))) - return -EIO; - -+ assert(si.ssi_signo < _NSIG); -+ - read_one = true; - - if (si.ssi_signo == SIGCHLD) { --- -1.7.9.2 - diff --git a/0004-sd-journal-verify-that-object-start-with-the-field-n.patch b/0004-sd-journal-verify-that-object-start-with-the-field-n.patch deleted file mode 100644 index e3ee663d..00000000 --- a/0004-sd-journal-verify-that-object-start-with-the-field-n.patch +++ /dev/null @@ -1,41 +0,0 @@ -Based on 0f99f74a14ef193c1ebde687c5cc76e1d67b85ef Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 26 Aug 2014 23:54:31 -0400 -Subject: [PATCH] sd-journal: verify that object start with the field name - -If the journal is corrupted, we might return an object that does -not start with the expected field name and/or is shorter than it -should. ---- - src/journal/sd-journal.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git src/journal/sd-journal.c src/journal/sd-journal.c -index 80ff8fe..693707c 100644 ---- src/journal/sd-journal.c -+++ src/journal/sd-journal.c -@@ -2571,6 +2571,21 @@ _public_ int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_ - if (r < 0) - return r; - -+ /* Check if we have at least the field name and "=". */ -+ if (ol <= k) { -+ log_debug("%s:offset " OFSfmt ": object has size %zu, expected at least %zu", -+ j->unique_file->path, j->unique_offset, -+ ol, k + 1); -+ return -EBADMSG; -+ } -+ -+ if (memcmp(odata, j->unique_field, k) || ((const char*) odata)[k] != '=') { -+ log_debug("%s:offset " OFSfmt ": object does not start with \"%s=\"", -+ j->unique_file->path, j->unique_offset, -+ j->unique_field); -+ return -EBADMSG; -+ } -+ - /* OK, now let's see if we already returned this data - * object by checking if it exists in the earlier - * traversed files. */ --- -1.7.9.2 - diff --git a/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch b/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch deleted file mode 100644 index ba22748a..00000000 --- a/0004-selinux-fix-potential-double-free-crash-in-child-pro.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5e78424f4a27c07be50e246308035c877f204038 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 13 Oct 2014 15:25:09 +0200 -Subject: [PATCH] selinux: fix potential double free crash in child process - -Before returning from function we should reset ret to NULL, thus cleanup -function is nop. - -Also context_str() returns pointer to a string containing context but not a -copy, hence we must make copy it explicitly. ---- - src/shared/label.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/shared/label.c src/shared/label.c -index b6af38d..69d4616 100644 ---- src/shared/label.c -+++ src/shared/label.c -@@ -334,7 +334,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { - } - - freecon(mycon); -- mycon = context_str(bcon); -+ mycon = strdup(context_str(bcon)); - if (!mycon) { - r = -errno; - goto out; -@@ -348,6 +348,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { - } - - *label = ret; -+ ret = NULL; - r = 0; - - out: --- -1.7.9.2 - diff --git a/0004-shared-conf-parser.patch b/0004-shared-conf-parser.patch deleted file mode 100644 index 8a03d9d5..00000000 --- a/0004-shared-conf-parser.patch +++ /dev/null @@ -1,31 +0,0 @@ -Based on 83e341a637b75f7f592a5dc717c34d8b67ed4ffa Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 17 Sep 2014 22:17:53 +0200 -Subject: [PATCH] shared: conf-parser - -Check memory allocation. Found by Coverity. - -Fixes CID #1237644. ---- - src/shared/conf-parser.h | 4 ++++ - 1 file changed, 4 insertions(+) - ---- src/shared/conf-parser.h -+++ src/shared/conf-parser.h 2014-09-18 13:07:07.314735514 +0000 -@@ -181,6 +181,8 @@ int log_syntax_internal(const char *unit - assert(data); \ - \ - xs = new0(type, 1); \ -+ if(!xs) \ -+ return -ENOMEM; \ - *xs = invalid; \ - \ - FOREACH_WORD(w, l, rvalue, state) { \ -@@ -213,6 +215,7 @@ int log_syntax_internal(const char *unit - xs = realloc(xs, (++i + 1) * sizeof(type)); \ - if (!xs) \ - return -ENOMEM; \ -+ \ - *(xs + i) = invalid; \ - } \ - \ diff --git a/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch b/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch deleted file mode 100644 index 596aa557..00000000 --- a/0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 863f3ce0d050f005839f6aa41fe7bac5478a7b5e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 19 Sep 2014 08:03:31 +0200 -Subject: [PATCH] shared: wtmp-utmp - don't clear store_wtmp in - utmp_put_dead_process() - -Also modernize a few other things and add comments to explain CID #1237503 -and CID #1237504. ---- - src/shared/utmp-wtmp.c | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git src/shared/utmp-wtmp.c src/shared/utmp-wtmp.c -index 30a0c03..31f13ec 100644 ---- src/shared/utmp-wtmp.c -+++ src/shared/utmp-wtmp.c -@@ -92,8 +92,6 @@ int utmp_get_runlevel(int *runlevel, int *previous) { - static void init_timestamp(struct utmpx *store, usec_t t) { - assert(store); - -- zero(*store); -- - if (t <= 0) - t = now(CLOCK_REALTIME); - -@@ -143,7 +141,7 @@ static int write_entry_wtmp(const struct utmpx *store) { - assert(store); - - /* wtmp is a simple append-only file where each entry is -- simply appended to * the end; i.e. basically a log. */ -+ simply appended to the end; i.e. basically a log. */ - - errno = 0; - updwtmpx(_PATH_WTMPX, store); -@@ -172,7 +170,7 @@ static int write_entry_both(const struct utmpx *store) { - } - - int utmp_put_shutdown(void) { -- struct utmpx store; -+ struct utmpx store = {}; - - init_entry(&store, 0); - -@@ -183,7 +181,7 @@ int utmp_put_shutdown(void) { - } - - int utmp_put_reboot(usec_t t) { -- struct utmpx store; -+ struct utmpx store = {}; - - init_entry(&store, t); - -@@ -206,16 +204,17 @@ _pure_ static const char *sanitize_id(const char *id) { - } - - int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line) { -- struct utmpx store; -+ struct utmpx store = { -+ .ut_type = INIT_PROCESS, -+ .ut_pid = pid, -+ .ut_session = sid, -+ }; - - assert(id); - - init_timestamp(&store, 0); - -- store.ut_type = INIT_PROCESS; -- store.ut_pid = pid; -- store.ut_session = sid; -- -+ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ - strncpy(store.ut_id, sanitize_id(id), sizeof(store.ut_id)); - - if (line) -@@ -225,14 +224,15 @@ int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line - } - - int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { -- struct utmpx lookup, store, store_wtmp, *found; -+ struct utmpx lookup = { -+ .ut_type = INIT_PROCESS /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ -+ }, store, store_wtmp, *found; - - assert(id); - - setutxent(); - -- zero(lookup); -- lookup.ut_type = INIT_PROCESS; /* looks for DEAD_PROCESS, LOGIN_PROCESS, USER_PROCESS, too */ -+ /* ut_id needs only be nul-terminated if it is shorter than sizeof(ut_id) */ - strncpy(lookup.ut_id, sanitize_id(id), sizeof(lookup.ut_id)); - - found = getutxid(&lookup); -@@ -260,7 +260,7 @@ int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) { - - - int utmp_put_runlevel(int runlevel, int previous) { -- struct utmpx store; -+ struct utmpx store = {}; - int r; - - assert(runlevel > 0); --- -1.7.9.2 - diff --git a/0004-socket-properly-handle-if-our-service-vanished-durin.patch b/0004-socket-properly-handle-if-our-service-vanished-durin.patch deleted file mode 100644 index b119ad24..00000000 --- a/0004-socket-properly-handle-if-our-service-vanished-durin.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 640ace4a8de907994a1b95f6d368c3e6a8fcf60f Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 22 May 2014 16:56:21 +0900 -Subject: [PATCH] socket: properly handle if our service vanished during - runtime - ---- - src/core/socket.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git src/core/socket.c src/core/socket.c -index 05af8fe..aca20fd 100644 ---- src/core/socket.c -+++ src/core/socket.c -@@ -1503,6 +1503,12 @@ static void socket_enter_running(Socket *s, int cfd) { - } - - if (!pending) { -+ if (!UNIT_ISSET(s->service)) { -+ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id); -+ r = -ENOENT; -+ goto fail; -+ } -+ - r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL); - if (r < 0) - goto fail; --- -1.7.9.2 - diff --git a/0004-systemd-detect-virt-only-discover-Xen-domU.patch b/0004-systemd-detect-virt-only-discover-Xen-domU.patch deleted file mode 100644 index 246e09b3..00000000 --- a/0004-systemd-detect-virt-only-discover-Xen-domU.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 37287585b6ba9a55065c8f94458f6db3c0abe0af Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Fri, 6 Jun 2014 16:36:45 +0200 -Subject: [PATCH] systemd-detect-virt: only discover Xen domU - -The current vm detection lacks the distinction between Xen dom0 and Xen domU. -Both, dom0 and domU are running inside the hypervisor. -Therefore systemd-detect-virt and the ConditionVirtualization directive detect -dom0 as a virtual machine. - -dom0 is not using virtual devices but is accessing the real hardware. -Therefore dom0 should be considered the virtualisation host and not a virtual -machine. - -https://bugs.freedesktop.org/show_bug.cgi?id=77271 ---- - src/shared/virt.c | 34 +++++++++++++++++++++++++++------- - 1 file changed, 27 insertions(+), 7 deletions(-) - -diff --git src/shared/virt.c src/shared/virt.c -index 1e227c5..774915f 100644 ---- src/shared/virt.c -+++ src/shared/virt.c -@@ -148,7 +148,7 @@ static int detect_vm_dmi(const char **_id) { - - /* Returns a short identifier for the various VM implementations */ - int detect_vm(const char **id) { -- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; -+ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; - static thread_local int cached_found = -1; - static thread_local const char *cached_id = NULL; - const char *_id = NULL; -@@ -162,17 +162,37 @@ int detect_vm(const char **id) { - return cached_found; - } - -- /* Try high-level hypervisor sysfs file first: -+ /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file: - * -- * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ -- r = read_one_line_file("/sys/hypervisor/type", &hvtype); -+ * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */ -+ r = read_one_line_file("/proc/xen/capabilities", &domcap); - if (r >= 0) { -- if (streq(hvtype, "xen")) { -+ char *cap, *i = domcap; -+ -+ while ((cap = strsep(&i, ","))) -+ if (streq(cap, "control_d")) -+ break; -+ -+ if (!i) { - _id = "xen"; - r = 1; -- goto finish; - } -- } else if (r != -ENOENT) -+ -+ goto finish; -+ -+ } else if (r == -ENOENT) { -+ _cleanup_free_ char *hvtype = NULL; -+ -+ r = read_one_line_file("/sys/hypervisor/type", &hvtype); -+ if (r >= 0) { -+ if (streq(hvtype, "xen")) { -+ _id = "xen"; -+ r = 1; -+ goto finish; -+ } -+ } else if (r != -ENOENT) -+ return r; -+ } else - return r; - - /* this will set _id to "other" and return 0 for unknown hypervisors */ --- -1.7.9.2 - diff --git a/0004-systemd-python-use-.hex-instead-of-.get_hex.patch b/0004-systemd-python-use-.hex-instead-of-.get_hex.patch deleted file mode 100644 index 4ddad20e..00000000 --- a/0004-systemd-python-use-.hex-instead-of-.get_hex.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b532cf3722e04adb0bd075666eb9989a9390d0a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 5 Apr 2014 13:23:25 -0400 -Subject: [PATCH] systemd-python: use .hex instead of .get_hex() - -It turns out the latter got removed in Python 3. - -https://bugs.freedesktop.org/show_bug.cgi?id=77086 ---- - src/python-systemd/journal.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git src/python-systemd/journal.py src/python-systemd/journal.py -index 9c7e004..dd1f229 100644 ---- src/python-systemd/journal.py -+++ src/python-systemd/journal.py -@@ -293,7 +293,7 @@ class Reader(_Reader): - monotonic = monotonic.totalseconds() - monotonic = int(monotonic * 1000000) - if isinstance(bootid, _uuid.UUID): -- bootid = bootid.get_hex() -+ bootid = bootid.hex - return super(Reader, self).seek_monotonic(monotonic, bootid) - - def log_level(self, level): -@@ -314,7 +314,7 @@ class Reader(_Reader): - Equivalent to add_match(MESSAGE_ID=`messageid`). - """ - if isinstance(messageid, _uuid.UUID): -- messageid = messageid.get_hex() -+ messageid = messageid.hex - self.add_match(MESSAGE_ID=messageid) - - def this_boot(self, bootid=None): -@@ -346,7 +346,7 @@ class Reader(_Reader): - - def get_catalog(mid): - if isinstance(mid, _uuid.UUID): -- mid = mid.get_hex() -+ mid = mid.hex - return _get_catalog(mid) - - def _make_line(field, value): --- -1.7.9.2 - diff --git a/0004-systemd-return-the-first-error-from-manager_startup.patch b/0004-systemd-return-the-first-error-from-manager_startup.patch deleted file mode 100644 index 0db56a17..00000000 --- a/0004-systemd-return-the-first-error-from-manager_startup.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 1cd974edfd7cd91dcdf321e7202bd220bac50a2d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 18 Jul 2014 17:05:18 -0400 -Subject: [PATCH] systemd: return the first error from manager_startup() - ---- - src/core/manager.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git src/core/manager.c src/core/manager.c -index 2e63c5e..0653d7e 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -1005,11 +1005,8 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - dual_timestamp_get(&m->units_load_finish_timestamp); - - /* Second, deserialize if there is something to deserialize */ -- if (serialization) { -- q = manager_deserialize(m, serialization, fds); -- if (q < 0) -- r = q; -- } -+ if (serialization) -+ r = manager_deserialize(m, serialization, fds); - - /* Any fds left? Find some unit which wants them. This is - * useful to allow container managers to pass some file -@@ -1017,13 +1014,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - * socket-based activation of entire containers. */ - if (fdset_size(fds) > 0) { - q = manager_distribute_fds(m, fds); -- if (q < 0) -+ if (q < 0 && r == 0) - r = q; - } - - /* We might have deserialized the notify fd, but if we didn't - * then let's create the bus now */ -- manager_setup_notify(m); -+ q = manager_setup_notify(m); -+ if (q < 0 && r == 0) -+ r = q; - - /* We might have deserialized the kdbus control fd, but if we - * didn't, then let's create the bus now. */ -@@ -1033,7 +1032,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { - - /* Third, fire things up! */ - q = manager_coldplug(m); -- if (q < 0) -+ if (q < 0 && r == 0) - r = q; - - if (serialization) { --- -1.7.9.2 - diff --git a/0004-util-ignore_file-should-not-allow-files-ending-with.patch b/0004-util-ignore_file-should-not-allow-files-ending-with.patch deleted file mode 100644 index a30b4c4f..00000000 --- a/0004-util-ignore_file-should-not-allow-files-ending-with.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 93f1a06374e335e8508d89e1bdaadf45be6ab777 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 31 May 2014 21:36:23 +0200 -Subject: [PATCH] util: ignore_file should not allow files ending with '~' - -ignore_file currently allows any file ending with '~' while it -seems that the opposite was intended: -a228a22fda4faa9ecb7c5a5e499980c8ae5d2a08 ---- - src/shared/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/util.c src/shared/util.c -index 0c27394..17b0ae1 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1371,7 +1371,7 @@ bool ignore_file(const char *filename) { - assert(filename); - - if (endswith(filename, "~")) -- return false; -+ return true; - - return ignore_file_allow_backup(filename); - } --- -1.7.9.2 - diff --git a/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch b/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch deleted file mode 100644 index 23ccc1d5..00000000 --- a/0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 306a55c86360a7ae7b2509771d5ea6ab0d166d85 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Sun, 29 Jun 2014 22:15:33 +0200 -Subject: [PATCH] util: refuse considering UID 0xFFFF and 0xFFFFFFFF valid - ---- - src/shared/util.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git src/shared/util.c src/shared/util.c -index e7ff0f8..1709bb7 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -280,6 +280,14 @@ int parse_uid(const char *s, uid_t* ret_uid) { - if ((unsigned long) uid != ul) - return -ERANGE; - -+ /* Some libc APIs use (uid_t) -1 as special placeholder */ -+ if (uid == (uid_t) 0xFFFFFFFF) -+ return -EINVAL; -+ -+ /* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */ -+ if (uid == (uid_t) 0xFFFF) -+ return -EINVAL; -+ - *ret_uid = uid; - return 0; - } --- -1.7.9.2 - diff --git a/0005-Replace-var-run-with-run-in-remaining-places.patch b/0005-Replace-var-run-with-run-in-remaining-places.patch deleted file mode 100644 index 67c35e18..00000000 --- a/0005-Replace-var-run-with-run-in-remaining-places.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 41a55c46ab8fb4ef6727434227071321fc762cce Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 25 Feb 2014 20:11:04 -0500 -Subject: [PATCH] Replace /var/run with /run in remaining places - -/run was already used almost everywhere, fix the remaining places -for consistency. ---- - man/daemon.xml | 2 +- - man/runlevel.xml | 2 +- - man/tmpfiles.d.xml | 4 ++-- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/systemctl/systemctl.c | 4 ++-- - 5 files changed, 8 insertions(+), 8 deletions(-) - -diff --git man/daemon.xml man/daemon.xml -index 88dd082..fd29ba7 100644 ---- man/daemon.xml -+++ man/daemon.xml -@@ -149,7 +149,7 @@ - write the daemon PID (as returned by - getpid()) to a - PID file, for example -- /var/run/foobar.pid -+ /run/foobar.pid - (for a hypothetical daemon "foobar") - to ensure that the daemon cannot be - started more than once. This must be -diff --git man/runlevel.xml man/runlevel.xml -index 976753a..4db06dc 100644 ---- man/runlevel.xml -+++ man/runlevel.xml -@@ -124,7 +124,7 @@ - - - -- /var/run/utmp -+ /run/utmp - - The utmp database - runlevel reads the -diff --git man/tmpfiles.d.xml man/tmpfiles.d.xml -index 812129f..0a006d1 100644 ---- man/tmpfiles.d.xml -+++ man/tmpfiles.d.xml -@@ -441,8 +441,8 @@ r! /tmp/.X[0-9]*-lock - /etc/tmpfiles.d/screen.conf example - screen needs two directories created at boot with specific modes and ownership. - -- d /var/run/screens 1777 root root 10d --d /var/run/uscreens 0755 root root 10d12h -+ d /run/screens 1777 root root 10d -+d /run/uscreens 0755 root root 10d12h - - - /etc/tmpfiles.d/abrt.conf example -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 20f540d..1318272 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) - machine = NULL; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/var/run/dbus/system_bus_socket") - 1; -+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); - - return 0; - } -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 34d7079..8692716 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -3758,8 +3758,8 @@ static int show_one( - streq(verb, "status")) { - /* According to LSB: "program not running" */ - /* 0: program is running or service is OK -- * 1: program is dead and /var/run pid file exists -- * 2: program is dead and /var/lock lock file exists -+ * 1: program is dead and /run PID file exists -+ * 2: program is dead and /run/lock lock file exists - * 3: program is not running - * 4: program or service status is unknown - */ --- -1.7.9.2 - diff --git a/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch b/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch deleted file mode 100644 index 37c42d2e..00000000 --- a/0005-backlight-Do-not-clamp-brightness-for-LEDs.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 4cd2b2cf8ca585d15ebc859701b346658262b5bb Mon Sep 17 00:00:00 2001 -From: Denis Tikhomirov -Date: Thu, 5 Jun 2014 23:59:40 +0400 -Subject: [PATCH] backlight: Do not clamp brightness for LEDs - -https://bugs.freedesktop.org/show_bug.cgi?id=77092 - -On Thu, Jun 05, 2014 at 08:37:20AM +0200, Lennart Poettering wrote: -> The patch is line-broken, please send an uncorrupted patch! -I am very sorry, I forgot that my client limits line width. I will use -mutt now on. -> clamp_brightness() clamps the brightness value to the range of the -> actual device. This is a recent addition that was added to deal with -> driver updates where the resolution is changed. I don't think this part -> should be dropped for LED devices. The clamp_brightness() call hence -> should be called unconditionally, however, internally it should use a -> different min_brightness value if something is an !backlight devices... -Thank you for explanation, this sounds very reasonable to me. Please, -see updated patch: ---- - src/backlight/backlight.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index 691472c..4d94ebf 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -225,11 +225,13 @@ static unsigned get_max_brightness(struct udev_device *device) { - - /* Some systems turn the backlight all the way off at the lowest levels. - * clamp_brightness clamps the saved brightness to at least 1 or 5% of -- * max_brightness. This avoids preserving an unreadably dim screen, which -- * would otherwise force the user to disable state restoration. */ -+ * max_brightness in case of 'backlight' subsystem. This avoids preserving -+ * an unreadably dim screen, which would otherwise force the user to -+ * disable state restoration. */ - static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { - int r; - unsigned brightness, new_brightness, min_brightness; -+ const char *subsystem; - - r = safe_atou(*value, &brightness); - if (r < 0) { -@@ -237,7 +239,12 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned - return; - } - -- min_brightness = MAX(1U, max_brightness/20); -+ subsystem = udev_device_get_subsystem(device); -+ if (streq_ptr(subsystem, "backlight")) -+ min_brightness = MAX(1U, max_brightness/20); -+ else -+ min_brightness = 0; -+ - new_brightness = CLAMP(brightness, min_brightness, max_brightness); - if (new_brightness != brightness) { - char *old_value = *value; --- -1.7.9.2 - diff --git a/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch b/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch deleted file mode 100644 index bee5ed1a..00000000 --- a/0005-backlight-handle-saved-brightness-exceeding-max-brig.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0c9d8f1d4b5018199cb5a9b57580dc1480a7f915 Mon Sep 17 00:00:00 2001 -From: Jani Nikula -Date: Wed, 7 May 2014 12:01:01 +0300 -Subject: [PATCH] backlight: handle saved brightness exceeding max brightness - -If too high a brightness value has been saved (e.g. due to kernel -mechanism changing from one kernel version to another, or booting the -userspace on another system), the brightness update fails and the -process exits. - -Clamp saved brightness between the policy minimum introduced in - -commit 7b909d7407965c03caaba30daae7aee113627a83 -Author: Josh Triplett -Date: Tue Mar 11 21:16:33 2014 -0700 - - backlight: Avoid restoring brightness to an unreadably dim level - -and the absolute maximum. - -https://bugs.freedesktop.org/show_bug.cgi?id=78200 ---- - src/backlight/backlight.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git src/backlight/backlight.c src/backlight/backlight.c -index c708391..691472c 100644 ---- src/backlight/backlight.c -+++ src/backlight/backlight.c -@@ -229,7 +229,7 @@ static unsigned get_max_brightness(struct udev_device *device) { - * would otherwise force the user to disable state restoration. */ - static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { - int r; -- unsigned brightness, new_brightness; -+ unsigned brightness, new_brightness, min_brightness; - - r = safe_atou(*value, &brightness); - if (r < 0) { -@@ -237,7 +237,8 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned - return; - } - -- new_brightness = MAX3(brightness, 1U, max_brightness/20); -+ min_brightness = MAX(1U, max_brightness/20); -+ new_brightness = CLAMP(brightness, min_brightness, max_brightness); - if (new_brightness != brightness) { - char *old_value = *value; - -@@ -247,7 +248,11 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned - return; - } - -- log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); -+ log_info("Saved brightness %s %s to %s.", old_value, -+ new_brightness > brightness ? -+ "too low; increasing" : "too high; decreasing", -+ *value); -+ - free(old_value); - } - } --- -1.7.9.2 - diff --git a/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch b/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch deleted file mode 100644 index 119d1108..00000000 --- a/0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c119700c06b248b1c2a082b40b1a346f58d89da0 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Sun, 28 Sep 2014 18:12:51 +0300 -Subject: [PATCH] bootchart: Do not try to access data for non-existing CPU's - -Cpu's are assigned normally, so starting at 0, so the MAX_CPU index will -always be one smaller than the actual number. - -Found with Coverity. ---- - src/bootchart/store.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/bootchart/store.c src/bootchart/store.c -index 3099ff1..9ea1b27 100644 ---- src/bootchart/store.c -+++ src/bootchart/store.c -@@ -199,7 +199,7 @@ vmstat_next: - - if (strstr(key, "cpu")) { - r = safe_atoi((const char*)(key+3), &c); -- if (r < 0 || c > MAXCPUS) -+ if (r < 0 || c > MAXCPUS -1) - /* Oops, we only have room for MAXCPUS data */ - break; - sampledata->runtime[c] = atoll(rt); --- -1.7.9.2 - diff --git a/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch b/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch deleted file mode 100644 index 93f4711e..00000000 --- a/0005-bus-avoid-using-m-kdbus-after-freeing-it.patch +++ /dev/null @@ -1,35 +0,0 @@ -Based on fd989a0bc999d79719408ac28b126d9c9016bcb5 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 12:20:38 +0300 -Subject: [PATCH] bus: avoid using m->kdbus after freeing it - -m->kdbus could be freed before it is released. Changing the -order fixes the issue. - -Found with Coverity. Fixes: CID#1237798 ---- - src/libsystemd/sd-bus/bus-message.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- src/libsystemd/sd-bus/bus-message.c -+++ src/libsystemd/sd-bus/bus-message.c 2014-09-16 10:31:37.538735664 +0000 -@@ -126,9 +126,6 @@ static void message_free(sd_bus_message - - message_reset_parts(m); - -- if (m->free_kdbus) -- free(m->kdbus); -- - if (m->release_kdbus) { - uint64_t off; - -@@ -136,6 +133,9 @@ static void message_free(sd_bus_message - ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &off); - } - -+ if (m->free_kdbus) -+ free(m->kdbus); -+ - if (m->bus) - sd_bus_unref(m->bus); - diff --git a/0005-bus-close-a-bus-that-failed-to-connect.patch b/0005-bus-close-a-bus-that-failed-to-connect.patch deleted file mode 100644 index 9633317f..00000000 --- a/0005-bus-close-a-bus-that-failed-to-connect.patch +++ /dev/null @@ -1,28 +0,0 @@ -From db9bb83fa5ec72da38eb5bd0c259ef8c76a71858 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 3 Jul 2014 01:19:21 +0200 -Subject: [PATCH] bus: close a bus that failed to connect - ---- - src/libsystemd/sd-bus/sd-bus.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index c25375c..28fc19e 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -1033,8 +1033,10 @@ _public_ int sd_bus_start(sd_bus *bus) { - else - return -EINVAL; - -- if (r < 0) -+ if (r < 0) { -+ sd_bus_close(bus); - return r; -+ } - - return bus_send_hello(bus); - } --- -1.7.9.2 - diff --git a/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch b/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch deleted file mode 100644 index 361a1713..00000000 --- a/0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch +++ /dev/null @@ -1,137 +0,0 @@ -From cdc06ed7b6120c1049305fa7033f228ee9d86043 Mon Sep 17 00:00:00 2001 -From: David Strauss -Date: Mon, 28 Apr 2014 12:08:32 -0700 -Subject: [PATCH] core: Filter by state behind the D-Bus API, not in the - systemctl client. - ---- - src/core/dbus-manager.c | 24 +++++++++++++++++++++++- - src/core/org.freedesktop.systemd1.conf | 4 ++++ - src/systemctl/systemctl.c | 24 +++++++++++++----------- - 3 files changed, 40 insertions(+), 12 deletions(-) - -diff --git src/core/dbus-manager.c src/core/dbus-manager.c -index 58e484d..d5fab0a 100644 ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c -@@ -728,7 +728,7 @@ static int method_reset_failed(sd_bus *bus, sd_bus_message *message, void *userd - return sd_bus_reply_method_return(message, NULL); - } - --static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { -+static int list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error, char **states) { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - Manager *m = userdata; - const char *k; -@@ -761,6 +761,12 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat - - following = unit_following(u); - -+ if (!strv_isempty(states) && -+ !strv_contains(states, unit_load_state_to_string(u->load_state)) && -+ !strv_contains(states, unit_active_state_to_string(unit_active_state(u))) && -+ !strv_contains(states, unit_sub_state_to_string(u))) -+ continue; -+ - unit_path = unit_dbus_path(u); - if (!unit_path) - return -ENOMEM; -@@ -794,6 +800,21 @@ static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdat - return sd_bus_send(bus, reply, NULL); - } - -+static int method_list_units(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { -+ return list_units_filtered(bus, message, userdata, error, NULL); -+} -+ -+static int method_list_units_filtered(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { -+ _cleanup_strv_free_ char **states = NULL; -+ int r; -+ -+ r = sd_bus_message_read_strv(message, &states); -+ if (r < 0) -+ return r; -+ -+ return list_units_filtered(bus, message, userdata, error, states); -+} -+ - static int method_list_jobs(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - Manager *m = userdata; -@@ -1670,6 +1691,7 @@ const sd_bus_vtable bus_manager_vtable[] = { - SD_BUS_METHOD("ClearJobs", NULL, NULL, method_clear_jobs, 0), - SD_BUS_METHOD("ResetFailed", NULL, NULL, method_reset_failed, 0), - SD_BUS_METHOD("ListUnits", NULL, "a(ssssssouso)", method_list_units, SD_BUS_VTABLE_UNPRIVILEGED), -+ SD_BUS_METHOD("ListUnitsFiltered", "as", "a(ssssssouso)", method_list_units_filtered, SD_BUS_VTABLE_UNPRIVILEGED), - SD_BUS_METHOD("ListJobs", NULL, "a(usssoo)", method_list_jobs, SD_BUS_VTABLE_UNPRIVILEGED), - SD_BUS_METHOD("Subscribe", NULL, NULL, method_subscribe, SD_BUS_VTABLE_UNPRIVILEGED), - SD_BUS_METHOD("Unsubscribe", NULL, NULL, method_unsubscribe, SD_BUS_VTABLE_UNPRIVILEGED), -diff --git src/core/org.freedesktop.systemd1.conf src/core/org.freedesktop.systemd1.conf -index a375dce..9dfca81 100644 ---- src/core/org.freedesktop.systemd1.conf -+++ src/core/org.freedesktop.systemd1.conf -@@ -64,6 +64,10 @@ - - -+ -+ - - load_state) || -- strv_contains(arg_states, u->sub_state) || -- strv_contains(arg_states, u->active_state); -- - if (!strv_isempty(patterns)) { - char **pattern; - -@@ -467,6 +461,7 @@ static int get_unit_list( - UnitInfo **_unit_infos, - char **patterns) { - -+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - _cleanup_free_ UnitInfo *unit_infos = NULL; -@@ -478,15 +473,22 @@ static int get_unit_list( - assert(_reply); - assert(_unit_infos); - -- r = sd_bus_call_method( -+ r = sd_bus_message_new_method_call( - bus, -+ &m, - "org.freedesktop.systemd1", - "/org/freedesktop/systemd1", - "org.freedesktop.systemd1.Manager", -- "ListUnits", -- &error, -- &reply, -- NULL); -+ "ListUnitsFiltered"); -+ -+ if (r < 0) -+ return bus_log_create_error(r); -+ -+ r = sd_bus_message_append_strv(m, arg_states); -+ if (r < 0) -+ return bus_log_create_error(r); -+ -+ r = sd_bus_call(bus, m, 0, &error, &reply); - if (r < 0) { - log_error("Failed to list units: %s", bus_error_message(&error, r)); - return r; --- -1.7.9.2 - diff --git a/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch b/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch deleted file mode 100644 index 05d6edc1..00000000 --- a/0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch +++ /dev/null @@ -1,121 +0,0 @@ -Based on c264aeab4b0e7b69f469e12e78d4a48b3ed7a66e Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 27 Jul 2014 00:11:08 +0200 -Subject: [PATCH] core: only set the kernel's timezone when the RTC runs in - local time - -We can not reliably manage any notion of local time. Every daylight -saving time change or time zone change by traveling will make the -time jump, and the local time might jump backwards which creates -unsolvable problems with file timestamps. - -We will no longer tell the kernel our local time zone and leave -everything set to UTC. This will effectively turn FAT timestamps -into UTC timestamps. - -If and only if the machine is configured to read the RTC in local -time mode, the kernel's time zone will be configured, but -systemd-timesysnc will disable the kernel's system time to RTC -syncing. In this mode, the RTC will not be managed, and external -tools like Windows bootups are expected to manage the RTC's time. - -https://bugs.freedesktop.org/show_bug.cgi?id=81538 ---- - src/core/main.c | 23 +++++++++++++++-------- - src/shared/hwclock.c | 15 ++++++++------- - src/shared/hwclock.h | 2 +- - 3 files changed, 24 insertions(+), 16 deletions(-) - ---- src/core/main.c -+++ src/core/main.c 2014-07-28 09:59:35.778235585 +0000 -@@ -1349,7 +1349,14 @@ int main(int argc, char *argv[]) { - if (hwclock_is_localtime() > 0) { - int min; - -- /* The first-time call to settimeofday() does a time warp in the kernel */ -+ /* -+ * The very first call of settimeofday() also does a time warp in the kernel. -+ * -+ * In the rtc-in-local time mode, we set the kernel's timezone, and rely on -+ * external tools to take care of maintaining the RTC and do all adjustments. -+ * This matches the behavior of Windows, which leaves the RTC alone if the -+ * registry tells that the RTC runs in UTC. -+ */ - r = hwclock_set_timezone(&min); - if (r < 0) - log_error("Failed to apply local time delta, ignoring: %s", strerror(-r)); -@@ -1357,19 +1364,19 @@ int main(int argc, char *argv[]) { - log_info("RTC configured in localtime, applying delta of %i minutes to system time.", min); - } else if (!in_initrd()) { - /* -- * Do dummy first-time call to seal the kernel's time warp magic -+ * Do a dummy very first call to seal the kernel's time warp magic. - * - * Do not call this this from inside the initrd. The initrd might not - * carry /etc/adjtime with LOCAL, but the real system could be set up - * that way. In such case, we need to delay the time-warp or the sealing - * until we reach the real system. -+ * -+ * Do no set the kernel's timezone. The concept of local time cannot -+ * be supported reliably, the time will jump or be incorrect at every daylight -+ * saving time change. All kernel local time concepts will be treated -+ * as UTC that way. - */ -- hwclock_reset_timezone(); -- -- /* Tell the kernel our timezone */ -- r = hwclock_set_timezone(NULL); -- if (r < 0) -- log_error("Failed to set the kernel's timezone, ignoring: %s", strerror(-r)); -+ hwclock_reset_timewarp(); - } - } - ---- src/shared/hwclock.c -+++ src/shared/hwclock.c 2014-07-28 09:59:12.914235566 +0000 -@@ -124,9 +124,10 @@ int hwclock_set_timezone(int *min) { - tz.tz_dsttime = 0; /* DST_NONE*/ - - /* -- * If the hardware clock does not run in UTC, but in local time: -- * The very first time we set the kernel's timezone, it will warp -- * the clock so that it runs in UTC instead of local time. -+ * If the RTC does not run in UTC but in local time, the very first -+ * call to settimeofday() will set the kernel's timezone and will warp the -+ * system clock, so that it runs in UTC instead of the local time we -+ * have read from the RTC. - */ - if (settimeofday(tv_null, &tz) < 0) - return -errno; -@@ -135,7 +136,7 @@ int hwclock_set_timezone(int *min) { - return 0; - } - --int hwclock_reset_timezone(void) { -+int hwclock_reset_timewarp(void) { - const struct timeval *tv_null = NULL; - struct timezone tz; - -@@ -143,9 +144,9 @@ int hwclock_reset_timezone(void) { - tz.tz_dsttime = 0; /* DST_NONE*/ - - /* -- * The very first time we set the kernel's timezone, it will warp -- * the clock. Do a dummy call here, so the time warping is sealed -- * and we set only the timezone with next call. -+ * The very first call to settimeofday() does time warp magic. Do a -+ * dummy call here, so the time warping is sealed and all later calls -+ * behave as expected. - */ - if (settimeofday(tv_null, &tz) < 0) - return -errno; ---- src/shared/hwclock.h -+++ src/shared/hwclock.h 2014-07-28 09:59:25.034736002 +0000 -@@ -23,6 +23,6 @@ - - int hwclock_is_localtime(void); - int hwclock_set_timezone(int *min); --int hwclock_reset_timezone(void); -+int hwclock_reset_timewarp(void); - int hwclock_get_time(struct tm *tm); - int hwclock_set_time(const struct tm *tm); diff --git a/0005-cryptsetup-fix-an-OOM-check.patch b/0005-cryptsetup-fix-an-OOM-check.patch deleted file mode 100644 index 23b39bb5..00000000 --- a/0005-cryptsetup-fix-an-OOM-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0e2f14014c65b4d8b30146e414579154cfa932da Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 23 Oct 2014 00:30:04 +0200 -Subject: [PATCH] cryptsetup: fix an OOM check - ---- - src/cryptsetup/cryptsetup-generator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/cryptsetup/cryptsetup-generator.c src/cryptsetup/cryptsetup-generator.c -index 137b787..c7f30f6 100644 ---- src/cryptsetup/cryptsetup-generator.c -+++ src/cryptsetup/cryptsetup-generator.c -@@ -387,7 +387,7 @@ int main(int argc, char *argv[]) { - if (k == 2 && streq(proc_uuid, device + 5)) { - free(options); - options = strdup(p); -- if (!proc_options) { -+ if (!options) { - log_oom(); - goto cleanup; - } --- -1.7.9.2 - diff --git a/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index a309f6b9..00000000 --- a/0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 24e29480bd800d3acdb3087e5863440bd0dd1d80 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Fri, 16 May 2014 15:57:35 -0700 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 53 ++++++++++++++++++++++++++++++++- - 1 file changed, 52 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 28aa2a7..a65c7db 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -961,4 +961,55 @@ bluetooth:v013D* - ID_VENDOR_FROM_DATABASE=WirelessWERX - - bluetooth:v013E* -- ID_VENDOR_FROM_DATABASE=nimai -+ ID_VENDOR_FROM_DATABASE=Nod, Inc. -+ -+bluetooth:v013F* -+ ID_VENDOR_FROM_DATABASE=B&B Manufacturing Company -+ -+bluetooth:v0140* -+ ID_VENDOR_FROM_DATABASE=Alpine Electronics (China) Co., Ltd -+ -+bluetooth:v0141* -+ ID_VENDOR_FROM_DATABASE=FedEx Services -+ -+bluetooth:v0142* -+ ID_VENDOR_FROM_DATABASE=Grape Systems Inc. -+ -+bluetooth:v0143* -+ ID_VENDOR_FROM_DATABASE=Bkon Connect -+ -+bluetooth:v0144* -+ ID_VENDOR_FROM_DATABASE=Lintech GmbH -+ -+bluetooth:v0145* -+ ID_VENDOR_FROM_DATABASE=Novatel Wireless -+ -+bluetooth:v0146* -+ ID_VENDOR_FROM_DATABASE=Ciright -+ -+bluetooth:v0147* -+ ID_VENDOR_FROM_DATABASE=Mighty Cast, Inc. -+ -+bluetooth:v0148* -+ ID_VENDOR_FROM_DATABASE=Ambimat Electronics -+ -+bluetooth:v0149* -+ ID_VENDOR_FROM_DATABASE=Perytons Ltd. -+ -+bluetooth:v014A* -+ ID_VENDOR_FROM_DATABASE=Tivoli Audio, LLC -+ -+bluetooth:v014B* -+ ID_VENDOR_FROM_DATABASE=Master Lock -+ -+bluetooth:v014C* -+ ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd -+ -+bluetooth:v014D* -+ ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. -+ -+bluetooth:v014E* -+ ID_VENDOR_FROM_DATABASE=Tangerine, Inc. -+ -+bluetooth:v014F* -+ ID_VENDOR_FROM_DATABASE=B&W Group Ltd. --- -1.7.9.2 - diff --git a/0005-hwdb-update.patch b/0005-hwdb-update.patch deleted file mode 100644 index e97da5f5..00000000 --- a/0005-hwdb-update.patch +++ /dev/null @@ -1,1560 +0,0 @@ -From 7ba52a1283a0864b56947fa091048e8fe31a5899 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 21 May 2014 18:19:24 +0900 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 155 ++++++++++++++++++++- - hwdb/20-pci-vendor-model.hwdb | 141 ++++++++++++++++--- - hwdb/20-usb-vendor-model.hwdb | 302 ++++++++++++++++++++++++++++++++++++++++- - 3 files changed, 572 insertions(+), 26 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index afc0d90..6188bfc 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -52915,6 +52915,9 @@ OUI:0CA42A* - OUI:0CA694* - ID_OUI_FROM_DATABASE=Sunitec Enterprise Co.,Ltd - -+OUI:0CAC05* -+ ID_OUI_FROM_DATABASE=Unitend Technologies Inc. -+ - OUI:0CAF5A* - ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED - -@@ -53164,6 +53167,9 @@ OUI:1048B1* - OUI:104D77* - ID_OUI_FROM_DATABASE=Innovative Computer Engineering - -+OUI:105172* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:1056CA* - ID_OUI_FROM_DATABASE=Peplink International Ltd. - -@@ -53488,6 +53494,9 @@ OUI:147373* - OUI:147411* - ID_OUI_FROM_DATABASE=RIM - -+OUI:147590* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:147DB3* - ID_OUI_FROM_DATABASE=JOA TELECOM.CO.,LTD - -@@ -53899,6 +53908,9 @@ OUI:18C8E7* - OUI:18CC23* - ID_OUI_FROM_DATABASE=Philio Technology Corporation - -+OUI:18CF5E* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:18D071* - ID_OUI_FROM_DATABASE=DASAN SMC, Inc. - -@@ -54517,6 +54529,9 @@ OUI:20E791* - OUI:20EAC7* - ID_OUI_FROM_DATABASE=SHENZHEN RIOPINE ELECTRONICS CO., LTD - -+OUI:20ED74* -+ ID_OUI_FROM_DATABASE=Ability enterprise co.,Ltd. -+ - OUI:20EEC6* - ID_OUI_FROM_DATABASE=Elefirst Science & Tech Co ., ltd - -@@ -54742,6 +54757,9 @@ OUI:24CBE7* - OUI:24CF21* - ID_OUI_FROM_DATABASE=Shenzhen State Micro Technology Co., Ltd - -+OUI:24D13F* -+ ID_OUI_FROM_DATABASE=MEXUS CO.,LTD -+ - OUI:24D2CC* - ID_OUI_FROM_DATABASE=SmartDrive Systems Inc. - -@@ -55438,6 +55456,9 @@ OUI:2CF203* - OUI:2CF4C5* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:2CFAA2* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:30055C* - ID_OUI_FROM_DATABASE=Brother industries, LTD. - -@@ -55708,6 +55729,9 @@ OUI:30F9ED* - OUI:30FD11* - ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. - -+OUI:3400A3* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:340286* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -56077,6 +56101,9 @@ OUI:38229D* - OUI:3822D6* - ID_OUI_FROM_DATABASE=H3C Technologies Co., Limited - -+OUI:38262B* -+ ID_OUI_FROM_DATABASE=UTran Technology -+ - OUI:3826CD* - ID_OUI_FROM_DATABASE=ANDTEK - -@@ -56395,6 +56422,9 @@ OUI:3C404F* - OUI:3C438E* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:3C46D8* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:3C4A92* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -56710,6 +56740,9 @@ OUI:404A18* - OUI:404D8E* - ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd - -+OUI:404EEB* -+ ID_OUI_FROM_DATABASE=Higher Way Electronic Co., Ltd. -+ - OUI:4050E0* - ID_OUI_FROM_DATABASE=Milton Security Group LLC - -@@ -57709,6 +57742,9 @@ OUI:4CB9C8* - OUI:4CBAA3* - ID_OUI_FROM_DATABASE=Bison Electronics Inc. - -+OUI:4CBB58* -+ ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. -+ - OUI:4CBCA5* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -57757,6 +57793,9 @@ OUI:4CEDDE* - OUI:4CF02E* - ID_OUI_FROM_DATABASE=Vifa Denmark A/S - -+OUI:4CF2BF* -+ ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd. -+ - OUI:4CF45B* - ID_OUI_FROM_DATABASE=Blue Clover Devices - -@@ -57994,6 +58033,9 @@ OUI:50B888* - OUI:50B8A2* - ID_OUI_FROM_DATABASE=ImTech Technologies LLC, - -+OUI:50BD5F* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:50C006* - ID_OUI_FROM_DATABASE=Carmanah Signs - -@@ -58285,6 +58327,9 @@ OUI:54D1B0* - OUI:54D46F* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:54DF00* -+ ID_OUI_FROM_DATABASE=Ulterius Technologies, LLC -+ - OUI:54DF63* - ID_OUI_FROM_DATABASE=Intrakey technologies GmbH - -@@ -58597,6 +58642,9 @@ OUI:58F6BF* - OUI:58F98E* - ID_OUI_FROM_DATABASE=SECUDOS GmbH - -+OUI:58FCDB* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:58FD20* - ID_OUI_FROM_DATABASE=Bravida Sakerhet AB - -@@ -58621,6 +58669,9 @@ OUI:5C1193* - OUI:5C1437* - ID_OUI_FROM_DATABASE=Thyssenkrupp Aufzugswerke GmbH - -+OUI:5C1515* -+ ID_OUI_FROM_DATABASE=ADVAN -+ - OUI:5C15E1* - ID_OUI_FROM_DATABASE=AIDC TECHNOLOGY (S) PTE LTD - -@@ -58891,12 +58942,18 @@ OUI:5CF96A* - OUI:5CF9DD* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:5CF9F0* -+ ID_OUI_FROM_DATABASE=Atomos Engineering P/L -+ - OUI:5CFF35* - ID_OUI_FROM_DATABASE=Wistron Corporation - - OUI:5CFFFF* - ID_OUI_FROM_DATABASE=Shenzhen Kezhonglong Optoelectronic Technology Co., Ltd - -+OUI:600292* -+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION -+ - OUI:6002B4* - ID_OUI_FROM_DATABASE=Wistron NeWeb Corp. - -@@ -59323,6 +59380,9 @@ OUI:644F74* - OUI:644FB0* - ID_OUI_FROM_DATABASE=Hyunjin.com - -+OUI:645106* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:64517E* - ID_OUI_FROM_DATABASE=LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD. - -@@ -59902,6 +59962,9 @@ OUI:68FB95* - OUI:68FCB3* - ID_OUI_FROM_DATABASE=Next Level Security Systems, Inc. - -+OUI:6C0273* -+ ID_OUI_FROM_DATABASE=Shenzhen Jin Yun Video Equipment Co., Ltd. -+ - OUI:6C0460* - ID_OUI_FROM_DATABASE=RBH Access Technologies Inc. - -@@ -60874,6 +60937,9 @@ OUI:781FDB* - OUI:78223D* - ID_OUI_FROM_DATABASE=Affirmed Networks - -+OUI:7824AF* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:782544* - ID_OUI_FROM_DATABASE=Omnima Limited - -@@ -60919,6 +60985,9 @@ OUI:784405* - OUI:784476* - ID_OUI_FROM_DATABASE=Zioncom technology co.,ltd - -+OUI:784561* -+ ID_OUI_FROM_DATABASE=CyberTAN Technology Inc. -+ - OUI:7845C4* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -61024,6 +61093,9 @@ OUI:789966* - OUI:78998F* - ID_OUI_FROM_DATABASE=MEDILINE ITALIA SRL - -+OUI:789CE7* -+ ID_OUI_FROM_DATABASE=Shenzhen Aikede Technology Co., Ltd -+ - OUI:789ED0* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -61480,6 +61552,9 @@ OUI:7CC8D7* - OUI:7CCB0D* - ID_OUI_FROM_DATABASE=Antaira Technologies, LLC - -+OUI:7CCCB8* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:7CCD11* - ID_OUI_FROM_DATABASE=MS-Magnet - -@@ -61945,6 +62020,9 @@ OUI:842F75* - OUI:8430E5* - ID_OUI_FROM_DATABASE=SkyHawke Technologies, LLC - -+OUI:8432EA* -+ ID_OUI_FROM_DATABASE=ANHUI WANZTEN P&T CO., LTD -+ - OUI:843497* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -63295,6 +63373,9 @@ OUI:94CDAC* - OUI:94CE2C* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -+OUI:94CE31* -+ ID_OUI_FROM_DATABASE=CTS Limited -+ - OUI:94D019* - ID_OUI_FROM_DATABASE=Cydle Corp. - -@@ -63409,6 +63490,9 @@ OUI:982CBE* - OUI:982D56* - ID_OUI_FROM_DATABASE=Resolution Audio - -+OUI:982F3C* -+ ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. -+ - OUI:983000* - ID_OUI_FROM_DATABASE=Beijing KEMACOM Technologies Co., Ltd. - -@@ -63508,6 +63592,9 @@ OUI:9876B6* - OUI:987770* - ID_OUI_FROM_DATABASE=Pep Digital Technology (Guangzhou) Co., Ltd - -+OUI:987E46* -+ ID_OUI_FROM_DATABASE=Emizon Networks Limited -+ - OUI:988217* - ID_OUI_FROM_DATABASE=Disruptive Ltd - -@@ -64303,6 +64390,9 @@ OUI:A40BED* - OUI:A40CC3* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:A41242* -+ ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ - OUI:A4134E* - ID_OUI_FROM_DATABASE=Luxul - -@@ -65740,6 +65830,9 @@ OUI:B4B5AF* - OUI:B4B676* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:B4B859* -+ ID_OUI_FROM_DATABASE=Texa Spa -+ - OUI:B4B88D* - ID_OUI_FROM_DATABASE=Thuh Company - -@@ -65815,6 +65908,9 @@ OUI:B80305* - OUI:B80415* - ID_OUI_FROM_DATABASE=Bayan Audio - -+OUI:B808CF* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:B80B9D* - ID_OUI_FROM_DATABASE=ROPEX Industrie-Elektronik GmbH - -@@ -66277,6 +66373,9 @@ OUI:BC5FF4* - OUI:BC629F* - ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. - -+OUI:BC671C* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:BC6778* - ID_OUI_FROM_DATABASE=Apple - -@@ -66412,6 +66511,9 @@ OUI:BCCFCC* - OUI:BCD177* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:BCD1D3* -+ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp -+ - OUI:BCD5B6* - ID_OUI_FROM_DATABASE=d2d technologies - -@@ -66706,6 +66808,9 @@ OUI:C0E54E* - OUI:C0EAE4* - ID_OUI_FROM_DATABASE=Sonicwall - -+OUI:C0EEFB* -+ ID_OUI_FROM_DATABASE=OnePlus Tech (Shenzhen) Ltd -+ - OUI:C0F1C4* - ID_OUI_FROM_DATABASE=Pacidal Corporation Ltd. - -@@ -66721,6 +66826,9 @@ OUI:C0F8DA* - OUI:C0F991* - ID_OUI_FROM_DATABASE=GME Standard Communications P/L - -+OUI:C40006* -+ ID_OUI_FROM_DATABASE=Lipi Data Systems Ltd. -+ - OUI:C40142* - ID_OUI_FROM_DATABASE=MaxMedia Technology Limited - -@@ -67885,6 +67993,9 @@ OUI:D09C30* - OUI:D09D0A* - ID_OUI_FROM_DATABASE=LINKCOM - -+OUI:D0A0D6* -+ ID_OUI_FROM_DATABASE=Chengdu TD Tech Ltd. -+ - OUI:D0A311* - ID_OUI_FROM_DATABASE=Neuberger Gebäudeautomation GmbH - -@@ -68126,7 +68237,7 @@ OUI:D45AB2* - ID_OUI_FROM_DATABASE=Galleon Systems - - OUI:D45C70* -- ID_OUI_FROM_DATABASE=Wireless Gigabit Alliance -+ ID_OUI_FROM_DATABASE=Wi-Fi Alliance - - OUI:D45D42* - ID_OUI_FROM_DATABASE=Nokia Corporation -@@ -68359,6 +68470,9 @@ OUI:D808F5* - OUI:D809C3* - ID_OUI_FROM_DATABASE=Cercacor Labs - -+OUI:D80CCF* -+ ID_OUI_FROM_DATABASE=C.G.V. S.A.S. -+ - OUI:D80DE3* - ID_OUI_FROM_DATABASE=FXI TECHNOLOGIES AS - -@@ -68386,6 +68500,9 @@ OUI:D81EDE* - OUI:D824BD* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:D82522* -+ ID_OUI_FROM_DATABASE=Pace plc -+ - OUI:D826B9* - ID_OUI_FROM_DATABASE=Guangdong Coagent Electronics S &T Co., Ltd. - -@@ -68521,6 +68638,9 @@ OUI:D89685* - OUI:D89695* - ID_OUI_FROM_DATABASE=Apple - -+OUI:D896E0* -+ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. -+ - OUI:D8973B* - ID_OUI_FROM_DATABASE=Artesyn Embedded Technologies - -@@ -68941,6 +69061,9 @@ OUI:E01C41* - OUI:E01CEE* - ID_OUI_FROM_DATABASE=Bravo Tech, Inc. - -+OUI:E01D38* -+ ID_OUI_FROM_DATABASE=Beijing HuaqinWorld Technology Co.,Ltd -+ - OUI:E01D3B* - ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd - -@@ -69373,6 +69496,9 @@ OUI:E47CF9* - OUI:E47D5A* - ID_OUI_FROM_DATABASE=Beijing Hanbang Technology Corp. - -+OUI:E47FB2* -+ ID_OUI_FROM_DATABASE=Fujitsu Limited -+ - OUI:E48184* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -@@ -69829,6 +69955,9 @@ OUI:EC219F* - OUI:EC2257* - ID_OUI_FROM_DATABASE=JiangSu NanJing University Electronic Information Technology Co.,Ltd - -+OUI:EC2280* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:EC233D* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -@@ -69970,6 +70099,9 @@ OUI:ECB106* - OUI:ECB541* - ID_OUI_FROM_DATABASE=SHINANO E and E Co.Ltd. - -+OUI:ECB907* -+ ID_OUI_FROM_DATABASE=CloudGenix Inc -+ - OUI:ECBBAE* - ID_OUI_FROM_DATABASE=Digivoice Tecnologia em Eletronica Ltda - -@@ -70189,6 +70321,9 @@ OUI:F0728C* - OUI:F073AE* - ID_OUI_FROM_DATABASE=PEAK-System Technik - -+OUI:F0761C* -+ ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD. -+ - OUI:F07765* - ID_OUI_FROM_DATABASE=Sourcefire, Inc - -@@ -70378,6 +70513,9 @@ OUI:F40321* - OUI:F4044C* - ID_OUI_FROM_DATABASE=ValenceTech Limited - -+OUI:F40669* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:F4068D* - ID_OUI_FROM_DATABASE=devolo AG - -@@ -70642,6 +70780,9 @@ OUI:F4EC38* - OUI:F4F15A* - ID_OUI_FROM_DATABASE=Apple - -+OUI:F4F26D* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. -+ - OUI:F4F5A5* - ID_OUI_FROM_DATABASE=Nokia corporation - -@@ -70825,6 +70966,9 @@ OUI:F871FE* - OUI:F872EA* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:F87394* -+ ID_OUI_FROM_DATABASE=NETGEAR INC., -+ - OUI:F8769B* - ID_OUI_FROM_DATABASE=Neopis Co., Ltd. - -@@ -70915,6 +71059,9 @@ OUI:F8C001* - OUI:F8C091* - ID_OUI_FROM_DATABASE=Highgates Technology - -+OUI:F8C288* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F8C678* - ID_OUI_FROM_DATABASE=Carefusion - -@@ -71167,6 +71314,9 @@ OUI:FC683E* - OUI:FC6C31* - ID_OUI_FROM_DATABASE=LXinstruments GmbH - -+OUI:FC6DC0* -+ ID_OUI_FROM_DATABASE=BME CORPORATION -+ - OUI:FC7516* - ID_OUI_FROM_DATABASE=D-Link International - -@@ -71319,3 +71469,6 @@ OUI:FCFBFB* - - OUI:FCFE77* - ID_OUI_FROM_DATABASE=Hitachi Reftechno, Inc. -+ -+OUI:FCFFAA* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAL public listing for more information. -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 2957774..62941b9 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -4205,6 +4205,9 @@ pci:v00001002d00005F57* - pci:v00001002d00006600* - ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] - -+pci:v00001002d00006600sv0000103Csd00001952* -+ ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8670A/8670M/8750M] (ProBook 455 G1) -+ - pci:v00001002d00006601* - ID_MODEL_FROM_DATABASE=Mars [Radeon HD 8730M] - -@@ -4292,6 +4295,12 @@ pci:v00001002d00006640* - pci:v00001002d00006641* - ID_MODEL_FROM_DATABASE=Saturn PRO [Radeon HD 8930M] - -+pci:v00001002d00006646* -+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon R9 M280X] -+ -+pci:v00001002d00006647* -+ ID_MODEL_FROM_DATABASE=Bonaire PRO [Radeon R9 M270X] -+ - pci:v00001002d00006649* - ID_MODEL_FROM_DATABASE=Bonaire [FirePro W5100] - -@@ -6137,6 +6146,9 @@ pci:v00001002d0000683Dsv0000103Csd00006890* - pci:v00001002d0000683Dsv00001043sd00008760* - ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - -+pci:v00001002d0000683Dsv00001462sd00002710* -+ ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (R7770-PMD1GD5) -+ - pci:v00001002d0000683Dsv0000174Bsd00008304* - ID_MODEL_FROM_DATABASE=Cape Verde XT [Radeon HD 7770/8760 / R7 250X] (Radeon HD 8760 OEM) - -@@ -7856,6 +7868,15 @@ pci:v00001002d00006901* - pci:v00001002d00006920* - ID_MODEL_FROM_DATABASE=Tonga - -+pci:v00001002d00006921* -+ ID_MODEL_FROM_DATABASE=Amethyst XT [Radeon R9 M295X] -+ -+pci:v00001002d0000692B* -+ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] -+ -+pci:v00001002d0000692F* -+ ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] -+ - pci:v00001002d0000700F* - ID_MODEL_FROM_DATABASE=RS100 AGP Bridge - -@@ -24470,6 +24491,9 @@ pci:v000010DEd00000640* - pci:v000010DEd00000641* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] - -+pci:v000010DEd00000641sv00001682sd00004009* -+ ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) -+ - pci:v000010DEd00000643* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] - -@@ -26306,6 +26330,9 @@ pci:v000010DEd00000FD8* - pci:v000010DEd00000FD9* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 645M] - -+pci:v000010DEd00000FDB* -+ ID_MODEL_FROM_DATABASE=GK107M -+ - pci:v000010DEd00000FDF* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 740M] - -@@ -26861,6 +26888,12 @@ pci:v000010DEd00001140sv00001028sd000005E8* - pci:v000010DEd00001140sv00001028sd000005F4* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv00001028sd0000064E* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001028sd0000068D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv0000103Csd000018EF* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -@@ -27185,6 +27218,36 @@ pci:v000010DEd00001140sv000017AAsd00003803* - pci:v000010DEd00001140sv000017AAsd00003804* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv000017AAsd00003806* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) -+ -+pci:v000010DEd00001140sv000017AAsd00003808* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) -+ -+pci:v000010DEd00001140sv000017AAsd0000380D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd0000380E* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd0000380F* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003811* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003812* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003813* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003816* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00003818* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv000017AAsd00003901* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M) - -@@ -27260,12 +27323,27 @@ pci:v000010DEd00001140sv000017AAsd0000502E* - pci:v000010DEd00001140sv000017AAsd0000502F* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv000017AAsd00005030* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) -+ -+pci:v000010DEd00001140sv000017AAsd00005031* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M) -+ -+pci:v000010DEd00001140sv000017AAsd00005032* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv000017AAsd00005033* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv000017AAsd0000503E* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - - pci:v000010DEd00001140sv000017AAsd0000503F* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -+pci:v000010DEd00001140sv000017AAsd00005040* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001854sd00000177* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - -@@ -28443,7 +28521,7 @@ pci:v000010ECd00008168sv00001043sd00008432* - ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8P67 and other motherboards) - - pci:v000010ECd00008168sv00001043sd00008505* -- ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (P8 series motherboard) - - pci:v000010ECd00008168sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (D270S/D250S Motherboard) -@@ -35300,6 +35378,9 @@ pci:v000011ABd00007810* - pci:v000011ABd00007820* - ID_MODEL_FROM_DATABASE=MV78200 [Discovery Innovation] ARM SoC - -+pci:v000011ABd00007823* -+ ID_MODEL_FROM_DATABASE=MV78230 [Armada XP] ARM SoC -+ - pci:v000011ABd0000F003* - ID_MODEL_FROM_DATABASE=GT-64010 Primary Image Piranha Image Generator - -@@ -36602,17 +36683,20 @@ pci:v00001217d00008120* - pci:v00001217d00008130* - ID_MODEL_FROM_DATABASE=Integrated MS/MSPRO/xD Controller - -+pci:v00001217d00008220* -+ ID_MODEL_FROM_DATABASE=OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller -+ - pci:v00001217d00008221* -- ID_MODEL_FROM_DATABASE=SD/MMC Card Reader Controller -+ ID_MODEL_FROM_DATABASE=OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller - - pci:v00001217d00008320* -- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller -+ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller - - pci:v00001217d00008320sv00001028sd000004A3* -- ID_MODEL_FROM_DATABASE=OZ600 MMC/SD Controller (Precision M4600) -+ ID_MODEL_FROM_DATABASE=OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller (Precision M4600) - - pci:v00001217d00008321* -- ID_MODEL_FROM_DATABASE=Integrated MMC/SD controller -+ ID_MODEL_FROM_DATABASE=OZ600RJ0/OZ900RJ0/OZ600RJS SD/MMC Card Reader Controller - - pci:v00001217d00008330* - ID_MODEL_FROM_DATABASE=OZ600 MS/xD Controller -@@ -46403,6 +46487,9 @@ pci:v000014F1d00008800sv00000070sd00009802* - pci:v000014F1d00008800sv00001002sd000000F8* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder Pro) - -+pci:v000014F1d00008800sv00001002sd000000F9* -+ ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (ATI TV Wonder) -+ - pci:v000014F1d00008800sv00001002sd0000A101* - ID_MODEL_FROM_DATABASE=CX23880/1/2/3 PCI Video and Audio Decoder (HDTV Wonder) - -@@ -50978,6 +51065,12 @@ pci:v000018F4d00000125* - pci:v000018F4d00000135* - ID_MODEL_FROM_DATABASE=NT20E2-PTP Network Adapter 2x10Gb - -+pci:v000018F4d00000145* -+ ID_MODEL_FROM_DATABASE=NT40E3-4-PTP Network Adapter 4x10Gb -+ -+pci:v000018F4d00000155* -+ ID_MODEL_FROM_DATABASE=NT100E3-1-PTP Network Adapter 1x100Gb -+ - pci:v000018F6* - ID_VENDOR_FROM_DATABASE=NextIO - -@@ -55143,7 +55236,7 @@ pci:v00008086d00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller - - pci:v00008086d00000150sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) - - pci:v00008086d00000150sv00001849sd00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) -@@ -55229,6 +55322,9 @@ pci:v00008086d0000015E* - pci:v00008086d00000162* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller - -+pci:v00008086d00000162sv00001043sd000084CA* -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (P8 series motherboard) -+ - pci:v00008086d00000162sv00001849sd00000162* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (Motherboard) - -@@ -59061,10 +59157,10 @@ pci:v00008086d00001521sv00001028sd00000602* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 2P I350-t LOM) - - pci:v00008086d00001521sv00001028sd00001F60* -- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 4P I350crNDC) -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P I350-t rNDC) - - pci:v00008086d00001521sv00001028sd00001F62* -- ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Intel GbE 2P I350crNDC) -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X540/I350 rNDC) - - pci:v00008086d00001521sv00001028sd0000FF9A* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X710/I350 rNDC) -@@ -59250,7 +59346,10 @@ pci:v00008086d00001533* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection - - pci:v00008086d00001533sv0000103Csd00000003* -- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) -+ -+pci:v00008086d00001533sv000010A9sd0000802C* -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) - - pci:v00008086d00001533sv000017AAsd00001100* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (ThinkServer Ethernet Server Adapter) -@@ -59261,15 +59360,15 @@ pci:v00008086d00001533sv00008086sd00000001* - pci:v00008086d00001533sv00008086sd00000002* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet Server Adapter I210-T1) - --pci:v00008086d00001534* -- ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -- - pci:v00008086d00001536* - ID_MODEL_FROM_DATABASE=I210 Gigabit Fiber Network Connection - - pci:v00008086d00001537* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - -+pci:v00008086d00001538* -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -+ - pci:v00008086d00001539* - ID_MODEL_FROM_DATABASE=I211 Gigabit Network Connection - -@@ -60267,7 +60366,7 @@ pci:v00008086d00001E02* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] - - pci:v00008086d00001E02sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (P8 series motherboard) - - pci:v00008086d00001E02sv00001849sd00001E02* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (Motherboard) -@@ -60374,6 +60473,9 @@ pci:v00008086d00001E20sv00001043sd00001517* - pci:v00008086d00001E20sv00001043sd00008415* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (P8H77-I Motherboard) - -+pci:v00008086d00001E20sv00001043sd00008445* -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (ASUS P8Z77-V LX Motherboard) -+ - pci:v00008086d00001E20sv00001849sd00001898* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family High Definition Audio Controller (Z77 Extreme4 motherboard) - -@@ -60387,7 +60489,7 @@ pci:v00008086d00001E22sv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E22sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (P8 series motherboard) - - pci:v00008086d00001E22sv00001849sd00001E22* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family SMBus Controller (Motherboard) -@@ -60411,7 +60513,7 @@ pci:v00008086d00001E26sv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E26sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (P8 series motherboard) - - pci:v00008086d00001E26sv00001849sd00001E26* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (Motherboard) -@@ -60426,7 +60528,7 @@ pci:v00008086d00001E2Dsv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Zenbook Prime UX31A) - - pci:v00008086d00001E2Dsv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (P8 series motherboard) - - pci:v00008086d00001E2Dsv00001849sd00001E2D* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (Motherboard) -@@ -60444,7 +60546,7 @@ pci:v00008086d00001E31sv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Zenbook Prime UX31A) - - pci:v00008086d00001E31sv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (P8 series motherboard) - - pci:v00008086d00001E31sv00001849sd00001E31* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family USB xHCI Host Controller (Motherboard) -@@ -60462,7 +60564,7 @@ pci:v00008086d00001E3Asv00001043sd00001517* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Zenbook Prime UX31A) - - pci:v00008086d00001E3Asv00001043sd000084CA* -- ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8H77-I Motherboard) -+ ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (P8 series motherboard) - - pci:v00008086d00001E3Asv00001849sd00001E3A* - ID_MODEL_FROM_DATABASE=7 Series/C210 Series Chipset Family MEI Controller #1 (Motherboard) -@@ -60488,6 +60590,9 @@ pci:v00008086d00001E43* - pci:v00008086d00001E44* - ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller - -+pci:v00008086d00001E44sv00001043sd000084CA* -+ ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (P8 series motherboard) -+ - pci:v00008086d00001E44sv00001849sd00001E44* - ID_MODEL_FROM_DATABASE=Z77 Express Chipset LPC Controller (Motherboard) - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 52586bc..05f267d 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -41163,7 +41163,7 @@ usb:v1234pED02* - ID_MODEL_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle - - usb:v1235* -- ID_VENDOR_FROM_DATABASE=Novation EMS -+ ID_VENDOR_FROM_DATABASE=Focusrite-Novation - - usb:v1235p0001* - ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition -@@ -41729,6 +41729,9 @@ usb:v12D1p155A* - usb:v12D1p1575* - ID_MODEL_FROM_DATABASE=K5150 LTE modem - -+usb:v12D1p15CA* -+ ID_MODEL_FROM_DATABASE=E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode) -+ - usb:v12D1p1805* - ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone - -@@ -41744,6 +41747,12 @@ usb:v12D1p1C20* - usb:v12D1p1D50* - ID_MODEL_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband - -+usb:v12D1p1F01* -+ ID_MODEL_FROM_DATABASE=E353/E3131 (Mass storage mode) -+ -+usb:v12D1p1F16* -+ ID_MODEL_FROM_DATABASE=K5150 LTE modem (Mass Storage Mode) -+ - usb:v12D1p380B* - ID_MODEL_FROM_DATABASE=WiMAX USB modem(s) - -@@ -41762,6 +41771,12 @@ usb:v12D6p0888* - usb:v12D7* - ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD. - -+usb:v12D8* -+ ID_VENDOR_FROM_DATABASE=Araneus Information Systems Oy -+ -+usb:v12D8p0001* -+ ID_MODEL_FROM_DATABASE=Alea I True Random Number Generator -+ - usb:v12E6* - ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH - -@@ -41805,7 +41820,7 @@ usb:v1307p0163* - ID_MODEL_FROM_DATABASE=256MB/512MB/1GB Flash Drive - - usb:v1307p0165* -- ID_MODEL_FROM_DATABASE=2GB/4GB Flash Drive -+ ID_MODEL_FROM_DATABASE=2GB/4GB/8GB Flash Drive - - usb:v1307p0190* - ID_MODEL_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader -@@ -41846,6 +41861,51 @@ usb:v1312* - usb:v1313* - ID_VENDOR_FROM_DATABASE=ThorLabs - -+usb:v1313p0010* -+ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (Jungo) -+ -+usb:v1313p0011* -+ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (Jungo) -+ -+usb:v1313p0012* -+ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (Jungo) -+ -+usb:v1313p0110* -+ ID_MODEL_FROM_DATABASE=LC1 Linear Camera (VISA) -+ -+usb:v1313p0111* -+ ID_MODEL_FROM_DATABASE=SP1 Spectrometer (VISA) -+ -+usb:v1313p0112* -+ ID_MODEL_FROM_DATABASE=SP2 Spectrometer (VISA) -+ -+usb:v1313p8001* -+ ID_MODEL_FROM_DATABASE=TXP-Series Slot (TXP5001, TXP5004) -+ -+usb:v1313p8012* -+ ID_MODEL_FROM_DATABASE=BC106 Camera Beam Profiler -+ -+usb:v1313p8013* -+ ID_MODEL_FROM_DATABASE=WFS10 Wavefront Sensor -+ -+usb:v1313p8017* -+ ID_MODEL_FROM_DATABASE=BC206 Camera Beam Profiler -+ -+usb:v1313p8019* -+ ID_MODEL_FROM_DATABASE=BP2 Multi Slit Beam Profiler -+ -+usb:v1313p8020* -+ ID_MODEL_FROM_DATABASE=PM300 Optical Power Meter -+ -+usb:v1313p8021* -+ ID_MODEL_FROM_DATABASE=PM300E Optical Power and Energy Meter -+ -+usb:v1313p8022* -+ ID_MODEL_FROM_DATABASE=PM320E Optical Power and Energy Meter -+ -+usb:v1313p8030* -+ ID_MODEL_FROM_DATABASE=ER100 Extinction Ratio Meter -+ - usb:v1313p8070* - ID_MODEL_FROM_DATABASE=PM100D - -@@ -41975,6 +42035,18 @@ usb:v1342p0204* - usb:v1342p0304* - ID_MODEL_FROM_DATABASE=EasiDock Ethernet - -+usb:v1343* -+ ID_VENDOR_FROM_DATABASE=Citizen Systems -+ -+usb:v1343p0003* -+ ID_MODEL_FROM_DATABASE=CX / DNP DS40 -+ -+usb:v1343p0004* -+ ID_MODEL_FROM_DATABASE=CX-W / DNP DS80 -+ -+usb:v1343p0005* -+ ID_MODEL_FROM_DATABASE=CY / DNP DSRX -+ - usb:v1345* - ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp. - -@@ -42002,6 +42074,12 @@ usb:v1347p0403* - usb:v1347p0404* - ID_MODEL_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD - -+usb:v1347p0405* -+ ID_MODEL_FROM_DATABASE=Gx CCD-I CCD -+ -+usb:v1347p0406* -+ ID_MODEL_FROM_DATABASE=Gx CCD-F CCD -+ - usb:v1347p0410* - ID_MODEL_FROM_DATABASE=G1-0400 CCD - -@@ -42149,6 +42227,9 @@ usb:v138Ap003C* - usb:v138Ap003D* - ID_MODEL_FROM_DATABASE=VFS491 - -+usb:v138Ap0050* -+ ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor -+ - usb:v138E* - ID_VENDOR_FROM_DATABASE=Jungo LTD - -@@ -42161,6 +42242,9 @@ usb:v1390* - usb:v1390p0001* - ID_MODEL_FROM_DATABASE=GO 520 T/GO 630/ONE XL (v9) - -+usb:v1390p5454* -+ ID_MODEL_FROM_DATABASE=Blue & Me 2 -+ - usb:v1391* - ID_VENDOR_FROM_DATABASE=IdealTEK, Inc. - -@@ -42263,6 +42347,15 @@ usb:v13B1p0039* - usb:v13B1p003A* - ID_MODEL_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236] - -+usb:v13B1p003B* -+ ID_MODEL_FROM_DATABASE=AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573] -+ -+usb:v13B1p003E* -+ ID_MODEL_FROM_DATABASE=AE6000 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] -+ -+usb:v13B1p003F* -+ ID_MODEL_FROM_DATABASE=WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] -+ - usb:v13B1p13B1* - ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster - -@@ -42446,6 +42539,12 @@ usb:v13D3p3315* - usb:v13D3p3375* - ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter - -+usb:v13D3p3392* -+ ID_MODEL_FROM_DATABASE=Azurewave 43228+20702 -+ -+usb:v13D3p3394* -+ ID_MODEL_FROM_DATABASE=Bluetooth -+ - usb:v13D3p5070* - ID_MODEL_FROM_DATABASE=Webcam - -@@ -42458,6 +42557,9 @@ usb:v13D3p5115* - usb:v13D3p5116* - ID_MODEL_FROM_DATABASE=Integrated Webcam - -+usb:v13D3p5122* -+ ID_MODEL_FROM_DATABASE=2M Integrated Webcam -+ - usb:v13D3p5126* - ID_MODEL_FROM_DATABASE=PC Cam - -@@ -42524,6 +42626,9 @@ usb:v13FDp0840* - usb:v13FDp0841* - ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW - -+usb:v13FDp1040* -+ ID_MODEL_FROM_DATABASE=INIC-1511L PATA Bridge -+ - usb:v13FDp1340* - ID_MODEL_FROM_DATABASE=Hi-Speed USB to SATA Bridge - -@@ -42533,9 +42638,15 @@ usb:v13FDp160F* - usb:v13FDp1640* - ID_MODEL_FROM_DATABASE=INIC-1610L SATA Bridge - -+usb:v13FDp1669* -+ ID_MODEL_FROM_DATABASE=INIC-1609PN -+ - usb:v13FDp1840* - ID_MODEL_FROM_DATABASE=INIC-1608 SATA bridge - -+usb:v13FDp1E40* -+ ID_MODEL_FROM_DATABASE=INIC-1610P SATA bridge -+ - usb:v13FE* - ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc. - -@@ -42555,10 +42666,10 @@ usb:v13FEp1E50* - ID_MODEL_FROM_DATABASE=U3 Smart Drive - - usb:v13FEp1F00* -- ID_MODEL_FROM_DATABASE=DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive -+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler / Patriot Xporter - - usb:v13FEp1F23* -- ID_MODEL_FROM_DATABASE=2Gb -+ ID_MODEL_FROM_DATABASE=PS2232 flash drive controller - - usb:v13FEp2240* - ID_MODEL_FROM_DATABASE=microSD card reader -@@ -42569,12 +42680,18 @@ usb:v13FEp3100* - usb:v13FEp3123* - ID_MODEL_FROM_DATABASE=Verbatim STORE N GO 4GB - -+usb:v13FEp3600* -+ ID_MODEL_FROM_DATABASE=flash drive (4GB, EMTEC) -+ - usb:v13FEp3800* - ID_MODEL_FROM_DATABASE=Rage XT Flash Drive - - usb:v13FEp3E00* - ID_MODEL_FROM_DATABASE=Flash Drive - -+usb:v13FEp5000* -+ ID_MODEL_FROM_DATABASE=USB flash drive (32 GB SHARKOON Accelerate) -+ - usb:v13FEp5100* - ID_MODEL_FROM_DATABASE=Flash Drive - -@@ -42674,6 +42791,12 @@ usb:v1415p2000* - usb:v1419* - ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD. - -+usb:v1421* -+ ID_VENDOR_FROM_DATABASE=Sensor Technology -+ -+usb:v1421p0605* -+ ID_MODEL_FROM_DATABASE=Sentech Camera -+ - usb:v1429* - ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co. - -@@ -42776,6 +42899,18 @@ usb:v1457p5118* - usb:v1457p5119* - ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port - -+usb:v1457p511A* -+ ID_MODEL_FROM_DATABASE=HXD8 u-boot usbtty CDC ACM Mode -+ -+usb:v1457p511B* -+ ID_MODEL_FROM_DATABASE=SMDK2440 u-boot usbtty CDC ACM mode -+ -+usb:v1457p511C* -+ ID_MODEL_FROM_DATABASE=SMDK2443 u-boot usbtty CDC ACM mode -+ -+usb:v1457p511D* -+ ID_MODEL_FROM_DATABASE=QT2410 u-boot usbtty CDC ACM mode -+ - usb:v1457p5120* - ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial - -@@ -42935,6 +43070,9 @@ usb:v148E* - usb:v148F* - ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp. - -+usb:v148Fp1000* -+ ID_MODEL_FROM_DATABASE=Motorola BC4 Bluetooth 3.0+HS Adapter -+ - usb:v148Fp1706* - ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter - -@@ -42983,6 +43121,9 @@ usb:v148Fp5372* - usb:v148Fp5572* - ID_MODEL_FROM_DATABASE=RT5572 Wireless Adapter - -+usb:v148Fp7601* -+ ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter -+ - usb:v148Fp9020* - ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter - -@@ -42998,6 +43139,15 @@ usb:v1491p0020* - usb:v1493* - ID_VENDOR_FROM_DATABASE=Suunto - -+usb:v1493p0010* -+ ID_MODEL_FROM_DATABASE=Bluebird [Ambit] -+ -+usb:v1493p0019* -+ ID_MODEL_FROM_DATABASE=Duck [Ambit2] -+ -+usb:v1493p001A* -+ ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] -+ - usb:v1497* - ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. - -@@ -43118,6 +43268,9 @@ usb:v14CD* - usb:v14CDp121C* - ID_MODEL_FROM_DATABASE=microSD card reader - -+usb:v14CDp121F* -+ ID_MODEL_FROM_DATABASE=microSD CardReader SY-T18 -+ - usb:v14CDp123A* - ID_MODEL_FROM_DATABASE=SD/MMC/RS-MMC Card Reader - -@@ -43131,7 +43284,7 @@ usb:v14CDp6116* - ID_MODEL_FROM_DATABASE=M6116 SATA Bridge - - usb:v14CDp6600* -- ID_MODEL_FROM_DATABASE=USB 2.0 IDE DEVICE -+ ID_MODEL_FROM_DATABASE=M110E PATA bridge - - usb:v14CDp6700* - ID_MODEL_FROM_DATABASE=Card Reader -@@ -43166,6 +43319,9 @@ usb:v14E1* - usb:v14E1p5000* - ID_MODEL_FROM_DATABASE=PenMount 5000 Touch Controller - -+usb:v14E4* -+ ID_VENDOR_FROM_DATABASE=Broadcom Corp. -+ - usb:v14E5* - ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd. - -@@ -43214,6 +43370,15 @@ usb:v1501* - usb:v1509* - ID_VENDOR_FROM_DATABASE=First International Computer, Inc. - -+usb:v1509p0A01* -+ ID_MODEL_FROM_DATABASE=LI-3100 Area Meter -+ -+usb:v1509p0A02* -+ ID_MODEL_FROM_DATABASE=LI-7000 CO2/H2O Gas Analyzer -+ -+usb:v1509p0A03* -+ ID_MODEL_FROM_DATABASE=C-DiGit Blot Scanner -+ - usb:v1509p9242* - ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver - -@@ -43253,6 +43418,12 @@ usb:v1518p0001* - usb:v1518p0002* - ID_MODEL_FROM_DATABASE=HDReye (before firmware loads) - -+usb:v1519* -+ ID_VENDOR_FROM_DATABASE=Comneon -+ -+usb:v1519p0020* -+ ID_MODEL_FROM_DATABASE=HSIC Device -+ - usb:v1520* - ID_VENDOR_FROM_DATABASE=Bitwire Corp. - -@@ -43280,6 +43451,15 @@ usb:v1529p3100* - usb:v152A* - ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH - -+usb:v152Ap8400* -+ ID_MODEL_FROM_DATABASE=INI DVS128 -+ -+usb:v152Ap840D* -+ ID_MODEL_FROM_DATABASE=INI DAViS -+ -+usb:v152Ap841A* -+ ID_MODEL_FROM_DATABASE=INI DAViS FX3 -+ - usb:v152D* - ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp. - -@@ -43337,6 +43517,9 @@ usb:v1532p0007* - usb:v1532p0013* - ID_MODEL_FROM_DATABASE=Orochi mouse - -+usb:v1532p0015* -+ ID_MODEL_FROM_DATABASE=Naga Mouse -+ - usb:v1532p0016* - ID_MODEL_FROM_DATABASE=DeathAdder Mouse - -@@ -43364,9 +43547,21 @@ usb:v1532p0102* - usb:v1532p0109* - ID_MODEL_FROM_DATABASE=Lycosa Keyboard - -+usb:v1532p0113* -+ ID_MODEL_FROM_DATABASE=RZ07-0074 Gaming Keypad [Orbweaver] -+ - usb:v1532p0300* - ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra] - -+usb:v153B* -+ ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH -+ -+usb:v153Bp1181* -+ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 1 -+ -+usb:v153Bp1182* -+ ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 2 -+ - usb:v1546* - ID_VENDOR_FROM_DATABASE=U-Blox AG - -@@ -43388,12 +43583,18 @@ usb:v154B* - usb:v154Bp0010* - ID_MODEL_FROM_DATABASE=USB 2.0 Flash Drive - -+usb:v154Bp0048* -+ ID_MODEL_FROM_DATABASE=Flash Drive -+ - usb:v154Bp004D* - ID_MODEL_FROM_DATABASE=8 GB Flash Drive - - usb:v154Bp0057* - ID_MODEL_FROM_DATABASE=32GB Micro Slide Attache Flash Drive - -+usb:v154Bp007A* -+ ID_MODEL_FROM_DATABASE=8GB Classic Attache Flash Drive -+ - usb:v154Bp6545* - ID_MODEL_FROM_DATABASE=FD Device - -@@ -43530,7 +43731,10 @@ usb:v15A2p0052* - ID_MODEL_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode - - usb:v15A2p0054* -- ID_MODEL_FROM_DATABASE=i.MX6Q SystemOnChip in RecoveryMode -+ ID_MODEL_FROM_DATABASE=i.MX 6Dual/6Quad SystemOnChip in RecoveryMode -+ -+usb:v15A2p0061* -+ ID_MODEL_FROM_DATABASE=i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode - - usb:v15A4* - ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc. -@@ -43640,6 +43844,9 @@ usb:v15C2p0036* - usb:v15C2p0038* - ID_MODEL_FROM_DATABASE=GD01 MX LCD Display/IR Receiver - -+usb:v15C2p0042* -+ ID_MODEL_FROM_DATABASE=Antec Veris Multimedia Station E-Z IR Receiver -+ - usb:v15C2pFFDA* - ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller - -@@ -43724,6 +43931,9 @@ usb:v15D9p0A4C* - usb:v15D9p0A4D* - ID_MODEL_FROM_DATABASE=Optical Mouse - -+usb:v15D9p0A4F* -+ ID_MODEL_FROM_DATABASE=Optical Mouse -+ - usb:v15DC* - ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc. - -@@ -44507,6 +44717,15 @@ usb:v1690p0740* - usb:v1690p0901* - ID_MODEL_FROM_DATABASE=Voyager 205 ADSL Router - -+usb:v1690p2000* -+ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard -+ -+usb:v1690p2001* -+ ID_MODEL_FROM_DATABASE=naturaSign Pad Standard -+ -+usb:v1690pFE12* -+ ID_MODEL_FROM_DATABASE=Bootloader -+ - usb:v1696* - ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc. - -@@ -44669,6 +44888,9 @@ usb:v16C0p06B4* - usb:v16C0p06B5* - ID_MODEL_FROM_DATABASE=USB2LPT with 3 interfaces (native, HID, printer) - -+usb:v16C0p0762* -+ ID_MODEL_FROM_DATABASE=Osmocom SIMtrace -+ - usb:v16C0p076B* - ID_MODEL_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader - -@@ -44759,6 +44981,15 @@ usb:v16D0p075D* - usb:v16D0p080A* - ID_MODEL_FROM_DATABASE=S2E1 Interface - -+usb:v16D0p0870* -+ ID_MODEL_FROM_DATABASE=Kaufmann Automotive GmbH, RKS+CAN Interface -+ -+usb:v16D1* -+ ID_VENDOR_FROM_DATABASE=Suprema Inc. -+ -+usb:v16D1p0401* -+ ID_MODEL_FROM_DATABASE=SUP-SFR400(A) BioMini Fingerprint Reader -+ - usb:v16D3* - ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc. - -@@ -44774,6 +45005,9 @@ usb:v16D5p6501* - usb:v16D5p6502* - ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem - -+usb:v16D5p6603* -+ ID_MODEL_FROM_DATABASE=ADU-890WH modem -+ - usb:v16D6* - ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o. - -@@ -44870,6 +45104,18 @@ usb:v170Bp0011* - usb:v170D* - ID_VENDOR_FROM_DATABASE=Avnera - -+usb:v1711* -+ ID_VENDOR_FROM_DATABASE=Leica Microsystems -+ -+usb:v1711p3020* -+ ID_MODEL_FROM_DATABASE=IC80 HD Camera -+ -+usb:v1724* -+ ID_VENDOR_FROM_DATABASE=Meyer Instruments (MIS) -+ -+usb:v1724p0115* -+ ID_MODEL_FROM_DATABASE=PAXcam5 -+ - usb:v1725* - ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor - -@@ -44957,9 +45203,21 @@ usb:v1737p0078* - usb:v1737p0079* - ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572] - -+usb:v173D* -+ ID_VENDOR_FROM_DATABASE=QSENN -+ -+usb:v173Dp0002* -+ ID_MODEL_FROM_DATABASE=GP-K7000 keyboard -+ - usb:v1740* - ID_VENDOR_FROM_DATABASE=Senao - -+usb:v1740p0100* -+ ID_MODEL_FROM_DATABASE=EUB1200AC AC1200 DB Wireless Adapter [Realtek RTL8812AU] -+ -+usb:v1740p0600* -+ ID_MODEL_FROM_DATABASE=EUB600v1 802.11abgn Wireless Adapter [Ralink RT3572] -+ - usb:v1740p0605* - ID_MODEL_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter - -@@ -45002,14 +45260,20 @@ usb:v1743* - usb:v1748* - ID_VENDOR_FROM_DATABASE=MQP Electronics - -+usb:v1748p0101* -+ ID_MODEL_FROM_DATABASE=Packet-Master USB12 -+ - usb:v174C* - ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc. - - usb:v174Cp5106* - ID_MODEL_FROM_DATABASE=Transcend StoreJet 25M3 - -+usb:v174Cp5136* -+ ID_MODEL_FROM_DATABASE=ASM1053 SATA 6Gb/s bridge -+ - usb:v174Cp55AA* -- ID_MODEL_FROM_DATABASE=ASMedia 2105 SATA bridge -+ ID_MODEL_FROM_DATABASE=ASM1051 SATA 3Gb/s bridge - - usb:v174F* - ID_VENDOR_FROM_DATABASE=Syntek -@@ -45137,6 +45401,9 @@ usb:v1781p0C31* - usb:v1781p0C9F* - ID_MODEL_FROM_DATABASE=USBtiny - -+usb:v1781p1EEF* -+ ID_MODEL_FROM_DATABASE=OpenAPC SecuKey -+ - usb:v1782* - ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc. - -@@ -45206,6 +45473,9 @@ usb:v17A0p0100* - usb:v17A0p0101* - ID_MODEL_FROM_DATABASE=UB1 boundary microphone - -+usb:v17A0p0120* -+ ID_MODEL_FROM_DATABASE=Meteorite condenser microphone -+ - usb:v17A0p0200* - ID_MODEL_FROM_DATABASE=StudioDock monitors (internal hub) - -@@ -45221,6 +45491,9 @@ usb:v17A0p0301* - usb:v17A0p0302* - ID_MODEL_FROM_DATABASE=GoMic compact condenser microphone - -+usb:v17A0p0303* -+ ID_MODEL_FROM_DATABASE=C01U Pro condenser microphone -+ - usb:v17A0p0304* - ID_MODEL_FROM_DATABASE=Q2U handheld mic with XLR - -@@ -45371,6 +45644,9 @@ usb:v17E9p037C* - usb:v17E9p037D* - ID_MODEL_FROM_DATABASE=Plugable USB2-HDMI-165 - -+usb:v17E9p410A* -+ ID_MODEL_FROM_DATABASE=HDMI Adapter -+ - usb:v17E9p430A* - ID_MODEL_FROM_DATABASE=HP Port Replicator (Composite Device) - -@@ -45383,6 +45659,9 @@ usb:v17EB* - usb:v17EF* - ID_VENDOR_FROM_DATABASE=Lenovo - -+usb:v17EFp1000* -+ ID_MODEL_FROM_DATABASE=Hub -+ - usb:v17EFp1003* - ID_MODEL_FROM_DATABASE=Integrated Smart Card Reader - -@@ -45395,6 +45674,9 @@ usb:v17EFp1008* - usb:v17EFp100A* - ID_MODEL_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3 - -+usb:v17EFp304B* -+ ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [ThinkPad OneLink GigaLAN] -+ - usb:v17EFp3815* - ID_MODEL_FROM_DATABASE=ChipsBnk 2GB USB Stick - -@@ -45455,6 +45737,12 @@ usb:v17EFp6009* - usb:v17EFp6014* - ID_MODEL_FROM_DATABASE=Mini Wireless Keyboard N5901 - -+usb:v17EFp6025* -+ ID_MODEL_FROM_DATABASE=ThinkPad Travel Mouse -+ -+usb:v17EFp7203* -+ ID_MODEL_FROM_DATABASE=Ethernet adapter [U2L 100P-Y1] -+ - usb:v17EFp7423* - ID_MODEL_FROM_DATABASE=IdeaPad A1 Tablet - --- -1.7.9.2 - diff --git a/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch b/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch deleted file mode 100644 index ea295af2..00000000 --- a/0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch +++ /dev/null @@ -1,34 +0,0 @@ -Based on 1727a595225132eb73ec134b6979d9c713b42e8c Mon Sep 17 00:00:00 2001 -From: Michael Marineau -Date: Mon, 12 May 2014 09:26:16 +0200 -Subject: [PATCH] job: always add waiting jobs to run queue during coldplug - -commit 20a83d7bf was not equivalent to the original bug fix proposed by -Michal Sekletar . The committed version only added -the job to the run queue if the job had a timeout, which most jobs do -not have. Just re-ordering the code gets us the intended functionality ---- - src/core/job.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- src/core/job.c -+++ src/core/job.c 2014-05-12 13:11:24.918735646 +0000 -@@ -1051,15 +1051,15 @@ int job_coldplug(Job *j) { - - assert(j); - -+ if (j->state == JOB_WAITING) -+ job_add_to_run_queue(j); -+ - if (j->begin_usec == 0 || j->unit->job_timeout == 0) - return 0; - - if (j->timer_event_source) - j->timer_event_source = sd_event_source_unref(j->timer_event_source); - -- if (j->state == JOB_WAITING) -- job_add_to_run_queue(j); -- - r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j); - if (r < 0) - log_debug("Failed to restart timeout for job: %s", strerror(-r)); diff --git a/0005-journalctl-correct-help-text-for-until.patch b/0005-journalctl-correct-help-text-for-until.patch deleted file mode 100644 index 77563faf..00000000 --- a/0005-journalctl-correct-help-text-for-until.patch +++ /dev/null @@ -1,21 +0,0 @@ -Based on 7558251eef610e71595a0aa48952479906cb899a Mon Sep 17 00:00:00 2001 -From: Santiago Vila -Date: Sat, 25 Oct 2014 10:40:30 -0400 -Subject: [PATCH] journalctl: correct help text for --until - -http://bugs.debian.org/766598 ---- - src/journal/journalctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/journal/journalctl.c -+++ src/journal/journalctl.c 2014-10-29 14:10:18.863838313 +0000 -@@ -171,7 +171,7 @@ static int help(void) { - " --user Show only the user journal for the current user\n" - " -M --machine=CONTAINER Operate on local container\n" - " --since=DATE Start showing entries on or newer than the specified date\n" -- " --until=DATE Stop showing entries on or older than the specified date\n" -+ " --until=DATE Stop showing entries on or newer than the specified date\n" - " -c --cursor=CURSOR Start showing entries from the specified cursor\n" - " --after-cursor=CURSOR Start showing entries from after the specified cursor\n" - " --show-cursor Print the cursor after all the entries\n" diff --git a/0005-login-fix-mem-leak.patch b/0005-login-fix-mem-leak.patch deleted file mode 100644 index 69206fd5..00000000 --- a/0005-login-fix-mem-leak.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 13f493dc9ace9861c1f27c4d37e8cd6d52fe6a32 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sun, 31 Aug 2014 23:34:01 +0200 -Subject: [PATCH] login: fix mem leak - ---- - src/login/logind-session.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-09-01 12:59:27.870235647 +0000 -@@ -1101,8 +1101,10 @@ int session_set_controller(Session *s, c - * If logind crashes/restarts, we restore the controller during restart - * or reset the VT in case it crashed/exited, too. */ - r = session_mute_vt(s); -- if (r < 0) -+ if (r < 0) { -+ free(t); - return r; -+ } - - session_swap_controller(s, t); - diff --git a/0005-logind-fix-policykit-checks.patch b/0005-logind-fix-policykit-checks.patch deleted file mode 100644 index 69cf61a6..00000000 --- a/0005-logind-fix-policykit-checks.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 055d406624cb9e01963558767420b71e5f75d2d3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 10 Mar 2014 08:25:15 -0400 -Subject: [PATCH] logind: fix policykit checks - ---- - src/login/logind-dbus.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git src/login/logind-dbus.c src/login/logind-dbus.c -index c9c58f3..235b131 100644 ---- src/login/logind-dbus.c -+++ src/login/logind-dbus.c -@@ -1480,6 +1480,8 @@ static int method_do_shutdown_or_sleep( - action_multiple_sessions, interactive, error, method, m); - if (r < 0) - return r; -+ if (r == 0) -+ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - - if (blocked) { -@@ -1487,6 +1489,8 @@ static int method_do_shutdown_or_sleep( - action_ignore_inhibit, interactive, error, method, m); - if (r < 0) - return r; -+ if (r == 0) -+ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - - if (!multiple_sessions && !blocked) { -@@ -1494,6 +1498,8 @@ static int method_do_shutdown_or_sleep( - action, interactive, error, method, m); - if (r < 0) - return r; -+ if (r == 0) -+ return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - - r = bus_manager_shutdown_or_sleep_now_or_later(m, unit_name, w, error); --- -1.7.9.2 - diff --git a/0005-logind-fix-typo.patch b/0005-logind-fix-typo.patch deleted file mode 100644 index 79916e75..00000000 --- a/0005-logind-fix-typo.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2b2332856bafe25c4aa17db2a90bdcddef1fec1a Mon Sep 17 00:00:00 2001 -From: Ronny Chevalier -Date: Wed, 17 Sep 2014 20:10:44 +0200 -Subject: [PATCH] logind: fix typo - ---- - src/login/logind-session-dbus.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/logind-session-dbus.c src/login/logind-session-dbus.c -index 7d81500..58836fc 100644 ---- src/login/logind-session-dbus.c -+++ src/login/logind-session-dbus.c -@@ -249,7 +249,7 @@ static int method_set_idle_hint(sd_bus *bus, sd_bus_message *message, void *user - return r; - - if (uid != 0 && uid != s->user->uid) -- return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session my set idle hint"); -+ return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session may set idle hint"); - - session_set_idle_hint(s, b); - --- -1.7.9.2 - diff --git a/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch b/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch deleted file mode 100644 index aaae9d12..00000000 --- a/0005-logind-move-lid-switch-handling-from-logind-main-to-.patch +++ /dev/null @@ -1,119 +0,0 @@ -From b5d3e1688133077ca20542a20dcd8919147e72e1 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 11 Mar 2014 22:38:54 +0100 -Subject: [PATCH] logind: move lid switch handling from logind-main to - logind-core - -../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore' -collect2: error: ld returned 1 exit status -make[2]: *** [test-login-tables] ---- - src/login/logind-dbus.c | 40 ++++++++++++++++++++++++++++++++++++++++ - src/login/logind.c | 40 ---------------------------------------- - 2 files changed, 40 insertions(+), 40 deletions(-) - -diff --git src/login/logind-dbus.c src/login/logind-dbus.c -index c5f9cb3..2ef87f7 100644 ---- src/login/logind-dbus.c -+++ src/login/logind-dbus.c -@@ -1305,6 +1305,46 @@ static int bus_manager_log_shutdown( - q, NULL); - } - -+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(e); -+ assert(m); -+ -+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); -+ return 0; -+} -+ -+int manager_set_lid_switch_ignore(Manager *m, usec_t until) { -+ int r; -+ -+ assert(m); -+ -+ if (until <= now(CLOCK_MONOTONIC)) -+ return 0; -+ -+ /* We want to ignore the lid switch for a while after each -+ * suspend, and after boot-up. Hence let's install a timer for -+ * this. As long as the event source exists we ignore the lid -+ * switch. */ -+ -+ if (m->lid_switch_ignore_event_source) { -+ usec_t u; -+ -+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); -+ if (r < 0) -+ return r; -+ -+ if (until <= u) -+ return 0; -+ -+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); -+ } else -+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); -+ -+ return r; -+} -+ - static int execute_shutdown_or_sleep( - Manager *m, - InhibitWhat w, -diff --git src/login/logind.c src/login/logind.c -index 03b7753..2d734ff 100644 ---- src/login/logind.c -+++ src/login/logind.c -@@ -962,46 +962,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us - return 0; - } - --static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) { -- Manager *m = userdata; -- -- assert(e); -- assert(m); -- -- m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source); -- return 0; --} -- --int manager_set_lid_switch_ignore(Manager *m, usec_t until) { -- int r; -- -- assert(m); -- -- if (until <= now(CLOCK_MONOTONIC)) -- return 0; -- -- /* We want to ignore the lid switch for a while after each -- * suspend, and after boot-up. Hence let's install a timer for -- * this. As long as the event source exists we ignore the lid -- * switch. */ -- -- if (m->lid_switch_ignore_event_source) { -- usec_t u; -- -- r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u); -- if (r < 0) -- return r; -- -- if (until <= u) -- return 0; -- -- r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until); -- } else -- r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m); -- -- return r; --} -- - int manager_startup(Manager *m) { - int r; - Seat *seat; --- -1.7.9.2 - diff --git a/0005-man-fix-path-in-crypttab-5.patch b/0005-man-fix-path-in-crypttab-5.patch deleted file mode 100644 index d0aef604..00000000 --- a/0005-man-fix-path-in-crypttab-5.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9fcdf32294e66f91d2a177f73a77049832768311 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 23 Jun 2014 23:07:53 -0400 -Subject: [PATCH] man: fix path in crypttab(5) - -https://bugs.freedesktop.org/show_bug.cgi?id=75816 ---- - man/crypttab.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git man/crypttab.xml man/crypttab.xml -index 668e51d..9030015 100644 ---- man/crypttab.xml -+++ man/crypttab.xml -@@ -369,7 +369,7 @@ - luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b - swap /dev/sda7 /dev/urandom swap - truecrypt /dev/sda2 /etc/container_password tcrypt --hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile -+hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile - - - --- -1.7.9.2 - diff --git a/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch b/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch deleted file mode 100644 index e5b6706d..00000000 --- a/0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 28650077f36466d9c5ee27ef2006fae3171a2430 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 30 Jun 2014 16:22:12 +0200 -Subject: [PATCH] nspawn: block open_by_handle_at() and others via seccomp - -Let's protect ourselves against the recently reported docker security -issue. Our man page makes clear that we do not make any security -promises anyway, but well, this one is easy to mitigate, so let's do it. -While we are at it block a couple of more syscalls that are no good in -containers, too. ---- - src/nspawn/nspawn.c | 47 +++++++++++++++++++++++++++++++++++------------ - 1 file changed, 35 insertions(+), 12 deletions(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index fd61d07..656c1bf 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1864,22 +1864,25 @@ static int setup_macvlan(pid_t pid) { - return 0; - } - --static int audit_still_doesnt_work_in_containers(void) { -+static int setup_seccomp(void) { - - #ifdef HAVE_SECCOMP -+ static const int blacklist[] = { -+ SCMP_SYS(kexec_load), -+ SCMP_SYS(open_by_handle_at), -+ SCMP_SYS(init_module), -+ SCMP_SYS(finit_module), -+ SCMP_SYS(delete_module), -+ SCMP_SYS(iopl), -+ SCMP_SYS(ioperm), -+ SCMP_SYS(swapon), -+ SCMP_SYS(swapoff), -+ }; -+ - scmp_filter_ctx seccomp; -+ unsigned i; - int r; - -- /* -- Audit is broken in containers, much of the userspace audit -- hookup will fail if running inside a container. We don't -- care and just turn off creation of audit sockets. -- -- This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail -- with EAFNOSUPPORT which audit userspace uses as indication -- that audit is disabled in the kernel. -- */ -- - seccomp = seccomp_init(SCMP_ACT_ALLOW); - if (!seccomp) - return log_oom(); -@@ -1890,6 +1893,26 @@ static int audit_still_doesnt_work_in_containers(void) { - goto finish; - } - -+ for (i = 0; i < ELEMENTSOF(blacklist); i++) { -+ r = seccomp_rule_add(seccomp, SCMP_ACT_ERRNO(EPERM), blacklist[i], 0); -+ if (r == -EFAULT) -+ continue; /* unknown syscall */ -+ if (r < 0) { -+ log_error("Failed to block syscall: %s", strerror(-r)); -+ goto finish; -+ } -+ } -+ -+ /* -+ Audit is broken in containers, much of the userspace audit -+ hookup will fail if running inside a container. We don't -+ care and just turn off creation of audit sockets. -+ -+ This will make socket(AF_NETLINK, *, NETLINK_AUDIT) fail -+ with EAFNOSUPPORT which audit userspace uses as indication -+ that audit is disabled in the kernel. -+ */ -+ - r = seccomp_rule_add( - seccomp, - SCMP_ACT_ERRNO(EAFNOSUPPORT), -@@ -3050,7 +3073,7 @@ int main(int argc, char *argv[]) { - - dev_setup(arg_directory); - -- if (audit_still_doesnt_work_in_containers() < 0) -+ if (setup_seccomp() < 0) - goto child_fail; - - if (setup_dev_console(arg_directory, console) < 0) --- -1.7.9.2 - diff --git a/0005-po-add-Greek-translation.patch b/0005-po-add-Greek-translation.patch deleted file mode 100644 index 029ce4fa..00000000 --- a/0005-po-add-Greek-translation.patch +++ /dev/null @@ -1,436 +0,0 @@ -From 3d89c35c2ae08c3fbf1a037c4df54c8e5ae56faf Mon Sep 17 00:00:00 2001 -From: Dimitris Spingos -Date: Wed, 7 May 2014 18:27:02 +0200 -Subject: [PATCH] po: add Greek translation - -https://bugs.freedesktop.org/show_bug.cgi?id=78064 ---- - po/LINGUAS | 3 +- - po/el.po | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 406 insertions(+), 1 deletion(-) - create mode 100644 po/el.po - -diff --git po/LINGUAS po/LINGUAS -index 0301751..820ca82 100644 ---- po/LINGUAS -+++ po/LINGUAS -@@ -1,4 +1,5 @@ -+el - fr -+it - pl - ru --it -diff --git po/el.po po/el.po -new file mode 100644 -index 0000000..1570565 ---- /dev/null -+++ po/el.po -@@ -0,0 +1,404 @@ -+# Greek translation for systemd. -+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER -+# This file is distributed under the same license as the systemd package. -+# Dimitris Spingos , 2014. -+# Dimitris Spingos (Δημήτρης Σπίγγος) , 2014. -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd master\n" -+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys" -+"temd&keywords=I18N+L10N&component=general\n" -+"POT-Creation-Date: 2014-04-25 15:51+0000\n" -+"PO-Revision-Date: 2014-04-29 09:17+0300\n" -+"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) \n" -+"Language-Team: team@lists.gnome.gr\n" -+"Language: el\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Virtaal 0.7.0\n" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Set host name" -+msgstr "Ορισμός ονόματος οικοδεσπότη" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 -+msgid "Set static host name" -+msgstr "Ορισμός στατικού ονόματος οικοδεσπότη" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ορίσετε το στατικά ρυθμισμένο όνομα τοπικού " -+"οικοδεσπότη, καθώς και το pretty όνομα οικοδεσπότη." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Ορισμός πληροφοριών μηχανής" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Authentication is required to set local machine information." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε πληροφορίες τοπικής μηχανής." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 -+msgid "Set system locale" -+msgstr "Ορισμός τοπικών ρυθμίσεων συστήματος" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ορίσετε τις τοπικές ρυθμίσεις του συστήματος." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Ορισμός ρυθμίσεων πληκτρολογίου συστήματος" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ορίσετε τις ρυθμίσεις πληκτρολογίου του " -+"συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow applications to inhibit system shutdown" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τον τερματισμό του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:2 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"shutdown." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει τον " -+"τερματισμό του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:3 -+msgid "Allow applications to delay system shutdown" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να καθυστερούν τον τερματισμό του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:4 -+msgid "" -+"Authentication is required to allow an application to delay system shutdown." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " -+"τον τερματισμό του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:5 -+msgid "Allow applications to inhibit system sleep" -+msgstr "Να επιτρέπεται στις εφαρμογές να αποτρέπουν την ύπνωση του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow an application to inhibit system sleep." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"ύπνωση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:7 -+msgid "Allow applications to delay system sleep" -+msgstr "Να επιτρέπεται στις εφαρμογές να καθυστερούν την ύπνωση του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow an application to delay system sleep." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει " -+"την ύπνωση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:9 -+msgid "Allow applications to inhibit automatic system suspend" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν την αυτόματη αναστολή του " -+"συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:10 -+msgid "" -+"Authentication is required to allow an application to inhibit automatic " -+"system suspend." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"αυτόματη αναστολή του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:11 -+msgid "Allow applications to inhibit system handling of the power key" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " -+"ενεργοποίησης του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:12 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the power key." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του πλήκτρου ενεργοποίησης του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:13 -+msgid "Allow applications to inhibit system handling of the suspend key" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " -+"αναστολής του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:14 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the suspend key." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του πλήκτρου αναστολής του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:15 -+msgid "Allow applications to inhibit system handling of the hibernate key" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου " -+"αδρανοποίησης του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:16 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the hibernate key." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του πλήκτρου αδρανοποίησης του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:17 -+msgid "Allow applications to inhibit system handling of the lid switch" -+msgstr "" -+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του διακόπτη " -+"καλύμματος του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:18 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the lid switch." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την " -+"διαχείριση του διακόπτη καλύμματος του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:19 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Να επιτρέπεται σε μη συνδεμένους χρήστες να εκτελούν προγράμματα" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:20 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs." -+msgstr "" -+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μη συνδεμένους χρήστες να " -+"εκτελούν προγράμματα." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:21 -+msgid "Allow attaching devices to seats" -+msgstr "Να επιτρέπεται η προσάρτηση συσκευών στους σταθμούς εργασίας" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:22 -+msgid "Authentication is required for attaching a device to a seat." -+msgstr "" -+"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:23 -+msgid "Flush device to seat attachments" -+msgstr "Αφαίρεση συσκευής από προσαρτήσεις σταθμού εργασίας" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:24 -+msgid "" -+"Authentication is required for resetting how devices are attached to seats." -+msgstr "" -+"Απαιτείται πιστοποίηση για επαναφορά του τρόπου που οι συσκευές προσαρτώνται " -+"στους σταθμούς εργασίας." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:25 -+msgid "Power off the system" -+msgstr "Σβήσιμο του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:26 -+msgid "Authentication is required for powering off the system." -+msgstr "Απαιτείται πιστοποίηση για την σβήσιμο του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:27 -+msgid "Power off the system while other users are logged in" -+msgstr "Σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:28 -+msgid "" -+"Authentication is required for powering off the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι " -+"συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:29 -+msgid "Power off the system while an application asked to inhibit it" -+msgstr "Απενεργοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:30 -+msgid "" -+"Authentication is required for powering off the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για απενεργοποίηση του συστήματος ενώ μια εφαρμογή " -+"ζήτησε να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:31 -+msgid "Reboot the system" -+msgstr "Επανεκκίνηση του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:32 -+msgid "Authentication is required for rebooting the system." -+msgstr "Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:33 -+msgid "Reboot the system while other users are logged in" -+msgstr "Επανεκκίνηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:34 -+msgid "" -+"Authentication is required for rebooting the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ άλλοι χρήστες " -+"είναι συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:35 -+msgid "Reboot the system while an application asked to inhibit it" -+msgstr "Επανεκκίνηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:36 -+msgid "" -+"Authentication is required for rebooting the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ μια εφαρμογή " -+"ζήτησε να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:37 -+msgid "Suspend the system" -+msgstr "Αναστολή του συστήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:38 -+msgid "Authentication is required for suspending the system." -+msgstr "Απαιτείται πιστοποίηση για την αναστολή του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:39 -+msgid "Suspend the system while other users are logged in" -+msgstr "Αναστολή του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:40 -+msgid "" -+"Authentication is required for suspending the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ άλλοι χρήστες είναι " -+"συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:41 -+msgid "Suspend the system while an application asked to inhibit it" -+msgstr "Αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:42 -+msgid "" -+"Authentication is required for suspending the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε " -+"να αποτραπεί." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:43 -+msgid "Hibernate the system" -+msgstr "Αδρανοποίηση του συτήματος" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:44 -+msgid "Authentication is required for hibernating the system." -+msgstr "Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:45 -+msgid "Hibernate the system while other users are logged in" -+msgstr "Αδρανοποίηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:46 -+msgid "" -+"Authentication is required for hibernating the system while other users are " -+"logged in." -+msgstr "" -+"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ άλλοι χρήστες " -+"είναι συνδεμένοι." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:47 -+msgid "Hibernate the system while an application asked to inhibit it" -+msgstr "Αδρανοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:48 -+msgid "" -+"Authentication is required for hibernating the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ μια εφαρμογή " -+"ζήτησε να αποτραπεί." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 -+msgid "Set system time" -+msgstr "Ορισμός ώρας συστήματος" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 -+msgid "Authentication is required to set the system time." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Set system timezone" -+msgstr "Ορισμός ζώνης ώρας συστήματος" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα ζώνης του συστήματος." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Ορισμός RTC στην τοπική ζώνη ώρας ή UTC" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ελέγξετε αν το RTC αποθηκεύει την τοπική ή την " -+"ώρα UTC." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Turn network time synchronization on or off" -+msgstr "Ενεργοποίηση/Απενεργοποίηση συγχρονισμού ώρας δικτύου" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα " -+"ενεργοποιηθεί." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 -+msgid "Send passphrase back to system" -+msgstr "Αποστολή του συνθηματικού πίσω στο σύστημα" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 -+msgid "" -+"Authentication is required to send the entered passphrase back to the system." -+msgstr "" -+"Απαιτείται πιστοποίηση για αποστολή του εισερχόμενου συνθηματικού πίσω στο " -+"σύστημα." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 -+msgid "Privileged system and service manager access" -+msgstr "Προνομιούχος πρόσβαση διαχειριστή συστήματος και υπηρεσίας" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 -+msgid "Authentication is required to access the system and service manager." -+msgstr "" -+"Απαιτείται πιστοποίηση για να προσπελάσετε τον διαχειριστή συστήματος και " -+"υπηρεσιών." --- -1.7.9.2 - diff --git a/0005-sd-daemon-fix-incorrect-variable-access.patch b/0005-sd-daemon-fix-incorrect-variable-access.patch deleted file mode 100644 index 99a923b2..00000000 --- a/0005-sd-daemon-fix-incorrect-variable-access.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 56dc9aec21ab23f76fadf45585adf88e71aa8078 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Mar 2014 23:54:14 +0100 -Subject: [PATCH] sd-daemon: fix incorrect variable access - ---- - src/libsystemd/sd-daemon/sd-daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-daemon/sd-daemon.c src/libsystemd/sd-daemon/sd-daemon.c -index 21fb346..b013438 100644 ---- src/libsystemd/sd-daemon/sd-daemon.c -+++ src/libsystemd/sd-daemon/sd-daemon.c -@@ -517,7 +517,7 @@ _public_ int sd_watchdog_enabled(int unset_environment, uint64_t *usec) { - r = -errno; - goto finish; - } -- if (!p || p == e || *p || l <= 0) { -+ if (!p || p == e || *p || ll <= 0) { - r = -EINVAL; - goto finish; - } --- -1.7.9.2 - diff --git a/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch b/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch deleted file mode 100644 index 3c3d9e50..00000000 --- a/0005-sd-id128-do-stricter-checking-of-random-boot-id.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cef3566998fcae6936d781e678c309950a8a5787 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 3 Oct 2014 20:57:30 -0400 -Subject: [PATCH] sd-id128: do stricter checking of random boot id - -If we are bothering to check whether the kernel is not feeding us -bad data, we might as well do it properly. - -CID #1237692. ---- - src/libsystemd/sd-id128/sd-id128.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git src/libsystemd/sd-id128/sd-id128.c src/libsystemd/sd-id128/sd-id128.c -index a1e44e6..233ffa0 100644 ---- src/libsystemd/sd-id128/sd-id128.c -+++ src/libsystemd/sd-id128/sd-id128.c -@@ -183,11 +183,14 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) { - for (j = 0, p = buf; j < 16; j++) { - int a, b; - -- if (p >= buf + k) -+ if (p >= buf + k - 1) - return -EIO; - -- if (*p == '-') -+ if (*p == '-') { - p++; -+ if (p >= buf + k - 1) -+ return -EIO; -+ } - - a = unhexchar(p[0]); - b = unhexchar(p[1]); --- -1.7.9.2 - diff --git a/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch b/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch deleted file mode 100644 index 5dfa4ed5..00000000 --- a/0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch +++ /dev/null @@ -1,45 +0,0 @@ -Based on 85529c815b47c22839e0f148af67fd37e977cbfa Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 12 Aug 2014 19:29:27 +0200 -Subject: [PATCH] sd-resolve: fix allocation if query ids, never reuse them - ---- - src/libsystemd/sd-resolve/sd-resolve.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - ---- src/libsystemd/sd-resolve/sd-resolve.c -+++ src/libsystemd/sd-resolve/sd-resolve.c 2014-08-22 14:18:24.838235343 +0000 -@@ -81,7 +81,7 @@ struct sd_resolve { - pthread_t workers[WORKERS_MAX]; - unsigned n_valid_workers; - -- unsigned current_id, current_index; -+ unsigned current_id; - sd_resolve_query* queries[QUERIES_MAX]; - unsigned n_queries; - -@@ -892,21 +892,17 @@ static int alloc_query(sd_resolve *resol - if (r < 0) - return r; - -- while (resolve->queries[resolve->current_index]) { -- resolve->current_index++; -+ while (resolve->queries[resolve->current_id % QUERIES_MAX]) - resolve->current_id++; - -- resolve->current_index %= QUERIES_MAX; -- } -- -- q = resolve->queries[resolve->current_index] = new0(sd_resolve_query, 1); -+ q = resolve->queries[resolve->current_id % QUERIES_MAX] = new0(sd_resolve_query, 1); - if (!q) - return -ENOMEM; - - resolve->n_queries++; - - q->resolve = resolve; -- q->id = resolve->current_id; -+ q->id = resolve->current_id++; - - *_q = q; - return 0; diff --git a/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch b/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch deleted file mode 100644 index ed5997e0..00000000 --- a/0005-service-don-t-accept-negative-ERRNO-notification-mes.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2040ccf171404b709acb0ecf1d1f17b87c5d05f0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 17:32:44 +0200 -Subject: [PATCH] service: don't accept negative ERRNO= notification messages - ---- - src/core/service.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/service.c src/core/service.c -index 5c54a34..d5aff99 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -2637,7 +2637,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - if (e) { - int status_errno; - -- if (safe_atoi(e + 6, &status_errno) < 0) -+ if (safe_atoi(e + 6, &status_errno) < 0 || status_errno < 0) - log_warning_unit(u->id, "Failed to parse ERRNO= field in notification message: %s", e); - else { - log_debug_unit(u->id, "%s: got %s", u->id, e); --- -1.7.9.2 - diff --git a/0005-shared-label.h-add-missing-stdio.h-include.patch b/0005-shared-label.h-add-missing-stdio.h-include.patch deleted file mode 100644 index 1c75aacc..00000000 --- a/0005-shared-label.h-add-missing-stdio.h-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 45f15021e3524b04d574b9ff4e801cb3219daf3f Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:42 +0200 -Subject: [PATCH] shared/label.h: add missing stdio.h include - ---- - src/shared/label.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/label.h src/shared/label.h -index 7294820..cb2ec79 100644 ---- src/shared/label.h -+++ src/shared/label.h -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - int label_init(const char *prefix); - void label_finish(void); --- -1.7.9.2 - diff --git a/0005-systemd-python-fix-failing-assert.patch b/0005-systemd-python-fix-failing-assert.patch deleted file mode 100644 index 9b0290d3..00000000 --- a/0005-systemd-python-fix-failing-assert.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b65f24238b0627143916a9c7f8315483a9666676 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 5 Apr 2014 13:29:50 -0400 -Subject: [PATCH] systemd-python: fix failing assert - -A parameter which was always null before, now get's set to -the module. ---- - src/python-systemd/_reader.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git src/python-systemd/_reader.c src/python-systemd/_reader.c -index 059b904..9a19a10 100644 ---- src/python-systemd/_reader.c -+++ src/python-systemd/_reader.c -@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) { - sd_id128_t id; - _cleanup_free_ char *msg = NULL; - -- assert(!self); - assert(args); - - if (!PyArg_ParseTuple(args, "z:get_catalog", &id_)) --- -1.7.9.2 - diff --git a/0005-systemd-run-add-some-extra-safety-checks.patch b/0005-systemd-run-add-some-extra-safety-checks.patch deleted file mode 100644 index 22d41889..00000000 --- a/0005-systemd-run-add-some-extra-safety-checks.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1ac67edb7c4d31a287fa98c0b554ae98bd34e71b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 5 Mar 2014 03:38:36 +0100 -Subject: [PATCH] systemd-run: add some extra safety checks - ---- - src/run/run.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/run/run.c src/run/run.c -index 81763c9..e71ca7d 100644 ---- src/run/run.c -+++ src/run/run.c -@@ -37,7 +37,7 @@ static const char *arg_description = NULL; - static const char *arg_slice = NULL; - static bool arg_send_sighup = false; - static BusTransport arg_transport = BUS_TRANSPORT_LOCAL; --static char *arg_host = NULL; -+static const char *arg_host = NULL; - static bool arg_user = false; - static const char *arg_service_type = NULL; - static const char *arg_exec_user = NULL; -@@ -186,7 +186,7 @@ static int parse_argv(int argc, char *argv[]) { - - case ARG_NICE: - r = safe_atoi(optarg, &arg_nice); -- if (r < 0) { -+ if (r < 0 || arg_nice < PRIO_MIN || arg_nice >= PRIO_MAX) { - log_error("Failed to parse nice value"); - return -EINVAL; - } --- -1.7.9.2 - diff --git a/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch b/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch deleted file mode 100644 index 875c905e..00000000 --- a/0005-units-order-sd-journal-flush-after-sd-remount-fs.patch +++ /dev/null @@ -1,38 +0,0 @@ -Based on 1f1926aa5e836caa3bd6df43704aecd606135103 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 2 Nov 2014 21:45:42 -0500 -Subject: [PATCH] units: order sd-journal-flush after sd-remount-fs - -Otherwise we could attempt to flush the journal while /var/log/ was -still ro, and silently skip journal flushing. - -The way that errors in flushing are handled should still be changed to -be more transparent and robust. - -Based on 919699ec301ea507edce4a619141ed22e789ac0d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Oct 2014 16:22:36 +0100 -Subject: [PATCH] units: don't order journal flushing afte remote-fs.target - -Instead, only depend on the actual file systems we need. - -This should solve dep loops on setups where remote-fs.target is moved -into late boot. ---- - units/systemd-journal-flush.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- units/systemd-journal-flush.service.in -+++ units/systemd-journal-flush.service.in 2014-11-10 11:46:22.885518923 +0000 -@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal - Documentation=man:systemd-journald.service(8) man:journald.conf(5) - DefaultDependencies=no - Requires=systemd-journald.service --After=systemd-journald.service local-fs.target remote-fs.target --Before=systemd-user-sessions.service -+After=systemd-journald.service local-fs.target -+After=systemd-remount-fs.service -+Before=systemd-user-sessions.service systemd-tmpfiles-setup.service - - [Service] - ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service diff --git a/0005-util-avoid-double-close-of-fd.patch b/0005-util-avoid-double-close-of-fd.patch deleted file mode 100644 index e1b5dacc..00000000 --- a/0005-util-avoid-double-close-of-fd.patch +++ /dev/null @@ -1,28 +0,0 @@ -Based on 6f53e671aa7539cab02c9f739d84d28a343ca5bc Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Wed, 8 Oct 2014 23:57:32 +0200 -Subject: [PATCH] util: avoid double close of fd - -We could end with a double close if we close the fd loop and flush_fd -fails. That would make us goto fail and there we close the fd once -again. This patch sets the fd to the return value for safe_close: -1 -A fd with negative value will be ignored by the next call to -safe_close. - -CID#996223 ---- - src/shared/util.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- src/shared/util.c -+++ src/shared/util.c 2014-10-14 15:42:22.515839157 +0000 -@@ -1969,7 +1969,8 @@ int acquire_terminal( - * ended our handle will be dead. It's important that - * we do this after sleeping, so that we don't enter - * an endless loop. */ -- close_nointr_nofail(fd); -+ if (fd >= 0) close_nointr_nofail(fd); -+ fd = -1; - } - - if (notify >= 0) diff --git a/0006-Do-not-return-1-EINVAL-on-allocation-error.patch b/0006-Do-not-return-1-EINVAL-on-allocation-error.patch deleted file mode 100644 index bf1db2c6..00000000 --- a/0006-Do-not-return-1-EINVAL-on-allocation-error.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 315db1a8aed226a51a4cf700172249cfd10ae115 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 14 Mar 2014 09:05:56 -0400 -Subject: [PATCH] Do not return -1 (EINVAL) on allocation error - ---- - src/core/socket.c | 8 +++----- - -diff --git src/core/socket.c src/core/socket.c -index 8ecc9f9..b39bec2 100644 ---- src/core/socket.c -+++ src/core/socket.c -@@ -198,16 +198,14 @@ static int socket_instantiate_service(Socket *s) { - - assert(s->accept); - -- if (!(prefix = unit_name_to_prefix(UNIT(s)->id))) -+ prefix = unit_name_to_prefix(UNIT(s)->id); -+ if (!prefix) - return -ENOMEM; - -- r = asprintf(&name, "%s@%u.service", prefix, s->n_accepted); -- -- if (r < 0) -+ if (asprintf(&name, "%s@%u.service", prefix, s->n_accepted) < 0) - return -ENOMEM; - - r = manager_load_unit(UNIT(s)->manager, name, NULL, NULL, &u); -- - if (r < 0) - return r; - --- -1.7.9.2 - diff --git a/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch b/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch deleted file mode 100644 index ed9a7a79..00000000 --- a/0006-Revert-back-to-var-run-at-a-couple-of-problems.patch +++ /dev/null @@ -1,60 +0,0 @@ -From df1e02046144f41176c32ed011369fd8dba36b76 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 02:47:43 +0100 -Subject: [PATCH] Revert back to /var/run at a couple of problems -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This partially reverts 41a55c46ab8fb4ef6727434227071321fc762cce - -Some specifications we want to stay compatibility actually document -/var/run, not /run, and we should stay compatible with that. In order to -make sure our D-Bus implementation works on any system, regardless if -running systemd or not, we should always use /var/run which is the -only path mandated by the D-Bus spec. - -Similar, glibc hardcodes the utmp location to /var/run, and this is -exposed in _UTMP_PATH in limits.h, hence let's stay in sync with this -public API, too. - -We simply do not support systems where /var/run is not a symlink → /run. -Hence both are equivalent. Staying compatible with upstream -specifications hence weighs more than cleaning up superficial -appearance. ---- - man/runlevel.xml | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git man/runlevel.xml man/runlevel.xml -index 4db06dc..976753a 100644 ---- man/runlevel.xml -+++ man/runlevel.xml -@@ -124,7 +124,7 @@ - - - -- /run/utmp -+ /var/run/utmp - - The utmp database - runlevel reads the -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 1318272..636715f 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) - machine = NULL; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); -+ strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); - - return 0; - } --- -1.7.9.2 - diff --git a/0006-bus-unref-buscreds-on-failure.patch b/0006-bus-unref-buscreds-on-failure.patch deleted file mode 100644 index d6ec9ccd..00000000 --- a/0006-bus-unref-buscreds-on-failure.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2b347169b9046ff2d735ef23e62a8c74f5151600 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 12:20:42 +0300 -Subject: [PATCH] bus: unref buscreds on failure - -Actually unref the buscreds when we are not going to return a -pointer to them. As when bus_creds_add_more fails we immediately -return the error code otherwise and leak the new buscreds. -Found with coverity. Fixes: CID#1237761 ---- - src/libsystemd/sd-bus/sd-bus.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 78e91b9..83b3aa1 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -3339,8 +3339,10 @@ _public_ int sd_bus_get_peer_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **re - } - - r = bus_creds_add_more(c, mask, pid, 0); -- if (r < 0) -+ if (r < 0) { -+ sd_bus_creds_unref(c); - return r; -+ } - - *ret = c; - return 0; --- -1.7.9.2 - diff --git a/0006-calendarspec-fix-typo-in-annually.patch b/0006-calendarspec-fix-typo-in-annually.patch deleted file mode 100644 index 7e695966..00000000 --- a/0006-calendarspec-fix-typo-in-annually.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e90efc70900f8e69cfbafd9e9508bdeb4d40dad7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 25 Oct 2014 11:59:36 -0400 -Subject: [PATCH] calendarspec: fix typo in "annually" - -https://bugs.freedesktop.org/show_bug.cgi?id=85447 ---- - src/shared/calendarspec.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/shared/calendarspec.c src/shared/calendarspec.c -index 4ac74ab..64d0dec 100644 ---- src/shared/calendarspec.c -+++ src/shared/calendarspec.c -@@ -688,7 +688,8 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) { - if (r < 0) - goto fail; - -- } else if (strcaseeq(p, "anually") || strcaseeq(p, "yearly")) { -+ } else if (strcaseeq(p, "annually") || strcaseeq(p, "yearly") -+ || strcaseeq(p, "anually") /* backwards compatibility */ ) { - r = const_chain(1, &c->month); - if (r < 0) - goto fail; --- -1.7.9.2 - diff --git a/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index c4e89bb1..00000000 --- a/0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 7cfa80f07e94c3e48703d145ef03a73dd6e7b983 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Wed, 18 Jun 2014 13:55:32 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 42 ++++++++++++++++++++++++++++++--- - 1 file changed, 39 insertions(+), 3 deletions(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index a65c7db..377748a 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -115,7 +115,7 @@ bluetooth:v0024* - ID_VENDOR_FROM_DATABASE=Alcatel - - bluetooth:v0025* -- ID_VENDOR_FROM_DATABASE=Philips Semiconductors -+ ID_VENDOR_FROM_DATABASE=NXP Semiconductors (formerly Philips Semiconductors) - - bluetooth:v0026* - ID_VENDOR_FROM_DATABASE=C Technologies -@@ -427,7 +427,7 @@ bluetooth:v008B* - ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC - - bluetooth:v008C* -- ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.) -+ ID_VENDOR_FROM_DATABASE=Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.) - - bluetooth:v008D* - ID_VENDOR_FROM_DATABASE=Zscan Software -@@ -1006,10 +1006,46 @@ bluetooth:v014C* - ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd - - bluetooth:v014D* -- ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD. -+ ID_VENDOR_FROM_DATABASE=Huizhou Desay SV Automotive CO., LTD. - - bluetooth:v014E* - ID_VENDOR_FROM_DATABASE=Tangerine, Inc. - - bluetooth:v014F* - ID_VENDOR_FROM_DATABASE=B&W Group Ltd. -+ -+bluetooth:v0150* -+ ID_VENDOR_FROM_DATABASE=Pioneer Corporation -+ -+bluetooth:v0151* -+ ID_VENDOR_FROM_DATABASE=OnBeep -+ -+bluetooth:v0152* -+ ID_VENDOR_FROM_DATABASE=Vernier Software & Technology -+ -+bluetooth:v0153* -+ ID_VENDOR_FROM_DATABASE=ROL Ergo -+ -+bluetooth:v0154* -+ ID_VENDOR_FROM_DATABASE=Pebble Technology -+ -+bluetooth:v0155* -+ ID_VENDOR_FROM_DATABASE=NETATMO -+ -+bluetooth:v0156* -+ ID_VENDOR_FROM_DATABASE=Accumulate AB -+ -+bluetooth:v0157* -+ ID_VENDOR_FROM_DATABASE=Anhui Huami Information Technology Co., Ltd. -+ -+bluetooth:v0158* -+ ID_VENDOR_FROM_DATABASE=Inmite s.r.o. -+ -+bluetooth:v0159* -+ ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. -+ -+bluetooth:v015A* -+ ID_VENDOR_FROM_DATABASE=micus AG -+ -+bluetooth:v015B* -+ ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. --- -1.7.9.2 - diff --git a/0006-hwdb-update.patch b/0006-hwdb-update.patch deleted file mode 100644 index 080bd96c..00000000 --- a/0006-hwdb-update.patch +++ /dev/null @@ -1,4392 +0,0 @@ -From 98be1a746ac0d7a17e69ccb05936a4d6b3223e97 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 3 Jul 2014 16:28:40 +0200 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 543 +++++++++++++++++++-- - hwdb/20-pci-classes.hwdb | 27 ++ - hwdb/20-pci-vendor-model.hwdb | 1071 +++++++++++++++++++++++++++-------------- - hwdb/20-usb-classes.hwdb | 3 + - hwdb/20-usb-vendor-model.hwdb | 102 +++- - 5 files changed, 1362 insertions(+), 384 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 6188bfc..97f1e6b 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -6446,7 +6446,7 @@ OUI:0050C2871* - ID_OUI_FROM_DATABASE=R-S-I Elektrotechnik GmbH & Co. KG - - OUI:0050C2872* -- ID_OUI_FROM_DATABASE=Oliotalo - Objecthouse Oy -+ ID_OUI_FROM_DATABASE=Oliotalo Oy - - OUI:0050C2873* - ID_OUI_FROM_DATABASE=XRONET Corporation -@@ -37139,76 +37139,76 @@ OUI:001EC7* - ID_OUI_FROM_DATABASE=2Wire, Inc. - - OUI:001EC8* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Rapid Mobile (Pty) Ltd - - OUI:001EC9* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Dell Inc - - OUI:001ECA* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Nortel - - OUI:001ECB* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE="RPC "Energoautomatika" Ltd - - OUI:001ECC* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=CDVI - - OUI:001ECD* - ID_OUI_FROM_DATABASE=KYLAND Technology Co. LTD - - OUI:001ECE* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=BISA Technologies (Hong Kong) Limited - - OUI:001ECF* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=PHILIPS ELECTRONICS UK LTD - - OUI:001ED0* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Ingespace - - OUI:001ED1* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Keyprocessor B.V. - - OUI:001ED2* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Ray Shine Video Technology Inc - - OUI:001ED3* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Dot Technology Int'l Co., Ltd. - - OUI:001ED4* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Doble Engineering - - OUI:001ED5* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Tekon-Automatics - - OUI:001ED6* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Alentec & Orion AB - - OUI:001ED7* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=H-Stream Wireless, Inc. - - OUI:001ED8* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Digital United Inc. - - OUI:001ED9* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Mitsubishi Precision Co.,LTd. - - OUI:001EDA* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Wesemann Elektrotechniek B.V. - - OUI:001EDB* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Giken Trastem Co., Ltd. - - OUI:001EDC* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - - OUI:001EDD* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=WASKO S.A. - - OUI:001EDE* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=BYD COMPANY LIMITED - - OUI:001EDF* -- ID_OUI_FROM_DATABASE=2Wire, Inc. -+ ID_OUI_FROM_DATABASE=Master Industrialization Center Kista - - OUI:001EE0* - ID_OUI_FROM_DATABASE=Urmet Domus SpA -@@ -45800,7 +45800,7 @@ OUI:0050F8* - ID_OUI_FROM_DATABASE=ENTREGA TECHNOLOGIES, INC. - - OUI:0050F9* -- ID_OUI_FROM_DATABASE=SENSORMATIC ACD -+ ID_OUI_FROM_DATABASE=Sensormatic Electronics LLC - - OUI:0050FA* - ID_OUI_FROM_DATABASE=OXTEL, LTD. -@@ -45829,6 +45829,9 @@ OUI:0054AF* - OUI:005907* - ID_OUI_FROM_DATABASE=LenovoEMC Products USA, LLC - -+OUI:005A39* -+ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO., LTD. -+ - OUI:005CB1* - ID_OUI_FROM_DATABASE=Gospell DIGITAL TECHNOLOGY CO., LTD - -@@ -46603,6 +46606,9 @@ OUI:0060FE* - OUI:0060FF* - ID_OUI_FROM_DATABASE=QuVis, Inc. - -+OUI:006171* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:006440* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -48238,6 +48244,9 @@ OUI:009C02* - OUI:009D8E* - ID_OUI_FROM_DATABASE=CARDIAC RECORDERS, INC. - -+OUI:009EC8* -+ ID_OUI_FROM_DATABASE=Beijing Xiaomi Electronic Products Co., Ltd. -+ - OUI:00A000* - ID_OUI_FROM_DATABASE=CENTILLION NETWORKS, INC. - -@@ -50740,6 +50749,9 @@ OUI:00D38D* - OUI:00D632* - ID_OUI_FROM_DATABASE=GE Energy - -+OUI:00D9D1* -+ ID_OUI_FROM_DATABASE=Sony Computer Entertainment Inc. -+ - OUI:00DB1E* - ID_OUI_FROM_DATABASE=Albedo Telecom SL - -@@ -51778,6 +51790,9 @@ OUI:0462D7* - OUI:0463E0* - ID_OUI_FROM_DATABASE=Nome Oy - -+OUI:046785* -+ ID_OUI_FROM_DATABASE=scemtec Hard- und Software fuer Mess- und Steuerungstechnik GmbH -+ - OUI:046D42* - ID_OUI_FROM_DATABASE=Bryston Ltd. - -@@ -51901,6 +51916,9 @@ OUI:04DB8A* - OUI:04DD4C* - ID_OUI_FROM_DATABASE=Velocytech - -+OUI:04DEDB* -+ ID_OUI_FROM_DATABASE=Rockport Networks Inc -+ - OUI:04DF69* - ID_OUI_FROM_DATABASE=Car Connectivity Consortium - -@@ -52498,6 +52516,9 @@ OUI:083F76* - OUI:084027* - ID_OUI_FROM_DATABASE=Gridstore Inc. - -+OUI:084656* -+ ID_OUI_FROM_DATABASE=VODALYS Ingénierie -+ - OUI:08482C* - ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD. - -@@ -52966,6 +52987,9 @@ OUI:0CCDD3* - OUI:0CCDFB* - ID_OUI_FROM_DATABASE=EDIC Systems Inc. - -+OUI:0CCFD1* -+ ID_OUI_FROM_DATABASE=SPRINGWAVE Co., Ltd -+ - OUI:0CD292* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -53089,6 +53113,9 @@ OUI:1010B6* - OUI:101212* - ID_OUI_FROM_DATABASE=Vivo International Corporation Pty Ltd - -+OUI:101218* -+ ID_OUI_FROM_DATABASE=Korins Inc. -+ - OUI:101248* - ID_OUI_FROM_DATABASE=ITG, Inc. - -@@ -53128,6 +53155,9 @@ OUI:102D96* - OUI:102EAF* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:102F6B* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:103047* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53164,6 +53194,9 @@ OUI:104780* - OUI:1048B1* - ID_OUI_FROM_DATABASE=Beijing Duokan Technology Limited - -+OUI:104B46* -+ ID_OUI_FROM_DATABASE=Mitsubishi Electric Corporation -+ - OUI:104D77* - ID_OUI_FROM_DATABASE=Innovative Computer Engineering - -@@ -53242,6 +53275,9 @@ OUI:10880F* - OUI:1088CE* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - -+OUI:108A1B* -+ ID_OUI_FROM_DATABASE=RAONIX Inc. -+ - OUI:108CCF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -53458,6 +53494,9 @@ OUI:144319* - OUI:1446E4* - ID_OUI_FROM_DATABASE=AVISTEL - -+OUI:14488B* -+ ID_OUI_FROM_DATABASE=Shenzhen Doov Technology Co.,Ltd -+ - OUI:144978* - ID_OUI_FROM_DATABASE=Digital Control Incorporated - -@@ -53473,6 +53512,9 @@ OUI:145412* - OUI:145645* - ID_OUI_FROM_DATABASE=Savitech Corp. - -+OUI:1458D0* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:145A05* - ID_OUI_FROM_DATABASE=Apple - -@@ -53608,6 +53650,9 @@ OUI:14EB33* - OUI:14EDA5* - ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme - -+OUI:14EDE4* -+ ID_OUI_FROM_DATABASE=Kaiam Corporation -+ - OUI:14EE9D* - ID_OUI_FROM_DATABASE=AirNav Systems LLC - -@@ -53794,6 +53839,9 @@ OUI:1867B0* - OUI:186D99* - ID_OUI_FROM_DATABASE=Adanis Inc. - -+OUI:187117* -+ ID_OUI_FROM_DATABASE=eta plus electronic gmbh -+ - OUI:1879A2* - ID_OUI_FROM_DATABASE=GMJ ELECTRIC LIMITED - -@@ -53812,6 +53860,9 @@ OUI:1880CE* - OUI:1880F5* - ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd - -+OUI:188219* -+ ID_OUI_FROM_DATABASE=Alibaba Cloud Computing Ltd. -+ - OUI:188331* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53857,6 +53908,9 @@ OUI:189EFC* - OUI:18A905* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -+OUI:18A958* -+ ID_OUI_FROM_DATABASE=PROVISION THAI CO., LTD. -+ - OUI:18A99B* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -54049,6 +54103,9 @@ OUI:1C43EC* - OUI:1C4593* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:1C4840* -+ ID_OUI_FROM_DATABASE=IMS Messsysteme GmbH -+ - OUI:1C48F9* - ID_OUI_FROM_DATABASE=GN Netcom A/S - -@@ -54064,6 +54121,9 @@ OUI:1C4BD6* - OUI:1C51B5* - ID_OUI_FROM_DATABASE=Techaya LTD - -+OUI:1C5216* -+ ID_OUI_FROM_DATABASE=DONGGUAN HELE ELECTRONICS CO., LTD -+ - OUI:1C52D6* - ID_OUI_FROM_DATABASE=FLAT DISPLAY TECHNOLOGY CORPORATION - -@@ -54100,6 +54160,9 @@ OUI:1C66AA* - OUI:1C69A5* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:1C6A7A* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:1C6BCA* - ID_OUI_FROM_DATABASE=Mitsunami Co., Ltd. - -@@ -54163,6 +54226,12 @@ OUI:1C973D* - OUI:1C994C* - ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd. - -+OUI:1C9C26* -+ ID_OUI_FROM_DATABASE=Zoovel Technologies -+ -+OUI:1CA2B1* -+ ID_OUI_FROM_DATABASE=ruwido austria gmbh -+ - OUI:1CA770* - ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LT - -@@ -54217,6 +54286,9 @@ OUI:1CC63C* - OUI:1CD40C* - ID_OUI_FROM_DATABASE=Kriwan Industrie-Elektronik GmbH - -+OUI:1CDEA7* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:1CDF0F* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -54286,6 +54358,9 @@ OUI:20107A* - OUI:201257* - ID_OUI_FROM_DATABASE=Most Lucky Trading Ltd - -+OUI:2012D5* -+ ID_OUI_FROM_DATABASE=Scientech Materials Corporation -+ - OUI:2013E0* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -54370,6 +54445,9 @@ OUI:205A00* - OUI:205B5E* - ID_OUI_FROM_DATABASE=Shenzhen Wonhe Technology Co., Ltd - -+OUI:205CFA* -+ ID_OUI_FROM_DATABASE=Yangzhou ChangLian Network Technology Co,ltd. -+ - OUI:206432* - ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO MECHANICS CO.,LTD. - -@@ -54439,6 +54517,9 @@ OUI:20A2E7* - OUI:20A787* - ID_OUI_FROM_DATABASE=Bointec Taiwan Corporation Limited - -+OUI:20A99B* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:20AA25* - ID_OUI_FROM_DATABASE=IP-NET LLC - -@@ -54469,6 +54550,9 @@ OUI:20BFDB* - OUI:20C1AF* - ID_OUI_FROM_DATABASE=i Wit Digital Co., Limited - -+OUI:20C38F* -+ ID_OUI_FROM_DATABASE=Texas Instruments Inc -+ - OUI:20C60D* - ID_OUI_FROM_DATABASE=Shanghai annijie Information technology Co.,LTD - -@@ -54616,6 +54700,9 @@ OUI:2437EF* - OUI:243C20* - ID_OUI_FROM_DATABASE=Dynamode Group - -+OUI:2442BC* -+ ID_OUI_FROM_DATABASE=Alinco,incorporated -+ - OUI:244597* - ID_OUI_FROM_DATABASE=GEMUE Gebr. Mueller Apparatebau - -@@ -55027,6 +55114,9 @@ OUI:28A241* - OUI:28A574* - ID_OUI_FROM_DATABASE=Miller Electric Mfg. Co. - -+OUI:28A5EE* -+ ID_OUI_FROM_DATABASE=Shenzhen SDGI CATV Co., Ltd -+ - OUI:28AF0A* - ID_OUI_FROM_DATABASE=Sirius XM Radio Inc - -@@ -55177,6 +55267,9 @@ OUI:2C0033* - OUI:2C00F7* - ID_OUI_FROM_DATABASE=XOS - -+OUI:2C010B* -+ ID_OUI_FROM_DATABASE=NASCENT Technology, LLC - RemKon -+ - OUI:2C0623* - ID_OUI_FROM_DATABASE=Win Leader Inc. - -@@ -55192,6 +55285,9 @@ OUI:2C18AE* - OUI:2C1984* - ID_OUI_FROM_DATABASE=IDN Telecom, Inc. - -+OUI:2C1A31* -+ ID_OUI_FROM_DATABASE=Electronics Company Limited -+ - OUI:2C1EEA* - ID_OUI_FROM_DATABASE=AERODEV - -@@ -55369,6 +55465,9 @@ OUI:2C9EFC* - OUI:2CA157* - ID_OUI_FROM_DATABASE=acromate, Inc. - -+OUI:2CA30E* -+ ID_OUI_FROM_DATABASE=POWER DRAGON DEVELOPMENT LIMITED -+ - OUI:2CA780* - ID_OUI_FROM_DATABASE=True Technologies Inc. - -@@ -55540,6 +55639,9 @@ OUI:303EAD* - OUI:304174* - ID_OUI_FROM_DATABASE=ALTEC LANSING LLC - -+OUI:304225* -+ ID_OUI_FROM_DATABASE=BURG-WÄCHTER KG -+ - OUI:304449* - ID_OUI_FROM_DATABASE=PLATH GmbH - -@@ -55603,6 +55705,9 @@ OUI:306E5C* - OUI:3071B2* - ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. - -+OUI:307512* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:30766F* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -55735,6 +55840,9 @@ OUI:3400A3* - OUI:340286* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:34029B* -+ ID_OUI_FROM_DATABASE=CloudBerry Technologies Private Limited -+ - OUI:3407FB* - ID_OUI_FROM_DATABASE=Ericsson AB - -@@ -55774,6 +55882,9 @@ OUI:3423BA* - OUI:34255D* - ID_OUI_FROM_DATABASE=Shenzhen Loadcom Technology Co.,Ltd - -+OUI:3428F0* -+ ID_OUI_FROM_DATABASE=ATN International Limited -+ - OUI:3429EA* - ID_OUI_FROM_DATABASE=MCD ELECTRONICS SP. Z O.O. - -@@ -55798,6 +55909,9 @@ OUI:344B3D* - OUI:344B50* - ID_OUI_FROM_DATABASE=ZTE Corporation - -+OUI:344DF7* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:344F3F* - ID_OUI_FROM_DATABASE=IO-Power Technology Co., Ltd. - -@@ -55825,6 +55939,9 @@ OUI:345D10* - OUI:346178* - ID_OUI_FROM_DATABASE=The Boeing Company - -+OUI:346288* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:34684A* - ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. - -@@ -55939,6 +56056,9 @@ OUI:34B1F7* - OUI:34B571* - ID_OUI_FROM_DATABASE=PLDS - -+OUI:34B7FD* -+ ID_OUI_FROM_DATABASE=Guangzhou Younghead Electronic Technology Co.,Ltd -+ - OUI:34BA51* - ID_OUI_FROM_DATABASE=Se-Kure Controls, Inc. - -@@ -56047,6 +56167,9 @@ OUI:34F39B* - OUI:34F62D* - ID_OUI_FROM_DATABASE=SHARP Corporation - -+OUI:34F6D2* -+ ID_OUI_FROM_DATABASE=Panasonic Taiwan Co.,Ltd. -+ - OUI:34F968* - ID_OUI_FROM_DATABASE=ATEK Products, LLC - -@@ -56062,6 +56185,9 @@ OUI:380197* - OUI:3806B4* - ID_OUI_FROM_DATABASE=A.D.C. GmbH - -+OUI:3808FD* -+ ID_OUI_FROM_DATABASE=Silca Spa -+ - OUI:380A0A* - ID_OUI_FROM_DATABASE=Sky-City Communication and Electronics Limited Company - -@@ -56137,6 +56263,9 @@ OUI:384608* - OUI:38484C* - ID_OUI_FROM_DATABASE=Apple - -+OUI:384B76* -+ ID_OUI_FROM_DATABASE=AIRTAME ApS -+ - OUI:384FF0* - ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc. - -@@ -56227,6 +56356,9 @@ OUI:38AA3C* - OUI:38B12D* - ID_OUI_FROM_DATABASE=Sonotronic Nagel GmbH - -+OUI:38B1DB* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:38B5BD* - ID_OUI_FROM_DATABASE=E.G.O. Elektro-Ger - -@@ -56302,6 +56434,9 @@ OUI:38EE9D* - OUI:38F098* - ID_OUI_FROM_DATABASE=Vapor Stone Rail Systems - -+OUI:38F33F* -+ ID_OUI_FROM_DATABASE=TATSUNO CORPORATION -+ - OUI:38F597* - ID_OUI_FROM_DATABASE=home2net GmbH - -@@ -56443,6 +56578,9 @@ OUI:3C57D5* - OUI:3C5A37* - ID_OUI_FROM_DATABASE=Samsung Electronics - -+OUI:3C5AB4* -+ ID_OUI_FROM_DATABASE=Google -+ - OUI:3C5F01* - ID_OUI_FROM_DATABASE=Synerchip Co., Ltd. - -@@ -56803,6 +56941,9 @@ OUI:407074* - OUI:407496* - ID_OUI_FROM_DATABASE=aFUN TECHNOLOGY INC. - -+OUI:40786A* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:407875* - ID_OUI_FROM_DATABASE=IMBEL - Industria de Material Belico do Brasil - -@@ -56929,6 +57070,9 @@ OUI:40D40E* - OUI:40D559* - ID_OUI_FROM_DATABASE=MICRO S.E.R.I. - -+OUI:40E230* -+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc. -+ - OUI:40E730* - ID_OUI_FROM_DATABASE=DEY Storage Systems, Inc. - -@@ -57145,6 +57289,9 @@ OUI:4486C1* - OUI:4487FC* - ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEM CO., LTD. - -+OUI:4488CB* -+ ID_OUI_FROM_DATABASE=Camco Technologies NV -+ - OUI:448A5B* - ID_OUI_FROM_DATABASE=Micro-Star INT'L CO., LTD. - -@@ -57337,6 +57484,9 @@ OUI:4851B7* - OUI:485261* - ID_OUI_FROM_DATABASE=SOREEL - -+OUI:4857DD* -+ ID_OUI_FROM_DATABASE=Facebook -+ - OUI:485929* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -57361,6 +57511,9 @@ OUI:4861A3* - OUI:486276* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:486B2C* -+ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., -+ - OUI:486B91* - ID_OUI_FROM_DATABASE=Fleetwood Group Inc. - -@@ -57391,6 +57544,9 @@ OUI:4891F6* - OUI:489BE2* - ID_OUI_FROM_DATABASE=SCI Innovations Ltd - -+OUI:489D18* -+ ID_OUI_FROM_DATABASE=Flashbay Limited -+ - OUI:489D24* - ID_OUI_FROM_DATABASE=Research In Motion - -@@ -57655,6 +57811,9 @@ OUI:4C7367* - OUI:4C73A5* - ID_OUI_FROM_DATABASE=KOVE - -+OUI:4C7403* -+ ID_OUI_FROM_DATABASE=Mundo Reader (bq) -+ - OUI:4C774F* - ID_OUI_FROM_DATABASE=Embedded Wireless Labs - -@@ -57745,6 +57904,9 @@ OUI:4CBAA3* - OUI:4CBB58* - ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd. - -+OUI:4CBC42* -+ ID_OUI_FROM_DATABASE=Shenzhen Hangsheng Electronics Co.,Ltd. -+ - OUI:4CBCA5* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -57784,6 +57946,9 @@ OUI:4CE1BB* - OUI:4CE676* - ID_OUI_FROM_DATABASE=Buffalo Inc. - -+OUI:4CE933* -+ ID_OUI_FROM_DATABASE=RailComm, LLC -+ - OUI:4CEB42* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -57799,6 +57964,9 @@ OUI:4CF2BF* - OUI:4CF45B* - ID_OUI_FROM_DATABASE=Blue Clover Devices - -+OUI:4CF5A0* -+ ID_OUI_FROM_DATABASE=Scalable Network Technologies Inc -+ - OUI:4CF737* - ID_OUI_FROM_DATABASE=SamJi Electronics Co., Ltd - -@@ -57823,6 +57991,9 @@ OUI:500E6D* - OUI:5011EB* - ID_OUI_FROM_DATABASE=SilverNet Ltd - -+OUI:5014B5* -+ ID_OUI_FROM_DATABASE=Richfit Information Technology Co., Ltd -+ - OUI:5017FF* - ID_OUI_FROM_DATABASE=Cisco - -@@ -57847,6 +58018,9 @@ OUI:502690* - OUI:5027C7* - ID_OUI_FROM_DATABASE=TECHNART Co.,Ltd - -+OUI:50294D* -+ ID_OUI_FROM_DATABASE=NANJING IOT SENSOR TECHNOLOGY CO,LTD -+ - OUI:502A7E* - ID_OUI_FROM_DATABASE=Smart electronic GmbH - -@@ -57937,6 +58111,9 @@ OUI:506441* - OUI:506787* - ID_OUI_FROM_DATABASE=iTellus - -+OUI:5067AE* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:5067F0* - ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation - -@@ -58276,6 +58453,9 @@ OUI:549B12* - OUI:549D85* - ID_OUI_FROM_DATABASE=EnerAccess inc - -+OUI:549F35* -+ ID_OUI_FROM_DATABASE=Dell Inc. -+ - OUI:54A04F* - ID_OUI_FROM_DATABASE=t-mac Technologies Ltd - -@@ -58366,6 +58546,9 @@ OUI:54F5B6* - OUI:54F666* - ID_OUI_FROM_DATABASE=Berthold Technologies GmbH and Co.KG - -+OUI:54F876* -+ ID_OUI_FROM_DATABASE=ABB AG -+ - OUI:54FA3E* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD - -@@ -58375,6 +58558,9 @@ OUI:54FB58* - OUI:54FDBF* - ID_OUI_FROM_DATABASE=Scheidt & Bachmann GmbH - -+OUI:54FFCF* -+ ID_OUI_FROM_DATABASE=Mopria Alliance -+ - OUI:580528* - ID_OUI_FROM_DATABASE=LABRIS NETWORKS - -@@ -58390,6 +58576,9 @@ OUI:5809E5* - OUI:580A20* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:58108C* -+ ID_OUI_FROM_DATABASE=Intelbras -+ - OUI:581243* - ID_OUI_FROM_DATABASE=AcSiP Technology Corp. - -@@ -58504,9 +58693,15 @@ OUI:587521* - OUI:587675* - ID_OUI_FROM_DATABASE=Beijing ECHO Technologies Co.,Ltd - -+OUI:5876C5* -+ ID_OUI_FROM_DATABASE=DIGI I'S LTD -+ - OUI:587A4D* - ID_OUI_FROM_DATABASE=Stonesoft Corporation - -+OUI:587BE9* -+ ID_OUI_FROM_DATABASE=AirPro Technology India Pvt. Ltd -+ - OUI:587E61* - ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd - -@@ -58633,6 +58828,9 @@ OUI:58EECE* - OUI:58F387* - ID_OUI_FROM_DATABASE=HCCP - -+OUI:58F39C* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:58F67B* - ID_OUI_FROM_DATABASE=Xia Men UnionCore Technology LTD. - -@@ -58810,6 +59008,12 @@ OUI:5C89D4* - OUI:5C8D4E* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C8FE0* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ -+OUI:5C93A2* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:5C95AE* - ID_OUI_FROM_DATABASE=Apple - -@@ -59011,6 +59215,9 @@ OUI:60334B* - OUI:603553* - ID_OUI_FROM_DATABASE=Buwon Technology - -+OUI:603696* -+ ID_OUI_FROM_DATABASE=The Sapling Company -+ - OUI:6036DD* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -59038,9 +59245,18 @@ OUI:604616* - OUI:6047D4* - ID_OUI_FROM_DATABASE=FORICS Electronic Technology Co., Ltd. - -+OUI:604826* -+ ID_OUI_FROM_DATABASE=Newbridge Technologies Int. Ltd. -+ - OUI:604A1C* - ID_OUI_FROM_DATABASE=SUYIN Corporation - -+OUI:6050C1* -+ ID_OUI_FROM_DATABASE=Kinetek Sports -+ -+OUI:60512C* -+ ID_OUI_FROM_DATABASE=TCT mobile limited -+ - OUI:6052D0* - ID_OUI_FROM_DATABASE=FACTS Engineering - -@@ -59125,6 +59341,9 @@ OUI:609084* - OUI:609217* - ID_OUI_FROM_DATABASE=Apple - -+OUI:6099D1* -+ ID_OUI_FROM_DATABASE=Vuzix / Lenovo -+ - OUI:609AA4* - ID_OUI_FROM_DATABASE=GVI SECURITY INC. - -@@ -59284,6 +59503,9 @@ OUI:60FEF9* - OUI:60FFDD* - ID_OUI_FROM_DATABASE=C.E. ELECTRONICS, INC - -+OUI:64002D* -+ ID_OUI_FROM_DATABASE=Powerlinq Co., LTD -+ - OUI:6400F1* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -59557,6 +59779,9 @@ OUI:64B310* - OUI:64B370* - ID_OUI_FROM_DATABASE=PowerComm Solutons LLC - -+OUI:64B473* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:64B64A* - ID_OUI_FROM_DATABASE=ViVOtech, Inc. - -@@ -59917,6 +60142,9 @@ OUI:68D247* - OUI:68D925* - ID_OUI_FROM_DATABASE=ProSys Development Services - -+OUI:68D93C* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:68DB67* - ID_OUI_FROM_DATABASE=Nantong Coship Electronics Co., Ltd - -@@ -59950,6 +60178,9 @@ OUI:68EE96* - OUI:68EFBD* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:68F06D* -+ ID_OUI_FROM_DATABASE=ALONG INDUSTRIAL CO., LIMITED -+ - OUI:68F125* - ID_OUI_FROM_DATABASE=Data Controls Inc. - -@@ -60079,6 +60310,9 @@ OUI:6C626D* - OUI:6C641A* - ID_OUI_FROM_DATABASE=Penguin Computing - -+OUI:6C6EFE* -+ ID_OUI_FROM_DATABASE=Core Logic Inc. -+ - OUI:6C6F18* - ID_OUI_FROM_DATABASE=Stereotaxis, Inc. - -@@ -60091,6 +60325,9 @@ OUI:6C709F* - OUI:6C71D9* - ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc - -+OUI:6C7660* -+ ID_OUI_FROM_DATABASE=KYOCERA Corporation -+ - OUI:6C81FE* - ID_OUI_FROM_DATABASE=Mitsuba Corporation - -@@ -60122,7 +60359,7 @@ OUI:6C92BF* - ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. - - OUI:6C98EB* -- ID_OUI_FROM_DATABASE=Xyne GmbH -+ ID_OUI_FROM_DATABASE=Ocedo GmbH - - OUI:6C9989* - ID_OUI_FROM_DATABASE=Cisco -@@ -60187,6 +60424,9 @@ OUI:6CB7F4* - OUI:6CBEE9* - ID_OUI_FROM_DATABASE=Alcatel-Lucent-IPD - -+OUI:6CBFB5* -+ ID_OUI_FROM_DATABASE=Noon Technology Co., Ltd -+ - OUI:6CC1D2* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -60514,6 +60754,9 @@ OUI:70A8E3* - OUI:70AAB2* - ID_OUI_FROM_DATABASE=Research In Motion - -+OUI:70AF25* -+ ID_OUI_FROM_DATABASE=Nishiyama Industry Co.,LTD. -+ - OUI:70B035* - ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd - -@@ -60535,6 +60778,9 @@ OUI:70B599* - OUI:70B921* - ID_OUI_FROM_DATABASE=FiberHome Telecommunication Technologies CO.,LTD - -+OUI:70BAEF* -+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -+ - OUI:70C6AC* - ID_OUI_FROM_DATABASE=Bosch Automotive Aftermarket - -@@ -60586,6 +60832,9 @@ OUI:70EE50* - OUI:70F176* - ID_OUI_FROM_DATABASE=Data Modul AG - -+OUI:70F196* -+ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc -+ - OUI:70F1A1* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -@@ -60796,6 +61045,9 @@ OUI:74B00C* - OUI:74B9EB* - ID_OUI_FROM_DATABASE=Fujian JinQianMao Electronic Technology Co.,Ltd - -+OUI:74BADB* -+ ID_OUI_FROM_DATABASE=Longconn Electornics(shenzhen)Co.,Ltd -+ - OUI:74BE08* - ID_OUI_FROM_DATABASE=ATEK Products, LLC - -@@ -60844,6 +61096,9 @@ OUI:74DE2B* - OUI:74E06E* - ID_OUI_FROM_DATABASE=Ergophone GmbH - -+OUI:74E14A* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:74E1B6* - ID_OUI_FROM_DATABASE=Apple - -@@ -61318,6 +61573,9 @@ OUI:7C092B* - OUI:7C0A50* - ID_OUI_FROM_DATABASE=J-MEX Inc. - -+OUI:7C0ECE* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:7C11BE* - ID_OUI_FROM_DATABASE=Apple - -@@ -61345,6 +61603,9 @@ OUI:7C2048* - OUI:7C2064* - ID_OUI_FROM_DATABASE=Alcatel Lucent IPD - -+OUI:7C2587* -+ ID_OUI_FROM_DATABASE=chaowifi.com -+ - OUI:7C2CF3* - ID_OUI_FROM_DATABASE=Secure Electrans Ltd - -@@ -61504,6 +61765,9 @@ OUI:7CAD74* - OUI:7CB03E* - ID_OUI_FROM_DATABASE=OSRAM GmbH - -+OUI:7CB177* -+ ID_OUI_FROM_DATABASE=Satelco AG -+ - OUI:7CB21B* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -@@ -61774,6 +62038,9 @@ OUI:8065E9* - OUI:806629* - ID_OUI_FROM_DATABASE=Prescope Technologies CO.,LTD. - -+OUI:806C1B* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:806C8B* - ID_OUI_FROM_DATABASE=KAESER KOMPRESSOREN AG - -@@ -61918,9 +62185,15 @@ OUI:80D733* - OUI:80DB31* - ID_OUI_FROM_DATABASE=Power Quotient International Co., Ltd. - -+OUI:80E650* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:80EA96* - ID_OUI_FROM_DATABASE=Apple - -+OUI:80EACA* -+ ID_OUI_FROM_DATABASE=Dialog Semiconductor Hellas SA -+ - OUI:80EE73* - ID_OUI_FROM_DATABASE=Shuttle Inc. - -@@ -61933,6 +62206,9 @@ OUI:80F593* - OUI:80F62E* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:80F8EB* -+ ID_OUI_FROM_DATABASE=RayTight -+ - OUI:80FA5B* - ID_OUI_FROM_DATABASE=CLEVO CO. - -@@ -62116,6 +62392,9 @@ OUI:848506* - OUI:84850A* - ID_OUI_FROM_DATABASE=Hella Sonnen- und Wetterschutztechnik GmbH - -+OUI:8486F3* -+ ID_OUI_FROM_DATABASE=Greenvity Communications -+ - OUI:848D84* - ID_OUI_FROM_DATABASE=Rajant Corporation - -@@ -62134,9 +62413,15 @@ OUI:848F69* - OUI:849000* - ID_OUI_FROM_DATABASE=Arnold & Richter Cine Technik - -+OUI:84930C* -+ ID_OUI_FROM_DATABASE=InCoax Networks Europe AB -+ - OUI:84948C* - ID_OUI_FROM_DATABASE=Hitron Technologies. Inc - -+OUI:849681* -+ ID_OUI_FROM_DATABASE=Cathay Communication Co.,Ltd -+ - OUI:8496D8* - ID_OUI_FROM_DATABASE=Pace plc - -@@ -62206,6 +62491,9 @@ OUI:84DE3D* - OUI:84DF0C* - ID_OUI_FROM_DATABASE=NET2GRID BV - -+OUI:84E058* -+ ID_OUI_FROM_DATABASE=Pace plc -+ - OUI:84E4D9* - ID_OUI_FROM_DATABASE=Shenzhen NEED technology Ltd. - -@@ -62545,6 +62833,9 @@ OUI:8C0EE3* - OUI:8C11CB* - ID_OUI_FROM_DATABASE=ABUS Security-Center GmbH & Co. KG - -+OUI:8C18D9* -+ ID_OUI_FROM_DATABASE=Shenzhen RF Technology Co., Ltd -+ - OUI:8C1F94* - ID_OUI_FROM_DATABASE=RF Surgical System Inc. - -@@ -62632,6 +62923,9 @@ OUI:8C5AF0* - OUI:8C5CA1* - ID_OUI_FROM_DATABASE=d-broad,INC - -+OUI:8C5D60* -+ ID_OUI_FROM_DATABASE=UCI Corporation Co.,Ltd. -+ - OUI:8C5FDF* - ID_OUI_FROM_DATABASE=Beijing Railway Signal Factory - -@@ -62683,6 +62977,9 @@ OUI:8C7CFF* - OUI:8C7EB3* - ID_OUI_FROM_DATABASE=Lytro, Inc. - -+OUI:8C7F3B* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:8C82A8* - ID_OUI_FROM_DATABASE=Insigma Technology Co.,Ltd - -@@ -62716,6 +63013,9 @@ OUI:8CAE4C* - OUI:8CAE89* - ID_OUI_FROM_DATABASE=Y-cam Solutions Ltd - -+OUI:8CB094* -+ ID_OUI_FROM_DATABASE=Airtech I&C Co., Ltd -+ - OUI:8CB64F* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -62770,6 +63070,9 @@ OUI:8CD628* - OUI:8CDB25* - ID_OUI_FROM_DATABASE=ESG Solutions - -+OUI:8CDCD4* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:8CDD8D* - ID_OUI_FROM_DATABASE=Wifly-City System Inc. - -@@ -62788,6 +63091,9 @@ OUI:8CE7B3* - OUI:8CEEC6* - ID_OUI_FROM_DATABASE=Precepscion Pty. Ltd. - -+OUI:8CF813* -+ ID_OUI_FROM_DATABASE=ORANGE POLSKA -+ - OUI:8CF945* - ID_OUI_FROM_DATABASE=Power Automation pte Ltd - -@@ -62851,6 +63157,9 @@ OUI:901D27* - OUI:901EDD* - ID_OUI_FROM_DATABASE=GREAT COMPUTER CORPORATION - -+OUI:90203A* -+ ID_OUI_FROM_DATABASE=BYD Precision Manufacture Co.,Ltd -+ - OUI:902083* - ID_OUI_FROM_DATABASE=General Engine Management Systems Ltd. - -@@ -63127,6 +63436,9 @@ OUI:90E6BA* - OUI:90EA60* - ID_OUI_FROM_DATABASE=SPI Lasers Ltd - -+OUI:90EF68* -+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation -+ - OUI:90F1AA* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD - -@@ -63154,6 +63466,9 @@ OUI:90FB5B* - OUI:90FBA6* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd - -+OUI:90FD61* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:90FF79* - ID_OUI_FROM_DATABASE=Metro Ethernet Forum - -@@ -63247,6 +63562,9 @@ OUI:945103* - OUI:9451BF* - ID_OUI_FROM_DATABASE=Hyundai ESG - -+OUI:945493* -+ ID_OUI_FROM_DATABASE=Rigado, LLC -+ - OUI:94592D* - ID_OUI_FROM_DATABASE=EKE Building Technology Systems Ltd - -@@ -63256,6 +63574,9 @@ OUI:945B7E* - OUI:946124* - ID_OUI_FROM_DATABASE=Pason Systems - -+OUI:946269* -+ ID_OUI_FROM_DATABASE=Arris Group, Inc. -+ - OUI:9463D1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -63622,6 +63943,9 @@ OUI:988EDD* - OUI:989080* - ID_OUI_FROM_DATABASE=Linkpower Network System Inc Ltd. - -+OUI:989096* -+ ID_OUI_FROM_DATABASE=Dell Inc -+ - OUI:9893CC* - ID_OUI_FROM_DATABASE=LG Electronics Inc. - -@@ -63781,6 +64105,9 @@ OUI:9C3178* - OUI:9C31B6* - ID_OUI_FROM_DATABASE=Kulite Semiconductor Products Inc - -+OUI:9C3583* -+ ID_OUI_FROM_DATABASE=Nipro Diagnostics, Inc -+ - OUI:9C3AAF* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -64234,6 +64561,9 @@ OUI:A08C9B* - OUI:A090DE* - ID_OUI_FROM_DATABASE=VEEDIMS,LLC - -+OUI:A09347* -+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD. -+ - OUI:A09805* - ID_OUI_FROM_DATABASE=OpenVox Communication Co Ltd - -@@ -64336,6 +64666,9 @@ OUI:A0E534* - OUI:A0E5E9* - ID_OUI_FROM_DATABASE=enimai Inc - -+OUI:A0E6F8* -+ ID_OUI_FROM_DATABASE=Texas Instruments Inc -+ - OUI:A0E9DB* - ID_OUI_FROM_DATABASE=Ningbo FreeWings Technologies Co.,Ltd - -@@ -64498,6 +64831,9 @@ OUI:A46CC1* - OUI:A46E79* - ID_OUI_FROM_DATABASE=DFT System Co.Ltd - -+OUI:A470D6* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:A47733* - ID_OUI_FROM_DATABASE=Google - -@@ -64643,7 +64979,7 @@ OUI:A4D3B5* - ID_OUI_FROM_DATABASE=GLITEL Stropkov, s.r.o. - - OUI:A4D856* -- ID_OUI_FROM_DATABASE=Qualcomm Labs Inc. -+ ID_OUI_FROM_DATABASE=Gimbal, Inc - - OUI:A4DA3F* - ID_OUI_FROM_DATABASE=Bionics Corp. -@@ -64732,6 +65068,9 @@ OUI:A81758* - OUI:A81B18* - ID_OUI_FROM_DATABASE=XTS CORP - -+OUI:A81B5D* -+ ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd -+ - OUI:A81FAF* - ID_OUI_FROM_DATABASE=KRYPTON POLSKA - -@@ -64984,6 +65323,9 @@ OUI:AC0A61* - OUI:AC0DFE* - ID_OUI_FROM_DATABASE=Ekon GmbH - myGEKKO - -+OUI:AC11D3* -+ ID_OUI_FROM_DATABASE=Suzhou HOTEK Video Technology Co. Ltd -+ - OUI:AC1461* - ID_OUI_FROM_DATABASE=ATAW Co., Ltd. - -@@ -65023,6 +65365,9 @@ OUI:AC34CB* - OUI:AC3613* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:AC3870* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:AC3C0B* - ID_OUI_FROM_DATABASE=Apple - -@@ -65191,6 +65536,9 @@ OUI:ACAB8D* - OUI:ACB313* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:ACB74F* -+ ID_OUI_FROM_DATABASE=METEL s.r.o. -+ - OUI:ACB859* - ID_OUI_FROM_DATABASE=Uniband Electronic Corp, - -@@ -65356,6 +65704,9 @@ OUI:B03850* - OUI:B0435D* - ID_OUI_FROM_DATABASE=NuLEDs, Inc. - -+OUI:B04515* -+ ID_OUI_FROM_DATABASE=mira fitness,LLC. -+ - OUI:B04545* - ID_OUI_FROM_DATABASE=YACOUB Automation GmbH - -@@ -65635,6 +65986,9 @@ OUI:B41489* - OUI:B41513* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:B41780* -+ ID_OUI_FROM_DATABASE=DTI Group Ltd -+ - OUI:B418D1* - ID_OUI_FROM_DATABASE=Apple - -@@ -65746,6 +66100,12 @@ OUI:B4749F* - OUI:B4750E* - ID_OUI_FROM_DATABASE=Belkin International Inc. - -+OUI:B479A7* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ -+OUI:B47C29* -+ ID_OUI_FROM_DATABASE=Shenzhen Guzidi Technology Co.,Ltd -+ - OUI:B47F5E* - ID_OUI_FROM_DATABASE=Foresight Manufacture (S) Pte Ltd - -@@ -65923,6 +66283,9 @@ OUI:B81619* - OUI:B817C2* - ID_OUI_FROM_DATABASE=Apple - -+OUI:B8186F* -+ ID_OUI_FROM_DATABASE=ORIENTAL MOTOR CO., LTD. -+ - OUI:B81999* - ID_OUI_FROM_DATABASE=Nesys - -@@ -65989,6 +66352,9 @@ OUI:B843E4* - OUI:B847C6* - ID_OUI_FROM_DATABASE=SanJet Technology Corp. - -+OUI:B84FD5* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:B85510* - ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. - -@@ -66109,6 +66475,9 @@ OUI:B89AED* - OUI:B89BC9* - ID_OUI_FROM_DATABASE=SMC Networks Inc - -+OUI:B89BE4* -+ ID_OUI_FROM_DATABASE=ABB Power Systems Power Generation -+ - OUI:B8A386* - ID_OUI_FROM_DATABASE=D-Link International - -@@ -66151,6 +66520,9 @@ OUI:B8BA72* - OUI:B8BB6D* - ID_OUI_FROM_DATABASE=ENERES Co.,Ltd. - -+OUI:B8BD79* -+ ID_OUI_FROM_DATABASE=TrendPoint Systems -+ - OUI:B8BEBF* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -@@ -66226,6 +66598,9 @@ OUI:B8EE65* - OUI:B8EE79* - ID_OUI_FROM_DATABASE=YWire Technologies, Inc. - -+OUI:B8F317* -+ ID_OUI_FROM_DATABASE=iSun Smasher Communications Private Limited -+ - OUI:B8F4D0* - ID_OUI_FROM_DATABASE=Herrmann Ultraschalltechnik GmbH & Co. Kg - -@@ -66373,6 +66748,9 @@ OUI:BC5FF4* - OUI:BC629F* - ID_OUI_FROM_DATABASE=Telenet Systems P. Ltd. - -+OUI:BC6641* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:BC671C* - ID_OUI_FROM_DATABASE=Cisco - -@@ -66838,6 +67216,9 @@ OUI:C4017C* - OUI:C401B1* - ID_OUI_FROM_DATABASE=SeekTech INC - -+OUI:C401CE* -+ ID_OUI_FROM_DATABASE=PRESITION (2000) CO., LTD. -+ - OUI:C40415* - ID_OUI_FROM_DATABASE=NETGEAR INC., - -@@ -66970,6 +67351,12 @@ OUI:C455C2* - OUI:C45600* - ID_OUI_FROM_DATABASE=Galleon Embedded Computing - -+OUI:C456FE* -+ ID_OUI_FROM_DATABASE=Lava International Ltd. -+ -+OUI:C4576E* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,LTD -+ - OUI:C458C2* - ID_OUI_FROM_DATABASE=Shenzhen TATFOOK Technology Co., Ltd. - -@@ -67081,6 +67468,9 @@ OUI:C4B512* - OUI:C4BA99* - ID_OUI_FROM_DATABASE=I+ME Actia Informatik und Mikro-Elektronik GmbH - -+OUI:C4BD6A* -+ ID_OUI_FROM_DATABASE=SKF GmbH -+ - OUI:C4C0AE* - ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. - -@@ -67429,6 +67819,9 @@ OUI:C8E1A7* - OUI:C8E42F* - ID_OUI_FROM_DATABASE=Technical Research Design and Development - -+OUI:C8E7D8* -+ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. -+ - OUI:C8EE08* - ID_OUI_FROM_DATABASE=TANGTOP TECHNOLOGY CO.,LTD - -@@ -67480,6 +67873,9 @@ OUI:C8FF77* - OUI:CC0080* - ID_OUI_FROM_DATABASE=BETTINI SRL - -+OUI:CC03FA* -+ ID_OUI_FROM_DATABASE=Technicolor CH USA -+ - OUI:CC047C* - ID_OUI_FROM_DATABASE=G-WAY Microwave - -@@ -67507,6 +67903,9 @@ OUI:CC0CDA* - OUI:CC0DEC* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:CC10A3* -+ ID_OUI_FROM_DATABASE=Beijing Nan Bao Technology Co., Ltd. -+ - OUI:CC14A6* - ID_OUI_FROM_DATABASE=Yichun MyEnergy Domain, Inc - -@@ -67531,6 +67930,9 @@ OUI:CC2A80* - OUI:CC2D8C* - ID_OUI_FROM_DATABASE=LG ELECTRONICS INC - -+OUI:CC3080* -+ ID_OUI_FROM_DATABASE=VAIO Corporation -+ - OUI:CC33BB* - ID_OUI_FROM_DATABASE=SAGEMCOM SAS - -@@ -67756,9 +68158,15 @@ OUI:CCD539* - OUI:CCD811* - ID_OUI_FROM_DATABASE=Aiconn Technology Corporation - -+OUI:CCD8C1* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:CCD9E9* - ID_OUI_FROM_DATABASE=SCR Engineers Ltd. - -+OUI:CCE17F* -+ ID_OUI_FROM_DATABASE=juniper networks -+ - OUI:CCE1D5* - ID_OUI_FROM_DATABASE=Buffalo Inc. - -@@ -67786,6 +68194,9 @@ OUI:CCF3A5* - OUI:CCF407* - ID_OUI_FROM_DATABASE=EUKREA ELECTROMATIQUE SARL - -+OUI:CCF538* -+ ID_OUI_FROM_DATABASE=3isysnetworks -+ - OUI:CCF67A* - ID_OUI_FROM_DATABASE=Ayecka Communication Systems LTD - -@@ -67825,6 +68236,9 @@ OUI:D00AAB* - OUI:D00EA4* - ID_OUI_FROM_DATABASE=Porsche Cars North America - -+OUI:D01242* -+ ID_OUI_FROM_DATABASE=BIOS Corporation -+ - OUI:D0131E* - ID_OUI_FROM_DATABASE=Sunrex Technology Corp - -@@ -67915,6 +68329,9 @@ OUI:D05FB8* - OUI:D05FCE* - ID_OUI_FROM_DATABASE=Hitachi Data Systems - -+OUI:D062A0* -+ ID_OUI_FROM_DATABASE=China Essence Technology (Zhumadian) Co., Ltd. -+ - OUI:D0634D* - ID_OUI_FROM_DATABASE=Meiko Maschinenbau GmbH & Co. KG - -@@ -67963,6 +68380,9 @@ OUI:D07E28* - OUI:D07E35* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:D084B0* -+ ID_OUI_FROM_DATABASE=Sagemcom -+ - OUI:D08999* - ID_OUI_FROM_DATABASE=APCON, Inc. - -@@ -68110,6 +68530,9 @@ OUI:D0F27F* - OUI:D0F73B* - ID_OUI_FROM_DATABASE=Helmut Mauell GmbH - -+OUI:D0FA1D* -+ ID_OUI_FROM_DATABASE=Qihoo 360 Technology Co.,Ltd -+ - OUI:D0FF50* - ID_OUI_FROM_DATABASE=Texas Instruments, Inc - -@@ -68191,6 +68614,9 @@ OUI:D42F23* - OUI:D4319D* - ID_OUI_FROM_DATABASE=Sinwatec - -+OUI:D437D7* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:D43A65* - ID_OUI_FROM_DATABASE=IGRS Engineering Lab Ltd. - -@@ -68278,6 +68704,9 @@ OUI:D46F42* - OUI:D479C3* - ID_OUI_FROM_DATABASE=Cameronet GmbH & Co. KG - -+OUI:D47B35* -+ ID_OUI_FROM_DATABASE=NEO Monitors AS -+ - OUI:D47B75* - ID_OUI_FROM_DATABASE=HARTING Electronics GmbH - -@@ -68299,6 +68728,9 @@ OUI:D48890* - OUI:D48CB5* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:D48F33* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:D48FAA* - ID_OUI_FROM_DATABASE=Sogecam Industrial, S.A. - -@@ -68440,6 +68872,9 @@ OUI:D4EA0E* - OUI:D4EC0C* - ID_OUI_FROM_DATABASE=Harley-Davidson Motor Company - -+OUI:D4EC86* -+ ID_OUI_FROM_DATABASE=LinkedHope Intelligent Technologies Co., Ltd -+ - OUI:D4EE07* - ID_OUI_FROM_DATABASE=HIWIFI Co., Ltd. - -@@ -68551,6 +68986,9 @@ OUI:D8490B* - OUI:D8492F* - ID_OUI_FROM_DATABASE=CANON INC. - -+OUI:D84A87* -+ ID_OUI_FROM_DATABASE=OI ELECTRIC CO.,LTD -+ - OUI:D84B2A* - ID_OUI_FROM_DATABASE=Cognitas Technologies, Inc. - -@@ -68860,6 +69298,9 @@ OUI:DC37D2* - OUI:DC38E1* - ID_OUI_FROM_DATABASE=Juniper networks - -+OUI:DC3979* -+ ID_OUI_FROM_DATABASE=Skyport Systems -+ - OUI:DC3A5E* - ID_OUI_FROM_DATABASE=Roku, Inc - -@@ -69199,6 +69640,9 @@ OUI:E09467* - OUI:E09579* - ID_OUI_FROM_DATABASE=ORTHOsoft inc, d/b/a Zimmer CAS - -+OUI:E09796* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:E097F2* - ID_OUI_FROM_DATABASE=Atomax Inc. - -@@ -69226,6 +69670,9 @@ OUI:E0AAB0* - OUI:E0ABFE* - ID_OUI_FROM_DATABASE=Orb Networks, Inc. - -+OUI:E0ACF1* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:E0AE5E* - ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. - -@@ -69523,6 +69970,9 @@ OUI:E492E7* - OUI:E492FB* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:E4956E* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:E496AE* - ID_OUI_FROM_DATABASE=ALTOGRAPHICS Inc. - -@@ -69553,6 +70003,9 @@ OUI:E4B021* - OUI:E4C146* - ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A - -+OUI:E4C62B* -+ ID_OUI_FROM_DATABASE=Airware -+ - OUI:E4C63D* - ID_OUI_FROM_DATABASE=Apple, Inc. - -@@ -69910,6 +70363,9 @@ OUI:E8EA6A* - OUI:E8EADA* - ID_OUI_FROM_DATABASE=Denkovi Assembly Electroncs LTD - -+OUI:E8ED05* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:E8EDF3* - ID_OUI_FROM_DATABASE=Cisco - -@@ -69931,6 +70387,9 @@ OUI:E8FC60* - OUI:E8FCAF* - ID_OUI_FROM_DATABASE=NETGEAR INC., - -+OUI:EC0EC4* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:EC0ED6* - ID_OUI_FROM_DATABASE=ITECH INSTRUMENTS SAS - -@@ -69949,6 +70408,9 @@ OUI:EC1766* - OUI:EC1A59* - ID_OUI_FROM_DATABASE=Belkin International Inc. - -+OUI:EC1D7F* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:EC219F* - ID_OUI_FROM_DATABASE=VidaBox LLC - -@@ -69982,6 +70444,9 @@ OUI:EC3586* - OUI:EC3BF0* - ID_OUI_FROM_DATABASE=NovelSat - -+OUI:EC3C5A* -+ ID_OUI_FROM_DATABASE=SHEN ZHEN HENG SHENG HUI DIGITAL TECHNOLOGY CO.,LTD -+ - OUI:EC3E09* - ID_OUI_FROM_DATABASE=PERFORMANCE DESIGNED PRODUCTS, LLC - -@@ -70522,6 +70987,9 @@ OUI:F4068D* - OUI:F406A5* - ID_OUI_FROM_DATABASE=Hangzhou Bianfeng Networking Technology Co., Ltd. - -+OUI:F409D8* -+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD. -+ - OUI:F40B93* - ID_OUI_FROM_DATABASE=Research In Motion - -@@ -70555,6 +71023,9 @@ OUI:F42012* - OUI:F42833* - ID_OUI_FROM_DATABASE=MMPC Inc. - -+OUI:F42853* -+ ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd. -+ - OUI:F42896* - ID_OUI_FROM_DATABASE=SPECTO PAINEIS ELETRONICOS LTDA - -@@ -70780,6 +71251,9 @@ OUI:F4EC38* - OUI:F4F15A* - ID_OUI_FROM_DATABASE=Apple - -+OUI:F4F1E1* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:F4F26D* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -@@ -70855,6 +71329,9 @@ OUI:F81EDF* - OUI:F82285* - ID_OUI_FROM_DATABASE=Cypress Technology CO., LTD. - -+OUI:F82441* -+ ID_OUI_FROM_DATABASE=Yeelink -+ - OUI:F82793* - ID_OUI_FROM_DATABASE=Apple, Inc - -@@ -71119,6 +71596,9 @@ OUI:F8E4FB* - OUI:F8E7B5* - ID_OUI_FROM_DATABASE=µTech Tecnologia LTDA - -+OUI:F8E811* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:F8E968* - ID_OUI_FROM_DATABASE=Egker Kft. - -@@ -71221,6 +71701,9 @@ OUI:FC1BFF* - OUI:FC1D59* - ID_OUI_FROM_DATABASE=I Smart Cities HK Ltd - -+OUI:FC1D84* -+ ID_OUI_FROM_DATABASE=Autobase -+ - OUI:FC1E16* - ID_OUI_FROM_DATABASE=IPEVO corp - -@@ -71359,6 +71842,9 @@ OUI:FC9947* - OUI:FC9FAE* - ID_OUI_FROM_DATABASE=Fidus Systems Inc - -+OUI:FC9FE1* -+ ID_OUI_FROM_DATABASE=CONWIN.Tech. Ltd -+ - OUI:FCA13E* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -71419,6 +71905,9 @@ OUI:FCD817* - OUI:FCDB96* - ID_OUI_FROM_DATABASE=ENERVALLEY CO., LTD - -+OUI:FCDBB3* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:FCDD55* - ID_OUI_FROM_DATABASE=Shenzhen WeWins wireless Co.,Ltd - -diff --git hwdb/20-pci-classes.hwdb hwdb/20-pci-classes.hwdb -index fd1d5d0..5702c40 100644 ---- hwdb/20-pci-classes.hwdb -+++ hwdb/20-pci-classes.hwdb -@@ -47,12 +47,24 @@ pci:v*d*sv*sd*bc01sc06i00* - pci:v*d*sv*sd*bc01sc06i01* - ID_PCI_INTERFACE_FROM_DATABASE=AHCI 1.0 - -+pci:v*d*sv*sd*bc01sc06i02* -+ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus -+ - pci:v*d*sv*sd*bc01sc07* - ID_PCI_SUBCLASS_FROM_DATABASE=Serial Attached SCSI controller - -+pci:v*d*sv*sd*bc01sc07i01* -+ ID_PCI_INTERFACE_FROM_DATABASE=Serial Storage Bus -+ - pci:v*d*sv*sd*bc01sc08* - ID_PCI_SUBCLASS_FROM_DATABASE=Non-Volatile memory controller - -+pci:v*d*sv*sd*bc01sc08i01* -+ ID_PCI_INTERFACE_FROM_DATABASE=NVMHCI -+ -+pci:v*d*sv*sd*bc01sc08i02* -+ ID_PCI_INTERFACE_FROM_DATABASE=NVM Express -+ - pci:v*d*sv*sd*bc01sc80* - ID_PCI_SUBCLASS_FROM_DATABASE=Mass storage controller - -@@ -80,6 +92,9 @@ pci:v*d*sv*sd*bc02sc05* - pci:v*d*sv*sd*bc02sc06* - ID_PCI_SUBCLASS_FROM_DATABASE=PICMG controller - -+pci:v*d*sv*sd*bc02sc07* -+ ID_PCI_SUBCLASS_FROM_DATABASE=Infiniband controller -+ - pci:v*d*sv*sd*bc02sc80* - ID_PCI_SUBCLASS_FROM_DATABASE=Network controller - -@@ -311,6 +326,9 @@ pci:v*d*sv*sd*bc08sc02i01* - pci:v*d*sv*sd*bc08sc02i02* - ID_PCI_INTERFACE_FROM_DATABASE=EISA Timers - -+pci:v*d*sv*sd*bc08sc02i03* -+ ID_PCI_INTERFACE_FROM_DATABASE=HPET -+ - pci:v*d*sv*sd*bc08sc03* - ID_PCI_SUBCLASS_FROM_DATABASE=RTC - -@@ -527,5 +545,14 @@ pci:v*d*sv*sd*bc11sc20* - pci:v*d*sv*sd*bc11sc80* - ID_PCI_SUBCLASS_FROM_DATABASE=Signal processing controller - -+pci:v*d*sv*sd*bc12* -+ ID_PCI_CLASS_FROM_DATABASE=Processing accelerators -+ -+pci:v*d*sv*sd*bc12sc00* -+ ID_PCI_SUBCLASS_FROM_DATABASE=Processing accelerators -+ -+pci:v*d*sv*sd*bc13* -+ ID_PCI_CLASS_FROM_DATABASE=Non-Essential Instrumentation -+ - pci:v*d*sv*sd*bcFF* - ID_PCI_CLASS_FROM_DATABASE=Unassigned class -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 62941b9..77c727d 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -959,6 +959,15 @@ pci:v00001000d0000005Dsv00001028sd00001F49* - pci:v00001000d0000005Dsv00001028sd00001F4A* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730 Mini (for blades)) - -+pci:v00001000d0000005Dsv00001028sd00001F4D* -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xS) -+ -+pci:v00001000d0000005Dsv00001028sd00001F4F* -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC H730P Slim) -+ -+pci:v00001000d0000005Dsv00001028sd00001F54* -+ ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (PERC FS33xD) -+ - pci:v00001000d0000005Dsv000017AAsd00001052* - ID_MODEL_FROM_DATABASE=MegaRAID SAS-3 3108 [Invader] (ThinkServer RAID 720i) - -@@ -1677,7 +1686,7 @@ pci:v00001002d00001308* - ID_MODEL_FROM_DATABASE=Kaveri HDMI/DP Audio Controller - - pci:v00001002d00001309* -- ID_MODEL_FROM_DATABASE=Kaveri [Radeon R7 Graphics] -+ ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6/R7 Graphics] - - pci:v00001002d0000130A* - ID_MODEL_FROM_DATABASE=Kaveri [Radeon R6 Graphics] -@@ -3003,7 +3012,7 @@ pci:v00001002d00004C57sv00001014sd00000517* - ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T30) - - pci:v00001002d00004C57sv00001014sd00000530* -- ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T42 2373-4WU) -+ ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (ThinkPad T4x Series) - - pci:v00001002d00004C57sv00001028sd000000E6* - ID_MODEL_FROM_DATABASE=RV200/M7 [Mobility Radeon 7500] (Radeon Mobility M7 LW (Dell Inspiron 8100)) -@@ -4362,7 +4371,7 @@ pci:v00001002d00006667* - ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M230] - - pci:v00001002d0000666F* -- ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M] -+ ID_MODEL_FROM_DATABASE=Sun LE [Radeon HD 8550M / R5 M230] - - pci:v00001002d00006670* - ID_MODEL_FROM_DATABASE=Hainan -@@ -5937,10 +5946,10 @@ pci:v00001002d0000679F* - ID_MODEL_FROM_DATABASE=Tahiti - - pci:v00001002d000067A0* -- ID_MODEL_FROM_DATABASE=Hawaii XT GL -+ ID_MODEL_FROM_DATABASE=Hawaii XT GL [FirePro W9100] - - pci:v00001002d000067A1* -- ID_MODEL_FROM_DATABASE=Hawaii GL -+ ID_MODEL_FROM_DATABASE=Hawaii PRO GL [FirePro W8100] - - pci:v00001002d000067A2* - ID_MODEL_FROM_DATABASE=Hawaii GL -@@ -5961,7 +5970,7 @@ pci:v00001002d000067B1* - ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290] - - pci:v00001002d000067B9* -- ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295 X2] -+ ID_MODEL_FROM_DATABASE=Vesuvius [Radeon R9 295X2] - - pci:v00001002d000067BE* - ID_MODEL_FROM_DATABASE=Hawaii LE -@@ -7860,7 +7869,13 @@ pci:v00001002d000068FE* - ID_MODEL_FROM_DATABASE=Cedar LE - - pci:v00001002d00006900* -- ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260] -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] -+ -+pci:v00001002d00006900sv00001028sd00000640* -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M265) -+ -+pci:v00001002d00006900sv00001179sd0000F934* -+ ID_MODEL_FROM_DATABASE=Topaz XT [Radeon R7 M260/M265] (Radeon R7 M260) - - pci:v00001002d00006901* - ID_MODEL_FROM_DATABASE=Topaz PRO [Radeon R5 M255] -@@ -8027,6 +8042,9 @@ pci:v00001002d0000718A* - pci:v00001002d0000718B* - ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] - -+pci:v00001002d0000718Bsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=RV516/M62 [Mobility Radeon X1350] (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001002d0000718C* - ID_MODEL_FROM_DATABASE=RV516/M62-CSP64 [Mobility Radeon X1350] - -@@ -8969,26 +8987,29 @@ pci:v00001002d0000983E* - pci:v00001002d0000983F* - ID_MODEL_FROM_DATABASE=Kabini - -+pci:v00001002d00009840* -+ ID_MODEL_FROM_DATABASE=Kabini HDMI/DP Audio -+ - pci:v00001002d00009850* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A6-6200 with R3 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] - - pci:v00001002d00009851* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R4/R5 Graphics] - - pci:v00001002d00009852* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU A4-6000 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] - - pci:v00001002d00009853* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-4000 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] - - pci:v00001002d00009854* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU E2-3700 with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R3 Graphics] - - pci:v00001002d00009855* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2450M with R3 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R6 Graphics] - - pci:v00001002d00009856* -- ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] -+ ID_MODEL_FROM_DATABASE=Mullins [Radeon R2 Graphics] - - pci:v00001002d00009857* - ID_MODEL_FROM_DATABASE=Mullins [Radeon APU XX-2200M with R2 Graphics] -@@ -12347,6 +12368,9 @@ pci:v0000102Bd00000532sv00001028sd0000029C* - pci:v0000102Bd00000532sv00001028sd000002A4* - ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (PowerEdge T310 MGA G200eW WPCM450) - -+pci:v0000102Bd00000532sv000015D9sd00000624* -+ ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (X9SCM-F Motherboard) -+ - pci:v0000102Bd00000532sv000015D9sd0000A811* - ID_MODEL_FROM_DATABASE=MGA G200eW WPCM450 (H8DGU) - -@@ -13169,6 +13193,9 @@ pci:v00001039d00000016* - pci:v00001039d00000018* - ID_MODEL_FROM_DATABASE=SiS85C503/5513 (LPC Bridge) - -+pci:v00001039d00000163* -+ ID_MODEL_FROM_DATABASE=163 802.11b/g Wireless LAN Adapter -+ - pci:v00001039d00000180* - ID_MODEL_FROM_DATABASE=RAID bus controller 180 SATA/PATA [SiS] - -@@ -14141,6 +14168,9 @@ pci:v00001042d00003020* - pci:v00001043* - ID_VENDOR_FROM_DATABASE=ASUSTeK Computer Inc. - -+pci:v00001043d00000464* -+ ID_MODEL_FROM_DATABASE=Radeon R9 270x GPU -+ - pci:v00001043d00000675* - ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D - -@@ -17978,6 +18008,9 @@ pci:v00001095d00003512sv00001095sd00006512* - pci:v00001095d00003531* - ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller - -+pci:v00001095d00003531sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=SiI 3531 [SATALink/SATARaid] Serial ATA Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00001096* - ID_VENDOR_FROM_DATABASE=Alacron - -@@ -26261,6 +26294,9 @@ pci:v000010DEd00000F00* - pci:v000010DEd00000F01* - ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 620] - -+pci:v000010DEd00000F02* -+ ID_MODEL_FROM_DATABASE=GF108 [GeForce GT 730] -+ - pci:v000010DEd00000FC0* - ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 640 OEM] - -@@ -26276,6 +26312,9 @@ pci:v000010DEd00000FC6* - pci:v000010DEd00000FC6sv00001043sd00008428* - ID_MODEL_FROM_DATABASE=GK107 [GeForce GTX 650] (GTX650-DC-1GD5) - -+pci:v000010DEd00000FC8* -+ ID_MODEL_FROM_DATABASE=GK107 [GeForce GT 740] -+ - pci:v000010DEd00000FCD* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 755M] - -@@ -26420,6 +26459,9 @@ pci:v000010DEd00000FFE* - pci:v000010DEd00000FFF* - ID_MODEL_FROM_DATABASE=GK107GL [Quadro 410] - -+pci:v000010DEd00001001* -+ ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX TITAN Z] -+ - pci:v000010DEd00001003* - ID_MODEL_FROM_DATABASE=GK110 [GeForce GTX Titan LE] - -@@ -26828,9 +26870,57 @@ pci:v000010DEd00001140sv00001025sd00000830* - pci:v000010DEd00001140sv00001025sd00000837* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv00001025sd0000083E* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001025sd00000841* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - -+pci:v000010DEd00001140sv00001025sd00000854* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000855* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000856* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000857* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000858* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000868* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000869* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) -+ -+pci:v000010DEd00001140sv00001025sd00000873* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000878* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000087B* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000087C* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M) -+ -+pci:v000010DEd00001140sv00001025sd00000881* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000088A* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd0000090F* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001025sd00000921* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001028sd0000054D* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -@@ -26966,6 +27056,18 @@ pci:v000010DEd00001140sv00001043sd000016DD* - pci:v000010DEd00001140sv00001043sd0000170D* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -+pci:v000010DEd00001140sv00001043sd0000176D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001043sd0000178D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001043sd0000179D* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001043sd000017DD* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001043sd00002132* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M) - -@@ -27713,6 +27815,9 @@ pci:v000010DEd00001284* - pci:v000010DEd00001286* - ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 720] - -+pci:v000010DEd00001287* -+ ID_MODEL_FROM_DATABASE=GK208 [GeForce GT 730] -+ - pci:v000010DEd00001290* - ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 730M] - -@@ -27749,6 +27854,21 @@ pci:v000010DEd00001294* - pci:v000010DEd00001295* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] - -+pci:v000010DEd00001295sv0000103Csd00002B0D* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B0F* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B11* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B21* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) -+ -+pci:v000010DEd00001295sv0000103Csd00002B22* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) -+ - pci:v000010DEd00001296* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 825M] - -@@ -28302,7 +28422,7 @@ pci:v000010ECd00008136* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller - - pci:v000010ECd00008136sv0000103Csd00002AB1* -- ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavillion p6774) -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion p6774) - - pci:v000010ECd00008136sv0000103Csd000030CC* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (Pavilion dv6700) -@@ -28310,6 +28430,9 @@ pci:v000010ECd00008136sv0000103Csd000030CC* - pci:v000010ECd00008136sv00001179sd0000FF64* - ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (RTL8102E PCI-E Fast Ethernet NIC) - -+pci:v000010ECd00008136sv000017C0sd00001053* -+ ID_MODEL_FROM_DATABASE=RTL8101E/RTL8102E PCI Express Fast Ethernet controller (AzureWave AW-NE766 802.11B/G/N Mini PCIe Card Model RT2700E) -+ - pci:v000010ECd00008138* - ID_MODEL_FROM_DATABASE=RT8139 (B/C) Cardbus Fast Ethernet Adapter - -@@ -29036,6 +29159,9 @@ pci:v00001102d0000000B* - pci:v00001102d0000000Bsv00001102sd00000041* - ID_MODEL_FROM_DATABASE=EMU20k2 [X-Fi Titanium Series] (SB0880 [SoundBlaster X-Fi Titanium PCI-e]) - -+pci:v00001102d00000012* -+ ID_MODEL_FROM_DATABASE=SB Recon3D -+ - pci:v00001102d00004001* - ID_MODEL_FROM_DATABASE=SB Audigy FireWire Port - -@@ -30878,6 +31004,9 @@ pci:v00001106d0000E340* - pci:v00001106d0000E353* - ID_MODEL_FROM_DATABASE=VX800/VX820 PCI Express Root Port - -+pci:v00001106d0000E410* -+ ID_MODEL_FROM_DATABASE=VX900 PCI Express Physical Layer Electrical Sub-block -+ - pci:v00001106d0000F208* - ID_MODEL_FROM_DATABASE=PT890 PCI to PCI Bridge Controller - -@@ -35045,6 +35174,9 @@ pci:v000011ABd00004353sv0000104Dsd0000902D* - pci:v000011ABd00004354* - ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller - -+pci:v000011ABd00004354sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (R730 Laptop) -+ - pci:v000011ABd00004354sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller (Notebook N150P) - -@@ -36557,6 +36689,9 @@ pci:v00001217* - pci:v00001217d000000F7* - ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) - -+pci:v00001217d000000F7sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001217d000000F7sv00001179sd0000FF50* - ID_MODEL_FROM_DATABASE=Firewire (IEEE 1394) (Satellite P305D-S8995E) - -@@ -36635,12 +36770,18 @@ pci:v00001217d00007114* - pci:v00001217d00007120* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller - -+pci:v00001217d00007120sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001217d00007120sv00001179sd0000FF50* - ID_MODEL_FROM_DATABASE=Integrated MMC/SD Controller (Satellite P305D-S8995E) - - pci:v00001217d00007130* - ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller - -+pci:v00001217d00007130sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00001217d00007130sv00001179sd0000FF50* - ID_MODEL_FROM_DATABASE=Integrated MS/xD Controller (Satellite P305D-S8995E) - -@@ -42276,7 +42417,7 @@ pci:v00001425d00004083* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller - - pci:v00001425d00004084* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller - - pci:v00001425d00004085* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -@@ -42348,7 +42489,7 @@ pci:v00001425d00004483* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller - - pci:v00001425d00004484* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller - - pci:v00001425d00004485* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -@@ -42420,7 +42561,7 @@ pci:v00001425d00004583* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller - - pci:v00001425d00004584* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller - - pci:v00001425d00004585* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller -@@ -42492,7 +42633,7 @@ pci:v00001425d00004683* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Storage Controller - - pci:v00001425d00004684* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Storage Controller - - pci:v00001425d00004685* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Storage Controller -@@ -42564,7 +42705,7 @@ pci:v00001425d00004783* - ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller - - pci:v00001425d00004784* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller - - pci:v00001425d00004785* - ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -@@ -42579,76 +42720,76 @@ pci:v00001425d00004788* - ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller - - pci:v00001425d00004801* -- ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004802* -- ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T422-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004803* -- ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004804* -- ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004805* -- ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004806* -- ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-CH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004807* -- ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-SO Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004808* -- ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-CX Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004809* -- ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480A* -- ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T404-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480B* -- ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B420-SR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480C* -- ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B404-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480D* -- ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T480 Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480E* -- ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-LP-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000480F* -- ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440 [Amsterdam] Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004880* -- ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T480-4080 T480 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004881* -- ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440F-4081 T440-FCoE Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004882* -- ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-4082 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004883* -- ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420X-4083 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004884* -- ID_MODEL_FROM_DATABASE=T420-4084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4084 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004885* -- ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T420-4085 SFP+ Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004886* -- ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4086 10Gbase-T Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004887* -- ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440T-4087 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00004888* -- ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T440-4088 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005001* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller -@@ -43041,82 +43182,82 @@ pci:v00001425d00005785* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller - - pci:v00001425d00005801* -- ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005802* -- ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T522-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005803* -- ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005804* -- ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005805* -- ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-BCH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005806* -- ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-CH Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005807* -- ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-SO Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005808* -- ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-CX Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005809* -- ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580A* -- ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T504-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580B* -- ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B520-SR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580C* -- ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=B504-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580D* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580E* -- ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-LP-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000580F* -- ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540 [Amsterdam] Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005810* -- ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-LP-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005811* -- ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T520-LL-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005812* -- ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005813* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005814* -- ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005815* -- ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005880* -- ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005881* -- ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-5081 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005883* -- ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005884* -- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005885* -- ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] - - pci:v00001425d0000A000* - ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller -@@ -43562,6 +43703,9 @@ pci:v0000148E* - pci:v0000148F* - ID_VENDOR_FROM_DATABASE=Plant Equipment, Inc. - -+pci:v0000148Fd00005370* -+ ID_MODEL_FROM_DATABASE=Dexlink AUWL15I1 -+ - pci:v00001490* - ID_VENDOR_FROM_DATABASE=Stone Microsystems PTY Ltd. - -@@ -44885,6 +45029,9 @@ pci:v000014E4d000016A2sv0000103Csd00001916* - pci:v000014E4d000016A2sv0000103Csd00001917* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II 10/20-Gigabit Ethernet (HP FlexFabric 20Gb 2-port 630M Adapter) - -+pci:v000014E4d000016A3* -+ ID_MODEL_FROM_DATABASE=NetXtreme BCM57786 Gigabit Ethernet PCIe -+ - pci:v000014E4d000016A4* - ID_MODEL_FROM_DATABASE=BCM57840 NetXtreme II Ethernet Multi Function - -@@ -47796,7 +47943,7 @@ pci:v000015B3d00001003* - ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3] - - pci:v000015B3d00001004* -- ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Virtual Function] -+ ID_MODEL_FROM_DATABASE=MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] - - pci:v000015B3d00001005* - ID_MODEL_FROM_DATABASE=MT27510 Family -@@ -47807,9 +47954,6 @@ pci:v000015B3d00001006* - pci:v000015B3d00001007* - ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro] - --pci:v000015B3d00001008* -- ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro Virtual Function] -- - pci:v000015B3d00001009* - ID_MODEL_FROM_DATABASE=MT27530 Family - -@@ -49187,6 +49331,9 @@ pci:v0000168Cd0000002Bsv0000105Bsd0000E017* - pci:v0000168Cd0000002Bsv0000105Bsd0000E023* - ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card) - -+pci:v0000168Cd0000002Bsv0000105Bsd0000E025* -+ ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (T77H121.05 802.11bgn Wireless Half-size Mini PCIe Card) -+ - pci:v0000168Cd0000002Bsv00001113sd0000E811* - ID_MODEL_FROM_DATABASE=AR9285 Wireless Network Adapter (PCI-Express) (WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card) - -@@ -50471,6 +50618,9 @@ pci:v00001814d00000701sv00001737sd00000074* - pci:v00001814d00000781* - ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe - -+pci:v00001814d00000781sv00001814sd00002790* -+ ID_MODEL_FROM_DATABASE=RT2790 Wireless 802.11n 1T/2R PCIe -+ - pci:v00001814d00003060* - ID_MODEL_FROM_DATABASE=RT3060 Wireless 802.11n 1T/1R - -@@ -51911,6 +52061,9 @@ pci:v00001969d00001063* - pci:v00001969d00001063sv00001458sd0000E000* - ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (GA-G31M-ES2L Motherboard) - -+pci:v00001969d00001063sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=AR8131 Gigabit Ethernet (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00001969d00001066* - ID_MODEL_FROM_DATABASE=Attansic L2c Gigabit Ethernet - -@@ -52358,6 +52511,18 @@ pci:v00001A2Bd0000000A* - pci:v00001A2Bd0000000E* - ID_MODEL_FROM_DATABASE=DSLP-104 v1.1 - -+pci:v00001A30* -+ ID_VENDOR_FROM_DATABASE=Lantiq -+ -+pci:v00001A30d00000680* -+ ID_MODEL_FROM_DATABASE=MtW8171 [Hyperion II] -+ -+pci:v00001A30d00000700* -+ ID_MODEL_FROM_DATABASE=Wave300 PSB8224 [Hyperion III] -+ -+pci:v00001A30d00000710* -+ ID_MODEL_FROM_DATABASE=Wave300 PSB8231 [Hyperion III] -+ - pci:v00001A32* - ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc - -@@ -52497,19 +52662,19 @@ pci:v00001A78* - ID_VENDOR_FROM_DATABASE=Virident Systems Inc. - - pci:v00001A78d00000031* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive - - pci:v00001A78d00000031sv00001A78sd00000034* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3]) - - pci:v00001A78d00000031sv00001A78sd00000037* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 3D]) - - pci:v00001A78d00000031sv00001A78sd00000038* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4]) - - pci:v00001A78d00000031sv00001A78sd00000039* -- ID_MODEL_FROM_DATABASE=Virident FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) -+ ID_MODEL_FROM_DATABASE=FlashMAX Drive (FlashMAX PCIe SSD [rev 4D]) - - pci:v00001A78d00000040* - ID_MODEL_FROM_DATABASE=FlashMAX II -@@ -52520,6 +52685,9 @@ pci:v00001A78d00000041* - pci:v00001A78d00000042* - ID_MODEL_FROM_DATABASE=FlashMAX II - -+pci:v00001A78d00000050* -+ ID_MODEL_FROM_DATABASE=FlashMAX III -+ - pci:v00001A84* - ID_VENDOR_FROM_DATABASE=Commex Technologies - -@@ -52682,6 +52850,15 @@ pci:v00001AEDd00001008* - pci:v00001AEDd00002001* - ID_MODEL_FROM_DATABASE=ioDrive2 - -+pci:v00001AEDd00003001* -+ ID_MODEL_FROM_DATABASE=ioMemory FHHL -+ -+pci:v00001AEDd00003002* -+ ID_MODEL_FROM_DATABASE=ioMemory HHHL -+ -+pci:v00001AEDd00003003* -+ ID_MODEL_FROM_DATABASE=ioMemory Mezzanine -+ - pci:v00001AEE* - ID_VENDOR_FROM_DATABASE=Caustic Graphics Inc. - -@@ -52775,6 +52952,9 @@ pci:v00001B21d00001080* - pci:v00001B21d00001080sv00001849sd00001080* - ID_MODEL_FROM_DATABASE=ASM1083/1085 PCIe to PCI Bridge (Motherboard) - -+pci:v00001B21d00001142* -+ ID_MODEL_FROM_DATABASE=ASM1042A USB 3.0 Host Controller -+ - pci:v00001B2C* - ID_VENDOR_FROM_DATABASE=Opal-RT Technologies Inc. - -@@ -52916,6 +53096,9 @@ pci:v00001B4Bd00009485* - pci:v00001B55* - ID_VENDOR_FROM_DATABASE=NetUP Inc. - -+pci:v00001B55d000018F6* -+ ID_MODEL_FROM_DATABASE=Dual DVB Universal CI card -+ - pci:v00001B55d00002A2C* - ID_MODEL_FROM_DATABASE=Dual DVB-S2-CI card - -@@ -53135,6 +53318,9 @@ pci:v00001CE4d00000002* - pci:v00001CF7* - ID_VENDOR_FROM_DATABASE=Subspace Dynamics - -+pci:v00001D21* -+ ID_VENDOR_FROM_DATABASE=Allo -+ - pci:v00001D44* - ID_VENDOR_FROM_DATABASE=DPT - -@@ -54956,15 +55142,30 @@ pci:v00008086d00000044sv00001025sd00000347* - pci:v00008086d00000044sv00001025sd00000487* - ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (TravelMate 5742) - -+pci:v00008086d00000044sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (R730 Laptop) -+ -+pci:v00008086d00000044sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00000044sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=Core Processor DRAM Controller (PC1-GROOVE) - - pci:v00008086d00000045* - ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port - -+pci:v00008086d00000045sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=Core Processor PCI Express x16 Root Port (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00000046* - ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller - -+pci:v00008086d00000046sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (R730 Laptop) -+ -+pci:v00008086d00000046sv000017C0sd000010D9* -+ ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00000046sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=Core Processor Integrated Graphics Controller (PC1-GROOVE) - -@@ -55238,6 +55439,9 @@ pci:v00008086d00000150* - pci:v00008086d00000150sv00001043sd000084CA* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (P8 series motherboard) - -+pci:v00008086d00000150sv000015D9sd00000624* -+ ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (X9SCM-F Motherboard) -+ - pci:v00008086d00000150sv00001849sd00000150* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (Motherboard) - -@@ -55445,6 +55649,9 @@ pci:v00008086d00000416sv000017AAsd0000220E* - pci:v00008086d0000041A* - ID_MODEL_FROM_DATABASE=Xeon E3-1200 v3 Processor Integrated Graphics Controller - -+pci:v00008086d0000041E* -+ ID_MODEL_FROM_DATABASE=4th Generation Core Processor Family Integrated Graphics Controller -+ - pci:v00008086d00000433* - ID_MODEL_FROM_DATABASE=Coleto Creek ACC - ME/CPM interface - -@@ -56727,241 +56934,85 @@ pci:v00008086d00000EFD* - ID_MODEL_FROM_DATABASE=Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO - - pci:v00008086d00000F00* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -- --pci:v00008086d00000F01* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -- --pci:v00008086d00000F02* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -- --pci:v00008086d00000F03* -- ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register - - pci:v00008086d00000F04* -- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller -- --pci:v00008086d00000F05* -- ID_MODEL_FROM_DATABASE=ValleyView High Definition Audio Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller - - pci:v00008086d00000F06* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller -- --pci:v00008086d00000F07* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 DMA Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 DMA Controller - - pci:v00008086d00000F08* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller - - pci:v00008086d00000F09* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 PWM Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller - - pci:v00008086d00000F0A* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 -- --pci:v00008086d00000F0B* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #1 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #1 - - pci:v00008086d00000F0C* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 -- --pci:v00008086d00000F0D* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 HSUART Controller #2 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #2 - - pci:v00008086d00000F0E* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller -- --pci:v00008086d00000F0F* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 SPI Controller -- --pci:v00008086d00000F10* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller -- --pci:v00008086d00000F11* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO1 Controller -- --pci:v00008086d00000F12* -- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller -- --pci:v00008086d00000F13* -- ID_MODEL_FROM_DATABASE=ValleyView SMBus Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller - - pci:v00008086d00000F14* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller - - pci:v00008086d00000F15* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller - - pci:v00008086d00000F16* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -- --pci:v00008086d00000F17* -- ID_MODEL_FROM_DATABASE=ValleyView SDIO Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series SDIO Controller - - pci:v00008086d00000F18* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -- --pci:v00008086d00000F19* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -- --pci:v00008086d00000F1A* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -- --pci:v00008086d00000F1B* -- ID_MODEL_FROM_DATABASE=ValleyView SEC -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine - - pci:v00008086d00000F1C* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F1D* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F1E* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F1F* -- ID_MODEL_FROM_DATABASE=ValleyView Power Control Unit -- --pci:v00008086d00000F20* -- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller -- --pci:v00008086d00000F21* -- ID_MODEL_FROM_DATABASE=ValleyView 4-Port SATA Storage Controller -- --pci:v00008086d00000F22* -- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller -- --pci:v00008086d00000F23* -- ID_MODEL_FROM_DATABASE=ValleyView 6-Port SATA AHCI Controller -- --pci:v00008086d00000F24* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F25* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F26* -- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller -- --pci:v00008086d00000F27* -- ID_MODEL_FROM_DATABASE=ValleyView 2-Port SATA Storage Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Power Control Unit - - pci:v00008086d00000F28* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F29* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F2A* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F2B* -- ID_MODEL_FROM_DATABASE=ValleyView LPE Audio Controller -- --pci:v00008086d00000F2E* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F2F* -- ID_MODEL_FROM_DATABASE=ValleyView SATA RAID Storage Controller -- --pci:v00008086d00000F30* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller - - pci:v00008086d00000F31* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -- --pci:v00008086d00000F32* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -- --pci:v00008086d00000F33* -- ID_MODEL_FROM_DATABASE=ValleyView Gen7 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Graphics & Display - - pci:v00008086d00000F34* -- ID_MODEL_FROM_DATABASE=ValleyView USB Enhanced Host Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB EHCI - - pci:v00008086d00000F35* -- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller -- --pci:v00008086d00000F36* -- ID_MODEL_FROM_DATABASE=ValleyView USB xHCI Host Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series USB xHCI - - pci:v00008086d00000F37* -- ID_MODEL_FROM_DATABASE=ValleyView OTG -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series OTG USB Device - - pci:v00008086d00000F38* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F39* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3A* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3B* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3C* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3D* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3E* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -- --pci:v00008086d00000F3F* -- ID_MODEL_FROM_DATABASE=ValleyView ISP -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series Camera ISP - - pci:v00008086d00000F40* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 DMA Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 DMA Controller - - pci:v00008086d00000F41* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #1 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #1 - - pci:v00008086d00000F42* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #2 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #2 - - pci:v00008086d00000F43* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #3 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #3 - - pci:v00008086d00000F44* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #4 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #4 - - pci:v00008086d00000F45* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #5 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #5 - - pci:v00008086d00000F46* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #6 -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #6 - - pci:v00008086d00000F47* -- ID_MODEL_FROM_DATABASE=ValleyView LPIO2 I2C Controller #7 -- --pci:v00008086d00000F48* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F49* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4A* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4B* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4C* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4D* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4E* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F4F* -- ID_MODEL_FROM_DATABASE=ValleyView PCI Express Root Port -- --pci:v00008086d00000F50* -- ID_MODEL_FROM_DATABASE=ValleyView MIPI-HSI Controller -+ ID_MODEL_FROM_DATABASE=Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #7 - - pci:v00008086d00001000* - ID_MODEL_FROM_DATABASE=82542 Gigabit Ethernet Controller (Fiber) -@@ -57842,6 +57893,9 @@ pci:v00008086d00001091* - pci:v00008086d00001092* - ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection - -+pci:v00008086d00001092sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=PRO/100 VE Network Connection (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d00001093* - ID_MODEL_FROM_DATABASE=PRO/100 VM Network Connection - -@@ -59403,7 +59457,7 @@ pci:v00008086d0000154Asv00008086sd0000011C* - ID_MODEL_FROM_DATABASE=Ethernet Server Adapter X520-4 (Ethernet Converged Network Adapter X520-4) - - pci:v00008086d0000154C* -- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function - - pci:v00008086d0000154D* - ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X520 Adapter -@@ -59460,34 +59514,37 @@ pci:v00008086d00001570* - ID_MODEL_FROM_DATABASE=Ethernet Connection I219-V - - pci:v00008086d00001571* -- ID_MODEL_FROM_DATABASE=XL710 X710 Virtual Function -+ ID_MODEL_FROM_DATABASE=XL710/X710 Virtual Function - - pci:v00008086d00001572* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ - - pci:v00008086d00001572sv00001028sd00001F99* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710/I350 rNDC) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC) -+ -+pci:v00008086d00001572sv00008086sd00000000* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710) - - pci:v00008086d00001572sv00008086sd00000001* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000002* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000004* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-4) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-4) - - pci:v00008086d00001572sv00008086sd00000005* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G 4P X710 Adapter) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000006* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet 10G2P X710 Adapter) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 2P X710 Adapter) - - pci:v00008086d00001572sv00008086sd00000007* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d00001572sv00008086sd00000008* -- ID_MODEL_FROM_DATABASE=Ethernet 10G 2P X710 Adapter (Ethernet Converged Network Adapter X710-2) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710-2) - - pci:v00008086d0000157B* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection -@@ -59496,17 +59553,20 @@ pci:v00008086d0000157C* - ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection - - pci:v00008086d00001580* -- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40Gbe backplane -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE backplane - - pci:v00008086d00001581* -- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane - - pci:v00008086d00001581sv00001028sd00001F98* -- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10Gbe backplane (Ethernet 10G 4P X710-k bNDC) -+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE backplane (Ethernet 10G 4P X710-k bNDC) - - pci:v00008086d00001583* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - -+pci:v00008086d00001583sv00008086sd00000000* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) -+ - pci:v00008086d00001583sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2) - -@@ -59519,6 +59579,9 @@ pci:v00008086d00001583sv00008086sd00000003* - pci:v00008086d00001584* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ - -+pci:v00008086d00001584sv00008086sd00000000* -+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) -+ - pci:v00008086d00001584sv00008086sd00000001* - ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q1) - -@@ -61244,9 +61307,15 @@ pci:v00008086d00002448sv0000104Dsd0000902D* - pci:v00008086d00002448sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (D270S/D250S Motherboard) - -+pci:v00008086d00002448sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d00002448sv0000144Dsd0000C00C* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (P30 notebook) - -+pci:v00008086d00002448sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (R730 Laptop) -+ - pci:v00008086d00002448sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Notebook N150P) - -@@ -61259,6 +61328,12 @@ pci:v00008086d00002448sv00001734sd00001055* - pci:v00008086d00002448sv000017AAsd000020AE* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (ThinkPad T61/R61) - -+pci:v00008086d00002448sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion Akoya E7214 Notebook PC [MD98410]) -+ -+pci:v00008086d00002448sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002448sv00008086sd0000544B* - ID_MODEL_FROM_DATABASE=82801 Mobile PCI Bridge (Desktop Board D425KT) - -@@ -61872,7 +61947,7 @@ pci:v00008086d000024C5sv00001014sd00000267* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (NetVista A30p) - - pci:v00008086d000024C5sv00001014sd00000537* -- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T41) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (ThinkPad T4x Series) - - pci:v00008086d000024C5sv00001014sd0000055F* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (Thinkpad R50e model 1634) -@@ -61944,7 +62019,7 @@ pci:v00008086d000024C6* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller - - pci:v00008086d000024C6sv00001014sd00000524* -- ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T41) -+ ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad T4x Series) - - pci:v00008086d000024C6sv00001014sd00000525* - ID_MODEL_FROM_DATABASE=82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (ThinkPad) -@@ -64358,6 +64433,9 @@ pci:v00008086d000027A0sv0000103Csd000030A3* - pci:v00008086d000027A0sv00001043sd00001237* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (A6J-Q008) - -+pci:v00008086d000027A0sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027A0sv000017AAsd00002015* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (ThinkPad T60) - -@@ -64373,6 +64451,9 @@ pci:v00008086d000027A1sv0000103Csd0000309F* - pci:v00008086d000027A1sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Compaq nw8440) - -+pci:v00008086d000027A1sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027A2* - ID_MODEL_FROM_DATABASE=Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller - -@@ -64457,6 +64538,9 @@ pci:v00008086d000027B9sv0000103Csd000030A1* - pci:v00008086d000027B9sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Compaq nw8440) - -+pci:v00008086d000027B9sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027B9sv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=82801GBM (ICH7-M) LPC Interface Bridge (Panasonic CF-Y5 laptop) - -@@ -64568,6 +64652,9 @@ pci:v00008086d000027C4sv00001025sd0000006C* - pci:v00008086d000027C4sv00001028sd000001D7* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (XPS M1210) - -+pci:v00008086d000027C4sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027C4sv000017AAsd0000200E* - ID_MODEL_FROM_DATABASE=82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (ThinkPad T60) - -@@ -64625,6 +64712,9 @@ pci:v00008086d000027C8sv00001043sd00008179* - pci:v00008086d000027C8sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (D270S/D250S Motherboard) - -+pci:v00008086d000027C8sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027C8sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #1 (E4500) - -@@ -64691,6 +64781,9 @@ pci:v00008086d000027C9sv00001043sd00008179* - pci:v00008086d000027C9sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (D270S/D250S Motherboard) - -+pci:v00008086d000027C9sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027C9sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #2 (E4500) - -@@ -64757,6 +64850,9 @@ pci:v00008086d000027CAsv00001043sd00008179* - pci:v00008086d000027CAsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (D270S/D250S Motherboard) - -+pci:v00008086d000027CAsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027CAsv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #3 (E4500) - -@@ -64817,6 +64913,9 @@ pci:v00008086d000027CBsv00001043sd00008179* - pci:v00008086d000027CBsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (D270S/D250S Motherboard) - -+pci:v00008086d000027CBsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027CBsv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB UHCI Controller #4 (E4500) - -@@ -64880,6 +64979,9 @@ pci:v00008086d000027CCsv00001043sd00008179* - pci:v00008086d000027CCsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (D270S/D250S Motherboard) - -+pci:v00008086d000027CCsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027CCsv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family USB2 EHCI Controller (Notebook N150P) - -@@ -64913,6 +65015,9 @@ pci:v00008086d000027D0sv0000103Csd0000309F* - pci:v00008086d000027D0sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Compaq nw8440) - -+pci:v00008086d000027D0sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D0sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 1 (Notebook N150P) - -@@ -64937,6 +65042,9 @@ pci:v00008086d000027D2sv0000103Csd0000309F* - pci:v00008086d000027D2sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Compaq nw8440) - -+pci:v00008086d000027D2sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D2sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 2 (Notebook N150P) - -@@ -64952,6 +65060,9 @@ pci:v00008086d000027D2sv00008086sd0000544B* - pci:v00008086d000027D4* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 - -+pci:v00008086d000027D4sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D4sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 3 (Notebook N150P) - -@@ -64970,6 +65081,9 @@ pci:v00008086d000027D6* - pci:v00008086d000027D6sv0000103Csd000030A3* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Compaq nw8440) - -+pci:v00008086d000027D6sv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D6sv0000144Dsd0000C072* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family PCI Express Port 4 (Notebook N150P) - -@@ -65021,6 +65135,9 @@ pci:v00008086d000027D8sv00001043sd000082EA* - pci:v00008086d000027D8sv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (D270S/D250S Motherboard) - -+pci:v00008086d000027D8sv00001071sd00008207* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027D8sv0000107Bsd00005048* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family High Definition Audio Controller (E4500) - -@@ -65099,6 +65216,9 @@ pci:v00008086d000027DAsv00001043sd00008179* - pci:v00008086d000027DAsv0000105Bsd00000D7C* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (D270S/D250S Motherboard) - -+pci:v00008086d000027DAsv00001071sd00008209* -+ ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Medion MIM 2240 Notebook PC [MD98100]) -+ - pci:v00008086d000027DAsv000010F7sd00008338* - ID_MODEL_FROM_DATABASE=NM10/ICH7 Family SMBus Controller (Panasonic CF-Y5 laptop) - -@@ -65258,6 +65378,9 @@ pci:v00008086d00002815sv0000104Dsd00009005* - pci:v00008086d00002815sv0000104Dsd0000902D* - ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (VAIO VGN-NR120E) - -+pci:v00008086d00002815sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801HM (ICH8M) LPC Interface Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002820* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) 4 port SATA Controller [IDE mode] - -@@ -65342,6 +65465,9 @@ pci:v00008086d00002829sv0000104Dsd0000902D* - pci:v00008086d00002829sv000017AAsd000020A7* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (ThinkPad T61/R61) - -+pci:v00008086d00002829sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002829sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (CCG-RUMBA) - -@@ -65393,6 +65519,9 @@ pci:v00008086d00002830sv00001462sd00007235* - pci:v00008086d00002830sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (ThinkPad T61/R61) - -+pci:v00008086d00002830sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002830sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #1 (CCG-RUMBA) - -@@ -65435,6 +65564,9 @@ pci:v00008086d00002831sv00001462sd00007235* - pci:v00008086d00002831sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (ThinkPad T61/R61) - -+pci:v00008086d00002831sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002831sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #2 (CCG-RUMBA) - -@@ -65474,6 +65606,9 @@ pci:v00008086d00002832sv0000104Dsd0000902D* - pci:v00008086d00002832sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (ThinkPad T61/R61) - -+pci:v00008086d00002832sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002832sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #3 (CCG-RUMBA) - -@@ -65519,6 +65654,9 @@ pci:v00008086d00002834sv00001462sd00007235* - pci:v00008086d00002834sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (ThinkPad T61/R61) - -+pci:v00008086d00002834sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002834sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #4 (CCG-RUMBA) - -@@ -65555,6 +65693,9 @@ pci:v00008086d00002835sv0000104Dsd0000902D* - pci:v00008086d00002835sv000017AAsd000020AA* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Thinkpad T61/R61) - -+pci:v00008086d00002835sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002835sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB UHCI Controller #5 (CCG-RUMBA) - -@@ -65597,6 +65738,9 @@ pci:v00008086d00002836sv00001462sd00007235* - pci:v00008086d00002836sv000017AAsd000020AB* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (ThinkPad T61/R61) - -+pci:v00008086d00002836sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002836sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #1 (CCG-RUMBA) - -@@ -65633,6 +65777,9 @@ pci:v00008086d0000283Asv0000104Dsd0000902D* - pci:v00008086d0000283Asv000017AAsd000020AB* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (ThinkPad T61/R61) - -+pci:v00008086d0000283Asv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d0000283Asv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) USB2 EHCI Controller #2 (CCG-RUMBA) - -@@ -65669,6 +65816,9 @@ pci:v00008086d0000283Esv00001462sd00007235* - pci:v00008086d0000283Esv000017AAsd000020A9* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (ThinkPad T61/R61) - -+pci:v00008086d0000283Esv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d0000283Esv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) SMBus Controller (CCG-RUMBA) - -@@ -65687,6 +65837,9 @@ pci:v00008086d0000283Fsv0000104Dsd0000902D* - pci:v00008086d0000283Fsv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (ThinkPad T61/R61) - -+pci:v00008086d0000283Fsv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 1 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002841* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 - -@@ -65699,6 +65852,9 @@ pci:v00008086d00002841sv0000104Dsd0000902D* - pci:v00008086d00002841sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (ThinkPad T61/R61) - -+pci:v00008086d00002841sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 2 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002843* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 - -@@ -65708,12 +65864,18 @@ pci:v00008086d00002843sv0000104Dsd0000902D* - pci:v00008086d00002843sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (ThinkPad T61/R61) - -+pci:v00008086d00002843sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 3 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002845* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 - - pci:v00008086d00002845sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (ThinkPad T61/R61) - -+pci:v00008086d00002845sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 4 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002847* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 - -@@ -65726,6 +65888,9 @@ pci:v00008086d00002847sv0000103Csd000030C1* - pci:v00008086d00002847sv000017AAsd000020AD* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (ThinkPad T61/R61) - -+pci:v00008086d00002847sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 5 (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002849* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) PCI Express Port 6 - -@@ -65792,6 +65957,9 @@ pci:v00008086d0000284Bsv000014F1sd00005051* - pci:v00008086d0000284Bsv000017AAsd000020AC* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (ThinkPad T61/R61) - -+pci:v00008086d0000284Bsv000017C0sd00004088* -+ ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d0000284Bsv00008384sd00007616* - ID_MODEL_FROM_DATABASE=82801H (ICH8 Family) HD Audio Controller (Dell Vostro 1400) - -@@ -65831,6 +65999,9 @@ pci:v00008086d00002850sv0000104Dsd0000902D* - pci:v00008086d00002850sv000017AAsd000020A6* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (ThinkPad T61/R61) - -+pci:v00008086d00002850sv000017C0sd00004083* -+ ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002850sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (CCG-RUMBA) - -@@ -66794,6 +66965,9 @@ pci:v00008086d00002A00sv000017AAsd000020B1* - pci:v00008086d00002A00sv000017AAsd000020B3* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (ThinkPad T61/R61) - -+pci:v00008086d00002A00sv000017C0sd00004082* -+ ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002A00sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=Mobile PM965/GM965/GL960 Memory Controller Hub (CCG-RUMBA) - -@@ -66821,6 +66995,9 @@ pci:v00008086d00002A02sv0000104Dsd0000902D* - pci:v00008086d00002A02sv000017AAsd000020B5* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (ThinkPad T61/R61) - -+pci:v00008086d00002A02sv000017C0sd00004082* -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002A02sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (primary) (CCG-RUMBA) - -@@ -66828,7 +67005,7 @@ pci:v00008086d00002A03* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) - - pci:v00008086d00002A03sv00001028sd000001F3* -- ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Dell Inspiron 1420) -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Inspiron 1420) - - pci:v00008086d00002A03sv0000103Csd000030C0* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Compaq 6710b) -@@ -66842,6 +67019,9 @@ pci:v00008086d00002A03sv0000104Dsd0000902D* - pci:v00008086d00002A03sv000017AAsd000020B5* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (ThinkPad T61/R61) - -+pci:v00008086d00002A03sv000017C0sd00004082* -+ ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (Medion WIM 2210 Notebook PC [MD96850]) -+ - pci:v00008086d00002A03sv0000E4BFsd0000CC47* - ID_MODEL_FROM_DATABASE=Mobile GM965/GL960 Integrated Graphics Controller (secondary) (CCG-RUMBA) - -@@ -67317,13 +67497,13 @@ pci:v00008086d00002D10* - ID_MODEL_FROM_DATABASE=Core Processor QPI Link 0 - - pci:v00008086d00002D11* -- ID_MODEL_FROM_DATABASE=Core Processor QPI Physical 0 -+ ID_MODEL_FROM_DATABASE=1st Generation Core Processor QPI Physical 0 - - pci:v00008086d00002D12* -- ID_MODEL_FROM_DATABASE=Core Processor Reserved -+ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved - - pci:v00008086d00002D13* -- ID_MODEL_FROM_DATABASE=Core Processor Reserved -+ ID_MODEL_FROM_DATABASE=1st Generation Core Processor Reserved - - pci:v00008086d00002D81* - ID_MODEL_FROM_DATABASE=Xeon 5600 Series QuickPath Architecture System Address Decoder -@@ -67427,6 +67607,9 @@ pci:v00008086d00002E11* - pci:v00008086d00002E12* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - -+pci:v00008086d00002E12sv000017AAsd00003048* -+ ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller (ThinkCentre M6258) -+ - pci:v00008086d00002E13* - ID_MODEL_FROM_DATABASE=4 Series Chipset Integrated Graphics Controller - -@@ -69317,6 +69500,12 @@ pci:v00008086d00003B09* - pci:v00008086d00003B09sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Aspire 7740G) - -+pci:v00008086d00003B09sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (R730 Laptop) -+ -+pci:v00008086d00003B09sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=Mobile 5 Series Chipset LPC Interface Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B0A* - ID_MODEL_FROM_DATABASE=5 Series Chipset LPC Interface Controller - -@@ -69416,18 +69605,36 @@ pci:v00008086d00003B26* - pci:v00008086d00003B28* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller - -+pci:v00008086d00003B28sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (R730 Laptop) -+ -+pci:v00008086d00003B28sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B29* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller - - pci:v00008086d00003B29sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Aspire 7740G) - -+pci:v00008086d00003B29sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (R730 Laptop) -+ -+pci:v00008086d00003B29sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 4 port SATA AHCI Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B2C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller - - pci:v00008086d00003B2D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller - -+pci:v00008086d00003B2Dsv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (R730 Laptop) -+ -+pci:v00008086d00003B2Dsv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B2Dsv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller (PC1-GROOVE) - -@@ -69458,9 +69665,15 @@ pci:v00008086d00003B30sv00001028sd000002DA* - pci:v00008086d00003B30sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Latitude E6510) - -+pci:v00008086d00003B30sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (R730 Laptop) -+ - pci:v00008086d00003B30sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B30sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B30sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SMBus Controller (PC1-GROOVE) - -@@ -69470,6 +69683,12 @@ pci:v00008086d00003B32* - pci:v00008086d00003B32sv00001025sd00000347* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Aspire 7740G) - -+pci:v00008086d00003B32sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (R730 Laptop) -+ -+pci:v00008086d00003B32sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset Thermal Subsystem (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B34* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller - -@@ -69482,9 +69701,15 @@ pci:v00008086d00003B34sv00001028sd000002DA* - pci:v00008086d00003B34sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - -+pci:v00008086d00003B34sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) -+ - pci:v00008086d00003B34sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B34sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B34sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - -@@ -69518,9 +69743,15 @@ pci:v00008086d00003B3Csv00001028sd000002DA* - pci:v00008086d00003B3Csv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Latitude E6510) - -+pci:v00008086d00003B3Csv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (R730 Laptop) -+ - pci:v00008086d00003B3Csv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B3Csv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B3Csv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset USB2 Enhanced Host Controller (PC1-GROOVE) - -@@ -69545,9 +69776,15 @@ pci:v00008086d00003B42sv00001028sd000002DA* - pci:v00008086d00003B42sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Latitude E6510) - -+pci:v00008086d00003B42sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (R730 Laptop) -+ - pci:v00008086d00003B42sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (C7SIM-Q Motherboard) - -+pci:v00008086d00003B42sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 1 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B44* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 - -@@ -69557,24 +69794,39 @@ pci:v00008086d00003B44sv00001028sd0000040B* - pci:v00008086d00003B44sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (C7SIM-Q Motherboard) - -+pci:v00008086d00003B44sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 2 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B46* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 - - pci:v00008086d00003B46sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Latitude E6510) - -+pci:v00008086d00003B46sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (R730 Laptop) -+ -+pci:v00008086d00003B46sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 3 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B48* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 - - pci:v00008086d00003B48sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (Latitude E6510) - -+pci:v00008086d00003B48sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 4 (R730 Laptop) -+ - pci:v00008086d00003B4A* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 - - pci:v00008086d00003B4Asv00001028sd000002DA* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (OptiPlex 980) - -+pci:v00008086d00003B4Asv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 5 (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B4C* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset PCI Express Root Port 6 - -@@ -69599,9 +69851,15 @@ pci:v00008086d00003B56sv00001028sd000002DA* - pci:v00008086d00003B56sv00001028sd0000040B* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Latitude E6510) - -+pci:v00008086d00003B56sv0000144Dsd0000C06A* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (R730 Laptop) -+ - pci:v00008086d00003B56sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (C7SIM-Q Motherboard) - -+pci:v00008086d00003B56sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B56sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset High Definition Audio (PC1-GROOVE) - -@@ -69617,6 +69875,9 @@ pci:v00008086d00003B64sv00001025sd00000347* - pci:v00008086d00003B64sv000015D9sd0000060D* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (C7SIM-Q Motherboard) - -+pci:v00008086d00003B64sv000017C0sd000010D2* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (Medion Akoya E7214 Notebook PC [MD98410]) -+ - pci:v00008086d00003B64sv0000E4BFsd000050C1* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset HECI Controller (PC1-GROOVE) - -@@ -69990,7 +70251,7 @@ pci:v00008086d00004222sv00008086sd00001000* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) - - pci:v00008086d00004222sv00008086sd00001001* -- ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945ABG Network Connection) -+ ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (WM3945ABG MOW2) - - pci:v00008086d00004222sv00008086sd00001005* - ID_MODEL_FROM_DATABASE=PRO/Wireless 3945ABG [Golan] Network Connection (PRO/Wireless 3945BG Network Connection) -@@ -71168,6 +71429,114 @@ pci:v00008086d00008C5E* - pci:v00008086d00008C5F* - ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family LPC Controller - -+pci:v00008086d00008C80* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C81* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C82* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] -+ -+pci:v00008086d00008C83* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [AHCI Mode] -+ -+pci:v00008086d00008C84* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C85* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C86* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C87* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C88* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C89* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [IDE Mode] -+ -+pci:v00008086d00008C8E* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C8F* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SATA Controller [RAID Mode] -+ -+pci:v00008086d00008C90* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 1 -+ -+pci:v00008086d00008C92* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 2 -+ -+pci:v00008086d00008C94* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 3 -+ -+pci:v00008086d00008C96* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 4 -+ -+pci:v00008086d00008C98* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 5 -+ -+pci:v00008086d00008C9A* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 6 -+ -+pci:v00008086d00008C9C* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 7 -+ -+pci:v00008086d00008C9E* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family PCI Express Root Port 8 -+ -+pci:v00008086d00008CA0* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HD Audio Controller -+ -+pci:v00008086d00008CA2* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family SMBus Controller -+ -+pci:v00008086d00008CA4* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Thermal Controller -+ -+pci:v00008086d00008CA6* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #1 -+ -+pci:v00008086d00008CAD* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB EHCI Controller #2 -+ -+pci:v00008086d00008CB1* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family USB xHCI Controller -+ -+pci:v00008086d00008CB3* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LAN Controller -+ -+pci:v00008086d00008CBA* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #1 -+ -+pci:v00008086d00008CBB* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family ME Interface #2 -+ -+pci:v00008086d00008CBC* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family IDE-R Controller -+ -+pci:v00008086d00008CBD* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family KT Controller -+ -+pci:v00008086d00008CC1* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller -+ -+pci:v00008086d00008CC2* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family LPC Controller -+ -+pci:v00008086d00008CC3* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family HM97 LPC Controller -+ -+pci:v00008086d00008CC4* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family Z97 LPC Controller -+ -+pci:v00008086d00008CC6* -+ ID_MODEL_FROM_DATABASE=9 Series Chipset Family H97 Controller -+ - pci:v00008086d00008D00* - ID_MODEL_FROM_DATABASE=Wellsburg 4-port SATA Controller [IDE mode] - -@@ -71379,208 +71748,208 @@ pci:v00008086d000096A1* - ID_MODEL_FROM_DATABASE=Integrated RAID - - pci:v00008086d00009C00* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] - - pci:v00008086d00009C01* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [IDE mode] - - pci:v00008086d00009C02* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] - - pci:v00008086d00009C03* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] - - pci:v00008086d00009C03sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [AHCI mode] (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [AHCI mode] (ThinkPad X240) - - pci:v00008086d00009C04* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C05* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C06* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C07* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C08* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] - - pci:v00008086d00009C09* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 2 [IDE mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 2 [IDE mode] - - pci:v00008086d00009C0A* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0B* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0C* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0D* -- ID_MODEL_FROM_DATABASE=LynxPoint-LP SATA Controller [Reserved] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller [Reserved] - - pci:v00008086d00009C0E* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C0F* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SATA Controller 1 [RAID mode] -+ ID_MODEL_FROM_DATABASE=8 Series SATA Controller 1 [RAID mode] - - pci:v00008086d00009C10* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 - - pci:v00008086d00009C11* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 1 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 1 - - pci:v00008086d00009C12* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 - - pci:v00008086d00009C13* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 2 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 2 - - pci:v00008086d00009C14* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 - - pci:v00008086d00009C15* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 3 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 3 - - pci:v00008086d00009C16* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 - - pci:v00008086d00009C17* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 4 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 4 - - pci:v00008086d00009C18* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 - - pci:v00008086d00009C19* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 5 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 5 - - pci:v00008086d00009C1A* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 - - pci:v00008086d00009C1B* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 6 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 6 - - pci:v00008086d00009C1C* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 - - pci:v00008086d00009C1D* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 7 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 7 - - pci:v00008086d00009C1E* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 - - pci:v00008086d00009C1F* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP PCI Express Root Port 8 -+ ID_MODEL_FROM_DATABASE=8 Series PCI Express Root Port 8 - - pci:v00008086d00009C20* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller -+ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller - - pci:v00008086d00009C20sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller (ThinkPad X240) - - pci:v00008086d00009C21* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HD Audio Controller -+ ID_MODEL_FROM_DATABASE=8 Series HD Audio Controller - - pci:v00008086d00009C22* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller -+ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller - - pci:v00008086d00009C22sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SMBus Controller (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series SMBus Controller (ThinkPad X240) - - pci:v00008086d00009C23* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP CHAP Counters -+ ID_MODEL_FROM_DATABASE=8 Series CHAP Counters - - pci:v00008086d00009C24* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP Thermal -+ ID_MODEL_FROM_DATABASE=8 Series Thermal - - pci:v00008086d00009C26* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 -+ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 - - pci:v00008086d00009C26sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #1 (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #1 (ThinkPad X240) - - pci:v00008086d00009C2D* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB EHCI #2 -+ ID_MODEL_FROM_DATABASE=8 Series USB EHCI #2 - - pci:v00008086d00009C31* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC -+ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC - - pci:v00008086d00009C31sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP USB xHCI HC (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series USB xHCI HC (ThinkPad X240) - - pci:v00008086d00009C35* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SDIO Controller -+ ID_MODEL_FROM_DATABASE=8 Series SDIO Controller - - pci:v00008086d00009C36* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP Audio DSP Controller -+ ID_MODEL_FROM_DATABASE=8 Series Audio DSP Controller - - pci:v00008086d00009C3A* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 -+ ID_MODEL_FROM_DATABASE=8 Series HECI #0 - - pci:v00008086d00009C3Asv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #0 (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series HECI #0 (ThinkPad X240) - - pci:v00008086d00009C3B* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI #1 -+ ID_MODEL_FROM_DATABASE=8 Series HECI #1 - - pci:v00008086d00009C3C* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI IDER -+ ID_MODEL_FROM_DATABASE=8 Series HECI IDER - - pci:v00008086d00009C3D* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP HECI KT -+ ID_MODEL_FROM_DATABASE=8 Series HECI KT - - pci:v00008086d00009C40* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C41* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C42* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C43* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C43sv000017AAsd00002214* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller (ThinkPad X240) -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller (ThinkPad X240) - - pci:v00008086d00009C44* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C45* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C46* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C47* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP LPC Controller -+ ID_MODEL_FROM_DATABASE=8 Series LPC Controller - - pci:v00008086d00009C60* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP Low Power Sub-System DMA -+ ID_MODEL_FROM_DATABASE=8 Series Low Power Sub-System DMA - - pci:v00008086d00009C61* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #0 -+ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #0 - - pci:v00008086d00009C62* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP I2C Controller #1 -+ ID_MODEL_FROM_DATABASE=8 Series I2C Controller #1 - - pci:v00008086d00009C63* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #0 -+ ID_MODEL_FROM_DATABASE=8 Series UART Controller #0 - - pci:v00008086d00009C64* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP UART Controller #1 -+ ID_MODEL_FROM_DATABASE=8 Series UART Controller #1 - - pci:v00008086d00009C65* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #0 -+ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #0 - - pci:v00008086d00009C66* -- ID_MODEL_FROM_DATABASE=Lynx Point-LP SPI Controller #1 -+ ID_MODEL_FROM_DATABASE=8 Series SPI Controller #1 - - pci:v00008086d00009C83* - ID_MODEL_FROM_DATABASE=Wildcat Point-LP SATA Controller [AHCI Mode] -diff --git hwdb/20-usb-classes.hwdb hwdb/20-usb-classes.hwdb -index 3294d8a..418d39b 100644 ---- hwdb/20-usb-classes.hwdb -+++ hwdb/20-usb-classes.hwdb -@@ -311,6 +311,9 @@ usb:v*p*d*dcEFdsc02dp02* - usb:v*p*d*dcEFdsc03dp01* - ID_USB_PROTOCOL_FROM_DATABASE=Cable Based Association - -+usb:v*p*d*dcEFdsc05* -+ ID_USB_SUBCLASS_FROM_DATABASE=USB3 Vision -+ - usb:v*p*d*dcFE* - ID_USB_CLASS_FROM_DATABASE=Application Specific Interface - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 05f267d..89cd5b1 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -284,9 +284,18 @@ usb:v03EBp2310* - usb:v03EBp2FE4* - ID_MODEL_FROM_DATABASE=ATxmega32A4U DFU bootloader - -+usb:v03EBp2FE6* -+ ID_MODEL_FROM_DATABASE=Cactus V6 (DFU) -+ -+usb:v03EBp2FEA* -+ ID_MODEL_FROM_DATABASE=Cactus RF60 (DFU) -+ - usb:v03EBp2FF0* - ID_MODEL_FROM_DATABASE=atmega32u2 DFU bootloader - -+usb:v03EBp2FF4* -+ ID_MODEL_FROM_DATABASE=atmega32u4 DFU bootloader -+ - usb:v03EBp2FFA* - ID_MODEL_FROM_DATABASE=at90usb162 DFU bootloader - -@@ -4409,6 +4418,9 @@ usb:v0424p2602* - usb:v0424p2640* - ID_MODEL_FROM_DATABASE=USB 2.0 Hub - -+usb:v0424p2660* -+ ID_MODEL_FROM_DATABASE=Hub -+ - usb:v0424p4060* - ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader - -@@ -5373,7 +5385,7 @@ usb:v0457p0162* - ID_MODEL_FROM_DATABASE=SiS162 usb Wireless LAN Adapter - - usb:v0457p0163* -- ID_MODEL_FROM_DATABASE=802.11 Wireless LAN Adapter -+ ID_MODEL_FROM_DATABASE=SiS163U 802.11 Wireless LAN Adapter - - usb:v0457p0817* - ID_MODEL_FROM_DATABASE=SiS-184-ASUS-4352.17 touch panel -@@ -6947,6 +6959,9 @@ usb:v046Dp082D* - usb:v046Dp0830* - ID_MODEL_FROM_DATABASE=QuickClip - -+usb:v046Dp0837* -+ ID_MODEL_FROM_DATABASE=BCC950 ConferenceCam -+ - usb:v046Dp0840* - ID_MODEL_FROM_DATABASE=QuickCam Express - -@@ -7856,6 +7871,9 @@ usb:v046DpC52F* - usb:v046DpC532* - ID_MODEL_FROM_DATABASE=Unifying Receiver - -+usb:v046DpC534* -+ ID_MODEL_FROM_DATABASE=Unifying Receiver -+ - usb:v046DpC603* - ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT - -@@ -8738,6 +8756,9 @@ usb:v0480pA007* - usb:v0480pA009* - ID_MODEL_FROM_DATABASE=Stor.E Basics - -+usb:v0480pA00D* -+ ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB -+ - usb:v0480pD010* - ID_MODEL_FROM_DATABASE=External Disk 3TB - -@@ -10943,6 +10964,9 @@ usb:v04A9p3196* - usb:v04A9p319A* - ID_MODEL_FROM_DATABASE=EOS 7D - -+usb:v04A9p319B* -+ ID_MODEL_FROM_DATABASE=EOS 50D -+ - usb:v04A9p31AA* - ID_MODEL_FROM_DATABASE=SELPHY CP770 - -@@ -11219,6 +11243,15 @@ usb:v04A9p3277* - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -+usb:v04A9p327F* -+ ID_MODEL_FROM_DATABASE=EOS Rebel T5 / EOS 1200D / EOS Kiss X70 -+ -+usb:v04A9p3284* -+ ID_MODEL_FROM_DATABASE=PowerShot D30 -+ -+usb:v04A9p3286* -+ ID_MODEL_FROM_DATABASE=PowerShot SX600 HS -+ - usb:v04A9p3288* - ID_MODEL_FROM_DATABASE=Powershot ELPH 135 / IXUS 145 - -@@ -13040,6 +13073,9 @@ usb:v04D8p0036* - usb:v04D8p00E0* - ID_MODEL_FROM_DATABASE=PIC32 Starter Board - -+usb:v04D8p04CD* -+ ID_MODEL_FROM_DATABASE=28Cxxx EEPROM Programmer -+ - usb:v04D8p0A04* - ID_MODEL_FROM_DATABASE=AGP LIN Serial Analyzer - -@@ -14093,6 +14129,9 @@ usb:v04E8p5F05* - usb:v04E8p6032* - ID_MODEL_FROM_DATABASE=G2 Portable hard drive - -+usb:v04E8p6033* -+ ID_MODEL_FROM_DATABASE=G2 Portable device -+ - usb:v04E8p6034* - ID_MODEL_FROM_DATABASE=G2 Portable hard drive - -@@ -14102,6 +14141,9 @@ usb:v04E8p60B3* - usb:v04E8p60C4* - ID_MODEL_FROM_DATABASE=M2 Portable Hard Drive USB 3.0 - -+usb:v04E8p6124* -+ ID_MODEL_FROM_DATABASE=D3 Station External Hard Drive -+ - usb:v04E8p61B6* - ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB - -@@ -15224,6 +15266,9 @@ usb:v04F9p0223* - usb:v04F9p0248* - ID_MODEL_FROM_DATABASE=DCP-7055 scanner/printer - -+usb:v04F9p02B3* -+ ID_MODEL_FROM_DATABASE=MFC J4510DW -+ - usb:v04F9p1000* - ID_MODEL_FROM_DATABASE=Printer - -@@ -15546,7 +15591,7 @@ usb:v050Dp0013* - ID_MODEL_FROM_DATABASE=F8T013 Bluetooth Adapter - - usb:v050Dp0017* -- ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 -+ ID_MODEL_FROM_DATABASE=B8T017 Bluetooth+EDR 2.1 / F4U017 USB 2.0 7-port Hub - - usb:v050Dp003A* - ID_MODEL_FROM_DATABASE=Universal Media Reader -@@ -15683,6 +15728,9 @@ usb:v050Dp1106* - usb:v050Dp1109* - ID_MODEL_FROM_DATABASE=F9L1109v1 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] - -+usb:v050Dp110A* -+ ID_MODEL_FROM_DATABASE=F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] -+ - usb:v050Dp11F2* - ID_MODEL_FROM_DATABASE=ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS] - -@@ -15723,7 +15771,7 @@ usb:v050Dp6051* - ID_MODEL_FROM_DATABASE=F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201] - - usb:v050Dp615A* -- ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323] -+ ID_MODEL_FROM_DATABASE=F7D4101 / F9L1101v1 802.11abgn Wireless Adapter [Broadcom BCM4323] - - usb:v050Dp7050* - ID_MODEL_FROM_DATABASE=F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887] -@@ -16358,6 +16406,9 @@ usb:v0547p2810* - usb:v0547p4D90* - ID_MODEL_FROM_DATABASE=AmScope MD1900 camera - -+usb:v0547p7000* -+ ID_MODEL_FROM_DATABASE=PowerSpec MCE460 Front Panel LED Display -+ - usb:v0547p7777* - ID_MODEL_FROM_DATABASE=Bluetooth Device - -@@ -21677,6 +21728,9 @@ usb:v05F9p2601* - usb:v05F9p2602* - ID_MODEL_FROM_DATABASE=Datalogic Magellan 1100i Barcode Scanner - -+usb:v05F9p4204* -+ ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4470 Fixed Scanner -+ - usb:v05F9p5204* - ID_MODEL_FROM_DATABASE=Datalogic Gryphon GFS4170 (config mode) - -@@ -23234,6 +23288,9 @@ usb:v068Ep00D3* - usb:v068Ep00E2* - ID_MODEL_FROM_DATABASE=HFX OEM Joystick - -+usb:v068Ep00F0* -+ ID_MODEL_FROM_DATABASE=Multi-Function Panel -+ - usb:v068Ep00F1* - ID_MODEL_FROM_DATABASE=Pro Throttle - -@@ -25838,6 +25895,9 @@ usb:v0781p74D0* - usb:v0781p74D1* - ID_MODEL_FROM_DATABASE=Sansa Clip+ (msc) - -+usb:v0781p74E5* -+ ID_MODEL_FROM_DATABASE=Sansa Clip Zip -+ - usb:v0781p8181* - ID_MODEL_FROM_DATABASE=Pen Flash - -@@ -26219,6 +26279,9 @@ usb:v07AAp001A* - usb:v07AAp001C* - ID_MODEL_FROM_DATABASE=CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] - -+usb:v07AAp0020* -+ ID_MODEL_FROM_DATABASE=CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] -+ - usb:v07AAp002E* - ID_MODEL_FROM_DATABASE=CG-WLUSB2GPX [Ralink RT2571W] - -@@ -26939,6 +27002,9 @@ usb:v07CApA827* - usb:v07CApA867* - ID_MODEL_FROM_DATABASE=AVerTV DVB-T (A867) - -+usb:v07CApB300* -+ ID_MODEL_FROM_DATABASE=A300 DVB-T TV receiver -+ - usb:v07CApB800* - ID_MODEL_FROM_DATABASE=MR800 FM Radio - -@@ -27941,6 +28007,9 @@ usb:v083Ap4507* - usb:v083Ap4521* - ID_MODEL_FROM_DATABASE=Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887] - -+usb:v083Ap4531* -+ ID_MODEL_FROM_DATABASE=T-Com Sinus 154 data II [Intersil ISL3887] -+ - usb:v083Ap5046* - ID_MODEL_FROM_DATABASE=SpeedStream 10/100 Ethernet [pegasus] - -@@ -30476,6 +30545,9 @@ usb:v0957p0518* - usb:v0957p0A07* - ID_MODEL_FROM_DATABASE=34411A Multimeter - -+usb:v0957p1507* -+ ID_MODEL_FROM_DATABASE=33210A Waveform Generator -+ - usb:v0957p1745* - ID_MODEL_FROM_DATABASE=Test and Measurement Device (IVI) - -@@ -30876,13 +30948,13 @@ usb:v09D9* - ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd - - usb:v09DA* -- ID_VENDOR_FROM_DATABASE=A4 Tech Co., Ltd -+ ID_VENDOR_FROM_DATABASE=A4Tech Co., Ltd. - - usb:v09DAp0006* - ID_MODEL_FROM_DATABASE=Optical Mouse WOP-35 / Trust 450L Optical Mouse - - usb:v09DAp000A* -- ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D -+ ID_MODEL_FROM_DATABASE=Optical Mouse Opto 510D / OP-620D - - usb:v09DAp000E* - ID_MODEL_FROM_DATABASE=X-F710F Optical Mouse 3xFire Gaming Mouse -@@ -32174,6 +32246,9 @@ usb:v0AB1* - usb:v0AB1p0002* - ID_MODEL_FROM_DATABASE=OBID RFID-Reader - -+usb:v0AB1p0004* -+ ID_MODEL_FROM_DATABASE=OBID classic-pro -+ - usb:v0ABA* - ID_VENDOR_FROM_DATABASE=Ellisys - -@@ -32571,7 +32646,7 @@ usb:v0B05p1708* - ID_MODEL_FROM_DATABASE=Mass Storage Device - - usb:v0B05p170B* -- ID_MODEL_FROM_DATABASE=Mass Storage Device -+ ID_MODEL_FROM_DATABASE=Multi card reader - - usb:v0B05p170C* - ID_MODEL_FROM_DATABASE=WL-159g 802.11bg -@@ -32687,6 +32762,9 @@ usb:v0B05p17A1* - usb:v0B05p17AB* - ID_MODEL_FROM_DATABASE=USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] - -+usb:v0B05p17C7* -+ ID_MODEL_FROM_DATABASE=WL-330NUL -+ - usb:v0B05p17C9* - ID_MODEL_FROM_DATABASE=USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] - -@@ -32714,6 +32792,9 @@ usb:v0B05p5410* - usb:v0B05p5412* - ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode) - -+usb:v0B05p550F* -+ ID_MODEL_FROM_DATABASE=ASUS fonepad 7 -+ - usb:v0B05p6101* - ID_MODEL_FROM_DATABASE=Cable Modem - -@@ -32756,6 +32837,9 @@ usb:v0B0Dp0000* - usb:v0B0E* - ID_VENDOR_FROM_DATABASE=GN Netcom - -+usb:v0B0Ep034C* -+ ID_MODEL_FROM_DATABASE=Jabra UC Voice 750 MS -+ - usb:v0B0Ep0420* - ID_MODEL_FROM_DATABASE=Jabra SPEAK 510 - -@@ -49610,6 +49694,12 @@ usb:v2659p1212* - usb:v2659p1213* - ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (US) - -+usb:v2676* -+ ID_VENDOR_FROM_DATABASE=Basler AG -+ -+usb:v2676pBA02* -+ ID_MODEL_FROM_DATABASE=ace -+ - usb:v2730* - ID_VENDOR_FROM_DATABASE=Citizen - --- -1.7.9.2 - diff --git a/0006-journal-assume-that-next-entry-is-after-previous-ent.patch b/0006-journal-assume-that-next-entry-is-after-previous-ent.patch deleted file mode 100644 index aa974fa7..00000000 --- a/0006-journal-assume-that-next-entry-is-after-previous-ent.patch +++ /dev/null @@ -1,70 +0,0 @@ -From fb099c8d2af6620db2709e826a258089d10cdfe8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 27 Feb 2014 00:07:29 -0500 -Subject: [PATCH] journal: assume that next entry is after previous entry - -With a corrupted file, we can get in a situation where two entries -in the entry array point to the same object. Then journal_file_next_entry -will find the first one using generic_arrray_bisect, and try to move to -the second one, but since the address is the same, generic_array_get will -return the first one. journal_file_next_entry ends up in an infinite loop. - -https://bugzilla.redhat.com/show_bug.cgi?id=1047039 ---- - src/journal/journal-file.c | 26 ++++++++++++++++++++------ - 1 file changed, 20 insertions(+), 6 deletions(-) - -diff --git src/journal/journal-file.c src/journal/journal-file.c -index 5876733..0e1fc7f 100644 ---- src/journal/journal-file.c -+++ src/journal/journal-file.c -@@ -1359,7 +1359,7 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st - } - - typedef struct ChainCacheItem { -- uint64_t first; /* the array at the begin of the chain */ -+ uint64_t first; /* the array at the beginning of the chain */ - uint64_t array; /* the cached array */ - uint64_t begin; /* the first item in the cached array */ - uint64_t total; /* the total number of items in all arrays before this one in the chain */ -@@ -1945,7 +1945,7 @@ int journal_file_next_entry( - direction_t direction, - Object **ret, uint64_t *offset) { - -- uint64_t i, n; -+ uint64_t i, n, ofs; - int r; - - assert(f); -@@ -1986,10 +1986,24 @@ int journal_file_next_entry( - } - - /* And jump to it */ -- return generic_array_get(f, -- le64toh(f->header->entry_array_offset), -- i, -- ret, offset); -+ r = generic_array_get(f, -+ le64toh(f->header->entry_array_offset), -+ i, -+ ret, &ofs); -+ if (r <= 0) -+ return r; -+ -+ if (p > 0 && -+ (direction == DIRECTION_DOWN ? ofs <= p : ofs >= p)) { -+ log_debug("%s: entry array corrupted at entry %"PRIu64, -+ f->path, i); -+ return -EBADMSG; -+ } -+ -+ if (offset) -+ *offset = ofs; -+ -+ return 1; - } - - int journal_file_skip_entry( --- -1.7.9.2 - diff --git a/0006-journald-fix-minor-memory-leak.patch b/0006-journald-fix-minor-memory-leak.patch deleted file mode 100644 index 72d2ab39..00000000 --- a/0006-journald-fix-minor-memory-leak.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 99d0966e75a984bed4f117c888ecc93e16e7b7b6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Nov 2014 21:11:16 +0100 -Subject: [PATCH] journald: fix minor memory leak - ---- - src/journal/journald-server.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/journal/journald-server.c src/journal/journald-server.c -index e062427..cf6bbcc 100644 ---- src/journal/journald-server.c -+++ src/journal/journald-server.c -@@ -1690,6 +1690,7 @@ void server_done(Server *s) { - free(s->buffer); - free(s->tty_path); - free(s->cgroup_root); -+ free(s->hostname_field); - - if (s->mmap) - mmap_cache_unref(s->mmap); --- -1.7.9.2 - diff --git a/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch b/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch deleted file mode 100644 index e76abb48..00000000 --- a/0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e683212f049ac5d3f95fb17300cfa2fd971f78f3 Mon Sep 17 00:00:00 2001 -From: Ronny Chevalier -Date: Tue, 3 Jun 2014 19:44:03 +0200 -Subject: [PATCH] log: honour the kernel's quiet cmdline argument - -It was forgotten in b1e90ec515408aec2702522f6f68c4920b56375b - -See https://bugs.freedesktop.org/show_bug.cgi?id=79582 ---- - src/shared/log.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/shared/log.c src/shared/log.c -index 9039db3..6f17705 100644 ---- src/shared/log.c -+++ src/shared/log.c -@@ -878,6 +878,9 @@ void log_parse_environment(void) { - if (l == 5 && startswith(w, "debug")) { - log_set_max_level(LOG_DEBUG); - break; -+ } else if (l == 5 && startswith(w, "quiet")) { -+ log_set_max_level(LOG_WARNING); -+ break; - } - } - } --- -1.7.9.2 - diff --git a/0006-login-add-mir-to-the-list-of-session-types.patch b/0006-login-add-mir-to-the-list-of-session-types.patch deleted file mode 100644 index 9e966958..00000000 --- a/0006-login-add-mir-to-the-list-of-session-types.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9541666b8d97f107335dd7e3cb93b4d2cfbf19c9 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Wed, 9 Apr 2014 21:22:48 +0200 -Subject: [PATCH] login: add 'mir' to the list of session types - -Add Mir to the list of session types. This is implemented for LightDM -in lp:~robert-ancell/lightdm/xdg-session-desktop [1]. - -[1] https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merge/214108 - -(david: adjusted commit-header and fixed whitespace issues) ---- - man/pam_systemd.xml | 5 +++-- - man/sd_session_is_active.xml | 6 +++--- - src/login/logind-session.c | 1 + - src/login/logind-session.h | 1 + - src/systemd/sd-login.h | 2 +- - 5 files changed, 9 insertions(+), 6 deletions(-) - -diff --git man/pam_systemd.xml man/pam_systemd.xml -index 3022cdb..f973899 100644 ---- man/pam_systemd.xml -+++ man/pam_systemd.xml -@@ -145,8 +145,9 @@ - variable takes precedence. One of - unspecified, - tty, -- x11 or -- wayland. See -+ x11, -+ wayland or -+ mir. See - sd_session_get_type3 - for details about the session type. - -diff --git man/sd_session_is_active.xml man/sd_session_is_active.xml -index ddb2bee..31a6119 100644 ---- man/sd_session_is_active.xml -+++ man/sd_session_is_active.xml -@@ -201,9 +201,9 @@ - be used to determine the type of the session - identified by the specified session identifier. The - returned string is one of x11, -- wayland, tty or -- unspecified and needs to be freed -- with the libc -+ wayland, tty, -+ mir or unspecified and -+ needs to be freed with the libc - free3 - call after use. - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-05-20 12:49:07.150236121 +0000 -@@ -1124,6 +1124,7 @@ static const char* const session_type_ta - [SESSION_TTY] = "tty", - [SESSION_X11] = "x11", - [SESSION_WAYLAND] = "wayland", -+ [SESSION_MIR] = "mir", - [SESSION_UNSPECIFIED] = "unspecified", - }; - -diff --git src/login/logind-session.h src/login/logind-session.h -index c9af5eb..7ecc9f0 100644 ---- src/login/logind-session.h -+++ src/login/logind-session.h -@@ -55,6 +55,7 @@ typedef enum SessionType { - SESSION_TTY, - SESSION_X11, - SESSION_WAYLAND, -+ SESSION_MIR, - _SESSION_TYPE_MAX, - _SESSION_TYPE_INVALID = -1 - } SessionType; -diff --git src/systemd/sd-login.h src/systemd/sd-login.h -index a4ca231..776733a 100644 ---- src/systemd/sd-login.h -+++ src/systemd/sd-login.h -@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat); - /* Determine the (PAM) service name this session was registered by. */ - int sd_session_get_service(const char *session, char **service); - --/* Determine the type of this session, i.e. one of "tty", "x11" or "unspecified". */ -+/* Determine the type of this session, i.e. one of "tty", "x11", "wayland", "mir" or "unspecified". */ - int sd_session_get_type(const char *session, char **type); - - /* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */ --- -1.7.9.2 - diff --git a/0006-login-share-VT-signal-handler-between-sessions.patch b/0006-login-share-VT-signal-handler-between-sessions.patch deleted file mode 100644 index 599aa261..00000000 --- a/0006-login-share-VT-signal-handler-between-sessions.patch +++ /dev/null @@ -1,246 +0,0 @@ -Based on 92683ad2e28c79891e4123d9a421b018dc58870c Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Mon, 11 Aug 2014 18:17:54 +0200 -Subject: [PATCH] login: share VT-signal handler between sessions - -sd-event does not allow multiple handlers for a single signal. However, -logind sets up signal handlers for each session with VT_PROCESS set (that -is, it has an active controller). Therefore, registering multiple such -controllers will fail. - -Lets make the VT-handler global, as it's mostly trivial, anyway. This way, -the sessions don't have to take care of that and we can simply acknowledge -all VT-switch requests as we always did. ---- - src/libsystemd/sd-event/sd-event.c | 5 +- - src/login/logind-session.c | 26 +------------ - src/login/logind-session.h | 1 - src/login/logind.c | 70 +++++++++++++++++++++++++++++++++++++ - src/shared/util.c | 18 +++++++++ - src/shared/util.h | 1 - 6 files changed, 94 insertions(+), 27 deletions(-) - ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c 2014-08-26 11:02:54.500683967 +0000 -@@ -839,7 +839,6 @@ _public_ int sd_event_add_signal( - assert_return(sig > 0, -EINVAL); - assert_return(sig < _NSIG, -EINVAL); - assert_return(callback, -EINVAL); -- assert_return(ret, -EINVAL); - assert_return(e->state != SD_EVENT_FINISHED, -ESTALE); - assert_return(!event_pid_changed(e), -ECHILD); - -@@ -877,7 +876,9 @@ _public_ int sd_event_add_signal( - } - } - -- *ret = s; -+ if (ret) -+ *ret = s; -+ - return 0; - } - ---- src/login/logind-session.c -+++ src/login/logind-session.c 2014-08-25 17:22:46.000000000 +0000 -@@ -153,8 +153,6 @@ void session_free(Session *s) { - - hashmap_remove(s->manager->sessions, s->id); - -- s->vt_source = sd_event_source_unref(s->vt_source); -- - free(s->state_file); - free(s); - } -@@ -966,19 +964,9 @@ static int session_open_vt(Session *s) { - return s->vtfd; - } - --static int session_vt_fn(sd_event_source *source, const struct signalfd_siginfo *si, void *data) { -- Session *s = data; -- -- if (s->vtfd >= 0) -- ioctl(s->vtfd, VT_RELDISP, 1); -- -- return 0; --} -- - int session_mute_vt(Session *s) { - int vt, r; - struct vt_mode mode = { 0 }; -- sigset_t mask; - - if (s->vtnr < 1) - return 0; -@@ -1008,20 +996,12 @@ int session_mute_vt(Session *s) { - goto error; - } - -- sigemptyset(&mask); -- sigaddset(&mask, SIGUSR1); -- sigprocmask(SIG_BLOCK, &mask, NULL); -- -- r = sd_event_add_signal(s->manager->event, &s->vt_source, SIGUSR1, session_vt_fn, s); -- if (r < 0) -- goto error; -- - /* Oh, thanks to the VT layer, VT_AUTO does not work with KD_GRAPHICS. - * So we need a dummy handler here which just acknowledges *all* VT - * switch requests. */ - mode.mode = VT_PROCESS; -- mode.relsig = SIGUSR1; -- mode.acqsig = SIGUSR1; -+ mode.relsig = SIGRTMIN; -+ mode.acqsig = SIGRTMIN + 1; - r = ioctl(vt, VT_SETMODE, &mode); - if (r < 0) { - r = -errno; -@@ -1045,8 +1025,6 @@ void session_restore_vt(Session *s) { - if (vt < 0) - return; - -- s->vt_source = sd_event_source_unref(s->vt_source); -- - ioctl(vt, KDSETMODE, KD_TEXT); - - if (read_one_line_file("/sys/module/vt/parameters/default_utf8", &utf8) >= 0 && *utf8 == '1') ---- src/login/logind-session.h -+++ src/login/logind-session.h 2014-08-25 00:00:00.000000000 +0000 -@@ -98,7 +98,6 @@ struct Session { - Seat *seat; - unsigned int vtnr; - int vtfd; -- sd_event_source *vt_source; - - pid_t leader; - uint32_t audit_id; ---- src/login/logind.c -+++ src/login/logind.c 2014-08-26 11:18:41.422235366 +0000 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - - #include "sd-daemon.h" -@@ -714,6 +715,47 @@ static int manager_connect_bus(Manager * - return 0; - } - -+static int manager_vt_switch(sd_event_source *src, const struct signalfd_siginfo *si, void *data) { -+ Manager *m = data; -+ Session *active, *iter; -+ -+ /* -+ * We got a VT-switch signal and we have to acknowledge it immediately. -+ * Preferably, we'd just use m->seat0->active->vtfd, but unfortunately, -+ * old user-space might run multiple sessions on a single VT, *sigh*. -+ * Therefore, we have to iterate all sessions and find one with a vtfd -+ * on the requested VT. -+ * As only VTs with active controllers have VT_PROCESS set, our current -+ * notion of the active VT might be wrong (for instance if the switch -+ * happens while we setup VT_PROCESS). Therefore, read the current VT -+ * first and then use s->active->vtnr as reference. Note that this is -+ * not racy, as no further VT-switch can happen as long as we're in -+ * synchronous VT_PROCESS mode. -+ */ -+ -+ assert(m->seat0); -+ seat_read_active_vt(m->seat0); -+ -+ active = m->seat0->active; -+ if (!active || active->vtnr < 1) { -+ log_warning("Received VT_PROCESS signal without a registered session on that VT."); -+ return 0; -+ } -+ -+ if (active->vtfd >= 0) { -+ ioctl(active->vtfd, VT_RELDISP, 1); -+ } else { -+ LIST_FOREACH(sessions_by_seat, iter, m->seat0->sessions) { -+ if (iter->vtnr == active->vtnr && iter->vtfd >= 0) { -+ ioctl(iter->vtfd, VT_RELDISP, 1); -+ break; -+ } -+ } -+ } -+ -+ return 0; -+} -+ - static int manager_connect_console(Manager *m) { - int r; - -@@ -744,6 +786,34 @@ static int manager_connect_console(Manag - return r; - } - -+ /* -+ * SIGRTMIN is used as global VT-release signal, SIGRTMIN + 1 is used -+ * as VT-acquire signal. We ignore any acquire-events (yes, we still -+ * have to provide a valid signal-number for it!) and acknowledge all -+ * release events immediately. -+ */ -+ -+ if (SIGRTMIN + 1 > SIGRTMAX) { -+ log_error("Not enough real-time signals available: %u-%u", SIGRTMIN, SIGRTMAX); -+ return -EINVAL; -+ } -+ -+ r = ignore_signals(SIGRTMIN + 1, -1); -+ if (r < 0) { -+ log_error("Cannot ignore SIGRTMIN + 1: %s", strerror(-r)); -+ return r; -+ } -+ -+ r = sigprocmask_many(SIG_BLOCK, SIGRTMIN, -1); -+ if (r < 0) { -+ log_error("Cannot block SIGRTMIN: %s", strerror(-r)); -+ return r; -+ } -+ -+ r = sd_event_add_signal(m->event, NULL, SIGRTMIN, manager_vt_switch, m); -+ if (r < 0) -+ return r; -+ - return 0; - } - ---- src/shared/util.c -+++ src/shared/util.c 2014-08-26 10:20:14.000000000 +0000 -@@ -2434,6 +2434,24 @@ void sigset_add_many(sigset_t *ss, ...) - va_end(ap); - } - -+int sigprocmask_many(int how, ...) { -+ va_list ap; -+ sigset_t ss; -+ int sig; -+ -+ assert_se(sigemptyset(&ss) == 0); -+ -+ va_start(ap, how); -+ while ((sig = va_arg(ap, int)) > 0) -+ assert_se(sigaddset(&ss, sig) == 0); -+ va_end(ap); -+ -+ if (sigprocmask(how, &ss, NULL) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - char* gethostname_malloc(void) { - struct utsname u; - ---- src/shared/util.h -+++ src/shared/util.h 2014-08-26 10:21:08.000000000 +0000 -@@ -390,6 +390,7 @@ char* dirname_malloc(const char *path); - void rename_process(const char name[8]); - - void sigset_add_many(sigset_t *ss, ...); -+int sigprocmask_many(int how, ...); - - bool hostname_is_set(void); - diff --git a/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch b/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch deleted file mode 100644 index 4313946b..00000000 --- a/0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 33169701b0640d3629d4c36cf8c71dc26d2cb7e1 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 May 2014 01:33:22 +0200 -Subject: [PATCH] man: clarify that the ExecReload= command should be - synchronous - -http://lists.freedesktop.org/archives/systemd-devel/2014-May/019054.html ---- - man/systemd.service.xml | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git man/systemd.service.xml man/systemd.service.xml -index af32ccb..364ad7d 100644 ---- man/systemd.service.xml -+++ man/systemd.service.xml -@@ -519,6 +519,20 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} - following: - - /bin/kill -HUP $MAINPID -+ -+ Note however that reloading a -+ daemon by sending a signal (as with -+ the example line above) is usually not -+ a good choice, because this is an -+ asynchronous operation and hence not -+ suitable to order reloads of multiple -+ services against each other. It is -+ strongly recommended to set -+ ExecReload= to a -+ command that no only triggers a -+ configuration reload of the daemon, -+ but also synchronously waits for it -+ complete. - - - --- -1.7.9.2 - diff --git a/0006-parse_boolean-require-exact-matches.patch b/0006-parse_boolean-require-exact-matches.patch deleted file mode 100644 index 2c279f99..00000000 --- a/0006-parse_boolean-require-exact-matches.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0f625d0b87139fc18cd565c9b6da05c53a0eb7ab Mon Sep 17 00:00:00 2001 -From: Ansgar Burchardt -Date: Sun, 27 Jul 2014 15:19:00 +0200 -Subject: [PATCH] parse_boolean: require exact matches - -Require exact matches in all cases instead of treating strings -starting with 't' ('f') as true (false). - -This is required for config_parse_protect_system to parse ProtectSystem=full -correctly: it uses parse_boolean and only tries a more specific parsing -function if that did not return a valid result. Thus "full" was treated as -"false" before. ---- - src/shared/util.c | 4 ++-- - src/test/test-util.c | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git src/shared/util.c src/shared/util.c -index 4fda31c..49c17ef 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -231,9 +231,9 @@ int unlink_noerrno(const char *path) { - int parse_boolean(const char *v) { - assert(v); - -- if (streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || v[0] == 'T' || strcaseeq(v, "on")) -+ if (streq(v, "1") || strcaseeq(v, "yes") || strcaseeq(v, "y") || strcaseeq(v, "true") || strcaseeq(v, "t") || strcaseeq(v, "on")) - return 1; -- else if (streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' || v[0] == 'F' || strcaseeq(v, "off")) -+ else if (streq(v, "0") || strcaseeq(v, "no") || strcaseeq(v, "n") || strcaseeq(v, "false") || strcaseeq(v, "f") || strcaseeq(v, "off")) - return 0; - - return -EINVAL; -diff --git src/test/test-util.c src/test/test-util.c -index ed91a67..9a28ef9 100644 ---- src/test/test-util.c -+++ src/test/test-util.c -@@ -129,6 +129,7 @@ static void test_parse_boolean(void) { - - assert_se(parse_boolean("garbage") < 0); - assert_se(parse_boolean("") < 0); -+ assert_se(parse_boolean("full") < 0); - } - - static void test_parse_pid(void) { --- -1.7.9.2 - diff --git a/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch b/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch deleted file mode 100644 index ce18d6c5..00000000 --- a/0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ebc54302d7fc70927d5dc119e178ff03f6a911ed Mon Sep 17 00:00:00 2001 -From: Peter Rajnoha -Date: Mon, 10 Mar 2014 22:58:14 +0100 -Subject: [PATCH] rules: mark loop device as SYSTEMD_READY=0 if no file is - attached - -Check existence of loop/backing_file in sysfs and mark loop devices with -SYSTEMD_READY if missing. Such loop files is uninitialized and it's not -ready for use yet (there's no file attached). ---- - rules/99-systemd.rules.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in -index 021359a..04a59c4 100644 ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in -@@ -22,6 +22,9 @@ SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_T - SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" - SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" - -+# Ignore loop devices that don't have any file attached -+SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" -+ - # Ignore nbd devices in the "add" event, with "change" the nbd is ready - ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" - --- -1.7.9.2 - diff --git a/0006-sd-event-initialization-perturbation-value-right-bef.patch b/0006-sd-event-initialization-perturbation-value-right-bef.patch deleted file mode 100644 index a561cabb..00000000 --- a/0006-sd-event-initialization-perturbation-value-right-bef.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 52444dc478fe38b5b69a771923ab429a41927aa5 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 24 Mar 2014 23:54:21 +0100 -Subject: [PATCH] sd-event: initialization perturbation value right before we - use it - -That way, we don't forget to initialize it when the watchdog is -initialized before all event sources. ---- - src/libsystemd/sd-event/sd-event.c | 34 +++++++++++++++++++++------------- - 1 file changed, 21 insertions(+), 13 deletions(-) - ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c 2014-03-28 12:44:05.652327044 +0000 -@@ -648,13 +648,31 @@ _public_ int sd_event_add_io( - return 0; - } - -+static void initialize_perturb(sd_event *e) { -+ sd_id128_t bootid = {}; -+ -+ /* When we sleep for longer, we try to realign the wakeup to -+ the same time wihtin each minute/second/250ms, so that -+ events all across the system can be coalesced into a single -+ CPU wakeup. However, let's take some system-specific -+ randomness for this value, so that in a network of systems -+ with synced clocks timer events are distributed a -+ bit. Here, we calculate a perturbation usec offset from the -+ boot ID. */ -+ -+ if (_likely_(e->perturb != (usec_t) -1)) -+ return; -+ -+ if (sd_id128_get_boot(&bootid) >= 0) -+ e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; -+} -+ - static int event_setup_timer_fd( - sd_event *e, - EventSourceType type, - int *timer_fd, - clockid_t id) { - -- sd_id128_t bootid = {}; - struct epoll_event ev = {}; - int r, fd; - -@@ -677,18 +695,6 @@ static int event_setup_timer_fd( - return -errno; - } - -- /* When we sleep for longer, we try to realign the wakeup to -- the same time wihtin each minute/second/250ms, so that -- events all across the system can be coalesced into a single -- CPU wakeup. However, let's take some system-specific -- randomness for this value, so that in a network of systems -- with synced clocks timer events are distributed a -- bit. Here, we calculate a perturbation usec offset from the -- boot ID. */ -- -- if (sd_id128_get_boot(&bootid) >= 0) -- e->perturb = (bootid.qwords[0] ^ bootid.qwords[1]) % USEC_PER_MINUTE; -- - *timer_fd = fd; - return 0; - } -@@ -1506,6 +1512,8 @@ static usec_t sleep_between(sd_event *e, - if (b <= a + 1) - return a; - -+ initialize_perturb(e); -+ - /* - Find a good time to wake up again between times a and b. We - have two goals here: diff --git a/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch b/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch deleted file mode 100644 index 0dec2f61..00000000 --- a/0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8e8af4cfc7fa373504a22e58966909161acfb72f Mon Sep 17 00:00:00 2001 -From: Emil Renner Berthing -Date: Thu, 18 Sep 2014 15:24:43 +0200 -Subject: [PATCH] shared/sparse-endian.h: add missing byteswap.h include - ---- - src/shared/sparse-endian.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/sparse-endian.h src/shared/sparse-endian.h -index eb4dbf3..c913fda 100644 ---- src/shared/sparse-endian.h -+++ src/shared/sparse-endian.h -@@ -21,6 +21,7 @@ - #ifndef SPARSE_ENDIAN_H - #define SPARSE_ENDIAN_H - -+#include - #include - #include - --- -1.7.9.2 - diff --git a/0006-systemctl-fix-resource-leak-CID-1237747.patch b/0006-systemctl-fix-resource-leak-CID-1237747.patch deleted file mode 100644 index f8ec6af1..00000000 --- a/0006-systemctl-fix-resource-leak-CID-1237747.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 48a2900c6612052149a1d0dd88aeacb99b49ce4d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Wed, 17 Sep 2014 21:56:25 -0300 -Subject: [PATCH] systemctl: fix resource leak CID #1237747 - -..by simply moving the declaration of "unit" into the STRV_FOREACH -loop as suggested by Andreas. ---- - src/systemctl/systemctl.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c -index 88be871..9012128 100644 ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c -@@ -4449,7 +4449,6 @@ static int show(sd_bus *bus, char **args) { - } - - static int cat(sd_bus *bus, char **args) { -- _cleanup_free_ char *unit = NULL; - _cleanup_strv_free_ char **names = NULL; - char **name; - bool first = true; -@@ -4468,6 +4467,8 @@ static int cat(sd_bus *bus, char **args) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_strv_free_ char **dropin_paths = NULL; - _cleanup_free_ char *fragment_path = NULL; -+ _cleanup_free_ char *unit = NULL; -+ - char **path; - - unit = unit_dbus_path_from_name(*name); --- -1.7.9.2 - diff --git a/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch b/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch deleted file mode 100644 index b1fc0988..00000000 --- a/0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch +++ /dev/null @@ -1,37 +0,0 @@ -Based on b4af5a803aa71a57733ca46fef29b7afb20a626c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 17:33:26 +0200 -Subject: [PATCH] systemctl: show StatusErrno value in "systemctl status" - ---- - src/systemctl/systemctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-07-08 10:57:30.170735691 +0000 -@@ -2710,6 +2710,7 @@ typedef struct UnitStatusInfo { - const char *status_text; - const char *pid_file; - bool running:1; -+ int status_errno; - - usec_t start_timestamp; - usec_t exit_timestamp; -@@ -2982,6 +2983,8 @@ static void print_status_info( - - if (i->status_text) - printf(" Status: \"%s\"\n", i->status_text); -+ if (i->status_errno > 0) -+ printf(" Error: %i (%s)\n", i->status_errno, strerror(i->status_errno)); - - if (i->control_group && - (i->main_pid > 0 || i->control_pid > 0 || cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, i->control_group, false) == 0)) { -@@ -3203,6 +3206,8 @@ static int status_property(const char *n - i->exit_code = (int) j; - else if (streq(name, "ExecMainStatus")) - i->exit_status = (int) j; -+ else if (streq(name, "StatusErrno")) -+ i->status_errno = (int) j; - - break; - } diff --git a/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch b/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch deleted file mode 100644 index 8647f1e1..00000000 --- a/0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch +++ /dev/null @@ -1,26 +0,0 @@ -Based on 6fc27667950fe153033f0f49cb5b57e8954c3e54 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 30 Jun 2014 19:06:18 +0200 -Subject: [PATCH] tmpfiles: don't do automatic cleanup in $XDG_RUNTIME_DIR - -Now that logind will clean up all IPC resources of a user we should -really consider $XDG_RUNTIME_DIR as just another kind of IPC with the -same life-cycle logic as the other IPC resources. This should be safe -now to do since every user gets his own $XDG_RUNTIME_DIR tmpfs instance -with a fixed size limit, so that flooding of it will more effectively be -averted. ---- - tmpfiles.d/systemd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- tmpfiles.d/systemd.conf -+++ tmpfiles.d/systemd.conf 2014-07-01 12:31:01.858735866 +0000 -@@ -7,7 +7,7 @@ - - # See tmpfiles.d(5) for details - --d /run/user 0755 root root ~10d -+d /run/user 0755 root root - - F! /run/utmp 0664 root utmp - - - f /var/log/wtmp 0664 root utmp - diff --git a/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch b/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch deleted file mode 100644 index aa77e4cc..00000000 --- a/0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 267b3e41df5a2181f2911433539f81de2fa1511a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Thu, 29 May 2014 14:17:37 -0400 -Subject: [PATCH] tty-ask-password-agent: Do tell what directory we failed to - open - ---- - .../tty-ask-password-agent.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 3203474..55a2215 100644 ---- src/tty-ask-password-agent/tty-ask-password-agent.c -+++ src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -501,7 +501,7 @@ static int show_passwords(void) { - if (errno == ENOENT) - return 0; - -- log_error("opendir(): %m"); -+ log_error("opendir(/run/systemd/ask-password): %m"); - return -errno; - } - --- -1.7.9.2 - diff --git a/0007-README-document-that-var-run-must-be-a-symlink-run.patch b/0007-README-document-that-var-run-must-be-a-symlink-run.patch deleted file mode 100644 index 4b8b4384..00000000 --- a/0007-README-document-that-var-run-must-be-a-symlink-run.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 47bc23c18cbc87471dc832534c8565625e4a9d16 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 02:54:37 +0100 -Subject: [PATCH] =?UTF-8?q?README:=20document=20that=20/var/run=20must=20be=20?= - =?UTF-8?q?a=20symlink=20=E2=86=92=20/run?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - ---- - README | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git README README -index b918132..7a227e7 100644 ---- README -+++ README -@@ -190,6 +190,9 @@ WARNINGS: - about this, since this kind of file system setup is not really - supported anymore by the basic set of Linux OS components. - -+ systemd requires that the /run mount point exists. systemd also -+ requires that /var/run is a a symlink → /run. -+ - For more information on this issue consult - http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken - --- -1.7.9.2 - diff --git a/0007-core-fix-a-potential-mem-leak.patch b/0007-core-fix-a-potential-mem-leak.patch deleted file mode 100644 index 03003901..00000000 --- a/0007-core-fix-a-potential-mem-leak.patch +++ /dev/null @@ -1,25 +0,0 @@ -Based on 4d5e13a125cf8d77d432225ab69826caa1d1cf59 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Sat, 13 Sep 2014 12:35:06 +0200 -Subject: [PATCH] core: fix a potential mem leak - -Found with Coverity. Fixes: CID#996438 ---- - src/core/load-fragment.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/core/load-fragment.c -+++ src/core/load-fragment.c 2014-09-16 10:35:13.354235607 +0000 -@@ -1294,8 +1294,11 @@ int config_parse_timer(const char *unit, - } - - v = new0(TimerValue, 1); -- if (!v) -+ if (!v) { -+ if (c) -+ free(c); - return log_oom(); -+ } - - v->base = b; - v->clock_id = id; diff --git a/0007-dbus-suppress-duplicate-and-misleading-messages.patch b/0007-dbus-suppress-duplicate-and-misleading-messages.patch deleted file mode 100644 index c4051609..00000000 --- a/0007-dbus-suppress-duplicate-and-misleading-messages.patch +++ /dev/null @@ -1,66 +0,0 @@ -From fe7f06f142cf42928e419d8578afd75bf1439672 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 11 Mar 2014 04:10:19 +0100 -Subject: [PATCH] dbus: suppress duplicate and misleading messages - -When we try to send a signal on a connection we didn't hae the time to -process the Disconnected message yet, don't generate multiple warning -messages, but only a single debug message. - -https://bugs.freedesktop.org/show_bug.cgi?id=75874 ---- - src/core/dbus-manager.c | 7 +++++-- - src/core/dbus-unit.c | 12 ++---------- - 2 files changed, 7 insertions(+), 12 deletions(-) - -diff --git src/core/dbus-manager.c src/core/dbus-manager.c -index 34ef1f5..30f28b6 100644 ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c -@@ -1357,8 +1357,11 @@ static int reply_unit_file_changes_and_f - unsigned i; - int r; - -- if (n_changes > 0) -- bus_manager_foreach_client(m, send_unit_files_changed, NULL); -+ if (n_changes > 0) { -+ r = bus_manager_foreach_client(m, send_unit_files_changed, NULL); -+ if (r < 0) -+ log_debug("Failed to send UnitFilesChanged signal: %s", strerror(-r)); -+ } - - r = sd_bus_message_new_method_return(message, &reply); - if (r < 0) -diff --git src/core/dbus-unit.c src/core/dbus-unit.c -index 515ac8b..07e7f20 100644 ---- src/core/dbus-unit.c -+++ src/core/dbus-unit.c -@@ -638,21 +638,13 @@ static int send_changed_signal(sd_bus *bus, void *userdata) { - bus, p, - UNIT_VTABLE(u)->bus_interface, - NULL); -- if (r < 0) { -- log_warning("Failed to send out specific PropertiesChanged signal for %s: %s", u->id, strerror(-r)); -+ if (r < 0) - return r; -- } - -- r = sd_bus_emit_properties_changed_strv( -+ return sd_bus_emit_properties_changed_strv( - bus, p, - "org.freedesktop.systemd1.Unit", - NULL); -- if (r < 0) { -- log_warning("Failed to send out generic PropertiesChanged signal for %s: %s", u->id, strerror(-r)); -- return r; -- } -- -- return 0; - } - - void bus_unit_send_change_signal(Unit *u) { --- -1.7.9.2 - ---- src/core/dbus-manager.c -+++ src/core/dbus-manager.c 2014-03-11 11:05:44.350235568 +0000 diff --git a/0007-drop_duplicates-copy-full-BindMount-struct.patch b/0007-drop_duplicates-copy-full-BindMount-struct.patch deleted file mode 100644 index 434f119d..00000000 --- a/0007-drop_duplicates-copy-full-BindMount-struct.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e2d7c1a0758ce80d7cb439745deefefdffd67655 Mon Sep 17 00:00:00 2001 -From: Ansgar Burchardt -Date: Sun, 27 Jul 2014 16:32:13 +0200 -Subject: [PATCH] drop_duplicates: copy full BindMount struct - -At least - - t->ignore = f->ignore; - -is missing here. Just copy the full struct to be sure. ---- - src/core/namespace.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git src/core/namespace.c src/core/namespace.c -index 5466b7b..fe95377 100644 ---- src/core/namespace.c -+++ src/core/namespace.c -@@ -124,8 +124,7 @@ static void drop_duplicates(BindMount *m, unsigned *n) { - if (previous && path_equal(f->path, previous->path)) - continue; - -- t->path = f->path; -- t->mode = f->mode; -+ *t = *f; - - previous = t; - --- -1.7.9.2 - diff --git a/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 7b77e2ab..00000000 --- a/0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 063e36db8aed7b54100b33089deb6d2e86d516b9 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Thu, 3 Jul 2014 16:13:48 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 377748a..9f3136a 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -1045,7 +1045,31 @@ bluetooth:v0159* - ID_VENDOR_FROM_DATABASE=ChefSteps, Inc. - - bluetooth:v015A* -- ID_VENDOR_FROM_DATABASE=micus AG -+ ID_VENDOR_FROM_DATABASE=micas AG - - bluetooth:v015B* - ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd. -+ -+bluetooth:v015C* -+ ID_VENDOR_FROM_DATABASE=Pitius Tec S.L. -+ -+bluetooth:v015D* -+ ID_VENDOR_FROM_DATABASE=Estimote, Inc. -+ -+bluetooth:v015E* -+ ID_VENDOR_FROM_DATABASE=Unikey Technologies, Inc. -+ -+bluetooth:v015F* -+ ID_VENDOR_FROM_DATABASE=Timer Cap Co. -+ -+bluetooth:v0160* -+ ID_VENDOR_FROM_DATABASE=AwoX -+ -+bluetooth:v0161* -+ ID_VENDOR_FROM_DATABASE=yikes -+ -+bluetooth:v0162* -+ ID_VENDOR_FROM_DATABASE=MADSGlobal NZ Ltd. -+ -+bluetooth:v0163* -+ ID_VENDOR_FROM_DATABASE=PCH International --- -1.7.9.2 - diff --git a/0007-hwdb-update.patch b/0007-hwdb-update.patch deleted file mode 100644 index 462cdb4a..00000000 --- a/0007-hwdb-update.patch +++ /dev/null @@ -1,1910 +0,0 @@ -Based on bd64a88fb0478da2e93c363849b73aed8be36ae7 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 31 Jul 2014 23:06:04 +0200 -Subject: [PATCH] hwdb: update - ---- - 20-OUI.hwdb | 380 +++++++++++++++++++++++++++++++++++++++++++++-- - 20-pci-vendor-model.hwdb | 35 +++- - 20-usb-vendor-model.hwdb | 208 +++++++++++++++++++++++-- - 3 files changed, 586 insertions(+), 37 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index 97f1e6b..f9501be 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -23288,7 +23288,7 @@ OUI:000CB1* - ID_OUI_FROM_DATABASE=Salland Engineering (Europe) BV - - OUI:000CB2* -- ID_OUI_FROM_DATABASE=Comstar Co., Ltd. -+ ID_OUI_FROM_DATABASE=UNION co., ltd. - - OUI:000CB3* - ID_OUI_FROM_DATABASE=ROUND Co.,Ltd. -@@ -23528,7 +23528,7 @@ OUI:000D01* - ID_OUI_FROM_DATABASE=P&E Microcomputer Systems, Inc. - - OUI:000D02* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:000D03* - ID_OUI_FROM_DATABASE=Matrics, Inc. -@@ -30311,7 +30311,7 @@ OUI:0015DF* - ID_OUI_FROM_DATABASE=Clivet S.p.A. - - OUI:0015E0* -- ID_OUI_FROM_DATABASE=ST-Ericsson -+ ID_OUI_FROM_DATABASE=Ericsson - - OUI:0015E1* - ID_OUI_FROM_DATABASE=Picochip Ltd -@@ -32375,7 +32375,7 @@ OUI:001893* - ID_OUI_FROM_DATABASE=SHENZHEN PHOTON BROADBAND TECHNOLOGY CO.,LTD - - OUI:001894* -- ID_OUI_FROM_DATABASE=zimocom -+ ID_OUI_FROM_DATABASE=NPCore, Inc. - - OUI:001895* - ID_OUI_FROM_DATABASE=Hansun Technologies Inc. -@@ -33887,7 +33887,7 @@ OUI:001A8B* - ID_OUI_FROM_DATABASE=CHUNIL ELECTRIC IND., CO. - - OUI:001A8C* -- ID_OUI_FROM_DATABASE=Astaro AG -+ ID_OUI_FROM_DATABASE=Sophos Ltd - - OUI:001A8D* - ID_OUI_FROM_DATABASE=AVECS Bergen GmbH -@@ -34652,7 +34652,7 @@ OUI:001B8A* - ID_OUI_FROM_DATABASE=2M Electronic A/S - - OUI:001B8B* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:001B8C* - ID_OUI_FROM_DATABASE=JMicron Technology Corp. -@@ -35066,7 +35066,7 @@ OUI:001C14* - ID_OUI_FROM_DATABASE=VMware, Inc - - OUI:001C15* -- ID_OUI_FROM_DATABASE=TXP Corporation -+ ID_OUI_FROM_DATABASE=iPhotonix LLC - - OUI:001C16* - ID_OUI_FROM_DATABASE=ThyssenKrupp Elevator -@@ -35975,7 +35975,7 @@ OUI:001D43* - ID_OUI_FROM_DATABASE=Shenzhen G-link Digital Technology Co., Ltd. - - OUI:001D44* -- ID_OUI_FROM_DATABASE=KROHNE -+ ID_OUI_FROM_DATABASE=KROHNE Messtechnik GmbH - - OUI:001D45* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. -@@ -36863,7 +36863,7 @@ OUI:001E6B* - ID_OUI_FROM_DATABASE=Cisco SPVTG - - OUI:001E6C* -- ID_OUI_FROM_DATABASE=Carbon Mountain LLC -+ ID_OUI_FROM_DATABASE=Opaque Systems - - OUI:001E6D* - ID_OUI_FROM_DATABASE=IT R&D Center -@@ -38471,7 +38471,7 @@ OUI:002084* - ID_OUI_FROM_DATABASE=OCE PRINTING SYSTEMS, GMBH - - OUI:002085* -- ID_OUI_FROM_DATABASE=EXIDE ELECTRONICS -+ ID_OUI_FROM_DATABASE=Eaton Corporation - - OUI:002086* - ID_OUI_FROM_DATABASE=MICROTECH ELECTRONICS LIMITED -@@ -44312,7 +44312,7 @@ OUI:003A9C* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:003A9D* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:003AAF* - ID_OUI_FROM_DATABASE=BlueBit Ltd. -@@ -46394,7 +46394,7 @@ OUI:0060B8* - ID_OUI_FROM_DATABASE=CORELIS Inc. - - OUI:0060B9* -- ID_OUI_FROM_DATABASE=NEC Infrontia Corporation -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd - - OUI:0060BA* - ID_OUI_FROM_DATABASE=SAHARA NETWORKS, INC. -@@ -49015,6 +49015,9 @@ OUI:00A1DE* - OUI:00A2DA* - ID_OUI_FROM_DATABASE=INAT GmbH - -+OUI:00A2F5* -+ ID_OUI_FROM_DATABASE=Guangzhou Yuanyun Network Technology Co.,Ltd -+ - OUI:00A2FF* - ID_OUI_FROM_DATABASE=abatec group AG - -@@ -49036,6 +49039,9 @@ OUI:00AA70* - OUI:00ACE0* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:00AEFA* -+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd. -+ - OUI:00B009* - ID_OUI_FROM_DATABASE=Grass Valley Group - -@@ -51613,6 +51619,9 @@ OUI:00F403* - OUI:00F4B9* - ID_OUI_FROM_DATABASE=Apple - -+OUI:00F76F* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:00F860* - ID_OUI_FROM_DATABASE=PT. Panggung Electric Citrabuana - -@@ -51844,6 +51853,9 @@ OUI:0494A1* - OUI:0498F3* - ID_OUI_FROM_DATABASE=ALPS Electric Co,. Ltd. - -+OUI:0499E6* -+ ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd -+ - OUI:049C62* - ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. - -@@ -52423,6 +52435,9 @@ OUI:0808C2* - OUI:0808EA* - ID_OUI_FROM_DATABASE=AMSC - -+OUI:0809B6* -+ ID_OUI_FROM_DATABASE=Masimo Corp -+ - OUI:080C0B* - ID_OUI_FROM_DATABASE=SysMik GmbH Dresden - -@@ -52438,6 +52453,9 @@ OUI:080EA8* - OUI:080FFA* - ID_OUI_FROM_DATABASE=KSP INC. - -+OUI:08115E* -+ ID_OUI_FROM_DATABASE=Bitel Co., Ltd. -+ - OUI:081196* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -52597,6 +52615,9 @@ OUI:087D21* - OUI:088039* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:0881BC* -+ ID_OUI_FROM_DATABASE=HongKong Ipro Technology Co., Limited -+ - OUI:0881F4* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -52693,6 +52714,9 @@ OUI:08E5DA* - OUI:08E672* - ID_OUI_FROM_DATABASE=JEBSEE ELECTRONICS CO.,LTD. - -+OUI:08E84F* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:08EA44* - ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. - -@@ -52759,6 +52783,9 @@ OUI:0C17F1* - OUI:0C191F* - ID_OUI_FROM_DATABASE=Inform Electronik - -+OUI:0C1DAF* -+ ID_OUI_FROM_DATABASE=Beijing Xiaomi communications co.,ltd -+ - OUI:0C1DC2* - ID_OUI_FROM_DATABASE=SeAH Networks - -@@ -53080,6 +53107,9 @@ OUI:1001CA* - OUI:1005CA* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:1008B1* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:10090C* - ID_OUI_FROM_DATABASE=Janome Sewing Machine Co., Ltd. - -@@ -53200,6 +53230,9 @@ OUI:104B46* - OUI:104D77* - ID_OUI_FROM_DATABASE=Innovative Computer Engineering - -+OUI:104E07* -+ ID_OUI_FROM_DATABASE=Shanghai Genvision Industries Co.,Ltd -+ - OUI:105172* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -@@ -53234,7 +53267,7 @@ OUI:1065CF* - ID_OUI_FROM_DATABASE=IQSIM - - OUI:106682* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:10683F* - ID_OUI_FROM_DATABASE=LG Electronics -@@ -53668,6 +53701,9 @@ OUI:14F42A* - OUI:14F65A* - ID_OUI_FROM_DATABASE=Xiaomi inc. - -+OUI:14F893* -+ ID_OUI_FROM_DATABASE=Wuhan FiberHome Digital Technology Co.,Ltd. -+ - OUI:14FEAF* - ID_OUI_FROM_DATABASE=SAGITTAR LIMITED - -@@ -54190,6 +54226,9 @@ OUI:1C7C45* - OUI:1C7CC7* - ID_OUI_FROM_DATABASE=Coriant GmbH - -+OUI:1C7E51* -+ ID_OUI_FROM_DATABASE=3bumen.com -+ - OUI:1C7EE5* - ID_OUI_FROM_DATABASE=D-Link International - -@@ -54220,6 +54259,9 @@ OUI:1C955D* - OUI:1C959F* - ID_OUI_FROM_DATABASE=Veethree Electronics And Marine LLC - -+OUI:1C965A* -+ ID_OUI_FROM_DATABASE=Weifang goertek Electronics CO.,LTD -+ - OUI:1C973D* - ID_OUI_FROM_DATABASE=PRICOM Design - -@@ -54229,6 +54271,9 @@ OUI:1C994C* - OUI:1C9C26* - ID_OUI_FROM_DATABASE=Zoovel Technologies - -+OUI:1C9ECB* -+ ID_OUI_FROM_DATABASE=Beijing Nari Smartchip Microelectronics Company Limited -+ - OUI:1CA2B1* - ID_OUI_FROM_DATABASE=ruwido austria gmbh - -@@ -54254,7 +54299,7 @@ OUI:1CB094* - ID_OUI_FROM_DATABASE=HTC Corporation - - OUI:1CB17F* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:1CB243* - ID_OUI_FROM_DATABASE=TDC A/S -@@ -54478,6 +54523,9 @@ OUI:2074CF* - OUI:207600* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -+OUI:207693* -+ ID_OUI_FROM_DATABASE=Lenovo (Beijing) Limited. -+ - OUI:207C8F* - ID_OUI_FROM_DATABASE=Quanta Microsystems,Inc. - -@@ -54766,6 +54814,9 @@ OUI:249442* - OUI:249504* - ID_OUI_FROM_DATABASE=SFR - -+OUI:2497ED* -+ ID_OUI_FROM_DATABASE=Techvision Intelligent Technology Limited -+ - OUI:24A2E1* - ID_OUI_FROM_DATABASE=Apple, Inc - -@@ -55306,6 +55357,9 @@ OUI:2C27D7* - OUI:2C282D* - ID_OUI_FROM_DATABASE=BBK COMMUNICATIAO TECHNOLOGY CO.,LTD. - -+OUI:2C2997* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:2C2D48* - ID_OUI_FROM_DATABASE=bct electronic GesmbH - -@@ -55327,6 +55381,9 @@ OUI:2C36F8* - OUI:2C3731* - ID_OUI_FROM_DATABASE=ShenZhen Yifang Digital Technology Co.,LTD - -+OUI:2C3796* -+ ID_OUI_FROM_DATABASE=CYBO CO.,LTD. -+ - OUI:2C3996* - ID_OUI_FROM_DATABASE=SAGEMCOM - -@@ -55390,6 +55447,9 @@ OUI:2C5D93* - OUI:2C5FF3* - ID_OUI_FROM_DATABASE=Pertronic Industries - -+OUI:2C600C* -+ ID_OUI_FROM_DATABASE=QUANTA COMPUTER INC. -+ - OUI:2C625A* - ID_OUI_FROM_DATABASE=Finest Security Systems Co., Ltd - -@@ -55549,12 +55609,18 @@ OUI:2CEDEB* - OUI:2CEE26* - ID_OUI_FROM_DATABASE=Petroleum Geo-Services - -+OUI:2CF0EE* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:2CF203* - ID_OUI_FROM_DATABASE=EMKO ELEKTRONIK SAN VE TIC AS - - OUI:2CF4C5* - ID_OUI_FROM_DATABASE=Avaya, Inc - -+OUI:2CF7F1* -+ ID_OUI_FROM_DATABASE=Seeed Technology Inc. -+ - OUI:2CFAA2* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -@@ -55570,6 +55636,9 @@ OUI:300D2A* - OUI:300ED5* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd - -+OUI:3010B3* -+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation -+ - OUI:3010E4* - ID_OUI_FROM_DATABASE=Apple, Inc. - -@@ -55711,6 +55780,9 @@ OUI:307512* - OUI:30766F* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:3077CB* -+ ID_OUI_FROM_DATABASE=Maike Industry(Shenzhen)CO.,LTD -+ - OUI:30786B* - ID_OUI_FROM_DATABASE=TIANJIN Golden Pentagon Electronics Co., Ltd. - -@@ -55831,6 +55903,9 @@ OUI:30F7D7* - OUI:30F9ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -+OUI:30FAB7* -+ ID_OUI_FROM_DATABASE=Tunai Creative -+ - OUI:30FD11* - ID_OUI_FROM_DATABASE=MACROTECH (USA) INC. - -@@ -55909,6 +55984,9 @@ OUI:344B3D* - OUI:344B50* - ID_OUI_FROM_DATABASE=ZTE Corporation - -+OUI:344DEA* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:344DF7* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -55942,6 +56020,9 @@ OUI:346178* - OUI:346288* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:3464A9* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:34684A* - ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. - -@@ -56152,6 +56233,9 @@ OUI:34E2FD* - OUI:34E42A* - ID_OUI_FROM_DATABASE=Automatic Bar Controls Inc. - -+OUI:34E6AD* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:34EF44* - ID_OUI_FROM_DATABASE=2Wire - -@@ -56200,6 +56284,9 @@ OUI:380B40* - OUI:380DD4* - ID_OUI_FROM_DATABASE=Primax Electronics LTD. - -+OUI:380E7B* -+ ID_OUI_FROM_DATABASE=V.P.S. Thai Co., Ltd -+ - OUI:380F4A* - ID_OUI_FROM_DATABASE=Apple - -@@ -56989,6 +57076,9 @@ OUI:40984E* - OUI:40987B* - ID_OUI_FROM_DATABASE=Aisino Corporation - -+OUI:409B0D* -+ ID_OUI_FROM_DATABASE=Shenzhen Yourf Kwan Industrial Co., Ltd -+ - OUI:409FC7* - ID_OUI_FROM_DATABASE=BAEKCHUN I&C Co., Ltd. - -@@ -57367,6 +57457,9 @@ OUI:44C56F* - OUI:44C9A2* - ID_OUI_FROM_DATABASE=Greenwald Industries - -+OUI:44CE7D* -+ ID_OUI_FROM_DATABASE=SFR -+ - OUI:44D15E* - ID_OUI_FROM_DATABASE=Shanghai Kingto Information Technology Ltd - -@@ -57703,6 +57796,9 @@ OUI:4C1480* - OUI:4C14A3* - ID_OUI_FROM_DATABASE=TCL Technoly Electronics (Huizhou) Co., Ltd. - -+OUI:4C16F1* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:4C17EB* - ID_OUI_FROM_DATABASE=SAGEMCOM - -@@ -57730,6 +57826,9 @@ OUI:4C26E7* - OUI:4C2C80* - ID_OUI_FROM_DATABASE=Beijing Skyway Technologies Co.,Ltd - -+OUI:4C2C83* -+ ID_OUI_FROM_DATABASE=Zhejiang KaNong Network Technology Co.,Ltd. -+ - OUI:4C2F9D* - ID_OUI_FROM_DATABASE=ICM Controls - -@@ -57754,6 +57853,9 @@ OUI:4C3B74* - OUI:4C3C16* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:4C48DA* -+ ID_OUI_FROM_DATABASE=Beijing Autelan Technology Co.,Ltd -+ - OUI:4C4B68* - ID_OUI_FROM_DATABASE=Mobile Device, Inc. - -@@ -57943,6 +58045,9 @@ OUI:4CDF3D* - OUI:4CE1BB* - ID_OUI_FROM_DATABASE=Zhuhai HiFocus Technology Co., Ltd. - -+OUI:4CE2F1* -+ ID_OUI_FROM_DATABASE=sclak srl -+ - OUI:4CE676* - ID_OUI_FROM_DATABASE=Buffalo Inc. - -@@ -58459,6 +58564,9 @@ OUI:549F35* - OUI:54A04F* - ID_OUI_FROM_DATABASE=t-mac Technologies Ltd - -+OUI:54A050* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:54A31B* - ID_OUI_FROM_DATABASE=Shenzhen Linkworld Technology Co,.LTD - -@@ -58525,6 +58633,9 @@ OUI:54E3B0* - OUI:54E43A* - ID_OUI_FROM_DATABASE=Apple, Inc. - -+OUI:54E4BD* -+ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED -+ - OUI:54E63F* - ID_OUI_FROM_DATABASE=ShenZhen LingKeWeiEr Technology Co., Ltd. - -@@ -58603,6 +58714,9 @@ OUI:581FAA* - OUI:581FEF* - ID_OUI_FROM_DATABASE=Tuttnaer LTD - -+OUI:582136* -+ ID_OUI_FROM_DATABASE=KMB systems, s.r.o. -+ - OUI:58238C* - ID_OUI_FROM_DATABASE=Technicolor CH USA - -@@ -58705,6 +58819,9 @@ OUI:587BE9* - OUI:587E61* - ID_OUI_FROM_DATABASE=Hisense Electric Co., Ltd - -+OUI:587FB7* -+ ID_OUI_FROM_DATABASE=SONAR INDUSTRIAL CO., LTD. -+ - OUI:587FC8* - ID_OUI_FROM_DATABASE=S2M - -@@ -58903,6 +59020,9 @@ OUI:5C260A* - OUI:5C2AEF* - ID_OUI_FROM_DATABASE=Open Access Pty Ltd - -+OUI:5C2BF5* -+ ID_OUI_FROM_DATABASE=Vivint -+ - OUI:5C2E59* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -59020,6 +59140,9 @@ OUI:5C95AE* - OUI:5C969D* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C97F3* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:5C9AD8* - ID_OUI_FROM_DATABASE=Fujitsu Limited - -@@ -59032,6 +59155,9 @@ OUI:5CA3EB* - OUI:5CA48A* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:5CAAFD* -+ ID_OUI_FROM_DATABASE=Sonos, Inc. -+ - OUI:5CAC4C* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -59167,6 +59293,9 @@ OUI:600308* - OUI:600347* - ID_OUI_FROM_DATABASE=Billion Electric Co. Ltd. - -+OUI:600417* -+ ID_OUI_FROM_DATABASE=POSBANK CO.,LTD -+ - OUI:600F77* - ID_OUI_FROM_DATABASE=SilverPlus, Inc - -@@ -59407,6 +59536,9 @@ OUI:60C547* - OUI:60C5A8* - ID_OUI_FROM_DATABASE=Beijing LT Honway Technology Co.,Ltd - -+OUI:60C798* -+ ID_OUI_FROM_DATABASE=Verifone, Inc. -+ - OUI:60C980* - ID_OUI_FROM_DATABASE=Trymus - -@@ -59947,6 +60079,9 @@ OUI:6828BA* - OUI:682DDC* - ID_OUI_FROM_DATABASE=Wuhan Changjiang Electro-Communication Equipment CO.,LTD - -+OUI:6836B5* -+ ID_OUI_FROM_DATABASE=DriveScale, Inc. -+ - OUI:683B1E* - ID_OUI_FROM_DATABASE=Countwise LTD - -@@ -60007,6 +60142,9 @@ OUI:686E48* - OUI:687251* - ID_OUI_FROM_DATABASE=Ubiquiti Networks - -+OUI:6872DC* -+ ID_OUI_FROM_DATABASE=CETORY.TV Company Limited -+ - OUI:68764F* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -@@ -60097,6 +60235,9 @@ OUI:68AAD2* - OUI:68AB8A* - ID_OUI_FROM_DATABASE=RF IDeas - -+OUI:68AE20* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:68AF13* - ID_OUI_FROM_DATABASE=Futura Mobility - -@@ -60202,6 +60343,9 @@ OUI:6C0460* - OUI:6C09D6* - ID_OUI_FROM_DATABASE=Digiquest Electronics LTD - -+OUI:6C0B84* -+ ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co.,Ltd. -+ - OUI:6C0E0D* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -@@ -60268,6 +60412,9 @@ OUI:6C3E6D* - OUI:6C3E9C* - ID_OUI_FROM_DATABASE=KE Knestel Elektronik GmbH - -+OUI:6C4008* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:6C40C6* - ID_OUI_FROM_DATABASE=Nimbus Data Systems, Inc. - -@@ -60850,6 +60997,12 @@ OUI:70F927* - OUI:70F96D* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:70FC8C* -+ ID_OUI_FROM_DATABASE=OneAccess SA -+ -+OUI:70FF5C* -+ ID_OUI_FROM_DATABASE=Cheerzing Communication(Xiamen)Technology Co.,Ltd -+ - OUI:70FF76* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -60967,6 +61120,9 @@ OUI:746F3D* - OUI:7472F2* - ID_OUI_FROM_DATABASE=Chipsip Technology Co., Ltd. - -+OUI:747548* -+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc. -+ - OUI:747818* - ID_OUI_FROM_DATABASE=ServiceAssure - -@@ -61117,6 +61273,9 @@ OUI:74E537* - OUI:74E543* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -+OUI:74E6E2* -+ ID_OUI_FROM_DATABASE=Dell Inc. -+ - OUI:74E7C6* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -61921,6 +62080,9 @@ OUI:8005DF* - OUI:8007A2* - ID_OUI_FROM_DATABASE=Esson Technology Inc. - -+OUI:800902* -+ ID_OUI_FROM_DATABASE=Keysight Technologies, Inc. -+ - OUI:800A06* - ID_OUI_FROM_DATABASE=COMTEC co.,ltd - -@@ -61945,6 +62107,9 @@ OUI:8018A7* - OUI:801934* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:801967* -+ ID_OUI_FROM_DATABASE=Shanghai Reallytek Information Technology Co.,Ltd -+ - OUI:801DAA* - ID_OUI_FROM_DATABASE=Avaya Inc - -@@ -61972,6 +62137,9 @@ OUI:802FDE* - OUI:803457* - ID_OUI_FROM_DATABASE=OT Systems Limited - -+OUI:803773* -+ ID_OUI_FROM_DATABASE=Netgear Inc -+ - OUI:8038FD* - ID_OUI_FROM_DATABASE=LeapFrog Enterprises, Inc. - -@@ -62146,6 +62314,9 @@ OUI:80BAE6* - OUI:80BBEB* - ID_OUI_FROM_DATABASE=Satmap Systems Ltd - -+OUI:80BE05* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:80C16E* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -62236,6 +62407,9 @@ OUI:841715* - OUI:841766* - ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd - -+OUI:841826* -+ ID_OUI_FROM_DATABASE=Osram GmbH -+ - OUI:84183A* - ID_OUI_FROM_DATABASE=Ruckus Wireless - -@@ -62365,6 +62539,9 @@ OUI:84742A* - OUI:847616* - ID_OUI_FROM_DATABASE=Addat S.r.o. - -+OUI:84788B* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:8478AC* - ID_OUI_FROM_DATABASE=Cisco - -@@ -62506,6 +62683,9 @@ OUI:84E714* - OUI:84EA99* - ID_OUI_FROM_DATABASE=Vieworks - -+OUI:84EB18* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:84ED33* - ID_OUI_FROM_DATABASE=BBMC Co.,Ltd - -@@ -62641,6 +62821,9 @@ OUI:88685C* - OUI:886B76* - ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD - -+OUI:88708C* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:887398* - ID_OUI_FROM_DATABASE=K2E Tekpoint - -@@ -62746,6 +62929,9 @@ OUI:88C626* - OUI:88C663* - ID_OUI_FROM_DATABASE=Apple - -+OUI:88C9D0* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:88CB87* - ID_OUI_FROM_DATABASE=Apple - -@@ -63082,6 +63268,9 @@ OUI:8CDE52* - OUI:8CDE99* - ID_OUI_FROM_DATABASE=Comlab Inc. - -+OUI:8CDF9D* -+ ID_OUI_FROM_DATABASE=NEC Corporation -+ - OUI:8CE081* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -63133,6 +63322,12 @@ OUI:900D66* - OUI:900DCB* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -+OUI:90179B* -+ ID_OUI_FROM_DATABASE=Nanomegas -+ -+OUI:9017AC* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:90185E* - ID_OUI_FROM_DATABASE=Apex Tool Group GmbH & Co OHG - -@@ -63166,12 +63361,18 @@ OUI:902083* - OUI:902155* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:902181* -+ ID_OUI_FROM_DATABASE=Shanghai Huaqin Telecom Technology Co.,Ltd -+ - OUI:9027E4* - ID_OUI_FROM_DATABASE=Apple - - OUI:902B34* - ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. - -+OUI:902CC7* -+ ID_OUI_FROM_DATABASE=C-MAX Asia Limited -+ - OUI:902E87* - ID_OUI_FROM_DATABASE=LabJack - -@@ -63304,6 +63505,9 @@ OUI:90840D* - OUI:9088A2* - ID_OUI_FROM_DATABASE=IONICS TECHNOLOGY ME LTDA - -+OUI:908C09* -+ ID_OUI_FROM_DATABASE=Total Phase -+ - OUI:908C44* - ID_OUI_FROM_DATABASE=H.K ZONGMU TECHNOLOGY CO., LTD. - -@@ -63337,6 +63541,9 @@ OUI:909916* - OUI:909DE0* - ID_OUI_FROM_DATABASE=Newland Design + Assoc. Inc. - -+OUI:909F33* -+ ID_OUI_FROM_DATABASE=EFM Networks -+ - OUI:909F43* - ID_OUI_FROM_DATABASE=Accutron Instruments Inc. - -@@ -63416,7 +63623,7 @@ OUI:90DA4E* - ID_OUI_FROM_DATABASE=AVANU - - OUI:90DA6A* -- ID_OUI_FROM_DATABASE=MCC System Co., Ltd. -+ ID_OUI_FROM_DATABASE=FOCUS H&S Co., Ltd. - - OUI:90DB46* - ID_OUI_FROM_DATABASE=E-LEAD ELECTRONIC CO., LTD -@@ -63580,6 +63787,9 @@ OUI:946269* - OUI:9463D1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:9470D2* -+ ID_OUI_FROM_DATABASE=WINFIRM TECHNOLOGY -+ - OUI:9471AC* - ID_OUI_FROM_DATABASE=TCT Mobile Limited - -@@ -63646,6 +63856,9 @@ OUI:94AE61* - OUI:94AEE3* - ID_OUI_FROM_DATABASE=Belden Hirschmann Industries (Suzhou) Ltd. - -+OUI:94B40F* -+ ID_OUI_FROM_DATABASE=Aruba Networks -+ - OUI:94B8C5* - ID_OUI_FROM_DATABASE=RuggedCom Inc. - -@@ -63661,9 +63874,15 @@ OUI:94BA56* - OUI:94BF1E* - ID_OUI_FROM_DATABASE=eflow Inc. / Smart Device Planning and Development Division - -+OUI:94BF95* -+ ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd -+ - OUI:94C014* - ID_OUI_FROM_DATABASE=Sorter Sp. j. Konrad Grzeszczyk MichaA, Ziomek - -+OUI:94C038* -+ ID_OUI_FROM_DATABASE=Tallac Networks -+ - OUI:94C150* - ID_OUI_FROM_DATABASE=2Wire Inc - -@@ -63793,6 +64012,9 @@ OUI:980D2E* - OUI:981094* - ID_OUI_FROM_DATABASE=Shenzhen Vsun communication technology Co.,ltd - -+OUI:9816EC* -+ ID_OUI_FROM_DATABASE=IC Intracom -+ - OUI:98208E* - ID_OUI_FROM_DATABASE=Definium Technologies - -@@ -64724,7 +64946,7 @@ OUI:A40CC3* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:A41242* -- ID_OUI_FROM_DATABASE=NEC AccessTechnica, Ltd. -+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd. - - OUI:A4134E* - ID_OUI_FROM_DATABASE=Luxul -@@ -64753,6 +64975,9 @@ OUI:A42305* - OUI:A424B3* - ID_OUI_FROM_DATABASE=FlatFrog Laboratories AB - -+OUI:A4251B* -+ ID_OUI_FROM_DATABASE=Avaya, Inc -+ - OUI:A42940* - ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd - -@@ -64783,6 +65008,9 @@ OUI:A4466B* - OUI:A446FA* - ID_OUI_FROM_DATABASE=AmTRAN Video Corporation - -+OUI:A44AD3* -+ ID_OUI_FROM_DATABASE=ST Electronics(Shanghai) Co.,Ltd -+ - OUI:A44B15* - ID_OUI_FROM_DATABASE=Sun Cupid Technology (HK) LTD - -@@ -64897,6 +65125,9 @@ OUI:A49F85* - OUI:A49F89* - ID_OUI_FROM_DATABASE=Shanghai Rui Rui Communication Technology Co.Ltd. - -+OUI:A4A1C2* -+ ID_OUI_FROM_DATABASE=Ericsson AB (EAB) -+ - OUI:A4A24A* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -@@ -65209,6 +65440,9 @@ OUI:A8995C* - OUI:A89B10* - ID_OUI_FROM_DATABASE=inMotion Ltd. - -+OUI:A89DD2* -+ ID_OUI_FROM_DATABASE=Shanghai DareGlobal Technologies Co., Ltd -+ - OUI:A8A668* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -65488,6 +65722,9 @@ OUI:AC8674* - OUI:AC867E* - ID_OUI_FROM_DATABASE=Create New Technology (HK) Limited Company - -+OUI:AC87A3* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:AC8ACD* - ID_OUI_FROM_DATABASE=ROGER D.Wensker, G.Wensker sp.j. - -@@ -65650,6 +65887,9 @@ OUI:ACF7F3* - OUI:ACF97E* - ID_OUI_FROM_DATABASE=ELESYS INC. - -+OUI:ACFDCE* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:ACFDEC* - ID_OUI_FROM_DATABASE=Apple, Inc - -@@ -66496,6 +66736,9 @@ OUI:B8AD3E* - OUI:B8AE6E* - ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. - -+OUI:B8AEED* -+ ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. -+ - OUI:B8AF67* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -66562,6 +66805,9 @@ OUI:B8D06F* - OUI:B8D49D* - ID_OUI_FROM_DATABASE=M Seven System Ltd. - -+OUI:B8D812* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:B8D9CE* - ID_OUI_FROM_DATABASE=Samsung Electronics - -@@ -66658,6 +66904,9 @@ OUI:BC15A6* - OUI:BC1665* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:BC16F5* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:BC1A67* - ID_OUI_FROM_DATABASE=YF Technology Co., Ltd - -@@ -66766,6 +67015,9 @@ OUI:BC6A16* - OUI:BC6A29* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:BC6B4D* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:BC6E76* - ID_OUI_FROM_DATABASE=Green Energy Options Ltd - -@@ -66868,6 +67120,9 @@ OUI:BCC168* - OUI:BCC23A* - ID_OUI_FROM_DATABASE=Thomson Video Networks - -+OUI:BCC342* -+ ID_OUI_FROM_DATABASE=Panasonic System Networks Co., Ltd. -+ - OUI:BCC61A* - ID_OUI_FROM_DATABASE=SPECTRA EMBEDDED SYSTEMS - -@@ -66907,6 +67162,9 @@ OUI:BCE59F* - OUI:BCEA2B* - ID_OUI_FROM_DATABASE=CityCom GmbH - -+OUI:BCEAFA* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:BCEE7B* - ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. - -@@ -66976,6 +67234,9 @@ OUI:C03580* - OUI:C035BD* - ID_OUI_FROM_DATABASE=Velocytech Aps - -+OUI:C03896* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:C038F9* - ID_OUI_FROM_DATABASE=Nokia Danmark A/S - -@@ -67087,6 +67348,9 @@ OUI:C09132* - OUI:C09134* - ID_OUI_FROM_DATABASE=ProCurve Networking by HP - -+OUI:C09879* -+ ID_OUI_FROM_DATABASE=Acer Inc. -+ - OUI:C098E5* - ID_OUI_FROM_DATABASE=University of Michigan - -@@ -67228,6 +67492,9 @@ OUI:C40528* - OUI:C4084A* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -+OUI:C40880* -+ ID_OUI_FROM_DATABASE=Shenzhen UTEPO Tech Co., Ltd. -+ - OUI:C40938* - ID_OUI_FROM_DATABASE=Fujian Star-net Communication Co., Ltd - -@@ -67675,6 +67942,9 @@ OUI:C88439* - OUI:C88447* - ID_OUI_FROM_DATABASE=Beautiful Enterprise Co., Ltd - -+OUI:C88550* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:C8873B* - ID_OUI_FROM_DATABASE=Net Optics - -@@ -67774,6 +68044,9 @@ OUI:C8CBB8* - OUI:C8CD72* - ID_OUI_FROM_DATABASE=SAGEMCOM - -+OUI:C8D019* -+ ID_OUI_FROM_DATABASE=Shanghai Tigercel Communication Technology Co.,Ltd -+ - OUI:C8D10B* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -67960,6 +68233,9 @@ OUI:CC3D82* - OUI:CC3E5F* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:CC3F1D* -+ ID_OUI_FROM_DATABASE=Intesis Software SL -+ - OUI:CC43E3* - ID_OUI_FROM_DATABASE=Trump s.a. - -@@ -68668,6 +68944,9 @@ OUI:D45C70* - OUI:D45D42* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:D46132* -+ ID_OUI_FROM_DATABASE=Pro Concept Manufacturer Co.,Ltd. -+ - OUI:D464F7* - ID_OUI_FROM_DATABASE=CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD - -@@ -68728,6 +69007,9 @@ OUI:D48890* - OUI:D48CB5* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:D48DD9* -+ ID_OUI_FROM_DATABASE=Meld Technology, Inc -+ - OUI:D48F33* - ID_OUI_FROM_DATABASE=Microsoft Corporation - -@@ -68887,6 +69169,9 @@ OUI:D4F0B4* - OUI:D4F143* - ID_OUI_FROM_DATABASE=IPROAD.,Inc - -+OUI:D4F46F* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D4F63F* - ID_OUI_FROM_DATABASE=IEA S.R.L. - -@@ -69058,6 +69343,9 @@ OUI:D87CDD* - OUI:D87EB1* - ID_OUI_FROM_DATABASE=x.o.ware, inc. - -+OUI:D88039* -+ ID_OUI_FROM_DATABASE=Microchip Technology Inc. -+ - OUI:D881CE* - ID_OUI_FROM_DATABASE=AHN INC. - -@@ -69121,6 +69409,9 @@ OUI:D8B12A* - OUI:D8B377* - ID_OUI_FROM_DATABASE=HTC Corporation - -+OUI:D8B6B7* -+ ID_OUI_FROM_DATABASE=Comtrend Corporation -+ - OUI:D8B6C1* - ID_OUI_FROM_DATABASE=NetworkAccountant, Inc. - -@@ -69214,6 +69505,9 @@ OUI:D8EE78* - OUI:D8F0F2* - ID_OUI_FROM_DATABASE=Zeebo Inc - -+OUI:D8FB11* -+ ID_OUI_FROM_DATABASE=AXACORE -+ - OUI:D8FC93* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -69286,6 +69580,9 @@ OUI:DC2C26* - OUI:DC2E6A* - ID_OUI_FROM_DATABASE=HCT. Co., Ltd. - -+OUI:DC2F03* -+ ID_OUI_FROM_DATABASE=Step forward Group Co., Ltd. -+ - OUI:DC309C* - ID_OUI_FROM_DATABASE=Heyrex Limited - -@@ -69418,6 +69715,9 @@ OUI:DCC101* - OUI:DCC422* - ID_OUI_FROM_DATABASE=Systembase Limited - -+OUI:DCC622* -+ ID_OUI_FROM_DATABASE=BUHEUNG SYSTEM -+ - OUI:DCC793* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -69448,6 +69748,9 @@ OUI:DCD52A* - OUI:DCD87F* - ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd - -+OUI:DCDA4F* -+ ID_OUI_FROM_DATABASE=GET Technology,INC -+ - OUI:DCDECA* - ID_OUI_FROM_DATABASE=Akyllor - -@@ -69490,6 +69793,9 @@ OUI:E00B28* - OUI:E00C7F* - ID_OUI_FROM_DATABASE=Nintendo Co., Ltd. - -+OUI:E0107F* -+ ID_OUI_FROM_DATABASE=Ruckus Wireless -+ - OUI:E0143E* - ID_OUI_FROM_DATABASE=Modoosis Inc. - -@@ -69688,6 +69994,9 @@ OUI:E0AF4B* - OUI:E0B2F1* - ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED - -+OUI:E0B52D* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:E0B7B1* - ID_OUI_FROM_DATABASE=Pace plc - -@@ -69829,9 +70138,15 @@ OUI:E41289* - OUI:E41C4B* - ID_OUI_FROM_DATABASE=V2 TECHNOLOGY, INC. - -+OUI:E41D2D* -+ ID_OUI_FROM_DATABASE=Mellanox Technologies, Inc. -+ - OUI:E41F13* - ID_OUI_FROM_DATABASE=IBM Corp - -+OUI:E42354* -+ ID_OUI_FROM_DATABASE=SHENZHEN FUZHI SOFTWARE TECHNOLOGY CO.,LTD -+ - OUI:E425E7* - ID_OUI_FROM_DATABASE=Apple - -@@ -69961,6 +70276,9 @@ OUI:E48AD5* - OUI:E48B7F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:E48C0F* -+ ID_OUI_FROM_DATABASE=Discovery Insure -+ - OUI:E49069* - ID_OUI_FROM_DATABASE=Rockwell Automation - -@@ -70111,6 +70429,9 @@ OUI:E8150E* - OUI:E817FC* - ID_OUI_FROM_DATABASE=NIFTY Corporation - -+OUI:E81863* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:E82877* - ID_OUI_FROM_DATABASE=TMY Co., Ltd. - -@@ -70249,6 +70570,9 @@ OUI:E8944C* - OUI:E894F6* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:E89606* -+ ID_OUI_FROM_DATABASE=testo Instruments (Shenzhen) Co., Ltd. -+ - OUI:E8995A* - ID_OUI_FROM_DATABASE=PiiGAB, Processinformation i Goteborg AB - -@@ -70396,6 +70720,9 @@ OUI:EC0ED6* - OUI:EC1120* - ID_OUI_FROM_DATABASE=FloDesign Wind Turbine Corporation - -+OUI:EC13B2* -+ ID_OUI_FROM_DATABASE=Netonix -+ - OUI:EC14F6* - ID_OUI_FROM_DATABASE=BioControl AS - -@@ -70729,6 +71056,9 @@ OUI:F03A4B* - OUI:F03A55* - ID_OUI_FROM_DATABASE=Omega Elektronik AS - -+OUI:F03D29* -+ ID_OUI_FROM_DATABASE=Actility -+ - OUI:F03FF8* - ID_OUI_FROM_DATABASE=R L Drake - -@@ -70801,6 +71131,9 @@ OUI:F07BCB* - OUI:F07D68* - ID_OUI_FROM_DATABASE=D-Link Corporation - -+OUI:F07F06* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F07F0C* - ID_OUI_FROM_DATABASE=Leopold Kostal GmbH &Co. KG - -@@ -70843,6 +71176,9 @@ OUI:F09CBB* - OUI:F09CE9* - ID_OUI_FROM_DATABASE=Aerohive Networks Inc - -+OUI:F09E63* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F0A764* - ID_OUI_FROM_DATABASE=GST Co., Ltd. - -@@ -71188,6 +71524,9 @@ OUI:F4B72A* - OUI:F4B7E2* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:F4B85E* -+ ID_OUI_FROM_DATABASE=Texas INstruments -+ - OUI:F4BD7C* - ID_OUI_FROM_DATABASE=Chengdu jinshi communication Co., LTD - -@@ -71461,6 +71800,9 @@ OUI:F87B8C* - OUI:F8811A* - ID_OUI_FROM_DATABASE=OVERKIZ - -+OUI:F88479* -+ ID_OUI_FROM_DATABASE=Yaojin Technology(Shenzhen)Co.,Ltd -+ - OUI:F884F2* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -71599,6 +71941,9 @@ OUI:F8E7B5* - OUI:F8E811* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -+OUI:F8E903* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:F8E968* - ID_OUI_FROM_DATABASE=Egker Kft. - -@@ -71782,6 +72127,9 @@ OUI:FC5B24* - OUI:FC5B26* - ID_OUI_FROM_DATABASE=MikroBits - -+OUI:FC5B39* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:FC6018* - ID_OUI_FROM_DATABASE=Zhejiang Kangtai Electric Co., Ltd. - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 77c727d..a6a2754 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -32403,11 +32403,14 @@ pci:v00001131d00007146sv0000153Bsd00001155* - ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-S) - - pci:v00001131d00007146sv0000153Bsd00001156* -- ID_MODEL_FROM_DATABASE=SAA7146 (Terratec Cynergy 1200C) -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C) - - pci:v00001131d00007146sv0000153Bsd00001157* - ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-T) - -+pci:v00001131d00007146sv0000153Bsd00001176* -+ ID_MODEL_FROM_DATABASE=SAA7146 (Cinergy 1200 DVB-C (MK3)) -+ - pci:v00001131d00007146sv00001894sd00000020* - ID_MODEL_FROM_DATABASE=SAA7146 (KNC One DVB-C V1.0) - -@@ -42846,7 +42849,7 @@ pci:v00001425d00005012* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller - - pci:v00001425d00005013* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller - - pci:v00001425d00005014* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller -@@ -42924,7 +42927,7 @@ pci:v00001425d00005412* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller - - pci:v00001425d00005413* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller - - pci:v00001425d00005414* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller -@@ -43002,7 +43005,7 @@ pci:v00001425d00005512* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller - - pci:v00001425d00005513* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller - - pci:v00001425d00005514* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller -@@ -43080,7 +43083,7 @@ pci:v00001425d00005612* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Storage Controller - - pci:v00001425d00005613* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Storage Controller -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Storage Controller - - pci:v00001425d00005614* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Storage Controller -@@ -43236,7 +43239,7 @@ pci:v00001425d00005812* - ID_MODEL_FROM_DATABASE=T560-CR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005813* -- ID_MODEL_FROM_DATABASE=T580-CR Unified Wire Ethernet Controller [VF] -+ ID_MODEL_FROM_DATABASE=T580-CHR Unified Wire Ethernet Controller [VF] - - pci:v00001425d00005814* - ID_MODEL_FROM_DATABASE=T580-LP-SO-CR Unified Wire Ethernet Controller [VF] -@@ -45887,6 +45890,9 @@ pci:v000014E4d00004359sv00001028sd00000011* - pci:v000014E4d00004359sv0000103Csd0000182C* - ID_MODEL_FROM_DATABASE=BCM43228 802.11a/b/g/n (BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter) - -+pci:v000014E4d00004360* -+ ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter -+ - pci:v000014E4d00004365* - ID_MODEL_FROM_DATABASE=BCM43142 802.11b/g/n - -@@ -45896,6 +45902,9 @@ pci:v000014E4d00004365sv00001028sd00000016* - pci:v000014E4d000043A0* - ID_MODEL_FROM_DATABASE=BCM4360 802.11ac Wireless Network Adapter - -+pci:v000014E4d000043A9* -+ ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n -+ - pci:v000014E4d000043B1* - ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter - -@@ -47886,7 +47895,10 @@ pci:v000015ADd00000774* - ID_MODEL_FROM_DATABASE=USB1.1 UHCI Controller - - pci:v000015ADd00000778* -- ID_MODEL_FROM_DATABASE=USB3 xHCI Controller -+ ID_MODEL_FROM_DATABASE=USB3 xHCI 0.96 Controller -+ -+pci:v000015ADd00000779* -+ ID_MODEL_FROM_DATABASE=USB3 xHCI 1.0 Controller - - pci:v000015ADd00000790* - ID_MODEL_FROM_DATABASE=PCI bridge -@@ -52490,6 +52502,9 @@ pci:v00001A29* - pci:v00001A29d00004338* - ID_MODEL_FROM_DATABASE=CP8 Content Processor ASIC - -+pci:v00001A29d00004E36* -+ ID_MODEL_FROM_DATABASE=NP6 Network Processor -+ - pci:v00001A2B* - ID_VENDOR_FROM_DATABASE=Ascom AG - -@@ -73781,6 +73796,9 @@ pci:v0000D161d00001405* - pci:v0000D161d00001420* - ID_MODEL_FROM_DATABASE=Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen) - -+pci:v0000D161d00001820* -+ ID_MODEL_FROM_DATABASE=Wildcard TE820 octal-span T1/E1/J1 card 3.3V (PCI-Express) -+ - pci:v0000D161d00002400* - ID_MODEL_FROM_DATABASE=Wildcard TDM2400P 24-port analog card - -@@ -73820,6 +73838,9 @@ pci:v0000D161d0000800A* - pci:v0000D161d0000800B* - ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card - -+pci:v0000D161d0000800E* -+ ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) -+ - pci:v0000D161d0000B410* - ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card - -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index 89cd5b1..ed6b2b1 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -524,6 +524,9 @@ usb:v03F0p0317* - usb:v03F0p0324* - ID_MODEL_FROM_DATABASE=SK-2885 keyboard - -+usb:v03F0p034A* -+ ID_MODEL_FROM_DATABASE=Elite Keyboard -+ - usb:v03F0p0401* - ID_MODEL_FROM_DATABASE=ScanJet 5200c - -@@ -767,6 +770,9 @@ usb:v03F0p1317* - usb:v03F0p1327* - ID_MODEL_FROM_DATABASE=iLO Virtual Hub - -+usb:v03F0p134A* -+ ID_MODEL_FROM_DATABASE=Optical Mouse -+ - usb:v03F0p1405* - ID_MODEL_FROM_DATABASE=ScanJet 3670 - -@@ -2336,6 +2342,12 @@ usb:v0403pEF10* - usb:v0403pF070* - ID_MODEL_FROM_DATABASE=Serial Converter 422/485 [Vardaan VEUSB422R3] - -+usb:v0403pF0C8* -+ ID_MODEL_FROM_DATABASE=SPROG Decoder Programmer -+ -+usb:v0403pF0C9* -+ ID_MODEL_FROM_DATABASE=SPROG-DCC CAN-USB -+ - usb:v0403pF0E9* - ID_MODEL_FROM_DATABASE=Tagsys L-P101 - -@@ -2642,6 +2654,9 @@ usb:v0409p02B4* - usb:v0409p02B6* - ID_MODEL_FROM_DATABASE=Aterm WL300NU-GS 802.11n Wireless Adapter - -+usb:v0409p02BC* -+ ID_MODEL_FROM_DATABASE=Computer Monitor -+ - usb:v0409p0300* - ID_MODEL_FROM_DATABASE=LifeTouch Note - -@@ -5348,6 +5363,9 @@ usb:v0452p0050* - usb:v0452p0051* - ID_MODEL_FROM_DATABASE=Integrated Hub - -+usb:v0452p0100* -+ ID_MODEL_FROM_DATABASE=Control Panel for Leica TCS SP5 -+ - usb:v0453* - ID_VENDOR_FROM_DATABASE=CMD Technology - -@@ -8759,6 +8777,9 @@ usb:v0480pA009* - usb:v0480pA00D* - ID_MODEL_FROM_DATABASE=STOR.E BASICS 500GB - -+usb:v0480pB001* -+ ID_MODEL_FROM_DATABASE=Stor.E Partner -+ - usb:v0480pD010* - ID_MODEL_FROM_DATABASE=External Disk 3TB - -@@ -13100,9 +13121,15 @@ usb:v04D8p900A* - usb:v04D8pC001* - ID_MODEL_FROM_DATABASE=PicoLCD 20x4 - -+usb:v04D8pF4B5* -+ ID_MODEL_FROM_DATABASE=SmartScope -+ - usb:v04D8pF8DA* - ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug - -+usb:v04D8pF91C* -+ ID_MODEL_FROM_DATABASE=SPROG IIv3 -+ - usb:v04D8pFAFF* - ID_MODEL_FROM_DATABASE=Dangerous Prototypes BusPirate v4 Bootloader mode - -@@ -13118,6 +13145,9 @@ usb:v04D8pFBBA* - usb:v04D8pFBBB* - ID_MODEL_FROM_DATABASE=DiscFerret Magnetic Disc Analyser (active mode) - -+usb:v04D8pFC1E* -+ ID_MODEL_FROM_DATABASE=Bachrus Speedometer Interface -+ - usb:v04D8pFC92* - ID_MODEL_FROM_DATABASE=Open Bench Logic Sniffer - -@@ -14432,6 +14462,9 @@ usb:v04F2p0403* - usb:v04F2p0418* - ID_MODEL_FROM_DATABASE=KU-0418 Tactical Pad - -+usb:v04F2p0618* -+ ID_MODEL_FROM_DATABASE=RG-0618U Wireless HID Receiver & KG-0609 Wireless Keyboard with Touchpad -+ - usb:v04F2p0760* - ID_MODEL_FROM_DATABASE=Acer KU-0760 Keyboard - -@@ -15336,7 +15369,7 @@ usb:v04FCp0171* - ID_MODEL_FROM_DATABASE=SPCA1527A/SPCA1528 SD card camera (Mass Storage mode) - - usb:v04FCp0201* -- ID_MODEL_FROM_DATABASE=RS232C Adapter -+ ID_MODEL_FROM_DATABASE=SPCP825 RS232C Adapter - - usb:v04FCp0232* - ID_MODEL_FROM_DATABASE=Fingerprint -@@ -29036,6 +29069,9 @@ usb:v08E3p0301* - usb:v08E4* - ID_VENDOR_FROM_DATABASE=Pioneer Corp. - -+usb:v08E4p0185* -+ ID_MODEL_FROM_DATABASE=DDJ-WeGO2 -+ - usb:v08E5* - ID_VENDOR_FROM_DATABASE=Litronic - -@@ -33080,6 +33116,9 @@ usb:v0B48p300D* - usb:v0B48p300E* - ID_MODEL_FROM_DATABASE=TT-connect C-2400 - -+usb:v0B48p3014* -+ ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 -+ - usb:v0B49* - ID_VENDOR_FROM_DATABASE=ASCII Corp. - -@@ -34086,7 +34125,7 @@ usb:v0BC2p3101* - ID_MODEL_FROM_DATABASE=FreeAgent XTreme 640GB - - usb:v0BC2p3312* -- ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive 2TB] -+ ID_MODEL_FROM_DATABASE=SRD00F2 Expansion Desktop Drive (STBV) - - usb:v0BC2p3320* - ID_MODEL_FROM_DATABASE=SRD00F2 [Expansion Desktop Drive] -@@ -34109,6 +34148,9 @@ usb:v0BC2p5031* - usb:v0BC2p5070* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk - -+usb:v0BC2p5071* -+ ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk -+ - usb:v0BC2p50A1* - ID_MODEL_FROM_DATABASE=FreeAgent GoFlex Desk - -@@ -34133,6 +34175,9 @@ usb:v0BC2pA0A4* - usb:v0BC2pAB00* - ID_MODEL_FROM_DATABASE=Slim Portable Drive - -+usb:v0BC2pAB20* -+ ID_MODEL_FROM_DATABASE=Backup Plus Portable Drive -+ - usb:v0BC3* - ID_VENDOR_FROM_DATABASE=IPWireless, Inc. - -@@ -34301,6 +34346,9 @@ usb:v0BDAp0176* - usb:v0BDAp0178* - ID_MODEL_FROM_DATABASE=Mass Storage Device - -+usb:v0BDAp0179* -+ ID_MODEL_FROM_DATABASE=RTL8188ETV Wireless LAN 802.11n Network Adapter -+ - usb:v0BDAp0184* - ID_MODEL_FROM_DATABASE=RTS5182 Card Reader - -@@ -34322,6 +34370,9 @@ usb:v0BDAp2832* - usb:v0BDAp2838* - ID_MODEL_FROM_DATABASE=RTL2838 DVB-T - -+usb:v0BDAp5730* -+ ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam -+ - usb:v0BDAp8150* - ID_MODEL_FROM_DATABASE=RTL8150 Fast Ethernet Adapter - -@@ -36012,11 +36063,53 @@ usb:v0CE5p0003* - ID_MODEL_FROM_DATABASE=Matrix - - usb:v0CE9* -- ID_VENDOR_FROM_DATABASE=pico Technology -+ ID_VENDOR_FROM_DATABASE=Pico Technology - - usb:v0CE9p1001* - ID_MODEL_FROM_DATABASE=PicoScope3000 series PC Oscilloscope - -+usb:v0CE9p1007* -+ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope -+ -+usb:v0CE9p1008* -+ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope -+ -+usb:v0CE9p1009* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope -+ -+usb:v0CE9p100E* -+ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope -+ -+usb:v0CE9p1012* -+ ID_MODEL_FROM_DATABASE=PicoScope 3000A series PC Oscilloscope -+ -+usb:v0CE9p1016* -+ ID_MODEL_FROM_DATABASE=PicoScope 2000A series PC Oscilloscope -+ -+usb:v0CE9p1018* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000A series PC Oscilloscope -+ -+usb:v0CE9p1200* -+ ID_MODEL_FROM_DATABASE=PicoScope 2000 series PC Oscilloscope -+ -+usb:v0CE9p1201* -+ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope -+ -+usb:v0CE9p1202* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope -+ -+usb:v0CE9p1203* -+ ID_MODEL_FROM_DATABASE=PicoScope 5000 series PC Oscilloscope -+ -+usb:v0CE9p1204* -+ ID_MODEL_FROM_DATABASE=PicoScope 6000 series PC Oscilloscope -+ -+usb:v0CE9p1211* -+ ID_MODEL_FROM_DATABASE=PicoScope 3000 series PC Oscilloscope -+ -+usb:v0CE9p1212* -+ ID_MODEL_FROM_DATABASE=PicoScope 4000 series PC Oscilloscope -+ - usb:v0CF1* - ID_VENDOR_FROM_DATABASE=e-Conn Electronic Co., Ltd - -@@ -36998,6 +37091,9 @@ usb:v0DB0p1020* - usb:v0DB0p1967* - ID_MODEL_FROM_DATABASE=Bluetooth Dongle - -+usb:v0DB0p3713* -+ ID_MODEL_FROM_DATABASE=Primo 73 -+ - usb:v0DB0p3801* - ID_MODEL_FROM_DATABASE=Motorola Bluetooth 2.1+EDR Device - -@@ -37112,6 +37208,9 @@ usb:v0DB7p0002* - usb:v0DBA* - ID_VENDOR_FROM_DATABASE=Digidesign - -+usb:v0DBAp1000* -+ ID_MODEL_FROM_DATABASE=Mbox 1 [Mbox] -+ - usb:v0DBAp3000* - ID_MODEL_FROM_DATABASE=Mbox 2 - -@@ -37913,6 +38012,12 @@ usb:v0E6A* - usb:v0E6Ap0101* - ID_MODEL_FROM_DATABASE=MA100 [USB-UART Bridge IC] - -+usb:v0E6Ap030B* -+ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard (Device Firmware Update mode) -+ -+usb:v0E6Ap030C* -+ ID_MODEL_FROM_DATABASE=Truly Ergonomic Computer Keyboard -+ - usb:v0E6Ap6001* - ID_MODEL_FROM_DATABASE=GEMBIRD Flexible keyboard KB-109F-B-DE - -@@ -39548,6 +39653,12 @@ usb:v1039p0824* - usb:v1039p2140* - ID_MODEL_FROM_DATABASE=dsl+ 1100 duo - -+usb:v103A* -+ ID_VENDOR_FROM_DATABASE=PSA -+ -+usb:v103ApF000* -+ ID_MODEL_FROM_DATABASE=Actia Evo XS -+ - usb:v103D* - ID_VENDOR_FROM_DATABASE=Stanton - -@@ -39692,6 +39803,9 @@ usb:v1050p0110* - usb:v1050p0111* - ID_MODEL_FROM_DATABASE=Yubikey NEO OTP+CCID - -+usb:v1050p0200* -+ ID_MODEL_FROM_DATABASE=U2F Gnubby -+ - usb:v1050p0211* - ID_MODEL_FROM_DATABASE=Gnubby - -@@ -39735,16 +39849,25 @@ usb:v1058p0704* - ID_MODEL_FROM_DATABASE=Passport External HDD - - usb:v1058p070A* -- ID_MODEL_FROM_DATABASE=My Passport Essential SE, My Passport for Mac (WDBAAB) -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA), My Passport for Mac (WDBAAB), My Passport Essential SE (WDBABM), My Passport SE for Mac (WDBABW) -+ -+usb:v1058p070B* -+ ID_MODEL_FROM_DATABASE=My Passport Elite (WDBAAC) -+ -+usb:v1058p070C* -+ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBAAE) - - usb:v1058p071A* -- ID_MODEL_FROM_DATABASE=My Passport -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBAAA) -+ -+usb:v1058p071D* -+ ID_MODEL_FROM_DATABASE=My Passport Studio (WDBALG) - - usb:v1058p0730* - ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) - - usb:v1058p0740* -- ID_MODEL_FROM_DATABASE=My Passport -+ ID_MODEL_FROM_DATABASE=My Passport Essential (WDBACY) - - usb:v1058p0741* - ID_MODEL_FROM_DATABASE=My Passport Ultra -@@ -39756,22 +39879,22 @@ usb:v1058p0748* - ID_MODEL_FROM_DATABASE=My Passport (WDBKXH) - - usb:v1058p0810* -- ID_MODEL_FROM_DATABASE=My Passport Ultra -+ ID_MODEL_FROM_DATABASE=My Passport Ultra (WDBZFP) - - usb:v1058p0900* - ID_MODEL_FROM_DATABASE=MyBook Essential External HDD - - usb:v1058p0901* -- ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) - - usb:v1058p0902* -- ID_MODEL_FROM_DATABASE=My Book Pro Edition -+ ID_MODEL_FROM_DATABASE=My Book Pro Edition (WDG1T) - - usb:v1058p0903* - ID_MODEL_FROM_DATABASE=My Book Premium Edition - - usb:v1058p0910* -- ID_MODEL_FROM_DATABASE=MyBook Essential External HDD -+ ID_MODEL_FROM_DATABASE=My Book Essential Edition (Green Ring) (WDG1U) - - usb:v1058p1001* - ID_MODEL_FROM_DATABASE=Elements Desktop (WDE1U) -@@ -39786,7 +39909,7 @@ usb:v1058p1021* - ID_MODEL_FROM_DATABASE=Elements Desktop (WDBAAU) - - usb:v1058p1023* -- ID_MODEL_FROM_DATABASE=Elements SE -+ ID_MODEL_FROM_DATABASE=Elements SE Portable (WDBABV) - - usb:v1058p1048* - ID_MODEL_FROM_DATABASE=Elements Portable (WDBU6Y) -@@ -39809,11 +39932,23 @@ usb:v1058p1104* - usb:v1058p1105* - ID_MODEL_FROM_DATABASE=My Book Studio II - -+usb:v1058p1110* -+ ID_MODEL_FROM_DATABASE=My Book Essential (WDBAAF), My Book for Mac (WDBAAG) -+ -+usb:v1058p1111* -+ ID_MODEL_FROM_DATABASE=My Book Elite (WDBAAH) -+ -+usb:v1058p1112* -+ ID_MODEL_FROM_DATABASE=My Book Studio (WDBAAJ), My Book Studio LX (WDBACH) -+ - usb:v1058p1123* -- ID_MODEL_FROM_DATABASE=My Book 3.0 -+ ID_MODEL_FROM_DATABASE=My Book 3.0 (WDBABP) -+ -+usb:v1058p1130* -+ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) - - usb:v1058p1140* -- ID_MODEL_FROM_DATABASE=My Book Essential USB3.0 -+ ID_MODEL_FROM_DATABASE=My Book Essential (WDBACW) - - usb:v1059* - ID_VENDOR_FROM_DATABASE=Giesecke & Devrient GmbH -@@ -42098,6 +42233,12 @@ usb:v132Bp2045* - usb:v132Bp2049* - ID_MODEL_FROM_DATABASE=Magicolor 2490MF - -+usb:v133E* -+ ID_VENDOR_FROM_DATABASE=Kemper Digital GmbH -+ -+usb:v133Ep0815* -+ ID_MODEL_FROM_DATABASE=Virus TI Desktop -+ - usb:v1342* - ID_VENDOR_FROM_DATABASE=Mobility - -@@ -42203,6 +42344,9 @@ usb:v134E* - usb:v1357* - ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems - -+usb:v1357p0089* -+ ID_MODEL_FROM_DATABASE=OpenSDA - CDC Serial Port -+ - usb:v1357p0503* - ID_MODEL_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink - -@@ -42213,7 +42357,7 @@ usb:v1366* - ID_VENDOR_FROM_DATABASE=SEGGER - - usb:v1366p0101* -- ID_MODEL_FROM_DATABASE=J-Link ARM -+ ID_MODEL_FROM_DATABASE=J-Link PLUS - - usb:v136B* - ID_VENDOR_FROM_DATABASE=STEC -@@ -42311,6 +42455,9 @@ usb:v138Ap003C* - usb:v138Ap003D* - ID_MODEL_FROM_DATABASE=VFS491 - -+usb:v138Ap003F* -+ ID_MODEL_FROM_DATABASE=VFS495 Fingerprint Reader -+ - usb:v138Ap0050* - ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor - -@@ -42647,6 +42794,9 @@ usb:v13D3p5122* - usb:v13D3p5126* - ID_MODEL_FROM_DATABASE=PC Cam - -+usb:v13D3p5130* -+ ID_MODEL_FROM_DATABASE=Integrated Webcam -+ - usb:v13D3p5702* - ID_MODEL_FROM_DATABASE=UVC VGA Webcam - -@@ -43232,6 +43382,9 @@ usb:v1493p0019* - usb:v1493p001A* - ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S] - -+usb:v1493p001D* -+ ID_MODEL_FROM_DATABASE=Greentit [Ambit2 R] -+ - usb:v1497* - ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd. - -@@ -49640,12 +49793,39 @@ usb:v2478* - usb:v2478p2008* - ID_MODEL_FROM_DATABASE=U209-000-R Serial Port - -+usb:v249C* -+ ID_VENDOR_FROM_DATABASE=M2Tech s.r.l. -+ - usb:v2632* - ID_VENDOR_FROM_DATABASE=TwinMOS - - usb:v2632p3209* - ID_MODEL_FROM_DATABASE=7-in-1 Card Reader - -+usb:v2639* -+ ID_VENDOR_FROM_DATABASE=Xsens -+ -+usb:v2639p0001* -+ ID_MODEL_FROM_DATABASE=MTi-10 IMU -+ -+usb:v2639p0002* -+ ID_MODEL_FROM_DATABASE=MTi-20 VRU -+ -+usb:v2639p0003* -+ ID_MODEL_FROM_DATABASE=MTi-30 AHRS -+ -+usb:v2639p0011* -+ ID_MODEL_FROM_DATABASE=MTi-100 IMU -+ -+usb:v2639p0012* -+ ID_MODEL_FROM_DATABASE=MTi-200 VRU -+ -+usb:v2639p0013* -+ ID_MODEL_FROM_DATABASE=MTi-300 AHRS -+ -+usb:v2639p0017* -+ ID_MODEL_FROM_DATABASE=MTi-G-700 GPS INS -+ - usb:v2650* - ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex] - --- -1.7.9.2 - diff --git a/0007-journal-forget-file-after-encountering-an-error.patch b/0007-journal-forget-file-after-encountering-an-error.patch deleted file mode 100644 index e195e6bf..00000000 --- a/0007-journal-forget-file-after-encountering-an-error.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a9a245c128af6c0418085062c60251bc51fa4a94 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 27 Feb 2014 00:11:54 -0500 -Subject: [PATCH] journal: forget file after encountering an error - -If we encounter an inconsistency in a file, let's just -ignore it. Otherwise, after previous patch, we would try, -and fail, to use this file in every invocation of sd_journal_next -or sd_journal_previous that happens afterwards. ---- - src/journal/sd-journal.c | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -diff --git src/journal/sd-journal.c src/journal/sd-journal.c -index ef455e9..b54bc21 100644 ---- src/journal/sd-journal.c -+++ src/journal/sd-journal.c -@@ -51,6 +51,8 @@ - - #define DEFAULT_DATA_THRESHOLD (64*1024) - -+static void remove_file_real(sd_journal *j, JournalFile *f); -+ - static bool journal_pid_changed(sd_journal *j) { - assert(j); - -@@ -885,6 +887,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { - r = next_beyond_location(j, f, direction, &o, &p); - if (r < 0) { - log_debug("Can't iterate through %s, ignoring: %s", f->path, strerror(-r)); -+ remove_file_real(j, f); - continue; - } else if (r == 0) - continue; -@@ -1339,7 +1342,7 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) { - } - - static int remove_file(sd_journal *j, const char *prefix, const char *filename) { -- char *path; -+ _cleanup_free_ char *path; - JournalFile *f; - - assert(j); -@@ -1351,10 +1354,17 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) - return -ENOMEM; - - f = hashmap_get(j->files, path); -- free(path); - if (!f) - return 0; - -+ remove_file_real(j, f); -+ return 0; -+} -+ -+static void remove_file_real(sd_journal *j, JournalFile *f) { -+ assert(j); -+ assert(f); -+ - hashmap_remove(j->files, f->path); - - log_debug("File %s removed.", f->path); -@@ -1372,8 +1382,6 @@ static int remove_file(sd_journal *j, const char *prefix, const char *filename) - journal_file_close(f); - - j->current_invalidate_counter ++; -- -- return 0; - } - - static int add_directory(sd_journal *j, const char *prefix, const char *dirname) { --- -1.7.9.2 - diff --git a/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch b/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch deleted file mode 100644 index f2409242..00000000 --- a/0007-journald-also-check-journal-file-size-to-deduce-if-i.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 332076b45b8a78f018ade2dfdc7e4279a56d49cc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Nov 2014 23:10:21 +0100 -Subject: [PATCH] journald: also check journal file size to deduce if it is - empty - ---- - src/journal/journal-vacuum.c | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c -index dbf5d22..d141fe0 100644 ---- src/journal/journal-vacuum.c -+++ src/journal/journal-vacuum.c -@@ -121,22 +121,30 @@ static void patch_realtime( - } - - static int journal_file_empty(int dir_fd, const char *name) { -- int r; -- le64_t n_entries; - _cleanup_close_ int fd; -+ struct stat st; -+ le64_t n_entries; -+ ssize_t n; - - fd = openat(dir_fd, name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd < 0) - return -errno; - -- if (lseek(fd, offsetof(Header, n_entries), SEEK_SET) < 0) -+ if (fstat(fd, &st) < 0) - return -errno; - -- r = read(fd, &n_entries, sizeof(n_entries)); -- if (r != sizeof(n_entries)) -- return r == 0 ? -EINVAL : -errno; -+ /* If an offline file doesn't even have a header we consider it empty */ -+ if (st.st_size < (off_t) sizeof(Header)) -+ return 1; -+ -+ /* If the number of entries is empty, we consider it empty, too */ -+ n = pread(fd, &n_entries, sizeof(n_entries), offsetof(Header, n_entries)); -+ if (n < 0) -+ return -errno; -+ if (n != sizeof(n_entries)) -+ return -EIO; - -- return le64toh(n_entries) == 0; -+ return le64toh(n_entries) <= 0; - } - - int journal_directory_vacuum( --- -1.7.9.2 - diff --git a/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch b/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch deleted file mode 100644 index 54b97960..00000000 --- a/0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on 5e8b767df6e18444d5aff2987b5e5603361ed528 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 13 Aug 2014 18:53:05 +0200 -Subject: [PATCH] journald: also increase the SendBuffer of /dev/log to 8M - -http://lists.freedesktop.org/archives/systemd-devel/2014-August/021825.html ---- - units/systemd-journald.socket | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- units/systemd-journald.socket -+++ units/systemd-journald.socket 2014-08-22 14:31:11.022236471 +0000 -@@ -23,4 +23,10 @@ ListenDatagram=/dev/log - SocketMode=0666 - PassCredentials=yes - PassSecurity=yes -+ -+# Increase both the send and receive buffer, so that things don't -+# block early. Note that journald internally uses the this socket both -+# for receiving syslog messages, and for forwarding them to any other -+# syslog, hence we bump both values. - ReceiveBuffer=8M -+SendBuffer=8M diff --git a/0007-keyboard-add-Plantronics-.Audio-mute-button.patch b/0007-keyboard-add-Plantronics-.Audio-mute-button.patch deleted file mode 100644 index 53c701bd..00000000 --- a/0007-keyboard-add-Plantronics-.Audio-mute-button.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9e3dbf6b2b99d0e16989d9cedb458729db5a60c3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 1 Jun 2014 14:01:23 -0400 -Subject: [PATCH] keyboard: add Plantronics .Audio mute button - -https://bugs.freedesktop.org/show_bug.cgi?id=79495 ---- - hwdb/60-keyboard.hwdb | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb -index 05e6a04..d053766 100644 ---- hwdb/60-keyboard.hwdb -+++ hwdb/60-keyboard.hwdb -@@ -866,6 +866,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* - KEYBOARD_KEY_f3=volumeup - - ########################################################### -+# Plantronics -+########################################################### -+ -+# Plantronics .Audio 626 DSP -+keyboard:usb:v047fpC006* -+ KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute -+ -+########################################################### - # Quanta - ########################################################### - --- -1.7.9.2 - diff --git a/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch b/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch deleted file mode 100644 index 15857575..00000000 --- a/0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9dedfe7f667a8cb22ba85d0223556c69c4fd0e9a Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 09:20:46 +0200 -Subject: [PATCH] libudev: monitor - warn if we fail to request SO_PASSCRED - -The function still succeeds, so there is no functional change. This fixes CID #996288. ---- - src/libudev/libudev-monitor.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c -index 186e5e1..59698b8 100644 ---- src/libudev/libudev-monitor.c -+++ src/libudev/libudev-monitor.c -@@ -412,7 +412,10 @@ _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor) - } - - /* enable receiving of sender credentials */ -- setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ if (err < 0) -+ udev_err(udev_monitor->udev, "setting SO_PASSCRED failed: %m\n"); -+ - return 0; - } - --- -1.7.9.2 - diff --git a/0007-logind-fix-Display-property-of-user-objects.patch b/0007-logind-fix-Display-property-of-user-objects.patch deleted file mode 100644 index 8fbbbeac..00000000 --- a/0007-logind-fix-Display-property-of-user-objects.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 952d32609f9bceee444fa2690afb4d28539b4b92 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 19 May 2014 09:03:20 +0900 -Subject: [PATCH] logind: fix Display property of user objects - -When we dropped support for creating a per-user to the "main" X11 -display we stopped returning useful data in the "Display" user property. -With this change this is fixed and we again expose an appropriate -(graphical session) in the property that is useful as the "main" one, if -one is needed. ---- - src/login/logind-session.c | 8 ++++++-- - src/login/logind-session.h | 2 ++ - src/login/logind-user-dbus.c | 2 +- - src/login/logind-user.c | 37 +++++++++++++++++++++++++++++++++++++ - src/login/logind-user.h | 1 + - 5 files changed, 47 insertions(+), 3 deletions(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 4fb229e..9a54101 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -545,6 +545,8 @@ int session_start(Session *s) { - - s->started = true; - -+ user_elect_display(s->user); -+ - /* Save data */ - session_save(s); - user_save(s->user); -@@ -553,7 +555,7 @@ int session_start(Session *s) { - - /* Send signals */ - session_send_signal(s, true); -- user_send_changed(s->user, "Sessions", NULL); -+ user_send_changed(s->user, "Sessions", "Display", NULL); - if (s->seat) { - if (s->seat->active == s) - seat_send_changed(s->seat, "Sessions", "ActiveSession", NULL); -@@ -612,6 +614,8 @@ int session_stop(Session *s, bool force) { - - s->stopping = true; - -+ user_elect_display(s->user); -+ - session_save(s); - user_save(s->user); - -@@ -660,7 +664,7 @@ int session_finalize(Session *s) { - } - - user_save(s->user); -- user_send_changed(s->user, "Sessions", NULL); -+ user_send_changed(s->user, "Sessions", "Display", NULL); - - return r; - } -diff --git src/login/logind-session.h src/login/logind-session.h -index f78f309..81957df 100644 ---- src/login/logind-session.h -+++ src/login/logind-session.h -@@ -60,6 +60,8 @@ typedef enum SessionType { - _SESSION_TYPE_INVALID = -1 - } SessionType; - -+#define SESSION_TYPE_IS_GRAPHICAL(type) IN_SET(type, SESSION_X11, SESSION_WAYLAND, SESSION_MIR) -+ - enum KillWho { - KILL_LEADER, - KILL_ALL, -diff --git src/login/logind-user-dbus.c src/login/logind-user-dbus.c -index 6266ccb..51793f6 100644 ---- src/login/logind-user-dbus.c -+++ src/login/logind-user-dbus.c -@@ -220,7 +220,7 @@ const sd_bus_vtable user_vtable[] = { - SD_BUS_PROPERTY("RuntimePath", "s", NULL, offsetof(User, runtime_path), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("Service", "s", NULL, offsetof(User, service), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("Slice", "s", NULL, offsetof(User, slice), SD_BUS_VTABLE_PROPERTY_CONST), -- SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_CONST), -+ SD_BUS_PROPERTY("Display", "(so)", property_get_display, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("State", "s", property_get_state, 0, 0), - SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), - SD_BUS_PROPERTY("IdleHint", "b", property_get_idle_hint, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), -diff --git src/login/logind-user.c src/login/logind-user.c -index 5fffa65..fdbccb3 100644 ---- src/login/logind-user.c -+++ src/login/logind-user.c -@@ -713,6 +713,43 @@ int user_kill(User *u, int signo) { - return manager_kill_unit(u->manager, u->slice, KILL_ALL, signo, NULL); - } - -+void user_elect_display(User *u) { -+ Session *graphical = NULL, *text = NULL, *s; -+ -+ assert(u); -+ -+ /* This elects a primary session for each user, which we call -+ * the "display". We try to keep the assignment stable, but we -+ * "upgrade" to better choices. */ -+ -+ LIST_FOREACH(sessions_by_user, s, u->sessions) { -+ -+ if (s->class != SESSION_USER) -+ continue; -+ -+ if (s->stopping) -+ continue; -+ -+ if (SESSION_TYPE_IS_GRAPHICAL(s->type)) -+ graphical = s; -+ else -+ text = s; -+ } -+ -+ if (graphical && -+ (!u->display || -+ u->display->class != SESSION_USER || -+ u->display->stopping || -+ !SESSION_TYPE_IS_GRAPHICAL(u->display->type))) -+ u->display = graphical; -+ -+ if (text && -+ (!u->display || -+ u->display->class != SESSION_USER || -+ u->display->stopping)) -+ u->display = text; -+} -+ - static const char* const user_state_table[_USER_STATE_MAX] = { - [USER_OFFLINE] = "offline", - [USER_OPENING] = "opening", -diff --git src/login/logind-user.h src/login/logind-user.h -index f237d2a..4e0568f 100644 ---- src/login/logind-user.h -+++ src/login/logind-user.h -@@ -80,6 +80,7 @@ int user_save(User *u); - int user_load(User *u); - int user_kill(User *u, int signo); - int user_check_linger_file(User *u); -+void user_elect_display(User *u); - - extern const sd_bus_vtable user_vtable[]; - int user_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error); --- -1.7.9.2 - diff --git a/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch b/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch deleted file mode 100644 index ee54ea31..00000000 --- a/0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 332bc31992acffc6f32e194c0122e01607bd0e27 Mon Sep 17 00:00:00 2001 -From: Alison Chaiken -Date: Fri, 16 May 2014 09:25:53 +0200 -Subject: [PATCH] man: readahead: fix cmdline switch inconsistency between - readahead.c and docs - -Source code has "files-max" and XML has --max-files. ---- - man/systemd-readahead-replay.service.xml | 2 +- - src/readahead/readahead.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd-readahead-replay.service.xml man/systemd-readahead-replay.service.xml -index 67b41f5..669fe78 100644 ---- man/systemd-readahead-replay.service.xml -+++ man/systemd-readahead-replay.service.xml -@@ -117,7 +117,7 @@ - - - -- -+ - - Maximum number of - files to read ahead. Only valid -diff --git src/readahead/readahead.c src/readahead/readahead.c -index d6729ec..73cf538 100644 ---- src/readahead/readahead.c -+++ src/readahead/readahead.c -@@ -42,7 +42,7 @@ static int help(void) { - "Collect read-ahead data on early boot.\n\n" - " -h --help Show this help\n" - " --version Show package version\n" -- " --max-files=INT Maximum number of files to read ahead\n" -+ " --files-max=INT Maximum number of files to read ahead\n" - " --file-size-max=BYTES Maximum size of files to read ahead\n" - " --timeout=USEC Maximum time to spend collecting data\n\n\n", - program_invocation_short_name); --- -1.7.9.2 - diff --git a/0007-networkd-fix-typo.patch b/0007-networkd-fix-typo.patch deleted file mode 100644 index 8bd67322..00000000 --- a/0007-networkd-fix-typo.patch +++ /dev/null @@ -1,26 +0,0 @@ -From eed0eee85ac34abd81cd9e81fdb6a19f47b6c8a3 Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Fri, 14 Mar 2014 18:19:29 +0100 -Subject: [PATCH] networkd: fix typo - -It's HAVE_SPLIT_USR not HAVE_SPLIT_USER ---- - src/network/networkd-manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/network/networkd-manager.c src/network/networkd-manager.c -index c730e71..ea414b1 100644 ---- src/network/networkd-manager.c -+++ src/network/networkd-manager.c -@@ -33,7 +33,7 @@ const char* const network_dirs[] = { - "/etc/systemd/network", - "/run/systemd/network", - "/usr/lib/systemd/network", --#ifdef HAVE_SPLIT_USER -+#ifdef HAVE_SPLIT_USR - "/lib/systemd/network", - #endif - NULL}; --- -1.7.9.2 - diff --git a/0007-po-add-German-translation.patch b/0007-po-add-German-translation.patch deleted file mode 100644 index d653c8ff..00000000 --- a/0007-po-add-German-translation.patch +++ /dev/null @@ -1,448 +0,0 @@ -From 351e57652a7d9a51f9064c089794d13801eaee73 Mon Sep 17 00:00:00 2001 -From: Benjamin Steinwender -Date: Sun, 8 Jun 2014 18:39:50 +0200 -Subject: [PATCH] po: add German translation - -https://bugs.freedesktop.org/show_bug.cgi?id=79430 ---- - po/LINGUAS | 1 + - po/de.po | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 419 insertions(+) - create mode 100644 po/de.po - -diff --git po/LINGUAS po/LINGUAS -index 820ca82..2cb0f30 100644 ---- po/LINGUAS -+++ po/LINGUAS -@@ -1,3 +1,4 @@ -+de - el - fr - it -diff --git po/de.po po/de.po -new file mode 100644 -index 0000000..a41e33d ---- /dev/null -+++ po/de.po -@@ -0,0 +1,418 @@ -+# German translation for systemd. -+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER -+# This file is distributed under the same license as the systemd package. -+# Christian Kirbach , 2014. -+# Benjamin Steinwender , 2014. -+# -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd master\n" -+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?" -+"product=systemd&keywords=I18N+L10N&component=general\n" -+"POT-Creation-Date: 2014-06-02 10:25+0000\n" -+"PO-Revision-Date: 2014-06-02 22:43+0100\n" -+"Last-Translator: Benjamin Steinwender \n" -+"Language-Team: German \n" -+"Language: de\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Poedit 1.6.5\n" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Set host name" -+msgstr "Rechnername festlegen" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Legitimierung ist zum Festlegen des lokalen Rechnernamens notwendig" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3 -+msgid "Set static host name" -+msgstr "Statischen Rechnernamen festlegen" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Authentifizierung ist erforderlich, um den statisch geänderten, lokalen " -+"Rechnernamen, sowie den beschönigten Rechnernamen festzulegen." -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Maschinen-Information festlegen" -+ -+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Authentication is required to set local machine information." -+msgstr "" -+"Legitimierung ist zum Festlegen der lokalen Maschinen-Information " -+"erforderlich." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1 -+msgid "Set system locale" -+msgstr "Die lokale Sprachumgebung festlegen" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "" -+"Legitimierung ist zum Festlegen der systemweiten Spracheinstellungen " -+"erforderlich." -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Tastatureinstellungen des Systems festlegen" -+ -+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "" -+"Legitimierung ist zum Festlegen der Tastatureinstellungen des Systems " -+"erforderlich." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow applications to inhibit system shutdown" -+msgstr "Anwendungen dürfen das Herunterfahren des Systems unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:2 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"shutdown." -+msgstr "" -+"Legitimierung ist notwendig, um Anwendungen das Herunterfahren des Systems " -+"zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:3 -+msgid "Allow applications to delay system shutdown" -+msgstr "Anwendungen dürfen das Herunterfahren des Systems verzögern" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:4 -+msgid "" -+"Authentication is required to allow an application to delay system shutdown." -+msgstr "" -+"Legitimierung ist notwendig, um Anwendungen das Verzögern des Herunterfahren " -+"des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:5 -+msgid "Allow applications to inhibit system sleep" -+msgstr "Anwendungen dürfen den Bereitschaftsmodus unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow an application to inhibit system sleep." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden des " -+"Bereitschaftsmodus zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:7 -+msgid "Allow applications to delay system sleep" -+msgstr "Anwendungen dürfen den Bereitschaftsmodus verzögern" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow an application to delay system sleep." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Verzögern des " -+"Bereitschaftsmodus zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:9 -+msgid "Allow applications to inhibit automatic system suspend" -+msgstr "Anwendungen dürfen den automatischen Bereitschaftsmodus unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:10 -+msgid "" -+"Authentication is required to allow an application to inhibit automatic " -+"system suspend." -+msgstr "" -+"Legitimierung ist notwendig, um Anwendungen das Unterbinden des " -+"automatischen Bereitschaftsmodus zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:11 -+msgid "Allow applications to inhibit system handling of the power key" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Ein-/Ausschaltknopfs des Systems " -+"unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:12 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the power key." -+msgstr "" -+"Legitmierung ist erforderlich, um Anwendungen das Unterbinden der Auswertung " -+"der Ein-/Ausschaltknopfs des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:13 -+msgid "Allow applications to inhibit system handling of the suspend key" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Bereitschaftsknopfs des Systems " -+"unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:14 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the suspend key." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " -+"Auswertung des Bereitschaftsknopfes des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:15 -+msgid "Allow applications to inhibit system handling of the hibernate key" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Knopfs für den Ruhezustand unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:16 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the hibernate key." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " -+"Auswertung des Knopfs für den Ruhezustand zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:17 -+msgid "Allow applications to inhibit system handling of the lid switch" -+msgstr "" -+"Anwendungen dürfen das Auswerten des Notebookdeckelschalters unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:18 -+msgid "" -+"Authentication is required to allow an application to inhibit system " -+"handling of the lid switch." -+msgstr "" -+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der " -+"Auswertung des Notebookdeckelschalters des Systems zu erlauben." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:19 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Nicht angemeldete Benutzer dürfen Programme ausführen" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:20 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs." -+msgstr "" -+"Legitimierung ist erforderlich, damit nicht angemeldete Benutzer Programme " -+"ausführen dürfen." -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:21 -+msgid "Allow attaching devices to seats" -+msgstr "Das Anschließen von Geräten an Arbeitsstationen erlauben" -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:22 -+msgid "Authentication is required for attaching a device to a seat." -+msgstr "" -+"Legitimierung ist zum Anschließen eines Geräts an eine Arbeitsstation " -+"notwendig." -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:23 -+msgid "Flush device to seat attachments" -+msgstr "Zurücksetzen der an eine Arbeitsstation angeschlossenen Geräte" -+ -+# www.freedesktop.org/wiki/Software/systemd/multiseat/ -+#: ../src/login/org.freedesktop.login1.policy.in.h:24 -+msgid "" -+"Authentication is required for resetting how devices are attached to seats." -+msgstr "" -+"Legitimierung ist zum Zurücksetzen notwendig, wie Geräte an eine " -+"Arbeitsstation angeschlossen werden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:25 -+msgid "Power off the system" -+msgstr "Das System ausschalten" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:26 -+msgid "Authentication is required for powering off the system." -+msgstr "Legitimierung ist zum Ausschalten des Systems notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:27 -+msgid "Power off the system while other users are logged in" -+msgstr "Das System herunter fahren, während andere Benutzer angemeldet sind" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:28 -+msgid "" -+"Authentication is required for powering off the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Herunterfahren des Systems notwendig, während andere " -+"Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:29 -+msgid "Power off the system while an application asked to inhibit it" -+msgstr "" -+"Das System ausschalten, während eine Anwendung anfordert es zu unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:30 -+msgid "" -+"Authentication is required for powering off the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Ausschalten des Systems notwendig, während eine " -+"Anwendung anfordert es zu unterbinden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:31 -+msgid "Reboot the system" -+msgstr "Das System neu starten" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:32 -+msgid "Authentication is required for rebooting the system." -+msgstr "Legitimierung ist zum Neustart des Systems notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:33 -+msgid "Reboot the system while other users are logged in" -+msgstr "Das Systems neu starten, während andere Benutzer angemeldet sind" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:34 -+msgid "" -+"Authentication is required for rebooting the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Neustart des Systems notwendig, während andere " -+"Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:35 -+msgid "Reboot the system while an application asked to inhibit it" -+msgstr "" -+"Das System neu starten, während eine Anwendung anfordert es zu unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:36 -+msgid "" -+"Authentication is required for rebooting the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Neustart des Systems notwendig, während eine Anwendung " -+"anforderte es zu unterbinden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:37 -+msgid "Suspend the system" -+msgstr "Das System in Bereitschaft versetzen" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:38 -+msgid "Authentication is required for suspending the system." -+msgstr "Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:39 -+msgid "Suspend the system while other users are logged in" -+msgstr "" -+"Das System in Bereitschaft versetzen, während andere Benutzer angemeldet " -+"sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:40 -+msgid "" -+"Authentication is required for suspending the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " -+"während andere Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:41 -+msgid "Suspend the system while an application asked to inhibit it" -+msgstr "" -+"Das System in Bereitschaft versetzen, während eine Anwendung anfordert dies " -+"zu unterbinden" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:42 -+msgid "" -+"Authentication is required for suspending the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, " -+"während eine Anwendung anfordert dies zu unterbinden." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:43 -+msgid "Hibernate the system" -+msgstr "Den Ruhezustand des Systems aktivieren" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:44 -+msgid "Authentication is required for hibernating the system." -+msgstr "" -+"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:45 -+msgid "Hibernate the system while other users are logged in" -+msgstr "" -+"Den Ruhezustand des Systems aktivieren, während andere Benutzer angemeldet " -+"sind" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:46 -+msgid "" -+"Authentication is required for hibernating the system while other users are " -+"logged in." -+msgstr "" -+"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig, " -+"während andere Benutzer angemeldet sind." -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:47 -+msgid "Hibernate the system while an application asked to inhibit it" -+msgstr "" -+"Das System in den Ruhezustand versetzen, während eine Anwendung wünscht dies " -+"zu verhindern" -+ -+#: ../src/login/org.freedesktop.login1.policy.in.h:48 -+msgid "" -+"Authentication is required for hibernating the system while an application " -+"asked to inhibit it." -+msgstr "" -+"Legitimierung ist zum Versetzen des System in den Ruhezustand notwendig, " -+"während eine Anwendung wünscht dies zu verhindern." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1 -+msgid "Set system time" -+msgstr "Die Systemzeit festlegen" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2 -+msgid "Authentication is required to set the system time." -+msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Set system timezone" -+msgstr "Die Systemzeitzone festlegen" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Legitimierung ist zum Festlegen der Systemzeitzone notwendig." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Echtzeituhr auf lokale Zeitzone oder UTC setzen" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "" -+"Legitimierung ist notwendig zum Festlegen, ob die Echtzeituhr auf lokale " -+"Zeitzone oder UTC eingestellt ist." -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Turn network time synchronization on or off" -+msgstr "Netzwerkzeitabgeich ein- oder ausschalten" -+ -+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein " -+"soll, erforderlich." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1 -+msgid "Send passphrase back to system" -+msgstr "Passphrase zurück an das System senden" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2 -+msgid "" -+"Authentication is required to send the entered passphrase back to the system." -+msgstr "" -+"Legitimierung ist zum Senden des eingegebenen Kennworts zurück an das System " -+"notwendig." -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3 -+msgid "Privileged system and service manager access" -+msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung" -+ -+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4 -+msgid "Authentication is required to access the system and service manager." -+msgstr "" -+"Legitimierung ist notwendig für den Zugriff auf die System- und " -+"Dienstverwaltung." --- -1.7.9.2 - diff --git a/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch b/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch deleted file mode 100644 index ee4c169a..00000000 --- a/0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 75145780813957ecbe6835f2c8bc20113a3605d2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 25 Mar 2014 00:01:51 +0100 -Subject: [PATCH] sd-event: don't accidentally turn of watchdog timer event if - we determine 0 - ---- - src/libsystemd/sd-event/sd-event.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c -index d6a3d1c..4aabec1 100644 ---- src/libsystemd/sd-event/sd-event.c -+++ src/libsystemd/sd-event/sd-event.c -@@ -2087,6 +2087,11 @@ static int arm_watchdog(sd_event *e) { - - timespec_store(&its.it_value, t); - -+ /* Make sure we never set the watchdog to 0, which tells the -+ * kernel to disable it. */ -+ if (its.it_value.tv_sec == 0 && its.it_value.tv_nsec == 0) -+ its.it_value.tv_nsec = 1; -+ - r = timerfd_settime(e->watchdog_fd, TFD_TIMER_ABSTIME, &its, NULL); - if (r < 0) - return -errno; --- -1.7.9.2 - diff --git a/0007-service-flush-status-text-and-errno-values-each-time.patch b/0007-service-flush-status-text-and-errno-values-each-time.patch deleted file mode 100644 index 7dbe5a89..00000000 --- a/0007-service-flush-status-text-and-errno-values-each-time.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8cfdb077b8e3da1c47fc1d735d051f21f33144c1 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 7 Jul 2014 17:33:46 +0200 -Subject: [PATCH] service: flush status text and errno values each time a - service is started - -We shouldn't show status texts from previous service starts ---- - src/core/service.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git src/core/service.c src/core/service.c -index d5aff99..0f542ed 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -1699,6 +1699,10 @@ static int service_start(Unit *u) { - s->main_pid_alien = false; - s->forbid_restart = false; - -+ free(s->status_text); -+ s->status_text = NULL; -+ s->status_errno = 0; -+ - service_enter_start_pre(s); - return 0; - } --- -1.7.9.2 - diff --git a/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch b/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch deleted file mode 100644 index a161a1c4..00000000 --- a/0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e95c98378ac2d34df864de4a9b785fd17defb77b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 25 Oct 2014 15:15:28 -0400 -Subject: [PATCH] systemctl: do not ignore errors in symlink removal - -On an ro fs, systemctl disable ... would fail silently. ---- - src/shared/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/install.c src/shared/install.c -index 0d7c30e..035b44c 100644 ---- src/shared/install.c -+++ src/shared/install.c -@@ -1679,7 +1679,7 @@ int unit_file_disable( - r = install_context_mark_for_removal(&c, &paths, &remove_symlinks_to, config_path, root_dir); - - q = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes, files); -- if (r == 0) -+ if (r >= 0) - r = q; - - return r; --- -1.7.9.2 - diff --git a/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch b/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch deleted file mode 100644 index a1046c39..00000000 --- a/0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8ebf02d6f382ce1ac7e0d44a713b8795a07b08cd Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 30 Jun 2014 21:44:05 +0200 -Subject: [PATCH] units: skip mounting /tmp if it is a symlink - -We shouldn't get confused if people have symlinked /tmp somewhere, so -let's simply skip the mount then. ---- - units/tmp.mount | 1 + - 1 file changed, 1 insertion(+) - -diff --git units/tmp.mount units/tmp.mount -index 99a3ba3..00a0d28 100644 ---- units/tmp.mount -+++ units/tmp.mount -@@ -9,6 +9,7 @@ - Description=Temporary Directory - Documentation=man:hier(7) - Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems -+ConditionPathIsSymbolicLink=!/tmp - DefaultDependencies=no - Conflicts=umount.target - Before=local-fs.target umount.target --- -1.7.9.2 - diff --git a/0008-Reset-signal-mask-on-re-exec-to-init.patch b/0008-Reset-signal-mask-on-re-exec-to-init.patch deleted file mode 100644 index 9fe7d1ea..00000000 --- a/0008-Reset-signal-mask-on-re-exec-to-init.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 5a85ca1cb622fda4a39c8a6f00dccea7f8a1e82a Mon Sep 17 00:00:00 2001 -From: Ruediger Oertel -Date: Fri, 13 Jun 2014 16:41:06 +0200 -Subject: [PATCH] Reset signal-mask on re-exec to init=.. - -Process 1 (aka init) needs to be started with an empty signal mask. -That includes the process 1 that's started after the initrd is finished. -When the initrd is using systemd (as it does with dracut based initrds) -then it is systemd that calls the real init. Normally this is systemd -again, except when the user uses for instance "init=/bin/bash" on the -kernel command line. ---- - src/core/main.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git src/core/main.c src/core/main.c -index 3aac5d1..3e57f07 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1843,6 +1843,7 @@ finish: - if (reexecute) { - const char **args; - unsigned i, args_size; -+ sigset_t ss, o_ss; - - /* Close and disarm the watchdog, so that the new - * instance can reinitialize it, but doesn't get -@@ -1926,6 +1927,11 @@ finish: - args[i++] = NULL; - assert(i <= args_size); - -+ /* reenable any blocked signals, especially important -+ * if we switch from initial ramdisk to init=... */ -+ sigemptyset(&ss); -+ sigprocmask(SIG_SETMASK, &ss, &o_ss); -+ - if (switch_root_init) { - args[0] = switch_root_init; - execv(args[0], (char* const*) args); -@@ -1944,6 +1950,8 @@ finish: - log_error("Failed to execute /bin/sh, giving up: %m"); - } else - log_warning("Failed to execute /sbin/init, giving up: %m"); -+ -+ sigprocmask(SIG_SETMASK, &o_ss, NULL); - } - - if (arg_serialization) { --- -1.7.9.2 - diff --git a/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch b/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch deleted file mode 100644 index 25994e95..00000000 --- a/0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 1ae383a8a3ae4824453e297352fda603d2d3fd5e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 25 Feb 2014 21:26:31 -0500 -Subject: [PATCH] Use /var/run/dbus/system_bus_socket for the D-Bus socket - ---- - man/systemd-bus-proxyd@.service.xml | 2 +- - src/shared/def.h | 2 +- - units/systemd-bus-proxyd.socket | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git man/systemd-bus-proxyd@.service.xml man/systemd-bus-proxyd@.service.xml -index 75a3c8b..3a5930d 100644 ---- man/systemd-bus-proxyd@.service.xml -+++ man/systemd-bus-proxyd@.service.xml -@@ -59,7 +59,7 @@ along with systemd; If not, see . - systemd-bus-proxyd.socket will launch - systemd-bus-proxyd@.service for connections - to the classic D-Bus socket in -- /run/dbus/system_bus_socket. -+ /var/run/dbus/system_bus_socket. - - systemd-bus-proxyd@.service is launched - for an existing D-Bus connection and will use -diff --git src/shared/def.h src/shared/def.h -index 7777756..aa489d8 100644 ---- src/shared/def.h -+++ src/shared/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS -diff --git units/systemd-bus-proxyd.socket units/systemd-bus-proxyd.socket -index 406e15b..6c42d38 100644 ---- units/systemd-bus-proxyd.socket -+++ units/systemd-bus-proxyd.socket -@@ -9,5 +9,5 @@ - Description=Legacy D-Bus Protocol Compatibility Socket - - [Socket] --ListenStream=/run/dbus/system_bus_socket -+ListenStream=/var/run/dbus/system_bus_socket - Accept=yes --- -1.7.9.2 - diff --git a/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch b/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch deleted file mode 100644 index 8dfd01bc..00000000 --- a/0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch +++ /dev/null @@ -1,102 +0,0 @@ -From bd44e61b0480712ec5585ff7b0295362a5f9dd36 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 6 Mar 2014 02:19:42 +0100 -Subject: [PATCH] core: correctly unregister PIDs from PID hashtables - ---- - src/core/unit.c | 42 ++++++++++++++++++------------------------ - 1 file changed, 18 insertions(+), 24 deletions(-) - -diff --git src/core/unit.c src/core/unit.c -index 2437ee3..85250ca 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1704,11 +1704,11 @@ int unit_watch_pid(Unit *u, pid_t pid) { - /* Watch a specific PID. We only support one or two units - * watching each PID for now, not more. */ - -- r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); -+ r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); - if (r < 0) - return r; - -- r = set_ensure_allocated(&u->pids, trivial_hash_func, trivial_compare_func); -+ r = hashmap_ensure_allocated(&u->manager->watch_pids1, trivial_hash_func, trivial_compare_func); - if (r < 0) - return r; - -@@ -1737,7 +1737,17 @@ void unit_unwatch_pid(Unit *u, pid_t pid) { - set_remove(u->pids, LONG_TO_PTR(pid)); - } - --static int watch_pids_in_path(Unit *u, const char *path) { -+void unit_unwatch_all_pids(Unit *u) { -+ assert(u); -+ -+ while (!set_isempty(u->pids)) -+ unit_unwatch_pid(u, PTR_TO_LONG(set_first(u->pids))); -+ -+ set_free(u->pids); -+ u->pids = NULL; -+} -+ -+static int unit_watch_pids_in_path(Unit *u, const char *path) { - _cleanup_closedir_ DIR *d = NULL; - _cleanup_fclose_ FILE *f = NULL; - int ret = 0, r; -@@ -1775,7 +1785,7 @@ static int watch_pids_in_path(Unit *u, const char *path) { - if (!p) - return -ENOMEM; - -- r = watch_pids_in_path(u, p); -+ r = unit_watch_pids_in_path(u, p); - if (r < 0 && ret >= 0) - ret = r; - } -@@ -1788,31 +1798,15 @@ static int watch_pids_in_path(Unit *u, const char *path) { - return ret; - } - -- - int unit_watch_all_pids(Unit *u) { - assert(u); - -- if (!u->cgroup_path) -- return -ENOENT; -- - /* Adds all PIDs from our cgroup to the set of PIDs we watch */ - -- return watch_pids_in_path(u, u->cgroup_path); --} -- --void unit_unwatch_all_pids(Unit *u) { -- Iterator i; -- void *e; -- -- assert(u); -- -- SET_FOREACH(e, u->pids, i) { -- hashmap_remove_value(u->manager->watch_pids1, e, u); -- hashmap_remove_value(u->manager->watch_pids2, e, u); -- } -+ if (!u->cgroup_path) -+ return -ENOENT; - -- set_free(u->pids); -- u->pids = NULL; -+ return unit_watch_pids_in_path(u, u->cgroup_path); - } - - void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { -@@ -1830,7 +1824,7 @@ void unit_tidy_watch_pids(Unit *u, pid_t except1, pid_t except2) { - continue; - - if (!pid_is_unwaited(pid)) -- set_remove(u->pids, e); -+ unit_unwatch_pid(u, pid); - } - } - --- -1.7.9.2 - diff --git a/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch b/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch deleted file mode 100644 index 1cc429ce..00000000 --- a/0008-core-smack-setup-Actually-allow-for-succesfully-load.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b9289d4c6e13ec5fb67bfce69c826d93b004da6a Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Fri, 12 Sep 2014 16:49:48 +0300 -Subject: [PATCH] core: smack-setup: Actually allow for succesfully loading - CIPSO policy - -The line under the last switch statement *loaded_policy = true; -would never be executed. As all switch cases return 0. Thus the -policy would never be marked as loaded. - -Found with Coverity. Fixes: CID#1237785 ---- - src/core/smack-setup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/smack-setup.c src/core/smack-setup.c -index 5f6dabf..5d8a26c 100644 ---- src/core/smack-setup.c -+++ src/core/smack-setup.c -@@ -158,7 +158,7 @@ int smack_setup(bool *loaded_policy) { - return 0; - case 0: - log_info("Successfully loaded Smack/CIPSO policies."); -- return 0; -+ break; - default: - log_warning("Failed to load Smack/CIPSO access rules: %s, ignoring.", - strerror(abs(r))); --- -1.7.9.2 - diff --git a/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 9c554056..00000000 --- a/0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,104 +0,0 @@ -From de68938a2cb3ab535ebd9198723a651753c1a1df Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Mon, 8 Sep 2014 05:06:18 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 77 ++++++++++++++++++++++++++++++++- - 1 file changed, 76 insertions(+), 1 deletion(-) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 9f3136a..14aee74 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -184,7 +184,7 @@ bluetooth:v003B* - ID_VENDOR_FROM_DATABASE=Gennum Corporation - - bluetooth:v003C* -- ID_VENDOR_FROM_DATABASE=Research In Motion -+ ID_VENDOR_FROM_DATABASE=BlackBerry Limited (formerly Research In Motion) - - bluetooth:v003D* - ID_VENDOR_FROM_DATABASE=IPextreme, Inc. -@@ -1073,3 +1073,78 @@ bluetooth:v0162* - - bluetooth:v0163* - ID_VENDOR_FROM_DATABASE=PCH International -+ -+bluetooth:v0164* -+ ID_VENDOR_FROM_DATABASE=Qingdao Yeelink Information Technology Co., Ltd. -+ -+bluetooth:v0165* -+ ID_VENDOR_FROM_DATABASE=Milwaukee Tool (formerly Milwaukee Electric Tools) -+ -+bluetooth:v0166* -+ ID_VENDOR_FROM_DATABASE=MISHIK Pte Ltd -+ -+bluetooth:v0167* -+ ID_VENDOR_FROM_DATABASE=Bayer HealthCare -+ -+bluetooth:v0168* -+ ID_VENDOR_FROM_DATABASE=Spicebox LLC -+ -+bluetooth:v0169* -+ ID_VENDOR_FROM_DATABASE=emberlight -+ -+bluetooth:v016A* -+ ID_VENDOR_FROM_DATABASE=Cooper-Atkins Corporation -+ -+bluetooth:v016B* -+ ID_VENDOR_FROM_DATABASE=Qblinks -+ -+bluetooth:v016C* -+ ID_VENDOR_FROM_DATABASE=MYSPHERA -+ -+bluetooth:v016D* -+ ID_VENDOR_FROM_DATABASE=LifeScan Inc -+ -+bluetooth:v016E* -+ ID_VENDOR_FROM_DATABASE=Volantic AB -+ -+bluetooth:v016F* -+ ID_VENDOR_FROM_DATABASE=Podo Labs, Inc -+ -+bluetooth:v0170* -+ ID_VENDOR_FROM_DATABASE=Roche Diabetes Care AG -+ -+bluetooth:v0171* -+ ID_VENDOR_FROM_DATABASE=Amazon Fulfillment Service -+ -+bluetooth:v0172* -+ ID_VENDOR_FROM_DATABASE=Connovate Technology Private Limited -+ -+bluetooth:v0173* -+ ID_VENDOR_FROM_DATABASE=Kocomojo, LLC -+ -+bluetooth:v0174* -+ ID_VENDOR_FROM_DATABASE=Everykey LLC -+ -+bluetooth:v0175* -+ ID_VENDOR_FROM_DATABASE=Dynamic Controls -+ -+bluetooth:v0176* -+ ID_VENDOR_FROM_DATABASE=SentriLock -+ -+bluetooth:v0177* -+ ID_VENDOR_FROM_DATABASE=I-SYST inc. -+ -+bluetooth:v0178* -+ ID_VENDOR_FROM_DATABASE=CASIO COMPUTER CO., LTD. -+ -+bluetooth:v0179* -+ ID_VENDOR_FROM_DATABASE=LAPIS Semiconductor Co., Ltd. -+ -+bluetooth:v017A* -+ ID_VENDOR_FROM_DATABASE=Telemonitor, Inc. -+ -+bluetooth:v017B* -+ ID_VENDOR_FROM_DATABASE=taskit GmbH -+ -+bluetooth:v017C* -+ ID_VENDOR_FROM_DATABASE=Daimler AG --- -1.7.9.2 - diff --git a/0008-hwdb-update.patch b/0008-hwdb-update.patch deleted file mode 100644 index 062b229b..00000000 --- a/0008-hwdb-update.patch +++ /dev/null @@ -1,1425 +0,0 @@ -From cccc74971fe3c853832d742a15eac94f365603b6 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 20 Aug 2014 00:38:39 +0200 -Subject: [PATCH] update hwdb - ---- - hwdb/20-OUI.hwdb | 177 +++++++++++- - hwdb/20-pci-vendor-model.hwdb | 592 ++++++++++++++++++++++++++++++++++++++++- - hwdb/20-usb-vendor-model.hwdb | 12 + - 3 files changed, 776 insertions(+), 5 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index f9501be..e0c5fed 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -21371,7 +21371,7 @@ OUI:000A2F* - ID_OUI_FROM_DATABASE=Artnix Inc. - - OUI:000A30* -- ID_OUI_FROM_DATABASE=Johnson Controls-ASG -+ ID_OUI_FROM_DATABASE=Visteon Corporation - - OUI:000A31* - ID_OUI_FROM_DATABASE=HCV Consulting -@@ -51601,6 +51601,9 @@ OUI:00E666* - OUI:00E6D3* - ID_OUI_FROM_DATABASE=NIXDORF COMPUTER CORP. - -+OUI:00E6E8* -+ ID_OUI_FROM_DATABASE=Netzin Technology Corporation,.Ltd. -+ - OUI:00E8AB* - ID_OUI_FROM_DATABASE=Meggitt Training Systems, Inc. - -@@ -51616,6 +51619,9 @@ OUI:00F051* - OUI:00F403* - ID_OUI_FROM_DATABASE=Orbis Systems Oy - -+OUI:00F46F* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:00F4B9* - ID_OUI_FROM_DATABASE=Apple - -@@ -51856,6 +51862,9 @@ OUI:0498F3* - OUI:0499E6* - ID_OUI_FROM_DATABASE=Shenzhen Yoostar Technology Co., Ltd - -+OUI:049B9C* -+ ID_OUI_FROM_DATABASE=Eadingcore Intelligent Technology Co., Ltd. -+ - OUI:049C62* - ID_OUI_FROM_DATABASE=BMT Medical Technology s.r.o. - -@@ -52720,6 +52729,9 @@ OUI:08E84F* - OUI:08EA44* - ID_OUI_FROM_DATABASE=Aerohive Networks, Inc. - -+OUI:08EB29* -+ ID_OUI_FROM_DATABASE=Jiangsu Huitong Group Co.,Ltd. -+ - OUI:08EB74* - ID_OUI_FROM_DATABASE=Humax - -@@ -52729,6 +52741,9 @@ OUI:08EBED* - OUI:08EDB9* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:08EE8B* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:08EF3B* - ID_OUI_FROM_DATABASE=MCS Logic Inc. - -@@ -52969,6 +52984,9 @@ OUI:0CAC05* - OUI:0CAF5A* - ID_OUI_FROM_DATABASE=GENUS POWER INFRASTRUCTURES LIMITED - -+OUI:0CB319* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:0CB4EF* - ID_OUI_FROM_DATABASE=Digience Co.,Ltd. - -@@ -53036,7 +53054,7 @@ OUI:0CD996* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - - OUI:0CD9C1* -- ID_OUI_FROM_DATABASE=Johnson Controls-ASG -+ ID_OUI_FROM_DATABASE=Visteon Corporation - - OUI:0CDA41* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -@@ -53434,6 +53452,9 @@ OUI:10F96F* - OUI:10F9EE* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:10FACE* -+ ID_OUI_FROM_DATABASE=Reacheng Communication Technology Co.,Ltd -+ - OUI:10FBF0* - ID_OUI_FROM_DATABASE=KangSheng LTD. - -@@ -55417,6 +55438,9 @@ OUI:2C441B* - OUI:2C44FD* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:2C5089* -+ ID_OUI_FROM_DATABASE=Shenzhen Kaixuan Visual Technology Co.,Limited -+ - OUI:2C534A* - ID_OUI_FROM_DATABASE=Shenzhen Winyao Electronic Limited - -@@ -55774,6 +55798,9 @@ OUI:306E5C* - OUI:3071B2* - ID_OUI_FROM_DATABASE=Hangzhou Prevail Optoelectronic Equipment Co.,LTD. - -+OUI:307350* -+ ID_OUI_FROM_DATABASE=Inpeco SA -+ - OUI:307512* - ID_OUI_FROM_DATABASE=Sony Mobile Communications AB - -@@ -55972,6 +55999,9 @@ OUI:343111* - OUI:3431C4* - ID_OUI_FROM_DATABASE=AVM GmbH - -+OUI:3438AF* -+ ID_OUI_FROM_DATABASE=Inlab Software GmbH -+ - OUI:3440B5* - ID_OUI_FROM_DATABASE=IBM - -@@ -56323,12 +56353,18 @@ OUI:3826CD* - OUI:3828EA* - ID_OUI_FROM_DATABASE=Fujian Netcom Technology Co., LTD - -+OUI:382C4A* -+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. -+ - OUI:382DD1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - - OUI:3831AC* - ID_OUI_FROM_DATABASE=WEG - -+OUI:383BC8* -+ ID_OUI_FROM_DATABASE=2wire -+ - OUI:383F10* - ID_OUI_FROM_DATABASE=DBL Technology Ltd. - -@@ -56416,6 +56452,9 @@ OUI:388EE7* - OUI:3891FB* - ID_OUI_FROM_DATABASE=Xenox Holding BV - -+OUI:389496* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:389592* - ID_OUI_FROM_DATABASE=Beijing Tendyron Corporation - -@@ -56605,6 +56644,9 @@ OUI:3C1A79* - OUI:3C1CBE* - ID_OUI_FROM_DATABASE=JADAK LLC - -+OUI:3C1E13* -+ ID_OUI_FROM_DATABASE=HANGZHOU SUNRISE TECHNOLOGY CO., LTD -+ - OUI:3C25D7* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -57343,6 +57385,9 @@ OUI:446C24* - OUI:446D57* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - -+OUI:446D6C* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:44700B* - ID_OUI_FROM_DATABASE=IFFU - -@@ -57778,6 +57823,9 @@ OUI:4C09B4* - OUI:4C0B3A* - ID_OUI_FROM_DATABASE=TCT Mobile Limited - -+OUI:4C0BBE* -+ ID_OUI_FROM_DATABASE=Microsoft -+ - OUI:4C0DEE* - ID_OUI_FROM_DATABASE=JABIL CIRCUIT (SHANGHAI) LTD. - -@@ -58372,6 +58420,9 @@ OUI:50ED94* - OUI:50F003* - ID_OUI_FROM_DATABASE=Open Stack, Inc. - -+OUI:50F43C* -+ ID_OUI_FROM_DATABASE=Leeo Inc -+ - OUI:50F520* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -58405,6 +58456,9 @@ OUI:540536* - OUI:54055F* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:54098D* -+ ID_OUI_FROM_DATABASE=deister electronic GmbH -+ - OUI:54112F* - ID_OUI_FROM_DATABASE=Sulzer Pump Solutions Finland Oy - -@@ -59137,6 +59191,9 @@ OUI:5C93A2* - OUI:5C95AE* - ID_OUI_FROM_DATABASE=Apple - -+OUI:5C966A* -+ ID_OUI_FROM_DATABASE=RTNET -+ - OUI:5C969D* - ID_OUI_FROM_DATABASE=Apple - -@@ -59905,6 +59962,9 @@ OUI:64AE0C* - OUI:64AE88* - ID_OUI_FROM_DATABASE=Polytec GmbH - -+OUI:64B21D* -+ ID_OUI_FROM_DATABASE=Chengdu Phycom Tech Co., Ltd. -+ - OUI:64B310* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -59917,6 +59977,9 @@ OUI:64B473* - OUI:64B64A* - ID_OUI_FROM_DATABASE=ViVOtech, Inc. - -+OUI:64B853* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:64B9E8* - ID_OUI_FROM_DATABASE=Apple - -@@ -60208,6 +60271,9 @@ OUI:68974B* - OUI:6897E8* - ID_OUI_FROM_DATABASE=Society of Motion Picture & Television Engineers - -+OUI:6899CD* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:689C5E* - ID_OUI_FROM_DATABASE=AcSiP Technology Corp. - -@@ -60325,6 +60391,9 @@ OUI:68F06D* - OUI:68F125* - ID_OUI_FROM_DATABASE=Data Controls Inc. - -+OUI:68F728* -+ ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd -+ - OUI:68F895* - ID_OUI_FROM_DATABASE=Redflow Limited - -@@ -61081,12 +61150,18 @@ OUI:744D79* - OUI:745327* - ID_OUI_FROM_DATABASE=COMMSEN CO., LIMITED - -+OUI:74547D* -+ ID_OUI_FROM_DATABASE=Cisco SPVTG -+ - OUI:745612* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - - OUI:745798* - ID_OUI_FROM_DATABASE=TRUMPF Laser GmbH + Co. KG - -+OUI:745C9F* -+ ID_OUI_FROM_DATABASE=TCT mobile ltd. -+ - OUI:745E1C* - ID_OUI_FROM_DATABASE=PIONEER CORPORATION - -@@ -62446,6 +62521,9 @@ OUI:842615* - OUI:84262B* - ID_OUI_FROM_DATABASE=Alcatel-Lucent - -+OUI:842690* -+ ID_OUI_FROM_DATABASE=BEIJING THOUGHT SCIENCE CO.,LTD. -+ - OUI:8427CE* - ID_OUI_FROM_DATABASE=Corporation of the Presiding Bishop of The Church of Jesus Christ of Latter-day Saints - -@@ -62506,6 +62584,9 @@ OUI:844F03* - OUI:845181* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:8455A5* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:84569C* - ID_OUI_FROM_DATABASE=Coho Data, Inc., - -@@ -62611,6 +62692,9 @@ OUI:849CA6* - OUI:849DC5* - ID_OUI_FROM_DATABASE=Centera Photonics Inc. - -+OUI:84A466* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:84A6C8* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -62824,6 +62908,9 @@ OUI:886B76* - OUI:88708C* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:8870EF* -+ ID_OUI_FROM_DATABASE=SC Professional Trading Co., Ltd. -+ - OUI:887398* - ID_OUI_FROM_DATABASE=K2E Tekpoint - -@@ -62998,6 +63085,9 @@ OUI:8C006D* - OUI:8C04FF* - ID_OUI_FROM_DATABASE=Technicolor USA Inc. - -+OUI:8C0551* -+ ID_OUI_FROM_DATABASE=Koubachi AG -+ - OUI:8C078C* - ID_OUI_FROM_DATABASE=FLOW DATA INC - -@@ -63181,6 +63271,9 @@ OUI:8C8E76* - OUI:8C90D3* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:8C9109* -+ ID_OUI_FROM_DATABASE=Toyoshima Electric Technoeogy(Suzhou) Co.,Ltd. -+ - OUI:8C9236* - ID_OUI_FROM_DATABASE=Aus.Linx Technology Co., Ltd. - -@@ -64249,6 +64342,9 @@ OUI:98F8C1* - OUI:98F8DB* - ID_OUI_FROM_DATABASE=Marini Impianti Industriali s.r.l. - -+OUI:98FAE3* -+ ID_OUI_FROM_DATABASE=Xiaomi inc. -+ - OUI:98FB12* - ID_OUI_FROM_DATABASE=Grand Electronics (HK) Ltd - -@@ -64804,6 +64900,9 @@ OUI:A0A130* - OUI:A0A23C* - ID_OUI_FROM_DATABASE=GPMS - -+OUI:A0A3E2* -+ ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc -+ - OUI:A0A763* - ID_OUI_FROM_DATABASE=Polytron Vertrieb GmbH - -@@ -64819,6 +64918,9 @@ OUI:A0B100* - OUI:A0B3CC* - ID_OUI_FROM_DATABASE=Hewlett Packard - -+OUI:A0B4A5* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:A0B5DA* - ID_OUI_FROM_DATABASE=HongKong THTF Co., Ltd - -@@ -65116,6 +65218,9 @@ OUI:A49A58* - OUI:A49B13* - ID_OUI_FROM_DATABASE=Burroughs Payment Systems, Inc. - -+OUI:A49D49* -+ ID_OUI_FROM_DATABASE=Ketra, Inc. -+ - OUI:A49EDB* - ID_OUI_FROM_DATABASE=AutoCrib, Inc. - -@@ -65389,6 +65494,9 @@ OUI:A8776F* - OUI:A87B39* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:A87C01* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:A87E33* - ID_OUI_FROM_DATABASE=Nokia Danmark A/S - -@@ -65479,6 +65587,9 @@ OUI:A8CCC5* - OUI:A8CE90* - ID_OUI_FROM_DATABASE=CVC - -+OUI:A8D0E3* -+ ID_OUI_FROM_DATABASE=Systech Electronics Ltd. -+ - OUI:A8D0E5* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -65488,6 +65599,9 @@ OUI:A8D236* - OUI:A8D3C8* - ID_OUI_FROM_DATABASE=Wachendorff Elektronik GmbH & Co. KG - -+OUI:A8D88A* -+ ID_OUI_FROM_DATABASE=Wyconn -+ - OUI:A8E018* - ID_OUI_FROM_DATABASE=Nokia Corporation - -@@ -65602,6 +65716,9 @@ OUI:AC3613* - OUI:AC3870* - ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. - -+OUI:AC3A7A* -+ ID_OUI_FROM_DATABASE=Roku -+ - OUI:AC3C0B* - ID_OUI_FROM_DATABASE=Apple - -@@ -66049,6 +66166,9 @@ OUI:B09074* - OUI:B09134* - ID_OUI_FROM_DATABASE=Taleo - -+OUI:B09137* -+ ID_OUI_FROM_DATABASE=ISis ImageStream Internet Solutions, Inc -+ - OUI:B0973A* - ID_OUI_FROM_DATABASE=E-Fuel Corporation - -@@ -66271,6 +66391,9 @@ OUI:B435F7* - OUI:B43741* - ID_OUI_FROM_DATABASE=Consert, Inc. - -+OUI:B43934* -+ ID_OUI_FROM_DATABASE=Pen Generations, Inc. -+ - OUI:B439D6* - ID_OUI_FROM_DATABASE=ProCurve Networking by HP - -@@ -66397,6 +66520,9 @@ OUI:B4A4E3* - OUI:B4A5A9* - ID_OUI_FROM_DATABASE=MODI GmbH - -+OUI:B4A828* -+ ID_OUI_FROM_DATABASE=Shenzhen Concox Information Technology Co., Ltd -+ - OUI:B4A82B* - ID_OUI_FROM_DATABASE=Histar Digital Electronics Co., Ltd. - -@@ -67114,6 +67240,9 @@ OUI:BCBAE1* - OUI:BCBBC9* - ID_OUI_FROM_DATABASE=Kellendonk Elektronik GmbH - -+OUI:BCBC46* -+ ID_OUI_FROM_DATABASE=SKS Welding Systems GmbH -+ - OUI:BCC168* - ID_OUI_FROM_DATABASE=DinBox Sverige AB - -@@ -67840,6 +67969,9 @@ OUI:C819F7* - OUI:C81AFE* - ID_OUI_FROM_DATABASE=DLOGIC GmbH - -+OUI:C81B6B* -+ ID_OUI_FROM_DATABASE=Innova Security -+ - OUI:C81E8E* - ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd - -@@ -68530,6 +68662,9 @@ OUI:D01AA7* - OUI:D01CBB* - ID_OUI_FROM_DATABASE=Beijing Ctimes Digital Technology Co., Ltd. - -+OUI:D02212* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:D022BE* - ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co.,LTD. - -@@ -69259,6 +69394,9 @@ OUI:D831CF* - OUI:D8337F* - ID_OUI_FROM_DATABASE=Office FA.com Co.,Ltd. - -+OUI:D83C69* -+ ID_OUI_FROM_DATABASE=Tinno Mobile Technology Corp -+ - OUI:D842AC* - ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd. - -@@ -69349,6 +69487,9 @@ OUI:D88039* - OUI:D881CE* - ID_OUI_FROM_DATABASE=AHN INC. - -+OUI:D88466* -+ ID_OUI_FROM_DATABASE=Extreme Networks -+ - OUI:D88A3B* - ID_OUI_FROM_DATABASE=UNIT-EM - -@@ -69376,6 +69517,9 @@ OUI:D89760* - OUI:D8977C* - ID_OUI_FROM_DATABASE=Grey Innovation - -+OUI:D897BA* -+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION -+ - OUI:D89D67* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -69442,6 +69586,9 @@ OUI:D8C7C8* - OUI:D8C99D* - ID_OUI_FROM_DATABASE=EA DISPLAY LIMITED - -+OUI:D8CB8A* -+ ID_OUI_FROM_DATABASE=Micro-Star INTL CO., LTD. -+ - OUI:D8CF9C* - ID_OUI_FROM_DATABASE=Apple - -@@ -69505,6 +69652,9 @@ OUI:D8EE78* - OUI:D8F0F2* - ID_OUI_FROM_DATABASE=Zeebo Inc - -+OUI:D8F710* -+ ID_OUI_FROM_DATABASE=Libre Wireless Technologies Inc. -+ - OUI:D8FB11* - ID_OUI_FROM_DATABASE=AXACORE - -@@ -69749,7 +69899,7 @@ OUI:DCD87F* - ID_OUI_FROM_DATABASE=Shenzhen JoinCyber Telecom Equipment Ltd - - OUI:DCDA4F* -- ID_OUI_FROM_DATABASE=GET Technology,INC -+ ID_OUI_FROM_DATABASE=GETCK TECHNOLOGY, INC - - OUI:DCDECA* - ID_OUI_FROM_DATABASE=Akyllor -@@ -69763,6 +69913,9 @@ OUI:DCE578* - OUI:DCE71C* - ID_OUI_FROM_DATABASE=AUG Elektronik GmbH - -+OUI:DCEC06* -+ ID_OUI_FROM_DATABASE=Heimi Network Technology Co., Ltd. -+ - OUI:DCF05D* - ID_OUI_FROM_DATABASE=Letta Teknoloji - -@@ -69856,6 +70009,9 @@ OUI:E039D7* - OUI:E03C5B* - ID_OUI_FROM_DATABASE=SHENZHEN JIAXINJIE ELECTRON CO.,LTD - -+OUI:E03E44* -+ ID_OUI_FROM_DATABASE=Broadcom Corporation -+ - OUI:E03E4A* - ID_OUI_FROM_DATABASE=Cavanagh Group International - -@@ -70378,6 +70534,9 @@ OUI:E4F4C6* - OUI:E4F7A1* - ID_OUI_FROM_DATABASE=Datafox GmbH - -+OUI:E4F8EF* -+ ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd -+ - OUI:E4FA1D* - ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc. - -@@ -70549,6 +70708,9 @@ OUI:E8802E* - OUI:E880D8* - ID_OUI_FROM_DATABASE=GNTEK Electronics Co.,Ltd. - -+OUI:E887A3* -+ ID_OUI_FROM_DATABASE=Loxley Public Company Limited -+ - OUI:E8892C* - ID_OUI_FROM_DATABASE=ARRIS Group, Inc. - -@@ -70627,6 +70789,9 @@ OUI:E8C320* - OUI:E8CBA1* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:E8CC18* -+ ID_OUI_FROM_DATABASE=D-Link International -+ - OUI:E8CC32* - ID_OUI_FROM_DATABASE=Micronet LTD - -@@ -71008,6 +71173,9 @@ OUI:F015A0* - OUI:F01C13* - ID_OUI_FROM_DATABASE=LG Electronics - -+OUI:F01C2D* -+ ID_OUI_FROM_DATABASE=Juniper Networks -+ - OUI:F01FAF* - ID_OUI_FROM_DATABASE=Dell Inc - -@@ -71398,6 +71566,9 @@ OUI:F4472A* - OUI:F44848* - ID_OUI_FROM_DATABASE=Amscreen Group Ltd - -+OUI:F44E05* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:F44EFD* - ID_OUI_FROM_DATABASE=Actions Semiconductor Co.,Ltd.(Cayman Islands) - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index a6a2754..3bcdbc0 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -10478,6 +10478,9 @@ pci:v00001014d0000034Asv00001014sd000004C8* - pci:v00001014d0000034Asv00001014sd00000C49* - ID_MODEL_FROM_DATABASE=PCI-E IPR SAS Adapter (ASIC) (PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)) - -+pci:v00001014d0000044B* -+ ID_MODEL_FROM_DATABASE=GenWQE Accelerator Adapter -+ - pci:v00001014d000004AA* - ID_MODEL_FROM_DATABASE=Flash Adapter 90 (PCIe2 0.9TB) - -@@ -26387,6 +26390,9 @@ pci:v000010DEd00000FE2* - pci:v000010DEd00000FE3* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] - -+pci:v000010DEd00000FE3sv0000103Csd00002B16* -+ ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) -+ - pci:v000010DEd00000FE3sv000017AAsd00003675* - ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 745M] (GeForce GT 745A) - -@@ -26420,6 +26426,9 @@ pci:v000010DEd00000FF1* - pci:v000010DEd00000FF2* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K1] - -+pci:v000010DEd00000FF3* -+ ID_MODEL_FROM_DATABASE=GK107GL [Quadro K420] -+ - pci:v000010DEd00000FF5* - ID_MODEL_FROM_DATABASE=GK107GL [GRID K1 Tesla USM] - -@@ -26546,6 +26555,9 @@ pci:v000010DEd00001029* - pci:v000010DEd0000103A* - ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] - -+pci:v000010DEd0000103C* -+ ID_MODEL_FROM_DATABASE=GK110GL [Quadro K5200] -+ - pci:v000010DEd00001040* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 520] - -@@ -26981,6 +26993,12 @@ pci:v000010DEd00001140sv00001028sd000005F4* - pci:v000010DEd00001140sv00001028sd0000064E* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -+pci:v000010DEd00001140sv00001028sd00000652* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ -+pci:v000010DEd00001140sv00001028sd00000662* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv00001028sd0000068D* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) - -@@ -27239,9 +27257,15 @@ pci:v000010DEd00001140sv0000152Dsd00000982* - pci:v000010DEd00001140sv0000152Dsd00000983* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -+pci:v000010DEd00001140sv0000152Dsd00001005* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 820M) -+ - pci:v000010DEd00001140sv0000152Dsd00001012* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M) - -+pci:v000010DEd00001140sv0000152Dsd00001019* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv0000152Dsd00001030* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M) - -@@ -27254,6 +27278,9 @@ pci:v000010DEd00001140sv0000152Dsd00001067* - pci:v000010DEd00001140sv0000152Dsd00001072* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M) - -+pci:v000010DEd00001140sv0000152Dsd00001086* -+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M) -+ - pci:v000010DEd00001140sv000017AAsd00002200* - ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M) - -@@ -27578,6 +27605,9 @@ pci:v000010DEd000011B0sv000010DEsd0000101B* - pci:v000010DEd000011B1* - ID_MODEL_FROM_DATABASE=GK104GL [GRID K2 Tesla USM] - -+pci:v000010DEd000011B4* -+ ID_MODEL_FROM_DATABASE=GK104GL [Quadro K4200] -+ - pci:v000010DEd000011B6* - ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K3100M] - -@@ -27863,6 +27893,9 @@ pci:v000010DEd00001295sv0000103Csd00002B0F* - pci:v000010DEd00001295sv0000103Csd00002B11* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 710A) - -+pci:v000010DEd00001295sv0000103Csd00002B20* -+ ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce 810A) -+ - pci:v000010DEd00001295sv0000103Csd00002B21* - ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M] (GeForce GT 810A) - -@@ -27887,6 +27920,9 @@ pci:v000010DEd000012BA* - pci:v000010DEd00001340* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] - -+pci:v000010DEd00001340sv0000103Csd00002B2B* -+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 830M] (GeForce 830A) -+ - pci:v000010DEd00001341* - ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] - -@@ -27926,6 +27962,15 @@ pci:v000010DEd00001392* - pci:v000010DEd00001393* - ID_MODEL_FROM_DATABASE=GM107M [GeForce 840M] - -+pci:v000010DEd000013B3* -+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro K2200M] -+ -+pci:v000010DEd000013BA* -+ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K2200] -+ -+pci:v000010DEd000013BB* -+ ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] -+ - pci:v000010DF* - ID_VENDOR_FROM_DATABASE=Emulex Corporation - -@@ -29291,6 +29336,9 @@ pci:v00001103d00000622* - pci:v00001103d00000640* - ID_MODEL_FROM_DATABASE=RocketRAID 640 4 Port SATA-III Controller - -+pci:v00001103d00000644* -+ ID_MODEL_FROM_DATABASE=RocketRAID 644 4 Port SATA-III Controller (eSATA) -+ - pci:v00001103d00001720* - ID_MODEL_FROM_DATABASE=RocketRAID 1720 (2x SATA II RAID Controller) - -@@ -40325,6 +40373,12 @@ pci:v00001360d00000205* - pci:v00001360d00000206* - ID_MODEL_FROM_DATABASE=GPS180PEX GPS Receiver (PCI Express) - -+pci:v00001360d00000207* -+ ID_MODEL_FROM_DATABASE=GLN180PEX GPS/GLONASS receiver (PCI Express) -+ -+pci:v00001360d00000208* -+ ID_MODEL_FROM_DATABASE=GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) -+ - pci:v00001360d00000301* - ID_MODEL_FROM_DATABASE=TCR510PCI IRIG Timecode Reader - -@@ -41525,6 +41579,9 @@ pci:v000013F6d00008788sv00001043sd00008428* - pci:v000013F6d00008788sv00001043sd00008467* - ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (CMI8786 (Xonar DG)) - -+pci:v000013F6d00008788sv00001043sd000085F4* -+ ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX II)) -+ - pci:v000013F6d00008788sv000013F6sd00008782* - ID_MODEL_FROM_DATABASE=CMI8788 [Oxygen HD Audio] (PCI 2.0 HD Audio) - -@@ -45905,6 +45962,9 @@ pci:v000014E4d000043A0* - pci:v000014E4d000043A9* - ID_MODEL_FROM_DATABASE=BCM43217 802.11b/g/n - -+pci:v000014E4d000043AA* -+ ID_MODEL_FROM_DATABASE=BCM43131 802.11b/g/n -+ - pci:v000014E4d000043B1* - ID_MODEL_FROM_DATABASE=BCM4352 802.11ac Wireless Network Adapter - -@@ -46884,7 +46944,7 @@ pci:v000014F1d00008852* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder - - pci:v000014F1d00008852sv00000070sd00008010* -- ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (Hauppauge WinTV HVR-1400 ExpressCard) -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinTV HVR-1400 ExpressCard) - - pci:v000014F1d00008852sv0000107Dsd00006F22* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (WinFast PxTV1200) -@@ -46898,6 +46958,9 @@ pci:v000014F1d00008852sv0000153Bsd0000117E* - pci:v000014F1d00008852sv000018ACsd0000DB78* - ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (FusionHDTV DVB-T Dual Express) - -+pci:v000014F1d00008852sv00004254sd00009580* -+ ID_MODEL_FROM_DATABASE=CX23885 PCI Video and Audio Decoder (T9580) -+ - pci:v000014F1d00008880* - ID_MODEL_FROM_DATABASE=CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb - -@@ -47438,6 +47501,18 @@ pci:v00001542* - pci:v00001542d00009260* - ID_MODEL_FROM_DATABASE=RCIM-II Real-Time Clock & Interrupt Module - -+pci:v00001542d00009272* -+ ID_MODEL_FROM_DATABASE=Pulse Width Modulator Card -+ -+pci:v00001542d00009277* -+ ID_MODEL_FROM_DATABASE=5 Volt Delta Sigma Converter Card -+ -+pci:v00001542d00009278* -+ ID_MODEL_FROM_DATABASE=10 Volt Delta Sigma Converter Card -+ -+pci:v00001542d00009287* -+ ID_MODEL_FROM_DATABASE=Analog Output Card -+ - pci:v00001543* - ID_VENDOR_FROM_DATABASE=SILICON Laboratories - -@@ -49505,6 +49580,9 @@ pci:v000016B8* - pci:v000016BE* - ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH - -+pci:v000016C3* -+ ID_VENDOR_FROM_DATABASE=Synopsys, Inc. -+ - pci:v000016C6* - ID_VENDOR_FROM_DATABASE=Micrel-Kendin - -@@ -53936,6 +54014,9 @@ pci:v0000416Cd00000100* - pci:v0000416Cd00000200* - ID_MODEL_FROM_DATABASE=CPC - -+pci:v00004254* -+ ID_VENDOR_FROM_DATABASE=DVBSky -+ - pci:v00004321* - ID_VENDOR_FROM_DATABASE=Tata Power Strategic Electronics Division - -@@ -59621,6 +59702,12 @@ pci:v00008086d000015A2* - pci:v00008086d000015A3* - ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V - -+pci:v00008086d000015B7* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V -+ -+pci:v00008086d000015B8* -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM -+ - pci:v00008086d00001600* - ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI - -@@ -69614,6 +69701,9 @@ pci:v00008086d00003B23* - pci:v00008086d00003B25* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller - -+pci:v00008086d00003B25sv0000103Csd00003118* -+ ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset SATA RAID Controller (HP Smart Array B110i SATA RAID Controller) -+ - pci:v00008086d00003B26* - ID_MODEL_FROM_DATABASE=5 Series/3400 Series Chipset 2 port SATA IDE Controller - -@@ -70718,6 +70808,489 @@ pci:v00008086d000065FA* - pci:v00008086d000065FF* - ID_MODEL_FROM_DATABASE=5100 Chipset DMA Engine - -+pci:v00008086d00006F00* -+ ID_MODEL_FROM_DATABASE=Broadwell DMI2 -+ -+pci:v00008086d00006F01* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 0 -+ -+pci:v00008086d00006F02* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 -+ -+pci:v00008086d00006F03* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 1 -+ -+pci:v00008086d00006F04* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F05* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F06* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F07* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 2 -+ -+pci:v00008086d00006F08* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F09* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F0A* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F0B* -+ ID_MODEL_FROM_DATABASE=Broadwell PCI Express Root Port 3 -+ -+pci:v00008086d00006F10* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F11* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F12* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F13* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F14* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F15* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F16* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F17* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F18* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F19* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1A* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1B* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1C* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Debug -+ -+pci:v00008086d00006F1D* -+ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent -+ -+pci:v00008086d00006F1E* -+ ID_MODEL_FROM_DATABASE=Broadwell Ubox -+ -+pci:v00008086d00006F1F* -+ ID_MODEL_FROM_DATABASE=Broadwell Ubox -+ -+pci:v00008086d00006F20* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 0 -+ -+pci:v00008086d00006F21* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 1 -+ -+pci:v00008086d00006F22* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 2 -+ -+pci:v00008086d00006F23* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 3 -+ -+pci:v00008086d00006F24* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 4 -+ -+pci:v00008086d00006F25* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 5 -+ -+pci:v00008086d00006F26* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 6 -+ -+pci:v00008086d00006F27* -+ ID_MODEL_FROM_DATABASE=Broadwell-DE Crystal Beach DMA Channel 7 -+ -+pci:v00008086d00006F28* -+ ID_MODEL_FROM_DATABASE=Broadwell Adress Map/VTd_Misc/System Management -+ -+pci:v00008086d00006F29* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO Hot Plug -+ -+pci:v00008086d00006F2A* -+ ID_MODEL_FROM_DATABASE=Broadwell IIO RAS/Control Status/Global Errors -+ -+pci:v00008086d00006F2C* -+ ID_MODEL_FROM_DATABASE=Broadwell I/O APIC -+ -+pci:v00008086d00006F30* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 -+ -+pci:v00008086d00006F32* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 -+ -+pci:v00008086d00006F33* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 -+ -+pci:v00008086d00006F34* -+ ID_MODEL_FROM_DATABASE=Broadwell R2PCIe Agent -+ -+pci:v00008086d00006F36* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 -+ -+pci:v00008086d00006F37* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 -+ -+pci:v00008086d00006F38* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 -+ -+pci:v00008086d00006F39* -+ ID_MODEL_FROM_DATABASE=Broadwell IO Performance Monitoring -+ -+pci:v00008086d00006F3A* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 -+ -+pci:v00008086d00006F3E* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 -+ -+pci:v00008086d00006F3F* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 -+ -+pci:v00008086d00006F40* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 -+ -+pci:v00008086d00006F41* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 2 -+ -+pci:v00008086d00006F43* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 -+ -+pci:v00008086d00006F45* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug -+ -+pci:v00008086d00006F46* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug -+ -+pci:v00008086d00006F47* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 2 Debug -+ -+pci:v00008086d00006F60* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 -+ -+pci:v00008086d00006F68* -+ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS -+ -+pci:v00008086d00006F6A* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6B* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6C* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6D* -+ ID_MODEL_FROM_DATABASE=Broadwell Channel Target Address Decoder -+ -+pci:v00008086d00006F6E* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Broadcast -+ -+pci:v00008086d00006F6F* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast -+ -+pci:v00008086d00006F70* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 Debug -+ -+pci:v00008086d00006F71* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS -+ -+pci:v00008086d00006F76* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug -+ -+pci:v00008086d00006F78* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 1 Debug -+ -+pci:v00008086d00006F79* -+ ID_MODEL_FROM_DATABASE=Broadwell Target Address/Thermal/RAS -+ -+pci:v00008086d00006F7D* -+ ID_MODEL_FROM_DATABASE=Broadwell Ubox -+ -+pci:v00008086d00006F7E* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link Debug -+ -+pci:v00008086d00006F80* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 -+ -+pci:v00008086d00006F81* -+ ID_MODEL_FROM_DATABASE=Broadwell R3 QPI Link 0/1 -+ -+pci:v00008086d00006F83* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 -+ -+pci:v00008086d00006F85* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug -+ -+pci:v00008086d00006F86* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug -+ -+pci:v00008086d00006F87* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 0 Debug -+ -+pci:v00008086d00006F88* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F8A* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F90* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 -+ -+pci:v00008086d00006F93* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 -+ -+pci:v00008086d00006F95* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug -+ -+pci:v00008086d00006F96* -+ ID_MODEL_FROM_DATABASE=Broadwell QPI Link 1 Debug -+ -+pci:v00008086d00006F98* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F99* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F9A* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006F9C* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FA0* -+ ID_MODEL_FROM_DATABASE=Broadwell Home Agent 0 -+ -+pci:v00008086d00006FA8* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Target Address/Thermal/RAS -+ -+pci:v00008086d00006FAA* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAB* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAC* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAD* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel Target Address Decoder -+ -+pci:v00008086d00006FAE* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Broadcast -+ -+pci:v00008086d00006FAF* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Global Broadcast -+ -+pci:v00008086d00006FB0* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Thermal Control -+ -+pci:v00008086d00006FB1* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Thermal Control -+ -+pci:v00008086d00006FB2* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 0 Error -+ -+pci:v00008086d00006FB3* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 1 Error -+ -+pci:v00008086d00006FB4* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Thermal Control -+ -+pci:v00008086d00006FB5* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Thermal Control -+ -+pci:v00008086d00006FB6* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 2 Error -+ -+pci:v00008086d00006FB7* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 0 - Channel 3 Error -+ -+pci:v00008086d00006FB8* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FB9* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FBA* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FBB* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 2/3 Interface -+ -+pci:v00008086d00006FBC* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FBD* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FBE* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FBF* -+ ID_MODEL_FROM_DATABASE=Broadwell DDRIO Channel 0/1 Interface -+ -+pci:v00008086d00006FC0* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC1* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC2* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC3* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC4* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC5* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC6* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC7* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC8* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FC9* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCA* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCB* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCC* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCD* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCE* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FCF* -+ ID_MODEL_FROM_DATABASE=Broadwell Power Control Unit -+ -+pci:v00008086d00006FD0* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Thermal Control -+ -+pci:v00008086d00006FD1* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Thermal Control -+ -+pci:v00008086d00006FD2* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 0 Error -+ -+pci:v00008086d00006FD3* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 1 Error -+ -+pci:v00008086d00006FD4* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Thermal Control -+ -+pci:v00008086d00006FD5* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Thermal Control -+ -+pci:v00008086d00006FD6* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 2 Error -+ -+pci:v00008086d00006FD7* -+ ID_MODEL_FROM_DATABASE=Broadwell Memory Controller 1 - Channel 3 Error -+ -+pci:v00008086d00006FE0* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE1* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE2* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE3* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE4* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE5* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE6* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE7* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE8* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FE9* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEA* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEB* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEC* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FED* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEE* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FEF* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF0* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF1* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF8* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FF9* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFA* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFB* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFC* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFD* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ -+pci:v00008086d00006FFE* -+ ID_MODEL_FROM_DATABASE=Broadwell Caching Agent -+ - pci:v00008086d00007000* - ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II] - -@@ -73838,8 +74411,23 @@ pci:v0000D161d0000800A* - pci:v0000D161d0000800B* - ID_MODEL_FROM_DATABASE=Wildcard TE134 single-span T1/E1/J1 card - -+pci:v0000D161d0000800C* -+ ID_MODEL_FROM_DATABASE=Wildcard A8A 8-port analog card -+ -+pci:v0000D161d0000800D* -+ ID_MODEL_FROM_DATABASE=Wildcard A8B 8-port analog card (PCI-Express) -+ - pci:v0000D161d0000800E* -- ID_MODEL_FROM_DATABASE=Wildcard TE435P quad-span T1/E1/J1 card 3.3V (PCI-Express) -+ ID_MODEL_FROM_DATABASE=Wildcard TE235/TE435 quad-span T1/E1/J1 card (PCI-Express) -+ -+pci:v0000D161d0000800F* -+ ID_MODEL_FROM_DATABASE=Wildcard A4A 4-port analog card -+ -+pci:v0000D161d00008010* -+ ID_MODEL_FROM_DATABASE=Wildcard A4B 4-port analog card (PCI-Express) -+ -+pci:v0000D161d00008013* -+ ID_MODEL_FROM_DATABASE=Wildcard TE236/TE436 quad-span T1/E1/J1 card - - pci:v0000D161d0000B410* - ID_MODEL_FROM_DATABASE=Wildcard B410 quad-BRI card -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index ed6b2b1..d87313c 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -11243,6 +11243,9 @@ usb:v04A9p3261* - usb:v04A9p3262* - ID_MODEL_FROM_DATABASE=PowerShot A2600 - -+usb:v04A9p3263* -+ ID_MODEL_FROM_DATABASE=PowerShot SX275 HS -+ - usb:v04A9p3264* - ID_MODEL_FROM_DATABASE=PowerShot A1400 - -@@ -11261,6 +11264,9 @@ usb:v04A9p3276* - usb:v04A9p3277* - ID_MODEL_FROM_DATABASE=PowerShot SX510 HS - -+usb:v04A9p3278* -+ ID_MODEL_FROM_DATABASE=PowerShot S200 -+ - usb:v04A9p327D* - ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132 - -@@ -11666,6 +11672,9 @@ usb:v04B4p2050* - usb:v04B4p2830* - ID_MODEL_FROM_DATABASE=Opera1 DVB-S (cold state) - -+usb:v04B4p3813* -+ ID_MODEL_FROM_DATABASE=NANO BIOS Programmer -+ - usb:v04B4p4235* - ID_MODEL_FROM_DATABASE=Monitor 02 Driver - -@@ -33116,6 +33125,9 @@ usb:v0B48p300D* - usb:v0B48p300E* - ID_MODEL_FROM_DATABASE=TT-connect C-2400 - -+usb:v0B48p3012* -+ ID_MODEL_FROM_DATABASE=TT-connect CT2-4650 CI -+ - usb:v0B48p3014* - ID_MODEL_FROM_DATABASE=TT-TVStick CT2-4400 - --- -1.7.9.2 - diff --git a/0008-journald-fix-memory-leak-on-error-path.patch b/0008-journald-fix-memory-leak-on-error-path.patch deleted file mode 100644 index 6f67860c..00000000 --- a/0008-journald-fix-memory-leak-on-error-path.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 26d8ff04914a5208d029e899682cd314b7714bf0 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 3 Nov 2014 23:10:34 +0100 -Subject: [PATCH] journald: fix memory leak on error path - ---- - src/journal/journal-vacuum.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git src/journal/journal-vacuum.c src/journal/journal-vacuum.c -index d141fe0..80723c4 100644 ---- src/journal/journal-vacuum.c -+++ src/journal/journal-vacuum.c -@@ -283,7 +283,11 @@ int journal_directory_vacuum( - - patch_realtime(directory, p, &st, &realtime); - -- GREEDY_REALLOC(list, n_allocated, n_list + 1); -+ if (!GREEDY_REALLOC(list, n_allocated, n_list + 1)) { -+ free(p); -+ r = -ENOMEM; -+ goto finish; -+ } - - list[n_list].filename = p; - list[n_list].usage = 512UL * (uint64_t) st.st_blocks; --- -1.7.9.2 - diff --git a/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch b/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch deleted file mode 100644 index b43a43c1..00000000 --- a/0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 252094eb05c58270a0bc35b14ad30a126ddbb3bb Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 11 Mar 2014 05:23:39 +0100 -Subject: [PATCH] man: multiple sleep modes are to be separated by whitespace, - not commas - -As pointed out by Jason A. Donenfeld. ---- - man/systemd-sleep.conf.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd-sleep.conf.xml man/systemd-sleep.conf.xml -index a917f4d..d0ea6d8 100644 ---- man/systemd-sleep.conf.xml -+++ man/systemd-sleep.conf.xml -@@ -128,7 +128,7 @@ along with systemd; If not, see . - systemd-hibernate.service8, or - systemd-hybrid-sleep.service8. - More than one value can be specified by separating -- multiple values with commas. They will be tried -+ multiple values with whitespace. They will be tried - in turn, until one is written without error. If - neither succeeds, the operation will be aborted. - -@@ -146,7 +146,7 @@ along with systemd; If not, see . - systemd-hibernate.service8, or - systemd-hybrid-sleep.service8. - More than one value can be specified by separating -- multiple values with commas. They will be tried -+ multiple values with whitespace. They will be tried - in turn, until one is written without error. If - neither succeeds, the operation will be aborted. - --- -1.7.9.2 - diff --git a/0008-man-update-journald-rate-limit-defaults.patch b/0008-man-update-journald-rate-limit-defaults.patch deleted file mode 100644 index 54aad943..00000000 --- a/0008-man-update-journald-rate-limit-defaults.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8f18f550e7023948f199616fdfbb0f09711fd615 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Wed, 30 Apr 2014 19:53:13 +0300 -Subject: [PATCH] man: update journald rate limit defaults - -This brings the man page back into sync with the actual code. ---- - man/journald.conf.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/journald.conf.xml man/journald.conf.xml -index 239a2ec..5cd09a2 100644 ---- man/journald.conf.xml -+++ man/journald.conf.xml -@@ -190,8 +190,8 @@ - limiting is applied per-service, so - that two services which log do not - interfere with each other's -- limits. Defaults to 200 messages in -- 10s. The time specification for -+ limits. Defaults to 1000 messages in -+ 30s. The time specification for - RateLimitInterval= - may be specified in the following - units: s, --- -1.7.9.2 - diff --git a/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch b/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch deleted file mode 100644 index b189c671..00000000 --- a/0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7c96ab1d2484ab2df3c6a84f1a1d2e076f469085 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 13 Aug 2014 20:01:19 +0200 -Subject: [PATCH] mount-setup: fix counting of early mounts without SMACK - -http://lists.freedesktop.org/archives/systemd-devel/2014-August/021772.html ---- - src/core/mount-setup.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git src/core/mount-setup.c src/core/mount-setup.c -index 206f89a..cc2633e 100644 ---- src/core/mount-setup.c -+++ src/core/mount-setup.c -@@ -63,8 +63,13 @@ typedef struct MountPoint { - - /* The first three entries we might need before SELinux is up. The - * fourth (securityfs) is needed by IMA to load a custom policy. The -- * other ones we can delay until SELinux and IMA are loaded. */ -+ * other ones we can delay until SELinux and IMA are loaded. When -+ * SMACK is enabled we need smackfs, too, so it's a fifth one. */ -+#ifdef HAVE_SMACK - #define N_EARLY_MOUNT 5 -+#else -+#define N_EARLY_MOUNT 4 -+#endif - - static const MountPoint mount_table[] = { - { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, --- -1.7.9.2 - diff --git a/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch b/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch deleted file mode 100644 index d2eac44b..00000000 --- a/0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bbb6ff0216a7c081a2e63e01b1f121592b0165bb Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 14 Mar 2014 21:12:36 +0100 -Subject: [PATCH] sd-bus: don't access invalid memory if a signal matcher was - freed from its own callback - ---- - src/libsystemd/sd-bus/bus-match.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/libsystemd/sd-bus/bus-match.c src/libsystemd/sd-bus/bus-match.c -index 8280488..c54ca8d 100644 ---- src/libsystemd/sd-bus/bus-match.c -+++ src/libsystemd/sd-bus/bus-match.c -@@ -293,6 +293,9 @@ int bus_match_run( - r = bus_maybe_reply_error(m, r, &error_buffer); - if (r != 0) - return r; -+ -+ if (bus && bus->match_callbacks_modified) -+ return 0; - } - - return bus_match_run(bus, node->next, m); --- -1.7.9.2 - diff --git a/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch b/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch deleted file mode 100644 index 3e5d0c03..00000000 --- a/0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch +++ /dev/null @@ -1,52 +0,0 @@ -Based on 77c10205bb337585c320e91af4b416f2dcc6faba Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 13:47:00 +0200 -Subject: [PATCH] shared: conf-parser - don't leak memory on error in - DEFINE_CONFIG_PARSE_ENUMV - -Found by Coverity. Fixes CID #1237746. ---- - src/shared/conf-parser.h | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - ---- src/shared/conf-parser.h -+++ src/shared/conf-parser.h 2014-09-18 13:14:43.730234764 +0000 -@@ -171,7 +171,8 @@ int log_syntax_internal(const char *unit - void *data, \ - void *userdata) { \ - \ -- type **enums = data, *xs, x, *ys; \ -+ type **enums = data, x, *ys; \ -+ _cleanup_free_ type *xs = NULL; \ - char *w, *state; \ - size_t l, i = 0; \ - \ -@@ -187,6 +188,7 @@ int log_syntax_internal(const char *unit - \ - FOREACH_WORD(w, l, rvalue, state) { \ - _cleanup_free_ char *en = NULL; \ -+ type *new_xs; \ - \ - en = strndup(w, l); \ - if (!en) \ -@@ -212,8 +214,10 @@ int log_syntax_internal(const char *unit - continue; \ - \ - *(xs + i) = x; \ -- xs = realloc(xs, (++i + 1) * sizeof(type)); \ -- if (!xs) \ -+ new_xs = realloc(xs, (++i + 1) * sizeof(type)); \ -+ if (new_xs) \ -+ xs = new_xs; \ -+ else \ - return -ENOMEM; \ - \ - *(xs + i) = invalid; \ -@@ -221,5 +225,7 @@ int log_syntax_internal(const char *unit - \ - free(*enums); \ - *enums = xs; \ -+ xs = NULL; \ -+ \ - return 0; \ - } diff --git a/0008-shell-completion-prevent-mangling-unit-names-bash.patch b/0008-shell-completion-prevent-mangling-unit-names-bash.patch deleted file mode 100644 index 7a52c0d7..00000000 --- a/0008-shell-completion-prevent-mangling-unit-names-bash.patch +++ /dev/null @@ -1,87 +0,0 @@ -Based on c317a1a19cd9584e07ee43f1b6fafc26c2c75cca Mon Sep 17 00:00:00 2001 -From: Eric Cook -Date: Sun, 27 Jul 2014 15:07:03 -0400 -Subject: [PATCH] shell-completion: prevent mangling unit names (bash) - -This fixes the issue noted by Zbigniew in most cases. -if a unit's name is enclosed in single quotes completion still -will not happen after the first `\'. - -https://bugs.freedesktop.org/show_bug.cgi?id=78388 ---- - shell-completion/bash/systemctl.in | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in -index 69ef04b..64b15df 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -158,20 +158,25 @@ _systemctl () { - - elif __contains_word "$verb" ${VERBS[ALL_UNITS]}; then - comps=$( __get_all_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[ENABLED_UNITS]}; then - comps=$( __get_enabled_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[DISABLED_UNITS]}; then - comps=$( __get_disabled_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[REENABLABLE_UNITS]}; then - comps=$( __get_disabled_units $mode; - __get_enabled_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ - $( __get_startable_units $mode)) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStart yes \ -@@ -179,24 +184,30 @@ _systemctl () { - | while read -r line; do \ - [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ - done )) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanStop yes \ - $( __get_active_units $mode ) ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[RELOADABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode CanReload yes \ - $( __get_active_units $mode ) ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[ISOLATABLE_UNITS]}; then - comps=$( __filter_units_by_property $mode AllowIsolate yes \ - $( __get_all_units $mode ) ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[FAILED_UNITS]}; then - comps=$( __get_failed_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[MASKED_UNITS]}; then - comps=$( __get_masked_units $mode ) -+ compopt -o filenames - - elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then - comps='' -@@ -221,7 +232,7 @@ _systemctl () { - | { while read -r a b; do echo " $a"; done; } ) - fi - -- COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) -+ COMPREPLY=( $(compgen -o filenames -W '$comps' -- "$cur") ) - return 0 - } - --- -1.7.9.2 - diff --git a/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch b/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch deleted file mode 100644 index b4564a5a..00000000 --- a/0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 0088d63151e088d62104d88f866e9eb049091c22 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 25 Mar 2014 00:31:48 +0100 -Subject: [PATCH] systemctl: --kill-mode is long long gone, don't mention it - in the man page - ---- - man/systemctl.xml | 5 ++--- - shell-completion/bash/systemctl | 5 +---- - 2 files changed, 3 insertions(+), 7 deletions(-) - -diff --git man/systemctl.xml man/systemctl.xml -index 77447dd..b4727d9 100644 ---- man/systemctl.xml -+++ man/systemctl.xml -@@ -664,9 +664,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service - - Send a signal to one or more processes of the - unit. Use to select which -- process to kill. Use to select -- the kill mode and to select the -- signal to send. -+ process to kill. Use to select -+ the signal to send. - - - -diff --git shell-completion/bash/systemctl shell-completion/bash/systemctl -index dc7ef66..0dfc868 100644 ---- shell-completion/bash/systemctl -+++ shell-completion/bash/systemctl -@@ -74,7 +74,7 @@ _systemctl () { - [STANDALONE]='--all -a --reverse --after --before --defaults --fail --ignore-dependencies --failed --force -f --full -l --global - --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall - --quiet -q --privileged -P --system --user --version --runtime' -- [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root' -+ [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' - ) - - if __contains_word "--user" ${COMP_WORDS[*]}; then -@@ -99,9 +99,6 @@ _systemctl () { - --kill-who) - comps='all control main' - ;; -- --kill-mode) -- comps='control-group process' -- ;; - --root) - comps=$(compgen -A directory -- "$cur" ) - compopt -o filenames --- -1.7.9.2 - diff --git a/0008-util-introduce-sethostname_idempotent.patch b/0008-util-introduce-sethostname_idempotent.patch deleted file mode 100644 index 5b42ce14..00000000 --- a/0008-util-introduce-sethostname_idempotent.patch +++ /dev/null @@ -1,85 +0,0 @@ -Based on 605f81a8968b2df8a28cca2cf11db99ab948a2af Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 21 Oct 2014 18:17:54 +0200 -Subject: [PATCH] util: introduce sethostname_idempotent - -Function queries system hostname and applies changes only when necessary. Also, -migrate all client of sethostname to sethostname_idempotent while at it. ---- - src/core/hostname-setup.c | 2 +- - src/hostname/hostnamed.c | 2 +- - src/nspawn/nspawn.c | 2 +- - src/shared/util.c | 20 ++++++++++++++++++++ - src/shared/util.h | 2 ++ - 5 files changed, 25 insertions(+), 3 deletions(-) - ---- src/core/hostname-setup.c -+++ src/core/hostname-setup.c 2014-10-29 00:00:00.000000000 +0000 -@@ -99,7 +99,7 @@ int hostname_setup(void) { - hn = "localhost"; - } - -- if (sethostname(hn, strlen(hn)) < 0) { -+ if (sethostname_idempotent(hn) < 0) { - log_warning("Failed to set hostname to <%s>: %m", hn); - return -errno; - } ---- src/hostname/hostnamed.c -+++ src/hostname/hostnamed.c 2014-10-29 14:13:26.124337751 +0000 -@@ -244,7 +244,7 @@ static int context_write_data_hostname(C - else - hn = c->data[PROP_HOSTNAME]; - -- if (sethostname(hn, strlen(hn)) < 0) -+ if (sethostname_idempotent(hn) < 0) - return -errno; - - return 0; ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-10-29 00:00:00.000000000 +0000 -@@ -981,7 +981,7 @@ static int setup_hostname(void) { - if (arg_share_system) - return 0; - -- if (sethostname(arg_machine, strlen(arg_machine)) < 0) -+ if (sethostname_idempotent(arg_machine) < 0) - return -errno; - - return 0; ---- src/shared/util.c -+++ src/shared/util.c 2014-10-29 00:00:00.000000000 +0000 -@@ -6451,6 +6451,26 @@ int fd_warn_permissions(const char *path - return 0; - } - -+int sethostname_idempotent(const char *s) { -+ int r; -+ char buf[HOST_NAME_MAX + 1] = {}; -+ -+ assert(s); -+ -+ r = gethostname(buf, sizeof(buf)); -+ if (r < 0) -+ return -errno; -+ -+ if (streq(buf, s)) -+ return 0; -+ -+ r = sethostname(buf, strlen(buf)); -+ if (r < 0) -+ return -errno; -+ -+ return 1; -+} -+ - unsigned long personality_from_string(const char *p) { - - /* Parse a personality specifier. We introduce our own ---- src/shared/util.h -+++ src/shared/util.h 2014-10-29 14:14:15.764337717 +0000 -@@ -899,3 +899,5 @@ union file_handle_union { - }; - - int umount_recursive(const char *target, int flags); -+ -+int sethostname_idempotent(const char *s); diff --git a/0009-ask-password-when-the-user-types-a-overly-long-passw.patch b/0009-ask-password-when-the-user-types-a-overly-long-passw.patch deleted file mode 100644 index 840c4a18..00000000 --- a/0009-ask-password-when-the-user-types-a-overly-long-passw.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 036eeac5a1799fa2c0ae11a14d8c667b5d303189 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 25 Mar 2014 01:27:05 +0100 -Subject: [PATCH] ask-password: when the user types a overly long password, - beep and refuse -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Based on a similar patch from David Härdeman. ---- - src/shared/ask-password-api.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/shared/ask-password-api.c src/shared/ask-password-api.c -index 117f0c6..96f16cc 100644 ---- src/shared/ask-password-api.c -+++ src/shared/ask-password-api.c -@@ -207,6 +207,11 @@ int ask_password_tty( - if (ttyfd >= 0) - loop_write(ttyfd, "(no echo) ", 10, false); - } else { -+ if (p >= sizeof(passphrase)-1) { -+ loop_write(ttyfd, "\a", 1, false); -+ continue; -+ } -+ - passphrase[p++] = c; - - if (!silent_mode && ttyfd >= 0) --- -1.7.9.2 - diff --git a/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch b/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch deleted file mode 100644 index 381d0732..00000000 --- a/0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c2fa048c4a70c8386c6d8fe939e5ea9edecf1e98 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Thu, 18 Sep 2014 13:28:28 +0200 -Subject: [PATCH] bus: fix bus_print_property() to use "int" for booleans - -We always use "int" if we retrieve boolean values from sd-bus, as "bool" -is only a single byte, but full int on va-args. - -Thanks to Werner Fink for the report! ---- - src/libsystemd/sd-bus/bus-util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c -index 7c6da60..9018bce 100644 ---- src/libsystemd/sd-bus/bus-util.c -+++ src/libsystemd/sd-bus/bus-util.c -@@ -631,7 +631,7 @@ int bus_print_property(const char *name, sd_bus_message *property, bool all) { - } - - case SD_BUS_TYPE_BOOLEAN: { -- bool b; -+ int b; - - r = sd_bus_message_read_basic(property, type, &b); - if (r < 0) --- -1.7.9.2 - diff --git a/0009-core-clean-up-signal-reset-logic-when-reexec.patch b/0009-core-clean-up-signal-reset-logic-when-reexec.patch deleted file mode 100644 index cfe54186..00000000 --- a/0009-core-clean-up-signal-reset-logic-when-reexec.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 9bfcda9528636914aef3e0ab91191bb81654c83d Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 20 Jun 2014 16:58:21 +0200 -Subject: [PATCH] core: clean-up signal reset logic when reexec - -There's no need to save the old sigmask, if we are going to die. Let's -simplify this. Also, reset all the signal handlers, so that we don't -leave SIG_IGN set for some of them across reexec. ---- - src/core/main.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git src/core/main.c src/core/main.c -index 863ba52..6981e72 100644 ---- src/core/main.c -+++ src/core/main.c -@@ -1824,7 +1824,7 @@ finish: - if (reexecute) { - const char **args; - unsigned i, args_size; -- sigset_t ss, o_ss; -+ sigset_t ss; - - /* Close and disarm the watchdog, so that the new - * instance can reinitialize it, but doesn't get -@@ -1910,8 +1910,10 @@ finish: - - /* reenable any blocked signals, especially important - * if we switch from initial ramdisk to init=... */ -- sigemptyset(&ss); -- sigprocmask(SIG_SETMASK, &ss, &o_ss); -+ reset_all_signal_handlers(); -+ -+ assert_se(sigemptyset(&ss) == 0); -+ assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0); - - if (switch_root_init) { - args[0] = switch_root_init; -@@ -1931,8 +1933,6 @@ finish: - log_error("Failed to execute /bin/sh, giving up: %m"); - } else - log_warning("Failed to execute /sbin/init, giving up: %m"); -- -- sigprocmask(SIG_SETMASK, &o_ss, NULL); - } - - if (arg_serialization) { --- -1.7.9.2 - diff --git a/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index 69372137..00000000 --- a/0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2e3390ea4684b954edce66b7758b5371d3338a9f Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Thu, 2 Oct 2014 07:53:15 +0200 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index 14aee74..ee2efdf 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -1148,3 +1148,21 @@ bluetooth:v017B* - - bluetooth:v017C* - ID_VENDOR_FROM_DATABASE=Daimler AG -+ -+bluetooth:v017D* -+ ID_VENDOR_FROM_DATABASE=BatAndCat -+ -+bluetooth:v017E* -+ ID_VENDOR_FROM_DATABASE=BluDotz Ltd -+ -+bluetooth:v017F* -+ ID_VENDOR_FROM_DATABASE=XTel ApS -+ -+bluetooth:v0180* -+ ID_VENDOR_FROM_DATABASE=Gigaset Communications GmbH -+ -+bluetooth:v0181* -+ ID_VENDOR_FROM_DATABASE=Gecko Health Innovations, Inc. -+ -+bluetooth:v0182* -+ ID_VENDOR_FROM_DATABASE=HOP Ubiquitous --- -1.7.9.2 - diff --git a/0009-hwdb-update.patch b/0009-hwdb-update.patch deleted file mode 100644 index 099e33b6..00000000 --- a/0009-hwdb-update.patch +++ /dev/null @@ -1,3363 +0,0 @@ -From fea0bfaed5411de43811dc428e763029d3aaabe5 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Tue, 9 Sep 2014 07:44:02 +0200 -Subject: [PATCH] hwdb: update - ---- - hwdb/20-OUI.hwdb | 249 +++++- - hwdb/20-pci-vendor-model.hwdb | 1987 ++++++++++++++++++++++++++++++++++++++++- - hwdb/20-usb-vendor-model.hwdb | 2 +- - 3 files changed, 2199 insertions(+), 39 deletions(-) - -diff --git hwdb/20-OUI.hwdb hwdb/20-OUI.hwdb -index e0c5fed..73df96c 100644 ---- hwdb/20-OUI.hwdb -+++ hwdb/20-OUI.hwdb -@@ -4103,7 +4103,7 @@ OUI:0050C2561* - ID_OUI_FROM_DATABASE=Seitec Elektronik GmbH - - OUI:0050C2562* -- ID_OUI_FROM_DATABASE=C21 Technology Limited -+ ID_OUI_FROM_DATABASE=C21 Systems Limited - - OUI:0050C2563* - ID_OUI_FROM_DATABASE=ORTRAT, S.L. -@@ -26081,7 +26081,7 @@ OUI:00105D* - ID_OUI_FROM_DATABASE=Draeger Medical - - OUI:00105E* -- ID_OUI_FROM_DATABASE=HEKIMIAN LABORATORIES, INC. -+ ID_OUI_FROM_DATABASE=Spirent plc, Service Assurance Broadband - - OUI:00105F* - ID_OUI_FROM_DATABASE=ZODIAC DATA SYSTEMS -@@ -35786,7 +35786,7 @@ OUI:001D04* - ID_OUI_FROM_DATABASE=Zipit Wireless, Inc. - - OUI:001D05* -- ID_OUI_FROM_DATABASE=iLight -+ ID_OUI_FROM_DATABASE=Eaton Corporation - - OUI:001D06* - ID_OUI_FROM_DATABASE=HM Electronics, Inc. -@@ -44287,6 +44287,9 @@ OUI:0034F1* - OUI:003532* - ID_OUI_FROM_DATABASE=Electro-Metrics Corporation - -+OUI:003560* -+ ID_OUI_FROM_DATABASE=Rosen Aviation -+ - OUI:0036F8* - ID_OUI_FROM_DATABASE=Conti Temic microelectronic GmbH - -@@ -50072,7 +50075,7 @@ OUI:00D01E* - ID_OUI_FROM_DATABASE=PINGTEL CORP. - - OUI:00D01F* -- ID_OUI_FROM_DATABASE=CTAM PTY. LTD. -+ ID_OUI_FROM_DATABASE=Senetas Security - - OUI:00D020* - ID_OUI_FROM_DATABASE=AIM SYSTEM, INC. -@@ -51616,6 +51619,9 @@ OUI:00EEBD* - OUI:00F051* - ID_OUI_FROM_DATABASE=KWB Gmbh - -+OUI:00F3DB* -+ ID_OUI_FROM_DATABASE=WOO Sports -+ - OUI:00F403* - ID_OUI_FROM_DATABASE=Orbis Systems Oy - -@@ -51889,6 +51895,9 @@ OUI:04B3B6* - OUI:04B466* - ID_OUI_FROM_DATABASE=BSP Co., Ltd. - -+OUI:04BD70* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:04BFA8* - ID_OUI_FROM_DATABASE=ISB Corporation - -@@ -51898,6 +51907,9 @@ OUI:04C05B* - OUI:04C06F* - ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd - -+OUI:04C09C* -+ ID_OUI_FROM_DATABASE=Tellabs Inc. -+ - OUI:04C1B9* - ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. - -@@ -52657,6 +52669,9 @@ OUI:089F97* - OUI:08A12B* - ID_OUI_FROM_DATABASE=ShenZhen EZL Technology Co., Ltd - -+OUI:08A5C8* -+ ID_OUI_FROM_DATABASE=Sunnovo International Limited -+ - OUI:08A95A* - ID_OUI_FROM_DATABASE=Azurewave - -@@ -52747,6 +52762,9 @@ OUI:08EE8B* - OUI:08EF3B* - ID_OUI_FROM_DATABASE=MCS Logic Inc. - -+OUI:08EFAB* -+ ID_OUI_FROM_DATABASE=SAYME WIRELESS SENSOR NETWORK -+ - OUI:08F1B7* - ID_OUI_FROM_DATABASE=Towerstream Corpration - -@@ -53125,6 +53143,9 @@ OUI:1001CA* - OUI:1005CA* - ID_OUI_FROM_DATABASE=Cisco - -+OUI:100723* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:1008B1* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -53389,6 +53410,9 @@ OUI:10C586* - OUI:10C61F* - ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd - -+OUI:10C67E* -+ ID_OUI_FROM_DATABASE=SHENZHEN JUCHIN TECHNOLOGY CO., LTD -+ - OUI:10C6FC* - ID_OUI_FROM_DATABASE=Garmin International - -@@ -53446,6 +53470,9 @@ OUI:10F3DB* - OUI:10F49A* - ID_OUI_FROM_DATABASE=T3 Innovation - -+OUI:10F681* -+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd. -+ - OUI:10F96F* - ID_OUI_FROM_DATABASE=LG Electronics - -@@ -53527,6 +53554,9 @@ OUI:1435B3* - OUI:143605* - ID_OUI_FROM_DATABASE=Nokia Corporation - -+OUI:1436C6* -+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd. -+ - OUI:14373B* - ID_OUI_FROM_DATABASE=PROCOM Systems - -@@ -53782,6 +53812,9 @@ OUI:18193F* - OUI:181BEB* - ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc - -+OUI:181E78* -+ ID_OUI_FROM_DATABASE=SAGEMCOM -+ - OUI:181EB0* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -53881,6 +53914,9 @@ OUI:18622C* - OUI:186472* - ID_OUI_FROM_DATABASE=Aruba Networks - -+OUI:186571* -+ ID_OUI_FROM_DATABASE=Top Victory Electronics (Taiwan) Co., Ltd. -+ - OUI:1866E3* - ID_OUI_FROM_DATABASE=Veros Systems, Inc. - -@@ -54023,7 +54059,7 @@ OUI:18CF5E* - ID_OUI_FROM_DATABASE=Liteon Technology Corporation - - OUI:18D071* -- ID_OUI_FROM_DATABASE=DASAN SMC, Inc. -+ ID_OUI_FROM_DATABASE=DASAN CO., LTD. - - OUI:18D5B6* - ID_OUI_FROM_DATABASE=SMG Holdings LLC -@@ -55270,6 +55306,9 @@ OUI:28D576* - OUI:28D93E* - ID_OUI_FROM_DATABASE=Telecor Inc. - -+OUI:28D98A* -+ ID_OUI_FROM_DATABASE=Hangzhou Konke Technology Co.,Ltd. -+ - OUI:28D997* - ID_OUI_FROM_DATABASE=Yuduan Mobile Co., Ltd. - -@@ -55387,6 +55426,9 @@ OUI:2C2D48* - OUI:2C3068* - ID_OUI_FROM_DATABASE=Pantech Co.,Ltd - -+OUI:2C337A* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:2C3427* - ID_OUI_FROM_DATABASE=ERCO & GENER - -@@ -55891,6 +55933,9 @@ OUI:30D357* - OUI:30D46A* - ID_OUI_FROM_DATABASE=Autosales Incorporated - -+OUI:30D587* -+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd -+ - OUI:30D6C9* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -@@ -56062,6 +56107,9 @@ OUI:346BD3* - OUI:346E8A* - ID_OUI_FROM_DATABASE=Ecosense - -+OUI:346F90* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:346F92* - ID_OUI_FROM_DATABASE=White Rodgers Division - -@@ -56266,6 +56314,9 @@ OUI:34E42A* - OUI:34E6AD* - ID_OUI_FROM_DATABASE=Intel Corporate - -+OUI:34E6D7* -+ ID_OUI_FROM_DATABASE=Dell Inc. -+ - OUI:34EF44* - ID_OUI_FROM_DATABASE=2Wire - -@@ -56413,6 +56464,9 @@ OUI:385FC3* - OUI:386077* - ID_OUI_FROM_DATABASE=PEGATRON CORPORATION - -+OUI:3863BB* -+ ID_OUI_FROM_DATABASE=Hewlett Packard -+ - OUI:3863F6* - ID_OUI_FROM_DATABASE=3NOD MULTIMEDIA(SHENZHEN)CO.,LTD - -@@ -56677,6 +56731,9 @@ OUI:3C3888* - OUI:3C39C3* - ID_OUI_FROM_DATABASE=JW Electronics Co., Ltd. - -+OUI:3C39E7* -+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY - Please see MAM public listing for more information. -+ - OUI:3C3A73* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -56689,6 +56746,9 @@ OUI:3C438E* - OUI:3C46D8* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD. - -+OUI:3C4937* -+ ID_OUI_FROM_DATABASE=ASSMANN Electronic GmbH -+ - OUI:3C4A92* - ID_OUI_FROM_DATABASE=Hewlett-Packard Company - -@@ -56815,6 +56875,9 @@ OUI:3CAA3F* - OUI:3CAB8E* - ID_OUI_FROM_DATABASE=Apple - -+OUI:3CAE69* -+ ID_OUI_FROM_DATABASE=ESA Elektroschaltanlagen Grimma GmbH -+ - OUI:3CB15B* - ID_OUI_FROM_DATABASE=Avaya, Inc - -@@ -57211,6 +57274,9 @@ OUI:40E730* - OUI:40E793* - ID_OUI_FROM_DATABASE=Shenzhen Siviton Technology Co.,Ltd - -+OUI:40EACE* -+ ID_OUI_FROM_DATABASE=FOUNDER BROADBAND NETWORK SERVICE CO.,LTD -+ - OUI:40ECF8* - ID_OUI_FROM_DATABASE=Siemens AG - -@@ -57535,6 +57601,9 @@ OUI:44DCCB* - OUI:44E08E* - ID_OUI_FROM_DATABASE=Cisco SPVTG - -+OUI:44E137* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:44E49A* - ID_OUI_FROM_DATABASE=OMNITRONICS PTY LTD - -@@ -58348,6 +58417,9 @@ OUI:50A733* - OUI:50ABBF* - ID_OUI_FROM_DATABASE=Hoseo Telecom - -+OUI:50ADD5* -+ ID_OUI_FROM_DATABASE=Dynalec Corporation -+ - OUI:50AF73* - ID_OUI_FROM_DATABASE=Shenzhen Bitland Information Technology Co., Ltd. - -@@ -58537,6 +58609,9 @@ OUI:544A05* - OUI:544A16* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:545146* -+ ID_OUI_FROM_DATABASE=AMG Systems Ltd. -+ - OUI:5453ED* - ID_OUI_FROM_DATABASE=Sony Corporation - -@@ -58852,6 +58927,9 @@ OUI:58696C* - OUI:5869F9* - ID_OUI_FROM_DATABASE=Fusion Transactive Ltd. - -+OUI:586AB1* -+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited -+ - OUI:586D8F* - ID_OUI_FROM_DATABASE=Cisco-Linksys, LLC - -@@ -59080,6 +59158,9 @@ OUI:5C2BF5* - OUI:5C2E59* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:5C2ED2* -+ ID_OUI_FROM_DATABASE=ABC(XiSheng) Electronics Co.,Ltd -+ - OUI:5C313E* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -59272,6 +59353,9 @@ OUI:5CDAD4* - OUI:5CDD70* - ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited - -+OUI:5CE0C5* -+ ID_OUI_FROM_DATABASE=Intel Corporate -+ - OUI:5CE0CA* - ID_OUI_FROM_DATABASE=FeiTian United (Beijing) System Technology Co., Ltd. - -@@ -59767,6 +59851,9 @@ OUI:64317E* - OUI:643409* - ID_OUI_FROM_DATABASE=BITwave Pte Ltd - -+OUI:643E8C* -+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD -+ - OUI:643F5F* - ID_OUI_FROM_DATABASE=Exablaze - -@@ -59908,6 +59995,9 @@ OUI:6487D7* - OUI:6488FF* - ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd. - -+OUI:64899A* -+ ID_OUI_FROM_DATABASE=LG Electronics -+ - OUI:648D9E* - ID_OUI_FROM_DATABASE=IVT Electronic Co.,Ltd - -@@ -60328,6 +60418,9 @@ OUI:68BC0C* - OUI:68BDAB* - ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. - -+OUI:68C90B* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:68CA00* - ID_OUI_FROM_DATABASE=Octopus Systems Limited - -@@ -60442,6 +60535,9 @@ OUI:6C22AB* - OUI:6C23B9* - ID_OUI_FROM_DATABASE=Sony Ericsson Mobile Communications AB - -+OUI:6C25B9* -+ ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd., -+ - OUI:6C2995* - ID_OUI_FROM_DATABASE=Intel Corporate - -@@ -60574,6 +60670,9 @@ OUI:6C90B1* - OUI:6C92BF* - ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd. - -+OUI:6C94F8* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:6C98EB* - ID_OUI_FROM_DATABASE=Ocedo GmbH - -@@ -60724,6 +60823,9 @@ OUI:700514* - OUI:700BC0* - ID_OUI_FROM_DATABASE=Dewav Technology Company - -+OUI:700FC7* -+ ID_OUI_FROM_DATABASE=SHENZHEN IKINLOOP TECHNOLOGY CO.,LTD. -+ - OUI:700FEC* - ID_OUI_FROM_DATABASE=Poindus Systems Corp. - -@@ -60802,6 +60904,9 @@ OUI:703AD8* - OUI:703C39* - ID_OUI_FROM_DATABASE=SEAWING Kft - -+OUI:703EAC* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:7041B7* - ID_OUI_FROM_DATABASE=Edwards Lifesciences LLC - -@@ -60901,6 +61006,9 @@ OUI:7076DD* - OUI:7076F0* - ID_OUI_FROM_DATABASE=LevelOne Communications (India) Private Limited - -+OUI:7076FF* -+ ID_OUI_FROM_DATABASE=KERLINK -+ - OUI:707BE8* - ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD - -@@ -61105,6 +61213,9 @@ OUI:74273C* - OUI:7427EA* - ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., Ltd. - -+OUI:7429AF* -+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. -+ - OUI:742B0F* - ID_OUI_FROM_DATABASE=Infinidat Ltd. - -@@ -61447,6 +61558,9 @@ OUI:78303B* - OUI:7830E1* - ID_OUI_FROM_DATABASE=UltraClenz, LLC - -+OUI:78312B* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:7831C1* - ID_OUI_FROM_DATABASE=Apple - -@@ -61639,6 +61753,9 @@ OUI:78ACC0* - OUI:78AE0C* - ID_OUI_FROM_DATABASE=Far South Networks - -+OUI:78B3B9* -+ ID_OUI_FROM_DATABASE=ShangHai sunup lighting CO.,LTD -+ - OUI:78B3CE* - ID_OUI_FROM_DATABASE=Elo touch solutions - -@@ -61741,6 +61858,9 @@ OUI:78E7D1* - OUI:78E8B6* - ID_OUI_FROM_DATABASE=zte corporation - -+OUI:78EB14* -+ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO.,LTD -+ - OUI:78EC22* - ID_OUI_FROM_DATABASE=Shanghai Qihui Telecom Technology Co., LTD - -@@ -62569,6 +62689,9 @@ OUI:843A4B* - OUI:843F4E* - ID_OUI_FROM_DATABASE=Tri-Tech Manufacturing, Inc. - -+OUI:844464* -+ ID_OUI_FROM_DATABASE=ServerU Inc -+ - OUI:844823* - ID_OUI_FROM_DATABASE=WOXTER TECHNOLOGY Co. Ltd - -@@ -62605,6 +62728,9 @@ OUI:846223* - OUI:8462A6* - ID_OUI_FROM_DATABASE=EuroCB (Phils), Inc. - -+OUI:8463D6* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:846AED* - ID_OUI_FROM_DATABASE=Wireless Tsukamoto.,co.LTD - -@@ -62665,6 +62791,9 @@ OUI:848E0C* - OUI:848E96* - ID_OUI_FROM_DATABASE=Embertec Pty Ltd - -+OUI:848EDF* -+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB -+ - OUI:848F69* - ID_OUI_FROM_DATABASE=Dell Inc. - -@@ -62746,6 +62875,9 @@ OUI:84DB2F* - OUI:84DD20* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:84DDB7* -+ ID_OUI_FROM_DATABASE=Cilag GmbH International -+ - OUI:84DE3D* - ID_OUI_FROM_DATABASE=Crystal Vision Ltd - -@@ -62812,6 +62944,9 @@ OUI:881544* - OUI:8818AE* - ID_OUI_FROM_DATABASE=Tamron Co., Ltd - -+OUI:881DFC* -+ ID_OUI_FROM_DATABASE=Cisco -+ - OUI:881FA1* - ID_OUI_FROM_DATABASE=Apple - -@@ -63367,6 +63502,9 @@ OUI:8CDF9D* - OUI:8CE081* - ID_OUI_FROM_DATABASE=zte corporation - -+OUI:8CE78C* -+ ID_OUI_FROM_DATABASE=DK Networks -+ - OUI:8CE7B3* - ID_OUI_FROM_DATABASE=Sonardyne International Ltd - -@@ -63409,6 +63547,9 @@ OUI:900917* - OUI:900A3A* - ID_OUI_FROM_DATABASE=PSG Plastic Service GmbH - -+OUI:900CB4* -+ ID_OUI_FROM_DATABASE=Alinket Electronic Technology Co., Ltd -+ - OUI:900D66* - ID_OUI_FROM_DATABASE=Digimore Electronics Co., Ltd - -@@ -63556,6 +63697,9 @@ OUI:9067B5* - OUI:9067F3* - ID_OUI_FROM_DATABASE=Alcatel Lucent - -+OUI:9068C3* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:906DC8* - ID_OUI_FROM_DATABASE=DLG Automação Industrial Ltda - -@@ -63781,6 +63925,9 @@ OUI:940149* - OUI:9401C2* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:9405B6* -+ ID_OUI_FROM_DATABASE=Liling FullRiver Electronics & Technology Ltd -+ - OUI:940B2D* - ID_OUI_FROM_DATABASE=NetView Technologies(Shenzhen) Co., Ltd - -@@ -63913,6 +64060,9 @@ OUI:948B03* - OUI:948D50* - ID_OUI_FROM_DATABASE=Beamex Oy Ab - -+OUI:948E89* -+ ID_OUI_FROM_DATABASE=INDUSTRIAS UNIDAS SA DE CV -+ - OUI:948FEE* - ID_OUI_FROM_DATABASE=Hughes Telematics, Inc. - -@@ -64639,6 +64789,9 @@ OUI:9CD36D* - OUI:9CD643* - ID_OUI_FROM_DATABASE=D-Link International - -+OUI:9CD917* -+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC -+ - OUI:9CDF03* - ID_OUI_FROM_DATABASE=Harman/Becker Automotive Systems GmbH - -@@ -65407,6 +65560,9 @@ OUI:A81B18* - OUI:A81B5D* - ID_OUI_FROM_DATABASE=Foxtel Management Pty Ltd - -+OUI:A81D16* -+ ID_OUI_FROM_DATABASE=AzureWave Technologies, Inc -+ - OUI:A81FAF* - ID_OUI_FROM_DATABASE=KRYPTON POLSKA - -@@ -65473,6 +65629,9 @@ OUI:A863DF* - OUI:A863F2* - ID_OUI_FROM_DATABASE=Texas Instruments - -+OUI:A86405* -+ ID_OUI_FROM_DATABASE=nimbus 9, Inc -+ - OUI:A865B2* - ID_OUI_FROM_DATABASE=DONGGUAN YISHANG ELECTRONIC TECHNOLOGY CO., LIMITED - -@@ -66064,6 +66223,9 @@ OUI:B0435D* - OUI:B04515* - ID_OUI_FROM_DATABASE=mira fitness,LLC. - -+OUI:B04519* -+ ID_OUI_FROM_DATABASE=TCT mobile ltd -+ - OUI:B04545* - ID_OUI_FROM_DATABASE=YACOUB Automation GmbH - -@@ -67105,6 +67267,9 @@ OUI:BC4760* - OUI:BC4B79* - ID_OUI_FROM_DATABASE=SensingTek - -+OUI:BC4DFB* -+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc -+ - OUI:BC4E3C* - ID_OUI_FROM_DATABASE=CORE STAFF CO., LTD. - -@@ -67114,6 +67279,9 @@ OUI:BC4E5D* - OUI:BC51FE* - ID_OUI_FROM_DATABASE=Swann Communications Pty Ltd - -+OUI:BC52B4* -+ ID_OUI_FROM_DATABASE=Alcatel-Lucent -+ - OUI:BC52B7* - ID_OUI_FROM_DATABASE=Apple - -@@ -67153,6 +67321,9 @@ OUI:BC71C1* - OUI:BC72B1* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:BC74D7* -+ ID_OUI_FROM_DATABASE=HangZhou JuRu Technology CO.,LTD -+ - OUI:BC764E* - ID_OUI_FROM_DATABASE=Rackspace US, Inc. - -@@ -67363,6 +67534,9 @@ OUI:C03580* - OUI:C035BD* - ID_OUI_FROM_DATABASE=Velocytech Aps - -+OUI:C035C5* -+ ID_OUI_FROM_DATABASE=Prosoft Systems LTD -+ - OUI:C03896* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -@@ -67867,6 +68041,9 @@ OUI:C4BA99* - OUI:C4BD6A* - ID_OUI_FROM_DATABASE=SKF GmbH - -+OUI:C4BE84* -+ ID_OUI_FROM_DATABASE=Texas Instruments. -+ - OUI:C4C0AE* - ID_OUI_FROM_DATABASE=MIDORI ELECTRONIC CO., LTD. - -@@ -68527,6 +68704,9 @@ OUI:CCB8F1* - OUI:CCBD35* - ID_OUI_FROM_DATABASE=Steinel GmbH - -+OUI:CCBDD3* -+ ID_OUI_FROM_DATABASE=Ultimaker B.V. -+ - OUI:CCBE71* - ID_OUI_FROM_DATABASE=OptiLogix BV - -@@ -68698,6 +68878,9 @@ OUI:D046DC* - OUI:D04CC1* - ID_OUI_FROM_DATABASE=SINTRONES Technology Corp. - -+OUI:D04F7E* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D05099* - ID_OUI_FROM_DATABASE=ASRock Incorporation - -@@ -68734,6 +68917,9 @@ OUI:D05A0F* - OUI:D05AF1* - ID_OUI_FROM_DATABASE=Shenzhen Pulier Tech CO.,Ltd - -+OUI:D05BA8* -+ ID_OUI_FROM_DATABASE=zte corporation -+ - OUI:D05FB8* - ID_OUI_FROM_DATABASE=Texas Instruments - -@@ -69025,6 +69211,9 @@ OUI:D42F23* - OUI:D4319D* - ID_OUI_FROM_DATABASE=Sinwatec - -+OUI:D43266* -+ ID_OUI_FROM_DATABASE=Fike Corporation -+ - OUI:D437D7* - ID_OUI_FROM_DATABASE=zte corporation - -@@ -69307,6 +69496,9 @@ OUI:D4F143* - OUI:D4F46F* - ID_OUI_FROM_DATABASE=Apple - -+OUI:D4F513* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:D4F63F* - ID_OUI_FROM_DATABASE=IEA S.R.L. - -@@ -69568,6 +69760,9 @@ OUI:D8B8F6* - OUI:D8B90E* - ID_OUI_FROM_DATABASE=Triple Domain Vision Co.,Ltd. - -+OUI:D8BB2C* -+ ID_OUI_FROM_DATABASE=Apple -+ - OUI:D8BF4C* - ID_OUI_FROM_DATABASE=Victory Concept Electronics Limited - -@@ -69635,7 +69830,7 @@ OUI:D8E56D* - ID_OUI_FROM_DATABASE=TCT Mobile Limited - - OUI:D8E72B* -- ID_OUI_FROM_DATABASE=OnPATH Technologies -+ ID_OUI_FROM_DATABASE=NetScout Systems, Inc. - - OUI:D8E743* - ID_OUI_FROM_DATABASE=Wush, Inc -@@ -70084,6 +70279,9 @@ OUI:E08177* - OUI:E087B1* - ID_OUI_FROM_DATABASE=Nata-Info Ltd. - -+OUI:E0885D* -+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc -+ - OUI:E08A7E* - ID_OUI_FROM_DATABASE=Exponent - -@@ -70474,6 +70672,9 @@ OUI:E4AFA1* - OUI:E4B021* - ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd - -+OUI:E4BAD9* -+ ID_OUI_FROM_DATABASE=360 Fly Inc. -+ - OUI:E4C146* - ID_OUI_FROM_DATABASE=Objetivos y Servicios de Valor A - -@@ -70603,6 +70804,9 @@ OUI:E82AEA* - OUI:E82E24* - ID_OUI_FROM_DATABASE=Out of the Fog Research LLC - -+OUI:E83381* -+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc. -+ - OUI:E83935* - ID_OUI_FROM_DATABASE=Hewlett Packard - -@@ -70720,6 +70924,9 @@ OUI:E88D28* - OUI:E88DF5* - ID_OUI_FROM_DATABASE=ZNYX Networks, Inc. - -+OUI:E88E60* -+ ID_OUI_FROM_DATABASE=NSD Corporation -+ - OUI:E89218* - ID_OUI_FROM_DATABASE=Arcontia International AB - -@@ -70918,6 +71125,9 @@ OUI:EC233D* - OUI:EC2368* - ID_OUI_FROM_DATABASE=IntelliVoice Co.,Ltd. - -+OUI:EC24B8* -+ ID_OUI_FROM_DATABASE=Texas Instruments -+ - OUI:EC2AF0* - ID_OUI_FROM_DATABASE=Ypsomed AG - -@@ -70978,6 +71188,9 @@ OUI:EC542E* - OUI:EC55F9* - ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. - -+OUI:EC59E7* -+ ID_OUI_FROM_DATABASE=Microsoft Corporation -+ - OUI:EC5C69* - ID_OUI_FROM_DATABASE=MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD. - -@@ -71002,6 +71215,9 @@ OUI:EC7C74* - OUI:EC7D9D* - ID_OUI_FROM_DATABASE=MEI - -+OUI:EC8009* -+ ID_OUI_FROM_DATABASE=NovaSparks -+ - OUI:EC836C* - ID_OUI_FROM_DATABASE=RM Tech Co., Ltd. - -@@ -71449,6 +71665,9 @@ OUI:F0F002* - OUI:F0F260* - ID_OUI_FROM_DATABASE=Mobitec AB - -+OUI:F0F336* -+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD -+ - OUI:F0F5AE* - ID_OUI_FROM_DATABASE=Adaptrum Inc. - -@@ -71476,6 +71695,9 @@ OUI:F0F9F7* - OUI:F0FDA0* - ID_OUI_FROM_DATABASE=Acurix Networks LP - -+OUI:F0FE6B* -+ ID_OUI_FROM_DATABASE=Shanghai High-Flying Electronics Technology Co., Ltd -+ - OUI:F40321* - ID_OUI_FROM_DATABASE=BeNeXt B.V. - -@@ -71758,6 +71980,9 @@ OUI:F4EA67* - OUI:F4EC38* - ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD. - -+OUI:F4EE14* -+ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. -+ - OUI:F4F15A* - ID_OUI_FROM_DATABASE=Apple - -@@ -71881,6 +72106,9 @@ OUI:F83DFF* - OUI:F842FB* - ID_OUI_FROM_DATABASE=Yasuda Joho Co.,ltd. - -+OUI:F84360* -+ ID_OUI_FROM_DATABASE=INGENICO -+ - OUI:F845AD* - ID_OUI_FROM_DATABASE=Konka Group Co., Ltd. - -@@ -72037,12 +72265,18 @@ OUI:F8AC6D* - OUI:F8B156* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:F8B2F3* -+ ID_OUI_FROM_DATABASE=GUANGZHOU BOSMA TECHNOLOGY CO.,LTD -+ - OUI:F8B599* - ID_OUI_FROM_DATABASE=Guangzhou CHNAVS Digital Technology Co.,Ltd - - OUI:F8BC12* - ID_OUI_FROM_DATABASE=Dell Inc - -+OUI:F8BC41* -+ ID_OUI_FROM_DATABASE=Rosslare Enterprises Limited -+ - OUI:F8C001* - ID_OUI_FROM_DATABASE=Juniper Networks - -@@ -72310,6 +72544,9 @@ OUI:FC6198* - OUI:FC626E* - ID_OUI_FROM_DATABASE=Beijing MDC Telecom - -+OUI:FC62B9* -+ ID_OUI_FROM_DATABASE=ALPS ERECTRIC CO.,LTD -+ - OUI:FC683E* - ID_OUI_FROM_DATABASE=Directed Perception, Inc - -diff --git hwdb/20-pci-vendor-model.hwdb hwdb/20-pci-vendor-model.hwdb -index 3bcdbc0..1b98b1d 100644 ---- hwdb/20-pci-vendor-model.hwdb -+++ hwdb/20-pci-vendor-model.hwdb -@@ -7892,6 +7892,9 @@ pci:v00001002d0000692B* - pci:v00001002d0000692F* - ID_MODEL_FROM_DATABASE=Tonga XT GL [FirePro W8100] - -+pci:v00001002d00006939* -+ ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285] -+ - pci:v00001002d0000700F* - ID_MODEL_FROM_DATABASE=RS100 AGP Bridge - -@@ -17466,7 +17469,7 @@ pci:v00001093d00000162* - ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-50 - - pci:v00001093d00001150* -- ID_MODEL_FROM_DATABASE=PCI-DIO-32HS High Speed Digital I/O Board -+ ID_MODEL_FROM_DATABASE=PCI-6533 (PCI-DIO-32HS) - - pci:v00001093d00001170* - ID_MODEL_FROM_DATABASE=PCI-MIO-16XE-10 -@@ -17481,22 +17484,31 @@ pci:v00001093d000011B0* - ID_MODEL_FROM_DATABASE=PXI-6070E - - pci:v00001093d000011C0* -- ID_MODEL_FROM_DATABASE=PXI-6040e -+ ID_MODEL_FROM_DATABASE=PXI-6040E - - pci:v00001093d000011D0* -- ID_MODEL_FROM_DATABASE=PXI-6030e -+ ID_MODEL_FROM_DATABASE=PXI-6030E - - pci:v00001093d00001270* -- ID_MODEL_FROM_DATABASE=PCI-6032e -+ ID_MODEL_FROM_DATABASE=PCI-6032E -+ -+pci:v00001093d00001290* -+ ID_MODEL_FROM_DATABASE=PCI-6704 -+ -+pci:v00001093d000012B0* -+ ID_MODEL_FROM_DATABASE=PCI-6534 - - pci:v00001093d00001310* - ID_MODEL_FROM_DATABASE=PCI-6602 - -+pci:v00001093d00001320* -+ ID_MODEL_FROM_DATABASE=PXI-6533 -+ - pci:v00001093d00001330* - ID_MODEL_FROM_DATABASE=PCI-6031E - - pci:v00001093d00001340* -- ID_MODEL_FROM_DATABASE=PCI-6033e -+ ID_MODEL_FROM_DATABASE=PCI-6033E - - pci:v00001093d00001350* - ID_MODEL_FROM_DATABASE=PCI-6071E -@@ -17504,6 +17516,12 @@ pci:v00001093d00001350* - pci:v00001093d00001360* - ID_MODEL_FROM_DATABASE=PXI-6602 - -+pci:v00001093d000013C0* -+ ID_MODEL_FROM_DATABASE=PXI-6508 -+ -+pci:v00001093d00001490* -+ ID_MODEL_FROM_DATABASE=PXI-6534 -+ - pci:v00001093d000014E0* - ID_MODEL_FROM_DATABASE=PCI-6110 - -@@ -17519,6 +17537,9 @@ pci:v00001093d000015B0* - pci:v00001093d00001710* - ID_MODEL_FROM_DATABASE=PXI-6509 - -+pci:v00001093d000017C0* -+ ID_MODEL_FROM_DATABASE=PXI-5690 -+ - pci:v00001093d000017D0* - ID_MODEL_FROM_DATABASE=PCI-6503 - -@@ -17534,6 +17555,33 @@ pci:v00001093d000018B0* - pci:v00001093d000018C0* - ID_MODEL_FROM_DATABASE=PXI-6052E - -+pci:v00001093d00001920* -+ ID_MODEL_FROM_DATABASE=PXI-6704 -+ -+pci:v00001093d00001930* -+ ID_MODEL_FROM_DATABASE=PCI-6040E -+ -+pci:v00001093d000019C0* -+ ID_MODEL_FROM_DATABASE=PCI-4472 -+ -+pci:v00001093d00001AA0* -+ ID_MODEL_FROM_DATABASE=PXI-4110 -+ -+pci:v00001093d00001AD0* -+ ID_MODEL_FROM_DATABASE=PCI-6133 -+ -+pci:v00001093d00001AE0* -+ ID_MODEL_FROM_DATABASE=PXI-6133 -+ -+pci:v00001093d00001E30* -+ ID_MODEL_FROM_DATABASE=PCI-6624 -+ -+pci:v00001093d00001E40* -+ ID_MODEL_FROM_DATABASE=PXI-6624 -+ -+pci:v00001093d00001E50* -+ ID_MODEL_FROM_DATABASE=PXI-5404 -+ - pci:v00001093d00002410* - ID_MODEL_FROM_DATABASE=PCI-6733 - -@@ -17543,12 +17591,42 @@ pci:v00001093d00002420* - pci:v00001093d00002430* - ID_MODEL_FROM_DATABASE=PCI-6731 - -+pci:v00001093d00002470* -+ ID_MODEL_FROM_DATABASE=PCI-4474 -+ -+pci:v00001093d000024A0* -+ ID_MODEL_FROM_DATABASE=PCI-4065 -+ -+pci:v00001093d000024B0* -+ ID_MODEL_FROM_DATABASE=PXI-4200 -+ -+pci:v00001093d000024F0* -+ ID_MODEL_FROM_DATABASE=PXI-4472 -+ -+pci:v00001093d00002510* -+ ID_MODEL_FROM_DATABASE=PCI-4472 -+ -+pci:v00001093d00002520* -+ ID_MODEL_FROM_DATABASE=PCI-4474 -+ -+pci:v00001093d000027A0* -+ ID_MODEL_FROM_DATABASE=PCI-6123 -+ -+pci:v00001093d000027B0* -+ ID_MODEL_FROM_DATABASE=PXI-6123 -+ - pci:v00001093d00002880* - ID_MODEL_FROM_DATABASE=DAQCard-6601 - - pci:v00001093d00002890* - ID_MODEL_FROM_DATABASE=PCI-6036E - -+pci:v00001093d000028A0* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ -+pci:v00001093d000028B0* -+ ID_MODEL_FROM_DATABASE=PCI-6013 -+ - pci:v00001093d000028C0* - ID_MODEL_FROM_DATABASE=PCI-6014 - -@@ -17558,6 +17636,12 @@ pci:v00001093d000028D0* - pci:v00001093d000028E0* - ID_MODEL_FROM_DATABASE=PXI-5122 - -+pci:v00001093d000029F0* -+ ID_MODEL_FROM_DATABASE=PXI-7334 -+ -+pci:v00001093d00002A00* -+ ID_MODEL_FROM_DATABASE=PXI-7344 -+ - pci:v00001093d00002A60* - ID_MODEL_FROM_DATABASE=PCI-6023E - -@@ -17568,7 +17652,13 @@ pci:v00001093d00002A80* - ID_MODEL_FROM_DATABASE=PCI-6025E - - pci:v00001093d00002AB0* -- ID_MODEL_FROM_DATABASE=PXI-6025e -+ ID_MODEL_FROM_DATABASE=PXI-6025E -+ -+pci:v00001093d00002B10* -+ ID_MODEL_FROM_DATABASE=PXI-6527 -+ -+pci:v00001093d00002B20* -+ ID_MODEL_FROM_DATABASE=PCI-6527 - - pci:v00001093d00002B80* - ID_MODEL_FROM_DATABASE=PXI-6713 -@@ -17585,15 +17675,75 @@ pci:v00001093d00002C70* - pci:v00001093d00002C80* - ID_MODEL_FROM_DATABASE=PCI-6035E - -+pci:v00001093d00002C90* -+ ID_MODEL_FROM_DATABASE=PCI-6703 -+ - pci:v00001093d00002CA0* - ID_MODEL_FROM_DATABASE=PCI-6034E - -+pci:v00001093d00002CB0* -+ ID_MODEL_FROM_DATABASE=PCI-7344 -+ - pci:v00001093d00002CC0* - ID_MODEL_FROM_DATABASE=PXI-6608 - -+pci:v00001093d00002D20* -+ ID_MODEL_FROM_DATABASE=PXI-5600 -+ - pci:v00001093d00002DB0* - ID_MODEL_FROM_DATABASE=PCI-6608 - -+pci:v00001093d00002DC0* -+ ID_MODEL_FROM_DATABASE=PCI-4070 -+ -+pci:v00001093d00002DD0* -+ ID_MODEL_FROM_DATABASE=PXI-4070 -+ -+pci:v00001093d00002EB0* -+ ID_MODEL_FROM_DATABASE=PXI-4472 -+ -+pci:v00001093d00002EC0* -+ ID_MODEL_FROM_DATABASE=PXI-6115 -+ -+pci:v00001093d00002ED0* -+ ID_MODEL_FROM_DATABASE=PCI-6115 -+ -+pci:v00001093d00002EE0* -+ ID_MODEL_FROM_DATABASE=PXI-6120 -+ -+pci:v00001093d00002EF0* -+ ID_MODEL_FROM_DATABASE=PCI-6120 -+ -+pci:v00001093d00002FD1* -+ ID_MODEL_FROM_DATABASE=PCI-7334 -+ -+pci:v00001093d00002FD2* -+ ID_MODEL_FROM_DATABASE=PCI-7350 -+ -+pci:v00001093d00002FD3* -+ ID_MODEL_FROM_DATABASE=PCI-7342 -+ -+pci:v00001093d00002FD5* -+ ID_MODEL_FROM_DATABASE=PXI-7350 -+ -+pci:v00001093d00002FD6* -+ ID_MODEL_FROM_DATABASE=PXI-7342 -+ -+pci:v00001093d00007003* -+ ID_MODEL_FROM_DATABASE=PCI-6551 -+ -+pci:v00001093d00007004* -+ ID_MODEL_FROM_DATABASE=PXI-6551 -+ -+pci:v00001093d0000700B* -+ ID_MODEL_FROM_DATABASE=PXI-5421 -+ -+pci:v00001093d0000700C* -+ ID_MODEL_FROM_DATABASE=PCI-5421 -+ -+pci:v00001093d00007023* -+ ID_MODEL_FROM_DATABASE=PXI-2593 -+ - pci:v00001093d0000702C* - ID_MODEL_FROM_DATABASE=PXI-7831R - -@@ -17606,23 +17756,152 @@ pci:v00001093d0000702E* - pci:v00001093d0000702F* - ID_MODEL_FROM_DATABASE=PCI-7811R - -+pci:v00001093d00007030* -+ ID_MODEL_FROM_DATABASE=PCI-CAN (Series 2) -+ -+pci:v00001093d00007031* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/2 (Series 2) -+ -+pci:v00001093d00007032* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS (Series 2) -+ -+pci:v00001093d00007033* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 (Series 2) -+ -+pci:v00001093d00007034* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/DS (Series 2) -+ -+pci:v00001093d00007035* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 1 port) -+ -+pci:v00001093d00007036* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (Series 2, 2 ports) -+ -+pci:v00001093d00007037* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 1 port) -+ -+pci:v00001093d00007038* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (Series 2, 2 ports) -+ -+pci:v00001093d00007039* -+ ID_MODEL_FROM_DATABASE=PXI-8462 (Series 2) -+ -+pci:v00001093d0000703F* -+ ID_MODEL_FROM_DATABASE=PXI-2566 -+ -+pci:v00001093d00007040* -+ ID_MODEL_FROM_DATABASE=PXI-2567 -+ -+pci:v00001093d00007044* -+ ID_MODEL_FROM_DATABASE=MXI-4 Connection Monitor -+ -+pci:v00001093d00007047* -+ ID_MODEL_FROM_DATABASE=PXI-6653 -+ -+pci:v00001093d0000704C* -+ ID_MODEL_FROM_DATABASE=PXI-2530 -+ -+pci:v00001093d0000704F* -+ ID_MODEL_FROM_DATABASE=PXI-4220 -+ -+pci:v00001093d00007050* -+ ID_MODEL_FROM_DATABASE=PXI-4204 -+ - pci:v00001093d00007055* - ID_MODEL_FROM_DATABASE=PXI-7830R - - pci:v00001093d00007056* - ID_MODEL_FROM_DATABASE=PCI-7830R - -+pci:v00001093d0000705A* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/XS (Series 2) -+ -+pci:v00001093d0000705B* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/XS2 (Series 2) -+ -+pci:v00001093d0000705C* -+ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 1 port) -+ -+pci:v00001093d0000705D* -+ ID_MODEL_FROM_DATABASE=PXI-8464 (Series 2, 2 ports) -+ -+pci:v00001093d0000705E* -+ ID_MODEL_FROM_DATABASE=cRIO-9102 -+ -+pci:v00001093d00007060* -+ ID_MODEL_FROM_DATABASE=PXI-5610 -+ -+pci:v00001093d00007064* -+ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module -+ -+pci:v00001093d00007065* -+ ID_MODEL_FROM_DATABASE=PXI-6652 -+ -+pci:v00001093d00007066* -+ ID_MODEL_FROM_DATABASE=PXI-6651 -+ -+pci:v00001093d00007067* -+ ID_MODEL_FROM_DATABASE=PXI-2529 -+ -+pci:v00001093d00007068* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/SW (Series 2) -+ -+pci:v00001093d00007069* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/SW2 (Series 2) -+ -+pci:v00001093d0000706A* -+ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 1 port) -+ -+pci:v00001093d0000706B* -+ ID_MODEL_FROM_DATABASE=PXI-8463 (Series 2, 2 ports) -+ -+pci:v00001093d00007073* -+ ID_MODEL_FROM_DATABASE=PCI-6723 -+ - pci:v00001093d00007074* - ID_MODEL_FROM_DATABASE=PXI-7833R - -+pci:v00001093d00007075* -+ ID_MODEL_FROM_DATABASE=PXI-6552 -+ -+pci:v00001093d00007076* -+ ID_MODEL_FROM_DATABASE=PCI-6552 -+ -+pci:v00001093d0000707C* -+ ID_MODEL_FROM_DATABASE=PXI-1428 -+ -+pci:v00001093d0000707E* -+ ID_MODEL_FROM_DATABASE=PXI-4462 -+ -+pci:v00001093d00007080* -+ ID_MODEL_FROM_DATABASE=PXI-8430/2 (RS-232) Interface -+ -+pci:v00001093d00007081* -+ ID_MODEL_FROM_DATABASE=PXI-8431/2 (RS-485) Interface -+ - pci:v00001093d00007083* - ID_MODEL_FROM_DATABASE=PCI-7833R - - pci:v00001093d00007085* - ID_MODEL_FROM_DATABASE=PCI-6509 - -+pci:v00001093d00007086* -+ ID_MODEL_FROM_DATABASE=PXI-6528 -+ -+pci:v00001093d00007087* -+ ID_MODEL_FROM_DATABASE=PCI-6515 -+ -+pci:v00001093d00007088* -+ ID_MODEL_FROM_DATABASE=PCI-6514 -+ -+pci:v00001093d0000708C* -+ ID_MODEL_FROM_DATABASE=PXI-2568 -+ -+pci:v00001093d0000708D* -+ ID_MODEL_FROM_DATABASE=PXI-2569 -+ - pci:v00001093d000070A9* -- ID_MODEL_FROM_DATABASE=PCI-6528 (Digital I/O at 60V) -+ ID_MODEL_FROM_DATABASE=PCI-6528 - - pci:v00001093d000070AA* - ID_MODEL_FROM_DATABASE=PCI-6229 -@@ -17633,6 +17912,9 @@ pci:v00001093d000070AB* - pci:v00001093d000070AC* - ID_MODEL_FROM_DATABASE=PCI-6289 - -+pci:v00001093d000070AD* -+ ID_MODEL_FROM_DATABASE=PXI-6251 -+ - pci:v00001093d000070AE* - ID_MODEL_FROM_DATABASE=PXI-6220 - -@@ -17642,9 +17924,21 @@ pci:v00001093d000070AF* - pci:v00001093d000070B0* - ID_MODEL_FROM_DATABASE=PCI-6220 - -+pci:v00001093d000070B1* -+ ID_MODEL_FROM_DATABASE=PXI-6229 -+ -+pci:v00001093d000070B2* -+ ID_MODEL_FROM_DATABASE=PXI-6259 -+ -+pci:v00001093d000070B3* -+ ID_MODEL_FROM_DATABASE=PXI-6289 -+ - pci:v00001093d000070B4* - ID_MODEL_FROM_DATABASE=PCI-6250 - -+pci:v00001093d000070B5* -+ ID_MODEL_FROM_DATABASE=PXI-6221 -+ - pci:v00001093d000070B6* - ID_MODEL_FROM_DATABASE=PCI-6280 - -@@ -17652,7 +17946,16 @@ pci:v00001093d000070B7* - ID_MODEL_FROM_DATABASE=PCI-6254 - - pci:v00001093d000070B8* -- ID_MODEL_FROM_DATABASE=PCI-6251 [M Series - High Speed Multifunction DAQ] -+ ID_MODEL_FROM_DATABASE=PCI-6251 -+ -+pci:v00001093d000070B9* -+ ID_MODEL_FROM_DATABASE=PXI-6250 -+ -+pci:v00001093d000070BA* -+ ID_MODEL_FROM_DATABASE=PXI-6254 -+ -+pci:v00001093d000070BB* -+ ID_MODEL_FROM_DATABASE=PXI-6280 - - pci:v00001093d000070BC* - ID_MODEL_FROM_DATABASE=PCI-6284 -@@ -17660,12 +17963,144 @@ pci:v00001093d000070BC* - pci:v00001093d000070BD* - ID_MODEL_FROM_DATABASE=PCI-6281 - -+pci:v00001093d000070BE* -+ ID_MODEL_FROM_DATABASE=PXI-6284 -+ - pci:v00001093d000070BF* - ID_MODEL_FROM_DATABASE=PXI-6281 - - pci:v00001093d000070C0* - ID_MODEL_FROM_DATABASE=PCI-6143 - -+pci:v00001093d000070C3* -+ ID_MODEL_FROM_DATABASE=PCI-6511 -+ -+pci:v00001093d000070C4* -+ ID_MODEL_FROM_DATABASE=PXI-7330 -+ -+pci:v00001093d000070C5* -+ ID_MODEL_FROM_DATABASE=PXI-7340 -+ -+pci:v00001093d000070C6* -+ ID_MODEL_FROM_DATABASE=PCI-7330 -+ -+pci:v00001093d000070C7* -+ ID_MODEL_FROM_DATABASE=PCI-7340 -+ -+pci:v00001093d000070C8* -+ ID_MODEL_FROM_DATABASE=PCI-6513 -+ -+pci:v00001093d000070C9* -+ ID_MODEL_FROM_DATABASE=PXI-6515 -+ -+pci:v00001093d000070CA* -+ ID_MODEL_FROM_DATABASE=PCI-1405 -+ -+pci:v00001093d000070CC* -+ ID_MODEL_FROM_DATABASE=PCI-6512 -+ -+pci:v00001093d000070CD* -+ ID_MODEL_FROM_DATABASE=PXI-6514 -+ -+pci:v00001093d000070CE* -+ ID_MODEL_FROM_DATABASE=PXI-1405 -+ -+pci:v00001093d000070CF* -+ ID_MODEL_FROM_DATABASE=PCIe-GPIB -+ -+pci:v00001093d000070D0* -+ ID_MODEL_FROM_DATABASE=PXI-2570 -+ -+pci:v00001093d000070D1* -+ ID_MODEL_FROM_DATABASE=PXI-6513 -+ -+pci:v00001093d000070D2* -+ ID_MODEL_FROM_DATABASE=PXI-6512 -+ -+pci:v00001093d000070D3* -+ ID_MODEL_FROM_DATABASE=PXI-6511 -+ -+pci:v00001093d000070D4* -+ ID_MODEL_FROM_DATABASE=PCI-6722 -+ -+pci:v00001093d000070D6* -+ ID_MODEL_FROM_DATABASE=PXI-4072 -+ -+pci:v00001093d000070D7* -+ ID_MODEL_FROM_DATABASE=PXI-6541 -+ -+pci:v00001093d000070D8* -+ ID_MODEL_FROM_DATABASE=PXI-6542 -+ -+pci:v00001093d000070D9* -+ ID_MODEL_FROM_DATABASE=PCI-6541 -+ -+pci:v00001093d000070DA* -+ ID_MODEL_FROM_DATABASE=PCI-6542 -+ -+pci:v00001093d000070DB* -+ ID_MODEL_FROM_DATABASE=PCI-8430/2 (RS-232) Interface -+ -+pci:v00001093d000070DC* -+ ID_MODEL_FROM_DATABASE=PCI-8431/2 (RS-485) Interface -+ -+pci:v00001093d000070DD* -+ ID_MODEL_FROM_DATABASE=PXI-8430/4 (RS-232) Interface -+ -+pci:v00001093d000070DE* -+ ID_MODEL_FROM_DATABASE=PXI-8431/4 (RS-485) Interface -+ -+pci:v00001093d000070DF* -+ ID_MODEL_FROM_DATABASE=PCI-8430/4 (RS-232) Interface -+ -+pci:v00001093d000070E0* -+ ID_MODEL_FROM_DATABASE=PCI-8431/4 (RS-485) Interface -+ -+pci:v00001093d000070E1* -+ ID_MODEL_FROM_DATABASE=PXI-2532 -+ -+pci:v00001093d000070E2* -+ ID_MODEL_FROM_DATABASE=PXI-8430/8 (RS-232) Interface -+ -+pci:v00001093d000070E3* -+ ID_MODEL_FROM_DATABASE=PXI-8431/8 (RS-485) Interface -+ -+pci:v00001093d000070E4* -+ ID_MODEL_FROM_DATABASE=PCI-8430/8 (RS-232) Interface -+ -+pci:v00001093d000070E5* -+ ID_MODEL_FROM_DATABASE=PCI-8431/8 (RS-485) Interface -+ -+pci:v00001093d000070E6* -+ ID_MODEL_FROM_DATABASE=PXI-8430/16 (RS-232) Interface -+ -+pci:v00001093d000070E7* -+ ID_MODEL_FROM_DATABASE=PCI-8430/16 (RS-232) Interface -+ -+pci:v00001093d000070E8* -+ ID_MODEL_FROM_DATABASE=PXI-8432/2 (Isolated RS-232) Interface -+ -+pci:v00001093d000070E9* -+ ID_MODEL_FROM_DATABASE=PXI-8433/2 (Isolated RS-485) Interface -+ -+pci:v00001093d000070EA* -+ ID_MODEL_FROM_DATABASE=PCI-8432/2 (Isolated RS-232) Interface -+ -+pci:v00001093d000070EB* -+ ID_MODEL_FROM_DATABASE=PCI-8433/2 (Isolated RS-485) Interface -+ -+pci:v00001093d000070EC* -+ ID_MODEL_FROM_DATABASE=PXI-8432/4 (Isolated RS-232) Interface -+ -+pci:v00001093d000070ED* -+ ID_MODEL_FROM_DATABASE=PXI-8433/4 (Isolated RS-485) Interface -+ -+pci:v00001093d000070EE* -+ ID_MODEL_FROM_DATABASE=PCI-8432/4 (Isolated RS-232) Interface -+ -+pci:v00001093d000070EF* -+ ID_MODEL_FROM_DATABASE=PCI-8433/4 (Isolated RS-485) Interface -+ - pci:v00001093d000070F0* - ID_MODEL_FROM_DATABASE=PXI-5922 - -@@ -17675,57 +18110,363 @@ pci:v00001093d000070F1* - pci:v00001093d000070F2* - ID_MODEL_FROM_DATABASE=PCI-6224 - -+pci:v00001093d000070F3* -+ ID_MODEL_FROM_DATABASE=PXI-6224 -+ -+pci:v00001093d000070F6* -+ ID_MODEL_FROM_DATABASE=cRIO-9101 -+ -+pci:v00001093d000070F7* -+ ID_MODEL_FROM_DATABASE=cRIO-9103 -+ -+pci:v00001093d000070F8* -+ ID_MODEL_FROM_DATABASE=cRIO-9104 -+ -+pci:v00001093d000070FF* -+ ID_MODEL_FROM_DATABASE=PXI-6723 -+ -+pci:v00001093d00007100* -+ ID_MODEL_FROM_DATABASE=PXI-6722 -+ -+pci:v00001093d00007104* -+ ID_MODEL_FROM_DATABASE=PCIx-1429 -+ -+pci:v00001093d00007105* -+ ID_MODEL_FROM_DATABASE=PCIe-1429 -+ -+pci:v00001093d0000710A* -+ ID_MODEL_FROM_DATABASE=PXI-4071 -+ -+pci:v00001093d0000710D* -+ ID_MODEL_FROM_DATABASE=PXI-6143 -+ -+pci:v00001093d0000710E* -+ ID_MODEL_FROM_DATABASE=PCIe-GPIB -+ -+pci:v00001093d0000710F* -+ ID_MODEL_FROM_DATABASE=PXI-5422 -+ -+pci:v00001093d00007110* -+ ID_MODEL_FROM_DATABASE=PCI-5422 -+ -+pci:v00001093d00007111* -+ ID_MODEL_FROM_DATABASE=PXI-5441 -+ -+pci:v00001093d00007119* -+ ID_MODEL_FROM_DATABASE=PXI-6561 -+ -+pci:v00001093d0000711A* -+ ID_MODEL_FROM_DATABASE=PXI-6562 -+ -+pci:v00001093d0000711B* -+ ID_MODEL_FROM_DATABASE=PCI-6561 -+ -+pci:v00001093d0000711C* -+ ID_MODEL_FROM_DATABASE=PCI-6562 -+ -+pci:v00001093d00007120* -+ ID_MODEL_FROM_DATABASE=PCI-7390 -+ - pci:v00001093d00007121* - ID_MODEL_FROM_DATABASE=PXI-5122EX - - pci:v00001093d00007122* - ID_MODEL_FROM_DATABASE=PCI-5122EX - -+pci:v00001093d00007123* -+ ID_MODEL_FROM_DATABASE=PXIe-5653 -+ -+pci:v00001093d00007124* -+ ID_MODEL_FROM_DATABASE=PCI-6510 -+ -+pci:v00001093d00007125* -+ ID_MODEL_FROM_DATABASE=PCI-6516 -+ -+pci:v00001093d00007126* -+ ID_MODEL_FROM_DATABASE=PCI-6517 -+ -+pci:v00001093d00007127* -+ ID_MODEL_FROM_DATABASE=PCI-6518 -+ -+pci:v00001093d00007128* -+ ID_MODEL_FROM_DATABASE=PCI-6519 -+ -+pci:v00001093d00007137* -+ ID_MODEL_FROM_DATABASE=PXI-2575 -+ -+pci:v00001093d0000713C* -+ ID_MODEL_FROM_DATABASE=PXI-2585 -+ -+pci:v00001093d0000713D* -+ ID_MODEL_FROM_DATABASE=PXI-2586 -+ -+pci:v00001093d00007142* -+ ID_MODEL_FROM_DATABASE=PXI-4224 -+ - pci:v00001093d00007144* -- ID_MODEL_FROM_DATABASE=PXI-5124 (12-bit 200 MS/s Digitizer) -+ ID_MODEL_FROM_DATABASE=PXI-5124 - - pci:v00001093d00007145* - ID_MODEL_FROM_DATABASE=PCI-5124 - -+pci:v00001093d00007146* -+ ID_MODEL_FROM_DATABASE=PCI-6132 -+ -+pci:v00001093d00007147* -+ ID_MODEL_FROM_DATABASE=PXI-6132 -+ -+pci:v00001093d00007148* -+ ID_MODEL_FROM_DATABASE=PCI-6122 -+ -+pci:v00001093d00007149* -+ ID_MODEL_FROM_DATABASE=PXI-6122 -+ - pci:v00001093d0000714C* - ID_MODEL_FROM_DATABASE=PXI-5114 - - pci:v00001093d0000714D* - ID_MODEL_FROM_DATABASE=PCI-5114 - -+pci:v00001093d00007150* -+ ID_MODEL_FROM_DATABASE=PXI-2564 -+ - pci:v00001093d00007152* - ID_MODEL_FROM_DATABASE=PCI-5640R - -+pci:v00001093d00007156* -+ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module -+ -+pci:v00001093d0000715D* -+ ID_MODEL_FROM_DATABASE=PCI-1426 -+ -+pci:v00001093d00007167* -+ ID_MODEL_FROM_DATABASE=PXI-5412 -+ -+pci:v00001093d00007168* -+ ID_MODEL_FROM_DATABASE=PCI-5412 -+ -+pci:v00001093d0000716B* -+ ID_MODEL_FROM_DATABASE=PCI-6230 -+ - pci:v00001093d0000716C* - ID_MODEL_FROM_DATABASE=PCI-6225 - -+pci:v00001093d0000716D* -+ ID_MODEL_FROM_DATABASE=PXI-6225 -+ -+pci:v00001093d0000716F* -+ ID_MODEL_FROM_DATABASE=PCI-4461 -+ -+pci:v00001093d00007170* -+ ID_MODEL_FROM_DATABASE=PCI-4462 -+ -+pci:v00001093d00007171* -+ ID_MODEL_FROM_DATABASE=PCI-6010 -+ -+pci:v00001093d00007174* -+ ID_MODEL_FROM_DATABASE=PXI-8360 -+ -+pci:v00001093d00007177* -+ ID_MODEL_FROM_DATABASE=PXI-6230 -+ - pci:v00001093d0000717D* -- ID_MODEL_FROM_DATABASE=PCIE-6251 -+ ID_MODEL_FROM_DATABASE=PCIe-6251 - - pci:v00001093d0000717F* - ID_MODEL_FROM_DATABASE=PCIe-6259 - -+pci:v00001093d00007187* -+ ID_MODEL_FROM_DATABASE=PCI-1410 -+ -+pci:v00001093d0000718B* -+ ID_MODEL_FROM_DATABASE=PCI-6521 -+ -+pci:v00001093d0000718C* -+ ID_MODEL_FROM_DATABASE=PXI-6521 -+ -+pci:v00001093d00007191* -+ ID_MODEL_FROM_DATABASE=PCI-6154 -+ - pci:v00001093d00007193* - ID_MODEL_FROM_DATABASE=PXI-7813R - - pci:v00001093d00007194* - ID_MODEL_FROM_DATABASE=PCI-7813R - -+pci:v00001093d00007195* -+ ID_MODEL_FROM_DATABASE=PCI-8254R -+ -+pci:v00001093d00007197* -+ ID_MODEL_FROM_DATABASE=PXI-5402 -+ -+pci:v00001093d00007198* -+ ID_MODEL_FROM_DATABASE=PCI-5402 -+ -+pci:v00001093d0000719F* -+ ID_MODEL_FROM_DATABASE=PCIe-6535 -+ -+pci:v00001093d000071A0* -+ ID_MODEL_FROM_DATABASE=PCIe-6536 -+ -+pci:v00001093d000071A3* -+ ID_MODEL_FROM_DATABASE=PXI-5650 -+ -+pci:v00001093d000071A4* -+ ID_MODEL_FROM_DATABASE=PXI-5652 -+ -+pci:v00001093d000071A5* -+ ID_MODEL_FROM_DATABASE=PXI-2594 -+ -+pci:v00001093d000071A7* -+ ID_MODEL_FROM_DATABASE=PXI-2595 -+ -+pci:v00001093d000071A9* -+ ID_MODEL_FROM_DATABASE=PXI-2596 -+ -+pci:v00001093d000071AA* -+ ID_MODEL_FROM_DATABASE=PXI-2597 -+ -+pci:v00001093d000071AB* -+ ID_MODEL_FROM_DATABASE=PXI-2598 -+ -+pci:v00001093d000071AC* -+ ID_MODEL_FROM_DATABASE=PXI-2599 -+ -+pci:v00001093d000071AD* -+ ID_MODEL_FROM_DATABASE=PCI-GPIB+ -+ -+pci:v00001093d000071AE* -+ ID_MODEL_FROM_DATABASE=PCIe-1430 -+ -+pci:v00001093d000071B7* -+ ID_MODEL_FROM_DATABASE=PXI-1056 Trigger Routing Module -+ -+pci:v00001093d000071B8* -+ ID_MODEL_FROM_DATABASE=PXI-1045 Trigger Routing Module -+ -+pci:v00001093d000071B9* -+ ID_MODEL_FROM_DATABASE=PXI-1044 Trigger Routing Module -+ -+pci:v00001093d000071BB* -+ ID_MODEL_FROM_DATABASE=PXI-2584 -+ - pci:v00001093d000071BC* -- ID_MODEL_FROM_DATABASE=PCI-6221 (37pin) -+ ID_MODEL_FROM_DATABASE=PCI-6221 (37-pin) - --pci:v00001093d000071D0* -- ID_MODEL_FROM_DATABASE=PXI-6143 -+pci:v00001093d000071BF* -+ ID_MODEL_FROM_DATABASE=PCIe-1427 -+ -+pci:v00001093d000071C5* -+ ID_MODEL_FROM_DATABASE=PCI-6520 -+ -+pci:v00001093d000071C6* -+ ID_MODEL_FROM_DATABASE=PXI-2576 -+ -+pci:v00001093d000071C7* -+ ID_MODEL_FROM_DATABASE=cRIO-9072 - - pci:v00001093d000071DC* - ID_MODEL_FROM_DATABASE=PCI-1588 - -+pci:v00001093d000071E0* -+ ID_MODEL_FROM_DATABASE=PCI-6255 -+ -+pci:v00001093d000071E1* -+ ID_MODEL_FROM_DATABASE=PXI-6255 -+ -+pci:v00001093d000071E2* -+ ID_MODEL_FROM_DATABASE=PXI-5406 -+ -+pci:v00001093d000071E3* -+ ID_MODEL_FROM_DATABASE=PCI-5406 -+ -+pci:v00001093d000071FC* -+ ID_MODEL_FROM_DATABASE=PXI-4022 -+ -+pci:v00001093d00007209* -+ ID_MODEL_FROM_DATABASE=PCI-6233 -+ -+pci:v00001093d0000720A* -+ ID_MODEL_FROM_DATABASE=PXI-6233 -+ -+pci:v00001093d0000720B* -+ ID_MODEL_FROM_DATABASE=PCI-6238 -+ -+pci:v00001093d0000720C* -+ ID_MODEL_FROM_DATABASE=PXI-6238 -+ - pci:v00001093d00007260* - ID_MODEL_FROM_DATABASE=PXI-5142 - - pci:v00001093d00007261* - ID_MODEL_FROM_DATABASE=PCI-5142 - -+pci:v00001093d0000726D* -+ ID_MODEL_FROM_DATABASE=PXI-5651 -+ -+pci:v00001093d00007273* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ -+pci:v00001093d00007274* -+ ID_MODEL_FROM_DATABASE=PXI-4462 -+ -+pci:v00001093d00007279* -+ ID_MODEL_FROM_DATABASE=PCI-6232 -+ -+pci:v00001093d0000727A* -+ ID_MODEL_FROM_DATABASE=PXI-6232 -+ -+pci:v00001093d0000727B* -+ ID_MODEL_FROM_DATABASE=PCI-6239 -+ -+pci:v00001093d0000727C* -+ ID_MODEL_FROM_DATABASE=PXI-6239 -+ -+pci:v00001093d0000727E* -+ ID_MODEL_FROM_DATABASE=SMBus Controller -+ -+pci:v00001093d0000727Esv00001093sd000075AC* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8388) -+ -+pci:v00001093d0000727Esv00001093sd000075AD* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8389) -+ -+pci:v00001093d0000727Esv00001093sd00007650* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8381) -+ -+pci:v00001093d0000727Esv00001093sd00008360* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8360) -+ -+pci:v00001093d0000727Esv00001093sd00008370* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8370) -+ -+pci:v00001093d0000727Esv00001093sd00008375* -+ ID_MODEL_FROM_DATABASE=SMBus Controller (PXIe-8375) -+ -+pci:v00001093d00007281* -+ ID_MODEL_FROM_DATABASE=PCI-6236 -+ -+pci:v00001093d00007282* -+ ID_MODEL_FROM_DATABASE=PXI-6236 -+ -+pci:v00001093d00007283* -+ ID_MODEL_FROM_DATABASE=PXI-2554 -+ -+pci:v00001093d00007288* -+ ID_MODEL_FROM_DATABASE=PXIe-5611 -+ -+pci:v00001093d00007293* -+ ID_MODEL_FROM_DATABASE=PCIe-8255R -+ -+pci:v00001093d0000729D* -+ ID_MODEL_FROM_DATABASE=cRIO-9074 -+ -+pci:v00001093d000072A4* -+ ID_MODEL_FROM_DATABASE=PCIe-4065 -+ -+pci:v00001093d000072A7* -+ ID_MODEL_FROM_DATABASE=PCIe-6537 -+ - pci:v00001093d000072A8* - ID_MODEL_FROM_DATABASE=PXI-5152 - -@@ -17741,21 +18482,117 @@ pci:v00001093d000072AB* - pci:v00001093d000072B8* - ID_MODEL_FROM_DATABASE=PXI-6682 - -+pci:v00001093d000072D0* -+ ID_MODEL_FROM_DATABASE=PXI-2545 -+ -+pci:v00001093d000072D1* -+ ID_MODEL_FROM_DATABASE=PXI-2546 -+ -+pci:v00001093d000072D2* -+ ID_MODEL_FROM_DATABASE=PXI-2547 -+ -+pci:v00001093d000072D3* -+ ID_MODEL_FROM_DATABASE=PXI-2548 -+ -+pci:v00001093d000072D4* -+ ID_MODEL_FROM_DATABASE=PXI-2549 -+ -+pci:v00001093d000072D5* -+ ID_MODEL_FROM_DATABASE=PXI-2555 -+ -+pci:v00001093d000072D6* -+ ID_MODEL_FROM_DATABASE=PXI-2556 -+ -+pci:v00001093d000072D7* -+ ID_MODEL_FROM_DATABASE=PXI-2557 -+ -+pci:v00001093d000072D8* -+ ID_MODEL_FROM_DATABASE=PXI-2558 -+ -+pci:v00001093d000072D9* -+ ID_MODEL_FROM_DATABASE=PXI-2559 -+ -+pci:v00001093d000072E8* -+ ID_MODEL_FROM_DATABASE=PXIe-6251 -+ -+pci:v00001093d000072E9* -+ ID_MODEL_FROM_DATABASE=PXIe-6259 -+ -+pci:v00001093d000072EF* -+ ID_MODEL_FROM_DATABASE=PXI-4498 -+ -+pci:v00001093d000072F0* -+ ID_MODEL_FROM_DATABASE=PXI-4496 -+ -+pci:v00001093d000072FB* -+ ID_MODEL_FROM_DATABASE=PXIe-6672 -+ -+pci:v00001093d0000730E* -+ ID_MODEL_FROM_DATABASE=PXI-4130 -+ - pci:v00001093d0000730F* - ID_MODEL_FROM_DATABASE=PXI-5922EX - - pci:v00001093d00007310* - ID_MODEL_FROM_DATABASE=PCI-5922EX - -+pci:v00001093d0000731C* -+ ID_MODEL_FROM_DATABASE=PXI-2535 -+ -+pci:v00001093d0000731D* -+ ID_MODEL_FROM_DATABASE=PXI-2536 -+ -+pci:v00001093d00007322* -+ ID_MODEL_FROM_DATABASE=PXIe-6124 -+ -+pci:v00001093d00007327* -+ ID_MODEL_FROM_DATABASE=PXI-6529 -+ -+pci:v00001093d00007331* -+ ID_MODEL_FROM_DATABASE=PXIe-5602 -+ -+pci:v00001093d00007332* -+ ID_MODEL_FROM_DATABASE=PXIe-5601 -+ - pci:v00001093d00007333* - ID_MODEL_FROM_DATABASE=PXI-5900 - -+pci:v00001093d00007335* -+ ID_MODEL_FROM_DATABASE=PXI-2533 -+ -+pci:v00001093d00007336* -+ ID_MODEL_FROM_DATABASE=PXI-2534 -+ -+pci:v00001093d00007342* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ - pci:v00001093d00007349* - ID_MODEL_FROM_DATABASE=PXI-5154 - - pci:v00001093d0000734A* - ID_MODEL_FROM_DATABASE=PCI-5154 - -+pci:v00001093d00007357* -+ ID_MODEL_FROM_DATABASE=PXI-4065 -+ -+pci:v00001093d00007359* -+ ID_MODEL_FROM_DATABASE=PXI-4495 -+ -+pci:v00001093d00007370* -+ ID_MODEL_FROM_DATABASE=PXI-4461 -+ -+pci:v00001093d00007373* -+ ID_MODEL_FROM_DATABASE=sbRIO-9601 -+ -+pci:v00001093d00007374* -+ ID_MODEL_FROM_DATABASE=IOtech-9601 -+ -+pci:v00001093d00007375* -+ ID_MODEL_FROM_DATABASE=sbRIO-9602 -+ -+pci:v00001093d00007378* -+ ID_MODEL_FROM_DATABASE=sbRIO-9641 -+ - pci:v00001093d0000737D* - ID_MODEL_FROM_DATABASE=PXI-5124EX - -@@ -17786,9 +18623,126 @@ pci:v00001093d00007393* - pci:v00001093d00007394* - ID_MODEL_FROM_DATABASE=PCIe-7842R - -+pci:v00001093d00007397* -+ ID_MODEL_FROM_DATABASE=sbRIO-9611 -+ -+pci:v00001093d00007398* -+ ID_MODEL_FROM_DATABASE=sbRIO-9612 -+ -+pci:v00001093d00007399* -+ ID_MODEL_FROM_DATABASE=sbRIO-9631 -+ -+pci:v00001093d0000739A* -+ ID_MODEL_FROM_DATABASE=sbRIO-9632 -+ -+pci:v00001093d0000739B* -+ ID_MODEL_FROM_DATABASE=sbRIO-9642 -+ -+pci:v00001093d000073A1* -+ ID_MODEL_FROM_DATABASE=PXIe-4498 -+ -+pci:v00001093d000073A2* -+ ID_MODEL_FROM_DATABASE=PXIe-4496 -+ - pci:v00001093d000073A5* - ID_MODEL_FROM_DATABASE=PXIe-5641R - -+pci:v00001093d000073A7* -+ ID_MODEL_FROM_DATABASE=PXI-8250 Chassis Monitor Module -+ -+pci:v00001093d000073A8* -+ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS -+ -+pci:v00001093d000073A9* -+ ID_MODEL_FROM_DATABASE=PXI-8511 CAN/LS -+ -+pci:v00001093d000073AA* -+ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS -+ -+pci:v00001093d000073AB* -+ ID_MODEL_FROM_DATABASE=PXI-8512 CAN/HS -+ -+pci:v00001093d000073AC* -+ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS -+ -+pci:v00001093d000073AD* -+ ID_MODEL_FROM_DATABASE=PXI-8513 CAN/XS -+ -+pci:v00001093d000073AF* -+ ID_MODEL_FROM_DATABASE=PXI-8516 LIN -+ -+pci:v00001093d000073B1* -+ ID_MODEL_FROM_DATABASE=PXI-8517 FlexRay -+ -+pci:v00001093d000073B2* -+ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen -+ -+pci:v00001093d000073B3* -+ ID_MODEL_FROM_DATABASE=PXI-8531 CANopen -+ -+pci:v00001093d000073B4* -+ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet -+ -+pci:v00001093d000073B5* -+ ID_MODEL_FROM_DATABASE=PXI-8532 DeviceNet -+ -+pci:v00001093d000073B6* -+ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS -+ -+pci:v00001093d000073B7* -+ ID_MODEL_FROM_DATABASE=PCI-8511 CAN/LS -+ -+pci:v00001093d000073B8* -+ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS -+ -+pci:v00001093d000073B9* -+ ID_MODEL_FROM_DATABASE=PCI-8512 CAN/HS -+ -+pci:v00001093d000073BA* -+ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS -+ -+pci:v00001093d000073BB* -+ ID_MODEL_FROM_DATABASE=PCI-8513 CAN/XS -+ -+pci:v00001093d000073BD* -+ ID_MODEL_FROM_DATABASE=PCI-8516 LIN -+ -+pci:v00001093d000073BF* -+ ID_MODEL_FROM_DATABASE=PCI-8517 FlexRay -+ -+pci:v00001093d000073C0* -+ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen -+ -+pci:v00001093d000073C1* -+ ID_MODEL_FROM_DATABASE=PCI-8531 CANopen -+ -+pci:v00001093d000073C2* -+ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet -+ -+pci:v00001093d000073C3* -+ ID_MODEL_FROM_DATABASE=PCI-8532 DeviceNet -+ -+pci:v00001093d000073C5* -+ ID_MODEL_FROM_DATABASE=PXIe-2527 -+ -+pci:v00001093d000073C6* -+ ID_MODEL_FROM_DATABASE=PXIe-2529 -+ -+pci:v00001093d000073C8* -+ ID_MODEL_FROM_DATABASE=PXIe-2530 -+ -+pci:v00001093d000073C9* -+ ID_MODEL_FROM_DATABASE=PXIe-2532 -+ -+pci:v00001093d000073CA* -+ ID_MODEL_FROM_DATABASE=PXIe-2569 -+ -+pci:v00001093d000073CB* -+ ID_MODEL_FROM_DATABASE=PXIe-2575 -+ -+pci:v00001093d000073CC* -+ ID_MODEL_FROM_DATABASE=PXIe-2593 -+ - pci:v00001093d000073D5* - ID_MODEL_FROM_DATABASE=PXI-7951R - -@@ -17804,15 +18758,87 @@ pci:v00001093d000073E1* - pci:v00001093d000073EC* - ID_MODEL_FROM_DATABASE=PXI-7954R - -+pci:v00001093d000073ED* -+ ID_MODEL_FROM_DATABASE=cRIO-9073 -+ - pci:v00001093d000073F0* - ID_MODEL_FROM_DATABASE=PXI-5153 - - pci:v00001093d000073F1* - ID_MODEL_FROM_DATABASE=PCI-5153 - -+pci:v00001093d000073F4* -+ ID_MODEL_FROM_DATABASE=PXI-2515 -+ -+pci:v00001093d000073F6* -+ ID_MODEL_FROM_DATABASE=cRIO-9111 -+ -+pci:v00001093d000073F7* -+ ID_MODEL_FROM_DATABASE=cRIO-9112 -+ -+pci:v00001093d000073F8* -+ ID_MODEL_FROM_DATABASE=cRIO-9113 -+ -+pci:v00001093d000073F9* -+ ID_MODEL_FROM_DATABASE=cRIO-9114 -+ -+pci:v00001093d000073FA* -+ ID_MODEL_FROM_DATABASE=cRIO-9116 -+ -+pci:v00001093d000073FB* -+ ID_MODEL_FROM_DATABASE=cRIO-9118 -+ -+pci:v00001093d00007404* -+ ID_MODEL_FROM_DATABASE=PXI-4132 -+ - pci:v00001093d00007405* - ID_MODEL_FROM_DATABASE=PXIe-6674T - -+pci:v00001093d00007406* -+ ID_MODEL_FROM_DATABASE=PXIe-6674 -+ -+pci:v00001093d0000740E* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/16 (RS-232) Interface -+ -+pci:v00001093d0000740F* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/8 (RS-232) Interface -+ -+pci:v00001093d00007410* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/16 (RS-485) Interface -+ -+pci:v00001093d00007411* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/8 (RS-485) Interface -+ -+pci:v00001093d00007414* -+ ID_MODEL_FROM_DATABASE=PCIe-GPIB+ -+ -+pci:v00001093d0000741C* -+ ID_MODEL_FROM_DATABASE=PXI-5691 -+ -+pci:v00001093d0000741D* -+ ID_MODEL_FROM_DATABASE=PXI-5695 -+ -+pci:v00001093d0000743C* -+ ID_MODEL_FROM_DATABASE=CSC-3059 -+ -+pci:v00001093d00007448* -+ ID_MODEL_FROM_DATABASE=PXI-2510 -+ -+pci:v00001093d00007454* -+ ID_MODEL_FROM_DATABASE=PXI-2512 -+ -+pci:v00001093d00007455* -+ ID_MODEL_FROM_DATABASE=PXI-2514 -+ -+pci:v00001093d00007456* -+ ID_MODEL_FROM_DATABASE=PXIe-2512 -+ -+pci:v00001093d00007457* -+ ID_MODEL_FROM_DATABASE=PXIe-2514 -+ -+pci:v00001093d0000745A* -+ ID_MODEL_FROM_DATABASE=PXI-6682H -+ - pci:v00001093d0000745E* - ID_MODEL_FROM_DATABASE=PXI-5153EX - -@@ -17825,86 +18851,740 @@ pci:v00001093d00007460* - pci:v00001093d00007461* - ID_MODEL_FROM_DATABASE=PCI-5154EX - -+pci:v00001093d0000746D* -+ ID_MODEL_FROM_DATABASE=PXIe-5650 -+ -+pci:v00001093d0000746E* -+ ID_MODEL_FROM_DATABASE=PXIe-5651 -+ -+pci:v00001093d0000746F* -+ ID_MODEL_FROM_DATABASE=PXIe-5652 -+ -+pci:v00001093d00007472* -+ ID_MODEL_FROM_DATABASE=PXI-2800 -+ -+pci:v00001093d00007495* -+ ID_MODEL_FROM_DATABASE=PXIe-5603 -+ -+pci:v00001093d00007497* -+ ID_MODEL_FROM_DATABASE=PXIe-5605 -+ -+pci:v00001093d000074AE* -+ ID_MODEL_FROM_DATABASE=PXIe-2515 -+ -+pci:v00001093d000074B4* -+ ID_MODEL_FROM_DATABASE=PXI-2531 -+ -+pci:v00001093d000074B5* -+ ID_MODEL_FROM_DATABASE=PXIe-2531 -+ -+pci:v00001093d000074C1* -+ ID_MODEL_FROM_DATABASE=PXIe-8430/16 (RS-232) Interface -+ -+pci:v00001093d000074C2* -+ ID_MODEL_FROM_DATABASE=PXIe-8430/8 (RS-232) Interface -+ -+pci:v00001093d000074C3* -+ ID_MODEL_FROM_DATABASE=PXIe-8431/16 (RS-485) Interface -+ -+pci:v00001093d000074C4* -+ ID_MODEL_FROM_DATABASE=PXIe-8431/8 (RS-485) Interface -+ -+pci:v00001093d000074D5* -+ ID_MODEL_FROM_DATABASE=PXIe-5630 -+ -+pci:v00001093d000074D9* -+ ID_MODEL_FROM_DATABASE=PCIe-8432/2 (Isolated RS-232) Interface -+ -+pci:v00001093d000074DA* -+ ID_MODEL_FROM_DATABASE=PCIe-8433/2 (Isolated RS-485) Interface -+ -+pci:v00001093d000074DB* -+ ID_MODEL_FROM_DATABASE=PCIe-8432/4 (Isolated RS-232) Interface -+ -+pci:v00001093d000074DC* -+ ID_MODEL_FROM_DATABASE=PCIe-8433/4 (Isolated RS-485) Interface -+ -+pci:v00001093d000074E8* -+ ID_MODEL_FROM_DATABASE=NI 9148 -+ -+pci:v00001093d00007515* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/2 (RS-232) Interface -+ -+pci:v00001093d00007516* -+ ID_MODEL_FROM_DATABASE=PCIe-8430/4 (RS-232) Interface -+ -+pci:v00001093d00007517* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/2 (RS-485) Interface -+ -+pci:v00001093d00007518* -+ ID_MODEL_FROM_DATABASE=PCIe-8431/4 (RS-485) Interface -+ -+pci:v00001093d0000751B* -+ ID_MODEL_FROM_DATABASE=cRIO-9081 -+ -+pci:v00001093d0000751C* -+ ID_MODEL_FROM_DATABASE=cRIO-9082 -+ -+pci:v00001093d00007528* -+ ID_MODEL_FROM_DATABASE=PXIe-4497 -+ -+pci:v00001093d00007529* -+ ID_MODEL_FROM_DATABASE=PXIe-4499 -+ -+pci:v00001093d0000752A* -+ ID_MODEL_FROM_DATABASE=PXIe-4492 -+ - pci:v00001093d00007539* - ID_MODEL_FROM_DATABASE=NI 9157 - - pci:v00001093d0000753A* - ID_MODEL_FROM_DATABASE=NI 9159 - -+pci:v00001093d00007598* -+ ID_MODEL_FROM_DATABASE=PXI-2571 -+ -+pci:v00001093d000075A4* -+ ID_MODEL_FROM_DATABASE=PXI-4131A -+ -+pci:v00001093d000075B1* -+ ID_MODEL_FROM_DATABASE=PCIe-7854R -+ -+pci:v00001093d000075BA* -+ ID_MODEL_FROM_DATABASE=PXI-2543 -+ -+pci:v00001093d000075BB* -+ ID_MODEL_FROM_DATABASE=PXIe-2543 -+ - pci:v00001093d000075E5* - ID_MODEL_FROM_DATABASE=PXI-6683 - - pci:v00001093d000075E6* - ID_MODEL_FROM_DATABASE=PXI-6683H - -+pci:v00001093d000075EF* -+ ID_MODEL_FROM_DATABASE=PXIe-5632 -+ -+pci:v00001093d0000761F* -+ ID_MODEL_FROM_DATABASE=PXI-2540 -+ -+pci:v00001093d00007620* -+ ID_MODEL_FROM_DATABASE=PXIe-2540 -+ -+pci:v00001093d00007621* -+ ID_MODEL_FROM_DATABASE=PXI-2541 -+ -+pci:v00001093d00007622* -+ ID_MODEL_FROM_DATABASE=PXIe-2541 -+ - pci:v00001093d00007626* - ID_MODEL_FROM_DATABASE=NI 9154 - - pci:v00001093d00007627* - ID_MODEL_FROM_DATABASE=NI 9155 - -+pci:v00001093d00007638* -+ ID_MODEL_FROM_DATABASE=PXI-2720 -+ -+pci:v00001093d00007639* -+ ID_MODEL_FROM_DATABASE=PXI-2722 -+ -+pci:v00001093d0000763A* -+ ID_MODEL_FROM_DATABASE=PXIe-2725 -+ -+pci:v00001093d0000763B* -+ ID_MODEL_FROM_DATABASE=PXIe-2727 -+ -+pci:v00001093d0000763C* -+ ID_MODEL_FROM_DATABASE=PXI-4465 -+ -+pci:v00001093d0000764B* -+ ID_MODEL_FROM_DATABASE=PXIe-2790 -+ -+pci:v00001093d0000764C* -+ ID_MODEL_FROM_DATABASE=PXI-2520 -+ -+pci:v00001093d0000764D* -+ ID_MODEL_FROM_DATABASE=PXI-2521 -+ -+pci:v00001093d0000764E* -+ ID_MODEL_FROM_DATABASE=PXI-2522 -+ -+pci:v00001093d0000764F* -+ ID_MODEL_FROM_DATABASE=PXI-2523 -+ -+pci:v00001093d00007654* -+ ID_MODEL_FROM_DATABASE=PXI-2796 -+ -+pci:v00001093d00007655* -+ ID_MODEL_FROM_DATABASE=PXI-2797 -+ -+pci:v00001093d00007656* -+ ID_MODEL_FROM_DATABASE=PXI-2798 -+ -+pci:v00001093d00007657* -+ ID_MODEL_FROM_DATABASE=PXI-2799 -+ -+pci:v00001093d0000765D* -+ ID_MODEL_FROM_DATABASE=PXI-2542 -+ -+pci:v00001093d0000765E* -+ ID_MODEL_FROM_DATABASE=PXIe-2542 -+ -+pci:v00001093d0000765F* -+ ID_MODEL_FROM_DATABASE=PXI-2544 -+ -+pci:v00001093d00007660* -+ ID_MODEL_FROM_DATABASE=PXIe-2544 -+ -+pci:v00001093d0000766D* -+ ID_MODEL_FROM_DATABASE=PCIe-6535B -+ -+pci:v00001093d0000766E* -+ ID_MODEL_FROM_DATABASE=PCIe-6536B -+ -+pci:v00001093d0000766F* -+ ID_MODEL_FROM_DATABASE=PCIe-6537B -+ -+pci:v00001093d000076A3* -+ ID_MODEL_FROM_DATABASE=PXIe-6535B -+ -+pci:v00001093d000076A4* -+ ID_MODEL_FROM_DATABASE=PXIe-6536B -+ -+pci:v00001093d000076A5* -+ ID_MODEL_FROM_DATABASE=PXIe-6537B -+ -+pci:v00001093d00009020* -+ ID_MODEL_FROM_DATABASE=PXI-2501 -+ -+pci:v00001093d00009030* -+ ID_MODEL_FROM_DATABASE=PXI-2503 -+ -+pci:v00001093d00009040* -+ ID_MODEL_FROM_DATABASE=PXI-2527 -+ -+pci:v00001093d00009050* -+ ID_MODEL_FROM_DATABASE=PXI-2565 -+ -+pci:v00001093d00009060* -+ ID_MODEL_FROM_DATABASE=PXI-2590 -+ -+pci:v00001093d00009070* -+ ID_MODEL_FROM_DATABASE=PXI-2591 -+ -+pci:v00001093d00009080* -+ ID_MODEL_FROM_DATABASE=PXI-2580 -+ -+pci:v00001093d00009090* -+ ID_MODEL_FROM_DATABASE=PCI-4021 -+ -+pci:v00001093d000090A0* -+ ID_MODEL_FROM_DATABASE=PXI-4021 -+ - pci:v00001093d0000B001* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1408 -+ ID_MODEL_FROM_DATABASE=PCI-1408 - - pci:v00001093d0000B011* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1408 -+ ID_MODEL_FROM_DATABASE=PXI-1408 - - pci:v00001093d0000B021* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1424 -+ ID_MODEL_FROM_DATABASE=PCI-1424 -+ -+pci:v00001093d0000B022* -+ ID_MODEL_FROM_DATABASE=PXI-1424 - - pci:v00001093d0000B031* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1413 -+ ID_MODEL_FROM_DATABASE=PCI-1413 - - pci:v00001093d0000B041* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1407 -+ ID_MODEL_FROM_DATABASE=PCI-1407 - - pci:v00001093d0000B051* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1407 -+ ID_MODEL_FROM_DATABASE=PXI-1407 - - pci:v00001093d0000B061* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1411 -+ ID_MODEL_FROM_DATABASE=PCI-1411 - - pci:v00001093d0000B071* -- ID_MODEL_FROM_DATABASE=IMAQ-PCI-1422 -+ ID_MODEL_FROM_DATABASE=PCI-1422 - - pci:v00001093d0000B081* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1422 -+ ID_MODEL_FROM_DATABASE=PXI-1422 - - pci:v00001093d0000B091* -- ID_MODEL_FROM_DATABASE=IMAQ-PXI-1411 -+ ID_MODEL_FROM_DATABASE=PXI-1411 -+ -+pci:v00001093d0000B0B1* -+ ID_MODEL_FROM_DATABASE=PCI-1409 -+ -+pci:v00001093d0000B0C1* -+ ID_MODEL_FROM_DATABASE=PXI-1409 -+ -+pci:v00001093d0000B0E1* -+ ID_MODEL_FROM_DATABASE=PCI-1428 - - pci:v00001093d0000C4C4* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device - -+pci:v00001093d0000C4C4sv00001093sd0000728A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5421) -+ -+pci:v00001093d0000C4C4sv00001093sd0000728B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5442) -+ -+pci:v00001093d0000C4C4sv00001093sd0000728D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5451) -+ -+pci:v00001093d0000C4C4sv00001093sd000072A2* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5122) -+ -+pci:v00001093d0000C4C4sv00001093sd000072DA* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5422) -+ -+pci:v00001093d0000C4C4sv00001093sd000072F7* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6535) -+ -+pci:v00001093d0000C4C4sv00001093sd000072F8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6536) -+ -+pci:v00001093d0000C4C4sv00001093sd000072F9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6537) -+ -+pci:v00001093d0000C4C4sv00001093sd00007326* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6509) -+ -+pci:v00001093d0000C4C4sv00001093sd0000736C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4140) -+ -+pci:v00001093d0000C4C4sv00001093sd0000738B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622) -+ -+pci:v00001093d0000C4C4sv00001093sd000073C4* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5450) -+ -+pci:v00001093d0000C4C4sv00001093sd000073C7* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6545) -+ -+pci:v00001093d0000C4C4sv00001093sd000073D4* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6544) -+ -+pci:v00001093d0000C4C4sv00001093sd00007425* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6320) -+ -+pci:v00001093d0000C4C4sv00001093sd00007427* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6321) -+ -+pci:v00001093d0000C4C4sv00001093sd00007428* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6323) -+ -+pci:v00001093d0000C4C4sv00001093sd00007429* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6323) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6341) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6341) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6343) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6343) -+ -+pci:v00001093d0000C4C4sv00001093sd0000742F* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6351) -+ -+pci:v00001093d0000C4C4sv00001093sd00007431* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6353) -+ -+pci:v00001093d0000C4C4sv00001093sd00007432* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6361) -+ -+pci:v00001093d0000C4C4sv00001093sd00007433* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6361) -+ -+pci:v00001093d0000C4C4sv00001093sd00007434* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6363) -+ -+pci:v00001093d0000C4C4sv00001093sd00007435* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6363) -+ -+pci:v00001093d0000C4C4sv00001093sd00007436* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6356) -+ -+pci:v00001093d0000C4C4sv00001093sd00007437* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6358) -+ -+pci:v00001093d0000C4C4sv00001093sd00007438* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6366) -+ -+pci:v00001093d0000C4C4sv00001093sd00007439* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6368) -+ -+pci:v00001093d0000C4C4sv00001093sd00007468* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) -+ -+pci:v00001093d0000C4C4sv00001093sd00007469* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) -+ -+pci:v00001093d0000C4C4sv00001093sd00007492* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4300) -+ -+pci:v00001093d0000C4C4sv00001093sd00007498* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6548) -+ -+pci:v00001093d0000C4C4sv00001093sd00007499* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6547) -+ -+pci:v00001093d0000C4C4sv00001093sd000074A8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4330) -+ -+pci:v00001093d0000C4C4sv00001093sd000074A9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4331) -+ -+pci:v00001093d0000C4C4sv00001093sd000074B1* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4154) -+ - pci:v00001093d0000C4C4sv00001093sd000074B2* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4353) - -+pci:v00001093d0000C4C4sv00001093sd000074B6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1433) -+ -+pci:v00001093d0000C4C4sv00001093sd000074CD* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5643R) -+ - pci:v00001093d0000C4C4sv00001093sd000074D0* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7961R) - -+pci:v00001093d0000C4C4sv00001093sd000074DD* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6376) -+ -+pci:v00001093d0000C4C4sv00001093sd000074DE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6378) -+ - pci:v00001093d0000C4C4sv00001093sd000074E2* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7962R) - - pci:v00001093d0000C4C4sv00001093sd000074E3* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7965R) - -+pci:v00001093d0000C4C4sv00001093sd000074E5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4844) -+ -+pci:v00001093d0000C4C4sv00001093sd000074F3* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5140) -+ -+pci:v00001093d0000C4C4sv00001093sd0000753C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1435) -+ -+pci:v00001093d0000C4C4sv00001093sd00007548* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5622 (25MHz DDC)) -+ -+pci:v00001093d0000C4C4sv00001093sd0000754D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-5155) -+ -+pci:v00001093d0000C4C4sv00001093sd00007551* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6556) -+ - pci:v00001093d0000C4C4sv00001093sd00007553* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R) - -+pci:v00001093d0000C4C4sv00001093sd00007570* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1474R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007571* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1475R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007572* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-1476R) -+ -+pci:v00001093d0000C4C4sv00001093sd000075A2* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5693) -+ -+pci:v00001093d0000C4C4sv00001093sd000075A3* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5694) -+ -+pci:v00001093d0000C4C4sv00001093sd000075A5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4141) -+ - pci:v00001093d0000C4C4sv00001093sd000075CE* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7966R) - -+pci:v00001093d0000C4C4sv00001093sd000075CF* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4357) -+ -+pci:v00001093d0000C4C4sv00001093sd000075D2* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-RevB-5643R) -+ -+pci:v00001093d0000C4C4sv00001093sd000075D3* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd000075EE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007613* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6555) -+ -+pci:v00001093d0000C4C4sv00001093sd00007619* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5185) -+ -+pci:v00001093d0000C4C4sv00001093sd0000761A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5186) -+ -+pci:v00001093d0000C4C4sv00001093sd00007629* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4142) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762A* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4143) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4138) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4144) -+ -+pci:v00001093d0000C4C4sv00001093sd0000762D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4145) -+ -+pci:v00001093d0000C4C4sv00001093sd00007644* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4841) -+ -+pci:v00001093d0000C4C4sv00001093sd00007658* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (4CH)) -+ -+pci:v00001093d0000C4C4sv00001093sd000076AB* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4322) -+ -+pci:v00001093d0000C4C4sv00001093sd000076AD* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4112) -+ -+pci:v00001093d0000C4C4sv00001093sd000076AE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4113) -+ -+pci:v00001093d0000C4C4sv00001093sd000076B5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7971R) -+ -+pci:v00001093d0000C4C4sv00001093sd000076B6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7972R) -+ - pci:v00001093d0000C4C4sv00001093sd000076B7* - ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7975R) - -+pci:v00001093d0000C4C4sv00001093sd000076C8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6614) -+ -+pci:v00001093d0000C4C4sv00001093sd000076C9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6612) -+ -+pci:v00001093d0000C4C4sv00001093sd000076CB* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd000076CC* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5162 (2CH)) -+ - pci:v00001093d0000C4C4sv00001093sd000076D0* -- ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160) -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (2CH)) -+ -+pci:v00001093d0000C4C4sv00001093sd000076D1* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5160 (4CH)) -+ -+pci:v00001093d0000C4C4sv00001093sd000076DC* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4610) -+ -+pci:v00001093d0000C4C4sv00001093sd000076FB* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-1473R-LX110) -+ -+pci:v00001093d0000C4C4sv00001093sd000076FE* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd000076FF* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007700* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5644R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007701* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007702* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007703* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5645R) -+ -+pci:v00001093d0000C4C4sv00001093sd0000770C* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4139) -+ -+pci:v00001093d0000C4C4sv00001093sd00007711* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4464) -+ -+pci:v00001093d0000C4C4sv00001093sd00007716* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PCIe-6612) -+ -+pci:v00001093d0000C4C4sv00001093sd0000771E* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-4339) -+ -+pci:v00001093d0000C4C4sv00001093sd00007735* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9033) -+ -+pci:v00001093d0000C4C4sv00001093sd0000774B* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9031) -+ -+pci:v00001093d0000C4C4sv00001093sd0000774D* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9034) -+ -+pci:v00001093d0000C4C4sv00001093sd00007755* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9030) -+ -+pci:v00001093d0000C4C4sv00001093sd00007777* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7976R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007782* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007783* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd00007784* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-5646R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6345) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6355) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A7* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6365) -+ -+pci:v00001093d0000C4C4sv00001093sd000077A8* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-6375) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B4* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7820R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B5* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7821R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B6* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (PXIe-7822R) -+ -+pci:v00001093d0000C4C4sv00001093sd000077B9* -+ ID_MODEL_FROM_DATABASE=PXIe/PCIe Device (cRIO-9038) - - pci:v00001093d0000C801* - ID_MODEL_FROM_DATABASE=PCI-GPIB - -+pci:v00001093d0000C811* -+ ID_MODEL_FROM_DATABASE=PCI-GPIB+ -+ -+pci:v00001093d0000C821* -+ ID_MODEL_FROM_DATABASE=PXI-GPIB -+ - pci:v00001093d0000C831* -- ID_MODEL_FROM_DATABASE=PCI-GPIB bridge -+ ID_MODEL_FROM_DATABASE=PMC-GPIB -+ -+pci:v00001093d0000C840* -+ ID_MODEL_FROM_DATABASE=PCI-GPIB -+ -+pci:v00001093d0000D130* -+ ID_MODEL_FROM_DATABASE=PCI-232/2 Interface -+ -+pci:v00001093d0000D140* -+ ID_MODEL_FROM_DATABASE=PCI-232/4 Interface -+ -+pci:v00001093d0000D150* -+ ID_MODEL_FROM_DATABASE=PCI-232/8 Interface -+ -+pci:v00001093d0000D160* -+ ID_MODEL_FROM_DATABASE=PCI-485/2 Interface -+ -+pci:v00001093d0000D170* -+ ID_MODEL_FROM_DATABASE=PCI-485/4 Interface -+ -+pci:v00001093d0000D190* -+ ID_MODEL_FROM_DATABASE=PXI-8422/2 (Isolated RS-232) Interface -+ -+pci:v00001093d0000D1A0* -+ ID_MODEL_FROM_DATABASE=PXI-8422/4 (Isolated RS-232) Interface -+ -+pci:v00001093d0000D1B0* -+ ID_MODEL_FROM_DATABASE=PXI-8423/2 (Isolated RS-485) Interface -+ -+pci:v00001093d0000D1C0* -+ ID_MODEL_FROM_DATABASE=PXI-8423/4 (Isolated RS-485) Interface -+ -+pci:v00001093d0000D1D0* -+ ID_MODEL_FROM_DATABASE=PXI-8420/2 (RS-232) Interface -+ -+pci:v00001093d0000D1E0* -+ ID_MODEL_FROM_DATABASE=PXI-8420/4 (RS-232) Interface -+ -+pci:v00001093d0000D1F0* -+ ID_MODEL_FROM_DATABASE=PXI-8420/8 (RS-232) Interface -+ -+pci:v00001093d0000D1F1* -+ ID_MODEL_FROM_DATABASE=PXI-8420/16 (RS-232) Interface -+ -+pci:v00001093d0000D230* -+ ID_MODEL_FROM_DATABASE=PXI-8421/2 (RS-485) Interface -+ -+pci:v00001093d0000D240* -+ ID_MODEL_FROM_DATABASE=PXI-8421/4 (RS-485) Interface -+ -+pci:v00001093d0000D250* -+ ID_MODEL_FROM_DATABASE=PCI-232/2 (Isolated) Interface -+ -+pci:v00001093d0000D260* -+ ID_MODEL_FROM_DATABASE=PCI-485/2 (Isolated) Interface -+ -+pci:v00001093d0000D270* -+ ID_MODEL_FROM_DATABASE=PCI-232/4 (Isolated) Interface -+ -+pci:v00001093d0000D280* -+ ID_MODEL_FROM_DATABASE=PCI-485/4 (Isolated) Interface -+ -+pci:v00001093d0000D290* -+ ID_MODEL_FROM_DATABASE=PCI-485/8 Interface -+ -+pci:v00001093d0000D2A0* -+ ID_MODEL_FROM_DATABASE=PXI-8421/8 (RS-485) Interface -+ -+pci:v00001093d0000D2B0* -+ ID_MODEL_FROM_DATABASE=PCI-232/16 Interface -+ -+pci:v00001093d0000E111* -+ ID_MODEL_FROM_DATABASE=PCI-CAN -+ -+pci:v00001093d0000E131* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (1 port) -+ -+pci:v00001093d0000E141* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS -+ -+pci:v00001093d0000E151* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (1 port) -+ -+pci:v00001093d0000E211* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/2 -+ -+pci:v00001093d0000E231* -+ ID_MODEL_FROM_DATABASE=PXI-8461 (2 ports) -+ -+pci:v00001093d0000E241* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/LS2 -+ -+pci:v00001093d0000E251* -+ ID_MODEL_FROM_DATABASE=PXI-8460 (2 ports) -+ -+pci:v00001093d0000E261* -+ ID_MODEL_FROM_DATABASE=PCI-CAN/DS -+ -+pci:v00001093d0000E271* -+ ID_MODEL_FROM_DATABASE=PXI-8462 - - pci:v00001094* - ID_VENDOR_FROM_DATABASE=First International Computers [FIC] -@@ -23331,16 +25011,16 @@ pci:v000010DEd00000367* - ID_MODEL_FROM_DATABASE=MCP55 LPC Bridge - - pci:v000010DEd00000368* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller - - pci:v000010DEd00000368sv00001028sd0000020C* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge M605 MCP55 SMBus) -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge M605 MCP55 SMBus) - - pci:v000010DEd00000368sv00001028sd00000221* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus (PowerEdge R805 MCP55 SMBus) -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (PowerEdge R805 MCP55 SMBus) - - pci:v000010DEd00000368sv0000147Bsd00001C24* -- ID_MODEL_FROM_DATABASE=MCP55 SMBus (KN9 series mainboard) -+ ID_MODEL_FROM_DATABASE=MCP55 SMBus Controller (KN9 series mainboard) - - pci:v000010DEd00000369* - ID_MODEL_FROM_DATABASE=MCP55 Memory Controller -@@ -24530,6 +26210,9 @@ pci:v000010DEd00000641* - pci:v000010DEd00000641sv00001682sd00004009* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9400 GT] (PV-T94G-ZAFG) - -+pci:v000010DEd00000642* -+ ID_MODEL_FROM_DATABASE=G96 [D9M-10] -+ - pci:v000010DEd00000643* - ID_MODEL_FROM_DATABASE=G96 [GeForce 9500 GT] - -@@ -26522,6 +28205,9 @@ pci:v000010DEd0000100A* - pci:v000010DEd0000100C* - ID_MODEL_FROM_DATABASE=GK110B [GeForce GTX Titan Black] - -+pci:v000010DEd0000101E* -+ ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20X] -+ - pci:v000010DEd0000101F* - ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20] - -@@ -26552,6 +28238,15 @@ pci:v000010DEd00001028* - pci:v000010DEd00001029* - ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40s] - -+pci:v000010DEd0000102A* -+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40t] -+ -+pci:v000010DEd0000102D* -+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K80] -+ -+pci:v000010DEd0000102E* -+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40d] -+ - pci:v000010DEd0000103A* - ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000] - -@@ -26582,6 +28277,9 @@ pci:v000010DEd0000104B* - pci:v000010DEd0000104C* - ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 705] - -+pci:v000010DEd0000104D* -+ ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 710] -+ - pci:v000010DEd00001050* - ID_MODEL_FROM_DATABASE=GF119M [GeForce GT 520M] - -@@ -27551,9 +29249,15 @@ pci:v000010DEd0000118E* - pci:v000010DEd0000118F* - ID_MODEL_FROM_DATABASE=GK104GL [Tesla K10] - -+pci:v000010DEd00001191* -+ ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Rev. 2] -+ - pci:v000010DEd00001193* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 760 Ti OEM] - -+pci:v000010DEd00001194* -+ ID_MODEL_FROM_DATABASE=GK104GL [Tesla K8] -+ - pci:v000010DEd00001195* - ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 660 Rev. 2] - -@@ -27944,6 +29648,9 @@ pci:v000010DEd00001381* - pci:v000010DEd00001382* - ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 745] - -+pci:v000010DEd00001389* -+ ID_MODEL_FROM_DATABASE=GM107GL [GRID M3] -+ - pci:v000010DEd00001390* - ID_MODEL_FROM_DATABASE=GM107M [GeForce 845M] - -@@ -27971,6 +29678,9 @@ pci:v000010DEd000013BA* - pci:v000010DEd000013BB* - ID_MODEL_FROM_DATABASE=GM107GL [Quadro K620] - -+pci:v000010DEd000013BD* -+ ID_MODEL_FROM_DATABASE=GM107GL [Tesla M40] -+ - pci:v000010DF* - ID_VENDOR_FROM_DATABASE=Emulex Corporation - -@@ -31772,6 +33482,30 @@ pci:v0000111Dd0000806E* - pci:v0000111Dd0000806F* - ID_MODEL_FROM_DATABASE=HIO524G2 PCI Express Gen2 Switch - -+pci:v0000111Dd00008088* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch -+ -+pci:v0000111Dd00008088sv00001093sd0000752F* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc Device) -+ -+pci:v0000111Dd00008088sv00001093sd00007543* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc System Host) -+ -+pci:v0000111Dd00008088sv00001093sd0000755C* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8364) -+ -+pci:v0000111Dd00008088sv00001093sd0000755D* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8374) -+ -+pci:v0000111Dd00008088sv00001093sd000075FF* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) -+ -+pci:v0000111Dd00008088sv00001093sd00007600* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8383mc DMA) -+ -+pci:v0000111Dd00008088sv00001093sd00007602* -+ ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8384) -+ - pci:v0000111E* - ID_VENDOR_FROM_DATABASE=Eldec - -@@ -42929,6 +44663,9 @@ pci:v00001425d00005084* - pci:v00001425d00005085* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller - -+pci:v00001425d00005086* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller -+ - pci:v00001425d00005401* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -43007,6 +44744,9 @@ pci:v00001425d00005484* - pci:v00001425d00005485* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller - -+pci:v00001425d00005486* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller -+ - pci:v00001425d00005501* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -43085,6 +44825,9 @@ pci:v00001425d00005584* - pci:v00001425d00005585* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller - -+pci:v00001425d00005586* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller -+ - pci:v00001425d00005601* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller - -@@ -43163,6 +44906,9 @@ pci:v00001425d00005684* - pci:v00001425d00005685* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller - -+pci:v00001425d00005686* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Storage Controller -+ - pci:v00001425d00005701* - ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller - -@@ -43319,6 +45065,9 @@ pci:v00001425d00005884* - pci:v00001425d00005885* - ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF] - -+pci:v00001425d00005886* -+ ID_MODEL_FROM_DATABASE=T580-5086 Unified Wire Ethernet Controller [VF] -+ - pci:v00001425d0000A000* - ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller - -@@ -49862,6 +51611,15 @@ pci:v000016ED* - pci:v000016EDd00001001* - ID_MODEL_FROM_DATABASE=UMIO communication card - -+pci:v000016F2* -+ ID_VENDOR_FROM_DATABASE=ETAS GmbH -+ -+pci:v000016F2d00000200* -+ ID_MODEL_FROM_DATABASE=I/O board -+ -+pci:v000016F2d00000200sv000016F2sd00000010* -+ ID_MODEL_FROM_DATABASE=I/O board (ES53xx I/O board) -+ - pci:v000016F3* - ID_VENDOR_FROM_DATABASE=Jetway Information Co., Ltd. - -@@ -50004,7 +51762,7 @@ pci:v00001775* - ID_VENDOR_FROM_DATABASE=GE Intelligent Platforms - - pci:v0000177D* -- ID_VENDOR_FROM_DATABASE=Cavium Networks -+ ID_VENDOR_FROM_DATABASE=Cavium, Inc. - - pci:v0000177Dd00000001* - ID_MODEL_FROM_DATABASE=Nitrox XL N1 -@@ -50063,6 +51821,147 @@ pci:v0000177Dd00000095* - pci:v0000177Dd00000096* - ID_MODEL_FROM_DATABASE=Octeon III CN70XX Network Processor - -+pci:v0000177Dd0000A001* -+ ID_MODEL_FROM_DATABASE=THUNDERX MRML Bridge -+ -+pci:v0000177Dd0000A002* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge -+ -+pci:v0000177Dd0000A002sv0000177Dsd0000A102* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCC Bridge (CN88XX PCC Bridge) -+ -+pci:v0000177Dd0000A008* -+ ID_MODEL_FROM_DATABASE=THUNDERX SMMU -+ -+pci:v0000177Dd0000A008sv0000177Dsd0000A108* -+ ID_MODEL_FROM_DATABASE=THUNDERX SMMU (CN88XX SMMU) -+ -+pci:v0000177Dd0000A009* -+ ID_MODEL_FROM_DATABASE=THUNDERX Generic Interrupt Controller -+ -+pci:v0000177Dd0000A00A* -+ ID_MODEL_FROM_DATABASE=THUNDERX GPIO Controller -+ -+pci:v0000177Dd0000A00B* -+ ID_MODEL_FROM_DATABASE=THUNDERX MPI / SPI Controller -+ -+pci:v0000177Dd0000A00C* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIO-PTP Controller -+ -+pci:v0000177Dd0000A00D* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIX Network Controller -+ -+pci:v0000177Dd0000A00E* -+ ID_MODEL_FROM_DATABASE=THUNDERX Reset Controller -+ -+pci:v0000177Dd0000A00F* -+ ID_MODEL_FROM_DATABASE=THUNDERX UART Controller -+ -+pci:v0000177Dd0000A010* -+ ID_MODEL_FROM_DATABASE=THUNDERX eMMC/SD Controller -+ -+pci:v0000177Dd0000A011* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIO-BOOT Controller -+ -+pci:v0000177Dd0000A012* -+ ID_MODEL_FROM_DATABASE=THUNDERX TWSI / I2C Controller -+ -+pci:v0000177Dd0000A013* -+ ID_MODEL_FROM_DATABASE=THUNDERX CCPI (Multi-node connect) -+ -+pci:v0000177Dd0000A014* -+ ID_MODEL_FROM_DATABASE=THUNDERX Voltage Regulator Module -+ -+pci:v0000177Dd0000A015* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCIe Switch Logic Interface -+ -+pci:v0000177Dd0000A016* -+ ID_MODEL_FROM_DATABASE=THUNDERX Key Memory -+ -+pci:v0000177Dd0000A017* -+ ID_MODEL_FROM_DATABASE=THUNDERX GTI (Global System Timers) -+ -+pci:v0000177Dd0000A018* -+ ID_MODEL_FROM_DATABASE=THUNDERX Random Number Generator -+ -+pci:v0000177Dd0000A019* -+ ID_MODEL_FROM_DATABASE=THUNDERX DFA -+ -+pci:v0000177Dd0000A01A* -+ ID_MODEL_FROM_DATABASE=THUNDERX Zip Coprocessor -+ -+pci:v0000177Dd0000A01B* -+ ID_MODEL_FROM_DATABASE=THUNDERX xHCI USB Controller -+ -+pci:v0000177Dd0000A01C* -+ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller -+ -+pci:v0000177Dd0000A01Csv0000177Dsd0000A11C* -+ ID_MODEL_FROM_DATABASE=THUNDERX AHCI SATA Controller (CN88XX AHCI SATA Controller) -+ -+pci:v0000177Dd0000A01D* -+ ID_MODEL_FROM_DATABASE=THUNDERX RAID Coprocessor -+ -+pci:v0000177Dd0000A01E* -+ ID_MODEL_FROM_DATABASE=THUNDERX Network Interface Controller -+ -+pci:v0000177Dd0000A01F* -+ ID_MODEL_FROM_DATABASE=THUNDERX Traffic Network Switch -+ -+pci:v0000177Dd0000A020* -+ ID_MODEL_FROM_DATABASE=THUNDERX PEM (PCI Express Interface) -+ -+pci:v0000177Dd0000A021* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C (Level-2 Cache Controller) -+ -+pci:v0000177Dd0000A022* -+ ID_MODEL_FROM_DATABASE=THUNDERX LMC (DRAM Controller) -+ -+pci:v0000177Dd0000A023* -+ ID_MODEL_FROM_DATABASE=THUNDERX OCLA (On-Chip Logic Analyzer) -+ -+pci:v0000177Dd0000A024* -+ ID_MODEL_FROM_DATABASE=THUNDERX OSM -+ -+pci:v0000177Dd0000A025* -+ ID_MODEL_FROM_DATABASE=THUNDERX GSER (General Serializer/Deserializer) -+ -+pci:v0000177Dd0000A026* -+ ID_MODEL_FROM_DATABASE=THUNDERX BGX (Common Ethernet Interface) -+ -+pci:v0000177Dd0000A027* -+ ID_MODEL_FROM_DATABASE=THUNDERX IOBN -+ -+pci:v0000177Dd0000A029* -+ ID_MODEL_FROM_DATABASE=THUNDERX NCSI (Network Controller Sideband Interface) -+ -+pci:v0000177Dd0000A02A* -+ ID_MODEL_FROM_DATABASE=THUNDERX SGP -+ -+pci:v0000177Dd0000A02B* -+ ID_MODEL_FROM_DATABASE=THUNDERX SMI / MDIO Controller -+ -+pci:v0000177Dd0000A02C* -+ ID_MODEL_FROM_DATABASE=THUNDERX DAP (Debug Access Port) -+ -+pci:v0000177Dd0000A02D* -+ ID_MODEL_FROM_DATABASE=THUNDERX PCIERC (PCIe Root Complex) -+ -+pci:v0000177Dd0000A02E* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C-TAD -+ -+pci:v0000177Dd0000A02F* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C-CBC -+ -+pci:v0000177Dd0000A030* -+ ID_MODEL_FROM_DATABASE=THUNDERX L2C-MCI -+ -+pci:v0000177Dd0000A031* -+ ID_MODEL_FROM_DATABASE=THUNDERX MIO-FUS (Fuse Access Controller) -+ -+pci:v0000177Dd0000A032* -+ ID_MODEL_FROM_DATABASE=THUNDERX FUSF (Fuse Controller) -+ - pci:v00001787* - ID_VENDOR_FROM_DATABASE=Hightech Information System Ltd. - -@@ -53312,6 +55211,12 @@ pci:v00001BBFd00000003* - pci:v00001BBFd00000004* - ID_MODEL_FROM_DATABASE=MAX4 - -+pci:v00001BEE* -+ ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH -+ -+pci:v00001BEEd00000003* -+ ID_MODEL_FROM_DATABASE=CAN-IB200/PCIe -+ - pci:v00001BF4* - ID_VENDOR_FROM_DATABASE=VTI Instruments Corporation - -@@ -58271,6 +60176,9 @@ pci:v00008086d000010D3sv0000103Csd00003250* - pci:v00008086d000010D3sv00001043sd00008369* - ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Motherboard) - -+pci:v00008086d000010D3sv00001093sd000076E9* -+ ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (PCIe-8233 Ethernet Adapter) -+ - pci:v00008086d000010D3sv000010A9sd00008029* - ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (Prism XL Single Port Gigabit Ethernet) - -@@ -59339,6 +61247,18 @@ pci:v00008086d00001521sv0000108Esd00007B16* - pci:v00008086d00001521sv0000108Esd00007B18* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP) - -+pci:v00008086d00001521sv00001093sd00007648* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R Ethernet Adapter) -+ -+pci:v00008086d00001521sv00001093sd00007649* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8236 Ethernet Adapter) -+ -+pci:v00008086d00001521sv00001093sd000076B1* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237R-S Ethernet Adapter) -+ -+pci:v00008086d00001521sv00001093sd0000775B* -+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (PCIe-8237 Ethernet Adapter) -+ - pci:v00008086d00001521sv000010A9sd0000802A* - ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (UV2-BaseIO dual-port GbE) - -@@ -59498,6 +61418,9 @@ pci:v00008086d00001533* - pci:v00008086d00001533sv0000103Csd00000003* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Ethernet I210-T1 GbE NIC) - -+pci:v00008086d00001533sv00001093sd00007706* -+ ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (Compact Vision System Ethernet Adapter) -+ - pci:v00008086d00001533sv000010A9sd0000802C* - ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection (UV300 BaseIO single-port GbE) - -@@ -59703,10 +61626,10 @@ pci:v00008086d000015A3* - ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I218-V - - pci:v00008086d000015B7* -- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM - - pci:v00008086d000015B8* -- ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-LM -+ ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I219-V - - pci:v00008086d00001600* - ID_MODEL_FROM_DATABASE=Broadwell-U Host Bridge -OPI -diff --git hwdb/20-usb-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb -index d87313c..ea1c3e3 100644 ---- hwdb/20-usb-vendor-model.hwdb -+++ hwdb/20-usb-vendor-model.hwdb -@@ -30222,7 +30222,7 @@ usb:v0930p6544* - ID_MODEL_FROM_DATABASE=Kingston DataTraveler 2.0 Stick (2GB) - - usb:v0930p6545* -- ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick -+ ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick - - usb:v0931* - ID_VENDOR_FROM_DATABASE=Harmonic Data Systems, Ltd --- -1.7.9.2 - diff --git a/0009-journal-do-not-leak-mmaps-on-OOM.patch b/0009-journal-do-not-leak-mmaps-on-OOM.patch deleted file mode 100644 index 3d92f474..00000000 --- a/0009-journal-do-not-leak-mmaps-on-OOM.patch +++ /dev/null @@ -1,50 +0,0 @@ -From b67ddc7bbe31cde7f69f9814204d9bb1d4623c47 Mon Sep 17 00:00:00 2001 -From: Philippe De Swert -Date: Wed, 10 Sep 2014 12:20:41 +0300 -Subject: [PATCH] journal: do not leak mmaps on OOM - -After a section of memory is succesfully allocated, some of the following -actions can still fail due to lack of memory. In this case -ENOMEM is -returned without actually freeing the already mapped memory. -Found with coverity. Fixes: CID#1237762 ---- - src/journal/mmap-cache.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git src/journal/mmap-cache.c src/journal/mmap-cache.c -index 7dbbb5e..908562d 100644 ---- src/journal/mmap-cache.c -+++ src/journal/mmap-cache.c -@@ -496,15 +496,15 @@ static int add_mmap( - - c = context_add(m, context); - if (!c) -- return -ENOMEM; -+ goto outofmem; - - f = fd_add(m, fd); - if (!f) -- return -ENOMEM; -+ goto outofmem; - - w = window_add(m); - if (!w) -- return -ENOMEM; -+ goto outofmem; - - w->keep_always = keep_always; - w->ptr = d; -@@ -522,6 +522,10 @@ static int add_mmap( - if (ret) - *ret = (uint8_t*) w->ptr + (offset - w->offset); - return 1; -+ -+outofmem: -+ munmap(d, wsize); -+ return -ENOMEM; - } - - int mmap_cache_get( --- -1.7.9.2 - diff --git a/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch b/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch deleted file mode 100644 index 864b9982..00000000 --- a/0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b9c488f60050248b35640f28e4d00958702ba1c3 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Wed, 6 Aug 2014 13:14:51 +0200 -Subject: [PATCH] journald: Fix off-by-one error in "Missed X kernel messages" - warning - -On receiving a message, "kernel_seqnum" is set to "serial + 1". So -subtracting 1 will cause messages like "Missed 0 kernel messages", -which should be "Missed 1 kernel messages". ---- - src/journal/journald-kmsg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c -index 9935986..fb8ea08 100644 ---- src/journal/journald-kmsg.c -+++ src/journal/journald-kmsg.c -@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { - /* Did we lose any? */ - if (serial > *s->kernel_seqnum) - server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages", -- serial - *s->kernel_seqnum - 1); -+ serial - *s->kernel_seqnum); - - /* Make sure we never read this one again. Note that - * we always store the next message serial we expect --- -1.7.9.2 - diff --git a/0009-journald-always-add-syslog-facility-for-messages-com.patch b/0009-journald-always-add-syslog-facility-for-messages-com.patch deleted file mode 100644 index 58a8bdd2..00000000 --- a/0009-journald-always-add-syslog-facility-for-messages-com.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 36dd072cdf03dcac0fcd2d6b42f261444dc7ac88 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 25 Jul 2014 14:38:22 +0200 -Subject: [PATCH] journald: always add syslog facility for messages coming - from kmsg - -Set SYSLOG_FACILITY field for kernel log messages too. Setting only -SYSLOG_IDENTIFIER="kernel" is not sufficient and tools reading journal -maybe confused by missing SYSLOG_FACILITY field for kernel log messages. ---- - src/journal/journald-kmsg.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git src/journal/journald-kmsg.c src/journal/journald-kmsg.c -index 12992e7..bb62a76 100644 ---- src/journal/journald-kmsg.c -+++ src/journal/journald-kmsg.c -@@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { - if (asprintf(&syslog_priority, "PRIORITY=%i", priority & LOG_PRIMASK) >= 0) - IOVEC_SET_STRING(iovec[n++], syslog_priority); - -+ if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) -+ IOVEC_SET_STRING(iovec[n++], syslog_facility); -+ - if ((priority & LOG_FACMASK) == LOG_KERN) - IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); - else { -@@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { - if (syslog_pid) - IOVEC_SET_STRING(iovec[n++], syslog_pid); - } -- -- if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) -- IOVEC_SET_STRING(iovec[n++], syslog_facility); - } - - message = cunescape_length_with_prefix(p, pl, "MESSAGE="); --- -1.7.9.2 - diff --git a/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch b/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch deleted file mode 100644 index 5bf1987e..00000000 --- a/0009-logind-fix-reference-to-systemd-user-sessions.servic.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 646e392e10924454576f10b072f78d7676422816 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 6 Mar 2014 04:52:31 +0100 -Subject: [PATCH] logind: fix reference to systemd-user-sessions.service - ---- - src/login/logind-session.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/login/logind-session.c src/login/logind-session.c -index 548f049..3700522 100644 ---- src/login/logind-session.c -+++ src/login/logind-session.c -@@ -490,7 +490,7 @@ static int session_start_scope(Session *s) { - if (!scope) - return log_oom(); - -- r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-session.service", &error, &job); -+ r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-sessions.service", &error, &job); - if (r < 0) { - log_error("Failed to start session scope %s: %s %s", - scope, bus_error_message(&error, r), error.name); --- -1.7.9.2 - diff --git a/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch b/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch deleted file mode 100644 index f064927a..00000000 --- a/0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +++ /dev/null @@ -1,70 +0,0 @@ -From ff5f34d08c191c326c41a083745522383ac86cae Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 04:27:50 +0100 -Subject: [PATCH] mount: don't send out PropertiesChanged message if actually - nothing got changed - ---- - src/core/mount.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git src/core/mount.c src/core/mount.c -index b35e507..98812c9 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -1390,7 +1390,7 @@ static int mount_add_one( - _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; - bool load_extras = false; - MountParameters *p; -- bool delete; -+ bool delete, changed = false; - Unit *u; - int r; - -@@ -1458,6 +1458,7 @@ static int mount_add_one( - } - - unit_add_to_load_queue(u); -+ changed = true; - } else { - delete = false; - -@@ -1476,6 +1477,7 @@ static int mount_add_one( - /* Load in the extras later on, after we - * finished initialization of the unit */ - load_extras = true; -+ changed = true; - } - } - -@@ -1488,10 +1490,16 @@ static int mount_add_one( - } - - p = &MOUNT(u)->parameters_proc_self_mountinfo; -+ -+ changed = changed || -+ !streq_ptr(p->options, options) || -+ !streq_ptr(p->what, what) || -+ !streq_ptr(p->fstype, fstype); -+ - if (set_flags) { - MOUNT(u)->is_mounted = true; - MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; -- MOUNT(u)->just_changed = !streq_ptr(p->options, o); -+ MOUNT(u)->just_changed = changed; - } - - MOUNT(u)->from_proc_self_mountinfo = true; -@@ -1514,7 +1522,8 @@ static int mount_add_one( - goto fail; - } - -- unit_add_to_dbus_queue(u); -+ if (changed) -+ unit_add_to_dbus_queue(u); - - return 0; - --- -1.7.9.2 - diff --git a/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch b/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch deleted file mode 100644 index a88af680..00000000 --- a/0009-nspawn-properly-format-container_uuid-in-UUID-format.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9f24adc288de142d6606fde3c5a5971613f3b6b9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 16 May 2014 19:37:19 +0200 -Subject: [PATCH] nspawn: properly format container_uuid in UUID format - -http://lists.freedesktop.org/archives/systemd-devel/2014-April/018971.html ---- - src/nspawn/nspawn.c | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 0bd52da..6be4dca 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) { - return 0; - } - -+static char* id128_format_as_uuid(sd_id128_t id, char s[37]) { -+ -+ snprintf(s, 37, -+ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", -+ SD_ID128_FORMAT_VAL(id)); -+ -+ return s; -+} -+ - static int setup_boot_id(const char *dest) { - _cleanup_free_ char *from = NULL, *to = NULL; - sd_id128_t rnd = {}; -@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) { - return r; - } - -- snprintf(as_uuid, sizeof(as_uuid), -- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", -- SD_ID128_FORMAT_VAL(rnd)); -- char_array_0(as_uuid); -+ id128_format_as_uuid(rnd, as_uuid); - - r = write_string_file(from, as_uuid); - if (r < 0) { -@@ -2954,7 +2960,9 @@ int main(int argc, char *argv[]) { - } - - if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) { -- if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) { -+ char as_uuid[37]; -+ -+ if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) { - log_oom(); - goto child_fail; - } --- -1.7.9.2 - diff --git a/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch b/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch deleted file mode 100644 index f9e93696..00000000 --- a/0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5a4d665ad679a8436f1210ba67d713a8f0b91b96 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 14 Mar 2014 21:15:32 +0100 -Subject: [PATCH] sd-bus: don't choke if somebody sends us a message with a - unix fd count of 0 - -It's kinda pointless to include a unix fd header field in messages if it -carries the value 0, but let's do this anyway... ---- - src/libsystemd/sd-bus/bus-message.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c -index 97ab0e3..b9d7f6d 100644 ---- src/libsystemd/sd-bus/bus-message.c -+++ src/libsystemd/sd-bus/bus-message.c -@@ -4885,6 +4885,7 @@ int bus_message_parse_fields(sd_bus_message *m) { - size_t ri; - int r; - uint32_t unix_fds = 0; -+ bool unix_fds_set = false; - void *offsets = NULL; - unsigned n_offsets = 0; - size_t sz = 0; -@@ -5097,7 +5098,7 @@ int bus_message_parse_fields(sd_bus_message *m) { - } - - case BUS_MESSAGE_HEADER_UNIX_FDS: -- if (unix_fds != 0) -+ if (unix_fds_set) - return -EBADMSG; - - if (!streq(signature, "u")) -@@ -5107,9 +5108,7 @@ int bus_message_parse_fields(sd_bus_message *m) { - if (r < 0) - return -EBADMSG; - -- if (unix_fds == 0) -- return -EBADMSG; -- -+ unix_fds_set = true; - break; - - default: --- -1.7.9.2 - diff --git a/0009-units-make-systemd-journald.service-Type-notify.patch b/0009-units-make-systemd-journald.service-Type-notify.patch deleted file mode 100644 index 4890daf5..00000000 --- a/0009-units-make-systemd-journald.service-Type-notify.patch +++ /dev/null @@ -1,27 +0,0 @@ -Based on a87a38c20196a4aeb56b6ba71d688eefd0b21c30 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Tue, 4 Nov 2014 20:28:08 +0100 -Subject: [PATCH] units: make systemd-journald.service Type=notify - -It already calls sd_notify(), so it looks like an oversight. - -Without it, its ordering to systemd-journal-flush.service is -non-deterministic and the SIGUSR1 from flushing may kill journald before -it has its signal handlers set up. - -https://bugs.freedesktop.org/show_bug.cgi?id=85871 -https://bugzilla.redhat.com/show_bug.cgi?id=1159641 ---- - units/systemd-journald.service.in | 1 + - 1 file changed, 1 insertion(+) - ---- units/systemd-journald.service.in -+++ units/systemd-journald.service.in 2014-11-10 12:22:08.461949786 +0000 -@@ -14,6 +14,7 @@ After=systemd-journald.socket syslog.soc - Before=sysinit.target - - [Service] -+Type=notify - ExecStart=@rootlibexecdir@/systemd-journald - Restart=always - RestartSec=0 diff --git a/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch b/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch deleted file mode 100644 index 0e7fdba3..00000000 --- a/0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a9169c1c589bf7c7a29e7905d17e350ce7c7c48e Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 27 Oct 2014 11:08:26 +0100 -Subject: [PATCH] util: fix copy-paste error and actually set the new hostname - -Reported-by: sztanpet on irc ---- - src/shared/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/shared/util.c src/shared/util.c -index 7d94a28..4143f6d 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -7189,7 +7189,7 @@ int sethostname_idempotent(const char *s) { - if (streq(buf, s)) - return 0; - -- r = sethostname(buf, strlen(buf)); -+ r = sethostname(s, strlen(s)); - if (r < 0) - return -errno; - --- -1.7.9.2 - diff --git a/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch b/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch deleted file mode 100644 index dbf00485..00000000 --- a/0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 5d20fde4a5c4dff4d7c737b545fbd13582d544c1 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann -Date: Fri, 31 Oct 2014 20:37:59 +0100 -Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers - ---- - hwdb/20-bluetooth-vendor-product.hwdb | 57 +++++++++++++++++++++++++++++++++ - 1 file changed, 57 insertions(+) - -diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb -index ee2efdf..58ca87d 100644 ---- hwdb/20-bluetooth-vendor-product.hwdb -+++ hwdb/20-bluetooth-vendor-product.hwdb -@@ -1166,3 +1166,60 @@ bluetooth:v0181* - - bluetooth:v0182* - ID_VENDOR_FROM_DATABASE=HOP Ubiquitous -+ -+bluetooth:v0183* -+ ID_VENDOR_FROM_DATABASE=To Be Assigned -+ -+bluetooth:v0184* -+ ID_VENDOR_FROM_DATABASE=Nectar -+ -+bluetooth:v0185* -+ ID_VENDOR_FROM_DATABASE=bel'apps LLC -+ -+bluetooth:v0186* -+ ID_VENDOR_FROM_DATABASE=CORE Lighting Ltd -+ -+bluetooth:v0187* -+ ID_VENDOR_FROM_DATABASE=Seraphim Sense Ltd -+ -+bluetooth:v0188* -+ ID_VENDOR_FROM_DATABASE=Unico RBC -+ -+bluetooth:v0189* -+ ID_VENDOR_FROM_DATABASE=Physical Enterprises Inc. -+ -+bluetooth:v018A* -+ ID_VENDOR_FROM_DATABASE=Able Trend Technology Limited -+ -+bluetooth:v018B* -+ ID_VENDOR_FROM_DATABASE=Konica Minolta, Inc. -+ -+bluetooth:v018C* -+ ID_VENDOR_FROM_DATABASE=Wilo SE -+ -+bluetooth:v018D* -+ ID_VENDOR_FROM_DATABASE=Extron Design Services -+ -+bluetooth:v018E* -+ ID_VENDOR_FROM_DATABASE=Fitbit, Inc. -+ -+bluetooth:v018F* -+ ID_VENDOR_FROM_DATABASE=Fireflies Systems -+ -+bluetooth:v0190* -+ ID_VENDOR_FROM_DATABASE=Intelletto Technologies Inc. -+ -+bluetooth:v0191* -+ ID_VENDOR_FROM_DATABASE=FDK CORPORATION -+ -+bluetooth:v0192* -+ ID_VENDOR_FROM_DATABASE=Cloudleaf, Inc -+ -+bluetooth:v0193* -+ ID_VENDOR_FROM_DATABASE=Maveric Automation LLC -+ -+bluetooth:v0194* -+ ID_VENDOR_FROM_DATABASE=Acoustic Stream Corporation -+ -+bluetooth:v0195* -+ ID_VENDOR_FROM_DATABASE=Zuli --- -1.7.9.2 - diff --git a/0010-logind-allow-suspending-if-there-are-no-displays.patch b/0010-logind-allow-suspending-if-there-are-no-displays.patch deleted file mode 100644 index a12ff513..00000000 --- a/0010-logind-allow-suspending-if-there-are-no-displays.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d36d90933a832bd1e1eb8e3d16b3de73f91636b4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Mon, 28 Apr 2014 00:58:56 +0300 -Subject: [PATCH] logind: allow suspending if there are no displays - -With proprietary graphics drivers, there won't be any 'drm' devices in -sysfs, so logind will never suspend the system upon closing the lid, -even if only one (internal) display is connected. This has been reported -by multiple users so far. - -IMHO, it's better to suspend the system in this case for safety reasons, -to avoid having nvidia blob users' laptops overheat, for the same reason -that sleep inhibitors are overridden (LidSwitchIgnoreInhibited=yes). ---- - src/login/logind-action.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git src/login/logind-action.c src/login/logind-action.c -index ae9cd48..36ee441 100644 ---- src/login/logind-action.c -+++ src/login/logind-action.c -@@ -79,14 +79,12 @@ int manager_handle_action( - return 0; - } - -- /* If we have more than one or no displays connected, -- * don't react to lid closing. The no display case we -- * treat like this under the assumption that there is -- * no modern drm driver available. */ -+ /* If we have more than one display connected, -+ * don't react to lid closing. */ - n = manager_count_displays(m); - if (n < 0) - log_warning("Display counting failed: %s", strerror(-n)); -- else if (n != 1) { -+ else if (n > 1) { - log_debug("Ignoring lid switch request, %i displays connected.", n); - return 0; - } --- -1.7.9.2 - diff --git a/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch b/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch deleted file mode 100644 index cd65acf9..00000000 --- a/0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9d685ca8193c0da3ad5746be3871f5350179a3b3 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra -Date: Thu, 14 Aug 2014 19:59:16 +0200 -Subject: [PATCH] machine_kill(): Don't kill the unit when killing the leader - -If "machinectl poweroff" or "machinectl reboot" is used on a -systemd-nspawn container started with --keep-unit and --register, it -should *only* send the appropriate signal to the leader PID (i.e. the -container's systemd process). It shouldn't fall through to -manager_kill_unit() to also send the signal to the unit. The latter -ends up killing systemd-nspawn, which takes down the container -prematurely. ---- - src/machine/machine.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git src/machine/machine.c src/machine/machine.c -index 1c9177e..13d3448 100644 ---- src/machine/machine.c -+++ src/machine/machine.c -@@ -493,6 +493,8 @@ int machine_kill(Machine *m, KillWho who, int signo) { - - if (kill(m->leader, signo) < 0) - return -errno; -+ -+ return 0; - } - - /* Otherwise make PID 1 do it for us, for the entire cgroup */ --- -1.7.9.2 - diff --git a/0010-man-update-link-to-LSB.patch b/0010-man-update-link-to-LSB.patch deleted file mode 100644 index 07a96f01..00000000 --- a/0010-man-update-link-to-LSB.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 27d14fb331ba8144f99f4da2d13f15cf5c8b8a9f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 6 Mar 2014 08:10:19 -0500 -Subject: [PATCH] man: update link to LSB - -https://bugzilla.redhat.com/show_bug.cgi?id=1073402 ---- - man/daemon.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/daemon.xml man/daemon.xml -index fd29ba7..ab58d08 100644 ---- man/daemon.xml -+++ man/daemon.xml -@@ -252,7 +252,7 @@ - detect service errors and problems. It - is recommended to follow the exit code - scheme as defined in the LSB -+ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB - recommendations for SysV init - scripts. - -@@ -395,7 +395,7 @@ - exclusively on boot (and manually by the - administrator) via SysV init scripts, as - detailed in the LSB -+ url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB - Linux Standard Base Core - Specification. This method of - activation is supported ubiquitously on Linux --- -1.7.9.2 - diff --git a/0010-manager-use-correct-cleanup-function.patch b/0010-manager-use-correct-cleanup-function.patch deleted file mode 100644 index 0f46dec8..00000000 --- a/0010-manager-use-correct-cleanup-function.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 807d0cca2b0daf4cd725298c1b5e062b1126f15b Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Thu, 11 Sep 2014 21:14:53 +0200 -Subject: [PATCH] manager: use correct cleanup function - -Close the dir instead of attempt to free it. - -Introduced in 874310b7b68c4c0d36ff07397db30a959bb7dae5 - -Found with coverity. Fixes: CID#996368 ---- - src/core/manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/core/manager.c src/core/manager.c -index 9abdf47..095111e 100644 ---- src/core/manager.c -+++ src/core/manager.c -@@ -896,7 +896,7 @@ static int manager_coldplug(Manager *m) { - - static void manager_build_unit_path_cache(Manager *m) { - char **i; -- _cleanup_free_ DIR *d = NULL; -+ _cleanup_closedir_ DIR *d = NULL; - int r; - - assert(m); --- -1.7.9.2 - diff --git a/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch b/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch deleted file mode 100644 index 79bf62d4..00000000 --- a/0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +++ /dev/null @@ -1,51 +0,0 @@ -From aef831369cd2a7a1bd4a58dd96ff8628ed6a85f9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 26 Feb 2014 04:28:37 +0100 -Subject: [PATCH] mount: don't fire PropertiesChanged signals for mounts that - are stopped - ---- - src/core/mount.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git src/core/mount.c src/core/mount.c -index 98812c9..7a92e1c 100644 ---- src/core/mount.c -+++ src/core/mount.c -@@ -1679,20 +1679,20 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - Mount *mount = MOUNT(u); - - if (!mount->is_mounted) { -- /* This has just been unmounted. */ - - mount->from_proc_self_mountinfo = false; - - switch (mount->state) { - - case MOUNT_MOUNTED: -+ /* This has just been unmounted by -+ * somebody else, follow the state -+ * change. */ - mount_enter_dead(mount, MOUNT_SUCCESS); - break; - - default: -- mount_set_state(mount, mount->state); - break; -- - } - - } else if (mount->just_mounted || mount->just_changed) { -@@ -1703,6 +1703,9 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - - case MOUNT_DEAD: - case MOUNT_FAILED: -+ /* This has just been mounted by -+ * somebody else, follow the state -+ * change. */ - mount_enter_mounted(mount, MOUNT_SUCCESS); - break; - --- -1.7.9.2 - diff --git a/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch b/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch deleted file mode 100644 index cafa5324..00000000 --- a/0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch +++ /dev/null @@ -1,27 +0,0 @@ -Based on d89b5fed9ea5d9ec293585cb85bb27b56ea6ac9c Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 21 Oct 2014 18:38:42 +0200 -Subject: [PATCH] shutdown: do final unmounting only if not running inside the - container - -If we run in the container then we run in a mount namespace. If namespace dies -then kernel should do unmounting for us, hence we skip unmounting in containers. - -Also, it may be the case that we no longer have capability to do umount, -because we are running in the unprivileged container. - -See: http://lists.freedesktop.org/archives/systemd-devel/2014-October/023536.html ---- - src/core/shutdown.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- src/core/shutdown.c -+++ src/core/shutdown.c 2014-10-29 14:18:38.767837898 +0000 -@@ -278,6 +278,7 @@ int main(int argc, char *argv[]) { - broadcast_signal(SIGKILL, true, false); - - if (in_container) { -+ need_umount = false; - need_swapoff = false; - need_dm_detach = false; - need_loop_detach = false; diff --git a/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch b/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch deleted file mode 100644 index e99c1a0d..00000000 --- a/0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch +++ /dev/null @@ -1,25 +0,0 @@ -From da92ca5eb506d513033e0c7a85daf25a7e1c9d0e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 20 Jun 2014 22:43:49 -0400 -Subject: [PATCH] util: treat fuse.sshfs as a network filesystem - -https://bugs.freedesktop.org/show_bug.cgi?id=73727 ---- - src/shared/util.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/shared/util.c src/shared/util.c -index 882a690..dbdb692 100644 ---- src/shared/util.c -+++ src/shared/util.c -@@ -1514,6 +1514,7 @@ bool fstype_is_network(const char *fstype) { - static const char table[] = - "cifs\0" - "smbfs\0" -+ "sshfs\0" - "ncpfs\0" - "ncp\0" - "nfs\0" --- -1.7.9.2 - diff --git a/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch b/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch deleted file mode 100644 index 325f04a9..00000000 --- a/0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8e75477abdd838d3beddc5fd1c6a7707b22748b6 Mon Sep 17 00:00:00 2001 -From: Ronny Chevalier -Date: Sat, 21 Jun 2014 22:07:09 +0200 -Subject: [PATCH] build-sys: add -pthread flag for libsystemd-shared - -src/shared/async.c uses pthread so it will fail at link time if we link -only to libsystemd-shared and use async ---- - Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git Makefile.am Makefile.am -index c7653ea..00db82d 100644 ---- Makefile.am -+++ Makefile.am -@@ -837,7 +837,8 @@ nodist_libsystemd_shared_la_SOURCES = \ - - libsystemd_shared_la_CFLAGS = \ - $(AM_CFLAGS) \ -- $(SECCOMP_CFLAGS) -+ $(SECCOMP_CFLAGS) \ -+ -pthread - - # ------------------------------------------------------------------------------ - noinst_LTLIBRARIES += \ --- -1.7.9.2 - diff --git a/0011-logs-show-fix-corrupt-output-with-empty-messages.patch b/0011-logs-show-fix-corrupt-output-with-empty-messages.patch deleted file mode 100644 index 6ff83d12..00000000 --- a/0011-logs-show-fix-corrupt-output-with-empty-messages.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 47d80904a1f72d559962cc5ad32fffd46672a34a Mon Sep 17 00:00:00 2001 -From: Uoti Urpala -Date: Thu, 20 Feb 2014 03:00:09 +0200 -Subject: [PATCH] logs-show: fix corrupt output with empty messages - -If a message had zero length, journalctl would print no newline, and -two output lines would be concatenated. Fix. The problem was -introduced in commit 31f7bf199452 ("logs-show: print multiline -messages"). Affected short and verbose output modes. - -Before fix: - -Feb 09 21:16:17 glyph dhclient[1323]: Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit - -after: - -Feb 09 21:16:17 glyph dhclient[1323]: -Feb 09 21:16:17 glyph NetworkManager[788]: (enp4s2): DHCPv4 state changed nbi -> preinit ---- - src/shared/logs-show.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/shared/logs-show.c src/shared/logs-show.c -index 61c3652..12d4a1c 100644 ---- src/shared/logs-show.c -+++ src/shared/logs-show.c -@@ -124,6 +124,11 @@ static bool print_multiline(FILE *f, unsigned prefix, unsigned n_columns, Output - } - } - -+ /* A special case: make sure that we print a newline when -+ the message is empty. */ -+ if (message_len == 0) -+ fputs("\n", f); -+ - for (pos = message; - pos < message + message_len; - pos = end + 1, line++) { --- -1.7.9.2 - diff --git a/0011-man-systemd-bootchart-fix-spacing-in-command.patch b/0011-man-systemd-bootchart-fix-spacing-in-command.patch deleted file mode 100644 index 60c206b3..00000000 --- a/0011-man-systemd-bootchart-fix-spacing-in-command.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 82ed60080d327d7301fcd55f5a1f8511f894b9d5 Mon Sep 17 00:00:00 2001 -From: Zachary Cook -Date: Thu, 6 Mar 2014 03:49:49 -0500 -Subject: [PATCH] man: systemd-bootchart - fix spacing in command - -Use the same formatting as the systemd-analyze man page, so that man shows a space. ---- - man/systemd-bootchart.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git man/systemd-bootchart.xml man/systemd-bootchart.xml -index d0adaad..1715d5d 100644 ---- man/systemd-bootchart.xml -+++ man/systemd-bootchart.xml -@@ -78,8 +78,8 @@ - in which order, and where possible problems - exist in the startup sequence of the system. - It is essentially a more detailed version of -- the systemd-analyze -- plot function. -+ the systemd-analyze plot -+ function. - - - Of course, bootchart can also be used at any --- -1.7.9.2 - diff --git a/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch b/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch deleted file mode 100644 index 1592a5aa..00000000 --- a/0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch +++ /dev/null @@ -1,57 +0,0 @@ -Based on dec23413ecc90d4a547aa41f02af0482b4513495 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 27 Oct 2014 21:31:29 -0400 -Subject: [PATCH] selinux: make sure we do not try to print missing fields - -UID or GID of 0 is valid, so we cannot use that to distinguish whether -calls to sd_bus_creds_get_* succeeded, and the return value from the -function is the only way to know about missing fields. Print "n/a" if -the fields are missing. - -CID #1238779 ---- - src/core/selinux-access.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git src/core/selinux-access.c src/core/selinux-access.c -index 08ea6ef..351d48f 100644 ---- src/core/selinux-access.c -+++ src/core/selinux-access.c -@@ -53,7 +53,7 @@ struct audit_info { - - /* - Any time an access gets denied this callback will be called -- with the aduit data. We then need to just copy the audit data into the msgbuf. -+ with the audit data. We then need to just copy the audit data into the msgbuf. - */ - static int audit_callback( - void *auditdata, -@@ -64,14 +64,20 @@ static int audit_callback( - const struct audit_info *audit = auditdata; - uid_t uid = 0, login_uid = 0; - gid_t gid = 0; -+ char login_uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; -+ char uid_buf[DECIMAL_STR_MAX(uid_t)] = "n/a"; -+ char gid_buf[DECIMAL_STR_MAX(gid_t)] = "n/a"; - -- sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid); -- sd_bus_creds_get_uid(audit->creds, &uid); -- sd_bus_creds_get_gid(audit->creds, &gid); -+ if (sd_bus_creds_get_audit_login_uid(audit->creds, &login_uid) >= 0) -+ snprintf(login_uid_buf, sizeof(login_uid_buf), UID_FMT, login_uid); -+ if (sd_bus_creds_get_uid(audit->creds, &uid) >= 0) -+ snprintf(uid_buf, sizeof(uid_buf), UID_FMT, uid); -+ if (sd_bus_creds_get_gid(audit->creds, &gid) >= 0) -+ snprintf(gid_buf, sizeof(gid_buf), "%lu", (unsigned long)gid); - - snprintf(msgbuf, msgbufsize, -- "auid=%d uid=%d gid=%d%s%s%s%s%s%s", -- login_uid, uid, gid, -+ "auid=%s uid=%s gid=%s%s%s%s%s%s%s", -+ login_uid_buf, uid_buf, gid_buf, - audit->path ? " path=\"" : "", strempty(audit->path), audit->path ? "\"" : "", - audit->cmdline ? " cmdline=\"" : "", strempty(audit->cmdline), audit->cmdline ? "\"" : ""); - --- -1.7.9.2 - diff --git a/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch b/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch deleted file mode 100644 index 7dee5011..00000000 --- a/0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch +++ /dev/null @@ -1,93 +0,0 @@ -From ff50244582bf69e8489bba6ce59a21663d7f8274 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 18 Aug 2014 22:21:42 +0200 -Subject: [PATCH] units: fix BindsTo= logic when applied relative to services - with Type=oneshot -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Start jobs for Type=oneshot units are successful when the unit state -transition activating → inactive took place. In such a case all units -that BindsTo= on it previously would continue to run, even though the unit -they dependet on was actually already gone. ---- - src/core/unit.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 44 insertions(+), 4 deletions(-) - -diff --git src/core/unit.c src/core/unit.c -index a5f6b2e..950b83a 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1471,12 +1471,44 @@ static void unit_check_unneeded(Unit *u) { - if (unit_active_or_pending(other)) - return; - -- log_info_unit(u->id, "Service %s is not needed anymore. Stopping.", u->id); -+ log_info_unit(u->id, "Unit %s is not needed anymore. Stopping.", u->id); - - /* Ok, nobody needs us anymore. Sniff. Then let's commit suicide */ - manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); - } - -+static void unit_check_binds_to(Unit *u) { -+ bool stop = false; -+ Unit *other; -+ Iterator i; -+ -+ assert(u); -+ -+ if (u->job) -+ return; -+ -+ if (unit_active_state(u) != UNIT_ACTIVE) -+ return; -+ -+ SET_FOREACH(other, u->dependencies[UNIT_BINDS_TO], i) { -+ if (other->job) -+ continue; -+ -+ if (!UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) -+ continue; -+ -+ stop = true; -+ } -+ -+ if (!stop) -+ return; -+ -+ log_info_unit(u->id, "Unit %s is bound to inactive service. Stopping, too.", u->id); -+ -+ /* A unit we need to run is gone. Sniff. Let's stop this. */ -+ manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL); -+} -+ - static void retroactively_start_dependencies(Unit *u) { - Iterator i; - Unit *other; -@@ -1788,11 +1820,19 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - manager_recheck_journal(m); - unit_trigger_notify(u); - -- /* Maybe we finished startup and are now ready for being -- * stopped because unneeded? */ -- if (u->manager->n_reloading <= 0) -+ if (u->manager->n_reloading <= 0) { -+ /* Maybe we finished startup and are now ready for -+ * being stopped because unneeded? */ - unit_check_unneeded(u); - -+ /* Maybe we finished startup, but something we needed -+ * has vanished? Let's die then. (This happens when -+ * something BindsTo= to a Type=oneshot unit, as these -+ * units go directly from starting to inactive, -+ * without ever entering started.) */ -+ unit_check_binds_to(u); -+ } -+ - unit_add_to_dbus_queue(u); - unit_add_to_gc_queue(u); - } --- -1.7.9.2 - diff --git a/0012-core-transaction-avoid-misleading-error-message-when.patch b/0012-core-transaction-avoid-misleading-error-message-when.patch deleted file mode 100644 index 03021cd2..00000000 --- a/0012-core-transaction-avoid-misleading-error-message-when.patch +++ /dev/null @@ -1,42 +0,0 @@ -Based on 04ef5b03f64d3824a51a2a903548af029a006744 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 22 Jun 2014 14:04:23 -0400 -Subject: [PATCH] core/transaction: avoid misleading error message when unit - not found - -There's no point in telling the user to look at the logs when -an attempt to load the unit file failed with ENOENT. - -https://bugzilla.redhat.com/show_bug.cgi?id=996133 ---- - TODO | 4 ---- - src/core/transaction.c | 18 ++++++++++++------ - 2 files changed, 12 insertions(+), 10 deletions(-) - ---- src/core/transaction.c -+++ src/core/transaction.c 2014-06-24 11:18:42.746235805 +0000 -@@ -865,12 +865,18 @@ int transaction_add_job_and_dependencies - } - - if (type != JOB_STOP && unit->load_state == UNIT_ERROR) { -- sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, -- "Unit %s failed to load: %s. " -- "See system logs and 'systemctl status %s' for details.", -- unit->id, -- strerror(-unit->load_error), -- unit->id); -+ if (unit->load_error == -ENOENT) -+ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, -+ "Unit %s failed to load: %s.", -+ unit->id, -+ strerror(-unit->load_error)); -+ else -+ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED, -+ "Unit %s failed to load: %s. " -+ "See system logs and 'systemctl status %s' for details.", -+ unit->id, -+ strerror(-unit->load_error), -+ unit->id); - return -EINVAL; - } - diff --git a/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch b/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch deleted file mode 100644 index 00b0669b..00000000 --- a/0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0b6b7c2004317da48e5bbd3078c5662d8f0061b6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 26 Feb 2014 23:01:43 -0500 -Subject: [PATCH] journalctl: refuse extra arguments with --verify and similar - -Positional arguments only make sense with the default action. -For other actions, complain instead of ignoring them silently. ---- - src/journal/journalctl.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git src/journal/journalctl.c src/journal/journalctl.c -index a328ba1..0619b25 100644 ---- src/journal/journalctl.c -+++ src/journal/journalctl.c -@@ -658,6 +658,11 @@ static int parse_argv(int argc, char *argv[]) { - return -EINVAL; - } - -+ if (arg_action != ACTION_SHOW && optind < argc) { -+ log_error("Extraneous arguments starting with '%s'", argv[optind]); -+ return -EINVAL; -+ } -+ - return 1; - } - --- -1.7.9.2 - diff --git a/0012-journald-remove-stray-reset-of-error-return-value.patch b/0012-journald-remove-stray-reset-of-error-return-value.patch deleted file mode 100644 index f15237f7..00000000 --- a/0012-journald-remove-stray-reset-of-error-return-value.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 2fc74bf4336eb7a7e40c0b355d19966cd97d4b3c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 10 Mar 2014 21:19:23 -0400 -Subject: [PATCH] journald: remove stray reset of error return value - ---- - src/journal/journald.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git src/journal/journald.c src/journal/journald.c -index 37896d0..c8c0801 100644 ---- src/journal/journald.c -+++ src/journal/journald.c -@@ -110,7 +110,6 @@ int main(int argc, char *argv[]) { - r = sd_event_run(server.event, t); - if (r < 0) { - log_error("Failed to run event loop: %s", strerror(-r)); -- r = -errno; - goto finish; - } - --- -1.7.9.2 - diff --git a/0012-man-add-missing-comma.patch b/0012-man-add-missing-comma.patch deleted file mode 100644 index 9d779f43..00000000 --- a/0012-man-add-missing-comma.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7d06ef0a5cd2f0a4e021d3d12f3841cce529e0f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 6 Mar 2014 23:54:13 -0500 -Subject: [PATCH] man: add missing comma - -marcosf0> missing comma in udevadm "see also" section ---- - man/udevadm.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git man/udevadm.xml man/udevadm.xml -index a3f8d54..21d1443 100644 ---- man/udevadm.xml -+++ man/udevadm.xml -@@ -594,7 +594,7 @@ - See Also - - udev7 -- -+ , - - systemd-udevd.service8 - --- -1.7.9.2 - diff --git a/0012-manager-do-not-print-anything-while-passwords-are-be.patch b/0012-manager-do-not-print-anything-while-passwords-are-be.patch deleted file mode 100644 index 88c30eab..00000000 --- a/0012-manager-do-not-print-anything-while-passwords-are-be.patch +++ /dev/null @@ -1,180 +0,0 @@ -Based on e46b13c8c7f48f81d4e09912f2265daaa7f6d27e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 25 Oct 2014 20:30:51 -0400 -Subject: [PATCH] manager: do not print anything while passwords are being - queried - -https://bugs.freedesktop.org/show_bug.cgi?id=73942 ---- - src/core/manager.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++- - src/core/manager.h | 5 ++ - 2 files changed, 109 insertions(+), 1 deletion(-) - ---- src/core/manager.c -+++ src/core/manager.c 2014-10-29 14:31:18.984212089 +0000 -@@ -25,6 +25,8 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include -@@ -212,6 +214,96 @@ static void manager_print_jobs_in_progre - - } - -+static int have_ask_password(void) { -+ _cleanup_closedir_ DIR *dir; -+ -+ dir = opendir("/run/systemd/ask-password"); -+ if (!dir) { -+ if (errno == ENOENT) -+ return false; -+ else -+ return -errno; -+ } -+ -+ for (;;) { -+ struct dirent *de; -+ -+ errno = 0; -+ de = readdir(dir); -+ if (!de && errno != 0) -+ return -errno; -+ if (!de) -+ return false; -+ -+ if (startswith(de->d_name, "ask.")) -+ return true; -+ } -+} -+ -+static int manager_dispatch_ask_password_fd(sd_event_source *source, -+ int fd, uint32_t revents, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(m); -+ -+ flush_fd(fd); -+ -+ m->have_ask_password = have_ask_password(); -+ if (m->have_ask_password < 0) -+ /* Log error but continue. Negative have_ask_password -+ * is treated as unknown status. */ -+ log_error("Failed to list /run/systemd/ask-password: %s", strerror(m->have_ask_password)); -+ -+ return 0; -+} -+ -+static void manager_close_ask_password(Manager *m) { -+ assert(m); -+ if (m->ask_password_inotify_fd >= 0) close_nointr_nofail(m->ask_password_inotify_fd); -+ m->ask_password_inotify_fd = -1; -+ m->ask_password_event_source = sd_event_source_unref(m->ask_password_event_source); -+ m->have_ask_password = -EINVAL; -+} -+ -+static int manager_check_ask_password(Manager *m) { -+ int r; -+ -+ assert(m); -+ -+ if (!m->ask_password_event_source) { -+ assert(m->ask_password_inotify_fd < 0); -+ -+ mkdir_p_label("/run/systemd/ask-password", 0755); -+ -+ m->ask_password_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); -+ if (m->ask_password_inotify_fd < 0) { -+ log_error("inotify_init1() failed: %m"); -+ return -errno; -+ } -+ -+ if (inotify_add_watch(m->ask_password_inotify_fd, "/run/systemd/ask-password", IN_CREATE|IN_DELETE|IN_MOVE) < 0) { -+ log_error("Failed to add watch on /run/systemd/ask-password: %m"); -+ manager_close_ask_password(m); -+ return -errno; -+ } -+ -+ r = sd_event_add_io(m->event, &m->ask_password_event_source, -+ m->ask_password_inotify_fd, EPOLLIN, -+ manager_dispatch_ask_password_fd, m); -+ if (r < 0) { -+ log_error("Failed to add event source for /run/systemd/ask-password: %m"); -+ manager_close_ask_password(m); -+ return -errno; -+ } -+ -+ /* Queries might have been added meanwhile... */ -+ manager_dispatch_ask_password_fd(m->ask_password_event_source, -+ m->ask_password_inotify_fd, EPOLLIN, m); -+ } -+ -+ return m->have_ask_password; -+} -+ - static int manager_watch_idle_pipe(Manager *m) { - int r; - -@@ -470,6 +562,9 @@ int manager_new(SystemdRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; - m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ - -+ m->ask_password_inotify_fd = -1; -+ m->have_ask_password = -EINVAL; /* we don't know */ -+ - r = manager_default_environment(m); - if (r < 0) - goto fail; -@@ -847,6 +942,8 @@ void manager_free(Manager *m) { - if (m->kdbus_fd >= 0) - close_nointr_nofail(m->kdbus_fd); - -+ manager_close_ask_password(m); -+ - manager_close_idle_pipe(m); - - udev_unref(m->udev); -@@ -2526,6 +2623,9 @@ void manager_check_finished(Manager *m) - /* Turn off confirm spawn now */ - m->confirm_spawn = false; - -+ /* No need to update ask password status when we're going non-interactive */ -+ manager_close_ask_password(m); -+ - if (dual_timestamp_is_set(&m->finish_timestamp)) - return; - -@@ -2843,12 +2943,15 @@ static bool manager_get_show_status(Mana - if (m->no_console_output) - return false; - -+ /* If we cannot find out the status properly, just proceed. */ -+ if (manager_check_ask_password(m) > 0) -+ return false; -+ - if (m->show_status > 0) - return true; - - /* If Plymouth is running make sure we show the status, so - * that there's something nice to see when people press Esc */ -- - return plymouth_running(); - } - ---- src/core/manager.h -+++ src/core/manager.h 2014-10-29 00:00:00.000000000 +0000 -@@ -231,6 +231,11 @@ struct Manager { - unsigned n_on_console; - unsigned jobs_in_progress_iteration; - -+ /* Do we have any outstanding password prompts? */ -+ int have_ask_password; -+ int ask_password_inotify_fd; -+ sd_event_source *ask_password_event_source; -+ - /* Type=idle pipes */ - int idle_pipe[4]; - sd_event_source *idle_pipe_event_source; diff --git a/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch b/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch deleted file mode 100644 index becc7844..00000000 --- a/0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 70421bdce2719d76efffd8afdc28433c75aac5a2 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 18 Aug 2014 23:15:51 +0200 -Subject: [PATCH] util: try to be a bit more NFS compatible when checking - whether an FS is writable - -https://bugs.freedesktop.org/show_bug.cgi?id=81169 ---- - src/shared/path-util.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git src/shared/path-util.c src/shared/path-util.c -index 57554cd..67566bc 100644 ---- src/shared/path-util.c -+++ src/shared/path-util.c -@@ -533,7 +533,16 @@ int path_is_read_only_fs(const char *path) { - if (statvfs(path, &st) < 0) - return -errno; - -- return !!(st.f_flag & ST_RDONLY); -+ if (st.f_flag & ST_RDONLY) -+ return true; -+ -+ /* On NFS, statvfs() might not reflect whether we can actually -+ * write to the remote share. Let's try again with -+ * access(W_OK) which is more reliable, at least sometimes. */ -+ if (access(path, W_OK) < 0 && errno == EROFS) -+ return true; -+ -+ return false; - } - - int path_is_os_tree(const char *path) { --- -1.7.9.2 - diff --git a/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch b/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch deleted file mode 100644 index 0343c2ad..00000000 --- a/0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 6f285378aa6e4b5b23c939d1fea16f9ab0a57efb Mon Sep 17 00:00:00 2001 -From: Miklos Vajna -Date: Fri, 14 Mar 2014 21:13:38 +0100 -Subject: [PATCH] core, libsystemd, systemd, timedate, udev: spelling fixes - ---- - src/core/service.c | 2 +- - src/core/unit.c | 2 +- - src/libsystemd/sd-bus/bus-message.c | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/systemd/sd-resolve.h | 2 +- - src/timedate/timedated.c | 2 +- - src/udev/udevadm-settle.c | 2 +- - 7 files changed, 8 insertions(+), 8 deletions(-) - -diff --git src/core/service.c src/core/service.c -index 41b95ab..386692a 100644 ---- src/core/service.c -+++ src/core/service.c -@@ -3416,7 +3416,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - free(t); - } - -- /* Interpet WATCHDOG= */ -+ /* Interpret WATCHDOG= */ - if (strv_find(tags, "WATCHDOG=1")) { - log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); - service_reset_watchdog(s); -diff --git src/core/unit.c src/core/unit.c -index 5c98843..4fb0d9c 100644 ---- src/core/unit.c -+++ src/core/unit.c -@@ -1537,7 +1537,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su - unit_destroy_cgroup(u); - - /* Note that this doesn't apply to RemainAfterExit services exiting -- * sucessfully, since there's no change of state in that case. Which is -+ * successfully, since there's no change of state in that case. Which is - * why it is handled in service_set_state() */ - if (UNIT_IS_INACTIVE_OR_FAILED(os) != UNIT_IS_INACTIVE_OR_FAILED(ns)) { - ExecContext *ec; -diff --git src/libsystemd/sd-bus/bus-message.c src/libsystemd/sd-bus/bus-message.c -index b9d7f6d..e32f2b8 100644 ---- src/libsystemd/sd-bus/bus-message.c -+++ src/libsystemd/sd-bus/bus-message.c -@@ -4215,7 +4215,7 @@ static int message_read_ap( - * in a single stackframe. We hence implement our own - * home-grown stack in an array. */ - -- n_array = (unsigned) -1; /* lenght of current array entries */ -+ n_array = (unsigned) -1; /* length of current array entries */ - n_struct = strlen(types); /* length of current struct contents signature */ - - for (;;) { -diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c -index 8e44e50..ba8a8a2 100644 ---- src/libsystemd/sd-bus/sd-bus.c -+++ src/libsystemd/sd-bus/sd-bus.c -@@ -1447,7 +1447,7 @@ static int bus_seal_message(sd_bus *b, sd_bus_message *m, usec_t timeout) { - static int bus_remarshal_message(sd_bus *b, sd_bus_message **m) { - assert(b); - -- /* Do packet version and endianess already match? */ -+ /* Do packet version and endianness already match? */ - if ((b->message_version == 0 || b->message_version == (*m)->header->version) && - (b->message_endian == 0 || b->message_endian == (*m)->header->endian)) - return 0; -@@ -1464,7 +1464,7 @@ int bus_seal_synthetic_message(sd_bus *b, sd_bus_message *m) { - * hence let's fill something in for synthetic messages. Since - * synthetic messages might have a fake sender and we don't - * want to interfere with the real sender's serial numbers we -- * pick a fixed, artifical one. We use (uint32_t) -1 rather -+ * pick a fixed, artificial one. We use (uint32_t) -1 rather - * than (uint64_t) -1 since dbus1 only had 32bit identifiers, - * even though kdbus can do 64bit. */ - -diff --git src/systemd/sd-resolve.h src/systemd/sd-resolve.h -index df69e4b..3c1d482 100644 ---- src/systemd/sd-resolve.h -+++ src/systemd/sd-resolve.h -@@ -129,7 +129,7 @@ int sd_resolve_get_next(sd_resolve *resolve, sd_resolve_query **q); - int sd_resolve_get_n_queries(sd_resolve *resolve); - - /** Cancel a currently running query. q is is destroyed by this call -- * and may not be used any futher. */ -+ * and may not be used any further. */ - int sd_resolve_cancel(sd_resolve_query* q); - - /** Returns non-zero when the query operation specified by q has been completed */ -diff --git src/timedate/timedated.c src/timedate/timedated.c -index d85ce57..c4a797a 100644 ---- src/timedate/timedated.c -+++ src/timedate/timedated.c -@@ -468,7 +468,7 @@ static int property_get_rtc_time( - zero(tm); - r = hwclock_get_time(&tm); - if (r == -EBUSY) { -- log_warning("/dev/rtc is busy, is somebody keeping it open continously? That's not a good idea... Returning a bogus RTC timestamp."); -+ log_warning("/dev/rtc is busy, is somebody keeping it open continuously? That's not a good idea... Returning a bogus RTC timestamp."); - t = 0; - } else if (r == -ENOENT) { - log_debug("Not /dev/rtc found."); -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index b026155..927ea2a 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -100,7 +100,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - case '?': - exit(EXIT_FAILURE); - default: -- assert_not_reached("Unkown argument"); -+ assert_not_reached("Unknown argument"); - } - - if (optind < argc) { --- -1.7.9.2 - diff --git a/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch b/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch deleted file mode 100644 index f65e5d3e..00000000 --- a/0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6c49212741253dae05b89d22374186f092ef1e5a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20B=C3=A4chler?= -Date: Fri, 7 Mar 2014 01:50:34 +0100 -Subject: [PATCH] units: Do not unescape instance name in - systemd-backlight@.service - -The instance name is never escaped in the udev rule, but unescaped in the unit. -This results in the following error message on Asus boards: - - Failed to get backlight or LED device 'backlight:eeepc/wmi': No such file or directory ---- - units/systemd-backlight@.service.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git units/systemd-backlight@.service.in units/systemd-backlight@.service.in -index 5caa5d5..e945d87 100644 ---- units/systemd-backlight@.service.in -+++ units/systemd-backlight@.service.in -@@ -6,7 +6,7 @@ - # (at your option) any later version. - - [Unit] --Description=Load/Save Screen Backlight Brightness of %I -+Description=Load/Save Screen Backlight Brightness of %i - Documentation=man:systemd-backlight@.service(8) - DefaultDependencies=no - RequiresMountsFor=/var/lib/systemd/backlight -@@ -17,5 +17,5 @@ Before=sysinit.target shutdown.target - [Service] - Type=oneshot - RemainAfterExit=yes --ExecStart=@rootlibexecdir@/systemd-backlight load %I --ExecStop=@rootlibexecdir@/systemd-backlight save %I -+ExecStart=@rootlibexecdir@/systemd-backlight load %i -+ExecStop=@rootlibexecdir@/systemd-backlight save %i --- -1.7.9.2 - diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index 6bf95fb4..c3ae1a23 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -1,5 +1,22 @@ ---- systemd-208/src/journal/journald-server.c -+++ systemd-208/src/journal/journald-server.c 2013-12-10 16:31:50.770235717 +0000 +From: werner@suse.de +Upstream: marked as openSUSE-specific fix originally, but may well + worth be to be sent upstream. + +Original description: + (none) + +Augmented description [jengelh@inai.de]: +Disable COW on journal files, as that is naturally leading to a lot +of unwanted fragmentation on btrfs. +No word on compression… +--- + src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + +Index: systemd/src/journal/journald-server.c +=================================================================== +--- systemd.orig/src/journal/journald-server.c ++++ systemd/src/journal/journald-server.c @@ -21,6 +21,7 @@ #include @@ -8,45 +25,50 @@ #include #include #include -@@ -878,7 +879,7 @@ finish: +@@ -917,6 +918,38 @@ finish: + dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); + } - - static int system_journal_open(Server *s) { -- int r; -+ int r, fd; - char *fn; - sd_id128_t machine; - char ids[33]; -@@ -905,7 +906,31 @@ static int system_journal_open(Server *s - (void) mkdir("/var/log/journal/", 0755); - - fn = strappenda("/var/log/journal/", ids); -- (void) mkdir(fn, 0755); -+ (void)mkdir(fn, 0755); ++/* ++ * On journaling and/or compressing file systems, avoid doubling the efforts ++ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every ++ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on ++ * a single unkown flag (like BtrFS does). ++ * ++ * …but src/journal/journal-file.c already sets NOCOW too…⸘ ++ */ ++static void disable_cow(const char *dir, const Server *serv) ++{ ++ unsigned long flags; ++ int fd = open(dir, O_DIRECTORY); + -+ /* -+ * On journaling and/or compressing file systems avoid doubling the -+ * efforts for the system, that is set NOCOW and NOCOMP inode flags. -+ * Check for every single flag as otherwise some of the file systems -+ * may return EOPNOTSUPP on one unkown flag (like BtrFS does). -+ */ -+ if ((fd = open(fn, O_DIRECTORY)) >= 0) { -+ long flags; -+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ int old = flags; -+ if (!(flags&FS_NOATIME_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOATIME_FL) == 0) -+ flags |= FS_NOATIME_FL; -+ if (!(flags&FS_NOCOW_FL) && ioctl(fd, FS_IOC_SETFLAGS, flags|FS_NOCOW_FL) == 0) -+ flags |= FS_NOCOW_FL; -+ if (!(flags&FS_NOCOMP_FL) && s->compress) { -+ flags &= ~FS_COMPR_FL; -+ flags |= FS_NOCOMP_FL; -+ } -+ if (old != flags) -+ ioctl(fd, FS_IOC_SETFLAGS, flags); -+ } -+ close(fd); ++ if (fd < 0) ++ return; ++ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { ++ unsigned long old = flags; ++ if (!(flags & FS_NOATIME_FL) && ++ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0) ++ flags |= FS_NOATIME_FL; ++ if (!(flags & FS_NOCOW_FL) && ++ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0) ++ flags |= FS_NOCOW_FL; ++ if (!(flags & FS_NOCOMP_FL) && serv->compress) { ++ flags &= ~FS_COMPR_FL; ++ flags |= FS_NOCOMP_FL; + } ++ if (old != flags) ++ ioctl(fd, FS_IOC_SETFLAGS, flags); ++ } ++ close(fd); ++} - fn = strappenda(fn, "/system.journal"); + static int system_journal_open(Server *s, bool flush_requested) { + int r; +@@ -946,6 +979,7 @@ static int system_journal_open(Server *s + + fn = strjoina("/var/log/journal/", ids); + (void) mkdir(fn, 0755); ++ disable_cow(fn, s); + + fn = strjoina(fn, "/system.journal"); r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch b/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch deleted file mode 100644 index c4c2f4cb..00000000 --- a/0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 13e8ceb84e56907d73b6b07418deb37faaf0e66d Mon Sep 17 00:00:00 2001 -From: Tero Roponen -Date: Tue, 25 Feb 2014 17:19:35 +0200 -Subject: [PATCH] nspawn: fix detection of missing /proc/self/loginuid - -Running 'systemd-nspawn -D /srv/Fedora/' gave me this error: - Failed to read /proc/self/loginuid: No such file or directory - - Container Fedora failed with error code 1. - -This patch fixes the problem. ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 1fe641b..92b6728 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1349,7 +1349,7 @@ static int reset_audit_loginuid(void) { - return 0; - - r = read_one_line_file("/proc/self/loginuid", &p); -- if (r == -EEXIST) -+ if (r == -ENOENT) - return 0; - if (r < 0) { - log_error("Failed to read /proc/self/loginuid: %s", strerror(-r)); --- -1.7.9.2 - diff --git a/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch deleted file mode 100644 index a98660ec..00000000 --- a/0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +++ /dev/null @@ -1,68 +0,0 @@ -Should solve the problems of - - bug #858864 - LSB "+" dependencies aren't handled properly - bug #857204 - inssrv fails to enable rpcbind - The side effect is that RequiresOverridable= is used for the services - add behind Required-Start - bug #863217 - systemd overrides explicit admin request to disable a service - That is that in this version the Wants= for all services behind - Should-Start, X-Start-Before, and X-Stop-After is not used anymore - ---- - service.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - ---- systemd-208/src/core/service.c -+++ systemd-208/src/core/service.c 2014-02-21 14:44:59.066735478 +0000 -@@ -380,6 +380,8 @@ static int sysv_translate_facility(const - "remote_fs", SPECIAL_REMOTE_FS_TARGET, - "syslog", NULL, - "time", SPECIAL_TIME_SYNC_TARGET, -+ "all", SPECIAL_DEFAULT_TARGET, -+ "null", NULL, - }; - - unsigned i; -@@ -389,7 +391,7 @@ static int sysv_translate_facility(const - assert(name); - assert(_r); - -- n = *name == '$' ? name + 1 : name; -+ n = (*name == '$' || *name == '+') ? name + 1 : name; - - for (i = 0; i < ELEMENTSOF(table); i += 2) { - -@@ -816,10 +818,13 @@ static int service_load_sysv_path(Servic - startswith_no_case(t, "Should-Start:") || - startswith_no_case(t, "X-Start-Before:") || - startswith_no_case(t, "X-Start-After:")) { -+ UnitDependency d, e; - char *i, *w; - size_t z; - - state = LSB; -+ d = startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER; -+ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : _UNIT_DEPENDENCY_INVALID; - - FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { - char *n, *m; -@@ -838,12 +843,18 @@ static int service_load_sysv_path(Servic - continue; - } - -+ if (*n == '+') -+ e = UNIT_WANTS; -+ - free(n); - - if (r == 0) - continue; - -- r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true); -+ if (e != _UNIT_DEPENDENCY_INVALID) -+ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); -+ else -+ r = unit_add_dependency_by_name(u, d, m, NULL, true); - - if (r < 0) - log_error_unit(u->id, "[%s:%u] Failed to add dependency on %s, ignoring: %s", diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index 89d79183..a545cf08 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -1,8 +1,45 @@ ---- systemd-208/shell-completion/bash/hostnamectl -+++ systemd-208/shell-completion/bash/hostnamectl 2014-01-17 14:27:16.183272019 +0000 +--- + shell-completion/bash/coredumpctl | 6 +++++- + shell-completion/bash/hostnamectl | 6 +++++- + shell-completion/bash/journalctl | 6 +++++- + shell-completion/bash/kernel-install | 13 ++++++++++++- + shell-completion/bash/localectl | 6 +++++- + shell-completion/bash/loginctl | 6 +++++- + shell-completion/bash/systemctl.in | 6 +++++- + shell-completion/bash/systemd-analyze | 6 +++++- + shell-completion/bash/systemd-run | 14 +++++++++++++- + shell-completion/bash/timedatectl | 6 +++++- + shell-completion/bash/udevadm | 6 +++++- + 11 files changed, 70 insertions(+), 11 deletions(-) + +Index: systemd/shell-completion/bash/coredumpctl +=================================================================== +--- systemd.orig/shell-completion/bash/coredumpctl ++++ systemd/shell-completion/bash/coredumpctl +@@ -44,6 +44,10 @@ _coredumpctl() { + [DUMP]='dump gdb' + ) + ++ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then ++ return 0 ++ fi ++ + if __contains_word "$prev" '--output -o'; then + comps=$( compgen -A file -- "$cur" ) + compopt -o filenames +@@ -82,4 +86,4 @@ _coredumpctl() { + return 0 + } + +-complete -F _coredumpctl coredumpctl ++complete -o default -o bashdefault -F _coredumpctl coredumpctl +Index: systemd/shell-completion/bash/hostnamectl +=================================================================== +--- systemd.orig/shell-completion/bash/hostnamectl ++++ systemd/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty - --no-ask-password -H --host' + --no-ask-password -H --host --machine' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -11,16 +48,18 @@ if [[ $cur = -* ]]; then COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) return 0 -@@ -58,4 +62,4 @@ _hostnamectl() { +@@ -61,4 +65,4 @@ _hostnamectl() { return 0 } -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl ---- systemd-208/shell-completion/bash/journalctl -+++ systemd-208/shell-completion/bash/journalctl 2014-01-17 14:34:30.338737694 +0000 -@@ -49,6 +49,10 @@ _journalctl() { - --verify-key' +Index: systemd/shell-completion/bash/journalctl +=================================================================== +--- systemd.orig/shell-completion/bash/journalctl ++++ systemd/shell-completion/bash/journalctl +@@ -55,6 +55,10 @@ _journalctl() { + --root --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -30,14 +69,16 @@ if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in --boot|--this-boot|-b) -@@ -107,4 +111,4 @@ _journalctl() { +@@ -120,4 +124,4 @@ _journalctl() { fi } -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl ---- systemd-208/shell-completion/bash/kernel-install -+++ systemd-208/shell-completion/bash/kernel-install 2014-01-17 14:34:41.982255874 +0000 +Index: systemd/shell-completion/bash/kernel-install +=================================================================== +--- systemd.orig/shell-completion/bash/kernel-install ++++ systemd/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -67,11 +108,13 @@ -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install ---- systemd-208/shell-completion/bash/localectl -+++ systemd-208/shell-completion/bash/localectl 2014-01-17 14:34:52.546235747 +0000 -@@ -30,6 +30,10 @@ _localectl() { +Index: systemd/shell-completion/bash/localectl +=================================================================== +--- systemd.orig/shell-completion/bash/localectl ++++ systemd/shell-completion/bash/localectl +@@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password - -H --host' + -H --host --machine' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -80,17 +123,19 @@ if __contains_word "$prev" $OPTS; then case $prev in --host|-H) -@@ -73,4 +77,4 @@ _localectl() { +@@ -89,4 +93,4 @@ _localectl() { return 0 } -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl ---- systemd-208/shell-completion/bash/loginctl -+++ systemd-208/shell-completion/bash/loginctl 2014-01-17 14:35:03.386245699 +0000 -@@ -37,6 +37,10 @@ _loginctl () { - [ARG]='--host -H --kill-who --property -p --signal -s' - ) +Index: systemd/shell-completion/bash/loginctl +=================================================================== +--- systemd.orig/shell-completion/bash/loginctl ++++ systemd/shell-completion/bash/loginctl +@@ -38,6 +38,10 @@ _loginctl () { + [ARG]='--host -H --kill-who --property -p --signal -s --machine' + ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -99,15 +144,17 @@ if __contains_word "$prev" ${OPTS[ARG]}; then case $prev in --signal|-s) -@@ -106,4 +110,4 @@ _loginctl () { +@@ -107,4 +111,4 @@ _loginctl () { return 0 } -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl ---- systemd-208/shell-completion/bash/systemctl -+++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000 -@@ -77,6 +77,10 @@ _systemctl () { +Index: systemd/shell-completion/bash/systemctl.in +=================================================================== +--- systemd.orig/shell-completion/bash/systemctl.in ++++ systemd/shell-completion/bash/systemctl.in +@@ -96,6 +96,10 @@ _systemctl () { [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' ) @@ -118,16 +165,18 @@ if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user else -@@ -226,4 +230,4 @@ _systemctl () { +@@ -264,4 +268,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl ---- systemd-208/shell-completion/bash/systemd-analyze -+++ systemd-208/shell-completion/bash/systemd-analyze 2014-01-17 14:35:38.366736021 +0000 -@@ -37,6 +37,10 @@ _systemd_analyze() { - [LOG_LEVEL]='set-log-level' +Index: systemd/shell-completion/bash/systemd-analyze +=================================================================== +--- systemd.orig/shell-completion/bash/systemd-analyze ++++ systemd/shell-completion/bash/systemd-analyze +@@ -47,6 +47,10 @@ _systemd_analyze() { + [VERIFY]='verify' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -137,33 +186,16 @@ _init_completion || return for ((i=0; i < COMP_CWORD; i++)); do -@@ -83,4 +87,4 @@ _systemd_analyze() { +@@ -114,4 +118,4 @@ _systemd_analyze() { return 0 } -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze ---- systemd-208/shell-completion/bash/systemd-coredumpctl -+++ systemd-208/shell-completion/bash/systemd-coredumpctl 2014-01-17 14:35:46.434235632 +0000 -@@ -44,6 +44,10 @@ _coredumpctl() { - [DUMP]='dump gdb' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" '--output -o'; then - comps=$( compgen -A file -- "$cur" ) - compopt -o filenames -@@ -82,4 +86,4 @@ _coredumpctl() { - return 0 - } - --complete -F _coredumpctl systemd-coredumpctl -+complete -o default -o bashdefault -F _coredumpctl systemd-coredumpctl ---- systemd-208/shell-completion/bash/systemd-run -+++ systemd-208/shell-completion/bash/systemd-run 2014-01-17 14:35:55.938236298 +0000 +Index: systemd/shell-completion/bash/systemd-run +=================================================================== +--- systemd.orig/shell-completion/bash/systemd-run ++++ systemd/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -178,7 +210,7 @@ __systemctl() { local mode=$1; shift 1 systemctl $mode --full --no-legend "$@" -@@ -31,6 +38,11 @@ _systemd_run() { +@@ -38,6 +45,11 @@ _systemd_run() { local mode=--system local i @@ -190,17 +222,19 @@ for (( i=1; i <= COMP_CWORD; i++ )); do if [[ ${COMP_WORDS[i]} != -* ]]; then local root_command=${COMP_WORDS[i]} -@@ -60,4 +72,4 @@ _systemd_run() { +@@ -98,4 +110,4 @@ _systemd_run() { return 0 } -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run ---- systemd-208/shell-completion/bash/timedatectl -+++ systemd-208/shell-completion/bash/timedatectl 2014-01-17 14:36:06.182735466 +0000 +Index: systemd/shell-completion/bash/timedatectl +=================================================================== +--- systemd.orig/shell-completion/bash/timedatectl ++++ systemd/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager - --no-ask-password -H --host' + --no-ask-password -H --host --machine' + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then + return 0 @@ -215,8 +249,10 @@ -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl ---- systemd-208/shell-completion/bash/udevadm -+++ systemd-208/shell-completion/bash/udevadm 2014-01-17 14:36:16.406236120 +0000 +Index: systemd/shell-completion/bash/udevadm +=================================================================== +--- systemd.orig/shell-completion/bash/udevadm ++++ systemd/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index 58bb7b25..b4bc2d07 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -22,14 +22,14 @@ References: bnc#770910,FATE#317063 Signed-off-by: Robert Milasan Signed-off-by: Hannes Reinecke --- - src/udev/udev-builtin-path_id.c | 53 +++++++++++++++++++++++++++++++---------- + src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) -diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c -index 0599980..fbd3fda 100644 ---- a/src/udev/udev-builtin-path_id.c -+++ b/src/udev/udev-builtin-path_id.c -@@ -339,6 +339,46 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * +Index: systemd-218/src/udev/udev-builtin-path_id.c +=================================================================== +--- systemd-218.orig/src/udev/udev-builtin-path_id.c ++++ systemd-218/src/udev/udev-builtin-path_id.c +@@ -426,6 +426,46 @@ static struct udev_device *handle_scsi_h return parent; } @@ -73,10 +73,10 @@ index 0599980..fbd3fda 100644 + return hostdev; +} + - static struct udev_device *handle_scsi(struct udev_device *parent, char **path) - { + static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { const char *devtype; -@@ -375,19 +415,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) + const char *name; +@@ -465,19 +505,8 @@ static struct udev_device *handle_scsi(s goto out; } @@ -97,6 +97,3 @@ index 0599980..fbd3fda 100644 goto out; } --- -1.8.1.4 - diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch index 93756c5a..eee1415f 100644 --- a/1003-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -4,17 +4,19 @@ Subject: udev netlink null rules udevd race for netlink events (bnc#774646) --- - src/udev/udevd.c | 2 ++ + src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) ---- systemd-206.orig/src/udev/udevd.c -+++ systemd-206/src/udev/udevd.c -@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[]) +Index: systemd-218/src/udev/udevd.c +=================================================================== +--- systemd-218.orig/src/udev/udevd.c ++++ systemd-218/src/udev/udevd.c +@@ -1468,6 +1468,8 @@ int main(int argc, char *argv[]) { dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); + if (rules == NULL) -+ rules = udev_rules_new(udev, resolve_names); ++ rules = udev_rules_new(udev, arg_resolve_names); if (event_queue_insert(dev) < 0) udev_device_unref(dev); } diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch index e70b5758..85abb1f7 100644 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -4,14 +4,16 @@ Subject: create default links for primary cd_dvd drive cdrom_id: created links for the default cd/dvd drive (bnc#783054). --- - rules/60-cdrom_id.rules | 5 ++++- + rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---- systemd-206.orig/rules/60-cdrom_id.rules -+++ systemd-206/rules/60-cdrom_id.rules -@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr - # enable the receiving of media eject button events - IMPORT{program}="cdrom_id --lock-media $devnode" +Index: systemd/rules/60-cdrom_id.rules +=================================================================== +--- systemd.orig/rules/60-cdrom_id.rules ++++ systemd/rules/60-cdrom_id.rules +@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ + # stale mounts after ejecting + ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" -KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" +KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index eb98cc2f..f838b9ac 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -9,15 +9,17 @@ Date: Tue, 4 Mar 2014 10:29:21 +0000 Port the patch of Robert to systemd v210 and test it out. --- - udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 38 insertions(+), 4 deletions(-) + src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++---- + 1 file changed, 37 insertions(+), 4 deletions(-) ---- systemd-210/src/udev/udev-event.c -+++ systemd-210/src/udev/udev-event.c 2014-03-27 13:19:06.727748307 +0000 -@@ -750,8 +750,9 @@ static int rename_netif(struct udev_even +Index: systemd-218/src/udev/udev-event.c +=================================================================== +--- systemd-218.orig/src/udev/udev-event.c ++++ systemd-218/src/udev/udev-event.c +@@ -767,20 +767,53 @@ out: + static int rename_netif(struct udev_event *event) { struct udev_device *dev = event->dev; - _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL; char name[IFNAMSIZ]; + char interim[IFNAMSIZ], *ptr = &interim[0]; const char *oldname; @@ -26,43 +28,40 @@ Port the patch of Robert to systemd v210 and test it out. oldname = udev_device_get_sysname(dev); -@@ -765,12 +766,45 @@ static int rename_netif(struct udev_even - return r; + strscpy(name, IFNAMSIZ, event->name); - r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); + r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); - if (r < 0) + if (r == 0) { -+ print_kmsg("renamed network interface %s to %s\n", oldname, name); ++ log_info("renamed network interface %s to %s\n", oldname, name); + return r; + } else if (r != -EEXIST) { - log_error("error changing net interface name %s to %s: %s", - oldname, name, strerror(-r)); -- else -- print_kmsg("renamed network interface %s to %s", oldname, name); -+ return r; -+ } -+ + return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name); ++ } + +- log_debug("renamed network interface '%s' to '%s'", oldname, name); + /* free our own name, another process may wait for us */ + strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); -+ -+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), interim); + +- return 0; ++ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim); + if (r < 0) { + log_error("error changing net interface name %s to %s: %s", + oldname, interim, strerror(-r)); + return r; + } - ++ + /* log temporary name */ -+ print_kmsg("renamed network interface %s to %s\n", oldname, interim); ++ log_info("renamed network interface %s to %s\n", oldname, interim); + + loop = 90 * 20; + while (loop--) { + const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; + nanosleep(&duration, NULL); + -+ r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); ++ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); + if (r == 0) { -+ print_kmsg("renamed network interface %s to %s\n", interim, name); ++ log_info("renamed network interface %s to %s\n", interim, name); + break; + } + @@ -72,6 +71,7 @@ Port the patch of Robert to systemd v210 and test it out. + break; + } + } - return r; ++ return r; } + void udev_event_execute_rules(struct udev_event *event, diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch deleted file mode 100644 index d0117371..00000000 --- a/1008-add-msft-compability-rules.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am -@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \ - rules/80-hotplug-cpu-mem.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/61-msft.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ ---- /dev/null -+++ systemd-206/rules/61-msft.rules -@@ -0,0 +1,9 @@ -+# MSFT compability rules -+ACTION!="add|change", GOTO="msft_end" -+ -+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" -+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode" -+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}" -+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n" -+ -+LABEL="msft_end" diff --git a/1009-cdrom_id-use-the-old-MMC-fallback.patch b/1009-cdrom_id-use-the-old-MMC-fallback.patch deleted file mode 100644 index ada9292f..00000000 --- a/1009-cdrom_id-use-the-old-MMC-fallback.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a14f14976094650e17d39f3a7d15a1c68c93c333 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Thu, 27 Feb 2014 11:06:37 +0100 -Subject: [PATCH] cdrom_id: use the old MMC fallback - -https://bugzilla.redhat.com/show_bug.cgi?id=1038015 -The problem seems to be that the your virtual DVD is emulating a really -old DVD device, and doing it kind of strangely. - -> dracut:# /lib/udev/cdrom_id --debug /dev/sr0 -> probing: '/dev/sr0' -> INQUIRY: [IMM ][Virtual CD/DVD ][0316] -> GET CONFIGURATION failed with SK=5h/ASC=24h/ACQ=00h - -So your virtual drive rejects the GET CONFIGURATION command as illegal. - -Other pre-MMC2 drives that don't accept this command usually return the -error -SK=5h,ASC=20h (invalid/unsupported command code), in which case cdrom_id -tries an older method, and then ID_CDROM_MEDIA_TRACK_COUNT_DATA gets set -and all the /dev/disk/by-label (etc) links get set up. - -The virtual drive returns the error SK=5h,ASC=24h (invalid field in -Command Descriptor Block), which cdrom_id doesn't handle, so it gives up -and the links never get made. - -The ideal solution would be to make the IMM to emulate a device that's -less than 15 years old, but I'm not going to hold my breath waiting for -that. - -So probably cdrom_id should also use the old MMC fallback when the error -is SK=5h,ASC=24h, and then all of this would work as expected. - -Suggested-by:Luca Miccini ---- - src/udev/cdrom_id/cdrom_id.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/cdrom_id/cdrom_id.c src/udev/cdrom_id/cdrom_id.c -index 93467c2..33b2bc3 100644 ---- a/src/udev/cdrom_id/cdrom_id.c -+++ b/src/udev/cdrom_id/cdrom_id.c -@@ -556,7 +556,7 @@ static int cd_profiles(struct udev *udev, int fd) - if ((err != 0)) { - info_scsi_cmd_err(udev, "GET CONFIGURATION", err); - /* handle pre-MMC2 drives which do not support GET CONFIGURATION */ -- if (SK(err) == 0x5 && ASC(err) == 0x20) { -+ if (SK(err) == 0x5 && (ASC(err) == 0x20 || ASC(err) == 0x24)) { - log_debug("drive is pre-MMC2 and does not support 46h get configuration command"); - log_debug("trying to work around the problem"); - ret = cd_profiles_old_mmc(udev, fd); --- -1.7.9.2 - diff --git a/1010-udev-increase-result-size-for-programs.patch b/1010-udev-increase-result-size-for-programs.patch deleted file mode 100644 index 7eb2ea72..00000000 --- a/1010-udev-increase-result-size-for-programs.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-210/src/udev/udev-rules.c -=================================================================== ---- systemd-210.orig/src/udev/udev-rules.c -+++ systemd-210/src/udev/udev-rules.c -@@ -2027,7 +2027,7 @@ int udev_rules_apply_to_event(struct ude - case TK_M_PROGRAM: { - char program[UTIL_PATH_SIZE]; - char **envp; -- char result[UTIL_PATH_SIZE]; -+ char result[UTIL_LINE_SIZE]; - - free(event->program_result); - event->program_result = NULL; diff --git a/1014-udev-update-net_id-comments.patch b/1014-udev-update-net_id-comments.patch deleted file mode 100644 index 6b0b7f5a..00000000 --- a/1014-udev-update-net_id-comments.patch +++ /dev/null @@ -1,102 +0,0 @@ -From d4b687c96adf207f0878aebf3ce3371f6160687f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 27 Mar 2014 15:30:09 +0100 -Subject: [PATCH] udev: update net_id comments - -Signed-off-by: Robert Milasan ---- - src/udev/udev-builtin-net_id.c | 31 +++++++++++++++---------------- - 1 file changed, 15 insertions(+), 16 deletions(-) - -diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c -index 4f2b2c1..9ac07de 100644 ---- a/src/udev/udev-builtin-net_id.c -+++ b/src/udev/udev-builtin-net_id.c -@@ -33,8 +33,11 @@ - * ww -- wwan - * - * Type of names: -+ * b -- BCMA bus core number -+ * ccw -- CCW bus group name - * o -- on-board device index number - * s[f][d] -- hotplug slot index number -+ * v -- virtio number - * x -- MAC address - * [P]ps[f][d] - * -- PCI geographical location -@@ -119,12 +122,9 @@ struct netnames { - const char *pci_onboard_label; - - char usb_ports[IFNAMSIZ]; -- - char bcma_core[IFNAMSIZ]; -- -- char virtio_core[IFNAMSIZ]; -- -- char ccw_core[IFNAMSIZ]; -+ char virtio[IFNAMSIZ]; -+ char ccw_group[IFNAMSIZ]; - }; - - /* retrieve on-board index number and label from firmware */ -@@ -353,18 +353,17 @@ static int names_bcma(struct udev_device *dev, struct netnames *names) { - - static int names_virtio(struct udev_device *dev, struct netnames *names) { - struct udev_device *virtdev; -- unsigned int core; -+ unsigned int num; - - virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); - if (!virtdev) - return -ENOENT; - -- /* core num */ -- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &core) != 1) -+ if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) - return -EINVAL; -- /* suppress the common core == 0 */ -- if (core > 0) -- snprintf(names->virtio_core, sizeof(names->virtio_core), "v%u", core); -+ /* suppress the common num == 0 */ -+ if (num > 0) -+ snprintf(names->virtio, sizeof(names->virtio), "v%u", num); - - names->type = NET_VIRTIO; - return 0; -@@ -402,8 +401,8 @@ static int names_ccw(struct udev_device *dev, struct netnames *names) { - return -EINVAL; - - /* Store the CCW bus-ID for use as network device name */ -- rc = snprintf(names->ccw_core, sizeof(names->ccw_core), "ccw%s", bus_id); -- if (rc >= 0 && rc < (int)sizeof(names->ccw_core)) -+ rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "ccw%s", bus_id); -+ if (rc >= 0 && rc < (int)sizeof(names->ccw_group)) - names->type = NET_CCWGROUP; - return 0; - } -@@ -517,7 +516,7 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool - if (err >= 0 && names.type == NET_CCWGROUP) { - char str[IFNAMSIZ]; - -- if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); - goto out; - } -@@ -585,11 +584,11 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool - char str[IFNAMSIZ]; - - if (names.pci_path[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); - - if (names.pci_slot[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio_core) < (int)sizeof(str)) -+ if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); - goto out; - } --- -1.8.4.5 - diff --git a/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch b/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch deleted file mode 100644 index a5e9c58f..00000000 --- a/1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch +++ /dev/null @@ -1,99 +0,0 @@ -From bf81e792f3c0aed54edf004c1c95cc6f6d81d0ee Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 27 Mar 2014 21:47:14 +0100 -Subject: [PATCH] udev: persistent naming - we cannot use virtio numbers as - they are not stable - -This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and -commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. - -Distros may want to take note of this, as it changes behavior. - -Signed-off-by: Robert Milasan ---- - src/udev/udev-builtin-net_id.c | 36 ------------------------------------ - src/udev/udev-builtin-path_id.c | 3 --- - 2 files changed, 39 deletions(-) - -Index: systemd-210/src/udev/udev-builtin-net_id.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-net_id.c -+++ systemd-210/src/udev/udev-builtin-net_id.c -@@ -37,7 +37,6 @@ - * ccw -- CCW bus group name - * o -- on-board device index number - * s[f][d] -- hotplug slot index number -- * v -- virtio number - * x -- MAC address - * [P]ps[f][d] - * -- PCI geographical location -@@ -123,7 +122,6 @@ struct netnames { - - char usb_ports[IFNAMSIZ]; - char bcma_core[IFNAMSIZ]; -- char virtio[IFNAMSIZ]; - char ccw_group[IFNAMSIZ]; - }; - -@@ -351,24 +349,6 @@ static int names_bcma(struct udev_device - return 0; - } - --static int names_virtio(struct udev_device *dev, struct netnames *names) { -- struct udev_device *virtdev; -- unsigned int num; -- -- virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); -- if (!virtdev) -- return -ENOENT; -- -- if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) -- return -EINVAL; -- /* suppress the common num == 0 */ -- if (num > 0) -- snprintf(names->virtio, sizeof(names->virtio), "v%u", num); -- -- names->type = NET_VIRTIO; -- return 0; --} -- - static int names_ccw(struct udev_device *dev, struct netnames *names) { - struct udev_device *cdev; - const char *bus_id; -@@ -577,22 +557,6 @@ static int builtin_net_id(struct udev_de - udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); - goto out; - } -- -- /* virtio bus */ -- err = names_virtio(dev, &names); -- if (err >= 0 && names.type == NET_VIRTIO) { -- char str[IFNAMSIZ]; -- -- if (names.pci_path[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) -- udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); -- -- if (names.pci_slot[0]) -- if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) -- udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); -- goto out; -- } -- - out: - return EXIT_SUCCESS; - } -Index: systemd-210/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-path_id.c -+++ systemd-210/src/udev/udev-builtin-path_id.c -@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d - } else if (streq(subsys, "xen")) { - path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "xen"); -- } else if (streq(subsys, "virtio")) { -- path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); -- parent = skip_subsystem(parent, "virtio"); - } else if (streq(subsys, "scm")) { - path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "scm"); diff --git a/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch b/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch deleted file mode 100644 index fcf5f374..00000000 --- a/1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch +++ /dev/null @@ -1,30 +0,0 @@ -Based on e6c474723dc66cd4765fd09453d6b48bd5905ba4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 20 Apr 2014 13:57:26 -0400 -Subject: [PATCH] udev: warn when name_to_handle_at is not implemented - -We have a bunch of reports from people who have a custom kernel and -are confused why udev is not running. Issue a warning on -error. Barring an error in the code, the only error that is possible -is ENOSYS. - -https://bugzilla.redhat.com/show_bug.cgi?id=1072966 ---- - src/libudev/libudev-monitor.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- src/libudev/libudev-monitor.c -+++ src/libudev/libudev-monitor.c 2014-05-12 00:00:00.000000000 +0000 -@@ -115,8 +115,11 @@ static bool udev_has_devtmpfs(struct ude - int r; - - r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); -- if (r < 0) -+ if (r < 0) { -+ if (errno != EOPNOTSUPP) -+ udev_err(udev, "name_to_handle_at on /dev: %m\n"); - return false; -+ } - - - f = fopen("/proc/self/mountinfo", "re"); diff --git a/1017-udev-serialize-synchronize-block-device-event-handli.patch b/1017-udev-serialize-synchronize-block-device-event-handli.patch deleted file mode 100644 index 559c0bc3..00000000 --- a/1017-udev-serialize-synchronize-block-device-event-handli.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 3ebdb81ef088afd3b4c72b516beb5610f8c93a0d Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sun, 13 Apr 2014 19:54:27 -0700 -Subject: [PATCH] udev: serialize/synchronize block device event handling with - file locks - ---- - src/udev/udevd.c | 33 +++++++++++++++++++++++++++++++-- - 1 file changed, 31 insertions(+), 2 deletions(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index f9ee368..aecd208 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -265,6 +266,7 @@ static void worker_new(struct event *event) - for (;;) { - struct udev_event *udev_event; - struct worker_message msg; -+ int fd_lock = -1; - int err; - - log_debug("seq %llu running", udev_device_get_seqnum(dev)); -@@ -280,6 +282,30 @@ static void worker_new(struct event *event) - if (exec_delay > 0) - udev_event->exec_delay = exec_delay; - -+ /* -+ * Take a "read lock" on the device node; this establishes -+ * a concept of device "ownership" to serialize device -+ * access. External processes holding a "write lock" will -+ * cause udev to skip the event handling; in the case udev -+ * acquired the lock, the external process will block until -+ * udev has finished its event handling. -+ */ -+ if (streq_ptr("block", udev_device_get_subsystem(dev))) { -+ struct udev_device *d = dev; -+ -+ if (streq_ptr("partition", udev_device_get_devtype(d))) -+ d = udev_device_get_parent(d); -+ -+ if (d) { -+ fd_lock = open(udev_device_get_devnode(d), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { -+ log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); -+ err = -EWOULDBLOCK; -+ goto skip; -+ } -+ } -+ } -+ - /* apply rules, create node, symlinks */ - err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); - -@@ -292,13 +318,16 @@ static void worker_new(struct event *event) - udev_device_update_db(dev); - } - -+ if (fd_lock >= 0) -+ close(fd_lock); -+ - /* send processed event back to libudev listeners */ - udev_monitor_send_device(worker_monitor, NULL, dev); - -+skip: - /* send udevd the result of the event execution */ - memzero(&msg, sizeof(struct worker_message)); -- if (err != 0) -- msg.exitcode = err; -+ msg.exitcode = err; - msg.pid = getpid(); - send(worker_watch[WRITE_END], &msg, sizeof(struct worker_message), 0); - --- -1.7.9.2 - diff --git a/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch b/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch deleted file mode 100644 index e3bd7286..00000000 --- a/1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 1ea972174baba40dbc80c51cbfc4edc49764b59b Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 14 May 2014 00:34:49 +0200 -Subject: [PATCH] udev: do not skip the execution of RUN when renaming a - network device fails - ---- - src/test/test-udev.c | 5 ++--- - src/udev/udev-event.c | 11 +++++------ - src/udev/udev.h | 2 +- - src/udev/udevadm-test.c | 13 +++++-------- - src/udev/udevd.c | 5 ++--- - 5 files changed, 15 insertions(+), 21 deletions(-) - -diff --git src/test/test-udev.c src/test/test-udev.c -index b064744..b057cc8 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) { - } - } - -- err = udev_event_execute_rules(event, rules, &sigmask_orig); -- if (err == 0) -- udev_event_execute_run(event, NULL); -+ udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_run(event, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 2cab42b..5213a4a 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -776,13 +776,12 @@ static int rename_netif(struct udev_event *event) - return r; - } - --int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) -+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) - { - struct udev_device *dev = event->dev; -- int err = 0; - - if (udev_device_get_subsystem(dev) == NULL) -- return -1; -+ return; - - if (streq(udev_device_get_action(dev), "remove")) { - udev_device_read_db(dev, NULL); -@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, - event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) { - char syspath[UTIL_PATH_SIZE]; - char *pos; -+ int r; - -- err = rename_netif(event); -- if (err == 0) { -+ r = rename_netif(event); -+ if (r >= 0) { - log_debug("renamed netif to '%s'", event->name); - - /* remember old name */ -@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, - udev_device_unref(event->dev_db); - event->dev_db = NULL; - } -- return err; - } - - void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) -diff --git src/udev/udev.h src/udev/udev.h -index 936adfb..62538bc 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - int udev_event_spawn(struct udev_event *event, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); - void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 6cd311b..6a2f548 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - _cleanup_udev_device_unref_ struct udev_device *dev = NULL; - _cleanup_udev_event_unref_ struct udev_event *event = NULL; - sigset_t mask, sigmask_orig; -- int err; - int rc = 0, c; - - static const struct option options[] = { -@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - goto out; - } - -- err = udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_rules(event, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); - -- if (err == 0) { -- udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { -- char program[UTIL_PATH_SIZE]; -+ udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { -+ char program[UTIL_PATH_SIZE]; - -- udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); -- printf("run: '%s'\n", program); -- } -+ udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); -+ printf("run: '%s'\n", program); - } - out: - if (event != NULL && event->fd_signal >= 0) -diff --git src/udev/udevd.c src/udev/udevd.c -index aecd208..bc0696c 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -307,10 +307,9 @@ static void worker_new(struct event *event) - } - - /* apply rules, create node, symlinks */ -- err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, rules, &sigmask_orig); - -- if (err == 0) -- udev_event_execute_run(udev_event, &sigmask_orig); -+ udev_event_execute_run(udev_event, &sigmask_orig); - - /* apply/restore inotify watch */ - if (err == 0 && udev_event->inotify_watch) { --- -1.7.9.2 - diff --git a/1019-udev-avoid-use-of-uninitialized-err.patch b/1019-udev-avoid-use-of-uninitialized-err.patch deleted file mode 100644 index c520436e..00000000 --- a/1019-udev-avoid-use-of-uninitialized-err.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bf9bead187802a52a1f376a03caee762d663e945 Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Fri, 16 May 2014 23:46:48 +0200 -Subject: [PATCH] udev: avoid use of uninitialized err - -After 1ea972174baba40dbc80c51cbfc4edc49764b59b err is no longer -set unless we hit a special case. Initialize it to 0 and remove -a check that will never fail. ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index bc0696c..1c9488e 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -267,7 +267,7 @@ static void worker_new(struct event *event) - struct udev_event *udev_event; - struct worker_message msg; - int fd_lock = -1; -- int err; -+ int err = 0; - - log_debug("seq %llu running", udev_device_get_seqnum(dev)); - udev_event = udev_event_new(dev); -@@ -312,7 +312,7 @@ static void worker_new(struct event *event) - udev_event_execute_run(udev_event, &sigmask_orig); - - /* apply/restore inotify watch */ -- if (err == 0 && udev_event->inotify_watch) { -+ if (udev_event->inotify_watch) { - udev_watch_begin(udev, dev); - udev_device_update_db(dev); - } --- -1.7.9.2 - diff --git a/1020-udev-keyboard-also-hook-into-change-events.patch b/1020-udev-keyboard-also-hook-into-change-events.patch deleted file mode 100644 index 0d285973..00000000 --- a/1020-udev-keyboard-also-hook-into-change-events.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 49804365ea1242456c9763058a59cf68479e07ea Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 26 May 2014 09:30:21 +0800 -Subject: [PATCH] udev: keyboard - also hook into "change" events - -Re-apply the keymaps when "udevadm trigger" is called. Hooking into -"add" only would just remove all keymap content from the udev database -instead of applying the new config. ---- - rules/60-keyboard.rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git rules/60-keyboard.rules rules/60-keyboard.rules -index 4e0f366..22f71e7 100644 ---- rules/60-keyboard.rules -+++ rules/60-keyboard.rules -@@ -1,6 +1,6 @@ - # do not edit this file, it will be overwritten on update - --ACTION!="add", GOTO="keyboard_end" -+ACTION=="remove", GOTO="keyboard_end" - KERNEL!="event*", GOTO="keyboard_end" - ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end" - --- -1.7.9.2 - diff --git a/1021-udev-re-add-persistent-net-rules.patch b/1021-udev-re-add-persistent-net-rules.patch index e8cd290c..5d21f1fe 100644 --- a/1021-udev-re-add-persistent-net-rules.patch +++ b/1021-udev-re-add-persistent-net-rules.patch @@ -1,7 +1,73 @@ -Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +--- + Makefile.am | 9 + src/udev/net/link-config.c | 17 + + src/udev/rule_generator/75-persistent-net-generator.rules | 105 ++++++++++ + src/udev/rule_generator/76-net-sriov-names.rules | 18 + + src/udev/rule_generator/net-set-sriov-names | 79 +++++++ + src/udev/rule_generator/rule_generator.functions | 113 +++++++++++ + src/udev/rule_generator/write_net_rules | 141 ++++++++++++++ + 7 files changed, 479 insertions(+), 3 deletions(-) + +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -3416,7 +3416,14 @@ dist_udevrules_DATA += \ + rules/75-tty-description.rules \ + rules/78-sound-card.rules \ + rules/80-net-setup-link.rules \ +- rules/95-udev-late.rules ++ rules/95-udev-late.rules \ ++ src/udev/rule_generator/75-persistent-net-generator.rules \ ++ src/udev/rule_generator/76-net-sriov-names.rules ++ ++udevlibexec_PROGRAMS += \ ++ src/udev/rule_generator/rule_generator.functions \ ++ src/udev/rule_generator/write_net_rules \ ++ src/udev/rule_generator/net-set-sriov-names + + nodist_udevrules_DATA += \ + rules/99-systemd.rules +Index: systemd-218/src/udev/net/link-config.c +=================================================================== +--- systemd-218.orig/src/udev/net/link-config.c ++++ systemd-218/src/udev/net/link-config.c +@@ -176,16 +176,29 @@ static bool enable_name_policy(void) { + size_t l; + + r = proc_cmdline(&line); +- if (r < 0) { ++ if (r < 0) + log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m"); ++#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) ++# warning Using persistent rules as a default ++ if (r <= 0) ++ return false; ++ ++ FOREACH_WORD_QUOTED(w, l, line, state) ++ if (strneq(w, "net.ifnames=1", l)) ++ return true; ++ ++ return false; ++#else ++# warning Using predictable rules as a default ++ if (r <= 0) + return true; +- } + + FOREACH_WORD_QUOTED(word, l, line, state) + if (strneq(word, "net.ifnames=0", l)) + return false; + + return true; ++#endif + } + + int link_config_load(link_config_ctx *ctx) { +Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules =================================================================== --- /dev/null -+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules ++++ systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules @@ -0,0 +1,105 @@ +# do not edit this file, it will be overwritten on update + @@ -108,10 +174,117 @@ Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules +ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" + +LABEL="persistent_net_generator_end" -Index: systemd-210/src/udev/rule_generator/rule_generator.functions +Index: systemd-218/src/udev/rule_generator/76-net-sriov-names.rules =================================================================== --- /dev/null -+++ systemd-210/src/udev/rule_generator/rule_generator.functions ++++ systemd-218/src/udev/rule_generator/76-net-sriov-names.rules +@@ -0,0 +1,18 @@ ++# do not edit this file, it will be overwritten on update ++# ++# rename SRIOV virtual function interfaces ++ ++ACTION=="remove", GOTO="net-sriov-names_end" ++SUBSYSTEM!="net", GOTO="net-sriov-names_end" ++ ++IMPORT{cmdline}="net.ifnames" ++ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" ++ ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" ++SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" ++ ++# rename interface if needed ++ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" ++ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" ++ ++LABEL="net-sriov-names_end" +Index: systemd-218/src/udev/rule_generator/net-set-sriov-names +=================================================================== +--- /dev/null ++++ systemd-218/src/udev/rule_generator/net-set-sriov-names +@@ -0,0 +1,79 @@ ++#!/bin/bash -e ++# ++# This script is run to rename virtual interfaces ++# ++ ++if [ -n "$UDEV_LOG" ]; then ++ if [ "$UDEV_LOG" -ge 7 ]; then ++ set -x ++ fi ++fi ++ ++# according to dev_new_index(), ifindex is within [1, INT_MAX] ++int_max=$(/usr/bin/getconf INT_MAX) ++ifindex_before() { ++ a=$1 ++ b=$2 ++ ++ ((0 < (b - a) && (b - a) < int_max / 2 || ++ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) ++} ++ ++rename_interface() { ++ local src_net=$1 ++ local dest_net=$2 ++ local err=0 ++ ++ /sbin/ip link set dev $src_net down ++ /sbin/ip link set dev $src_net name $dest_net ++} ++ ++if [ -z "$INTERFACE" ]; then ++ echo "missing \$INTERFACE" >&2 ++ exit 1 ++fi ++ ++if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then ++ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") ++ if [ $(echo "$pf" | wc -l) -ne 1 ]; then ++ echo "too many pf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$INTERFACE/ifindex" ++ read pfindex < "/sys/class/net/$pf/ifindex" ++ if ifindex_before $pfindex $vfindex; then ++ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) ++ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do ++ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ echo "INTERFACE_NEW=$pf.vf$vfnum" ++ exit 0 ++ fi ++ done ++ fi ++fi ++ ++read pfindex < "/sys/class/net/$INTERFACE/ifindex" ++shopt -s nullglob ++for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do ++ vf=$(ls -1 "$virtfn/net") ++ if [ $(echo "$vf" | wc -l) -ne 1 ]; then ++ echo "too many vf's" >&2 ++ exit 1 ++ fi ++ read vfindex < "/sys/class/net/$vf/ifindex" ++ if ifindex_before $vfindex $pfindex; then ++ vfnum=$(basename "$virtfn") ++ vfnum=${vfnum#virtfn} ++ if [ "$INTERFACE_NEW" ]; then ++ new_name=$INTERFACE_NEW ++ else ++ new_name=$INTERFACE ++ fi ++ new_name="$new_name.vf$vfnum" ++ if [ "$vf" != "$new_name" ]; then ++ rename_interface "$vf" "$new_name" ++ fi ++ fi ++done +Index: systemd-218/src/udev/rule_generator/rule_generator.functions +=================================================================== +--- /dev/null ++++ systemd-218/src/udev/rule_generator/rule_generator.functions @@ -0,0 +1,113 @@ +# functions used by the udev rule generator + @@ -226,10 +399,10 @@ Index: systemd-210/src/udev/rule_generator/rule_generator.functions + $([ -e $RULES_FILE ] && echo $RULES_FILE) \ + 2>/dev/null) +} -Index: systemd-210/src/udev/rule_generator/write_net_rules +Index: systemd-218/src/udev/rule_generator/write_net_rules =================================================================== --- /dev/null -+++ systemd-210/src/udev/rule_generator/write_net_rules ++++ systemd-218/src/udev/rule_generator/write_net_rules @@ -0,0 +1,141 @@ +#!/bin/sh -e + @@ -372,161 +545,3 @@ Index: systemd-210/src/udev/rule_generator/write_net_rules +unlock_rules_file + +exit 0 -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2552,7 +2552,14 @@ dist_udevrules_DATA += \ - rules/75-tty-description.rules \ - rules/78-sound-card.rules \ - rules/80-net-setup-link.rules \ -- rules/95-udev-late.rules -+ rules/95-udev-late.rules \ -+ src/udev/rule_generator/75-persistent-net-generator.rules \ -+ src/udev/rule_generator/76-net-sriov-names.rules -+ -+udevlibexec_PROGRAMS += \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules \ -+ src/udev/rule_generator/net-set-sriov-names - - dist_udevhwdb_DATA = \ - hwdb/20-pci-vendor-model.hwdb \ -Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -=================================================================== ---- /dev/null -+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -@@ -0,0 +1,18 @@ -+# do not edit this file, it will be overwritten on update -+# -+# rename SRIOV virtual function interfaces -+ -+ACTION=="remove", GOTO="net-sriov-names_end" -+SUBSYSTEM!="net", GOTO="net-sriov-names_end" -+ -+IMPORT{cmdline}="net.ifnames" -+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" -+ -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" -+ -+# rename interface if needed -+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" -+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" -+ -+LABEL="net-sriov-names_end" -Index: systemd-210/src/udev/rule_generator/net-set-sriov-names -=================================================================== ---- /dev/null -+++ systemd-210/src/udev/rule_generator/net-set-sriov-names -@@ -0,0 +1,79 @@ -+#!/bin/bash -e -+# -+# This script is run to rename virtual interfaces -+# -+ -+if [ -n "$UDEV_LOG" ]; then -+ if [ "$UDEV_LOG" -ge 7 ]; then -+ set -x -+ fi -+fi -+ -+# according to dev_new_index(), ifindex is within [1, INT_MAX] -+int_max=$(/usr/bin/getconf INT_MAX) -+ifindex_before() { -+ a=$1 -+ b=$2 -+ -+ ((0 < (b - a) && (b - a) < int_max / 2 || -+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) -+} -+ -+rename_interface() { -+ local src_net=$1 -+ local dest_net=$2 -+ local err=0 -+ -+ /sbin/ip link set dev $src_net down -+ /sbin/ip link set dev $src_net name $dest_net -+} -+ -+if [ -z "$INTERFACE" ]; then -+ echo "missing \$INTERFACE" >&2 -+ exit 1 -+fi -+ -+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then -+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") -+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then -+ echo "too many pf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$INTERFACE/ifindex" -+ read pfindex < "/sys/class/net/$pf/ifindex" -+ if ifindex_before $pfindex $vfindex; then -+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) -+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do -+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ echo "INTERFACE_NEW=$pf.vf$vfnum" -+ exit 0 -+ fi -+ done -+ fi -+fi -+ -+read pfindex < "/sys/class/net/$INTERFACE/ifindex" -+shopt -s nullglob -+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do -+ vf=$(ls -1 "$virtfn/net") -+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then -+ echo "too many vf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$vf/ifindex" -+ if ifindex_before $vfindex $pfindex; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ if [ "$INTERFACE_NEW" ]; then -+ new_name=$INTERFACE_NEW -+ else -+ new_name=$INTERFACE -+ fi -+ new_name="$new_name.vf$vfnum" -+ if [ "$vf" != "$new_name" ]; then -+ rename_interface "$vf" "$new_name" -+ fi -+ fi -+done -Index: systemd-210/src/udev/net/link-config.c -=================================================================== ---- systemd-210.orig/src/udev/net/link-config.c -+++ systemd-210/src/udev/net/link-config.c -@@ -193,6 +193,18 @@ static bool enable_name_policy(void) { - r = proc_cmdline(&line); - if (r < 0) - log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); -+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) -+# warning Using persistent rules as a default -+ if (r <= 0) -+ return false; -+ -+ FOREACH_WORD_QUOTED(w, l, line, state) -+ if (strneq(w, "net.ifnames=1", l)) -+ return true; -+ -+ return false; -+#else -+# warning Using predictable rules as a default - if (r <= 0) - return true; - -@@ -201,6 +213,7 @@ static bool enable_name_policy(void) { - return false; - - return true; -+#endif - } - - int link_config_load(link_config_ctx *ctx) { diff --git a/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch b/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch deleted file mode 100644 index 39e385c0..00000000 --- a/1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch +++ /dev/null @@ -1,1445 +0,0 @@ -From 9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 12 Apr 2014 22:35:50 -0700 -Subject: [PATCH] udev: remove seqnum API and all assumptions about seqnums - -The way the kernel namespaces have been implemented breaks assumptions -udev made regarding uevent sequence numbers. Creating devices in a -namespace "steals" uevents and its sequence numbers from the host. It -confuses the "udevadmin settle" logic, which might block until util a -timeout is reached, even when no uevent is pending. - -Remove any assumptions about sequence numbers and deprecate libudev's -API exposing these numbers; none of that can reliably be used anymore -when namespaces are involved. ---- - Makefile.am | 6 +- - man/udevadm.xml | 22 -- - src/libudev/libudev-monitor.c | 17 +- - src/libudev/libudev-queue-private.c | 406 ----------------------------------- - src/libudev/libudev-queue.c | 302 ++------------------------ - src/libudev/libudev.h | 10 +- - src/shared/udev-util.h | 2 - - src/test/test-libudev.c | 24 --- - src/udev/udev-ctrl.c | 2 +- - src/udev/udevadm-settle.c | 131 ++--------- - src/udev/udevd.c | 59 +++-- - 11 files changed, 84 insertions(+), 897 deletions(-) - delete mode 100644 src/libudev/libudev-queue-private.c - -diff --git Makefile.am Makefile.am -index 5d84605..0ad1729 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2587,8 +2587,7 @@ noinst_LTLIBRARIES += \ - - libudev_internal_la_SOURCES =\ - $(libudev_la_SOURCES) \ -- src/libudev/libudev-device-private.c \ -- src/libudev/libudev-queue-private.c -+ src/libudev/libudev-device-private.c - - libudev_internal_la_CFLAGS = \ - $(AM_CFLAGS) \ -@@ -5169,6 +5168,9 @@ test_libsystemd_sym_LDADD = \ - - test_libudev_sym_SOURCES = \ - test-libudev-sym.c -+test_libudev_sym_CFLAGS = \ -+ $(AM_CFLAGS) \ -+ -Wno-deprecated-declarations - test_libudev_sym_LDADD = \ - libudev.la - -diff --git man/udevadm.xml man/udevadm.xml -index 21d1443..fbfa85a 100644 ---- a/man/udevadm.xml -+++ b/man/udevadm.xml -@@ -339,21 +339,6 @@ - - - -- -- -- -- Wait only for events after the given sequence -- number. -- -- -- -- -- -- -- Wait only for events before the given sequence number. -- -- -- - - - -@@ -361,13 +346,6 @@ - - - -- -- -- -- Do not print any output, like the remaining queue entries when reaching the timeout. -- -- -- - - - -diff --git src/libudev/libudev-monitor.c src/libudev/libudev-monitor.c -index ba1b04d..3f7436b 100644 ---- a/src/libudev/libudev-monitor.c -+++ b/src/libudev/libudev-monitor.c -@@ -146,21 +146,6 @@ static bool udev_has_devtmpfs(struct udev *udev) { - return false; - } - --/* we consider udev running when we have running udev service */ --static bool udev_has_service(struct udev *udev) { -- struct udev_queue *queue; -- bool active; -- -- queue = udev_queue_new(udev); -- if (!queue) -- return false; -- -- active = udev_queue_get_udev_is_active(queue); -- udev_queue_unref(queue); -- -- return active; --} -- - struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) - { - struct udev_monitor *udev_monitor; -@@ -184,7 +169,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c - * We do not set a netlink multicast group here, so the socket - * will not receive any messages. - */ -- if (!udev_has_service(udev) && !udev_has_devtmpfs(udev)) { -+ if (access("/run/udev/control", F_OK) < 0 && !udev_has_devtmpfs(udev)) { - udev_dbg(udev, "the udev service seems not to be active, disable the monitor\n"); - group = UDEV_MONITOR_NONE; - } else -diff --git src/libudev/libudev-queue-private.c src/libudev/libudev-queue-private.c -deleted file mode 100644 -index d5a2b50..0000000 ---- a/src/libudev/libudev-queue-private.c -+++ /dev/null -@@ -1,406 +0,0 @@ --/*** -- This file is part of systemd. -- -- Copyright 2008-2012 Kay Sievers -- Copyright 2009 Alan Jenkins -- -- systemd is free software; you can redistribute it and/or modify it -- under the terms of the GNU Lesser General Public License as published by -- the Free Software Foundation; either version 2.1 of the License, or -- (at your option) any later version. -- -- systemd is distributed in the hope that it will be useful, but -- WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public License -- along with systemd; If not, see . --***/ -- --/* -- * DISCLAIMER - The file format mentioned here is private to udev/libudev, -- * and may be changed without notice. -- * -- * The udev event queue is exported as a binary log file. -- * Each log record consists of a sequence number followed by the device path. -- * -- * When a new event is queued, its details are appended to the log. -- * When the event finishes, a second record is appended to the log -- * with the same sequence number but a devpath len of 0. -- * -- * Example: -- * { 0x0000000000000001 } -- * { 0x0000000000000001, 0x0019, "/devices/virtual/mem/null" }, -- * { 0x0000000000000002, 0x001b, "/devices/virtual/mem/random" }, -- * { 0x0000000000000001, 0x0000 }, -- * { 0x0000000000000003, 0x0019, "/devices/virtual/mem/zero" }, -- * -- * Events 2 and 3 are still queued, but event 1 has finished. -- * -- * The queue does not grow indefinitely. It is periodically re-created -- * to remove finished events. Atomic rename() makes this transparent to readers. -- * -- * The queue file starts with a single sequence number which specifies the -- * minimum sequence number in the log that follows. Any events prior to this -- * sequence number have already finished. -- */ -- --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#include "libudev.h" --#include "libudev-private.h" -- --static int rebuild_queue_file(struct udev_queue_export *udev_queue_export); -- --struct udev_queue_export { -- struct udev *udev; -- int queued_count; /* number of unfinished events exported in queue file */ -- FILE *queue_file; -- unsigned long long int seqnum_max; /* earliest sequence number in queue file */ -- unsigned long long int seqnum_min; /* latest sequence number in queue file */ -- int waste_bytes; /* queue file bytes wasted on finished events */ --}; -- --struct udev_queue_export *udev_queue_export_new(struct udev *udev) --{ -- struct udev_queue_export *udev_queue_export; -- unsigned long long int initial_seqnum; -- -- if (udev == NULL) -- return NULL; -- -- udev_queue_export = new0(struct udev_queue_export, 1); -- if (udev_queue_export == NULL) -- return NULL; -- udev_queue_export->udev = udev; -- -- initial_seqnum = udev_get_kernel_seqnum(udev); -- udev_queue_export->seqnum_min = initial_seqnum; -- udev_queue_export->seqnum_max = initial_seqnum; -- -- udev_queue_export_cleanup(udev_queue_export); -- if (rebuild_queue_file(udev_queue_export) != 0) { -- free(udev_queue_export); -- return NULL; -- } -- -- return udev_queue_export; --} -- --struct udev_queue_export *udev_queue_export_unref(struct udev_queue_export *udev_queue_export) --{ -- if (udev_queue_export == NULL) -- return NULL; -- if (udev_queue_export->queue_file != NULL) -- fclose(udev_queue_export->queue_file); -- free(udev_queue_export); -- return NULL; --} -- --void udev_queue_export_cleanup(struct udev_queue_export *udev_queue_export) --{ -- if (udev_queue_export == NULL) -- return; -- unlink("/run/udev/queue.tmp"); -- unlink("/run/udev/queue.bin"); --} -- --static int skip_to(FILE *file, long offset) --{ -- long old_offset; -- -- /* fseek may drop buffered data, avoid it for small seeks */ -- old_offset = ftell(file); -- if (offset > old_offset && offset - old_offset <= BUFSIZ) { -- size_t skip_bytes = offset - old_offset; -- char *buf = alloca(skip_bytes); -- -- if (fread(buf, skip_bytes, 1, file) != skip_bytes) -- return -1; -- } -- -- return fseek(file, offset, SEEK_SET); --} -- --struct queue_devpaths { -- unsigned int devpaths_first; /* index of first queued event */ -- unsigned int devpaths_size; -- long devpaths[]; /* seqnum -> offset of devpath in queue file (or 0) */ --}; -- --/* -- * Returns a table mapping seqnum to devpath file offset for currently queued events. -- * devpaths[i] represents the event with seqnum = i + udev_queue_export->seqnum_min. -- */ --static struct queue_devpaths *build_index(struct udev_queue_export *udev_queue_export) --{ -- struct queue_devpaths *devpaths; -- unsigned long long int range; -- long devpath_offset; -- ssize_t devpath_len; -- unsigned long long int seqnum; -- unsigned long long int n; -- unsigned int i; -- -- /* seek to the first event in the file */ -- rewind(udev_queue_export->queue_file); -- udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum); -- -- /* allocate the table */ -- range = udev_queue_export->seqnum_min - udev_queue_export->seqnum_max; -- if (range - 1 > INT_MAX) { -- udev_err(udev_queue_export->udev, "queue file overflow\n"); -- return NULL; -- } -- devpaths = malloc0(sizeof(struct queue_devpaths) + (range + 1) * sizeof(long)); -- if (devpaths == NULL) -- return NULL; -- devpaths->devpaths_size = range + 1; -- -- /* read all records and populate the table */ -- for (;;) { -- if (udev_queue_read_seqnum(udev_queue_export->queue_file, &seqnum) < 0) -- break; -- n = seqnum - udev_queue_export->seqnum_max; -- if (n >= devpaths->devpaths_size) -- goto read_error; -- -- devpath_offset = ftell(udev_queue_export->queue_file); -- devpath_len = udev_queue_skip_devpath(udev_queue_export->queue_file); -- if (devpath_len < 0) -- goto read_error; -- -- if (devpath_len > 0) -- devpaths->devpaths[n] = devpath_offset; -- else -- devpaths->devpaths[n] = 0; -- } -- -- /* find first queued event */ -- for (i = 0; i < devpaths->devpaths_size; i++) { -- if (devpaths->devpaths[i] != 0) -- break; -- } -- devpaths->devpaths_first = i; -- -- return devpaths; -- --read_error: -- udev_err(udev_queue_export->udev, "queue file corrupted\n"); -- free(devpaths); -- return NULL; --} -- --static int rebuild_queue_file(struct udev_queue_export *udev_queue_export) --{ -- unsigned long long int seqnum; -- struct queue_devpaths *devpaths = NULL; -- FILE *new_queue_file = NULL; -- unsigned int i; -- -- /* read old queue file */ -- if (udev_queue_export->queue_file != NULL) { -- devpaths = build_index(udev_queue_export); -- if (devpaths != NULL) -- udev_queue_export->seqnum_max += devpaths->devpaths_first; -- } -- if (devpaths == NULL) { -- udev_queue_export->queued_count = 0; -- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; -- } -- -- /* create new queue file */ -- new_queue_file = fopen("/run/udev/queue.tmp", "w+e"); -- if (new_queue_file == NULL) -- goto error; -- seqnum = udev_queue_export->seqnum_max; -- fwrite(&seqnum, 1, sizeof(unsigned long long int), new_queue_file); -- -- /* copy unfinished events only to the new file */ -- if (devpaths != NULL) { -- for (i = devpaths->devpaths_first; i < devpaths->devpaths_size; i++) { -- char devpath[UTIL_PATH_SIZE]; -- int err; -- unsigned short devpath_len; -- -- if (devpaths->devpaths[i] != 0) -- { -- skip_to(udev_queue_export->queue_file, devpaths->devpaths[i]); -- err = udev_queue_read_devpath(udev_queue_export->queue_file, devpath, sizeof(devpath)); -- devpath_len = err; -- -- fwrite(&seqnum, sizeof(unsigned long long int), 1, new_queue_file); -- fwrite(&devpath_len, sizeof(unsigned short), 1, new_queue_file); -- fwrite(devpath, 1, devpath_len, new_queue_file); -- } -- seqnum++; -- } -- free(devpaths); -- devpaths = NULL; -- } -- fflush(new_queue_file); -- if (ferror(new_queue_file)) -- goto error; -- -- /* rename the new file on top of the old one */ -- if (rename("/run/udev/queue.tmp", "/run/udev/queue.bin") != 0) -- goto error; -- -- if (udev_queue_export->queue_file != NULL) -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = new_queue_file; -- udev_queue_export->waste_bytes = 0; -- -- return 0; -- --error: -- udev_err(udev_queue_export->udev, "failed to create queue file: %m\n"); -- udev_queue_export_cleanup(udev_queue_export); -- -- if (udev_queue_export->queue_file != NULL) { -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = NULL; -- } -- if (new_queue_file != NULL) -- fclose(new_queue_file); -- -- if (devpaths != NULL) -- free(devpaths); -- udev_queue_export->queued_count = 0; -- udev_queue_export->waste_bytes = 0; -- udev_queue_export->seqnum_max = udev_queue_export->seqnum_min; -- -- return -1; --} -- --static int write_queue_record(struct udev_queue_export *udev_queue_export, -- unsigned long long int seqnum, const char *devpath, size_t devpath_len) --{ -- unsigned short len; -- -- if (udev_queue_export->queue_file == NULL) -- return -1; -- -- if (fwrite(&seqnum, sizeof(unsigned long long int), 1, udev_queue_export->queue_file) != 1) -- goto write_error; -- -- len = (devpath_len < USHRT_MAX) ? devpath_len : USHRT_MAX; -- if (fwrite(&len, sizeof(unsigned short), 1, udev_queue_export->queue_file) != 1) -- goto write_error; -- if (len > 0) { -- if (fwrite(devpath, 1, len, udev_queue_export->queue_file) != len) -- goto write_error; -- } -- -- /* *must* flush output; caller may fork */ -- if (fflush(udev_queue_export->queue_file) != 0) -- goto write_error; -- -- return 0; -- --write_error: -- /* if we failed half way through writing a record to a file, -- we should not try to write any further records to it. */ -- udev_err(udev_queue_export->udev, "error writing to queue file: %m\n"); -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = NULL; -- -- return -1; --} -- --enum device_state { -- DEVICE_QUEUED, -- DEVICE_FINISHED, --}; -- --static inline size_t queue_record_size(size_t devpath_len) --{ -- return sizeof(unsigned long long int) + sizeof(unsigned short int) + devpath_len; --} -- --static int update_queue(struct udev_queue_export *udev_queue_export, -- struct udev_device *udev_device, enum device_state state) --{ -- unsigned long long int seqnum = udev_device_get_seqnum(udev_device); -- const char *devpath = NULL; -- size_t devpath_len = 0; -- int bytes; -- int err; -- -- /* FINISHED records have a zero length devpath */ -- if (state == DEVICE_QUEUED) { -- devpath = udev_device_get_devpath(udev_device); -- devpath_len = strlen(devpath); -- } -- -- /* recover from an earlier failed rebuild */ -- if (udev_queue_export->queue_file == NULL) { -- if (rebuild_queue_file(udev_queue_export) != 0) -- return -1; -- } -- -- /* if we're removing the last event from the queue, that's the best time to rebuild it */ -- if (state != DEVICE_QUEUED && udev_queue_export->queued_count == 1) { -- /* we don't need to read the old queue file */ -- fclose(udev_queue_export->queue_file); -- udev_queue_export->queue_file = NULL; -- rebuild_queue_file(udev_queue_export); -- return 0; -- } -- -- /* try to rebuild the queue files before they grow larger than one page. */ -- bytes = ftell(udev_queue_export->queue_file) + queue_record_size(devpath_len); -- if ((udev_queue_export->waste_bytes > bytes / 2) && bytes > 4096) -- rebuild_queue_file(udev_queue_export); -- -- /* don't record a finished event, if we already dropped the event in a failed rebuild */ -- if (seqnum < udev_queue_export->seqnum_max) -- return 0; -- -- /* now write to the queue */ -- if (state == DEVICE_QUEUED) { -- udev_queue_export->queued_count++; -- udev_queue_export->seqnum_min = seqnum; -- } else { -- udev_queue_export->waste_bytes += queue_record_size(devpath_len) + queue_record_size(0); -- udev_queue_export->queued_count--; -- } -- err = write_queue_record(udev_queue_export, seqnum, devpath, devpath_len); -- -- /* try to handle ENOSPC */ -- if (err != 0 && udev_queue_export->queued_count == 0) { -- udev_queue_export_cleanup(udev_queue_export); -- err = rebuild_queue_file(udev_queue_export); -- } -- -- return err; --} -- --static int update(struct udev_queue_export *udev_queue_export, -- struct udev_device *udev_device, enum device_state state) --{ -- if (update_queue(udev_queue_export, udev_device, state) != 0) -- return -1; -- -- return 0; --} -- --int udev_queue_export_device_queued(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) --{ -- return update(udev_queue_export, udev_device, DEVICE_QUEUED); --} -- --int udev_queue_export_device_finished(struct udev_queue_export *udev_queue_export, struct udev_device *udev_device) --{ -- return update(udev_queue_export, udev_device, DEVICE_FINISHED); --} -diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index 2cb4d67..eb0e096 100644 ---- a/src/libudev/libudev-queue.c -+++ b/src/libudev/libudev-queue.c -@@ -24,8 +24,6 @@ - #include - #include - #include --#include --#include - #include - #include - -@@ -36,10 +34,7 @@ - * SECTION:libudev-queue - * @short_description: access to currently active events - * -- * The udev daemon processes events asynchronously. All events which do not have -- * interdependencies run in parallel. This exports the current state of the -- * event processing queue, and the current event sequence numbers from the kernel -- * and the udev daemon. -+ * This exports the current state of the udev processing queue. - */ - - /** -@@ -50,7 +45,6 @@ - struct udev_queue { - struct udev *udev; - int refcount; -- struct udev_list queue_list; - }; - - /** -@@ -72,9 +66,9 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) - udev_queue = new0(struct udev_queue, 1); - if (udev_queue == NULL) - return NULL; -+ - udev_queue->refcount = 1; - udev_queue->udev = udev; -- udev_list_init(udev, &udev_queue->queue_list, false); - return udev_queue; - } - -@@ -90,6 +84,7 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue) - { - if (udev_queue == NULL) - return NULL; -+ - udev_queue->refcount++; - return udev_queue; - } -@@ -107,10 +102,11 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) - { - if (udev_queue == NULL) - return NULL; -+ - udev_queue->refcount--; - if (udev_queue->refcount > 0) - return NULL; -- udev_list_cleanup(&udev_queue->queue_list); -+ - free(udev_queue); - return NULL; - } -@@ -130,141 +126,30 @@ _public_ struct udev *udev_queue_get_udev(struct udev_queue *udev_queue) - return udev_queue->udev; - } - --unsigned long long int udev_get_kernel_seqnum(struct udev *udev) --{ -- unsigned long long int seqnum; -- int fd; -- char buf[32]; -- ssize_t len; -- -- fd = open("/sys/kernel/uevent_seqnum", O_RDONLY|O_CLOEXEC); -- if (fd < 0) -- return 0; -- len = read(fd, buf, sizeof(buf)); -- close(fd); -- if (len <= 2) -- return 0; -- buf[len-1] = '\0'; -- seqnum = strtoull(buf, NULL, 10); -- return seqnum; --} -- - /** - * udev_queue_get_kernel_seqnum: - * @udev_queue: udev queue context - * -- * Get the current kernel event sequence number. -+ * This function is deprecated. - * -- * Returns: the sequence number. -+ * Returns: 0. - **/ - _public_ unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum; -- -- if (udev_queue == NULL) -- return -EINVAL; -- -- seqnum = udev_get_kernel_seqnum(udev_queue->udev); -- return seqnum; --} -- --int udev_queue_read_seqnum(FILE *queue_file, unsigned long long int *seqnum) --{ -- if (fread(seqnum, sizeof(unsigned long long int), 1, queue_file) != 1) -- return -1; -- - return 0; - } - --ssize_t udev_queue_skip_devpath(FILE *queue_file) --{ -- unsigned short int len; -- -- if (fread(&len, sizeof(unsigned short int), 1, queue_file) == 1) { -- char *devpath = alloca(len); -- -- /* use fread to skip, fseek might drop buffered data */ -- if (fread(devpath, 1, len, queue_file) == len) -- return len; -- } -- -- return -1; --} -- --ssize_t udev_queue_read_devpath(FILE *queue_file, char *devpath, size_t size) --{ -- unsigned short int read_bytes = 0; -- unsigned short int len; -- -- if (fread(&len, sizeof(unsigned short int), 1, queue_file) != 1) -- return -1; -- -- read_bytes = (len < size - 1) ? len : size - 1; -- if (fread(devpath, 1, read_bytes, queue_file) != read_bytes) -- return -1; -- devpath[read_bytes] = '\0'; -- -- /* if devpath was too long, skip unread characters */ -- if (read_bytes != len) { -- unsigned short int skip_bytes = len - read_bytes; -- char *buf = alloca(skip_bytes); -- -- if (fread(buf, 1, skip_bytes, queue_file) != skip_bytes) -- return -1; -- } -- -- return read_bytes; --} -- --static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long int *seqnum_start) --{ -- FILE *queue_file; -- -- queue_file = fopen("/run/udev/queue.bin", "re"); -- if (queue_file == NULL) -- return NULL; -- -- if (udev_queue_read_seqnum(queue_file, seqnum_start) < 0) { -- udev_err(udev_queue->udev, "corrupt queue file\n"); -- fclose(queue_file); -- return NULL; -- } -- -- return queue_file; --} -- - /** - * udev_queue_get_udev_seqnum: - * @udev_queue: udev queue context - * -- * Get the last known udev event sequence number. -+ * This function is deprecated. - * -- * Returns: the sequence number. -+ * Returns: 0. - **/ - _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum_udev; -- FILE *queue_file; -- -- queue_file = open_queue_file(udev_queue, &seqnum_udev); -- if (queue_file == NULL) -- return 0; -- -- for (;;) { -- unsigned long long int seqnum; -- ssize_t devpath_len; -- -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- devpath_len = udev_queue_skip_devpath(queue_file); -- if (devpath_len < 0) -- break; -- if (devpath_len > 0) -- seqnum_udev = seqnum; -- } -- -- fclose(queue_file); -- return seqnum_udev; -+ return 0; - } - - /** -@@ -277,15 +162,7 @@ _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *ud - **/ - _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum_start; -- FILE *queue_file; -- -- queue_file = open_queue_file(udev_queue, &seqnum_start); -- if (queue_file == NULL) -- return 0; -- -- fclose(queue_file); -- return 1; -+ return access("/run/udev/control", F_OK) >= 0; - } - - /** -@@ -298,48 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) - **/ - _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum_kernel; -- unsigned long long int seqnum_udev = 0; -- int queued = 0; -- int is_empty = 0; -- FILE *queue_file; -- -- if (udev_queue == NULL) -- return -EINVAL; -- queue_file = open_queue_file(udev_queue, &seqnum_udev); -- if (queue_file == NULL) -- return 1; -- -- for (;;) { -- unsigned long long int seqnum; -- ssize_t devpath_len; -- -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- devpath_len = udev_queue_skip_devpath(queue_file); -- if (devpath_len < 0) -- break; -- -- if (devpath_len > 0) { -- queued++; -- seqnum_udev = seqnum; -- } else { -- queued--; -- } -- } -- -- if (queued > 0) -- goto out; -- -- seqnum_kernel = udev_queue_get_kernel_seqnum(udev_queue); -- if (seqnum_udev < seqnum_kernel) -- goto out; -- -- is_empty = 1; -- --out: -- fclose(queue_file); -- return is_empty; -+ return access("/run/udev/queue", F_OK) >= 0; - } - - /** -@@ -348,63 +184,15 @@ out: - * @start: first event sequence number - * @end: last event sequence number - * -- * Check if udev is currently processing any events in a given sequence number range. -+ * This function is deprecated, it just returns the result of -+ * udev_queue_get_queue_is_empty(). - * -- * Returns: a flag indicating if any of the sequence numbers in the given range is currently active. -+ * Returns: a flag indicating if udev is currently handling events. - **/ - _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, - unsigned long long int start, unsigned long long int end) - { -- unsigned long long int seqnum; -- ssize_t devpath_len; -- int unfinished; -- FILE *queue_file; -- -- if (udev_queue == NULL) -- return -EINVAL; -- queue_file = open_queue_file(udev_queue, &seqnum); -- if (queue_file == NULL) -- return 1; -- if (start < seqnum) -- start = seqnum; -- if (start > end) { -- fclose(queue_file); -- return 1; -- } -- if (end - start > INT_MAX - 1) { -- fclose(queue_file); -- return -EOVERFLOW; -- } -- -- /* -- * we might start with 0, and handle the initial seqnum -- * only when we find an entry in the queue file -- **/ -- unfinished = end - start; -- -- do { -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- devpath_len = udev_queue_skip_devpath(queue_file); -- if (devpath_len < 0) -- break; -- -- /* -- * we might start with an empty or re-build queue file, where -- * the initial seqnum is not recorded as finished -- */ -- if (start == seqnum && devpath_len > 0) -- unfinished++; -- -- if (devpath_len == 0) { -- if (seqnum >= start && seqnum <= end) -- unfinished--; -- } -- } while (unfinished > 0); -- -- fclose(queue_file); -- -- return (unfinished == 0); -+ return udev_queue_get_queue_is_empty(udev_queue); - } - - /** -@@ -412,69 +200,25 @@ _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_ - * @udev_queue: udev queue context - * @seqnum: sequence number - * -- * Check if udev is currently processing a given sequence number. -+ * This function is deprecated, it just returns the result of -+ * udev_queue_get_queue_is_empty(). - * -- * Returns: a flag indicating if the given sequence number is currently active. -+ * Returns: a flag indicating if udev is currently handling events. - **/ - _public_ int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) - { -- if (!udev_queue_get_seqnum_sequence_is_finished(udev_queue, seqnum, seqnum)) -- return 0; -- -- return 1; -+ return udev_queue_get_queue_is_empty(udev_queue); - } - - /** - * udev_queue_get_queued_list_entry: - * @udev_queue: udev queue context - * -- * Get the first entry of the list of queued events. -+ * This function is deprecated. - * -- * Returns: a udev_list_entry. -+ * Returns: NULL. - **/ - _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) - { -- unsigned long long int seqnum; -- FILE *queue_file; -- -- if (udev_queue == NULL) -- return NULL; -- udev_list_cleanup(&udev_queue->queue_list); -- -- queue_file = open_queue_file(udev_queue, &seqnum); -- if (queue_file == NULL) -- return NULL; -- -- for (;;) { -- char syspath[UTIL_PATH_SIZE]; -- char *s; -- size_t l; -- ssize_t len; -- char seqnum_str[32]; -- struct udev_list_entry *list_entry; -- -- if (udev_queue_read_seqnum(queue_file, &seqnum) < 0) -- break; -- snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum); -- -- s = syspath; -- l = strpcpy(&s, sizeof(syspath), "/sys"); -- len = udev_queue_read_devpath(queue_file, s, l); -- if (len < 0) -- break; -- -- if (len > 0) { -- udev_list_entry_add(&udev_queue->queue_list, syspath, seqnum_str); -- } else { -- udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_queue->queue_list)) { -- if (streq(seqnum_str, udev_list_entry_get_value(list_entry))) { -- udev_list_entry_delete(list_entry); -- break; -- } -- } -- } -- } -- fclose(queue_file); -- -- return udev_list_get_entry(&udev_queue->queue_list); -+ return NULL; - } -diff --git src/libudev/libudev.h src/libudev/libudev.h -index b9b8f13..ceb89bd 100644 ---- a/src/libudev/libudev.h -+++ b/src/libudev/libudev.h -@@ -170,14 +170,14 @@ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue); - struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue); - struct udev *udev_queue_get_udev(struct udev_queue *udev_queue); - struct udev_queue *udev_queue_new(struct udev *udev); --unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue); --unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue); -+unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); -+unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated)); - int udev_queue_get_udev_is_active(struct udev_queue *udev_queue); - int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); --int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum); -+int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); - int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, -- unsigned long long int start, unsigned long long int end); --struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue); -+ unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); -+struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); - - /* - * udev_hwdb -diff --git src/shared/udev-util.h src/shared/udev-util.h -index 40f8b77..5f09ce1 100644 ---- a/src/shared/udev-util.h -+++ b/src/shared/udev-util.h -@@ -31,7 +31,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_ctrl*, udev_ctrl_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_monitor*, udev_monitor_unref); --DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); - - #define _cleanup_udev_unref_ _cleanup_(udev_unrefp) - #define _cleanup_udev_device_unref_ _cleanup_(udev_device_unrefp) -@@ -40,5 +39,4 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_queue*, udev_queue_unref); - #define _cleanup_udev_rules_unref_ _cleanup_(udev_rules_unrefp) - #define _cleanup_udev_ctrl_unref_ _cleanup_(udev_ctrl_unrefp) - #define _cleanup_udev_monitor_unref_ _cleanup_(udev_monitor_unrefp) --#define _cleanup_udev_queue_unref_ _cleanup_(udev_queue_unrefp) - #define _cleanup_udev_list_cleanup_ _cleanup_(udev_list_cleanup) -diff --git src/test/test-libudev.c src/test/test-libudev.c -index c233b1e..f5c8bc7 100644 ---- a/src/test/test-libudev.c -+++ b/src/test/test-libudev.c -@@ -303,38 +303,14 @@ out: - - static int test_queue(struct udev *udev) { - struct udev_queue *udev_queue; -- unsigned long long int seqnum; -- struct udev_list_entry *list_entry; - - udev_queue = udev_queue_new(udev); - if (udev_queue == NULL) - return -1; -- seqnum = udev_queue_get_kernel_seqnum(udev_queue); -- printf("seqnum kernel: %llu\n", seqnum); -- seqnum = udev_queue_get_udev_seqnum(udev_queue); -- printf("seqnum udev : %llu\n", seqnum); - - if (udev_queue_get_queue_is_empty(udev_queue)) - printf("queue is empty\n"); -- printf("get queue list\n"); -- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) -- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); -- printf("\n"); -- printf("get queue list again\n"); -- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) -- printf("queued: '%s' [%s]\n", udev_list_entry_get_name(list_entry), udev_list_entry_get_value(list_entry)); -- printf("\n"); - -- list_entry = udev_queue_get_queued_list_entry(udev_queue); -- if (list_entry != NULL) { -- printf("event [%llu] is queued\n", seqnum); -- seqnum = strtoull(udev_list_entry_get_value(list_entry), NULL, 10); -- if (udev_queue_get_seqnum_is_finished(udev_queue, seqnum)) -- printf("event [%llu] is not finished\n", seqnum); -- else -- printf("event [%llu] is finished\n", seqnum); -- } -- printf("\n"); - udev_queue_unref(udev_queue); - return 0; - } -diff --git src/udev/udev-ctrl.c src/udev/udev-ctrl.c -index 1e91ec2..74bbd3a 100644 ---- a/src/udev/udev-ctrl.c -+++ b/src/udev/udev-ctrl.c -@@ -275,7 +275,7 @@ static int ctrl_send(struct udev_ctrl *uctrl, enum udev_ctrl_msg_type type, int - - pfd[0].fd = uctrl->sock; - pfd[0].events = POLLIN; -- r = poll(pfd, 1, timeout * 1000); -+ r = poll(pfd, 1, timeout * MSEC_PER_SEC); - if (r < 0) { - if (errno == EINTR) - continue; -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 927ea2a..65fc35f 100644 ---- a/src/udev/udevadm-settle.c -+++ b/src/udev/udevadm-settle.c -@@ -41,42 +41,28 @@ - static void help(void) { - printf("Usage: udevadm settle OPTIONS\n" - " -t,--timeout= maximum time to wait for events\n" -- " -s,--seq-start= first seqnum to wait for\n" -- " -e,--seq-end= last seqnum to wait for\n" - " -E,--exit-if-exists= stop waiting if file exists\n" -- " -q,--quiet do not print list after timeout\n" - " -h,--help\n\n"); - } - - static int adm_settle(struct udev *udev, int argc, char *argv[]) - { - static const struct option options[] = { -- { "seq-start", required_argument, NULL, 's' }, -- { "seq-end", required_argument, NULL, 'e' }, -+ { "seq-start", required_argument, NULL, '\0' }, /* removed */ -+ { "seq-end", required_argument, NULL, '\0' }, /* removed */ - { "timeout", required_argument, NULL, 't' }, - { "exit-if-exists", required_argument, NULL, 'E' }, -- { "quiet", no_argument, NULL, 'q' }, -+ { "quiet", no_argument, NULL, 'q' }, /* removed */ - { "help", no_argument, NULL, 'h' }, - {} - }; -- usec_t start_usec = now(CLOCK_MONOTONIC); -- usec_t start = 0; -- usec_t end = 0; -- int quiet = 0; - const char *exists = NULL; - unsigned int timeout = 120; - struct pollfd pfd[1] = { {.fd = -1}, }; -- _cleanup_udev_queue_unref_ struct udev_queue *udev_queue = NULL; - int rc = EXIT_FAILURE, c; - -- while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) -+ while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { - switch (c) { -- case 's': -- start = strtoull(optarg, NULL, 0); -- break; -- case 'e': -- end = strtoull(optarg, NULL, 0); -- break; - case 't': { - int r; - -@@ -91,9 +77,6 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - case 'E': - exists = optarg; - break; -- case 'q': -- quiet = 1; -- break; - case 'h': - help(); - exit(EXIT_SUCCESS); -@@ -102,44 +85,13 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - default: - assert_not_reached("Unknown argument"); - } -+ } - - if (optind < argc) { - fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); - exit(EXIT_FAILURE); - } - -- udev_queue = udev_queue_new(udev); -- if (udev_queue == NULL) -- exit(2); -- -- if (start > 0) { -- unsigned long long kernel_seq; -- -- kernel_seq = udev_queue_get_kernel_seqnum(udev_queue); -- -- /* unless specified, the last event is the current kernel seqnum */ -- if (end == 0) -- end = udev_queue_get_kernel_seqnum(udev_queue); -- -- if (start > end) { -- log_error("seq-start larger than seq-end, ignoring"); -- start = 0; -- end = 0; -- } -- -- if (start > kernel_seq || end > kernel_seq) { -- log_error("seq-start or seq-end larger than current kernel value, ignoring"); -- start = 0; -- end = 0; -- } -- log_debug("start=%llu end=%llu current=%llu", (unsigned long long)start, (unsigned long long)end, kernel_seq); -- } else { -- if (end > 0) { -- log_error("seq-end needs seq-start parameter, ignoring"); -- end = 0; -- } -- } -- - /* guarantee that the udev daemon isn't pre-processing */ - if (getuid() == 0) { - struct udev_ctrl *uctrl; -@@ -160,73 +112,34 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - pfd[0].fd = inotify_init1(IN_CLOEXEC); - if (pfd[0].fd < 0) { - log_error("inotify_init failed: %m"); -- } else { -- if (inotify_add_watch(pfd[0].fd, "/run/udev" , IN_MOVED_TO) < 0) { -- log_error("watching /run/udev failed"); -- close(pfd[0].fd); -- pfd[0].fd = -1; -- } -+ goto out; - } - -- for (;;) { -- struct stat statbuf; -+ if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { -+ log_debug("watching /run/udev failed"); -+ goto out; -+ } - -- if (exists != NULL && stat(exists, &statbuf) == 0) { -+ for (;;) { -+ if (exists && access(exists, F_OK) >= 0) { - rc = EXIT_SUCCESS; - break; - } - -- if (start > 0) { -- /* if asked for, wait for a specific sequence of events */ -- if (udev_queue_get_seqnum_sequence_is_finished(udev_queue, start, end) == 1) { -- rc = EXIT_SUCCESS; -- break; -- } -- } else { -- /* exit if queue is empty */ -- if (udev_queue_get_queue_is_empty(udev_queue)) { -- rc = EXIT_SUCCESS; -- break; -- } -- } -- -- if (pfd[0].fd >= 0) { -- int delay; -- -- if (exists != NULL || start > 0) -- delay = 100; -- else -- delay = 1000; -- /* wake up after delay, or immediately after the queue is rebuilt */ -- if (poll(pfd, 1, delay) > 0 && pfd[0].revents & POLLIN) { -- char buf[sizeof(struct inotify_event) + PATH_MAX]; -- -- read(pfd[0].fd, buf, sizeof(buf)); -- } -- } else { -- sleep(1); -+ /* exit if queue is empty */ -+ if (access("/run/udev/queue", F_OK) < 0) { -+ rc = EXIT_SUCCESS; -+ break; - } - -- if (timeout > 0) { -- usec_t age_usec; -+ /* wake up when "queue" file is deleted */ -+ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { -+ char buf[sizeof(struct inotify_event) + PATH_MAX]; - -- age_usec = now(CLOCK_MONOTONIC) - start_usec; -- if (age_usec / (1000 * 1000) >= timeout) { -- struct udev_list_entry *list_entry; -- -- if (!quiet && udev_queue_get_queued_list_entry(udev_queue) != NULL) { -- log_debug("timeout waiting for udev queue"); -- printf("\nudevadm settle - timeout of %i seconds reached, the event queue contains:\n", timeout); -- udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) -- printf(" %s (%s)\n", -- udev_list_entry_get_name(list_entry), -- udev_list_entry_get_value(list_entry)); -- } -- -- break; -- } -+ read(pfd[0].fd, buf, sizeof(buf)); - } - } -+ - out: - if (pfd[0].fd >= 0) - close(pfd[0].fd); -@@ -236,5 +149,5 @@ out: - const struct udevadm_cmd udevadm_settle = { - .name = "settle", - .cmd = adm_settle, -- .help = "wait for the event queue to finish", -+ .help = "wait for pending udev events", - }; -diff --git src/udev/udevd.c src/udev/udevd.c -index f21c227..f9ee368 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -60,7 +60,6 @@ void udev_main_log(struct udev *udev, int priority, - } - - static struct udev_rules *rules; --static struct udev_queue_export *udev_queue_export; - static struct udev_ctrl *udev_ctrl; - static struct udev_monitor *monitor; - static int worker_watch[2] = { -1, -1 }; -@@ -139,14 +138,9 @@ static inline struct worker *node_to_worker(struct udev_list_node *node) - return container_of(node, struct worker, node); - } - --static void event_queue_delete(struct event *event, bool export) -+static void event_queue_delete(struct event *event) - { - udev_list_node_remove(&event->node); -- -- if (export) { -- udev_queue_export_device_finished(udev_queue_export, event->dev); -- log_debug("seq %llu done with %i", udev_device_get_seqnum(event->dev), event->exitcode); -- } - udev_device_unref(event->dev); - free(event); - } -@@ -225,7 +219,6 @@ static void worker_new(struct event *event) - free(worker); - worker_list_cleanup(udev); - event_queue_cleanup(udev, EVENT_UNDEF); -- udev_queue_export_unref(udev_queue_export); - udev_monitor_unref(monitor); - udev_ctrl_unref(udev_ctrl); - close(fd_signal); -@@ -449,7 +442,6 @@ static int event_queue_insert(struct udev_device *dev) - event->nodelay = true; - #endif - -- udev_queue_export_device_queued(udev_queue_export, dev); - log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), - udev_device_get_action(dev), udev_device_get_subsystem(dev)); - -@@ -580,7 +572,7 @@ static void event_queue_cleanup(struct udev *udev, enum event_state match_type) - if (match_type != EVENT_UNDEF && match_type != event->state) - continue; - -- event_queue_delete(event, false); -+ event_queue_delete(event); - } - } - -@@ -605,7 +597,7 @@ static void worker_returned(int fd_worker) - /* worker returned */ - if (worker->event) { - worker->event->exitcode = msg.exitcode; -- event_queue_delete(worker->event, true); -+ event_queue_delete(worker->event); - worker->event = NULL; - } - if (worker->state != WORKER_KILLED) -@@ -797,7 +789,8 @@ static void handle_signal(struct udev *udev, int signo) - log_error("worker [%u] failed while handling '%s'", - pid, worker->event->devpath); - worker->event->exitcode = -32; -- event_queue_delete(worker->event, true); -+ event_queue_delete(worker->event); -+ - /* drop reference taken for state 'running' */ - worker_unref(worker); - } -@@ -1076,14 +1069,7 @@ int main(int argc, char *argv[]) - goto exit; - } - -- udev_monitor_set_receive_buffer_size(monitor, 128*1024*1024); -- -- /* create queue file before signalling 'ready', to make sure we block 'settle' */ -- udev_queue_export = udev_queue_export_new(udev); -- if (udev_queue_export == NULL) { -- log_error("error creating queue file"); -- goto exit; -- } -+ udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024); - - if (daemonize) { - pid_t pid; -@@ -1241,12 +1227,12 @@ int main(int argc, char *argv[]) - worker_kill(udev); - - /* exit after all has cleaned up */ -- if (udev_list_node_is_empty(&event_list) && udev_list_node_is_empty(&worker_list)) -+ if (udev_list_node_is_empty(&event_list) && children == 0) - break; - - /* timeout at exit for workers to finish */ -- timeout = 30 * 1000; -- } else if (udev_list_node_is_empty(&event_list) && !children) { -+ timeout = 30 * MSEC_PER_SEC; -+ } else if (udev_list_node_is_empty(&event_list) && children == 0) { - /* we are idle */ - timeout = -1; - -@@ -1255,8 +1241,20 @@ int main(int argc, char *argv[]) - cg_kill(SYSTEMD_CGROUP_CONTROLLER, udev_cgroup, SIGKILL, false, true, NULL); - } else { - /* kill idle or hanging workers */ -- timeout = 3 * 1000; -+ timeout = 3 * MSEC_PER_SEC; - } -+ -+ /* tell settle that we are busy or idle */ -+ if (!udev_list_node_is_empty(&event_list)) { -+ int fd; -+ -+ fd = open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444); -+ if (fd >= 0) -+ close(fd); -+ } else { -+ unlink("/run/udev/queue"); -+ } -+ - fdcount = epoll_wait(fd_ep, ev, ELEMENTSOF(ev), timeout); - if (fdcount < 0) - continue; -@@ -1283,18 +1281,18 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { - log_error("worker [%u] %s timeout; kill it", worker->pid, - worker->event ? worker->event->devpath : ""); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; -+ - /* drop reference taken for state 'running' */ - worker_unref(worker); - if (worker->event) { -- log_error("seq %llu '%s' killed", -- udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); - worker->event->exitcode = -64; -- event_queue_delete(worker->event, true); -+ event_queue_delete(worker->event); - worker->event = NULL; - } - } -@@ -1317,7 +1315,7 @@ int main(int argc, char *argv[]) - } - - /* check for changed config, every 3 seconds at most */ -- if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - last_usec) > 3 * USEC_PER_SEC) { - if (udev_rules_check_timestamp(rules)) - reload = true; - if (udev_builtin_validate(udev)) -@@ -1390,8 +1388,8 @@ int main(int argc, char *argv[]) - - rc = EXIT_SUCCESS; - exit: -- udev_queue_export_cleanup(udev_queue_export); - udev_ctrl_cleanup(udev_ctrl); -+ unlink("/run/udev/queue"); - exit_daemonize: - if (fd_ep >= 0) - close(fd_ep); -@@ -1406,7 +1404,6 @@ exit_daemonize: - if (worker_watch[WRITE_END] >= 0) - close(worker_watch[WRITE_END]); - udev_monitor_unref(monitor); -- udev_queue_export_unref(udev_queue_export); - udev_ctrl_connection_unref(ctrl_conn); - udev_ctrl_unref(udev_ctrl); - label_finish(); --- -1.7.9.2 - diff --git a/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch b/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch deleted file mode 100644 index 75da64fa..00000000 --- a/1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a52ec8ed881537627869afa8f0486db7e20ce2db Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Fri, 30 May 2014 13:16:56 -0400 -Subject: [PATCH] udev-builtin-keyboard: do tell on which device EVIOCSKEYCODE - failed. - -I am getting - -"Error calling EVIOCSKEYCODE (scan code 0xc022d, key code 418): Invalid -argument", the error message does not tell on which specific device the -problem is, add that info. ---- - src/udev/udev-builtin-keyboard.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udev-builtin-keyboard.c src/udev/udev-builtin-keyboard.c -index 614e44e..9b66bfd 100644 ---- src/udev/udev-builtin-keyboard.c -+++ src/udev/udev-builtin-keyboard.c -@@ -143,7 +143,7 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo - log_debug("keyboard: mapping scan code %d (0x%x) to key code %d (0x%x)", - map[i].scan, map[i].scan, map[i].key, map[i].key); - if (ioctl(fd, EVIOCSKEYCODE, &map[i]) < 0) -- log_error("Error calling EVIOCSKEYCODE (scan code 0x%x, key code %d): %m", map[i].scan, map[i].key); -+ log_error("Error calling EVIOCSKEYCODE on device node '%s' (scan code 0x%x, key code %d): %m", node, map[i].scan, map[i].key); - } - - /* install list of force-release codes */ --- -1.7.9.2 - diff --git a/1024-udev-always-close-lock-file-descriptor.patch b/1024-udev-always-close-lock-file-descriptor.patch deleted file mode 100644 index aaa4b296..00000000 --- a/1024-udev-always-close-lock-file-descriptor.patch +++ /dev/null @@ -1,41 +0,0 @@ -Based on 3d06f4183470d42361303086ed9dedd29c0ffc1b Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 3 Jun 2014 10:46:51 +0200 -Subject: [PATCH] udev: always close lock file descriptor - -https://bugs.freedesktop.org/show_bug.cgi?id=79576 ---- - src/udev/udevd.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-06-03 15:34:42.778346368 +0000 -@@ -301,6 +301,7 @@ static void worker_new(struct event *eve - if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { - log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); - err = -EWOULDBLOCK; -+ close_nointr_nofail(fd_lock); fd_lock = -1; - goto skip; - } - } -@@ -318,7 +319,7 @@ static void worker_new(struct event *eve - } - - if (fd_lock >= 0) -- close(fd_lock); -+ close_nointr_nofail(fd_lock); - - /* send processed event back to libudev listeners */ - udev_monitor_send_device(worker_monitor, NULL, dev); -@@ -378,9 +379,9 @@ skip: - out: - udev_device_unref(dev); - if (fd_signal >= 0) -- close(fd_signal); -+ close_nointr_nofail(fd_signal); - if (fd_ep >= 0) -- close(fd_ep); -+ close_nointr_nofail(fd_ep); - close(fd_inotify); - close(worker_watch[WRITE_END]); - udev_rules_unref(rules); diff --git a/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch b/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch deleted file mode 100644 index 2dc531f4..00000000 --- a/1025-udev-exclude-device-mapper-from-block-device-ownersh.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e918a1b5a94f270186dca59156354acd2a596494 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 3 Jun 2014 16:49:38 +0200 -Subject: [PATCH] udev: exclude device-mapper from block device ownership event - locking - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index 819ea3b..6c05104 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -290,7 +290,19 @@ static void worker_new(struct event *event) - * acquired the lock, the external process will block until - * udev has finished its event handling. - */ -- if (streq_ptr("block", udev_device_get_subsystem(dev))) { -+ -+ /* -+ * since we make check - device seems unused - we try -+ * ioctl to deactivate - and device is found to be opened -+ * sure, you try to take a write lock -+ * if you get it udev is out -+ * if you can't get it, udev is busy -+ * we cannot deactivate openned device (as it is in-use) -+ * maybe we should just exclude dm from that thing entirely -+ * IMHO this sounds like a good plan for this moment -+ */ -+ if (streq_ptr("block", udev_device_get_subsystem(dev)) && -+ !startswith("dm-", udev_device_get_sysname(dev))) { - struct udev_device *d = dev; - - if (streq_ptr("partition", udev_device_get_devtype(d))) --- -1.8.4.5 - diff --git a/1026-udevd-inotify-modernizations.patch b/1026-udevd-inotify-modernizations.patch deleted file mode 100644 index c63093ff..00000000 --- a/1026-udevd-inotify-modernizations.patch +++ /dev/null @@ -1,85 +0,0 @@ -From edd32000c806e4527c5f376d138f7bff07724c26 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 11:05:45 +0200 -Subject: [PATCH] udevd: inotify - modernizations - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 45 ++++++++++++++++++++++----------------------- - 1 file changed, 22 insertions(+), 23 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -736,20 +736,30 @@ out: - return udev_ctrl_connection_unref(ctrl_conn); - } - -+static void synthesize_change(struct udev_device *dev) { -+ char filename[UTIL_PATH_SIZE]; -+ -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+} -+ - /* read inotify messages */ - static int handle_inotify(struct udev *udev) - { - int nbytes, pos; - char *buf; - struct inotify_event *ev; -+ int r; - -- if ((ioctl(fd_inotify, FIONREAD, &nbytes) < 0) || (nbytes <= 0)) -- return 0; -+ r = ioctl(fd_inotify, FIONREAD, &nbytes); -+ if (r < 0 || nbytes <= 0) -+ return -errno; - - buf = malloc(nbytes); -- if (buf == NULL) { -+ if (!buf) { - log_error("error getting buffer for inotify"); -- return -1; -+ return -ENOMEM; - } - - nbytes = read(fd_inotify, buf, nbytes); -@@ -759,27 +769,16 @@ static int handle_inotify(struct udev *u - - ev = (struct inotify_event *)(buf + pos); - dev = udev_watch_lookup(udev, ev->wd); -- if (dev != NULL) { -- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); -- if (ev->mask & IN_CLOSE_WRITE) { -- char filename[UTIL_PATH_SIZE]; -- int fd; -- -- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -- fd = open(filename, O_WRONLY|O_CLOEXEC); -- if (fd >= 0) { -- if (write(fd, "change", 6) < 0) -- log_debug("error writing uevent: %m"); -- close(fd); -- } -- } -- if (ev->mask & IN_IGNORED) -- udev_watch_end(udev, dev); -+ if (!dev) -+ continue; - -- udev_device_unref(dev); -- } -+ log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev)); -+ if (ev->mask & IN_CLOSE_WRITE) -+ synthesize_change(dev); -+ else if (ev->mask & IN_IGNORED) -+ udev_watch_end(udev, dev); - -+ udev_device_unref(dev); - } - - free(buf); diff --git a/1027-udev-synthesize-change-events-for-partitions-when-to.patch b/1027-udev-synthesize-change-events-for-partitions-when-to.patch deleted file mode 100644 index ab09c1b2..00000000 --- a/1027-udev-synthesize-change-events-for-partitions-when-to.patch +++ /dev/null @@ -1,84 +0,0 @@ -From f3a740a5dae792fb6b2d411022ce8c29ced1c3f1 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 12:16:28 +0200 -Subject: [PATCH] udev: synthesize "change' events for partitions when tools - change the disk - -This should make sure that fdisk-like programs will automatically -cause an update of all partitions, just like mkfs-like programs cause -an update of the partition. - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 42 insertions(+), 2 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -46,6 +46,7 @@ - #include - - #include "udev.h" -+#include "udev-util.h" - #include "sd-daemon.h" - #include "cgroup-util.h" - #include "dev-setup.h" -@@ -736,15 +737,54 @@ out: - return udev_ctrl_connection_unref(ctrl_conn); - } - --static void synthesize_change(struct udev_device *dev) { -+static int synthesize_change(struct udev_device *dev) { - char filename[UTIL_PATH_SIZE]; -+ int r; - - log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); - strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); - write_string_file(filename, "change"); -+ -+ /* for disks devices, re-trigger all partitions too */ -+ if (streq_ptr("block", udev_device_get_subsystem(dev)) && -+ streq_ptr("disk", udev_device_get_devtype(dev))) { -+ struct udev *udev = udev_device_get_udev(dev); -+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; -+ struct udev_list_entry *item; -+ -+ e = udev_enumerate_new(udev); -+ if (!e) -+ return -ENOMEM; -+ -+ r = udev_enumerate_add_match_parent(e, dev); -+ if (r < 0) -+ return r; -+ -+ r = udev_enumerate_add_match_subsystem(e, "block"); -+ if (r < 0) -+ return r; -+ -+ r = udev_enumerate_scan_devices(e); -+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { -+ _cleanup_udev_device_unref_ struct udev_device *d = NULL; -+ -+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); -+ if (!d) -+ continue; -+ -+ if (!streq_ptr("partition", udev_device_get_devtype(d))) -+ continue; -+ -+ log_debug("device %s closed, synthesising partition '%s' 'change'", -+ udev_device_get_devnode(dev), udev_device_get_devnode(d)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ } -+ } -+ -+ return 0; - } - --/* read inotify messages */ - static int handle_inotify(struct udev *udev) - { - int nbytes, pos; diff --git a/1028-udev-link-config-fix-mem-leak.patch b/1028-udev-link-config-fix-mem-leak.patch deleted file mode 100644 index 265009f0..00000000 --- a/1028-udev-link-config-fix-mem-leak.patch +++ /dev/null @@ -1,34 +0,0 @@ -From edf029b7fd9a5853a87d3ca99aac2922bb8a277e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 4 Jun 2014 12:34:23 +0200 -Subject: [PATCH] udev: link-config - fix mem leak - -Reported by Kay. - -Signed-off-by: Robert Milasan ---- - src/udev/net/link-config.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-210/src/udev/net/link-config.c -=================================================================== ---- systemd-210.orig/src/udev/net/link-config.c -+++ systemd-210/src/udev/net/link-config.c -@@ -118,6 +118,7 @@ static void link_configs_free(link_confi - free(link->match_type); - free(link->description); - free(link->alias); -+ free(link->name_policy); - - free(link); - } -@@ -205,7 +206,8 @@ static bool enable_name_policy(void) { - - int link_config_load(link_config_ctx *ctx) { - int r; -- char **files, **f; -+ _cleanup_strv_free_ char **files; -+ char **f; - - link_configs_free(ctx); - diff --git a/1029-udev-try-first-re-reading-the-partition-table.patch b/1029-udev-try-first-re-reading-the-partition-table.patch deleted file mode 100644 index fa20002b..00000000 --- a/1029-udev-try-first-re-reading-the-partition-table.patch +++ /dev/null @@ -1,94 +0,0 @@ -From ede344452a54e1c53f541cad12a06269a4fe96a9 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 13:30:24 +0200 -Subject: [PATCH] udev: try first re-reading the partition table - -mounted partitions: - # dd if=/dev/zero of=/dev/sda bs=1 count=1 - UDEV [4157.369250] change .../0:0:0:0/block/sda (block) - UDEV [4157.375059] change .../0:0:0:0/block/sda/sda1 (block) - UDEV [4157.397088] change .../0:0:0:0/block/sda/sda2 (block) - UDEV [4157.404842] change .../0:0:0:0/block/sda/sda4 (block) - -unmounted partitions: - # dd if=/dev/zero of=/dev/sdb bs=1 count=1 - UDEV [4163.450217] remove .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) - UDEV [4163.593167] change .../target6:0:0/6:0:0:0/block/sdb (block) - UDEV [4163.713982] add .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block) - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 39 +++++++++++++++++++++++++++++++++------ - 1 file changed, 33 insertions(+), 6 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -741,17 +742,37 @@ static int synthesize_change(struct udev - char filename[UTIL_PATH_SIZE]; - int r; - -- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -- write_string_file(filename, "change"); -- -- /* for disks devices, re-trigger all partitions too */ - if (streq_ptr("block", udev_device_get_subsystem(dev)) && -- streq_ptr("disk", udev_device_get_devtype(dev))) { -+ streq_ptr("disk", udev_device_get_devtype(dev)) && -+ !startswith("dm-", udev_device_get_sysname(dev))) { -+ int fd; - struct udev *udev = udev_device_get_udev(dev); - _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; - struct udev_list_entry *item; - -+ /* -+ * Try to re-read the partition table, this only succeeds if -+ * none of the devices is busy. -+ * -+ * The kernel will send out a change event for the disk, and -+ * "remove/add" for all partitions. -+ */ -+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ if (fd >= 0) { -+ r = ioctl(fd, BLKRRPART, 0); -+ close(fd); -+ if (r >= 0) -+ return 0; -+ } -+ -+ /* -+ * Re-reading the partition table did not work, synthesize "change" -+ * events for the disk and all partitions. -+ */ -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ - e = udev_enumerate_new(udev); - if (!e) - return -ENOMEM; -@@ -780,8 +801,14 @@ static int synthesize_change(struct udev - strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL); - write_string_file(filename, "change"); - } -+ -+ return 0; - } - -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ - return 0; - } - diff --git a/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch b/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch deleted file mode 100644 index 6fb7b15f..00000000 --- a/1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 14:09:31 +0200 -Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL) - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -757,7 +757,7 @@ static int synthesize_change(struct udev - * The kernel will send out a change event for the disk, and - * "remove/add" for all partitions. - */ -- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd >= 0) { - r = ioctl(fd, BLKRRPART, 0); - close(fd); diff --git a/1031-udev-make-sure-we-always-get-change-for-the-disk.patch b/1031-udev-make-sure-we-always-get-change-for-the-disk.patch deleted file mode 100644 index 4f48cd3a..00000000 --- a/1031-udev-make-sure-we-always-get-change-for-the-disk.patch +++ /dev/null @@ -1,98 +0,0 @@ -From e9fc29f4ecc9509ccc02eb8a014341e26c0d7831 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 15:17:15 +0200 -Subject: [PATCH] udev: make sure we always get "change" for the disk - -The kernel will return 0 for REREADPT when no partition table -is found, we have to send out "change" ourselves. - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 53 +++++++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 39 insertions(+), 14 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -745,34 +745,28 @@ static int synthesize_change(struct udev - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && - !startswith("dm-", udev_device_get_sysname(dev))) { -+ bool part_table_read = false; -+ bool has_partitions = false; - int fd; - struct udev *udev = udev_device_get_udev(dev); - _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL; - struct udev_list_entry *item; - - /* -- * Try to re-read the partition table, this only succeeds if -- * none of the devices is busy. -- * -- * The kernel will send out a change event for the disk, and -- * "remove/add" for all partitions. -+ * Try to re-read the partition table. This only succeeds if -+ * none of the devices is busy. The kernel returns 0 if no -+ * partition table is found, and we will not get an event for -+ * the disk. - */ - fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd >= 0) { - r = ioctl(fd, BLKRRPART, 0); - close(fd); - if (r >= 0) -- return 0; -+ part_table_read = true; - } - -- /* -- * Re-reading the partition table did not work, synthesize "change" -- * events for the disk and all partitions. -- */ -- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -- write_string_file(filename, "change"); -- -+ /* search for partitions */ - e = udev_enumerate_new(udev); - if (!e) - return -ENOMEM; -@@ -786,6 +780,37 @@ static int synthesize_change(struct udev - return r; - - r = udev_enumerate_scan_devices(e); -+ -+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { -+ _cleanup_udev_device_unref_ struct udev_device *d = NULL; -+ -+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item)); -+ if (!d) -+ continue; -+ -+ if (!streq_ptr("partition", udev_device_get_devtype(d))) -+ continue; -+ -+ has_partitions = true; -+ break; -+ } -+ -+ /* -+ * We have partitions and re-read the table, the kernel already sent -+ * out a "change" event for the disk, and "remove/add" for all -+ * partitions. -+ */ -+ if (part_table_read && has_partitions) -+ return 0; -+ -+ /* -+ * We have partitions but re-reading the partition table did not -+ * work, synthesize "change" for the disk and all partitions. -+ */ -+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev)); -+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL); -+ write_string_file(filename, "change"); -+ - udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { - _cleanup_udev_device_unref_ struct udev_device *d = NULL; - diff --git a/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch b/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch deleted file mode 100644 index 4a6d7c13..00000000 --- a/1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 02ba8fb3357daf57f6120ac512fb464a4c623419 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Wed, 4 Jun 2014 16:21:19 +0200 -Subject: [PATCH] udev: guard REREADPT by exclusive lock instead of O_EXCL - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -758,9 +758,12 @@ static int synthesize_change(struct udev - * partition table is found, and we will not get an event for - * the disk. - */ -- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); -+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); - if (fd >= 0) { -- r = ioctl(fd, BLKRRPART, 0); -+ r = flock(fd, LOCK_EX|LOCK_NB); -+ if (r >= 0) -+ r = ioctl(fd, BLKRRPART, 0); -+ - close(fd); - if (r >= 0) - part_table_read = true; diff --git a/1033-udev-really-exclude-device-mapper-from-block-device.patch b/1033-udev-really-exclude-device-mapper-from-block-device.patch deleted file mode 100644 index 594331c3..00000000 --- a/1033-udev-really-exclude-device-mapper-from-block-device.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 638ca89c53e2b897cfb3f627f4acbc7d09af2f4c Mon Sep 17 00:00:00 2001 -From: Christian Hesse -Date: Tue, 10 Jun 2014 15:51:15 +0200 -Subject: [PATCH] udev: really exclude device-mapper from block device - ownership event locking - -Arguments were wrong order, no? -This fixes commits: - -e918a1b5a94f270186dca59156354acd2a596494 -3d06f4183470d42361303086ed9dedd29c0ffc1b - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -304,7 +304,7 @@ static void worker_new(struct event *eve - * IMHO this sounds like a good plan for this moment - */ - if (streq_ptr("block", udev_device_get_subsystem(dev)) && -- !startswith("dm-", udev_device_get_sysname(dev))) { -+ !startswith(udev_device_get_sysname(dev), "dm-")) { - struct udev_device *d = dev; - - if (streq_ptr("partition", udev_device_get_devtype(d))) -@@ -744,7 +744,7 @@ static int synthesize_change(struct udev - - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && -- !startswith("dm-", udev_device_get_sysname(dev))) { -+ !startswith(udev_device_get_sysname(dev), "dm-")) { - bool part_table_read = false; - bool has_partitions = false; - int fd; diff --git a/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch b/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch deleted file mode 100644 index c2a21fce..00000000 --- a/1034-udev-check-the-return-value-from-udev_enumerate_scan.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 47a3fa0f7679521b85f7aeba9e245c52cc7bb2cb Mon Sep 17 00:00:00 2001 -From: Thomas Hindoe Paaboel Andersen -Date: Wed, 4 Jun 2014 23:40:43 +0200 -Subject: [PATCH] udev: check the return value from udev_enumerate_scan_devices - -The return value from udev_enumerate_scan_devices was stored but -never used. I assume this was meant to be checked. - -Signed-off-by: Robert Milasan ---- - src/udev/udevd.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -783,6 +783,8 @@ static int synthesize_change(struct udev - return r; - - r = udev_enumerate_scan_devices(e); -+ if (r < 0) -+ return r; - - udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) { - _cleanup_udev_device_unref_ struct udev_device *d = NULL; diff --git a/1038-udev-fix-invalid-free-in-enable_name_policy.patch b/1038-udev-fix-invalid-free-in-enable_name_policy.patch deleted file mode 100644 index 4afdb7ce..00000000 --- a/1038-udev-fix-invalid-free-in-enable_name_policy.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f8a0bb5285024b6ce372c3157e761e6543ebdcd2 Mon Sep 17 00:00:00 2001 -From: Andreas Henriksson -Date: Fri, 13 Jun 2014 18:48:21 +0200 -Subject: [PATCH] udev: fix invalid free() in enable_name_policy() - -static bool enable_name_policy(...) in ./src/udev/net/link-config.c -calls proc_cmdline(...) to get "line" initialized, but -proc_cmdline(...) does not guarantee that atleast when both -conditions (detect_container(NULL) > 0) and -read_full_file(...) returned < 0. ---- - src/udev/net/link-config.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/net/link-config.c src/udev/net/link-config.c -index a9acc3d..7a9d01b 100644 ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c -@@ -185,7 +185,7 @@ static int load_link(link_config_ctx *ctx, const char *filename) { - } - - static bool enable_name_policy(void) { -- _cleanup_free_ char *line; -+ _cleanup_free_ char *line = NULL; - char *w, *state; - int r; - size_t l; --- -1.7.9.2 - diff --git a/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch b/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch deleted file mode 100644 index 2760970f..00000000 --- a/1039-udevadm-settle-fixed-return-code-for-empty-queue.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 83be2c398589a3d64db5999cfd5527c5219bff46 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 20 May 2014 12:25:16 +0200 -Subject: [PATCH] udevadm-settle: fixed return code for empty queue - -If the udev queue is empty and "/run/udev/queue" does not exist, -"udevadm settle" would return with EXIT_FAILURE, because the inotify on -"/run/udev/queue" would fail with ENOENT. - -This patch lets "udevadm settle" exit with EXIT_SUCCESS in this case. ---- - src/udev/udevadm-settle.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 65fc35f..66fd843 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -116,7 +116,11 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - } - - if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { -- log_debug("watching /run/udev failed"); -+ /* If it does not exist, we don't have to wait */ -+ if (errno == ENOENT) -+ rc = EXIT_SUCCESS; -+ else -+ log_debug("watching /run/udev/queue failed"); - goto out; - } - --- -1.7.9.2 - diff --git a/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch b/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch deleted file mode 100644 index 21d21356..00000000 --- a/1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 45e60962b7965f32755a76b79a28126299aac149 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 27 Jun 2014 14:20:17 +0200 -Subject: [PATCH] libudev: fix udev_queue_get_queue_is_empty() logic - ---- - src/libudev/libudev-queue.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index eb0e096..c32a7ef 100644 ---- src/libudev/libudev-queue.c -+++ src/libudev/libudev-queue.c -@@ -175,7 +175,7 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue) - **/ - _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue) - { -- return access("/run/udev/queue", F_OK) >= 0; -+ return access("/run/udev/queue", F_OK) < 0; - } - - /** --- -1.7.9.2 - diff --git a/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch b/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch deleted file mode 100644 index a9458e36..00000000 --- a/1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch +++ /dev/null @@ -1,248 +0,0 @@ -Based on 14cb733684d3c3f50d088a3a370ddf8e8894dfa4 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 27 Jun 2014 17:42:44 +0200 -Subject: [PATCH] libudev: queue provide file descriptor to watch busy event - queue - ---- - docs/libudev/libudev-sections.txt | 2 ++ - src/libudev/libudev-queue.c | 46 +++++++++++++++++++++++++++++++++++ - src/libudev/libudev.h | 2 ++ - src/libudev/libudev.sym | 2 ++ - src/udev/udevadm-settle.c | 48 ++++++++++++++++--------------------- - 5 files changed, 73 insertions(+), 27 deletions(-) - -diff --git docs/libudev/libudev-sections.txt docs/libudev/libudev-sections.txt -index c154645..8a31ded 100644 ---- docs/libudev/libudev-sections.txt -+++ docs/libudev/libudev-sections.txt -@@ -116,6 +116,8 @@ udev_queue_get_seqnum_sequence_is_finished - udev_queue_get_queued_list_entry - udev_queue_get_kernel_seqnum - udev_queue_get_udev_seqnum -+udev_queue_get_fd -+udev_queue_flush -
- -
-diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index c32a7ef..d4334b4 100644 ---- src/libudev/libudev-queue.c -+++ src/libudev/libudev-queue.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include "libudev.h" - #include "libudev-private.h" -@@ -45,6 +46,7 @@ - struct udev_queue { - struct udev *udev; - int refcount; -+ int fd; - }; - - /** -@@ -69,6 +71,7 @@ _public_ struct udev_queue *udev_queue_new(struct udev *udev) - - udev_queue->refcount = 1; - udev_queue->udev = udev; -+ udev_queue->fd = -1; - return udev_queue; - } - -@@ -107,6 +110,9 @@ _public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) - if (udev_queue->refcount > 0) - return NULL; - -+ if (udev_queue->fd >= 0) -+ close_nointr_nofail(udev_queue->fd); -+ - free(udev_queue); - return NULL; - } -@@ -222,3 +228,44 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu - { - return NULL; - } -+ -+/** -+ * udev_queue_get_fd: -+ * @udev_queue: udev queue context -+ * -+ * Returns: a file descriptor to watch for a queue to become empty. -+ */ -+_public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { -+ int fd; -+ int r; -+ -+ if (udev_queue->fd >= 0) -+ return udev_queue->fd; -+ -+ fd = inotify_init1(IN_CLOEXEC); -+ if (fd < 0) -+ return -errno; -+ -+ r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); -+ if (r < 0) { -+ r = -errno; -+ close(fd); -+ return r; -+ } -+ -+ udev_queue->fd = fd; -+ return fd; -+} -+ -+/** -+ * udev_queue_flush: -+ * @udev_queue: udev queue context -+ * -+ * Returns: the result of clearing the watch for queue changes. -+ */ -+_public_ int udev_queue_flush(struct udev_queue *udev_queue) { -+ if (udev_queue->fd < 0) -+ return -EINVAL; -+ -+ return flush_fd(udev_queue->fd); -+} -diff --git src/libudev/libudev.h src/libudev/libudev.h -index ceb89bd..4f2f115 100644 ---- src/libudev/libudev.h -+++ src/libudev/libudev.h -@@ -177,6 +177,8 @@ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue); - int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated)); - int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, - unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated)); -+int udev_queue_get_fd(struct udev_queue *udev_queue); -+int udev_queue_flush(struct udev_queue *udev_queue); - struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated)); - - /* -diff --git src/libudev/libudev.sym src/libudev/libudev.sym -index 1e6f885..95cd1c7 100644 ---- src/libudev/libudev.sym -+++ src/libudev/libudev.sym -@@ -82,6 +82,8 @@ global: - udev_queue_get_udev; - udev_queue_get_udev_is_active; - udev_queue_get_udev_seqnum; -+ udev_queue_get_fd; -+ udev_queue_flush; - udev_queue_new; - udev_queue_ref; - udev_queue_unref; -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 66fd843..79e8b59 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -59,7 +58,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - const char *exists = NULL; - unsigned int timeout = 120; - struct pollfd pfd[1] = { {.fd = -1}, }; -- int rc = EXIT_FAILURE, c; -+ int c; -+ struct udev_queue *queue; -+ int rc = EXIT_FAILURE; - - while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) { - switch (c) { -@@ -79,9 +80,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - break; - case 'h': - help(); -- exit(EXIT_SUCCESS); -+ return EXIT_SUCCESS; - case '?': -- exit(EXIT_FAILURE); -+ return EXIT_FAILURE; - default: - assert_not_reached("Unknown argument"); - } -@@ -89,7 +90,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - - if (optind < argc) { - fprintf(stderr, "Extraneous argument: '%s'\n", argv[optind]); -- exit(EXIT_FAILURE); -+ return EXIT_FAILURE; - } - - /* guarantee that the udev daemon isn't pre-processing */ -@@ -101,26 +102,23 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - if (udev_ctrl_send_ping(uctrl, timeout) < 0) { - log_debug("no connection to daemon"); - udev_ctrl_unref(uctrl); -- rc = EXIT_SUCCESS; -- goto out; -+ return EXIT_SUCCESS; - } - udev_ctrl_unref(uctrl); - } - } - -- pfd[0].events = POLLIN; -- pfd[0].fd = inotify_init1(IN_CLOEXEC); -- if (pfd[0].fd < 0) { -- log_error("inotify_init failed: %m"); -- goto out; -+ queue = udev_queue_new(udev); -+ if (!queue) { -+ log_error("unable to get udev queue"); -+ return EXIT_FAILURE; - } - -- if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) { -- /* If it does not exist, we don't have to wait */ -- if (errno == ENOENT) -- rc = EXIT_SUCCESS; -- else -- log_debug("watching /run/udev/queue failed"); -+ pfd[0].events = POLLIN; -+ pfd[0].fd = udev_queue_get_fd(queue); -+ if (pfd[0].fd < 0) { -+ log_debug("queue is empty, nothing to watch"); -+ rc = EXIT_SUCCESS; - goto out; - } - -@@ -131,22 +129,18 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - } - - /* exit if queue is empty */ -- if (access("/run/udev/queue", F_OK) < 0) { -+ if (udev_queue_get_queue_is_empty(queue)) { - rc = EXIT_SUCCESS; - break; - } - -- /* wake up when "queue" file is deleted */ -- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) { -- char buf[sizeof(struct inotify_event) + PATH_MAX]; -- -- read(pfd[0].fd, buf, sizeof(buf)); -- } -+ /* wake up when queue is empty */ -+ if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) -+ udev_queue_flush(queue); - } - - out: -- if (pfd[0].fd >= 0) -- close(pfd[0].fd); -+ udev_queue_unref(queue); - return rc; - } - --- -1.7.9.2 - diff --git a/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch b/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch deleted file mode 100644 index 78c1c084..00000000 --- a/1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8a7a0c19edd2d971d4aa9d635f7978af841e8278 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Fri, 27 Jun 2014 19:54:45 +0200 -Subject: [PATCH] libudev: queue - watch entire directory to allow the re-use - of the watch descriptor - ---- - src/libudev/libudev-queue.c | 2 +- - src/udev/udevadm-settle.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/libudev/libudev-queue.c src/libudev/libudev-queue.c -index d4334b4..8ef1f3d 100644 ---- src/libudev/libudev-queue.c -+++ src/libudev/libudev-queue.c -@@ -245,7 +245,7 @@ _public_ int udev_queue_get_fd(struct udev_queue *udev_queue) { - if (fd < 0) - return -errno; - -- r = inotify_add_watch(fd, "/run/udev/queue" , IN_DELETE); -+ r = inotify_add_watch(fd, "/run/udev" , IN_DELETE); - if (r < 0) { - r = -errno; - close(fd); -diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c -index 79e8b59..fa5b0c2 100644 ---- src/udev/udevadm-settle.c -+++ src/udev/udevadm-settle.c -@@ -135,7 +135,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) - } - - /* wake up when queue is empty */ -- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) -+ if (poll(pfd, 1, MSEC_PER_SEC) > 0 && pfd[0].revents & POLLIN) - udev_queue_flush(queue); - } - --- -1.7.9.2 - diff --git a/1044-rules-update-qemu-hid-rules.patch b/1044-rules-update-qemu-hid-rules.patch deleted file mode 100644 index 52741afe..00000000 --- a/1044-rules-update-qemu-hid-rules.patch +++ /dev/null @@ -1,45 +0,0 @@ -From cd31d1884f1ecf38e11bc6268f446d75dfafbc25 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 24 Mar 2014 12:07:41 +0100 -Subject: [PATCH] rules: update qemu hid rules - -Update comment to be a bit more specific. - -Change match to blacklist the serial number of the broken devices -instead of whitelisting the serial number of the fixed devices. -This allows to do something useful with the serial number in the -future. ---- - rules/42-usb-hid-pm.rules | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules -index 3fd6e8a..c675b5b 100644 ---- rules/42-usb-hid-pm.rules -+++ rules/42-usb-hid-pm.rules -@@ -2,14 +2,15 @@ - # - # Enable autosuspend for qemu emulated usb hid devices - --# Note that there are buggy qemu versions which advertise remote --# wakeup support but don't actually implement it correctly. This --# is the reason why we need a match for the serial number here. --# The serial number "42" is used to tag the implementations where -+# Note that there are buggy qemu versions (0.13 & older) which -+# advertise remote wakeup support but don't actually implement -+# it correctly. This is the reason why we need a match for the -+# serial number here. Old, broken versions have serial "1". -+# It has been changed to "42" after fixing the bug to indicate - # remote wakeup is working. --ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" --ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" --ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" - - # Catch-all for Avocent HID devices. Keyed off interface in order to only - # trigger on HID class devices. --- -1.7.9.2 - diff --git a/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch b/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch deleted file mode 100644 index cd1f72c7..00000000 --- a/1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on 52fb538361053f8c4abce0e40cd0bae3d28ceb16 Mon Sep 17 00:00:00 2001 -From: Tom Hirst -Date: Wed, 25 Jun 2014 11:57:11 +0000 -Subject: [PATCH] rules: don't enable usb pm for Avocent devices - -The Avocent KVM over IP devices doesn't work correctly with USB power -management enabled. ---- - rules/42-usb-hid-pm.rules | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git rules/42-usb-hid-pm.rules rules/42-usb-hid-pm.rules -index c675b5b..4c300da 100644 ---- rules/42-usb-hid-pm.rules -+++ rules/42-usb-hid-pm.rules -@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!= - ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" - ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" - --# Catch-all for Avocent HID devices. Keyed off interface in order to only --# trigger on HID class devices. --ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto" -- - # Dell DRAC 4 - ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto" - --- -1.7.9.2 - diff --git a/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch b/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch deleted file mode 100644 index 47fce280..00000000 --- a/1047-udev-net_setup_link-builtin-should-print-the-reason-.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 01d4590b775661ebc71c7b81b0c62ccd69395268 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Wed, 2 Jul 2014 15:13:29 +0200 -Subject: [PATCH] udev: net_setup_link builtin should print the reason why - something fails - -Let's tell users what is going wrong. ---- - src/udev/udev-builtin-net_setup_link.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c -index 3cd384e..6207269 100644 ---- src/udev/udev-builtin-net_setup_link.c -+++ src/udev/udev-builtin-net_setup_link.c -@@ -43,17 +43,17 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv - r = link_config_get(ctx, dev, &link); - if (r < 0) { - if (r == -ENOENT) { -- log_debug("No matching link configuration found"); -+ log_debug("No matching link configuration found."); - return EXIT_SUCCESS; - } else { -- log_error("Could not get link config"); -+ log_error("Could not get link config: %s", strerror(-r)); - return EXIT_FAILURE; - } - } - - r = link_config_apply(ctx, link, dev, &name); - if (r < 0) { -- log_error("Could not apply link config to %s", udev_device_get_sysname(dev)); -+ log_error("Could not apply link config to %s: %s", udev_device_get_sysname(dev), strerror(-r)); - return EXIT_FAILURE; - } - -@@ -77,18 +77,18 @@ static int builtin_net_setup_link_init(struct udev *udev) { - if (r < 0) - return r; - -- log_debug("Created link configuration context"); -+ log_debug("Created link configuration context."); - return 0; - } - - static void builtin_net_setup_link_exit(struct udev *udev) { - link_config_ctx_free(ctx); - ctx = NULL; -- log_debug("Unloaded link configuration context"); -+ log_debug("Unloaded link configuration context."); - } - - static bool builtin_net_setup_link_validate(struct udev *udev) { -- log_debug("Check if link configuration needs reloading"); -+ log_debug("Check if link configuration needs reloading."); - if (!ctx) - return false; - --- -1.7.9.2 - diff --git a/1048-udev-net_setup_link-add-a-bit-more-logging.patch b/1048-udev-net_setup_link-add-a-bit-more-logging.patch deleted file mode 100644 index 740e3c36..00000000 --- a/1048-udev-net_setup_link-add-a-bit-more-logging.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 866ee3682213789f85b877700457fdca05695a0e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 3 Jul 2014 09:57:27 +0200 -Subject: [PATCH] udev: net_setup_link - add a bit more logging - ---- - src/udev/net/link-config.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git src/udev/net/link-config.c src/udev/net/link-config.c -index 7a9d01b..b8650a6 100644 ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c -@@ -92,14 +92,20 @@ static int link_config_ctx_connect(link_config_ctx *ctx) { - - if (ctx->ethtool_fd == -1) { - r = ethtool_connect(&ctx->ethtool_fd); -- if (r < 0) -+ if (r < 0) { -+ log_warning("link_config: could not connect to ethtool: %s", -+ strerror(-r)); - return r; -+ } - } - - if (!ctx->rtnl) { - r = sd_rtnl_open(&ctx->rtnl, 0); -- if (r < 0) -+ if (r < 0) { -+ log_warning("link_config: could not connect to rtnl: %s", -+ strerror(-r)); - return r; -+ } - } - - return 0; --- -1.7.9.2 - diff --git a/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch b/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch deleted file mode 100644 index 6b3d7ec6..00000000 --- a/1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch +++ /dev/null @@ -1,36 +0,0 @@ -Based on a669ea9860900d5cdebbc4cb9aaea72db7e28a02 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 7 Jul 2014 14:50:16 +0200 -Subject: [PATCH] udev: link_config - ignore errors due to missing MAC address - -Otherwis, we get misleading error messages on links with MACs. - -Reported by Leonid Isaev. ---- - src/udev/net/link-config.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- src/udev/net/link-config.c -+++ src/udev/net/link-config.c 2014-07-08 10:44:19.450735575 +0000 -@@ -440,7 +440,9 @@ int link_config_apply(link_config_ctx *c - case MACPOLICY_PERSISTENT: - if (!mac_is_permanent(device)) { - r = get_mac(device, false, &generated_mac); -- if (r < 0) -+ if (r == -ENOENT) -+ break; -+ else if (r < 0) - return r; - mac = &generated_mac; - } -@@ -448,7 +450,9 @@ int link_config_apply(link_config_ctx *c - case MACPOLICY_RANDOM: - if (!mac_is_random(device)) { - r = get_mac(device, true, &generated_mac); -- if (r < 0) -+ if (r == -ENOENT) -+ break; -+ else if (r < 0) - return r; - mac = &generated_mac; - } diff --git a/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch b/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch deleted file mode 100644 index edab1583..00000000 --- a/1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 30632d97d9d68c8202e562f34afae8f8d6e9c377 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 15 Jul 2014 17:35:53 +0200 -Subject: [PATCH] rules: uaccess - add ID_SOFTWARE_RADIO - -On Tue, Jul 15, 2014 at 1:52 PM, Alick Zhao wrote: ->>> ->>> So maybe ID_SOFTWARE_RADIO ? ->> ->> Hmm, SDR is more a term for a generic technology than for a device ->> class. To me it does not really sound like an administrator would know ->> what this is. ->> ->> What exactly is the device or subsystem you want to make accessible to ->> locally logged-in users only? -> -> Initially it is bladeRF, but many more are of interest: USRP, rtl-sdr, -> HackRF, ... [1] -> -> I agree an administrator might not know what SDR is, since it is -> currently still not widely known, and makes sense only for amateurs -> and researchers. But as a SDR fan, I see many new SDR peripherals -> are created recently, and expect to see more. So a generic ID seems -> reasonable to me. -> -> [1] http://en.wikipedia.org/wiki/List_of_software-defined_radios ---- - src/login/70-uaccess.rules | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git src/login/70-uaccess.rules src/login/70-uaccess.rules -index 57f619d..694df2c 100644 ---- src/login/70-uaccess.rules -+++ src/login/70-uaccess.rules -@@ -72,4 +72,7 @@ ENV{DDC_DEVICE}=="?*", TAG+="uaccess" - # media player raw devices (for user-mode drivers, Android SDK, etc.) - SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess" - -+# software-defined radio communication devices -+ENV{ID_SOFTWARE_RADIO}=="?*", TAG+="uaccess" -+ - LABEL="uaccess_end" --- -1.7.9.2 - diff --git a/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch b/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch deleted file mode 100644 index ecf11ad5..00000000 --- a/1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 24 Jul 2014 23:37:35 +0200 -Subject: [PATCH] udev: exclude MD from block device ownership event locking - -MD instantiates devices at open(). This is incomptible with the -locking logic, as the "change" event emitted when stopping a -device will bring it back. ---- - src/udev/udevd.c | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index a45d324..db935d6 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -285,26 +285,17 @@ static void worker_new(struct event *event) - udev_event->exec_delay = exec_delay; - - /* -- * Take a "read lock" on the device node; this establishes -+ * Take a shared lock on the device node; this establishes - * a concept of device "ownership" to serialize device -- * access. External processes holding a "write lock" will -+ * access. External processes holding an exclusive lock will - * cause udev to skip the event handling; in the case udev -- * acquired the lock, the external process will block until -+ * acquired the lock, the external process can block until - * udev has finished its event handling. - */ -- -- /* -- * since we make check - device seems unused - we try -- * ioctl to deactivate - and device is found to be opened -- * sure, you try to take a write lock -- * if you get it udev is out -- * if you can't get it, udev is busy -- * we cannot deactivate openned device (as it is in-use) -- * maybe we should just exclude dm from that thing entirely -- * IMHO this sounds like a good plan for this moment -- */ -- if (streq_ptr("block", udev_device_get_subsystem(dev)) && -- !startswith(udev_device_get_sysname(dev), "dm-")) { -+ if (!streq_ptr(udev_device_get_action(dev), "remove") && -+ streq_ptr("block", udev_device_get_subsystem(dev)) && -+ !startswith(udev_device_get_sysname(dev), "dm-") && -+ !startswith(udev_device_get_sysname(dev), "md")) { - struct udev_device *d = dev; - - if (streq_ptr("partition", udev_device_get_devtype(d))) --- -1.7.9.2 - diff --git a/1056-udevd-add-event-timeout-commandline-option.patch b/1056-udevd-add-event-timeout-commandline-option.patch deleted file mode 100644 index 1f670688..00000000 --- a/1056-udevd-add-event-timeout-commandline-option.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 9719859c07aa13539ed2cd4b31972cd30f678543 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Tue, 29 Jul 2014 09:06:14 +0200 -Subject: [PATCH] udevd: add --event-timeout commandline option - -Some events take longer than the default 30 seconds. Killing those -events will leave the machine halfway configured. - -Add a commandline option '--event-timeout' to handle these cases. ---- - man/systemd-udevd.service.xml | 19 +++++++++++++++++++ - src/udev/udevd.c | 12 +++++++++++- - 2 files changed, 30 insertions(+), 1 deletion(-) - -diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml -index f44b7a0..8de43b1 100644 ---- man/systemd-udevd.service.xml -+++ man/systemd-udevd.service.xml -@@ -44,6 +44,7 @@ - - - -+ - - - -@@ -96,6 +97,15 @@ - - - -+ -+ -+ Wait for the event to finish up to the given -+ number of seconds. After this time the event will -+ be terminated. Default is 30. -+ -+ -+ -+ - - - Specify when systemd-udevd should resolve names of users and groups. -@@ -156,6 +166,15 @@ - - - -+ udev.event-timeout= -+ rd.udev.event-timeout= -+ -+ Wait for events to finish up to the given number -+ of seconds. This option might be useful if events are -+ terminated due to a timeout in large configurations. -+ -+ -+ - net.ifnames= - - Network interfaces are renamed to give them predictable names -diff --git src/udev/udevd.c src/udev/udevd.c -index db935d6..c5dd739 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,6 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; -+static int event_timeout = 30; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -312,6 +313,9 @@ static void worker_new(struct event *event) - } - } - -+ if (event_timeout != 30) -+ udev_event->timeout_usec = event_timeout * USEC_PER_SEC; -+ - /* apply rules, create node, symlinks */ - udev_event_execute_rules(udev_event, rules, &sigmask_orig); - -@@ -1009,6 +1013,8 @@ static void kernel_cmdline_options(struct udev *udev) - children_max = strtoul(opt + 18, NULL, 0); - } else if (startswith(opt, "udev.exec-delay=")) { - exec_delay = strtoul(opt + 16, NULL, 0); -+ } else if (startswith(opt, "udev.event-timeout=")) { -+ event_timeout = strtoul(opt + 16, NULL, 0); - } - - free(s); -@@ -1026,6 +1032,7 @@ int main(int argc, char *argv[]) - { "debug", no_argument, NULL, 'D' }, - { "children-max", required_argument, NULL, 'c' }, - { "exec-delay", required_argument, NULL, 'e' }, -+ { "event-timeout", required_argument, NULL, 't' }, - { "resolve-names", required_argument, NULL, 'N' }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, -@@ -1069,6 +1076,9 @@ int main(int argc, char *argv[]) - case 'e': - exec_delay = strtoul(optarg, NULL, 0); - break; -+ case 't': -+ event_timeout = strtoul(optarg, NULL, 0); -+ break; - case 'D': - debug = true; - log_set_max_level(LOG_DEBUG); -@@ -1406,7 +1416,7 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { - log_error("worker [%u] %s timeout; kill it", worker->pid, - worker->event ? worker->event->devpath : ""); - kill(worker->pid, SIGKILL); --- -1.7.9.2 - diff --git a/1057-udev-unify-event-timeout-handling.patch b/1057-udev-unify-event-timeout-handling.patch deleted file mode 100644 index 9aa819b6..00000000 --- a/1057-udev-unify-event-timeout-handling.patch +++ /dev/null @@ -1,504 +0,0 @@ -From dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 29 Jul 2014 15:18:27 +0200 -Subject: [PATCH] udev: unify event timeout handling - ---- - man/systemd-udevd.service.xml | 7 +++--- - man/udev.xml | 7 ------ - src/test/test-udev.c | 5 ++-- - src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- - src/udev/udev-rules.c | 38 ++++++++--------------------- - src/udev/udev.h | 8 +++---- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 32 ++++++++++--------------- - 8 files changed, 61 insertions(+), 91 deletions(-) - -diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml -index 8de43b1..3053dc7 100644 ---- man/systemd-udevd.service.xml -+++ man/systemd-udevd.service.xml -@@ -99,9 +99,8 @@ - - - -- Wait for the event to finish up to the given -- number of seconds. After this time the event will -- be terminated. Default is 30. -+ Set the number of seconds to wait for events to finish. After -+ this time the event will be terminated. The default is 30 seconds. - - - -@@ -171,7 +170,7 @@ - - Wait for events to finish up to the given number - of seconds. This option might be useful if events are -- terminated due to a timeout in large configurations. -+ terminated due to kernel drivers taking too long to initialize. - - - -diff --git man/udev.xml man/udev.xml -index 4e5f8f0..123c073 100644 ---- man/udev.xml -+++ man/udev.xml -@@ -516,13 +516,6 @@ - - - -- -- -- Number of seconds an event waits for operations to finish before -- giving up and terminating itself. -- -- -- - - - Usually control and other possibly unsafe characters are replaced -diff --git src/test/test-udev.c src/test/test-udev.c -index b057cc8..26d6537 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -80,7 +80,6 @@ out: - return err; - } - -- - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_event_unref_ struct udev_event *event = NULL; -@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -- udev_event_execute_run(event, NULL); -+ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 5213a4a..6ad80d5 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) - udev_list_init(udev, &event->seclabel_list, false); - event->fd_signal = -1; - event->birth_usec = now(CLOCK_MONOTONIC); -- event->timeout_usec = 30 * 1000 * 1000; - return event; - } - -@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, - } - - static void spawn_read(struct udev_event *event, -- const char *cmd, -- int fd_stdout, int fd_stderr, -- char *result, size_t ressize) -+ usec_t timeout_usec, -+ const char *cmd, -+ int fd_stdout, int fd_stderr, -+ char *result, size_t ressize) - { - size_t respos = 0; - int fd_ep = -1; -@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, - struct epoll_event ev[4]; - int i; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) { -+ if (age_usec >= timeout_usec) { - log_error("timeout '%s'", cmd); - goto out; - } -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -543,8 +543,9 @@ out: - close(fd_ep); - } - --static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) --{ -+static int spawn_wait(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; - -@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) - int timeout; - int fdcount; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) -+ if (age_usec >= timeout_usec) - timeout = 1000; - else -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -657,9 +658,9 @@ out: - } - - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, -- char *result, size_t ressize) --{ -+ char *result, size_t ressize) { - struct udev *udev = event->udev; - int outpipe[2] = {-1, -1}; - int errpipe[2] = {-1, -1}; -@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, - errpipe[WRITE_END] = -1; - } - -- spawn_read(event, cmd, -- outpipe[READ_END], errpipe[READ_END], -- result, ressize); -+ spawn_read(event, -+ timeout_usec, -+ cmd, -+ outpipe[READ_END], errpipe[READ_END], -+ result, ressize); - -- err = spawn_wait(event, cmd, pid); -+ err = spawn_wait(event, timeout_usec, cmd, pid); - } - - out: -@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) - return r; - } - --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) --{ -+void udev_event_execute_rules(struct udev_event *event, -+ usec_t timeout_usec, -+ struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - - if (udev_device_get_subsystem(dev) == NULL) -@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - udev_watch_end(event->udev, event->dev_db); - } - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - } - } - --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) --{ -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9864016..aacde38 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -137,7 +137,6 @@ enum token_type { - TK_M_PARENTS_MAX, - - TK_M_TEST, /* val, mode_t */ -- TK_M_EVENT_TIMEOUT, /* int */ - TK_M_PROGRAM, /* val */ - TK_M_IMPORT_FILE, /* val */ - TK_M_IMPORT_PROG, /* val */ -@@ -201,7 +200,6 @@ struct token { - uid_t uid; - gid_t gid; - int devlink_prio; -- int event_timeout; - int watch; - enum udev_builtin_cmd builtin_cmd; - }; -@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) - [TK_M_PARENTS_MAX] = "M PARENTS_MAX", - - [TK_M_TEST] = "M TEST", -- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", - [TK_M_PROGRAM] = "M PROGRAM", - [TK_M_IMPORT_FILE] = "M IMPORT_FILE", - [TK_M_IMPORT_PROG] = "M IMPORT_PROG", -@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) - case TK_A_SECLABEL: - log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); - break; -- case TK_M_EVENT_TIMEOUT: -- log_debug("%s %u", token_str(type), token->key.event_timeout); -- break; - case TK_A_GOTO: - log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); - break; -@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - return 0; - } - --static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) --{ -+static int import_program_into_properties(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; - char result[UTIL_LINE_SIZE]; -@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, - case TK_A_MODE_ID: - token->key.mode = *(mode_t *)data; - break; -- case TK_M_EVENT_TIMEOUT: -- token->key.event_timeout = *(int *)data; -- break; - case TK_RULE: - case TK_M_PARENTS_MIN: - case TK_M_PARENTS_MAX: -@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, - rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); - } - -- pos = strstr(value, "event_timeout="); -- if (pos != NULL) { -- int tout = atoi(&pos[strlen("event_timeout=")]); -- -- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); -- } -- -- pos = strstr(value, "string_escape="); - if (pos != NULL) { - pos = &pos[strlen("string_escape=")]; - if (startswith(pos, "none")) -@@ -1829,8 +1813,10 @@ enum escape_type { - ESCAPE_REPLACE, - }; - --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) --{ -+int udev_rules_apply_to_event(struct udev_rules *rules, -+ struct udev_event *event, -+ usec_t timeout_usec, -+ const sigset_t *sigmask) { - struct token *cur; - struct token *rule; - enum escape_type esc = ESCAPE_UNSET; -@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - goto nomatch; - break; - } -- case TK_M_EVENT_TIMEOUT: -- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); -- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; -- break; - case TK_M_PROGRAM: { - char program[UTIL_PATH_SIZE]; - char **envp; -@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index 62538bc..4aca70b 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -43,7 +43,6 @@ struct udev_event { - struct udev_list run_list; - int exec_delay; - usec_t birth_usec; -- usec_t timeout_usec; - int fd_signal; - unsigned int builtin_run; - unsigned int builtin_ret; -@@ -72,7 +71,7 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * - int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 6a2f548..52cc26c 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - goto out; - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); -diff --git src/udev/udevd.c src/udev/udevd.c -index c5dd739..dee7a87 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,7 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static int event_timeout = 30; -+static usec_t event_timeout_usec = 30 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -313,13 +313,10 @@ static void worker_new(struct event *event) - } - } - -- if (event_timeout != 30) -- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; -- - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) - } else if (startswith(opt, "udev.exec-delay=")) { - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { -- event_timeout = strtoul(opt + 16, NULL, 0); -+ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; - } - - free(s); - } - } - --int main(int argc, char *argv[]) --{ -+int main(int argc, char *argv[]) { - struct udev *udev; - sigset_t mask; - int daemonize = false; -@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) - exec_delay = strtoul(optarg, NULL, 0); - break; - case 't': -- event_timeout = strtoul(optarg, NULL, 0); -+ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; - break; - case 'D': - debug = true; -@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) - " --debug\n" - " --children-max=\n" - " --exec-delay=\n" -+ " --event-timeout=\n" - " --resolve-names=early|late|never\n" - " --version\n" - " --help\n" -@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, -- worker->event ? worker->event->devpath : ""); -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; - - /* drop reference taken for state 'running' */ - worker_unref(worker); -- if (worker->event) { -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event); -- worker->event = NULL; -- } -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event); -+ worker->event = NULL; - } - } - --- -1.7.9.2 - diff --git a/1058-udev-unify-event-timeout-handling.patch b/1058-udev-unify-event-timeout-handling.patch deleted file mode 100644 index a92d15f7..00000000 --- a/1058-udev-unify-event-timeout-handling.patch +++ /dev/null @@ -1,504 +0,0 @@ -Based on dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 29 Jul 2014 15:18:27 +0200 -Subject: [PATCH] udev: unify event timeout handling - ---- - man/systemd-udevd.service.xml | 7 +++--- - man/udev.xml | 7 ------ - src/test/test-udev.c | 5 ++-- - src/udev/udev-event.c | 53 ++++++++++++++++++++++------------------- - src/udev/udev-rules.c | 38 ++++++++--------------------- - src/udev/udev.h | 8 +++---- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 32 ++++++++++--------------- - 8 files changed, 61 insertions(+), 91 deletions(-) - -diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml -index 8de43b1..3053dc7 100644 ---- man/systemd-udevd.service.xml -+++ man/systemd-udevd.service.xml -@@ -99,9 +99,8 @@ - - - -- Wait for the event to finish up to the given -- number of seconds. After this time the event will -- be terminated. Default is 30. -+ Set the number of seconds to wait for events to finish. After -+ this time the event will be terminated. The default is 30 seconds. - - - -@@ -171,7 +170,7 @@ - - Wait for events to finish up to the given number - of seconds. This option might be useful if events are -- terminated due to a timeout in large configurations. -+ terminated due to kernel drivers taking too long to initialize. - - - -diff --git man/udev.xml man/udev.xml -index 4e5f8f0..123c073 100644 ---- man/udev.xml -+++ man/udev.xml -@@ -516,13 +516,6 @@ - - - -- -- -- Number of seconds an event waits for operations to finish before -- giving up and terminating itself. -- -- -- - - - Usually control and other possibly unsafe characters are replaced -diff --git src/test/test-udev.c src/test/test-udev.c -index b057cc8..26d6537 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -80,7 +80,6 @@ out: - return err; - } - -- - int main(int argc, char *argv[]) { - _cleanup_udev_unref_ struct udev *udev = NULL; - _cleanup_udev_event_unref_ struct udev_event *event = NULL; -@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -- udev_event_execute_run(event, NULL); -+ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 5213a4a..6ad80d5 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev) - udev_list_init(udev, &event->seclabel_list, false); - event->fd_signal = -1; - event->birth_usec = now(CLOCK_MONOTONIC); -- event->timeout_usec = 30 * 1000 * 1000; - return event; - } - -@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event, - } - - static void spawn_read(struct udev_event *event, -- const char *cmd, -- int fd_stdout, int fd_stderr, -- char *result, size_t ressize) -+ usec_t timeout_usec, -+ const char *cmd, -+ int fd_stdout, int fd_stderr, -+ char *result, size_t ressize) - { - size_t respos = 0; - int fd_ep = -1; -@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event, - struct epoll_event ev[4]; - int i; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) { -+ if (age_usec >= timeout_usec) { - log_error("timeout '%s'", cmd); - goto out; - } -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -543,8 +543,9 @@ out: - close(fd_ep); - } - --static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) --{ -+static int spawn_wait(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; - -@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid) - int timeout; - int fdcount; - -- if (event->timeout_usec > 0) { -+ if (timeout_usec > 0) { - usec_t age_usec; - - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; -- if (age_usec >= event->timeout_usec) -+ if (age_usec >= timeout_usec) - timeout = 1000; - else -- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000; -+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; - } else { - timeout = -1; - } -@@ -657,9 +658,9 @@ out: - } - - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, -- char *result, size_t ressize) --{ -+ char *result, size_t ressize) { - struct udev *udev = event->udev; - int outpipe[2] = {-1, -1}; - int errpipe[2] = {-1, -1}; -@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event, - errpipe[WRITE_END] = -1; - } - -- spawn_read(event, cmd, -- outpipe[READ_END], errpipe[READ_END], -- result, ressize); -+ spawn_read(event, -+ timeout_usec, -+ cmd, -+ outpipe[READ_END], errpipe[READ_END], -+ result, ressize); - -- err = spawn_wait(event, cmd, pid); -+ err = spawn_wait(event, timeout_usec, cmd, pid); - } - - out: -@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event) - return r; - } - --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) --{ -+void udev_event_execute_rules(struct udev_event *event, -+ usec_t timeout_usec, -+ struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - - if (udev_device_get_subsystem(dev) == NULL) -@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - udev_watch_end(event->udev, event->dev_db); - } - -- udev_rules_apply_to_event(rules, event, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules - } - } - --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) --{ -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9864016..aacde38 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -137,7 +137,6 @@ enum token_type { - TK_M_PARENTS_MAX, - - TK_M_TEST, /* val, mode_t */ -- TK_M_EVENT_TIMEOUT, /* int */ - TK_M_PROGRAM, /* val */ - TK_M_IMPORT_FILE, /* val */ - TK_M_IMPORT_PROG, /* val */ -@@ -201,7 +200,6 @@ struct token { - uid_t uid; - gid_t gid; - int devlink_prio; -- int event_timeout; - int watch; - enum udev_builtin_cmd builtin_cmd; - }; -@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type) - [TK_M_PARENTS_MAX] = "M PARENTS_MAX", - - [TK_M_TEST] = "M TEST", -- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT", - [TK_M_PROGRAM] = "M PROGRAM", - [TK_M_IMPORT_FILE] = "M IMPORT_FILE", - [TK_M_IMPORT_PROG] = "M IMPORT_PROG", -@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) - case TK_A_SECLABEL: - log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value); - break; -- case TK_M_EVENT_TIMEOUT: -- log_debug("%s %u", token_str(type), token->key.event_timeout); -- break; - case TK_A_GOTO: - log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto); - break; -@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - return 0; - } - --static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask) --{ -+static int import_program_into_properties(struct udev_event *event, -+ usec_t timeout_usec, -+ const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; - char result[UTIL_LINE_SIZE]; -@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char * - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, - case TK_A_MODE_ID: - token->key.mode = *(mode_t *)data; - break; -- case TK_M_EVENT_TIMEOUT: -- token->key.event_timeout = *(int *)data; -- break; - case TK_RULE: - case TK_M_PARENTS_MIN: - case TK_M_PARENTS_MAX: -@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line, - rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); - } - -- pos = strstr(value, "event_timeout="); -- if (pos != NULL) { -- int tout = atoi(&pos[strlen("event_timeout=")]); -- -- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout); -- } -- -- pos = strstr(value, "string_escape="); - if (pos != NULL) { - pos = &pos[strlen("string_escape=")]; - if (startswith(pos, "none")) -@@ -1829,8 +1813,10 @@ enum escape_type { - ESCAPE_REPLACE, - }; - --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask) --{ -+int udev_rules_apply_to_event(struct udev_rules *rules, -+ struct udev_event *event, -+ usec_t timeout_usec, -+ const sigset_t *sigmask) { - struct token *cur; - struct token *rule; - enum escape_type esc = ESCAPE_UNSET; -@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - goto nomatch; - break; - } -- case TK_M_EVENT_TIMEOUT: -- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout); -- event->timeout_usec = cur->key.event_timeout * 1000 * 1000; -- break; - case TK_M_PROGRAM: { - char program[UTIL_PATH_SIZE]; - char **envp; -@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index 62538bc..4aca70b 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -43,7 +43,6 @@ struct udev_event { - struct udev_list run_list; - int exec_delay; - usec_t birth_usec; -- usec_t timeout_usec; - int fd_signal; - unsigned int builtin_run; - unsigned int builtin_ret; -@@ -72,7 +71,7 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char * - int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, -+ usec_t timeout_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 6a2f548..52cc26c 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) - goto out; - } - -- udev_event_execute_rules(event, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); -diff --git src/udev/udevd.c src/udev/udevd.c -index c5dd739..dee7a87 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,7 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static int event_timeout = 30; -+static usec_t event_timeout_usec = 30 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -313,13 +313,10 @@ static void worker_new(struct event *event) - } - } - -- if (event_timeout != 30) -- udev_event->timeout_usec = event_timeout * USEC_PER_SEC; -- - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev) - } else if (startswith(opt, "udev.exec-delay=")) { - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { -- event_timeout = strtoul(opt + 16, NULL, 0); -+ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; - } - - free(s); - } - } - --int main(int argc, char *argv[]) --{ -+int main(int argc, char *argv[]) { - struct udev *udev; - sigset_t mask; - int daemonize = false; -@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[]) - exec_delay = strtoul(optarg, NULL, 0); - break; - case 't': -- event_timeout = strtoul(optarg, NULL, 0); -+ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; - break; - case 'D': - debug = true; -@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[]) - " --debug\n" - " --children-max=\n" - " --exec-delay=\n" -+ " --event-timeout=\n" - " --resolve-names=early|late|never\n" - " --version\n" - " --help\n" -@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, -- worker->event ? worker->event->devpath : ""); -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; - - /* drop reference taken for state 'running' */ - worker_unref(worker); -- if (worker->event) { -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event, true); -- worker->event = NULL; -- } -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event, true); -+ worker->event = NULL; - } - } - --- -1.7.9.2 - diff --git a/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch b/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch deleted file mode 100644 index 62d5d665..00000000 --- a/1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9f20a8a376f924c8eb5423cfc1f98644fc1e2d1a Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Wed, 30 Jul 2014 10:10:46 +0200 -Subject: [PATCH] udev: fixup commit dd5eddd28a74a49607a8fffcaf960040dba98479 - -Commit dd5eddd28a74a49607a8fffcaf960040dba98479 accidentally -removed one line too many. ---- - src/udev/udev-rules.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 59bc124..cc56215 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -1436,6 +1436,7 @@ static int add_rule(struct udev_rules *rules, char *line, - rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio); - } - -+ pos = strstr(value, "string_escape="); - if (pos != NULL) { - pos = &pos[strlen("string_escape=")]; - if (startswith(pos, "none")) --- -1.7.9.2 - diff --git a/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch b/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch deleted file mode 100644 index 20d064f8..00000000 --- a/1061-rules-allow-systemd-to-manage-loop-device-partitions.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b5df2eabf3fdd3e1663bc4c948812472084f3e96 Mon Sep 17 00:00:00 2001 -From: Kevin Wells -Date: Thu, 31 Jul 2014 17:38:21 +0200 -Subject: [PATCH] rules: allow systemd to manage loop device partitions - -SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*) -that do not have a backing_file. Partitioned loop devices (ex. loop0p1), -however, are matched by this rule and excluded by systemd even though -they are active devices. - -This change adds an additional check to the rule, ensuring that only -top level loop devices (loop[0-9]+$) are excluded from systemd. ---- - rules/99-systemd.rules.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git rules/99-systemd.rules.in rules/99-systemd.rules.in -index c3ef81b..aa435c4 100644 ---- rules/99-systemd.rules.in -+++ rules/99-systemd.rules.in -@@ -23,7 +23,7 @@ SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", - SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" - - # Ignore loop devices that don't have any file attached --SUBSYSTEM=="block", KERNEL=="loop[0-9]*", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" -+SUBSYSTEM=="block", KERNEL=="loop[0-9]*", ENV{DEVTYPE}=="disk", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" - - # Ignore nbd devices in the "add" event, with "change" the nbd is ready - ACTION=="add", SUBSYSTEM=="block", KERNEL=="nbd*", ENV{SYSTEMD_READY}="0" --- -1.7.9.2 - diff --git a/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch b/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch deleted file mode 100644 index 06966c4c..00000000 --- a/1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch +++ /dev/null @@ -1,96 +0,0 @@ -Based on e98bbfd2074e2b1079b7059341eac25741baf319 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Mon, 4 Aug 2014 18:15:34 +0200 -Subject: [PATCH] udev: path_id - suppress ID_PATH for devices with an unknown - parent device type - -https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1321816 ---- - src/udev/udev-builtin-path_id.c | 38 +++++++++++++++++++++++++++----------- - 1 file changed, 27 insertions(+), 11 deletions(-) - ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c 2014-08-22 14:08:59.250235369 +0000 -@@ -524,7 +524,8 @@ static int builtin_path_id(struct udev_d - { - struct udev_device *parent; - char *path = NULL; -- bool some_transport = false; -+ bool supported_transport = false; -+ bool supported_parent = false; - - /* S390 ccw bus */ - parent = udev_device_get_parent_with_subsystem_devtype(dev, "ccw", NULL); -@@ -545,47 +546,62 @@ static int builtin_path_id(struct udev_d - handle_scsi_tape(parent, &path); - } else if (streq(subsys, "scsi")) { - parent = handle_scsi(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "cciss")) { - parent = handle_cciss(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "usb")) { - parent = handle_usb(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "bcma")) { - parent = handle_bcma(parent, &path); -- some_transport = true; -+ supported_transport = true; - } else if (streq(subsys, "serio")) { - path_prepend(&path, "serio-%s", udev_device_get_sysnum(parent)); - parent = skip_subsystem(parent, "serio"); - } else if (streq(subsys, "pci")) { - path_prepend(&path, "pci-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "pci"); -+ supported_parent = true; - } else if (streq(subsys, "platform")) { - path_prepend(&path, "platform-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "platform"); -- some_transport = true; -+ supported_transport = true; -+ supported_parent = true; - } else if (streq(subsys, "acpi")) { - path_prepend(&path, "acpi-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "acpi"); -+ supported_parent = true; - } else if (streq(subsys, "xen")) { - path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "xen"); -+ supported_parent = true; - } else if (streq(subsys, "scm")) { - path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "scm"); -- some_transport = true; -+ supported_transport = true; -+ supported_parent = true; - } - - parent = udev_device_get_parent(parent); - } - - /* -- * Do not return a single-parent-device-only for block -- * devices, they might have entire buses behind it which -- * do not get unique IDs only by using the parent device. -+ * Do return devices with have an unknown type of parent device, they -+ * might produce conflicting IDs below multiple independent parent -+ * devices. - */ -- if (!some_transport && streq(udev_device_get_subsystem(dev), "block")) { -+ if (!supported_parent) { -+ free(path); -+ path = NULL; -+ } -+ -+ /* -+ * Do not return a have-only a single-parent block devices, some -+ * have entire hidden buses behind it, and not create predictable -+ * IDs that way. -+ */ -+ if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { - free(path); - path = NULL; - } diff --git a/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch b/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch deleted file mode 100644 index 07755c04..00000000 --- a/1064-udev-hwdb-do-not-look-at-usb_device-parents.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 77cf759ea05bea476cdcb8d0dcd04c4e6fb3b2ff Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 26 Aug 2014 18:27:36 +0200 -Subject: [PATCH] udev: hwdb - do not look at "usb_device" parents - -Based on a patch from Simon McVittie . - -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758050 ---- - src/udev/udev-builtin-hwdb.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git src/udev/udev-builtin-hwdb.c src/udev/udev-builtin-hwdb.c -index cac97e7..695a31a 100644 ---- src/udev/udev-builtin-hwdb.c -+++ src/udev/udev-builtin-hwdb.c -@@ -88,9 +88,10 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device - const char *filter, bool test) { - struct udev_device *d; - char s[16]; -- int n = 0; -+ bool last = false; -+ int r = 0; - -- for (d = srcdev; d; d = udev_device_get_parent(d)) { -+ for (d = srcdev; d && !last; d = udev_device_get_parent(d)) { - const char *dsubsys; - const char *modalias = NULL; - -@@ -104,19 +105,24 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device - - modalias = udev_device_get_property_value(d, "MODALIAS"); - -- /* the usb_device does not have a modalias, compose one */ -- if (!modalias && streq(dsubsys, "usb")) -- modalias = modalias_usb(d, s, sizeof(s)); -+ if (streq(dsubsys, "usb") && streq_ptr(udev_device_get_devtype(d), "usb_device")) { -+ /* if the usb_device does not have a modalias, compose one */ -+ if (!modalias) -+ modalias = modalias_usb(d, s, sizeof(s)); -+ -+ /* avoid looking at any parent device, they are usually just a USB hub */ -+ last = true; -+ } - - if (!modalias) - continue; - -- n = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); -- if (n > 0) -+ r = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); -+ if (r > 0) - break; - } - -- return n; -+ return r; - } - - static int builtin_hwdb(struct udev_device *dev, int argc, char *argv[], bool test) { --- -1.7.9.2 - diff --git a/1065-udev-bump-event-timeout-to-60-seconds.patch b/1065-udev-bump-event-timeout-to-60-seconds.patch deleted file mode 100644 index aae4da95..00000000 --- a/1065-udev-bump-event-timeout-to-60-seconds.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 2e92633dbae52f5ac9b7b2e068935990d475d2cd Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 30 Aug 2014 11:36:32 +0200 -Subject: [PATCH] udev: bump event timeout to 60 seconds - ---- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 8486049..809adb6 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { - goto out; - } - -- udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); -diff --git src/udev/udevd.c src/udev/udevd.c -index 9c2b0d5..e72c5b2 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -73,7 +73,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static usec_t event_timeout_usec = 30 * USEC_PER_SEC; -+static usec_t event_timeout_usec = 60 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); --- -1.7.9.2 - diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch index 3bb4d407..e08ad9f8 100644 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch @@ -18,8 +18,10 @@ Signed-off-by: Jeff Mahoney src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ 4 files changed, 32 insertions(+), 7 deletions(-) ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules +Index: systemd/rules/60-persistent-storage.rules +=================================================================== +--- systemd.orig/rules/60-persistent-storage.rules ++++ systemd/rules/60-persistent-storage.rules @@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" @@ -31,9 +33,11 @@ Signed-off-by: Jeff Mahoney # firewire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" ---- a/src/udev/scsi_id/scsi_id.c -+++ b/src/udev/scsi_id/scsi_id.c -@@ -44,6 +44,7 @@ static const struct option options[] = { +Index: systemd/src/udev/scsi_id/scsi_id.c +=================================================================== +--- systemd.orig/src/udev/scsi_id/scsi_id.c ++++ systemd/src/udev/scsi_id/scsi_id.c +@@ -43,6 +43,7 @@ static const struct option options[] = { { "replace-whitespace", no_argument, NULL, 'u' }, { "sg-version", required_argument, NULL, 's' }, { "verbose", no_argument, NULL, 'v' }, @@ -41,24 +45,24 @@ Signed-off-by: Jeff Mahoney { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ { "export", no_argument, NULL, 'x' }, { "help", no_argument, NULL, 'h' }, -@@ -56,6 +57,7 @@ static char config_file[MAX_PATH_LEN] = +@@ -54,6 +55,7 @@ static bool dev_specified = false; + static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config"; static enum page_code default_page_code = PAGE_UNSPECIFIED; static int sg_version = 4; - static int debug = 0; +static bool compat_truncated = false; static bool reformat_serial = false; static bool export = false; static char vendor_str[64]; -@@ -323,6 +325,7 @@ static void help(void) { - " -g,--whitelisted threat device as whitelisted\n" - " -u,--replace-whitespace replace all whitespace by underscores\n" - " -v,--verbose verbose logging\n" +@@ -316,6 +318,7 @@ static void help(void) { + " -g --whitelisted Treat device as whitelisted\n" + " -u --replace-whitespace Replace all whitespace by underscores\n" + " -v --verbose Verbose logging\n" + " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" - " --version print version\n" - " -x,--export print values as environment keys\n" - " -h,--help print this help text\n\n"); -@@ -393,6 +396,10 @@ static int set_options(struct udev *udev - debug++; + " -x --export Print values as environment keys\n" + , program_invocation_short_name); + +@@ -387,6 +390,10 @@ static int set_options(struct udev *udev + log_open(); break; + case '9': @@ -68,7 +72,7 @@ Signed-off-by: Jeff Mahoney case 'V': printf("%s\n", VERSION); exit(0); -@@ -535,6 +542,9 @@ static int scsi_id(struct udev *udev, ch +@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); util_replace_chars(serial_str, NULL); printf("ID_SERIAL=%s\n", serial_str); @@ -78,7 +82,7 @@ Signed-off-by: Jeff Mahoney util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); util_replace_chars(serial_str, NULL); printf("ID_SERIAL_SHORT=%s\n", serial_str); -@@ -565,7 +575,10 @@ static int scsi_id(struct udev *udev, ch +@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch if (reformat_serial) { char serial_str[MAX_SERIAL_LEN]; @@ -90,8 +94,10 @@ Signed-off-by: Jeff Mahoney util_replace_chars(serial_str, NULL); printf("%s\n", serial_str); goto out; ---- a/src/udev/scsi_id/scsi_id.h -+++ b/src/udev/scsi_id/scsi_id.h +Index: systemd/src/udev/scsi_id/scsi_id.h +=================================================================== +--- systemd.orig/src/udev/scsi_id/scsi_id.h ++++ systemd/src/udev/scsi_id/scsi_id.h @@ -43,6 +43,7 @@ struct scsi_id_device { char kernel[64]; char serial[MAX_SERIAL_LEN]; @@ -100,9 +106,11 @@ Signed-off-by: Jeff Mahoney int use_sg; /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ ---- a/src/udev/scsi_id/scsi_serial.c -+++ b/src/udev/scsi_id/scsi_serial.c -@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a +Index: systemd/src/udev/scsi_id/scsi_serial.c +=================================================================== +--- systemd.orig/src/udev/scsi_id/scsi_serial.c ++++ systemd/src/udev/scsi_id/scsi_serial.c +@@ -96,7 +96,8 @@ static const char hex_str[]="0123456789a static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -112,7 +120,7 @@ Signed-off-by: Jeff Mahoney static int sg_err_category_new(struct udev *udev, int scsi_status, int msg_status, int -@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct +@@ -619,7 +620,7 @@ static int do_scsi_page83_inquiry(struct unsigned char page_83[SCSI_INQ_BUFF_LEN]; /* also pick up the page 80 serial number */ @@ -121,7 +129,7 @@ Signed-off-by: Jeff Mahoney memzero(page_83, SCSI_INQ_BUFF_LEN); retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir +@@ -764,7 +765,8 @@ static int do_scsi_page83_prespc3_inquir /* Get unit serial number VPD page */ static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -131,7 +139,7 @@ Signed-off-by: Jeff Mahoney { int retval; int ser_ind; -@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct +@@ -798,9 +800,14 @@ static int do_scsi_page80_inquiry(struct ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); if (ser_ind < 0) return 1; @@ -147,7 +155,7 @@ Signed-off-by: Jeff Mahoney } if (serial_short != NULL) { memcpy(serial_short, &buf[4], len); -@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, +@@ -876,7 +883,7 @@ int scsi_get_serial(struct udev *udev, return 1; if (page_code == PAGE_80) { @@ -156,7 +164,7 @@ Signed-off-by: Jeff Mahoney retval = 1; goto completed; } else { -@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, +@@ -950,7 +957,7 @@ int scsi_get_serial(struct udev *udev, for (ind = 4; ind <= page0[3] + 3; ind++) if (page0[ind] == PAGE_80) if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, diff --git a/1067-udev-always-resolve-correctly-database-names-on-chan.patch b/1067-udev-always-resolve-correctly-database-names-on-chan.patch deleted file mode 100644 index 9fdc9c68..00000000 --- a/1067-udev-always-resolve-correctly-database-names-on-chan.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 368082520b25722575783f06879fb5fc2e4c219c Mon Sep 17 00:00:00 2001 -From: Robert Milasan -Date: Sat, 13 Sep 2014 15:18:37 +0200 -Subject: [PATCH] udev: always resolve correctly database names on 'change' - event - -Signed-off-by: Robert Milasan ---- - src/libudev/libudev-device.c | 2 +- - src/libudev/libudev-private.h | 1 + - src/udev/udev-event.c | 1 + - 3 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c -index d61a2ad..2699374 100644 ---- a/src/libudev/libudev-device.c -+++ b/src/libudev/libudev-device.c -@@ -161,7 +161,7 @@ _public_ dev_t udev_device_get_devnum(struct udev_device *udev_device) - return udev_device->devnum; - } - --static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) -+int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) - { - char num[32]; - -diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h -index 35ea7ba..05a6410 100644 ---- a/src/libudev/libudev-private.h -+++ b/src/libudev/libudev-private.h -@@ -59,6 +59,7 @@ uid_t udev_device_get_devnode_uid(struct udev_device *udev_device); - gid_t udev_device_get_devnode_gid(struct udev_device *udev_device); - int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); - int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); -+int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum); - int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); - void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); - struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value); -diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c -index e8d6676..2cf0763 100644 ---- a/src/udev/udev-event.c -+++ b/src/udev/udev-event.c -@@ -812,6 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, - if (event->dev_db != NULL) { - udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); - udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); -+ udev_device_set_devnum(event->dev_db, udev_device_get_devnum(dev)); - udev_device_read_db(event->dev_db, NULL); - udev_device_set_info_loaded(event->dev_db); - --- -1.8.4.5 - diff --git a/1068-udev-net_setup_link-export-the-.link-filename-applie.patch b/1068-udev-net_setup_link-export-the-.link-filename-applie.patch deleted file mode 100644 index e0f7039c..00000000 --- a/1068-udev-net_setup_link-export-the-.link-filename-applie.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ad6e5b348fa88f44d6cbfe7aabda7612a1d0463f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 8 Sep 2014 14:00:58 +0200 -Subject: [PATCH] udev: net_setup_link - export the .link filename applied to - the link - ---- - src/udev/udev-builtin-net_setup_link.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git src/udev/udev-builtin-net_setup_link.c src/udev/udev-builtin-net_setup_link.c -index 6207269..14351de 100644 ---- src/udev/udev-builtin-net_setup_link.c -+++ src/udev/udev-builtin-net_setup_link.c -@@ -57,6 +57,8 @@ static int builtin_net_setup_link(struct udev_device *dev, int argc, char **argv - return EXIT_FAILURE; - } - -+ udev_builtin_add_property(dev, test, "ID_NET_LINK_FILE", link->filename); -+ - if (name) - udev_builtin_add_property(dev, test, "ID_NET_NAME", name); - --- -1.7.9.2 - diff --git a/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch b/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch deleted file mode 100644 index 7f7d24aa..00000000 --- a/1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e4d7c49050769877c7f10184bbe2a1e77d0b5333 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 8 Sep 2014 17:16:24 +0200 -Subject: [PATCH] rules: net-setup-link - preserve ID_NET_LINK_FILE and - ID_NET_NAME after MOVE - ---- - rules/80-net-setup-link.rules | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules -index f390fcb..27c43b9 100644 ---- rules/80-net-setup-link.rules -+++ rules/80-net-setup-link.rules -@@ -4,7 +4,8 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" - - IMPORT{builtin}="path_id" - --ACTION=="move", IMPORT{db}="ID_NET_DRIVER" -+ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", -+IMPORT{db}="ID_NET_NAME" - - ACTION!="add", GOTO="net_setup_link_end" - --- -1.7.9.2 - diff --git a/1070-rules-net-setup-link-remove-stray-linebreak.patch b/1070-rules-net-setup-link-remove-stray-linebreak.patch deleted file mode 100644 index f389aa8c..00000000 --- a/1070-rules-net-setup-link-remove-stray-linebreak.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 52e231b04635400292179cf51b30d7d9b6323fb2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= -Date: Mon, 8 Sep 2014 22:53:39 +0300 -Subject: [PATCH] rules: net-setup-link - remove stray linebreak - -If not backslash-escaped, it splits the rule in two. ---- - rules/80-net-setup-link.rules | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules -index 27c43b9..4207694 100644 ---- rules/80-net-setup-link.rules -+++ rules/80-net-setup-link.rules -@@ -4,8 +4,7 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" - - IMPORT{builtin}="path_id" - --ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", --IMPORT{db}="ID_NET_NAME" -+ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" - - ACTION!="add", GOTO="net_setup_link_end" - --- -1.7.9.2 - diff --git a/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch b/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch deleted file mode 100644 index f821d890..00000000 --- a/1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch +++ /dev/null @@ -1,54 +0,0 @@ -From b081b27e1433cdc7ac72b25ae8b4db887d79187f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 9 Sep 2014 12:23:19 +0200 -Subject: [PATCH] udev: import the full db on MOVE events for devices without - dev_t - ---- - rules/80-net-setup-link.rules | 2 -- - src/udev/udev-event.c | 16 ++++++++++++++++ - 2 files changed, 16 insertions(+), 2 deletions(-) - -diff --git rules/80-net-setup-link.rules rules/80-net-setup-link.rules -index 4207694..6e411a9 100644 ---- rules/80-net-setup-link.rules -+++ rules/80-net-setup-link.rules -@@ -4,8 +4,6 @@ SUBSYSTEM!="net", GOTO="net_setup_link_end" - - IMPORT{builtin}="path_id" - --ACTION=="move", IMPORT{db}="ID_NET_DRIVER", IMPORT{db}="ID_NET_LINK_FILE", IMPORT{db}="ID_NET_NAME" -- - ACTION!="add", GOTO="net_setup_link_end" - - IMPORT{builtin}="net_setup_link" -diff --git src/udev/udev-event.c src/udev/udev-event.c -index 00cd6d4..18b92ca 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -805,6 +805,22 @@ void udev_event_execute_rules(struct udev_event *event, - udev_watch_end(event->udev, event->dev_db); - } - -+ if (major(udev_device_get_devnum(dev)) == 0 && -+ streq(udev_device_get_action(dev), "move")) { -+ struct udev_list_entry *entry; -+ -+ for ((entry = udev_device_get_properties_list_entry(event->dev_db)); entry; entry = udev_list_entry_get_next(entry)) { -+ const char *key, *value; -+ struct udev_list_entry *property; -+ -+ key = udev_list_entry_get_name(entry); -+ value = udev_list_entry_get_value(entry); -+ -+ property = udev_device_add_property(event->dev, key, value); -+ udev_list_entry_set_num(property, true); -+ } -+ } -+ - udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); - - /* rename a new network interface, if needed */ --- -1.7.9.2 - diff --git a/1072-udev-netif_rename-don-t-log-to-kmsg.patch b/1072-udev-netif_rename-don-t-log-to-kmsg.patch deleted file mode 100644 index 2a5cebd2..00000000 --- a/1072-udev-netif_rename-don-t-log-to-kmsg.patch +++ /dev/null @@ -1,39 +0,0 @@ -Based on 1187f20655de0c37337ea73e1e55823b83cd7c00 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 9 Sep 2014 22:45:03 +0200 -Subject: [PATCH] udev: netif_rename - don't log to kmsg - -As of 3.17, the kernel will do this on its own, so just do regular log_debug() logging from udev. ---- - src/udev/udev-event.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- src/udev/udev-event.c -+++ src/udev/udev-event.c 2014-09-16 08:52:36.154735794 +0000 -@@ -770,7 +770,7 @@ static int rename_netif(struct udev_even - - r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); - if (r == 0) { -- print_kmsg("renamed network interface %s to %s\n", oldname, name); -+ log_debug("renamed network interface %s to %s", oldname, name); - return r; - } else if (r != -EEXIST) { - log_error("error changing net interface name %s to %s: %s", -@@ -789,7 +789,7 @@ static int rename_netif(struct udev_even - } - - /* log temporary name */ -- print_kmsg("renamed network interface %s to %s\n", oldname, interim); -+ log_debug("renamed network interface %s to %s", oldname, interim); - - loop = 90 * 20; - while (loop--) { -@@ -798,7 +798,7 @@ static int rename_netif(struct udev_even - - r = rtnl_set_link_name(rtnl, udev_device_get_ifindex(dev), name); - if (r == 0) { -- print_kmsg("renamed network interface %s to %s\n", interim, name); -+ log_debug("renamed network interface %s to %s", interim, name); - break; - } - diff --git a/1073-udev-drop-print_kmsg.patch b/1073-udev-drop-print_kmsg.patch deleted file mode 100644 index 27aaa6e3..00000000 --- a/1073-udev-drop-print_kmsg.patch +++ /dev/null @@ -1,75 +0,0 @@ -Based on 9d19a679f23c7a72c326cbbbf44e0c9f423dec5d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 9 Sep 2014 22:48:07 +0200 -Subject: [PATCH] udev - drop print_kmsg - -The only remaining user was 'starting version XXX', which is now logged using log_info(). ---- - src/libudev/libudev-private.h | 1 - - src/libudev/libudev-util.c | 25 ------------------------- - src/udev/udevd.c | 2 +- - 3 files changed, 1 insertion(+), 27 deletions(-) - -diff --git src/libudev/libudev-private.h src/libudev/libudev-private.h -index ae97557..cd1c1fb 100644 ---- src/libudev/libudev-private.h -+++ src/libudev/libudev-private.h -@@ -170,6 +170,5 @@ int util_delete_path(struct udev *udev, const char *path); - uid_t util_lookup_user(struct udev *udev, const char *user); - gid_t util_lookup_group(struct udev *udev, const char *group); - int util_resolve_subsys_kernel(struct udev *udev, const char *string, char *result, size_t maxsize, int read_value); --ssize_t print_kmsg(const char *fmt, ...) _printf_(1, 2); - - #endif ---- src/libudev/libudev-util.c -+++ src/libudev/libudev-util.c 2014-09-16 08:56:01.862736270 +0000 -@@ -422,33 +422,3 @@ static int parse_proc_cmdline_word(const - - return 0; - } -- --ssize_t print_kmsg(const char *fmt, ...) --{ -- _cleanup_close_ int fd = -1; -- va_list ap; -- char text[1024]; -- ssize_t len; -- ssize_t ret; -- -- if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -- fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); -- } else { -- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -- } -- -- if (fd < 0) -- return -errno; -- -- len = snprintf(text, sizeof(text), "<30>systemd-udevd[%u]: ", getpid()); -- -- va_start(ap, fmt); -- len += vsnprintf(text + len, sizeof(text) - len, fmt, ap); -- va_end(ap); -- -- ret = write(fd, text, len); -- if (ret < 0) -- return -errno; -- -- return ret; --} -diff --git src/udev/udevd.c src/udev/udevd.c -index be0acc3..b023b6e 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -1200,7 +1200,7 @@ int main(int argc, char *argv[]) { - sd_notify(1, "READY=1"); - } - -- print_kmsg("starting version " VERSION "\n"); -+ log_info("starting version " VERSION "\n"); - - if (!debug) { - int fd; --- -1.7.9.2 - diff --git a/1074-udev-fix-copy-paste-error-in-log-message.patch b/1074-udev-fix-copy-paste-error-in-log-message.patch deleted file mode 100644 index a617451f..00000000 --- a/1074-udev-fix-copy-paste-error-in-log-message.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ec3281d3b681b002dfe1a4bea0532a504e37557a Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 10 Sep 2014 07:59:22 +0200 -Subject: [PATCH] udev: fix copy-paste error in log message - ---- - src/udev/udev-rules.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index cc56215..6de7511 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -1323,7 +1323,7 @@ static int add_rule(struct udev_rules *rules, char *line, - if (cmd < UDEV_BUILTIN_MAX) - rule_add_key(&rule_tmp, TK_A_RUN_BUILTIN, op, value, &cmd); - else -- log_error("IMPORT{builtin}: '%s' unknown %s:%u", value, filename, lineno); -+ log_error("RUN{builtin}: '%s' unknown %s:%u", value, filename, lineno); - } else if (streq(attr, "program")) { - enum udev_builtin_cmd cmd = UDEV_BUILTIN_MAX; - --- -1.7.9.2 - diff --git a/1075-udev-timeout-increase-timeout.patch b/1075-udev-timeout-increase-timeout.patch deleted file mode 100644 index 08f6daeb..00000000 --- a/1075-udev-timeout-increase-timeout.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b5338a19864ac3f5632aee48069a669479621dca Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Wed, 10 Sep 2014 10:56:26 +0200 -Subject: [PATCH] udev: timeout - increase timeout - -Some kernel modules still take more than one minute to insmod, we no longer rely on the timeout -killing insmod within a given period of time, so just bump this to a much higher value. Its only -purpose is to make sure that nothing stays aronud forever. ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index b023b6e..a7f8cbd 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -74,7 +74,7 @@ static bool reload; - static int children; - static int children_max; - static int exec_delay; --static usec_t event_timeout_usec = 60 * USEC_PER_SEC; -+static usec_t event_timeout_usec = 180 * USEC_PER_SEC; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); --- -1.7.9.2 - diff --git a/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch deleted file mode 100644 index 4345f929..00000000 --- a/1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +++ /dev/null @@ -1,350 +0,0 @@ -Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 11 Sep 2014 18:49:04 +0200 -Subject: [PATCH] udev: timeout - warn after a third of the timeout before - killing - ---- - src/test/test-udev.c | 4 ++-- - src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- - src/udev/udev-rules.c | 8 +++++--- - src/udev/udev.h | 9 ++++++--- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- - 6 files changed, 71 insertions(+), 32 deletions(-) - -diff --git src/test/test-udev.c src/test/test-udev.c -index 566a73a..f085262 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -- udev_event_execute_run(event, USEC_PER_SEC, NULL); -+ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index a883edc..e8d6676 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -541,6 +541,7 @@ out: - - static int spawn_wait(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; -@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, - - while (pid > 0) { - int timeout; -+ int timeout_warn = 0; - int fdcount; - - if (timeout_usec > 0) { -@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; - if (age_usec >= timeout_usec) - timeout = 1000; -- else -- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ else { -+ if (timeout_warn_usec > 0) -+ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ -+ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ } - } else { - timeout = -1; - } - -- fdcount = poll(pfd, 1, timeout); -+ fdcount = poll(pfd, 1, timeout_warn); - if (fdcount < 0) { - if (errno == EINTR) - continue; -@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, - goto out; - } - if (fdcount == 0) { -- log_error("timeout: killing '%s' [%u]", cmd, pid); -- kill(pid, SIGKILL); -+ log_warning("slow: '%s' [%u]", cmd, pid); -+ -+ fdcount = poll(pfd, 1, timeout); -+ if (fdcount < 0) { -+ if (errno == EINTR) -+ continue; -+ err = -errno; -+ log_error("failed to poll: %m"); -+ goto out; -+ } -+ if (fdcount == 0) { -+ log_error("timeout: killing '%s' [%u]", cmd, pid); -+ kill(pid, SIGKILL); -+ } - } - - if (pfd[0].revents & POLLIN) { -@@ -654,6 +672,7 @@ out: - - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize) { - struct udev *udev = event->udev; -@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, - outpipe[READ_END], errpipe[READ_END], - result, ressize); - -- err = spawn_wait(event, timeout_usec, cmd, pid); -+ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); - } - - out: -@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { - - void udev_event_execute_rules(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - -@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9514dde..db95442 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - - static int import_program_into_properties(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; -@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -1862,6 +1863,7 @@ enum escape_type { - int udev_rules_apply_to_event(struct udev_rules *rules, - struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const sigset_t *sigmask) { - struct token *cur; - struct token *rule; -@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index ed01da3..765ba9e 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -73,7 +73,8 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 809adb6..4738b61 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { - goto out; - } - -- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 -@@ -75,6 +75,7 @@ static int children; - static int children_max; - static int exec_delay; - static usec_t event_timeout_usec = 180 * USEC_PER_SEC; -+static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -129,6 +130,7 @@ struct worker { - enum worker_state state; - struct event *event; - usec_t event_start_usec; -+ bool event_warned; - }; - - /* passed from worker to main process */ -@@ -314,9 +316,9 @@ static void worker_new(struct event *eve - } - - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -410,6 +412,7 @@ out: - worker->pid = pid; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - worker->event = event; - event->state = EVENT_RUNNING; - udev_list_node_append(&worker->node, &worker_list); -@@ -441,6 +444,7 @@ static void event_run(struct event *even - worker->event = event; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - event->state = EVENT_RUNNING; - return; - } -@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { - event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - } - - free(s); -@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { - break; - case 't': - event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - break; - case 'D': - debug = true; -@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { - /* check for hanging events */ - udev_list_node_foreach(loop, &worker_list) { - struct worker *worker = node_to_worker(loop); -+ usec_t ts; - - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -- kill(worker->pid, SIGKILL); -- worker->state = WORKER_KILLED; -- -- /* drop reference taken for state 'running' */ -- worker_unref(worker); -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event); -- worker->event = NULL; -+ ts = now(CLOCK_MONOTONIC); -+ -+ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { -+ if ((ts - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -+ kill(worker->pid, SIGKILL); -+ worker->state = WORKER_KILLED; -+ -+ /* drop reference taken for state 'running' */ -+ worker_unref(worker); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event); -+ worker->event = NULL; -+ } else if (!worker->event_warned) { -+ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); -+ worker->event_warned = true; -+ } - } - } - --- -1.7.9.2 - diff --git a/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch b/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch deleted file mode 100644 index 57b2d699..00000000 --- a/1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch +++ /dev/null @@ -1,350 +0,0 @@ -Based on 671174136525ddf208cdbe75d6d6bd159afa961f Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 11 Sep 2014 18:49:04 +0200 -Subject: [PATCH] udev: timeout - warn after a third of the timeout before - killing - ---- - src/test/test-udev.c | 4 ++-- - src/udev/udev-event.c | 40 ++++++++++++++++++++++++++++++---------- - src/udev/udev-rules.c | 8 +++++--- - src/udev/udev.h | 9 ++++++--- - src/udev/udevadm-test.c | 2 +- - src/udev/udevd.c | 40 +++++++++++++++++++++++++++------------- - 6 files changed, 71 insertions(+), 32 deletions(-) - -diff --git src/test/test-udev.c src/test/test-udev.c -index 566a73a..f085262 100644 ---- src/test/test-udev.c -+++ src/test/test-udev.c -@@ -153,8 +153,8 @@ int main(int argc, char *argv[]) { - } - } - -- udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig); -- udev_event_execute_run(event, USEC_PER_SEC, NULL); -+ udev_event_execute_rules(event, 3 * USEC_PER_SEC, USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_run(event, 3 * USEC_PER_SEC, USEC_PER_SEC, NULL); - out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); -diff --git src/udev/udev-event.c src/udev/udev-event.c -index a883edc..e8d6676 100644 ---- src/udev/udev-event.c -+++ src/udev/udev-event.c -@@ -541,6 +541,7 @@ out: - - static int spawn_wait(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, pid_t pid) { - struct pollfd pfd[1]; - int err = 0; -@@ -550,6 +551,7 @@ static int spawn_wait(struct udev_event *event, - - while (pid > 0) { - int timeout; -+ int timeout_warn = 0; - int fdcount; - - if (timeout_usec > 0) { -@@ -558,13 +560,17 @@ static int spawn_wait(struct udev_event *event, - age_usec = now(CLOCK_MONOTONIC) - event->birth_usec; - if (age_usec >= timeout_usec) - timeout = 1000; -- else -- timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ else { -+ if (timeout_warn_usec > 0) -+ timeout_warn = ((timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ -+ timeout = ((timeout_usec - timeout_warn_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC; -+ } - } else { - timeout = -1; - } - -- fdcount = poll(pfd, 1, timeout); -+ fdcount = poll(pfd, 1, timeout_warn); - if (fdcount < 0) { - if (errno == EINTR) - continue; -@@ -573,8 +579,20 @@ static int spawn_wait(struct udev_event *event, - goto out; - } - if (fdcount == 0) { -- log_error("timeout: killing '%s' [%u]", cmd, pid); -- kill(pid, SIGKILL); -+ log_warning("slow: '%s' [%u]", cmd, pid); -+ -+ fdcount = poll(pfd, 1, timeout); -+ if (fdcount < 0) { -+ if (errno == EINTR) -+ continue; -+ err = -errno; -+ log_error("failed to poll: %m"); -+ goto out; -+ } -+ if (fdcount == 0) { -+ log_error("timeout: killing '%s' [%u]", cmd, pid); -+ kill(pid, SIGKILL); -+ } - } - - if (pfd[0].revents & POLLIN) { -@@ -654,6 +672,7 @@ out: - - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize) { - struct udev *udev = event->udev; -@@ -730,7 +749,7 @@ int udev_event_spawn(struct udev_event *event, - outpipe[READ_END], errpipe[READ_END], - result, ressize); - -- err = spawn_wait(event, timeout_usec, cmd, pid); -+ err = spawn_wait(event, timeout_usec, timeout_warn_usec, cmd, pid); - } - - out: -@@ -769,6 +788,7 @@ static int rename_netif(struct udev_event *event) { - - void udev_event_execute_rules(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - struct udev_rules *rules, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - -@@ -783,7 +803,7 @@ void udev_event_execute_rules(struct udev_event *event, - if (major(udev_device_get_devnum(dev)) != 0) - udev_watch_end(event->udev, dev); - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - if (major(udev_device_get_devnum(dev)) != 0) - udev_node_remove(dev); -@@ -816,7 +836,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - -- udev_rules_apply_to_event(rules, event, timeout_usec, sigmask); -+ udev_rules_apply_to_event(rules, event, timeout_usec, timeout_warn_usec, sigmask); - - /* rename a new network interface, if needed */ - if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && -@@ -889,7 +909,7 @@ void udev_event_execute_rules(struct udev_event *event, - } - } - --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) { -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - - udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) { -@@ -912,7 +932,7 @@ void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const - - udev_event_apply_format(event, cmd, program, sizeof(program)); - envp = udev_device_get_properties_envp(event->dev); -- udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0); -+ udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, NULL, 0); - } - } - } -diff --git src/udev/udev-rules.c src/udev/udev-rules.c -index 9514dde..db95442 100644 ---- src/udev/udev-rules.c -+++ src/udev/udev-rules.c -@@ -615,6 +615,7 @@ static int import_file_into_properties(struct udev_device *dev, const char *file - - static int import_program_into_properties(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *program, const sigset_t *sigmask) { - struct udev_device *dev = event->dev; - char **envp; -@@ -623,7 +624,7 @@ static int import_program_into_properties(struct udev_event *event, - int err; - - envp = udev_device_get_properties_envp(dev); -- err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)); -+ err = udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)); - if (err < 0) - return err; - -@@ -1862,6 +1863,7 @@ enum escape_type { - int udev_rules_apply_to_event(struct udev_rules *rules, - struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const sigset_t *sigmask) { - struct token *cur; - struct token *rule; -@@ -2070,7 +2072,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) { -+ if (udev_event_spawn(event, timeout_usec, timeout_warn_usec, program, envp, sigmask, result, sizeof(result)) < 0) { - if (cur->key.op != OP_NOMATCH) - goto nomatch; - } else { -@@ -2106,7 +2108,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, - rules_str(rules, rule->rule.filename_off), - rule->rule.filename_line); - -- if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0) -+ if (import_program_into_properties(event, timeout_usec, timeout_warn_usec, import, sigmask) != 0) - if (cur->key.op != OP_NOMATCH) - goto nomatch; - break; -diff --git src/udev/udev.h src/udev/udev.h -index ed01da3..765ba9e 100644 ---- src/udev/udev.h -+++ src/udev/udev.h -@@ -73,7 +73,8 @@ struct udev_rules; - struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names); - struct udev_rules *udev_rules_unref(struct udev_rules *rules); - bool udev_rules_check_timestamp(struct udev_rules *rules); --int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask); -+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ const sigset_t *sigmask); - int udev_rules_apply_static_dev_perms(struct udev_rules *rules); - - /* udev-event.c */ -@@ -84,10 +85,12 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, - char *result, size_t maxsize, int read_value); - int udev_event_spawn(struct udev_event *event, - usec_t timeout_usec, -+ usec_t timeout_warn_usec, - const char *cmd, char **envp, const sigset_t *sigmask, - char *result, size_t ressize); --void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset); --void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset); -+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, -+ struct udev_rules *rules, const sigset_t *sigset); -+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - - /* udev-watch.c */ -diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c -index 809adb6..4738b61 100644 ---- src/udev/udevadm-test.c -+++ src/udev/udevadm-test.c -@@ -136,7 +136,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { - goto out; - } - -- udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); -+ udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, rules, &sigmask_orig); - - udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) - printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-16 09:01:14.382735997 +0000 -@@ -75,6 +75,7 @@ static int children; - static int children_max; - static int exec_delay; - static usec_t event_timeout_usec = 180 * USEC_PER_SEC; -+static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -129,6 +130,7 @@ struct worker { - enum worker_state state; - struct event *event; - usec_t event_start_usec; -+ bool event_warned; - }; - - /* passed from worker to main process */ -@@ -314,9 +316,9 @@ static void worker_new(struct event *eve - } - - /* apply rules, create node, symlinks */ -- udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig); -+ udev_event_execute_rules(udev_event, event_timeout_usec, event_timeout_warn_usec, rules, &sigmask_orig); - -- udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig); -+ udev_event_execute_run(udev_event, event_timeout_usec, event_timeout_warn_usec, &sigmask_orig); - - /* apply/restore inotify watch */ - if (udev_event->inotify_watch) { -@@ -410,6 +412,7 @@ out: - worker->pid = pid; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - worker->event = event; - event->state = EVENT_RUNNING; - udev_list_node_append(&worker->node, &worker_list); -@@ -441,6 +444,7 @@ static void event_run(struct event *even - worker->event = event; - worker->state = WORKER_RUNNING; - worker->event_start_usec = now(CLOCK_MONOTONIC); -+ worker->event_warned = false; - event->state = EVENT_RUNNING; - return; - } -@@ -1016,6 +1020,7 @@ static void kernel_cmdline_options(struc - exec_delay = strtoul(opt + 16, NULL, 0); - } else if (startswith(opt, "udev.event-timeout=")) { - event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - } - - free(s); -@@ -1078,6 +1083,7 @@ int main(int argc, char *argv[]) { - break; - case 't': - event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - break; - case 'D': - debug = true; -@@ -1413,21 +1419,29 @@ int main(int argc, char *argv[]) { - /* check for hanging events */ - udev_list_node_foreach(loop, &worker_list) { - struct worker *worker = node_to_worker(loop); -+ usec_t ts; - - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) { -- log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -- kill(worker->pid, SIGKILL); -- worker->state = WORKER_KILLED; -- -- /* drop reference taken for state 'running' */ -- worker_unref(worker); -- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -- worker->event->exitcode = -64; -- event_queue_delete(worker->event, true); -- worker->event = NULL; -+ ts = now(CLOCK_MONOTONIC); -+ -+ if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { -+ if ((ts - worker->event_start_usec) > event_timeout_usec) { -+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath); -+ kill(worker->pid, SIGKILL); -+ worker->state = WORKER_KILLED; -+ -+ /* drop reference taken for state 'running' */ -+ worker_unref(worker); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ worker->event->exitcode = -64; -+ event_queue_delete(worker->event, true); -+ worker->event = NULL; -+ } else if (!worker->event_warned) { -+ log_warning("worker [%u] %s is taking a long time", worker->pid, worker->event->devpath); -+ worker->event_warned = true; -+ } - } - } - --- -1.7.9.2 - diff --git a/1078-udev-remove-userspace-firmware-loading-support.patch b/1078-udev-remove-userspace-firmware-loading-support.patch deleted file mode 100644 index 42e0af98..00000000 --- a/1078-udev-remove-userspace-firmware-loading-support.patch +++ /dev/null @@ -1,349 +0,0 @@ -From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 30 Aug 2014 11:34:20 +0200 -Subject: [PATCH] udev: remove userspace firmware loading support - ---- - Makefile.am | 12 --- - README | 9 +-- - TODO | 1 - - configure.ac | 20 ----- - src/udev/udev-builtin-firmware.c | 154 --------------------------------------- - src/udev/udev-builtin.c | 3 - - src/udev/udev.h | 6 -- - src/udev/udevd.c | 13 ---- - -Index: systemd-210/configure.ac -=================================================================== ---- systemd-210.orig/configure.ac -+++ systemd-210/configure.ac -@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th - fi - - # ------------------------------------------------------------------------------ --AC_ARG_WITH(firmware-path, -- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], -- [Firmware search path (default="")]), -- [], [with_firmware_path=""]) --OLD_IFS=$IFS --IFS=: --for i in $with_firmware_path; do -- if test "x${FIRMWARE_PATH}" = "x"; then -- FIRMWARE_PATH="\\\"${i}/\\\"" -- else -- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" -- fi --done --IFS=$OLD_IFS --AC_SUBST(FIRMWARE_PATH) --AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) --AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) -- --# ------------------------------------------------------------------------------ - AC_ARG_ENABLE([gudev], - AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), - [], [enable_gudev=yes]) -@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ - Build Python: ${PYTHON} - Installation Python: ${PYTHON_BINARY} - sphinx binary: ${SPHINX_BUILD} -- firmware path: ${FIRMWARE_PATH} - PAM modules dir: ${with_pamlibdir} - PAM configuration dir: ${with_pamconfdir} - D-Bus policy dir: ${with_dbuspolicydir} -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ - $(BLKID_LIBS) \ - $(KMOD_LIBS) - --libudev_core_la_CPPFLAGS = \ -- $(AM_CPPFLAGS) \ -- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" -- --if ENABLE_FIRMWARE --libudev_core_la_SOURCES += \ -- src/udev/udev-builtin-firmware.c -- --dist_udevrules_DATA += \ -- rules/50-firmware.rules --endif -- - if HAVE_KMOD - libudev_core_la_SOURCES += \ - src/udev/udev-builtin-kmod.c -Index: systemd-210/README -=================================================================== ---- systemd-210.orig/README -+++ systemd-210/README -@@ -51,14 +51,14 @@ REQUIREMENTS: - - Linux kernel >= 3.8 for Smack support - -- Udev will fail to work with the legacy layout: -+ Udev will fail to work with the legacy sysfs layout: - CONFIG_SYSFS_DEPRECATED=n - - Legacy hotplug slows down the system and confuses udev: - CONFIG_UEVENT_HELPER_PATH="" - -- Userspace firmware loading is deprecated, will go away, and -- sometimes causes problems: -+ Userspace firmware loading is not supported and should -+ be disabled in the kernel - CONFIG_FW_LOADER_USER_HELPER=n - - Some udev rules and virtualization detection relies on it: -Index: systemd-210/src/udev/udev-builtin.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin.c -+++ systemd-210/src/udev/udev-builtin.c -@@ -34,9 +34,6 @@ static const struct udev_builtin *builti - [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, - #endif - [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, --#ifdef HAVE_FIRMWARE -- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, --#endif - [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, - [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, - [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, -Index: systemd-210/src/udev/udev-builtin-firmware.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-firmware.c -+++ /dev/null -@@ -1,157 +0,0 @@ --/* -- * firmware - Kernel firmware loader -- * -- * Copyright (C) 2009 Piter Punk -- * Copyright (C) 2009-2011 Kay Sievers -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, but -- * WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * General Public License for more details:* -- */ -- --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#include "udev.h" -- --static bool set_loading(struct udev *udev, char *loadpath, const char *state) --{ -- FILE *ldfile; -- -- ldfile = fopen(loadpath, "we"); -- if (ldfile == NULL) { -- log_error("error: can not open '%s'", loadpath); -- return false; -- }; -- fprintf(ldfile, "%s\n", state); -- fclose(ldfile); -- return true; --} -- --static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) --{ -- char *buf; -- FILE *fsource = NULL, *ftarget = NULL; -- bool ret = false; -- -- buf = malloc(size); -- if (buf == NULL) { -- log_error("No memory available to load firmware file"); -- return false; -- } -- -- log_debug("writing '%s' (%zi) to '%s'", source, size, target); -- -- fsource = fopen(source, "re"); -- if (fsource == NULL) -- goto exit; -- ftarget = fopen(target, "we"); -- if (ftarget == NULL) -- goto exit; -- if (fread(buf, size, 1, fsource) != 1) -- goto exit; -- if (fwrite(buf, size, 1, ftarget) == 1) -- ret = true; --exit: -- if (ftarget != NULL) -- fclose(ftarget); -- if (fsource != NULL) -- fclose(fsource); -- free(buf); -- return ret; --} -- --static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) --{ -- struct udev *udev = udev_device_get_udev(dev); -- static const char *searchpath[] = { FIRMWARE_PATH }; -- char loadpath[UTIL_PATH_SIZE]; -- char datapath[UTIL_PATH_SIZE]; -- char fwpath[UTIL_PATH_SIZE]; -- const char *firmware; -- FILE *fwfile = NULL; -- struct utsname kernel; -- struct stat statbuf; -- unsigned int i; -- int rc = EXIT_SUCCESS; -- -- firmware = udev_device_get_property_value(dev, "FIRMWARE"); -- if (firmware == NULL) { -- log_error("firmware parameter missing"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- /* lookup firmware file */ -- uname(&kernel); -- for (i = 0; i < ELEMENTSOF(searchpath); i++) { -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- } -- -- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); -- -- if (fwfile == NULL) { -- log_debug("did not find firmware file '%s'", firmware); -- rc = EXIT_FAILURE; -- /* -- * Do not cancel the request in the initrd, the real root might have -- * the firmware file and the 'coldplug' run in the real root will find -- * this pending request and fulfill or cancel it. -- * */ -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- goto exit; -- } -- -- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- if (!set_loading(udev, loadpath, "1")) -- goto exit; -- -- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); -- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { -- log_error("error sending firmware '%s' to device", firmware); -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- }; -- -- set_loading(udev, loadpath, "0"); --exit: -- if (fwfile) -- fclose(fwfile); -- return rc; --} -- --const struct udev_builtin udev_builtin_firmware = { -- .name = "firmware", -- .cmd = builtin_firmware, -- .help = "kernel firmware loader", -- .run_once = true, --}; -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -100,9 +100,6 @@ struct event { - dev_t devnum; - int ifindex; - bool is_block; --#ifdef HAVE_FIRMWARE -- bool nodelay; --#endif - }; - - static inline struct event *node_to_event(struct udev_list_node *node) -@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude - event->devnum = udev_device_get_devnum(dev); - event->is_block = streq("block", udev_device_get_subsystem(dev)); - event->ifindex = udev_device_get_ifindex(dev); --#ifdef HAVE_FIRMWARE -- if (streq(udev_device_get_subsystem(dev), "firmware")) -- event->nodelay = true; --#endif - - udev_queue_export_device_queued(udev_queue_export, dev); - log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), -@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event - return true; - } - --#ifdef HAVE_FIRMWARE -- /* allow to bypass the dependency tracking */ -- if (event->nodelay) -- continue; --#endif -- - /* parent device event found */ - if (event->devpath[common] == '/') { - event->delaying_seqnum = loop_event->seqnum; -Index: systemd-210/src/udev/udev.h -=================================================================== ---- systemd-210.orig/src/udev/udev.h -+++ systemd-210/src/udev/udev.h -@@ -141,9 +141,6 @@ enum udev_builtin_cmd { - UDEV_BUILTIN_BLKID, - #endif - UDEV_BUILTIN_BTRFS, --#ifdef HAVE_FIRMWARE -- UDEV_BUILTIN_FIRMWARE, --#endif - UDEV_BUILTIN_HWDB, - UDEV_BUILTIN_INPUT_ID, - UDEV_BUILTIN_KEYBOARD, -@@ -172,9 +169,6 @@ struct udev_builtin { - extern const struct udev_builtin udev_builtin_blkid; - #endif - extern const struct udev_builtin udev_builtin_btrfs; --#ifdef HAVE_FIRMWARE --extern const struct udev_builtin udev_builtin_firmware; --#endif - extern const struct udev_builtin udev_builtin_hwdb; - extern const struct udev_builtin udev_builtin_input_id; - extern const struct udev_builtin udev_builtin_keyboard; -Index: systemd-210/TODO -=================================================================== ---- systemd-210.orig/TODO -+++ systemd-210/TODO -@@ -541,7 +541,6 @@ Features: - * ExecOnFailure=/usr/bin/foo - - * udev: -- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) - - move to LGPL - - kill scsi_id - - add trigger --subsystem-match=usb/usb_device device - diff --git a/1079-udev-remove-userspace-firmware-loading-support.patch b/1079-udev-remove-userspace-firmware-loading-support.patch deleted file mode 100644 index 37a5e752..00000000 --- a/1079-udev-remove-userspace-firmware-loading-support.patch +++ /dev/null @@ -1,349 +0,0 @@ -From be2ea723b1d023b3d385d3b791ee4607cbfb20ca Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Sat, 30 Aug 2014 11:34:20 +0200 -Subject: [PATCH] udev: remove userspace firmware loading support - ---- - Makefile.am | 12 --- - README | 9 +-- - TODO | 1 - - configure.ac | 20 ----- - src/udev/udev-builtin-firmware.c | 154 --------------------------------------- - src/udev/udev-builtin.c | 3 - - src/udev/udev.h | 6 -- - src/udev/udevd.c | 13 ---- - -Index: systemd-210/configure.ac -=================================================================== ---- systemd-210.orig/configure.ac -+++ systemd-210/configure.ac -@@ -902,25 +902,6 @@ if test "x$have_myhostname" != "xno"; th - fi - - # ------------------------------------------------------------------------------ --AC_ARG_WITH(firmware-path, -- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], -- [Firmware search path (default="")]), -- [], [with_firmware_path=""]) --OLD_IFS=$IFS --IFS=: --for i in $with_firmware_path; do -- if test "x${FIRMWARE_PATH}" = "x"; then -- FIRMWARE_PATH="\\\"${i}/\\\"" -- else -- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\"" -- fi --done --IFS=$OLD_IFS --AC_SUBST(FIRMWARE_PATH) --AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) --AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) -- --# ------------------------------------------------------------------------------ - AC_ARG_ENABLE([gudev], - AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), - [], [enable_gudev=yes]) -@@ -1137,7 +1118,6 @@ AC_MSG_RESULT([ - Build Python: ${PYTHON} - Installation Python: ${PYTHON_BINARY} - sphinx binary: ${SPHINX_BUILD} -- firmware path: ${FIRMWARE_PATH} - PAM modules dir: ${with_pamlibdir} - PAM configuration dir: ${with_pamconfdir} - D-Bus policy dir: ${with_dbuspolicydir} -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2677,18 +2677,6 @@ libudev_core_la_LIBADD = \ - $(BLKID_LIBS) \ - $(KMOD_LIBS) - --libudev_core_la_CPPFLAGS = \ -- $(AM_CPPFLAGS) \ -- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" -- --if ENABLE_FIRMWARE --libudev_core_la_SOURCES += \ -- src/udev/udev-builtin-firmware.c -- --dist_udevrules_DATA += \ -- rules/50-firmware.rules --endif -- - if HAVE_KMOD - libudev_core_la_SOURCES += \ - src/udev/udev-builtin-kmod.c -Index: systemd-210/README -=================================================================== ---- systemd-210.orig/README -+++ systemd-210/README -@@ -51,14 +51,14 @@ REQUIREMENTS: - - Linux kernel >= 3.8 for Smack support - -- Udev will fail to work with the legacy layout: -+ Udev will fail to work with the legacy sysfs layout: - CONFIG_SYSFS_DEPRECATED=n - - Legacy hotplug slows down the system and confuses udev: - CONFIG_UEVENT_HELPER_PATH="" - -- Userspace firmware loading is deprecated, will go away, and -- sometimes causes problems: -+ Userspace firmware loading is not supported and should -+ be disabled in the kernel - CONFIG_FW_LOADER_USER_HELPER=n - - Some udev rules and virtualization detection relies on it: -Index: systemd-210/src/udev/udev-builtin.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin.c -+++ systemd-210/src/udev/udev-builtin.c -@@ -34,9 +34,6 @@ static const struct udev_builtin *builti - [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, - #endif - [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, --#ifdef HAVE_FIRMWARE -- [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, --#endif - [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, - [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, - [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, -Index: systemd-210/src/udev/udev-builtin-firmware.c -=================================================================== ---- systemd-210.orig/src/udev/udev-builtin-firmware.c -+++ /dev/null -@@ -1,157 +0,0 @@ --/* -- * firmware - Kernel firmware loader -- * -- * Copyright (C) 2009 Piter Punk -- * Copyright (C) 2009-2011 Kay Sievers -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, but -- * WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * General Public License for more details:* -- */ -- --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#include "udev.h" -- --static bool set_loading(struct udev *udev, char *loadpath, const char *state) --{ -- FILE *ldfile; -- -- ldfile = fopen(loadpath, "we"); -- if (ldfile == NULL) { -- log_error("error: can not open '%s'", loadpath); -- return false; -- }; -- fprintf(ldfile, "%s\n", state); -- fclose(ldfile); -- return true; --} -- --static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size) --{ -- char *buf; -- FILE *fsource = NULL, *ftarget = NULL; -- bool ret = false; -- -- buf = malloc(size); -- if (buf == NULL) { -- log_error("No memory available to load firmware file"); -- return false; -- } -- -- log_debug("writing '%s' (%zi) to '%s'", source, size, target); -- -- fsource = fopen(source, "re"); -- if (fsource == NULL) -- goto exit; -- ftarget = fopen(target, "we"); -- if (ftarget == NULL) -- goto exit; -- if (fread(buf, size, 1, fsource) != 1) -- goto exit; -- if (fwrite(buf, size, 1, ftarget) == 1) -- ret = true; --exit: -- if (ftarget != NULL) -- fclose(ftarget); -- if (fsource != NULL) -- fclose(fsource); -- free(buf); -- return ret; --} -- --static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], bool test) --{ -- struct udev *udev = udev_device_get_udev(dev); -- static const char *searchpath[] = { FIRMWARE_PATH }; -- char loadpath[UTIL_PATH_SIZE]; -- char datapath[UTIL_PATH_SIZE]; -- char fwpath[UTIL_PATH_SIZE]; -- const char *firmware; -- FILE *fwfile = NULL; -- struct utsname kernel; -- struct stat statbuf; -- unsigned int i; -- int rc = EXIT_SUCCESS; -- -- firmware = udev_device_get_property_value(dev, "FIRMWARE"); -- if (firmware == NULL) { -- log_error("firmware parameter missing"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- /* lookup firmware file */ -- uname(&kernel); -- for (i = 0; i < ELEMENTSOF(searchpath); i++) { -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], kernel.release, "/", firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- -- strscpyl(fwpath, sizeof(fwpath), searchpath[i], firmware, NULL); -- fwfile = fopen(fwpath, "re"); -- if (fwfile != NULL) -- break; -- } -- -- strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL); -- -- if (fwfile == NULL) { -- log_debug("did not find firmware file '%s'", firmware); -- rc = EXIT_FAILURE; -- /* -- * Do not cancel the request in the initrd, the real root might have -- * the firmware file and the 'coldplug' run in the real root will find -- * this pending request and fulfill or cancel it. -- * */ -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- goto exit; -- } -- -- if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) { -- if (!in_initrd()) -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- } -- -- if (!set_loading(udev, loadpath, "1")) -- goto exit; -- -- strscpyl(datapath, sizeof(datapath), udev_device_get_syspath(dev), "/data", NULL); -- if (!copy_firmware(udev, fwpath, datapath, statbuf.st_size)) { -- log_error("error sending firmware '%s' to device", firmware); -- set_loading(udev, loadpath, "-1"); -- rc = EXIT_FAILURE; -- goto exit; -- }; -- -- set_loading(udev, loadpath, "0"); --exit: -- if (fwfile) -- fclose(fwfile); -- return rc; --} -- --const struct udev_builtin udev_builtin_firmware = { -- .name = "firmware", -- .cmd = builtin_firmware, -- .help = "kernel firmware loader", -- .run_once = true, --}; -Index: systemd-210/src/udev/udevd.c -=================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -100,9 +100,6 @@ struct event { - dev_t devnum; - int ifindex; - bool is_block; --#ifdef HAVE_FIRMWARE -- bool nodelay; --#endif - }; - - static inline struct event *node_to_event(struct udev_list_node *node) -@@ -474,10 +471,6 @@ static int event_queue_insert(struct ude - event->devnum = udev_device_get_devnum(dev); - event->is_block = streq("block", udev_device_get_subsystem(dev)); - event->ifindex = udev_device_get_ifindex(dev); --#ifdef HAVE_FIRMWARE -- if (streq(udev_device_get_subsystem(dev), "firmware")) -- event->nodelay = true; --#endif - - log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), - udev_device_get_action(dev), udev_device_get_subsystem(dev)); -@@ -557,12 +550,6 @@ static bool is_devpath_busy(struct event - return true; - } - --#ifdef HAVE_FIRMWARE -- /* allow to bypass the dependency tracking */ -- if (event->nodelay) -- continue; --#endif -- - /* parent device event found */ - if (event->devpath[common] == '/') { - event->delaying_seqnum = loop_event->seqnum; -Index: systemd-210/src/udev/udev.h -=================================================================== ---- systemd-210.orig/src/udev/udev.h -+++ systemd-210/src/udev/udev.h -@@ -141,9 +141,6 @@ enum udev_builtin_cmd { - UDEV_BUILTIN_BLKID, - #endif - UDEV_BUILTIN_BTRFS, --#ifdef HAVE_FIRMWARE -- UDEV_BUILTIN_FIRMWARE, --#endif - UDEV_BUILTIN_HWDB, - UDEV_BUILTIN_INPUT_ID, - UDEV_BUILTIN_KEYBOARD, -@@ -172,9 +169,6 @@ struct udev_builtin { - extern const struct udev_builtin udev_builtin_blkid; - #endif - extern const struct udev_builtin udev_builtin_btrfs; --#ifdef HAVE_FIRMWARE --extern const struct udev_builtin udev_builtin_firmware; --#endif - extern const struct udev_builtin udev_builtin_hwdb; - extern const struct udev_builtin udev_builtin_input_id; - extern const struct udev_builtin udev_builtin_keyboard; -Index: systemd-210/TODO -=================================================================== ---- systemd-210.orig/TODO -+++ systemd-210/TODO -@@ -541,7 +541,6 @@ Features: - * ExecOnFailure=/usr/bin/foo - - * udev: -- - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) - - move to LGPL - - kill scsi_id - - add trigger --subsystem-match=usb/usb_device device - diff --git a/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch b/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch deleted file mode 100644 index a623b566..00000000 --- a/1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch +++ /dev/null @@ -1,73 +0,0 @@ -Based on 6f5cf8a8b1de763383f7382821147e538b7dbd6d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:02:03 +0200 -Subject: [PATCH] udevd: parse_argv - warn if argumens are invalid - -Found by Coverity. Fixes CID #1238780. ---- - src/udev/udevd.c | 34 ++++++++++++++++++++++++++-------- - 1 file changed, 26 insertions(+), 8 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-19 10:36:25.602735652 +0000 -@@ -1002,11 +1002,20 @@ static void kernel_cmdline_options(struc - log_set_max_level(prio); - udev_set_log_priority(udev, prio); - } else if (startswith(opt, "udev.children-max=")) { -- children_max = strtoul(opt + 18, NULL, 0); -+ r = safe_atoi(opt + 18, &children_max); -+ if (r < 0) -+ log_warning("Invalid udev.children-max ignored: %s", opt + 18); - } else if (startswith(opt, "udev.exec-delay=")) { -- exec_delay = strtoul(opt + 16, NULL, 0); -+ r = safe_atoi(opt + 16, &exec_delay); -+ if (r < 0) -+ log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); - } else if (startswith(opt, "udev.event-timeout=")) { -- event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC; -+ r = safe_atou64(opt + 16, &event_timeout_usec); -+ if (r < 0) { -+ log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); -+ break; -+ } -+ event_timeout_usec *= USEC_PER_SEC; - event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; - } - -@@ -1052,7 +1061,7 @@ int main(int argc, char *argv[]) { - label_init("/dev"); - - for (;;) { -- int option; -+ int option, r; - - option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); - if (option == -1) -@@ -1063,14 +1072,23 @@ int main(int argc, char *argv[]) { - daemonize = true; - break; - case 'c': -- children_max = strtoul(optarg, NULL, 0); -+ r = safe_atoi(optarg, &children_max); -+ if (r < 0) -+ log_warning("Invalid --children-max ignored: %s", optarg); - break; - case 'e': -- exec_delay = strtoul(optarg, NULL, 0); -+ r = safe_atoi(optarg, &exec_delay); -+ if (r < 0) -+ log_warning("Invalid --exec-delay ignored: %s", optarg); - break; - case 't': -- event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC; -- event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; -+ r = safe_atou64(optarg, &event_timeout_usec); -+ if (r < 0) -+ log_warning("Invalig --event-timeout ignored: %s", optarg); -+ else { -+ event_timeout_usec *= USEC_PER_SEC; -+ event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; -+ } - break; - case 'D': - debug = true; diff --git a/1081-udevd-check-return-of-various-functions.patch b/1081-udevd-check-return-of-various-functions.patch deleted file mode 100644 index 819e4499..00000000 --- a/1081-udevd-check-return-of-various-functions.patch +++ /dev/null @@ -1,55 +0,0 @@ -Based on d457ff8319b1e7c522c146f75e272f1226f4720c Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:07:02 +0200 -Subject: [PATCH] udevd: check return of various functions - -One reported by Coverity. Fixes CID #996252. ---- - src/udev/udevd.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-19 11:33:21.566236309 +0000 -@@ -1044,7 +1044,7 @@ int main(int argc, char *argv[]) { - int fd_worker = -1; - struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker; - struct udev_ctrl_connection *ctrl_conn = NULL; -- int rc = 1; -+ int rc = 1, r; - - udev = udev_new(); - if (udev == NULL) -@@ -1058,7 +1058,11 @@ int main(int argc, char *argv[]) { - log_set_max_level(udev_get_log_priority(udev)); - - log_debug("version %s", VERSION); -- label_init("/dev"); -+ r = label_init("/dev"); -+ if (r < 0) { -+ log_error("could not initialize labelling: %s", strerror(-r)); -+ goto exit; -+ } - - for (;;) { - int option, r; -@@ -1137,10 +1141,18 @@ int main(int argc, char *argv[]) { - } - - /* set umask before creating any file/directory */ -- chdir("/"); -+ r = chdir("/"); -+ if (r < 0) { -+ log_error("could not change dir to /: %m"); -+ goto exit; -+ } - umask(022); - -- mkdir("/run/udev", 0755); -+ r = mkdir("/run/udev", 0755); -+ if (r < 0) { -+ log_error("could not create /run/udev: %m"); -+ goto exit; -+ } - - dev_setup(NULL); - diff --git a/1082-udevadm-hwdb-check-return-value-of-fseeko.patch b/1082-udevadm-hwdb-check-return-value-of-fseeko.patch deleted file mode 100644 index 27e6dc45..00000000 --- a/1082-udevadm-hwdb-check-return-value-of-fseeko.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f901aaadd68050bc575c1c15b84f8f31fd4d494d Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:16:54 +0200 -Subject: [PATCH] udevadm: hwdb - check return value of fseeko() - -Fonud by Coverity. Fixes CID #996255. ---- - src/udev/udevadm-hwdb.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git src/udev/udevadm-hwdb.c src/udev/udevadm-hwdb.c -index 65cbf61..64273fb 100644 ---- src/udev/udevadm-hwdb.c -+++ src/udev/udevadm-hwdb.c -@@ -365,7 +365,12 @@ static int trie_store(struct trie *trie, const char *filename) { - fchmod(fileno(t.f), 0444); - - /* write nodes */ -- fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); -+ err = fseeko(t.f, sizeof(struct trie_header_f), SEEK_SET); -+ if (err < 0) { -+ fclose(t.f); -+ unlink_noerrno(filename_tmp); -+ return -errno; -+ } - root_off = trie_store_nodes(&t, trie->root); - h.nodes_root_off = htole64(root_off); - pos = ftello(t.f); -@@ -378,7 +383,12 @@ static int trie_store(struct trie *trie, const char *filename) { - /* write header */ - size = ftello(t.f); - h.file_size = htole64(size); -- fseeko(t.f, 0, SEEK_SET); -+ err = fseeko(t.f, 0, SEEK_SET); -+ if (err < 0) { -+ fclose(t.f); -+ unlink_noerrno(filename_tmp); -+ return -errno; -+ } - fwrite(&h, sizeof(struct trie_header_f), 1, t.f); - err = ferror(t.f); - if (err) --- -1.7.9.2 - diff --git a/1083-udev-node-warn-if-chmod-chown-fails.patch b/1083-udev-node-warn-if-chmod-chown-fails.patch deleted file mode 100644 index 0b78f626..00000000 --- a/1083-udev-node-warn-if-chmod-chown-fails.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 543afdc63c02a5af3cf6bd2a264162f23474346a Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:22:09 +0200 -Subject: [PATCH] udev: node - warn if chmod/chown fails - -No functional change, just log the warning. - -Fonud by Coverity. Fixes CID #1237544. ---- - src/udev/udev-node.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git src/udev/udev-node.c src/udev/udev-node.c -index c164603..8ef7889 100644 ---- src/udev/udev-node.c -+++ src/udev/udev-node.c -@@ -281,8 +281,12 @@ static int node_permissions_apply(struct udev_device *dev, bool apply, - - if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) { - log_debug("set permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); -- chmod(devnode, mode); -- chown(devnode, uid, gid); -+ err = chmod(devnode, mode); -+ if (err < 0) -+ log_warning("setting mode of %s to %#o failed: %m", devnode, mode); -+ err = chown(devnode, uid, gid); -+ if (err < 0) -+ log_warning("setting owner of %s to uid=%u, gid=%u failed: %m", devnode, uid, gid); - } else { - log_debug("preserve permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); - } --- -1.7.9.2 - diff --git a/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch b/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch deleted file mode 100644 index 1e8f4fcf..00000000 --- a/1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch +++ /dev/null @@ -1,45 +0,0 @@ -Based on 4bbdff757ed4e718a3348b93439a03055cc5e3bc Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 19:26:11 +0200 -Subject: [PATCH] udev: ctrl - log if setting SO_PASSCRED fails - -No functional change. - -Found by Coverity. Fixes CID #1237533. ---- - src/udev/udev-ctrl.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- src/udev/udev-ctrl.c -+++ src/udev/udev-ctrl.c 2014-09-19 10:45:55.494236229 +0000 -@@ -74,6 +74,7 @@ struct udev_ctrl *udev_ctrl_new_from_fd( - { - struct udev_ctrl *uctrl; - const int on = 1; -+ int r; - - uctrl = new0(struct udev_ctrl, 1); - if (uctrl == NULL) -@@ -92,7 +93,9 @@ struct udev_ctrl *udev_ctrl_new_from_fd( - uctrl->bound = true; - uctrl->sock = fd; - } -- setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ r = setsockopt(uctrl->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ if (r < 0) -+ log_warning("could not set SO_PASSCRED: %m"); - - uctrl->saddr.sun_family = AF_LOCAL; - strscpy(uctrl->saddr.sun_path, sizeof(uctrl->saddr.sun_path), "/run/udev/control"); -@@ -209,7 +212,10 @@ struct udev_ctrl_connection *udev_ctrl_g - } - - /* enable receiving of the sender credentials in the messages */ -- setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); -+ if (r < 0) -+ log_warning("colud not set SO_PASSCRED: %m"); -+ - udev_ctrl_ref(uctrl); - return conn; - err: diff --git a/1085-udev-fix-typos.patch b/1085-udev-fix-typos.patch deleted file mode 100644 index f6476200..00000000 --- a/1085-udev-fix-typos.patch +++ /dev/null @@ -1,33 +0,0 @@ -Based on 65fea570f03df51dadc06a3e0d261a71fe62aa01 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 20:25:33 +0200 -Subject: [PATCH] udev: fix typos - -Spotted by Andreas Henriksson. ---- - src/udev/udev-ctrl.c | 2 +- - src/udev/udevd.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- src/udev/udev-ctrl.c -+++ src/udev/udev-ctrl.c 2014-09-19 00:00:00.000000000 +0000 -@@ -214,7 +214,7 @@ struct udev_ctrl_connection *udev_ctrl_g - /* enable receiving of the sender credentials in the messages */ - r = setsockopt(conn->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); - if (r < 0) -- log_warning("colud not set SO_PASSCRED: %m"); -+ log_warning("could not set SO_PASSCRED: %m"); - - udev_ctrl_ref(uctrl); - return conn; ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-19 10:47:36.306235720 +0000 -@@ -1088,7 +1088,7 @@ int main(int argc, char *argv[]) { - case 't': - r = safe_atou64(optarg, &event_timeout_usec); - if (r < 0) -- log_warning("Invalig --event-timeout ignored: %s", optarg); -+ log_warning("Invalid --event-timeout ignored: %s", optarg); - else { - event_timeout_usec *= USEC_PER_SEC; - event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; diff --git a/1086-udevd-don-t-fail-if-run-udev-exists.patch b/1086-udevd-don-t-fail-if-run-udev-exists.patch deleted file mode 100644 index 7f574d6a..00000000 --- a/1086-udevd-don-t-fail-if-run-udev-exists.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 25773e7fc59b4ce53d67da4e18bfe4d13ab0b14b Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Thu, 18 Sep 2014 21:57:49 +0200 -Subject: [PATCH] udevd: don't fail if /run/udev exists - ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/udev/udevd.c src/udev/udevd.c -index 37db81c..29ccb51 100644 ---- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -1155,7 +1155,7 @@ int main(int argc, char *argv[]) { - umask(022); - - r = mkdir("/run/udev", 0755); -- if (r < 0) { -+ if (r < 0 && errno != EEXIST) { - log_error("could not create /run/udev: %m"); - goto exit; - } --- -1.7.9.2 - diff --git a/1087-infinit-timeout-for-kmod-loaded-modules.patch b/1087-infinit-timeout-for-kmod-loaded-modules.patch deleted file mode 100644 index 4208c21f..00000000 --- a/1087-infinit-timeout-for-kmod-loaded-modules.patch +++ /dev/null @@ -1,135 +0,0 @@ ---- - src/udev/udev-event.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - src/udev/udev.h | 1 + - src/udev/udevd.c | 23 +++++++++++++++++++++-- - 3 files changed, 64 insertions(+), 2 deletions(-) - ---- src/udev/udev-event.c -+++ src/udev/udev-event.c 2014-09-24 14:32:53.115639820 +0000 -@@ -959,6 +959,46 @@ void udev_event_execute_rules(struct ude - } - } - -+#ifdef HAVE_KMOD -+static inline void udev_check_and_set_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { -+ char filename[UTIL_PATH_SIZE]; -+ switch (builtin_cmd) { -+ case UDEV_BUILTIN_KMOD: -+ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); -+ touch(filename); -+ default: -+ break; -+ } -+} -+ -+static inline void udev_check_and_unset_kmod(enum udev_builtin_cmd builtin_cmd, struct udev_event *event) { -+ char filename[UTIL_PATH_SIZE]; -+ switch (builtin_cmd) { -+ case UDEV_BUILTIN_KMOD: -+ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)getpid()); -+ unlink(filename); -+ default: -+ break; -+ } -+} -+ -+bool udev_check_for_kmod(pid_t pid) { -+ char filename[UTIL_PATH_SIZE]; -+ struct stat st; -+ snprintf(filename, sizeof(filename), "/run/udev/kmod/%u", (unsigned)pid); -+ if (stat(filename, &st) == 0) { -+ return true; -+ } -+ return false; -+} -+#else -+# define udev_set_kmod (a,b) -+# define udev_unset_kmod(a,b) -+bool udev_check_for_kmod(pid_t pid) { -+ return false; -+} -+#endif -+ - void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigmask) { - struct udev_list_entry *list_entry; - -@@ -970,7 +1010,9 @@ void udev_event_execute_run(struct udev_ - char command[UTIL_PATH_SIZE]; - - udev_event_apply_format(event, cmd, command, sizeof(command)); -+ udev_check_and_set_kmod(builtin_cmd, event); - udev_builtin_run(event->dev, builtin_cmd, command, false); -+ udev_check_and_unset_kmod(builtin_cmd, event); - } else { - char program[UTIL_PATH_SIZE]; - char **envp; ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-09-24 15:02:30.895592379 +0000 -@@ -76,6 +76,7 @@ static int children_max; - static int exec_delay; - static usec_t event_timeout_usec = 180 * USEC_PER_SEC; - static usec_t event_timeout_warn_usec = 180 * USEC_PER_SEC / 3; -+static bool event_killkmod = false; - static sigset_t sigmask_orig; - static UDEV_LIST(event_list); - static UDEV_LIST(worker_list); -@@ -1017,6 +1018,12 @@ static void kernel_cmdline_options(struc - } - event_timeout_usec *= USEC_PER_SEC; - event_timeout_warn_usec = (event_timeout_usec / 3) ? : 1; -+ } else if (startswith(opt, "udev.killkmod=")) { -+ r = parse_boolean(opt + 14); -+ if (r < 0) -+ log_warning("Invalid udev.killkmod Ignoring: %s", opt + 14); -+ else -+ event_killkmod = r; - } - - free(s); -@@ -1065,7 +1072,7 @@ int main(int argc, char *argv[]) { - } - - for (;;) { -- int option, r; -+ int option; - - option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); - if (option == -1) -@@ -1356,6 +1363,12 @@ int main(int argc, char *argv[]) { - udev_list_node_init(&event_list); - udev_list_node_init(&worker_list); - -+ r = mkdir_p("/run/udev/kmod", 0755); -+ if (r < 0 && errno != EEXIST) { -+ log_error("could not create /run/udev/kmod: %m"); -+ goto exit; -+ } -+ - for (;;) { - static usec_t last_usec; - struct epoll_event ev[8]; -@@ -1440,7 +1453,13 @@ int main(int argc, char *argv[]) { - - if (worker->state != WORKER_RUNNING) - continue; -- -+#ifdef HAVE_KMOD -+ if (udev_check_for_kmod(worker->pid)) { -+ log_debug("worker [%u] %s is using kmod", worker->pid, worker->event->devpath); -+ if (!event_killkmod) -+ continue; -+ } -+#endif - ts = now(CLOCK_MONOTONIC); - - if ((ts - worker->event_start_usec) > event_timeout_warn_usec) { ---- src/udev/udev.h -+++ src/udev/udev.h 2014-09-24 14:33:33.824008084 +0000 -@@ -88,6 +88,7 @@ int udev_event_spawn(struct udev_event * - char *result, size_t ressize); - void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, - struct udev_rules *rules, const sigset_t *sigset); -+bool udev_check_for_kmod(pid_t pid); - void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec, const sigset_t *sigset); - int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); - diff --git a/1089-fix-cgroup-device-controller.patch b/1089-fix-cgroup-device-controller.patch deleted file mode 100644 index cd68533f..00000000 --- a/1089-fix-cgroup-device-controller.patch +++ /dev/null @@ -1,74 +0,0 @@ -From eb0f0863f5af48865fb4569e2076d5f9e2313995 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 10 Mar 2014 21:36:01 +0100 -Subject: nspawn: don't try mknod() of /dev/console with the correct - major/minor - -We overmount /dev/console with an external pty anyway, hence there's no -point in using the real major/minor when we create the node to -overmount. Instead, use the one of /dev/null now. - -This fixes a race against the cgroup device controller setup we are -using. In case /dev/console was create before the cgroup policy was -applied all was good, but if created in the opposite order the mknod() -would fail, since creating /dev/console is not allowed by it. Creating -/dev/null instances is however permitted, and hence use it. - -diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index d8d0dae..bef866a 100644 ---- a/src/nspawn/nspawn.c -+++ b/src/nspawn/nspawn.c -@@ -879,23 +879,19 @@ static int setup_ptmx(const char *dest) { - } - - static int setup_dev_console(const char *dest, const char *console) { -+ _cleanup_umask_ mode_t u; -+ const char *to; - struct stat st; -- _cleanup_free_ char *to = NULL; - int r; -- _cleanup_umask_ mode_t u; - - assert(dest); - assert(console); - - u = umask(0000); - -- if (stat(console, &st) < 0) { -- log_error("Failed to stat %s: %m", console); -+ if (stat("/dev/null", &st) < 0) { -+ log_error("Failed to stat /dev/null: %m"); - return -errno; -- -- } else if (!S_ISCHR(st.st_mode)) { -- log_error("/dev/console is not a char device"); -- return -EIO; - } - - r = chmod_and_chown(console, 0600, 0, 0); -@@ -904,16 +900,15 @@ static int setup_dev_console(const char *dest, const char *console) { - return r; - } - -- if (asprintf(&to, "%s/dev/console", dest) < 0) -- return log_oom(); -- - /* We need to bind mount the right tty to /dev/console since - * ptys can only exist on pts file systems. To have something -- * to bind mount things on we create a device node first, that -- * has the right major/minor (note that the major minor -- * doesn't actually matter here, since we mount it over -- * anyway). */ -+ * to bind mount things on we create a device node first, and -+ * use /dev/null for that since we the cgroups device policy -+ * allows us to create that freely, while we cannot create -+ * /dev/console. (Note that the major minor doesn't actually -+ * matter here, since we mount it over anyway). */ - -+ to = strappenda(dest, "/dev/console"); - if (mknod(to, (st.st_mode & ~07777) | 0600, st.st_rdev) < 0) { - log_error("mknod() for /dev/console failed: %m"); - return -errno; --- -cgit v0.10.2 - diff --git a/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch b/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch deleted file mode 100644 index 3a3ad550..00000000 --- a/1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch +++ /dev/null @@ -1,58 +0,0 @@ -Based on cc821d02a37c8c76aaf15bae2d33fee1bdc4b2e0 Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Tue, 28 Oct 2014 16:50:24 +0100 -Subject: [PATCH] udev: path_id - set supported_parent for well-known SCSI - setups - ---- - src/udev/udev-builtin-path_id.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c 2014-11-03 14:12:48.129956655 +0000 -@@ -379,7 +379,7 @@ out: - return hostdev; - } - --static struct udev_device *handle_scsi(struct udev_device *parent, char **path) -+static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) - { - const char *devtype; - const char *name; -@@ -394,6 +394,7 @@ static struct udev_device *handle_scsi(s - if (id != NULL) { - parent = skip_subsystem(parent, "scsi"); - path_prepend(path, "ieee1394-0x%s", id); -+ *supported_parent = true; - goto out; - } - -@@ -402,16 +403,19 @@ static struct udev_device *handle_scsi(s - - if (strstr(name, "/rport-") != NULL) { - parent = handle_scsi_fibre_channel(parent, path); -+ *supported_parent = true; - goto out; - } - - if (strstr(name, "/end_device-") != NULL) { - parent = handle_scsi_sas(parent, path); -+ *supported_parent = true; - goto out; - } - - if (strstr(name, "/session") != NULL) { - parent = handle_scsi_iscsi(parent, path); -+ *supported_parent = true; - goto out; - } - -@@ -545,7 +549,7 @@ static int builtin_path_id(struct udev_d - } else if (streq(subsys, "scsi_tape")) { - handle_scsi_tape(parent, &path); - } else if (streq(subsys, "scsi")) { -- parent = handle_scsi(parent, &path); -+ parent = handle_scsi(parent, &path, &supported_parent); - supported_transport = true; - } else if (streq(subsys, "cciss")) { - parent = handle_cciss(parent, &path); diff --git a/1091-udev-path_id-update-comments.patch b/1091-udev-path_id-update-comments.patch deleted file mode 100644 index a695f0db..00000000 --- a/1091-udev-path_id-update-comments.patch +++ /dev/null @@ -1,42 +0,0 @@ -From a42cdff19f2d34f12ceca0f40707421a8aaa2c2f Mon Sep 17 00:00:00 2001 -From: Kay Sievers -Date: Thu, 30 Oct 2014 01:18:34 +0100 -Subject: [PATCH] udev: path_id - update comments - ---- - src/udev/udev-builtin-path_id.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git src/udev/udev-builtin-path_id.c src/udev/udev-builtin-path_id.c -index 0d247f6..df996cb 100644 ---- src/udev/udev-builtin-path_id.c -+++ src/udev/udev-builtin-path_id.c -@@ -548,9 +548,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool - } - - /* -- * Do return devices with have an unknown type of parent device, they -- * might produce conflicting IDs below multiple independent parent -- * devices. -+ * Do not return devices with an unknown parent device type. They -+ * might produce conflicting IDs if the parent does not provide a -+ * unique and predictable name. - */ - if (!supported_parent) { - free(path); -@@ -558,9 +558,9 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool - } - - /* -- * Do not return a have-only a single-parent block devices, some -- * have entire hidden buses behind it, and not create predictable -- * IDs that way. -+ * Do not return block devices without a well-known transport. Some -+ * devices do not expose their buses and do not provide a unique -+ * and predictable name that way. - */ - if (streq(udev_device_get_subsystem(dev), "block") && !supported_transport) { - free(path); --- -1.7.9.2 - diff --git a/1092-libudev-do-not-accept-invalid-log-levels.patch b/1092-libudev-do-not-accept-invalid-log-levels.patch deleted file mode 100644 index 10b78859..00000000 --- a/1092-libudev-do-not-accept-invalid-log-levels.patch +++ /dev/null @@ -1,67 +0,0 @@ -Based on ee7122c0ec6aa11f02e9e8d94254b353f12d2c14 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 1 Nov 2014 12:06:41 -0400 -Subject: [PATCH] libudev: do not accept invalid log levels - -Invalid log levels lead to a assert failure later on. - -https://bugs.freedesktop.org/show_bug.cgi?id=85657 ---- - src/libudev/libudev-util.c | 10 +++++++--- - src/libudev/libudev.c | 19 ++++++++++++++++--- - 2 files changed, 23 insertions(+), 6 deletions(-) - ---- src/libudev/libudev-util.c -+++ src/libudev/libudev-util.c 2014-11-10 11:33:26.269519209 +0000 -@@ -255,9 +255,13 @@ int util_log_priority(const char *priori - char *endptr; - int prio; - -- prio = strtol(priority, &endptr, 10); -- if (endptr[0] == '\0' || isspace(endptr[0])) -- return prio; -+ prio = strtoul(priority, &endptr, 10); -+ if (endptr[0] == '\0' || isspace(endptr[0])) { -+ if (prio >= 0 && prio <= 7) -+ return prio; -+ else -+ return -ERANGE; -+ } - if (startswith(priority, "err")) - return LOG_ERR; - if (startswith(priority, "info")) ---- src/libudev/libudev.c -+++ src/libudev/libudev.c -@@ -193,7 +193,13 @@ _public_ struct udev *udev_new(void) - } - - if (streq(key, "udev_log")) { -- udev_set_log_priority(udev, util_log_priority(val)); -+ int prio; -+ -+ prio = util_log_priority(val); -+ if (prio < 0) -+ udev_err(udev, "/etc/udev/udev.conf:%u: invalid logging level '%s', ignoring.\n", line_nr, val); -+ else -+ udev_set_log_priority(udev, prio); - continue; - } - } -@@ -201,8 +207,15 @@ _public_ struct udev *udev_new(void) - - /* environment overrides config */ - env = secure_getenv("UDEV_LOG"); -- if (env != NULL) -- udev_set_log_priority(udev, util_log_priority(env)); -+ if (env != NULL) { -+ int prio; -+ -+ prio = util_log_priority(env); -+ if (prio < 0) -+ udev_err(udev, "$UDEV_LOG specifies invalid logging level '%s', ignoring.\n", env); -+ else -+ udev_set_log_priority(udev, prio); -+ } - - return udev; - } diff --git a/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch b/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch deleted file mode 100644 index 5f3bb576..00000000 --- a/1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch +++ /dev/null @@ -1,23 +0,0 @@ -Based on f671774f52838d35d78e62ddcb781b5b65b3373f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 4 Nov 2014 23:45:15 +0000 -Subject: [PATCH] udev: Fix parsing of udev.event-timeout kernel parameter. - ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-11-10 12:28:20.385559165 +0000 -@@ -1011,9 +1011,9 @@ static void kernel_cmdline_options(struc - if (r < 0) - log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); - } else if (startswith(opt, "udev.event-timeout=")) { -- r = safe_atou64(opt + 16, &event_timeout_usec); -+ r = safe_atou64(opt + 19, &event_timeout_usec); - if (r < 0) { -- log_warning("Invalid udev.event-timeout ignored: %s", opt + 16); -+ log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); - break; - } - event_timeout_usec *= USEC_PER_SEC; diff --git a/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch b/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch deleted file mode 100644 index 3cd42e5c..00000000 --- a/1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch +++ /dev/null @@ -1,58 +0,0 @@ -Based on cfe2061add5479710f6597899d632e64c54e62ef Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Wed, 5 Nov 2014 12:56:49 +0100 -Subject: [PATCH] udev: avoid magic constants in kernel-cmdline parsers - -Lets recognize the fact that startswith() returns a pointer to the tail on -success. Use it instead of hard-coding string-lengths as magic constants. ---- - src/udev/udevd.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - ---- src/udev/udevd.c -+++ src/udev/udevd.c 2014-11-10 12:31:15.745519116 +0000 -@@ -984,7 +984,7 @@ static void kernel_cmdline_options(struc - return; - - FOREACH_WORD_QUOTED(w, l, line, state) { -- char *s, *opt; -+ char *s, *opt, *value; - - s = strndup(w, l); - if (!s) -@@ -996,24 +996,24 @@ static void kernel_cmdline_options(struc - else - opt = s; - -- if (startswith(opt, "udev.log-priority=")) { -+ if ((value = startswith(opt, "udev.log-priority="))) { - int prio; - -- prio = util_log_priority(opt + 18); -+ prio = util_log_priority(value); - log_set_max_level(prio); - udev_set_log_priority(udev, prio); -- } else if (startswith(opt, "udev.children-max=")) { -- r = safe_atoi(opt + 18, &children_max); -+ } else if ((value = startswith(opt, "udev.children-max="))) { -+ r = safe_atoi(value, &children_max); - if (r < 0) -- log_warning("Invalid udev.children-max ignored: %s", opt + 18); -- } else if (startswith(opt, "udev.exec-delay=")) { -- r = safe_atoi(opt + 16, &exec_delay); -+ log_warning("Invalid udev.children-max ignored: %s", value); -+ } else if ((value = startswith(opt, "udev.exec-delay="))) { -+ r = safe_atoi(value, &exec_delay); - if (r < 0) -- log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); -- } else if (startswith(opt, "udev.event-timeout=")) { -- r = safe_atou64(opt + 19, &event_timeout_usec); -+ log_warning("Invalid udev.exec-delay ignored: %s", value); -+ } else if ((value = startswith(opt, "udev.event-timeout="))) { -+ r = safe_atou64(value, &event_timeout_usec); - if (r < 0) { -- log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); -+ log_warning("Invalid udev.event-timeout ignored: %s", value); - break; - } - event_timeout_usec *= USEC_PER_SEC; diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch index 39c4a74a..d9d128f2 100644 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ b/1095-set-ssd-disk-to-use-deadline-scheduler.patch @@ -1,19 +1,24 @@ -Index: systemd-210/Makefile.am +--- + Makefile.am | 1 + + rules/60-ssd-scheduler.rules | 11 +++++++++++ + 2 files changed, 12 insertions(+) + +Index: systemd/Makefile.am =================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2546,6 +2546,7 @@ dist_udevrules_DATA += \ +--- systemd.orig/Makefile.am ++++ systemd/Makefile.am +@@ -3576,6 +3576,7 @@ dist_udevrules_DATA += \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ + rules/60-ssd-scheduler.rules \ rules/64-btrfs.rules \ - rules/75-net-description.rules \ - rules/75-tty-description.rules \ -Index: systemd-210/rules/60-ssd-scheduler.rules + rules/70-mouse.rules \ + rules/70-touchpad.rules \ +Index: systemd/rules/60-ssd-scheduler.rules =================================================================== --- /dev/null -+++ systemd-210/rules/60-ssd-scheduler.rules ++++ systemd/rules/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch index 49c1b2c9..7f09f46e 100644 --- a/1096-new-udev-root-symlink-generator.patch +++ b/1096-new-udev-root-symlink-generator.patch @@ -1,9 +1,16 @@ -Index: systemd-210/Makefile.am +--- + Makefile.am | 19 +++++ + src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++ + units/systemd-udev-root-symlink.service | 10 ++ + units/systemd-udev-root-symlink.service.in | 10 ++ + 4 files changed, 96 insertions(+) + +Index: systemd/Makefile.am =================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2791,6 +2791,25 @@ EXTRA_DIST += \ - test/rule-syntax-check.py +--- systemd.orig/Makefile.am ++++ systemd/Makefile.am +@@ -3862,6 +3862,25 @@ EXTRA_DIST += \ + # ------------------------------------------------------------------------------ +rootsymlink_generator_SOURCES = \ @@ -28,11 +35,11 @@ Index: systemd-210/Makefile.am ata_id_SOURCES = \ src/udev/ata_id/ata_id.c -Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c =================================================================== --- /dev/null -+++ systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c -@@ -0,0 +1,65 @@ ++++ systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c +@@ -0,0 +1,57 @@ +/* + * Copyright (C) 2014-2015 Robert Milasan + * @@ -64,59 +71,36 @@ Index: systemd-210/src/udev/rootsymlink_generator/rootsymlink_generator.c +#define _PATH_ "/run/udev/rules.d" +#define _FILE_ "10-root-symlink.rules" + -+int main() ++int main(void) +{ ++ char filename[BUFFER_SIZE], buf[BUFFER_SIZE]; + struct stat statbuf; ++ int fd; + -+ if (stat(_ROOTDEV_, &statbuf) != 0) ++ if (stat(_ROOTDEV_, &statbuf) < 0) + return 1; -+ -+ if (major(statbuf.st_dev) > 0) { -+ int fd = -1; -+ char filename[BUFFER_SIZE]; -+ -+ if (mkdir(_PATH_, 0755) != 0 && errno != EEXIST) -+ return errno; -+ -+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); -+ -+ if ((fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0644)) == -1) -+ return errno; -+ else { -+ char buf[BUFFER_SIZE]; -+ -+ snprintf(buf, BUFFER_SIZE, "ACTION==\"add|change\", SUBSYSTEM==\"block\", ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", -+ major(statbuf.st_dev), minor(statbuf.st_dev)); -+ -+ if (write(fd, buf, strlen(buf)) == -1) -+ return errno; -+ -+ if (close(fd) == -1) -+ return errno; -+ } -+ } -+ ++ if (major(statbuf.st_dev) <= 0) ++ return 0; ++ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST) ++ return errno; ++ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); ++ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644); ++ if (fd < 0) ++ return errno; ++ snprintf(buf, BUFFER_SIZE, ++ "ACTION==\"add|change\", SUBSYSTEM==\"block\", " ++ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", ++ major(statbuf.st_dev), minor(statbuf.st_dev)); ++ if (write(fd, buf, strlen(buf)) < 0) ++ return errno; ++ if (close(fd) < 0) ++ return errno; + return 0; +} -Index: systemd-210/units/systemd-udev-root-symlink.service.in +Index: systemd/units/systemd-udev-root-symlink.service =================================================================== --- /dev/null -+++ systemd-210/units/systemd-udev-root-symlink.service.in -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=@udevlibexec@/rootsymlink-generator -Index: systemd-210/units/systemd-udev-root-symlink.service -=================================================================== ---- /dev/null -+++ systemd-210/units/systemd-udev-root-symlink.service ++++ systemd/units/systemd-udev-root-symlink.service @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink @@ -128,3 +112,18 @@ Index: systemd-210/units/systemd-udev-root-symlink.service +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/lib/udev/rootsymlink-generator +Index: systemd/units/systemd-udev-root-symlink.service.in +=================================================================== +--- /dev/null ++++ systemd/units/systemd-udev-root-symlink.service.in +@@ -0,0 +1,10 @@ ++[Unit] ++Description=Rule generator for /dev/root symlink ++Before=systemd-udevd.service ++DefaultDependencies=no ++ConditionPathIsReadWrite=/run/udev ++ ++[Service] ++Type=oneshot ++RemainAfterExit=yes ++ExecStart=@udevlibexec@/rootsymlink-generator diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index 50bbc56f..486be9b2 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -1,22 +1,26 @@ -Index: systemd-210/src/udev/udevd.c +--- + src/udev/udevd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-218/src/udev/udevd.c =================================================================== ---- systemd-210.orig/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c -@@ -454,7 +454,7 @@ static void event_run(struct event *even +--- systemd-218.orig/src/udev/udevd.c ++++ systemd-218/src/udev/udevd.c +@@ -446,7 +446,7 @@ static void event_run(struct event *even - if (children >= children_max) { - if (children_max > 1) + if (children >= arg_children_max) { + if (arg_children_max > 1) - log_debug("maximum number (%i) of children reached", children); + log_error("maximum number (%i) of children reached", children); return; } -@@ -1277,7 +1277,7 @@ int main(int argc, char *argv[]) { - children_max = 8; +@@ -1265,7 +1265,7 @@ int main(int argc, char *argv[]) { + arg_children_max = 8; if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { -- children_max += CPU_COUNT(&cpu_set) * 2; -+ children_max += CPU_COUNT(&cpu_set) * 64; +- arg_children_max += CPU_COUNT(&cpu_set) * 2; ++ arg_children_max += CPU_COUNT(&cpu_set) * 64; } } - log_debug("set children_max to %u", children_max); + log_debug("set children_max to %u", arg_children_max); diff --git a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch b/1098-udev-link_setup-respect-kernel-name-assign-policy.patch deleted file mode 100644 index 6772f650..00000000 --- a/1098-udev-link_setup-respect-kernel-name-assign-policy.patch +++ /dev/null @@ -1,154 +0,0 @@ -Based on 04b67d49254d956d31bcfe80340fb9df7ed332d3 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Tue, 15 Jul 2014 17:57:43 +0200 -Subject: [PATCH] udev: link_setup - respect kernel name assign policy - -Newer kernels export meta-information about the origin of an ifname. Respect this -from the ifname rename logic. We do not rename any interfaces that was originally -named by userspace, nor once which have already been renamed from userspace. - -Moreover, we optionally do not (the default) rename interfaces which the kernel -claims to have named in a predictable way. ---- - man/udev.xml | 13 ++++++++++- - network/99-default.link | 2 - - src/shared/missing.h | 21 +++++++++++++++++ - src/udev/net/link-config.c | 53 +++++++++++++++++++++++++++++++++++++-------- - src/udev/net/link-config.h | 1 - 5 files changed, 79 insertions(+), 11 deletions(-) - -Index: man/udev.xml -=================================================================== ---- man/udev.xml.orig -+++ man/udev.xml -@@ -914,10 +914,12 @@ - successful one is used. The name is not set directly, but - is exported to udev as the property ID_NET_NAME, - which is, by default, used by a udev rule to set -- NAME. The available policies are: -+ NAME. If the name has already -+ been set by userspace, no renaming is performed. -+ The available policies are: - - -- -+ - database - - The name is set based on entries in the Hardware -Index: src/shared/missing.h -=================================================================== ---- src/shared/missing.h.orig -+++ src/shared/missing.h -@@ -362,3 +362,24 @@ static inline int setns(int fd, int nsty - return syscall(__NR_setns, fd, nstype); - } - #endif -+ -+#ifndef NET_ADDR_RANDOM -+# define NET_ADDR_RANDOM 1 -+#endif -+ -+#ifndef NET_NAME_ENUM -+# define NET_NAME_ENUM 1 -+#endif -+ -+#ifndef NET_NAME_PREDICTABLE -+# define NET_NAME_PREDICTABLE 2 -+#endif -+ -+#ifndef NET_NAME_USER -+# define NET_NAME_USER 3 -+#endif -+ -+#ifndef NET_NAME_RENAMED -+# define NET_NAME_RENAMED 4 -+#endif -+ -Index: src/udev/net/link-config.c -=================================================================== ---- src/udev/net/link-config.c.orig -+++ src/udev/net/link-config.c -@@ -20,10 +20,11 @@ - ***/ - - #include --#include -+#include - - #include "sd-id128.h" - -+#include "missing.h" - #include "link-config.h" - #include "ethtool-util.h" - -@@ -297,23 +298,30 @@ static bool mac_is_random(struct udev_de - return false; - - /* check for NET_ADDR_RANDOM */ -- return type == 1; -+ return type == NET_ADDR_RANDOM; - } - --static bool mac_is_permanent(struct udev_device *device) { -+static bool should_rename(struct udev_device *device) { - const char *s; - unsigned type; - int r; - -- s = udev_device_get_sysattr_value(device, "addr_assign_type"); -+ s = udev_device_get_sysattr_value(device, "name_assign_type"); - if (!s) -- return true; /* if we don't know, assume it is permanent */ -+ return true; /* if we don't know, assume we should rename */ - r = safe_atou(s, &type); - if (r < 0) - return true; - -- /* check for NET_ADDR_PERM */ -- return type == 0; -+ switch (type) { -+ case NET_NAME_USER: -+ case NET_NAME_RENAMED: -+ return false; /* these were already named by userspace, do not touch again */ -+ case NET_NAME_PREDICTABLE: -+ case NET_NAME_ENUM: -+ default: -+ return true; /* the name is known to be bad, or of an unknown type */ -+ } - } - - #define HASH_KEY SD_ID128_MAKE(d3,1e,48,fa,90,fe,4b,4c,9d,af,d5,d7,a1,b1,2e,8a) -@@ -429,16 +437,16 @@ int link_config_apply(link_config_ctx *c - } - } - -- if (new_name) -- *name = new_name; /* a name was set by a policy */ -- else if (config->name) -- *name = config->name; /* a name was set manually in the config */ -- else -- *name = NULL; -+ if (should_rename(device)) { -+ if (!new_name) -+ /* if not set by policy, fall back manually set name */ -+ new_name = config->name; -+ } else -+ new_name = NULL; - - switch (config->mac_policy) { - case MACPOLICY_PERSISTENT: -- if (!mac_is_permanent(device)) { -+ if (mac_is_random(device)) { - r = get_mac(device, false, &generated_mac); - if (r == -ENOENT) - break; -@@ -467,6 +475,8 @@ int link_config_apply(link_config_ctx *c - return r; - } - -+ *name = new_name; -+ - return 0; - } - diff --git a/513-nspawn-veth.patch b/513-nspawn-veth.patch deleted file mode 100644 index b24ecf6c..00000000 --- a/513-nspawn-veth.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naur systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c ---- systemd-210/src/libsystemd/sd-rtnl/rtnl-message.c 2014-11-19 13:10:23.998310815 +0100 -+++ systemd-210.mod/src/libsystemd/sd-rtnl/rtnl-message.c 2014-12-08 12:03:18.059734333 +0100 -@@ -722,6 +722,7 @@ - - int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) { - uint16_t rtm_type; -+ int r; - - assert_return(m, -EINVAL); - assert_return(!m->sealed, -EPERM); -@@ -729,15 +730,21 @@ - sd_rtnl_message_get_type(m, &rtm_type); - - if (rtnl_message_type_is_link(rtm_type)) { -- - if ((type == IFLA_LINKINFO && m->n_containers == 0) || - (type == IFLA_INFO_DATA && m->n_containers == 1 && -- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) -- return add_rtattr(m, type, NULL, 0); -- else if (type == VETH_INFO_PEER && m->n_containers == 2 && -+ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) { -+ r = add_rtattr(m, type, NULL, 0); -+ if ( r > 0) -+ m->container_offsets[m->n_containers ++] = r; -+ return r; -+ } else if (type == VETH_INFO_PEER && m->n_containers == 2 && - GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA && -- GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) -- return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); -+ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) { -+ r = add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); -+ if ( r > 0) -+ m->container_offsets[m->n_containers ++] = r; -+ return r; -+ } - } - - return -ENOTSUP; diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index 8e0a00a7..95c19107 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -5,18 +5,21 @@ Subject: Fix /run/lock directories permissions to follow openSUSE policy disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). --- - tmpfiles.d/legacy.conf | 7 ++++--- + tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf -+++ systemd-206_git201308300826/tmpfiles.d/legacy.conf -@@ -10,12 +10,13 @@ +Index: systemd-218/tmpfiles.d/legacy.conf +=================================================================== +--- systemd-218.orig/tmpfiles.d/legacy.conf ++++ systemd-218/tmpfiles.d/legacy.conf +@@ -10,13 +10,14 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. -d /run/lock 0755 root root - -+# changed for openSUSE : only /run/lock should be available ++# changed for openSUSE: only /run/lock should be available. +d /run/lock 0775 root lock - + L /var/lock - - - - ../run/lock # /run/lock/subsys is used for serializing SysV service execution, and # hence without use on SysV-less systems. @@ -26,7 +29,7 @@ disable /var/lock/{subsys,lockdev} and change default permissions on # /run/lock/lockdev is used to serialize access to tty devices via # LCK..xxx style lock files, For more information see: -@@ -23,7 +24,7 @@ d /run/lock/subsys 0755 root root - +@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root - # On modern systems a BSD file lock is a better choice if # serialization is needed on those devices. diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 0c06b4dc..96de1ed2 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -4,21 +4,23 @@ Subject: Forward suspend / hibernate calls to pm-utils forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) --- - src/sleep/sleep.c | 26 ++++++++++++++++++++++---- - 1 file changed, 22 insertions(+), 4 deletions(-) + src/sleep/sleep.c | 27 ++++++++++++++++++++++----- + 1 file changed, 22 insertions(+), 5 deletions(-) ---- systemd-206.orig/src/sleep/sleep.c -+++ systemd-206/src/sleep/sleep.c +Index: systemd/src/sleep/sleep.c +=================================================================== +--- systemd.orig/src/sleep/sleep.c ++++ systemd/src/sleep/sleep.c @@ -24,6 +24,7 @@ #include #include #include +#include - #include "systemd/sd-id128.h" - #include "systemd/sd-messages.h" -@@ -35,6 +36,8 @@ - #include "sleep-config.h" + #include "sd-id128.h" + #include "sd-messages.h" +@@ -36,6 +37,8 @@ + #include "def.h" static char* arg_verb = NULL; +static bool delegate_to_pmutils = false; @@ -26,36 +28,37 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) static int write_mode(char **modes) { int r = 0; -@@ -50,9 +53,6 @@ static int write_mode(char **modes) { +@@ -53,10 +56,6 @@ static int write_mode(char **modes) { + if (r == 0) r = k; } - +- - if (r < 0) -- log_error("Failed to write mode to /sys/power/disk: %s", -- strerror(-r)); - +- log_error_errno(r, "Failed to write mode to /sys/power/disk: %m"); +- return r; } -@@ -90,6 +90,8 @@ static int execute(char **modes, char ** + +@@ -97,6 +96,8 @@ static int execute(char **modes, char ** + int r; _cleanup_fclose_ FILE *f = NULL; - const char* note = strappenda("SLEEP=", arg_verb); + if (!delegate_to_pmutils) { + /* This file is opened first, so that if we hit an error, * we can abort before modifying any state. */ f = fopen("/sys/power/state", "we"); -@@ -102,6 +104,7 @@ static int execute(char **modes, char ** +@@ -107,6 +108,7 @@ static int execute(char **modes, char ** r = write_mode(modes); if (r < 0) return r; + } - arguments[0] = NULL; - arguments[1] = (char*) "pre"; -@@ -114,8 +117,10 @@ static int execute(char **modes, char ** - "MESSAGE=Suspending system...", - note, + execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments); + +@@ -115,8 +117,10 @@ static int execute(char **modes, char ** + LOG_MESSAGE("Suspending system..."), + "SLEEP=%s", arg_verb, NULL); - + if (!delegate_to_pmutils) @@ -65,7 +68,7 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) if (r < 0) return r; -@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar +@@ -156,6 +160,7 @@ static int parse_argv(int argc, char *ar }; int c; @@ -73,7 +76,7 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) assert(argc >= 0); assert(argv); -@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar +@@ -193,6 +198,18 @@ static int parse_argv(int argc, char *ar return -EINVAL; } diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch deleted file mode 100644 index 41d51bfa..00000000 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ /dev/null @@ -1,140 +0,0 @@ -From: Frederic Crozat -Date: Fri, 12 Apr 2013 16:56:26 +0200 -Subject: Revert "service: drop support for SysV scripts for the early boot" - -This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. - -Conflicts: - src/core/service.c ---- - src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 46 insertions(+), 5 deletions(-) - -Index: systemd-208/src/core/service.c -=================================================================== ---- systemd-208.orig/src/core/service.c -+++ systemd-208/src/core/service.c -@@ -51,7 +51,8 @@ - - typedef enum RunlevelType { - RUNLEVEL_UP, -- RUNLEVEL_DOWN -+ RUNLEVEL_DOWN, -+ RUNLEVEL_SYSINIT - } RunlevelType; - - static const struct { -@@ -66,6 +67,16 @@ static const struct { - { "rc4.d", SPECIAL_RUNLEVEL4_TARGET, RUNLEVEL_UP }, - { "rc5.d", SPECIAL_RUNLEVEL5_TARGET, RUNLEVEL_UP }, - -+#ifdef HAVE_SYSV_COMPAT -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+#endif -+ -+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) -+ /* Debian style rcS.d */ -+ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+#endif -+ - /* Standard SysV runlevels for shutdown */ - { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN }, - { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN } -@@ -74,10 +85,12 @@ static const struct { - directories in this order, and we want to make sure that - sysv_start_priority is known when we first load the - unit. And that value we only know from S links. Hence -- UP must be read before DOWN */ -+ UP/SYSINIT must be read before DOWN */ - }; - - #define RUNLEVELS_UP "12345" -+/* #define RUNLEVELS_DOWN "06" */ -+#define RUNLEVELS_BOOT "bBsS" - #endif - - static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -340,6 +353,9 @@ static char *sysv_translate_name(const c - if (endswith(name, ".sh")) - /* Drop .sh suffix */ - strcpy(stpcpy(r, name) - 3, ".service"); -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ strcpy(stpcpy(r, name + 5), ".service"); - else - /* Normal init script name */ - strcpy(stpcpy(r, name), ".service"); -@@ -942,6 +958,13 @@ static int service_load_sysv_path(Servic - - if ((r = sysv_exec_commands(s, supports_reload)) < 0) - goto finish; -+ if (s->sysv_runlevels && -+ chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels) && -+ chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { -+ /* Service has both boot and "up" runlevels -+ configured. Kill the "up" ones. */ -+ delete_chars(s->sysv_runlevels, RUNLEVELS_UP); -+ } - - if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { - /* If there a runlevels configured for this service -@@ -1023,6 +1046,9 @@ static int service_load_sysv_name(Servic - if (endswith(name, ".sh.service")) - return -ENOENT; - -+ if (startswith(name, "boot.")) -+ return -ENOENT; -+ - STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { - char *path; - int r; -@@ -1043,6 +1069,18 @@ static int service_load_sysv_name(Servic - } - free(path); - -+ if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) { -+ /* Try SUSE style boot.* init scripts */ -+ -+ path = strjoin(*p, "/boot.", name, NULL); -+ if (!path) -+ return -ENOMEM; -+ -+ /* Drop .service suffix */ -+ path[strlen(path)-8] = 0; -+ r = service_load_sysv_path(s, path); -+ free(path); -+ } - if (r < 0) - return r; - -@@ -3574,7 +3612,7 @@ static int service_enumerate(Manager *m) - - if (de->d_name[0] == 'S') { - -- if (rcnd_table[i].type == RUNLEVEL_UP) { -+ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) { - SERVICE(service)->sysv_start_priority_from_rcnd = - MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); - -@@ -3591,7 +3629,8 @@ static int service_enumerate(Manager *m) - goto finish; - - } else if (de->d_name[0] == 'K' && -- (rcnd_table[i].type == RUNLEVEL_DOWN)) { -+ (rcnd_table[i].type == RUNLEVEL_DOWN || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { - - r = set_ensure_allocated(&shutdown_services, - trivial_hash_func, trivial_compare_func); -@@ -3631,7 +3670,9 @@ static int service_enumerate(Manager *m) - * runlevels we assume the stop jobs will be implicitly added - * by the core logic. Also, we don't really distinguish here - * between the runlevels 0 and 6 and just add them to the -- * special shutdown target. */ -+ * special shutdown target. On SUSE the boot.d/ runlevel is -+ * also used for shutdown, so we add links for that too to the -+ * shutdown target.*/ - SET_FOREACH(service, shutdown_services, j) { - service = unit_follow_merge(service); - diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch deleted file mode 100644 index 04afafb9..00000000 --- a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Ludwig Nussel -Date: Mon, 26 Nov 2012 09:49:42 +0100 -Subject: avoid assertion if invalid address familily is passed to - gethostbyaddr_r (bnc#791101) - ---- - src/nss-myhostname/nss-myhostname.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c -+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c -@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb - uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; - const char *canonical = NULL, *additional = NULL; - -+ if (af != AF_INET && af != AF_INET6) { -+ *errnop = EAFNOSUPPORT; -+ *h_errnop = NO_DATA; -+ return NSS_STATUS_UNAVAIL; -+ } -+ - if (len != PROTO_ADDRESS_SIZE(af)) { - *errnop = EINVAL; - *h_errnop = NO_RECOVERY; diff --git a/avoid-leaking-socket-descriptors.patch b/avoid-leaking-socket-descriptors.patch deleted file mode 100644 index d65d1196..00000000 --- a/avoid-leaking-socket-descriptors.patch +++ /dev/null @@ -1,339 +0,0 @@ -Based on 249968612f16a71df909d6e73785c18a9ff36a65 -with src/core/dbus.c as well and corrected systemctl -error messages for killing a unit. - ---- - src/analyze/analyze.c | 2 +- - src/bus-proxyd/bus-proxyd.c | 4 +--- - src/cgroups-agent/cgroups-agent.c | 4 +--- - src/core/dbus.c | 2 +- - src/fsck/fsck.c | 2 +- - src/hostname/hostnamectl.c | 2 +- - src/hostname/hostnamed.c | 4 ++-- - src/libsystemd/sd-bus/bus-util.h | 9 +++++++++ - src/libsystemd/sd-bus/busctl.c | 2 +- - src/locale/localectl.c | 2 +- - src/locale/localed.c | 4 ++-- - src/login/inhibit.c | 2 +- - src/login/loginctl.c | 2 +- - src/login/pam-module.c | 4 ++-- - src/machine/machinectl.c | 4 ++-- - src/nspawn/nspawn.c | 4 ++-- - src/run/run.c | 2 +- - src/systemctl/systemctl.c | 2 +- - src/timedate/timedatectl.c | 2 +- - src/timedate/timedated.c | 4 ++-- - 20 files changed, 34 insertions(+), 29 deletions(-) - ---- src/analyze/analyze.c -+++ src/analyze/analyze.c 2014-10-21 11:13:56.113045992 +0000 -@@ -1264,7 +1264,7 @@ static int parse_argv(int argc, char *ar - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/bus-proxyd/bus-proxyd.c -+++ src/bus-proxyd/bus-proxyd.c 2014-10-21 11:16:16.303837968 +0000 -@@ -427,7 +427,7 @@ static int patch_sender(sd_bus *a, sd_bu - - int main(int argc, char *argv[]) { - -- _cleanup_bus_unref_ sd_bus *a = NULL, *b = NULL; -+ _cleanup_bus_close_unref_ sd_bus *a = NULL, *b = NULL; - sd_id128_t server_id; - int r, in_fd, out_fd; - bool got_hello = false; -@@ -777,8 +777,6 @@ int main(int argc, char *argv[]) { - r = 0; - - finish: -- sd_bus_flush(a); -- sd_bus_flush(b); - - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } ---- src/cgroups-agent/cgroups-agent.c -+++ src/cgroups-agent/cgroups-agent.c 2014-10-21 11:17:37.400197469 +0000 -@@ -26,7 +26,7 @@ - #include "bus-util.h" - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - if (argc != 2) { -@@ -62,7 +62,5 @@ int main(int argc, char *argv[]) { - return EXIT_FAILURE; - } - -- sd_bus_flush(bus); -- - return EXIT_SUCCESS; - } ---- src/core/dbus.c -+++ src/core/dbus.c 2014-10-17 09:52:47.000000000 +0000 -@@ -639,7 +639,7 @@ static int bus_setup_disconnected_match( - } - - static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void *userdata) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - _cleanup_close_ int nfd = -1; - Manager *m = userdata; - sd_id128_t id; ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-10-21 11:18:06.003838037 +0000 -@@ -45,7 +45,7 @@ static bool arg_show_progress = false; - - static void start_target(const char *target) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(target); ---- src/hostname/hostnamectl.c -+++ src/hostname/hostnamectl.c 2014-10-21 11:18:19.915858156 +0000 -@@ -468,7 +468,7 @@ static int hostnamectl_main(sd_bus *bus, - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/hostname/hostnamed.c -+++ src/hostname/hostnamed.c 2014-10-21 11:24:07.737447673 +0000 -@@ -566,7 +566,7 @@ static const sd_bus_vtable hostname_vtab - }; - - static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(c); -@@ -607,7 +607,7 @@ int main(int argc, char *argv[]) { - Context context = {}; - - _cleanup_event_unref_ sd_event *event = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_set_target(LOG_TARGET_AUTO); ---- src/libsystemd/sd-bus/bus-util.h -+++ src/libsystemd/sd-bus/bus-util.h 2014-10-17 09:51:34.000000000 +0000 -@@ -137,11 +137,20 @@ typedef struct UnitInfo { - - int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u); - -+static inline void sd_bus_close_unrefp(sd_bus **bus) { -+ if (*bus) { -+ sd_bus_flush(*bus); -+ sd_bus_close(*bus); -+ sd_bus_unref(*bus); -+ } -+} -+ - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, sd_bus_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_message*, sd_bus_message_unref); - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_creds*, sd_bus_creds_unref); - - #define _cleanup_bus_unref_ _cleanup_(sd_bus_unrefp) -+#define _cleanup_bus_close_unref_ _cleanup_(sd_bus_close_unrefp) - #define _cleanup_bus_message_unref_ _cleanup_(sd_bus_message_unrefp) - #define _cleanup_bus_creds_unref_ _cleanup_(sd_bus_creds_unrefp) - #define _cleanup_bus_error_free_ _cleanup_(sd_bus_error_free) ---- src/libsystemd/sd-bus/busctl.c -+++ src/libsystemd/sd-bus/busctl.c 2014-10-21 11:19:01.472337887 +0000 -@@ -484,7 +484,7 @@ static int busctl_main(sd_bus *bus, int - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_parse_environment(); ---- src/locale/localectl.c -+++ src/locale/localectl.c 2014-10-21 11:19:13.811947994 +0000 -@@ -796,7 +796,7 @@ static int localectl_main(sd_bus *bus, i - } - - int main(int argc, char*argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/locale/localed.c -+++ src/locale/localed.c 2014-10-21 11:19:28.415837424 +0000 -@@ -1076,7 +1076,7 @@ static const sd_bus_vtable locale_vtable - }; - - static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(c); -@@ -1116,7 +1116,7 @@ static int connect_bus(Context *c, sd_ev - int main(int argc, char *argv[]) { - Context context = {}; - _cleanup_event_unref_ sd_event *event = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_set_target(LOG_TARGET_AUTO); ---- src/login/inhibit.c -+++ src/login/inhibit.c 2014-10-21 11:19:44.470844885 +0000 -@@ -221,7 +221,7 @@ static int parse_argv(int argc, char *ar - - int main(int argc, char *argv[]) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_parse_environment(); ---- src/login/loginctl.c -+++ src/login/loginctl.c 2014-10-21 11:20:16.695837857 +0000 -@@ -1298,7 +1298,7 @@ static int loginctl_main(sd_bus *bus, in - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/login/pam-module.c -+++ src/login/pam-module.c 2014-10-21 10:48:20.000000000 +0000 -@@ -213,7 +213,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess - *seat = NULL, - *type = NULL, *class = NULL, - *class_pam = NULL, *type_pam = NULL, *cvtnr = NULL, *desktop = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int session_fd = -1, existing, r; - bool debug = false, remote; - struct passwd *pw; -@@ -517,7 +517,7 @@ _public_ PAM_EXTERN int pam_sm_close_ses - int argc, const char **argv) { - - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - const void *existing = NULL; - const char *id; - int r; ---- src/machine/machinectl.c -+++ src/machine/machinectl.c 2014-10-21 11:20:45.747838104 +0000 -@@ -550,7 +550,7 @@ static int openpt_in_namespace(pid_t pid - static int login_machine(sd_bus *bus, char **args, unsigned n) { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *reply2 = NULL, *reply3 = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *container_bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *container_bus = NULL; - _cleanup_close_ int master = -1; - _cleanup_free_ char *getty = NULL; - const char *path, *pty, *p; -@@ -879,7 +879,7 @@ static int machinectl_main(sd_bus *bus, - } - - int main(int argc, char*argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c 2014-10-21 11:21:05.561523449 +0000 -@@ -1163,7 +1163,7 @@ static int drop_capabilities(void) { - - static int register_machine(pid_t pid) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - if (!arg_register) -@@ -1285,7 +1285,7 @@ static int register_machine(pid_t pid) { - static int terminate_machine(pid_t pid) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - const char *path; - int r; - ---- src/run/run.c -+++ src/run/run.c 2014-10-21 11:22:35.163838021 +0000 -@@ -462,7 +462,7 @@ static int start_transient_scope( - - int main(int argc, char* argv[]) { - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - _cleanup_free_ char *description = NULL, *command = NULL; - int r; - ---- src/systemctl/systemctl.c -+++ src/systemctl/systemctl.c 2014-10-22 09:36:33.399838318 +0000 -@@ -2601,7 +2601,7 @@ static int kill_unit(sd_bus *bus, char * - "ssi", *names, arg_kill_who, arg_signal); - if (q < 0) { - log_error("Failed to kill unit %s: %s", -- *names, bus_error_message(&error, r)); -+ *names, bus_error_message(&error, q)); - if (r == 0) - r = q; - } -@@ -6436,7 +6436,7 @@ static int runlevel_main(void) { - } - - int main(int argc, char*argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/timedate/timedatectl.c -+++ src/timedate/timedatectl.c 2014-10-21 11:23:06.107837988 +0000 -@@ -593,7 +593,7 @@ static int timedatectl_main(sd_bus *bus, - } - - int main(int argc, char *argv[]) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - setlocale(LC_ALL, ""); ---- src/timedate/timedated.c -+++ src/timedate/timedated.c 2014-10-21 11:23:26.047838675 +0000 -@@ -779,7 +779,7 @@ static const sd_bus_vtable timedate_vtab - }; - - static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - assert(c); -@@ -825,7 +825,7 @@ int main(int argc, char *argv[]) { - }; - - _cleanup_event_unref_ sd_event *event = NULL; -- _cleanup_bus_unref_ sd_bus *bus = NULL; -+ _cleanup_bus_close_unref_ sd_bus *bus = NULL; - int r; - - log_set_target(LOG_TARGET_AUTO); diff --git a/boot.udev b/boot.udev deleted file mode 100644 index 4fa0bd63..00000000 --- a/boot.udev +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: boot.udev -# Required-Start: -# Required-Stop: -# Should-Start: -# Should-Stop: -# Default-Start: B -# Default-Stop: -# Short-Description: manage /dev and kernel device-events -# Description: udevd daemon to manage /dev and kernel device events -### END INIT INFO - -. /etc/rc.status - -PATH="/sbin:/bin:/usr/sbin:/usr/bin" -DAEMON="@@SYSTEMD@@/systemd-udevd" -UDEVADM="@@BINDIR@@/udevadm" -WRITERULE="@@PREFIX@@/write_dev_root_rule" -udev_timeout=180 - -case "$1" in - start) - # create /dev/root symlink with dynamic rule - if [ -x ${WRITERULE} ]; then - ${WRITERULE} >/dev/null 2>&1 || true - fi - - # start udevd - echo -n "Starting udevd: " - ${DAEMON} --daemon - if [ $? -ne 0 ]; then - rc_status -v - rc_exit - fi - rc_status -v - - # trigger events for all devices - echo -n "Loading drivers, configuring devices: " - ${UDEVADM} trigger --type=subsystems --action=add - ${UDEVADM} trigger --type=devices --action=add - - # wait for events to finish - ${UDEVADM} settle --timeout=$udev_timeout - rc_status -v - ;; - stop) - echo -n "Stopping udevd: " - killproc ${DAEMON} - rc_status -v - ;; - restart) - echo -n "Restarting udevd: " - killproc ${DAEMON} - ${DAEMON} --daemon - rc_status -v - ;; - status) - echo -n "Checking for udevd: " - checkproc ${DAEMON} - rc_status -v - ;; - reload|force-reload) - echo -n "Reloading udevd: " - killproc -G -HUP ${DAEMON} - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|restart|status|reload|force-reload}" - exit 1 - ;; -esac -rc_exit diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch deleted file mode 100644 index c20aad94..00000000 --- a/disable-nss-myhostname-warning-bnc-783841.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Ludwig Nussel -Date: Tue, 12 Feb 2013 17:24:35 +0100 -Subject: disable nss-myhostname warning (bnc#783841) - ---- - src/hostname/hostnamed.c | 1 + - 1 file changed, 1 insertion(+) - ---- systemd-206.orig/src/hostname/hostnamed.c -+++ systemd-206/src/hostname/hostnamed.c -@@ -134,6 +134,7 @@ static int read_data(void) { - - static bool check_nss(void) { - void *dl; -+ return true; - - dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY); - if (dl) { diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch index 3f6b0eb4..77bed82d 100644 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -4,11 +4,13 @@ Subject: ensure shortname is set as hostname (bnc#820213) strip hostname so the domain part isn't set as part of the hostname --- - src/core/hostname-setup.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + src/core/hostname-setup.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) ---- systemd-206.orig/src/core/hostname-setup.c -+++ systemd-206/src/core/hostname-setup.c +Index: systemd-218/src/core/hostname-setup.c +=================================================================== +--- systemd-218.orig/src/core/hostname-setup.c ++++ systemd-218/src/core/hostname-setup.c @@ -32,7 +32,7 @@ #include "fileio.h" @@ -18,14 +20,13 @@ strip hostname so the domain part isn't set as part of the hostname int r; assert(path); -@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const +@@ -49,6 +49,10 @@ static int read_and_strip_hostname(const return -ENOENT; } + /* strip any leftover of a domain name */ -+ if (domain = strchr(s, '.')) { -+ *domain = NULL; -+ } ++ if ((domain = strchr(s, '.')) != NULL) ++ *domain = '\0'; + *hn = s; return 0; diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch deleted file mode 100644 index 954c60ca..00000000 --- a/fix-owner-of-var-log-btmp.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Frederic Crozat -Date: Tue, 20 Nov 2012 09:36:43 +0000 -Subject: fix owner of /var/log/btmp - -ensure btmp is owned only by root (bnc#777405). ---- - tmpfiles.d/systemd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf -+++ systemd-206_git201308300826/tmpfiles.d/systemd.conf -@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d - F! /run/utmp 0664 root utmp - - - f /var/log/wtmp 0664 root utmp - --f /var/log/btmp 0600 root utmp - -+f /var/log/btmp 0600 root root - - - d /var/cache/man - - - 30d - diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index b8fea652..c4875197 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -3,15 +3,17 @@ Date: Thu, 23 Aug 2012 11:08:25 +0200 Subject: fix support for boot prefixed initscript (bnc#746506) --- - src/systemctl/systemctl.c | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) + src/systemctl/systemctl.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) ---- systemd-206_git201308300826.orig/src/systemctl/systemctl.c -+++ systemd-206_git201308300826/src/systemctl/systemctl.c -@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args - p[strlen(p) - sizeof(".service") + 1] = 0; - found_sysv = access(p, F_OK) >= 0; +Index: systemd-218/src/systemctl/systemctl.c +=================================================================== +--- systemd-218.orig/src/systemctl/systemctl.c ++++ systemd-218/src/systemctl/systemctl.c +@@ -5202,8 +5202,26 @@ static int enable_sysv_units(const char + p[strlen(p) - strlen(".service")] = 0; + found_sysv = access(p, F_OK) >= 0; - if (!found_sysv) + if (!found_sysv) { +#ifdef HAVE_SYSV_COMPAT @@ -21,10 +23,8 @@ Subject: fix support for boot prefixed initscript (bnc#746506) + asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else + asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (!p) { -+ r = log_oom(); -+ goto finish; -+ } ++ if (!p) ++ return -ENOMEM; + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; + @@ -36,5 +36,5 @@ Subject: fix support for boot prefixed initscript (bnc#746506) +#endif + } - /* Mark this entry, so that we don't try enabling it as native unit */ - args[f] = (char*) ""; + log_info("%s is not a native service, redirecting to /sbin/chkconfig.", name); + diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch deleted file mode 100644 index c7fa0726..00000000 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Frederic Crozat -Date: Tue, 22 Jan 2013 17:02:04 +0000 -Subject: handle SYSTEMCTL_OPTIONS environment variable - -(bnc#798620) ---- - src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -Index: systemd-208/src/systemctl/systemctl.c -=================================================================== ---- systemd-208.orig/src/systemctl/systemctl.c -+++ systemd-208/src/systemctl/systemctl.c -@@ -6115,6 +6115,28 @@ int main(int argc, char*argv[]) { - * ellipsized. */ - original_stdout_is_tty = isatty(STDOUT_FILENO); - -+ if (secure_getenv("SYSTEMCTL_OPTIONS") && -+ (!program_invocation_short_name || -+ (program_invocation_short_name && strstr(program_invocation_short_name, "systemctl")))) { -+ char **parsed_systemctl_options = strv_split_quoted(getenv("SYSTEMCTL_OPTIONS")); -+ -+ if (*parsed_systemctl_options && **parsed_systemctl_options) { -+ char **k,**a; -+ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); -+ new_argv[0] = strdup(argv[0]); -+ for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { -+ *k = strdup(*a); -+ } -+ for (a = argv+1; *a; k++, a++) { -+ *k = strdup(*a); -+ } -+ *k = NULL; -+ argv = new_argv; -+ argc = strv_length(new_argv); -+ strv_free (parsed_systemctl_options); -+ } -+ } -+ - r = parse_argv(argc, argv); - if (r <= 0) - goto finish; diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 96213505..52af3ee9 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -4,13 +4,13 @@ Subject: handle disable_caplock and compose_table and kbd_rate (bnc#746595) --- - src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 153 insertions(+), 3 deletions(-) + src/vconsole/vconsole-setup.c | 151 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 148 insertions(+), 3 deletions(-) -Index: systemd-210/src/vconsole/vconsole-setup.c +Index: systemd-218/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-210.orig/src/vconsole/vconsole-setup.c -+++ systemd-210/src/vconsole/vconsole-setup.c +--- systemd-218.orig/src/vconsole/vconsole-setup.c ++++ systemd-218/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -19,7 +19,7 @@ Index: systemd-210/src/vconsole/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -99,8 +100,8 @@ static int enable_utf8(int fd) { +@@ -101,8 +102,8 @@ static int enable_utf8(int fd) { return r; } @@ -30,7 +30,7 @@ Index: systemd-210/src/vconsole/vconsole-setup.c int i = 0; pid_t pid; -@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c +@@ -121,6 +122,8 @@ static int keymap_load(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +39,7 @@ Index: systemd-210/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) +@@ -236,11 +239,113 @@ static void font_copy_to_all_vcs(int fd) } } @@ -140,25 +140,20 @@ Index: systemd-210/src/vconsole/vconsole-setup.c + int main(int argc, char **argv) { const char *vc; - char *vc_keymap = NULL; -@@ -219,8 +317,16 @@ int main(int argc, char **argv) { - char *vc_font = NULL; - char *vc_font_map = NULL; - char *vc_font_unimap = NULL; + _cleanup_free_ char + *vc_keymap = NULL, *vc_keymap_toggle = NULL, + *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; +#ifdef HAVE_SYSV_COMPAT -+ char *vc_kbd_delay = NULL; -+ char *vc_kbd_rate = NULL; -+ char *vc_kbd_disable_caps_lock = NULL; -+ char *vc_compose_table = NULL; ++ _cleanup_free_ char ++ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, ++ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; +#endif - int fd = -1; - bool utf8; + bool disable_capslock = false; + _cleanup_close_ int fd = -1; + bool utf8; pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -251,6 +357,28 @@ int main(int argc, char **argv) { +@@ -273,6 +378,28 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -187,45 +182,37 @@ Index: systemd-210/src/vconsole/vconsole-setup.c r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -282,7 +410,12 @@ int main(int argc, char **argv) { - disable_utf8(fd); +@@ -312,14 +439,32 @@ int main(int argc, char **argv) { + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid, true); - r = EXIT_FAILURE; -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && -+ -+ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +- r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid); ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); + if (r < 0) { + log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); + return EXIT_FAILURE; + } +#ifdef HAVE_SYSV_COMPAT -+ load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -+ set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && ++ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); ++ if (r < 0) { ++ log_error_errno(r, "Failed to start " KBD_LOADKEYS " loading the compose table: %m"); ++ return EXIT_FAILURE; ++ } ++ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); ++ if (r < 0) { ++ log_error_errno(r, "Failed to start kbdrate: %m"); ++ return EXIT_FAILURE; ++ } +#endif - font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) - r = EXIT_SUCCESS; -@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); - + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid, true); +#ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); -+ ++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid, true); + if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); -+#endif -+ - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) -@@ -300,6 +441,12 @@ finish: - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); -+#ifdef HAVE_SYSV_COMPAT -+ free(vc_kbd_delay); -+ free(vc_kbd_rate); -+ free(vc_kbd_disable_caps_lock); -+ free(vc_compose_table); ++ wait_for_terminate_and_warn("/usr/bin/kbdrate", kbd_rate_pid, true); +#endif - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ + if (font_copy && font_pid > 0) diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch deleted file mode 100644 index 57a74f0d..00000000 --- a/handle-etc-HOSTNAME.patch +++ /dev/null @@ -1,77 +0,0 @@ -From: Frederic Crozat -Date: Fri, 15 Feb 2013 16:04:39 +0000 -Subject: handle /etc/HOSTNAME - -(bnc#803653) ---- - src/core/hostname-setup.c | 22 +++++++++++++++++----- - src/hostname/hostnamed.c | 12 +++++++++++- - 2 files changed, 28 insertions(+), 6 deletions(-) - ---- systemd-206/src/core/hostname-setup.c -+++ systemd-206/src/core/hostname-setup.c -@@ -61,12 +61,24 @@ int hostname_setup(void) { - - r = read_and_strip_hostname("/etc/hostname", &b); - if (r < 0) { -- if (r == -ENOENT) -- enoent = true; -- else -- log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ if (r == -ENOENT) { -+ /* use SUSE fallback */ -+ r = read_and_strip_hostname("/etc/HOSTNAME", &b); -+ if (r < 0) { -+ if (r == -ENOENT) -+ enoent = true; -+ else -+ log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ hn = NULL; -+ } -+ else -+ hn = b; - -- hn = NULL; -+ } -+ else { -+ log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ hn = NULL; -+ } - } else - hn = b; - ---- systemd-209/src/hostname/hostnamed.c -+++ systemd-209/src/hostname/hostnamed.c 2014-02-28 11:36:30.594735241 +0000 -@@ -89,6 +89,10 @@ static int context_read_data(Context *c) - if (r < 0 && r != -ENOENT) - return r; - -+ r = read_one_line_file("/etc/HOSTNAME", &c->data[PROP_STATIC_HOSTNAME]); -+ if (r < 0 && r != -ENOENT) -+ return r; -+ - return 0; - } - -@@ -246,6 +250,7 @@ static int context_write_data_hostname(C - } - - static int context_write_data_static_hostname(Context *c) { -+ int r; - - assert(c); - -@@ -256,7 +261,12 @@ static int context_write_data_static_hos - - return 0; - } -- return write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); -+ -+ r = write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); -+ if (!r) { -+ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); -+ } -+ return r; - } - - static int context_write_data_other(Context *c) { diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 4278436c..a9f6924a 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,105 +6,19 @@ Authors: Stanislav Brabec Cristian Rodríguez -Index: systemd-210/src/vconsole/vconsole-setup.c +--- + Makefile.am | 13 ++++++++++ + rules/73-seat-numlock.rules | 8 ++++++ + src/login/numlock-on.c | 34 +++++++++++++++++++++++++++ + src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++-- + units/systemd-vconsole-setup.service.in | 2 - + 5 files changed, 94 insertions(+), 3 deletions(-) + +Index: systemd-218/Makefile.am =================================================================== ---- systemd-210.orig/src/vconsole/vconsole-setup.c -+++ systemd-210/src/vconsole/vconsole-setup.c -@@ -42,6 +42,10 @@ - #include "fileio.h" - #include "strv.h" - -+#define BIOS_DATA_AREA 0x400 -+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 -+#define BDA_KSF4_NUMLOCK_MASK 0x02 -+ - static bool is_vconsole(int fd) { - unsigned char data[1]; - -@@ -321,12 +325,14 @@ int main(int argc, char **argv) { - char *vc_kbd_delay = NULL; - char *vc_kbd_rate = NULL; - char *vc_kbd_disable_caps_lock = NULL; -+ char *vc_kbd_numlock = NULL; - char *vc_compose_table = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; - #endif - int fd = -1; - bool utf8; - bool disable_capslock = false; -+ bool numlock = false; - pid_t font_pid = 0, keymap_pid = 0; - bool font_copy = false; - int r = EXIT_FAILURE; -@@ -363,6 +369,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -377,6 +384,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ fdmem = open ("/dev/mem", O_RDONLY); -+ -+ if(fdmem < 0) { -+ r = EXIT_FAILURE; -+ log_error("Failed to open /dev/mem: %m"); -+ goto finish; -+ } -+ -+ if(lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ r = EXIT_FAILURE; -+ log_error("Failed to seek /dev/mem: %m"); -+ goto finish; -+ } -+ -+ if(read (fdmem, &c, sizeof(char)) == -1) { -+ r = EXIT_FAILURE; -+ log_error("Failed to read /dev/mem: %m"); -+ goto finish; -+ } -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ } else -+#endif -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - - r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -422,6 +459,10 @@ int main(int argc, char **argv) { - finish: - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - - #ifdef HAVE_SYSV_COMPAT - if (compose_table_pid > 0) -@@ -441,6 +482,7 @@ finish: - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); -+ free(vc_kbd_numlock); - #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -3715,6 +3715,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -124,10 +38,10 @@ Index: systemd-210/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-210/rules/73-seat-numlock.rules +Index: systemd-218/rules/73-seat-numlock.rules =================================================================== --- /dev/null -+++ systemd-210/rules/73-seat-numlock.rules ++++ systemd-218/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -137,10 +51,10 @@ Index: systemd-210/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-210/src/login/numlock-on.c +Index: systemd-218/src/login/numlock-on.c =================================================================== --- /dev/null -+++ systemd-210/src/login/numlock-on.c ++++ systemd-218/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -176,14 +90,95 @@ Index: systemd-210/src/login/numlock-on.c + + exit(0); +} -Index: systemd-210/units/systemd-vconsole-setup.service.in +Index: systemd-218/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-210.orig/units/systemd-vconsole-setup.service.in -+++ systemd-210/units/systemd-vconsole-setup.service.in -@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup +--- systemd-218.orig/src/vconsole/vconsole-setup.c ++++ systemd-218/src/vconsole/vconsole-setup.c +@@ -42,6 +42,10 @@ + #include "fileio.h" + #include "strv.h" + ++#define BIOS_DATA_AREA 0x400 ++#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 ++#define BDA_KSF4_NUMLOCK_MASK 0x02 ++ + static bool is_vconsole(int fd) { + unsigned char data[1]; + +@@ -342,10 +346,11 @@ int main(int argc, char **argv) { + #ifdef HAVE_SYSV_COMPAT + _cleanup_free_ char + *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, +- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; ++ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, ++ *vc_kbd_numlock = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; + #endif +- bool disable_capslock = false; ++ bool disable_capslock = false, numlock = false; + _cleanup_close_ int fd = -1; + bool utf8; + pid_t font_pid = 0, keymap_pid = 0; +@@ -384,6 +389,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -398,6 +404,32 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#if defined(__i386__) || defined(__x86_64__) ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; ++ ++ fdmem = open ("/dev/mem", O_RDONLY); ++ if (fdmem < 0) { ++ log_error("Failed to open /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ log_error("Failed to seek /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (read (fdmem, &c, sizeof(char)) == -1) { ++ log_error("Failed to read /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } else ++#endif ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); + #endif + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -444,6 +476,10 @@ int main(int argc, char **argv) { + log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); + return EXIT_FAILURE; + } ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #ifdef HAVE_SYSV_COMPAT + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { +Index: systemd-218/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-218.orig/units/systemd-vconsole-setup.service.in ++++ systemd-218/units/systemd-vconsole-setup.service.in +@@ -10,7 +10,7 @@ Description=Setup Virtual Console + Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service -Before=sysinit.target shutdown.target +Before=sysinit.target shutdown.target systemd-udev-trigger.service ConditionPathExists=/dev/tty0 diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index d7bea39c..a441dd59 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -4,16 +4,16 @@ Subject: handle root_uses_lang value in /etc/sysconfig/language handle ROOT_USES_LANG=ctype (bnc#792182). --- - src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) + src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) -Index: systemd-208/src/core/locale-setup.c +Index: systemd-218/src/core/locale-setup.c =================================================================== ---- systemd-208.orig/src/core/locale-setup.c -+++ systemd-208/src/core/locale-setup.c -@@ -73,6 +73,11 @@ int locale_setup(char ***environment) { +--- systemd-218.orig/src/core/locale-setup.c ++++ systemd-218/src/core/locale-setup.c +@@ -36,6 +36,11 @@ int locale_setup(char ***environment) { char **add; - char *variables[_VARIABLE_MAX] = {}; + char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT + char _cleanup_free_ *root_uses_lang; @@ -23,9 +23,9 @@ Index: systemd-208/src/core/locale-setup.c if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -119,6 +124,27 @@ int locale_setup(char ***environment) { +@@ -82,6 +87,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) - log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); + log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } +#ifdef HAVE_SYSV_COMPAT + if (r <= 0 && @@ -50,4 +50,4 @@ Index: systemd-208/src/core/locale-setup.c +#endif add = NULL; - for (i = 0; i < _VARIABLE_MAX; i++) { + for (i = 0; i < _VARIABLE_LC_MAX; i++) { diff --git a/insserv-generator.patch b/insserv-generator.patch index 5525222a..1e1cdf4e 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -6,29 +6,30 @@ Subject: [PATCH] insserv.conf generator parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate systemd unit drop-in files to add dependencies --- - Makefile.am | 9 + - src/insserv-generator/Makefile | 28 +++ - src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++ - 3 files changed, 346 insertions(+) + Makefile.am | 9 + src/insserv-generator/Makefile | 28 ++ + src/insserv-generator/insserv-generator.c | 312 ++++++++++++++++++++++++++++++ + 3 files changed, 349 insertions(+) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd-210/Makefile.am -=================================================================== ---- systemd-210.orig/Makefile.am -+++ systemd-210/Makefile.am -@@ -343,6 +343,7 @@ rootlibexec_PROGRAMS = \ - systemd-socket-proxyd +--- systemd-219.orig/Makefile.am ++++ systemd-219/Makefile.am +@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \ - systemgenerator_PROGRAMS = \ -+ systemd-insserv-generator \ - systemd-getty-generator \ - systemd-fstab-generator \ - systemd-system-update-generator -@@ -1728,6 +1729,14 @@ systemd_delta_LDADD = \ + systemgenerator_PROGRAMS += \ + systemd-sysv-generator \ +- systemd-rc-local-generator ++ systemd-rc-local-generator \ ++ systemd-insserv-generator + endif + + EXTRA_DIST += \ +@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \ + libsystemd-label.la \ libsystemd-shared.la - # ------------------------------------------------------------------------------ ++#------------------------------------------------------------------------------- +systemd_insserv_generator_SOURCES = \ + src/insserv-generator/insserv-generator.c + @@ -36,14 +37,11 @@ Index: systemd-210/Makefile.am + libsystemd-label.la \ + libsystemd-shared.la + -+# ------------------------------------------------------------------------------ - systemd_getty_generator_SOURCES = \ - src/getty-generator/getty-generator.c - -Index: systemd-210/src/insserv-generator/Makefile -=================================================================== + # ------------------------------------------------------------------------------ + systemd_remount_fs_SOURCES = \ + src/remount-fs/remount-fs.c \ --- /dev/null -+++ systemd-210/src/insserv-generator/Makefile ++++ systemd-219/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,10 +71,8 @@ Index: systemd-210/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd-210/src/insserv-generator/insserv-generator.c -=================================================================== --- /dev/null -+++ systemd-210/src/insserv-generator/insserv-generator.c ++++ systemd-219/src/insserv-generator/insserv-generator.c @@ -0,0 +1,312 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -354,7 +350,7 @@ Index: systemd-210/src/insserv-generator/insserv-generator.c + + while ((de = readdir(d))) { + char *path = NULL; -+ if (ignore_file(de->d_name)) ++ if (hidden_file(de->d_name)) + continue; + + path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch index 008a72ef..4caf994f 100644 --- a/journald-advice-about-use-of-memory.patch +++ b/journald-advice-about-use-of-memory.patch @@ -1,143 +1,135 @@ ---- - src/journal/catalog.c | 21 +++++++++++++++++++-- - src/journal/journal-authenticate.c | 4 ++-- - src/journal/journal-file.c | 2 +- - src/journal/journald-kmsg.c | 2 +- - src/journal/mmap-cache.c | 24 ++++++++++++++++++++++-- - 5 files changed, 45 insertions(+), 8 deletions(-) +From: werner@suse.de +Upstream: marked as openSUSE-specific fix originally, but may well + worth be to be sent upstream. ---- src/journal/catalog.c -+++ src/journal/catalog.c 2014-10-24 11:44:59.079838065 +0000 -@@ -472,9 +472,19 @@ finish: +Original description: + (none) + +Notes [jengelh@inai.de]: +MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render +MAP_POPULATE ineffective. Why do we have it? +What is the rationale for MAP_STACK? +--- + src/journal/catalog.c | 12 +++++++++++- + src/journal/journal-authenticate.c | 7 +++++-- + src/journal/journald-kmsg.c | 3 ++- + src/journal/mmap-cache.c | 16 +++++++++++++++- + 4 files changed, 33 insertions(+), 5 deletions(-) + +Index: systemd/src/journal/catalog.c +=================================================================== +--- systemd.orig/src/journal/catalog.c ++++ systemd/src/journal/catalog.c +@@ -470,6 +470,10 @@ finish: static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { const CatalogHeader *h; -- int fd; -+ static const struct { -+ const int index; -+ int advise; -+ } advises[] = { -+ {0,MADV_WILLNEED}, -+ {1,MADV_SEQUENTIAL}, -+ {2,MADV_DONTDUMP}, -+ {3,MADV_DONTFORK} -+ }; -+ int n, fd; ++ static const unsigned int advice[] = ++ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; ++ unsigned int n; ++ size_t psize; + int fd; void *p; struct stat st; -+ size_t psize; - - assert(_fd); - assert(_st); -@@ -494,12 +504,19 @@ static int open_mmap(const char *databas +@@ -492,12 +496,18 @@ static int open_mmap(const char *databas return -EINVAL; } - p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); + psize = PAGE_ALIGN(st.st_size); -+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, 0); ++ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE | ++ MAP_NONBLOCK, fd, 0); if (p == MAP_FAILED) { - close_nointr_nofail(fd); + safe_close(fd); return -errno; } -+ for (n=0; n < sizeof(advises)/sizeof(advises[0]); n++) { -+ int r = madvise(p, psize, advises[n].advise); -+ if (r < 0) ++ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) ++ if (madvise(p, psize, advice[n]) < 0) + log_warning("Failed to give advice about use of memory: %m"); -+ } + h = p; if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || le64toh(h->header_size) < sizeof(CatalogHeader) || ---- src/journal/journal-authenticate.c -+++ src/journal/journal-authenticate.c 2014-10-24 07:41:09.271837523 +0000 -@@ -355,7 +355,7 @@ int journal_file_fss_load(JournalFile *f +Index: systemd/src/journal/journal-authenticate.c +=================================================================== +--- systemd.orig/src/journal/journal-authenticate.c ++++ systemd/src/journal/journal-authenticate.c +@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f goto finish; } - m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); -+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED|MAP_STACK, fd, 0); ++ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, ++ MAP_SHARED | MAP_STACK, fd, 0); if (m == MAP_FAILED) { m = NULL; r = -errno; -@@ -399,7 +399,7 @@ int journal_file_fss_load(JournalFile *f +@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f goto finish; } - f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); ++ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), ++ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK, ++ fd, 0); if (f->fss_file == MAP_FAILED) { f->fss_file = NULL; r = -errno; ---- src/journal/journal-file.c -+++ src/journal/journal-file.c 2014-10-24 07:39:25.603837720 +0000 -@@ -2554,7 +2554,7 @@ int journal_file_open( - goto fail; - } - -- f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED, f->fd, 0); -+ f->header = mmap(NULL, PAGE_ALIGN(sizeof(Header)), prot_from_flags(flags), MAP_SHARED|MAP_STACK, f->fd, 0); - if (f->header == MAP_FAILED) { - f->header = NULL; - r = -errno; ---- src/journal/journald-kmsg.c -+++ src/journal/journald-kmsg.c 2014-10-24 07:38:01.967837989 +0000 -@@ -473,7 +473,7 @@ int server_open_kernel_seqnum(Server *s) +Index: systemd/src/journal/journald-kmsg.c +=================================================================== +--- systemd.orig/src/journal/journald-kmsg.c ++++ systemd/src/journal/journald-kmsg.c +@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) return 0; } - p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_STACK, fd, 0); ++ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE, ++ MAP_SHARED | MAP_STACK, fd, 0); if (p == MAP_FAILED) { - log_error("Failed to map sequential number file, ignoring: %m"); - close_nointr_nofail(fd); ---- src/journal/mmap-cache.c -+++ src/journal/mmap-cache.c 2014-10-24 11:16:47.759837744 +0000 -@@ -439,12 +439,21 @@ static int add_mmap( + log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); + return 0; +Index: systemd/src/journal/mmap-cache.c +=================================================================== +--- systemd.orig/src/journal/mmap-cache.c ++++ systemd/src/journal/mmap-cache.c +@@ -467,11 +467,14 @@ static int add_mmap( struct stat *st, void **ret) { -+ static const struct { -+ const int index; -+ int vise; -+ } ad[] = { -+ {0, MADV_WILLNEED}, -+ {1, MADV_SEQUENTIAL}, -+ {2, MADV_DONTDUMP}, -+ {3, MADV_DONTFORK} -+ }; ++ static const unsigned int advice[] = ++ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; uint64_t woffset, wsize; Context *c; FileDescriptor *f; Window *w; void *d; -- int r; -+ int n, r; ++ unsigned int n; + int r; assert(m); - assert(m->n_ref > 0); -@@ -481,7 +490,7 @@ static int add_mmap( +@@ -510,7 +513,8 @@ static int add_mmap( } for (;;) { - d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); -+ d = mmap(NULL, wsize, prot, MAP_SHARED|MAP_POPULATE|MAP_NONBLOCK, fd, woffset); ++ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE | ++ MAP_NONBLOCK, fd, woffset); if (d != MAP_FAILED) break; if (errno != ENOMEM) -@@ -494,6 +503,17 @@ static int add_mmap( +@@ -523,6 +527,16 @@ static int add_mmap( return -ENOMEM; } -+ for (n=0; n < sizeof(ad)/sizeof(ad[0]); n++) { -+ if (ad[n].vise == MADV_DONTFORK) { ++ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) { ++ if (advice[n] == MADV_DONTFORK) { + int flags = fcntl(fd, F_GETFD); + if (flags < 0 || !(flags & FD_CLOEXEC)) + continue; + } -+ r = madvise(d, wsize, ad[n].vise); -+ if (r < 0) ++ if (madvise(d, wsize, advice[n]) < 0) + log_warning("Failed to give advice about use of memory: %m"); + } + diff --git a/kbd-model-map.patch b/kbd-model-map.patch index 743a67b2..b7327892 100644 --- a/kbd-model-map.patch +++ b/kbd-model-map.patch @@ -1,13 +1,18 @@ +From: werner@suse.de +Date: Tue Jan 20 11:33:59 UTC 2015 + --- src/locale/kbd-model-map | 13 +++++++++++++ 1 file changed, 13 insertions(+) ---- src/locale/kbd-model-map -+++ src/locale/kbd-model-map 2015-01-20 11:31:38.357518811 +0000 -@@ -63,3 +63,16 @@ by by,us pc105 - terminate:ctrl_alt_ - il il pc105 - terminate:ctrl_alt_bksp - kazakh kz,us pc105 - terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll +Index: systemd/src/locale/kbd-model-map +=================================================================== +--- systemd.orig/src/locale/kbd-model-map ++++ systemd/src/locale/kbd-model-map +@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a + lt.l4 lt pc105 - terminate:ctrl_alt_bksp lt lt pc105 - terminate:ctrl_alt_bksp + khmer kh,us pc105 - terminate:ctrl_alt_bksp +# Additional layouts offered by YaST +Pl02 pl pc105 - terminate:ctrl_alt_bksp +arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch index e2bbdda1..4879c708 100644 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ b/let-linker-find-libudev-for-libdevmapper.patch @@ -1,6 +1,13 @@ ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am 2014-03-13 08:54:36.010736086 +0000 -@@ -3691,6 +3691,10 @@ systemd_cryptsetup_CFLAGS = \ +--- + Makefile.am | 4 ++++ + configure.ac | 4 ---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +Index: systemd/Makefile.am +=================================================================== +--- systemd.orig/Makefile.am ++++ systemd/Makefile.am +@@ -4789,6 +4789,10 @@ systemd_cryptsetup_CFLAGS = \ $(AM_CFLAGS) \ $(LIBCRYPTSETUP_CFLAGS) @@ -11,27 +18,18 @@ systemd_cryptsetup_LDADD = \ libsystemd-label.la \ libudev-internal.la \ ---- systemd-210/Makefile.in -+++ systemd-210/Makefile.in 2014-03-13 09:19:48.950238725 +0000 -@@ -8964,7 +8964,7 @@ src/cryptsetup/systemd_cryptsetup-crypts +Index: systemd/configure.ac +=================================================================== +--- systemd.orig/configure.ac ++++ systemd/configure.ac +@@ -206,10 +206,6 @@ AS_CASE([$CC], [*clang*], + -Wno-gnu-variable-sized-type-not-at-end \ + ])]) - systemd-cryptsetup$(EXEEXT): $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_DEPENDENCIES) $(EXTRA_systemd_cryptsetup_DEPENDENCIES) - @rm -f systemd-cryptsetup$(EXEEXT) -- $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDADD) $(LIBS) -+ $(AM_V_CCLD)$(systemd_cryptsetup_LINK) $(systemd_cryptsetup_OBJECTS) $(systemd_cryptsetup_LDFLAGS) $(systemd_cryptsetup_LDADD) $(LIBS) - src/cryptsetup/cryptsetup-generator.$(OBJEXT): \ - src/cryptsetup/$(am__dirstamp) \ - src/cryptsetup/$(DEPDIR)/$(am__dirstamp) ---- systemd-210/configure.ac -+++ systemd-210/configure.ac 2014-03-13 13:46:24.394235954 +0000 -@@ -156,10 +156,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CF - -fdata-sections \ - -fstack-protector \ - --param=ssp-buffer-size=4]) -AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto])], +- -flto -ffat-lto-objects])], - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags") + AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], diff --git a/localfs.service b/localfs.service deleted file mode 100644 index da3facec..00000000 --- a/localfs.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Shadow /etc/init.d/boot.localfs -DefaultDependencies=no -After=local-fs.target - -[Service] -RemainAfterExit=true -ExecStart=/bin/true diff --git a/log-target-null-instead-kmsg.patch b/log-target-null-instead-kmsg.patch deleted file mode 100644 index 4e715385..00000000 --- a/log-target-null-instead-kmsg.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- - src/journal/journald-kmsg.c | 16 +++++++++++++++- - src/libudev/libudev-util.c | 16 +++++++++++++++- - src/shared/log.c | 16 +++++++++++++++- - src/shared/util.c | 6 +++++- - 4 files changed, 50 insertions(+), 4 deletions(-) - -Index: systemd-210/src/journal/journald-kmsg.c -=================================================================== ---- systemd-210.orig/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c -@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so - return server_read_dev_kmsg(s); - } - -+static int parse_proc_cmdline_word(const char *word) { -+ if (streq(word, "systemd.log_target=null")) -+ return -115; -+ -+ return 0; -+} -+ - int server_open_dev_kmsg(Server *s) { - int r; - - assert(s); - -- s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -+ s->dev_kmsg_fd = open("/dev/null", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ } else { -+ s->dev_kmsg_fd = open("/dev/kmsg", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); -+ } -+ - if (s->dev_kmsg_fd < 0) { - log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, - "Failed to open /dev/kmsg, ignoring: %m"); -Index: systemd-210/src/libudev/libudev-util.c -=================================================================== ---- systemd-210.orig/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c -@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char - return bits; - } - -+static int parse_proc_cmdline_word(const char *word) { -+ if (streq(word, "systemd.log_target=null")) -+ return -115; -+ -+ return 0; -+} -+ - ssize_t print_kmsg(const char *fmt, ...) - { - _cleanup_close_ int fd = -1; -@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) - ssize_t len; - ssize_t ret; - -- fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -+ fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } else { -+ fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } -+ - if (fd < 0) - return -errno; - -Index: systemd-210/src/shared/log.c -=================================================================== ---- systemd-210.orig/src/shared/log.c -+++ systemd-210/src/shared/log.c -@@ -92,12 +92,24 @@ void log_close_kmsg(void) { - kmsg_fd = -1; - } - -+static int parse_proc_cmdline_word(const char *word) { -+ if (streq(word, "systemd.log_target=null")) -+ return -115; -+ -+ return 0; -+} -+ - static int log_open_kmsg(void) { - - if (kmsg_fd >= 0) - return 0; - -- kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (parse_proc_cmdline(parse_proc_cmdline_word) == -115) { -+ kmsg_fd = open("/dev/null", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } else { -+ kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ } -+ - if (kmsg_fd < 0) - return -errno; - -Index: systemd-210/src/shared/util.c -=================================================================== ---- systemd-210.orig/src/shared/util.c -+++ systemd-210/src/shared/util.c -@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) - - r = parse_word(word); - if (r < 0) { -- log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); -+ if (r == -115) { -+ log_error("Warning: %s set, redirecting messages to /dev/null.", word); -+ } else { -+ log_error("Failed on cmdline argument %s: %s", word, strerror(-r)); -+ } - return r; - } - } diff --git a/macros.systemd.upstream b/macros.systemd.upstream index 323d1d48..8c2e84f6 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -26,7 +26,9 @@ %_udevrulesdir @udevrulesdir@ %_journalcatalogdir @catalogdir@ %_tmpfilesdir @tmpfilesdir@ +%_sysusersdir @sysusersdir@ %_sysctldir @sysctldir@ +%_binfmtdir @binfmtdir@ %systemd_requires \ Requires(post): systemd \ @@ -37,42 +39,71 @@ Requires(postun): systemd \ %systemd_post() \ if [ $1 -eq 1 ] ; then \ # Initial installation \ - @rootbindir@/systemctl preset %{?*} >/dev/null 2>&1 || : \ + systemctl preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} +%systemd_user_post() %systemd_post --user --global %{?*} + %systemd_preun() \ if [ $1 -eq 0 ] ; then \ # Package removal, not upgrade \ - @rootbindir@/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - @rootbindir@/systemctl stop %{?*} > /dev/null 2>&1 || : \ + systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi \ +%{nil} + +%systemd_user_preun() \ +if [ $1 -eq 0 ] ; then \ + # Package removal, not upgrade \ + systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} %systemd_postun() \ -@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +systemctl daemon-reload >/dev/null 2>&1 || : \ %{nil} +%systemd_user_postun() %{nil} + %systemd_postun_with_restart() \ -@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +systemctl daemon-reload >/dev/null 2>&1 || : \ if [ $1 -ge 1 ] ; then \ # Package upgrade, not uninstall \ - @rootbindir@/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ + systemctl try-restart %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} +%systemd_user_postun_with_restart() %{nil} + %udev_hwdb_update() \ -@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \ +udevadm hwdb --update >/dev/null 2>&1 || : \ %{nil} %udev_rules_update() \ -@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \ +udevadm control --reload >/dev/null 2>&1 || : \ %{nil} %journal_catalog_update() \ -@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ +journalctl --update-catalog >/dev/null 2>&1 || : \ %{nil} %tmpfiles_create() \ -@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ +systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ +%{nil} + +%sysusers_create() \ +systemd-sysusers %{?*} >/dev/null 2>&1 || : \ +%{nil} + +%sysusers_create_inline() \ +echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \ +%{nil} + +%sysctl_apply() \ +@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \ +%{nil} + +%binfmt_apply() \ +@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ %{nil} diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch index 63e513cc..d5814921 100644 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ b/make-emergency.service-conflict-with-syslog.socket.patch @@ -7,16 +7,19 @@ As a workaround explicitly stop syslog.socket when entering emergency.service. Reference: bnc#852232 -Index: systemd-208/units/emergency.service.in +--- + units/emergency.service.in | 1 + + 1 file changed, 1 insertion(+) + +Index: systemd-218/units/emergency.service.in =================================================================== ---- systemd-208/units/emergency.service.in -+++ systemd-208/units/emergency.service.in -@@ -9,7 +9,7 @@ - Description=Emergency Shell - Documentation=man:sulogin(8) +--- systemd-218.orig/units/emergency.service.in ++++ systemd-218/units/emergency.service.in +@@ -11,6 +11,7 @@ Documentation=man:sulogin(8) DefaultDependencies=no --Conflicts=shutdown.target -+Conflicts=shutdown.target syslog.socket + Conflicts=shutdown.target + Conflicts=rescue.service ++Conflicts=syslog.socket Before=shutdown.target [Service] diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch deleted file mode 100644 index 4f557c54..00000000 --- a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Frederic Crozat -Date: Wed, 12 Oct 2011 15:18:29 +0200 -Subject: module-load: handle SUSE /etc/sysconfig/kernel module list - ---- - src/modules-load/modules-load.c | 27 ++++++++++++++++++++++++++- - units/systemd-modules-load.service.in | 1 + - 2 files changed, 27 insertions(+), 1 deletion(-) - ---- systemd-206_git201308300826.orig/src/modules-load/modules-load.c -+++ systemd-206_git201308300826/src/modules-load/modules-load.c -@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar - int main(int argc, char *argv[]) { - int r, k; - struct kmod_ctx *ctx; -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char *modules_on_boot = NULL; -+#endif - - r = parse_argv(argc, argv); - if (r <= 0) -@@ -318,7 +321,31 @@ int main(int argc, char *argv[]) { - r = k; - } - } -- -+#ifdef HAVE_SYSV_COMPAT -+ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); -+ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, -+ "MODULES_LOADED_ON_BOOT", &modules_on_boot, -+ NULL)) < 0) { -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); -+ else -+ r = EXIT_SUCCESS; -+ } else -+ r = EXIT_SUCCESS; -+ if (modules_on_boot) { -+ char **modules = strv_split(modules_on_boot,WHITESPACE); -+ char **module; -+ -+ if (modules) { -+ STRV_FOREACH(module, modules) { -+ k = load_module(ctx, *module); -+ if (k < 0) -+ r = EXIT_FAILURE; -+ } -+ } -+ strv_free(modules); -+ } -+#endif - finish: - kmod_unref(ctx); - strv_free(arg_proc_cmdline_modules); ---- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in -+++ systemd-206_git201308300826/units/systemd-modules-load.service.in -@@ -13,6 +13,7 @@ Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service - Before=sysinit.target shutdown.target - ConditionCapability=CAP_SYS_MODULE -+ConditionPathExists=|/etc/sysconfig/kernel - ConditionDirectoryNotEmpty=|/lib/modules-load.d - ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d - ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch deleted file mode 100644 index 5b296a18..00000000 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ /dev/null @@ -1,102 +0,0 @@ -From: Ludwig Nussel -Date: Fri, 20 May 2011 15:38:46 +0200 -Subject: optionally warn if nss-myhostname is called - ---- - configure.ac | 11 +++++++++++ - src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 43 insertions(+) - ---- systemd-206_git201308300826.orig/configure.ac -+++ systemd-206_git201308300826/configure.ac -@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno"; - fi - AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) - -+if test "x$have_myhostname" != "xno"; then -+ AC_MSG_CHECKING([log warning messages for nss-myhostname]) -+ AC_ARG_WITH(nss-my-hostname-warning, AS_HELP_STRING([--with-nss-my-hostname-warning], [log warning to syslog when nss-myhostname is called (default=no)]),[],[with_nss_my_hostname_warning=no]) -+ AC_MSG_RESULT([$with_nss_my_hostname_warning]) -+ -+ if test x$with_nss_my_hostname_warning != xno; then -+ AC_CHECK_HEADERS([syslog.h]) -+ AC_DEFINE([LOG_NSS_MY_HOSTNAME_WARNING],[1],[whether to log warning message for nss-myhostname]) -+ fi -+fi -+ - # ------------------------------------------------------------------------------ - AC_ARG_WITH(firmware-path, - AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], ---- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c -+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c -@@ -29,6 +29,9 @@ - #include - #include - #include -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+#include -+#endif - - #include "ifconf.h" - #include "macro.h" -@@ -47,6 +50,10 @@ - #define LOCALADDRESS_IPV6 &in6addr_loopback - #define LOOPBACK_INTERFACE "lo" - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+static void warn(const char* hn); -+#endif -+ - enum nss_status _nss_myhostname_gethostbyname4_r( - const char *name, - struct gaih_addrtuple **pat, -@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostb - return NSS_STATUS_NOTFOUND; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif - /* If this fails, n_addresses is 0. Which is fine */ - ifconf_acquire_addresses(&addresses, &n_addresses); - -@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostb - local_address_ipv4 = LOCALADDRESS_IPV4; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif - return fill_in_hostent( - canonical, additional, - af, -@@ -509,6 +522,9 @@ found: - canonical = hn; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif - return fill_in_hostent( - canonical, additional, - af, -@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostb - errnop, h_errnop, - NULL); - } -+ -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+static void warn(const char* hn) { -+ if (strstr(program_invocation_short_name, "nscd")) { -+ syslog(LOG_WARNING, -+ "Some application tried to resolve hostname \"%s\" which is not in DNS. Stop nscd to find out which one.\n", -+ hn); -+ } else { -+ syslog(LOG_WARNING, -+ "%s(%u) tried to resolve hostname \"%s\" which is not in DNS. This might be the reason for the delays you experience.\n", -+ program_invocation_short_name, -+ getpid(), -+ hn); -+ } -+} -+#endif diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch index 8709dc70..4226b51c 100644 --- a/parse-crypttab-for-noauto-option.patch +++ b/parse-crypttab-for-noauto-option.patch @@ -1,14 +1,14 @@ --- - src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- - 1 file changed, 50 insertions(+), 2 deletions(-) + src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- + 1 file changed, 44 insertions(+), 1 deletion(-) -Index: systemd-210/src/fstab-generator/fstab-generator.c +Index: systemd/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd-210.orig/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c -@@ -37,6 +37,50 @@ - static const char *arg_dest = "/tmp"; - static bool arg_enabled = true; +--- systemd.orig/src/fstab-generator/fstab-generator.c ++++ systemd/src/fstab-generator/fstab-generator.c +@@ -48,6 +48,49 @@ static char *arg_usr_what = NULL; + static char *arg_usr_fstype = NULL; + static char *arg_usr_options = NULL; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; @@ -53,26 +53,15 @@ Index: systemd-210/src/fstab-generator/fstab-generator.c + return 1; +} + -+ - static int mount_find_pri(struct mntent *me, int *ret) { - char *end, *pri; - unsigned long r; -@@ -212,7 +256,7 @@ static int add_mount( - *name = NULL, *unit = NULL, *lnk = NULL, - *automount_name = NULL, *automount_unit = NULL; - _cleanup_fclose_ FILE *f = NULL; -- int r; -+ int r, c; - - assert(what); - assert(where); -@@ -288,7 +332,8 @@ static int add_mount( - return -errno; - } + static int add_swap( + const char *what, + struct mntent *me, +@@ -118,7 +161,7 @@ static int add_swap( + if (r < 0) + return r; - if (!noauto) { -+ c = check_crypttab(what); -+ if (!noauto && (c != 0)) { - if (post) { - lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL); - if (!lnk) ++ if (!noauto && check_crypttab(what) != 0) { + lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET, + nofail ? ".wants/" : ".requires/", name, NULL); + if (!lnk) diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch index 560f9f3f..242a05d1 100644 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ b/plymouth-quit-and-wait-for-emergency-service.patch @@ -1,16 +1,40 @@ ---- systemd-208/units/console-shell.service.m4.in -+++ systemd-208/units/console-shell.service.m4.in 2014-02-05 11:28:31.446735287 +0000 +--- + units/console-shell.service.m4.in | 2 ++ + units/emergency.service.in | 3 ++- + units/rescue.service.in | 3 ++- + 3 files changed, 6 insertions(+), 2 deletions(-) + +Index: systemd/units/console-shell.service.m4.in +=================================================================== +--- systemd.orig/units/console-shell.service.m4.in ++++ systemd/units/console-shell.service.m4.in @@ -17,6 +17,8 @@ Before=getty.target [Service] Environment=HOME=/root WorkingDirectory=/root +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait - ExecStart=-/usr/sbin/sulogin + ExecStart=-@SULOGIN@ ExecStopPost=-@SYSTEMCTL@ poweroff Type=idle ---- systemd-208/units/rescue.service.m4.in -+++ systemd-208/units/rescue.service.m4.in 2014-02-05 11:28:45.214235524 +0000 +Index: systemd/units/emergency.service.in +=================================================================== +--- systemd.orig/units/emergency.service.in ++++ systemd/units/emergency.service.in +@@ -17,7 +17,8 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth quit ++ExecStartPre=-/usr/bin/plymouth --wait + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + Type=idle +Index: systemd/units/rescue.service.in +=================================================================== +--- systemd.orig/units/rescue.service.in ++++ systemd/units/rescue.service.in @@ -16,7 +16,8 @@ Before=shutdown.target [Service] Environment=HOME=/root @@ -18,18 +42,6 @@ -ExecStartPre=-/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' - ExecStart=-/usr/sbin/sulogin - ExecStopPost=-@SYSTEMCTL@ --fail --no-block default ---- systemd-208/units/emergency.service.in -+++ systemd-208/units/emergency.service.in 2014-02-05 11:28:51.782235282 +0000 -@@ -15,7 +15,8 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' - ExecStart=-/usr/sbin/sulogin - ExecStopPost=@SYSTEMCTL@ --fail --no-block default + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + Type=idle diff --git a/prepare-suspend-to-disk.patch b/prepare-suspend-to-disk.patch deleted file mode 100644 index 01f95f9d..00000000 --- a/prepare-suspend-to-disk.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Naur systemd-210/units/systemd-hibernate.service.in systemd-210-mod/units/systemd-hibernate.service.in ---- systemd-210/units/systemd-hibernate.service.in 2013-08-13 22:02:52.808756274 +0200 -+++ systemd-210-mod/units/systemd-hibernate.service.in 2014-03-25 12:27:44.995995220 +0100 -@@ -11,7 +11,10 @@ - DefaultDependencies=no - Requires=sleep.target - After=sleep.target -+ConditionKernelCommandLine=resume - - [Service] - Type=oneshot -+ExecStart=@rootbindir@/systemd-sleep-grub pre - ExecStart=@rootlibexecdir@/systemd-sleep hibernate -+ExecStopPost=@rootbindir@/systemd-sleep-grub post -diff -Naur systemd-210/units/systemd-hybrid-sleep.service.in systemd-210-mod/units/systemd-hybrid-sleep.service.in ---- systemd-210/units/systemd-hybrid-sleep.service.in 2013-08-13 22:02:52.809756282 +0200 -+++ systemd-210-mod/units/systemd-hybrid-sleep.service.in 2014-03-25 12:27:56.115994902 +0100 -@@ -11,7 +11,10 @@ - DefaultDependencies=no - Requires=sleep.target - After=sleep.target -+ConditionKernelCommandLine=resume - - [Service] - Type=oneshot -+ExecStart=@rootbindir@/systemd-sleep-grub pre - ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep -+ExecStopPost=@rootbindir@/systemd-sleep-grub post diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch deleted file mode 100644 index f1e0dfcb..00000000 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Frederic Crozat -Date: Wed, 7 Dec 2011 15:15:07 +0000 -Subject: remain_after_exit initscript heuristic and add new LSB headers - -Add remain_after_exit heuristic for initscripts and add LSB headers -PIDFile: and X-Systemd-RemainAfterExit to control it. - -(bnc#721426) (bnc#727771) ---- - src/core/service.c | 34 ++++++++++++++++++++++++++++++++-- - src/core/service.h | 1 + - 2 files changed, 33 insertions(+), 2 deletions(-) - -Index: systemd-208/src/core/service.c -=================================================================== ---- systemd-208.orig/src/core/service.c -+++ systemd-208/src/core/service.c -@@ -135,6 +135,7 @@ static void service_init(Unit *u) { - #ifdef HAVE_SYSV_COMPAT - s->sysv_start_priority = -1; - s->sysv_start_priority_from_rcnd = -1; -+ s->sysv_remain_after_exit_heuristic = true; - #endif - s->socket_fd = -1; - s->guess_main_pid = true; -@@ -883,6 +884,34 @@ static int service_load_sysv_path(Servic - free(short_description); - short_description = d; - -+ } else if (startswith_no_case(t, "PIDFile:")) { -+ char *fn; -+ -+ state = LSB; -+ -+ fn = strstrip(t+8); -+ if (!path_is_absolute(fn)) { -+ log_warning("[%s:%u] PID file not absolute. Ignoring.", path, line); -+ continue; -+ } -+ -+ if (!(fn = strdup(fn))) { -+ r = -ENOMEM; -+ goto finish; -+ } -+ -+ free(s->pid_file); -+ s->pid_file = fn; -+ s->sysv_remain_after_exit_heuristic = false; -+ s->remain_after_exit = false; -+ } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { -+ char *j; -+ -+ state = LSB; -+ if ((j = strstrip(t+26)) && *j) { -+ s->remain_after_exit = parse_boolean(j); -+ s->sysv_remain_after_exit_heuristic = false; -+ } - } else if (state == LSB_DESCRIPTION) { - - if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -933,7 +962,8 @@ static int service_load_sysv_path(Servic - - /* Special setting for all SysV services */ - s->type = SERVICE_FORKING; -- s->remain_after_exit = !s->pid_file; -+ if (s->sysv_remain_after_exit_heuristic) -+ s->remain_after_exit = !s->pid_file; - s->guess_main_pid = false; - s->restart = SERVICE_RESTART_NO; - s->exec_context.ignore_sigpipe = false; -@@ -2080,7 +2110,7 @@ static void service_enter_running(Servic - if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && - (s->bus_name_good || s->type != SERVICE_DBUS)) { - #ifdef HAVE_SYSV_COMPAT -- if (s->sysv_enabled && !s->pid_file) -+ if (s->sysv_enabled && !s->pid_file && s->sysv_remain_after_exit_heuristic) - s->remain_after_exit = false; - #endif - service_set_state(s, SERVICE_RUNNING); -Index: systemd-208/src/core/service.h -=================================================================== ---- systemd-208.orig/src/core/service.h -+++ systemd-208/src/core/service.h -@@ -178,6 +178,7 @@ struct Service { - bool is_sysv:1; - bool sysv_has_lsb:1; - bool sysv_enabled:1; -+ bool sysv_remain_after_exit_heuristic:1; - int sysv_start_priority_from_rcnd; - int sysv_start_priority; - diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch index ccf7cea4..91822e07 100644 --- a/respect-nfs-bg-option.patch +++ b/respect-nfs-bg-option.patch @@ -1,19 +1,22 @@ ---- systemd-210/src/fstab-generator/fstab-generator.c 2014-02-17 15:49:21.070855641 +0100 -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-04-25 16:25:13.256106126 +0200 -@@ -255,10 +255,12 @@ - "SourcePath=%s\n", - source); +--- + src/fstab-generator/fstab-generator.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +Index: systemd-218/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-218.orig/src/fstab-generator/fstab-generator.c ++++ systemd-218/src/fstab-generator/fstab-generator.c +@@ -238,8 +238,11 @@ static int add_mount( + "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", + source); - if (post && !noauto && !nofail && !automount) -- fprintf(f, -- "Before=%s\n", -- post); +- fprintf(f, "Before=%s\n", post); + if (post && !noauto && !nofail && !automount) { -+ if (!streq(type, "nfs") || (streq(type, "nfs") && !strstr(opts, "bg"))) -+ fprintf(f, -+ "Before=%s\n", -+ post); ++ bool is_nfs = fstype != NULL && streq(fstype, "nfs"); ++ if (!is_nfs || strstr(opts, "bg") == NULL) ++ fprintf(f, "Before=%s\n", post); + } - r = add_fsck(f, what, where, type, passno); - if (r < 0) + if (passno != 0) { + r = generator_write_fsck_deps(f, arg_dest, what, where, fstype); diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index 422f23ca..132b73e1 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -3,18 +3,20 @@ Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: restore /var/run and /var/lock bind mount if they aren't symlink --- - Makefile.am | 9 +++++++++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ + Makefile.am | 9 +++++++++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -419,6 +419,12 @@ dist_systemunit_DATA = \ - units/system-update.target \ - units/initrd-switch-root.target +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -516,6 +516,12 @@ endif + dist_systemunit_DATA_busnames += \ + units/busnames.target +if HAVE_SYSV_COMPAT +dist_systemunit_DATA += \ @@ -25,7 +27,7 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -6086,6 +6092,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -33,10 +35,12 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink + var-run.mount \ + var-lock.mount endif + SYSINIT_TARGET_WANTS += \ - systemd-update-utmp.service +Index: systemd-218/units/var-lock.mount +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/units/var-lock.mount ++++ systemd-218/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -57,8 +61,10 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink +Where=/var/lock +Type=bind +Options=bind +Index: systemd-218/units/var-run.mount +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/units/var-run.mount ++++ systemd-218/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch deleted file mode 100644 index d0e907bb..00000000 --- a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Frederic Crozat -Date: Fri, 30 Sep 2011 12:58:17 +0200 -Subject: service: flags sysv service with detected pid as - RemainAfterExit=false - -LSB header doesn't give pidfile, so all LSB initscripts have -RemainAfterExit=false, causing daemon termination to not be reported as -such by systemd. Checking at startup if daemon is still running for -sysv initscript to disable RemainAfterExit helps a lot. -Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 ---- - src/core/service.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - ---- systemd-206_git201308300826.orig/src/core/service.c -+++ systemd-206_git201308300826/src/core/service.c -@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic - cgroup_ok = cgroup_good(s); - - if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && -- (s->bus_name_good || s->type != SERVICE_DBUS)) -+ (s->bus_name_good || s->type != SERVICE_DBUS)) { -+#ifdef HAVE_SYSV_COMPAT -+ if (s->sysv_enabled && !s->pid_file) -+ s->remain_after_exit = false; -+#endif - service_set_state(s, SERVICE_RUNNING); -+ } - else if (s->remain_after_exit) - service_set_state(s, SERVICE_EXITED); - else diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index e13cb6dd..23bd0163 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -6,10 +6,8 @@ Use and set default logging console for both journald and kernel messages src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) -Index: src/journal/journald-console.c -=================================================================== ---- src/journal/journald-console.c.orig -+++ src/journal/journald-console.c +--- systemd-219.orig/src/journal/journald-console.c ++++ systemd-219/src/journal/journald-console.c @@ -23,6 +23,14 @@ #include #include @@ -25,13 +23,13 @@ Index: src/journal/journald-console.c #include "fileio.h" #include "journald-server.h" -@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) { +@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } -+#ifdef HAVE_SYSV_COMPAT +void defaul_tty_path(Server *s) +{ ++#ifdef HAVE_SYSV_COMPAT + static const char list[] = "/dev/tty10\0" "/dev/console\0"; + const char *vc; + @@ -51,10 +49,12 @@ Index: src/journal/journald-console.c + s->tty_path = strdup(vc); + break; + } ++#endif +} + +void klogconsole(Server *s) +{ ++#ifdef HAVE_SYSV_COMPAT + _cleanup_free_ char *klogconsole_params = NULL; + _cleanup_close_ int fd = -1; + const char *vc = s->tty_path; @@ -94,27 +94,29 @@ Index: src/journal/journald-console.c + num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); + if (safe_atoi(num, &r) == 0) + klogctl(8, 0, r); -+} +#endif ++} + void server_forward_console( Server *s, int priority, -@@ -64,6 +140,10 @@ void server_forward_console( +@@ -64,6 +142,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; ++#ifdef HAVE_SYSV_COMPAT + /* Do not write security/authorization (private) messages to console */ + if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) + return; ++#endif + /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -101,7 +181,23 @@ void server_forward_console( +@@ -100,7 +184,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { - log_debug("Failed to open %s for logging: %m", tty); + log_debug_errno(errno, "Failed to open %s for logging: %m", tty); +#ifdef HAVE_SYSV_COMPAT + if (fd != -ENOENT && fd != -ENODEV) + return; @@ -135,23 +137,18 @@ Index: src/journal/journald-console.c } if (writev(fd, iovec, n) < 0) -Index: src/journal/journald-console.h -=================================================================== ---- src/journal/journald-console.h.orig -+++ src/journal/journald-console.h -@@ -24,3 +24,7 @@ +--- systemd-219.orig/src/journal/journald-console.h ++++ systemd-219/src/journal/journald-console.h +@@ -24,3 +24,6 @@ #include "journald-server.h" - void server_forward_console(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred); -+#ifdef HAVE_SYSV_COMPAT + void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); ++ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); -+#endif -Index: src/journal/journald-server.c -=================================================================== ---- src/journal/journald-server.c.orig -+++ src/journal/journald-server.c -@@ -1509,6 +1509,11 @@ int server_init(Server *s) { +--- systemd-219.orig/src/journal/journald-server.c ++++ systemd-219/src/journal/journald-server.c +@@ -1520,6 +1520,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); @@ -161,5 +158,5 @@ Index: src/journal/journald-server.c + klogconsole(s); + if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { - log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0", - (long long unsigned) s->rate_limit_interval, + log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", + s->rate_limit_interval, s->rate_limit_burst); diff --git a/shut-up-annoying-assertion-monotonic-clock-message.patch b/shut-up-annoying-assertion-monotonic-clock-message.patch deleted file mode 100644 index ecdf4bc0..00000000 --- a/shut-up-annoying-assertion-monotonic-clock-message.patch +++ /dev/null @@ -1,38 +0,0 @@ -Stop flooding the kernel's message ring buffer with useless -messages on dual_timestamp_is_set is failed. This is a backport -from upstream code. - ---- - src/libsystemd/sd-event/sd-event.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- systemd-210/src/libsystemd/sd-event/sd-event.c -+++ systemd-210/src/libsystemd/sd-event/sd-event.c 2014-05-02 10:01:23.366235185 +0000 -@@ -2191,9 +2191,12 @@ _public_ int sd_event_exit(sd_event *e, - _public_ int sd_event_get_now_realtime(sd_event *e, uint64_t *usec) { - assert_return(e, -EINVAL); - assert_return(usec, -EINVAL); -- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); - assert_return(!event_pid_changed(e), -ECHILD); - -+ /* If we haven't run yet, just get the actual time */ -+ if (!dual_timestamp_is_set(&e->timestamp)) -+ return -ENODATA; -+ - *usec = e->timestamp.realtime; - return 0; - } -@@ -2201,9 +2204,12 @@ _public_ int sd_event_get_now_realtime(s - _public_ int sd_event_get_now_monotonic(sd_event *e, uint64_t *usec) { - assert_return(e, -EINVAL); - assert_return(usec, -EINVAL); -- assert_return(dual_timestamp_is_set(&e->timestamp), -ENODATA); - assert_return(!event_pid_changed(e), -ECHILD); - -+ /* If we haven't run yet, just get the actual time */ -+ if (!dual_timestamp_is_set(&e->timestamp)) -+ return -ENODATA; -+ - *usec = e->timestamp.monotonic; - return 0; - } diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch index 3230a8f1..2304a184 100644 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ b/shut-up-rpmlint-on-var-log-journal.patch @@ -1,6 +1,12 @@ ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am 2014-07-28 09:05:41.002735451 +0000 -@@ -3242,11 +3242,11 @@ noinst_LTLIBRARIES += \ +--- + Makefile.am | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +Index: systemd-218/Makefile.am +=================================================================== +--- systemd-218.orig/Makefile.am ++++ systemd-218/Makefile.am +@@ -4209,11 +4209,11 @@ noinst_LTLIBRARIES += \ libsystemd-journal-core.la journal-install-hook: @@ -16,4 +22,4 @@ + -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ journal-uninstall-hook: - -rmdir $(DESTDIR)/var/log/journal/ + -rmdir $(DESTDIR)/var/log/journal/remote diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff new file mode 100644 index 00000000..b11ea682 --- /dev/null +++ b/suse-sysv-bootd-support.diff @@ -0,0 +1,86 @@ +From: Frederic Crozat +Date: Fri, 12 Apr 2013 16:56:26 +0200 +Subject: Revert "service: drop support for SysV scripts for the early boot" + +This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. + +[Implementation note: currently, the unit is generated, but not +activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] +--- + src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++----- + 1 file changed, 21 insertions(+), 5 deletions(-) + +--- systemd-219.orig/src/sysv-generator/sysv-generator.c ++++ systemd-219/src/sysv-generator/sysv-generator.c +@@ -42,7 +42,8 @@ + + typedef enum RunlevelType { + RUNLEVEL_UP, +- RUNLEVEL_DOWN ++ RUNLEVEL_DOWN, ++ RUNLEVEL_SYSINIT, + } RunlevelType; + + static const struct { +@@ -50,6 +51,9 @@ static const struct { + const char *target; + const RunlevelType type; + } rcnd_table[] = { ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++ + /* Standard SysV runlevels for start-up */ + { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, + { "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP }, +@@ -65,7 +69,7 @@ static const struct { + directories in this order, and we want to make sure that + sysv_start_priority is known when we first load the + unit. And that value we only know from S links. Hence +- UP must be read before DOWN */ ++ UP/SYSINIT must be read before DOWN */ + }; + + typedef struct SysvStub { +@@ -83,7 +87,7 @@ typedef struct SysvStub { + bool reload; + } SysvStub; + +-const char *arg_dest = "/tmp"; ++static const char *arg_dest = "/tmp"; + + static int add_symlink(const char *service, const char *where) { + _cleanup_free_ char *from = NULL, *to = NULL; +@@ -235,6 +239,10 @@ static bool usage_contains_reload(const + static char *sysv_translate_name(const char *name) { + char *r; + ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ name += 5; ++ + r = new(char, strlen(name) + strlen(".service") + 1); + if (!r) + return NULL; +@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo + + if (de->d_name[0] == 'S') { + +- if (rcnd_table[i].type == RUNLEVEL_UP) { ++ if (rcnd_table[i].type == RUNLEVEL_UP || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT) + service->sysv_start_priority = + MAX(a*10 + b, service->sysv_start_priority); +- } + + r = set_ensure_allocated(&runlevel_services[i], NULL); + if (r < 0) +@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo + goto finish; + + } else if (de->d_name[0] == 'K' && +- (rcnd_table[i].type == RUNLEVEL_DOWN)) { ++ (rcnd_table[i].type == RUNLEVEL_DOWN || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { + + r = set_ensure_allocated(&shutdown_services, NULL); + if (r < 0) diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 9b3defb9..08247c82 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -6,14 +6,14 @@ Subject: [PATCH] sysctl: handle /boot/sysctl.conf- Add support for kernel release sysctl.conf files (for per-flavor configuration), needed by openSUSE (bnc#809420). --- - src/sysctl/sysctl.c | 8 ++++++++ - units/systemd-sysctl.service.in | 1 + - 2 files changed, 9 insertions(+) + src/sysctl/sysctl.c | 8 ++++++++ + units/systemd-sysctl.service.in | 2 ++ + 2 files changed, 10 insertions(+) -Index: systemd-207/src/sysctl/sysctl.c +Index: systemd-218/src/sysctl/sysctl.c =================================================================== ---- systemd-207.orig/src/sysctl/sysctl.c -+++ systemd-207/src/sysctl/sysctl.c +--- systemd-218.orig/src/sysctl/sysctl.c ++++ systemd-218/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -22,7 +22,7 @@ Index: systemd-207/src/sysctl/sysctl.c #include "log.h" #include "strv.h" -@@ -299,6 +300,13 @@ int main(int argc, char *argv[]) { +@@ -310,6 +311,13 @@ int main(int argc, char *argv[]) { } else { _cleanup_strv_free_ char **files = NULL; char **f; @@ -36,14 +36,14 @@ Index: systemd-207/src/sysctl/sysctl.c r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { -Index: systemd-207/units/systemd-sysctl.service.in +Index: systemd-218/units/systemd-sysctl.service.in =================================================================== ---- systemd-207.orig/units/systemd-sysctl.service.in -+++ systemd-207/units/systemd-sysctl.service.in -@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys - ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d - ConditionDirectoryNotEmpty=|/etc/sysctl.d - ConditionDirectoryNotEmpty=|/run/sysctl.d +--- systemd-218.orig/units/systemd-sysctl.service.in ++++ systemd-218/units/systemd-sysctl.service.in +@@ -13,6 +13,8 @@ Conflicts=shutdown.target + After=systemd-modules-load.service + Before=sysinit.target shutdown.target + ConditionPathIsReadWrite=/proc/sys/ +ConditionPathExistsGlob=|/boot/sysctl.conf-%v +RequiresMountsFor=/boot diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch index 4dd058d9..86aec7e9 100644 --- a/systemctl-set-default-target.patch +++ b/systemctl-set-default-target.patch @@ -3,12 +3,14 @@ Mention that --force is required to override an already existing default.target This solves the bug bnc#868439 --- - systemctl.xml | 4 +++- + man/systemctl.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---- systemd-210/man/systemctl.xml -+++ systemd-210/man/systemctl.xml 2014-03-19 12:19:53.182235657 +0000 -@@ -371,7 +371,7 @@ along with systemd; If not, see @@ -17,12 +19,12 @@ This solves the bug bnc#868439 any existing conflicting symlinks. When used with halt, -@@ -1036,6 +1036,8 @@ kobject-uevent 1 systemd-udevd-kernel.so - - Set the default target to boot into. Command links - default.target to the given unit. +@@ -1215,6 +1215,8 @@ kobject-uevent 1 systemd-udevd-kernel.so + Return the default target to boot into. This returns + the target unit name default.target + is aliased (symlinked) to. + If combined with , override + an already existing symlink for the default target. - + diff --git a/systemd-210.tar.xz b/systemd-210.tar.xz deleted file mode 100644 index dd2041d8..00000000 --- a/systemd-210.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2b3ddf9bf82f05cc3079650e86ae05b558381fd034cf1b03a592bcadd1610c4 -size 2620924 diff --git a/systemd-219.tar.xz b/systemd-219.tar.xz new file mode 100644 index 00000000..d90808ee --- /dev/null +++ b/systemd-219.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c57113454e37c040d0cb481bd960ae7cf3a3fe0a231ff4945259bc74503f2d9 +size 3938228 diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index c1c06ba5..8eb7f440 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,25 +1,27 @@ -diff -Naur systemd-210/man/tmpfiles.d.xml systemd-210.mod/man/tmpfiles.d.xml ---- systemd-210/man/tmpfiles.d.xml 2014-12-18 09:40:29.403629407 +0100 -+++ systemd-210.mod/man/tmpfiles.d.xml 2014-12-18 10:34:06.274130934 +0100 -@@ -435,8 +435,12 @@ - f, F, - and w may be used to - specify a short string that is written to the -- file, suffixed by a newline. Ignored for all -- other lines. -+ file, suffixed by a newline. -+ For x, X -+ a comma separated list of usernames. If given, -+ only paths belonging to these users will be -+ excluded during directory cleanup. -+ Ignored for all other lines. - - - -diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpfiles.c ---- systemd-210/src/tmpfiles/tmpfiles.c 2014-12-18 09:40:29.342629177 +0100 -+++ systemd-210.mod/src/tmpfiles/tmpfiles.c 2014-12-18 11:58:16.686576974 +0100 -@@ -263,6 +263,7 @@ +--- + man/tmpfiles.d.xml | 3 +++ + src/tmpfiles/tmpfiles.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- + 2 files changed, 43 insertions(+), 8 deletions(-) + +Index: systemd/man/tmpfiles.d.xml +=================================================================== +--- systemd.orig/man/tmpfiles.d.xml ++++ systemd/man/tmpfiles.d.xml +@@ -489,6 +489,9 @@ + f, F, and + w may be used to specify a short string that + is written to the file, suffixed by a newline. For ++ x, X, a comma separated list of ++ usernames. If given, only paths belonging to these users will be excluded ++ during directory cleanup. Ignored for all other lines. For + C, specifies the source file or + directory. For t determines extended + attributes to be set. For a determines +Index: systemd/src/tmpfiles/tmpfiles.c +=================================================================== +--- systemd.orig/src/tmpfiles/tmpfiles.c ++++ systemd/src/tmpfiles/tmpfiles.c +@@ -345,6 +345,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -27,52 +29,57 @@ diff -Naur systemd-210/src/tmpfiles/tmpfiles.c systemd-210.mod/src/tmpfiles/tmpf while ((dent = readdir(d))) { struct stat s; -@@ -306,11 +307,43 @@ +@@ -395,14 +396,45 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ -- if (hashmap_get(items, sub_path)) +- if (hashmap_get(items, sub_path)) { +- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); - continue; +- } - -- if (find_glob(globs, sub_path)) +- if (find_glob(globs, sub_path)) { +- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); - continue; ++ bool found_glob = false; + found = hashmap_get(items, sub_path); -+ -+ if (!found) -+ found = find_glob(globs, sub_path); -+ -+ if (found) { -+ /* evaluate username arguments in ignore statements */ -+ if (found->type == IGNORE_PATH || found->type == IGNORE_DIRECTORY_PATH) { -+ if (!found->argument) -+ continue; -+ else { -+ struct passwd *pw; -+ char *userfound = NULL, *args = strdup(found->argument); -+ bool match = false; -+ int uid = -1; -+ -+ while ((userfound = strsep(&args, ","))) { -+ pw = getpwnam(userfound); -+ -+ if (!pw) -+ log_error("Unknown user '%s' in ignore statement.", userfound); -+ else { -+ uid = pw->pw_uid; -+ if (s.st_uid == uid) { -+ match = true; -+ break; -+ } -+ } -+ } -+ if (match) { -+ found = NULL; -+ continue; -+ } -+ } -+ } else -+ continue; ++ if (!found) { ++ found_glob = true; ++ found = find_glob(globs, sub_path); + } ++ if (found) { ++ struct passwd *pw; ++ char *userfound = NULL, *args; ++ bool match = false; ++ uid_t uid = -1; ++ ++ /* evaluate username arguments in ignore statements */ ++ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) || ++ !found->argument) { ++ if (found_glob) ++ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); ++ else ++ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); ++ continue; ++ } ++ args = strdup(found->argument); ++ assert_se(args != NULL); ++ while ((userfound = strsep(&args, ",")) != NULL) { ++ pw = getpwnam(userfound); ++ if (pw == NULL) { ++ log_error("Unknown user '%s' in ignore statement.", userfound); ++ continue; ++ } ++ uid = pw->pw_uid; ++ if (s.st_uid == uid) { ++ match = true; ++ break; ++ } ++ } ++ if (match) { ++ found = NULL; ++ continue; ++ } + } if (S_ISDIR(s.st_mode)) { - diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch index cede24c9..89c83e42 100644 --- a/systemd-dbus-system-bus-address.patch +++ b/systemd-dbus-system-bus-address.patch @@ -1,18 +1,14 @@ ---- systemd-210/src/shared/def.h -+++ systemd-210/src/shared/def.h 2014-03-12 13:11:06.502235254 +0000 -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS ---- systemd-210/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-210/src/libsystemd/sd-bus/sd-bus.c 2014-03-12 14:31:09.966736492 +0000 -@@ -794,8 +794,8 @@ static int parse_container_unix_address( - machine = NULL; +--- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/shared/def.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +Index: systemd/src/libsystemd/sd-bus/sd-bus.c +=================================================================== +--- systemd.orig/src/libsystemd/sd-bus/sd-bus.c ++++ systemd/src/libsystemd/sd-bus/sd-bus.c +@@ -809,8 +809,8 @@ static int parse_container_unix_address( + b->nspid = 0; b->sockaddr.un.sun_family = AF_UNIX; - strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); @@ -22,3 +18,16 @@ return 0; } +Index: systemd/src/shared/def.h +=================================================================== +--- systemd.orig/src/shared/def.h ++++ systemd/src/shared/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS diff --git a/systemd-journald.init b/systemd-journald.init deleted file mode 100644 index 0b8d5081..00000000 --- a/systemd-journald.init +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany. -# All rights reserved. -# -# /etc/init.d/systemd-journald -# -### BEGIN INIT INFO -# Provides: syslog -# Required-Start: $null -# Required-Stop: $null -# Default-Start: 2 3 5 -# Default-Stop: -# Short-Description: compat wrapper for journald -# Description: compat wrapper for journald -### END INIT INFO - -. /etc/rc.status - -rc_reset - -case "$1" in - start|stop|restart) - rc_failed 3 - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 - ;; -esac - -rc_exit diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index def95a7d..a9e12af8 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -1,3 +1,4 @@ +addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot\.8.*") @@ -16,6 +17,7 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 78b33870..7a555d36 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,9 +1,575 @@ +------------------------------------------------------------------- +Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de + +- Add 0001-core-rework-device-state-logic.patch to fix spurious + automated umount after mount. + +------------------------------------------------------------------- +Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com + +- mark more subpackages as !bootstrap for systemd-mini usage. + +------------------------------------------------------------------- +Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org + +- spec : remove --with-firmware-path, firmware loader was removed in v217 +- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) +- spec: Do not enable systemd-readahead-collect.service and +systemd-readahead-replay.service as these do not exist anymore. +- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch + Yast was fixed to write all timezone changes exactly how timedated expects + things to be done. +- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg + package handles the migration from /etc/HOSTNAME to /etc/hostname + and owns both files. +-spec: remove boot.udev and systemd-journald.init as they currently + serve no purpose. +- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we + are in sysvcompat-only codepath, also remove the code targetting other + distributions, never compiled as the TARGET_$DISTRO macros are never defined. +- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT +- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards +- insserv-generator.patch: Only build when sysvcompat is enabled +- vhangup-on-all-consoles.patch add a comment indicating this is a workaround + for a kernel bug. +- spec: Add option to allow disabling sysvinit compat at build time. +- spec: Add option to enable resolved at build time. +- spec: Remove all %ifs for !factory products, current systemd releases can + neither be built nor installed in older products without upgrading + several components of the base system. + (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) +- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when + those init scripts still existed. (dummy localfs.service source: gone) +- systemd-sleep-grub: moved to the grub2 package where it belongs as a + suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) +- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds + config.h everywhere in the preprocessor cmdline. + +------------------------------------------------------------------- +Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 219 +* systemd units can now be "unsupported" (like, for example, + .device in a containers), similar to the "skipped" state in + SUSE's prior sysvinit scripts. +* tmpfiles gained the 'v' type for creating btrfs subvolumes. +* tmpfiles gained the 'a' type for setting ACLs. +* systemd-nspawn gained new switches: --ephemeral, --template +* The /var/lib/containers location is deprecated and replaced by + /var/lib/machines. +* machinectl gained the copy-from and copy-to commands. +* machinectl now knows a "bind" command (for use with nspawn) +* new "systemd-importd" daemon to download container images and run + them as nspawn containers. +* networkd collects LLDP network announcements, if available, and + so shown in networkctl. +* The fallback terminal type was changed from "vt102" to "vt220", + allowing PgUp/PgDn keys to work. +* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, + useful should the regular shutdown hang. +* Removing storage will cause systemd to unmount the associated + mountpoints so that they don't linger around. + +------------------------------------------------------------------- +Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de + +- Add suse-sysv-bootd-support.diff (reinstate old + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) + +------------------------------------------------------------------- +Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de + +- Update to systemd v218-1050-g38ab096 +- Remove patches + use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) +- Reinstate and improve (remove huge indents from) + tty-ask-password-agent-on-console.patch, + 0014-journald-with-journaling-FS.patch, rootsymlink_generator. + +------------------------------------------------------------------- +Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com + +- disable systemd-resolved for now as it interacts not well with + our methods and security has concerns regarding spoofing. bsc#917781 + ------------------------------------------------------------------- Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - Add patch kbd-model-map.patch to add missed keyboard layouts which are offered by YaST2 (bsc#910643 and boo#897803) +------------------------------------------------------------------- +Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 218 +* New utilities: systemd-timesyncd (SNTP client), + systemd-resolved, systemd-networkd, networkctl, + systemd-sysusers +* machinectl gained a "poweroff" command for clean container shutdown +* The udev hwdb now contains DPI information for mice. +* Userspace firmware loading support has been removed and + the minimum supported kernel version is thus bumped to 3.7. +- Remove patches: + G=gone locally, is upstream; + D=dropped: no longer needed; + N=no longer applies to source nor is it deemed needed; + K=killed: no longer applicable and too complex to resolve: + ---- + G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch + K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch + K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch + K handle-SYSTEMCTL_OPTIONS-environment-variable.patch + K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch + K log-target-null-instead-kmsg.patch + K tty-ask-password-agent-on-console.patch + K 513-nspawn-veth.patch + K 1087-infinit-timeout-for-kmod-loaded-modules.patch + D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + D avoid-leaking-socket-descriptors.patch + D 0001-make-fortify-happy-with-ppoll.patch + N fix-owner-of-var-log-btmp.patch + N disable-nss-myhostname-warning-bnc-783841.patch + N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch + N 0001-make-209-working-on-older-dist.patch + N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch + N tmpfiles-do-not-clean-for-mandb-index-files.patch + G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc + G optionally-warn-if-nss-myhostname-is-called.patch + G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch + G 0004-getty-generator-properly-escape-instance-names.patch + G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch + G 0008-Reset-signal-mask-on-re-exec-to-init.patch + G 0001-login-fix-pos-array-allocation.patch + G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch + G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + G 0005-Replace-var-run-with-run-in-remaining-places.patch + G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch + G 0007-README-document-that-var-run-must-be-a-symlink-run.patch + G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch + G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch + G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + G 0001-Fix-systemd-stdio-bridge-symlink.patch + G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch + G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch + G 0004-man-document-missing-options-of-systemd-run.patch + G 0005-systemd-run-add-some-extra-safety-checks.patch + G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch + G 0007-journal-forget-file-after-encountering-an-error.patch + G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch + G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch + G 0010-man-update-link-to-LSB.patch + G 0011-man-systemd-bootchart-fix-spacing-in-command.patch + G 0012-man-add-missing-comma.patch + G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch + G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch + G 0002-manager-flush-memory-stream-before-using-the-buffer.patch + G 0003-busname-don-t-drop-service-from-the-result-string.patch + G 0004-fix-off-by-one-error-in-array-index-assertion.patch + G 0005-logind-fix-policykit-checks.patch + G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch + G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch + G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch + G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch + G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch + G 0007-networkd-fix-typo.patch + G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch + G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch + G 0012-journald-remove-stray-reset-of-error-return-value.patch + G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch + G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch + G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch + G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch + G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch + G 0005-sd-daemon-fix-incorrect-variable-access.patch + G 0006-sd-event-initialization-perturbation-value-right-bef.patch + G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch + G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch + G 0001-journal-fix-export-of-messages-containing-newlines.patch + G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch + G 0003-tty-ask-password-agent-return-negative-errno.patch + G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch + G 0005-systemd-python-fix-failing-assert.patch + G 0007-dbus-suppress-duplicate-and-misleading-messages.patch + G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch + G 0001-bash-completion-fix-__get_startable_units.patch + G 0002-sysctl-replaces-some-slashes-with-dots.patch + G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch + G 0004-implement-a-union-to-pad-out-file_handle.patch + G shut-up-annoying-assertion-monotonic-clock-message.patch + G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch + G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch + G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch + G 0003-analyze-fix-plot-with-bad-y-size.patch + G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch + G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch + G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch + G 0002-backlight-do-nothing-if-max_brightness-is-0.patch + G 0003-backlight-unify-error-messages.patch + G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch + G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch + G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch + G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch + G 0001-core-close-socket-fds-asynchronously.patch + G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch + G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch + G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch + G 0002-logind-fix-printf-format.patch + G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch + G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch + G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch + G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch + G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch + G 0008-man-update-journald-rate-limit-defaults.patch + G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch + G 0010-logind-allow-suspending-if-there-are-no-displays.patch + G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch + G 0002-man-note-that-entire-sections-can-now-be-ignored.patch + G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch + G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch + G 0006-login-add-mir-to-the-list-of-session-types.patch + G 0007-logind-fix-Display-property-of-user-objects.patch + G 0001-hwdb-update.patch + G 0002-hwdb-update.patch + G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch + G 0004-hwdb-update.patch + G 0005-hwdb-update.patch + G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch + G 0002-journal-properly-detect-language-specified-in-line.patch + G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch + G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch + G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch + G 0002-nspawn-restore-journal-directory-is-empty-check.patch + G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + G 0004-socket-properly-handle-if-our-service-vanished-durin.patch + G 0001-Do-not-unescape-unit-names-in-Install-section.patch + G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch + G 0001-virt-rework-container-detection-logic.patch + G 0002-fsck-include-device-name-in-the-message-about-missin.patch + G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch + G 0004-util-ignore_file-should-not-allow-files-ending-with.patch + G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch + G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch + G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch + G 0001-hwdb-fix-case-sensitive-match.patch + G 0001-sd-event-restore-correct-timeout-behaviour.patch + G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch + G 0001-umount-modernizations.patch + G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch + G 0003-core-allow-transient-mount-units.patch + G 0004-systemd-detect-virt-only-discover-Xen-domU.patch + G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch + G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch + G 0001-core-fix-invalid-free-in-killall.patch + G 0003-install-fix-invalid-free-in-unit_file_mask.patch + G 0001-systemd-detect-virt-detect-s390-virtualization.patch + G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch + G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch + G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch + G 0005-po-add-Greek-translation.patch + G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0007-po-add-German-translation.patch + G 0009-core-clean-up-signal-reset-logic-when-reexec.patch + G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch + G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch + G 0012-core-transaction-avoid-misleading-error-message-when.patch + G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + G 0005-man-fix-path-in-crypttab-5.patch + G 0001-units-order-network-online.target-after-network.targ.patch + G 0001-core-use-correct-format-string-for-UIDs.patch + G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch + G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch + G 0002-journald-make-MaxFileSec-really-default-to-1month.patch + G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch + G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch + G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch + G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch + G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch + G 0001-parse_uid-return-ENXIO-for-1-uids.patch + G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch + G 0003-localed-consider-an-unset-model-as-a-wildcard.patch + G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch + G 0005-bus-close-a-bus-that-failed-to-connect.patch + G 0006-hwdb-update.patch + G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-architecture-Add-tilegx.patch + G 0002-architecture-Add-cris.patch + G 0003-arch-add-crisv32-to-uname-check.patch + G 0004-architecture-remove-cris-from-uname-list.patch + G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch + G 0002-namespace-fix-uninitialized-memory-access.patch + G 0001-machine-don-t-return-uninitialized-variable.patch + G 0002-vconsole-setup-run-setfont-before-loadkeys.patch + G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch + G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch + G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch + G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch + G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch + G 0007-service-flush-status-text-and-errno-values-each-time.patch + G 0001-journal-compress-return-early-in-uncompress_startswi.patch + G 0002-journal-compress-improve-xz-compression-performance.patch + G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch + G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch + G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch + G 0001-event-pull-in-sd-event.h-from-event-util.h.patch + G 0002-util-fix-has-cc-check-and-add-test.patch + G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch + G 0004-fileio-quote-more-shell-characters-in-envfiles.patch + G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch + G 0002-units-serial-getty-.service-use-the-default-RestartS.patch + G 0001-po-add-Ukrainian-translation.patch + G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch + G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch + G 0001-detect-virt-Fix-Xen-domU-discovery.patch + G 0002-Be-more-verbose-when-bind-or-listen-fails.patch + G 0003-Add-quotes-to-warning-message.patch + G 0004-systemd-return-the-first-error-from-manager_startup.patch + G 0001-bash-completion-p-option-for-journalctl.patch + G 0002-journalctl-man-allow-only-between-terms.patch + G 0003-systemd-use-pager-for-test-and-help.patch + G 0001-bus-proxyd-fix-incorrect-comparison.patch + G 0002-shell-completion-prevent-mangling-unit-names.patch + G 0003-Always-check-asprintf-return-code.patch + G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch + G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch + G 0006-parse_boolean-require-exact-matches.patch + G 0007-drop_duplicates-copy-full-BindMount-struct.patch + G 0008-shell-completion-prevent-mangling-unit-names-bash.patch + G 0009-journald-always-add-syslog-facility-for-messages-com.patch + G 0001-sysv-order-initscripts-which-provide-network-before-.patch + G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch + G 0003-keymap-Annotate-all-micmute-workarounds.patch + G 0007-hwdb-update.patch + G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch + G 0002-switch-root-umount-the-old-root-correctly.patch + G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch + G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch + G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch + G 0006-login-share-VT-signal-handler-between-sessions.patch + G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch + G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch + G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch + G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch + G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch + G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch + G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch + G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch + G 0003-keymap-Fix-HP-Pavillon-DV7.patch + G 0004-hwdb-update-format-description-and-document-reloadin.patch + G 0008-hwdb-update.patch + G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch + G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch + G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch + G 0001-login-fix-memory-leak-on-DropController.patch + G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch + G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch + G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch + G 0001-nspawn-fix-network-interface.patch + G 0001-completion-filter-templates-from-restartable-units.patch + G 0002-systemd-fix-error-message.patch + G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch + G 0004-config-parser-fix-mem-leak.patch + G 0005-login-fix-mem-leak.patch + G 0001-login-simplify-controller-handling.patch + G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch + G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0009-hwdb-update.patch + G 0001-systemctl-allow-to-change-the-default-target-without.patch + G 0001-activate-fix-fd-leak-in-do_accept.patch + G 0002-analyze-avoid-a-null-dereference.patch + G 0003-analyze-fix-mem-leak.patch + G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch + G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch + G 0006-bus-unref-buscreds-on-failure.patch + G 0007-core-fix-a-potential-mem-leak.patch + G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch + G 0009-journal-do-not-leak-mmaps-on-OOM.patch + G 0010-manager-use-correct-cleanup-function.patch + G 0001-core-fix-resource-leak-in-manager_environment_add.patch + G 0002-util-remove-a-unnecessary-check.patch + G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch + G 0004-shared-conf-parser.patch + G 0005-logind-fix-typo.patch + G 0006-systemctl-fix-resource-leak-CID-1237747.patch + G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch + G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch + G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch + G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch + G 0003-mount-order-options-before-other-arguments-to-mount.patch + G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch + G 0005-shared-label.h-add-missing-stdio.h-include.patch + G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch + G 0001-login-pause-devices-before-acknowledging-VT-switches.patch + G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch + G 0001-socket-introduce-SELinuxContextFromNet-option.patch + G 0002-util-avoid-non-portable-__WORDSIZE.patch + G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch + G 0002-bus-remove-unused-check.patch + G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch + G 0001-logind-add-support-for-Triton2-Power-Button.patch + G 0002-logind-add-support-for-TPS65217-Power-Button.patch + G 0001-shutdownd-clean-up-initialization-of-struct.patch + G 0003-bootchart-parse-userinput-with-safe_atoi.patch + G 0004-bootchart-check-return-of-strftime.patch + G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch + G 0001-journalctl-do-not-output-reboot-markers-when-running.patch + G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch + G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch + G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch + G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch + G 0003-fileio-label-return-error-when-writing-fails.patch + G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch + G 0004-sd-event-check-the-value-of-received-signal.patch + G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch + G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch + G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch + G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch + G 0003-sd-bus-check-return-value-of-vasprintf.patch + G 0004-core-map-the-rescue-argument-to-rescue.target.patch + G 0005-util-avoid-double-close-of-fd.patch + G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch + G 0001-tmpfiles-compare-return-against-correct-errno.patch + G 0001-shell-completion-fix-completion-of-inactive-units.patch + G 0002-shell-completion-propose-templates-for-disable-re-en.patch + G 0003-man-we-don-t-have-Wanted-dependency.patch + G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch + G 0001-systemd-continue-switch-root-even-if-umount-fails.patch + G 0002-systemd-try-harder-to-bind-to-notify-socket.patch + G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch + G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch + G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch + G 0004-journal-do-server_vacuum-for-sigusr1.patch + G 0005-cryptsetup-fix-an-OOM-check.patch + G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch + G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch + G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch + G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch + G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch + G 0005-journalctl-correct-help-text-for-until.patch + G 0006-calendarspec-fix-typo-in-annually.patch + G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch + G 0008-util-introduce-sethostname_idempotent.patch + G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch + G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch + G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch + G 0012-manager-do-not-print-anything-while-passwords-are-be.patch + G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch + G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch + G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch + G 0002-snapshot-return-error-when-snapshot-exists.patch + G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch + G 0004-Raise-level-of-Found-dependency.-lines.patch + G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch + G 0006-journald-fix-minor-memory-leak.patch + G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch + G 0008-journald-fix-memory-leak-on-error-path.patch + G 0009-units-make-systemd-journald.service-Type-notify.patch + G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch + G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch + G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch + G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch + G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch + G 0001-systemctl-let-list-units-unit-files-honour-type.patch + G 0002-systemctl-obey-state-in-list-unit-files.patch + G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch + G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch + G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch + G 0001-selinux-access-fix-broken-ternary-operator.patch + G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch + G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch + G 0004-core-fix-transaction-destructiveness-check-once-more.patch + G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch + G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch + G 1009-cdrom_id-use-the-old-MMC-fallback.patch + G 1010-udev-increase-result-size-for-programs.patch + G 1014-udev-update-net_id-comments.patch + G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch + G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch + G 1017-udev-serialize-synchronize-block-device-event-handli.patch + G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch + G 1019-udev-avoid-use-of-uninitialized-err.patch + G 1020-udev-keyboard-also-hook-into-change-events.patch + G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch + G 1024-udev-always-close-lock-file-descriptor.patch + G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch + G 1026-udevd-inotify-modernizations.patch + G 1027-udev-synthesize-change-events-for-partitions-when-to.patch + G 1028-udev-link-config-fix-mem-leak.patch + G 1029-udev-try-first-re-reading-the-partition-table.patch + G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch + G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch + G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch + G 1033-udev-really-exclude-device-mapper-from-block-device.patch + G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch + G 1038-udev-fix-invalid-free-in-enable_name_policy.patch + G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch + G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch + G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch + G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch + G 1044-rules-update-qemu-hid-rules.patch + G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch + G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch + G 1048-udev-net_setup_link-add-a-bit-more-logging.patch + G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch + G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch + G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch + G 1056-udevd-add-event-timeout-commandline-option.patch + G 1057-udev-unify-event-timeout-handling.patch + G 1058-udev-unify-event-timeout-handling.patch + G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch + G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch + G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch + G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch + G 1065-udev-bump-event-timeout-to-60-seconds.patch + G 1067-udev-always-resolve-correctly-database-names-on-chan.patch + G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch + G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch + G 1070-rules-net-setup-link-remove-stray-linebreak.patch + G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch + G 1072-udev-netif_rename-don-t-log-to-kmsg.patch + G 1073-udev-drop-print_kmsg.patch + G 1074-udev-fix-copy-paste-error-in-log-message.patch + G 1075-udev-timeout-increase-timeout.patch + G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1078-udev-remove-userspace-firmware-loading-support.patch + G 1079-udev-remove-userspace-firmware-loading-support.patch + G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch + G 1081-udevd-check-return-of-various-functions.patch + G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch + G 1083-udev-node-warn-if-chmod-chown-fails.patch + G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch + G 1085-udev-fix-typos.patch + G 1086-udevd-don-t-fail-if-run-udev-exists.patch + G 1089-fix-cgroup-device-controller.patch + G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + G 1091-udev-path_id-update-comments.patch + G 1092-libudev-do-not-accept-invalid-log-levels.patch + G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch + G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch + G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 015e1e0c..3399d28d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,8 +23,9 @@ %define udevpkgname udev-mini %define udev_major 1 %bcond_without bash_completion -%bcond_without compat_libs %bcond_with networkd +%bcond_without sysvcompat +%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -45,7 +46,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 210 +Version: 219 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -56,112 +57,69 @@ Provides: %{real} = %{version}-%{release} BuildRequires: acl BuildRequires: audit-devel -%if %{with compat_libs} -# See gold_archs in binutils.spec -%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc -BuildRequires: binutils-gold -%endif -%endif -BuildRequires: config(suse-module-tools) -%if ! 0%{?bootstrap} -BuildRequires: docbook-xsl-stylesheets -%endif +BuildRequires: autoconf +BuildRequires: automake BuildRequires: fdupes -%if ! 0%{?bootstrap} -BuildRequires: gobject-introspection-devel -%endif BuildRequires: gperf -%if ! 0%{?bootstrap} BuildRequires: gtk-doc -%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool -%if ! 0%{?bootstrap} -BuildRequires: libusb-devel -BuildRequires: libxslt-tools -%endif BuildRequires: pam-devel -%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros -%endif -%if 0%{?suse_version} <= 1315 -BuildRequires: tcpd-devel -%endif BuildRequires: xz -BuildRequires: pkgconfig(blkid) >= 2.20 -%if ! 0%{?bootstrap} -BuildRequires: libgcrypt-devel -%if %{with python} -BuildRequires: python -%endif -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -%endif -%if 0%{?suse_version} <= 1310 -BuildRequires: pkgconfig(libkmod) >= 14 -%else +BuildRequires: config(suse-module-tools) +BuildRequires: pkgconfig(blkid) >= 2.24 BuildRequires: pkgconfig(libkmod) >= 15 -%endif BuildRequires: pkgconfig(liblzma) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libmicrohttpd) -%endif BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 -%endif -%if 0%{?suse_version} >= 1315 +BuildRequires: pkgconfig(mount) >= 2.20 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%else -%if 0%{?suse_version} >= 1310 -%ifarch %ix86 x86_64 x32 %arm -BuildRequires: pkgconfig(libseccomp) -%endif -%endif -%endif -%if ! 0%{?bootstrap} -BuildRequires: libapparmor-devel -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -%if 0%{?suse_version} > 1310 Conflicts: sysvinit -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi %else +BuildRequires: docbook-xsl-stylesheets +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: libgcrypt-devel +BuildRequires: libusb-devel +BuildRequires: libxslt-tools +%if %{with python} +BuildRequires: python +%endif +BuildRequires: libapparmor-devel +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libmicrohttpd) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd -%if 0%{?suse_version} <= 1310 -Requires: kmod >= 14 -%else Requires: kmod >= 15 -%endif Requires: netcfg Requires: pam-config >= 0.79-5 +BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.21 +Requires: util-linux >= 2.25 Requires(post): coreutils Requires(post): findutils -%endif -%if ! 0%{?bootstrap} Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent @@ -173,47 +131,31 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} -Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz + +#Git-Clone: git://anongit.freedesktop.org/systemd/systemd +Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif -Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh -Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs -# -# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r -Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch -# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called -Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch -Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch -Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch -Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch -Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch -Patch18: fix-owner-of-var-log-btmp.patch -# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file -Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -221,14 +163,11 @@ Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable -Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts -Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +Patch37: suse-sysv-bootd-support.diff # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file @@ -241,18 +180,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) -Patch23: disable-nss-myhostname-warning-bnc-783841.patch -# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin -Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian -Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -261,126 +192,8 @@ Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) -Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch -# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com -Patch117: 0001-make-209-working-on-older-dist.patch -# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com -Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch121: 0001-login-fix-pos-array-allocation.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch137: 0004-man-document-missing-options-of-systemd-run.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch140: 0007-journal-forget-file-after-encountering-an-error.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch143: 0010-man-update-link-to-LSB.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch145: 0012-man-add-missing-comma.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch151: 0005-logind-fix-policykit-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch158: 0007-networkd-fix-typo.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -389,8 +202,6 @@ Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com @@ -399,8 +210,6 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -413,657 +222,38 @@ Patch191: systemd-dbus-system-bus-address.patch Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/14 -Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -# PATCH-FIX-SUSE Do not clean the data base files of the manual pages -Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch199: 0001-bash-completion-fix-__get_startable_units.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch # PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. -Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch -# PATCH-FIX-UPSTREAM Fix uninitialized memory -Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch -# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) -Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch216: 0003-backlight-unify-error-messages.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch -# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) -Patch219: log-target-null-instead-kmsg.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch222: 0001-core-close-socket-fds-asynchronously.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch226: 0002-logind-fix-printf-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch232: 0008-man-update-journald-rate-limit-defaults.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch245: 0007-logind-fix-Display-property-of-user-objects.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch246: 0001-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch247: 0002-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch249: 0004-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch250: 0005-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch252: 0002-journal-properly-detect-language-specified-in-line.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch262: 0001-virt-rework-container-detection-logic.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch -# PATCH-FIX-UPSTREAM added at 2014/06/05 -Patch269: 0001-hwdb-fix-case-sensitive-match.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch272: 0001-umount-modernizations.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch274: 0003-core-allow-transient-mount-units.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU -Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch278: 0001-core-fix-invalid-free-in-killall.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch -# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) -Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch -# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available -Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch284: 0005-po-add-Greek-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch286: 0007-po-add-German-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch295: 0005-man-fix-path-in-crypttab-5.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch296: 0001-units-order-network-online.target-after-network.targ.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch297: 0001-core-use-correct-format-string-for-UIDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch312: 0006-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch314: 0001-architecture-Add-tilegx.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch315: 0002-architecture-Add-cris.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch316: 0003-arch-add-crisv32-to-uname-check.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch317: 0004-architecture-remove-cris-from-uname-list.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch319: 0002-namespace-fix-uninitialized-memory-access.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch320: 0001-machine-don-t-return-uninitialized-variable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch330: 0002-journal-compress-improve-xz-compression-performance.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/10 -Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch335: 0002-util-fix-has-cc-check-and-add-test.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch341: 0001-po-add-Ukrainian-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-SUSE Shut up rpmlint warning Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch347: 0003-Add-quotes-to-warning-message.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch349: 0001-bash-completion-p-option-for-journalctl.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch350: 0002-journalctl-man-allow-only-between-terms.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch355: 0003-Always-check-asprintf-return-code.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch358: 0006-parse_boolean-require-exact-matches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch -# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-UPSTREAM added at 2014/08/01 -Patch367: 0007-hwdb-update.patch # PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch370: 0002-switch-root-umount-the-old-root-correctly.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch385: 0008-hwdb-update.patch # PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch390: 0001-login-fix-memory-leak-on-DropController.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -# PATCH-FIX-UPSTREAM added at 2014/08/29 -Patch394: 0001-nspawn-fix-network-interface.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch395: 0001-completion-filter-templates-from-restartable-units.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch396: 0002-systemd-fix-error-message.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch398: 0004-config-parser-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch399: 0005-login-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/02 -Patch400: 0001-login-simplify-controller-handling.patch -# PATCH-FIX-UPSTREAM added at 2014/09/05 -Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/08 -Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/09/09 -Patch403: 0009-hwdb-update.patch -# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force -Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch406: 0002-analyze-avoid-a-null-dereference.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch407: 0003-analyze-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch410: 0006-bus-unref-buscreds-on-failure.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch411: 0007-core-fix-a-potential-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch414: 0010-manager-use-correct-cleanup-function.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch416: 0002-util-remove-a-unnecessary-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch418: 0004-shared-conf-parser.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch419: 0005-logind-fix-typo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary -Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved -Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) -Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch436: 0002-bus-remove-unused-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/26 -Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch442: 0004-bootchart-check-return-of-strftime.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch450: 0003-fileio-label-return-error-when-writing-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch452: 0004-sd-event-check-the-value-of-received-signal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch459: 0005-util-avoid-double-close-of-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/10/13 -Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/14 -Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch -# PATCH-FIX-SUSE added at 2014/10/15 -Patch468: avoid-leaking-socket-descriptors.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch473: 0005-cryptsetup-fix-an-OOM-check.patch -# PATCH-FIX-UPSTREAM added at 2014/10/24 -Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -# PATCH-FIX-SUSE added at 2014/10/24 +# PATCH-FIX-SUSE added on 2014/10/24 Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch480: 0005-journalctl-correct-help-text-for-until.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch481: 0006-calendarspec-fix-typo-in-annually.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch483: 0008-util-introduce-sethostname_idempotent.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch -# PATCH-FIX-SUSE added at 2014/11/05 +# PATCH-FIX-SUSE added on 2014/11/05 Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch496: 0006-journald-fix-minor-memory-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch498: 0008-journald-fix-memory-leak-on-error-path.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch -# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) -Patch513: 513-nspawn-veth.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -# +Patch522: 0001-core-rework-device-state-logic.patch # UDEV PATCHES # ============ @@ -1085,188 +275,46 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 -Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch -# PATCH-FIX-SUSE increase result size for programs (bnc#867840) -Patch1010: 1010-udev-increase-result-size-for-programs.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch -Patch1014: 1014-udev-update-net_id-comments.patch -# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch # PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch Patch1021: 1021-udev-re-add-persistent-net-rules.patch -# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1024: 1024-udev-always-close-lock-file-descriptor.patch -# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch -Patch1026: 1026-udevd-inotify-modernizations.patch -# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch -Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch -# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch -Patch1028: 1028-udev-link-config-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch -Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch -# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch -Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch -# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch -Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch -Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch -# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch -Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch -# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch -Patch1044: 1044-rules-update-qemu-hid-rules.patch -# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch -Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch # PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch -# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch -Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch -# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch -Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch # PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) Patch1051: 1051-check-if-NAME-has-a-value.patch -# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch -Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch -# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch -Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch # PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch -# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch -Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch -# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch -Patch1057: 1057-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch -Patch1058: 1058-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch -Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch -Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch -Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) -Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch -# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch -Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch -# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch -Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch -# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch -Patch1073: 1073-udev-drop-print_kmsg.patch -# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch -Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch -# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch -Patch1075: 1075-udev-timeout-increase-timeout.patch -# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch -Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch -Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch -Patch1081: 1081-udevd-check-return-of-various-functions.patch -# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch -Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch -# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch -Patch1085: 1085-udev-fix-typos.patch -# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch -Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch -# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch -Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch # PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch -# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch -Patch1089: 1089-fix-cgroup-device-controller.patch -# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch -Patch1091: 1091-udev-path_id-update-comments.patch -# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch -Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch -# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch -Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch -Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1474,6 +522,24 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package -n nss-mymachines +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-mymachines +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured containers and virtual machines +systemd-machined knows about. + +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-resolve + %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ @@ -1485,13 +551,12 @@ Requires(postun): systemd %description journal-gateway systemd-journal-gatewayd serves journal events over the network using HTTP. - %endif %prep -%setup -q -n systemd-%{version} +%setup -q -n systemd-%version echo "Checking whether upstream rpm macros changed..." -[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 +diff -au "%{S:10}" src/core/macros.systemd.in # only needed for bootstrap %if 0%{?bootstrap} @@ -1499,29 +564,15 @@ cp %{SOURCE7} m4/ %endif # systemd patches -%patch0 -p1 -%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%if 0%{?suse_version} <= 1310 -%patch8 -p1 -%endif -%patch9 -p1 %patch12 -p1 -%patch13 -p0 -%patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 -%patch19 -p0 %patch20 -p1 %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -1532,418 +583,45 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch46 -p1 -%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 -%patch93 -p1 -%patch114 -p0 -%if 0%{?suse_version} <= 1310 -%patch117 -p1 -%endif -%patch119 -p1 %patch120 -p1 -%patch121 -p0 -%patch122 -p0 -%patch123 -p0 -%patch124 -p0 -%patch125 -p0 -%patch126 -p0 -%patch127 -p0 -%patch128 -p0 -%patch129 -p0 -%patch130 -p0 -%patch131 -p0 -%patch132 -p0 -%patch133 -p0 -%patch134 -p0 -%patch135 -p0 -%patch136 -p0 -%patch137 -p0 -%patch138 -p0 -%patch139 -p0 -%patch140 -p0 -%patch141 -p0 -%patch142 -p0 -%patch143 -p0 -%patch144 -p0 -%patch145 -p0 -%patch146 -p0 -%patch147 -p0 -%patch148 -p0 -%patch149 -p0 -%patch150 -p0 -%patch151 -p0 -%patch152 -p0 -%patch153 -p0 -%patch154 -p0 -%patch155 -p0 -%patch157 -p0 -%patch158 -p0 -%patch159 -p0 -%patch160 -p0 -%patch161 -p0 -%patch162 -p0 -%patch163 -p0 -%patch164 -p0 -%patch165 -p0 -%patch166 -p0 -%patch167 -p0 -%patch168 -p0 -%patch169 -p0 -%patch170 -p0 -%patch171 -p0 -%patch172 -p0 -%patch173 -p0 -%patch174 -p0 -%patch175 -p0 -%patch176 -p0 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 -%patch181 -p1 %patch182 -p1 %patch183 -p1 %patch185 -p1 %patch186 -p1 -%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 -%patch194 -p0 -%patch196 -p1 -%patch195 -p0 %patch197 -p1 %patch198 -p1 -%patch199 -p0 -%patch200 -p0 -%patch201 -p0 -%patch202 -p0 %patch203 -p1 -%patch204 -p1 -%patch206 -p0 -%patch207 -p0 %patch208 -p1 -%patch209 -p0 -%patch211 -p0 -%patch212 -p0 -%patch213 -p0 -%patch214 -p0 -%patch215 -p0 -%patch216 -p0 -%patch217 -p0 -%patch218 -p0 -%patch219 -p1 -%patch220 -p0 -%patch221 -p0 -%patch222 -p0 -%patch223 -p0 -%patch224 -p0 -%patch225 -p0 -%patch226 -p0 -%patch227 -p0 -%patch228 -p0 -%patch229 -p0 -%patch230 -p0 -%patch231 -p0 -%patch232 -p0 -%patch233 -p0 -%patch234 -p0 -%patch235 -p0 -%patch236 -p0 -%patch237 -p0 -%patch238 -p0 -%patch239 -p0 -%patch240 -p0 -%patch241 -p0 -%patch242 -p0 -%patch243 -p0 -%patch244 -p0 -%patch245 -p0 -%patch246 -p0 -%patch247 -p0 -%patch248 -p0 -%patch249 -p0 -%patch250 -p0 -%patch251 -p0 -%patch252 -p0 -%patch253 -p0 -%patch254 -p0 -%patch255 -p0 -%patch256 -p0 -%patch257 -p0 -%patch258 -p0 -%patch259 -p0 -%patch260 -p0 -%patch261 -p0 -%patch262 -p0 -%patch263 -p0 -%patch264 -p0 -%patch265 -p0 -%patch266 -p0 -%patch267 -p0 -%patch268 -p0 -%patch269 -p0 -%patch270 -p0 -%patch271 -p0 -%patch272 -p0 -%patch273 -p0 -%patch274 -p0 -%patch275 -p0 -%patch276 -p0 -%patch277 -p0 -%patch278 -p0 -%patch279 -p0 -%patch280 -p0 -%patch281 -p1 -%patch282 -p0 -%patch283 -p0 -%patch284 -p0 -%patch285 -p0 -%patch286 -p0 -%patch287 -p0 -%patch288 -p0 -%patch289 -p0 -%patch290 -p0 -%patch291 -p0 -%patch292 -p0 -%patch293 -p0 -%patch294 -p0 -%patch295 -p0 -%patch296 -p0 -%patch297 -p0 -%patch298 -p0 -%patch299 -p0 -%patch300 -p0 -%patch301 -p0 -%patch302 -p0 -%patch303 -p0 -%patch304 -p0 -%patch305 -p0 -%patch306 -p0 -%patch307 -p0 -%patch308 -p0 -%patch309 -p0 -%patch310 -p0 -%patch311 -p0 -%patch312 -p0 -%patch313 -p0 -%patch314 -p0 -%patch315 -p0 -%patch316 -p0 -%patch317 -p0 -%patch318 -p0 -%patch319 -p0 -%patch320 -p0 -%patch321 -p0 -%patch322 -p0 -%patch323 -p0 -%patch324 -p0 -%patch325 -p0 -%patch326 -p0 -%patch327 -p0 -%patch328 -p0 -%patch329 -p0 -%patch330 -p0 -%patch331 -p0 -%patch332 -p0 -%patch333 -p0 -%patch334 -p0 -%patch335 -p0 -%patch336 -p0 -%patch337 -p0 -%patch338 -p0 -%patch339 -p0 -%patch340 -p0 -%patch341 -p0 -%patch342 -p0 -%patch343 -p0 -%patch344 -p0 +%patch338 -p1 %patch345 -p1 -%patch346 -p0 -%patch347 -p0 -%patch348 -p0 -%patch349 -p0 -%patch350 -p0 -%patch351 -p0 -%patch352 -p0 -%patch353 -p0 -%patch354 -p0 -%patch355 -p0 -%patch356 -p0 -%patch357 -p0 -%patch358 -p0 -%patch359 -p0 -%patch360 -p0 -%patch361 -p0 +%patch352 -p1 %patch362 -p1 -%patch363 -p0 -%patch364 -p0 -%patch365 -p0 %patch366 -p1 -%patch367 -p0 %patch368 -p1 -%patch369 -p0 -%patch370 -p0 -%patch371 -p0 -%patch372 -p0 -%patch373 -p0 -%patch374 -p0 -%patch375 -p0 -%patch376 -p0 -%patch377 -p0 -%patch378 -p0 -%patch379 -p0 -%patch380 -p0 -%patch381 -p0 -%patch382 -p0 -%patch383 -p0 -%patch384 -p0 -%patch385 -p0 %patch386 -p1 -%patch387 -p0 -%patch388 -p0 -%patch389 -p0 -%patch390 -p0 -%patch391 -p0 -%patch392 -p0 -%patch393 -p0 -%patch394 -p0 -%patch395 -p0 -%patch396 -p0 -%patch397 -p0 -%patch398 -p0 -%patch399 -p0 -%patch400 -p0 -%patch401 -p0 -%patch402 -p0 -%patch403 -p0 -%patch404 -p0 -%patch405 -p0 -%patch406 -p0 -%patch407 -p0 -%patch408 -p0 -%patch409 -p0 -%patch410 -p0 -%patch411 -p0 -%patch412 -p0 -%patch413 -p0 -%patch414 -p0 -%patch415 -p0 -%patch416 -p0 -%patch417 -p0 -%patch418 -p0 -%patch419 -p0 -%patch420 -p0 -%patch421 -p0 -%patch422 -p0 -%patch423 -p0 -%patch424 -p0 -%patch425 -p0 -%patch426 -p0 -%patch427 -p0 -%patch428 -p0 -%patch429 -p0 %patch430 -p1 -%patch431 -p0 -%patch432 -p0 -%patch433 -p0 -%patch434 -p0 -%patch435 -p0 -%patch436 -p0 -%patch437 -p0 -%patch438 -p0 -%patch439 -p0 +%patch475 -p1 %ifarch %arm %patch38 -p1 %endif -%patch440 -p0 -%patch441 -p0 -%patch442 -p0 -%patch443 -p0 -%patch444 -p0 -%patch445 -p0 -%patch446 -p0 -%patch447 -p0 -%patch448 -p0 -%patch449 -p0 -%patch450 -p0 -%patch451 -p0 -%patch452 -p0 -%patch453 -p0 -%patch454 -p0 -%patch455 -p0 -%patch456 -p0 -%patch457 -p0 -%patch458 -p0 -%patch459 -p0 -%patch460 -p0 -%patch461 -p0 -%patch462 -p0 -%patch463 -p0 -%patch464 -p0 -%patch465 -p0 -%patch466 -p0 -%patch467 -p0 -%patch468 -p0 -%patch469 -p0 -%patch470 -p0 -%patch471 -p0 -%patch472 -p0 -%patch473 -p0 -%patch474 -p0 -%patch475 -p0 -%patch476 -p0 -%patch477 -p0 -%patch478 -p0 -%patch479 -p0 -%patch480 -p0 -%patch481 -p0 -%patch482 -p0 -%patch483 -p0 -%patch484 -p0 -%patch485 -p0 -%patch486 -p0 -%patch487 -p0 -%patch488 -p0 -%patch489 -p0 -%patch490 -p0 -%patch491 -p0 -%patch492 -p0 -%patch493 -p0 -%patch494 -p0 -%patch495 -p0 -%patch496 -p0 -%patch497 -p0 -%patch498 -p0 -%patch499 -p0 -%patch500 -p0 -%patch501 -p0 -%patch502 -p0 -%patch503 -p0 -%patch504 -p0 -%patch505 -p0 -%patch506 -p0 -%patch507 -p0 -%patch509 -p0 -%patch510 -p0 -%patch511 -p0 -%patch512 -p0 -%patch513 -p1 -%patch514 -p0 -%patch515 -p0 -%patch516 -p0 -%patch517 -p0 -%patch518 -p1 -%patch519 -p1 +%patch490 -p1 %patch520 -p1 -%patch521 -p0 +%patch521 -p1 +%patch522 -p1 # udev patches %patch1001 -p1 @@ -1952,131 +630,31 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 -%if 0%{?suse_version} <= 1310 -%patch1008 -p1 -%endif -%patch1009 -p1 -%patch1010 -p1 %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p0 -%patch1017 -p0 -%patch1018 -p0 -%patch1019 -p0 -%patch1020 -p0 %patch1021 -p1 -%if %{with udevsettle} -%patch1022 -p1 -%endif -%patch1023 -p0 -%patch1024 -p0 -%if %{with blkrrpart} -%patch1025 -p1 -%endif -%patch1026 -p1 -%if %{with blkrrpart} -%patch1027 -p1 -%endif -%patch1028 -p1 -%if %{with blkrrpart} -%patch1029 -p1 -%patch1030 -p1 -%patch1031 -p1 -%patch1032 -p1 -%patch1033 -p1 -%patch1034 -p1 -%endif %patch1035 -p1 %patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1038 -p0 -%if %{with udevsettle} -%patch1039 -p0 -%endif %patch1040 -p1 -%if %{with udevsettle} -%patch1041 -p0 -%patch1042 -p0 -%patch1043 -p0 -%endif -%patch1044 -p0 -%patch1045 -p0 %patch1046 -p1 -%patch1047 -p0 -%patch1048 -p0 -%patch1049 -p0 %patch1050 -p1 %patch1051 -p1 -%patch1052 -p0 %patch1053 -p1 %if %{with blkrrpart} -%patch1054 -p0 %else %patch1055 -p1 %endif -%patch1056 -p0 -%if %{with udevsettle} -%patch1057 -p0 -%else -%patch1058 -p0 -%endif -%patch1059 -p0 %patch1060 -p1 -%patch1061 -p0 %patch1062 -p1 -%if %{with parentpathid} -%patch1063 -p0 -%endif -%patch1064 -p0 -%patch1065 -p0 %patch1066 -p1 -%patch1067 -p1 -%patch1068 -p0 -%patch1069 -p0 -%patch1070 -p0 -%patch1071 -p0 -%patch1072 -p0 -%patch1073 -p0 -%patch1074 -p0 -%patch1075 -p0 -%if %{with udevsettle} -%patch1076 -p0 -%else -%patch1077 -p0 -%endif -%if 0%{?suse_version} > 1310 -%if %{with udevsettle} -%patch1079 -p1 -%else -%patch1078 -p1 -%endif -%endif -%patch1080 -p0 -%patch1081 -p0 -%patch1082 -p0 -%patch1083 -p0 -%patch1084 -p0 -%patch1085 -p0 -%patch1086 -p0 -%patch1087 -p0 %patch1088 -p1 -%patch1089 -p1 -%if %{with parentpathid} -%patch1090 -p0 -%patch1091 -p0 -%endif -%patch1092 -p0 -%patch1093 -p0 -%patch1094 -p0 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 -%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -2096,17 +674,6 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi -%if 0%{?suse_version} <= 1310 -# -# Older versions like oS 13.1 do not distinguish between -# network.target and network-online.target -# -for f in src/core/service.c src/insserv-generator/insserv-generator.c -do - sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f -done -%endif - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -2147,11 +714,11 @@ cflags () esac set +o noclobber } -autoreconf -fiv +autoreconf -fi # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export CFLAGS="%{optflags}" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -2177,6 +744,7 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-gudev \ --disable-myhostname \ --disable-manpages \ + --disable-machined \ %else --enable-manpages \ %if %{with python} @@ -2184,16 +752,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ -%endif -%if %{with compat_libs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ -%if 0%{?suse_version} <= 1310 - --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ -%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -2202,11 +764,15 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ -%if 0%{?suse_version} > 1310 - --disable-multi-seat-x \ -%endif %if %{without networkd} --disable-networkd \ +%endif +%if %{without sysvcompat} + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ +%endif +%if %{without resolved} + --disable-resolved \ %endif --disable-kdbus make %{?_smp_mflags} @@ -2215,19 +781,9 @@ make %{?_smp_mflags} update-man-list man %endif %install -# Use refreshed manual pages -for man in man/*.[0-9] -do - section=${man##*.} - test -d man/man${section} || continue - new=man/man${section}/${man##*/} - if test -s $new -a $new -nt $man - then - cp -p $new $man - else - sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man - fi -done +%if !0%{?bootstrap} +cp man/man[0-9]/*.[0-9] man/ +%endif make install DESTDIR="%buildroot" # move to %{_lib} @@ -2240,24 +796,17 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -%if 0%{?suse_version} <= 1310 -ln -sf /lib/firmware %{buildroot}/usr/lib/firmware -%endif + %if ! 0%{?bootstrap} -install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} -sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} -sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule -install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -2275,28 +824,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service -ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service + # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -2369,15 +897,6 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ -%if ! 0%{?bootstrap} -%if %{without python} -for man in systemd.directives.7 systemd.index.7 -do - install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ -done -%endif -%endif - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -2394,10 +913,8 @@ done > files.completion > files.completion %endif -%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -2409,30 +926,6 @@ do done %endif -%if 0%{suse_version} <= 1310 -cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' - [Unit] - Description=Fix against deadlock at shutdown - Wants=remote-fs.target remote-fs-pre.target - Before=remote-fs.target systemd-logind.service - After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target - ConditionPathExists=|/etc/init.d/autofs - ConditionPathExists=|/etc/init.d/nfs - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/bin/true - ExecStop=-/etc/init.d/autofs stop - ExecStop=-/etc/init.d/nfs stop - - [Install] - WantedBy=remote-fs.target - EOF - mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants - ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants -%endif - # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -2480,6 +973,7 @@ fi getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : %endif +systemd-sysusers || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -2527,8 +1021,6 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -2558,7 +1050,6 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -2657,6 +1148,9 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%post -n nss-mymachines -p /sbin/ldconfig +%postun -n nss-mymachines -p /sbin/ldconfig + %pre journal-gateway getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : @@ -2679,17 +1173,26 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl -%{_bindir}/systemd-sleep-grub +%if %{with networkd} +%{_bindir}/networkctl +%endif %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%if ! 0%{?bootstrap} %{_bindir}/machinectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/systemd-coredumpctl +%{_bindir}/coredumpctl %{_bindir}/systemd-delta +%{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot +%{_bindir}/systemd-path +%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify +%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -2732,7 +1235,6 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif %{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -2771,12 +1273,19 @@ exit 0 %{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-debug-generator +%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator +%if %{with sysvcompat} +%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator +%{_prefix}/lib/systemd/system-preset/ +%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -2805,13 +1314,23 @@ exit 0 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%endif +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%endif +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -2828,15 +1347,24 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%if %{with networkd} +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%if !0%{?bootstrap} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions +%if !0%{?bootstrap} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy @@ -2886,8 +1414,11 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%if 0%{?suse_version} > 1310 -%{_datadir}/pkgconfig/systemd.pc +%if %{with resolved} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_sysconfdir}/systemd/resolved.conf +%{_libdir}/libnss_resolve.so.2 +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif %if ! 0%{?bootstrap} @@ -2912,9 +1443,7 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/systemd.pc -%endif +%{_libdir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -2976,7 +1505,6 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* -%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -3007,9 +1535,6 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/udev.pc -%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -3043,8 +1568,9 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %{_localstatedir}/log/README -/etc/init.d/systemd-journald +%endif %files -n nss-myhostname %defattr(-, root, root) @@ -3057,6 +1583,10 @@ exit 0 %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_mandir}/man8/systemd-journal-gatewayd.* %{_datadir}/systemd/gatewayd + +%files -n nss-mymachines +%defattr(-,root,root) +%_libdir/libnss_mymachines.so* %endif %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 85027c50..898a6548 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -1,14 +1,16 @@ -diff --git a/src/login/systemd-user b/src/login/systemd-user -index 7b57dbf..c0fc793 100644 ---- a/src/login/systemd-user -+++ b/src/login/systemd-user -@@ -2,7 +2,7 @@ +--- + src/login/systemd-user | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-218/src/login/systemd-user +=================================================================== +--- systemd-218.orig/src/login/systemd-user ++++ systemd-218/src/login/systemd-user +@@ -2,5 +2,5 @@ + # + # Used by systemd --user instances. - # Used by systemd when launching systemd user instances. - --account include system-auth --session include system-auth -+account include common-account -+session include common-session - auth required pam_deny.so - password required pam_deny.so +-account include system-auth +-session include system-auth ++account include common-account ++session include common-session diff --git a/systemd-powerd-initctl-support.patch b/systemd-powerd-initctl-support.patch index bc0e3ca4..675124ba 100644 --- a/systemd-powerd-initctl-support.patch +++ b/systemd-powerd-initctl-support.patch @@ -12,10 +12,8 @@ Signed-off-by: Hannes Reinecke src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) -diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c -index 468df35..d4794a6 100644 ---- a/src/initctl/initctl.c -+++ b/src/initctl/initctl.c +--- systemd-219.orig/src/initctl/initctl.c ++++ systemd-219/src/initctl/initctl.c @@ -32,8 +32,11 @@ #include #include @@ -36,11 +34,12 @@ index 468df35..d4794a6 100644 #define SERVER_FD_MAX 16 #define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC)) -@@ -141,7 +145,53 @@ static void change_runlevel(Server *s, int runlevel) { +@@ -141,7 +145,54 @@ static void change_runlevel(Server *s, i } } +static int send_shutdownd(unsigned delay, char mode, const char *message) { ++#ifdef HAVE_SYSV_COMPAT + usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE; + struct sd_shutdown_command c = { + .usec = t, @@ -81,7 +80,7 @@ index 468df35..d4794a6 100644 + + if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) + return -errno; -+ ++#endif + return 0; +} + @@ -90,7 +89,7 @@ index 468df35..d4794a6 100644 assert(s); assert(req); -@@ -184,9 +234,28 @@ static void request_process(Server *s, const struct init_request *req) { +@@ -184,9 +235,28 @@ static void request_process(Server *s, c return; case INIT_CMD_POWERFAIL: @@ -120,6 +119,3 @@ index 468df35..d4794a6 100644 return; case INIT_CMD_CHANGECONS: --- -1.8.1.4 - diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index def95a7d..a9e12af8 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,3 +1,4 @@ +addFilter("invalid-pkgconfig-file") addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") addFilter(".*dangling-symlink .* /dev/null.*") addFilter(".*files-duplicate .*/reboot\.8.*") @@ -16,6 +17,7 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-sleep-grub b/systemd-sleep-grub deleted file mode 100644 index 5cd8bef3..00000000 --- a/systemd-sleep-grub +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. - -set -x - -prepare-parameters() -{ - eval `grep LOADER_TYPE= /etc/sysconfig/bootloader` - - if [ x"$LOADER_TYPE" = "xgrub2" -o x"$LOADER_TYPE" = "xgrub2-efi" ]; then - GRUBONCE="/usr/sbin/grub2-once" - GRUBDEFAULT="/boot/grub2/grubenv" - GRUB2EDITENV="/usr/bin/grub2-editenv" - GRUB2CONF="/boot/grub2/grub.cfg" - BLKID="/usr/sbin/blkid" - getkernels="getkernels-grub2" - fi -} - -##################################################################### -# gets a list of available kernels from /boot/grub2/grub.cfg -# kernels are in the array $KERNELS, output to stdout to be eval-ed. -getkernels-grub2() -{ - local I DUMMY MNT ROOTDEV - declare -i I=0 J=-1 - - # we need the root partition later to decide if this is the kernel to select - while read ROOTDEV MNT DUMMY; do - [ "$ROOTDEV" = "rootfs" ] && continue # not what we are searching for - if [ "$MNT" = "/" ]; then - break - fi - done < /proc/mounts - - while read LINE; do - case $LINE in - menuentry\ *) - let J++ - ;; - set\ default*) - local DEFAULT=${LINE#*default=} - - if echo $DEFAULT | grep -q saved_entry ; then - local SAVED=`$GRUB2EDITENV $GRUBDEFAULT list | sed -n s/^saved_entry=//p` - if [ -n "$SAVED" ]; then - DEFAULT_BOOT=$($GRUBONCE --show-mapped "$SAVED") - fi - fi - - ;; - linux*noresume*|module*xen*noresume*) - echo " Skipping grub entry #${J}, because it has the noresume option" >&2 - ;; - linux*root=*|module*xen*root=*) - local ROOT - ROOT=${LINE#*root=} - DUMMY=($ROOT) - ROOT=${DUMMY[0]} - - if [ x"${ROOT:0:5}" = "xUUID=" ]; then - UUID=${ROOT#UUID=} - if [ -n "$UUID" ]; then - ROOT=$($BLKID -U $UUID) - fi - fi - - if [ "$(stat -Lc '%t:%T' $ROOT)" != "$(stat -Lc '%t:%T' $ROOTDEV)" ]; then - echo " Skipping grub entry #${J}, because its root= parameter ($ROOT)" >&2 - echo " does not match the current root device ($ROOTDEV)." >&2 - continue - fi - DUMMY=($LINE) # kernel (hd0,1)/boot/vmlinuz-ABC root=/dev/hda2 - echo "KERNELS[$I]='${DUMMY[1]##*/}'" # vmlinuz-ABC - echo "MENU_ENTRIES[$I]=$J" - # DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO - let I++ - ;; - linux*|module*xen*) - # a kernel without "root="? We better skip that one... - echo " Skipping grub entry #${J}, because it has no root= option" >&2 - ;; - *) ;; - esac - done < "$GRUB2CONF" -} - -############################################################# -# runs grubonce from the grub package to select which kernel -# to boot on next startup -grub-once() -{ - if [ -x "$GRUBONCE" ]; then - echo " running '$GRUBONCE $1'" - $GRUBONCE $1 - else - echo "WARNING: $GRUBONCE not found, not preparing bootloader" - fi -} - -############################################################# -# restore grub default after (eventually failed) resume -grub-once-restore() -{ - echo "INFO: running grub-once-restore" - prepare-parameters - $GRUB2EDITENV $GRUBDEFAULT unset next_entry -} - -############################################################################# -# try to find a kernel image that matches the actually running kernel. -# We need this, if more than one kernel is installed. This works reasonably -# well with grub, if all kernels are named "vmlinuz-`uname -r`" and are -# located in /boot. If they are not, good luck ;-) -find-kernel-entry() -{ - NEXT_BOOT=-1 - ARCH=`uname -m` - declare -i I=0 - # DEBUG "running kernel: $RUNNING" DIAG - while [ -n "${KERNELS[$I]}" ]; do - BOOTING="${KERNELS[$I]}" - if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then - # DEBUG "Found kernel symlink $BOOTING => $IMAGE" INFO - BOOTING=$IMAGE - fi - case $ARCH in - ppc*) BOOTING="${BOOTING#*vmlinux-}" ;; - *) BOOTING="${BOOTING#*vmlinuz-}" ;; - esac - if [ "$RUNNING" == "$BOOTING" ]; then - NEXT_BOOT=${MENU_ENTRIES[$I]} - echo " running kernel is grub menu entry $NEXT_BOOT (${KERNELS[$I]})" - break - fi - let I++ - done - # if we have not found a kernel, issue a warning. - # if we have found a kernel, we'll do "grub-once" later, after - # prepare_suspend finished. - if [ $NEXT_BOOT -eq -1 ]; then - echo "WARNING: no kernelfile matching the running kernel found" - fi -} - -############################################################################# -# if we did not find a kernel (or BOOT_LOADER is not GRUB) check, -# if the running kernel is still the one that will (probably) be booted for -# resume (default entry in menu.lst or, if there is none, the kernel file -# /boot/vmlinuz points to.) -# This will only work, if you use "original" SUSE kernels. -# you can always override with the config variable set to "yes" -prepare-grub() -{ - echo "INFO: running prepare-grub" - prepare-parameters - eval `$getkernels` - RUNNING=`uname -r` - find-kernel-entry - - RET=0 - - if [ $NEXT_BOOT -eq -1 ]; then - # which kernel is booted with the default entry? - BOOTING="${KERNELS[$DEFAULT_BOOT]}" - # if there is no default entry (no menu.lst?) we fall back to - # the default of /boot/vmlinuz. - [ -z "$BOOTING" ] && BOOTING="vmlinuz" - if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then - BOOTING=$IMAGE - fi - BOOTING="${BOOTING#*vmlinuz-}" - echo "running kernel: '$RUNNING', probably booting kernel: '$BOOTING'" - if [ "$BOOTING" != "$RUNNING" ]; then - echo "ERROR: kernel version mismatch, cannot suspend to disk" - echo "running: $RUNNING booting: $BOOTING" >> $INHIBIT - RET=1 - fi - else - # set the bootloader to the running kernel - echo " preparing boot-loader: selecting entry $NEXT_BOOT, kernel /boot/$BOOTING" - T1=`date +"%s%N"` - sync; sync; sync # this is needed to speed up grub-once on reiserfs - T2=`date +"%s%N"` - echo " grub-once: `grub-once $NEXT_BOOT`" - T3=`date +"%s%N"` - S=$(((T2-T1)/100000000)); S="$((S/10)).${S:0-1}" - G=$(((T3-T2)/100000000)); G="$((G/10)).${G:0-1}" - echo " time needed for sync: $S seconds, time needed for grub: $G seconds." - fi - - return $RET -} - - -###### main() - -if [ "$1" = pre ] ; then - prepare-grub -fi -if [ "$1" = post ] ; then - grub-once-restore -fi diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index 61d05349..dd7c0d80 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -5,20 +5,22 @@ Subject: systemd tmp safe defaults Fix regression in the default for tmp auto-deletion (FATE#314974). SUSE policy is to not clean /tmp by default. --- - tmpfiles.d/tmp.conf | 5 +++-- + tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---- systemd-206.orig/tmpfiles.d/tmp.conf -+++ systemd-206/tmpfiles.d/tmp.conf +Index: systemd/tmpfiles.d/tmp.conf +=================================================================== +--- systemd.orig/tmpfiles.d/tmp.conf ++++ systemd/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override --d /tmp 1777 root root 10d --d /var/tmp 1777 root root 30d +-v /tmp 1777 root root 10d +-v /var/tmp 1777 root root 30d +# SUSE policy: we don't clean those directories -+d /tmp 1777 root root - -+d /var/tmp 1777 root root - ++v /tmp 1777 root root - ++v /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index 78b33870..7a555d36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,9 +1,575 @@ +------------------------------------------------------------------- +Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de + +- Add 0001-core-rework-device-state-logic.patch to fix spurious + automated umount after mount. + +------------------------------------------------------------------- +Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com + +- mark more subpackages as !bootstrap for systemd-mini usage. + +------------------------------------------------------------------- +Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org + +- spec : remove --with-firmware-path, firmware loader was removed in v217 +- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) +- spec: Do not enable systemd-readahead-collect.service and +systemd-readahead-replay.service as these do not exist anymore. +- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch + Yast was fixed to write all timezone changes exactly how timedated expects + things to be done. +- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg + package handles the migration from /etc/HOSTNAME to /etc/hostname + and owns both files. +-spec: remove boot.udev and systemd-journald.init as they currently + serve no purpose. +- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we + are in sysvcompat-only codepath, also remove the code targetting other + distributions, never compiled as the TARGET_$DISTRO macros are never defined. +- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT +- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards +- insserv-generator.patch: Only build when sysvcompat is enabled +- vhangup-on-all-consoles.patch add a comment indicating this is a workaround + for a kernel bug. +- spec: Add option to allow disabling sysvinit compat at build time. +- spec: Add option to enable resolved at build time. +- spec: Remove all %ifs for !factory products, current systemd releases can + neither be built nor installed in older products without upgrading + several components of the base system. + (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) +- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when + those init scripts still existed. (dummy localfs.service source: gone) +- systemd-sleep-grub: moved to the grub2 package where it belongs as a + suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) +- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds + config.h everywhere in the preprocessor cmdline. + +------------------------------------------------------------------- +Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 219 +* systemd units can now be "unsupported" (like, for example, + .device in a containers), similar to the "skipped" state in + SUSE's prior sysvinit scripts. +* tmpfiles gained the 'v' type for creating btrfs subvolumes. +* tmpfiles gained the 'a' type for setting ACLs. +* systemd-nspawn gained new switches: --ephemeral, --template +* The /var/lib/containers location is deprecated and replaced by + /var/lib/machines. +* machinectl gained the copy-from and copy-to commands. +* machinectl now knows a "bind" command (for use with nspawn) +* new "systemd-importd" daemon to download container images and run + them as nspawn containers. +* networkd collects LLDP network announcements, if available, and + so shown in networkctl. +* The fallback terminal type was changed from "vt102" to "vt220", + allowing PgUp/PgDn keys to work. +* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, + useful should the regular shutdown hang. +* Removing storage will cause systemd to unmount the associated + mountpoints so that they don't linger around. + +------------------------------------------------------------------- +Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de + +- Add suse-sysv-bootd-support.diff (reinstate old + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) + +------------------------------------------------------------------- +Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de + +- Update to systemd v218-1050-g38ab096 +- Remove patches + use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) +- Reinstate and improve (remove huge indents from) + tty-ask-password-agent-on-console.patch, + 0014-journald-with-journaling-FS.patch, rootsymlink_generator. + +------------------------------------------------------------------- +Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com + +- disable systemd-resolved for now as it interacts not well with + our methods and security has concerns regarding spoofing. bsc#917781 + ------------------------------------------------------------------- Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - Add patch kbd-model-map.patch to add missed keyboard layouts which are offered by YaST2 (bsc#910643 and boo#897803) +------------------------------------------------------------------- +Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 218 +* New utilities: systemd-timesyncd (SNTP client), + systemd-resolved, systemd-networkd, networkctl, + systemd-sysusers +* machinectl gained a "poweroff" command for clean container shutdown +* The udev hwdb now contains DPI information for mice. +* Userspace firmware loading support has been removed and + the minimum supported kernel version is thus bumped to 3.7. +- Remove patches: + G=gone locally, is upstream; + D=dropped: no longer needed; + N=no longer applies to source nor is it deemed needed; + K=killed: no longer applicable and too complex to resolve: + ---- + G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch + K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch + K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch + K handle-SYSTEMCTL_OPTIONS-environment-variable.patch + K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch + K log-target-null-instead-kmsg.patch + K tty-ask-password-agent-on-console.patch + K 513-nspawn-veth.patch + K 1087-infinit-timeout-for-kmod-loaded-modules.patch + D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch + D avoid-leaking-socket-descriptors.patch + D 0001-make-fortify-happy-with-ppoll.patch + N fix-owner-of-var-log-btmp.patch + N disable-nss-myhostname-warning-bnc-783841.patch + N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch + N 0001-make-209-working-on-older-dist.patch + N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch + N tmpfiles-do-not-clean-for-mandb-index-files.patch + G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch + G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc + G optionally-warn-if-nss-myhostname-is-called.patch + G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch + G 0004-getty-generator-properly-escape-instance-names.patch + G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch + G 0008-Reset-signal-mask-on-re-exec-to-init.patch + G 0001-login-fix-pos-array-allocation.patch + G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch + G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + G 0005-Replace-var-run-with-run-in-remaining-places.patch + G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch + G 0007-README-document-that-var-run-must-be-a-symlink-run.patch + G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch + G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch + G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch + G 0001-Fix-systemd-stdio-bridge-symlink.patch + G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch + G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch + G 0004-man-document-missing-options-of-systemd-run.patch + G 0005-systemd-run-add-some-extra-safety-checks.patch + G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch + G 0007-journal-forget-file-after-encountering-an-error.patch + G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch + G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch + G 0010-man-update-link-to-LSB.patch + G 0011-man-systemd-bootchart-fix-spacing-in-command.patch + G 0012-man-add-missing-comma.patch + G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch + G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch + G 0002-manager-flush-memory-stream-before-using-the-buffer.patch + G 0003-busname-don-t-drop-service-from-the-result-string.patch + G 0004-fix-off-by-one-error-in-array-index-assertion.patch + G 0005-logind-fix-policykit-checks.patch + G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch + G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch + G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch + G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch + G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch + G 0007-networkd-fix-typo.patch + G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch + G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch + G 0012-journald-remove-stray-reset-of-error-return-value.patch + G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch + G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch + G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch + G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch + G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch + G 0005-sd-daemon-fix-incorrect-variable-access.patch + G 0006-sd-event-initialization-perturbation-value-right-bef.patch + G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch + G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch + G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch + G 0001-journal-fix-export-of-messages-containing-newlines.patch + G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch + G 0003-tty-ask-password-agent-return-negative-errno.patch + G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch + G 0005-systemd-python-fix-failing-assert.patch + G 0007-dbus-suppress-duplicate-and-misleading-messages.patch + G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch + G 0001-bash-completion-fix-__get_startable_units.patch + G 0002-sysctl-replaces-some-slashes-with-dots.patch + G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch + G 0004-implement-a-union-to-pad-out-file_handle.patch + G shut-up-annoying-assertion-monotonic-clock-message.patch + G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch + G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch + G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch + G 0003-analyze-fix-plot-with-bad-y-size.patch + G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch + G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch + G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch + G 0002-backlight-do-nothing-if-max_brightness-is-0.patch + G 0003-backlight-unify-error-messages.patch + G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch + G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch + G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch + G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch + G 0001-core-close-socket-fds-asynchronously.patch + G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch + G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch + G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch + G 0002-logind-fix-printf-format.patch + G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch + G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch + G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch + G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch + G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch + G 0008-man-update-journald-rate-limit-defaults.patch + G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch + G 0010-logind-allow-suspending-if-there-are-no-displays.patch + G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch + G 0002-man-note-that-entire-sections-can-now-be-ignored.patch + G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch + G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch + G 0006-login-add-mir-to-the-list-of-session-types.patch + G 0007-logind-fix-Display-property-of-user-objects.patch + G 0001-hwdb-update.patch + G 0002-hwdb-update.patch + G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch + G 0004-hwdb-update.patch + G 0005-hwdb-update.patch + G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch + G 0002-journal-properly-detect-language-specified-in-line.patch + G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch + G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch + G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch + G 0002-nspawn-restore-journal-directory-is-empty-check.patch + G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + G 0004-socket-properly-handle-if-our-service-vanished-durin.patch + G 0001-Do-not-unescape-unit-names-in-Install-section.patch + G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch + G 0001-virt-rework-container-detection-logic.patch + G 0002-fsck-include-device-name-in-the-message-about-missin.patch + G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch + G 0004-util-ignore_file-should-not-allow-files-ending-with.patch + G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch + G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch + G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch + G 0001-hwdb-fix-case-sensitive-match.patch + G 0001-sd-event-restore-correct-timeout-behaviour.patch + G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch + G 0001-umount-modernizations.patch + G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch + G 0003-core-allow-transient-mount-units.patch + G 0004-systemd-detect-virt-only-discover-Xen-domU.patch + G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch + G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch + G 0001-core-fix-invalid-free-in-killall.patch + G 0003-install-fix-invalid-free-in-unit_file_mask.patch + G 0001-systemd-detect-virt-detect-s390-virtualization.patch + G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch + G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch + G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch + G 0005-po-add-Greek-translation.patch + G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0007-po-add-German-translation.patch + G 0009-core-clean-up-signal-reset-logic-when-reexec.patch + G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch + G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch + G 0012-core-transaction-avoid-misleading-error-message-when.patch + G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + G 0005-man-fix-path-in-crypttab-5.patch + G 0001-units-order-network-online.target-after-network.targ.patch + G 0001-core-use-correct-format-string-for-UIDs.patch + G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch + G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch + G 0002-journald-make-MaxFileSec-really-default-to-1month.patch + G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch + G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch + G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch + G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch + G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch + G 0001-parse_uid-return-ENXIO-for-1-uids.patch + G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch + G 0003-localed-consider-an-unset-model-as-a-wildcard.patch + G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch + G 0005-bus-close-a-bus-that-failed-to-connect.patch + G 0006-hwdb-update.patch + G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-architecture-Add-tilegx.patch + G 0002-architecture-Add-cris.patch + G 0003-arch-add-crisv32-to-uname-check.patch + G 0004-architecture-remove-cris-from-uname-list.patch + G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch + G 0002-namespace-fix-uninitialized-memory-access.patch + G 0001-machine-don-t-return-uninitialized-variable.patch + G 0002-vconsole-setup-run-setfont-before-loadkeys.patch + G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch + G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch + G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch + G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch + G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch + G 0007-service-flush-status-text-and-errno-values-each-time.patch + G 0001-journal-compress-return-early-in-uncompress_startswi.patch + G 0002-journal-compress-improve-xz-compression-performance.patch + G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch + G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch + G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch + G 0001-event-pull-in-sd-event.h-from-event-util.h.patch + G 0002-util-fix-has-cc-check-and-add-test.patch + G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch + G 0004-fileio-quote-more-shell-characters-in-envfiles.patch + G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch + G 0002-units-serial-getty-.service-use-the-default-RestartS.patch + G 0001-po-add-Ukrainian-translation.patch + G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch + G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch + G 0001-detect-virt-Fix-Xen-domU-discovery.patch + G 0002-Be-more-verbose-when-bind-or-listen-fails.patch + G 0003-Add-quotes-to-warning-message.patch + G 0004-systemd-return-the-first-error-from-manager_startup.patch + G 0001-bash-completion-p-option-for-journalctl.patch + G 0002-journalctl-man-allow-only-between-terms.patch + G 0003-systemd-use-pager-for-test-and-help.patch + G 0001-bus-proxyd-fix-incorrect-comparison.patch + G 0002-shell-completion-prevent-mangling-unit-names.patch + G 0003-Always-check-asprintf-return-code.patch + G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch + G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch + G 0006-parse_boolean-require-exact-matches.patch + G 0007-drop_duplicates-copy-full-BindMount-struct.patch + G 0008-shell-completion-prevent-mangling-unit-names-bash.patch + G 0009-journald-always-add-syslog-facility-for-messages-com.patch + G 0001-sysv-order-initscripts-which-provide-network-before-.patch + G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch + G 0003-keymap-Annotate-all-micmute-workarounds.patch + G 0007-hwdb-update.patch + G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch + G 0002-switch-root-umount-the-old-root-correctly.patch + G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch + G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch + G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch + G 0006-login-share-VT-signal-handler-between-sessions.patch + G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch + G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch + G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch + G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch + G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch + G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch + G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch + G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch + G 0003-keymap-Fix-HP-Pavillon-DV7.patch + G 0004-hwdb-update-format-description-and-document-reloadin.patch + G 0008-hwdb-update.patch + G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch + G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch + G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch + G 0001-login-fix-memory-leak-on-DropController.patch + G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch + G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch + G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch + G 0001-nspawn-fix-network-interface.patch + G 0001-completion-filter-templates-from-restartable-units.patch + G 0002-systemd-fix-error-message.patch + G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch + G 0004-config-parser-fix-mem-leak.patch + G 0005-login-fix-mem-leak.patch + G 0001-login-simplify-controller-handling.patch + G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch + G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0009-hwdb-update.patch + G 0001-systemctl-allow-to-change-the-default-target-without.patch + G 0001-activate-fix-fd-leak-in-do_accept.patch + G 0002-analyze-avoid-a-null-dereference.patch + G 0003-analyze-fix-mem-leak.patch + G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch + G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch + G 0006-bus-unref-buscreds-on-failure.patch + G 0007-core-fix-a-potential-mem-leak.patch + G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch + G 0009-journal-do-not-leak-mmaps-on-OOM.patch + G 0010-manager-use-correct-cleanup-function.patch + G 0001-core-fix-resource-leak-in-manager_environment_add.patch + G 0002-util-remove-a-unnecessary-check.patch + G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch + G 0004-shared-conf-parser.patch + G 0005-logind-fix-typo.patch + G 0006-systemctl-fix-resource-leak-CID-1237747.patch + G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch + G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch + G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch + G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch + G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch + G 0003-mount-order-options-before-other-arguments-to-mount.patch + G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch + G 0005-shared-label.h-add-missing-stdio.h-include.patch + G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch + G 0001-login-pause-devices-before-acknowledging-VT-switches.patch + G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch + G 0001-socket-introduce-SELinuxContextFromNet-option.patch + G 0002-util-avoid-non-portable-__WORDSIZE.patch + G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch + G 0002-bus-remove-unused-check.patch + G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch + G 0001-logind-add-support-for-Triton2-Power-Button.patch + G 0002-logind-add-support-for-TPS65217-Power-Button.patch + G 0001-shutdownd-clean-up-initialization-of-struct.patch + G 0003-bootchart-parse-userinput-with-safe_atoi.patch + G 0004-bootchart-check-return-of-strftime.patch + G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch + G 0001-journalctl-do-not-output-reboot-markers-when-running.patch + G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch + G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch + G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch + G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch + G 0003-fileio-label-return-error-when-writing-fails.patch + G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch + G 0004-sd-event-check-the-value-of-received-signal.patch + G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch + G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch + G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch + G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch + G 0003-sd-bus-check-return-value-of-vasprintf.patch + G 0004-core-map-the-rescue-argument-to-rescue.target.patch + G 0005-util-avoid-double-close-of-fd.patch + G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch + G 0001-tmpfiles-compare-return-against-correct-errno.patch + G 0001-shell-completion-fix-completion-of-inactive-units.patch + G 0002-shell-completion-propose-templates-for-disable-re-en.patch + G 0003-man-we-don-t-have-Wanted-dependency.patch + G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch + G 0001-systemd-continue-switch-root-even-if-umount-fails.patch + G 0002-systemd-try-harder-to-bind-to-notify-socket.patch + G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch + G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch + G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch + G 0004-journal-do-server_vacuum-for-sigusr1.patch + G 0005-cryptsetup-fix-an-OOM-check.patch + G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch + G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch + G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch + G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch + G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch + G 0005-journalctl-correct-help-text-for-until.patch + G 0006-calendarspec-fix-typo-in-annually.patch + G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch + G 0008-util-introduce-sethostname_idempotent.patch + G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch + G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch + G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch + G 0012-manager-do-not-print-anything-while-passwords-are-be.patch + G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch + G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch + G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch + G 0002-snapshot-return-error-when-snapshot-exists.patch + G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch + G 0004-Raise-level-of-Found-dependency.-lines.patch + G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch + G 0006-journald-fix-minor-memory-leak.patch + G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch + G 0008-journald-fix-memory-leak-on-error-path.patch + G 0009-units-make-systemd-journald.service-Type-notify.patch + G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch + G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch + G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch + G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch + G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch + G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch + G 0001-systemctl-let-list-units-unit-files-honour-type.patch + G 0002-systemctl-obey-state-in-list-unit-files.patch + G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch + G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch + G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch + G 0001-selinux-access-fix-broken-ternary-operator.patch + G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch + G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch + G 0004-core-fix-transaction-destructiveness-check-once-more.patch + G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch + G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch + G 1009-cdrom_id-use-the-old-MMC-fallback.patch + G 1010-udev-increase-result-size-for-programs.patch + G 1014-udev-update-net_id-comments.patch + G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch + G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch + G 1017-udev-serialize-synchronize-block-device-event-handli.patch + G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch + G 1019-udev-avoid-use-of-uninitialized-err.patch + G 1020-udev-keyboard-also-hook-into-change-events.patch + G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch + G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch + G 1024-udev-always-close-lock-file-descriptor.patch + G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch + G 1026-udevd-inotify-modernizations.patch + G 1027-udev-synthesize-change-events-for-partitions-when-to.patch + G 1028-udev-link-config-fix-mem-leak.patch + G 1029-udev-try-first-re-reading-the-partition-table.patch + G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch + G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch + G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch + G 1033-udev-really-exclude-device-mapper-from-block-device.patch + G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch + G 1038-udev-fix-invalid-free-in-enable_name_policy.patch + G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch + G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch + G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch + G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch + G 1044-rules-update-qemu-hid-rules.patch + G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch + G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch + G 1048-udev-net_setup_link-add-a-bit-more-logging.patch + G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch + G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch + G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch + G 1056-udevd-add-event-timeout-commandline-option.patch + G 1057-udev-unify-event-timeout-handling.patch + G 1058-udev-unify-event-timeout-handling.patch + G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch + G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch + G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch + G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch + G 1065-udev-bump-event-timeout-to-60-seconds.patch + G 1067-udev-always-resolve-correctly-database-names-on-chan.patch + G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch + G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch + G 1070-rules-net-setup-link-remove-stray-linebreak.patch + G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch + G 1072-udev-netif_rename-don-t-log-to-kmsg.patch + G 1073-udev-drop-print_kmsg.patch + G 1074-udev-fix-copy-paste-error-in-log-message.patch + G 1075-udev-timeout-increase-timeout.patch + G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch + G 1078-udev-remove-userspace-firmware-loading-support.patch + G 1079-udev-remove-userspace-firmware-loading-support.patch + G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch + G 1081-udevd-check-return-of-various-functions.patch + G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch + G 1083-udev-node-warn-if-chmod-chown-fails.patch + G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch + G 1085-udev-fix-typos.patch + G 1086-udevd-don-t-fail-if-run-udev-exists.patch + G 1089-fix-cgroup-device-controller.patch + G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch + G 1091-udev-path_id-update-comments.patch + G 1092-libudev-do-not-accept-invalid-log-levels.patch + G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch + G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch + G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch + ------------------------------------------------------------------- Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index 307e3cab..7b5b6805 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,8 +21,9 @@ %define udevpkgname udev %define udev_major 1 %bcond_without bash_completion -%bcond_without compat_libs %bcond_with networkd +%bcond_without sysvcompat +%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -43,7 +44,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 210 +Version: 219 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -51,112 +52,69 @@ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: acl BuildRequires: audit-devel -%if %{with compat_libs} -# See gold_archs in binutils.spec -%ifarch %ix86 %arm x86_64 ppc ppc64 ppc64le %sparc -BuildRequires: binutils-gold -%endif -%endif -BuildRequires: config(suse-module-tools) -%if ! 0%{?bootstrap} -BuildRequires: docbook-xsl-stylesheets -%endif +BuildRequires: autoconf +BuildRequires: automake BuildRequires: fdupes -%if ! 0%{?bootstrap} -BuildRequires: gobject-introspection-devel -%endif BuildRequires: gperf -%if ! 0%{?bootstrap} BuildRequires: gtk-doc -%endif BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool -%if ! 0%{?bootstrap} -BuildRequires: libusb-devel -BuildRequires: libxslt-tools -%endif BuildRequires: pam-devel -%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros -%endif -%if 0%{?suse_version} <= 1315 -BuildRequires: tcpd-devel -%endif BuildRequires: xz -BuildRequires: pkgconfig(blkid) >= 2.20 -%if ! 0%{?bootstrap} -BuildRequires: libgcrypt-devel -%if %{with python} -BuildRequires: python -%endif -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -%endif -%if 0%{?suse_version} <= 1310 -BuildRequires: pkgconfig(libkmod) >= 14 -%else +BuildRequires: config(suse-module-tools) +BuildRequires: pkgconfig(blkid) >= 2.24 BuildRequires: pkgconfig(libkmod) >= 15 -%endif BuildRequires: pkgconfig(liblzma) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libmicrohttpd) -%endif BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 -%endif -%if 0%{?suse_version} >= 1315 +BuildRequires: pkgconfig(mount) >= 2.20 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%else -%if 0%{?suse_version} >= 1310 -%ifarch %ix86 x86_64 x32 %arm -BuildRequires: pkgconfig(libseccomp) -%endif -%endif -%endif -%if ! 0%{?bootstrap} -BuildRequires: libapparmor-devel -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -%if 0%{?suse_version} > 1310 Conflicts: sysvinit -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi %else +BuildRequires: docbook-xsl-stylesheets +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: libgcrypt-devel +BuildRequires: libusb-devel +BuildRequires: libxslt-tools +%if %{with python} +BuildRequires: python +%endif +BuildRequires: libapparmor-devel +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libmicrohttpd) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev Requires: %{udevpkgname} >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd -%if 0%{?suse_version} <= 1310 -Requires: kmod >= 14 -%else Requires: kmod >= 15 -%endif Requires: netcfg Requires: pam-config >= 0.79-5 +BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.21 +Requires: util-linux >= 2.25 Requires(post): coreutils Requires(post): findutils -%endif -%if ! 0%{?bootstrap} Requires(post): pam-config >= 0.79-5 %endif Requires(pre): /usr/bin/getent @@ -168,47 +126,31 @@ Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} -Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz + +#Git-Clone: git://anongit.freedesktop.org/systemd/systemd +Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif -Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh -Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs -# -# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r -Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch -# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called -Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch -Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch -Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch -Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch -Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch -Patch18: fix-owner-of-var-log-btmp.patch -# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file -Patch19: 0004-getty-generator-properly-escape-instance-names.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -216,14 +158,11 @@ Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable -Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices Patch27: apply-ACL-for-nvidia-device-nodes.patch # PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts -Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +Patch37: suse-sysv-bootd-support.diff # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file @@ -236,18 +175,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) -Patch23: disable-nss-myhostname-warning-bnc-783841.patch -# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin -Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE Make systemd talk with dbus-daemon even on big endian -Patch47: 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -256,126 +187,8 @@ Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488) -Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch -# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com -Patch117: 0001-make-209-working-on-older-dist.patch -# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com -Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch121: 0001-login-fix-pos-array-allocation.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch122: 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch123: 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch124: 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch125: 0005-Replace-var-run-with-run-in-remaining-places.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch126: 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch127: 0007-README-document-that-var-run-must-be-a-symlink-run.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch128: 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch129: 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch130: 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch131: 0011-logs-show-fix-corrupt-output-with-empty-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch132: 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch133: 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch134: 0001-Fix-systemd-stdio-bridge-symlink.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch135: 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch136: 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch137: 0004-man-document-missing-options-of-systemd-run.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch138: 0005-systemd-run-add-some-extra-safety-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch139: 0006-journal-assume-that-next-entry-is-after-previous-ent.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch140: 0007-journal-forget-file-after-encountering-an-error.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch141: 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch142: 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch143: 0010-man-update-link-to-LSB.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch144: 0011-man-systemd-bootchart-fix-spacing-in-command.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch145: 0012-man-add-missing-comma.patch -# PATCH-FIX-USTREAM added at 2014/03/07 -Patch146: 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch147: 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch148: 0002-manager-flush-memory-stream-before-using-the-buffer.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch149: 0003-busname-don-t-drop-service-from-the-result-string.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch150: 0004-fix-off-by-one-error-in-array-index-assertion.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch151: 0005-logind-fix-policykit-checks.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch152: 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch153: 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch154: 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch155: 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch157: 0006-Do-not-return-1-EINVAL-on-allocation-error.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch158: 0007-networkd-fix-typo.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch159: 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch160: 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch161: 0012-journald-remove-stray-reset-of-error-return-value.patch -# PATCH-FIX-USTREAM added at 2014/03/18 -Patch162: 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch163: 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch164: 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch165: 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch166: 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch167: 0005-sd-daemon-fix-incorrect-variable-access.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch168: 0006-sd-event-initialization-perturbation-value-right-bef.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch -# PATCH-FIX-USTREAM added at 2014/03/28 -Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch -# PATCH-FIX-USTREAM added at 2014/04/08 -Patch176: 0005-systemd-python-fix-failing-assert.patch # PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -384,8 +197,6 @@ Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch # PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com @@ -394,8 +205,6 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -408,657 +217,38 @@ Patch191: systemd-dbus-system-bus-address.patch Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-USTREAM added at 2014/03/11 -Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch -# PATCH-FIX-USTREAM added at 2014/03/14 -Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -# PATCH-FIX-SUSE Do not clean the data base files of the manual pages -Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch # PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console Patch197: rescue-emergency-target-conflicts.patch # PATCH-FIX-SUSE Avoid a divide by zero sigtrap Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch199: 0001-bash-completion-fix-__get_startable_units.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch200: 0002-sysctl-replaces-some-slashes-with-dots.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch201: 0003-delta-do-not-use-unicode-chars-in-C-locale.patch -# PATCH-FIX-USTREAM added at 2014/04/28 -Patch202: 0004-implement-a-union-to-pad-out-file_handle.patch # PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-UPSTREAM Stop useless messages on dual_timestamp_is_set is failed. -Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch -# PATCH-FIX-UPSTREAM Fix uninitialized memory -Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch -# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694) -Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch # PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch209: 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch211: 0003-analyze-fix-plot-with-bad-y-size.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch212: 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch213: 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch214: 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch215: 0002-backlight-do-nothing-if-max_brightness-is-0.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch216: 0003-backlight-unify-error-messages.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch217: 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch218: 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch -# PATCH-FIX-SUSE Do not poison kmsg ring buffer with systemd/udev messages (bnc#877021) -Patch219: log-target-null-instead-kmsg.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch220: 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch -# PATCH-FIX-UPSTREAM added at 2014/05/14 -Patch221: 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch222: 0001-core-close-socket-fds-asynchronously.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch223: 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/16 -Patch224: 0003-core-make-sure-to-serialize-jobs-for-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch225: 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch226: 0002-logind-fix-printf-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch227: 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch228: 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch229: 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch230: 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch231: 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch232: 0008-man-update-journald-rate-limit-defaults.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch233: 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch -# PATCH-FIX-UPSTREAM added at 2014/05/19 -Patch234: 0010-logind-allow-suspending-if-there-are-no-displays.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch235: 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch236: 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch237: 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch238: 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch239: 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch240: 0001-conf-parser-silently-ignore-sections-starting-with-X.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch241: 0002-man-note-that-entire-sections-can-now-be-ignored.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch245: 0007-logind-fix-Display-property-of-user-objects.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch246: 0001-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch247: 0002-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch249: 0004-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch250: 0005-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch252: 0002-journal-properly-detect-language-specified-in-line.patch -# PATCH-FIX-UPSTREAM added at 2014/05/21 -Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch -# PATCH-FIX-UPSTREAM added at 2014/05/27 -Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch262: 0001-virt-rework-container-detection-logic.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch -# PATCH-FIX-UPSTREAM added at 2014/06/05 -Patch269: 0001-hwdb-fix-case-sensitive-match.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch -# PATCH-FIX-UPSTREAM added at 2014/06/06 -Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch272: 0001-umount-modernizations.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch274: 0003-core-allow-transient-mount-units.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU -Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/11 -Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch278: 0001-core-fix-invalid-free-in-killall.patch -# PATCH-FIX-UPSTREAM added at 2014/06/17 -Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch -# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438) -Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch -# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available -Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch284: 0005-po-add-Greek-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch286: 0007-po-add-German-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch -# PATCH-FIX-UPSTREAM added at 2014/06/24 -Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch -# PATCH-FIX-UPSTREAM added at 2014/06/25 -Patch295: 0005-man-fix-path-in-crypttab-5.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch296: 0001-units-order-network-online.target-after-network.targ.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch297: 0001-core-use-correct-format-string-for-UIDs.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/06/26 -Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch300: 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch301: 0002-journald-make-MaxFileSec-really-default-to-1month.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch302: 0003-units-remove-RefuseManualStart-from-units-which-are-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch303: 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch304: 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch305: 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch -# PATCH-FIX-UPSTREAM added at 2014/07/01 -Patch306: 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch307: 0001-parse_uid-return-ENXIO-for-1-uids.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch308: 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch309: 0003-localed-consider-an-unset-model-as-a-wildcard.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch310: 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch311: 0005-bus-close-a-bus-that-failed-to-connect.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch312: 0006-hwdb-update.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch313: 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch314: 0001-architecture-Add-tilegx.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch315: 0002-architecture-Add-cris.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch316: 0003-arch-add-crisv32-to-uname-check.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch317: 0004-architecture-remove-cris-from-uname-list.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch318: 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/04 -Patch319: 0002-namespace-fix-uninitialized-memory-access.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch320: 0001-machine-don-t-return-uninitialized-variable.patch -# PATCH-FIX-UPSTREAM added at 2014/07/07 -Patch321: 0002-vconsole-setup-run-setfont-before-loadkeys.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch322: 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch323: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch324: 0003-architecture-add-string-table-entries-for-mips-le-ar.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch325: 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch326: 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch327: 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch -# PATCH-FIX-UPSTREAM added at 2014/07/08 -Patch328: 0007-service-flush-status-text-and-errno-values-each-time.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch329: 0001-journal-compress-return-early-in-uncompress_startswi.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch330: 0002-journal-compress-improve-xz-compression-performance.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch331: 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch -# PATCH-FIX-UPSTREAM added at 2014/07/09 -Patch332: 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/10 -Patch333: 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch334: 0001-event-pull-in-sd-event.h-from-event-util.h.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch335: 0002-util-fix-has-cc-check-and-add-test.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch336: 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch -# PATCH-FIX-UPSTREAM added at 2014/07/14 -Patch337: 0004-fileio-quote-more-shell-characters-in-envfiles.patch # PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch339: 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/07/16 -Patch340: 0002-units-serial-getty-.service-use-the-default-RestartS.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch341: 0001-po-add-Ukrainian-translation.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch -# PATCH-FIX-UPSTREAM added at 2014/07/17 -Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-SUSE Shut up rpmlint warning Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch347: 0003-Add-quotes-to-warning-message.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch349: 0001-bash-completion-p-option-for-journalctl.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch350: 0002-journalctl-man-allow-only-between-terms.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch351: 0003-systemd-use-pager-for-test-and-help.patch # PATCH-FIX-SUSE Patch352: set-and-use-default-logconsole.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch353: 0001-bus-proxyd-fix-incorrect-comparison.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch354: 0002-shell-completion-prevent-mangling-unit-names.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch355: 0003-Always-check-asprintf-return-code.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch356: 0004-bash-completion-use-list-unit-files-to-get-all-units.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch357: 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch358: 0006-parse_boolean-require-exact-matches.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch359: 0007-drop_duplicates-copy-full-BindMount-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch -# PATCH-FIX-UPSTREAM added at 2014/07/28 -Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch -# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch -# PATCH-FIX-UPSTREAM added at 2014/07/30 -Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch # PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-UPSTREAM added at 2014/08/01 -Patch367: 0007-hwdb-update.patch # PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch369: 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch370: 0002-switch-root-umount-the-old-root-correctly.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch371: 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch372: 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch373: 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch374: 0006-login-share-VT-signal-handler-between-sessions.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch375: 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch376: 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch377: 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch378: 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch379: 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch -# PATCH-FIX-UPSTREAM added at 2014/08/22 -Patch380: 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch381: 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch382: 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch383: 0003-keymap-Fix-HP-Pavillon-DV7.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch384: 0004-hwdb-update-format-description-and-document-reloadin.patch -# PATCH-FIX-UPSTREAM added at 2014/08/25 -Patch385: 0008-hwdb-update.patch # PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch387: 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch388: 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch -# PATCH-FIX-UPSTREAM added at 2014/08/27 -Patch389: 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch390: 0001-login-fix-memory-leak-on-DropController.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch391: 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch392: 0003-sd-journal-properly-convert-object-size-on-big-endia.patch -# PATCH-FIX-UPSTREAM added at 2014/08/28 -Patch393: 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -# PATCH-FIX-UPSTREAM added at 2014/08/29 -Patch394: 0001-nspawn-fix-network-interface.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch395: 0001-completion-filter-templates-from-restartable-units.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch396: 0002-systemd-fix-error-message.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch397: 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch398: 0004-config-parser-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/01 -Patch399: 0005-login-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/02 -Patch400: 0001-login-simplify-controller-handling.patch -# PATCH-FIX-UPSTREAM added at 2014/09/05 -Patch401: 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/08 -Patch402: 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/09/09 -Patch403: 0009-hwdb-update.patch -# PATCH-FIX-UPSTREAM bnc896664: Allow to override default target without --force -Patch404: 0001-systemctl-allow-to-change-the-default-target-without.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch405: 0001-activate-fix-fd-leak-in-do_accept.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch406: 0002-analyze-avoid-a-null-dereference.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch407: 0003-analyze-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch408: 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch409: 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch410: 0006-bus-unref-buscreds-on-failure.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch411: 0007-core-fix-a-potential-mem-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch412: 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch413: 0009-journal-do-not-leak-mmaps-on-OOM.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch414: 0010-manager-use-correct-cleanup-function.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch415: 0001-core-fix-resource-leak-in-manager_environment_add.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch416: 0002-util-remove-a-unnecessary-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch417: 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch418: 0004-shared-conf-parser.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch419: 0005-logind-fix-typo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch420: 0006-systemctl-fix-resource-leak-CID-1237747.patch -# PATCH-FIX-UPSTREAM added at 2014/09/16 -Patch421: 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -Patch422: 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch -# PATCH-FIX-UPSTREAM added at 2014/09/18 -- Be aware that the size of the type bool may vary -Patch423: 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch424: 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch425: 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch426: 0003-mount-order-options-before-other-arguments-to-mount.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch427: 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch428: 0005-shared-label.h-add-missing-stdio.h-include.patch -# PATCH-FIX-UPSTREAM added at 2014/09/19 -Patch429: 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch # PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -- May help that history of the shell is saved -Patch431: 0001-login-pause-devices-before-acknowledging-VT-switches.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch432: 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 (bsc#897801) -Patch433: 0001-socket-introduce-SELinuxContextFromNet-option.patch -# PATCH-FIX-UPSTREAM added at 2014/09/24 -Patch434: 0002-util-avoid-non-portable-__WORDSIZE.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch435: 0001-Fix-warning-about-unused-variable-with-SELINUX.patch -# PATCH-FIX-UPSTREAM added at 2014/09/25 -Patch436: 0002-bus-remove-unused-check.patch -# PATCH-FIX-UPSTREAM added at 2014/09/26 -Patch437: 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch438: 0001-logind-add-support-for-Triton2-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch439: 0002-logind-add-support-for-TPS65217-Power-Button.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch440: 0001-shutdownd-clean-up-initialization-of-struct.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch441: 0003-bootchart-parse-userinput-with-safe_atoi.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch442: 0004-bootchart-check-return-of-strftime.patch -# PATCH-FIX-UPSTREAM added at 2014/09/29 -Patch443: 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch444: 0001-journalctl-do-not-output-reboot-markers-when-running.patch -# PATCH-FIX-UPSTREAM added at 2014/09/30 -Patch445: 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch446: 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch -# PATCH-FIX-UPSTREAM added at 2014/10/02 -Patch447: 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch448: 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch449: 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch450: 0003-fileio-label-return-error-when-writing-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch451: 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch452: 0004-sd-event-check-the-value-of-received-signal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/07 -Patch453: 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch454: 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch455: 0001-units-introduce-network-pre.target-as-place-to-hook-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch456: 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch457: 0003-sd-bus-check-return-value-of-vasprintf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch458: 0004-core-map-the-rescue-argument-to-rescue.target.patch -# PATCH-FIX-UPSTREAM added at 2014/10/10 -Patch459: 0005-util-avoid-double-close-of-fd.patch -# PATCH-FIX-UPSTREAM added at 2014/10/13 -Patch460: 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch -# PATCH-FIX-UPSTREAM added at 2014/10/14 -Patch461: 0001-tmpfiles-compare-return-against-correct-errno.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch462: 0001-shell-completion-fix-completion-of-inactive-units.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch463: 0002-shell-completion-propose-templates-for-disable-re-en.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch464: 0003-man-we-don-t-have-Wanted-dependency.patch -# PATCH-FIX-UPSTREAM added at 2014/10/15 -Patch465: 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch466: 0001-systemd-continue-switch-root-even-if-umount-fails.patch -# PATCH-FIX-UPSTREAM added at 2014/10/20 -Patch467: 0002-systemd-try-harder-to-bind-to-notify-socket.patch -# PATCH-FIX-SUSE added at 2014/10/15 -Patch468: avoid-leaking-socket-descriptors.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch469: 0001-strv-add-an-additional-overflow-check-when-enlarging.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch470: 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch471: 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch472: 0004-journal-do-server_vacuum-for-sigusr1.patch -# PATCH-FIX-UPSTREAM added at 2014/10/23 -Patch473: 0005-cryptsetup-fix-an-OOM-check.patch -# PATCH-FIX-UPSTREAM added at 2014/10/24 -Patch474: 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -# PATCH-FIX-SUSE added at 2014/10/24 +# PATCH-FIX-SUSE added on 2014/10/24 Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch476: 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch477: 0002-time-also-support-infinity-syntax-in-parse_nsec.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch478: 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch479: 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch480: 0005-journalctl-correct-help-text-for-until.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch481: 0006-calendarspec-fix-typo-in-annually.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch482: 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch483: 0008-util-introduce-sethostname_idempotent.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch484: 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch485: 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch486: 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -# PATCH-FIX-UPSTREAM added at 2014/10/28 -Patch487: 0012-manager-do-not-print-anything-while-passwords-are-be.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch488: 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch -# PATCH-FIX-UPSTREAM added at 2014/10/31 -Patch489: 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch -# PATCH-FIX-SUSE added at 2014/11/05 +# PATCH-FIX-SUSE added on 2014/11/05 Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch491: 0001-core-don-t-allow-enabling-if-unit-is-masked.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch492: 0002-snapshot-return-error-when-snapshot-exists.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch493: 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch494: 0004-Raise-level-of-Found-dependency.-lines.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch495: 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch496: 0006-journald-fix-minor-memory-leak.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch497: 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch498: 0008-journald-fix-memory-leak-on-error-path.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch499: 0009-units-make-systemd-journald.service-Type-notify.patch -# PATCH-FIX-UPSTREAM added at 2014/11/07 -Patch500: 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch501: 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch502: 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch -# PATCH-FIX-UPSTREAM added at 2014/11/10 -Patch503: 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch504: 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch505: 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch506: 0001-systemctl-let-list-units-unit-files-honour-type.patch -# PATCH-FIX-UPSTREAM added at 2014/11/18 -Patch507: 0002-systemctl-obey-state-in-list-unit-files.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch509: 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch -# PATCH-FIX-UPSTREAM added at 2014/11/20 -Patch510: 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch511: 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch -# PATCH-FIX-UPSTREAM added at 2014/12/05 -Patch512: 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch -# PATCH-FIX-SUSE 513-nspawn-veth.patch (bnc#906709) -Patch513: 513-nspawn-veth.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch514: 0001-selinux-access-fix-broken-ternary-operator.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch515: 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch516: 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch -# PATCH-FIX-UPSTREAM added at 2014/12/15 -Patch517: 0004-core-fix-transaction-destructiveness-check-once-more.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch518: 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch -# PATCH-FIX-UPSTREAM added at 2014/12/16 -Patch519: 0002-man-tmpfiles.d-recommend-using-b-and-c.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -# +Patch522: 0001-core-rework-device-state-logic.patch # UDEV PATCHES # ============ @@ -1080,188 +270,46 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 -Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch -# PATCH-FIX-SUSE increase result size for programs (bnc#867840) -Patch1010: 1010-udev-increase-result-size-for-programs.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-USTREAM 1014-udev-update-net_id-comments.patch -Patch1014: 1014-udev-update-net_id-comments.patch -# PATCH-FIX-USTREAM 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -Patch1015: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/12 -Patch1016: 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch -# PATCH-FIX-UPSTREAM added at 2014/05/20 -Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch -# PATCH-FIX-UPSTREAM added at 2014/05/26 -Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch # PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch Patch1021: 1021-udev-re-add-persistent-net-rules.patch -# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch -# PATCH-FIX-UPSTREAM added at 2014/06/03 -Patch1024: 1024-udev-always-close-lock-file-descriptor.patch -# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch -# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch -Patch1026: 1026-udevd-inotify-modernizations.patch -# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch -Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch -# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch -Patch1028: 1028-udev-link-config-fix-mem-leak.patch -# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch -Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch -# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch -# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch -# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch -# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch -Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch -# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch -Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch -Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch -# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch -Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch # PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch -# PATCH-FIX-UPSTREAM 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -Patch1041: 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch -# PATCH-FIX-UPSTREAM 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -Patch1042: 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch -# PATCH-FIX-UPSTREAM 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -Patch1043: 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch -# PATCH-FIX-UPSTREAM 1044-rules-update-qemu-hid-rules.patch -Patch1044: 1044-rules-update-qemu-hid-rules.patch -# PATCH-FIX-UPSTREAM 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch -Patch1045: 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch # PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch -# PATCH-FIX-UPSTREAM added at 2014/07/03 -Patch1047: 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch -# PATCH-FIX-UPSTREAM 1048-udev-net_setup_link-add-a-bit-more-logging.patch -Patch1048: 1048-udev-net_setup_link-add-a-bit-more-logging.patch -# PATCH-FIX-UPSTREAM 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch -Patch1049: 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch # PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch # PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) Patch1051: 1051-check-if-NAME-has-a-value.patch -# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch -Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) Patch1053: 1053-better-checks-in-write_net_rules.patch -# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch -Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch # PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch -# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch -Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch -# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch -Patch1057: 1057-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch -Patch1058: 1058-udev-unify-event-timeout-handling.patch -# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch -Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -# PATCH-FIX-UPSTREAM 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch -Patch1061: 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-UPSTREAM 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -Patch1063: 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch -# PATCH-FIX-UPSTREAM 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -Patch1064: 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch -# PATCH-FIX-UPSTREAM 1065-udev-bump-event-timeout-to-60-seconds.patch -Patch1065: 1065-udev-bump-event-timeout-to-60-seconds.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-UPSTREAM 1067-udev-always-resolve-correctly-database-names-on-chan.patch (bnc#864745) -Patch1067: 1067-udev-always-resolve-correctly-database-names-on-chan.patch -# PATCH-FIX-UPSTREAM 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -Patch1068: 1068-udev-net_setup_link-export-the-.link-filename-applie.patch -# PATCH-FIX-UPSTREAM 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -Patch1069: 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch -# PATCH-FIX-UPSTREAM 1070-rules-net-setup-link-remove-stray-linebreak.patch -Patch1070: 1070-rules-net-setup-link-remove-stray-linebreak.patch -# PATCH-FIX-UPSTREAM 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -Patch1071: 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch -# PATCH-FIX-UPSTREAM 1072-udev-netif_rename-don-t-log-to-kmsg.patch -Patch1072: 1072-udev-netif_rename-don-t-log-to-kmsg.patch -# PATCH-FIX-UPSTREAM 1073-udev-drop-print_kmsg.patch -Patch1073: 1073-udev-drop-print_kmsg.patch -# PATCH-FIX-UPSTREAM 1074-udev-fix-copy-paste-error-in-log-message.patch -Patch1074: 1074-udev-fix-copy-paste-error-in-log-message.patch -# PATCH-FIX-UPSTREAM 1075-udev-timeout-increase-timeout.patch -Patch1075: 1075-udev-timeout-increase-timeout.patch -# PATCH-FIX-UPSTREAM 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1076: 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -Patch1077: 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch -# PATCH-FIX-UPSTREAM 1078-udev-remove-userspace-firmware-loading-support.patch -Patch1078: 1078-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1079-udev-remove-userspace-firmware-loading-support.patch -Patch1079: 1079-udev-remove-userspace-firmware-loading-support.patch -# PATCH-FIX-UPSTREAM 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -Patch1080: 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch -# PATCH-FIX-UPSTREAM 1081-udevd-check-return-of-various-functions.patch -Patch1081: 1081-udevd-check-return-of-various-functions.patch -# PATCH-FIX-UPSTREAM 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -Patch1082: 1082-udevadm-hwdb-check-return-value-of-fseeko.patch -# PATCH-FIX-UPSTREAM 1083-udev-node-warn-if-chmod-chown-fails.patch -Patch1083: 1083-udev-node-warn-if-chmod-chown-fails.patch -# PATCH-FIX-UPSTREAM 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -Patch1084: 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch -# PATCH-FIX-UPSTREAM 1085-udev-fix-typos.patch -Patch1085: 1085-udev-fix-typos.patch -# PATCH-FIX-UPSTREAM 1085-udevd-don-t-fail-if-run-udev-exists.patch -Patch1086: 1086-udevd-don-t-fail-if-run-udev-exists.patch -# PATCH-FIX-SUSE 1087-infinit-timeout-for-kmod-loaded-modules.patch -Patch1087: 1087-infinit-timeout-for-kmod-loaded-modules.patch # PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch -# PATCH-FIX-UPSTREAM 1089-fix-cgroup-device-controller.patch -Patch1089: 1089-fix-cgroup-device-controller.patch -# PATCH-FIX-UPSTREAM 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -Patch1090: 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch -# PATCH-FIX-UPSTREAM 1091-udev-path_id-update-comments.patch -Patch1091: 1091-udev-path_id-update-comments.patch -# PATCH-FIX-UPSTREAM 1092-libudev-do-not-accept-invalid-log-levels.patch -Patch1092: 1092-libudev-do-not-accept-invalid-log-levels.patch -# PATCH-FIX-UPSTREAM 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -Patch1093: 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch -# PATCH-FIX-UPSTREAM 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch -Patch1094: 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-UPSTREAM 1098-udev-link_setup-respect-kernel-name-assign-policy.patch -Patch1098: 1098-udev-link_setup-respect-kernel-name-assign-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -1469,6 +517,24 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package -n nss-mymachines +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-mymachines +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured containers and virtual machines +systemd-machined knows about. + +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-resolve + %package journal-gateway Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ @@ -1480,13 +546,12 @@ Requires(postun): systemd %description journal-gateway systemd-journal-gatewayd serves journal events over the network using HTTP. - %endif %prep -%setup -q -n systemd-%{version} +%setup -q -n systemd-%version echo "Checking whether upstream rpm macros changed..." -[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 +diff -au "%{S:10}" src/core/macros.systemd.in # only needed for bootstrap %if 0%{?bootstrap} @@ -1494,29 +559,15 @@ cp %{SOURCE7} m4/ %endif # systemd patches -%patch0 -p1 -%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%if 0%{?suse_version} <= 1310 -%patch8 -p1 -%endif -%patch9 -p1 %patch12 -p1 -%patch13 -p0 -%patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 -%patch19 -p0 %patch20 -p1 %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -1527,418 +578,45 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch46 -p1 -%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 -%patch93 -p1 -%patch114 -p0 -%if 0%{?suse_version} <= 1310 -%patch117 -p1 -%endif -%patch119 -p1 %patch120 -p1 -%patch121 -p0 -%patch122 -p0 -%patch123 -p0 -%patch124 -p0 -%patch125 -p0 -%patch126 -p0 -%patch127 -p0 -%patch128 -p0 -%patch129 -p0 -%patch130 -p0 -%patch131 -p0 -%patch132 -p0 -%patch133 -p0 -%patch134 -p0 -%patch135 -p0 -%patch136 -p0 -%patch137 -p0 -%patch138 -p0 -%patch139 -p0 -%patch140 -p0 -%patch141 -p0 -%patch142 -p0 -%patch143 -p0 -%patch144 -p0 -%patch145 -p0 -%patch146 -p0 -%patch147 -p0 -%patch148 -p0 -%patch149 -p0 -%patch150 -p0 -%patch151 -p0 -%patch152 -p0 -%patch153 -p0 -%patch154 -p0 -%patch155 -p0 -%patch157 -p0 -%patch158 -p0 -%patch159 -p0 -%patch160 -p0 -%patch161 -p0 -%patch162 -p0 -%patch163 -p0 -%patch164 -p0 -%patch165 -p0 -%patch166 -p0 -%patch167 -p0 -%patch168 -p0 -%patch169 -p0 -%patch170 -p0 -%patch171 -p0 -%patch172 -p0 -%patch173 -p0 -%patch174 -p0 -%patch175 -p0 -%patch176 -p0 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 -%patch181 -p1 %patch182 -p1 %patch183 -p1 %patch185 -p1 %patch186 -p1 -%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 -%patch194 -p0 -%patch196 -p1 -%patch195 -p0 %patch197 -p1 %patch198 -p1 -%patch199 -p0 -%patch200 -p0 -%patch201 -p0 -%patch202 -p0 %patch203 -p1 -%patch204 -p1 -%patch206 -p0 -%patch207 -p0 %patch208 -p1 -%patch209 -p0 -%patch211 -p0 -%patch212 -p0 -%patch213 -p0 -%patch214 -p0 -%patch215 -p0 -%patch216 -p0 -%patch217 -p0 -%patch218 -p0 -%patch219 -p1 -%patch220 -p0 -%patch221 -p0 -%patch222 -p0 -%patch223 -p0 -%patch224 -p0 -%patch225 -p0 -%patch226 -p0 -%patch227 -p0 -%patch228 -p0 -%patch229 -p0 -%patch230 -p0 -%patch231 -p0 -%patch232 -p0 -%patch233 -p0 -%patch234 -p0 -%patch235 -p0 -%patch236 -p0 -%patch237 -p0 -%patch238 -p0 -%patch239 -p0 -%patch240 -p0 -%patch241 -p0 -%patch242 -p0 -%patch243 -p0 -%patch244 -p0 -%patch245 -p0 -%patch246 -p0 -%patch247 -p0 -%patch248 -p0 -%patch249 -p0 -%patch250 -p0 -%patch251 -p0 -%patch252 -p0 -%patch253 -p0 -%patch254 -p0 -%patch255 -p0 -%patch256 -p0 -%patch257 -p0 -%patch258 -p0 -%patch259 -p0 -%patch260 -p0 -%patch261 -p0 -%patch262 -p0 -%patch263 -p0 -%patch264 -p0 -%patch265 -p0 -%patch266 -p0 -%patch267 -p0 -%patch268 -p0 -%patch269 -p0 -%patch270 -p0 -%patch271 -p0 -%patch272 -p0 -%patch273 -p0 -%patch274 -p0 -%patch275 -p0 -%patch276 -p0 -%patch277 -p0 -%patch278 -p0 -%patch279 -p0 -%patch280 -p0 -%patch281 -p1 -%patch282 -p0 -%patch283 -p0 -%patch284 -p0 -%patch285 -p0 -%patch286 -p0 -%patch287 -p0 -%patch288 -p0 -%patch289 -p0 -%patch290 -p0 -%patch291 -p0 -%patch292 -p0 -%patch293 -p0 -%patch294 -p0 -%patch295 -p0 -%patch296 -p0 -%patch297 -p0 -%patch298 -p0 -%patch299 -p0 -%patch300 -p0 -%patch301 -p0 -%patch302 -p0 -%patch303 -p0 -%patch304 -p0 -%patch305 -p0 -%patch306 -p0 -%patch307 -p0 -%patch308 -p0 -%patch309 -p0 -%patch310 -p0 -%patch311 -p0 -%patch312 -p0 -%patch313 -p0 -%patch314 -p0 -%patch315 -p0 -%patch316 -p0 -%patch317 -p0 -%patch318 -p0 -%patch319 -p0 -%patch320 -p0 -%patch321 -p0 -%patch322 -p0 -%patch323 -p0 -%patch324 -p0 -%patch325 -p0 -%patch326 -p0 -%patch327 -p0 -%patch328 -p0 -%patch329 -p0 -%patch330 -p0 -%patch331 -p0 -%patch332 -p0 -%patch333 -p0 -%patch334 -p0 -%patch335 -p0 -%patch336 -p0 -%patch337 -p0 -%patch338 -p0 -%patch339 -p0 -%patch340 -p0 -%patch341 -p0 -%patch342 -p0 -%patch343 -p0 -%patch344 -p0 +%patch338 -p1 %patch345 -p1 -%patch346 -p0 -%patch347 -p0 -%patch348 -p0 -%patch349 -p0 -%patch350 -p0 -%patch351 -p0 -%patch352 -p0 -%patch353 -p0 -%patch354 -p0 -%patch355 -p0 -%patch356 -p0 -%patch357 -p0 -%patch358 -p0 -%patch359 -p0 -%patch360 -p0 -%patch361 -p0 +%patch352 -p1 %patch362 -p1 -%patch363 -p0 -%patch364 -p0 -%patch365 -p0 %patch366 -p1 -%patch367 -p0 %patch368 -p1 -%patch369 -p0 -%patch370 -p0 -%patch371 -p0 -%patch372 -p0 -%patch373 -p0 -%patch374 -p0 -%patch375 -p0 -%patch376 -p0 -%patch377 -p0 -%patch378 -p0 -%patch379 -p0 -%patch380 -p0 -%patch381 -p0 -%patch382 -p0 -%patch383 -p0 -%patch384 -p0 -%patch385 -p0 %patch386 -p1 -%patch387 -p0 -%patch388 -p0 -%patch389 -p0 -%patch390 -p0 -%patch391 -p0 -%patch392 -p0 -%patch393 -p0 -%patch394 -p0 -%patch395 -p0 -%patch396 -p0 -%patch397 -p0 -%patch398 -p0 -%patch399 -p0 -%patch400 -p0 -%patch401 -p0 -%patch402 -p0 -%patch403 -p0 -%patch404 -p0 -%patch405 -p0 -%patch406 -p0 -%patch407 -p0 -%patch408 -p0 -%patch409 -p0 -%patch410 -p0 -%patch411 -p0 -%patch412 -p0 -%patch413 -p0 -%patch414 -p0 -%patch415 -p0 -%patch416 -p0 -%patch417 -p0 -%patch418 -p0 -%patch419 -p0 -%patch420 -p0 -%patch421 -p0 -%patch422 -p0 -%patch423 -p0 -%patch424 -p0 -%patch425 -p0 -%patch426 -p0 -%patch427 -p0 -%patch428 -p0 -%patch429 -p0 %patch430 -p1 -%patch431 -p0 -%patch432 -p0 -%patch433 -p0 -%patch434 -p0 -%patch435 -p0 -%patch436 -p0 -%patch437 -p0 -%patch438 -p0 -%patch439 -p0 +%patch475 -p1 %ifarch %arm %patch38 -p1 %endif -%patch440 -p0 -%patch441 -p0 -%patch442 -p0 -%patch443 -p0 -%patch444 -p0 -%patch445 -p0 -%patch446 -p0 -%patch447 -p0 -%patch448 -p0 -%patch449 -p0 -%patch450 -p0 -%patch451 -p0 -%patch452 -p0 -%patch453 -p0 -%patch454 -p0 -%patch455 -p0 -%patch456 -p0 -%patch457 -p0 -%patch458 -p0 -%patch459 -p0 -%patch460 -p0 -%patch461 -p0 -%patch462 -p0 -%patch463 -p0 -%patch464 -p0 -%patch465 -p0 -%patch466 -p0 -%patch467 -p0 -%patch468 -p0 -%patch469 -p0 -%patch470 -p0 -%patch471 -p0 -%patch472 -p0 -%patch473 -p0 -%patch474 -p0 -%patch475 -p0 -%patch476 -p0 -%patch477 -p0 -%patch478 -p0 -%patch479 -p0 -%patch480 -p0 -%patch481 -p0 -%patch482 -p0 -%patch483 -p0 -%patch484 -p0 -%patch485 -p0 -%patch486 -p0 -%patch487 -p0 -%patch488 -p0 -%patch489 -p0 -%patch490 -p0 -%patch491 -p0 -%patch492 -p0 -%patch493 -p0 -%patch494 -p0 -%patch495 -p0 -%patch496 -p0 -%patch497 -p0 -%patch498 -p0 -%patch499 -p0 -%patch500 -p0 -%patch501 -p0 -%patch502 -p0 -%patch503 -p0 -%patch504 -p0 -%patch505 -p0 -%patch506 -p0 -%patch507 -p0 -%patch509 -p0 -%patch510 -p0 -%patch511 -p0 -%patch512 -p0 -%patch513 -p1 -%patch514 -p0 -%patch515 -p0 -%patch516 -p0 -%patch517 -p0 -%patch518 -p1 -%patch519 -p1 +%patch490 -p1 %patch520 -p1 -%patch521 -p0 +%patch521 -p1 +%patch522 -p1 # udev patches %patch1001 -p1 @@ -1947,131 +625,31 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 -%if 0%{?suse_version} <= 1310 -%patch1008 -p1 -%endif -%patch1009 -p1 -%patch1010 -p1 %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p0 -%patch1017 -p0 -%patch1018 -p0 -%patch1019 -p0 -%patch1020 -p0 %patch1021 -p1 -%if %{with udevsettle} -%patch1022 -p1 -%endif -%patch1023 -p0 -%patch1024 -p0 -%if %{with blkrrpart} -%patch1025 -p1 -%endif -%patch1026 -p1 -%if %{with blkrrpart} -%patch1027 -p1 -%endif -%patch1028 -p1 -%if %{with blkrrpart} -%patch1029 -p1 -%patch1030 -p1 -%patch1031 -p1 -%patch1032 -p1 -%patch1033 -p1 -%patch1034 -p1 -%endif %patch1035 -p1 %patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1038 -p0 -%if %{with udevsettle} -%patch1039 -p0 -%endif %patch1040 -p1 -%if %{with udevsettle} -%patch1041 -p0 -%patch1042 -p0 -%patch1043 -p0 -%endif -%patch1044 -p0 -%patch1045 -p0 %patch1046 -p1 -%patch1047 -p0 -%patch1048 -p0 -%patch1049 -p0 %patch1050 -p1 %patch1051 -p1 -%patch1052 -p0 %patch1053 -p1 %if %{with blkrrpart} -%patch1054 -p0 %else %patch1055 -p1 %endif -%patch1056 -p0 -%if %{with udevsettle} -%patch1057 -p0 -%else -%patch1058 -p0 -%endif -%patch1059 -p0 %patch1060 -p1 -%patch1061 -p0 %patch1062 -p1 -%if %{with parentpathid} -%patch1063 -p0 -%endif -%patch1064 -p0 -%patch1065 -p0 %patch1066 -p1 -%patch1067 -p1 -%patch1068 -p0 -%patch1069 -p0 -%patch1070 -p0 -%patch1071 -p0 -%patch1072 -p0 -%patch1073 -p0 -%patch1074 -p0 -%patch1075 -p0 -%if %{with udevsettle} -%patch1076 -p0 -%else -%patch1077 -p0 -%endif -%if 0%{?suse_version} > 1310 -%if %{with udevsettle} -%patch1079 -p1 -%else -%patch1078 -p1 -%endif -%endif -%patch1080 -p0 -%patch1081 -p0 -%patch1082 -p0 -%patch1083 -p0 -%patch1084 -p0 -%patch1085 -p0 -%patch1086 -p0 -%patch1087 -p0 %patch1088 -p1 -%patch1089 -p1 -%if %{with parentpathid} -%patch1090 -p0 -%patch1091 -p0 -%endif -%patch1092 -p0 -%patch1093 -p0 -%patch1094 -p0 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 -%patch1098 -p0 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -2091,17 +669,6 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi -%if 0%{?suse_version} <= 1310 -# -# Older versions like oS 13.1 do not distinguish between -# network.target and network-online.target -# -for f in src/core/service.c src/insserv-generator/insserv-generator.c -do - sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f -done -%endif - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -2142,11 +709,11 @@ cflags () esac set +o noclobber } -autoreconf -fiv +autoreconf -fi # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export CFLAGS="%{optflags}" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -2172,6 +739,7 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-gudev \ --disable-myhostname \ --disable-manpages \ + --disable-machined \ %else --enable-manpages \ %if %{with python} @@ -2179,16 +747,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ -%endif -%if %{with compat_libs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ -%if 0%{?suse_version} <= 1310 - --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ -%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -2197,11 +759,15 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ -%if 0%{?suse_version} > 1310 - --disable-multi-seat-x \ -%endif %if %{without networkd} --disable-networkd \ +%endif +%if %{without sysvcompat} + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ +%endif +%if %{without resolved} + --disable-resolved \ %endif --disable-kdbus make %{?_smp_mflags} @@ -2210,19 +776,9 @@ make %{?_smp_mflags} update-man-list man %endif %install -# Use refreshed manual pages -for man in man/*.[0-9] -do - section=${man##*.} - test -d man/man${section} || continue - new=man/man${section}/${man##*/} - if test -s $new -a $new -nt $man - then - cp -p $new $man - else - sed -ri 's@"(systemd) 209"@"\1 %{version}"@' $man - fi -done +%if !0%{?bootstrap} +cp man/man[0-9]/*.[0-9] man/ +%endif make install DESTDIR="%buildroot" # move to %{_lib} @@ -2235,24 +791,17 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -%if 0%{?suse_version} <= 1310 -ln -sf /lib/firmware %{buildroot}/usr/lib/firmware -%endif + %if ! 0%{?bootstrap} -install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} -sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} -sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule -install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -2270,28 +819,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service -ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service + # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -2364,15 +892,6 @@ EOF install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ -%if ! 0%{?bootstrap} -%if %{without python} -for man in systemd.directives.7 systemd.index.7 -do - install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ -done -%endif -%endif - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -2389,10 +908,8 @@ done > files.completion > files.completion %endif -%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -2404,30 +921,6 @@ do done %endif -%if 0%{suse_version} <= 1310 -cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' - [Unit] - Description=Fix against deadlock at shutdown - Wants=remote-fs.target remote-fs-pre.target - Before=remote-fs.target systemd-logind.service - After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target - ConditionPathExists=|/etc/init.d/autofs - ConditionPathExists=|/etc/init.d/nfs - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/bin/true - ExecStop=-/etc/init.d/autofs stop - ExecStop=-/etc/init.d/nfs stop - - [Install] - WantedBy=remote-fs.target - EOF - mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants - ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants -%endif - # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -2475,6 +968,7 @@ fi getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : %endif +systemd-sysusers || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -2522,8 +1016,6 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -2553,7 +1045,6 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -2652,6 +1143,9 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%post -n nss-mymachines -p /sbin/ldconfig +%postun -n nss-mymachines -p /sbin/ldconfig + %pre journal-gateway getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : @@ -2674,17 +1168,26 @@ exit 0 /bin/systemd /bin/systemd-ask-password /bin/systemctl -%{_bindir}/systemd-sleep-grub +%if %{with networkd} +%{_bindir}/networkctl +%endif %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%if ! 0%{?bootstrap} %{_bindir}/machinectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/systemd-coredumpctl +%{_bindir}/coredumpctl %{_bindir}/systemd-delta +%{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot +%{_bindir}/systemd-path +%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify +%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -2727,7 +1230,6 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %endif %{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target @@ -2766,12 +1268,19 @@ exit 0 %{_bindir}/bootctl %{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_prefix}/lib/systemd/system-generators/systemd-debug-generator +%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator +%if %{with sysvcompat} +%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator +%{_prefix}/lib/systemd/system-preset/ +%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -2800,13 +1309,23 @@ exit 0 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%endif +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%endif +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -2823,15 +1342,24 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%if %{with networkd} +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%if !0%{?bootstrap} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%endif %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions +%if !0%{?bootstrap} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy @@ -2881,8 +1409,11 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%if 0%{?suse_version} > 1310 -%{_datadir}/pkgconfig/systemd.pc +%if %{with resolved} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_sysconfdir}/systemd/resolved.conf +%{_libdir}/libnss_resolve.so.2 +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif %if ! 0%{?bootstrap} @@ -2907,9 +1438,7 @@ exit 0 %{_includedir}/systemd/sd-journal.h %{_includedir}/systemd/sd-messages.h %{_includedir}/systemd/_sd-common.h -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/systemd.pc -%endif +%{_libdir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc @@ -2971,7 +1500,6 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* -%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -3002,9 +1530,6 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/udev.pc -%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -3038,8 +1563,9 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %{_localstatedir}/log/README -/etc/init.d/systemd-journald +%endif %files -n nss-myhostname %defattr(-, root, root) @@ -3052,6 +1578,10 @@ exit 0 %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_mandir}/man8/systemd-journal-gatewayd.* %{_datadir}/systemd/gatewayd + +%files -n nss-mymachines +%defattr(-,root,root) +%_libdir/libnss_mymachines.so* %endif %changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch deleted file mode 100644 index fb97a2f1..00000000 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Frederic Crozat -Date: Tue, 14 Aug 2012 14:26:16 +0200 -Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock - ---- - src/timedate/timedated.c | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- systemd-206_git201308300826.orig/src/timedate/timedated.c -+++ systemd-206_git201308300826/src/timedate/timedated.c -@@ -182,6 +182,13 @@ static int read_data(void) { - goto have_timezone; - } - } -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+ "TIMEZONE", &c->zone, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); -+#endif - - have_timezone: - if (isempty(c->zone)) { diff --git a/tmpfiles-do-not-clean-for-mandb-index-files.patch b/tmpfiles-do-not-clean-for-mandb-index-files.patch deleted file mode 100644 index 3bfd928f..00000000 --- a/tmpfiles-do-not-clean-for-mandb-index-files.patch +++ /dev/null @@ -1,22 +0,0 @@ -There is no need to clean out all 30 days the index data base -files nor the cachedir tags of mandb. Those files are used -for whatis(1) as well as for apropos(1). - ---- - systemd-210/tmpfiles.d/systemd.conf | 5 +++++ - 1 file changed, 5 insertions(+) - ---- systemd-210/tmpfiles.d/systemd.conf -+++ systemd-210/tmpfiles.d/systemd.conf 2014-06-11 13:47:59.470236564 +0000 -@@ -14,6 +14,11 @@ f /var/log/wtmp 0664 root utmp - - f /var/log/btmp 0600 root root - - - d /var/cache/man - - - 30d -+# mandb uses data base file which should not be cleared -+x /var/cache/man/index.* -+x /var/cache/man/CACHEDIR.TAG -+x /var/cache/man/*/index.* -+x /var/cache/man/*/CACHEDIR.TAG - - d /run/systemd/ask-password 0755 root root - - d /run/systemd/seats 0755 root root - diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index 1091a730..ee7e73d8 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -1,110 +1,99 @@ --- - src/tty-ask-password-agent/tty-ask-password-agent.c | 190 +++++++++++++++++++- - 1 file changed, 185 insertions(+), 5 deletions(-) + src/tty-ask-password-agent/tty-ask-password-agent.c | 171 +++++++++++++++++++- + 1 file changed, 166 insertions(+), 5 deletions(-) ---- systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-30 10:48:43.602052750 +0000 -@@ -28,8 +28,12 @@ - #include - #include - #include -+#include +Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +=================================================================== +--- systemd.orig/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -31,6 +31,10 @@ #include + #include + #include ++#include +#include +#include - #include +#include - #include #include "util.h" -@@ -41,6 +45,9 @@ - #include "ask-password-api.h" + #include "mkdir.h" +@@ -42,6 +46,9 @@ #include "strv.h" #include "build.h" + #include "def.h" +#include "fileio.h" +#include "macro.h" +#include "list.h" static enum { ACTION_LIST, -@@ -49,6 +56,21 @@ static enum { +@@ -50,6 +57,22 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; +struct console { + LIST_FIELDS(struct console, handle); -+ char *tty; ++ const char *tty; + pid_t pid; + int id; ++ char dev[]; +}; + -+static volatile uint32_t *usemask; ++static volatile unsigned long *usemask; +static volatile sig_atomic_t sigchild; +static void chld_handler(int sig) +{ + (void)sig; -+ sigchild++; ++ ++sigchild; +} + static bool arg_plymouth = false; static bool arg_console = false; -@@ -246,12 +268,77 @@ finish: - return r; +@@ -208,6 +231,58 @@ static int ask_password_plymouth( + return 0; } +static const char *current_dev = "/dev/console"; +static LIST_HEAD(struct console, consoles); +static int collect_consoles(void) { + _cleanup_free_ char *active = NULL; -+ char *w, *state; -+ struct console *c; -+ size_t l; -+ int id; -+ int r; ++ const char *word, *state; ++ struct console *con; ++ size_t len; ++ int ret, id = 0; + -+ r = read_one_line_file("/sys/class/tty/console/active", &active); -+ if (r < 0) -+ return r; -+ -+ id = 0; -+ FOREACH_WORD(w, l, active, state) { ++ ret = read_one_line_file("/sys/class/tty/console/active", &active); ++ if (ret < 0) ++ return ret; ++ FOREACH_WORD(word, len, active, state) { + _cleanup_free_ char *tty = NULL; + -+ if (strneq(w, "tty0", l)) { -+ if (read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { -+ w = tty; -+ l = strlen(tty); -+ } ++ if (strneq(word, "tty0", len) && ++ read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { ++ word = tty; ++ len = strlen(tty); + } -+ -+ c = malloc0(sizeof(struct console)+5+l+1); -+ if (!c) { ++ con = malloc0(sizeof(*con) + strlen("/dev/") + len + 1); ++ if (con == NULL) { + log_oom(); + continue; + } -+ -+ c->tty = ((char*)c)+sizeof(struct console); -+ stpncpy(stpcpy(c->tty, "/dev/"),w,l); -+ c->id = id++; -+ -+ LIST_PREPEND(handle, consoles, c); ++ sprintf(con->dev, "/dev/%.*s", (int)len, word); ++ con->tty = con->dev; ++ con->id = id++; ++ LIST_PREPEND(handle, consoles, con); + } -+ -+ if (!consoles) { -+ -+ c = malloc0(sizeof(struct console)); -+ if (!c) { ++ if (consoles == NULL) { ++ con = malloc0(sizeof(*con)); ++ if (con == NULL) { + log_oom(); + return -ENOMEM; + } -+ -+ c->tty = (char *)current_dev; -+ c->id = id++; -+ -+ LIST_PREPEND(handle, consoles, c); ++ con->tty = current_dev; ++ con->id = id++; ++ LIST_PREPEND(handle, consoles, con); + } -+ + return 0; +} + @@ -118,168 +107,133 @@ +} + static int parse_password(const char *filename, char **wall) { - char *socket_name = NULL, *message = NULL, *packet = NULL; + _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; uint64_t not_after = 0; - unsigned pid = 0; - int socket_fd = -1; - bool accept_cached = false; -+ size_t packet_length = 0; +@@ -308,7 +383,7 @@ static int parse_password(const char *fi + _cleanup_free_ char *password = NULL; - const ConfigTableItem items[] = { - { "Ask", "Socket", config_parse_string, 0, &socket_name }, -@@ -323,7 +410,6 @@ static int parse_password(const char *fi - struct sockaddr sa; - struct sockaddr_un un; - } sa = {}; -- size_t packet_length = 0; - - assert(arg_action == ACTION_QUERY || - arg_action == ACTION_WATCH); -@@ -365,7 +451,7 @@ static int parse_password(const char *fi - char *password = NULL; - - if (arg_console) -- if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) { -+ if ((tty_fd = acquire_terminal(current_dev, false, false, true, (usec_t) -1)) < 0) { - r = tty_fd; - goto finish; - } -@@ -386,6 +472,7 @@ static int parse_password(const char *fi - strcpy(packet+1, password); - } - -+ memset(password, 0, strlen(password)); - free(password); + if (arg_console) { +- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); ++ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); + if (tty_fd < 0) + return tty_fd; } - } -@@ -423,6 +510,7 @@ finish: - if (socket_fd >= 0) - close_nointr_nofail(socket_fd); - -+ memset(packet, 0, packet_length); - free(packet); - free(socket_name); - free(message); -@@ -726,8 +814,10 @@ static int parse_argv(int argc, char *ar +@@ -612,9 +687,85 @@ static int parse_argv(int argc, char *ar + return 1; } ++static int zzz(void) ++{ ++ struct console *con; ++ struct sigaction sig = { ++ .sa_handler = chld_handler, ++ .sa_flags = SA_NOCLDSTOP | SA_RESTART, ++ }; ++ struct sigaction oldsig; ++ sigset_t set, oldset; ++ int status = 0, ret; ++ pid_t job; ++ ++ collect_consoles(); ++ if (!consoles->handle_next) { ++ consoles->pid = 0; ++ con = consoles; ++ goto nofork; ++ } ++ ++ assert_se(sigemptyset(&set) == 0); ++ assert_se(sigaddset(&set, SIGHUP) == 0); ++ assert_se(sigaddset(&set, SIGCHLD) == 0); ++ assert_se(sigemptyset(&sig.sa_mask) == 0); ++ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); ++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); ++ sig.sa_handler = SIG_DFL; ++ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); ++ ++ LIST_FOREACH(handle, con, consoles) { ++ switch ((con->pid = fork())) { ++ case 0: ++ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) ++ _exit(EXIT_FAILURE); ++ zero(sig); ++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); ++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); ++ nofork: ++ setsid(); ++ release_terminal(); ++ *usemask |= 1 << con->id; ++ current_dev = con->tty; ++ return con->id; /* child */ ++ case -1: ++ log_error("Failed to query password: %s", strerror(errno)); ++ exit(EXIT_FAILURE); ++ default: ++ break; ++ } ++ } ++ ++ ret = 0; ++ while ((job = wait(&status)) != 0) { ++ if (job < 0) { ++ if (errno != EINTR) ++ break; ++ continue; ++ } ++ LIST_FOREACH(handle, con, consoles) { ++ if (con->pid == job || kill(con->pid, 0) < 0) { ++ *usemask &= ~(1 << con->id); ++ continue; ++ } ++ if (*usemask & (1 << con->id)) ++ continue; ++ kill(con->pid, SIGHUP); ++ usleep(50000); ++ kill(con->pid, SIGKILL); ++ } ++ if (WIFEXITED(status) && ret == 0) ++ ret = WEXITSTATUS(status); ++ } ++ free_consoles(); ++ exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */ ++} ++ int main(int argc, char *argv[]) { -+ int id = 0; - int r; +- int r; ++ int r, id = 0; + LIST_HEAD_INIT(consoles); log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); -@@ -737,11 +827,99 @@ int main(int argc, char *argv[]) { - if ((r = parse_argv(argc, argv)) <= 0) +@@ -625,11 +776,19 @@ int main(int argc, char *argv[]) { + if (r <= 0) goto finish; -+ usemask = (uint32_t*) mmap(NULL, sizeof(uint32_t), PROT_READ|PROT_WRITE, -+ MAP_ANONYMOUS|MAP_SHARED, -1, 0); ++ usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE, ++ MAP_ANONYMOUS | MAP_SHARED, -1, 0); ++ assert_se(usemask != NULL); + if (arg_console) { - setsid(); - release_terminal(); -- } + if (!arg_plymouth && arg_action != ACTION_WALL && + arg_action != ACTION_LIST) { -+ struct console *c; -+ struct sigaction sig = { -+ .sa_handler = chld_handler, -+ .sa_flags = SA_NOCLDSTOP|SA_RESTART, -+ }; -+ struct sigaction oldsig; -+ sigset_t set, oldset; -+ int status = 0; -+ pid_t job; -+ -+ collect_consoles(); -+ -+ if (!consoles->handle_next) { -+ consoles->pid = 0; -+ c = consoles; -+ goto nofork; -+ } - -+ assert_se(sigemptyset(&set) == 0); -+ assert_se(sigaddset(&set, SIGHUP) == 0); -+ assert_se(sigaddset(&set, SIGCHLD) == 0); -+ assert_se(sigemptyset(&sig.sa_mask) == 0); -+ -+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); -+ sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); -+ LIST_FOREACH(handle, c, consoles) { -+ -+ switch ((c->pid = fork())) { -+ case 0: -+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) -+ _exit(EXIT_FAILURE); -+ zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); -+ /* fall through */ -+ nofork: -+ setsid(); -+ release_terminal(); -+ id = c->id; -+ *usemask |= (1<tty; -+ goto forked; /* child */ -+ case -1: -+ log_error("Failed to query password: %s", strerror(errno)); -+ return EXIT_FAILURE; -+ default: -+ break; -+ } -+ } -+ -+ r = 0; -+ while ((job = wait(&status))) { -+ if (job < 0) { -+ if (errno != EINTR) -+ break; -+ continue; -+ } -+ LIST_FOREACH(handle, c, consoles) { -+ if (c->pid == job) { -+ *usemask &= ~(1<id); -+ continue; -+ } -+ if (kill(c->pid, 0) < 0) { -+ *usemask &= ~(1<id); -+ continue; -+ } -+ if (*usemask & (1<id)) -+ continue; -+ kill(c->pid, SIGHUP); -+ usleep(50000); -+ kill(c->pid, SIGKILL); -+ } -+ -+ if (WIFEXITED(status) && !r) -+ r = WEXITSTATUS(status); -+ } -+ free_consoles(); -+ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; /* parent */ -+ ++ id = zzz(); + } else { + setsid(); + release_terminal(); + } -+ } -+forked: - if (arg_action == ACTION_WATCH || - arg_action == ACTION_WALL) + } +- + if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) r = watch_passwords(); -@@ -751,6 +929,8 @@ int main(int argc, char *argv[]) { + else +@@ -638,6 +797,8 @@ int main(int argc, char *argv[]) { if (r < 0) - log_error("Error: %s", strerror(-r)); + log_error_errno(r, "Error: %m"); + free_consoles(); -+ *usemask &= ~(1< #include @@ -37,7 +39,7 @@ Related to bnc#892096 + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); + if (entropy_fd < 0) { -+ entropy_count = 0; ++ entropy_count = 0; + if (errno != ENOENT) { + log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); + r = -errno; @@ -55,13 +57,13 @@ Related to bnc#892096 seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -113,16 +133,37 @@ int main(int argc, char *argv[]) { +@@ -113,12 +133,34 @@ int main(int argc, char *argv[]) { } else { lseek(seed_fd, 0, SEEK_SET); -- k = loop_write(random_fd, buf, (size_t) k, false); -- if (k <= 0) { -- log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); +- r = loop_write(random_fd, buf, (size_t) k, false); +- if (r < 0) +- log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); + if (entropy_count && (size_t) k == buf_size) { + struct rand_pool_info entropy = { + .entropy_count = entropy_count, @@ -77,15 +79,12 @@ Related to bnc#892096 + k = loop_write(random_fd, buf, (size_t) k, false); + if (k <= 0) { + log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); - -- r = k == 0 ? -EIO : (int) k; + r = k == 0 ? -EIO : (int) k; + } - } ++ } } } else if (streq(argv[1], "save")) { - + /* Read available entropy count, if possible */ + f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); + if (f) { @@ -93,11 +92,10 @@ Related to bnc#892096 + entropy_count = 0; + fclose(f); + } -+ + seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { - log_error("Failed to open " RANDOM_SEED ": %m"); -@@ -137,6 +178,21 @@ int main(int argc, char *argv[]) { +@@ -134,6 +176,21 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch deleted file mode 100644 index e29f4b28..00000000 --- a/use-usr-sbin-sulogin-for-emergency-service.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Andrey Borzenkov -Subject: use /usr/sbin/sulogin in emergency service - -In current Factory sulogin is in /usr/sbin which makes it impossible -to enter emergency service. -Index: systemd-207/units/emergency.service.in -=================================================================== ---- systemd-207.orig/units/emergency.service.in -+++ systemd-207/units/emergency.service.in -@@ -17,7 +17,7 @@ Environment=HOME=/root - WorkingDirectory=/root - ExecStartPre=-/bin/plymouth quit - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=@SYSTEMCTL@ --fail --no-block default - Type=idle - StandardInput=tty-force -Index: systemd-207/units/console-shell.service.m4.in -=================================================================== ---- systemd-207.orig/units/console-shell.service.m4.in -+++ systemd-207/units/console-shell.service.m4.in -@@ -17,7 +17,7 @@ Before=getty.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=-@SYSTEMCTL@ poweroff - Type=idle - StandardInput=tty-force -Index: systemd-207/units/rescue.service.m4.in -=================================================================== ---- systemd-207.orig/units/rescue.service.m4.in -+++ systemd-207/units/rescue.service.m4.in -@@ -18,7 +18,7 @@ Environment=HOME=/root - WorkingDirectory=/root - ExecStartPre=-/bin/plymouth quit - ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' --ExecStart=-/sbin/sulogin -+ExecStart=-/usr/sbin/sulogin - ExecStopPost=-@SYSTEMCTL@ --fail --no-block default - Type=idle - StandardInput=tty-force diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch index b318b124..3273aba6 100644 --- a/vhangup-on-all-consoles.patch +++ b/vhangup-on-all-consoles.patch @@ -2,12 +2,22 @@ Related to bnc#886599 and others. That is use the vhangup(8) tool to explicit do a virtually hangup on the specified on the terminal line to give e.g. the bash a few seconds to e.g. safe its history. +[crrodriguez@opensuse.org: Feb 2015 +This a known kernel bug, no notification from the cgroup subsystem +arrives and the processes in the "scope" units have +to be SIGKILL'ed without delay in order not to hang shutdown +Status: fix not available as of Feb 16 2015 +track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 +] + --- units/getty@.service.m4 | 1 + units/serial-getty@.service.m4 | 1 + 2 files changed, 2 insertions(+) ---- units/getty@.service.m4 -+++ units/getty@.service.m4 2014-07-15 07:30:28.006235859 +0000 +Index: systemd-218/units/getty@.service.m4 +=================================================================== +--- systemd-218.orig/units/getty@.service.m4 ++++ systemd-218/units/getty@.service.m4 @@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate @@ -16,13 +26,15 @@ line to give e.g. the bash a few seconds to e.g. safe its history. Type=idle Restart=always RestartSec=0 ---- units/serial-getty@.service.m4 -+++ units/serial-getty@.service.m4 2014-07-15 07:30:01.366235017 +0000 +Index: systemd-218/units/serial-getty@.service.m4 +=================================================================== +--- systemd-218.orig/units/serial-getty@.service.m4 ++++ systemd-218/units/serial-getty@.service.m4 @@ -24,6 +24,7 @@ IgnoreOnIsolate=yes [Service] - ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 $TERM + ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM +ExecStopPost=-/sbin/vhangup /dev/%I Type=idle Restart=always - RestartSec=0 + UtmpIdentifier=%I diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index 41a2b6dc..8aec94ac 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -1,10 +1,12 @@ --- - src/core/manager.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/core/manager.h | 5 ++ - 2 files changed, 108 insertions(+) + 2 files changed, 98 insertions(+) ---- src/core/manager.c -+++ src/core/manager.c 2014-11-07 11:12:58.334193988 +0000 +Index: systemd-218/src/core/manager.c +=================================================================== +--- systemd-218.orig/src/core/manager.c ++++ systemd-218/src/core/manager.c @@ -37,6 +37,7 @@ #include #include @@ -13,7 +15,7 @@ #ifdef HAVE_AUDIT #include -@@ -304,6 +305,101 @@ static int manager_check_ask_password(Ma +@@ -302,6 +303,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -35,13 +37,8 @@ + flush_fd(fd); + + m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ -+ if (m->resolv_conf_inotify_fd >= 0) -+ close_nointr_nofail(m->resolv_conf_inotify_fd); -+ m->resolv_conf_inotify_fd = -1; -+ ++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); + manager_setup_resolv_conf_change(m); -+ + return m->resolv_conf_noent ? 0 : res_init(); +} + @@ -96,10 +93,7 @@ + + return 0; +fail: -+ if (m->resolv_conf_inotify_fd >= 0) -+ close_nointr_nofail(m->resolv_conf_inotify_fd); -+ m->resolv_conf_inotify_fd = -1; -+ ++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); + return 0; /* Ignore error here */ +} + @@ -107,23 +101,21 @@ + assert(m); + + m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ if (m->resolv_conf_inotify_fd >= 0) -+ close_nointr_nofail(m->resolv_conf_inotify_fd); -+ m->resolv_conf_inotify_fd = -1; ++ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); +} + static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -562,6 +658,7 @@ int manager_new(SystemdRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = -1; +@@ -557,6 +643,7 @@ int manager_new(SystemdRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + m->resolv_conf_inotify_fd = -1; m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ -@@ -613,6 +710,10 @@ int manager_new(SystemdRunningAs running +@@ -618,6 +705,10 @@ int manager_new(SystemdRunningAs running if (r < 0) goto fail; @@ -134,20 +126,22 @@ m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -906,6 +1007,8 @@ void manager_free(Manager *m) { - - assert(m); +@@ -896,6 +987,8 @@ Manager* manager_free(Manager *m) { + if (!m) + return NULL; + manager_shutdown_resolv_conf_change(m); + manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) ---- src/core/manager.h -+++ src/core/manager.h 2014-11-07 11:06:41.466019636 +0000 -@@ -157,6 +157,11 @@ struct Manager { - FILE *proc_self_mountinfo; - sd_event_source *mount_event_source; +Index: systemd-218/src/core/manager.h +=================================================================== +--- systemd-218.orig/src/core/manager.h ++++ systemd-218/src/core/manager.h +@@ -185,6 +185,11 @@ struct Manager { + int utab_inotify_fd; + sd_event_source *mount_utab_event_source; + /* Watch out any change of /etc/resolv.conf */ + int resolv_conf_inotify_fd; From f08e5a2d6d90a6217b21dd7381f04e2b3776fdb9ce113a03d93347791b13fb08 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 15 Apr 2015 14:21:25 +0000 Subject: [PATCH 213/991] Accepting request 295286 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/295286 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=219 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 7a555d36..0ffd755b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de + +- Reenable networkd which was silently disabled on Feb 18 + ------------------------------------------------------------------- Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 3399d28d..07b29708 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -23,7 +23,7 @@ %define udevpkgname udev-mini %define udev_major 1 %bcond_without bash_completion -%bcond_with networkd +%bcond_without networkd %bcond_without sysvcompat %bcond_with resolved %bcond_with python diff --git a/systemd.changes b/systemd.changes index 7a555d36..0ffd755b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de + +- Reenable networkd which was silently disabled on Feb 18 + ------------------------------------------------------------------- Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index 7b5b6805..d0ca0a64 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ %define udevpkgname udev %define udev_major 1 %bcond_without bash_completion -%bcond_with networkd +%bcond_without networkd %bcond_without sysvcompat %bcond_with resolved %bcond_with python From ac1904b70a54f2323f3059f665035f36627332b673281709ee897cd9bc35ca7a Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 30 Apr 2015 09:50:12 +0000 Subject: [PATCH 214/991] Accepting request 304330 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/304330 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=220 --- systemd-mini.changes | 7 ++ systemd-mini.spec | 2 +- systemd.changes | 7 ++ systemd.spec | 2 +- ...addentropy-ioctl-to-load-random-seed.patch | 98 ++++++++++++------- 5 files changed, 81 insertions(+), 35 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0ffd755b..3c1a26a7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de + +- Add upstream patch + 0001-core-don-t-change-removed-devices-to-state-tentative.patch + to fix the fix of the last backport (bsc#921898) + ------------------------------------------------------------------- Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 07b29708..95168d8f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/systemd.changes b/systemd.changes index 0ffd755b..3c1a26a7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de + +- Add upstream patch + 0001-core-don-t-change-removed-devices-to-state-tentative.patch + to fix the fix of the last backport (bsc#921898) + ------------------------------------------------------------------- Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index d0ca0a64..76876ece 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch index 20cfbcbe..a91b3701 100644 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ b/use-rndaddentropy-ioctl-to-load-random-seed.patch @@ -5,13 +5,11 @@ write back the bytes and increase the entropy bit counter. Related to bnc#892096 --- - src/random-seed/random-seed.c | 65 +++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 61 insertions(+), 4 deletions(-) + systemd-219/src/random-seed/random-seed.c | 71 +++++++++++++++++++++++++----- + 1 file changed, 61 insertions(+), 10 deletions(-) -Index: systemd-218/src/random-seed/random-seed.c -=================================================================== ---- systemd-218.orig/src/random-seed/random-seed.c -+++ systemd-218/src/random-seed/random-seed.c +--- systemd-219/src/random-seed/random-seed.c ++++ systemd-219/src/random-seed/random-seed.c 2015-04-21 09:39:03.057518051 +0000 @@ -22,7 +22,9 @@ #include #include @@ -22,31 +20,46 @@ Index: systemd-218/src/random-seed/random-seed.c #include #include "log.h" -@@ -32,8 +34,9 @@ +@@ -32,8 +34,8 @@ #define POOL_SIZE_MIN 512 int main(int argc, char *argv[]) { - _cleanup_close_ int seed_fd = -1, random_fd = -1; +- _cleanup_free_ void* buf = NULL; + _cleanup_close_ int seed_fd = -1, random_fd = -1, entropy_fd = -1; - _cleanup_free_ void* buf = NULL; -+ size_t entropy_count = 0; ++ _cleanup_free_ struct rand_pool_info *entropy = NULL; size_t buf_size = 0; ssize_t k; int r; -@@ -82,6 +85,23 @@ int main(int argc, char *argv[]) { +@@ -65,11 +67,12 @@ int main(int argc, char *argv[]) { + if (buf_size <= POOL_SIZE_MIN) + buf_size = POOL_SIZE_MIN; + +- buf = malloc(buf_size); +- if (!buf) { ++ entropy = (struct rand_pool_info*) malloc(sizeof(struct rand_pool_info) + buf_size); ++ if (!entropy) { + r = log_oom(); + goto finish; + } ++ entropy->buf_size = buf_size; + + r = mkdir_parents_label(RANDOM_SEED, 0755); + if (r < 0) { +@@ -83,6 +86,23 @@ int main(int argc, char *argv[]) { if (streq(argv[1], "load")) { + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); + if (entropy_fd < 0) { -+ entropy_count = 0; ++ entropy->entropy_count = 0; + if (errno != ENOENT) { + log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); + r = -errno; + goto finish; + } + } else { -+ r = read(entropy_fd, &entropy_count, sizeof(entropy_count)); ++ r = read(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); + if (r < 0) { + log_error("Failed to read entropy count file: %m"); + r = -errno; @@ -57,56 +70,60 @@ Index: systemd-218/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -113,12 +133,34 @@ int main(int argc, char *argv[]) { +@@ -104,7 +124,7 @@ int main(int argc, char *argv[]) { + } + } + +- k = loop_read(seed_fd, buf, buf_size, false); ++ k = loop_read(seed_fd, entropy->buf, entropy->buf_size, false); + if (k <= 0) { + + if (r != 0) +@@ -115,13 +135,29 @@ int main(int argc, char *argv[]) { } else { lseek(seed_fd, 0, SEEK_SET); - r = loop_write(random_fd, buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ if (entropy_count && (size_t) k == buf_size) { -+ struct rand_pool_info entropy = { -+ .entropy_count = entropy_count, -+ .buf_size = buf_size, -+ }; -+ entropy.buf[0] = ((__u32*)buf)[0]; -+ r = ioctl(random_fd, RNDADDENTROPY, &entropy); ++ if (entropy->entropy_count && ((size_t)k) == entropy->buf_size) { ++ r = ioctl(random_fd, RNDADDENTROPY, entropy); + if (r < 0) { -+ log_error("Failed to write seed to /dev/urandom: %m"); ++ log_error_errno(errno, "Failed to write seed to /dev/urandom: %m"); + r = -errno; + } + } else { -+ k = loop_write(random_fd, buf, (size_t) k, false); -+ if (k <= 0) { -+ log_error("Failed to write seed to /dev/urandom: %s", r < 0 ? strerror(-r) : "short write"); -+ r = k == 0 ? -EIO : (int) k; -+ } -+ } ++ r = loop_write(random_fd, entropy->buf, (size_t) k, false); ++ if (r < 0) ++ log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); ++ } } } else if (streq(argv[1], "save")) { + + /* Read available entropy count, if possible */ + f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); + if (f) { -+ if (fscanf(f, "%zu", &entropy_count) < 0) -+ entropy_count = 0; ++ if (fscanf(f, "%d", &entropy->entropy_count) < 0) ++ entropy->entropy_count = 0; + fclose(f); + } - ++ seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { -@@ -134,6 +176,21 @@ int main(int argc, char *argv[]) { + log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); +@@ -136,6 +172,21 @@ int main(int argc, char *argv[]) { goto finish; } -+ if (entropy_count) { ++ if (entropy->entropy_count) { + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); + if (seed_fd < 0) { + log_error("Failed to open " RANDOM_SEED_DIR "entropy_count: %m"); + r = -errno; + goto finish; + } -+ r = write(entropy_fd, &entropy_count, sizeof(entropy_count)); ++ r = write(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); + if (r < 0) { + log_error("Failed to write entropy count file: %m"); + r = -errno; @@ -117,3 +134,18 @@ Index: systemd-218/src/random-seed/random-seed.c } else { log_error("Unknown verb %s.", argv[1]); r = -EINVAL; +@@ -149,12 +200,12 @@ int main(int argc, char *argv[]) { + fchmod(seed_fd, 0600); + fchown(seed_fd, 0, 0); + +- k = loop_read(random_fd, buf, buf_size, false); ++ k = loop_read(random_fd, entropy->buf, entropy->buf_size, false); + if (k <= 0) { + log_error("Failed to read new seed from /dev/urandom: %s", r < 0 ? strerror(-r) : "EOF"); + r = k == 0 ? -EIO : (int) k; + } else { +- r = loop_write(seed_fd, buf, (size_t) k, false); ++ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); + if (r < 0) + log_error_errno(r, "Failed to write new random seed file: %m"); + } From acb10341e627c2e707bb09508af338ff8f8b83bdef36d83615dad7360c861f49 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 12 Jun 2015 18:24:37 +0000 Subject: [PATCH 215/991] Accepting request 311646 from Base:System - Remove libudev0 from baselibs.conf - Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch as now upstream code - Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix bsc#933365 and boo#934077 - Add 1098-systemd-networkd-alias-network-service.patch to alias network.service the same way NetworkManager and wicked does. This is needed by yast2 and other parts of the system. boo#933092 - Modify patch 1021-udev-re-add-persistent-net-rules.patch to use the new return values of proc_cmdline() in enable_name_policy() this should fix boo#931165 - Drop 1021-udev-re-add-persistent-net-rules.patch, 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, 1046-fix-duplicated-rules-with-layer3-interfaces.patch, 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, 1051-check-if-NAME-has-a-value.patch, 1053-better-checks-in-write_net_rules.patch, 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. 1021 originally broke parsing of net.ifnames=0 [bnc#931165], and given that neither the kernel command line needs to be touched nor the source be patched to reach the unpredictable naming setup for SLE, all these parts are moved to a separate package. OBS-URL: https://build.opensuse.org/request/show/311646 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=221 --- ...some-boolean-survive-a-daemon-reload.patch | 69 +++ 1021-udev-re-add-persistent-net-rules.patch | 547 ------------------ ...-usage-of-dev_id-in-persistent-rules.patch | 14 - ...id-conditionally-in-persistent-rules.patch | 16 - ...licated-rules-with-layer3-interfaces.patch | 16 - ...VF-devices-when-name-starts-with-eth.patch | 12 - 1051-check-if-NAME-has-a-value.patch | 12 - 1053-better-checks-in-write_net_rules.patch | 29 - ...aa13539ed2cd4b31972cd30f678543-apply.patch | 26 - ...aming-of-virtual-interfaces-in-guest.patch | 11 - ...stemd-networkd-alias-network-service.patch | 10 + baselibs.conf | 1 - systemd-mini.changes | 51 +- systemd-mini.spec | 43 +- systemd.changes | 51 +- systemd.spec | 43 +- 16 files changed, 187 insertions(+), 764 deletions(-) create mode 100644 0001-Let-some-boolean-survive-a-daemon-reload.patch delete mode 100644 1021-udev-re-add-persistent-net-rules.patch delete mode 100644 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch delete mode 100644 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch delete mode 100644 1046-fix-duplicated-rules-with-layer3-interfaces.patch delete mode 100644 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch delete mode 100644 1051-check-if-NAME-has-a-value.patch delete mode 100644 1053-better-checks-in-write_net_rules.patch delete mode 100644 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch delete mode 100644 1088-drop-renaming-of-virtual-interfaces-in-guest.patch create mode 100644 1098-systemd-networkd-alias-network-service.patch diff --git a/0001-Let-some-boolean-survive-a-daemon-reload.patch b/0001-Let-some-boolean-survive-a-daemon-reload.patch new file mode 100644 index 00000000..6e7b7fb9 --- /dev/null +++ b/0001-Let-some-boolean-survive-a-daemon-reload.patch @@ -0,0 +1,69 @@ +Based on deff2d3e18e831d63bf98dd4114e4e35e41966e8 Mon Sep 17 00:00:00 2001 +From: Werner Fink +Date: Wed, 10 Jun 2015 10:47:13 +0200 +Subject: [PATCH] Let some boolean survive a daemon-reload + +Without the boolean bus_name_good services as well as cgroup_realized +for units a unit of Type=dbus and ExecReload sending SIGHUP to $MAINPID +will be terminated if systemd will be daemon reloaded. + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746151 +https://bugs.freedesktop.org/show_bug.cgi?id=78311 +https://bugzilla.opensuse.org/show_bug.cgi?id=934077 +--- + src/core/service.c | 9 +++++++++ + src/core/unit.c | 11 +++++++++++ + 2 files changed, 20 insertions(+) + +--- systemd-219/src/core/service.c ++++ systemd-219/src/core/service.c 2015-06-11 12:24:36.769519910 +0000 +@@ -1920,6 +1920,7 @@ static int service_serialize(Unit *u, FI + unit_serialize_item_format(u, f, "main-pid", PID_FMT, s->main_pid); + + unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); ++ unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); + + if (s->status_text) + unit_serialize_item(u, f, "status-text", s->status_text); +@@ -2044,6 +2045,14 @@ static int service_deserialize_item(Unit + log_unit_debug(u->id, "Failed to parse main-pid-known value %s", value); + else + s->main_pid_known = b; ++ } else if (streq(key, "bus-name-good")) { ++ int b; ++ ++ b = parse_boolean(value); ++ if (b < 0) ++ log_unit_debug(u->id, "Failed to parse bus-name-good value %s", value); ++ else ++ s->bus_name_good = b; + } else if (streq(key, "status-text")) { + char *t; + +--- systemd-219/src/core/unit.c ++++ systemd-219/src/core/unit.c 2015-06-11 12:30:56.805519155 +0000 +@@ -2612,6 +2612,7 @@ int unit_serialize(Unit *u, FILE *f, FDS + + if (u->cgroup_path) + unit_serialize_item(u, f, "cgroup", u->cgroup_path); ++ unit_serialize_item(u, f, "cgroup-realized", yes_no(u->cgroup_realized)); + + if (serialize_jobs) { + if (u->job) { +@@ -2803,6 +2804,16 @@ int unit_deserialize(Unit *u, FILE *f, F + assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1); + + continue; ++ } else if (streq(l, "cgroup-realized")) { ++ int b; ++ ++ b = parse_boolean(v); ++ if (b < 0) ++ log_debug("Failed to parse cgroup-realized bool %s", v); ++ else ++ u->cgroup_realized = b; ++ ++ continue; + } + + if (unit_can_serialize(u)) { diff --git a/1021-udev-re-add-persistent-net-rules.patch b/1021-udev-re-add-persistent-net-rules.patch deleted file mode 100644 index 5d21f1fe..00000000 --- a/1021-udev-re-add-persistent-net-rules.patch +++ /dev/null @@ -1,547 +0,0 @@ ---- - Makefile.am | 9 - src/udev/net/link-config.c | 17 + - src/udev/rule_generator/75-persistent-net-generator.rules | 105 ++++++++++ - src/udev/rule_generator/76-net-sriov-names.rules | 18 + - src/udev/rule_generator/net-set-sriov-names | 79 +++++++ - src/udev/rule_generator/rule_generator.functions | 113 +++++++++++ - src/udev/rule_generator/write_net_rules | 141 ++++++++++++++ - 7 files changed, 479 insertions(+), 3 deletions(-) - -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -3416,7 +3416,14 @@ dist_udevrules_DATA += \ - rules/75-tty-description.rules \ - rules/78-sound-card.rules \ - rules/80-net-setup-link.rules \ -- rules/95-udev-late.rules -+ rules/95-udev-late.rules \ -+ src/udev/rule_generator/75-persistent-net-generator.rules \ -+ src/udev/rule_generator/76-net-sriov-names.rules -+ -+udevlibexec_PROGRAMS += \ -+ src/udev/rule_generator/rule_generator.functions \ -+ src/udev/rule_generator/write_net_rules \ -+ src/udev/rule_generator/net-set-sriov-names - - nodist_udevrules_DATA += \ - rules/99-systemd.rules -Index: systemd-218/src/udev/net/link-config.c -=================================================================== ---- systemd-218.orig/src/udev/net/link-config.c -+++ systemd-218/src/udev/net/link-config.c -@@ -176,16 +176,29 @@ static bool enable_name_policy(void) { - size_t l; - - r = proc_cmdline(&line); -- if (r < 0) { -+ if (r < 0) - log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m"); -+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1) -+# warning Using persistent rules as a default -+ if (r <= 0) -+ return false; -+ -+ FOREACH_WORD_QUOTED(w, l, line, state) -+ if (strneq(w, "net.ifnames=1", l)) -+ return true; -+ -+ return false; -+#else -+# warning Using predictable rules as a default -+ if (r <= 0) - return true; -- } - - FOREACH_WORD_QUOTED(word, l, line, state) - if (strneq(word, "net.ifnames=0", l)) - return false; - - return true; -+#endif - } - - int link_config_load(link_config_ctx *ctx) { -Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules -@@ -0,0 +1,105 @@ -+# do not edit this file, it will be overwritten on update -+ -+# these rules generate rules for persistent network device naming -+# -+# variables used to communicate: -+# MATCHADDR MAC address used for the match -+# MATCHID bus_id used for the match -+# MATCHDRV driver name used for the match -+# MATCHIFTYPE interface type match -+# COMMENT comment to add to the generated rule -+# INTERFACE_NAME requested name supplied by external tool -+# INTERFACE_NEW new interface name returned by rule writer -+ -+ACTION!="add", GOTO="persistent_net_generator_end" -+SUBSYSTEM!="net", GOTO="persistent_net_generator_end" -+ -+# ignore the interface if a name has already been set -+NAME=="?*", GOTO="persistent_net_generator_end" -+ -+# device name whitelist -+KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end" -+ -+IMPORT{cmdline}="net.ifnames" -+ENV{net.ifnames}=="1", GOTO="persistent_net_generator_end" -+ -+# ignore Xen virtual interfaces -+SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end" -+ -+# read MAC address -+ENV{MATCHADDR}="$attr{address}" -+ -+# match interface type -+ENV{MATCHIFTYPE}="$attr{type}" -+ -+# ignore KVM virtual interfaces -+ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end" -+# ignore VMWare virtual interfaces -+ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end" -+# ignore Hyper-V virtual interfaces -+ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end" -+ -+# These vendors are known to violate the local MAC address assignment scheme -+# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom -+ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist" -+# 3Com -+ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist" -+# 3Com IBM PC; Imagen; Valid; Cisco; Apple -+ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist" -+# Intel -+ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist" -+# Olivetti -+ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist" -+# CMC Masscomp; Silicon Graphics; Prime EXL -+ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist" -+# Prominet Corporation Gigabit Ethernet Switch -+ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist" -+# BTI (Bus-Tech, Inc.) IBM Mainframes -+ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist" -+# Realtek -+ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist" -+# Novell 2000 -+ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist" -+# Realtec -+ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist" -+# Kingston Technologies -+ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist" -+# Xensource -+ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" -+ -+# match interface dev_id -+ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" -+ -+# do not use "locally administered" MAC address -+ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" -+ -+# do not use empty address -+ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}="" -+ -+LABEL="globally_administered_whitelist" -+ -+# build comment line for generated rule: -+SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)" -+SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)" -+SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)" -+SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})" -+ -+# ibmveth likes to use "locally administered" MAC addresses -+DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)" -+ -+# S/390 uses id matches only, do not use MAC address match -+SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}="" -+ -+# see if we got enough data to create a rule -+ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end" -+ -+# default comment -+ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})" -+ -+# write rule -+DRIVERS=="?*", IMPORT{program}="write_net_rules" -+ -+# rename interface if needed -+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" -+ -+LABEL="persistent_net_generator_end" -Index: systemd-218/src/udev/rule_generator/76-net-sriov-names.rules -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/76-net-sriov-names.rules -@@ -0,0 +1,18 @@ -+# do not edit this file, it will be overwritten on update -+# -+# rename SRIOV virtual function interfaces -+ -+ACTION=="remove", GOTO="net-sriov-names_end" -+SUBSYSTEM!="net", GOTO="net-sriov-names_end" -+ -+IMPORT{cmdline}="net.ifnames" -+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" -+ -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name" -+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names" -+ -+# rename interface if needed -+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" -+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" -+ -+LABEL="net-sriov-names_end" -Index: systemd-218/src/udev/rule_generator/net-set-sriov-names -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/net-set-sriov-names -@@ -0,0 +1,79 @@ -+#!/bin/bash -e -+# -+# This script is run to rename virtual interfaces -+# -+ -+if [ -n "$UDEV_LOG" ]; then -+ if [ "$UDEV_LOG" -ge 7 ]; then -+ set -x -+ fi -+fi -+ -+# according to dev_new_index(), ifindex is within [1, INT_MAX] -+int_max=$(/usr/bin/getconf INT_MAX) -+ifindex_before() { -+ a=$1 -+ b=$2 -+ -+ ((0 < (b - a) && (b - a) < int_max / 2 || -+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2)) -+} -+ -+rename_interface() { -+ local src_net=$1 -+ local dest_net=$2 -+ local err=0 -+ -+ /sbin/ip link set dev $src_net down -+ /sbin/ip link set dev $src_net name $dest_net -+} -+ -+if [ -z "$INTERFACE" ]; then -+ echo "missing \$INTERFACE" >&2 -+ exit 1 -+fi -+ -+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then -+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net") -+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then -+ echo "too many pf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$INTERFACE/ifindex" -+ read pfindex < "/sys/class/net/$pf/ifindex" -+ if ifindex_before $pfindex $vfindex; then -+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device")) -+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do -+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ echo "INTERFACE_NEW=$pf.vf$vfnum" -+ exit 0 -+ fi -+ done -+ fi -+fi -+ -+read pfindex < "/sys/class/net/$INTERFACE/ifindex" -+shopt -s nullglob -+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do -+ vf=$(ls -1 "$virtfn/net") -+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then -+ echo "too many vf's" >&2 -+ exit 1 -+ fi -+ read vfindex < "/sys/class/net/$vf/ifindex" -+ if ifindex_before $vfindex $pfindex; then -+ vfnum=$(basename "$virtfn") -+ vfnum=${vfnum#virtfn} -+ if [ "$INTERFACE_NEW" ]; then -+ new_name=$INTERFACE_NEW -+ else -+ new_name=$INTERFACE -+ fi -+ new_name="$new_name.vf$vfnum" -+ if [ "$vf" != "$new_name" ]; then -+ rename_interface "$vf" "$new_name" -+ fi -+ fi -+done -Index: systemd-218/src/udev/rule_generator/rule_generator.functions -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/rule_generator.functions -@@ -0,0 +1,113 @@ -+# functions used by the udev rule generator -+ -+# Copyright (C) 2006 Marco d'Itri -+ -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation, either version 2 of the License, or -+# (at your option) any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+PATH='/usr/bin:/bin:/usr/sbin:/sbin' -+ -+# Read a single line from file $1 in the $DEVPATH directory. -+# The function must not return an error even if the file does not exist. -+sysread() { -+ local file="$1" -+ [ -e "/sys$DEVPATH/$file" ] || return 0 -+ local value -+ read value < "/sys$DEVPATH/$file" || return 0 -+ echo "$value" -+} -+ -+sysreadlink() { -+ local file="$1" -+ [ -e "/sys$DEVPATH/$file" ] || return 0 -+ readlink -f /sys$DEVPATH/$file 2> /dev/null || true -+} -+ -+# Return true if a directory is writeable. -+writeable() { -+ if ln -s test-link $1/.is-writeable 2> /dev/null; then -+ rm -f $1/.is-writeable -+ return 0 -+ else -+ return 1 -+ fi -+} -+ -+# Create a lock file for the current rules file. -+lock_rules_file() { -+ RUNDIR="/run/udev" -+ [ -e "$RUNDIR" ] || return 0 -+ -+ RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}" -+ -+ retry=30 -+ while ! mkdir $RULES_LOCK 2> /dev/null; do -+ if [ $retry -eq 0 ]; then -+ echo "Cannot lock $RULES_FILE!" >&2 -+ exit 2 -+ fi -+ sleep 1 -+ retry=$(($retry - 1)) -+ done -+} -+ -+unlock_rules_file() { -+ [ "$RULES_LOCK" ] || return 0 -+ rmdir $RULES_LOCK || true -+} -+ -+# Choose the real rules file if it is writeable or a temporary file if not. -+# Both files should be checked later when looking for existing rules. -+choose_rules_file() { -+ RUNDIR="/run/udev" -+ local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}" -+ [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1 -+ -+ if writeable ${RULES_FILE%/*}; then -+ RO_RULES_FILE='/dev/null' -+ else -+ RO_RULES_FILE=$RULES_FILE -+ RULES_FILE=$tmp_rules_file -+ fi -+} -+ -+# Return the name of the first free device. -+raw_find_next_available() { -+ local links="$1" -+ -+ local basename=${links%%[ 0-9]*} -+ local max=-1 -+ for name in $links; do -+ local num=${name#$basename} -+ [ "$num" ] || num=0 -+ [ $num -gt $max ] && max=$num -+ done -+ -+ local max=$(($max + 1)) -+ # "name0" actually is just "name" -+ [ $max -eq 0 ] && return -+ echo "$max" -+} -+ -+# Find all rules matching a key (with action) and a pattern. -+find_all_rules() { -+ local key="$1" -+ local linkre="$2" -+ local match="$3" -+ -+ local search='.*[[:space:],]'"$key"'"('"$linkre"')".*' -+ echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \ -+ $RO_RULES_FILE \ -+ $([ -e $RULES_FILE ] && echo $RULES_FILE) \ -+ 2>/dev/null) -+} -Index: systemd-218/src/udev/rule_generator/write_net_rules -=================================================================== ---- /dev/null -+++ systemd-218/src/udev/rule_generator/write_net_rules -@@ -0,0 +1,141 @@ -+#!/bin/sh -e -+ -+# This script is run to create persistent network device naming rules -+# based on properties of the device. -+# If the interface needs to be renamed, INTERFACE_NEW= will be printed -+# on stdout to allow udev to IMPORT it. -+ -+# variables used to communicate: -+# MATCHADDR MAC address used for the match -+# MATCHID bus_id used for the match -+# MATCHDEVID dev_id used for the match -+# MATCHDRV driver name used for the match -+# MATCHIFTYPE interface type match -+# COMMENT comment to add to the generated rule -+# INTERFACE_NAME requested name supplied by external tool -+# INTERFACE_NEW new interface name returned by rule writer -+ -+# Copyright (C) 2006 Marco d'Itri -+# Copyright (C) 2007 Kay Sievers -+# -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation, either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# debug, if UDEV_LOG= -+if [ -n "$UDEV_LOG" ]; then -+ if [ "$UDEV_LOG" -ge 7 ]; then -+ set -x -+ fi -+fi -+ -+RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' -+ -+. /usr/lib/udev/rule_generator.functions -+ -+interface_name_taken() { -+ local value="$(find_all_rules 'NAME=' $INTERFACE)" -+ if [ "$value" ]; then -+ return 0 -+ else -+ return 1 -+ fi -+} -+ -+find_next_available() { -+ raw_find_next_available "$(find_all_rules 'NAME=' "$1")" -+} -+ -+write_rule() { -+ local match="$1" -+ local name="$2" -+ local comment="$3" -+ -+ { -+ if [ "$PRINT_HEADER" ]; then -+ PRINT_HEADER= -+ echo "# This file was automatically generated by the $0" -+ echo "# program, run by the persistent-net-generator.rules rules file." -+ echo "#" -+ echo "# You can modify it, as long as you keep each rule on a single" -+ echo "# line, and change only the value of the NAME= key." -+ fi -+ -+ echo "" -+ [ "$comment" ] && echo "# $comment" -+ echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\"" -+ } >> $RULES_FILE -+} -+ -+if [ -z "$INTERFACE" ]; then -+ echo "missing \$INTERFACE" >&2 -+ exit 1 -+fi -+ -+# Prevent concurrent processes from modifying the file at the same time. -+lock_rules_file -+ -+# Check if the rules file is writeable. -+choose_rules_file -+ -+# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces -+if [ "$MATCHADDR" ]; then -+ match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\"" -+fi -+ -+if [ "$MATCHDRV" ]; then -+ match="$match, DRIVERS==\"$MATCHDRV\"" -+fi -+ -+if [ "$MATCHDEVID" ]; then -+ match="$match, ATTR{dev_id}==\"$MATCHDEVID\"" -+fi -+ -+if [ "$MATCHID" ]; then -+ match="$match, KERNELS==\"$MATCHID\"" -+fi -+ -+if [ "$MATCHIFTYPE" ]; then -+ match="$match, ATTR{type}==\"$MATCHIFTYPE\"" -+fi -+ -+if [ -z "$match" ]; then -+ echo "missing valid match" >&2 -+ unlock_rules_file -+ exit 1 -+fi -+ -+basename=${INTERFACE%%[0-9]*} -+match="$match, KERNEL==\"$basename*\"" -+ -+if [ "$INTERFACE_NAME" ]; then -+ # external tools may request a custom name -+ COMMENT="$COMMENT (custom name provided by external tool)" -+ if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then -+ INTERFACE=$INTERFACE_NAME; -+ echo "INTERFACE_NEW=$INTERFACE" -+ fi -+else -+ # if a rule using the current name already exists, find a new name -+ if interface_name_taken; then -+ INTERFACE="$basename$(find_next_available "$basename[0-9]*")" -+ # prevent INTERFACE from being "eth" instead of "eth0" -+ [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0 -+ echo "INTERFACE_NEW=$INTERFACE" -+ fi -+fi -+ -+write_rule "$match" "$INTERFACE" "$COMMENT" -+ -+unlock_rules_file -+ -+exit 0 diff --git a/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch b/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch deleted file mode 100644 index d26c49c0..00000000 --- a/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules -+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules -@@ -68,7 +68,8 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob - ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" - - # match interface dev_id --ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" -+# disable due to bnc#882714 -+# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" - - # do not use "locally administered" MAC address - ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" diff --git a/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch b/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch deleted file mode 100644 index e203d8d3..00000000 --- a/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules -+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules -@@ -68,8 +68,9 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob - ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist" - - # match interface dev_id --# disable due to bnc#882714 --# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" -+# HACK: for s390x, if layer2 == 0, dont use dev_id -+ENV{LAYER2}="1", TEST=="device/layer2", ENV{LAYER2}="$attr{device/layer2}" -+ENV{LAYER2}!="0", ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}" - - # do not use "locally administered" MAC address - ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}="" diff --git a/1046-fix-duplicated-rules-with-layer3-interfaces.patch b/1046-fix-duplicated-rules-with-layer3-interfaces.patch deleted file mode 100644 index 47445a83..00000000 --- a/1046-fix-duplicated-rules-with-layer3-interfaces.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/write_net_rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/write_net_rules -+++ systemd-210/src/udev/rule_generator/write_net_rules -@@ -101,6 +101,11 @@ if [ "$MATCHDEVID" ]; then - fi - - if [ "$MATCHID" ]; then -+ ID="$(find_all_rules 'KERNELS==' "$MATCHID")" -+ if [ "$ID" == "$MATCHID" ]; then -+ unlock_rules_file -+ exit 0 -+ fi - match="$match, KERNELS==\"$MATCHID\"" - fi - diff --git a/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch b/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch deleted file mode 100644 index 5a89f11c..00000000 --- a/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules -+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -@@ -4,6 +4,7 @@ - - ACTION=="remove", GOTO="net-sriov-names_end" - SUBSYSTEM!="net", GOTO="net-sriov-names_end" -+KERNEL!="eth*", GOTO="net-sriov-names_end" - - IMPORT{cmdline}="net.ifnames" - ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" diff --git a/1051-check-if-NAME-has-a-value.patch b/1051-check-if-NAME-has-a-value.patch deleted file mode 100644 index 3ea5f800..00000000 --- a/1051-check-if-NAME-has-a-value.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules -+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -@@ -5,6 +5,7 @@ - ACTION=="remove", GOTO="net-sriov-names_end" - SUBSYSTEM!="net", GOTO="net-sriov-names_end" - KERNEL!="eth*", GOTO="net-sriov-names_end" -+NAME=="?*", GOTO="net-sriov-names_end" - - IMPORT{cmdline}="net.ifnames" - ENV{net.ifnames}=="1", GOTO="net-sriov-names_end" diff --git a/1053-better-checks-in-write_net_rules.patch b/1053-better-checks-in-write_net_rules.patch deleted file mode 100644 index 5fa8076d..00000000 --- a/1053-better-checks-in-write_net_rules.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/write_net_rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/write_net_rules -+++ systemd-210/src/udev/rule_generator/write_net_rules -@@ -89,6 +89,12 @@ choose_rules_file - - # the DRIVERS key is needed to not match bridges and VLAN sub-interfaces - if [ "$MATCHADDR" ]; then -+ # Check if MACADDR doesn't exist already in the generated rules -+ MAC="$(/usr/bin/grep -w -o -C1 -m1 "$MATCHADDR" "$RULES_FILE" 2>/dev/null || true)" -+ if [ "$MAC" = "$MATCHADDR" ]; then -+ unlock_rules_file -+ exit 0 -+ fi - match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\"" - fi - -@@ -101,8 +107,9 @@ if [ "$MATCHDEVID" ]; then - fi - - if [ "$MATCHID" ]; then -- ID="$(find_all_rules 'KERNELS==' "$MATCHID")" -- if [ "$ID" == "$MATCHID" ]; then -+ # Check if KERNEL doesn't exist already in the generated rules -+ KERNEL="$(find_all_rules 'KERNELS==' "$MATCHID")" -+ if [ "$KERNEL" = "$MATCHID" ]; then - unlock_rules_file - exit 0 - fi diff --git a/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch b/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch deleted file mode 100644 index 8a108af0..00000000 --- a/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +++ /dev/null @@ -1,26 +0,0 @@ -Exist only to be able to apply the patch -1056-udevd-add-event-timeout-commandline-option.patch -without the BLKRRPART ioctl patches. - ---- systemd-210/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c 2014-07-30 11:52:34.318235685 +0000 -@@ -1311,16 +1311,16 @@ int main(int argc, char *argv[]) - if (worker->state != WORKER_RUNNING) - continue; - -- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { -+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) { - log_error("worker [%u] %s timeout; kill it", worker->pid, - worker->event ? worker->event->devpath : ""); - kill(worker->pid, SIGKILL); - worker->state = WORKER_KILLED; -+ - /* drop reference taken for state 'running' */ - worker_unref(worker); - if (worker->event) { -- log_error("seq %llu '%s' killed", -- udev_device_get_seqnum(worker->event->dev), worker->event->devpath); -+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); - worker->event->exitcode = -64; - event_queue_delete(worker->event, true); - worker->event = NULL; diff --git a/1088-drop-renaming-of-virtual-interfaces-in-guest.patch b/1088-drop-renaming-of-virtual-interfaces-in-guest.patch deleted file mode 100644 index a25861cd..00000000 --- a/1088-drop-renaming-of-virtual-interfaces-in-guest.patch +++ /dev/null @@ -1,11 +0,0 @@ -Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -=================================================================== ---- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules -+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules -@@ -15,6 +15,5 @@ SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACT - - # rename interface if needed - ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}" --ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}" - - LABEL="net-sriov-names_end" diff --git a/1098-systemd-networkd-alias-network-service.patch b/1098-systemd-networkd-alias-network-service.patch new file mode 100644 index 00000000..92afb327 --- /dev/null +++ b/1098-systemd-networkd-alias-network-service.patch @@ -0,0 +1,10 @@ +Index: systemd-219/units/systemd-networkd.service.in +=================================================================== +--- systemd-219.orig/units/systemd-networkd.service.in ++++ systemd-219/units/systemd-networkd.service.in +@@ -29,4 +29,5 @@ WatchdogSec=1min + + [Install] + WantedBy=multi-user.target ++Alias=network.service + Also=systemd-networkd.socket diff --git a/baselibs.conf b/baselibs.conf index 2738ae81..7ed6abac 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -5,7 +5,6 @@ systemd # postun "if [ "$1" == "0" ]; then" # postun "%{_sbindir}/pam-config -d --systemd || :" # postun "fi" -libudev0 libgudev-1_0-0 libudev1 nss-myhostname diff --git a/systemd-mini.changes b/systemd-mini.changes index 3c1a26a7..a469ea14 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de + +- Remove libudev0 from baselibs.conf + +------------------------------------------------------------------- +Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de + +- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch + as now upstream code +- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix + bsc#933365 and boo#934077 + +------------------------------------------------------------------- +Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com + +- Add 1098-systemd-networkd-alias-network-service.patch to alias + network.service the same way NetworkManager and wicked does. + This is needed by yast2 and other parts of the system. boo#933092 + +------------------------------------------------------------------- +Mon May 18 14:39:47 UTC 2015 - werner@suse.de + +- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use + the new return values of proc_cmdline() in enable_name_policy() + this should fix boo#931165 + +------------------------------------------------------------------- +Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de + +- Drop 1021-udev-re-add-persistent-net-rules.patch, + 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, + 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, + 1046-fix-duplicated-rules-with-layer3-interfaces.patch, + 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, + 1051-check-if-NAME-has-a-value.patch, + 1053-better-checks-in-write_net_rules.patch, + 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. + 1021 originally broke parsing of net.ifnames=0 [bnc#931165], + and given that neither the kernel command line needs to be + touched nor the source be patched to reach the unpredictable + naming setup for SLE, all these parts are moved to a separate + package. + ------------------------------------------------------------------- Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de @@ -1524,7 +1568,7 @@ Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch 0007-service-flush-status-text-and-errno-values-each-time.patch ------------------------------------------------------------------- +------------------------------------------------------------------- Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de - Add upstream patch @@ -2366,7 +2410,7 @@ Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de make sure that systemd can talk with dbus-daemon even on big endian systems (bnc#866732) ------------------------------------------------------------------ +------------------------------------------------------------------- Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com - Due to previous reason, resurrect systemd-dbus-system-bus-address.patch @@ -2374,7 +2418,7 @@ Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com needed for quering default DBus directories, which we nowpass to configure. This also unbreaks libdbus <-> systemd-miniBuild Cycle ------------------------------------------------------------------ +------------------------------------------------------------------- Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de - Add or port upstream bugfix patches: @@ -2858,6 +2902,7 @@ Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de unmounted before the interface is down (bnc#861489) +------------------------------------------------------------------- +------------------------------------------------------------------- Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de - enable compat-libs, BuildRequires binutils-gold diff --git a/systemd-mini.spec b/systemd-mini.spec index 95168d8f..88c4728f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -254,6 +254,8 @@ Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch Patch522: 0001-core-rework-device-state-logic.patch +# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM +Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch # UDEV PATCHES # ============ @@ -281,40 +283,24 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch -Patch1021: 1021-udev-re-add-persistent-net-rules.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch -Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) -Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch -# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) -Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch -# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) -Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch -# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) -Patch1051: 1051-check-if-NAME-has-a-value.patch -# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) -Patch1053: 1053-better-checks-in-write_net_rules.patch -# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch -Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) -Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch +# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch +Patch1098: 1098-systemd-networkd-alias-network-service.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -622,6 +608,7 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 +%patch523 -p1 # udev patches %patch1001 -p1 @@ -633,28 +620,17 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%patch1021 -p1 %patch1035 -p1 -%patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1040 -p1 -%patch1046 -p1 -%patch1050 -p1 -%patch1051 -p1 -%patch1053 -p1 -%if %{with blkrrpart} -%else -%patch1055 -p1 -%endif %patch1060 -p1 %patch1062 -p1 %patch1066 -p1 -%patch1088 -p1 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 +%patch1098 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -724,10 +700,6 @@ export LDFLAGS CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" - for rules in 75-persistent-net-generator 76-net-sriov-names - do - sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules - done %endif cflags -pipe CFLAGS cflags -Wl,-O2 LDFLAGS @@ -1491,10 +1463,7 @@ exit 0 %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/udev-generate-persistent-rule -%{_prefix}/lib/udev/net-set-sriov-names %{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rule_generator.functions -%{_prefix}/lib/udev/write_net_rules %{_prefix}/lib/udev/rootsymlink-generator %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules diff --git a/systemd.changes b/systemd.changes index 3c1a26a7..a469ea14 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de + +- Remove libudev0 from baselibs.conf + +------------------------------------------------------------------- +Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de + +- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch + as now upstream code +- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix + bsc#933365 and boo#934077 + +------------------------------------------------------------------- +Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com + +- Add 1098-systemd-networkd-alias-network-service.patch to alias + network.service the same way NetworkManager and wicked does. + This is needed by yast2 and other parts of the system. boo#933092 + +------------------------------------------------------------------- +Mon May 18 14:39:47 UTC 2015 - werner@suse.de + +- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use + the new return values of proc_cmdline() in enable_name_policy() + this should fix boo#931165 + +------------------------------------------------------------------- +Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de + +- Drop 1021-udev-re-add-persistent-net-rules.patch, + 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, + 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, + 1046-fix-duplicated-rules-with-layer3-interfaces.patch, + 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, + 1051-check-if-NAME-has-a-value.patch, + 1053-better-checks-in-write_net_rules.patch, + 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. + 1021 originally broke parsing of net.ifnames=0 [bnc#931165], + and given that neither the kernel command line needs to be + touched nor the source be patched to reach the unpredictable + naming setup for SLE, all these parts are moved to a separate + package. + ------------------------------------------------------------------- Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de @@ -1524,7 +1568,7 @@ Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch 0007-service-flush-status-text-and-errno-values-each-time.patch ------------------------------------------------------------------- +------------------------------------------------------------------- Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de - Add upstream patch @@ -2366,7 +2410,7 @@ Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de make sure that systemd can talk with dbus-daemon even on big endian systems (bnc#866732) ------------------------------------------------------------------ +------------------------------------------------------------------- Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com - Due to previous reason, resurrect systemd-dbus-system-bus-address.patch @@ -2374,7 +2418,7 @@ Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com needed for quering default DBus directories, which we nowpass to configure. This also unbreaks libdbus <-> systemd-miniBuild Cycle ------------------------------------------------------------------ +------------------------------------------------------------------- Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de - Add or port upstream bugfix patches: @@ -2858,6 +2902,7 @@ Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de unmounted before the interface is down (bnc#861489) +------------------------------------------------------------------- +------------------------------------------------------------------- Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de - enable compat-libs, BuildRequires binutils-gold diff --git a/systemd.spec b/systemd.spec index 76876ece..8fbaa905 100644 --- a/systemd.spec +++ b/systemd.spec @@ -249,6 +249,8 @@ Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch Patch522: 0001-core-rework-device-state-logic.patch +# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM +Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch # UDEV PATCHES # ============ @@ -276,40 +278,24 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch -# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch -Patch1021: 1021-udev-re-add-persistent-net-rules.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch -Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714) -Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch -# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714) -Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch -# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232) -Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch -# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232) -Patch1051: 1051-check-if-NAME-has-a-value.patch -# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178) -Patch1053: 1053-better-checks-in-write_net_rules.patch -# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch -Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch # PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432) -Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch # PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch # PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch Patch1096: 1096-new-udev-root-symlink-generator.patch # PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch +# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch +Patch1098: 1098-systemd-networkd-alias-network-service.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -617,6 +603,7 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 +%patch523 -p1 # udev patches %patch1001 -p1 @@ -628,28 +615,17 @@ cp %{SOURCE7} m4/ %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 -%patch1021 -p1 %patch1035 -p1 -%patch1036 -p1 %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1040 -p1 -%patch1046 -p1 -%patch1050 -p1 -%patch1051 -p1 -%patch1053 -p1 -%if %{with blkrrpart} -%else -%patch1055 -p1 -%endif %patch1060 -p1 %patch1062 -p1 %patch1066 -p1 -%patch1088 -p1 %patch1095 -p1 %patch1096 -p1 %patch1097 -p1 +%patch1098 -p1 # remove patch backups find -name '*.orig' -exec rm -f '{}' \+ @@ -719,10 +695,6 @@ export LDFLAGS CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" - for rules in 75-persistent-net-generator 76-net-sriov-names - do - sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules - done %endif cflags -pipe CFLAGS cflags -Wl,-O2 LDFLAGS @@ -1486,10 +1458,7 @@ exit 0 %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/udev-generate-persistent-rule -%{_prefix}/lib/udev/net-set-sriov-names %{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rule_generator.functions -%{_prefix}/lib/udev/write_net_rules %{_prefix}/lib/udev/rootsymlink-generator %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules From 6f28c05795e910b0395cdcc015728c0efa5cf93bfab69d0fff579f6beae89843 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 25 Sep 2015 06:51:59 +0000 Subject: [PATCH 216/991] osc copypac from project:openSUSE:Factory:Staging:J package:systemd revision:2, using expand OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=222 --- systemd-bfo88401.patch | 135 +++++++++++++++++++++++++++++++++++++++++ systemd-mini.changes | 5 ++ systemd-mini.spec | 4 +- systemd.changes | 5 ++ systemd.spec | 4 +- 5 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 systemd-bfo88401.patch diff --git a/systemd-bfo88401.patch b/systemd-bfo88401.patch new file mode 100644 index 00000000..c2733d67 --- /dev/null +++ b/systemd-bfo88401.patch @@ -0,0 +1,135 @@ +From f78f265f405a61387c6c12a879ac0d6b6dc958db Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Apr 2015 16:04:50 +0200 +Subject: core: always coldplug units that are triggered by other units before + those + +Let's make sure that we don't enqueue triggering jobs for units before +those units are actually fully loaded. + +http://lists.freedesktop.org/archives/systemd-devel/2015-April/031176.html +https://bugs.freedesktop.org/show_bug.cgi?id=88401 + +diff --git a/src/core/unit.c b/src/core/unit.c +index 70a2b57..2b356e2 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -2876,13 +2876,32 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { + } + + int unit_coldplug(Unit *u) { ++ Unit *other; ++ Iterator i; + int r; + + assert(u); + +- if (UNIT_VTABLE(u)->coldplug) +- if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0) ++ /* Make sure we don't enter a loop, when coldplugging ++ * recursively. */ ++ if (u->coldplugged) ++ return 0; ++ ++ u->coldplugged = true; ++ ++ /* Make sure everything that we might pull in through ++ * triggering is coldplugged before us */ ++ SET_FOREACH(other, u->dependencies[UNIT_TRIGGERS], i) { ++ r = unit_coldplug(other); ++ if (r < 0) + return r; ++ } ++ ++ if (UNIT_VTABLE(u)->coldplug) { ++ r = UNIT_VTABLE(u)->coldplug(u); ++ if (r < 0) ++ return r; ++ } + + if (u->job) { + r = job_coldplug(u->job); +diff --git a/src/core/unit.h b/src/core/unit.h +index be306a0..1a44271 100644 +--- a/src/core/unit.h ++++ b/src/core/unit.h +@@ -104,6 +104,7 @@ struct Unit { + char *fragment_path; /* if loaded from a config file this is the primary path to it */ + char *source_path; /* if converted, the source file */ + char **dropin_paths; ++ + usec_t fragment_mtime; + usec_t source_mtime; + usec_t dropin_mtime; +@@ -233,6 +234,9 @@ struct Unit { + bool cgroup_realized:1; + bool cgroup_members_mask_valid:1; + bool cgroup_subtree_mask_valid:1; ++ ++ /* Did we already invoke unit_coldplug() for this unit? */ ++ bool coldplugged; + }; + + struct UnitStatusMessageFormats { +-- +cgit v0.10.2 + + +From 4370633083dd9453da183c468cf89cc17254ac39 Mon Sep 17 00:00:00 2001 +From: Ivan Shapovalov +Date: Mon, 27 Apr 2015 21:19:02 +0300 +Subject: core: coldplug all units which participate in jobs during + coldplugging + +This is yet another attempt to fix coldplugging order (more especially, +the problem which happens when one creates a job during coldplugging and +it references a not-yet-coldplugged unit). + +Now we forcibly coldplug all units which participate in jobs. This +is a superset of previously implemented handling of the UNIT_TRIGGERS +dependencies, so that handling is removed. + +http://lists.freedesktop.org/archives/systemd-devel/2015-April/031212.html +https://bugs.freedesktop.org/show_bug.cgi?id=88401 (once again) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 5974b1e..7b19e2f 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -848,6 +848,13 @@ int transaction_add_job_and_dependencies( + assert(type < _JOB_TYPE_MAX_IN_TRANSACTION); + assert(unit); + ++ /* Before adding jobs for this unit, let's ensure that its state has been loaded ++ * This matters when jobs are spawned as part of coldplugging itself (see e. g. path_coldplug()). ++ * This way, we "recursively" coldplug units, ensuring that we do not look at state of ++ * not-yet-coldplugged units. */ ++ if (unit->manager->n_reloading > 0) ++ unit_coldplug(unit); ++ + /* log_debug("Pulling in %s/%s from %s/%s", */ + /* unit->id, job_type_to_string(type), */ + /* by ? by->unit->id : "NA", */ +diff --git a/src/core/unit.c b/src/core/unit.c +index 496db6c..b7ab084 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -2893,14 +2893,6 @@ int unit_coldplug(Unit *u) { + + u->coldplugged = true; + +- /* Make sure everything that we might pull in through +- * triggering is coldplugged before us */ +- SET_FOREACH(other, u->dependencies[UNIT_TRIGGERS], i) { +- r = unit_coldplug(other); +- if (r < 0) +- return r; +- } +- + if (UNIT_VTABLE(u)->coldplug) { + r = UNIT_VTABLE(u)->coldplug(u); + if (r < 0) +-- +cgit v0.10.2 + + diff --git a/systemd-mini.changes b/systemd-mini.changes index a469ea14..21c45c47 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Sep 24 12:47:29 UTC 2015 - dimstar@opensuse.org + +- Add systemd-bfo88401.patch: do not restart services on coldplug. + ------------------------------------------------------------------- Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 88c4728f..4bf79010 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -256,6 +256,7 @@ Patch521: kbd-model-map.patch Patch522: 0001-core-rework-device-state-logic.patch # PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch +Patch524: systemd-bfo88401.patch # UDEV PATCHES # ============ @@ -609,6 +610,7 @@ cp %{SOURCE7} m4/ %patch521 -p1 %patch522 -p1 %patch523 -p1 +%patch524 -p1 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index a469ea14..21c45c47 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Sep 24 12:47:29 UTC 2015 - dimstar@opensuse.org + +- Add systemd-bfo88401.patch: do not restart services on coldplug. + ------------------------------------------------------------------- Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 8fbaa905..1827beb2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -251,6 +251,7 @@ Patch521: kbd-model-map.patch Patch522: 0001-core-rework-device-state-logic.patch # PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch +Patch524: systemd-bfo88401.patch # UDEV PATCHES # ============ @@ -604,6 +605,7 @@ cp %{SOURCE7} m4/ %patch521 -p1 %patch522 -p1 %patch523 -p1 +%patch524 -p1 # udev patches %patch1001 -p1 From a4023d0c3743bfbc6c53b0759bf0b183ebe045bc9b2a5e73f69fd7eaa60fa88a Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 27 Sep 2015 12:32:31 +0000 Subject: [PATCH 217/991] Accepting request 333777 from Base:System - Fix patch tty-ask-password-agent-on-console.patch not to crash away but enable it to ask on all devices of /dev/console - Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" waring occurring in %post - Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch to avoid broken virtual console mapping due stressed ioctl API for the virtual consoles (boo#904214) - Fix last change that is use the new name for udev packages in %pretrans. - restore usage of LUA in %pretrans. - Try to generate the systemd users and groups always in same order to avoid republish other packages (boo#944660) - cleanup specfile by removing commands that were dealing with systemd pre-generated files: we're now using systemd tarball generated directly from the git repo which doesn't contain any of these files. - there's no point in using LUA in %pretrans - Drop 0009-make-xsltproc-use-correct-ROFF-links.patch This patch was initialy added to workaround bsc#842844. But it appears that man(1) was fixed (included since 13.2 at least) to handle manual pages that consist only of a .so directive such as '.so '. - Change use-rndaddentropy-ioctl-to-load-random-seed.patch to make it work on big endian OBS-URL: https://build.opensuse.org/request/show/333777 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=223 --- ...some-boolean-survive-a-daemon-reload.patch | 69 -- ...s390_con3270_disable_ANSI_colour_esc.patch | 332 ++++--- ...sh-for-reboot-or-hddown-for-poweroff.patch | 24 +- ...network-device-after-NFS-mount-units.patch | 68 +- ...id-abort-due-timeout-at-user-service.patch | 12 +- 0001-bnc888612-logind-polkit-acpi.patch | 80 +- 0001-core-rework-device-state-logic.patch | 917 ------------------ ...systemctl-completion-ignore-at-names.patch | 10 +- ...XDG_RUNTIME_DIR_of_the_original_user.patch | 10 +- ...make-xsltproc-use-correct-ROFF-links.patch | 10 - ...t-install-sulogin-unit-with-poweroff.patch | 12 +- 0014-journald-with-journaling-FS.patch | 10 +- ...pletion-smart-to-be-able-to-redirect.patch | 70 +- ...enable-by_path-links-for-ata-devices.patch | 10 +- ...ate-by-id-scsi-links-for-ATA-devices.patch | 12 +- 1003-udev-netlink-null-rules.patch | 24 +- ...fault-links-for-primary-cd_dvd-drive.patch | 6 +- 1006-udev-always-rename-network.patch | 10 +- 1007-physical-hotplug-cpu-and-memory.patch | 39 +- ...kip-btrfs-check-if-devices-are-not-r.patch | 13 +- ...device-link-creation-on-multipath-de.patch | 19 +- 1013-no-runtime-PM-for-IBM-consoles.patch | 11 - ...-Ignore-devices-with-SYSTEMD_READY-0.patch | 23 +- ...dev-exclude-cd-dvd-from-block-device.patch | 12 +- ...r-target-name-for-btrfs-device-ready.patch | 6 +- ...fault-permissions-for-GenWQE-devices.patch | 14 +- ...lity-links-for-truncated-by-id-links.patch | 42 +- ...t-ssd-disk-to-use-deadline-scheduler.patch | 14 +- 1096-new-udev-root-symlink-generator.patch | 22 +- ...-increase-maximum-number-of-children.patch | 22 +- ...stemd-networkd-alias-network-service.patch | 12 +- Correct_assert_on_unexpected_error_code.patch | 19 + ...es-permissions-to-follow-openSUSE-po.patch | 8 +- ...-suspend-hibernate-calls-to-pm-utils.patch | 97 -- after-local.service | 1 - allow-multiple-sulogin-to-be-started.patch | 24 +- apply-ACL-for-nvidia-device-nodes.patch | 10 +- apply-ACL-for-nvidia-uvm-device-node.patch | 13 +- avoid-divide-by-zero-sigtrap.patch | 37 +- ...andom-hangs-on-timeouts-due-lost-cwd.patch | 10 +- baselibs.conf | 6 +- boot-local-start.patch | 11 +- ...assword-wall-starts-after-getty-tty1.patch | 6 +- ...rtname-is-set-as-hostname-bnc-820213.patch | 40 +- ...-boot-prefixed-initscript-bnc-746506.patch | 20 +- ...plock-and-compose_table-and-kbd_rate.patch | 186 ++-- ...lock-value-in-etc-sysconfig-keyboard.patch | 113 +-- ...lang-value-in-etc-sysconfig-language.patch | 10 +- hostname-NULL.patch | 13 + insserv-generator.patch | 44 +- journald-advice-about-use-of-memory.patch | 34 +- kbd-model-map.patch | 6 +- ...linker-find-libudev-for-libdevmapper.patch | 32 +- ...et-properties-only-once-to-copy-them.patch | 84 ++ ....service-conflict-with-syslog.socket.patch | 6 +- parse-crypttab-for-noauto-option.patch | 10 +- ...-quit-and-wait-for-emergency-service.patch | 33 +- portmap-wants-rpcbind-socket.patch | 10 +- pre_checkin.sh | 4 +- rescue-emergency-target-conflicts.patch | 17 +- respect-nfs-bg-option.patch | 12 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 20 +- set-and-use-default-logconsole.patch | 52 +- shut-up-rpmlint-on-var-log-journal.patch | 10 +- suse-sysv-bootd-support.diff | 41 +- ...ndle-boot-sysctl.conf-kernel_release.patch | 51 - systemctl-set-default-target.patch | 10 +- systemd-219.tar.xz | 3 - systemd-add-user-keep.patch | 49 +- systemd-bfo88401.patch | 135 --- systemd-dbus-system-bus-address.patch | 36 +- systemd-install-compat_pkgconfig-always.patch | 16 +- systemd-mini.changes | 267 ++++- systemd-mini.spec | 463 +++++---- systemd-pam_config.patch | 6 +- systemd-powerd-initctl-support.patch | 121 --- systemd-tmp-safe-defaults.patch | 6 +- systemd.changes | 267 ++++- systemd.spec | 461 +++++---- tomcat6-var-lock-subsys-legacy.patch | 8 +- tty-ask-password-agent-on-console.patch | 203 ++-- udev-generate-persistent-rule.sh | 498 ---------- ...addentropy-ioctl-to-load-random-seed.patch | 63 +- v224.tar.gz | 3 + vhangup-on-all-consoles.patch | 12 +- watch_resolv.conf_for_become_changed.patch | 26 +- 86 files changed, 2263 insertions(+), 3415 deletions(-) delete mode 100644 0001-Let-some-boolean-survive-a-daemon-reload.patch delete mode 100644 0001-core-rework-device-state-logic.patch delete mode 100644 0009-make-xsltproc-use-correct-ROFF-links.patch delete mode 100644 1013-no-runtime-PM-for-IBM-consoles.patch create mode 100644 Correct_assert_on_unexpected_error_code.patch delete mode 100644 Forward-suspend-hibernate-calls-to-pm-utils.patch create mode 100644 hostname-NULL.patch create mode 100644 let-vconsole-setup-get-properties-only-once-to-copy-them.patch delete mode 100644 sysctl-handle-boot-sysctl.conf-kernel_release.patch delete mode 100644 systemd-219.tar.xz delete mode 100644 systemd-bfo88401.patch delete mode 100644 systemd-powerd-initctl-support.patch delete mode 100644 udev-generate-persistent-rule.sh create mode 100644 v224.tar.gz diff --git a/0001-Let-some-boolean-survive-a-daemon-reload.patch b/0001-Let-some-boolean-survive-a-daemon-reload.patch deleted file mode 100644 index 6e7b7fb9..00000000 --- a/0001-Let-some-boolean-survive-a-daemon-reload.patch +++ /dev/null @@ -1,69 +0,0 @@ -Based on deff2d3e18e831d63bf98dd4114e4e35e41966e8 Mon Sep 17 00:00:00 2001 -From: Werner Fink -Date: Wed, 10 Jun 2015 10:47:13 +0200 -Subject: [PATCH] Let some boolean survive a daemon-reload - -Without the boolean bus_name_good services as well as cgroup_realized -for units a unit of Type=dbus and ExecReload sending SIGHUP to $MAINPID -will be terminated if systemd will be daemon reloaded. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746151 -https://bugs.freedesktop.org/show_bug.cgi?id=78311 -https://bugzilla.opensuse.org/show_bug.cgi?id=934077 ---- - src/core/service.c | 9 +++++++++ - src/core/unit.c | 11 +++++++++++ - 2 files changed, 20 insertions(+) - ---- systemd-219/src/core/service.c -+++ systemd-219/src/core/service.c 2015-06-11 12:24:36.769519910 +0000 -@@ -1920,6 +1920,7 @@ static int service_serialize(Unit *u, FI - unit_serialize_item_format(u, f, "main-pid", PID_FMT, s->main_pid); - - unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); -+ unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); - - if (s->status_text) - unit_serialize_item(u, f, "status-text", s->status_text); -@@ -2044,6 +2045,14 @@ static int service_deserialize_item(Unit - log_unit_debug(u->id, "Failed to parse main-pid-known value %s", value); - else - s->main_pid_known = b; -+ } else if (streq(key, "bus-name-good")) { -+ int b; -+ -+ b = parse_boolean(value); -+ if (b < 0) -+ log_unit_debug(u->id, "Failed to parse bus-name-good value %s", value); -+ else -+ s->bus_name_good = b; - } else if (streq(key, "status-text")) { - char *t; - ---- systemd-219/src/core/unit.c -+++ systemd-219/src/core/unit.c 2015-06-11 12:30:56.805519155 +0000 -@@ -2612,6 +2612,7 @@ int unit_serialize(Unit *u, FILE *f, FDS - - if (u->cgroup_path) - unit_serialize_item(u, f, "cgroup", u->cgroup_path); -+ unit_serialize_item(u, f, "cgroup-realized", yes_no(u->cgroup_realized)); - - if (serialize_jobs) { - if (u->job) { -@@ -2803,6 +2804,16 @@ int unit_deserialize(Unit *u, FILE *f, F - assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1); - - continue; -+ } else if (streq(l, "cgroup-realized")) { -+ int b; -+ -+ b = parse_boolean(v); -+ if (b < 0) -+ log_debug("Failed to parse cgroup-realized bool %s", v); -+ else -+ u->cgroup_realized = b; -+ -+ continue; - } - - if (unit_can_serialize(u)) { diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index ef656b99..9756786c 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,29 +1,183 @@ --- rules/99-systemd.rules.in | 2 + src/basic/terminal-util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- + src/basic/terminal-util.h | 1 src/core/manager.c | 24 ++++++++--- - src/shared/util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- - src/shared/util.h | 1 4 files changed, 116 insertions(+), 10 deletions(-) -Index: systemd/rules/99-systemd.rules.in +Index: systemd-221/rules/99-systemd.rules.in =================================================================== ---- systemd.orig/rules/99-systemd.rules.in -+++ systemd/rules/99-systemd.rules.in +--- systemd-221.orig/rules/99-systemd.rules.in ++++ systemd-221/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" -SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" -Index: systemd/src/core/manager.c + SUBSYSTEM=="block", TAG+="systemd" +Index: systemd-221/src/basic/terminal-util.c =================================================================== ---- systemd.orig/src/core/manager.c -+++ systemd/src/core/manager.c -@@ -113,7 +113,7 @@ static int manager_watch_jobs_in_progres +--- systemd-221.orig/src/basic/terminal-util.c ++++ systemd-221/src/basic/terminal-util.c +@@ -647,6 +647,7 @@ int status_vprintf(const char *status, b + struct iovec iovec[6] = {}; + int n = 0; + static bool prev_ephemeral; ++ static int is_ansi_console = -1; + + assert(format); + +@@ -660,6 +661,41 @@ int status_vprintf(const char *status, b + if (fd < 0) + return fd; + ++ if (_unlikely_(is_ansi_console < 0)) ++ is_ansi_console = ansi_console(fd); ++ ++ if (status && !is_ansi_console) { ++ const char *esc, *ptr; ++ esc = strchr(status, 0x1B); ++ if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { ++ switch(*ptr) { ++ case 'S': ++ status = " SKIP "; ++ break; ++ case 'O': ++ status = " OK "; ++ break; ++ case 'F': ++ status = "FAILED"; ++ break; ++ case 'D': ++ status = "DEPEND"; ++ break; ++ case 'T': ++ status = " TIME "; ++ break; ++ case 'I': ++ status = " INFO "; ++ break; ++ case '*': ++ status = " BUSY "; ++ break; ++ default: ++ break; ++ } ++ } ++ } ++ + if (ellipse) { + char *e; + size_t emax, sl; +@@ -682,8 +718,12 @@ int status_vprintf(const char *status, b + } + } + +- if (prev_ephemeral) +- IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); ++ if (prev_ephemeral) { ++ if (is_ansi_console) ++ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); ++ else ++ IOVEC_SET_STRING(iovec[n++], "\r"); ++ } + prev_ephemeral = ephemeral; + + if (status) { +@@ -807,10 +847,47 @@ bool tty_is_vc_resolve(const char *tty) + return tty_is_vc(tty); + } + ++bool ansi_console(int fd) { ++ static int cached_ansi_console = -1; ++ ++ if (_likely_(cached_ansi_console >= 0)) ++ return cached_ansi_console; ++ ++ cached_ansi_console = isatty(fd) > 0; ++#if defined(__s390__) || defined(__s390x__) ++ if (cached_ansi_console) { ++ const char *e = getenv("TERM"); ++ if (e != NULL && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { ++ _cleanup_free_ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, ++ "conmode", &mode, NULL); ++ if (r < 0 || mode == NULL || !streq(mode, "3270")) ++ cached_ansi_console = 0; ++ } ++ } ++#endif ++ return cached_ansi_console; ++} ++ + const char *default_term_for_tty(const char *tty) { + assert(tty); + +- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; ++ if (tty_is_vc_resolve(tty)) ++ return "TERM=linux"; ++ if (startswith(tty, "/dev/")) ++ tty += 5; ++#if defined (__s390__) || defined (__s390x__) ++ if (streq(tty, "ttyS0")) { ++ _cleanup_free_ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", ++ &mode, NULL); ++ if (r < 0 || mode == NULL || !streq(mode, "3270")) ++ return "TERM=dumb"; ++ if (streq(mode, "3270")) ++ return "TERM=ibm327x"; ++ } ++#endif ++ return "TERM=vt220"; + } + + int fd_columns(int fd) { +@@ -890,8 +967,22 @@ void columns_lines_cache_reset(int signu + bool on_tty(void) { + static int cached_on_tty = -1; + +- if (_unlikely_(cached_on_tty < 0)) ++ if (_unlikely_(cached_on_tty < 0)) { + cached_on_tty = isatty(STDOUT_FILENO) > 0; ++#if defined (__s390__) || defined (__s390x__) ++ if (cached_on_tty) { ++ const char *e = getenv("TERM"); ++ if (!e) ++ return cached_on_tty; ++ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { ++ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); ++ if (r < 0 || !mode || !streq(mode, "3270")) ++ cached_on_tty = 0; ++ } ++ } ++#endif ++ } + + return cached_on_tty; + } +Index: systemd-221/src/basic/terminal-util.h +=================================================================== +--- systemd-221.orig/src/basic/terminal-util.h ++++ systemd-221/src/basic/terminal-util.h +@@ -77,6 +77,7 @@ unsigned lines(void); + void columns_lines_cache_reset(int _unused_ signum); + + bool on_tty(void); ++bool ansi_console(int fd); + + static inline const char *ansi_highlight(void) { + return on_tty() ? ANSI_HIGHLIGHT_ON : ""; +Index: systemd-221/src/core/manager.c +=================================================================== +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -113,7 +113,7 @@ static void manager_watch_jobs_in_progre #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) @@ -89,161 +243,3 @@ Index: systemd/src/core/manager.c m->jobs_in_progress_iteration++; -Index: systemd/src/shared/util.c -=================================================================== ---- systemd.orig/src/shared/util.c -+++ systemd/src/shared/util.c -@@ -3212,6 +3212,7 @@ int status_vprintf(const char *status, b - struct iovec iovec[6] = {}; - int n = 0; - static bool prev_ephemeral; -+ static int is_ansi_console = -1; - - assert(format); - -@@ -3225,6 +3226,41 @@ int status_vprintf(const char *status, b - if (fd < 0) - return fd; - -+ if (_unlikely_(is_ansi_console < 0)) -+ is_ansi_console = ansi_console(fd); -+ -+ if (status && !is_ansi_console) { -+ const char *esc, *ptr; -+ esc = strchr(status, 0x1B); -+ if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { -+ switch(*ptr) { -+ case 'S': -+ status = " SKIP "; -+ break; -+ case 'O': -+ status = " OK "; -+ break; -+ case 'F': -+ status = "FAILED"; -+ break; -+ case 'D': -+ status = "DEPEND"; -+ break; -+ case 'T': -+ status = " TIME "; -+ break; -+ case 'I': -+ status = " INFO "; -+ break; -+ case '*': -+ status = " BUSY "; -+ break; -+ default: -+ break; -+ } -+ } -+ } -+ - if (ellipse) { - char *e; - size_t emax, sl; -@@ -3247,8 +3283,12 @@ int status_vprintf(const char *status, b - } - } - -- if (prev_ephemeral) -- IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); -+ if (prev_ephemeral) { -+ if (is_ansi_console) -+ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); -+ else -+ IOVEC_SET_STRING(iovec[n++], "\r"); -+ } - prev_ephemeral = ephemeral; - - if (status) { -@@ -3504,8 +3544,22 @@ void columns_lines_cache_reset(int signu - bool on_tty(void) { - static int cached_on_tty = -1; - -- if (_unlikely_(cached_on_tty < 0)) -+ if (_unlikely_(cached_on_tty < 0)) { - cached_on_tty = isatty(STDOUT_FILENO) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_on_tty) { -+ const char *e = getenv("TERM"); -+ if (!e) -+ return cached_on_tty; -+ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_on_tty = 0; -+ } -+ } -+#endif -+ } - - return cached_on_tty; - } -@@ -3523,6 +3577,27 @@ int files_same(const char *filea, const - a.st_ino == b.st_ino; - } - -+bool ansi_console(int fd) { -+ static int cached_ansi_console = -1; -+ -+ if (_unlikely_(cached_ansi_console < 0)) { -+ cached_ansi_console = isatty(fd) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_ansi_console) { -+ const char *e = getenv("TERM"); -+ if (e && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_ansi_console = 0; -+ } -+ } -+#endif -+ } -+ -+ return cached_ansi_console; -+} -+ - int running_in_chroot(void) { - int ret; - -@@ -4006,7 +4081,23 @@ bool tty_is_vc_resolve(const char *tty) - const char *default_term_for_tty(const char *tty) { - assert(tty); - -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; -+ if (tty_is_vc_resolve(tty)) -+ return "TERM=linux"; -+ -+ if (startswith(tty, "/dev/")) -+ tty += 5; -+ -+#if defined (__s390__) || defined (__s390x__) -+ if (streq(tty, "ttyS0")) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ return "TERM=dumb"; -+ if (streq(mode, "3270")) -+ return "TERM=ibm327x"; -+ } -+#endif -+ return "TERM=vt220"; - } - - bool dirent_is_file(const struct dirent *de) { -Index: systemd/src/shared/util.h -=================================================================== ---- systemd.orig/src/shared/util.h -+++ systemd/src/shared/util.h -@@ -475,6 +475,7 @@ unsigned lines(void); - void columns_lines_cache_reset(int _unused_ signum); - - bool on_tty(void); -+bool ansi_console(int fd); - - static inline const char *ansi_highlight(void) { - return on_tty() ? ANSI_HIGHLIGHT_ON : ""; diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index d6b6fa3a..ea7eeafa 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -3,11 +3,11 @@ src/systemctl/systemctl.c | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) -Index: systemd-218/src/core/shutdown.c +Index: systemd-221/src/core/shutdown.c =================================================================== ---- systemd-218.orig/src/core/shutdown.c -+++ systemd-218/src/core/shutdown.c -@@ -400,6 +400,10 @@ int main(int argc, char *argv[]) { +--- systemd-221.orig/src/core/shutdown.c ++++ systemd-221/src/core/shutdown.c +@@ -396,6 +396,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -18,11 +18,11 @@ Index: systemd-218/src/core/shutdown.c if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-218/src/systemctl/systemctl.c +Index: systemd-221/src/systemctl/systemctl.c =================================================================== ---- systemd-218.orig/src/systemctl/systemctl.c -+++ systemd-218/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; +--- systemd-221.orig/src/systemctl/systemctl.c ++++ systemd-221/src/systemctl/systemctl.c +@@ -93,6 +93,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -30,7 +30,7 @@ Index: systemd-218/src/systemctl/systemctl.c static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -6813,6 +6814,7 @@ static int halt_parse_argv(int argc, cha +@@ -6636,6 +6637,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -38,7 +38,7 @@ Index: systemd-218/src/systemctl/systemctl.c { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -6865,10 +6867,13 @@ static int halt_parse_argv(int argc, cha +@@ -6688,10 +6690,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -53,7 +53,7 @@ Index: systemd-218/src/systemctl/systemctl.c case '?': return -EINVAL; -@@ -7511,7 +7516,8 @@ static int halt_now(enum action a) { +@@ -7291,7 +7296,8 @@ static int halt_now(enum action a) { /* The kernel will automaticall flush ATA disks and suchlike * on reboot(), but the file systems need to be synce'd * explicitly in advance. */ @@ -63,7 +63,7 @@ Index: systemd-218/src/systemctl/systemctl.c /* Make sure C-A-D is handled by the kernel from this point * on... */ -@@ -7519,14 +7525,14 @@ static int halt_now(enum action a) { +@@ -7299,14 +7305,14 @@ static int halt_now(enum action a) { switch (a) { diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index eb070d64..955314ff 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -5,17 +5,17 @@ NFS share is added as "After=" dependency to the .mount. --- Makefile.am | 2 + src/basic/util.c | 1 src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ src/core/mount-iface.h | 25 +++++++ src/core/mount.c | 35 +++++++++ - src/shared/util.c | 1 5 files changed, 234 insertions(+), 2 deletions(-) -Index: systemd-218/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -1134,6 +1134,8 @@ libsystemd_core_la_SOURCES = \ +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -1164,6 +1164,8 @@ libcore_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ @@ -24,10 +24,22 @@ Index: systemd-218/Makefile.am src/core/kmod-setup.c \ src/core/kmod-setup.h \ src/core/loopback-setup.h \ -Index: systemd-218/src/core/mount-iface.c +Index: systemd-221/src/basic/util.c +=================================================================== +--- systemd-221.orig/src/basic/util.c ++++ systemd-221/src/basic/util.c +@@ -1478,6 +1478,7 @@ bool fstype_is_network(const char *fstyp + "ncp\0" + "nfs\0" + "nfs4\0" ++ "afs\0" + "gfs\0" + "gfs2\0" + "glusterfs\0"; +Index: systemd-221/src/core/mount-iface.c =================================================================== --- /dev/null -+++ systemd-218/src/core/mount-iface.c ++++ systemd-221/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -202,10 +214,10 @@ Index: systemd-218/src/core/mount-iface.c + freeifaddrs(ifa_list); + ifa_list = NULL; +} -Index: systemd-218/src/core/mount-iface.h +Index: systemd-221/src/core/mount-iface.h =================================================================== --- /dev/null -+++ systemd-218/src/core/mount-iface.h ++++ systemd-221/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -232,11 +244,11 @@ Index: systemd-218/src/core/mount-iface.h + +char *host2iface(const char *ip); +void freeroutes(void); -Index: systemd-218/src/core/mount.c +Index: systemd-221/src/core/mount.c =================================================================== ---- systemd-218.orig/src/core/mount.c -+++ systemd-218/src/core/mount.c -@@ -38,6 +38,7 @@ +--- systemd-221.orig/src/core/mount.c ++++ systemd-221/src/core/mount.c +@@ -35,6 +35,7 @@ #include "mkdir.h" #include "path-util.h" #include "mount-setup.h" @@ -244,7 +256,7 @@ Index: systemd-218/src/core/mount.c #include "unit-name.h" #include "dbus-mount.h" #include "special.h" -@@ -1365,8 +1366,9 @@ static int mount_add_one( +@@ -1332,8 +1333,9 @@ static int mount_setup_unit( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -255,17 +267,17 @@ Index: systemd-218/src/core/mount.c int r; assert(m); -@@ -1391,6 +1393,8 @@ static int mount_add_one( - if (!e) - return -ENOMEM; +@@ -1358,6 +1360,8 @@ static int mount_setup_unit( + if (r < 0) + return r; + isnetwork = fstype_is_network(fstype); + u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1419,7 +1423,7 @@ static int mount_add_one( - if (m->running_as == SYSTEMD_SYSTEM) { +@@ -1385,7 +1389,7 @@ static int mount_setup_unit( + if (m->running_as == MANAGER_SYSTEM) { const char* target; - target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; @@ -273,7 +285,7 @@ Index: systemd-218/src/core/mount.c r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) goto fail; -@@ -1505,6 +1509,32 @@ static int mount_add_one( +@@ -1471,6 +1475,32 @@ static int mount_setup_unit( goto fail; } @@ -296,7 +308,7 @@ Index: systemd-218/src/core/mount.c + else { + r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); + if (r < 0) -+ log_unit_error(u->id, "Failed to add dependency on %s, ignoring: %s", ++ log_unit_error(u, "Failed to add dependency on %s, ignoring: %s", + target, strerror(-r)); + } + } @@ -306,7 +318,7 @@ Index: systemd-218/src/core/mount.c if (changed) unit_add_to_dbus_queue(u); -@@ -1560,6 +1590,7 @@ static int mount_load_proc_self_mountinf +@@ -1537,6 +1567,7 @@ static int mount_load_proc_self_mountinf if (r == 0 && k < 0) r = k; } @@ -314,15 +326,3 @@ Index: systemd-218/src/core/mount.c return r; } -Index: systemd-218/src/shared/util.c -=================================================================== ---- systemd-218.orig/src/shared/util.c -+++ systemd-218/src/shared/util.c -@@ -1667,6 +1667,7 @@ bool fstype_is_network(const char *fstyp - "ncp\0" - "nfs\0" - "nfs4\0" -+ "afs\0" - "gfs\0" - "gfs2\0" - "glusterfs\0"; diff --git a/0001-avoid-abort-due-timeout-at-user-service.patch b/0001-avoid-abort-due-timeout-at-user-service.patch index e441beb2..af7fed5d 100644 --- a/0001-avoid-abort-due-timeout-at-user-service.patch +++ b/0001-avoid-abort-due-timeout-at-user-service.patch @@ -1,6 +1,12 @@ ---- systemd-209/src/login/logind-session.c -+++ systemd-209/src/login/logind-session.c 2014-02-28 12:12:14.762736079 +0000 -@@ -525,6 +525,12 @@ int session_start(Session *s) { +--- + src/login/logind-session.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +Index: systemd-221/src/login/logind-session.c +=================================================================== +--- systemd-221.orig/src/login/logind-session.c ++++ systemd-221/src/login/logind-session.c +@@ -548,6 +548,12 @@ int session_start(Session *s) { if (r < 0) return r; diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index 104339e0..505e1791 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -1,13 +1,13 @@ --- src/login/logind-action.c | 5 +++++ - src/login/logind-dbus.c | 20 ++++++++++++++++---- - 2 files changed, 21 insertions(+), 4 deletions(-) + src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- + 2 files changed, 28 insertions(+), 8 deletions(-) -Index: systemd-218/src/login/logind-action.c +Index: systemd-221/src/login/logind-action.c =================================================================== ---- systemd-218.orig/src/login/logind-action.c -+++ systemd-218/src/login/logind-action.c -@@ -83,6 +83,11 @@ int manager_handle_action( +--- systemd-221.orig/src/login/logind-action.c ++++ systemd-221/src/login/logind-action.c +@@ -85,6 +85,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ if (inhibit_key > 0) { @@ -19,57 +19,83 @@ Index: systemd-218/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-218/src/login/logind-dbus.c +Index: systemd-221/src/login/logind-dbus.c =================================================================== ---- systemd-218.orig/src/login/logind-dbus.c -+++ systemd-218/src/login/logind-dbus.c -@@ -1487,9 +1487,11 @@ static int method_do_shutdown_or_sleep( - sd_bus_error *error) { +--- systemd-221.orig/src/login/logind-dbus.c ++++ systemd-221/src/login/logind-dbus.c +@@ -1625,12 +1625,13 @@ static int verify_shutdown_creds( + const char *action, + const char *action_multiple_sessions, + const char *action_ignore_inhibit, +- sd_bus_error *error) { ++ sd_bus_error *error, const char *sleep_verb) { _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; - bool multiple_sessions, blocked; + bool multiple_sessions, blocked, shutdown_through_acpi; - int interactive, r; uid_t uid; -+ int fd; +- int r; ++ int r, fd; + struct stat buf; assert(m); assert(message); -@@ -1533,7 +1535,17 @@ static int method_do_shutdown_or_sleep( +@@ -1652,7 +1653,19 @@ static int verify_shutdown_creds( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); -- if (multiple_sessions) { +- if (multiple_sessions && action_multiple_sessions) { + fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); + if (fd >= 0) { -+ shutdown_through_acpi = ((fstat(fd,&buf) == 0) && (time(NULL) - buf.st_mtime <= 65) && !sleep_verb); ++ shutdown_through_acpi = fstat(fd, &buf) == 0 && ++ time(NULL) - buf.st_mtime <= 65 && ++ sleep_verb == NULL; + close(fd); + unlink ("/run/systemd/acpi-shutdown"); + } + else + shutdown_through_acpi = false; + -+ -+ if (multiple_sessions && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, &m->polkit_registry, error); ++ if (multiple_sessions && action_multiple_sessions && ++ !shutdown_through_acpi) { + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1541,7 +1553,7 @@ static int method_do_shutdown_or_sleep( +@@ -1660,7 +1673,7 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } -- if (blocked) { -+ if (blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, &m->polkit_registry, error); +- if (blocked && action_ignore_inhibit) { ++ if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1549,7 +1561,7 @@ static int method_do_shutdown_or_sleep( +@@ -1668,7 +1681,8 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } -- if (!multiple_sessions && !blocked) { -+ if (!multiple_sessions && !blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, &m->polkit_registry, error); +- if (!multiple_sessions && !blocked && action) { ++ if (!multiple_sessions && !blocked && action && ++ !shutdown_through_acpi) { + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; +@@ -1716,7 +1730,7 @@ static int method_do_shutdown_or_sleep( + } + + r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, +- action_ignore_inhibit, error); ++ action_ignore_inhibit, error, sleep_verb); + if (r != 0) + return r; + +@@ -1896,7 +1910,8 @@ static int method_schedule_shutdown(sd_b + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); + + r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, +- action, action_multiple_sessions, action_ignore_inhibit, error); ++ action, action_multiple_sessions, ++ action_ignore_inhibit, error, "UNUSED"); + if (r != 0) + return r; + diff --git a/0001-core-rework-device-state-logic.patch b/0001-core-rework-device-state-logic.patch deleted file mode 100644 index 0234602c..00000000 --- a/0001-core-rework-device-state-logic.patch +++ /dev/null @@ -1,917 +0,0 @@ -From 628c89cc68ab96fce2de7ebba5933725d147aecc Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 27 Feb 2015 21:55:08 +0100 -Subject: [PATCH] core: rework device state logic -References: https://bugzilla.redhat.com/show_bug.cgi?id=1196452 - -This change introduces a new state "tentative" for device units. Device -units are considered "plugged" when udev announced them, "dead" when -they are not available in the kernel, and "tentative" when they are -referenced in /proc/self/mountinfo or /proc/swaps but not (yet) -announced via udev. - -This should fix a race when device nodes (like loop devices) are created -and immediately mounted. Previously, systemd might end up seeing the -mount unit before the device, and would thus pull down the mount because -its BindTo dependency on the device would not be fulfilled. -=== -[The bug can be triggered by - cp -a /dev/sda1 (pick any source) /dev/xxx; mount /dev/xxx /mnt; - since "xxx" is a device udev does not know about even if it runs - and is race-free in the moment you are trying. - -jengelh] ---- - src/core/device.c | 368 +++++++++++++++++++++++++++++++++--------------------- - src/core/device.h | 14 ++- - src/core/mount.c | 46 ++++--- - src/core/swap.c | 32 +++-- - src/core/swap.h | 4 +- - src/core/unit.c | 1 - - 6 files changed, 285 insertions(+), 180 deletions(-) - -diff --git a/src/core/device.c b/src/core/device.c -index 2d983cc..e41ed41 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -34,7 +34,8 @@ - - static const UnitActiveState state_translation_table[_DEVICE_STATE_MAX] = { - [DEVICE_DEAD] = UNIT_INACTIVE, -- [DEVICE_PLUGGED] = UNIT_ACTIVE -+ [DEVICE_TENTATIVE] = UNIT_ACTIVATING, -+ [DEVICE_PLUGGED] = UNIT_ACTIVE, - }; - - static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata); -@@ -63,6 +64,41 @@ static void device_unset_sysfs(Device *d) { - d->sysfs = NULL; - } - -+static int device_set_sysfs(Device *d, const char *sysfs) { -+ Device *first; -+ char *copy; -+ int r; -+ -+ assert(d); -+ -+ if (streq_ptr(d->sysfs, sysfs)) -+ return 0; -+ -+ r = hashmap_ensure_allocated(&UNIT(d)->manager->devices_by_sysfs, &string_hash_ops); -+ if (r < 0) -+ return r; -+ -+ copy = strdup(sysfs); -+ if (!copy) -+ return -ENOMEM; -+ -+ device_unset_sysfs(d); -+ -+ first = hashmap_get(UNIT(d)->manager->devices_by_sysfs, sysfs); -+ LIST_PREPEND(same_sysfs, first, d); -+ -+ r = hashmap_replace(UNIT(d)->manager->devices_by_sysfs, copy, first); -+ if (r < 0) { -+ LIST_REMOVE(same_sysfs, first, d); -+ free(copy); -+ return r; -+ } -+ -+ d->sysfs = copy; -+ -+ return 0; -+} -+ - static void device_init(Unit *u) { - Device *d = DEVICE(u); - -@@ -110,8 +146,13 @@ static int device_coldplug(Unit *u) { - assert(d); - assert(d->state == DEVICE_DEAD); - -- if (d->sysfs) -+ if (d->found & DEVICE_FOUND_UDEV) -+ /* If udev says the device is around, it's around */ - device_set_state(d, DEVICE_PLUGGED); -+ else if (d->found != DEVICE_NOT_FOUND) -+ /* If a device is found in /proc/self/mountinfo or -+ * /proc/swaps, it's "tentatively" around. */ -+ device_set_state(d, DEVICE_TENTATIVE); - - return 0; - } -@@ -140,49 +181,9 @@ _pure_ static const char *device_sub_state_to_string(Unit *u) { - return device_state_to_string(DEVICE(u)->state); - } - --static int device_add_escaped_name(Unit *u, const char *dn) { -- _cleanup_free_ char *e = NULL; -- int r; -- -- assert(u); -- assert(dn); -- assert(dn[0] == '/'); -- -- e = unit_name_from_path(dn, ".device"); -- if (!e) -- return -ENOMEM; -- -- r = unit_add_name(u, e); -- if (r < 0 && r != -EEXIST) -- return r; -- -- return 0; --} -- --static int device_find_escape_name(Manager *m, const char *dn, Unit **_u) { -- _cleanup_free_ char *e = NULL; -- Unit *u; -- -- assert(m); -- assert(dn); -- assert(dn[0] == '/'); -- assert(_u); -- -- e = unit_name_from_path(dn, ".device"); -- if (!e) -- return -ENOMEM; -- -- u = manager_get_unit(m, e); -- if (u) { -- *_u = u; -- return 1; -- } -- -- return 0; --} -- --static int device_make_description(Unit *u, struct udev_device *dev, const char *path) { -+static int device_update_description(Unit *u, struct udev_device *dev, const char *path) { - const char *model; -+ int r; - - assert(u); - assert(dev); -@@ -207,13 +208,16 @@ static int device_make_description(Unit *u, struct udev_device *dev, const char - - j = strjoin(model, " ", label, NULL); - if (j) -- return unit_set_description(u, j); -- } -+ r = unit_set_description(u, j); -+ } else -+ r = unit_set_description(u, model); -+ } else -+ r = unit_set_description(u, path); - -- return unit_set_description(u, model); -- } -+ if (r < 0) -+ log_unit_error_errno(u->id, r, "Failed to set device description: %m"); - -- return unit_set_description(u, path); -+ return r; - } - - static int device_add_udev_wants(Unit *u, struct udev_device *dev) { -@@ -240,20 +244,20 @@ static int device_add_udev_wants(Unit *u, struct udev_device *dev) { - - n = unit_name_mangle(e, MANGLE_NOGLOB); - if (!n) -- return -ENOMEM; -+ return log_oom(); - - r = unit_add_dependency_by_name(u, UNIT_WANTS, n, NULL, true); - if (r < 0) -- return r; -+ return log_unit_error_errno(u->id, r, "Failed to add wants dependency: %m"); - } - if (!isempty(state)) -- log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", -- property, strna(udev_device_get_syspath(dev))); -+ log_unit_warning(u->id, "Property %s on %s has trailing garbage, ignoring.", property, strna(udev_device_get_syspath(dev))); - - return 0; - } - --static int device_update_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { -+static int device_setup_unit(Manager *m, struct udev_device *dev, const char *path, bool main) { -+ _cleanup_free_ char *e = NULL; - const char *sysfs; - Unit *u = NULL; - bool delete; -@@ -267,12 +271,18 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - if (!sysfs) - return 0; - -- r = device_find_escape_name(m, path, &u); -- if (r < 0) -- return r; -+ e = unit_name_from_path(path, ".device"); -+ if (!e) -+ return log_oom(); -+ -+ u = manager_get_unit(m, e); - -- if (u && DEVICE(u)->sysfs && !path_equal(DEVICE(u)->sysfs, sysfs)) -+ if (u && -+ DEVICE(u)->sysfs && -+ !path_equal(DEVICE(u)->sysfs, sysfs)) { -+ log_unit_error(u->id, "Device %s appeared twice with different sysfs paths %s and %s", e, DEVICE(u)->sysfs, sysfs); - return -EEXIST; -+ } - - if (!u) { - delete = true; -@@ -281,7 +291,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - if (!u) - return log_oom(); - -- r = device_add_escaped_name(u, path); -+ r = unit_add_name(u, e); - if (r < 0) - goto fail; - -@@ -293,37 +303,16 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - * actually been seen yet ->sysfs will not be - * initialized. Hence initialize it if necessary. */ - -- if (!DEVICE(u)->sysfs) { -- Device *first; -- -- DEVICE(u)->sysfs = strdup(sysfs); -- if (!DEVICE(u)->sysfs) { -- r = -ENOMEM; -- goto fail; -- } -- -- r = hashmap_ensure_allocated(&m->devices_by_sysfs, &string_hash_ops); -- if (r < 0) -- goto fail; -- -- first = hashmap_get(m->devices_by_sysfs, sysfs); -- LIST_PREPEND(same_sysfs, first, DEVICE(u)); -- -- r = hashmap_replace(m->devices_by_sysfs, DEVICE(u)->sysfs, first); -- if (r < 0) -- goto fail; -- } -- -- device_make_description(u, dev, path); -+ r = device_set_sysfs(DEVICE(u), sysfs); -+ if (r < 0) -+ goto fail; - -- if (main) { -- /* The additional systemd udev properties we only -- * interpret for the main object */ -+ (void) device_update_description(u, dev, path); - -- r = device_add_udev_wants(u, dev); -- if (r < 0) -- goto fail; -- } -+ /* The additional systemd udev properties we only interpret -+ * for the main object */ -+ if (main) -+ (void) device_add_udev_wants(u, dev); - - /* Note that this won't dispatch the load queue, the caller - * has to do that if needed and appropriate */ -@@ -332,7 +321,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p - return 0; - - fail: -- log_warning_errno(r, "Failed to load device unit: %m"); -+ log_unit_warning_errno(u->id, r, "Failed to set up device unit: %m"); - - if (delete && u) - unit_free(u); -@@ -340,7 +329,7 @@ fail: - return r; - } - --static int device_process_new_device(Manager *m, struct udev_device *dev) { -+static int device_process_new(Manager *m, struct udev_device *dev) { - const char *sysfs, *dn, *alias; - struct udev_list_entry *item = NULL, *first = NULL; - int r; -@@ -352,14 +341,14 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - return 0; - - /* Add the main unit named after the sysfs path */ -- r = device_update_unit(m, dev, sysfs, true); -+ r = device_setup_unit(m, dev, sysfs, true); - if (r < 0) - return r; - - /* Add an additional unit for the device node */ - dn = udev_device_get_devnode(dev); - if (dn) -- device_update_unit(m, dev, dn, false); -+ (void) device_setup_unit(m, dev, dn, false); - - /* Add additional units for all symlinks */ - first = udev_device_get_devlinks_list_entry(dev); -@@ -386,7 +375,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - st.st_rdev != udev_device_get_devnum(dev)) - continue; - -- device_update_unit(m, dev, p, false); -+ (void) device_setup_unit(m, dev, p, false); - } - - /* Add additional units for all explicitly configured -@@ -403,7 +392,7 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - e[l] = 0; - - if (path_is_absolute(e)) -- device_update_unit(m, dev, e, false); -+ (void) device_setup_unit(m, dev, e, false); - else - log_warning("SYSTEMD_ALIAS for %s is not an absolute path, ignoring: %s", sysfs, e); - } -@@ -414,39 +403,62 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { - return 0; - } - --static void device_set_path_plugged(Manager *m, struct udev_device *dev) { -- const char *sysfs; -+static void device_update_found_one(Device *d, bool add, DeviceFound found, bool now) { -+ DeviceFound n; -+ -+ assert(d); -+ -+ n = add ? (d->found | found) : (d->found & ~found); -+ if (n == d->found) -+ return; -+ -+ d->found = n; -+ -+ if (now) { -+ if (d->found & DEVICE_FOUND_UDEV) -+ device_set_state(d, DEVICE_PLUGGED); -+ else if (d->found != DEVICE_NOT_FOUND) -+ device_set_state(d, DEVICE_TENTATIVE); -+ else -+ device_set_state(d, DEVICE_DEAD); -+ } -+} -+ -+static int device_update_found_by_sysfs(Manager *m, const char *sysfs, bool add, DeviceFound found, bool now) { - Device *d, *l; - - assert(m); -- assert(dev); -+ assert(sysfs); - -- sysfs = udev_device_get_syspath(dev); -- if (!sysfs) -- return; -+ if (found == DEVICE_NOT_FOUND) -+ return 0; - - l = hashmap_get(m->devices_by_sysfs, sysfs); - LIST_FOREACH(same_sysfs, d, l) -- device_set_state(d, DEVICE_PLUGGED); -+ device_update_found_one(d, add, found, now); -+ -+ return 0; - } - --static int device_process_removed_device(Manager *m, struct udev_device *dev) { -- const char *sysfs; -- Device *d; -+static int device_update_found_by_name(Manager *m, const char *path, bool add, DeviceFound found, bool now) { -+ _cleanup_free_ char *e = NULL; -+ Unit *u; - - assert(m); -- assert(dev); -+ assert(path); - -- sysfs = udev_device_get_syspath(dev); -- if (!sysfs) -- return -ENOMEM; -+ if (found == DEVICE_NOT_FOUND) -+ return 0; - -- /* Remove all units of this sysfs path */ -- while ((d = hashmap_get(m->devices_by_sysfs, sysfs))) { -- device_unset_sysfs(d); -- device_set_state(d, DEVICE_DEAD); -- } -+ e = unit_name_from_path(path, ".device"); -+ if (!e) -+ return log_oom(); - -+ u = manager_get_unit(m, e); -+ if (!u) -+ return 0; -+ -+ device_update_found_one(DEVICE(u), add, found, now); - return 0; - } - -@@ -462,22 +474,6 @@ static bool device_is_ready(struct udev_device *dev) { - return parse_boolean(ready) != 0; - } - --static int device_process_new_path(Manager *m, const char *path) { -- _cleanup_udev_device_unref_ struct udev_device *dev = NULL; -- -- assert(m); -- assert(path); -- -- dev = udev_device_new_from_syspath(m->udev, path); -- if (!dev) -- return log_oom(); -- -- if (!device_is_ready(dev)) -- return 0; -- -- return device_process_new_device(m, dev); --} -- - static Unit *device_following(Unit *u) { - Device *d = DEVICE(u); - Device *other, *first = NULL; -@@ -604,12 +600,31 @@ static int device_enumerate(Manager *m) { - goto fail; - - first = udev_enumerate_get_list_entry(e); -- udev_list_entry_foreach(item, first) -- device_process_new_path(m, udev_list_entry_get_name(item)); -+ udev_list_entry_foreach(item, first) { -+ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; -+ const char *sysfs; -+ -+ sysfs = udev_list_entry_get_name(item); -+ -+ dev = udev_device_new_from_syspath(m->udev, sysfs); -+ if (!dev) { -+ log_oom(); -+ continue; -+ } -+ -+ if (!device_is_ready(dev)) -+ continue; -+ -+ (void) device_process_new(m, dev); -+ -+ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, false); -+ } - - return 0; - - fail: -+ log_error_errno(r, "Failed to enumerate devices: %m"); -+ - device_shutdown(m); - return r; - } -@@ -617,7 +632,7 @@ fail: - static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata) { - _cleanup_udev_device_unref_ struct udev_device *dev = NULL; - Manager *m = userdata; -- const char *action; -+ const char *action, *sysfs; - int r; - - assert(m); -@@ -639,33 +654,47 @@ static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - if (!dev) - return 0; - -+ sysfs = udev_device_get_syspath(dev); -+ if (!sysfs) { -+ log_error("Failed to get udev sys path."); -+ return 0; -+ } -+ - action = udev_device_get_action(dev); - if (!action) { - log_error("Failed to get udev action string."); - return 0; - } - -- if (streq(action, "remove") || !device_is_ready(dev)) { -- r = device_process_removed_device(m, dev); -- if (r < 0) -- log_error_errno(r, "Failed to process device remove event: %m"); -- -- r = swap_process_removed_device(m, dev); -+ if (streq(action, "remove")) { -+ r = swap_process_device_remove(m, dev); - if (r < 0) - log_error_errno(r, "Failed to process swap device remove event: %m"); - -- } else { -- r = device_process_new_device(m, dev); -- if (r < 0) -- log_error_errno(r, "Failed to process device new event: %m"); -+ /* If we get notified that a device was removed by -+ * udev, then it's completely gone, hence unset all -+ * found bits */ -+ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV|DEVICE_FOUND_MOUNT|DEVICE_FOUND_SWAP, true); - -- r = swap_process_new_device(m, dev); -+ } else if (device_is_ready(dev)) { -+ -+ (void) device_process_new(m, dev); -+ -+ r = swap_process_device_new(m, dev); - if (r < 0) - log_error_errno(r, "Failed to process swap device new event: %m"); - - manager_dispatch_load_queue(m); - -- device_set_path_plugged(m, dev); -+ /* The device is found now, set the udev found bit */ -+ device_update_found_by_sysfs(m, sysfs, true, DEVICE_FOUND_UDEV, true); -+ -+ } else { -+ /* The device is nominally around, but not ready for -+ * us. Hence unset the udev bit, but leave the rest -+ * around. */ -+ -+ device_update_found_by_sysfs(m, sysfs, false, DEVICE_FOUND_UDEV, true); - } - - return 0; -@@ -684,9 +713,58 @@ static bool device_supported(Manager *m) { - return read_only <= 0; - } - -+int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now) { -+ _cleanup_udev_device_unref_ struct udev_device *dev = NULL; -+ struct stat st; -+ -+ assert(m); -+ assert(node); -+ -+ /* This is called whenever we find a device referenced in -+ * /proc/swaps or /proc/self/mounts. Such a device might be -+ * mounted/enabled at a time where udev has not finished -+ * probing it yet, and we thus haven't learned about it -+ * yet. In this case we will set the device unit to -+ * "tentative" state. */ -+ -+ if (add) { -+ if (!path_startswith(node, "/dev")) -+ return 0; -+ -+ if (stat(node, &st) < 0) { -+ if (errno == ENOENT) -+ return 0; -+ -+ return log_error_errno(errno, "Failed to stat device node file %s: %m", node); -+ } -+ -+ if (!S_ISBLK(st.st_mode) && !S_ISCHR(st.st_mode)) -+ return 0; -+ -+ dev = udev_device_new_from_devnum(m->udev, S_ISBLK(st.st_mode) ? 'b' : 'c', st.st_rdev); -+ if (!dev) { -+ if (errno == ENOENT) -+ return 0; -+ -+ return log_oom(); -+ } -+ -+ /* If the device is known in the kernel and newly -+ * appeared, then we'll create a device unit for it, -+ * under the name referenced in /proc/swaps or -+ * /proc/self/mountinfo. */ -+ -+ (void) device_setup_unit(m, dev, node, false); -+ } -+ -+ /* Update the device unit's state, should it exist */ -+ return device_update_found_by_name(m, node, add, found, now); -+} -+ - static const char* const device_state_table[_DEVICE_STATE_MAX] = { - [DEVICE_DEAD] = "dead", -- [DEVICE_PLUGGED] = "plugged" -+ [DEVICE_TENTATIVE] = "tentative", -+ [DEVICE_PLUGGED] = "plugged", - }; - - DEFINE_STRING_TABLE_LOOKUP(device_state, DeviceState); -diff --git a/src/core/device.h b/src/core/device.h -index 9065085..9f46e08 100644 ---- a/src/core/device.h -+++ b/src/core/device.h -@@ -28,20 +28,28 @@ typedef struct Device Device; - * simplifies the state engine greatly */ - typedef enum DeviceState { - DEVICE_DEAD, -- DEVICE_PLUGGED, -+ DEVICE_TENTATIVE, /* mounted or swapped, but not (yet) announced by udev */ -+ DEVICE_PLUGGED, /* announced by udev */ - _DEVICE_STATE_MAX, - _DEVICE_STATE_INVALID = -1 - } DeviceState; - -+typedef enum DeviceFound { -+ DEVICE_NOT_FOUND = 0, -+ DEVICE_FOUND_UDEV = 1, -+ DEVICE_FOUND_MOUNT = 2, -+ DEVICE_FOUND_SWAP = 4, -+} DeviceFound; -+ - struct Device { - Unit meta; - - char *sysfs; -+ DeviceFound found; - - /* In order to be able to distinguish dependencies on - different device nodes we might end up creating multiple - devices for the same sysfs path. We chain them up here. */ -- - LIST_FIELDS(struct Device, same_sysfs); - - DeviceState state; -@@ -51,3 +59,5 @@ extern const UnitVTable device_vtable; - - const char* device_state_to_string(DeviceState i) _const_; - DeviceState device_state_from_string(const char *s) _pure_; -+ -+int device_found_node(Manager *m, const char *node, bool add, DeviceFound found, bool now); -diff --git a/src/core/mount.c b/src/core/mount.c -index 40037e7..8e4a376 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1386,7 +1386,7 @@ static int mount_dispatch_timer(sd_event_source *source, usec_t usec, void *user - return 0; - } - --static int mount_add_one( -+static int mount_setup_unit( - Manager *m, - const char *what, - const char *where, -@@ -1429,7 +1429,7 @@ static int mount_add_one( - - u = unit_new(m, sizeof(Mount)); - if (!u) -- return -ENOMEM; -+ return log_oom(); - - r = unit_add_name(u, e); - if (r < 0) -@@ -1542,6 +1542,8 @@ static int mount_add_one( - return 0; - - fail: -+ log_warning_errno(r, "Failed to set up mount unit: %m"); -+ - if (delete && u) - unit_free(u); - -@@ -1549,33 +1551,36 @@ fail: - } - - static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { -- _cleanup_(mnt_free_tablep) struct libmnt_table *tb = NULL; -- _cleanup_(mnt_free_iterp) struct libmnt_iter *itr = NULL; -- struct libmnt_fs *fs; -+ _cleanup_(mnt_free_tablep) struct libmnt_table *t = NULL; -+ _cleanup_(mnt_free_iterp) struct libmnt_iter *i = NULL; - int r = 0; - - assert(m); - -- tb = mnt_new_table(); -- itr = mnt_new_iter(MNT_ITER_FORWARD); -- if (!tb || !itr) -+ t = mnt_new_table(); -+ if (!t) - return log_oom(); - -- r = mnt_table_parse_mtab(tb, NULL); -+ i = mnt_new_iter(MNT_ITER_FORWARD); -+ if (!i) -+ return log_oom(); -+ -+ r = mnt_table_parse_mtab(t, NULL); - if (r < 0) -- return r; -+ return log_error_errno(r, "Failed to parse /proc/self/mountinfo: %m"); - - r = 0; - for (;;) { - const char *device, *path, *options, *fstype; - _cleanup_free_ const char *d = NULL, *p = NULL; -+ struct libmnt_fs *fs; - int k; - -- k = mnt_table_next_fs(tb, itr, &fs); -+ k = mnt_table_next_fs(t, i, &fs); - if (k == 1) - break; -- else if (k < 0) -- return log_error_errno(k, "Failed to get next entry from /etc/fstab: %m"); -+ if (k < 0) -+ return log_error_errno(k, "Failed to get next entry from /proc/self/mountinfo: %m"); - - device = mnt_fs_get_source(fs); - path = mnt_fs_get_target(fs); -@@ -1583,11 +1588,16 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { - fstype = mnt_fs_get_fstype(fs); - - d = cunescape(device); -+ if (!d) -+ return log_oom(); -+ - p = cunescape(path); -- if (!d || !p) -+ if (!p) - return log_oom(); - -- k = mount_add_one(m, d, p, options, fstype, set_flags); -+ (void) device_found_node(m, d, true, DEVICE_FOUND_MOUNT, set_flags); -+ -+ k = mount_setup_unit(m, d, p, options, fstype, set_flags); - if (r == 0 && k < 0) - r = k; - } -@@ -1731,8 +1741,6 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - - r = mount_load_proc_self_mountinfo(m, true); - if (r < 0) { -- log_error_errno(r, "Failed to reread /proc/self/mountinfo: %m"); -- - /* Reset flags, just in case, for later calls */ - LIST_FOREACH(units_by_type, u, m->units_by_type[UNIT_MOUNT]) { - Mount *mount = MOUNT(u); -@@ -1765,6 +1773,10 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, - break; - } - -+ if (mount->parameters_proc_self_mountinfo.what) -+ (void) device_found_node(m, mount->parameters_proc_self_mountinfo.what, false, DEVICE_FOUND_MOUNT, true); -+ -+ - } else if (mount->just_mounted || mount->just_changed) { - - /* New or changed mount entry */ -diff --git a/src/core/swap.c b/src/core/swap.c -index f73a8e6..de3a5d8 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -331,7 +331,7 @@ static int swap_load(Unit *u) { - return swap_verify(s); - } - --static int swap_add_one( -+static int swap_setup_unit( - Manager *m, - const char *what, - const char *what_proc_swaps, -@@ -356,8 +356,10 @@ static int swap_add_one( - - if (u && - SWAP(u)->from_proc_swaps && -- !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) -+ !path_equal(SWAP(u)->parameters_proc_swaps.what, what_proc_swaps)) { -+ log_error("Swap %s appeared twice with different device paths %s and %s", e, SWAP(u)->parameters_proc_swaps.what, what_proc_swaps); - return -EEXIST; -+ } - - if (!u) { - delete = true; -@@ -372,7 +374,7 @@ static int swap_add_one( - - SWAP(u)->what = strdup(what); - if (!SWAP(u)->what) { -- r = log_oom(); -+ r = -ENOMEM; - goto fail; - } - -@@ -400,7 +402,6 @@ static int swap_add_one( - p->priority = priority; - - unit_add_to_dbus_queue(u); -- - return 0; - - fail: -@@ -412,7 +413,7 @@ fail: - return r; - } - --static int swap_process_new_swap(Manager *m, const char *device, int prio, bool set_flags) { -+static int swap_process_new(Manager *m, const char *device, int prio, bool set_flags) { - _cleanup_udev_device_unref_ struct udev_device *d = NULL; - struct udev_list_entry *item = NULL, *first = NULL; - const char *dn; -@@ -421,7 +422,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool - - assert(m); - -- r = swap_add_one(m, device, device, prio, set_flags); -+ r = swap_setup_unit(m, device, device, prio, set_flags); - if (r < 0) - return r; - -@@ -437,7 +438,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool - /* Add the main device node */ - dn = udev_device_get_devnode(d); - if (dn && !streq(dn, device)) -- swap_add_one(m, dn, device, prio, set_flags); -+ swap_setup_unit(m, dn, device, prio, set_flags); - - /* Add additional units for all symlinks */ - first = udev_device_get_devlinks_list_entry(d); -@@ -458,7 +459,7 @@ static int swap_process_new_swap(Manager *m, const char *device, int prio, bool - st.st_rdev != udev_device_get_devnum(d)) - continue; - -- swap_add_one(m, p, device, prio, set_flags); -+ swap_setup_unit(m, p, device, prio, set_flags); - } - - return r; -@@ -1084,15 +1085,17 @@ static int swap_load_proc_swaps(Manager *m, bool set_flags) { - if (k == EOF) - break; - -- log_warning("Failed to parse /proc/swaps:%u", i); -+ log_warning("Failed to parse /proc/swaps:%u.", i); - continue; - } - - d = cunescape(dev); - if (!d) -- return -ENOMEM; -+ return log_oom(); -+ -+ device_found_node(m, d, true, DEVICE_FOUND_SWAP, set_flags); - -- k = swap_process_new_swap(m, d, prio, set_flags); -+ k = swap_process_new(m, d, prio, set_flags); - if (k < 0) - r = k; - } -@@ -1144,6 +1147,9 @@ static int swap_dispatch_io(sd_event_source *source, int fd, uint32_t revents, v - break; - } - -+ if (swap->what) -+ device_found_node(m, swap->what, false, DEVICE_FOUND_SWAP, true); -+ - } else if (swap->just_activated) { - - /* New swap entry */ -@@ -1291,7 +1297,7 @@ fail: - return r; - } - --int swap_process_new_device(Manager *m, struct udev_device *dev) { -+int swap_process_device_new(Manager *m, struct udev_device *dev) { - struct udev_list_entry *item = NULL, *first = NULL; - _cleanup_free_ char *e = NULL; - const char *dn; -@@ -1334,7 +1340,7 @@ int swap_process_new_device(Manager *m, struct udev_device *dev) { - return r; - } - --int swap_process_removed_device(Manager *m, struct udev_device *dev) { -+int swap_process_device_remove(Manager *m, struct udev_device *dev) { - const char *dn; - int r = 0; - Swap *s; -diff --git a/src/core/swap.h b/src/core/swap.h -index c36c6f2..5de8c20 100644 ---- a/src/core/swap.h -+++ b/src/core/swap.h -@@ -115,8 +115,8 @@ struct Swap { - - extern const UnitVTable swap_vtable; - --int swap_process_new_device(Manager *m, struct udev_device *dev); --int swap_process_removed_device(Manager *m, struct udev_device *dev); -+int swap_process_device_new(Manager *m, struct udev_device *dev); -+int swap_process_device_remove(Manager *m, struct udev_device *dev); - - const char* swap_state_to_string(SwapState i) _const_; - SwapState swap_state_from_string(const char *s) _pure_; -diff --git a/src/core/unit.c b/src/core/unit.c -index 63ccd67..7cd7043 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -2834,7 +2834,6 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { - return -ENOMEM; - - r = manager_load_unit(u->manager, e, NULL, NULL, &device); -- - if (r < 0) - return r; - --- -2.1.4 - diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch index 4763dcaf..4159038e 100644 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ b/0001-let-systemctl-completion-ignore-at-names.patch @@ -1,5 +1,11 @@ ---- systemd-210/shell-completion/bash/systemctl.in -+++ systemd-210/shell-completion/bash/systemctl.in 2014-08-20 15:01:04.502736981 +0000 +--- + shell-completion/bash/systemctl.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-221/shell-completion/bash/systemctl.in +=================================================================== +--- systemd-221.orig/shell-completion/bash/systemctl.in ++++ systemd-221/shell-completion/bash/systemctl.in @@ -43,7 +43,7 @@ __filter_units_by_property () { local units=("$@") local props diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch index 291de476..0375d595 100644 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -8,12 +8,14 @@ is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. This belongs to BNC#852015 and also to BNC#855160 --- - pam_systemd.c | 19 +++++++++++++++++++ + src/login/pam_systemd.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---- systemd-209/src/login/pam_systemd.c -+++ systemd-209/src/login/pam_systemd.c 2014-02-26 14:31:30.158235525 +0000 -@@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess +Index: systemd-221/src/login/pam_systemd.c +=================================================================== +--- systemd-221.orig/src/login/pam_systemd.c ++++ systemd-221/src/login/pam_systemd.c +@@ -445,6 +445,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); if (r != PAM_SUCCESS) return r; diff --git a/0009-make-xsltproc-use-correct-ROFF-links.patch b/0009-make-xsltproc-use-correct-ROFF-links.patch deleted file mode 100644 index c2f879d5..00000000 --- a/0009-make-xsltproc-use-correct-ROFF-links.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- systemd-208/man/custom-man.xsl -+++ systemd-208/man/custom-man.xsl 2013-10-21 09:23:31.030735259 +0000 -@@ -61,4 +61,7 @@ - " - - -+ -+ -+ - diff --git a/0010-do-not-install-sulogin-unit-with-poweroff.patch b/0010-do-not-install-sulogin-unit-with-poweroff.patch index c854754f..af9d7f53 100644 --- a/0010-do-not-install-sulogin-unit-with-poweroff.patch +++ b/0010-do-not-install-sulogin-unit-with-poweroff.patch @@ -2,9 +2,15 @@ | Belongs to bnc#849071 that is do not install console-shell.service | in any system target as this will cause automatic poweroff at boot. | ---- systemd-208/units/console-shell.service.m4.in -+++ systemd-208/units/console-shell.service.m4.in 2013-11-06 09:35:37.958693570 +0000 -@@ -26,6 +26,3 @@ StandardError=inherit +--- + units/console-shell.service.m4.in | 3 --- + 1 file changed, 3 deletions(-) + +Index: systemd-221/units/console-shell.service.m4.in +=================================================================== +--- systemd-221.orig/units/console-shell.service.m4.in ++++ systemd-221/units/console-shell.service.m4.in +@@ -28,6 +28,3 @@ StandardError=inherit KillMode=process IgnoreSIGPIPE=no SendSIGHUP=yes diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index c3ae1a23..a8255ab5 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -13,10 +13,10 @@ No word on compression… src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) -Index: systemd/src/journal/journald-server.c +Index: systemd-221/src/journal/journald-server.c =================================================================== ---- systemd.orig/src/journal/journald-server.c -+++ systemd/src/journal/journald-server.c +--- systemd-221.orig/src/journal/journald-server.c ++++ systemd-221/src/journal/journald-server.c @@ -21,6 +21,7 @@ #include @@ -25,7 +25,7 @@ Index: systemd/src/journal/journald-server.c #include #include #include -@@ -917,6 +918,38 @@ finish: +@@ -918,6 +919,38 @@ finish: dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); } @@ -64,7 +64,7 @@ Index: systemd/src/journal/journald-server.c static int system_journal_open(Server *s, bool flush_requested) { int r; -@@ -946,6 +979,7 @@ static int system_journal_open(Server *s +@@ -947,6 +980,7 @@ static int system_journal_open(Server *s fn = strjoina("/var/log/journal/", ids); (void) mkdir(fn, 0755); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index a545cf08..ca3a4b0c 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -12,10 +12,10 @@ shell-completion/bash/udevadm | 6 +++++- 11 files changed, 70 insertions(+), 11 deletions(-) -Index: systemd/shell-completion/bash/coredumpctl +Index: systemd-221/shell-completion/bash/coredumpctl =================================================================== ---- systemd.orig/shell-completion/bash/coredumpctl -+++ systemd/shell-completion/bash/coredumpctl +--- systemd-221.orig/shell-completion/bash/coredumpctl ++++ systemd-221/shell-completion/bash/coredumpctl @@ -44,6 +44,10 @@ _coredumpctl() { [DUMP]='dump gdb' ) @@ -33,10 +33,10 @@ Index: systemd/shell-completion/bash/coredumpctl -complete -F _coredumpctl coredumpctl +complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd/shell-completion/bash/hostnamectl +Index: systemd-221/shell-completion/bash/hostnamectl =================================================================== ---- systemd.orig/shell-completion/bash/hostnamectl -+++ systemd/shell-completion/bash/hostnamectl +--- systemd-221.orig/shell-completion/bash/hostnamectl ++++ systemd-221/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty --no-ask-password -H --host --machine' @@ -54,10 +54,10 @@ Index: systemd/shell-completion/bash/hostnamectl -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd/shell-completion/bash/journalctl +Index: systemd-221/shell-completion/bash/journalctl =================================================================== ---- systemd.orig/shell-completion/bash/journalctl -+++ systemd/shell-completion/bash/journalctl +--- systemd-221.orig/shell-completion/bash/journalctl ++++ systemd-221/shell-completion/bash/journalctl @@ -55,6 +55,10 @@ _journalctl() { --root --machine' ) @@ -75,10 +75,10 @@ Index: systemd/shell-completion/bash/journalctl -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd/shell-completion/bash/kernel-install +Index: systemd-221/shell-completion/bash/kernel-install =================================================================== ---- systemd.orig/shell-completion/bash/kernel-install -+++ systemd/shell-completion/bash/kernel-install +--- systemd-221.orig/shell-completion/bash/kernel-install ++++ systemd-221/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -108,10 +108,10 @@ Index: systemd/shell-completion/bash/kernel-install -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd/shell-completion/bash/localectl +Index: systemd-221/shell-completion/bash/localectl =================================================================== ---- systemd.orig/shell-completion/bash/localectl -+++ systemd/shell-completion/bash/localectl +--- systemd-221.orig/shell-completion/bash/localectl ++++ systemd-221/shell-completion/bash/localectl @@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password -H --host --machine' @@ -129,10 +129,10 @@ Index: systemd/shell-completion/bash/localectl -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl -Index: systemd/shell-completion/bash/loginctl +Index: systemd-221/shell-completion/bash/loginctl =================================================================== ---- systemd.orig/shell-completion/bash/loginctl -+++ systemd/shell-completion/bash/loginctl +--- systemd-221.orig/shell-completion/bash/loginctl ++++ systemd-221/shell-completion/bash/loginctl @@ -38,6 +38,10 @@ _loginctl () { [ARG]='--host -H --kill-who --property -p --signal -s --machine' ) @@ -150,12 +150,12 @@ Index: systemd/shell-completion/bash/loginctl -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd/shell-completion/bash/systemctl.in +Index: systemd-221/shell-completion/bash/systemctl.in =================================================================== ---- systemd.orig/shell-completion/bash/systemctl.in -+++ systemd/shell-completion/bash/systemctl.in +--- systemd-221.orig/shell-completion/bash/systemctl.in ++++ systemd-221/shell-completion/bash/systemctl.in @@ -96,6 +96,10 @@ _systemctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' + [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --job-mode --root' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -165,16 +165,16 @@ Index: systemd/shell-completion/bash/systemctl.in if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user else -@@ -264,4 +268,4 @@ _systemctl () { +@@ -268,4 +272,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd/shell-completion/bash/systemd-analyze +Index: systemd-221/shell-completion/bash/systemd-analyze =================================================================== ---- systemd.orig/shell-completion/bash/systemd-analyze -+++ systemd/shell-completion/bash/systemd-analyze +--- systemd-221.orig/shell-completion/bash/systemd-analyze ++++ systemd-221/shell-completion/bash/systemd-analyze @@ -47,6 +47,10 @@ _systemd_analyze() { [VERIFY]='verify' ) @@ -192,10 +192,10 @@ Index: systemd/shell-completion/bash/systemd-analyze -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd/shell-completion/bash/systemd-run +Index: systemd-221/shell-completion/bash/systemd-run =================================================================== ---- systemd.orig/shell-completion/bash/systemd-run -+++ systemd/shell-completion/bash/systemd-run +--- systemd-221.orig/shell-completion/bash/systemd-run ++++ systemd-221/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -228,10 +228,10 @@ Index: systemd/shell-completion/bash/systemd-run -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd/shell-completion/bash/timedatectl +Index: systemd-221/shell-completion/bash/timedatectl =================================================================== ---- systemd.orig/shell-completion/bash/timedatectl -+++ systemd/shell-completion/bash/timedatectl +--- systemd-221.orig/shell-completion/bash/timedatectl ++++ systemd-221/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager --no-ask-password -H --host --machine' @@ -249,10 +249,10 @@ Index: systemd/shell-completion/bash/timedatectl -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd/shell-completion/bash/udevadm +Index: systemd-221/shell-completion/bash/udevadm =================================================================== ---- systemd.orig/shell-completion/bash/udevadm -+++ systemd/shell-completion/bash/udevadm +--- systemd-221.orig/shell-completion/bash/udevadm ++++ systemd-221/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index b4bc2d07..5520c601 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -25,11 +25,11 @@ Signed-off-by: Hannes Reinecke src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) -Index: systemd-218/src/udev/udev-builtin-path_id.c +Index: systemd-221/src/udev/udev-builtin-path_id.c =================================================================== ---- systemd-218.orig/src/udev/udev-builtin-path_id.c -+++ systemd-218/src/udev/udev-builtin-path_id.c -@@ -426,6 +426,46 @@ static struct udev_device *handle_scsi_h +--- systemd-221.orig/src/udev/udev-builtin-path_id.c ++++ systemd-221/src/udev/udev-builtin-path_id.c +@@ -447,6 +447,46 @@ static struct udev_device *handle_scsi_h return parent; } @@ -76,7 +76,7 @@ Index: systemd-218/src/udev/udev-builtin-path_id.c static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { const char *devtype; const char *name; -@@ -465,19 +505,8 @@ static struct udev_device *handle_scsi(s +@@ -486,19 +526,8 @@ static struct udev_device *handle_scsi(s goto out; } diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch index bd7904c6..cea9163a 100644 --- a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -4,12 +4,14 @@ Subject: rules create by id scsi links for ATA devices Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) --- - rules/60-persistent-storage.rules | 4 ++++ + rules/60-persistent-storage.rules | 4 ++++ 1 file changed, 4 insertions(+) ---- systemd-206.orig/rules/60-persistent-storage.rules -+++ systemd-206/rules/60-persistent-storage.rules -@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", +Index: systemd-221/rules/60-persistent-storage.rules +=================================================================== +--- systemd-221.orig/rules/60-persistent-storage.rules ++++ systemd-221/rules/60-persistent-storage.rules +@@ -36,6 +36,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" @@ -17,6 +19,6 @@ Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) +KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" +KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" + - # firewire + # FireWire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch index eee1415f..92bfef99 100644 --- a/1003-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -7,16 +7,16 @@ udevd race for netlink events (bnc#774646) src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) -Index: systemd-218/src/udev/udevd.c +Index: systemd-221/src/udev/udevd.c =================================================================== ---- systemd-218.orig/src/udev/udevd.c -+++ systemd-218/src/udev/udevd.c -@@ -1468,6 +1468,8 @@ int main(int argc, char *argv[]) { - dev = udev_monitor_receive_device(monitor); - if (dev != NULL) { - udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); -+ if (rules == NULL) -+ rules = udev_rules_new(udev, arg_resolve_names); - if (event_queue_insert(dev) < 0) - udev_device_unref(dev); - } +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -917,6 +917,8 @@ static int on_uevent(sd_event_source *s, + dev = udev_monitor_receive_device(manager->monitor); + if (dev) { + udev_device_ensure_usec_initialized(dev, NULL); ++ if (manager->rules == NULL) ++ manager->rules = udev_rules_new(manager->udev, arg_resolve_names); + r = event_queue_insert(manager, dev); + if (r < 0) + udev_device_unref(dev); diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch index 85abb1f7..868247ed 100644 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -7,10 +7,10 @@ cdrom_id: created links for the default cd/dvd drive (bnc#783054). rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -Index: systemd/rules/60-cdrom_id.rules +Index: systemd-221/rules/60-cdrom_id.rules =================================================================== ---- systemd.orig/rules/60-cdrom_id.rules -+++ systemd/rules/60-cdrom_id.rules +--- systemd-221.orig/rules/60-cdrom_id.rules ++++ systemd-221/rules/60-cdrom_id.rules @@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ # stale mounts after ejecting ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index f838b9ac..36bb93ba 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -13,11 +13,11 @@ Port the patch of Robert to systemd v210 and test it out. 1 file changed, 37 insertions(+), 4 deletions(-) -Index: systemd-218/src/udev/udev-event.c +Index: systemd-221/src/udev/udev-event.c =================================================================== ---- systemd-218.orig/src/udev/udev-event.c -+++ systemd-218/src/udev/udev-event.c -@@ -767,20 +767,53 @@ out: +--- systemd-221.orig/src/udev/udev-event.c ++++ systemd-221/src/udev/udev-event.c +@@ -796,20 +796,53 @@ out: static int rename_netif(struct udev_event *event) { struct udev_device *dev = event->dev; char name[IFNAMSIZ]; @@ -50,7 +50,7 @@ Index: systemd-218/src/udev/udev-event.c + oldname, interim, strerror(-r)); + return r; + } -+ ++ + /* log temporary name */ + log_info("renamed network interface %s to %s\n", oldname, interim); + diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch index 98500575..5365f17c 100644 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ b/1007-physical-hotplug-cpu-and-memory.patch @@ -1,5 +1,27 @@ ---- systemd-210/rules/80-hotplug-cpu-mem.rules -+++ systemd-210/rules/80-hotplug-cpu-mem.rules 2014-05-21 15:47:01.885605543 +0000 +--- + Makefile.am | 4 ++++ + rules/80-hotplug-cpu-mem.rules | 12 ++++++++++++ + 2 files changed, 16 insertions(+) + +Index: systemd-221/Makefile.am +=================================================================== +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -3841,6 +3841,10 @@ dist_udevrules_DATA += \ + rules/73-seat-numlock.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/80-hotplug-cpu-mem.rules ++ ++# ------------------------------------------------------------------------------ + mtd_probe_SOURCES = \ + src/udev/mtd_probe/mtd_probe.c \ + src/udev/mtd_probe/mtd_probe.h \ +Index: systemd-221/rules/80-hotplug-cpu-mem.rules +=================================================================== +--- /dev/null ++++ systemd-221/rules/80-hotplug-cpu-mem.rules @@ -0,0 +1,12 @@ +# do not edit this file, it will be overwritten on update + @@ -13,16 +35,3 @@ + +# +TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am -@@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/80-hotplug-cpu-mem.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ diff --git a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch index 391592ee..9d5a39f0 100644 --- a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +++ b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch @@ -7,13 +7,13 @@ If any devices are marked with 'SYSTEMD_READY=0' then we shouldn't run any btrfs check on them. --- - rules/64-btrfs.rules | 1 + + rules/64-btrfs.rules | 1 + 1 file changed, 1 insertion(+) -diff --git a/rules/64-btrfs.rules b/rules/64-btrfs.rules -index fe01001..57631bc 100644 ---- a/rules/64-btrfs.rules -+++ b/rules/64-btrfs.rules +Index: systemd-221/rules/64-btrfs.rules +=================================================================== +--- systemd-221.orig/rules/64-btrfs.rules ++++ systemd-221/rules/64-btrfs.rules @@ -3,6 +3,7 @@ SUBSYSTEM!="block", GOTO="btrfs_end" ACTION=="remove", GOTO="btrfs_end" @@ -22,6 +22,3 @@ index fe01001..57631bc 100644 # let the kernel know about this btrfs filesystem, and check if it is complete IMPORT{builtin}="btrfs ready $devnode" --- -1.8.1.4 - diff --git a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch index 087dc3a0..c5bd4a13 100644 --- a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch +++ b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch @@ -10,15 +10,15 @@ persistent symlinks to that device. Otherwise systemd will get confused about which device to use. --- - rules/60-persistent-storage.rules | 7 +++++-- + rules/60-persistent-storage.rules | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index 1208bd3..fd5bedd 100644 ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -39,8 +39,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin - # scsi devices +Index: systemd-221/rules/60-persistent-storage.rules +=================================================================== +--- systemd-221.orig/rules/60-persistent-storage.rules ++++ systemd-221/rules/60-persistent-storage.rules +@@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}! + # SCSI devices KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" -KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" @@ -28,7 +28,7 @@ index 1208bd3..fd5bedd 100644 # scsi compat links for ATA devices KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -@@ -70,6 +70,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT +@@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!= KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ IMPORT{builtin}="blkid --noraid" @@ -38,6 +38,3 @@ index 1208bd3..fd5bedd 100644 # probe filesystem metadata of disks KERNEL!="sr*", IMPORT{builtin}="blkid" --- -1.8.1.4 - diff --git a/1013-no-runtime-PM-for-IBM-consoles.patch b/1013-no-runtime-PM-for-IBM-consoles.patch deleted file mode 100644 index 164ca499..00000000 --- a/1013-no-runtime-PM-for-IBM-consoles.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- systemd-210/rules/42-usb-hid-pm.rules.old 2014-04-23 10:54:31.694485615 +0200 -+++ systemd-210/rules/42-usb-hid-pm.rules 2014-04-23 10:55:21.969423056 +0200 -@@ -22,8 +22,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{id - ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="0000", TEST=="power/control", ATTR{power/control}="auto" - - # IBM remote access --ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4001", TEST=="power/control", ATTR{power/control}="auto" --ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4002", TEST=="power/control", ATTR{power/control}="auto" - ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto" - - # Raritan Computer, Inc KVM. diff --git a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch index 09c5202c..400cd94d 100644 --- a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +++ b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch @@ -12,21 +12,18 @@ References: bnc#881942 Signed-off-by: Hannes Reinecke --- - rules/99-systemd.rules.in | 1 + + rules/99-systemd.rules.in | 1 + 1 file changed, 1 insertion(+) -diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in -index db72373..11ee262 100644 ---- a/rules/99-systemd.rules.in -+++ b/rules/99-systemd.rules.in -@@ -11,6 +11,7 @@ SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270 - +Index: systemd-221/rules/99-systemd.rules.in +=================================================================== +--- systemd-221.orig/rules/99-systemd.rules.in ++++ systemd-221/rules/99-systemd.rules.in +@@ -10,6 +10,7 @@ ACTION=="remove", GOTO="systemd_end" + SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" -+SUBSYSTEM=="block", KERNEL!="ram*", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" - SUBSYSTEM=="block", KERNEL!="ram*", TAG+="systemd" - SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" ++SUBSYSTEM=="block", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" + SUBSYSTEM=="block", TAG+="systemd" + SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" --- -1.8.4.5 - diff --git a/1037-udev-exclude-cd-dvd-from-block-device.patch b/1037-udev-exclude-cd-dvd-from-block-device.patch index 0b8d68ff..2b001518 100644 --- a/1037-udev-exclude-cd-dvd-from-block-device.patch +++ b/1037-udev-exclude-cd-dvd-from-block-device.patch @@ -1,8 +1,14 @@ Exclude cd/dvd as well (bnc#882714) ---- systemd-210/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c 2014-06-18 12:53:34.454235577 +0000 -@@ -744,7 +744,8 @@ static int synthesize_change(struct udev +--- + src/udev/udevd.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: systemd-221/src/udev/udevd.c +=================================================================== +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -1022,7 +1022,8 @@ static int synthesize_change(struct udev if (streq_ptr("block", udev_device_get_subsystem(dev)) && streq_ptr("disk", udev_device_get_devtype(dev)) && diff --git a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch index 862afa48..02ead8c8 100644 --- a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +++ b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch @@ -29,8 +29,10 @@ Signed-off-by: Jeff Mahoney rules/64-btrfs.rules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---- a/rules/64-btrfs.rules -+++ b/rules/64-btrfs.rules +Index: systemd-221/rules/64-btrfs.rules +=================================================================== +--- systemd-221.orig/rules/64-btrfs.rules ++++ systemd-221/rules/64-btrfs.rules @@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" diff --git a/1062-rules-set-default-permissions-for-GenWQE-devices.patch b/1062-rules-set-default-permissions-for-GenWQE-devices.patch index 8db264df..80c434dc 100644 --- a/1062-rules-set-default-permissions-for-GenWQE-devices.patch +++ b/1062-rules-set-default-permissions-for-GenWQE-devices.patch @@ -1,11 +1,15 @@ -Index: systemd-210/rules/50-udev-default.rules +--- + rules/50-udev-default.rules | 2 ++ + 1 file changed, 2 insertions(+) + +Index: systemd-221/rules/50-udev-default.rules =================================================================== ---- systemd-210.orig/rules/50-udev-default.rules -+++ systemd-210/rules/50-udev-default.rules -@@ -66,4 +66,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st +--- systemd-221.orig/rules/50-udev-default.rules ++++ systemd-221/rules/50-udev-default.rules +@@ -74,4 +74,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" +KERNEL=="genwqe*", MODE="0666" + - LABEL="default_permissions_end" + LABEL="default_end" diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch index e08ad9f8..637c2be8 100644 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch @@ -18,11 +18,11 @@ Signed-off-by: Jeff Mahoney src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ 4 files changed, 32 insertions(+), 7 deletions(-) -Index: systemd/rules/60-persistent-storage.rules +Index: systemd-221/rules/60-persistent-storage.rules =================================================================== ---- systemd.orig/rules/60-persistent-storage.rules -+++ systemd/rules/60-persistent-storage.rules -@@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par +--- systemd-221.orig/rules/60-persistent-storage.rules ++++ systemd-221/rules/60-persistent-storage.rules +@@ -40,6 +40,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" @@ -30,13 +30,13 @@ Index: systemd/rules/60-persistent-storage.rules +KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}" +KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n" + - # firewire + # FireWire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" -Index: systemd/src/udev/scsi_id/scsi_id.c +Index: systemd-221/src/udev/scsi_id/scsi_id.c =================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_id.c -+++ systemd/src/udev/scsi_id/scsi_id.c +--- systemd-221.orig/src/udev/scsi_id/scsi_id.c ++++ systemd-221/src/udev/scsi_id/scsi_id.c @@ -43,6 +43,7 @@ static const struct option options[] = { { "replace-whitespace", no_argument, NULL, 'u' }, { "sg-version", required_argument, NULL, 's' }, @@ -94,11 +94,11 @@ Index: systemd/src/udev/scsi_id/scsi_id.c util_replace_chars(serial_str, NULL); printf("%s\n", serial_str); goto out; -Index: systemd/src/udev/scsi_id/scsi_id.h +Index: systemd-221/src/udev/scsi_id/scsi_id.h =================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_id.h -+++ systemd/src/udev/scsi_id/scsi_id.h -@@ -43,6 +43,7 @@ struct scsi_id_device { +--- systemd-221.orig/src/udev/scsi_id/scsi_id.h ++++ systemd-221/src/udev/scsi_id/scsi_id.h +@@ -45,6 +45,7 @@ struct scsi_id_device { char kernel[64]; char serial[MAX_SERIAL_LEN]; char serial_short[MAX_SERIAL_LEN]; @@ -106,11 +106,11 @@ Index: systemd/src/udev/scsi_id/scsi_id.h int use_sg; /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ -Index: systemd/src/udev/scsi_id/scsi_serial.c +Index: systemd-221/src/udev/scsi_id/scsi_serial.c =================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_serial.c -+++ systemd/src/udev/scsi_id/scsi_serial.c -@@ -96,7 +96,8 @@ static const char hex_str[]="0123456789a +--- systemd-221.orig/src/udev/scsi_id/scsi_serial.c ++++ systemd-221/src/udev/scsi_id/scsi_serial.c +@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -120,7 +120,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c static int sg_err_category_new(struct udev *udev, int scsi_status, int msg_status, int -@@ -619,7 +620,7 @@ static int do_scsi_page83_inquiry(struct +@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct unsigned char page_83[SCSI_INQ_BUFF_LEN]; /* also pick up the page 80 serial number */ @@ -129,7 +129,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c memzero(page_83, SCSI_INQ_BUFF_LEN); retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -764,7 +765,8 @@ static int do_scsi_page83_prespc3_inquir +@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir /* Get unit serial number VPD page */ static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -139,7 +139,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c { int retval; int ser_ind; -@@ -798,9 +800,14 @@ static int do_scsi_page80_inquiry(struct +@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); if (ser_ind < 0) return 1; @@ -155,7 +155,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c } if (serial_short != NULL) { memcpy(serial_short, &buf[4], len); -@@ -876,7 +883,7 @@ int scsi_get_serial(struct udev *udev, +@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, return 1; if (page_code == PAGE_80) { @@ -164,7 +164,7 @@ Index: systemd/src/udev/scsi_id/scsi_serial.c retval = 1; goto completed; } else { -@@ -950,7 +957,7 @@ int scsi_get_serial(struct udev *udev, +@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, for (ind = 4; ind <= page0[3] + 3; ind++) if (page0[ind] == PAGE_80) if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch index d9d128f2..932ea747 100644 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ b/1095-set-ssd-disk-to-use-deadline-scheduler.patch @@ -3,22 +3,22 @@ rules/60-ssd-scheduler.rules | 11 +++++++++++ 2 files changed, 12 insertions(+) -Index: systemd/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -3576,6 +3576,7 @@ dist_udevrules_DATA += \ +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -3501,6 +3501,7 @@ dist_udevrules_DATA += \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ + rules/60-ssd-scheduler.rules \ + rules/60-serial.rules \ rules/64-btrfs.rules \ rules/70-mouse.rules \ - rules/70-touchpad.rules \ -Index: systemd/rules/60-ssd-scheduler.rules +Index: systemd-221/rules/60-ssd-scheduler.rules =================================================================== --- /dev/null -+++ systemd/rules/60-ssd-scheduler.rules ++++ systemd-221/rules/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch index 7f09f46e..23036bff 100644 --- a/1096-new-udev-root-symlink-generator.patch +++ b/1096-new-udev-root-symlink-generator.patch @@ -5,12 +5,10 @@ units/systemd-udev-root-symlink.service.in | 10 ++ 4 files changed, 96 insertions(+) -Index: systemd/Makefile.am -=================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -3862,6 +3862,25 @@ EXTRA_DIST += \ - +--- systemd-222.orig/Makefile.am ++++ systemd-222/Makefile.am +@@ -3759,6 +3759,25 @@ EXTRA_DIST += \ + test/mocks/fsck # ------------------------------------------------------------------------------ +rootsymlink_generator_SOURCES = \ @@ -35,10 +33,8 @@ Index: systemd/Makefile.am ata_id_SOURCES = \ src/udev/ata_id/ata_id.c -Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c -=================================================================== --- /dev/null -+++ systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c ++++ systemd-222/src/udev/rootsymlink_generator/rootsymlink_generator.c @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2014-2015 Robert Milasan @@ -97,10 +93,8 @@ Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c + return errno; + return 0; +} -Index: systemd/units/systemd-udev-root-symlink.service -=================================================================== --- /dev/null -+++ systemd/units/systemd-udev-root-symlink.service ++++ systemd-222/units/systemd-udev-root-symlink.service @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink @@ -112,10 +106,8 @@ Index: systemd/units/systemd-udev-root-symlink.service +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/lib/udev/rootsymlink-generator -Index: systemd/units/systemd-udev-root-symlink.service.in -=================================================================== --- /dev/null -+++ systemd/units/systemd-udev-root-symlink.service.in ++++ systemd-222/units/systemd-udev-root-symlink.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index 486be9b2..6693d757 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -2,25 +2,25 @@ src/udev/udevd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-218/src/udev/udevd.c +Index: systemd-221/src/udev/udevd.c =================================================================== ---- systemd-218.orig/src/udev/udevd.c -+++ systemd-218/src/udev/udevd.c -@@ -446,7 +446,7 @@ static void event_run(struct event *even +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -569,7 +569,7 @@ static void event_run(Manager *manager, - if (children >= arg_children_max) { + if (hashmap_size(manager->workers) >= arg_children_max) { if (arg_children_max > 1) -- log_debug("maximum number (%i) of children reached", children); -+ log_error("maximum number (%i) of children reached", children); +- log_debug("maximum number (%i) of children reached", hashmap_size(manager->workers)); ++ log_error("maximum number (%i) of children reached", hashmap_size(manager->workers)); return; } -@@ -1265,7 +1265,7 @@ int main(int argc, char *argv[]) { +@@ -1641,7 +1641,7 @@ int main(int argc, char *argv[]) { arg_children_max = 8; if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { -- arg_children_max += CPU_COUNT(&cpu_set) * 2; +- arg_children_max += CPU_COUNT(&cpu_set) * 2; + arg_children_max += CPU_COUNT(&cpu_set) * 64; } - } - log_debug("set children_max to %u", arg_children_max); + + log_debug("set children_max to %u", arg_children_max); diff --git a/1098-systemd-networkd-alias-network-service.patch b/1098-systemd-networkd-alias-network-service.patch index 92afb327..a3c666f4 100644 --- a/1098-systemd-networkd-alias-network-service.patch +++ b/1098-systemd-networkd-alias-network-service.patch @@ -1,8 +1,12 @@ -Index: systemd-219/units/systemd-networkd.service.in +--- + units/systemd-networkd.service.m4.in | 1 + + 1 file changed, 1 insertion(+) + +Index: systemd-221/units/systemd-networkd.service.m4.in =================================================================== ---- systemd-219.orig/units/systemd-networkd.service.in -+++ systemd-219/units/systemd-networkd.service.in -@@ -29,4 +29,5 @@ WatchdogSec=1min +--- systemd-221.orig/units/systemd-networkd.service.m4.in ++++ systemd-221/units/systemd-networkd.service.m4.in +@@ -34,4 +34,5 @@ WatchdogSec=1min [Install] WantedBy=multi-user.target diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch new file mode 100644 index 00000000..535170b4 --- /dev/null +++ b/Correct_assert_on_unexpected_error_code.patch @@ -0,0 +1,19 @@ +--- + src/login/pam_systemd.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- src/login/pam_systemd.c ++++ src/login/pam_systemd.c 2015-07-29 08:52:20.762018565 +0000 +@@ -507,7 +507,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess + r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); + if (r != PAM_SUCCESS) { + pam_syslog(handle, LOG_ERR, "Failed to install session fd."); +- safe_close(session_fd); ++ if (session_fd >= 0) { ++ PROTECT_ERRNO; ++ if (_unlikely_(!(close_nointr(session_fd) != -EBADF))) ++ pam_syslog(handle, LOG_ERR, "Unexpected error code on closing session fd: %m"); ++ } + return r; + } + } diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index 95c19107..d780d327 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -8,10 +8,10 @@ disable /var/lock/{subsys,lockdev} and change default permissions on tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -Index: systemd-218/tmpfiles.d/legacy.conf +Index: systemd-221/tmpfiles.d/legacy.conf =================================================================== ---- systemd-218.orig/tmpfiles.d/legacy.conf -+++ systemd-218/tmpfiles.d/legacy.conf +--- systemd-221.orig/tmpfiles.d/legacy.conf ++++ systemd-221/tmpfiles.d/legacy.conf @@ -10,13 +10,14 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. @@ -36,5 +36,5 @@ Index: systemd-218/tmpfiles.d/legacy.conf -d /run/lock/lockdev 0775 root lock - +#d /run/lock/lockdev 0775 root lock - - # /forcefsck, /fastboot and /forcequotecheck are deprecated in favor of the + # /forcefsck, /fastboot and /forcequotacheck are deprecated in favor of the # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch deleted file mode 100644 index 96de1ed2..00000000 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ /dev/null @@ -1,97 +0,0 @@ -From: Frederic Crozat -Date: Tue, 19 Feb 2013 11:20:31 +0100 -Subject: Forward suspend / hibernate calls to pm-utils - -forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) ---- - src/sleep/sleep.c | 27 ++++++++++++++++++++++----- - 1 file changed, 22 insertions(+), 5 deletions(-) - -Index: systemd/src/sleep/sleep.c -=================================================================== ---- systemd.orig/src/sleep/sleep.c -+++ systemd/src/sleep/sleep.c -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - #include "sd-id128.h" - #include "sd-messages.h" -@@ -36,6 +37,8 @@ - #include "def.h" - - static char* arg_verb = NULL; -+static bool delegate_to_pmutils = false; -+static const char *pmtools; - - static int write_mode(char **modes) { - int r = 0; -@@ -53,10 +56,6 @@ static int write_mode(char **modes) { - if (r == 0) - r = k; - } -- -- if (r < 0) -- log_error_errno(r, "Failed to write mode to /sys/power/disk: %m"); -- - return r; - } - -@@ -97,6 +96,8 @@ static int execute(char **modes, char ** - int r; - _cleanup_fclose_ FILE *f = NULL; - -+ if (!delegate_to_pmutils) { -+ - /* This file is opened first, so that if we hit an error, - * we can abort before modifying any state. */ - f = fopen("/sys/power/state", "we"); -@@ -107,6 +108,7 @@ static int execute(char **modes, char ** - r = write_mode(modes); - if (r < 0) - return r; -+ } - - execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments); - -@@ -115,8 +117,10 @@ static int execute(char **modes, char ** - LOG_MESSAGE("Suspending system..."), - "SLEEP=%s", arg_verb, - NULL); -- -+ if (!delegate_to_pmutils) - r = write_state(&f, states); -+ else -+ r = -system(pmtools); - if (r < 0) - return r; - -@@ -156,6 +160,7 @@ static int parse_argv(int argc, char *ar - }; - - int c; -+ struct stat buf; - - assert(argc >= 0); - assert(argv); -@@ -193,6 +198,18 @@ static int parse_argv(int argc, char *ar - return -EINVAL; - } - -+ if (streq(arg_verb, "suspend")) { -+ pmtools = "/usr/sbin/pm-suspend"; -+ } -+ else if (streq(arg_verb, "hibernate") || streq(arg_verb, "hybrid-sleep")) { -+ if (streq(arg_verb, "hibernate")) -+ pmtools = "/usr/sbin/pm-hibernate"; -+ else -+ pmtools = "/usr/sbin/pm-suspend-hybrid"; -+ } -+ -+ delegate_to_pmutils = (stat(pmtools, &buf) >= 0 && S_ISREG(buf.st_mode) && (buf.st_mode & 0111)); -+ - return 1 /* work to do */; - } - diff --git a/after-local.service b/after-local.service index a9fb26a7..500c2370 100644 --- a/after-local.service +++ b/after-local.service @@ -15,4 +15,3 @@ Type=idle ExecStart=/etc/init.d/after.local TimeoutSec=0 RemainAfterExit=yes -SysVStartPriority=99 diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch index 507d8fc2..8bc6e24f 100644 --- a/allow-multiple-sulogin-to-be-started.patch +++ b/allow-multiple-sulogin-to-be-started.patch @@ -4,13 +4,15 @@ Subject: allow multiple sulogin to be started allows multiple sulogin instance (bnc#793182). --- - units/getty@.service.m4 | 1 + - units/rescue.target | 1 + - units/serial-getty@.service.m4 | 1 + + units/getty@.service.m4 | 1 + + units/rescue.target | 1 + + units/serial-getty@.service.m4 | 1 + 3 files changed, 3 insertions(+) ---- systemd-206.orig/units/getty@.service.m4 -+++ systemd-206/units/getty@.service.m4 +Index: systemd-221/units/getty@.service.m4 +=================================================================== +--- systemd-221.orig/units/getty@.service.m4 ++++ systemd-221/units/getty@.service.m4 @@ -9,6 +9,7 @@ Description=Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) @@ -19,8 +21,10 @@ allows multiple sulogin instance (bnc#793182). After=systemd-user-sessions.service plymouth-quit-wait.service m4_ifdef(`HAVE_SYSV_COMPAT', After=rc-local.service ---- systemd-206.orig/units/rescue.target -+++ systemd-206/units/rescue.target +Index: systemd-221/units/rescue.target +=================================================================== +--- systemd-221.orig/units/rescue.target ++++ systemd-221/units/rescue.target @@ -10,6 +10,7 @@ Description=Rescue Mode Documentation=man:systemd.special(7) Requires=sysinit.target rescue.service @@ -29,8 +33,10 @@ allows multiple sulogin instance (bnc#793182). AllowIsolate=yes [Install] ---- systemd-206.orig/units/serial-getty@.service.m4 -+++ systemd-206/units/serial-getty@.service.m4 +Index: systemd-221/units/serial-getty@.service.m4 +=================================================================== +--- systemd-221.orig/units/serial-getty@.service.m4 ++++ systemd-221/units/serial-getty@.service.m4 @@ -10,6 +10,7 @@ Description=Serial Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) Documentation=http://0pointer.de/blog/projects/serial-console.html diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index d151032e..257c329b 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -4,14 +4,14 @@ Subject: apply ACL for nvidia device nodes set ACL on nvidia devices (bnc#808319). --- - logind-acl.c | 12 ++++++++++++ + src/login/logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) -Index: systemd-210/src/login/logind-acl.c +Index: systemd-221/src/login/logind-acl.c =================================================================== ---- systemd-210.orig/src/login/logind-acl.c -+++ systemd-210/src/login/logind-acl.c -@@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, +--- systemd-221.orig/src/login/logind-acl.c ++++ systemd-221/src/login/logind-acl.c +@@ -285,5 +285,17 @@ int devnode_acl_all(struct udev *udev, r = k; } diff --git a/apply-ACL-for-nvidia-uvm-device-node.patch b/apply-ACL-for-nvidia-uvm-device-node.patch index 6471d229..00a7c608 100644 --- a/apply-ACL-for-nvidia-uvm-device-node.patch +++ b/apply-ACL-for-nvidia-uvm-device-node.patch @@ -5,13 +5,13 @@ Subject: [PATCH] apply ACL for nvidia-uvm device node set ACL on nvidia-uvm device (bnc#879767). --- - src/login/logind-acl.c | 2 ++ + src/login/logind-acl.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c -index 54bc16b..a40af21 100644 ---- a/src/login/logind-acl.c -+++ b/src/login/logind-acl.c +Index: systemd-221/src/login/logind-acl.c +=================================================================== +--- systemd-221.orig/src/login/logind-acl.c ++++ systemd-221/src/login/logind-acl.c @@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev, if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) break; @@ -21,6 +21,3 @@ index 54bc16b..a40af21 100644 } return r; --- -1.8.4.5 - diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch index 4f676e87..8a8c3caa 100644 --- a/avoid-divide-by-zero-sigtrap.patch +++ b/avoid-divide-by-zero-sigtrap.patch @@ -1,8 +1,28 @@ Nasty bug reported on bnc#867663 ---- systemd-210/src/core/manager.c -+++ systemd-210/src/core/manager.c 2014-04-17 13:29:07.366236714 +0000 -@@ -1780,7 +1780,8 @@ static int manager_dispatch_jobs_in_prog +--- + src/basic/def.h | 2 +- + src/core/manager.c | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +Index: systemd-221/src/basic/def.h +=================================================================== +--- systemd-221.orig/src/basic/def.h ++++ systemd-221/src/basic/def.h +@@ -37,7 +37,7 @@ + + #define SYSTEMD_CGROUP_CONTROLLER "systemd" + +-#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT ++#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS + #define SIGNALS_IGNORE SIGPIPE + + #define DIGITS "0123456789" +Index: systemd-221/src/core/manager.c +=================================================================== +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -1991,7 +1991,8 @@ static int manager_dispatch_jobs_in_prog assert(m); assert(source); @@ -12,14 +32,3 @@ Nasty bug reported on bnc#867663 next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC; r = sd_event_source_set_time(source, next); ---- systemd-210/src/shared/def.h -+++ systemd-210/src/shared/def.h 2014-04-17 13:47:10.946234983 +0000 -@@ -37,7 +37,7 @@ - - #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" - --#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT -+#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS - #define SIGNALS_IGNORE SIGPIPE - - #define DIGITS "0123456789" diff --git a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch index 3e11c296..45208124 100644 --- a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch +++ b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch @@ -7,8 +7,14 @@ later by a shutdown may fail with (journalctl -b -1): which then caused the subsequent fault that umounting the users home directories done by automount are busy. ---- systemd-210/units/user/systemd-exit.service.in -+++ systemd-210/units/user/systemd-exit.service.in 2014-03-25 16:59:20.406235916 +0000 +--- + units/user/systemd-exit.service.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: systemd-221/units/user/systemd-exit.service.in +=================================================================== +--- systemd-221.orig/units/user/systemd-exit.service.in ++++ systemd-221/units/user/systemd-exit.service.in @@ -10,8 +10,9 @@ Description=Exit the Session Documentation=man:systemd.special(7) DefaultDependencies=no diff --git a/baselibs.conf b/baselibs.conf index 7ed6abac..5df8c49f 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,9 +2,7 @@ systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ post "%{_sbindir}/pam-config -a --systemd || :" -# postun "if [ "$1" == "0" ]; then" -# postun "%{_sbindir}/pam-config -d --systemd || :" -# postun "fi" -libgudev-1_0-0 +libsystemd0 libudev1 nss-myhostname +nss-mymachines diff --git a/boot-local-start.patch b/boot-local-start.patch index 2f9e9d55..67576b9f 100644 --- a/boot-local-start.patch +++ b/boot-local-start.patch @@ -1,6 +1,11 @@ -diff -Naur systemd-210/units/rc-local.service.in systemd-210-mod/units/rc-local.service.in ---- systemd-210/units/rc-local.service.in 2013-08-13 22:02:52.788756123 +0200 -+++ systemd-210-mod/units/rc-local.service.in 2014-03-25 08:34:40.317587764 +0100 +--- + units/rc-local.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-221/units/rc-local.service.in +=================================================================== +--- systemd-221.orig/units/rc-local.service.in ++++ systemd-221/units/rc-local.service.in @@ -10,7 +10,7 @@ [Unit] Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch index ac8dbcfd..eb2fa9a4 100644 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -9,8 +9,10 @@ ensure passphrase is handled before starting getty on tty1. units/systemd-ask-password-wall.service.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in -+++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in +Index: systemd-221/units/systemd-ask-password-wall.service.in +=================================================================== +--- systemd-221.orig/units/systemd-ask-password-wall.service.in ++++ systemd-221/units/systemd-ask-password-wall.service.in @@ -8,7 +8,8 @@ [Unit] Description=Forward Password Requests to Wall diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch index 77bed82d..7771f1c9 100644 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -4,30 +4,28 @@ Subject: ensure shortname is set as hostname (bnc#820213) strip hostname so the domain part isn't set as part of the hostname --- - src/core/hostname-setup.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) + src/core/hostname-setup.c | 4 ++++ + 1 file changed, 4 insertions(+) -Index: systemd-218/src/core/hostname-setup.c +Index: systemd-221/src/core/hostname-setup.c =================================================================== ---- systemd-218.orig/src/core/hostname-setup.c -+++ systemd-218/src/core/hostname-setup.c -@@ -32,7 +32,7 @@ - #include "fileio.h" - - static int read_and_strip_hostname(const char *path, char **hn) { -- char *s; -+ char *s, *domain; +--- systemd-221.orig/src/core/hostname-setup.c ++++ systemd-221/src/core/hostname-setup.c +@@ -34,6 +34,7 @@ int hostname_setup(void) { int r; + _cleanup_free_ char *b = NULL; + const char *hn; ++ char *domain; + bool enoent = false; - assert(path); -@@ -49,6 +49,10 @@ static int read_and_strip_hostname(const - return -ENOENT; - } - + r = read_hostname_config("/etc/hostname", &b); +@@ -46,6 +47,9 @@ int hostname_setup(void) { + hn = NULL; + } else + hn = b; + /* strip any leftover of a domain name */ -+ if ((domain = strchr(s, '.')) != NULL) ++ if ((domain = strchr(hn, '.')) != NULL) + *domain = '\0'; -+ - *hn = s; - return 0; - } + + if (isempty(hn)) { + /* Don't override the hostname if it is already set diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index c4875197..ded80983 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -3,14 +3,14 @@ Date: Thu, 23 Aug 2012 11:08:25 +0200 Subject: fix support for boot prefixed initscript (bnc#746506) --- - src/systemctl/systemctl.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) + src/systemctl/systemctl.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) -Index: systemd-218/src/systemctl/systemctl.c +Index: systemd-221/src/systemctl/systemctl.c =================================================================== ---- systemd-218.orig/src/systemctl/systemctl.c -+++ systemd-218/src/systemctl/systemctl.c -@@ -5202,8 +5202,26 @@ static int enable_sysv_units(const char +--- systemd-221.orig/src/systemctl/systemctl.c ++++ systemd-221/src/systemctl/systemctl.c +@@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char p[strlen(p) - strlen(".service")] = 0; found_sysv = access(p, F_OK) >= 0; @@ -27,14 +27,12 @@ Index: systemd-218/src/systemctl/systemctl.c + return -ENOMEM; + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; -+ -+ if (!found_sysv) { ++ if (!found_sysv) + continue; -+ } +#else continue; +#endif + } - log_info("%s is not a native service, redirecting to /sbin/chkconfig.", name); - + if (found_native) + log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 52af3ee9..865322fb 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -1,36 +1,41 @@ -From: Frederic Crozat -Date: Fri, 19 Aug 2011 15:29:49 +0000 +Original-From: Frederic Crozat +Original-Date: Fri, 19 Aug 2011 15:29:49 +0000 Subject: handle disable_caplock and compose_table and kbd_rate +References: https://bugzilla.opensuse.org/746595 +Last-Editor: Jan Engelhardt +Date: Fri Jun 19 21:36:27 CEST 2015 -(bnc#746595) --- - src/vconsole/vconsole-setup.c | 151 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 148 insertions(+), 3 deletions(-) + src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 147 insertions(+), 4 deletions(-) -Index: systemd-218/src/vconsole/vconsole-setup.c +Index: systemd-221/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-218.orig/src/vconsole/vconsole-setup.c -+++ systemd-218/src/vconsole/vconsole-setup.c -@@ -40,6 +40,7 @@ - #include "macro.h" +--- systemd-221.orig/src/vconsole/vconsole-setup.c ++++ systemd-221/src/vconsole/vconsole-setup.c +@@ -35,6 +35,8 @@ + #include "log.h" #include "virt.h" #include "fileio.h" ++#include "macro.h" +#include "strv.h" - - static bool is_vconsole(int fd) { - unsigned char data[1]; -@@ -101,8 +102,8 @@ static int enable_utf8(int fd) { + #include "process-util.h" + #include "terminal-util.h" + #include "signal-util.h" +@@ -99,8 +101,10 @@ static int enable_utf8(int fd) { return r; } --static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { +-static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) { - const char *args[8]; -+static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, pid_t *_pid) { ++static int keyboard_load_and_wait(const char *vc, const char *map, ++ const char *map_toggle, bool utf8, bool disable_capslock) ++{ + const char *args[9]; - int i = 0; + int i = 0, r; pid_t pid; -@@ -121,6 +122,8 @@ static int keymap_load(const char *vc, c +@@ -117,6 +121,8 @@ static int keyboard_load_and_wait(const args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,23 +44,23 @@ Index: systemd-218/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -236,11 +239,113 @@ static void font_copy_to_all_vcs(int fd) +@@ -246,11 +252,117 @@ static void font_copy_to_all_vcs(int fd) } } +#ifdef HAVE_SYSV_COMPAT -+static int load_compose_table(const char *vc, const char *compose_table, pid_t *_pid) { ++static int compose_load_and_wait(const char *vc, const char *compose_table) ++{ + const char *args[1024]; -+ int i = 0, j = 0; ++ unsigned int i = 0, j = 0; ++ int ret; + pid_t pid; + char **strv_compose_table = NULL; + char *to_free[1024]; + -+ if (isempty(compose_table)) { -+ /* An empty map means no compose table*/ -+ *_pid = 0; -+ return 0; -+ } ++ if (isempty(compose_table)) ++ /* An empty map means no compose table */ ++ return 1; + + args[i++] = KBD_LOADKEYS; + args[i++] = "-q"; @@ -69,50 +74,51 @@ Index: systemd-218/src/vconsole/vconsole-setup.c + char **name; + char *arg; + -+ STRV_FOREACH (name, strv_compose_table) { -+ if (streq(*name,"-c") || streq(*name,"clear")) { ++ STRV_FOREACH(name, strv_compose_table) { ++ if (streq(*name, "-c") || streq(*name, "clear")) { + compose_clear = true; + continue; + } -+ if (!compose_loaded) { -+ if (compose_clear) -+ args[i++] = "-c"; -+ } -+ asprintf(&arg, "compose.%s",*name); ++ if (!compose_loaded && compose_clear) ++ args[i++] = "-c"; ++ asprintf(&arg, "compose.%s", *name); + compose_loaded = true; + args[i++] = to_free[j++] = arg; -+ ++ if (i >= ELEMENTSOF(args) - 1) ++ break; + } + strv_free(strv_compose_table); + } + args[i++] = NULL; + -+ if ((pid = fork()) < 0) { -+ log_error("Failed to fork: %m"); -+ return -errno; -+ } else if (pid == 0) { ++ pid = fork(); ++ if (pid < 0) ++ return log_error_errno(errno, "Failed to fork: %m"); ++ if (pid == 0) { ++ reset_all_signal_handlers(); ++ reset_signal_mask(); + execv(args[0], (char **) args); + _exit(EXIT_FAILURE); + } + -+ *_pid = pid; -+ -+ for (i=0 ; i < j ; i++) -+ free (to_free[i]); -+ -+ return 0; ++ ret = wait_for_terminate_and_warn(args[0], pid, true); ++ for (i = 0; i < j; ++i) ++ free(to_free[i]); ++ if (ret < 0) ++ return ret; ++ return ret == 0; +} +#endif + -+static int set_kbd_rate(const char *vc, const char *kbd_rate, const char *kbd_delay, pid_t *_pid) { ++static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate, ++ const char *kbd_delay) ++{ + const char *args[7]; -+ int i = 0; ++ int i = 0, ret; + pid_t pid; + -+ if (isempty(kbd_rate) && isempty(kbd_delay)) { -+ *_pid = 0; -+ return 0; -+ } ++ if (isempty(kbd_rate) && isempty(kbd_delay)) ++ return 1; + + args[i++] = "/bin/kbdrate"; + if (!isempty(kbd_rate)) { @@ -126,16 +132,19 @@ Index: systemd-218/src/vconsole/vconsole-setup.c + args[i++] = "-s"; + args[i++] = NULL; + -+ if ((pid = fork()) < 0) { -+ log_error("Failed to fork: %m"); -+ return -errno; -+ } else if (pid == 0) { ++ pid = fork(); ++ if (pid < 0) ++ return log_error_errno(errno, "Failed to fork: %m"); ++ if (pid == 0) { ++ reset_all_signal_handlers(); ++ reset_signal_mask(); + execv(args[0], (char **) args); + _exit(EXIT_FAILURE); + } -+ -+ *_pid = pid; -+ return 0; ++ ret = wait_for_terminate_and_warn(args[0], pid, true); ++ if (ret < 0) ++ return ret; ++ return ret == 0; +} + int main(int argc, char **argv) { @@ -147,13 +156,13 @@ Index: systemd-218/src/vconsole/vconsole-setup.c + _cleanup_free_ char + *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, + *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+ pid_t kbd_rate_pid = 0, compose_table_pid = 0; +#endif + bool disable_capslock = false; ++ bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; - bool utf8; - pid_t font_pid = 0, keymap_pid = 0; -@@ -273,6 +378,28 @@ int main(int argc, char **argv) { + bool utf8, font_copy = false, font_ok, keyboard_ok; + int r = EXIT_FAILURE; +@@ -281,6 +393,31 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -166,7 +175,8 @@ Index: systemd-218/src/vconsole/vconsole-setup.c + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", ++ strerror(-r)); + + r = parse_env_file("/etc/sysconfig/console", NEWLINE, + "CONSOLE_FONT", &vc_font, @@ -174,45 +184,33 @@ Index: systemd-218/src/vconsole/vconsole-setup.c + "CONSOLE_UNICODEMAP", &vc_font_unimap, + NULL); + if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); ++ log_warning("Failed to read /etc/sysconfig/console: %s", ++ strerror(-r)); + -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#endif ++ disable_capslock = vc_kbd_disable_caps_lock && ++ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#endif /* HAVE_SYSV_COMPAT */ + r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -312,14 +439,32 @@ int main(int argc, char **argv) { - if (font_pid > 0) - wait_for_terminate_and_warn(KBD_SETFONT, font_pid, true); +@@ -312,11 +449,17 @@ int main(int argc, char **argv) { + (void) disable_utf8(fd); -- r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid); -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); - if (r < 0) { - log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); - return EXIT_FAILURE; - } + font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; +- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0; ++ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, ++ utf8, disable_capslock) > 0; +#ifdef HAVE_SYSV_COMPAT -+ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); -+ if (r < 0) { -+ log_error_errno(r, "Failed to start " KBD_LOADKEYS " loading the compose table: %m"); -+ return EXIT_FAILURE; -+ } -+ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); -+ if (r < 0) { -+ log_error_errno(r, "Failed to start kbdrate: %m"); -+ return EXIT_FAILURE; -+ } ++ comp_ok = compose_load_and_wait(vc, vc_compose_table); ++ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); +#endif - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid, true); -+#ifdef HAVE_SYSV_COMPAT -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid, true); -+ if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/usr/bin/kbdrate", kbd_rate_pid, true); -+#endif + /* Only copy the font when we executed setfont successfully */ + if (font_copy && font_ok) + (void) font_copy_to_all_vcs(fd); - /* Only copy the font when we started setfont successfully */ - if (font_copy && font_pid > 0) +- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE; ++ return font_ok && keyboard_ok && comp_ok && rate_ok ? ++ EXIT_SUCCESS : EXIT_FAILURE; + } diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index a9f6924a..db480a34 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -14,12 +14,10 @@ Cristian Rodríguez units/systemd-vconsole-setup.service.in | 2 - 5 files changed, 94 insertions(+), 3 deletions(-) -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -3715,6 +3715,19 @@ dist_udevrules_DATA += \ - rules/61-accelerometer.rules +--- systemd-222.orig/Makefile.am ++++ systemd-222/Makefile.am +@@ -3805,6 +3805,19 @@ dist_udevrules_DATA += \ + rules/60-persistent-v4l.rules # ------------------------------------------------------------------------------ +numlock_on_SOURCES = \ @@ -35,13 +33,11 @@ Index: systemd-218/Makefile.am + rules/73-seat-numlock.rules + +# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ -Index: systemd-218/rules/73-seat-numlock.rules -=================================================================== + mtd_probe_SOURCES = \ + src/udev/mtd_probe/mtd_probe.c \ + src/udev/mtd_probe/mtd_probe.h \ --- /dev/null -+++ systemd-218/rules/73-seat-numlock.rules ++++ systemd-222/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -51,10 +47,8 @@ Index: systemd-218/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-218/src/login/numlock-on.c -=================================================================== --- /dev/null -+++ systemd-218/src/login/numlock-on.c ++++ systemd-222/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -90,13 +84,11 @@ Index: systemd-218/src/login/numlock-on.c + + exit(0); +} -Index: systemd-218/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-218.orig/src/vconsole/vconsole-setup.c -+++ systemd-218/src/vconsole/vconsole-setup.c -@@ -42,6 +42,10 @@ - #include "fileio.h" - #include "strv.h" +--- systemd-222.orig/src/vconsole/vconsole-setup.c ++++ systemd-222/src/vconsole/vconsole-setup.c +@@ -41,6 +41,10 @@ + #include "terminal-util.h" + #include "signal-util.h" +#define BIOS_DATA_AREA 0x400 +#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 @@ -105,21 +97,20 @@ Index: systemd-218/src/vconsole/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -342,10 +346,11 @@ int main(int argc, char **argv) { +@@ -359,9 +363,10 @@ int main(int argc, char **argv) { #ifdef HAVE_SYSV_COMPAT _cleanup_free_ char *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, - *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; + *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, + *vc_kbd_numlock = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; #endif - bool disable_capslock = false; + bool disable_capslock = false, numlock = false; + bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; - bool utf8; - pid_t font_pid = 0, keymap_pid = 0; -@@ -384,6 +389,7 @@ int main(int argc, char **argv) { + bool utf8, font_copy = false, font_ok, keyboard_ok; +@@ -399,6 +404,7 @@ int main(int argc, char **argv) { "KBD_DELAY", &vc_kbd_delay, "KBD_RATE", &vc_kbd_rate, "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, @@ -127,54 +118,52 @@ Index: systemd-218/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -398,6 +404,32 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -416,6 +422,32 @@ int main(int argc, char **argv) { - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && + strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); +#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; + -+ fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } ++ fdmem = open ("/dev/mem", O_RDONLY); ++ if (fdmem < 0) { ++ log_error("Failed to open /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } + -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } ++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ log_error("Failed to seek /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } + -+ if (read (fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } ++ if (read(fdmem, &c, sizeof(char)) == -1) { ++ log_error("Failed to read /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } + -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ } else -+#endif -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } ++#endif /* x86 */ + #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -444,6 +476,10 @@ int main(int argc, char **argv) { - log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); - return EXIT_FAILURE; - } +@@ -451,6 +483,10 @@ int main(int argc, char **argv) { + font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; + keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, + utf8, disable_capslock) > 0; + if (numlock) + touch("/run/numlock-on"); + else + unlink("/run/numlock-on"); #ifdef HAVE_SYSV_COMPAT - r = load_compose_table(vc, vc_compose_table, &compose_table_pid); - if (r < 0) { -Index: systemd-218/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-218.orig/units/systemd-vconsole-setup.service.in -+++ systemd-218/units/systemd-vconsole-setup.service.in + comp_ok = compose_load_and_wait(vc, vc_compose_table); + rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); +--- systemd-222.orig/units/systemd-vconsole-setup.service.in ++++ systemd-222/units/systemd-vconsole-setup.service.in @@ -10,7 +10,7 @@ Description=Setup Virtual Console Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index a441dd59..16e2272a 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -7,11 +7,11 @@ handle ROOT_USES_LANG=ctype (bnc#792182). src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) -Index: systemd-218/src/core/locale-setup.c +Index: systemd-221/src/core/locale-setup.c =================================================================== ---- systemd-218.orig/src/core/locale-setup.c -+++ systemd-218/src/core/locale-setup.c -@@ -36,6 +36,11 @@ int locale_setup(char ***environment) { +--- systemd-221.orig/src/core/locale-setup.c ++++ systemd-221/src/core/locale-setup.c +@@ -34,6 +34,11 @@ int locale_setup(char ***environment) { char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; @@ -23,7 +23,7 @@ Index: systemd-218/src/core/locale-setup.c if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -82,6 +87,27 @@ int locale_setup(char ***environment) { +@@ -80,6 +85,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } diff --git a/hostname-NULL.patch b/hostname-NULL.patch new file mode 100644 index 00000000..ccd9133c --- /dev/null +++ b/hostname-NULL.patch @@ -0,0 +1,13 @@ +Index: systemd-222/src/core/hostname-setup.c +=================================================================== +--- systemd-222.orig/src/core/hostname-setup.c ++++ systemd-222/src/core/hostname-setup.c +@@ -44,7 +44,7 @@ int hostname_setup(void) { + else + log_warning_errno(r, "Failed to read configured hostname: %m"); + +- hn = NULL; ++ hn = strdup("nohostname.set.site"); + } else + hn = b; + /* strip any leftover of a domain name */ diff --git a/insserv-generator.patch b/insserv-generator.patch index 1e1cdf4e..9e5afdbc 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -8,14 +8,16 @@ systemd unit drop-in files to add dependencies --- Makefile.am | 9 src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 312 ++++++++++++++++++++++++++++++ - 3 files changed, 349 insertions(+) + src/insserv-generator/insserv-generator.c | 316 ++++++++++++++++++++++++++++++ + 3 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c ---- systemd-219.orig/Makefile.am -+++ systemd-219/Makefile.am -@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \ +Index: systemd-224/Makefile.am +=================================================================== +--- systemd-224.orig/Makefile.am ++++ systemd-224/Makefile.am +@@ -617,7 +617,8 @@ nodist_systemunit_DATA += \ systemgenerator_PROGRAMS += \ systemd-sysv-generator \ @@ -25,23 +27,23 @@ systemd unit drop-in files to add dependencies endif EXTRA_DIST += \ -@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \ - libsystemd-label.la \ - libsystemd-shared.la +@@ -2556,6 +2557,12 @@ $(systemd_boot): $(systemd_boot_solib) + endif + endif +#------------------------------------------------------------------------------- +systemd_insserv_generator_SOURCES = \ + src/insserv-generator/insserv-generator.c + -+systemd_insserv_generator_LDADD = \ -+ libsystemd-label.la \ -+ libsystemd-shared.la ++systemd_insserv_generator_LDADD = libbasic.la + # ------------------------------------------------------------------------------ - systemd_remount_fs_SOURCES = \ - src/remount-fs/remount-fs.c \ + stub_headers = \ + src/boot/efi/util.h \ +Index: systemd-224/src/insserv-generator/Makefile +=================================================================== --- /dev/null -+++ systemd-219/src/insserv-generator/Makefile ++++ systemd-224/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -71,9 +73,11 @@ systemd unit drop-in files to add dependencies + $(MAKE) -C .. clean + +.PHONY: all clean +Index: systemd-224/src/insserv-generator/insserv-generator.c +=================================================================== --- /dev/null -+++ systemd-219/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,312 @@ ++++ systemd-224/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,316 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -153,6 +157,7 @@ systemd unit drop-in files to add dependencies + unsigned i; + char *r; + const char *n; ++ int ret; + + assert(name); + assert(_r); @@ -182,7 +187,9 @@ systemd unit drop-in files to add dependencies + return -EINVAL; + + /* Facilities starting with $ are most likely targets */ -+ r = unit_name_build(n, NULL, ".target"); ++ ret = unit_name_build(n, NULL, ".target", &r); ++ if (ret < 0) ++ return ret; + } else if (filename && streq(name, filename)) + /* Names equaling the file name of the services are redundant */ + return 0; @@ -246,7 +253,8 @@ systemd unit drop-in files to add dependencies + r = write_string_file(unit, + "# Automatically generated by systemd-insserv-generator\n\n" + "[Unit]\n" -+ "Wants=remote-fs-pre.target\n"); ++ "Wants=remote-fs-pre.target\n", ++ WRITE_STRING_FILE_CREATE); + if (r) + return r; + free (facility); diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch index 4caf994f..46a3e446 100644 --- a/journald-advice-about-use-of-memory.patch +++ b/journald-advice-about-use-of-memory.patch @@ -16,11 +16,11 @@ What is the rationale for MAP_STACK? src/journal/mmap-cache.c | 16 +++++++++++++++- 4 files changed, 33 insertions(+), 5 deletions(-) -Index: systemd/src/journal/catalog.c +Index: systemd-221/src/journal/catalog.c =================================================================== ---- systemd.orig/src/journal/catalog.c -+++ systemd/src/journal/catalog.c -@@ -470,6 +470,10 @@ finish: +--- systemd-221.orig/src/journal/catalog.c ++++ systemd-221/src/journal/catalog.c +@@ -469,6 +469,10 @@ finish: static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { const CatalogHeader *h; @@ -31,7 +31,7 @@ Index: systemd/src/journal/catalog.c int fd; void *p; struct stat st; -@@ -492,12 +496,18 @@ static int open_mmap(const char *databas +@@ -491,12 +495,18 @@ static int open_mmap(const char *databas return -EINVAL; } @@ -51,10 +51,10 @@ Index: systemd/src/journal/catalog.c h = p; if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || le64toh(h->header_size) < sizeof(CatalogHeader) || -Index: systemd/src/journal/journal-authenticate.c +Index: systemd-221/src/journal/journal-authenticate.c =================================================================== ---- systemd.orig/src/journal/journal-authenticate.c -+++ systemd/src/journal/journal-authenticate.c +--- systemd-221.orig/src/journal/journal-authenticate.c ++++ systemd-221/src/journal/journal-authenticate.c @@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f goto finish; } @@ -76,10 +76,10 @@ Index: systemd/src/journal/journal-authenticate.c if (f->fss_file == MAP_FAILED) { f->fss_file = NULL; r = -errno; -Index: systemd/src/journal/journald-kmsg.c +Index: systemd-221/src/journal/journald-kmsg.c =================================================================== ---- systemd.orig/src/journal/journald-kmsg.c -+++ systemd/src/journal/journald-kmsg.c +--- systemd-221.orig/src/journal/journald-kmsg.c ++++ systemd-221/src/journal/journald-kmsg.c @@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) return 0; } @@ -90,11 +90,11 @@ Index: systemd/src/journal/journald-kmsg.c if (p == MAP_FAILED) { log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); return 0; -Index: systemd/src/journal/mmap-cache.c +Index: systemd-221/src/journal/mmap-cache.c =================================================================== ---- systemd.orig/src/journal/mmap-cache.c -+++ systemd/src/journal/mmap-cache.c -@@ -467,11 +467,14 @@ static int add_mmap( +--- systemd-221.orig/src/journal/mmap-cache.c ++++ systemd-221/src/journal/mmap-cache.c +@@ -466,11 +466,14 @@ static int add_mmap( struct stat *st, void **ret) { @@ -109,7 +109,7 @@ Index: systemd/src/journal/mmap-cache.c int r; assert(m); -@@ -510,7 +513,8 @@ static int add_mmap( +@@ -509,7 +512,8 @@ static int add_mmap( } for (;;) { @@ -119,7 +119,7 @@ Index: systemd/src/journal/mmap-cache.c if (d != MAP_FAILED) break; if (errno != ENOMEM) -@@ -523,6 +527,16 @@ static int add_mmap( +@@ -522,6 +526,16 @@ static int add_mmap( return -ENOMEM; } diff --git a/kbd-model-map.patch b/kbd-model-map.patch index b7327892..f45b0874 100644 --- a/kbd-model-map.patch +++ b/kbd-model-map.patch @@ -5,10 +5,10 @@ Date: Tue Jan 20 11:33:59 UTC 2015 src/locale/kbd-model-map | 13 +++++++++++++ 1 file changed, 13 insertions(+) -Index: systemd/src/locale/kbd-model-map +Index: systemd-221/src/locale/kbd-model-map =================================================================== ---- systemd.orig/src/locale/kbd-model-map -+++ systemd/src/locale/kbd-model-map +--- systemd-221.orig/src/locale/kbd-model-map ++++ systemd-221/src/locale/kbd-model-map @@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a lt.l4 lt pc105 - terminate:ctrl_alt_bksp lt lt pc105 - terminate:ctrl_alt_bksp diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch index 4879c708..274d103c 100644 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ b/let-linker-find-libudev-for-libdevmapper.patch @@ -1,35 +1,19 @@ --- - Makefile.am | 4 ++++ configure.ac | 4 ---- - 2 files changed, 4 insertions(+), 4 deletions(-) + 1 file changed, 4 deletions(-) -Index: systemd/Makefile.am +Index: systemd-224/configure.ac =================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -4789,6 +4789,10 @@ systemd_cryptsetup_CFLAGS = \ - $(AM_CFLAGS) \ - $(LIBCRYPTSETUP_CFLAGS) - -+systemd_cryptsetup_LDFLAGS = \ -+ $(AM_LDFLAGS) \ -+ -Wl,-rpath-link=$(top_srcdir)/.libs -+ - systemd_cryptsetup_LDADD = \ - libsystemd-label.la \ - libudev-internal.la \ -Index: systemd/configure.ac -=================================================================== ---- systemd.orig/configure.ac -+++ systemd/configure.ac -@@ -206,10 +206,6 @@ AS_CASE([$CC], [*clang*], +--- systemd-224.orig/configure.ac ++++ systemd-224/configure.ac +@@ -199,10 +199,6 @@ AS_CASE([$CC], [*clang*], -Wno-gnu-variable-sized-type-not-at-end \ ])]) --AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], +-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto -ffat-lto-objects])], +- -flto])], - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") - AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], + AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch new file mode 100644 index 00000000..b106fc22 --- /dev/null +++ b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch @@ -0,0 +1,84 @@ +From: Werner Fink +Date: Wed Sep 23 12:37:23 UTC 2015 +Subject: Do not bother vistual console to much with GIO/PIO + +This avoids broken virtual console mapping due stressed ioctl API +for the virtual consoles (boo#904214) + +--- + src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- + 1 file changed, 25 insertions(+), 14 deletions(-) + +--- src/vconsole/vconsole-setup.c ++++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 +@@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) + unsigned short map16[E_TABSZ]; + struct unimapdesc unimapd; + struct unipair unipairs[USHRT_MAX]; ++ struct console_font_op cfo = {}; + int i, r; + ++ bool hasmap8; ++ bool hasmap16; ++ bool hasunimap; ++ + /* get active, and 16 bit mask of used VT numbers */ + r = ioctl(fd, VT_GETSTATE, &vcs); + if (r < 0) { +@@ -211,10 +216,22 @@ static void font_copy_to_all_vcs(int fd) + return; + } + ++ /* copy font from active VT, where the font was uploaded to */ ++ cfo.op = KD_FONT_OP_COPY; ++ cfo.height = vcs.v_active-1; /* tty1 == index 0 */ ++ ++ hasmap8 = (ioctl(fd, GIO_SCRNMAP, map8) >= 0); ++ hasmap16 = (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0); ++ ++ /* unimapd is a ushort count and a pointer to an ++ * array of struct unipair { ushort, ushort } */ ++ unimapd.entries = unipairs; ++ unimapd.entry_ct = USHRT_MAX; ++ hasunimap = (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0); ++ + for (i = 1; i <= 15; i++) { + char vcname[strlen("/dev/vcs") + DECIMAL_STR_MAX(int)]; + _cleanup_close_ int vcfd = -1; +- struct console_font_op cfo = {}; + + if (i == vcs.v_active) + continue; +@@ -229,25 +246,19 @@ static void font_copy_to_all_vcs(int fd) + if (vcfd < 0) + continue; + +- /* copy font from active VT, where the font was uploaded to */ +- cfo.op = KD_FONT_OP_COPY; +- cfo.height = vcs.v_active-1; /* tty1 == index 0 */ ++ /* copy font from active VT to vcs */ + (void) ioctl(vcfd, KDFONTOP, &cfo); + +- /* copy map of 8bit chars */ +- if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) ++ /* copy map of 8bit chars to vcs */ ++ if (hasmap8) + (void) ioctl(vcfd, PIO_SCRNMAP, map8); + +- /* copy map of 8bit chars -> 16bit Unicode values */ +- if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) ++ /* copy map of 8bit chars -> 16bit Unicode values to vcs */ ++ if (hasmap16) + (void) ioctl(vcfd, PIO_UNISCRNMAP, map16); + +- /* copy unicode translation table */ +- /* unimapd is a ushort count and a pointer to an +- array of struct unipair { ushort, ushort } */ +- unimapd.entries = unipairs; +- unimapd.entry_ct = USHRT_MAX; +- if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { ++ /* copy unicode translation table to vcs */ ++ if (hasunimap) { + struct unimapinit adv = { 0, 0, 0 }; + + (void) ioctl(vcfd, PIO_UNIMAPCLR, &adv); diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch index d5814921..808fc9a2 100644 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ b/make-emergency.service-conflict-with-syslog.socket.patch @@ -11,10 +11,10 @@ Reference: bnc#852232 units/emergency.service.in | 1 + 1 file changed, 1 insertion(+) -Index: systemd-218/units/emergency.service.in +Index: systemd-221/units/emergency.service.in =================================================================== ---- systemd-218.orig/units/emergency.service.in -+++ systemd-218/units/emergency.service.in +--- systemd-221.orig/units/emergency.service.in ++++ systemd-221/units/emergency.service.in @@ -11,6 +11,7 @@ Documentation=man:sulogin(8) DefaultDependencies=no Conflicts=shutdown.target diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch index 4226b51c..cd65edec 100644 --- a/parse-crypttab-for-noauto-option.patch +++ b/parse-crypttab-for-noauto-option.patch @@ -2,11 +2,11 @@ src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) -Index: systemd/src/fstab-generator/fstab-generator.c +Index: systemd-221/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd.orig/src/fstab-generator/fstab-generator.c -+++ systemd/src/fstab-generator/fstab-generator.c -@@ -48,6 +48,49 @@ static char *arg_usr_what = NULL; +--- systemd-221.orig/src/fstab-generator/fstab-generator.c ++++ systemd-221/src/fstab-generator/fstab-generator.c +@@ -47,6 +47,49 @@ static char *arg_usr_what = NULL; static char *arg_usr_fstype = NULL; static char *arg_usr_options = NULL; @@ -56,7 +56,7 @@ Index: systemd/src/fstab-generator/fstab-generator.c static int add_swap( const char *what, struct mntent *me, -@@ -118,7 +161,7 @@ static int add_swap( +@@ -108,7 +151,7 @@ static int add_swap( if (r < 0) return r; diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch index 242a05d1..331034ec 100644 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ b/plymouth-quit-and-wait-for-emergency-service.patch @@ -1,13 +1,13 @@ --- units/console-shell.service.m4.in | 2 ++ - units/emergency.service.in | 3 ++- + units/emergency.service.in | 2 +- units/rescue.service.in | 3 ++- - 3 files changed, 6 insertions(+), 2 deletions(-) + 3 files changed, 5 insertions(+), 2 deletions(-) -Index: systemd/units/console-shell.service.m4.in +Index: systemd-224/units/console-shell.service.m4.in =================================================================== ---- systemd.orig/units/console-shell.service.m4.in -+++ systemd/units/console-shell.service.m4.in +--- systemd-224.orig/units/console-shell.service.m4.in ++++ systemd-224/units/console-shell.service.m4.in @@ -17,6 +17,8 @@ Before=getty.target [Service] Environment=HOME=/root @@ -17,24 +17,23 @@ Index: systemd/units/console-shell.service.m4.in ExecStart=-@SULOGIN@ ExecStopPost=-@SYSTEMCTL@ poweroff Type=idle -Index: systemd/units/emergency.service.in +Index: systemd-224/units/emergency.service.in =================================================================== ---- systemd.orig/units/emergency.service.in -+++ systemd/units/emergency.service.in -@@ -17,7 +17,8 @@ Before=shutdown.target +--- systemd-224.orig/units/emergency.service.in ++++ systemd-224/units/emergency.service.in +@@ -17,7 +17,7 @@ Before=shutdown.target [Service] Environment=HOME=/root WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait +-ExecStartPre=-/bin/plymouth --wait quit ++ExecStartPre=-/usr/bin/plymouth --wait quit ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" Type=idle -Index: systemd/units/rescue.service.in +Index: systemd-224/units/rescue.service.in =================================================================== ---- systemd.orig/units/rescue.service.in -+++ systemd/units/rescue.service.in +--- systemd-224.orig/units/rescue.service.in ++++ systemd-224/units/rescue.service.in @@ -16,7 +16,8 @@ Before=shutdown.target [Service] Environment=HOME=/root @@ -43,5 +42,5 @@ Index: systemd/units/rescue.service.in +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" Type=idle diff --git a/portmap-wants-rpcbind-socket.patch b/portmap-wants-rpcbind-socket.patch index 58b9cfbc..77fb2871 100644 --- a/portmap-wants-rpcbind-socket.patch +++ b/portmap-wants-rpcbind-socket.patch @@ -1,5 +1,11 @@ ---- systemd-210/units/rpcbind.target -+++ systemd-210/units/rpcbind.target 2014-04-08 07:21:55.438235838 +0000 +--- + units/rpcbind.target | 1 + + 1 file changed, 1 insertion(+) + +Index: systemd-221/units/rpcbind.target +=================================================================== +--- systemd-221.orig/units/rpcbind.target ++++ systemd-221/units/rpcbind.target @@ -12,3 +12,4 @@ Description=RPC Port Mapper Documentation=man:systemd.special(7) diff --git a/pre_checkin.sh b/pre_checkin.sh index 18706301..80ae3ad6 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -5,8 +5,8 @@ ORIG_SPEC=systemd EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" -sed "s/^%define bootstrap.*$/${EDIT_WARNING}%define bootstrap 1/; - s/^%define udevpkgname.*$/${EDIT_WARNING}%define udevpkgname udev-mini/; +sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; + s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; s/^\(Name:.*\)$/\1-mini/; s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec diff --git a/rescue-emergency-target-conflicts.patch b/rescue-emergency-target-conflicts.patch index f4f15988..a02e7ed3 100644 --- a/rescue-emergency-target-conflicts.patch +++ b/rescue-emergency-target-conflicts.patch @@ -1,13 +1,22 @@ ---- systemd-210/units/emergency.target -+++ systemd-210/units/emergency.target 2014-04-15 11:11:18.618235831 +0000 +--- + units/emergency.target | 1 + + units/rescue.target | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +Index: systemd-221/units/emergency.target +=================================================================== +--- systemd-221.orig/units/emergency.target ++++ systemd-221/units/emergency.target @@ -10,4 +10,5 @@ Description=Emergency Mode Documentation=man:systemd.special(7) Requires=emergency.service After=emergency.service +Conflicts=getty.target rescue.target AllowIsolate=yes ---- systemd-210/units/rescue.target -+++ systemd-210/units/rescue.target 2014-04-15 11:14:40.606808928 +0000 +Index: systemd-221/units/rescue.target +=================================================================== +--- systemd-221.orig/units/rescue.target ++++ systemd-221/units/rescue.target @@ -10,7 +10,8 @@ Description=Rescue Mode Documentation=man:systemd.special(7) Requires=sysinit.target rescue.service diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch index 91822e07..a4a4ba65 100644 --- a/respect-nfs-bg-option.patch +++ b/respect-nfs-bg-option.patch @@ -2,11 +2,11 @@ src/fstab-generator/fstab-generator.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -Index: systemd-218/src/fstab-generator/fstab-generator.c +Index: systemd-221/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd-218.orig/src/fstab-generator/fstab-generator.c -+++ systemd-218/src/fstab-generator/fstab-generator.c -@@ -238,8 +238,11 @@ static int add_mount( +--- systemd-221.orig/src/fstab-generator/fstab-generator.c ++++ systemd-221/src/fstab-generator/fstab-generator.c +@@ -289,8 +289,11 @@ static int add_mount( "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", source); @@ -18,5 +18,5 @@ Index: systemd-218/src/fstab-generator/fstab-generator.c + fprintf(f, "Before=%s\n", post); + } - if (passno != 0) { - r = generator_write_fsck_deps(f, arg_dest, what, where, fstype); + if (!automount && opts) { + r = write_requires_after(f, opts); diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index 132b73e1..37147945 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -10,11 +10,11 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount -Index: systemd-218/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -516,6 +516,12 @@ endif +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -526,6 +526,12 @@ dist_systemunit_DATA += \ dist_systemunit_DATA_busnames += \ units/busnames.target @@ -27,9 +27,9 @@ Index: systemd-218/Makefile.am nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -6086,6 +6092,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -6123,6 +6129,9 @@ GRAPHICAL_TARGET_WANTS += \ systemd-update-utmp-runlevel.service - RUNLEVEL5_TARGET_WANTS += \ + RESCUE_TARGET_WANTS += \ systemd-update-utmp-runlevel.service +LOCAL_FS_TARGET_WANTS += \ + var-run.mount \ @@ -37,10 +37,10 @@ Index: systemd-218/Makefile.am endif SYSINIT_TARGET_WANTS += \ -Index: systemd-218/units/var-lock.mount +Index: systemd-221/units/var-lock.mount =================================================================== --- /dev/null -+++ systemd-218/units/var-lock.mount ++++ systemd-221/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -61,10 +61,10 @@ Index: systemd-218/units/var-lock.mount +Where=/var/lock +Type=bind +Options=bind -Index: systemd-218/units/var-run.mount +Index: systemd-221/units/var-run.mount =================================================================== --- /dev/null -+++ systemd-218/units/var-run.mount ++++ systemd-221/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index 23bd0163..c00f8623 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -1,16 +1,18 @@ Use and set default logging console for both journald and kernel messages --- - src/journal/journald-console.c | 96 +++++++++++++++++++++++++++++++++++++++++ - src/journal/journald-console.h | 4 + - src/journal/journald-server.c | 5 ++ - 3 files changed, 105 insertions(+) + src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ + src/journal/journald-console.h | 3 + + src/journal/journald-server.c | 6 ++ + 3 files changed, 109 insertions(+) ---- systemd-219.orig/src/journal/journald-console.c -+++ systemd-219/src/journal/journald-console.c -@@ -23,6 +23,14 @@ +Index: systemd-221/src/journal/journald-console.c +=================================================================== +--- systemd-221.orig/src/journal/journald-console.c ++++ systemd-221/src/journal/journald-console.c +@@ -22,6 +22,14 @@ + #include #include - #include #include +#ifdef HAVE_SYSV_COMPAT +# include @@ -23,11 +25,11 @@ Use and set default logging console for both journald and kernel messages #include "fileio.h" #include "journald-server.h" -@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) { +@@ -45,6 +53,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } -+void defaul_tty_path(Server *s) ++void default_tty_path(Server *s) +{ +#ifdef HAVE_SYSV_COMPAT + static const char list[] = "/dev/tty10\0" "/dev/console\0"; @@ -100,7 +102,7 @@ Use and set default logging console for both journald and kernel messages void server_forward_console( Server *s, int priority, -@@ -64,6 +142,12 @@ void server_forward_console( +@@ -66,6 +144,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; @@ -113,7 +115,7 @@ Use and set default logging console for both journald and kernel messages /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -100,7 +184,23 @@ void server_forward_console( +@@ -102,7 +186,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { log_debug_errno(errno, "Failed to open %s for logging: %m", tty); @@ -137,22 +139,34 @@ Use and set default logging console for both journald and kernel messages } if (writev(fd, iovec, n) < 0) ---- systemd-219.orig/src/journal/journald-console.h -+++ systemd-219/src/journal/journald-console.h +Index: systemd-221/src/journal/journald-console.h +=================================================================== +--- systemd-221.orig/src/journal/journald-console.h ++++ systemd-221/src/journal/journald-console.h @@ -24,3 +24,6 @@ #include "journald-server.h" void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); + +void klogconsole(Server *s); -+void defaul_tty_path(Server *s); ---- systemd-219.orig/src/journal/journald-server.c -+++ systemd-219/src/journal/journald-server.c -@@ -1520,6 +1520,11 @@ int server_init(Server *s) { ++void default_tty_path(Server *s); +Index: systemd-221/src/journal/journald-server.c +=================================================================== +--- systemd-221.orig/src/journal/journald-server.c ++++ systemd-221/src/journal/journald-server.c +@@ -52,6 +52,7 @@ + #include "journal-internal.h" + #include "journal-vacuum.h" + #include "journal-authenticate.h" ++#include "journald-console.h" + #include "journald-rate-limit.h" + #include "journald-kmsg.h" + #include "journald-syslog.h" +@@ -1514,6 +1515,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); -+ defaul_tty_path(s); ++ default_tty_path(s); + + if (s->tty_path) + klogconsole(s); diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch index 2304a184..d7ffac19 100644 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ b/shut-up-rpmlint-on-var-log-journal.patch @@ -2,12 +2,12 @@ Makefile.am | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) -Index: systemd-218/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -4209,11 +4209,11 @@ noinst_LTLIBRARIES += \ - libsystemd-journal-core.la +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -4129,11 +4129,11 @@ noinst_LTLIBRARIES += \ + libjournal-core.la journal-install-hook: - -$(MKDIR_P) $(DESTDIR)/var/log/journal diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff index b11ea682..45253b12 100644 --- a/suse-sysv-bootd-support.diff +++ b/suse-sysv-bootd-support.diff @@ -7,12 +7,12 @@ This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. [Implementation note: currently, the unit is generated, but not activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] --- - src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++----- - 1 file changed, 21 insertions(+), 5 deletions(-) + src/sysv-generator/sysv-generator.c | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) ---- systemd-219.orig/src/sysv-generator/sysv-generator.c -+++ systemd-219/src/sysv-generator/sysv-generator.c -@@ -42,7 +42,8 @@ +--- systemd-222.orig/src/sysv-generator/sysv-generator.c ++++ systemd-222/src/sysv-generator/sysv-generator.c +@@ -39,7 +39,8 @@ typedef enum RunlevelType { RUNLEVEL_UP, @@ -22,7 +22,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] } RunlevelType; static const struct { -@@ -50,6 +51,9 @@ static const struct { +@@ -47,6 +48,9 @@ static const struct { const char *target; const RunlevelType type; } rcnd_table[] = { @@ -30,9 +30,9 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] + { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, + /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, - { "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP }, -@@ -65,7 +69,7 @@ static const struct { + { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, + { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, +@@ -62,10 +66,10 @@ static const struct { directories in this order, and we want to make sure that sysv_start_priority is known when we first load the unit. And that value we only know from S links. Hence @@ -40,28 +40,23 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] + UP/SYSINIT must be read before DOWN */ }; - typedef struct SysvStub { -@@ -83,7 +87,7 @@ typedef struct SysvStub { - bool reload; - } SysvStub; - -const char *arg_dest = "/tmp"; +static const char *arg_dest = "/tmp"; - static int add_symlink(const char *service, const char *where) { - _cleanup_free_ char *from = NULL, *to = NULL; -@@ -235,6 +239,10 @@ static bool usage_contains_reload(const - static char *sysv_translate_name(const char *name) { - char *r; + typedef struct SysvStub { + char *name; +@@ -243,6 +247,10 @@ static char *sysv_translate_name(const c + _cleanup_free_ char *c = NULL; + char *res; + if (startswith(name, "boot.")) + /* Drop SuSE-style boot. prefix */ + name += 5; + - r = new(char, strlen(name) + strlen(".service") + 1); - if (!r) + c = strdup(name); + if (!c) return NULL; -@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo +@@ -859,10 +867,10 @@ static int set_dependencies_from_rcnd(co if (de->d_name[0] == 'S') { @@ -74,7 +69,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] r = set_ensure_allocated(&runlevel_services[i], NULL); if (r < 0) -@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo +@@ -873,7 +881,8 @@ static int set_dependencies_from_rcnd(co goto finish; } else if (de->d_name[0] == 'K' && diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch deleted file mode 100644 index 08247c82..00000000 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 752a4370ecb5643a432ad73b1e22c80cd304948f Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 17 May 2013 13:31:46 +0200 -Subject: [PATCH] sysctl: handle /boot/sysctl.conf- - -Add support for kernel release sysctl.conf files (for per-flavor -configuration), needed by openSUSE (bnc#809420). ---- - src/sysctl/sysctl.c | 8 ++++++++ - units/systemd-sysctl.service.in | 2 ++ - 2 files changed, 10 insertions(+) - -Index: systemd-218/src/sysctl/sysctl.c -=================================================================== ---- systemd-218.orig/src/sysctl/sysctl.c -+++ systemd-218/src/sysctl/sysctl.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include "log.h" - #include "strv.h" -@@ -310,6 +311,13 @@ int main(int argc, char *argv[]) { - } else { - _cleanup_strv_free_ char **files = NULL; - char **f; -+ char kernel_sysctl[PATH_MAX]; -+ struct utsname uts; -+ -+ assert_se(uname(&uts) >= 0); -+ -+ snprintf(kernel_sysctl, sizeof(kernel_sysctl), "/boot/sysctl.conf-%s", uts.release); -+ r = parse_file(sysctl_options, kernel_sysctl, true); - - r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); - if (r < 0) { -Index: systemd-218/units/systemd-sysctl.service.in -=================================================================== ---- systemd-218.orig/units/systemd-sysctl.service.in -+++ systemd-218/units/systemd-sysctl.service.in -@@ -13,6 +13,8 @@ Conflicts=shutdown.target - After=systemd-modules-load.service - Before=sysinit.target shutdown.target - ConditionPathIsReadWrite=/proc/sys/ -+ConditionPathExistsGlob=|/boot/sysctl.conf-%v -+RequiresMountsFor=/boot - - [Service] - Type=oneshot diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch index 86aec7e9..de694a4b 100644 --- a/systemctl-set-default-target.patch +++ b/systemctl-set-default-target.patch @@ -6,11 +6,11 @@ This solves the bug bnc#868439 man/systemctl.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -Index: systemd/man/systemctl.xml +Index: systemd-221/man/systemctl.xml =================================================================== ---- systemd.orig/man/systemctl.xml -+++ systemd/man/systemctl.xml -@@ -445,7 +445,7 @@ along with systemd; If not, see @@ -19,7 +19,7 @@ Index: systemd/man/systemctl.xml any existing conflicting symlinks. When used with halt, -@@ -1215,6 +1215,8 @@ kobject-uevent 1 systemd-udevd-kernel.so +@@ -1237,6 +1237,8 @@ kobject-uevent 1 systemd-udevd-kernel.so Return the default target to boot into. This returns the target unit name default.target is aliased (symlinked) to. diff --git a/systemd-219.tar.xz b/systemd-219.tar.xz deleted file mode 100644 index d90808ee..00000000 --- a/systemd-219.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c57113454e37c040d0cb481bd960ae7cf3a3fe0a231ff4945259bc74503f2d9 -size 3938228 diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index 8eb7f440..a67fa47f 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,13 +1,13 @@ --- man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- - 2 files changed, 43 insertions(+), 8 deletions(-) + src/tmpfiles/tmpfiles.c | 47 ++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 43 insertions(+), 7 deletions(-) -Index: systemd/man/tmpfiles.d.xml +Index: systemd-221/man/tmpfiles.d.xml =================================================================== ---- systemd.orig/man/tmpfiles.d.xml -+++ systemd/man/tmpfiles.d.xml -@@ -489,6 +489,9 @@ +--- systemd-221.orig/man/tmpfiles.d.xml ++++ systemd-221/man/tmpfiles.d.xml +@@ -528,6 +528,9 @@ f, F, and w may be used to specify a short string that is written to the file, suffixed by a newline. For @@ -15,13 +15,21 @@ Index: systemd/man/tmpfiles.d.xml + usernames. If given, only paths belonging to these users will be excluded + during directory cleanup. Ignored for all other lines. For C, specifies the source file or - directory. For t determines extended - attributes to be set. For a determines -Index: systemd/src/tmpfiles/tmpfiles.c + directory. For t, T + determines extended attributes to be set. For +Index: systemd-221/src/tmpfiles/tmpfiles.c =================================================================== ---- systemd.orig/src/tmpfiles/tmpfiles.c -+++ systemd/src/tmpfiles/tmpfiles.c -@@ -345,6 +345,7 @@ static int dir_cleanup( +--- systemd-221.orig/src/tmpfiles/tmpfiles.c ++++ systemd-221/src/tmpfiles/tmpfiles.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + #include "log.h" + #include "util.h" +@@ -358,6 +359,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -29,24 +37,23 @@ Index: systemd/src/tmpfiles/tmpfiles.c while ((dent = readdir(d))) { struct stat s; -@@ -395,14 +396,45 @@ static int dir_cleanup( +@@ -408,14 +410,45 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ -- if (hashmap_get(items, sub_path)) { +- if (ordered_hashmap_get(items, sub_path)) { - log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); - continue; -- } ++ bool found_glob = false; ++ found = ordered_hashmap_get(items, sub_path); ++ if (!found) { ++ found_glob = true; ++ found = find_glob(globs, sub_path); + } - - if (find_glob(globs, sub_path)) { - log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); - continue; -+ bool found_glob = false; -+ found = hashmap_get(items, sub_path); -+ if (!found) { -+ found_glob = true; -+ found = find_glob(globs, sub_path); -+ } + if (found) { + struct passwd *pw; + char *userfound = NULL, *args; diff --git a/systemd-bfo88401.patch b/systemd-bfo88401.patch deleted file mode 100644 index c2733d67..00000000 --- a/systemd-bfo88401.patch +++ /dev/null @@ -1,135 +0,0 @@ -From f78f265f405a61387c6c12a879ac0d6b6dc958db Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 24 Apr 2015 16:04:50 +0200 -Subject: core: always coldplug units that are triggered by other units before - those - -Let's make sure that we don't enqueue triggering jobs for units before -those units are actually fully loaded. - -http://lists.freedesktop.org/archives/systemd-devel/2015-April/031176.html -https://bugs.freedesktop.org/show_bug.cgi?id=88401 - -diff --git a/src/core/unit.c b/src/core/unit.c -index 70a2b57..2b356e2 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -2876,13 +2876,32 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { - } - - int unit_coldplug(Unit *u) { -+ Unit *other; -+ Iterator i; - int r; - - assert(u); - -- if (UNIT_VTABLE(u)->coldplug) -- if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0) -+ /* Make sure we don't enter a loop, when coldplugging -+ * recursively. */ -+ if (u->coldplugged) -+ return 0; -+ -+ u->coldplugged = true; -+ -+ /* Make sure everything that we might pull in through -+ * triggering is coldplugged before us */ -+ SET_FOREACH(other, u->dependencies[UNIT_TRIGGERS], i) { -+ r = unit_coldplug(other); -+ if (r < 0) - return r; -+ } -+ -+ if (UNIT_VTABLE(u)->coldplug) { -+ r = UNIT_VTABLE(u)->coldplug(u); -+ if (r < 0) -+ return r; -+ } - - if (u->job) { - r = job_coldplug(u->job); -diff --git a/src/core/unit.h b/src/core/unit.h -index be306a0..1a44271 100644 ---- a/src/core/unit.h -+++ b/src/core/unit.h -@@ -104,6 +104,7 @@ struct Unit { - char *fragment_path; /* if loaded from a config file this is the primary path to it */ - char *source_path; /* if converted, the source file */ - char **dropin_paths; -+ - usec_t fragment_mtime; - usec_t source_mtime; - usec_t dropin_mtime; -@@ -233,6 +234,9 @@ struct Unit { - bool cgroup_realized:1; - bool cgroup_members_mask_valid:1; - bool cgroup_subtree_mask_valid:1; -+ -+ /* Did we already invoke unit_coldplug() for this unit? */ -+ bool coldplugged; - }; - - struct UnitStatusMessageFormats { --- -cgit v0.10.2 - - -From 4370633083dd9453da183c468cf89cc17254ac39 Mon Sep 17 00:00:00 2001 -From: Ivan Shapovalov -Date: Mon, 27 Apr 2015 21:19:02 +0300 -Subject: core: coldplug all units which participate in jobs during - coldplugging - -This is yet another attempt to fix coldplugging order (more especially, -the problem which happens when one creates a job during coldplugging and -it references a not-yet-coldplugged unit). - -Now we forcibly coldplug all units which participate in jobs. This -is a superset of previously implemented handling of the UNIT_TRIGGERS -dependencies, so that handling is removed. - -http://lists.freedesktop.org/archives/systemd-devel/2015-April/031212.html -https://bugs.freedesktop.org/show_bug.cgi?id=88401 (once again) - -diff --git a/src/core/transaction.c b/src/core/transaction.c -index 5974b1e..7b19e2f 100644 ---- a/src/core/transaction.c -+++ b/src/core/transaction.c -@@ -848,6 +848,13 @@ int transaction_add_job_and_dependencies( - assert(type < _JOB_TYPE_MAX_IN_TRANSACTION); - assert(unit); - -+ /* Before adding jobs for this unit, let's ensure that its state has been loaded -+ * This matters when jobs are spawned as part of coldplugging itself (see e. g. path_coldplug()). -+ * This way, we "recursively" coldplug units, ensuring that we do not look at state of -+ * not-yet-coldplugged units. */ -+ if (unit->manager->n_reloading > 0) -+ unit_coldplug(unit); -+ - /* log_debug("Pulling in %s/%s from %s/%s", */ - /* unit->id, job_type_to_string(type), */ - /* by ? by->unit->id : "NA", */ -diff --git a/src/core/unit.c b/src/core/unit.c -index 496db6c..b7ab084 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -2893,14 +2893,6 @@ int unit_coldplug(Unit *u) { - - u->coldplugged = true; - -- /* Make sure everything that we might pull in through -- * triggering is coldplugged before us */ -- SET_FOREACH(other, u->dependencies[UNIT_TRIGGERS], i) { -- r = unit_coldplug(other); -- if (r < 0) -- return r; -- } -- - if (UNIT_VTABLE(u)->coldplug) { - r = UNIT_VTABLE(u)->coldplug(u); - if (r < 0) --- -cgit v0.10.2 - - diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch index 89c83e42..60b98265 100644 --- a/systemd-dbus-system-bus-address.patch +++ b/systemd-dbus-system-bus-address.patch @@ -1,13 +1,26 @@ --- + src/basic/def.h | 2 +- src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/shared/def.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -Index: systemd/src/libsystemd/sd-bus/sd-bus.c +Index: systemd-221/src/basic/def.h =================================================================== ---- systemd.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd/src/libsystemd/sd-bus/sd-bus.c -@@ -809,8 +809,8 @@ static int parse_container_unix_address( +--- systemd-221.orig/src/basic/def.h ++++ systemd-221/src/basic/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" + #define DEFAULT_SYSTEM_BUS_ADDRESS KERNEL_SYSTEM_BUS_ADDRESS ";" UNIX_SYSTEM_BUS_ADDRESS + #define UNIX_USER_BUS_ADDRESS_FMT "unix:path=%s/bus" +Index: systemd-221/src/libsystemd/sd-bus/sd-bus.c +=================================================================== +--- systemd-221.orig/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-221/src/libsystemd/sd-bus/sd-bus.c +@@ -837,8 +837,8 @@ static int parse_container_unix_address( b->nspid = 0; b->sockaddr.un.sun_family = AF_UNIX; @@ -18,16 +31,3 @@ Index: systemd/src/libsystemd/sd-bus/sd-bus.c return 0; } -Index: systemd/src/shared/def.h -=================================================================== ---- systemd.orig/src/shared/def.h -+++ systemd/src/shared/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS diff --git a/systemd-install-compat_pkgconfig-always.patch b/systemd-install-compat_pkgconfig-always.patch index c378af51..57fb6129 100644 --- a/systemd-install-compat_pkgconfig-always.patch +++ b/systemd-install-compat_pkgconfig-always.patch @@ -1,6 +1,12 @@ ---- a/Makefile.am -+++ b/Makefile.am -@@ -4560,12 +4560,6 @@ lib_LTLIBRARIES += \ +--- + Makefile.am | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +Index: systemd-221/Makefile.am +=================================================================== +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -5876,12 +5876,6 @@ lib_LTLIBRARIES += \ libsystemd-id128.la \ libsystemd-daemon.la @@ -13,7 +19,7 @@ # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed compat-lib-install-hook: libname=libsystemd-login.so && $(move-to-rootlibdir) -@@ -4583,6 +4577,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install +@@ -5899,6 +5893,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook endif @@ -24,5 +30,5 @@ + src/compat-libs/libsystemd-daemon.pc + EXTRA_DIST += \ + src/compat-libs/linkwarning.h \ src/compat-libs/libsystemd-journal.pc.in \ - src/compat-libs/libsystemd-login.pc.in \ diff --git a/systemd-mini.changes b/systemd-mini.changes index 21c45c47..fcf4a2ad 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,7 +1,270 @@ ------------------------------------------------------------------- -Thu Sep 24 12:47:29 UTC 2015 - dimstar@opensuse.org +Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de -- Add systemd-bfo88401.patch: do not restart services on coldplug. +- Fix patch tty-ask-password-agent-on-console.patch not to crash + away but enable it to ask on all devices of /dev/console + +------------------------------------------------------------------- +Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de + +- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" + waring occurring in %post + +------------------------------------------------------------------- +Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de + +- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch + to avoid broken virtual console mapping due stressed ioctl API + for the virtual consoles (boo#904214) + +------------------------------------------------------------------- +Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de + +- Fix last change that is use the new name for udev packages in %pretrans. + +------------------------------------------------------------------- +Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com + +- restore usage of LUA in %pretrans. + +------------------------------------------------------------------- +Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de + +- Try to generate the systemd users and groups always in same order + to avoid republish other packages (boo#944660) + +------------------------------------------------------------------- +Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com + +- cleanup specfile by removing commands that were dealing with systemd + pre-generated files: we're now using systemd tarball generated directly + from the git repo which doesn't contain any of these files. +- there's no point in using LUA in %pretrans + +------------------------------------------------------------------- +Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com + +- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch + +This patch was initialy added to workaround bsc#842844. But it +appears that man(1) was fixed (included since 13.2 at least) to +handle manual pages that consist only of a .so directive such as +'.so '. + +------------------------------------------------------------------- +Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de + +- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to + make it work on big endian + +------------------------------------------------------------------- +Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de + +- Use Obsolete/Provides strategy from + windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap + cycle and kick out -mini afterwards. + +------------------------------------------------------------------- +Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 224 +* systemd-networkd gained a number of new configuration options + for DHCP, tunnels and bridges +* systemd-efi-boot-generator functionality was merged into + systemd-gpt-auto-generator. + +------------------------------------------------------------------- +Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com + +- /usr/share/systemd/kbd-model-map: added entries for + xkeyboard-config converted keymaps; mappings, which already + exist in original systemd mapping table are being ignored + though, i.e. not overwritten; needs kbd in buildrequires + (FATE#318426) + +------------------------------------------------------------------- +Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com + +- hostname-NULL.patch: Work around a crash on XEN hosts + in OBS. /etc/hostname is not present and systemd then does + strchr(hostname,soemthing) with hostname NULL. + +------------------------------------------------------------------- +Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de + +- Add Correct_assert_on_unexpected_error_code.patch to work around + a problem of an assert on ENODEV for closing fd on an input + event device (boo#939571) + +------------------------------------------------------------------- +Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de + +- Remove udev-generate-rules.sh, apparently not used by anything in + the systemd nor udev-persistent-ifnames package. + +------------------------------------------------------------------- +Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org + +- Systemd v222, bugfix release. +- Drop upstream patches +0006-pam_systemd-Properly-check-kdbus-availability.patch +0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch +0031-install-fix-bad-memory-access.patch +1032-ata_id-unbotch-format-specifier.patch +- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch + udev does no longer enable USB HID power management at all. +- The udev accelerometer helper was removed, obsoleted by + iio-sensor-proxy package. +- networkd gained a new configuration option IPv6PrivacyExtensions. +- udev does not longer support the WAIT_FOR_SYSFS= key in udev + rules. There are no known issues with current sysfs, + and udev does not need or should be used to work around such bugs. + +------------------------------------------------------------------- +Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de + +- Avoid restarting logind [bnc#934901] +- Do not suppress errors in any case, even if they are ignored + +------------------------------------------------------------------- +Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com + +- Fix devel package requires (both mini and real required real libsystemd0) + +------------------------------------------------------------------- +Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de + +- Rework patch tty-ask-password-agent-on-console.patch to fit the + requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 + +------------------------------------------------------------------- +Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de + +- Rework "-mini" package logic to not conflict with itself and + then add libsystemd0 to mini. + +------------------------------------------------------------------- +Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org + +- remove SysVStartPriority= from after-local.service, + unsupported since v218. + Note that this option was only parsed and that's it. the logic + to give "start priority" was never implemented. + +------------------------------------------------------------------- +Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org + +- change the default fallback ntp servers to the opensuse + pool.ntp.org vendor zone. +- We still need to run systemd-sysctl.service after local-fs.target + otherwise it works only when /boot is in the root filesystem but + not when it is a separate partition. + +------------------------------------------------------------------- +Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com + +- Obsolete pm-utils and suspend (boo#925873). +- Remove pm-utils support + (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). + +------------------------------------------------------------------- +Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org + +- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch + from the filelist. + +------------------------------------------------------------------- +Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org + +- libpcre, glib2 and libusb are not used by systemd, remove + from buildrequires. + +------------------------------------------------------------------- +Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org + +- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id + output. +- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch + fix StopWhenUnneeded=true in combination with a Requisite= + dependency. +- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access +- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if + kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS + must not be exported. +- spec: add a min_kernel_version macro to ensure the package + conflicts with kernel versions in which systemd cannot run. + +------------------------------------------------------------------- +Wed Jun 24 20:06:27 UTC 2015 - crrodriguez@opensuse.org + +- sysctl-handle-boot-sysctl.conf-kernel_release.patch dropped, + replaced by a tmpfiles.d snippet "current-kernel-sysctl.conf" + (feature implemented in v220 just for our usecase) + +------------------------------------------------------------------- +Wed Jun 24 19:45:17 UTC 2015 - crrodriguez@opensuse.org + +- fix build when resolved is enabled +- remove fsck -l test in spec file, systemd requires util-linux + 2.26 or later where this feature is already available. + +------------------------------------------------------------------- +Wed Jun 24 17:43:22 UTC 2015 - hrvoje.senjan@gmail.com + +- Fix bootstrap build by guarding filelists (man pages don't get + built in bootstrap mode) +- Drop commented sections from baselibs.conf, allows format_spec_file + to have a successful run + +------------------------------------------------------------------- +Wed Jun 24 14:17:04 UTC 2015 - mpluskal@suse.com + +- Install 50-coredump.conf as coredumpctl is now installed by + default and does not use journal anymore as default storage + +------------------------------------------------------------------- +Fri Jun 19 20:51:14 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 221 +* From 220: +* libgudev was moved into a package of its own +* Runlevels 2, 3 and 4 are no longer distinct, they all map to + multi-user.target. +* The EFI System Partition mounted to /boot will be unmounted + 2 minutes after boot. +* systemd does not support direct live-upgrades (via `systemctl + daemon-reexec`) from versions older than v44 anymore. +* systemd-nspawn may now be called as part of a shell pipeline. +* systemd-shutdownd has been removed. This service was + previously responsible for implementing scheduled shutdowns + as exposed in /usr/bin/shutdown's time parameter. This + functionality has now been moved into systemd-logind and is + accessible via a bus interface. +* udev will no longer call blkid and create symlinks for all + block devices, but merely those from a whitelist + (cf. 60-persistent-storage.rules). +* /usr/lib/os-release gained a new optional field VARIANT= +* Details at + http://lists.freedesktop.org/archives/systemd-devel/2015-May/032147.html +* From 221: +* New sd-bus and sd-event APIs in libsystemd +* If there is both a systemd unit and a SysV init script for the + same service name, and `systemctl enable` or other operation is + run, both will now be enabled (or execute the related operation + on both), not just the unit. +- Split libsystemd0 to support systemd-less nspawn containers +- Redo manpage file lists without %exclude, tends to hide + unpackaged files. +- hwdb belongs to udev +- Resolve memory leak and add missing _cleanup_free_ to + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch +- Remove systemd-powerd-initctl-support.patch + (no longer builds because shutdownd is gone) +- Remove quilt-patches/0001-core-rework-device-state-logic.patch, + 0001-Let-some-boolean-survive-a-daemon-reload.patch + (merged upstream), + 0001-Let-some-boolean-survive-a-daemon-reload.patch + (obsolete) ------------------------------------------------------------------- Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 4bf79010..10026de9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -18,10 +18,11 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define bootstrap 1 -%define real systemd ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define udevpkgname udev-mini -%define udev_major 1 +%define mini -mini +%define real systemd +%define min_kernel_version 3.7 + %bcond_without bash_completion %bcond_without networkd %bcond_without sysvcompat @@ -46,7 +47,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 219 +Version: 224 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -61,8 +62,8 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: gperf -BuildRequires: gtk-doc BuildRequires: intltool +BuildRequires: kbd BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libsepol-devel @@ -71,12 +72,11 @@ BuildRequires: pam-devel BuildRequires: systemd-rpm-macros BuildRequires: xz BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.24 +BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(mount) >= 2.20 +BuildRequires: pkgconfig(mount) >= 2.26 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif @@ -85,28 +85,23 @@ BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit %if 0%{?bootstrap} #!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Conflicts: systemd -Conflicts: kiwi +Provides: systemd = %version-%release +Conflicts: otherproviders(systemd) %else BuildRequires: docbook-xsl-stylesheets -BuildRequires: gobject-introspection-devel -BuildRequires: gtk-doc BuildRequires: libgcrypt-devel -BuildRequires: libusb-devel BuildRequires: libxslt-tools %if %{with python} BuildRequires: python %endif BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: %{udevpkgname} >= 172 +Requires: udev >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -117,7 +112,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.25 +Requires: util-linux >= 2.26 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -129,11 +124,14 @@ Requires(post): /usr/bin/getent Requires(post): /usr/bin/setfacl Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: kernel < %{min_kernel_version} Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} +Obsoletes: pm-utils <= 1.4.1 +Obsoletes: suspend <= 1.0 -#Git-Clone: git://anongit.freedesktop.org/systemd/systemd -Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz +#Git-Clone: git://github.com/systemd/systemd +Source: https://github.com/systemd/systemd/archive/v%version.tar.gz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else @@ -146,7 +144,6 @@ Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1063: udev-generate-persistent-rule.sh Source1065: systemd-remount-tmpfs # handle SUSE specific kbd settings @@ -170,8 +167,6 @@ Patch28: apply-ACL-for-nvidia-uvm-device-node.patch Patch37: suse-sysv-bootd-support.diff # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file -Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch Patch42: systemd-pam_config.patch @@ -180,8 +175,6 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed -Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) @@ -194,8 +187,6 @@ Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch91: plymouth-quit-and-wait-for-emergency-service.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) -Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -206,8 +197,6 @@ Patch180: 0014-journald-with-journaling-FS.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemd-powerd-initctl-support.patch -Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) @@ -253,10 +242,10 @@ Patch490: watch_resolv.conf_for_become_changed.patch Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -Patch522: 0001-core-rework-device-state-logic.patch -# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM -Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch -Patch524: systemd-bfo88401.patch +# PATCH-WORKAROUND-SUSE (boo#939571) +Patch522: Correct_assert_on_unexpected_error_code.patch +# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) +Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # UDEV PATCHES # ============ @@ -282,8 +271,6 @@ Patch1007: 1007-physical-hotplug-cpu-and-memory.patch Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) -Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 @@ -302,6 +289,8 @@ Patch1096: 1096-new-udev-root-symlink-generator.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch # PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch Patch1098: 1098-systemd-networkd-alias-network-service.patch +# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner +Patch1099: hostname-NULL.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -331,10 +320,14 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: libsystemd0%{?mini} = %version Requires: systemd-rpm-macros %if 0%{?bootstrap} -Conflicts: systemd-devel +Provides: systemd-devel = %version-%release +Conflicts: otherproviders(systemd-devel) +%else +Obsoletes: systemd-mini-devel +Provides: systemd-mini-devel %endif %description devel @@ -352,7 +345,39 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. -%package -n %{udevpkgname} +%package -n libsystemd0%{?mini} +Summary: Component library for systemd +License: LGPL-2.1+ +Group: System/Libraries +%if 0%{?bootstrap} +Conflicts: libsystemd0 +%else +Obsoletes: libsystemd0-mini +Provides: libsystemd0-mini +%endif + +%description -n libsystemd0%{?mini} +This library provides several of the systemd C APIs: + +* sd-bus implements an alternative D-Bus client library that is + relatively easy to use, very efficient and supports both classic + D-Bus as well as kdbus as transport backend. + +* sd-daemon(3): for system services (daemons) to report their status + to systemd and to make easy use of socket-based activation logic + +* sd-event is a generic event loop abstraction that is built around + Linux epoll, but adds features such as event prioritization or + efficient timer handling. + +* sd-id128(3): generation and processing of 128-bit IDs + +* sd-journal(3): API to submit and query journal log entries + +* sd-login(3): APIs to introspect and monitor seat, login session and + user status information on the local system. + +%package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel @@ -364,7 +389,7 @@ PreReq: /usr/bin/sg_inq Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent -Requires(post): lib%{udevpkgname}%{udev_major} +Requires(post): libudev%{?mini}1 Requires(post): sed Requires(post): /usr/bin/systemctl %if %{defined regenerate_initrd_post} @@ -385,14 +410,14 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} -Conflicts: libudev%{udev_major} -Conflicts: udev -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs +Provides: udev = %version-%release +Conflicts: otherproviders(udev) +%else +Obsoletes: udev-mini +Provides: udev-mini %endif -%description -n %{udevpkgname} +%description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages and dispatches them according to rules in /lib/udev/rules.d/. Matching @@ -401,70 +426,40 @@ call tools to initialize a device, or load needed kernel modules. -%package -n lib%{udevpkgname}%{udev_major} +%package -n libudev%{?mini}1 +# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries -Requires: %{udevpkgname} >= %{version}-%{release} %if 0%{?bootstrap} -Conflicts: libudev%{udev_major} -Conflicts: kiwi -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs +Conflicts: libudev1 +%else +Obsoletes: libudev1-mini +Provides: libudev1-mini %endif -%description -n lib%{udevpkgname}%{udev_major} +%description -n libudev%{?mini}1 This package contains the dynamic library libudev, which provides access to udev device information -%package -n lib%{udevpkgname}-devel +%package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1+ -Group: Development/Libraries/Other -Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} +Group: Development/Libraries/C and C++ +Requires: libudev%{?mini}1 = %version-%release %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev%{udev_major} = %{version} -Conflicts: libudev-devel +Provides: libudev-devel = %version-%release +Conflicts: otherproviders(libudev-devel) +%else +Obsoletes: libudev-mini-devel +Provides: libudev-mini-devel %endif -%description -n lib%{udevpkgname}-devel +%description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. %if ! 0%{?bootstrap} -%package -n libgudev-1_0-0 -Summary: GObject library, to access udev device information -License: LGPL-2.1+ -Group: System/Libraries -Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} - -%description -n libgudev-1_0-0 -This package contains the GObject library libgudev, which provides -access to udev device information. - -%package -n typelib-1_0-GUdev-1_0 -Summary: GObject library, to access udev device information -- Introspection bindings -License: LGPL-2.1+ -Group: System/Libraries - -%description -n typelib-1_0-GUdev-1_0 -This package provides the GObject Introspection bindings for libgudev, which -provides access to udev device information. - -%package -n libgudev-1_0-devel -Summary: Devel package for libgudev -License: LGPL-2.1+ -Group: Development/Libraries/Other -Requires: glib2-devel -Requires: libgudev-1_0-0 = %{version}-%{release} -Requires: libudev-devel = %{version}-%{release} -Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} - -%description -n libgudev-1_0-devel -This is the devel package for the GObject library libgudev, which -provides GObject access to udev device information. - %package logger Summary: Journal only logging License: LGPL-2.1+ @@ -560,14 +555,12 @@ cp %{SOURCE7} m4/ %patch17 -p1 %patch20 -p1 %patch21 -p1 -%patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 %patch28 -p1 %patch37 -p1 %patch39 -p1 -%patch40 -p1 %patch41 -p1 %patch42 -p1 %patch84 -p1 @@ -575,13 +568,11 @@ cp %{SOURCE7} m4/ %patch90 -p1 %patch91 -p1 %patch120 -p1 -%patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 %patch182 -p1 %patch183 -p1 -%patch185 -p1 %patch186 -p1 %patch188 -p1 %patch189 -p1 @@ -608,9 +599,8 @@ cp %{SOURCE7} m4/ %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p1 -%patch523 -p1 -%patch524 -p1 +%patch522 -p0 +%patch523 -p0 # udev patches %patch1001 -p1 @@ -621,7 +611,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1011 -p1 %patch1012 -p1 -%patch1013 -p1 %patch1035 -p1 %if %{with blkrrpart} %patch1037 -p1 @@ -633,24 +622,7 @@ cp %{SOURCE7} m4/ %patch1096 -p1 %patch1097 -p1 %patch1098 -p1 - -# remove patch backups -find -name '*.orig' -exec rm -f '{}' \+ - -# ensure generate files are removed -rm -f units/emergency.service - -# disable "-l" option for fsck if it does not support new locking scheme -# compare with commit c343be283b7152554bac0c02493a4e1759c163f7 -PATH=${PATH}:/sbin:/usr/sbin -PATH_FSCK=$(type -p fsck) -if grep -q /run/fsck/%%s\\.lock $PATH_FSCK -then - echo Found new $PATH_FSCK that is allow private locking -else - echo Found old $PATH_FSCK that is disable flock for this one - sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c -fi +%patch1099 -p1 # # In combination with Patch352 set-and-use-default-logconsole.patch @@ -692,9 +664,8 @@ cflags () esac set +o noclobber } -autoreconf -fi -# prevent pre-generated and distributed files from re-building -find . -name "*.[1-8]" -exec touch '{}' '+'; +sh autogen.sh + export V=e export CFLAGS="%{optflags}" export LDFLAGS @@ -708,6 +679,7 @@ cflags -Wl,-O2 LDFLAGS cflags -Wl,--hash-size=8599 LDFLAGS # keep split-usr until all packages have moved their systemd rules to /usr %configure \ + --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ @@ -715,7 +687,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ %if 0%{?bootstrap} - --disable-gudev \ --disable-myhostname \ --disable-manpages \ --disable-machined \ @@ -724,7 +695,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS %if %{with python} --with-python \ %endif - --enable-gtk-doc \ --with-nss-my-hostname-warning \ %endif --enable-selinux \ @@ -755,9 +725,6 @@ make %{?_smp_mflags} update-man-list man %endif %install -%if !0%{?bootstrap} -cp man/man[0-9]/*.[0-9] man/ -%endif make install DESTDIR="%buildroot" # move to %{_lib} @@ -780,7 +747,6 @@ install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service -install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -812,12 +778,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# To avoid making life hard for Factory developers, don't package the -# kernel.core_pattern setting until systemd-coredump is a part of an actual -# systemd release and it's made clear how to get the core dumps out of the -# journal. -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -867,6 +827,20 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF +#ensure we get the running kernel sysctl settings. + +cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf +d! /run/sysctl.d +L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v +EOF + +mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d + +cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf +[Unit] +After=local-fs.target +EOF + # ensure after.local wrapper is called install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ @@ -920,10 +894,31 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done +# add entries for xkeyboard-config converted keymaps; mappings, +# which already exist in original systemd mapping table are being +# ignored though, i.e. not overwritten +cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >> %{buildroot}//usr/share/systemd/kbd-model-map + %find_lang systemd %pre -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +for name in journal timesync network resolve bus-proxy +do + getent group systemd-$name >/dev/null && continue + groupadd -r systemd-$name || : +done +for name in timesync network resolve bus-proxy +do + getent passwd systemd-$name >/dev/null && continue + case "$name" in + timesync) descr="Systemd Time Synchronization" ;; + network) descr="Systemd Network Management" ;; + resolve) descr="Systemd Resolver" ;; + bus-proxy) descr="Systemd Bus Proxy" ;; + esac + useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : +done exit 0 %post @@ -932,16 +927,16 @@ exit 0 %endif /sbin/ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : -/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : -/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : -/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : +/usr/bin/systemd-machine-id-setup || : +/usr/lib/systemd/systemd-random-seed save || : +/usr/bin/systemctl daemon-reexec || : +/usr/bin/journalctl --update-catalog || : # Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -chmod g+s %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ || : +chmod g+s %{_localstatedir}/log/journal/ || : if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : - chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : + chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : + chmod g+s "%{_localstatedir}/log/journal/$ID" || : fi %if %{with systemgrps} getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : @@ -964,7 +959,7 @@ if [ "$1" -eq 1 ]; then getty@tty1.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ - remote-fs.target >/dev/null 2>&1 || : + remote-fs.target || : fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -982,8 +977,9 @@ done %postun /sbin/ldconfig if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : - /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : + /usr/bin/systemctl daemon-reload || : + #Avoid restarting logind [bnc#934901] until fixed upstream + #/usr/bin/systemctl try-restart systemd-logind.service || : fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then @@ -995,16 +991,17 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - remote-fs.target >/dev/null 2>&1 || : + remote-fs.target || : rm -f /etc/systemd/system/default.target 2>&1 || : fi -%pretrans -n %{udevpkgname} -p +# pretrans section must always use lua +%pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then posix.symlink("/lib/udev", "/usr/lib/udev") end -%pre -n %{udevpkgname} +%pre -n udev%{?mini} if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -1013,31 +1010,33 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi # Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -getent group tape >/dev/null || groupadd -r tape 2> /dev/null || : +getent group tape >/dev/null || groupadd -r tape || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || : - udevadm control --exit 2>&1 || : + systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : + udevadm control --exit || : fi fi -%post -n %{udevpkgname} -/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -# add KERNEL name match to existing persistent net rules -sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : +%post -n udev%{?mini} +/usr/bin/udevadm hwdb --update || : +if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then + # add KERNEL name match to existing persistent net rules + sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules || : +fi # cleanup old stuff rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/20-cdrom.rules rm -f /etc/udev/rules.d/55-cdrom.rules rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload || : # start daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then - /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + if ! systemctl start systemd-udevd.service; then + /usr/lib/systemd/systemd-udevd --daemon || : fi fi fi @@ -1057,9 +1056,9 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi fi -%postun -n %{udevpkgname} +%postun -n udev%{?mini} %insserv_cleanup -systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then @@ -1077,20 +1076,17 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %if %{defined regenerate_initrd_post} -%posttrans -n %{udevpkgname} +%posttrans -n udev%{?mini} %regenerate_initrd_posttrans %endif -%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig - -%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig +%post -n libsystemd0%{?mini} -p /sbin/ldconfig +%postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p /sbin/ldconfig +%postun -n libudev%{?mini}1 -p /sbin/ldconfig %if ! 0%{?bootstrap} -%post -n libgudev-1_0-0 -p /sbin/ldconfig - -%postun -n libgudev-1_0-0 -p /sbin/ldconfig - %if %{with permission} %verifyscript logger %verify_permissions -e %{_localstatedir}/log/journal/ @@ -1110,7 +1106,7 @@ getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log %endif if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : + systemctl --no-block restart systemd-journal-flush.service || : fi %preun -n nss-myhostname @@ -1126,7 +1122,7 @@ fi %postun -n nss-mymachines -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -1166,7 +1162,6 @@ exit 0 %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-notify -%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -1182,13 +1177,6 @@ exit 0 %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert -%{_libdir}/libsystemd.so.* -%if %{with compat_libs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -1219,6 +1207,7 @@ exit 0 %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service +%{_prefix}/lib/systemd/user/*.socket %exclude %{_prefix}/lib/systemd/systemd-udevd %if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd @@ -1233,6 +1222,7 @@ exit 0 %dir %{_prefix}/lib/systemd/user-preset %dir %{_prefix}/lib/systemd/system-generators %dir %{_prefix}/lib/systemd/user-generators +%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -1240,12 +1230,14 @@ exit 0 %dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d +%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif +%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator %if 0%{has_efi} %{_bindir}/bootctl -%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif %{_prefix}/lib/systemd/system-generators/systemd-debug-generator %{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator @@ -1276,6 +1268,7 @@ exit 0 %dir %{_libexecdir}/sysctl.d %dir %{_sysconfdir}/sysctl.d +%{_prefix}/lib/sysctl.d/50-coredump.conf %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system @@ -1309,6 +1302,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_sysconfdir}/X11/xinit/ # Some files which may created by us %dir %{_sysconfdir}/X11/xorg.conf.d %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1324,15 +1318,23 @@ exit 0 %{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %if %{with networkd} +%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif +%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %if !0%{?bootstrap} +%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %endif +%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname + %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1350,20 +1352,20 @@ exit 0 %{_datadir}/systemd %if ! 0%{?bootstrap} -# Packaged in sysvinit subpackage -%exclude %{_mandir}/man1/init.1* -%exclude %{_mandir}/man8/halt.8* -%exclude %{_mandir}/man8/reboot.8* -%exclude %{_mandir}/man8/shutdown.8* -%exclude %{_mandir}/man8/poweroff.8* -%exclude %{_mandir}/man8/telinit.8* -%exclude %{_mandir}/man8/runlevel.8* -%exclude %{_mandir}/man*/*udev*.[0-9]* -%exclude %{_mandir}/man8/systemd-journal-gatewayd.* -%{_mandir}/man1/*.1* -%{_mandir}/man5/*.5* -%{_mandir}/man7/*.7* -%{_mandir}/man8/*.8* +%_mandir/man1/[a-rt-z]*ctl.1* +%_mandir/man1/systemc*.1* +%_mandir/man1/systemd*.1* +%_mandir/man5/[a-tv-z]* +%_mandir/man5/user* +%_mandir/man7/[bdfks]* +%_mandir/man8/kern* +%_mandir/man8/pam_* +%_mandir/man8/systemd-[a-gik-tv]* +%_mandir/man8/systemd-h[aioy]* +%_mandir/man8/systemd-journal-remote.* +%_mandir/man8/systemd-journal-upload.* +%_mandir/man8/systemd-journald* +%_mandir/man8/systemd-u[ps]* %endif %{_docdir}/systemd %{_prefix}/lib/udev/rules.d/70-uaccess.rules @@ -1393,6 +1395,7 @@ exit 0 %{_sysconfdir}/systemd/resolved.conf %{_libdir}/libnss_resolve.so.2 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif %if ! 0%{?bootstrap} @@ -1410,21 +1413,16 @@ exit 0 %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so %{_libdir}/libsystemd-journal.so -%dir %{_includedir}/systemd -%{_includedir}/systemd/sd-login.h -%{_includedir}/systemd/sd-daemon.h -%{_includedir}/systemd/sd-id128.h -%{_includedir}/systemd/sd-journal.h -%{_includedir}/systemd/sd-messages.h -%{_includedir}/systemd/_sd-common.h -%{_libdir}/pkgconfig/systemd.pc +%{_includedir}/systemd/ +%{_datadir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc %if ! 0%{?bootstrap} -%{_mandir}/man3/*.3* +%_mandir/man3/SD*.3* +%_mandir/man3/sd*.3* %endif %files sysvinit @@ -1446,7 +1444,7 @@ exit 0 %{_mandir}/man8/runlevel.8* %endif -%files -n %{udevpkgname} +%files -n udev%{?mini} %defattr(-,root,root) /sbin/udevd /sbin/udevadm @@ -1456,15 +1454,14 @@ exit 0 %if 0%{?suse_version} <= 1310 %{_prefix}/lib/firmware %endif +%{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/accelerometer %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%{_prefix}/lib/udev/udev-generate-persistent-rule %{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rootsymlink-generator %dir %{_prefix}/lib/udev/rules.d/ @@ -1474,14 +1471,18 @@ exit 0 %exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules -%dir %{_prefix}/lib/udev/hwdb.d -%{_prefix}/lib/udev/hwdb.d/* +%{_prefix}/lib/udev/hwdb.d/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} -%{_mandir}/man?/*udev*.[0-9]* +%_mandir/man5/udev* +%_mandir/man7/hwdb* +%_mandir/man7/udev* +%_mandir/man8/systemd-hwdb* +%_mandir/man8/systemd-udev* +%_mandir/man8/udev* %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd @@ -1498,44 +1499,30 @@ exit 0 %{_datadir}/pkgconfig/udev.pc %endif -%files -n lib%{udevpkgname}%{udev_major} +%files -n libsystemd0%{?mini} +%defattr(-,root,root) +%_libdir/libsystemd.so.* +%if %{with compat_libs} +%_libdir/libsystemd-daemon.so.* +%_libdir/libsystemd-login.so.* +%_libdir/libsystemd-id128.so.* +%_libdir/libsystemd-journal.so.* +%endif + +%files -n libudev%{?mini}1 %defattr(-,root,root) %{_libdir}/libudev.so.* -%files -n lib%{udevpkgname}-devel +%files -n libudev%{?mini}-devel %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%dir %{_datadir}/gtk-doc/html/libudev -%{_datadir}/gtk-doc/html/libudev/* +%{_mandir}/man3/*udev*.3* %endif %if ! 0%{?bootstrap} -%files -n libgudev-1_0-0 -%defattr(-,root,root) -%{_libdir}/libgudev-1.0.so.* - -%files -n typelib-1_0-GUdev-1_0 -%defattr(-,root,root) -%{_libdir}/girepository-1.0/GUdev-1.0.typelib - -%files -n libgudev-1_0-devel -%defattr(-,root,root) -%dir %{_includedir}/gudev-1.0 -%dir %{_includedir}/gudev-1.0/gudev -%{_includedir}/gudev-1.0/gudev/*.h -%{_libdir}/libgudev-1.0.so -%{_libdir}/pkgconfig/gudev-1.0.pc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%dir %{_datadir}/gtk-doc/html/gudev -%{_datadir}/gtk-doc/html/gudev/* -%{_datadir}/gir-1.0/GUdev-1.0.gir - %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ @@ -1546,6 +1533,10 @@ exit 0 %files -n nss-myhostname %defattr(-, root, root) %{_sbindir}/nss-myhostname-config +%if !0%{?bootstrap} +%{_mandir}/man8/libnss_myhostname.* +%{_mandir}/man8/nss-myhostname.* +%endif /%{_lib}/*nss_myhostname* %files journal-gateway @@ -1558,6 +1549,10 @@ exit 0 %files -n nss-mymachines %defattr(-,root,root) %_libdir/libnss_mymachines.so* +%if !0%{?bootstrap} +%_mandir/man8/libnss_mymachines.* +%_mandir/man8/nss-mymachines.* +%endif %endif %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 898a6548..469004d3 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -2,10 +2,10 @@ src/login/systemd-user | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-218/src/login/systemd-user +Index: systemd-221/src/login/systemd-user =================================================================== ---- systemd-218.orig/src/login/systemd-user -+++ systemd-218/src/login/systemd-user +--- systemd-221.orig/src/login/systemd-user ++++ systemd-221/src/login/systemd-user @@ -2,5 +2,5 @@ # # Used by systemd --user instances. diff --git a/systemd-powerd-initctl-support.patch b/systemd-powerd-initctl-support.patch deleted file mode 100644 index 675124ba..00000000 --- a/systemd-powerd-initctl-support.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 7b8b1ca177a532a6673e5795af867b3631622391 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Fri, 7 Mar 2014 14:04:58 +0100 -Subject: [PATCH] systemd: powerd initctl support - -Old versions of powerd will be using the initctl fifo to signal -state changes. To maintain backward compability systemd should -be interpreting these messages, too. - -Signed-off-by: Hannes Reinecke ---- - src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 70 insertions(+), 1 deletion(-) - ---- systemd-219.orig/src/initctl/initctl.c -+++ systemd-219/src/initctl/initctl.c -@@ -32,8 +32,11 @@ - #include - #include - #include -+#include -+#include - - #include "sd-daemon.h" -+#include "sd-shutdown.h" - #include "sd-bus.h" - - #include "util.h" -@@ -44,6 +47,7 @@ - #include "bus-util.h" - #include "bus-error.h" - #include "def.h" -+#include "socket-util.h" - - #define SERVER_FD_MAX 16 - #define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC)) -@@ -141,7 +145,54 @@ static void change_runlevel(Server *s, i - } - } - -+static int send_shutdownd(unsigned delay, char mode, const char *message) { -+#ifdef HAVE_SYSV_COMPAT -+ usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE; -+ struct sd_shutdown_command c = { -+ .usec = t, -+ .mode = mode, -+ .dry_run = false, -+ .warn_wall = true, -+ }; -+ -+ union sockaddr_union sockaddr = { -+ .un.sun_family = AF_UNIX, -+ .un.sun_path = "/run/systemd/shutdownd", -+ }; -+ -+ struct iovec iovec[2] = {{ -+ .iov_base = (char*) &c, -+ .iov_len = offsetof(struct sd_shutdown_command, wall_message), -+ }}; -+ -+ struct msghdr msghdr = { -+ .msg_name = &sockaddr, -+ .msg_namelen = offsetof(struct sockaddr_un, sun_path) -+ + sizeof("/run/systemd/shutdownd") - 1, -+ .msg_iov = iovec, -+ .msg_iovlen = 1, -+ }; -+ -+ _cleanup_close_ int fd; -+ -+ fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0); -+ if (fd < 0) -+ return -errno; -+ -+ if (!isempty(message)) { -+ iovec[1].iov_base = (char*) message; -+ iovec[1].iov_len = strlen(message); -+ msghdr.msg_iovlen++; -+ } -+ -+ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) -+ return -errno; -+#endif -+ return 0; -+} -+ - static void request_process(Server *s, const struct init_request *req) { -+ int r; - assert(s); - assert(req); - -@@ -184,9 +235,28 @@ static void request_process(Server *s, c - return; - - case INIT_CMD_POWERFAIL: -+ r = send_shutdownd(2, SD_SHUTDOWN_POWEROFF, -+ "THE POWER IS FAILED! SYSTEM GOING DOWN! PLEASE LOG OFF NOW!"); -+ if (r < 0) { -+ log_warning("Failed to talk to shutdownd, shutdown cancelled: %s", strerror(-r)); -+ } -+ return; - case INIT_CMD_POWERFAILNOW: -+ r = send_shutdownd(0, SD_SHUTDOWN_POWEROFF, -+ "THE POWER IS FAILED! LOW BATTERY - EMERGENCY SYSTEM SHUTDOWN!"); -+ if (r < 0) { -+ log_warning("Failed to talk to shutdownd, proceeding with immediate shutdown: %s", strerror(-r)); -+ reboot(RB_ENABLE_CAD); -+ reboot(RB_POWER_OFF); -+ } -+ return; -+ - case INIT_CMD_POWEROK: -- log_warning("Received UPS/power initctl request. This is not implemented in systemd. Upgrade your UPS daemon!"); -+ r = send_shutdownd(0, SD_SHUTDOWN_NONE, -+ "THE POWER IS BACK"); -+ if (r < 0) { -+ log_warning("Failed to talk to shutdownd, proceeding with shutdown: %s", strerror(-r)); -+ } - return; - - case INIT_CMD_CHANGECONS: diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index dd7c0d80..e114231e 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -8,10 +8,10 @@ SUSE policy is to not clean /tmp by default. tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: systemd/tmpfiles.d/tmp.conf +Index: systemd-221/tmpfiles.d/tmp.conf =================================================================== ---- systemd.orig/tmpfiles.d/tmp.conf -+++ systemd/tmpfiles.d/tmp.conf +--- systemd-221.orig/tmpfiles.d/tmp.conf ++++ systemd-221/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details diff --git a/systemd.changes b/systemd.changes index 21c45c47..fcf4a2ad 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7 +1,270 @@ ------------------------------------------------------------------- -Thu Sep 24 12:47:29 UTC 2015 - dimstar@opensuse.org +Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de -- Add systemd-bfo88401.patch: do not restart services on coldplug. +- Fix patch tty-ask-password-agent-on-console.patch not to crash + away but enable it to ask on all devices of /dev/console + +------------------------------------------------------------------- +Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de + +- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" + waring occurring in %post + +------------------------------------------------------------------- +Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de + +- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch + to avoid broken virtual console mapping due stressed ioctl API + for the virtual consoles (boo#904214) + +------------------------------------------------------------------- +Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de + +- Fix last change that is use the new name for udev packages in %pretrans. + +------------------------------------------------------------------- +Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com + +- restore usage of LUA in %pretrans. + +------------------------------------------------------------------- +Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de + +- Try to generate the systemd users and groups always in same order + to avoid republish other packages (boo#944660) + +------------------------------------------------------------------- +Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com + +- cleanup specfile by removing commands that were dealing with systemd + pre-generated files: we're now using systemd tarball generated directly + from the git repo which doesn't contain any of these files. +- there's no point in using LUA in %pretrans + +------------------------------------------------------------------- +Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com + +- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch + +This patch was initialy added to workaround bsc#842844. But it +appears that man(1) was fixed (included since 13.2 at least) to +handle manual pages that consist only of a .so directive such as +'.so '. + +------------------------------------------------------------------- +Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de + +- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to + make it work on big endian + +------------------------------------------------------------------- +Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de + +- Use Obsolete/Provides strategy from + windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap + cycle and kick out -mini afterwards. + +------------------------------------------------------------------- +Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 224 +* systemd-networkd gained a number of new configuration options + for DHCP, tunnels and bridges +* systemd-efi-boot-generator functionality was merged into + systemd-gpt-auto-generator. + +------------------------------------------------------------------- +Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com + +- /usr/share/systemd/kbd-model-map: added entries for + xkeyboard-config converted keymaps; mappings, which already + exist in original systemd mapping table are being ignored + though, i.e. not overwritten; needs kbd in buildrequires + (FATE#318426) + +------------------------------------------------------------------- +Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com + +- hostname-NULL.patch: Work around a crash on XEN hosts + in OBS. /etc/hostname is not present and systemd then does + strchr(hostname,soemthing) with hostname NULL. + +------------------------------------------------------------------- +Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de + +- Add Correct_assert_on_unexpected_error_code.patch to work around + a problem of an assert on ENODEV for closing fd on an input + event device (boo#939571) + +------------------------------------------------------------------- +Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de + +- Remove udev-generate-rules.sh, apparently not used by anything in + the systemd nor udev-persistent-ifnames package. + +------------------------------------------------------------------- +Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org + +- Systemd v222, bugfix release. +- Drop upstream patches +0006-pam_systemd-Properly-check-kdbus-availability.patch +0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch +0031-install-fix-bad-memory-access.patch +1032-ata_id-unbotch-format-specifier.patch +- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch + udev does no longer enable USB HID power management at all. +- The udev accelerometer helper was removed, obsoleted by + iio-sensor-proxy package. +- networkd gained a new configuration option IPv6PrivacyExtensions. +- udev does not longer support the WAIT_FOR_SYSFS= key in udev + rules. There are no known issues with current sysfs, + and udev does not need or should be used to work around such bugs. + +------------------------------------------------------------------- +Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de + +- Avoid restarting logind [bnc#934901] +- Do not suppress errors in any case, even if they are ignored + +------------------------------------------------------------------- +Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com + +- Fix devel package requires (both mini and real required real libsystemd0) + +------------------------------------------------------------------- +Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de + +- Rework patch tty-ask-password-agent-on-console.patch to fit the + requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 + +------------------------------------------------------------------- +Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de + +- Rework "-mini" package logic to not conflict with itself and + then add libsystemd0 to mini. + +------------------------------------------------------------------- +Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org + +- remove SysVStartPriority= from after-local.service, + unsupported since v218. + Note that this option was only parsed and that's it. the logic + to give "start priority" was never implemented. + +------------------------------------------------------------------- +Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org + +- change the default fallback ntp servers to the opensuse + pool.ntp.org vendor zone. +- We still need to run systemd-sysctl.service after local-fs.target + otherwise it works only when /boot is in the root filesystem but + not when it is a separate partition. + +------------------------------------------------------------------- +Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com + +- Obsolete pm-utils and suspend (boo#925873). +- Remove pm-utils support + (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). + +------------------------------------------------------------------- +Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org + +- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch + from the filelist. + +------------------------------------------------------------------- +Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org + +- libpcre, glib2 and libusb are not used by systemd, remove + from buildrequires. + +------------------------------------------------------------------- +Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org + +- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id + output. +- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch + fix StopWhenUnneeded=true in combination with a Requisite= + dependency. +- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access +- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if + kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS + must not be exported. +- spec: add a min_kernel_version macro to ensure the package + conflicts with kernel versions in which systemd cannot run. + +------------------------------------------------------------------- +Wed Jun 24 20:06:27 UTC 2015 - crrodriguez@opensuse.org + +- sysctl-handle-boot-sysctl.conf-kernel_release.patch dropped, + replaced by a tmpfiles.d snippet "current-kernel-sysctl.conf" + (feature implemented in v220 just for our usecase) + +------------------------------------------------------------------- +Wed Jun 24 19:45:17 UTC 2015 - crrodriguez@opensuse.org + +- fix build when resolved is enabled +- remove fsck -l test in spec file, systemd requires util-linux + 2.26 or later where this feature is already available. + +------------------------------------------------------------------- +Wed Jun 24 17:43:22 UTC 2015 - hrvoje.senjan@gmail.com + +- Fix bootstrap build by guarding filelists (man pages don't get + built in bootstrap mode) +- Drop commented sections from baselibs.conf, allows format_spec_file + to have a successful run + +------------------------------------------------------------------- +Wed Jun 24 14:17:04 UTC 2015 - mpluskal@suse.com + +- Install 50-coredump.conf as coredumpctl is now installed by + default and does not use journal anymore as default storage + +------------------------------------------------------------------- +Fri Jun 19 20:51:14 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 221 +* From 220: +* libgudev was moved into a package of its own +* Runlevels 2, 3 and 4 are no longer distinct, they all map to + multi-user.target. +* The EFI System Partition mounted to /boot will be unmounted + 2 minutes after boot. +* systemd does not support direct live-upgrades (via `systemctl + daemon-reexec`) from versions older than v44 anymore. +* systemd-nspawn may now be called as part of a shell pipeline. +* systemd-shutdownd has been removed. This service was + previously responsible for implementing scheduled shutdowns + as exposed in /usr/bin/shutdown's time parameter. This + functionality has now been moved into systemd-logind and is + accessible via a bus interface. +* udev will no longer call blkid and create symlinks for all + block devices, but merely those from a whitelist + (cf. 60-persistent-storage.rules). +* /usr/lib/os-release gained a new optional field VARIANT= +* Details at + http://lists.freedesktop.org/archives/systemd-devel/2015-May/032147.html +* From 221: +* New sd-bus and sd-event APIs in libsystemd +* If there is both a systemd unit and a SysV init script for the + same service name, and `systemctl enable` or other operation is + run, both will now be enabled (or execute the related operation + on both), not just the unit. +- Split libsystemd0 to support systemd-less nspawn containers +- Redo manpage file lists without %exclude, tends to hide + unpackaged files. +- hwdb belongs to udev +- Resolve memory leak and add missing _cleanup_free_ to + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch +- Remove systemd-powerd-initctl-support.patch + (no longer builds because shutdownd is gone) +- Remove quilt-patches/0001-core-rework-device-state-logic.patch, + 0001-Let-some-boolean-survive-a-daemon-reload.patch + (merged upstream), + 0001-Let-some-boolean-survive-a-daemon-reload.patch + (obsolete) ------------------------------------------------------------------- Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 1827beb2..609bab8f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -17,9 +17,10 @@ %define bootstrap 0 +%define mini %nil %define real systemd -%define udevpkgname udev -%define udev_major 1 +%define min_kernel_version 3.7 + %bcond_without bash_completion %bcond_without networkd %bcond_without sysvcompat @@ -44,7 +45,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 219 +Version: 224 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -56,8 +57,8 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: gperf -BuildRequires: gtk-doc BuildRequires: intltool +BuildRequires: kbd BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libsepol-devel @@ -66,12 +67,11 @@ BuildRequires: pam-devel BuildRequires: systemd-rpm-macros BuildRequires: xz BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.24 +BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(mount) >= 2.20 +BuildRequires: pkgconfig(mount) >= 2.26 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif @@ -80,28 +80,23 @@ BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit %if 0%{?bootstrap} #!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Conflicts: systemd -Conflicts: kiwi +Provides: systemd = %version-%release +Conflicts: otherproviders(systemd) %else BuildRequires: docbook-xsl-stylesheets -BuildRequires: gobject-introspection-devel -BuildRequires: gtk-doc BuildRequires: libgcrypt-devel -BuildRequires: libusb-devel BuildRequires: libxslt-tools %if %{with python} BuildRequires: python %endif BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: %{udevpkgname} >= 172 +Requires: udev >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -112,7 +107,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.25 +Requires: util-linux >= 2.26 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -124,11 +119,14 @@ Requires(post): /usr/bin/getent Requires(post): /usr/bin/setfacl Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: kernel < %{min_kernel_version} Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} +Obsoletes: pm-utils <= 1.4.1 +Obsoletes: suspend <= 1.0 -#Git-Clone: git://anongit.freedesktop.org/systemd/systemd -Source: http://freedesktop.org/software/systemd/systemd-%version.tar.xz +#Git-Clone: git://github.com/systemd/systemd +Source: https://github.com/systemd/systemd/archive/v%version.tar.gz %if ! 0%{?bootstrap} Source1: systemd-rpmlintrc %else @@ -141,7 +139,6 @@ Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1063: udev-generate-persistent-rule.sh Source1065: systemd-remount-tmpfs # handle SUSE specific kbd settings @@ -165,8 +162,6 @@ Patch28: apply-ACL-for-nvidia-uvm-device-node.patch Patch37: suse-sysv-bootd-support.diff # PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file -Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch Patch42: systemd-pam_config.patch @@ -175,8 +170,6 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed -Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) @@ -189,8 +182,6 @@ Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch91: plymouth-quit-and-wait-for-emergency-service.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) -Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch @@ -201,8 +192,6 @@ Patch180: 0014-journald-with-journaling-FS.patch Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemd-powerd-initctl-support.patch -Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) @@ -248,10 +237,10 @@ Patch490: watch_resolv.conf_for_become_changed.patch Patch520: systemd-add-user-keep.patch # PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) Patch521: kbd-model-map.patch -Patch522: 0001-core-rework-device-state-logic.patch -# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM -Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch -Patch524: systemd-bfo88401.patch +# PATCH-WORKAROUND-SUSE (boo#939571) +Patch522: Correct_assert_on_unexpected_error_code.patch +# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) +Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # UDEV PATCHES # ============ @@ -277,8 +266,6 @@ Patch1007: 1007-physical-hotplug-cpu-and-memory.patch Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931) -Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 @@ -297,6 +284,8 @@ Patch1096: 1096-new-udev-root-symlink-generator.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch # PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch Patch1098: 1098-systemd-networkd-alias-network-service.patch +# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner +Patch1099: hostname-NULL.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -326,10 +315,14 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: libsystemd0%{?mini} = %version Requires: systemd-rpm-macros %if 0%{?bootstrap} -Conflicts: systemd-devel +Provides: systemd-devel = %version-%release +Conflicts: otherproviders(systemd-devel) +%else +Obsoletes: systemd-mini-devel +Provides: systemd-mini-devel %endif %description devel @@ -347,7 +340,39 @@ Provides: sysvinit:/sbin/init %description sysvinit Drop-in replacement of System V init tools. -%package -n %{udevpkgname} +%package -n libsystemd0%{?mini} +Summary: Component library for systemd +License: LGPL-2.1+ +Group: System/Libraries +%if 0%{?bootstrap} +Conflicts: libsystemd0 +%else +Obsoletes: libsystemd0-mini +Provides: libsystemd0-mini +%endif + +%description -n libsystemd0%{?mini} +This library provides several of the systemd C APIs: + +* sd-bus implements an alternative D-Bus client library that is + relatively easy to use, very efficient and supports both classic + D-Bus as well as kdbus as transport backend. + +* sd-daemon(3): for system services (daemons) to report their status + to systemd and to make easy use of socket-based activation logic + +* sd-event is a generic event loop abstraction that is built around + Linux epoll, but adds features such as event prioritization or + efficient timer handling. + +* sd-id128(3): generation and processing of 128-bit IDs + +* sd-journal(3): API to submit and query journal log entries + +* sd-login(3): APIs to introspect and monitor seat, login session and + user status information on the local system. + +%package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel @@ -359,7 +384,7 @@ PreReq: /usr/bin/sg_inq Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent -Requires(post): lib%{udevpkgname}%{udev_major} +Requires(post): libudev%{?mini}1 Requires(post): sed Requires(post): /usr/bin/systemctl %if %{defined regenerate_initrd_post} @@ -380,14 +405,14 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} -Conflicts: libudev%{udev_major} -Conflicts: udev -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs +Provides: udev = %version-%release +Conflicts: otherproviders(udev) +%else +Obsoletes: udev-mini +Provides: udev-mini %endif -%description -n %{udevpkgname} +%description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages and dispatches them according to rules in /lib/udev/rules.d/. Matching @@ -396,70 +421,40 @@ call tools to initialize a device, or load needed kernel modules. -%package -n lib%{udevpkgname}%{udev_major} +%package -n libudev%{?mini}1 +# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries -Requires: %{udevpkgname} >= %{version}-%{release} %if 0%{?bootstrap} -Conflicts: libudev%{udev_major} -Conflicts: kiwi -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs +Conflicts: libudev1 +%else +Obsoletes: libudev1-mini +Provides: libudev1-mini %endif -%description -n lib%{udevpkgname}%{udev_major} +%description -n libudev%{?mini}1 This package contains the dynamic library libudev, which provides access to udev device information -%package -n lib%{udevpkgname}-devel +%package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1+ -Group: Development/Libraries/Other -Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} +Group: Development/Libraries/C and C++ +Requires: libudev%{?mini}1 = %version-%release %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev%{udev_major} = %{version} -Conflicts: libudev-devel +Provides: libudev-devel = %version-%release +Conflicts: otherproviders(libudev-devel) +%else +Obsoletes: libudev-mini-devel +Provides: libudev-mini-devel %endif -%description -n lib%{udevpkgname}-devel +%description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. %if ! 0%{?bootstrap} -%package -n libgudev-1_0-0 -Summary: GObject library, to access udev device information -License: LGPL-2.1+ -Group: System/Libraries -Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} - -%description -n libgudev-1_0-0 -This package contains the GObject library libgudev, which provides -access to udev device information. - -%package -n typelib-1_0-GUdev-1_0 -Summary: GObject library, to access udev device information -- Introspection bindings -License: LGPL-2.1+ -Group: System/Libraries - -%description -n typelib-1_0-GUdev-1_0 -This package provides the GObject Introspection bindings for libgudev, which -provides access to udev device information. - -%package -n libgudev-1_0-devel -Summary: Devel package for libgudev -License: LGPL-2.1+ -Group: Development/Libraries/Other -Requires: glib2-devel -Requires: libgudev-1_0-0 = %{version}-%{release} -Requires: libudev-devel = %{version}-%{release} -Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} - -%description -n libgudev-1_0-devel -This is the devel package for the GObject library libgudev, which -provides GObject access to udev device information. - %package logger Summary: Journal only logging License: LGPL-2.1+ @@ -555,14 +550,12 @@ cp %{SOURCE7} m4/ %patch17 -p1 %patch20 -p1 %patch21 -p1 -%patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html %patch27 -p1 %patch28 -p1 %patch37 -p1 %patch39 -p1 -%patch40 -p1 %patch41 -p1 %patch42 -p1 %patch84 -p1 @@ -570,13 +563,11 @@ cp %{SOURCE7} m4/ %patch90 -p1 %patch91 -p1 %patch120 -p1 -%patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 %patch182 -p1 %patch183 -p1 -%patch185 -p1 %patch186 -p1 %patch188 -p1 %patch189 -p1 @@ -603,9 +594,8 @@ cp %{SOURCE7} m4/ %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p1 -%patch523 -p1 -%patch524 -p1 +%patch522 -p0 +%patch523 -p0 # udev patches %patch1001 -p1 @@ -616,7 +606,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1011 -p1 %patch1012 -p1 -%patch1013 -p1 %patch1035 -p1 %if %{with blkrrpart} %patch1037 -p1 @@ -628,24 +617,7 @@ cp %{SOURCE7} m4/ %patch1096 -p1 %patch1097 -p1 %patch1098 -p1 - -# remove patch backups -find -name '*.orig' -exec rm -f '{}' \+ - -# ensure generate files are removed -rm -f units/emergency.service - -# disable "-l" option for fsck if it does not support new locking scheme -# compare with commit c343be283b7152554bac0c02493a4e1759c163f7 -PATH=${PATH}:/sbin:/usr/sbin -PATH_FSCK=$(type -p fsck) -if grep -q /run/fsck/%%s\\.lock $PATH_FSCK -then - echo Found new $PATH_FSCK that is allow private locking -else - echo Found old $PATH_FSCK that is disable flock for this one - sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c -fi +%patch1099 -p1 # # In combination with Patch352 set-and-use-default-logconsole.patch @@ -687,9 +659,8 @@ cflags () esac set +o noclobber } -autoreconf -fi -# prevent pre-generated and distributed files from re-building -find . -name "*.[1-8]" -exec touch '{}' '+'; +sh autogen.sh + export V=e export CFLAGS="%{optflags}" export LDFLAGS @@ -703,6 +674,7 @@ cflags -Wl,-O2 LDFLAGS cflags -Wl,--hash-size=8599 LDFLAGS # keep split-usr until all packages have moved their systemd rules to /usr %configure \ + --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ @@ -710,7 +682,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ %if 0%{?bootstrap} - --disable-gudev \ --disable-myhostname \ --disable-manpages \ --disable-machined \ @@ -719,7 +690,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS %if %{with python} --with-python \ %endif - --enable-gtk-doc \ --with-nss-my-hostname-warning \ %endif --enable-selinux \ @@ -750,9 +720,6 @@ make %{?_smp_mflags} update-man-list man %endif %install -%if !0%{?bootstrap} -cp man/man[0-9]/*.[0-9] man/ -%endif make install DESTDIR="%buildroot" # move to %{_lib} @@ -775,7 +742,6 @@ install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service -install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -807,12 +773,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# To avoid making life hard for Factory developers, don't package the -# kernel.core_pattern setting until systemd-coredump is a part of an actual -# systemd release and it's made clear how to get the core dumps out of the -# journal. -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -862,6 +822,20 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF +#ensure we get the running kernel sysctl settings. + +cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf +d! /run/sysctl.d +L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v +EOF + +mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d + +cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf +[Unit] +After=local-fs.target +EOF + # ensure after.local wrapper is called install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ @@ -915,10 +889,31 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done +# add entries for xkeyboard-config converted keymaps; mappings, +# which already exist in original systemd mapping table are being +# ignored though, i.e. not overwritten +cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >> %{buildroot}//usr/share/systemd/kbd-model-map + %find_lang systemd %pre -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +for name in journal timesync network resolve bus-proxy +do + getent group systemd-$name >/dev/null && continue + groupadd -r systemd-$name || : +done +for name in timesync network resolve bus-proxy +do + getent passwd systemd-$name >/dev/null && continue + case "$name" in + timesync) descr="Systemd Time Synchronization" ;; + network) descr="Systemd Network Management" ;; + resolve) descr="Systemd Resolver" ;; + bus-proxy) descr="Systemd Bus Proxy" ;; + esac + useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : +done exit 0 %post @@ -927,16 +922,16 @@ exit 0 %endif /sbin/ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : -/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : -/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : -/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : +/usr/bin/systemd-machine-id-setup || : +/usr/lib/systemd/systemd-random-seed save || : +/usr/bin/systemctl daemon-reexec || : +/usr/bin/journalctl --update-catalog || : # Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -chmod g+s %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ || : +chmod g+s %{_localstatedir}/log/journal/ || : if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : - chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || : + chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : + chmod g+s "%{_localstatedir}/log/journal/$ID" || : fi %if %{with systemgrps} getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : @@ -959,7 +954,7 @@ if [ "$1" -eq 1 ]; then getty@tty1.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ - remote-fs.target >/dev/null 2>&1 || : + remote-fs.target || : fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -977,8 +972,9 @@ done %postun /sbin/ldconfig if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : - /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : + /usr/bin/systemctl daemon-reload || : + #Avoid restarting logind [bnc#934901] until fixed upstream + #/usr/bin/systemctl try-restart systemd-logind.service || : fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then @@ -990,16 +986,17 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - remote-fs.target >/dev/null 2>&1 || : + remote-fs.target || : rm -f /etc/systemd/system/default.target 2>&1 || : fi -%pretrans -n %{udevpkgname} -p +# pretrans section must always use lua +%pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then posix.symlink("/lib/udev", "/usr/lib/udev") end -%pre -n %{udevpkgname} +%pre -n udev%{?mini} if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -1008,31 +1005,33 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi # Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -getent group tape >/dev/null || groupadd -r tape 2> /dev/null || : +getent group tape >/dev/null || groupadd -r tape || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || : - udevadm control --exit 2>&1 || : + systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : + udevadm control --exit || : fi fi -%post -n %{udevpkgname} -/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -# add KERNEL name match to existing persistent net rules -sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : +%post -n udev%{?mini} +/usr/bin/udevadm hwdb --update || : +if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then + # add KERNEL name match to existing persistent net rules + sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules || : +fi # cleanup old stuff rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/20-cdrom.rules rm -f /etc/udev/rules.d/55-cdrom.rules rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload || : # start daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then - /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + if ! systemctl start systemd-udevd.service; then + /usr/lib/systemd/systemd-udevd --daemon || : fi fi fi @@ -1052,9 +1051,9 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi fi -%postun -n %{udevpkgname} +%postun -n udev%{?mini} %insserv_cleanup -systemctl daemon-reload >/dev/null 2>&1 || : +systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then @@ -1072,20 +1071,17 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %if %{defined regenerate_initrd_post} -%posttrans -n %{udevpkgname} +%posttrans -n udev%{?mini} %regenerate_initrd_posttrans %endif -%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig - -%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig +%post -n libsystemd0%{?mini} -p /sbin/ldconfig +%postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p /sbin/ldconfig +%postun -n libudev%{?mini}1 -p /sbin/ldconfig %if ! 0%{?bootstrap} -%post -n libgudev-1_0-0 -p /sbin/ldconfig - -%postun -n libgudev-1_0-0 -p /sbin/ldconfig - %if %{with permission} %verifyscript logger %verify_permissions -e %{_localstatedir}/log/journal/ @@ -1105,7 +1101,7 @@ getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log %endif if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : + systemctl --no-block restart systemd-journal-flush.service || : fi %preun -n nss-myhostname @@ -1121,7 +1117,7 @@ fi %postun -n nss-mymachines -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -1161,7 +1157,6 @@ exit 0 %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-notify -%{_bindir}/systemd-hwdb %{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl @@ -1177,13 +1172,6 @@ exit 0 %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl %{_sbindir}/systemd-sysv-convert -%{_libdir}/libsystemd.so.* -%if %{with compat_libs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -1214,6 +1202,7 @@ exit 0 %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service +%{_prefix}/lib/systemd/user/*.socket %exclude %{_prefix}/lib/systemd/systemd-udevd %if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd @@ -1228,6 +1217,7 @@ exit 0 %dir %{_prefix}/lib/systemd/user-preset %dir %{_prefix}/lib/systemd/system-generators %dir %{_prefix}/lib/systemd/user-generators +%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -1235,12 +1225,14 @@ exit 0 %dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d +%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf %if ! 0%{?bootstrap} %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif +%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator %if 0%{has_efi} %{_bindir}/bootctl -%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator %endif %{_prefix}/lib/systemd/system-generators/systemd-debug-generator %{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator @@ -1271,6 +1263,7 @@ exit 0 %dir %{_libexecdir}/sysctl.d %dir %{_sysconfdir}/sysctl.d +%{_prefix}/lib/sysctl.d/50-coredump.conf %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system @@ -1304,6 +1297,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_sysconfdir}/X11/xinit/ # Some files which may created by us %dir %{_sysconfdir}/X11/xorg.conf.d %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1319,15 +1313,23 @@ exit 0 %{_datadir}/factory/ %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %if %{with networkd} +%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif +%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %if !0%{?bootstrap} +%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %endif +%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname + %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1345,20 +1347,20 @@ exit 0 %{_datadir}/systemd %if ! 0%{?bootstrap} -# Packaged in sysvinit subpackage -%exclude %{_mandir}/man1/init.1* -%exclude %{_mandir}/man8/halt.8* -%exclude %{_mandir}/man8/reboot.8* -%exclude %{_mandir}/man8/shutdown.8* -%exclude %{_mandir}/man8/poweroff.8* -%exclude %{_mandir}/man8/telinit.8* -%exclude %{_mandir}/man8/runlevel.8* -%exclude %{_mandir}/man*/*udev*.[0-9]* -%exclude %{_mandir}/man8/systemd-journal-gatewayd.* -%{_mandir}/man1/*.1* -%{_mandir}/man5/*.5* -%{_mandir}/man7/*.7* -%{_mandir}/man8/*.8* +%_mandir/man1/[a-rt-z]*ctl.1* +%_mandir/man1/systemc*.1* +%_mandir/man1/systemd*.1* +%_mandir/man5/[a-tv-z]* +%_mandir/man5/user* +%_mandir/man7/[bdfks]* +%_mandir/man8/kern* +%_mandir/man8/pam_* +%_mandir/man8/systemd-[a-gik-tv]* +%_mandir/man8/systemd-h[aioy]* +%_mandir/man8/systemd-journal-remote.* +%_mandir/man8/systemd-journal-upload.* +%_mandir/man8/systemd-journald* +%_mandir/man8/systemd-u[ps]* %endif %{_docdir}/systemd %{_prefix}/lib/udev/rules.d/70-uaccess.rules @@ -1388,6 +1390,7 @@ exit 0 %{_sysconfdir}/systemd/resolved.conf %{_libdir}/libnss_resolve.so.2 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif %if ! 0%{?bootstrap} @@ -1405,21 +1408,16 @@ exit 0 %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so %{_libdir}/libsystemd-journal.so -%dir %{_includedir}/systemd -%{_includedir}/systemd/sd-login.h -%{_includedir}/systemd/sd-daemon.h -%{_includedir}/systemd/sd-id128.h -%{_includedir}/systemd/sd-journal.h -%{_includedir}/systemd/sd-messages.h -%{_includedir}/systemd/_sd-common.h -%{_libdir}/pkgconfig/systemd.pc +%{_includedir}/systemd/ +%{_datadir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc %if ! 0%{?bootstrap} -%{_mandir}/man3/*.3* +%_mandir/man3/SD*.3* +%_mandir/man3/sd*.3* %endif %files sysvinit @@ -1441,7 +1439,7 @@ exit 0 %{_mandir}/man8/runlevel.8* %endif -%files -n %{udevpkgname} +%files -n udev%{?mini} %defattr(-,root,root) /sbin/udevd /sbin/udevadm @@ -1451,15 +1449,14 @@ exit 0 %if 0%{?suse_version} <= 1310 %{_prefix}/lib/firmware %endif +%{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/accelerometer %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%{_prefix}/lib/udev/udev-generate-persistent-rule %{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/rootsymlink-generator %dir %{_prefix}/lib/udev/rules.d/ @@ -1469,14 +1466,18 @@ exit 0 %exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules -%dir %{_prefix}/lib/udev/hwdb.d -%{_prefix}/lib/udev/hwdb.d/* +%{_prefix}/lib/udev/hwdb.d/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} -%{_mandir}/man?/*udev*.[0-9]* +%_mandir/man5/udev* +%_mandir/man7/hwdb* +%_mandir/man7/udev* +%_mandir/man8/systemd-hwdb* +%_mandir/man8/systemd-udev* +%_mandir/man8/udev* %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd @@ -1493,44 +1494,30 @@ exit 0 %{_datadir}/pkgconfig/udev.pc %endif -%files -n lib%{udevpkgname}%{udev_major} +%files -n libsystemd0%{?mini} +%defattr(-,root,root) +%_libdir/libsystemd.so.* +%if %{with compat_libs} +%_libdir/libsystemd-daemon.so.* +%_libdir/libsystemd-login.so.* +%_libdir/libsystemd-id128.so.* +%_libdir/libsystemd-journal.so.* +%endif + +%files -n libudev%{?mini}1 %defattr(-,root,root) %{_libdir}/libudev.so.* -%files -n lib%{udevpkgname}-devel +%files -n libudev%{?mini}-devel %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%dir %{_datadir}/gtk-doc/html/libudev -%{_datadir}/gtk-doc/html/libudev/* +%{_mandir}/man3/*udev*.3* %endif %if ! 0%{?bootstrap} -%files -n libgudev-1_0-0 -%defattr(-,root,root) -%{_libdir}/libgudev-1.0.so.* - -%files -n typelib-1_0-GUdev-1_0 -%defattr(-,root,root) -%{_libdir}/girepository-1.0/GUdev-1.0.typelib - -%files -n libgudev-1_0-devel -%defattr(-,root,root) -%dir %{_includedir}/gudev-1.0 -%dir %{_includedir}/gudev-1.0/gudev -%{_includedir}/gudev-1.0/gudev/*.h -%{_libdir}/libgudev-1.0.so -%{_libdir}/pkgconfig/gudev-1.0.pc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%dir %{_datadir}/gtk-doc/html/gudev -%{_datadir}/gtk-doc/html/gudev/* -%{_datadir}/gir-1.0/GUdev-1.0.gir - %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ @@ -1541,6 +1528,10 @@ exit 0 %files -n nss-myhostname %defattr(-, root, root) %{_sbindir}/nss-myhostname-config +%if !0%{?bootstrap} +%{_mandir}/man8/libnss_myhostname.* +%{_mandir}/man8/nss-myhostname.* +%endif /%{_lib}/*nss_myhostname* %files journal-gateway @@ -1553,6 +1544,10 @@ exit 0 %files -n nss-mymachines %defattr(-,root,root) %_libdir/libnss_mymachines.so* +%if !0%{?bootstrap} +%_mandir/man8/libnss_mymachines.* +%_mandir/man8/nss-mymachines.* +%endif %endif %changelog diff --git a/tomcat6-var-lock-subsys-legacy.patch b/tomcat6-var-lock-subsys-legacy.patch index 71452e81..cf9207ba 100644 --- a/tomcat6-var-lock-subsys-legacy.patch +++ b/tomcat6-var-lock-subsys-legacy.patch @@ -5,9 +5,11 @@ Provide /run/lock/subsys directory to be able to provide the tmpfiles.d/legacy.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- systemd-210/tmpfiles.d/legacy.conf -+++ systemd-210/tmpfiles.d/legacy.conf 2014-07-30 12:36:36.862735670 +0000 -@@ -16,7 +16,7 @@ d /run/lock 0775 root lock - +Index: systemd-221/tmpfiles.d/legacy.conf +=================================================================== +--- systemd-221.orig/tmpfiles.d/legacy.conf ++++ systemd-221/tmpfiles.d/legacy.conf +@@ -17,7 +17,7 @@ L /var/lock - - - - ../run/lock # /run/lock/subsys is used for serializing SysV service execution, and # hence without use on SysV-less systems. diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index ee7e73d8..ae962403 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -1,11 +1,22 @@ ---- - src/tty-ask-password-agent/tty-ask-password-agent.c | 171 +++++++++++++++++++- - 1 file changed, 166 insertions(+), 5 deletions(-) +From 633a5904c1c4e363a7147f47e2d9fdb1925f7b9f Mon Sep 17 00:00:00 2001 +From: Werner Fink +Date: Fri, 25 Sep 2015 14:28:58 +0200 +Subject: [PATCH] Ask for passphrases not only on the first console of + /dev/console -Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +but also on all other consoles. This does help on e.g. mainframes +where often a serial console together with other consoles are +used. Even rack based servers attachted to both a serial console +as well as having a virtual console do sometimes miss a connected +monitor. +--- + src/tty-ask-password-agent/tty-ask-password-agent.c | 191 ++++++++++++++++++++- + 1 file changed, 186 insertions(+), 5 deletions(-) + +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 82cbf95..928a5e8 100644 +--- a/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -31,6 +31,10 @@ #include #include @@ -17,26 +28,22 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c #include "util.h" #include "mkdir.h" -@@ -42,6 +46,9 @@ - #include "strv.h" - #include "build.h" - #include "def.h" +@@ -45,6 +49,8 @@ + #include "process-util.h" + #include "terminal-util.h" + #include "signal-util.h" +#include "fileio.h" +#include "macro.h" -+#include "list.h" static enum { ACTION_LIST, -@@ -50,6 +57,22 @@ static enum { +@@ -53,6 +59,19 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; +struct console { -+ LIST_FIELDS(struct console, handle); -+ const char *tty; + pid_t pid; -+ int id; -+ char dev[]; ++ char *tty; +}; + +static volatile unsigned long *usemask; @@ -50,22 +57,33 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c static bool arg_plymouth = false; static bool arg_console = false; -@@ -208,6 +231,58 @@ static int ask_password_plymouth( +@@ -210,6 +229,69 @@ static int ask_password_plymouth( return 0; } ++static void free_consoles(struct console *con, const unsigned int num) { ++ unsigned int n; ++ if (!con || !num) ++ return; ++ for (n = 0; n < num; n++) ++ free(con[n].tty); ++ free(con); ++} ++ +static const char *current_dev = "/dev/console"; -+static LIST_HEAD(struct console, consoles); -+static int collect_consoles(void) { ++static struct console* collect_consoles(unsigned int * num) { + _cleanup_free_ char *active = NULL; + const char *word, *state; -+ struct console *con; -+ size_t len; -+ int ret, id = 0; ++ struct console *con = NULL; ++ size_t con_len = 0, len; ++ int ret; ++ ++ assert(num); ++ assert(*num == 0); + + ret = read_one_line_file("/sys/class/tty/console/active", &active); + if (ret < 0) -+ return ret; ++ return con; + FOREACH_WORD(word, len, active, state) { + _cleanup_free_ char *tty = NULL; + @@ -74,42 +92,42 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c + word = tty; + len = strlen(tty); + } -+ con = malloc0(sizeof(*con) + strlen("/dev/") + len + 1); ++ con = greedy_realloc((void**)&con, &con_len, 1+(*num), sizeof(struct console)); + if (con == NULL) { + log_oom(); -+ continue; ++ return NULL; + } -+ sprintf(con->dev, "/dev/%.*s", (int)len, word); -+ con->tty = con->dev; -+ con->id = id++; -+ LIST_PREPEND(handle, consoles, con); ++ if (asprintf(&con[*num].tty, "/dev/%.*s", (int)len, word) < 0) { ++ free_consoles(con, *num); ++ log_oom(); ++ *num = 0; ++ return NULL; ++ } ++ con[*num].pid = 0; ++ (*num)++; + } -+ if (consoles == NULL) { -+ con = malloc0(sizeof(*con)); ++ if (con == NULL) { ++ con = greedy_realloc((void**)&con, &con_len, 1, sizeof(struct console)); + if (con == NULL) { + log_oom(); -+ return -ENOMEM; ++ return NULL; + } -+ con->tty = current_dev; -+ con->id = id++; -+ LIST_PREPEND(handle, consoles, con); ++ con[0].tty = strdup(current_dev); ++ if (con[0].tty == NULL) { ++ free_consoles(con, 1); ++ log_oom(); ++ return NULL; ++ } ++ con[0].pid = 0; ++ (*num)++; + } -+ return 0; -+} -+ -+static void free_consoles(void) { -+ struct console *c; -+ LIST_FOREACH(handle, c, consoles) { -+ LIST_REMOVE(handle, consoles, c); -+ free(c); -+ } -+ LIST_HEAD_INIT(consoles); ++ return con; +} + static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; uint64_t not_after = 0; -@@ -308,7 +383,7 @@ static int parse_password(const char *fi +@@ -310,7 +392,7 @@ static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *password = NULL; if (arg_console) { @@ -118,28 +136,39 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c if (tty_fd < 0) return tty_fd; } -@@ -612,9 +687,85 @@ static int parse_argv(int argc, char *ar +@@ -614,8 +696,90 @@ static int parse_argv(int argc, char *argv[]) { return 1; } -+static int zzz(void) ++static unsigned int wfa_child(const struct console * con, const unsigned int id) +{ -+ struct console *con; ++ setsid(); ++ release_terminal(); ++ *usemask |= 1 << id; /* shared memory area */ ++ current_dev = con[id].tty; ++ return id; ++} ++ ++static unsigned int wait_for_answer(void) ++{ ++ struct console *consoles; + struct sigaction sig = { + .sa_handler = chld_handler, + .sa_flags = SA_NOCLDSTOP | SA_RESTART, + }; + struct sigaction oldsig; + sigset_t set, oldset; ++ unsigned int num = 0, id; + int status = 0, ret; + pid_t job; + -+ collect_consoles(); -+ if (!consoles->handle_next) { -+ consoles->pid = 0; -+ con = consoles; -+ goto nofork; ++ consoles = collect_consoles(&num); ++ if (!consoles) { ++ log_error("Failed to query password: %m"); ++ exit(EXIT_FAILURE); + } ++ if (num < 2) ++ return wfa_child(consoles, 0); + + assert_se(sigemptyset(&set) == 0); + assert_se(sigaddset(&set, SIGHUP) == 0); @@ -150,25 +179,21 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c + sig.sa_handler = SIG_DFL; + assert_se(sigaction(SIGHUP, &sig, NULL) == 0); + -+ LIST_FOREACH(handle, con, consoles) { -+ switch ((con->pid = fork())) { -+ case 0: ++ for (id = 0; id < num; id++) { ++ consoles[id].pid = fork(); ++ ++ if (consoles[id].pid < 0) { ++ log_error("Failed to query password: %m"); ++ exit(EXIT_FAILURE); ++ } ++ ++ if (consoles[id].pid == 0) { + if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) + _exit(EXIT_FAILURE); + zero(sig); + assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); + assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); -+ nofork: -+ setsid(); -+ release_terminal(); -+ *usemask |= 1 << con->id; -+ current_dev = con->tty; -+ return con->id; /* child */ -+ case -1: -+ log_error("Failed to query password: %s", strerror(errno)); -+ exit(EXIT_FAILURE); -+ default: -+ break; ++ return wfa_child(consoles, id); + } + } + @@ -179,21 +204,21 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c + break; + continue; + } -+ LIST_FOREACH(handle, con, consoles) { -+ if (con->pid == job || kill(con->pid, 0) < 0) { -+ *usemask &= ~(1 << con->id); ++ for (id = 0; id < num; id++) { ++ if (consoles[id].pid == job || kill(consoles[id].pid, 0) < 0) { ++ *usemask &= ~(1 << id); /* shared memory area */ + continue; + } -+ if (*usemask & (1 << con->id)) ++ if (*usemask & (1 << id)) /* shared memory area */ + continue; -+ kill(con->pid, SIGHUP); ++ kill(consoles[id].pid, SIGHUP); + usleep(50000); -+ kill(con->pid, SIGKILL); ++ kill(consoles[id].pid, SIGKILL); + } + if (WIFEXITED(status) && ret == 0) + ret = WEXITSTATUS(status); + } -+ free_consoles(); ++ free_consoles(consoles, num); + exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */ +} + @@ -201,14 +226,20 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c - int r; + int r, id = 0; -+ LIST_HEAD_INIT(consoles); log_set_target(LOG_TARGET_AUTO); log_parse_environment(); - log_open(); -@@ -625,11 +776,19 @@ int main(int argc, char *argv[]) { +@@ -627,11 +791,27 @@ int main(int argc, char *argv[]) { if (r <= 0) goto finish; ++ /* ++ * Use this shared memory area to be able to synchronize the ++ * workers asking for password with the main process. ++ * This allows to continue if one of the consoles had been ++ * used as afterwards the remaining asking processes will ++ * be terminated. The wait_for_terminate() does not help ++ * for this use case. ++ */ + usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_SHARED, -1, 0); + assert_se(usemask != NULL); @@ -216,9 +247,9 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c if (arg_console) { - setsid(); - release_terminal(); -+ if (!arg_plymouth && arg_action != ACTION_WALL && -+ arg_action != ACTION_LIST) { -+ id = zzz(); ++ if (!arg_plymouth && ++ !IN_SET(arg_action, ACTION_WALL, ACTION_LIST)) { ++ id = wait_for_answer(); + } else { + setsid(); + release_terminal(); @@ -228,12 +259,14 @@ Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) r = watch_passwords(); else -@@ -638,6 +797,8 @@ int main(int argc, char *argv[]) { +@@ -640,6 +820,7 @@ int main(int argc, char *argv[]) { if (r < 0) log_error_errno(r, "Error: %m"); -+ free_consoles(); -+ *usemask &= ~(1 << id); ++ *usemask &= ~(1 << id); /* shared memory area */ finish: return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } +-- +2.2.0 + diff --git a/udev-generate-persistent-rule.sh b/udev-generate-persistent-rule.sh deleted file mode 100644 index 8ffdd567..00000000 --- a/udev-generate-persistent-rule.sh +++ /dev/null @@ -1,498 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2014 Robert Milasan -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# This script run manually by user, will generate a persistent rule for -# a given network interface to rename it to new interface name. -# - -_prj="$(basename $0 2>/dev/null)" -prj="${_prj%.*}" -ver="0.2" - -log_info() -{ - local msg="$1" - echo "$prj: $msg" -} - -log_error() -{ - local msg="$1" - echo "$prj: $msg" >&2 -} - -usage() -{ - cat << EOF -$prj: udev persistent rule generator script - -Usage: $prj [OPTION] ... - - -h Show this help - -l List available interfaces - -m Generate the persistent rule based on interface MAC address - default option, if nothing is specified - -p Generate the persistent rule based on interface PCI slot - -v Be more verbose - -V Output the version number - -c [INTERFACE] Current interface name (ex: ip link) - only needed for retrieving information - -n [INTERFACE] New interface name (ex: net0) - -o [FILE] Where to write the new generate rule (default: /dev/stdout) - prefered location is /etc/udev/rules.d/70-persistent-net.rules - -Example: - $prj -v -c enp0s4 -n lan0 - or - $prj -m -c enp0s4 -n net0 -o /etc/udev/rules.d/70-persistent-net.rules - or - $prj -p -c wlp3s0 -n wlan0 -o /etc/udev/rules.d/50-mynet.rules - -EOF -} - -display_note() -{ - cat << EOF - -NOTE: Using the generate persistent rule might mean you will need to do extra work to ensure -that it will work accordingly. This mean, regenerating the initramfs/initrd image and/or using -'net.ifnames=0' option at boot time. -In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, but usually there -is no need for 'net.ifnames=0' option if the persistent rule is available in initramfs/initrd image. -EOF -} - -get_pci() -{ - local path="$1" - local pci="" - - if [ -L "$path/device" ]; then - local pci_link="$(readlink -f $path/device 2>/dev/null)" - pci="$(basename $pci_link 2>/dev/null)" - fi - echo $pci -} - -get_pci_id() -{ - local path="$1" - local pci_id="" - - if [ -r "$path/device/uevent" ]; then - local _pci_id="$(cat $path/device/uevent|grep ^PCI_ID 2>/dev/null)" - pci_id="${_pci_id#*=}" - fi - echo $pci_id -} - -get_macaddr() -{ - local path="$1" - local macaddr="" - - if [ -r "$path/address" ]; then - macaddr="$(cat $path/address 2>/dev/null)" - fi - echo $macaddr -} - -get_type() -{ - local path="$1" - local dev_type="" - - if [ -r "$path/type" ]; then - dev_type="$(cat $path/type 2>/dev/null)" - fi - echo $dev_type -} - -get_dev_id() -{ - local path="$1" - local dev_id="" - - if [ -r "$path/dev_id" ]; then - dev_id="$(cat $path/dev_id 2>/dev/null)" - fi - echo $dev_id -} - -get_devtype() -{ - local path="$1" - local devtype="" - if [ -r "$path/uevent" ]; then - local _devtype="$(cat $path/uevent|grep ^DEVTYPE 2>/dev/null)" - devtype="${_devtype#*=}" - fi - echo $devtype -} - -get_subsystem() -{ - local path="$1" - local subsystem="" - - if [ -L "$path/subsystem" ]; then - local subsystem_link="$(readlink -f $path/subsystem 2>/dev/null)" - subsystem="$(basename $subsystem_link 2>/dev/null)" - fi - echo $subsystem -} - -get_parent_subsystem() -{ - local path="$1" - local subsystem="" - - if [ -L "$path/device/subsystem" ]; then - local subsystem_link="$(readlink -f $path/device/subsystem 2>/dev/null)" - subsystem="$(basename $subsystem_link 2>/dev/null)" - fi - echo $subsystem -} - -get_driver() -{ - local path="$1" - local driver="" - - if [ -L "$path/device/driver" ]; then - local driver_link="$(readlink -f $path/device/driver 2>/dev/null)" - driver="$(basename $driver_link 2>/dev/null)" - fi - echo $driver -} - -valid_mac() -{ - local macaddr="$1" - local valid_macaddr="" - - if [ -n "$macaddr" ]; then - valid_macaddr="$(echo $macaddr | sed -n '/^\([0-9a-z][0-9a-z]:\)\{5\}[0-9a-z][0-9a-z]$/p')" - fi - echo $valid_macaddr -} - -valid_dev_type() -{ - local dev_type="$1" - - case "$dev_type" in - [0-32]) - echo "$dev_type" ;; - *) - echo "invalid" ;; - esac -} - -generate_comment() -{ - local pci_id="$1" - local driver="$2" - local output="$3" - local device_type="$4" - local _type="" - - if [ -z "$pci_id" ]; then - log_error "\$pci_id empty." - exit 1 - elif [ -z "$driver" ]; then - log_error "\$driver empty." - exit 1 - elif [ -z "$output" ]; then - log_error "\$output empty." - exit 1 - else - if [ "$device_type" == "pci" ]; then - _type="PCI" - elif [ "$device_type" == "usb" ]; then - _type="USB" - else - _type="Unknown" - fi - echo "# $_type device $pci_id ($driver)" >> $output - fi -} - -generate_rule() -{ - local _subsystem="$1" - local _mac="$2" - local _pci="$3" - local _dev_id="$4" - local _dev_type="$5" - local _kernel="$6" - local _interface="$7" - local output="$8" - - if [ -z "$_subsystem" ]; then - log_error "\$_subsystem empty." - exit 1 - elif [ -z "$_dev_id" ]; then - log_error "\$_dev_id empty." - exit 1 - elif [ -z "$_dev_type" ]; then - log_error "\$_dev_type empty." - exit 1 - elif [ -z "$_kernel" ]; then - log_error "\$_kernel empty." - exit 1 - elif [ -z "$_interface" ]; then - log_error "\$_interface empty." - exit 1 - elif [ -z "$output" ]; then - output="/dev/stdout" - fi - - if [ "$_mac" != "none" ]; then - echo "SUBSYSTEM==\"$_subsystem\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$_mac\", \ -ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", NAME=\"$_interface\"" >> ${output} - elif [ "$_pci" != "none" ]; then - echo "SUBSYSTEM==\"$_subsystem\", ACTION==\"add\", DRIVERS==\"?*\", KERNELS==\"$_pci\", \ -ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", NAME=\"$_interface\"" >> ${output} - else - log_error "MAC address or PCI slot information missing." - exit 1 - fi -} - -list_adapters() -{ - declare -a netdev - local count=0 - local _netdev="" - local _dev="" - - for _dev in $SYSPATH/*; do - if [ -L "$_dev/device" ]; then - local _dev_type="$(cat $_dev/type 2>/dev/null)" - if [ "$(valid_dev_type $_dev_type)" == "invalid" ]; then - continue; - fi - _dev="$(basename $_dev 2>/dev/null)" - netdev[$count]="$_dev" - count=$((count + 1)) - fi - done - - echo "Found $count network interfaces:" - for _netdev in "${netdev[@]}"; do - _macaddr="$(get_macaddr $SYSPATH/$_netdev)" - _pcislot="$(get_pci $SYSPATH/$_netdev)" - echo "I: INTERFACE: $_netdev" - echo "I: MACADDR: $_macaddr" - echo "I: PCI: $_pcislot" - done -} - -if [ $# -eq 0 ]; then - usage - log_error "missing option(s)." - exit 1 -fi - -SYSPATH="/sys/class/net" - -use_mac=0 -use_pci=0 -use_verbose=0 - -while getopts "hlmpvVc:n:o:" opt; do - case "$opt" in - h) - usage; exit 0;; - l) - list_adapters; exit 0;; - m) - use_mac=1 ;; - p) - use_pci=1 ;; - v) - use_verbose=1 ;; - V) - echo "$prj $ver"; exit 0;; - c) - ifcur="$OPTARG" ;; - n) - ifnew="$OPTARG" ;; - o) - output="$OPTARG" ;; - \?) - exit 1 ;; - esac -done - -if [[ "$use_mac" -eq 0 ]] && [[ "$use_pci" -eq 0 ]]; then - use_mac=1 -fi - -if [[ "$use_mac" -eq 1 ]] && [[ "$use_pci" -eq 1 ]]; then - log_error "generating a persistent rule can be done only using one of the option, -m or -p, not both." - exit 1 -fi - -outfile="$output" -if [ -z "$output" ]; then - outfile="/dev/stdout" -else - dir="$(dirname $outfile 2>/dev/null)" - tmpfile="$dir/.tmp_file" - if [ -d "$dir" ]; then - touch "$tmpfile" >/dev/null 2>&1 - if [ $? -ne 0 ]; then - log_error "no write access for $outfile. make sure you have write permissions to $dir." - exit 1 - fi - rm -f "$tmpfile" >/dev/null 2>&1 - else - log_error "$dir not a directory." - exit 1 - fi -fi - -interface="$ifcur" -if [ -z "$interface" ]; then - log_error "current interface must be specified." - exit 1 -elif [ "$interface" == "lo" ]; then - log_error "loopback interface is not a valid interface." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: INTERFACE=$interface" - -new_interface="$ifnew" -if [ -z "$new_interface" ]; then - log_error "new interface must be specified." - exit 1 -elif [ "$new_interface" == "lo" ]; then - log_error "new interface cant be named loopback interface." - exit -fi -[ "$use_verbose" -eq 1 ] && echo "I: INTERFACE_NEW=$new_interface" - -path="$SYSPATH/$interface" -if [ ! -d "$path" ]; then - log_error "devpath $path not a directory." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: DEVPATH=$path" - -devtype="$(get_devtype $path)" -if [ -n "$devtype" ]; then - [ "$use_verbose" -eq 1 ] && echo "I: DEVTYPE=$devtype" -fi - -parent_subsystem="$(get_parent_subsystem $path)" -if [ -z "$parent_subsystem" ]; then - log_error "unable to retrieve parent subsystem for interface $interface." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: PARENT_SUBSYSTEM=$parent_subsystem" - -subsystem="$(get_subsystem $path)" -if [ -z "$subsystem" ]; then - log_error "unable to retrieve subsystem for interface $interface." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: SUBSYSTEM=$subsystem" - -pci_id="$(get_pci_id $path)" -if [ -z "$pci_id" ]; then - pci_id="0x:0x" -fi -[ "$use_verbose" -eq 1 ] && echo "I: PCI_ID=$pci_id" - -driver="$(get_driver $path)" -if [ -z "$driver" ]; then - log_error "unable to retrieve driver for interface $interface." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: DRIVER=$driver" - -if [ "$use_mac" -eq 1 ]; then - macaddr="$(get_macaddr $path)" - if [ -z "$macaddr" ]; then - log_error "unable to retrieve MAC address for interface $interface." - exit 1 - fi - if [ "$(valid_mac $macaddr)" != "$macaddr" ]; then - log_error "$macaddr invalid MAC address." - exit 1 - fi - [ "$use_verbose" -eq 1 ] && echo "I: MACADDR=$macaddr" -fi - -if [ "$use_pci" -eq 1 ]; then - pci="$(get_pci $path)" - if [ -z "$pci" ]; then - log_error "unable to retrieve PCI slot for interface $interface." - exit 1 - fi - [ "$use_verbose" -eq 1 ] && echo "I: KERNELS=$pci" -fi - -dev_id="$(get_dev_id $path)" -if [ -z "$dev_id" ]; then - log_error "unable to retrieve dev_id for interface $interface." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: DEV_ID=$dev_id" - -dev_type="$(get_type $path)" -if [ -z "$dev_type" ]; then - log_error "unable to retrieve dev_type for interface $interface." - exit 1 -elif [ "$(valid_dev_type $dev_type)" == "invalid" ]; then - log_info "$interface not a supported device." - exit 1 -fi -[ "$use_verbose" -eq 1 ] && echo "I: TYPE=$dev_type" - -kernel="eth*" -if [ -n "$devtype" ]; then - if [ "$devtype" == "wlan" ]; then - kernel="wlan*" - fi -fi - -if [ -n "$output" ]; then - echo "Persistent rule written to "$outfile"" - generate_comment "$pci_id" "$driver" "$outfile" "$parent_subsystem" -fi - -if [ "$use_mac" -eq 1 ]; then - generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" - if [ -n "$output" ]; then - generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$outfile" - fi -elif [ "$use_pci" -eq 1 ]; then - generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" "$new_interface" - if [ -n "$output" ]; then - generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$outfile" - fi -fi - -if [ -n "$output" ]; then - display_note -fi - -exit 0 diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch index a91b3701..8df39ad4 100644 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ b/use-rndaddentropy-ioctl-to-load-random-seed.patch @@ -5,11 +5,13 @@ write back the bytes and increase the entropy bit counter. Related to bnc#892096 --- - systemd-219/src/random-seed/random-seed.c | 71 +++++++++++++++++++++++++----- + src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 10 deletions(-) ---- systemd-219/src/random-seed/random-seed.c -+++ systemd-219/src/random-seed/random-seed.c 2015-04-21 09:39:03.057518051 +0000 +Index: systemd-221/src/random-seed/random-seed.c +=================================================================== +--- systemd-221.orig/src/random-seed/random-seed.c ++++ systemd-221/src/random-seed/random-seed.c @@ -22,7 +22,9 @@ #include #include @@ -42,7 +44,7 @@ Related to bnc#892096 r = log_oom(); goto finish; } -+ entropy->buf_size = buf_size; ++ entropy->buf_size = (typeof(entropy->buf_size)) buf_size; r = mkdir_parents_label(RANDOM_SEED, 0755); if (r < 0) { @@ -52,7 +54,7 @@ Related to bnc#892096 + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); + if (entropy_fd < 0) { -+ entropy->entropy_count = 0; ++ entropy->entropy_count = 0; + if (errno != ENOENT) { + log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); + r = -errno; @@ -70,23 +72,23 @@ Related to bnc#892096 seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -104,7 +124,7 @@ int main(int argc, char *argv[]) { +@@ -103,7 +123,7 @@ int main(int argc, char *argv[]) { } } - k = loop_read(seed_fd, buf, buf_size, false); -+ k = loop_read(seed_fd, entropy->buf, entropy->buf_size, false); - if (k <= 0) { - - if (r != 0) -@@ -115,13 +135,29 @@ int main(int argc, char *argv[]) { - } else { - lseek(seed_fd, 0, SEEK_SET); ++ k = loop_read(seed_fd, entropy->buf, (size_t) entropy->buf_size, false); + if (k < 0) + r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); + else if (k == 0) +@@ -111,13 +131,29 @@ int main(int argc, char *argv[]) { + else { + (void) lseek(seed_fd, 0, SEEK_SET); - r = loop_write(random_fd, buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ if (entropy->entropy_count && ((size_t)k) == entropy->buf_size) { ++ if (entropy->entropy_count && (size_t)k == (size_t)entropy->buf_size) { + r = ioctl(random_fd, RNDADDENTROPY, entropy); + if (r < 0) { + log_error_errno(errno, "Failed to write seed to /dev/urandom: %m"); @@ -111,8 +113,8 @@ Related to bnc#892096 + seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { - log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -136,6 +172,21 @@ int main(int argc, char *argv[]) { + r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); +@@ -130,6 +166,21 @@ int main(int argc, char *argv[]) { goto finish; } @@ -132,20 +134,23 @@ Related to bnc#892096 + } + } else { - log_error("Unknown verb %s.", argv[1]); + log_error("Unknown verb '%s'.", argv[1]); r = -EINVAL; -@@ -149,12 +200,12 @@ int main(int argc, char *argv[]) { - fchmod(seed_fd, 0600); - fchown(seed_fd, 0, 0); +@@ -144,7 +195,7 @@ int main(int argc, char *argv[]) { + (void) fchmod(seed_fd, 0600); + (void) fchown(seed_fd, 0, 0); - k = loop_read(random_fd, buf, buf_size, false); -+ k = loop_read(random_fd, entropy->buf, entropy->buf_size, false); - if (k <= 0) { - log_error("Failed to read new seed from /dev/urandom: %s", r < 0 ? strerror(-r) : "EOF"); - r = k == 0 ? -EIO : (int) k; - } else { -- r = loop_write(seed_fd, buf, (size_t) k, false); -+ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write new random seed file: %m"); ++ k = loop_read(random_fd, entropy->buf, (size_t) entropy->buf_size, false); + if (k < 0) { + r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); + goto finish; +@@ -155,7 +206,7 @@ int main(int argc, char *argv[]) { + goto finish; } + +- r = loop_write(seed_fd, buf, (size_t) k, false); ++ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); + if (r < 0) + log_error_errno(r, "Failed to write new random seed file: %m"); + } diff --git a/v224.tar.gz b/v224.tar.gz new file mode 100644 index 00000000..d4d491a2 --- /dev/null +++ b/v224.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d7ac1532a57639fbc828f8a5051a090883c6ad2908618a7a13ab386db831bfc +size 3868075 diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch index 3273aba6..c0f4d74f 100644 --- a/vhangup-on-all-consoles.patch +++ b/vhangup-on-all-consoles.patch @@ -14,10 +14,10 @@ track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 units/getty@.service.m4 | 1 + units/serial-getty@.service.m4 | 1 + 2 files changed, 2 insertions(+) -Index: systemd-218/units/getty@.service.m4 +Index: systemd-221/units/getty@.service.m4 =================================================================== ---- systemd-218.orig/units/getty@.service.m4 -+++ systemd-218/units/getty@.service.m4 +--- systemd-221.orig/units/getty@.service.m4 ++++ systemd-221/units/getty@.service.m4 @@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate @@ -26,10 +26,10 @@ Index: systemd-218/units/getty@.service.m4 Type=idle Restart=always RestartSec=0 -Index: systemd-218/units/serial-getty@.service.m4 +Index: systemd-221/units/serial-getty@.service.m4 =================================================================== ---- systemd-218.orig/units/serial-getty@.service.m4 -+++ systemd-218/units/serial-getty@.service.m4 +--- systemd-221.orig/units/serial-getty@.service.m4 ++++ systemd-221/units/serial-getty@.service.m4 @@ -24,6 +24,7 @@ IgnoreOnIsolate=yes [Service] diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index 8aec94ac..fcc01432 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -3,19 +3,19 @@ src/core/manager.h | 5 ++ 2 files changed, 98 insertions(+) -Index: systemd-218/src/core/manager.c +Index: systemd-221/src/core/manager.c =================================================================== ---- systemd-218.orig/src/core/manager.c -+++ systemd-218/src/core/manager.c -@@ -37,6 +37,7 @@ - #include +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -32,6 +32,7 @@ + #include #include #include +#include #ifdef HAVE_AUDIT #include -@@ -302,6 +303,91 @@ static int manager_check_ask_password(Ma +@@ -308,6 +309,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -107,7 +107,7 @@ Index: systemd-218/src/core/manager.c static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -557,6 +643,7 @@ int manager_new(SystemdRunningAs running +@@ -585,6 +671,7 @@ int manager_new(ManagerRunningAs running m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ @@ -115,7 +115,7 @@ Index: systemd-218/src/core/manager.c m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ -@@ -618,6 +705,10 @@ int manager_new(SystemdRunningAs running +@@ -651,6 +738,10 @@ int manager_new(ManagerRunningAs running if (r < 0) goto fail; @@ -126,7 +126,7 @@ Index: systemd-218/src/core/manager.c m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -896,6 +987,8 @@ Manager* manager_free(Manager *m) { +@@ -929,6 +1020,8 @@ Manager* manager_free(Manager *m) { if (!m) return NULL; @@ -135,11 +135,11 @@ Index: systemd-218/src/core/manager.c manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-218/src/core/manager.h +Index: systemd-221/src/core/manager.h =================================================================== ---- systemd-218.orig/src/core/manager.h -+++ systemd-218/src/core/manager.h -@@ -185,6 +185,11 @@ struct Manager { +--- systemd-221.orig/src/core/manager.h ++++ systemd-221/src/core/manager.h +@@ -181,6 +181,11 @@ struct Manager { int utab_inotify_fd; sd_event_source *mount_utab_event_source; From 7474d62c55eb4d9a48832f8c3c9701f9e02c3958dc80dafe83ec244f58815554 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 2 Nov 2015 11:54:15 +0000 Subject: [PATCH 218/991] Accepting request 341375 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/341375 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=224 --- ...unt-units-pulled-by-RequiresMountsFo.patch | 49 +++ ...ting-for-unit-termination-in-certain.patch | 140 +++++++ systemd-mini.changes | 57 +++ systemd-mini.spec | 62 +-- systemd-sysv-install | 26 ++ systemd.changes | 57 +++ systemd.spec | 62 +-- tty-ask-password-agent-on-console.patch | 363 ++++++++++++------ 8 files changed, 626 insertions(+), 190 deletions(-) create mode 100644 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch create mode 100644 0002-units-enable-waiting-for-unit-termination-in-certain.patch create mode 100644 systemd-sysv-install diff --git a/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch b/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch new file mode 100644 index 00000000..5161b8ca --- /dev/null +++ b/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch @@ -0,0 +1,49 @@ +From 6a102f90a2ee50e43998d64819e8bd4ee241c22b Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 8 Oct 2015 19:06:06 +0200 +Subject: [PATCH 1/2] Make sure the mount units pulled by 'RequiresMountsFor=' + are loaded (if they exist) + +We should make sure that mount units involved by 'RequiresMountsFor=' +directives are really loaded if not required by any others units so +that Requires= dependencies on the mount units are applied and thus +the mount unit dependencies are started. + +(cherry picked from commit 9b3757e9c8c8d6e161481193c4ef60e425a9ae41) +--- + src/core/unit.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/src/core/unit.c b/src/core/unit.c +index dd5e801..dc7bc5a 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -1141,13 +1141,23 @@ static int unit_add_mount_dependencies(Unit *u) { + char prefix[strlen(*i) + 1]; + + PATH_FOREACH_PREFIX_MORE(prefix, *i) { ++ _cleanup_free_ char *p = NULL; + Unit *m; + +- r = manager_get_unit_by_path(u->manager, prefix, ".mount", &m); ++ r = unit_name_from_path(prefix, ".mount", &p); + if (r < 0) + return r; +- if (r == 0) ++ ++ m = manager_get_unit(u->manager, p); ++ if (!m) { ++ /* Make sure to load the mount unit if ++ * it exists. If so the dependencies ++ * on this unit will be added later ++ * during the loading of the mount ++ * unit. */ ++ (void) manager_load_unit_prepare(u->manager, p, NULL, NULL, &m); + continue; ++ } + if (m == u) + continue; + +-- +2.6.0 + diff --git a/0002-units-enable-waiting-for-unit-termination-in-certain.patch b/0002-units-enable-waiting-for-unit-termination-in-certain.patch new file mode 100644 index 00000000..4cad2861 --- /dev/null +++ b/0002-units-enable-waiting-for-unit-termination-in-certain.patch @@ -0,0 +1,140 @@ +From d7f920bfcb0296fed214d4d3a21d64de09a68521 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 1 Sep 2015 17:25:59 +0200 +Subject: [PATCH 2/2] units: enable waiting for unit termination in certain + cases + +The legacy cgroup hierarchy does not support reliable empty +notifications in containers and if there are left-over subgroups in a +cgroup. This makes it hard to correctly wait for them running empty, and +thus we previously disabled this logic entirely. + +With this change we explicitly check for the container case, and whether +the unit is a "delegation" unit (i.e. one where programs may create +their own subgroups). If we are neither in a container, nor operating on +a delegation unit cgroup empty notifications become reliable and thus we +start waiting for the empty notifications again. + +This doesn't really fix the general problem around cgroup notifications +but reduces the effect around it. + +(This also reorders #include lines by their focus, as suggsted in +CODING_STYLE. We have to add "virt.h", so let's do that at the right +place.) + +Also see #317. + +(cherry picked from commit e9db43d5910717a1084924c512bf85e2b8265375) +--- + src/core/cgroup.c | 12 ++++++++++++ + src/core/cgroup.h | 2 ++ + src/core/unit.c | 40 +++++++++++++++++++++++----------------- + 3 files changed, 37 insertions(+), 17 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 6474e08..65af351 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -1127,6 +1127,18 @@ int unit_reset_cpu_usage(Unit *u) { + return 0; + } + ++bool unit_cgroup_delegate(Unit *u) { ++ CGroupContext *c; ++ ++ assert(u); ++ ++ c = unit_get_cgroup_context(u); ++ if (!c) ++ return false; ++ ++ return c->delegate; ++} ++ + static const char* const cgroup_device_policy_table[_CGROUP_DEVICE_POLICY_MAX] = { + [CGROUP_AUTO] = "auto", + [CGROUP_CLOSED] = "closed", +diff --git a/src/core/cgroup.h b/src/core/cgroup.h +index 869ddae..7b38d21 100644 +--- a/src/core/cgroup.h ++++ b/src/core/cgroup.h +@@ -130,5 +130,7 @@ int unit_get_memory_current(Unit *u, uint64_t *ret); + int unit_get_cpu_usage(Unit *u, nsec_t *ret); + int unit_reset_cpu_usage(Unit *u); + ++bool unit_cgroup_delegate(Unit *u); ++ + const char* cgroup_device_policy_to_string(CGroupDevicePolicy i) _const_; + CGroupDevicePolicy cgroup_device_policy_from_string(const char *s) _pure_; +diff --git a/src/core/unit.c b/src/core/unit.c +index dc7bc5a..275f567 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -28,26 +28,28 @@ + #include "sd-id128.h" + #include "sd-messages.h" + #include "set.h" +-#include "unit.h" + #include "macro.h" + #include "strv.h" + #include "path-util.h" +-#include "load-fragment.h" +-#include "load-dropin.h" + #include "log.h" +-#include "unit-name.h" +-#include "dbus-unit.h" +-#include "special.h" + #include "cgroup-util.h" + #include "missing.h" + #include "mkdir.h" + #include "fileio-label.h" ++#include "formats-util.h" ++#include "process-util.h" ++#include "virt.h" + #include "bus-common-errors.h" ++#include "bus-util.h" ++#include "dropin.h" ++#include "unit-name.h" ++#include "special.h" ++#include "unit.h" ++#include "load-fragment.h" ++#include "load-dropin.h" + #include "dbus.h" ++#include "dbus-unit.h" + #include "execute.h" +-#include "dropin.h" +-#include "formats-util.h" +-#include "process-util.h" + + const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX] = { + [UNIT_SERVICE] = &service_vtable, +@@ -3535,14 +3537,18 @@ int unit_kill_context( + } else if (r > 0) { + + /* FIXME: For now, we will not wait for the +- * cgroup members to die, simply because +- * cgroup notification is unreliable. It +- * doesn't work at all in containers, and +- * outside of containers it can be confused +- * easily by leaving directories in the +- * cgroup. */ +- +- /* wait_for_exit = true; */ ++ * cgroup members to die if we are running in ++ * a container or if this is a delegation ++ * unit, simply because cgroup notification is ++ * unreliable in these cases. It doesn't work ++ * at all in containers, and outside of ++ * containers it can be confused easily by ++ * left-over directories in the cgroup -- ++ * which however should not exist in ++ * non-delegated units. */ ++ ++ if (detect_container(NULL) == 0 && !unit_cgroup_delegate(u)) ++ wait_for_exit = true; + + if (c->send_sighup && k != KILL_KILL) { + set_free(pid_set); +-- +2.6.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index fcf4a2ad..ce46d87e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com + +- enable seccomp for aarch64 (fate#318444) + +------------------------------------------------------------------- +Thu Oct 15 14:12:44 UTC 2015 - fbui@suse.com + +- Fix again UEFI for mini package + +------------------------------------------------------------------- +Thu Oct 15 09:07:51 UTC 2015 - jengelh@inai.de + +- Drop one more undesirable Obsoletes/Provides. This should have + been a Conflicts. (There was already a Conflicts, and since + Conflicts go both ways, we won't need a second one.) + +------------------------------------------------------------------- +Thu Oct 15 08:19:00 UTC 2015 - werner@suse.de + +- No UEFI for systemd-mini + +------------------------------------------------------------------- +Mon Oct 12 11:34:13 UTC 2015 - fbui@suse.com + +- Add 2 upstream patches to fix boo#949574 and bsc#932284 + 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch + 0002-units-enable-waiting-for-unit-termination-in-certain.patch + +------------------------------------------------------------------- +Fri Oct 9 18:03:02 UTC 2015 - fbui@suse.com + +- Disable systemd-boot on aarch64 since it fails to build. + Error while compiling src/boot/efi/util.o is: + usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory + +------------------------------------------------------------------- +Fri Oct 9 07:16:45 UTC 2015 - fbui@suse.com + +- Fix UEFI detection logic: basically we let configure.ac figure out + if UEFI is supported by the current build environment. No need to + clutter the spec file with a new conditionnal %has_efi. + +- Provide systemd-bootx64.efi (aka gummiboot) + +------------------------------------------------------------------- +Tue Oct 6 15:13:04 UTC 2015 - werner@suse.de + +- Modify patch tty-ask-password-agent-on-console.patch to reflect + the changes done for pull request 1432 + +------------------------------------------------------------------- +Thu Oct 1 15:58:32 UTC 2015 - jengelh@inai.de + +- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle. +- Provide systemd-sysv-install program/link [bnc#948353] + ------------------------------------------------------------------- Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 10026de9..e4c8d278 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -29,11 +29,6 @@ %bcond_with resolved %bcond_with python %bcond_with parentpathid -%ifarch %{ix86} x86_64 aarch64 -%define has_efi 1 -%else -%define has_efi 0 -%endif %if 0%{?suse_version} > 1315 %bcond_without permission %bcond_without blkrrpart @@ -77,16 +72,21 @@ BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(mount) >= 2.26 -%ifarch %ix86 x86_64 x32 %arm ppc64le s390x +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif +%ifarch %{ix86} x86_64 +BuildRequires: gnu-efi +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit +Conflicts: otherproviders(systemd) %if 0%{?bootstrap} #!BuildIgnore: dbus-1 +Requires: this-is-only-for-build-envs Provides: systemd = %version-%release -Conflicts: otherproviders(systemd) +Conflicts: kiwi %else BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel @@ -143,6 +143,7 @@ Source7: libgcrypt.m4 Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service +Source12: systemd-sysv-install Source1065: systemd-remount-tmpfs @@ -181,6 +182,10 @@ Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +# PATCH-FIX-UPSTREAM (boo#949574) +Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch +# PATCH-FIX-UPSTREAM (bsc#932284) +Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -324,11 +329,8 @@ Requires: libsystemd0%{?mini} = %version Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release -Conflicts: otherproviders(systemd-devel) -%else -Obsoletes: systemd-mini-devel -Provides: systemd-mini-devel %endif +Conflicts: otherproviders(systemd-devel) %description devel Development headers and auxiliary files for developing applications for systemd. @@ -351,9 +353,7 @@ License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libsystemd0 -%else -Obsoletes: libsystemd0-mini -Provides: libsystemd0-mini +Requires: this-is-only-for-build-envs %endif %description -n libsystemd0%{?mini} @@ -411,11 +411,9 @@ Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %version-%release -Conflicts: otherproviders(udev) -%else -Obsoletes: udev-mini -Provides: udev-mini +Conflicts: kiwi %endif +Conflicts: otherproviders(udev) %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or @@ -433,9 +431,6 @@ License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 -%else -Obsoletes: libudev1-mini -Provides: libudev1-mini %endif %description -n libudev%{?mini}1 @@ -449,11 +444,8 @@ Group: Development/Libraries/C and C++ Requires: libudev%{?mini}1 = %version-%release %if 0%{?bootstrap} Provides: libudev-devel = %version-%release -Conflicts: otherproviders(libudev-devel) -%else -Obsoletes: libudev-mini-devel -Provides: libudev-mini-devel %endif +Conflicts: otherproviders(libudev-devel) %description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a @@ -565,6 +557,8 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 +%patch87 -p1 +%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -700,9 +694,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --enable-selinux \ --enable-split-usr \ --disable-static \ -%if ! 0%{?has_efi} - --disable-efi \ -%endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -726,6 +717,7 @@ make %{?_smp_mflags} update-man-list man %install make install DESTDIR="%buildroot" +install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} %if ! 0%{?bootstrap} @@ -1147,6 +1139,7 @@ exit 0 %{_bindir}/networkctl %endif %{_bindir}/busctl +%{_bindir}/bootctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl @@ -1187,6 +1180,7 @@ exit 0 %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/udev.service %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -1236,9 +1230,6 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif %{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%if 0%{has_efi} -%{_bindir}/bootctl -%endif %{_prefix}/lib/systemd/system-generators/systemd-debug-generator %{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator %if %{with sysvcompat} @@ -1255,6 +1246,13 @@ exit 0 /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user +%ifarch %{ix86} x86_64 +%dir %{_prefix}/lib/systemd/boot +%dir %{_prefix}/lib/systemd/boot/efi +%{_prefix}/lib/systemd/boot/efi/*.efi +%{_prefix}/lib/systemd/boot/efi/*.stub +%endif + %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf @@ -1443,6 +1441,8 @@ exit 0 %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif +%dir %_prefix/lib/systemd +%_prefix/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) diff --git a/systemd-sysv-install b/systemd-sysv-install new file mode 100644 index 00000000..d116728e --- /dev/null +++ b/systemd-sysv-install @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +usage() { + echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 + exit 1 +} +eval set -- "$(getopt -o r: --long root: -- "$@")" +while true; do + case "$1" in + -r|--root) + ROOT="$2" + shift 2 ;; + --) shift ; break ;; + *) usage ;; + esac +done +NAME="$2" +ROOT="${ROOT:+--root=$ROOT}" +[ -n "$NAME" ] || usage +case "$1" in + enable) chkconfig $ROOT -a "$NAME" ;; + disable) chkconfig $ROOT -r "$NAME" ;; + is-enabled) chkconfig $ROOT -t "$NAME" ;; + *) usage ;; +esac diff --git a/systemd.changes b/systemd.changes index fcf4a2ad..ce46d87e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com + +- enable seccomp for aarch64 (fate#318444) + +------------------------------------------------------------------- +Thu Oct 15 14:12:44 UTC 2015 - fbui@suse.com + +- Fix again UEFI for mini package + +------------------------------------------------------------------- +Thu Oct 15 09:07:51 UTC 2015 - jengelh@inai.de + +- Drop one more undesirable Obsoletes/Provides. This should have + been a Conflicts. (There was already a Conflicts, and since + Conflicts go both ways, we won't need a second one.) + +------------------------------------------------------------------- +Thu Oct 15 08:19:00 UTC 2015 - werner@suse.de + +- No UEFI for systemd-mini + +------------------------------------------------------------------- +Mon Oct 12 11:34:13 UTC 2015 - fbui@suse.com + +- Add 2 upstream patches to fix boo#949574 and bsc#932284 + 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch + 0002-units-enable-waiting-for-unit-termination-in-certain.patch + +------------------------------------------------------------------- +Fri Oct 9 18:03:02 UTC 2015 - fbui@suse.com + +- Disable systemd-boot on aarch64 since it fails to build. + Error while compiling src/boot/efi/util.o is: + usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory + +------------------------------------------------------------------- +Fri Oct 9 07:16:45 UTC 2015 - fbui@suse.com + +- Fix UEFI detection logic: basically we let configure.ac figure out + if UEFI is supported by the current build environment. No need to + clutter the spec file with a new conditionnal %has_efi. + +- Provide systemd-bootx64.efi (aka gummiboot) + +------------------------------------------------------------------- +Tue Oct 6 15:13:04 UTC 2015 - werner@suse.de + +- Modify patch tty-ask-password-agent-on-console.patch to reflect + the changes done for pull request 1432 + +------------------------------------------------------------------- +Thu Oct 1 15:58:32 UTC 2015 - jengelh@inai.de + +- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle. +- Provide systemd-sysv-install program/link [bnc#948353] + ------------------------------------------------------------------- Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 609bab8f..6c43ffee 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,11 +27,6 @@ %bcond_with resolved %bcond_with python %bcond_with parentpathid -%ifarch %{ix86} x86_64 aarch64 -%define has_efi 1 -%else -%define has_efi 0 -%endif %if 0%{?suse_version} > 1315 %bcond_without permission %bcond_without blkrrpart @@ -72,16 +67,21 @@ BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(mount) >= 2.26 -%ifarch %ix86 x86_64 x32 %arm ppc64le s390x +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif +%ifarch %{ix86} x86_64 +BuildRequires: gnu-efi +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit +Conflicts: otherproviders(systemd) %if 0%{?bootstrap} #!BuildIgnore: dbus-1 +Requires: this-is-only-for-build-envs Provides: systemd = %version-%release -Conflicts: otherproviders(systemd) +Conflicts: kiwi %else BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel @@ -138,6 +138,7 @@ Source7: libgcrypt.m4 Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service +Source12: systemd-sysv-install Source1065: systemd-remount-tmpfs @@ -176,6 +177,10 @@ Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +# PATCH-FIX-UPSTREAM (boo#949574) +Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch +# PATCH-FIX-UPSTREAM (bsc#932284) +Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -319,11 +324,8 @@ Requires: libsystemd0%{?mini} = %version Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release -Conflicts: otherproviders(systemd-devel) -%else -Obsoletes: systemd-mini-devel -Provides: systemd-mini-devel %endif +Conflicts: otherproviders(systemd-devel) %description devel Development headers and auxiliary files for developing applications for systemd. @@ -346,9 +348,7 @@ License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libsystemd0 -%else -Obsoletes: libsystemd0-mini -Provides: libsystemd0-mini +Requires: this-is-only-for-build-envs %endif %description -n libsystemd0%{?mini} @@ -406,11 +406,9 @@ Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %version-%release -Conflicts: otherproviders(udev) -%else -Obsoletes: udev-mini -Provides: udev-mini +Conflicts: kiwi %endif +Conflicts: otherproviders(udev) %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or @@ -428,9 +426,6 @@ License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 -%else -Obsoletes: libudev1-mini -Provides: libudev1-mini %endif %description -n libudev%{?mini}1 @@ -444,11 +439,8 @@ Group: Development/Libraries/C and C++ Requires: libudev%{?mini}1 = %version-%release %if 0%{?bootstrap} Provides: libudev-devel = %version-%release -Conflicts: otherproviders(libudev-devel) -%else -Obsoletes: libudev-mini-devel -Provides: libudev-mini-devel %endif +Conflicts: otherproviders(libudev-devel) %description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a @@ -560,6 +552,8 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 +%patch87 -p1 +%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -695,9 +689,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --enable-selinux \ --enable-split-usr \ --disable-static \ -%if ! 0%{?has_efi} - --disable-efi \ -%endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -721,6 +712,7 @@ make %{?_smp_mflags} update-man-list man %install make install DESTDIR="%buildroot" +install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} %if ! 0%{?bootstrap} @@ -1142,6 +1134,7 @@ exit 0 %{_bindir}/networkctl %endif %{_bindir}/busctl +%{_bindir}/bootctl %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl @@ -1182,6 +1175,7 @@ exit 0 %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/udev.service %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -1231,9 +1225,6 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator %endif %{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%if 0%{has_efi} -%{_bindir}/bootctl -%endif %{_prefix}/lib/systemd/system-generators/systemd-debug-generator %{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator %if %{with sysvcompat} @@ -1250,6 +1241,13 @@ exit 0 /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user +%ifarch %{ix86} x86_64 +%dir %{_prefix}/lib/systemd/boot +%dir %{_prefix}/lib/systemd/boot/efi +%{_prefix}/lib/systemd/boot/efi/*.efi +%{_prefix}/lib/systemd/boot/efi/*.stub +%endif + %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf @@ -1438,6 +1436,8 @@ exit 0 %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif +%dir %_prefix/lib/systemd +%_prefix/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index ae962403..9490adc2 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -1,6 +1,6 @@ -From 633a5904c1c4e363a7147f47e2d9fdb1925f7b9f Mon Sep 17 00:00:00 2001 +From 907bc2aa36f58c6050cd4b7b290e0992a4373e49 Mon Sep 17 00:00:00 2001 From: Werner Fink -Date: Fri, 25 Sep 2015 14:28:58 +0200 +Date: Wed, 30 Sep 2015 15:00:41 +0200 Subject: [PATCH] Ask for passphrases not only on the first console of /dev/console @@ -9,22 +9,45 @@ where often a serial console together with other consoles are used. Even rack based servers attachted to both a serial console as well as having a virtual console do sometimes miss a connected monitor. + +To be able to ask on all terminal devices of /dev/console the devices +are collected. If more than one device are found, then on each of the +terminals a inquiring task for passphrase is forked and do not return +to the caller. + +Every task has its own session and its own controlling terminal. +If one of the tasks does handle a password, the remaining tasks +will be terminated. + +Also let contradictory options on the command of +systemd-tty-ask-password-agent fail. + +Spwan for each device of the system console /dev/console a own process. + +Replace the system call wait() with with system call waitid(). --- - src/tty-ask-password-agent/tty-ask-password-agent.c | 191 ++++++++++++++++++++- - 1 file changed, 186 insertions(+), 5 deletions(-) + src/tty-ask-password-agent.c | 264 ++++++++++++++++++++- + 1 file changed, 255 insertions(+), 9 deletions(-) diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 82cbf95..928a5e8 100644 +index 4630eb9..df4bada 100644 --- a/src/tty-ask-password-agent/tty-ask-password-agent.c +++ b/src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -31,6 +31,10 @@ +@@ -4,6 +4,7 @@ + This file is part of systemd. + + Copyright 2010 Lennart Poettering ++ Copyright 2015 Werner Fink + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by +@@ -31,6 +32,9 @@ #include #include #include +#include +#include +#include -+#include #include "util.h" #include "mkdir.h" @@ -37,7 +60,7 @@ index 82cbf95..928a5e8 100644 static enum { ACTION_LIST, -@@ -53,6 +59,19 @@ static enum { +@@ -53,8 +59,21 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; @@ -46,88 +69,101 @@ index 82cbf95..928a5e8 100644 + char *tty; +}; + -+static volatile unsigned long *usemask; +static volatile sig_atomic_t sigchild; -+static void chld_handler(int sig) -+{ -+ (void)sig; ++ ++static void chld_handler(int sig) { + ++sigchild; +} + static bool arg_plymouth = false; static bool arg_console = false; ++static bool arg_device = false; ++static const char *current_dev = "/dev/console"; -@@ -210,6 +229,69 @@ static int ask_password_plymouth( + static int ask_password_plymouth( + const char *message, +@@ -211,6 +230,80 @@ static int ask_password_plymouth( return 0; } -+static void free_consoles(struct console *con, const unsigned int num) { ++static void free_consoles(struct console *con, unsigned int num) { + unsigned int n; -+ if (!con || !num) ++ ++ if (!con || num == 0) + return; ++ + for (n = 0; n < num; n++) + free(con[n].tty); ++ + free(con); +} + -+static const char *current_dev = "/dev/console"; -+static struct console* collect_consoles(unsigned int * num) { ++static int collect_consoles(struct console **consoles, unsigned int *num) { + _cleanup_free_ char *active = NULL; + const char *word, *state; + struct console *con = NULL; + size_t con_len = 0, len; ++ unsigned int count = 0; + int ret; + + assert(num); -+ assert(*num == 0); ++ assert(consoles); + + ret = read_one_line_file("/sys/class/tty/console/active", &active); + if (ret < 0) -+ return con; ++ return log_error_errno(ret, "Failed to read /sys/class/tty/console/active: %m"); ++ + FOREACH_WORD(word, len, active, state) { + _cleanup_free_ char *tty = NULL; + -+ if (strneq(word, "tty0", len) && -+ read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) { ++ if (len == 4 && strneq(word, "tty0", 4)) { ++ ++ ret = read_one_line_file("/sys/class/tty/tty0/active", &tty); ++ if (ret < 0) ++ return log_error_errno(ret, "Failed to read /sys/class/tty/tty0/active: %m"); ++ + word = tty; + len = strlen(tty); + } -+ con = greedy_realloc((void**)&con, &con_len, 1+(*num), sizeof(struct console)); -+ if (con == NULL) { -+ log_oom(); -+ return NULL; ++ ++ con = GREEDY_REALLOC(con, con_len, 1+count); ++ if (!con) ++ return log_oom(); ++ ++ if (asprintf(&con[count].tty, "/dev/%.*s", (int)len, word) < 0) { ++ free_consoles(con, count); ++ return log_oom(); + } -+ if (asprintf(&con[*num].tty, "/dev/%.*s", (int)len, word) < 0) { -+ free_consoles(con, *num); -+ log_oom(); -+ *num = 0; -+ return NULL; -+ } -+ con[*num].pid = 0; -+ (*num)++; ++ ++ con[count].pid = 0; ++ count++; + } -+ if (con == NULL) { -+ con = greedy_realloc((void**)&con, &con_len, 1, sizeof(struct console)); -+ if (con == NULL) { -+ log_oom(); -+ return NULL; -+ } ++ ++ if (!con) { ++ con = GREEDY_REALLOC(con, con_len, 1); ++ if (!con) ++ return log_oom(); ++ + con[0].tty = strdup(current_dev); -+ if (con[0].tty == NULL) { ++ if (!con[0].tty) { + free_consoles(con, 1); -+ log_oom(); -+ return NULL; ++ return log_oom(); + } ++ + con[0].pid = 0; -+ (*num)++; ++ count++; + } -+ return con; ++ ++ *num = count; ++ *consoles = con; ++ ++ return 0; +} + static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; uint64_t not_after = 0; -@@ -310,7 +392,7 @@ static int parse_password(const char *filename, char **wall) { +@@ -311,7 +404,7 @@ static int parse_password(const char *fi _cleanup_free_ char *password = NULL; if (arg_console) { @@ -136,137 +172,208 @@ index 82cbf95..928a5e8 100644 if (tty_fd < 0) return tty_fd; } -@@ -614,8 +696,90 @@ static int parse_argv(int argc, char *argv[]) { +@@ -554,7 +647,7 @@ static int parse_argv(int argc, char *ar + { "watch", no_argument, NULL, ARG_WATCH }, + { "wall", no_argument, NULL, ARG_WALL }, + { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, +- { "console", no_argument, NULL, ARG_CONSOLE }, ++ { "console", optional_argument, NULL, ARG_CONSOLE }, + {} + }; + +@@ -598,6 +691,10 @@ static int parse_argv(int argc, char *ar + + case ARG_CONSOLE: + arg_console = true; ++ if (optarg && *optarg) { ++ current_dev = optarg; ++ arg_device = true; ++ } + break; + + case '?': +@@ -612,9 +709,143 @@ static int parse_argv(int argc, char *ar + return -EINVAL; + } + ++ if (arg_plymouth || arg_console) { ++ ++ if (!IN_SET(arg_action, ACTION_QUERY, ACTION_WATCH)) { ++ log_error("%s conflicting options --query and --watch.", program_invocation_short_name); ++ return -EINVAL; ++ } ++ ++ if (arg_plymouth && arg_console) { ++ log_error("%s conflicting options --plymouth and --console.", program_invocation_short_name); ++ return -EINVAL; ++ } ++ } ++ return 1; } -+static unsigned int wfa_child(const struct console * con, const unsigned int id) -+{ -+ setsid(); -+ release_terminal(); -+ *usemask |= 1 << id; /* shared memory area */ -+ current_dev = con[id].tty; -+ return id; -+} -+ -+static unsigned int wait_for_answer(void) -+{ -+ struct console *consoles; ++/* ++ * To be able to ask on all terminal devices of /dev/console ++ * the devices are collected. If more than one device are found, ++ * then on each of the terminals a inquiring task is forked. ++ * Every task has its own session and its own controlling terminal. ++ * If one of the tasks does handle a password, the remaining tasks ++ * will be terminated. ++ */ ++static int ask_on_consoles(int argc, char *argv[]) { ++ struct console *consoles = NULL; + struct sigaction sig = { + .sa_handler = chld_handler, + .sa_flags = SA_NOCLDSTOP | SA_RESTART, + }; + struct sigaction oldsig; -+ sigset_t set, oldset; ++ sigset_t oldset; + unsigned int num = 0, id; -+ int status = 0, ret; -+ pid_t job; ++ siginfo_t status = {}; ++ int ret; + -+ consoles = collect_consoles(&num); -+ if (!consoles) { -+ log_error("Failed to query password: %m"); -+ exit(EXIT_FAILURE); -+ } -+ if (num < 2) -+ return wfa_child(consoles, 0); ++ ret = collect_consoles(&consoles, &num); ++ if (ret < 0) ++ return log_error_errno(ret, "Failed to query password: %m"); ++ ++ assert_se(sigprocmask_many(SIG_UNBLOCK, &oldset, SIGHUP, SIGCHLD, -1) >= 0); ++ ++ assert_se(sigemptyset(&sig.sa_mask) >= 0); ++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) >= 0); + -+ assert_se(sigemptyset(&set) == 0); -+ assert_se(sigaddset(&set, SIGHUP) == 0); -+ assert_se(sigaddset(&set, SIGCHLD) == 0); -+ assert_se(sigemptyset(&sig.sa_mask) == 0); -+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0); + sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0); ++ assert_se(sigaction(SIGHUP, &sig, NULL) >= 0); + + for (id = 0; id < num; id++) { + consoles[id].pid = fork(); + -+ if (consoles[id].pid < 0) { -+ log_error("Failed to query password: %m"); -+ exit(EXIT_FAILURE); -+ } ++ if (consoles[id].pid < 0) ++ return log_error_errno(errno, "Failed to query password: %m"); + + if (consoles[id].pid == 0) { -+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) -+ _exit(EXIT_FAILURE); ++ char *conarg; ++ int ac; ++ ++ conarg = strjoina("--console=", consoles[id].tty); ++ if (!conarg) ++ return log_oom(); ++ ++ free_consoles(consoles, num); /* not used anymore */ ++ ++ assert_se(prctl(PR_SET_PDEATHSIG, SIGHUP) >= 0); ++ + zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); -+ return wfa_child(consoles, id); ++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) >= 0); ++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) >= 0); ++ ++ for (ac = 0; ac < argc; ac++) { ++ if (streq(argv[ac], "--console")) { ++ argv[ac] = conarg; ++ break; ++ } ++ } ++ ++ execv(SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH, argv); ++ ++ return log_error_errno(errno, "Failed to execute %s: %m", program_invocation_name); + } + } + + ret = 0; -+ while ((job = wait(&status)) != 0) { -+ if (job < 0) { -+ if (errno != EINTR) ++ while (true) { ++ ++ if ((ret = waitid(P_ALL, 0, &status, WEXITED)) < 0) { ++ ++ if (errno != EINTR) { ++ ret = -errno; ++ if (errno == ECHILD) ++ ret = EXIT_SUCCESS; + break; ++ } + continue; + } ++ + for (id = 0; id < num; id++) { -+ if (consoles[id].pid == job || kill(consoles[id].pid, 0) < 0) { -+ *usemask &= ~(1 << id); /* shared memory area */ -+ continue; -+ } -+ if (*usemask & (1 << id)) /* shared memory area */ ++ struct timespec timeout; ++ sigset_t set; ++ int signum; ++ ++ if (consoles[id].pid == status.si_pid || kill(consoles[id].pid, 0) < 0) ++ consoles[id].pid = -1; ++ ++ if (consoles[id].pid < 0) + continue; ++ + kill(consoles[id].pid, SIGHUP); -+ usleep(50000); ++ ++ assert_se(sigemptyset(&set) >= 0); ++ assert_se(sigaddset(&set, SIGCHLD) >= 0); ++ ++ timespec_store(&timeout, 50 * USEC_PER_MSEC); ++ signum = sigtimedwait(&set, NULL, &timeout); ++ ++ if (signum != SIGCHLD) { ++ ++ if (signum < 0 && errno != EAGAIN) ++ return log_error_errno(errno, "sigtimedwait() failed: %m"); ++ ++ if (signum >= 0) ++ log_warning("sigtimedwait() returned unexpected signal."); ++ } ++ + kill(consoles[id].pid, SIGKILL); + } -+ if (WIFEXITED(status) && ret == 0) -+ ret = WEXITSTATUS(status); ++ ++ if (WIFEXITED(status.si_status) && ret == 0) ++ ret = WEXITSTATUS(status.si_status); + } ++ + free_consoles(consoles, num); -+ exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */ ++ ++ return ret; +} + int main(int argc, char *argv[]) { -- int r; -+ int r, id = 0; + int r; - log_set_target(LOG_TARGET_AUTO); - log_parse_environment(); -@@ -627,11 +791,27 @@ int main(int argc, char *argv[]) { +@@ -628,15 +859,28 @@ int main(int argc, char *argv[]) { if (r <= 0) goto finish; -+ /* -+ * Use this shared memory area to be able to synchronize the -+ * workers asking for password with the main process. -+ * This allows to continue if one of the consoles had been -+ * used as afterwards the remaining asking processes will -+ * be terminated. The wait_for_terminate() does not help -+ * for this use case. -+ */ -+ usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE, -+ MAP_ANONYMOUS | MAP_SHARED, -1, 0); -+ assert_se(usemask != NULL); -+ - if (arg_console) { +- if (arg_console) { - setsid(); - release_terminal(); -+ if (!arg_plymouth && -+ !IN_SET(arg_action, ACTION_WALL, ACTION_LIST)) { -+ id = wait_for_answer(); -+ } else { -+ setsid(); -+ release_terminal(); ++ if (arg_console && !arg_device) ++ /* ++ * Spwan for each console device a own process ++ */ ++ r = ask_on_consoles(argc, argv); ++ else { ++ ++ if (arg_device) { ++ /* ++ * Later on a controlling terminal will be will be acquired, ++ * therefore the current process has to become a session ++ * leader and should not have a controlling terminal already. ++ */ ++ (void) setsid(); ++ (void) release_terminal(); + } ++ ++ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) ++ r = watch_passwords(); ++ else ++ r = show_passwords(); } - - if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) - r = watch_passwords(); - else -@@ -640,6 +820,7 @@ int main(int argc, char *argv[]) { +- if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) +- r = watch_passwords(); +- else +- r = show_passwords(); + if (r < 0) log_error_errno(r, "Error: %m"); -+ *usemask &= ~(1 << id); /* shared memory area */ - finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } -- 2.2.0 From 53c08d1b2a4a54d6bf8da9986b811bfbeeadf98413f81ecdb82a957e4557e4ea Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 24 Nov 2015 21:33:21 +0000 Subject: [PATCH 219/991] Accepting request 345198 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/345198 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=225 --- 1096-new-udev-root-symlink-generator.patch | 15 +---- ...lang-value-in-etc-sysconfig-language.patch | 55 ++++++++++++------- systemd-mini.changes | 13 +++++ systemd-mini.spec | 10 ++++ systemd.changes | 13 +++++ systemd.spec | 10 ++++ 6 files changed, 81 insertions(+), 35 deletions(-) diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch index 23036bff..e6a0c0de 100644 --- a/1096-new-udev-root-symlink-generator.patch +++ b/1096-new-udev-root-symlink-generator.patch @@ -94,19 +94,6 @@ + return 0; +} --- /dev/null -+++ systemd-222/units/systemd-udev-root-symlink.service -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=/usr/lib/udev/rootsymlink-generator ---- /dev/null +++ systemd-222/units/systemd-udev-root-symlink.service.in @@ -0,0 +1,10 @@ +[Unit] @@ -118,4 +105,4 @@ +[Service] +Type=oneshot +RemainAfterExit=yes -+ExecStart=@udevlibexec@/rootsymlink-generator ++ExecStart=@udevlibexecdir@/rootsymlink-generator diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index 16e2272a..520c7bbe 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -11,42 +11,55 @@ Index: systemd-221/src/core/locale-setup.c =================================================================== --- systemd-221.orig/src/core/locale-setup.c +++ systemd-221/src/core/locale-setup.c -@@ -34,6 +34,11 @@ int locale_setup(char ***environment) { +@@ -34,6 +34,10 @@ int locale_setup(char ***environment) { char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT -+ char _cleanup_free_ *root_uses_lang; -+ -+ zero(root_uses_lang); ++ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL; ++ char _cleanup_free_ *root_uses_lang = NULL; +#endif if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -80,6 +85,27 @@ int locale_setup(char ***environment) { +@@ -80,6 +85,41 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } +#ifdef HAVE_SYSV_COMPAT -+ if (r <= 0 && -+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE, -+ "ROOT_USES_LANG", &root_uses_lang, -+ "RC_LANG", &variables[VARIABLE_LANG], -+ NULL)) < 0) { -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); ++ r = parse_env_file("/etc/sysconfig/language", NEWLINE, ++ "RC_LANG", &rc_lang, ++ "RC_LC_CTYPE", &rc_lc_ctype, ++ "ROOT_USES_LANG", &root_uses_lang, ++ NULL); + -+ } else { -+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) { -+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype")) -+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; -+ else -+ free(variables[VARIABLE_LANG]); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); + -+ variables[VARIABLE_LANG]=strdup("POSIX"); ++ /* ++ * Use the values of the interactive locale configuration in /etc/sysconfig/language ++ * as fallback if /etc/locale.conf does not exist and no locale was specified on the ++ * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE ++ * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been ++ * set in /etc/locale.conf and on the kernel's command line. ++ */ ++ if (root_uses_lang) { ++ if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) { ++ variables[VARIABLE_LANG] = rc_lang; ++ rc_lang = NULL; ++ } ++ if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) { ++ if (variables[VARIABLE_LANG]) ++ variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]); ++ else if (rc_lc_ctype && *rc_lc_ctype) { ++ variables[VARIABLE_LC_CTYPE] = rc_lc_ctype; ++ rc_lc_ctype = NULL; ++ } else if (rc_lang && *rc_lang) { ++ variables[VARIABLE_LC_CTYPE] = rc_lang; ++ rc_lang = NULL; ++ } ++ } + } -+ } -+ +#endif add = NULL; diff --git a/systemd-mini.changes b/systemd-mini.changes index ce46d87e..4724b61e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de + +- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch + to handle locale at boot time well (boo#927250) +- Be able to use build service environments several times + +------------------------------------------------------------------- +Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de + +- 1096-new-udev-root-symlink-generator.patch: fix substitution in + ExecStart value + ------------------------------------------------------------------- Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index e4c8d278..84245e76 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -658,6 +658,16 @@ cflags () esac set +o noclobber } + +# +# Be sure that fresh build libudev is linked as otherwise no errors are found +# +sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ +systemd_cryptsetup_LDFLAGS = \\\ + $(AM_LDFLAGS) \\\ + -Wl,-rpath-link=$(top_srcdir)/.libs\ + +}' Makefile.am sh autogen.sh export V=e diff --git a/systemd.changes b/systemd.changes index ce46d87e..4724b61e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de + +- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch + to handle locale at boot time well (boo#927250) +- Be able to use build service environments several times + +------------------------------------------------------------------- +Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de + +- 1096-new-udev-root-symlink-generator.patch: fix substitution in + ExecStart value + ------------------------------------------------------------------- Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com diff --git a/systemd.spec b/systemd.spec index 6c43ffee..674e6fc6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -653,6 +653,16 @@ cflags () esac set +o noclobber } + +# +# Be sure that fresh build libudev is linked as otherwise no errors are found +# +sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ +systemd_cryptsetup_LDFLAGS = \\\ + $(AM_LDFLAGS) \\\ + -Wl,-rpath-link=$(top_srcdir)/.libs\ + +}' Makefile.am sh autogen.sh export V=e From 3073e39c4113a1f8fb29ab568beca14aeabd92390692f67c33fb3554cf54d94d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 23 Dec 2015 11:01:38 +0000 Subject: [PATCH 220/991] Accepting request 350349 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/350349 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=226 --- ...unt-units-pulled-by-RequiresMountsFo.patch | 49 ------ ...s390_con3270_disable_ANSI_colour_esc.patch | 131 +++++----------- ...sh-for-reboot-or-hddown-for-poweroff.patch | 38 ++--- ...network-device-after-NFS-mount-units.patch | 57 +++---- 0001-bnc888612-logind-polkit-acpi.patch | 30 ++-- ...-do-not-allow-overlong-machine-names.patch | 37 +++++ ...ting-for-unit-termination-in-certain.patch | 140 ------------------ 0014-journald-with-journaling-FS.patch | 33 +++-- ...pletion-smart-to-be-able-to-redirect.patch | 90 +++++------ ...enable-by_path-links-for-ata-devices.patch | 99 ------------- ...-increase-maximum-number-of-children.patch | 14 +- Correct_assert_on_unexpected_error_code.patch | 10 +- avoid-divide-by-zero-sigtrap.patch | 22 +-- ...plock-and-compose_table-and-kbd_rate.patch | 28 ++-- ...lock-value-in-etc-sysconfig-keyboard.patch | 56 ++++--- ...lang-value-in-etc-sysconfig-language.patch | 24 +-- insserv-generator.patch | 27 ++-- macros.systemd.upstream | 12 +- ...f-ARM-based-Chromebook-as-a-power-sw.patch | 18 --- set-and-use-default-logconsole.patch | 65 ++++---- suse-sysv-bootd-support.diff | 33 ++--- systemd-add-user-keep.patch | 36 ++--- systemd-mini.changes | 56 +++++++ systemd-mini.spec | 59 ++++---- systemd-pam_config.patch | 34 +++-- systemd-tmp-safe-defaults.patch | 16 +- systemd.changes | 56 +++++++ systemd.spec | 59 ++++---- tty-ask-password-agent-on-console.patch | 73 +++++---- ...addentropy-ioctl-to-load-random-seed.patch | 35 +++-- v224.tar.gz | 3 - v228.tar.gz | 3 + watch_resolv.conf_for_become_changed.patch | 34 ++--- 33 files changed, 644 insertions(+), 833 deletions(-) delete mode 100644 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch create mode 100644 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch delete mode 100644 0002-units-enable-waiting-for-unit-termination-in-certain.patch delete mode 100644 1001-re-enable-by_path-links-for-ata-devices.patch delete mode 100644 rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch delete mode 100644 v224.tar.gz create mode 100644 v228.tar.gz diff --git a/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch b/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch deleted file mode 100644 index 5161b8ca..00000000 --- a/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 6a102f90a2ee50e43998d64819e8bd4ee241c22b Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 8 Oct 2015 19:06:06 +0200 -Subject: [PATCH 1/2] Make sure the mount units pulled by 'RequiresMountsFor=' - are loaded (if they exist) - -We should make sure that mount units involved by 'RequiresMountsFor=' -directives are really loaded if not required by any others units so -that Requires= dependencies on the mount units are applied and thus -the mount unit dependencies are started. - -(cherry picked from commit 9b3757e9c8c8d6e161481193c4ef60e425a9ae41) ---- - src/core/unit.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/src/core/unit.c b/src/core/unit.c -index dd5e801..dc7bc5a 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -1141,13 +1141,23 @@ static int unit_add_mount_dependencies(Unit *u) { - char prefix[strlen(*i) + 1]; - - PATH_FOREACH_PREFIX_MORE(prefix, *i) { -+ _cleanup_free_ char *p = NULL; - Unit *m; - -- r = manager_get_unit_by_path(u->manager, prefix, ".mount", &m); -+ r = unit_name_from_path(prefix, ".mount", &p); - if (r < 0) - return r; -- if (r == 0) -+ -+ m = manager_get_unit(u->manager, p); -+ if (!m) { -+ /* Make sure to load the mount unit if -+ * it exists. If so the dependencies -+ * on this unit will be added later -+ * during the loading of the mount -+ * unit. */ -+ (void) manager_load_unit_prepare(u->manager, p, NULL, NULL, &m); - continue; -+ } - if (m == u) - continue; - --- -2.6.0 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index 9756786c..3dd400a3 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,15 +1,15 @@ --- - rules/99-systemd.rules.in | 2 - src/basic/terminal-util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- + rules/99-systemd.rules.in | 2 - + src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++-- src/basic/terminal-util.h | 1 - src/core/manager.c | 24 ++++++++--- - 4 files changed, 116 insertions(+), 10 deletions(-) + src/core/manager.c | 24 +++++++++++++++----- + 4 files changed, 74 insertions(+), 8 deletions(-) -Index: systemd-221/rules/99-systemd.rules.in +Index: systemd-228/rules/99-systemd.rules.in =================================================================== ---- systemd-221.orig/rules/99-systemd.rules.in -+++ systemd-221/rules/99-systemd.rules.in +--- systemd-228.orig/rules/99-systemd.rules.in ++++ systemd-228/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" @@ -19,76 +19,11 @@ Index: systemd-221/rules/99-systemd.rules.in KERNEL=="vport*", TAG+="systemd" SUBSYSTEM=="block", TAG+="systemd" -Index: systemd-221/src/basic/terminal-util.c +Index: systemd-228/src/basic/terminal-util.c =================================================================== ---- systemd-221.orig/src/basic/terminal-util.c -+++ systemd-221/src/basic/terminal-util.c -@@ -647,6 +647,7 @@ int status_vprintf(const char *status, b - struct iovec iovec[6] = {}; - int n = 0; - static bool prev_ephemeral; -+ static int is_ansi_console = -1; - - assert(format); - -@@ -660,6 +661,41 @@ int status_vprintf(const char *status, b - if (fd < 0) - return fd; - -+ if (_unlikely_(is_ansi_console < 0)) -+ is_ansi_console = ansi_console(fd); -+ -+ if (status && !is_ansi_console) { -+ const char *esc, *ptr; -+ esc = strchr(status, 0x1B); -+ if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { -+ switch(*ptr) { -+ case 'S': -+ status = " SKIP "; -+ break; -+ case 'O': -+ status = " OK "; -+ break; -+ case 'F': -+ status = "FAILED"; -+ break; -+ case 'D': -+ status = "DEPEND"; -+ break; -+ case 'T': -+ status = " TIME "; -+ break; -+ case 'I': -+ status = " INFO "; -+ break; -+ case '*': -+ status = " BUSY "; -+ break; -+ default: -+ break; -+ } -+ } -+ } -+ - if (ellipse) { - char *e; - size_t emax, sl; -@@ -682,8 +718,12 @@ int status_vprintf(const char *status, b - } - } - -- if (prev_ephemeral) -- IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); -+ if (prev_ephemeral) { -+ if (is_ansi_console) -+ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); -+ else -+ IOVEC_SET_STRING(iovec[n++], "\r"); -+ } - prev_ephemeral = ephemeral; - - if (status) { -@@ -807,10 +847,47 @@ bool tty_is_vc_resolve(const char *tty) +--- systemd-228.orig/src/basic/terminal-util.c ++++ systemd-228/src/basic/terminal-util.c +@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty) return tty_is_vc(tty); } @@ -137,7 +72,7 @@ Index: systemd-221/src/basic/terminal-util.c } int fd_columns(int fd) { -@@ -890,8 +967,22 @@ void columns_lines_cache_reset(int signu +@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -161,59 +96,59 @@ Index: systemd-221/src/basic/terminal-util.c return cached_on_tty; } -Index: systemd-221/src/basic/terminal-util.h +Index: systemd-228/src/basic/terminal-util.h =================================================================== ---- systemd-221.orig/src/basic/terminal-util.h -+++ systemd-221/src/basic/terminal-util.h -@@ -77,6 +77,7 @@ unsigned lines(void); +--- systemd-228.orig/src/basic/terminal-util.h ++++ systemd-228/src/basic/terminal-util.h +@@ -78,6 +78,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); +bool ansi_console(int fd); - static inline const char *ansi_highlight(void) { - return on_tty() ? ANSI_HIGHLIGHT_ON : ""; -Index: systemd-221/src/core/manager.c + static inline const char *ansi_underline(void) { + return on_tty() ? ANSI_UNDERLINE : ""; +Index: systemd-228/src/core/manager.c =================================================================== ---- systemd-221.orig/src/core/manager.c -+++ systemd-221/src/core/manager.c -@@ -113,7 +113,7 @@ static void manager_watch_jobs_in_progre +--- systemd-228.orig/src/core/manager.c ++++ systemd-228/src/core/manager.c +@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) + #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1)) -static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { +static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { char *p = buffer; assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si +@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si if (pos > 1) { if (pos > 2) p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED_ON); +- p = stpcpy(p, ANSI_RED); + if (ansi_console) -+ p = stpcpy(p, ANSI_RED_ON); ++ p = stpcpy(p, ANSI_RED); *p++ = '*'; } if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); +- p = stpcpy(p, ANSI_HIGHLIGHT_RED); + if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); ++ p = stpcpy(p, ANSI_HIGHLIGHT_RED); *p++ = '*'; } -@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si +@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si *p++ = '*'; if (pos < width-1) p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_HIGHLIGHT_OFF); +- strcpy(p, ANSI_NORMAL); + if (ansi_console) -+ strcpy(p, ANSI_HIGHLIGHT_OFF); ++ strcpy(p, ANSI_NORMAL); } } -@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m +@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m } static void manager_print_jobs_in_progress(Manager *m) { @@ -221,7 +156,7 @@ Index: systemd-221/src/core/manager.c _cleanup_free_ char *job_of_n = NULL; Iterator i; Job *j; -@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre +@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre assert(counter == print_nr + 1); assert(j); diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index ea7eeafa..f370239f 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -3,11 +3,11 @@ src/systemctl/systemctl.c | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) -Index: systemd-221/src/core/shutdown.c +Index: systemd-227/src/core/shutdown.c =================================================================== ---- systemd-221.orig/src/core/shutdown.c -+++ systemd-221/src/core/shutdown.c -@@ -396,6 +396,10 @@ int main(int argc, char *argv[]) { +--- systemd-227.orig/src/core/shutdown.c ++++ systemd-227/src/core/shutdown.c +@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -18,11 +18,11 @@ Index: systemd-221/src/core/shutdown.c if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-221/src/systemctl/systemctl.c +Index: systemd-227/src/systemctl/systemctl.c =================================================================== ---- systemd-221.orig/src/systemctl/systemctl.c -+++ systemd-221/src/systemctl/systemctl.c -@@ -93,6 +93,7 @@ static bool arg_no_pager = false; +--- systemd-227.orig/src/systemctl/systemctl.c ++++ systemd-227/src/systemctl/systemctl.c +@@ -94,6 +94,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -30,7 +30,7 @@ Index: systemd-221/src/systemctl/systemctl.c static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -6636,6 +6637,7 @@ static int halt_parse_argv(int argc, cha +@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -38,7 +38,7 @@ Index: systemd-221/src/systemctl/systemctl.c { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -6688,10 +6690,13 @@ static int halt_parse_argv(int argc, cha +@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -53,32 +53,32 @@ Index: systemd-221/src/systemctl/systemctl.c case '?': return -EINVAL; -@@ -7291,7 +7296,8 @@ static int halt_now(enum action a) { +@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) { /* The kernel will automaticall flush ATA disks and suchlike * on reboot(), but the file systems need to be synce'd * explicitly in advance. */ -- sync(); +- (void) sync(); + if (!arg_no_sync) -+ sync(); ++ (void) sync(); /* Make sure C-A-D is handled by the kernel from this point * on... */ -@@ -7299,14 +7305,14 @@ static int halt_now(enum action a) { +@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) { switch (a) { - case ACTION_HALT: - log_info("Halting."); -- reboot(RB_HALT_SYSTEM); +- (void) reboot(RB_HALT_SYSTEM); - return -errno; - +- case ACTION_POWEROFF: log_info("Powering off."); - reboot(RB_POWER_OFF); + (void) reboot(RB_POWER_OFF); + /* fall-through */ + case ACTION_HALT: + log_info("Halting."); -+ reboot(RB_HALT_SYSTEM); ++ (void) reboot(RB_HALT_SYSTEM); return -errno; - case ACTION_REBOOT: { + case ACTION_KEXEC: diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index 955314ff..dc30e64f 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -5,17 +5,16 @@ NFS share is added as "After=" dependency to the .mount. --- Makefile.am | 2 - src/basic/util.c | 1 src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ src/core/mount-iface.h | 25 +++++++ src/core/mount.c | 35 +++++++++ - 5 files changed, 234 insertions(+), 2 deletions(-) + 4 files changed, 233 insertions(+), 2 deletions(-) -Index: systemd-221/Makefile.am +Index: systemd-228/Makefile.am =================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -1164,6 +1164,8 @@ libcore_la_SOURCES = \ +--- systemd-228.orig/Makefile.am ++++ systemd-228/Makefile.am +@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ @@ -24,22 +23,10 @@ Index: systemd-221/Makefile.am src/core/kmod-setup.c \ src/core/kmod-setup.h \ src/core/loopback-setup.h \ -Index: systemd-221/src/basic/util.c -=================================================================== ---- systemd-221.orig/src/basic/util.c -+++ systemd-221/src/basic/util.c -@@ -1478,6 +1478,7 @@ bool fstype_is_network(const char *fstyp - "ncp\0" - "nfs\0" - "nfs4\0" -+ "afs\0" - "gfs\0" - "gfs2\0" - "glusterfs\0"; -Index: systemd-221/src/core/mount-iface.c +Index: systemd-228/src/core/mount-iface.c =================================================================== --- /dev/null -+++ systemd-221/src/core/mount-iface.c ++++ systemd-228/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -214,10 +201,10 @@ Index: systemd-221/src/core/mount-iface.c + freeifaddrs(ifa_list); + ifa_list = NULL; +} -Index: systemd-221/src/core/mount-iface.h +Index: systemd-228/src/core/mount-iface.h =================================================================== --- /dev/null -+++ systemd-221/src/core/mount-iface.h ++++ systemd-228/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -244,19 +231,19 @@ Index: systemd-221/src/core/mount-iface.h + +char *host2iface(const char *ip); +void freeroutes(void); -Index: systemd-221/src/core/mount.c +Index: systemd-228/src/core/mount.c =================================================================== ---- systemd-221.orig/src/core/mount.c -+++ systemd-221/src/core/mount.c -@@ -35,6 +35,7 @@ +--- systemd-228.orig/src/core/mount.c ++++ systemd-228/src/core/mount.c +@@ -36,6 +36,7 @@ + #include "manager.h" #include "mkdir.h" - #include "path-util.h" #include "mount-setup.h" +#include "mount-iface.h" - #include "unit-name.h" - #include "dbus-mount.h" - #include "special.h" -@@ -1332,8 +1333,9 @@ static int mount_setup_unit( + #include "mount-util.h" + #include "mount.h" + #include "parse-util.h" +@@ -1344,8 +1345,9 @@ static int mount_setup_unit( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -267,7 +254,7 @@ Index: systemd-221/src/core/mount.c int r; assert(m); -@@ -1358,6 +1360,8 @@ static int mount_setup_unit( +@@ -1370,6 +1372,8 @@ static int mount_setup_unit( if (r < 0) return r; @@ -276,7 +263,7 @@ Index: systemd-221/src/core/mount.c u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1385,7 +1389,7 @@ static int mount_setup_unit( +@@ -1397,7 +1401,7 @@ static int mount_setup_unit( if (m->running_as == MANAGER_SYSTEM) { const char* target; @@ -285,7 +272,7 @@ Index: systemd-221/src/core/mount.c r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) goto fail; -@@ -1471,6 +1475,32 @@ static int mount_setup_unit( +@@ -1483,6 +1487,32 @@ static int mount_setup_unit( goto fail; } @@ -318,7 +305,7 @@ Index: systemd-221/src/core/mount.c if (changed) unit_add_to_dbus_queue(u); -@@ -1537,6 +1567,7 @@ static int mount_load_proc_self_mountinf +@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf if (r == 0 && k < 0) r = k; } diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index 505e1791..8729f452 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -3,10 +3,10 @@ src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) -Index: systemd-221/src/login/logind-action.c +Index: systemd-227/src/login/logind-action.c =================================================================== ---- systemd-221.orig/src/login/logind-action.c -+++ systemd-221/src/login/logind-action.c +--- systemd-227.orig/src/login/logind-action.c ++++ systemd-227/src/login/logind-action.c @@ -85,6 +85,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ @@ -19,11 +19,11 @@ Index: systemd-221/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-221/src/login/logind-dbus.c +Index: systemd-227/src/login/logind-dbus.c =================================================================== ---- systemd-221.orig/src/login/logind-dbus.c -+++ systemd-221/src/login/logind-dbus.c -@@ -1625,12 +1625,13 @@ static int verify_shutdown_creds( +--- systemd-227.orig/src/login/logind-dbus.c ++++ systemd-227/src/login/logind-dbus.c +@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds( const char *action, const char *action_multiple_sessions, const char *action_ignore_inhibit, @@ -40,7 +40,7 @@ Index: systemd-221/src/login/logind-dbus.c assert(m); assert(message); -@@ -1652,7 +1653,19 @@ static int verify_shutdown_creds( +@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); @@ -58,29 +58,29 @@ Index: systemd-221/src/login/logind-dbus.c + + if (multiple_sessions && action_multiple_sessions && + !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1660,7 +1673,7 @@ static int verify_shutdown_creds( +@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (blocked && action_ignore_inhibit) { + if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1668,7 +1681,8 @@ static int verify_shutdown_creds( +@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (!multiple_sessions && !blocked && action) { + if (!multiple_sessions && !blocked && action && + !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1716,7 +1730,7 @@ static int method_do_shutdown_or_sleep( +@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep( } r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, @@ -89,7 +89,7 @@ Index: systemd-221/src/login/logind-dbus.c if (r != 0) return r; -@@ -1896,7 +1910,8 @@ static int method_schedule_shutdown(sd_b +@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, diff --git a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch new file mode 100644 index 00000000..f6af8080 --- /dev/null +++ b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch @@ -0,0 +1,37 @@ +From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 23 Nov 2015 13:59:43 -0500 +Subject: [PATCH] nss-mymachines: do not allow overlong machine names + +https://github.com/systemd/systemd/issues/2002 +--- + src/nss-mymachines/nss-mymachines.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c +index 969fa96..c98a959 100644 +--- a/src/nss-mymachines/nss-mymachines.c ++++ b/src/nss-mymachines/nss-mymachines.c +@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( + if (!e || e == p) + goto not_found; + ++ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ ++ goto not_found; ++ + r = parse_uid(e + 1, &uid); + if (r < 0) + goto not_found; +@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( + if (!e || e == p) + goto not_found; + ++ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ ++ goto not_found; ++ + r = parse_gid(e + 1, &gid); + if (r < 0) + goto not_found; +-- +2.1.4 + diff --git a/0002-units-enable-waiting-for-unit-termination-in-certain.patch b/0002-units-enable-waiting-for-unit-termination-in-certain.patch deleted file mode 100644 index 4cad2861..00000000 --- a/0002-units-enable-waiting-for-unit-termination-in-certain.patch +++ /dev/null @@ -1,140 +0,0 @@ -From d7f920bfcb0296fed214d4d3a21d64de09a68521 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 1 Sep 2015 17:25:59 +0200 -Subject: [PATCH 2/2] units: enable waiting for unit termination in certain - cases - -The legacy cgroup hierarchy does not support reliable empty -notifications in containers and if there are left-over subgroups in a -cgroup. This makes it hard to correctly wait for them running empty, and -thus we previously disabled this logic entirely. - -With this change we explicitly check for the container case, and whether -the unit is a "delegation" unit (i.e. one where programs may create -their own subgroups). If we are neither in a container, nor operating on -a delegation unit cgroup empty notifications become reliable and thus we -start waiting for the empty notifications again. - -This doesn't really fix the general problem around cgroup notifications -but reduces the effect around it. - -(This also reorders #include lines by their focus, as suggsted in -CODING_STYLE. We have to add "virt.h", so let's do that at the right -place.) - -Also see #317. - -(cherry picked from commit e9db43d5910717a1084924c512bf85e2b8265375) ---- - src/core/cgroup.c | 12 ++++++++++++ - src/core/cgroup.h | 2 ++ - src/core/unit.c | 40 +++++++++++++++++++++++----------------- - 3 files changed, 37 insertions(+), 17 deletions(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 6474e08..65af351 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -1127,6 +1127,18 @@ int unit_reset_cpu_usage(Unit *u) { - return 0; - } - -+bool unit_cgroup_delegate(Unit *u) { -+ CGroupContext *c; -+ -+ assert(u); -+ -+ c = unit_get_cgroup_context(u); -+ if (!c) -+ return false; -+ -+ return c->delegate; -+} -+ - static const char* const cgroup_device_policy_table[_CGROUP_DEVICE_POLICY_MAX] = { - [CGROUP_AUTO] = "auto", - [CGROUP_CLOSED] = "closed", -diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index 869ddae..7b38d21 100644 ---- a/src/core/cgroup.h -+++ b/src/core/cgroup.h -@@ -130,5 +130,7 @@ int unit_get_memory_current(Unit *u, uint64_t *ret); - int unit_get_cpu_usage(Unit *u, nsec_t *ret); - int unit_reset_cpu_usage(Unit *u); - -+bool unit_cgroup_delegate(Unit *u); -+ - const char* cgroup_device_policy_to_string(CGroupDevicePolicy i) _const_; - CGroupDevicePolicy cgroup_device_policy_from_string(const char *s) _pure_; -diff --git a/src/core/unit.c b/src/core/unit.c -index dc7bc5a..275f567 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -28,26 +28,28 @@ - #include "sd-id128.h" - #include "sd-messages.h" - #include "set.h" --#include "unit.h" - #include "macro.h" - #include "strv.h" - #include "path-util.h" --#include "load-fragment.h" --#include "load-dropin.h" - #include "log.h" --#include "unit-name.h" --#include "dbus-unit.h" --#include "special.h" - #include "cgroup-util.h" - #include "missing.h" - #include "mkdir.h" - #include "fileio-label.h" -+#include "formats-util.h" -+#include "process-util.h" -+#include "virt.h" - #include "bus-common-errors.h" -+#include "bus-util.h" -+#include "dropin.h" -+#include "unit-name.h" -+#include "special.h" -+#include "unit.h" -+#include "load-fragment.h" -+#include "load-dropin.h" - #include "dbus.h" -+#include "dbus-unit.h" - #include "execute.h" --#include "dropin.h" --#include "formats-util.h" --#include "process-util.h" - - const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX] = { - [UNIT_SERVICE] = &service_vtable, -@@ -3535,14 +3537,18 @@ int unit_kill_context( - } else if (r > 0) { - - /* FIXME: For now, we will not wait for the -- * cgroup members to die, simply because -- * cgroup notification is unreliable. It -- * doesn't work at all in containers, and -- * outside of containers it can be confused -- * easily by leaving directories in the -- * cgroup. */ -- -- /* wait_for_exit = true; */ -+ * cgroup members to die if we are running in -+ * a container or if this is a delegation -+ * unit, simply because cgroup notification is -+ * unreliable in these cases. It doesn't work -+ * at all in containers, and outside of -+ * containers it can be confused easily by -+ * left-over directories in the cgroup -- -+ * which however should not exist in -+ * non-delegated units. */ -+ -+ if (detect_container(NULL) == 0 && !unit_cgroup_delegate(u)) -+ wait_for_exit = true; - - if (c->send_sighup && k != KILL_KILL) { - set_free(pid_set); --- -2.6.0 - diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index a8255ab5..00577b3d 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -13,27 +13,27 @@ No word on compression… src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) -Index: systemd-221/src/journal/journald-server.c +Index: systemd-227/src/journal/journald-server.c =================================================================== ---- systemd-221.orig/src/journal/journald-server.c -+++ systemd-221/src/journal/journald-server.c -@@ -21,6 +21,7 @@ - - #include +--- systemd-227.orig/src/journal/journald-server.c ++++ systemd-227/src/journal/journald-server.c +@@ -24,6 +24,7 @@ + #include + #endif #include +#include - #include - #include #include -@@ -918,6 +919,38 @@ finish: - dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); + #include + #include +@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd + dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0); } +/* + * On journaling and/or compressing file systems, avoid doubling the efforts + * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every + * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like BtrFS does). ++ * a single unkown flag (like Btrfs does). + * + * …but src/journal/journal-file.c already sets NOCOW too…⸘ + */ @@ -61,12 +61,13 @@ Index: systemd-221/src/journal/journald-server.c + } + close(fd); +} ++ + void server_dispatch_message( + Server *s, + struct iovec *iovec, unsigned n, unsigned m, +@@ -948,6 +982,7 @@ static int system_journal_open(Server *s - static int system_journal_open(Server *s, bool flush_requested) { - int r; -@@ -947,6 +980,7 @@ static int system_journal_open(Server *s - - fn = strjoina("/var/log/journal/", ids); + fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s)); (void) mkdir(fn, 0755); + disable_cow(fn, s); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index ca3a4b0c..c8ab5fa7 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -12,10 +12,10 @@ shell-completion/bash/udevadm | 6 +++++- 11 files changed, 70 insertions(+), 11 deletions(-) -Index: systemd-221/shell-completion/bash/coredumpctl +Index: systemd-228/shell-completion/bash/coredumpctl =================================================================== ---- systemd-221.orig/shell-completion/bash/coredumpctl -+++ systemd-221/shell-completion/bash/coredumpctl +--- systemd-228.orig/shell-completion/bash/coredumpctl ++++ systemd-228/shell-completion/bash/coredumpctl @@ -44,6 +44,10 @@ _coredumpctl() { [DUMP]='dump gdb' ) @@ -33,10 +33,10 @@ Index: systemd-221/shell-completion/bash/coredumpctl -complete -F _coredumpctl coredumpctl +complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd-221/shell-completion/bash/hostnamectl +Index: systemd-228/shell-completion/bash/hostnamectl =================================================================== ---- systemd-221.orig/shell-completion/bash/hostnamectl -+++ systemd-221/shell-completion/bash/hostnamectl +--- systemd-228.orig/shell-completion/bash/hostnamectl ++++ systemd-228/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty --no-ask-password -H --host --machine' @@ -54,12 +54,12 @@ Index: systemd-221/shell-completion/bash/hostnamectl -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd-221/shell-completion/bash/journalctl +Index: systemd-228/shell-completion/bash/journalctl =================================================================== ---- systemd-221.orig/shell-completion/bash/journalctl -+++ systemd-221/shell-completion/bash/journalctl -@@ -55,6 +55,10 @@ _journalctl() { - --root --machine' +--- systemd-228.orig/shell-completion/bash/journalctl ++++ systemd-228/shell-completion/bash/journalctl +@@ -56,6 +56,10 @@ _journalctl() { + --root -M --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -69,16 +69,16 @@ Index: systemd-221/shell-completion/bash/journalctl if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in --boot|--this-boot|-b) -@@ -120,4 +124,4 @@ _journalctl() { +@@ -121,4 +125,4 @@ _journalctl() { fi } -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd-221/shell-completion/bash/kernel-install +Index: systemd-228/shell-completion/bash/kernel-install =================================================================== ---- systemd-221.orig/shell-completion/bash/kernel-install -+++ systemd-221/shell-completion/bash/kernel-install +--- systemd-228.orig/shell-completion/bash/kernel-install ++++ systemd-228/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -108,10 +108,10 @@ Index: systemd-221/shell-completion/bash/kernel-install -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd-221/shell-completion/bash/localectl +Index: systemd-228/shell-completion/bash/localectl =================================================================== ---- systemd-221.orig/shell-completion/bash/localectl -+++ systemd-221/shell-completion/bash/localectl +--- systemd-228.orig/shell-completion/bash/localectl ++++ systemd-228/shell-completion/bash/localectl @@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password -H --host --machine' @@ -129,10 +129,10 @@ Index: systemd-221/shell-completion/bash/localectl -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl -Index: systemd-221/shell-completion/bash/loginctl +Index: systemd-228/shell-completion/bash/loginctl =================================================================== ---- systemd-221.orig/shell-completion/bash/loginctl -+++ systemd-221/shell-completion/bash/loginctl +--- systemd-228.orig/shell-completion/bash/loginctl ++++ systemd-228/shell-completion/bash/loginctl @@ -38,6 +38,10 @@ _loginctl () { [ARG]='--host -H --kill-who --property -p --signal -s --machine' ) @@ -150,12 +150,12 @@ Index: systemd-221/shell-completion/bash/loginctl -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd-221/shell-completion/bash/systemctl.in +Index: systemd-228/shell-completion/bash/systemctl.in =================================================================== ---- systemd-221.orig/shell-completion/bash/systemctl.in -+++ systemd-221/shell-completion/bash/systemctl.in -@@ -96,6 +96,10 @@ _systemctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --job-mode --root' +--- systemd-228.orig/shell-completion/bash/systemctl.in ++++ systemd-228/shell-completion/bash/systemctl.in +@@ -104,6 +104,10 @@ _systemctl () { + --preset-mode -n --lines -o --output -M --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -164,17 +164,17 @@ Index: systemd-221/shell-completion/bash/systemctl.in + if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user - else -@@ -268,4 +272,4 @@ _systemctl () { + elif __contains_word "--global" ${COMP_WORDS[*]}; then +@@ -280,4 +284,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd-221/shell-completion/bash/systemd-analyze +Index: systemd-228/shell-completion/bash/systemd-analyze =================================================================== ---- systemd-221.orig/shell-completion/bash/systemd-analyze -+++ systemd-221/shell-completion/bash/systemd-analyze +--- systemd-228.orig/shell-completion/bash/systemd-analyze ++++ systemd-228/shell-completion/bash/systemd-analyze @@ -47,6 +47,10 @@ _systemd_analyze() { [VERIFY]='verify' ) @@ -192,10 +192,10 @@ Index: systemd-221/shell-completion/bash/systemd-analyze -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd-221/shell-completion/bash/systemd-run +Index: systemd-228/shell-completion/bash/systemd-run =================================================================== ---- systemd-221.orig/shell-completion/bash/systemd-run -+++ systemd-221/shell-completion/bash/systemd-run +--- systemd-228.orig/shell-completion/bash/systemd-run ++++ systemd-228/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -210,7 +210,7 @@ Index: systemd-221/shell-completion/bash/systemd-run __systemctl() { local mode=$1; shift 1 systemctl $mode --full --no-legend "$@" -@@ -38,6 +45,11 @@ _systemd_run() { +@@ -40,6 +47,11 @@ _systemd_run() { local mode=--system local i @@ -219,19 +219,19 @@ Index: systemd-221/shell-completion/bash/systemd-run + return 0 + fi + - for (( i=1; i <= COMP_CWORD; i++ )); do - if [[ ${COMP_WORDS[i]} != -* ]]; then - local root_command=${COMP_WORDS[i]} -@@ -98,4 +110,4 @@ _systemd_run() { + local opts_with_values=( + --unit --description --slice --service-type -H --host -M --machine -p --property --on-active + --on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property +@@ -114,4 +126,4 @@ _systemd_run() { return 0 } -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd-221/shell-completion/bash/timedatectl +Index: systemd-228/shell-completion/bash/timedatectl =================================================================== ---- systemd-221.orig/shell-completion/bash/timedatectl -+++ systemd-221/shell-completion/bash/timedatectl +--- systemd-228.orig/shell-completion/bash/timedatectl ++++ systemd-228/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager --no-ask-password -H --host --machine' @@ -249,10 +249,10 @@ Index: systemd-221/shell-completion/bash/timedatectl -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd-221/shell-completion/bash/udevadm +Index: systemd-228/shell-completion/bash/udevadm =================================================================== ---- systemd-221.orig/shell-completion/bash/udevadm -+++ systemd-221/shell-completion/bash/udevadm +--- systemd-228.orig/shell-completion/bash/udevadm ++++ systemd-228/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch deleted file mode 100644 index 5520c601..00000000 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 5cf46aa4339670afac386b1b0e630b739f3621c7 Mon Sep 17 00:00:00 2001 -From: Robert Milasan -Date: Thu, 12 Jul 2012 15:56:34 +0000 -Subject: [PATCH] Persistent by_path links for ata devices - -With newer kernel we have the 'port_no' attribute, -which allows us to construct a valid ata by-path link. - -With this patch ATA links of the form - -ata-.[01] - -(for master/slave devices) or - -ata-..0 - -(for devices behind port multipliers) -are generated. - -References: bnc#770910,FATE#317063 - -Signed-off-by: Robert Milasan -Signed-off-by: Hannes Reinecke ---- - src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- - 1 file changed, 41 insertions(+), 12 deletions(-) - -Index: systemd-221/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-221.orig/src/udev/udev-builtin-path_id.c -+++ systemd-221/src/udev/udev-builtin-path_id.c -@@ -447,6 +447,46 @@ static struct udev_device *handle_scsi_h - return parent; - } - -+static struct udev_device *handle_ata(struct udev_device *parent, char **path) -+{ -+ struct udev *udev = udev_device_get_udev(parent); -+ struct udev_device *hostdev, *portdev; -+ int host, bus, target, lun, port_no; -+ const char *name, *atahost, *port; -+ -+ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); -+ if (hostdev == NULL) -+ return NULL; -+ -+ name = udev_device_get_sysname(parent); -+ if (sscanf(name, "%d:%d:%d:%d", &host, &bus, &target, &lun) != 4) -+ return NULL; -+ -+ /* The ata port is the parent of the SCSI host */ -+ hostdev = udev_device_get_parent(hostdev); -+ atahost = udev_device_get_sysname(hostdev); -+ if (strncmp(atahost, "ata", 3)) -+ return NULL; -+ -+ /* ATA port number is found in 'port_no' attribute */ -+ portdev = udev_device_new_from_subsystem_sysname(udev, "ata_port", -+ atahost); -+ port = udev_device_get_sysattr_value(portdev, "port_no"); -+ if (!port || sscanf(port, "%d", &port_no) != 1) { -+ hostdev = NULL; -+ goto out; -+ } -+ if (bus != 0) -+ /* Devices behind port multiplier have a bus != 0*/ -+ path_prepend(path, "ata-%u.%u.0", port_no, bus); -+ else -+ /* Master/slave are distinguished by target id */ -+ path_prepend(path, "ata-%u.%u", port_no, target); -+out: -+ udev_device_unref(portdev); -+ return hostdev; -+} -+ - static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { - const char *devtype; - const char *name; -@@ -486,19 +526,8 @@ static struct udev_device *handle_scsi(s - goto out; - } - -- /* -- * We do not support the ATA transport class, it uses global counters -- * to name the ata devices which numbers spread across multiple -- * controllers. -- * -- * The real link numbers are not exported. Also, possible chains of ports -- * behind port multipliers cannot be composed that way. -- * -- * Until all that is solved at the kernel level, there are no by-path/ -- * links for ATA devices. -- */ - if (strstr(name, "/ata") != NULL) { -- parent = NULL; -+ parent = handle_ata(parent, path); - goto out; - } - diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index 6693d757..f71c96a4 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -2,11 +2,11 @@ src/udev/udevd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-221/src/udev/udevd.c +Index: systemd-227/src/udev/udevd.c =================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -569,7 +569,7 @@ static void event_run(Manager *manager, +--- systemd-227.orig/src/udev/udevd.c ++++ systemd-227/src/udev/udevd.c +@@ -568,7 +568,7 @@ static void event_run(Manager *manager, if (hashmap_size(manager->workers) >= arg_children_max) { if (arg_children_max > 1) @@ -15,12 +15,12 @@ Index: systemd-221/src/udev/udevd.c return; } -@@ -1641,7 +1641,7 @@ int main(int argc, char *argv[]) { +@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) { arg_children_max = 8; - if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { + if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) - arg_children_max += CPU_COUNT(&cpu_set) * 2; + arg_children_max += CPU_COUNT(&cpu_set) * 64; - } log_debug("set children_max to %u", arg_children_max); + } diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch index 535170b4..43e686ca 100644 --- a/Correct_assert_on_unexpected_error_code.patch +++ b/Correct_assert_on_unexpected_error_code.patch @@ -2,10 +2,12 @@ src/login/pam_systemd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---- src/login/pam_systemd.c -+++ src/login/pam_systemd.c 2015-07-29 08:52:20.762018565 +0000 -@@ -507,7 +507,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); +Index: systemd-228/src/login/pam_systemd.c +=================================================================== +--- systemd-228.orig/src/login/pam_systemd.c ++++ systemd-228/src/login/pam_systemd.c +@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess + r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL); if (r != PAM_SUCCESS) { pam_syslog(handle, LOG_ERR, "Failed to install session fd."); - safe_close(session_fd); diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch index 8a8c3caa..60e42c9e 100644 --- a/avoid-divide-by-zero-sigtrap.patch +++ b/avoid-divide-by-zero-sigtrap.patch @@ -1,28 +1,28 @@ -Nasty bug reported on bnc#867663 +Nasty bug reported on boo#867663 --- src/basic/def.h | 2 +- src/core/manager.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) -Index: systemd-221/src/basic/def.h +Index: systemd-228/src/basic/def.h =================================================================== ---- systemd-221.orig/src/basic/def.h -+++ systemd-221/src/basic/def.h -@@ -37,7 +37,7 @@ +--- systemd-228.orig/src/basic/def.h ++++ systemd-228/src/basic/def.h +@@ -40,7 +40,7 @@ - #define SYSTEMD_CGROUP_CONTROLLER "systemd" + #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" -#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT +#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS #define SIGNALS_IGNORE SIGPIPE - #define DIGITS "0123456789" -Index: systemd-221/src/core/manager.c + #define REBOOT_PARAM_FILE "/run/systemd/reboot-param" +Index: systemd-228/src/core/manager.c =================================================================== ---- systemd-221.orig/src/core/manager.c -+++ systemd-221/src/core/manager.c -@@ -1991,7 +1991,8 @@ static int manager_dispatch_jobs_in_prog +--- systemd-228.orig/src/core/manager.c ++++ systemd-228/src/core/manager.c +@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog assert(m); assert(source); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 865322fb..d7c4477f 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -9,20 +9,20 @@ Date: Fri Jun 19 21:36:27 CEST 2015 src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 147 insertions(+), 4 deletions(-) -Index: systemd-221/src/vconsole/vconsole-setup.c +Index: systemd-228/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-221.orig/src/vconsole/vconsole-setup.c -+++ systemd-221/src/vconsole/vconsole-setup.c -@@ -35,6 +35,8 @@ - #include "log.h" - #include "virt.h" +--- systemd-228.orig/src/vconsole/vconsole-setup.c ++++ systemd-228/src/vconsole/vconsole-setup.c +@@ -34,6 +34,8 @@ + #include "alloc-util.h" + #include "fd-util.h" #include "fileio.h" +#include "macro.h" +#include "strv.h" - #include "process-util.h" - #include "terminal-util.h" - #include "signal-util.h" -@@ -99,8 +101,10 @@ static int enable_utf8(int fd) { + #include "io-util.h" + #include "locale-util.h" + #include "log.h" +@@ -104,8 +106,10 @@ static int enable_utf8(int fd) { return r; } @@ -35,7 +35,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c int i = 0, r; pid_t pid; -@@ -117,6 +121,8 @@ static int keyboard_load_and_wait(const +@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -44,7 +44,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -246,11 +252,117 @@ static void font_copy_to_all_vcs(int fd) +@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd) } } @@ -162,7 +162,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c _cleanup_close_ int fd = -1; bool utf8, font_copy = false, font_ok, keyboard_ok; int r = EXIT_FAILURE; -@@ -281,6 +393,31 @@ int main(int argc, char **argv) { +@@ -286,6 +398,31 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -194,7 +194,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -312,11 +449,17 @@ int main(int argc, char **argv) { +@@ -317,11 +454,17 @@ int main(int argc, char **argv) { (void) disable_utf8(fd); font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index db480a34..18fd4f61 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -9,14 +9,16 @@ Cristian Rodríguez --- Makefile.am | 13 ++++++++++ rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 +++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++-- + src/login/numlock-on.c | 34 ++++++++++++++++++++++++++ + src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++-- units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 94 insertions(+), 3 deletions(-) + 5 files changed, 95 insertions(+), 3 deletions(-) ---- systemd-222.orig/Makefile.am -+++ systemd-222/Makefile.am -@@ -3805,6 +3805,19 @@ dist_udevrules_DATA += \ +Index: systemd-228/Makefile.am +=================================================================== +--- systemd-228.orig/Makefile.am ++++ systemd-228/Makefile.am +@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \ rules/60-persistent-v4l.rules # ------------------------------------------------------------------------------ @@ -36,8 +38,10 @@ Cristian Rodríguez mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.c \ src/udev/mtd_probe/mtd_probe.h \ +Index: systemd-228/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-222/rules/73-seat-numlock.rules ++++ systemd-228/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -47,8 +51,10 @@ Cristian Rodríguez +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-228/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-222/src/login/numlock-on.c ++++ systemd-228/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -84,11 +90,21 @@ Cristian Rodríguez + + exit(0); +} ---- systemd-222.orig/src/vconsole/vconsole-setup.c -+++ systemd-222/src/vconsole/vconsole-setup.c -@@ -41,6 +41,10 @@ - #include "terminal-util.h" - #include "signal-util.h" +Index: systemd-228/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-228.orig/src/vconsole/vconsole-setup.c ++++ systemd-228/src/vconsole/vconsole-setup.c +@@ -36,6 +36,7 @@ + #include "fileio.h" + #include "macro.h" + #include "strv.h" ++#include "fs-util.h" + #include "io-util.h" + #include "locale-util.h" + #include "log.h" +@@ -46,6 +47,10 @@ + #include "util.h" + #include "virt.h" +#define BIOS_DATA_AREA 0x400 +#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 @@ -97,7 +113,7 @@ Cristian Rodríguez static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -359,9 +363,10 @@ int main(int argc, char **argv) { +@@ -364,9 +369,10 @@ int main(int argc, char **argv) { #ifdef HAVE_SYSV_COMPAT _cleanup_free_ char *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, @@ -110,7 +126,7 @@ Cristian Rodríguez bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; bool utf8, font_copy = false, font_ok, keyboard_ok; -@@ -399,6 +404,7 @@ int main(int argc, char **argv) { +@@ -404,6 +410,7 @@ int main(int argc, char **argv) { "KBD_DELAY", &vc_kbd_delay, "KBD_RATE", &vc_kbd_rate, "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, @@ -118,7 +134,7 @@ Cristian Rodríguez "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -416,6 +422,32 @@ int main(int argc, char **argv) { +@@ -421,6 +428,32 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -151,7 +167,7 @@ Cristian Rodríguez #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -451,6 +483,10 @@ int main(int argc, char **argv) { +@@ -456,6 +489,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; @@ -162,8 +178,10 @@ Cristian Rodríguez #ifdef HAVE_SYSV_COMPAT comp_ok = compose_load_and_wait(vc, vc_compose_table); rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); ---- systemd-222.orig/units/systemd-vconsole-setup.service.in -+++ systemd-222/units/systemd-vconsole-setup.service.in +Index: systemd-228/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-228.orig/units/systemd-vconsole-setup.service.in ++++ systemd-228/units/systemd-vconsole-setup.service.in @@ -10,7 +10,7 @@ Description=Setup Virtual Console Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index 520c7bbe..118f333d 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -2,16 +2,22 @@ From: Frederic Crozat Date: Tue, 4 Dec 2012 16:51:32 +0000 Subject: handle root_uses_lang value in /etc/sysconfig/language -handle ROOT_USES_LANG=ctype (bnc#792182). +handle ROOT_USES_LANG=ctype (boo#792182). --- - src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) + src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) -Index: systemd-221/src/core/locale-setup.c +Index: systemd-228/src/core/locale-setup.c =================================================================== ---- systemd-221.orig/src/core/locale-setup.c -+++ systemd-221/src/core/locale-setup.c -@@ -34,6 +34,10 @@ int locale_setup(char ***environment) { +--- systemd-228.orig/src/core/locale-setup.c ++++ systemd-228/src/core/locale-setup.c +@@ -30,11 +30,16 @@ + #include "strv.h" + #include "util.h" + #include "virt.h" ++#include "alloc-util.h" + + int locale_setup(char ***environment) { char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; @@ -20,9 +26,9 @@ Index: systemd-221/src/core/locale-setup.c + char _cleanup_free_ *root_uses_lang = NULL; +#endif - if (detect_container(NULL) <= 0) { + if (detect_container() <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -80,6 +85,41 @@ int locale_setup(char ***environment) { +@@ -81,6 +86,41 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } diff --git a/insserv-generator.patch b/insserv-generator.patch index 9e5afdbc..833d0d66 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -8,16 +8,16 @@ systemd unit drop-in files to add dependencies --- Makefile.am | 9 src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 316 ++++++++++++++++++++++++++++++ - 3 files changed, 352 insertions(+), 1 deletion(-) + src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++ + 3 files changed, 355 insertions(+), 1 deletion(-) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd-224/Makefile.am +Index: systemd-228/Makefile.am =================================================================== ---- systemd-224.orig/Makefile.am -+++ systemd-224/Makefile.am -@@ -617,7 +617,8 @@ nodist_systemunit_DATA += \ +--- systemd-228.orig/Makefile.am ++++ systemd-228/Makefile.am +@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \ systemgenerator_PROGRAMS += \ systemd-sysv-generator \ @@ -27,7 +27,7 @@ Index: systemd-224/Makefile.am endif EXTRA_DIST += \ -@@ -2556,6 +2557,12 @@ $(systemd_boot): $(systemd_boot_solib) +@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib) endif endif @@ -40,10 +40,10 @@ Index: systemd-224/Makefile.am # ------------------------------------------------------------------------------ stub_headers = \ src/boot/efi/util.h \ -Index: systemd-224/src/insserv-generator/Makefile +Index: systemd-228/src/insserv-generator/Makefile =================================================================== --- /dev/null -+++ systemd-224/src/insserv-generator/Makefile ++++ systemd-228/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,11 +73,11 @@ Index: systemd-224/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd-224/src/insserv-generator/insserv-generator.c +Index: systemd-228/src/insserv-generator/insserv-generator.c =================================================================== --- /dev/null -+++ systemd-224/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,316 @@ ++++ systemd-228/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,319 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -112,6 +112,9 @@ Index: systemd-224/src/insserv-generator/insserv-generator.c +#include "path-util.h" +#include "util.h" +#include "strv.h" ++#include "alloc-util.h" ++#include "string-util.h" ++#include "fd-util.h" + +static const char *arg_dest = "/tmp"; + diff --git a/macros.systemd.upstream b/macros.systemd.upstream index 8c2e84f6..2ba0ff05 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -1,4 +1,4 @@ -# -*- Mode: makefile; indent-tabs-mode: t -*- */ +# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ # # This file is part of systemd. # @@ -39,7 +39,7 @@ Requires(postun): systemd \ %systemd_post() \ if [ $1 -eq 1 ] ; then \ # Initial installation \ - systemctl preset %{?*} >/dev/null 2>&1 || : \ + systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} @@ -48,8 +48,7 @@ fi \ %systemd_preun() \ if [ $1 -eq 0 ] ; then \ # Package removal, not upgrade \ - systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - systemctl stop %{?*} > /dev/null 2>&1 || : \ + systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} @@ -60,14 +59,11 @@ if [ $1 -eq 0 ] ; then \ fi \ %{nil} -%systemd_postun() \ -systemctl daemon-reload >/dev/null 2>&1 || : \ -%{nil} +%systemd_postun() %{nil} %systemd_user_postun() %{nil} %systemd_postun_with_restart() \ -systemctl daemon-reload >/dev/null 2>&1 || : \ if [ $1 -ge 1 ] ; then \ # Package upgrade, not uninstall \ systemctl try-restart %{?*} >/dev/null 2>&1 || : \ diff --git a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch deleted file mode 100644 index b6859af1..00000000 --- a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Robert Schweikert -Date: Fri, 12 Apr 2013 12:08:16 -0400 -Subject: rules: add lid switch of ARM based Chromebook as a power switch to - logind - ---- - src/login/70-power-switch.rules | 1 + - 1 file changed, 1 insertion(+) - ---- a/src/login/70-power-switch.rules -+++ b/src/login/70-power-switch.rules -@@ -11,5 +11,6 @@ SUBSYSTEM=="input", KERNEL=="event*", SU - SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" -+SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="gpio-keys.8", TAG+="power-switch" - - LABEL="power_switch_end" diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index c00f8623..e6474d8d 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -3,29 +3,29 @@ Use and set default logging console for both journald and kernel messages --- src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ src/journal/journald-console.h | 3 + - src/journal/journald-server.c | 6 ++ - 3 files changed, 109 insertions(+) + src/journal/journald-server.c | 5 ++ + 3 files changed, 108 insertions(+) -Index: systemd-221/src/journal/journald-console.c +Index: systemd-228/src/journal/journald-console.c =================================================================== ---- systemd-221.orig/src/journal/journald-console.c -+++ systemd-221/src/journal/journald-console.c +--- systemd-228.orig/src/journal/journald-console.c ++++ systemd-228/src/journal/journald-console.c @@ -22,6 +22,14 @@ - #include #include #include + #include +#ifdef HAVE_SYSV_COMPAT -+# include -+# include -+# include -+# include -+# include -+# include "util.h" ++# include ++# include ++# include ++# include ++# include ++# include "string-util.h" +#endif - #include "fileio.h" - #include "journald-server.h" -@@ -45,6 +53,76 @@ static bool prefix_timestamp(void) { + #include "alloc-util.h" + #include "fd-util.h" +@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } @@ -102,7 +102,7 @@ Index: systemd-221/src/journal/journald-console.c void server_forward_console( Server *s, int priority, -@@ -66,6 +144,12 @@ void server_forward_console( +@@ -71,6 +149,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; @@ -115,10 +115,10 @@ Index: systemd-221/src/journal/journald-console.c /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -102,7 +186,23 @@ void server_forward_console( +@@ -107,7 +191,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { - log_debug_errno(errno, "Failed to open %s for logging: %m", tty); + log_debug_errno(fd, "Failed to open %s for logging: %m", tty); +#ifdef HAVE_SYSV_COMPAT + if (fd != -ENOENT && fd != -ENODEV) + return; @@ -139,10 +139,10 @@ Index: systemd-221/src/journal/journald-console.c } if (writev(fd, iovec, n) < 0) -Index: systemd-221/src/journal/journald-console.h +Index: systemd-228/src/journal/journald-console.h =================================================================== ---- systemd-221.orig/src/journal/journald-console.h -+++ systemd-221/src/journal/journald-console.h +--- systemd-228.orig/src/journal/journald-console.h ++++ systemd-228/src/journal/journald-console.h @@ -24,3 +24,6 @@ #include "journald-server.h" @@ -150,19 +150,19 @@ Index: systemd-221/src/journal/journald-console.h + +void klogconsole(Server *s); +void default_tty_path(Server *s); -Index: systemd-221/src/journal/journald-server.c +Index: systemd-228/src/journal/journald-server.c =================================================================== ---- systemd-221.orig/src/journal/journald-server.c -+++ systemd-221/src/journal/journald-server.c -@@ -52,6 +52,7 @@ - #include "journal-internal.h" - #include "journal-vacuum.h" - #include "journal-authenticate.h" +--- systemd-228.orig/src/journal/journald-server.c ++++ systemd-228/src/journal/journald-server.c +@@ -55,6 +55,7 @@ + #include "journald-audit.h" + #include "journald-kmsg.h" + #include "journald-native.h" +#include "journald-console.h" #include "journald-rate-limit.h" - #include "journald-kmsg.h" - #include "journald-syslog.h" -@@ -1514,6 +1515,11 @@ int server_init(Server *s) { + #include "journald-server.h" + #include "journald-stream.h" +@@ -1751,6 +1752,10 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); @@ -170,7 +170,6 @@ Index: systemd-221/src/journal/journald-server.c + + if (s->tty_path) + klogconsole(s); -+ + if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", - s->rate_limit_interval, s->rate_limit_burst); diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff index 45253b12..ce772aac 100644 --- a/suse-sysv-bootd-support.diff +++ b/suse-sysv-bootd-support.diff @@ -7,12 +7,14 @@ This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. [Implementation note: currently, the unit is generated, but not activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] --- - src/sysv-generator/sysv-generator.c | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) + src/sysv-generator/sysv-generator.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) ---- systemd-222.orig/src/sysv-generator/sysv-generator.c -+++ systemd-222/src/sysv-generator/sysv-generator.c -@@ -39,7 +39,8 @@ +Index: systemd-228/src/sysv-generator/sysv-generator.c +=================================================================== +--- systemd-228.orig/src/sysv-generator/sysv-generator.c ++++ systemd-228/src/sysv-generator/sysv-generator.c +@@ -46,7 +46,8 @@ typedef enum RunlevelType { RUNLEVEL_UP, @@ -22,7 +24,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] } RunlevelType; static const struct { -@@ -47,6 +48,9 @@ static const struct { +@@ -54,6 +55,9 @@ static const struct { const char *target; const RunlevelType type; } rcnd_table[] = { @@ -32,7 +34,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] /* Standard SysV runlevels for start-up */ { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, -@@ -62,10 +66,10 @@ static const struct { +@@ -69,10 +73,10 @@ static const struct { directories in this order, and we want to make sure that sysv_start_priority is known when we first load the unit. And that value we only know from S links. Hence @@ -45,7 +47,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] typedef struct SysvStub { char *name; -@@ -243,6 +247,10 @@ static char *sysv_translate_name(const c +@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c _cleanup_free_ char *c = NULL; char *res; @@ -56,21 +58,18 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] c = strdup(name); if (!c) return NULL; -@@ -859,10 +867,10 @@ static int set_dependencies_from_rcnd(co +@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co if (de->d_name[0] == 'S') { -- if (rcnd_table[i].type == RUNLEVEL_UP) { +- if (rcnd_table[i].type == RUNLEVEL_UP) + if (rcnd_table[i].type == RUNLEVEL_UP || + rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = - MAX(a*10 + b, service->sysv_start_priority); -- } + service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority); r = set_ensure_allocated(&runlevel_services[i], NULL); - if (r < 0) -@@ -873,7 +881,8 @@ static int set_dependencies_from_rcnd(co - goto finish; +@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co + } } else if (de->d_name[0] == 'K' && - (rcnd_table[i].type == RUNLEVEL_DOWN)) { @@ -78,4 +77,4 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] + rcnd_table[i].type == RUNLEVEL_SYSINIT)) { r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) + if (r < 0) { diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index a67fa47f..bc7985dc 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,35 +1,35 @@ --- man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 47 ++++++++++++++++++++++++++++++++++++++++------- - 2 files changed, 43 insertions(+), 7 deletions(-) + src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 43 insertions(+), 6 deletions(-) -Index: systemd-221/man/tmpfiles.d.xml +Index: systemd-228/man/tmpfiles.d.xml =================================================================== ---- systemd-221.orig/man/tmpfiles.d.xml -+++ systemd-221/man/tmpfiles.d.xml -@@ -528,6 +528,9 @@ +--- systemd-228.orig/man/tmpfiles.d.xml ++++ systemd-228/man/tmpfiles.d.xml +@@ -599,6 +599,9 @@ f, F, and - w may be used to specify a short string that + w, the argument may be used to specify a short string that is written to the file, suffixed by a newline. For + x, X, a comma separated list of + usernames. If given, only paths belonging to these users will be excluded + during directory cleanup. Ignored for all other lines. For C, specifies the source file or - directory. For t, T + directory. For t and T, determines extended attributes to be set. For -Index: systemd-221/src/tmpfiles/tmpfiles.c +Index: systemd-228/src/tmpfiles/tmpfiles.c =================================================================== ---- systemd-221.orig/src/tmpfiles/tmpfiles.c -+++ systemd-221/src/tmpfiles/tmpfiles.c +--- systemd-228.orig/src/tmpfiles/tmpfiles.c ++++ systemd-228/src/tmpfiles/tmpfiles.c @@ -37,6 +37,7 @@ - #include #include - #include + #include + #include +#include - #include "log.h" - #include "util.h" -@@ -358,6 +359,7 @@ static int dir_cleanup( + #include "acl-util.h" + #include "alloc-util.h" +@@ -378,6 +379,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -37,7 +37,7 @@ Index: systemd-221/src/tmpfiles/tmpfiles.c while ((dent = readdir(d))) { struct stat s; -@@ -408,14 +410,45 @@ static int dir_cleanup( +@@ -428,14 +430,46 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ @@ -50,7 +50,7 @@ Index: systemd-221/src/tmpfiles/tmpfiles.c + found_glob = true; + found = find_glob(globs, sub_path); } -- + - if (find_glob(globs, sub_path)) { - log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); - continue; diff --git a/systemd-mini.changes b/systemd-mini.changes index 4724b61e..a7adef16 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com + +- Make sure we don't use tmpfs on /tmp by default (bsc#940522) + +------------------------------------------------------------------- +Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de + +- Avoid enabling readahead services; they have been removed. +- In %install, only process kbd-model-map.xkb-generated if it + exists. Resolves a build failure in 13.2/42.1. + +------------------------------------------------------------------- +Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com + +- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) + Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + +------------------------------------------------------------------- +Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 228 +* The various memory-related resource limit settings (such as + LimitAS=) now understand the usual K, M, G, ... suffixes to + the base of 1024 (IEC). Similar, the time-related settings + understand the usual min, h, day, ... suffixes now. +* CPUAffinity= now takes CPU index ranges in addition to just + individual indexes. +* A number of properties previously only settable in unit + files are now also available as properties to set when + creating transient units programmatically via the bus. +- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch + (merged upstream) + +------------------------------------------------------------------- +Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru + +- Update to 227. +- Rebase systemd-pam_config.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, + 0014-journald-with-journaling-FS.patch, + 0019-make-completion-smart-to-be-able-to-redirect.patch, + avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, + set-and-use-default-logconsole.patch, + tty-ask-password-agent-on-console.patch, + 0001-bnc888612-logind-polkit-acpi.patch, + watch_resolv.conf_for_become_changed.patch, + 1097-udevd-increase-maximum-number-of-children.patch. +- Remove + 0002-units-enable-waiting-for-unit-termination-in-certain.patch, + 1001-re-enable-by_path-links-for-ata-devices.patch, + rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: + fixed upstream. + ------------------------------------------------------------------- Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 84245e76..28262652 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -42,7 +42,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 224 +Version: 228 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -112,7 +112,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.26 +Requires: util-linux >= 2.27 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -176,16 +176,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind -Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-UPSTREAM (boo#949574) -Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch -# PATCH-FIX-UPSTREAM (bsc#932284) -Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -251,6 +245,8 @@ Patch521: kbd-model-map.patch Patch522: Correct_assert_on_unexpected_error_code.patch # PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch +# PATCH-FIX-UPSTREAM (bsc#956712) +Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # UDEV PATCHES # ============ @@ -260,8 +256,6 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # as it's not changing the code of udev and libudev, then is not a udev # patch. Further patches which add and/or changes udev rules. -# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch -Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch @@ -557,8 +551,6 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 -%patch87 -p1 -%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -587,17 +579,14 @@ cp %{SOURCE7} m4/ %patch386 -p1 %patch430 -p1 %patch475 -p1 -%ifarch %arm -%patch38 -p1 -%endif %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p0 +%patch522 -p1 %patch523 -p0 +%patch524 -p1 # udev patches -%patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 @@ -726,7 +715,7 @@ make %{?_smp_mflags} update-man-list man %endif %install -make install DESTDIR="%buildroot" +%make_install install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} @@ -767,8 +756,11 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# don't mount /tmp as tmpfs for now +# We keep a copy of tmp.mount because it may be removed if not used +# (see %post): we want to be sure tmpfs won't be used for /tmp by +# default on Suse distros. rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -899,8 +891,10 @@ done # add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten -cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >> %{buildroot}//usr/share/systemd/kbd-model-map +if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>"%buildroot/usr/share/systemd/kbd-model-map" +fi %find_lang systemd @@ -956,12 +950,13 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - /usr/bin/systemctl enable \ - getty@tty1.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ - remote-fs.target || : + # Enable these services by default. + # Specifying multiple units can cause the entire operation to not + # execute if one of them is missing, so run systemctl with one unit + # at a time only. + for i in getty@tty1.service remote-fs.target; do + /usr/bin/systemctl enable "$i" || : + done fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -976,6 +971,16 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# Keep tmp.mount if it's been enabled explicitly by the user otherwise +# make sure it wont be activated since it's the default for Suse +# distros. This unit can be pulled (implicitely) in various ways +# (private /tmp, etc..) and it's required by the basic.target +# explicitly since v220. +case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +enabled) ;; +*) rm -f %{_prefix}/lib/systemd/system/tmp.mount +esac + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 469004d3..7850822e 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -1,16 +1,32 @@ ---- - src/login/systemd-user | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-221/src/login/systemd-user +Index: systemd-227/factory/etc/pam.d/other =================================================================== ---- systemd-221.orig/src/login/systemd-user -+++ systemd-221/src/login/systemd-user -@@ -2,5 +2,5 @@ +--- systemd-227.orig/factory/etc/pam.d/other ++++ systemd-227/factory/etc/pam.d/other +@@ -1,6 +1,6 @@ + # This file is part of systemd. + +-auth include system-auth +-account include system-auth +-password include system-auth +-session include system-auth ++auth include common-auth ++account include common-account ++password include common-password ++session include common-session +Index: systemd-227/src/login/systemd-user.m4 +=================================================================== +--- systemd-227.orig/src/login/systemd-user.m4 ++++ systemd-227/src/login/systemd-user.m4 +@@ -2,10 +2,10 @@ # # Used by systemd --user instances. -account include system-auth --session include system-auth +account include common-account + + m4_ifdef(`HAVE_SELINUX', + session required pam_selinux.so close + session required pam_selinux.so nottys open + )m4_dnl +-session include system-auth +session include common-session diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index e114231e..1233b3b2 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -8,19 +8,19 @@ SUSE policy is to not clean /tmp by default. tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: systemd-221/tmpfiles.d/tmp.conf +Index: systemd-228/tmpfiles.d/tmp.conf =================================================================== ---- systemd-221.orig/tmpfiles.d/tmp.conf -+++ systemd-221/tmpfiles.d/tmp.conf +--- systemd-228.orig/tmpfiles.d/tmp.conf ++++ systemd-228/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override --v /tmp 1777 root root 10d --v /var/tmp 1777 root root 30d -+# SUSE policy: we don't clean those directories -+v /tmp 1777 root root - -+v /var/tmp 1777 root root - +-q /tmp 1777 root root 10d +-q /var/tmp 1777 root root 30d ++# SUSE policy: we do not clean these directories ++q /tmp 1777 root root - ++q /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index 4724b61e..a7adef16 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com + +- Make sure we don't use tmpfs on /tmp by default (bsc#940522) + +------------------------------------------------------------------- +Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de + +- Avoid enabling readahead services; they have been removed. +- In %install, only process kbd-model-map.xkb-generated if it + exists. Resolves a build failure in 13.2/42.1. + +------------------------------------------------------------------- +Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com + +- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) + Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + +------------------------------------------------------------------- +Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 228 +* The various memory-related resource limit settings (such as + LimitAS=) now understand the usual K, M, G, ... suffixes to + the base of 1024 (IEC). Similar, the time-related settings + understand the usual min, h, day, ... suffixes now. +* CPUAffinity= now takes CPU index ranges in addition to just + individual indexes. +* A number of properties previously only settable in unit + files are now also available as properties to set when + creating transient units programmatically via the bus. +- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch + (merged upstream) + +------------------------------------------------------------------- +Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru + +- Update to 227. +- Rebase systemd-pam_config.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, + 0014-journald-with-journaling-FS.patch, + 0019-make-completion-smart-to-be-able-to-redirect.patch, + avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, + set-and-use-default-logconsole.patch, + tty-ask-password-agent-on-console.patch, + 0001-bnc888612-logind-polkit-acpi.patch, + watch_resolv.conf_for_become_changed.patch, + 1097-udevd-increase-maximum-number-of-children.patch. +- Remove + 0002-units-enable-waiting-for-unit-termination-in-certain.patch, + 1001-re-enable-by_path-links-for-ata-devices.patch, + rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: + fixed upstream. + ------------------------------------------------------------------- Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 674e6fc6..e3224592 100644 --- a/systemd.spec +++ b/systemd.spec @@ -40,7 +40,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 224 +Version: 228 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -107,7 +107,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.26 +Requires: util-linux >= 2.27 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -171,16 +171,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind -Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-UPSTREAM (boo#949574) -Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch -# PATCH-FIX-UPSTREAM (bsc#932284) -Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -246,6 +240,8 @@ Patch521: kbd-model-map.patch Patch522: Correct_assert_on_unexpected_error_code.patch # PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch +# PATCH-FIX-UPSTREAM (bsc#956712) +Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # UDEV PATCHES # ============ @@ -255,8 +251,6 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # as it's not changing the code of udev and libudev, then is not a udev # patch. Further patches which add and/or changes udev rules. -# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch -Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch @@ -552,8 +546,6 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 -%patch87 -p1 -%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -582,17 +574,14 @@ cp %{SOURCE7} m4/ %patch386 -p1 %patch430 -p1 %patch475 -p1 -%ifarch %arm -%patch38 -p1 -%endif %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p0 +%patch522 -p1 %patch523 -p0 +%patch524 -p1 # udev patches -%patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 @@ -721,7 +710,7 @@ make %{?_smp_mflags} update-man-list man %endif %install -make install DESTDIR="%buildroot" +%make_install install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} @@ -762,8 +751,11 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# don't mount /tmp as tmpfs for now +# We keep a copy of tmp.mount because it may be removed if not used +# (see %post): we want to be sure tmpfs won't be used for /tmp by +# default on Suse distros. rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -894,8 +886,10 @@ done # add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten -cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >> %{buildroot}//usr/share/systemd/kbd-model-map +if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>"%buildroot/usr/share/systemd/kbd-model-map" +fi %find_lang systemd @@ -951,12 +945,13 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - /usr/bin/systemctl enable \ - getty@tty1.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ - remote-fs.target || : + # Enable these services by default. + # Specifying multiple units can cause the entire operation to not + # execute if one of them is missing, so run systemctl with one unit + # at a time only. + for i in getty@tty1.service remote-fs.target; do + /usr/bin/systemctl enable "$i" || : + done fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -971,6 +966,16 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# Keep tmp.mount if it's been enabled explicitly by the user otherwise +# make sure it wont be activated since it's the default for Suse +# distros. This unit can be pulled (implicitely) in various ways +# (private /tmp, etc..) and it's required by the basic.target +# explicitly since v220. +case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +enabled) ;; +*) rm -f %{_prefix}/lib/systemd/system/tmp.mount +esac + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index 9490adc2..f96fc24b 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -26,13 +26,13 @@ Spwan for each device of the system console /dev/console a own process. Replace the system call wait() with with system call waitid(). --- - src/tty-ask-password-agent.c | 264 ++++++++++++++++++++- - 1 file changed, 255 insertions(+), 9 deletions(-) + src/tty-ask-password-agent/tty-ask-password-agent.c | 264 +++++++++++++++++++- + 1 file changed, 254 insertions(+), 10 deletions(-) -diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 4630eb9..df4bada 100644 ---- a/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c +Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c +=================================================================== +--- systemd-228.orig/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -4,6 +4,7 @@ This file is part of systemd. @@ -41,26 +41,26 @@ index 4630eb9..df4bada 100644 systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by -@@ -31,6 +32,9 @@ - #include - #include +@@ -21,6 +22,9 @@ + + #include #include +#include +#include +#include - - #include "util.h" - #include "mkdir.h" -@@ -45,6 +49,8 @@ - #include "process-util.h" + #include + #include + #include +@@ -49,6 +53,8 @@ #include "terminal-util.h" - #include "signal-util.h" + #include "util.h" + #include "utmp-wtmp.h" +#include "fileio.h" +#include "macro.h" static enum { ACTION_LIST, -@@ -53,8 +59,21 @@ static enum { +@@ -57,8 +63,21 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; @@ -82,8 +82,8 @@ index 4630eb9..df4bada 100644 static int ask_password_plymouth( const char *message, -@@ -211,6 +230,80 @@ static int ask_password_plymouth( - return 0; +@@ -240,6 +259,80 @@ finish: + return r; } +static void free_consoles(struct console *con, unsigned int num) { @@ -162,17 +162,17 @@ index 4630eb9..df4bada 100644 + static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; - uint64_t not_after = 0; -@@ -311,7 +404,7 @@ static int parse_password(const char *fi - _cleanup_free_ char *password = NULL; + bool accept_cached = false, echo = false; +@@ -340,7 +433,7 @@ static int parse_password(const char *fi + int tty_fd = -1; if (arg_console) { - tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); + tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); if (tty_fd < 0) - return tty_fd; - } -@@ -554,7 +647,7 @@ static int parse_argv(int argc, char *ar + return log_error_errno(tty_fd, "Failed to acquire /dev/console: %m"); + +@@ -601,7 +694,7 @@ static int parse_argv(int argc, char *ar { "watch", no_argument, NULL, ARG_WATCH }, { "wall", no_argument, NULL, ARG_WALL }, { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, @@ -181,7 +181,7 @@ index 4630eb9..df4bada 100644 {} }; -@@ -598,6 +691,10 @@ static int parse_argv(int argc, char *ar +@@ -643,6 +736,10 @@ static int parse_argv(int argc, char *ar case ARG_CONSOLE: arg_console = true; @@ -192,7 +192,7 @@ index 4630eb9..df4bada 100644 break; case '?': -@@ -612,9 +709,143 @@ static int parse_argv(int argc, char *ar +@@ -657,9 +754,143 @@ static int parse_argv(int argc, char *ar return -EINVAL; } @@ -336,16 +336,16 @@ index 4630eb9..df4bada 100644 int main(int argc, char *argv[]) { int r; -@@ -628,15 +859,28 @@ int main(int argc, char *argv[]) { +@@ -673,16 +904,29 @@ int main(int argc, char *argv[]) { if (r <= 0) goto finish; - if (arg_console) { -- setsid(); -- release_terminal(); +- (void) setsid(); +- (void) release_terminal(); + if (arg_console && !arg_device) + /* -+ * Spwan for each console device a own process ++ * Spawn for each console device a own process + */ + r = ask_on_consoles(argc, argv); + else { @@ -365,15 +365,12 @@ index 4630eb9..df4bada 100644 + else + r = show_passwords(); } -- + - if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) - r = watch_passwords(); - else - r = show_passwords(); - - if (r < 0) - log_error_errno(r, "Error: %m"); - --- -2.2.0 - +- + finish: + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + } diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch index 8df39ad4..2e655400 100644 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ b/use-rndaddentropy-ioctl-to-load-random-seed.patch @@ -8,21 +8,20 @@ Related to bnc#892096 src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 10 deletions(-) -Index: systemd-221/src/random-seed/random-seed.c +Index: systemd-228/src/random-seed/random-seed.c =================================================================== ---- systemd-221.orig/src/random-seed/random-seed.c -+++ systemd-221/src/random-seed/random-seed.c -@@ -22,7 +22,9 @@ - #include - #include - #include -+#include +--- systemd-228.orig/src/random-seed/random-seed.c ++++ systemd-228/src/random-seed/random-seed.c +@@ -24,6 +24,8 @@ #include -+#include #include + #include ++#include ++#include - #include "log.h" -@@ -32,8 +34,8 @@ + #include "alloc-util.h" + #include "fd-util.h" +@@ -36,8 +38,8 @@ #define POOL_SIZE_MIN 512 int main(int argc, char *argv[]) { @@ -33,7 +32,7 @@ Index: systemd-221/src/random-seed/random-seed.c size_t buf_size = 0; ssize_t k; int r; -@@ -65,11 +67,12 @@ int main(int argc, char *argv[]) { +@@ -68,11 +70,12 @@ int main(int argc, char *argv[]) { if (buf_size <= POOL_SIZE_MIN) buf_size = POOL_SIZE_MIN; @@ -48,7 +47,7 @@ Index: systemd-221/src/random-seed/random-seed.c r = mkdir_parents_label(RANDOM_SEED, 0755); if (r < 0) { -@@ -83,6 +86,23 @@ int main(int argc, char *argv[]) { +@@ -86,6 +89,23 @@ int main(int argc, char *argv[]) { if (streq(argv[1], "load")) { @@ -72,7 +71,7 @@ Index: systemd-221/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -103,7 +123,7 @@ int main(int argc, char *argv[]) { +@@ -106,7 +126,7 @@ int main(int argc, char *argv[]) { } } @@ -81,7 +80,7 @@ Index: systemd-221/src/random-seed/random-seed.c if (k < 0) r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); else if (k == 0) -@@ -111,13 +131,29 @@ int main(int argc, char *argv[]) { +@@ -114,13 +134,29 @@ int main(int argc, char *argv[]) { else { (void) lseek(seed_fd, 0, SEEK_SET); @@ -114,7 +113,7 @@ Index: systemd-221/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -130,6 +166,21 @@ int main(int argc, char *argv[]) { +@@ -133,6 +169,21 @@ int main(int argc, char *argv[]) { goto finish; } @@ -136,7 +135,7 @@ Index: systemd-221/src/random-seed/random-seed.c } else { log_error("Unknown verb '%s'.", argv[1]); r = -EINVAL; -@@ -144,7 +195,7 @@ int main(int argc, char *argv[]) { +@@ -147,7 +198,7 @@ int main(int argc, char *argv[]) { (void) fchmod(seed_fd, 0600); (void) fchown(seed_fd, 0, 0); @@ -145,7 +144,7 @@ Index: systemd-221/src/random-seed/random-seed.c if (k < 0) { r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); goto finish; -@@ -155,7 +206,7 @@ int main(int argc, char *argv[]) { +@@ -158,7 +209,7 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/v224.tar.gz b/v224.tar.gz deleted file mode 100644 index d4d491a2..00000000 --- a/v224.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d7ac1532a57639fbc828f8a5051a090883c6ad2908618a7a13ab386db831bfc -size 3868075 diff --git a/v228.tar.gz b/v228.tar.gz new file mode 100644 index 00000000..84f9e59d --- /dev/null +++ b/v228.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 +size 4034401 diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index fcc01432..e6df8c6e 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -3,19 +3,19 @@ src/core/manager.h | 5 ++ 2 files changed, 98 insertions(+) -Index: systemd-221/src/core/manager.c +Index: systemd-227/src/core/manager.c =================================================================== ---- systemd-221.orig/src/core/manager.c -+++ systemd-221/src/core/manager.c +--- systemd-227.orig/src/core/manager.c ++++ systemd-227/src/core/manager.c @@ -32,6 +32,7 @@ - #include - #include #include + #include + #include +#include #ifdef HAVE_AUDIT #include -@@ -308,6 +309,91 @@ static int manager_check_ask_password(Ma +@@ -294,6 +295,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -107,15 +107,15 @@ Index: systemd-221/src/core/manager.c static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -585,6 +671,7 @@ int manager_new(ManagerRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; +@@ -576,6 +662,7 @@ int manager_new(ManagerRunningAs running + m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + m->resolv_conf_inotify_fd = -1; m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ - -@@ -651,6 +738,10 @@ int manager_new(ManagerRunningAs running + m->first_boot = -1; +@@ -637,6 +724,10 @@ int manager_new(ManagerRunningAs running if (r < 0) goto fail; @@ -126,7 +126,7 @@ Index: systemd-221/src/core/manager.c m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -929,6 +1020,8 @@ Manager* manager_free(Manager *m) { +@@ -914,6 +1005,8 @@ Manager* manager_free(Manager *m) { if (!m) return NULL; @@ -135,13 +135,13 @@ Index: systemd-221/src/core/manager.c manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-221/src/core/manager.h +Index: systemd-227/src/core/manager.h =================================================================== ---- systemd-221.orig/src/core/manager.h -+++ systemd-221/src/core/manager.h -@@ -181,6 +181,11 @@ struct Manager { - int utab_inotify_fd; - sd_event_source *mount_utab_event_source; +--- systemd-227.orig/src/core/manager.h ++++ systemd-227/src/core/manager.h +@@ -180,6 +180,11 @@ struct Manager { + struct libmnt_monitor *mount_monitor; + sd_event_source *mount_event_source; + /* Watch out any change of /etc/resolv.conf */ + int resolv_conf_inotify_fd; From 41f309c81844b5ad1331f1f919e001245e334397446c6f5e47ae32832b430b25 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 27 Dec 2015 00:53:14 +0000 Subject: [PATCH 221/991] Accepting request 350935 from openSUSE:Factory Revert to version 224 - 228 exhibits issues on updating from 13.2 to TW OBS-URL: https://build.opensuse.org/request/show/350935 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=227 --- ...unt-units-pulled-by-RequiresMountsFo.patch | 49 ++++++ ...s390_con3270_disable_ANSI_colour_esc.patch | 131 +++++++++++----- ...sh-for-reboot-or-hddown-for-poweroff.patch | 38 ++--- ...network-device-after-NFS-mount-units.patch | 57 ++++--- 0001-bnc888612-logind-polkit-acpi.patch | 30 ++-- ...-do-not-allow-overlong-machine-names.patch | 37 ----- ...ting-for-unit-termination-in-certain.patch | 140 ++++++++++++++++++ 0014-journald-with-journaling-FS.patch | 33 ++--- ...pletion-smart-to-be-able-to-redirect.patch | 90 +++++------ ...enable-by_path-links-for-ata-devices.patch | 99 +++++++++++++ ...-increase-maximum-number-of-children.patch | 14 +- Correct_assert_on_unexpected_error_code.patch | 10 +- avoid-divide-by-zero-sigtrap.patch | 22 +-- ...plock-and-compose_table-and-kbd_rate.patch | 28 ++-- ...lock-value-in-etc-sysconfig-keyboard.patch | 56 +++---- ...lang-value-in-etc-sysconfig-language.patch | 24 ++- insserv-generator.patch | 27 ++-- macros.systemd.upstream | 12 +- ...f-ARM-based-Chromebook-as-a-power-sw.patch | 18 +++ set-and-use-default-logconsole.patch | 65 ++++---- suse-sysv-bootd-support.diff | 33 +++-- systemd-add-user-keep.patch | 36 ++--- systemd-mini.changes | 56 ------- systemd-mini.spec | 59 ++++---- systemd-pam_config.patch | 34 ++--- systemd-tmp-safe-defaults.patch | 16 +- systemd.changes | 56 ------- systemd.spec | 59 ++++---- tty-ask-password-agent-on-console.patch | 73 ++++----- ...addentropy-ioctl-to-load-random-seed.patch | 33 +++-- v224.tar.gz | 3 + v228.tar.gz | 3 - watch_resolv.conf_for_become_changed.patch | 34 ++--- 33 files changed, 832 insertions(+), 643 deletions(-) create mode 100644 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch delete mode 100644 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch create mode 100644 0002-units-enable-waiting-for-unit-termination-in-certain.patch create mode 100644 1001-re-enable-by_path-links-for-ata-devices.patch create mode 100644 rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch create mode 100644 v224.tar.gz delete mode 100644 v228.tar.gz diff --git a/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch b/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch new file mode 100644 index 00000000..5161b8ca --- /dev/null +++ b/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch @@ -0,0 +1,49 @@ +From 6a102f90a2ee50e43998d64819e8bd4ee241c22b Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 8 Oct 2015 19:06:06 +0200 +Subject: [PATCH 1/2] Make sure the mount units pulled by 'RequiresMountsFor=' + are loaded (if they exist) + +We should make sure that mount units involved by 'RequiresMountsFor=' +directives are really loaded if not required by any others units so +that Requires= dependencies on the mount units are applied and thus +the mount unit dependencies are started. + +(cherry picked from commit 9b3757e9c8c8d6e161481193c4ef60e425a9ae41) +--- + src/core/unit.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/src/core/unit.c b/src/core/unit.c +index dd5e801..dc7bc5a 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -1141,13 +1141,23 @@ static int unit_add_mount_dependencies(Unit *u) { + char prefix[strlen(*i) + 1]; + + PATH_FOREACH_PREFIX_MORE(prefix, *i) { ++ _cleanup_free_ char *p = NULL; + Unit *m; + +- r = manager_get_unit_by_path(u->manager, prefix, ".mount", &m); ++ r = unit_name_from_path(prefix, ".mount", &p); + if (r < 0) + return r; +- if (r == 0) ++ ++ m = manager_get_unit(u->manager, p); ++ if (!m) { ++ /* Make sure to load the mount unit if ++ * it exists. If so the dependencies ++ * on this unit will be added later ++ * during the loading of the mount ++ * unit. */ ++ (void) manager_load_unit_prepare(u->manager, p, NULL, NULL, &m); + continue; ++ } + if (m == u) + continue; + +-- +2.6.0 + diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index 3dd400a3..9756786c 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,15 +1,15 @@ --- - rules/99-systemd.rules.in | 2 - - src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++-- + rules/99-systemd.rules.in | 2 + src/basic/terminal-util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- src/basic/terminal-util.h | 1 - src/core/manager.c | 24 +++++++++++++++----- - 4 files changed, 74 insertions(+), 8 deletions(-) + src/core/manager.c | 24 ++++++++--- + 4 files changed, 116 insertions(+), 10 deletions(-) -Index: systemd-228/rules/99-systemd.rules.in +Index: systemd-221/rules/99-systemd.rules.in =================================================================== ---- systemd-228.orig/rules/99-systemd.rules.in -+++ systemd-228/rules/99-systemd.rules.in +--- systemd-221.orig/rules/99-systemd.rules.in ++++ systemd-221/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" @@ -19,11 +19,76 @@ Index: systemd-228/rules/99-systemd.rules.in KERNEL=="vport*", TAG+="systemd" SUBSYSTEM=="block", TAG+="systemd" -Index: systemd-228/src/basic/terminal-util.c +Index: systemd-221/src/basic/terminal-util.c =================================================================== ---- systemd-228.orig/src/basic/terminal-util.c -+++ systemd-228/src/basic/terminal-util.c -@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty) +--- systemd-221.orig/src/basic/terminal-util.c ++++ systemd-221/src/basic/terminal-util.c +@@ -647,6 +647,7 @@ int status_vprintf(const char *status, b + struct iovec iovec[6] = {}; + int n = 0; + static bool prev_ephemeral; ++ static int is_ansi_console = -1; + + assert(format); + +@@ -660,6 +661,41 @@ int status_vprintf(const char *status, b + if (fd < 0) + return fd; + ++ if (_unlikely_(is_ansi_console < 0)) ++ is_ansi_console = ansi_console(fd); ++ ++ if (status && !is_ansi_console) { ++ const char *esc, *ptr; ++ esc = strchr(status, 0x1B); ++ if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { ++ switch(*ptr) { ++ case 'S': ++ status = " SKIP "; ++ break; ++ case 'O': ++ status = " OK "; ++ break; ++ case 'F': ++ status = "FAILED"; ++ break; ++ case 'D': ++ status = "DEPEND"; ++ break; ++ case 'T': ++ status = " TIME "; ++ break; ++ case 'I': ++ status = " INFO "; ++ break; ++ case '*': ++ status = " BUSY "; ++ break; ++ default: ++ break; ++ } ++ } ++ } ++ + if (ellipse) { + char *e; + size_t emax, sl; +@@ -682,8 +718,12 @@ int status_vprintf(const char *status, b + } + } + +- if (prev_ephemeral) +- IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); ++ if (prev_ephemeral) { ++ if (is_ansi_console) ++ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); ++ else ++ IOVEC_SET_STRING(iovec[n++], "\r"); ++ } + prev_ephemeral = ephemeral; + + if (status) { +@@ -807,10 +847,47 @@ bool tty_is_vc_resolve(const char *tty) return tty_is_vc(tty); } @@ -72,7 +137,7 @@ Index: systemd-228/src/basic/terminal-util.c } int fd_columns(int fd) { -@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu +@@ -890,8 +967,22 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -96,59 +161,59 @@ Index: systemd-228/src/basic/terminal-util.c return cached_on_tty; } -Index: systemd-228/src/basic/terminal-util.h +Index: systemd-221/src/basic/terminal-util.h =================================================================== ---- systemd-228.orig/src/basic/terminal-util.h -+++ systemd-228/src/basic/terminal-util.h -@@ -78,6 +78,7 @@ unsigned lines(void); +--- systemd-221.orig/src/basic/terminal-util.h ++++ systemd-221/src/basic/terminal-util.h +@@ -77,6 +77,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); +bool ansi_console(int fd); - static inline const char *ansi_underline(void) { - return on_tty() ? ANSI_UNDERLINE : ""; -Index: systemd-228/src/core/manager.c + static inline const char *ansi_highlight(void) { + return on_tty() ? ANSI_HIGHLIGHT_ON : ""; +Index: systemd-221/src/core/manager.c =================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -113,7 +113,7 @@ static void manager_watch_jobs_in_progre - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1)) + #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) -static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { +static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { char *p = buffer; assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si +@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si if (pos > 1) { if (pos > 2) p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED); +- p = stpcpy(p, ANSI_RED_ON); + if (ansi_console) -+ p = stpcpy(p, ANSI_RED); ++ p = stpcpy(p, ANSI_RED_ON); *p++ = '*'; } if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED); +- p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); + if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED); ++ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); *p++ = '*'; } -@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si +@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si *p++ = '*'; if (pos < width-1) p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_NORMAL); +- strcpy(p, ANSI_HIGHLIGHT_OFF); + if (ansi_console) -+ strcpy(p, ANSI_NORMAL); ++ strcpy(p, ANSI_HIGHLIGHT_OFF); } } -@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m +@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m } static void manager_print_jobs_in_progress(Manager *m) { @@ -156,7 +221,7 @@ Index: systemd-228/src/core/manager.c _cleanup_free_ char *job_of_n = NULL; Iterator i; Job *j; -@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre +@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre assert(counter == print_nr + 1); assert(j); diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index f370239f..ea7eeafa 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -3,11 +3,11 @@ src/systemctl/systemctl.c | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) -Index: systemd-227/src/core/shutdown.c +Index: systemd-221/src/core/shutdown.c =================================================================== ---- systemd-227.orig/src/core/shutdown.c -+++ systemd-227/src/core/shutdown.c -@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) { +--- systemd-221.orig/src/core/shutdown.c ++++ systemd-221/src/core/shutdown.c +@@ -396,6 +396,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -18,11 +18,11 @@ Index: systemd-227/src/core/shutdown.c if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-227/src/systemctl/systemctl.c +Index: systemd-221/src/systemctl/systemctl.c =================================================================== ---- systemd-227.orig/src/systemctl/systemctl.c -+++ systemd-227/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; +--- systemd-221.orig/src/systemctl/systemctl.c ++++ systemd-221/src/systemctl/systemctl.c +@@ -93,6 +93,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -30,7 +30,7 @@ Index: systemd-227/src/systemctl/systemctl.c static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha +@@ -6636,6 +6637,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -38,7 +38,7 @@ Index: systemd-227/src/systemctl/systemctl.c { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha +@@ -6688,10 +6690,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -53,32 +53,32 @@ Index: systemd-227/src/systemctl/systemctl.c case '?': return -EINVAL; -@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) { +@@ -7291,7 +7296,8 @@ static int halt_now(enum action a) { /* The kernel will automaticall flush ATA disks and suchlike * on reboot(), but the file systems need to be synce'd * explicitly in advance. */ -- (void) sync(); +- sync(); + if (!arg_no_sync) -+ (void) sync(); ++ sync(); /* Make sure C-A-D is handled by the kernel from this point * on... */ -@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) { +@@ -7299,14 +7305,14 @@ static int halt_now(enum action a) { switch (a) { - case ACTION_HALT: - log_info("Halting."); -- (void) reboot(RB_HALT_SYSTEM); +- reboot(RB_HALT_SYSTEM); - return -errno; -- + case ACTION_POWEROFF: log_info("Powering off."); - (void) reboot(RB_POWER_OFF); + reboot(RB_POWER_OFF); + /* fall-through */ + case ACTION_HALT: + log_info("Halting."); -+ (void) reboot(RB_HALT_SYSTEM); ++ reboot(RB_HALT_SYSTEM); return -errno; - case ACTION_KEXEC: + case ACTION_REBOOT: { diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index dc30e64f..955314ff 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -5,16 +5,17 @@ NFS share is added as "After=" dependency to the .mount. --- Makefile.am | 2 + src/basic/util.c | 1 src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ src/core/mount-iface.h | 25 +++++++ src/core/mount.c | 35 +++++++++ - 4 files changed, 233 insertions(+), 2 deletions(-) + 5 files changed, 234 insertions(+), 2 deletions(-) -Index: systemd-228/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \ +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -1164,6 +1164,8 @@ libcore_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ @@ -23,10 +24,22 @@ Index: systemd-228/Makefile.am src/core/kmod-setup.c \ src/core/kmod-setup.h \ src/core/loopback-setup.h \ -Index: systemd-228/src/core/mount-iface.c +Index: systemd-221/src/basic/util.c +=================================================================== +--- systemd-221.orig/src/basic/util.c ++++ systemd-221/src/basic/util.c +@@ -1478,6 +1478,7 @@ bool fstype_is_network(const char *fstyp + "ncp\0" + "nfs\0" + "nfs4\0" ++ "afs\0" + "gfs\0" + "gfs2\0" + "glusterfs\0"; +Index: systemd-221/src/core/mount-iface.c =================================================================== --- /dev/null -+++ systemd-228/src/core/mount-iface.c ++++ systemd-221/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -201,10 +214,10 @@ Index: systemd-228/src/core/mount-iface.c + freeifaddrs(ifa_list); + ifa_list = NULL; +} -Index: systemd-228/src/core/mount-iface.h +Index: systemd-221/src/core/mount-iface.h =================================================================== --- /dev/null -+++ systemd-228/src/core/mount-iface.h ++++ systemd-221/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -231,19 +244,19 @@ Index: systemd-228/src/core/mount-iface.h + +char *host2iface(const char *ip); +void freeroutes(void); -Index: systemd-228/src/core/mount.c +Index: systemd-221/src/core/mount.c =================================================================== ---- systemd-228.orig/src/core/mount.c -+++ systemd-228/src/core/mount.c -@@ -36,6 +36,7 @@ - #include "manager.h" +--- systemd-221.orig/src/core/mount.c ++++ systemd-221/src/core/mount.c +@@ -35,6 +35,7 @@ #include "mkdir.h" + #include "path-util.h" #include "mount-setup.h" +#include "mount-iface.h" - #include "mount-util.h" - #include "mount.h" - #include "parse-util.h" -@@ -1344,8 +1345,9 @@ static int mount_setup_unit( + #include "unit-name.h" + #include "dbus-mount.h" + #include "special.h" +@@ -1332,8 +1333,9 @@ static int mount_setup_unit( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -254,7 +267,7 @@ Index: systemd-228/src/core/mount.c int r; assert(m); -@@ -1370,6 +1372,8 @@ static int mount_setup_unit( +@@ -1358,6 +1360,8 @@ static int mount_setup_unit( if (r < 0) return r; @@ -263,7 +276,7 @@ Index: systemd-228/src/core/mount.c u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1397,7 +1401,7 @@ static int mount_setup_unit( +@@ -1385,7 +1389,7 @@ static int mount_setup_unit( if (m->running_as == MANAGER_SYSTEM) { const char* target; @@ -272,7 +285,7 @@ Index: systemd-228/src/core/mount.c r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) goto fail; -@@ -1483,6 +1487,32 @@ static int mount_setup_unit( +@@ -1471,6 +1475,32 @@ static int mount_setup_unit( goto fail; } @@ -305,7 +318,7 @@ Index: systemd-228/src/core/mount.c if (changed) unit_add_to_dbus_queue(u); -@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf +@@ -1537,6 +1567,7 @@ static int mount_load_proc_self_mountinf if (r == 0 && k < 0) r = k; } diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index 8729f452..505e1791 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -3,10 +3,10 @@ src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) -Index: systemd-227/src/login/logind-action.c +Index: systemd-221/src/login/logind-action.c =================================================================== ---- systemd-227.orig/src/login/logind-action.c -+++ systemd-227/src/login/logind-action.c +--- systemd-221.orig/src/login/logind-action.c ++++ systemd-221/src/login/logind-action.c @@ -85,6 +85,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ @@ -19,11 +19,11 @@ Index: systemd-227/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-227/src/login/logind-dbus.c +Index: systemd-221/src/login/logind-dbus.c =================================================================== ---- systemd-227.orig/src/login/logind-dbus.c -+++ systemd-227/src/login/logind-dbus.c -@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds( +--- systemd-221.orig/src/login/logind-dbus.c ++++ systemd-221/src/login/logind-dbus.c +@@ -1625,12 +1625,13 @@ static int verify_shutdown_creds( const char *action, const char *action_multiple_sessions, const char *action_ignore_inhibit, @@ -40,7 +40,7 @@ Index: systemd-227/src/login/logind-dbus.c assert(m); assert(message); -@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds( +@@ -1652,7 +1653,19 @@ static int verify_shutdown_creds( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); @@ -58,29 +58,29 @@ Index: systemd-227/src/login/logind-dbus.c + + if (multiple_sessions && action_multiple_sessions && + !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds( +@@ -1660,7 +1673,7 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (blocked && action_ignore_inhibit) { + if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds( +@@ -1668,7 +1681,8 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (!multiple_sessions && !blocked && action) { + if (!multiple_sessions && !blocked && action && + !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep( +@@ -1716,7 +1730,7 @@ static int method_do_shutdown_or_sleep( } r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, @@ -89,7 +89,7 @@ Index: systemd-227/src/login/logind-dbus.c if (r != 0) return r; -@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b +@@ -1896,7 +1910,8 @@ static int method_schedule_shutdown(sd_b return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, diff --git a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch deleted file mode 100644 index f6af8080..00000000 --- a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 23 Nov 2015 13:59:43 -0500 -Subject: [PATCH] nss-mymachines: do not allow overlong machine names - -https://github.com/systemd/systemd/issues/2002 ---- - src/nss-mymachines/nss-mymachines.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c -index 969fa96..c98a959 100644 ---- a/src/nss-mymachines/nss-mymachines.c -+++ b/src/nss-mymachines/nss-mymachines.c -@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_uid(e + 1, &uid); - if (r < 0) - goto not_found; -@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_gid(e + 1, &gid); - if (r < 0) - goto not_found; --- -2.1.4 - diff --git a/0002-units-enable-waiting-for-unit-termination-in-certain.patch b/0002-units-enable-waiting-for-unit-termination-in-certain.patch new file mode 100644 index 00000000..4cad2861 --- /dev/null +++ b/0002-units-enable-waiting-for-unit-termination-in-certain.patch @@ -0,0 +1,140 @@ +From d7f920bfcb0296fed214d4d3a21d64de09a68521 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 1 Sep 2015 17:25:59 +0200 +Subject: [PATCH 2/2] units: enable waiting for unit termination in certain + cases + +The legacy cgroup hierarchy does not support reliable empty +notifications in containers and if there are left-over subgroups in a +cgroup. This makes it hard to correctly wait for them running empty, and +thus we previously disabled this logic entirely. + +With this change we explicitly check for the container case, and whether +the unit is a "delegation" unit (i.e. one where programs may create +their own subgroups). If we are neither in a container, nor operating on +a delegation unit cgroup empty notifications become reliable and thus we +start waiting for the empty notifications again. + +This doesn't really fix the general problem around cgroup notifications +but reduces the effect around it. + +(This also reorders #include lines by their focus, as suggsted in +CODING_STYLE. We have to add "virt.h", so let's do that at the right +place.) + +Also see #317. + +(cherry picked from commit e9db43d5910717a1084924c512bf85e2b8265375) +--- + src/core/cgroup.c | 12 ++++++++++++ + src/core/cgroup.h | 2 ++ + src/core/unit.c | 40 +++++++++++++++++++++++----------------- + 3 files changed, 37 insertions(+), 17 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 6474e08..65af351 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -1127,6 +1127,18 @@ int unit_reset_cpu_usage(Unit *u) { + return 0; + } + ++bool unit_cgroup_delegate(Unit *u) { ++ CGroupContext *c; ++ ++ assert(u); ++ ++ c = unit_get_cgroup_context(u); ++ if (!c) ++ return false; ++ ++ return c->delegate; ++} ++ + static const char* const cgroup_device_policy_table[_CGROUP_DEVICE_POLICY_MAX] = { + [CGROUP_AUTO] = "auto", + [CGROUP_CLOSED] = "closed", +diff --git a/src/core/cgroup.h b/src/core/cgroup.h +index 869ddae..7b38d21 100644 +--- a/src/core/cgroup.h ++++ b/src/core/cgroup.h +@@ -130,5 +130,7 @@ int unit_get_memory_current(Unit *u, uint64_t *ret); + int unit_get_cpu_usage(Unit *u, nsec_t *ret); + int unit_reset_cpu_usage(Unit *u); + ++bool unit_cgroup_delegate(Unit *u); ++ + const char* cgroup_device_policy_to_string(CGroupDevicePolicy i) _const_; + CGroupDevicePolicy cgroup_device_policy_from_string(const char *s) _pure_; +diff --git a/src/core/unit.c b/src/core/unit.c +index dc7bc5a..275f567 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -28,26 +28,28 @@ + #include "sd-id128.h" + #include "sd-messages.h" + #include "set.h" +-#include "unit.h" + #include "macro.h" + #include "strv.h" + #include "path-util.h" +-#include "load-fragment.h" +-#include "load-dropin.h" + #include "log.h" +-#include "unit-name.h" +-#include "dbus-unit.h" +-#include "special.h" + #include "cgroup-util.h" + #include "missing.h" + #include "mkdir.h" + #include "fileio-label.h" ++#include "formats-util.h" ++#include "process-util.h" ++#include "virt.h" + #include "bus-common-errors.h" ++#include "bus-util.h" ++#include "dropin.h" ++#include "unit-name.h" ++#include "special.h" ++#include "unit.h" ++#include "load-fragment.h" ++#include "load-dropin.h" + #include "dbus.h" ++#include "dbus-unit.h" + #include "execute.h" +-#include "dropin.h" +-#include "formats-util.h" +-#include "process-util.h" + + const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX] = { + [UNIT_SERVICE] = &service_vtable, +@@ -3535,14 +3537,18 @@ int unit_kill_context( + } else if (r > 0) { + + /* FIXME: For now, we will not wait for the +- * cgroup members to die, simply because +- * cgroup notification is unreliable. It +- * doesn't work at all in containers, and +- * outside of containers it can be confused +- * easily by leaving directories in the +- * cgroup. */ +- +- /* wait_for_exit = true; */ ++ * cgroup members to die if we are running in ++ * a container or if this is a delegation ++ * unit, simply because cgroup notification is ++ * unreliable in these cases. It doesn't work ++ * at all in containers, and outside of ++ * containers it can be confused easily by ++ * left-over directories in the cgroup -- ++ * which however should not exist in ++ * non-delegated units. */ ++ ++ if (detect_container(NULL) == 0 && !unit_cgroup_delegate(u)) ++ wait_for_exit = true; + + if (c->send_sighup && k != KILL_KILL) { + set_free(pid_set); +-- +2.6.0 + diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index 00577b3d..a8255ab5 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -13,27 +13,27 @@ No word on compression… src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) -Index: systemd-227/src/journal/journald-server.c +Index: systemd-221/src/journal/journald-server.c =================================================================== ---- systemd-227.orig/src/journal/journald-server.c -+++ systemd-227/src/journal/journald-server.c -@@ -24,6 +24,7 @@ - #include - #endif +--- systemd-221.orig/src/journal/journald-server.c ++++ systemd-221/src/journal/journald-server.c +@@ -21,6 +21,7 @@ + + #include #include +#include - #include - #include + #include #include -@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd - dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0); + #include +@@ -918,6 +919,38 @@ finish: + dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); } +/* + * On journaling and/or compressing file systems, avoid doubling the efforts + * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every + * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like Btrfs does). ++ * a single unkown flag (like BtrFS does). + * + * …but src/journal/journal-file.c already sets NOCOW too…⸘ + */ @@ -61,13 +61,12 @@ Index: systemd-227/src/journal/journald-server.c + } + close(fd); +} -+ - void server_dispatch_message( - Server *s, - struct iovec *iovec, unsigned n, unsigned m, -@@ -948,6 +982,7 @@ static int system_journal_open(Server *s - fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s)); + static int system_journal_open(Server *s, bool flush_requested) { + int r; +@@ -947,6 +980,7 @@ static int system_journal_open(Server *s + + fn = strjoina("/var/log/journal/", ids); (void) mkdir(fn, 0755); + disable_cow(fn, s); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index c8ab5fa7..ca3a4b0c 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -12,10 +12,10 @@ shell-completion/bash/udevadm | 6 +++++- 11 files changed, 70 insertions(+), 11 deletions(-) -Index: systemd-228/shell-completion/bash/coredumpctl +Index: systemd-221/shell-completion/bash/coredumpctl =================================================================== ---- systemd-228.orig/shell-completion/bash/coredumpctl -+++ systemd-228/shell-completion/bash/coredumpctl +--- systemd-221.orig/shell-completion/bash/coredumpctl ++++ systemd-221/shell-completion/bash/coredumpctl @@ -44,6 +44,10 @@ _coredumpctl() { [DUMP]='dump gdb' ) @@ -33,10 +33,10 @@ Index: systemd-228/shell-completion/bash/coredumpctl -complete -F _coredumpctl coredumpctl +complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd-228/shell-completion/bash/hostnamectl +Index: systemd-221/shell-completion/bash/hostnamectl =================================================================== ---- systemd-228.orig/shell-completion/bash/hostnamectl -+++ systemd-228/shell-completion/bash/hostnamectl +--- systemd-221.orig/shell-completion/bash/hostnamectl ++++ systemd-221/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty --no-ask-password -H --host --machine' @@ -54,12 +54,12 @@ Index: systemd-228/shell-completion/bash/hostnamectl -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd-228/shell-completion/bash/journalctl +Index: systemd-221/shell-completion/bash/journalctl =================================================================== ---- systemd-228.orig/shell-completion/bash/journalctl -+++ systemd-228/shell-completion/bash/journalctl -@@ -56,6 +56,10 @@ _journalctl() { - --root -M --machine' +--- systemd-221.orig/shell-completion/bash/journalctl ++++ systemd-221/shell-completion/bash/journalctl +@@ -55,6 +55,10 @@ _journalctl() { + --root --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -69,16 +69,16 @@ Index: systemd-228/shell-completion/bash/journalctl if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in --boot|--this-boot|-b) -@@ -121,4 +125,4 @@ _journalctl() { +@@ -120,4 +124,4 @@ _journalctl() { fi } -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd-228/shell-completion/bash/kernel-install +Index: systemd-221/shell-completion/bash/kernel-install =================================================================== ---- systemd-228.orig/shell-completion/bash/kernel-install -+++ systemd-228/shell-completion/bash/kernel-install +--- systemd-221.orig/shell-completion/bash/kernel-install ++++ systemd-221/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -108,10 +108,10 @@ Index: systemd-228/shell-completion/bash/kernel-install -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd-228/shell-completion/bash/localectl +Index: systemd-221/shell-completion/bash/localectl =================================================================== ---- systemd-228.orig/shell-completion/bash/localectl -+++ systemd-228/shell-completion/bash/localectl +--- systemd-221.orig/shell-completion/bash/localectl ++++ systemd-221/shell-completion/bash/localectl @@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password -H --host --machine' @@ -129,10 +129,10 @@ Index: systemd-228/shell-completion/bash/localectl -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl -Index: systemd-228/shell-completion/bash/loginctl +Index: systemd-221/shell-completion/bash/loginctl =================================================================== ---- systemd-228.orig/shell-completion/bash/loginctl -+++ systemd-228/shell-completion/bash/loginctl +--- systemd-221.orig/shell-completion/bash/loginctl ++++ systemd-221/shell-completion/bash/loginctl @@ -38,6 +38,10 @@ _loginctl () { [ARG]='--host -H --kill-who --property -p --signal -s --machine' ) @@ -150,12 +150,12 @@ Index: systemd-228/shell-completion/bash/loginctl -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd-228/shell-completion/bash/systemctl.in +Index: systemd-221/shell-completion/bash/systemctl.in =================================================================== ---- systemd-228.orig/shell-completion/bash/systemctl.in -+++ systemd-228/shell-completion/bash/systemctl.in -@@ -104,6 +104,10 @@ _systemctl () { - --preset-mode -n --lines -o --output -M --machine' +--- systemd-221.orig/shell-completion/bash/systemctl.in ++++ systemd-221/shell-completion/bash/systemctl.in +@@ -96,6 +96,10 @@ _systemctl () { + [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --job-mode --root' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -164,17 +164,17 @@ Index: systemd-228/shell-completion/bash/systemctl.in + if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user - elif __contains_word "--global" ${COMP_WORDS[*]}; then -@@ -280,4 +284,4 @@ _systemctl () { + else +@@ -268,4 +272,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd-228/shell-completion/bash/systemd-analyze +Index: systemd-221/shell-completion/bash/systemd-analyze =================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-analyze -+++ systemd-228/shell-completion/bash/systemd-analyze +--- systemd-221.orig/shell-completion/bash/systemd-analyze ++++ systemd-221/shell-completion/bash/systemd-analyze @@ -47,6 +47,10 @@ _systemd_analyze() { [VERIFY]='verify' ) @@ -192,10 +192,10 @@ Index: systemd-228/shell-completion/bash/systemd-analyze -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd-228/shell-completion/bash/systemd-run +Index: systemd-221/shell-completion/bash/systemd-run =================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-run -+++ systemd-228/shell-completion/bash/systemd-run +--- systemd-221.orig/shell-completion/bash/systemd-run ++++ systemd-221/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -210,7 +210,7 @@ Index: systemd-228/shell-completion/bash/systemd-run __systemctl() { local mode=$1; shift 1 systemctl $mode --full --no-legend "$@" -@@ -40,6 +47,11 @@ _systemd_run() { +@@ -38,6 +45,11 @@ _systemd_run() { local mode=--system local i @@ -219,19 +219,19 @@ Index: systemd-228/shell-completion/bash/systemd-run + return 0 + fi + - local opts_with_values=( - --unit --description --slice --service-type -H --host -M --machine -p --property --on-active - --on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property -@@ -114,4 +126,4 @@ _systemd_run() { + for (( i=1; i <= COMP_CWORD; i++ )); do + if [[ ${COMP_WORDS[i]} != -* ]]; then + local root_command=${COMP_WORDS[i]} +@@ -98,4 +110,4 @@ _systemd_run() { return 0 } -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd-228/shell-completion/bash/timedatectl +Index: systemd-221/shell-completion/bash/timedatectl =================================================================== ---- systemd-228.orig/shell-completion/bash/timedatectl -+++ systemd-228/shell-completion/bash/timedatectl +--- systemd-221.orig/shell-completion/bash/timedatectl ++++ systemd-221/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager --no-ask-password -H --host --machine' @@ -249,10 +249,10 @@ Index: systemd-228/shell-completion/bash/timedatectl -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd-228/shell-completion/bash/udevadm +Index: systemd-221/shell-completion/bash/udevadm =================================================================== ---- systemd-228.orig/shell-completion/bash/udevadm -+++ systemd-228/shell-completion/bash/udevadm +--- systemd-221.orig/shell-completion/bash/udevadm ++++ systemd-221/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch new file mode 100644 index 00000000..5520c601 --- /dev/null +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -0,0 +1,99 @@ +From 5cf46aa4339670afac386b1b0e630b739f3621c7 Mon Sep 17 00:00:00 2001 +From: Robert Milasan +Date: Thu, 12 Jul 2012 15:56:34 +0000 +Subject: [PATCH] Persistent by_path links for ata devices + +With newer kernel we have the 'port_no' attribute, +which allows us to construct a valid ata by-path link. + +With this patch ATA links of the form + +ata-.[01] + +(for master/slave devices) or + +ata-..0 + +(for devices behind port multipliers) +are generated. + +References: bnc#770910,FATE#317063 + +Signed-off-by: Robert Milasan +Signed-off-by: Hannes Reinecke +--- + src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- + 1 file changed, 41 insertions(+), 12 deletions(-) + +Index: systemd-221/src/udev/udev-builtin-path_id.c +=================================================================== +--- systemd-221.orig/src/udev/udev-builtin-path_id.c ++++ systemd-221/src/udev/udev-builtin-path_id.c +@@ -447,6 +447,46 @@ static struct udev_device *handle_scsi_h + return parent; + } + ++static struct udev_device *handle_ata(struct udev_device *parent, char **path) ++{ ++ struct udev *udev = udev_device_get_udev(parent); ++ struct udev_device *hostdev, *portdev; ++ int host, bus, target, lun, port_no; ++ const char *name, *atahost, *port; ++ ++ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); ++ if (hostdev == NULL) ++ return NULL; ++ ++ name = udev_device_get_sysname(parent); ++ if (sscanf(name, "%d:%d:%d:%d", &host, &bus, &target, &lun) != 4) ++ return NULL; ++ ++ /* The ata port is the parent of the SCSI host */ ++ hostdev = udev_device_get_parent(hostdev); ++ atahost = udev_device_get_sysname(hostdev); ++ if (strncmp(atahost, "ata", 3)) ++ return NULL; ++ ++ /* ATA port number is found in 'port_no' attribute */ ++ portdev = udev_device_new_from_subsystem_sysname(udev, "ata_port", ++ atahost); ++ port = udev_device_get_sysattr_value(portdev, "port_no"); ++ if (!port || sscanf(port, "%d", &port_no) != 1) { ++ hostdev = NULL; ++ goto out; ++ } ++ if (bus != 0) ++ /* Devices behind port multiplier have a bus != 0*/ ++ path_prepend(path, "ata-%u.%u.0", port_no, bus); ++ else ++ /* Master/slave are distinguished by target id */ ++ path_prepend(path, "ata-%u.%u", port_no, target); ++out: ++ udev_device_unref(portdev); ++ return hostdev; ++} ++ + static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { + const char *devtype; + const char *name; +@@ -486,19 +526,8 @@ static struct udev_device *handle_scsi(s + goto out; + } + +- /* +- * We do not support the ATA transport class, it uses global counters +- * to name the ata devices which numbers spread across multiple +- * controllers. +- * +- * The real link numbers are not exported. Also, possible chains of ports +- * behind port multipliers cannot be composed that way. +- * +- * Until all that is solved at the kernel level, there are no by-path/ +- * links for ATA devices. +- */ + if (strstr(name, "/ata") != NULL) { +- parent = NULL; ++ parent = handle_ata(parent, path); + goto out; + } + diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index f71c96a4..6693d757 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -2,11 +2,11 @@ src/udev/udevd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-227/src/udev/udevd.c +Index: systemd-221/src/udev/udevd.c =================================================================== ---- systemd-227.orig/src/udev/udevd.c -+++ systemd-227/src/udev/udevd.c -@@ -568,7 +568,7 @@ static void event_run(Manager *manager, +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -569,7 +569,7 @@ static void event_run(Manager *manager, if (hashmap_size(manager->workers) >= arg_children_max) { if (arg_children_max > 1) @@ -15,12 +15,12 @@ Index: systemd-227/src/udev/udevd.c return; } -@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) { +@@ -1641,7 +1641,7 @@ int main(int argc, char *argv[]) { arg_children_max = 8; - if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) + if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { - arg_children_max += CPU_COUNT(&cpu_set) * 2; + arg_children_max += CPU_COUNT(&cpu_set) * 64; + } log_debug("set children_max to %u", arg_children_max); - } diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch index 43e686ca..535170b4 100644 --- a/Correct_assert_on_unexpected_error_code.patch +++ b/Correct_assert_on_unexpected_error_code.patch @@ -2,12 +2,10 @@ src/login/pam_systemd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -Index: systemd-228/src/login/pam_systemd.c -=================================================================== ---- systemd-228.orig/src/login/pam_systemd.c -+++ systemd-228/src/login/pam_systemd.c -@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL); +--- src/login/pam_systemd.c ++++ src/login/pam_systemd.c 2015-07-29 08:52:20.762018565 +0000 +@@ -507,7 +507,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess + r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); if (r != PAM_SUCCESS) { pam_syslog(handle, LOG_ERR, "Failed to install session fd."); - safe_close(session_fd); diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch index 60e42c9e..8a8c3caa 100644 --- a/avoid-divide-by-zero-sigtrap.patch +++ b/avoid-divide-by-zero-sigtrap.patch @@ -1,28 +1,28 @@ -Nasty bug reported on boo#867663 +Nasty bug reported on bnc#867663 --- src/basic/def.h | 2 +- src/core/manager.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) -Index: systemd-228/src/basic/def.h +Index: systemd-221/src/basic/def.h =================================================================== ---- systemd-228.orig/src/basic/def.h -+++ systemd-228/src/basic/def.h -@@ -40,7 +40,7 @@ +--- systemd-221.orig/src/basic/def.h ++++ systemd-221/src/basic/def.h +@@ -37,7 +37,7 @@ - #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" + #define SYSTEMD_CGROUP_CONTROLLER "systemd" -#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT +#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS #define SIGNALS_IGNORE SIGPIPE - #define REBOOT_PARAM_FILE "/run/systemd/reboot-param" -Index: systemd-228/src/core/manager.c + #define DIGITS "0123456789" +Index: systemd-221/src/core/manager.c =================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -1991,7 +1991,8 @@ static int manager_dispatch_jobs_in_prog assert(m); assert(source); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index d7c4477f..865322fb 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -9,20 +9,20 @@ Date: Fri Jun 19 21:36:27 CEST 2015 src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 147 insertions(+), 4 deletions(-) -Index: systemd-228/src/vconsole/vconsole-setup.c +Index: systemd-221/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -34,6 +34,8 @@ - #include "alloc-util.h" - #include "fd-util.h" +--- systemd-221.orig/src/vconsole/vconsole-setup.c ++++ systemd-221/src/vconsole/vconsole-setup.c +@@ -35,6 +35,8 @@ + #include "log.h" + #include "virt.h" #include "fileio.h" +#include "macro.h" +#include "strv.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -104,8 +106,10 @@ static int enable_utf8(int fd) { + #include "process-util.h" + #include "terminal-util.h" + #include "signal-util.h" +@@ -99,8 +101,10 @@ static int enable_utf8(int fd) { return r; } @@ -35,7 +35,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c int i = 0, r; pid_t pid; -@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const +@@ -117,6 +121,8 @@ static int keyboard_load_and_wait(const args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -44,7 +44,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd) +@@ -246,11 +252,117 @@ static void font_copy_to_all_vcs(int fd) } } @@ -162,7 +162,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c _cleanup_close_ int fd = -1; bool utf8, font_copy = false, font_ok, keyboard_ok; int r = EXIT_FAILURE; -@@ -286,6 +398,31 @@ int main(int argc, char **argv) { +@@ -281,6 +393,31 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -194,7 +194,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -317,11 +454,17 @@ int main(int argc, char **argv) { +@@ -312,11 +449,17 @@ int main(int argc, char **argv) { (void) disable_utf8(fd); font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 18fd4f61..db480a34 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -9,16 +9,14 @@ Cristian Rodríguez --- Makefile.am | 13 ++++++++++ rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 ++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++-- + src/login/numlock-on.c | 34 +++++++++++++++++++++++++++ + src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++-- units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 95 insertions(+), 3 deletions(-) + 5 files changed, 94 insertions(+), 3 deletions(-) -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \ +--- systemd-222.orig/Makefile.am ++++ systemd-222/Makefile.am +@@ -3805,6 +3805,19 @@ dist_udevrules_DATA += \ rules/60-persistent-v4l.rules # ------------------------------------------------------------------------------ @@ -38,10 +36,8 @@ Index: systemd-228/Makefile.am mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.c \ src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-228/rules/73-seat-numlock.rules -=================================================================== --- /dev/null -+++ systemd-228/rules/73-seat-numlock.rules ++++ systemd-222/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -51,10 +47,8 @@ Index: systemd-228/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-228/src/login/numlock-on.c -=================================================================== --- /dev/null -+++ systemd-228/src/login/numlock-on.c ++++ systemd-222/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -90,21 +84,11 @@ Index: systemd-228/src/login/numlock-on.c + + exit(0); +} -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -36,6 +36,7 @@ - #include "fileio.h" - #include "macro.h" - #include "strv.h" -+#include "fs-util.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -46,6 +47,10 @@ - #include "util.h" - #include "virt.h" +--- systemd-222.orig/src/vconsole/vconsole-setup.c ++++ systemd-222/src/vconsole/vconsole-setup.c +@@ -41,6 +41,10 @@ + #include "terminal-util.h" + #include "signal-util.h" +#define BIOS_DATA_AREA 0x400 +#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 @@ -113,7 +97,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -364,9 +369,10 @@ int main(int argc, char **argv) { +@@ -359,9 +363,10 @@ int main(int argc, char **argv) { #ifdef HAVE_SYSV_COMPAT _cleanup_free_ char *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, @@ -126,7 +110,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; bool utf8, font_copy = false, font_ok, keyboard_ok; -@@ -404,6 +410,7 @@ int main(int argc, char **argv) { +@@ -399,6 +404,7 @@ int main(int argc, char **argv) { "KBD_DELAY", &vc_kbd_delay, "KBD_RATE", &vc_kbd_rate, "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, @@ -134,7 +118,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -421,6 +428,32 @@ int main(int argc, char **argv) { +@@ -416,6 +422,32 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -167,7 +151,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +489,10 @@ int main(int argc, char **argv) { +@@ -451,6 +483,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; @@ -178,10 +162,8 @@ Index: systemd-228/src/vconsole/vconsole-setup.c #ifdef HAVE_SYSV_COMPAT comp_ok = compose_load_and_wait(vc, vc_compose_table); rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -Index: systemd-228/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-228.orig/units/systemd-vconsole-setup.service.in -+++ systemd-228/units/systemd-vconsole-setup.service.in +--- systemd-222.orig/units/systemd-vconsole-setup.service.in ++++ systemd-222/units/systemd-vconsole-setup.service.in @@ -10,7 +10,7 @@ Description=Setup Virtual Console Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index 118f333d..520c7bbe 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -2,22 +2,16 @@ From: Frederic Crozat Date: Tue, 4 Dec 2012 16:51:32 +0000 Subject: handle root_uses_lang value in /etc/sysconfig/language -handle ROOT_USES_LANG=ctype (boo#792182). +handle ROOT_USES_LANG=ctype (bnc#792182). --- - src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) + src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) -Index: systemd-228/src/core/locale-setup.c +Index: systemd-221/src/core/locale-setup.c =================================================================== ---- systemd-228.orig/src/core/locale-setup.c -+++ systemd-228/src/core/locale-setup.c -@@ -30,11 +30,16 @@ - #include "strv.h" - #include "util.h" - #include "virt.h" -+#include "alloc-util.h" - - int locale_setup(char ***environment) { +--- systemd-221.orig/src/core/locale-setup.c ++++ systemd-221/src/core/locale-setup.c +@@ -34,6 +34,10 @@ int locale_setup(char ***environment) { char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; @@ -26,9 +20,9 @@ Index: systemd-228/src/core/locale-setup.c + char _cleanup_free_ *root_uses_lang = NULL; +#endif - if (detect_container() <= 0) { + if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -81,6 +86,41 @@ int locale_setup(char ***environment) { +@@ -80,6 +85,41 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } diff --git a/insserv-generator.patch b/insserv-generator.patch index 833d0d66..9e5afdbc 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -8,16 +8,16 @@ systemd unit drop-in files to add dependencies --- Makefile.am | 9 src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++ - 3 files changed, 355 insertions(+), 1 deletion(-) + src/insserv-generator/insserv-generator.c | 316 ++++++++++++++++++++++++++++++ + 3 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd-228/Makefile.am +Index: systemd-224/Makefile.am =================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \ +--- systemd-224.orig/Makefile.am ++++ systemd-224/Makefile.am +@@ -617,7 +617,8 @@ nodist_systemunit_DATA += \ systemgenerator_PROGRAMS += \ systemd-sysv-generator \ @@ -27,7 +27,7 @@ Index: systemd-228/Makefile.am endif EXTRA_DIST += \ -@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib) +@@ -2556,6 +2557,12 @@ $(systemd_boot): $(systemd_boot_solib) endif endif @@ -40,10 +40,10 @@ Index: systemd-228/Makefile.am # ------------------------------------------------------------------------------ stub_headers = \ src/boot/efi/util.h \ -Index: systemd-228/src/insserv-generator/Makefile +Index: systemd-224/src/insserv-generator/Makefile =================================================================== --- /dev/null -+++ systemd-228/src/insserv-generator/Makefile ++++ systemd-224/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,11 +73,11 @@ Index: systemd-228/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd-228/src/insserv-generator/insserv-generator.c +Index: systemd-224/src/insserv-generator/insserv-generator.c =================================================================== --- /dev/null -+++ systemd-228/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,319 @@ ++++ systemd-224/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,316 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -112,9 +112,6 @@ Index: systemd-228/src/insserv-generator/insserv-generator.c +#include "path-util.h" +#include "util.h" +#include "strv.h" -+#include "alloc-util.h" -+#include "string-util.h" -+#include "fd-util.h" + +static const char *arg_dest = "/tmp"; + diff --git a/macros.systemd.upstream b/macros.systemd.upstream index 2ba0ff05..8c2e84f6 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -1,4 +1,4 @@ -# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ +# -*- Mode: makefile; indent-tabs-mode: t -*- */ # # This file is part of systemd. # @@ -39,7 +39,7 @@ Requires(postun): systemd \ %systemd_post() \ if [ $1 -eq 1 ] ; then \ # Initial installation \ - systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \ + systemctl preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} @@ -48,7 +48,8 @@ fi \ %systemd_preun() \ if [ $1 -eq 0 ] ; then \ # Package removal, not upgrade \ - systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \ + systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + systemctl stop %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} @@ -59,11 +60,14 @@ if [ $1 -eq 0 ] ; then \ fi \ %{nil} -%systemd_postun() %{nil} +%systemd_postun() \ +systemctl daemon-reload >/dev/null 2>&1 || : \ +%{nil} %systemd_user_postun() %{nil} %systemd_postun_with_restart() \ +systemctl daemon-reload >/dev/null 2>&1 || : \ if [ $1 -ge 1 ] ; then \ # Package upgrade, not uninstall \ systemctl try-restart %{?*} >/dev/null 2>&1 || : \ diff --git a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch new file mode 100644 index 00000000..b6859af1 --- /dev/null +++ b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -0,0 +1,18 @@ +From: Robert Schweikert +Date: Fri, 12 Apr 2013 12:08:16 -0400 +Subject: rules: add lid switch of ARM based Chromebook as a power switch to + logind + +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +--- a/src/login/70-power-switch.rules ++++ b/src/login/70-power-switch.rules +@@ -11,5 +11,6 @@ SUBSYSTEM=="input", KERNEL=="event*", SU + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="gpio-keys.8", TAG+="power-switch" + + LABEL="power_switch_end" diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index e6474d8d..c00f8623 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -3,29 +3,29 @@ Use and set default logging console for both journald and kernel messages --- src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ src/journal/journald-console.h | 3 + - src/journal/journald-server.c | 5 ++ - 3 files changed, 108 insertions(+) + src/journal/journald-server.c | 6 ++ + 3 files changed, 109 insertions(+) -Index: systemd-228/src/journal/journald-console.c +Index: systemd-221/src/journal/journald-console.c =================================================================== ---- systemd-228.orig/src/journal/journald-console.c -+++ systemd-228/src/journal/journald-console.c +--- systemd-221.orig/src/journal/journald-console.c ++++ systemd-221/src/journal/journald-console.c @@ -22,6 +22,14 @@ + #include #include #include - #include +#ifdef HAVE_SYSV_COMPAT -+# include -+# include -+# include -+# include -+# include -+# include "string-util.h" ++# include ++# include ++# include ++# include ++# include ++# include "util.h" +#endif - #include "alloc-util.h" - #include "fd-util.h" -@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) { + #include "fileio.h" + #include "journald-server.h" +@@ -45,6 +53,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } @@ -102,7 +102,7 @@ Index: systemd-228/src/journal/journald-console.c void server_forward_console( Server *s, int priority, -@@ -71,6 +149,12 @@ void server_forward_console( +@@ -66,6 +144,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; @@ -115,10 +115,10 @@ Index: systemd-228/src/journal/journald-console.c /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -107,7 +191,23 @@ void server_forward_console( +@@ -102,7 +186,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { - log_debug_errno(fd, "Failed to open %s for logging: %m", tty); + log_debug_errno(errno, "Failed to open %s for logging: %m", tty); +#ifdef HAVE_SYSV_COMPAT + if (fd != -ENOENT && fd != -ENODEV) + return; @@ -139,10 +139,10 @@ Index: systemd-228/src/journal/journald-console.c } if (writev(fd, iovec, n) < 0) -Index: systemd-228/src/journal/journald-console.h +Index: systemd-221/src/journal/journald-console.h =================================================================== ---- systemd-228.orig/src/journal/journald-console.h -+++ systemd-228/src/journal/journald-console.h +--- systemd-221.orig/src/journal/journald-console.h ++++ systemd-221/src/journal/journald-console.h @@ -24,3 +24,6 @@ #include "journald-server.h" @@ -150,19 +150,19 @@ Index: systemd-228/src/journal/journald-console.h + +void klogconsole(Server *s); +void default_tty_path(Server *s); -Index: systemd-228/src/journal/journald-server.c +Index: systemd-221/src/journal/journald-server.c =================================================================== ---- systemd-228.orig/src/journal/journald-server.c -+++ systemd-228/src/journal/journald-server.c -@@ -55,6 +55,7 @@ - #include "journald-audit.h" - #include "journald-kmsg.h" - #include "journald-native.h" +--- systemd-221.orig/src/journal/journald-server.c ++++ systemd-221/src/journal/journald-server.c +@@ -52,6 +52,7 @@ + #include "journal-internal.h" + #include "journal-vacuum.h" + #include "journal-authenticate.h" +#include "journald-console.h" #include "journald-rate-limit.h" - #include "journald-server.h" - #include "journald-stream.h" -@@ -1751,6 +1752,10 @@ int server_init(Server *s) { + #include "journald-kmsg.h" + #include "journald-syslog.h" +@@ -1514,6 +1515,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); @@ -170,6 +170,7 @@ Index: systemd-228/src/journal/journald-server.c + + if (s->tty_path) + klogconsole(s); - ++ if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", + s->rate_limit_interval, s->rate_limit_burst); diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff index ce772aac..45253b12 100644 --- a/suse-sysv-bootd-support.diff +++ b/suse-sysv-bootd-support.diff @@ -7,14 +7,12 @@ This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. [Implementation note: currently, the unit is generated, but not activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] --- - src/sysv-generator/sysv-generator.c | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) + src/sysv-generator/sysv-generator.c | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) -Index: systemd-228/src/sysv-generator/sysv-generator.c -=================================================================== ---- systemd-228.orig/src/sysv-generator/sysv-generator.c -+++ systemd-228/src/sysv-generator/sysv-generator.c -@@ -46,7 +46,8 @@ +--- systemd-222.orig/src/sysv-generator/sysv-generator.c ++++ systemd-222/src/sysv-generator/sysv-generator.c +@@ -39,7 +39,8 @@ typedef enum RunlevelType { RUNLEVEL_UP, @@ -24,7 +22,7 @@ Index: systemd-228/src/sysv-generator/sysv-generator.c } RunlevelType; static const struct { -@@ -54,6 +55,9 @@ static const struct { +@@ -47,6 +48,9 @@ static const struct { const char *target; const RunlevelType type; } rcnd_table[] = { @@ -34,7 +32,7 @@ Index: systemd-228/src/sysv-generator/sysv-generator.c /* Standard SysV runlevels for start-up */ { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, -@@ -69,10 +73,10 @@ static const struct { +@@ -62,10 +66,10 @@ static const struct { directories in this order, and we want to make sure that sysv_start_priority is known when we first load the unit. And that value we only know from S links. Hence @@ -47,7 +45,7 @@ Index: systemd-228/src/sysv-generator/sysv-generator.c typedef struct SysvStub { char *name; -@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c +@@ -243,6 +247,10 @@ static char *sysv_translate_name(const c _cleanup_free_ char *c = NULL; char *res; @@ -58,18 +56,21 @@ Index: systemd-228/src/sysv-generator/sysv-generator.c c = strdup(name); if (!c) return NULL; -@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co +@@ -859,10 +867,10 @@ static int set_dependencies_from_rcnd(co if (de->d_name[0] == 'S') { -- if (rcnd_table[i].type == RUNLEVEL_UP) +- if (rcnd_table[i].type == RUNLEVEL_UP) { + if (rcnd_table[i].type == RUNLEVEL_UP || + rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority); + service->sysv_start_priority = + MAX(a*10 + b, service->sysv_start_priority); +- } r = set_ensure_allocated(&runlevel_services[i], NULL); -@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co - } + if (r < 0) +@@ -873,7 +881,8 @@ static int set_dependencies_from_rcnd(co + goto finish; } else if (de->d_name[0] == 'K' && - (rcnd_table[i].type == RUNLEVEL_DOWN)) { @@ -77,4 +78,4 @@ Index: systemd-228/src/sysv-generator/sysv-generator.c + rcnd_table[i].type == RUNLEVEL_SYSINIT)) { r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) { + if (r < 0) diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index bc7985dc..a67fa47f 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,35 +1,35 @@ --- man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------ - 2 files changed, 43 insertions(+), 6 deletions(-) + src/tmpfiles/tmpfiles.c | 47 ++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 43 insertions(+), 7 deletions(-) -Index: systemd-228/man/tmpfiles.d.xml +Index: systemd-221/man/tmpfiles.d.xml =================================================================== ---- systemd-228.orig/man/tmpfiles.d.xml -+++ systemd-228/man/tmpfiles.d.xml -@@ -599,6 +599,9 @@ +--- systemd-221.orig/man/tmpfiles.d.xml ++++ systemd-221/man/tmpfiles.d.xml +@@ -528,6 +528,9 @@ f, F, and - w, the argument may be used to specify a short string that + w may be used to specify a short string that is written to the file, suffixed by a newline. For + x, X, a comma separated list of + usernames. If given, only paths belonging to these users will be excluded + during directory cleanup. Ignored for all other lines. For C, specifies the source file or - directory. For t and T, + directory. For t, T determines extended attributes to be set. For -Index: systemd-228/src/tmpfiles/tmpfiles.c +Index: systemd-221/src/tmpfiles/tmpfiles.c =================================================================== ---- systemd-228.orig/src/tmpfiles/tmpfiles.c -+++ systemd-228/src/tmpfiles/tmpfiles.c +--- systemd-221.orig/src/tmpfiles/tmpfiles.c ++++ systemd-221/src/tmpfiles/tmpfiles.c @@ -37,6 +37,7 @@ + #include #include - #include - #include + #include +#include - #include "acl-util.h" - #include "alloc-util.h" -@@ -378,6 +379,7 @@ static int dir_cleanup( + #include "log.h" + #include "util.h" +@@ -358,6 +359,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -37,7 +37,7 @@ Index: systemd-228/src/tmpfiles/tmpfiles.c while ((dent = readdir(d))) { struct stat s; -@@ -428,14 +430,46 @@ static int dir_cleanup( +@@ -408,14 +410,45 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ @@ -50,7 +50,7 @@ Index: systemd-228/src/tmpfiles/tmpfiles.c + found_glob = true; + found = find_glob(globs, sub_path); } - +- - if (find_glob(globs, sub_path)) { - log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); - continue; diff --git a/systemd-mini.changes b/systemd-mini.changes index a7adef16..4724b61e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,59 +1,3 @@ -------------------------------------------------------------------- -Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com - -- Make sure we don't use tmpfs on /tmp by default (bsc#940522) - -------------------------------------------------------------------- -Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - -- Avoid enabling readahead services; they have been removed. -- In %install, only process kbd-model-map.xkb-generated if it - exists. Resolves a build failure in 13.2/42.1. - -------------------------------------------------------------------- -Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com - -- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) - Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -------------------------------------------------------------------- -Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 228 -* The various memory-related resource limit settings (such as - LimitAS=) now understand the usual K, M, G, ... suffixes to - the base of 1024 (IEC). Similar, the time-related settings - understand the usual min, h, day, ... suffixes now. -* CPUAffinity= now takes CPU index ranges in addition to just - individual indexes. -* A number of properties previously only settable in unit - files are now also available as properties to set when - creating transient units programmatically via the bus. -- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - (merged upstream) - -------------------------------------------------------------------- -Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru - -- Update to 227. -- Rebase systemd-pam_config.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, - 0014-journald-with-journaling-FS.patch, - 0019-make-completion-smart-to-be-able-to-redirect.patch, - avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, - set-and-use-default-logconsole.patch, - tty-ask-password-agent-on-console.patch, - 0001-bnc888612-logind-polkit-acpi.patch, - watch_resolv.conf_for_become_changed.patch, - 1097-udevd-increase-maximum-number-of-children.patch. -- Remove - 0002-units-enable-waiting-for-unit-termination-in-certain.patch, - 1001-re-enable-by_path-links-for-ata-devices.patch, - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: - fixed upstream. - ------------------------------------------------------------------- Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 28262652..84245e76 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -42,7 +42,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 224 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -112,7 +112,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.27 +Requires: util-linux >= 2.26 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -176,10 +176,16 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind +Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +# PATCH-FIX-UPSTREAM (boo#949574) +Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch +# PATCH-FIX-UPSTREAM (bsc#932284) +Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -245,8 +251,6 @@ Patch521: kbd-model-map.patch Patch522: Correct_assert_on_unexpected_error_code.patch # PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # UDEV PATCHES # ============ @@ -256,6 +260,8 @@ Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # as it's not changing the code of udev and libudev, then is not a udev # patch. Further patches which add and/or changes udev rules. +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch @@ -551,6 +557,8 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 +%patch87 -p1 +%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -579,14 +587,17 @@ cp %{SOURCE7} m4/ %patch386 -p1 %patch430 -p1 %patch475 -p1 +%ifarch %arm +%patch38 -p1 +%endif %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p1 +%patch522 -p0 %patch523 -p0 -%patch524 -p1 # udev patches +%patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 @@ -715,7 +726,7 @@ make %{?_smp_mflags} update-man-list man %endif %install -%make_install +make install DESTDIR="%buildroot" install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} @@ -756,11 +767,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. +# don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -891,10 +899,8 @@ done # add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" -fi +cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >> %{buildroot}//usr/share/systemd/kbd-model-map %find_lang systemd @@ -950,13 +956,12 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done + # Enable these services by default. + /usr/bin/systemctl enable \ + getty@tty1.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target || : fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -971,16 +976,6 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 7850822e..469004d3 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -1,32 +1,16 @@ -Index: systemd-227/factory/etc/pam.d/other +--- + src/login/systemd-user | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: systemd-221/src/login/systemd-user =================================================================== ---- systemd-227.orig/factory/etc/pam.d/other -+++ systemd-227/factory/etc/pam.d/other -@@ -1,6 +1,6 @@ - # This file is part of systemd. - --auth include system-auth --account include system-auth --password include system-auth --session include system-auth -+auth include common-auth -+account include common-account -+password include common-password -+session include common-session -Index: systemd-227/src/login/systemd-user.m4 -=================================================================== ---- systemd-227.orig/src/login/systemd-user.m4 -+++ systemd-227/src/login/systemd-user.m4 -@@ -2,10 +2,10 @@ +--- systemd-221.orig/src/login/systemd-user ++++ systemd-221/src/login/systemd-user +@@ -2,5 +2,5 @@ # # Used by systemd --user instances. -account include system-auth -+account include common-account - - m4_ifdef(`HAVE_SELINUX', - session required pam_selinux.so close - session required pam_selinux.so nottys open - )m4_dnl -session include system-auth ++account include common-account +session include common-session diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index 1233b3b2..e114231e 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -8,19 +8,19 @@ SUSE policy is to not clean /tmp by default. tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: systemd-228/tmpfiles.d/tmp.conf +Index: systemd-221/tmpfiles.d/tmp.conf =================================================================== ---- systemd-228.orig/tmpfiles.d/tmp.conf -+++ systemd-228/tmpfiles.d/tmp.conf +--- systemd-221.orig/tmpfiles.d/tmp.conf ++++ systemd-221/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override --q /tmp 1777 root root 10d --q /var/tmp 1777 root root 30d -+# SUSE policy: we do not clean these directories -+q /tmp 1777 root root - -+q /var/tmp 1777 root root - +-v /tmp 1777 root root 10d +-v /var/tmp 1777 root root 30d ++# SUSE policy: we don't clean those directories ++v /tmp 1777 root root - ++v /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index a7adef16..4724b61e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,59 +1,3 @@ -------------------------------------------------------------------- -Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com - -- Make sure we don't use tmpfs on /tmp by default (bsc#940522) - -------------------------------------------------------------------- -Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - -- Avoid enabling readahead services; they have been removed. -- In %install, only process kbd-model-map.xkb-generated if it - exists. Resolves a build failure in 13.2/42.1. - -------------------------------------------------------------------- -Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com - -- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) - Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -------------------------------------------------------------------- -Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 228 -* The various memory-related resource limit settings (such as - LimitAS=) now understand the usual K, M, G, ... suffixes to - the base of 1024 (IEC). Similar, the time-related settings - understand the usual min, h, day, ... suffixes now. -* CPUAffinity= now takes CPU index ranges in addition to just - individual indexes. -* A number of properties previously only settable in unit - files are now also available as properties to set when - creating transient units programmatically via the bus. -- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - (merged upstream) - -------------------------------------------------------------------- -Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru - -- Update to 227. -- Rebase systemd-pam_config.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, - 0014-journald-with-journaling-FS.patch, - 0019-make-completion-smart-to-be-able-to-redirect.patch, - avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, - set-and-use-default-logconsole.patch, - tty-ask-password-agent-on-console.patch, - 0001-bnc888612-logind-polkit-acpi.patch, - watch_resolv.conf_for_become_changed.patch, - 1097-udevd-increase-maximum-number-of-children.patch. -- Remove - 0002-units-enable-waiting-for-unit-termination-in-certain.patch, - 1001-re-enable-by_path-links-for-ata-devices.patch, - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: - fixed upstream. - ------------------------------------------------------------------- Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index e3224592..674e6fc6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -40,7 +40,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 224 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -107,7 +107,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.27 +Requires: util-linux >= 2.26 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -171,10 +171,16 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. +# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind +Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +# PATCH-FIX-UPSTREAM (boo#949574) +Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch +# PATCH-FIX-UPSTREAM (bsc#932284) +Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -240,8 +246,6 @@ Patch521: kbd-model-map.patch Patch522: Correct_assert_on_unexpected_error_code.patch # PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # UDEV PATCHES # ============ @@ -251,6 +255,8 @@ Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # as it's not changing the code of udev and libudev, then is not a udev # patch. Further patches which add and/or changes udev rules. +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch @@ -546,6 +552,8 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 +%patch87 -p1 +%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -574,14 +582,17 @@ cp %{SOURCE7} m4/ %patch386 -p1 %patch430 -p1 %patch475 -p1 +%ifarch %arm +%patch38 -p1 +%endif %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p1 +%patch522 -p0 %patch523 -p0 -%patch524 -p1 # udev patches +%patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 @@ -710,7 +721,7 @@ make %{?_smp_mflags} update-man-list man %endif %install -%make_install +make install DESTDIR="%buildroot" install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} @@ -751,11 +762,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. +# don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -886,10 +894,8 @@ done # add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" -fi +cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >> %{buildroot}//usr/share/systemd/kbd-model-map %find_lang systemd @@ -945,13 +951,12 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done + # Enable these services by default. + /usr/bin/systemctl enable \ + getty@tty1.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target || : fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -966,16 +971,6 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index f96fc24b..9490adc2 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -26,13 +26,13 @@ Spwan for each device of the system console /dev/console a own process. Replace the system call wait() with with system call waitid(). --- - src/tty-ask-password-agent/tty-ask-password-agent.c | 264 +++++++++++++++++++- - 1 file changed, 254 insertions(+), 10 deletions(-) + src/tty-ask-password-agent.c | 264 ++++++++++++++++++++- + 1 file changed, 255 insertions(+), 9 deletions(-) -Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd-228.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 4630eb9..df4bada 100644 +--- a/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -4,6 +4,7 @@ This file is part of systemd. @@ -41,26 +41,26 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by -@@ -21,6 +22,9 @@ - - #include +@@ -31,6 +32,9 @@ + #include + #include #include +#include +#include +#include - #include - #include - #include -@@ -49,6 +53,8 @@ - #include "terminal-util.h" + #include "util.h" - #include "utmp-wtmp.h" + #include "mkdir.h" +@@ -45,6 +49,8 @@ + #include "process-util.h" + #include "terminal-util.h" + #include "signal-util.h" +#include "fileio.h" +#include "macro.h" static enum { ACTION_LIST, -@@ -57,8 +63,21 @@ static enum { +@@ -53,8 +59,21 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; @@ -82,8 +82,8 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c static int ask_password_plymouth( const char *message, -@@ -240,6 +259,80 @@ finish: - return r; +@@ -211,6 +230,80 @@ static int ask_password_plymouth( + return 0; } +static void free_consoles(struct console *con, unsigned int num) { @@ -162,17 +162,17 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c + static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; - bool accept_cached = false, echo = false; -@@ -340,7 +433,7 @@ static int parse_password(const char *fi - int tty_fd = -1; + uint64_t not_after = 0; +@@ -311,7 +404,7 @@ static int parse_password(const char *fi + _cleanup_free_ char *password = NULL; if (arg_console) { - tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); + tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); if (tty_fd < 0) - return log_error_errno(tty_fd, "Failed to acquire /dev/console: %m"); - -@@ -601,7 +694,7 @@ static int parse_argv(int argc, char *ar + return tty_fd; + } +@@ -554,7 +647,7 @@ static int parse_argv(int argc, char *ar { "watch", no_argument, NULL, ARG_WATCH }, { "wall", no_argument, NULL, ARG_WALL }, { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, @@ -181,7 +181,7 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c {} }; -@@ -643,6 +736,10 @@ static int parse_argv(int argc, char *ar +@@ -598,6 +691,10 @@ static int parse_argv(int argc, char *ar case ARG_CONSOLE: arg_console = true; @@ -192,7 +192,7 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c break; case '?': -@@ -657,9 +754,143 @@ static int parse_argv(int argc, char *ar +@@ -612,9 +709,143 @@ static int parse_argv(int argc, char *ar return -EINVAL; } @@ -336,16 +336,16 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c int main(int argc, char *argv[]) { int r; -@@ -673,16 +904,29 @@ int main(int argc, char *argv[]) { +@@ -628,15 +859,28 @@ int main(int argc, char *argv[]) { if (r <= 0) goto finish; - if (arg_console) { -- (void) setsid(); -- (void) release_terminal(); +- setsid(); +- release_terminal(); + if (arg_console && !arg_device) + /* -+ * Spawn for each console device a own process ++ * Spwan for each console device a own process + */ + r = ask_on_consoles(argc, argv); + else { @@ -365,12 +365,15 @@ Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c + else + r = show_passwords(); } - +- - if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) - r = watch_passwords(); - else - r = show_passwords(); -- - finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } + + if (r < 0) + log_error_errno(r, "Error: %m"); + +-- +2.2.0 + diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch index 2e655400..8df39ad4 100644 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ b/use-rndaddentropy-ioctl-to-load-random-seed.patch @@ -8,20 +8,21 @@ Related to bnc#892096 src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 10 deletions(-) -Index: systemd-228/src/random-seed/random-seed.c +Index: systemd-221/src/random-seed/random-seed.c =================================================================== ---- systemd-228.orig/src/random-seed/random-seed.c -+++ systemd-228/src/random-seed/random-seed.c -@@ -24,6 +24,8 @@ - #include - #include +--- systemd-221.orig/src/random-seed/random-seed.c ++++ systemd-221/src/random-seed/random-seed.c +@@ -22,7 +22,9 @@ #include + #include + #include +#include + #include +#include + #include - #include "alloc-util.h" - #include "fd-util.h" -@@ -36,8 +38,8 @@ + #include "log.h" +@@ -32,8 +34,8 @@ #define POOL_SIZE_MIN 512 int main(int argc, char *argv[]) { @@ -32,7 +33,7 @@ Index: systemd-228/src/random-seed/random-seed.c size_t buf_size = 0; ssize_t k; int r; -@@ -68,11 +70,12 @@ int main(int argc, char *argv[]) { +@@ -65,11 +67,12 @@ int main(int argc, char *argv[]) { if (buf_size <= POOL_SIZE_MIN) buf_size = POOL_SIZE_MIN; @@ -47,7 +48,7 @@ Index: systemd-228/src/random-seed/random-seed.c r = mkdir_parents_label(RANDOM_SEED, 0755); if (r < 0) { -@@ -86,6 +89,23 @@ int main(int argc, char *argv[]) { +@@ -83,6 +86,23 @@ int main(int argc, char *argv[]) { if (streq(argv[1], "load")) { @@ -71,7 +72,7 @@ Index: systemd-228/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -106,7 +126,7 @@ int main(int argc, char *argv[]) { +@@ -103,7 +123,7 @@ int main(int argc, char *argv[]) { } } @@ -80,7 +81,7 @@ Index: systemd-228/src/random-seed/random-seed.c if (k < 0) r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); else if (k == 0) -@@ -114,13 +134,29 @@ int main(int argc, char *argv[]) { +@@ -111,13 +131,29 @@ int main(int argc, char *argv[]) { else { (void) lseek(seed_fd, 0, SEEK_SET); @@ -113,7 +114,7 @@ Index: systemd-228/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -133,6 +169,21 @@ int main(int argc, char *argv[]) { +@@ -130,6 +166,21 @@ int main(int argc, char *argv[]) { goto finish; } @@ -135,7 +136,7 @@ Index: systemd-228/src/random-seed/random-seed.c } else { log_error("Unknown verb '%s'.", argv[1]); r = -EINVAL; -@@ -147,7 +198,7 @@ int main(int argc, char *argv[]) { +@@ -144,7 +195,7 @@ int main(int argc, char *argv[]) { (void) fchmod(seed_fd, 0600); (void) fchown(seed_fd, 0, 0); @@ -144,7 +145,7 @@ Index: systemd-228/src/random-seed/random-seed.c if (k < 0) { r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); goto finish; -@@ -158,7 +209,7 @@ int main(int argc, char *argv[]) { +@@ -155,7 +206,7 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/v224.tar.gz b/v224.tar.gz new file mode 100644 index 00000000..d4d491a2 --- /dev/null +++ b/v224.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d7ac1532a57639fbc828f8a5051a090883c6ad2908618a7a13ab386db831bfc +size 3868075 diff --git a/v228.tar.gz b/v228.tar.gz deleted file mode 100644 index 84f9e59d..00000000 --- a/v228.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 -size 4034401 diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index e6df8c6e..fcc01432 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -3,19 +3,19 @@ src/core/manager.h | 5 ++ 2 files changed, 98 insertions(+) -Index: systemd-227/src/core/manager.c +Index: systemd-221/src/core/manager.c =================================================================== ---- systemd-227.orig/src/core/manager.c -+++ systemd-227/src/core/manager.c +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c @@ -32,6 +32,7 @@ + #include + #include #include - #include - #include +#include #ifdef HAVE_AUDIT #include -@@ -294,6 +295,91 @@ static int manager_check_ask_password(Ma +@@ -308,6 +309,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -107,15 +107,15 @@ Index: systemd-227/src/core/manager.c static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -576,6 +662,7 @@ int manager_new(ManagerRunningAs running - +@@ -585,6 +671,7 @@ int manager_new(ManagerRunningAs running + m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + m->resolv_conf_inotify_fd = -1; m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ - m->first_boot = -1; -@@ -637,6 +724,10 @@ int manager_new(ManagerRunningAs running + +@@ -651,6 +738,10 @@ int manager_new(ManagerRunningAs running if (r < 0) goto fail; @@ -126,7 +126,7 @@ Index: systemd-227/src/core/manager.c m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -914,6 +1005,8 @@ Manager* manager_free(Manager *m) { +@@ -929,6 +1020,8 @@ Manager* manager_free(Manager *m) { if (!m) return NULL; @@ -135,13 +135,13 @@ Index: systemd-227/src/core/manager.c manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-227/src/core/manager.h +Index: systemd-221/src/core/manager.h =================================================================== ---- systemd-227.orig/src/core/manager.h -+++ systemd-227/src/core/manager.h -@@ -180,6 +180,11 @@ struct Manager { - struct libmnt_monitor *mount_monitor; - sd_event_source *mount_event_source; +--- systemd-221.orig/src/core/manager.h ++++ systemd-221/src/core/manager.h +@@ -181,6 +181,11 @@ struct Manager { + int utab_inotify_fd; + sd_event_source *mount_utab_event_source; + /* Watch out any change of /etc/resolv.conf */ + int resolv_conf_inotify_fd; From 54515f943cd493a9c4de5a0c7e5022f30280cd30166438da9bbd421ad5d98b9c Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 13 Jan 2016 18:13:18 +0000 Subject: [PATCH 222/991] Accepting request 348128 from home:elvigia:branches:Base:System - spec: update minimum kernel version to 3.11 - Update minimum util-linux version to 2.27.1 - spec: update minimum kernel version to 3.11 - Update minimum util-linux version to 2.27.1 OBS-URL: https://build.opensuse.org/request/show/348128 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=924 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 7 ++++--- systemd.changes | 6 ++++++ systemd.spec | 7 ++++--- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a7adef16..9539bf45 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -10,6 +10,12 @@ Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - In %install, only process kbd-model-map.xkb-generated if it exists. Resolves a build failure in 13.2/42.1. +------------------------------------------------------------------- +Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org + +- spec: update minimum kernel version to 3.11 +- Update minimum util-linux version to 2.27.1 + ------------------------------------------------------------------- Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 28262652..961fcca6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -21,7 +21,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define real systemd -%define min_kernel_version 3.7 +%define min_kernel_version 3.11 %bcond_without bash_completion %bcond_without networkd @@ -71,7 +71,8 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(mount) >= 2.26 +#XXX: change to 2.27.1 when pkgconfig file is fixed upstream +BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif @@ -112,7 +113,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.27 +Requires: util-linux >= 2.27.1 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 diff --git a/systemd.changes b/systemd.changes index a7adef16..9539bf45 100644 --- a/systemd.changes +++ b/systemd.changes @@ -10,6 +10,12 @@ Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - In %install, only process kbd-model-map.xkb-generated if it exists. Resolves a build failure in 13.2/42.1. +------------------------------------------------------------------- +Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org + +- spec: update minimum kernel version to 3.11 +- Update minimum util-linux version to 2.27.1 + ------------------------------------------------------------------- Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com diff --git a/systemd.spec b/systemd.spec index e3224592..60803d56 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %define bootstrap 0 %define mini %nil %define real systemd -%define min_kernel_version 3.7 +%define min_kernel_version 3.11 %bcond_without bash_completion %bcond_without networkd @@ -66,7 +66,8 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(mount) >= 2.26 +#XXX: change to 2.27.1 when pkgconfig file is fixed upstream +BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif @@ -107,7 +108,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.27 +Requires: util-linux >= 2.27.1 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 From fb3e80f93db91013c6c83745ab09abf8bc4bc5bc639ebaf2b9fb869e07d5c5e6 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 13 Jan 2016 18:13:47 +0000 Subject: [PATCH 223/991] Accepting request 349071 from home:scarabeus_iv:branches:Base:System - Add patch to enable working steam controller: * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch OBS-URL: https://build.opensuse.org/request/show/349071 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=925 --- ...s-for-valve-steam-controller-to-work.patch | 34 +++++++++++++++++++ systemd.changes | 6 ++++ systemd.spec | 5 ++- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 1099-Add-default-rules-for-valve-steam-controller-to-work.patch diff --git a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch new file mode 100644 index 00000000..6078c4cc --- /dev/null +++ b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch @@ -0,0 +1,34 @@ +From e3effecf928405cdd477ae554e2276fb8a7288c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Mon, 30 Nov 2015 14:35:15 +0100 +Subject: [PATCH] Add default rules for valve steam controler to work + +--- + Makefile.am | 1 + + rules/72-valve-steam-controler.rules | 2 ++ + 2 files changed, 3 insertions(+) + create mode 100644 rules/72-valve-steam-controler.rules + +diff --git a/Makefile.am b/Makefile.am +index db206ae..803912c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -3524,6 +3524,7 @@ dist_udevrules_DATA += \ + rules/60-serial.rules \ + rules/64-btrfs.rules \ + rules/70-mouse.rules \ ++ rules/72-valve-steam-controler.rules \ + rules/75-net-description.rules \ + rules/78-sound-card.rules \ + rules/80-net-setup-link.rules +diff --git a/rules/72-valve-steam-controler.rules b/rules/72-valve-steam-controler.rules +new file mode 100644 +index 0000000..f676972 +--- /dev/null ++++ b/rules/72-valve-steam-controler.rules +@@ -0,0 +1,2 @@ ++# for basic functionality of the controller in Steam and keyboard/mouse emulation ++SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", TAG+="uaccess" +-- +2.6.3 + diff --git a/systemd.changes b/systemd.changes index 9539bf45..cdbf25de 100644 --- a/systemd.changes +++ b/systemd.changes @@ -16,6 +16,12 @@ Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org - spec: update minimum kernel version to 3.11 - Update minimum util-linux version to 2.27.1 +------------------------------------------------------------------- +Thu Dec 3 15:33:27 UTC 2015 - tchvatal@suse.com + +- Add patch to enable working steam controller: + * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + ------------------------------------------------------------------- Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com diff --git a/systemd.spec b/systemd.spec index 60803d56..cf871610 100644 --- a/systemd.spec +++ b/systemd.spec @@ -284,8 +284,10 @@ Patch1096: 1096-new-udev-root-symlink-generator.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch # PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch Patch1098: 1098-systemd-networkd-alias-network-service.patch +# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch +Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch # PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1099: hostname-NULL.patch +Patch1100: hostname-NULL.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -602,6 +604,7 @@ cp %{SOURCE7} m4/ %patch1097 -p1 %patch1098 -p1 %patch1099 -p1 +%patch1100 -p1 # # In combination with Patch352 set-and-use-default-logconsole.patch From 0326b30aa6205cc14bccd0fedc97f5f512ec4dc51765fc1a1538ec06851da5b7 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 13 Jan 2016 18:14:14 +0000 Subject: [PATCH 224/991] Accepting request 352395 from home:olh:branches:Base:System - Create groups adm,input,tape in fixed order (boo#944660) OBS-URL: https://build.opensuse.org/request/show/352395 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=926 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 7 ++++++- systemd.changes | 5 +++++ systemd.spec | 7 ++++++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9539bf45..18c458e1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de + +- Create groups adm,input,tape in fixed order (boo#944660) + ------------------------------------------------------------------- Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 961fcca6..9a6c9af5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -905,6 +905,11 @@ do getent group systemd-$name >/dev/null && continue groupadd -r systemd-$name || : done +for name in adm input tape +do + getent group $name >/dev/null && continue + groupadd -r $name || : +done for name in timesync network resolve bus-proxy do getent passwd systemd-$name >/dev/null && continue diff --git a/systemd.changes b/systemd.changes index cdbf25de..be8730fc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de + +- Create groups adm,input,tape in fixed order (boo#944660) + ------------------------------------------------------------------- Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index cf871610..52c9e1d6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -903,6 +903,11 @@ do getent group systemd-$name >/dev/null && continue groupadd -r systemd-$name || : done +for name in adm input tape +do + getent group $name >/dev/null && continue + groupadd -r $name || : +done for name in timesync network resolve bus-proxy do getent passwd systemd-$name >/dev/null && continue From 0a51e7510cdb3bb269e01537bc122cf58a83170840347d1939ec8456fb69d938 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 13 Jan 2016 18:14:36 +0000 Subject: [PATCH 225/991] Accepting request 352729 from home:a_faerber:branches:Base:System - systemd-sysv-install: Fix chkconfig argument for disable op OBS-URL: https://build.opensuse.org/request/show/352729 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=927 --- systemd-mini.changes | 5 +++++ systemd-sysv-install | 2 +- systemd.changes | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 18c458e1..0bc6aacf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de + +- systemd-sysv-install: Fix chkconfig argument for disable op + ------------------------------------------------------------------- Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de diff --git a/systemd-sysv-install b/systemd-sysv-install index d116728e..4c985a55 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -20,7 +20,7 @@ ROOT="${ROOT:+--root=$ROOT}" [ -n "$NAME" ] || usage case "$1" in enable) chkconfig $ROOT -a "$NAME" ;; - disable) chkconfig $ROOT -r "$NAME" ;; + disable) chkconfig $ROOT -d "$NAME" ;; is-enabled) chkconfig $ROOT -t "$NAME" ;; *) usage ;; esac diff --git a/systemd.changes b/systemd.changes index be8730fc..3be3a5fe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de + +- systemd-sysv-install: Fix chkconfig argument for disable op + ------------------------------------------------------------------- Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de From c83da77762ab229af2704f0edf420790dc07804fc1c7d01e87730589023fc96b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 3 Feb 2016 09:19:12 +0000 Subject: [PATCH 226/991] Accepting request 353460 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/353460 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=228 --- ...unt-units-pulled-by-RequiresMountsFo.patch | 49 ------ ...s390_con3270_disable_ANSI_colour_esc.patch | 131 +++++----------- ...sh-for-reboot-or-hddown-for-poweroff.patch | 38 ++--- ...network-device-after-NFS-mount-units.patch | 57 +++---- 0001-bnc888612-logind-polkit-acpi.patch | 30 ++-- ...-do-not-allow-overlong-machine-names.patch | 37 +++++ ...ting-for-unit-termination-in-certain.patch | 140 ------------------ 0014-journald-with-journaling-FS.patch | 33 +++-- ...pletion-smart-to-be-able-to-redirect.patch | 90 +++++------ ...enable-by_path-links-for-ata-devices.patch | 99 ------------- ...-increase-maximum-number-of-children.patch | 14 +- ...s-for-valve-steam-controller-to-work.patch | 34 +++++ Correct_assert_on_unexpected_error_code.patch | 10 +- avoid-divide-by-zero-sigtrap.patch | 22 +-- ...plock-and-compose_table-and-kbd_rate.patch | 28 ++-- ...lock-value-in-etc-sysconfig-keyboard.patch | 56 ++++--- ...lang-value-in-etc-sysconfig-language.patch | 24 +-- insserv-generator.patch | 27 ++-- macros.systemd.upstream | 12 +- ...f-ARM-based-Chromebook-as-a-power-sw.patch | 18 --- set-and-use-default-logconsole.patch | 65 ++++---- suse-sysv-bootd-support.diff | 33 ++--- systemd-add-user-keep.patch | 36 ++--- systemd-mini.changes | 72 +++++++++ systemd-mini.spec | 71 +++++---- systemd-pam_config.patch | 34 +++-- systemd-sysv-install | 2 +- systemd-tmp-safe-defaults.patch | 16 +- systemd.changes | 78 ++++++++++ systemd.spec | 76 ++++++---- tty-ask-password-agent-on-console.patch | 73 +++++---- ...addentropy-ioctl-to-load-random-seed.patch | 35 +++-- v224.tar.gz | 3 - v228.tar.gz | 3 + watch_resolv.conf_for_become_changed.patch | 34 ++--- 35 files changed, 739 insertions(+), 841 deletions(-) delete mode 100644 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch create mode 100644 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch delete mode 100644 0002-units-enable-waiting-for-unit-termination-in-certain.patch delete mode 100644 1001-re-enable-by_path-links-for-ata-devices.patch create mode 100644 1099-Add-default-rules-for-valve-steam-controller-to-work.patch delete mode 100644 rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch delete mode 100644 v224.tar.gz create mode 100644 v228.tar.gz diff --git a/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch b/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch deleted file mode 100644 index 5161b8ca..00000000 --- a/0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 6a102f90a2ee50e43998d64819e8bd4ee241c22b Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 8 Oct 2015 19:06:06 +0200 -Subject: [PATCH 1/2] Make sure the mount units pulled by 'RequiresMountsFor=' - are loaded (if they exist) - -We should make sure that mount units involved by 'RequiresMountsFor=' -directives are really loaded if not required by any others units so -that Requires= dependencies on the mount units are applied and thus -the mount unit dependencies are started. - -(cherry picked from commit 9b3757e9c8c8d6e161481193c4ef60e425a9ae41) ---- - src/core/unit.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/src/core/unit.c b/src/core/unit.c -index dd5e801..dc7bc5a 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -1141,13 +1141,23 @@ static int unit_add_mount_dependencies(Unit *u) { - char prefix[strlen(*i) + 1]; - - PATH_FOREACH_PREFIX_MORE(prefix, *i) { -+ _cleanup_free_ char *p = NULL; - Unit *m; - -- r = manager_get_unit_by_path(u->manager, prefix, ".mount", &m); -+ r = unit_name_from_path(prefix, ".mount", &p); - if (r < 0) - return r; -- if (r == 0) -+ -+ m = manager_get_unit(u->manager, p); -+ if (!m) { -+ /* Make sure to load the mount unit if -+ * it exists. If so the dependencies -+ * on this unit will be added later -+ * during the loading of the mount -+ * unit. */ -+ (void) manager_load_unit_prepare(u->manager, p, NULL, NULL, &m); - continue; -+ } - if (m == u) - continue; - --- -2.6.0 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch index 9756786c..3dd400a3 100644 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch @@ -1,15 +1,15 @@ --- - rules/99-systemd.rules.in | 2 - src/basic/terminal-util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- + rules/99-systemd.rules.in | 2 - + src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++-- src/basic/terminal-util.h | 1 - src/core/manager.c | 24 ++++++++--- - 4 files changed, 116 insertions(+), 10 deletions(-) + src/core/manager.c | 24 +++++++++++++++----- + 4 files changed, 74 insertions(+), 8 deletions(-) -Index: systemd-221/rules/99-systemd.rules.in +Index: systemd-228/rules/99-systemd.rules.in =================================================================== ---- systemd-221.orig/rules/99-systemd.rules.in -+++ systemd-221/rules/99-systemd.rules.in +--- systemd-228.orig/rules/99-systemd.rules.in ++++ systemd-228/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" @@ -19,76 +19,11 @@ Index: systemd-221/rules/99-systemd.rules.in KERNEL=="vport*", TAG+="systemd" SUBSYSTEM=="block", TAG+="systemd" -Index: systemd-221/src/basic/terminal-util.c +Index: systemd-228/src/basic/terminal-util.c =================================================================== ---- systemd-221.orig/src/basic/terminal-util.c -+++ systemd-221/src/basic/terminal-util.c -@@ -647,6 +647,7 @@ int status_vprintf(const char *status, b - struct iovec iovec[6] = {}; - int n = 0; - static bool prev_ephemeral; -+ static int is_ansi_console = -1; - - assert(format); - -@@ -660,6 +661,41 @@ int status_vprintf(const char *status, b - if (fd < 0) - return fd; - -+ if (_unlikely_(is_ansi_console < 0)) -+ is_ansi_console = ansi_console(fd); -+ -+ if (status && !is_ansi_console) { -+ const char *esc, *ptr; -+ esc = strchr(status, 0x1B); -+ if (esc && (ptr = strpbrk(esc, "SOFDTI*"))) { -+ switch(*ptr) { -+ case 'S': -+ status = " SKIP "; -+ break; -+ case 'O': -+ status = " OK "; -+ break; -+ case 'F': -+ status = "FAILED"; -+ break; -+ case 'D': -+ status = "DEPEND"; -+ break; -+ case 'T': -+ status = " TIME "; -+ break; -+ case 'I': -+ status = " INFO "; -+ break; -+ case '*': -+ status = " BUSY "; -+ break; -+ default: -+ break; -+ } -+ } -+ } -+ - if (ellipse) { - char *e; - size_t emax, sl; -@@ -682,8 +718,12 @@ int status_vprintf(const char *status, b - } - } - -- if (prev_ephemeral) -- IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); -+ if (prev_ephemeral) { -+ if (is_ansi_console) -+ IOVEC_SET_STRING(iovec[n++], "\r" ANSI_ERASE_TO_END_OF_LINE); -+ else -+ IOVEC_SET_STRING(iovec[n++], "\r"); -+ } - prev_ephemeral = ephemeral; - - if (status) { -@@ -807,10 +847,47 @@ bool tty_is_vc_resolve(const char *tty) +--- systemd-228.orig/src/basic/terminal-util.c ++++ systemd-228/src/basic/terminal-util.c +@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty) return tty_is_vc(tty); } @@ -137,7 +72,7 @@ Index: systemd-221/src/basic/terminal-util.c } int fd_columns(int fd) { -@@ -890,8 +967,22 @@ void columns_lines_cache_reset(int signu +@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu bool on_tty(void) { static int cached_on_tty = -1; @@ -161,59 +96,59 @@ Index: systemd-221/src/basic/terminal-util.c return cached_on_tty; } -Index: systemd-221/src/basic/terminal-util.h +Index: systemd-228/src/basic/terminal-util.h =================================================================== ---- systemd-221.orig/src/basic/terminal-util.h -+++ systemd-221/src/basic/terminal-util.h -@@ -77,6 +77,7 @@ unsigned lines(void); +--- systemd-228.orig/src/basic/terminal-util.h ++++ systemd-228/src/basic/terminal-util.h +@@ -78,6 +78,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); +bool ansi_console(int fd); - static inline const char *ansi_highlight(void) { - return on_tty() ? ANSI_HIGHLIGHT_ON : ""; -Index: systemd-221/src/core/manager.c + static inline const char *ansi_underline(void) { + return on_tty() ? ANSI_UNDERLINE : ""; +Index: systemd-228/src/core/manager.c =================================================================== ---- systemd-221.orig/src/core/manager.c -+++ systemd-221/src/core/manager.c -@@ -113,7 +113,7 @@ static void manager_watch_jobs_in_progre +--- systemd-228.orig/src/core/manager.c ++++ systemd-228/src/core/manager.c +@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) + #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1)) -static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { +static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { char *p = buffer; assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si +@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si if (pos > 1) { if (pos > 2) p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED_ON); +- p = stpcpy(p, ANSI_RED); + if (ansi_console) -+ p = stpcpy(p, ANSI_RED_ON); ++ p = stpcpy(p, ANSI_RED); *p++ = '*'; } if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); +- p = stpcpy(p, ANSI_HIGHLIGHT_RED); + if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); ++ p = stpcpy(p, ANSI_HIGHLIGHT_RED); *p++ = '*'; } -@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si +@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si *p++ = '*'; if (pos < width-1) p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_HIGHLIGHT_OFF); +- strcpy(p, ANSI_NORMAL); + if (ansi_console) -+ strcpy(p, ANSI_HIGHLIGHT_OFF); ++ strcpy(p, ANSI_NORMAL); } } -@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m +@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m } static void manager_print_jobs_in_progress(Manager *m) { @@ -221,7 +156,7 @@ Index: systemd-221/src/core/manager.c _cleanup_free_ char *job_of_n = NULL; Iterator i; Job *j; -@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre +@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre assert(counter == print_nr + 1); assert(j); diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch index ea7eeafa..f370239f 100644 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -3,11 +3,11 @@ src/systemctl/systemctl.c | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) -Index: systemd-221/src/core/shutdown.c +Index: systemd-227/src/core/shutdown.c =================================================================== ---- systemd-221.orig/src/core/shutdown.c -+++ systemd-221/src/core/shutdown.c -@@ -396,6 +396,10 @@ int main(int argc, char *argv[]) { +--- systemd-227.orig/src/core/shutdown.c ++++ systemd-227/src/core/shutdown.c +@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -18,11 +18,11 @@ Index: systemd-221/src/core/shutdown.c if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-221/src/systemctl/systemctl.c +Index: systemd-227/src/systemctl/systemctl.c =================================================================== ---- systemd-221.orig/src/systemctl/systemctl.c -+++ systemd-221/src/systemctl/systemctl.c -@@ -93,6 +93,7 @@ static bool arg_no_pager = false; +--- systemd-227.orig/src/systemctl/systemctl.c ++++ systemd-227/src/systemctl/systemctl.c +@@ -94,6 +94,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -30,7 +30,7 @@ Index: systemd-221/src/systemctl/systemctl.c static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -6636,6 +6637,7 @@ static int halt_parse_argv(int argc, cha +@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -38,7 +38,7 @@ Index: systemd-221/src/systemctl/systemctl.c { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -6688,10 +6690,13 @@ static int halt_parse_argv(int argc, cha +@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -53,32 +53,32 @@ Index: systemd-221/src/systemctl/systemctl.c case '?': return -EINVAL; -@@ -7291,7 +7296,8 @@ static int halt_now(enum action a) { +@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) { /* The kernel will automaticall flush ATA disks and suchlike * on reboot(), but the file systems need to be synce'd * explicitly in advance. */ -- sync(); +- (void) sync(); + if (!arg_no_sync) -+ sync(); ++ (void) sync(); /* Make sure C-A-D is handled by the kernel from this point * on... */ -@@ -7299,14 +7305,14 @@ static int halt_now(enum action a) { +@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) { switch (a) { - case ACTION_HALT: - log_info("Halting."); -- reboot(RB_HALT_SYSTEM); +- (void) reboot(RB_HALT_SYSTEM); - return -errno; - +- case ACTION_POWEROFF: log_info("Powering off."); - reboot(RB_POWER_OFF); + (void) reboot(RB_POWER_OFF); + /* fall-through */ + case ACTION_HALT: + log_info("Halting."); -+ reboot(RB_HALT_SYSTEM); ++ (void) reboot(RB_HALT_SYSTEM); return -errno; - case ACTION_REBOOT: { + case ACTION_KEXEC: diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index 955314ff..dc30e64f 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -5,17 +5,16 @@ NFS share is added as "After=" dependency to the .mount. --- Makefile.am | 2 - src/basic/util.c | 1 src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ src/core/mount-iface.h | 25 +++++++ src/core/mount.c | 35 +++++++++ - 5 files changed, 234 insertions(+), 2 deletions(-) + 4 files changed, 233 insertions(+), 2 deletions(-) -Index: systemd-221/Makefile.am +Index: systemd-228/Makefile.am =================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -1164,6 +1164,8 @@ libcore_la_SOURCES = \ +--- systemd-228.orig/Makefile.am ++++ systemd-228/Makefile.am +@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ @@ -24,22 +23,10 @@ Index: systemd-221/Makefile.am src/core/kmod-setup.c \ src/core/kmod-setup.h \ src/core/loopback-setup.h \ -Index: systemd-221/src/basic/util.c -=================================================================== ---- systemd-221.orig/src/basic/util.c -+++ systemd-221/src/basic/util.c -@@ -1478,6 +1478,7 @@ bool fstype_is_network(const char *fstyp - "ncp\0" - "nfs\0" - "nfs4\0" -+ "afs\0" - "gfs\0" - "gfs2\0" - "glusterfs\0"; -Index: systemd-221/src/core/mount-iface.c +Index: systemd-228/src/core/mount-iface.c =================================================================== --- /dev/null -+++ systemd-221/src/core/mount-iface.c ++++ systemd-228/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -214,10 +201,10 @@ Index: systemd-221/src/core/mount-iface.c + freeifaddrs(ifa_list); + ifa_list = NULL; +} -Index: systemd-221/src/core/mount-iface.h +Index: systemd-228/src/core/mount-iface.h =================================================================== --- /dev/null -+++ systemd-221/src/core/mount-iface.h ++++ systemd-228/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -244,19 +231,19 @@ Index: systemd-221/src/core/mount-iface.h + +char *host2iface(const char *ip); +void freeroutes(void); -Index: systemd-221/src/core/mount.c +Index: systemd-228/src/core/mount.c =================================================================== ---- systemd-221.orig/src/core/mount.c -+++ systemd-221/src/core/mount.c -@@ -35,6 +35,7 @@ +--- systemd-228.orig/src/core/mount.c ++++ systemd-228/src/core/mount.c +@@ -36,6 +36,7 @@ + #include "manager.h" #include "mkdir.h" - #include "path-util.h" #include "mount-setup.h" +#include "mount-iface.h" - #include "unit-name.h" - #include "dbus-mount.h" - #include "special.h" -@@ -1332,8 +1333,9 @@ static int mount_setup_unit( + #include "mount-util.h" + #include "mount.h" + #include "parse-util.h" +@@ -1344,8 +1345,9 @@ static int mount_setup_unit( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -267,7 +254,7 @@ Index: systemd-221/src/core/mount.c int r; assert(m); -@@ -1358,6 +1360,8 @@ static int mount_setup_unit( +@@ -1370,6 +1372,8 @@ static int mount_setup_unit( if (r < 0) return r; @@ -276,7 +263,7 @@ Index: systemd-221/src/core/mount.c u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1385,7 +1389,7 @@ static int mount_setup_unit( +@@ -1397,7 +1401,7 @@ static int mount_setup_unit( if (m->running_as == MANAGER_SYSTEM) { const char* target; @@ -285,7 +272,7 @@ Index: systemd-221/src/core/mount.c r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) goto fail; -@@ -1471,6 +1475,32 @@ static int mount_setup_unit( +@@ -1483,6 +1487,32 @@ static int mount_setup_unit( goto fail; } @@ -318,7 +305,7 @@ Index: systemd-221/src/core/mount.c if (changed) unit_add_to_dbus_queue(u); -@@ -1537,6 +1567,7 @@ static int mount_load_proc_self_mountinf +@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf if (r == 0 && k < 0) r = k; } diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch index 505e1791..8729f452 100644 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ b/0001-bnc888612-logind-polkit-acpi.patch @@ -3,10 +3,10 @@ src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) -Index: systemd-221/src/login/logind-action.c +Index: systemd-227/src/login/logind-action.c =================================================================== ---- systemd-221.orig/src/login/logind-action.c -+++ systemd-221/src/login/logind-action.c +--- systemd-227.orig/src/login/logind-action.c ++++ systemd-227/src/login/logind-action.c @@ -85,6 +85,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ @@ -19,11 +19,11 @@ Index: systemd-221/src/login/logind-action.c if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-221/src/login/logind-dbus.c +Index: systemd-227/src/login/logind-dbus.c =================================================================== ---- systemd-221.orig/src/login/logind-dbus.c -+++ systemd-221/src/login/logind-dbus.c -@@ -1625,12 +1625,13 @@ static int verify_shutdown_creds( +--- systemd-227.orig/src/login/logind-dbus.c ++++ systemd-227/src/login/logind-dbus.c +@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds( const char *action, const char *action_multiple_sessions, const char *action_ignore_inhibit, @@ -40,7 +40,7 @@ Index: systemd-221/src/login/logind-dbus.c assert(m); assert(message); -@@ -1652,7 +1653,19 @@ static int verify_shutdown_creds( +@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); @@ -58,29 +58,29 @@ Index: systemd-221/src/login/logind-dbus.c + + if (multiple_sessions && action_multiple_sessions && + !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1660,7 +1673,7 @@ static int verify_shutdown_creds( +@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (blocked && action_ignore_inhibit) { + if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1668,7 +1681,8 @@ static int verify_shutdown_creds( +@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } - if (!multiple_sessions && !blocked && action) { + if (!multiple_sessions && !blocked && action && + !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, UID_INVALID, &m->polkit_registry, error); + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1716,7 +1730,7 @@ static int method_do_shutdown_or_sleep( +@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep( } r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, @@ -89,7 +89,7 @@ Index: systemd-221/src/login/logind-dbus.c if (r != 0) return r; -@@ -1896,7 +1910,8 @@ static int method_schedule_shutdown(sd_b +@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, diff --git a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch new file mode 100644 index 00000000..f6af8080 --- /dev/null +++ b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch @@ -0,0 +1,37 @@ +From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 23 Nov 2015 13:59:43 -0500 +Subject: [PATCH] nss-mymachines: do not allow overlong machine names + +https://github.com/systemd/systemd/issues/2002 +--- + src/nss-mymachines/nss-mymachines.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c +index 969fa96..c98a959 100644 +--- a/src/nss-mymachines/nss-mymachines.c ++++ b/src/nss-mymachines/nss-mymachines.c +@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( + if (!e || e == p) + goto not_found; + ++ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ ++ goto not_found; ++ + r = parse_uid(e + 1, &uid); + if (r < 0) + goto not_found; +@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( + if (!e || e == p) + goto not_found; + ++ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ ++ goto not_found; ++ + r = parse_gid(e + 1, &gid); + if (r < 0) + goto not_found; +-- +2.1.4 + diff --git a/0002-units-enable-waiting-for-unit-termination-in-certain.patch b/0002-units-enable-waiting-for-unit-termination-in-certain.patch deleted file mode 100644 index 4cad2861..00000000 --- a/0002-units-enable-waiting-for-unit-termination-in-certain.patch +++ /dev/null @@ -1,140 +0,0 @@ -From d7f920bfcb0296fed214d4d3a21d64de09a68521 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 1 Sep 2015 17:25:59 +0200 -Subject: [PATCH 2/2] units: enable waiting for unit termination in certain - cases - -The legacy cgroup hierarchy does not support reliable empty -notifications in containers and if there are left-over subgroups in a -cgroup. This makes it hard to correctly wait for them running empty, and -thus we previously disabled this logic entirely. - -With this change we explicitly check for the container case, and whether -the unit is a "delegation" unit (i.e. one where programs may create -their own subgroups). If we are neither in a container, nor operating on -a delegation unit cgroup empty notifications become reliable and thus we -start waiting for the empty notifications again. - -This doesn't really fix the general problem around cgroup notifications -but reduces the effect around it. - -(This also reorders #include lines by their focus, as suggsted in -CODING_STYLE. We have to add "virt.h", so let's do that at the right -place.) - -Also see #317. - -(cherry picked from commit e9db43d5910717a1084924c512bf85e2b8265375) ---- - src/core/cgroup.c | 12 ++++++++++++ - src/core/cgroup.h | 2 ++ - src/core/unit.c | 40 +++++++++++++++++++++++----------------- - 3 files changed, 37 insertions(+), 17 deletions(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 6474e08..65af351 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -1127,6 +1127,18 @@ int unit_reset_cpu_usage(Unit *u) { - return 0; - } - -+bool unit_cgroup_delegate(Unit *u) { -+ CGroupContext *c; -+ -+ assert(u); -+ -+ c = unit_get_cgroup_context(u); -+ if (!c) -+ return false; -+ -+ return c->delegate; -+} -+ - static const char* const cgroup_device_policy_table[_CGROUP_DEVICE_POLICY_MAX] = { - [CGROUP_AUTO] = "auto", - [CGROUP_CLOSED] = "closed", -diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index 869ddae..7b38d21 100644 ---- a/src/core/cgroup.h -+++ b/src/core/cgroup.h -@@ -130,5 +130,7 @@ int unit_get_memory_current(Unit *u, uint64_t *ret); - int unit_get_cpu_usage(Unit *u, nsec_t *ret); - int unit_reset_cpu_usage(Unit *u); - -+bool unit_cgroup_delegate(Unit *u); -+ - const char* cgroup_device_policy_to_string(CGroupDevicePolicy i) _const_; - CGroupDevicePolicy cgroup_device_policy_from_string(const char *s) _pure_; -diff --git a/src/core/unit.c b/src/core/unit.c -index dc7bc5a..275f567 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -28,26 +28,28 @@ - #include "sd-id128.h" - #include "sd-messages.h" - #include "set.h" --#include "unit.h" - #include "macro.h" - #include "strv.h" - #include "path-util.h" --#include "load-fragment.h" --#include "load-dropin.h" - #include "log.h" --#include "unit-name.h" --#include "dbus-unit.h" --#include "special.h" - #include "cgroup-util.h" - #include "missing.h" - #include "mkdir.h" - #include "fileio-label.h" -+#include "formats-util.h" -+#include "process-util.h" -+#include "virt.h" - #include "bus-common-errors.h" -+#include "bus-util.h" -+#include "dropin.h" -+#include "unit-name.h" -+#include "special.h" -+#include "unit.h" -+#include "load-fragment.h" -+#include "load-dropin.h" - #include "dbus.h" -+#include "dbus-unit.h" - #include "execute.h" --#include "dropin.h" --#include "formats-util.h" --#include "process-util.h" - - const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX] = { - [UNIT_SERVICE] = &service_vtable, -@@ -3535,14 +3537,18 @@ int unit_kill_context( - } else if (r > 0) { - - /* FIXME: For now, we will not wait for the -- * cgroup members to die, simply because -- * cgroup notification is unreliable. It -- * doesn't work at all in containers, and -- * outside of containers it can be confused -- * easily by leaving directories in the -- * cgroup. */ -- -- /* wait_for_exit = true; */ -+ * cgroup members to die if we are running in -+ * a container or if this is a delegation -+ * unit, simply because cgroup notification is -+ * unreliable in these cases. It doesn't work -+ * at all in containers, and outside of -+ * containers it can be confused easily by -+ * left-over directories in the cgroup -- -+ * which however should not exist in -+ * non-delegated units. */ -+ -+ if (detect_container(NULL) == 0 && !unit_cgroup_delegate(u)) -+ wait_for_exit = true; - - if (c->send_sighup && k != KILL_KILL) { - set_free(pid_set); --- -2.6.0 - diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch index a8255ab5..00577b3d 100644 --- a/0014-journald-with-journaling-FS.patch +++ b/0014-journald-with-journaling-FS.patch @@ -13,27 +13,27 @@ No word on compression… src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) -Index: systemd-221/src/journal/journald-server.c +Index: systemd-227/src/journal/journald-server.c =================================================================== ---- systemd-221.orig/src/journal/journald-server.c -+++ systemd-221/src/journal/journald-server.c -@@ -21,6 +21,7 @@ - - #include +--- systemd-227.orig/src/journal/journald-server.c ++++ systemd-227/src/journal/journald-server.c +@@ -24,6 +24,7 @@ + #include + #endif #include +#include - #include - #include #include -@@ -918,6 +919,38 @@ finish: - dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); + #include + #include +@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd + dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0); } +/* + * On journaling and/or compressing file systems, avoid doubling the efforts + * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every + * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like BtrFS does). ++ * a single unkown flag (like Btrfs does). + * + * …but src/journal/journal-file.c already sets NOCOW too…⸘ + */ @@ -61,12 +61,13 @@ Index: systemd-221/src/journal/journald-server.c + } + close(fd); +} ++ + void server_dispatch_message( + Server *s, + struct iovec *iovec, unsigned n, unsigned m, +@@ -948,6 +982,7 @@ static int system_journal_open(Server *s - static int system_journal_open(Server *s, bool flush_requested) { - int r; -@@ -947,6 +980,7 @@ static int system_journal_open(Server *s - - fn = strjoina("/var/log/journal/", ids); + fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s)); (void) mkdir(fn, 0755); + disable_cow(fn, s); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch index ca3a4b0c..c8ab5fa7 100644 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ b/0019-make-completion-smart-to-be-able-to-redirect.patch @@ -12,10 +12,10 @@ shell-completion/bash/udevadm | 6 +++++- 11 files changed, 70 insertions(+), 11 deletions(-) -Index: systemd-221/shell-completion/bash/coredumpctl +Index: systemd-228/shell-completion/bash/coredumpctl =================================================================== ---- systemd-221.orig/shell-completion/bash/coredumpctl -+++ systemd-221/shell-completion/bash/coredumpctl +--- systemd-228.orig/shell-completion/bash/coredumpctl ++++ systemd-228/shell-completion/bash/coredumpctl @@ -44,6 +44,10 @@ _coredumpctl() { [DUMP]='dump gdb' ) @@ -33,10 +33,10 @@ Index: systemd-221/shell-completion/bash/coredumpctl -complete -F _coredumpctl coredumpctl +complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd-221/shell-completion/bash/hostnamectl +Index: systemd-228/shell-completion/bash/hostnamectl =================================================================== ---- systemd-221.orig/shell-completion/bash/hostnamectl -+++ systemd-221/shell-completion/bash/hostnamectl +--- systemd-228.orig/shell-completion/bash/hostnamectl ++++ systemd-228/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty --no-ask-password -H --host --machine' @@ -54,12 +54,12 @@ Index: systemd-221/shell-completion/bash/hostnamectl -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd-221/shell-completion/bash/journalctl +Index: systemd-228/shell-completion/bash/journalctl =================================================================== ---- systemd-221.orig/shell-completion/bash/journalctl -+++ systemd-221/shell-completion/bash/journalctl -@@ -55,6 +55,10 @@ _journalctl() { - --root --machine' +--- systemd-228.orig/shell-completion/bash/journalctl ++++ systemd-228/shell-completion/bash/journalctl +@@ -56,6 +56,10 @@ _journalctl() { + --root -M --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -69,16 +69,16 @@ Index: systemd-221/shell-completion/bash/journalctl if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in --boot|--this-boot|-b) -@@ -120,4 +124,4 @@ _journalctl() { +@@ -121,4 +125,4 @@ _journalctl() { fi } -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd-221/shell-completion/bash/kernel-install +Index: systemd-228/shell-completion/bash/kernel-install =================================================================== ---- systemd-221.orig/shell-completion/bash/kernel-install -+++ systemd-221/shell-completion/bash/kernel-install +--- systemd-228.orig/shell-completion/bash/kernel-install ++++ systemd-228/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -108,10 +108,10 @@ Index: systemd-221/shell-completion/bash/kernel-install -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd-221/shell-completion/bash/localectl +Index: systemd-228/shell-completion/bash/localectl =================================================================== ---- systemd-221.orig/shell-completion/bash/localectl -+++ systemd-221/shell-completion/bash/localectl +--- systemd-228.orig/shell-completion/bash/localectl ++++ systemd-228/shell-completion/bash/localectl @@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password -H --host --machine' @@ -129,10 +129,10 @@ Index: systemd-221/shell-completion/bash/localectl -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl -Index: systemd-221/shell-completion/bash/loginctl +Index: systemd-228/shell-completion/bash/loginctl =================================================================== ---- systemd-221.orig/shell-completion/bash/loginctl -+++ systemd-221/shell-completion/bash/loginctl +--- systemd-228.orig/shell-completion/bash/loginctl ++++ systemd-228/shell-completion/bash/loginctl @@ -38,6 +38,10 @@ _loginctl () { [ARG]='--host -H --kill-who --property -p --signal -s --machine' ) @@ -150,12 +150,12 @@ Index: systemd-221/shell-completion/bash/loginctl -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd-221/shell-completion/bash/systemctl.in +Index: systemd-228/shell-completion/bash/systemctl.in =================================================================== ---- systemd-221.orig/shell-completion/bash/systemctl.in -+++ systemd-221/shell-completion/bash/systemctl.in -@@ -96,6 +96,10 @@ _systemctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --job-mode --root' +--- systemd-228.orig/shell-completion/bash/systemctl.in ++++ systemd-228/shell-completion/bash/systemctl.in +@@ -104,6 +104,10 @@ _systemctl () { + --preset-mode -n --lines -o --output -M --machine' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -164,17 +164,17 @@ Index: systemd-221/shell-completion/bash/systemctl.in + if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user - else -@@ -268,4 +272,4 @@ _systemctl () { + elif __contains_word "--global" ${COMP_WORDS[*]}; then +@@ -280,4 +284,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd-221/shell-completion/bash/systemd-analyze +Index: systemd-228/shell-completion/bash/systemd-analyze =================================================================== ---- systemd-221.orig/shell-completion/bash/systemd-analyze -+++ systemd-221/shell-completion/bash/systemd-analyze +--- systemd-228.orig/shell-completion/bash/systemd-analyze ++++ systemd-228/shell-completion/bash/systemd-analyze @@ -47,6 +47,10 @@ _systemd_analyze() { [VERIFY]='verify' ) @@ -192,10 +192,10 @@ Index: systemd-221/shell-completion/bash/systemd-analyze -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd-221/shell-completion/bash/systemd-run +Index: systemd-228/shell-completion/bash/systemd-run =================================================================== ---- systemd-221.orig/shell-completion/bash/systemd-run -+++ systemd-221/shell-completion/bash/systemd-run +--- systemd-228.orig/shell-completion/bash/systemd-run ++++ systemd-228/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . @@ -210,7 +210,7 @@ Index: systemd-221/shell-completion/bash/systemd-run __systemctl() { local mode=$1; shift 1 systemctl $mode --full --no-legend "$@" -@@ -38,6 +45,11 @@ _systemd_run() { +@@ -40,6 +47,11 @@ _systemd_run() { local mode=--system local i @@ -219,19 +219,19 @@ Index: systemd-221/shell-completion/bash/systemd-run + return 0 + fi + - for (( i=1; i <= COMP_CWORD; i++ )); do - if [[ ${COMP_WORDS[i]} != -* ]]; then - local root_command=${COMP_WORDS[i]} -@@ -98,4 +110,4 @@ _systemd_run() { + local opts_with_values=( + --unit --description --slice --service-type -H --host -M --machine -p --property --on-active + --on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property +@@ -114,4 +126,4 @@ _systemd_run() { return 0 } -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd-221/shell-completion/bash/timedatectl +Index: systemd-228/shell-completion/bash/timedatectl =================================================================== ---- systemd-221.orig/shell-completion/bash/timedatectl -+++ systemd-221/shell-completion/bash/timedatectl +--- systemd-228.orig/shell-completion/bash/timedatectl ++++ systemd-228/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager --no-ask-password -H --host --machine' @@ -249,10 +249,10 @@ Index: systemd-221/shell-completion/bash/timedatectl -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd-221/shell-completion/bash/udevadm +Index: systemd-228/shell-completion/bash/udevadm =================================================================== ---- systemd-221.orig/shell-completion/bash/udevadm -+++ systemd-221/shell-completion/bash/udevadm +--- systemd-228.orig/shell-completion/bash/udevadm ++++ systemd-228/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch deleted file mode 100644 index 5520c601..00000000 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 5cf46aa4339670afac386b1b0e630b739f3621c7 Mon Sep 17 00:00:00 2001 -From: Robert Milasan -Date: Thu, 12 Jul 2012 15:56:34 +0000 -Subject: [PATCH] Persistent by_path links for ata devices - -With newer kernel we have the 'port_no' attribute, -which allows us to construct a valid ata by-path link. - -With this patch ATA links of the form - -ata-.[01] - -(for master/slave devices) or - -ata-..0 - -(for devices behind port multipliers) -are generated. - -References: bnc#770910,FATE#317063 - -Signed-off-by: Robert Milasan -Signed-off-by: Hannes Reinecke ---- - src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- - 1 file changed, 41 insertions(+), 12 deletions(-) - -Index: systemd-221/src/udev/udev-builtin-path_id.c -=================================================================== ---- systemd-221.orig/src/udev/udev-builtin-path_id.c -+++ systemd-221/src/udev/udev-builtin-path_id.c -@@ -447,6 +447,46 @@ static struct udev_device *handle_scsi_h - return parent; - } - -+static struct udev_device *handle_ata(struct udev_device *parent, char **path) -+{ -+ struct udev *udev = udev_device_get_udev(parent); -+ struct udev_device *hostdev, *portdev; -+ int host, bus, target, lun, port_no; -+ const char *name, *atahost, *port; -+ -+ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); -+ if (hostdev == NULL) -+ return NULL; -+ -+ name = udev_device_get_sysname(parent); -+ if (sscanf(name, "%d:%d:%d:%d", &host, &bus, &target, &lun) != 4) -+ return NULL; -+ -+ /* The ata port is the parent of the SCSI host */ -+ hostdev = udev_device_get_parent(hostdev); -+ atahost = udev_device_get_sysname(hostdev); -+ if (strncmp(atahost, "ata", 3)) -+ return NULL; -+ -+ /* ATA port number is found in 'port_no' attribute */ -+ portdev = udev_device_new_from_subsystem_sysname(udev, "ata_port", -+ atahost); -+ port = udev_device_get_sysattr_value(portdev, "port_no"); -+ if (!port || sscanf(port, "%d", &port_no) != 1) { -+ hostdev = NULL; -+ goto out; -+ } -+ if (bus != 0) -+ /* Devices behind port multiplier have a bus != 0*/ -+ path_prepend(path, "ata-%u.%u.0", port_no, bus); -+ else -+ /* Master/slave are distinguished by target id */ -+ path_prepend(path, "ata-%u.%u", port_no, target); -+out: -+ udev_device_unref(portdev); -+ return hostdev; -+} -+ - static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { - const char *devtype; - const char *name; -@@ -486,19 +526,8 @@ static struct udev_device *handle_scsi(s - goto out; - } - -- /* -- * We do not support the ATA transport class, it uses global counters -- * to name the ata devices which numbers spread across multiple -- * controllers. -- * -- * The real link numbers are not exported. Also, possible chains of ports -- * behind port multipliers cannot be composed that way. -- * -- * Until all that is solved at the kernel level, there are no by-path/ -- * links for ATA devices. -- */ - if (strstr(name, "/ata") != NULL) { -- parent = NULL; -+ parent = handle_ata(parent, path); - goto out; - } - diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch index 6693d757..f71c96a4 100644 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ b/1097-udevd-increase-maximum-number-of-children.patch @@ -2,11 +2,11 @@ src/udev/udevd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-221/src/udev/udevd.c +Index: systemd-227/src/udev/udevd.c =================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -569,7 +569,7 @@ static void event_run(Manager *manager, +--- systemd-227.orig/src/udev/udevd.c ++++ systemd-227/src/udev/udevd.c +@@ -568,7 +568,7 @@ static void event_run(Manager *manager, if (hashmap_size(manager->workers) >= arg_children_max) { if (arg_children_max > 1) @@ -15,12 +15,12 @@ Index: systemd-221/src/udev/udevd.c return; } -@@ -1641,7 +1641,7 @@ int main(int argc, char *argv[]) { +@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) { arg_children_max = 8; - if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { + if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) - arg_children_max += CPU_COUNT(&cpu_set) * 2; + arg_children_max += CPU_COUNT(&cpu_set) * 64; - } log_debug("set children_max to %u", arg_children_max); + } diff --git a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch new file mode 100644 index 00000000..6078c4cc --- /dev/null +++ b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch @@ -0,0 +1,34 @@ +From e3effecf928405cdd477ae554e2276fb8a7288c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Mon, 30 Nov 2015 14:35:15 +0100 +Subject: [PATCH] Add default rules for valve steam controler to work + +--- + Makefile.am | 1 + + rules/72-valve-steam-controler.rules | 2 ++ + 2 files changed, 3 insertions(+) + create mode 100644 rules/72-valve-steam-controler.rules + +diff --git a/Makefile.am b/Makefile.am +index db206ae..803912c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -3524,6 +3524,7 @@ dist_udevrules_DATA += \ + rules/60-serial.rules \ + rules/64-btrfs.rules \ + rules/70-mouse.rules \ ++ rules/72-valve-steam-controler.rules \ + rules/75-net-description.rules \ + rules/78-sound-card.rules \ + rules/80-net-setup-link.rules +diff --git a/rules/72-valve-steam-controler.rules b/rules/72-valve-steam-controler.rules +new file mode 100644 +index 0000000..f676972 +--- /dev/null ++++ b/rules/72-valve-steam-controler.rules +@@ -0,0 +1,2 @@ ++# for basic functionality of the controller in Steam and keyboard/mouse emulation ++SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", TAG+="uaccess" +-- +2.6.3 + diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch index 535170b4..43e686ca 100644 --- a/Correct_assert_on_unexpected_error_code.patch +++ b/Correct_assert_on_unexpected_error_code.patch @@ -2,10 +2,12 @@ src/login/pam_systemd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---- src/login/pam_systemd.c -+++ src/login/pam_systemd.c 2015-07-29 08:52:20.762018565 +0000 -@@ -507,7 +507,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); +Index: systemd-228/src/login/pam_systemd.c +=================================================================== +--- systemd-228.orig/src/login/pam_systemd.c ++++ systemd-228/src/login/pam_systemd.c +@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess + r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL); if (r != PAM_SUCCESS) { pam_syslog(handle, LOG_ERR, "Failed to install session fd."); - safe_close(session_fd); diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch index 8a8c3caa..60e42c9e 100644 --- a/avoid-divide-by-zero-sigtrap.patch +++ b/avoid-divide-by-zero-sigtrap.patch @@ -1,28 +1,28 @@ -Nasty bug reported on bnc#867663 +Nasty bug reported on boo#867663 --- src/basic/def.h | 2 +- src/core/manager.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) -Index: systemd-221/src/basic/def.h +Index: systemd-228/src/basic/def.h =================================================================== ---- systemd-221.orig/src/basic/def.h -+++ systemd-221/src/basic/def.h -@@ -37,7 +37,7 @@ +--- systemd-228.orig/src/basic/def.h ++++ systemd-228/src/basic/def.h +@@ -40,7 +40,7 @@ - #define SYSTEMD_CGROUP_CONTROLLER "systemd" + #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" -#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT +#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS #define SIGNALS_IGNORE SIGPIPE - #define DIGITS "0123456789" -Index: systemd-221/src/core/manager.c + #define REBOOT_PARAM_FILE "/run/systemd/reboot-param" +Index: systemd-228/src/core/manager.c =================================================================== ---- systemd-221.orig/src/core/manager.c -+++ systemd-221/src/core/manager.c -@@ -1991,7 +1991,8 @@ static int manager_dispatch_jobs_in_prog +--- systemd-228.orig/src/core/manager.c ++++ systemd-228/src/core/manager.c +@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog assert(m); assert(source); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 865322fb..d7c4477f 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -9,20 +9,20 @@ Date: Fri Jun 19 21:36:27 CEST 2015 src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 147 insertions(+), 4 deletions(-) -Index: systemd-221/src/vconsole/vconsole-setup.c +Index: systemd-228/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-221.orig/src/vconsole/vconsole-setup.c -+++ systemd-221/src/vconsole/vconsole-setup.c -@@ -35,6 +35,8 @@ - #include "log.h" - #include "virt.h" +--- systemd-228.orig/src/vconsole/vconsole-setup.c ++++ systemd-228/src/vconsole/vconsole-setup.c +@@ -34,6 +34,8 @@ + #include "alloc-util.h" + #include "fd-util.h" #include "fileio.h" +#include "macro.h" +#include "strv.h" - #include "process-util.h" - #include "terminal-util.h" - #include "signal-util.h" -@@ -99,8 +101,10 @@ static int enable_utf8(int fd) { + #include "io-util.h" + #include "locale-util.h" + #include "log.h" +@@ -104,8 +106,10 @@ static int enable_utf8(int fd) { return r; } @@ -35,7 +35,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c int i = 0, r; pid_t pid; -@@ -117,6 +121,8 @@ static int keyboard_load_and_wait(const +@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -44,7 +44,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c args[i++] = NULL; pid = fork(); -@@ -246,11 +252,117 @@ static void font_copy_to_all_vcs(int fd) +@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd) } } @@ -162,7 +162,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c _cleanup_close_ int fd = -1; bool utf8, font_copy = false, font_ok, keyboard_ok; int r = EXIT_FAILURE; -@@ -281,6 +393,31 @@ int main(int argc, char **argv) { +@@ -286,6 +398,31 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -194,7 +194,7 @@ Index: systemd-221/src/vconsole/vconsole-setup.c r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -312,11 +449,17 @@ int main(int argc, char **argv) { +@@ -317,11 +454,17 @@ int main(int argc, char **argv) { (void) disable_utf8(fd); font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index db480a34..18fd4f61 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -9,14 +9,16 @@ Cristian Rodríguez --- Makefile.am | 13 ++++++++++ rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 +++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 40 ++++++++++++++++++++++++++++++-- + src/login/numlock-on.c | 34 ++++++++++++++++++++++++++ + src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++-- units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 94 insertions(+), 3 deletions(-) + 5 files changed, 95 insertions(+), 3 deletions(-) ---- systemd-222.orig/Makefile.am -+++ systemd-222/Makefile.am -@@ -3805,6 +3805,19 @@ dist_udevrules_DATA += \ +Index: systemd-228/Makefile.am +=================================================================== +--- systemd-228.orig/Makefile.am ++++ systemd-228/Makefile.am +@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \ rules/60-persistent-v4l.rules # ------------------------------------------------------------------------------ @@ -36,8 +38,10 @@ Cristian Rodríguez mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.c \ src/udev/mtd_probe/mtd_probe.h \ +Index: systemd-228/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-222/rules/73-seat-numlock.rules ++++ systemd-228/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -47,8 +51,10 @@ Cristian Rodríguez +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-228/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-222/src/login/numlock-on.c ++++ systemd-228/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -84,11 +90,21 @@ Cristian Rodríguez + + exit(0); +} ---- systemd-222.orig/src/vconsole/vconsole-setup.c -+++ systemd-222/src/vconsole/vconsole-setup.c -@@ -41,6 +41,10 @@ - #include "terminal-util.h" - #include "signal-util.h" +Index: systemd-228/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-228.orig/src/vconsole/vconsole-setup.c ++++ systemd-228/src/vconsole/vconsole-setup.c +@@ -36,6 +36,7 @@ + #include "fileio.h" + #include "macro.h" + #include "strv.h" ++#include "fs-util.h" + #include "io-util.h" + #include "locale-util.h" + #include "log.h" +@@ -46,6 +47,10 @@ + #include "util.h" + #include "virt.h" +#define BIOS_DATA_AREA 0x400 +#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 @@ -97,7 +113,7 @@ Cristian Rodríguez static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -359,9 +363,10 @@ int main(int argc, char **argv) { +@@ -364,9 +369,10 @@ int main(int argc, char **argv) { #ifdef HAVE_SYSV_COMPAT _cleanup_free_ char *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, @@ -110,7 +126,7 @@ Cristian Rodríguez bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; bool utf8, font_copy = false, font_ok, keyboard_ok; -@@ -399,6 +404,7 @@ int main(int argc, char **argv) { +@@ -404,6 +410,7 @@ int main(int argc, char **argv) { "KBD_DELAY", &vc_kbd_delay, "KBD_RATE", &vc_kbd_rate, "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, @@ -118,7 +134,7 @@ Cristian Rodríguez "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -416,6 +422,32 @@ int main(int argc, char **argv) { +@@ -421,6 +428,32 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -151,7 +167,7 @@ Cristian Rodríguez #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -451,6 +483,10 @@ int main(int argc, char **argv) { +@@ -456,6 +489,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; @@ -162,8 +178,10 @@ Cristian Rodríguez #ifdef HAVE_SYSV_COMPAT comp_ok = compose_load_and_wait(vc, vc_compose_table); rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); ---- systemd-222.orig/units/systemd-vconsole-setup.service.in -+++ systemd-222/units/systemd-vconsole-setup.service.in +Index: systemd-228/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-228.orig/units/systemd-vconsole-setup.service.in ++++ systemd-228/units/systemd-vconsole-setup.service.in @@ -10,7 +10,7 @@ Description=Setup Virtual Console Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index 520c7bbe..118f333d 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -2,16 +2,22 @@ From: Frederic Crozat Date: Tue, 4 Dec 2012 16:51:32 +0000 Subject: handle root_uses_lang value in /etc/sysconfig/language -handle ROOT_USES_LANG=ctype (bnc#792182). +handle ROOT_USES_LANG=ctype (boo#792182). --- - src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) + src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) -Index: systemd-221/src/core/locale-setup.c +Index: systemd-228/src/core/locale-setup.c =================================================================== ---- systemd-221.orig/src/core/locale-setup.c -+++ systemd-221/src/core/locale-setup.c -@@ -34,6 +34,10 @@ int locale_setup(char ***environment) { +--- systemd-228.orig/src/core/locale-setup.c ++++ systemd-228/src/core/locale-setup.c +@@ -30,11 +30,16 @@ + #include "strv.h" + #include "util.h" + #include "virt.h" ++#include "alloc-util.h" + + int locale_setup(char ***environment) { char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; @@ -20,9 +26,9 @@ Index: systemd-221/src/core/locale-setup.c + char _cleanup_free_ *root_uses_lang = NULL; +#endif - if (detect_container(NULL) <= 0) { + if (detect_container() <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -80,6 +85,41 @@ int locale_setup(char ***environment) { +@@ -81,6 +86,41 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } diff --git a/insserv-generator.patch b/insserv-generator.patch index 9e5afdbc..833d0d66 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -8,16 +8,16 @@ systemd unit drop-in files to add dependencies --- Makefile.am | 9 src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 316 ++++++++++++++++++++++++++++++ - 3 files changed, 352 insertions(+), 1 deletion(-) + src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++ + 3 files changed, 355 insertions(+), 1 deletion(-) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd-224/Makefile.am +Index: systemd-228/Makefile.am =================================================================== ---- systemd-224.orig/Makefile.am -+++ systemd-224/Makefile.am -@@ -617,7 +617,8 @@ nodist_systemunit_DATA += \ +--- systemd-228.orig/Makefile.am ++++ systemd-228/Makefile.am +@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \ systemgenerator_PROGRAMS += \ systemd-sysv-generator \ @@ -27,7 +27,7 @@ Index: systemd-224/Makefile.am endif EXTRA_DIST += \ -@@ -2556,6 +2557,12 @@ $(systemd_boot): $(systemd_boot_solib) +@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib) endif endif @@ -40,10 +40,10 @@ Index: systemd-224/Makefile.am # ------------------------------------------------------------------------------ stub_headers = \ src/boot/efi/util.h \ -Index: systemd-224/src/insserv-generator/Makefile +Index: systemd-228/src/insserv-generator/Makefile =================================================================== --- /dev/null -+++ systemd-224/src/insserv-generator/Makefile ++++ systemd-228/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,11 +73,11 @@ Index: systemd-224/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd-224/src/insserv-generator/insserv-generator.c +Index: systemd-228/src/insserv-generator/insserv-generator.c =================================================================== --- /dev/null -+++ systemd-224/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,316 @@ ++++ systemd-228/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,319 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -112,6 +112,9 @@ Index: systemd-224/src/insserv-generator/insserv-generator.c +#include "path-util.h" +#include "util.h" +#include "strv.h" ++#include "alloc-util.h" ++#include "string-util.h" ++#include "fd-util.h" + +static const char *arg_dest = "/tmp"; + diff --git a/macros.systemd.upstream b/macros.systemd.upstream index 8c2e84f6..2ba0ff05 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -1,4 +1,4 @@ -# -*- Mode: makefile; indent-tabs-mode: t -*- */ +# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ # # This file is part of systemd. # @@ -39,7 +39,7 @@ Requires(postun): systemd \ %systemd_post() \ if [ $1 -eq 1 ] ; then \ # Initial installation \ - systemctl preset %{?*} >/dev/null 2>&1 || : \ + systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \ fi \ %{nil} @@ -48,8 +48,7 @@ fi \ %systemd_preun() \ if [ $1 -eq 0 ] ; then \ # Package removal, not upgrade \ - systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ - systemctl stop %{?*} > /dev/null 2>&1 || : \ + systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \ fi \ %{nil} @@ -60,14 +59,11 @@ if [ $1 -eq 0 ] ; then \ fi \ %{nil} -%systemd_postun() \ -systemctl daemon-reload >/dev/null 2>&1 || : \ -%{nil} +%systemd_postun() %{nil} %systemd_user_postun() %{nil} %systemd_postun_with_restart() \ -systemctl daemon-reload >/dev/null 2>&1 || : \ if [ $1 -ge 1 ] ; then \ # Package upgrade, not uninstall \ systemctl try-restart %{?*} >/dev/null 2>&1 || : \ diff --git a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch deleted file mode 100644 index b6859af1..00000000 --- a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Robert Schweikert -Date: Fri, 12 Apr 2013 12:08:16 -0400 -Subject: rules: add lid switch of ARM based Chromebook as a power switch to - logind - ---- - src/login/70-power-switch.rules | 1 + - 1 file changed, 1 insertion(+) - ---- a/src/login/70-power-switch.rules -+++ b/src/login/70-power-switch.rules -@@ -11,5 +11,6 @@ SUBSYSTEM=="input", KERNEL=="event*", SU - SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" - SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" -+SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="gpio-keys.8", TAG+="power-switch" - - LABEL="power_switch_end" diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index c00f8623..e6474d8d 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -3,29 +3,29 @@ Use and set default logging console for both journald and kernel messages --- src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ src/journal/journald-console.h | 3 + - src/journal/journald-server.c | 6 ++ - 3 files changed, 109 insertions(+) + src/journal/journald-server.c | 5 ++ + 3 files changed, 108 insertions(+) -Index: systemd-221/src/journal/journald-console.c +Index: systemd-228/src/journal/journald-console.c =================================================================== ---- systemd-221.orig/src/journal/journald-console.c -+++ systemd-221/src/journal/journald-console.c +--- systemd-228.orig/src/journal/journald-console.c ++++ systemd-228/src/journal/journald-console.c @@ -22,6 +22,14 @@ - #include #include #include + #include +#ifdef HAVE_SYSV_COMPAT -+# include -+# include -+# include -+# include -+# include -+# include "util.h" ++# include ++# include ++# include ++# include ++# include ++# include "string-util.h" +#endif - #include "fileio.h" - #include "journald-server.h" -@@ -45,6 +53,76 @@ static bool prefix_timestamp(void) { + #include "alloc-util.h" + #include "fd-util.h" +@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } @@ -102,7 +102,7 @@ Index: systemd-221/src/journal/journald-console.c void server_forward_console( Server *s, int priority, -@@ -66,6 +144,12 @@ void server_forward_console( +@@ -71,6 +149,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; @@ -115,10 +115,10 @@ Index: systemd-221/src/journal/journald-console.c /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -102,7 +186,23 @@ void server_forward_console( +@@ -107,7 +191,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { - log_debug_errno(errno, "Failed to open %s for logging: %m", tty); + log_debug_errno(fd, "Failed to open %s for logging: %m", tty); +#ifdef HAVE_SYSV_COMPAT + if (fd != -ENOENT && fd != -ENODEV) + return; @@ -139,10 +139,10 @@ Index: systemd-221/src/journal/journald-console.c } if (writev(fd, iovec, n) < 0) -Index: systemd-221/src/journal/journald-console.h +Index: systemd-228/src/journal/journald-console.h =================================================================== ---- systemd-221.orig/src/journal/journald-console.h -+++ systemd-221/src/journal/journald-console.h +--- systemd-228.orig/src/journal/journald-console.h ++++ systemd-228/src/journal/journald-console.h @@ -24,3 +24,6 @@ #include "journald-server.h" @@ -150,19 +150,19 @@ Index: systemd-221/src/journal/journald-console.h + +void klogconsole(Server *s); +void default_tty_path(Server *s); -Index: systemd-221/src/journal/journald-server.c +Index: systemd-228/src/journal/journald-server.c =================================================================== ---- systemd-221.orig/src/journal/journald-server.c -+++ systemd-221/src/journal/journald-server.c -@@ -52,6 +52,7 @@ - #include "journal-internal.h" - #include "journal-vacuum.h" - #include "journal-authenticate.h" +--- systemd-228.orig/src/journal/journald-server.c ++++ systemd-228/src/journal/journald-server.c +@@ -55,6 +55,7 @@ + #include "journald-audit.h" + #include "journald-kmsg.h" + #include "journald-native.h" +#include "journald-console.h" #include "journald-rate-limit.h" - #include "journald-kmsg.h" - #include "journald-syslog.h" -@@ -1514,6 +1515,11 @@ int server_init(Server *s) { + #include "journald-server.h" + #include "journald-stream.h" +@@ -1751,6 +1752,10 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); @@ -170,7 +170,6 @@ Index: systemd-221/src/journal/journald-server.c + + if (s->tty_path) + klogconsole(s); -+ + if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", - s->rate_limit_interval, s->rate_limit_burst); diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff index 45253b12..ce772aac 100644 --- a/suse-sysv-bootd-support.diff +++ b/suse-sysv-bootd-support.diff @@ -7,12 +7,14 @@ This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. [Implementation note: currently, the unit is generated, but not activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] --- - src/sysv-generator/sysv-generator.c | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) + src/sysv-generator/sysv-generator.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) ---- systemd-222.orig/src/sysv-generator/sysv-generator.c -+++ systemd-222/src/sysv-generator/sysv-generator.c -@@ -39,7 +39,8 @@ +Index: systemd-228/src/sysv-generator/sysv-generator.c +=================================================================== +--- systemd-228.orig/src/sysv-generator/sysv-generator.c ++++ systemd-228/src/sysv-generator/sysv-generator.c +@@ -46,7 +46,8 @@ typedef enum RunlevelType { RUNLEVEL_UP, @@ -22,7 +24,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] } RunlevelType; static const struct { -@@ -47,6 +48,9 @@ static const struct { +@@ -54,6 +55,9 @@ static const struct { const char *target; const RunlevelType type; } rcnd_table[] = { @@ -32,7 +34,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] /* Standard SysV runlevels for start-up */ { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, -@@ -62,10 +66,10 @@ static const struct { +@@ -69,10 +73,10 @@ static const struct { directories in this order, and we want to make sure that sysv_start_priority is known when we first load the unit. And that value we only know from S links. Hence @@ -45,7 +47,7 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] typedef struct SysvStub { char *name; -@@ -243,6 +247,10 @@ static char *sysv_translate_name(const c +@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c _cleanup_free_ char *c = NULL; char *res; @@ -56,21 +58,18 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] c = strdup(name); if (!c) return NULL; -@@ -859,10 +867,10 @@ static int set_dependencies_from_rcnd(co +@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co if (de->d_name[0] == 'S') { -- if (rcnd_table[i].type == RUNLEVEL_UP) { +- if (rcnd_table[i].type == RUNLEVEL_UP) + if (rcnd_table[i].type == RUNLEVEL_UP || + rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = - MAX(a*10 + b, service->sysv_start_priority); -- } + service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority); r = set_ensure_allocated(&runlevel_services[i], NULL); - if (r < 0) -@@ -873,7 +881,8 @@ static int set_dependencies_from_rcnd(co - goto finish; +@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co + } } else if (de->d_name[0] == 'K' && - (rcnd_table[i].type == RUNLEVEL_DOWN)) { @@ -78,4 +77,4 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] + rcnd_table[i].type == RUNLEVEL_SYSINIT)) { r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) + if (r < 0) { diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch index a67fa47f..bc7985dc 100644 --- a/systemd-add-user-keep.patch +++ b/systemd-add-user-keep.patch @@ -1,35 +1,35 @@ --- man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 47 ++++++++++++++++++++++++++++++++++++++++------- - 2 files changed, 43 insertions(+), 7 deletions(-) + src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 43 insertions(+), 6 deletions(-) -Index: systemd-221/man/tmpfiles.d.xml +Index: systemd-228/man/tmpfiles.d.xml =================================================================== ---- systemd-221.orig/man/tmpfiles.d.xml -+++ systemd-221/man/tmpfiles.d.xml -@@ -528,6 +528,9 @@ +--- systemd-228.orig/man/tmpfiles.d.xml ++++ systemd-228/man/tmpfiles.d.xml +@@ -599,6 +599,9 @@ f, F, and - w may be used to specify a short string that + w, the argument may be used to specify a short string that is written to the file, suffixed by a newline. For + x, X, a comma separated list of + usernames. If given, only paths belonging to these users will be excluded + during directory cleanup. Ignored for all other lines. For C, specifies the source file or - directory. For t, T + directory. For t and T, determines extended attributes to be set. For -Index: systemd-221/src/tmpfiles/tmpfiles.c +Index: systemd-228/src/tmpfiles/tmpfiles.c =================================================================== ---- systemd-221.orig/src/tmpfiles/tmpfiles.c -+++ systemd-221/src/tmpfiles/tmpfiles.c +--- systemd-228.orig/src/tmpfiles/tmpfiles.c ++++ systemd-228/src/tmpfiles/tmpfiles.c @@ -37,6 +37,7 @@ - #include #include - #include + #include + #include +#include - #include "log.h" - #include "util.h" -@@ -358,6 +359,7 @@ static int dir_cleanup( + #include "acl-util.h" + #include "alloc-util.h" +@@ -378,6 +379,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -37,7 +37,7 @@ Index: systemd-221/src/tmpfiles/tmpfiles.c while ((dent = readdir(d))) { struct stat s; -@@ -408,14 +410,45 @@ static int dir_cleanup( +@@ -428,14 +430,46 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ @@ -50,7 +50,7 @@ Index: systemd-221/src/tmpfiles/tmpfiles.c + found_glob = true; + found = find_glob(globs, sub_path); } -- + - if (find_glob(globs, sub_path)) { - log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); - continue; diff --git a/systemd-mini.changes b/systemd-mini.changes index 4724b61e..0bc6aacf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de + +- systemd-sysv-install: Fix chkconfig argument for disable op + +------------------------------------------------------------------- +Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de + +- Create groups adm,input,tape in fixed order (boo#944660) + +------------------------------------------------------------------- +Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com + +- Make sure we don't use tmpfs on /tmp by default (bsc#940522) + +------------------------------------------------------------------- +Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de + +- Avoid enabling readahead services; they have been removed. +- In %install, only process kbd-model-map.xkb-generated if it + exists. Resolves a build failure in 13.2/42.1. + +------------------------------------------------------------------- +Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org + +- spec: update minimum kernel version to 3.11 +- Update minimum util-linux version to 2.27.1 + +------------------------------------------------------------------- +Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com + +- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) + Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + +------------------------------------------------------------------- +Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 228 +* The various memory-related resource limit settings (such as + LimitAS=) now understand the usual K, M, G, ... suffixes to + the base of 1024 (IEC). Similar, the time-related settings + understand the usual min, h, day, ... suffixes now. +* CPUAffinity= now takes CPU index ranges in addition to just + individual indexes. +* A number of properties previously only settable in unit + files are now also available as properties to set when + creating transient units programmatically via the bus. +- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch + (merged upstream) + +------------------------------------------------------------------- +Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru + +- Update to 227. +- Rebase systemd-pam_config.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, + 0014-journald-with-journaling-FS.patch, + 0019-make-completion-smart-to-be-able-to-redirect.patch, + avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, + set-and-use-default-logconsole.patch, + tty-ask-password-agent-on-console.patch, + 0001-bnc888612-logind-polkit-acpi.patch, + watch_resolv.conf_for_become_changed.patch, + 1097-udevd-increase-maximum-number-of-children.patch. +- Remove + 0002-units-enable-waiting-for-unit-termination-in-certain.patch, + 1001-re-enable-by_path-links-for-ata-devices.patch, + rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: + fixed upstream. + ------------------------------------------------------------------- Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 84245e76..9a6c9af5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define real systemd -%define min_kernel_version 3.7 +%define min_kernel_version 3.11 %bcond_without bash_completion %bcond_without networkd @@ -42,7 +42,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 224 +Version: 228 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -71,7 +71,8 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(mount) >= 2.26 +#XXX: change to 2.27.1 when pkgconfig file is fixed upstream +BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif @@ -112,7 +113,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.26 +Requires: util-linux >= 2.27.1 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -176,16 +177,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind -Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-UPSTREAM (boo#949574) -Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch -# PATCH-FIX-UPSTREAM (bsc#932284) -Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -251,6 +246,8 @@ Patch521: kbd-model-map.patch Patch522: Correct_assert_on_unexpected_error_code.patch # PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch +# PATCH-FIX-UPSTREAM (bsc#956712) +Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # UDEV PATCHES # ============ @@ -260,8 +257,6 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # as it's not changing the code of udev and libudev, then is not a udev # patch. Further patches which add and/or changes udev rules. -# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch -Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch @@ -557,8 +552,6 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 -%patch87 -p1 -%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -587,17 +580,14 @@ cp %{SOURCE7} m4/ %patch386 -p1 %patch430 -p1 %patch475 -p1 -%ifarch %arm -%patch38 -p1 -%endif %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p0 +%patch522 -p1 %patch523 -p0 +%patch524 -p1 # udev patches -%patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 @@ -726,7 +716,7 @@ make %{?_smp_mflags} update-man-list man %endif %install -make install DESTDIR="%buildroot" +%make_install install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} @@ -767,8 +757,11 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# don't mount /tmp as tmpfs for now +# We keep a copy of tmp.mount because it may be removed if not used +# (see %post): we want to be sure tmpfs won't be used for /tmp by +# default on Suse distros. rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -899,8 +892,10 @@ done # add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten -cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >> %{buildroot}//usr/share/systemd/kbd-model-map +if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>"%buildroot/usr/share/systemd/kbd-model-map" +fi %find_lang systemd @@ -910,6 +905,11 @@ do getent group systemd-$name >/dev/null && continue groupadd -r systemd-$name || : done +for name in adm input tape +do + getent group $name >/dev/null && continue + groupadd -r $name || : +done for name in timesync network resolve bus-proxy do getent passwd systemd-$name >/dev/null && continue @@ -956,12 +956,13 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - /usr/bin/systemctl enable \ - getty@tty1.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ - remote-fs.target || : + # Enable these services by default. + # Specifying multiple units can cause the entire operation to not + # execute if one of them is missing, so run systemctl with one unit + # at a time only. + for i in getty@tty1.service remote-fs.target; do + /usr/bin/systemctl enable "$i" || : + done fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -976,6 +977,16 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# Keep tmp.mount if it's been enabled explicitly by the user otherwise +# make sure it wont be activated since it's the default for Suse +# distros. This unit can be pulled (implicitely) in various ways +# (private /tmp, etc..) and it's required by the basic.target +# explicitly since v220. +case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +enabled) ;; +*) rm -f %{_prefix}/lib/systemd/system/tmp.mount +esac + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch index 469004d3..7850822e 100644 --- a/systemd-pam_config.patch +++ b/systemd-pam_config.patch @@ -1,16 +1,32 @@ ---- - src/login/systemd-user | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-221/src/login/systemd-user +Index: systemd-227/factory/etc/pam.d/other =================================================================== ---- systemd-221.orig/src/login/systemd-user -+++ systemd-221/src/login/systemd-user -@@ -2,5 +2,5 @@ +--- systemd-227.orig/factory/etc/pam.d/other ++++ systemd-227/factory/etc/pam.d/other +@@ -1,6 +1,6 @@ + # This file is part of systemd. + +-auth include system-auth +-account include system-auth +-password include system-auth +-session include system-auth ++auth include common-auth ++account include common-account ++password include common-password ++session include common-session +Index: systemd-227/src/login/systemd-user.m4 +=================================================================== +--- systemd-227.orig/src/login/systemd-user.m4 ++++ systemd-227/src/login/systemd-user.m4 +@@ -2,10 +2,10 @@ # # Used by systemd --user instances. -account include system-auth --session include system-auth +account include common-account + + m4_ifdef(`HAVE_SELINUX', + session required pam_selinux.so close + session required pam_selinux.so nottys open + )m4_dnl +-session include system-auth +session include common-session diff --git a/systemd-sysv-install b/systemd-sysv-install index d116728e..4c985a55 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -20,7 +20,7 @@ ROOT="${ROOT:+--root=$ROOT}" [ -n "$NAME" ] || usage case "$1" in enable) chkconfig $ROOT -a "$NAME" ;; - disable) chkconfig $ROOT -r "$NAME" ;; + disable) chkconfig $ROOT -d "$NAME" ;; is-enabled) chkconfig $ROOT -t "$NAME" ;; *) usage ;; esac diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index e114231e..1233b3b2 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -8,19 +8,19 @@ SUSE policy is to not clean /tmp by default. tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: systemd-221/tmpfiles.d/tmp.conf +Index: systemd-228/tmpfiles.d/tmp.conf =================================================================== ---- systemd-221.orig/tmpfiles.d/tmp.conf -+++ systemd-221/tmpfiles.d/tmp.conf +--- systemd-228.orig/tmpfiles.d/tmp.conf ++++ systemd-228/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override --v /tmp 1777 root root 10d --v /var/tmp 1777 root root 30d -+# SUSE policy: we don't clean those directories -+v /tmp 1777 root root - -+v /var/tmp 1777 root root - +-q /tmp 1777 root root 10d +-q /var/tmp 1777 root root 30d ++# SUSE policy: we do not clean these directories ++q /tmp 1777 root root - ++q /var/tmp 1777 root root - # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index 4724b61e..3be3a5fe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de + +- systemd-sysv-install: Fix chkconfig argument for disable op + +------------------------------------------------------------------- +Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de + +- Create groups adm,input,tape in fixed order (boo#944660) + +------------------------------------------------------------------- +Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com + +- Make sure we don't use tmpfs on /tmp by default (bsc#940522) + +------------------------------------------------------------------- +Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de + +- Avoid enabling readahead services; they have been removed. +- In %install, only process kbd-model-map.xkb-generated if it + exists. Resolves a build failure in 13.2/42.1. + +------------------------------------------------------------------- +Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org + +- spec: update minimum kernel version to 3.11 +- Update minimum util-linux version to 2.27.1 + +------------------------------------------------------------------- +Thu Dec 3 15:33:27 UTC 2015 - tchvatal@suse.com + +- Add patch to enable working steam controller: + * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + +------------------------------------------------------------------- +Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com + +- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) + Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + +------------------------------------------------------------------- +Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 228 +* The various memory-related resource limit settings (such as + LimitAS=) now understand the usual K, M, G, ... suffixes to + the base of 1024 (IEC). Similar, the time-related settings + understand the usual min, h, day, ... suffixes now. +* CPUAffinity= now takes CPU index ranges in addition to just + individual indexes. +* A number of properties previously only settable in unit + files are now also available as properties to set when + creating transient units programmatically via the bus. +- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch + (merged upstream) + +------------------------------------------------------------------- +Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru + +- Update to 227. +- Rebase systemd-pam_config.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, + 0014-journald-with-journaling-FS.patch, + 0019-make-completion-smart-to-be-able-to-redirect.patch, + avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, + set-and-use-default-logconsole.patch, + tty-ask-password-agent-on-console.patch, + 0001-bnc888612-logind-polkit-acpi.patch, + watch_resolv.conf_for_become_changed.patch, + 1097-udevd-increase-maximum-number-of-children.patch. +- Remove + 0002-units-enable-waiting-for-unit-termination-in-certain.patch, + 1001-re-enable-by_path-links-for-ata-devices.patch, + rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: + fixed upstream. + ------------------------------------------------------------------- Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 674e6fc6..52c9e1d6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define bootstrap 0 %define mini %nil %define real systemd -%define min_kernel_version 3.7 +%define min_kernel_version 3.11 %bcond_without bash_completion %bcond_without networkd @@ -40,7 +40,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 224 +Version: 228 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -66,7 +66,8 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(mount) >= 2.26 +#XXX: change to 2.27.1 when pkgconfig file is fixed upstream +BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif @@ -107,7 +108,7 @@ BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools -Requires: util-linux >= 2.26 +Requires: util-linux >= 2.27.1 Requires(post): coreutils Requires(post): findutils Requires(post): pam-config >= 0.79-5 @@ -171,16 +172,10 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind -Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-UPSTREAM (boo#949574) -Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch -# PATCH-FIX-UPSTREAM (bsc#932284) -Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch # PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch # PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty @@ -246,6 +241,8 @@ Patch521: kbd-model-map.patch Patch522: Correct_assert_on_unexpected_error_code.patch # PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch +# PATCH-FIX-UPSTREAM (bsc#956712) +Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # UDEV PATCHES # ============ @@ -255,8 +252,6 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # as it's not changing the code of udev and libudev, then is not a udev # patch. Further patches which add and/or changes udev rules. -# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch -Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch @@ -289,8 +284,10 @@ Patch1096: 1096-new-udev-root-symlink-generator.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch # PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch Patch1098: 1098-systemd-networkd-alias-network-service.patch +# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch +Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch # PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1099: hostname-NULL.patch +Patch1100: hostname-NULL.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -552,8 +549,6 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch84 -p1 %patch86 -p1 -%patch87 -p1 -%patch88 -p1 %patch90 -p1 %patch91 -p1 %patch120 -p1 @@ -582,17 +577,14 @@ cp %{SOURCE7} m4/ %patch386 -p1 %patch430 -p1 %patch475 -p1 -%ifarch %arm -%patch38 -p1 -%endif %patch490 -p1 %patch520 -p1 %patch521 -p1 -%patch522 -p0 +%patch522 -p1 %patch523 -p0 +%patch524 -p1 # udev patches -%patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 @@ -612,6 +604,7 @@ cp %{SOURCE7} m4/ %patch1097 -p1 %patch1098 -p1 %patch1099 -p1 +%patch1100 -p1 # # In combination with Patch352 set-and-use-default-logconsole.patch @@ -721,7 +714,7 @@ make %{?_smp_mflags} update-man-list man %endif %install -make install DESTDIR="%buildroot" +%make_install install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} @@ -762,8 +755,11 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# don't mount /tmp as tmpfs for now +# We keep a copy of tmp.mount because it may be removed if not used +# (see %post): we want to be sure tmpfs won't be used for /tmp by +# default on Suse distros. rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -894,8 +890,10 @@ done # add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten -cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >> %{buildroot}//usr/share/systemd/kbd-model-map +if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>"%buildroot/usr/share/systemd/kbd-model-map" +fi %find_lang systemd @@ -905,6 +903,11 @@ do getent group systemd-$name >/dev/null && continue groupadd -r systemd-$name || : done +for name in adm input tape +do + getent group $name >/dev/null && continue + groupadd -r $name || : +done for name in timesync network resolve bus-proxy do getent passwd systemd-$name >/dev/null && continue @@ -951,12 +954,13 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ "$1" -eq 1 ]; then - # Enable these services by default. - /usr/bin/systemctl enable \ - getty@tty1.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ - remote-fs.target || : + # Enable these services by default. + # Specifying multiple units can cause the entire operation to not + # execute if one of them is missing, so run systemctl with one unit + # at a time only. + for i in getty@tty1.service remote-fs.target; do + /usr/bin/systemctl enable "$i" || : + done fi # since v207 /etc/sysctl.conf is no longer parsed, however @@ -971,6 +975,16 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# Keep tmp.mount if it's been enabled explicitly by the user otherwise +# make sure it wont be activated since it's the default for Suse +# distros. This unit can be pulled (implicitely) in various ways +# (private /tmp, etc..) and it's required by the basic.target +# explicitly since v220. +case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +enabled) ;; +*) rm -f %{_prefix}/lib/systemd/system/tmp.mount +esac + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch index 9490adc2..f96fc24b 100644 --- a/tty-ask-password-agent-on-console.patch +++ b/tty-ask-password-agent-on-console.patch @@ -26,13 +26,13 @@ Spwan for each device of the system console /dev/console a own process. Replace the system call wait() with with system call waitid(). --- - src/tty-ask-password-agent.c | 264 ++++++++++++++++++++- - 1 file changed, 255 insertions(+), 9 deletions(-) + src/tty-ask-password-agent/tty-ask-password-agent.c | 264 +++++++++++++++++++- + 1 file changed, 254 insertions(+), 10 deletions(-) -diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c -index 4630eb9..df4bada 100644 ---- a/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c +Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c +=================================================================== +--- systemd-228.orig/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -4,6 +4,7 @@ This file is part of systemd. @@ -41,26 +41,26 @@ index 4630eb9..df4bada 100644 systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by -@@ -31,6 +32,9 @@ - #include - #include +@@ -21,6 +22,9 @@ + + #include #include +#include +#include +#include - - #include "util.h" - #include "mkdir.h" -@@ -45,6 +49,8 @@ - #include "process-util.h" + #include + #include + #include +@@ -49,6 +53,8 @@ #include "terminal-util.h" - #include "signal-util.h" + #include "util.h" + #include "utmp-wtmp.h" +#include "fileio.h" +#include "macro.h" static enum { ACTION_LIST, -@@ -53,8 +59,21 @@ static enum { +@@ -57,8 +63,21 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; @@ -82,8 +82,8 @@ index 4630eb9..df4bada 100644 static int ask_password_plymouth( const char *message, -@@ -211,6 +230,80 @@ static int ask_password_plymouth( - return 0; +@@ -240,6 +259,80 @@ finish: + return r; } +static void free_consoles(struct console *con, unsigned int num) { @@ -162,17 +162,17 @@ index 4630eb9..df4bada 100644 + static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; - uint64_t not_after = 0; -@@ -311,7 +404,7 @@ static int parse_password(const char *fi - _cleanup_free_ char *password = NULL; + bool accept_cached = false, echo = false; +@@ -340,7 +433,7 @@ static int parse_password(const char *fi + int tty_fd = -1; if (arg_console) { - tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); + tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); if (tty_fd < 0) - return tty_fd; - } -@@ -554,7 +647,7 @@ static int parse_argv(int argc, char *ar + return log_error_errno(tty_fd, "Failed to acquire /dev/console: %m"); + +@@ -601,7 +694,7 @@ static int parse_argv(int argc, char *ar { "watch", no_argument, NULL, ARG_WATCH }, { "wall", no_argument, NULL, ARG_WALL }, { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, @@ -181,7 +181,7 @@ index 4630eb9..df4bada 100644 {} }; -@@ -598,6 +691,10 @@ static int parse_argv(int argc, char *ar +@@ -643,6 +736,10 @@ static int parse_argv(int argc, char *ar case ARG_CONSOLE: arg_console = true; @@ -192,7 +192,7 @@ index 4630eb9..df4bada 100644 break; case '?': -@@ -612,9 +709,143 @@ static int parse_argv(int argc, char *ar +@@ -657,9 +754,143 @@ static int parse_argv(int argc, char *ar return -EINVAL; } @@ -336,16 +336,16 @@ index 4630eb9..df4bada 100644 int main(int argc, char *argv[]) { int r; -@@ -628,15 +859,28 @@ int main(int argc, char *argv[]) { +@@ -673,16 +904,29 @@ int main(int argc, char *argv[]) { if (r <= 0) goto finish; - if (arg_console) { -- setsid(); -- release_terminal(); +- (void) setsid(); +- (void) release_terminal(); + if (arg_console && !arg_device) + /* -+ * Spwan for each console device a own process ++ * Spawn for each console device a own process + */ + r = ask_on_consoles(argc, argv); + else { @@ -365,15 +365,12 @@ index 4630eb9..df4bada 100644 + else + r = show_passwords(); } -- + - if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) - r = watch_passwords(); - else - r = show_passwords(); - - if (r < 0) - log_error_errno(r, "Error: %m"); - --- -2.2.0 - +- + finish: + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + } diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch index 8df39ad4..2e655400 100644 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ b/use-rndaddentropy-ioctl-to-load-random-seed.patch @@ -8,21 +8,20 @@ Related to bnc#892096 src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 10 deletions(-) -Index: systemd-221/src/random-seed/random-seed.c +Index: systemd-228/src/random-seed/random-seed.c =================================================================== ---- systemd-221.orig/src/random-seed/random-seed.c -+++ systemd-221/src/random-seed/random-seed.c -@@ -22,7 +22,9 @@ - #include - #include - #include -+#include +--- systemd-228.orig/src/random-seed/random-seed.c ++++ systemd-228/src/random-seed/random-seed.c +@@ -24,6 +24,8 @@ #include -+#include #include + #include ++#include ++#include - #include "log.h" -@@ -32,8 +34,8 @@ + #include "alloc-util.h" + #include "fd-util.h" +@@ -36,8 +38,8 @@ #define POOL_SIZE_MIN 512 int main(int argc, char *argv[]) { @@ -33,7 +32,7 @@ Index: systemd-221/src/random-seed/random-seed.c size_t buf_size = 0; ssize_t k; int r; -@@ -65,11 +67,12 @@ int main(int argc, char *argv[]) { +@@ -68,11 +70,12 @@ int main(int argc, char *argv[]) { if (buf_size <= POOL_SIZE_MIN) buf_size = POOL_SIZE_MIN; @@ -48,7 +47,7 @@ Index: systemd-221/src/random-seed/random-seed.c r = mkdir_parents_label(RANDOM_SEED, 0755); if (r < 0) { -@@ -83,6 +86,23 @@ int main(int argc, char *argv[]) { +@@ -86,6 +89,23 @@ int main(int argc, char *argv[]) { if (streq(argv[1], "load")) { @@ -72,7 +71,7 @@ Index: systemd-221/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -103,7 +123,7 @@ int main(int argc, char *argv[]) { +@@ -106,7 +126,7 @@ int main(int argc, char *argv[]) { } } @@ -81,7 +80,7 @@ Index: systemd-221/src/random-seed/random-seed.c if (k < 0) r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); else if (k == 0) -@@ -111,13 +131,29 @@ int main(int argc, char *argv[]) { +@@ -114,13 +134,29 @@ int main(int argc, char *argv[]) { else { (void) lseek(seed_fd, 0, SEEK_SET); @@ -114,7 +113,7 @@ Index: systemd-221/src/random-seed/random-seed.c seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -130,6 +166,21 @@ int main(int argc, char *argv[]) { +@@ -133,6 +169,21 @@ int main(int argc, char *argv[]) { goto finish; } @@ -136,7 +135,7 @@ Index: systemd-221/src/random-seed/random-seed.c } else { log_error("Unknown verb '%s'.", argv[1]); r = -EINVAL; -@@ -144,7 +195,7 @@ int main(int argc, char *argv[]) { +@@ -147,7 +198,7 @@ int main(int argc, char *argv[]) { (void) fchmod(seed_fd, 0600); (void) fchown(seed_fd, 0, 0); @@ -145,7 +144,7 @@ Index: systemd-221/src/random-seed/random-seed.c if (k < 0) { r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); goto finish; -@@ -155,7 +206,7 @@ int main(int argc, char *argv[]) { +@@ -158,7 +209,7 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/v224.tar.gz b/v224.tar.gz deleted file mode 100644 index d4d491a2..00000000 --- a/v224.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d7ac1532a57639fbc828f8a5051a090883c6ad2908618a7a13ab386db831bfc -size 3868075 diff --git a/v228.tar.gz b/v228.tar.gz new file mode 100644 index 00000000..84f9e59d --- /dev/null +++ b/v228.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 +size 4034401 diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch index fcc01432..e6df8c6e 100644 --- a/watch_resolv.conf_for_become_changed.patch +++ b/watch_resolv.conf_for_become_changed.patch @@ -3,19 +3,19 @@ src/core/manager.h | 5 ++ 2 files changed, 98 insertions(+) -Index: systemd-221/src/core/manager.c +Index: systemd-227/src/core/manager.c =================================================================== ---- systemd-221.orig/src/core/manager.c -+++ systemd-221/src/core/manager.c +--- systemd-227.orig/src/core/manager.c ++++ systemd-227/src/core/manager.c @@ -32,6 +32,7 @@ - #include - #include #include + #include + #include +#include #ifdef HAVE_AUDIT #include -@@ -308,6 +309,91 @@ static int manager_check_ask_password(Ma +@@ -294,6 +295,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -107,15 +107,15 @@ Index: systemd-221/src/core/manager.c static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -585,6 +671,7 @@ int manager_new(ManagerRunningAs running - m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; +@@ -576,6 +662,7 @@ int manager_new(ManagerRunningAs running + m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ + m->resolv_conf_inotify_fd = -1; m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ - -@@ -651,6 +738,10 @@ int manager_new(ManagerRunningAs running + m->first_boot = -1; +@@ -637,6 +724,10 @@ int manager_new(ManagerRunningAs running if (r < 0) goto fail; @@ -126,7 +126,7 @@ Index: systemd-221/src/core/manager.c m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -929,6 +1020,8 @@ Manager* manager_free(Manager *m) { +@@ -914,6 +1005,8 @@ Manager* manager_free(Manager *m) { if (!m) return NULL; @@ -135,13 +135,13 @@ Index: systemd-221/src/core/manager.c manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-221/src/core/manager.h +Index: systemd-227/src/core/manager.h =================================================================== ---- systemd-221.orig/src/core/manager.h -+++ systemd-221/src/core/manager.h -@@ -181,6 +181,11 @@ struct Manager { - int utab_inotify_fd; - sd_event_source *mount_utab_event_source; +--- systemd-227.orig/src/core/manager.h ++++ systemd-227/src/core/manager.h +@@ -180,6 +180,11 @@ struct Manager { + struct libmnt_monitor *mount_monitor; + sd_event_source *mount_event_source; + /* Watch out any change of /etc/resolv.conf */ + int resolv_conf_inotify_fd; From b287341d0801075da28f717e5122cd7c1251d2b2d8cd846d3a1dd2731974cf27 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 1 Mar 2016 08:07:33 +0000 Subject: [PATCH 227/991] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=928 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0bc6aacf..3be3a5fe 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -26,6 +26,12 @@ Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org - spec: update minimum kernel version to 3.11 - Update minimum util-linux version to 2.27.1 +------------------------------------------------------------------- +Thu Dec 3 15:33:27 UTC 2015 - tchvatal@suse.com + +- Add patch to enable working steam controller: + * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + ------------------------------------------------------------------- Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 9a6c9af5..7b4a5e4c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -289,8 +289,10 @@ Patch1096: 1096-new-udev-root-symlink-generator.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch # PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch Patch1098: 1098-systemd-networkd-alias-network-service.patch +# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch +Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch # PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1099: hostname-NULL.patch +Patch1100: hostname-NULL.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -607,6 +609,7 @@ cp %{SOURCE7} m4/ %patch1097 -p1 %patch1098 -p1 %patch1099 -p1 +%patch1100 -p1 # # In combination with Patch352 set-and-use-default-logconsole.patch From 951acfa4d41af1193afb59121e3eed6a5fc10e13477a304eed9e09cd0bf1189d Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 1 Mar 2016 09:18:41 +0000 Subject: [PATCH 228/991] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=929 --- ...-.slice-units-from-systemctl-isolate.patch | 54 +++++++++++++++++++ systemd-mini.changes | 8 +++ systemd-mini.spec | 3 ++ systemd.changes | 8 +++ systemd.spec | 3 ++ 5 files changed, 76 insertions(+) create mode 100644 0001-core-exclude-.slice-units-from-systemctl-isolate.patch diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch new file mode 100644 index 00000000..62717048 --- /dev/null +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -0,0 +1,54 @@ +From 1b4cd0cf11feb7d41f2eff17f86fa55b31bb6841 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 18 Feb 2016 22:51:23 +0100 +Subject: [PATCH] core: exclude .slice units from "systemctl isolate" + +Fixes: #1969 +--- + src/core/scope.c | 3 +-- + src/core/slice.c | 8 ++++++++ + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git src/core/scope.c src/core/scope.c +index c5d0ece..361695c 100644 +--- src/core/scope.c ++++ src/core/scope.c +@@ -50,8 +50,7 @@ static void scope_init(Unit *u) { + assert(u->load_state == UNIT_STUB); + + s->timeout_stop_usec = u->manager->default_timeout_stop_usec; +- +- UNIT(s)->ignore_on_isolate = true; ++ u->ignore_on_isolate = true; + } + + static void scope_done(Unit *u) { +diff --git src/core/slice.c src/core/slice.c +index d65364c..667f61b 100644 +--- src/core/slice.c ++++ src/core/slice.c +@@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { + [SLICE_ACTIVE] = UNIT_ACTIVE + }; + ++static void slice_init(Unit *u) { ++ assert(u); ++ assert(u->load_state == UNIT_STUB); ++ ++ u->ignore_on_isolate = true; ++} ++ + static void slice_set_state(Slice *t, SliceState state) { + SliceState old_state; + assert(t); +@@ -305,6 +312,7 @@ const UnitVTable slice_vtable = { + .no_instances = true, + .can_transient = true, + ++ .init = slice_init, + .load = slice_load, + + .coldplug = slice_coldplug, +-- +2.6.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3be3a5fe..85ab0ea5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de + +- Add upstream patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + this fixes forced logouts on isolate target aka changing runlevel + (boo#966535) + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 7b4a5e4c..04091633 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -248,6 +248,8 @@ Patch522: Correct_assert_on_unexpected_error_code.patch Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # PATCH-FIX-UPSTREAM (bsc#956712) Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +# PATCH-FIX-UPSTREAM (bsc#966535) +Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # UDEV PATCHES # ============ @@ -588,6 +590,7 @@ cp %{SOURCE7} m4/ %patch522 -p1 %patch523 -p0 %patch524 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 3be3a5fe..85ab0ea5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de + +- Add upstream patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + this fixes forced logouts on isolate target aka changing runlevel + (boo#966535) + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index 52c9e1d6..37cb1be1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -243,6 +243,8 @@ Patch522: Correct_assert_on_unexpected_error_code.patch Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # PATCH-FIX-UPSTREAM (bsc#956712) Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +# PATCH-FIX-UPSTREAM (bsc#966535) +Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # UDEV PATCHES # ============ @@ -583,6 +585,7 @@ cp %{SOURCE7} m4/ %patch522 -p1 %patch523 -p0 %patch524 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 From 33be5ae29e9a1a48066b9ef5b84f9f2a2adb3d24d091a8ba203f749e4f5173cc Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Thu, 10 Mar 2016 08:05:23 +0000 Subject: [PATCH 229/991] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=930 --- ...lock-value-in-etc-sysconfig-keyboard.patch | 19 +++++++++++-------- systemd-mini.changes | 7 +++++++ systemd.changes | 7 +++++++ 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 18fd4f61..e3d7c312 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -134,7 +134,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -421,6 +428,32 @@ int main(int argc, char **argv) { +@@ -421,6 +428,35 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -146,28 +146,31 @@ Index: systemd-228/src/vconsole/vconsole-setup.c + + fdmem = open ("/dev/mem", O_RDONLY); + if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; ++ log_warning_errno(errno, "Failed to open /dev/mem: %m"); ++ goto finish; + } + + if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; ++ log_warning_errno(errno, "Failed to seek /dev/mem: %m"); ++ goto finish; + } + + if (read(fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; ++ log_warning_errno(errno, "Failed to read /dev/mem: %m"); ++ goto finish; + } + + if (c & BDA_KSF4_NUMLOCK_MASK) + numlock = true; ++ finish: ++ if (fdmem >= 0) ++ close(fdmem); + } +#endif /* x86 */ #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +489,10 @@ int main(int argc, char **argv) { +@@ -456,6 +492,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; diff --git a/systemd-mini.changes b/systemd-mini.changes index 85ab0ea5..1de53cc5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de + +- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + to allow that open, seek, and read of /dev/mem may fail e.g. + on XEN based virtual guests (bsc#961120) + ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de diff --git a/systemd.changes b/systemd.changes index 85ab0ea5..1de53cc5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de + +- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + to allow that open, seek, and read of /dev/mem may fail e.g. + on XEN based virtual guests (bsc#961120) + ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de From b9f41ee89465c28c7247e92f351c30f1b106c6d0fe2bb6c547741715c542123b Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Fri, 11 Mar 2016 10:46:33 +0000 Subject: [PATCH 230/991] Accepting request 365799 from home:lnussel:branches:Base:System - require curl and bzip2 to build importd - curl also causes building of journal-upload. That one has rather unusal certificate usage, set it's ca root to /etc/pki/systemd instead of the built-in default /etc/ssl as journal-remote and journal-upload think they kan put stuff in /etc/ssl/certs then but that directory is managed by p11-kit and doesn't serve the purpose those programs think. - /var/lib/systemd/random-seed is a file - own /var/lib/machines OBS-URL: https://build.opensuse.org/request/show/365799 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=931 --- ...-.slice-units-from-systemctl-isolate.patch | 8 +- ...et-properties-only-once-to-copy-them.patch | 4 +- ...nal-linking-non-fatal-in-try-and-auto.diff | 116 ++++++++++++++++++ systemd-mini.changes | 13 ++ systemd-mini.spec | 32 ++++- systemd.changes | 13 ++ systemd.spec | 32 ++++- 7 files changed, 206 insertions(+), 12 deletions(-) create mode 100644 systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch index 62717048..c954427f 100644 --- a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -11,8 +11,8 @@ Fixes: #1969 diff --git src/core/scope.c src/core/scope.c index c5d0ece..361695c 100644 ---- src/core/scope.c -+++ src/core/scope.c +--- a/src/core/scope.c ++++ b/src/core/scope.c @@ -50,8 +50,7 @@ static void scope_init(Unit *u) { assert(u->load_state == UNIT_STUB); @@ -25,8 +25,8 @@ index c5d0ece..361695c 100644 static void scope_done(Unit *u) { diff --git src/core/slice.c src/core/slice.c index d65364c..667f61b 100644 ---- src/core/slice.c -+++ src/core/slice.c +--- a/src/core/slice.c ++++ b/src/core/slice.c @@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { [SLICE_ACTIVE] = UNIT_ACTIVE }; diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch index b106fc22..22c45e4d 100644 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch @@ -9,8 +9,8 @@ for the virtual consoles (boo#904214) src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 @@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) unsigned short map16[E_TABSZ]; struct unimapdesc unimapd; diff --git a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff new file mode 100644 index 00000000..17a09a8a --- /dev/null +++ b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff @@ -0,0 +1,116 @@ +From 84d816c48b57b43e833e2917bbd278c116816fcf Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 28 Jan 2016 20:15:49 +0100 +Subject: [PATCH] nspawn: make journal linking non-fatal in try and auto modes + +Fixes #2091 +--- + src/nspawn/nspawn.c | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index f6a2c03..97ea51a 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -1338,6 +1338,7 @@ static int setup_journal(const char *directory) { + sd_id128_t machine_id, this_id; + _cleanup_free_ char *b = NULL, *d = NULL; + const char *etc_machine_id, *p, *q; ++ bool try; + char *id; + int r; + +@@ -1345,16 +1346,21 @@ static int setup_journal(const char *directory) { + if (arg_ephemeral) + return 0; + ++ if (arg_link_journal == LINK_NO) ++ return 0; ++ ++ try = arg_link_journal_try || arg_link_journal == LINK_AUTO; ++ + etc_machine_id = prefix_roota(directory, "/etc/machine-id"); + + r = read_one_line_file(etc_machine_id, &b); +- if (r == -ENOENT && arg_link_journal == LINK_AUTO) ++ if (r == -ENOENT && try) + return 0; + else if (r < 0) + return log_error_errno(r, "Failed to read machine ID from %s: %m", etc_machine_id); + + id = strstrip(b); +- if (isempty(id) && arg_link_journal == LINK_AUTO) ++ if (isempty(id) && try) + return 0; + + /* Verify validity */ +@@ -1367,16 +1373,13 @@ static int setup_journal(const char *directory) { + return log_error_errno(r, "Failed to retrieve machine ID: %m"); + + if (sd_id128_equal(machine_id, this_id)) { +- log_full(arg_link_journal == LINK_AUTO ? LOG_WARNING : LOG_ERR, ++ log_full(try ? LOG_WARNING : LOG_ERR, + "Host and machine ids are equal (%s): refusing to link journals", id); +- if (arg_link_journal == LINK_AUTO) ++ if (try) + return 0; + return -EEXIST; + } + +- if (arg_link_journal == LINK_NO) +- return 0; +- + r = userns_mkdir(directory, "/var", 0755, 0, 0); + if (r < 0) + return log_error_errno(r, "Failed to create /var: %m"); +@@ -1393,21 +1396,19 @@ static int setup_journal(const char *directory) { + q = prefix_roota(directory, p); + + if (path_is_mount_point(p, 0) > 0) { +- if (arg_link_journal != LINK_AUTO) { +- log_error("%s: already a mount point, refusing to use for journal", p); +- return -EEXIST; +- } ++ if (try) ++ return 0; + +- return 0; ++ log_error("%s: already a mount point, refusing to use for journal", p); ++ return -EEXIST; + } + + if (path_is_mount_point(q, 0) > 0) { +- if (arg_link_journal != LINK_AUTO) { +- log_error("%s: already a mount point, refusing to use for journal", q); +- return -EEXIST; +- } ++ if (try) ++ return 0; + +- return 0; ++ log_error("%s: already a mount point, refusing to use for journal", q); ++ return -EEXIST; + } + + r = readlink_and_make_absolute(p, &d); +@@ -1441,7 +1442,7 @@ static int setup_journal(const char *directory) { + if (arg_link_journal == LINK_GUEST) { + + if (symlink(q, p) < 0) { +- if (arg_link_journal_try) { ++ if (try) { + log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p); + return 0; + } else +@@ -1459,7 +1460,7 @@ static int setup_journal(const char *directory) { + * permanent journal set up, don't force it here */ + r = mkdir(p, 0755); + if (r < 0) { +- if (arg_link_journal_try) { ++ if (try) { + log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p); + return 0; + } else +-- +2.7.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 1de53cc5..efa43868 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -13,6 +13,19 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) +------------------------------------------------------------------- +Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + +- require curl and bzip2 to build importd +- curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they kan put stuff in /etc/ssl/certs then but + that directory is managed by p11-kit and doesn't serve the purpose + those programs think. +- /var/lib/systemd/random-seed is a file +- own /var/lib/machines + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 04091633..83f380d1 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -92,6 +92,9 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +# curl and bzip2 are required for building importd +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -250,6 +253,8 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff # UDEV PATCHES # ============ @@ -588,9 +593,10 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p0 +%patch523 -p1 %patch524 -p1 -%patch525 -p0 +%patch525 -p1 +%patch526 -p1 # udev patches %patch1002 -p1 @@ -677,6 +683,12 @@ export LDFLAGS cflags -pipe CFLAGS cflags -Wl,-O2 LDFLAGS cflags -Wl,--hash-size=8599 LDFLAGS +# certificate-root is set to /etc/pki/systemd instead of the +# built-in default /etc/ssl as journal-remote and journal-upload +# think they kan put stuff in /etc/ssl/certs then but that +# directory is managed by p11-kit and doesn't serve the purpose +# those programs think +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -686,10 +698,12 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ + --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ + --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -847,7 +861,10 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed +> %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# machined +mkdir -p %{buildroot}%{_localstatedir}/lib/machines %fdupes -s %{buildroot}%{_mandir} @@ -1309,6 +1326,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1415,6 +1433,7 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1422,6 +1441,13 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif +%if ! 0%{?bootstrap} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_prefix}/lib/systemd/import-pubring.gpg +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion diff --git a/systemd.changes b/systemd.changes index 1de53cc5..efa43868 100644 --- a/systemd.changes +++ b/systemd.changes @@ -13,6 +13,19 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) +------------------------------------------------------------------- +Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + +- require curl and bzip2 to build importd +- curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they kan put stuff in /etc/ssl/certs then but + that directory is managed by p11-kit and doesn't serve the purpose + those programs think. +- /var/lib/systemd/random-seed is a file +- own /var/lib/machines + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index 37cb1be1..72041fcf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,6 +87,9 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +# curl and bzip2 are required for building importd +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -245,6 +248,8 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff # UDEV PATCHES # ============ @@ -583,9 +588,10 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p0 +%patch523 -p1 %patch524 -p1 -%patch525 -p0 +%patch525 -p1 +%patch526 -p1 # udev patches %patch1002 -p1 @@ -672,6 +678,12 @@ export LDFLAGS cflags -pipe CFLAGS cflags -Wl,-O2 LDFLAGS cflags -Wl,--hash-size=8599 LDFLAGS +# certificate-root is set to /etc/pki/systemd instead of the +# built-in default /etc/ssl as journal-remote and journal-upload +# think they kan put stuff in /etc/ssl/certs then but that +# directory is managed by p11-kit and doesn't serve the purpose +# those programs think +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -681,10 +693,12 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ + --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ + --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -842,7 +856,10 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed +> %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# machined +mkdir -p %{buildroot}%{_localstatedir}/lib/machines %fdupes -s %{buildroot}%{_mandir} @@ -1304,6 +1321,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1410,6 +1428,7 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1417,6 +1436,13 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif +%if ! 0%{?bootstrap} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_prefix}/lib/systemd/import-pubring.gpg +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion From 923f9ed571fbcba958355d48474313716aaa52dd858415e8c7619ab43e176afe Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Mar 2016 16:13:06 +0000 Subject: [PATCH 231/991] - systemd should require udev with the exact same version OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=932 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index efa43868..b65355a2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com + +- systemd should require udev with the exact same version + ------------------------------------------------------------------- Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 83f380d1..64c09ca0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -105,7 +105,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev >= 172 +Requires: udev = %{version}-%{release} Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd diff --git a/systemd.changes b/systemd.changes index efa43868..b65355a2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com + +- systemd should require udev with the exact same version + ------------------------------------------------------------------- Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 72041fcf..b713dac2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -100,7 +100,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev >= 172 +Requires: udev = %{version}-%{release} Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd From e3627545a26ab14ddf877e5002985524d137ee371e98348687c27acd24b633a6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 16 Mar 2016 09:23:42 +0000 Subject: [PATCH 232/991] Accepting request 368139 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/368139 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=229 --- ...-.slice-units-from-systemctl-isolate.patch | 54 +++++++++++++++++++ systemd-mini.changes | 14 +++++ systemd-mini.spec | 8 ++- systemd.changes | 8 +++ systemd.spec | 3 ++ 5 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 0001-core-exclude-.slice-units-from-systemctl-isolate.patch diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch new file mode 100644 index 00000000..62717048 --- /dev/null +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -0,0 +1,54 @@ +From 1b4cd0cf11feb7d41f2eff17f86fa55b31bb6841 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 18 Feb 2016 22:51:23 +0100 +Subject: [PATCH] core: exclude .slice units from "systemctl isolate" + +Fixes: #1969 +--- + src/core/scope.c | 3 +-- + src/core/slice.c | 8 ++++++++ + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git src/core/scope.c src/core/scope.c +index c5d0ece..361695c 100644 +--- src/core/scope.c ++++ src/core/scope.c +@@ -50,8 +50,7 @@ static void scope_init(Unit *u) { + assert(u->load_state == UNIT_STUB); + + s->timeout_stop_usec = u->manager->default_timeout_stop_usec; +- +- UNIT(s)->ignore_on_isolate = true; ++ u->ignore_on_isolate = true; + } + + static void scope_done(Unit *u) { +diff --git src/core/slice.c src/core/slice.c +index d65364c..667f61b 100644 +--- src/core/slice.c ++++ src/core/slice.c +@@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { + [SLICE_ACTIVE] = UNIT_ACTIVE + }; + ++static void slice_init(Unit *u) { ++ assert(u); ++ assert(u->load_state == UNIT_STUB); ++ ++ u->ignore_on_isolate = true; ++} ++ + static void slice_set_state(Slice *t, SliceState state) { + SliceState old_state; + assert(t); +@@ -305,6 +312,7 @@ const UnitVTable slice_vtable = { + .no_instances = true, + .can_transient = true, + ++ .init = slice_init, + .load = slice_load, + + .coldplug = slice_coldplug, +-- +2.6.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 0bc6aacf..85ab0ea5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de + +- Add upstream patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + this fixes forced logouts on isolate target aka changing runlevel + (boo#966535) + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de @@ -26,6 +34,12 @@ Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org - spec: update minimum kernel version to 3.11 - Update minimum util-linux version to 2.27.1 +------------------------------------------------------------------- +Thu Dec 3 15:33:27 UTC 2015 - tchvatal@suse.com + +- Add patch to enable working steam controller: + * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + ------------------------------------------------------------------- Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 9a6c9af5..04091633 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -248,6 +248,8 @@ Patch522: Correct_assert_on_unexpected_error_code.patch Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # PATCH-FIX-UPSTREAM (bsc#956712) Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +# PATCH-FIX-UPSTREAM (bsc#966535) +Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # UDEV PATCHES # ============ @@ -289,8 +291,10 @@ Patch1096: 1096-new-udev-root-symlink-generator.patch Patch1097: 1097-udevd-increase-maximum-number-of-children.patch # PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch Patch1098: 1098-systemd-networkd-alias-network-service.patch +# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch +Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch # PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1099: hostname-NULL.patch +Patch1100: hostname-NULL.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -586,6 +590,7 @@ cp %{SOURCE7} m4/ %patch522 -p1 %patch523 -p0 %patch524 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 @@ -607,6 +612,7 @@ cp %{SOURCE7} m4/ %patch1097 -p1 %patch1098 -p1 %patch1099 -p1 +%patch1100 -p1 # # In combination with Patch352 set-and-use-default-logconsole.patch diff --git a/systemd.changes b/systemd.changes index 3be3a5fe..85ab0ea5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de + +- Add upstream patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + this fixes forced logouts on isolate target aka changing runlevel + (boo#966535) + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index 52c9e1d6..37cb1be1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -243,6 +243,8 @@ Patch522: Correct_assert_on_unexpected_error_code.patch Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # PATCH-FIX-UPSTREAM (bsc#956712) Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +# PATCH-FIX-UPSTREAM (bsc#966535) +Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # UDEV PATCHES # ============ @@ -583,6 +585,7 @@ cp %{SOURCE7} m4/ %patch522 -p1 %patch523 -p0 %patch524 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 From 023ef9eec7eef81bd988e13bfe98efb8db2e6f5b2a0075b41ad12723e51e3b54 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Mar 2016 08:09:40 +0000 Subject: [PATCH 233/991] Accepting request 372966 from home:fbui:branches:Base:System:cleanup-package-deps OBS-URL: https://build.opensuse.org/request/show/372966 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=933 --- systemd-mini.changes | 22 ++++++++++++++++++++ systemd-mini.spec | 49 +++++++------------------------------------- systemd.changes | 22 ++++++++++++++++++++ systemd.spec | 49 +++++++------------------------------------- 4 files changed, 58 insertions(+), 84 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index b65355a2..3c123107 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com + +- drop all compiler/linker option customizations: + - -pipe option is used by default since day 0 + - get rid of cflags() function which is not needed + - --hash-size has no impact specially in runtime + + IOW, use the default options for the compiler and the linker, + there's no point in making systemd different from other package in + this regards. + +------------------------------------------------------------------- +Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com + +- use %make_build instead of 'make %{?_smp_mflags}' + +------------------------------------------------------------------- +Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com + +- be more strict on own lib version requirements + ------------------------------------------------------------------- Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 64c09ca0..87119bc0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -329,7 +329,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -343,7 +343,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -629,38 +629,6 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -672,23 +640,19 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh -export V=e export CFLAGS="%{optflags}" -export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS + # certificate-root is set to /etc/pki/systemd instead of the # built-in default /etc/ssl as journal-remote and journal-upload # think they kan put stuff in /etc/ssl/certs then but that # directory is managed by p11-kit and doesn't serve the purpose # those programs think -# +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -730,9 +694,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-resolved \ %endif --disable-kdbus -make %{?_smp_mflags} + +%make_build V=e %if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man +%make_build V=e update-man-list man %endif %install diff --git a/systemd.changes b/systemd.changes index b65355a2..3c123107 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com + +- drop all compiler/linker option customizations: + - -pipe option is used by default since day 0 + - get rid of cflags() function which is not needed + - --hash-size has no impact specially in runtime + + IOW, use the default options for the compiler and the linker, + there's no point in making systemd different from other package in + this regards. + +------------------------------------------------------------------- +Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com + +- use %make_build instead of 'make %{?_smp_mflags}' + +------------------------------------------------------------------- +Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com + +- be more strict on own lib version requirements + ------------------------------------------------------------------- Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b713dac2..64a88ce1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -324,7 +324,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -338,7 +338,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -624,38 +624,6 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -667,23 +635,19 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh -export V=e export CFLAGS="%{optflags}" -export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS + # certificate-root is set to /etc/pki/systemd instead of the # built-in default /etc/ssl as journal-remote and journal-upload # think they kan put stuff in /etc/ssl/certs then but that # directory is managed by p11-kit and doesn't serve the purpose # those programs think -# +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -725,9 +689,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-resolved \ %endif --disable-kdbus -make %{?_smp_mflags} + +%make_build V=e %if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man +%make_build V=e update-man-list man %endif %install From 527ef37082effed9c45deebf1b05f44b1f58b6e87f3b056230d6dd12f9509915 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Tue, 29 Mar 2016 15:52:23 +0000 Subject: [PATCH 234/991] Accepting request 380337 from home:jengelh:branches:Base:System - Add two patches which address logind/networkd disappearing from dbus (and busctl) even while the units and processes continue running. 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch OBS-URL: https://build.opensuse.org/request/show/380337 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=934 --- ...e-synchronization-after-daemon-reloa.patch | 193 ++++++++++++++++++ ...-name-list-after-deserializing-durin.patch | 74 +++++++ systemd-mini.changes | 9 + systemd-mini.spec | 6 + systemd.changes | 9 + systemd.spec | 6 + 6 files changed, 297 insertions(+) create mode 100644 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch create mode 100644 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch diff --git a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch new file mode 100644 index 00000000..b1a18d36 --- /dev/null +++ b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch @@ -0,0 +1,193 @@ +From d8ccf5fdc91c46ab5d0ae86e38c206bc508d4188 Mon Sep 17 00:00:00 2001 [> v228] +From: Daniel Mack +Date: Fri, 18 Dec 2015 17:28:15 +0100 +Subject: [PATCH] core: fix bus name synchronization after daemon-reload + +During daemon-reload, PID1 temporarly loses its DBus connection, so there's +a small window in which all signals sent by dbus-daemon are lost. + +This is a problem, since we rely on the NameOwnerChanged signals in order to +consider a service with Type=dbus fully started or terminated, respectively. + +In order to fix this, a rewrite of bus_list_names() is necessary. We used +to walk the current list of names on the bus, and blindly triggered the +bus_name_owner_change() callback on each service, providing the actual name +as current owner. This implementation has a number of problems: + +* We cannot detect if the the name was moved from one owner to the other + while we were reloading + +* We don't notify services which missed the name loss signal + +* Providing the actual name as current owner is a hack, as the comment also + admits. + +To fix this, this patch carries the following changes: + +* Track the name of the current bus name owner, and (de-)serialize it + during reload. This way, we can detect changes. + +* In bus_list_names(), walk the list of bus names we're interested in + first, and then see if the name is active on the bus. If it is, + check it it's still the same as it used to be, and synthesize + NameOwnerChanged signals for the name add and/or loss. + +This should fully synchronize the current name list with the internal +state of all services. +--- + src/core/dbus.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------- + src/core/service.c | 14 ++++++++++++ + src/core/service.h | 1 + + 3 files changed, 69 insertions(+), 10 deletions(-) + +diff --git a/src/core/dbus.c b/src/core/dbus.c +index e7ee216..58069f5 100644 +--- a/src/core/dbus.c ++++ b/src/core/dbus.c +@@ -736,7 +736,9 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void + + static int bus_list_names(Manager *m, sd_bus *bus) { + _cleanup_strv_free_ char **names = NULL; +- char **i; ++ const char *name; ++ Iterator i; ++ Unit *u; + int r; + + assert(m); +@@ -746,15 +748,55 @@ static int bus_list_names(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to get initial list of names: %m"); + +- /* This is a bit hacky, we say the owner of the name is the +- * name itself, because we don't want the extra traffic to +- * figure out the real owner. */ +- STRV_FOREACH(i, names) { +- Unit *u; ++ /* We have to synchronize the current bus names with the ++ * list of active services. To do this, walk the list of ++ * all units with bus names. */ ++ HASHMAP_FOREACH_KEY(u, name, m->watch_bus, i) { ++ Service *s = SERVICE(u); ++ ++ assert(s); + +- u = hashmap_get(m->watch_bus, *i); +- if (u) +- UNIT_VTABLE(u)->bus_name_owner_change(u, *i, NULL, *i); ++ if (!streq_ptr(s->bus_name, name)) { ++ log_unit_warning(u, "Bus name has changed from %s → %s, ignoring.", s->bus_name, name); ++ continue; ++ } ++ ++ /* Check if a service's bus name is in the list of currently ++ * active names */ ++ if (strv_contains(names, name)) { ++ _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; ++ const char *unique; ++ ++ /* If it is, determine its current owner */ ++ r = sd_bus_get_name_creds(bus, name, SD_BUS_CREDS_UNIQUE_NAME, &creds); ++ if (r < 0) { ++ log_error_errno(r, "Failed to get bus name owner %s: %m", name); ++ continue; ++ } ++ ++ r = sd_bus_creds_get_unique_name(creds, &unique); ++ if (r < 0) { ++ log_error_errno(r, "Failed to get unique name for %s: %m", name); ++ continue; ++ } ++ ++ /* Now, let's compare that to the previous bus owner, and ++ * if it's still the same, all is fine, so just don't ++ * bother the service. Otherwise, the name has apparently ++ * changed, so synthesize a name owner changed signal. */ ++ ++ if (!streq_ptr(unique, s->bus_name_owner)) ++ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, unique); ++ } else { ++ /* So, the name we're watching is not on the bus. ++ * This either means it simply hasn't appeared yet, ++ * or it was lost during the daemon reload. ++ * Check if the service has a stored name owner, ++ * and synthesize a name loss signal in this case. */ ++ ++ if (s->bus_name_owner) ++ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, NULL); ++ } + } + + return 0; +@@ -808,7 +850,9 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to register name: %m"); + +- bus_list_names(m, bus); ++ r = bus_list_names(m, bus); ++ if (r < 0) ++ return r; + + log_debug("Successfully connected to API bus."); + return 0; +diff --git a/src/core/service.c b/src/core/service.c +index 41a729c..c5b689a 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -323,6 +323,8 @@ static void service_done(Unit *u) { + s->bus_name = mfree(s->bus_name); + } + ++ s->bus_name_owner = mfree(s->bus_name_owner); ++ + s->bus_endpoint_fd = safe_close(s->bus_endpoint_fd); + service_close_socket_fd(s); + service_connection_unref(s); +@@ -2122,6 +2124,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { + + unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); + unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); ++ unit_serialize_item(u, f, "bus-name-owner", s->bus_name_owner); + + r = unit_serialize_item_escaped(u, f, "status-text", s->status_text); + if (r < 0) +@@ -2249,6 +2252,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, + log_unit_debug(u, "Failed to parse bus-name-good value: %s", value); + else + s->bus_name_good = b; ++ } else if (streq(key, "bus-name-owner")) { ++ r = free_and_strdup(&s->bus_name_owner, value); ++ if (r < 0) ++ log_unit_error_errno(u, r, "Unable to deserialize current bus owner %s: %m", value); + } else if (streq(key, "status-text")) { + char *t; + +@@ -3134,6 +3141,13 @@ static void service_bus_name_owner_change( + + s->bus_name_good = !!new_owner; + ++ /* Track the current owner, so we can reconstruct changes after a daemon reload */ ++ r = free_and_strdup(&s->bus_name_owner, new_owner); ++ if (r < 0) { ++ log_unit_error_errno(u, r, "Unable to set new bus name owner %s: %m", new_owner); ++ return; ++ } ++ + if (s->type == SERVICE_DBUS) { + + /* service_enter_running() will figure out what to +diff --git a/src/core/service.h b/src/core/service.h +index d0faad8..19efbcc 100644 +--- a/src/core/service.h ++++ b/src/core/service.h +@@ -172,6 +172,7 @@ struct Service { + bool reset_cpu_usage:1; + + char *bus_name; ++ char *bus_name_owner; /* unique name of the current owner */ + + char *status_text; + int status_errno; +-- +2.6.2 + diff --git a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch new file mode 100644 index 00000000..11b6a99f --- /dev/null +++ b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch @@ -0,0 +1,74 @@ +From 8936a5e34dbfa9274348f3fef99f7c9f9327ddf9 Mon Sep 17 00:00:00 2001 [> v228] +From: Daniel Mack +Date: Tue, 22 Dec 2015 11:37:09 +0100 +Subject: [PATCH] core: re-sync bus name list after deserializing during + daemon-reload + +When the daemon reloads, it doesn not actually give up its DBus connection, +as wrongly stated in an earlier commit. However, even though the bus +connection stays open, the daemon flushes out all its internal state. + +Hence, if there is a NameOwnerChanged signal after the flush and before the +deserialization, it cannot be matched against any pending unit. + +To fix this, rename bus_list_names() to manager_sync_bus_names() and call +it explicitly at the end of the daemon reload operation. +--- + src/core/dbus.c | 4 ++-- + src/core/dbus.h | 2 ++ + src/core/manager.c | 4 ++++ + 3 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/core/dbus.c b/src/core/dbus.c +index 58069f5..1d89b9e 100644 +--- a/src/core/dbus.c ++++ b/src/core/dbus.c +@@ -734,7 +734,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void + return 0; + } + +-static int bus_list_names(Manager *m, sd_bus *bus) { ++int manager_sync_bus_names(Manager *m, sd_bus *bus) { + _cleanup_strv_free_ char **names = NULL; + const char *name; + Iterator i; +@@ -850,7 +850,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to register name: %m"); + +- r = bus_list_names(m, bus); ++ r = manager_sync_bus_names(m, bus); + if (r < 0) + return r; + +diff --git a/src/core/dbus.h b/src/core/dbus.h +index 4f06ad1..ff76166 100644 +--- a/src/core/dbus.h ++++ b/src/core/dbus.h +@@ -34,6 +34,8 @@ void bus_track_serialize(sd_bus_track *t, FILE *f); + int bus_track_deserialize_item(char ***l, const char *line); + int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l); + ++int manager_sync_bus_names(Manager *m, sd_bus *bus); ++ + int bus_foreach_bus(Manager *m, sd_bus_track *subscribed2, int (*send_message)(sd_bus *bus, void *userdata), void *userdata); + + int bus_verify_manage_units_async(Manager *m, sd_bus_message *call, sd_bus_error *error); +diff --git a/src/core/manager.c b/src/core/manager.c +index e65616a..ffe27be 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -2574,6 +2574,10 @@ int manager_reload(Manager *m) { + /* Third, fire things up! */ + manager_coldplug(m); + ++ /* Sync current state of bus names with our set of listening units */ ++ if (m->api_bus) ++ manager_sync_bus_names(m, m->api_bus); ++ + assert(m->n_reloading > 0); + m->n_reloading--; + +-- +2.6.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3c123107..9556ac70 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de + +- Add two patches which address logind/networkd disappearing from + dbus (and busctl) even while the units and processes continue + running. + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + ------------------------------------------------------------------- Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 87119bc0..f6b00696 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -255,6 +255,10 @@ Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -597,6 +601,8 @@ cp %{SOURCE7} m4/ %patch524 -p1 %patch525 -p1 %patch526 -p1 +%patch527 -p1 +%patch528 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 3c123107..9556ac70 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de + +- Add two patches which address logind/networkd disappearing from + dbus (and busctl) even while the units and processes continue + running. + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + ------------------------------------------------------------------- Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 64a88ce1..c2162ef0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -250,6 +250,10 @@ Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -592,6 +596,8 @@ cp %{SOURCE7} m4/ %patch524 -p1 %patch525 -p1 %patch526 -p1 +%patch527 -p1 +%patch528 -p1 # udev patches %patch1002 -p1 From a5aafb04135a416f0f9de100f9e6329257b69f36b1befff7a19ca0002ea6036b Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 30 Mar 2016 09:25:12 +0000 Subject: [PATCH 235/991] - add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=935 --- systemd-mini.changes | 1 + systemd.changes | 1 + 2 files changed, 2 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9556ac70..b1a32521 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -61,6 +61,7 @@ Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de those programs think. - /var/lib/systemd/random-seed is a file - own /var/lib/machines +- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.changes b/systemd.changes index 9556ac70..b1a32521 100644 --- a/systemd.changes +++ b/systemd.changes @@ -61,6 +61,7 @@ Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de those programs think. - /var/lib/systemd/random-seed is a file - own /var/lib/machines +- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de From d6cba9d3bbdd7a84c2960a390a0e0b906e9db65137c94d3200fd4c8e8829caf6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 3 Apr 2016 21:06:56 +0000 Subject: [PATCH 236/991] Accepting request 381543 from Base:System - Add two patches which address logind/networkd disappearing from dbus (and busctl) even while the units and processes continue running. 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - drop all compiler/linker option customizations: - -pipe option is used by default since day 0 - get rid of cflags() function which is not needed - --hash-size has no impact specially in runtime IOW, use the default options for the compiler and the linker, there's no point in making systemd different from other package in this regards. - use %make_build instead of 'make %{?_smp_mflags}' - be more strict on own lib version requirements - systemd should require udev with the exact same version - Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch to allow that open, seek, and read of /dev/mem may fail e.g. on XEN based virtual guests (bsc#961120) - require curl and bzip2 to build importd - curl also causes building of journal-upload. That one has rather unusal certificate usage, set it's ca root to /etc/pki/systemd instead of the built-in default /etc/ssl as journal-remote and journal-upload think they kan put stuff in /etc/ssl/certs then but that directory is managed by p11-kit and doesn't serve the purpose OBS-URL: https://build.opensuse.org/request/show/381543 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=230 --- ...-.slice-units-from-systemctl-isolate.patch | 8 +- ...e-synchronization-after-daemon-reloa.patch | 193 ++++++++++++++++++ ...-name-list-after-deserializing-durin.patch | 74 +++++++ ...lock-value-in-etc-sysconfig-keyboard.patch | 19 +- ...et-properties-only-once-to-copy-them.patch | 4 +- ...nal-linking-non-fatal-in-try-and-auto.diff | 116 +++++++++++ systemd-mini.changes | 57 ++++++ systemd-mini.spec | 87 ++++---- systemd.changes | 57 ++++++ systemd.spec | 87 ++++---- 10 files changed, 598 insertions(+), 104 deletions(-) create mode 100644 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch create mode 100644 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch create mode 100644 systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch index 62717048..c954427f 100644 --- a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -11,8 +11,8 @@ Fixes: #1969 diff --git src/core/scope.c src/core/scope.c index c5d0ece..361695c 100644 ---- src/core/scope.c -+++ src/core/scope.c +--- a/src/core/scope.c ++++ b/src/core/scope.c @@ -50,8 +50,7 @@ static void scope_init(Unit *u) { assert(u->load_state == UNIT_STUB); @@ -25,8 +25,8 @@ index c5d0ece..361695c 100644 static void scope_done(Unit *u) { diff --git src/core/slice.c src/core/slice.c index d65364c..667f61b 100644 ---- src/core/slice.c -+++ src/core/slice.c +--- a/src/core/slice.c ++++ b/src/core/slice.c @@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { [SLICE_ACTIVE] = UNIT_ACTIVE }; diff --git a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch new file mode 100644 index 00000000..b1a18d36 --- /dev/null +++ b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch @@ -0,0 +1,193 @@ +From d8ccf5fdc91c46ab5d0ae86e38c206bc508d4188 Mon Sep 17 00:00:00 2001 [> v228] +From: Daniel Mack +Date: Fri, 18 Dec 2015 17:28:15 +0100 +Subject: [PATCH] core: fix bus name synchronization after daemon-reload + +During daemon-reload, PID1 temporarly loses its DBus connection, so there's +a small window in which all signals sent by dbus-daemon are lost. + +This is a problem, since we rely on the NameOwnerChanged signals in order to +consider a service with Type=dbus fully started or terminated, respectively. + +In order to fix this, a rewrite of bus_list_names() is necessary. We used +to walk the current list of names on the bus, and blindly triggered the +bus_name_owner_change() callback on each service, providing the actual name +as current owner. This implementation has a number of problems: + +* We cannot detect if the the name was moved from one owner to the other + while we were reloading + +* We don't notify services which missed the name loss signal + +* Providing the actual name as current owner is a hack, as the comment also + admits. + +To fix this, this patch carries the following changes: + +* Track the name of the current bus name owner, and (de-)serialize it + during reload. This way, we can detect changes. + +* In bus_list_names(), walk the list of bus names we're interested in + first, and then see if the name is active on the bus. If it is, + check it it's still the same as it used to be, and synthesize + NameOwnerChanged signals for the name add and/or loss. + +This should fully synchronize the current name list with the internal +state of all services. +--- + src/core/dbus.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------- + src/core/service.c | 14 ++++++++++++ + src/core/service.h | 1 + + 3 files changed, 69 insertions(+), 10 deletions(-) + +diff --git a/src/core/dbus.c b/src/core/dbus.c +index e7ee216..58069f5 100644 +--- a/src/core/dbus.c ++++ b/src/core/dbus.c +@@ -736,7 +736,9 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void + + static int bus_list_names(Manager *m, sd_bus *bus) { + _cleanup_strv_free_ char **names = NULL; +- char **i; ++ const char *name; ++ Iterator i; ++ Unit *u; + int r; + + assert(m); +@@ -746,15 +748,55 @@ static int bus_list_names(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to get initial list of names: %m"); + +- /* This is a bit hacky, we say the owner of the name is the +- * name itself, because we don't want the extra traffic to +- * figure out the real owner. */ +- STRV_FOREACH(i, names) { +- Unit *u; ++ /* We have to synchronize the current bus names with the ++ * list of active services. To do this, walk the list of ++ * all units with bus names. */ ++ HASHMAP_FOREACH_KEY(u, name, m->watch_bus, i) { ++ Service *s = SERVICE(u); ++ ++ assert(s); + +- u = hashmap_get(m->watch_bus, *i); +- if (u) +- UNIT_VTABLE(u)->bus_name_owner_change(u, *i, NULL, *i); ++ if (!streq_ptr(s->bus_name, name)) { ++ log_unit_warning(u, "Bus name has changed from %s → %s, ignoring.", s->bus_name, name); ++ continue; ++ } ++ ++ /* Check if a service's bus name is in the list of currently ++ * active names */ ++ if (strv_contains(names, name)) { ++ _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; ++ const char *unique; ++ ++ /* If it is, determine its current owner */ ++ r = sd_bus_get_name_creds(bus, name, SD_BUS_CREDS_UNIQUE_NAME, &creds); ++ if (r < 0) { ++ log_error_errno(r, "Failed to get bus name owner %s: %m", name); ++ continue; ++ } ++ ++ r = sd_bus_creds_get_unique_name(creds, &unique); ++ if (r < 0) { ++ log_error_errno(r, "Failed to get unique name for %s: %m", name); ++ continue; ++ } ++ ++ /* Now, let's compare that to the previous bus owner, and ++ * if it's still the same, all is fine, so just don't ++ * bother the service. Otherwise, the name has apparently ++ * changed, so synthesize a name owner changed signal. */ ++ ++ if (!streq_ptr(unique, s->bus_name_owner)) ++ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, unique); ++ } else { ++ /* So, the name we're watching is not on the bus. ++ * This either means it simply hasn't appeared yet, ++ * or it was lost during the daemon reload. ++ * Check if the service has a stored name owner, ++ * and synthesize a name loss signal in this case. */ ++ ++ if (s->bus_name_owner) ++ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, NULL); ++ } + } + + return 0; +@@ -808,7 +850,9 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to register name: %m"); + +- bus_list_names(m, bus); ++ r = bus_list_names(m, bus); ++ if (r < 0) ++ return r; + + log_debug("Successfully connected to API bus."); + return 0; +diff --git a/src/core/service.c b/src/core/service.c +index 41a729c..c5b689a 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -323,6 +323,8 @@ static void service_done(Unit *u) { + s->bus_name = mfree(s->bus_name); + } + ++ s->bus_name_owner = mfree(s->bus_name_owner); ++ + s->bus_endpoint_fd = safe_close(s->bus_endpoint_fd); + service_close_socket_fd(s); + service_connection_unref(s); +@@ -2122,6 +2124,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { + + unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); + unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); ++ unit_serialize_item(u, f, "bus-name-owner", s->bus_name_owner); + + r = unit_serialize_item_escaped(u, f, "status-text", s->status_text); + if (r < 0) +@@ -2249,6 +2252,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, + log_unit_debug(u, "Failed to parse bus-name-good value: %s", value); + else + s->bus_name_good = b; ++ } else if (streq(key, "bus-name-owner")) { ++ r = free_and_strdup(&s->bus_name_owner, value); ++ if (r < 0) ++ log_unit_error_errno(u, r, "Unable to deserialize current bus owner %s: %m", value); + } else if (streq(key, "status-text")) { + char *t; + +@@ -3134,6 +3141,13 @@ static void service_bus_name_owner_change( + + s->bus_name_good = !!new_owner; + ++ /* Track the current owner, so we can reconstruct changes after a daemon reload */ ++ r = free_and_strdup(&s->bus_name_owner, new_owner); ++ if (r < 0) { ++ log_unit_error_errno(u, r, "Unable to set new bus name owner %s: %m", new_owner); ++ return; ++ } ++ + if (s->type == SERVICE_DBUS) { + + /* service_enter_running() will figure out what to +diff --git a/src/core/service.h b/src/core/service.h +index d0faad8..19efbcc 100644 +--- a/src/core/service.h ++++ b/src/core/service.h +@@ -172,6 +172,7 @@ struct Service { + bool reset_cpu_usage:1; + + char *bus_name; ++ char *bus_name_owner; /* unique name of the current owner */ + + char *status_text; + int status_errno; +-- +2.6.2 + diff --git a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch new file mode 100644 index 00000000..11b6a99f --- /dev/null +++ b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch @@ -0,0 +1,74 @@ +From 8936a5e34dbfa9274348f3fef99f7c9f9327ddf9 Mon Sep 17 00:00:00 2001 [> v228] +From: Daniel Mack +Date: Tue, 22 Dec 2015 11:37:09 +0100 +Subject: [PATCH] core: re-sync bus name list after deserializing during + daemon-reload + +When the daemon reloads, it doesn not actually give up its DBus connection, +as wrongly stated in an earlier commit. However, even though the bus +connection stays open, the daemon flushes out all its internal state. + +Hence, if there is a NameOwnerChanged signal after the flush and before the +deserialization, it cannot be matched against any pending unit. + +To fix this, rename bus_list_names() to manager_sync_bus_names() and call +it explicitly at the end of the daemon reload operation. +--- + src/core/dbus.c | 4 ++-- + src/core/dbus.h | 2 ++ + src/core/manager.c | 4 ++++ + 3 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/core/dbus.c b/src/core/dbus.c +index 58069f5..1d89b9e 100644 +--- a/src/core/dbus.c ++++ b/src/core/dbus.c +@@ -734,7 +734,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void + return 0; + } + +-static int bus_list_names(Manager *m, sd_bus *bus) { ++int manager_sync_bus_names(Manager *m, sd_bus *bus) { + _cleanup_strv_free_ char **names = NULL; + const char *name; + Iterator i; +@@ -850,7 +850,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to register name: %m"); + +- r = bus_list_names(m, bus); ++ r = manager_sync_bus_names(m, bus); + if (r < 0) + return r; + +diff --git a/src/core/dbus.h b/src/core/dbus.h +index 4f06ad1..ff76166 100644 +--- a/src/core/dbus.h ++++ b/src/core/dbus.h +@@ -34,6 +34,8 @@ void bus_track_serialize(sd_bus_track *t, FILE *f); + int bus_track_deserialize_item(char ***l, const char *line); + int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l); + ++int manager_sync_bus_names(Manager *m, sd_bus *bus); ++ + int bus_foreach_bus(Manager *m, sd_bus_track *subscribed2, int (*send_message)(sd_bus *bus, void *userdata), void *userdata); + + int bus_verify_manage_units_async(Manager *m, sd_bus_message *call, sd_bus_error *error); +diff --git a/src/core/manager.c b/src/core/manager.c +index e65616a..ffe27be 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -2574,6 +2574,10 @@ int manager_reload(Manager *m) { + /* Third, fire things up! */ + manager_coldplug(m); + ++ /* Sync current state of bus names with our set of listening units */ ++ if (m->api_bus) ++ manager_sync_bus_names(m, m->api_bus); ++ + assert(m->n_reloading > 0); + m->n_reloading--; + +-- +2.6.2 + diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 18fd4f61..e3d7c312 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -134,7 +134,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -421,6 +428,32 @@ int main(int argc, char **argv) { +@@ -421,6 +428,35 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -146,28 +146,31 @@ Index: systemd-228/src/vconsole/vconsole-setup.c + + fdmem = open ("/dev/mem", O_RDONLY); + if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; ++ log_warning_errno(errno, "Failed to open /dev/mem: %m"); ++ goto finish; + } + + if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; ++ log_warning_errno(errno, "Failed to seek /dev/mem: %m"); ++ goto finish; + } + + if (read(fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; ++ log_warning_errno(errno, "Failed to read /dev/mem: %m"); ++ goto finish; + } + + if (c & BDA_KSF4_NUMLOCK_MASK) + numlock = true; ++ finish: ++ if (fdmem >= 0) ++ close(fdmem); + } +#endif /* x86 */ #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +489,10 @@ int main(int argc, char **argv) { +@@ -456,6 +492,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch index b106fc22..22c45e4d 100644 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch @@ -9,8 +9,8 @@ for the virtual consoles (boo#904214) src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 @@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) unsigned short map16[E_TABSZ]; struct unimapdesc unimapd; diff --git a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff new file mode 100644 index 00000000..17a09a8a --- /dev/null +++ b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff @@ -0,0 +1,116 @@ +From 84d816c48b57b43e833e2917bbd278c116816fcf Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 28 Jan 2016 20:15:49 +0100 +Subject: [PATCH] nspawn: make journal linking non-fatal in try and auto modes + +Fixes #2091 +--- + src/nspawn/nspawn.c | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index f6a2c03..97ea51a 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -1338,6 +1338,7 @@ static int setup_journal(const char *directory) { + sd_id128_t machine_id, this_id; + _cleanup_free_ char *b = NULL, *d = NULL; + const char *etc_machine_id, *p, *q; ++ bool try; + char *id; + int r; + +@@ -1345,16 +1346,21 @@ static int setup_journal(const char *directory) { + if (arg_ephemeral) + return 0; + ++ if (arg_link_journal == LINK_NO) ++ return 0; ++ ++ try = arg_link_journal_try || arg_link_journal == LINK_AUTO; ++ + etc_machine_id = prefix_roota(directory, "/etc/machine-id"); + + r = read_one_line_file(etc_machine_id, &b); +- if (r == -ENOENT && arg_link_journal == LINK_AUTO) ++ if (r == -ENOENT && try) + return 0; + else if (r < 0) + return log_error_errno(r, "Failed to read machine ID from %s: %m", etc_machine_id); + + id = strstrip(b); +- if (isempty(id) && arg_link_journal == LINK_AUTO) ++ if (isempty(id) && try) + return 0; + + /* Verify validity */ +@@ -1367,16 +1373,13 @@ static int setup_journal(const char *directory) { + return log_error_errno(r, "Failed to retrieve machine ID: %m"); + + if (sd_id128_equal(machine_id, this_id)) { +- log_full(arg_link_journal == LINK_AUTO ? LOG_WARNING : LOG_ERR, ++ log_full(try ? LOG_WARNING : LOG_ERR, + "Host and machine ids are equal (%s): refusing to link journals", id); +- if (arg_link_journal == LINK_AUTO) ++ if (try) + return 0; + return -EEXIST; + } + +- if (arg_link_journal == LINK_NO) +- return 0; +- + r = userns_mkdir(directory, "/var", 0755, 0, 0); + if (r < 0) + return log_error_errno(r, "Failed to create /var: %m"); +@@ -1393,21 +1396,19 @@ static int setup_journal(const char *directory) { + q = prefix_roota(directory, p); + + if (path_is_mount_point(p, 0) > 0) { +- if (arg_link_journal != LINK_AUTO) { +- log_error("%s: already a mount point, refusing to use for journal", p); +- return -EEXIST; +- } ++ if (try) ++ return 0; + +- return 0; ++ log_error("%s: already a mount point, refusing to use for journal", p); ++ return -EEXIST; + } + + if (path_is_mount_point(q, 0) > 0) { +- if (arg_link_journal != LINK_AUTO) { +- log_error("%s: already a mount point, refusing to use for journal", q); +- return -EEXIST; +- } ++ if (try) ++ return 0; + +- return 0; ++ log_error("%s: already a mount point, refusing to use for journal", q); ++ return -EEXIST; + } + + r = readlink_and_make_absolute(p, &d); +@@ -1441,7 +1442,7 @@ static int setup_journal(const char *directory) { + if (arg_link_journal == LINK_GUEST) { + + if (symlink(q, p) < 0) { +- if (arg_link_journal_try) { ++ if (try) { + log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p); + return 0; + } else +@@ -1459,7 +1460,7 @@ static int setup_journal(const char *directory) { + * permanent journal set up, don't force it here */ + r = mkdir(p, 0755); + if (r < 0) { +- if (arg_link_journal_try) { ++ if (try) { + log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p); + return 0; + } else +-- +2.7.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 85ab0ea5..b1a32521 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de + +- Add two patches which address logind/networkd disappearing from + dbus (and busctl) even while the units and processes continue + running. + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + +------------------------------------------------------------------- +Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com + +- drop all compiler/linker option customizations: + - -pipe option is used by default since day 0 + - get rid of cflags() function which is not needed + - --hash-size has no impact specially in runtime + + IOW, use the default options for the compiler and the linker, + there's no point in making systemd different from other package in + this regards. + +------------------------------------------------------------------- +Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com + +- use %make_build instead of 'make %{?_smp_mflags}' + +------------------------------------------------------------------- +Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com + +- be more strict on own lib version requirements + +------------------------------------------------------------------- +Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com + +- systemd should require udev with the exact same version + +------------------------------------------------------------------- +Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de + +- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + to allow that open, seek, and read of /dev/mem may fail e.g. + on XEN based virtual guests (bsc#961120) + ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de @@ -6,6 +49,20 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) +------------------------------------------------------------------- +Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + +- require curl and bzip2 to build importd +- curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they kan put stuff in /etc/ssl/certs then but + that directory is managed by p11-kit and doesn't serve the purpose + those programs think. +- /var/lib/systemd/random-seed is a file +- own /var/lib/machines +- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 04091633..f6b00696 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -92,6 +92,9 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +# curl and bzip2 are required for building importd +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -102,7 +105,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev >= 172 +Requires: udev = %{version}-%{release} Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -250,6 +253,12 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -324,7 +333,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -338,7 +347,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -588,9 +597,12 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p0 +%patch523 -p1 %patch524 -p1 -%patch525 -p0 +%patch525 -p1 +%patch526 -p1 +%patch527 -p1 +%patch528 -p1 # udev patches %patch1002 -p1 @@ -623,38 +635,6 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -666,17 +646,19 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh -export V=e export CFLAGS="%{optflags}" -export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS + +# certificate-root is set to /etc/pki/systemd instead of the +# built-in default /etc/ssl as journal-remote and journal-upload +# think they kan put stuff in /etc/ssl/certs then but that +# directory is managed by p11-kit and doesn't serve the purpose +# those programs think +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -686,10 +668,12 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ + --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ + --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -716,9 +700,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-resolved \ %endif --disable-kdbus -make %{?_smp_mflags} + +%make_build V=e %if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man +%make_build V=e update-man-list man %endif %install @@ -847,7 +832,10 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed +> %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# machined +mkdir -p %{buildroot}%{_localstatedir}/lib/machines %fdupes -s %{buildroot}%{_mandir} @@ -1309,6 +1297,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1415,6 +1404,7 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1422,6 +1412,13 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif +%if ! 0%{?bootstrap} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_prefix}/lib/systemd/import-pubring.gpg +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion diff --git a/systemd.changes b/systemd.changes index 85ab0ea5..b1a32521 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de + +- Add two patches which address logind/networkd disappearing from + dbus (and busctl) even while the units and processes continue + running. + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + +------------------------------------------------------------------- +Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com + +- drop all compiler/linker option customizations: + - -pipe option is used by default since day 0 + - get rid of cflags() function which is not needed + - --hash-size has no impact specially in runtime + + IOW, use the default options for the compiler and the linker, + there's no point in making systemd different from other package in + this regards. + +------------------------------------------------------------------- +Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com + +- use %make_build instead of 'make %{?_smp_mflags}' + +------------------------------------------------------------------- +Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com + +- be more strict on own lib version requirements + +------------------------------------------------------------------- +Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com + +- systemd should require udev with the exact same version + +------------------------------------------------------------------- +Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de + +- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + to allow that open, seek, and read of /dev/mem may fail e.g. + on XEN based virtual guests (bsc#961120) + ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de @@ -6,6 +49,20 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) +------------------------------------------------------------------- +Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + +- require curl and bzip2 to build importd +- curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they kan put stuff in /etc/ssl/certs then but + that directory is managed by p11-kit and doesn't serve the purpose + those programs think. +- /var/lib/systemd/random-seed is a file +- own /var/lib/machines +- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index 37cb1be1..c2162ef0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,6 +87,9 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +# curl and bzip2 are required for building importd +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -97,7 +100,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev >= 172 +Requires: udev = %{version}-%{release} Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -245,6 +248,12 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -319,7 +328,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -333,7 +342,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -583,9 +592,12 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p0 +%patch523 -p1 %patch524 -p1 -%patch525 -p0 +%patch525 -p1 +%patch526 -p1 +%patch527 -p1 +%patch528 -p1 # udev patches %patch1002 -p1 @@ -618,38 +630,6 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -661,17 +641,19 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh -export V=e export CFLAGS="%{optflags}" -export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS + +# certificate-root is set to /etc/pki/systemd instead of the +# built-in default /etc/ssl as journal-remote and journal-upload +# think they kan put stuff in /etc/ssl/certs then but that +# directory is managed by p11-kit and doesn't serve the purpose +# those programs think +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -681,10 +663,12 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ + --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ + --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -711,9 +695,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-resolved \ %endif --disable-kdbus -make %{?_smp_mflags} + +%make_build V=e %if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man +%make_build V=e update-man-list man %endif %install @@ -842,7 +827,10 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed +> %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# machined +mkdir -p %{buildroot}%{_localstatedir}/lib/machines %fdupes -s %{buildroot}%{_mandir} @@ -1304,6 +1292,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1410,6 +1399,7 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1417,6 +1407,13 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif +%if ! 0%{?bootstrap} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_prefix}/lib/systemd/import-pubring.gpg +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion From f5333b0407547df449f9c8cc220e332f61a41171937b1fedc40c6e0813f9f3ae Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 4 Apr 2016 19:43:57 +0000 Subject: [PATCH 237/991] Accepting request 384213 from openSUSE:Factory Revert to previous working version (see https://bugzilla.opensuse.org/show_bug.cgi?id=973907 ) OBS-URL: https://build.opensuse.org/request/show/384213 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=231 --- ...-.slice-units-from-systemctl-isolate.patch | 8 +- ...e-synchronization-after-daemon-reloa.patch | 193 ------------------ ...-name-list-after-deserializing-durin.patch | 74 ------- ...lock-value-in-etc-sysconfig-keyboard.patch | 19 +- ...et-properties-only-once-to-copy-them.patch | 4 +- ...nal-linking-non-fatal-in-try-and-auto.diff | 116 ----------- systemd-mini.changes | 57 ------ systemd-mini.spec | 87 ++++---- systemd.changes | 57 ------ systemd.spec | 87 ++++---- 10 files changed, 104 insertions(+), 598 deletions(-) delete mode 100644 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch delete mode 100644 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch delete mode 100644 systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch index c954427f..62717048 100644 --- a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -11,8 +11,8 @@ Fixes: #1969 diff --git src/core/scope.c src/core/scope.c index c5d0ece..361695c 100644 ---- a/src/core/scope.c -+++ b/src/core/scope.c +--- src/core/scope.c ++++ src/core/scope.c @@ -50,8 +50,7 @@ static void scope_init(Unit *u) { assert(u->load_state == UNIT_STUB); @@ -25,8 +25,8 @@ index c5d0ece..361695c 100644 static void scope_done(Unit *u) { diff --git src/core/slice.c src/core/slice.c index d65364c..667f61b 100644 ---- a/src/core/slice.c -+++ b/src/core/slice.c +--- src/core/slice.c ++++ src/core/slice.c @@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { [SLICE_ACTIVE] = UNIT_ACTIVE }; diff --git a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch deleted file mode 100644 index b1a18d36..00000000 --- a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +++ /dev/null @@ -1,193 +0,0 @@ -From d8ccf5fdc91c46ab5d0ae86e38c206bc508d4188 Mon Sep 17 00:00:00 2001 [> v228] -From: Daniel Mack -Date: Fri, 18 Dec 2015 17:28:15 +0100 -Subject: [PATCH] core: fix bus name synchronization after daemon-reload - -During daemon-reload, PID1 temporarly loses its DBus connection, so there's -a small window in which all signals sent by dbus-daemon are lost. - -This is a problem, since we rely on the NameOwnerChanged signals in order to -consider a service with Type=dbus fully started or terminated, respectively. - -In order to fix this, a rewrite of bus_list_names() is necessary. We used -to walk the current list of names on the bus, and blindly triggered the -bus_name_owner_change() callback on each service, providing the actual name -as current owner. This implementation has a number of problems: - -* We cannot detect if the the name was moved from one owner to the other - while we were reloading - -* We don't notify services which missed the name loss signal - -* Providing the actual name as current owner is a hack, as the comment also - admits. - -To fix this, this patch carries the following changes: - -* Track the name of the current bus name owner, and (de-)serialize it - during reload. This way, we can detect changes. - -* In bus_list_names(), walk the list of bus names we're interested in - first, and then see if the name is active on the bus. If it is, - check it it's still the same as it used to be, and synthesize - NameOwnerChanged signals for the name add and/or loss. - -This should fully synchronize the current name list with the internal -state of all services. ---- - src/core/dbus.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------- - src/core/service.c | 14 ++++++++++++ - src/core/service.h | 1 + - 3 files changed, 69 insertions(+), 10 deletions(-) - -diff --git a/src/core/dbus.c b/src/core/dbus.c -index e7ee216..58069f5 100644 ---- a/src/core/dbus.c -+++ b/src/core/dbus.c -@@ -736,7 +736,9 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void - - static int bus_list_names(Manager *m, sd_bus *bus) { - _cleanup_strv_free_ char **names = NULL; -- char **i; -+ const char *name; -+ Iterator i; -+ Unit *u; - int r; - - assert(m); -@@ -746,15 +748,55 @@ static int bus_list_names(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to get initial list of names: %m"); - -- /* This is a bit hacky, we say the owner of the name is the -- * name itself, because we don't want the extra traffic to -- * figure out the real owner. */ -- STRV_FOREACH(i, names) { -- Unit *u; -+ /* We have to synchronize the current bus names with the -+ * list of active services. To do this, walk the list of -+ * all units with bus names. */ -+ HASHMAP_FOREACH_KEY(u, name, m->watch_bus, i) { -+ Service *s = SERVICE(u); -+ -+ assert(s); - -- u = hashmap_get(m->watch_bus, *i); -- if (u) -- UNIT_VTABLE(u)->bus_name_owner_change(u, *i, NULL, *i); -+ if (!streq_ptr(s->bus_name, name)) { -+ log_unit_warning(u, "Bus name has changed from %s → %s, ignoring.", s->bus_name, name); -+ continue; -+ } -+ -+ /* Check if a service's bus name is in the list of currently -+ * active names */ -+ if (strv_contains(names, name)) { -+ _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; -+ const char *unique; -+ -+ /* If it is, determine its current owner */ -+ r = sd_bus_get_name_creds(bus, name, SD_BUS_CREDS_UNIQUE_NAME, &creds); -+ if (r < 0) { -+ log_error_errno(r, "Failed to get bus name owner %s: %m", name); -+ continue; -+ } -+ -+ r = sd_bus_creds_get_unique_name(creds, &unique); -+ if (r < 0) { -+ log_error_errno(r, "Failed to get unique name for %s: %m", name); -+ continue; -+ } -+ -+ /* Now, let's compare that to the previous bus owner, and -+ * if it's still the same, all is fine, so just don't -+ * bother the service. Otherwise, the name has apparently -+ * changed, so synthesize a name owner changed signal. */ -+ -+ if (!streq_ptr(unique, s->bus_name_owner)) -+ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, unique); -+ } else { -+ /* So, the name we're watching is not on the bus. -+ * This either means it simply hasn't appeared yet, -+ * or it was lost during the daemon reload. -+ * Check if the service has a stored name owner, -+ * and synthesize a name loss signal in this case. */ -+ -+ if (s->bus_name_owner) -+ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, NULL); -+ } - } - - return 0; -@@ -808,7 +850,9 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to register name: %m"); - -- bus_list_names(m, bus); -+ r = bus_list_names(m, bus); -+ if (r < 0) -+ return r; - - log_debug("Successfully connected to API bus."); - return 0; -diff --git a/src/core/service.c b/src/core/service.c -index 41a729c..c5b689a 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -323,6 +323,8 @@ static void service_done(Unit *u) { - s->bus_name = mfree(s->bus_name); - } - -+ s->bus_name_owner = mfree(s->bus_name_owner); -+ - s->bus_endpoint_fd = safe_close(s->bus_endpoint_fd); - service_close_socket_fd(s); - service_connection_unref(s); -@@ -2122,6 +2124,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { - - unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); - unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); -+ unit_serialize_item(u, f, "bus-name-owner", s->bus_name_owner); - - r = unit_serialize_item_escaped(u, f, "status-text", s->status_text); - if (r < 0) -@@ -2249,6 +2252,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - log_unit_debug(u, "Failed to parse bus-name-good value: %s", value); - else - s->bus_name_good = b; -+ } else if (streq(key, "bus-name-owner")) { -+ r = free_and_strdup(&s->bus_name_owner, value); -+ if (r < 0) -+ log_unit_error_errno(u, r, "Unable to deserialize current bus owner %s: %m", value); - } else if (streq(key, "status-text")) { - char *t; - -@@ -3134,6 +3141,13 @@ static void service_bus_name_owner_change( - - s->bus_name_good = !!new_owner; - -+ /* Track the current owner, so we can reconstruct changes after a daemon reload */ -+ r = free_and_strdup(&s->bus_name_owner, new_owner); -+ if (r < 0) { -+ log_unit_error_errno(u, r, "Unable to set new bus name owner %s: %m", new_owner); -+ return; -+ } -+ - if (s->type == SERVICE_DBUS) { - - /* service_enter_running() will figure out what to -diff --git a/src/core/service.h b/src/core/service.h -index d0faad8..19efbcc 100644 ---- a/src/core/service.h -+++ b/src/core/service.h -@@ -172,6 +172,7 @@ struct Service { - bool reset_cpu_usage:1; - - char *bus_name; -+ char *bus_name_owner; /* unique name of the current owner */ - - char *status_text; - int status_errno; --- -2.6.2 - diff --git a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch deleted file mode 100644 index 11b6a99f..00000000 --- a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 8936a5e34dbfa9274348f3fef99f7c9f9327ddf9 Mon Sep 17 00:00:00 2001 [> v228] -From: Daniel Mack -Date: Tue, 22 Dec 2015 11:37:09 +0100 -Subject: [PATCH] core: re-sync bus name list after deserializing during - daemon-reload - -When the daemon reloads, it doesn not actually give up its DBus connection, -as wrongly stated in an earlier commit. However, even though the bus -connection stays open, the daemon flushes out all its internal state. - -Hence, if there is a NameOwnerChanged signal after the flush and before the -deserialization, it cannot be matched against any pending unit. - -To fix this, rename bus_list_names() to manager_sync_bus_names() and call -it explicitly at the end of the daemon reload operation. ---- - src/core/dbus.c | 4 ++-- - src/core/dbus.h | 2 ++ - src/core/manager.c | 4 ++++ - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/core/dbus.c b/src/core/dbus.c -index 58069f5..1d89b9e 100644 ---- a/src/core/dbus.c -+++ b/src/core/dbus.c -@@ -734,7 +734,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void - return 0; - } - --static int bus_list_names(Manager *m, sd_bus *bus) { -+int manager_sync_bus_names(Manager *m, sd_bus *bus) { - _cleanup_strv_free_ char **names = NULL; - const char *name; - Iterator i; -@@ -850,7 +850,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to register name: %m"); - -- r = bus_list_names(m, bus); -+ r = manager_sync_bus_names(m, bus); - if (r < 0) - return r; - -diff --git a/src/core/dbus.h b/src/core/dbus.h -index 4f06ad1..ff76166 100644 ---- a/src/core/dbus.h -+++ b/src/core/dbus.h -@@ -34,6 +34,8 @@ void bus_track_serialize(sd_bus_track *t, FILE *f); - int bus_track_deserialize_item(char ***l, const char *line); - int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l); - -+int manager_sync_bus_names(Manager *m, sd_bus *bus); -+ - int bus_foreach_bus(Manager *m, sd_bus_track *subscribed2, int (*send_message)(sd_bus *bus, void *userdata), void *userdata); - - int bus_verify_manage_units_async(Manager *m, sd_bus_message *call, sd_bus_error *error); -diff --git a/src/core/manager.c b/src/core/manager.c -index e65616a..ffe27be 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -2574,6 +2574,10 @@ int manager_reload(Manager *m) { - /* Third, fire things up! */ - manager_coldplug(m); - -+ /* Sync current state of bus names with our set of listening units */ -+ if (m->api_bus) -+ manager_sync_bus_names(m, m->api_bus); -+ - assert(m->n_reloading > 0); - m->n_reloading--; - --- -2.6.2 - diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index e3d7c312..18fd4f61 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -134,7 +134,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -421,6 +428,35 @@ int main(int argc, char **argv) { +@@ -421,6 +428,32 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -146,31 +146,28 @@ Index: systemd-228/src/vconsole/vconsole-setup.c + + fdmem = open ("/dev/mem", O_RDONLY); + if (fdmem < 0) { -+ log_warning_errno(errno, "Failed to open /dev/mem: %m"); -+ goto finish; ++ log_error("Failed to open /dev/mem: %m"); ++ return EXIT_FAILURE; + } + + if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_warning_errno(errno, "Failed to seek /dev/mem: %m"); -+ goto finish; ++ log_error("Failed to seek /dev/mem: %m"); ++ return EXIT_FAILURE; + } + + if (read(fdmem, &c, sizeof(char)) == -1) { -+ log_warning_errno(errno, "Failed to read /dev/mem: %m"); -+ goto finish; ++ log_error("Failed to read /dev/mem: %m"); ++ return EXIT_FAILURE; + } + + if (c & BDA_KSF4_NUMLOCK_MASK) + numlock = true; -+ finish: -+ if (fdmem >= 0) -+ close(fdmem); + } +#endif /* x86 */ #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +492,10 @@ int main(int argc, char **argv) { +@@ -456,6 +489,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch index 22c45e4d..b106fc22 100644 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch @@ -9,8 +9,8 @@ for the virtual consoles (boo#904214) src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 +--- src/vconsole/vconsole-setup.c ++++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 @@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) unsigned short map16[E_TABSZ]; struct unimapdesc unimapd; diff --git a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff deleted file mode 100644 index 17a09a8a..00000000 --- a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +++ /dev/null @@ -1,116 +0,0 @@ -From 84d816c48b57b43e833e2917bbd278c116816fcf Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 28 Jan 2016 20:15:49 +0100 -Subject: [PATCH] nspawn: make journal linking non-fatal in try and auto modes - -Fixes #2091 ---- - src/nspawn/nspawn.c | 39 ++++++++++++++++++++------------------- - 1 file changed, 20 insertions(+), 19 deletions(-) - -diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index f6a2c03..97ea51a 100644 ---- a/src/nspawn/nspawn.c -+++ b/src/nspawn/nspawn.c -@@ -1338,6 +1338,7 @@ static int setup_journal(const char *directory) { - sd_id128_t machine_id, this_id; - _cleanup_free_ char *b = NULL, *d = NULL; - const char *etc_machine_id, *p, *q; -+ bool try; - char *id; - int r; - -@@ -1345,16 +1346,21 @@ static int setup_journal(const char *directory) { - if (arg_ephemeral) - return 0; - -+ if (arg_link_journal == LINK_NO) -+ return 0; -+ -+ try = arg_link_journal_try || arg_link_journal == LINK_AUTO; -+ - etc_machine_id = prefix_roota(directory, "/etc/machine-id"); - - r = read_one_line_file(etc_machine_id, &b); -- if (r == -ENOENT && arg_link_journal == LINK_AUTO) -+ if (r == -ENOENT && try) - return 0; - else if (r < 0) - return log_error_errno(r, "Failed to read machine ID from %s: %m", etc_machine_id); - - id = strstrip(b); -- if (isempty(id) && arg_link_journal == LINK_AUTO) -+ if (isempty(id) && try) - return 0; - - /* Verify validity */ -@@ -1367,16 +1373,13 @@ static int setup_journal(const char *directory) { - return log_error_errno(r, "Failed to retrieve machine ID: %m"); - - if (sd_id128_equal(machine_id, this_id)) { -- log_full(arg_link_journal == LINK_AUTO ? LOG_WARNING : LOG_ERR, -+ log_full(try ? LOG_WARNING : LOG_ERR, - "Host and machine ids are equal (%s): refusing to link journals", id); -- if (arg_link_journal == LINK_AUTO) -+ if (try) - return 0; - return -EEXIST; - } - -- if (arg_link_journal == LINK_NO) -- return 0; -- - r = userns_mkdir(directory, "/var", 0755, 0, 0); - if (r < 0) - return log_error_errno(r, "Failed to create /var: %m"); -@@ -1393,21 +1396,19 @@ static int setup_journal(const char *directory) { - q = prefix_roota(directory, p); - - if (path_is_mount_point(p, 0) > 0) { -- if (arg_link_journal != LINK_AUTO) { -- log_error("%s: already a mount point, refusing to use for journal", p); -- return -EEXIST; -- } -+ if (try) -+ return 0; - -- return 0; -+ log_error("%s: already a mount point, refusing to use for journal", p); -+ return -EEXIST; - } - - if (path_is_mount_point(q, 0) > 0) { -- if (arg_link_journal != LINK_AUTO) { -- log_error("%s: already a mount point, refusing to use for journal", q); -- return -EEXIST; -- } -+ if (try) -+ return 0; - -- return 0; -+ log_error("%s: already a mount point, refusing to use for journal", q); -+ return -EEXIST; - } - - r = readlink_and_make_absolute(p, &d); -@@ -1441,7 +1442,7 @@ static int setup_journal(const char *directory) { - if (arg_link_journal == LINK_GUEST) { - - if (symlink(q, p) < 0) { -- if (arg_link_journal_try) { -+ if (try) { - log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p); - return 0; - } else -@@ -1459,7 +1460,7 @@ static int setup_journal(const char *directory) { - * permanent journal set up, don't force it here */ - r = mkdir(p, 0755); - if (r < 0) { -- if (arg_link_journal_try) { -+ if (try) { - log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p); - return 0; - } else --- -2.7.0 - diff --git a/systemd-mini.changes b/systemd-mini.changes index b1a32521..85ab0ea5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,46 +1,3 @@ -------------------------------------------------------------------- -Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de - -- Add two patches which address logind/networkd disappearing from - dbus (and busctl) even while the units and processes continue - running. - 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch - 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - -------------------------------------------------------------------- -Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com - -- drop all compiler/linker option customizations: - - -pipe option is used by default since day 0 - - get rid of cflags() function which is not needed - - --hash-size has no impact specially in runtime - - IOW, use the default options for the compiler and the linker, - there's no point in making systemd different from other package in - this regards. - -------------------------------------------------------------------- -Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com - -- use %make_build instead of 'make %{?_smp_mflags}' - -------------------------------------------------------------------- -Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com - -- be more strict on own lib version requirements - -------------------------------------------------------------------- -Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com - -- systemd should require udev with the exact same version - -------------------------------------------------------------------- -Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de - -- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch - to allow that open, seek, and read of /dev/mem may fail e.g. - on XEN based virtual guests (bsc#961120) - ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de @@ -49,20 +6,6 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) -------------------------------------------------------------------- -Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de - -- require curl and bzip2 to build importd -- curl also causes building of journal-upload. That one has rather - unusal certificate usage, set it's ca root to /etc/pki/systemd - instead of the built-in default /etc/ssl as journal-remote and - journal-upload think they kan put stuff in /etc/ssl/certs then but - that directory is managed by p11-kit and doesn't serve the purpose - those programs think. -- /var/lib/systemd/random-seed is a file -- own /var/lib/machines -- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index f6b00696..04091633 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -92,9 +92,6 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools -# curl and bzip2 are required for building importd -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -105,7 +102,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev = %{version}-%{release} +Requires: udev >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -253,12 +250,6 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -333,7 +324,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libsystemd0%{?mini} = %version Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -347,7 +338,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -597,12 +588,9 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p1 +%patch523 -p0 %patch524 -p1 -%patch525 -p1 -%patch526 -p1 -%patch527 -p1 -%patch528 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 @@ -635,6 +623,38 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build +cflags () +{ + local flag=$1; shift + local var=$1; shift + local gold + test -n "${flag}" -a -n "${var}" || return + case "${!var}" in + *${flag}*) return + esac + if type ld.gold > /dev/null 2>&1 ; then + gold=-Wl,-fuse-ld=gold + fi + set -o noclobber + case "$flag" in + -Wl,*) + if echo 'int main () { return 0; }' | \ + ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + rm -f ldtest.c + ;; + *) + if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + esac + set +o noclobber +} + # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -646,19 +666,17 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh +export V=e export CFLAGS="%{optflags}" +export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif - -# certificate-root is set to /etc/pki/systemd instead of the -# built-in default /etc/ssl as journal-remote and journal-upload -# think they kan put stuff in /etc/ssl/certs then but that -# directory is managed by p11-kit and doesn't serve the purpose -# those programs think -# +cflags -pipe CFLAGS +cflags -Wl,-O2 LDFLAGS +cflags -Wl,--hash-size=8599 LDFLAGS # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -668,12 +686,10 @@ export CFLAGS="%{optflags}" --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ - --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ - --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -700,10 +716,9 @@ export CFLAGS="%{optflags}" --disable-resolved \ %endif --disable-kdbus - -%make_build V=e +make %{?_smp_mflags} %if ! 0%{?bootstrap} -%make_build V=e update-man-list man +make %{?_smp_mflags} update-man-list man %endif %install @@ -832,10 +847,7 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -> %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -# machined -mkdir -p %{buildroot}%{_localstatedir}/lib/machines +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} @@ -1297,7 +1309,6 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1404,7 +1415,6 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1412,13 +1422,6 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif -%if ! 0%{?bootstrap} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_prefix}/lib/systemd/import-pubring.gpg -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion diff --git a/systemd.changes b/systemd.changes index b1a32521..85ab0ea5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,46 +1,3 @@ -------------------------------------------------------------------- -Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de - -- Add two patches which address logind/networkd disappearing from - dbus (and busctl) even while the units and processes continue - running. - 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch - 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - -------------------------------------------------------------------- -Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com - -- drop all compiler/linker option customizations: - - -pipe option is used by default since day 0 - - get rid of cflags() function which is not needed - - --hash-size has no impact specially in runtime - - IOW, use the default options for the compiler and the linker, - there's no point in making systemd different from other package in - this regards. - -------------------------------------------------------------------- -Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com - -- use %make_build instead of 'make %{?_smp_mflags}' - -------------------------------------------------------------------- -Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com - -- be more strict on own lib version requirements - -------------------------------------------------------------------- -Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com - -- systemd should require udev with the exact same version - -------------------------------------------------------------------- -Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de - -- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch - to allow that open, seek, and read of /dev/mem may fail e.g. - on XEN based virtual guests (bsc#961120) - ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de @@ -49,20 +6,6 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) -------------------------------------------------------------------- -Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de - -- require curl and bzip2 to build importd -- curl also causes building of journal-upload. That one has rather - unusal certificate usage, set it's ca root to /etc/pki/systemd - instead of the built-in default /etc/ssl as journal-remote and - journal-upload think they kan put stuff in /etc/ssl/certs then but - that directory is managed by p11-kit and doesn't serve the purpose - those programs think. -- /var/lib/systemd/random-seed is a file -- own /var/lib/machines -- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index c2162ef0..37cb1be1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,9 +87,6 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools -# curl and bzip2 are required for building importd -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -100,7 +97,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev = %{version}-%{release} +Requires: udev >= 172 Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -248,12 +245,6 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -328,7 +319,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libsystemd0%{?mini} = %version Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -342,7 +333,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -592,12 +583,9 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p1 +%patch523 -p0 %patch524 -p1 -%patch525 -p1 -%patch526 -p1 -%patch527 -p1 -%patch528 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 @@ -630,6 +618,38 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build +cflags () +{ + local flag=$1; shift + local var=$1; shift + local gold + test -n "${flag}" -a -n "${var}" || return + case "${!var}" in + *${flag}*) return + esac + if type ld.gold > /dev/null 2>&1 ; then + gold=-Wl,-fuse-ld=gold + fi + set -o noclobber + case "$flag" in + -Wl,*) + if echo 'int main () { return 0; }' | \ + ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + rm -f ldtest.c + ;; + *) + if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + esac + set +o noclobber +} + # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -641,19 +661,17 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh +export V=e export CFLAGS="%{optflags}" +export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif - -# certificate-root is set to /etc/pki/systemd instead of the -# built-in default /etc/ssl as journal-remote and journal-upload -# think they kan put stuff in /etc/ssl/certs then but that -# directory is managed by p11-kit and doesn't serve the purpose -# those programs think -# +cflags -pipe CFLAGS +cflags -Wl,-O2 LDFLAGS +cflags -Wl,--hash-size=8599 LDFLAGS # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -663,12 +681,10 @@ export CFLAGS="%{optflags}" --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ - --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ - --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -695,10 +711,9 @@ export CFLAGS="%{optflags}" --disable-resolved \ %endif --disable-kdbus - -%make_build V=e +make %{?_smp_mflags} %if ! 0%{?bootstrap} -%make_build V=e update-man-list man +make %{?_smp_mflags} update-man-list man %endif %install @@ -827,10 +842,7 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -> %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -# machined -mkdir -p %{buildroot}%{_localstatedir}/lib/machines +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} @@ -1292,7 +1304,6 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1399,7 +1410,6 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1407,13 +1417,6 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif -%if ! 0%{?bootstrap} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_prefix}/lib/systemd/import-pubring.gpg -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion From f19082b59393a5db046cc75b67aec14c89bb1f29704ab34c124e9aa3e5076597 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 5 Apr 2016 07:09:23 +0000 Subject: [PATCH 238/991] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=936 --- ...lock-value-in-etc-sysconfig-keyboard.patch | 21 +++++++------------ systemd.changes | 6 ++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index e3d7c312..54b0c303 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -134,7 +134,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -421,6 +428,35 @@ int main(int argc, char **argv) { +@@ -421,6 +428,30 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -144,33 +144,28 @@ Index: systemd-228/src/vconsole/vconsole-setup.c + int _cleanup_close_ fdmem; + char c; + ++ errno = 0; + fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) { -+ log_warning_errno(errno, "Failed to open /dev/mem: %m"); ++ if (fdmem < 0) + goto finish; -+ } + -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_warning_errno(errno, "Failed to seek /dev/mem: %m"); ++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) + goto finish; -+ } + -+ if (read(fdmem, &c, sizeof(char)) == -1) { -+ log_warning_errno(errno, "Failed to read /dev/mem: %m"); ++ if (read(fdmem, &c, sizeof(char)) == -1) + goto finish; -+ } + + if (c & BDA_KSF4_NUMLOCK_MASK) + numlock = true; + finish: -+ if (fdmem >= 0) -+ close(fdmem); ++ if (errno) ++ log_warning_errno(errno, "Failed to read /dev/mem: %m"); + } +#endif /* x86 */ #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +492,10 @@ int main(int argc, char **argv) { +@@ -456,6 +487,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; diff --git a/systemd.changes b/systemd.changes index b1a32521..4ba2c424 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de + +- Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + that is do not close a file descriptor twice (boo#973907) + ------------------------------------------------------------------- Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de From edbc017ac1c5c873eb339c4ede880cd0163b5bdc956c37a429844bba97ec5b8d Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 5 Apr 2016 07:20:52 +0000 Subject: [PATCH 239/991] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=937 --- systemd-mini.changes | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index b1a32521..4ba2c424 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de + +- Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + that is do not close a file descriptor twice (boo#973907) + ------------------------------------------------------------------- Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de From 62682e6e22ceb6049ec48414c0833634ed16cec286491170cb618a8c9a4359ed Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 8 Apr 2016 07:35:10 +0000 Subject: [PATCH 240/991] Accepting request 384339 from Base:System - Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch that is do not close a file descriptor twice (boo#973907) - Add two patches which address logind/networkd disappearing from dbus (and busctl) even while the units and processes continue running. 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - drop all compiler/linker option customizations: - -pipe option is used by default since day 0 - get rid of cflags() function which is not needed - --hash-size has no impact specially in runtime IOW, use the default options for the compiler and the linker, there's no point in making systemd different from other package in this regards. - use %make_build instead of 'make %{?_smp_mflags}' - be more strict on own lib version requirements - systemd should require udev with the exact same version - Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch to allow that open, seek, and read of /dev/mem may fail e.g. on XEN based virtual guests (bsc#961120) - require curl and bzip2 to build importd - curl also causes building of journal-upload. That one has rather unusal certificate usage, set it's ca root to /etc/pki/systemd OBS-URL: https://build.opensuse.org/request/show/384339 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=232 --- ...-.slice-units-from-systemctl-isolate.patch | 8 +- ...e-synchronization-after-daemon-reloa.patch | 193 ++++++++++++++++++ ...-name-list-after-deserializing-durin.patch | 74 +++++++ ...lock-value-in-etc-sysconfig-keyboard.patch | 26 ++- ...et-properties-only-once-to-copy-them.patch | 4 +- ...nal-linking-non-fatal-in-try-and-auto.diff | 116 +++++++++++ systemd-mini.changes | 63 ++++++ systemd-mini.spec | 87 ++++---- systemd.changes | 63 ++++++ systemd.spec | 87 ++++---- 10 files changed, 611 insertions(+), 110 deletions(-) create mode 100644 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch create mode 100644 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch create mode 100644 systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch index 62717048..c954427f 100644 --- a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -11,8 +11,8 @@ Fixes: #1969 diff --git src/core/scope.c src/core/scope.c index c5d0ece..361695c 100644 ---- src/core/scope.c -+++ src/core/scope.c +--- a/src/core/scope.c ++++ b/src/core/scope.c @@ -50,8 +50,7 @@ static void scope_init(Unit *u) { assert(u->load_state == UNIT_STUB); @@ -25,8 +25,8 @@ index c5d0ece..361695c 100644 static void scope_done(Unit *u) { diff --git src/core/slice.c src/core/slice.c index d65364c..667f61b 100644 ---- src/core/slice.c -+++ src/core/slice.c +--- a/src/core/slice.c ++++ b/src/core/slice.c @@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { [SLICE_ACTIVE] = UNIT_ACTIVE }; diff --git a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch new file mode 100644 index 00000000..b1a18d36 --- /dev/null +++ b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch @@ -0,0 +1,193 @@ +From d8ccf5fdc91c46ab5d0ae86e38c206bc508d4188 Mon Sep 17 00:00:00 2001 [> v228] +From: Daniel Mack +Date: Fri, 18 Dec 2015 17:28:15 +0100 +Subject: [PATCH] core: fix bus name synchronization after daemon-reload + +During daemon-reload, PID1 temporarly loses its DBus connection, so there's +a small window in which all signals sent by dbus-daemon are lost. + +This is a problem, since we rely on the NameOwnerChanged signals in order to +consider a service with Type=dbus fully started or terminated, respectively. + +In order to fix this, a rewrite of bus_list_names() is necessary. We used +to walk the current list of names on the bus, and blindly triggered the +bus_name_owner_change() callback on each service, providing the actual name +as current owner. This implementation has a number of problems: + +* We cannot detect if the the name was moved from one owner to the other + while we were reloading + +* We don't notify services which missed the name loss signal + +* Providing the actual name as current owner is a hack, as the comment also + admits. + +To fix this, this patch carries the following changes: + +* Track the name of the current bus name owner, and (de-)serialize it + during reload. This way, we can detect changes. + +* In bus_list_names(), walk the list of bus names we're interested in + first, and then see if the name is active on the bus. If it is, + check it it's still the same as it used to be, and synthesize + NameOwnerChanged signals for the name add and/or loss. + +This should fully synchronize the current name list with the internal +state of all services. +--- + src/core/dbus.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------- + src/core/service.c | 14 ++++++++++++ + src/core/service.h | 1 + + 3 files changed, 69 insertions(+), 10 deletions(-) + +diff --git a/src/core/dbus.c b/src/core/dbus.c +index e7ee216..58069f5 100644 +--- a/src/core/dbus.c ++++ b/src/core/dbus.c +@@ -736,7 +736,9 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void + + static int bus_list_names(Manager *m, sd_bus *bus) { + _cleanup_strv_free_ char **names = NULL; +- char **i; ++ const char *name; ++ Iterator i; ++ Unit *u; + int r; + + assert(m); +@@ -746,15 +748,55 @@ static int bus_list_names(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to get initial list of names: %m"); + +- /* This is a bit hacky, we say the owner of the name is the +- * name itself, because we don't want the extra traffic to +- * figure out the real owner. */ +- STRV_FOREACH(i, names) { +- Unit *u; ++ /* We have to synchronize the current bus names with the ++ * list of active services. To do this, walk the list of ++ * all units with bus names. */ ++ HASHMAP_FOREACH_KEY(u, name, m->watch_bus, i) { ++ Service *s = SERVICE(u); ++ ++ assert(s); + +- u = hashmap_get(m->watch_bus, *i); +- if (u) +- UNIT_VTABLE(u)->bus_name_owner_change(u, *i, NULL, *i); ++ if (!streq_ptr(s->bus_name, name)) { ++ log_unit_warning(u, "Bus name has changed from %s → %s, ignoring.", s->bus_name, name); ++ continue; ++ } ++ ++ /* Check if a service's bus name is in the list of currently ++ * active names */ ++ if (strv_contains(names, name)) { ++ _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; ++ const char *unique; ++ ++ /* If it is, determine its current owner */ ++ r = sd_bus_get_name_creds(bus, name, SD_BUS_CREDS_UNIQUE_NAME, &creds); ++ if (r < 0) { ++ log_error_errno(r, "Failed to get bus name owner %s: %m", name); ++ continue; ++ } ++ ++ r = sd_bus_creds_get_unique_name(creds, &unique); ++ if (r < 0) { ++ log_error_errno(r, "Failed to get unique name for %s: %m", name); ++ continue; ++ } ++ ++ /* Now, let's compare that to the previous bus owner, and ++ * if it's still the same, all is fine, so just don't ++ * bother the service. Otherwise, the name has apparently ++ * changed, so synthesize a name owner changed signal. */ ++ ++ if (!streq_ptr(unique, s->bus_name_owner)) ++ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, unique); ++ } else { ++ /* So, the name we're watching is not on the bus. ++ * This either means it simply hasn't appeared yet, ++ * or it was lost during the daemon reload. ++ * Check if the service has a stored name owner, ++ * and synthesize a name loss signal in this case. */ ++ ++ if (s->bus_name_owner) ++ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, NULL); ++ } + } + + return 0; +@@ -808,7 +850,9 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to register name: %m"); + +- bus_list_names(m, bus); ++ r = bus_list_names(m, bus); ++ if (r < 0) ++ return r; + + log_debug("Successfully connected to API bus."); + return 0; +diff --git a/src/core/service.c b/src/core/service.c +index 41a729c..c5b689a 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -323,6 +323,8 @@ static void service_done(Unit *u) { + s->bus_name = mfree(s->bus_name); + } + ++ s->bus_name_owner = mfree(s->bus_name_owner); ++ + s->bus_endpoint_fd = safe_close(s->bus_endpoint_fd); + service_close_socket_fd(s); + service_connection_unref(s); +@@ -2122,6 +2124,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { + + unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); + unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); ++ unit_serialize_item(u, f, "bus-name-owner", s->bus_name_owner); + + r = unit_serialize_item_escaped(u, f, "status-text", s->status_text); + if (r < 0) +@@ -2249,6 +2252,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, + log_unit_debug(u, "Failed to parse bus-name-good value: %s", value); + else + s->bus_name_good = b; ++ } else if (streq(key, "bus-name-owner")) { ++ r = free_and_strdup(&s->bus_name_owner, value); ++ if (r < 0) ++ log_unit_error_errno(u, r, "Unable to deserialize current bus owner %s: %m", value); + } else if (streq(key, "status-text")) { + char *t; + +@@ -3134,6 +3141,13 @@ static void service_bus_name_owner_change( + + s->bus_name_good = !!new_owner; + ++ /* Track the current owner, so we can reconstruct changes after a daemon reload */ ++ r = free_and_strdup(&s->bus_name_owner, new_owner); ++ if (r < 0) { ++ log_unit_error_errno(u, r, "Unable to set new bus name owner %s: %m", new_owner); ++ return; ++ } ++ + if (s->type == SERVICE_DBUS) { + + /* service_enter_running() will figure out what to +diff --git a/src/core/service.h b/src/core/service.h +index d0faad8..19efbcc 100644 +--- a/src/core/service.h ++++ b/src/core/service.h +@@ -172,6 +172,7 @@ struct Service { + bool reset_cpu_usage:1; + + char *bus_name; ++ char *bus_name_owner; /* unique name of the current owner */ + + char *status_text; + int status_errno; +-- +2.6.2 + diff --git a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch new file mode 100644 index 00000000..11b6a99f --- /dev/null +++ b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch @@ -0,0 +1,74 @@ +From 8936a5e34dbfa9274348f3fef99f7c9f9327ddf9 Mon Sep 17 00:00:00 2001 [> v228] +From: Daniel Mack +Date: Tue, 22 Dec 2015 11:37:09 +0100 +Subject: [PATCH] core: re-sync bus name list after deserializing during + daemon-reload + +When the daemon reloads, it doesn not actually give up its DBus connection, +as wrongly stated in an earlier commit. However, even though the bus +connection stays open, the daemon flushes out all its internal state. + +Hence, if there is a NameOwnerChanged signal after the flush and before the +deserialization, it cannot be matched against any pending unit. + +To fix this, rename bus_list_names() to manager_sync_bus_names() and call +it explicitly at the end of the daemon reload operation. +--- + src/core/dbus.c | 4 ++-- + src/core/dbus.h | 2 ++ + src/core/manager.c | 4 ++++ + 3 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/core/dbus.c b/src/core/dbus.c +index 58069f5..1d89b9e 100644 +--- a/src/core/dbus.c ++++ b/src/core/dbus.c +@@ -734,7 +734,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void + return 0; + } + +-static int bus_list_names(Manager *m, sd_bus *bus) { ++int manager_sync_bus_names(Manager *m, sd_bus *bus) { + _cleanup_strv_free_ char **names = NULL; + const char *name; + Iterator i; +@@ -850,7 +850,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { + if (r < 0) + return log_error_errno(r, "Failed to register name: %m"); + +- r = bus_list_names(m, bus); ++ r = manager_sync_bus_names(m, bus); + if (r < 0) + return r; + +diff --git a/src/core/dbus.h b/src/core/dbus.h +index 4f06ad1..ff76166 100644 +--- a/src/core/dbus.h ++++ b/src/core/dbus.h +@@ -34,6 +34,8 @@ void bus_track_serialize(sd_bus_track *t, FILE *f); + int bus_track_deserialize_item(char ***l, const char *line); + int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l); + ++int manager_sync_bus_names(Manager *m, sd_bus *bus); ++ + int bus_foreach_bus(Manager *m, sd_bus_track *subscribed2, int (*send_message)(sd_bus *bus, void *userdata), void *userdata); + + int bus_verify_manage_units_async(Manager *m, sd_bus_message *call, sd_bus_error *error); +diff --git a/src/core/manager.c b/src/core/manager.c +index e65616a..ffe27be 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -2574,6 +2574,10 @@ int manager_reload(Manager *m) { + /* Third, fire things up! */ + manager_coldplug(m); + ++ /* Sync current state of bus names with our set of listening units */ ++ if (m->api_bus) ++ manager_sync_bus_names(m, m->api_bus); ++ + assert(m->n_reloading > 0); + m->n_reloading--; + +-- +2.6.2 + diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 18fd4f61..54b0c303 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -134,7 +134,7 @@ Index: systemd-228/src/vconsole/vconsole-setup.c "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -421,6 +428,32 @@ int main(int argc, char **argv) { +@@ -421,6 +428,30 @@ int main(int argc, char **argv) { disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; @@ -144,30 +144,28 @@ Index: systemd-228/src/vconsole/vconsole-setup.c + int _cleanup_close_ fdmem; + char c; + ++ errno = 0; + fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } ++ if (fdmem < 0) ++ goto finish; + -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } ++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) ++ goto finish; + -+ if (read(fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } ++ if (read(fdmem, &c, sizeof(char)) == -1) ++ goto finish; + + if (c & BDA_KSF4_NUMLOCK_MASK) + numlock = true; ++ finish: ++ if (errno) ++ log_warning_errno(errno, "Failed to read /dev/mem: %m"); + } +#endif /* x86 */ #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +489,10 @@ int main(int argc, char **argv) { +@@ -456,6 +487,10 @@ int main(int argc, char **argv) { font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock) > 0; diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch index b106fc22..22c45e4d 100644 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch @@ -9,8 +9,8 @@ for the virtual consoles (boo#904214) src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 @@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) unsigned short map16[E_TABSZ]; struct unimapdesc unimapd; diff --git a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff new file mode 100644 index 00000000..17a09a8a --- /dev/null +++ b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff @@ -0,0 +1,116 @@ +From 84d816c48b57b43e833e2917bbd278c116816fcf Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 28 Jan 2016 20:15:49 +0100 +Subject: [PATCH] nspawn: make journal linking non-fatal in try and auto modes + +Fixes #2091 +--- + src/nspawn/nspawn.c | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index f6a2c03..97ea51a 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -1338,6 +1338,7 @@ static int setup_journal(const char *directory) { + sd_id128_t machine_id, this_id; + _cleanup_free_ char *b = NULL, *d = NULL; + const char *etc_machine_id, *p, *q; ++ bool try; + char *id; + int r; + +@@ -1345,16 +1346,21 @@ static int setup_journal(const char *directory) { + if (arg_ephemeral) + return 0; + ++ if (arg_link_journal == LINK_NO) ++ return 0; ++ ++ try = arg_link_journal_try || arg_link_journal == LINK_AUTO; ++ + etc_machine_id = prefix_roota(directory, "/etc/machine-id"); + + r = read_one_line_file(etc_machine_id, &b); +- if (r == -ENOENT && arg_link_journal == LINK_AUTO) ++ if (r == -ENOENT && try) + return 0; + else if (r < 0) + return log_error_errno(r, "Failed to read machine ID from %s: %m", etc_machine_id); + + id = strstrip(b); +- if (isempty(id) && arg_link_journal == LINK_AUTO) ++ if (isempty(id) && try) + return 0; + + /* Verify validity */ +@@ -1367,16 +1373,13 @@ static int setup_journal(const char *directory) { + return log_error_errno(r, "Failed to retrieve machine ID: %m"); + + if (sd_id128_equal(machine_id, this_id)) { +- log_full(arg_link_journal == LINK_AUTO ? LOG_WARNING : LOG_ERR, ++ log_full(try ? LOG_WARNING : LOG_ERR, + "Host and machine ids are equal (%s): refusing to link journals", id); +- if (arg_link_journal == LINK_AUTO) ++ if (try) + return 0; + return -EEXIST; + } + +- if (arg_link_journal == LINK_NO) +- return 0; +- + r = userns_mkdir(directory, "/var", 0755, 0, 0); + if (r < 0) + return log_error_errno(r, "Failed to create /var: %m"); +@@ -1393,21 +1396,19 @@ static int setup_journal(const char *directory) { + q = prefix_roota(directory, p); + + if (path_is_mount_point(p, 0) > 0) { +- if (arg_link_journal != LINK_AUTO) { +- log_error("%s: already a mount point, refusing to use for journal", p); +- return -EEXIST; +- } ++ if (try) ++ return 0; + +- return 0; ++ log_error("%s: already a mount point, refusing to use for journal", p); ++ return -EEXIST; + } + + if (path_is_mount_point(q, 0) > 0) { +- if (arg_link_journal != LINK_AUTO) { +- log_error("%s: already a mount point, refusing to use for journal", q); +- return -EEXIST; +- } ++ if (try) ++ return 0; + +- return 0; ++ log_error("%s: already a mount point, refusing to use for journal", q); ++ return -EEXIST; + } + + r = readlink_and_make_absolute(p, &d); +@@ -1441,7 +1442,7 @@ static int setup_journal(const char *directory) { + if (arg_link_journal == LINK_GUEST) { + + if (symlink(q, p) < 0) { +- if (arg_link_journal_try) { ++ if (try) { + log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p); + return 0; + } else +@@ -1459,7 +1460,7 @@ static int setup_journal(const char *directory) { + * permanent journal set up, don't force it here */ + r = mkdir(p, 0755); + if (r < 0) { +- if (arg_link_journal_try) { ++ if (try) { + log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p); + return 0; + } else +-- +2.7.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 85ab0ea5..4ba2c424 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de + +- Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + that is do not close a file descriptor twice (boo#973907) + +------------------------------------------------------------------- +Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de + +- Add two patches which address logind/networkd disappearing from + dbus (and busctl) even while the units and processes continue + running. + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + +------------------------------------------------------------------- +Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com + +- drop all compiler/linker option customizations: + - -pipe option is used by default since day 0 + - get rid of cflags() function which is not needed + - --hash-size has no impact specially in runtime + + IOW, use the default options for the compiler and the linker, + there's no point in making systemd different from other package in + this regards. + +------------------------------------------------------------------- +Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com + +- use %make_build instead of 'make %{?_smp_mflags}' + +------------------------------------------------------------------- +Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com + +- be more strict on own lib version requirements + +------------------------------------------------------------------- +Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com + +- systemd should require udev with the exact same version + +------------------------------------------------------------------- +Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de + +- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + to allow that open, seek, and read of /dev/mem may fail e.g. + on XEN based virtual guests (bsc#961120) + ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de @@ -6,6 +55,20 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) +------------------------------------------------------------------- +Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + +- require curl and bzip2 to build importd +- curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they kan put stuff in /etc/ssl/certs then but + that directory is managed by p11-kit and doesn't serve the purpose + those programs think. +- /var/lib/systemd/random-seed is a file +- own /var/lib/machines +- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 04091633..f6b00696 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -92,6 +92,9 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +# curl and bzip2 are required for building importd +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -102,7 +105,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev >= 172 +Requires: udev = %{version}-%{release} Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -250,6 +253,12 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -324,7 +333,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -338,7 +347,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -588,9 +597,12 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p0 +%patch523 -p1 %patch524 -p1 -%patch525 -p0 +%patch525 -p1 +%patch526 -p1 +%patch527 -p1 +%patch528 -p1 # udev patches %patch1002 -p1 @@ -623,38 +635,6 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -666,17 +646,19 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh -export V=e export CFLAGS="%{optflags}" -export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS + +# certificate-root is set to /etc/pki/systemd instead of the +# built-in default /etc/ssl as journal-remote and journal-upload +# think they kan put stuff in /etc/ssl/certs then but that +# directory is managed by p11-kit and doesn't serve the purpose +# those programs think +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -686,10 +668,12 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ + --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ + --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -716,9 +700,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-resolved \ %endif --disable-kdbus -make %{?_smp_mflags} + +%make_build V=e %if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man +%make_build V=e update-man-list man %endif %install @@ -847,7 +832,10 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed +> %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# machined +mkdir -p %{buildroot}%{_localstatedir}/lib/machines %fdupes -s %{buildroot}%{_mandir} @@ -1309,6 +1297,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1415,6 +1404,7 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1422,6 +1412,13 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif +%if ! 0%{?bootstrap} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_prefix}/lib/systemd/import-pubring.gpg +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion diff --git a/systemd.changes b/systemd.changes index 85ab0ea5..4ba2c424 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de + +- Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + that is do not close a file descriptor twice (boo#973907) + +------------------------------------------------------------------- +Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de + +- Add two patches which address logind/networkd disappearing from + dbus (and busctl) even while the units and processes continue + running. + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + +------------------------------------------------------------------- +Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com + +- drop all compiler/linker option customizations: + - -pipe option is used by default since day 0 + - get rid of cflags() function which is not needed + - --hash-size has no impact specially in runtime + + IOW, use the default options for the compiler and the linker, + there's no point in making systemd different from other package in + this regards. + +------------------------------------------------------------------- +Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com + +- use %make_build instead of 'make %{?_smp_mflags}' + +------------------------------------------------------------------- +Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com + +- be more strict on own lib version requirements + +------------------------------------------------------------------- +Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com + +- systemd should require udev with the exact same version + +------------------------------------------------------------------- +Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de + +- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch + to allow that open, seek, and read of /dev/mem may fail e.g. + on XEN based virtual guests (bsc#961120) + ------------------------------------------------------------------- Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de @@ -6,6 +55,20 @@ Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de this fixes forced logouts on isolate target aka changing runlevel (boo#966535) +------------------------------------------------------------------- +Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + +- require curl and bzip2 to build importd +- curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they kan put stuff in /etc/ssl/certs then but + that directory is managed by p11-kit and doesn't serve the purpose + those programs think. +- /var/lib/systemd/random-seed is a file +- own /var/lib/machines +- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index 37cb1be1..c2162ef0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,6 +87,9 @@ Conflicts: kiwi BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +# curl and bzip2 are required for building importd +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) %if %{with python} BuildRequires: python %endif @@ -97,7 +100,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev >= 172 +Requires: udev = %{version}-%{release} Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd @@ -245,6 +248,12 @@ Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch # PATCH-FIX-UPSTREAM (bsc#966535) Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # UDEV PATCHES # ============ @@ -319,7 +328,7 @@ Some systemd commands offer bash completion, but it's an optional dependency. Summary: Development headers for systemd License: LGPL-2.1+ Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %version +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Provides: systemd-devel = %version-%release @@ -333,7 +342,7 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1+ Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) Provides: sysvinit:/sbin/init @@ -583,9 +592,12 @@ cp %{SOURCE7} m4/ %patch520 -p1 %patch521 -p1 %patch522 -p1 -%patch523 -p0 +%patch523 -p1 %patch524 -p1 -%patch525 -p0 +%patch525 -p1 +%patch526 -p1 +%patch527 -p1 +%patch528 -p1 # udev patches %patch1002 -p1 @@ -618,38 +630,6 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %endif %build -cflags () -{ - local flag=$1; shift - local var=$1; shift - local gold - test -n "${flag}" -a -n "${var}" || return - case "${!var}" in - *${flag}*) return - esac - if type ld.gold > /dev/null 2>&1 ; then - gold=-Wl,-fuse-ld=gold - fi - set -o noclobber - case "$flag" in - -Wl,*) - if echo 'int main () { return 0; }' | \ - ${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - rm -f ldtest.c - ;; - *) - if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then - eval $var=\${$var:+\$$var\ }$flag - fi - esac - set +o noclobber -} - # # Be sure that fresh build libudev is linked as otherwise no errors are found # @@ -661,17 +641,19 @@ systemd_cryptsetup_LDFLAGS = \\\ }' Makefile.am sh autogen.sh -export V=e export CFLAGS="%{optflags}" -export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" %else CFLAGS="$CFLAGS -DNET_IFNAMES=0" %endif -cflags -pipe CFLAGS -cflags -Wl,-O2 LDFLAGS -cflags -Wl,--hash-size=8599 LDFLAGS + +# certificate-root is set to /etc/pki/systemd instead of the +# built-in default /etc/ssl as journal-remote and journal-upload +# think they kan put stuff in /etc/ssl/certs then but that +# directory is managed by p11-kit and doesn't serve the purpose +# those programs think +# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ @@ -681,10 +663,12 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ + --with-certificate-root=/etc/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ --disable-machined \ + --disable-importd \ %else --enable-manpages \ %if %{with python} @@ -711,9 +695,10 @@ cflags -Wl,--hash-size=8599 LDFLAGS --disable-resolved \ %endif --disable-kdbus -make %{?_smp_mflags} + +%make_build V=e %if ! 0%{?bootstrap} -make %{?_smp_mflags} update-man-list man +%make_build V=e update-man-list man %endif %install @@ -842,7 +827,10 @@ install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed +> %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# machined +mkdir -p %{buildroot}%{_localstatedir}/lib/machines %fdupes -s %{buildroot}%{_mandir} @@ -1304,6 +1292,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %if !0%{?bootstrap} %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1410,6 +1399,7 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf @@ -1417,6 +1407,13 @@ exit 0 %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname %endif +%if ! 0%{?bootstrap} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_prefix}/lib/systemd/import-pubring.gpg +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion From a9ecab26297c5ca60210797f5d0aa493290908b99fbf4852cbbc78bd08453178 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 8 Apr 2016 09:28:10 +0000 Subject: [PATCH 241/991] Accepting request 385773 from home:Andreas_Schwab:Factory - Avoid bootstrap cycle with sg3_utils OBS-URL: https://build.opensuse.org/request/show/385773 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=938 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 3 +++ systemd.changes | 5 +++++ systemd.spec | 3 +++ 4 files changed, 16 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 4ba2c424..38334909 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de + +- Avoid bootstrap cycle with sg3_utils + ------------------------------------------------------------------- Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index f6b00696..6c58354f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -393,7 +393,10 @@ Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm PreReq: %insserv_prereq PreReq: %fillup_prereq +# Avoid bootstrap cycle with sg3_utils +%if "%{?mini}" == "" PreReq: /usr/bin/sg_inq +%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent diff --git a/systemd.changes b/systemd.changes index 4ba2c424..38334909 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de + +- Avoid bootstrap cycle with sg3_utils + ------------------------------------------------------------------- Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index c2162ef0..c2c902a1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -388,7 +388,10 @@ Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm PreReq: %insserv_prereq PreReq: %fillup_prereq +# Avoid bootstrap cycle with sg3_utils +%if "%{?mini}" == "" PreReq: /usr/bin/sg_inq +%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent From 4d93f6971f75fc840ae4108ae5e10578b3280e6d270dc5b6216d3e557e3bd9f0 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 14 Apr 2016 11:00:36 +0000 Subject: [PATCH 242/991] Accepting request 386175 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/386175 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=233 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 3 +++ systemd.changes | 5 +++++ systemd.spec | 3 +++ 4 files changed, 16 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 4ba2c424..38334909 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de + +- Avoid bootstrap cycle with sg3_utils + ------------------------------------------------------------------- Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index f6b00696..6c58354f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -393,7 +393,10 @@ Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm PreReq: %insserv_prereq PreReq: %fillup_prereq +# Avoid bootstrap cycle with sg3_utils +%if "%{?mini}" == "" PreReq: /usr/bin/sg_inq +%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent diff --git a/systemd.changes b/systemd.changes index 4ba2c424..38334909 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de + +- Avoid bootstrap cycle with sg3_utils + ------------------------------------------------------------------- Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index c2162ef0..c2c902a1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -388,7 +388,10 @@ Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm PreReq: %insserv_prereq PreReq: %fillup_prereq +# Avoid bootstrap cycle with sg3_utils +%if "%{?mini}" == "" PreReq: /usr/bin/sg_inq +%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent From 7c23ba4538b543b9e12d31a906b5d54f929a4fc9c93158236543cf25971ea088 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Fri, 13 May 2016 08:10:24 +0000 Subject: [PATCH 243/991] Accepting request 394450 from home:tsaupe:branches:openSUSE:Factory:systemd-boo970293 fix warning about missing install info during preset (boo#970293) OBS-URL: https://build.opensuse.org/request/show/394450 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=939 --- ...o-not-warn-about-missing-install-inf.patch | 121 ++++++++++++++++++ systemd-mini.changes | 6 + systemd-mini.spec | 3 + systemd.changes | 6 + systemd.spec | 3 + 5 files changed, 139 insertions(+) create mode 100644 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch diff --git a/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch b/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch new file mode 100644 index 00000000..8c9d10ab --- /dev/null +++ b/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch @@ -0,0 +1,121 @@ +From b8d6cc0513adadea9b5048fa320d7f49c10f004b Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Wed, 4 May 2016 08:51:52 +0200 +Subject: [PATCH] systemctl,pid1: do not warn about missing install info with + "preset" + +When "preset" was executed for a unit without install info, we'd warn similarly +as for "enable" and "disable". But "preset" is usually called for all units, +because the preset files are provided by the distribution, and the units are under +control of individual programs, and it's reasonable to call "preset" for all units +rather then try to do it only for the ones that can be installed. +We also don't warn about missing info for "preset-all". Thus it seems reasonable +to silently ignore units w/o install info when presetting. + +(In addition, when more than one unit was specified, we'd issue the warning +only if none of them had install info. But this is probably something to fix +for enable/disable too.) +--- + man/systemctl.xml | 26 +++++++++++++------------- + src/systemctl/systemctl.c | 10 +++++----- + 2 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/man/systemctl.xml b/man/systemctl.xml +index f342e26..1c2c919 100644 +--- a/man/systemctl.xml ++++ b/man/systemctl.xml +@@ -1082,22 +1082,22 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service + preset NAME... + + +- Reset one or more unit files, as specified on the +- command line, to the defaults configured in the preset +- policy files. This has the same effect as +- disable or enable, +- depending how the unit is listed in the preset files. ++ Reset the enable/disable status one or more unit files, as specified on ++ the command line, to the defaults configured in the preset policy files. This ++ has the same effect as disable or ++ enable, depending how the unit is listed in the preset ++ files. + +- Use to control +- whether units shall be enabled and disabled, or only +- enabled, or only disabled. ++ Use to control whether units shall be ++ enabled and disabled, or only enabled, or only disabled. ++ ++ If the unit carries no install information, it will be silently ignored ++ by this command. + +- For more information on the preset policy format, +- see ++ For more information on the preset policy format, see + systemd.preset5. +- For more information on the concept of presets, please +- consult the Preset ++ For more information on the concept of presets, please consult the ++ Preset + document. + + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 1f42d1a..9dc5971 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -5399,6 +5399,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + UnitFileChange *changes = NULL; + unsigned n_changes = 0; + int carries_install_info = -1; ++ bool ignore_carries_install_info = false; + int r; + + if (!argv[1]) +@@ -5412,8 +5413,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + if (r < 0) + return r; + +- /* If the operation was fully executed by the SysV compat, +- * let's finish early */ ++ /* If the operation was fully executed by the SysV compat, let's finish early */ + if (strv_isempty(names)) + return 0; + +@@ -5430,7 +5430,6 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + r = unit_file_link(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); + else if (streq(verb, "preset")) { + r = unit_file_preset(arg_scope, arg_runtime, arg_root, names, arg_preset_mode, arg_force, &changes, &n_changes); +- carries_install_info = r; + } else if (streq(verb, "mask")) + r = unit_file_mask(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); + else if (streq(verb, "unmask")) +@@ -5450,7 +5449,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + } else { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *m = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- int expect_carries_install_info = false; ++ bool expect_carries_install_info = false; + bool send_force = true, send_preset_mode = false; + const char *method; + sd_bus *bus; +@@ -5481,6 +5480,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + method = "PresetUnitFiles"; + + expect_carries_install_info = true; ++ ignore_carries_install_info = true; + } else if (streq(verb, "mask")) + method = "MaskUnitFiles"; + else if (streq(verb, "unmask")) { +@@ -5540,7 +5540,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + r = 0; + } + +- if (carries_install_info == 0) ++ if (carries_install_info == 0 && !ignore_carries_install_info) + log_warning("The unit files have no [Install] section. They are not meant to be enabled\n" + "using systemctl.\n" + "Possible reasons for having this kind of units are:\n" +-- +2.6.6 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 38334909..d04c8eee 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com + +- fix warning about missing install info during preset (boo#970293) + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + ------------------------------------------------------------------- Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 6c58354f..9a135a27 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -259,6 +259,8 @@ Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-aut Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # UDEV PATCHES # ============ @@ -606,6 +608,7 @@ cp %{SOURCE7} m4/ %patch526 -p1 %patch527 -p1 %patch528 -p1 +%patch529 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 38334909..d04c8eee 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com + +- fix warning about missing install info during preset (boo#970293) + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + ------------------------------------------------------------------- Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de diff --git a/systemd.spec b/systemd.spec index c2c902a1..5367c1a5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -254,6 +254,8 @@ Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-aut Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # UDEV PATCHES # ============ @@ -601,6 +603,7 @@ cp %{SOURCE7} m4/ %patch526 -p1 %patch527 -p1 %patch528 -p1 +%patch529 -p1 # udev patches %patch1002 -p1 From bed4a33d65245b9453da3ef8fd048c1fd20f2140cc64b052b8e0aefd65557c84 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 17 May 2016 15:04:33 +0000 Subject: [PATCH 244/991] Accepting request 395116 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/395116 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=234 --- ...o-not-warn-about-missing-install-inf.patch | 121 ++++++++++++++++++ systemd-mini.changes | 6 + systemd-mini.spec | 3 + systemd.changes | 6 + systemd.spec | 3 + 5 files changed, 139 insertions(+) create mode 100644 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch diff --git a/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch b/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch new file mode 100644 index 00000000..8c9d10ab --- /dev/null +++ b/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch @@ -0,0 +1,121 @@ +From b8d6cc0513adadea9b5048fa320d7f49c10f004b Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Wed, 4 May 2016 08:51:52 +0200 +Subject: [PATCH] systemctl,pid1: do not warn about missing install info with + "preset" + +When "preset" was executed for a unit without install info, we'd warn similarly +as for "enable" and "disable". But "preset" is usually called for all units, +because the preset files are provided by the distribution, and the units are under +control of individual programs, and it's reasonable to call "preset" for all units +rather then try to do it only for the ones that can be installed. +We also don't warn about missing info for "preset-all". Thus it seems reasonable +to silently ignore units w/o install info when presetting. + +(In addition, when more than one unit was specified, we'd issue the warning +only if none of them had install info. But this is probably something to fix +for enable/disable too.) +--- + man/systemctl.xml | 26 +++++++++++++------------- + src/systemctl/systemctl.c | 10 +++++----- + 2 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/man/systemctl.xml b/man/systemctl.xml +index f342e26..1c2c919 100644 +--- a/man/systemctl.xml ++++ b/man/systemctl.xml +@@ -1082,22 +1082,22 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service + preset NAME... + + +- Reset one or more unit files, as specified on the +- command line, to the defaults configured in the preset +- policy files. This has the same effect as +- disable or enable, +- depending how the unit is listed in the preset files. ++ Reset the enable/disable status one or more unit files, as specified on ++ the command line, to the defaults configured in the preset policy files. This ++ has the same effect as disable or ++ enable, depending how the unit is listed in the preset ++ files. + +- Use to control +- whether units shall be enabled and disabled, or only +- enabled, or only disabled. ++ Use to control whether units shall be ++ enabled and disabled, or only enabled, or only disabled. ++ ++ If the unit carries no install information, it will be silently ignored ++ by this command. + +- For more information on the preset policy format, +- see ++ For more information on the preset policy format, see + systemd.preset5. +- For more information on the concept of presets, please +- consult the Preset ++ For more information on the concept of presets, please consult the ++ Preset + document. + + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 1f42d1a..9dc5971 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -5399,6 +5399,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + UnitFileChange *changes = NULL; + unsigned n_changes = 0; + int carries_install_info = -1; ++ bool ignore_carries_install_info = false; + int r; + + if (!argv[1]) +@@ -5412,8 +5413,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + if (r < 0) + return r; + +- /* If the operation was fully executed by the SysV compat, +- * let's finish early */ ++ /* If the operation was fully executed by the SysV compat, let's finish early */ + if (strv_isempty(names)) + return 0; + +@@ -5430,7 +5430,6 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + r = unit_file_link(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); + else if (streq(verb, "preset")) { + r = unit_file_preset(arg_scope, arg_runtime, arg_root, names, arg_preset_mode, arg_force, &changes, &n_changes); +- carries_install_info = r; + } else if (streq(verb, "mask")) + r = unit_file_mask(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); + else if (streq(verb, "unmask")) +@@ -5450,7 +5449,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + } else { + _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *m = NULL; + _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; +- int expect_carries_install_info = false; ++ bool expect_carries_install_info = false; + bool send_force = true, send_preset_mode = false; + const char *method; + sd_bus *bus; +@@ -5481,6 +5480,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + method = "PresetUnitFiles"; + + expect_carries_install_info = true; ++ ignore_carries_install_info = true; + } else if (streq(verb, "mask")) + method = "MaskUnitFiles"; + else if (streq(verb, "unmask")) { +@@ -5540,7 +5540,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { + r = 0; + } + +- if (carries_install_info == 0) ++ if (carries_install_info == 0 && !ignore_carries_install_info) + log_warning("The unit files have no [Install] section. They are not meant to be enabled\n" + "using systemctl.\n" + "Possible reasons for having this kind of units are:\n" +-- +2.6.6 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 38334909..d04c8eee 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com + +- fix warning about missing install info during preset (boo#970293) + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + ------------------------------------------------------------------- Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 6c58354f..9a135a27 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -259,6 +259,8 @@ Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-aut Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # UDEV PATCHES # ============ @@ -606,6 +608,7 @@ cp %{SOURCE7} m4/ %patch526 -p1 %patch527 -p1 %patch528 -p1 +%patch529 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 38334909..d04c8eee 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com + +- fix warning about missing install info during preset (boo#970293) + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + ------------------------------------------------------------------- Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de diff --git a/systemd.spec b/systemd.spec index c2c902a1..5367c1a5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -254,6 +254,8 @@ Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-aut Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +# PATCH-FIX-UPSTREAM -- fixed after 228 +Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # UDEV PATCHES # ============ @@ -601,6 +603,7 @@ cp %{SOURCE7} m4/ %patch526 -p1 %patch527 -p1 %patch528 -p1 +%patch529 -p1 # udev patches %patch1002 -p1 From 41e79518e7bac08b63b3ef2288cffa6020544c6d3a72691f1a05d807c0e4c054 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 27 Jun 2016 14:38:21 +0000 Subject: [PATCH 245/991] Accepting request 403388 from home:arvidjaar:bnc:984516 - drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch it breaks btrfs on multiple device-mapper devices (boo#984516). The problem it tried to fix is already fixed in rule shipped with btrfsprogs (see boo#912170). OBS-URL: https://build.opensuse.org/request/show/403388 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=940 --- ...r-target-name-for-btrfs-device-ready.patch | 45 ------------------- systemd-mini.changes | 8 ++++ systemd-mini.spec | 3 -- systemd.changes | 8 ++++ systemd.spec | 3 -- 5 files changed, 16 insertions(+), 51 deletions(-) delete mode 100644 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch diff --git a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch deleted file mode 100644 index 02ead8c8..00000000 --- a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Jeff Mahoney -Subject: udev: use device mapper target name for btrfs device ready -References: bnc#888215 - -When udev gets a change event for a block device, it calls the builtin -btrfs helper to scan it for a btrfs file system. If the file system was -mounted using a device mapper node, mount(8) will have looked up the -device mapper table and used the /dev/mapper/ node for mount. - -If something like partprobe runs, and then causes change events to be -handled, the btrfs ready event is handled using /dev/dm-N instead of -the device mapper named node. Btrfs caches the last name passed to -the scanning ioctl and uses that to report the device name for -things like /proc/mounts. - -So, after running partprobe we go from: -/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache) -... to ... -/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache) - -This doesn't apply only to LVM device, but multipath as well. - -If the device is a DM device, udev will have already cached the table name -from sysfs and we can use that to pass /dev/mapper/ to the builtin -so that the correct name is used. - -Signed-off-by: Jeff Mahoney ---- - rules/64-btrfs.rules | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/rules/64-btrfs.rules -=================================================================== ---- systemd-221.orig/rules/64-btrfs.rules -+++ systemd-221/rules/64-btrfs.rules -@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en - ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" - - # let the kernel know about this btrfs filesystem, and check if it is complete --IMPORT{builtin}="btrfs ready $devnode" -+ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode" -+ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}" - - # mark the device as not ready to be used by the system - ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0" diff --git a/systemd-mini.changes b/systemd-mini.changes index d04c8eee..0b789caf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com + +- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + it breaks btrfs on multiple device-mapper devices (boo#984516). The problem + it tried to fix is already fixed in rule shipped with btrfsprogs (see + boo#912170). + ------------------------------------------------------------------- Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 9a135a27..242538fe 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -288,8 +288,6 @@ Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) @@ -622,7 +620,6 @@ cp %{SOURCE7} m4/ %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1060 -p1 %patch1062 -p1 %patch1066 -p1 %patch1095 -p1 diff --git a/systemd.changes b/systemd.changes index d04c8eee..0b789caf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com + +- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + it breaks btrfs on multiple device-mapper devices (boo#984516). The problem + it tried to fix is already fixed in rule shipped with btrfsprogs (see + boo#912170). + ------------------------------------------------------------------- Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com diff --git a/systemd.spec b/systemd.spec index 5367c1a5..bb4e8865 100644 --- a/systemd.spec +++ b/systemd.spec @@ -283,8 +283,6 @@ Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) @@ -617,7 +615,6 @@ cp %{SOURCE7} m4/ %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1060 -p1 %patch1062 -p1 %patch1066 -p1 %patch1095 -p1 From 3bb40fe915d2d59cb9edf9056f68527a47dd540dae523fefa0df682d0bdd9a9f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 10 Jul 2016 16:46:36 +0000 Subject: [PATCH 246/991] Accepting request 405018 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/405018 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=235 --- ...r-target-name-for-btrfs-device-ready.patch | 45 ------------------- systemd-mini.changes | 8 ++++ systemd-mini.spec | 3 -- systemd.changes | 8 ++++ systemd.spec | 3 -- 5 files changed, 16 insertions(+), 51 deletions(-) delete mode 100644 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch diff --git a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch b/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch deleted file mode 100644 index 02ead8c8..00000000 --- a/1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Jeff Mahoney -Subject: udev: use device mapper target name for btrfs device ready -References: bnc#888215 - -When udev gets a change event for a block device, it calls the builtin -btrfs helper to scan it for a btrfs file system. If the file system was -mounted using a device mapper node, mount(8) will have looked up the -device mapper table and used the /dev/mapper/ node for mount. - -If something like partprobe runs, and then causes change events to be -handled, the btrfs ready event is handled using /dev/dm-N instead of -the device mapper named node. Btrfs caches the last name passed to -the scanning ioctl and uses that to report the device name for -things like /proc/mounts. - -So, after running partprobe we go from: -/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache) -... to ... -/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache) - -This doesn't apply only to LVM device, but multipath as well. - -If the device is a DM device, udev will have already cached the table name -from sysfs and we can use that to pass /dev/mapper/ to the builtin -so that the correct name is used. - -Signed-off-by: Jeff Mahoney ---- - rules/64-btrfs.rules | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/rules/64-btrfs.rules -=================================================================== ---- systemd-221.orig/rules/64-btrfs.rules -+++ systemd-221/rules/64-btrfs.rules -@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en - ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" - - # let the kernel know about this btrfs filesystem, and check if it is complete --IMPORT{builtin}="btrfs ready $devnode" -+ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode" -+ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}" - - # mark the device as not ready to be used by the system - ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0" diff --git a/systemd-mini.changes b/systemd-mini.changes index d04c8eee..0b789caf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com + +- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + it breaks btrfs on multiple device-mapper devices (boo#984516). The problem + it tried to fix is already fixed in rule shipped with btrfsprogs (see + boo#912170). + ------------------------------------------------------------------- Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 9a135a27..242538fe 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -288,8 +288,6 @@ Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) @@ -622,7 +620,6 @@ cp %{SOURCE7} m4/ %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1060 -p1 %patch1062 -p1 %patch1066 -p1 %patch1095 -p1 diff --git a/systemd.changes b/systemd.changes index d04c8eee..0b789caf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com + +- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch + it breaks btrfs on multiple device-mapper devices (boo#984516). The problem + it tried to fix is already fixed in rule shipped with btrfsprogs (see + boo#912170). + ------------------------------------------------------------------- Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com diff --git a/systemd.spec b/systemd.spec index 5367c1a5..bb4e8865 100644 --- a/systemd.spec +++ b/systemd.spec @@ -283,8 +283,6 @@ Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch # PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch -Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) @@ -617,7 +615,6 @@ cp %{SOURCE7} m4/ %if %{with blkrrpart} %patch1037 -p1 %endif -%patch1060 -p1 %patch1062 -p1 %patch1066 -p1 %patch1095 -p1 From 046a81a8c1953e11d408b4f8f1b88043c443f4dac49fcb97d4c29e70c01ed740 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 18 Jul 2016 08:24:21 +0000 Subject: [PATCH 247/991] Accepting request 411397 from home:cyphar:branches:Base:System Backports a patch from v230 to allow for systemd.unified_cgroup_hierarchy to be supported on 4.4 and later kernels. boo#989276 OBS-URL: https://build.opensuse.org/request/show/411397 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=941 --- ...use-new-fstype-for-unified-hierarchy.patch | 87 +++++++++++++++++++ systemd.changes | 6 ++ systemd.spec | 13 +-- 3 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch diff --git a/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch b/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch new file mode 100644 index 00000000..53faee2a --- /dev/null +++ b/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch @@ -0,0 +1,87 @@ +commit 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 +Author: Alban Crequy +Date: Mon Dec 7 01:10:50 2015 +0100 + + cgroup2: use new fstype for unified hierarchy + + Since Linux v4.4-rc1, __DEVEL__sane_behavior does not exist anymore and + is replaced by a new fstype "cgroup2". + + With this patch, systemd no longer supports the old (unstable) way of + doing unified hierarchy with __DEVEL__sane_behavior and systemd now + requires Linux v4.4 for unified hierarchy. + + Non-unified hierarchy is still the default and is unchanged by this + patch. + + https://github.com/torvalds/linux/commit/67e9c74b8a873408c27ac9a8e4c1d1c8d72c93ff + + Upstream-patch: 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 + +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c +index 56c1fcaab9b2..5124b5bf93ad 100644 +--- a/src/basic/cgroup-util.c ++++ b/src/basic/cgroup-util.c +@@ -2129,7 +2129,7 @@ int cg_unified(void) { + if (statfs("/sys/fs/cgroup/", &fs) < 0) + return -errno; + +- if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)) ++ if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) + unified_cache = true; + else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) + unified_cache = false; +diff --git a/src/basic/missing.h b/src/basic/missing.h +index 034e334e6626..66cd5921adf0 100644 +--- a/src/basic/missing.h ++++ b/src/basic/missing.h +@@ -437,6 +437,10 @@ struct btrfs_ioctl_quota_ctl_args { + #define CGROUP_SUPER_MAGIC 0x27e0eb + #endif + ++#ifndef CGROUP2_SUPER_MAGIC ++#define CGROUP2_SUPER_MAGIC 0x63677270 ++#endif ++ + #ifndef TMPFS_MAGIC + #define TMPFS_MAGIC 0x01021994 + #endif +diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c +index de1a361cc4c5..32fe51c67ea3 100644 +--- a/src/core/mount-setup.c ++++ b/src/core/mount-setup.c +@@ -94,7 +94,7 @@ static const MountPoint mount_table[] = { + #endif + { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, +- { "cgroup", "/sys/fs/cgroup", "cgroup", "__DEVEL__sane_behavior", MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ { "cgroup", "/sys/fs/cgroup", "cgroup2", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, + cg_is_unified_wanted, MNT_FATAL|MNT_IN_CONTAINER }, + { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, + cg_is_legacy_wanted, MNT_FATAL|MNT_IN_CONTAINER }, +diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c +index 9f9a4759d1ca..53a7ee713427 100644 +--- a/src/nspawn/nspawn-cgroup.c ++++ b/src/nspawn/nspawn-cgroup.c +@@ -94,7 +94,7 @@ int sync_cgroup(pid_t pid, bool unified_requested) { + if (unified) + r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "none,name=systemd,xattr"); + else +- r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior"); ++ r = mount("cgroup", tree, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL); + if (r < 0) { + r = log_error_errno(errno, "Failed to mount unified hierarchy: %m"); + goto finish; +diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c +index 70cca1527876..64cb6b3ce306 100644 +--- a/src/nspawn/nspawn-mount.c ++++ b/src/nspawn/nspawn-mount.c +@@ -750,7 +750,7 @@ static int mount_unified_cgroups(const char *dest) { + return -EINVAL; + } + +- if (mount("cgroup", p, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior") < 0) ++ if (mount("cgroup", p, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL) < 0) + return log_error_errno(errno, "Failed to mount unified cgroup hierarchy to %s: %m", p); + + return 0; diff --git a/systemd.changes b/systemd.changes index 0b789caf..74f22fb3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com + +- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276 + + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + ------------------------------------------------------------------- Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index bb4e8865..ce853c2f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -256,6 +256,8 @@ Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch +# PATCH-FIX-UPSTREAM -- fixed after 320 +Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch # UDEV PATCHES # ============ @@ -281,7 +283,7 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 +# PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch @@ -466,8 +468,8 @@ Provides: syslog Provides: sysvinit(syslog) Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl Requires(post): permissions Conflicts: otherproviders(syslog) @@ -602,6 +604,7 @@ cp %{SOURCE7} m4/ %patch527 -p1 %patch528 -p1 %patch529 -p1 +%patch530 -p1 # udev patches %patch1002 -p1 @@ -811,7 +814,7 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. +#ensure we get the running kernel sysctl settings. cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf d! /run/sysctl.d @@ -881,7 +884,7 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# add entries for xkeyboard-config converted keymaps; mappings, +# add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then From 8766470c500d57454f720643168b60924a57ce27c5f1ba4cac7d62591651e6f2 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 24 Jul 2016 17:42:51 +0000 Subject: [PATCH 248/991] Accepting request 411712 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/411712 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=236 --- ...use-new-fstype-for-unified-hierarchy.patch | 87 +++++++++++++++++++ systemd.changes | 6 ++ systemd.spec | 13 +-- 3 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch diff --git a/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch b/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch new file mode 100644 index 00000000..53faee2a --- /dev/null +++ b/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch @@ -0,0 +1,87 @@ +commit 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 +Author: Alban Crequy +Date: Mon Dec 7 01:10:50 2015 +0100 + + cgroup2: use new fstype for unified hierarchy + + Since Linux v4.4-rc1, __DEVEL__sane_behavior does not exist anymore and + is replaced by a new fstype "cgroup2". + + With this patch, systemd no longer supports the old (unstable) way of + doing unified hierarchy with __DEVEL__sane_behavior and systemd now + requires Linux v4.4 for unified hierarchy. + + Non-unified hierarchy is still the default and is unchanged by this + patch. + + https://github.com/torvalds/linux/commit/67e9c74b8a873408c27ac9a8e4c1d1c8d72c93ff + + Upstream-patch: 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 + +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c +index 56c1fcaab9b2..5124b5bf93ad 100644 +--- a/src/basic/cgroup-util.c ++++ b/src/basic/cgroup-util.c +@@ -2129,7 +2129,7 @@ int cg_unified(void) { + if (statfs("/sys/fs/cgroup/", &fs) < 0) + return -errno; + +- if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)) ++ if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) + unified_cache = true; + else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) + unified_cache = false; +diff --git a/src/basic/missing.h b/src/basic/missing.h +index 034e334e6626..66cd5921adf0 100644 +--- a/src/basic/missing.h ++++ b/src/basic/missing.h +@@ -437,6 +437,10 @@ struct btrfs_ioctl_quota_ctl_args { + #define CGROUP_SUPER_MAGIC 0x27e0eb + #endif + ++#ifndef CGROUP2_SUPER_MAGIC ++#define CGROUP2_SUPER_MAGIC 0x63677270 ++#endif ++ + #ifndef TMPFS_MAGIC + #define TMPFS_MAGIC 0x01021994 + #endif +diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c +index de1a361cc4c5..32fe51c67ea3 100644 +--- a/src/core/mount-setup.c ++++ b/src/core/mount-setup.c +@@ -94,7 +94,7 @@ static const MountPoint mount_table[] = { + #endif + { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, +- { "cgroup", "/sys/fs/cgroup", "cgroup", "__DEVEL__sane_behavior", MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ { "cgroup", "/sys/fs/cgroup", "cgroup2", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, + cg_is_unified_wanted, MNT_FATAL|MNT_IN_CONTAINER }, + { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, + cg_is_legacy_wanted, MNT_FATAL|MNT_IN_CONTAINER }, +diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c +index 9f9a4759d1ca..53a7ee713427 100644 +--- a/src/nspawn/nspawn-cgroup.c ++++ b/src/nspawn/nspawn-cgroup.c +@@ -94,7 +94,7 @@ int sync_cgroup(pid_t pid, bool unified_requested) { + if (unified) + r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "none,name=systemd,xattr"); + else +- r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior"); ++ r = mount("cgroup", tree, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL); + if (r < 0) { + r = log_error_errno(errno, "Failed to mount unified hierarchy: %m"); + goto finish; +diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c +index 70cca1527876..64cb6b3ce306 100644 +--- a/src/nspawn/nspawn-mount.c ++++ b/src/nspawn/nspawn-mount.c +@@ -750,7 +750,7 @@ static int mount_unified_cgroups(const char *dest) { + return -EINVAL; + } + +- if (mount("cgroup", p, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior") < 0) ++ if (mount("cgroup", p, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL) < 0) + return log_error_errno(errno, "Failed to mount unified cgroup hierarchy to %s: %m", p); + + return 0; diff --git a/systemd.changes b/systemd.changes index 0b789caf..74f22fb3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com + +- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276 + + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + ------------------------------------------------------------------- Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com diff --git a/systemd.spec b/systemd.spec index bb4e8865..ce853c2f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -256,6 +256,8 @@ Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch +# PATCH-FIX-UPSTREAM -- fixed after 320 +Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch # UDEV PATCHES # ============ @@ -281,7 +283,7 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 +# PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch @@ -466,8 +468,8 @@ Provides: syslog Provides: sysvinit(syslog) Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl Requires(post): permissions Conflicts: otherproviders(syslog) @@ -602,6 +604,7 @@ cp %{SOURCE7} m4/ %patch527 -p1 %patch528 -p1 %patch529 -p1 +%patch530 -p1 # udev patches %patch1002 -p1 @@ -811,7 +814,7 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. +#ensure we get the running kernel sysctl settings. cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf d! /run/sysctl.d @@ -881,7 +884,7 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# add entries for xkeyboard-config converted keymaps; mappings, +# add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then From c022a3538aea801518746c4764d97e330945b1b201d392d40fa684702d8d9540 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Fri, 29 Jul 2016 11:07:07 +0000 Subject: [PATCH 249/991] Accepting request 415263 from home:jengelh:branches:Base:System Split systemctl and tmpfiles into a separate package The backstory is that %{?systemd_requires} in all kinds of .spec files pulls in systemd, which is not always desirable. Upstream has come up with some solution where they make use of a rpm tag (available in 4.10+) that is only about ordering - cf https://github.com/systemd/systemd/commit/2424b6bd716f0c1c3bf3406b1fd1a16ba1b6a556 . The commit explicitly states though, that "installing systemd afterwards [...], does not result in the same outcome." With this proposed change to our systemd.spec, we could have the cake and eat it too: * symlinks in /etc/systemd can be created at install time, permitting the administrator to install/use systemd as init system in a container at a later date (enabling "same outcome") * mandatory tmp directories will be created at install time already, so the administrator does not have to run `tmpfiles --root=/mycontainer` before launching the (systemd-less) container. * the only protruding dependency of systemctl.rpm is libgcrypt20, i.e. comparatively light. * the OrderWithRequires feature can be done independently Sounds like a plan? @mpluskal too #boo980389 OBS-URL: https://build.opensuse.org/request/show/415263 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=942 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 42 ++++++++++++++++++++++++++++++------------ systemd.changes | 5 +++++ systemd.spec | 29 ++++++++++++++++++++++------- 4 files changed, 68 insertions(+), 19 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0b789caf..4a519473 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de + +- Split systemctl and tmpfiles into a separate package + +------------------------------------------------------------------- +Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com + +- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276 + + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + ------------------------------------------------------------------- Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 242538fe..b986eb07 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -114,6 +114,7 @@ Requires: netcfg Requires: pam-config >= 0.79-5 BuildRequires: pam-config >= 0.79-5 Requires: pwdutils +Requires: systemctl = %version-%release Requires: systemd-presets-branding Requires: sysvinit-tools Requires: util-linux >= 2.27.1 @@ -261,6 +262,8 @@ Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch +# PATCH-FIX-UPSTREAM -- fixed after 320 +Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch # UDEV PATCHES # ============ @@ -286,7 +289,7 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 +# PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch @@ -385,6 +388,18 @@ This library provides several of the systemd C APIs: * sd-login(3): APIs to introspect and monitor seat, login session and user status information on the local system. +%package -n systemctl +Summary: systemd essential helper programs +License: LGPL-2.1+ +Group: System/Base + +%description -n systemctl +This subpackage contains the "systemctl" and "tmpfiles" programs of +systemd, factored out to support RPM scriptlets making use of these +two. It is meant for container/chroot directories for which the +administrator intends not to use systemd as init system while still +maintaining the /etc/systemd links for a later time. + %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0 @@ -471,8 +486,8 @@ Provides: syslog Provides: sysvinit(syslog) Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl Requires(post): permissions Conflicts: otherproviders(syslog) @@ -607,6 +622,7 @@ cp %{SOURCE7} m4/ %patch527 -p1 %patch528 -p1 %patch529 -p1 +%patch530 -p1 # udev patches %patch1002 -p1 @@ -816,7 +832,7 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. +#ensure we get the running kernel sysctl settings. cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf d! /run/sysctl.d @@ -886,7 +902,7 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# add entries for xkeyboard-config converted keymaps; mappings, +# add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then @@ -1152,7 +1168,6 @@ exit 0 %defattr(-,root,root) /bin/systemd /bin/systemd-ask-password -/bin/systemctl %if %{with networkd} %{_bindir}/networkctl %endif @@ -1164,7 +1179,6 @@ exit 0 %if ! 0%{?bootstrap} %{_bindir}/machinectl %endif -%{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl %{_bindir}/systemd-delta @@ -1181,7 +1195,6 @@ exit 0 %{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn %{_bindir}/systemd-stdio-bridge @@ -1275,10 +1288,6 @@ exit 0 %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%dir %{_libexecdir}/tmpfiles.d -%dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf - %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1582,4 +1591,13 @@ exit 0 %endif %endif +%files -n systemctl +%defattr(-,root,root) +/bin/systemctl +%_bindir/systemctl +%_bindir/systemd-tmpfiles +%dir %_sysconfdir/tmpfiles.d +%dir %_libexecdir/tmpfiles.d +%_libexecdir/tmpfiles.d/*.conf + %changelog diff --git a/systemd.changes b/systemd.changes index 74f22fb3..4a519473 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de + +- Split systemctl and tmpfiles into a separate package + ------------------------------------------------------------------- Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com diff --git a/systemd.spec b/systemd.spec index ce853c2f..7954cf32 100644 --- a/systemd.spec +++ b/systemd.spec @@ -109,6 +109,7 @@ Requires: netcfg Requires: pam-config >= 0.79-5 BuildRequires: pam-config >= 0.79-5 Requires: pwdutils +Requires: systemctl = %version-%release Requires: systemd-presets-branding Requires: sysvinit-tools Requires: util-linux >= 2.27.1 @@ -382,6 +383,18 @@ This library provides several of the systemd C APIs: * sd-login(3): APIs to introspect and monitor seat, login session and user status information on the local system. +%package -n systemctl +Summary: systemd essential helper programs +License: LGPL-2.1+ +Group: System/Base + +%description -n systemctl +This subpackage contains the "systemctl" and "tmpfiles" programs of +systemd, factored out to support RPM scriptlets making use of these +two. It is meant for container/chroot directories for which the +administrator intends not to use systemd as init system while still +maintaining the /etc/systemd links for a later time. + %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0 @@ -1150,7 +1163,6 @@ exit 0 %defattr(-,root,root) /bin/systemd /bin/systemd-ask-password -/bin/systemctl %if %{with networkd} %{_bindir}/networkctl %endif @@ -1162,7 +1174,6 @@ exit 0 %if ! 0%{?bootstrap} %{_bindir}/machinectl %endif -%{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl %{_bindir}/systemd-delta @@ -1179,7 +1190,6 @@ exit 0 %{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn %{_bindir}/systemd-stdio-bridge @@ -1273,10 +1283,6 @@ exit 0 %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%dir %{_libexecdir}/tmpfiles.d -%dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf - %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1580,4 +1586,13 @@ exit 0 %endif %endif +%files -n systemctl +%defattr(-,root,root) +/bin/systemctl +%_bindir/systemctl +%_bindir/systemd-tmpfiles +%dir %_sysconfdir/tmpfiles.d +%dir %_libexecdir/tmpfiles.d +%_libexecdir/tmpfiles.d/*.conf + %changelog From 6d1765bf53ffb71184a0751cbb9c42ba0c3c00175d497cbf21b0b2009c1088ec Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 4 Aug 2016 11:43:47 +0000 Subject: [PATCH 250/991] Accepting request 415958 from home:jengelh:branches:Base:System - Add sysusers to the new split "systemctl" subpackage OBS-URL: https://build.opensuse.org/request/show/415958 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=943 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 12 ++++++------ systemd.changes | 5 +++++ systemd.spec | 12 ++++++------ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 4a519473..4968fe94 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de + +- Add sysusers to the new split "systemctl" subpackage + ------------------------------------------------------------------- Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de diff --git a/systemd-mini.spec b/systemd-mini.spec index b986eb07..91068798 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -394,11 +394,11 @@ License: LGPL-2.1+ Group: System/Base %description -n systemctl -This subpackage contains the "systemctl" and "tmpfiles" programs of -systemd, factored out to support RPM scriptlets making use of these -two. It is meant for container/chroot directories for which the +This subpackage contains the utilities "systemctl", "tmpfiles" and +"sysusers", factored out to support RPM scriptlets making use of +these. It is meant for container/chroot directories for which the administrator intends not to use systemd as init system while still -maintaining the /etc/systemd links for a later time. +maintaining the /etc/systemd symlinks links for a later time. %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager @@ -1185,7 +1185,6 @@ exit 0 %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-path -%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -1273,7 +1272,6 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator %{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -1595,7 +1593,9 @@ exit 0 %defattr(-,root,root) /bin/systemctl %_bindir/systemctl +%_bindir/systemd-sysusers %_bindir/systemd-tmpfiles +%dir %_libexecdir/sysusers.d %dir %_sysconfdir/tmpfiles.d %dir %_libexecdir/tmpfiles.d %_libexecdir/tmpfiles.d/*.conf diff --git a/systemd.changes b/systemd.changes index 4a519473..4968fe94 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de + +- Add sysusers to the new split "systemctl" subpackage + ------------------------------------------------------------------- Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index 7954cf32..03eab46f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -389,11 +389,11 @@ License: LGPL-2.1+ Group: System/Base %description -n systemctl -This subpackage contains the "systemctl" and "tmpfiles" programs of -systemd, factored out to support RPM scriptlets making use of these -two. It is meant for container/chroot directories for which the +This subpackage contains the utilities "systemctl", "tmpfiles" and +"sysusers", factored out to support RPM scriptlets making use of +these. It is meant for container/chroot directories for which the administrator intends not to use systemd as init system while still -maintaining the /etc/systemd links for a later time. +maintaining the /etc/systemd symlinks for a later time. %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager @@ -1180,7 +1180,6 @@ exit 0 %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-path -%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -1268,7 +1267,6 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator %{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -1590,7 +1588,9 @@ exit 0 %defattr(-,root,root) /bin/systemctl %_bindir/systemctl +%_bindir/systemd-sysusers %_bindir/systemd-tmpfiles +%_libexecdir/sysusers.d/ %dir %_sysconfdir/tmpfiles.d %dir %_libexecdir/tmpfiles.d %_libexecdir/tmpfiles.d/*.conf From 4825441b96c3af58e5a642d866af89a8a249709c2733aca60027fd1b42bf556b Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 4 Aug 2016 11:57:25 +0000 Subject: [PATCH 251/991] Accepting request 416238 from home:develop7:branches:Base:System Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch to enable missing functionality of Steam Controller based on http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.52.tar.gz/steam/lib/udev/rules.d/99-steam-controller-perms.rules OBS-URL: https://build.opensuse.org/request/show/416238 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=944 --- ...les-for-valve-steam-controller-to-work.patch | 17 +++-------------- systemd-mini.changes | 6 ++++++ systemd.changes | 6 ++++++ 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch index 6078c4cc..20cf7a81 100644 --- a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch +++ b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch @@ -1,14 +1,3 @@ -From e3effecf928405cdd477ae554e2276fb8a7288c4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= -Date: Mon, 30 Nov 2015 14:35:15 +0100 -Subject: [PATCH] Add default rules for valve steam controler to work - ---- - Makefile.am | 1 + - rules/72-valve-steam-controler.rules | 2 ++ - 2 files changed, 3 insertions(+) - create mode 100644 rules/72-valve-steam-controler.rules - diff --git a/Makefile.am b/Makefile.am index db206ae..803912c 100644 --- a/Makefile.am @@ -26,9 +15,9 @@ new file mode 100644 index 0000000..f676972 --- /dev/null +++ b/rules/72-valve-steam-controler.rules -@@ -0,0 +1,2 @@ -+# for basic functionality of the controller in Steam and keyboard/mouse emulation +@@ -0,0 +1,3 @@ +SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", TAG+="uaccess" ++SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", TAG+="uaccess" ++KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess" -- 2.6.3 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 4968fe94..a41242e5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -8,6 +8,12 @@ Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de - Split systemctl and tmpfiles into a separate package +------------------------------------------------------------------- +Tue Jul 19 17:45:12 UTC 2016 - develop7@develop7.info + +- Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + to enable missing functionality of Steam Controller + ------------------------------------------------------------------- Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com diff --git a/systemd.changes b/systemd.changes index 4968fe94..2d906609 100644 --- a/systemd.changes +++ b/systemd.changes @@ -8,6 +8,12 @@ Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de - Split systemctl and tmpfiles into a separate package +------------------------------------------------------------------- +Tue Jul 19 17:42:45 UTC 2016 - develop7@develop7.info + +- Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + to enable missing functionality of Steam Controller + ------------------------------------------------------------------- Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com From 5fdb1ba2a54f5ec7078076ec943263469b5e2ab7129cbd01b05f438a14f1dad6 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 10 Aug 2016 12:13:59 +0000 Subject: [PATCH 252/991] Accepting request 418290 from home:msmeissn:branches:Base:System - reverted the systemctl split-off on request of Franck Bui. - reverted the systemctl split-off on request of Franck Bui. OBS-URL: https://build.opensuse.org/request/show/418290 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=945 --- systemd-mini.changes | 7 ++++++- systemd-mini.spec | 33 +++++++++------------------------ systemd.changes | 5 +++++ systemd.spec | 33 +++++++++------------------------ 4 files changed, 29 insertions(+), 49 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a41242e5..4fc7896d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com + +- reverted the systemctl split-off on request of Franck Bui. + ------------------------------------------------------------------- Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de @@ -9,7 +14,7 @@ Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de - Split systemctl and tmpfiles into a separate package ------------------------------------------------------------------- -Tue Jul 19 17:45:12 UTC 2016 - develop7@develop7.info +Tue Jul 19 17:42:45 UTC 2016 - develop7@develop7.info - Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch to enable missing functionality of Steam Controller diff --git a/systemd-mini.spec b/systemd-mini.spec index 91068798..bf7dcf2c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -114,7 +114,6 @@ Requires: netcfg Requires: pam-config >= 0.79-5 BuildRequires: pam-config >= 0.79-5 Requires: pwdutils -Requires: systemctl = %version-%release Requires: systemd-presets-branding Requires: sysvinit-tools Requires: util-linux >= 2.27.1 @@ -388,18 +387,6 @@ This library provides several of the systemd C APIs: * sd-login(3): APIs to introspect and monitor seat, login session and user status information on the local system. -%package -n systemctl -Summary: systemd essential helper programs -License: LGPL-2.1+ -Group: System/Base - -%description -n systemctl -This subpackage contains the utilities "systemctl", "tmpfiles" and -"sysusers", factored out to support RPM scriptlets making use of -these. It is meant for container/chroot directories for which the -administrator intends not to use systemd as init system while still -maintaining the /etc/systemd symlinks links for a later time. - %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0 @@ -1168,6 +1155,7 @@ exit 0 %defattr(-,root,root) /bin/systemd /bin/systemd-ask-password +/bin/systemctl %if %{with networkd} %{_bindir}/networkctl %endif @@ -1179,12 +1167,14 @@ exit 0 %if ! 0%{?bootstrap} %{_bindir}/machinectl %endif +%{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-path +%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -1194,6 +1184,7 @@ exit 0 %{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn %{_bindir}/systemd-stdio-bridge @@ -1272,6 +1263,7 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator %{_prefix}/lib/systemd/system-preset/ +%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -1286,6 +1278,10 @@ exit 0 %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf +%dir %{_libexecdir}/tmpfiles.d +%dir %{_sysconfdir}/tmpfiles.d +%{_libexecdir}/tmpfiles.d/*.conf + %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1589,15 +1585,4 @@ exit 0 %endif %endif -%files -n systemctl -%defattr(-,root,root) -/bin/systemctl -%_bindir/systemctl -%_bindir/systemd-sysusers -%_bindir/systemd-tmpfiles -%dir %_libexecdir/sysusers.d -%dir %_sysconfdir/tmpfiles.d -%dir %_libexecdir/tmpfiles.d -%_libexecdir/tmpfiles.d/*.conf - %changelog diff --git a/systemd.changes b/systemd.changes index 2d906609..4fc7896d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com + +- reverted the systemctl split-off on request of Franck Bui. + ------------------------------------------------------------------- Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index 03eab46f..ce853c2f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -109,7 +109,6 @@ Requires: netcfg Requires: pam-config >= 0.79-5 BuildRequires: pam-config >= 0.79-5 Requires: pwdutils -Requires: systemctl = %version-%release Requires: systemd-presets-branding Requires: sysvinit-tools Requires: util-linux >= 2.27.1 @@ -383,18 +382,6 @@ This library provides several of the systemd C APIs: * sd-login(3): APIs to introspect and monitor seat, login session and user status information on the local system. -%package -n systemctl -Summary: systemd essential helper programs -License: LGPL-2.1+ -Group: System/Base - -%description -n systemctl -This subpackage contains the utilities "systemctl", "tmpfiles" and -"sysusers", factored out to support RPM scriptlets making use of -these. It is meant for container/chroot directories for which the -administrator intends not to use systemd as init system while still -maintaining the /etc/systemd symlinks for a later time. - %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0 @@ -1163,6 +1150,7 @@ exit 0 %defattr(-,root,root) /bin/systemd /bin/systemd-ask-password +/bin/systemctl %if %{with networkd} %{_bindir}/networkctl %endif @@ -1174,12 +1162,14 @@ exit 0 %if ! 0%{?bootstrap} %{_bindir}/machinectl %endif +%{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-path +%{_bindir}/systemd-sysusers %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -1189,6 +1179,7 @@ exit 0 %{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn %{_bindir}/systemd-stdio-bridge @@ -1267,6 +1258,7 @@ exit 0 %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator %{_prefix}/lib/systemd/system-preset/ +%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user @@ -1281,6 +1273,10 @@ exit 0 %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf +%dir %{_libexecdir}/tmpfiles.d +%dir %{_sysconfdir}/tmpfiles.d +%{_libexecdir}/tmpfiles.d/*.conf + %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1584,15 +1580,4 @@ exit 0 %endif %endif -%files -n systemctl -%defattr(-,root,root) -/bin/systemctl -%_bindir/systemctl -%_bindir/systemd-sysusers -%_bindir/systemd-tmpfiles -%_libexecdir/sysusers.d/ -%dir %_sysconfdir/tmpfiles.d -%dir %_libexecdir/tmpfiles.d -%_libexecdir/tmpfiles.d/*.conf - %changelog From 94b0aba8d9c8d9d7f9a34e8cca3b23c8f85cd900772df87a8d56903a30ce708d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 13 Aug 2016 16:29:55 +0000 Subject: [PATCH 253/991] Accepting request 418298 from Base:System - reverted the systemctl split-off on request of Franck Bui. - reverted the systemctl split-off on request of Franck Bui. (forwarded request 418290 from msmeissn) OBS-URL: https://build.opensuse.org/request/show/418298 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=237 --- ...s-for-valve-steam-controller-to-work.patch | 17 +++--------- systemd-mini.changes | 27 +++++++++++++++++++ systemd-mini.spec | 13 +++++---- systemd.changes | 21 +++++++++++++++ 4 files changed, 59 insertions(+), 19 deletions(-) diff --git a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch index 6078c4cc..20cf7a81 100644 --- a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch +++ b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch @@ -1,14 +1,3 @@ -From e3effecf928405cdd477ae554e2276fb8a7288c4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= -Date: Mon, 30 Nov 2015 14:35:15 +0100 -Subject: [PATCH] Add default rules for valve steam controler to work - ---- - Makefile.am | 1 + - rules/72-valve-steam-controler.rules | 2 ++ - 2 files changed, 3 insertions(+) - create mode 100644 rules/72-valve-steam-controler.rules - diff --git a/Makefile.am b/Makefile.am index db206ae..803912c 100644 --- a/Makefile.am @@ -26,9 +15,9 @@ new file mode 100644 index 0000000..f676972 --- /dev/null +++ b/rules/72-valve-steam-controler.rules -@@ -0,0 +1,2 @@ -+# for basic functionality of the controller in Steam and keyboard/mouse emulation +@@ -0,0 +1,3 @@ +SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", TAG+="uaccess" ++SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", TAG+="uaccess" ++KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess" -- 2.6.3 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 0b789caf..4fc7896d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com + +- reverted the systemctl split-off on request of Franck Bui. + +------------------------------------------------------------------- +Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de + +- Add sysusers to the new split "systemctl" subpackage + +------------------------------------------------------------------- +Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de + +- Split systemctl and tmpfiles into a separate package + +------------------------------------------------------------------- +Tue Jul 19 17:42:45 UTC 2016 - develop7@develop7.info + +- Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + to enable missing functionality of Steam Controller + +------------------------------------------------------------------- +Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com + +- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276 + + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + ------------------------------------------------------------------- Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 242538fe..bf7dcf2c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -261,6 +261,8 @@ Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch # PATCH-FIX-UPSTREAM -- fixed after 228 Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch +# PATCH-FIX-UPSTREAM -- fixed after 320 +Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch # UDEV PATCHES # ============ @@ -286,7 +288,7 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch # PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 +# PATCH-FIX-SUSE See bnc#882714 comment #51 Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch @@ -471,8 +473,8 @@ Provides: syslog Provides: sysvinit(syslog) Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl Requires(post): permissions Conflicts: otherproviders(syslog) @@ -607,6 +609,7 @@ cp %{SOURCE7} m4/ %patch527 -p1 %patch528 -p1 %patch529 -p1 +%patch530 -p1 # udev patches %patch1002 -p1 @@ -816,7 +819,7 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. +#ensure we get the running kernel sysctl settings. cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf d! /run/sysctl.d @@ -886,7 +889,7 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# add entries for xkeyboard-config converted keymaps; mappings, +# add entries for xkeyboard-config converted keymaps; mappings, # which already exist in original systemd mapping table are being # ignored though, i.e. not overwritten if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then diff --git a/systemd.changes b/systemd.changes index 74f22fb3..4fc7896d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com + +- reverted the systemctl split-off on request of Franck Bui. + +------------------------------------------------------------------- +Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de + +- Add sysusers to the new split "systemctl" subpackage + +------------------------------------------------------------------- +Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de + +- Split systemctl and tmpfiles into a separate package + +------------------------------------------------------------------- +Tue Jul 19 17:42:45 UTC 2016 - develop7@develop7.info + +- Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + to enable missing functionality of Steam Controller + ------------------------------------------------------------------- Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com From 08d13164a4d2a65f494ed6167f0a5cbf959f5c59279bd97a79d97d1242fb7e51 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 25 Aug 2016 12:43:25 +0000 Subject: [PATCH 254/991] Accepting request 421294 from home:fbui:branches:Base:System - Add a script to fix /var/lib/machines to make it suitable for rollbacks (bsc#992573992573) - Add a script to fix /var/lib/machines to make it suitable for rollbacks (bsc#992573992573) OBS-URL: https://build.opensuse.org/request/show/421294 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=946 --- fix-machines-subvol-for-rollbacks.sh | 110 +++++++++++++++++++++++++++ systemd-mini.changes | 6 ++ systemd-mini.spec | 18 ++++- systemd.changes | 6 ++ systemd.spec | 18 ++++- 5 files changed, 152 insertions(+), 6 deletions(-) create mode 100644 fix-machines-subvol-for-rollbacks.sh diff --git a/fix-machines-subvol-for-rollbacks.sh b/fix-machines-subvol-for-rollbacks.sh new file mode 100644 index 00000000..7bdf5d2c --- /dev/null +++ b/fix-machines-subvol-for-rollbacks.sh @@ -0,0 +1,110 @@ +#! /bin/bash +# +# This is used to initially create /var/lib/machines subvolume in case +# the system we're running on is using BTRFS with the specific layout +# used by snapper to perform snapshots, rollbacks, etc... +# +# Unfortunately some distros (TW) already shipped versions with +# systemd creating a plain subvolume which breaks snapper. +# +# If /var/lib/machines is already populated then it's going to be +# pretty ugly to convert the old subvolume into a new one specially +# since it can be in use. +# +# Hopefully not a lot of users are using machinectl to import +# container/VM images. So in most of the cases this directory should +# be empty and we can then simple delete the subvolume and create a +# new one respecting the snapper layout. +# +# In the rare case where /var/lib/machines is populated, we will warn +# the user and let him fix it manually. +# +# In order to avoid ugly dependencies added in systemd package, this +# script should only be called during package updates when +# mksubvolume(8) is available. During installation, /var/lib/machines +# is supposed to be created by the installer now. +# +# See bsc#992573 +# + +warn() { + echo >&2 "warning: $@" +} + +is_btrfs_subvolume() { + # On btrfs subvolumes always have the inode 256 + test $(stat --format=%i "$1") -eq 256 +} + +# This assumes the directory/subvol is emptied by the caller. +rm_subvolume_or_directory() { + is_btrfs_subvolume "$1" && { + btrfs subvolume delete "$1" + return + } + rmdir "$1" +} + +on_exit() { + # Simply print a common error message in case something went + # wrong. + if test $? -ne 0; then + warn "Please fix /var/lib/machines manually." + # FIXME: point to a documentation explaining how to do + # that. + exit 1 + fi +} + +# +# If something is already mounted don't try to fix anything, the +# subvolume has already been created by either mksubvolume(8) or by +# the admin. In the later case we don't want to screw up his setup. +# +if mountpoint -q /var/lib/machines; then + exit +fi + +# +# Let's try to figure out if the current filesystem uses a Snapper +# BTRFS specific layout. Note that TW uses a different layout than +# SLE... +# +# FIXME: not sure if it's correct, reliable or optimal. +# +case $(findmnt -nr -t btrfs -o FSROOT / 2>/dev/null) in +*.snapshots/*/snapshot*) + ;; +*) + exit 0 +esac + +trap on_exit EXIT + +if test -d /var/lib/machines; then + # + # Ok, we're on a system supporting rollbacks and + # /var/lib/machines is not a subvolume remotely mounted so it + # cannot be suitable for systems supporting rollback. Fix it. + # + echo "Making /var/lib/machines suitable for rollbacks..." + + type mksubvolume >/dev/null 2>&1 || { + warn "mksubvolume(8) is not installed, aborting." + exit 1 + } + test "$(ls -A /var/lib/machines/)" && { + warn "/var/lib/machines is not empty, aborting." + exit 1 + } + + echo "Deleting empty /var/lib/machines directory/subvolume" + rm_subvolume_or_directory /var/lib/machines || { + warn "fail to delete /var/lib/machines" + exit 1 + } +fi + +# At this point /var/lib/machines shouldn't exist. +echo "Creating /var/lib/machines subvolume suitable for rollbacks." +mksubvolume /var/lib/machines diff --git a/systemd-mini.changes b/systemd-mini.changes index 4fc7896d..5d067a28 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com + +- Add a script to fix /var/lib/machines to make it suitable for + rollbacks (bsc#992573992573) + ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index bf7dcf2c..41bcb763 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -148,6 +148,7 @@ Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install +Source13: fix-machines-subvol-for-rollbacks.sh Source1065: systemd-remount-tmpfs @@ -840,8 +841,12 @@ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-us mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight > %{buildroot}%{_localstatedir}/lib/systemd/random-seed -# machined -mkdir -p %{buildroot}%{_localstatedir}/lib/machines +# On systems supporting rollbacks with btrfs, /var/lib/machines +# subvolume must be created differently. Normally the installer takes +# care of this now but some systems uses a plain subvolume that breaks +# snapshots, rollback ("nearly everything" see bsc#992573). This +# script should help fixing it. +install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ %fdupes -s %{buildroot}%{_mandir} @@ -987,6 +992,13 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Convert /var/lib/machines subvolume to make it suitable for +# rollbacks, if needed. See bsc#992573. The installer has been fixed +# to create it at installation time. +if [ $1 -gt 1 ]; then + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -1229,6 +1241,7 @@ exit 0 %endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1410,7 +1423,6 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf diff --git a/systemd.changes b/systemd.changes index 4fc7896d..5d067a28 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com + +- Add a script to fix /var/lib/machines to make it suitable for + rollbacks (bsc#992573992573) + ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index ce853c2f..90da8619 100644 --- a/systemd.spec +++ b/systemd.spec @@ -143,6 +143,7 @@ Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install +Source13: fix-machines-subvol-for-rollbacks.sh Source1065: systemd-remount-tmpfs @@ -835,8 +836,12 @@ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-us mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight > %{buildroot}%{_localstatedir}/lib/systemd/random-seed -# machined -mkdir -p %{buildroot}%{_localstatedir}/lib/machines +# On systems supporting rollbacks with btrfs, /var/lib/machines +# subvolume must be created differently. Normally the installer takes +# care of this now but some systems uses a plain subvolume that breaks +# snapshots, rollback ("nearly everything" see bsc#992573). This +# script should help fixing it. +install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ %fdupes -s %{buildroot}%{_mandir} @@ -982,6 +987,13 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Convert /var/lib/machines subvolume to make it suitable for +# rollbacks, if needed. See bsc#992573. The installer has been fixed +# to create it at installation time. +if [ $1 -gt 1 ]; then + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -1224,6 +1236,7 @@ exit 0 %endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1405,7 +1418,6 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf From 190b7ddb3e90fbf2a6ea1594efdb0af0033412eac19585b31e8a2b04a1090156 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 1 Sep 2016 11:58:03 +0000 Subject: [PATCH 255/991] Accepting request 422120 from home:dimstar:Factory - Only BuildRequire gnu-efi when building the 'real' systemd package. rollbacks (bsc#992573) - Only BuildRequire gnu-efi when building the 'real' systemd package. rollbacks (bsc#992573) OBS-URL: https://build.opensuse.org/request/show/422120 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=947 --- systemd-mini.changes | 8 +++++++- systemd-mini.spec | 10 ++++++---- systemd.changes | 8 +++++++- systemd.spec | 8 +++++--- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5d067a28..a3a7e183 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,8 +1,14 @@ +------------------------------------------------------------------- +Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org + +- Only BuildRequire gnu-efi when building the 'real' systemd + package. + ------------------------------------------------------------------- Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com - Add a script to fix /var/lib/machines to make it suitable for - rollbacks (bsc#992573992573) + rollbacks (bsc#992573) ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 41bcb763..fcbbf9b6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -76,9 +76,6 @@ BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit @@ -89,6 +86,9 @@ Requires: this-is-only-for-build-envs Provides: systemd = %version-%release Conflicts: kiwi %else +%ifarch %{ix86} x86_64 +BuildRequires: gnu-efi +%endif BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools @@ -996,7 +996,7 @@ esac # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : fi %postun @@ -1280,12 +1280,14 @@ exit 0 /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user +%if ! 0%{?bootstrap} %ifarch %{ix86} x86_64 %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif +%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d diff --git a/systemd.changes b/systemd.changes index 5d067a28..a3a7e183 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,8 +1,14 @@ +------------------------------------------------------------------- +Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org + +- Only BuildRequire gnu-efi when building the 'real' systemd + package. + ------------------------------------------------------------------- Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com - Add a script to fix /var/lib/machines to make it suitable for - rollbacks (bsc#992573992573) + rollbacks (bsc#992573) ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 90da8619..a3d3d79e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -71,9 +71,6 @@ BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit @@ -84,6 +81,9 @@ Requires: this-is-only-for-build-envs Provides: systemd = %version-%release Conflicts: kiwi %else +%ifarch %{ix86} x86_64 +BuildRequires: gnu-efi +%endif BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools @@ -1275,12 +1275,14 @@ exit 0 /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user +%if ! 0%{?bootstrap} %ifarch %{ix86} x86_64 %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif +%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d From b9ad1ec1332526969630d8ad1bf89913abf1c015e1a95546b691839ce50109b9 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 1 Sep 2016 12:00:36 +0000 Subject: [PATCH 256/991] Accepting request 422096 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/422096 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=238 --- fix-machines-subvol-for-rollbacks.sh | 110 +++++++++++++++++++++++++++ systemd-mini.changes | 6 ++ systemd-mini.spec | 18 ++++- systemd.changes | 6 ++ systemd.spec | 18 ++++- 5 files changed, 152 insertions(+), 6 deletions(-) create mode 100644 fix-machines-subvol-for-rollbacks.sh diff --git a/fix-machines-subvol-for-rollbacks.sh b/fix-machines-subvol-for-rollbacks.sh new file mode 100644 index 00000000..7bdf5d2c --- /dev/null +++ b/fix-machines-subvol-for-rollbacks.sh @@ -0,0 +1,110 @@ +#! /bin/bash +# +# This is used to initially create /var/lib/machines subvolume in case +# the system we're running on is using BTRFS with the specific layout +# used by snapper to perform snapshots, rollbacks, etc... +# +# Unfortunately some distros (TW) already shipped versions with +# systemd creating a plain subvolume which breaks snapper. +# +# If /var/lib/machines is already populated then it's going to be +# pretty ugly to convert the old subvolume into a new one specially +# since it can be in use. +# +# Hopefully not a lot of users are using machinectl to import +# container/VM images. So in most of the cases this directory should +# be empty and we can then simple delete the subvolume and create a +# new one respecting the snapper layout. +# +# In the rare case where /var/lib/machines is populated, we will warn +# the user and let him fix it manually. +# +# In order to avoid ugly dependencies added in systemd package, this +# script should only be called during package updates when +# mksubvolume(8) is available. During installation, /var/lib/machines +# is supposed to be created by the installer now. +# +# See bsc#992573 +# + +warn() { + echo >&2 "warning: $@" +} + +is_btrfs_subvolume() { + # On btrfs subvolumes always have the inode 256 + test $(stat --format=%i "$1") -eq 256 +} + +# This assumes the directory/subvol is emptied by the caller. +rm_subvolume_or_directory() { + is_btrfs_subvolume "$1" && { + btrfs subvolume delete "$1" + return + } + rmdir "$1" +} + +on_exit() { + # Simply print a common error message in case something went + # wrong. + if test $? -ne 0; then + warn "Please fix /var/lib/machines manually." + # FIXME: point to a documentation explaining how to do + # that. + exit 1 + fi +} + +# +# If something is already mounted don't try to fix anything, the +# subvolume has already been created by either mksubvolume(8) or by +# the admin. In the later case we don't want to screw up his setup. +# +if mountpoint -q /var/lib/machines; then + exit +fi + +# +# Let's try to figure out if the current filesystem uses a Snapper +# BTRFS specific layout. Note that TW uses a different layout than +# SLE... +# +# FIXME: not sure if it's correct, reliable or optimal. +# +case $(findmnt -nr -t btrfs -o FSROOT / 2>/dev/null) in +*.snapshots/*/snapshot*) + ;; +*) + exit 0 +esac + +trap on_exit EXIT + +if test -d /var/lib/machines; then + # + # Ok, we're on a system supporting rollbacks and + # /var/lib/machines is not a subvolume remotely mounted so it + # cannot be suitable for systems supporting rollback. Fix it. + # + echo "Making /var/lib/machines suitable for rollbacks..." + + type mksubvolume >/dev/null 2>&1 || { + warn "mksubvolume(8) is not installed, aborting." + exit 1 + } + test "$(ls -A /var/lib/machines/)" && { + warn "/var/lib/machines is not empty, aborting." + exit 1 + } + + echo "Deleting empty /var/lib/machines directory/subvolume" + rm_subvolume_or_directory /var/lib/machines || { + warn "fail to delete /var/lib/machines" + exit 1 + } +fi + +# At this point /var/lib/machines shouldn't exist. +echo "Creating /var/lib/machines subvolume suitable for rollbacks." +mksubvolume /var/lib/machines diff --git a/systemd-mini.changes b/systemd-mini.changes index 4fc7896d..5d067a28 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com + +- Add a script to fix /var/lib/machines to make it suitable for + rollbacks (bsc#992573992573) + ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index bf7dcf2c..41bcb763 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -148,6 +148,7 @@ Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install +Source13: fix-machines-subvol-for-rollbacks.sh Source1065: systemd-remount-tmpfs @@ -840,8 +841,12 @@ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-us mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight > %{buildroot}%{_localstatedir}/lib/systemd/random-seed -# machined -mkdir -p %{buildroot}%{_localstatedir}/lib/machines +# On systems supporting rollbacks with btrfs, /var/lib/machines +# subvolume must be created differently. Normally the installer takes +# care of this now but some systems uses a plain subvolume that breaks +# snapshots, rollback ("nearly everything" see bsc#992573). This +# script should help fixing it. +install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ %fdupes -s %{buildroot}%{_mandir} @@ -987,6 +992,13 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Convert /var/lib/machines subvolume to make it suitable for +# rollbacks, if needed. See bsc#992573. The installer has been fixed +# to create it at installation time. +if [ $1 -gt 1 ]; then + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -1229,6 +1241,7 @@ exit 0 %endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1410,7 +1423,6 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf diff --git a/systemd.changes b/systemd.changes index 4fc7896d..5d067a28 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com + +- Add a script to fix /var/lib/machines to make it suitable for + rollbacks (bsc#992573992573) + ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index ce853c2f..90da8619 100644 --- a/systemd.spec +++ b/systemd.spec @@ -143,6 +143,7 @@ Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install +Source13: fix-machines-subvol-for-rollbacks.sh Source1065: systemd-remount-tmpfs @@ -835,8 +836,12 @@ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-us mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight > %{buildroot}%{_localstatedir}/lib/systemd/random-seed -# machined -mkdir -p %{buildroot}%{_localstatedir}/lib/machines +# On systems supporting rollbacks with btrfs, /var/lib/machines +# subvolume must be created differently. Normally the installer takes +# care of this now but some systems uses a plain subvolume that breaks +# snapshots, rollback ("nearly everything" see bsc#992573). This +# script should help fixing it. +install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ %fdupes -s %{buildroot}%{_mandir} @@ -982,6 +987,13 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Convert /var/lib/machines subvolume to make it suitable for +# rollbacks, if needed. See bsc#992573. The installer has been fixed +# to create it at installation time. +if [ $1 -gt 1 ]; then + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -1224,6 +1236,7 @@ exit 0 %endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1405,7 +1418,6 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed -%dir %{_localstatedir}/lib/machines %if %{with resolved} %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_sysconfdir}/systemd/resolved.conf From 24fbb54050b8e1f3b25261a948a11f97a5ba4e44f6e999726d8585b5e1ccb404 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 5 Sep 2016 19:16:14 +0000 Subject: [PATCH 257/991] Accepting request 424223 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/424223 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=239 --- systemd-mini.changes | 8 +++++++- systemd-mini.spec | 10 ++++++---- systemd.changes | 8 +++++++- systemd.spec | 8 +++++--- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5d067a28..a3a7e183 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,8 +1,14 @@ +------------------------------------------------------------------- +Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org + +- Only BuildRequire gnu-efi when building the 'real' systemd + package. + ------------------------------------------------------------------- Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com - Add a script to fix /var/lib/machines to make it suitable for - rollbacks (bsc#992573992573) + rollbacks (bsc#992573) ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 41bcb763..fcbbf9b6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -76,9 +76,6 @@ BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit @@ -89,6 +86,9 @@ Requires: this-is-only-for-build-envs Provides: systemd = %version-%release Conflicts: kiwi %else +%ifarch %{ix86} x86_64 +BuildRequires: gnu-efi +%endif BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools @@ -996,7 +996,7 @@ esac # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : fi %postun @@ -1280,12 +1280,14 @@ exit 0 /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user +%if ! 0%{?bootstrap} %ifarch %{ix86} x86_64 %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif +%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d diff --git a/systemd.changes b/systemd.changes index 5d067a28..a3a7e183 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,8 +1,14 @@ +------------------------------------------------------------------- +Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org + +- Only BuildRequire gnu-efi when building the 'real' systemd + package. + ------------------------------------------------------------------- Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com - Add a script to fix /var/lib/machines to make it suitable for - rollbacks (bsc#992573992573) + rollbacks (bsc#992573) ------------------------------------------------------------------- Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 90da8619..a3d3d79e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -71,9 +71,6 @@ BuildRequires: pkgconfig(mount) >= 2.27 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) Conflicts: sysvinit @@ -84,6 +81,9 @@ Requires: this-is-only-for-build-envs Provides: systemd = %version-%release Conflicts: kiwi %else +%ifarch %{ix86} x86_64 +BuildRequires: gnu-efi +%endif BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools @@ -1275,12 +1275,14 @@ exit 0 /%{_lib}/security/pam_systemd.so %config /etc/pam.d/systemd-user +%if ! 0%{?bootstrap} %ifarch %{ix86} x86_64 %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif +%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d From ac42e39cf95105a46efa5d8a00b9bb9e183fd60e3a7fcf28406620a84ddf5337 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Sep 2016 09:01:38 +0000 Subject: [PATCH 258/991] Accepting request 424922 from home:tbechtold:branches:Base:System - Fix is-enabled check in systemd-sysv-install (bsc#997268) - Fix is-enabled check in systemd-sysv-install (bsc#997268) OBS-URL: https://build.opensuse.org/request/show/424922 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=948 --- systemd-mini.changes | 5 +++++ systemd-sysv-install | 2 +- systemd.changes | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a3a7e183..33c5c5bc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com + +- Fix is-enabled check in systemd-sysv-install (bsc#997268) + ------------------------------------------------------------------- Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org diff --git a/systemd-sysv-install b/systemd-sysv-install index 4c985a55..84e687b0 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -21,6 +21,6 @@ ROOT="${ROOT:+--root=$ROOT}" case "$1" in enable) chkconfig $ROOT -a "$NAME" ;; disable) chkconfig $ROOT -d "$NAME" ;; - is-enabled) chkconfig $ROOT -t "$NAME" ;; + is-enabled) chkconfig $ROOT -c "$NAME" ;; *) usage ;; esac diff --git a/systemd.changes b/systemd.changes index a3a7e183..33c5c5bc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com + +- Fix is-enabled check in systemd-sysv-install (bsc#997268) + ------------------------------------------------------------------- Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org From da7bc120be66f28be9952004a644f234b195128d6e56a82cd95b4bd07a473fc4 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 10 Sep 2016 22:50:58 +0000 Subject: [PATCH 259/991] Accepting request 424926 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/424926 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=240 --- systemd-mini.changes | 5 +++++ systemd-sysv-install | 2 +- systemd.changes | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a3a7e183..33c5c5bc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com + +- Fix is-enabled check in systemd-sysv-install (bsc#997268) + ------------------------------------------------------------------- Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org diff --git a/systemd-sysv-install b/systemd-sysv-install index 4c985a55..84e687b0 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -21,6 +21,6 @@ ROOT="${ROOT:+--root=$ROOT}" case "$1" in enable) chkconfig $ROOT -a "$NAME" ;; disable) chkconfig $ROOT -d "$NAME" ;; - is-enabled) chkconfig $ROOT -t "$NAME" ;; + is-enabled) chkconfig $ROOT -c "$NAME" ;; *) usage ;; esac diff --git a/systemd.changes b/systemd.changes index a3a7e183..33c5c5bc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com + +- Fix is-enabled check in systemd-sysv-install (bsc#997268) + ------------------------------------------------------------------- Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org From 70cdebfce8c5f71f2fd2b0c4edf9145681ee6a53353f76ede8b9e71f79a57567 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 16 Sep 2016 12:27:58 +0000 Subject: [PATCH 260/991] - Add rules: block: add support for pmem devices (#3683) (bsc#988119) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=949 --- ...ck-add-support-for-pmem-devices-3683.patch | 51 +++++++++++++++++++ systemd-mini.changes | 5 ++ systemd-mini.spec | 3 ++ systemd.changes | 5 ++ systemd.spec | 3 ++ 5 files changed, 67 insertions(+) create mode 100644 0001-rules-block-add-support-for-pmem-devices-3683.patch diff --git a/0001-rules-block-add-support-for-pmem-devices-3683.patch b/0001-rules-block-add-support-for-pmem-devices-3683.patch new file mode 100644 index 00000000..2af5f771 --- /dev/null +++ b/0001-rules-block-add-support-for-pmem-devices-3683.patch @@ -0,0 +1,51 @@ +From 31ae8c8741ce9595f4053234d6a6b2fb3616fedf Mon Sep 17 00:00:00 2001 +From: bgbhpe +Date: Fri, 8 Jul 2016 11:43:56 -0400 +Subject: [PATCH 1/1] rules: block: add support for pmem devices (#3683) + +Persistent memory devices can be exposed as block devices as /dev/pmemN +and /dev/pmemNs. pmemN is the raw device and is byte-addressable from +within the kernel and when mmapped by applications from a DAX-mounted +file system. pmemNs has the block translation table (BTT) layered on top, +offering atomic sector/block access. Both pmemN and pmemNs are expected +to contain file systems. + +blkid(8) and lsblk(8) seem to correctly report on pmemN and pmemNs. +systemd v219 will populate /dev/disk/by-uuid/ when, for example, mkfs is +used on pmem, but systemd v228 does not. + +Add pmem to the whitelist. +(cherry picked from commit f3bc4ccc2edf5ad2a99d6ba2795b9999fe76c3df) + +[tblume: fixes bsc#988119] +--- + rules/60-block.rules | 2 +- + rules/60-persistent-storage.rules | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rules/60-block.rules b/rules/60-block.rules +index c74caca..42c7597 100644 +--- a/rules/60-block.rules ++++ b/rules/60-block.rules +@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_ + ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" + + # watch metadata changes, caused by tools closing the device node which was opened for writing +-ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*", OPTIONS+="watch" ++ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch" +diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules +index ee1fb08f..ef5d205 100644 +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules +@@ -6,7 +6,7 @@ + ACTION=="remove", GOTO="persistent_storage_end" + + SUBSYSTEM!="block", GOTO="persistent_storage_end" +-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end" ++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|pmem*", GOTO="persistent_storage_end" + + # ignore partitions that span the entire disk + TEST=="whole_disk", GOTO="persistent_storage_end" +-- +2.10.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 33c5c5bc..b6ca4b73 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com + +- Add rules: block: add support for pmem devices (#3683) (bsc#988119) + ------------------------------------------------------------------- Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index fcbbf9b6..6e6d1850 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -264,6 +264,8 @@ Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # PATCH-FIX-UPSTREAM -- fixed after 320 Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch +# PATCH-FIX-UPSTREAM -- fixed after 231 +Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch # UDEV PATCHES # ============ @@ -611,6 +613,7 @@ cp %{SOURCE7} m4/ %patch528 -p1 %patch529 -p1 %patch530 -p1 +%patch531 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 33c5c5bc..b6ca4b73 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com + +- Add rules: block: add support for pmem devices (#3683) (bsc#988119) + ------------------------------------------------------------------- Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com diff --git a/systemd.spec b/systemd.spec index a3d3d79e..80c07f49 100644 --- a/systemd.spec +++ b/systemd.spec @@ -259,6 +259,8 @@ Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # PATCH-FIX-UPSTREAM -- fixed after 320 Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch +# PATCH-FIX-UPSTREAM -- fixed after 231 +Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch # UDEV PATCHES # ============ @@ -606,6 +608,7 @@ cp %{SOURCE7} m4/ %patch528 -p1 %patch529 -p1 %patch530 -p1 +%patch531 -p1 # udev patches %patch1002 -p1 From cf6bf5c1d7a551ef4d23520968dca8dd1a0bf370ec09a3da08ed2bca0e391818 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 16 Sep 2016 12:39:58 +0000 Subject: [PATCH 261/991] - Build require python and python-lxml in order to generate systemd.directives man page (bsc#986952) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=950 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 12 ++++-------- systemd.changes | 6 ++++++ systemd.spec | 12 ++++-------- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index b6ca4b73..10908beb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com + +- Build require python and python-lxml in order to generate + systemd.directives man page (bsc#986952) + ------------------------------------------------------------------- Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 6e6d1850..6983a648 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -27,7 +27,6 @@ %bcond_without networkd %bcond_without sysvcompat %bcond_with resolved -%bcond_with python %bcond_with parentpathid %if 0%{?suse_version} > 1315 %bcond_without permission @@ -93,12 +92,12 @@ BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools # curl and bzip2 are required for building importd +BuildRequires: libapparmor-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel +# python is only required for generating systemd.directives.xml +BuildRequires: python3 +BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) @@ -686,9 +685,6 @@ export CFLAGS="%{optflags}" --disable-importd \ %else --enable-manpages \ -%if %{with python} - --with-python \ -%endif --with-nss-my-hostname-warning \ %endif --enable-selinux \ diff --git a/systemd.changes b/systemd.changes index b6ca4b73..10908beb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com + +- Build require python and python-lxml in order to generate + systemd.directives man page (bsc#986952) + ------------------------------------------------------------------- Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 80c07f49..a828396c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -25,7 +25,6 @@ %bcond_without networkd %bcond_without sysvcompat %bcond_with resolved -%bcond_with python %bcond_with parentpathid %if 0%{?suse_version} > 1315 %bcond_without permission @@ -88,12 +87,12 @@ BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools # curl and bzip2 are required for building importd +BuildRequires: libapparmor-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel +# python is only required for generating systemd.directives.xml +BuildRequires: python3 +BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) @@ -681,9 +680,6 @@ export CFLAGS="%{optflags}" --disable-importd \ %else --enable-manpages \ -%if %{with python} - --with-python \ -%endif --with-nss-my-hostname-warning \ %endif --enable-selinux \ From 81b3fbf7c4752754be2cbe19759cefc14092776d73cecbfa9d9ecb1943238fa7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Sep 2016 11:56:10 +0000 Subject: [PATCH 262/991] - udev: don't require nsserv and fillup (bsc#999841) udev has no LSB init scripts nor fillup templates anymore. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=951 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 4 +--- systemd.changes | 7 +++++++ systemd.spec | 4 +--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 10908beb..28cb6907 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com + +- udev: don't require nsserv and fillup (bsc#999841) + + udev has no LSB init scripts nor fillup templates anymore. + ------------------------------------------------------------------- Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 6983a648..5bdfaeaa 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -395,8 +395,6 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -1081,7 +1079,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} -%insserv_cleanup + systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then diff --git a/systemd.changes b/systemd.changes index 10908beb..28cb6907 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com + +- udev: don't require nsserv and fillup (bsc#999841) + + udev has no LSB init scripts nor fillup templates anymore. + ------------------------------------------------------------------- Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index a828396c..de89a5ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -390,8 +390,6 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -1076,7 +1074,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} -%insserv_cleanup + systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then From 35fc3cae4d05203936338d2b4cb680256f38a01402c4ef37ee723cda09895532 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 26 Sep 2016 09:11:19 +0000 Subject: [PATCH 263/991] - Added patches to fix journal with FSS protection enabled (bsc#1000435) 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=952 --- ...-calculation-when-appending-a-data-o.patch | 54 +++++++++++ ...E_ARCHIVED-as-part-of-offlining-2740.patch | 93 +++++++++++++++++++ ...n-we-fail-to-append-a-tag-to-a-journ.patch | 36 +++++++ systemd-mini.changes | 9 ++ systemd-mini.spec | 6 ++ systemd.changes | 9 ++ systemd.spec | 6 ++ 7 files changed, 213 insertions(+) create mode 100644 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch create mode 100644 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch create mode 100644 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch diff --git a/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch b/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch new file mode 100644 index 00000000..99e9c6cb --- /dev/null +++ b/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch @@ -0,0 +1,54 @@ +From 6dac79e09ec1b45f05b3e9a5f1f445859b6eefd2 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 23 Sep 2016 13:33:01 +0200 +Subject: [PATCH 1/1] journal: fix HMAC calculation when appending a data + object + +Since commit 5996c7c295e073ce21d41305169132c8aa993ad0 (v190 !), the +calculation of the HMAC is broken because the hash for a data object +including a field is done in the wrong order: the field object is +hashed before the data object is. + +However during verification, the hash is done in the opposite order as +objects are scanned sequentially. + +(cherry picked from commit 33685a5a3a98c6ded64d0cc25e37d0180ceb0a6a) + +[fbui: fixes bsc#1000435] +--- + src/journal/journal-file.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index a9882cf..a24d97d 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -1111,6 +1111,12 @@ static int journal_file_append_data( + if (r < 0) + return r; + ++#ifdef HAVE_GCRYPT ++ r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); ++ if (r < 0) ++ return r; ++#endif ++ + /* The linking might have altered the window, so let's + * refresh our pointer */ + r = journal_file_move_to_object(f, OBJECT_DATA, p, &o); +@@ -1135,12 +1141,6 @@ static int journal_file_append_data( + fo->field.head_data_offset = le64toh(p); + } + +-#ifdef HAVE_GCRYPT +- r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); +- if (r < 0) +- return r; +-#endif +- + if (ret) + *ret = o; + +-- +2.10.0 + diff --git a/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch b/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch new file mode 100644 index 00000000..93e158b2 --- /dev/null +++ b/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch @@ -0,0 +1,93 @@ +From 0d0bad044f8f19c472acb69d10861a66d3d267b6 Mon Sep 17 00:00:00 2001 +From: Vito Caputo +Date: Tue, 26 Apr 2016 23:29:43 -0700 +Subject: [PATCH 1/1] journal: set STATE_ARCHIVED as part of offlining (#2740) + +The only code path which makes a journal durable is via +journal_file_set_offline(). + +When we perform a rotate the journal's header->state is being set to +STATE_ARCHIVED prior to journal_file_set_offline() being called. + +In journal_file_set_offline(), we short-circuit the entire offline when +f->header->state != STATE_ONLINE. + +This all results in none of the journal_file_set_offline() fsync() calls +being reached when rotate archives a journal, so archived journals are +never explicitly made durable. + +What we do now is instead of setting the f->header->state to +STATE_ARCHIVED directly in journal_file_rotate() prior to +journal_file_close(), we set an archive flag in f->archive for the +journal_file_set_offline() machinery to honor by committing +STATE_ARCHIVED instead of STATE_OFFLINE when set. + +Prior to this, rotated journals were never getting fsync() explicitly +performed on them, since journal_file_set_offline() short-circuited. +Obviously this is undesirable, and depends entirely on the underlying +filesystem as to how much durability was achieved when simply closing +the file. + +Note that this problem existed prior to the recent asynchronous fsync +changes, but those changes do facilitate our performing this durable +offline on rotate without blocking, regardless of the underlying +filesystem sync-on-close semantics. + +(cherry picked from commit 8eb851711fd166024297c425e9261200c36f489d) + +[fbui: context adjustment: the asynchronous journal_file_set_offline() + thingie doesn't exist in v228] + +[fbui: this also fixes the case when we wanted to append a tag (for + FSS verification) when closing the journal. Before this patch, + journal_file_append_tag() failed (silently) because re-opening + the journal to write the tag was not possible since it was + already in "archived" mode.] +--- + src/journal/journal-file.c | 10 ++++++++-- + src/journal/journal-file.h | 1 + + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index f9ff954..e7eecad 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -130,7 +130,7 @@ int journal_file_set_offline(JournalFile *f) { + if (mmap_cache_got_sigbus(f->mmap, f->fd)) + return -EIO; + +- f->header->state = STATE_OFFLINE; ++ f->header->state = f->archive ? STATE_ARCHIVED : STATE_OFFLINE; + + if (mmap_cache_got_sigbus(f->mmap, f->fd)) + return -EIO; +@@ -2813,7 +2813,13 @@ int journal_file_rotate(JournalFile **f, bool compress, bool seal) { + if (r < 0 && errno != ENOENT) + return -errno; + +- old_file->header->state = STATE_ARCHIVED; ++ /* Set as archive so offlining commits w/state=STATE_ARCHIVED. ++ * Previously we would set old_file->header->state to STATE_ARCHIVED directly here, ++ * but journal_file_set_offline() short-circuits when state != STATE_ONLINE, which ++ * would result in the rotated journal never getting fsync() called before closing. ++ * Now we simply queue the archive state by setting an archive bit, leaving the state ++ * as STATE_ONLINE so proper offlining occurs. */ ++ old_file->archive = true; + + /* Currently, btrfs is not very good with out write patterns + * and fragments heavily. Let's defrag our journal files when +diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h +index 898d12d..436e5ff 100644 +--- a/src/journal/journal-file.h ++++ b/src/journal/journal-file.h +@@ -76,6 +76,7 @@ typedef struct JournalFile { + bool compress_lz4:1; + bool seal:1; + bool defrag_on_close:1; ++ bool archive:1; + + bool tail_entry_monotonic_valid:1; + +-- +2.10.0 + diff --git a/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch b/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch new file mode 100644 index 00000000..c4dd9e96 --- /dev/null +++ b/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch @@ -0,0 +1,36 @@ +From 9f47fe6b6a9aad001e99f1fdea78a0c54ce8ae55 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 23 Sep 2016 12:12:13 +0200 +Subject: [PATCH 1/1] journal: warn when we fail to append a tag to a journal + +We shouldn't silently fail when appending the tag to a journal file +since FSS protection will simply be disabled in this case. + +(cherry picked from commit 43cd8794839548a6f332875e8bee8bed2652bf2c) +--- + src/journal/journal-file.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index e7eecad..a9882cf 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -145,8 +145,13 @@ JournalFile* journal_file_close(JournalFile *f) { + + #ifdef HAVE_GCRYPT + /* Write the final tag */ +- if (f->seal && f->writable) +- journal_file_append_tag(f); ++ if (f->seal && f->writable) { ++ int r; ++ ++ r = journal_file_append_tag(f); ++ if (r < 0) ++ log_error_errno(r, "Failed to append tag when closing journal: %m"); ++ } + #endif + + journal_file_set_offline(f); +-- +2.10.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 28cb6907..28301f52 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com + +- Added patches to fix journal with FSS protection enabled (bsc#1000435) + + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + ------------------------------------------------------------------- Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5bdfaeaa..019a7ca2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -265,6 +265,9 @@ Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch # PATCH-FIX-UPSTREAM -- fixed after 231 Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch +Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch +Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch +Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch # UDEV PATCHES # ============ @@ -611,6 +614,9 @@ cp %{SOURCE7} m4/ %patch529 -p1 %patch530 -p1 %patch531 -p1 +%patch532 -p1 +%patch533 -p1 +%patch534 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 28cb6907..28301f52 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com + +- Added patches to fix journal with FSS protection enabled (bsc#1000435) + + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + ------------------------------------------------------------------- Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index de89a5ff..7a6e61dc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -260,6 +260,9 @@ Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch # PATCH-FIX-UPSTREAM -- fixed after 231 Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch +Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch +Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch +Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch # UDEV PATCHES # ============ @@ -606,6 +609,9 @@ cp %{SOURCE7} m4/ %patch529 -p1 %patch530 -p1 %patch531 -p1 +%patch532 -p1 +%patch533 -p1 +%patch534 -p1 # udev patches %patch1002 -p1 From b56d5010a66c83dfe8d673eabc0baac3eed46cc22a749344dc5c4020270627f9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 26 Sep 2016 09:55:28 +0000 Subject: [PATCH 264/991] Mention 0001-rules-block-add-support-for-pmem-devices-3683.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=953 --- systemd-mini.changes | 2 ++ systemd.changes | 2 ++ 2 files changed, 4 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 28301f52..b948b00c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -25,6 +25,8 @@ Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com - Add rules: block: add support for pmem devices (#3683) (bsc#988119) + 0001-rules-block-add-support-for-pmem-devices-3683.patch + ------------------------------------------------------------------- Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com diff --git a/systemd.changes b/systemd.changes index 28301f52..b948b00c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -25,6 +25,8 @@ Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com - Add rules: block: add support for pmem devices (#3683) (bsc#988119) + 0001-rules-block-add-support-for-pmem-devices-3683.patch + ------------------------------------------------------------------- Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com From 4f8c3e2552edc1e0f23f7d30ded876f21ccd223c503c9a165933435f22ad4d52 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 27 Sep 2016 09:44:14 +0000 Subject: [PATCH 265/991] - systemd-sysv-convert: make sure that/var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) If "--save" command was used and the sysv init script wasn't enabled at all, the database file wasn't created at all. This makes the subsequent call to "--apply" fail even though it's a valid scenario. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=954 --- systemd-mini.changes | 11 +++++++++++ systemd-sysv-convert | 12 +++++------- systemd.changes | 11 +++++++++++ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index b948b00c..1f4f2d70 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com + +- systemd-sysv-convert: make sure that + /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) + + If "--save" command was used and the sysv init script wasn't enabled + at all the database file wasn't created at all. This makes the + subsequent call to "--apply" fail even though this should not + considered as an error. + ------------------------------------------------------------------- Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 8ba3f211..4d98e4f6 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -118,9 +118,9 @@ case "$1" in find_service $service $runlevel priority=$? if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" >> /var/lib/systemd/sysv-convert/database + echo "$service $runlevel $priority" fi - done + done >>/var/lib/systemd/sysv-convert/database done ;; --show) @@ -158,11 +158,9 @@ case "$1" in [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr - fail=1 - continue - fi + # If $service is not present in the database, + # then it simply means that the sysv init + # service was not enabled at all. for runlevel in ${results_runlevel[$service]}; do echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" diff --git a/systemd.changes b/systemd.changes index b948b00c..1f4f2d70 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com + +- systemd-sysv-convert: make sure that + /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) + + If "--save" command was used and the sysv init script wasn't enabled + at all the database file wasn't created at all. This makes the + subsequent call to "--apply" fail even though this should not + considered as an error. + ------------------------------------------------------------------- Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com From 69195f70d5c0e24350a429fe9ad26566cfea40268d4462d2e4f4c06a81e68e0c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 29 Sep 2016 06:27:17 +0000 Subject: [PATCH 266/991] - Revert "udev: don't require nsserv and fillup" It's been judged too late for being part of SLE12 final release. Nevertheless it's part of Factory and will be reintroduced after the final release is out (ie through an update). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=955 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 4 +++- systemd.changes | 9 +++++++++ systemd.spec | 4 +++- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 1f4f2d70..2a62e823 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com + +- Revert "udev: don't require nsserv and fillup" + + It's been judged too late for being part of SLE12 final release. + Nevertheless it's part of Factory and will be reintroduced after the + final release is out (ie through an update). + ------------------------------------------------------------------- Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 019a7ca2..49d4183e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -398,6 +398,8 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm +PreReq: %insserv_prereq +PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -1085,7 +1087,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} - +%insserv_cleanup systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then diff --git a/systemd.changes b/systemd.changes index 1f4f2d70..2a62e823 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com + +- Revert "udev: don't require nsserv and fillup" + + It's been judged too late for being part of SLE12 final release. + Nevertheless it's part of Factory and will be reintroduced after the + final release is out (ie through an update). + ------------------------------------------------------------------- Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 7a6e61dc..e0408923 100644 --- a/systemd.spec +++ b/systemd.spec @@ -393,6 +393,8 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm +PreReq: %insserv_prereq +PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -1080,7 +1082,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} - +%insserv_cleanup systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then From 04bd746a0e1b5b5309c6a02aad4ae112c0115826377b0bfd15a093c1f5373710 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 29 Sep 2016 13:04:00 +0000 Subject: [PATCH 267/991] - Added 2 patches to fix bsc#1001765 0001-If-the-notification-message-length-is-0-ignore-the-m.patch 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=956 --- ...ion-message-length-is-0-ignore-the-m.patch | 31 ++++++++++++ ...n-any-error-in-manager_dispatch_noti.patch | 49 +++++++++++++++++++ systemd-mini.changes | 8 +++ systemd-mini.spec | 4 ++ systemd.changes | 8 +++ systemd.spec | 4 ++ 6 files changed, 104 insertions(+) create mode 100644 0001-If-the-notification-message-length-is-0-ignore-the-m.patch create mode 100644 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch diff --git a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch new file mode 100644 index 00000000..b93ae667 --- /dev/null +++ b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch @@ -0,0 +1,31 @@ +From 531ac2b2349da02acc9c382849758e07eb92b020 Mon Sep 17 00:00:00 2001 +From: Jorge Niedbalski +Date: Wed, 28 Sep 2016 18:25:50 -0300 +Subject: [PATCH 1/1] If the notification message length is 0, ignore the + message (#4237) + +Fixes #4234. + +Signed-off-by: Jorge Niedbalski +--- + src/core/manager.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/core/manager.c b/src/core/manager.c +index fa8deb9..43e231c 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1721,6 +1721,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + + return -errno; + } ++ if (n == 0) { ++ log_debug("Got zero-length notification message. Ignoring."); ++ return 0; ++ } + + CMSG_FOREACH(cmsg, &msghdr) { + if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { +-- +2.10.0 + diff --git a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch new file mode 100644 index 00000000..6b2cd3fd --- /dev/null +++ b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch @@ -0,0 +1,49 @@ +From: Franck Bui +Date: Thu, 29 Sep 2016 11:59:49 +0200 +Subject: [PATCH 1/1] pid1: don't return any error in + manager_dispatch_notify_fd() + +If manager_dispatch_notify_fd() fails and returns an error then the handling of +service notifications will be disabled entirely leading to a compromised system. + +For example pid1 won't be able to receive the WATCHDOG messages anymore and +will kill all services supposed to send such messages. +--- + src/core/manager.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 43e231c..5704005 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1716,10 +1716,14 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + + n = recvmsg(m->notify_fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); + if (n < 0) { +- if (errno == EAGAIN || errno == EINTR) +- return 0; ++ if (!IN_SET(errno, EAGAIN, EINTR)) ++ log_error("Failed to receive notification message: %m"); + +- return -errno; ++ /* It's not an option to return an error here since it ++ * would disable the notification handler entirely. Services ++ * wouldn't be able to send the WATCHDOG message for ++ * example... */ ++ return 0; + } + if (n == 0) { + log_debug("Got zero-length notification message. Ignoring."); +@@ -1746,7 +1750,8 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + r = fdset_new_array(&fds, fd_array, n_fds); + if (r < 0) { + close_many(fd_array, n_fds); +- return log_oom(); ++ log_oom(); ++ return 0; + } + } + +-- +2.10.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 2a62e823..5f15875b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com + +- Added 2 patches to fix bsc#1001765 + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + ------------------------------------------------------------------- Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 49d4183e..b705a49d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -268,6 +268,8 @@ Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch +Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch +Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch # UDEV PATCHES # ============ @@ -619,6 +621,8 @@ cp %{SOURCE7} m4/ %patch532 -p1 %patch533 -p1 %patch534 -p1 +%patch535 -p1 +%patch536 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 2a62e823..5f15875b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com + +- Added 2 patches to fix bsc#1001765 + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + ------------------------------------------------------------------- Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index e0408923..a4de68d3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -263,6 +263,8 @@ Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch +Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch +Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch # UDEV PATCHES # ============ @@ -614,6 +616,8 @@ cp %{SOURCE7} m4/ %patch532 -p1 %patch533 -p1 %patch534 -p1 +%patch535 -p1 +%patch536 -p1 # udev patches %patch1002 -p1 From f782e8dfea64598a84776a3fc540a8c3ccc21b2087d1e482a7b4185b2737cd63 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 29 Sep 2016 13:08:51 +0000 Subject: [PATCH 268/991] - Re add back "udev: don't require nsserv and fillup" Did this in the wrong project... it was a complicated day today ;) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=957 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 4 +--- systemd.changes | 7 +++++++ systemd.spec | 4 +--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5f15875b..902903ae 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com + +- Re add back "udev: don't require nsserv and fillup" + + Did this in the wrong project... it was a complicated day today ;) + ------------------------------------------------------------------- Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index b705a49d..4d8bc8c9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -400,8 +400,6 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -1091,7 +1089,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} -%insserv_cleanup + systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then diff --git a/systemd.changes b/systemd.changes index 5f15875b..902903ae 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com + +- Re add back "udev: don't require nsserv and fillup" + + Did this in the wrong project... it was a complicated day today ;) + ------------------------------------------------------------------- Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index a4de68d3..45de4744 100644 --- a/systemd.spec +++ b/systemd.spec @@ -395,8 +395,6 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -1086,7 +1084,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} -%insserv_cleanup + systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then From c385bc66e200944e2d060f3b8aa2b8568bdf0aa7a2cc2f97e6af69afed0d1feb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 30 Sep 2016 06:17:15 +0000 Subject: [PATCH 269/991] - Import a better fix from upstream for bsc#1001765 - Added: 0001-pid1-more-informative-error-message-for-ignored-noti.patch 0001-pid1-process-zero-length-notification-messages-again.patch - Updated (no code changes, only patch metadata) 0001-If-the-notification-message-length-is-0-ignore-the-m.patch 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=958 --- ...ion-message-length-is-0-ignore-the-m.patch | 7 +- ...n-any-error-in-manager_dispatch_noti.patch | 12 +-- ...ative-error-message-for-ignored-noti.patch | 38 +++++++++ ...o-length-notification-messages-again.patch | 82 +++++++++++++++++++ systemd-mini.changes | 15 ++++ systemd-mini.spec | 4 + systemd.changes | 15 ++++ systemd.spec | 4 + 8 files changed, 169 insertions(+), 8 deletions(-) create mode 100644 0001-pid1-more-informative-error-message-for-ignored-noti.patch create mode 100644 0001-pid1-process-zero-length-notification-messages-again.patch diff --git a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch index b93ae667..688f4785 100644 --- a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch +++ b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch @@ -1,4 +1,4 @@ -From 531ac2b2349da02acc9c382849758e07eb92b020 Mon Sep 17 00:00:00 2001 +From ddcd0b726adfd78260ec3d6a446800d85980069e Mon Sep 17 00:00:00 2001 From: Jorge Niedbalski Date: Wed, 28 Sep 2016 18:25:50 -0300 Subject: [PATCH 1/1] If the notification message length is 0, ignore the @@ -7,15 +7,16 @@ Subject: [PATCH 1/1] If the notification message length is 0, ignore the Fixes #4234. Signed-off-by: Jorge Niedbalski +(cherry picked from commit 531ac2b2349da02acc9c382849758e07eb92b020) --- src/core/manager.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/manager.c b/src/core/manager.c -index fa8deb9..43e231c 100644 +index 229cb31..56ca9cf 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -1721,6 +1721,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t +@@ -1565,6 +1565,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t return -errno; } diff --git a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch index 6b2cd3fd..73ebf147 100644 --- a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +++ b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch @@ -1,22 +1,24 @@ +From c47885438517ac77ee34a30ee3d09e5deb9968f6 Mon Sep 17 00:00:00 2001 From: Franck Bui -Date: Thu, 29 Sep 2016 11:59:49 +0200 +Date: Thu, 29 Sep 2016 19:44:34 +0200 Subject: [PATCH 1/1] pid1: don't return any error in - manager_dispatch_notify_fd() + manager_dispatch_notify_fd() (#4240) If manager_dispatch_notify_fd() fails and returns an error then the handling of service notifications will be disabled entirely leading to a compromised system. For example pid1 won't be able to receive the WATCHDOG messages anymore and will kill all services supposed to send such messages. +(cherry picked from commit 9987750e7a4c62e0eb8473603150596ba7c3a015) --- src/core/manager.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c -index 43e231c..5704005 100644 +index 56ca9cf..06d78e4 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -1716,10 +1716,14 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t +@@ -1560,10 +1560,14 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t n = recvmsg(m->notify_fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); if (n < 0) { @@ -34,7 +36,7 @@ index 43e231c..5704005 100644 } if (n == 0) { log_debug("Got zero-length notification message. Ignoring."); -@@ -1746,7 +1750,8 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t +@@ -1590,7 +1594,8 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t r = fdset_new_array(&fds, fd_array, n_fds); if (r < 0) { close_many(fd_array, n_fds); diff --git a/0001-pid1-more-informative-error-message-for-ignored-noti.patch b/0001-pid1-more-informative-error-message-for-ignored-noti.patch new file mode 100644 index 00000000..6773ccd3 --- /dev/null +++ b/0001-pid1-more-informative-error-message-for-ignored-noti.patch @@ -0,0 +1,38 @@ +From eb54b43fe31392c9f77505d8f9cd86d1f050b49d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 29 Sep 2016 16:07:41 +0200 +Subject: [PATCH 1/1] pid1: more informative error message for ignored + notifications + +It's probably easier to diagnose a bad notification message if the +contents are printed. But still, do anything only if debugging is on. + +(cherry picked from commit a86b76753d7868c2d05f046f601bc7dc89fc2203) +--- + src/core/manager.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 58d346e..0d0158a 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1516,8 +1516,14 @@ static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const + + if (UNIT_VTABLE(u)->notify_message) + UNIT_VTABLE(u)->notify_message(u, pid, tags, fds); +- else +- log_unit_debug(u, "Got notification message for unit. Ignoring."); ++ else if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) { ++ _cleanup_free_ char *x = NULL, *y = NULL; ++ ++ x = cescape(buf); ++ if (x) ++ y = ellipsize(x, 20, 90); ++ log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y)); ++ } + } + + static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) { +-- +2.10.0 + diff --git a/0001-pid1-process-zero-length-notification-messages-again.patch b/0001-pid1-process-zero-length-notification-messages-again.patch new file mode 100644 index 00000000..72e6905f --- /dev/null +++ b/0001-pid1-process-zero-length-notification-messages-again.patch @@ -0,0 +1,82 @@ +From 98c4bab7add94bdfb6cc238376c47a9c73a4fe39 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 29 Sep 2016 16:06:02 +0200 +Subject: [PATCH 1/1] pid1: process zero-length notification messages again + +This undoes 531ac2b234. I acked that patch without looking at the code +carefully enough. There are two problems: +- we want to process the fds anyway +- in principle empty notification messages are valid, and we should + process them as usual, including logging using log_unit_debug(). + +(cherry picked from commit 8523bf7dd514a3a2c6114b7b8fb8f308b4f09fc4) + +[fbui: adjust context] +--- + src/core/manager.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 06d78e4..58d346e 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1501,13 +1501,12 @@ static unsigned manager_dispatch_dbus_queue(Manager *m) { + return n; + } + +-static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, size_t n, FDSet *fds) { ++static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, FDSet *fds) { + _cleanup_strv_free_ char **tags = NULL; + + assert(m); + assert(u); + assert(buf); +- assert(n > 0); + + tags = strv_split(buf, "\n\r"); + if (!tags) { +@@ -1569,10 +1568,6 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + * example... */ + return 0; + } +- if (n == 0) { +- log_debug("Got zero-length notification message. Ignoring."); +- return 0; +- } + + CMSG_FOREACH(cmsg, &msghdr) { + if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { +@@ -1609,25 +1604,27 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + return 0; + } + ++ /* The message should be a string. Here we make sure it's NUL-terminated, ++ * but only the part until first NUL will be used anyway. */ + buf[n] = 0; + + /* Notify every unit that might be interested, but try + * to avoid notifying the same one multiple times. */ + u1 = manager_get_unit_by_pid_cgroup(m, ucred->pid); + if (u1) { +- manager_invoke_notify_message(m, u1, ucred->pid, buf, n, fds); ++ manager_invoke_notify_message(m, u1, ucred->pid, buf, fds); + found = true; + } + + u2 = hashmap_get(m->watch_pids1, PID_TO_PTR(ucred->pid)); + if (u2 && u2 != u1) { +- manager_invoke_notify_message(m, u2, ucred->pid, buf, n, fds); ++ manager_invoke_notify_message(m, u2, ucred->pid, buf, fds); + found = true; + } + + u3 = hashmap_get(m->watch_pids2, PID_TO_PTR(ucred->pid)); + if (u3 && u3 != u2 && u3 != u1) { +- manager_invoke_notify_message(m, u3, ucred->pid, buf, n, fds); ++ manager_invoke_notify_message(m, u3, ucred->pid, buf, fds); + found = true; + } + +-- +2.10.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 902903ae..e71f989e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com + +- Import a better fix from upstream for bsc#1001765 + + - Added: + + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + + - Updated (no code changes, only patch metadata) + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + ------------------------------------------------------------------- Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 4d8bc8c9..c1c25587 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -270,6 +270,8 @@ Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch +Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch # UDEV PATCHES # ============ @@ -621,6 +623,8 @@ cp %{SOURCE7} m4/ %patch534 -p1 %patch535 -p1 %patch536 -p1 +%patch537 -p1 +%patch538 -p1 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 902903ae..e71f989e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com + +- Import a better fix from upstream for bsc#1001765 + + - Added: + + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + + - Updated (no code changes, only patch metadata) + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + ------------------------------------------------------------------- Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 45de4744..ca15920f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -265,6 +265,8 @@ Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch +Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch # UDEV PATCHES # ============ @@ -616,6 +618,8 @@ cp %{SOURCE7} m4/ %patch534 -p1 %patch535 -p1 %patch536 -p1 +%patch537 -p1 +%patch538 -p1 # udev patches %patch1002 -p1 From 2e6aa365898be1160d2bb8d50939bcbca7817944ec40e131307b2db153d7d70c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 1 Oct 2016 21:46:24 +0000 Subject: [PATCH 270/991] Accepting request 431464 from Base:System - Import a better fix from upstream for bsc#1001765 - Added: 0001-pid1-more-informative-error-message-for-ignored-noti.patch 0001-pid1-process-zero-length-notification-messages-again.patch - Updated (no code changes, only patch metadata) 0001-If-the-notification-message-length-is-0-ignore-the-m.patch 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - Re add back "udev: don't require nsserv and fillup" Did this in the wrong project... it was a complicated day today ;) - Added 2 patches to fix bsc#1001765 0001-If-the-notification-message-length-is-0-ignore-the-m.patch 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - Revert "udev: don't require nsserv and fillup" It's been judged too late for being part of SLE12 final release. Nevertheless it's part of Factory and will be reintroduced after the final release is out (ie through an update). - systemd-sysv-convert: make sure that /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) If "--save" command was used and the sysv init script wasn't enabled at all the database file wasn't created at all. This makes the subsequent call to "--apply" fail even though this should not considered as an error. - Added patches to fix journal with FSS protection enabled (bsc#1000435) 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch OBS-URL: https://build.opensuse.org/request/show/431464 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=241 --- ...ion-message-length-is-0-ignore-the-m.patch | 32 +++++++ ...-calculation-when-appending-a-data-o.patch | 54 +++++++++++ ...E_ARCHIVED-as-part-of-offlining-2740.patch | 93 +++++++++++++++++++ ...n-we-fail-to-append-a-tag-to-a-journ.patch | 36 +++++++ ...n-any-error-in-manager_dispatch_noti.patch | 51 ++++++++++ ...ative-error-message-for-ignored-noti.patch | 38 ++++++++ ...o-length-notification-messages-again.patch | 82 ++++++++++++++++ ...ck-add-support-for-pmem-devices-3683.patch | 51 ++++++++++ systemd-mini.changes | 79 ++++++++++++++++ systemd-mini.spec | 33 ++++--- systemd-sysv-convert | 12 +-- systemd.changes | 79 ++++++++++++++++ systemd.spec | 33 ++++--- 13 files changed, 644 insertions(+), 29 deletions(-) create mode 100644 0001-If-the-notification-message-length-is-0-ignore-the-m.patch create mode 100644 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch create mode 100644 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch create mode 100644 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch create mode 100644 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch create mode 100644 0001-pid1-more-informative-error-message-for-ignored-noti.patch create mode 100644 0001-pid1-process-zero-length-notification-messages-again.patch create mode 100644 0001-rules-block-add-support-for-pmem-devices-3683.patch diff --git a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch new file mode 100644 index 00000000..688f4785 --- /dev/null +++ b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch @@ -0,0 +1,32 @@ +From ddcd0b726adfd78260ec3d6a446800d85980069e Mon Sep 17 00:00:00 2001 +From: Jorge Niedbalski +Date: Wed, 28 Sep 2016 18:25:50 -0300 +Subject: [PATCH 1/1] If the notification message length is 0, ignore the + message (#4237) + +Fixes #4234. + +Signed-off-by: Jorge Niedbalski +(cherry picked from commit 531ac2b2349da02acc9c382849758e07eb92b020) +--- + src/core/manager.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 229cb31..56ca9cf 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1565,6 +1565,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + + return -errno; + } ++ if (n == 0) { ++ log_debug("Got zero-length notification message. Ignoring."); ++ return 0; ++ } + + CMSG_FOREACH(cmsg, &msghdr) { + if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { +-- +2.10.0 + diff --git a/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch b/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch new file mode 100644 index 00000000..99e9c6cb --- /dev/null +++ b/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch @@ -0,0 +1,54 @@ +From 6dac79e09ec1b45f05b3e9a5f1f445859b6eefd2 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 23 Sep 2016 13:33:01 +0200 +Subject: [PATCH 1/1] journal: fix HMAC calculation when appending a data + object + +Since commit 5996c7c295e073ce21d41305169132c8aa993ad0 (v190 !), the +calculation of the HMAC is broken because the hash for a data object +including a field is done in the wrong order: the field object is +hashed before the data object is. + +However during verification, the hash is done in the opposite order as +objects are scanned sequentially. + +(cherry picked from commit 33685a5a3a98c6ded64d0cc25e37d0180ceb0a6a) + +[fbui: fixes bsc#1000435] +--- + src/journal/journal-file.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index a9882cf..a24d97d 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -1111,6 +1111,12 @@ static int journal_file_append_data( + if (r < 0) + return r; + ++#ifdef HAVE_GCRYPT ++ r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); ++ if (r < 0) ++ return r; ++#endif ++ + /* The linking might have altered the window, so let's + * refresh our pointer */ + r = journal_file_move_to_object(f, OBJECT_DATA, p, &o); +@@ -1135,12 +1141,6 @@ static int journal_file_append_data( + fo->field.head_data_offset = le64toh(p); + } + +-#ifdef HAVE_GCRYPT +- r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); +- if (r < 0) +- return r; +-#endif +- + if (ret) + *ret = o; + +-- +2.10.0 + diff --git a/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch b/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch new file mode 100644 index 00000000..93e158b2 --- /dev/null +++ b/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch @@ -0,0 +1,93 @@ +From 0d0bad044f8f19c472acb69d10861a66d3d267b6 Mon Sep 17 00:00:00 2001 +From: Vito Caputo +Date: Tue, 26 Apr 2016 23:29:43 -0700 +Subject: [PATCH 1/1] journal: set STATE_ARCHIVED as part of offlining (#2740) + +The only code path which makes a journal durable is via +journal_file_set_offline(). + +When we perform a rotate the journal's header->state is being set to +STATE_ARCHIVED prior to journal_file_set_offline() being called. + +In journal_file_set_offline(), we short-circuit the entire offline when +f->header->state != STATE_ONLINE. + +This all results in none of the journal_file_set_offline() fsync() calls +being reached when rotate archives a journal, so archived journals are +never explicitly made durable. + +What we do now is instead of setting the f->header->state to +STATE_ARCHIVED directly in journal_file_rotate() prior to +journal_file_close(), we set an archive flag in f->archive for the +journal_file_set_offline() machinery to honor by committing +STATE_ARCHIVED instead of STATE_OFFLINE when set. + +Prior to this, rotated journals were never getting fsync() explicitly +performed on them, since journal_file_set_offline() short-circuited. +Obviously this is undesirable, and depends entirely on the underlying +filesystem as to how much durability was achieved when simply closing +the file. + +Note that this problem existed prior to the recent asynchronous fsync +changes, but those changes do facilitate our performing this durable +offline on rotate without blocking, regardless of the underlying +filesystem sync-on-close semantics. + +(cherry picked from commit 8eb851711fd166024297c425e9261200c36f489d) + +[fbui: context adjustment: the asynchronous journal_file_set_offline() + thingie doesn't exist in v228] + +[fbui: this also fixes the case when we wanted to append a tag (for + FSS verification) when closing the journal. Before this patch, + journal_file_append_tag() failed (silently) because re-opening + the journal to write the tag was not possible since it was + already in "archived" mode.] +--- + src/journal/journal-file.c | 10 ++++++++-- + src/journal/journal-file.h | 1 + + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index f9ff954..e7eecad 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -130,7 +130,7 @@ int journal_file_set_offline(JournalFile *f) { + if (mmap_cache_got_sigbus(f->mmap, f->fd)) + return -EIO; + +- f->header->state = STATE_OFFLINE; ++ f->header->state = f->archive ? STATE_ARCHIVED : STATE_OFFLINE; + + if (mmap_cache_got_sigbus(f->mmap, f->fd)) + return -EIO; +@@ -2813,7 +2813,13 @@ int journal_file_rotate(JournalFile **f, bool compress, bool seal) { + if (r < 0 && errno != ENOENT) + return -errno; + +- old_file->header->state = STATE_ARCHIVED; ++ /* Set as archive so offlining commits w/state=STATE_ARCHIVED. ++ * Previously we would set old_file->header->state to STATE_ARCHIVED directly here, ++ * but journal_file_set_offline() short-circuits when state != STATE_ONLINE, which ++ * would result in the rotated journal never getting fsync() called before closing. ++ * Now we simply queue the archive state by setting an archive bit, leaving the state ++ * as STATE_ONLINE so proper offlining occurs. */ ++ old_file->archive = true; + + /* Currently, btrfs is not very good with out write patterns + * and fragments heavily. Let's defrag our journal files when +diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h +index 898d12d..436e5ff 100644 +--- a/src/journal/journal-file.h ++++ b/src/journal/journal-file.h +@@ -76,6 +76,7 @@ typedef struct JournalFile { + bool compress_lz4:1; + bool seal:1; + bool defrag_on_close:1; ++ bool archive:1; + + bool tail_entry_monotonic_valid:1; + +-- +2.10.0 + diff --git a/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch b/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch new file mode 100644 index 00000000..c4dd9e96 --- /dev/null +++ b/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch @@ -0,0 +1,36 @@ +From 9f47fe6b6a9aad001e99f1fdea78a0c54ce8ae55 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 23 Sep 2016 12:12:13 +0200 +Subject: [PATCH 1/1] journal: warn when we fail to append a tag to a journal + +We shouldn't silently fail when appending the tag to a journal file +since FSS protection will simply be disabled in this case. + +(cherry picked from commit 43cd8794839548a6f332875e8bee8bed2652bf2c) +--- + src/journal/journal-file.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index e7eecad..a9882cf 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -145,8 +145,13 @@ JournalFile* journal_file_close(JournalFile *f) { + + #ifdef HAVE_GCRYPT + /* Write the final tag */ +- if (f->seal && f->writable) +- journal_file_append_tag(f); ++ if (f->seal && f->writable) { ++ int r; ++ ++ r = journal_file_append_tag(f); ++ if (r < 0) ++ log_error_errno(r, "Failed to append tag when closing journal: %m"); ++ } + #endif + + journal_file_set_offline(f); +-- +2.10.0 + diff --git a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch new file mode 100644 index 00000000..73ebf147 --- /dev/null +++ b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch @@ -0,0 +1,51 @@ +From c47885438517ac77ee34a30ee3d09e5deb9968f6 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 29 Sep 2016 19:44:34 +0200 +Subject: [PATCH 1/1] pid1: don't return any error in + manager_dispatch_notify_fd() (#4240) + +If manager_dispatch_notify_fd() fails and returns an error then the handling of +service notifications will be disabled entirely leading to a compromised system. + +For example pid1 won't be able to receive the WATCHDOG messages anymore and +will kill all services supposed to send such messages. +(cherry picked from commit 9987750e7a4c62e0eb8473603150596ba7c3a015) +--- + src/core/manager.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 56ca9cf..06d78e4 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1560,10 +1560,14 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + + n = recvmsg(m->notify_fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); + if (n < 0) { +- if (errno == EAGAIN || errno == EINTR) +- return 0; ++ if (!IN_SET(errno, EAGAIN, EINTR)) ++ log_error("Failed to receive notification message: %m"); + +- return -errno; ++ /* It's not an option to return an error here since it ++ * would disable the notification handler entirely. Services ++ * wouldn't be able to send the WATCHDOG message for ++ * example... */ ++ return 0; + } + if (n == 0) { + log_debug("Got zero-length notification message. Ignoring."); +@@ -1590,7 +1594,8 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + r = fdset_new_array(&fds, fd_array, n_fds); + if (r < 0) { + close_many(fd_array, n_fds); +- return log_oom(); ++ log_oom(); ++ return 0; + } + } + +-- +2.10.0 + diff --git a/0001-pid1-more-informative-error-message-for-ignored-noti.patch b/0001-pid1-more-informative-error-message-for-ignored-noti.patch new file mode 100644 index 00000000..6773ccd3 --- /dev/null +++ b/0001-pid1-more-informative-error-message-for-ignored-noti.patch @@ -0,0 +1,38 @@ +From eb54b43fe31392c9f77505d8f9cd86d1f050b49d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 29 Sep 2016 16:07:41 +0200 +Subject: [PATCH 1/1] pid1: more informative error message for ignored + notifications + +It's probably easier to diagnose a bad notification message if the +contents are printed. But still, do anything only if debugging is on. + +(cherry picked from commit a86b76753d7868c2d05f046f601bc7dc89fc2203) +--- + src/core/manager.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 58d346e..0d0158a 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1516,8 +1516,14 @@ static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const + + if (UNIT_VTABLE(u)->notify_message) + UNIT_VTABLE(u)->notify_message(u, pid, tags, fds); +- else +- log_unit_debug(u, "Got notification message for unit. Ignoring."); ++ else if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) { ++ _cleanup_free_ char *x = NULL, *y = NULL; ++ ++ x = cescape(buf); ++ if (x) ++ y = ellipsize(x, 20, 90); ++ log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y)); ++ } + } + + static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) { +-- +2.10.0 + diff --git a/0001-pid1-process-zero-length-notification-messages-again.patch b/0001-pid1-process-zero-length-notification-messages-again.patch new file mode 100644 index 00000000..72e6905f --- /dev/null +++ b/0001-pid1-process-zero-length-notification-messages-again.patch @@ -0,0 +1,82 @@ +From 98c4bab7add94bdfb6cc238376c47a9c73a4fe39 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 29 Sep 2016 16:06:02 +0200 +Subject: [PATCH 1/1] pid1: process zero-length notification messages again + +This undoes 531ac2b234. I acked that patch without looking at the code +carefully enough. There are two problems: +- we want to process the fds anyway +- in principle empty notification messages are valid, and we should + process them as usual, including logging using log_unit_debug(). + +(cherry picked from commit 8523bf7dd514a3a2c6114b7b8fb8f308b4f09fc4) + +[fbui: adjust context] +--- + src/core/manager.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 06d78e4..58d346e 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1501,13 +1501,12 @@ static unsigned manager_dispatch_dbus_queue(Manager *m) { + return n; + } + +-static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, size_t n, FDSet *fds) { ++static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, FDSet *fds) { + _cleanup_strv_free_ char **tags = NULL; + + assert(m); + assert(u); + assert(buf); +- assert(n > 0); + + tags = strv_split(buf, "\n\r"); + if (!tags) { +@@ -1569,10 +1568,6 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + * example... */ + return 0; + } +- if (n == 0) { +- log_debug("Got zero-length notification message. Ignoring."); +- return 0; +- } + + CMSG_FOREACH(cmsg, &msghdr) { + if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { +@@ -1609,25 +1604,27 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t + return 0; + } + ++ /* The message should be a string. Here we make sure it's NUL-terminated, ++ * but only the part until first NUL will be used anyway. */ + buf[n] = 0; + + /* Notify every unit that might be interested, but try + * to avoid notifying the same one multiple times. */ + u1 = manager_get_unit_by_pid_cgroup(m, ucred->pid); + if (u1) { +- manager_invoke_notify_message(m, u1, ucred->pid, buf, n, fds); ++ manager_invoke_notify_message(m, u1, ucred->pid, buf, fds); + found = true; + } + + u2 = hashmap_get(m->watch_pids1, PID_TO_PTR(ucred->pid)); + if (u2 && u2 != u1) { +- manager_invoke_notify_message(m, u2, ucred->pid, buf, n, fds); ++ manager_invoke_notify_message(m, u2, ucred->pid, buf, fds); + found = true; + } + + u3 = hashmap_get(m->watch_pids2, PID_TO_PTR(ucred->pid)); + if (u3 && u3 != u2 && u3 != u1) { +- manager_invoke_notify_message(m, u3, ucred->pid, buf, n, fds); ++ manager_invoke_notify_message(m, u3, ucred->pid, buf, fds); + found = true; + } + +-- +2.10.0 + diff --git a/0001-rules-block-add-support-for-pmem-devices-3683.patch b/0001-rules-block-add-support-for-pmem-devices-3683.patch new file mode 100644 index 00000000..2af5f771 --- /dev/null +++ b/0001-rules-block-add-support-for-pmem-devices-3683.patch @@ -0,0 +1,51 @@ +From 31ae8c8741ce9595f4053234d6a6b2fb3616fedf Mon Sep 17 00:00:00 2001 +From: bgbhpe +Date: Fri, 8 Jul 2016 11:43:56 -0400 +Subject: [PATCH 1/1] rules: block: add support for pmem devices (#3683) + +Persistent memory devices can be exposed as block devices as /dev/pmemN +and /dev/pmemNs. pmemN is the raw device and is byte-addressable from +within the kernel and when mmapped by applications from a DAX-mounted +file system. pmemNs has the block translation table (BTT) layered on top, +offering atomic sector/block access. Both pmemN and pmemNs are expected +to contain file systems. + +blkid(8) and lsblk(8) seem to correctly report on pmemN and pmemNs. +systemd v219 will populate /dev/disk/by-uuid/ when, for example, mkfs is +used on pmem, but systemd v228 does not. + +Add pmem to the whitelist. +(cherry picked from commit f3bc4ccc2edf5ad2a99d6ba2795b9999fe76c3df) + +[tblume: fixes bsc#988119] +--- + rules/60-block.rules | 2 +- + rules/60-persistent-storage.rules | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rules/60-block.rules b/rules/60-block.rules +index c74caca..42c7597 100644 +--- a/rules/60-block.rules ++++ b/rules/60-block.rules +@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_ + ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" + + # watch metadata changes, caused by tools closing the device node which was opened for writing +-ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*", OPTIONS+="watch" ++ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch" +diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules +index ee1fb08f..ef5d205 100644 +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules +@@ -6,7 +6,7 @@ + ACTION=="remove", GOTO="persistent_storage_end" + + SUBSYSTEM!="block", GOTO="persistent_storage_end" +-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end" ++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|pmem*", GOTO="persistent_storage_end" + + # ignore partitions that span the entire disk + TEST=="whole_disk", GOTO="persistent_storage_end" +-- +2.10.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 33c5c5bc..e71f989e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com + +- Import a better fix from upstream for bsc#1001765 + + - Added: + + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + + - Updated (no code changes, only patch metadata) + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + +------------------------------------------------------------------- +Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com + +- Re add back "udev: don't require nsserv and fillup" + + Did this in the wrong project... it was a complicated day today ;) + +------------------------------------------------------------------- +Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com + +- Added 2 patches to fix bsc#1001765 + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + +------------------------------------------------------------------- +Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com + +- Revert "udev: don't require nsserv and fillup" + + It's been judged too late for being part of SLE12 final release. + Nevertheless it's part of Factory and will be reintroduced after the + final release is out (ie through an update). + +------------------------------------------------------------------- +Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com + +- systemd-sysv-convert: make sure that + /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) + + If "--save" command was used and the sysv init script wasn't enabled + at all the database file wasn't created at all. This makes the + subsequent call to "--apply" fail even though this should not + considered as an error. + +------------------------------------------------------------------- +Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com + +- Added patches to fix journal with FSS protection enabled (bsc#1000435) + + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + +------------------------------------------------------------------- +Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com + +- udev: don't require nsserv and fillup (bsc#999841) + + udev has no LSB init scripts nor fillup templates anymore. + +------------------------------------------------------------------- +Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com + +- Build require python and python-lxml in order to generate + systemd.directives man page (bsc#986952) + +------------------------------------------------------------------- +Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com + +- Add rules: block: add support for pmem devices (#3683) (bsc#988119) + + 0001-rules-block-add-support-for-pmem-devices-3683.patch + ------------------------------------------------------------------- Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index fcbbf9b6..c1c25587 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -27,7 +27,6 @@ %bcond_without networkd %bcond_without sysvcompat %bcond_with resolved -%bcond_with python %bcond_with parentpathid %if 0%{?suse_version} > 1315 %bcond_without permission @@ -93,12 +92,12 @@ BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools # curl and bzip2 are required for building importd +BuildRequires: libapparmor-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel +# python is only required for generating systemd.directives.xml +BuildRequires: python3 +BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) @@ -264,6 +263,15 @@ Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # PATCH-FIX-UPSTREAM -- fixed after 320 Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch +# PATCH-FIX-UPSTREAM -- fixed after 231 +Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch +Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch +Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch +Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch +Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch +Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch +Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch # UDEV PATCHES # ============ @@ -394,8 +402,6 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -611,6 +617,14 @@ cp %{SOURCE7} m4/ %patch528 -p1 %patch529 -p1 %patch530 -p1 +%patch531 -p1 +%patch532 -p1 +%patch533 -p1 +%patch534 -p1 +%patch535 -p1 +%patch536 -p1 +%patch537 -p1 +%patch538 -p1 # udev patches %patch1002 -p1 @@ -683,9 +697,6 @@ export CFLAGS="%{optflags}" --disable-importd \ %else --enable-manpages \ -%if %{with python} - --with-python \ -%endif --with-nss-my-hostname-warning \ %endif --enable-selinux \ @@ -1082,7 +1093,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} -%insserv_cleanup + systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 8ba3f211..4d98e4f6 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -118,9 +118,9 @@ case "$1" in find_service $service $runlevel priority=$? if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" >> /var/lib/systemd/sysv-convert/database + echo "$service $runlevel $priority" fi - done + done >>/var/lib/systemd/sysv-convert/database done ;; --show) @@ -158,11 +158,9 @@ case "$1" in [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr - fail=1 - continue - fi + # If $service is not present in the database, + # then it simply means that the sysv init + # service was not enabled at all. for runlevel in ${results_runlevel[$service]}; do echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" diff --git a/systemd.changes b/systemd.changes index 33c5c5bc..e71f989e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com + +- Import a better fix from upstream for bsc#1001765 + + - Added: + + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + + - Updated (no code changes, only patch metadata) + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + +------------------------------------------------------------------- +Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com + +- Re add back "udev: don't require nsserv and fillup" + + Did this in the wrong project... it was a complicated day today ;) + +------------------------------------------------------------------- +Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com + +- Added 2 patches to fix bsc#1001765 + + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + +------------------------------------------------------------------- +Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com + +- Revert "udev: don't require nsserv and fillup" + + It's been judged too late for being part of SLE12 final release. + Nevertheless it's part of Factory and will be reintroduced after the + final release is out (ie through an update). + +------------------------------------------------------------------- +Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com + +- systemd-sysv-convert: make sure that + /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) + + If "--save" command was used and the sysv init script wasn't enabled + at all the database file wasn't created at all. This makes the + subsequent call to "--apply" fail even though this should not + considered as an error. + +------------------------------------------------------------------- +Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com + +- Added patches to fix journal with FSS protection enabled (bsc#1000435) + + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + +------------------------------------------------------------------- +Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com + +- udev: don't require nsserv and fillup (bsc#999841) + + udev has no LSB init scripts nor fillup templates anymore. + +------------------------------------------------------------------- +Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com + +- Build require python and python-lxml in order to generate + systemd.directives man page (bsc#986952) + +------------------------------------------------------------------- +Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com + +- Add rules: block: add support for pmem devices (#3683) (bsc#988119) + + 0001-rules-block-add-support-for-pmem-devices-3683.patch + ------------------------------------------------------------------- Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com diff --git a/systemd.spec b/systemd.spec index a3d3d79e..ca15920f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -25,7 +25,6 @@ %bcond_without networkd %bcond_without sysvcompat %bcond_with resolved -%bcond_with python %bcond_with parentpathid %if 0%{?suse_version} > 1315 %bcond_without permission @@ -88,12 +87,12 @@ BuildRequires: docbook-xsl-stylesheets BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools # curl and bzip2 are required for building importd +BuildRequires: libapparmor-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) -%if %{with python} -BuildRequires: python -%endif -BuildRequires: libapparmor-devel +# python is only required for generating systemd.directives.xml +BuildRequires: python3 +BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) @@ -259,6 +258,15 @@ Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch # PATCH-FIX-UPSTREAM -- fixed after 320 Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch +# PATCH-FIX-UPSTREAM -- fixed after 231 +Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch +Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch +Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch +Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch +Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch +Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch +Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch # UDEV PATCHES # ============ @@ -389,8 +397,6 @@ License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html PreReq: /bin/rm -PreReq: %insserv_prereq -PreReq: %fillup_prereq # Avoid bootstrap cycle with sg3_utils %if "%{?mini}" == "" PreReq: /usr/bin/sg_inq @@ -606,6 +612,14 @@ cp %{SOURCE7} m4/ %patch528 -p1 %patch529 -p1 %patch530 -p1 +%patch531 -p1 +%patch532 -p1 +%patch533 -p1 +%patch534 -p1 +%patch535 -p1 +%patch536 -p1 +%patch537 -p1 +%patch538 -p1 # udev patches %patch1002 -p1 @@ -678,9 +692,6 @@ export CFLAGS="%{optflags}" --disable-importd \ %else --enable-manpages \ -%if %{with python} - --with-python \ -%endif --with-nss-my-hostname-warning \ %endif --enable-selinux \ @@ -1077,7 +1088,7 @@ if [ "${YAST_IS_RUNNING}" != "instsys" ]; then fi %postun -n udev%{?mini} -%insserv_cleanup + systemctl daemon-reload || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then From 12f7177ed6c67ff8341dfe3fbc0b1cd43d73089080b63e5b582448dd57c1177c Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 26 Oct 2016 14:59:15 +0000 Subject: [PATCH 271/991] Accepting request 437403 from home:fbui:systemd:Factory - Own a couple of directories even if they don't belong to systemd otherwise the build system will complain. Some directories (owned by others packages) are simply used by systemd to ship some scripts or config files to customize others *optional* components. Since thos components are not build required by systemd those directories are not owned by any packages and the BS complains... - Import commit 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) - %sysusers_create and %tmpfiles_create must be called in %post Calling %pre is broken since the respective conf files are not yet installed. - %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are part of systemd-journal-remote package (only). - systemd-journal-{gatewayd,remote,upload} units are only part of "systemd-journal-remote" package. So exclude them from the main package. - Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" 3760c10 manager: tighten incoming notification message checks d6efd71 core: only warn on short reads on signal fd 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones OBS-URL: https://build.opensuse.org/request/show/437403 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=959 --- ...ion-message-length-is-0-ignore-the-m.patch | 32 - ...s390_con3270_disable_ANSI_colour_esc.patch | 180 --- ...sh-for-reboot-or-hddown-for-poweroff.patch | 84 -- ...network-device-after-NFS-mount-units.patch | 315 ---- ...id-abort-due-timeout-at-user-service.patch | 21 - 0001-bnc888612-logind-polkit-acpi.patch | 101 -- ...-.slice-units-from-systemctl-isolate.patch | 54 - ...e-synchronization-after-daemon-reloa.patch | 193 --- ...-name-list-after-deserializing-durin.patch | 74 - ...-calculation-when-appending-a-data-o.patch | 54 - ...E_ARCHIVED-as-part-of-offlining-2740.patch | 93 -- ...n-we-fail-to-append-a-tag-to-a-journ.patch | 36 - ...systemctl-completion-ignore-at-names.patch | 17 - ...-do-not-allow-overlong-machine-names.patch | 37 - ...XDG_RUNTIME_DIR_of_the_original_user.patch | 43 - ...n-any-error-in-manager_dispatch_noti.patch | 51 - ...ative-error-message-for-ignored-noti.patch | 38 - ...o-length-notification-messages-again.patch | 82 - ...ck-add-support-for-pmem-devices-3683.patch | 51 - ...o-not-warn-about-missing-install-inf.patch | 121 -- ...t-install-sulogin-unit-with-poweroff.patch | 19 - 0014-journald-with-journaling-FS.patch | 75 - ...pletion-smart-to-be-able-to-redirect.patch | 272 ---- ...ate-by-id-scsi-links-for-ATA-devices.patch | 24 - 1003-udev-netlink-null-rules.patch | 22 - ...fault-links-for-primary-cd_dvd-drive.patch | 24 - 1006-udev-always-rename-network.patch | 77 - 1007-physical-hotplug-cpu-and-memory.patch | 37 - ...kip-btrfs-check-if-devices-are-not-r.patch | 24 - ...device-link-creation-on-multipath-de.patch | 40 - ...-Ignore-devices-with-SYSTEMD_READY-0.patch | 29 - ...dev-exclude-cd-dvd-from-block-device.patch | 20 - ...fault-permissions-for-GenWQE-devices.patch | 15 - ...lity-links-for-truncated-by-id-links.patch | 175 --- ...t-ssd-disk-to-use-deadline-scheduler.patch | 33 - 1096-new-udev-root-symlink-generator.patch | 108 -- ...-increase-maximum-number-of-children.patch | 26 - ...stemd-networkd-alias-network-service.patch | 14 - ...s-for-valve-steam-controller-to-work.patch | 23 - Correct_assert_on_unexpected_error_code.patch | 21 - ...es-permissions-to-follow-openSUSE-po.patch | 40 - allow-multiple-sulogin-to-be-started.patch | 47 - apply-ACL-for-nvidia-device-nodes.patch | 31 - apply-ACL-for-nvidia-uvm-device-node.patch | 23 - avoid-divide-by-zero-sigtrap.patch | 34 - ...andom-hangs-on-timeouts-due-lost-cwd.patch | 29 - boot-local-start.patch | 17 - ...assword-wall-starts-after-getty-tty1.patch | 25 - ...rtname-is-set-as-hostname-bnc-820213.patch | 31 - ...-boot-prefixed-initscript-bnc-746506.patch | 38 - ...plock-and-compose_table-and-kbd_rate.patch | 216 --- ...lock-value-in-etc-sysconfig-keyboard.patch | 191 --- ...lang-value-in-etc-sysconfig-language.patch | 72 - hostname-NULL.patch | 13 - insserv-generator.patch | 399 ----- journald-advice-about-use-of-memory.patch | 138 -- kbd-model-map.legacy | 10 + kbd-model-map.patch | 28 - ...linker-find-libudev-for-libdevmapper.patch | 19 - ...et-properties-only-once-to-copy-them.patch | 84 -- ....service-conflict-with-syslog.socket.patch | 25 - parse-crypttab-for-noauto-option.patch | 67 - ...-quit-and-wait-for-emergency-service.patch | 46 - portmap-wants-rpcbind-socket.patch | 13 - pre_checkin.sh | 3 +- rescue-emergency-target-conflicts.patch | 29 - respect-nfs-bg-option.patch | 22 - ...r-lock-bind-mount-if-they-aren-t-sym.patch | 87 -- set-and-use-default-logconsole.patch | 175 --- shut-up-rpmlint-on-var-log-journal.patch | 25 - suse-sysv-bootd-support.diff | 80 - systemctl-set-default-target.patch | 30 - ...nal-linking-non-fatal-in-try-and-auto.diff | 116 -- systemd-228.tar.xz | 3 + ...use-new-fstype-for-unified-hierarchy.patch | 87 -- systemd-add-user-keep.patch | 92 -- systemd-dbus-system-bus-address.patch | 33 - systemd-install-compat_pkgconfig-always.patch | 34 - systemd-mini.changes | 258 ++++ systemd-mini.spec | 1342 +++++++---------- systemd-pam_config.patch | 32 - systemd-sysv-convert | 14 +- systemd-sysv-install | 43 +- systemd-tmp-safe-defaults.patch | 26 - systemd.changes | 258 ++++ systemd.spec | 1339 +++++++--------- tomcat6-var-lock-subsys-legacy.patch | 20 - tty-ask-password-agent-on-console.patch | 376 ----- systemd-remount-tmpfs => udev-remount-tmpfs | 0 ...addentropy-ioctl-to-load-random-seed.patch | 155 -- v228.tar.gz | 3 - vhangup-on-all-consoles.patch | 40 - watch_resolv.conf_for_become_changed.patch | 153 -- 93 files changed, 1592 insertions(+), 7674 deletions(-) delete mode 100644 0001-If-the-notification-message-length-is-0-ignore-the-m.patch delete mode 100644 0001-On_s390_con3270_disable_ANSI_colour_esc.patch delete mode 100644 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch delete mode 100644 0001-add-network-device-after-NFS-mount-units.patch delete mode 100644 0001-avoid-abort-due-timeout-at-user-service.patch delete mode 100644 0001-bnc888612-logind-polkit-acpi.patch delete mode 100644 0001-core-exclude-.slice-units-from-systemctl-isolate.patch delete mode 100644 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch delete mode 100644 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch delete mode 100644 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch delete mode 100644 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch delete mode 100644 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch delete mode 100644 0001-let-systemctl-completion-ignore-at-names.patch delete mode 100644 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch delete mode 100644 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch delete mode 100644 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch delete mode 100644 0001-pid1-more-informative-error-message-for-ignored-noti.patch delete mode 100644 0001-pid1-process-zero-length-notification-messages-again.patch delete mode 100644 0001-rules-block-add-support-for-pmem-devices-3683.patch delete mode 100644 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch delete mode 100644 0010-do-not-install-sulogin-unit-with-poweroff.patch delete mode 100644 0014-journald-with-journaling-FS.patch delete mode 100644 0019-make-completion-smart-to-be-able-to-redirect.patch delete mode 100644 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch delete mode 100644 1003-udev-netlink-null-rules.patch delete mode 100644 1005-create-default-links-for-primary-cd_dvd-drive.patch delete mode 100644 1006-udev-always-rename-network.patch delete mode 100644 1007-physical-hotplug-cpu-and-memory.patch delete mode 100644 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch delete mode 100644 1012-Skip-persistent-device-link-creation-on-multipath-de.patch delete mode 100644 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch delete mode 100644 1037-udev-exclude-cd-dvd-from-block-device.patch delete mode 100644 1062-rules-set-default-permissions-for-GenWQE-devices.patch delete mode 100644 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch delete mode 100644 1095-set-ssd-disk-to-use-deadline-scheduler.patch delete mode 100644 1096-new-udev-root-symlink-generator.patch delete mode 100644 1097-udevd-increase-maximum-number-of-children.patch delete mode 100644 1098-systemd-networkd-alias-network-service.patch delete mode 100644 1099-Add-default-rules-for-valve-steam-controller-to-work.patch delete mode 100644 Correct_assert_on_unexpected_error_code.patch delete mode 100644 Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch delete mode 100644 allow-multiple-sulogin-to-be-started.patch delete mode 100644 apply-ACL-for-nvidia-device-nodes.patch delete mode 100644 apply-ACL-for-nvidia-uvm-device-node.patch delete mode 100644 avoid-divide-by-zero-sigtrap.patch delete mode 100644 avoid-random-hangs-on-timeouts-due-lost-cwd.patch delete mode 100644 boot-local-start.patch delete mode 100644 ensure-ask-password-wall-starts-after-getty-tty1.patch delete mode 100644 ensure-shortname-is-set-as-hostname-bnc-820213.patch delete mode 100644 fix-support-for-boot-prefixed-initscript-bnc-746506.patch delete mode 100644 handle-disable_caplock-and-compose_table-and-kbd_rate.patch delete mode 100644 handle-numlock-value-in-etc-sysconfig-keyboard.patch delete mode 100644 handle-root_uses_lang-value-in-etc-sysconfig-language.patch delete mode 100644 hostname-NULL.patch delete mode 100644 insserv-generator.patch delete mode 100644 journald-advice-about-use-of-memory.patch create mode 100644 kbd-model-map.legacy delete mode 100644 kbd-model-map.patch delete mode 100644 let-linker-find-libudev-for-libdevmapper.patch delete mode 100644 let-vconsole-setup-get-properties-only-once-to-copy-them.patch delete mode 100644 make-emergency.service-conflict-with-syslog.socket.patch delete mode 100644 parse-crypttab-for-noauto-option.patch delete mode 100644 plymouth-quit-and-wait-for-emergency-service.patch delete mode 100644 portmap-wants-rpcbind-socket.patch delete mode 100644 rescue-emergency-target-conflicts.patch delete mode 100644 respect-nfs-bg-option.patch delete mode 100644 restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch delete mode 100644 set-and-use-default-logconsole.patch delete mode 100644 shut-up-rpmlint-on-var-log-journal.patch delete mode 100644 suse-sysv-bootd-support.diff delete mode 100644 systemctl-set-default-target.patch delete mode 100644 systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff create mode 100644 systemd-228.tar.xz delete mode 100644 systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch delete mode 100644 systemd-add-user-keep.patch delete mode 100644 systemd-dbus-system-bus-address.patch delete mode 100644 systemd-install-compat_pkgconfig-always.patch delete mode 100644 systemd-pam_config.patch delete mode 100644 systemd-tmp-safe-defaults.patch delete mode 100644 tomcat6-var-lock-subsys-legacy.patch delete mode 100644 tty-ask-password-agent-on-console.patch rename systemd-remount-tmpfs => udev-remount-tmpfs (100%) delete mode 100644 use-rndaddentropy-ioctl-to-load-random-seed.patch delete mode 100644 v228.tar.gz delete mode 100644 vhangup-on-all-consoles.patch delete mode 100644 watch_resolv.conf_for_become_changed.patch diff --git a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch deleted file mode 100644 index 688f4785..00000000 --- a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ddcd0b726adfd78260ec3d6a446800d85980069e Mon Sep 17 00:00:00 2001 -From: Jorge Niedbalski -Date: Wed, 28 Sep 2016 18:25:50 -0300 -Subject: [PATCH 1/1] If the notification message length is 0, ignore the - message (#4237) - -Fixes #4234. - -Signed-off-by: Jorge Niedbalski -(cherry picked from commit 531ac2b2349da02acc9c382849758e07eb92b020) ---- - src/core/manager.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 229cb31..56ca9cf 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1565,6 +1565,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - - return -errno; - } -+ if (n == 0) { -+ log_debug("Got zero-length notification message. Ignoring."); -+ return 0; -+ } - - CMSG_FOREACH(cmsg, &msghdr) { - if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { --- -2.10.0 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch deleted file mode 100644 index 3dd400a3..00000000 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ /dev/null @@ -1,180 +0,0 @@ ---- - rules/99-systemd.rules.in | 2 - - src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++-- - src/basic/terminal-util.h | 1 - src/core/manager.c | 24 +++++++++++++++----- - 4 files changed, 74 insertions(+), 8 deletions(-) - - -Index: systemd-228/rules/99-systemd.rules.in -=================================================================== ---- systemd-228.orig/rules/99-systemd.rules.in -+++ systemd-228/rules/99-systemd.rules.in -@@ -7,7 +7,7 @@ - - ACTION=="remove", GOTO="systemd_end" - --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" -+SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" - - SUBSYSTEM=="block", TAG+="systemd" -Index: systemd-228/src/basic/terminal-util.c -=================================================================== ---- systemd-228.orig/src/basic/terminal-util.c -+++ systemd-228/src/basic/terminal-util.c -@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty) - return tty_is_vc(tty); - } - -+bool ansi_console(int fd) { -+ static int cached_ansi_console = -1; -+ -+ if (_likely_(cached_ansi_console >= 0)) -+ return cached_ansi_console; -+ -+ cached_ansi_console = isatty(fd) > 0; -+#if defined(__s390__) || defined(__s390x__) -+ if (cached_ansi_console) { -+ const char *e = getenv("TERM"); -+ if (e != NULL && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { -+ _cleanup_free_ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, -+ "conmode", &mode, NULL); -+ if (r < 0 || mode == NULL || !streq(mode, "3270")) -+ cached_ansi_console = 0; -+ } -+ } -+#endif -+ return cached_ansi_console; -+} -+ - const char *default_term_for_tty(const char *tty) { - assert(tty); - -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; -+ if (tty_is_vc_resolve(tty)) -+ return "TERM=linux"; -+ if (startswith(tty, "/dev/")) -+ tty += 5; -+#if defined (__s390__) || defined (__s390x__) -+ if (streq(tty, "ttyS0")) { -+ _cleanup_free_ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", -+ &mode, NULL); -+ if (r < 0 || mode == NULL || !streq(mode, "3270")) -+ return "TERM=dumb"; -+ if (streq(mode, "3270")) -+ return "TERM=ibm327x"; -+ } -+#endif -+ return "TERM=vt220"; - } - - int fd_columns(int fd) { -@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu - bool on_tty(void) { - static int cached_on_tty = -1; - -- if (_unlikely_(cached_on_tty < 0)) -+ if (_unlikely_(cached_on_tty < 0)) { - cached_on_tty = isatty(STDOUT_FILENO) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_on_tty) { -+ const char *e = getenv("TERM"); -+ if (!e) -+ return cached_on_tty; -+ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_on_tty = 0; -+ } -+ } -+#endif -+ } - - return cached_on_tty; - } -Index: systemd-228/src/basic/terminal-util.h -=================================================================== ---- systemd-228.orig/src/basic/terminal-util.h -+++ systemd-228/src/basic/terminal-util.h -@@ -78,6 +78,7 @@ unsigned lines(void); - void columns_lines_cache_reset(int _unused_ signum); - - bool on_tty(void); -+bool ansi_console(int fd); - - static inline const char *ansi_underline(void) { - return on_tty() ? ANSI_UNDERLINE : ""; -Index: systemd-228/src/core/manager.c -=================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre - - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1)) - --static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { -+static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { - char *p = buffer; - - assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si - if (pos > 1) { - if (pos > 2) - p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_RED); - *p++ = '*'; - } - - if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED); - *p++ = '*'; - } - -@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si - *p++ = '*'; - if (pos < width-1) - p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_NORMAL); -+ if (ansi_console) -+ strcpy(p, ANSI_NORMAL); - } - } - -@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m - } - - static void manager_print_jobs_in_progress(Manager *m) { -+ static int is_ansi_console = -1; - _cleanup_free_ char *job_of_n = NULL; - Iterator i; - Job *j; -@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre - assert(counter == print_nr + 1); - assert(j); - -+ if (_unlikely_(is_ansi_console < 0)) { -+ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ is_ansi_console = 0; -+ else { -+ is_ansi_console = (int)ansi_console(fd); -+ close(fd); -+ } -+ } -+ - cylon_pos = m->jobs_in_progress_iteration % 14; - if (cylon_pos >= 8) - cylon_pos = 14 - cylon_pos; -- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos); -+ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console); - - m->jobs_in_progress_iteration++; - diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch deleted file mode 100644 index f370239f..00000000 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- - src/core/shutdown.c | 4 ++++ - src/systemctl/systemctl.c | 18 ++++++++++++------ - 2 files changed, 16 insertions(+), 6 deletions(-) - -Index: systemd-227/src/core/shutdown.c -=================================================================== ---- systemd-227.orig/src/core/shutdown.c -+++ systemd-227/src/core/shutdown.c -@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) { - } - - reboot(cmd); -+ -+ if (cmd == (int)RB_POWER_OFF) -+ reboot(RB_HALT_SYSTEM); -+ - if (errno == EPERM && in_container) { - /* If we are in a container, and we lacked - * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-227/src/systemctl/systemctl.c -=================================================================== ---- systemd-227.orig/src/systemctl/systemctl.c -+++ systemd-227/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; - static bool arg_no_wtmp = false; - static bool arg_no_wall = false; - static bool arg_no_reload = false; -+static bool arg_no_sync = false; - static bool arg_show_types = false; - static bool arg_ignore_inhibitors = false; - static bool arg_dry = false; -@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha - { "reboot", no_argument, NULL, ARG_REBOOT }, - { "force", no_argument, NULL, 'f' }, - { "wtmp-only", no_argument, NULL, 'w' }, -+ { "no-sync", no_argument, NULL, 'n' }, - { "no-wtmp", no_argument, NULL, 'd' }, - { "no-wall", no_argument, NULL, ARG_NO_WALL }, - {} -@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha - - case 'i': - case 'h': -- case 'n': - /* Compatibility nops */ - break; - -+ case 'n': -+ arg_no_sync = true; -+ break; -+ - case '?': - return -EINVAL; - -@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) { - /* The kernel will automaticall flush ATA disks and suchlike - * on reboot(), but the file systems need to be synce'd - * explicitly in advance. */ -- (void) sync(); -+ if (!arg_no_sync) -+ (void) sync(); - - /* Make sure C-A-D is handled by the kernel from this point - * on... */ -@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) { - - switch (a) { - -- case ACTION_HALT: -- log_info("Halting."); -- (void) reboot(RB_HALT_SYSTEM); -- return -errno; -- - case ACTION_POWEROFF: - log_info("Powering off."); - (void) reboot(RB_POWER_OFF); -+ /* fall-through */ -+ case ACTION_HALT: -+ log_info("Halting."); -+ (void) reboot(RB_HALT_SYSTEM); - return -errno; - - case ACTION_KEXEC: diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch deleted file mode 100644 index dc30e64f..00000000 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ /dev/null @@ -1,315 +0,0 @@ -Avoid possible race on NFS shares in which may that the network devices disappears -before the associated NFS share becomes unmounted (bug #861489). -To do this make sure that sys-subsystem-net-devices-.device used for the -NFS share is added as "After=" dependency to the .mount. - ---- - Makefile.am | 2 - src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/mount-iface.h | 25 +++++++ - src/core/mount.c | 35 +++++++++ - 4 files changed, 233 insertions(+), 2 deletions(-) - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \ - src/core/machine-id-setup.h \ - src/core/mount-setup.c \ - src/core/mount-setup.h \ -+ src/core/mount-iface.c \ -+ src/core/mount-iface.h \ - src/core/kmod-setup.c \ - src/core/kmod-setup.h \ - src/core/loopback-setup.h \ -Index: systemd-228/src/core/mount-iface.c -=================================================================== ---- /dev/null -+++ systemd-228/src/core/mount-iface.c -@@ -0,0 +1,173 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+/* -+ * Find the name of the network interface to which a IP address belongs to. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "log.h" -+#include "def.h" -+#include "mount-iface.h" -+ -+static struct ifaddrs *ifa_list; -+ -+_pure_ static unsigned int mask2prefix(const void* ipv6) -+{ -+ unsigned int nippels = 0; -+ unsigned int i; -+ -+ assert(ipv6); -+ -+ for (i = 0; i < sizeof(struct in6_addr); i++) { -+ uint8_t byte = ((const uint8_t*)ipv6)[i]; -+ if (byte == 0xFF) { -+ nippels += sizeof(uint8_t); -+ continue; -+ } -+ while (byte & 0x80) { -+ nippels++; -+ byte <<= 1; -+ } -+ break; -+ } -+ -+ return nippels; -+} -+ -+static void netmask(unsigned int prefix, const void* in6, void* out6) -+{ -+ unsigned int nippels; -+ unsigned int i; -+ -+ assert(in6); -+ assert(out6); -+ -+ for (i = 0; i < sizeof(struct in6_addr); i++) { -+ nippels = (prefix < sizeof(uint8_t)) ? prefix : sizeof(uint8_t); -+ ((uint8_t*)out6)[i] = ((const uint8_t*)in6)[i] & (0xFF00>>nippels); -+ prefix -= nippels; -+ } -+} -+ -+char *host2iface(const char *ip) -+{ -+ const struct ifaddrs *ifa; -+ uint32_t ip4 = 0; -+ char *ret = NULL; -+ struct search { -+ union { -+ struct in_addr addr; -+ struct in6_addr addr6; -+ }; -+ int family; -+ } host; -+ int r; -+ -+ if (!ifa_list && (getifaddrs(&ifa_list) < 0)) { -+ log_oom(); -+ goto err; -+ } -+ -+ if (strchr(ip, ':')) { -+ r = inet_pton(AF_INET6, ip, &host.addr6); -+ host.family = AF_INET6; -+ } else { -+ r = inet_pton(AF_INET, ip, &host.addr); -+ host.family = AF_INET; -+ } -+ -+ if (r < 0) { -+ log_error("Failed to convert IP address %s from text to binary: %m", ip); -+ goto err; -+ } -+ -+ for (ifa = ifa_list; ifa != NULL; ifa = ifa->ifa_next) { -+ -+ if (!ifa->ifa_addr) -+ continue; -+ if (ifa->ifa_flags & IFF_POINTOPOINT) -+ continue; -+ if (!ifa->ifa_addr) -+ continue; -+ if (!ifa->ifa_netmask) -+ continue; -+ -+ if (ifa->ifa_addr->sa_family == AF_INET) { -+ uint32_t addr, dest, mask; -+ -+ if (host.family != AF_INET) -+ continue; -+ if (!ifa->ifa_broadaddr) -+ continue; -+ -+ if (!ip4) -+ ip4 = (uint32_t)ntohl(host.addr.s_addr); -+ -+ addr = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr); -+ if ((addr & 0xFF000000) == 0x7F000000) /* IPV4 loopback */ -+ continue; -+ -+ mask = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_netmask)->sin_addr.s_addr); -+ dest = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_broadaddr)->sin_addr.s_addr); -+ if ((ip4 & mask) != (dest & mask)) -+ continue; -+ -+ ret = ifa->ifa_name; -+ break; -+ } else if (ifa->ifa_addr->sa_family == AF_INET6) { -+ struct in6_addr *addr, *mask, dest, ip6; -+ unsigned int prefix; -+ -+ if (host.family != AF_INET6) -+ continue; -+ -+ addr = &((struct sockaddr_in6*)ifa->ifa_addr)->sin6_addr; -+ mask = &((struct sockaddr_in6*)ifa->ifa_netmask)->sin6_addr; -+ prefix = mask2prefix(mask); -+ -+ netmask(prefix, addr, &dest); -+ netmask(prefix, &host.addr6, &ip6); -+ -+ if (memcmp(&dest, &ip6, sizeof(struct in6_addr)) != 0) -+ continue; -+ -+ ret = ifa->ifa_name; -+ break; -+ } -+ } -+err: -+ return ret; -+} -+ -+void freeroutes(void) -+{ -+ if (ifa_list) -+ freeifaddrs(ifa_list); -+ ifa_list = NULL; -+} -Index: systemd-228/src/core/mount-iface.h -=================================================================== ---- /dev/null -+++ systemd-228/src/core/mount-iface.h -@@ -0,0 +1,25 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+#pragma once -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+char *host2iface(const char *ip); -+void freeroutes(void); -Index: systemd-228/src/core/mount.c -=================================================================== ---- systemd-228.orig/src/core/mount.c -+++ systemd-228/src/core/mount.c -@@ -36,6 +36,7 @@ - #include "manager.h" - #include "mkdir.h" - #include "mount-setup.h" -+#include "mount-iface.h" - #include "mount-util.h" - #include "mount.h" - #include "parse-util.h" -@@ -1344,8 +1345,9 @@ static int mount_setup_unit( - _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; - bool load_extras = false; - MountParameters *p; -- bool delete, changed = false; -+ bool delete, changed = false, isnetwork; - Unit *u; -+ char *c; - int r; - - assert(m); -@@ -1370,6 +1372,8 @@ static int mount_setup_unit( - if (r < 0) - return r; - -+ isnetwork = fstype_is_network(fstype); -+ - u = manager_get_unit(m, e); - if (!u) { - delete = true; -@@ -1397,7 +1401,7 @@ static int mount_setup_unit( - if (m->running_as == MANAGER_SYSTEM) { - const char* target; - -- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; -+ target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; - r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); - if (r < 0) - goto fail; -@@ -1483,6 +1487,32 @@ static int mount_setup_unit( - goto fail; - } - -+ if (isnetwork && (c = strrchr(p->what, ':')) && *(c+1) == '/') { -+ _cleanup_free_ char *opt = strdup(p->options); -+ char *addr; -+ -+ if (opt && (addr = strstr(opt, ",addr="))) { -+ char *colon, *iface; -+ -+ addr += 6; -+ if ((colon = strchr(addr, ','))) -+ *colon = '\0'; -+ -+ iface = host2iface(addr); -+ if (iface) { -+ _cleanup_free_ char* target = NULL; -+ if (asprintf(&target, "sys-subsystem-net-devices-%s.device", iface) < 0) -+ log_oom(); -+ else { -+ r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); -+ if (r < 0) -+ log_unit_error(u, "Failed to add dependency on %s, ignoring: %s", -+ target, strerror(-r)); -+ } -+ } -+ } -+ } -+ - if (changed) - unit_add_to_dbus_queue(u); - -@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf - if (r == 0 && k < 0) - r = k; - } -+ freeroutes(); /* Just in case of using the routing table with host2iface() */ - - return r; - } diff --git a/0001-avoid-abort-due-timeout-at-user-service.patch b/0001-avoid-abort-due-timeout-at-user-service.patch deleted file mode 100644 index af7fed5d..00000000 --- a/0001-avoid-abort-due-timeout-at-user-service.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - src/login/logind-session.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: systemd-221/src/login/logind-session.c -=================================================================== ---- systemd-221.orig/src/login/logind-session.c -+++ systemd-221/src/login/logind-session.c -@@ -548,6 +548,12 @@ int session_start(Session *s) { - if (r < 0) - return r; - -+ if (!s->user->slice) { -+ if (errno) -+ return -errno; -+ return -ESTALE; -+ } -+ - /* Create cgroup */ - r = session_start_scope(s); - if (r < 0) diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch deleted file mode 100644 index 8729f452..00000000 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- - src/login/logind-action.c | 5 +++++ - src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- - 2 files changed, 28 insertions(+), 8 deletions(-) - -Index: systemd-227/src/login/logind-action.c -=================================================================== ---- systemd-227.orig/src/login/logind-action.c -+++ systemd-227/src/login/logind-action.c -@@ -85,6 +85,11 @@ int manager_handle_action( - - /* If the key handling is inhibited, don't do anything */ - if (inhibit_key > 0) { -+ if (inhibit_key == INHIBIT_HANDLE_POWER_KEY) { -+ int fd; -+ fd = open("/run/systemd/acpi-shutdown", O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR); -+ close(fd); -+ } - if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { - log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); - return 0; -Index: systemd-227/src/login/logind-dbus.c -=================================================================== ---- systemd-227.orig/src/login/logind-dbus.c -+++ systemd-227/src/login/logind-dbus.c -@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds( - const char *action, - const char *action_multiple_sessions, - const char *action_ignore_inhibit, -- sd_bus_error *error) { -+ sd_bus_error *error, const char *sleep_verb) { - - _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; -- bool multiple_sessions, blocked; -+ bool multiple_sessions, blocked, shutdown_through_acpi; - uid_t uid; -- int r; -+ int r, fd; -+ struct stat buf; - - assert(m); - assert(message); -@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds( - multiple_sessions = r > 0; - blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); - -- if (multiple_sessions && action_multiple_sessions) { -+ fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); -+ if (fd >= 0) { -+ shutdown_through_acpi = fstat(fd, &buf) == 0 && -+ time(NULL) - buf.st_mtime <= 65 && -+ sleep_verb == NULL; -+ close(fd); -+ unlink ("/run/systemd/acpi-shutdown"); -+ } -+ else -+ shutdown_through_acpi = false; -+ -+ if (multiple_sessions && action_multiple_sessions && -+ !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds( - return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - -- if (blocked && action_ignore_inhibit) { -+ if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds( - return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - -- if (!multiple_sessions && !blocked && action) { -+ if (!multiple_sessions && !blocked && action && -+ !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep( - } - - r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, -- action_ignore_inhibit, error); -+ action_ignore_inhibit, error, sleep_verb); - if (r != 0) - return r; - -@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); - - r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, -- action, action_multiple_sessions, action_ignore_inhibit, error); -+ action, action_multiple_sessions, -+ action_ignore_inhibit, error, "UNUSED"); - if (r != 0) - return r; - diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch deleted file mode 100644 index c954427f..00000000 --- a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 1b4cd0cf11feb7d41f2eff17f86fa55b31bb6841 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 18 Feb 2016 22:51:23 +0100 -Subject: [PATCH] core: exclude .slice units from "systemctl isolate" - -Fixes: #1969 ---- - src/core/scope.c | 3 +-- - src/core/slice.c | 8 ++++++++ - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git src/core/scope.c src/core/scope.c -index c5d0ece..361695c 100644 ---- a/src/core/scope.c -+++ b/src/core/scope.c -@@ -50,8 +50,7 @@ static void scope_init(Unit *u) { - assert(u->load_state == UNIT_STUB); - - s->timeout_stop_usec = u->manager->default_timeout_stop_usec; -- -- UNIT(s)->ignore_on_isolate = true; -+ u->ignore_on_isolate = true; - } - - static void scope_done(Unit *u) { -diff --git src/core/slice.c src/core/slice.c -index d65364c..667f61b 100644 ---- a/src/core/slice.c -+++ b/src/core/slice.c -@@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { - [SLICE_ACTIVE] = UNIT_ACTIVE - }; - -+static void slice_init(Unit *u) { -+ assert(u); -+ assert(u->load_state == UNIT_STUB); -+ -+ u->ignore_on_isolate = true; -+} -+ - static void slice_set_state(Slice *t, SliceState state) { - SliceState old_state; - assert(t); -@@ -305,6 +312,7 @@ const UnitVTable slice_vtable = { - .no_instances = true, - .can_transient = true, - -+ .init = slice_init, - .load = slice_load, - - .coldplug = slice_coldplug, --- -2.6.2 - diff --git a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch deleted file mode 100644 index b1a18d36..00000000 --- a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +++ /dev/null @@ -1,193 +0,0 @@ -From d8ccf5fdc91c46ab5d0ae86e38c206bc508d4188 Mon Sep 17 00:00:00 2001 [> v228] -From: Daniel Mack -Date: Fri, 18 Dec 2015 17:28:15 +0100 -Subject: [PATCH] core: fix bus name synchronization after daemon-reload - -During daemon-reload, PID1 temporarly loses its DBus connection, so there's -a small window in which all signals sent by dbus-daemon are lost. - -This is a problem, since we rely on the NameOwnerChanged signals in order to -consider a service with Type=dbus fully started or terminated, respectively. - -In order to fix this, a rewrite of bus_list_names() is necessary. We used -to walk the current list of names on the bus, and blindly triggered the -bus_name_owner_change() callback on each service, providing the actual name -as current owner. This implementation has a number of problems: - -* We cannot detect if the the name was moved from one owner to the other - while we were reloading - -* We don't notify services which missed the name loss signal - -* Providing the actual name as current owner is a hack, as the comment also - admits. - -To fix this, this patch carries the following changes: - -* Track the name of the current bus name owner, and (de-)serialize it - during reload. This way, we can detect changes. - -* In bus_list_names(), walk the list of bus names we're interested in - first, and then see if the name is active on the bus. If it is, - check it it's still the same as it used to be, and synthesize - NameOwnerChanged signals for the name add and/or loss. - -This should fully synchronize the current name list with the internal -state of all services. ---- - src/core/dbus.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------- - src/core/service.c | 14 ++++++++++++ - src/core/service.h | 1 + - 3 files changed, 69 insertions(+), 10 deletions(-) - -diff --git a/src/core/dbus.c b/src/core/dbus.c -index e7ee216..58069f5 100644 ---- a/src/core/dbus.c -+++ b/src/core/dbus.c -@@ -736,7 +736,9 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void - - static int bus_list_names(Manager *m, sd_bus *bus) { - _cleanup_strv_free_ char **names = NULL; -- char **i; -+ const char *name; -+ Iterator i; -+ Unit *u; - int r; - - assert(m); -@@ -746,15 +748,55 @@ static int bus_list_names(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to get initial list of names: %m"); - -- /* This is a bit hacky, we say the owner of the name is the -- * name itself, because we don't want the extra traffic to -- * figure out the real owner. */ -- STRV_FOREACH(i, names) { -- Unit *u; -+ /* We have to synchronize the current bus names with the -+ * list of active services. To do this, walk the list of -+ * all units with bus names. */ -+ HASHMAP_FOREACH_KEY(u, name, m->watch_bus, i) { -+ Service *s = SERVICE(u); -+ -+ assert(s); - -- u = hashmap_get(m->watch_bus, *i); -- if (u) -- UNIT_VTABLE(u)->bus_name_owner_change(u, *i, NULL, *i); -+ if (!streq_ptr(s->bus_name, name)) { -+ log_unit_warning(u, "Bus name has changed from %s → %s, ignoring.", s->bus_name, name); -+ continue; -+ } -+ -+ /* Check if a service's bus name is in the list of currently -+ * active names */ -+ if (strv_contains(names, name)) { -+ _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; -+ const char *unique; -+ -+ /* If it is, determine its current owner */ -+ r = sd_bus_get_name_creds(bus, name, SD_BUS_CREDS_UNIQUE_NAME, &creds); -+ if (r < 0) { -+ log_error_errno(r, "Failed to get bus name owner %s: %m", name); -+ continue; -+ } -+ -+ r = sd_bus_creds_get_unique_name(creds, &unique); -+ if (r < 0) { -+ log_error_errno(r, "Failed to get unique name for %s: %m", name); -+ continue; -+ } -+ -+ /* Now, let's compare that to the previous bus owner, and -+ * if it's still the same, all is fine, so just don't -+ * bother the service. Otherwise, the name has apparently -+ * changed, so synthesize a name owner changed signal. */ -+ -+ if (!streq_ptr(unique, s->bus_name_owner)) -+ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, unique); -+ } else { -+ /* So, the name we're watching is not on the bus. -+ * This either means it simply hasn't appeared yet, -+ * or it was lost during the daemon reload. -+ * Check if the service has a stored name owner, -+ * and synthesize a name loss signal in this case. */ -+ -+ if (s->bus_name_owner) -+ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, NULL); -+ } - } - - return 0; -@@ -808,7 +850,9 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to register name: %m"); - -- bus_list_names(m, bus); -+ r = bus_list_names(m, bus); -+ if (r < 0) -+ return r; - - log_debug("Successfully connected to API bus."); - return 0; -diff --git a/src/core/service.c b/src/core/service.c -index 41a729c..c5b689a 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -323,6 +323,8 @@ static void service_done(Unit *u) { - s->bus_name = mfree(s->bus_name); - } - -+ s->bus_name_owner = mfree(s->bus_name_owner); -+ - s->bus_endpoint_fd = safe_close(s->bus_endpoint_fd); - service_close_socket_fd(s); - service_connection_unref(s); -@@ -2122,6 +2124,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { - - unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); - unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); -+ unit_serialize_item(u, f, "bus-name-owner", s->bus_name_owner); - - r = unit_serialize_item_escaped(u, f, "status-text", s->status_text); - if (r < 0) -@@ -2249,6 +2252,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - log_unit_debug(u, "Failed to parse bus-name-good value: %s", value); - else - s->bus_name_good = b; -+ } else if (streq(key, "bus-name-owner")) { -+ r = free_and_strdup(&s->bus_name_owner, value); -+ if (r < 0) -+ log_unit_error_errno(u, r, "Unable to deserialize current bus owner %s: %m", value); - } else if (streq(key, "status-text")) { - char *t; - -@@ -3134,6 +3141,13 @@ static void service_bus_name_owner_change( - - s->bus_name_good = !!new_owner; - -+ /* Track the current owner, so we can reconstruct changes after a daemon reload */ -+ r = free_and_strdup(&s->bus_name_owner, new_owner); -+ if (r < 0) { -+ log_unit_error_errno(u, r, "Unable to set new bus name owner %s: %m", new_owner); -+ return; -+ } -+ - if (s->type == SERVICE_DBUS) { - - /* service_enter_running() will figure out what to -diff --git a/src/core/service.h b/src/core/service.h -index d0faad8..19efbcc 100644 ---- a/src/core/service.h -+++ b/src/core/service.h -@@ -172,6 +172,7 @@ struct Service { - bool reset_cpu_usage:1; - - char *bus_name; -+ char *bus_name_owner; /* unique name of the current owner */ - - char *status_text; - int status_errno; --- -2.6.2 - diff --git a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch deleted file mode 100644 index 11b6a99f..00000000 --- a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 8936a5e34dbfa9274348f3fef99f7c9f9327ddf9 Mon Sep 17 00:00:00 2001 [> v228] -From: Daniel Mack -Date: Tue, 22 Dec 2015 11:37:09 +0100 -Subject: [PATCH] core: re-sync bus name list after deserializing during - daemon-reload - -When the daemon reloads, it doesn not actually give up its DBus connection, -as wrongly stated in an earlier commit. However, even though the bus -connection stays open, the daemon flushes out all its internal state. - -Hence, if there is a NameOwnerChanged signal after the flush and before the -deserialization, it cannot be matched against any pending unit. - -To fix this, rename bus_list_names() to manager_sync_bus_names() and call -it explicitly at the end of the daemon reload operation. ---- - src/core/dbus.c | 4 ++-- - src/core/dbus.h | 2 ++ - src/core/manager.c | 4 ++++ - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/core/dbus.c b/src/core/dbus.c -index 58069f5..1d89b9e 100644 ---- a/src/core/dbus.c -+++ b/src/core/dbus.c -@@ -734,7 +734,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void - return 0; - } - --static int bus_list_names(Manager *m, sd_bus *bus) { -+int manager_sync_bus_names(Manager *m, sd_bus *bus) { - _cleanup_strv_free_ char **names = NULL; - const char *name; - Iterator i; -@@ -850,7 +850,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to register name: %m"); - -- r = bus_list_names(m, bus); -+ r = manager_sync_bus_names(m, bus); - if (r < 0) - return r; - -diff --git a/src/core/dbus.h b/src/core/dbus.h -index 4f06ad1..ff76166 100644 ---- a/src/core/dbus.h -+++ b/src/core/dbus.h -@@ -34,6 +34,8 @@ void bus_track_serialize(sd_bus_track *t, FILE *f); - int bus_track_deserialize_item(char ***l, const char *line); - int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l); - -+int manager_sync_bus_names(Manager *m, sd_bus *bus); -+ - int bus_foreach_bus(Manager *m, sd_bus_track *subscribed2, int (*send_message)(sd_bus *bus, void *userdata), void *userdata); - - int bus_verify_manage_units_async(Manager *m, sd_bus_message *call, sd_bus_error *error); -diff --git a/src/core/manager.c b/src/core/manager.c -index e65616a..ffe27be 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -2574,6 +2574,10 @@ int manager_reload(Manager *m) { - /* Third, fire things up! */ - manager_coldplug(m); - -+ /* Sync current state of bus names with our set of listening units */ -+ if (m->api_bus) -+ manager_sync_bus_names(m, m->api_bus); -+ - assert(m->n_reloading > 0); - m->n_reloading--; - --- -2.6.2 - diff --git a/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch b/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch deleted file mode 100644 index 99e9c6cb..00000000 --- a/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 6dac79e09ec1b45f05b3e9a5f1f445859b6eefd2 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 23 Sep 2016 13:33:01 +0200 -Subject: [PATCH 1/1] journal: fix HMAC calculation when appending a data - object - -Since commit 5996c7c295e073ce21d41305169132c8aa993ad0 (v190 !), the -calculation of the HMAC is broken because the hash for a data object -including a field is done in the wrong order: the field object is -hashed before the data object is. - -However during verification, the hash is done in the opposite order as -objects are scanned sequentially. - -(cherry picked from commit 33685a5a3a98c6ded64d0cc25e37d0180ceb0a6a) - -[fbui: fixes bsc#1000435] ---- - src/journal/journal-file.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index a9882cf..a24d97d 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -1111,6 +1111,12 @@ static int journal_file_append_data( - if (r < 0) - return r; - -+#ifdef HAVE_GCRYPT -+ r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); -+ if (r < 0) -+ return r; -+#endif -+ - /* The linking might have altered the window, so let's - * refresh our pointer */ - r = journal_file_move_to_object(f, OBJECT_DATA, p, &o); -@@ -1135,12 +1141,6 @@ static int journal_file_append_data( - fo->field.head_data_offset = le64toh(p); - } - --#ifdef HAVE_GCRYPT -- r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); -- if (r < 0) -- return r; --#endif -- - if (ret) - *ret = o; - --- -2.10.0 - diff --git a/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch b/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch deleted file mode 100644 index 93e158b2..00000000 --- a/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 0d0bad044f8f19c472acb69d10861a66d3d267b6 Mon Sep 17 00:00:00 2001 -From: Vito Caputo -Date: Tue, 26 Apr 2016 23:29:43 -0700 -Subject: [PATCH 1/1] journal: set STATE_ARCHIVED as part of offlining (#2740) - -The only code path which makes a journal durable is via -journal_file_set_offline(). - -When we perform a rotate the journal's header->state is being set to -STATE_ARCHIVED prior to journal_file_set_offline() being called. - -In journal_file_set_offline(), we short-circuit the entire offline when -f->header->state != STATE_ONLINE. - -This all results in none of the journal_file_set_offline() fsync() calls -being reached when rotate archives a journal, so archived journals are -never explicitly made durable. - -What we do now is instead of setting the f->header->state to -STATE_ARCHIVED directly in journal_file_rotate() prior to -journal_file_close(), we set an archive flag in f->archive for the -journal_file_set_offline() machinery to honor by committing -STATE_ARCHIVED instead of STATE_OFFLINE when set. - -Prior to this, rotated journals were never getting fsync() explicitly -performed on them, since journal_file_set_offline() short-circuited. -Obviously this is undesirable, and depends entirely on the underlying -filesystem as to how much durability was achieved when simply closing -the file. - -Note that this problem existed prior to the recent asynchronous fsync -changes, but those changes do facilitate our performing this durable -offline on rotate without blocking, regardless of the underlying -filesystem sync-on-close semantics. - -(cherry picked from commit 8eb851711fd166024297c425e9261200c36f489d) - -[fbui: context adjustment: the asynchronous journal_file_set_offline() - thingie doesn't exist in v228] - -[fbui: this also fixes the case when we wanted to append a tag (for - FSS verification) when closing the journal. Before this patch, - journal_file_append_tag() failed (silently) because re-opening - the journal to write the tag was not possible since it was - already in "archived" mode.] ---- - src/journal/journal-file.c | 10 ++++++++-- - src/journal/journal-file.h | 1 + - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index f9ff954..e7eecad 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -130,7 +130,7 @@ int journal_file_set_offline(JournalFile *f) { - if (mmap_cache_got_sigbus(f->mmap, f->fd)) - return -EIO; - -- f->header->state = STATE_OFFLINE; -+ f->header->state = f->archive ? STATE_ARCHIVED : STATE_OFFLINE; - - if (mmap_cache_got_sigbus(f->mmap, f->fd)) - return -EIO; -@@ -2813,7 +2813,13 @@ int journal_file_rotate(JournalFile **f, bool compress, bool seal) { - if (r < 0 && errno != ENOENT) - return -errno; - -- old_file->header->state = STATE_ARCHIVED; -+ /* Set as archive so offlining commits w/state=STATE_ARCHIVED. -+ * Previously we would set old_file->header->state to STATE_ARCHIVED directly here, -+ * but journal_file_set_offline() short-circuits when state != STATE_ONLINE, which -+ * would result in the rotated journal never getting fsync() called before closing. -+ * Now we simply queue the archive state by setting an archive bit, leaving the state -+ * as STATE_ONLINE so proper offlining occurs. */ -+ old_file->archive = true; - - /* Currently, btrfs is not very good with out write patterns - * and fragments heavily. Let's defrag our journal files when -diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h -index 898d12d..436e5ff 100644 ---- a/src/journal/journal-file.h -+++ b/src/journal/journal-file.h -@@ -76,6 +76,7 @@ typedef struct JournalFile { - bool compress_lz4:1; - bool seal:1; - bool defrag_on_close:1; -+ bool archive:1; - - bool tail_entry_monotonic_valid:1; - --- -2.10.0 - diff --git a/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch b/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch deleted file mode 100644 index c4dd9e96..00000000 --- a/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9f47fe6b6a9aad001e99f1fdea78a0c54ce8ae55 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 23 Sep 2016 12:12:13 +0200 -Subject: [PATCH 1/1] journal: warn when we fail to append a tag to a journal - -We shouldn't silently fail when appending the tag to a journal file -since FSS protection will simply be disabled in this case. - -(cherry picked from commit 43cd8794839548a6f332875e8bee8bed2652bf2c) ---- - src/journal/journal-file.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index e7eecad..a9882cf 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -145,8 +145,13 @@ JournalFile* journal_file_close(JournalFile *f) { - - #ifdef HAVE_GCRYPT - /* Write the final tag */ -- if (f->seal && f->writable) -- journal_file_append_tag(f); -+ if (f->seal && f->writable) { -+ int r; -+ -+ r = journal_file_append_tag(f); -+ if (r < 0) -+ log_error_errno(r, "Failed to append tag when closing journal: %m"); -+ } - #endif - - journal_file_set_offline(f); --- -2.10.0 - diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch deleted file mode 100644 index 4159038e..00000000 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - shell-completion/bash/systemctl.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/shell-completion/bash/systemctl.in -=================================================================== ---- systemd-221.orig/shell-completion/bash/systemctl.in -+++ systemd-221/shell-completion/bash/systemctl.in -@@ -43,7 +43,7 @@ __filter_units_by_property () { - local units=("$@") - local props - IFS=$'\n' read -rd '' -a props < \ -- <(__systemctl $mode show --property "$property" -- "${units[@]}") -+ <(__systemctl $mode show --property "$property" -- "${units[@]}" 2> /dev/null) - for ((i=0; $i < ${#units[*]}; i++)); do - if [[ "${props[i]}" = "$property=$value" ]]; then - echo " ${units[i]}" diff --git a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch deleted file mode 100644 index f6af8080..00000000 --- a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 23 Nov 2015 13:59:43 -0500 -Subject: [PATCH] nss-mymachines: do not allow overlong machine names - -https://github.com/systemd/systemd/issues/2002 ---- - src/nss-mymachines/nss-mymachines.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c -index 969fa96..c98a959 100644 ---- a/src/nss-mymachines/nss-mymachines.c -+++ b/src/nss-mymachines/nss-mymachines.c -@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_uid(e + 1, &uid); - if (r < 0) - goto not_found; -@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_gid(e + 1, &gid); - if (r < 0) - goto not_found; --- -2.1.4 - diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch deleted file mode 100644 index 0375d595..00000000 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Werner Fink -Date: Wed Feb 26 14:36:27 UTC 2014 -Subject: Do not clobber XDG_RUNTIME_DIR if su command preserve environment - -Make sure that even if a su command without option -l or with option -m -is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. - -This belongs to BNC#852015 and also to BNC#855160 - ---- - src/login/pam_systemd.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -Index: systemd-221/src/login/pam_systemd.c -=================================================================== ---- systemd-221.orig/src/login/pam_systemd.c -+++ systemd-221/src/login/pam_systemd.c -@@ -445,6 +445,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); - if (r != PAM_SUCCESS) - return r; -+ } else if (getenv("XDG_RUNTIME_DIR")) { -+ _cleanup_free_ char *p = NULL; -+ -+ /* Make sure that after running YaST2 or the xdg-su scripts -+ * the runtime directory is not clobbered. Even a normal su -+ * command without -l or with -m may clobber. */ -+ -+ if ((r = asprintf(&p, "/run/user/%lu", (unsigned long)pw->pw_uid)) < 0) -+ return PAM_BUF_ERR; -+ -+ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", p, 0); -+ if (r != PAM_SUCCESS) { -+ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); -+ return r; -+ } -+ -+ r = export_legacy_dbus_address(handle, pw->pw_uid, p); -+ if (r != PAM_SUCCESS) -+ return r; - } - - if (!isempty(seat)) { diff --git a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch deleted file mode 100644 index 73ebf147..00000000 --- a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +++ /dev/null @@ -1,51 +0,0 @@ -From c47885438517ac77ee34a30ee3d09e5deb9968f6 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 29 Sep 2016 19:44:34 +0200 -Subject: [PATCH 1/1] pid1: don't return any error in - manager_dispatch_notify_fd() (#4240) - -If manager_dispatch_notify_fd() fails and returns an error then the handling of -service notifications will be disabled entirely leading to a compromised system. - -For example pid1 won't be able to receive the WATCHDOG messages anymore and -will kill all services supposed to send such messages. -(cherry picked from commit 9987750e7a4c62e0eb8473603150596ba7c3a015) ---- - src/core/manager.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 56ca9cf..06d78e4 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1560,10 +1560,14 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - - n = recvmsg(m->notify_fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); - if (n < 0) { -- if (errno == EAGAIN || errno == EINTR) -- return 0; -+ if (!IN_SET(errno, EAGAIN, EINTR)) -+ log_error("Failed to receive notification message: %m"); - -- return -errno; -+ /* It's not an option to return an error here since it -+ * would disable the notification handler entirely. Services -+ * wouldn't be able to send the WATCHDOG message for -+ * example... */ -+ return 0; - } - if (n == 0) { - log_debug("Got zero-length notification message. Ignoring."); -@@ -1590,7 +1594,8 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - r = fdset_new_array(&fds, fd_array, n_fds); - if (r < 0) { - close_many(fd_array, n_fds); -- return log_oom(); -+ log_oom(); -+ return 0; - } - } - --- -2.10.0 - diff --git a/0001-pid1-more-informative-error-message-for-ignored-noti.patch b/0001-pid1-more-informative-error-message-for-ignored-noti.patch deleted file mode 100644 index 6773ccd3..00000000 --- a/0001-pid1-more-informative-error-message-for-ignored-noti.patch +++ /dev/null @@ -1,38 +0,0 @@ -From eb54b43fe31392c9f77505d8f9cd86d1f050b49d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 29 Sep 2016 16:07:41 +0200 -Subject: [PATCH 1/1] pid1: more informative error message for ignored - notifications - -It's probably easier to diagnose a bad notification message if the -contents are printed. But still, do anything only if debugging is on. - -(cherry picked from commit a86b76753d7868c2d05f046f601bc7dc89fc2203) ---- - src/core/manager.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 58d346e..0d0158a 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1516,8 +1516,14 @@ static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const - - if (UNIT_VTABLE(u)->notify_message) - UNIT_VTABLE(u)->notify_message(u, pid, tags, fds); -- else -- log_unit_debug(u, "Got notification message for unit. Ignoring."); -+ else if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) { -+ _cleanup_free_ char *x = NULL, *y = NULL; -+ -+ x = cescape(buf); -+ if (x) -+ y = ellipsize(x, 20, 90); -+ log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y)); -+ } - } - - static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) { --- -2.10.0 - diff --git a/0001-pid1-process-zero-length-notification-messages-again.patch b/0001-pid1-process-zero-length-notification-messages-again.patch deleted file mode 100644 index 72e6905f..00000000 --- a/0001-pid1-process-zero-length-notification-messages-again.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 98c4bab7add94bdfb6cc238376c47a9c73a4fe39 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 29 Sep 2016 16:06:02 +0200 -Subject: [PATCH 1/1] pid1: process zero-length notification messages again - -This undoes 531ac2b234. I acked that patch without looking at the code -carefully enough. There are two problems: -- we want to process the fds anyway -- in principle empty notification messages are valid, and we should - process them as usual, including logging using log_unit_debug(). - -(cherry picked from commit 8523bf7dd514a3a2c6114b7b8fb8f308b4f09fc4) - -[fbui: adjust context] ---- - src/core/manager.c | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 06d78e4..58d346e 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1501,13 +1501,12 @@ static unsigned manager_dispatch_dbus_queue(Manager *m) { - return n; - } - --static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, size_t n, FDSet *fds) { -+static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, FDSet *fds) { - _cleanup_strv_free_ char **tags = NULL; - - assert(m); - assert(u); - assert(buf); -- assert(n > 0); - - tags = strv_split(buf, "\n\r"); - if (!tags) { -@@ -1569,10 +1568,6 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - * example... */ - return 0; - } -- if (n == 0) { -- log_debug("Got zero-length notification message. Ignoring."); -- return 0; -- } - - CMSG_FOREACH(cmsg, &msghdr) { - if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { -@@ -1609,25 +1604,27 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - return 0; - } - -+ /* The message should be a string. Here we make sure it's NUL-terminated, -+ * but only the part until first NUL will be used anyway. */ - buf[n] = 0; - - /* Notify every unit that might be interested, but try - * to avoid notifying the same one multiple times. */ - u1 = manager_get_unit_by_pid_cgroup(m, ucred->pid); - if (u1) { -- manager_invoke_notify_message(m, u1, ucred->pid, buf, n, fds); -+ manager_invoke_notify_message(m, u1, ucred->pid, buf, fds); - found = true; - } - - u2 = hashmap_get(m->watch_pids1, PID_TO_PTR(ucred->pid)); - if (u2 && u2 != u1) { -- manager_invoke_notify_message(m, u2, ucred->pid, buf, n, fds); -+ manager_invoke_notify_message(m, u2, ucred->pid, buf, fds); - found = true; - } - - u3 = hashmap_get(m->watch_pids2, PID_TO_PTR(ucred->pid)); - if (u3 && u3 != u2 && u3 != u1) { -- manager_invoke_notify_message(m, u3, ucred->pid, buf, n, fds); -+ manager_invoke_notify_message(m, u3, ucred->pid, buf, fds); - found = true; - } - --- -2.10.0 - diff --git a/0001-rules-block-add-support-for-pmem-devices-3683.patch b/0001-rules-block-add-support-for-pmem-devices-3683.patch deleted file mode 100644 index 2af5f771..00000000 --- a/0001-rules-block-add-support-for-pmem-devices-3683.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 31ae8c8741ce9595f4053234d6a6b2fb3616fedf Mon Sep 17 00:00:00 2001 -From: bgbhpe -Date: Fri, 8 Jul 2016 11:43:56 -0400 -Subject: [PATCH 1/1] rules: block: add support for pmem devices (#3683) - -Persistent memory devices can be exposed as block devices as /dev/pmemN -and /dev/pmemNs. pmemN is the raw device and is byte-addressable from -within the kernel and when mmapped by applications from a DAX-mounted -file system. pmemNs has the block translation table (BTT) layered on top, -offering atomic sector/block access. Both pmemN and pmemNs are expected -to contain file systems. - -blkid(8) and lsblk(8) seem to correctly report on pmemN and pmemNs. -systemd v219 will populate /dev/disk/by-uuid/ when, for example, mkfs is -used on pmem, but systemd v228 does not. - -Add pmem to the whitelist. -(cherry picked from commit f3bc4ccc2edf5ad2a99d6ba2795b9999fe76c3df) - -[tblume: fixes bsc#988119] ---- - rules/60-block.rules | 2 +- - rules/60-persistent-storage.rules | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/rules/60-block.rules b/rules/60-block.rules -index c74caca..42c7597 100644 ---- a/rules/60-block.rules -+++ b/rules/60-block.rules -@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_ - ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" - - # watch metadata changes, caused by tools closing the device node which was opened for writing --ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*", OPTIONS+="watch" -+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch" -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index ee1fb08f..ef5d205 100644 ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -6,7 +6,7 @@ - ACTION=="remove", GOTO="persistent_storage_end" - - SUBSYSTEM!="block", GOTO="persistent_storage_end" --KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end" -+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|pmem*", GOTO="persistent_storage_end" - - # ignore partitions that span the entire disk - TEST=="whole_disk", GOTO="persistent_storage_end" --- -2.10.0 - diff --git a/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch b/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch deleted file mode 100644 index 8c9d10ab..00000000 --- a/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch +++ /dev/null @@ -1,121 +0,0 @@ -From b8d6cc0513adadea9b5048fa320d7f49c10f004b Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Wed, 4 May 2016 08:51:52 +0200 -Subject: [PATCH] systemctl,pid1: do not warn about missing install info with - "preset" - -When "preset" was executed for a unit without install info, we'd warn similarly -as for "enable" and "disable". But "preset" is usually called for all units, -because the preset files are provided by the distribution, and the units are under -control of individual programs, and it's reasonable to call "preset" for all units -rather then try to do it only for the ones that can be installed. -We also don't warn about missing info for "preset-all". Thus it seems reasonable -to silently ignore units w/o install info when presetting. - -(In addition, when more than one unit was specified, we'd issue the warning -only if none of them had install info. But this is probably something to fix -for enable/disable too.) ---- - man/systemctl.xml | 26 +++++++++++++------------- - src/systemctl/systemctl.c | 10 +++++----- - 2 files changed, 18 insertions(+), 18 deletions(-) - -diff --git a/man/systemctl.xml b/man/systemctl.xml -index f342e26..1c2c919 100644 ---- a/man/systemctl.xml -+++ b/man/systemctl.xml -@@ -1082,22 +1082,22 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service - preset NAME... - - -- Reset one or more unit files, as specified on the -- command line, to the defaults configured in the preset -- policy files. This has the same effect as -- disable or enable, -- depending how the unit is listed in the preset files. -+ Reset the enable/disable status one or more unit files, as specified on -+ the command line, to the defaults configured in the preset policy files. This -+ has the same effect as disable or -+ enable, depending how the unit is listed in the preset -+ files. - -- Use to control -- whether units shall be enabled and disabled, or only -- enabled, or only disabled. -+ Use to control whether units shall be -+ enabled and disabled, or only enabled, or only disabled. -+ -+ If the unit carries no install information, it will be silently ignored -+ by this command. - -- For more information on the preset policy format, -- see -+ For more information on the preset policy format, see - systemd.preset5. -- For more information on the concept of presets, please -- consult the Preset -+ For more information on the concept of presets, please consult the -+ Preset - document. - - -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 1f42d1a..9dc5971 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -5399,6 +5399,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - UnitFileChange *changes = NULL; - unsigned n_changes = 0; - int carries_install_info = -1; -+ bool ignore_carries_install_info = false; - int r; - - if (!argv[1]) -@@ -5412,8 +5413,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - if (r < 0) - return r; - -- /* If the operation was fully executed by the SysV compat, -- * let's finish early */ -+ /* If the operation was fully executed by the SysV compat, let's finish early */ - if (strv_isempty(names)) - return 0; - -@@ -5430,7 +5430,6 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - r = unit_file_link(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); - else if (streq(verb, "preset")) { - r = unit_file_preset(arg_scope, arg_runtime, arg_root, names, arg_preset_mode, arg_force, &changes, &n_changes); -- carries_install_info = r; - } else if (streq(verb, "mask")) - r = unit_file_mask(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); - else if (streq(verb, "unmask")) -@@ -5450,7 +5449,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - } else { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *m = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- int expect_carries_install_info = false; -+ bool expect_carries_install_info = false; - bool send_force = true, send_preset_mode = false; - const char *method; - sd_bus *bus; -@@ -5481,6 +5480,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - method = "PresetUnitFiles"; - - expect_carries_install_info = true; -+ ignore_carries_install_info = true; - } else if (streq(verb, "mask")) - method = "MaskUnitFiles"; - else if (streq(verb, "unmask")) { -@@ -5540,7 +5540,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - r = 0; - } - -- if (carries_install_info == 0) -+ if (carries_install_info == 0 && !ignore_carries_install_info) - log_warning("The unit files have no [Install] section. They are not meant to be enabled\n" - "using systemctl.\n" - "Possible reasons for having this kind of units are:\n" --- -2.6.6 - diff --git a/0010-do-not-install-sulogin-unit-with-poweroff.patch b/0010-do-not-install-sulogin-unit-with-poweroff.patch deleted file mode 100644 index af9d7f53..00000000 --- a/0010-do-not-install-sulogin-unit-with-poweroff.patch +++ /dev/null @@ -1,19 +0,0 @@ -| -| Belongs to bnc#849071 that is do not install console-shell.service -| in any system target as this will cause automatic poweroff at boot. -| ---- - units/console-shell.service.m4.in | 3 --- - 1 file changed, 3 deletions(-) - -Index: systemd-221/units/console-shell.service.m4.in -=================================================================== ---- systemd-221.orig/units/console-shell.service.m4.in -+++ systemd-221/units/console-shell.service.m4.in -@@ -28,6 +28,3 @@ StandardError=inherit - KillMode=process - IgnoreSIGPIPE=no - SendSIGHUP=yes -- --[Install] --WantedBy=getty.target diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch deleted file mode 100644 index 00577b3d..00000000 --- a/0014-journald-with-journaling-FS.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Augmented description [jengelh@inai.de]: -Disable COW on journal files, as that is naturally leading to a lot -of unwanted fragmentation on btrfs. -No word on compression… ---- - src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -Index: systemd-227/src/journal/journald-server.c -=================================================================== ---- systemd-227.orig/src/journal/journald-server.c -+++ systemd-227/src/journal/journald-server.c -@@ -24,6 +24,7 @@ - #include - #endif - #include -+#include - #include - #include - #include -@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd - dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0); - } - -+/* -+ * On journaling and/or compressing file systems, avoid doubling the efforts -+ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every -+ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like Btrfs does). -+ * -+ * …but src/journal/journal-file.c already sets NOCOW too…⸘ -+ */ -+static void disable_cow(const char *dir, const Server *serv) -+{ -+ unsigned long flags; -+ int fd = open(dir, O_DIRECTORY); -+ -+ if (fd < 0) -+ return; -+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ unsigned long old = flags; -+ if (!(flags & FS_NOATIME_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0) -+ flags |= FS_NOATIME_FL; -+ if (!(flags & FS_NOCOW_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0) -+ flags |= FS_NOCOW_FL; -+ if (!(flags & FS_NOCOMP_FL) && serv->compress) { -+ flags &= ~FS_COMPR_FL; -+ flags |= FS_NOCOMP_FL; -+ } -+ if (old != flags) -+ ioctl(fd, FS_IOC_SETFLAGS, flags); -+ } -+ close(fd); -+} -+ - void server_dispatch_message( - Server *s, - struct iovec *iovec, unsigned n, unsigned m, -@@ -948,6 +982,7 @@ static int system_journal_open(Server *s - - fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s)); - (void) mkdir(fn, 0755); -+ disable_cow(fn, s); - - fn = strjoina(fn, "/system.journal"); - r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch deleted file mode 100644 index c8ab5fa7..00000000 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ /dev/null @@ -1,272 +0,0 @@ ---- - shell-completion/bash/coredumpctl | 6 +++++- - shell-completion/bash/hostnamectl | 6 +++++- - shell-completion/bash/journalctl | 6 +++++- - shell-completion/bash/kernel-install | 13 ++++++++++++- - shell-completion/bash/localectl | 6 +++++- - shell-completion/bash/loginctl | 6 +++++- - shell-completion/bash/systemctl.in | 6 +++++- - shell-completion/bash/systemd-analyze | 6 +++++- - shell-completion/bash/systemd-run | 14 +++++++++++++- - shell-completion/bash/timedatectl | 6 +++++- - shell-completion/bash/udevadm | 6 +++++- - 11 files changed, 70 insertions(+), 11 deletions(-) - -Index: systemd-228/shell-completion/bash/coredumpctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/coredumpctl -+++ systemd-228/shell-completion/bash/coredumpctl -@@ -44,6 +44,10 @@ _coredumpctl() { - [DUMP]='dump gdb' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" '--output -o'; then - comps=$( compgen -A file -- "$cur" ) - compopt -o filenames -@@ -82,4 +86,4 @@ _coredumpctl() { - return 0 - } - --complete -F _coredumpctl coredumpctl -+complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd-228/shell-completion/bash/hostnamectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/hostnamectl -+++ systemd-228/shell-completion/bash/hostnamectl -@@ -30,6 +30,10 @@ _hostnamectl() { - local OPTS='-h --help --version --transient --static --pretty - --no-ask-password -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if [[ $cur = -* ]]; then - COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) - return 0 -@@ -61,4 +65,4 @@ _hostnamectl() { - return 0 - } - --complete -F _hostnamectl hostnamectl -+complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd-228/shell-completion/bash/journalctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/journalctl -+++ systemd-228/shell-completion/bash/journalctl -@@ -56,6 +56,10 @@ _journalctl() { - --root -M --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then - case $prev in - --boot|--this-boot|-b) -@@ -121,4 +125,4 @@ _journalctl() { - fi - } - --complete -F _journalctl journalctl -+complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd-228/shell-completion/bash/kernel-install -=================================================================== ---- systemd-228.orig/shell-completion/bash/kernel-install -+++ systemd-228/shell-completion/bash/kernel-install -@@ -18,11 +18,22 @@ - # You should have received a copy of the GNU Lesser General Public License - # along with systemd; If not, see . - -+__contains_word () { -+ local w word=$1; shift -+ for w in "$@"; do -+ [[ $w = "$word" ]] && return -+ done -+} -+ - _kernel_install() { - local comps - local MACHINE_ID - local cur=${COMP_WORDS[COMP_CWORD]} - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - case $COMP_CWORD in - 1) - comps="add remove" -@@ -47,4 +58,4 @@ _kernel_install() { - return 0 - } - --complete -F _kernel_install kernel-install -+complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd-228/shell-completion/bash/localectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/localectl -+++ systemd-228/shell-completion/bash/localectl -@@ -36,6 +36,10 @@ _localectl() { - local OPTS='-h --help --version --no-convert --no-pager --no-ask-password - -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" $OPTS; then - case $prev in - --host|-H) -@@ -89,4 +93,4 @@ _localectl() { - return 0 - } - --complete -F _localectl localectl -+complete -o default -o bashdefault -F _localectl localectl -Index: systemd-228/shell-completion/bash/loginctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/loginctl -+++ systemd-228/shell-completion/bash/loginctl -@@ -38,6 +38,10 @@ _loginctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" ${OPTS[ARG]}; then - case $prev in - --signal|-s) -@@ -107,4 +111,4 @@ _loginctl () { - return 0 - } - --complete -F _loginctl loginctl -+complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd-228/shell-completion/bash/systemctl.in -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemctl.in -+++ systemd-228/shell-completion/bash/systemctl.in -@@ -104,6 +104,10 @@ _systemctl () { - --preset-mode -n --lines -o --output -M --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "--user" ${COMP_WORDS[*]}; then - mode=--user - elif __contains_word "--global" ${COMP_WORDS[*]}; then -@@ -280,4 +284,4 @@ _systemctl () { - return 0 - } - --complete -F _systemctl systemctl -+complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd-228/shell-completion/bash/systemd-analyze -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-analyze -+++ systemd-228/shell-completion/bash/systemd-analyze -@@ -47,6 +47,10 @@ _systemd_analyze() { - [VERIFY]='verify' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - _init_completion || return - - for ((i=0; i < COMP_CWORD; i++)); do -@@ -114,4 +118,4 @@ _systemd_analyze() { - return 0 - } - --complete -F _systemd_analyze systemd-analyze -+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd-228/shell-completion/bash/systemd-run -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-run -+++ systemd-228/shell-completion/bash/systemd-run -@@ -17,6 +17,13 @@ - # You should have received a copy of the GNU Lesser General Public License - # along with systemd; If not, see . - -+__contains_word () { -+ local w word=$1; shift -+ for w in "$@"; do -+ [[ $w = "$word" ]] && return -+ done -+} -+ - __systemctl() { - local mode=$1; shift 1 - systemctl $mode --full --no-legend "$@" -@@ -40,6 +47,11 @@ _systemd_run() { - - local mode=--system - local i -+ -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - local opts_with_values=( - --unit --description --slice --service-type -H --host -M --machine -p --property --on-active - --on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property -@@ -114,4 +126,4 @@ _systemd_run() { - return 0 - } - --complete -F _systemd_run systemd-run -+complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd-228/shell-completion/bash/timedatectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/timedatectl -+++ systemd-228/shell-completion/bash/timedatectl -@@ -30,6 +30,10 @@ _timedatectl() { - local OPTS='-h --help --version --adjust-system-clock --no-pager - --no-ask-password -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" $OPTS; then - case $prev in - --host|-H) -@@ -73,4 +77,4 @@ _timedatectl() { - return 0 - } - --complete -F _timedatectl timedatectl -+complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd-228/shell-completion/bash/udevadm -=================================================================== ---- systemd-228.orig/shell-completion/bash/udevadm -+++ systemd-228/shell-completion/bash/udevadm -@@ -36,6 +36,10 @@ _udevadm() { - - local verbs=(info trigger settle control monitor hwdb test-builtin test) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - for ((i=0; i < COMP_CWORD; i++)); do - if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" && - ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then -@@ -94,4 +98,4 @@ _udevadm() { - return 0 - } - --complete -F _udevadm udevadm -+complete -o default -o bashdefault -F _udevadm udevadm diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch deleted file mode 100644 index cea9163a..00000000 --- a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Milasan -Date: Wed, 27 Jun 2012 08:55:59 +0000 -Subject: rules create by id scsi links for ATA devices - -Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) ---- - rules/60-persistent-storage.rules | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -36,6 +36,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", - KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" - KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - -+# scsi compat links for ATA devices -+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" -+ - # FireWire - KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" - KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch deleted file mode 100644 index 92bfef99..00000000 --- a/1003-udev-netlink-null-rules.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Robert Milasan -Date: Mon, 6 Aug 2012 13:35:34 +0000 -Subject: udev netlink null rules - -udevd race for netlink events (bnc#774646) ---- - src/udev/udevd.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/src/udev/udevd.c -=================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -917,6 +917,8 @@ static int on_uevent(sd_event_source *s, - dev = udev_monitor_receive_device(manager->monitor); - if (dev) { - udev_device_ensure_usec_initialized(dev, NULL); -+ if (manager->rules == NULL) -+ manager->rules = udev_rules_new(manager->udev, arg_resolve_names); - r = event_queue_insert(manager, dev); - if (r < 0) - udev_device_unref(dev); diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch deleted file mode 100644 index 868247ed..00000000 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Milasan -Date: Tue, 12 Feb 2013 09:16:23 +0000 -Subject: create default links for primary cd_dvd drive - -cdrom_id: created links for the default cd/dvd drive (bnc#783054). ---- - rules/60-cdrom_id.rules | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -Index: systemd-221/rules/60-cdrom_id.rules -=================================================================== ---- systemd-221.orig/rules/60-cdrom_id.rules -+++ systemd-221/rules/60-cdrom_id.rules -@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ - # stale mounts after ejecting - ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" - --KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" - - LABEL="cdrom_end" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch deleted file mode 100644 index 36bb93ba..00000000 --- a/1006-udev-always-rename-network.patch +++ /dev/null @@ -1,77 +0,0 @@ -From: Robert Milasan -Cc: Werner Fink -Subject: udev always rename network - -Date: Thu, 28 Mar 2013 09:24:43 +0000 -udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - -Date: Tue, 4 Mar 2014 10:29:21 +0000 -Port the patch of Robert to systemd v210 and test it out. - ---- - src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - - -Index: systemd-221/src/udev/udev-event.c -=================================================================== ---- systemd-221.orig/src/udev/udev-event.c -+++ systemd-221/src/udev/udev-event.c -@@ -796,20 +796,53 @@ out: - static int rename_netif(struct udev_event *event) { - struct udev_device *dev = event->dev; - char name[IFNAMSIZ]; -+ char interim[IFNAMSIZ], *ptr = &interim[0]; - const char *oldname; -- int r; -+ int r, loop; - - oldname = udev_device_get_sysname(dev); - - strscpy(name, IFNAMSIZ, event->name); - - r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); -- if (r < 0) -+ if (r == 0) { -+ log_info("renamed network interface %s to %s\n", oldname, name); -+ return r; -+ } else if (r != -EEXIST) { - return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name); -+ } - -- log_debug("renamed network interface '%s' to '%s'", oldname, name); -+ /* free our own name, another process may wait for us */ -+ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); - -- return 0; -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim); -+ if (r < 0) { -+ log_error("error changing net interface name %s to %s: %s", -+ oldname, interim, strerror(-r)); -+ return r; -+ } -+ -+ /* log temporary name */ -+ log_info("renamed network interface %s to %s\n", oldname, interim); -+ -+ loop = 90 * 20; -+ while (loop--) { -+ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; -+ nanosleep(&duration, NULL); -+ -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); -+ if (r == 0) { -+ log_info("renamed network interface %s to %s\n", interim, name); -+ break; -+ } -+ -+ if (r != -EEXIST) { -+ log_error("error changing net interface name %s to %s: %s", -+ interim, name, strerror(-r)); -+ break; -+ } -+ } -+ return r; - } - - void udev_event_execute_rules(struct udev_event *event, diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch deleted file mode 100644 index 5365f17c..00000000 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- - Makefile.am | 4 ++++ - rules/80-hotplug-cpu-mem.rules | 12 ++++++++++++ - 2 files changed, 16 insertions(+) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -3841,6 +3841,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/80-hotplug-cpu-mem.rules -+ -+# ------------------------------------------------------------------------------ - mtd_probe_SOURCES = \ - src/udev/mtd_probe/mtd_probe.c \ - src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-221/rules/80-hotplug-cpu-mem.rules -=================================================================== ---- /dev/null -+++ systemd-221/rules/80-hotplug-cpu-mem.rules -@@ -0,0 +1,12 @@ -+# do not edit this file, it will be overwritten on update -+ -+# Hotplug physical CPU -+SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ -+ ATTR{online}="1" -+ -+# Hotplug physical memory -+SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ -+ ATTR{state}="online", TAG+="tmpfs" -+ -+# -+TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" diff --git a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch deleted file mode 100644 index 9d5a39f0..00000000 --- a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 10 Apr 2014 11:10:41 +0200 -Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready - -If any devices are marked with 'SYSTEMD_READY=0' then -we shouldn't run any btrfs check on them. - ---- - rules/64-btrfs.rules | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/rules/64-btrfs.rules -=================================================================== ---- systemd-221.orig/rules/64-btrfs.rules -+++ systemd-221/rules/64-btrfs.rules -@@ -3,6 +3,7 @@ - SUBSYSTEM!="block", GOTO="btrfs_end" - ACTION=="remove", GOTO="btrfs_end" - ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" -+ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" - - # let the kernel know about this btrfs filesystem, and check if it is complete - IMPORT{builtin}="btrfs ready $devnode" diff --git a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch deleted file mode 100644 index c5bd4a13..00000000 --- a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 10 Apr 2014 11:14:20 +0200 -Subject: [PATCH 2/2] Skip persistent device link creation on multipath device - paths - -When a device is marked as a multipath device path by setting -DM_MULTIPATH_DEVICE_PATH="1" udev should not create any -persistent symlinks to that device. -Otherwise systemd will get confused about which device to use. - ---- - rules/60-persistent-storage.rules | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}! - # SCSI devices - KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" - KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" --KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" --KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" -+KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" -+KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - - # scsi compat links for ATA devices - KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -@@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!= - KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ - IMPORT{builtin}="blkid --noraid" - -+# Skip blkid on multipath device paths -+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" -+ - # probe filesystem metadata of disks - KERNEL!="sr*", IMPORT{builtin}="blkid" - diff --git a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch deleted file mode 100644 index 400cd94d..00000000 --- a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c9af1be90db5a29ac86605c67bc2bb4bc5780520 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 12 Jun 2014 12:25:03 +0200 -Subject: [PATCH] 99-systemd.rules: Ignore devices with 'SYSTEMD_READY=0' - -Whenever a rule sets 'SYSTEMD_READY=0' it tries to indicate -that systemd should ignore this device. So we should not -set the 'systemd' tag in these cases; otherwise systemd -will pick up the device. - -References: bnc#881942 - -Signed-off-by: Hannes Reinecke ---- - rules/99-systemd.rules.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/rules/99-systemd.rules.in -=================================================================== ---- systemd-221.orig/rules/99-systemd.rules.in -+++ systemd-221/rules/99-systemd.rules.in -@@ -10,6 +10,7 @@ ACTION=="remove", GOTO="systemd_end" - SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" - -+SUBSYSTEM=="block", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" - SUBSYSTEM=="block", TAG+="systemd" - SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" - diff --git a/1037-udev-exclude-cd-dvd-from-block-device.patch b/1037-udev-exclude-cd-dvd-from-block-device.patch deleted file mode 100644 index 2b001518..00000000 --- a/1037-udev-exclude-cd-dvd-from-block-device.patch +++ /dev/null @@ -1,20 +0,0 @@ -Exclude cd/dvd as well (bnc#882714) - ---- - src/udev/udevd.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/src/udev/udevd.c -=================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -1022,7 +1022,8 @@ static int synthesize_change(struct udev - - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && -- !startswith(udev_device_get_sysname(dev), "dm-")) { -+ !startswith(udev_device_get_sysname(dev), "dm-") && -+ !startswith(udev_device_get_sysname(dev), "sr")) { - bool part_table_read = false; - bool has_partitions = false; - int fd; diff --git a/1062-rules-set-default-permissions-for-GenWQE-devices.patch b/1062-rules-set-default-permissions-for-GenWQE-devices.patch deleted file mode 100644 index 80c434dc..00000000 --- a/1062-rules-set-default-permissions-for-GenWQE-devices.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - rules/50-udev-default.rules | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/rules/50-udev-default.rules -=================================================================== ---- systemd-221.orig/rules/50-udev-default.rules -+++ systemd-221/rules/50-udev-default.rules -@@ -74,4 +74,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st - - KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" - -+KERNEL=="genwqe*", MODE="0666" -+ - LABEL="default_end" diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch deleted file mode 100644 index 637c2be8..00000000 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ /dev/null @@ -1,175 +0,0 @@ -From: Jeff Mahoney -Subject: udev: add option to generate old 'buggy' serials -References: bnc#886852 - -Prior to udev 184, scsi_id would truncate the last character of the model -string when generating the ID_SERIAL value. If a system was installed -prior to that fix being available in udev, there may be configuration -information that refers to the truncated link. - -This patch adds a --truncated-serial option and a udev rule will created -the old truncated links. - -Signed-off-by: Jeff Mahoney ---- - rules/60-persistent-storage.rules | 4 ++++ - src/udev/scsi_id/scsi_id.c | 15 ++++++++++++++- - src/udev/scsi_id/scsi_id.h | 1 + - src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ - 4 files changed, 32 insertions(+), 7 deletions(-) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -40,6 +40,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par - KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" - KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" - -+# scsi compat links for ATA devices (for compatibility with udev < 184) -+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}" -+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n" -+ - # FireWire - KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" - KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" -Index: systemd-221/src/udev/scsi_id/scsi_id.c -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_id.c -+++ systemd-221/src/udev/scsi_id/scsi_id.c -@@ -43,6 +43,7 @@ static const struct option options[] = { - { "replace-whitespace", no_argument, NULL, 'u' }, - { "sg-version", required_argument, NULL, 's' }, - { "verbose", no_argument, NULL, 'v' }, -+ { "truncated-serial", no_argument, NULL, '9' }, - { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ - { "export", no_argument, NULL, 'x' }, - { "help", no_argument, NULL, 'h' }, -@@ -54,6 +55,7 @@ static bool dev_specified = false; - static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config"; - static enum page_code default_page_code = PAGE_UNSPECIFIED; - static int sg_version = 4; -+static bool compat_truncated = false; - static bool reformat_serial = false; - static bool export = false; - static char vendor_str[64]; -@@ -316,6 +318,7 @@ static void help(void) { - " -g --whitelisted Treat device as whitelisted\n" - " -u --replace-whitespace Replace all whitespace by underscores\n" - " -v --verbose Verbose logging\n" -+ " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" - " -x --export Print values as environment keys\n" - , program_invocation_short_name); - -@@ -387,6 +390,10 @@ static int set_options(struct udev *udev - log_open(); - break; - -+ case '9': -+ compat_truncated = true; -+ break; -+ - case 'V': - printf("%s\n", VERSION); - exit(0); -@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch - util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("ID_SERIAL=%s\n", serial_str); -+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); -+ util_replace_chars(serial_str, NULL); -+ printf("ID_SERIAL_COMPAT=%s\n", serial_str); - util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("ID_SERIAL_SHORT=%s\n", serial_str); -@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch - if (reformat_serial) { - char serial_str[MAX_SERIAL_LEN]; - -- util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); -+ if (compat_truncated) -+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); -+ else -+ util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("%s\n", serial_str); - goto out; -Index: systemd-221/src/udev/scsi_id/scsi_id.h -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_id.h -+++ systemd-221/src/udev/scsi_id/scsi_id.h -@@ -45,6 +45,7 @@ struct scsi_id_device { - char kernel[64]; - char serial[MAX_SERIAL_LEN]; - char serial_short[MAX_SERIAL_LEN]; -+ char serial_compat[MAX_SERIAL_LEN]; - int use_sg; - - /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ -Index: systemd-221/src/udev/scsi_id/scsi_serial.c -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_serial.c -+++ systemd-221/src/udev/scsi_id/scsi_serial.c -@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a - - static int do_scsi_page80_inquiry(struct udev *udev, - struct scsi_id_device *dev_scsi, int fd, -- char *serial, char *serial_short, int max_len); -+ char *serial, char *serial_short, -+ char *serial_compat, int max_len); - - static int sg_err_category_new(struct udev *udev, - int scsi_status, int msg_status, int -@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct - unsigned char page_83[SCSI_INQ_BUFF_LEN]; - - /* also pick up the page 80 serial number */ -- do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, MAX_SERIAL_LEN); -+ do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, NULL, MAX_SERIAL_LEN); - - memzero(page_83, SCSI_INQ_BUFF_LEN); - retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir - /* Get unit serial number VPD page */ - static int do_scsi_page80_inquiry(struct udev *udev, - struct scsi_id_device *dev_scsi, int fd, -- char *serial, char *serial_short, int max_len) -+ char *serial, char *serial_short, -+ char *serial_compat, int max_len) - { - int retval; - int ser_ind; -@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct - ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); - if (ser_ind < 0) - return 1; -+ if (serial_compat) -+ strcpy(serial_compat, serial); - ser_ind++; /* for the leading 'S' */ -- for (i = 4; i < len + 4; i++, ser_ind++) -+ for (i = 4; i < len + 4; i++, ser_ind++) { - serial[ser_ind] = buf[i]; -+ if (serial_compat) -+ serial_compat[ser_ind - 1] = buf[i]; -+ } - } - if (serial_short != NULL) { - memcpy(serial_short, &buf[4], len); -@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, - return 1; - - if (page_code == PAGE_80) { -- if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, len)) { -+ if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { - retval = 1; - goto completed; - } else { -@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, - for (ind = 4; ind <= page0[3] + 3; ind++) - if (page0[ind] == PAGE_80) - if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, -- dev_scsi->serial, dev_scsi->serial_short, len)) { -+ dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { - /* - * Success - */ diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch deleted file mode 100644 index 932ea747..00000000 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - Makefile.am | 1 + - rules/60-ssd-scheduler.rules | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -3501,6 +3501,7 @@ dist_udevrules_DATA += \ - rules/60-persistent-input.rules \ - rules/60-persistent-alsa.rules \ - rules/60-persistent-storage.rules \ -+ rules/60-ssd-scheduler.rules \ - rules/60-serial.rules \ - rules/64-btrfs.rules \ - rules/70-mouse.rules \ -Index: systemd-221/rules/60-ssd-scheduler.rules -=================================================================== ---- /dev/null -+++ systemd-221/rules/60-ssd-scheduler.rules -@@ -0,0 +1,11 @@ -+# do not edit this file, it will be overwritten on update -+ -+ACTION!="add", GOTO="ssd_scheduler_end" -+SUBSYSTEM!="block", GOTO="ssd_scheduler_end" -+ -+IMPORT{cmdline}="elevator" -+ENV{elevator}=="*?", GOTO="ssd_scheduler_end" -+ -+KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" -+ -+LABEL="ssd_scheduler_end" diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch deleted file mode 100644 index e6a0c0de..00000000 --- a/1096-new-udev-root-symlink-generator.patch +++ /dev/null @@ -1,108 +0,0 @@ ---- - Makefile.am | 19 +++++ - src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++ - units/systemd-udev-root-symlink.service | 10 ++ - units/systemd-udev-root-symlink.service.in | 10 ++ - 4 files changed, 96 insertions(+) - ---- systemd-222.orig/Makefile.am -+++ systemd-222/Makefile.am -@@ -3759,6 +3759,25 @@ EXTRA_DIST += \ - test/mocks/fsck - - # ------------------------------------------------------------------------------ -+rootsymlink_generator_SOURCES = \ -+ src/udev/rootsymlink_generator/rootsymlink_generator.c -+ -+rootsymlink_generator_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ rootsymlink-generator -+ -+nodist_systemunit_DATA += \ -+ units/systemd-udev-root-symlink.service -+ -+SYSINIT_TARGET_WANTS += \ -+ systemd-udev-root-symlink.service -+ -+EXTRA_DIST += \ -+ units/systemd-udev-root-symlink.service.in -+ -+# ------------------------------------------------------------------------------ - ata_id_SOURCES = \ - src/udev/ata_id/ata_id.c - ---- /dev/null -+++ systemd-222/src/udev/rootsymlink_generator/rootsymlink_generator.c -@@ -0,0 +1,57 @@ -+/* -+ * Copyright (C) 2014-2015 Robert Milasan -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define BUFFER_SIZE 128 -+ -+#define _ROOTDEV_ "/" -+#define _PATH_ "/run/udev/rules.d" -+#define _FILE_ "10-root-symlink.rules" -+ -+int main(void) -+{ -+ char filename[BUFFER_SIZE], buf[BUFFER_SIZE]; -+ struct stat statbuf; -+ int fd; -+ -+ if (stat(_ROOTDEV_, &statbuf) < 0) -+ return 1; -+ if (major(statbuf.st_dev) <= 0) -+ return 0; -+ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST) -+ return errno; -+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); -+ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644); -+ if (fd < 0) -+ return errno; -+ snprintf(buf, BUFFER_SIZE, -+ "ACTION==\"add|change\", SUBSYSTEM==\"block\", " -+ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", -+ major(statbuf.st_dev), minor(statbuf.st_dev)); -+ if (write(fd, buf, strlen(buf)) < 0) -+ return errno; -+ if (close(fd) < 0) -+ return errno; -+ return 0; -+} ---- /dev/null -+++ systemd-222/units/systemd-udev-root-symlink.service.in -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=@udevlibexecdir@/rootsymlink-generator diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch deleted file mode 100644 index f71c96a4..00000000 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-227/src/udev/udevd.c -=================================================================== ---- systemd-227.orig/src/udev/udevd.c -+++ systemd-227/src/udev/udevd.c -@@ -568,7 +568,7 @@ static void event_run(Manager *manager, - - if (hashmap_size(manager->workers) >= arg_children_max) { - if (arg_children_max > 1) -- log_debug("maximum number (%i) of children reached", hashmap_size(manager->workers)); -+ log_error("maximum number (%i) of children reached", hashmap_size(manager->workers)); - return; - } - -@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) { - arg_children_max = 8; - - if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) -- arg_children_max += CPU_COUNT(&cpu_set) * 2; -+ arg_children_max += CPU_COUNT(&cpu_set) * 64; - - log_debug("set children_max to %u", arg_children_max); - } diff --git a/1098-systemd-networkd-alias-network-service.patch b/1098-systemd-networkd-alias-network-service.patch deleted file mode 100644 index a3c666f4..00000000 --- a/1098-systemd-networkd-alias-network-service.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - units/systemd-networkd.service.m4.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/systemd-networkd.service.m4.in -=================================================================== ---- systemd-221.orig/units/systemd-networkd.service.m4.in -+++ systemd-221/units/systemd-networkd.service.m4.in -@@ -34,4 +34,5 @@ WatchdogSec=1min - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket diff --git a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch deleted file mode 100644 index 20cf7a81..00000000 --- a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index db206ae..803912c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -3524,6 +3524,7 @@ dist_udevrules_DATA += \ - rules/60-serial.rules \ - rules/64-btrfs.rules \ - rules/70-mouse.rules \ -+ rules/72-valve-steam-controler.rules \ - rules/75-net-description.rules \ - rules/78-sound-card.rules \ - rules/80-net-setup-link.rules -diff --git a/rules/72-valve-steam-controler.rules b/rules/72-valve-steam-controler.rules -new file mode 100644 -index 0000000..f676972 ---- /dev/null -+++ b/rules/72-valve-steam-controler.rules -@@ -0,0 +1,3 @@ -+SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", TAG+="uaccess" -+SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", TAG+="uaccess" -+KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess" --- -2.6.3 diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch deleted file mode 100644 index 43e686ca..00000000 --- a/Correct_assert_on_unexpected_error_code.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - src/login/pam_systemd.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: systemd-228/src/login/pam_systemd.c -=================================================================== ---- systemd-228.orig/src/login/pam_systemd.c -+++ systemd-228/src/login/pam_systemd.c -@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL); - if (r != PAM_SUCCESS) { - pam_syslog(handle, LOG_ERR, "Failed to install session fd."); -- safe_close(session_fd); -+ if (session_fd >= 0) { -+ PROTECT_ERRNO; -+ if (_unlikely_(!(close_nointr(session_fd) != -EBADF))) -+ pam_syslog(handle, LOG_ERR, "Unexpected error code on closing session fd: %m"); -+ } - return r; - } - } diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch deleted file mode 100644 index d780d327..00000000 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Frederic Crozat -Date: Wed, 7 Dec 2011 15:15:07 +0000 -Subject: Fix /run/lock directories permissions to follow openSUSE policy - -disable /var/lock/{subsys,lockdev} and change default permissions on -/var/lock (bnc#733523). ---- - tmpfiles.d/legacy.conf | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: systemd-221/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-221.orig/tmpfiles.d/legacy.conf -+++ systemd-221/tmpfiles.d/legacy.conf -@@ -10,13 +10,14 @@ - # These files are considered legacy and are unnecessary on legacy-free - # systems. - --d /run/lock 0755 root root - -+# changed for openSUSE: only /run/lock should be available. -+d /run/lock 0775 root lock - - L /var/lock - - - - ../run/lock - - # /run/lock/subsys is used for serializing SysV service execution, and - # hence without use on SysV-less systems. - --d /run/lock/subsys 0755 root root - -+#d /run/lock/subsys 0755 root root - - - # /run/lock/lockdev is used to serialize access to tty devices via - # LCK..xxx style lock files, For more information see: -@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root - - # On modern systems a BSD file lock is a better choice if - # serialization is needed on those devices. - --d /run/lock/lockdev 0775 root lock - -+#d /run/lock/lockdev 0775 root lock - - - # /forcefsck, /fastboot and /forcequotacheck are deprecated in favor of the - # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch deleted file mode 100644 index 8bc6e24f..00000000 --- a/allow-multiple-sulogin-to-be-started.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Frederic Crozat -Date: Thu, 10 Jan 2013 15:43:25 +0000 -Subject: allow multiple sulogin to be started - -allows multiple sulogin instance (bnc#793182). ---- - units/getty@.service.m4 | 1 + - units/rescue.target | 1 + - units/serial-getty@.service.m4 | 1 + - 3 files changed, 3 insertions(+) - -Index: systemd-221/units/getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/getty@.service.m4 -+++ systemd-221/units/getty@.service.m4 -@@ -9,6 +9,7 @@ - Description=Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - Documentation=http://0pointer.de/blog/projects/serial-console.html -+Conflicts=rescue.service - After=systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`HAVE_SYSV_COMPAT', - After=rc-local.service -Index: systemd-221/units/rescue.target -=================================================================== ---- systemd-221.orig/units/rescue.target -+++ systemd-221/units/rescue.target -@@ -10,6 +10,7 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service -+Conflicts=getty.target - AllowIsolate=yes - - [Install] -Index: systemd-221/units/serial-getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/serial-getty@.service.m4 -+++ systemd-221/units/serial-getty@.service.m4 -@@ -10,6 +10,7 @@ Description=Serial Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - Documentation=http://0pointer.de/blog/projects/serial-console.html - BindsTo=dev-%i.device -+Conflicts=rescue.service - After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`HAVE_SYSV_COMPAT', - After=rc-local.service diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch deleted file mode 100644 index 257c329b..00000000 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Ludwig Nussel -Date: Mon, 8 Apr 2013 14:51:47 +0200 -Subject: apply ACL for nvidia device nodes - -set ACL on nvidia devices (bnc#808319). ---- - src/login/logind-acl.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -Index: systemd-221/src/login/logind-acl.c -=================================================================== ---- systemd-221.orig/src/login/logind-acl.c -+++ systemd-221/src/login/logind-acl.c -@@ -285,5 +285,17 @@ int devnode_acl_all(struct udev *udev, - r = k; - } - -+ /* only apply ACL on nvidia* if /dev/nvidiactl exists */ -+ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int j; -+ for (j = 0; j <= 256 ; j++) { -+ _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) -+ break; -+ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) -+ break; -+ } -+ } -+ - return r; - } diff --git a/apply-ACL-for-nvidia-uvm-device-node.patch b/apply-ACL-for-nvidia-uvm-device-node.patch deleted file mode 100644 index 00a7c608..00000000 --- a/apply-ACL-for-nvidia-uvm-device-node.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c79437b7967cf5a23faa881bc5da6b88b63a1ada Mon Sep 17 00:00:00 2001 -From: Stefan Dirsch -Date: Tue, 3 Jun 2014 15:05:55 +0200 -Subject: [PATCH] apply ACL for nvidia-uvm device node - -set ACL on nvidia-uvm device (bnc#879767). ---- - src/login/logind-acl.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/src/login/logind-acl.c -=================================================================== ---- systemd-221.orig/src/login/logind-acl.c -+++ systemd-221/src/login/logind-acl.c -@@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev, - if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) - break; - } -+ /* required for additional CUDA support (nvidia-uvm module with appropriate device), bnc#879767 */ -+ devnode_acl("/dev/nvidia-uvm", flush, del, old_uid, add, new_uid); - } - - return r; diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch deleted file mode 100644 index 60e42c9e..00000000 --- a/avoid-divide-by-zero-sigtrap.patch +++ /dev/null @@ -1,34 +0,0 @@ -Nasty bug reported on boo#867663 - ---- - src/basic/def.h | 2 +- - src/core/manager.c | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-228/src/basic/def.h -=================================================================== ---- systemd-228.orig/src/basic/def.h -+++ systemd-228/src/basic/def.h -@@ -40,7 +40,7 @@ - - #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" - --#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT -+#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS - #define SIGNALS_IGNORE SIGPIPE - - #define REBOOT_PARAM_FILE "/run/systemd/reboot-param" -Index: systemd-228/src/core/manager.c -=================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog - assert(m); - assert(source); - -- manager_print_jobs_in_progress(m); -+ if (m->n_running_jobs > 0) -+ manager_print_jobs_in_progress(m); - - next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC; - r = sd_event_source_set_time(source, next); diff --git a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch deleted file mode 100644 index 45208124..00000000 --- a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch +++ /dev/null @@ -1,29 +0,0 @@ -Found this during debugging an other problem. The issue was that -after ``sudo -i'' and a ``cd /usr/lib/systemd/system/'' followed -later by a shutdown may fail with (journalctl -b -1): - - systemd-exit.service: Failed at step CHDIR spawning: /usr/bin/kill - -which then caused the subsequent fault that umounting the users -home directories done by automount are busy. - ---- - units/user/systemd-exit.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-221/units/user/systemd-exit.service.in -=================================================================== ---- systemd-221.orig/units/user/systemd-exit.service.in -+++ systemd-221/units/user/systemd-exit.service.in -@@ -10,8 +10,9 @@ Description=Exit the Session - Documentation=man:systemd.special(7) - DefaultDependencies=no - Requires=shutdown.target --After=shutdown.target -+After=shutdown.target multi-user.target - - [Service] - Type=oneshot --ExecStart=@KILL@ -s 58 $MANAGERPID -+WorkingDirectory=/ -+ExecStart=@KILL@ -s SIGRTMIN+24 $MANAGERPID diff --git a/boot-local-start.patch b/boot-local-start.patch deleted file mode 100644 index 67576b9f..00000000 --- a/boot-local-start.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - units/rc-local.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/units/rc-local.service.in -=================================================================== ---- systemd-221.orig/units/rc-local.service.in -+++ systemd-221/units/rc-local.service.in -@@ -10,7 +10,7 @@ - [Unit] - Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility - ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ --After=network.target -+After=basic.target - - [Service] - Type=forking diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch deleted file mode 100644 index eb2fa9a4..00000000 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Frederic Crozat -Cc: Werner Fink -Date: Wed, 24 Aug 2011 13:02:12 +0000 -Subject: ensure ask-password-wall starts after getty@tty1 - -ensure passphrase is handled before starting getty on tty1. - ---- - units/systemd-ask-password-wall.service.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/units/systemd-ask-password-wall.service.in -=================================================================== ---- systemd-221.orig/units/systemd-ask-password-wall.service.in -+++ systemd-221/units/systemd-ask-password-wall.service.in -@@ -8,7 +8,8 @@ - [Unit] - Description=Forward Password Requests to Wall - Documentation=man:systemd-ask-password-console.service(8) --After=systemd-user-sessions.service -+Wants=getty.target -+After=systemd-user-sessions.service getty.target - - [Service] - ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch deleted file mode 100644 index 7771f1c9..00000000 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Frederic Crozat -Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: ensure shortname is set as hostname (bnc#820213) - -strip hostname so the domain part isn't set as part of the hostname ---- - src/core/hostname-setup.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-221/src/core/hostname-setup.c -=================================================================== ---- systemd-221.orig/src/core/hostname-setup.c -+++ systemd-221/src/core/hostname-setup.c -@@ -34,6 +34,7 @@ int hostname_setup(void) { - int r; - _cleanup_free_ char *b = NULL; - const char *hn; -+ char *domain; - bool enoent = false; - - r = read_hostname_config("/etc/hostname", &b); -@@ -46,6 +47,9 @@ int hostname_setup(void) { - hn = NULL; - } else - hn = b; -+ /* strip any leftover of a domain name */ -+ if ((domain = strchr(hn, '.')) != NULL) -+ *domain = '\0'; - - if (isempty(hn)) { - /* Don't override the hostname if it is already set diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch deleted file mode 100644 index ded80983..00000000 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Frederic Crozat -Date: Thu, 23 Aug 2012 11:08:25 +0200 -Subject: fix support for boot prefixed initscript (bnc#746506) - ---- - src/systemctl/systemctl.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -Index: systemd-221/src/systemctl/systemctl.c -=================================================================== ---- systemd-221.orig/src/systemctl/systemctl.c -+++ systemd-221/src/systemctl/systemctl.c -@@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char - - p[strlen(p) - strlen(".service")] = 0; - found_sysv = access(p, F_OK) >= 0; -- if (!found_sysv) -+ if (!found_sysv) { -+#ifdef HAVE_SYSV_COMPAT -+ free(p); -+ p = NULL; -+ if (!isempty(arg_root)) -+ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); -+ else -+ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (!p) -+ return -ENOMEM; -+ p[strlen(p) - sizeof(".service") + 1] = 0; -+ found_sysv = access(p, F_OK) >= 0; -+ if (!found_sysv) -+ continue; -+#else - continue; -+#endif -+ } - - if (found_native) - log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch deleted file mode 100644 index d7c4477f..00000000 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ /dev/null @@ -1,216 +0,0 @@ -Original-From: Frederic Crozat -Original-Date: Fri, 19 Aug 2011 15:29:49 +0000 -Subject: handle disable_caplock and compose_table and kbd_rate -References: https://bugzilla.opensuse.org/746595 -Last-Editor: Jan Engelhardt -Date: Fri Jun 19 21:36:27 CEST 2015 - ---- - src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 147 insertions(+), 4 deletions(-) - -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -34,6 +34,8 @@ - #include "alloc-util.h" - #include "fd-util.h" - #include "fileio.h" -+#include "macro.h" -+#include "strv.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -104,8 +106,10 @@ static int enable_utf8(int fd) { - return r; - } - --static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) { -- const char *args[8]; -+static int keyboard_load_and_wait(const char *vc, const char *map, -+ const char *map_toggle, bool utf8, bool disable_capslock) -+{ -+ const char *args[9]; - int i = 0, r; - pid_t pid; - -@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const - args[i++] = map; - if (map_toggle) - args[i++] = map_toggle; -+ if (disable_capslock) -+ args[i++] = "disable.capslock"; - args[i++] = NULL; - - pid = fork(); -@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd) - } - } - -+#ifdef HAVE_SYSV_COMPAT -+static int compose_load_and_wait(const char *vc, const char *compose_table) -+{ -+ const char *args[1024]; -+ unsigned int i = 0, j = 0; -+ int ret; -+ pid_t pid; -+ char **strv_compose_table = NULL; -+ char *to_free[1024]; -+ -+ if (isempty(compose_table)) -+ /* An empty map means no compose table */ -+ return 1; -+ -+ args[i++] = KBD_LOADKEYS; -+ args[i++] = "-q"; -+ args[i++] = "-C"; -+ args[i++] = vc; -+ -+ strv_compose_table = strv_split(compose_table, WHITESPACE); -+ if (strv_compose_table) { -+ bool compose_loaded = false; -+ bool compose_clear = false; -+ char **name; -+ char *arg; -+ -+ STRV_FOREACH(name, strv_compose_table) { -+ if (streq(*name, "-c") || streq(*name, "clear")) { -+ compose_clear = true; -+ continue; -+ } -+ if (!compose_loaded && compose_clear) -+ args[i++] = "-c"; -+ asprintf(&arg, "compose.%s", *name); -+ compose_loaded = true; -+ args[i++] = to_free[j++] = arg; -+ if (i >= ELEMENTSOF(args) - 1) -+ break; -+ } -+ strv_free(strv_compose_table); -+ } -+ args[i++] = NULL; -+ -+ pid = fork(); -+ if (pid < 0) -+ return log_error_errno(errno, "Failed to fork: %m"); -+ if (pid == 0) { -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } -+ -+ ret = wait_for_terminate_and_warn(args[0], pid, true); -+ for (i = 0; i < j; ++i) -+ free(to_free[i]); -+ if (ret < 0) -+ return ret; -+ return ret == 0; -+} -+#endif -+ -+static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate, -+ const char *kbd_delay) -+{ -+ const char *args[7]; -+ int i = 0, ret; -+ pid_t pid; -+ -+ if (isempty(kbd_rate) && isempty(kbd_delay)) -+ return 1; -+ -+ args[i++] = "/bin/kbdrate"; -+ if (!isempty(kbd_rate)) { -+ args[i++] = "-r"; -+ args[i++] = kbd_rate; -+ } -+ if (!isempty(kbd_delay)) { -+ args[i++] = "-d"; -+ args[i++] = kbd_delay; -+ } -+ args[i++] = "-s"; -+ args[i++] = NULL; -+ -+ pid = fork(); -+ if (pid < 0) -+ return log_error_errno(errno, "Failed to fork: %m"); -+ if (pid == 0) { -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } -+ ret = wait_for_terminate_and_warn(args[0], pid, true); -+ if (ret < 0) -+ return ret; -+ return ret == 0; -+} -+ - int main(int argc, char **argv) { - const char *vc; - _cleanup_free_ char - *vc_keymap = NULL, *vc_keymap_toggle = NULL, - *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char -+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+#endif -+ bool disable_capslock = false; -+ bool comp_ok, rate_ok; - _cleanup_close_ int fd = -1; - bool utf8, font_copy = false, font_ok, keyboard_ok; - int r = EXIT_FAILURE; -@@ -286,6 +398,31 @@ int main(int argc, char **argv) { - - utf8 = is_locale_utf8(); - -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", -+ strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", -+ strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && -+ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#endif /* HAVE_SYSV_COMPAT */ -+ - r = parse_env_file("/etc/vconsole.conf", NEWLINE, - "KEYMAP", &vc_keymap, - "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -317,11 +454,17 @@ int main(int argc, char **argv) { - (void) disable_utf8(fd); - - font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; -- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0; -+ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, -+ utf8, disable_capslock) > 0; -+#ifdef HAVE_SYSV_COMPAT -+ comp_ok = compose_load_and_wait(vc, vc_compose_table); -+ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -+#endif - - /* Only copy the font when we executed setfont successfully */ - if (font_copy && font_ok) - (void) font_copy_to_all_vcs(fd); - -- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE; -+ return font_ok && keyboard_ok && comp_ok && rate_ok ? -+ EXIT_SUCCESS : EXIT_FAILURE; - } diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch deleted file mode 100644 index 54b0c303..00000000 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ /dev/null @@ -1,191 +0,0 @@ -Set NumLock according to /etc/sysconfig/keyboard. - -https://bugzilla.novell.com/show_bug.cgi?id=746595 - -Authors: -Stanislav Brabec -Cristian Rodríguez - ---- - Makefile.am | 13 ++++++++++ - rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 ++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++-- - units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 95 insertions(+), 3 deletions(-) - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \ - rules/60-persistent-v4l.rules - - # ------------------------------------------------------------------------------ -+numlock_on_SOURCES = \ -+ src/login/numlock-on.c -+ -+numlock_on_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ numlock-on -+ -+dist_udevrules_DATA += \ -+ rules/73-seat-numlock.rules -+ -+# ------------------------------------------------------------------------------ - mtd_probe_SOURCES = \ - src/udev/mtd_probe/mtd_probe.c \ - src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-228/rules/73-seat-numlock.rules -=================================================================== ---- /dev/null -+++ systemd-228/rules/73-seat-numlock.rules -@@ -0,0 +1,8 @@ -+# This file is part of SUSE customization of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-228/src/login/numlock-on.c -=================================================================== ---- /dev/null -+++ systemd-228/src/login/numlock-on.c -@@ -0,0 +1,34 @@ -+/* -+ * numlock-on.c: Turn numlock-on -+ * -+ * This file may be freely copied under the terms of the GNU General -+ * Public License (GPL), version 2, or at your option any later -+ * version. -+ -+ * Copyright (C) 2013 Stanislav Brabec, SUSE -+ * -+ * based on setleds.c, which is -+ * Copyright (C) 1994-1999 Andries E. Brouwer -+ */ -+ -+#include -+#include -+#include -+#include -+ -+int -+main(int argc, char **argv) { -+ char flags; -+ -+ if (ioctl(0, KDGKBLED, &flags)) { -+ perror("KDGKBLED"); -+ exit(1); -+ } -+ -+ if (ioctl(0, KDSKBLED, flags | LED_NUM | (LED_NUM << 4))) { -+ perror("KDSKBLED"); -+ exit(1); -+ } -+ -+ exit(0); -+} -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -36,6 +36,7 @@ - #include "fileio.h" - #include "macro.h" - #include "strv.h" -+#include "fs-util.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -46,6 +47,10 @@ - #include "util.h" - #include "virt.h" - -+#define BIOS_DATA_AREA 0x400 -+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 -+#define BDA_KSF4_NUMLOCK_MASK 0x02 -+ - static bool is_vconsole(int fd) { - unsigned char data[1]; - -@@ -364,9 +369,10 @@ int main(int argc, char **argv) { - #ifdef HAVE_SYSV_COMPAT - _cleanup_free_ char - *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, -+ *vc_kbd_numlock = NULL; - #endif -- bool disable_capslock = false; -+ bool disable_capslock = false, numlock = false; - bool comp_ok, rate_ok; - _cleanup_close_ int fd = -1; - bool utf8, font_copy = false, font_ok, keyboard_ok; -@@ -404,6 +410,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -421,6 +428,30 @@ int main(int argc, char **argv) { - - disable_capslock = vc_kbd_disable_caps_lock && - strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -+#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ errno = 0; -+ fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) -+ goto finish; -+ -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) -+ goto finish; -+ -+ if (read(fdmem, &c, sizeof(char)) == -1) -+ goto finish; -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ finish: -+ if (errno) -+ log_warning_errno(errno, "Failed to read /dev/mem: %m"); -+ } -+#endif /* x86 */ - #endif /* HAVE_SYSV_COMPAT */ - - r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +487,10 @@ int main(int argc, char **argv) { - font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; - keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, - utf8, disable_capslock) > 0; -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - #ifdef HAVE_SYSV_COMPAT - comp_ok = compose_load_and_wait(vc, vc_compose_table); - rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -Index: systemd-228/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-228.orig/units/systemd-vconsole-setup.service.in -+++ systemd-228/units/systemd-vconsole-setup.service.in -@@ -10,7 +10,7 @@ Description=Setup Virtual Console - Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) - DefaultDependencies=no - Conflicts=shutdown.target --Before=sysinit.target shutdown.target -+Before=sysinit.target shutdown.target systemd-udev-trigger.service - ConditionPathExists=/dev/tty0 - - [Service] diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch deleted file mode 100644 index 118f333d..00000000 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ /dev/null @@ -1,72 +0,0 @@ -From: Frederic Crozat -Date: Tue, 4 Dec 2012 16:51:32 +0000 -Subject: handle root_uses_lang value in /etc/sysconfig/language - -handle ROOT_USES_LANG=ctype (boo#792182). ---- - src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -Index: systemd-228/src/core/locale-setup.c -=================================================================== ---- systemd-228.orig/src/core/locale-setup.c -+++ systemd-228/src/core/locale-setup.c -@@ -30,11 +30,16 @@ - #include "strv.h" - #include "util.h" - #include "virt.h" -+#include "alloc-util.h" - - int locale_setup(char ***environment) { - char **add; - char *variables[_VARIABLE_LC_MAX] = {}; - int r = 0, i; -+#ifdef HAVE_SYSV_COMPAT -+ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL; -+ char _cleanup_free_ *root_uses_lang = NULL; -+#endif - - if (detect_container() <= 0) { - r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -81,6 +86,41 @@ int locale_setup(char ***environment) { - if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); - } -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/language", NEWLINE, -+ "RC_LANG", &rc_lang, -+ "RC_LC_CTYPE", &rc_lc_ctype, -+ "ROOT_USES_LANG", &root_uses_lang, -+ NULL); -+ -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); -+ -+ /* -+ * Use the values of the interactive locale configuration in /etc/sysconfig/language -+ * as fallback if /etc/locale.conf does not exist and no locale was specified on the -+ * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE -+ * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been -+ * set in /etc/locale.conf and on the kernel's command line. -+ */ -+ if (root_uses_lang) { -+ if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) { -+ variables[VARIABLE_LANG] = rc_lang; -+ rc_lang = NULL; -+ } -+ if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) { -+ if (variables[VARIABLE_LANG]) -+ variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]); -+ else if (rc_lc_ctype && *rc_lc_ctype) { -+ variables[VARIABLE_LC_CTYPE] = rc_lc_ctype; -+ rc_lc_ctype = NULL; -+ } else if (rc_lang && *rc_lang) { -+ variables[VARIABLE_LC_CTYPE] = rc_lang; -+ rc_lang = NULL; -+ } -+ } -+ } -+#endif - - add = NULL; - for (i = 0; i < _VARIABLE_LC_MAX; i++) { diff --git a/hostname-NULL.patch b/hostname-NULL.patch deleted file mode 100644 index ccd9133c..00000000 --- a/hostname-NULL.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-222/src/core/hostname-setup.c -=================================================================== ---- systemd-222.orig/src/core/hostname-setup.c -+++ systemd-222/src/core/hostname-setup.c -@@ -44,7 +44,7 @@ int hostname_setup(void) { - else - log_warning_errno(r, "Failed to read configured hostname: %m"); - -- hn = NULL; -+ hn = strdup("nohostname.set.site"); - } else - hn = b; - /* strip any leftover of a domain name */ diff --git a/insserv-generator.patch b/insserv-generator.patch deleted file mode 100644 index 833d0d66..00000000 --- a/insserv-generator.patch +++ /dev/null @@ -1,399 +0,0 @@ -From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 28 Jun 2013 17:54:41 +0200 -Subject: [PATCH] insserv.conf generator - -parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate -systemd unit drop-in files to add dependencies ---- - Makefile.am | 9 - src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++ - 3 files changed, 355 insertions(+), 1 deletion(-) - create mode 100644 src/insserv-generator/Makefile - create mode 100644 src/insserv-generator/insserv-generator.c - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \ - - systemgenerator_PROGRAMS += \ - systemd-sysv-generator \ -- systemd-rc-local-generator -+ systemd-rc-local-generator \ -+ systemd-insserv-generator - endif - - EXTRA_DIST += \ -@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib) - endif - endif - -+#------------------------------------------------------------------------------- -+systemd_insserv_generator_SOURCES = \ -+ src/insserv-generator/insserv-generator.c -+ -+systemd_insserv_generator_LDADD = libbasic.la -+ - # ------------------------------------------------------------------------------ - stub_headers = \ - src/boot/efi/util.h \ -Index: systemd-228/src/insserv-generator/Makefile -=================================================================== ---- /dev/null -+++ systemd-228/src/insserv-generator/Makefile -@@ -0,0 +1,28 @@ -+# This file is part of systemd. -+# -+# Copyright 2010 Lennart Poettering -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+# -+# systemd is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public License -+# along with systemd; If not, see . -+ -+# This file is a dirty trick to simplify compilation from within -+# emacs. This file is not intended to be distributed. So, don't touch -+# it, even better ignore it! -+ -+all: -+ $(MAKE) -C .. -+ -+clean: -+ $(MAKE) -C .. clean -+ -+.PHONY: all clean -Index: systemd-228/src/insserv-generator/insserv-generator.c -=================================================================== ---- /dev/null -+++ systemd-228/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,319 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2012 Lennart Poettering -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+ ***/ -+ -+#include -+#include -+#include -+#include -+ -+#include "mkdir.h" -+#include "log.h" -+#include "fileio.h" -+#include "unit-name.h" -+#include "special.h" -+#include "path-util.h" -+#include "util.h" -+#include "strv.h" -+#include "alloc-util.h" -+#include "string-util.h" -+#include "fd-util.h" -+ -+static const char *arg_dest = "/tmp"; -+ -+static char *sysv_translate_name(const char *name) { -+ char *r; -+ -+ r = new(char, strlen(name) + sizeof(".service")); -+ if (!r) -+ return NULL; -+ -+ if (endswith(name, ".sh")) -+ /* Drop .sh suffix */ -+ strcpy(stpcpy(r, name) - 3, ".service"); -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ strcpy(stpcpy(r, name + 5), ".service"); -+ else -+ /* Normal init script name */ -+ strcpy(stpcpy(r, name), ".service"); -+ -+ return r; -+} -+ -+static int sysv_translate_facility(const char *name, const char *filename, char **_r) { -+ -+ /* We silently ignore the $ prefix here. According to the LSB -+ * spec it simply indicates whether something is a -+ * standardized name or a distribution-specific one. Since we -+ * just follow what already exists and do not introduce new -+ * uses or names we don't care who introduced a new name. */ -+ -+ static const char * const table[] = { -+ /* LSB defined facilities */ -+ "local_fs", NULL, -+ "network", SPECIAL_NETWORK_ONLINE_TARGET, -+ "named", SPECIAL_NSS_LOOKUP_TARGET, -+ "portmap", SPECIAL_RPCBIND_TARGET, -+ "remote_fs", SPECIAL_REMOTE_FS_TARGET, -+ "syslog", NULL, -+ "time", SPECIAL_TIME_SYNC_TARGET, -+ }; -+ -+ unsigned i; -+ char *r; -+ const char *n; -+ int ret; -+ -+ assert(name); -+ assert(_r); -+ -+ n = *name == '$' ? name + 1 : name; -+ -+ for (i = 0; i < ELEMENTSOF(table); i += 2) { -+ -+ if (!streq(table[i], n)) -+ continue; -+ -+ if (!table[i+1]) -+ return 0; -+ -+ r = strdup(table[i+1]); -+ if (!r) -+ return log_oom(); -+ -+ goto finish; -+ } -+ -+ /* If we don't know this name, fallback heuristics to figure -+ * out whether something is a target or a service alias. */ -+ -+ if (*name == '$') { -+ if (!unit_prefix_is_valid(n)) -+ return -EINVAL; -+ -+ /* Facilities starting with $ are most likely targets */ -+ ret = unit_name_build(n, NULL, ".target", &r); -+ if (ret < 0) -+ return ret; -+ } else if (filename && streq(name, filename)) -+ /* Names equaling the file name of the services are redundant */ -+ return 0; -+ else -+ /* Everything else we assume to be normal service names */ -+ r = sysv_translate_name(n); -+ -+ if (!r) -+ return -ENOMEM; -+ -+finish: -+ *_r = r; -+ -+ return 1; -+} -+ -+ -+ -+static int parse_insserv_conf(const char* filename) { -+ _cleanup_fclose_ FILE *f = NULL; -+ int r; -+ -+ if (!(f = fopen(filename, "re"))) { -+ log_debug("Failed to open file %s", filename); -+ r = errno == ENOENT ? 0 : -errno; -+ return r; -+ } -+ -+ while (!feof(f)) { -+ char l[LINE_MAX], *t; -+ _cleanup_strv_free_ char **parsed = NULL; -+ -+ if (!fgets(l, sizeof(l), f)) { -+ if (feof(f)) -+ break; -+ -+ r = -errno; -+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -+ return -r; -+ } -+ -+ t = strstrip(l); -+ if (*t != '$' && *t != '<') -+ continue; -+ -+ parsed = strv_split(t,WHITESPACE); -+ /* we ignore , not used, equivalent to X-Interactive */ -+ if (parsed && !startswith_no_case (parsed[0], "")) { -+ _cleanup_free_ char *facility = NULL; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) -+ continue; -+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -+ _cleanup_free_ char *unit = NULL; -+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ r = write_string_file(unit, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "Wants=remote-fs-pre.target\n", -+ WRITE_STRING_FILE_CREATE); -+ if (r) -+ return r; -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -+ } -+ if (facility && endswith(facility, ".target")) { -+ char *name, **j; -+ FILE *file = NULL; -+ -+ STRV_FOREACH (j, parsed+1) { -+ _cleanup_free_ char *unit = NULL; -+ _cleanup_free_ char *dep = NULL; -+ -+ if (*j[0] == '+') -+ name = *j+1; -+ else -+ name = *j; -+ if (streq(name, "boot.localfs") || -+ streq(name, "boot.crypto")) -+ continue; -+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -+ continue; -+ -+ unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ file = fopen(unit, "wxe"); -+ if (!file) { -+ if (errno == EEXIST) -+ log_error("Failed to create drop-in file %s", unit); -+ else -+ log_error("Failed to create drop-in file %s: %m", unit); -+ return -errno; -+ } -+ -+ fprintf(file, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "Wants=%s\n" -+ "Before=%s\n", -+ facility, facility); -+ -+ fflush(file); -+ if (ferror(file)) { -+ log_error("Failed to write unit file %s: %m", unit); -+ return -errno; -+ } -+ fclose(file); -+ -+ if (*j[0] != '+') { -+ free (unit); -+ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ file = fopen(unit, "wxe"); -+ if (!file) { -+ if (errno == EEXIST) -+ log_error("Failed to create drop-in file %s, as it already exists", unit); -+ else -+ log_error("Failed to create drop-in file %s: %m", unit); -+ return -errno; -+ } -+ -+ -+ fprintf(file, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "SourcePath=%s\n" -+ "Requires=%s\n", -+ filename, dep); -+ fflush(file); -+ if (ferror(file)) { -+ log_error("Failed to write unit file %s: %m", unit); -+ return -errno; -+ } -+ fclose(file); -+ } -+ } -+ } -+ } -+ } -+ return r; -+} -+ -+static int parse_insserv(void) { -+ DIR *d = NULL; -+ struct dirent *de; -+ int r = 0; -+ -+ if (!(d = opendir("/etc/insserv.conf.d/"))) { -+ if (errno != ENOENT) { -+ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -+ } -+ } else { -+ -+ while ((de = readdir(d))) { -+ char *path = NULL; -+ if (hidden_file(de->d_name)) -+ continue; -+ -+ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); -+ parse_insserv_conf(path); -+ free(path); -+ } -+ closedir (d); -+ } -+ -+ r = parse_insserv_conf("/etc/insserv.conf"); -+ -+ return r; -+} -+ -+int main(int argc, char *argv[]) { -+ int r = 0; -+ -+ if (argc > 1 && argc != 4) { -+ log_error("This program takes three or no arguments."); -+ return EXIT_FAILURE; -+ } -+ -+ if (argc > 1) -+ arg_dest = argv[1]; -+ -+ log_set_target(LOG_TARGET_SAFE); -+ log_parse_environment(); -+ log_open(); -+ -+ umask(0022); -+ -+ r = parse_insserv(); -+ -+ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; -+} diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch deleted file mode 100644 index 46a3e446..00000000 --- a/journald-advice-about-use-of-memory.patch +++ /dev/null @@ -1,138 +0,0 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Notes [jengelh@inai.de]: -MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render -MAP_POPULATE ineffective. Why do we have it? -What is the rationale for MAP_STACK? ---- - src/journal/catalog.c | 12 +++++++++++- - src/journal/journal-authenticate.c | 7 +++++-- - src/journal/journald-kmsg.c | 3 ++- - src/journal/mmap-cache.c | 16 +++++++++++++++- - 4 files changed, 33 insertions(+), 5 deletions(-) - -Index: systemd-221/src/journal/catalog.c -=================================================================== ---- systemd-221.orig/src/journal/catalog.c -+++ systemd-221/src/journal/catalog.c -@@ -469,6 +469,10 @@ finish: - - static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { - const CatalogHeader *h; -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; -+ unsigned int n; -+ size_t psize; - int fd; - void *p; - struct stat st; -@@ -491,12 +495,18 @@ static int open_mmap(const char *databas - return -EINVAL; - } - -- p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); -+ psize = PAGE_ALIGN(st.st_size); -+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, 0); - if (p == MAP_FAILED) { - safe_close(fd); - return -errno; - } - -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) -+ if (madvise(p, psize, advice[n]) < 0) -+ log_warning("Failed to give advice about use of memory: %m"); -+ - h = p; - if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || - le64toh(h->header_size) < sizeof(CatalogHeader) || -Index: systemd-221/src/journal/journal-authenticate.c -=================================================================== ---- systemd-221.orig/src/journal/journal-authenticate.c -+++ systemd-221/src/journal/journal-authenticate.c -@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f - goto finish; - } - -- m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); -+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, -+ MAP_SHARED | MAP_STACK, fd, 0); - if (m == MAP_FAILED) { - m = NULL; - r = -errno; -@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f - goto finish; - } - -- f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), -+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK, -+ fd, 0); - if (f->fss_file == MAP_FAILED) { - f->fss_file = NULL; - r = -errno; -Index: systemd-221/src/journal/journald-kmsg.c -=================================================================== ---- systemd-221.orig/src/journal/journald-kmsg.c -+++ systemd-221/src/journal/journald-kmsg.c -@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) - return 0; - } - -- p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE, -+ MAP_SHARED | MAP_STACK, fd, 0); - if (p == MAP_FAILED) { - log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); - return 0; -Index: systemd-221/src/journal/mmap-cache.c -=================================================================== ---- systemd-221.orig/src/journal/mmap-cache.c -+++ systemd-221/src/journal/mmap-cache.c -@@ -466,11 +466,14 @@ static int add_mmap( - struct stat *st, - void **ret) { - -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; - uint64_t woffset, wsize; - Context *c; - FileDescriptor *f; - Window *w; - void *d; -+ unsigned int n; - int r; - - assert(m); -@@ -509,7 +512,8 @@ static int add_mmap( - } - - for (;;) { -- d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); -+ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, woffset); - if (d != MAP_FAILED) - break; - if (errno != ENOMEM) -@@ -522,6 +526,16 @@ static int add_mmap( - return -ENOMEM; - } - -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) { -+ if (advice[n] == MADV_DONTFORK) { -+ int flags = fcntl(fd, F_GETFD); -+ if (flags < 0 || !(flags & FD_CLOEXEC)) -+ continue; -+ } -+ if (madvise(d, wsize, advice[n]) < 0) -+ log_warning("Failed to give advice about use of memory: %m"); -+ } -+ - c = context_add(m, context); - if (!c) - goto outofmem; diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy new file mode 100644 index 00000000..6c497f42 --- /dev/null +++ b/kbd-model-map.legacy @@ -0,0 +1,10 @@ +# Additional layouts offered by YaST +Pl02 pl pc105 - terminate:ctrl_alt_bksp +arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle +cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp +cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle +es-cp850 es pc105 - terminate:ctrl_alt_bksp +korean kr pc105 - terminate:ctrl_alt_bksp +lt.std lt pc105 std terminate:ctrl_alt_bksp +no-latin1 no pc105 - terminate:ctrl_alt_bksp +ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll diff --git a/kbd-model-map.patch b/kbd-model-map.patch deleted file mode 100644 index f45b0874..00000000 --- a/kbd-model-map.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: werner@suse.de -Date: Tue Jan 20 11:33:59 UTC 2015 - ---- - src/locale/kbd-model-map | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: systemd-221/src/locale/kbd-model-map -=================================================================== ---- systemd-221.orig/src/locale/kbd-model-map -+++ systemd-221/src/locale/kbd-model-map -@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a - lt.l4 lt pc105 - terminate:ctrl_alt_bksp - lt lt pc105 - terminate:ctrl_alt_bksp - khmer kh,us pc105 - terminate:ctrl_alt_bksp -+# Additional layouts offered by YaST -+Pl02 pl pc105 - terminate:ctrl_alt_bksp -+arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle -+cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp -+cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle -+es-cp850 es pc105 - terminate:ctrl_alt_bksp -+khmer us,kh pc105 - terminate:ctrl_alt_bksp,grp:alt_shift_toggle -+korean kr pc105 - terminate:ctrl_alt_bksp -+lt.baltic lt pc105 - terminate:ctrl_alt_bksp -+lt.std lt pc105 std terminate:ctrl_alt_bksp -+no-latin1 no pc105 - terminate:ctrl_alt_bksp -+ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll -+sk-qwertz sk,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch deleted file mode 100644 index 274d103c..00000000 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - configure.ac | 4 ---- - 1 file changed, 4 deletions(-) - -Index: systemd-224/configure.ac -=================================================================== ---- systemd-224.orig/configure.ac -+++ systemd-224/configure.ac -@@ -199,10 +199,6 @@ AS_CASE([$CC], [*clang*], - -Wno-gnu-variable-sized-type-not-at-end \ - ])]) - --AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], -- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto])], -- [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") - - AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch deleted file mode 100644 index 22c45e4d..00000000 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ /dev/null @@ -1,84 +0,0 @@ -From: Werner Fink -Date: Wed Sep 23 12:37:23 UTC 2015 -Subject: Do not bother vistual console to much with GIO/PIO - -This avoids broken virtual console mapping due stressed ioctl API -for the virtual consoles (boo#904214) - ---- - src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- - 1 file changed, 25 insertions(+), 14 deletions(-) - ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 -@@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) - unsigned short map16[E_TABSZ]; - struct unimapdesc unimapd; - struct unipair unipairs[USHRT_MAX]; -+ struct console_font_op cfo = {}; - int i, r; - -+ bool hasmap8; -+ bool hasmap16; -+ bool hasunimap; -+ - /* get active, and 16 bit mask of used VT numbers */ - r = ioctl(fd, VT_GETSTATE, &vcs); - if (r < 0) { -@@ -211,10 +216,22 @@ static void font_copy_to_all_vcs(int fd) - return; - } - -+ /* copy font from active VT, where the font was uploaded to */ -+ cfo.op = KD_FONT_OP_COPY; -+ cfo.height = vcs.v_active-1; /* tty1 == index 0 */ -+ -+ hasmap8 = (ioctl(fd, GIO_SCRNMAP, map8) >= 0); -+ hasmap16 = (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0); -+ -+ /* unimapd is a ushort count and a pointer to an -+ * array of struct unipair { ushort, ushort } */ -+ unimapd.entries = unipairs; -+ unimapd.entry_ct = USHRT_MAX; -+ hasunimap = (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0); -+ - for (i = 1; i <= 15; i++) { - char vcname[strlen("/dev/vcs") + DECIMAL_STR_MAX(int)]; - _cleanup_close_ int vcfd = -1; -- struct console_font_op cfo = {}; - - if (i == vcs.v_active) - continue; -@@ -229,25 +246,19 @@ static void font_copy_to_all_vcs(int fd) - if (vcfd < 0) - continue; - -- /* copy font from active VT, where the font was uploaded to */ -- cfo.op = KD_FONT_OP_COPY; -- cfo.height = vcs.v_active-1; /* tty1 == index 0 */ -+ /* copy font from active VT to vcs */ - (void) ioctl(vcfd, KDFONTOP, &cfo); - -- /* copy map of 8bit chars */ -- if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) -+ /* copy map of 8bit chars to vcs */ -+ if (hasmap8) - (void) ioctl(vcfd, PIO_SCRNMAP, map8); - -- /* copy map of 8bit chars -> 16bit Unicode values */ -- if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) -+ /* copy map of 8bit chars -> 16bit Unicode values to vcs */ -+ if (hasmap16) - (void) ioctl(vcfd, PIO_UNISCRNMAP, map16); - -- /* copy unicode translation table */ -- /* unimapd is a ushort count and a pointer to an -- array of struct unipair { ushort, ushort } */ -- unimapd.entries = unipairs; -- unimapd.entry_ct = USHRT_MAX; -- if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { -+ /* copy unicode translation table to vcs */ -+ if (hasunimap) { - struct unimapinit adv = { 0, 0, 0 }; - - (void) ioctl(vcfd, PIO_UNIMAPCLR, &adv); diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch deleted file mode 100644 index 808fc9a2..00000000 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ /dev/null @@ -1,25 +0,0 @@ -If after emergency service had been started there is incoming -traffic on syslog.socket emergency.service gets killed due to -implicit dependencies on basic.target => sysinit.target which in -turn conflict with emergency.target. - -As a workaround explicitly stop syslog.socket when entering -emergency.service. - -Reference: bnc#852232 ---- - units/emergency.service.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/emergency.service.in -=================================================================== ---- systemd-221.orig/units/emergency.service.in -+++ systemd-221/units/emergency.service.in -@@ -11,6 +11,7 @@ Documentation=man:sulogin(8) - DefaultDependencies=no - Conflicts=shutdown.target - Conflicts=rescue.service -+Conflicts=syslog.socket - Before=shutdown.target - - [Service] diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch deleted file mode 100644 index cd65edec..00000000 --- a/parse-crypttab-for-noauto-option.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- - src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- - 1 file changed, 44 insertions(+), 1 deletion(-) - -Index: systemd-221/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-221.orig/src/fstab-generator/fstab-generator.c -+++ systemd-221/src/fstab-generator/fstab-generator.c -@@ -47,6 +47,49 @@ static char *arg_usr_what = NULL; - static char *arg_usr_fstype = NULL; - static char *arg_usr_options = NULL; - -+static int check_crypttab(const char *what) { -+ _cleanup_fclose_ FILE *f = NULL; -+ unsigned n = 0; -+ -+ f = fopen("/etc/crypttab", "re"); -+ if (!f) { -+ if (errno != ENOENT) -+ log_error("Failed to open /etc/crypttab: %m"); -+ -+ return 1; -+ } -+ -+ -+ for (;;) { -+ char line[LINE_MAX], *l; -+ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL; -+ int k; -+ -+ if (!fgets(line, sizeof(line), f)) -+ break; -+ -+ n++; -+ -+ l = strstrip(line); -+ if (*l == '#' || *l == 0) -+ continue; -+ -+ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options); -+ if (k < 2 || k > 4) { -+ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n); -+ continue; -+ } -+ -+ if (strcmp((what + 12), name) == 0) { -+ if (options && strstr(options, "noauto")) -+ return 0; -+ -+ return 1; -+ } -+ } -+ return 1; -+} -+ - static int add_swap( - const char *what, - struct mntent *me, -@@ -108,7 +151,7 @@ static int add_swap( - if (r < 0) - return r; - -- if (!noauto) { -+ if (!noauto && check_crypttab(what) != 0) { - lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET, - nofail ? ".wants/" : ".requires/", name, NULL); - if (!lnk) diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch deleted file mode 100644 index 331034ec..00000000 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- - units/console-shell.service.m4.in | 2 ++ - units/emergency.service.in | 2 +- - units/rescue.service.in | 3 ++- - 3 files changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-224/units/console-shell.service.m4.in -=================================================================== ---- systemd-224.orig/units/console-shell.service.m4.in -+++ systemd-224/units/console-shell.service.m4.in -@@ -17,6 +17,8 @@ Before=getty.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStart=-@SULOGIN@ - ExecStopPost=-@SYSTEMCTL@ poweroff - Type=idle -Index: systemd-224/units/emergency.service.in -=================================================================== ---- systemd-224.orig/units/emergency.service.in -+++ systemd-224/units/emergency.service.in -@@ -17,7 +17,7 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth --wait quit -+ExecStartPre=-/usr/bin/plymouth --wait quit - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" - Type=idle -Index: systemd-224/units/rescue.service.in -=================================================================== ---- systemd-224.orig/units/rescue.service.in -+++ systemd-224/units/rescue.service.in -@@ -16,7 +16,8 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" - Type=idle diff --git a/portmap-wants-rpcbind-socket.patch b/portmap-wants-rpcbind-socket.patch deleted file mode 100644 index 77fb2871..00000000 --- a/portmap-wants-rpcbind-socket.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- - units/rpcbind.target | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/rpcbind.target -=================================================================== ---- systemd-221.orig/units/rpcbind.target -+++ systemd-221/units/rpcbind.target -@@ -12,3 +12,4 @@ - Description=RPC Port Mapper - Documentation=man:systemd.special(7) - RefuseManualStart=yes -+Wants=rpcbind.socket diff --git a/pre_checkin.sh b/pre_checkin.sh index 80ae3ad6..c033554d 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -7,8 +7,7 @@ ORIG_SPEC=systemd EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; - s/^\(Name:.*\)$/\1-mini/; - s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ + s/^Name:.*/&-mini/ " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc diff --git a/rescue-emergency-target-conflicts.patch b/rescue-emergency-target-conflicts.patch deleted file mode 100644 index a02e7ed3..00000000 --- a/rescue-emergency-target-conflicts.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - units/emergency.target | 1 + - units/rescue.target | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-221/units/emergency.target -=================================================================== ---- systemd-221.orig/units/emergency.target -+++ systemd-221/units/emergency.target -@@ -10,4 +10,5 @@ Description=Emergency Mode - Documentation=man:systemd.special(7) - Requires=emergency.service - After=emergency.service -+Conflicts=getty.target rescue.target - AllowIsolate=yes -Index: systemd-221/units/rescue.target -=================================================================== ---- systemd-221.orig/units/rescue.target -+++ systemd-221/units/rescue.target -@@ -10,7 +10,8 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service --Conflicts=getty.target -+Conflicts=getty.target emergency.target -+Before=emergency.target - AllowIsolate=yes - - [Install] diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch deleted file mode 100644 index a4a4ba65..00000000 --- a/respect-nfs-bg-option.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- - src/fstab-generator/fstab-generator.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-221/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-221.orig/src/fstab-generator/fstab-generator.c -+++ systemd-221/src/fstab-generator/fstab-generator.c -@@ -289,8 +289,11 @@ static int add_mount( - "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", - source); - -- if (post && !noauto && !nofail && !automount) -- fprintf(f, "Before=%s\n", post); -+ if (post && !noauto && !nofail && !automount) { -+ bool is_nfs = fstype != NULL && streq(fstype, "nfs"); -+ if (!is_nfs || strstr(opts, "bg") == NULL) -+ fprintf(f, "Before=%s\n", post); -+ } - - if (!automount && opts) { - r = write_requires_after(f, opts); diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch deleted file mode 100644 index 37147945..00000000 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Frederic Crozat -Date: Mon, 29 Oct 2012 13:01:20 +0000 -Subject: restore /var/run and /var/lock bind mount if they aren't symlink - ---- - Makefile.am | 9 +++++++++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ - 3 files changed, 47 insertions(+) - create mode 100644 units/var-lock.mount - create mode 100644 units/var-run.mount - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -526,6 +526,12 @@ dist_systemunit_DATA += \ - dist_systemunit_DATA_busnames += \ - units/busnames.target - -+if HAVE_SYSV_COMPAT -+dist_systemunit_DATA += \ -+ units/var-run.mount \ -+ units/var-lock.mount -+endif -+ - nodist_systemunit_DATA = \ - units/getty@.service \ - units/serial-getty@.service \ -@@ -6123,6 +6129,9 @@ GRAPHICAL_TARGET_WANTS += \ - systemd-update-utmp-runlevel.service - RESCUE_TARGET_WANTS += \ - systemd-update-utmp-runlevel.service -+LOCAL_FS_TARGET_WANTS += \ -+ var-run.mount \ -+ var-lock.mount - endif - - SYSINIT_TARGET_WANTS += \ -Index: systemd-221/units/var-lock.mount -=================================================================== ---- /dev/null -+++ systemd-221/units/var-lock.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Lock Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/lock -+ConditionPathIsSymbolicLink=!/var/lock -+ -+[Mount] -+What=/run/lock -+Where=/var/lock -+Type=bind -+Options=bind -Index: systemd-221/units/var-run.mount -=================================================================== ---- /dev/null -+++ systemd-221/units/var-run.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Runtime Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/run -+ConditionPathIsSymbolicLink=!/var/run -+ -+[Mount] -+What=/run -+Where=/var/run -+Type=bind -+Options=bind diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch deleted file mode 100644 index e6474d8d..00000000 --- a/set-and-use-default-logconsole.patch +++ /dev/null @@ -1,175 +0,0 @@ -Use and set default logging console for both journald and kernel messages - ---- - src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ - src/journal/journald-console.h | 3 + - src/journal/journald-server.c | 5 ++ - 3 files changed, 108 insertions(+) - -Index: systemd-228/src/journal/journald-console.c -=================================================================== ---- systemd-228.orig/src/journal/journald-console.c -+++ systemd-228/src/journal/journald-console.c -@@ -22,6 +22,14 @@ - #include - #include - #include -+#ifdef HAVE_SYSV_COMPAT -+# include -+# include -+# include -+# include -+# include -+# include "string-util.h" -+#endif - - #include "alloc-util.h" - #include "fd-util.h" -@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) { - return cached_printk_time; - } - -+void default_tty_path(Server *s) -+{ -+#ifdef HAVE_SYSV_COMPAT -+ static const char list[] = "/dev/tty10\0" "/dev/console\0"; -+ const char *vc; -+ -+ if (s->tty_path) -+ return; -+ -+ NULSTR_FOREACH(vc, list) { -+ _cleanup_close_ int fd = -1; -+ -+ if (access(vc, F_OK) < 0) -+ continue; -+ -+ fd = open_terminal(vc, O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ continue; -+ -+ s->tty_path = strdup(vc); -+ break; -+ } -+#endif -+} -+ -+void klogconsole(Server *s) -+{ -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char *klogconsole_params = NULL; -+ _cleanup_close_ int fd = -1; -+ const char *vc = s->tty_path; -+ const char *num; -+ int tiocl[2]; -+ int r; -+ -+ if (!vc || *vc == 0 || !strneq("/dev/tty", vc, 8)) -+ return; -+ -+ num = vc + strcspn(vc, "0123456789"); -+ if (safe_atoi(num, &r) < 0) -+ return; -+ -+ if (access(vc, F_OK) < 0) -+ return; -+ -+ fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ return; -+ -+ tiocl[0] = TIOCL_SETKMSGREDIRECT; -+ tiocl[1] = r; -+ -+ if (ioctl(fd, TIOCLINUX, tiocl) < 0) -+ return; -+ -+ zero(klogconsole_params); -+ r = parse_env_file("/etc/sysconfig/boot", NEWLINE, -+ "KLOGCONSOLE_PARAMS", &klogconsole_params, -+ NULL); -+ if (r < 0) -+ return; -+ if (!klogconsole_params || *klogconsole_params == 0) -+ return; -+ -+ num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); -+ if (safe_atoi(num, &r) == 0) -+ klogctl(8, 0, r); -+#endif -+} -+ - void server_forward_console( - Server *s, - int priority, -@@ -71,6 +149,12 @@ void server_forward_console( - if (LOG_PRI(priority) > s->max_level_console) - return; - -+#ifdef HAVE_SYSV_COMPAT -+ /* Do not write security/authorization (private) messages to console */ -+ if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) -+ return; -+#endif -+ - /* First: timestamp */ - if (prefix_timestamp()) { - assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -107,7 +191,23 @@ void server_forward_console( - fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); - if (fd < 0) { - log_debug_errno(fd, "Failed to open %s for logging: %m", tty); -+#ifdef HAVE_SYSV_COMPAT -+ if (fd != -ENOENT && fd != -ENODEV) -+ return; -+ if (tty != s->tty_path) -+ return; -+ if (!streq("/dev/console", tty)) { -+ if (s->tty_path) -+ free(s->tty_path); -+ s->tty_path = NULL; -+ tty = "/dev/console"; -+ fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ return; -+ } -+#else - return; -+#endif - } - - if (writev(fd, iovec, n) < 0) -Index: systemd-228/src/journal/journald-console.h -=================================================================== ---- systemd-228.orig/src/journal/journald-console.h -+++ systemd-228/src/journal/journald-console.h -@@ -24,3 +24,6 @@ - #include "journald-server.h" - - void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); -+ -+void klogconsole(Server *s); -+void default_tty_path(Server *s); -Index: systemd-228/src/journal/journald-server.c -=================================================================== ---- systemd-228.orig/src/journal/journald-server.c -+++ systemd-228/src/journal/journald-server.c -@@ -55,6 +55,7 @@ - #include "journald-audit.h" - #include "journald-kmsg.h" - #include "journald-native.h" -+#include "journald-console.h" - #include "journald-rate-limit.h" - #include "journald-server.h" - #include "journald-stream.h" -@@ -1751,6 +1752,10 @@ int server_init(Server *s) { - - server_parse_config_file(s); - server_parse_proc_cmdline(s); -+ default_tty_path(s); -+ -+ if (s->tty_path) -+ klogconsole(s); - - if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { - log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch deleted file mode 100644 index d7ffac19..00000000 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- - Makefile.am | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -4129,11 +4129,11 @@ noinst_LTLIBRARIES += \ - libjournal-core.la - - journal-install-hook: -- -$(MKDIR_P) $(DESTDIR)/var/log/journal -- -chown 0:0 $(DESTDIR)/var/log/journal -- -chmod 755 $(DESTDIR)/var/log/journal -- -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ -- -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ -+ -$(MKDIR_P) $(DESTDIR)/var/log/journal/ -+ -@echo chown 0:0 $(DESTDIR)/var/log/journal/ -+ -chmod 755 $(DESTDIR)/var/log/journal/ -+ -@echo setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ -+ -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ - - journal-uninstall-hook: - -rmdir $(DESTDIR)/var/log/journal/remote diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff deleted file mode 100644 index ce772aac..00000000 --- a/suse-sysv-bootd-support.diff +++ /dev/null @@ -1,80 +0,0 @@ -From: Frederic Crozat -Date: Fri, 12 Apr 2013 16:56:26 +0200 -Subject: Revert "service: drop support for SysV scripts for the early boot" - -This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. - -[Implementation note: currently, the unit is generated, but not -activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] ---- - src/sysv-generator/sysv-generator.c | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -Index: systemd-228/src/sysv-generator/sysv-generator.c -=================================================================== ---- systemd-228.orig/src/sysv-generator/sysv-generator.c -+++ systemd-228/src/sysv-generator/sysv-generator.c -@@ -46,7 +46,8 @@ - - typedef enum RunlevelType { - RUNLEVEL_UP, -- RUNLEVEL_DOWN -+ RUNLEVEL_DOWN, -+ RUNLEVEL_SYSINIT, - } RunlevelType; - - static const struct { -@@ -54,6 +55,9 @@ static const struct { - const char *target; - const RunlevelType type; - } rcnd_table[] = { -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+ - /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, - { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, -@@ -69,10 +73,10 @@ static const struct { - directories in this order, and we want to make sure that - sysv_start_priority is known when we first load the - unit. And that value we only know from S links. Hence -- UP must be read before DOWN */ -+ UP/SYSINIT must be read before DOWN */ - }; - --const char *arg_dest = "/tmp"; -+static const char *arg_dest = "/tmp"; - - typedef struct SysvStub { - char *name; -@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c - _cleanup_free_ char *c = NULL; - char *res; - -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ name += 5; -+ - c = strdup(name); - if (!c) - return NULL; -@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co - - if (de->d_name[0] == 'S') { - -- if (rcnd_table[i].type == RUNLEVEL_UP) -+ if (rcnd_table[i].type == RUNLEVEL_UP || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority); - - r = set_ensure_allocated(&runlevel_services[i], NULL); -@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co - } - - } else if (de->d_name[0] == 'K' && -- (rcnd_table[i].type == RUNLEVEL_DOWN)) { -+ (rcnd_table[i].type == RUNLEVEL_DOWN || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { - - r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) { diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch deleted file mode 100644 index de694a4b..00000000 --- a/systemctl-set-default-target.patch +++ /dev/null @@ -1,30 +0,0 @@ -Mention that --force is required to override an already existing default.target - -This solves the bug bnc#868439 - ---- - man/systemctl.xml | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-221/man/systemctl.xml -=================================================================== ---- systemd-221.orig/man/systemctl.xml -+++ systemd-221/man/systemctl.xml -@@ -439,7 +439,7 @@ - - - -- When used with enable, overwrite -+ When used with enable or set-default, overwrite - any existing conflicting symlinks. - - When used with halt, -@@ -1237,6 +1237,8 @@ kobject-uevent 1 systemd-udevd-kernel.so - Return the default target to boot into. This returns - the target unit name default.target - is aliased (symlinked) to. -+ If combined with , override -+ an already existing symlink for the default target. - - - diff --git a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff deleted file mode 100644 index 17a09a8a..00000000 --- a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +++ /dev/null @@ -1,116 +0,0 @@ -From 84d816c48b57b43e833e2917bbd278c116816fcf Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 28 Jan 2016 20:15:49 +0100 -Subject: [PATCH] nspawn: make journal linking non-fatal in try and auto modes - -Fixes #2091 ---- - src/nspawn/nspawn.c | 39 ++++++++++++++++++++------------------- - 1 file changed, 20 insertions(+), 19 deletions(-) - -diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index f6a2c03..97ea51a 100644 ---- a/src/nspawn/nspawn.c -+++ b/src/nspawn/nspawn.c -@@ -1338,6 +1338,7 @@ static int setup_journal(const char *directory) { - sd_id128_t machine_id, this_id; - _cleanup_free_ char *b = NULL, *d = NULL; - const char *etc_machine_id, *p, *q; -+ bool try; - char *id; - int r; - -@@ -1345,16 +1346,21 @@ static int setup_journal(const char *directory) { - if (arg_ephemeral) - return 0; - -+ if (arg_link_journal == LINK_NO) -+ return 0; -+ -+ try = arg_link_journal_try || arg_link_journal == LINK_AUTO; -+ - etc_machine_id = prefix_roota(directory, "/etc/machine-id"); - - r = read_one_line_file(etc_machine_id, &b); -- if (r == -ENOENT && arg_link_journal == LINK_AUTO) -+ if (r == -ENOENT && try) - return 0; - else if (r < 0) - return log_error_errno(r, "Failed to read machine ID from %s: %m", etc_machine_id); - - id = strstrip(b); -- if (isempty(id) && arg_link_journal == LINK_AUTO) -+ if (isempty(id) && try) - return 0; - - /* Verify validity */ -@@ -1367,16 +1373,13 @@ static int setup_journal(const char *directory) { - return log_error_errno(r, "Failed to retrieve machine ID: %m"); - - if (sd_id128_equal(machine_id, this_id)) { -- log_full(arg_link_journal == LINK_AUTO ? LOG_WARNING : LOG_ERR, -+ log_full(try ? LOG_WARNING : LOG_ERR, - "Host and machine ids are equal (%s): refusing to link journals", id); -- if (arg_link_journal == LINK_AUTO) -+ if (try) - return 0; - return -EEXIST; - } - -- if (arg_link_journal == LINK_NO) -- return 0; -- - r = userns_mkdir(directory, "/var", 0755, 0, 0); - if (r < 0) - return log_error_errno(r, "Failed to create /var: %m"); -@@ -1393,21 +1396,19 @@ static int setup_journal(const char *directory) { - q = prefix_roota(directory, p); - - if (path_is_mount_point(p, 0) > 0) { -- if (arg_link_journal != LINK_AUTO) { -- log_error("%s: already a mount point, refusing to use for journal", p); -- return -EEXIST; -- } -+ if (try) -+ return 0; - -- return 0; -+ log_error("%s: already a mount point, refusing to use for journal", p); -+ return -EEXIST; - } - - if (path_is_mount_point(q, 0) > 0) { -- if (arg_link_journal != LINK_AUTO) { -- log_error("%s: already a mount point, refusing to use for journal", q); -- return -EEXIST; -- } -+ if (try) -+ return 0; - -- return 0; -+ log_error("%s: already a mount point, refusing to use for journal", q); -+ return -EEXIST; - } - - r = readlink_and_make_absolute(p, &d); -@@ -1441,7 +1442,7 @@ static int setup_journal(const char *directory) { - if (arg_link_journal == LINK_GUEST) { - - if (symlink(q, p) < 0) { -- if (arg_link_journal_try) { -+ if (try) { - log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p); - return 0; - } else -@@ -1459,7 +1460,7 @@ static int setup_journal(const char *directory) { - * permanent journal set up, don't force it here */ - r = mkdir(p, 0755); - if (r < 0) { -- if (arg_link_journal_try) { -+ if (try) { - log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p); - return 0; - } else --- -2.7.0 - diff --git a/systemd-228.tar.xz b/systemd-228.tar.xz new file mode 100644 index 00000000..c8f3fdcf --- /dev/null +++ b/systemd-228.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:141d1609469579adeaf62d76e3527149c5a0140a54c8538f706b4eb97a447f8a +size 2866192 diff --git a/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch b/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch deleted file mode 100644 index 53faee2a..00000000 --- a/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch +++ /dev/null @@ -1,87 +0,0 @@ -commit 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 -Author: Alban Crequy -Date: Mon Dec 7 01:10:50 2015 +0100 - - cgroup2: use new fstype for unified hierarchy - - Since Linux v4.4-rc1, __DEVEL__sane_behavior does not exist anymore and - is replaced by a new fstype "cgroup2". - - With this patch, systemd no longer supports the old (unstable) way of - doing unified hierarchy with __DEVEL__sane_behavior and systemd now - requires Linux v4.4 for unified hierarchy. - - Non-unified hierarchy is still the default and is unchanged by this - patch. - - https://github.com/torvalds/linux/commit/67e9c74b8a873408c27ac9a8e4c1d1c8d72c93ff - - Upstream-patch: 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 - -diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c -index 56c1fcaab9b2..5124b5bf93ad 100644 ---- a/src/basic/cgroup-util.c -+++ b/src/basic/cgroup-util.c -@@ -2129,7 +2129,7 @@ int cg_unified(void) { - if (statfs("/sys/fs/cgroup/", &fs) < 0) - return -errno; - -- if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)) -+ if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) - unified_cache = true; - else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) - unified_cache = false; -diff --git a/src/basic/missing.h b/src/basic/missing.h -index 034e334e6626..66cd5921adf0 100644 ---- a/src/basic/missing.h -+++ b/src/basic/missing.h -@@ -437,6 +437,10 @@ struct btrfs_ioctl_quota_ctl_args { - #define CGROUP_SUPER_MAGIC 0x27e0eb - #endif - -+#ifndef CGROUP2_SUPER_MAGIC -+#define CGROUP2_SUPER_MAGIC 0x63677270 -+#endif -+ - #ifndef TMPFS_MAGIC - #define TMPFS_MAGIC 0x01021994 - #endif -diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c -index de1a361cc4c5..32fe51c67ea3 100644 ---- a/src/core/mount-setup.c -+++ b/src/core/mount-setup.c -@@ -94,7 +94,7 @@ static const MountPoint mount_table[] = { - #endif - { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, - NULL, MNT_FATAL|MNT_IN_CONTAINER }, -- { "cgroup", "/sys/fs/cgroup", "cgroup", "__DEVEL__sane_behavior", MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ { "cgroup", "/sys/fs/cgroup", "cgroup2", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, - cg_is_unified_wanted, MNT_FATAL|MNT_IN_CONTAINER }, - { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, - cg_is_legacy_wanted, MNT_FATAL|MNT_IN_CONTAINER }, -diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c -index 9f9a4759d1ca..53a7ee713427 100644 ---- a/src/nspawn/nspawn-cgroup.c -+++ b/src/nspawn/nspawn-cgroup.c -@@ -94,7 +94,7 @@ int sync_cgroup(pid_t pid, bool unified_requested) { - if (unified) - r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "none,name=systemd,xattr"); - else -- r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior"); -+ r = mount("cgroup", tree, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL); - if (r < 0) { - r = log_error_errno(errno, "Failed to mount unified hierarchy: %m"); - goto finish; -diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c -index 70cca1527876..64cb6b3ce306 100644 ---- a/src/nspawn/nspawn-mount.c -+++ b/src/nspawn/nspawn-mount.c -@@ -750,7 +750,7 @@ static int mount_unified_cgroups(const char *dest) { - return -EINVAL; - } - -- if (mount("cgroup", p, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior") < 0) -+ if (mount("cgroup", p, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL) < 0) - return log_error_errno(errno, "Failed to mount unified cgroup hierarchy to %s: %m", p); - - return 0; diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch deleted file mode 100644 index bc7985dc..00000000 --- a/systemd-add-user-keep.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- - man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------ - 2 files changed, 43 insertions(+), 6 deletions(-) - -Index: systemd-228/man/tmpfiles.d.xml -=================================================================== ---- systemd-228.orig/man/tmpfiles.d.xml -+++ systemd-228/man/tmpfiles.d.xml -@@ -599,6 +599,9 @@ - f, F, and - w, the argument may be used to specify a short string that - is written to the file, suffixed by a newline. For -+ x, X, a comma separated list of -+ usernames. If given, only paths belonging to these users will be excluded -+ during directory cleanup. Ignored for all other lines. For - C, specifies the source file or - directory. For t and T, - determines extended attributes to be set. For -Index: systemd-228/src/tmpfiles/tmpfiles.c -=================================================================== ---- systemd-228.orig/src/tmpfiles/tmpfiles.c -+++ systemd-228/src/tmpfiles/tmpfiles.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #include "acl-util.h" - #include "alloc-util.h" -@@ -378,6 +379,7 @@ static int dir_cleanup( - struct timespec times[2]; - bool deleted = false; - int r = 0; -+ Item *found = NULL; - - while ((dent = readdir(d))) { - struct stat s; -@@ -428,14 +430,46 @@ static int dir_cleanup( - } - - /* Is there an item configured for this path? */ -- if (ordered_hashmap_get(items, sub_path)) { -- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -- continue; -+ bool found_glob = false; -+ found = ordered_hashmap_get(items, sub_path); -+ if (!found) { -+ found_glob = true; -+ found = find_glob(globs, sub_path); - } - -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -- continue; -+ if (found) { -+ struct passwd *pw; -+ char *userfound = NULL, *args; -+ bool match = false; -+ uid_t uid = -1; -+ -+ /* evaluate username arguments in ignore statements */ -+ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) || -+ !found->argument) { -+ if (found_glob) -+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -+ else -+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -+ continue; -+ } -+ args = strdup(found->argument); -+ assert_se(args != NULL); -+ while ((userfound = strsep(&args, ",")) != NULL) { -+ pw = getpwnam(userfound); -+ if (pw == NULL) { -+ log_error("Unknown user '%s' in ignore statement.", userfound); -+ continue; -+ } -+ uid = pw->pw_uid; -+ if (s.st_uid == uid) { -+ match = true; -+ break; -+ } -+ } -+ if (match) { -+ found = NULL; -+ continue; -+ } - } - - if (S_ISDIR(s.st_mode)) { diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch deleted file mode 100644 index 60b98265..00000000 --- a/systemd-dbus-system-bus-address.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - src/basic/def.h | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -Index: systemd-221/src/basic/def.h -=================================================================== ---- systemd-221.orig/src/basic/def.h -+++ systemd-221/src/basic/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" - #define DEFAULT_SYSTEM_BUS_ADDRESS KERNEL_SYSTEM_BUS_ADDRESS ";" UNIX_SYSTEM_BUS_ADDRESS - #define UNIX_USER_BUS_ADDRESS_FMT "unix:path=%s/bus" -Index: systemd-221/src/libsystemd/sd-bus/sd-bus.c -=================================================================== ---- systemd-221.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-221/src/libsystemd/sd-bus/sd-bus.c -@@ -837,8 +837,8 @@ static int parse_container_unix_address( - b->nspid = 0; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); -+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); - - return 0; - } diff --git a/systemd-install-compat_pkgconfig-always.patch b/systemd-install-compat_pkgconfig-always.patch deleted file mode 100644 index 57fb6129..00000000 --- a/systemd-install-compat_pkgconfig-always.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- - Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -5876,12 +5876,6 @@ lib_LTLIBRARIES += \ - libsystemd-id128.la \ - libsystemd-daemon.la - --pkgconfiglib_DATA += \ -- src/compat-libs/libsystemd-journal.pc \ -- src/compat-libs/libsystemd-login.pc \ -- src/compat-libs/libsystemd-id128.pc \ -- src/compat-libs/libsystemd-daemon.pc -- - # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed - compat-lib-install-hook: - libname=libsystemd-login.so && $(move-to-rootlibdir) -@@ -5899,6 +5893,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install - UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook - endif - -+pkgconfiglib_DATA += \ -+ src/compat-libs/libsystemd-journal.pc \ -+ src/compat-libs/libsystemd-login.pc \ -+ src/compat-libs/libsystemd-id128.pc \ -+ src/compat-libs/libsystemd-daemon.pc -+ - EXTRA_DIST += \ - src/compat-libs/linkwarning.h \ - src/compat-libs/libsystemd-journal.pc.in \ diff --git a/systemd-mini.changes b/systemd-mini.changes index e71f989e..019f68f7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,261 @@ +------------------------------------------------------------------- +Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com + +- Own a couple of directories even if they don't belong to systemd + otherwise the build system will complain. + + Some directories (owned by others packages) are simply used by + systemd to ship some scripts or config files to customize others + *optional* components. Since thos components are not build required + by systemd those directories are not owned by any packages and the + BS complains... + +------------------------------------------------------------------- +Wed Oct 26 07:45:08 UTC 2016 - fbui@suse.com + +- Import commit + + 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) + +------------------------------------------------------------------- +Mon Oct 24 14:26:40 UTC 2016 - fbui@suse.com + +- %sysusers_create and %tmpfiles_create must be called in %post + + Calling %pre is broken since the respective conf files are not yet + installed. + +------------------------------------------------------------------- +Mon Oct 24 13:53:04 UTC 2016 - fbui@suse.com + +- %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are + part of systemd-journal-remote package (only). + +------------------------------------------------------------------- +Mon Oct 24 13:21:22 UTC 2016 - fbui@suse.com + +- systemd-journal-{gatewayd,remote,upload} units are only part of + "systemd-journal-remote" package. + + So exclude them from the main package. + +------------------------------------------------------------------- +Mon Oct 24 08:56:59 UTC 2016 - fbui@suse.com + +- Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 + + 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks + df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) + f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" + 3760c10 manager: tighten incoming notification message checks + d6efd71 core: only warn on short reads on signal fd + 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones + fdf2dc3 manager: don't ever busy loop when we get a notification message we can't process + +------------------------------------------------------------------- +Thu Oct 20 06:57:57 UTC 2016 - fbui@suse.com + +- Rename kbd-model-map-extra into kbd-model-map.legacy + +------------------------------------------------------------------- +Wed Oct 19 07:24:46 UTC 2016 - fbui@suse.com + +- Remove tcpd-devel build requirement. + + tcpwrap support has been removed since v212, see commit + 7f8aa67131cfc03ddcbd31c0420754864fc122f0 + +------------------------------------------------------------------- +Tue Oct 18 14:52:00 UTC 2016 - fbui@suse.com + +- remove all dummy "aliases" to /etc/init.d (as it was already done by + factory more than 1 year ago). + + Even if a sysvinit script is still requiring one of those dummy + symlinks this should not be an issue since this is requirement is + translated into a weak dependency. + +------------------------------------------------------------------- +Tue Oct 18 13:20:58 UTC 2016 - fbui@suse.com + +- specfile: + + - do not own /usr/share/zsh directory + - do not own /etc/dbus-1 and /etc/dbus-1/system.d dirs + - do not own /usr/share/dbus-1 dir + +------------------------------------------------------------------- +Tue Oct 18 13:06:27 UTC 2016 - fbui@suse.com + +- specfile: %{_prefix}/lib/systemd/system-preset was mentioned twice + in %files section. + +------------------------------------------------------------------- +Tue Oct 18 09:30:37 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - use curly braces with rpm macros + +------------------------------------------------------------------- +Tue Oct 18 09:15:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - %ghost files doesn't need (anymore) to be created in %builroot + - do not own /etc/X11/xorg.conf.d and /etc/X11/xinit + +------------------------------------------------------------------- +Tue Oct 18 07:58:38 UTC 2016 - fbui@suse.com + +- Specfile cleanup: no need to protect the manpages with %bootstrap + condition in nss-myhostname package since the package itself is + already protected. + +------------------------------------------------------------------- +Tue Oct 18 07:51:30 UTC 2016 - fbui@suse.com + +- fix nss-resolve sub package: + + - add a %files section + - add a package description + - libnss_resolve.so.2 is now part of this subpackage + - add %post and %postun sections + +------------------------------------------------------------------- +Tue Oct 18 07:16:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - reorganize some files in %files by types + - some config files were missing the "noreplace" attribute + +------------------------------------------------------------------- +Tue Oct 18 06:19:34 UTC 2016 - fbui@suse.com + +- Use %config(noreplace) for %{_sysconfdir}/pam.d/systemd-user + +------------------------------------------------------------------- +Tue Oct 18 05:57:28 UTC 2016 - fbui@suse.com + +- Rework systemd-gatewayd package: + + - some gateway's files were still in the main package + - it now includes all progs dealing with remote journals + - it can be turned off (SP2 does that currently) + - it's been renamed systemd-journal-remote to reflect that + +------------------------------------------------------------------- +Mon Oct 17 12:19:34 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - only specify once %{_prefix}/lib/systemd/system-shutdown in %file + - no need to list the content of %{_prefix}/lib/systemd/user-generators in %file + - machined is not built when %bootstrap = 1 + +------------------------------------------------------------------- +Mon Oct 17 12:11:43 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - There's no point in listing all generators in %file + explicitly. The default is to include all of them and if for some + reason one must be excluded then it should be done explicitly. + +------------------------------------------------------------------- +Mon Oct 17 11:44:57 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - remove explicit call to make for building man pages. This is not + needed and was maybe useful when generated doc was pre-built and + shipped in the tarball. + +------------------------------------------------------------------- +Mon Oct 17 09:59:13 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - break overly long and unreadable line using mkdir + - gather directory creations + +------------------------------------------------------------------- +Mon Oct 17 08:38:27 UTC 2016 - fbui@suse.com + +- Stop providing udevd.8 + + systemd-udevd has replaced udevd for some time already and usage of + udevd should be avoided. Therefore don't encourage this and stop + documenting it. + +------------------------------------------------------------------- +Mon Oct 17 07:36:10 UTC 2016 - fbui@suse.com + +- Import from factory: + + - Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + + - curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they can put stuff in /etc/ssl/certs then + but that directory is managed by p11-kit and doesn't serve the + purpose those programs think. + +------------------------------------------------------------------- +Thu Oct 13 19:33:17 UTC 2016 - fbui@suse.com + +- Package rootsymlink-generator helper. It was forgotten when + switching to the git repo but re-added back. + + That said this thing should be removed as it's broken as soon as + there's no direct link between the root fs and its backend device + node (i.e. BTRFS). + +------------------------------------------------------------------- +Thu Oct 13 19:09:25 UTC 2016 - fbui@suse.com + +- Add kbd-model-map-extra file which contains the additional legacy + keymaps needed by yast. + + This was previously directly patched in the systemd source code. + +------------------------------------------------------------------- +Mon Oct 10 13:33:40 UTC 2016 - fbui@suse.com + +- Imported e251b8d7fb5c801fdfa3a023257ba0e4d514f3b0 + + - Re-add back /dev/root symlink generation (although this must be + deprecated and finally removed). + +------------------------------------------------------------------- +Fri Oct 7 14:18:10 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Third step: + + - Re-enable networkd (disabled by default in SLE12) + +------------------------------------------------------------------- +Fri Oct 7 13:33:51 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Second step: + + - Import the specfile + - Import the tarball generated from the git repo + - Import lastest changes for the different scripts + +------------------------------------------------------------------- +Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + First step: drop all patches and drop the tar ball. + ------------------------------------------------------------------- Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c1c25587..72c9fc3e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -16,28 +16,37 @@ # +# +# The git repository used to track all Suse specific changes can be +# found at: https://github.com/openSUSE/systemd. +# + ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define bootstrap 1 ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini -%define real systemd -%define min_kernel_version 3.11 +%define min_kernel_version 4.5 -%bcond_without bash_completion -%bcond_without networkd +%bcond_with gnuefi +%if 0%{?bootstrap} +%bcond_with sysvcompat +%bcond_with machined +%bcond_with importd +%bcond_with networkd +%bcond_with journal_remote +%else %bcond_without sysvcompat +%bcond_without machined +%bcond_without importd +%bcond_without networkd +%bcond_without journal_remote +%ifarch %{ix86} x86_64 +%bcond_without gnuefi +%endif +%endif +%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid -%if 0%{?suse_version} > 1315 -%bcond_without permission -%bcond_without blkrrpart -%bcond_without udevsettle -%else -%bcond_with permission -%bcond_with blkrrpart -%bcond_with udevsettle -%endif -%bcond_with systemgrps Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -47,99 +56,95 @@ Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build - -Provides: %{real} = %{version}-%{release} - -BuildRequires: acl -BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: kbd -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libsepol-devel -BuildRequires: libtool -BuildRequires: pam-devel -BuildRequires: systemd-rpm-macros -BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpci) >= 3 -#XXX: change to 2.27.1 when pkgconfig file is fixed upstream -BuildRequires: pkgconfig(mount) >= 2.27 -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) -%endif -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) -Conflicts: sysvinit -Conflicts: otherproviders(systemd) -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %version-%release -Conflicts: kiwi -%else -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif +%if ! 0%{?bootstrap} +BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets +BuildRequires: kbd +BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools -# curl and bzip2 are required for building importd -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 +%endif +BuildRequires: fdupes +BuildRequires: gperf +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libmount-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: pam-config >= 0.79-5 +BuildRequires: pam-devel +# regenerate_initrd_post macro is expanded during build, hence this +# BR. Also this macro was introduced since version 12.4. +BuildRequires: suse-module-tools >= 12.4 +BuildRequires: systemd-rpm-macros +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.26 +BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpci) >= 3 +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +%if %{with importd} +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(zlib) +%endif +%if %{with journal_remote} +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 +%endif +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) +%endif +%if %{with gnuefi} +BuildRequires: gnu-efi +%endif + +%if 0%{?bootstrap} +#!BuildIgnore: dbus-1 +Requires: this-is-only-for-build-envs +Provides: systemd = %{version}-%{release} +%else # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev = %{version}-%{release} -Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 -Requires: netcfg +Requires: netcfg >= 11.5 Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils +Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/awk -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl + +%if 0%{?bootstrap} +Conflicts: systemd +Conflicts: kiwi +%endif +Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Conflicts: kernel < %{min_kernel_version} Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 - -#Git-Clone: git://github.com/systemd/systemd -Source: https://github.com/systemd/systemd/archive/v%version.tar.gz -%if ! 0%{?bootstrap} -Source1: systemd-rpmlintrc -%else -Source1: systemd-mini-rpmlintrc -%endif +Source0: systemd-%{version}.tar.xz +Source1: %{name}-rpmlintrc Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 @@ -148,173 +153,9 @@ Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source13: fix-machines-subvol-for-rollbacks.sh +Source14: kbd-model-map.legacy -Source1065: systemd-remount-tmpfs - -# handle SUSE specific kbd settings -Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch -Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: insserv-generator.patch -Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch -Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - -# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done -Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch -# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices -Patch27: apply-ACL-for-nvidia-device-nodes.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device -Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. -Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch -Patch42: systemd-pam_config.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) -Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty -Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com -Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch -Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch -Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch188: boot-local-start.patch -# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch -# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch190: systemd-install-compat_pkgconfig-always.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch191: systemd-dbus-system-bus-address.patch -# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch192: let-linker-find-libudev-for-libdevmapper.patch -# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console -Patch197: rescue-emergency-target-conflicts.patch -# PATCH-FIX-SUSE Avoid a divide by zero sigtrap -Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) -Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) -Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) -Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-SUSE Shut up rpmlint warning -Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-SUSE -Patch352: set-and-use-default-logconsole.patch -Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) -Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) -Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) -Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) -Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 -Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 -Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch520: systemd-add-user-keep.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch521: kbd-model-map.patch -# PATCH-WORKAROUND-SUSE (boo#939571) -Patch522: Correct_assert_on_unexpected_error_code.patch -# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) -Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch -# PATCH-FIX-UPSTREAM (bsc#966535) -Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch -# PATCH-FIX-UPSTREAM -- fixed after 320 -Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch -# PATCH-FIX-UPSTREAM -- fixed after 231 -Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch -Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch -Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch -Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch -Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch -Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch -Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch -Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch - -# UDEV PATCHES -# ============ -# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. -# Udev patches mean: patches that affect udev code, src/{udev,libudev} -# nothing else, even if the patch might affect indirectly udev, as long -# as it's not changing the code of udev and libudev, then is not a udev -# patch. Further patches which add and/or changes udev rules. - -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) -Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch -# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) -Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 -Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) -Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) -Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) -Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch -# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch -Patch1096: 1096-new-udev-root-symlink-generator.patch -# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch -Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch -Patch1098: 1098-systemd-networkd-alias-network-service.patch -# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1100: hostname-NULL.patch +Source1065: udev-remount-tmpfs %description Systemd is a system and service manager, compatible with SysV and LSB @@ -326,20 +167,6 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1+ -Group: System/Base -Requires: bash -%if %{with bash_completion} -Requires: bash-completion -%endif -BuildArch: noarch - -%description bash-completion -Some systemd commands offer bash completion, but it's an optional dependency. - %package devel Summary: Development headers for systemd License: LGPL-2.1+ @@ -347,9 +174,8 @@ Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} -Provides: systemd-devel = %version-%release +Conflicts: systemd-devel %endif -Conflicts: otherproviders(systemd-devel) %description devel Development headers and auxiliary files for developing applications for systemd. @@ -401,27 +227,17 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm -# Avoid bootstrap cycle with sg3_utils -%if "%{?mini}" == "" -PreReq: /usr/bin/sg_inq -%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent -Requires(post): libudev%{?mini}1 Requires(post): sed Requires(post): /usr/bin/systemctl -%if %{defined regenerate_initrd_post} +Requires(postun): %insserv_prereq + Requires(post): coreutils -Requires(post): /usr/bin/stat Requires(postun): coreutils -Requires(posttrans): suse-module-tools -Requires(posttrans): /sbin/mkinitrd -%else -Requires(post): /sbin/mkinitrd -Requires(postun): /sbin/mkinitrd -%endif +Requires(posttrans): suse-module-tools >= 12.4 + Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -430,10 +246,12 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %version-%release -Conflicts: kiwi +Provides: udev = %{version} +Conflicts: libudev1 +Conflicts: udev +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif -Conflicts: otherproviders(udev) %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or @@ -442,15 +260,15 @@ and dispatches them according to rules in /lib/udev/rules.d/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. - - %package -n libudev%{?mini}1 -# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 +Conflicts: kiwi +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n libudev%{?mini}1 @@ -460,12 +278,13 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libudev%{?mini}1 = %version-%release +Group: Development/Libraries/Other +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %version-%release +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} +Conflicts: libudev-devel %endif -Conflicts: otherproviders(libudev-devel) %description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a @@ -478,17 +297,27 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl -Requires(post): permissions Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +nss-resolve is a plug-in module for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) enabling it to resolve host +names via the systemd-resolved(8) service (provided by the systemd +package). + +It replaces the nss-dns plug-in module that traditionally resolves +hostnames via DNS. + %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1+ @@ -512,10 +341,32 @@ longer necessary. Note that nss-myhostname only provides a workaround for broken software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that's worth +is logged to /var/log/messages. Please check whether that is worth a bug report then. This package marks the installation to not use syslog but only the journal. +%endif +%if %{with journal_remote} +%package journal-remote +Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description journal-remote +This extends the journal functionality to keep a copy of logs on a +remote server by providing programs to forward journal entries over +the network, using encrypted HTTP, and to write journal files from +serialized journal contents. + +This package contains systemd-journal-gatewayd, +systemd-journal-remote, and systemd-journal-upload. +%endif + +%if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ @@ -526,127 +377,29 @@ nss-myhostname is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution for the locally configured containers and virtual machines systemd-machined knows about. - -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-resolve - -%package journal-gateway -Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -%description journal-gateway -systemd-journal-gatewayd serves journal events over the network using HTTP. %endif +%package bash-completion +Summary: Bash completion support for systemd +License: LGPL-2.1+ +Group: System/Base +Requires: bash-completion +BuildArch: noarch + +%description bash-completion +Some systemd commands offer bash completion, but it is an optional dependency. + %prep -%setup -q -n systemd-%version +%setup -q -n systemd-%{version} echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in +#skipped for now +#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} cp %{SOURCE7} m4/ %endif -# systemd patches -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch12 -p1 -%patch16 -p1 -%patch17 -p1 -%patch20 -p1 -%patch21 -p1 -# check if this is still needed, or can be derived from fbdev uaccess rule -# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html -%patch27 -p1 -%patch28 -p1 -%patch37 -p1 -%patch39 -p1 -%patch41 -p1 -%patch42 -p1 -%patch84 -p1 -%patch86 -p1 -%patch90 -p1 -%patch91 -p1 -%patch120 -p1 -%patch178 -p1 -%patch179 -p1 -%patch180 -p1 -%patch182 -p1 -%patch183 -p1 -%patch186 -p1 -%patch188 -p1 -%patch189 -p1 -%patch190 -p1 -%patch191 -p1 -%patch192 -p1 -%patch193 -p1 -%patch197 -p1 -%patch198 -p1 -%patch203 -p1 -%patch208 -p1 -%patch338 -p1 -%patch345 -p1 -%patch352 -p1 -%patch362 -p1 -%patch366 -p1 -%patch368 -p1 -%patch386 -p1 -%patch430 -p1 -%patch475 -p1 -%patch490 -p1 -%patch520 -p1 -%patch521 -p1 -%patch522 -p1 -%patch523 -p1 -%patch524 -p1 -%patch525 -p1 -%patch526 -p1 -%patch527 -p1 -%patch528 -p1 -%patch529 -p1 -%patch530 -p1 -%patch531 -p1 -%patch532 -p1 -%patch533 -p1 -%patch534 -p1 -%patch535 -p1 -%patch536 -p1 -%patch537 -p1 -%patch538 -p1 - -# udev patches -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1035 -p1 -%if %{with blkrrpart} -%patch1037 -p1 -%endif -%patch1062 -p1 -%patch1066 -p1 -%patch1095 -p1 -%patch1096 -p1 -%patch1097 -p1 -%patch1098 -p1 -%patch1099 -p1 -%patch1100 -p1 - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -657,59 +410,49 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %build # -# Be sure that fresh build libudev is linked as otherwise no errors are found +# Be sure that fresh build libudev is found and used at linkage time # sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS = \\\ - $(AM_LDFLAGS) \\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ +systemd_cryptsetup_LDFLAGS =\\\ + $(AM_LDFLAGS)\\\ + -Wl,-rpath-link=$(top_srcdir)/.libs\ }' Makefile.am -sh autogen.sh -export CFLAGS="%{optflags}" -%if 0%{?suse_version} == 1315 - CFLAGS="$CFLAGS -DNET_IFNAMES=1" -%else - CFLAGS="$CFLAGS -DNET_IFNAMES=0" -%endif +./autogen.sh -# certificate-root is set to /etc/pki/systemd instead of the -# built-in default /etc/ssl as journal-remote and journal-upload -# think they kan put stuff in /etc/ssl/certs then but that -# directory is managed by p11-kit and doesn't serve the purpose -# those programs think -# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ - --with-certificate-root=/etc/pki/systemd \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ - --disable-machined \ - --disable-importd \ -%else - --enable-manpages \ - --with-nss-my-hostname-warning \ +%endif +%if %{with compatlibs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-tests \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ %if %{without networkd} --disable-networkd \ %endif +%if %{without machined} + --disable-machined \ +%endif %if %{without sysvcompat} --with-sysvinit-path= \ --with-sysvrcnd-path= \ @@ -719,42 +462,35 @@ export CFLAGS="%{optflags}" %endif --disable-kdbus -%make_build V=e -%if ! 0%{?bootstrap} -%make_build V=e update-man-list man -%endif +make %{?_smp_mflags} V=e %install %make_install -install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif +# FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -%if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 -%endif - -%if ! 0%{?bootstrap} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config -%endif - -ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} -install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated + +install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -775,13 +511,18 @@ cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path -# create %{_libexecdir}/modules-load.d +# create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time sg EOF +# To avoid making life hard for Factory developers, don't package the +# kernel.core_pattern setting until systemd-coredump is a part of an actual +# systemd release and it's made clear how to get the core dumps out of the +# journal. + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -790,7 +531,14 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} rm -f %{buildroot}%{_localstatedir}/log/README -rm -rf %{buildroot}%{_datadir}/bash-completion +%endif + +# journal-upload is built if libcurl is installed which can happen +# when importd is enabled (whereas journal_remote is not). +%if ! %{with journal_remote} +rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf +rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload +rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif # legacy links @@ -802,13 +550,19 @@ for f in loginctl journalctl ; do done ln -s /usr/lib/udev %{buildroot}/lib/udev -# Create the /var/log/journal directory to change the volatile journal to a persistent one +# Create the /var/log/journal directory to change the volatile journal +# to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ +# This dir must be owned (and thus created) by systemd otherwise the +# build system will complain. This is odd since we simply own a ghost +# file in it... +mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d + # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -#create ghost databases +# Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -820,8 +574,20 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants + +# Make sure the generator directories are created and properly owned. +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ @@ -831,18 +597,12 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. - -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf -d! /run/sysctl.d -L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v -EOF - -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d - -cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -[Unit] -After=local-fs.target +# create drop-in to prevent delegate=yes for root user (bsc#954765, +# bnc#953241, fate#320421) +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ +cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf < %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -# On systems supporting rollbacks with btrfs, /var/lib/machines -# subvolume must be created differently. Normally the installer takes -# care of this now but some systems uses a plain subvolume that breaks -# snapshots, rollback ("nearly everything" see bsc#992573). This -# script should help fixing it. -install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -%if ! 0%{?bootstrap} -for f in %{buildroot}%{_datadir}/bash-completion/completions/* -do - test -e "$f" || break - grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" -done > files.completion -%else -> files.completion -%endif - # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%if %{without compat_libs} -lib=%{_libdir}/libsystemd.so -for lnk in daemon login id128 journal -do - lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so - echo '/* GNU ld script */' > ${lnk} - echo 'INPUT('${lib}')' >> ${lnk} -done -%endif - -# Some files which may created by us or by the admin later on -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ - machine-id machine-info \ - systemd/system/runlevel2.target \ - systemd/system/runlevel3.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel5.target -do - > %{buildroot}%{_sysconfdir}/$ghost -done +# Make sure to disable all services by default. The Suse branding +# presets package takes care of defining the right policies. +rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset +echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset # Workaround for bug #882393 for runlevel in poweroff rescue multi-user graphical reboot @@ -905,86 +629,72 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# add entries for xkeyboard-config converted keymaps; mappings, -# which already exist in original systemd mapping table are being -# ignored though, i.e. not overwritten +# Add entries for xkeyboard-config converted keymaps; mappings, which +# already exist in original systemd mapping table are being ignored +# though, i.e. not overwritten; needed as long as YaST uses console +# keymaps internally and calls localectl to convert from vconsole to +# X11 keymaps. Ideally YaST should switch to X11 layout names (the +# mapping table wouldn't be needed since each X11 keymap has a +# generated xkbd keymap) and let localectl initialize +# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf +# (FATE#319454). if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map fi +# kbd-model-map.legacy is used to provide mapping for legacy keymaps, +# which may still be used by yast. +cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map + %find_lang systemd %pre -for name in journal timesync network resolve bus-proxy -do - getent group systemd-$name >/dev/null && continue - groupadd -r systemd-$name || : -done -for name in adm input tape -do - getent group $name >/dev/null && continue - groupadd -r $name || : -done -for name in timesync network resolve bus-proxy -do - getent passwd systemd-$name >/dev/null && continue - case "$name" in - timesync) descr="Systemd Time Synchronization" ;; - network) descr="Systemd Network Management" ;; - resolve) descr="Systemd Resolver" ;; - bus-proxy) descr="Systemd Bus Proxy" ;; - esac - useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : -done +# Build of installation images uses an hard coded list of some +# packages with a %pre that needs to be run during the +# build. Unfortunately, systemd in one of them. To make thing simpler +# we use a %pre section even if it is not needed. exit 0 %post +%sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} -/usr/sbin/pam-config -a --systemd || : +pam-config -a --systemd || : %endif -/sbin/ldconfig -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup || : +ldconfig +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : +systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : -/usr/bin/systemctl daemon-reexec || : -/usr/bin/journalctl --update-catalog || : -# Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ || : -chmod g+s %{_localstatedir}/log/journal/ || : -if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : - chmod g+s "%{_localstatedir}/log/journal/$ID" || : -fi -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -systemd-sysusers || : +systemctl daemon-reexec || : +%journal_catalog_update +%tmpfiles_create # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) if [ -n "$runlevel" ] ; then - /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : fi fi + # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done -fi +if [ $1 -eq 1 ]; then + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : +fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -998,7 +708,7 @@ done # distros. This unit can be pulled (implicitely) in various ways # (private /tmp, etc..) and it's required by the basic.target # explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +case $(systemctl is-enabled tmp.mount 2>/dev/null) in enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac @@ -1006,38 +716,54 @@ esac # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. +# +# The convertion might only be problematic for openSUSE distros +# (TW/Factory) where previous versions had already created the +# subvolume at the wrong place (via tmpfiles for example) and user +# started to populate and use it. In this case we'll let the user fix +# it manually. +# +# For SLE12 this subvolume was only introduced during the upgrade from +# v210 to v228 when we added this workaround. Note that the subvolume +# is still created at the wrong place due to the call to +# tmpfiles_create macro previously however it's empty so there +# shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : fi %postun -/sbin/ldconfig +ldconfig if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload || : - #Avoid restarting logind [bnc#934901] until fixed upstream - #/usr/bin/systemctl try-restart systemd-logind.service || : + systemctl daemon-reload || : + # Avoid restarting logind [bnc#934901] until fixed upstream + #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - /usr/bin/systemctl disable \ - getty@.service \ - remote-fs.target || : - rm -f /etc/systemd/system/default.target 2>&1 || : -fi + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : + + rm -f /etc/systemd/system/default.target +fi >/dev/null -# pretrans section must always use lua %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} + %regenerate_initrd_post if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -1045,135 +771,94 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi -# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules + +# Create "tape"/"input" group which is referenced by some udev rules +# that we're shipping. FIXME: maybe we should consider using +# "sysusers_create basic.conf" instead ? getent group tape >/dev/null || groupadd -r tape || : -# kill daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root ; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : - udevadm control --exit || : - fi -fi +getent group input >/dev/null || groupadd -r input || : %post -n udev%{?mini} -/usr/bin/udevadm hwdb --update || : -if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then - # add KERNEL name match to existing persistent net rules - sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules || : -fi +%udev_hwdb_update + +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : + # cleanup old stuff rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/20-cdrom.rules -rm -f /etc/udev/rules.d/55-cdrom.rules -rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload || : -# start daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service; then - /usr/lib/systemd/systemd-udevd --daemon || : - fi - fi -fi - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi +rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} - +%regenerate_initrd_post +%insserv_cleanup systemctl daemon-reload || : +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%if %{defined regenerate_initrd_post} %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%endif -%post -n libsystemd0%{?mini} -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libsystemd0%{?mini} -p /sbin/ldconfig + %postun -n libudev%{?mini}1 -p /sbin/ldconfig +%postun -n libsystemd0%{?mini} -p /sbin/ldconfig %if ! 0%{?bootstrap} - -%if %{with permission} -%verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal/ -%endif - -%pre logger -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -exit 0 - %post logger -%if %{with permission} -%set_permissions %{_localstatedir}/log/journal/ -%endif -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif +systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service || : + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi +%endif +%if ! 0%{?bootstrap} %preun -n nss-myhostname if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then %{_sbindir}/nss-myhostname-config --disable fi %post -n nss-myhostname -p /sbin/ldconfig - %postun -n nss-myhostname -p /sbin/ldconfig +%endif +%if %{with resolved} +%post -n nss-resolve -p /sbin/ldconfig +%postun -n nss-resolve -p /sbin/ldconfig +%endif + +%if %{with machined} %post -n nss-mymachines -p /sbin/ldconfig %postun -n nss-mymachines -p /sbin/ldconfig - -%pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -exit 0 - -%post journal-gateway -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%preun journal-gateway -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%postun journal-gateway -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - %endif +%if %{with journal_remote} +%pre journal-remote +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service +%service_add_pre systemd-journal-upload.service + +%post journal-remote +%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf +%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_post systemd-journal-remote.socket systemd-journal-remote.service +%service_add_post systemd-journal-upload.service + +%preun journal-remote +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_preun systemd-journal-upload.service + +%postun journal-remote +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_postun systemd-journal-upload.service +%endif + +%clean + %files -f systemd.lang %defattr(-,root,root) /bin/systemd @@ -1187,7 +872,7 @@ exit 0 %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if ! 0%{?bootstrap} +%if %{with machined} %{_bindir}/machinectl %endif %{_bindir}/systemctl @@ -1224,16 +909,17 @@ exit 0 %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload %exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service -%if ! 0%{?bootstrap} +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%endif +%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* +%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice @@ -1246,67 +932,47 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/user/*.socket -%exclude %{_prefix}/lib/systemd/systemd-udevd -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog -%dir %{_prefix}/lib/systemd/system-shutdown -%dir %{_prefix}/lib/systemd/system-preset -%dir %{_prefix}/lib/systemd/user-preset -%dir %{_prefix}/lib/systemd/system-generators -%dir %{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator +%{_prefix}/lib/systemd/system-preset +%{_prefix}/lib/systemd/user-preset +%{_prefix}/lib/systemd/system-generators +%{_prefix}/lib/systemd/user-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system/default.target.wants %dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%dir %{_prefix}/lib/systemd/system/user@0.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d -%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -%if ! 0%{?bootstrap} -%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%if %{with importd} +%{_prefix}/lib/systemd/import-pubring.gpg %endif -%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator -%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator -%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so -%config /etc/pam.d/systemd-user -%if ! 0%{?bootstrap} -%ifarch %{ix86} x86_64 +%if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%dir %{_libexecdir}/tmpfiles.d +%{_libexecdir}/sysusers.d/ +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf + %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf +%{_libexecdir}/tmpfiles.d/ +%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1315,42 +981,48 @@ exit 0 %dir %{_sysconfdir}/sysctl.d %{_prefix}/lib/sysctl.d/50-coredump.conf +%dir %{_sysconfdir}/X11/xinit +%dir %{_sysconfdir}/X11/xinit/xinitrc.d +%dir %{_sysconfdir}/X11/xorg.conf.d +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %{_sysconfdir}/xdg/systemd/user -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%config(noreplace) %{_sysconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with machined} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%endif +%if %{with importd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%endif -%{_sysconfdir}/X11/xinit/ -# Some files which may created by us -%dir %{_sysconfdir}/X11/xorg.conf.d +# Some files created by us. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1361,121 +1033,114 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_datadir}/factory/ -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname %if %{with networkd} %{_prefix}/lib/systemd/system/org.freedesktop.network1.busname +%endif +%if %{with resolved} +%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname +%endif +%if %{with machined} +%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%endif +%if %{with importd} +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%endif + +%{_datadir}/systemd +%{_datadir}/factory +%exclude %{_datadir}/systemd/gatewayd + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%if %{with resolved} +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%endif +%if %{with machined} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname +%if %{with importd} +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%endif -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if ! 0%{?bootstrap} -%exclude %{_datadir}/systemd/gatewayd +%if %{with machined} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif -%{_datadir}/systemd %if ! 0%{?bootstrap} -%_mandir/man1/[a-rt-z]*ctl.1* -%_mandir/man1/systemc*.1* -%_mandir/man1/systemd*.1* -%_mandir/man5/[a-tv-z]* -%_mandir/man5/user* -%_mandir/man7/[bdfks]* -%_mandir/man8/kern* -%_mandir/man8/pam_* -%_mandir/man8/systemd-[a-gik-tv]* -%_mandir/man8/systemd-h[aioy]* -%_mandir/man8/systemd-journal-remote.* -%_mandir/man8/systemd-journal-upload.* -%_mandir/man8/systemd-journald* -%_mandir/man8/systemd-u[ps]* +%{_mandir}/man1/[a-rt-z]*ctl.1* +%{_mandir}/man1/systemc*.1* +%{_mandir}/man1/systemd*.1* +%{_mandir}/man5/[a-tv-z]* +%{_mandir}/man5/user* +%{_mandir}/man7/[bdfks]* +%{_mandir}/man8/kern* +%{_mandir}/man8/pam_* +%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-h[aioy]* +%{_mandir}/man8/systemd-journald* +%{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%if ! 0%{?bootstrap} -%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%endif %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/numlock-on -%if 0%{suse_version} < 1310 -%{_sysconfdir}/rpm/macros.systemd -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database -%dir %{_localstatedir}/lib/systemd/coredump +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if ! 0%{?bootstrap} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_prefix}/lib/systemd/import-pubring.gpg -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif - -%if ! 0%{?bootstrap} -%files bash-completion -f files.completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* -%endif +%{_datadir}/pkgconfig/systemd.pc %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so +%{_libdir}/pkgconfig/libsystemd.pc +%{_includedir}/systemd/ +%if %{with compatlibs} %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so %{_libdir}/libsystemd-journal.so -%{_includedir}/systemd/ -%{_datadir}/pkgconfig/systemd.pc -%{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc +%endif %if ! 0%{?bootstrap} -%_mandir/man3/SD*.3* -%_mandir/man3/sd*.3* +%{_mandir}/man3/SD*.3* +%{_mandir}/man3/sd*.3* %endif %files sysvinit @@ -1496,8 +1161,7 @@ exit 0 %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%dir %_prefix/lib/systemd -%_prefix/lib/systemd/systemd-sysv-install +%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) @@ -1506,12 +1170,10 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm -%if 0%{?suse_version} <= 1310 -%{_prefix}/lib/firmware -%endif %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe @@ -1523,7 +1185,6 @@ exit 0 %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules %exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ @@ -1532,17 +1193,18 @@ exit 0 %ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} -%_mandir/man5/udev* -%_mandir/man7/hwdb* -%_mandir/man7/udev* -%_mandir/man8/systemd-hwdb* -%_mandir/man8/systemd-udev* -%_mandir/man8/udev* +%{_mandir}/man5/udev* +%{_mandir}/man7/hwdb* +%{_mandir}/man7/udev* +%{_mandir}/man8/systemd-hwdb* +%{_mandir}/man8/systemd-udev* +%{_mandir}/man8/udev* %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket +%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %dir %{_prefix}/lib/systemd/system/sysinit.target.wants %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %dir %{_prefix}/lib/systemd/system/sockets.target.wants @@ -1550,18 +1212,16 @@ exit 0 %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.network -%if 0%{?suse_version} > 1310 %{_datadir}/pkgconfig/udev.pc -%endif %files -n libsystemd0%{?mini} %defattr(-,root,root) -%_libdir/libsystemd.so.* -%if %{with compat_libs} -%_libdir/libsystemd-daemon.so.* -%_libdir/libsystemd-login.so.* -%_libdir/libsystemd-id128.so.* -%_libdir/libsystemd-journal.so.* +%{_libdir}/libsystemd.so.* +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* %endif %files -n libudev%{?mini}1 @@ -1587,27 +1247,51 @@ exit 0 %files -n nss-myhostname %defattr(-, root, root) +/%{_lib}/*nss_myhostname* %{_sbindir}/nss-myhostname-config -%if !0%{?bootstrap} %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* %endif -/%{_lib}/*nss_myhostname* -%files journal-gateway +%if %{with resolved} +%files -n nss-resolve %defattr(-, root, root) -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_datadir}/systemd/gatewayd +%{_libdir}/libnss_resolve.so.2 +%{_mandir}/man8/libnss_resolve.* +%{_mandir}/man8/nss-resolve.* +%endif +%if %{with machined} %files -n nss-mymachines %defattr(-,root,root) -%_libdir/libnss_mymachines.so* -%if !0%{?bootstrap} -%_mandir/man8/libnss_mymachines.* -%_mandir/man8/nss-mymachines.* -%endif +%{_libdir}/libnss_mymachines.so* +%{_mandir}/man8/libnss_mymachines.* +%{_mandir}/man8/nss-mymachines.* %endif +%if %{with journal_remote} +%files journal-remote +%defattr(-, root, root) +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/system/systemd-journal-remote.* +%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_prefix}/lib/systemd/systemd-journal-remote +%{_prefix}/lib/systemd/systemd-journal-upload +%{_libexecdir}/sysusers.d/systemd-remote.conf +%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_mandir}/man8/systemd-journal-remote.* +%{_mandir}/man8/systemd-journal-upload.* +%{_datadir}/systemd/gatewayd +%endif + +%files bash-completion +%defattr(-,root,root,-) +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch deleted file mode 100644 index 7850822e..00000000 --- a/systemd-pam_config.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: systemd-227/factory/etc/pam.d/other -=================================================================== ---- systemd-227.orig/factory/etc/pam.d/other -+++ systemd-227/factory/etc/pam.d/other -@@ -1,6 +1,6 @@ - # This file is part of systemd. - --auth include system-auth --account include system-auth --password include system-auth --session include system-auth -+auth include common-auth -+account include common-account -+password include common-password -+session include common-session -Index: systemd-227/src/login/systemd-user.m4 -=================================================================== ---- systemd-227.orig/src/login/systemd-user.m4 -+++ systemd-227/src/login/systemd-user.m4 -@@ -2,10 +2,10 @@ - # - # Used by systemd --user instances. - --account include system-auth -+account include common-account - - m4_ifdef(`HAVE_SELINUX', - session required pam_selinux.so close - session required pam_selinux.so nottys open - )m4_dnl --session include system-auth -+session include common-session diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 4d98e4f6..c9f777a6 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -102,6 +102,7 @@ while read line ; do done < /var/lib/systemd/sysv-convert/database } +declare -i fail=0 case "$1" in -h|--help) help @@ -112,7 +113,8 @@ case "$1" in for service in $@ ; do if [ ! -r "/etc/init.d/$service" ]; then echo "SysV service $service does not exist" >/dev/stderr - exit 1 + let fail++ + continue fi for runlevel in 2 3 4 5; do find_service $service $runlevel @@ -127,11 +129,10 @@ case "$1" in shift services=$@ lookup_database $services - fail=0 for service in $services; do if [ -z "${results_runlevel[$service]}" ]; then echo No information found about service $service found. >/dev/stderr - fail=1 + let fail++ continue fi declare -i count @@ -142,7 +143,6 @@ case "$1" in count+=1 done done - exit $fail ;; --apply) shift @@ -170,8 +170,8 @@ case "$1" in done ;; *) usage - exit 2;; + let fail=2 + ;; esac - - +exit $fail diff --git a/systemd-sysv-install b/systemd-sysv-install index 84e687b0..36e13055 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -1,26 +1,41 @@ #!/bin/sh +# This script is called by "systemctl enable/disable" when the given unit is a +# SysV init.d script. It needs to call the distribution's mechanism for +# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This +# can optionally take a --root argument for enabling a SysV init script +# in a chroot or similar. set -e usage() { - echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 - exit 1 + echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 + exit 1 } + +# parse options eval set -- "$(getopt -o r: --long root: -- "$@")" while true; do - case "$1" in - -r|--root) - ROOT="$2" - shift 2 ;; - --) shift ; break ;; - *) usage ;; - esac + case "$1" in + -r|--root) + ROOT="$2" + shift 2 ;; + --) shift ; break ;; + *) usage ;; + esac done + NAME="$2" -ROOT="${ROOT:+--root=$ROOT}" [ -n "$NAME" ] || usage + case "$1" in - enable) chkconfig $ROOT -a "$NAME" ;; - disable) chkconfig $ROOT -d "$NAME" ;; - is-enabled) chkconfig $ROOT -c "$NAME" ;; - *) usage ;; + enable) + chkconfig $ROOT --no-systemctl -s "$NAME" on + ;; + disable) + chkconfig $ROOT --no-systemctl -s "$NAME" off + ;; + is-enabled) + chkconfig $ROOT --no-systemctl -c "$NAME" + ;; + *) + usage ;; esac diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch deleted file mode 100644 index 1233b3b2..00000000 --- a/systemd-tmp-safe-defaults.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Reinhard Max -Date: Fri, 19 Apr 2013 16:12:28 +0200 -Subject: systemd tmp safe defaults - -Fix regression in the default for tmp auto-deletion (FATE#314974). -SUSE policy is to not clean /tmp by default. ---- - tmpfiles.d/tmp.conf | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-228/tmpfiles.d/tmp.conf -=================================================================== ---- systemd-228.orig/tmpfiles.d/tmp.conf -+++ systemd-228/tmpfiles.d/tmp.conf -@@ -8,8 +8,9 @@ - # See tmpfiles.d(5) for details - - # Clear tmp directories separately, to make them easier to override --q /tmp 1777 root root 10d --q /var/tmp 1777 root root 30d -+# SUSE policy: we do not clean these directories -+q /tmp 1777 root root - -+q /var/tmp 1777 root root - - - # Exclude namespace mountpoints created with PrivateTmp=yes - x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index e71f989e..019f68f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,261 @@ +------------------------------------------------------------------- +Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com + +- Own a couple of directories even if they don't belong to systemd + otherwise the build system will complain. + + Some directories (owned by others packages) are simply used by + systemd to ship some scripts or config files to customize others + *optional* components. Since thos components are not build required + by systemd those directories are not owned by any packages and the + BS complains... + +------------------------------------------------------------------- +Wed Oct 26 07:45:08 UTC 2016 - fbui@suse.com + +- Import commit + + 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) + +------------------------------------------------------------------- +Mon Oct 24 14:26:40 UTC 2016 - fbui@suse.com + +- %sysusers_create and %tmpfiles_create must be called in %post + + Calling %pre is broken since the respective conf files are not yet + installed. + +------------------------------------------------------------------- +Mon Oct 24 13:53:04 UTC 2016 - fbui@suse.com + +- %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are + part of systemd-journal-remote package (only). + +------------------------------------------------------------------- +Mon Oct 24 13:21:22 UTC 2016 - fbui@suse.com + +- systemd-journal-{gatewayd,remote,upload} units are only part of + "systemd-journal-remote" package. + + So exclude them from the main package. + +------------------------------------------------------------------- +Mon Oct 24 08:56:59 UTC 2016 - fbui@suse.com + +- Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 + + 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks + df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) + f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" + 3760c10 manager: tighten incoming notification message checks + d6efd71 core: only warn on short reads on signal fd + 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones + fdf2dc3 manager: don't ever busy loop when we get a notification message we can't process + +------------------------------------------------------------------- +Thu Oct 20 06:57:57 UTC 2016 - fbui@suse.com + +- Rename kbd-model-map-extra into kbd-model-map.legacy + +------------------------------------------------------------------- +Wed Oct 19 07:24:46 UTC 2016 - fbui@suse.com + +- Remove tcpd-devel build requirement. + + tcpwrap support has been removed since v212, see commit + 7f8aa67131cfc03ddcbd31c0420754864fc122f0 + +------------------------------------------------------------------- +Tue Oct 18 14:52:00 UTC 2016 - fbui@suse.com + +- remove all dummy "aliases" to /etc/init.d (as it was already done by + factory more than 1 year ago). + + Even if a sysvinit script is still requiring one of those dummy + symlinks this should not be an issue since this is requirement is + translated into a weak dependency. + +------------------------------------------------------------------- +Tue Oct 18 13:20:58 UTC 2016 - fbui@suse.com + +- specfile: + + - do not own /usr/share/zsh directory + - do not own /etc/dbus-1 and /etc/dbus-1/system.d dirs + - do not own /usr/share/dbus-1 dir + +------------------------------------------------------------------- +Tue Oct 18 13:06:27 UTC 2016 - fbui@suse.com + +- specfile: %{_prefix}/lib/systemd/system-preset was mentioned twice + in %files section. + +------------------------------------------------------------------- +Tue Oct 18 09:30:37 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - use curly braces with rpm macros + +------------------------------------------------------------------- +Tue Oct 18 09:15:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - %ghost files doesn't need (anymore) to be created in %builroot + - do not own /etc/X11/xorg.conf.d and /etc/X11/xinit + +------------------------------------------------------------------- +Tue Oct 18 07:58:38 UTC 2016 - fbui@suse.com + +- Specfile cleanup: no need to protect the manpages with %bootstrap + condition in nss-myhostname package since the package itself is + already protected. + +------------------------------------------------------------------- +Tue Oct 18 07:51:30 UTC 2016 - fbui@suse.com + +- fix nss-resolve sub package: + + - add a %files section + - add a package description + - libnss_resolve.so.2 is now part of this subpackage + - add %post and %postun sections + +------------------------------------------------------------------- +Tue Oct 18 07:16:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - reorganize some files in %files by types + - some config files were missing the "noreplace" attribute + +------------------------------------------------------------------- +Tue Oct 18 06:19:34 UTC 2016 - fbui@suse.com + +- Use %config(noreplace) for %{_sysconfdir}/pam.d/systemd-user + +------------------------------------------------------------------- +Tue Oct 18 05:57:28 UTC 2016 - fbui@suse.com + +- Rework systemd-gatewayd package: + + - some gateway's files were still in the main package + - it now includes all progs dealing with remote journals + - it can be turned off (SP2 does that currently) + - it's been renamed systemd-journal-remote to reflect that + +------------------------------------------------------------------- +Mon Oct 17 12:19:34 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - only specify once %{_prefix}/lib/systemd/system-shutdown in %file + - no need to list the content of %{_prefix}/lib/systemd/user-generators in %file + - machined is not built when %bootstrap = 1 + +------------------------------------------------------------------- +Mon Oct 17 12:11:43 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - There's no point in listing all generators in %file + explicitly. The default is to include all of them and if for some + reason one must be excluded then it should be done explicitly. + +------------------------------------------------------------------- +Mon Oct 17 11:44:57 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - remove explicit call to make for building man pages. This is not + needed and was maybe useful when generated doc was pre-built and + shipped in the tarball. + +------------------------------------------------------------------- +Mon Oct 17 09:59:13 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - break overly long and unreadable line using mkdir + - gather directory creations + +------------------------------------------------------------------- +Mon Oct 17 08:38:27 UTC 2016 - fbui@suse.com + +- Stop providing udevd.8 + + systemd-udevd has replaced udevd for some time already and usage of + udevd should be avoided. Therefore don't encourage this and stop + documenting it. + +------------------------------------------------------------------- +Mon Oct 17 07:36:10 UTC 2016 - fbui@suse.com + +- Import from factory: + + - Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + + - curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they can put stuff in /etc/ssl/certs then + but that directory is managed by p11-kit and doesn't serve the + purpose those programs think. + +------------------------------------------------------------------- +Thu Oct 13 19:33:17 UTC 2016 - fbui@suse.com + +- Package rootsymlink-generator helper. It was forgotten when + switching to the git repo but re-added back. + + That said this thing should be removed as it's broken as soon as + there's no direct link between the root fs and its backend device + node (i.e. BTRFS). + +------------------------------------------------------------------- +Thu Oct 13 19:09:25 UTC 2016 - fbui@suse.com + +- Add kbd-model-map-extra file which contains the additional legacy + keymaps needed by yast. + + This was previously directly patched in the systemd source code. + +------------------------------------------------------------------- +Mon Oct 10 13:33:40 UTC 2016 - fbui@suse.com + +- Imported e251b8d7fb5c801fdfa3a023257ba0e4d514f3b0 + + - Re-add back /dev/root symlink generation (although this must be + deprecated and finally removed). + +------------------------------------------------------------------- +Fri Oct 7 14:18:10 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Third step: + + - Re-enable networkd (disabled by default in SLE12) + +------------------------------------------------------------------- +Fri Oct 7 13:33:51 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Second step: + + - Import the specfile + - Import the tarball generated from the git repo + - Import lastest changes for the different scripts + +------------------------------------------------------------------- +Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + First step: drop all patches and drop the tar ball. + ------------------------------------------------------------------- Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ca15920f..1a871667 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,26 +16,35 @@ # +# +# The git repository used to track all Suse specific changes can be +# found at: https://github.com/openSUSE/systemd. +# + %define bootstrap 0 %define mini %nil -%define real systemd -%define min_kernel_version 3.11 +%define min_kernel_version 4.5 -%bcond_without bash_completion -%bcond_without networkd +%bcond_with gnuefi +%if 0%{?bootstrap} +%bcond_with sysvcompat +%bcond_with machined +%bcond_with importd +%bcond_with networkd +%bcond_with journal_remote +%else %bcond_without sysvcompat +%bcond_without machined +%bcond_without importd +%bcond_without networkd +%bcond_without journal_remote +%ifarch %{ix86} x86_64 +%bcond_without gnuefi +%endif +%endif +%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid -%if 0%{?suse_version} > 1315 -%bcond_without permission -%bcond_without blkrrpart -%bcond_without udevsettle -%else -%bcond_with permission -%bcond_with blkrrpart -%bcond_with udevsettle -%endif -%bcond_with systemgrps Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -45,96 +54,95 @@ Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: acl -BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: kbd -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libsepol-devel -BuildRequires: libtool -BuildRequires: pam-devel -BuildRequires: systemd-rpm-macros -BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpci) >= 3 -#XXX: change to 2.27.1 when pkgconfig file is fixed upstream -BuildRequires: pkgconfig(mount) >= 2.27 -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) -%endif -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) -Conflicts: sysvinit -Conflicts: otherproviders(systemd) -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %version-%release -Conflicts: kiwi -%else -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif +%if ! 0%{?bootstrap} +BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets +BuildRequires: kbd +BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools -# curl and bzip2 are required for building importd -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 +%endif +BuildRequires: fdupes +BuildRequires: gperf +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libmount-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: pam-config >= 0.79-5 +BuildRequires: pam-devel +# regenerate_initrd_post macro is expanded during build, hence this +# BR. Also this macro was introduced since version 12.4. +BuildRequires: suse-module-tools >= 12.4 +BuildRequires: systemd-rpm-macros +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.26 +BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpci) >= 3 +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +%if %{with importd} +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(zlib) +%endif +%if %{with journal_remote} +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 +%endif +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) +%endif +%if %{with gnuefi} +BuildRequires: gnu-efi +%endif + +%if 0%{?bootstrap} +#!BuildIgnore: dbus-1 +Requires: this-is-only-for-build-envs +Provides: systemd = %{version}-%{release} +%else # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev = %{version}-%{release} -Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 -Requires: netcfg +Requires: netcfg >= 11.5 Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils +Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/awk -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl + +%if 0%{?bootstrap} +Conflicts: systemd +Conflicts: kiwi +%endif +Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Conflicts: kernel < %{min_kernel_version} Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 - -#Git-Clone: git://github.com/systemd/systemd -Source: https://github.com/systemd/systemd/archive/v%version.tar.gz -%if ! 0%{?bootstrap} -Source1: systemd-rpmlintrc -%else -Source1: systemd-mini-rpmlintrc -%endif +Source0: systemd-%{version}.tar.xz +Source1: %{name}-rpmlintrc Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 @@ -143,173 +151,9 @@ Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source13: fix-machines-subvol-for-rollbacks.sh +Source14: kbd-model-map.legacy -Source1065: systemd-remount-tmpfs - -# handle SUSE specific kbd settings -Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch -Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: insserv-generator.patch -Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch -Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - -# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done -Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch -# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices -Patch27: apply-ACL-for-nvidia-device-nodes.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device -Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. -Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch -Patch42: systemd-pam_config.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) -Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty -Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com -Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch -Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch -Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch188: boot-local-start.patch -# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch -# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch190: systemd-install-compat_pkgconfig-always.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch191: systemd-dbus-system-bus-address.patch -# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch192: let-linker-find-libudev-for-libdevmapper.patch -# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console -Patch197: rescue-emergency-target-conflicts.patch -# PATCH-FIX-SUSE Avoid a divide by zero sigtrap -Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) -Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) -Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) -Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-SUSE Shut up rpmlint warning -Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-SUSE -Patch352: set-and-use-default-logconsole.patch -Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) -Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) -Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) -Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) -Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 -Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 -Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch520: systemd-add-user-keep.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch521: kbd-model-map.patch -# PATCH-WORKAROUND-SUSE (boo#939571) -Patch522: Correct_assert_on_unexpected_error_code.patch -# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) -Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch -# PATCH-FIX-UPSTREAM (bsc#966535) -Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch -# PATCH-FIX-UPSTREAM -- fixed after 320 -Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch -# PATCH-FIX-UPSTREAM -- fixed after 231 -Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch -Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch -Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch -Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch -Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch -Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch -Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch -Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch - -# UDEV PATCHES -# ============ -# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. -# Udev patches mean: patches that affect udev code, src/{udev,libudev} -# nothing else, even if the patch might affect indirectly udev, as long -# as it's not changing the code of udev and libudev, then is not a udev -# patch. Further patches which add and/or changes udev rules. - -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) -Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch -# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) -Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 -Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) -Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) -Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) -Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch -# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch -Patch1096: 1096-new-udev-root-symlink-generator.patch -# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch -Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch -Patch1098: 1098-systemd-networkd-alias-network-service.patch -# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1100: hostname-NULL.patch +Source1065: udev-remount-tmpfs %description Systemd is a system and service manager, compatible with SysV and LSB @@ -321,20 +165,6 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1+ -Group: System/Base -Requires: bash -%if %{with bash_completion} -Requires: bash-completion -%endif -BuildArch: noarch - -%description bash-completion -Some systemd commands offer bash completion, but it's an optional dependency. - %package devel Summary: Development headers for systemd License: LGPL-2.1+ @@ -342,9 +172,8 @@ Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} -Provides: systemd-devel = %version-%release +Conflicts: systemd-devel %endif -Conflicts: otherproviders(systemd-devel) %description devel Development headers and auxiliary files for developing applications for systemd. @@ -396,27 +225,17 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm -# Avoid bootstrap cycle with sg3_utils -%if "%{?mini}" == "" -PreReq: /usr/bin/sg_inq -%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent -Requires(post): libudev%{?mini}1 Requires(post): sed Requires(post): /usr/bin/systemctl -%if %{defined regenerate_initrd_post} +Requires(postun): %insserv_prereq + Requires(post): coreutils -Requires(post): /usr/bin/stat Requires(postun): coreutils -Requires(posttrans): suse-module-tools -Requires(posttrans): /sbin/mkinitrd -%else -Requires(post): /sbin/mkinitrd -Requires(postun): /sbin/mkinitrd -%endif +Requires(posttrans): suse-module-tools >= 12.4 + Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -425,10 +244,12 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %version-%release -Conflicts: kiwi +Provides: udev = %{version} +Conflicts: libudev1 +Conflicts: udev +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif -Conflicts: otherproviders(udev) %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or @@ -437,15 +258,15 @@ and dispatches them according to rules in /lib/udev/rules.d/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. - - %package -n libudev%{?mini}1 -# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 +Conflicts: kiwi +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n libudev%{?mini}1 @@ -455,12 +276,13 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libudev%{?mini}1 = %version-%release +Group: Development/Libraries/Other +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %version-%release +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} +Conflicts: libudev-devel %endif -Conflicts: otherproviders(libudev-devel) %description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a @@ -473,17 +295,27 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl -Requires(post): permissions Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +nss-resolve is a plug-in module for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) enabling it to resolve host +names via the systemd-resolved(8) service (provided by the systemd +package). + +It replaces the nss-dns plug-in module that traditionally resolves +hostnames via DNS. + %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1+ @@ -507,10 +339,32 @@ longer necessary. Note that nss-myhostname only provides a workaround for broken software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that's worth +is logged to /var/log/messages. Please check whether that is worth a bug report then. This package marks the installation to not use syslog but only the journal. +%endif +%if %{with journal_remote} +%package journal-remote +Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description journal-remote +This extends the journal functionality to keep a copy of logs on a +remote server by providing programs to forward journal entries over +the network, using encrypted HTTP, and to write journal files from +serialized journal contents. + +This package contains systemd-journal-gatewayd, +systemd-journal-remote, and systemd-journal-upload. +%endif + +%if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ @@ -521,127 +375,29 @@ nss-myhostname is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution for the locally configured containers and virtual machines systemd-machined knows about. - -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-resolve - -%package journal-gateway -Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1+ -Group: System/Base -Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -%description journal-gateway -systemd-journal-gatewayd serves journal events over the network using HTTP. %endif +%package bash-completion +Summary: Bash completion support for systemd +License: LGPL-2.1+ +Group: System/Base +Requires: bash-completion +BuildArch: noarch + +%description bash-completion +Some systemd commands offer bash completion, but it is an optional dependency. + %prep -%setup -q -n systemd-%version +%setup -q -n systemd-%{version} echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in +#skipped for now +#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} cp %{SOURCE7} m4/ %endif -# systemd patches -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch12 -p1 -%patch16 -p1 -%patch17 -p1 -%patch20 -p1 -%patch21 -p1 -# check if this is still needed, or can be derived from fbdev uaccess rule -# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html -%patch27 -p1 -%patch28 -p1 -%patch37 -p1 -%patch39 -p1 -%patch41 -p1 -%patch42 -p1 -%patch84 -p1 -%patch86 -p1 -%patch90 -p1 -%patch91 -p1 -%patch120 -p1 -%patch178 -p1 -%patch179 -p1 -%patch180 -p1 -%patch182 -p1 -%patch183 -p1 -%patch186 -p1 -%patch188 -p1 -%patch189 -p1 -%patch190 -p1 -%patch191 -p1 -%patch192 -p1 -%patch193 -p1 -%patch197 -p1 -%patch198 -p1 -%patch203 -p1 -%patch208 -p1 -%patch338 -p1 -%patch345 -p1 -%patch352 -p1 -%patch362 -p1 -%patch366 -p1 -%patch368 -p1 -%patch386 -p1 -%patch430 -p1 -%patch475 -p1 -%patch490 -p1 -%patch520 -p1 -%patch521 -p1 -%patch522 -p1 -%patch523 -p1 -%patch524 -p1 -%patch525 -p1 -%patch526 -p1 -%patch527 -p1 -%patch528 -p1 -%patch529 -p1 -%patch530 -p1 -%patch531 -p1 -%patch532 -p1 -%patch533 -p1 -%patch534 -p1 -%patch535 -p1 -%patch536 -p1 -%patch537 -p1 -%patch538 -p1 - -# udev patches -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1035 -p1 -%if %{with blkrrpart} -%patch1037 -p1 -%endif -%patch1062 -p1 -%patch1066 -p1 -%patch1095 -p1 -%patch1096 -p1 -%patch1097 -p1 -%patch1098 -p1 -%patch1099 -p1 -%patch1100 -p1 - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -652,59 +408,49 @@ sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf %build # -# Be sure that fresh build libudev is linked as otherwise no errors are found +# Be sure that fresh build libudev is found and used at linkage time # sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS = \\\ - $(AM_LDFLAGS) \\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ +systemd_cryptsetup_LDFLAGS =\\\ + $(AM_LDFLAGS)\\\ + -Wl,-rpath-link=$(top_srcdir)/.libs\ }' Makefile.am -sh autogen.sh -export CFLAGS="%{optflags}" -%if 0%{?suse_version} == 1315 - CFLAGS="$CFLAGS -DNET_IFNAMES=1" -%else - CFLAGS="$CFLAGS -DNET_IFNAMES=0" -%endif +./autogen.sh -# certificate-root is set to /etc/pki/systemd instead of the -# built-in default /etc/ssl as journal-remote and journal-upload -# think they kan put stuff in /etc/ssl/certs then but that -# directory is managed by p11-kit and doesn't serve the purpose -# those programs think -# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ - --with-certificate-root=/etc/pki/systemd \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ - --disable-machined \ - --disable-importd \ -%else - --enable-manpages \ - --with-nss-my-hostname-warning \ +%endif +%if %{with compatlibs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-tests \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ %if %{without networkd} --disable-networkd \ %endif +%if %{without machined} + --disable-machined \ +%endif %if %{without sysvcompat} --with-sysvinit-path= \ --with-sysvrcnd-path= \ @@ -714,42 +460,35 @@ export CFLAGS="%{optflags}" %endif --disable-kdbus -%make_build V=e -%if ! 0%{?bootstrap} -%make_build V=e update-man-list man -%endif +make %{?_smp_mflags} V=e %install %make_install -install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif +# FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -%if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 -%endif - -%if ! 0%{?bootstrap} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config -%endif - -ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} -install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated + +install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -770,13 +509,18 @@ cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path -# create %{_libexecdir}/modules-load.d +# create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time sg EOF +# To avoid making life hard for Factory developers, don't package the +# kernel.core_pattern setting until systemd-coredump is a part of an actual +# systemd release and it's made clear how to get the core dumps out of the +# journal. + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -785,7 +529,14 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} rm -f %{buildroot}%{_localstatedir}/log/README -rm -rf %{buildroot}%{_datadir}/bash-completion +%endif + +# journal-upload is built if libcurl is installed which can happen +# when importd is enabled (whereas journal_remote is not). +%if ! %{with journal_remote} +rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf +rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload +rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif # legacy links @@ -797,13 +548,19 @@ for f in loginctl journalctl ; do done ln -s /usr/lib/udev %{buildroot}/lib/udev -# Create the /var/log/journal directory to change the volatile journal to a persistent one +# Create the /var/log/journal directory to change the volatile journal +# to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ +# This dir must be owned (and thus created) by systemd otherwise the +# build system will complain. This is odd since we simply own a ghost +# file in it... +mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d + # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -#create ghost databases +# Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -815,8 +572,20 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants + +# Make sure the generator directories are created and properly owned. +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ @@ -826,18 +595,12 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. - -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf -d! /run/sysctl.d -L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v -EOF - -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d - -cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -[Unit] -After=local-fs.target +# create drop-in to prevent delegate=yes for root user (bsc#954765, +# bnc#953241, fate#320421) +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ +cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf < %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -# On systems supporting rollbacks with btrfs, /var/lib/machines -# subvolume must be created differently. Normally the installer takes -# care of this now but some systems uses a plain subvolume that breaks -# snapshots, rollback ("nearly everything" see bsc#992573). This -# script should help fixing it. -install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -%if ! 0%{?bootstrap} -for f in %{buildroot}%{_datadir}/bash-completion/completions/* -do - test -e "$f" || break - grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" -done > files.completion -%else -> files.completion -%endif - # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%if %{without compat_libs} -lib=%{_libdir}/libsystemd.so -for lnk in daemon login id128 journal -do - lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so - echo '/* GNU ld script */' > ${lnk} - echo 'INPUT('${lib}')' >> ${lnk} -done -%endif - -# Some files which may created by us or by the admin later on -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ - machine-id machine-info \ - systemd/system/runlevel2.target \ - systemd/system/runlevel3.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel5.target -do - > %{buildroot}%{_sysconfdir}/$ghost -done +# Make sure to disable all services by default. The Suse branding +# presets package takes care of defining the right policies. +rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset +echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset # Workaround for bug #882393 for runlevel in poweroff rescue multi-user graphical reboot @@ -900,86 +627,72 @@ do ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ done -# add entries for xkeyboard-config converted keymaps; mappings, -# which already exist in original systemd mapping table are being -# ignored though, i.e. not overwritten +# Add entries for xkeyboard-config converted keymaps; mappings, which +# already exist in original systemd mapping table are being ignored +# though, i.e. not overwritten; needed as long as YaST uses console +# keymaps internally and calls localectl to convert from vconsole to +# X11 keymaps. Ideally YaST should switch to X11 layout names (the +# mapping table wouldn't be needed since each X11 keymap has a +# generated xkbd keymap) and let localectl initialize +# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf +# (FATE#319454). if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map fi +# kbd-model-map.legacy is used to provide mapping for legacy keymaps, +# which may still be used by yast. +cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map + %find_lang systemd %pre -for name in journal timesync network resolve bus-proxy -do - getent group systemd-$name >/dev/null && continue - groupadd -r systemd-$name || : -done -for name in adm input tape -do - getent group $name >/dev/null && continue - groupadd -r $name || : -done -for name in timesync network resolve bus-proxy -do - getent passwd systemd-$name >/dev/null && continue - case "$name" in - timesync) descr="Systemd Time Synchronization" ;; - network) descr="Systemd Network Management" ;; - resolve) descr="Systemd Resolver" ;; - bus-proxy) descr="Systemd Bus Proxy" ;; - esac - useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : -done +# Build of installation images uses an hard coded list of some +# packages with a %pre that needs to be run during the +# build. Unfortunately, systemd in one of them. To make thing simpler +# we use a %pre section even if it is not needed. exit 0 %post +%sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} -/usr/sbin/pam-config -a --systemd || : +pam-config -a --systemd || : %endif -/sbin/ldconfig -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup || : +ldconfig +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : +systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : -/usr/bin/systemctl daemon-reexec || : -/usr/bin/journalctl --update-catalog || : -# Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ || : -chmod g+s %{_localstatedir}/log/journal/ || : -if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : - chmod g+s "%{_localstatedir}/log/journal/$ID" || : -fi -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -systemd-sysusers || : +systemctl daemon-reexec || : +%journal_catalog_update +%tmpfiles_create # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) if [ -n "$runlevel" ] ; then - /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : fi fi + # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done -fi +if [ $1 -eq 1 ]; then + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : +fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -993,7 +706,7 @@ done # distros. This unit can be pulled (implicitely) in various ways # (private /tmp, etc..) and it's required by the basic.target # explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +case $(systemctl is-enabled tmp.mount 2>/dev/null) in enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac @@ -1001,38 +714,54 @@ esac # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. +# +# The convertion might only be problematic for openSUSE distros +# (TW/Factory) where previous versions had already created the +# subvolume at the wrong place (via tmpfiles for example) and user +# started to populate and use it. In this case we'll let the user fix +# it manually. +# +# For SLE12 this subvolume was only introduced during the upgrade from +# v210 to v228 when we added this workaround. Note that the subvolume +# is still created at the wrong place due to the call to +# tmpfiles_create macro previously however it's empty so there +# shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : fi %postun -/sbin/ldconfig +ldconfig if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload || : - #Avoid restarting logind [bnc#934901] until fixed upstream - #/usr/bin/systemctl try-restart systemd-logind.service || : + systemctl daemon-reload || : + # Avoid restarting logind [bnc#934901] until fixed upstream + #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - /usr/bin/systemctl disable \ - getty@.service \ - remote-fs.target || : - rm -f /etc/systemd/system/default.target 2>&1 || : -fi + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : + + rm -f /etc/systemd/system/default.target +fi >/dev/null -# pretrans section must always use lua %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} + %regenerate_initrd_post if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -1040,135 +769,94 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi -# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules + +# Create "tape"/"input" group which is referenced by some udev rules +# that we're shipping. FIXME: maybe we should consider using +# "sysusers_create basic.conf" instead ? getent group tape >/dev/null || groupadd -r tape || : -# kill daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root ; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : - udevadm control --exit || : - fi -fi +getent group input >/dev/null || groupadd -r input || : %post -n udev%{?mini} -/usr/bin/udevadm hwdb --update || : -if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then - # add KERNEL name match to existing persistent net rules - sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules || : -fi +%udev_hwdb_update + +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : + # cleanup old stuff rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/20-cdrom.rules -rm -f /etc/udev/rules.d/55-cdrom.rules -rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload || : -# start daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service; then - /usr/lib/systemd/systemd-udevd --daemon || : - fi - fi -fi - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi +rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} - +%regenerate_initrd_post +%insserv_cleanup systemctl daemon-reload || : +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%if %{defined regenerate_initrd_post} %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%endif -%post -n libsystemd0%{?mini} -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libsystemd0%{?mini} -p /sbin/ldconfig + %postun -n libudev%{?mini}1 -p /sbin/ldconfig +%postun -n libsystemd0%{?mini} -p /sbin/ldconfig %if ! 0%{?bootstrap} - -%if %{with permission} -%verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal/ -%endif - -%pre logger -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -exit 0 - %post logger -%if %{with permission} -%set_permissions %{_localstatedir}/log/journal/ -%endif -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif +systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service || : + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi +%endif +%if ! 0%{?bootstrap} %preun -n nss-myhostname if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then %{_sbindir}/nss-myhostname-config --disable fi %post -n nss-myhostname -p /sbin/ldconfig - %postun -n nss-myhostname -p /sbin/ldconfig +%endif +%if %{with resolved} +%post -n nss-resolve -p /sbin/ldconfig +%postun -n nss-resolve -p /sbin/ldconfig +%endif + +%if %{with machined} %post -n nss-mymachines -p /sbin/ldconfig %postun -n nss-mymachines -p /sbin/ldconfig - -%pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -exit 0 - -%post journal-gateway -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%preun journal-gateway -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%postun journal-gateway -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - %endif +%if %{with journal_remote} +%pre journal-remote +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service +%service_add_pre systemd-journal-upload.service + +%post journal-remote +%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf +%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_post systemd-journal-remote.socket systemd-journal-remote.service +%service_add_post systemd-journal-upload.service + +%preun journal-remote +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_preun systemd-journal-upload.service + +%postun journal-remote +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_postun systemd-journal-upload.service +%endif + +%clean + %files -f systemd.lang %defattr(-,root,root) /bin/systemd @@ -1182,7 +870,7 @@ exit 0 %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if ! 0%{?bootstrap} +%if %{with machined} %{_bindir}/machinectl %endif %{_bindir}/systemctl @@ -1219,16 +907,17 @@ exit 0 %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload %exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service -%if ! 0%{?bootstrap} +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%endif +%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* +%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice @@ -1241,67 +930,47 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/user/*.socket -%exclude %{_prefix}/lib/systemd/systemd-udevd -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog -%dir %{_prefix}/lib/systemd/system-shutdown -%dir %{_prefix}/lib/systemd/system-preset -%dir %{_prefix}/lib/systemd/user-preset -%dir %{_prefix}/lib/systemd/system-generators -%dir %{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator +%{_prefix}/lib/systemd/system-preset +%{_prefix}/lib/systemd/user-preset +%{_prefix}/lib/systemd/system-generators +%{_prefix}/lib/systemd/user-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system/default.target.wants %dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%dir %{_prefix}/lib/systemd/system/user@0.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d -%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -%if ! 0%{?bootstrap} -%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%if %{with importd} +%{_prefix}/lib/systemd/import-pubring.gpg %endif -%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator -%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator -%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so -%config /etc/pam.d/systemd-user -%if ! 0%{?bootstrap} -%ifarch %{ix86} x86_64 +%if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%dir %{_libexecdir}/tmpfiles.d +%{_libexecdir}/sysusers.d/ +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf + %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf +%{_libexecdir}/tmpfiles.d/ +%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1310,42 +979,48 @@ exit 0 %dir %{_sysconfdir}/sysctl.d %{_prefix}/lib/sysctl.d/50-coredump.conf +%dir %{_sysconfdir}/X11/xinit +%dir %{_sysconfdir}/X11/xinit/xinitrc.d +%dir %{_sysconfdir}/X11/xorg.conf.d +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %{_sysconfdir}/xdg/systemd/user -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%config(noreplace) %{_sysconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with machined} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%endif +%if %{with importd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%endif -%{_sysconfdir}/X11/xinit/ -# Some files which may created by us -%dir %{_sysconfdir}/X11/xorg.conf.d +# Some files created by us. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1356,121 +1031,114 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_datadir}/factory/ -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname %if %{with networkd} %{_prefix}/lib/systemd/system/org.freedesktop.network1.busname +%endif +%if %{with resolved} +%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname +%endif +%if %{with machined} +%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%endif +%if %{with importd} +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%endif + +%{_datadir}/systemd +%{_datadir}/factory +%exclude %{_datadir}/systemd/gatewayd + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%if %{with resolved} +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%endif +%if %{with machined} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname +%if %{with importd} +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%endif -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if ! 0%{?bootstrap} -%exclude %{_datadir}/systemd/gatewayd +%if %{with machined} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif -%{_datadir}/systemd %if ! 0%{?bootstrap} -%_mandir/man1/[a-rt-z]*ctl.1* -%_mandir/man1/systemc*.1* -%_mandir/man1/systemd*.1* -%_mandir/man5/[a-tv-z]* -%_mandir/man5/user* -%_mandir/man7/[bdfks]* -%_mandir/man8/kern* -%_mandir/man8/pam_* -%_mandir/man8/systemd-[a-gik-tv]* -%_mandir/man8/systemd-h[aioy]* -%_mandir/man8/systemd-journal-remote.* -%_mandir/man8/systemd-journal-upload.* -%_mandir/man8/systemd-journald* -%_mandir/man8/systemd-u[ps]* +%{_mandir}/man1/[a-rt-z]*ctl.1* +%{_mandir}/man1/systemc*.1* +%{_mandir}/man1/systemd*.1* +%{_mandir}/man5/[a-tv-z]* +%{_mandir}/man5/user* +%{_mandir}/man7/[bdfks]* +%{_mandir}/man8/kern* +%{_mandir}/man8/pam_* +%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-h[aioy]* +%{_mandir}/man8/systemd-journald* +%{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%if ! 0%{?bootstrap} -%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%endif %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/numlock-on -%if 0%{suse_version} < 1310 -%{_sysconfdir}/rpm/macros.systemd -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database -%dir %{_localstatedir}/lib/systemd/coredump +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if ! 0%{?bootstrap} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_prefix}/lib/systemd/import-pubring.gpg -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif - -%if ! 0%{?bootstrap} -%files bash-completion -f files.completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* -%endif +%{_datadir}/pkgconfig/systemd.pc %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so +%{_libdir}/pkgconfig/libsystemd.pc +%{_includedir}/systemd/ +%if %{with compatlibs} %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so %{_libdir}/libsystemd-journal.so -%{_includedir}/systemd/ -%{_datadir}/pkgconfig/systemd.pc -%{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc +%endif %if ! 0%{?bootstrap} -%_mandir/man3/SD*.3* -%_mandir/man3/sd*.3* +%{_mandir}/man3/SD*.3* +%{_mandir}/man3/sd*.3* %endif %files sysvinit @@ -1491,8 +1159,7 @@ exit 0 %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%dir %_prefix/lib/systemd -%_prefix/lib/systemd/systemd-sysv-install +%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) @@ -1501,12 +1168,10 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm -%if 0%{?suse_version} <= 1310 -%{_prefix}/lib/firmware -%endif %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe @@ -1518,7 +1183,6 @@ exit 0 %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules %exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ @@ -1527,17 +1191,18 @@ exit 0 %ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} -%_mandir/man5/udev* -%_mandir/man7/hwdb* -%_mandir/man7/udev* -%_mandir/man8/systemd-hwdb* -%_mandir/man8/systemd-udev* -%_mandir/man8/udev* +%{_mandir}/man5/udev* +%{_mandir}/man7/hwdb* +%{_mandir}/man7/udev* +%{_mandir}/man8/systemd-hwdb* +%{_mandir}/man8/systemd-udev* +%{_mandir}/man8/udev* %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket +%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %dir %{_prefix}/lib/systemd/system/sysinit.target.wants %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %dir %{_prefix}/lib/systemd/system/sockets.target.wants @@ -1545,18 +1210,16 @@ exit 0 %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.network -%if 0%{?suse_version} > 1310 %{_datadir}/pkgconfig/udev.pc -%endif %files -n libsystemd0%{?mini} %defattr(-,root,root) -%_libdir/libsystemd.so.* -%if %{with compat_libs} -%_libdir/libsystemd-daemon.so.* -%_libdir/libsystemd-login.so.* -%_libdir/libsystemd-id128.so.* -%_libdir/libsystemd-journal.so.* +%{_libdir}/libsystemd.so.* +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* %endif %files -n libudev%{?mini}1 @@ -1582,27 +1245,51 @@ exit 0 %files -n nss-myhostname %defattr(-, root, root) +/%{_lib}/*nss_myhostname* %{_sbindir}/nss-myhostname-config -%if !0%{?bootstrap} %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* %endif -/%{_lib}/*nss_myhostname* -%files journal-gateway +%if %{with resolved} +%files -n nss-resolve %defattr(-, root, root) -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_datadir}/systemd/gatewayd +%{_libdir}/libnss_resolve.so.2 +%{_mandir}/man8/libnss_resolve.* +%{_mandir}/man8/nss-resolve.* +%endif +%if %{with machined} %files -n nss-mymachines %defattr(-,root,root) -%_libdir/libnss_mymachines.so* -%if !0%{?bootstrap} -%_mandir/man8/libnss_mymachines.* -%_mandir/man8/nss-mymachines.* -%endif +%{_libdir}/libnss_mymachines.so* +%{_mandir}/man8/libnss_mymachines.* +%{_mandir}/man8/nss-mymachines.* %endif +%if %{with journal_remote} +%files journal-remote +%defattr(-, root, root) +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/system/systemd-journal-remote.* +%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_prefix}/lib/systemd/systemd-journal-remote +%{_prefix}/lib/systemd/systemd-journal-upload +%{_libexecdir}/sysusers.d/systemd-remote.conf +%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_mandir}/man8/systemd-journal-remote.* +%{_mandir}/man8/systemd-journal-upload.* +%{_datadir}/systemd/gatewayd +%endif + +%files bash-completion +%defattr(-,root,root,-) +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %changelog diff --git a/tomcat6-var-lock-subsys-legacy.patch b/tomcat6-var-lock-subsys-legacy.patch deleted file mode 100644 index cf9207ba..00000000 --- a/tomcat6-var-lock-subsys-legacy.patch +++ /dev/null @@ -1,20 +0,0 @@ -Provide /run/lock/subsys directory to be able to provide the -/var/lock/subsys via the symbolic link /var/lock (bnc#889357) - ---- - tmpfiles.d/legacy.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-221.orig/tmpfiles.d/legacy.conf -+++ systemd-221/tmpfiles.d/legacy.conf -@@ -17,7 +17,7 @@ L /var/lock - - - - ../run/lock - # /run/lock/subsys is used for serializing SysV service execution, and - # hence without use on SysV-less systems. - --#d /run/lock/subsys 0755 root root - -+d /run/lock/subsys 0755 root root - - - # /run/lock/lockdev is used to serialize access to tty devices via - # LCK..xxx style lock files, For more information see: diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch deleted file mode 100644 index f96fc24b..00000000 --- a/tty-ask-password-agent-on-console.patch +++ /dev/null @@ -1,376 +0,0 @@ -From 907bc2aa36f58c6050cd4b7b290e0992a4373e49 Mon Sep 17 00:00:00 2001 -From: Werner Fink -Date: Wed, 30 Sep 2015 15:00:41 +0200 -Subject: [PATCH] Ask for passphrases not only on the first console of - /dev/console - -but also on all other consoles. This does help on e.g. mainframes -where often a serial console together with other consoles are -used. Even rack based servers attachted to both a serial console -as well as having a virtual console do sometimes miss a connected -monitor. - -To be able to ask on all terminal devices of /dev/console the devices -are collected. If more than one device are found, then on each of the -terminals a inquiring task for passphrase is forked and do not return -to the caller. - -Every task has its own session and its own controlling terminal. -If one of the tasks does handle a password, the remaining tasks -will be terminated. - -Also let contradictory options on the command of -systemd-tty-ask-password-agent fail. - -Spwan for each device of the system console /dev/console a own process. - -Replace the system call wait() with with system call waitid(). ---- - src/tty-ask-password-agent/tty-ask-password-agent.c | 264 +++++++++++++++++++- - 1 file changed, 254 insertions(+), 10 deletions(-) - -Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd-228.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -4,6 +4,7 @@ - This file is part of systemd. - - Copyright 2010 Lennart Poettering -+ Copyright 2015 Werner Fink - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by -@@ -21,6 +22,9 @@ - - #include - #include -+#include -+#include -+#include - #include - #include - #include -@@ -49,6 +53,8 @@ - #include "terminal-util.h" - #include "util.h" - #include "utmp-wtmp.h" -+#include "fileio.h" -+#include "macro.h" - - static enum { - ACTION_LIST, -@@ -57,8 +63,21 @@ static enum { - ACTION_WALL - } arg_action = ACTION_QUERY; - -+struct console { -+ pid_t pid; -+ char *tty; -+}; -+ -+static volatile sig_atomic_t sigchild; -+ -+static void chld_handler(int sig) { -+ ++sigchild; -+} -+ - static bool arg_plymouth = false; - static bool arg_console = false; -+static bool arg_device = false; -+static const char *current_dev = "/dev/console"; - - static int ask_password_plymouth( - const char *message, -@@ -240,6 +259,80 @@ finish: - return r; - } - -+static void free_consoles(struct console *con, unsigned int num) { -+ unsigned int n; -+ -+ if (!con || num == 0) -+ return; -+ -+ for (n = 0; n < num; n++) -+ free(con[n].tty); -+ -+ free(con); -+} -+ -+static int collect_consoles(struct console **consoles, unsigned int *num) { -+ _cleanup_free_ char *active = NULL; -+ const char *word, *state; -+ struct console *con = NULL; -+ size_t con_len = 0, len; -+ unsigned int count = 0; -+ int ret; -+ -+ assert(num); -+ assert(consoles); -+ -+ ret = read_one_line_file("/sys/class/tty/console/active", &active); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to read /sys/class/tty/console/active: %m"); -+ -+ FOREACH_WORD(word, len, active, state) { -+ _cleanup_free_ char *tty = NULL; -+ -+ if (len == 4 && strneq(word, "tty0", 4)) { -+ -+ ret = read_one_line_file("/sys/class/tty/tty0/active", &tty); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to read /sys/class/tty/tty0/active: %m"); -+ -+ word = tty; -+ len = strlen(tty); -+ } -+ -+ con = GREEDY_REALLOC(con, con_len, 1+count); -+ if (!con) -+ return log_oom(); -+ -+ if (asprintf(&con[count].tty, "/dev/%.*s", (int)len, word) < 0) { -+ free_consoles(con, count); -+ return log_oom(); -+ } -+ -+ con[count].pid = 0; -+ count++; -+ } -+ -+ if (!con) { -+ con = GREEDY_REALLOC(con, con_len, 1); -+ if (!con) -+ return log_oom(); -+ -+ con[0].tty = strdup(current_dev); -+ if (!con[0].tty) { -+ free_consoles(con, 1); -+ return log_oom(); -+ } -+ -+ con[0].pid = 0; -+ count++; -+ } -+ -+ *num = count; -+ *consoles = con; -+ -+ return 0; -+} -+ - static int parse_password(const char *filename, char **wall) { - _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; - bool accept_cached = false, echo = false; -@@ -340,7 +433,7 @@ static int parse_password(const char *fi - int tty_fd = -1; - - if (arg_console) { -- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); -+ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); - if (tty_fd < 0) - return log_error_errno(tty_fd, "Failed to acquire /dev/console: %m"); - -@@ -601,7 +694,7 @@ static int parse_argv(int argc, char *ar - { "watch", no_argument, NULL, ARG_WATCH }, - { "wall", no_argument, NULL, ARG_WALL }, - { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, -- { "console", no_argument, NULL, ARG_CONSOLE }, -+ { "console", optional_argument, NULL, ARG_CONSOLE }, - {} - }; - -@@ -643,6 +736,10 @@ static int parse_argv(int argc, char *ar - - case ARG_CONSOLE: - arg_console = true; -+ if (optarg && *optarg) { -+ current_dev = optarg; -+ arg_device = true; -+ } - break; - - case '?': -@@ -657,9 +754,143 @@ static int parse_argv(int argc, char *ar - return -EINVAL; - } - -+ if (arg_plymouth || arg_console) { -+ -+ if (!IN_SET(arg_action, ACTION_QUERY, ACTION_WATCH)) { -+ log_error("%s conflicting options --query and --watch.", program_invocation_short_name); -+ return -EINVAL; -+ } -+ -+ if (arg_plymouth && arg_console) { -+ log_error("%s conflicting options --plymouth and --console.", program_invocation_short_name); -+ return -EINVAL; -+ } -+ } -+ - return 1; - } - -+/* -+ * To be able to ask on all terminal devices of /dev/console -+ * the devices are collected. If more than one device are found, -+ * then on each of the terminals a inquiring task is forked. -+ * Every task has its own session and its own controlling terminal. -+ * If one of the tasks does handle a password, the remaining tasks -+ * will be terminated. -+ */ -+static int ask_on_consoles(int argc, char *argv[]) { -+ struct console *consoles = NULL; -+ struct sigaction sig = { -+ .sa_handler = chld_handler, -+ .sa_flags = SA_NOCLDSTOP | SA_RESTART, -+ }; -+ struct sigaction oldsig; -+ sigset_t oldset; -+ unsigned int num = 0, id; -+ siginfo_t status = {}; -+ int ret; -+ -+ ret = collect_consoles(&consoles, &num); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to query password: %m"); -+ -+ assert_se(sigprocmask_many(SIG_UNBLOCK, &oldset, SIGHUP, SIGCHLD, -1) >= 0); -+ -+ assert_se(sigemptyset(&sig.sa_mask) >= 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) >= 0); -+ -+ sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) >= 0); -+ -+ for (id = 0; id < num; id++) { -+ consoles[id].pid = fork(); -+ -+ if (consoles[id].pid < 0) -+ return log_error_errno(errno, "Failed to query password: %m"); -+ -+ if (consoles[id].pid == 0) { -+ char *conarg; -+ int ac; -+ -+ conarg = strjoina("--console=", consoles[id].tty); -+ if (!conarg) -+ return log_oom(); -+ -+ free_consoles(consoles, num); /* not used anymore */ -+ -+ assert_se(prctl(PR_SET_PDEATHSIG, SIGHUP) >= 0); -+ -+ zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) >= 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) >= 0); -+ -+ for (ac = 0; ac < argc; ac++) { -+ if (streq(argv[ac], "--console")) { -+ argv[ac] = conarg; -+ break; -+ } -+ } -+ -+ execv(SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH, argv); -+ -+ return log_error_errno(errno, "Failed to execute %s: %m", program_invocation_name); -+ } -+ } -+ -+ ret = 0; -+ while (true) { -+ -+ if ((ret = waitid(P_ALL, 0, &status, WEXITED)) < 0) { -+ -+ if (errno != EINTR) { -+ ret = -errno; -+ if (errno == ECHILD) -+ ret = EXIT_SUCCESS; -+ break; -+ } -+ continue; -+ } -+ -+ for (id = 0; id < num; id++) { -+ struct timespec timeout; -+ sigset_t set; -+ int signum; -+ -+ if (consoles[id].pid == status.si_pid || kill(consoles[id].pid, 0) < 0) -+ consoles[id].pid = -1; -+ -+ if (consoles[id].pid < 0) -+ continue; -+ -+ kill(consoles[id].pid, SIGHUP); -+ -+ assert_se(sigemptyset(&set) >= 0); -+ assert_se(sigaddset(&set, SIGCHLD) >= 0); -+ -+ timespec_store(&timeout, 50 * USEC_PER_MSEC); -+ signum = sigtimedwait(&set, NULL, &timeout); -+ -+ if (signum != SIGCHLD) { -+ -+ if (signum < 0 && errno != EAGAIN) -+ return log_error_errno(errno, "sigtimedwait() failed: %m"); -+ -+ if (signum >= 0) -+ log_warning("sigtimedwait() returned unexpected signal."); -+ } -+ -+ kill(consoles[id].pid, SIGKILL); -+ } -+ -+ if (WIFEXITED(status.si_status) && ret == 0) -+ ret = WEXITSTATUS(status.si_status); -+ } -+ -+ free_consoles(consoles, num); -+ -+ return ret; -+} -+ - int main(int argc, char *argv[]) { - int r; - -@@ -673,16 +904,29 @@ int main(int argc, char *argv[]) { - if (r <= 0) - goto finish; - -- if (arg_console) { -- (void) setsid(); -- (void) release_terminal(); -+ if (arg_console && !arg_device) -+ /* -+ * Spawn for each console device a own process -+ */ -+ r = ask_on_consoles(argc, argv); -+ else { -+ -+ if (arg_device) { -+ /* -+ * Later on a controlling terminal will be will be acquired, -+ * therefore the current process has to become a session -+ * leader and should not have a controlling terminal already. -+ */ -+ (void) setsid(); -+ (void) release_terminal(); -+ } -+ -+ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) -+ r = watch_passwords(); -+ else -+ r = show_passwords(); - } - -- if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) -- r = watch_passwords(); -- else -- r = show_passwords(); -- - finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } diff --git a/systemd-remount-tmpfs b/udev-remount-tmpfs similarity index 100% rename from systemd-remount-tmpfs rename to udev-remount-tmpfs diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch deleted file mode 100644 index 2e655400..00000000 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ /dev/null @@ -1,155 +0,0 @@ -Simply writing /var/lib/systemd/random-seed back to /dev/(u)random does not -increase the entropy bit count. Therefore use the RNDADDENTROPY ioctl to -write back the bytes and increase the entropy bit counter. - -Related to bnc#892096 - ---- - src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ - 1 file changed, 61 insertions(+), 10 deletions(-) - -Index: systemd-228/src/random-seed/random-seed.c -=================================================================== ---- systemd-228.orig/src/random-seed/random-seed.c -+++ systemd-228/src/random-seed/random-seed.c -@@ -24,6 +24,8 @@ - #include - #include - #include -+#include -+#include - - #include "alloc-util.h" - #include "fd-util.h" -@@ -36,8 +38,8 @@ - #define POOL_SIZE_MIN 512 - - int main(int argc, char *argv[]) { -- _cleanup_close_ int seed_fd = -1, random_fd = -1; -- _cleanup_free_ void* buf = NULL; -+ _cleanup_close_ int seed_fd = -1, random_fd = -1, entropy_fd = -1; -+ _cleanup_free_ struct rand_pool_info *entropy = NULL; - size_t buf_size = 0; - ssize_t k; - int r; -@@ -68,11 +70,12 @@ int main(int argc, char *argv[]) { - if (buf_size <= POOL_SIZE_MIN) - buf_size = POOL_SIZE_MIN; - -- buf = malloc(buf_size); -- if (!buf) { -+ entropy = (struct rand_pool_info*) malloc(sizeof(struct rand_pool_info) + buf_size); -+ if (!entropy) { - r = log_oom(); - goto finish; - } -+ entropy->buf_size = (typeof(entropy->buf_size)) buf_size; - - r = mkdir_parents_label(RANDOM_SEED, 0755); - if (r < 0) { -@@ -86,6 +89,23 @@ int main(int argc, char *argv[]) { - - if (streq(argv[1], "load")) { - -+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); -+ if (entropy_fd < 0) { -+ entropy->entropy_count = 0; -+ if (errno != ENOENT) { -+ log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } else { -+ r = read(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); -+ if (r < 0) { -+ log_error("Failed to read entropy count file: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } -+ - seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); - if (seed_fd < 0) { - seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -106,7 +126,7 @@ int main(int argc, char *argv[]) { - } - } - -- k = loop_read(seed_fd, buf, buf_size, false); -+ k = loop_read(seed_fd, entropy->buf, (size_t) entropy->buf_size, false); - if (k < 0) - r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); - else if (k == 0) -@@ -114,13 +134,29 @@ int main(int argc, char *argv[]) { - else { - (void) lseek(seed_fd, 0, SEEK_SET); - -- r = loop_write(random_fd, buf, (size_t) k, false); -- if (r < 0) -- log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ if (entropy->entropy_count && (size_t)k == (size_t)entropy->buf_size) { -+ r = ioctl(random_fd, RNDADDENTROPY, entropy); -+ if (r < 0) { -+ log_error_errno(errno, "Failed to write seed to /dev/urandom: %m"); -+ r = -errno; -+ } -+ } else { -+ r = loop_write(random_fd, entropy->buf, (size_t) k, false); -+ if (r < 0) -+ log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ } - } - - } else if (streq(argv[1], "save")) { - -+ /* Read available entropy count, if possible */ -+ f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); -+ if (f) { -+ if (fscanf(f, "%d", &entropy->entropy_count) < 0) -+ entropy->entropy_count = 0; -+ fclose(f); -+ } -+ - seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); - if (seed_fd < 0) { - r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -133,6 +169,21 @@ int main(int argc, char *argv[]) { - goto finish; - } - -+ if (entropy->entropy_count) { -+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); -+ if (seed_fd < 0) { -+ log_error("Failed to open " RANDOM_SEED_DIR "entropy_count: %m"); -+ r = -errno; -+ goto finish; -+ } -+ r = write(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); -+ if (r < 0) { -+ log_error("Failed to write entropy count file: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } -+ - } else { - log_error("Unknown verb '%s'.", argv[1]); - r = -EINVAL; -@@ -147,7 +198,7 @@ int main(int argc, char *argv[]) { - (void) fchmod(seed_fd, 0600); - (void) fchown(seed_fd, 0, 0); - -- k = loop_read(random_fd, buf, buf_size, false); -+ k = loop_read(random_fd, entropy->buf, (size_t) entropy->buf_size, false); - if (k < 0) { - r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); - goto finish; -@@ -158,7 +209,7 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- r = loop_write(seed_fd, buf, (size_t) k, false); -+ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write new random seed file: %m"); - } diff --git a/v228.tar.gz b/v228.tar.gz deleted file mode 100644 index 84f9e59d..00000000 --- a/v228.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 -size 4034401 diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch deleted file mode 100644 index c0f4d74f..00000000 --- a/vhangup-on-all-consoles.patch +++ /dev/null @@ -1,40 +0,0 @@ -Related to bnc#886599 and others. That is use the vhangup(8) tool -to explicit do a virtually hangup on the specified on the terminal -line to give e.g. the bash a few seconds to e.g. safe its history. - -[crrodriguez@opensuse.org: Feb 2015 -This a known kernel bug, no notification from the cgroup subsystem -arrives and the processes in the "scope" units have -to be SIGKILL'ed without delay in order not to hang shutdown -Status: fix not available as of Feb 16 2015 -track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 -] - ---- - units/getty@.service.m4 | 1 + - units/serial-getty@.service.m4 | 1 + - 2 files changed, 2 insertions(+) -Index: systemd-221/units/getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/getty@.service.m4 -+++ systemd-221/units/getty@.service.m4 -@@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 - [Service] - # the VT is cleared by TTYVTDisallocate - ExecStart=-/sbin/agetty --noclear %I $TERM -+ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always - RestartSec=0 -Index: systemd-221/units/serial-getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/serial-getty@.service.m4 -+++ systemd-221/units/serial-getty@.service.m4 -@@ -24,6 +24,7 @@ IgnoreOnIsolate=yes - - [Service] - ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM -+ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always - UtmpIdentifier=%I diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch deleted file mode 100644 index e6df8c6e..00000000 --- a/watch_resolv.conf_for_become_changed.patch +++ /dev/null @@ -1,153 +0,0 @@ ---- - src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/manager.h | 5 ++ - 2 files changed, 98 insertions(+) - -Index: systemd-227/src/core/manager.c -=================================================================== ---- systemd-227.orig/src/core/manager.c -+++ systemd-227/src/core/manager.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_AUDIT - #include -@@ -294,6 +295,91 @@ static int manager_check_ask_password(Ma - return m->have_ask_password; - } - -+static int manager_setup_resolv_conf_change(Manager *); -+ -+static int manager_dispatch_resolv_conf_fd(sd_event_source *source, -+ int fd, uint32_t revents, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(m); -+ assert(m->resolv_conf_inotify_fd == fd); -+ -+ if (revents != EPOLLIN) { -+ log_warning("Got unexpected poll event for notify fd."); -+ return 0; -+ } -+ -+ if (fd >= 0) -+ flush_fd(fd); -+ -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+ manager_setup_resolv_conf_change(m); -+ return m->resolv_conf_noent ? 0 : res_init(); -+} -+ -+static int manager_setup_resolv_conf_change(Manager *m) { -+ int r; -+ -+ assert(m); -+ assert(m->resolv_conf_inotify_fd < 0); -+ -+ m->resolv_conf_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); -+ if (m->resolv_conf_inotify_fd < 0) { -+ log_error("inotify_init1() failed: %m"); -+ r = -errno; -+ goto fail; -+ } -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/resolv.conf", -+ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0) { -+ if (errno == ENOENT) { -+ m->resolv_conf_noent = true; -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc", IN_CREATE|IN_MOVED_TO) < 0) { -+ log_error("Failed to add watch on /etc: %m"); -+ r = -errno; -+ goto fail; -+ } -+ } else { -+ log_error("Failed to add watch on /etc/resolv.conf: %m"); -+ r = -errno; -+ goto fail; -+ } -+ } -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/host.conf", -+ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0 && errno != ENOENT) { -+ log_error("Failed to add watch on /etc/host.conf: %m"); -+ r = -errno; -+ goto fail; -+ } -+ -+ r = sd_event_add_io(m->event, &m->resolv_conf_event_source, -+ m->resolv_conf_inotify_fd, EPOLLIN, -+ manager_dispatch_resolv_conf_fd, m); -+ if (r < 0) { -+ log_error("Failed to add event source for resolver: %s", strerror(-r)); -+ goto fail; -+ } -+ -+ r = sd_event_source_set_priority(m->resolv_conf_event_source, -10); -+ if (r < 0) { -+ log_error("Failed to add event source for resolver: %s", strerror(-r)); -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ goto fail; -+ } -+ -+ return 0; -+fail: -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+ return 0; /* Ignore error here */ -+} -+ -+static void manager_shutdown_resolv_conf_change(Manager *m) { -+ assert(m); -+ -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+} -+ - static int manager_watch_idle_pipe(Manager *m) { - int r; - -@@ -576,6 +662,7 @@ int manager_new(ManagerRunningAs running - - m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ - -+ m->resolv_conf_inotify_fd = -1; - m->ask_password_inotify_fd = -1; - m->have_ask_password = -EINVAL; /* we don't know */ - m->first_boot = -1; -@@ -637,6 +724,10 @@ int manager_new(ManagerRunningAs running - if (r < 0) - goto fail; - -+ r = manager_setup_resolv_conf_change(m); -+ if (r < 0) -+ goto fail; -+ - m->udev = udev_new(); - if (!m->udev) { - r = -ENOMEM; -@@ -914,6 +1005,8 @@ Manager* manager_free(Manager *m) { - if (!m) - return NULL; - -+ manager_shutdown_resolv_conf_change(m); -+ - manager_clear_jobs_and_units(m); - - for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-227/src/core/manager.h -=================================================================== ---- systemd-227.orig/src/core/manager.h -+++ systemd-227/src/core/manager.h -@@ -180,6 +180,11 @@ struct Manager { - struct libmnt_monitor *mount_monitor; - sd_event_source *mount_event_source; - -+ /* Watch out any change of /etc/resolv.conf */ -+ int resolv_conf_inotify_fd; -+ sd_event_source *resolv_conf_event_source; -+ bool resolv_conf_noent; -+ - /* Data specific to the swap filesystem */ - FILE *proc_swaps; - sd_event_source *swap_event_source; From cfd263128019ab943331878fad1775cea9b773d598ad58317f80993fa45b35b9 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Fri, 28 Oct 2016 08:14:59 +0000 Subject: [PATCH 272/991] Accepting request 437525 from home:fbui:systemd:Factory - Add the list of the patches in the changelog which were dropped when we switched to the git repo otherwise the build system complains. OBS-URL: https://build.opensuse.org/request/show/437525 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=960 --- systemd-mini.changes | 85 ++++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 85 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 019f68f7..1ed2870e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -256,6 +256,91 @@ Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com First step: drop all patches and drop the tar ball. + The dropped patches are: + + fix-support-for-boot-prefixed-initscript-bnc-746506.patch + set-and-use-default-logconsole.patch + ensure-ask-password-wall-starts-after-getty-tty1.patch + 0001-rules-block-add-support-for-pmem-devices-3683.patch + Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch + 1007-physical-hotplug-cpu-and-memory.patch + 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch + watch_resolv.conf_for_become_changed.patch + 0019-make-completion-smart-to-be-able-to-redirect.patch + systemd-add-user-keep.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + avoid-random-hangs-on-timeouts-due-lost-cwd.patch + 1037-udev-exclude-cd-dvd-from-block-device.patch + 0001-add-network-device-after-NFS-mount-units.patch + journald-advice-about-use-of-memory.patch + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1006-udev-always-rename-network.patch + handle-numlock-value-in-etc-sysconfig-keyboard.patch + use-rndaddentropy-ioctl-to-load-random-seed.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + 0001-bnc888612-logind-polkit-acpi.patch + avoid-divide-by-zero-sigtrap.patch + 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch + suse-sysv-bootd-support.diff + ensure-shortname-is-set-as-hostname-bnc-820213.patch + parse-crypttab-for-noauto-option.patch + tty-ask-password-agent-on-console.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + handle-root_uses_lang-value-in-etc-sysconfig-language.patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + vhangup-on-all-consoles.patch + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + apply-ACL-for-nvidia-device-nodes.patch + make-emergency.service-conflict-with-syslog.socket.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + 1096-new-udev-root-symlink-generator.patch + 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + systemd-install-compat_pkgconfig-always.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + 0001-avoid-abort-due-timeout-at-user-service.patch + insserv-generator.patch + apply-ACL-for-nvidia-uvm-device-node.patch + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch + systemd-pam_config.patch + systemd-dbus-system-bus-address.patch + let-linker-find-libudev-for-libdevmapper.patch + 1098-systemd-networkd-alias-network-service.patch + 0001-let-systemctl-completion-ignore-at-names.patch + boot-local-start.patch + 1095-set-ssd-disk-to-use-deadline-scheduler.patch + tomcat6-var-lock-subsys-legacy.patch + let-vconsole-setup-get-properties-only-once-to-copy-them.patch + plymouth-quit-and-wait-for-emergency-service.patch + respect-nfs-bg-option.patch + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 1062-rules-set-default-permissions-for-GenWQE-devices.patch + rescue-emergency-target-conflicts.patch + Correct_assert_on_unexpected_error_code.patch + 1097-udevd-increase-maximum-number-of-children.patch + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 1005-create-default-links-for-primary-cd_dvd-drive.patch + allow-multiple-sulogin-to-be-started.patch + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + 0010-do-not-install-sulogin-unit-with-poweroff.patch + 1003-udev-netlink-null-rules.patch + 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch + 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + shut-up-rpmlint-on-var-log-journal.patch + systemd-tmp-safe-defaults.patch + portmap-wants-rpcbind-socket.patch + hostname-NULL.patch + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + handle-disable_caplock-and-compose_table-and-kbd_rate.patch + kbd-model-map.patch + systemctl-set-default-target.patch + 0014-journald-with-journaling-FS.patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + ------------------------------------------------------------------- Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 019f68f7..1ed2870e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -256,6 +256,91 @@ Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com First step: drop all patches and drop the tar ball. + The dropped patches are: + + fix-support-for-boot-prefixed-initscript-bnc-746506.patch + set-and-use-default-logconsole.patch + ensure-ask-password-wall-starts-after-getty-tty1.patch + 0001-rules-block-add-support-for-pmem-devices-3683.patch + Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch + 1007-physical-hotplug-cpu-and-memory.patch + 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch + watch_resolv.conf_for_become_changed.patch + 0019-make-completion-smart-to-be-able-to-redirect.patch + systemd-add-user-keep.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + avoid-random-hangs-on-timeouts-due-lost-cwd.patch + 1037-udev-exclude-cd-dvd-from-block-device.patch + 0001-add-network-device-after-NFS-mount-units.patch + journald-advice-about-use-of-memory.patch + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1006-udev-always-rename-network.patch + handle-numlock-value-in-etc-sysconfig-keyboard.patch + use-rndaddentropy-ioctl-to-load-random-seed.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + 0001-bnc888612-logind-polkit-acpi.patch + avoid-divide-by-zero-sigtrap.patch + 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch + suse-sysv-bootd-support.diff + ensure-shortname-is-set-as-hostname-bnc-820213.patch + parse-crypttab-for-noauto-option.patch + tty-ask-password-agent-on-console.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + handle-root_uses_lang-value-in-etc-sysconfig-language.patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + vhangup-on-all-consoles.patch + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + apply-ACL-for-nvidia-device-nodes.patch + make-emergency.service-conflict-with-syslog.socket.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + 1096-new-udev-root-symlink-generator.patch + 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + systemd-install-compat_pkgconfig-always.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + 0001-avoid-abort-due-timeout-at-user-service.patch + insserv-generator.patch + apply-ACL-for-nvidia-uvm-device-node.patch + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch + systemd-pam_config.patch + systemd-dbus-system-bus-address.patch + let-linker-find-libudev-for-libdevmapper.patch + 1098-systemd-networkd-alias-network-service.patch + 0001-let-systemctl-completion-ignore-at-names.patch + boot-local-start.patch + 1095-set-ssd-disk-to-use-deadline-scheduler.patch + tomcat6-var-lock-subsys-legacy.patch + let-vconsole-setup-get-properties-only-once-to-copy-them.patch + plymouth-quit-and-wait-for-emergency-service.patch + respect-nfs-bg-option.patch + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 1062-rules-set-default-permissions-for-GenWQE-devices.patch + rescue-emergency-target-conflicts.patch + Correct_assert_on_unexpected_error_code.patch + 1097-udevd-increase-maximum-number-of-children.patch + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 1005-create-default-links-for-primary-cd_dvd-drive.patch + allow-multiple-sulogin-to-be-started.patch + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + 0010-do-not-install-sulogin-unit-with-poweroff.patch + 1003-udev-netlink-null-rules.patch + 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch + 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + shut-up-rpmlint-on-var-log-journal.patch + systemd-tmp-safe-defaults.patch + portmap-wants-rpcbind-socket.patch + hostname-NULL.patch + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + handle-disable_caplock-and-compose_table-and-kbd_rate.patch + kbd-model-map.patch + systemctl-set-default-target.patch + 0014-journald-with-journaling-FS.patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + ------------------------------------------------------------------- Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com From e834ed84308517ae271550fe3dd4c72283cd9dadf8e66c266edd2fc0c990b76e Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Mon, 14 Nov 2016 14:35:07 +0000 Subject: [PATCH 273/991] Accepting request 440233 from home:fbui:systemd:Factory - specfile: conflict systemd-bash-completion and systemd-mini-bash-completion Otherwise the build system detects that systemd-bash-completion and its mini variant are conflicting at files level even though those packages can't be installed on the same system. - specfile: clean up nss-* plugins descriptions and drop nss-myhostname-config script for now. Currently /etc/nsswitch.conf is supposed to be edited by the sysadmin to enable the modules. However for some reasons only nss-myhostname is removed from the conf file when the corresponding package is uninstalled. This is inconsistent so let's remove it. Actually I'm wondering if we shouldn't make those NSS plugins part of the main package and get rid of all those sub-packages... - specfile: remove old comments and unneeded sed command - specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service are created in Makefile.am since commit d5d8429a12c4b1. 'reboot' and 'poweroff' targets initially had the symlinks but there's not point since the latter conflicts shutdown.target whereas the 2 targets pull it in. See: https://github.com/systemd/systemd/pull/4429 - specfile: remove the following warnings: [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants OBS-URL: https://build.opensuse.org/request/show/440233 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=961 --- nss-myhostname-config | 31 ------------- systemd-mini.changes | 50 ++++++++++++++++++++ systemd-mini.spec | 105 ++++++++++++++---------------------------- systemd.changes | 50 ++++++++++++++++++++ systemd.spec | 105 ++++++++++++++---------------------------- 5 files changed, 168 insertions(+), 173 deletions(-) delete mode 100644 nss-myhostname-config diff --git a/nss-myhostname-config b/nss-myhostname-config deleted file mode 100644 index 110db7a2..00000000 --- a/nss-myhostname-config +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# sed calls copied from fedora package -set -e - -case "$1" in - --help) - echo "$0 [--enable|--disable]" - exit 0 - ;; - --enable) - sed -i.bak -e ' - /^hosts:/ !b - /\/ b - s/[[:blank:]]*$/ myhostname/ - ' /etc/nsswitch.conf - ;; - --disable) - sed -i.bak -e ' - /^hosts:/ !b - s/[[:blank:]]\+myhostname\>// - ' /etc/nsswitch.conf - ;; - "") - if grep -q "^hosts:.*\" /etc/nsswitch.conf; then - echo "enabled" - else - echo "disabled" - fi - ;; - *) echo "invalid argument $1"; exit 1 ;; -esac diff --git a/systemd-mini.changes b/systemd-mini.changes index 1ed2870e..d42f3fca 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com + +- specfile: conflict systemd-bash-completion and systemd-mini-bash-completion + + Otherwise the build system detects that systemd-bash-completion and + its mini variant are conflicting at files level even though those + packages can't be installed on the same system. + +------------------------------------------------------------------- +Thu Nov 10 19:11:57 UTC 2016 - fbui@suse.com + +- specfile: clean up nss-* plugins descriptions and drop + nss-myhostname-config script for now. + + Currently /etc/nsswitch.conf is supposed to be edited by the + sysadmin to enable the modules. However for some reasons only + nss-myhostname is removed from the conf file when the corresponding + package is uninstalled. This is inconsistent so let's remove it. + + Actually I'm wondering if we shouldn't make those NSS plugins part + of the main package and get rid of all those sub-packages... + +------------------------------------------------------------------- +Thu Nov 10 18:22:04 UTC 2016 - fbui@suse.com + +- specfile: remove old comments and unneeded sed command + +------------------------------------------------------------------- +Thu Nov 10 14:54:22 UTC 2016 - fbui@suse.com + +- specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore + + The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service + are created in Makefile.am since commit d5d8429a12c4b1. + + 'reboot' and 'poweroff' targets initially had the symlinks but + there's not point since the latter conflicts shutdown.target whereas + the 2 targets pull it in. + + See: https://github.com/systemd/systemd/pull/4429 + +------------------------------------------------------------------- +Thu Nov 10 13:44:13 UTC 2016 - fbui@suse.com + +- specfile: remove the following warnings: + + [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants + [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants + ------------------------------------------------------------------- Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 72c9fc3e..800b5864 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -148,7 +148,6 @@ Source1: %{name}-rpmlintrc Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install @@ -310,13 +309,13 @@ Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n nss-resolve -nss-resolve is a plug-in module for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) enabling it to resolve host -names via the systemd-resolved(8) service (provided by the systemd -package). +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. -It replaces the nss-dns plug-in module that traditionally resolves -hostnames via DNS. +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -324,26 +323,31 @@ License: LGPL-2.1+ Group: System/Libraries %description -n nss-myhostname -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured system hostname as returned by -gethostname(2). Various software relies on an always resolvable local -host name. When using dynamic hostnames this is usually achieved by -patching /etc/hosts at the same time as changing the host name. This -however is not ideal since it requires a writable /etc file system and -is fragile because the file might be edited by the administrator at -the same time. nss-myhostname simply returns all locally -configured public IP addresses, or -- if none are configured -- -the IPv4 address 127.0.0.2 (wich is on the local loopback) and the -IPv6 address ::1 (which is the local host) for whatever system -hostname is configured locally. Patching /etc/hosts is thus no -longer necessary. +This package contains a plug-in module for the Name Service Switch +(NSS), primarly providing hostname resolution for the locally +configured system hostname as returned by gethostname(2). For example, +it resolves the local hostname to locally configured IP addresses, as +well as "localhost" to 127.0.0.1/::1. -Note that nss-myhostname only provides a workaround for broken -software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that is worth -a bug report then. -This package marks the installation to not use syslog but only the journal. +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. +%endif + +%if %{with machined} +%package -n nss-mymachines +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-mymachines +This package contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual +machines registered with systemd-machined to their respective IP +addresses. It also maps UID/GIDs ranges used by containers to useful +names. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. %endif %if %{with journal_remote} @@ -366,25 +370,15 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. -%endif - %package bash-completion Summary: Bash completion support for systemd License: LGPL-2.1+ Group: System/Base Requires: bash-completion BuildArch: noarch +%if 0%{?bootstrap} +Conflicts: systemd-bash-completion +%endif %description bash-completion Some systemd commands offer bash completion, but it is an optional dependency. @@ -400,14 +394,6 @@ echo "Checking whether upstream rpm macros changed..." cp %{SOURCE7} m4/ %endif -# -# In combination with Patch352 set-and-use-default-logconsole.patch -# Ensure that journald log on tty10 -# -%ifarch %ix86 x86_64 x32 -sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf -%endif - %build # # Be sure that fresh build libudev is found and used at linkage time @@ -470,7 +456,6 @@ make %{?_smp_mflags} V=e # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif # FIXME: these symlinks should die. @@ -518,11 +503,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# To avoid making life hard for Factory developers, don't package the -# kernel.core_pattern setting until systemd-coredump is a part of an actual -# systemd release and it's made clear how to get the core dumps out of the -# journal. - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -622,13 +602,6 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset -# Workaround for bug #882393 -for runlevel in poweroff rescue multi-user graphical reboot -do - mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants - ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ -done - # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored # though, i.e. not overwritten; needed as long as YaST uses console @@ -811,15 +784,8 @@ if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi -%endif -%if ! 0%{?bootstrap} -%preun -n nss-myhostname -if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then - %{_sbindir}/nss-myhostname-config --disable -fi - -%post -n nss-myhostname -p /sbin/ldconfig +%post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig %endif @@ -945,8 +911,6 @@ fi %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/default.target.wants -%dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d %dir %{_prefix}/lib/systemd/system/user@0.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf @@ -1248,7 +1212,6 @@ fi %files -n nss-myhostname %defattr(-, root, root) /%{_lib}/*nss_myhostname* -%{_sbindir}/nss-myhostname-config %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* %endif diff --git a/systemd.changes b/systemd.changes index 1ed2870e..d42f3fca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com + +- specfile: conflict systemd-bash-completion and systemd-mini-bash-completion + + Otherwise the build system detects that systemd-bash-completion and + its mini variant are conflicting at files level even though those + packages can't be installed on the same system. + +------------------------------------------------------------------- +Thu Nov 10 19:11:57 UTC 2016 - fbui@suse.com + +- specfile: clean up nss-* plugins descriptions and drop + nss-myhostname-config script for now. + + Currently /etc/nsswitch.conf is supposed to be edited by the + sysadmin to enable the modules. However for some reasons only + nss-myhostname is removed from the conf file when the corresponding + package is uninstalled. This is inconsistent so let's remove it. + + Actually I'm wondering if we shouldn't make those NSS plugins part + of the main package and get rid of all those sub-packages... + +------------------------------------------------------------------- +Thu Nov 10 18:22:04 UTC 2016 - fbui@suse.com + +- specfile: remove old comments and unneeded sed command + +------------------------------------------------------------------- +Thu Nov 10 14:54:22 UTC 2016 - fbui@suse.com + +- specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore + + The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service + are created in Makefile.am since commit d5d8429a12c4b1. + + 'reboot' and 'poweroff' targets initially had the symlinks but + there's not point since the latter conflicts shutdown.target whereas + the 2 targets pull it in. + + See: https://github.com/systemd/systemd/pull/4429 + +------------------------------------------------------------------- +Thu Nov 10 13:44:13 UTC 2016 - fbui@suse.com + +- specfile: remove the following warnings: + + [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants + [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants + ------------------------------------------------------------------- Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 1a871667..2ad1f88d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -146,7 +146,6 @@ Source1: %{name}-rpmlintrc Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install @@ -308,13 +307,13 @@ Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n nss-resolve -nss-resolve is a plug-in module for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) enabling it to resolve host -names via the systemd-resolved(8) service (provided by the systemd -package). +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. -It replaces the nss-dns plug-in module that traditionally resolves -hostnames via DNS. +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -322,26 +321,31 @@ License: LGPL-2.1+ Group: System/Libraries %description -n nss-myhostname -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured system hostname as returned by -gethostname(2). Various software relies on an always resolvable local -host name. When using dynamic hostnames this is usually achieved by -patching /etc/hosts at the same time as changing the host name. This -however is not ideal since it requires a writable /etc file system and -is fragile because the file might be edited by the administrator at -the same time. nss-myhostname simply returns all locally -configured public IP addresses, or -- if none are configured -- -the IPv4 address 127.0.0.2 (wich is on the local loopback) and the -IPv6 address ::1 (which is the local host) for whatever system -hostname is configured locally. Patching /etc/hosts is thus no -longer necessary. +This package contains a plug-in module for the Name Service Switch +(NSS), primarly providing hostname resolution for the locally +configured system hostname as returned by gethostname(2). For example, +it resolves the local hostname to locally configured IP addresses, as +well as "localhost" to 127.0.0.1/::1. -Note that nss-myhostname only provides a workaround for broken -software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that is worth -a bug report then. -This package marks the installation to not use syslog but only the journal. +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. +%endif + +%if %{with machined} +%package -n nss-mymachines +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-mymachines +This package contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual +machines registered with systemd-machined to their respective IP +addresses. It also maps UID/GIDs ranges used by containers to useful +names. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. %endif %if %{with journal_remote} @@ -364,25 +368,15 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1+ -Group: System/Libraries - -%description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. -%endif - %package bash-completion Summary: Bash completion support for systemd License: LGPL-2.1+ Group: System/Base Requires: bash-completion BuildArch: noarch +%if 0%{?bootstrap} +Conflicts: systemd-bash-completion +%endif %description bash-completion Some systemd commands offer bash completion, but it is an optional dependency. @@ -398,14 +392,6 @@ echo "Checking whether upstream rpm macros changed..." cp %{SOURCE7} m4/ %endif -# -# In combination with Patch352 set-and-use-default-logconsole.patch -# Ensure that journald log on tty10 -# -%ifarch %ix86 x86_64 x32 -sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf -%endif - %build # # Be sure that fresh build libudev is found and used at linkage time @@ -468,7 +454,6 @@ make %{?_smp_mflags} V=e # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif # FIXME: these symlinks should die. @@ -516,11 +501,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# To avoid making life hard for Factory developers, don't package the -# kernel.core_pattern setting until systemd-coredump is a part of an actual -# systemd release and it's made clear how to get the core dumps out of the -# journal. - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -620,13 +600,6 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset -# Workaround for bug #882393 -for runlevel in poweroff rescue multi-user graphical reboot -do - mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants - ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ -done - # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored # though, i.e. not overwritten; needed as long as YaST uses console @@ -809,15 +782,8 @@ if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi -%endif -%if ! 0%{?bootstrap} -%preun -n nss-myhostname -if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then - %{_sbindir}/nss-myhostname-config --disable -fi - -%post -n nss-myhostname -p /sbin/ldconfig +%post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig %endif @@ -943,8 +909,6 @@ fi %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/default.target.wants -%dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d %dir %{_prefix}/lib/systemd/system/user@0.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf @@ -1246,7 +1210,6 @@ fi %files -n nss-myhostname %defattr(-, root, root) /%{_lib}/*nss_myhostname* -%{_sbindir}/nss-myhostname-config %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* %endif From 4052253d410573a116482d5ae5db4a23ad298a34177b8d4df275d71c9dad8aea Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 22 Nov 2016 17:55:40 +0000 Subject: [PATCH 274/991] Accepting request 440243 from Base:System - specfile: conflict systemd-bash-completion and systemd-mini-bash-completion Otherwise the build system detects that systemd-bash-completion and its mini variant are conflicting at files level even though those packages can't be installed on the same system. - specfile: clean up nss-* plugins descriptions and drop nss-myhostname-config script for now. Currently /etc/nsswitch.conf is supposed to be edited by the sysadmin to enable the modules. However for some reasons only nss-myhostname is removed from the conf file when the corresponding package is uninstalled. This is inconsistent so let's remove it. Actually I'm wondering if we shouldn't make those NSS plugins part of the main package and get rid of all those sub-packages... - specfile: remove old comments and unneeded sed command - specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore The symlinks in /usr/lib/systemd/system/<target>.target.wants/systemd-update-utmp-runlevel.service are created in Makefile.am since commit d5d8429a12c4b1. 'reboot' and 'poweroff' targets initially had the symlinks but there's not point since the latter conflicts shutdown.target whereas the 2 targets pull it in. See: https://github.com/systemd/systemd/pull/4429 - specfile: remove the following warnings: [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants (forwarded request 440233 from fbui) OBS-URL: https://build.opensuse.org/request/show/440243 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=242 --- ...ion-message-length-is-0-ignore-the-m.patch | 32 - ...s390_con3270_disable_ANSI_colour_esc.patch | 180 --- ...sh-for-reboot-or-hddown-for-poweroff.patch | 84 - ...network-device-after-NFS-mount-units.patch | 315 ---- ...id-abort-due-timeout-at-user-service.patch | 21 - 0001-bnc888612-logind-polkit-acpi.patch | 101 -- ...-.slice-units-from-systemctl-isolate.patch | 54 - ...e-synchronization-after-daemon-reloa.patch | 193 --- ...-name-list-after-deserializing-durin.patch | 74 - ...-calculation-when-appending-a-data-o.patch | 54 - ...E_ARCHIVED-as-part-of-offlining-2740.patch | 93 -- ...n-we-fail-to-append-a-tag-to-a-journ.patch | 36 - ...systemctl-completion-ignore-at-names.patch | 17 - ...-do-not-allow-overlong-machine-names.patch | 37 - ...XDG_RUNTIME_DIR_of_the_original_user.patch | 43 - ...n-any-error-in-manager_dispatch_noti.patch | 51 - ...ative-error-message-for-ignored-noti.patch | 38 - ...o-length-notification-messages-again.patch | 82 - ...ck-add-support-for-pmem-devices-3683.patch | 51 - ...o-not-warn-about-missing-install-inf.patch | 121 -- ...t-install-sulogin-unit-with-poweroff.patch | 19 - 0014-journald-with-journaling-FS.patch | 75 - ...pletion-smart-to-be-able-to-redirect.patch | 272 ---- ...ate-by-id-scsi-links-for-ATA-devices.patch | 24 - 1003-udev-netlink-null-rules.patch | 22 - ...fault-links-for-primary-cd_dvd-drive.patch | 24 - 1006-udev-always-rename-network.patch | 77 - 1007-physical-hotplug-cpu-and-memory.patch | 37 - ...kip-btrfs-check-if-devices-are-not-r.patch | 24 - ...device-link-creation-on-multipath-de.patch | 40 - ...-Ignore-devices-with-SYSTEMD_READY-0.patch | 29 - ...dev-exclude-cd-dvd-from-block-device.patch | 20 - ...fault-permissions-for-GenWQE-devices.patch | 15 - ...lity-links-for-truncated-by-id-links.patch | 175 --- ...t-ssd-disk-to-use-deadline-scheduler.patch | 33 - 1096-new-udev-root-symlink-generator.patch | 108 -- ...-increase-maximum-number-of-children.patch | 26 - ...stemd-networkd-alias-network-service.patch | 14 - ...s-for-valve-steam-controller-to-work.patch | 23 - Correct_assert_on_unexpected_error_code.patch | 21 - ...es-permissions-to-follow-openSUSE-po.patch | 40 - allow-multiple-sulogin-to-be-started.patch | 47 - apply-ACL-for-nvidia-device-nodes.patch | 31 - apply-ACL-for-nvidia-uvm-device-node.patch | 23 - avoid-divide-by-zero-sigtrap.patch | 34 - ...andom-hangs-on-timeouts-due-lost-cwd.patch | 29 - boot-local-start.patch | 17 - ...assword-wall-starts-after-getty-tty1.patch | 25 - ...rtname-is-set-as-hostname-bnc-820213.patch | 31 - ...-boot-prefixed-initscript-bnc-746506.patch | 38 - ...plock-and-compose_table-and-kbd_rate.patch | 216 --- ...lock-value-in-etc-sysconfig-keyboard.patch | 191 --- ...lang-value-in-etc-sysconfig-language.patch | 72 - hostname-NULL.patch | 13 - insserv-generator.patch | 399 ----- journald-advice-about-use-of-memory.patch | 138 -- kbd-model-map.legacy | 10 + kbd-model-map.patch | 28 - ...linker-find-libudev-for-libdevmapper.patch | 19 - ...et-properties-only-once-to-copy-them.patch | 84 - ....service-conflict-with-syslog.socket.patch | 25 - nss-myhostname-config | 31 - parse-crypttab-for-noauto-option.patch | 67 - ...-quit-and-wait-for-emergency-service.patch | 46 - portmap-wants-rpcbind-socket.patch | 13 - pre_checkin.sh | 3 +- rescue-emergency-target-conflicts.patch | 29 - respect-nfs-bg-option.patch | 22 - ...r-lock-bind-mount-if-they-aren-t-sym.patch | 87 -- set-and-use-default-logconsole.patch | 175 --- shut-up-rpmlint-on-var-log-journal.patch | 25 - suse-sysv-bootd-support.diff | 80 - systemctl-set-default-target.patch | 30 - ...nal-linking-non-fatal-in-try-and-auto.diff | 116 -- systemd-228.tar.xz | 3 + ...use-new-fstype-for-unified-hierarchy.patch | 87 -- systemd-add-user-keep.patch | 92 -- systemd-dbus-system-bus-address.patch | 33 - systemd-install-compat_pkgconfig-always.patch | 34 - systemd-mini.changes | 393 +++++ systemd-mini.spec | 1379 ++++++----------- systemd-pam_config.patch | 32 - systemd-sysv-convert | 14 +- systemd-sysv-install | 43 +- systemd-tmp-safe-defaults.patch | 26 - systemd.changes | 393 +++++ systemd.spec | 1376 ++++++---------- tomcat6-var-lock-subsys-legacy.patch | 20 - tty-ask-password-agent-on-console.patch | 376 ----- systemd-remount-tmpfs => udev-remount-tmpfs | 0 ...addentropy-ioctl-to-load-random-seed.patch | 155 -- v228.tar.gz | 3 - vhangup-on-all-consoles.patch | 40 - watch_resolv.conf_for_become_changed.patch | 153 -- 94 files changed, 1862 insertions(+), 7779 deletions(-) delete mode 100644 0001-If-the-notification-message-length-is-0-ignore-the-m.patch delete mode 100644 0001-On_s390_con3270_disable_ANSI_colour_esc.patch delete mode 100644 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch delete mode 100644 0001-add-network-device-after-NFS-mount-units.patch delete mode 100644 0001-avoid-abort-due-timeout-at-user-service.patch delete mode 100644 0001-bnc888612-logind-polkit-acpi.patch delete mode 100644 0001-core-exclude-.slice-units-from-systemctl-isolate.patch delete mode 100644 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch delete mode 100644 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch delete mode 100644 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch delete mode 100644 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch delete mode 100644 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch delete mode 100644 0001-let-systemctl-completion-ignore-at-names.patch delete mode 100644 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch delete mode 100644 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch delete mode 100644 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch delete mode 100644 0001-pid1-more-informative-error-message-for-ignored-noti.patch delete mode 100644 0001-pid1-process-zero-length-notification-messages-again.patch delete mode 100644 0001-rules-block-add-support-for-pmem-devices-3683.patch delete mode 100644 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch delete mode 100644 0010-do-not-install-sulogin-unit-with-poweroff.patch delete mode 100644 0014-journald-with-journaling-FS.patch delete mode 100644 0019-make-completion-smart-to-be-able-to-redirect.patch delete mode 100644 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch delete mode 100644 1003-udev-netlink-null-rules.patch delete mode 100644 1005-create-default-links-for-primary-cd_dvd-drive.patch delete mode 100644 1006-udev-always-rename-network.patch delete mode 100644 1007-physical-hotplug-cpu-and-memory.patch delete mode 100644 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch delete mode 100644 1012-Skip-persistent-device-link-creation-on-multipath-de.patch delete mode 100644 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch delete mode 100644 1037-udev-exclude-cd-dvd-from-block-device.patch delete mode 100644 1062-rules-set-default-permissions-for-GenWQE-devices.patch delete mode 100644 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch delete mode 100644 1095-set-ssd-disk-to-use-deadline-scheduler.patch delete mode 100644 1096-new-udev-root-symlink-generator.patch delete mode 100644 1097-udevd-increase-maximum-number-of-children.patch delete mode 100644 1098-systemd-networkd-alias-network-service.patch delete mode 100644 1099-Add-default-rules-for-valve-steam-controller-to-work.patch delete mode 100644 Correct_assert_on_unexpected_error_code.patch delete mode 100644 Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch delete mode 100644 allow-multiple-sulogin-to-be-started.patch delete mode 100644 apply-ACL-for-nvidia-device-nodes.patch delete mode 100644 apply-ACL-for-nvidia-uvm-device-node.patch delete mode 100644 avoid-divide-by-zero-sigtrap.patch delete mode 100644 avoid-random-hangs-on-timeouts-due-lost-cwd.patch delete mode 100644 boot-local-start.patch delete mode 100644 ensure-ask-password-wall-starts-after-getty-tty1.patch delete mode 100644 ensure-shortname-is-set-as-hostname-bnc-820213.patch delete mode 100644 fix-support-for-boot-prefixed-initscript-bnc-746506.patch delete mode 100644 handle-disable_caplock-and-compose_table-and-kbd_rate.patch delete mode 100644 handle-numlock-value-in-etc-sysconfig-keyboard.patch delete mode 100644 handle-root_uses_lang-value-in-etc-sysconfig-language.patch delete mode 100644 hostname-NULL.patch delete mode 100644 insserv-generator.patch delete mode 100644 journald-advice-about-use-of-memory.patch create mode 100644 kbd-model-map.legacy delete mode 100644 kbd-model-map.patch delete mode 100644 let-linker-find-libudev-for-libdevmapper.patch delete mode 100644 let-vconsole-setup-get-properties-only-once-to-copy-them.patch delete mode 100644 make-emergency.service-conflict-with-syslog.socket.patch delete mode 100644 nss-myhostname-config delete mode 100644 parse-crypttab-for-noauto-option.patch delete mode 100644 plymouth-quit-and-wait-for-emergency-service.patch delete mode 100644 portmap-wants-rpcbind-socket.patch delete mode 100644 rescue-emergency-target-conflicts.patch delete mode 100644 respect-nfs-bg-option.patch delete mode 100644 restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch delete mode 100644 set-and-use-default-logconsole.patch delete mode 100644 shut-up-rpmlint-on-var-log-journal.patch delete mode 100644 suse-sysv-bootd-support.diff delete mode 100644 systemctl-set-default-target.patch delete mode 100644 systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff create mode 100644 systemd-228.tar.xz delete mode 100644 systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch delete mode 100644 systemd-add-user-keep.patch delete mode 100644 systemd-dbus-system-bus-address.patch delete mode 100644 systemd-install-compat_pkgconfig-always.patch delete mode 100644 systemd-pam_config.patch delete mode 100644 systemd-tmp-safe-defaults.patch delete mode 100644 tomcat6-var-lock-subsys-legacy.patch delete mode 100644 tty-ask-password-agent-on-console.patch rename systemd-remount-tmpfs => udev-remount-tmpfs (100%) delete mode 100644 use-rndaddentropy-ioctl-to-load-random-seed.patch delete mode 100644 v228.tar.gz delete mode 100644 vhangup-on-all-consoles.patch delete mode 100644 watch_resolv.conf_for_become_changed.patch diff --git a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch b/0001-If-the-notification-message-length-is-0-ignore-the-m.patch deleted file mode 100644 index 688f4785..00000000 --- a/0001-If-the-notification-message-length-is-0-ignore-the-m.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ddcd0b726adfd78260ec3d6a446800d85980069e Mon Sep 17 00:00:00 2001 -From: Jorge Niedbalski -Date: Wed, 28 Sep 2016 18:25:50 -0300 -Subject: [PATCH 1/1] If the notification message length is 0, ignore the - message (#4237) - -Fixes #4234. - -Signed-off-by: Jorge Niedbalski -(cherry picked from commit 531ac2b2349da02acc9c382849758e07eb92b020) ---- - src/core/manager.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 229cb31..56ca9cf 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1565,6 +1565,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - - return -errno; - } -+ if (n == 0) { -+ log_debug("Got zero-length notification message. Ignoring."); -+ return 0; -+ } - - CMSG_FOREACH(cmsg, &msghdr) { - if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { --- -2.10.0 - diff --git a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch b/0001-On_s390_con3270_disable_ANSI_colour_esc.patch deleted file mode 100644 index 3dd400a3..00000000 --- a/0001-On_s390_con3270_disable_ANSI_colour_esc.patch +++ /dev/null @@ -1,180 +0,0 @@ ---- - rules/99-systemd.rules.in | 2 - - src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++-- - src/basic/terminal-util.h | 1 - src/core/manager.c | 24 +++++++++++++++----- - 4 files changed, 74 insertions(+), 8 deletions(-) - - -Index: systemd-228/rules/99-systemd.rules.in -=================================================================== ---- systemd-228.orig/rules/99-systemd.rules.in -+++ systemd-228/rules/99-systemd.rules.in -@@ -7,7 +7,7 @@ - - ACTION=="remove", GOTO="systemd_end" - --SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" -+SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" - - SUBSYSTEM=="block", TAG+="systemd" -Index: systemd-228/src/basic/terminal-util.c -=================================================================== ---- systemd-228.orig/src/basic/terminal-util.c -+++ systemd-228/src/basic/terminal-util.c -@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty) - return tty_is_vc(tty); - } - -+bool ansi_console(int fd) { -+ static int cached_ansi_console = -1; -+ -+ if (_likely_(cached_ansi_console >= 0)) -+ return cached_ansi_console; -+ -+ cached_ansi_console = isatty(fd) > 0; -+#if defined(__s390__) || defined(__s390x__) -+ if (cached_ansi_console) { -+ const char *e = getenv("TERM"); -+ if (e != NULL && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { -+ _cleanup_free_ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, -+ "conmode", &mode, NULL); -+ if (r < 0 || mode == NULL || !streq(mode, "3270")) -+ cached_ansi_console = 0; -+ } -+ } -+#endif -+ return cached_ansi_console; -+} -+ - const char *default_term_for_tty(const char *tty) { - assert(tty); - -- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; -+ if (tty_is_vc_resolve(tty)) -+ return "TERM=linux"; -+ if (startswith(tty, "/dev/")) -+ tty += 5; -+#if defined (__s390__) || defined (__s390x__) -+ if (streq(tty, "ttyS0")) { -+ _cleanup_free_ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", -+ &mode, NULL); -+ if (r < 0 || mode == NULL || !streq(mode, "3270")) -+ return "TERM=dumb"; -+ if (streq(mode, "3270")) -+ return "TERM=ibm327x"; -+ } -+#endif -+ return "TERM=vt220"; - } - - int fd_columns(int fd) { -@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu - bool on_tty(void) { - static int cached_on_tty = -1; - -- if (_unlikely_(cached_on_tty < 0)) -+ if (_unlikely_(cached_on_tty < 0)) { - cached_on_tty = isatty(STDOUT_FILENO) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_on_tty) { -+ const char *e = getenv("TERM"); -+ if (!e) -+ return cached_on_tty; -+ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_on_tty = 0; -+ } -+ } -+#endif -+ } - - return cached_on_tty; - } -Index: systemd-228/src/basic/terminal-util.h -=================================================================== ---- systemd-228.orig/src/basic/terminal-util.h -+++ systemd-228/src/basic/terminal-util.h -@@ -78,6 +78,7 @@ unsigned lines(void); - void columns_lines_cache_reset(int _unused_ signum); - - bool on_tty(void); -+bool ansi_console(int fd); - - static inline const char *ansi_underline(void) { - return on_tty() ? ANSI_UNDERLINE : ""; -Index: systemd-228/src/core/manager.c -=================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre - - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1)) - --static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { -+static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { - char *p = buffer; - - assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si - if (pos > 1) { - if (pos > 2) - p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_RED); - *p++ = '*'; - } - - if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED); - *p++ = '*'; - } - -@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si - *p++ = '*'; - if (pos < width-1) - p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_NORMAL); -+ if (ansi_console) -+ strcpy(p, ANSI_NORMAL); - } - } - -@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m - } - - static void manager_print_jobs_in_progress(Manager *m) { -+ static int is_ansi_console = -1; - _cleanup_free_ char *job_of_n = NULL; - Iterator i; - Job *j; -@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre - assert(counter == print_nr + 1); - assert(j); - -+ if (_unlikely_(is_ansi_console < 0)) { -+ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ is_ansi_console = 0; -+ else { -+ is_ansi_console = (int)ansi_console(fd); -+ close(fd); -+ } -+ } -+ - cylon_pos = m->jobs_in_progress_iteration % 14; - if (cylon_pos >= 8) - cylon_pos = 14 - cylon_pos; -- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos); -+ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console); - - m->jobs_in_progress_iteration++; - diff --git a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch b/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch deleted file mode 100644 index f370239f..00000000 --- a/0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- - src/core/shutdown.c | 4 ++++ - src/systemctl/systemctl.c | 18 ++++++++++++------ - 2 files changed, 16 insertions(+), 6 deletions(-) - -Index: systemd-227/src/core/shutdown.c -=================================================================== ---- systemd-227.orig/src/core/shutdown.c -+++ systemd-227/src/core/shutdown.c -@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) { - } - - reboot(cmd); -+ -+ if (cmd == (int)RB_POWER_OFF) -+ reboot(RB_HALT_SYSTEM); -+ - if (errno == EPERM && in_container) { - /* If we are in a container, and we lacked - * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-227/src/systemctl/systemctl.c -=================================================================== ---- systemd-227.orig/src/systemctl/systemctl.c -+++ systemd-227/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; - static bool arg_no_wtmp = false; - static bool arg_no_wall = false; - static bool arg_no_reload = false; -+static bool arg_no_sync = false; - static bool arg_show_types = false; - static bool arg_ignore_inhibitors = false; - static bool arg_dry = false; -@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha - { "reboot", no_argument, NULL, ARG_REBOOT }, - { "force", no_argument, NULL, 'f' }, - { "wtmp-only", no_argument, NULL, 'w' }, -+ { "no-sync", no_argument, NULL, 'n' }, - { "no-wtmp", no_argument, NULL, 'd' }, - { "no-wall", no_argument, NULL, ARG_NO_WALL }, - {} -@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha - - case 'i': - case 'h': -- case 'n': - /* Compatibility nops */ - break; - -+ case 'n': -+ arg_no_sync = true; -+ break; -+ - case '?': - return -EINVAL; - -@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) { - /* The kernel will automaticall flush ATA disks and suchlike - * on reboot(), but the file systems need to be synce'd - * explicitly in advance. */ -- (void) sync(); -+ if (!arg_no_sync) -+ (void) sync(); - - /* Make sure C-A-D is handled by the kernel from this point - * on... */ -@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) { - - switch (a) { - -- case ACTION_HALT: -- log_info("Halting."); -- (void) reboot(RB_HALT_SYSTEM); -- return -errno; -- - case ACTION_POWEROFF: - log_info("Powering off."); - (void) reboot(RB_POWER_OFF); -+ /* fall-through */ -+ case ACTION_HALT: -+ log_info("Halting."); -+ (void) reboot(RB_HALT_SYSTEM); - return -errno; - - case ACTION_KEXEC: diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch deleted file mode 100644 index dc30e64f..00000000 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ /dev/null @@ -1,315 +0,0 @@ -Avoid possible race on NFS shares in which may that the network devices disappears -before the associated NFS share becomes unmounted (bug #861489). -To do this make sure that sys-subsystem-net-devices-.device used for the -NFS share is added as "After=" dependency to the .mount. - ---- - Makefile.am | 2 - src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/mount-iface.h | 25 +++++++ - src/core/mount.c | 35 +++++++++ - 4 files changed, 233 insertions(+), 2 deletions(-) - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \ - src/core/machine-id-setup.h \ - src/core/mount-setup.c \ - src/core/mount-setup.h \ -+ src/core/mount-iface.c \ -+ src/core/mount-iface.h \ - src/core/kmod-setup.c \ - src/core/kmod-setup.h \ - src/core/loopback-setup.h \ -Index: systemd-228/src/core/mount-iface.c -=================================================================== ---- /dev/null -+++ systemd-228/src/core/mount-iface.c -@@ -0,0 +1,173 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+/* -+ * Find the name of the network interface to which a IP address belongs to. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "log.h" -+#include "def.h" -+#include "mount-iface.h" -+ -+static struct ifaddrs *ifa_list; -+ -+_pure_ static unsigned int mask2prefix(const void* ipv6) -+{ -+ unsigned int nippels = 0; -+ unsigned int i; -+ -+ assert(ipv6); -+ -+ for (i = 0; i < sizeof(struct in6_addr); i++) { -+ uint8_t byte = ((const uint8_t*)ipv6)[i]; -+ if (byte == 0xFF) { -+ nippels += sizeof(uint8_t); -+ continue; -+ } -+ while (byte & 0x80) { -+ nippels++; -+ byte <<= 1; -+ } -+ break; -+ } -+ -+ return nippels; -+} -+ -+static void netmask(unsigned int prefix, const void* in6, void* out6) -+{ -+ unsigned int nippels; -+ unsigned int i; -+ -+ assert(in6); -+ assert(out6); -+ -+ for (i = 0; i < sizeof(struct in6_addr); i++) { -+ nippels = (prefix < sizeof(uint8_t)) ? prefix : sizeof(uint8_t); -+ ((uint8_t*)out6)[i] = ((const uint8_t*)in6)[i] & (0xFF00>>nippels); -+ prefix -= nippels; -+ } -+} -+ -+char *host2iface(const char *ip) -+{ -+ const struct ifaddrs *ifa; -+ uint32_t ip4 = 0; -+ char *ret = NULL; -+ struct search { -+ union { -+ struct in_addr addr; -+ struct in6_addr addr6; -+ }; -+ int family; -+ } host; -+ int r; -+ -+ if (!ifa_list && (getifaddrs(&ifa_list) < 0)) { -+ log_oom(); -+ goto err; -+ } -+ -+ if (strchr(ip, ':')) { -+ r = inet_pton(AF_INET6, ip, &host.addr6); -+ host.family = AF_INET6; -+ } else { -+ r = inet_pton(AF_INET, ip, &host.addr); -+ host.family = AF_INET; -+ } -+ -+ if (r < 0) { -+ log_error("Failed to convert IP address %s from text to binary: %m", ip); -+ goto err; -+ } -+ -+ for (ifa = ifa_list; ifa != NULL; ifa = ifa->ifa_next) { -+ -+ if (!ifa->ifa_addr) -+ continue; -+ if (ifa->ifa_flags & IFF_POINTOPOINT) -+ continue; -+ if (!ifa->ifa_addr) -+ continue; -+ if (!ifa->ifa_netmask) -+ continue; -+ -+ if (ifa->ifa_addr->sa_family == AF_INET) { -+ uint32_t addr, dest, mask; -+ -+ if (host.family != AF_INET) -+ continue; -+ if (!ifa->ifa_broadaddr) -+ continue; -+ -+ if (!ip4) -+ ip4 = (uint32_t)ntohl(host.addr.s_addr); -+ -+ addr = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr); -+ if ((addr & 0xFF000000) == 0x7F000000) /* IPV4 loopback */ -+ continue; -+ -+ mask = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_netmask)->sin_addr.s_addr); -+ dest = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_broadaddr)->sin_addr.s_addr); -+ if ((ip4 & mask) != (dest & mask)) -+ continue; -+ -+ ret = ifa->ifa_name; -+ break; -+ } else if (ifa->ifa_addr->sa_family == AF_INET6) { -+ struct in6_addr *addr, *mask, dest, ip6; -+ unsigned int prefix; -+ -+ if (host.family != AF_INET6) -+ continue; -+ -+ addr = &((struct sockaddr_in6*)ifa->ifa_addr)->sin6_addr; -+ mask = &((struct sockaddr_in6*)ifa->ifa_netmask)->sin6_addr; -+ prefix = mask2prefix(mask); -+ -+ netmask(prefix, addr, &dest); -+ netmask(prefix, &host.addr6, &ip6); -+ -+ if (memcmp(&dest, &ip6, sizeof(struct in6_addr)) != 0) -+ continue; -+ -+ ret = ifa->ifa_name; -+ break; -+ } -+ } -+err: -+ return ret; -+} -+ -+void freeroutes(void) -+{ -+ if (ifa_list) -+ freeifaddrs(ifa_list); -+ ifa_list = NULL; -+} -Index: systemd-228/src/core/mount-iface.h -=================================================================== ---- /dev/null -+++ systemd-228/src/core/mount-iface.h -@@ -0,0 +1,25 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+#pragma once -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Werner Fink -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+char *host2iface(const char *ip); -+void freeroutes(void); -Index: systemd-228/src/core/mount.c -=================================================================== ---- systemd-228.orig/src/core/mount.c -+++ systemd-228/src/core/mount.c -@@ -36,6 +36,7 @@ - #include "manager.h" - #include "mkdir.h" - #include "mount-setup.h" -+#include "mount-iface.h" - #include "mount-util.h" - #include "mount.h" - #include "parse-util.h" -@@ -1344,8 +1345,9 @@ static int mount_setup_unit( - _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; - bool load_extras = false; - MountParameters *p; -- bool delete, changed = false; -+ bool delete, changed = false, isnetwork; - Unit *u; -+ char *c; - int r; - - assert(m); -@@ -1370,6 +1372,8 @@ static int mount_setup_unit( - if (r < 0) - return r; - -+ isnetwork = fstype_is_network(fstype); -+ - u = manager_get_unit(m, e); - if (!u) { - delete = true; -@@ -1397,7 +1401,7 @@ static int mount_setup_unit( - if (m->running_as == MANAGER_SYSTEM) { - const char* target; - -- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; -+ target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; - r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); - if (r < 0) - goto fail; -@@ -1483,6 +1487,32 @@ static int mount_setup_unit( - goto fail; - } - -+ if (isnetwork && (c = strrchr(p->what, ':')) && *(c+1) == '/') { -+ _cleanup_free_ char *opt = strdup(p->options); -+ char *addr; -+ -+ if (opt && (addr = strstr(opt, ",addr="))) { -+ char *colon, *iface; -+ -+ addr += 6; -+ if ((colon = strchr(addr, ','))) -+ *colon = '\0'; -+ -+ iface = host2iface(addr); -+ if (iface) { -+ _cleanup_free_ char* target = NULL; -+ if (asprintf(&target, "sys-subsystem-net-devices-%s.device", iface) < 0) -+ log_oom(); -+ else { -+ r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); -+ if (r < 0) -+ log_unit_error(u, "Failed to add dependency on %s, ignoring: %s", -+ target, strerror(-r)); -+ } -+ } -+ } -+ } -+ - if (changed) - unit_add_to_dbus_queue(u); - -@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf - if (r == 0 && k < 0) - r = k; - } -+ freeroutes(); /* Just in case of using the routing table with host2iface() */ - - return r; - } diff --git a/0001-avoid-abort-due-timeout-at-user-service.patch b/0001-avoid-abort-due-timeout-at-user-service.patch deleted file mode 100644 index af7fed5d..00000000 --- a/0001-avoid-abort-due-timeout-at-user-service.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - src/login/logind-session.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: systemd-221/src/login/logind-session.c -=================================================================== ---- systemd-221.orig/src/login/logind-session.c -+++ systemd-221/src/login/logind-session.c -@@ -548,6 +548,12 @@ int session_start(Session *s) { - if (r < 0) - return r; - -+ if (!s->user->slice) { -+ if (errno) -+ return -errno; -+ return -ESTALE; -+ } -+ - /* Create cgroup */ - r = session_start_scope(s); - if (r < 0) diff --git a/0001-bnc888612-logind-polkit-acpi.patch b/0001-bnc888612-logind-polkit-acpi.patch deleted file mode 100644 index 8729f452..00000000 --- a/0001-bnc888612-logind-polkit-acpi.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- - src/login/logind-action.c | 5 +++++ - src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- - 2 files changed, 28 insertions(+), 8 deletions(-) - -Index: systemd-227/src/login/logind-action.c -=================================================================== ---- systemd-227.orig/src/login/logind-action.c -+++ systemd-227/src/login/logind-action.c -@@ -85,6 +85,11 @@ int manager_handle_action( - - /* If the key handling is inhibited, don't do anything */ - if (inhibit_key > 0) { -+ if (inhibit_key == INHIBIT_HANDLE_POWER_KEY) { -+ int fd; -+ fd = open("/run/systemd/acpi-shutdown", O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR); -+ close(fd); -+ } - if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { - log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); - return 0; -Index: systemd-227/src/login/logind-dbus.c -=================================================================== ---- systemd-227.orig/src/login/logind-dbus.c -+++ systemd-227/src/login/logind-dbus.c -@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds( - const char *action, - const char *action_multiple_sessions, - const char *action_ignore_inhibit, -- sd_bus_error *error) { -+ sd_bus_error *error, const char *sleep_verb) { - - _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; -- bool multiple_sessions, blocked; -+ bool multiple_sessions, blocked, shutdown_through_acpi; - uid_t uid; -- int r; -+ int r, fd; -+ struct stat buf; - - assert(m); - assert(message); -@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds( - multiple_sessions = r > 0; - blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); - -- if (multiple_sessions && action_multiple_sessions) { -+ fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); -+ if (fd >= 0) { -+ shutdown_through_acpi = fstat(fd, &buf) == 0 && -+ time(NULL) - buf.st_mtime <= 65 && -+ sleep_verb == NULL; -+ close(fd); -+ unlink ("/run/systemd/acpi-shutdown"); -+ } -+ else -+ shutdown_through_acpi = false; -+ -+ if (multiple_sessions && action_multiple_sessions && -+ !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds( - return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - -- if (blocked && action_ignore_inhibit) { -+ if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds( - return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ - } - -- if (!multiple_sessions && !blocked && action) { -+ if (!multiple_sessions && !blocked && action && -+ !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error); - if (r < 0) - return r; -@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep( - } - - r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, -- action_ignore_inhibit, error); -+ action_ignore_inhibit, error, sleep_verb); - if (r != 0) - return r; - -@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); - - r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, -- action, action_multiple_sessions, action_ignore_inhibit, error); -+ action, action_multiple_sessions, -+ action_ignore_inhibit, error, "UNUSED"); - if (r != 0) - return r; - diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch deleted file mode 100644 index c954427f..00000000 --- a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 1b4cd0cf11feb7d41f2eff17f86fa55b31bb6841 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 18 Feb 2016 22:51:23 +0100 -Subject: [PATCH] core: exclude .slice units from "systemctl isolate" - -Fixes: #1969 ---- - src/core/scope.c | 3 +-- - src/core/slice.c | 8 ++++++++ - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git src/core/scope.c src/core/scope.c -index c5d0ece..361695c 100644 ---- a/src/core/scope.c -+++ b/src/core/scope.c -@@ -50,8 +50,7 @@ static void scope_init(Unit *u) { - assert(u->load_state == UNIT_STUB); - - s->timeout_stop_usec = u->manager->default_timeout_stop_usec; -- -- UNIT(s)->ignore_on_isolate = true; -+ u->ignore_on_isolate = true; - } - - static void scope_done(Unit *u) { -diff --git src/core/slice.c src/core/slice.c -index d65364c..667f61b 100644 ---- a/src/core/slice.c -+++ b/src/core/slice.c -@@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { - [SLICE_ACTIVE] = UNIT_ACTIVE - }; - -+static void slice_init(Unit *u) { -+ assert(u); -+ assert(u->load_state == UNIT_STUB); -+ -+ u->ignore_on_isolate = true; -+} -+ - static void slice_set_state(Slice *t, SliceState state) { - SliceState old_state; - assert(t); -@@ -305,6 +312,7 @@ const UnitVTable slice_vtable = { - .no_instances = true, - .can_transient = true, - -+ .init = slice_init, - .load = slice_load, - - .coldplug = slice_coldplug, --- -2.6.2 - diff --git a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch b/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch deleted file mode 100644 index b1a18d36..00000000 --- a/0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch +++ /dev/null @@ -1,193 +0,0 @@ -From d8ccf5fdc91c46ab5d0ae86e38c206bc508d4188 Mon Sep 17 00:00:00 2001 [> v228] -From: Daniel Mack -Date: Fri, 18 Dec 2015 17:28:15 +0100 -Subject: [PATCH] core: fix bus name synchronization after daemon-reload - -During daemon-reload, PID1 temporarly loses its DBus connection, so there's -a small window in which all signals sent by dbus-daemon are lost. - -This is a problem, since we rely on the NameOwnerChanged signals in order to -consider a service with Type=dbus fully started or terminated, respectively. - -In order to fix this, a rewrite of bus_list_names() is necessary. We used -to walk the current list of names on the bus, and blindly triggered the -bus_name_owner_change() callback on each service, providing the actual name -as current owner. This implementation has a number of problems: - -* We cannot detect if the the name was moved from one owner to the other - while we were reloading - -* We don't notify services which missed the name loss signal - -* Providing the actual name as current owner is a hack, as the comment also - admits. - -To fix this, this patch carries the following changes: - -* Track the name of the current bus name owner, and (de-)serialize it - during reload. This way, we can detect changes. - -* In bus_list_names(), walk the list of bus names we're interested in - first, and then see if the name is active on the bus. If it is, - check it it's still the same as it used to be, and synthesize - NameOwnerChanged signals for the name add and/or loss. - -This should fully synchronize the current name list with the internal -state of all services. ---- - src/core/dbus.c | 64 +++++++++++++++++++++++++++++++++++++++++++++--------- - src/core/service.c | 14 ++++++++++++ - src/core/service.h | 1 + - 3 files changed, 69 insertions(+), 10 deletions(-) - -diff --git a/src/core/dbus.c b/src/core/dbus.c -index e7ee216..58069f5 100644 ---- a/src/core/dbus.c -+++ b/src/core/dbus.c -@@ -736,7 +736,9 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void - - static int bus_list_names(Manager *m, sd_bus *bus) { - _cleanup_strv_free_ char **names = NULL; -- char **i; -+ const char *name; -+ Iterator i; -+ Unit *u; - int r; - - assert(m); -@@ -746,15 +748,55 @@ static int bus_list_names(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to get initial list of names: %m"); - -- /* This is a bit hacky, we say the owner of the name is the -- * name itself, because we don't want the extra traffic to -- * figure out the real owner. */ -- STRV_FOREACH(i, names) { -- Unit *u; -+ /* We have to synchronize the current bus names with the -+ * list of active services. To do this, walk the list of -+ * all units with bus names. */ -+ HASHMAP_FOREACH_KEY(u, name, m->watch_bus, i) { -+ Service *s = SERVICE(u); -+ -+ assert(s); - -- u = hashmap_get(m->watch_bus, *i); -- if (u) -- UNIT_VTABLE(u)->bus_name_owner_change(u, *i, NULL, *i); -+ if (!streq_ptr(s->bus_name, name)) { -+ log_unit_warning(u, "Bus name has changed from %s → %s, ignoring.", s->bus_name, name); -+ continue; -+ } -+ -+ /* Check if a service's bus name is in the list of currently -+ * active names */ -+ if (strv_contains(names, name)) { -+ _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; -+ const char *unique; -+ -+ /* If it is, determine its current owner */ -+ r = sd_bus_get_name_creds(bus, name, SD_BUS_CREDS_UNIQUE_NAME, &creds); -+ if (r < 0) { -+ log_error_errno(r, "Failed to get bus name owner %s: %m", name); -+ continue; -+ } -+ -+ r = sd_bus_creds_get_unique_name(creds, &unique); -+ if (r < 0) { -+ log_error_errno(r, "Failed to get unique name for %s: %m", name); -+ continue; -+ } -+ -+ /* Now, let's compare that to the previous bus owner, and -+ * if it's still the same, all is fine, so just don't -+ * bother the service. Otherwise, the name has apparently -+ * changed, so synthesize a name owner changed signal. */ -+ -+ if (!streq_ptr(unique, s->bus_name_owner)) -+ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, unique); -+ } else { -+ /* So, the name we're watching is not on the bus. -+ * This either means it simply hasn't appeared yet, -+ * or it was lost during the daemon reload. -+ * Check if the service has a stored name owner, -+ * and synthesize a name loss signal in this case. */ -+ -+ if (s->bus_name_owner) -+ UNIT_VTABLE(u)->bus_name_owner_change(u, name, s->bus_name_owner, NULL); -+ } - } - - return 0; -@@ -808,7 +850,9 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to register name: %m"); - -- bus_list_names(m, bus); -+ r = bus_list_names(m, bus); -+ if (r < 0) -+ return r; - - log_debug("Successfully connected to API bus."); - return 0; -diff --git a/src/core/service.c b/src/core/service.c -index 41a729c..c5b689a 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -323,6 +323,8 @@ static void service_done(Unit *u) { - s->bus_name = mfree(s->bus_name); - } - -+ s->bus_name_owner = mfree(s->bus_name_owner); -+ - s->bus_endpoint_fd = safe_close(s->bus_endpoint_fd); - service_close_socket_fd(s); - service_connection_unref(s); -@@ -2122,6 +2124,7 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { - - unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known)); - unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good)); -+ unit_serialize_item(u, f, "bus-name-owner", s->bus_name_owner); - - r = unit_serialize_item_escaped(u, f, "status-text", s->status_text); - if (r < 0) -@@ -2249,6 +2252,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - log_unit_debug(u, "Failed to parse bus-name-good value: %s", value); - else - s->bus_name_good = b; -+ } else if (streq(key, "bus-name-owner")) { -+ r = free_and_strdup(&s->bus_name_owner, value); -+ if (r < 0) -+ log_unit_error_errno(u, r, "Unable to deserialize current bus owner %s: %m", value); - } else if (streq(key, "status-text")) { - char *t; - -@@ -3134,6 +3141,13 @@ static void service_bus_name_owner_change( - - s->bus_name_good = !!new_owner; - -+ /* Track the current owner, so we can reconstruct changes after a daemon reload */ -+ r = free_and_strdup(&s->bus_name_owner, new_owner); -+ if (r < 0) { -+ log_unit_error_errno(u, r, "Unable to set new bus name owner %s: %m", new_owner); -+ return; -+ } -+ - if (s->type == SERVICE_DBUS) { - - /* service_enter_running() will figure out what to -diff --git a/src/core/service.h b/src/core/service.h -index d0faad8..19efbcc 100644 ---- a/src/core/service.h -+++ b/src/core/service.h -@@ -172,6 +172,7 @@ struct Service { - bool reset_cpu_usage:1; - - char *bus_name; -+ char *bus_name_owner; /* unique name of the current owner */ - - char *status_text; - int status_errno; --- -2.6.2 - diff --git a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch b/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch deleted file mode 100644 index 11b6a99f..00000000 --- a/0001-core-re-sync-bus-name-list-after-deserializing-durin.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 8936a5e34dbfa9274348f3fef99f7c9f9327ddf9 Mon Sep 17 00:00:00 2001 [> v228] -From: Daniel Mack -Date: Tue, 22 Dec 2015 11:37:09 +0100 -Subject: [PATCH] core: re-sync bus name list after deserializing during - daemon-reload - -When the daemon reloads, it doesn not actually give up its DBus connection, -as wrongly stated in an earlier commit. However, even though the bus -connection stays open, the daemon flushes out all its internal state. - -Hence, if there is a NameOwnerChanged signal after the flush and before the -deserialization, it cannot be matched against any pending unit. - -To fix this, rename bus_list_names() to manager_sync_bus_names() and call -it explicitly at the end of the daemon reload operation. ---- - src/core/dbus.c | 4 ++-- - src/core/dbus.h | 2 ++ - src/core/manager.c | 4 ++++ - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/core/dbus.c b/src/core/dbus.c -index 58069f5..1d89b9e 100644 ---- a/src/core/dbus.c -+++ b/src/core/dbus.c -@@ -734,7 +734,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void - return 0; - } - --static int bus_list_names(Manager *m, sd_bus *bus) { -+int manager_sync_bus_names(Manager *m, sd_bus *bus) { - _cleanup_strv_free_ char **names = NULL; - const char *name; - Iterator i; -@@ -850,7 +850,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) { - if (r < 0) - return log_error_errno(r, "Failed to register name: %m"); - -- r = bus_list_names(m, bus); -+ r = manager_sync_bus_names(m, bus); - if (r < 0) - return r; - -diff --git a/src/core/dbus.h b/src/core/dbus.h -index 4f06ad1..ff76166 100644 ---- a/src/core/dbus.h -+++ b/src/core/dbus.h -@@ -34,6 +34,8 @@ void bus_track_serialize(sd_bus_track *t, FILE *f); - int bus_track_deserialize_item(char ***l, const char *line); - int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l); - -+int manager_sync_bus_names(Manager *m, sd_bus *bus); -+ - int bus_foreach_bus(Manager *m, sd_bus_track *subscribed2, int (*send_message)(sd_bus *bus, void *userdata), void *userdata); - - int bus_verify_manage_units_async(Manager *m, sd_bus_message *call, sd_bus_error *error); -diff --git a/src/core/manager.c b/src/core/manager.c -index e65616a..ffe27be 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -2574,6 +2574,10 @@ int manager_reload(Manager *m) { - /* Third, fire things up! */ - manager_coldplug(m); - -+ /* Sync current state of bus names with our set of listening units */ -+ if (m->api_bus) -+ manager_sync_bus_names(m, m->api_bus); -+ - assert(m->n_reloading > 0); - m->n_reloading--; - --- -2.6.2 - diff --git a/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch b/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch deleted file mode 100644 index 99e9c6cb..00000000 --- a/0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 6dac79e09ec1b45f05b3e9a5f1f445859b6eefd2 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 23 Sep 2016 13:33:01 +0200 -Subject: [PATCH 1/1] journal: fix HMAC calculation when appending a data - object - -Since commit 5996c7c295e073ce21d41305169132c8aa993ad0 (v190 !), the -calculation of the HMAC is broken because the hash for a data object -including a field is done in the wrong order: the field object is -hashed before the data object is. - -However during verification, the hash is done in the opposite order as -objects are scanned sequentially. - -(cherry picked from commit 33685a5a3a98c6ded64d0cc25e37d0180ceb0a6a) - -[fbui: fixes bsc#1000435] ---- - src/journal/journal-file.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index a9882cf..a24d97d 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -1111,6 +1111,12 @@ static int journal_file_append_data( - if (r < 0) - return r; - -+#ifdef HAVE_GCRYPT -+ r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); -+ if (r < 0) -+ return r; -+#endif -+ - /* The linking might have altered the window, so let's - * refresh our pointer */ - r = journal_file_move_to_object(f, OBJECT_DATA, p, &o); -@@ -1135,12 +1141,6 @@ static int journal_file_append_data( - fo->field.head_data_offset = le64toh(p); - } - --#ifdef HAVE_GCRYPT -- r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p); -- if (r < 0) -- return r; --#endif -- - if (ret) - *ret = o; - --- -2.10.0 - diff --git a/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch b/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch deleted file mode 100644 index 93e158b2..00000000 --- a/0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 0d0bad044f8f19c472acb69d10861a66d3d267b6 Mon Sep 17 00:00:00 2001 -From: Vito Caputo -Date: Tue, 26 Apr 2016 23:29:43 -0700 -Subject: [PATCH 1/1] journal: set STATE_ARCHIVED as part of offlining (#2740) - -The only code path which makes a journal durable is via -journal_file_set_offline(). - -When we perform a rotate the journal's header->state is being set to -STATE_ARCHIVED prior to journal_file_set_offline() being called. - -In journal_file_set_offline(), we short-circuit the entire offline when -f->header->state != STATE_ONLINE. - -This all results in none of the journal_file_set_offline() fsync() calls -being reached when rotate archives a journal, so archived journals are -never explicitly made durable. - -What we do now is instead of setting the f->header->state to -STATE_ARCHIVED directly in journal_file_rotate() prior to -journal_file_close(), we set an archive flag in f->archive for the -journal_file_set_offline() machinery to honor by committing -STATE_ARCHIVED instead of STATE_OFFLINE when set. - -Prior to this, rotated journals were never getting fsync() explicitly -performed on them, since journal_file_set_offline() short-circuited. -Obviously this is undesirable, and depends entirely on the underlying -filesystem as to how much durability was achieved when simply closing -the file. - -Note that this problem existed prior to the recent asynchronous fsync -changes, but those changes do facilitate our performing this durable -offline on rotate without blocking, regardless of the underlying -filesystem sync-on-close semantics. - -(cherry picked from commit 8eb851711fd166024297c425e9261200c36f489d) - -[fbui: context adjustment: the asynchronous journal_file_set_offline() - thingie doesn't exist in v228] - -[fbui: this also fixes the case when we wanted to append a tag (for - FSS verification) when closing the journal. Before this patch, - journal_file_append_tag() failed (silently) because re-opening - the journal to write the tag was not possible since it was - already in "archived" mode.] ---- - src/journal/journal-file.c | 10 ++++++++-- - src/journal/journal-file.h | 1 + - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index f9ff954..e7eecad 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -130,7 +130,7 @@ int journal_file_set_offline(JournalFile *f) { - if (mmap_cache_got_sigbus(f->mmap, f->fd)) - return -EIO; - -- f->header->state = STATE_OFFLINE; -+ f->header->state = f->archive ? STATE_ARCHIVED : STATE_OFFLINE; - - if (mmap_cache_got_sigbus(f->mmap, f->fd)) - return -EIO; -@@ -2813,7 +2813,13 @@ int journal_file_rotate(JournalFile **f, bool compress, bool seal) { - if (r < 0 && errno != ENOENT) - return -errno; - -- old_file->header->state = STATE_ARCHIVED; -+ /* Set as archive so offlining commits w/state=STATE_ARCHIVED. -+ * Previously we would set old_file->header->state to STATE_ARCHIVED directly here, -+ * but journal_file_set_offline() short-circuits when state != STATE_ONLINE, which -+ * would result in the rotated journal never getting fsync() called before closing. -+ * Now we simply queue the archive state by setting an archive bit, leaving the state -+ * as STATE_ONLINE so proper offlining occurs. */ -+ old_file->archive = true; - - /* Currently, btrfs is not very good with out write patterns - * and fragments heavily. Let's defrag our journal files when -diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h -index 898d12d..436e5ff 100644 ---- a/src/journal/journal-file.h -+++ b/src/journal/journal-file.h -@@ -76,6 +76,7 @@ typedef struct JournalFile { - bool compress_lz4:1; - bool seal:1; - bool defrag_on_close:1; -+ bool archive:1; - - bool tail_entry_monotonic_valid:1; - --- -2.10.0 - diff --git a/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch b/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch deleted file mode 100644 index c4dd9e96..00000000 --- a/0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9f47fe6b6a9aad001e99f1fdea78a0c54ce8ae55 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 23 Sep 2016 12:12:13 +0200 -Subject: [PATCH 1/1] journal: warn when we fail to append a tag to a journal - -We shouldn't silently fail when appending the tag to a journal file -since FSS protection will simply be disabled in this case. - -(cherry picked from commit 43cd8794839548a6f332875e8bee8bed2652bf2c) ---- - src/journal/journal-file.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index e7eecad..a9882cf 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -145,8 +145,13 @@ JournalFile* journal_file_close(JournalFile *f) { - - #ifdef HAVE_GCRYPT - /* Write the final tag */ -- if (f->seal && f->writable) -- journal_file_append_tag(f); -+ if (f->seal && f->writable) { -+ int r; -+ -+ r = journal_file_append_tag(f); -+ if (r < 0) -+ log_error_errno(r, "Failed to append tag when closing journal: %m"); -+ } - #endif - - journal_file_set_offline(f); --- -2.10.0 - diff --git a/0001-let-systemctl-completion-ignore-at-names.patch b/0001-let-systemctl-completion-ignore-at-names.patch deleted file mode 100644 index 4159038e..00000000 --- a/0001-let-systemctl-completion-ignore-at-names.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - shell-completion/bash/systemctl.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/shell-completion/bash/systemctl.in -=================================================================== ---- systemd-221.orig/shell-completion/bash/systemctl.in -+++ systemd-221/shell-completion/bash/systemctl.in -@@ -43,7 +43,7 @@ __filter_units_by_property () { - local units=("$@") - local props - IFS=$'\n' read -rd '' -a props < \ -- <(__systemctl $mode show --property "$property" -- "${units[@]}") -+ <(__systemctl $mode show --property "$property" -- "${units[@]}" 2> /dev/null) - for ((i=0; $i < ${#units[*]}; i++)); do - if [[ "${props[i]}" = "$property=$value" ]]; then - echo " ${units[i]}" diff --git a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch b/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch deleted file mode 100644 index f6af8080..00000000 --- a/0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 23 Nov 2015 13:59:43 -0500 -Subject: [PATCH] nss-mymachines: do not allow overlong machine names - -https://github.com/systemd/systemd/issues/2002 ---- - src/nss-mymachines/nss-mymachines.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c -index 969fa96..c98a959 100644 ---- a/src/nss-mymachines/nss-mymachines.c -+++ b/src/nss-mymachines/nss-mymachines.c -@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_uid(e + 1, &uid); - if (r < 0) - goto not_found; -@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( - if (!e || e == p) - goto not_found; - -+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ -+ goto not_found; -+ - r = parse_gid(e + 1, &gid); - if (r < 0) - goto not_found; --- -2.1.4 - diff --git a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch b/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch deleted file mode 100644 index 0375d595..00000000 --- a/0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Werner Fink -Date: Wed Feb 26 14:36:27 UTC 2014 -Subject: Do not clobber XDG_RUNTIME_DIR if su command preserve environment - -Make sure that even if a su command without option -l or with option -m -is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid. - -This belongs to BNC#852015 and also to BNC#855160 - ---- - src/login/pam_systemd.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -Index: systemd-221/src/login/pam_systemd.c -=================================================================== ---- systemd-221.orig/src/login/pam_systemd.c -+++ systemd-221/src/login/pam_systemd.c -@@ -445,6 +445,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); - if (r != PAM_SUCCESS) - return r; -+ } else if (getenv("XDG_RUNTIME_DIR")) { -+ _cleanup_free_ char *p = NULL; -+ -+ /* Make sure that after running YaST2 or the xdg-su scripts -+ * the runtime directory is not clobbered. Even a normal su -+ * command without -l or with -m may clobber. */ -+ -+ if ((r = asprintf(&p, "/run/user/%lu", (unsigned long)pw->pw_uid)) < 0) -+ return PAM_BUF_ERR; -+ -+ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", p, 0); -+ if (r != PAM_SUCCESS) { -+ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir."); -+ return r; -+ } -+ -+ r = export_legacy_dbus_address(handle, pw->pw_uid, p); -+ if (r != PAM_SUCCESS) -+ return r; - } - - if (!isempty(seat)) { diff --git a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch b/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch deleted file mode 100644 index 73ebf147..00000000 --- a/0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch +++ /dev/null @@ -1,51 +0,0 @@ -From c47885438517ac77ee34a30ee3d09e5deb9968f6 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 29 Sep 2016 19:44:34 +0200 -Subject: [PATCH 1/1] pid1: don't return any error in - manager_dispatch_notify_fd() (#4240) - -If manager_dispatch_notify_fd() fails and returns an error then the handling of -service notifications will be disabled entirely leading to a compromised system. - -For example pid1 won't be able to receive the WATCHDOG messages anymore and -will kill all services supposed to send such messages. -(cherry picked from commit 9987750e7a4c62e0eb8473603150596ba7c3a015) ---- - src/core/manager.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 56ca9cf..06d78e4 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1560,10 +1560,14 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - - n = recvmsg(m->notify_fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); - if (n < 0) { -- if (errno == EAGAIN || errno == EINTR) -- return 0; -+ if (!IN_SET(errno, EAGAIN, EINTR)) -+ log_error("Failed to receive notification message: %m"); - -- return -errno; -+ /* It's not an option to return an error here since it -+ * would disable the notification handler entirely. Services -+ * wouldn't be able to send the WATCHDOG message for -+ * example... */ -+ return 0; - } - if (n == 0) { - log_debug("Got zero-length notification message. Ignoring."); -@@ -1590,7 +1594,8 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - r = fdset_new_array(&fds, fd_array, n_fds); - if (r < 0) { - close_many(fd_array, n_fds); -- return log_oom(); -+ log_oom(); -+ return 0; - } - } - --- -2.10.0 - diff --git a/0001-pid1-more-informative-error-message-for-ignored-noti.patch b/0001-pid1-more-informative-error-message-for-ignored-noti.patch deleted file mode 100644 index 6773ccd3..00000000 --- a/0001-pid1-more-informative-error-message-for-ignored-noti.patch +++ /dev/null @@ -1,38 +0,0 @@ -From eb54b43fe31392c9f77505d8f9cd86d1f050b49d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 29 Sep 2016 16:07:41 +0200 -Subject: [PATCH 1/1] pid1: more informative error message for ignored - notifications - -It's probably easier to diagnose a bad notification message if the -contents are printed. But still, do anything only if debugging is on. - -(cherry picked from commit a86b76753d7868c2d05f046f601bc7dc89fc2203) ---- - src/core/manager.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 58d346e..0d0158a 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1516,8 +1516,14 @@ static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const - - if (UNIT_VTABLE(u)->notify_message) - UNIT_VTABLE(u)->notify_message(u, pid, tags, fds); -- else -- log_unit_debug(u, "Got notification message for unit. Ignoring."); -+ else if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) { -+ _cleanup_free_ char *x = NULL, *y = NULL; -+ -+ x = cescape(buf); -+ if (x) -+ y = ellipsize(x, 20, 90); -+ log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y)); -+ } - } - - static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) { --- -2.10.0 - diff --git a/0001-pid1-process-zero-length-notification-messages-again.patch b/0001-pid1-process-zero-length-notification-messages-again.patch deleted file mode 100644 index 72e6905f..00000000 --- a/0001-pid1-process-zero-length-notification-messages-again.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 98c4bab7add94bdfb6cc238376c47a9c73a4fe39 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 29 Sep 2016 16:06:02 +0200 -Subject: [PATCH 1/1] pid1: process zero-length notification messages again - -This undoes 531ac2b234. I acked that patch without looking at the code -carefully enough. There are two problems: -- we want to process the fds anyway -- in principle empty notification messages are valid, and we should - process them as usual, including logging using log_unit_debug(). - -(cherry picked from commit 8523bf7dd514a3a2c6114b7b8fb8f308b4f09fc4) - -[fbui: adjust context] ---- - src/core/manager.c | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 06d78e4..58d346e 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1501,13 +1501,12 @@ static unsigned manager_dispatch_dbus_queue(Manager *m) { - return n; - } - --static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, size_t n, FDSet *fds) { -+static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, FDSet *fds) { - _cleanup_strv_free_ char **tags = NULL; - - assert(m); - assert(u); - assert(buf); -- assert(n > 0); - - tags = strv_split(buf, "\n\r"); - if (!tags) { -@@ -1569,10 +1568,6 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - * example... */ - return 0; - } -- if (n == 0) { -- log_debug("Got zero-length notification message. Ignoring."); -- return 0; -- } - - CMSG_FOREACH(cmsg, &msghdr) { - if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { -@@ -1609,25 +1604,27 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t - return 0; - } - -+ /* The message should be a string. Here we make sure it's NUL-terminated, -+ * but only the part until first NUL will be used anyway. */ - buf[n] = 0; - - /* Notify every unit that might be interested, but try - * to avoid notifying the same one multiple times. */ - u1 = manager_get_unit_by_pid_cgroup(m, ucred->pid); - if (u1) { -- manager_invoke_notify_message(m, u1, ucred->pid, buf, n, fds); -+ manager_invoke_notify_message(m, u1, ucred->pid, buf, fds); - found = true; - } - - u2 = hashmap_get(m->watch_pids1, PID_TO_PTR(ucred->pid)); - if (u2 && u2 != u1) { -- manager_invoke_notify_message(m, u2, ucred->pid, buf, n, fds); -+ manager_invoke_notify_message(m, u2, ucred->pid, buf, fds); - found = true; - } - - u3 = hashmap_get(m->watch_pids2, PID_TO_PTR(ucred->pid)); - if (u3 && u3 != u2 && u3 != u1) { -- manager_invoke_notify_message(m, u3, ucred->pid, buf, n, fds); -+ manager_invoke_notify_message(m, u3, ucred->pid, buf, fds); - found = true; - } - --- -2.10.0 - diff --git a/0001-rules-block-add-support-for-pmem-devices-3683.patch b/0001-rules-block-add-support-for-pmem-devices-3683.patch deleted file mode 100644 index 2af5f771..00000000 --- a/0001-rules-block-add-support-for-pmem-devices-3683.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 31ae8c8741ce9595f4053234d6a6b2fb3616fedf Mon Sep 17 00:00:00 2001 -From: bgbhpe -Date: Fri, 8 Jul 2016 11:43:56 -0400 -Subject: [PATCH 1/1] rules: block: add support for pmem devices (#3683) - -Persistent memory devices can be exposed as block devices as /dev/pmemN -and /dev/pmemNs. pmemN is the raw device and is byte-addressable from -within the kernel and when mmapped by applications from a DAX-mounted -file system. pmemNs has the block translation table (BTT) layered on top, -offering atomic sector/block access. Both pmemN and pmemNs are expected -to contain file systems. - -blkid(8) and lsblk(8) seem to correctly report on pmemN and pmemNs. -systemd v219 will populate /dev/disk/by-uuid/ when, for example, mkfs is -used on pmem, but systemd v228 does not. - -Add pmem to the whitelist. -(cherry picked from commit f3bc4ccc2edf5ad2a99d6ba2795b9999fe76c3df) - -[tblume: fixes bsc#988119] ---- - rules/60-block.rules | 2 +- - rules/60-persistent-storage.rules | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/rules/60-block.rules b/rules/60-block.rules -index c74caca..42c7597 100644 ---- a/rules/60-block.rules -+++ b/rules/60-block.rules -@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_ - ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" - - # watch metadata changes, caused by tools closing the device node which was opened for writing --ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*", OPTIONS+="watch" -+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch" -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index ee1fb08f..ef5d205 100644 ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -6,7 +6,7 @@ - ACTION=="remove", GOTO="persistent_storage_end" - - SUBSYSTEM!="block", GOTO="persistent_storage_end" --KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end" -+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|pmem*", GOTO="persistent_storage_end" - - # ignore partitions that span the entire disk - TEST=="whole_disk", GOTO="persistent_storage_end" --- -2.10.0 - diff --git a/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch b/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch deleted file mode 100644 index 8c9d10ab..00000000 --- a/0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch +++ /dev/null @@ -1,121 +0,0 @@ -From b8d6cc0513adadea9b5048fa320d7f49c10f004b Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Wed, 4 May 2016 08:51:52 +0200 -Subject: [PATCH] systemctl,pid1: do not warn about missing install info with - "preset" - -When "preset" was executed for a unit without install info, we'd warn similarly -as for "enable" and "disable". But "preset" is usually called for all units, -because the preset files are provided by the distribution, and the units are under -control of individual programs, and it's reasonable to call "preset" for all units -rather then try to do it only for the ones that can be installed. -We also don't warn about missing info for "preset-all". Thus it seems reasonable -to silently ignore units w/o install info when presetting. - -(In addition, when more than one unit was specified, we'd issue the warning -only if none of them had install info. But this is probably something to fix -for enable/disable too.) ---- - man/systemctl.xml | 26 +++++++++++++------------- - src/systemctl/systemctl.c | 10 +++++----- - 2 files changed, 18 insertions(+), 18 deletions(-) - -diff --git a/man/systemctl.xml b/man/systemctl.xml -index f342e26..1c2c919 100644 ---- a/man/systemctl.xml -+++ b/man/systemctl.xml -@@ -1082,22 +1082,22 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service - preset NAME... - - -- Reset one or more unit files, as specified on the -- command line, to the defaults configured in the preset -- policy files. This has the same effect as -- disable or enable, -- depending how the unit is listed in the preset files. -+ Reset the enable/disable status one or more unit files, as specified on -+ the command line, to the defaults configured in the preset policy files. This -+ has the same effect as disable or -+ enable, depending how the unit is listed in the preset -+ files. - -- Use to control -- whether units shall be enabled and disabled, or only -- enabled, or only disabled. -+ Use to control whether units shall be -+ enabled and disabled, or only enabled, or only disabled. -+ -+ If the unit carries no install information, it will be silently ignored -+ by this command. - -- For more information on the preset policy format, -- see -+ For more information on the preset policy format, see - systemd.preset5. -- For more information on the concept of presets, please -- consult the Preset -+ For more information on the concept of presets, please consult the -+ Preset - document. - - -diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 1f42d1a..9dc5971 100644 ---- a/src/systemctl/systemctl.c -+++ b/src/systemctl/systemctl.c -@@ -5399,6 +5399,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - UnitFileChange *changes = NULL; - unsigned n_changes = 0; - int carries_install_info = -1; -+ bool ignore_carries_install_info = false; - int r; - - if (!argv[1]) -@@ -5412,8 +5413,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - if (r < 0) - return r; - -- /* If the operation was fully executed by the SysV compat, -- * let's finish early */ -+ /* If the operation was fully executed by the SysV compat, let's finish early */ - if (strv_isempty(names)) - return 0; - -@@ -5430,7 +5430,6 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - r = unit_file_link(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); - else if (streq(verb, "preset")) { - r = unit_file_preset(arg_scope, arg_runtime, arg_root, names, arg_preset_mode, arg_force, &changes, &n_changes); -- carries_install_info = r; - } else if (streq(verb, "mask")) - r = unit_file_mask(arg_scope, arg_runtime, arg_root, names, arg_force, &changes, &n_changes); - else if (streq(verb, "unmask")) -@@ -5450,7 +5449,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - } else { - _cleanup_bus_message_unref_ sd_bus_message *reply = NULL, *m = NULL; - _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; -- int expect_carries_install_info = false; -+ bool expect_carries_install_info = false; - bool send_force = true, send_preset_mode = false; - const char *method; - sd_bus *bus; -@@ -5481,6 +5480,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - method = "PresetUnitFiles"; - - expect_carries_install_info = true; -+ ignore_carries_install_info = true; - } else if (streq(verb, "mask")) - method = "MaskUnitFiles"; - else if (streq(verb, "unmask")) { -@@ -5540,7 +5540,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) { - r = 0; - } - -- if (carries_install_info == 0) -+ if (carries_install_info == 0 && !ignore_carries_install_info) - log_warning("The unit files have no [Install] section. They are not meant to be enabled\n" - "using systemctl.\n" - "Possible reasons for having this kind of units are:\n" --- -2.6.6 - diff --git a/0010-do-not-install-sulogin-unit-with-poweroff.patch b/0010-do-not-install-sulogin-unit-with-poweroff.patch deleted file mode 100644 index af9d7f53..00000000 --- a/0010-do-not-install-sulogin-unit-with-poweroff.patch +++ /dev/null @@ -1,19 +0,0 @@ -| -| Belongs to bnc#849071 that is do not install console-shell.service -| in any system target as this will cause automatic poweroff at boot. -| ---- - units/console-shell.service.m4.in | 3 --- - 1 file changed, 3 deletions(-) - -Index: systemd-221/units/console-shell.service.m4.in -=================================================================== ---- systemd-221.orig/units/console-shell.service.m4.in -+++ systemd-221/units/console-shell.service.m4.in -@@ -28,6 +28,3 @@ StandardError=inherit - KillMode=process - IgnoreSIGPIPE=no - SendSIGHUP=yes -- --[Install] --WantedBy=getty.target diff --git a/0014-journald-with-journaling-FS.patch b/0014-journald-with-journaling-FS.patch deleted file mode 100644 index 00577b3d..00000000 --- a/0014-journald-with-journaling-FS.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Augmented description [jengelh@inai.de]: -Disable COW on journal files, as that is naturally leading to a lot -of unwanted fragmentation on btrfs. -No word on compression… ---- - src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -Index: systemd-227/src/journal/journald-server.c -=================================================================== ---- systemd-227.orig/src/journal/journald-server.c -+++ systemd-227/src/journal/journald-server.c -@@ -24,6 +24,7 @@ - #include - #endif - #include -+#include - #include - #include - #include -@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd - dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0); - } - -+/* -+ * On journaling and/or compressing file systems, avoid doubling the efforts -+ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every -+ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on -+ * a single unkown flag (like Btrfs does). -+ * -+ * …but src/journal/journal-file.c already sets NOCOW too…⸘ -+ */ -+static void disable_cow(const char *dir, const Server *serv) -+{ -+ unsigned long flags; -+ int fd = open(dir, O_DIRECTORY); -+ -+ if (fd < 0) -+ return; -+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) { -+ unsigned long old = flags; -+ if (!(flags & FS_NOATIME_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0) -+ flags |= FS_NOATIME_FL; -+ if (!(flags & FS_NOCOW_FL) && -+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0) -+ flags |= FS_NOCOW_FL; -+ if (!(flags & FS_NOCOMP_FL) && serv->compress) { -+ flags &= ~FS_COMPR_FL; -+ flags |= FS_NOCOMP_FL; -+ } -+ if (old != flags) -+ ioctl(fd, FS_IOC_SETFLAGS, flags); -+ } -+ close(fd); -+} -+ - void server_dispatch_message( - Server *s, - struct iovec *iovec, unsigned n, unsigned m, -@@ -948,6 +982,7 @@ static int system_journal_open(Server *s - - fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s)); - (void) mkdir(fn, 0755); -+ disable_cow(fn, s); - - fn = strjoina(fn, "/system.journal"); - r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal); diff --git a/0019-make-completion-smart-to-be-able-to-redirect.patch b/0019-make-completion-smart-to-be-able-to-redirect.patch deleted file mode 100644 index c8ab5fa7..00000000 --- a/0019-make-completion-smart-to-be-able-to-redirect.patch +++ /dev/null @@ -1,272 +0,0 @@ ---- - shell-completion/bash/coredumpctl | 6 +++++- - shell-completion/bash/hostnamectl | 6 +++++- - shell-completion/bash/journalctl | 6 +++++- - shell-completion/bash/kernel-install | 13 ++++++++++++- - shell-completion/bash/localectl | 6 +++++- - shell-completion/bash/loginctl | 6 +++++- - shell-completion/bash/systemctl.in | 6 +++++- - shell-completion/bash/systemd-analyze | 6 +++++- - shell-completion/bash/systemd-run | 14 +++++++++++++- - shell-completion/bash/timedatectl | 6 +++++- - shell-completion/bash/udevadm | 6 +++++- - 11 files changed, 70 insertions(+), 11 deletions(-) - -Index: systemd-228/shell-completion/bash/coredumpctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/coredumpctl -+++ systemd-228/shell-completion/bash/coredumpctl -@@ -44,6 +44,10 @@ _coredumpctl() { - [DUMP]='dump gdb' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" '--output -o'; then - comps=$( compgen -A file -- "$cur" ) - compopt -o filenames -@@ -82,4 +86,4 @@ _coredumpctl() { - return 0 - } - --complete -F _coredumpctl coredumpctl -+complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd-228/shell-completion/bash/hostnamectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/hostnamectl -+++ systemd-228/shell-completion/bash/hostnamectl -@@ -30,6 +30,10 @@ _hostnamectl() { - local OPTS='-h --help --version --transient --static --pretty - --no-ask-password -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if [[ $cur = -* ]]; then - COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) - return 0 -@@ -61,4 +65,4 @@ _hostnamectl() { - return 0 - } - --complete -F _hostnamectl hostnamectl -+complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd-228/shell-completion/bash/journalctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/journalctl -+++ systemd-228/shell-completion/bash/journalctl -@@ -56,6 +56,10 @@ _journalctl() { - --root -M --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then - case $prev in - --boot|--this-boot|-b) -@@ -121,4 +125,4 @@ _journalctl() { - fi - } - --complete -F _journalctl journalctl -+complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd-228/shell-completion/bash/kernel-install -=================================================================== ---- systemd-228.orig/shell-completion/bash/kernel-install -+++ systemd-228/shell-completion/bash/kernel-install -@@ -18,11 +18,22 @@ - # You should have received a copy of the GNU Lesser General Public License - # along with systemd; If not, see . - -+__contains_word () { -+ local w word=$1; shift -+ for w in "$@"; do -+ [[ $w = "$word" ]] && return -+ done -+} -+ - _kernel_install() { - local comps - local MACHINE_ID - local cur=${COMP_WORDS[COMP_CWORD]} - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - case $COMP_CWORD in - 1) - comps="add remove" -@@ -47,4 +58,4 @@ _kernel_install() { - return 0 - } - --complete -F _kernel_install kernel-install -+complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd-228/shell-completion/bash/localectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/localectl -+++ systemd-228/shell-completion/bash/localectl -@@ -36,6 +36,10 @@ _localectl() { - local OPTS='-h --help --version --no-convert --no-pager --no-ask-password - -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" $OPTS; then - case $prev in - --host|-H) -@@ -89,4 +93,4 @@ _localectl() { - return 0 - } - --complete -F _localectl localectl -+complete -o default -o bashdefault -F _localectl localectl -Index: systemd-228/shell-completion/bash/loginctl -=================================================================== ---- systemd-228.orig/shell-completion/bash/loginctl -+++ systemd-228/shell-completion/bash/loginctl -@@ -38,6 +38,10 @@ _loginctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" ${OPTS[ARG]}; then - case $prev in - --signal|-s) -@@ -107,4 +111,4 @@ _loginctl () { - return 0 - } - --complete -F _loginctl loginctl -+complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd-228/shell-completion/bash/systemctl.in -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemctl.in -+++ systemd-228/shell-completion/bash/systemctl.in -@@ -104,6 +104,10 @@ _systemctl () { - --preset-mode -n --lines -o --output -M --machine' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "--user" ${COMP_WORDS[*]}; then - mode=--user - elif __contains_word "--global" ${COMP_WORDS[*]}; then -@@ -280,4 +284,4 @@ _systemctl () { - return 0 - } - --complete -F _systemctl systemctl -+complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd-228/shell-completion/bash/systemd-analyze -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-analyze -+++ systemd-228/shell-completion/bash/systemd-analyze -@@ -47,6 +47,10 @@ _systemd_analyze() { - [VERIFY]='verify' - ) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - _init_completion || return - - for ((i=0; i < COMP_CWORD; i++)); do -@@ -114,4 +118,4 @@ _systemd_analyze() { - return 0 - } - --complete -F _systemd_analyze systemd-analyze -+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd-228/shell-completion/bash/systemd-run -=================================================================== ---- systemd-228.orig/shell-completion/bash/systemd-run -+++ systemd-228/shell-completion/bash/systemd-run -@@ -17,6 +17,13 @@ - # You should have received a copy of the GNU Lesser General Public License - # along with systemd; If not, see . - -+__contains_word () { -+ local w word=$1; shift -+ for w in "$@"; do -+ [[ $w = "$word" ]] && return -+ done -+} -+ - __systemctl() { - local mode=$1; shift 1 - systemctl $mode --full --no-legend "$@" -@@ -40,6 +47,11 @@ _systemd_run() { - - local mode=--system - local i -+ -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - local opts_with_values=( - --unit --description --slice --service-type -H --host -M --machine -p --property --on-active - --on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property -@@ -114,4 +126,4 @@ _systemd_run() { - return 0 - } - --complete -F _systemd_run systemd-run -+complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd-228/shell-completion/bash/timedatectl -=================================================================== ---- systemd-228.orig/shell-completion/bash/timedatectl -+++ systemd-228/shell-completion/bash/timedatectl -@@ -30,6 +30,10 @@ _timedatectl() { - local OPTS='-h --help --version --adjust-system-clock --no-pager - --no-ask-password -H --host --machine' - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - if __contains_word "$prev" $OPTS; then - case $prev in - --host|-H) -@@ -73,4 +77,4 @@ _timedatectl() { - return 0 - } - --complete -F _timedatectl timedatectl -+complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd-228/shell-completion/bash/udevadm -=================================================================== ---- systemd-228.orig/shell-completion/bash/udevadm -+++ systemd-228/shell-completion/bash/udevadm -@@ -36,6 +36,10 @@ _udevadm() { - - local verbs=(info trigger settle control monitor hwdb test-builtin test) - -+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then -+ return 0 -+ fi -+ - for ((i=0; i < COMP_CWORD; i++)); do - if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" && - ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then -@@ -94,4 +98,4 @@ _udevadm() { - return 0 - } - --complete -F _udevadm udevadm -+complete -o default -o bashdefault -F _udevadm udevadm diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch deleted file mode 100644 index cea9163a..00000000 --- a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Milasan -Date: Wed, 27 Jun 2012 08:55:59 +0000 -Subject: rules create by id scsi links for ATA devices - -Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) ---- - rules/60-persistent-storage.rules | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -36,6 +36,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", - KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" - KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - -+# scsi compat links for ATA devices -+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" -+ - # FireWire - KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" - KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch deleted file mode 100644 index 92bfef99..00000000 --- a/1003-udev-netlink-null-rules.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Robert Milasan -Date: Mon, 6 Aug 2012 13:35:34 +0000 -Subject: udev netlink null rules - -udevd race for netlink events (bnc#774646) ---- - src/udev/udevd.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/src/udev/udevd.c -=================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -917,6 +917,8 @@ static int on_uevent(sd_event_source *s, - dev = udev_monitor_receive_device(manager->monitor); - if (dev) { - udev_device_ensure_usec_initialized(dev, NULL); -+ if (manager->rules == NULL) -+ manager->rules = udev_rules_new(manager->udev, arg_resolve_names); - r = event_queue_insert(manager, dev); - if (r < 0) - udev_device_unref(dev); diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch deleted file mode 100644 index 868247ed..00000000 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Milasan -Date: Tue, 12 Feb 2013 09:16:23 +0000 -Subject: create default links for primary cd_dvd drive - -cdrom_id: created links for the default cd/dvd drive (bnc#783054). ---- - rules/60-cdrom_id.rules | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -Index: systemd-221/rules/60-cdrom_id.rules -=================================================================== ---- systemd-221.orig/rules/60-cdrom_id.rules -+++ systemd-221/rules/60-cdrom_id.rules -@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ - # stale mounts after ejecting - ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" - --KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" - - LABEL="cdrom_end" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch deleted file mode 100644 index 36bb93ba..00000000 --- a/1006-udev-always-rename-network.patch +++ /dev/null @@ -1,77 +0,0 @@ -From: Robert Milasan -Cc: Werner Fink -Subject: udev always rename network - -Date: Thu, 28 Mar 2013 09:24:43 +0000 -udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - -Date: Tue, 4 Mar 2014 10:29:21 +0000 -Port the patch of Robert to systemd v210 and test it out. - ---- - src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - - -Index: systemd-221/src/udev/udev-event.c -=================================================================== ---- systemd-221.orig/src/udev/udev-event.c -+++ systemd-221/src/udev/udev-event.c -@@ -796,20 +796,53 @@ out: - static int rename_netif(struct udev_event *event) { - struct udev_device *dev = event->dev; - char name[IFNAMSIZ]; -+ char interim[IFNAMSIZ], *ptr = &interim[0]; - const char *oldname; -- int r; -+ int r, loop; - - oldname = udev_device_get_sysname(dev); - - strscpy(name, IFNAMSIZ, event->name); - - r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); -- if (r < 0) -+ if (r == 0) { -+ log_info("renamed network interface %s to %s\n", oldname, name); -+ return r; -+ } else if (r != -EEXIST) { - return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name); -+ } - -- log_debug("renamed network interface '%s' to '%s'", oldname, name); -+ /* free our own name, another process may wait for us */ -+ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); - -- return 0; -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim); -+ if (r < 0) { -+ log_error("error changing net interface name %s to %s: %s", -+ oldname, interim, strerror(-r)); -+ return r; -+ } -+ -+ /* log temporary name */ -+ log_info("renamed network interface %s to %s\n", oldname, interim); -+ -+ loop = 90 * 20; -+ while (loop--) { -+ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; -+ nanosleep(&duration, NULL); -+ -+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name); -+ if (r == 0) { -+ log_info("renamed network interface %s to %s\n", interim, name); -+ break; -+ } -+ -+ if (r != -EEXIST) { -+ log_error("error changing net interface name %s to %s: %s", -+ interim, name, strerror(-r)); -+ break; -+ } -+ } -+ return r; - } - - void udev_event_execute_rules(struct udev_event *event, diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch deleted file mode 100644 index 5365f17c..00000000 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- - Makefile.am | 4 ++++ - rules/80-hotplug-cpu-mem.rules | 12 ++++++++++++ - 2 files changed, 16 insertions(+) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -3841,6 +3841,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/80-hotplug-cpu-mem.rules -+ -+# ------------------------------------------------------------------------------ - mtd_probe_SOURCES = \ - src/udev/mtd_probe/mtd_probe.c \ - src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-221/rules/80-hotplug-cpu-mem.rules -=================================================================== ---- /dev/null -+++ systemd-221/rules/80-hotplug-cpu-mem.rules -@@ -0,0 +1,12 @@ -+# do not edit this file, it will be overwritten on update -+ -+# Hotplug physical CPU -+SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ -+ ATTR{online}="1" -+ -+# Hotplug physical memory -+SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ -+ ATTR{state}="online", TAG+="tmpfs" -+ -+# -+TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" diff --git a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch deleted file mode 100644 index 9d5a39f0..00000000 --- a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 10 Apr 2014 11:10:41 +0200 -Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready - -If any devices are marked with 'SYSTEMD_READY=0' then -we shouldn't run any btrfs check on them. - ---- - rules/64-btrfs.rules | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/rules/64-btrfs.rules -=================================================================== ---- systemd-221.orig/rules/64-btrfs.rules -+++ systemd-221/rules/64-btrfs.rules -@@ -3,6 +3,7 @@ - SUBSYSTEM!="block", GOTO="btrfs_end" - ACTION=="remove", GOTO="btrfs_end" - ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" -+ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" - - # let the kernel know about this btrfs filesystem, and check if it is complete - IMPORT{builtin}="btrfs ready $devnode" diff --git a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch deleted file mode 100644 index c5bd4a13..00000000 --- a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 10 Apr 2014 11:14:20 +0200 -Subject: [PATCH 2/2] Skip persistent device link creation on multipath device - paths - -When a device is marked as a multipath device path by setting -DM_MULTIPATH_DEVICE_PATH="1" udev should not create any -persistent symlinks to that device. -Otherwise systemd will get confused about which device to use. - ---- - rules/60-persistent-storage.rules | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}! - # SCSI devices - KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" - KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" --KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" --KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" -+KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" -+KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - - # scsi compat links for ATA devices - KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -@@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!= - KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ - IMPORT{builtin}="blkid --noraid" - -+# Skip blkid on multipath device paths -+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" -+ - # probe filesystem metadata of disks - KERNEL!="sr*", IMPORT{builtin}="blkid" - diff --git a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch b/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch deleted file mode 100644 index 400cd94d..00000000 --- a/1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c9af1be90db5a29ac86605c67bc2bb4bc5780520 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke -Date: Thu, 12 Jun 2014 12:25:03 +0200 -Subject: [PATCH] 99-systemd.rules: Ignore devices with 'SYSTEMD_READY=0' - -Whenever a rule sets 'SYSTEMD_READY=0' it tries to indicate -that systemd should ignore this device. So we should not -set the 'systemd' tag in these cases; otherwise systemd -will pick up the device. - -References: bnc#881942 - -Signed-off-by: Hannes Reinecke ---- - rules/99-systemd.rules.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/rules/99-systemd.rules.in -=================================================================== ---- systemd-221.orig/rules/99-systemd.rules.in -+++ systemd-221/rules/99-systemd.rules.in -@@ -10,6 +10,7 @@ ACTION=="remove", GOTO="systemd_end" - SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" - -+SUBSYSTEM=="block", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" - SUBSYSTEM=="block", TAG+="systemd" - SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" - diff --git a/1037-udev-exclude-cd-dvd-from-block-device.patch b/1037-udev-exclude-cd-dvd-from-block-device.patch deleted file mode 100644 index 2b001518..00000000 --- a/1037-udev-exclude-cd-dvd-from-block-device.patch +++ /dev/null @@ -1,20 +0,0 @@ -Exclude cd/dvd as well (bnc#882714) - ---- - src/udev/udevd.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/src/udev/udevd.c -=================================================================== ---- systemd-221.orig/src/udev/udevd.c -+++ systemd-221/src/udev/udevd.c -@@ -1022,7 +1022,8 @@ static int synthesize_change(struct udev - - if (streq_ptr("block", udev_device_get_subsystem(dev)) && - streq_ptr("disk", udev_device_get_devtype(dev)) && -- !startswith(udev_device_get_sysname(dev), "dm-")) { -+ !startswith(udev_device_get_sysname(dev), "dm-") && -+ !startswith(udev_device_get_sysname(dev), "sr")) { - bool part_table_read = false; - bool has_partitions = false; - int fd; diff --git a/1062-rules-set-default-permissions-for-GenWQE-devices.patch b/1062-rules-set-default-permissions-for-GenWQE-devices.patch deleted file mode 100644 index 80c434dc..00000000 --- a/1062-rules-set-default-permissions-for-GenWQE-devices.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - rules/50-udev-default.rules | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/rules/50-udev-default.rules -=================================================================== ---- systemd-221.orig/rules/50-udev-default.rules -+++ systemd-221/rules/50-udev-default.rules -@@ -74,4 +74,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st - - KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" - -+KERNEL=="genwqe*", MODE="0666" -+ - LABEL="default_end" diff --git a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch b/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch deleted file mode 100644 index 637c2be8..00000000 --- a/1066-udev-add-compatibility-links-for-truncated-by-id-links.patch +++ /dev/null @@ -1,175 +0,0 @@ -From: Jeff Mahoney -Subject: udev: add option to generate old 'buggy' serials -References: bnc#886852 - -Prior to udev 184, scsi_id would truncate the last character of the model -string when generating the ID_SERIAL value. If a system was installed -prior to that fix being available in udev, there may be configuration -information that refers to the truncated link. - -This patch adds a --truncated-serial option and a udev rule will created -the old truncated links. - -Signed-off-by: Jeff Mahoney ---- - rules/60-persistent-storage.rules | 4 ++++ - src/udev/scsi_id/scsi_id.c | 15 ++++++++++++++- - src/udev/scsi_id/scsi_id.h | 1 + - src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ - 4 files changed, 32 insertions(+), 7 deletions(-) - -Index: systemd-221/rules/60-persistent-storage.rules -=================================================================== ---- systemd-221.orig/rules/60-persistent-storage.rules -+++ systemd-221/rules/60-persistent-storage.rules -@@ -40,6 +40,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par - KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" - KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" - -+# scsi compat links for ATA devices (for compatibility with udev < 184) -+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}" -+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n" -+ - # FireWire - KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" - KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" -Index: systemd-221/src/udev/scsi_id/scsi_id.c -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_id.c -+++ systemd-221/src/udev/scsi_id/scsi_id.c -@@ -43,6 +43,7 @@ static const struct option options[] = { - { "replace-whitespace", no_argument, NULL, 'u' }, - { "sg-version", required_argument, NULL, 's' }, - { "verbose", no_argument, NULL, 'v' }, -+ { "truncated-serial", no_argument, NULL, '9' }, - { "version", no_argument, NULL, 'V' }, /* don't advertise -V */ - { "export", no_argument, NULL, 'x' }, - { "help", no_argument, NULL, 'h' }, -@@ -54,6 +55,7 @@ static bool dev_specified = false; - static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config"; - static enum page_code default_page_code = PAGE_UNSPECIFIED; - static int sg_version = 4; -+static bool compat_truncated = false; - static bool reformat_serial = false; - static bool export = false; - static char vendor_str[64]; -@@ -316,6 +318,7 @@ static void help(void) { - " -g --whitelisted Treat device as whitelisted\n" - " -u --replace-whitespace Replace all whitespace by underscores\n" - " -v --verbose Verbose logging\n" -+ " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n" - " -x --export Print values as environment keys\n" - , program_invocation_short_name); - -@@ -387,6 +390,10 @@ static int set_options(struct udev *udev - log_open(); - break; - -+ case '9': -+ compat_truncated = true; -+ break; -+ - case 'V': - printf("%s\n", VERSION); - exit(0); -@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch - util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("ID_SERIAL=%s\n", serial_str); -+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); -+ util_replace_chars(serial_str, NULL); -+ printf("ID_SERIAL_COMPAT=%s\n", serial_str); - util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("ID_SERIAL_SHORT=%s\n", serial_str); -@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch - if (reformat_serial) { - char serial_str[MAX_SERIAL_LEN]; - -- util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); -+ if (compat_truncated) -+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str)); -+ else -+ util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); - util_replace_chars(serial_str, NULL); - printf("%s\n", serial_str); - goto out; -Index: systemd-221/src/udev/scsi_id/scsi_id.h -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_id.h -+++ systemd-221/src/udev/scsi_id/scsi_id.h -@@ -45,6 +45,7 @@ struct scsi_id_device { - char kernel[64]; - char serial[MAX_SERIAL_LEN]; - char serial_short[MAX_SERIAL_LEN]; -+ char serial_compat[MAX_SERIAL_LEN]; - int use_sg; - - /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ -Index: systemd-221/src/udev/scsi_id/scsi_serial.c -=================================================================== ---- systemd-221.orig/src/udev/scsi_id/scsi_serial.c -+++ systemd-221/src/udev/scsi_id/scsi_serial.c -@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a - - static int do_scsi_page80_inquiry(struct udev *udev, - struct scsi_id_device *dev_scsi, int fd, -- char *serial, char *serial_short, int max_len); -+ char *serial, char *serial_short, -+ char *serial_compat, int max_len); - - static int sg_err_category_new(struct udev *udev, - int scsi_status, int msg_status, int -@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct - unsigned char page_83[SCSI_INQ_BUFF_LEN]; - - /* also pick up the page 80 serial number */ -- do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, MAX_SERIAL_LEN); -+ do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, NULL, MAX_SERIAL_LEN); - - memzero(page_83, SCSI_INQ_BUFF_LEN); - retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir - /* Get unit serial number VPD page */ - static int do_scsi_page80_inquiry(struct udev *udev, - struct scsi_id_device *dev_scsi, int fd, -- char *serial, char *serial_short, int max_len) -+ char *serial, char *serial_short, -+ char *serial_compat, int max_len) - { - int retval; - int ser_ind; -@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct - ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); - if (ser_ind < 0) - return 1; -+ if (serial_compat) -+ strcpy(serial_compat, serial); - ser_ind++; /* for the leading 'S' */ -- for (i = 4; i < len + 4; i++, ser_ind++) -+ for (i = 4; i < len + 4; i++, ser_ind++) { - serial[ser_ind] = buf[i]; -+ if (serial_compat) -+ serial_compat[ser_ind - 1] = buf[i]; -+ } - } - if (serial_short != NULL) { - memcpy(serial_short, &buf[4], len); -@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, - return 1; - - if (page_code == PAGE_80) { -- if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, len)) { -+ if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { - retval = 1; - goto completed; - } else { -@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, - for (ind = 4; ind <= page0[3] + 3; ind++) - if (page0[ind] == PAGE_80) - if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, -- dev_scsi->serial, dev_scsi->serial_short, len)) { -+ dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) { - /* - * Success - */ diff --git a/1095-set-ssd-disk-to-use-deadline-scheduler.patch b/1095-set-ssd-disk-to-use-deadline-scheduler.patch deleted file mode 100644 index 932ea747..00000000 --- a/1095-set-ssd-disk-to-use-deadline-scheduler.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - Makefile.am | 1 + - rules/60-ssd-scheduler.rules | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -3501,6 +3501,7 @@ dist_udevrules_DATA += \ - rules/60-persistent-input.rules \ - rules/60-persistent-alsa.rules \ - rules/60-persistent-storage.rules \ -+ rules/60-ssd-scheduler.rules \ - rules/60-serial.rules \ - rules/64-btrfs.rules \ - rules/70-mouse.rules \ -Index: systemd-221/rules/60-ssd-scheduler.rules -=================================================================== ---- /dev/null -+++ systemd-221/rules/60-ssd-scheduler.rules -@@ -0,0 +1,11 @@ -+# do not edit this file, it will be overwritten on update -+ -+ACTION!="add", GOTO="ssd_scheduler_end" -+SUBSYSTEM!="block", GOTO="ssd_scheduler_end" -+ -+IMPORT{cmdline}="elevator" -+ENV{elevator}=="*?", GOTO="ssd_scheduler_end" -+ -+KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" -+ -+LABEL="ssd_scheduler_end" diff --git a/1096-new-udev-root-symlink-generator.patch b/1096-new-udev-root-symlink-generator.patch deleted file mode 100644 index e6a0c0de..00000000 --- a/1096-new-udev-root-symlink-generator.patch +++ /dev/null @@ -1,108 +0,0 @@ ---- - Makefile.am | 19 +++++ - src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++ - units/systemd-udev-root-symlink.service | 10 ++ - units/systemd-udev-root-symlink.service.in | 10 ++ - 4 files changed, 96 insertions(+) - ---- systemd-222.orig/Makefile.am -+++ systemd-222/Makefile.am -@@ -3759,6 +3759,25 @@ EXTRA_DIST += \ - test/mocks/fsck - - # ------------------------------------------------------------------------------ -+rootsymlink_generator_SOURCES = \ -+ src/udev/rootsymlink_generator/rootsymlink_generator.c -+ -+rootsymlink_generator_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ rootsymlink-generator -+ -+nodist_systemunit_DATA += \ -+ units/systemd-udev-root-symlink.service -+ -+SYSINIT_TARGET_WANTS += \ -+ systemd-udev-root-symlink.service -+ -+EXTRA_DIST += \ -+ units/systemd-udev-root-symlink.service.in -+ -+# ------------------------------------------------------------------------------ - ata_id_SOURCES = \ - src/udev/ata_id/ata_id.c - ---- /dev/null -+++ systemd-222/src/udev/rootsymlink_generator/rootsymlink_generator.c -@@ -0,0 +1,57 @@ -+/* -+ * Copyright (C) 2014-2015 Robert Milasan -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define BUFFER_SIZE 128 -+ -+#define _ROOTDEV_ "/" -+#define _PATH_ "/run/udev/rules.d" -+#define _FILE_ "10-root-symlink.rules" -+ -+int main(void) -+{ -+ char filename[BUFFER_SIZE], buf[BUFFER_SIZE]; -+ struct stat statbuf; -+ int fd; -+ -+ if (stat(_ROOTDEV_, &statbuf) < 0) -+ return 1; -+ if (major(statbuf.st_dev) <= 0) -+ return 0; -+ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST) -+ return errno; -+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_); -+ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644); -+ if (fd < 0) -+ return errno; -+ snprintf(buf, BUFFER_SIZE, -+ "ACTION==\"add|change\", SUBSYSTEM==\"block\", " -+ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n", -+ major(statbuf.st_dev), minor(statbuf.st_dev)); -+ if (write(fd, buf, strlen(buf)) < 0) -+ return errno; -+ if (close(fd) < 0) -+ return errno; -+ return 0; -+} ---- /dev/null -+++ systemd-222/units/systemd-udev-root-symlink.service.in -@@ -0,0 +1,10 @@ -+[Unit] -+Description=Rule generator for /dev/root symlink -+Before=systemd-udevd.service -+DefaultDependencies=no -+ConditionPathIsReadWrite=/run/udev -+ -+[Service] -+Type=oneshot -+RemainAfterExit=yes -+ExecStart=@udevlibexecdir@/rootsymlink-generator diff --git a/1097-udevd-increase-maximum-number-of-children.patch b/1097-udevd-increase-maximum-number-of-children.patch deleted file mode 100644 index f71c96a4..00000000 --- a/1097-udevd-increase-maximum-number-of-children.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - src/udev/udevd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-227/src/udev/udevd.c -=================================================================== ---- systemd-227.orig/src/udev/udevd.c -+++ systemd-227/src/udev/udevd.c -@@ -568,7 +568,7 @@ static void event_run(Manager *manager, - - if (hashmap_size(manager->workers) >= arg_children_max) { - if (arg_children_max > 1) -- log_debug("maximum number (%i) of children reached", hashmap_size(manager->workers)); -+ log_error("maximum number (%i) of children reached", hashmap_size(manager->workers)); - return; - } - -@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) { - arg_children_max = 8; - - if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0) -- arg_children_max += CPU_COUNT(&cpu_set) * 2; -+ arg_children_max += CPU_COUNT(&cpu_set) * 64; - - log_debug("set children_max to %u", arg_children_max); - } diff --git a/1098-systemd-networkd-alias-network-service.patch b/1098-systemd-networkd-alias-network-service.patch deleted file mode 100644 index a3c666f4..00000000 --- a/1098-systemd-networkd-alias-network-service.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - units/systemd-networkd.service.m4.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/systemd-networkd.service.m4.in -=================================================================== ---- systemd-221.orig/units/systemd-networkd.service.m4.in -+++ systemd-221/units/systemd-networkd.service.m4.in -@@ -34,4 +34,5 @@ WatchdogSec=1min - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket diff --git a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch b/1099-Add-default-rules-for-valve-steam-controller-to-work.patch deleted file mode 100644 index 20cf7a81..00000000 --- a/1099-Add-default-rules-for-valve-steam-controller-to-work.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index db206ae..803912c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -3524,6 +3524,7 @@ dist_udevrules_DATA += \ - rules/60-serial.rules \ - rules/64-btrfs.rules \ - rules/70-mouse.rules \ -+ rules/72-valve-steam-controler.rules \ - rules/75-net-description.rules \ - rules/78-sound-card.rules \ - rules/80-net-setup-link.rules -diff --git a/rules/72-valve-steam-controler.rules b/rules/72-valve-steam-controler.rules -new file mode 100644 -index 0000000..f676972 ---- /dev/null -+++ b/rules/72-valve-steam-controler.rules -@@ -0,0 +1,3 @@ -+SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", TAG+="uaccess" -+SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", TAG+="uaccess" -+KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess" --- -2.6.3 diff --git a/Correct_assert_on_unexpected_error_code.patch b/Correct_assert_on_unexpected_error_code.patch deleted file mode 100644 index 43e686ca..00000000 --- a/Correct_assert_on_unexpected_error_code.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - src/login/pam_systemd.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: systemd-228/src/login/pam_systemd.c -=================================================================== ---- systemd-228.orig/src/login/pam_systemd.c -+++ systemd-228/src/login/pam_systemd.c -@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess - r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL); - if (r != PAM_SUCCESS) { - pam_syslog(handle, LOG_ERR, "Failed to install session fd."); -- safe_close(session_fd); -+ if (session_fd >= 0) { -+ PROTECT_ERRNO; -+ if (_unlikely_(!(close_nointr(session_fd) != -EBADF))) -+ pam_syslog(handle, LOG_ERR, "Unexpected error code on closing session fd: %m"); -+ } - return r; - } - } diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch deleted file mode 100644 index d780d327..00000000 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Frederic Crozat -Date: Wed, 7 Dec 2011 15:15:07 +0000 -Subject: Fix /run/lock directories permissions to follow openSUSE policy - -disable /var/lock/{subsys,lockdev} and change default permissions on -/var/lock (bnc#733523). ---- - tmpfiles.d/legacy.conf | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: systemd-221/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-221.orig/tmpfiles.d/legacy.conf -+++ systemd-221/tmpfiles.d/legacy.conf -@@ -10,13 +10,14 @@ - # These files are considered legacy and are unnecessary on legacy-free - # systems. - --d /run/lock 0755 root root - -+# changed for openSUSE: only /run/lock should be available. -+d /run/lock 0775 root lock - - L /var/lock - - - - ../run/lock - - # /run/lock/subsys is used for serializing SysV service execution, and - # hence without use on SysV-less systems. - --d /run/lock/subsys 0755 root root - -+#d /run/lock/subsys 0755 root root - - - # /run/lock/lockdev is used to serialize access to tty devices via - # LCK..xxx style lock files, For more information see: -@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root - - # On modern systems a BSD file lock is a better choice if - # serialization is needed on those devices. - --d /run/lock/lockdev 0775 root lock - -+#d /run/lock/lockdev 0775 root lock - - - # /forcefsck, /fastboot and /forcequotacheck are deprecated in favor of the - # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch deleted file mode 100644 index 8bc6e24f..00000000 --- a/allow-multiple-sulogin-to-be-started.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Frederic Crozat -Date: Thu, 10 Jan 2013 15:43:25 +0000 -Subject: allow multiple sulogin to be started - -allows multiple sulogin instance (bnc#793182). ---- - units/getty@.service.m4 | 1 + - units/rescue.target | 1 + - units/serial-getty@.service.m4 | 1 + - 3 files changed, 3 insertions(+) - -Index: systemd-221/units/getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/getty@.service.m4 -+++ systemd-221/units/getty@.service.m4 -@@ -9,6 +9,7 @@ - Description=Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - Documentation=http://0pointer.de/blog/projects/serial-console.html -+Conflicts=rescue.service - After=systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`HAVE_SYSV_COMPAT', - After=rc-local.service -Index: systemd-221/units/rescue.target -=================================================================== ---- systemd-221.orig/units/rescue.target -+++ systemd-221/units/rescue.target -@@ -10,6 +10,7 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service -+Conflicts=getty.target - AllowIsolate=yes - - [Install] -Index: systemd-221/units/serial-getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/serial-getty@.service.m4 -+++ systemd-221/units/serial-getty@.service.m4 -@@ -10,6 +10,7 @@ Description=Serial Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - Documentation=http://0pointer.de/blog/projects/serial-console.html - BindsTo=dev-%i.device -+Conflicts=rescue.service - After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service - m4_ifdef(`HAVE_SYSV_COMPAT', - After=rc-local.service diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch deleted file mode 100644 index 257c329b..00000000 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Ludwig Nussel -Date: Mon, 8 Apr 2013 14:51:47 +0200 -Subject: apply ACL for nvidia device nodes - -set ACL on nvidia devices (bnc#808319). ---- - src/login/logind-acl.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -Index: systemd-221/src/login/logind-acl.c -=================================================================== ---- systemd-221.orig/src/login/logind-acl.c -+++ systemd-221/src/login/logind-acl.c -@@ -285,5 +285,17 @@ int devnode_acl_all(struct udev *udev, - r = k; - } - -+ /* only apply ACL on nvidia* if /dev/nvidiactl exists */ -+ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int j; -+ for (j = 0; j <= 256 ; j++) { -+ _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) -+ break; -+ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) -+ break; -+ } -+ } -+ - return r; - } diff --git a/apply-ACL-for-nvidia-uvm-device-node.patch b/apply-ACL-for-nvidia-uvm-device-node.patch deleted file mode 100644 index 00a7c608..00000000 --- a/apply-ACL-for-nvidia-uvm-device-node.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c79437b7967cf5a23faa881bc5da6b88b63a1ada Mon Sep 17 00:00:00 2001 -From: Stefan Dirsch -Date: Tue, 3 Jun 2014 15:05:55 +0200 -Subject: [PATCH] apply ACL for nvidia-uvm device node - -set ACL on nvidia-uvm device (bnc#879767). ---- - src/login/logind-acl.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: systemd-221/src/login/logind-acl.c -=================================================================== ---- systemd-221.orig/src/login/logind-acl.c -+++ systemd-221/src/login/logind-acl.c -@@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev, - if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) - break; - } -+ /* required for additional CUDA support (nvidia-uvm module with appropriate device), bnc#879767 */ -+ devnode_acl("/dev/nvidia-uvm", flush, del, old_uid, add, new_uid); - } - - return r; diff --git a/avoid-divide-by-zero-sigtrap.patch b/avoid-divide-by-zero-sigtrap.patch deleted file mode 100644 index 60e42c9e..00000000 --- a/avoid-divide-by-zero-sigtrap.patch +++ /dev/null @@ -1,34 +0,0 @@ -Nasty bug reported on boo#867663 - ---- - src/basic/def.h | 2 +- - src/core/manager.c | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-228/src/basic/def.h -=================================================================== ---- systemd-228.orig/src/basic/def.h -+++ systemd-228/src/basic/def.h -@@ -40,7 +40,7 @@ - - #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" - --#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT -+#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS - #define SIGNALS_IGNORE SIGPIPE - - #define REBOOT_PARAM_FILE "/run/systemd/reboot-param" -Index: systemd-228/src/core/manager.c -=================================================================== ---- systemd-228.orig/src/core/manager.c -+++ systemd-228/src/core/manager.c -@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog - assert(m); - assert(source); - -- manager_print_jobs_in_progress(m); -+ if (m->n_running_jobs > 0) -+ manager_print_jobs_in_progress(m); - - next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC; - r = sd_event_source_set_time(source, next); diff --git a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch b/avoid-random-hangs-on-timeouts-due-lost-cwd.patch deleted file mode 100644 index 45208124..00000000 --- a/avoid-random-hangs-on-timeouts-due-lost-cwd.patch +++ /dev/null @@ -1,29 +0,0 @@ -Found this during debugging an other problem. The issue was that -after ``sudo -i'' and a ``cd /usr/lib/systemd/system/'' followed -later by a shutdown may fail with (journalctl -b -1): - - systemd-exit.service: Failed at step CHDIR spawning: /usr/bin/kill - -which then caused the subsequent fault that umounting the users -home directories done by automount are busy. - ---- - units/user/systemd-exit.service.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-221/units/user/systemd-exit.service.in -=================================================================== ---- systemd-221.orig/units/user/systemd-exit.service.in -+++ systemd-221/units/user/systemd-exit.service.in -@@ -10,8 +10,9 @@ Description=Exit the Session - Documentation=man:systemd.special(7) - DefaultDependencies=no - Requires=shutdown.target --After=shutdown.target -+After=shutdown.target multi-user.target - - [Service] - Type=oneshot --ExecStart=@KILL@ -s 58 $MANAGERPID -+WorkingDirectory=/ -+ExecStart=@KILL@ -s SIGRTMIN+24 $MANAGERPID diff --git a/boot-local-start.patch b/boot-local-start.patch deleted file mode 100644 index 67576b9f..00000000 --- a/boot-local-start.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - units/rc-local.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/units/rc-local.service.in -=================================================================== ---- systemd-221.orig/units/rc-local.service.in -+++ systemd-221/units/rc-local.service.in -@@ -10,7 +10,7 @@ - [Unit] - Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility - ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ --After=network.target -+After=basic.target - - [Service] - Type=forking diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch deleted file mode 100644 index eb2fa9a4..00000000 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Frederic Crozat -Cc: Werner Fink -Date: Wed, 24 Aug 2011 13:02:12 +0000 -Subject: ensure ask-password-wall starts after getty@tty1 - -ensure passphrase is handled before starting getty on tty1. - ---- - units/systemd-ask-password-wall.service.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-221/units/systemd-ask-password-wall.service.in -=================================================================== ---- systemd-221.orig/units/systemd-ask-password-wall.service.in -+++ systemd-221/units/systemd-ask-password-wall.service.in -@@ -8,7 +8,8 @@ - [Unit] - Description=Forward Password Requests to Wall - Documentation=man:systemd-ask-password-console.service(8) --After=systemd-user-sessions.service -+Wants=getty.target -+After=systemd-user-sessions.service getty.target - - [Service] - ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch deleted file mode 100644 index 7771f1c9..00000000 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Frederic Crozat -Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: ensure shortname is set as hostname (bnc#820213) - -strip hostname so the domain part isn't set as part of the hostname ---- - src/core/hostname-setup.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: systemd-221/src/core/hostname-setup.c -=================================================================== ---- systemd-221.orig/src/core/hostname-setup.c -+++ systemd-221/src/core/hostname-setup.c -@@ -34,6 +34,7 @@ int hostname_setup(void) { - int r; - _cleanup_free_ char *b = NULL; - const char *hn; -+ char *domain; - bool enoent = false; - - r = read_hostname_config("/etc/hostname", &b); -@@ -46,6 +47,9 @@ int hostname_setup(void) { - hn = NULL; - } else - hn = b; -+ /* strip any leftover of a domain name */ -+ if ((domain = strchr(hn, '.')) != NULL) -+ *domain = '\0'; - - if (isempty(hn)) { - /* Don't override the hostname if it is already set diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch deleted file mode 100644 index ded80983..00000000 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Frederic Crozat -Date: Thu, 23 Aug 2012 11:08:25 +0200 -Subject: fix support for boot prefixed initscript (bnc#746506) - ---- - src/systemctl/systemctl.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -Index: systemd-221/src/systemctl/systemctl.c -=================================================================== ---- systemd-221.orig/src/systemctl/systemctl.c -+++ systemd-221/src/systemctl/systemctl.c -@@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char - - p[strlen(p) - strlen(".service")] = 0; - found_sysv = access(p, F_OK) >= 0; -- if (!found_sysv) -+ if (!found_sysv) { -+#ifdef HAVE_SYSV_COMPAT -+ free(p); -+ p = NULL; -+ if (!isempty(arg_root)) -+ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); -+ else -+ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); -+ if (!p) -+ return -ENOMEM; -+ p[strlen(p) - sizeof(".service") + 1] = 0; -+ found_sysv = access(p, F_OK) >= 0; -+ if (!found_sysv) -+ continue; -+#else - continue; -+#endif -+ } - - if (found_native) - log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch deleted file mode 100644 index d7c4477f..00000000 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ /dev/null @@ -1,216 +0,0 @@ -Original-From: Frederic Crozat -Original-Date: Fri, 19 Aug 2011 15:29:49 +0000 -Subject: handle disable_caplock and compose_table and kbd_rate -References: https://bugzilla.opensuse.org/746595 -Last-Editor: Jan Engelhardt -Date: Fri Jun 19 21:36:27 CEST 2015 - ---- - src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 147 insertions(+), 4 deletions(-) - -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -34,6 +34,8 @@ - #include "alloc-util.h" - #include "fd-util.h" - #include "fileio.h" -+#include "macro.h" -+#include "strv.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -104,8 +106,10 @@ static int enable_utf8(int fd) { - return r; - } - --static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) { -- const char *args[8]; -+static int keyboard_load_and_wait(const char *vc, const char *map, -+ const char *map_toggle, bool utf8, bool disable_capslock) -+{ -+ const char *args[9]; - int i = 0, r; - pid_t pid; - -@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const - args[i++] = map; - if (map_toggle) - args[i++] = map_toggle; -+ if (disable_capslock) -+ args[i++] = "disable.capslock"; - args[i++] = NULL; - - pid = fork(); -@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd) - } - } - -+#ifdef HAVE_SYSV_COMPAT -+static int compose_load_and_wait(const char *vc, const char *compose_table) -+{ -+ const char *args[1024]; -+ unsigned int i = 0, j = 0; -+ int ret; -+ pid_t pid; -+ char **strv_compose_table = NULL; -+ char *to_free[1024]; -+ -+ if (isempty(compose_table)) -+ /* An empty map means no compose table */ -+ return 1; -+ -+ args[i++] = KBD_LOADKEYS; -+ args[i++] = "-q"; -+ args[i++] = "-C"; -+ args[i++] = vc; -+ -+ strv_compose_table = strv_split(compose_table, WHITESPACE); -+ if (strv_compose_table) { -+ bool compose_loaded = false; -+ bool compose_clear = false; -+ char **name; -+ char *arg; -+ -+ STRV_FOREACH(name, strv_compose_table) { -+ if (streq(*name, "-c") || streq(*name, "clear")) { -+ compose_clear = true; -+ continue; -+ } -+ if (!compose_loaded && compose_clear) -+ args[i++] = "-c"; -+ asprintf(&arg, "compose.%s", *name); -+ compose_loaded = true; -+ args[i++] = to_free[j++] = arg; -+ if (i >= ELEMENTSOF(args) - 1) -+ break; -+ } -+ strv_free(strv_compose_table); -+ } -+ args[i++] = NULL; -+ -+ pid = fork(); -+ if (pid < 0) -+ return log_error_errno(errno, "Failed to fork: %m"); -+ if (pid == 0) { -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } -+ -+ ret = wait_for_terminate_and_warn(args[0], pid, true); -+ for (i = 0; i < j; ++i) -+ free(to_free[i]); -+ if (ret < 0) -+ return ret; -+ return ret == 0; -+} -+#endif -+ -+static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate, -+ const char *kbd_delay) -+{ -+ const char *args[7]; -+ int i = 0, ret; -+ pid_t pid; -+ -+ if (isempty(kbd_rate) && isempty(kbd_delay)) -+ return 1; -+ -+ args[i++] = "/bin/kbdrate"; -+ if (!isempty(kbd_rate)) { -+ args[i++] = "-r"; -+ args[i++] = kbd_rate; -+ } -+ if (!isempty(kbd_delay)) { -+ args[i++] = "-d"; -+ args[i++] = kbd_delay; -+ } -+ args[i++] = "-s"; -+ args[i++] = NULL; -+ -+ pid = fork(); -+ if (pid < 0) -+ return log_error_errno(errno, "Failed to fork: %m"); -+ if (pid == 0) { -+ reset_all_signal_handlers(); -+ reset_signal_mask(); -+ execv(args[0], (char **) args); -+ _exit(EXIT_FAILURE); -+ } -+ ret = wait_for_terminate_and_warn(args[0], pid, true); -+ if (ret < 0) -+ return ret; -+ return ret == 0; -+} -+ - int main(int argc, char **argv) { - const char *vc; - _cleanup_free_ char - *vc_keymap = NULL, *vc_keymap_toggle = NULL, - *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char -+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+#endif -+ bool disable_capslock = false; -+ bool comp_ok, rate_ok; - _cleanup_close_ int fd = -1; - bool utf8, font_copy = false, font_ok, keyboard_ok; - int r = EXIT_FAILURE; -@@ -286,6 +398,31 @@ int main(int argc, char **argv) { - - utf8 = is_locale_utf8(); - -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", -+ strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", -+ strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && -+ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+#endif /* HAVE_SYSV_COMPAT */ -+ - r = parse_env_file("/etc/vconsole.conf", NEWLINE, - "KEYMAP", &vc_keymap, - "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -317,11 +454,17 @@ int main(int argc, char **argv) { - (void) disable_utf8(fd); - - font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; -- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0; -+ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, -+ utf8, disable_capslock) > 0; -+#ifdef HAVE_SYSV_COMPAT -+ comp_ok = compose_load_and_wait(vc, vc_compose_table); -+ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -+#endif - - /* Only copy the font when we executed setfont successfully */ - if (font_copy && font_ok) - (void) font_copy_to_all_vcs(fd); - -- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE; -+ return font_ok && keyboard_ok && comp_ok && rate_ok ? -+ EXIT_SUCCESS : EXIT_FAILURE; - } diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch deleted file mode 100644 index 54b0c303..00000000 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ /dev/null @@ -1,191 +0,0 @@ -Set NumLock according to /etc/sysconfig/keyboard. - -https://bugzilla.novell.com/show_bug.cgi?id=746595 - -Authors: -Stanislav Brabec -Cristian Rodríguez - ---- - Makefile.am | 13 ++++++++++ - rules/73-seat-numlock.rules | 8 ++++++ - src/login/numlock-on.c | 34 ++++++++++++++++++++++++++ - src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++-- - units/systemd-vconsole-setup.service.in | 2 - - 5 files changed, 95 insertions(+), 3 deletions(-) - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \ - rules/60-persistent-v4l.rules - - # ------------------------------------------------------------------------------ -+numlock_on_SOURCES = \ -+ src/login/numlock-on.c -+ -+numlock_on_CFLAGS = \ -+ $(AM_CFLAGS) -+ -+udevlibexec_PROGRAMS += \ -+ numlock-on -+ -+dist_udevrules_DATA += \ -+ rules/73-seat-numlock.rules -+ -+# ------------------------------------------------------------------------------ - mtd_probe_SOURCES = \ - src/udev/mtd_probe/mtd_probe.c \ - src/udev/mtd_probe/mtd_probe.h \ -Index: systemd-228/rules/73-seat-numlock.rules -=================================================================== ---- /dev/null -+++ systemd-228/rules/73-seat-numlock.rules -@@ -0,0 +1,8 @@ -+# This file is part of SUSE customization of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-228/src/login/numlock-on.c -=================================================================== ---- /dev/null -+++ systemd-228/src/login/numlock-on.c -@@ -0,0 +1,34 @@ -+/* -+ * numlock-on.c: Turn numlock-on -+ * -+ * This file may be freely copied under the terms of the GNU General -+ * Public License (GPL), version 2, or at your option any later -+ * version. -+ -+ * Copyright (C) 2013 Stanislav Brabec, SUSE -+ * -+ * based on setleds.c, which is -+ * Copyright (C) 1994-1999 Andries E. Brouwer -+ */ -+ -+#include -+#include -+#include -+#include -+ -+int -+main(int argc, char **argv) { -+ char flags; -+ -+ if (ioctl(0, KDGKBLED, &flags)) { -+ perror("KDGKBLED"); -+ exit(1); -+ } -+ -+ if (ioctl(0, KDSKBLED, flags | LED_NUM | (LED_NUM << 4))) { -+ perror("KDSKBLED"); -+ exit(1); -+ } -+ -+ exit(0); -+} -Index: systemd-228/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-228.orig/src/vconsole/vconsole-setup.c -+++ systemd-228/src/vconsole/vconsole-setup.c -@@ -36,6 +36,7 @@ - #include "fileio.h" - #include "macro.h" - #include "strv.h" -+#include "fs-util.h" - #include "io-util.h" - #include "locale-util.h" - #include "log.h" -@@ -46,6 +47,10 @@ - #include "util.h" - #include "virt.h" - -+#define BIOS_DATA_AREA 0x400 -+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 -+#define BDA_KSF4_NUMLOCK_MASK 0x02 -+ - static bool is_vconsole(int fd) { - unsigned char data[1]; - -@@ -364,9 +369,10 @@ int main(int argc, char **argv) { - #ifdef HAVE_SYSV_COMPAT - _cleanup_free_ char - *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, -- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, -+ *vc_kbd_numlock = NULL; - #endif -- bool disable_capslock = false; -+ bool disable_capslock = false, numlock = false; - bool comp_ok, rate_ok; - _cleanup_close_ int fd = -1; - bool utf8, font_copy = false, font_ok, keyboard_ok; -@@ -404,6 +410,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -421,6 +428,30 @@ int main(int argc, char **argv) { - - disable_capslock = vc_kbd_disable_caps_lock && - strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -+#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ errno = 0; -+ fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) -+ goto finish; -+ -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) -+ goto finish; -+ -+ if (read(fdmem, &c, sizeof(char)) == -1) -+ goto finish; -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ finish: -+ if (errno) -+ log_warning_errno(errno, "Failed to read /dev/mem: %m"); -+ } -+#endif /* x86 */ - #endif /* HAVE_SYSV_COMPAT */ - - r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -456,6 +487,10 @@ int main(int argc, char **argv) { - font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; - keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, - utf8, disable_capslock) > 0; -+ if (numlock) -+ touch("/run/numlock-on"); -+ else -+ unlink("/run/numlock-on"); - #ifdef HAVE_SYSV_COMPAT - comp_ok = compose_load_and_wait(vc, vc_compose_table); - rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); -Index: systemd-228/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-228.orig/units/systemd-vconsole-setup.service.in -+++ systemd-228/units/systemd-vconsole-setup.service.in -@@ -10,7 +10,7 @@ Description=Setup Virtual Console - Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) - DefaultDependencies=no - Conflicts=shutdown.target --Before=sysinit.target shutdown.target -+Before=sysinit.target shutdown.target systemd-udev-trigger.service - ConditionPathExists=/dev/tty0 - - [Service] diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch deleted file mode 100644 index 118f333d..00000000 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ /dev/null @@ -1,72 +0,0 @@ -From: Frederic Crozat -Date: Tue, 4 Dec 2012 16:51:32 +0000 -Subject: handle root_uses_lang value in /etc/sysconfig/language - -handle ROOT_USES_LANG=ctype (boo#792182). ---- - src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -Index: systemd-228/src/core/locale-setup.c -=================================================================== ---- systemd-228.orig/src/core/locale-setup.c -+++ systemd-228/src/core/locale-setup.c -@@ -30,11 +30,16 @@ - #include "strv.h" - #include "util.h" - #include "virt.h" -+#include "alloc-util.h" - - int locale_setup(char ***environment) { - char **add; - char *variables[_VARIABLE_LC_MAX] = {}; - int r = 0, i; -+#ifdef HAVE_SYSV_COMPAT -+ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL; -+ char _cleanup_free_ *root_uses_lang = NULL; -+#endif - - if (detect_container() <= 0) { - r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -81,6 +86,41 @@ int locale_setup(char ***environment) { - if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); - } -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/language", NEWLINE, -+ "RC_LANG", &rc_lang, -+ "RC_LC_CTYPE", &rc_lc_ctype, -+ "ROOT_USES_LANG", &root_uses_lang, -+ NULL); -+ -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); -+ -+ /* -+ * Use the values of the interactive locale configuration in /etc/sysconfig/language -+ * as fallback if /etc/locale.conf does not exist and no locale was specified on the -+ * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE -+ * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been -+ * set in /etc/locale.conf and on the kernel's command line. -+ */ -+ if (root_uses_lang) { -+ if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) { -+ variables[VARIABLE_LANG] = rc_lang; -+ rc_lang = NULL; -+ } -+ if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) { -+ if (variables[VARIABLE_LANG]) -+ variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]); -+ else if (rc_lc_ctype && *rc_lc_ctype) { -+ variables[VARIABLE_LC_CTYPE] = rc_lc_ctype; -+ rc_lc_ctype = NULL; -+ } else if (rc_lang && *rc_lang) { -+ variables[VARIABLE_LC_CTYPE] = rc_lang; -+ rc_lang = NULL; -+ } -+ } -+ } -+#endif - - add = NULL; - for (i = 0; i < _VARIABLE_LC_MAX; i++) { diff --git a/hostname-NULL.patch b/hostname-NULL.patch deleted file mode 100644 index ccd9133c..00000000 --- a/hostname-NULL.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: systemd-222/src/core/hostname-setup.c -=================================================================== ---- systemd-222.orig/src/core/hostname-setup.c -+++ systemd-222/src/core/hostname-setup.c -@@ -44,7 +44,7 @@ int hostname_setup(void) { - else - log_warning_errno(r, "Failed to read configured hostname: %m"); - -- hn = NULL; -+ hn = strdup("nohostname.set.site"); - } else - hn = b; - /* strip any leftover of a domain name */ diff --git a/insserv-generator.patch b/insserv-generator.patch deleted file mode 100644 index 833d0d66..00000000 --- a/insserv-generator.patch +++ /dev/null @@ -1,399 +0,0 @@ -From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 28 Jun 2013 17:54:41 +0200 -Subject: [PATCH] insserv.conf generator - -parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate -systemd unit drop-in files to add dependencies ---- - Makefile.am | 9 - src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++ - 3 files changed, 355 insertions(+), 1 deletion(-) - create mode 100644 src/insserv-generator/Makefile - create mode 100644 src/insserv-generator/insserv-generator.c - -Index: systemd-228/Makefile.am -=================================================================== ---- systemd-228.orig/Makefile.am -+++ systemd-228/Makefile.am -@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \ - - systemgenerator_PROGRAMS += \ - systemd-sysv-generator \ -- systemd-rc-local-generator -+ systemd-rc-local-generator \ -+ systemd-insserv-generator - endif - - EXTRA_DIST += \ -@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib) - endif - endif - -+#------------------------------------------------------------------------------- -+systemd_insserv_generator_SOURCES = \ -+ src/insserv-generator/insserv-generator.c -+ -+systemd_insserv_generator_LDADD = libbasic.la -+ - # ------------------------------------------------------------------------------ - stub_headers = \ - src/boot/efi/util.h \ -Index: systemd-228/src/insserv-generator/Makefile -=================================================================== ---- /dev/null -+++ systemd-228/src/insserv-generator/Makefile -@@ -0,0 +1,28 @@ -+# This file is part of systemd. -+# -+# Copyright 2010 Lennart Poettering -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2.1 of the License, or -+# (at your option) any later version. -+# -+# systemd is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public License -+# along with systemd; If not, see . -+ -+# This file is a dirty trick to simplify compilation from within -+# emacs. This file is not intended to be distributed. So, don't touch -+# it, even better ignore it! -+ -+all: -+ $(MAKE) -C .. -+ -+clean: -+ $(MAKE) -C .. clean -+ -+.PHONY: all clean -Index: systemd-228/src/insserv-generator/insserv-generator.c -=================================================================== ---- /dev/null -+++ systemd-228/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,319 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2012 Lennart Poettering -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+ ***/ -+ -+#include -+#include -+#include -+#include -+ -+#include "mkdir.h" -+#include "log.h" -+#include "fileio.h" -+#include "unit-name.h" -+#include "special.h" -+#include "path-util.h" -+#include "util.h" -+#include "strv.h" -+#include "alloc-util.h" -+#include "string-util.h" -+#include "fd-util.h" -+ -+static const char *arg_dest = "/tmp"; -+ -+static char *sysv_translate_name(const char *name) { -+ char *r; -+ -+ r = new(char, strlen(name) + sizeof(".service")); -+ if (!r) -+ return NULL; -+ -+ if (endswith(name, ".sh")) -+ /* Drop .sh suffix */ -+ strcpy(stpcpy(r, name) - 3, ".service"); -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ strcpy(stpcpy(r, name + 5), ".service"); -+ else -+ /* Normal init script name */ -+ strcpy(stpcpy(r, name), ".service"); -+ -+ return r; -+} -+ -+static int sysv_translate_facility(const char *name, const char *filename, char **_r) { -+ -+ /* We silently ignore the $ prefix here. According to the LSB -+ * spec it simply indicates whether something is a -+ * standardized name or a distribution-specific one. Since we -+ * just follow what already exists and do not introduce new -+ * uses or names we don't care who introduced a new name. */ -+ -+ static const char * const table[] = { -+ /* LSB defined facilities */ -+ "local_fs", NULL, -+ "network", SPECIAL_NETWORK_ONLINE_TARGET, -+ "named", SPECIAL_NSS_LOOKUP_TARGET, -+ "portmap", SPECIAL_RPCBIND_TARGET, -+ "remote_fs", SPECIAL_REMOTE_FS_TARGET, -+ "syslog", NULL, -+ "time", SPECIAL_TIME_SYNC_TARGET, -+ }; -+ -+ unsigned i; -+ char *r; -+ const char *n; -+ int ret; -+ -+ assert(name); -+ assert(_r); -+ -+ n = *name == '$' ? name + 1 : name; -+ -+ for (i = 0; i < ELEMENTSOF(table); i += 2) { -+ -+ if (!streq(table[i], n)) -+ continue; -+ -+ if (!table[i+1]) -+ return 0; -+ -+ r = strdup(table[i+1]); -+ if (!r) -+ return log_oom(); -+ -+ goto finish; -+ } -+ -+ /* If we don't know this name, fallback heuristics to figure -+ * out whether something is a target or a service alias. */ -+ -+ if (*name == '$') { -+ if (!unit_prefix_is_valid(n)) -+ return -EINVAL; -+ -+ /* Facilities starting with $ are most likely targets */ -+ ret = unit_name_build(n, NULL, ".target", &r); -+ if (ret < 0) -+ return ret; -+ } else if (filename && streq(name, filename)) -+ /* Names equaling the file name of the services are redundant */ -+ return 0; -+ else -+ /* Everything else we assume to be normal service names */ -+ r = sysv_translate_name(n); -+ -+ if (!r) -+ return -ENOMEM; -+ -+finish: -+ *_r = r; -+ -+ return 1; -+} -+ -+ -+ -+static int parse_insserv_conf(const char* filename) { -+ _cleanup_fclose_ FILE *f = NULL; -+ int r; -+ -+ if (!(f = fopen(filename, "re"))) { -+ log_debug("Failed to open file %s", filename); -+ r = errno == ENOENT ? 0 : -errno; -+ return r; -+ } -+ -+ while (!feof(f)) { -+ char l[LINE_MAX], *t; -+ _cleanup_strv_free_ char **parsed = NULL; -+ -+ if (!fgets(l, sizeof(l), f)) { -+ if (feof(f)) -+ break; -+ -+ r = -errno; -+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -+ return -r; -+ } -+ -+ t = strstrip(l); -+ if (*t != '$' && *t != '<') -+ continue; -+ -+ parsed = strv_split(t,WHITESPACE); -+ /* we ignore , not used, equivalent to X-Interactive */ -+ if (parsed && !startswith_no_case (parsed[0], "")) { -+ _cleanup_free_ char *facility = NULL; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) -+ continue; -+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -+ _cleanup_free_ char *unit = NULL; -+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ r = write_string_file(unit, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "Wants=remote-fs-pre.target\n", -+ WRITE_STRING_FILE_CREATE); -+ if (r) -+ return r; -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -+ } -+ if (facility && endswith(facility, ".target")) { -+ char *name, **j; -+ FILE *file = NULL; -+ -+ STRV_FOREACH (j, parsed+1) { -+ _cleanup_free_ char *unit = NULL; -+ _cleanup_free_ char *dep = NULL; -+ -+ if (*j[0] == '+') -+ name = *j+1; -+ else -+ name = *j; -+ if (streq(name, "boot.localfs") || -+ streq(name, "boot.crypto")) -+ continue; -+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -+ continue; -+ -+ unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ file = fopen(unit, "wxe"); -+ if (!file) { -+ if (errno == EEXIST) -+ log_error("Failed to create drop-in file %s", unit); -+ else -+ log_error("Failed to create drop-in file %s: %m", unit); -+ return -errno; -+ } -+ -+ fprintf(file, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "Wants=%s\n" -+ "Before=%s\n", -+ facility, facility); -+ -+ fflush(file); -+ if (ferror(file)) { -+ log_error("Failed to write unit file %s: %m", unit); -+ return -errno; -+ } -+ fclose(file); -+ -+ if (*j[0] != '+') { -+ free (unit); -+ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); -+ if (!unit) -+ return log_oom(); -+ -+ mkdir_parents_label(unit, 0755); -+ -+ file = fopen(unit, "wxe"); -+ if (!file) { -+ if (errno == EEXIST) -+ log_error("Failed to create drop-in file %s, as it already exists", unit); -+ else -+ log_error("Failed to create drop-in file %s: %m", unit); -+ return -errno; -+ } -+ -+ -+ fprintf(file, -+ "# Automatically generated by systemd-insserv-generator\n\n" -+ "[Unit]\n" -+ "SourcePath=%s\n" -+ "Requires=%s\n", -+ filename, dep); -+ fflush(file); -+ if (ferror(file)) { -+ log_error("Failed to write unit file %s: %m", unit); -+ return -errno; -+ } -+ fclose(file); -+ } -+ } -+ } -+ } -+ } -+ return r; -+} -+ -+static int parse_insserv(void) { -+ DIR *d = NULL; -+ struct dirent *de; -+ int r = 0; -+ -+ if (!(d = opendir("/etc/insserv.conf.d/"))) { -+ if (errno != ENOENT) { -+ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -+ } -+ } else { -+ -+ while ((de = readdir(d))) { -+ char *path = NULL; -+ if (hidden_file(de->d_name)) -+ continue; -+ -+ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); -+ parse_insserv_conf(path); -+ free(path); -+ } -+ closedir (d); -+ } -+ -+ r = parse_insserv_conf("/etc/insserv.conf"); -+ -+ return r; -+} -+ -+int main(int argc, char *argv[]) { -+ int r = 0; -+ -+ if (argc > 1 && argc != 4) { -+ log_error("This program takes three or no arguments."); -+ return EXIT_FAILURE; -+ } -+ -+ if (argc > 1) -+ arg_dest = argv[1]; -+ -+ log_set_target(LOG_TARGET_SAFE); -+ log_parse_environment(); -+ log_open(); -+ -+ umask(0022); -+ -+ r = parse_insserv(); -+ -+ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; -+} diff --git a/journald-advice-about-use-of-memory.patch b/journald-advice-about-use-of-memory.patch deleted file mode 100644 index 46a3e446..00000000 --- a/journald-advice-about-use-of-memory.patch +++ /dev/null @@ -1,138 +0,0 @@ -From: werner@suse.de -Upstream: marked as openSUSE-specific fix originally, but may well - worth be to be sent upstream. - -Original description: - (none) - -Notes [jengelh@inai.de]: -MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render -MAP_POPULATE ineffective. Why do we have it? -What is the rationale for MAP_STACK? ---- - src/journal/catalog.c | 12 +++++++++++- - src/journal/journal-authenticate.c | 7 +++++-- - src/journal/journald-kmsg.c | 3 ++- - src/journal/mmap-cache.c | 16 +++++++++++++++- - 4 files changed, 33 insertions(+), 5 deletions(-) - -Index: systemd-221/src/journal/catalog.c -=================================================================== ---- systemd-221.orig/src/journal/catalog.c -+++ systemd-221/src/journal/catalog.c -@@ -469,6 +469,10 @@ finish: - - static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { - const CatalogHeader *h; -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; -+ unsigned int n; -+ size_t psize; - int fd; - void *p; - struct stat st; -@@ -491,12 +495,18 @@ static int open_mmap(const char *databas - return -EINVAL; - } - -- p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); -+ psize = PAGE_ALIGN(st.st_size); -+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, 0); - if (p == MAP_FAILED) { - safe_close(fd); - return -errno; - } - -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) -+ if (madvise(p, psize, advice[n]) < 0) -+ log_warning("Failed to give advice about use of memory: %m"); -+ - h = p; - if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || - le64toh(h->header_size) < sizeof(CatalogHeader) || -Index: systemd-221/src/journal/journal-authenticate.c -=================================================================== ---- systemd-221.orig/src/journal/journal-authenticate.c -+++ systemd-221/src/journal/journal-authenticate.c -@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f - goto finish; - } - -- m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0); -+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, -+ MAP_SHARED | MAP_STACK, fd, 0); - if (m == MAP_FAILED) { - m = NULL; - r = -errno; -@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f - goto finish; - } - -- f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), -+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK, -+ fd, 0); - if (f->fss_file == MAP_FAILED) { - f->fss_file = NULL; - r = -errno; -Index: systemd-221/src/journal/journald-kmsg.c -=================================================================== ---- systemd-221.orig/src/journal/journald-kmsg.c -+++ systemd-221/src/journal/journald-kmsg.c -@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) - return 0; - } - -- p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); -+ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE, -+ MAP_SHARED | MAP_STACK, fd, 0); - if (p == MAP_FAILED) { - log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); - return 0; -Index: systemd-221/src/journal/mmap-cache.c -=================================================================== ---- systemd-221.orig/src/journal/mmap-cache.c -+++ systemd-221/src/journal/mmap-cache.c -@@ -466,11 +466,14 @@ static int add_mmap( - struct stat *st, - void **ret) { - -+ static const unsigned int advice[] = -+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK}; - uint64_t woffset, wsize; - Context *c; - FileDescriptor *f; - Window *w; - void *d; -+ unsigned int n; - int r; - - assert(m); -@@ -509,7 +512,8 @@ static int add_mmap( - } - - for (;;) { -- d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset); -+ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE | -+ MAP_NONBLOCK, fd, woffset); - if (d != MAP_FAILED) - break; - if (errno != ENOMEM) -@@ -522,6 +526,16 @@ static int add_mmap( - return -ENOMEM; - } - -+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) { -+ if (advice[n] == MADV_DONTFORK) { -+ int flags = fcntl(fd, F_GETFD); -+ if (flags < 0 || !(flags & FD_CLOEXEC)) -+ continue; -+ } -+ if (madvise(d, wsize, advice[n]) < 0) -+ log_warning("Failed to give advice about use of memory: %m"); -+ } -+ - c = context_add(m, context); - if (!c) - goto outofmem; diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy new file mode 100644 index 00000000..6c497f42 --- /dev/null +++ b/kbd-model-map.legacy @@ -0,0 +1,10 @@ +# Additional layouts offered by YaST +Pl02 pl pc105 - terminate:ctrl_alt_bksp +arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle +cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp +cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle +es-cp850 es pc105 - terminate:ctrl_alt_bksp +korean kr pc105 - terminate:ctrl_alt_bksp +lt.std lt pc105 std terminate:ctrl_alt_bksp +no-latin1 no pc105 - terminate:ctrl_alt_bksp +ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll diff --git a/kbd-model-map.patch b/kbd-model-map.patch deleted file mode 100644 index f45b0874..00000000 --- a/kbd-model-map.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: werner@suse.de -Date: Tue Jan 20 11:33:59 UTC 2015 - ---- - src/locale/kbd-model-map | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: systemd-221/src/locale/kbd-model-map -=================================================================== ---- systemd-221.orig/src/locale/kbd-model-map -+++ systemd-221/src/locale/kbd-model-map -@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a - lt.l4 lt pc105 - terminate:ctrl_alt_bksp - lt lt pc105 - terminate:ctrl_alt_bksp - khmer kh,us pc105 - terminate:ctrl_alt_bksp -+# Additional layouts offered by YaST -+Pl02 pl pc105 - terminate:ctrl_alt_bksp -+arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle -+cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp -+cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle -+es-cp850 es pc105 - terminate:ctrl_alt_bksp -+khmer us,kh pc105 - terminate:ctrl_alt_bksp,grp:alt_shift_toggle -+korean kr pc105 - terminate:ctrl_alt_bksp -+lt.baltic lt pc105 - terminate:ctrl_alt_bksp -+lt.std lt pc105 std terminate:ctrl_alt_bksp -+no-latin1 no pc105 - terminate:ctrl_alt_bksp -+ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll -+sk-qwertz sk,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle diff --git a/let-linker-find-libudev-for-libdevmapper.patch b/let-linker-find-libudev-for-libdevmapper.patch deleted file mode 100644 index 274d103c..00000000 --- a/let-linker-find-libudev-for-libdevmapper.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - configure.ac | 4 ---- - 1 file changed, 4 deletions(-) - -Index: systemd-224/configure.ac -=================================================================== ---- systemd-224.orig/configure.ac -+++ systemd-224/configure.ac -@@ -199,10 +199,6 @@ AS_CASE([$CC], [*clang*], - -Wno-gnu-variable-sized-type-not-at-end \ - ])]) - --AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], -- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto])], -- [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) - AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") - - AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], diff --git a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch b/let-vconsole-setup-get-properties-only-once-to-copy-them.patch deleted file mode 100644 index 22c45e4d..00000000 --- a/let-vconsole-setup-get-properties-only-once-to-copy-them.patch +++ /dev/null @@ -1,84 +0,0 @@ -From: Werner Fink -Date: Wed Sep 23 12:37:23 UTC 2015 -Subject: Do not bother vistual console to much with GIO/PIO - -This avoids broken virtual console mapping due stressed ioctl API -for the virtual consoles (boo#904214) - ---- - src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- - 1 file changed, 25 insertions(+), 14 deletions(-) - ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 -@@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) - unsigned short map16[E_TABSZ]; - struct unimapdesc unimapd; - struct unipair unipairs[USHRT_MAX]; -+ struct console_font_op cfo = {}; - int i, r; - -+ bool hasmap8; -+ bool hasmap16; -+ bool hasunimap; -+ - /* get active, and 16 bit mask of used VT numbers */ - r = ioctl(fd, VT_GETSTATE, &vcs); - if (r < 0) { -@@ -211,10 +216,22 @@ static void font_copy_to_all_vcs(int fd) - return; - } - -+ /* copy font from active VT, where the font was uploaded to */ -+ cfo.op = KD_FONT_OP_COPY; -+ cfo.height = vcs.v_active-1; /* tty1 == index 0 */ -+ -+ hasmap8 = (ioctl(fd, GIO_SCRNMAP, map8) >= 0); -+ hasmap16 = (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0); -+ -+ /* unimapd is a ushort count and a pointer to an -+ * array of struct unipair { ushort, ushort } */ -+ unimapd.entries = unipairs; -+ unimapd.entry_ct = USHRT_MAX; -+ hasunimap = (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0); -+ - for (i = 1; i <= 15; i++) { - char vcname[strlen("/dev/vcs") + DECIMAL_STR_MAX(int)]; - _cleanup_close_ int vcfd = -1; -- struct console_font_op cfo = {}; - - if (i == vcs.v_active) - continue; -@@ -229,25 +246,19 @@ static void font_copy_to_all_vcs(int fd) - if (vcfd < 0) - continue; - -- /* copy font from active VT, where the font was uploaded to */ -- cfo.op = KD_FONT_OP_COPY; -- cfo.height = vcs.v_active-1; /* tty1 == index 0 */ -+ /* copy font from active VT to vcs */ - (void) ioctl(vcfd, KDFONTOP, &cfo); - -- /* copy map of 8bit chars */ -- if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) -+ /* copy map of 8bit chars to vcs */ -+ if (hasmap8) - (void) ioctl(vcfd, PIO_SCRNMAP, map8); - -- /* copy map of 8bit chars -> 16bit Unicode values */ -- if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) -+ /* copy map of 8bit chars -> 16bit Unicode values to vcs */ -+ if (hasmap16) - (void) ioctl(vcfd, PIO_UNISCRNMAP, map16); - -- /* copy unicode translation table */ -- /* unimapd is a ushort count and a pointer to an -- array of struct unipair { ushort, ushort } */ -- unimapd.entries = unipairs; -- unimapd.entry_ct = USHRT_MAX; -- if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { -+ /* copy unicode translation table to vcs */ -+ if (hasunimap) { - struct unimapinit adv = { 0, 0, 0 }; - - (void) ioctl(vcfd, PIO_UNIMAPCLR, &adv); diff --git a/make-emergency.service-conflict-with-syslog.socket.patch b/make-emergency.service-conflict-with-syslog.socket.patch deleted file mode 100644 index 808fc9a2..00000000 --- a/make-emergency.service-conflict-with-syslog.socket.patch +++ /dev/null @@ -1,25 +0,0 @@ -If after emergency service had been started there is incoming -traffic on syslog.socket emergency.service gets killed due to -implicit dependencies on basic.target => sysinit.target which in -turn conflict with emergency.target. - -As a workaround explicitly stop syslog.socket when entering -emergency.service. - -Reference: bnc#852232 ---- - units/emergency.service.in | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/emergency.service.in -=================================================================== ---- systemd-221.orig/units/emergency.service.in -+++ systemd-221/units/emergency.service.in -@@ -11,6 +11,7 @@ Documentation=man:sulogin(8) - DefaultDependencies=no - Conflicts=shutdown.target - Conflicts=rescue.service -+Conflicts=syslog.socket - Before=shutdown.target - - [Service] diff --git a/nss-myhostname-config b/nss-myhostname-config deleted file mode 100644 index 110db7a2..00000000 --- a/nss-myhostname-config +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# sed calls copied from fedora package -set -e - -case "$1" in - --help) - echo "$0 [--enable|--disable]" - exit 0 - ;; - --enable) - sed -i.bak -e ' - /^hosts:/ !b - /\/ b - s/[[:blank:]]*$/ myhostname/ - ' /etc/nsswitch.conf - ;; - --disable) - sed -i.bak -e ' - /^hosts:/ !b - s/[[:blank:]]\+myhostname\>// - ' /etc/nsswitch.conf - ;; - "") - if grep -q "^hosts:.*\" /etc/nsswitch.conf; then - echo "enabled" - else - echo "disabled" - fi - ;; - *) echo "invalid argument $1"; exit 1 ;; -esac diff --git a/parse-crypttab-for-noauto-option.patch b/parse-crypttab-for-noauto-option.patch deleted file mode 100644 index cd65edec..00000000 --- a/parse-crypttab-for-noauto-option.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- - src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- - 1 file changed, 44 insertions(+), 1 deletion(-) - -Index: systemd-221/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-221.orig/src/fstab-generator/fstab-generator.c -+++ systemd-221/src/fstab-generator/fstab-generator.c -@@ -47,6 +47,49 @@ static char *arg_usr_what = NULL; - static char *arg_usr_fstype = NULL; - static char *arg_usr_options = NULL; - -+static int check_crypttab(const char *what) { -+ _cleanup_fclose_ FILE *f = NULL; -+ unsigned n = 0; -+ -+ f = fopen("/etc/crypttab", "re"); -+ if (!f) { -+ if (errno != ENOENT) -+ log_error("Failed to open /etc/crypttab: %m"); -+ -+ return 1; -+ } -+ -+ -+ for (;;) { -+ char line[LINE_MAX], *l; -+ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL; -+ int k; -+ -+ if (!fgets(line, sizeof(line), f)) -+ break; -+ -+ n++; -+ -+ l = strstrip(line); -+ if (*l == '#' || *l == 0) -+ continue; -+ -+ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options); -+ if (k < 2 || k > 4) { -+ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n); -+ continue; -+ } -+ -+ if (strcmp((what + 12), name) == 0) { -+ if (options && strstr(options, "noauto")) -+ return 0; -+ -+ return 1; -+ } -+ } -+ return 1; -+} -+ - static int add_swap( - const char *what, - struct mntent *me, -@@ -108,7 +151,7 @@ static int add_swap( - if (r < 0) - return r; - -- if (!noauto) { -+ if (!noauto && check_crypttab(what) != 0) { - lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET, - nofail ? ".wants/" : ".requires/", name, NULL); - if (!lnk) diff --git a/plymouth-quit-and-wait-for-emergency-service.patch b/plymouth-quit-and-wait-for-emergency-service.patch deleted file mode 100644 index 331034ec..00000000 --- a/plymouth-quit-and-wait-for-emergency-service.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- - units/console-shell.service.m4.in | 2 ++ - units/emergency.service.in | 2 +- - units/rescue.service.in | 3 ++- - 3 files changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-224/units/console-shell.service.m4.in -=================================================================== ---- systemd-224.orig/units/console-shell.service.m4.in -+++ systemd-224/units/console-shell.service.m4.in -@@ -17,6 +17,8 @@ Before=getty.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStart=-@SULOGIN@ - ExecStopPost=-@SYSTEMCTL@ poweroff - Type=idle -Index: systemd-224/units/emergency.service.in -=================================================================== ---- systemd-224.orig/units/emergency.service.in -+++ systemd-224/units/emergency.service.in -@@ -17,7 +17,7 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth --wait quit -+ExecStartPre=-/usr/bin/plymouth --wait quit - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" - Type=idle -Index: systemd-224/units/rescue.service.in -=================================================================== ---- systemd-224.orig/units/rescue.service.in -+++ systemd-224/units/rescue.service.in -@@ -16,7 +16,8 @@ Before=shutdown.target - [Service] - Environment=HOME=/root - WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait - ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" - Type=idle diff --git a/portmap-wants-rpcbind-socket.patch b/portmap-wants-rpcbind-socket.patch deleted file mode 100644 index 77fb2871..00000000 --- a/portmap-wants-rpcbind-socket.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- - units/rpcbind.target | 1 + - 1 file changed, 1 insertion(+) - -Index: systemd-221/units/rpcbind.target -=================================================================== ---- systemd-221.orig/units/rpcbind.target -+++ systemd-221/units/rpcbind.target -@@ -12,3 +12,4 @@ - Description=RPC Port Mapper - Documentation=man:systemd.special(7) - RefuseManualStart=yes -+Wants=rpcbind.socket diff --git a/pre_checkin.sh b/pre_checkin.sh index 80ae3ad6..c033554d 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -7,8 +7,7 @@ ORIG_SPEC=systemd EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; - s/^\(Name:.*\)$/\1-mini/; - s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ + s/^Name:.*/&-mini/ " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc diff --git a/rescue-emergency-target-conflicts.patch b/rescue-emergency-target-conflicts.patch deleted file mode 100644 index a02e7ed3..00000000 --- a/rescue-emergency-target-conflicts.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - units/emergency.target | 1 + - units/rescue.target | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-221/units/emergency.target -=================================================================== ---- systemd-221.orig/units/emergency.target -+++ systemd-221/units/emergency.target -@@ -10,4 +10,5 @@ Description=Emergency Mode - Documentation=man:systemd.special(7) - Requires=emergency.service - After=emergency.service -+Conflicts=getty.target rescue.target - AllowIsolate=yes -Index: systemd-221/units/rescue.target -=================================================================== ---- systemd-221.orig/units/rescue.target -+++ systemd-221/units/rescue.target -@@ -10,7 +10,8 @@ Description=Rescue Mode - Documentation=man:systemd.special(7) - Requires=sysinit.target rescue.service - After=sysinit.target rescue.service --Conflicts=getty.target -+Conflicts=getty.target emergency.target -+Before=emergency.target - AllowIsolate=yes - - [Install] diff --git a/respect-nfs-bg-option.patch b/respect-nfs-bg-option.patch deleted file mode 100644 index a4a4ba65..00000000 --- a/respect-nfs-bg-option.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- - src/fstab-generator/fstab-generator.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: systemd-221/src/fstab-generator/fstab-generator.c -=================================================================== ---- systemd-221.orig/src/fstab-generator/fstab-generator.c -+++ systemd-221/src/fstab-generator/fstab-generator.c -@@ -289,8 +289,11 @@ static int add_mount( - "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", - source); - -- if (post && !noauto && !nofail && !automount) -- fprintf(f, "Before=%s\n", post); -+ if (post && !noauto && !nofail && !automount) { -+ bool is_nfs = fstype != NULL && streq(fstype, "nfs"); -+ if (!is_nfs || strstr(opts, "bg") == NULL) -+ fprintf(f, "Before=%s\n", post); -+ } - - if (!automount && opts) { - r = write_requires_after(f, opts); diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch deleted file mode 100644 index 37147945..00000000 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Frederic Crozat -Date: Mon, 29 Oct 2012 13:01:20 +0000 -Subject: restore /var/run and /var/lock bind mount if they aren't symlink - ---- - Makefile.am | 9 +++++++++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ - 3 files changed, 47 insertions(+) - create mode 100644 units/var-lock.mount - create mode 100644 units/var-run.mount - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -526,6 +526,12 @@ dist_systemunit_DATA += \ - dist_systemunit_DATA_busnames += \ - units/busnames.target - -+if HAVE_SYSV_COMPAT -+dist_systemunit_DATA += \ -+ units/var-run.mount \ -+ units/var-lock.mount -+endif -+ - nodist_systemunit_DATA = \ - units/getty@.service \ - units/serial-getty@.service \ -@@ -6123,6 +6129,9 @@ GRAPHICAL_TARGET_WANTS += \ - systemd-update-utmp-runlevel.service - RESCUE_TARGET_WANTS += \ - systemd-update-utmp-runlevel.service -+LOCAL_FS_TARGET_WANTS += \ -+ var-run.mount \ -+ var-lock.mount - endif - - SYSINIT_TARGET_WANTS += \ -Index: systemd-221/units/var-lock.mount -=================================================================== ---- /dev/null -+++ systemd-221/units/var-lock.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Lock Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/lock -+ConditionPathIsSymbolicLink=!/var/lock -+ -+[Mount] -+What=/run/lock -+Where=/var/lock -+Type=bind -+Options=bind -Index: systemd-221/units/var-run.mount -=================================================================== ---- /dev/null -+++ systemd-221/units/var-run.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Runtime Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/run -+ConditionPathIsSymbolicLink=!/var/run -+ -+[Mount] -+What=/run -+Where=/var/run -+Type=bind -+Options=bind diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch deleted file mode 100644 index e6474d8d..00000000 --- a/set-and-use-default-logconsole.patch +++ /dev/null @@ -1,175 +0,0 @@ -Use and set default logging console for both journald and kernel messages - ---- - src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ - src/journal/journald-console.h | 3 + - src/journal/journald-server.c | 5 ++ - 3 files changed, 108 insertions(+) - -Index: systemd-228/src/journal/journald-console.c -=================================================================== ---- systemd-228.orig/src/journal/journald-console.c -+++ systemd-228/src/journal/journald-console.c -@@ -22,6 +22,14 @@ - #include - #include - #include -+#ifdef HAVE_SYSV_COMPAT -+# include -+# include -+# include -+# include -+# include -+# include "string-util.h" -+#endif - - #include "alloc-util.h" - #include "fd-util.h" -@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) { - return cached_printk_time; - } - -+void default_tty_path(Server *s) -+{ -+#ifdef HAVE_SYSV_COMPAT -+ static const char list[] = "/dev/tty10\0" "/dev/console\0"; -+ const char *vc; -+ -+ if (s->tty_path) -+ return; -+ -+ NULSTR_FOREACH(vc, list) { -+ _cleanup_close_ int fd = -1; -+ -+ if (access(vc, F_OK) < 0) -+ continue; -+ -+ fd = open_terminal(vc, O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ continue; -+ -+ s->tty_path = strdup(vc); -+ break; -+ } -+#endif -+} -+ -+void klogconsole(Server *s) -+{ -+#ifdef HAVE_SYSV_COMPAT -+ _cleanup_free_ char *klogconsole_params = NULL; -+ _cleanup_close_ int fd = -1; -+ const char *vc = s->tty_path; -+ const char *num; -+ int tiocl[2]; -+ int r; -+ -+ if (!vc || *vc == 0 || !strneq("/dev/tty", vc, 8)) -+ return; -+ -+ num = vc + strcspn(vc, "0123456789"); -+ if (safe_atoi(num, &r) < 0) -+ return; -+ -+ if (access(vc, F_OK) < 0) -+ return; -+ -+ fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ return; -+ -+ tiocl[0] = TIOCL_SETKMSGREDIRECT; -+ tiocl[1] = r; -+ -+ if (ioctl(fd, TIOCLINUX, tiocl) < 0) -+ return; -+ -+ zero(klogconsole_params); -+ r = parse_env_file("/etc/sysconfig/boot", NEWLINE, -+ "KLOGCONSOLE_PARAMS", &klogconsole_params, -+ NULL); -+ if (r < 0) -+ return; -+ if (!klogconsole_params || *klogconsole_params == 0) -+ return; -+ -+ num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); -+ if (safe_atoi(num, &r) == 0) -+ klogctl(8, 0, r); -+#endif -+} -+ - void server_forward_console( - Server *s, - int priority, -@@ -71,6 +149,12 @@ void server_forward_console( - if (LOG_PRI(priority) > s->max_level_console) - return; - -+#ifdef HAVE_SYSV_COMPAT -+ /* Do not write security/authorization (private) messages to console */ -+ if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) -+ return; -+#endif -+ - /* First: timestamp */ - if (prefix_timestamp()) { - assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -107,7 +191,23 @@ void server_forward_console( - fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); - if (fd < 0) { - log_debug_errno(fd, "Failed to open %s for logging: %m", tty); -+#ifdef HAVE_SYSV_COMPAT -+ if (fd != -ENOENT && fd != -ENODEV) -+ return; -+ if (tty != s->tty_path) -+ return; -+ if (!streq("/dev/console", tty)) { -+ if (s->tty_path) -+ free(s->tty_path); -+ s->tty_path = NULL; -+ tty = "/dev/console"; -+ fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ return; -+ } -+#else - return; -+#endif - } - - if (writev(fd, iovec, n) < 0) -Index: systemd-228/src/journal/journald-console.h -=================================================================== ---- systemd-228.orig/src/journal/journald-console.h -+++ systemd-228/src/journal/journald-console.h -@@ -24,3 +24,6 @@ - #include "journald-server.h" - - void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); -+ -+void klogconsole(Server *s); -+void default_tty_path(Server *s); -Index: systemd-228/src/journal/journald-server.c -=================================================================== ---- systemd-228.orig/src/journal/journald-server.c -+++ systemd-228/src/journal/journald-server.c -@@ -55,6 +55,7 @@ - #include "journald-audit.h" - #include "journald-kmsg.h" - #include "journald-native.h" -+#include "journald-console.h" - #include "journald-rate-limit.h" - #include "journald-server.h" - #include "journald-stream.h" -@@ -1751,6 +1752,10 @@ int server_init(Server *s) { - - server_parse_config_file(s); - server_parse_proc_cmdline(s); -+ default_tty_path(s); -+ -+ if (s->tty_path) -+ klogconsole(s); - - if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) { - log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0", diff --git a/shut-up-rpmlint-on-var-log-journal.patch b/shut-up-rpmlint-on-var-log-journal.patch deleted file mode 100644 index d7ffac19..00000000 --- a/shut-up-rpmlint-on-var-log-journal.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- - Makefile.am | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -4129,11 +4129,11 @@ noinst_LTLIBRARIES += \ - libjournal-core.la - - journal-install-hook: -- -$(MKDIR_P) $(DESTDIR)/var/log/journal -- -chown 0:0 $(DESTDIR)/var/log/journal -- -chmod 755 $(DESTDIR)/var/log/journal -- -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ -- -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ -+ -$(MKDIR_P) $(DESTDIR)/var/log/journal/ -+ -@echo chown 0:0 $(DESTDIR)/var/log/journal/ -+ -chmod 755 $(DESTDIR)/var/log/journal/ -+ -@echo setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/ -+ -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/ - - journal-uninstall-hook: - -rmdir $(DESTDIR)/var/log/journal/remote diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff deleted file mode 100644 index ce772aac..00000000 --- a/suse-sysv-bootd-support.diff +++ /dev/null @@ -1,80 +0,0 @@ -From: Frederic Crozat -Date: Fri, 12 Apr 2013 16:56:26 +0200 -Subject: Revert "service: drop support for SysV scripts for the early boot" - -This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. - -[Implementation note: currently, the unit is generated, but not -activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] ---- - src/sysv-generator/sysv-generator.c | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -Index: systemd-228/src/sysv-generator/sysv-generator.c -=================================================================== ---- systemd-228.orig/src/sysv-generator/sysv-generator.c -+++ systemd-228/src/sysv-generator/sysv-generator.c -@@ -46,7 +46,8 @@ - - typedef enum RunlevelType { - RUNLEVEL_UP, -- RUNLEVEL_DOWN -+ RUNLEVEL_DOWN, -+ RUNLEVEL_SYSINIT, - } RunlevelType; - - static const struct { -@@ -54,6 +55,9 @@ static const struct { - const char *target; - const RunlevelType type; - } rcnd_table[] = { -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+ - /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, - { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, -@@ -69,10 +73,10 @@ static const struct { - directories in this order, and we want to make sure that - sysv_start_priority is known when we first load the - unit. And that value we only know from S links. Hence -- UP must be read before DOWN */ -+ UP/SYSINIT must be read before DOWN */ - }; - --const char *arg_dest = "/tmp"; -+static const char *arg_dest = "/tmp"; - - typedef struct SysvStub { - char *name; -@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c - _cleanup_free_ char *c = NULL; - char *res; - -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ name += 5; -+ - c = strdup(name); - if (!c) - return NULL; -@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co - - if (de->d_name[0] == 'S') { - -- if (rcnd_table[i].type == RUNLEVEL_UP) -+ if (rcnd_table[i].type == RUNLEVEL_UP || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT) - service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority); - - r = set_ensure_allocated(&runlevel_services[i], NULL); -@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co - } - - } else if (de->d_name[0] == 'K' && -- (rcnd_table[i].type == RUNLEVEL_DOWN)) { -+ (rcnd_table[i].type == RUNLEVEL_DOWN || -+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { - - r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) { diff --git a/systemctl-set-default-target.patch b/systemctl-set-default-target.patch deleted file mode 100644 index de694a4b..00000000 --- a/systemctl-set-default-target.patch +++ /dev/null @@ -1,30 +0,0 @@ -Mention that --force is required to override an already existing default.target - -This solves the bug bnc#868439 - ---- - man/systemctl.xml | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: systemd-221/man/systemctl.xml -=================================================================== ---- systemd-221.orig/man/systemctl.xml -+++ systemd-221/man/systemctl.xml -@@ -439,7 +439,7 @@ - - - -- When used with enable, overwrite -+ When used with enable or set-default, overwrite - any existing conflicting symlinks. - - When used with halt, -@@ -1237,6 +1237,8 @@ kobject-uevent 1 systemd-udevd-kernel.so - Return the default target to boot into. This returns - the target unit name default.target - is aliased (symlinked) to. -+ If combined with , override -+ an already existing symlink for the default target. - - - diff --git a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff b/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff deleted file mode 100644 index 17a09a8a..00000000 --- a/systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff +++ /dev/null @@ -1,116 +0,0 @@ -From 84d816c48b57b43e833e2917bbd278c116816fcf Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Thu, 28 Jan 2016 20:15:49 +0100 -Subject: [PATCH] nspawn: make journal linking non-fatal in try and auto modes - -Fixes #2091 ---- - src/nspawn/nspawn.c | 39 ++++++++++++++++++++------------------- - 1 file changed, 20 insertions(+), 19 deletions(-) - -diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index f6a2c03..97ea51a 100644 ---- a/src/nspawn/nspawn.c -+++ b/src/nspawn/nspawn.c -@@ -1338,6 +1338,7 @@ static int setup_journal(const char *directory) { - sd_id128_t machine_id, this_id; - _cleanup_free_ char *b = NULL, *d = NULL; - const char *etc_machine_id, *p, *q; -+ bool try; - char *id; - int r; - -@@ -1345,16 +1346,21 @@ static int setup_journal(const char *directory) { - if (arg_ephemeral) - return 0; - -+ if (arg_link_journal == LINK_NO) -+ return 0; -+ -+ try = arg_link_journal_try || arg_link_journal == LINK_AUTO; -+ - etc_machine_id = prefix_roota(directory, "/etc/machine-id"); - - r = read_one_line_file(etc_machine_id, &b); -- if (r == -ENOENT && arg_link_journal == LINK_AUTO) -+ if (r == -ENOENT && try) - return 0; - else if (r < 0) - return log_error_errno(r, "Failed to read machine ID from %s: %m", etc_machine_id); - - id = strstrip(b); -- if (isempty(id) && arg_link_journal == LINK_AUTO) -+ if (isempty(id) && try) - return 0; - - /* Verify validity */ -@@ -1367,16 +1373,13 @@ static int setup_journal(const char *directory) { - return log_error_errno(r, "Failed to retrieve machine ID: %m"); - - if (sd_id128_equal(machine_id, this_id)) { -- log_full(arg_link_journal == LINK_AUTO ? LOG_WARNING : LOG_ERR, -+ log_full(try ? LOG_WARNING : LOG_ERR, - "Host and machine ids are equal (%s): refusing to link journals", id); -- if (arg_link_journal == LINK_AUTO) -+ if (try) - return 0; - return -EEXIST; - } - -- if (arg_link_journal == LINK_NO) -- return 0; -- - r = userns_mkdir(directory, "/var", 0755, 0, 0); - if (r < 0) - return log_error_errno(r, "Failed to create /var: %m"); -@@ -1393,21 +1396,19 @@ static int setup_journal(const char *directory) { - q = prefix_roota(directory, p); - - if (path_is_mount_point(p, 0) > 0) { -- if (arg_link_journal != LINK_AUTO) { -- log_error("%s: already a mount point, refusing to use for journal", p); -- return -EEXIST; -- } -+ if (try) -+ return 0; - -- return 0; -+ log_error("%s: already a mount point, refusing to use for journal", p); -+ return -EEXIST; - } - - if (path_is_mount_point(q, 0) > 0) { -- if (arg_link_journal != LINK_AUTO) { -- log_error("%s: already a mount point, refusing to use for journal", q); -- return -EEXIST; -- } -+ if (try) -+ return 0; - -- return 0; -+ log_error("%s: already a mount point, refusing to use for journal", q); -+ return -EEXIST; - } - - r = readlink_and_make_absolute(p, &d); -@@ -1441,7 +1442,7 @@ static int setup_journal(const char *directory) { - if (arg_link_journal == LINK_GUEST) { - - if (symlink(q, p) < 0) { -- if (arg_link_journal_try) { -+ if (try) { - log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p); - return 0; - } else -@@ -1459,7 +1460,7 @@ static int setup_journal(const char *directory) { - * permanent journal set up, don't force it here */ - r = mkdir(p, 0755); - if (r < 0) { -- if (arg_link_journal_try) { -+ if (try) { - log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p); - return 0; - } else --- -2.7.0 - diff --git a/systemd-228.tar.xz b/systemd-228.tar.xz new file mode 100644 index 00000000..c8f3fdcf --- /dev/null +++ b/systemd-228.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:141d1609469579adeaf62d76e3527149c5a0140a54c8538f706b4eb97a447f8a +size 2866192 diff --git a/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch b/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch deleted file mode 100644 index 53faee2a..00000000 --- a/systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch +++ /dev/null @@ -1,87 +0,0 @@ -commit 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 -Author: Alban Crequy -Date: Mon Dec 7 01:10:50 2015 +0100 - - cgroup2: use new fstype for unified hierarchy - - Since Linux v4.4-rc1, __DEVEL__sane_behavior does not exist anymore and - is replaced by a new fstype "cgroup2". - - With this patch, systemd no longer supports the old (unstable) way of - doing unified hierarchy with __DEVEL__sane_behavior and systemd now - requires Linux v4.4 for unified hierarchy. - - Non-unified hierarchy is still the default and is unchanged by this - patch. - - https://github.com/torvalds/linux/commit/67e9c74b8a873408c27ac9a8e4c1d1c8d72c93ff - - Upstream-patch: 099619957a0d9ae0e6e5e221493e40fb8fc2cd81 - -diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c -index 56c1fcaab9b2..5124b5bf93ad 100644 ---- a/src/basic/cgroup-util.c -+++ b/src/basic/cgroup-util.c -@@ -2129,7 +2129,7 @@ int cg_unified(void) { - if (statfs("/sys/fs/cgroup/", &fs) < 0) - return -errno; - -- if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)) -+ if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) - unified_cache = true; - else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) - unified_cache = false; -diff --git a/src/basic/missing.h b/src/basic/missing.h -index 034e334e6626..66cd5921adf0 100644 ---- a/src/basic/missing.h -+++ b/src/basic/missing.h -@@ -437,6 +437,10 @@ struct btrfs_ioctl_quota_ctl_args { - #define CGROUP_SUPER_MAGIC 0x27e0eb - #endif - -+#ifndef CGROUP2_SUPER_MAGIC -+#define CGROUP2_SUPER_MAGIC 0x63677270 -+#endif -+ - #ifndef TMPFS_MAGIC - #define TMPFS_MAGIC 0x01021994 - #endif -diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c -index de1a361cc4c5..32fe51c67ea3 100644 ---- a/src/core/mount-setup.c -+++ b/src/core/mount-setup.c -@@ -94,7 +94,7 @@ static const MountPoint mount_table[] = { - #endif - { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV|MS_STRICTATIME, - NULL, MNT_FATAL|MNT_IN_CONTAINER }, -- { "cgroup", "/sys/fs/cgroup", "cgroup", "__DEVEL__sane_behavior", MS_NOSUID|MS_NOEXEC|MS_NODEV, -+ { "cgroup", "/sys/fs/cgroup", "cgroup2", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, - cg_is_unified_wanted, MNT_FATAL|MNT_IN_CONTAINER }, - { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, - cg_is_legacy_wanted, MNT_FATAL|MNT_IN_CONTAINER }, -diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c -index 9f9a4759d1ca..53a7ee713427 100644 ---- a/src/nspawn/nspawn-cgroup.c -+++ b/src/nspawn/nspawn-cgroup.c -@@ -94,7 +94,7 @@ int sync_cgroup(pid_t pid, bool unified_requested) { - if (unified) - r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "none,name=systemd,xattr"); - else -- r = mount("cgroup", tree, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior"); -+ r = mount("cgroup", tree, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL); - if (r < 0) { - r = log_error_errno(errno, "Failed to mount unified hierarchy: %m"); - goto finish; -diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c -index 70cca1527876..64cb6b3ce306 100644 ---- a/src/nspawn/nspawn-mount.c -+++ b/src/nspawn/nspawn-mount.c -@@ -750,7 +750,7 @@ static int mount_unified_cgroups(const char *dest) { - return -EINVAL; - } - -- if (mount("cgroup", p, "cgroup", MS_NOSUID|MS_NOEXEC|MS_NODEV, "__DEVEL__sane_behavior") < 0) -+ if (mount("cgroup", p, "cgroup2", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL) < 0) - return log_error_errno(errno, "Failed to mount unified cgroup hierarchy to %s: %m", p); - - return 0; diff --git a/systemd-add-user-keep.patch b/systemd-add-user-keep.patch deleted file mode 100644 index bc7985dc..00000000 --- a/systemd-add-user-keep.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- - man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------ - 2 files changed, 43 insertions(+), 6 deletions(-) - -Index: systemd-228/man/tmpfiles.d.xml -=================================================================== ---- systemd-228.orig/man/tmpfiles.d.xml -+++ systemd-228/man/tmpfiles.d.xml -@@ -599,6 +599,9 @@ - f, F, and - w, the argument may be used to specify a short string that - is written to the file, suffixed by a newline. For -+ x, X, a comma separated list of -+ usernames. If given, only paths belonging to these users will be excluded -+ during directory cleanup. Ignored for all other lines. For - C, specifies the source file or - directory. For t and T, - determines extended attributes to be set. For -Index: systemd-228/src/tmpfiles/tmpfiles.c -=================================================================== ---- systemd-228.orig/src/tmpfiles/tmpfiles.c -+++ systemd-228/src/tmpfiles/tmpfiles.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #include "acl-util.h" - #include "alloc-util.h" -@@ -378,6 +379,7 @@ static int dir_cleanup( - struct timespec times[2]; - bool deleted = false; - int r = 0; -+ Item *found = NULL; - - while ((dent = readdir(d))) { - struct stat s; -@@ -428,14 +430,46 @@ static int dir_cleanup( - } - - /* Is there an item configured for this path? */ -- if (ordered_hashmap_get(items, sub_path)) { -- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -- continue; -+ bool found_glob = false; -+ found = ordered_hashmap_get(items, sub_path); -+ if (!found) { -+ found_glob = true; -+ found = find_glob(globs, sub_path); - } - -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -- continue; -+ if (found) { -+ struct passwd *pw; -+ char *userfound = NULL, *args; -+ bool match = false; -+ uid_t uid = -1; -+ -+ /* evaluate username arguments in ignore statements */ -+ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) || -+ !found->argument) { -+ if (found_glob) -+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -+ else -+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -+ continue; -+ } -+ args = strdup(found->argument); -+ assert_se(args != NULL); -+ while ((userfound = strsep(&args, ",")) != NULL) { -+ pw = getpwnam(userfound); -+ if (pw == NULL) { -+ log_error("Unknown user '%s' in ignore statement.", userfound); -+ continue; -+ } -+ uid = pw->pw_uid; -+ if (s.st_uid == uid) { -+ match = true; -+ break; -+ } -+ } -+ if (match) { -+ found = NULL; -+ continue; -+ } - } - - if (S_ISDIR(s.st_mode)) { diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch deleted file mode 100644 index 60b98265..00000000 --- a/systemd-dbus-system-bus-address.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - src/basic/def.h | 2 +- - src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -Index: systemd-221/src/basic/def.h -=================================================================== ---- systemd-221.orig/src/basic/def.h -+++ systemd-221/src/basic/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" - #define DEFAULT_SYSTEM_BUS_ADDRESS KERNEL_SYSTEM_BUS_ADDRESS ";" UNIX_SYSTEM_BUS_ADDRESS - #define UNIX_USER_BUS_ADDRESS_FMT "unix:path=%s/bus" -Index: systemd-221/src/libsystemd/sd-bus/sd-bus.c -=================================================================== ---- systemd-221.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-221/src/libsystemd/sd-bus/sd-bus.c -@@ -837,8 +837,8 @@ static int parse_container_unix_address( - b->nspid = 0; - - b->sockaddr.un.sun_family = AF_UNIX; -- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); -+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); - - return 0; - } diff --git a/systemd-install-compat_pkgconfig-always.patch b/systemd-install-compat_pkgconfig-always.patch deleted file mode 100644 index 57fb6129..00000000 --- a/systemd-install-compat_pkgconfig-always.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- - Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -Index: systemd-221/Makefile.am -=================================================================== ---- systemd-221.orig/Makefile.am -+++ systemd-221/Makefile.am -@@ -5876,12 +5876,6 @@ lib_LTLIBRARIES += \ - libsystemd-id128.la \ - libsystemd-daemon.la - --pkgconfiglib_DATA += \ -- src/compat-libs/libsystemd-journal.pc \ -- src/compat-libs/libsystemd-login.pc \ -- src/compat-libs/libsystemd-id128.pc \ -- src/compat-libs/libsystemd-daemon.pc -- - # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed - compat-lib-install-hook: - libname=libsystemd-login.so && $(move-to-rootlibdir) -@@ -5899,6 +5893,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install - UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook - endif - -+pkgconfiglib_DATA += \ -+ src/compat-libs/libsystemd-journal.pc \ -+ src/compat-libs/libsystemd-login.pc \ -+ src/compat-libs/libsystemd-id128.pc \ -+ src/compat-libs/libsystemd-daemon.pc -+ - EXTRA_DIST += \ - src/compat-libs/linkwarning.h \ - src/compat-libs/libsystemd-journal.pc.in \ diff --git a/systemd-mini.changes b/systemd-mini.changes index e71f989e..d42f3fca 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,396 @@ +------------------------------------------------------------------- +Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com + +- specfile: conflict systemd-bash-completion and systemd-mini-bash-completion + + Otherwise the build system detects that systemd-bash-completion and + its mini variant are conflicting at files level even though those + packages can't be installed on the same system. + +------------------------------------------------------------------- +Thu Nov 10 19:11:57 UTC 2016 - fbui@suse.com + +- specfile: clean up nss-* plugins descriptions and drop + nss-myhostname-config script for now. + + Currently /etc/nsswitch.conf is supposed to be edited by the + sysadmin to enable the modules. However for some reasons only + nss-myhostname is removed from the conf file when the corresponding + package is uninstalled. This is inconsistent so let's remove it. + + Actually I'm wondering if we shouldn't make those NSS plugins part + of the main package and get rid of all those sub-packages... + +------------------------------------------------------------------- +Thu Nov 10 18:22:04 UTC 2016 - fbui@suse.com + +- specfile: remove old comments and unneeded sed command + +------------------------------------------------------------------- +Thu Nov 10 14:54:22 UTC 2016 - fbui@suse.com + +- specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore + + The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service + are created in Makefile.am since commit d5d8429a12c4b1. + + 'reboot' and 'poweroff' targets initially had the symlinks but + there's not point since the latter conflicts shutdown.target whereas + the 2 targets pull it in. + + See: https://github.com/systemd/systemd/pull/4429 + +------------------------------------------------------------------- +Thu Nov 10 13:44:13 UTC 2016 - fbui@suse.com + +- specfile: remove the following warnings: + + [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants + [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants + +------------------------------------------------------------------- +Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com + +- Own a couple of directories even if they don't belong to systemd + otherwise the build system will complain. + + Some directories (owned by others packages) are simply used by + systemd to ship some scripts or config files to customize others + *optional* components. Since thos components are not build required + by systemd those directories are not owned by any packages and the + BS complains... + +------------------------------------------------------------------- +Wed Oct 26 07:45:08 UTC 2016 - fbui@suse.com + +- Import commit + + 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) + +------------------------------------------------------------------- +Mon Oct 24 14:26:40 UTC 2016 - fbui@suse.com + +- %sysusers_create and %tmpfiles_create must be called in %post + + Calling %pre is broken since the respective conf files are not yet + installed. + +------------------------------------------------------------------- +Mon Oct 24 13:53:04 UTC 2016 - fbui@suse.com + +- %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are + part of systemd-journal-remote package (only). + +------------------------------------------------------------------- +Mon Oct 24 13:21:22 UTC 2016 - fbui@suse.com + +- systemd-journal-{gatewayd,remote,upload} units are only part of + "systemd-journal-remote" package. + + So exclude them from the main package. + +------------------------------------------------------------------- +Mon Oct 24 08:56:59 UTC 2016 - fbui@suse.com + +- Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 + + 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks + df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) + f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" + 3760c10 manager: tighten incoming notification message checks + d6efd71 core: only warn on short reads on signal fd + 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones + fdf2dc3 manager: don't ever busy loop when we get a notification message we can't process + +------------------------------------------------------------------- +Thu Oct 20 06:57:57 UTC 2016 - fbui@suse.com + +- Rename kbd-model-map-extra into kbd-model-map.legacy + +------------------------------------------------------------------- +Wed Oct 19 07:24:46 UTC 2016 - fbui@suse.com + +- Remove tcpd-devel build requirement. + + tcpwrap support has been removed since v212, see commit + 7f8aa67131cfc03ddcbd31c0420754864fc122f0 + +------------------------------------------------------------------- +Tue Oct 18 14:52:00 UTC 2016 - fbui@suse.com + +- remove all dummy "aliases" to /etc/init.d (as it was already done by + factory more than 1 year ago). + + Even if a sysvinit script is still requiring one of those dummy + symlinks this should not be an issue since this is requirement is + translated into a weak dependency. + +------------------------------------------------------------------- +Tue Oct 18 13:20:58 UTC 2016 - fbui@suse.com + +- specfile: + + - do not own /usr/share/zsh directory + - do not own /etc/dbus-1 and /etc/dbus-1/system.d dirs + - do not own /usr/share/dbus-1 dir + +------------------------------------------------------------------- +Tue Oct 18 13:06:27 UTC 2016 - fbui@suse.com + +- specfile: %{_prefix}/lib/systemd/system-preset was mentioned twice + in %files section. + +------------------------------------------------------------------- +Tue Oct 18 09:30:37 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - use curly braces with rpm macros + +------------------------------------------------------------------- +Tue Oct 18 09:15:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - %ghost files doesn't need (anymore) to be created in %builroot + - do not own /etc/X11/xorg.conf.d and /etc/X11/xinit + +------------------------------------------------------------------- +Tue Oct 18 07:58:38 UTC 2016 - fbui@suse.com + +- Specfile cleanup: no need to protect the manpages with %bootstrap + condition in nss-myhostname package since the package itself is + already protected. + +------------------------------------------------------------------- +Tue Oct 18 07:51:30 UTC 2016 - fbui@suse.com + +- fix nss-resolve sub package: + + - add a %files section + - add a package description + - libnss_resolve.so.2 is now part of this subpackage + - add %post and %postun sections + +------------------------------------------------------------------- +Tue Oct 18 07:16:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - reorganize some files in %files by types + - some config files were missing the "noreplace" attribute + +------------------------------------------------------------------- +Tue Oct 18 06:19:34 UTC 2016 - fbui@suse.com + +- Use %config(noreplace) for %{_sysconfdir}/pam.d/systemd-user + +------------------------------------------------------------------- +Tue Oct 18 05:57:28 UTC 2016 - fbui@suse.com + +- Rework systemd-gatewayd package: + + - some gateway's files were still in the main package + - it now includes all progs dealing with remote journals + - it can be turned off (SP2 does that currently) + - it's been renamed systemd-journal-remote to reflect that + +------------------------------------------------------------------- +Mon Oct 17 12:19:34 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - only specify once %{_prefix}/lib/systemd/system-shutdown in %file + - no need to list the content of %{_prefix}/lib/systemd/user-generators in %file + - machined is not built when %bootstrap = 1 + +------------------------------------------------------------------- +Mon Oct 17 12:11:43 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - There's no point in listing all generators in %file + explicitly. The default is to include all of them and if for some + reason one must be excluded then it should be done explicitly. + +------------------------------------------------------------------- +Mon Oct 17 11:44:57 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - remove explicit call to make for building man pages. This is not + needed and was maybe useful when generated doc was pre-built and + shipped in the tarball. + +------------------------------------------------------------------- +Mon Oct 17 09:59:13 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - break overly long and unreadable line using mkdir + - gather directory creations + +------------------------------------------------------------------- +Mon Oct 17 08:38:27 UTC 2016 - fbui@suse.com + +- Stop providing udevd.8 + + systemd-udevd has replaced udevd for some time already and usage of + udevd should be avoided. Therefore don't encourage this and stop + documenting it. + +------------------------------------------------------------------- +Mon Oct 17 07:36:10 UTC 2016 - fbui@suse.com + +- Import from factory: + + - Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + + - curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they can put stuff in /etc/ssl/certs then + but that directory is managed by p11-kit and doesn't serve the + purpose those programs think. + +------------------------------------------------------------------- +Thu Oct 13 19:33:17 UTC 2016 - fbui@suse.com + +- Package rootsymlink-generator helper. It was forgotten when + switching to the git repo but re-added back. + + That said this thing should be removed as it's broken as soon as + there's no direct link between the root fs and its backend device + node (i.e. BTRFS). + +------------------------------------------------------------------- +Thu Oct 13 19:09:25 UTC 2016 - fbui@suse.com + +- Add kbd-model-map-extra file which contains the additional legacy + keymaps needed by yast. + + This was previously directly patched in the systemd source code. + +------------------------------------------------------------------- +Mon Oct 10 13:33:40 UTC 2016 - fbui@suse.com + +- Imported e251b8d7fb5c801fdfa3a023257ba0e4d514f3b0 + + - Re-add back /dev/root symlink generation (although this must be + deprecated and finally removed). + +------------------------------------------------------------------- +Fri Oct 7 14:18:10 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Third step: + + - Re-enable networkd (disabled by default in SLE12) + +------------------------------------------------------------------- +Fri Oct 7 13:33:51 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Second step: + + - Import the specfile + - Import the tarball generated from the git repo + - Import lastest changes for the different scripts + +------------------------------------------------------------------- +Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + First step: drop all patches and drop the tar ball. + + The dropped patches are: + + fix-support-for-boot-prefixed-initscript-bnc-746506.patch + set-and-use-default-logconsole.patch + ensure-ask-password-wall-starts-after-getty-tty1.patch + 0001-rules-block-add-support-for-pmem-devices-3683.patch + Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch + 1007-physical-hotplug-cpu-and-memory.patch + 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch + watch_resolv.conf_for_become_changed.patch + 0019-make-completion-smart-to-be-able-to-redirect.patch + systemd-add-user-keep.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + avoid-random-hangs-on-timeouts-due-lost-cwd.patch + 1037-udev-exclude-cd-dvd-from-block-device.patch + 0001-add-network-device-after-NFS-mount-units.patch + journald-advice-about-use-of-memory.patch + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1006-udev-always-rename-network.patch + handle-numlock-value-in-etc-sysconfig-keyboard.patch + use-rndaddentropy-ioctl-to-load-random-seed.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + 0001-bnc888612-logind-polkit-acpi.patch + avoid-divide-by-zero-sigtrap.patch + 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch + suse-sysv-bootd-support.diff + ensure-shortname-is-set-as-hostname-bnc-820213.patch + parse-crypttab-for-noauto-option.patch + tty-ask-password-agent-on-console.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + handle-root_uses_lang-value-in-etc-sysconfig-language.patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + vhangup-on-all-consoles.patch + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + apply-ACL-for-nvidia-device-nodes.patch + make-emergency.service-conflict-with-syslog.socket.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + 1096-new-udev-root-symlink-generator.patch + 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + systemd-install-compat_pkgconfig-always.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + 0001-avoid-abort-due-timeout-at-user-service.patch + insserv-generator.patch + apply-ACL-for-nvidia-uvm-device-node.patch + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch + systemd-pam_config.patch + systemd-dbus-system-bus-address.patch + let-linker-find-libudev-for-libdevmapper.patch + 1098-systemd-networkd-alias-network-service.patch + 0001-let-systemctl-completion-ignore-at-names.patch + boot-local-start.patch + 1095-set-ssd-disk-to-use-deadline-scheduler.patch + tomcat6-var-lock-subsys-legacy.patch + let-vconsole-setup-get-properties-only-once-to-copy-them.patch + plymouth-quit-and-wait-for-emergency-service.patch + respect-nfs-bg-option.patch + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 1062-rules-set-default-permissions-for-GenWQE-devices.patch + rescue-emergency-target-conflicts.patch + Correct_assert_on_unexpected_error_code.patch + 1097-udevd-increase-maximum-number-of-children.patch + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 1005-create-default-links-for-primary-cd_dvd-drive.patch + allow-multiple-sulogin-to-be-started.patch + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + 0010-do-not-install-sulogin-unit-with-poweroff.patch + 1003-udev-netlink-null-rules.patch + 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch + 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + shut-up-rpmlint-on-var-log-journal.patch + systemd-tmp-safe-defaults.patch + portmap-wants-rpcbind-socket.patch + hostname-NULL.patch + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + handle-disable_caplock-and-compose_table-and-kbd_rate.patch + kbd-model-map.patch + systemctl-set-default-target.patch + 0014-journald-with-journaling-FS.patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + ------------------------------------------------------------------- Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c1c25587..800b5864 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -16,28 +16,37 @@ # +# +# The git repository used to track all Suse specific changes can be +# found at: https://github.com/openSUSE/systemd. +# + ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define bootstrap 1 ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini -%define real systemd -%define min_kernel_version 3.11 +%define min_kernel_version 4.5 -%bcond_without bash_completion -%bcond_without networkd +%bcond_with gnuefi +%if 0%{?bootstrap} +%bcond_with sysvcompat +%bcond_with machined +%bcond_with importd +%bcond_with networkd +%bcond_with journal_remote +%else %bcond_without sysvcompat +%bcond_without machined +%bcond_without importd +%bcond_without networkd +%bcond_without journal_remote +%ifarch %{ix86} x86_64 +%bcond_without gnuefi +%endif +%endif +%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid -%if 0%{?suse_version} > 1315 -%bcond_without permission -%bcond_without blkrrpart -%bcond_without udevsettle -%else -%bcond_with permission -%bcond_with blkrrpart -%bcond_with udevsettle -%endif -%bcond_with systemgrps Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd @@ -47,274 +56,105 @@ Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build - -Provides: %{real} = %{version}-%{release} - -BuildRequires: acl -BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: kbd -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libsepol-devel -BuildRequires: libtool -BuildRequires: pam-devel -BuildRequires: systemd-rpm-macros -BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpci) >= 3 -#XXX: change to 2.27.1 when pkgconfig file is fixed upstream -BuildRequires: pkgconfig(mount) >= 2.27 -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) -%endif -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) -Conflicts: sysvinit -Conflicts: otherproviders(systemd) -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %version-%release -Conflicts: kiwi -%else -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif +%if ! 0%{?bootstrap} +BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets +BuildRequires: kbd +BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools -# curl and bzip2 are required for building importd -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 +%endif +BuildRequires: fdupes +BuildRequires: gperf +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libmount-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: pam-config >= 0.79-5 +BuildRequires: pam-devel +# regenerate_initrd_post macro is expanded during build, hence this +# BR. Also this macro was introduced since version 12.4. +BuildRequires: suse-module-tools >= 12.4 +BuildRequires: systemd-rpm-macros +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.26 +BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpci) >= 3 +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +%if %{with importd} +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(zlib) +%endif +%if %{with journal_remote} +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 +%endif +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) +%endif +%if %{with gnuefi} +BuildRequires: gnu-efi +%endif + +%if 0%{?bootstrap} +#!BuildIgnore: dbus-1 +Requires: this-is-only-for-build-envs +Provides: systemd = %{version}-%{release} +%else # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev = %{version}-%{release} -Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 -Requires: netcfg +Requires: netcfg >= 11.5 Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils +Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/awk -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl + +%if 0%{?bootstrap} +Conflicts: systemd +Conflicts: kiwi +%endif +Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Conflicts: kernel < %{min_kernel_version} Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 - -#Git-Clone: git://github.com/systemd/systemd -Source: https://github.com/systemd/systemd/archive/v%version.tar.gz -%if ! 0%{?bootstrap} -Source1: systemd-rpmlintrc -%else -Source1: systemd-mini-rpmlintrc -%endif +Source0: systemd-%{version}.tar.xz +Source1: %{name}-rpmlintrc Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source13: fix-machines-subvol-for-rollbacks.sh +Source14: kbd-model-map.legacy -Source1065: systemd-remount-tmpfs - -# handle SUSE specific kbd settings -Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch -Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: insserv-generator.patch -Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch -Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - -# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done -Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch -# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices -Patch27: apply-ACL-for-nvidia-device-nodes.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device -Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. -Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch -Patch42: systemd-pam_config.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) -Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty -Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com -Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch -Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch -Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch188: boot-local-start.patch -# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch -# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch190: systemd-install-compat_pkgconfig-always.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch191: systemd-dbus-system-bus-address.patch -# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch192: let-linker-find-libudev-for-libdevmapper.patch -# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console -Patch197: rescue-emergency-target-conflicts.patch -# PATCH-FIX-SUSE Avoid a divide by zero sigtrap -Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) -Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) -Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) -Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-SUSE Shut up rpmlint warning -Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-SUSE -Patch352: set-and-use-default-logconsole.patch -Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) -Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) -Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) -Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) -Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 -Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 -Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch520: systemd-add-user-keep.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch521: kbd-model-map.patch -# PATCH-WORKAROUND-SUSE (boo#939571) -Patch522: Correct_assert_on_unexpected_error_code.patch -# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) -Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch -# PATCH-FIX-UPSTREAM (bsc#966535) -Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch -# PATCH-FIX-UPSTREAM -- fixed after 320 -Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch -# PATCH-FIX-UPSTREAM -- fixed after 231 -Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch -Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch -Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch -Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch -Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch -Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch -Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch -Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch - -# UDEV PATCHES -# ============ -# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. -# Udev patches mean: patches that affect udev code, src/{udev,libudev} -# nothing else, even if the patch might affect indirectly udev, as long -# as it's not changing the code of udev and libudev, then is not a udev -# patch. Further patches which add and/or changes udev rules. - -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) -Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch -# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) -Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 -Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) -Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) -Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) -Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch -# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch -Patch1096: 1096-new-udev-root-symlink-generator.patch -# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch -Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch -Patch1098: 1098-systemd-networkd-alias-network-service.patch -# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1100: hostname-NULL.patch +Source1065: udev-remount-tmpfs %description Systemd is a system and service manager, compatible with SysV and LSB @@ -326,20 +166,6 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1+ -Group: System/Base -Requires: bash -%if %{with bash_completion} -Requires: bash-completion -%endif -BuildArch: noarch - -%description bash-completion -Some systemd commands offer bash completion, but it's an optional dependency. - %package devel Summary: Development headers for systemd License: LGPL-2.1+ @@ -347,9 +173,8 @@ Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} -Provides: systemd-devel = %version-%release +Conflicts: systemd-devel %endif -Conflicts: otherproviders(systemd-devel) %description devel Development headers and auxiliary files for developing applications for systemd. @@ -401,27 +226,17 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm -# Avoid bootstrap cycle with sg3_utils -%if "%{?mini}" == "" -PreReq: /usr/bin/sg_inq -%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent -Requires(post): libudev%{?mini}1 Requires(post): sed Requires(post): /usr/bin/systemctl -%if %{defined regenerate_initrd_post} +Requires(postun): %insserv_prereq + Requires(post): coreutils -Requires(post): /usr/bin/stat Requires(postun): coreutils -Requires(posttrans): suse-module-tools -Requires(posttrans): /sbin/mkinitrd -%else -Requires(post): /sbin/mkinitrd -Requires(postun): /sbin/mkinitrd -%endif +Requires(posttrans): suse-module-tools >= 12.4 + Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -430,10 +245,12 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %version-%release -Conflicts: kiwi +Provides: udev = %{version} +Conflicts: libudev1 +Conflicts: udev +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif -Conflicts: otherproviders(udev) %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or @@ -442,15 +259,15 @@ and dispatches them according to rules in /lib/udev/rules.d/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. - - %package -n libudev%{?mini}1 -# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 +Conflicts: kiwi +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n libudev%{?mini}1 @@ -460,12 +277,13 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libudev%{?mini}1 = %version-%release +Group: Development/Libraries/Other +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %version-%release +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} +Conflicts: libudev-devel %endif -Conflicts: otherproviders(libudev-devel) %description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a @@ -478,63 +296,62 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl -Requires(post): permissions Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. + %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1+ Group: System/Libraries %description -n nss-myhostname -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured system hostname as returned by -gethostname(2). Various software relies on an always resolvable local -host name. When using dynamic hostnames this is usually achieved by -patching /etc/hosts at the same time as changing the host name. This -however is not ideal since it requires a writable /etc file system and -is fragile because the file might be edited by the administrator at -the same time. nss-myhostname simply returns all locally -configured public IP addresses, or -- if none are configured -- -the IPv4 address 127.0.0.2 (wich is on the local loopback) and the -IPv6 address ::1 (which is the local host) for whatever system -hostname is configured locally. Patching /etc/hosts is thus no -longer necessary. +This package contains a plug-in module for the Name Service Switch +(NSS), primarly providing hostname resolution for the locally +configured system hostname as returned by gethostname(2). For example, +it resolves the local hostname to locally configured IP addresses, as +well as "localhost" to 127.0.0.1/::1. -Note that nss-myhostname only provides a workaround for broken -software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that's worth -a bug report then. -This package marks the installation to not use syslog but only the journal. +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. +%endif +%if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ Group: System/Libraries %description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. +This package contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual +machines registered with systemd-machined to their respective IP +addresses. It also maps UID/GIDs ranges used by containers to useful +names. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. +%endif -%description -n nss-resolve - -%package journal-gateway +%if %{with journal_remote} +%package journal-remote Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ Group: System/Base @@ -543,173 +360,85 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -%description journal-gateway -systemd-journal-gatewayd serves journal events over the network using HTTP. +%description journal-remote +This extends the journal functionality to keep a copy of logs on a +remote server by providing programs to forward journal entries over +the network, using encrypted HTTP, and to write journal files from +serialized journal contents. + +This package contains systemd-journal-gatewayd, +systemd-journal-remote, and systemd-journal-upload. %endif +%package bash-completion +Summary: Bash completion support for systemd +License: LGPL-2.1+ +Group: System/Base +Requires: bash-completion +BuildArch: noarch +%if 0%{?bootstrap} +Conflicts: systemd-bash-completion +%endif + +%description bash-completion +Some systemd commands offer bash completion, but it is an optional dependency. + %prep -%setup -q -n systemd-%version +%setup -q -n systemd-%{version} echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in +#skipped for now +#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} cp %{SOURCE7} m4/ %endif -# systemd patches -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch12 -p1 -%patch16 -p1 -%patch17 -p1 -%patch20 -p1 -%patch21 -p1 -# check if this is still needed, or can be derived from fbdev uaccess rule -# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html -%patch27 -p1 -%patch28 -p1 -%patch37 -p1 -%patch39 -p1 -%patch41 -p1 -%patch42 -p1 -%patch84 -p1 -%patch86 -p1 -%patch90 -p1 -%patch91 -p1 -%patch120 -p1 -%patch178 -p1 -%patch179 -p1 -%patch180 -p1 -%patch182 -p1 -%patch183 -p1 -%patch186 -p1 -%patch188 -p1 -%patch189 -p1 -%patch190 -p1 -%patch191 -p1 -%patch192 -p1 -%patch193 -p1 -%patch197 -p1 -%patch198 -p1 -%patch203 -p1 -%patch208 -p1 -%patch338 -p1 -%patch345 -p1 -%patch352 -p1 -%patch362 -p1 -%patch366 -p1 -%patch368 -p1 -%patch386 -p1 -%patch430 -p1 -%patch475 -p1 -%patch490 -p1 -%patch520 -p1 -%patch521 -p1 -%patch522 -p1 -%patch523 -p1 -%patch524 -p1 -%patch525 -p1 -%patch526 -p1 -%patch527 -p1 -%patch528 -p1 -%patch529 -p1 -%patch530 -p1 -%patch531 -p1 -%patch532 -p1 -%patch533 -p1 -%patch534 -p1 -%patch535 -p1 -%patch536 -p1 -%patch537 -p1 -%patch538 -p1 - -# udev patches -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1035 -p1 -%if %{with blkrrpart} -%patch1037 -p1 -%endif -%patch1062 -p1 -%patch1066 -p1 -%patch1095 -p1 -%patch1096 -p1 -%patch1097 -p1 -%patch1098 -p1 -%patch1099 -p1 -%patch1100 -p1 - -# -# In combination with Patch352 set-and-use-default-logconsole.patch -# Ensure that journald log on tty10 -# -%ifarch %ix86 x86_64 x32 -sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf -%endif - %build # -# Be sure that fresh build libudev is linked as otherwise no errors are found +# Be sure that fresh build libudev is found and used at linkage time # sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS = \\\ - $(AM_LDFLAGS) \\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ +systemd_cryptsetup_LDFLAGS =\\\ + $(AM_LDFLAGS)\\\ + -Wl,-rpath-link=$(top_srcdir)/.libs\ }' Makefile.am -sh autogen.sh -export CFLAGS="%{optflags}" -%if 0%{?suse_version} == 1315 - CFLAGS="$CFLAGS -DNET_IFNAMES=1" -%else - CFLAGS="$CFLAGS -DNET_IFNAMES=0" -%endif +./autogen.sh -# certificate-root is set to /etc/pki/systemd instead of the -# built-in default /etc/ssl as journal-remote and journal-upload -# think they kan put stuff in /etc/ssl/certs then but that -# directory is managed by p11-kit and doesn't serve the purpose -# those programs think -# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ - --with-certificate-root=/etc/pki/systemd \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ - --disable-machined \ - --disable-importd \ -%else - --enable-manpages \ - --with-nss-my-hostname-warning \ +%endif +%if %{with compatlibs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-tests \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ %if %{without networkd} --disable-networkd \ %endif +%if %{without machined} + --disable-machined \ +%endif %if %{without sysvcompat} --with-sysvinit-path= \ --with-sysvrcnd-path= \ @@ -719,42 +448,34 @@ export CFLAGS="%{optflags}" %endif --disable-kdbus -%make_build V=e -%if ! 0%{?bootstrap} -%make_build V=e update-man-list man -%endif +make %{?_smp_mflags} V=e %install %make_install -install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %endif +# FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -%if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 -%endif - -%if ! 0%{?bootstrap} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config -%endif - -ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} -install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated + +install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -775,7 +496,7 @@ cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path -# create %{_libexecdir}/modules-load.d +# create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time @@ -790,7 +511,14 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} rm -f %{buildroot}%{_localstatedir}/log/README -rm -rf %{buildroot}%{_datadir}/bash-completion +%endif + +# journal-upload is built if libcurl is installed which can happen +# when importd is enabled (whereas journal_remote is not). +%if ! %{with journal_remote} +rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf +rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload +rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif # legacy links @@ -802,13 +530,19 @@ for f in loginctl journalctl ; do done ln -s /usr/lib/udev %{buildroot}/lib/udev -# Create the /var/log/journal directory to change the volatile journal to a persistent one +# Create the /var/log/journal directory to change the volatile journal +# to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ +# This dir must be owned (and thus created) by systemd otherwise the +# build system will complain. This is odd since we simply own a ghost +# file in it... +mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d + # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -#create ghost databases +# Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -820,8 +554,20 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants + +# Make sure the generator directories are created and properly owned. +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ @@ -831,18 +577,12 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. - -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf -d! /run/sysctl.d -L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v -EOF - -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d - -cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -[Unit] -After=local-fs.target +# create drop-in to prevent delegate=yes for root user (bsc#954765, +# bnc#953241, fate#320421) +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ +cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf < %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -# On systems supporting rollbacks with btrfs, /var/lib/machines -# subvolume must be created differently. Normally the installer takes -# care of this now but some systems uses a plain subvolume that breaks -# snapshots, rollback ("nearly everything" see bsc#992573). This -# script should help fixing it. -install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -%if ! 0%{?bootstrap} -for f in %{buildroot}%{_datadir}/bash-completion/completions/* -do - test -e "$f" || break - grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" -done > files.completion -%else -> files.completion -%endif - # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%if %{without compat_libs} -lib=%{_libdir}/libsystemd.so -for lnk in daemon login id128 journal -do - lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so - echo '/* GNU ld script */' > ${lnk} - echo 'INPUT('${lib}')' >> ${lnk} -done -%endif +# Make sure to disable all services by default. The Suse branding +# presets package takes care of defining the right policies. +rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset +echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset -# Some files which may created by us or by the admin later on -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ - machine-id machine-info \ - systemd/system/runlevel2.target \ - systemd/system/runlevel3.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel5.target -do - > %{buildroot}%{_sysconfdir}/$ghost -done - -# Workaround for bug #882393 -for runlevel in poweroff rescue multi-user graphical reboot -do - mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants - ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ -done - -# add entries for xkeyboard-config converted keymaps; mappings, -# which already exist in original systemd mapping table are being -# ignored though, i.e. not overwritten +# Add entries for xkeyboard-config converted keymaps; mappings, which +# already exist in original systemd mapping table are being ignored +# though, i.e. not overwritten; needed as long as YaST uses console +# keymaps internally and calls localectl to convert from vconsole to +# X11 keymaps. Ideally YaST should switch to X11 layout names (the +# mapping table wouldn't be needed since each X11 keymap has a +# generated xkbd keymap) and let localectl initialize +# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf +# (FATE#319454). if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map fi +# kbd-model-map.legacy is used to provide mapping for legacy keymaps, +# which may still be used by yast. +cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map + %find_lang systemd %pre -for name in journal timesync network resolve bus-proxy -do - getent group systemd-$name >/dev/null && continue - groupadd -r systemd-$name || : -done -for name in adm input tape -do - getent group $name >/dev/null && continue - groupadd -r $name || : -done -for name in timesync network resolve bus-proxy -do - getent passwd systemd-$name >/dev/null && continue - case "$name" in - timesync) descr="Systemd Time Synchronization" ;; - network) descr="Systemd Network Management" ;; - resolve) descr="Systemd Resolver" ;; - bus-proxy) descr="Systemd Bus Proxy" ;; - esac - useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : -done +# Build of installation images uses an hard coded list of some +# packages with a %pre that needs to be run during the +# build. Unfortunately, systemd in one of them. To make thing simpler +# we use a %pre section even if it is not needed. exit 0 %post +%sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} -/usr/sbin/pam-config -a --systemd || : +pam-config -a --systemd || : %endif -/sbin/ldconfig -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup || : +ldconfig +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : +systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : -/usr/bin/systemctl daemon-reexec || : -/usr/bin/journalctl --update-catalog || : -# Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ || : -chmod g+s %{_localstatedir}/log/journal/ || : -if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : - chmod g+s "%{_localstatedir}/log/journal/$ID" || : -fi -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -systemd-sysusers || : +systemctl daemon-reexec || : +%journal_catalog_update +%tmpfiles_create # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) if [ -n "$runlevel" ] ; then - /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : fi fi + # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done -fi +if [ $1 -eq 1 ]; then + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : +fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -998,7 +681,7 @@ done # distros. This unit can be pulled (implicitely) in various ways # (private /tmp, etc..) and it's required by the basic.target # explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +case $(systemctl is-enabled tmp.mount 2>/dev/null) in enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac @@ -1006,38 +689,54 @@ esac # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. +# +# The convertion might only be problematic for openSUSE distros +# (TW/Factory) where previous versions had already created the +# subvolume at the wrong place (via tmpfiles for example) and user +# started to populate and use it. In this case we'll let the user fix +# it manually. +# +# For SLE12 this subvolume was only introduced during the upgrade from +# v210 to v228 when we added this workaround. Note that the subvolume +# is still created at the wrong place due to the call to +# tmpfiles_create macro previously however it's empty so there +# shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : fi %postun -/sbin/ldconfig +ldconfig if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload || : - #Avoid restarting logind [bnc#934901] until fixed upstream - #/usr/bin/systemctl try-restart systemd-logind.service || : + systemctl daemon-reload || : + # Avoid restarting logind [bnc#934901] until fixed upstream + #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - /usr/bin/systemctl disable \ - getty@.service \ - remote-fs.target || : - rm -f /etc/systemd/system/default.target 2>&1 || : -fi + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : + + rm -f /etc/systemd/system/default.target +fi >/dev/null -# pretrans section must always use lua %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} + %regenerate_initrd_post if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -1045,135 +744,87 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi -# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules + +# Create "tape"/"input" group which is referenced by some udev rules +# that we're shipping. FIXME: maybe we should consider using +# "sysusers_create basic.conf" instead ? getent group tape >/dev/null || groupadd -r tape || : -# kill daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root ; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : - udevadm control --exit || : - fi -fi +getent group input >/dev/null || groupadd -r input || : %post -n udev%{?mini} -/usr/bin/udevadm hwdb --update || : -if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then - # add KERNEL name match to existing persistent net rules - sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules || : -fi +%udev_hwdb_update + +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : + # cleanup old stuff rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/20-cdrom.rules -rm -f /etc/udev/rules.d/55-cdrom.rules -rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload || : -# start daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service; then - /usr/lib/systemd/systemd-udevd --daemon || : - fi - fi -fi - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi +rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} - +%regenerate_initrd_post +%insserv_cleanup systemctl daemon-reload || : +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%if %{defined regenerate_initrd_post} %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%endif -%post -n libsystemd0%{?mini} -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libsystemd0%{?mini} -p /sbin/ldconfig + %postun -n libudev%{?mini}1 -p /sbin/ldconfig +%postun -n libsystemd0%{?mini} -p /sbin/ldconfig %if ! 0%{?bootstrap} - -%if %{with permission} -%verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal/ -%endif - -%pre logger -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -exit 0 - %post logger -%if %{with permission} -%set_permissions %{_localstatedir}/log/journal/ -%endif -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif +systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service || : + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi -%preun -n nss-myhostname -if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then - %{_sbindir}/nss-myhostname-config --disable -fi - -%post -n nss-myhostname -p /sbin/ldconfig - +%post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig +%endif +%if %{with resolved} +%post -n nss-resolve -p /sbin/ldconfig +%postun -n nss-resolve -p /sbin/ldconfig +%endif + +%if %{with machined} %post -n nss-mymachines -p /sbin/ldconfig %postun -n nss-mymachines -p /sbin/ldconfig - -%pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -exit 0 - -%post journal-gateway -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%preun journal-gateway -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%postun journal-gateway -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - %endif +%if %{with journal_remote} +%pre journal-remote +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service +%service_add_pre systemd-journal-upload.service + +%post journal-remote +%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf +%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_post systemd-journal-remote.socket systemd-journal-remote.service +%service_add_post systemd-journal-upload.service + +%preun journal-remote +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_preun systemd-journal-upload.service + +%postun journal-remote +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_postun systemd-journal-upload.service +%endif + +%clean + %files -f systemd.lang %defattr(-,root,root) /bin/systemd @@ -1187,7 +838,7 @@ exit 0 %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if ! 0%{?bootstrap} +%if %{with machined} %{_bindir}/machinectl %endif %{_bindir}/systemctl @@ -1224,16 +875,17 @@ exit 0 %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload %exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service -%if ! 0%{?bootstrap} +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%endif +%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* +%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice @@ -1246,67 +898,45 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/user/*.socket -%exclude %{_prefix}/lib/systemd/systemd-udevd -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog -%dir %{_prefix}/lib/systemd/system-shutdown -%dir %{_prefix}/lib/systemd/system-preset -%dir %{_prefix}/lib/systemd/user-preset -%dir %{_prefix}/lib/systemd/system-generators -%dir %{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator +%{_prefix}/lib/systemd/system-preset +%{_prefix}/lib/systemd/user-preset +%{_prefix}/lib/systemd/system-generators +%{_prefix}/lib/systemd/user-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/default.target.wants -%dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%dir %{_prefix}/lib/systemd/system/user@0.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d -%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -%if ! 0%{?bootstrap} -%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%if %{with importd} +%{_prefix}/lib/systemd/import-pubring.gpg %endif -%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator -%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator -%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so -%config /etc/pam.d/systemd-user -%if ! 0%{?bootstrap} -%ifarch %{ix86} x86_64 +%if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%dir %{_libexecdir}/tmpfiles.d +%{_libexecdir}/sysusers.d/ +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf + %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf +%{_libexecdir}/tmpfiles.d/ +%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1315,42 +945,48 @@ exit 0 %dir %{_sysconfdir}/sysctl.d %{_prefix}/lib/sysctl.d/50-coredump.conf +%dir %{_sysconfdir}/X11/xinit +%dir %{_sysconfdir}/X11/xinit/xinitrc.d +%dir %{_sysconfdir}/X11/xorg.conf.d +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %{_sysconfdir}/xdg/systemd/user -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%config(noreplace) %{_sysconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with machined} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%endif +%if %{with importd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%endif -%{_sysconfdir}/X11/xinit/ -# Some files which may created by us -%dir %{_sysconfdir}/X11/xorg.conf.d +# Some files created by us. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1361,121 +997,114 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_datadir}/factory/ -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname %if %{with networkd} %{_prefix}/lib/systemd/system/org.freedesktop.network1.busname +%endif +%if %{with resolved} +%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname +%endif +%if %{with machined} +%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%endif +%if %{with importd} +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%endif + +%{_datadir}/systemd +%{_datadir}/factory +%exclude %{_datadir}/systemd/gatewayd + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%if %{with resolved} +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%endif +%if %{with machined} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname +%if %{with importd} +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%endif -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if ! 0%{?bootstrap} -%exclude %{_datadir}/systemd/gatewayd +%if %{with machined} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif -%{_datadir}/systemd %if ! 0%{?bootstrap} -%_mandir/man1/[a-rt-z]*ctl.1* -%_mandir/man1/systemc*.1* -%_mandir/man1/systemd*.1* -%_mandir/man5/[a-tv-z]* -%_mandir/man5/user* -%_mandir/man7/[bdfks]* -%_mandir/man8/kern* -%_mandir/man8/pam_* -%_mandir/man8/systemd-[a-gik-tv]* -%_mandir/man8/systemd-h[aioy]* -%_mandir/man8/systemd-journal-remote.* -%_mandir/man8/systemd-journal-upload.* -%_mandir/man8/systemd-journald* -%_mandir/man8/systemd-u[ps]* +%{_mandir}/man1/[a-rt-z]*ctl.1* +%{_mandir}/man1/systemc*.1* +%{_mandir}/man1/systemd*.1* +%{_mandir}/man5/[a-tv-z]* +%{_mandir}/man5/user* +%{_mandir}/man7/[bdfks]* +%{_mandir}/man8/kern* +%{_mandir}/man8/pam_* +%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-h[aioy]* +%{_mandir}/man8/systemd-journald* +%{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%if ! 0%{?bootstrap} -%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%endif %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/numlock-on -%if 0%{suse_version} < 1310 -%{_sysconfdir}/rpm/macros.systemd -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database -%dir %{_localstatedir}/lib/systemd/coredump +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if ! 0%{?bootstrap} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_prefix}/lib/systemd/import-pubring.gpg -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif - -%if ! 0%{?bootstrap} -%files bash-completion -f files.completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* -%endif +%{_datadir}/pkgconfig/systemd.pc %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so +%{_libdir}/pkgconfig/libsystemd.pc +%{_includedir}/systemd/ +%if %{with compatlibs} %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so %{_libdir}/libsystemd-journal.so -%{_includedir}/systemd/ -%{_datadir}/pkgconfig/systemd.pc -%{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc +%endif %if ! 0%{?bootstrap} -%_mandir/man3/SD*.3* -%_mandir/man3/sd*.3* +%{_mandir}/man3/SD*.3* +%{_mandir}/man3/sd*.3* %endif %files sysvinit @@ -1496,8 +1125,7 @@ exit 0 %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%dir %_prefix/lib/systemd -%_prefix/lib/systemd/systemd-sysv-install +%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) @@ -1506,12 +1134,10 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm -%if 0%{?suse_version} <= 1310 -%{_prefix}/lib/firmware -%endif %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe @@ -1523,7 +1149,6 @@ exit 0 %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules %exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ @@ -1532,17 +1157,18 @@ exit 0 %ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} -%_mandir/man5/udev* -%_mandir/man7/hwdb* -%_mandir/man7/udev* -%_mandir/man8/systemd-hwdb* -%_mandir/man8/systemd-udev* -%_mandir/man8/udev* +%{_mandir}/man5/udev* +%{_mandir}/man7/hwdb* +%{_mandir}/man7/udev* +%{_mandir}/man8/systemd-hwdb* +%{_mandir}/man8/systemd-udev* +%{_mandir}/man8/udev* %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket +%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %dir %{_prefix}/lib/systemd/system/sysinit.target.wants %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %dir %{_prefix}/lib/systemd/system/sockets.target.wants @@ -1550,18 +1176,16 @@ exit 0 %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.network -%if 0%{?suse_version} > 1310 %{_datadir}/pkgconfig/udev.pc -%endif %files -n libsystemd0%{?mini} %defattr(-,root,root) -%_libdir/libsystemd.so.* -%if %{with compat_libs} -%_libdir/libsystemd-daemon.so.* -%_libdir/libsystemd-login.so.* -%_libdir/libsystemd-id128.so.* -%_libdir/libsystemd-journal.so.* +%{_libdir}/libsystemd.so.* +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* %endif %files -n libudev%{?mini}1 @@ -1587,27 +1211,50 @@ exit 0 %files -n nss-myhostname %defattr(-, root, root) -%{_sbindir}/nss-myhostname-config -%if !0%{?bootstrap} +/%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* %endif -/%{_lib}/*nss_myhostname* -%files journal-gateway +%if %{with resolved} +%files -n nss-resolve %defattr(-, root, root) -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_datadir}/systemd/gatewayd +%{_libdir}/libnss_resolve.so.2 +%{_mandir}/man8/libnss_resolve.* +%{_mandir}/man8/nss-resolve.* +%endif +%if %{with machined} %files -n nss-mymachines %defattr(-,root,root) -%_libdir/libnss_mymachines.so* -%if !0%{?bootstrap} -%_mandir/man8/libnss_mymachines.* -%_mandir/man8/nss-mymachines.* -%endif +%{_libdir}/libnss_mymachines.so* +%{_mandir}/man8/libnss_mymachines.* +%{_mandir}/man8/nss-mymachines.* %endif +%if %{with journal_remote} +%files journal-remote +%defattr(-, root, root) +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/system/systemd-journal-remote.* +%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_prefix}/lib/systemd/systemd-journal-remote +%{_prefix}/lib/systemd/systemd-journal-upload +%{_libexecdir}/sysusers.d/systemd-remote.conf +%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_mandir}/man8/systemd-journal-remote.* +%{_mandir}/man8/systemd-journal-upload.* +%{_datadir}/systemd/gatewayd +%endif + +%files bash-completion +%defattr(-,root,root,-) +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch deleted file mode 100644 index 7850822e..00000000 --- a/systemd-pam_config.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: systemd-227/factory/etc/pam.d/other -=================================================================== ---- systemd-227.orig/factory/etc/pam.d/other -+++ systemd-227/factory/etc/pam.d/other -@@ -1,6 +1,6 @@ - # This file is part of systemd. - --auth include system-auth --account include system-auth --password include system-auth --session include system-auth -+auth include common-auth -+account include common-account -+password include common-password -+session include common-session -Index: systemd-227/src/login/systemd-user.m4 -=================================================================== ---- systemd-227.orig/src/login/systemd-user.m4 -+++ systemd-227/src/login/systemd-user.m4 -@@ -2,10 +2,10 @@ - # - # Used by systemd --user instances. - --account include system-auth -+account include common-account - - m4_ifdef(`HAVE_SELINUX', - session required pam_selinux.so close - session required pam_selinux.so nottys open - )m4_dnl --session include system-auth -+session include common-session diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 4d98e4f6..c9f777a6 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -102,6 +102,7 @@ while read line ; do done < /var/lib/systemd/sysv-convert/database } +declare -i fail=0 case "$1" in -h|--help) help @@ -112,7 +113,8 @@ case "$1" in for service in $@ ; do if [ ! -r "/etc/init.d/$service" ]; then echo "SysV service $service does not exist" >/dev/stderr - exit 1 + let fail++ + continue fi for runlevel in 2 3 4 5; do find_service $service $runlevel @@ -127,11 +129,10 @@ case "$1" in shift services=$@ lookup_database $services - fail=0 for service in $services; do if [ -z "${results_runlevel[$service]}" ]; then echo No information found about service $service found. >/dev/stderr - fail=1 + let fail++ continue fi declare -i count @@ -142,7 +143,6 @@ case "$1" in count+=1 done done - exit $fail ;; --apply) shift @@ -170,8 +170,8 @@ case "$1" in done ;; *) usage - exit 2;; + let fail=2 + ;; esac - - +exit $fail diff --git a/systemd-sysv-install b/systemd-sysv-install index 84e687b0..36e13055 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -1,26 +1,41 @@ #!/bin/sh +# This script is called by "systemctl enable/disable" when the given unit is a +# SysV init.d script. It needs to call the distribution's mechanism for +# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This +# can optionally take a --root argument for enabling a SysV init script +# in a chroot or similar. set -e usage() { - echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 - exit 1 + echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 + exit 1 } + +# parse options eval set -- "$(getopt -o r: --long root: -- "$@")" while true; do - case "$1" in - -r|--root) - ROOT="$2" - shift 2 ;; - --) shift ; break ;; - *) usage ;; - esac + case "$1" in + -r|--root) + ROOT="$2" + shift 2 ;; + --) shift ; break ;; + *) usage ;; + esac done + NAME="$2" -ROOT="${ROOT:+--root=$ROOT}" [ -n "$NAME" ] || usage + case "$1" in - enable) chkconfig $ROOT -a "$NAME" ;; - disable) chkconfig $ROOT -d "$NAME" ;; - is-enabled) chkconfig $ROOT -c "$NAME" ;; - *) usage ;; + enable) + chkconfig $ROOT --no-systemctl -s "$NAME" on + ;; + disable) + chkconfig $ROOT --no-systemctl -s "$NAME" off + ;; + is-enabled) + chkconfig $ROOT --no-systemctl -c "$NAME" + ;; + *) + usage ;; esac diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch deleted file mode 100644 index 1233b3b2..00000000 --- a/systemd-tmp-safe-defaults.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Reinhard Max -Date: Fri, 19 Apr 2013 16:12:28 +0200 -Subject: systemd tmp safe defaults - -Fix regression in the default for tmp auto-deletion (FATE#314974). -SUSE policy is to not clean /tmp by default. ---- - tmpfiles.d/tmp.conf | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: systemd-228/tmpfiles.d/tmp.conf -=================================================================== ---- systemd-228.orig/tmpfiles.d/tmp.conf -+++ systemd-228/tmpfiles.d/tmp.conf -@@ -8,8 +8,9 @@ - # See tmpfiles.d(5) for details - - # Clear tmp directories separately, to make them easier to override --q /tmp 1777 root root 10d --q /var/tmp 1777 root root 30d -+# SUSE policy: we do not clean these directories -+q /tmp 1777 root root - -+q /var/tmp 1777 root root - - - # Exclude namespace mountpoints created with PrivateTmp=yes - x /tmp/systemd-private-%b-* diff --git a/systemd.changes b/systemd.changes index e71f989e..d42f3fca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,396 @@ +------------------------------------------------------------------- +Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com + +- specfile: conflict systemd-bash-completion and systemd-mini-bash-completion + + Otherwise the build system detects that systemd-bash-completion and + its mini variant are conflicting at files level even though those + packages can't be installed on the same system. + +------------------------------------------------------------------- +Thu Nov 10 19:11:57 UTC 2016 - fbui@suse.com + +- specfile: clean up nss-* plugins descriptions and drop + nss-myhostname-config script for now. + + Currently /etc/nsswitch.conf is supposed to be edited by the + sysadmin to enable the modules. However for some reasons only + nss-myhostname is removed from the conf file when the corresponding + package is uninstalled. This is inconsistent so let's remove it. + + Actually I'm wondering if we shouldn't make those NSS plugins part + of the main package and get rid of all those sub-packages... + +------------------------------------------------------------------- +Thu Nov 10 18:22:04 UTC 2016 - fbui@suse.com + +- specfile: remove old comments and unneeded sed command + +------------------------------------------------------------------- +Thu Nov 10 14:54:22 UTC 2016 - fbui@suse.com + +- specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore + + The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service + are created in Makefile.am since commit d5d8429a12c4b1. + + 'reboot' and 'poweroff' targets initially had the symlinks but + there's not point since the latter conflicts shutdown.target whereas + the 2 targets pull it in. + + See: https://github.com/systemd/systemd/pull/4429 + +------------------------------------------------------------------- +Thu Nov 10 13:44:13 UTC 2016 - fbui@suse.com + +- specfile: remove the following warnings: + + [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants + [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants + +------------------------------------------------------------------- +Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com + +- Own a couple of directories even if they don't belong to systemd + otherwise the build system will complain. + + Some directories (owned by others packages) are simply used by + systemd to ship some scripts or config files to customize others + *optional* components. Since thos components are not build required + by systemd those directories are not owned by any packages and the + BS complains... + +------------------------------------------------------------------- +Wed Oct 26 07:45:08 UTC 2016 - fbui@suse.com + +- Import commit + + 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) + +------------------------------------------------------------------- +Mon Oct 24 14:26:40 UTC 2016 - fbui@suse.com + +- %sysusers_create and %tmpfiles_create must be called in %post + + Calling %pre is broken since the respective conf files are not yet + installed. + +------------------------------------------------------------------- +Mon Oct 24 13:53:04 UTC 2016 - fbui@suse.com + +- %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are + part of systemd-journal-remote package (only). + +------------------------------------------------------------------- +Mon Oct 24 13:21:22 UTC 2016 - fbui@suse.com + +- systemd-journal-{gatewayd,remote,upload} units are only part of + "systemd-journal-remote" package. + + So exclude them from the main package. + +------------------------------------------------------------------- +Mon Oct 24 08:56:59 UTC 2016 - fbui@suse.com + +- Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 + + 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks + df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) + f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" + 3760c10 manager: tighten incoming notification message checks + d6efd71 core: only warn on short reads on signal fd + 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones + fdf2dc3 manager: don't ever busy loop when we get a notification message we can't process + +------------------------------------------------------------------- +Thu Oct 20 06:57:57 UTC 2016 - fbui@suse.com + +- Rename kbd-model-map-extra into kbd-model-map.legacy + +------------------------------------------------------------------- +Wed Oct 19 07:24:46 UTC 2016 - fbui@suse.com + +- Remove tcpd-devel build requirement. + + tcpwrap support has been removed since v212, see commit + 7f8aa67131cfc03ddcbd31c0420754864fc122f0 + +------------------------------------------------------------------- +Tue Oct 18 14:52:00 UTC 2016 - fbui@suse.com + +- remove all dummy "aliases" to /etc/init.d (as it was already done by + factory more than 1 year ago). + + Even if a sysvinit script is still requiring one of those dummy + symlinks this should not be an issue since this is requirement is + translated into a weak dependency. + +------------------------------------------------------------------- +Tue Oct 18 13:20:58 UTC 2016 - fbui@suse.com + +- specfile: + + - do not own /usr/share/zsh directory + - do not own /etc/dbus-1 and /etc/dbus-1/system.d dirs + - do not own /usr/share/dbus-1 dir + +------------------------------------------------------------------- +Tue Oct 18 13:06:27 UTC 2016 - fbui@suse.com + +- specfile: %{_prefix}/lib/systemd/system-preset was mentioned twice + in %files section. + +------------------------------------------------------------------- +Tue Oct 18 09:30:37 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - use curly braces with rpm macros + +------------------------------------------------------------------- +Tue Oct 18 09:15:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - %ghost files doesn't need (anymore) to be created in %builroot + - do not own /etc/X11/xorg.conf.d and /etc/X11/xinit + +------------------------------------------------------------------- +Tue Oct 18 07:58:38 UTC 2016 - fbui@suse.com + +- Specfile cleanup: no need to protect the manpages with %bootstrap + condition in nss-myhostname package since the package itself is + already protected. + +------------------------------------------------------------------- +Tue Oct 18 07:51:30 UTC 2016 - fbui@suse.com + +- fix nss-resolve sub package: + + - add a %files section + - add a package description + - libnss_resolve.so.2 is now part of this subpackage + - add %post and %postun sections + +------------------------------------------------------------------- +Tue Oct 18 07:16:17 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - reorganize some files in %files by types + - some config files were missing the "noreplace" attribute + +------------------------------------------------------------------- +Tue Oct 18 06:19:34 UTC 2016 - fbui@suse.com + +- Use %config(noreplace) for %{_sysconfdir}/pam.d/systemd-user + +------------------------------------------------------------------- +Tue Oct 18 05:57:28 UTC 2016 - fbui@suse.com + +- Rework systemd-gatewayd package: + + - some gateway's files were still in the main package + - it now includes all progs dealing with remote journals + - it can be turned off (SP2 does that currently) + - it's been renamed systemd-journal-remote to reflect that + +------------------------------------------------------------------- +Mon Oct 17 12:19:34 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - only specify once %{_prefix}/lib/systemd/system-shutdown in %file + - no need to list the content of %{_prefix}/lib/systemd/user-generators in %file + - machined is not built when %bootstrap = 1 + +------------------------------------------------------------------- +Mon Oct 17 12:11:43 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - There's no point in listing all generators in %file + explicitly. The default is to include all of them and if for some + reason one must be excluded then it should be done explicitly. + +------------------------------------------------------------------- +Mon Oct 17 11:44:57 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - remove explicit call to make for building man pages. This is not + needed and was maybe useful when generated doc was pre-built and + shipped in the tarball. + +------------------------------------------------------------------- +Mon Oct 17 09:59:13 UTC 2016 - fbui@suse.com + +- Specfile cleanup: + + - break overly long and unreadable line using mkdir + - gather directory creations + +------------------------------------------------------------------- +Mon Oct 17 08:38:27 UTC 2016 - fbui@suse.com + +- Stop providing udevd.8 + + systemd-udevd has replaced udevd for some time already and usage of + udevd should be avoided. Therefore don't encourage this and stop + documenting it. + +------------------------------------------------------------------- +Mon Oct 17 07:36:10 UTC 2016 - fbui@suse.com + +- Import from factory: + + - Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de + + - curl also causes building of journal-upload. That one has rather + unusal certificate usage, set it's ca root to /etc/pki/systemd + instead of the built-in default /etc/ssl as journal-remote and + journal-upload think they can put stuff in /etc/ssl/certs then + but that directory is managed by p11-kit and doesn't serve the + purpose those programs think. + +------------------------------------------------------------------- +Thu Oct 13 19:33:17 UTC 2016 - fbui@suse.com + +- Package rootsymlink-generator helper. It was forgotten when + switching to the git repo but re-added back. + + That said this thing should be removed as it's broken as soon as + there's no direct link between the root fs and its backend device + node (i.e. BTRFS). + +------------------------------------------------------------------- +Thu Oct 13 19:09:25 UTC 2016 - fbui@suse.com + +- Add kbd-model-map-extra file which contains the additional legacy + keymaps needed by yast. + + This was previously directly patched in the systemd source code. + +------------------------------------------------------------------- +Mon Oct 10 13:33:40 UTC 2016 - fbui@suse.com + +- Imported e251b8d7fb5c801fdfa3a023257ba0e4d514f3b0 + + - Re-add back /dev/root symlink generation (although this must be + deprecated and finally removed). + +------------------------------------------------------------------- +Fri Oct 7 14:18:10 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Third step: + + - Re-enable networkd (disabled by default in SLE12) + +------------------------------------------------------------------- +Fri Oct 7 13:33:51 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + Second step: + + - Import the specfile + - Import the tarball generated from the git repo + - Import lastest changes for the different scripts + +------------------------------------------------------------------- +Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com + +- Migrating to the Suse Systemd git repo: + + First step: drop all patches and drop the tar ball. + + The dropped patches are: + + fix-support-for-boot-prefixed-initscript-bnc-746506.patch + set-and-use-default-logconsole.patch + ensure-ask-password-wall-starts-after-getty-tty1.patch + 0001-rules-block-add-support-for-pmem-devices-3683.patch + Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch + 1007-physical-hotplug-cpu-and-memory.patch + 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch + watch_resolv.conf_for_become_changed.patch + 0019-make-completion-smart-to-be-able-to-redirect.patch + systemd-add-user-keep.patch + 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch + systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff + avoid-random-hangs-on-timeouts-due-lost-cwd.patch + 1037-udev-exclude-cd-dvd-from-block-device.patch + 0001-add-network-device-after-NFS-mount-units.patch + journald-advice-about-use-of-memory.patch + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1006-udev-always-rename-network.patch + handle-numlock-value-in-etc-sysconfig-keyboard.patch + use-rndaddentropy-ioctl-to-load-random-seed.patch + 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch + 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch + 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch + 0001-bnc888612-logind-polkit-acpi.patch + avoid-divide-by-zero-sigtrap.patch + 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch + suse-sysv-bootd-support.diff + ensure-shortname-is-set-as-hostname-bnc-820213.patch + parse-crypttab-for-noauto-option.patch + tty-ask-password-agent-on-console.patch + 0001-pid1-process-zero-length-notification-messages-again.patch + handle-root_uses_lang-value-in-etc-sysconfig-language.patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + vhangup-on-all-consoles.patch + 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch + apply-ACL-for-nvidia-device-nodes.patch + make-emergency.service-conflict-with-syslog.socket.patch + 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch + 1096-new-udev-root-symlink-generator.patch + 1099-Add-default-rules-for-valve-steam-controller-to-work.patch + 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch + systemd-install-compat_pkgconfig-always.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + 0001-avoid-abort-due-timeout-at-user-service.patch + insserv-generator.patch + apply-ACL-for-nvidia-uvm-device-node.patch + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch + systemd-pam_config.patch + systemd-dbus-system-bus-address.patch + let-linker-find-libudev-for-libdevmapper.patch + 1098-systemd-networkd-alias-network-service.patch + 0001-let-systemctl-completion-ignore-at-names.patch + boot-local-start.patch + 1095-set-ssd-disk-to-use-deadline-scheduler.patch + tomcat6-var-lock-subsys-legacy.patch + let-vconsole-setup-get-properties-only-once-to-copy-them.patch + plymouth-quit-and-wait-for-emergency-service.patch + respect-nfs-bg-option.patch + 0001-If-the-notification-message-length-is-0-ignore-the-m.patch + 1062-rules-set-default-permissions-for-GenWQE-devices.patch + rescue-emergency-target-conflicts.patch + Correct_assert_on_unexpected_error_code.patch + 1097-udevd-increase-maximum-number-of-children.patch + 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch + 1005-create-default-links-for-primary-cd_dvd-drive.patch + allow-multiple-sulogin-to-be-started.patch + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch + 0010-do-not-install-sulogin-unit-with-poweroff.patch + 1003-udev-netlink-null-rules.patch + 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch + 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch + shut-up-rpmlint-on-var-log-journal.patch + systemd-tmp-safe-defaults.patch + portmap-wants-rpcbind-socket.patch + hostname-NULL.patch + 0001-pid1-more-informative-error-message-for-ignored-noti.patch + 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch + handle-disable_caplock-and-compose_table-and-kbd_rate.patch + kbd-model-map.patch + systemctl-set-default-target.patch + 0014-journald-with-journaling-FS.patch + 0001-On_s390_con3270_disable_ANSI_colour_esc.patch + ------------------------------------------------------------------- Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ca15920f..2ad1f88d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,26 +16,35 @@ # +# +# The git repository used to track all Suse specific changes can be +# found at: https://github.com/openSUSE/systemd. +# + %define bootstrap 0 %define mini %nil -%define real systemd -%define min_kernel_version 3.11 +%define min_kernel_version 4.5 -%bcond_without bash_completion -%bcond_without networkd +%bcond_with gnuefi +%if 0%{?bootstrap} +%bcond_with sysvcompat +%bcond_with machined +%bcond_with importd +%bcond_with networkd +%bcond_with journal_remote +%else %bcond_without sysvcompat +%bcond_without machined +%bcond_without importd +%bcond_without networkd +%bcond_without journal_remote +%ifarch %{ix86} x86_64 +%bcond_without gnuefi +%endif +%endif +%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid -%if 0%{?suse_version} > 1315 -%bcond_without permission -%bcond_without blkrrpart -%bcond_without udevsettle -%else -%bcond_with permission -%bcond_with blkrrpart -%bcond_with udevsettle -%endif -%bcond_with systemgrps Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd @@ -45,271 +54,105 @@ Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: acl -BuildRequires: audit-devel -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: intltool -BuildRequires: kbd -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libsepol-devel -BuildRequires: libtool -BuildRequires: pam-devel -BuildRequires: systemd-rpm-macros -BuildRequires: xz -BuildRequires: config(suse-module-tools) -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpci) >= 3 -#XXX: change to 2.27.1 when pkgconfig file is fixed upstream -BuildRequires: pkgconfig(mount) >= 2.27 -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) -%endif -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) -Conflicts: sysvinit -Conflicts: otherproviders(systemd) -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %version-%release -Conflicts: kiwi -%else -%ifarch %{ix86} x86_64 -BuildRequires: gnu-efi -%endif +%if ! 0%{?bootstrap} +BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets +BuildRequires: kbd +BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools -# curl and bzip2 are required for building importd -BuildRequires: libapparmor-devel -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libmicrohttpd) BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(usbutils) >= 0.82 +%endif +BuildRequires: fdupes +BuildRequires: gperf +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libcap-devel +BuildRequires: libmount-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: pam-config >= 0.79-5 +BuildRequires: pam-devel +# regenerate_initrd_post macro is expanded during build, hence this +# BR. Also this macro was introduced since version 12.4. +BuildRequires: suse-module-tools >= 12.4 +BuildRequires: systemd-rpm-macros +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.26 +BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpci) >= 3 +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +%if %{with importd} +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(zlib) +%endif +%if %{with journal_remote} +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 +%endif +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) +%endif +%if %{with gnuefi} +BuildRequires: gnu-efi +%endif + +%if 0%{?bootstrap} +#!BuildIgnore: dbus-1 +Requires: this-is-only-for-build-envs +Provides: systemd = %{version}-%{release} +%else # the buildignore is important for bootstrapping #!BuildIgnore: udev -Requires: udev = %{version}-%{release} -Recommends: %{name}-bash-completion Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 -Requires: netcfg +Requires: netcfg >= 11.5 Requires: pam-config >= 0.79-5 -BuildRequires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils +Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd Requires(post): /usr/bin/awk -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl + +%if 0%{?bootstrap} +Conflicts: systemd +Conflicts: kiwi +%endif +Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Conflicts: kernel < %{min_kernel_version} Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 - -#Git-Clone: git://github.com/systemd/systemd -Source: https://github.com/systemd/systemd/archive/v%version.tar.gz -%if ! 0%{?bootstrap} -Source1: systemd-rpmlintrc -%else -Source1: systemd-mini-rpmlintrc -%endif +Source0: systemd-%{version}.tar.xz +Source1: %{name}-rpmlintrc Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source13: fix-machines-subvol-for-rollbacks.sh +Source14: kbd-model-map.legacy -Source1065: systemd-remount-tmpfs - -# handle SUSE specific kbd settings -Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch -Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: insserv-generator.patch -Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch -Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - -# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done -Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype -Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch -# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin -Patch21: allow-multiple-sulogin-to-be-started.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices -Patch27: apply-ACL-for-nvidia-device-nodes.patch -# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device -Patch28: apply-ACL-for-nvidia-uvm-device-node.patch -Patch37: suse-sysv-bootd-support.diff -# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. -Patch39: systemd-tmp-safe-defaults.patch -# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch -Patch42: systemd-pam_config.patch - -# Upstream First - Policy: -# Never add any patches to this package without the upstream commit id -# in the patch. Any patches added here without a very good reason to make -# an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) -Patch84: make-emergency.service-conflict-with-syslog.socket.patch -# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch -# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty -Patch91: plymouth-quit-and-wait-for-emergency-service.patch -# PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com -Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch -# PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch -Patch180: 0014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch -Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch183: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch188: boot-local-start.patch -# PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch -# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch190: systemd-install-compat_pkgconfig-always.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch191: systemd-dbus-system-bus-address.patch -# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch192: let-linker-find-libudev-for-libdevmapper.patch -# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch193: portmap-wants-rpcbind-socket.patch -# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console -Patch197: rescue-emergency-target-conflicts.patch -# PATCH-FIX-SUSE Avoid a divide by zero sigtrap -Patch198: avoid-divide-by-zero-sigtrap.patch -# PATCH-FIX-SUSE System fails to boot if nfs mounts get added to fstab (bnc#874665) -Patch203: respect-nfs-bg-option.patch -# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774) -Patch208: parse-crypttab-for-noauto-option.patch -# PATCH-FIX-SUSE Do a vhangup on all consoles lines (bnc#886599) -Patch338: vhangup-on-all-consoles.patch -# PATCH-FIX-SUSE Shut up rpmlint warning -Patch345: shut-up-rpmlint-on-var-log-journal.patch -# PATCH-FIX-SUSE -Patch352: set-and-use-default-logconsole.patch -Patch362: tty-ask-password-agent-on-console.patch -# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357) -Patch366: tomcat6-var-lock-subsys-legacy.patch -# PATCH-FIX-SUSE Remove error messages for tab completion for systemctl isolate (bnc#892162) -Patch368: 0001-let-systemctl-completion-ignore-at-names.patch -# PATCH-FIX-SUSE Use RNDADDENTROPY ioctl to load random-seed and to increase entropy count as well (bnc#892096) -Patch386: use-rndaddentropy-ioctl-to-load-random-seed.patch -# PATCH-FIX-SUSE AUDIT-0: Power button press at gdm login should not prompt for credentials (bnc#888612) -Patch430: 0001-bnc888612-logind-polkit-acpi.patch -# PATCH-FIX-SUSE added on 2014/10/24 -Patch475: journald-advice-about-use-of-memory.patch -# PATCH-FIX-SUSE added on 2014/11/05 -Patch490: watch_resolv.conf_for_become_changed.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch520: systemd-add-user-keep.patch -# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009) -Patch521: kbd-model-map.patch -# PATCH-WORKAROUND-SUSE (boo#939571) -Patch522: Correct_assert_on_unexpected_error_code.patch -# PATCH-FIX-SUSE Do not stress the kernel's vc ioctls (boo#904214) -Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch -# PATCH-FIX-UPSTREAM (bsc#956712) -Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch -# PATCH-FIX-UPSTREAM (bsc#966535) -Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch526: systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch527: 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch528: 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch -# PATCH-FIX-UPSTREAM -- fixed after 228 -Patch529: 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch -# PATCH-FIX-UPSTREAM -- fixed after 320 -Patch530: systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch -# PATCH-FIX-UPSTREAM -- fixed after 231 -Patch531: 0001-rules-block-add-support-for-pmem-devices-3683.patch -Patch532: 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch -Patch533: 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch -Patch534: 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch -Patch535: 0001-If-the-notification-message-length-is-0-ignore-the-m.patch -Patch536: 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch -Patch537: 0001-pid1-process-zero-length-notification-messages-again.patch -Patch538: 0001-pid1-more-informative-error-message-for-ignored-noti.patch - -# UDEV PATCHES -# ============ -# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. -# Udev patches mean: patches that affect udev code, src/{udev,libudev} -# nothing else, even if the patch might affect indirectly udev, as long -# as it's not changing the code of udev and libudev, then is not a udev -# patch. Further patches which add and/or changes udev rules. - -# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch -# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch -Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch -Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch -# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch -Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch -Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) -Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch -# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) -Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch -# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch -# PATCH-FIX-SUSE See bnc#882714 comment #51 -Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch -# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) -Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch -# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) -Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch -# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517) -Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch -# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch -Patch1096: 1096-new-udev-root-symlink-generator.patch -# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch -Patch1097: 1097-udevd-increase-maximum-number-of-children.patch -# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch -Patch1098: 1098-systemd-networkd-alias-network-service.patch -# PATCH-FIX-OPENSUSE 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -Patch1099: 1099-Add-default-rules-for-valve-steam-controller-to-work.patch -# PATCH-FIX-OPENSUSE hostname-NULL.patch - fix crash on xen build hosts in OBS Marcus Meissner -Patch1100: hostname-NULL.patch +Source1065: udev-remount-tmpfs %description Systemd is a system and service manager, compatible with SysV and LSB @@ -321,20 +164,6 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1+ -Group: System/Base -Requires: bash -%if %{with bash_completion} -Requires: bash-completion -%endif -BuildArch: noarch - -%description bash-completion -Some systemd commands offer bash completion, but it's an optional dependency. - %package devel Summary: Development headers for systemd License: LGPL-2.1+ @@ -342,9 +171,8 @@ Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} -Provides: systemd-devel = %version-%release +Conflicts: systemd-devel %endif -Conflicts: otherproviders(systemd-devel) %description devel Development headers and auxiliary files for developing applications for systemd. @@ -396,27 +224,17 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm -# Avoid bootstrap cycle with sg3_utils -%if "%{?mini}" == "" -PreReq: /usr/bin/sg_inq -%endif Requires(pre): /usr/bin/stat Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent -Requires(post): libudev%{?mini}1 Requires(post): sed Requires(post): /usr/bin/systemctl -%if %{defined regenerate_initrd_post} +Requires(postun): %insserv_prereq + Requires(post): coreutils -Requires(post): /usr/bin/stat Requires(postun): coreutils -Requires(posttrans): suse-module-tools -Requires(posttrans): /sbin/mkinitrd -%else -Requires(post): /sbin/mkinitrd -Requires(postun): /sbin/mkinitrd -%endif +Requires(posttrans): suse-module-tools >= 12.4 + Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 @@ -425,10 +243,12 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %version-%release -Conflicts: kiwi +Provides: udev = %{version} +Conflicts: libudev1 +Conflicts: udev +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif -Conflicts: otherproviders(udev) %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or @@ -437,15 +257,15 @@ and dispatches them according to rules in /lib/udev/rules.d/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. - - %package -n libudev%{?mini}1 -# This really should have been libudev1%{?mini}, but requires changes to prjconf :-/ Summary: Dynamic library to access udev device information License: LGPL-2.1+ Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 +Conflicts: kiwi +# avoid kiwi picking it for bootstrap +Requires: this-is-only-for-build-envs %endif %description -n libudev%{?mini}1 @@ -455,12 +275,13 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1+ -Group: Development/Libraries/C and C++ -Requires: libudev%{?mini}1 = %version-%release +Group: Development/Libraries/Other +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %version-%release +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} +Conflicts: libudev-devel %endif -Conflicts: otherproviders(libudev-devel) %description -n libudev%{?mini}-devel This package contains the development files for the library libudev, a @@ -473,63 +294,62 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(post): /usr/bin/getent -Requires(post): /usr/bin/setfacl Requires(post): /usr/bin/systemctl -Requires(post): permissions Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. + %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1+ Group: System/Libraries %description -n nss-myhostname -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured system hostname as returned by -gethostname(2). Various software relies on an always resolvable local -host name. When using dynamic hostnames this is usually achieved by -patching /etc/hosts at the same time as changing the host name. This -however is not ideal since it requires a writable /etc file system and -is fragile because the file might be edited by the administrator at -the same time. nss-myhostname simply returns all locally -configured public IP addresses, or -- if none are configured -- -the IPv4 address 127.0.0.2 (wich is on the local loopback) and the -IPv6 address ::1 (which is the local host) for whatever system -hostname is configured locally. Patching /etc/hosts is thus no -longer necessary. +This package contains a plug-in module for the Name Service Switch +(NSS), primarly providing hostname resolution for the locally +configured system hostname as returned by gethostname(2). For example, +it resolves the local hostname to locally configured IP addresses, as +well as "localhost" to 127.0.0.1/::1. -Note that nss-myhostname only provides a workaround for broken -software. If nss-myhostname is trigged by an application a message -is logged to /var/log/messages. Please check whether that's worth -a bug report then. -This package marks the installation to not use syslog but only the journal. +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. +%endif +%if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ Group: System/Libraries %description -n nss-mymachines -nss-myhostname is a plugin for the GNU Name Service Switch (NSS) -functionality of the GNU C Library (glibc) providing host name -resolution for the locally configured containers and virtual machines -systemd-machined knows about. +This package contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual +machines registered with systemd-machined to their respective IP +addresses. It also maps UID/GIDs ranges used by containers to useful +names. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. +%endif -%description -n nss-resolve - -%package journal-gateway +%if %{with journal_remote} +%package journal-remote Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1+ Group: System/Base @@ -538,173 +358,85 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -%description journal-gateway -systemd-journal-gatewayd serves journal events over the network using HTTP. +%description journal-remote +This extends the journal functionality to keep a copy of logs on a +remote server by providing programs to forward journal entries over +the network, using encrypted HTTP, and to write journal files from +serialized journal contents. + +This package contains systemd-journal-gatewayd, +systemd-journal-remote, and systemd-journal-upload. %endif +%package bash-completion +Summary: Bash completion support for systemd +License: LGPL-2.1+ +Group: System/Base +Requires: bash-completion +BuildArch: noarch +%if 0%{?bootstrap} +Conflicts: systemd-bash-completion +%endif + +%description bash-completion +Some systemd commands offer bash completion, but it is an optional dependency. + %prep -%setup -q -n systemd-%version +%setup -q -n systemd-%{version} echo "Checking whether upstream rpm macros changed..." -diff -au "%{S:10}" src/core/macros.systemd.in +#skipped for now +#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} cp %{SOURCE7} m4/ %endif -# systemd patches -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch12 -p1 -%patch16 -p1 -%patch17 -p1 -%patch20 -p1 -%patch21 -p1 -# check if this is still needed, or can be derived from fbdev uaccess rule -# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html -%patch27 -p1 -%patch28 -p1 -%patch37 -p1 -%patch39 -p1 -%patch41 -p1 -%patch42 -p1 -%patch84 -p1 -%patch86 -p1 -%patch90 -p1 -%patch91 -p1 -%patch120 -p1 -%patch178 -p1 -%patch179 -p1 -%patch180 -p1 -%patch182 -p1 -%patch183 -p1 -%patch186 -p1 -%patch188 -p1 -%patch189 -p1 -%patch190 -p1 -%patch191 -p1 -%patch192 -p1 -%patch193 -p1 -%patch197 -p1 -%patch198 -p1 -%patch203 -p1 -%patch208 -p1 -%patch338 -p1 -%patch345 -p1 -%patch352 -p1 -%patch362 -p1 -%patch366 -p1 -%patch368 -p1 -%patch386 -p1 -%patch430 -p1 -%patch475 -p1 -%patch490 -p1 -%patch520 -p1 -%patch521 -p1 -%patch522 -p1 -%patch523 -p1 -%patch524 -p1 -%patch525 -p1 -%patch526 -p1 -%patch527 -p1 -%patch528 -p1 -%patch529 -p1 -%patch530 -p1 -%patch531 -p1 -%patch532 -p1 -%patch533 -p1 -%patch534 -p1 -%patch535 -p1 -%patch536 -p1 -%patch537 -p1 -%patch538 -p1 - -# udev patches -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1035 -p1 -%if %{with blkrrpart} -%patch1037 -p1 -%endif -%patch1062 -p1 -%patch1066 -p1 -%patch1095 -p1 -%patch1096 -p1 -%patch1097 -p1 -%patch1098 -p1 -%patch1099 -p1 -%patch1100 -p1 - -# -# In combination with Patch352 set-and-use-default-logconsole.patch -# Ensure that journald log on tty10 -# -%ifarch %ix86 x86_64 x32 -sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf -%endif - %build # -# Be sure that fresh build libudev is linked as otherwise no errors are found +# Be sure that fresh build libudev is found and used at linkage time # sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS = \\\ - $(AM_LDFLAGS) \\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ +systemd_cryptsetup_LDFLAGS =\\\ + $(AM_LDFLAGS)\\\ + -Wl,-rpath-link=$(top_srcdir)/.libs\ }' Makefile.am -sh autogen.sh -export CFLAGS="%{optflags}" -%if 0%{?suse_version} == 1315 - CFLAGS="$CFLAGS -DNET_IFNAMES=1" -%else - CFLAGS="$CFLAGS -DNET_IFNAMES=0" -%endif +./autogen.sh -# certificate-root is set to /etc/pki/systemd instead of the -# built-in default /etc/ssl as journal-remote and journal-upload -# think they kan put stuff in /etc/ssl/certs then but that -# directory is managed by p11-kit and doesn't serve the purpose -# those programs think -# # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --with-ntp-servers="0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org" \ --docdir=%{_docdir}/systemd \ --with-pamlibdir=/%{_lib}/security \ --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-dbusinterfacedir=%{_datadir}/dbus-1/interfaces \ - --with-certificate-root=/etc/pki/systemd \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ - --disable-machined \ - --disable-importd \ -%else - --enable-manpages \ - --with-nss-my-hostname-warning \ +%endif +%if %{with compatlibs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-tests \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ %if %{without networkd} --disable-networkd \ %endif +%if %{without machined} + --disable-machined \ +%endif %if %{without sysvcompat} --with-sysvinit-path= \ --with-sysvrcnd-path= \ @@ -714,42 +446,34 @@ export CFLAGS="%{optflags}" %endif --disable-kdbus -%make_build V=e -%if ! 0%{?bootstrap} -%make_build V=e update-man-list man -%endif +make %{?_smp_mflags} V=e %install %make_install -install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/" # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %endif +# FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -%if ! 0%{?bootstrap} -ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 -%endif - -%if ! 0%{?bootstrap} -install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config -%endif - -ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} -install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated + +install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -770,7 +494,7 @@ cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path -# create %{_libexecdir}/modules-load.d +# create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf # load sg module at boot time @@ -785,7 +509,14 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} rm -f %{buildroot}%{_localstatedir}/log/README -rm -rf %{buildroot}%{_datadir}/bash-completion +%endif + +# journal-upload is built if libcurl is installed which can happen +# when importd is enabled (whereas journal_remote is not). +%if ! %{with journal_remote} +rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf +rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload +rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif # legacy links @@ -797,13 +528,19 @@ for f in loginctl journalctl ; do done ln -s /usr/lib/udev %{buildroot}/lib/udev -# Create the /var/log/journal directory to change the volatile journal to a persistent one +# Create the /var/log/journal directory to change the volatile journal +# to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ +# This dir must be owned (and thus created) by systemd otherwise the +# build system will complain. This is odd since we simply own a ghost +# file in it... +mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d + # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -#create ghost databases +# Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -815,8 +552,20 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants + +# Make sure the generator directories are created and properly owned. +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset +mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ @@ -826,18 +575,12 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF -#ensure we get the running kernel sysctl settings. - -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/current-kernel-sysctl.conf -d! /run/sysctl.d -L! /run/sysctl.d/00-kernel-%v.conf - - - - /boot/sysctl.conf-%v -EOF - -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d - -cat << EOF > %{buildroot}/%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -[Unit] -After=local-fs.target +# create drop-in to prevent delegate=yes for root user (bsc#954765, +# bnc#953241, fate#320421) +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ +cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf < %{buildroot}%{_localstatedir}/lib/systemd/random-seed - -# On systems supporting rollbacks with btrfs, /var/lib/machines -# subvolume must be created differently. Normally the installer takes -# care of this now but some systems uses a plain subvolume that breaks -# snapshots, rollback ("nearly everything" see bsc#992573). This -# script should help fixing it. -install -m 755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -%if ! 0%{?bootstrap} -for f in %{buildroot}%{_datadir}/bash-completion/completions/* -do - test -e "$f" || break - grep -q _init_completion "$f" || continue - echo "%exclude %{_datadir}/bash-completion/completions/${f##*/}" -done > files.completion -%else -> files.completion -%endif - # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%if %{without compat_libs} -lib=%{_libdir}/libsystemd.so -for lnk in daemon login id128 journal -do - lnk=%{buildroot}%{_libdir}/libsystemd-${lnk}.so - echo '/* GNU ld script */' > ${lnk} - echo 'INPUT('${lib}')' >> ${lnk} -done -%endif +# Make sure to disable all services by default. The Suse branding +# presets package takes care of defining the right policies. +rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset +echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset -# Some files which may created by us or by the admin later on -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ - machine-id machine-info \ - systemd/system/runlevel2.target \ - systemd/system/runlevel3.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel4.target \ - systemd/system/runlevel5.target -do - > %{buildroot}%{_sysconfdir}/$ghost -done - -# Workaround for bug #882393 -for runlevel in poweroff rescue multi-user graphical reboot -do - mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants - ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/ -done - -# add entries for xkeyboard-config converted keymaps; mappings, -# which already exist in original systemd mapping table are being -# ignored though, i.e. not overwritten +# Add entries for xkeyboard-config converted keymaps; mappings, which +# already exist in original systemd mapping table are being ignored +# though, i.e. not overwritten; needed as long as YaST uses console +# keymaps internally and calls localectl to convert from vconsole to +# X11 keymaps. Ideally YaST should switch to X11 layout names (the +# mapping table wouldn't be needed since each X11 keymap has a +# generated xkbd keymap) and let localectl initialize +# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf +# (FATE#319454). if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>"%buildroot/usr/share/systemd/kbd-model-map" + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map fi +# kbd-model-map.legacy is used to provide mapping for legacy keymaps, +# which may still be used by yast. +cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map + %find_lang systemd %pre -for name in journal timesync network resolve bus-proxy -do - getent group systemd-$name >/dev/null && continue - groupadd -r systemd-$name || : -done -for name in adm input tape -do - getent group $name >/dev/null && continue - groupadd -r $name || : -done -for name in timesync network resolve bus-proxy -do - getent passwd systemd-$name >/dev/null && continue - case "$name" in - timesync) descr="Systemd Time Synchronization" ;; - network) descr="Systemd Network Management" ;; - resolve) descr="Systemd Resolver" ;; - bus-proxy) descr="Systemd Bus Proxy" ;; - esac - useradd -r -l -g systemd-$name systemd-$name -s /usr/sbin/nologin -d / -c "$descr" || : -done +# Build of installation images uses an hard coded list of some +# packages with a %pre that needs to be run during the +# build. Unfortunately, systemd in one of them. To make thing simpler +# we use a %pre section even if it is not needed. exit 0 %post +%sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} -/usr/sbin/pam-config -a --systemd || : +pam-config -a --systemd || : %endif -/sbin/ldconfig -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : -/usr/bin/systemd-machine-id-setup || : +ldconfig +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : +systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : -/usr/bin/systemctl daemon-reexec || : -/usr/bin/journalctl --update-catalog || : -# Make sure new journal files -chgrp systemd-journal %{_localstatedir}/log/journal/ || : -chmod g+s %{_localstatedir}/log/journal/ || : -if read ID < /etc/machine-id > /dev/null 2>&1 ; then - chgrp systemd-journal "%{_localstatedir}/log/journal/$ID" || : - chmod g+s "%{_localstatedir}/log/journal/$ID" || : -fi -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif -systemd-sysusers || : +systemctl daemon-reexec || : +%journal_catalog_update +%tmpfiles_create # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) if [ -n "$runlevel" ] ; then - /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : fi fi + # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ "$1" -eq 1 ]; then - # Enable these services by default. - # Specifying multiple units can cause the entire operation to not - # execute if one of them is missing, so run systemctl with one unit - # at a time only. - for i in getty@tty1.service remote-fs.target; do - /usr/bin/systemctl enable "$i" || : - done -fi +if [ $1 -eq 1 ]; then + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : +fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -993,7 +679,7 @@ done # distros. This unit can be pulled (implicitely) in various ways # (private /tmp, etc..) and it's required by the basic.target # explicitly since v220. -case $(/usr/bin/systemctl is-enabled tmp.mount 2>/dev/null) in +case $(systemctl is-enabled tmp.mount 2>/dev/null) in enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac @@ -1001,38 +687,54 @@ esac # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. +# +# The convertion might only be problematic for openSUSE distros +# (TW/Factory) where previous versions had already created the +# subvolume at the wrong place (via tmpfiles for example) and user +# started to populate and use it. In this case we'll let the user fix +# it manually. +# +# For SLE12 this subvolume was only introduced during the upgrade from +# v210 to v228 when we added this workaround. Note that the subvolume +# is still created at the wrong place due to the call to +# tmpfiles_create macro previously however it's empty so there +# shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : fi %postun -/sbin/ldconfig +ldconfig if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload || : - #Avoid restarting logind [bnc#934901] until fixed upstream - #/usr/bin/systemctl try-restart systemd-logind.service || : + systemctl daemon-reload || : + # Avoid restarting logind [bnc#934901] until fixed upstream + #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - /usr/sbin/pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - /usr/bin/systemctl disable \ - getty@.service \ - remote-fs.target || : - rm -f /etc/systemd/system/default.target 2>&1 || : -fi + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : + + rm -f /etc/systemd/system/default.target +fi >/dev/null -# pretrans section must always use lua %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} + %regenerate_initrd_post if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -1040,135 +742,87 @@ if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi -# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules + +# Create "tape"/"input" group which is referenced by some udev rules +# that we're shipping. FIXME: maybe we should consider using +# "sysusers_create basic.conf" instead ? getent group tape >/dev/null || groupadd -r tape || : -# kill daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root ; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket || : - udevadm control --exit || : - fi -fi +getent group input >/dev/null || groupadd -r input || : %post -n udev%{?mini} -/usr/bin/udevadm hwdb --update || : -if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then - # add KERNEL name match to existing persistent net rules - sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules || : -fi +%udev_hwdb_update + +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : + # cleanup old stuff rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/20-cdrom.rules -rm -f /etc/udev/rules.d/55-cdrom.rules -rm -f /etc/udev/rules.d/65-cdrom.rules -systemctl daemon-reload || : -# start daemon if we are not in a chroot -if test -f /proc/1/exe -a -d /proc/1/root; then - if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then - if ! systemctl start systemd-udevd.service; then - /usr/lib/systemd/systemd-udevd --daemon || : - fi - fi -fi - -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi +rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} - +%regenerate_initrd_post +%insserv_cleanup systemctl daemon-reload || : +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service -if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then - echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" -%if %{defined regenerate_initrd_post} - else - %regenerate_initrd_post -%else - elif [ -x /sbin/mkinitrd ]; then - [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup - /sbin/mkinitrd || : -%endif - fi -fi - -%if %{defined regenerate_initrd_post} %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%endif -%post -n libsystemd0%{?mini} -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p /sbin/ldconfig +%post -n libsystemd0%{?mini} -p /sbin/ldconfig + %postun -n libudev%{?mini}1 -p /sbin/ldconfig +%postun -n libsystemd0%{?mini} -p /sbin/ldconfig %if ! 0%{?bootstrap} - -%if %{with permission} -%verifyscript logger -%verify_permissions -e %{_localstatedir}/log/journal/ -%endif - -%pre logger -getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -exit 0 - %post logger -%if %{with permission} -%set_permissions %{_localstatedir}/log/journal/ -%endif -%if %{with systemgrps} -getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || : -%endif +systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service || : + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi -%preun -n nss-myhostname -if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then - %{_sbindir}/nss-myhostname-config --disable -fi - -%post -n nss-myhostname -p /sbin/ldconfig - +%post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig +%endif +%if %{with resolved} +%post -n nss-resolve -p /sbin/ldconfig +%postun -n nss-resolve -p /sbin/ldconfig +%endif + +%if %{with machined} %post -n nss-mymachines -p /sbin/ldconfig %postun -n nss-mymachines -p /sbin/ldconfig - -%pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal/ -s /usr/sbin/nologin -c "Systemd Journal Gateway" systemd-journal-gateway || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -exit 0 - -%post journal-gateway -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%preun journal-gateway -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - -%postun journal-gateway -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service - %endif +%if %{with journal_remote} +%pre journal-remote +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service +%service_add_pre systemd-journal-upload.service + +%post journal-remote +%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf +%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_add_post systemd-journal-remote.socket systemd-journal-remote.service +%service_add_post systemd-journal-upload.service + +%preun journal-remote +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_preun systemd-journal-upload.service + +%postun journal-remote +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service +%service_del_postun systemd-journal-upload.service +%endif + +%clean + %files -f systemd.lang %defattr(-,root,root) /bin/systemd @@ -1182,7 +836,7 @@ exit 0 %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if ! 0%{?bootstrap} +%if %{with machined} %{_bindir}/machinectl %endif %{_bindir}/systemctl @@ -1219,16 +873,17 @@ exit 0 %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload %exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/udev.service -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev-root-symlink.service -%if ! 0%{?bootstrap} +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%endif +%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* +%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service %{_prefix}/lib/systemd/system/*.slice @@ -1241,67 +896,45 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/user/*.socket -%exclude %{_prefix}/lib/systemd/systemd-udevd -%if ! 0%{?bootstrap} -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog -%dir %{_prefix}/lib/systemd/system-shutdown -%dir %{_prefix}/lib/systemd/system-preset -%dir %{_prefix}/lib/systemd/user-preset -%dir %{_prefix}/lib/systemd/system-generators -%dir %{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator +%{_prefix}/lib/systemd/system-preset +%{_prefix}/lib/systemd/user-preset +%{_prefix}/lib/systemd/system-generators +%{_prefix}/lib/systemd/user-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/default.target.wants -%dir %{_prefix}/lib/systemd/system/dbus.target.wants %dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%dir %{_prefix}/lib/systemd/system/user@0.service.d %{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%dir %{_prefix}/lib/systemd/system/systemd-sysctl.service.d -%{_prefix}/lib/systemd/system/systemd-sysctl.service.d/after.conf -%if ! 0%{?bootstrap} -%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%if %{with importd} +%{_prefix}/lib/systemd/import-pubring.gpg %endif -%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator -%{_prefix}/lib/systemd/system-generators/systemd-debug-generator -%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator -%endif -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator -%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator -%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator -%{_prefix}/lib/systemd/system-preset/ -%{_prefix}/lib/sysusers.d/ /%{_lib}/security/pam_systemd.so -%config /etc/pam.d/systemd-user -%if ! 0%{?bootstrap} -%ifarch %{ix86} x86_64 +%if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%endif %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%dir %{_libexecdir}/tmpfiles.d +%{_libexecdir}/sysusers.d/ +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf + %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/*.conf +%{_libexecdir}/tmpfiles.d/ +%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1310,42 +943,48 @@ exit 0 %dir %{_sysconfdir}/sysctl.d %{_prefix}/lib/sysctl.d/50-coredump.conf +%dir %{_sysconfdir}/X11/xinit +%dir %{_sysconfdir}/X11/xinit/xinitrc.d +%dir %{_sysconfdir}/X11/xorg.conf.d +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %{_sysconfdir}/xdg/systemd/user -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%config(noreplace) %{_sysconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%if !0%{?bootstrap} -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%endif %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%endif %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%if !0%{?bootstrap} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with machined} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%endif +%if %{with importd} +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%endif -%{_sysconfdir}/X11/xinit/ -# Some files which may created by us -%dir %{_sysconfdir}/X11/xorg.conf.d +# Some files created by us. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1356,121 +995,114 @@ exit 0 %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_datadir}/factory/ -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname +%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname %if %{with networkd} %{_prefix}/lib/systemd/system/org.freedesktop.network1.busname +%endif +%if %{with resolved} +%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname +%endif +%if %{with machined} +%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%endif +%if %{with importd} +%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname +%endif + +%{_datadir}/systemd +%{_datadir}/factory +%exclude %{_datadir}/systemd/gatewayd + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%if !0%{?bootstrap} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname +%if %{with resolved} +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%endif +%if %{with machined} %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %endif -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname +%if %{with importd} +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%endif -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions -%if !0%{?bootstrap} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if ! 0%{?bootstrap} -%exclude %{_datadir}/systemd/gatewayd +%if %{with machined} +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif -%{_datadir}/systemd %if ! 0%{?bootstrap} -%_mandir/man1/[a-rt-z]*ctl.1* -%_mandir/man1/systemc*.1* -%_mandir/man1/systemd*.1* -%_mandir/man5/[a-tv-z]* -%_mandir/man5/user* -%_mandir/man7/[bdfks]* -%_mandir/man8/kern* -%_mandir/man8/pam_* -%_mandir/man8/systemd-[a-gik-tv]* -%_mandir/man8/systemd-h[aioy]* -%_mandir/man8/systemd-journal-remote.* -%_mandir/man8/systemd-journal-upload.* -%_mandir/man8/systemd-journald* -%_mandir/man8/systemd-u[ps]* +%{_mandir}/man1/[a-rt-z]*ctl.1* +%{_mandir}/man1/systemc*.1* +%{_mandir}/man1/systemd*.1* +%{_mandir}/man5/[a-tv-z]* +%{_mandir}/man5/user* +%{_mandir}/man7/[bdfks]* +%{_mandir}/man8/kern* +%{_mandir}/man8/pam_* +%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-h[aioy]* +%{_mandir}/man8/systemd-journald* +%{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%if ! 0%{?bootstrap} -%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules -%endif %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/numlock-on -%if 0%{suse_version} < 1310 -%{_sysconfdir}/rpm/macros.systemd -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database -%dir %{_localstatedir}/lib/systemd/coredump +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed -%if %{with resolved} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_sysconfdir}/systemd/resolved.conf -%{_libdir}/libnss_resolve.so.2 -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if ! 0%{?bootstrap} -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_prefix}/lib/systemd/import-pubring.gpg -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif - -%if ! 0%{?bootstrap} -%files bash-completion -f files.completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* -%endif +%{_datadir}/pkgconfig/systemd.pc %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so +%{_libdir}/pkgconfig/libsystemd.pc +%{_includedir}/systemd/ +%if %{with compatlibs} %{_libdir}/libsystemd-daemon.so %{_libdir}/libsystemd-login.so %{_libdir}/libsystemd-id128.so %{_libdir}/libsystemd-journal.so -%{_includedir}/systemd/ -%{_datadir}/pkgconfig/systemd.pc -%{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc +%endif %if ! 0%{?bootstrap} -%_mandir/man3/SD*.3* -%_mandir/man3/sd*.3* +%{_mandir}/man3/SD*.3* +%{_mandir}/man3/sd*.3* %endif %files sysvinit @@ -1491,8 +1123,7 @@ exit 0 %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%dir %_prefix/lib/systemd -%_prefix/lib/systemd/systemd-sysv-install +%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) @@ -1501,12 +1132,10 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm -%if 0%{?suse_version} <= 1310 -%{_prefix}/lib/firmware -%endif %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe @@ -1518,7 +1147,6 @@ exit 0 %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules %exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ @@ -1527,17 +1155,18 @@ exit 0 %ghost %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} -%_mandir/man5/udev* -%_mandir/man7/hwdb* -%_mandir/man7/udev* -%_mandir/man8/systemd-hwdb* -%_mandir/man8/systemd-udev* -%_mandir/man8/udev* +%{_mandir}/man5/udev* +%{_mandir}/man7/hwdb* +%{_mandir}/man7/udev* +%{_mandir}/man8/systemd-hwdb* +%{_mandir}/man8/systemd-udev* +%{_mandir}/man8/udev* %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udev*.service %{_prefix}/lib/systemd/system/systemd-udevd*.socket +%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %dir %{_prefix}/lib/systemd/system/sysinit.target.wants %{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %dir %{_prefix}/lib/systemd/system/sockets.target.wants @@ -1545,18 +1174,16 @@ exit 0 %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.network -%if 0%{?suse_version} > 1310 %{_datadir}/pkgconfig/udev.pc -%endif %files -n libsystemd0%{?mini} %defattr(-,root,root) -%_libdir/libsystemd.so.* -%if %{with compat_libs} -%_libdir/libsystemd-daemon.so.* -%_libdir/libsystemd-login.so.* -%_libdir/libsystemd-id128.so.* -%_libdir/libsystemd-journal.so.* +%{_libdir}/libsystemd.so.* +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* %endif %files -n libudev%{?mini}1 @@ -1582,27 +1209,50 @@ exit 0 %files -n nss-myhostname %defattr(-, root, root) -%{_sbindir}/nss-myhostname-config -%if !0%{?bootstrap} +/%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* %endif -/%{_lib}/*nss_myhostname* -%files journal-gateway +%if %{with resolved} +%files -n nss-resolve %defattr(-, root, root) -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_datadir}/systemd/gatewayd +%{_libdir}/libnss_resolve.so.2 +%{_mandir}/man8/libnss_resolve.* +%{_mandir}/man8/nss-resolve.* +%endif +%if %{with machined} %files -n nss-mymachines %defattr(-,root,root) -%_libdir/libnss_mymachines.so* -%if !0%{?bootstrap} -%_mandir/man8/libnss_mymachines.* -%_mandir/man8/nss-mymachines.* -%endif +%{_libdir}/libnss_mymachines.so* +%{_mandir}/man8/libnss_mymachines.* +%{_mandir}/man8/nss-mymachines.* %endif +%if %{with journal_remote} +%files journal-remote +%defattr(-, root, root) +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/system/systemd-journal-remote.* +%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_prefix}/lib/systemd/systemd-journal-remote +%{_prefix}/lib/systemd/systemd-journal-upload +%{_libexecdir}/sysusers.d/systemd-remote.conf +%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_mandir}/man8/systemd-journal-remote.* +%{_mandir}/man8/systemd-journal-upload.* +%{_datadir}/systemd/gatewayd +%endif + +%files bash-completion +%defattr(-,root,root,-) +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %changelog diff --git a/tomcat6-var-lock-subsys-legacy.patch b/tomcat6-var-lock-subsys-legacy.patch deleted file mode 100644 index cf9207ba..00000000 --- a/tomcat6-var-lock-subsys-legacy.patch +++ /dev/null @@ -1,20 +0,0 @@ -Provide /run/lock/subsys directory to be able to provide the -/var/lock/subsys via the symbolic link /var/lock (bnc#889357) - ---- - tmpfiles.d/legacy.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-221/tmpfiles.d/legacy.conf -=================================================================== ---- systemd-221.orig/tmpfiles.d/legacy.conf -+++ systemd-221/tmpfiles.d/legacy.conf -@@ -17,7 +17,7 @@ L /var/lock - - - - ../run/lock - # /run/lock/subsys is used for serializing SysV service execution, and - # hence without use on SysV-less systems. - --#d /run/lock/subsys 0755 root root - -+d /run/lock/subsys 0755 root root - - - # /run/lock/lockdev is used to serialize access to tty devices via - # LCK..xxx style lock files, For more information see: diff --git a/tty-ask-password-agent-on-console.patch b/tty-ask-password-agent-on-console.patch deleted file mode 100644 index f96fc24b..00000000 --- a/tty-ask-password-agent-on-console.patch +++ /dev/null @@ -1,376 +0,0 @@ -From 907bc2aa36f58c6050cd4b7b290e0992a4373e49 Mon Sep 17 00:00:00 2001 -From: Werner Fink -Date: Wed, 30 Sep 2015 15:00:41 +0200 -Subject: [PATCH] Ask for passphrases not only on the first console of - /dev/console - -but also on all other consoles. This does help on e.g. mainframes -where often a serial console together with other consoles are -used. Even rack based servers attachted to both a serial console -as well as having a virtual console do sometimes miss a connected -monitor. - -To be able to ask on all terminal devices of /dev/console the devices -are collected. If more than one device are found, then on each of the -terminals a inquiring task for passphrase is forked and do not return -to the caller. - -Every task has its own session and its own controlling terminal. -If one of the tasks does handle a password, the remaining tasks -will be terminated. - -Also let contradictory options on the command of -systemd-tty-ask-password-agent fail. - -Spwan for each device of the system console /dev/console a own process. - -Replace the system call wait() with with system call waitid(). ---- - src/tty-ask-password-agent/tty-ask-password-agent.c | 264 +++++++++++++++++++- - 1 file changed, 254 insertions(+), 10 deletions(-) - -Index: systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd-228.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd-228/src/tty-ask-password-agent/tty-ask-password-agent.c -@@ -4,6 +4,7 @@ - This file is part of systemd. - - Copyright 2010 Lennart Poettering -+ Copyright 2015 Werner Fink - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by -@@ -21,6 +22,9 @@ - - #include - #include -+#include -+#include -+#include - #include - #include - #include -@@ -49,6 +53,8 @@ - #include "terminal-util.h" - #include "util.h" - #include "utmp-wtmp.h" -+#include "fileio.h" -+#include "macro.h" - - static enum { - ACTION_LIST, -@@ -57,8 +63,21 @@ static enum { - ACTION_WALL - } arg_action = ACTION_QUERY; - -+struct console { -+ pid_t pid; -+ char *tty; -+}; -+ -+static volatile sig_atomic_t sigchild; -+ -+static void chld_handler(int sig) { -+ ++sigchild; -+} -+ - static bool arg_plymouth = false; - static bool arg_console = false; -+static bool arg_device = false; -+static const char *current_dev = "/dev/console"; - - static int ask_password_plymouth( - const char *message, -@@ -240,6 +259,80 @@ finish: - return r; - } - -+static void free_consoles(struct console *con, unsigned int num) { -+ unsigned int n; -+ -+ if (!con || num == 0) -+ return; -+ -+ for (n = 0; n < num; n++) -+ free(con[n].tty); -+ -+ free(con); -+} -+ -+static int collect_consoles(struct console **consoles, unsigned int *num) { -+ _cleanup_free_ char *active = NULL; -+ const char *word, *state; -+ struct console *con = NULL; -+ size_t con_len = 0, len; -+ unsigned int count = 0; -+ int ret; -+ -+ assert(num); -+ assert(consoles); -+ -+ ret = read_one_line_file("/sys/class/tty/console/active", &active); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to read /sys/class/tty/console/active: %m"); -+ -+ FOREACH_WORD(word, len, active, state) { -+ _cleanup_free_ char *tty = NULL; -+ -+ if (len == 4 && strneq(word, "tty0", 4)) { -+ -+ ret = read_one_line_file("/sys/class/tty/tty0/active", &tty); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to read /sys/class/tty/tty0/active: %m"); -+ -+ word = tty; -+ len = strlen(tty); -+ } -+ -+ con = GREEDY_REALLOC(con, con_len, 1+count); -+ if (!con) -+ return log_oom(); -+ -+ if (asprintf(&con[count].tty, "/dev/%.*s", (int)len, word) < 0) { -+ free_consoles(con, count); -+ return log_oom(); -+ } -+ -+ con[count].pid = 0; -+ count++; -+ } -+ -+ if (!con) { -+ con = GREEDY_REALLOC(con, con_len, 1); -+ if (!con) -+ return log_oom(); -+ -+ con[0].tty = strdup(current_dev); -+ if (!con[0].tty) { -+ free_consoles(con, 1); -+ return log_oom(); -+ } -+ -+ con[0].pid = 0; -+ count++; -+ } -+ -+ *num = count; -+ *consoles = con; -+ -+ return 0; -+} -+ - static int parse_password(const char *filename, char **wall) { - _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; - bool accept_cached = false, echo = false; -@@ -340,7 +433,7 @@ static int parse_password(const char *fi - int tty_fd = -1; - - if (arg_console) { -- tty_fd = acquire_terminal("/dev/console", false, false, false, USEC_INFINITY); -+ tty_fd = acquire_terminal(current_dev, false, false, false, USEC_INFINITY); - if (tty_fd < 0) - return log_error_errno(tty_fd, "Failed to acquire /dev/console: %m"); - -@@ -601,7 +694,7 @@ static int parse_argv(int argc, char *ar - { "watch", no_argument, NULL, ARG_WATCH }, - { "wall", no_argument, NULL, ARG_WALL }, - { "plymouth", no_argument, NULL, ARG_PLYMOUTH }, -- { "console", no_argument, NULL, ARG_CONSOLE }, -+ { "console", optional_argument, NULL, ARG_CONSOLE }, - {} - }; - -@@ -643,6 +736,10 @@ static int parse_argv(int argc, char *ar - - case ARG_CONSOLE: - arg_console = true; -+ if (optarg && *optarg) { -+ current_dev = optarg; -+ arg_device = true; -+ } - break; - - case '?': -@@ -657,9 +754,143 @@ static int parse_argv(int argc, char *ar - return -EINVAL; - } - -+ if (arg_plymouth || arg_console) { -+ -+ if (!IN_SET(arg_action, ACTION_QUERY, ACTION_WATCH)) { -+ log_error("%s conflicting options --query and --watch.", program_invocation_short_name); -+ return -EINVAL; -+ } -+ -+ if (arg_plymouth && arg_console) { -+ log_error("%s conflicting options --plymouth and --console.", program_invocation_short_name); -+ return -EINVAL; -+ } -+ } -+ - return 1; - } - -+/* -+ * To be able to ask on all terminal devices of /dev/console -+ * the devices are collected. If more than one device are found, -+ * then on each of the terminals a inquiring task is forked. -+ * Every task has its own session and its own controlling terminal. -+ * If one of the tasks does handle a password, the remaining tasks -+ * will be terminated. -+ */ -+static int ask_on_consoles(int argc, char *argv[]) { -+ struct console *consoles = NULL; -+ struct sigaction sig = { -+ .sa_handler = chld_handler, -+ .sa_flags = SA_NOCLDSTOP | SA_RESTART, -+ }; -+ struct sigaction oldsig; -+ sigset_t oldset; -+ unsigned int num = 0, id; -+ siginfo_t status = {}; -+ int ret; -+ -+ ret = collect_consoles(&consoles, &num); -+ if (ret < 0) -+ return log_error_errno(ret, "Failed to query password: %m"); -+ -+ assert_se(sigprocmask_many(SIG_UNBLOCK, &oldset, SIGHUP, SIGCHLD, -1) >= 0); -+ -+ assert_se(sigemptyset(&sig.sa_mask) >= 0); -+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) >= 0); -+ -+ sig.sa_handler = SIG_DFL; -+ assert_se(sigaction(SIGHUP, &sig, NULL) >= 0); -+ -+ for (id = 0; id < num; id++) { -+ consoles[id].pid = fork(); -+ -+ if (consoles[id].pid < 0) -+ return log_error_errno(errno, "Failed to query password: %m"); -+ -+ if (consoles[id].pid == 0) { -+ char *conarg; -+ int ac; -+ -+ conarg = strjoina("--console=", consoles[id].tty); -+ if (!conarg) -+ return log_oom(); -+ -+ free_consoles(consoles, num); /* not used anymore */ -+ -+ assert_se(prctl(PR_SET_PDEATHSIG, SIGHUP) >= 0); -+ -+ zero(sig); -+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) >= 0); -+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) >= 0); -+ -+ for (ac = 0; ac < argc; ac++) { -+ if (streq(argv[ac], "--console")) { -+ argv[ac] = conarg; -+ break; -+ } -+ } -+ -+ execv(SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH, argv); -+ -+ return log_error_errno(errno, "Failed to execute %s: %m", program_invocation_name); -+ } -+ } -+ -+ ret = 0; -+ while (true) { -+ -+ if ((ret = waitid(P_ALL, 0, &status, WEXITED)) < 0) { -+ -+ if (errno != EINTR) { -+ ret = -errno; -+ if (errno == ECHILD) -+ ret = EXIT_SUCCESS; -+ break; -+ } -+ continue; -+ } -+ -+ for (id = 0; id < num; id++) { -+ struct timespec timeout; -+ sigset_t set; -+ int signum; -+ -+ if (consoles[id].pid == status.si_pid || kill(consoles[id].pid, 0) < 0) -+ consoles[id].pid = -1; -+ -+ if (consoles[id].pid < 0) -+ continue; -+ -+ kill(consoles[id].pid, SIGHUP); -+ -+ assert_se(sigemptyset(&set) >= 0); -+ assert_se(sigaddset(&set, SIGCHLD) >= 0); -+ -+ timespec_store(&timeout, 50 * USEC_PER_MSEC); -+ signum = sigtimedwait(&set, NULL, &timeout); -+ -+ if (signum != SIGCHLD) { -+ -+ if (signum < 0 && errno != EAGAIN) -+ return log_error_errno(errno, "sigtimedwait() failed: %m"); -+ -+ if (signum >= 0) -+ log_warning("sigtimedwait() returned unexpected signal."); -+ } -+ -+ kill(consoles[id].pid, SIGKILL); -+ } -+ -+ if (WIFEXITED(status.si_status) && ret == 0) -+ ret = WEXITSTATUS(status.si_status); -+ } -+ -+ free_consoles(consoles, num); -+ -+ return ret; -+} -+ - int main(int argc, char *argv[]) { - int r; - -@@ -673,16 +904,29 @@ int main(int argc, char *argv[]) { - if (r <= 0) - goto finish; - -- if (arg_console) { -- (void) setsid(); -- (void) release_terminal(); -+ if (arg_console && !arg_device) -+ /* -+ * Spawn for each console device a own process -+ */ -+ r = ask_on_consoles(argc, argv); -+ else { -+ -+ if (arg_device) { -+ /* -+ * Later on a controlling terminal will be will be acquired, -+ * therefore the current process has to become a session -+ * leader and should not have a controlling terminal already. -+ */ -+ (void) setsid(); -+ (void) release_terminal(); -+ } -+ -+ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) -+ r = watch_passwords(); -+ else -+ r = show_passwords(); - } - -- if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) -- r = watch_passwords(); -- else -- r = show_passwords(); -- - finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - } diff --git a/systemd-remount-tmpfs b/udev-remount-tmpfs similarity index 100% rename from systemd-remount-tmpfs rename to udev-remount-tmpfs diff --git a/use-rndaddentropy-ioctl-to-load-random-seed.patch b/use-rndaddentropy-ioctl-to-load-random-seed.patch deleted file mode 100644 index 2e655400..00000000 --- a/use-rndaddentropy-ioctl-to-load-random-seed.patch +++ /dev/null @@ -1,155 +0,0 @@ -Simply writing /var/lib/systemd/random-seed back to /dev/(u)random does not -increase the entropy bit count. Therefore use the RNDADDENTROPY ioctl to -write back the bytes and increase the entropy bit counter. - -Related to bnc#892096 - ---- - src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ - 1 file changed, 61 insertions(+), 10 deletions(-) - -Index: systemd-228/src/random-seed/random-seed.c -=================================================================== ---- systemd-228.orig/src/random-seed/random-seed.c -+++ systemd-228/src/random-seed/random-seed.c -@@ -24,6 +24,8 @@ - #include - #include - #include -+#include -+#include - - #include "alloc-util.h" - #include "fd-util.h" -@@ -36,8 +38,8 @@ - #define POOL_SIZE_MIN 512 - - int main(int argc, char *argv[]) { -- _cleanup_close_ int seed_fd = -1, random_fd = -1; -- _cleanup_free_ void* buf = NULL; -+ _cleanup_close_ int seed_fd = -1, random_fd = -1, entropy_fd = -1; -+ _cleanup_free_ struct rand_pool_info *entropy = NULL; - size_t buf_size = 0; - ssize_t k; - int r; -@@ -68,11 +70,12 @@ int main(int argc, char *argv[]) { - if (buf_size <= POOL_SIZE_MIN) - buf_size = POOL_SIZE_MIN; - -- buf = malloc(buf_size); -- if (!buf) { -+ entropy = (struct rand_pool_info*) malloc(sizeof(struct rand_pool_info) + buf_size); -+ if (!entropy) { - r = log_oom(); - goto finish; - } -+ entropy->buf_size = (typeof(entropy->buf_size)) buf_size; - - r = mkdir_parents_label(RANDOM_SEED, 0755); - if (r < 0) { -@@ -86,6 +89,23 @@ int main(int argc, char *argv[]) { - - if (streq(argv[1], "load")) { - -+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); -+ if (entropy_fd < 0) { -+ entropy->entropy_count = 0; -+ if (errno != ENOENT) { -+ log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } else { -+ r = read(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); -+ if (r < 0) { -+ log_error("Failed to read entropy count file: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } -+ - seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); - if (seed_fd < 0) { - seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -106,7 +126,7 @@ int main(int argc, char *argv[]) { - } - } - -- k = loop_read(seed_fd, buf, buf_size, false); -+ k = loop_read(seed_fd, entropy->buf, (size_t) entropy->buf_size, false); - if (k < 0) - r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); - else if (k == 0) -@@ -114,13 +134,29 @@ int main(int argc, char *argv[]) { - else { - (void) lseek(seed_fd, 0, SEEK_SET); - -- r = loop_write(random_fd, buf, (size_t) k, false); -- if (r < 0) -- log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ if (entropy->entropy_count && (size_t)k == (size_t)entropy->buf_size) { -+ r = ioctl(random_fd, RNDADDENTROPY, entropy); -+ if (r < 0) { -+ log_error_errno(errno, "Failed to write seed to /dev/urandom: %m"); -+ r = -errno; -+ } -+ } else { -+ r = loop_write(random_fd, entropy->buf, (size_t) k, false); -+ if (r < 0) -+ log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ } - } - - } else if (streq(argv[1], "save")) { - -+ /* Read available entropy count, if possible */ -+ f = fopen("/proc/sys/kernel/random/entropy_avail", "re"); -+ if (f) { -+ if (fscanf(f, "%d", &entropy->entropy_count) < 0) -+ entropy->entropy_count = 0; -+ fclose(f); -+ } -+ - seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); - if (seed_fd < 0) { - r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -133,6 +169,21 @@ int main(int argc, char *argv[]) { - goto finish; - } - -+ if (entropy->entropy_count) { -+ entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); -+ if (seed_fd < 0) { -+ log_error("Failed to open " RANDOM_SEED_DIR "entropy_count: %m"); -+ r = -errno; -+ goto finish; -+ } -+ r = write(entropy_fd, &entropy->entropy_count, sizeof(entropy->entropy_count)); -+ if (r < 0) { -+ log_error("Failed to write entropy count file: %m"); -+ r = -errno; -+ goto finish; -+ } -+ } -+ - } else { - log_error("Unknown verb '%s'.", argv[1]); - r = -EINVAL; -@@ -147,7 +198,7 @@ int main(int argc, char *argv[]) { - (void) fchmod(seed_fd, 0600); - (void) fchown(seed_fd, 0, 0); - -- k = loop_read(random_fd, buf, buf_size, false); -+ k = loop_read(random_fd, entropy->buf, (size_t) entropy->buf_size, false); - if (k < 0) { - r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); - goto finish; -@@ -158,7 +209,7 @@ int main(int argc, char *argv[]) { - goto finish; - } - -- r = loop_write(seed_fd, buf, (size_t) k, false); -+ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write new random seed file: %m"); - } diff --git a/v228.tar.gz b/v228.tar.gz deleted file mode 100644 index 84f9e59d..00000000 --- a/v228.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 -size 4034401 diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch deleted file mode 100644 index c0f4d74f..00000000 --- a/vhangup-on-all-consoles.patch +++ /dev/null @@ -1,40 +0,0 @@ -Related to bnc#886599 and others. That is use the vhangup(8) tool -to explicit do a virtually hangup on the specified on the terminal -line to give e.g. the bash a few seconds to e.g. safe its history. - -[crrodriguez@opensuse.org: Feb 2015 -This a known kernel bug, no notification from the cgroup subsystem -arrives and the processes in the "scope" units have -to be SIGKILL'ed without delay in order not to hang shutdown -Status: fix not available as of Feb 16 2015 -track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 -] - ---- - units/getty@.service.m4 | 1 + - units/serial-getty@.service.m4 | 1 + - 2 files changed, 2 insertions(+) -Index: systemd-221/units/getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/getty@.service.m4 -+++ systemd-221/units/getty@.service.m4 -@@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 - [Service] - # the VT is cleared by TTYVTDisallocate - ExecStart=-/sbin/agetty --noclear %I $TERM -+ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always - RestartSec=0 -Index: systemd-221/units/serial-getty@.service.m4 -=================================================================== ---- systemd-221.orig/units/serial-getty@.service.m4 -+++ systemd-221/units/serial-getty@.service.m4 -@@ -24,6 +24,7 @@ IgnoreOnIsolate=yes - - [Service] - ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM -+ExecStopPost=-/sbin/vhangup /dev/%I - Type=idle - Restart=always - UtmpIdentifier=%I diff --git a/watch_resolv.conf_for_become_changed.patch b/watch_resolv.conf_for_become_changed.patch deleted file mode 100644 index e6df8c6e..00000000 --- a/watch_resolv.conf_for_become_changed.patch +++ /dev/null @@ -1,153 +0,0 @@ ---- - src/core/manager.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/core/manager.h | 5 ++ - 2 files changed, 98 insertions(+) - -Index: systemd-227/src/core/manager.c -=================================================================== ---- systemd-227.orig/src/core/manager.c -+++ systemd-227/src/core/manager.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_AUDIT - #include -@@ -294,6 +295,91 @@ static int manager_check_ask_password(Ma - return m->have_ask_password; - } - -+static int manager_setup_resolv_conf_change(Manager *); -+ -+static int manager_dispatch_resolv_conf_fd(sd_event_source *source, -+ int fd, uint32_t revents, void *userdata) { -+ Manager *m = userdata; -+ -+ assert(m); -+ assert(m->resolv_conf_inotify_fd == fd); -+ -+ if (revents != EPOLLIN) { -+ log_warning("Got unexpected poll event for notify fd."); -+ return 0; -+ } -+ -+ if (fd >= 0) -+ flush_fd(fd); -+ -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+ manager_setup_resolv_conf_change(m); -+ return m->resolv_conf_noent ? 0 : res_init(); -+} -+ -+static int manager_setup_resolv_conf_change(Manager *m) { -+ int r; -+ -+ assert(m); -+ assert(m->resolv_conf_inotify_fd < 0); -+ -+ m->resolv_conf_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); -+ if (m->resolv_conf_inotify_fd < 0) { -+ log_error("inotify_init1() failed: %m"); -+ r = -errno; -+ goto fail; -+ } -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/resolv.conf", -+ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0) { -+ if (errno == ENOENT) { -+ m->resolv_conf_noent = true; -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc", IN_CREATE|IN_MOVED_TO) < 0) { -+ log_error("Failed to add watch on /etc: %m"); -+ r = -errno; -+ goto fail; -+ } -+ } else { -+ log_error("Failed to add watch on /etc/resolv.conf: %m"); -+ r = -errno; -+ goto fail; -+ } -+ } -+ if (inotify_add_watch(m->resolv_conf_inotify_fd, "/etc/host.conf", -+ IN_CLOSE_WRITE|IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF) < 0 && errno != ENOENT) { -+ log_error("Failed to add watch on /etc/host.conf: %m"); -+ r = -errno; -+ goto fail; -+ } -+ -+ r = sd_event_add_io(m->event, &m->resolv_conf_event_source, -+ m->resolv_conf_inotify_fd, EPOLLIN, -+ manager_dispatch_resolv_conf_fd, m); -+ if (r < 0) { -+ log_error("Failed to add event source for resolver: %s", strerror(-r)); -+ goto fail; -+ } -+ -+ r = sd_event_source_set_priority(m->resolv_conf_event_source, -10); -+ if (r < 0) { -+ log_error("Failed to add event source for resolver: %s", strerror(-r)); -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ goto fail; -+ } -+ -+ return 0; -+fail: -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+ return 0; /* Ignore error here */ -+} -+ -+static void manager_shutdown_resolv_conf_change(Manager *m) { -+ assert(m); -+ -+ m->resolv_conf_event_source = sd_event_source_unref(m->resolv_conf_event_source); -+ m->resolv_conf_inotify_fd = safe_close(m->resolv_conf_inotify_fd); -+} -+ - static int manager_watch_idle_pipe(Manager *m) { - int r; - -@@ -576,6 +662,7 @@ int manager_new(ManagerRunningAs running - - m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ - -+ m->resolv_conf_inotify_fd = -1; - m->ask_password_inotify_fd = -1; - m->have_ask_password = -EINVAL; /* we don't know */ - m->first_boot = -1; -@@ -637,6 +724,10 @@ int manager_new(ManagerRunningAs running - if (r < 0) - goto fail; - -+ r = manager_setup_resolv_conf_change(m); -+ if (r < 0) -+ goto fail; -+ - m->udev = udev_new(); - if (!m->udev) { - r = -ENOMEM; -@@ -914,6 +1005,8 @@ Manager* manager_free(Manager *m) { - if (!m) - return NULL; - -+ manager_shutdown_resolv_conf_change(m); -+ - manager_clear_jobs_and_units(m); - - for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-227/src/core/manager.h -=================================================================== ---- systemd-227.orig/src/core/manager.h -+++ systemd-227/src/core/manager.h -@@ -180,6 +180,11 @@ struct Manager { - struct libmnt_monitor *mount_monitor; - sd_event_source *mount_event_source; - -+ /* Watch out any change of /etc/resolv.conf */ -+ int resolv_conf_inotify_fd; -+ sd_event_source *resolv_conf_event_source; -+ bool resolv_conf_noent; -+ - /* Data specific to the swap filesystem */ - FILE *proc_swaps; - sd_event_source *swap_event_source; From 272d95ccf5b0f333d72e5808454f8d41c99cba9201042545f5abc9be96ea71fd Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 24 Nov 2016 16:38:01 +0000 Subject: [PATCH 275/991] Accepting request 440939 from home:msmeissn:branches:Base:System - libudev-devel 32bit is needed for building 32bit wine now. - libudev-devel 32bit is needed for building 32bit wine now. OBS-URL: https://build.opensuse.org/request/show/440939 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=962 --- baselibs.conf | 1 + systemd-mini.changes | 5 +++++ systemd.changes | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/baselibs.conf b/baselibs.conf index 5df8c49f..9c73aa00 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -4,5 +4,6 @@ systemd post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 +libudev-devel nss-myhostname nss-mymachines diff --git a/systemd-mini.changes b/systemd-mini.changes index d42f3fca..ddcda174 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com + +- libudev-devel 32bit is needed for building 32bit wine now. + ------------------------------------------------------------------- Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index d42f3fca..ddcda174 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com + +- libudev-devel 32bit is needed for building 32bit wine now. + ------------------------------------------------------------------- Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com From d2c9026aa6ce7779f42fe2d9920a356d8dc31deee5817f49e8a78b1f1bcee29c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 29 Nov 2016 11:48:20 +0000 Subject: [PATCH 276/991] Accepting request 441893 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/441893 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=243 --- baselibs.conf | 1 + systemd-mini.changes | 5 +++++ systemd.changes | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/baselibs.conf b/baselibs.conf index 5df8c49f..9c73aa00 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -4,5 +4,6 @@ systemd post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 +libudev-devel nss-myhostname nss-mymachines diff --git a/systemd-mini.changes b/systemd-mini.changes index d42f3fca..ddcda174 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com + +- libudev-devel 32bit is needed for building 32bit wine now. + ------------------------------------------------------------------- Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index d42f3fca..ddcda174 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com + +- libudev-devel 32bit is needed for building 32bit wine now. + ------------------------------------------------------------------- Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com From 72ba9b1b884f74359f270fc6e7f827cdf3e423dd9ef43ffd2b513de0d024ce3a Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Thu, 8 Dec 2016 13:23:11 +0000 Subject: [PATCH 277/991] Accepting request 444813 from home:fbui:systemd:Factory - Good bye compatlibs support There's no longer need for enabling/disabling the support for the compatlibs as it's been dropped from the source code. - Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package This shared library is not for public use, and is neither API nor ABI stable, but is likely to change with every new released update. Only systemd binaries are supposed to link against it. This also prevents from the 32bit package to conflit with the 64bit one if this lib was installed by both packages. - Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: - Dropped backported commits which has been merged - Forward-port Suse specific patches - Added --disable-lto option to ./configure - Added systemd-mount - Removed in %file /usr/lib/systemd/user/*.socket: since 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been removed. - Removed in %file %{_sysconfdir}/systemd/bootchart.conf since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd anymore. - Backward compat libs have been disabled since it's been dropped from the source code. - Added /usr/bin/systemd-socket-activate in %file - Added --without-kill-user-processes ./configure option - Bump libseccomp build require (>= 2.3.1) as described in README - Specifiy version of libmount as required in the README OBS-URL: https://build.opensuse.org/request/show/444813 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=963 --- baselibs.conf | 4 +++ systemd-228.tar.xz | 3 -- systemd-232.tar.xz | 3 ++ systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 42 ++++++++++++++++++++++++++++ systemd-mini.spec | 63 +++++++++++++++++++++++++----------------- systemd-rpmlintrc | 1 + systemd.changes | 42 ++++++++++++++++++++++++++++ systemd.spec | 63 +++++++++++++++++++++++++----------------- 9 files changed, 169 insertions(+), 53 deletions(-) delete mode 100644 systemd-228.tar.xz create mode 100644 systemd-232.tar.xz diff --git a/baselibs.conf b/baselibs.conf index 9c73aa00..073ad0e1 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,6 +1,10 @@ +# +# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart +# systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ + -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/systemd-228.tar.xz b/systemd-228.tar.xz deleted file mode 100644 index c8f3fdcf..00000000 --- a/systemd-228.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:141d1609469579adeaf62d76e3527149c5a0140a54c8538f706b4eb97a447f8a -size 2866192 diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz new file mode 100644 index 00000000..3fc3c440 --- /dev/null +++ b/systemd-232.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b2f98e7ce22841f533949ebb89d23683598f4adbf909739ad0a7d2517f5affc +size 3211692 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a9e12af8..5b7980e5 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -16,6 +16,7 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd-mini.changes b/systemd-mini.changes index ddcda174..0c221776 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com + +- Good by compatlibs support + + There's no longer need for enabling/disabling the support for the + compatlibs as it's been dropped from the source code. + +------------------------------------------------------------------- +Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com + +- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package + + This shared library is not for public use, and is neither API nor + ABI stable, but is likely to change with every new released + update. Only systemd binaries are supposed to link against it. + + This also prevents from the 32bit package to conflit with the 64bit + one if this lib was installed by both packages. + +------------------------------------------------------------------- +Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: + + - Dropped backported commits which has been merged + - Forward-port Suse specific patches + - Added --disable-lto option to ./configure + - Added systemd-mount + - Removed in %file /usr/lib/systemd/user/*.socket: since + 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been + removed. + - Removed in %file %{_sysconfdir}/systemd/bootchart.conf + since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd + anymore. + - Backward compat libs have been disabled since it's been dropped from + the source code. + - Added /usr/bin/systemd-socket-activate in %file + - Added --without-kill-user-processes ./configure option + - Bump libseccomp build require (>= 2.3.1) as described in README + - Specifiy version of libmount as required in the README + ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 800b5864..f25087e5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -44,13 +44,12 @@ %bcond_without gnuefi %endif %endif -%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 232 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -74,7 +73,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel +BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -101,7 +100,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -302,6 +301,19 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-systemd +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-systemd +This package contains a plugin for the Name Service Switch (NSS), +which enables resolution of all dynamically allocated service +users. (See the DynamicUser= setting in unit files.) + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. + %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1+ @@ -418,14 +430,13 @@ systemd_cryptsetup_LDFLAGS =\\\ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ -%endif -%if %{with compatlibs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-lto \ --disable-tests \ + --without-kill-user-processes \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -456,6 +467,8 @@ make %{?_smp_mflags} V=e # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +%else +rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -503,6 +516,10 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF +# Remove .so file for the shared library, it's not supposed to be +# used. +rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -787,6 +804,9 @@ fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig + +%post -n nss-systemd -p /sbin/ldconfig +%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -849,6 +869,7 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers +%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -861,6 +882,7 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -897,9 +919,10 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -954,11 +977,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1092,16 +1115,6 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1181,12 +1194,6 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1214,6 +1221,12 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* + +%files -n nss-systemd +%defattr(-, root, root) +%{_libdir}/libnss_systemd.so* +%{_mandir}/man8/libnss_systemd.so.* +%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a9e12af8..5b7980e5 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -16,6 +16,7 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd.changes b/systemd.changes index ddcda174..0c221776 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com + +- Good by compatlibs support + + There's no longer need for enabling/disabling the support for the + compatlibs as it's been dropped from the source code. + +------------------------------------------------------------------- +Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com + +- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package + + This shared library is not for public use, and is neither API nor + ABI stable, but is likely to change with every new released + update. Only systemd binaries are supposed to link against it. + + This also prevents from the 32bit package to conflit with the 64bit + one if this lib was installed by both packages. + +------------------------------------------------------------------- +Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: + + - Dropped backported commits which has been merged + - Forward-port Suse specific patches + - Added --disable-lto option to ./configure + - Added systemd-mount + - Removed in %file /usr/lib/systemd/user/*.socket: since + 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been + removed. + - Removed in %file %{_sysconfdir}/systemd/bootchart.conf + since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd + anymore. + - Backward compat libs have been disabled since it's been dropped from + the source code. + - Added /usr/bin/systemd-socket-activate in %file + - Added --without-kill-user-processes ./configure option + - Bump libseccomp build require (>= 2.3.1) as described in README + - Specifiy version of libmount as required in the README + ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 2ad1f88d..76084668 100644 --- a/systemd.spec +++ b/systemd.spec @@ -42,13 +42,12 @@ %bcond_without gnuefi %endif %endif -%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 232 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -72,7 +71,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel +BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -99,7 +98,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -300,6 +299,19 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. +%package -n nss-systemd +Summary: Plugin for local virtual host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-systemd +This package contains a plugin for the Name Service Switch (NSS), +which enables resolution of all dynamically allocated service +users. (See the DynamicUser= setting in unit files.) + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. + %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1+ @@ -416,14 +428,13 @@ systemd_cryptsetup_LDFLAGS =\\\ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ -%endif -%if %{with compatlibs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-lto \ --disable-tests \ + --without-kill-user-processes \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -454,6 +465,8 @@ make %{?_smp_mflags} V=e # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +%else +rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -501,6 +514,10 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF +# Remove .so file for the shared library, it's not supposed to be +# used. +rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -785,6 +802,9 @@ fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig + +%post -n nss-systemd -p /sbin/ldconfig +%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -847,6 +867,7 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers +%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -859,6 +880,7 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -895,9 +917,10 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -952,11 +975,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1090,16 +1113,6 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1179,12 +1192,6 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1212,6 +1219,12 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* + +%files -n nss-systemd +%defattr(-, root, root) +%{_libdir}/libnss_systemd.so* +%{_mandir}/man8/libnss_systemd.so.* +%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} From ce6f33969ffa3aec220935895be6859c2f95f84efba4e111deffe9a2135a5239 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 14 Dec 2016 16:08:32 +0000 Subject: [PATCH 278/991] Accepting request 445798 from home:fbui:systemd:Factory - Really include legacy kbd maps in kbd-model-map (bsc#1015515) Instead of fix-machines-subvol-for-rollbacks.sh... - Enable lz4 (which becomes the default) It's much faster than xz and thus should be more appropriate to compress journals and coredumps. The LZ4 logic is now officially supported and no longer considered experimental. The new frame api was released in v125. OBS-URL: https://build.opensuse.org/request/show/445798 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=964 --- systemd-mini.changes | 20 ++++++++++++++++++++ systemd-mini.spec | 6 +++--- systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 6 +++--- 4 files changed, 46 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0c221776..29e1dbd1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com + +- Really include legacy kbd maps in kbd-model-map (bsc#1015515) + + Instead of fix-machines-subvol-for-rollbacks.sh... + +------------------------------------------------------------------- +Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com + +- Enable lz4 (which becomes the default) + + It's much faster than xz and thus should be more appropriate to + compress journals and coredumps. + + The LZ4 logic is now officially supported and no longer considered + experimental. + + The new frame api was released in v125. + ------------------------------------------------------------------- Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f25087e5..17d28609 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -82,9 +82,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros -BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -463,6 +463,7 @@ make %{?_smp_mflags} V=e %install %make_install +find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} @@ -480,7 +481,6 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -635,7 +635,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd diff --git a/systemd.changes b/systemd.changes index 0c221776..29e1dbd1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com + +- Really include legacy kbd maps in kbd-model-map (bsc#1015515) + + Instead of fix-machines-subvol-for-rollbacks.sh... + +------------------------------------------------------------------- +Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com + +- Enable lz4 (which becomes the default) + + It's much faster than xz and thus should be more appropriate to + compress journals and coredumps. + + The LZ4 logic is now officially supported and no longer considered + experimental. + + The new frame api was released in v125. + ------------------------------------------------------------------- Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 76084668..cf2e2a0e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -80,9 +80,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros -BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -461,6 +461,7 @@ make %{?_smp_mflags} V=e %install %make_install +find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} @@ -478,7 +479,6 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -633,7 +633,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd From 5e5cc2c23995525dcd3b09e4b0cb07368af3a107968b01db5f4cbb0d5d3e1bd8 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 20 Dec 2016 08:22:16 +0000 Subject: [PATCH 279/991] Accepting request 447029 from home:fbui:systemd:Factory - Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 - a4dff165d nspawn: resolv.conf might not be created initially (#4799) - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) OBS-URL: https://build.opensuse.org/request/show/447029 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=965 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 10 ++++++++++ systemd.changes | 10 ++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 3fc3c440..e4e3a8a2 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b2f98e7ce22841f533949ebb89d23683598f4adbf909739ad0a7d2517f5affc -size 3211692 +oid sha256:b5bb6b2c38604d082aa1afc46bbb24476142826474e7bf1be8bb85a50117893e +size 3211232 diff --git a/systemd-mini.changes b/systemd-mini.changes index 29e1dbd1..3ac654cc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 + + - a4dff165d nspawn: resolv.conf might not be created initially (#4799) + - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) + - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) + - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) + ------------------------------------------------------------------- Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 29e1dbd1..3ac654cc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 + + - a4dff165d nspawn: resolv.conf might not be created initially (#4799) + - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) + - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) + - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) + ------------------------------------------------------------------- Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com From fc9cb37b753abbcb33eda4420e1df72efa579a06b1d8b0eb27f2f6495f572473 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 11 Jan 2017 15:31:45 +0000 Subject: [PATCH 280/991] Accepting request 449530 from home:fbui:systemd:Factory - Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) - Use the %{resolved} build conditional for the nss-resolve subpackage - /usr/bin/systemd-resolve was missing from the filelist - Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) OBS-URL: https://build.opensuse.org/request/show/449530 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=966 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd-mini.spec | 45 +++++++++++++++++++++++++++----------------- systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 45 +++++++++++++++++++++++++++----------------- 5 files changed, 102 insertions(+), 36 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index e4e3a8a2..904a437e 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5bb6b2c38604d082aa1afc46bbb24476142826474e7bf1be8bb85a50117893e -size 3211232 +oid sha256:a0f63b20f91eeed656a9d2bf9ad453cd7cfbb786663714b9b17886624f5ea69c +size 3211060 diff --git a/systemd-mini.changes b/systemd-mini.changes index 3ac654cc..ac7b0364 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com + +- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd + + 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) + +------------------------------------------------------------------- +Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com + +- Use the %{resolved} build conditional for the nss-resolve subpackage + +------------------------------------------------------------------- +Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com + +- /usr/bin/systemd-resolve was missing from the filelist + +------------------------------------------------------------------- +Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com + +- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) + ------------------------------------------------------------------- Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 17d28609..0ea7287b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -314,21 +314,6 @@ users. (See the DynamicUser= setting in unit files.) To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-systemd(8) manpage for more details. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries -Requires: %{name} = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. - %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1+ @@ -345,6 +330,23 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif +%if %{with resolved} +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +%endif + %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -783,7 +785,13 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service +# On package update: the restart of the socket units will probably +# fail as the daemon is most likely running. It's not really an issue +# since we restart systemd-udevd right after and that will pull in the +# socket units again. We should be informed at that time if something +# really went wrong the first time we started the socket units. +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +%systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -882,6 +890,9 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%if %{with resolved} +%{_bindir}/systemd-resolve +%endif %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt diff --git a/systemd.changes b/systemd.changes index 3ac654cc..ac7b0364 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com + +- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd + + 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) + +------------------------------------------------------------------- +Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com + +- Use the %{resolved} build conditional for the nss-resolve subpackage + +------------------------------------------------------------------- +Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com + +- /usr/bin/systemd-resolve was missing from the filelist + +------------------------------------------------------------------- +Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com + +- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) + ------------------------------------------------------------------- Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index cf2e2a0e..5b84fd7a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -312,21 +312,6 @@ users. (See the DynamicUser= setting in unit files.) To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-systemd(8) manpage for more details. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries -Requires: %{name} = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. - %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1+ @@ -343,6 +328,23 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif +%if %{with resolved} +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +%endif + %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -781,7 +783,13 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service +# On package update: the restart of the socket units will probably +# fail as the daemon is most likely running. It's not really an issue +# since we restart systemd-udevd right after and that will pull in the +# socket units again. We should be informed at that time if something +# really went wrong the first time we started the socket units. +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +%systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -880,6 +888,9 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%if %{with resolved} +%{_bindir}/systemd-resolve +%endif %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt From 71b8beeff0999057131ef946aaa0ef19c4d09451f5fce1cce5b00959398fc6ea Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 15 Jan 2017 09:56:47 +0000 Subject: [PATCH 281/991] Accepting request 449703 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/449703 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=244 --- baselibs.conf | 4 ++ systemd-228.tar.xz | 3 -- systemd-232.tar.xz | 3 ++ systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 94 +++++++++++++++++++++++++++++++++++++ systemd-mini.spec | 102 +++++++++++++++++++++++++---------------- systemd-rpmlintrc | 1 + systemd.changes | 94 +++++++++++++++++++++++++++++++++++++ systemd.spec | 102 +++++++++++++++++++++++++---------------- 9 files changed, 323 insertions(+), 81 deletions(-) delete mode 100644 systemd-228.tar.xz create mode 100644 systemd-232.tar.xz diff --git a/baselibs.conf b/baselibs.conf index 9c73aa00..073ad0e1 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,6 +1,10 @@ +# +# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart +# systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ + -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/systemd-228.tar.xz b/systemd-228.tar.xz deleted file mode 100644 index c8f3fdcf..00000000 --- a/systemd-228.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:141d1609469579adeaf62d76e3527149c5a0140a54c8538f706b4eb97a447f8a -size 2866192 diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz new file mode 100644 index 00000000..904a437e --- /dev/null +++ b/systemd-232.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0f63b20f91eeed656a9d2bf9ad453cd7cfbb786663714b9b17886624f5ea69c +size 3211060 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a9e12af8..5b7980e5 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -16,6 +16,7 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd-mini.changes b/systemd-mini.changes index ddcda174..ac7b0364 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com + +- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd + + 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) + +------------------------------------------------------------------- +Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com + +- Use the %{resolved} build conditional for the nss-resolve subpackage + +------------------------------------------------------------------- +Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com + +- /usr/bin/systemd-resolve was missing from the filelist + +------------------------------------------------------------------- +Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com + +- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) + +------------------------------------------------------------------- +Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 + + - a4dff165d nspawn: resolv.conf might not be created initially (#4799) + - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) + - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) + - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) + +------------------------------------------------------------------- +Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com + +- Really include legacy kbd maps in kbd-model-map (bsc#1015515) + + Instead of fix-machines-subvol-for-rollbacks.sh... + +------------------------------------------------------------------- +Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com + +- Enable lz4 (which becomes the default) + + It's much faster than xz and thus should be more appropriate to + compress journals and coredumps. + + The LZ4 logic is now officially supported and no longer considered + experimental. + + The new frame api was released in v125. + +------------------------------------------------------------------- +Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com + +- Good by compatlibs support + + There's no longer need for enabling/disabling the support for the + compatlibs as it's been dropped from the source code. + +------------------------------------------------------------------- +Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com + +- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package + + This shared library is not for public use, and is neither API nor + ABI stable, but is likely to change with every new released + update. Only systemd binaries are supposed to link against it. + + This also prevents from the 32bit package to conflit with the 64bit + one if this lib was installed by both packages. + +------------------------------------------------------------------- +Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: + + - Dropped backported commits which has been merged + - Forward-port Suse specific patches + - Added --disable-lto option to ./configure + - Added systemd-mount + - Removed in %file /usr/lib/systemd/user/*.socket: since + 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been + removed. + - Removed in %file %{_sysconfdir}/systemd/bootchart.conf + since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd + anymore. + - Backward compat libs have been disabled since it's been dropped from + the source code. + - Added /usr/bin/systemd-socket-activate in %file + - Added --without-kill-user-processes ./configure option + - Bump libseccomp build require (>= 2.3.1) as described in README + - Specifiy version of libmount as required in the README + ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 800b5864..0ea7287b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -44,13 +44,12 @@ %bcond_without gnuefi %endif %endif -%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 232 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -74,7 +73,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel +BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -83,9 +82,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros -BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -101,7 +100,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -302,20 +301,18 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved +%package -n nss-systemd +Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ Group: System/Libraries -Requires: %{name} = %{version}-%{release} -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. +%description -n nss-systemd +This package contains a plugin for the Name Service Switch (NSS), +which enables resolution of all dynamically allocated service +users. (See the DynamicUser= setting in unit files.) To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -333,6 +330,23 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif +%if %{with resolved} +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +%endif + %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -418,14 +432,13 @@ systemd_cryptsetup_LDFLAGS =\\\ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ -%endif -%if %{with compatlibs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-lto \ --disable-tests \ + --without-kill-user-processes \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -452,10 +465,13 @@ make %{?_smp_mflags} V=e %install %make_install +find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +%else +rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -467,7 +483,6 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -503,6 +518,10 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF +# Remove .so file for the shared library, it's not supposed to be +# used. +rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -618,7 +637,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd @@ -766,7 +785,13 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service +# On package update: the restart of the socket units will probably +# fail as the daemon is most likely running. It's not really an issue +# since we restart systemd-udevd right after and that will pull in the +# socket units again. We should be informed at that time if something +# really went wrong the first time we started the socket units. +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +%systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -787,6 +812,9 @@ fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig + +%post -n nss-systemd -p /sbin/ldconfig +%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -849,6 +877,7 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers +%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -861,6 +890,10 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%if %{with resolved} +%{_bindir}/systemd-resolve +%endif +%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -897,9 +930,10 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -954,11 +988,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1092,16 +1126,6 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1181,12 +1205,6 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1214,6 +1232,12 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* + +%files -n nss-systemd +%defattr(-, root, root) +%{_libdir}/libnss_systemd.so* +%{_mandir}/man8/libnss_systemd.so.* +%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a9e12af8..5b7980e5 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -16,6 +16,7 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd.changes b/systemd.changes index ddcda174..ac7b0364 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com + +- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd + + 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) + +------------------------------------------------------------------- +Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com + +- Use the %{resolved} build conditional for the nss-resolve subpackage + +------------------------------------------------------------------- +Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com + +- /usr/bin/systemd-resolve was missing from the filelist + +------------------------------------------------------------------- +Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com + +- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) + +------------------------------------------------------------------- +Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 + + - a4dff165d nspawn: resolv.conf might not be created initially (#4799) + - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) + - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) + - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) + +------------------------------------------------------------------- +Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com + +- Really include legacy kbd maps in kbd-model-map (bsc#1015515) + + Instead of fix-machines-subvol-for-rollbacks.sh... + +------------------------------------------------------------------- +Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com + +- Enable lz4 (which becomes the default) + + It's much faster than xz and thus should be more appropriate to + compress journals and coredumps. + + The LZ4 logic is now officially supported and no longer considered + experimental. + + The new frame api was released in v125. + +------------------------------------------------------------------- +Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com + +- Good by compatlibs support + + There's no longer need for enabling/disabling the support for the + compatlibs as it's been dropped from the source code. + +------------------------------------------------------------------- +Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com + +- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package + + This shared library is not for public use, and is neither API nor + ABI stable, but is likely to change with every new released + update. Only systemd binaries are supposed to link against it. + + This also prevents from the 32bit package to conflit with the 64bit + one if this lib was installed by both packages. + +------------------------------------------------------------------- +Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: + + - Dropped backported commits which has been merged + - Forward-port Suse specific patches + - Added --disable-lto option to ./configure + - Added systemd-mount + - Removed in %file /usr/lib/systemd/user/*.socket: since + 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been + removed. + - Removed in %file %{_sysconfdir}/systemd/bootchart.conf + since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd + anymore. + - Backward compat libs have been disabled since it's been dropped from + the source code. + - Added /usr/bin/systemd-socket-activate in %file + - Added --without-kill-user-processes ./configure option + - Bump libseccomp build require (>= 2.3.1) as described in README + - Specifiy version of libmount as required in the README + ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 2ad1f88d..5b84fd7a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -42,13 +42,12 @@ %bcond_without gnuefi %endif %endif -%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 232 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -72,7 +71,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel +BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -81,9 +80,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros -BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -99,7 +98,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -300,20 +299,18 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved +%package -n nss-systemd +Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ Group: System/Libraries -Requires: %{name} = %{version}-%{release} -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. +%description -n nss-systemd +This package contains a plugin for the Name Service Switch (NSS), +which enables resolution of all dynamically allocated service +users. (See the DynamicUser= setting in unit files.) To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -331,6 +328,23 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif +%if %{with resolved} +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +%endif + %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -416,14 +430,13 @@ systemd_cryptsetup_LDFLAGS =\\\ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ -%endif -%if %{with compatlibs} - --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ + --disable-lto \ --disable-tests \ + --without-kill-user-processes \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -450,10 +463,13 @@ make %{?_smp_mflags} V=e %install %make_install +find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +%else +rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -465,7 +481,6 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -501,6 +516,10 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF +# Remove .so file for the shared library, it's not supposed to be +# used. +rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -616,7 +635,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd @@ -764,7 +783,13 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service +# On package update: the restart of the socket units will probably +# fail as the daemon is most likely running. It's not really an issue +# since we restart systemd-udevd right after and that will pull in the +# socket units again. We should be informed at that time if something +# really went wrong the first time we started the socket units. +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +%systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -785,6 +810,9 @@ fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig + +%post -n nss-systemd -p /sbin/ldconfig +%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -847,6 +875,7 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers +%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -859,6 +888,10 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%if %{with resolved} +%{_bindir}/systemd-resolve +%endif +%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -895,9 +928,10 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -952,11 +986,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1090,16 +1124,6 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1179,12 +1203,6 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1212,6 +1230,12 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* + +%files -n nss-systemd +%defattr(-, root, root) +%{_libdir}/libnss_systemd.so* +%{_mandir}/man8/libnss_systemd.so.* +%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} From 12f653dabd168f83c2daa5d71e7cfa819b228ae4295df859f6ed1040ec8d9228 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 17 Jan 2017 13:31:57 +0000 Subject: [PATCH 282/991] Accepting request 450969 from openSUSE:Factory Revert to version 228 - restage systemd with 13.2 update tests and autoyast to work out failures of 0115 and 0116 OBS-URL: https://build.opensuse.org/request/show/450969 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=245 --- baselibs.conf | 4 -- systemd-228.tar.xz | 3 ++ systemd-232.tar.xz | 3 -- systemd-mini-rpmlintrc | 1 - systemd-mini.changes | 94 ------------------------------------- systemd-mini.spec | 102 ++++++++++++++++------------------------- systemd-rpmlintrc | 1 - systemd.changes | 94 ------------------------------------- systemd.spec | 102 ++++++++++++++++------------------------- 9 files changed, 81 insertions(+), 323 deletions(-) create mode 100644 systemd-228.tar.xz delete mode 100644 systemd-232.tar.xz diff --git a/baselibs.conf b/baselibs.conf index 073ad0e1..9c73aa00 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,10 +1,6 @@ -# -# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart -# systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ - -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/systemd-228.tar.xz b/systemd-228.tar.xz new file mode 100644 index 00000000..c8f3fdcf --- /dev/null +++ b/systemd-228.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:141d1609469579adeaf62d76e3527149c5a0140a54c8538f706b4eb97a447f8a +size 2866192 diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz deleted file mode 100644 index 904a437e..00000000 --- a/systemd-232.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0f63b20f91eeed656a9d2bf9ad453cd7cfbb786663714b9b17886624f5ea69c -size 3211060 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 5b7980e5..a9e12af8 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -16,7 +16,6 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd-mini.changes b/systemd-mini.changes index ac7b0364..ddcda174 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,97 +1,3 @@ -------------------------------------------------------------------- -Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com - -- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd - - 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) - -------------------------------------------------------------------- -Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com - -- Use the %{resolved} build conditional for the nss-resolve subpackage - -------------------------------------------------------------------- -Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com - -- /usr/bin/systemd-resolve was missing from the filelist - -------------------------------------------------------------------- -Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com - -- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) - -------------------------------------------------------------------- -Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 - - - a4dff165d nspawn: resolv.conf might not be created initially (#4799) - - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) - - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) - - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) - -------------------------------------------------------------------- -Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com - -- Really include legacy kbd maps in kbd-model-map (bsc#1015515) - - Instead of fix-machines-subvol-for-rollbacks.sh... - -------------------------------------------------------------------- -Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com - -- Enable lz4 (which becomes the default) - - It's much faster than xz and thus should be more appropriate to - compress journals and coredumps. - - The LZ4 logic is now officially supported and no longer considered - experimental. - - The new frame api was released in v125. - -------------------------------------------------------------------- -Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com - -- Good by compatlibs support - - There's no longer need for enabling/disabling the support for the - compatlibs as it's been dropped from the source code. - -------------------------------------------------------------------- -Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com - -- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package - - This shared library is not for public use, and is neither API nor - ABI stable, but is likely to change with every new released - update. Only systemd binaries are supposed to link against it. - - This also prevents from the 32bit package to conflit with the 64bit - one if this lib was installed by both packages. - -------------------------------------------------------------------- -Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: - - - Dropped backported commits which has been merged - - Forward-port Suse specific patches - - Added --disable-lto option to ./configure - - Added systemd-mount - - Removed in %file /usr/lib/systemd/user/*.socket: since - 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been - removed. - - Removed in %file %{_sysconfdir}/systemd/bootchart.conf - since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd - anymore. - - Backward compat libs have been disabled since it's been dropped from - the source code. - - Added /usr/bin/systemd-socket-activate in %file - - Added --without-kill-user-processes ./configure option - - Bump libseccomp build require (>= 2.3.1) as described in README - - Specifiy version of libmount as required in the README - ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 0ea7287b..800b5864 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -44,12 +44,13 @@ %bcond_without gnuefi %endif %endif +%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 232 +Version: 228 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -73,7 +74,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel >= 2.27.1 +BuildRequires: libmount-devel BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -82,9 +83,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros +BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -100,7 +101,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +BuildRequires: pkgconfig(libseccomp) %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -301,18 +302,20 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. -%package -n nss-systemd -Summary: Plugin for local virtual host name resolution +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1+ Group: System/Libraries +Requires: %{name} = %{version}-%{release} -%description -n nss-systemd -This package contains a plugin for the Name Service Switch (NSS), -which enables resolution of all dynamically allocated service -users. (See the DynamicUser= setting in unit files.) +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -330,23 +333,6 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries -Requires: %{name} = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -432,13 +418,14 @@ systemd_cryptsetup_LDFLAGS =\\\ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ +%endif +%if %{with compatlibs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ - --disable-lto \ --disable-tests \ - --without-kill-user-processes \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -465,13 +452,10 @@ make %{?_smp_mflags} V=e %install %make_install -find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%else -rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -483,6 +467,7 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm +find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -518,10 +503,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -637,7 +618,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd @@ -785,13 +766,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -# On package update: the restart of the socket units will probably -# fail as the daemon is most likely running. It's not really an issue -# since we restart systemd-udevd right after and that will pull in the -# socket units again. We should be informed at that time if something -# really went wrong the first time we started the socket units. -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null -%systemd_postun_with_restart systemd-udevd.service +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -812,9 +787,6 @@ fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-systemd -p /sbin/ldconfig -%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -877,7 +849,6 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers -%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -890,10 +861,6 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn -%if %{with resolved} -%{_bindir}/systemd-resolve -%endif -%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -930,10 +897,9 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service +%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so -%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -988,11 +954,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user +%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1126,6 +1092,16 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so +%{_libdir}/libsystemd-login.so +%{_libdir}/libsystemd-id128.so +%{_libdir}/libsystemd-journal.so +%{_libdir}/pkgconfig/libsystemd-daemon.pc +%{_libdir}/pkgconfig/libsystemd-login.pc +%{_libdir}/pkgconfig/libsystemd-id128.pc +%{_libdir}/pkgconfig/libsystemd-journal.pc +%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1205,6 +1181,12 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* +%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1232,12 +1214,6 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* - -%files -n nss-systemd -%defattr(-, root, root) -%{_libdir}/libnss_systemd.so* -%{_mandir}/man8/libnss_systemd.so.* -%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 5b7980e5..a9e12af8 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -16,7 +16,6 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd.changes b/systemd.changes index ac7b0364..ddcda174 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,97 +1,3 @@ -------------------------------------------------------------------- -Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com - -- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd - - 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) - -------------------------------------------------------------------- -Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com - -- Use the %{resolved} build conditional for the nss-resolve subpackage - -------------------------------------------------------------------- -Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com - -- /usr/bin/systemd-resolve was missing from the filelist - -------------------------------------------------------------------- -Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com - -- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) - -------------------------------------------------------------------- -Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 - - - a4dff165d nspawn: resolv.conf might not be created initially (#4799) - - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) - - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) - - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) - -------------------------------------------------------------------- -Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com - -- Really include legacy kbd maps in kbd-model-map (bsc#1015515) - - Instead of fix-machines-subvol-for-rollbacks.sh... - -------------------------------------------------------------------- -Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com - -- Enable lz4 (which becomes the default) - - It's much faster than xz and thus should be more appropriate to - compress journals and coredumps. - - The LZ4 logic is now officially supported and no longer considered - experimental. - - The new frame api was released in v125. - -------------------------------------------------------------------- -Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com - -- Good by compatlibs support - - There's no longer need for enabling/disabling the support for the - compatlibs as it's been dropped from the source code. - -------------------------------------------------------------------- -Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com - -- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package - - This shared library is not for public use, and is neither API nor - ABI stable, but is likely to change with every new released - update. Only systemd binaries are supposed to link against it. - - This also prevents from the 32bit package to conflit with the 64bit - one if this lib was installed by both packages. - -------------------------------------------------------------------- -Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: - - - Dropped backported commits which has been merged - - Forward-port Suse specific patches - - Added --disable-lto option to ./configure - - Added systemd-mount - - Removed in %file /usr/lib/systemd/user/*.socket: since - 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been - removed. - - Removed in %file %{_sysconfdir}/systemd/bootchart.conf - since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd - anymore. - - Backward compat libs have been disabled since it's been dropped from - the source code. - - Added /usr/bin/systemd-socket-activate in %file - - Added --without-kill-user-processes ./configure option - - Bump libseccomp build require (>= 2.3.1) as described in README - - Specifiy version of libmount as required in the README - ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 5b84fd7a..2ad1f88d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -42,12 +42,13 @@ %bcond_without gnuefi %endif %endif +%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 232 +Version: 228 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -71,7 +72,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel >= 2.27.1 +BuildRequires: libmount-devel BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -80,9 +81,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros +BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -98,7 +99,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +BuildRequires: pkgconfig(libseccomp) %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -299,18 +300,20 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. -%package -n nss-systemd -Summary: Plugin for local virtual host name resolution +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1+ Group: System/Libraries +Requires: %{name} = %{version}-%{release} -%description -n nss-systemd -This package contains a plugin for the Name Service Switch (NSS), -which enables resolution of all dynamically allocated service -users. (See the DynamicUser= setting in unit files.) +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -328,23 +331,6 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1+ -Group: System/Libraries -Requires: %{name} = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -430,13 +416,14 @@ systemd_cryptsetup_LDFLAGS =\\\ %if 0%{?bootstrap} --disable-myhostname \ --disable-manpages \ +%endif +%if %{with compatlibs} + --enable-compat-libs \ %endif --enable-selinux \ --enable-split-usr \ --disable-static \ - --disable-lto \ --disable-tests \ - --without-kill-user-processes \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -463,13 +450,10 @@ make %{?_smp_mflags} V=e %install %make_install -find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%else -rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -481,6 +465,7 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm +find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -516,10 +501,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -635,7 +616,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd @@ -783,13 +764,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -# On package update: the restart of the socket units will probably -# fail as the daemon is most likely running. It's not really an issue -# since we restart systemd-udevd right after and that will pull in the -# socket units again. We should be informed at that time if something -# really went wrong the first time we started the socket units. -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null -%systemd_postun_with_restart systemd-udevd.service +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -810,9 +785,6 @@ fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-systemd -p /sbin/ldconfig -%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -875,7 +847,6 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers -%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -888,10 +859,6 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn -%if %{with resolved} -%{_bindir}/systemd-resolve -%endif -%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -928,10 +895,9 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service +%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so -%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -986,11 +952,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user +%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1124,6 +1090,16 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so +%{_libdir}/libsystemd-login.so +%{_libdir}/libsystemd-id128.so +%{_libdir}/libsystemd-journal.so +%{_libdir}/pkgconfig/libsystemd-daemon.pc +%{_libdir}/pkgconfig/libsystemd-login.pc +%{_libdir}/pkgconfig/libsystemd-id128.pc +%{_libdir}/pkgconfig/libsystemd-journal.pc +%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1203,6 +1179,12 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* +%if %{with compatlibs} +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* +%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1230,12 +1212,6 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* - -%files -n nss-systemd -%defattr(-, root, root) -%{_libdir}/libnss_systemd.so* -%{_mandir}/man8/libnss_systemd.so.* -%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} From 4994b8e166f7c46852ac08c2041d222ab6029367597d6f6672b903383db2b0b4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 25 Jan 2017 16:13:23 +0000 Subject: [PATCH 283/991] Accepting request 452442 from home:fbui:systemd:Factory - Don't ship ldconfig.service anymore This service was introduced to support stateless systems that support offline /usr updates properly. AFAIK we don't support any such system for now, so disable it. If it's wrong it's easy enough to restore it back. Related to bsc#1019470. - Be more consistent with indentation (*no* functional changes) Indentation should use 8 spaces now (no tabs). - Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) - Fix permission set on /var/lib/systemd/linger/* Those files are created by logind which run with umask(0022), so they are not world writable and shouldn't be affected by bsc#1020601. But it's cleaner to not let files forever with their setuid bit set for no good reason. - Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) This change makes sure to fix the permissions of the timestamp files which could have been created by an affected version of systemd. Local unprivileged users could have run arbitrary code as root if systemd previously created world writable suid root files such as permanent timer stamp files. OBS-URL: https://build.opensuse.org/request/show/452442 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=967 --- systemd-232.tar.xz | 4 +- systemd-mini.changes | 51 +++++++++++++++++ systemd-mini.spec | 130 ++++++++++++++++++++++++------------------- systemd.changes | 51 +++++++++++++++++ systemd.spec | 130 ++++++++++++++++++++++++------------------- 5 files changed, 248 insertions(+), 118 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 904a437e..04c9ac5d 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0f63b20f91eeed656a9d2bf9ad453cd7cfbb786663714b9b17886624f5ea69c -size 3211060 +oid sha256:cc6ee1dab9013b879e3ae500b79875651c4462e23a9b9fbeab06597828ee00a3 +size 3211676 diff --git a/systemd-mini.changes b/systemd-mini.changes index ac7b0364..b7ed294e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com + +- Don't ship ldconfig.service anymore + + This service was introduced to support stateless systems that + support offline /usr updates properly. + + AFAIK we don't support any such system for now, so disable it. If + it's wrong it's easy enough to restore it back. + + Related to bsc#1019470. + +------------------------------------------------------------------- +Wed Jan 25 15:17:06 UTC 2017 - fbui@suse.com + +- Be more consistent with indentation (*no* functional changes) + + Indentation should use 8 spaces now (no tabs). + +------------------------------------------------------------------- +Wed Jan 25 14:38:59 UTC 2017 - fbui@suse.com + +- Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c + + 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) + f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) + 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) + +------------------------------------------------------------------- +Wed Jan 25 14:36:34 UTC 2017 - fbui@suse.com + +- Fix permission set on /var/lib/systemd/linger/* + + Those files are created by logind which run with umask(0022), so + they are not world writable and shouldn't be affected by + bsc#1020601. But it's cleaner to not let files forever with their + setuid bit set for no good reason. + +------------------------------------------------------------------- +Wed Jan 25 14:33:04 UTC 2017 - fbui@suse.com + +- Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) + + This change makes sure to fix the permissions of the timestamp files + which could have been created by an affected version of systemd. + + Local unprivileged users could have run arbitrary code as root if + systemd previously created world writable suid root files such as + permanent timer stamp files. + ------------------------------------------------------------------- Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 0ea7287b..a0b92de5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -423,43 +423,44 @@ systemd_cryptsetup_LDFLAGS =\\\ # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ + --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ + --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ + --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + --disable-myhostname \ + --disable-manpages \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + --disable-lto \ + --disable-tests \ + --without-kill-user-processes \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ + --disable-smack \ + --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ + --disable-ldconfig \ %if %{without networkd} - --disable-networkd \ + --disable-networkd \ %endif %if %{without machined} - --disable-machined \ + --disable-machined \ %endif %if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ %endif %if %{without resolved} - --disable-resolved \ + --disable-resolved \ %endif - --disable-kdbus + --disable-kdbus make %{?_smp_mflags} V=e @@ -663,24 +664,24 @@ systemctl daemon-reexec || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) + if [ -n "$runlevel" ] ; then + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : + fi fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : - systemctl preset systemd-resolved.service || : + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -691,8 +692,8 @@ fi # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : done # Keep tmp.mount if it's been enabled explicitly by the user otherwise @@ -705,6 +706,18 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + +# v228 wrongly set world writable suid root permissions on timestamp +# files used by permanent timers. Fix the timestamps that might have +# been created by the affected versions of systemd (bsc#1020601). +for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do + chmod 0644 $stamp +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -733,35 +746,36 @@ if [ $1 -ge 1 ]; then fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : - rm -f /etc/systemd/system/default.target + rm -f /etc/systemd/system/default.target fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} - %regenerate_initrd_post +%regenerate_initrd_post + if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev + ln -s /usr/lib/udev /lib/udev fi # Create "tape"/"input" group which is referenced by some udev rules @@ -806,8 +820,8 @@ systemctl daemon-reload || : %post logger systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then -# tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : + # tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi %post -n nss-myhostname -p /sbin/ldconfig diff --git a/systemd.changes b/systemd.changes index ac7b0364..b7ed294e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com + +- Don't ship ldconfig.service anymore + + This service was introduced to support stateless systems that + support offline /usr updates properly. + + AFAIK we don't support any such system for now, so disable it. If + it's wrong it's easy enough to restore it back. + + Related to bsc#1019470. + +------------------------------------------------------------------- +Wed Jan 25 15:17:06 UTC 2017 - fbui@suse.com + +- Be more consistent with indentation (*no* functional changes) + + Indentation should use 8 spaces now (no tabs). + +------------------------------------------------------------------- +Wed Jan 25 14:38:59 UTC 2017 - fbui@suse.com + +- Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c + + 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) + f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) + 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) + +------------------------------------------------------------------- +Wed Jan 25 14:36:34 UTC 2017 - fbui@suse.com + +- Fix permission set on /var/lib/systemd/linger/* + + Those files are created by logind which run with umask(0022), so + they are not world writable and shouldn't be affected by + bsc#1020601. But it's cleaner to not let files forever with their + setuid bit set for no good reason. + +------------------------------------------------------------------- +Wed Jan 25 14:33:04 UTC 2017 - fbui@suse.com + +- Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) + + This change makes sure to fix the permissions of the timestamp files + which could have been created by an affected version of systemd. + + Local unprivileged users could have run arbitrary code as root if + systemd previously created world writable suid root files such as + permanent timer stamp files. + ------------------------------------------------------------------- Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 5b84fd7a..c1a405c6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -421,43 +421,44 @@ systemd_cryptsetup_LDFLAGS =\\\ # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ + --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ + --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ + --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + --disable-myhostname \ + --disable-manpages \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + --disable-lto \ + --disable-tests \ + --without-kill-user-processes \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ + --disable-smack \ + --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ + --disable-ldconfig \ %if %{without networkd} - --disable-networkd \ + --disable-networkd \ %endif %if %{without machined} - --disable-machined \ + --disable-machined \ %endif %if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ %endif %if %{without resolved} - --disable-resolved \ + --disable-resolved \ %endif - --disable-kdbus + --disable-kdbus make %{?_smp_mflags} V=e @@ -661,24 +662,24 @@ systemctl daemon-reexec || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) + if [ -n "$runlevel" ] ; then + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : + fi fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : - systemctl preset systemd-resolved.service || : + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -689,8 +690,8 @@ fi # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : done # Keep tmp.mount if it's been enabled explicitly by the user otherwise @@ -703,6 +704,18 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + +# v228 wrongly set world writable suid root permissions on timestamp +# files used by permanent timers. Fix the timestamps that might have +# been created by the affected versions of systemd (bsc#1020601). +for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do + chmod 0644 $stamp +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -731,35 +744,36 @@ if [ $1 -ge 1 ]; then fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : - rm -f /etc/systemd/system/default.target + rm -f /etc/systemd/system/default.target fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} - %regenerate_initrd_post +%regenerate_initrd_post + if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev + ln -s /usr/lib/udev /lib/udev fi # Create "tape"/"input" group which is referenced by some udev rules @@ -804,8 +818,8 @@ systemctl daemon-reload || : %post logger systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then -# tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : + # tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi %post -n nss-myhostname -p /sbin/ldconfig From ba4d101190920859a702c6e1f1a27be5d8964cc3cf1c2f1fddd2e8258deda25e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 28 Jan 2017 10:00:32 +0000 Subject: [PATCH 284/991] Accepting request 452455 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/452455 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=246 --- baselibs.conf | 4 + systemd-228.tar.xz | 3 - systemd-232.tar.xz | 3 + systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 145 ++++++++++++++++++++++++++ systemd-mini.spec | 228 ++++++++++++++++++++++++----------------- systemd-rpmlintrc | 1 + systemd.changes | 145 ++++++++++++++++++++++++++ systemd.spec | 228 ++++++++++++++++++++++++----------------- 9 files changed, 565 insertions(+), 193 deletions(-) delete mode 100644 systemd-228.tar.xz create mode 100644 systemd-232.tar.xz diff --git a/baselibs.conf b/baselibs.conf index 9c73aa00..073ad0e1 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,6 +1,10 @@ +# +# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart +# systemd supplements "packageand(systemd:pam-)" -/lib/systemd/system/ + -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/systemd-228.tar.xz b/systemd-228.tar.xz deleted file mode 100644 index c8f3fdcf..00000000 --- a/systemd-228.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:141d1609469579adeaf62d76e3527149c5a0140a54c8538f706b4eb97a447f8a -size 2866192 diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz new file mode 100644 index 00000000..04c9ac5d --- /dev/null +++ b/systemd-232.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc6ee1dab9013b879e3ae500b79875651c4462e23a9b9fbeab06597828ee00a3 +size 3211676 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a9e12af8..5b7980e5 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -16,6 +16,7 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd-mini.changes b/systemd-mini.changes index ddcda174..b7ed294e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,148 @@ +------------------------------------------------------------------- +Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com + +- Don't ship ldconfig.service anymore + + This service was introduced to support stateless systems that + support offline /usr updates properly. + + AFAIK we don't support any such system for now, so disable it. If + it's wrong it's easy enough to restore it back. + + Related to bsc#1019470. + +------------------------------------------------------------------- +Wed Jan 25 15:17:06 UTC 2017 - fbui@suse.com + +- Be more consistent with indentation (*no* functional changes) + + Indentation should use 8 spaces now (no tabs). + +------------------------------------------------------------------- +Wed Jan 25 14:38:59 UTC 2017 - fbui@suse.com + +- Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c + + 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) + f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) + 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) + +------------------------------------------------------------------- +Wed Jan 25 14:36:34 UTC 2017 - fbui@suse.com + +- Fix permission set on /var/lib/systemd/linger/* + + Those files are created by logind which run with umask(0022), so + they are not world writable and shouldn't be affected by + bsc#1020601. But it's cleaner to not let files forever with their + setuid bit set for no good reason. + +------------------------------------------------------------------- +Wed Jan 25 14:33:04 UTC 2017 - fbui@suse.com + +- Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) + + This change makes sure to fix the permissions of the timestamp files + which could have been created by an affected version of systemd. + + Local unprivileged users could have run arbitrary code as root if + systemd previously created world writable suid root files such as + permanent timer stamp files. + +------------------------------------------------------------------- +Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com + +- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd + + 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) + +------------------------------------------------------------------- +Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com + +- Use the %{resolved} build conditional for the nss-resolve subpackage + +------------------------------------------------------------------- +Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com + +- /usr/bin/systemd-resolve was missing from the filelist + +------------------------------------------------------------------- +Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com + +- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) + +------------------------------------------------------------------- +Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 + + - a4dff165d nspawn: resolv.conf might not be created initially (#4799) + - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) + - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) + - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) + +------------------------------------------------------------------- +Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com + +- Really include legacy kbd maps in kbd-model-map (bsc#1015515) + + Instead of fix-machines-subvol-for-rollbacks.sh... + +------------------------------------------------------------------- +Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com + +- Enable lz4 (which becomes the default) + + It's much faster than xz and thus should be more appropriate to + compress journals and coredumps. + + The LZ4 logic is now officially supported and no longer considered + experimental. + + The new frame api was released in v125. + +------------------------------------------------------------------- +Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com + +- Good by compatlibs support + + There's no longer need for enabling/disabling the support for the + compatlibs as it's been dropped from the source code. + +------------------------------------------------------------------- +Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com + +- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package + + This shared library is not for public use, and is neither API nor + ABI stable, but is likely to change with every new released + update. Only systemd binaries are supposed to link against it. + + This also prevents from the 32bit package to conflit with the 64bit + one if this lib was installed by both packages. + +------------------------------------------------------------------- +Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: + + - Dropped backported commits which has been merged + - Forward-port Suse specific patches + - Added --disable-lto option to ./configure + - Added systemd-mount + - Removed in %file /usr/lib/systemd/user/*.socket: since + 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been + removed. + - Removed in %file %{_sysconfdir}/systemd/bootchart.conf + since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd + anymore. + - Backward compat libs have been disabled since it's been dropped from + the source code. + - Added /usr/bin/systemd-socket-activate in %file + - Added --without-kill-user-processes ./configure option + - Bump libseccomp build require (>= 2.3.1) as described in README + - Specifiy version of libmount as required in the README + ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 800b5864..a0b92de5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -44,13 +44,12 @@ %bcond_without gnuefi %endif %endif -%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 232 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -74,7 +73,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel +BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -83,9 +82,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros -BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -101,7 +100,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -302,20 +301,18 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved +%package -n nss-systemd +Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ Group: System/Libraries -Requires: %{name} = %{version}-%{release} -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. +%description -n nss-systemd +This package contains a plugin for the Name Service Switch (NSS), +which enables resolution of all dynamically allocated service +users. (See the DynamicUser= setting in unit files.) To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -333,6 +330,23 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif +%if %{with resolved} +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +%endif + %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -409,53 +423,56 @@ systemd_cryptsetup_LDFLAGS =\\\ # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ + --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ + --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ + --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + --disable-myhostname \ + --disable-manpages \ %endif -%if %{with compatlibs} - --enable-compat-libs \ -%endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-tests \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + --disable-lto \ + --disable-tests \ + --without-kill-user-processes \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ + --disable-smack \ + --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ + --disable-ldconfig \ %if %{without networkd} - --disable-networkd \ + --disable-networkd \ %endif %if %{without machined} - --disable-machined \ + --disable-machined \ %endif %if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ %endif %if %{without resolved} - --disable-resolved \ + --disable-resolved \ %endif - --disable-kdbus + --disable-kdbus make %{?_smp_mflags} V=e %install %make_install +find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +%else +rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -467,7 +484,6 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -503,6 +519,10 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF +# Remove .so file for the shared library, it's not supposed to be +# used. +rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -618,7 +638,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd @@ -644,24 +664,24 @@ systemctl daemon-reexec || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) + if [ -n "$runlevel" ] ; then + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : + fi fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : - systemctl preset systemd-resolved.service || : + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -672,8 +692,8 @@ fi # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : done # Keep tmp.mount if it's been enabled explicitly by the user otherwise @@ -686,6 +706,18 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + +# v228 wrongly set world writable suid root permissions on timestamp +# files used by permanent timers. Fix the timestamps that might have +# been created by the affected versions of systemd (bsc#1020601). +for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do + chmod 0644 $stamp +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -714,35 +746,36 @@ if [ $1 -ge 1 ]; then fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : - rm -f /etc/systemd/system/default.target + rm -f /etc/systemd/system/default.target fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} - %regenerate_initrd_post +%regenerate_initrd_post + if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev + ln -s /usr/lib/udev /lib/udev fi # Create "tape"/"input" group which is referenced by some udev rules @@ -766,7 +799,13 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service +# On package update: the restart of the socket units will probably +# fail as the daemon is most likely running. It's not really an issue +# since we restart systemd-udevd right after and that will pull in the +# socket units again. We should be informed at that time if something +# really went wrong the first time we started the socket units. +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +%systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -781,12 +820,15 @@ systemctl daemon-reload || : %post logger systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then -# tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : + # tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig + +%post -n nss-systemd -p /sbin/ldconfig +%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -849,6 +891,7 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers +%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -861,6 +904,10 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%if %{with resolved} +%{_bindir}/systemd-resolve +%endif +%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -897,9 +944,10 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -954,11 +1002,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1092,16 +1140,6 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1181,12 +1219,6 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1214,6 +1246,12 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* + +%files -n nss-systemd +%defattr(-, root, root) +%{_libdir}/libnss_systemd.so* +%{_mandir}/man8/libnss_systemd.so.* +%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a9e12af8..5b7980e5 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -16,6 +16,7 @@ addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") +addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") diff --git a/systemd.changes b/systemd.changes index ddcda174..b7ed294e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,148 @@ +------------------------------------------------------------------- +Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com + +- Don't ship ldconfig.service anymore + + This service was introduced to support stateless systems that + support offline /usr updates properly. + + AFAIK we don't support any such system for now, so disable it. If + it's wrong it's easy enough to restore it back. + + Related to bsc#1019470. + +------------------------------------------------------------------- +Wed Jan 25 15:17:06 UTC 2017 - fbui@suse.com + +- Be more consistent with indentation (*no* functional changes) + + Indentation should use 8 spaces now (no tabs). + +------------------------------------------------------------------- +Wed Jan 25 14:38:59 UTC 2017 - fbui@suse.com + +- Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c + + 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) + f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) + 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) + +------------------------------------------------------------------- +Wed Jan 25 14:36:34 UTC 2017 - fbui@suse.com + +- Fix permission set on /var/lib/systemd/linger/* + + Those files are created by logind which run with umask(0022), so + they are not world writable and shouldn't be affected by + bsc#1020601. But it's cleaner to not let files forever with their + setuid bit set for no good reason. + +------------------------------------------------------------------- +Wed Jan 25 14:33:04 UTC 2017 - fbui@suse.com + +- Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) + + This change makes sure to fix the permissions of the timestamp files + which could have been created by an affected version of systemd. + + Local unprivileged users could have run arbitrary code as root if + systemd previously created world writable suid root files such as + permanent timer stamp files. + +------------------------------------------------------------------- +Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com + +- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd + + 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) + +------------------------------------------------------------------- +Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com + +- Use the %{resolved} build conditional for the nss-resolve subpackage + +------------------------------------------------------------------- +Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com + +- /usr/bin/systemd-resolve was missing from the filelist + +------------------------------------------------------------------- +Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com + +- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) + +------------------------------------------------------------------- +Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 + + - a4dff165d nspawn: resolv.conf might not be created initially (#4799) + - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) + - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) + - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) + +------------------------------------------------------------------- +Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com + +- Really include legacy kbd maps in kbd-model-map (bsc#1015515) + + Instead of fix-machines-subvol-for-rollbacks.sh... + +------------------------------------------------------------------- +Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com + +- Enable lz4 (which becomes the default) + + It's much faster than xz and thus should be more appropriate to + compress journals and coredumps. + + The LZ4 logic is now officially supported and no longer considered + experimental. + + The new frame api was released in v125. + +------------------------------------------------------------------- +Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com + +- Good by compatlibs support + + There's no longer need for enabling/disabling the support for the + compatlibs as it's been dropped from the source code. + +------------------------------------------------------------------- +Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com + +- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package + + This shared library is not for public use, and is neither API nor + ABI stable, but is likely to change with every new released + update. Only systemd binaries are supposed to link against it. + + This also prevents from the 32bit package to conflit with the 64bit + one if this lib was installed by both packages. + +------------------------------------------------------------------- +Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com + +- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: + + - Dropped backported commits which has been merged + - Forward-port Suse specific patches + - Added --disable-lto option to ./configure + - Added systemd-mount + - Removed in %file /usr/lib/systemd/user/*.socket: since + 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been + removed. + - Removed in %file %{_sysconfdir}/systemd/bootchart.conf + since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd + anymore. + - Backward compat libs have been disabled since it's been dropped from + the source code. + - Added /usr/bin/systemd-socket-activate in %file + - Added --without-kill-user-processes ./configure option + - Bump libseccomp build require (>= 2.3.1) as described in README + - Specifiy version of libmount as required in the README + ------------------------------------------------------------------- Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com diff --git a/systemd.spec b/systemd.spec index 2ad1f88d..c1a405c6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -42,13 +42,12 @@ %bcond_without gnuefi %endif %endif -%bcond_without compatlibs %bcond_with resolved %bcond_with parentpathid Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 228 +Version: 232 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -72,7 +71,7 @@ BuildRequires: gperf BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libmount-devel +BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: pam-config >= 0.79-5 @@ -81,9 +80,9 @@ BuildRequires: pam-devel # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros -BuildRequires: xz BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) >= 125 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -99,7 +98,7 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif %if %{with gnuefi} BuildRequires: gnu-efi @@ -300,20 +299,18 @@ Conflicts: otherproviders(syslog) %description logger This package marks the installation to not use syslog but only the journal. -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved +%package -n nss-systemd +Summary: Plugin for local virtual host name resolution License: LGPL-2.1+ Group: System/Libraries -Requires: %{name} = %{version}-%{release} -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. +%description -n nss-systemd +This package contains a plugin for the Name Service Switch (NSS), +which enables resolution of all dynamically allocated service +users. (See the DynamicUser= setting in unit files.) To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. %package -n nss-myhostname Summary: Plugin for local system host name resolution @@ -331,6 +328,23 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif +%if %{with resolved} +%package -n nss-resolve +Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n nss-resolve +This package contains a plug-in module for the Name Service Switch +(NSS), which enables host name resolutions via the systemd-resolved(8) +local network name resolution service. It replaces the nss-dns plug-in +module that traditionally resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in +/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. +%endif + %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution @@ -407,53 +421,56 @@ systemd_cryptsetup_LDFLAGS =\\\ # keep split-usr until all packages have moved their systemd rules to /usr %configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ + --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ + --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ + --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ + --with-certificate-root=%{_sysconfdir}/pki/systemd \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + --disable-myhostname \ + --disable-manpages \ %endif -%if %{with compatlibs} - --enable-compat-libs \ -%endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-tests \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + --disable-lto \ + --disable-tests \ + --without-kill-user-processes \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ + --disable-smack \ + --disable-ima \ + --disable-adm-group \ + --disable-wheel-group \ + --disable-ldconfig \ %if %{without networkd} - --disable-networkd \ + --disable-networkd \ %endif %if %{without machined} - --disable-machined \ + --disable-machined \ %endif %if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ %endif %if %{without resolved} - --disable-resolved \ + --disable-resolved \ %endif - --disable-kdbus + --disable-kdbus make %{?_smp_mflags} V=e %install %make_install +find %{buildroot} -type f -name '*.la' -delete # move to %{_lib} %if ! 0%{?bootstrap} mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} +%else +rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif # FIXME: these symlinks should die. @@ -465,7 +482,6 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs rm -rf %{buildroot}%{_sysconfdir}/rpm -find %{buildroot} -type f -name '*.la' -delete mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -501,6 +517,10 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF +# Remove .so file for the shared library, it's not supposed to be +# used. +rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so + # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -616,7 +636,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:13} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd @@ -642,24 +662,24 @@ systemctl daemon-reexec || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) + if [ -n "$runlevel" ] ; then + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : + fi fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : - systemctl preset systemd-resolved.service || : + # Enable systemd services according to the distro defaults. + # Note: systemctl might abort prematurely if it fails on one + # unit. + systemctl preset remote-fs.target || : + systemctl preset getty@.service || : + systemctl preset systemd-networkd.service || : + systemctl preset systemd-networkd-wait-online.service || : + systemctl preset systemd-timesyncd.service || : + systemctl preset systemd-resolved.service || : fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -670,8 +690,8 @@ fi # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : done # Keep tmp.mount if it's been enabled explicitly by the user otherwise @@ -684,6 +704,18 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + +# v228 wrongly set world writable suid root permissions on timestamp +# files used by permanent timers. Fix the timestamps that might have +# been created by the affected versions of systemd (bsc#1020601). +for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do + chmod 0644 $stamp +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -712,35 +744,36 @@ if [ $1 -ge 1 ]; then fi %if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then - pam-config -d --systemd || : + pam-config -d --systemd || : fi %endif %preun if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : + systemctl disable remote-fs.target || : + systemctl disable getty@.service || : + systemctl disable systemd-networkd.service || : + systemctl disable systemd-networkd-wait-online.service || : + systemctl disable systemd-timesyncd.service || : + systemctl disable systemd-resolved.service || : - rm -f /etc/systemd/system/default.target + rm -f /etc/systemd/system/default.target fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} - %regenerate_initrd_post +%regenerate_initrd_post + if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev + ln -s /usr/lib/udev /lib/udev fi # Create "tape"/"input" group which is referenced by some udev rules @@ -764,7 +797,13 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %regenerate_initrd_post %insserv_cleanup systemctl daemon-reload || : -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket systemd-udevd.service +# On package update: the restart of the socket units will probably +# fail as the daemon is most likely running. It's not really an issue +# since we restart systemd-udevd right after and that will pull in the +# socket units again. We should be informed at that time if something +# really went wrong the first time we started the socket units. +%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +%systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -779,12 +818,15 @@ systemctl daemon-reload || : %post logger systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : if [ "$1" -eq 1 ]; then -# tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : + # tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null || : fi %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig + +%post -n nss-systemd -p /sbin/ldconfig +%postun -n nss-systemd -p /sbin/ldconfig %endif %if %{with resolved} @@ -847,6 +889,7 @@ fi %{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers +%{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/systemd-journalctl @@ -859,6 +902,10 @@ fi %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup %{_bindir}/systemd-nspawn +%if %{with resolved} +%{_bindir}/systemd-resolve +%endif +%{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl @@ -895,9 +942,10 @@ fi %{_prefix}/lib/systemd/system/*.path %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service -%{_prefix}/lib/systemd/user/*.socket %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd +%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -952,11 +1000,11 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf @@ -1090,16 +1138,6 @@ fi %{_libdir}/libsystemd.so %{_libdir}/pkgconfig/libsystemd.pc %{_includedir}/systemd/ -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so -%{_libdir}/libsystemd-login.so -%{_libdir}/libsystemd-id128.so -%{_libdir}/libsystemd-journal.so -%{_libdir}/pkgconfig/libsystemd-daemon.pc -%{_libdir}/pkgconfig/libsystemd-login.pc -%{_libdir}/pkgconfig/libsystemd-id128.pc -%{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %if ! 0%{?bootstrap} %{_mandir}/man3/SD*.3* %{_mandir}/man3/sd*.3* @@ -1179,12 +1217,6 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) %{_libdir}/libsystemd.so.* -%if %{with compatlibs} -%{_libdir}/libsystemd-daemon.so.* -%{_libdir}/libsystemd-login.so.* -%{_libdir}/libsystemd-id128.so.* -%{_libdir}/libsystemd-journal.so.* -%endif %files -n libudev%{?mini}1 %defattr(-,root,root) @@ -1212,6 +1244,12 @@ fi /%{_lib}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* + +%files -n nss-systemd +%defattr(-, root, root) +%{_libdir}/libnss_systemd.so* +%{_mandir}/man8/libnss_systemd.so.* +%{_mandir}/man8/nss-systemd.* %endif %if %{with resolved} From b1dfa71663262a539e13f09000da96ee7cee4f53b46bbb947cfbe57650ecf713 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 6 Feb 2017 08:45:05 +0000 Subject: [PATCH 285/991] Accepting request 454455 from home:fbui:systemd:Factory - Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) Move that part after the fix on timer timestamp files otherwise the comment doesn't make sense. - Import commit 028fd9b60580976dffb09b3576a2b652ee35137c cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) - Ship systemd-resolved but it's disabled by default (bsc#1018387) The NSS plugin will also be disabled, users need to enable it manually. OBS-URL: https://build.opensuse.org/request/show/454455 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=968 --- systemd-232.tar.xz | 4 ++-- systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 24 ++++++++++++++++++++++++ systemd-mini.spec | 14 +++++++------- systemd-rpmlintrc | 1 + systemd.changes | 24 ++++++++++++++++++++++++ systemd.spec | 14 +++++++------- 7 files changed, 66 insertions(+), 16 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 04c9ac5d..c4376ce7 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc6ee1dab9013b879e3ae500b79875651c4462e23a9b9fbeab06597828ee00a3 -size 3211676 +oid sha256:779b3b2be558de7e7ceed64da90953fff303332750105987206584f777225bb5 +size 3212260 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 5b7980e5..a2cefb37 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -19,6 +19,7 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") +addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index b7ed294e..d6669a32 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com + +- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) + + Move that part after the fix on timer timestamp files otherwise the + comment doesn't make sense. + +------------------------------------------------------------------- +Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com + +- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c + + cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice + ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) + +------------------------------------------------------------------- +Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com + +- Ship systemd-resolved but it's disabled by default (bsc#1018387) + + The NSS plugin will also be disabled, users need to enable it + manually. + ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index a0b92de5..b34999dc 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -33,18 +33,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd-mini @@ -706,11 +707,6 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -718,6 +714,11 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -1002,7 +1003,6 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 5b7980e5..a2cefb37 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -19,6 +19,7 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") +addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd.changes b/systemd.changes index b7ed294e..d6669a32 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com + +- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) + + Move that part after the fix on timer timestamp files otherwise the + comment doesn't make sense. + +------------------------------------------------------------------- +Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com + +- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c + + cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice + ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) + +------------------------------------------------------------------- +Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com + +- Ship systemd-resolved but it's disabled by default (bsc#1018387) + + The NSS plugin will also be disabled, users need to enable it + manually. + ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c1a405c6..c1526823 100644 --- a/systemd.spec +++ b/systemd.spec @@ -31,18 +31,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd @@ -704,11 +705,6 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -716,6 +712,11 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -1000,7 +1001,6 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh From 7fee2db2093b3df016c0cfaf5f7c9ed57861b30f2c1b6f7f160fdc8ef9e6b959 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 6 Feb 2017 14:59:06 +0000 Subject: [PATCH 286/991] Accepting request 455019 from home:fbui:systemd:Factory - Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) OBS-URL: https://build.opensuse.org/request/show/455019 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=969 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 9 +++++++++ systemd.changes | 9 +++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index c4376ce7..c5917f5e 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:779b3b2be558de7e7ceed64da90953fff303332750105987206584f777225bb5 -size 3212260 +oid sha256:ce282eea299d1e50f206a96e8f860f45c44e0a08c6ab8356582775f924d2d795 +size 3211444 diff --git a/systemd-mini.changes b/systemd-mini.changes index d6669a32..2fb0382d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com + +- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc + + e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) + c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) + 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) + ------------------------------------------------------------------- Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index d6669a32..2fb0382d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com + +- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc + + e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) + c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) + 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) + ------------------------------------------------------------------- Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com From 0f140c2631beabcd579a192868fee70297c8e2e903d2861293c57cfadfb7cfff Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Feb 2017 08:21:47 +0000 Subject: [PATCH 287/991] Accepting request 455432 from home:kukuk:branches:Base:System - Remove obsolete insserv requirements for udev again [bsc#999841] - Remove obsolete insserv requirements for udev again [bsc#999841] OBS-URL: https://build.opensuse.org/request/show/455432 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=970 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 -- systemd.changes | 5 +++++ systemd.spec | 2 -- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 2fb0382d..c46097d3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de + +- Remove obsolete insserv requirements for udev again [bsc#999841] + ------------------------------------------------------------------- Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index b34999dc..c04e4129 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -231,7 +231,6 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl -Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -798,7 +797,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue diff --git a/systemd.changes b/systemd.changes index 2fb0382d..c46097d3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de + +- Remove obsolete insserv requirements for udev again [bsc#999841] + ------------------------------------------------------------------- Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c1526823..7dd89cb4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -229,7 +229,6 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl -Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -796,7 +795,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue From 057fbbaa72eee45dde4194cfe5f3573de62b6d206af63261cfa77f1f54ad518b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 10 Feb 2017 08:46:37 +0000 Subject: [PATCH 288/991] Accepting request 455437 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/455437 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=247 --- systemd-232.tar.xz | 4 ++-- systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 38 ++++++++++++++++++++++++++++++++++++++ systemd-mini.spec | 16 +++++++--------- systemd-rpmlintrc | 1 + systemd.changes | 38 ++++++++++++++++++++++++++++++++++++++ systemd.spec | 16 +++++++--------- 7 files changed, 94 insertions(+), 20 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 04c9ac5d..c5917f5e 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc6ee1dab9013b879e3ae500b79875651c4462e23a9b9fbeab06597828ee00a3 -size 3211676 +oid sha256:ce282eea299d1e50f206a96e8f860f45c44e0a08c6ab8356582775f924d2d795 +size 3211444 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 5b7980e5..a2cefb37 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -19,6 +19,7 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") +addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index b7ed294e..c46097d3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de + +- Remove obsolete insserv requirements for udev again [bsc#999841] + +------------------------------------------------------------------- +Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com + +- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc + + e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) + c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) + 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) + +------------------------------------------------------------------- +Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com + +- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) + + Move that part after the fix on timer timestamp files otherwise the + comment doesn't make sense. + +------------------------------------------------------------------- +Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com + +- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c + + cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice + ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) + +------------------------------------------------------------------- +Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com + +- Ship systemd-resolved but it's disabled by default (bsc#1018387) + + The NSS plugin will also be disabled, users need to enable it + manually. + ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index a0b92de5..c04e4129 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -33,18 +33,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd-mini @@ -230,7 +231,6 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl -Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -706,11 +706,6 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -718,6 +713,11 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -797,7 +797,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue @@ -1002,7 +1001,6 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 5b7980e5..a2cefb37 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -19,6 +19,7 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") +addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd.changes b/systemd.changes index b7ed294e..c46097d3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de + +- Remove obsolete insserv requirements for udev again [bsc#999841] + +------------------------------------------------------------------- +Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com + +- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc + + e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) + c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) + 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) + +------------------------------------------------------------------- +Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com + +- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) + + Move that part after the fix on timer timestamp files otherwise the + comment doesn't make sense. + +------------------------------------------------------------------- +Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com + +- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c + + cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice + ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) + +------------------------------------------------------------------- +Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com + +- Ship systemd-resolved but it's disabled by default (bsc#1018387) + + The NSS plugin will also be disabled, users need to enable it + manually. + ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c1a405c6..7dd89cb4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -31,18 +31,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd @@ -228,7 +229,6 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl -Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -704,11 +704,6 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -716,6 +711,11 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -795,7 +795,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue @@ -1000,7 +999,6 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh From b628eded9731f03055d05fdfb4b6b330b31dd0207093f5db752f1bfbbcac4c03 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 11 Feb 2017 00:24:29 +0000 Subject: [PATCH 289/991] Accepting request 456350 from openSUSE:Factory Revert introduction of systemd-resolv; see boo#1024897 OBS-URL: https://build.opensuse.org/request/show/456350 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=248 --- systemd-232.tar.xz | 4 ++-- systemd-mini-rpmlintrc | 1 - systemd-mini.changes | 38 -------------------------------------- systemd-mini.spec | 16 +++++++++------- systemd-rpmlintrc | 1 - systemd.changes | 38 -------------------------------------- systemd.spec | 16 +++++++++------- 7 files changed, 20 insertions(+), 94 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index c5917f5e..04c9ac5d 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce282eea299d1e50f206a96e8f860f45c44e0a08c6ab8356582775f924d2d795 -size 3211444 +oid sha256:cc6ee1dab9013b879e3ae500b79875651c4462e23a9b9fbeab06597828ee00a3 +size 3211676 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a2cefb37..5b7980e5 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -19,7 +19,6 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index c46097d3..b7ed294e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,41 +1,3 @@ -------------------------------------------------------------------- -Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de - -- Remove obsolete insserv requirements for udev again [bsc#999841] - -------------------------------------------------------------------- -Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com - -- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc - - e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) - c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) - 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) - -------------------------------------------------------------------- -Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com - -- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) - - Move that part after the fix on timer timestamp files otherwise the - comment doesn't make sense. - -------------------------------------------------------------------- -Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com - -- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c - - cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice - ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) - -------------------------------------------------------------------- -Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com - -- Ship systemd-resolved but it's disabled by default (bsc#1018387) - - The NSS plugin will also be disabled, users need to enable it - manually. - ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c04e4129..a0b92de5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -33,19 +33,18 @@ %bcond_with machined %bcond_with importd %bcond_with networkd -%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd -%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif +%bcond_with resolved %bcond_with parentpathid Name: systemd-mini @@ -231,6 +230,7 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl +Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -706,6 +706,11 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -713,11 +718,6 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -797,6 +797,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post +%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue @@ -1001,6 +1002,7 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a2cefb37..5b7980e5 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -19,7 +19,6 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd.changes b/systemd.changes index c46097d3..b7ed294e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,41 +1,3 @@ -------------------------------------------------------------------- -Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de - -- Remove obsolete insserv requirements for udev again [bsc#999841] - -------------------------------------------------------------------- -Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com - -- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc - - e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) - c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) - 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) - -------------------------------------------------------------------- -Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com - -- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) - - Move that part after the fix on timer timestamp files otherwise the - comment doesn't make sense. - -------------------------------------------------------------------- -Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com - -- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c - - cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice - ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) - -------------------------------------------------------------------- -Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com - -- Ship systemd-resolved but it's disabled by default (bsc#1018387) - - The NSS plugin will also be disabled, users need to enable it - manually. - ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 7dd89cb4..c1a405c6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -31,19 +31,18 @@ %bcond_with machined %bcond_with importd %bcond_with networkd -%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd -%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif +%bcond_with resolved %bcond_with parentpathid Name: systemd @@ -229,6 +228,7 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl +Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -704,6 +704,11 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -711,11 +716,6 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -795,6 +795,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post +%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue @@ -999,6 +1000,7 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd +%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh From 31a5909816ca4e5772f97509deec38a0924fff7047b6c079ade9eeff772bf47a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 20 Feb 2017 11:40:16 +0000 Subject: [PATCH 290/991] Accepting request 459204 from home:fbui:systemd:Factory - Don't ship systemd-resolved for now (bsc#1024897) If resolved is enabled , systemd-tmpfiles creates a wrong symlink in /etc/resolv.conf which confuses the network manager actually used. - More indentation cleanup (no functional changes) OBS-URL: https://build.opensuse.org/request/show/459204 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=971 --- systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 14 +++++--------- systemd.changes | 13 +++++++++++++ systemd.spec | 14 +++++--------- 4 files changed, 36 insertions(+), 18 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index c46097d3..f0f16403 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com + +- Don't ship systemd-resolved for now (bsc#1024897) + + If resolved is enabled , systemd-tmpfiles creates a wrong symlink in + /etc/resolv.conf which confuses the network manager actually used. + +------------------------------------------------------------------- +Thu Feb 9 14:06:46 UTC 2017 - fbui@suse.com + +- More indentation cleanup (no functional changes) + ------------------------------------------------------------------- Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index c04e4129..395e85ee 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -33,19 +33,18 @@ %bcond_with machined %bcond_with importd %bcond_with networkd -%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd -%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif +%bcond_with resolved %bcond_with parentpathid Name: systemd-mini @@ -399,9 +398,6 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -echo "Checking whether upstream rpm macros changed..." -#skipped for now -#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -543,9 +539,9 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* # legacy links for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f + ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 %endif done ln -s /usr/lib/udev %{buildroot}/lib/udev @@ -687,7 +683,7 @@ fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -764,7 +760,7 @@ fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} diff --git a/systemd.changes b/systemd.changes index c46097d3..f0f16403 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com + +- Don't ship systemd-resolved for now (bsc#1024897) + + If resolved is enabled , systemd-tmpfiles creates a wrong symlink in + /etc/resolv.conf which confuses the network manager actually used. + +------------------------------------------------------------------- +Thu Feb 9 14:06:46 UTC 2017 - fbui@suse.com + +- More indentation cleanup (no functional changes) + ------------------------------------------------------------------- Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de diff --git a/systemd.spec b/systemd.spec index 7dd89cb4..ec08a56d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -31,19 +31,18 @@ %bcond_with machined %bcond_with importd %bcond_with networkd -%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd -%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif +%bcond_with resolved %bcond_with parentpathid Name: systemd @@ -397,9 +396,6 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -echo "Checking whether upstream rpm macros changed..." -#skipped for now -#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -541,9 +537,9 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* # legacy links for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f + ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 %endif done ln -s /usr/lib/udev %{buildroot}/lib/udev @@ -685,7 +681,7 @@ fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -762,7 +758,7 @@ fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} From d7c0ec82896ae2dcb91ae39df9fe607d82ce28cea1432ad4f23755092fcf4d50 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 21 Feb 2017 12:33:13 +0000 Subject: [PATCH 291/991] Accepting request 459215 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/459215 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=249 --- systemd-232.tar.xz | 4 ++-- systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 51 ++++++++++++++++++++++++++++++++++++++++++ systemd-mini.spec | 24 ++++++++------------ systemd-rpmlintrc | 1 + systemd.changes | 51 ++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 24 ++++++++------------ 7 files changed, 124 insertions(+), 32 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 04c9ac5d..c5917f5e 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc6ee1dab9013b879e3ae500b79875651c4462e23a9b9fbeab06597828ee00a3 -size 3211676 +oid sha256:ce282eea299d1e50f206a96e8f860f45c44e0a08c6ab8356582775f924d2d795 +size 3211444 diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 5b7980e5..a2cefb37 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -19,6 +19,7 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") +addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index b7ed294e..f0f16403 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com + +- Don't ship systemd-resolved for now (bsc#1024897) + + If resolved is enabled , systemd-tmpfiles creates a wrong symlink in + /etc/resolv.conf which confuses the network manager actually used. + +------------------------------------------------------------------- +Thu Feb 9 14:06:46 UTC 2017 - fbui@suse.com + +- More indentation cleanup (no functional changes) + +------------------------------------------------------------------- +Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de + +- Remove obsolete insserv requirements for udev again [bsc#999841] + +------------------------------------------------------------------- +Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com + +- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc + + e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) + c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) + 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) + +------------------------------------------------------------------- +Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com + +- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) + + Move that part after the fix on timer timestamp files otherwise the + comment doesn't make sense. + +------------------------------------------------------------------- +Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com + +- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c + + cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice + ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) + +------------------------------------------------------------------- +Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com + +- Ship systemd-resolved but it's disabled by default (bsc#1018387) + + The NSS plugin will also be disabled, users need to enable it + manually. + ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index a0b92de5..395e85ee 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -230,7 +230,6 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl -Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -399,9 +398,6 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -echo "Checking whether upstream rpm macros changed..." -#skipped for now -#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -543,9 +539,9 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* # legacy links for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f + ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 %endif done ln -s /usr/lib/udev %{buildroot}/lib/udev @@ -687,7 +683,7 @@ fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -706,11 +702,6 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -718,6 +709,11 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -764,7 +760,7 @@ fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} @@ -797,7 +793,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue @@ -1002,7 +997,6 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 5b7980e5..a2cefb37 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -19,6 +19,7 @@ addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") +addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") diff --git a/systemd.changes b/systemd.changes index b7ed294e..f0f16403 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com + +- Don't ship systemd-resolved for now (bsc#1024897) + + If resolved is enabled , systemd-tmpfiles creates a wrong symlink in + /etc/resolv.conf which confuses the network manager actually used. + +------------------------------------------------------------------- +Thu Feb 9 14:06:46 UTC 2017 - fbui@suse.com + +- More indentation cleanup (no functional changes) + +------------------------------------------------------------------- +Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de + +- Remove obsolete insserv requirements for udev again [bsc#999841] + +------------------------------------------------------------------- +Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com + +- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc + + e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) + c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) + 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) + +------------------------------------------------------------------- +Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com + +- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) + + Move that part after the fix on timer timestamp files otherwise the + comment doesn't make sense. + +------------------------------------------------------------------- +Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com + +- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c + + cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice + ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) + +------------------------------------------------------------------- +Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com + +- Ship systemd-resolved but it's disabled by default (bsc#1018387) + + The NSS plugin will also be disabled, users need to enable it + manually. + ------------------------------------------------------------------- Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c1a405c6..ec08a56d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -228,7 +228,6 @@ Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl -Requires(postun): %insserv_prereq Requires(post): coreutils Requires(postun): coreutils @@ -397,9 +396,6 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -echo "Checking whether upstream rpm macros changed..." -#skipped for now -#[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 # only needed for bootstrap %if 0%{?bootstrap} @@ -541,9 +537,9 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* # legacy links for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f + ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 %endif done ln -s /usr/lib/udev %{buildroot}/lib/udev @@ -685,7 +681,7 @@ fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however # backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : fi # migrate any symlink which may refer to the old path @@ -704,11 +700,6 @@ enabled) ;; *) rm -f %{_prefix}/lib/systemd/system/tmp.mount esac -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -716,6 +707,11 @@ for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done +# Same for user lingering created by logind. +for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username +done + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -762,7 +758,7 @@ fi >/dev/null %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") + posix.symlink("/lib/udev", "/usr/lib/udev") end %pre -n udev%{?mini} @@ -795,7 +791,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -%insserv_cleanup systemctl daemon-reload || : # On package update: the restart of the socket units will probably # fail as the daemon is most likely running. It's not really an issue @@ -1000,7 +995,6 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/systemd/system/ctrl-alt-del.target %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh From 9ca5e1ecb9d8d4a6cec039b1c8203446a55f8e20018c12590a5c785ceddcc4fc Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 3 Mar 2017 19:39:09 +0000 Subject: [PATCH 292/991] Accepting request 476801 from home:fbui:systemd:Factory - Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) f34234c54 build-sys: add check for gperf lookup function signature (#5055) 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) 471b26807 sd-event: when an event source fails, don't assume the type of it is still set OBS-URL: https://build.opensuse.org/request/show/476801 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=972 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 11 +++++++++++ systemd.changes | 11 +++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index c5917f5e..37cf1ebe 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce282eea299d1e50f206a96e8f860f45c44e0a08c6ab8356582775f924d2d795 -size 3211444 +oid sha256:8ddb8408e0853114e70b99718b15e995d44157f722be5dd6d79f5dbb678a7e86 +size 3212144 diff --git a/systemd-mini.changes b/systemd-mini.changes index f0f16403..225e7478 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com + +- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc + + 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) + 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) + f34234c54 build-sys: add check for gperf lookup function signature (#5055) + 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) + 471b26807 sd-event: when an event source fails, don't assume the type of it is still set + ------------------------------------------------------------------- Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index f0f16403..225e7478 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com + +- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc + + 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) + 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) + f34234c54 build-sys: add check for gperf lookup function signature (#5055) + 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) + 471b26807 sd-event: when an event source fails, don't assume the type of it is still set + ------------------------------------------------------------------- Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com From 0d468cf7eff5e6401d83c0d27d62545f8e016b372f9a4043182a40615fd36311 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 7 Mar 2017 23:38:25 +0000 Subject: [PATCH 293/991] Accepting request 476828 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/476828 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=250 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 11 +++++++++++ systemd.changes | 11 +++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index c5917f5e..37cf1ebe 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce282eea299d1e50f206a96e8f860f45c44e0a08c6ab8356582775f924d2d795 -size 3211444 +oid sha256:8ddb8408e0853114e70b99718b15e995d44157f722be5dd6d79f5dbb678a7e86 +size 3212144 diff --git a/systemd-mini.changes b/systemd-mini.changes index f0f16403..225e7478 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com + +- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc + + 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) + 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) + f34234c54 build-sys: add check for gperf lookup function signature (#5055) + 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) + 471b26807 sd-event: when an event source fails, don't assume the type of it is still set + ------------------------------------------------------------------- Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index f0f16403..225e7478 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com + +- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc + + 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) + 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) + f34234c54 build-sys: add check for gperf lookup function signature (#5055) + 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) + 471b26807 sd-event: when an event source fails, don't assume the type of it is still set + ------------------------------------------------------------------- Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com From 43394d73d47a9875dc615fdf5d7b3d1a2a159cd0d5d8899bb32f6001a0fb085a Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 9 Mar 2017 08:41:34 +0000 Subject: [PATCH 294/991] Accepting request 477414 from home:fbui:systemd:Factory - Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 76d4d05fb udev: fix variable assignment 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest OBS-URL: https://build.opensuse.org/request/show/477414 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=973 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 10 ++++++++++ systemd.changes | 10 ++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 37cf1ebe..aa6dd56f 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ddb8408e0853114e70b99718b15e995d44157f722be5dd6d79f5dbb678a7e86 -size 3212144 +oid sha256:0b18396fcc866a33113def88f733742525aee7017ae7d3f593c69e7534414150 +size 3212320 diff --git a/systemd-mini.changes b/systemd-mini.changes index 225e7478..aaafd423 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com + +- Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 + + 76d4d05fb udev: fix variable assignment + 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) + d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format + 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest + ------------------------------------------------------------------- Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 225e7478..aaafd423 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com + +- Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 + + 76d4d05fb udev: fix variable assignment + 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) + d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format + 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest + ------------------------------------------------------------------- Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com From 149bd462d09ce15ad28e65dcc4018d2b4caf7522d172445ff5734e62c1820bba Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 15 Mar 2017 00:04:11 +0000 Subject: [PATCH 295/991] Accepting request 477902 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/477902 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=251 --- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 10 ++++++++++ systemd.changes | 10 ++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 37cf1ebe..aa6dd56f 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ddb8408e0853114e70b99718b15e995d44157f722be5dd6d79f5dbb678a7e86 -size 3212144 +oid sha256:0b18396fcc866a33113def88f733742525aee7017ae7d3f593c69e7534414150 +size 3212320 diff --git a/systemd-mini.changes b/systemd-mini.changes index 225e7478..aaafd423 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com + +- Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 + + 76d4d05fb udev: fix variable assignment + 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) + d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format + 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest + ------------------------------------------------------------------- Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 225e7478..aaafd423 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com + +- Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 + + 76d4d05fb udev: fix variable assignment + 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) + d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format + 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest + ------------------------------------------------------------------- Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com From 92e9cf3383ac31c705760fecac53a90a4f5fee2808bdfcbc47998ba11e7d5cfa Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 15 Mar 2017 07:16:24 +0000 Subject: [PATCH 296/991] Accepting request 479267 from home:fbui:systemd:Factory - Initialize /etc/machine-id during the first boot (bsc#1024740) Previously that was done at package installation but it didn't fit well for appliance builds. OBS-URL: https://build.opensuse.org/request/show/479267 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=974 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 12 +++++++++++- systemd.changes | 8 ++++++++ systemd.spec | 12 +++++++++++- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index aaafd423..c5fb2402 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com + +- Initialize /etc/machine-id during the first boot (bsc#1024740) + + Previously that was done at package installation but it didn't fit + well for appliance builds. + ------------------------------------------------------------------- Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 395e85ee..03d57366 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -646,13 +646,23 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map exit 0 %post +# Make /etc/machine-id an empty file during package installation. On +# the first boot, machine-id is initialized and either committed (if +# /etc/ is writable) or the system/image runs with a transient machine +# ID, that changes on each boot (if the image is read-only). This is +# especially important for appliance builds to avoid an identical +# machine ID in all images. +if [ $1 -eq 1 ]; then + touch %{_sysconfdir}/machine-id + chmod 666 %{_sysconfdir}/machine-id +fi + %sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update diff --git a/systemd.changes b/systemd.changes index aaafd423..c5fb2402 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com + +- Initialize /etc/machine-id during the first boot (bsc#1024740) + + Previously that was done at package installation but it didn't fit + well for appliance builds. + ------------------------------------------------------------------- Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ec08a56d..c5f443c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -644,13 +644,23 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map exit 0 %post +# Make /etc/machine-id an empty file during package installation. On +# the first boot, machine-id is initialized and either committed (if +# /etc/ is writable) or the system/image runs with a transient machine +# ID, that changes on each boot (if the image is read-only). This is +# especially important for appliance builds to avoid an identical +# machine ID in all images. +if [ $1 -eq 1 ]; then + touch %{_sysconfdir}/machine-id + chmod 666 %{_sysconfdir}/machine-id +fi + %sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update From 1481556801ac7e862ec77488c1520c208fb417434da5d7793597003e2c24e57e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 17 Mar 2017 13:59:32 +0000 Subject: [PATCH 297/991] Accepting request 479432 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/479432 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=252 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 12 +++++++++++- systemd.changes | 8 ++++++++ systemd.spec | 12 +++++++++++- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index aaafd423..c5fb2402 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com + +- Initialize /etc/machine-id during the first boot (bsc#1024740) + + Previously that was done at package installation but it didn't fit + well for appliance builds. + ------------------------------------------------------------------- Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 395e85ee..03d57366 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -646,13 +646,23 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map exit 0 %post +# Make /etc/machine-id an empty file during package installation. On +# the first boot, machine-id is initialized and either committed (if +# /etc/ is writable) or the system/image runs with a transient machine +# ID, that changes on each boot (if the image is read-only). This is +# especially important for appliance builds to avoid an identical +# machine ID in all images. +if [ $1 -eq 1 ]; then + touch %{_sysconfdir}/machine-id + chmod 666 %{_sysconfdir}/machine-id +fi + %sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update diff --git a/systemd.changes b/systemd.changes index aaafd423..c5fb2402 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com + +- Initialize /etc/machine-id during the first boot (bsc#1024740) + + Previously that was done at package installation but it didn't fit + well for appliance builds. + ------------------------------------------------------------------- Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ec08a56d..c5f443c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -644,13 +644,23 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map exit 0 %post +# Make /etc/machine-id an empty file during package installation. On +# the first boot, machine-id is initialized and either committed (if +# /etc/ is writable) or the system/image runs with a transient machine +# ID, that changes on each boot (if the image is read-only). This is +# especially important for appliance builds to avoid an identical +# machine ID in all images. +if [ $1 -eq 1 ]; then + touch %{_sysconfdir}/machine-id + chmod 666 %{_sysconfdir}/machine-id +fi + %sysusers_create /usr/lib/sysusers.d/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -systemd-machine-id-setup || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update From dbd26282929413143007b20913454043c2ada0674391e6545fc1ad344cb386ca Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 10 Apr 2017 13:13:20 +0000 Subject: [PATCH 298/991] Accepting request 487022 from home:fbui:systemd:Factory - Import commit f0325620d23a247682c629d28883a364e4a7a8c4 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) - Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) OBS-URL: https://build.opensuse.org/request/show/487022 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=975 --- fix-machines-subvol-for-rollbacks.sh | 23 ++++++++++++++++++++--- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 17 +++++++++++++++++ systemd.changes | 17 +++++++++++++++++ 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/fix-machines-subvol-for-rollbacks.sh b/fix-machines-subvol-for-rollbacks.sh index 7bdf5d2c..a1b0832e 100644 --- a/fix-machines-subvol-for-rollbacks.sh +++ b/fix-machines-subvol-for-rollbacks.sh @@ -57,9 +57,26 @@ on_exit() { } # -# If something is already mounted don't try to fix anything, the -# subvolume has already been created by either mksubvolume(8) or by -# the admin. In the later case we don't want to screw up his setup. +# If there's already an entry in fstab for /var/lib/machines, it +# means that: +# +# - the installer initialized /var/lib/machines correctly (default) +# - we already fixed it +# - the sysadmin added it manually +# +# In any cases we should exit. +# +# Note: we can't simply check if /var/lib/machines has been mounted +# because an update through a chroot might be in progress (see +# bsc#1030290). +# +if mount --fake /var/lib/machines 2>/dev/null; then + exit +fi + +# +# If something is already mounted don't try to fix anything, it's been +# done manually by the sysadmin. # if mountpoint -q /var/lib/machines; then exit diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index aa6dd56f..2d2037f3 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b18396fcc866a33113def88f733742525aee7017ae7d3f593c69e7534414150 -size 3212320 +oid sha256:51c12300bec369cb034266fc885beaefd9460ed04b039b341bc7dc39157aa5f8 +size 3212352 diff --git a/systemd-mini.changes b/systemd-mini.changes index c5fb2402..40d8a095 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com + +- Import commit f0325620d23a247682c629d28883a364e4a7a8c4 + + 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) + f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) + 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) + 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) + 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) + 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) + +------------------------------------------------------------------- +Wed Mar 22 13:24:57 UTC 2017 - fbui@suse.com + +- Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) + ------------------------------------------------------------------- Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index c5fb2402..40d8a095 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com + +- Import commit f0325620d23a247682c629d28883a364e4a7a8c4 + + 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) + f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) + 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) + 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) + 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) + 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) + +------------------------------------------------------------------- +Wed Mar 22 13:24:57 UTC 2017 - fbui@suse.com + +- Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) + ------------------------------------------------------------------- Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com From 1784aea1441697dde205e73ed8fefefc9c56379c9238b2286351bf6aa7292e4c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 24 Apr 2017 07:47:19 +0000 Subject: [PATCH 299/991] Accepting request 487063 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/487063 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=253 --- fix-machines-subvol-for-rollbacks.sh | 23 ++++++++++++++++++++--- systemd-232.tar.xz | 4 ++-- systemd-mini.changes | 17 +++++++++++++++++ systemd.changes | 17 +++++++++++++++++ 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/fix-machines-subvol-for-rollbacks.sh b/fix-machines-subvol-for-rollbacks.sh index 7bdf5d2c..a1b0832e 100644 --- a/fix-machines-subvol-for-rollbacks.sh +++ b/fix-machines-subvol-for-rollbacks.sh @@ -57,9 +57,26 @@ on_exit() { } # -# If something is already mounted don't try to fix anything, the -# subvolume has already been created by either mksubvolume(8) or by -# the admin. In the later case we don't want to screw up his setup. +# If there's already an entry in fstab for /var/lib/machines, it +# means that: +# +# - the installer initialized /var/lib/machines correctly (default) +# - we already fixed it +# - the sysadmin added it manually +# +# In any cases we should exit. +# +# Note: we can't simply check if /var/lib/machines has been mounted +# because an update through a chroot might be in progress (see +# bsc#1030290). +# +if mount --fake /var/lib/machines 2>/dev/null; then + exit +fi + +# +# If something is already mounted don't try to fix anything, it's been +# done manually by the sysadmin. # if mountpoint -q /var/lib/machines; then exit diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index aa6dd56f..2d2037f3 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b18396fcc866a33113def88f733742525aee7017ae7d3f593c69e7534414150 -size 3212320 +oid sha256:51c12300bec369cb034266fc885beaefd9460ed04b039b341bc7dc39157aa5f8 +size 3212352 diff --git a/systemd-mini.changes b/systemd-mini.changes index c5fb2402..40d8a095 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com + +- Import commit f0325620d23a247682c629d28883a364e4a7a8c4 + + 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) + f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) + 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) + 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) + 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) + 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) + +------------------------------------------------------------------- +Wed Mar 22 13:24:57 UTC 2017 - fbui@suse.com + +- Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) + ------------------------------------------------------------------- Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index c5fb2402..40d8a095 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com + +- Import commit f0325620d23a247682c629d28883a364e4a7a8c4 + + 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) + f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) + 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) + 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) + 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) + 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) + +------------------------------------------------------------------- +Wed Mar 22 13:24:57 UTC 2017 - fbui@suse.com + +- Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) + ------------------------------------------------------------------- Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com From fd153eb47d10697b3b21b2307f51c7dbc5382e8f3c8b6053da69b7487f8b1822 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 4 May 2017 08:15:39 +0000 Subject: [PATCH 300/991] Accepting request 492806 from home:fbui:systemd:Factory - Ship /var/log/README Unfortunately it's not possible to also ship /etc/init.d/README because of rpm "sanity" checks that prevent executable in /etc/init.d - Drop systemd-{journalctl,loginctl} legacy symlinks. - Drop %preun section Currently the only use of this section is to remove the symlinks enabling systemd services on package removal. Those symlinks were initially installed by the systemd package installation but could have been overriden by the sysadmin later. If so the symlinks shouldn't be uninstalled. Also in a near futur disabling services will install a symlink to /dev/null. - Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) - Make use of %systemd_postun() - Restart a couple of systemd services on package update Those services (most notably journald) should support restarting these days. However logind still doesn't but that should be fixed pretty soon, well I hope :) - Don't buildrequire pam-config, it's not used at this step. OBS-URL: https://build.opensuse.org/request/show/492806 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=976 --- systemd-232.tar.xz | 4 +-- systemd-mini.changes | 80 ++++++++++++++++++++++++++++++++++++++++++++ systemd-mini.spec | 55 +++++++----------------------- systemd.changes | 80 ++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 55 +++++++----------------------- 5 files changed, 186 insertions(+), 88 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 2d2037f3..345e172d 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51c12300bec369cb034266fc885beaefd9460ed04b039b341bc7dc39157aa5f8 -size 3212352 +oid sha256:81d3fc89d42d3f3f27d898e94ef8e7d6b5b6bae6deccaffc0a778b30f4b7c570 +size 3213256 diff --git a/systemd-mini.changes b/systemd-mini.changes index 40d8a095..ed4231ac 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,83 @@ +------------------------------------------------------------------- +Tue May 2 16:17:08 UTC 2017 - fbui@suse.com + +- Ship /var/log/README + + Unfortunately it's not possible to also ship /etc/init.d/README + because of rpm "sanity" checks that prevent executable in + /etc/init.d + +------------------------------------------------------------------- +Tue May 2 14:33:58 UTC 2017 - fbui@suse.com + +- Drop systemd-{journalctl,loginctl} legacy symlinks. + +------------------------------------------------------------------- +Tue May 2 13:55:31 UTC 2017 - fbui@suse.com + +- Drop %preun section + + Currently the only use of this section is to remove the symlinks + enabling systemd services on package removal. Those symlinks were + initially installed by the systemd package installation but could + have been overriden by the sysadmin later. If so the symlinks + shouldn't be uninstalled. + + Also in a near futur disabling services will install a symlink to + /dev/null. + +------------------------------------------------------------------- +Tue May 2 13:40:12 UTC 2017 - fbui@suse.com + +- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 + + 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) + fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) + b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) + cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) + +------------------------------------------------------------------- +Tue May 2 13:37:44 UTC 2017 - fbui@suse.com + +- Make use of %systemd_postun() + +------------------------------------------------------------------- +Tue May 2 13:28:17 UTC 2017 - fbui@suse.com + +- Restart a couple of systemd services on package update + + Those services (most notably journald) should support restarting + these days. However logind still doesn't but that should be fixed + pretty soon, well I hope :) + +------------------------------------------------------------------- +Tue May 2 13:13:25 UTC 2017 - fbui@suse.com + +- Don't buildrequire pam-config, it's not used at this step. + + Also drop the use of it in %postun as it can't realistically + happen... + +------------------------------------------------------------------- +Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com + +- Don't call /sbin/ldconfig in %post of the main package + + systemd main package doesn't ship any shared libs so there's no + point in calling ldconfig in %post/%postun + +------------------------------------------------------------------- +Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com + +- Silent %tmpfiles_create in %post (bsc#1034938) + + Due to bsc#1024740, we stopped generating /etc/machine-id during + systemd package installation making the specifier '%m' unavailable + in the tmpfiles.d configuration files at this time. + + Make it simple for now and silent %tmpfiles_create, after all that's + how the macro was implemented originally. + ------------------------------------------------------------------- Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 03d57366..be8414b7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -76,7 +76,6 @@ BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: pam-config >= 0.79-5 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -117,7 +116,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools @@ -523,11 +521,9 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf -# remove README file for now +# Remove README file in init.d as (SUSE) rpm requires executable files +# in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -%endif # journal-upload is built if libcurl is installed which can happen # when importd is enabled (whereas journal_remote is not). @@ -537,13 +533,7 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done +# legacy link ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal @@ -661,12 +651,11 @@ fi %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif -ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create +%tmpfiles_create 2>/dev/null # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -744,29 +733,12 @@ if [ $1 -gt 1 ]; then fi %postun -ldconfig -if [ $1 -ge 1 ]; then - systemctl daemon-reload || : - # Avoid restarting logind [bnc#934901] until fixed upstream - #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : - - rm -f /etc/systemd/system/default.target -fi >/dev/null +%systemd_postun +# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-networkd.service +%systemd_postun_with_restart systemd-timesyncd.service +%systemd_postun_with_restart systemd-resolved.service %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -899,11 +871,9 @@ fi %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run -%{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl -%{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles @@ -1122,6 +1092,7 @@ fi %{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd + %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules @@ -1241,9 +1212,7 @@ fi %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif +%doc %{_localstatedir}/log/README %files -n nss-myhostname %defattr(-, root, root) diff --git a/systemd.changes b/systemd.changes index 40d8a095..ed4231ac 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,83 @@ +------------------------------------------------------------------- +Tue May 2 16:17:08 UTC 2017 - fbui@suse.com + +- Ship /var/log/README + + Unfortunately it's not possible to also ship /etc/init.d/README + because of rpm "sanity" checks that prevent executable in + /etc/init.d + +------------------------------------------------------------------- +Tue May 2 14:33:58 UTC 2017 - fbui@suse.com + +- Drop systemd-{journalctl,loginctl} legacy symlinks. + +------------------------------------------------------------------- +Tue May 2 13:55:31 UTC 2017 - fbui@suse.com + +- Drop %preun section + + Currently the only use of this section is to remove the symlinks + enabling systemd services on package removal. Those symlinks were + initially installed by the systemd package installation but could + have been overriden by the sysadmin later. If so the symlinks + shouldn't be uninstalled. + + Also in a near futur disabling services will install a symlink to + /dev/null. + +------------------------------------------------------------------- +Tue May 2 13:40:12 UTC 2017 - fbui@suse.com + +- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 + + 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) + fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) + b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) + cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) + +------------------------------------------------------------------- +Tue May 2 13:37:44 UTC 2017 - fbui@suse.com + +- Make use of %systemd_postun() + +------------------------------------------------------------------- +Tue May 2 13:28:17 UTC 2017 - fbui@suse.com + +- Restart a couple of systemd services on package update + + Those services (most notably journald) should support restarting + these days. However logind still doesn't but that should be fixed + pretty soon, well I hope :) + +------------------------------------------------------------------- +Tue May 2 13:13:25 UTC 2017 - fbui@suse.com + +- Don't buildrequire pam-config, it's not used at this step. + + Also drop the use of it in %postun as it can't realistically + happen... + +------------------------------------------------------------------- +Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com + +- Don't call /sbin/ldconfig in %post of the main package + + systemd main package doesn't ship any shared libs so there's no + point in calling ldconfig in %post/%postun + +------------------------------------------------------------------- +Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com + +- Silent %tmpfiles_create in %post (bsc#1034938) + + Due to bsc#1024740, we stopped generating /etc/machine-id during + systemd package installation making the specifier '%m' unavailable + in the tmpfiles.d configuration files at this time. + + Make it simple for now and silent %tmpfiles_create, after all that's + how the macro was implemented originally. + ------------------------------------------------------------------- Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c5f443c7..ecb0ea33 100644 --- a/systemd.spec +++ b/systemd.spec @@ -74,7 +74,6 @@ BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: pam-config >= 0.79-5 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -115,7 +114,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools @@ -521,11 +519,9 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf -# remove README file for now +# Remove README file in init.d as (SUSE) rpm requires executable files +# in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -%endif # journal-upload is built if libcurl is installed which can happen # when importd is enabled (whereas journal_remote is not). @@ -535,13 +531,7 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done +# legacy link ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal @@ -659,12 +649,11 @@ fi %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif -ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create +%tmpfiles_create 2>/dev/null # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -742,29 +731,12 @@ if [ $1 -gt 1 ]; then fi %postun -ldconfig -if [ $1 -ge 1 ]; then - systemctl daemon-reload || : - # Avoid restarting logind [bnc#934901] until fixed upstream - #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : - - rm -f /etc/systemd/system/default.target -fi >/dev/null +%systemd_postun +# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-networkd.service +%systemd_postun_with_restart systemd-timesyncd.service +%systemd_postun_with_restart systemd-resolved.service %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -897,11 +869,9 @@ fi %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run -%{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl -%{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles @@ -1120,6 +1090,7 @@ fi %{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd + %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules @@ -1239,9 +1210,7 @@ fi %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif +%doc %{_localstatedir}/log/README %files -n nss-myhostname %defattr(-, root, root) From 9bef89eb762026fd0f4de7fa28b0cffef58e8a1ef6be3b15c9ae6e35f96045b4 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 17 May 2017 08:45:36 +0000 Subject: [PATCH 301/991] Accepting request 492807 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/492807 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=254 --- systemd-232.tar.xz | 4 +-- systemd-mini.changes | 80 ++++++++++++++++++++++++++++++++++++++++++++ systemd-mini.spec | 55 +++++++----------------------- systemd.changes | 80 ++++++++++++++++++++++++++++++++++++++++++++ systemd.spec | 55 +++++++----------------------- 5 files changed, 186 insertions(+), 88 deletions(-) diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz index 2d2037f3..345e172d 100644 --- a/systemd-232.tar.xz +++ b/systemd-232.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51c12300bec369cb034266fc885beaefd9460ed04b039b341bc7dc39157aa5f8 -size 3212352 +oid sha256:81d3fc89d42d3f3f27d898e94ef8e7d6b5b6bae6deccaffc0a778b30f4b7c570 +size 3213256 diff --git a/systemd-mini.changes b/systemd-mini.changes index 40d8a095..ed4231ac 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,83 @@ +------------------------------------------------------------------- +Tue May 2 16:17:08 UTC 2017 - fbui@suse.com + +- Ship /var/log/README + + Unfortunately it's not possible to also ship /etc/init.d/README + because of rpm "sanity" checks that prevent executable in + /etc/init.d + +------------------------------------------------------------------- +Tue May 2 14:33:58 UTC 2017 - fbui@suse.com + +- Drop systemd-{journalctl,loginctl} legacy symlinks. + +------------------------------------------------------------------- +Tue May 2 13:55:31 UTC 2017 - fbui@suse.com + +- Drop %preun section + + Currently the only use of this section is to remove the symlinks + enabling systemd services on package removal. Those symlinks were + initially installed by the systemd package installation but could + have been overriden by the sysadmin later. If so the symlinks + shouldn't be uninstalled. + + Also in a near futur disabling services will install a symlink to + /dev/null. + +------------------------------------------------------------------- +Tue May 2 13:40:12 UTC 2017 - fbui@suse.com + +- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 + + 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) + fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) + b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) + cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) + +------------------------------------------------------------------- +Tue May 2 13:37:44 UTC 2017 - fbui@suse.com + +- Make use of %systemd_postun() + +------------------------------------------------------------------- +Tue May 2 13:28:17 UTC 2017 - fbui@suse.com + +- Restart a couple of systemd services on package update + + Those services (most notably journald) should support restarting + these days. However logind still doesn't but that should be fixed + pretty soon, well I hope :) + +------------------------------------------------------------------- +Tue May 2 13:13:25 UTC 2017 - fbui@suse.com + +- Don't buildrequire pam-config, it's not used at this step. + + Also drop the use of it in %postun as it can't realistically + happen... + +------------------------------------------------------------------- +Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com + +- Don't call /sbin/ldconfig in %post of the main package + + systemd main package doesn't ship any shared libs so there's no + point in calling ldconfig in %post/%postun + +------------------------------------------------------------------- +Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com + +- Silent %tmpfiles_create in %post (bsc#1034938) + + Due to bsc#1024740, we stopped generating /etc/machine-id during + systemd package installation making the specifier '%m' unavailable + in the tmpfiles.d configuration files at this time. + + Make it simple for now and silent %tmpfiles_create, after all that's + how the macro was implemented originally. + ------------------------------------------------------------------- Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 03d57366..be8414b7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -76,7 +76,6 @@ BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: pam-config >= 0.79-5 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -117,7 +116,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools @@ -523,11 +521,9 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf -# remove README file for now +# Remove README file in init.d as (SUSE) rpm requires executable files +# in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -%endif # journal-upload is built if libcurl is installed which can happen # when importd is enabled (whereas journal_remote is not). @@ -537,13 +533,7 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done +# legacy link ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal @@ -661,12 +651,11 @@ fi %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif -ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create +%tmpfiles_create 2>/dev/null # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -744,29 +733,12 @@ if [ $1 -gt 1 ]; then fi %postun -ldconfig -if [ $1 -ge 1 ]; then - systemctl daemon-reload || : - # Avoid restarting logind [bnc#934901] until fixed upstream - #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : - - rm -f /etc/systemd/system/default.target -fi >/dev/null +%systemd_postun +# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-networkd.service +%systemd_postun_with_restart systemd-timesyncd.service +%systemd_postun_with_restart systemd-resolved.service %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -899,11 +871,9 @@ fi %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run -%{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl -%{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles @@ -1122,6 +1092,7 @@ fi %{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd + %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules @@ -1241,9 +1212,7 @@ fi %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif +%doc %{_localstatedir}/log/README %files -n nss-myhostname %defattr(-, root, root) diff --git a/systemd.changes b/systemd.changes index 40d8a095..ed4231ac 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,83 @@ +------------------------------------------------------------------- +Tue May 2 16:17:08 UTC 2017 - fbui@suse.com + +- Ship /var/log/README + + Unfortunately it's not possible to also ship /etc/init.d/README + because of rpm "sanity" checks that prevent executable in + /etc/init.d + +------------------------------------------------------------------- +Tue May 2 14:33:58 UTC 2017 - fbui@suse.com + +- Drop systemd-{journalctl,loginctl} legacy symlinks. + +------------------------------------------------------------------- +Tue May 2 13:55:31 UTC 2017 - fbui@suse.com + +- Drop %preun section + + Currently the only use of this section is to remove the symlinks + enabling systemd services on package removal. Those symlinks were + initially installed by the systemd package installation but could + have been overriden by the sysadmin later. If so the symlinks + shouldn't be uninstalled. + + Also in a near futur disabling services will install a symlink to + /dev/null. + +------------------------------------------------------------------- +Tue May 2 13:40:12 UTC 2017 - fbui@suse.com + +- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 + + 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) + fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) + b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) + cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) + +------------------------------------------------------------------- +Tue May 2 13:37:44 UTC 2017 - fbui@suse.com + +- Make use of %systemd_postun() + +------------------------------------------------------------------- +Tue May 2 13:28:17 UTC 2017 - fbui@suse.com + +- Restart a couple of systemd services on package update + + Those services (most notably journald) should support restarting + these days. However logind still doesn't but that should be fixed + pretty soon, well I hope :) + +------------------------------------------------------------------- +Tue May 2 13:13:25 UTC 2017 - fbui@suse.com + +- Don't buildrequire pam-config, it's not used at this step. + + Also drop the use of it in %postun as it can't realistically + happen... + +------------------------------------------------------------------- +Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com + +- Don't call /sbin/ldconfig in %post of the main package + + systemd main package doesn't ship any shared libs so there's no + point in calling ldconfig in %post/%postun + +------------------------------------------------------------------- +Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com + +- Silent %tmpfiles_create in %post (bsc#1034938) + + Due to bsc#1024740, we stopped generating /etc/machine-id during + systemd package installation making the specifier '%m' unavailable + in the tmpfiles.d configuration files at this time. + + Make it simple for now and silent %tmpfiles_create, after all that's + how the macro was implemented originally. + ------------------------------------------------------------------- Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c5f443c7..ecb0ea33 100644 --- a/systemd.spec +++ b/systemd.spec @@ -74,7 +74,6 @@ BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: pam-config >= 0.79-5 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -115,7 +114,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools @@ -521,11 +519,9 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf -# remove README file for now +# Remove README file in init.d as (SUSE) rpm requires executable files +# in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -%if 0%{?bootstrap} -rm -f %{buildroot}%{_localstatedir}/log/README -%endif # journal-upload is built if libcurl is installed which can happen # when importd is enabled (whereas journal_remote is not). @@ -535,13 +531,7 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* %endif -# legacy links -for f in loginctl journalctl ; do - ln -s $f %{buildroot}%{_bindir}/systemd-$f -%if ! 0%{?bootstrap} - ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 -%endif -done +# legacy link ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal @@ -659,12 +649,11 @@ fi %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif -ldconfig [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create +%tmpfiles_create 2>/dev/null # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -742,29 +731,12 @@ if [ $1 -gt 1 ]; then fi %postun -ldconfig -if [ $1 -ge 1 ]; then - systemctl daemon-reload || : - # Avoid restarting logind [bnc#934901] until fixed upstream - #systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : -fi -%if ! 0%{?bootstrap} -if [ $1 -eq 0 ]; then - pam-config -d --systemd || : -fi -%endif - -%preun -if [ $1 -eq 0 ]; then - systemctl disable remote-fs.target || : - systemctl disable getty@.service || : - systemctl disable systemd-networkd.service || : - systemctl disable systemd-networkd-wait-online.service || : - systemctl disable systemd-timesyncd.service || : - systemctl disable systemd-resolved.service || : - - rm -f /etc/systemd/system/default.target -fi >/dev/null +%systemd_postun +# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-networkd.service +%systemd_postun_with_restart systemd-timesyncd.service +%systemd_postun_with_restart systemd-resolved.service %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -897,11 +869,9 @@ fi %{_bindir}/systemd-mount %{_bindir}/systemd-notify %{_bindir}/systemd-run -%{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl -%{_bindir}/systemd-loginctl %{_bindir}/systemd-inhibit %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles @@ -1120,6 +1090,7 @@ fi %{_mandir}/man8/systemd-u[ps]* %endif %{_docdir}/systemd + %{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_prefix}/lib/udev/rules.d/71-seat.rules %{_prefix}/lib/udev/rules.d/73-seat-late.rules @@ -1239,9 +1210,7 @@ fi %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%{_localstatedir}/log/README -%endif +%doc %{_localstatedir}/log/README %files -n nss-myhostname %defattr(-, root, root) From 870853a831ecce814dc1f0b431eb061b1c2ea4359de1880ae9044738550eb624 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 7 Jun 2017 10:48:51 +0000 Subject: [PATCH 302/991] Accepting request 501636 from home:fbui:systemd:Factory - Make sure dracut (if installed) will embed the new compat rule (bsc#982303) The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. - Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) - package new systemd-umount binary - package new environment generator stuff - drop /dev/root symlink support - /etc/pam.d/systemd-user is not patched anymore but we ship a dedicated file for SUSE now. - manage compat symlink generation in a dedicated branch (bsc#1040153) - Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) The database might be missing when upgrading a package which was shipping no sysv init scripts nor unit files (at the time --save was called) but the new version start shipping unit files. - Fix indentation in systemd-sysv-convert While at it, strip trailing whitespaces. No functional changes. - Disable group shadow support (bsc#1029516) The new configure option will be imported during the next tarball update. OBS-URL: https://build.opensuse.org/request/show/501636 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=977 --- systemd-232.tar.xz | 3 - systemd-233.tar.xz | 3 + systemd-mini.changes | 46 +++++++++++++++ systemd-mini.spec | 30 +++++++++- systemd-sysv-convert | 132 ++++++++++++++++++++++++------------------- systemd-user | 9 +++ systemd.changes | 46 +++++++++++++++ systemd.spec | 30 +++++++++- 8 files changed, 232 insertions(+), 67 deletions(-) delete mode 100644 systemd-232.tar.xz create mode 100644 systemd-233.tar.xz create mode 100644 systemd-user diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz deleted file mode 100644 index 345e172d..00000000 --- a/systemd-232.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:81d3fc89d42d3f3f27d898e94ef8e7d6b5b6bae6deccaffc0a778b30f4b7c570 -size 3213256 diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz new file mode 100644 index 00000000..15902cbf --- /dev/null +++ b/systemd-233.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68abe8a1ad8d19c64f4e10fdee7b8aceebc7d49fc2bb2711408171bdc841e67a +size 3255548 diff --git a/systemd-mini.changes b/systemd-mini.changes index ed4231ac..f18b3bc5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com + +- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) + + The new compat rule must be embedded in the initramfs so make sure + that the installed dracut supports it. + +------------------------------------------------------------------- +Wed May 24 11:23:10 UTC 2017 - fbui@suse.com + +- Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) + + - package new systemd-umount binary + - package new environment generator stuff + - drop /dev/root symlink support + - /etc/pam.d/systemd-user is not patched anymore but we ship a + dedicated file for SUSE now. + - manage compat symlink generation in a dedicated branch (bsc#1040153) + +------------------------------------------------------------------- +Wed May 17 15:57:19 UTC 2017 - fbui@suse.com + +- Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) + + The database might be missing when upgrading a package which was + shipping no sysv init scripts nor unit files (at the time --save was + called) but the new version start shipping unit files. + +------------------------------------------------------------------- +Wed May 17 13:14:40 UTC 2017 - fbui@suse.com + +- Fix indentation in systemd-sysv-convert + + While at it, strip trailing whitespaces. + + No functional changes. + +------------------------------------------------------------------- +Thu May 11 08:47:48 UTC 2017 - fbui@suse.com + +- Disable group shadow support (bsc#1029516) + + The new configure option will be imported during the next tarball + update. + ------------------------------------------------------------------- Tue May 2 16:17:08 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index be8414b7..ba13ee3f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 232 +Version: 233 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -142,6 +142,7 @@ Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-%{version}.tar.xz Source1: %{name}-rpmlintrc +Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 @@ -237,6 +238,7 @@ Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: dracut < 044.1 Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem @@ -433,6 +435,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-lto \ --disable-tests \ --without-kill-user-processes \ + --with-default-hierarchy=hybrid \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -441,6 +444,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-adm-group \ --disable-wheel-group \ --disable-ldconfig \ + --disable-gshadow \ %if %{without networkd} --disable-networkd \ %endif @@ -497,6 +501,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target +# Overwrite /etc/pam.d/systemd-user shipped by upstream with one +# customized for openSUSE distros. +install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ + # We keep a copy of tmp.mount because it may be removed if not used # (see %post): we want to be sure tmpfs won't be used for /tmp by # default on Suse distros. @@ -756,6 +764,14 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi +# New installations uses the last compat symlink generation number +# (currently at 2), which basically disables all compat symlinks. On +# old systems, the file doesn't exist. This is equivalent to +# generation #1, which enables the creation of all compat symlinks. +if [ $1 -eq 1 ]; then + echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation +fi + # Create "tape"/"input" group which is referenced by some udev rules # that we're shipping. FIXME: maybe we should consider using # "sysusers_create basic.conf" instead ? @@ -869,6 +885,7 @@ fi %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount +%{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/journalctl @@ -921,7 +938,7 @@ fi %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/libsystemd-shared-*.so %{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog @@ -931,6 +948,7 @@ fi %{_prefix}/lib/systemd/user-preset %{_prefix}/lib/systemd/system-generators %{_prefix}/lib/systemd/user-generators +%{_prefix}/lib/systemd/user-environment-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -961,6 +979,8 @@ fi %{_libexecdir}/tmpfiles.d/ %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_libexecdir}/environment.d/ + %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1076,6 +1096,9 @@ fi %if %{with importd} %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if %{with networkd} +%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1090,6 +1113,7 @@ fi %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* +%{_mandir}/man8/30-systemd-environment-d-generator.* %endif %{_docdir}/systemd @@ -1157,7 +1181,7 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rootsymlink-generator +%ghost %{_prefix}/lib/udev/compat-symlink-generation %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules diff --git a/systemd-sysv-convert b/systemd-sysv-convert index c9f777a6..479c8ba3 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -9,15 +9,15 @@ declare -A results_runlevel declare -A results_priority usage() { -cat << EOF + cat << EOF usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] SERVICE [SERVICE ...] EOF } help() { -usage -cat << EOF + usage + cat << EOF Save and Restore SysV Service Runlevel Information positional arguments: @@ -33,45 +33,48 @@ EOF } find_service() { -local service -local runlevel -declare -i priority -service=$1 -runlevel=$2 -priority=-1 -for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do - initscript=$(basename $l) - if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then - continue - fi - if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then - if [ ${initscript:1:1} == 0 ]; then - priority=${initscript:2:1} - else - priority=${initscript:1:2} + local service + local runlevel + declare -i priority + + service=$1 + runlevel=$2 + priority=-1 + + for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do + initscript=$(basename $l) + if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then + continue fi + if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then + if [ ${initscript:1:1} == 0 ]; then + priority=${initscript:2:1} + else + priority=${initscript:1:2} + fi + fi + done + if [ $priority -ge 0 ]; then + return $priority fi -done -if [ $priority -ge 0 ]; then - return $priority -else return 255 -fi } lookup_database() { -local services -local service -local service_file -local runlevel -local priority -local -i k -declare -a parsed -services=$@ -k=0 -results_runlevel=() -results_priority=() -while read line ; do + local services + local service + local service_file + local runlevel + local priority + local -i k + declare -a parsed + + services=$@ + k=0 + results_runlevel=() + results_priority=() + + while read line ; do k+=1 parsed=($line) service=${parsed[0]} @@ -85,7 +88,7 @@ while read line ; do echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr continue fi - + declare -i found found=0 for s in $services ; do @@ -99,12 +102,12 @@ while read line ; do fi results_runlevel[$service]+=" $runlevel" results_priority[$service]+=" $priority" -done < /var/lib/systemd/sysv-convert/database + done < /var/lib/systemd/sysv-convert/database } declare -i fail=0 -case "$1" in - -h|--help) +case "$1" in + -h|--help) help exit 0 ;; @@ -112,17 +115,16 @@ case "$1" in shift for service in $@ ; do if [ ! -r "/etc/init.d/$service" ]; then - echo "SysV service $service does not exist" >/dev/stderr - let fail++ + echo "SysV service $service does not exist, skipping" continue fi for runlevel in 2 3 4 5; do find_service $service $runlevel priority=$? if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" + echo "$service $runlevel $priority" >>/var/lib/systemd/sysv-convert/database fi - done >>/var/lib/systemd/sysv-convert/database + done done ;; --show) @@ -153,23 +155,37 @@ case "$1" in exit 1 fi done - lookup_database $services - for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" - # If $service is not present in the database, - # then it simply means that the sysv init - # service was not enabled at all. - for runlevel in ${results_runlevel[$service]}; do - echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + # + # The database might no have been created by a previous --save + # call. This can happen when: + # + # - we're upgrading a package which initially didn't + # have any unit file nor sysv init script and now + # start shipping one or more unit files (bsc#982303). + # + # - the sysv init service wasn't enabled at all before + # being migrated to a native unit file (bsc#982211). + # + if [ -e /var/lib/systemd/sysv-convert/database ]; then + lookup_database $services + for service in $services; do + [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + + # If $service is not present in the database, + # then it simply means that the sysv init + # service was not enabled at all. + for runlevel in ${results_runlevel[$service]}; do + echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" + /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + done done - - done + fi ;; - *) usage + *) + usage let fail=2 ;; esac diff --git a/systemd-user b/systemd-user new file mode 100644 index 00000000..f1d252b7 --- /dev/null +++ b/systemd-user @@ -0,0 +1,9 @@ +# This file is part of systemd. +# +# Used by systemd --user instances. + +account include common-account + +session required pam_selinux.so close +session required pam_selinux.so nottys open +session include common-session diff --git a/systemd.changes b/systemd.changes index ed4231ac..f18b3bc5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com + +- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) + + The new compat rule must be embedded in the initramfs so make sure + that the installed dracut supports it. + +------------------------------------------------------------------- +Wed May 24 11:23:10 UTC 2017 - fbui@suse.com + +- Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) + + - package new systemd-umount binary + - package new environment generator stuff + - drop /dev/root symlink support + - /etc/pam.d/systemd-user is not patched anymore but we ship a + dedicated file for SUSE now. + - manage compat symlink generation in a dedicated branch (bsc#1040153) + +------------------------------------------------------------------- +Wed May 17 15:57:19 UTC 2017 - fbui@suse.com + +- Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) + + The database might be missing when upgrading a package which was + shipping no sysv init scripts nor unit files (at the time --save was + called) but the new version start shipping unit files. + +------------------------------------------------------------------- +Wed May 17 13:14:40 UTC 2017 - fbui@suse.com + +- Fix indentation in systemd-sysv-convert + + While at it, strip trailing whitespaces. + + No functional changes. + +------------------------------------------------------------------- +Thu May 11 08:47:48 UTC 2017 - fbui@suse.com + +- Disable group shadow support (bsc#1029516) + + The new configure option will be imported during the next tarball + update. + ------------------------------------------------------------------- Tue May 2 16:17:08 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ecb0ea33..2eab27f4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 232 +Version: 233 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -140,6 +140,7 @@ Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-%{version}.tar.xz Source1: %{name}-rpmlintrc +Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 @@ -235,6 +236,7 @@ Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: dracut < 044.1 Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem @@ -431,6 +433,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-lto \ --disable-tests \ --without-kill-user-processes \ + --with-default-hierarchy=hybrid \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -439,6 +442,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-adm-group \ --disable-wheel-group \ --disable-ldconfig \ + --disable-gshadow \ %if %{without networkd} --disable-networkd \ %endif @@ -495,6 +499,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target +# Overwrite /etc/pam.d/systemd-user shipped by upstream with one +# customized for openSUSE distros. +install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ + # We keep a copy of tmp.mount because it may be removed if not used # (see %post): we want to be sure tmpfs won't be used for /tmp by # default on Suse distros. @@ -754,6 +762,14 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi +# New installations uses the last compat symlink generation number +# (currently at 2), which basically disables all compat symlinks. On +# old systems, the file doesn't exist. This is equivalent to +# generation #1, which enables the creation of all compat symlinks. +if [ $1 -eq 1 ]; then + echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation +fi + # Create "tape"/"input" group which is referenced by some udev rules # that we're shipping. FIXME: maybe we should consider using # "sysusers_create basic.conf" instead ? @@ -867,6 +883,7 @@ fi %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount +%{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/journalctl @@ -919,7 +936,7 @@ fi %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/libsystemd-shared-*.so %{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog @@ -929,6 +946,7 @@ fi %{_prefix}/lib/systemd/user-preset %{_prefix}/lib/systemd/system-generators %{_prefix}/lib/systemd/user-generators +%{_prefix}/lib/systemd/user-environment-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -959,6 +977,8 @@ fi %{_libexecdir}/tmpfiles.d/ %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_libexecdir}/environment.d/ + %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1074,6 +1094,9 @@ fi %if %{with importd} %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if %{with networkd} +%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1088,6 +1111,7 @@ fi %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* +%{_mandir}/man8/30-systemd-environment-d-generator.* %endif %{_docdir}/systemd @@ -1155,7 +1179,7 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rootsymlink-generator +%ghost %{_prefix}/lib/udev/compat-symlink-generation %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules From 24c299c13d0e20c88eb49da2c50b25adbcf5a9f5e55a4ff3df3421e08867d8d3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 16 Jun 2017 09:25:15 +0000 Subject: [PATCH 303/991] Accepting request 504039 from home:fbui:systemd:Factory - Make sure "lock" group is created OBS-URL: https://build.opensuse.org/request/show/504039 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=978 --- systemd-mini.changes | 19 +++++++++++++++++++ systemd-mini.spec | 1 + systemd.changes | 19 +++++++++++++++++++ systemd.spec | 1 + 4 files changed, 40 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index f18b3bc5..ffafade9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com + +- Make sure "lock" group is created + + On SUSE distros, /run/lock must be owned by "lock" group (see + boo#733523). + + This group was previously created by another package but since a + recent changes it doesn't seem to be true anymore or at least this + package isn't pulled in anymore when building the rescue system. + + For now make systemd creates the group by adding + "Requires: group(post)". + + I'm currently not sure why we don't use sysusers.d stuff for that + purpose and if the "lock" group on /run/lock is still + mandatory. This should be revisited later. + ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index ba13ee3f..a40555f2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -121,6 +121,7 @@ Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Requires: group(lock) Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils diff --git a/systemd.changes b/systemd.changes index f18b3bc5..ffafade9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com + +- Make sure "lock" group is created + + On SUSE distros, /run/lock must be owned by "lock" group (see + boo#733523). + + This group was previously created by another package but since a + recent changes it doesn't seem to be true anymore or at least this + package isn't pulled in anymore when building the rescue system. + + For now make systemd creates the group by adding + "Requires: group(post)". + + I'm currently not sure why we don't use sysusers.d stuff for that + purpose and if the "lock" group on /run/lock is still + mandatory. This should be revisited later. + ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 2eab27f4..55318178 100644 --- a/systemd.spec +++ b/systemd.spec @@ -119,6 +119,7 @@ Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Requires: group(lock) Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils From 9dc0c1c53308e0d04cf3902e198ce9b1f15c98383901e8b07fcd433b3d289c8d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 20 Jun 2017 07:33:30 +0000 Subject: [PATCH 304/991] Accepting request 504040 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/504040 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=255 --- systemd-232.tar.xz | 3 - systemd-233.tar.xz | 3 + systemd-mini.changes | 65 +++++++++++++++++++++ systemd-mini.spec | 31 +++++++++- systemd-sysv-convert | 132 ++++++++++++++++++++++++------------------- systemd-user | 9 +++ systemd.changes | 65 +++++++++++++++++++++ systemd.spec | 31 +++++++++- 8 files changed, 272 insertions(+), 67 deletions(-) delete mode 100644 systemd-232.tar.xz create mode 100644 systemd-233.tar.xz create mode 100644 systemd-user diff --git a/systemd-232.tar.xz b/systemd-232.tar.xz deleted file mode 100644 index 345e172d..00000000 --- a/systemd-232.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:81d3fc89d42d3f3f27d898e94ef8e7d6b5b6bae6deccaffc0a778b30f4b7c570 -size 3213256 diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz new file mode 100644 index 00000000..15902cbf --- /dev/null +++ b/systemd-233.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68abe8a1ad8d19c64f4e10fdee7b8aceebc7d49fc2bb2711408171bdc841e67a +size 3255548 diff --git a/systemd-mini.changes b/systemd-mini.changes index ed4231ac..ffafade9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com + +- Make sure "lock" group is created + + On SUSE distros, /run/lock must be owned by "lock" group (see + boo#733523). + + This group was previously created by another package but since a + recent changes it doesn't seem to be true anymore or at least this + package isn't pulled in anymore when building the rescue system. + + For now make systemd creates the group by adding + "Requires: group(post)". + + I'm currently not sure why we don't use sysusers.d stuff for that + purpose and if the "lock" group on /run/lock is still + mandatory. This should be revisited later. + +------------------------------------------------------------------- +Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com + +- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) + + The new compat rule must be embedded in the initramfs so make sure + that the installed dracut supports it. + +------------------------------------------------------------------- +Wed May 24 11:23:10 UTC 2017 - fbui@suse.com + +- Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) + + - package new systemd-umount binary + - package new environment generator stuff + - drop /dev/root symlink support + - /etc/pam.d/systemd-user is not patched anymore but we ship a + dedicated file for SUSE now. + - manage compat symlink generation in a dedicated branch (bsc#1040153) + +------------------------------------------------------------------- +Wed May 17 15:57:19 UTC 2017 - fbui@suse.com + +- Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) + + The database might be missing when upgrading a package which was + shipping no sysv init scripts nor unit files (at the time --save was + called) but the new version start shipping unit files. + +------------------------------------------------------------------- +Wed May 17 13:14:40 UTC 2017 - fbui@suse.com + +- Fix indentation in systemd-sysv-convert + + While at it, strip trailing whitespaces. + + No functional changes. + +------------------------------------------------------------------- +Thu May 11 08:47:48 UTC 2017 - fbui@suse.com + +- Disable group shadow support (bsc#1029516) + + The new configure option will be imported during the next tarball + update. + ------------------------------------------------------------------- Tue May 2 16:17:08 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index be8414b7..a40555f2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 232 +Version: 233 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -121,6 +121,7 @@ Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Requires: group(lock) Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils @@ -142,6 +143,7 @@ Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-%{version}.tar.xz Source1: %{name}-rpmlintrc +Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 @@ -237,6 +239,7 @@ Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: dracut < 044.1 Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem @@ -433,6 +436,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-lto \ --disable-tests \ --without-kill-user-processes \ + --with-default-hierarchy=hybrid \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -441,6 +445,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-adm-group \ --disable-wheel-group \ --disable-ldconfig \ + --disable-gshadow \ %if %{without networkd} --disable-networkd \ %endif @@ -497,6 +502,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target +# Overwrite /etc/pam.d/systemd-user shipped by upstream with one +# customized for openSUSE distros. +install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ + # We keep a copy of tmp.mount because it may be removed if not used # (see %post): we want to be sure tmpfs won't be used for /tmp by # default on Suse distros. @@ -756,6 +765,14 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi +# New installations uses the last compat symlink generation number +# (currently at 2), which basically disables all compat symlinks. On +# old systems, the file doesn't exist. This is equivalent to +# generation #1, which enables the creation of all compat symlinks. +if [ $1 -eq 1 ]; then + echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation +fi + # Create "tape"/"input" group which is referenced by some udev rules # that we're shipping. FIXME: maybe we should consider using # "sysusers_create basic.conf" instead ? @@ -869,6 +886,7 @@ fi %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount +%{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/journalctl @@ -921,7 +939,7 @@ fi %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/libsystemd-shared-*.so %{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog @@ -931,6 +949,7 @@ fi %{_prefix}/lib/systemd/user-preset %{_prefix}/lib/systemd/system-generators %{_prefix}/lib/systemd/user-generators +%{_prefix}/lib/systemd/user-environment-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -961,6 +980,8 @@ fi %{_libexecdir}/tmpfiles.d/ %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_libexecdir}/environment.d/ + %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1076,6 +1097,9 @@ fi %if %{with importd} %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if %{with networkd} +%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1090,6 +1114,7 @@ fi %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* +%{_mandir}/man8/30-systemd-environment-d-generator.* %endif %{_docdir}/systemd @@ -1157,7 +1182,7 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rootsymlink-generator +%ghost %{_prefix}/lib/udev/compat-symlink-generation %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules diff --git a/systemd-sysv-convert b/systemd-sysv-convert index c9f777a6..479c8ba3 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -9,15 +9,15 @@ declare -A results_runlevel declare -A results_priority usage() { -cat << EOF + cat << EOF usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] SERVICE [SERVICE ...] EOF } help() { -usage -cat << EOF + usage + cat << EOF Save and Restore SysV Service Runlevel Information positional arguments: @@ -33,45 +33,48 @@ EOF } find_service() { -local service -local runlevel -declare -i priority -service=$1 -runlevel=$2 -priority=-1 -for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do - initscript=$(basename $l) - if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then - continue - fi - if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then - if [ ${initscript:1:1} == 0 ]; then - priority=${initscript:2:1} - else - priority=${initscript:1:2} + local service + local runlevel + declare -i priority + + service=$1 + runlevel=$2 + priority=-1 + + for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do + initscript=$(basename $l) + if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then + continue fi + if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then + if [ ${initscript:1:1} == 0 ]; then + priority=${initscript:2:1} + else + priority=${initscript:1:2} + fi + fi + done + if [ $priority -ge 0 ]; then + return $priority fi -done -if [ $priority -ge 0 ]; then - return $priority -else return 255 -fi } lookup_database() { -local services -local service -local service_file -local runlevel -local priority -local -i k -declare -a parsed -services=$@ -k=0 -results_runlevel=() -results_priority=() -while read line ; do + local services + local service + local service_file + local runlevel + local priority + local -i k + declare -a parsed + + services=$@ + k=0 + results_runlevel=() + results_priority=() + + while read line ; do k+=1 parsed=($line) service=${parsed[0]} @@ -85,7 +88,7 @@ while read line ; do echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr continue fi - + declare -i found found=0 for s in $services ; do @@ -99,12 +102,12 @@ while read line ; do fi results_runlevel[$service]+=" $runlevel" results_priority[$service]+=" $priority" -done < /var/lib/systemd/sysv-convert/database + done < /var/lib/systemd/sysv-convert/database } declare -i fail=0 -case "$1" in - -h|--help) +case "$1" in + -h|--help) help exit 0 ;; @@ -112,17 +115,16 @@ case "$1" in shift for service in $@ ; do if [ ! -r "/etc/init.d/$service" ]; then - echo "SysV service $service does not exist" >/dev/stderr - let fail++ + echo "SysV service $service does not exist, skipping" continue fi for runlevel in 2 3 4 5; do find_service $service $runlevel priority=$? if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" + echo "$service $runlevel $priority" >>/var/lib/systemd/sysv-convert/database fi - done >>/var/lib/systemd/sysv-convert/database + done done ;; --show) @@ -153,23 +155,37 @@ case "$1" in exit 1 fi done - lookup_database $services - for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" - # If $service is not present in the database, - # then it simply means that the sysv init - # service was not enabled at all. - for runlevel in ${results_runlevel[$service]}; do - echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + # + # The database might no have been created by a previous --save + # call. This can happen when: + # + # - we're upgrading a package which initially didn't + # have any unit file nor sysv init script and now + # start shipping one or more unit files (bsc#982303). + # + # - the sysv init service wasn't enabled at all before + # being migrated to a native unit file (bsc#982211). + # + if [ -e /var/lib/systemd/sysv-convert/database ]; then + lookup_database $services + for service in $services; do + [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + + # If $service is not present in the database, + # then it simply means that the sysv init + # service was not enabled at all. + for runlevel in ${results_runlevel[$service]}; do + echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" + /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + done done - - done + fi ;; - *) usage + *) + usage let fail=2 ;; esac diff --git a/systemd-user b/systemd-user new file mode 100644 index 00000000..f1d252b7 --- /dev/null +++ b/systemd-user @@ -0,0 +1,9 @@ +# This file is part of systemd. +# +# Used by systemd --user instances. + +account include common-account + +session required pam_selinux.so close +session required pam_selinux.so nottys open +session include common-session diff --git a/systemd.changes b/systemd.changes index ed4231ac..ffafade9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com + +- Make sure "lock" group is created + + On SUSE distros, /run/lock must be owned by "lock" group (see + boo#733523). + + This group was previously created by another package but since a + recent changes it doesn't seem to be true anymore or at least this + package isn't pulled in anymore when building the rescue system. + + For now make systemd creates the group by adding + "Requires: group(post)". + + I'm currently not sure why we don't use sysusers.d stuff for that + purpose and if the "lock" group on /run/lock is still + mandatory. This should be revisited later. + +------------------------------------------------------------------- +Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com + +- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) + + The new compat rule must be embedded in the initramfs so make sure + that the installed dracut supports it. + +------------------------------------------------------------------- +Wed May 24 11:23:10 UTC 2017 - fbui@suse.com + +- Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) + + - package new systemd-umount binary + - package new environment generator stuff + - drop /dev/root symlink support + - /etc/pam.d/systemd-user is not patched anymore but we ship a + dedicated file for SUSE now. + - manage compat symlink generation in a dedicated branch (bsc#1040153) + +------------------------------------------------------------------- +Wed May 17 15:57:19 UTC 2017 - fbui@suse.com + +- Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) + + The database might be missing when upgrading a package which was + shipping no sysv init scripts nor unit files (at the time --save was + called) but the new version start shipping unit files. + +------------------------------------------------------------------- +Wed May 17 13:14:40 UTC 2017 - fbui@suse.com + +- Fix indentation in systemd-sysv-convert + + While at it, strip trailing whitespaces. + + No functional changes. + +------------------------------------------------------------------- +Thu May 11 08:47:48 UTC 2017 - fbui@suse.com + +- Disable group shadow support (bsc#1029516) + + The new configure option will be imported during the next tarball + update. + ------------------------------------------------------------------- Tue May 2 16:17:08 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ecb0ea33..55318178 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 232 +Version: 233 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -119,6 +119,7 @@ Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 +Requires: group(lock) Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils @@ -140,6 +141,7 @@ Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-%{version}.tar.xz Source1: %{name}-rpmlintrc +Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 @@ -235,6 +237,7 @@ Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: dracut < 044.1 Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem @@ -431,6 +434,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-lto \ --disable-tests \ --without-kill-user-processes \ + --with-default-hierarchy=hybrid \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -439,6 +443,7 @@ systemd_cryptsetup_LDFLAGS =\\\ --disable-adm-group \ --disable-wheel-group \ --disable-ldconfig \ + --disable-gshadow \ %if %{without networkd} --disable-networkd \ %endif @@ -495,6 +500,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target +# Overwrite /etc/pam.d/systemd-user shipped by upstream with one +# customized for openSUSE distros. +install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ + # We keep a copy of tmp.mount because it may be removed if not used # (see %post): we want to be sure tmpfs won't be used for /tmp by # default on Suse distros. @@ -754,6 +763,14 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi +# New installations uses the last compat symlink generation number +# (currently at 2), which basically disables all compat symlinks. On +# old systems, the file doesn't exist. This is equivalent to +# generation #1, which enables the creation of all compat symlinks. +if [ $1 -eq 1 ]; then + echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation +fi + # Create "tape"/"input" group which is referenced by some udev rules # that we're shipping. FIXME: maybe we should consider using # "sysusers_create basic.conf" instead ? @@ -867,6 +884,7 @@ fi %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount +%{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run %{_bindir}/journalctl @@ -919,7 +937,7 @@ fi %{_prefix}/lib/systemd/user/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-%{version}.so +%{_prefix}/lib/systemd/libsystemd-shared-*.so %{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog @@ -929,6 +947,7 @@ fi %{_prefix}/lib/systemd/user-preset %{_prefix}/lib/systemd/system-generators %{_prefix}/lib/systemd/user-generators +%{_prefix}/lib/systemd/user-environment-generators %dir %{_prefix}/lib/systemd/ntp-units.d/ %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -959,6 +978,8 @@ fi %{_libexecdir}/tmpfiles.d/ %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_libexecdir}/environment.d/ + %dir %{_libexecdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d @@ -1074,6 +1095,9 @@ fi %if %{with importd} %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if %{with networkd} +%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1088,6 +1112,7 @@ fi %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* +%{_mandir}/man8/30-systemd-environment-d-generator.* %endif %{_docdir}/systemd @@ -1155,7 +1180,7 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs -%{_prefix}/lib/udev/rootsymlink-generator +%ghost %{_prefix}/lib/udev/compat-symlink-generation %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules From 71e59a286b41aa19bda909c24f9b4462b3dbcb8e6f8a56ead2cdba6da93992b3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 23 Jun 2017 11:30:07 +0000 Subject: [PATCH 305/991] Accepting request 505715 from home:fbui:systemd:Factory - Don't try to restart networkd/resolved if they're disabled (boo#1045521) - Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) OBS-URL: https://build.opensuse.org/request/show/505715 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=979 --- systemd-mini.changes | 27 ++++++++++++++++++++++++++- systemd-mini.spec | 25 +++++++++++++++---------- systemd.changes | 27 ++++++++++++++++++++++++++- systemd.spec | 25 +++++++++++++++---------- 4 files changed, 82 insertions(+), 22 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index ffafade9..09daca09 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com + +- Don't try to restart networkd/resolved if they're disabled (boo#1045521) + + "systemctl try-restart/preset" wants the unit files exist. + +------------------------------------------------------------------- +Thu Jun 22 13:50:46 UTC 2017 - fbui@suse.com + +- Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) + + Ok looks like the previous change was the right thing to do and we + continue to follow this path by relying on the new user/group scheme + + Therefore the basic system user/group are now managed and created by + system-sysusers and udev also relies on this for the groups it uses + in its rule files. + + Ideally we should have listed all of the groups in the deps (with + "Requires: group(disk)" but the list of the groups is rather long + and the risk for those groups to be re-organized is probably low, so + currently we simply use "Requires: system-group-hardware" as a + shortcut. + ------------------------------------------------------------------- Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com @@ -11,7 +36,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com package isn't pulled in anymore when building the rescue system. For now make systemd creates the group by adding - "Requires: group(post)". + "Requires: group(lock)". I'm currently not sure why we don't use sysusers.d stuff for that purpose and if the "lock" group on /run/lock is still diff --git a/systemd-mini.spec b/systemd-mini.spec index a40555f2..a33d0889 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -225,9 +225,8 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: system-group-hardware Requires(pre): /usr/bin/stat -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl @@ -530,6 +529,10 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +# The definition of the basic users/groups are defined by system-user +# on SUSE (bsc#1006978). +rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf + # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README @@ -682,10 +685,14 @@ if [ $1 -eq 1 ]; then # unit. systemctl preset remote-fs.target || : systemctl preset getty@.service || : + systemctl preset systemd-timesyncd.service || : +%if %{with networkd} systemctl preset systemd-networkd.service || : systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : +%endif +%if %{with resolved} systemctl preset systemd-resolved.service || : +%endif fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -745,9 +752,13 @@ fi %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-networkd.service %systemd_postun_with_restart systemd-timesyncd.service +%if %{with networkd} +%systemd_postun_with_restart systemd-networkd.service +%endif +%if %{with resolved} %systemd_postun_with_restart systemd-resolved.service +%endif %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -773,12 +784,6 @@ if [ $1 -eq 1 ]; then echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation fi -# Create "tape"/"input" group which is referenced by some udev rules -# that we're shipping. FIXME: maybe we should consider using -# "sysusers_create basic.conf" instead ? -getent group tape >/dev/null || groupadd -r tape || : -getent group input >/dev/null || groupadd -r input || : - %post -n udev%{?mini} %udev_hwdb_update diff --git a/systemd.changes b/systemd.changes index ffafade9..09daca09 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com + +- Don't try to restart networkd/resolved if they're disabled (boo#1045521) + + "systemctl try-restart/preset" wants the unit files exist. + +------------------------------------------------------------------- +Thu Jun 22 13:50:46 UTC 2017 - fbui@suse.com + +- Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) + + Ok looks like the previous change was the right thing to do and we + continue to follow this path by relying on the new user/group scheme + + Therefore the basic system user/group are now managed and created by + system-sysusers and udev also relies on this for the groups it uses + in its rule files. + + Ideally we should have listed all of the groups in the deps (with + "Requires: group(disk)" but the list of the groups is rather long + and the risk for those groups to be re-organized is probably low, so + currently we simply use "Requires: system-group-hardware" as a + shortcut. + ------------------------------------------------------------------- Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com @@ -11,7 +36,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com package isn't pulled in anymore when building the rescue system. For now make systemd creates the group by adding - "Requires: group(post)". + "Requires: group(lock)". I'm currently not sure why we don't use sysusers.d stuff for that purpose and if the "lock" group on /run/lock is still diff --git a/systemd.spec b/systemd.spec index 55318178..512bce3d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -223,9 +223,8 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: system-group-hardware Requires(pre): /usr/bin/stat -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl @@ -528,6 +527,10 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +# The definition of the basic users/groups are defined by system-user +# on SUSE (bsc#1006978). +rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf + # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README @@ -680,10 +683,14 @@ if [ $1 -eq 1 ]; then # unit. systemctl preset remote-fs.target || : systemctl preset getty@.service || : + systemctl preset systemd-timesyncd.service || : +%if %{with networkd} systemctl preset systemd-networkd.service || : systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : +%endif +%if %{with resolved} systemctl preset systemd-resolved.service || : +%endif fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -743,9 +750,13 @@ fi %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-networkd.service %systemd_postun_with_restart systemd-timesyncd.service +%if %{with networkd} +%systemd_postun_with_restart systemd-networkd.service +%endif +%if %{with resolved} %systemd_postun_with_restart systemd-resolved.service +%endif %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -771,12 +782,6 @@ if [ $1 -eq 1 ]; then echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation fi -# Create "tape"/"input" group which is referenced by some udev rules -# that we're shipping. FIXME: maybe we should consider using -# "sysusers_create basic.conf" instead ? -getent group tape >/dev/null || groupadd -r tape || : -getent group input >/dev/null || groupadd -r input || : - %post -n udev%{?mini} %udev_hwdb_update From 8699de76e48aafab5069ab5e405ac2c2e91dc4f34cd7f9b54359a739d77406d4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jul 2017 13:07:38 +0000 Subject: [PATCH 306/991] Accepting request 508561 from home:fbui:systemd:Factory - Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab f07d2022f fstab-util: introduce fstab_has_fstype() helper bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) - Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) While at it, the handling of the symlink priorities is also removed since it doesn't appear to be used at all. OBS-URL: https://build.opensuse.org/request/show/508561 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=980 --- systemd-233.tar.xz | 4 +- systemd-mini.changes | 28 +++++++++++ systemd-sysv-convert | 113 +++++++++++++------------------------------ systemd.changes | 28 +++++++++++ 4 files changed, 91 insertions(+), 82 deletions(-) diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz index 15902cbf..a77e6941 100644 --- a/systemd-233.tar.xz +++ b/systemd-233.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68abe8a1ad8d19c64f4e10fdee7b8aceebc7d49fc2bb2711408171bdc841e67a -size 3255548 +oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d +size 3257376 diff --git a/systemd-mini.changes b/systemd-mini.changes index 09daca09..ec11b71d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com + +- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad + + 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) + d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly + f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) + e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) + c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) + 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab + f07d2022f fstab-util: introduce fstab_has_fstype() helper + bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() + a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) + 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) + 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) + 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case + 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) + a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) + +------------------------------------------------------------------- +Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com + +- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) + + While at it, the handling of the symlink priorities is also removed + since it doesn't appear to be used at all. + ------------------------------------------------------------------- Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 479c8ba3..5d07c48d 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -5,8 +5,7 @@ if [ "$UID" != "0" ]; then exit 1 fi -declare -A results_runlevel -declare -A results_priority +declare -A results_target usage() { cat << EOF @@ -33,75 +32,30 @@ EOF } find_service() { - local service - local runlevel - declare -i priority + local service=$1 + local rcnd=$2 - service=$1 - runlevel=$2 - priority=-1 - - for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do - initscript=$(basename $l) - if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then - continue - fi - if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then - if [ ${initscript:1:1} == 0 ]; then - priority=${initscript:2:1} - else - priority=${initscript:1:2} - fi - fi - done - if [ $priority -ge 0 ]; then - return $priority - fi - return 255 + case $rcnd in + boot.d) [ -L /etc/rc.d/$rcnd/S??boot.$service ] ;; + *) [ -L /etc/rc.d/$rcnd/S??$service ] + esac } lookup_database() { - local services + local services=$@ local service - local service_file local runlevel local priority - local -i k - declare -a parsed - services=$@ - k=0 - results_runlevel=() - results_priority=() - - while read line ; do - k+=1 - parsed=($line) - service=${parsed[0]} - runlevel=${parsed[1]} - priority=${parsed[2]} - if [ $runlevel -lt 2 -o $runlevel -gt 5 ]; then - echo "Runlevel out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - if [ $priority -lt 0 -o $priority -gt 99 ]; then - echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - - declare -i found - found=0 + # 'priority' field is not used but is kept for backward compat + # reason. + while read service runlevel priority; do for s in $services ; do if [ $s == $service ]; then - found=1 - continue + results_target[$service]+=" runlevel$runlevel.target" + break fi done - if [ $found -eq 0 ]; then - continue - fi - results_runlevel[$service]+=" $runlevel" - results_priority[$service]+=" $priority" done < /var/lib/systemd/sysv-convert/database } @@ -114,16 +68,19 @@ case "$1" in --save) shift for service in $@ ; do - if [ ! -r "/etc/init.d/$service" ]; then + if [ ! -r /etc/init.d/$service ] && [ ! -r /etc/init.d/boot.$service ]; then echo "SysV service $service does not exist, skipping" continue fi - for runlevel in 2 3 4 5; do - find_service $service $runlevel - priority=$? - if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" >>/var/lib/systemd/sysv-convert/database - fi + for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do + case $rcnd in + rc*.d) runlevel=${rcnd:2:1} ;; + boot.d) runlevel=3 ;; + esac + + # Write a dumb priority as it is not used. + find_service $service $rcnd && + echo "$service $runlevel 50" >>/var/lib/systemd/sysv-convert/database done done ;; @@ -132,17 +89,13 @@ case "$1" in services=$@ lookup_database $services for service in $services; do - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr + if [ -z "${results_target[$service]}" ]; then + echo "No information about service $service found." >/dev/stderr let fail++ continue fi - declare -i count - count=0 - priority=(${results_priority[$service]}) - for runlevel in ${results_runlevel[$service]}; do - echo SysV service $service enabled in runlevel $runlevel at priority ${priority[$count]} - count+=1 + for target in ${results_target[$service]}; do + echo "SysV service '$service' is pulled by $target" done done ;; @@ -170,16 +123,16 @@ case "$1" in if [ -e /var/lib/systemd/sysv-convert/database ]; then lookup_database $services for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + [ -f "/lib/systemd/system/$service.service" ] && unit="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && unit="/usr/lib/systemd/system/$service.service" # If $service is not present in the database, # then it simply means that the sysv init # service was not enabled at all. - for runlevel in ${results_runlevel[$service]}; do - echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + for target in ${results_target[$service]}; do + echo ln -sf $unit /etc/systemd/system/$target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/$target.wants" + /bin/ln -sf $unit /etc/systemd/system/$target.wants/$service.service done done fi diff --git a/systemd.changes b/systemd.changes index 09daca09..ec11b71d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com + +- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad + + 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) + d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly + f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) + e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) + c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) + 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab + f07d2022f fstab-util: introduce fstab_has_fstype() helper + bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() + a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) + 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) + 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) + 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case + 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) + a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) + +------------------------------------------------------------------- +Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com + +- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) + + While at it, the handling of the symlink priorities is also removed + since it doesn't appear to be used at all. + ------------------------------------------------------------------- Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com From 19921c07ada7b378b545396f7f6f0be183b5e5c0c86813817371f02862dbd7c5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jul 2017 14:18:03 +0000 Subject: [PATCH 307/991] Accepting request 508587 from home:fbui:systemd:Factory - Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) Temporary patch to disable the session keyring stuff as it's currently broken and may introduce some security holes. OBS-URL: https://build.opensuse.org/request/show/508587 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=981 --- ...sion-keyring-per-system-sevice-entir.patch | 31 +++++++++++++++++++ systemd-mini.changes | 8 +++++ systemd-mini.spec | 9 ++++++ systemd.changes | 8 +++++ systemd.spec | 9 ++++++ 5 files changed, 65 insertions(+) create mode 100644 0001-core-disable-session-keyring-per-system-sevice-entir.patch diff --git a/0001-core-disable-session-keyring-per-system-sevice-entir.patch b/0001-core-disable-session-keyring-per-system-sevice-entir.patch new file mode 100644 index 00000000..62580997 --- /dev/null +++ b/0001-core-disable-session-keyring-per-system-sevice-entir.patch @@ -0,0 +1,31 @@ +From 30cceac444bcc67896611154b051669225abaa93 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 6 Jul 2017 15:48:10 +0200 +Subject: [PATCH] core: disable session keyring per system sevice entirely + for now + +It seems that this stuff needs more thoughts... + +See also: +https://github.com/systemd/systemd/pull/6286 + +[fbui: fixes bnc#1045886] +--- + src/core/service.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 74054887b..874f2be93 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -1341,7 +1341,6 @@ static int service_spawn( + } else + path = UNIT(s)->cgroup_path; + +- exec_params.flags |= MANAGER_IS_SYSTEM(UNIT(s)->manager) ? EXEC_NEW_KEYRING : 0; + exec_params.argv = c->argv; + exec_params.environment = final_env; + exec_params.fds = fds; +-- +2.13.1 + diff --git a/systemd-mini.changes b/systemd-mini.changes index ec11b71d..d2288481 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com + +- Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) + + Temporary patch to disable the session keyring stuff as it's + currently broken and may introduce some security holes. + ------------------------------------------------------------------- Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index a33d0889..87fc1e21 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -155,6 +155,14 @@ Source14: kbd-model-map.legacy Source1065: udev-remount-tmpfs +# Patches listed in here are really special cases. Normally all +# changes must go to upstream first and then are cherry-picked in the +# SUSE git repository. But in very few cases, some stuff might be +# broken in upstream and need an urgent fix. Even in this case, the +# patches are temporary and should be removed as soon as a fix is +# merged by upstream. +Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -398,6 +406,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} +%autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} diff --git a/systemd.changes b/systemd.changes index ec11b71d..d2288481 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com + +- Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) + + Temporary patch to disable the session keyring stuff as it's + currently broken and may introduce some security holes. + ------------------------------------------------------------------- Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 512bce3d..4de82616 100644 --- a/systemd.spec +++ b/systemd.spec @@ -153,6 +153,14 @@ Source14: kbd-model-map.legacy Source1065: udev-remount-tmpfs +# Patches listed in here are really special cases. Normally all +# changes must go to upstream first and then are cherry-picked in the +# SUSE git repository. But in very few cases, some stuff might be +# broken in upstream and need an urgent fix. Even in this case, the +# patches are temporary and should be removed as soon as a fix is +# merged by upstream. +Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -396,6 +404,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} +%autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} From 6a096ce3159a5b549a47d39e01d2615faf69363d68e072af294086a52cebd677 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 7 Jul 2017 09:06:42 +0000 Subject: [PATCH 308/991] Accepting request 508707 from home:jengelh:branches:Base:System - Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* OBS-URL: https://build.opensuse.org/request/show/508707 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=982 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index d2288481..cf442750 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de + +- Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* + ------------------------------------------------------------------- Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 87fc1e21..dbb34853 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -83,7 +83,7 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) >= 125 +BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) diff --git a/systemd.changes b/systemd.changes index d2288481..cf442750 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de + +- Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* + ------------------------------------------------------------------- Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 4de82616..680dcecb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,7 +81,7 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) >= 125 +BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) From 692cc8087f6365a2ef14339552ed80224ca56d49ab1334d8611317cedf5ce829 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 17 Jul 2017 07:07:55 +0000 Subject: [PATCH 309/991] Accepting request 508718 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/508718 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=256 --- ...sion-keyring-per-system-sevice-entir.patch | 31 +++++ systemd-233.tar.xz | 4 +- systemd-mini.changes | 68 ++++++++++- systemd-mini.spec | 36 ++++-- systemd-sysv-convert | 113 +++++------------- systemd.changes | 68 ++++++++++- systemd.spec | 36 ++++-- 7 files changed, 250 insertions(+), 106 deletions(-) create mode 100644 0001-core-disable-session-keyring-per-system-sevice-entir.patch diff --git a/0001-core-disable-session-keyring-per-system-sevice-entir.patch b/0001-core-disable-session-keyring-per-system-sevice-entir.patch new file mode 100644 index 00000000..62580997 --- /dev/null +++ b/0001-core-disable-session-keyring-per-system-sevice-entir.patch @@ -0,0 +1,31 @@ +From 30cceac444bcc67896611154b051669225abaa93 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 6 Jul 2017 15:48:10 +0200 +Subject: [PATCH] core: disable session keyring per system sevice entirely + for now + +It seems that this stuff needs more thoughts... + +See also: +https://github.com/systemd/systemd/pull/6286 + +[fbui: fixes bnc#1045886] +--- + src/core/service.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 74054887b..874f2be93 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -1341,7 +1341,6 @@ static int service_spawn( + } else + path = UNIT(s)->cgroup_path; + +- exec_params.flags |= MANAGER_IS_SYSTEM(UNIT(s)->manager) ? EXEC_NEW_KEYRING : 0; + exec_params.argv = c->argv; + exec_params.environment = final_env; + exec_params.fds = fds; +-- +2.13.1 + diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz index 15902cbf..a77e6941 100644 --- a/systemd-233.tar.xz +++ b/systemd-233.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68abe8a1ad8d19c64f4e10fdee7b8aceebc7d49fc2bb2711408171bdc841e67a -size 3255548 +oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d +size 3257376 diff --git a/systemd-mini.changes b/systemd-mini.changes index ffafade9..cf442750 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,69 @@ +------------------------------------------------------------------- +Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de + +- Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* + +------------------------------------------------------------------- +Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com + +- Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) + + Temporary patch to disable the session keyring stuff as it's + currently broken and may introduce some security holes. + +------------------------------------------------------------------- +Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com + +- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad + + 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) + d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly + f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) + e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) + c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) + 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab + f07d2022f fstab-util: introduce fstab_has_fstype() helper + bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() + a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) + 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) + 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) + 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case + 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) + a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) + +------------------------------------------------------------------- +Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com + +- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) + + While at it, the handling of the symlink priorities is also removed + since it doesn't appear to be used at all. + +------------------------------------------------------------------- +Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com + +- Don't try to restart networkd/resolved if they're disabled (boo#1045521) + + "systemctl try-restart/preset" wants the unit files exist. + +------------------------------------------------------------------- +Thu Jun 22 13:50:46 UTC 2017 - fbui@suse.com + +- Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) + + Ok looks like the previous change was the right thing to do and we + continue to follow this path by relying on the new user/group scheme + + Therefore the basic system user/group are now managed and created by + system-sysusers and udev also relies on this for the groups it uses + in its rule files. + + Ideally we should have listed all of the groups in the deps (with + "Requires: group(disk)" but the list of the groups is rather long + and the risk for those groups to be re-organized is probably low, so + currently we simply use "Requires: system-group-hardware" as a + shortcut. + ------------------------------------------------------------------- Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com @@ -11,7 +77,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com package isn't pulled in anymore when building the rescue system. For now make systemd creates the group by adding - "Requires: group(post)". + "Requires: group(lock)". I'm currently not sure why we don't use sysusers.d stuff for that purpose and if the "lock" group on /run/lock is still diff --git a/systemd-mini.spec b/systemd-mini.spec index a40555f2..dbb34853 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -83,7 +83,7 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) >= 125 +BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -155,6 +155,14 @@ Source14: kbd-model-map.legacy Source1065: udev-remount-tmpfs +# Patches listed in here are really special cases. Normally all +# changes must go to upstream first and then are cherry-picked in the +# SUSE git repository. But in very few cases, some stuff might be +# broken in upstream and need an urgent fix. Even in this case, the +# patches are temporary and should be removed as soon as a fix is +# merged by upstream. +Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -225,9 +233,8 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: system-group-hardware Requires(pre): /usr/bin/stat -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl @@ -399,6 +406,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} +%autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} @@ -530,6 +538,10 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +# The definition of the basic users/groups are defined by system-user +# on SUSE (bsc#1006978). +rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf + # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README @@ -682,10 +694,14 @@ if [ $1 -eq 1 ]; then # unit. systemctl preset remote-fs.target || : systemctl preset getty@.service || : + systemctl preset systemd-timesyncd.service || : +%if %{with networkd} systemctl preset systemd-networkd.service || : systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : +%endif +%if %{with resolved} systemctl preset systemd-resolved.service || : +%endif fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -745,9 +761,13 @@ fi %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-networkd.service %systemd_postun_with_restart systemd-timesyncd.service +%if %{with networkd} +%systemd_postun_with_restart systemd-networkd.service +%endif +%if %{with resolved} %systemd_postun_with_restart systemd-resolved.service +%endif %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -773,12 +793,6 @@ if [ $1 -eq 1 ]; then echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation fi -# Create "tape"/"input" group which is referenced by some udev rules -# that we're shipping. FIXME: maybe we should consider using -# "sysusers_create basic.conf" instead ? -getent group tape >/dev/null || groupadd -r tape || : -getent group input >/dev/null || groupadd -r input || : - %post -n udev%{?mini} %udev_hwdb_update diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 479c8ba3..5d07c48d 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -5,8 +5,7 @@ if [ "$UID" != "0" ]; then exit 1 fi -declare -A results_runlevel -declare -A results_priority +declare -A results_target usage() { cat << EOF @@ -33,75 +32,30 @@ EOF } find_service() { - local service - local runlevel - declare -i priority + local service=$1 + local rcnd=$2 - service=$1 - runlevel=$2 - priority=-1 - - for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do - initscript=$(basename $l) - if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then - continue - fi - if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then - if [ ${initscript:1:1} == 0 ]; then - priority=${initscript:2:1} - else - priority=${initscript:1:2} - fi - fi - done - if [ $priority -ge 0 ]; then - return $priority - fi - return 255 + case $rcnd in + boot.d) [ -L /etc/rc.d/$rcnd/S??boot.$service ] ;; + *) [ -L /etc/rc.d/$rcnd/S??$service ] + esac } lookup_database() { - local services + local services=$@ local service - local service_file local runlevel local priority - local -i k - declare -a parsed - services=$@ - k=0 - results_runlevel=() - results_priority=() - - while read line ; do - k+=1 - parsed=($line) - service=${parsed[0]} - runlevel=${parsed[1]} - priority=${parsed[2]} - if [ $runlevel -lt 2 -o $runlevel -gt 5 ]; then - echo "Runlevel out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - if [ $priority -lt 0 -o $priority -gt 99 ]; then - echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - - declare -i found - found=0 + # 'priority' field is not used but is kept for backward compat + # reason. + while read service runlevel priority; do for s in $services ; do if [ $s == $service ]; then - found=1 - continue + results_target[$service]+=" runlevel$runlevel.target" + break fi done - if [ $found -eq 0 ]; then - continue - fi - results_runlevel[$service]+=" $runlevel" - results_priority[$service]+=" $priority" done < /var/lib/systemd/sysv-convert/database } @@ -114,16 +68,19 @@ case "$1" in --save) shift for service in $@ ; do - if [ ! -r "/etc/init.d/$service" ]; then + if [ ! -r /etc/init.d/$service ] && [ ! -r /etc/init.d/boot.$service ]; then echo "SysV service $service does not exist, skipping" continue fi - for runlevel in 2 3 4 5; do - find_service $service $runlevel - priority=$? - if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" >>/var/lib/systemd/sysv-convert/database - fi + for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do + case $rcnd in + rc*.d) runlevel=${rcnd:2:1} ;; + boot.d) runlevel=3 ;; + esac + + # Write a dumb priority as it is not used. + find_service $service $rcnd && + echo "$service $runlevel 50" >>/var/lib/systemd/sysv-convert/database done done ;; @@ -132,17 +89,13 @@ case "$1" in services=$@ lookup_database $services for service in $services; do - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr + if [ -z "${results_target[$service]}" ]; then + echo "No information about service $service found." >/dev/stderr let fail++ continue fi - declare -i count - count=0 - priority=(${results_priority[$service]}) - for runlevel in ${results_runlevel[$service]}; do - echo SysV service $service enabled in runlevel $runlevel at priority ${priority[$count]} - count+=1 + for target in ${results_target[$service]}; do + echo "SysV service '$service' is pulled by $target" done done ;; @@ -170,16 +123,16 @@ case "$1" in if [ -e /var/lib/systemd/sysv-convert/database ]; then lookup_database $services for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + [ -f "/lib/systemd/system/$service.service" ] && unit="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && unit="/usr/lib/systemd/system/$service.service" # If $service is not present in the database, # then it simply means that the sysv init # service was not enabled at all. - for runlevel in ${results_runlevel[$service]}; do - echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + for target in ${results_target[$service]}; do + echo ln -sf $unit /etc/systemd/system/$target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/$target.wants" + /bin/ln -sf $unit /etc/systemd/system/$target.wants/$service.service done done fi diff --git a/systemd.changes b/systemd.changes index ffafade9..cf442750 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,69 @@ +------------------------------------------------------------------- +Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de + +- Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* + +------------------------------------------------------------------- +Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com + +- Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) + + Temporary patch to disable the session keyring stuff as it's + currently broken and may introduce some security holes. + +------------------------------------------------------------------- +Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com + +- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad + + 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) + d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly + f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) + e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) + c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) + 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab + f07d2022f fstab-util: introduce fstab_has_fstype() helper + bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() + a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) + 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) + 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) + 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case + 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) + a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) + +------------------------------------------------------------------- +Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com + +- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) + + While at it, the handling of the symlink priorities is also removed + since it doesn't appear to be used at all. + +------------------------------------------------------------------- +Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com + +- Don't try to restart networkd/resolved if they're disabled (boo#1045521) + + "systemctl try-restart/preset" wants the unit files exist. + +------------------------------------------------------------------- +Thu Jun 22 13:50:46 UTC 2017 - fbui@suse.com + +- Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) + + Ok looks like the previous change was the right thing to do and we + continue to follow this path by relying on the new user/group scheme + + Therefore the basic system user/group are now managed and created by + system-sysusers and udev also relies on this for the groups it uses + in its rule files. + + Ideally we should have listed all of the groups in the deps (with + "Requires: group(disk)" but the list of the groups is rather long + and the risk for those groups to be re-organized is probably low, so + currently we simply use "Requires: system-group-hardware" as a + shortcut. + ------------------------------------------------------------------- Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com @@ -11,7 +77,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com package isn't pulled in anymore when building the rescue system. For now make systemd creates the group by adding - "Requires: group(post)". + "Requires: group(lock)". I'm currently not sure why we don't use sysusers.d stuff for that purpose and if the "lock" group on /run/lock is still diff --git a/systemd.spec b/systemd.spec index 55318178..680dcecb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,7 +81,7 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) >= 125 +BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) @@ -153,6 +153,14 @@ Source14: kbd-model-map.legacy Source1065: udev-remount-tmpfs +# Patches listed in here are really special cases. Normally all +# changes must go to upstream first and then are cherry-picked in the +# SUSE git repository. But in very few cases, some stuff might be +# broken in upstream and need an urgent fix. Even in this case, the +# patches are temporary and should be removed as soon as a fix is +# merged by upstream. +Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -223,9 +231,8 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: system-group-hardware Requires(pre): /usr/bin/stat -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/bin/getent Requires(post): sed Requires(post): /usr/bin/systemctl @@ -397,6 +404,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} +%autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} @@ -528,6 +536,10 @@ rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +# The definition of the basic users/groups are defined by system-user +# on SUSE (bsc#1006978). +rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf + # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README @@ -680,10 +692,14 @@ if [ $1 -eq 1 ]; then # unit. systemctl preset remote-fs.target || : systemctl preset getty@.service || : + systemctl preset systemd-timesyncd.service || : +%if %{with networkd} systemctl preset systemd-networkd.service || : systemctl preset systemd-networkd-wait-online.service || : - systemctl preset systemd-timesyncd.service || : +%endif +%if %{with resolved} systemctl preset systemd-resolved.service || : +%endif fi >/dev/null # since v207 /etc/sysctl.conf is no longer parsed, however @@ -743,9 +759,13 @@ fi %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-networkd.service %systemd_postun_with_restart systemd-timesyncd.service +%if %{with networkd} +%systemd_postun_with_restart systemd-networkd.service +%endif +%if %{with resolved} %systemd_postun_with_restart systemd-resolved.service +%endif %pretrans -n udev%{?mini} -p if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then @@ -771,12 +791,6 @@ if [ $1 -eq 1 ]; then echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation fi -# Create "tape"/"input" group which is referenced by some udev rules -# that we're shipping. FIXME: maybe we should consider using -# "sysusers_create basic.conf" instead ? -getent group tape >/dev/null || groupadd -r tape || : -getent group input >/dev/null || groupadd -r input || : - %post -n udev%{?mini} %udev_hwdb_update From 63eb454e7b5c04c58678775145c407138705c955138eaba77786bc6bb57873b1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Jul 2017 12:26:16 +0000 Subject: [PATCH 310/991] Accepting request 512646 from home:fbui:systemd:Factory - Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" - Drop support for compression from the mini package Hence remove the relevant build-requires from the mini package. - Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) - package /etc/systemd/system/dbus-org.freedesktop.network1.service - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled - Make sure dracut (if installed) will embed the new compat rule - Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" - Drop support of compression from the mini package Hence remove the relevant build-requires from the mini package. - Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) - package /etc/systemd/system/dbus-org.freedesktop.network1.service - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled - Make sure dracut (if installed) will embed the new compat rule OBS-URL: https://build.opensuse.org/request/show/512646 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=983 --- systemd-233.tar.xz | 3 --- systemd-234.tar.xz | 3 +++ systemd-mini.changes | 25 ++++++++++++++++++++++++- systemd-mini.spec | 10 +++++++--- systemd.changes | 25 ++++++++++++++++++++++++- systemd.spec | 10 +++++++--- 6 files changed, 65 insertions(+), 11 deletions(-) delete mode 100644 systemd-233.tar.xz create mode 100644 systemd-234.tar.xz diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz deleted file mode 100644 index a77e6941..00000000 --- a/systemd-233.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d -size 3257376 diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz new file mode 100644 index 00000000..43c5545f --- /dev/null +++ b/systemd-234.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9739b54b02f16519b7955de54a9b5cfe2d745d14d06a601651dd0dbc39e9315 +size 3350120 diff --git a/systemd-mini.changes b/systemd-mini.changes index cf442750..4c4b13b9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com + +- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b + + 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled + 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" + +------------------------------------------------------------------- +Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com + +- Drop support of compression from the mini package + + Hence remove the relevant build-requires from the mini package. + +------------------------------------------------------------------- +Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com + +- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) + + - package /etc/systemd/system/dbus-org.freedesktop.network1.service + - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled + ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -86,7 +109,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) +- Make sure dracut (if installed) will embed the new compat rule The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd-mini.spec b/systemd-mini.spec index dbb34853..8dcb079e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 233 +Version: 234 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -66,6 +66,8 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -83,8 +85,6 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -954,7 +954,9 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so +%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf +%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1034,9 +1036,11 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} diff --git a/systemd.changes b/systemd.changes index cf442750..4c4b13b9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com + +- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b + + 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled + 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" + +------------------------------------------------------------------- +Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com + +- Drop support of compression from the mini package + + Hence remove the relevant build-requires from the mini package. + +------------------------------------------------------------------- +Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com + +- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) + + - package /etc/systemd/system/dbus-org.freedesktop.network1.service + - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled + ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -86,7 +109,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) +- Make sure dracut (if installed) will embed the new compat rule The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd.spec b/systemd.spec index 680dcecb..a6ebaa3a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 233 +Version: 234 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -64,6 +64,8 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -81,8 +83,6 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -952,7 +952,9 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so +%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf +%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1032,9 +1034,11 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} From 637d7f986a4a520467c2f51164bd5a7f611f931c9177b46cf9ed981a85eea907 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Jul 2017 14:37:13 +0000 Subject: [PATCH 311/991] Accepting request 512667 from home:fbui:systemd:Factory - Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) OBS-URL: https://build.opensuse.org/request/show/512667 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=984 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 7 +++++++ systemd.changes | 7 +++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 43c5545f..ebe7c123 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9739b54b02f16519b7955de54a9b5cfe2d745d14d06a601651dd0dbc39e9315 -size 3350120 +oid sha256:2ecf38c4f36975e978edd400fe9405528393b656f97feb6188f45de0a9886091 +size 3350388 diff --git a/systemd-mini.changes b/systemd-mini.changes index 4c4b13b9..68837bb6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com + +- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 + + 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) + ------------------------------------------------------------------- Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 4c4b13b9..68837bb6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com + +- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 + + 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) + ------------------------------------------------------------------- Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com From 7a4c33556c9ccb97402c436b718c0c75d9469ceef78763f65f334d257d973956 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 27 Jul 2017 09:11:15 +0000 Subject: [PATCH 312/991] Accepting request 512668 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/512668 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=257 --- systemd-233.tar.xz | 3 --- systemd-234.tar.xz | 3 +++ systemd-mini.changes | 32 +++++++++++++++++++++++++++++++- systemd-mini.spec | 10 +++++++--- systemd.changes | 32 +++++++++++++++++++++++++++++++- systemd.spec | 10 +++++++--- 6 files changed, 79 insertions(+), 11 deletions(-) delete mode 100644 systemd-233.tar.xz create mode 100644 systemd-234.tar.xz diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz deleted file mode 100644 index a77e6941..00000000 --- a/systemd-233.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d -size 3257376 diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz new file mode 100644 index 00000000..ebe7c123 --- /dev/null +++ b/systemd-234.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ecf38c4f36975e978edd400fe9405528393b656f97feb6188f45de0a9886091 +size 3350388 diff --git a/systemd-mini.changes b/systemd-mini.changes index cf442750..68837bb6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com + +- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 + + 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) + +------------------------------------------------------------------- +Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com + +- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b + + 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled + 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" + +------------------------------------------------------------------- +Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com + +- Drop support of compression from the mini package + + Hence remove the relevant build-requires from the mini package. + +------------------------------------------------------------------- +Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com + +- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) + + - package /etc/systemd/system/dbus-org.freedesktop.network1.service + - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled + ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -86,7 +116,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) +- Make sure dracut (if installed) will embed the new compat rule The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd-mini.spec b/systemd-mini.spec index dbb34853..8dcb079e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 233 +Version: 234 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -66,6 +66,8 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -83,8 +85,6 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -954,7 +954,9 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so +%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf +%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1034,9 +1036,11 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} diff --git a/systemd.changes b/systemd.changes index cf442750..68837bb6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com + +- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 + + 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) + +------------------------------------------------------------------- +Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com + +- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b + + 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled + 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" + +------------------------------------------------------------------- +Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com + +- Drop support of compression from the mini package + + Hence remove the relevant build-requires from the mini package. + +------------------------------------------------------------------- +Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com + +- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) + + - package /etc/systemd/system/dbus-org.freedesktop.network1.service + - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled + ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -86,7 +116,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) +- Make sure dracut (if installed) will embed the new compat rule The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd.spec b/systemd.spec index 680dcecb..a6ebaa3a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 233 +Version: 234 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -64,6 +64,8 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -81,8 +83,6 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -952,7 +952,9 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so +%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf +%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1032,9 +1034,11 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} From 06bb2b1f4f24ba81db1cd7a85ac0ed786d9404b7c3f775dffa5c614e511bbbb2 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 28 Jul 2017 12:30:53 +0000 Subject: [PATCH 313/991] Accepting request 512915 from openSUSE:Factory Revert to version 233; split /usr failed with 234 OBS-URL: https://build.opensuse.org/request/show/512915 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=258 --- systemd-233.tar.xz | 3 +++ systemd-234.tar.xz | 3 --- systemd-mini.changes | 32 +------------------------------- systemd-mini.spec | 10 +++------- systemd.changes | 32 +------------------------------- systemd.spec | 10 +++------- 6 files changed, 11 insertions(+), 79 deletions(-) create mode 100644 systemd-233.tar.xz delete mode 100644 systemd-234.tar.xz diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz new file mode 100644 index 00000000..a77e6941 --- /dev/null +++ b/systemd-233.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d +size 3257376 diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz deleted file mode 100644 index ebe7c123..00000000 --- a/systemd-234.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ecf38c4f36975e978edd400fe9405528393b656f97feb6188f45de0a9886091 -size 3350388 diff --git a/systemd-mini.changes b/systemd-mini.changes index 68837bb6..cf442750 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,33 +1,3 @@ -------------------------------------------------------------------- -Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com - -- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 - - 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) - -------------------------------------------------------------------- -Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com - -- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b - - 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled - 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" - -------------------------------------------------------------------- -Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com - -- Drop support of compression from the mini package - - Hence remove the relevant build-requires from the mini package. - -------------------------------------------------------------------- -Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com - -- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) - - - package /etc/systemd/system/dbus-org.freedesktop.network1.service - - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled - ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -116,7 +86,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule +- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd-mini.spec b/systemd-mini.spec index 8dcb079e..dbb34853 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 234 +Version: 233 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -66,8 +66,6 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -85,6 +83,8 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -954,9 +954,7 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so -%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf -%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1036,11 +1034,9 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} diff --git a/systemd.changes b/systemd.changes index 68837bb6..cf442750 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,33 +1,3 @@ -------------------------------------------------------------------- -Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com - -- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 - - 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) - -------------------------------------------------------------------- -Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com - -- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b - - 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled - 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" - -------------------------------------------------------------------- -Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com - -- Drop support of compression from the mini package - - Hence remove the relevant build-requires from the mini package. - -------------------------------------------------------------------- -Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com - -- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) - - - package /etc/systemd/system/dbus-org.freedesktop.network1.service - - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled - ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -116,7 +86,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule +- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd.spec b/systemd.spec index a6ebaa3a..680dcecb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 234 +Version: 233 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -64,8 +64,6 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -83,6 +81,8 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -952,9 +952,7 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so -%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf -%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1034,11 +1032,9 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} From 491001c577d6ce90cbb5e4b2084c45e393e38470130006dd80eb3460237bfc55 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Jul 2017 14:31:20 +0000 Subject: [PATCH 314/991] Accepting request 512931 from home:fbui:systemd:Factory - Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 - Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) - Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev OBS-URL: https://build.opensuse.org/request/show/512931 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=985 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 26 ++++++++++++++++++++++++++ systemd-mini.spec | 10 ---------- systemd.changes | 26 ++++++++++++++++++++++++++ systemd.spec | 10 ---------- 5 files changed, 54 insertions(+), 22 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index ebe7c123..53f5ae9d 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ecf38c4f36975e978edd400fe9405528393b656f97feb6188f45de0a9886091 -size 3350388 +oid sha256:a67ec597500cf2b739c1656738704845b2ff6bfaa153d7de79f66c6bb18336f1 +size 3350088 diff --git a/systemd-mini.changes b/systemd-mini.changes index 68837bb6..95df3373 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com + +- Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea + + 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 + +------------------------------------------------------------------- +Fri Jul 28 13:06:27 UTC 2017 - fbui@suse.com + +- Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc + + 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) + +------------------------------------------------------------------- +Thu Jul 27 16:55:33 UTC 2017 - fbui@suse.com + +- Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev + + I don't remember why it was added but it looks unnecessary: most of + all systemd components are linked againt libsystemd-shared.so which + includes all the just built symbols. + + Also I don't see why it was done only for systemd-cryptsetup since + all other binaries should have had suffered from the same issue. + ------------------------------------------------------------------- Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 8dcb079e..1ed187ec 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -414,16 +414,6 @@ cp %{SOURCE7} m4/ %endif %build -# -# Be sure that fresh build libudev is found and used at linkage time -# -sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS =\\\ - $(AM_LDFLAGS)\\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ - -}' Makefile.am - ./autogen.sh # keep split-usr until all packages have moved their systemd rules to /usr diff --git a/systemd.changes b/systemd.changes index 68837bb6..95df3373 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com + +- Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea + + 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 + +------------------------------------------------------------------- +Fri Jul 28 13:06:27 UTC 2017 - fbui@suse.com + +- Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc + + 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) + +------------------------------------------------------------------- +Thu Jul 27 16:55:33 UTC 2017 - fbui@suse.com + +- Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev + + I don't remember why it was added but it looks unnecessary: most of + all systemd components are linked againt libsystemd-shared.so which + includes all the just built symbols. + + Also I don't see why it was done only for systemd-cryptsetup since + all other binaries should have had suffered from the same issue. + ------------------------------------------------------------------- Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index a6ebaa3a..56d0a028 100644 --- a/systemd.spec +++ b/systemd.spec @@ -412,16 +412,6 @@ cp %{SOURCE7} m4/ %endif %build -# -# Be sure that fresh build libudev is found and used at linkage time -# -sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS =\\\ - $(AM_LDFLAGS)\\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ - -}' Makefile.am - ./autogen.sh # keep split-usr until all packages have moved their systemd rules to /usr From fa9365f7b62960932b077a6a9cf7a72ed62e7ef874c4bb046f82750b4693856c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 29 Jul 2017 06:54:38 +0000 Subject: [PATCH 315/991] Accepting request 512933 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/512933 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=259 --- systemd-233.tar.xz | 3 --- systemd-234.tar.xz | 3 +++ systemd-mini.changes | 58 +++++++++++++++++++++++++++++++++++++++++++- systemd-mini.spec | 20 ++++++--------- systemd.changes | 58 +++++++++++++++++++++++++++++++++++++++++++- systemd.spec | 20 ++++++--------- 6 files changed, 131 insertions(+), 31 deletions(-) delete mode 100644 systemd-233.tar.xz create mode 100644 systemd-234.tar.xz diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz deleted file mode 100644 index a77e6941..00000000 --- a/systemd-233.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d -size 3257376 diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz new file mode 100644 index 00000000..53f5ae9d --- /dev/null +++ b/systemd-234.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a67ec597500cf2b739c1656738704845b2ff6bfaa153d7de79f66c6bb18336f1 +size 3350088 diff --git a/systemd-mini.changes b/systemd-mini.changes index cf442750..95df3373 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com + +- Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea + + 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 + +------------------------------------------------------------------- +Fri Jul 28 13:06:27 UTC 2017 - fbui@suse.com + +- Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc + + 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) + +------------------------------------------------------------------- +Thu Jul 27 16:55:33 UTC 2017 - fbui@suse.com + +- Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev + + I don't remember why it was added but it looks unnecessary: most of + all systemd components are linked againt libsystemd-shared.so which + includes all the just built symbols. + + Also I don't see why it was done only for systemd-cryptsetup since + all other binaries should have had suffered from the same issue. + +------------------------------------------------------------------- +Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com + +- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 + + 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) + +------------------------------------------------------------------- +Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com + +- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b + + 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled + 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" + +------------------------------------------------------------------- +Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com + +- Drop support of compression from the mini package + + Hence remove the relevant build-requires from the mini package. + +------------------------------------------------------------------- +Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com + +- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) + + - package /etc/systemd/system/dbus-org.freedesktop.network1.service + - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled + ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -86,7 +142,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) +- Make sure dracut (if installed) will embed the new compat rule The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd-mini.spec b/systemd-mini.spec index dbb34853..1ed187ec 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 233 +Version: 234 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -66,6 +66,8 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -83,8 +85,6 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -414,16 +414,6 @@ cp %{SOURCE7} m4/ %endif %build -# -# Be sure that fresh build libudev is found and used at linkage time -# -sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS =\\\ - $(AM_LDFLAGS)\\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ - -}' Makefile.am - ./autogen.sh # keep split-usr until all packages have moved their systemd rules to /usr @@ -954,7 +944,9 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so +%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf +%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1034,9 +1026,11 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} diff --git a/systemd.changes b/systemd.changes index cf442750..95df3373 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com + +- Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea + + 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 + +------------------------------------------------------------------- +Fri Jul 28 13:06:27 UTC 2017 - fbui@suse.com + +- Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc + + 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) + +------------------------------------------------------------------- +Thu Jul 27 16:55:33 UTC 2017 - fbui@suse.com + +- Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev + + I don't remember why it was added but it looks unnecessary: most of + all systemd components are linked againt libsystemd-shared.so which + includes all the just built symbols. + + Also I don't see why it was done only for systemd-cryptsetup since + all other binaries should have had suffered from the same issue. + +------------------------------------------------------------------- +Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com + +- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 + + 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) + +------------------------------------------------------------------- +Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com + +- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b + + 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled + 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" + +------------------------------------------------------------------- +Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com + +- Drop support of compression from the mini package + + Hence remove the relevant build-requires from the mini package. + +------------------------------------------------------------------- +Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com + +- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) + + - package /etc/systemd/system/dbus-org.freedesktop.network1.service + - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled + ------------------------------------------------------------------- Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de @@ -86,7 +142,7 @@ Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com ------------------------------------------------------------------- Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com -- Make sure dracut (if installed) will embed the new compat rule (bsc#982303) +- Make sure dracut (if installed) will embed the new compat rule The new compat rule must be embedded in the initramfs so make sure that the installed dracut supports it. diff --git a/systemd.spec b/systemd.spec index 680dcecb..56d0a028 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 233 +Version: 234 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -64,6 +64,8 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) %endif BuildRequires: fdupes @@ -81,8 +83,6 @@ BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libselinux) >= 2.1.9 @@ -412,16 +412,6 @@ cp %{SOURCE7} m4/ %endif %build -# -# Be sure that fresh build libudev is found and used at linkage time -# -sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\ -systemd_cryptsetup_LDFLAGS =\\\ - $(AM_LDFLAGS)\\\ - -Wl,-rpath-link=$(top_srcdir)/.libs\ - -}' Makefile.am - ./autogen.sh # keep split-usr until all packages have moved their systemd rules to /usr @@ -952,7 +942,9 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so +%if %{with resolved} %{_prefix}/lib/systemd/resolv.conf +%endif %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog @@ -1032,9 +1024,11 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} +%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} From 55c7f080edbf7b49e2883f9bc6b45cc8f1f413ebcf943967a4591c6e07b32c9c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 29 Aug 2017 11:50:06 +0000 Subject: [PATCH 316/991] Accepting request 519303 from home:fbui:systemd:Factory - Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) - %regenerate_initrd_post is suppsed to be used in %post (not %pre) section OBS-URL: https://build.opensuse.org/request/show/519303 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=986 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 3 +-- systemd.changes | 12 ++++++++++++ systemd.spec | 3 +-- 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 53f5ae9d..99fbec2d 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a67ec597500cf2b739c1656738704845b2ff6bfaa153d7de79f66c6bb18336f1 -size 3350088 +oid sha256:ca0e6e98e69ba6a809d145ac5562f594c86acce052fbfbbf291fa61e9b8352a2 +size 3351252 diff --git a/systemd-mini.changes b/systemd-mini.changes index 95df3373..2e2d936f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com + +- Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 + + 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) + +------------------------------------------------------------------- +Tue Aug 1 13:39:41 UTC 2017 - fbui@suse.com + +- %regenerate_initrd_post is suppsed to be used in %post (not %pre) section + ------------------------------------------------------------------- Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1ed187ec..1f6a7542 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -765,8 +765,6 @@ if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then end %pre -n udev%{?mini} -%regenerate_initrd_post - if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -784,6 +782,7 @@ if [ $1 -eq 1 ]; then fi %post -n udev%{?mini} +%regenerate_initrd_post %udev_hwdb_update # add KERNEL name match to existing persistent net rules diff --git a/systemd.changes b/systemd.changes index 95df3373..2e2d936f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com + +- Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 + + 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) + +------------------------------------------------------------------- +Tue Aug 1 13:39:41 UTC 2017 - fbui@suse.com + +- %regenerate_initrd_post is suppsed to be used in %post (not %pre) section + ------------------------------------------------------------------- Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 56d0a028..6d5fda8d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -763,8 +763,6 @@ if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then end %pre -n udev%{?mini} -%regenerate_initrd_post - if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -782,6 +780,7 @@ if [ $1 -eq 1 ]; then fi %post -n udev%{?mini} +%regenerate_initrd_post %udev_hwdb_update # add KERNEL name match to existing persistent net rules From ba246b36a28bfe8983f69d06cf85f7df2e97d3f50626f0d5b83d5107086b1301 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 31 Aug 2017 07:20:04 +0000 Subject: [PATCH 317/991] Accepting request 519863 from home:fbui:systemd:Factory - Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) It's a temporary but urgent fix for a regression discovered in bug 1048605. The fix is still under discussion with upstream but we need to make progress here and limit the number of affected users. Consequently this fix reintroduces bsc#1004995 (the bug report has been re-opened) but this one is far less critical and a workaround was provided. The final solution will fix both bugs. OBS-URL: https://build.opensuse.org/request/show/519863 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=987 --- ...ce-Use-JobRunningTimeoutSec-for-devi.patch | 48 +++++++++++++++++++ systemd-mini.changes | 15 ++++++ systemd-mini.spec | 1 + systemd.changes | 15 ++++++ systemd.spec | 1 + 5 files changed, 80 insertions(+) create mode 100644 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch diff --git a/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch b/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch new file mode 100644 index 00000000..cc49aea0 --- /dev/null +++ b/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch @@ -0,0 +1,48 @@ +From 02a4361a931a210b547795a49d062e90d2462cbc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Koutn=C3=BD?= +Date: Wed, 23 Aug 2017 15:18:19 +0200 +Subject: [PATCH 1/1] Revert "core/device: Use JobRunningTimeoutSec= for device + units" + +This reverts commit d9732d78034cd01a75f2cda6ebaddb4c3a0929ea. + +This is not backwards compatible for outer callers that are used to set +JobTimeoutSec= for devices. The compatibility breaks if JobTimeoutSec= is +longer than default JobRunningTimeoutSec=90, especially JobTimeoutSec=infinity. + +[mkoutny: fixes bsc#1048605] +[fbui: as a consequence, reintroduces bsc#1004995] +--- + src/core/device.c | 2 +- + src/shared/generator.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/device.c b/src/core/device.c +index 434a6a9c5..89549f43b 100644 +--- a/src/core/device.c ++++ b/src/core/device.c +@@ -114,7 +114,7 @@ static void device_init(Unit *u) { + * indefinitely for plugged in devices, something which cannot + * happen for the other units since their operations time out + * anyway. */ +- u->job_running_timeout = u->manager->default_timeout_start_usec; ++ u->job_timeout = u->manager->default_timeout_start_usec; + + u->ignore_on_isolate = true; + } +diff --git a/src/shared/generator.c b/src/shared/generator.c +index 47be354ba..743bc88f6 100644 +--- a/src/shared/generator.c ++++ b/src/shared/generator.c +@@ -187,7 +187,7 @@ int generator_write_timeouts( + + return write_drop_in_format(dir, unit, 50, "device-timeout", + "# Automatically generated by %s\n\n" +- "[Unit]\nJobRunningTimeoutSec=%s", ++ "[Unit]\nJobTimeoutSec=%s", + program_invocation_short_name, timeout); + } + +-- +2.13.1 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 2e2d936f..53d736b7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com + +- Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) + + It's a temporary but urgent fix for a regression discovered in bug + 1048605. The fix is still under discussion with upstream but we need + to make progress here and limit the number of affected users. + + Consequently this fix reintroduces bsc#1004995 (the bug report has + been re-opened) but this one is far less critical and a workaround + was provided. + + The final solution will fix both bugs. + ------------------------------------------------------------------- Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1f6a7542..658f2c2f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -162,6 +162,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 2e2d936f..53d736b7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com + +- Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) + + It's a temporary but urgent fix for a regression discovered in bug + 1048605. The fix is still under discussion with upstream but we need + to make progress here and limit the number of affected users. + + Consequently this fix reintroduces bsc#1004995 (the bug report has + been re-opened) but this one is far less critical and a workaround + was provided. + + The final solution will fix both bugs. + ------------------------------------------------------------------- Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 6d5fda8d..3955b61a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -160,6 +160,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 84bc363096025975f3d766c5f1683d631102f55e2661346c222c70f9ce3e19f4 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 4 Sep 2017 10:20:42 +0000 Subject: [PATCH 318/991] Accepting request 519864 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/519864 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=260 --- ...ce-Use-JobRunningTimeoutSec-for-devi.patch | 48 +++++++++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 27 +++++++++++ systemd-mini.spec | 4 +- systemd.changes | 27 +++++++++++ systemd.spec | 4 +- 6 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch diff --git a/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch b/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch new file mode 100644 index 00000000..cc49aea0 --- /dev/null +++ b/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch @@ -0,0 +1,48 @@ +From 02a4361a931a210b547795a49d062e90d2462cbc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Koutn=C3=BD?= +Date: Wed, 23 Aug 2017 15:18:19 +0200 +Subject: [PATCH 1/1] Revert "core/device: Use JobRunningTimeoutSec= for device + units" + +This reverts commit d9732d78034cd01a75f2cda6ebaddb4c3a0929ea. + +This is not backwards compatible for outer callers that are used to set +JobTimeoutSec= for devices. The compatibility breaks if JobTimeoutSec= is +longer than default JobRunningTimeoutSec=90, especially JobTimeoutSec=infinity. + +[mkoutny: fixes bsc#1048605] +[fbui: as a consequence, reintroduces bsc#1004995] +--- + src/core/device.c | 2 +- + src/shared/generator.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/device.c b/src/core/device.c +index 434a6a9c5..89549f43b 100644 +--- a/src/core/device.c ++++ b/src/core/device.c +@@ -114,7 +114,7 @@ static void device_init(Unit *u) { + * indefinitely for plugged in devices, something which cannot + * happen for the other units since their operations time out + * anyway. */ +- u->job_running_timeout = u->manager->default_timeout_start_usec; ++ u->job_timeout = u->manager->default_timeout_start_usec; + + u->ignore_on_isolate = true; + } +diff --git a/src/shared/generator.c b/src/shared/generator.c +index 47be354ba..743bc88f6 100644 +--- a/src/shared/generator.c ++++ b/src/shared/generator.c +@@ -187,7 +187,7 @@ int generator_write_timeouts( + + return write_drop_in_format(dir, unit, 50, "device-timeout", + "# Automatically generated by %s\n\n" +- "[Unit]\nJobRunningTimeoutSec=%s", ++ "[Unit]\nJobTimeoutSec=%s", + program_invocation_short_name, timeout); + } + +-- +2.13.1 + diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 53f5ae9d..99fbec2d 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a67ec597500cf2b739c1656738704845b2ff6bfaa153d7de79f66c6bb18336f1 -size 3350088 +oid sha256:ca0e6e98e69ba6a809d145ac5562f594c86acce052fbfbbf291fa61e9b8352a2 +size 3351252 diff --git a/systemd-mini.changes b/systemd-mini.changes index 95df3373..53d736b7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com + +- Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) + + It's a temporary but urgent fix for a regression discovered in bug + 1048605. The fix is still under discussion with upstream but we need + to make progress here and limit the number of affected users. + + Consequently this fix reintroduces bsc#1004995 (the bug report has + been re-opened) but this one is far less critical and a workaround + was provided. + + The final solution will fix both bugs. + +------------------------------------------------------------------- +Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com + +- Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 + + 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) + +------------------------------------------------------------------- +Tue Aug 1 13:39:41 UTC 2017 - fbui@suse.com + +- %regenerate_initrd_post is suppsed to be used in %post (not %pre) section + ------------------------------------------------------------------- Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1ed187ec..658f2c2f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -162,6 +162,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -765,8 +766,6 @@ if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then end %pre -n udev%{?mini} -%regenerate_initrd_post - if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -784,6 +783,7 @@ if [ $1 -eq 1 ]; then fi %post -n udev%{?mini} +%regenerate_initrd_post %udev_hwdb_update # add KERNEL name match to existing persistent net rules diff --git a/systemd.changes b/systemd.changes index 95df3373..53d736b7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com + +- Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) + + It's a temporary but urgent fix for a regression discovered in bug + 1048605. The fix is still under discussion with upstream but we need + to make progress here and limit the number of affected users. + + Consequently this fix reintroduces bsc#1004995 (the bug report has + been re-opened) but this one is far less critical and a workaround + was provided. + + The final solution will fix both bugs. + +------------------------------------------------------------------- +Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com + +- Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 + + 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) + +------------------------------------------------------------------- +Tue Aug 1 13:39:41 UTC 2017 - fbui@suse.com + +- %regenerate_initrd_post is suppsed to be used in %post (not %pre) section + ------------------------------------------------------------------- Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 56d0a028..3955b61a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -160,6 +160,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -763,8 +764,6 @@ if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then end %pre -n udev%{?mini} -%regenerate_initrd_post - if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then rm /usr/lib/udev mv /lib/udev /usr/lib @@ -782,6 +781,7 @@ if [ $1 -eq 1 ]; then fi %post -n udev%{?mini} +%regenerate_initrd_post %udev_hwdb_update # add KERNEL name match to existing persistent net rules From 08c39d4991ce598acd88c208c2f202ac224c4a278518aab440ed5ce22eb85cb4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 14 Sep 2017 16:48:49 +0000 Subject: [PATCH 319/991] Accepting request 526193 from home:fbui:systemd:Factory - Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d 334945091 shutdown: fix incorrect fscanf() result check (#6806) 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) d9d293847 util: make get_block_device() available 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) - Make use of "%tmpfiles_create" in %post of the logger subpackage - Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) This script takes care of converting /lib/udev into a symlink pointing to /usr/lib/udev when upgrading a distro using an old version of udev. - Make use of "%make_build" rpm macro - Renumber scripts to start at index 100 - Introduce scripts-systemd-upgrade-from-pre-210.sh It collects all existing hacks done in %post to fix old/deprecated settings in systemd older than 210. This includes hacks needed to fix system that are migrating from SysV. There shouldn't be any functional changes. - Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts It also renames fix-machines-subvol-for-rollbacks.sh into scripts-systemd-fix-machines-btrfs-subvol.sh Note that the "scripts-systemd-" prefix is used for those scripts so we can gather them. Why not using a directory instead ? because osc OBS-URL: https://build.opensuse.org/request/show/526193 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=988 --- ...ripts-systemd-fix-machines-btrfs-subvol.sh | 0 scripts-systemd-upgrade-from-pre-210.sh | 30 ++++++ scripts-udev-convert-lib-udev-path.sh | 92 +++++++++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 59 ++++++++++++ systemd-mini.spec | 62 +++++-------- systemd.changes | 59 ++++++++++++ systemd.spec | 62 +++++-------- 8 files changed, 288 insertions(+), 80 deletions(-) rename fix-machines-subvol-for-rollbacks.sh => scripts-systemd-fix-machines-btrfs-subvol.sh (100%) create mode 100644 scripts-systemd-upgrade-from-pre-210.sh create mode 100644 scripts-udev-convert-lib-udev-path.sh diff --git a/fix-machines-subvol-for-rollbacks.sh b/scripts-systemd-fix-machines-btrfs-subvol.sh similarity index 100% rename from fix-machines-subvol-for-rollbacks.sh rename to scripts-systemd-fix-machines-btrfs-subvol.sh diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh new file mode 100644 index 00000000..b94a3985 --- /dev/null +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -0,0 +1,30 @@ +#! /bin/bash + +# +# This script is supposed to be executed from the %post section. It +# contains all hacks needed to update a system which was running +# systemd < v210. This also includes systems migrating from SysV. +# +# All hacks can potentially break the admin settings since they work +# in /etc... + +# Try to read default runlevel from the old inittab if it exists +if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) + if [ -n "$runlevel" ] ; then + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target + fi +fi + +# since v207 /etc/sysctl.conf is no longer parsed, however +# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf +if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf +fi + +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f +done + diff --git a/scripts-udev-convert-lib-udev-path.sh b/scripts-udev-convert-lib-udev-path.sh new file mode 100644 index 00000000..1463f787 --- /dev/null +++ b/scripts-udev-convert-lib-udev-path.sh @@ -0,0 +1,92 @@ +#! /bin/bash +# +# When upgrading from systems predating systemd (SLE11, openSUSE +# 12.x), udev libexec directory was changed from /lib/udev to +# /usr/lib/udev. Some customer scripts might still rely on the old +# path, therefore try to create a symlink that preserves the old path +# (see bsc#1050152). +# +# This script is supposed to be called from the %posttrans scection of +# the udev package. +# +convert_lib_udev_path () { + local failed=/bin/false + + # Sanity check: /usr/lib/udev must exist at that point since + # the new udev package should have been installed. + if ! test -d /usr/lib/udev; then + echo >&2 "/usr/lib/udev does not exist, refusing to create" + echo >&2 "/lib/udev compat symlink." + return 1 + fi + + # If the symlink is missing it probably means that we're + # upgrading and the old /lib/udev path was removed as it was + # empty at the time the old version of udev was uninstalled. + if ! test -e /lib/udev; then + echo "Creating /lib/udev -> /usr/lib/udev symlink." + ln -s /usr/lib/udev /lib/udev + return + fi + + # If a symlink already exists, simply assume that we already + # did the job. IOW we're just doing a simple update of + # systemd/udev (not upgrading). + if test -L /lib/udev; then + return + fi + + # Sanity check: refuse to deal with anything but a directory. + if ! test -d /lib/udev; then + echo >&2 "/lib/udev is not either a directory nor a symlink !" + echo >&2 "It won't be converted into a symlink to /usr/lib/udev." + echo >&2 "Please create it manually." + return 1 + fi + + # /lib/udev exists and is still a directory (probably not + # empty otherwise it would have been removed when the old + # version of udev was uninstalled), we try to merge its + # content with the new location and if it fails we warn the + # user and let him sort this out. + shopt -s globstar + for f in /lib/udev/**; do + if test -d "$f"; then + continue + fi + if test -e /usr/"$f"; then + echo >&2 "Failed to migrate '$f' to /usr/lib/udev because it already exists." + failed=/bin/true + continue + fi + + echo "Migrating '$f' in /usr/lib/udev" + if ! cp -a --parents "$f" /usr; then + echo >&2 "Failed to move '$f' in /usr/lib/udev." + failed=/bin/true + continue + fi + rm "$f" + done + shopt -u globstar + + if ! $failed; then + rm -fr /lib/udev && + ln -s ../usr/lib/udev /lib/udev && + echo "The content of /lib/udev has been moved in /usr/lib/udev successfully" && + echo "and /lib/udev is now a symlink pointing to /usr/lib/udev." && + echo "Please note /lib/udev is deprecated and shouldn't be used by" && + echo "new scripts/applications anymore." || + failed=/bin/true + fi + + if $failed; then + echo >&2 "Converting /lib/udev into a symlink pointing to /usr/lib/udev was not" + echo >&2 "possible due to previous error(s)." + echo >&2 "Please fix them and then create the symlink with:" + echo >&2 " 'ln -s ../usr/lib/udev /lib/udev'." + return 1 + fi +} + +convert_lib_udev_path diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 99fbec2d..07321344 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca0e6e98e69ba6a809d145ac5562f594c86acce052fbfbbf291fa61e9b8352a2 -size 3351252 +oid sha256:3e6748a9e064fa60601d85dd13b360142e3d54f31be45b17773d6be3abb9b05f +size 3350944 diff --git a/systemd-mini.changes b/systemd-mini.changes index 53d736b7..cbbe1a27 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com + +- Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d + + 334945091 shutdown: fix incorrect fscanf() result check (#6806) + 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) + bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) + d9d293847 util: make get_block_device() available + 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) + ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) + +------------------------------------------------------------------- +Thu Sep 14 16:12:30 UTC 2017 - fbui@suse.com + +- Make use of "%tmpfiles_create" in %post of the logger subpackage + +------------------------------------------------------------------- +Thu Sep 14 15:51:54 UTC 2017 - fbui@suse.com + +- Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) + + This script takes care of converting /lib/udev into a symlink + pointing to /usr/lib/udev when upgrading a distro using an old + version of udev. + +------------------------------------------------------------------- +Thu Sep 14 12:23:26 UTC 2017 - fbui@suse.com + +- Make use of "%make_build" rpm macro + +------------------------------------------------------------------- +Thu Sep 14 12:18:21 UTC 2017 - fbui@suse.com + +- Renumber scripts to start at index 100 + +------------------------------------------------------------------- +Thu Sep 14 11:32:28 UTC 2017 - fbui@suse.com + +- Introduce scripts-systemd-upgrade-from-pre-210.sh + + It collects all existing hacks done in %post to fix old/deprecated + settings in systemd older than 210. This includes hacks needed to + fix system that are migrating from SysV. + + There shouldn't be any functional changes. + +------------------------------------------------------------------- +Thu Sep 14 11:06:35 UTC 2017 - fbui@suse.com + +- Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts + + It also renames fix-machines-subvol-for-rollbacks.sh into + scripts-systemd-fix-machines-btrfs-subvol.sh + + Note that the "scripts-systemd-" prefix is used for those scripts so + we can gather them. Why not using a directory instead ? because osc + doesn't allow that. + ------------------------------------------------------------------- Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 658f2c2f..c63b0f9a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -150,9 +150,12 @@ Source7: libgcrypt.m4 Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install -Source13: fix-machines-subvol-for-rollbacks.sh Source14: kbd-model-map.legacy +Source100: scripts-systemd-fix-machines-btrfs-subvol.sh +Source101: scripts-systemd-upgrade-from-pre-210.sh +Source200: scripts-udev-convert-lib-udev-path.sh + Source1065: udev-remount-tmpfs # Patches listed in here are really special cases. Normally all @@ -460,7 +463,7 @@ cp %{SOURCE7} m4/ %endif --disable-kdbus -make %{?_smp_mflags} V=e +%make_build V=e %install %make_install @@ -488,7 +491,16 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + +# Package the scripts used to fix all packaging issues. Also drop the +# "scripts-{systemd/udev}" prefix which is used because osc doesn't +# allow directory structure... +for s in %{S:100} %{S:101}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} +done +for s in %{S:200}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} +done ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -669,14 +681,6 @@ systemctl daemon-reexec || : %journal_catalog_update %tmpfiles_create 2>/dev/null -# Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi -fi - # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then @@ -695,18 +699,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : -fi - -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - # Keep tmp.mount if it's been enabled explicitly by the user otherwise # make sure it wont be activated since it's the default for Suse # distros. This unit can be pulled (implicitely) in various ways @@ -729,6 +721,9 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# This includes all hacks needed when upgrading from SysV. +%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -745,7 +740,7 @@ done # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi %postun @@ -760,20 +755,7 @@ fi %systemd_postun_with_restart systemd-resolved.service %endif -%pretrans -n udev%{?mini} -p -if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") -end - %pre -n udev%{?mini} -if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev -elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev -fi - # New installations uses the last compat symlink generation number # (currently at 2), which basically disables all compat symlinks. On # old systems, the file doesn't exist. This is equivalent to @@ -807,6 +789,7 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans +%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -816,7 +799,7 @@ systemctl daemon-reload || : %if ! 0%{?bootstrap} %post logger -systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : +%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null || : @@ -947,7 +930,7 @@ fi %if %{with resolved} %{_prefix}/lib/systemd/resolv.conf %endif -%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh +%{_prefix}/lib/systemd/scripts %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1198,6 +1181,7 @@ fi %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ +%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin diff --git a/systemd.changes b/systemd.changes index 53d736b7..cbbe1a27 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com + +- Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d + + 334945091 shutdown: fix incorrect fscanf() result check (#6806) + 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) + bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) + d9d293847 util: make get_block_device() available + 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) + ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) + +------------------------------------------------------------------- +Thu Sep 14 16:12:30 UTC 2017 - fbui@suse.com + +- Make use of "%tmpfiles_create" in %post of the logger subpackage + +------------------------------------------------------------------- +Thu Sep 14 15:51:54 UTC 2017 - fbui@suse.com + +- Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) + + This script takes care of converting /lib/udev into a symlink + pointing to /usr/lib/udev when upgrading a distro using an old + version of udev. + +------------------------------------------------------------------- +Thu Sep 14 12:23:26 UTC 2017 - fbui@suse.com + +- Make use of "%make_build" rpm macro + +------------------------------------------------------------------- +Thu Sep 14 12:18:21 UTC 2017 - fbui@suse.com + +- Renumber scripts to start at index 100 + +------------------------------------------------------------------- +Thu Sep 14 11:32:28 UTC 2017 - fbui@suse.com + +- Introduce scripts-systemd-upgrade-from-pre-210.sh + + It collects all existing hacks done in %post to fix old/deprecated + settings in systemd older than 210. This includes hacks needed to + fix system that are migrating from SysV. + + There shouldn't be any functional changes. + +------------------------------------------------------------------- +Thu Sep 14 11:06:35 UTC 2017 - fbui@suse.com + +- Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts + + It also renames fix-machines-subvol-for-rollbacks.sh into + scripts-systemd-fix-machines-btrfs-subvol.sh + + Note that the "scripts-systemd-" prefix is used for those scripts so + we can gather them. Why not using a directory instead ? because osc + doesn't allow that. + ------------------------------------------------------------------- Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3955b61a..97ac7b9b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -148,9 +148,12 @@ Source7: libgcrypt.m4 Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install -Source13: fix-machines-subvol-for-rollbacks.sh Source14: kbd-model-map.legacy +Source100: scripts-systemd-fix-machines-btrfs-subvol.sh +Source101: scripts-systemd-upgrade-from-pre-210.sh +Source200: scripts-udev-convert-lib-udev-path.sh + Source1065: udev-remount-tmpfs # Patches listed in here are really special cases. Normally all @@ -458,7 +461,7 @@ cp %{SOURCE7} m4/ %endif --disable-kdbus -make %{?_smp_mflags} V=e +%make_build V=e %install %make_install @@ -486,7 +489,16 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + +# Package the scripts used to fix all packaging issues. Also drop the +# "scripts-{systemd/udev}" prefix which is used because osc doesn't +# allow directory structure... +for s in %{S:100} %{S:101}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} +done +for s in %{S:200}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} +done ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -667,14 +679,6 @@ systemctl daemon-reexec || : %journal_catalog_update %tmpfiles_create 2>/dev/null -# Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi -fi - # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then @@ -693,18 +697,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : -fi - -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - # Keep tmp.mount if it's been enabled explicitly by the user otherwise # make sure it wont be activated since it's the default for Suse # distros. This unit can be pulled (implicitely) in various ways @@ -727,6 +719,9 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# This includes all hacks needed when upgrading from SysV. +%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -743,7 +738,7 @@ done # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi %postun @@ -758,20 +753,7 @@ fi %systemd_postun_with_restart systemd-resolved.service %endif -%pretrans -n udev%{?mini} -p -if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") -end - %pre -n udev%{?mini} -if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev -elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev -fi - # New installations uses the last compat symlink generation number # (currently at 2), which basically disables all compat symlinks. On # old systems, the file doesn't exist. This is equivalent to @@ -805,6 +787,7 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans +%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -814,7 +797,7 @@ systemctl daemon-reload || : %if ! 0%{?bootstrap} %post logger -systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : +%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null || : @@ -945,7 +928,7 @@ fi %if %{with resolved} %{_prefix}/lib/systemd/resolv.conf %endif -%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh +%{_prefix}/lib/systemd/scripts %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1196,6 +1179,7 @@ fi %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ +%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin From 027474f6bc1205c03842fd97abdafc3f74a2e50a13bc86367dd7659548b6a0ca Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 17 Sep 2017 20:36:37 +0000 Subject: [PATCH 320/991] Accepting request 526196 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/526196 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=261 --- ...ripts-systemd-fix-machines-btrfs-subvol.sh | 0 scripts-systemd-upgrade-from-pre-210.sh | 30 ++++++ scripts-udev-convert-lib-udev-path.sh | 92 +++++++++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 59 ++++++++++++ systemd-mini.spec | 62 +++++-------- systemd.changes | 59 ++++++++++++ systemd.spec | 62 +++++-------- 8 files changed, 288 insertions(+), 80 deletions(-) rename fix-machines-subvol-for-rollbacks.sh => scripts-systemd-fix-machines-btrfs-subvol.sh (100%) create mode 100644 scripts-systemd-upgrade-from-pre-210.sh create mode 100644 scripts-udev-convert-lib-udev-path.sh diff --git a/fix-machines-subvol-for-rollbacks.sh b/scripts-systemd-fix-machines-btrfs-subvol.sh similarity index 100% rename from fix-machines-subvol-for-rollbacks.sh rename to scripts-systemd-fix-machines-btrfs-subvol.sh diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh new file mode 100644 index 00000000..b94a3985 --- /dev/null +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -0,0 +1,30 @@ +#! /bin/bash + +# +# This script is supposed to be executed from the %post section. It +# contains all hacks needed to update a system which was running +# systemd < v210. This also includes systems migrating from SysV. +# +# All hacks can potentially break the admin settings since they work +# in /etc... + +# Try to read default runlevel from the old inittab if it exists +if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) + if [ -n "$runlevel" ] ; then + ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target + fi +fi + +# since v207 /etc/sysctl.conf is no longer parsed, however +# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf +if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then + ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf +fi + +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f +done + diff --git a/scripts-udev-convert-lib-udev-path.sh b/scripts-udev-convert-lib-udev-path.sh new file mode 100644 index 00000000..1463f787 --- /dev/null +++ b/scripts-udev-convert-lib-udev-path.sh @@ -0,0 +1,92 @@ +#! /bin/bash +# +# When upgrading from systems predating systemd (SLE11, openSUSE +# 12.x), udev libexec directory was changed from /lib/udev to +# /usr/lib/udev. Some customer scripts might still rely on the old +# path, therefore try to create a symlink that preserves the old path +# (see bsc#1050152). +# +# This script is supposed to be called from the %posttrans scection of +# the udev package. +# +convert_lib_udev_path () { + local failed=/bin/false + + # Sanity check: /usr/lib/udev must exist at that point since + # the new udev package should have been installed. + if ! test -d /usr/lib/udev; then + echo >&2 "/usr/lib/udev does not exist, refusing to create" + echo >&2 "/lib/udev compat symlink." + return 1 + fi + + # If the symlink is missing it probably means that we're + # upgrading and the old /lib/udev path was removed as it was + # empty at the time the old version of udev was uninstalled. + if ! test -e /lib/udev; then + echo "Creating /lib/udev -> /usr/lib/udev symlink." + ln -s /usr/lib/udev /lib/udev + return + fi + + # If a symlink already exists, simply assume that we already + # did the job. IOW we're just doing a simple update of + # systemd/udev (not upgrading). + if test -L /lib/udev; then + return + fi + + # Sanity check: refuse to deal with anything but a directory. + if ! test -d /lib/udev; then + echo >&2 "/lib/udev is not either a directory nor a symlink !" + echo >&2 "It won't be converted into a symlink to /usr/lib/udev." + echo >&2 "Please create it manually." + return 1 + fi + + # /lib/udev exists and is still a directory (probably not + # empty otherwise it would have been removed when the old + # version of udev was uninstalled), we try to merge its + # content with the new location and if it fails we warn the + # user and let him sort this out. + shopt -s globstar + for f in /lib/udev/**; do + if test -d "$f"; then + continue + fi + if test -e /usr/"$f"; then + echo >&2 "Failed to migrate '$f' to /usr/lib/udev because it already exists." + failed=/bin/true + continue + fi + + echo "Migrating '$f' in /usr/lib/udev" + if ! cp -a --parents "$f" /usr; then + echo >&2 "Failed to move '$f' in /usr/lib/udev." + failed=/bin/true + continue + fi + rm "$f" + done + shopt -u globstar + + if ! $failed; then + rm -fr /lib/udev && + ln -s ../usr/lib/udev /lib/udev && + echo "The content of /lib/udev has been moved in /usr/lib/udev successfully" && + echo "and /lib/udev is now a symlink pointing to /usr/lib/udev." && + echo "Please note /lib/udev is deprecated and shouldn't be used by" && + echo "new scripts/applications anymore." || + failed=/bin/true + fi + + if $failed; then + echo >&2 "Converting /lib/udev into a symlink pointing to /usr/lib/udev was not" + echo >&2 "possible due to previous error(s)." + echo >&2 "Please fix them and then create the symlink with:" + echo >&2 " 'ln -s ../usr/lib/udev /lib/udev'." + return 1 + fi +} + +convert_lib_udev_path diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 99fbec2d..07321344 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca0e6e98e69ba6a809d145ac5562f594c86acce052fbfbbf291fa61e9b8352a2 -size 3351252 +oid sha256:3e6748a9e064fa60601d85dd13b360142e3d54f31be45b17773d6be3abb9b05f +size 3350944 diff --git a/systemd-mini.changes b/systemd-mini.changes index 53d736b7..cbbe1a27 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com + +- Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d + + 334945091 shutdown: fix incorrect fscanf() result check (#6806) + 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) + bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) + d9d293847 util: make get_block_device() available + 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) + ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) + +------------------------------------------------------------------- +Thu Sep 14 16:12:30 UTC 2017 - fbui@suse.com + +- Make use of "%tmpfiles_create" in %post of the logger subpackage + +------------------------------------------------------------------- +Thu Sep 14 15:51:54 UTC 2017 - fbui@suse.com + +- Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) + + This script takes care of converting /lib/udev into a symlink + pointing to /usr/lib/udev when upgrading a distro using an old + version of udev. + +------------------------------------------------------------------- +Thu Sep 14 12:23:26 UTC 2017 - fbui@suse.com + +- Make use of "%make_build" rpm macro + +------------------------------------------------------------------- +Thu Sep 14 12:18:21 UTC 2017 - fbui@suse.com + +- Renumber scripts to start at index 100 + +------------------------------------------------------------------- +Thu Sep 14 11:32:28 UTC 2017 - fbui@suse.com + +- Introduce scripts-systemd-upgrade-from-pre-210.sh + + It collects all existing hacks done in %post to fix old/deprecated + settings in systemd older than 210. This includes hacks needed to + fix system that are migrating from SysV. + + There shouldn't be any functional changes. + +------------------------------------------------------------------- +Thu Sep 14 11:06:35 UTC 2017 - fbui@suse.com + +- Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts + + It also renames fix-machines-subvol-for-rollbacks.sh into + scripts-systemd-fix-machines-btrfs-subvol.sh + + Note that the "scripts-systemd-" prefix is used for those scripts so + we can gather them. Why not using a directory instead ? because osc + doesn't allow that. + ------------------------------------------------------------------- Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 658f2c2f..c63b0f9a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -150,9 +150,12 @@ Source7: libgcrypt.m4 Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install -Source13: fix-machines-subvol-for-rollbacks.sh Source14: kbd-model-map.legacy +Source100: scripts-systemd-fix-machines-btrfs-subvol.sh +Source101: scripts-systemd-upgrade-from-pre-210.sh +Source200: scripts-udev-convert-lib-udev-path.sh + Source1065: udev-remount-tmpfs # Patches listed in here are really special cases. Normally all @@ -460,7 +463,7 @@ cp %{SOURCE7} m4/ %endif --disable-kdbus -make %{?_smp_mflags} V=e +%make_build V=e %install %make_install @@ -488,7 +491,16 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + +# Package the scripts used to fix all packaging issues. Also drop the +# "scripts-{systemd/udev}" prefix which is used because osc doesn't +# allow directory structure... +for s in %{S:100} %{S:101}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} +done +for s in %{S:200}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} +done ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -669,14 +681,6 @@ systemctl daemon-reexec || : %journal_catalog_update %tmpfiles_create 2>/dev/null -# Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi -fi - # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then @@ -695,18 +699,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : -fi - -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - # Keep tmp.mount if it's been enabled explicitly by the user otherwise # make sure it wont be activated since it's the default for Suse # distros. This unit can be pulled (implicitely) in various ways @@ -729,6 +721,9 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# This includes all hacks needed when upgrading from SysV. +%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -745,7 +740,7 @@ done # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi %postun @@ -760,20 +755,7 @@ fi %systemd_postun_with_restart systemd-resolved.service %endif -%pretrans -n udev%{?mini} -p -if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") -end - %pre -n udev%{?mini} -if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev -elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev -fi - # New installations uses the last compat symlink generation number # (currently at 2), which basically disables all compat symlinks. On # old systems, the file doesn't exist. This is equivalent to @@ -807,6 +789,7 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans +%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -816,7 +799,7 @@ systemctl daemon-reload || : %if ! 0%{?bootstrap} %post logger -systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : +%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null || : @@ -947,7 +930,7 @@ fi %if %{with resolved} %{_prefix}/lib/systemd/resolv.conf %endif -%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh +%{_prefix}/lib/systemd/scripts %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1198,6 +1181,7 @@ fi %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ +%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin diff --git a/systemd.changes b/systemd.changes index 53d736b7..cbbe1a27 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com + +- Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d + + 334945091 shutdown: fix incorrect fscanf() result check (#6806) + 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) + bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) + d9d293847 util: make get_block_device() available + 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) + ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) + +------------------------------------------------------------------- +Thu Sep 14 16:12:30 UTC 2017 - fbui@suse.com + +- Make use of "%tmpfiles_create" in %post of the logger subpackage + +------------------------------------------------------------------- +Thu Sep 14 15:51:54 UTC 2017 - fbui@suse.com + +- Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) + + This script takes care of converting /lib/udev into a symlink + pointing to /usr/lib/udev when upgrading a distro using an old + version of udev. + +------------------------------------------------------------------- +Thu Sep 14 12:23:26 UTC 2017 - fbui@suse.com + +- Make use of "%make_build" rpm macro + +------------------------------------------------------------------- +Thu Sep 14 12:18:21 UTC 2017 - fbui@suse.com + +- Renumber scripts to start at index 100 + +------------------------------------------------------------------- +Thu Sep 14 11:32:28 UTC 2017 - fbui@suse.com + +- Introduce scripts-systemd-upgrade-from-pre-210.sh + + It collects all existing hacks done in %post to fix old/deprecated + settings in systemd older than 210. This includes hacks needed to + fix system that are migrating from SysV. + + There shouldn't be any functional changes. + +------------------------------------------------------------------- +Thu Sep 14 11:06:35 UTC 2017 - fbui@suse.com + +- Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts + + It also renames fix-machines-subvol-for-rollbacks.sh into + scripts-systemd-fix-machines-btrfs-subvol.sh + + Note that the "scripts-systemd-" prefix is used for those scripts so + we can gather them. Why not using a directory instead ? because osc + doesn't allow that. + ------------------------------------------------------------------- Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3955b61a..97ac7b9b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -148,9 +148,12 @@ Source7: libgcrypt.m4 Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install -Source13: fix-machines-subvol-for-rollbacks.sh Source14: kbd-model-map.legacy +Source100: scripts-systemd-fix-machines-btrfs-subvol.sh +Source101: scripts-systemd-upgrade-from-pre-210.sh +Source200: scripts-udev-convert-lib-udev-path.sh + Source1065: udev-remount-tmpfs # Patches listed in here are really special cases. Normally all @@ -458,7 +461,7 @@ cp %{SOURCE7} m4/ %endif --disable-kdbus -make %{?_smp_mflags} V=e +%make_build V=e %install %make_install @@ -486,7 +489,16 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -install -m0755 %{S:13} %{buildroot}/%{_prefix}/lib/systemd/ + +# Package the scripts used to fix all packaging issues. Also drop the +# "scripts-{systemd/udev}" prefix which is used because osc doesn't +# allow directory structure... +for s in %{S:100} %{S:101}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} +done +for s in %{S:200}; do + install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} +done ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -667,14 +679,6 @@ systemctl daemon-reexec || : %journal_catalog_update %tmpfiles_create 2>/dev/null -# Try to read default runlevel from the old inittab if it exists -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target || : - fi -fi - # Create default config in /etc at first install. # Later package updates should not overwrite these settings. if [ $1 -eq 1 ]; then @@ -693,18 +697,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : -fi - -# migrate any symlink which may refer to the old path -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f || : -done - # Keep tmp.mount if it's been enabled explicitly by the user otherwise # make sure it wont be activated since it's the default for Suse # distros. This unit can be pulled (implicitely) in various ways @@ -727,6 +719,9 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# This includes all hacks needed when upgrading from SysV. +%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : + # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed # to create it at installation time. @@ -743,7 +738,7 @@ done # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. if [ $1 -gt 1 ]; then - %{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh || : + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi %postun @@ -758,20 +753,7 @@ fi %systemd_postun_with_restart systemd-resolved.service %endif -%pretrans -n udev%{?mini} -p -if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then - posix.symlink("/lib/udev", "/usr/lib/udev") -end - %pre -n udev%{?mini} -if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then - rm /usr/lib/udev - mv /lib/udev /usr/lib - ln -s /usr/lib/udev /lib/udev -elif [ ! -e /lib/udev ]; then - ln -s /usr/lib/udev /lib/udev -fi - # New installations uses the last compat symlink generation number # (currently at 2), which basically disables all compat symlinks. On # old systems, the file doesn't exist. This is equivalent to @@ -805,6 +787,7 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans +%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -814,7 +797,7 @@ systemctl daemon-reload || : %if ! 0%{?bootstrap} %post logger -systemd-tmpfiles --create --prefix=%{_localstatedir}/log/journal/ || : +%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null || : @@ -945,7 +928,7 @@ fi %if %{with resolved} %{_prefix}/lib/systemd/resolv.conf %endif -%{_prefix}/lib/systemd/fix-machines-subvol-for-rollbacks.sh +%{_prefix}/lib/systemd/scripts %dir %{_prefix}/lib/systemd/catalog %{_prefix}/lib/systemd/catalog/systemd.catalog %{_prefix}/lib/systemd/catalog/systemd.*.catalog @@ -1196,6 +1179,7 @@ fi %exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %{_prefix}/lib/udev/rules.d/*.rules %{_prefix}/lib/udev/hwdb.d/ +%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin From 6296dd611f527ebcf585d81aae9f2c400f64916b4794cb35d2bcdf5eb441dafb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 26 Sep 2017 12:43:17 +0000 Subject: [PATCH 321/991] Accepting request 528799 from home:fbui:systemd:Factory - Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on dd6312828 logind: make sure we don't process the same method call twice (#6583) - Update scripts-systemd-upgrade-from-pre-210.sh script - drop dependency on awk - fallback to runlevel #3 if something goes wrong Note: I'm not sure how this is supposed to work as /etc/inittab is likely to be missing in my understanding. Indeed this file is part of the aaa_base package which might be upgraded before systemd is installed... - Drop macros.systemd.upstream as it's not used OBS-URL: https://build.opensuse.org/request/show/528799 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=989 --- macros.systemd.upstream | 105 ------------------------ scripts-systemd-upgrade-from-pre-210.sh | 16 ++-- systemd-234.tar.xz | 4 +- systemd-mini.changes | 26 ++++++ systemd-mini.spec | 2 - systemd.changes | 26 ++++++ systemd.spec | 2 - 7 files changed, 65 insertions(+), 116 deletions(-) delete mode 100644 macros.systemd.upstream diff --git a/macros.systemd.upstream b/macros.systemd.upstream deleted file mode 100644 index 2ba0ff05..00000000 --- a/macros.systemd.upstream +++ /dev/null @@ -1,105 +0,0 @@ -# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ -# -# This file is part of systemd. -# -# Copyright 2012 Lennart Poettering -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# systemd is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with systemd; If not, see . - -# RPM macros for packages installing systemd unit files - -%_unitdir @systemunitdir@ -%_userunitdir @userunitdir@ -%_presetdir @systempresetdir@ -%_udevhwdbdir @udevhwdbdir@ -%_udevrulesdir @udevrulesdir@ -%_journalcatalogdir @catalogdir@ -%_tmpfilesdir @tmpfilesdir@ -%_sysusersdir @sysusersdir@ -%_sysctldir @sysctldir@ -%_binfmtdir @binfmtdir@ - -%systemd_requires \ -Requires(post): systemd \ -Requires(preun): systemd \ -Requires(postun): systemd \ -%{nil} - -%systemd_post() \ -if [ $1 -eq 1 ] ; then \ - # Initial installation \ - systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_post() %systemd_post --user --global %{?*} - -%systemd_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_postun() %{nil} - -%systemd_user_postun() %{nil} - -%systemd_postun_with_restart() \ -if [ $1 -ge 1 ] ; then \ - # Package upgrade, not uninstall \ - systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_postun_with_restart() %{nil} - -%udev_hwdb_update() \ -udevadm hwdb --update >/dev/null 2>&1 || : \ -%{nil} - -%udev_rules_update() \ -udevadm control --reload >/dev/null 2>&1 || : \ -%{nil} - -%journal_catalog_update() \ -journalctl --update-catalog >/dev/null 2>&1 || : \ -%{nil} - -%tmpfiles_create() \ -systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create() \ -systemd-sysusers %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create_inline() \ -echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \ -%{nil} - -%sysctl_apply() \ -@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%binfmt_apply() \ -@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ -%{nil} diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh index b94a3985..24738567 100644 --- a/scripts-systemd-upgrade-from-pre-210.sh +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -8,12 +8,18 @@ # All hacks can potentially break the admin settings since they work # in /etc... -# Try to read default runlevel from the old inittab if it exists +# Try to read default runlevel from the old inittab if it exists. If +# it fails fallback to runlevel 3 which should still be better than +# the rescue shell. +# +# Note: /etc/inittab was part of the aaa_base package which can be +# upgraded before systemd is. Therefore this file is likely to be +# missing. if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target - fi + runlevel=$(sed -n -r "s/^id:([[:digit:]]):initdefault:/\1/p" /etc/inittab) + : ${runlevel:=3} + echo "Initializing default.target to runlevel${runlevel}.target" + ln -s /usr/lib/systemd/system/runlevel${runlevel}.target /etc/systemd/system/default.target fi # since v207 /etc/sysctl.conf is no longer parsed, however diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 07321344..e3b02184 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e6748a9e064fa60601d85dd13b360142e3d54f31be45b17773d6be3abb9b05f -size 3350944 +oid sha256:6ee3972f4e9cb106edc944878ffd753b55e3318efad555bf06c8e66770e7605e +size 3351148 diff --git a/systemd-mini.changes b/systemd-mini.changes index cbbe1a27..e8f8c007 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com + +- Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a + + 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on + dd6312828 logind: make sure we don't process the same method call twice (#6583) + +------------------------------------------------------------------- +Tue Sep 26 09:27:12 UTC 2017 - fbui@suse.com + +- Update scripts-systemd-upgrade-from-pre-210.sh script + + - drop dependency on awk + - fallback to runlevel #3 if something goes wrong + + Note: I'm not sure how this is supposed to work as /etc/inittab is + likely to be missing in my understanding. Indeed this file is part + of the aaa_base package which might be upgraded before systemd is + installed... + +------------------------------------------------------------------- +Tue Sep 26 08:08:22 UTC 2017 - fbui@suse.com + +- Drop macros.systemd.upstream as it's not used + ------------------------------------------------------------------- Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c63b0f9a..02ebdf99 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -128,7 +128,6 @@ Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(post): /usr/bin/awk %if 0%{?bootstrap} Conflicts: systemd @@ -147,7 +146,6 @@ Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy diff --git a/systemd.changes b/systemd.changes index cbbe1a27..e8f8c007 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com + +- Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a + + 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on + dd6312828 logind: make sure we don't process the same method call twice (#6583) + +------------------------------------------------------------------- +Tue Sep 26 09:27:12 UTC 2017 - fbui@suse.com + +- Update scripts-systemd-upgrade-from-pre-210.sh script + + - drop dependency on awk + - fallback to runlevel #3 if something goes wrong + + Note: I'm not sure how this is supposed to work as /etc/inittab is + likely to be missing in my understanding. Indeed this file is part + of the aaa_base package which might be upgraded before systemd is + installed... + +------------------------------------------------------------------- +Tue Sep 26 08:08:22 UTC 2017 - fbui@suse.com + +- Drop macros.systemd.upstream as it's not used + ------------------------------------------------------------------- Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 97ac7b9b..304d2471 100644 --- a/systemd.spec +++ b/systemd.spec @@ -126,7 +126,6 @@ Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(post): /usr/bin/awk %if 0%{?bootstrap} Conflicts: systemd @@ -145,7 +144,6 @@ Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy From 3f0ebd0ca165beea1dbcc80e34c7bb0f4b5dff812cd0895ff2ef18e353915acc Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 29 Sep 2017 09:49:48 +0000 Subject: [PATCH 322/991] Accepting request 528802 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/528802 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=262 --- macros.systemd.upstream | 105 ------------------------ scripts-systemd-upgrade-from-pre-210.sh | 16 ++-- systemd-234.tar.xz | 4 +- systemd-mini.changes | 26 ++++++ systemd-mini.spec | 2 - systemd.changes | 26 ++++++ systemd.spec | 2 - 7 files changed, 65 insertions(+), 116 deletions(-) delete mode 100644 macros.systemd.upstream diff --git a/macros.systemd.upstream b/macros.systemd.upstream deleted file mode 100644 index 2ba0ff05..00000000 --- a/macros.systemd.upstream +++ /dev/null @@ -1,105 +0,0 @@ -# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ -# -# This file is part of systemd. -# -# Copyright 2012 Lennart Poettering -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# systemd is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with systemd; If not, see . - -# RPM macros for packages installing systemd unit files - -%_unitdir @systemunitdir@ -%_userunitdir @userunitdir@ -%_presetdir @systempresetdir@ -%_udevhwdbdir @udevhwdbdir@ -%_udevrulesdir @udevrulesdir@ -%_journalcatalogdir @catalogdir@ -%_tmpfilesdir @tmpfilesdir@ -%_sysusersdir @sysusersdir@ -%_sysctldir @sysctldir@ -%_binfmtdir @binfmtdir@ - -%systemd_requires \ -Requires(post): systemd \ -Requires(preun): systemd \ -Requires(postun): systemd \ -%{nil} - -%systemd_post() \ -if [ $1 -eq 1 ] ; then \ - # Initial installation \ - systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_post() %systemd_post --user --global %{?*} - -%systemd_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_preun() \ -if [ $1 -eq 0 ] ; then \ - # Package removal, not upgrade \ - systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_postun() %{nil} - -%systemd_user_postun() %{nil} - -%systemd_postun_with_restart() \ -if [ $1 -ge 1 ] ; then \ - # Package upgrade, not uninstall \ - systemctl try-restart %{?*} >/dev/null 2>&1 || : \ -fi \ -%{nil} - -%systemd_user_postun_with_restart() %{nil} - -%udev_hwdb_update() \ -udevadm hwdb --update >/dev/null 2>&1 || : \ -%{nil} - -%udev_rules_update() \ -udevadm control --reload >/dev/null 2>&1 || : \ -%{nil} - -%journal_catalog_update() \ -journalctl --update-catalog >/dev/null 2>&1 || : \ -%{nil} - -%tmpfiles_create() \ -systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create() \ -systemd-sysusers %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%sysusers_create_inline() \ -echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \ -%{nil} - -%sysctl_apply() \ -@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \ -%{nil} - -%binfmt_apply() \ -@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ -%{nil} diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh index b94a3985..24738567 100644 --- a/scripts-systemd-upgrade-from-pre-210.sh +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -8,12 +8,18 @@ # All hacks can potentially break the admin settings since they work # in /etc... -# Try to read default runlevel from the old inittab if it exists +# Try to read default runlevel from the old inittab if it exists. If +# it fails fallback to runlevel 3 which should still be better than +# the rescue shell. +# +# Note: /etc/inittab was part of the aaa_base package which can be +# upgraded before systemd is. Therefore this file is likely to be +# missing. if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab) - if [ -n "$runlevel" ] ; then - ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target - fi + runlevel=$(sed -n -r "s/^id:([[:digit:]]):initdefault:/\1/p" /etc/inittab) + : ${runlevel:=3} + echo "Initializing default.target to runlevel${runlevel}.target" + ln -s /usr/lib/systemd/system/runlevel${runlevel}.target /etc/systemd/system/default.target fi # since v207 /etc/sysctl.conf is no longer parsed, however diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 07321344..e3b02184 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e6748a9e064fa60601d85dd13b360142e3d54f31be45b17773d6be3abb9b05f -size 3350944 +oid sha256:6ee3972f4e9cb106edc944878ffd753b55e3318efad555bf06c8e66770e7605e +size 3351148 diff --git a/systemd-mini.changes b/systemd-mini.changes index cbbe1a27..e8f8c007 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com + +- Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a + + 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on + dd6312828 logind: make sure we don't process the same method call twice (#6583) + +------------------------------------------------------------------- +Tue Sep 26 09:27:12 UTC 2017 - fbui@suse.com + +- Update scripts-systemd-upgrade-from-pre-210.sh script + + - drop dependency on awk + - fallback to runlevel #3 if something goes wrong + + Note: I'm not sure how this is supposed to work as /etc/inittab is + likely to be missing in my understanding. Indeed this file is part + of the aaa_base package which might be upgraded before systemd is + installed... + +------------------------------------------------------------------- +Tue Sep 26 08:08:22 UTC 2017 - fbui@suse.com + +- Drop macros.systemd.upstream as it's not used + ------------------------------------------------------------------- Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c63b0f9a..02ebdf99 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -128,7 +128,6 @@ Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(post): /usr/bin/awk %if 0%{?bootstrap} Conflicts: systemd @@ -147,7 +146,6 @@ Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy diff --git a/systemd.changes b/systemd.changes index cbbe1a27..e8f8c007 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com + +- Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a + + 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on + dd6312828 logind: make sure we don't process the same method call twice (#6583) + +------------------------------------------------------------------- +Tue Sep 26 09:27:12 UTC 2017 - fbui@suse.com + +- Update scripts-systemd-upgrade-from-pre-210.sh script + + - drop dependency on awk + - fallback to runlevel #3 if something goes wrong + + Note: I'm not sure how this is supposed to work as /etc/inittab is + likely to be missing in my understanding. Indeed this file is part + of the aaa_base package which might be upgraded before systemd is + installed... + +------------------------------------------------------------------- +Tue Sep 26 08:08:22 UTC 2017 - fbui@suse.com + +- Drop macros.systemd.upstream as it's not used + ------------------------------------------------------------------- Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 97ac7b9b..304d2471 100644 --- a/systemd.spec +++ b/systemd.spec @@ -126,7 +126,6 @@ Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif -Requires(post): /usr/bin/awk %if 0%{?bootstrap} Conflicts: systemd @@ -145,7 +144,6 @@ Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source10: macros.systemd.upstream Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy From f8266aa67d221cb14e3932a2b01abe412a3a8bf688fa9b0e553e895d0f322b9b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Oct 2017 16:02:03 +0000 Subject: [PATCH 323/991] Accepting request 531384 from home:fbui:systemd:Factory - Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) OBS-URL: https://build.opensuse.org/request/show/531384 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=990 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 8 ++++++++ systemd.changes | 8 ++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index e3b02184..64156f2d 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ee3972f4e9cb106edc944878ffd753b55e3318efad555bf06c8e66770e7605e -size 3351148 +oid sha256:724079e95a0afe9ca09b4a767fa2a08f6319e7abcfd2cadc335468c8c9115d2c +size 3351268 diff --git a/systemd-mini.changes b/systemd-mini.changes index e8f8c007..b22dc2b3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com + +- Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 + + 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson + 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) + ------------------------------------------------------------------- Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index e8f8c007..b22dc2b3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com + +- Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 + + 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson + 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) + ------------------------------------------------------------------- Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com From 02bb4167c0015340d51c5dc01757ca32908c1015522b7985f82f00e9b5ea22d8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 5 Oct 2017 12:49:20 +0000 Subject: [PATCH 324/991] Accepting request 531719 from home:fbui:systemd:Factory - Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline OBS-URL: https://build.opensuse.org/request/show/531719 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=991 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 7 +++++++ systemd.changes | 7 +++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 64156f2d..8a405ad5 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:724079e95a0afe9ca09b4a767fa2a08f6319e7abcfd2cadc335468c8c9115d2c -size 3351268 +oid sha256:3b61dbb97f98aff4b1666ee4b7ed57d2f89fe6b06b188339ff67f8c7cc5828ac +size 3351020 diff --git a/systemd-mini.changes b/systemd-mini.changes index b22dc2b3..bc1253c7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com + +- Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde + + c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline + ------------------------------------------------------------------- Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index b22dc2b3..bc1253c7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com + +- Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde + + c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline + ------------------------------------------------------------------- Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com From 256590c9f4377e8fd141585ec46850134e1c7f438b088215fb635bf051825730 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 6 Oct 2017 07:39:28 +0000 Subject: [PATCH 325/991] Accepting request 532097 from home:fbui:systemd:Factory - Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch not needed anymore. OBS-URL: https://build.opensuse.org/request/show/532097 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=992 --- ...ce-Use-JobRunningTimeoutSec-for-devi.patch | 48 ------------------- systemd-234.tar.xz | 4 +- systemd-mini.changes | 10 ++++ systemd.changes | 10 ++++ 4 files changed, 22 insertions(+), 50 deletions(-) delete mode 100644 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch diff --git a/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch b/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch deleted file mode 100644 index cc49aea0..00000000 --- a/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 02a4361a931a210b547795a49d062e90d2462cbc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Wed, 23 Aug 2017 15:18:19 +0200 -Subject: [PATCH 1/1] Revert "core/device: Use JobRunningTimeoutSec= for device - units" - -This reverts commit d9732d78034cd01a75f2cda6ebaddb4c3a0929ea. - -This is not backwards compatible for outer callers that are used to set -JobTimeoutSec= for devices. The compatibility breaks if JobTimeoutSec= is -longer than default JobRunningTimeoutSec=90, especially JobTimeoutSec=infinity. - -[mkoutny: fixes bsc#1048605] -[fbui: as a consequence, reintroduces bsc#1004995] ---- - src/core/device.c | 2 +- - src/shared/generator.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/core/device.c b/src/core/device.c -index 434a6a9c5..89549f43b 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -114,7 +114,7 @@ static void device_init(Unit *u) { - * indefinitely for plugged in devices, something which cannot - * happen for the other units since their operations time out - * anyway. */ -- u->job_running_timeout = u->manager->default_timeout_start_usec; -+ u->job_timeout = u->manager->default_timeout_start_usec; - - u->ignore_on_isolate = true; - } -diff --git a/src/shared/generator.c b/src/shared/generator.c -index 47be354ba..743bc88f6 100644 ---- a/src/shared/generator.c -+++ b/src/shared/generator.c -@@ -187,7 +187,7 @@ int generator_write_timeouts( - - return write_drop_in_format(dir, unit, 50, "device-timeout", - "# Automatically generated by %s\n\n" -- "[Unit]\nJobRunningTimeoutSec=%s", -+ "[Unit]\nJobTimeoutSec=%s", - program_invocation_short_name, timeout); - } - --- -2.13.1 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 8a405ad5..4b8380f6 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b61dbb97f98aff4b1666ee4b7ed57d2f89fe6b06b188339ff67f8c7cc5828ac -size 3351020 +oid sha256:6fd8f4674008055ae6b3fb870e84fbd64f53c1edaf43c84d95d7a9b6b7bec00b +size 3351212 diff --git a/systemd-mini.changes b/systemd-mini.changes index bc1253c7..23995b9b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com + +- Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 + + 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) + + This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch + not needed anymore. + ------------------------------------------------------------------- Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index bc1253c7..23995b9b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com + +- Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 + + 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) + + This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch + not needed anymore. + ------------------------------------------------------------------- Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com From 01fba921509db92c8f93274d703b5952cda53ffc09923f7c9a8a45d54933a1d4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 6 Oct 2017 07:48:50 +0000 Subject: [PATCH 326/991] Accepting request 532103 from home:fbui:systemd:Factory - Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in the spec file OBS-URL: https://build.opensuse.org/request/show/532103 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=993 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 1 - systemd.changes | 6 ++++++ systemd.spec | 1 - 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 23995b9b..1515ef89 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com + +- Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in + the spec file + ------------------------------------------------------------------- Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 02ebdf99..10c9941c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -163,7 +163,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 23995b9b..1515ef89 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com + +- Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in + the spec file + ------------------------------------------------------------------- Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 304d2471..d1e982e5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -161,7 +161,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB From e31b324c6fc467c999c3f6c9c87de8549e49113e51c5ac86057aa5f5c5824f49 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 10 Oct 2017 09:37:40 +0000 Subject: [PATCH 327/991] Accepting request 532104 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/532104 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=263 --- ...ce-Use-JobRunningTimeoutSec-for-devi.patch | 48 ------------------- systemd-234.tar.xz | 4 +- systemd-mini.changes | 31 ++++++++++++ systemd-mini.spec | 1 - systemd.changes | 31 ++++++++++++ systemd.spec | 1 - 6 files changed, 64 insertions(+), 52 deletions(-) delete mode 100644 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch diff --git a/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch b/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch deleted file mode 100644 index cc49aea0..00000000 --- a/0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 02a4361a931a210b547795a49d062e90d2462cbc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Wed, 23 Aug 2017 15:18:19 +0200 -Subject: [PATCH 1/1] Revert "core/device: Use JobRunningTimeoutSec= for device - units" - -This reverts commit d9732d78034cd01a75f2cda6ebaddb4c3a0929ea. - -This is not backwards compatible for outer callers that are used to set -JobTimeoutSec= for devices. The compatibility breaks if JobTimeoutSec= is -longer than default JobRunningTimeoutSec=90, especially JobTimeoutSec=infinity. - -[mkoutny: fixes bsc#1048605] -[fbui: as a consequence, reintroduces bsc#1004995] ---- - src/core/device.c | 2 +- - src/shared/generator.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/core/device.c b/src/core/device.c -index 434a6a9c5..89549f43b 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -114,7 +114,7 @@ static void device_init(Unit *u) { - * indefinitely for plugged in devices, something which cannot - * happen for the other units since their operations time out - * anyway. */ -- u->job_running_timeout = u->manager->default_timeout_start_usec; -+ u->job_timeout = u->manager->default_timeout_start_usec; - - u->ignore_on_isolate = true; - } -diff --git a/src/shared/generator.c b/src/shared/generator.c -index 47be354ba..743bc88f6 100644 ---- a/src/shared/generator.c -+++ b/src/shared/generator.c -@@ -187,7 +187,7 @@ int generator_write_timeouts( - - return write_drop_in_format(dir, unit, 50, "device-timeout", - "# Automatically generated by %s\n\n" -- "[Unit]\nJobRunningTimeoutSec=%s", -+ "[Unit]\nJobTimeoutSec=%s", - program_invocation_short_name, timeout); - } - --- -2.13.1 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index e3b02184..4b8380f6 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ee3972f4e9cb106edc944878ffd753b55e3318efad555bf06c8e66770e7605e -size 3351148 +oid sha256:6fd8f4674008055ae6b3fb870e84fbd64f53c1edaf43c84d95d7a9b6b7bec00b +size 3351212 diff --git a/systemd-mini.changes b/systemd-mini.changes index e8f8c007..1515ef89 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com + +- Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in + the spec file + +------------------------------------------------------------------- +Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com + +- Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 + + 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) + + This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch + not needed anymore. + +------------------------------------------------------------------- +Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com + +- Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde + + c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline + +------------------------------------------------------------------- +Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com + +- Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 + + 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson + 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) + ------------------------------------------------------------------- Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 02ebdf99..10c9941c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -163,7 +163,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index e8f8c007..1515ef89 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com + +- Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in + the spec file + +------------------------------------------------------------------- +Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com + +- Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 + + 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) + + This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch + not needed anymore. + +------------------------------------------------------------------- +Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com + +- Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde + + c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline + +------------------------------------------------------------------- +Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com + +- Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 + + 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson + 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) + ------------------------------------------------------------------- Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 304d2471..d1e982e5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -161,7 +161,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch %description Systemd is a system and service manager, compatible with SysV and LSB From b74774fb6a341ad28a85644f3e0b9944f1b0d27d7cacd7c3a861de4e54e1b619 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 19 Oct 2017 08:04:52 +0000 Subject: [PATCH 328/991] Accepting request 535143 from home:fbui:systemd:Factory - Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) Temporary patch until it's been merged by upstream, see https://github.com/systemd/systemd/pull/7035 OBS-URL: https://build.opensuse.org/request/show/535143 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=994 --- ...irstboot-add-vconsole-keymap-support.patch | 525 ++++++++++++++++++ systemd-mini.changes | 8 + systemd-mini.spec | 1 + systemd.changes | 8 + systemd.spec | 1 + 5 files changed, 543 insertions(+) create mode 100644 0001-systemd-firstboot-add-vconsole-keymap-support.patch diff --git a/0001-systemd-firstboot-add-vconsole-keymap-support.patch b/0001-systemd-firstboot-add-vconsole-keymap-support.patch new file mode 100644 index 00000000..415d86be --- /dev/null +++ b/0001-systemd-firstboot-add-vconsole-keymap-support.patch @@ -0,0 +1,525 @@ +From 349fd7b2fe35d2fd6c7ba6493d2e44ae93013804 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Wed, 18 Oct 2017 12:30:03 +0200 +Subject: [PATCH 1/1] systemd-firstboot: add vconsole keymap support + +yast installer needs systemd-firstboot support for setting the keymap + +This is a temporary patch to be superseded when upstream commit is available, +see https://github.com/systemd/systemd/pull/7035 for the relevant PR. + +[tblume: fixes bsc#1046436] +--- + src/basic/locale-util.c | 95 +++++++++++++++++++++++++++++++++++ + src/basic/locale-util.h | 3 ++ + src/firstboot/firstboot.c | 117 ++++++++++++++++++++++++++++++++++++++++++-- + src/locale/localectl.c | 65 +++--------------------- + src/test/test-locale-util.c | 29 +++++++++++ + 5 files changed, 247 insertions(+), 62 deletions(-) + +diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c +index ada0a28cd..f3fa918b8 100644 +--- a/src/basic/locale-util.c ++++ b/src/basic/locale-util.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -30,6 +31,7 @@ + #include + #include + ++#include "def.h" + #include "dirent-util.h" + #include "fd-util.h" + #include "hashmap.h" +@@ -270,6 +272,99 @@ out: + return (bool) cached_answer; + } + ++static thread_local Set *keymaps = NULL; ++ ++static int nftw_cb( ++ const char *fpath, ++ const struct stat *sb, ++ int tflag, ++ struct FTW *ftwbuf) { ++ ++ char *p, *e; ++ int r; ++ ++ if (tflag != FTW_F) ++ return 0; ++ ++ if (!endswith(fpath, ".map") && ++ !endswith(fpath, ".map.gz")) ++ return 0; ++ ++ p = strdup(basename(fpath)); ++ if (!p) ++ return FTW_STOP; ++ ++ e = endswith(p, ".map"); ++ if (e) ++ *e = 0; ++ ++ e = endswith(p, ".map.gz"); ++ if (e) ++ *e = 0; ++ ++ r = set_consume(keymaps, p); ++ if (r < 0 && r != -EEXIST) ++ return r; ++ ++ return 0; ++} ++ ++int get_keymaps(char ***ret) { ++ _cleanup_strv_free_ char **l = NULL; ++ const char *dir; ++ int r; ++ ++ keymaps = set_new(&string_hash_ops); ++ if (!keymaps) ++ return -ENOMEM; ++ ++ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) { ++ r = nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS|FTW_ACTIONRETVAL); ++ ++ if (r == FTW_STOP) ++ log_debug("Directory not found %s", dir); ++ else if (r < 0) ++ log_debug_errno(r, "Can't add keymap: %m"); ++ } ++ ++ l = set_get_strv(keymaps); ++ if (!l) { ++ set_free_free(keymaps); ++ return -ENOMEM; ++ } ++ ++ set_free(keymaps); ++ ++ if (strv_isempty(l)) ++ return -ENOENT; ++ ++ strv_sort(l); ++ ++ *ret = l; ++ l = NULL; ++ ++ return 0; ++} ++ ++bool keymap_is_valid(const char *name) { ++ ++ if (isempty(name)) ++ return false; ++ ++ if (strlen(name) >= 128) ++ return false; ++ ++ if (!utf8_is_valid(name)) ++ return false; ++ ++ if (!filename_is_valid(name)) ++ return false; ++ ++ if (!string_is_safe(name)) ++ return false; ++ ++ return true; ++} + + const char *special_glyph(SpecialGlyph code) { + +diff --git a/src/basic/locale-util.h b/src/basic/locale-util.h +index 0630a034a..104864501 100644 +--- a/src/basic/locale-util.h ++++ b/src/basic/locale-util.h +@@ -71,3 +71,6 @@ const char *special_glyph(SpecialGlyph code) _const_; + + const char* locale_variable_to_string(LocaleVariable i) _const_; + LocaleVariable locale_variable_from_string(const char *s) _pure_; ++ ++int get_keymaps(char ***l); ++bool keymap_is_valid(const char *name); +diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c +index b3578d3e1..fd60ee518 100644 +--- a/src/firstboot/firstboot.c ++++ b/src/firstboot/firstboot.c +@@ -44,16 +44,19 @@ + + static char *arg_root = NULL; + static char *arg_locale = NULL; /* $LANG */ ++static char *arg_keymap = NULL; + static char *arg_locale_messages = NULL; /* $LC_MESSAGES */ + static char *arg_timezone = NULL; + static char *arg_hostname = NULL; + static sd_id128_t arg_machine_id = {}; + static char *arg_root_password = NULL; + static bool arg_prompt_locale = false; ++static bool arg_prompt_keymap = false; + static bool arg_prompt_timezone = false; + static bool arg_prompt_hostname = false; + static bool arg_prompt_root_password = false; + static bool arg_copy_locale = false; ++static bool arg_copy_keymap = false; + static bool arg_copy_timezone = false; + static bool arg_copy_root_password = false; + +@@ -285,6 +288,80 @@ static int process_locale(void) { + return 0; + } + ++static int prompt_keymap(void) { ++ _cleanup_strv_free_ char **kmaps = NULL; ++ int r; ++ ++ if (arg_keymap) ++ return 0; ++ ++ if (!arg_prompt_keymap) ++ return 0; ++ ++ r = get_keymaps(&kmaps); ++ if (r < 0) ++ return log_error_errno(r, "Cannot query keymap list: %m"); ++ ++ print_welcome(); ++ ++ printf("\nAvailable keymaps:\n\n"); ++ r = show_menu(kmaps, 3, 22, 60); ++ if (r < 0) ++ return r; ++ ++ putchar('\n'); ++ ++ r = prompt_loop("Please enter system keymap name or number", kmaps, keymap_is_valid, &arg_keymap); ++ if (r < 0) ++ return r; ++ ++ if (isempty(arg_keymap)) ++ return 0; ++ ++ return 0; ++} ++ ++static int process_keymap(void) { ++ const char *etc_vconsoleconf; ++ char **keymap; ++ int r; ++ ++ etc_vconsoleconf = prefix_roota(arg_root, "/etc/vconsole.conf"); ++ if (laccess(etc_vconsoleconf, F_OK) >= 0) ++ return 0; ++ ++ if (arg_copy_keymap && arg_root) { ++ ++ mkdir_parents(etc_vconsoleconf, 0755); ++ r = copy_file("/etc/vconsole.conf", etc_vconsoleconf, 0, 0644, 0, COPY_REFLINK); ++ if (r != -ENOENT) { ++ if (r < 0) ++ return log_error_errno(r, "Failed to copy %s: %m", etc_vconsoleconf); ++ ++ log_info("%s copied.", etc_vconsoleconf); ++ return 0; ++ } ++ } ++ ++ r = prompt_keymap(); ++ if (r < 0) ++ return r; ++ ++ if (!isempty(arg_keymap)) ++ keymap = STRV_MAKE(strjoina("KEYMAP=", arg_keymap)); ++ ++ if (!keymap) ++ return 0; ++ ++ mkdir_parents(etc_vconsoleconf, 0755); ++ r = write_env_file(etc_vconsoleconf, keymap); ++ if (r < 0) ++ return log_error_errno(r, "Failed to write %s: %m", etc_vconsoleconf); ++ ++ log_info("%s written.", etc_vconsoleconf); ++ return 0; ++} ++ + static int prompt_timezone(void) { + _cleanup_strv_free_ char **zones = NULL; + int r; +@@ -611,20 +688,23 @@ static void help(void) { + " --root=PATH Operate on an alternate filesystem root\n" + " --locale=LOCALE Set primary locale (LANG=)\n" + " --locale-messages=LOCALE Set message locale (LC_MESSAGES=)\n" ++ " --keymap=KEYMAP Set keymap\n" + " --timezone=TIMEZONE Set timezone\n" + " --hostname=NAME Set host name\n" + " --machine-ID=ID Set machine ID\n" + " --root-password=PASSWORD Set root password\n" + " --root-password-file=FILE Set root password from file\n" + " --prompt-locale Prompt the user for locale settings\n" ++ " --prompt-keymap Prompt the user for keymap settings\n" + " --prompt-timezone Prompt the user for timezone\n" + " --prompt-hostname Prompt the user for hostname\n" + " --prompt-root-password Prompt the user for root password\n" + " --prompt Prompt for all of the above\n" + " --copy-locale Copy locale from host\n" ++ " --copy-keymap Copy keymap from host\n" + " --copy-timezone Copy timezone from host\n" + " --copy-root-password Copy root password from host\n" +- " --copy Copy locale, timezone, root password\n" ++ " --copy Copy locale, keymap, timezone, root password\n" + " --setup-machine-id Generate a new random machine ID\n" + , program_invocation_short_name); + } +@@ -636,6 +716,7 @@ static int parse_argv(int argc, char *argv[]) { + ARG_ROOT, + ARG_LOCALE, + ARG_LOCALE_MESSAGES, ++ ARG_KEYMAP, + ARG_TIMEZONE, + ARG_HOSTNAME, + ARG_MACHINE_ID, +@@ -643,11 +724,13 @@ static int parse_argv(int argc, char *argv[]) { + ARG_ROOT_PASSWORD_FILE, + ARG_PROMPT, + ARG_PROMPT_LOCALE, ++ ARG_PROMPT_KEYMAP, + ARG_PROMPT_TIMEZONE, + ARG_PROMPT_HOSTNAME, + ARG_PROMPT_ROOT_PASSWORD, + ARG_COPY, + ARG_COPY_LOCALE, ++ ARG_COPY_KEYMAP, + ARG_COPY_TIMEZONE, + ARG_COPY_ROOT_PASSWORD, + ARG_SETUP_MACHINE_ID, +@@ -659,6 +742,7 @@ static int parse_argv(int argc, char *argv[]) { + { "root", required_argument, NULL, ARG_ROOT }, + { "locale", required_argument, NULL, ARG_LOCALE }, + { "locale-messages", required_argument, NULL, ARG_LOCALE_MESSAGES }, ++ { "keymap", required_argument, NULL, ARG_KEYMAP }, + { "timezone", required_argument, NULL, ARG_TIMEZONE }, + { "hostname", required_argument, NULL, ARG_HOSTNAME }, + { "machine-id", required_argument, NULL, ARG_MACHINE_ID }, +@@ -666,11 +750,13 @@ static int parse_argv(int argc, char *argv[]) { + { "root-password-file", required_argument, NULL, ARG_ROOT_PASSWORD_FILE }, + { "prompt", no_argument, NULL, ARG_PROMPT }, + { "prompt-locale", no_argument, NULL, ARG_PROMPT_LOCALE }, ++ { "prompt-keymap", no_argument, NULL, ARG_PROMPT_KEYMAP }, + { "prompt-timezone", no_argument, NULL, ARG_PROMPT_TIMEZONE }, + { "prompt-hostname", no_argument, NULL, ARG_PROMPT_HOSTNAME }, + { "prompt-root-password", no_argument, NULL, ARG_PROMPT_ROOT_PASSWORD }, + { "copy", no_argument, NULL, ARG_COPY }, + { "copy-locale", no_argument, NULL, ARG_COPY_LOCALE }, ++ { "copy-keymap", no_argument, NULL, ARG_COPY_KEYMAP }, + { "copy-timezone", no_argument, NULL, ARG_COPY_TIMEZONE }, + { "copy-root-password", no_argument, NULL, ARG_COPY_ROOT_PASSWORD }, + { "setup-machine-id", no_argument, NULL, ARG_SETUP_MACHINE_ID }, +@@ -723,6 +809,18 @@ static int parse_argv(int argc, char *argv[]) { + + break; + ++ case ARG_KEYMAP: ++ if (!keymap_is_valid(optarg)) { ++ log_error("Keymap %s is not valid.", optarg); ++ return -EINVAL; ++ } ++ ++ r = free_and_strdup(&arg_keymap, optarg); ++ if (r < 0) ++ return log_oom(); ++ ++ break; ++ + case ARG_TIMEZONE: + if (!timezone_is_valid(optarg)) { + log_error("Timezone %s is not valid.", optarg); +@@ -772,13 +870,17 @@ static int parse_argv(int argc, char *argv[]) { + break; + + case ARG_PROMPT: +- arg_prompt_locale = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; ++ arg_prompt_locale = arg_prompt_keymap = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; + break; + + case ARG_PROMPT_LOCALE: + arg_prompt_locale = true; + break; + ++ case ARG_PROMPT_KEYMAP: ++ arg_prompt_keymap = true; ++ break; ++ + case ARG_PROMPT_TIMEZONE: + arg_prompt_timezone = true; + break; +@@ -792,13 +894,17 @@ static int parse_argv(int argc, char *argv[]) { + break; + + case ARG_COPY: +- arg_copy_locale = arg_copy_timezone = arg_copy_root_password = true; ++ arg_copy_locale = arg_copy_keymap = arg_copy_timezone = arg_copy_root_password = true; + break; + + case ARG_COPY_LOCALE: + arg_copy_locale = true; + break; + ++ case ARG_COPY_KEYMAP: ++ arg_copy_keymap = true; ++ break; ++ + case ARG_COPY_TIMEZONE: + arg_copy_timezone = true; + break; +@@ -853,6 +959,10 @@ int main(int argc, char *argv[]) { + if (r < 0) + goto finish; + ++ r = process_keymap(); ++ if (r < 0) ++ goto finish; ++ + r = process_timezone(); + if (r < 0) + goto finish; +@@ -873,6 +983,7 @@ finish: + free(arg_root); + free(arg_locale); + free(arg_locale_messages); ++ free(arg_keymap); + free(arg_timezone); + free(arg_hostname); + string_erase(arg_root_password); +diff --git a/src/locale/localectl.c b/src/locale/localectl.c +index 0bd18a5c0..efdd73a8f 100644 +--- a/src/locale/localectl.c ++++ b/src/locale/localectl.c +@@ -273,68 +273,15 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) { + return r; + } + +-static Set *keymaps = NULL; +- +-static int nftw_cb( +- const char *fpath, +- const struct stat *sb, +- int tflag, +- struct FTW *ftwbuf) { +- +- char *p, *e; +- int r; +- +- if (tflag != FTW_F) +- return 0; +- +- if (!endswith(fpath, ".map") && +- !endswith(fpath, ".map.gz")) +- return 0; +- +- p = strdup(basename(fpath)); +- if (!p) +- return log_oom(); +- +- e = endswith(p, ".map"); +- if (e) +- *e = 0; +- +- e = endswith(p, ".map.gz"); +- if (e) +- *e = 0; +- +- r = set_consume(keymaps, p); +- if (r < 0 && r != -EEXIST) +- return log_error_errno(r, "Can't add keymap: %m"); +- +- return 0; +-} +- + static int list_vconsole_keymaps(sd_bus *bus, char **args, unsigned n) { +- _cleanup_strv_free_ char **l = NULL; +- const char *dir; +- +- keymaps = set_new(&string_hash_ops); +- if (!keymaps) +- return log_oom(); +- +- NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) +- nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS); +- +- l = set_get_strv(keymaps); +- if (!l) { +- set_free_free(keymaps); +- return log_oom(); +- } +- +- set_free(keymaps); ++ _cleanup_strv_free_ char **l = NULL; ++ int r; + +- if (strv_isempty(l)) { +- log_error("Couldn't find any console keymaps."); +- return -ENOENT; +- } ++ assert(args); + +- strv_sort(l); ++ r = get_keymaps(&l); ++ if (r < 0) ++ return log_error_errno(r, "Failed to read list of keymaps: %m"); + + pager_open(arg_no_pager, false); + +diff --git a/src/test/test-locale-util.c b/src/test/test-locale-util.c +index 427c698d1..e6876c82e 100644 +--- a/src/test/test-locale-util.c ++++ b/src/test/test-locale-util.c +@@ -50,9 +50,38 @@ static void test_locale_is_valid(void) { + assert_se(!locale_is_valid("\x01gar\x02 bage\x03")); + } + ++static void test_get_keymaps(void) { ++ _cleanup_strv_free_ char **kmaps = NULL; ++ char **p; ++ int r; ++ ++ r = get_keymaps(&kmaps); ++ assert_se(r >= 0); ++ assert_se(kmaps); ++ ++ STRV_FOREACH(p, kmaps) { ++ puts(*p); ++ assert_se(keymap_is_valid(*p)); ++ } ++} ++ ++static void test_keymap_is_valid(void) { ++ assert_se(keymap_is_valid("uk")); ++ assert_se(keymap_is_valid("de-nodeadkeys")); ++ assert_se(keymap_is_valid("ANSI-dvorak")); ++ assert_se(keymap_is_valid("unicode")); ++ ++ assert_se(!keymap_is_valid("")); ++ assert_se(!keymap_is_valid("/usr/bin/foo")); ++ assert_se(!keymap_is_valid("\x01gar\x02 bage\x03")); ++} ++ + int main(int argc, char *argv[]) { + test_get_locales(); + test_locale_is_valid(); + ++ test_get_keymaps(); ++ test_keymap_is_valid(); ++ + return 0; + } +-- +2.14.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 1515ef89..1672a1a1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com + +- Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) + + Temporary patch until it's been merged by upstream, see + https://github.com/systemd/systemd/pull/7035 + ------------------------------------------------------------------- Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 10c9941c..59abc06e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -163,6 +163,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 1515ef89..1672a1a1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com + +- Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) + + Temporary patch until it's been merged by upstream, see + https://github.com/systemd/systemd/pull/7035 + ------------------------------------------------------------------- Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d1e982e5..493a9cc8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -161,6 +161,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 29beb5665551fb2f6565b6b16e4aae821bcdf822e25e28089b6391190e79c178 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 Oct 2017 12:48:34 +0000 Subject: [PATCH 329/991] Accepting request 536871 from home:fbui:systemd:Factory - Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) OBS-URL: https://build.opensuse.org/request/show/536871 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=995 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 8 ++++++++ systemd.changes | 8 ++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 4b8380f6..55f00c98 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fd8f4674008055ae6b3fb870e84fbd64f53c1edaf43c84d95d7a9b6b7bec00b -size 3351212 +oid sha256:42bf64dac8b5fa739b53c12c5cba492340b09ebdc78890cd429088158f95e285 +size 3352176 diff --git a/systemd-mini.changes b/systemd-mini.changes index 1672a1a1..32a9bcd0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com + +- Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d + + a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) + d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) + ------------------------------------------------------------------- Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 1672a1a1..32a9bcd0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com + +- Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d + + a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) + d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) + ------------------------------------------------------------------- Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com From 677bbb9f2efa63406c036114bbbfd063241f78adf00435b36251a22f9ff0b07a Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 28 Oct 2017 12:19:43 +0000 Subject: [PATCH 330/991] Accepting request 536877 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/536877 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=264 --- ...irstboot-add-vconsole-keymap-support.patch | 525 ++++++++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 16 + systemd-mini.spec | 1 + systemd.changes | 16 + systemd.spec | 1 + 6 files changed, 561 insertions(+), 2 deletions(-) create mode 100644 0001-systemd-firstboot-add-vconsole-keymap-support.patch diff --git a/0001-systemd-firstboot-add-vconsole-keymap-support.patch b/0001-systemd-firstboot-add-vconsole-keymap-support.patch new file mode 100644 index 00000000..415d86be --- /dev/null +++ b/0001-systemd-firstboot-add-vconsole-keymap-support.patch @@ -0,0 +1,525 @@ +From 349fd7b2fe35d2fd6c7ba6493d2e44ae93013804 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Wed, 18 Oct 2017 12:30:03 +0200 +Subject: [PATCH 1/1] systemd-firstboot: add vconsole keymap support + +yast installer needs systemd-firstboot support for setting the keymap + +This is a temporary patch to be superseded when upstream commit is available, +see https://github.com/systemd/systemd/pull/7035 for the relevant PR. + +[tblume: fixes bsc#1046436] +--- + src/basic/locale-util.c | 95 +++++++++++++++++++++++++++++++++++ + src/basic/locale-util.h | 3 ++ + src/firstboot/firstboot.c | 117 ++++++++++++++++++++++++++++++++++++++++++-- + src/locale/localectl.c | 65 +++--------------------- + src/test/test-locale-util.c | 29 +++++++++++ + 5 files changed, 247 insertions(+), 62 deletions(-) + +diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c +index ada0a28cd..f3fa918b8 100644 +--- a/src/basic/locale-util.c ++++ b/src/basic/locale-util.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -30,6 +31,7 @@ + #include + #include + ++#include "def.h" + #include "dirent-util.h" + #include "fd-util.h" + #include "hashmap.h" +@@ -270,6 +272,99 @@ out: + return (bool) cached_answer; + } + ++static thread_local Set *keymaps = NULL; ++ ++static int nftw_cb( ++ const char *fpath, ++ const struct stat *sb, ++ int tflag, ++ struct FTW *ftwbuf) { ++ ++ char *p, *e; ++ int r; ++ ++ if (tflag != FTW_F) ++ return 0; ++ ++ if (!endswith(fpath, ".map") && ++ !endswith(fpath, ".map.gz")) ++ return 0; ++ ++ p = strdup(basename(fpath)); ++ if (!p) ++ return FTW_STOP; ++ ++ e = endswith(p, ".map"); ++ if (e) ++ *e = 0; ++ ++ e = endswith(p, ".map.gz"); ++ if (e) ++ *e = 0; ++ ++ r = set_consume(keymaps, p); ++ if (r < 0 && r != -EEXIST) ++ return r; ++ ++ return 0; ++} ++ ++int get_keymaps(char ***ret) { ++ _cleanup_strv_free_ char **l = NULL; ++ const char *dir; ++ int r; ++ ++ keymaps = set_new(&string_hash_ops); ++ if (!keymaps) ++ return -ENOMEM; ++ ++ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) { ++ r = nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS|FTW_ACTIONRETVAL); ++ ++ if (r == FTW_STOP) ++ log_debug("Directory not found %s", dir); ++ else if (r < 0) ++ log_debug_errno(r, "Can't add keymap: %m"); ++ } ++ ++ l = set_get_strv(keymaps); ++ if (!l) { ++ set_free_free(keymaps); ++ return -ENOMEM; ++ } ++ ++ set_free(keymaps); ++ ++ if (strv_isempty(l)) ++ return -ENOENT; ++ ++ strv_sort(l); ++ ++ *ret = l; ++ l = NULL; ++ ++ return 0; ++} ++ ++bool keymap_is_valid(const char *name) { ++ ++ if (isempty(name)) ++ return false; ++ ++ if (strlen(name) >= 128) ++ return false; ++ ++ if (!utf8_is_valid(name)) ++ return false; ++ ++ if (!filename_is_valid(name)) ++ return false; ++ ++ if (!string_is_safe(name)) ++ return false; ++ ++ return true; ++} + + const char *special_glyph(SpecialGlyph code) { + +diff --git a/src/basic/locale-util.h b/src/basic/locale-util.h +index 0630a034a..104864501 100644 +--- a/src/basic/locale-util.h ++++ b/src/basic/locale-util.h +@@ -71,3 +71,6 @@ const char *special_glyph(SpecialGlyph code) _const_; + + const char* locale_variable_to_string(LocaleVariable i) _const_; + LocaleVariable locale_variable_from_string(const char *s) _pure_; ++ ++int get_keymaps(char ***l); ++bool keymap_is_valid(const char *name); +diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c +index b3578d3e1..fd60ee518 100644 +--- a/src/firstboot/firstboot.c ++++ b/src/firstboot/firstboot.c +@@ -44,16 +44,19 @@ + + static char *arg_root = NULL; + static char *arg_locale = NULL; /* $LANG */ ++static char *arg_keymap = NULL; + static char *arg_locale_messages = NULL; /* $LC_MESSAGES */ + static char *arg_timezone = NULL; + static char *arg_hostname = NULL; + static sd_id128_t arg_machine_id = {}; + static char *arg_root_password = NULL; + static bool arg_prompt_locale = false; ++static bool arg_prompt_keymap = false; + static bool arg_prompt_timezone = false; + static bool arg_prompt_hostname = false; + static bool arg_prompt_root_password = false; + static bool arg_copy_locale = false; ++static bool arg_copy_keymap = false; + static bool arg_copy_timezone = false; + static bool arg_copy_root_password = false; + +@@ -285,6 +288,80 @@ static int process_locale(void) { + return 0; + } + ++static int prompt_keymap(void) { ++ _cleanup_strv_free_ char **kmaps = NULL; ++ int r; ++ ++ if (arg_keymap) ++ return 0; ++ ++ if (!arg_prompt_keymap) ++ return 0; ++ ++ r = get_keymaps(&kmaps); ++ if (r < 0) ++ return log_error_errno(r, "Cannot query keymap list: %m"); ++ ++ print_welcome(); ++ ++ printf("\nAvailable keymaps:\n\n"); ++ r = show_menu(kmaps, 3, 22, 60); ++ if (r < 0) ++ return r; ++ ++ putchar('\n'); ++ ++ r = prompt_loop("Please enter system keymap name or number", kmaps, keymap_is_valid, &arg_keymap); ++ if (r < 0) ++ return r; ++ ++ if (isempty(arg_keymap)) ++ return 0; ++ ++ return 0; ++} ++ ++static int process_keymap(void) { ++ const char *etc_vconsoleconf; ++ char **keymap; ++ int r; ++ ++ etc_vconsoleconf = prefix_roota(arg_root, "/etc/vconsole.conf"); ++ if (laccess(etc_vconsoleconf, F_OK) >= 0) ++ return 0; ++ ++ if (arg_copy_keymap && arg_root) { ++ ++ mkdir_parents(etc_vconsoleconf, 0755); ++ r = copy_file("/etc/vconsole.conf", etc_vconsoleconf, 0, 0644, 0, COPY_REFLINK); ++ if (r != -ENOENT) { ++ if (r < 0) ++ return log_error_errno(r, "Failed to copy %s: %m", etc_vconsoleconf); ++ ++ log_info("%s copied.", etc_vconsoleconf); ++ return 0; ++ } ++ } ++ ++ r = prompt_keymap(); ++ if (r < 0) ++ return r; ++ ++ if (!isempty(arg_keymap)) ++ keymap = STRV_MAKE(strjoina("KEYMAP=", arg_keymap)); ++ ++ if (!keymap) ++ return 0; ++ ++ mkdir_parents(etc_vconsoleconf, 0755); ++ r = write_env_file(etc_vconsoleconf, keymap); ++ if (r < 0) ++ return log_error_errno(r, "Failed to write %s: %m", etc_vconsoleconf); ++ ++ log_info("%s written.", etc_vconsoleconf); ++ return 0; ++} ++ + static int prompt_timezone(void) { + _cleanup_strv_free_ char **zones = NULL; + int r; +@@ -611,20 +688,23 @@ static void help(void) { + " --root=PATH Operate on an alternate filesystem root\n" + " --locale=LOCALE Set primary locale (LANG=)\n" + " --locale-messages=LOCALE Set message locale (LC_MESSAGES=)\n" ++ " --keymap=KEYMAP Set keymap\n" + " --timezone=TIMEZONE Set timezone\n" + " --hostname=NAME Set host name\n" + " --machine-ID=ID Set machine ID\n" + " --root-password=PASSWORD Set root password\n" + " --root-password-file=FILE Set root password from file\n" + " --prompt-locale Prompt the user for locale settings\n" ++ " --prompt-keymap Prompt the user for keymap settings\n" + " --prompt-timezone Prompt the user for timezone\n" + " --prompt-hostname Prompt the user for hostname\n" + " --prompt-root-password Prompt the user for root password\n" + " --prompt Prompt for all of the above\n" + " --copy-locale Copy locale from host\n" ++ " --copy-keymap Copy keymap from host\n" + " --copy-timezone Copy timezone from host\n" + " --copy-root-password Copy root password from host\n" +- " --copy Copy locale, timezone, root password\n" ++ " --copy Copy locale, keymap, timezone, root password\n" + " --setup-machine-id Generate a new random machine ID\n" + , program_invocation_short_name); + } +@@ -636,6 +716,7 @@ static int parse_argv(int argc, char *argv[]) { + ARG_ROOT, + ARG_LOCALE, + ARG_LOCALE_MESSAGES, ++ ARG_KEYMAP, + ARG_TIMEZONE, + ARG_HOSTNAME, + ARG_MACHINE_ID, +@@ -643,11 +724,13 @@ static int parse_argv(int argc, char *argv[]) { + ARG_ROOT_PASSWORD_FILE, + ARG_PROMPT, + ARG_PROMPT_LOCALE, ++ ARG_PROMPT_KEYMAP, + ARG_PROMPT_TIMEZONE, + ARG_PROMPT_HOSTNAME, + ARG_PROMPT_ROOT_PASSWORD, + ARG_COPY, + ARG_COPY_LOCALE, ++ ARG_COPY_KEYMAP, + ARG_COPY_TIMEZONE, + ARG_COPY_ROOT_PASSWORD, + ARG_SETUP_MACHINE_ID, +@@ -659,6 +742,7 @@ static int parse_argv(int argc, char *argv[]) { + { "root", required_argument, NULL, ARG_ROOT }, + { "locale", required_argument, NULL, ARG_LOCALE }, + { "locale-messages", required_argument, NULL, ARG_LOCALE_MESSAGES }, ++ { "keymap", required_argument, NULL, ARG_KEYMAP }, + { "timezone", required_argument, NULL, ARG_TIMEZONE }, + { "hostname", required_argument, NULL, ARG_HOSTNAME }, + { "machine-id", required_argument, NULL, ARG_MACHINE_ID }, +@@ -666,11 +750,13 @@ static int parse_argv(int argc, char *argv[]) { + { "root-password-file", required_argument, NULL, ARG_ROOT_PASSWORD_FILE }, + { "prompt", no_argument, NULL, ARG_PROMPT }, + { "prompt-locale", no_argument, NULL, ARG_PROMPT_LOCALE }, ++ { "prompt-keymap", no_argument, NULL, ARG_PROMPT_KEYMAP }, + { "prompt-timezone", no_argument, NULL, ARG_PROMPT_TIMEZONE }, + { "prompt-hostname", no_argument, NULL, ARG_PROMPT_HOSTNAME }, + { "prompt-root-password", no_argument, NULL, ARG_PROMPT_ROOT_PASSWORD }, + { "copy", no_argument, NULL, ARG_COPY }, + { "copy-locale", no_argument, NULL, ARG_COPY_LOCALE }, ++ { "copy-keymap", no_argument, NULL, ARG_COPY_KEYMAP }, + { "copy-timezone", no_argument, NULL, ARG_COPY_TIMEZONE }, + { "copy-root-password", no_argument, NULL, ARG_COPY_ROOT_PASSWORD }, + { "setup-machine-id", no_argument, NULL, ARG_SETUP_MACHINE_ID }, +@@ -723,6 +809,18 @@ static int parse_argv(int argc, char *argv[]) { + + break; + ++ case ARG_KEYMAP: ++ if (!keymap_is_valid(optarg)) { ++ log_error("Keymap %s is not valid.", optarg); ++ return -EINVAL; ++ } ++ ++ r = free_and_strdup(&arg_keymap, optarg); ++ if (r < 0) ++ return log_oom(); ++ ++ break; ++ + case ARG_TIMEZONE: + if (!timezone_is_valid(optarg)) { + log_error("Timezone %s is not valid.", optarg); +@@ -772,13 +870,17 @@ static int parse_argv(int argc, char *argv[]) { + break; + + case ARG_PROMPT: +- arg_prompt_locale = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; ++ arg_prompt_locale = arg_prompt_keymap = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; + break; + + case ARG_PROMPT_LOCALE: + arg_prompt_locale = true; + break; + ++ case ARG_PROMPT_KEYMAP: ++ arg_prompt_keymap = true; ++ break; ++ + case ARG_PROMPT_TIMEZONE: + arg_prompt_timezone = true; + break; +@@ -792,13 +894,17 @@ static int parse_argv(int argc, char *argv[]) { + break; + + case ARG_COPY: +- arg_copy_locale = arg_copy_timezone = arg_copy_root_password = true; ++ arg_copy_locale = arg_copy_keymap = arg_copy_timezone = arg_copy_root_password = true; + break; + + case ARG_COPY_LOCALE: + arg_copy_locale = true; + break; + ++ case ARG_COPY_KEYMAP: ++ arg_copy_keymap = true; ++ break; ++ + case ARG_COPY_TIMEZONE: + arg_copy_timezone = true; + break; +@@ -853,6 +959,10 @@ int main(int argc, char *argv[]) { + if (r < 0) + goto finish; + ++ r = process_keymap(); ++ if (r < 0) ++ goto finish; ++ + r = process_timezone(); + if (r < 0) + goto finish; +@@ -873,6 +983,7 @@ finish: + free(arg_root); + free(arg_locale); + free(arg_locale_messages); ++ free(arg_keymap); + free(arg_timezone); + free(arg_hostname); + string_erase(arg_root_password); +diff --git a/src/locale/localectl.c b/src/locale/localectl.c +index 0bd18a5c0..efdd73a8f 100644 +--- a/src/locale/localectl.c ++++ b/src/locale/localectl.c +@@ -273,68 +273,15 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) { + return r; + } + +-static Set *keymaps = NULL; +- +-static int nftw_cb( +- const char *fpath, +- const struct stat *sb, +- int tflag, +- struct FTW *ftwbuf) { +- +- char *p, *e; +- int r; +- +- if (tflag != FTW_F) +- return 0; +- +- if (!endswith(fpath, ".map") && +- !endswith(fpath, ".map.gz")) +- return 0; +- +- p = strdup(basename(fpath)); +- if (!p) +- return log_oom(); +- +- e = endswith(p, ".map"); +- if (e) +- *e = 0; +- +- e = endswith(p, ".map.gz"); +- if (e) +- *e = 0; +- +- r = set_consume(keymaps, p); +- if (r < 0 && r != -EEXIST) +- return log_error_errno(r, "Can't add keymap: %m"); +- +- return 0; +-} +- + static int list_vconsole_keymaps(sd_bus *bus, char **args, unsigned n) { +- _cleanup_strv_free_ char **l = NULL; +- const char *dir; +- +- keymaps = set_new(&string_hash_ops); +- if (!keymaps) +- return log_oom(); +- +- NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) +- nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS); +- +- l = set_get_strv(keymaps); +- if (!l) { +- set_free_free(keymaps); +- return log_oom(); +- } +- +- set_free(keymaps); ++ _cleanup_strv_free_ char **l = NULL; ++ int r; + +- if (strv_isempty(l)) { +- log_error("Couldn't find any console keymaps."); +- return -ENOENT; +- } ++ assert(args); + +- strv_sort(l); ++ r = get_keymaps(&l); ++ if (r < 0) ++ return log_error_errno(r, "Failed to read list of keymaps: %m"); + + pager_open(arg_no_pager, false); + +diff --git a/src/test/test-locale-util.c b/src/test/test-locale-util.c +index 427c698d1..e6876c82e 100644 +--- a/src/test/test-locale-util.c ++++ b/src/test/test-locale-util.c +@@ -50,9 +50,38 @@ static void test_locale_is_valid(void) { + assert_se(!locale_is_valid("\x01gar\x02 bage\x03")); + } + ++static void test_get_keymaps(void) { ++ _cleanup_strv_free_ char **kmaps = NULL; ++ char **p; ++ int r; ++ ++ r = get_keymaps(&kmaps); ++ assert_se(r >= 0); ++ assert_se(kmaps); ++ ++ STRV_FOREACH(p, kmaps) { ++ puts(*p); ++ assert_se(keymap_is_valid(*p)); ++ } ++} ++ ++static void test_keymap_is_valid(void) { ++ assert_se(keymap_is_valid("uk")); ++ assert_se(keymap_is_valid("de-nodeadkeys")); ++ assert_se(keymap_is_valid("ANSI-dvorak")); ++ assert_se(keymap_is_valid("unicode")); ++ ++ assert_se(!keymap_is_valid("")); ++ assert_se(!keymap_is_valid("/usr/bin/foo")); ++ assert_se(!keymap_is_valid("\x01gar\x02 bage\x03")); ++} ++ + int main(int argc, char *argv[]) { + test_get_locales(); + test_locale_is_valid(); + ++ test_get_keymaps(); ++ test_keymap_is_valid(); ++ + return 0; + } +-- +2.14.2 + diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 4b8380f6..55f00c98 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fd8f4674008055ae6b3fb870e84fbd64f53c1edaf43c84d95d7a9b6b7bec00b -size 3351212 +oid sha256:42bf64dac8b5fa739b53c12c5cba492340b09ebdc78890cd429088158f95e285 +size 3352176 diff --git a/systemd-mini.changes b/systemd-mini.changes index 1515ef89..32a9bcd0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com + +- Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d + + a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) + d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) + +------------------------------------------------------------------- +Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com + +- Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) + + Temporary patch until it's been merged by upstream, see + https://github.com/systemd/systemd/pull/7035 + ------------------------------------------------------------------- Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 10c9941c..59abc06e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -163,6 +163,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 1515ef89..32a9bcd0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com + +- Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d + + a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) + d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) + +------------------------------------------------------------------- +Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com + +- Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) + + Temporary patch until it's been merged by upstream, see + https://github.com/systemd/systemd/pull/7035 + ------------------------------------------------------------------- Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d1e982e5..493a9cc8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -161,6 +161,7 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB From a2b9a813b80d7a897b69a65a68932caed8701561b19bb8d5f3b44889951761fe Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 23 Nov 2017 10:06:19 +0000 Subject: [PATCH 331/991] Accepting request 544560 from home:kukuk:branches:Base:System - Remove requires for pwdutils, we don't need the shadow tools anymore [bsc#1069150] - Remove requires for pwdutils, we don't need the shadow tools anymore [bsc#1069150] OBS-URL: https://build.opensuse.org/request/show/544560 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=996 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 1 - systemd.changes | 6 ++++++ systemd.spec | 1 - 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 32a9bcd0..9eb9accd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de + +- Remove requires for pwdutils, we don't need the shadow tools + anymore [bsc#1069150] + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 59abc06e..087a633e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -116,7 +116,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} diff --git a/systemd.changes b/systemd.changes index 32a9bcd0..9eb9accd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de + +- Remove requires for pwdutils, we don't need the shadow tools + anymore [bsc#1069150] + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 493a9cc8..26504784 100644 --- a/systemd.spec +++ b/systemd.spec @@ -114,7 +114,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} From ecee18fafc461d9fd88729eb0820ab17343a25d24061c9e20d8ace6300497cc0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 23 Nov 2017 17:28:07 +0000 Subject: [PATCH 332/991] Accepting request 544936 from home:fbui:systemd:Factory - Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) 216beb768 tmpfiles: Allow create symlink on directories (#6039) baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) - Remove stderr redirection to /dev/null when calling %tmpfiles_create since it's not needed anymore due to commit 22dcb1d04. Indeed the messages are no more emitted at LOG_WARN but LOG_NOTICE. - Import commit b9a41367b6c1164318443491cc3dae0e8208e15c 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) - Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since it's been merged upstream and backported to SUSE/v234 (see above). OBS-URL: https://build.opensuse.org/request/show/544936 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=997 --- ...irstboot-add-vconsole-keymap-support.patch | 525 ------------------ systemd-234.tar.xz | 4 +- systemd-mini.changes | 24 + systemd-mini.spec | 3 +- systemd.changes | 24 + systemd.spec | 3 +- 6 files changed, 52 insertions(+), 531 deletions(-) delete mode 100644 0001-systemd-firstboot-add-vconsole-keymap-support.patch diff --git a/0001-systemd-firstboot-add-vconsole-keymap-support.patch b/0001-systemd-firstboot-add-vconsole-keymap-support.patch deleted file mode 100644 index 415d86be..00000000 --- a/0001-systemd-firstboot-add-vconsole-keymap-support.patch +++ /dev/null @@ -1,525 +0,0 @@ -From 349fd7b2fe35d2fd6c7ba6493d2e44ae93013804 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Wed, 18 Oct 2017 12:30:03 +0200 -Subject: [PATCH 1/1] systemd-firstboot: add vconsole keymap support - -yast installer needs systemd-firstboot support for setting the keymap - -This is a temporary patch to be superseded when upstream commit is available, -see https://github.com/systemd/systemd/pull/7035 for the relevant PR. - -[tblume: fixes bsc#1046436] ---- - src/basic/locale-util.c | 95 +++++++++++++++++++++++++++++++++++ - src/basic/locale-util.h | 3 ++ - src/firstboot/firstboot.c | 117 ++++++++++++++++++++++++++++++++++++++++++-- - src/locale/localectl.c | 65 +++--------------------- - src/test/test-locale-util.c | 29 +++++++++++ - 5 files changed, 247 insertions(+), 62 deletions(-) - -diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c -index ada0a28cd..f3fa918b8 100644 ---- a/src/basic/locale-util.c -+++ b/src/basic/locale-util.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -30,6 +31,7 @@ - #include - #include - -+#include "def.h" - #include "dirent-util.h" - #include "fd-util.h" - #include "hashmap.h" -@@ -270,6 +272,99 @@ out: - return (bool) cached_answer; - } - -+static thread_local Set *keymaps = NULL; -+ -+static int nftw_cb( -+ const char *fpath, -+ const struct stat *sb, -+ int tflag, -+ struct FTW *ftwbuf) { -+ -+ char *p, *e; -+ int r; -+ -+ if (tflag != FTW_F) -+ return 0; -+ -+ if (!endswith(fpath, ".map") && -+ !endswith(fpath, ".map.gz")) -+ return 0; -+ -+ p = strdup(basename(fpath)); -+ if (!p) -+ return FTW_STOP; -+ -+ e = endswith(p, ".map"); -+ if (e) -+ *e = 0; -+ -+ e = endswith(p, ".map.gz"); -+ if (e) -+ *e = 0; -+ -+ r = set_consume(keymaps, p); -+ if (r < 0 && r != -EEXIST) -+ return r; -+ -+ return 0; -+} -+ -+int get_keymaps(char ***ret) { -+ _cleanup_strv_free_ char **l = NULL; -+ const char *dir; -+ int r; -+ -+ keymaps = set_new(&string_hash_ops); -+ if (!keymaps) -+ return -ENOMEM; -+ -+ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) { -+ r = nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS|FTW_ACTIONRETVAL); -+ -+ if (r == FTW_STOP) -+ log_debug("Directory not found %s", dir); -+ else if (r < 0) -+ log_debug_errno(r, "Can't add keymap: %m"); -+ } -+ -+ l = set_get_strv(keymaps); -+ if (!l) { -+ set_free_free(keymaps); -+ return -ENOMEM; -+ } -+ -+ set_free(keymaps); -+ -+ if (strv_isempty(l)) -+ return -ENOENT; -+ -+ strv_sort(l); -+ -+ *ret = l; -+ l = NULL; -+ -+ return 0; -+} -+ -+bool keymap_is_valid(const char *name) { -+ -+ if (isempty(name)) -+ return false; -+ -+ if (strlen(name) >= 128) -+ return false; -+ -+ if (!utf8_is_valid(name)) -+ return false; -+ -+ if (!filename_is_valid(name)) -+ return false; -+ -+ if (!string_is_safe(name)) -+ return false; -+ -+ return true; -+} - - const char *special_glyph(SpecialGlyph code) { - -diff --git a/src/basic/locale-util.h b/src/basic/locale-util.h -index 0630a034a..104864501 100644 ---- a/src/basic/locale-util.h -+++ b/src/basic/locale-util.h -@@ -71,3 +71,6 @@ const char *special_glyph(SpecialGlyph code) _const_; - - const char* locale_variable_to_string(LocaleVariable i) _const_; - LocaleVariable locale_variable_from_string(const char *s) _pure_; -+ -+int get_keymaps(char ***l); -+bool keymap_is_valid(const char *name); -diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index b3578d3e1..fd60ee518 100644 ---- a/src/firstboot/firstboot.c -+++ b/src/firstboot/firstboot.c -@@ -44,16 +44,19 @@ - - static char *arg_root = NULL; - static char *arg_locale = NULL; /* $LANG */ -+static char *arg_keymap = NULL; - static char *arg_locale_messages = NULL; /* $LC_MESSAGES */ - static char *arg_timezone = NULL; - static char *arg_hostname = NULL; - static sd_id128_t arg_machine_id = {}; - static char *arg_root_password = NULL; - static bool arg_prompt_locale = false; -+static bool arg_prompt_keymap = false; - static bool arg_prompt_timezone = false; - static bool arg_prompt_hostname = false; - static bool arg_prompt_root_password = false; - static bool arg_copy_locale = false; -+static bool arg_copy_keymap = false; - static bool arg_copy_timezone = false; - static bool arg_copy_root_password = false; - -@@ -285,6 +288,80 @@ static int process_locale(void) { - return 0; - } - -+static int prompt_keymap(void) { -+ _cleanup_strv_free_ char **kmaps = NULL; -+ int r; -+ -+ if (arg_keymap) -+ return 0; -+ -+ if (!arg_prompt_keymap) -+ return 0; -+ -+ r = get_keymaps(&kmaps); -+ if (r < 0) -+ return log_error_errno(r, "Cannot query keymap list: %m"); -+ -+ print_welcome(); -+ -+ printf("\nAvailable keymaps:\n\n"); -+ r = show_menu(kmaps, 3, 22, 60); -+ if (r < 0) -+ return r; -+ -+ putchar('\n'); -+ -+ r = prompt_loop("Please enter system keymap name or number", kmaps, keymap_is_valid, &arg_keymap); -+ if (r < 0) -+ return r; -+ -+ if (isempty(arg_keymap)) -+ return 0; -+ -+ return 0; -+} -+ -+static int process_keymap(void) { -+ const char *etc_vconsoleconf; -+ char **keymap; -+ int r; -+ -+ etc_vconsoleconf = prefix_roota(arg_root, "/etc/vconsole.conf"); -+ if (laccess(etc_vconsoleconf, F_OK) >= 0) -+ return 0; -+ -+ if (arg_copy_keymap && arg_root) { -+ -+ mkdir_parents(etc_vconsoleconf, 0755); -+ r = copy_file("/etc/vconsole.conf", etc_vconsoleconf, 0, 0644, 0, COPY_REFLINK); -+ if (r != -ENOENT) { -+ if (r < 0) -+ return log_error_errno(r, "Failed to copy %s: %m", etc_vconsoleconf); -+ -+ log_info("%s copied.", etc_vconsoleconf); -+ return 0; -+ } -+ } -+ -+ r = prompt_keymap(); -+ if (r < 0) -+ return r; -+ -+ if (!isempty(arg_keymap)) -+ keymap = STRV_MAKE(strjoina("KEYMAP=", arg_keymap)); -+ -+ if (!keymap) -+ return 0; -+ -+ mkdir_parents(etc_vconsoleconf, 0755); -+ r = write_env_file(etc_vconsoleconf, keymap); -+ if (r < 0) -+ return log_error_errno(r, "Failed to write %s: %m", etc_vconsoleconf); -+ -+ log_info("%s written.", etc_vconsoleconf); -+ return 0; -+} -+ - static int prompt_timezone(void) { - _cleanup_strv_free_ char **zones = NULL; - int r; -@@ -611,20 +688,23 @@ static void help(void) { - " --root=PATH Operate on an alternate filesystem root\n" - " --locale=LOCALE Set primary locale (LANG=)\n" - " --locale-messages=LOCALE Set message locale (LC_MESSAGES=)\n" -+ " --keymap=KEYMAP Set keymap\n" - " --timezone=TIMEZONE Set timezone\n" - " --hostname=NAME Set host name\n" - " --machine-ID=ID Set machine ID\n" - " --root-password=PASSWORD Set root password\n" - " --root-password-file=FILE Set root password from file\n" - " --prompt-locale Prompt the user for locale settings\n" -+ " --prompt-keymap Prompt the user for keymap settings\n" - " --prompt-timezone Prompt the user for timezone\n" - " --prompt-hostname Prompt the user for hostname\n" - " --prompt-root-password Prompt the user for root password\n" - " --prompt Prompt for all of the above\n" - " --copy-locale Copy locale from host\n" -+ " --copy-keymap Copy keymap from host\n" - " --copy-timezone Copy timezone from host\n" - " --copy-root-password Copy root password from host\n" -- " --copy Copy locale, timezone, root password\n" -+ " --copy Copy locale, keymap, timezone, root password\n" - " --setup-machine-id Generate a new random machine ID\n" - , program_invocation_short_name); - } -@@ -636,6 +716,7 @@ static int parse_argv(int argc, char *argv[]) { - ARG_ROOT, - ARG_LOCALE, - ARG_LOCALE_MESSAGES, -+ ARG_KEYMAP, - ARG_TIMEZONE, - ARG_HOSTNAME, - ARG_MACHINE_ID, -@@ -643,11 +724,13 @@ static int parse_argv(int argc, char *argv[]) { - ARG_ROOT_PASSWORD_FILE, - ARG_PROMPT, - ARG_PROMPT_LOCALE, -+ ARG_PROMPT_KEYMAP, - ARG_PROMPT_TIMEZONE, - ARG_PROMPT_HOSTNAME, - ARG_PROMPT_ROOT_PASSWORD, - ARG_COPY, - ARG_COPY_LOCALE, -+ ARG_COPY_KEYMAP, - ARG_COPY_TIMEZONE, - ARG_COPY_ROOT_PASSWORD, - ARG_SETUP_MACHINE_ID, -@@ -659,6 +742,7 @@ static int parse_argv(int argc, char *argv[]) { - { "root", required_argument, NULL, ARG_ROOT }, - { "locale", required_argument, NULL, ARG_LOCALE }, - { "locale-messages", required_argument, NULL, ARG_LOCALE_MESSAGES }, -+ { "keymap", required_argument, NULL, ARG_KEYMAP }, - { "timezone", required_argument, NULL, ARG_TIMEZONE }, - { "hostname", required_argument, NULL, ARG_HOSTNAME }, - { "machine-id", required_argument, NULL, ARG_MACHINE_ID }, -@@ -666,11 +750,13 @@ static int parse_argv(int argc, char *argv[]) { - { "root-password-file", required_argument, NULL, ARG_ROOT_PASSWORD_FILE }, - { "prompt", no_argument, NULL, ARG_PROMPT }, - { "prompt-locale", no_argument, NULL, ARG_PROMPT_LOCALE }, -+ { "prompt-keymap", no_argument, NULL, ARG_PROMPT_KEYMAP }, - { "prompt-timezone", no_argument, NULL, ARG_PROMPT_TIMEZONE }, - { "prompt-hostname", no_argument, NULL, ARG_PROMPT_HOSTNAME }, - { "prompt-root-password", no_argument, NULL, ARG_PROMPT_ROOT_PASSWORD }, - { "copy", no_argument, NULL, ARG_COPY }, - { "copy-locale", no_argument, NULL, ARG_COPY_LOCALE }, -+ { "copy-keymap", no_argument, NULL, ARG_COPY_KEYMAP }, - { "copy-timezone", no_argument, NULL, ARG_COPY_TIMEZONE }, - { "copy-root-password", no_argument, NULL, ARG_COPY_ROOT_PASSWORD }, - { "setup-machine-id", no_argument, NULL, ARG_SETUP_MACHINE_ID }, -@@ -723,6 +809,18 @@ static int parse_argv(int argc, char *argv[]) { - - break; - -+ case ARG_KEYMAP: -+ if (!keymap_is_valid(optarg)) { -+ log_error("Keymap %s is not valid.", optarg); -+ return -EINVAL; -+ } -+ -+ r = free_and_strdup(&arg_keymap, optarg); -+ if (r < 0) -+ return log_oom(); -+ -+ break; -+ - case ARG_TIMEZONE: - if (!timezone_is_valid(optarg)) { - log_error("Timezone %s is not valid.", optarg); -@@ -772,13 +870,17 @@ static int parse_argv(int argc, char *argv[]) { - break; - - case ARG_PROMPT: -- arg_prompt_locale = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; -+ arg_prompt_locale = arg_prompt_keymap = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; - break; - - case ARG_PROMPT_LOCALE: - arg_prompt_locale = true; - break; - -+ case ARG_PROMPT_KEYMAP: -+ arg_prompt_keymap = true; -+ break; -+ - case ARG_PROMPT_TIMEZONE: - arg_prompt_timezone = true; - break; -@@ -792,13 +894,17 @@ static int parse_argv(int argc, char *argv[]) { - break; - - case ARG_COPY: -- arg_copy_locale = arg_copy_timezone = arg_copy_root_password = true; -+ arg_copy_locale = arg_copy_keymap = arg_copy_timezone = arg_copy_root_password = true; - break; - - case ARG_COPY_LOCALE: - arg_copy_locale = true; - break; - -+ case ARG_COPY_KEYMAP: -+ arg_copy_keymap = true; -+ break; -+ - case ARG_COPY_TIMEZONE: - arg_copy_timezone = true; - break; -@@ -853,6 +959,10 @@ int main(int argc, char *argv[]) { - if (r < 0) - goto finish; - -+ r = process_keymap(); -+ if (r < 0) -+ goto finish; -+ - r = process_timezone(); - if (r < 0) - goto finish; -@@ -873,6 +983,7 @@ finish: - free(arg_root); - free(arg_locale); - free(arg_locale_messages); -+ free(arg_keymap); - free(arg_timezone); - free(arg_hostname); - string_erase(arg_root_password); -diff --git a/src/locale/localectl.c b/src/locale/localectl.c -index 0bd18a5c0..efdd73a8f 100644 ---- a/src/locale/localectl.c -+++ b/src/locale/localectl.c -@@ -273,68 +273,15 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) { - return r; - } - --static Set *keymaps = NULL; -- --static int nftw_cb( -- const char *fpath, -- const struct stat *sb, -- int tflag, -- struct FTW *ftwbuf) { -- -- char *p, *e; -- int r; -- -- if (tflag != FTW_F) -- return 0; -- -- if (!endswith(fpath, ".map") && -- !endswith(fpath, ".map.gz")) -- return 0; -- -- p = strdup(basename(fpath)); -- if (!p) -- return log_oom(); -- -- e = endswith(p, ".map"); -- if (e) -- *e = 0; -- -- e = endswith(p, ".map.gz"); -- if (e) -- *e = 0; -- -- r = set_consume(keymaps, p); -- if (r < 0 && r != -EEXIST) -- return log_error_errno(r, "Can't add keymap: %m"); -- -- return 0; --} -- - static int list_vconsole_keymaps(sd_bus *bus, char **args, unsigned n) { -- _cleanup_strv_free_ char **l = NULL; -- const char *dir; -- -- keymaps = set_new(&string_hash_ops); -- if (!keymaps) -- return log_oom(); -- -- NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) -- nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS); -- -- l = set_get_strv(keymaps); -- if (!l) { -- set_free_free(keymaps); -- return log_oom(); -- } -- -- set_free(keymaps); -+ _cleanup_strv_free_ char **l = NULL; -+ int r; - -- if (strv_isempty(l)) { -- log_error("Couldn't find any console keymaps."); -- return -ENOENT; -- } -+ assert(args); - -- strv_sort(l); -+ r = get_keymaps(&l); -+ if (r < 0) -+ return log_error_errno(r, "Failed to read list of keymaps: %m"); - - pager_open(arg_no_pager, false); - -diff --git a/src/test/test-locale-util.c b/src/test/test-locale-util.c -index 427c698d1..e6876c82e 100644 ---- a/src/test/test-locale-util.c -+++ b/src/test/test-locale-util.c -@@ -50,9 +50,38 @@ static void test_locale_is_valid(void) { - assert_se(!locale_is_valid("\x01gar\x02 bage\x03")); - } - -+static void test_get_keymaps(void) { -+ _cleanup_strv_free_ char **kmaps = NULL; -+ char **p; -+ int r; -+ -+ r = get_keymaps(&kmaps); -+ assert_se(r >= 0); -+ assert_se(kmaps); -+ -+ STRV_FOREACH(p, kmaps) { -+ puts(*p); -+ assert_se(keymap_is_valid(*p)); -+ } -+} -+ -+static void test_keymap_is_valid(void) { -+ assert_se(keymap_is_valid("uk")); -+ assert_se(keymap_is_valid("de-nodeadkeys")); -+ assert_se(keymap_is_valid("ANSI-dvorak")); -+ assert_se(keymap_is_valid("unicode")); -+ -+ assert_se(!keymap_is_valid("")); -+ assert_se(!keymap_is_valid("/usr/bin/foo")); -+ assert_se(!keymap_is_valid("\x01gar\x02 bage\x03")); -+} -+ - int main(int argc, char *argv[]) { - test_get_locales(); - test_locale_is_valid(); - -+ test_get_keymaps(); -+ test_keymap_is_valid(); -+ - return 0; - } --- -2.14.2 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 55f00c98..82798d61 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42bf64dac8b5fa739b53c12c5cba492340b09ebdc78890cd429088158f95e285 -size 3352176 +oid sha256:ab5243e5fdfdc523a41515356a75df1b5e7f6697c4f5a3718ef9ea42056aa408 +size 3352640 diff --git a/systemd-mini.changes b/systemd-mini.changes index 9eb9accd..82f383f6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -4,6 +4,30 @@ Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de - Remove requires for pwdutils, we don't need the shadow tools anymore [bsc#1069150] +------------------------------------------------------------------- +Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com + +- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b + + 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) + 216beb768 tmpfiles: Allow create symlink on directories (#6039) + baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) + +- Remove stderr redirection to /dev/null when calling %tmpfiles_create + since it's not needed anymore due to commit 22dcb1d04. Indeed the + messages are no more emitted at LOG_WARN but LOG_NOTICE. + +------------------------------------------------------------------- +Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com + +- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c + + 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) + 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) + +- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since + it's been merged upstream and backported to SUSE/v234 (see above). + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 087a633e..4cc5efbc 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -162,7 +162,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -676,7 +675,7 @@ pam-config -a --systemd || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create 2>/dev/null +%tmpfiles_create # Create default config in /etc at first install. # Later package updates should not overwrite these settings. diff --git a/systemd.changes b/systemd.changes index 9eb9accd..82f383f6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -4,6 +4,30 @@ Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de - Remove requires for pwdutils, we don't need the shadow tools anymore [bsc#1069150] +------------------------------------------------------------------- +Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com + +- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b + + 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) + 216beb768 tmpfiles: Allow create symlink on directories (#6039) + baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) + +- Remove stderr redirection to /dev/null when calling %tmpfiles_create + since it's not needed anymore due to commit 22dcb1d04. Indeed the + messages are no more emitted at LOG_WARN but LOG_NOTICE. + +------------------------------------------------------------------- +Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com + +- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c + + 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) + 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) + +- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since + it's been merged upstream and backported to SUSE/v234 (see above). + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 26504784..c9a63fde 100644 --- a/systemd.spec +++ b/systemd.spec @@ -160,7 +160,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -674,7 +673,7 @@ pam-config -a --systemd || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create 2>/dev/null +%tmpfiles_create # Create default config in /etc at first install. # Later package updates should not overwrite these settings. From f39e1e344b970e382d7a5ed59a8c7b2c9765b3415e0d609eaea3c46040e3b852 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 23 Nov 2017 17:35:17 +0000 Subject: [PATCH 333/991] Accepting request 544940 from home:fbui:systemd:Factory - Drop a useless rm(1) from the specfile OBS-URL: https://build.opensuse.org/request/show/544940 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=998 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 - systemd.changes | 5 +++++ systemd.spec | 1 - 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 82f383f6..75f7133a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com + +- Drop a useless rm(1) from the specfile + ------------------------------------------------------------------- Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 4cc5efbc..ebe895c9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -480,7 +480,6 @@ ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -rm -rf %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated diff --git a/systemd.changes b/systemd.changes index 82f383f6..75f7133a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com + +- Drop a useless rm(1) from the specfile + ------------------------------------------------------------------- Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de diff --git a/systemd.spec b/systemd.spec index c9a63fde..6a1ef970 100644 --- a/systemd.spec +++ b/systemd.spec @@ -478,7 +478,6 @@ ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -rm -rf %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated From 995db5b7d7986d4d8bebde85eff557575b33515c0f5d5475443ee4be8d85cf5c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 29 Nov 2017 10:41:17 +0000 Subject: [PATCH 334/991] Accepting request 546398 from home:fbui:systemd:Factory - Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) - Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) This patch is not yet merged in the 'compats/udev-compat-symlinks' branch: we asked to upstream if it would be possible to introduce a new specifier that wouldn't strip trailing whitespaces , see https://github.com/systemd/systemd/issues/7462 Also this allows to give the patch more testing before merging it in the git repo. OBS-URL: https://build.opensuse.org/request/show/546398 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=999 --- ...-rid-of-scsi_id-when-generating-comp.patch | 77 +++++++++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 20 +++++ systemd-mini.spec | 3 +- systemd.changes | 20 +++++ systemd.spec | 3 +- 6 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch diff --git a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch new file mode 100644 index 00000000..16bb923c --- /dev/null +++ b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch @@ -0,0 +1,77 @@ +From 17be35b017aa39fad8aec98c81d4fade917096ec Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 Nov 2017 11:46:40 +0100 +Subject: [PATCH 1/1] compat-rules: get rid of scsi_id when generating compat + symlinks for NVMe devices + +The SCSI translation layer for NVMe devices has been removed from the +kernel since 4.13 (commit 3f7f25a910ed8988b2a87c1ca2bfee6b4fb83ac7), +so drop scsi_id in favor of the sysfs interface to generate the +name of the compat symlinks. + +Unfortunately we have to retrieve manually the model attribute +because %s{} strips trailing whitespaces otherwise. Indeed scsi_id +replaced them with a single '_' char due to the use of the +'--replace-whitespace' option. + +[tblume: fixes bsc#1051465] +--- + rules/61-persistent-storage-compat.rules | 34 ++++++++++++++++++++++++++++---- + 1 file changed, 30 insertions(+), 4 deletions(-) + +diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules +index 82a38fac7..639dc1ee1 100644 +--- a/rules/61-persistent-storage-compat.rules ++++ b/rules/61-persistent-storage-compat.rules +@@ -16,6 +16,10 @@ + # doesn't rely on them and they could be disabled permanently. + # + # Thanks ! ++# ++# Note: this rules file can rely on all ID_* variables (set by ++# 60-persistent-storage.rule) but should not overwrite them, see ++# bsc#1048679 for details. + + ACTION=="remove", GOTO="persistent_storage_end" + +@@ -49,11 +53,33 @@ ENV{COMPAT_SYMLINK_GENERATION}!="?*", ENV{COMPAT_SYMLINK_GENERATION}="1" + # + ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" + +-# NVMe links were introduced first via a SUSE specific commit ++# NVMe symlinks were introduced first via a SUSE specific commit + # (bsc#944132) and upstream gained support later but of course using a +-# different scheme. Also note that ID_SERIAL is already used by the +-# contemporary rules, see bsc#1048679 for details. +-KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", PROGRAM="scsi_id --whitelisted --replace-whitespace -d $devnode", RESULT=="?*", ENV{ID_NVME_SERIAL_COMPAT}="$result" ++# different scheme. ++ ++# The SCSI translation layer for NVMe devices has been removed from ++# the kernel since 4.13, therefore we switched from scsi_id to the ++# sysfs interface to generate the name of the compat symlinks. ++# Unfortunately we can't use %s{model} to retrieve the model string ++# because udev strips any trailing whitespaces and some plateforms ++# (QEMU does that) might append such chars. In those cases scsi_id was ++# replacing them with a single trailing '_'. Therefore the currently ++# code retrieves the model string manually making sure to preserve all ++# characters so trailing whitespaces are still converted when the ++# symlink is created. ++ ++# KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ ++# PROGRAM=="/bin/sh -c 'MODEL=\"%s{model}\"; echo \"${MODEL:0:16}\"'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" ++ ++KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ ++ PROGRAM=="/bin/sh -c ' \ ++ cd /sys/%p; \ ++ while ! [ -f model ]; do \ ++ cd ..; \ ++ [ $(pwd) = %S ] && exit 1; \ ++ done; \ ++ cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" ++ + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}" + KERNEL=="nvme*", ENV{DEVTYPE}=="partition", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}-part%n" + +-- +2.14.2 + diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 82798d61..37172a16 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab5243e5fdfdc523a41515356a75df1b5e7f6697c4f5a3718ef9ea42056aa408 -size 3352640 +oid sha256:41f96893041fe93197c142ca64f51f882e6c5d4c50c774091e5ff4fc36a814e0 +size 3352496 diff --git a/systemd-mini.changes b/systemd-mini.changes index 75f7133a..5b3da895 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com + +- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 + + 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) + +------------------------------------------------------------------- +Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com + +- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) + + This patch is not yet merged in the 'compats/udev-compat-symlinks' + branch: we asked to upstream if it would be possible to introduce a + new specifier that wouldn't strip trailing whitespaces , see + https://github.com/systemd/systemd/issues/7462 + + Also this allows to give the patch more testing before merging it in + the git repo. + ------------------------------------------------------------------- Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index ebe895c9..00f024d7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -155,13 +155,14 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs -# Patches listed in here are really special cases. Normally all +# Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 75f7133a..5b3da895 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com + +- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 + + 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) + +------------------------------------------------------------------- +Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com + +- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) + + This patch is not yet merged in the 'compats/udev-compat-symlinks' + branch: we asked to upstream if it would be possible to introduce a + new specifier that wouldn't strip trailing whitespaces , see + https://github.com/systemd/systemd/issues/7462 + + Also this allows to give the patch more testing before merging it in + the git repo. + ------------------------------------------------------------------- Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 6a1ef970..2ffba83c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -153,13 +153,14 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs -# Patches listed in here are really special cases. Normally all +# Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch +Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 52c26aaa4e1ee23aaab1950fcf3d638556d25957a14fcc1386778a41762c8200 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 30 Nov 2017 11:38:54 +0000 Subject: [PATCH 335/991] Accepting request 546399 from Base:System OBS-URL: https://build.opensuse.org/request/show/546399 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=265 --- ...-rid-of-scsi_id-when-generating-comp.patch | 77 +++ ...irstboot-add-vconsole-keymap-support.patch | 525 ------------------ systemd-234.tar.xz | 4 +- systemd-mini.changes | 55 ++ systemd-mini.spec | 8 +- systemd.changes | 55 ++ systemd.spec | 8 +- 7 files changed, 195 insertions(+), 537 deletions(-) create mode 100644 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch delete mode 100644 0001-systemd-firstboot-add-vconsole-keymap-support.patch diff --git a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch new file mode 100644 index 00000000..16bb923c --- /dev/null +++ b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch @@ -0,0 +1,77 @@ +From 17be35b017aa39fad8aec98c81d4fade917096ec Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 Nov 2017 11:46:40 +0100 +Subject: [PATCH 1/1] compat-rules: get rid of scsi_id when generating compat + symlinks for NVMe devices + +The SCSI translation layer for NVMe devices has been removed from the +kernel since 4.13 (commit 3f7f25a910ed8988b2a87c1ca2bfee6b4fb83ac7), +so drop scsi_id in favor of the sysfs interface to generate the +name of the compat symlinks. + +Unfortunately we have to retrieve manually the model attribute +because %s{} strips trailing whitespaces otherwise. Indeed scsi_id +replaced them with a single '_' char due to the use of the +'--replace-whitespace' option. + +[tblume: fixes bsc#1051465] +--- + rules/61-persistent-storage-compat.rules | 34 ++++++++++++++++++++++++++++---- + 1 file changed, 30 insertions(+), 4 deletions(-) + +diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules +index 82a38fac7..639dc1ee1 100644 +--- a/rules/61-persistent-storage-compat.rules ++++ b/rules/61-persistent-storage-compat.rules +@@ -16,6 +16,10 @@ + # doesn't rely on them and they could be disabled permanently. + # + # Thanks ! ++# ++# Note: this rules file can rely on all ID_* variables (set by ++# 60-persistent-storage.rule) but should not overwrite them, see ++# bsc#1048679 for details. + + ACTION=="remove", GOTO="persistent_storage_end" + +@@ -49,11 +53,33 @@ ENV{COMPAT_SYMLINK_GENERATION}!="?*", ENV{COMPAT_SYMLINK_GENERATION}="1" + # + ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" + +-# NVMe links were introduced first via a SUSE specific commit ++# NVMe symlinks were introduced first via a SUSE specific commit + # (bsc#944132) and upstream gained support later but of course using a +-# different scheme. Also note that ID_SERIAL is already used by the +-# contemporary rules, see bsc#1048679 for details. +-KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", PROGRAM="scsi_id --whitelisted --replace-whitespace -d $devnode", RESULT=="?*", ENV{ID_NVME_SERIAL_COMPAT}="$result" ++# different scheme. ++ ++# The SCSI translation layer for NVMe devices has been removed from ++# the kernel since 4.13, therefore we switched from scsi_id to the ++# sysfs interface to generate the name of the compat symlinks. ++# Unfortunately we can't use %s{model} to retrieve the model string ++# because udev strips any trailing whitespaces and some plateforms ++# (QEMU does that) might append such chars. In those cases scsi_id was ++# replacing them with a single trailing '_'. Therefore the currently ++# code retrieves the model string manually making sure to preserve all ++# characters so trailing whitespaces are still converted when the ++# symlink is created. ++ ++# KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ ++# PROGRAM=="/bin/sh -c 'MODEL=\"%s{model}\"; echo \"${MODEL:0:16}\"'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" ++ ++KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ ++ PROGRAM=="/bin/sh -c ' \ ++ cd /sys/%p; \ ++ while ! [ -f model ]; do \ ++ cd ..; \ ++ [ $(pwd) = %S ] && exit 1; \ ++ done; \ ++ cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" ++ + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}" + KERNEL=="nvme*", ENV{DEVTYPE}=="partition", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}-part%n" + +-- +2.14.2 + diff --git a/0001-systemd-firstboot-add-vconsole-keymap-support.patch b/0001-systemd-firstboot-add-vconsole-keymap-support.patch deleted file mode 100644 index 415d86be..00000000 --- a/0001-systemd-firstboot-add-vconsole-keymap-support.patch +++ /dev/null @@ -1,525 +0,0 @@ -From 349fd7b2fe35d2fd6c7ba6493d2e44ae93013804 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Wed, 18 Oct 2017 12:30:03 +0200 -Subject: [PATCH 1/1] systemd-firstboot: add vconsole keymap support - -yast installer needs systemd-firstboot support for setting the keymap - -This is a temporary patch to be superseded when upstream commit is available, -see https://github.com/systemd/systemd/pull/7035 for the relevant PR. - -[tblume: fixes bsc#1046436] ---- - src/basic/locale-util.c | 95 +++++++++++++++++++++++++++++++++++ - src/basic/locale-util.h | 3 ++ - src/firstboot/firstboot.c | 117 ++++++++++++++++++++++++++++++++++++++++++-- - src/locale/localectl.c | 65 +++--------------------- - src/test/test-locale-util.c | 29 +++++++++++ - 5 files changed, 247 insertions(+), 62 deletions(-) - -diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c -index ada0a28cd..f3fa918b8 100644 ---- a/src/basic/locale-util.c -+++ b/src/basic/locale-util.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -30,6 +31,7 @@ - #include - #include - -+#include "def.h" - #include "dirent-util.h" - #include "fd-util.h" - #include "hashmap.h" -@@ -270,6 +272,99 @@ out: - return (bool) cached_answer; - } - -+static thread_local Set *keymaps = NULL; -+ -+static int nftw_cb( -+ const char *fpath, -+ const struct stat *sb, -+ int tflag, -+ struct FTW *ftwbuf) { -+ -+ char *p, *e; -+ int r; -+ -+ if (tflag != FTW_F) -+ return 0; -+ -+ if (!endswith(fpath, ".map") && -+ !endswith(fpath, ".map.gz")) -+ return 0; -+ -+ p = strdup(basename(fpath)); -+ if (!p) -+ return FTW_STOP; -+ -+ e = endswith(p, ".map"); -+ if (e) -+ *e = 0; -+ -+ e = endswith(p, ".map.gz"); -+ if (e) -+ *e = 0; -+ -+ r = set_consume(keymaps, p); -+ if (r < 0 && r != -EEXIST) -+ return r; -+ -+ return 0; -+} -+ -+int get_keymaps(char ***ret) { -+ _cleanup_strv_free_ char **l = NULL; -+ const char *dir; -+ int r; -+ -+ keymaps = set_new(&string_hash_ops); -+ if (!keymaps) -+ return -ENOMEM; -+ -+ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) { -+ r = nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS|FTW_ACTIONRETVAL); -+ -+ if (r == FTW_STOP) -+ log_debug("Directory not found %s", dir); -+ else if (r < 0) -+ log_debug_errno(r, "Can't add keymap: %m"); -+ } -+ -+ l = set_get_strv(keymaps); -+ if (!l) { -+ set_free_free(keymaps); -+ return -ENOMEM; -+ } -+ -+ set_free(keymaps); -+ -+ if (strv_isempty(l)) -+ return -ENOENT; -+ -+ strv_sort(l); -+ -+ *ret = l; -+ l = NULL; -+ -+ return 0; -+} -+ -+bool keymap_is_valid(const char *name) { -+ -+ if (isempty(name)) -+ return false; -+ -+ if (strlen(name) >= 128) -+ return false; -+ -+ if (!utf8_is_valid(name)) -+ return false; -+ -+ if (!filename_is_valid(name)) -+ return false; -+ -+ if (!string_is_safe(name)) -+ return false; -+ -+ return true; -+} - - const char *special_glyph(SpecialGlyph code) { - -diff --git a/src/basic/locale-util.h b/src/basic/locale-util.h -index 0630a034a..104864501 100644 ---- a/src/basic/locale-util.h -+++ b/src/basic/locale-util.h -@@ -71,3 +71,6 @@ const char *special_glyph(SpecialGlyph code) _const_; - - const char* locale_variable_to_string(LocaleVariable i) _const_; - LocaleVariable locale_variable_from_string(const char *s) _pure_; -+ -+int get_keymaps(char ***l); -+bool keymap_is_valid(const char *name); -diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index b3578d3e1..fd60ee518 100644 ---- a/src/firstboot/firstboot.c -+++ b/src/firstboot/firstboot.c -@@ -44,16 +44,19 @@ - - static char *arg_root = NULL; - static char *arg_locale = NULL; /* $LANG */ -+static char *arg_keymap = NULL; - static char *arg_locale_messages = NULL; /* $LC_MESSAGES */ - static char *arg_timezone = NULL; - static char *arg_hostname = NULL; - static sd_id128_t arg_machine_id = {}; - static char *arg_root_password = NULL; - static bool arg_prompt_locale = false; -+static bool arg_prompt_keymap = false; - static bool arg_prompt_timezone = false; - static bool arg_prompt_hostname = false; - static bool arg_prompt_root_password = false; - static bool arg_copy_locale = false; -+static bool arg_copy_keymap = false; - static bool arg_copy_timezone = false; - static bool arg_copy_root_password = false; - -@@ -285,6 +288,80 @@ static int process_locale(void) { - return 0; - } - -+static int prompt_keymap(void) { -+ _cleanup_strv_free_ char **kmaps = NULL; -+ int r; -+ -+ if (arg_keymap) -+ return 0; -+ -+ if (!arg_prompt_keymap) -+ return 0; -+ -+ r = get_keymaps(&kmaps); -+ if (r < 0) -+ return log_error_errno(r, "Cannot query keymap list: %m"); -+ -+ print_welcome(); -+ -+ printf("\nAvailable keymaps:\n\n"); -+ r = show_menu(kmaps, 3, 22, 60); -+ if (r < 0) -+ return r; -+ -+ putchar('\n'); -+ -+ r = prompt_loop("Please enter system keymap name or number", kmaps, keymap_is_valid, &arg_keymap); -+ if (r < 0) -+ return r; -+ -+ if (isempty(arg_keymap)) -+ return 0; -+ -+ return 0; -+} -+ -+static int process_keymap(void) { -+ const char *etc_vconsoleconf; -+ char **keymap; -+ int r; -+ -+ etc_vconsoleconf = prefix_roota(arg_root, "/etc/vconsole.conf"); -+ if (laccess(etc_vconsoleconf, F_OK) >= 0) -+ return 0; -+ -+ if (arg_copy_keymap && arg_root) { -+ -+ mkdir_parents(etc_vconsoleconf, 0755); -+ r = copy_file("/etc/vconsole.conf", etc_vconsoleconf, 0, 0644, 0, COPY_REFLINK); -+ if (r != -ENOENT) { -+ if (r < 0) -+ return log_error_errno(r, "Failed to copy %s: %m", etc_vconsoleconf); -+ -+ log_info("%s copied.", etc_vconsoleconf); -+ return 0; -+ } -+ } -+ -+ r = prompt_keymap(); -+ if (r < 0) -+ return r; -+ -+ if (!isempty(arg_keymap)) -+ keymap = STRV_MAKE(strjoina("KEYMAP=", arg_keymap)); -+ -+ if (!keymap) -+ return 0; -+ -+ mkdir_parents(etc_vconsoleconf, 0755); -+ r = write_env_file(etc_vconsoleconf, keymap); -+ if (r < 0) -+ return log_error_errno(r, "Failed to write %s: %m", etc_vconsoleconf); -+ -+ log_info("%s written.", etc_vconsoleconf); -+ return 0; -+} -+ - static int prompt_timezone(void) { - _cleanup_strv_free_ char **zones = NULL; - int r; -@@ -611,20 +688,23 @@ static void help(void) { - " --root=PATH Operate on an alternate filesystem root\n" - " --locale=LOCALE Set primary locale (LANG=)\n" - " --locale-messages=LOCALE Set message locale (LC_MESSAGES=)\n" -+ " --keymap=KEYMAP Set keymap\n" - " --timezone=TIMEZONE Set timezone\n" - " --hostname=NAME Set host name\n" - " --machine-ID=ID Set machine ID\n" - " --root-password=PASSWORD Set root password\n" - " --root-password-file=FILE Set root password from file\n" - " --prompt-locale Prompt the user for locale settings\n" -+ " --prompt-keymap Prompt the user for keymap settings\n" - " --prompt-timezone Prompt the user for timezone\n" - " --prompt-hostname Prompt the user for hostname\n" - " --prompt-root-password Prompt the user for root password\n" - " --prompt Prompt for all of the above\n" - " --copy-locale Copy locale from host\n" -+ " --copy-keymap Copy keymap from host\n" - " --copy-timezone Copy timezone from host\n" - " --copy-root-password Copy root password from host\n" -- " --copy Copy locale, timezone, root password\n" -+ " --copy Copy locale, keymap, timezone, root password\n" - " --setup-machine-id Generate a new random machine ID\n" - , program_invocation_short_name); - } -@@ -636,6 +716,7 @@ static int parse_argv(int argc, char *argv[]) { - ARG_ROOT, - ARG_LOCALE, - ARG_LOCALE_MESSAGES, -+ ARG_KEYMAP, - ARG_TIMEZONE, - ARG_HOSTNAME, - ARG_MACHINE_ID, -@@ -643,11 +724,13 @@ static int parse_argv(int argc, char *argv[]) { - ARG_ROOT_PASSWORD_FILE, - ARG_PROMPT, - ARG_PROMPT_LOCALE, -+ ARG_PROMPT_KEYMAP, - ARG_PROMPT_TIMEZONE, - ARG_PROMPT_HOSTNAME, - ARG_PROMPT_ROOT_PASSWORD, - ARG_COPY, - ARG_COPY_LOCALE, -+ ARG_COPY_KEYMAP, - ARG_COPY_TIMEZONE, - ARG_COPY_ROOT_PASSWORD, - ARG_SETUP_MACHINE_ID, -@@ -659,6 +742,7 @@ static int parse_argv(int argc, char *argv[]) { - { "root", required_argument, NULL, ARG_ROOT }, - { "locale", required_argument, NULL, ARG_LOCALE }, - { "locale-messages", required_argument, NULL, ARG_LOCALE_MESSAGES }, -+ { "keymap", required_argument, NULL, ARG_KEYMAP }, - { "timezone", required_argument, NULL, ARG_TIMEZONE }, - { "hostname", required_argument, NULL, ARG_HOSTNAME }, - { "machine-id", required_argument, NULL, ARG_MACHINE_ID }, -@@ -666,11 +750,13 @@ static int parse_argv(int argc, char *argv[]) { - { "root-password-file", required_argument, NULL, ARG_ROOT_PASSWORD_FILE }, - { "prompt", no_argument, NULL, ARG_PROMPT }, - { "prompt-locale", no_argument, NULL, ARG_PROMPT_LOCALE }, -+ { "prompt-keymap", no_argument, NULL, ARG_PROMPT_KEYMAP }, - { "prompt-timezone", no_argument, NULL, ARG_PROMPT_TIMEZONE }, - { "prompt-hostname", no_argument, NULL, ARG_PROMPT_HOSTNAME }, - { "prompt-root-password", no_argument, NULL, ARG_PROMPT_ROOT_PASSWORD }, - { "copy", no_argument, NULL, ARG_COPY }, - { "copy-locale", no_argument, NULL, ARG_COPY_LOCALE }, -+ { "copy-keymap", no_argument, NULL, ARG_COPY_KEYMAP }, - { "copy-timezone", no_argument, NULL, ARG_COPY_TIMEZONE }, - { "copy-root-password", no_argument, NULL, ARG_COPY_ROOT_PASSWORD }, - { "setup-machine-id", no_argument, NULL, ARG_SETUP_MACHINE_ID }, -@@ -723,6 +809,18 @@ static int parse_argv(int argc, char *argv[]) { - - break; - -+ case ARG_KEYMAP: -+ if (!keymap_is_valid(optarg)) { -+ log_error("Keymap %s is not valid.", optarg); -+ return -EINVAL; -+ } -+ -+ r = free_and_strdup(&arg_keymap, optarg); -+ if (r < 0) -+ return log_oom(); -+ -+ break; -+ - case ARG_TIMEZONE: - if (!timezone_is_valid(optarg)) { - log_error("Timezone %s is not valid.", optarg); -@@ -772,13 +870,17 @@ static int parse_argv(int argc, char *argv[]) { - break; - - case ARG_PROMPT: -- arg_prompt_locale = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; -+ arg_prompt_locale = arg_prompt_keymap = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; - break; - - case ARG_PROMPT_LOCALE: - arg_prompt_locale = true; - break; - -+ case ARG_PROMPT_KEYMAP: -+ arg_prompt_keymap = true; -+ break; -+ - case ARG_PROMPT_TIMEZONE: - arg_prompt_timezone = true; - break; -@@ -792,13 +894,17 @@ static int parse_argv(int argc, char *argv[]) { - break; - - case ARG_COPY: -- arg_copy_locale = arg_copy_timezone = arg_copy_root_password = true; -+ arg_copy_locale = arg_copy_keymap = arg_copy_timezone = arg_copy_root_password = true; - break; - - case ARG_COPY_LOCALE: - arg_copy_locale = true; - break; - -+ case ARG_COPY_KEYMAP: -+ arg_copy_keymap = true; -+ break; -+ - case ARG_COPY_TIMEZONE: - arg_copy_timezone = true; - break; -@@ -853,6 +959,10 @@ int main(int argc, char *argv[]) { - if (r < 0) - goto finish; - -+ r = process_keymap(); -+ if (r < 0) -+ goto finish; -+ - r = process_timezone(); - if (r < 0) - goto finish; -@@ -873,6 +983,7 @@ finish: - free(arg_root); - free(arg_locale); - free(arg_locale_messages); -+ free(arg_keymap); - free(arg_timezone); - free(arg_hostname); - string_erase(arg_root_password); -diff --git a/src/locale/localectl.c b/src/locale/localectl.c -index 0bd18a5c0..efdd73a8f 100644 ---- a/src/locale/localectl.c -+++ b/src/locale/localectl.c -@@ -273,68 +273,15 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) { - return r; - } - --static Set *keymaps = NULL; -- --static int nftw_cb( -- const char *fpath, -- const struct stat *sb, -- int tflag, -- struct FTW *ftwbuf) { -- -- char *p, *e; -- int r; -- -- if (tflag != FTW_F) -- return 0; -- -- if (!endswith(fpath, ".map") && -- !endswith(fpath, ".map.gz")) -- return 0; -- -- p = strdup(basename(fpath)); -- if (!p) -- return log_oom(); -- -- e = endswith(p, ".map"); -- if (e) -- *e = 0; -- -- e = endswith(p, ".map.gz"); -- if (e) -- *e = 0; -- -- r = set_consume(keymaps, p); -- if (r < 0 && r != -EEXIST) -- return log_error_errno(r, "Can't add keymap: %m"); -- -- return 0; --} -- - static int list_vconsole_keymaps(sd_bus *bus, char **args, unsigned n) { -- _cleanup_strv_free_ char **l = NULL; -- const char *dir; -- -- keymaps = set_new(&string_hash_ops); -- if (!keymaps) -- return log_oom(); -- -- NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) -- nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS); -- -- l = set_get_strv(keymaps); -- if (!l) { -- set_free_free(keymaps); -- return log_oom(); -- } -- -- set_free(keymaps); -+ _cleanup_strv_free_ char **l = NULL; -+ int r; - -- if (strv_isempty(l)) { -- log_error("Couldn't find any console keymaps."); -- return -ENOENT; -- } -+ assert(args); - -- strv_sort(l); -+ r = get_keymaps(&l); -+ if (r < 0) -+ return log_error_errno(r, "Failed to read list of keymaps: %m"); - - pager_open(arg_no_pager, false); - -diff --git a/src/test/test-locale-util.c b/src/test/test-locale-util.c -index 427c698d1..e6876c82e 100644 ---- a/src/test/test-locale-util.c -+++ b/src/test/test-locale-util.c -@@ -50,9 +50,38 @@ static void test_locale_is_valid(void) { - assert_se(!locale_is_valid("\x01gar\x02 bage\x03")); - } - -+static void test_get_keymaps(void) { -+ _cleanup_strv_free_ char **kmaps = NULL; -+ char **p; -+ int r; -+ -+ r = get_keymaps(&kmaps); -+ assert_se(r >= 0); -+ assert_se(kmaps); -+ -+ STRV_FOREACH(p, kmaps) { -+ puts(*p); -+ assert_se(keymap_is_valid(*p)); -+ } -+} -+ -+static void test_keymap_is_valid(void) { -+ assert_se(keymap_is_valid("uk")); -+ assert_se(keymap_is_valid("de-nodeadkeys")); -+ assert_se(keymap_is_valid("ANSI-dvorak")); -+ assert_se(keymap_is_valid("unicode")); -+ -+ assert_se(!keymap_is_valid("")); -+ assert_se(!keymap_is_valid("/usr/bin/foo")); -+ assert_se(!keymap_is_valid("\x01gar\x02 bage\x03")); -+} -+ - int main(int argc, char *argv[]) { - test_get_locales(); - test_locale_is_valid(); - -+ test_get_keymaps(); -+ test_keymap_is_valid(); -+ - return 0; - } --- -2.14.2 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 55f00c98..37172a16 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42bf64dac8b5fa739b53c12c5cba492340b09ebdc78890cd429088158f95e285 -size 3352176 +oid sha256:41f96893041fe93197c142ca64f51f882e6c5d4c50c774091e5ff4fc36a814e0 +size 3352496 diff --git a/systemd-mini.changes b/systemd-mini.changes index 32a9bcd0..5b3da895 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com + +- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 + + 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) + +------------------------------------------------------------------- +Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com + +- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) + + This patch is not yet merged in the 'compats/udev-compat-symlinks' + branch: we asked to upstream if it would be possible to introduce a + new specifier that wouldn't strip trailing whitespaces , see + https://github.com/systemd/systemd/issues/7462 + + Also this allows to give the patch more testing before merging it in + the git repo. + +------------------------------------------------------------------- +Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com + +- Drop a useless rm(1) from the specfile + +------------------------------------------------------------------- +Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de + +- Remove requires for pwdutils, we don't need the shadow tools + anymore [bsc#1069150] + +------------------------------------------------------------------- +Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com + +- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b + + 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) + 216beb768 tmpfiles: Allow create symlink on directories (#6039) + baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) + +- Remove stderr redirection to /dev/null when calling %tmpfiles_create + since it's not needed anymore due to commit 22dcb1d04. Indeed the + messages are no more emitted at LOG_WARN but LOG_NOTICE. + +------------------------------------------------------------------- +Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com + +- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c + + 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) + 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) + +- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since + it's been merged upstream and backported to SUSE/v234 (see above). + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 59abc06e..00f024d7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -116,7 +116,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} @@ -156,14 +155,14 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs -# Patches listed in here are really special cases. Normally all +# Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch +Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -482,7 +481,6 @@ ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -rm -rf %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -677,7 +675,7 @@ pam-config -a --systemd || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create 2>/dev/null +%tmpfiles_create # Create default config in /etc at first install. # Later package updates should not overwrite these settings. diff --git a/systemd.changes b/systemd.changes index 32a9bcd0..5b3da895 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com + +- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 + + 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) + +------------------------------------------------------------------- +Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com + +- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) + + This patch is not yet merged in the 'compats/udev-compat-symlinks' + branch: we asked to upstream if it would be possible to introduce a + new specifier that wouldn't strip trailing whitespaces , see + https://github.com/systemd/systemd/issues/7462 + + Also this allows to give the patch more testing before merging it in + the git repo. + +------------------------------------------------------------------- +Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com + +- Drop a useless rm(1) from the specfile + +------------------------------------------------------------------- +Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de + +- Remove requires for pwdutils, we don't need the shadow tools + anymore [bsc#1069150] + +------------------------------------------------------------------- +Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com + +- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b + + 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) + 216beb768 tmpfiles: Allow create symlink on directories (#6039) + baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) + +- Remove stderr redirection to /dev/null when calling %tmpfiles_create + since it's not needed anymore due to commit 22dcb1d04. Indeed the + messages are no more emitted at LOG_WARN but LOG_NOTICE. + +------------------------------------------------------------------- +Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com + +- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c + + 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) + 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) + +- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since + it's been merged upstream and backported to SUSE/v234 (see above). + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 493a9cc8..2ffba83c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -114,7 +114,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} @@ -154,14 +153,14 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs -# Patches listed in here are really special cases. Normally all +# Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch +Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -480,7 +479,6 @@ ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -rm -rf %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -675,7 +673,7 @@ pam-config -a --systemd || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create 2>/dev/null +%tmpfiles_create # Create default config in /etc at first install. # Later package updates should not overwrite these settings. From e98159ad9d27bc18e4cc8d4972b3b03f6a0c8b9c435f94b421dad76a4dd848aa Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 4 Dec 2017 07:40:42 +0000 Subject: [PATCH 336/991] Accepting request 547887 from home:pavlix:branches:Base:System Add missing /etc/systemd/network directory OBS-URL: https://build.opensuse.org/request/show/547887 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1000 --- systemd-mini.spec | 1 + systemd.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index 00f024d7..6e767915 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -982,6 +982,7 @@ fi %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh diff --git a/systemd.spec b/systemd.spec index 2ffba83c..3edcacb1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -980,6 +980,7 @@ fi %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh From 9c4c368b59d6d5b1d8c750fe0b7b86213f8762346cf8161e1738c91fa73f43d0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 4 Dec 2017 08:04:31 +0000 Subject: [PATCH 337/991] Accepting request 547927 from home:fbui:systemd:Factory - Previous change was missing an entry in the changelogs OBS-URL: https://build.opensuse.org/request/show/547927 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1001 --- systemd-mini.changes | 5 +++++ systemd.changes | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5b3da895..bc2907cb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net + +- Add missing /etc/systemd/network directory + ------------------------------------------------------------------- Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 5b3da895..bc2907cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net + +- Add missing /etc/systemd/network directory + ------------------------------------------------------------------- Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com From 0cbb91056c3fa5a62e1eb949416c2a0427bfb9ad8a8109ba620f8b74c23c28b9 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 13 Dec 2017 10:56:29 +0000 Subject: [PATCH 338/991] Accepting request 555848 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/555848 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=266 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5b3da895..bc2907cb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net + +- Add missing /etc/systemd/network directory + ------------------------------------------------------------------- Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 00f024d7..6e767915 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -982,6 +982,7 @@ fi %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh diff --git a/systemd.changes b/systemd.changes index 5b3da895..bc2907cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net + +- Add missing /etc/systemd/network directory + ------------------------------------------------------------------- Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 2ffba83c..3edcacb1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -980,6 +980,7 @@ fi %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh From 834026bfeb894e5937c9d6187d65d4a6ed688d4f3efc721b1013e3e1419eb600 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 10 Jan 2018 13:38:26 +0000 Subject: [PATCH 339/991] Accepting request 563316 from home:fbui:systemd:Factory - Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) 4dbea654f def: add new constant LONG_LINE_MAX 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) fe56abdf9 seccomp: arm64/x32 do not have _sysctl c9194fe37 seccomp: arm64 does not have mmap2 31d9b3c32 fs-util: small tweak in chase_symlinks() 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) OBS-URL: https://build.opensuse.org/request/show/563316 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1002 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 20 ++++++++++++++++++++ systemd-mini.spec | 2 +- systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 2 +- 5 files changed, 44 insertions(+), 4 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 37172a16..39b59e1a 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41f96893041fe93197c142ca64f51f882e6c5d4c50c774091e5ff4fc36a814e0 -size 3352496 +oid sha256:3b761b2045a378ccd840e3e95257adc1de122b6864706a3a521f86ceff7782fc +size 3353740 diff --git a/systemd-mini.changes b/systemd-mini.changes index bc2907cb..e8400dc3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com + +- Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee + + 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) + 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) + 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) + 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) + 4dbea654f def: add new constant LONG_LINE_MAX + 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement + 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV + 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) + a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) + fe56abdf9 seccomp: arm64/x32 do not have _sysctl + c9194fe37 seccomp: arm64 does not have mmap2 + 31d9b3c32 fs-util: small tweak in chase_symlinks() + 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found + 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) + ------------------------------------------------------------------- Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net diff --git a/systemd-mini.spec b/systemd-mini.spec index 6e767915..3376805e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/systemd.changes b/systemd.changes index bc2907cb..e8400dc3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com + +- Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee + + 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) + 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) + 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) + 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) + 4dbea654f def: add new constant LONG_LINE_MAX + 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement + 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV + 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) + a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) + fe56abdf9 seccomp: arm64/x32 do not have _sysctl + c9194fe37 seccomp: arm64 does not have mmap2 + 31d9b3c32 fs-util: small tweak in chase_symlinks() + 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found + 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) + ------------------------------------------------------------------- Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net diff --git a/systemd.spec b/systemd.spec index 3edcacb1..f248d9a7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From d25fcc94c728c8921305759ea3650b1748b8571abc5eb665e7de8b82767779c0 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 13 Jan 2018 20:34:41 +0000 Subject: [PATCH 340/991] Accepting request 563317 from Base:System OBS-URL: https://build.opensuse.org/request/show/563317 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=267 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 20 ++++++++++++++++++++ systemd-mini.spec | 2 +- systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 2 +- 5 files changed, 44 insertions(+), 4 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 37172a16..39b59e1a 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41f96893041fe93197c142ca64f51f882e6c5d4c50c774091e5ff4fc36a814e0 -size 3352496 +oid sha256:3b761b2045a378ccd840e3e95257adc1de122b6864706a3a521f86ceff7782fc +size 3353740 diff --git a/systemd-mini.changes b/systemd-mini.changes index bc2907cb..e8400dc3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com + +- Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee + + 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) + 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) + 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) + 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) + 4dbea654f def: add new constant LONG_LINE_MAX + 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement + 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV + 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) + a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) + fe56abdf9 seccomp: arm64/x32 do not have _sysctl + c9194fe37 seccomp: arm64 does not have mmap2 + 31d9b3c32 fs-util: small tweak in chase_symlinks() + 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found + 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) + ------------------------------------------------------------------- Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net diff --git a/systemd-mini.spec b/systemd-mini.spec index 6e767915..3376805e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/systemd.changes b/systemd.changes index bc2907cb..e8400dc3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com + +- Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee + + 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) + 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) + 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) + 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) + 4dbea654f def: add new constant LONG_LINE_MAX + 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement + 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV + 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) + a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) + fe56abdf9 seccomp: arm64/x32 do not have _sysctl + c9194fe37 seccomp: arm64 does not have mmap2 + 31d9b3c32 fs-util: small tweak in chase_symlinks() + 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found + 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) + ------------------------------------------------------------------- Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net diff --git a/systemd.spec b/systemd.spec index 3edcacb1..f248d9a7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From 5af38b9aa6ed95edd5521b8b423ad933ad34393b6ff096f61110868397672514 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Jan 2018 10:27:52 +0000 Subject: [PATCH 341/991] Accepting request 563822 from home:RBrownSUSE:branches:Base:System - Edit scripts-systemd-fix-machines-btrfs-subvol.sh We shouldn't be creating a /var/lib/machines subvolume if /var is already a seperate partition or subvolume. /var/lib/machines will already be excluded from snapper & similar tooling in this case. OBS-URL: https://build.opensuse.org/request/show/563822 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1003 --- scripts-systemd-fix-machines-btrfs-subvol.sh | 12 ++++++++++++ systemd.changes | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/scripts-systemd-fix-machines-btrfs-subvol.sh b/scripts-systemd-fix-machines-btrfs-subvol.sh index a1b0832e..6ff4f688 100644 --- a/scripts-systemd-fix-machines-btrfs-subvol.sh +++ b/scripts-systemd-fix-machines-btrfs-subvol.sh @@ -74,6 +74,18 @@ if mount --fake /var/lib/machines 2>/dev/null; then exit fi +# +# If there is already an entry in fstab for /var, it means that: +# +# - the system has a seperate /var subvolume (default from Feb 2018) +# - the system has a seperate /var partition +# +# In any case we should exit +# +if mount --fake /var 2>/dev/null; then + exit +fi + # # If something is already mounted don't try to fix anything, it's been # done manually by the sysadmin. diff --git a/systemd.changes b/systemd.changes index e8400dc3..556fbd6d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com + +- Edit scripts-systemd-fix-machines-btrfs-subvol.sh + + We shouldn't be creating a /var/lib/machines subvolume if /var is + already a seperate partition or subvolume. /var/lib/machines will + already be excluded from snapper & similar tooling in this case. + ------------------------------------------------------------------- Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com From 54a19df9756c6de3236794c151b522ac438b526c4f448bf913d52ce9da706762 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 16 Jan 2018 11:09:48 +0000 Subject: [PATCH 342/991] Accepting request 566368 from home:fbui:systemd:Factory - Import commit cc94ce8513221061898c83f57862544b16021f0e aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) 77c5065f9 delta: check if a prefix needs to be skipped only once db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) 3a95f69bf tmpfiles: downgrade warning about duplicate line - Edit scripts-systemd-fix-machines-btrfs-subvol.sh We shouldn't be creating a /var/lib/machines subvolume if /var is already a seperate partition or subvolume. /var/lib/machines will already be excluded from snapper & similar tooling in this case. OBS-URL: https://build.opensuse.org/request/show/566368 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1004 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd.changes | 13 +++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 39b59e1a..ce8e2fb9 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b761b2045a378ccd840e3e95257adc1de122b6864706a3a521f86ceff7782fc -size 3353740 +oid sha256:dfe3727ab7449e20a9534d6eeb531d7cf49a74c894c8bcf964df2cda034aeda8 +size 3353636 diff --git a/systemd-mini.changes b/systemd-mini.changes index e8400dc3..4bc688e0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com + +- Import commit cc94ce8513221061898c83f57862544b16021f0e + + aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX + b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) + 77c5065f9 delta: check if a prefix needs to be skipped only once + db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) + 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) + 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) + 3a95f69bf tmpfiles: downgrade warning about duplicate line + +------------------------------------------------------------------- +Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com + +- Edit scripts-systemd-fix-machines-btrfs-subvol.sh + + We shouldn't be creating a /var/lib/machines subvolume if /var is + already a seperate partition or subvolume. /var/lib/machines will + already be excluded from snapper & similar tooling in this case. + ------------------------------------------------------------------- Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 556fbd6d..4bc688e0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com + +- Import commit cc94ce8513221061898c83f57862544b16021f0e + + aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX + b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) + 77c5065f9 delta: check if a prefix needs to be skipped only once + db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) + 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) + 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) + 3a95f69bf tmpfiles: downgrade warning about duplicate line + ------------------------------------------------------------------- Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com From 7d3054477fdb121d16286dd829d7d95e2e88c1758058f4094838fb5b48df5845 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 17 Jan 2018 20:43:54 +0000 Subject: [PATCH 343/991] Accepting request 566373 from Base:System OBS-URL: https://build.opensuse.org/request/show/566373 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=268 --- scripts-systemd-fix-machines-btrfs-subvol.sh | 12 +++++++++++ systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 22 ++++++++++++++++++++ systemd.changes | 22 ++++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/scripts-systemd-fix-machines-btrfs-subvol.sh b/scripts-systemd-fix-machines-btrfs-subvol.sh index a1b0832e..6ff4f688 100644 --- a/scripts-systemd-fix-machines-btrfs-subvol.sh +++ b/scripts-systemd-fix-machines-btrfs-subvol.sh @@ -74,6 +74,18 @@ if mount --fake /var/lib/machines 2>/dev/null; then exit fi +# +# If there is already an entry in fstab for /var, it means that: +# +# - the system has a seperate /var subvolume (default from Feb 2018) +# - the system has a seperate /var partition +# +# In any case we should exit +# +if mount --fake /var 2>/dev/null; then + exit +fi + # # If something is already mounted don't try to fix anything, it's been # done manually by the sysadmin. diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 39b59e1a..ce8e2fb9 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b761b2045a378ccd840e3e95257adc1de122b6864706a3a521f86ceff7782fc -size 3353740 +oid sha256:dfe3727ab7449e20a9534d6eeb531d7cf49a74c894c8bcf964df2cda034aeda8 +size 3353636 diff --git a/systemd-mini.changes b/systemd-mini.changes index e8400dc3..4bc688e0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com + +- Import commit cc94ce8513221061898c83f57862544b16021f0e + + aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX + b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) + 77c5065f9 delta: check if a prefix needs to be skipped only once + db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) + 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) + 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) + 3a95f69bf tmpfiles: downgrade warning about duplicate line + +------------------------------------------------------------------- +Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com + +- Edit scripts-systemd-fix-machines-btrfs-subvol.sh + + We shouldn't be creating a /var/lib/machines subvolume if /var is + already a seperate partition or subvolume. /var/lib/machines will + already be excluded from snapper & similar tooling in this case. + ------------------------------------------------------------------- Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index e8400dc3..4bc688e0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com + +- Import commit cc94ce8513221061898c83f57862544b16021f0e + + aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX + b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) + 77c5065f9 delta: check if a prefix needs to be skipped only once + db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) + 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) + 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) + 3a95f69bf tmpfiles: downgrade warning about duplicate line + +------------------------------------------------------------------- +Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com + +- Edit scripts-systemd-fix-machines-btrfs-subvol.sh + + We shouldn't be creating a /var/lib/machines subvolume if /var is + already a seperate partition or subvolume. /var/lib/machines will + already be excluded from snapper & similar tooling in this case. + ------------------------------------------------------------------- Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com From ddfb80eac1106c7877c65adf5021d76034be83e70cc4ef07258c0d8c84de136c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 26 Jan 2018 14:48:35 +0000 Subject: [PATCH 344/991] Accepting request 569902 from home:fbui:systemd:Factory - Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) OBS-URL: https://build.opensuse.org/request/show/569902 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1005 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 8 ++++++++ systemd.changes | 8 ++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index ce8e2fb9..6cf24ef6 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfe3727ab7449e20a9534d6eeb531d7cf49a74c894c8bcf964df2cda034aeda8 -size 3353636 +oid sha256:3092b5ba37ed35a9fc7dd0f9554a8a047d60bbff45c72fb991adabfc566efde3 +size 3353980 diff --git a/systemd-mini.changes b/systemd-mini.changes index 4bc688e0..04ab2e2c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com + +- Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 + + 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) + 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) + ------------------------------------------------------------------- Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 4bc688e0..04ab2e2c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com + +- Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 + + 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) + 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) + ------------------------------------------------------------------- Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com From fcc2b807d7d4fadff6a31bbb12147416be0937c8ecc47c35e629e414a0d1361b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 29 Jan 2018 10:07:56 +0000 Subject: [PATCH 345/991] Accepting request 570496 from home:fbui:systemd:Factory - Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) OBS-URL: https://build.opensuse.org/request/show/570496 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1006 --- suse-disable-tmpfs-for-tmp.service | 33 +++++++++++++ systemd-mini.changes | 28 +++++++++++ systemd-mini.spec | 74 ++++++++++++++++-------------- systemd.changes | 28 +++++++++++ systemd.spec | 74 ++++++++++++++++-------------- 5 files changed, 167 insertions(+), 70 deletions(-) create mode 100644 suse-disable-tmpfs-for-tmp.service diff --git a/suse-disable-tmpfs-for-tmp.service b/suse-disable-tmpfs-for-tmp.service new file mode 100644 index 00000000..df598082 --- /dev/null +++ b/suse-disable-tmpfs-for-tmp.service @@ -0,0 +1,33 @@ +# +# By default, /tmp doesn't use tmpfs on SUSE distros. +# +# This service is either run automatically during the firstboot (i.e. +# only once) of the system. +# +# Or it can also be (manually) started during systemd update (%post) +# only and only if tmp.mount wasn't already installed by the admin in +# /usr/lib during %pre. In this case tmp.mount should also masked. +# +# In any cases this service will never mask tmp.mount if the service +# has been created by either the admin or fstab-generator. +# +[Unit] +Description=Mask tmp.mount by default on SUSE systems +DefaultDependencies=no +Conflicts=shutdown.target +After=systemd-remount-fs.service +Before=tmp.mount +ConditionPathIsReadWrite=/etc +ConditionPathExists=!/usr/lib/systemd/system/.disable-tmpfs-for-tmp~done + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/sh -c ' \ + case "$(systemctl show -pFragmentPath tmp.mount)" in \ + FragmentPath=/usr/lib/systemd/system/tmp.mount) \ + systemctl mask --now tmp.mount ;; \ + FragmentPath=/usr/share/systemd/tmp.mount) \ + ln -sf /usr/lib/systemd/system/tmp.mount /etc/systemd/system/ ;; \ + esac' +ExecStartPost=/usr/bin/touch /usr/lib/systemd/system/.disable-tmpfs-for-tmp~done diff --git a/systemd-mini.changes b/systemd-mini.changes index 04ab2e2c..17ec22fe 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com + +- Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) + + This was done to make sure that tmpfs wouldn't be used for /tmp by + defaut in case the dir layout created by the installer did not + create a customized tmp.mount. + + But it had the bad side effect to break "rpm -V systemd" and updates + of systemd via delta-RPMs. + + Now instead of removing tmp.mount unit file, we mask it (still only + if no other tmp.mount would override the default one). It's the + official way to disable tmpfs on /tmp after all. + + Since we cannot rely on the presence of fstab during package + installations, we introduced a service which is run once on the + first boot and which figures out if tmpfs would be used. If so it + masks the unit. + + We also handle the upgrade path and make sure to preserve admin's + settings (if any). + + Another advantage of this is that we will only need to remove the + introduced service the day when tmpfs will be the default for SUSE + distros. + ------------------------------------------------------------------- Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 3376805e..72d027ef 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -148,6 +148,7 @@ Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy +Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -513,11 +514,10 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +# Install the service which will disable/mask tmpfs for /tmp (if +# needed) on first boot. +install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service +ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -648,12 +648,19 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd +# Build of installation images uses a hard coded list of packages with +# a %pre that needs to be run during the build. systemd is one of them +# so keep the section even if it's empty. %pre -# Build of installation images uses an hard coded list of some -# packages with a %pre that needs to be run during the -# build. Unfortunately, systemd in one of them. To make thing simpler -# we use a %pre section even if it is not needed. -exit 0 +if [ $1 -gt 1 ] ; then + # Check if tmp.mount has been restored by either the admin or + # was added at package installation. In both cases do nothing + # and prevent the service to be executed during %post for the + # former case. + if test -e %{_unitdir}/tmp.mount; then + touch %{_unitdir}/.disable-tmpfs-for-tmp~done + fi +fi %post # Make /etc/machine-id an empty file during package installation. On @@ -695,16 +702,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -720,23 +717,30 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Convert /var/lib/machines subvolume to make it suitable for -# rollbacks, if needed. See bsc#992573. The installer has been fixed -# to create it at installation time. -# -# The convertion might only be problematic for openSUSE distros -# (TW/Factory) where previous versions had already created the -# subvolume at the wrong place (via tmpfiles for example) and user -# started to populate and use it. In this case we'll let the user fix -# it manually. -# -# For SLE12 this subvolume was only introduced during the upgrade from -# v210 to v228 when we added this workaround. Note that the subvolume -# is still created at the wrong place due to the call to -# tmpfiles_create macro previously however it's empty so there -# shouldn't be any issues. if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Should we mask tmpfs ? If tmp.mount was already installed in + # /usr/lib then this is a nop as sysadmin restored the unit + # most likely to use tmpfs (see %pre) otherwise mask the mount + # unit unless it's overriden by a tmp.mount unit installed + # either by sysadmin or fstab-generator. + systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun diff --git a/systemd.changes b/systemd.changes index 04ab2e2c..17ec22fe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com + +- Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) + + This was done to make sure that tmpfs wouldn't be used for /tmp by + defaut in case the dir layout created by the installer did not + create a customized tmp.mount. + + But it had the bad side effect to break "rpm -V systemd" and updates + of systemd via delta-RPMs. + + Now instead of removing tmp.mount unit file, we mask it (still only + if no other tmp.mount would override the default one). It's the + official way to disable tmpfs on /tmp after all. + + Since we cannot rely on the presence of fstab during package + installations, we introduced a service which is run once on the + first boot and which figures out if tmpfs would be used. If so it + masks the unit. + + We also handle the upgrade path and make sure to preserve admin's + settings (if any). + + Another advantage of this is that we will only need to remove the + introduced service the day when tmpfs will be the default for SUSE + distros. + ------------------------------------------------------------------- Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index f248d9a7..b889f423 100644 --- a/systemd.spec +++ b/systemd.spec @@ -146,6 +146,7 @@ Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy +Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -511,11 +512,10 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +# Install the service which will disable/mask tmpfs for /tmp (if +# needed) on first boot. +install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service +ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -646,12 +646,19 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd +# Build of installation images uses a hard coded list of packages with +# a %pre that needs to be run during the build. systemd is one of them +# so keep the section even if it's empty. %pre -# Build of installation images uses an hard coded list of some -# packages with a %pre that needs to be run during the -# build. Unfortunately, systemd in one of them. To make thing simpler -# we use a %pre section even if it is not needed. -exit 0 +if [ $1 -gt 1 ] ; then + # Check if tmp.mount has been restored by either the admin or + # was added at package installation. In both cases do nothing + # and prevent the service to be executed during %post for the + # former case. + if test -e %{_unitdir}/tmp.mount; then + touch %{_unitdir}/.disable-tmpfs-for-tmp~done + fi +fi %post # Make /etc/machine-id an empty file during package installation. On @@ -693,16 +700,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -718,23 +715,30 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Convert /var/lib/machines subvolume to make it suitable for -# rollbacks, if needed. See bsc#992573. The installer has been fixed -# to create it at installation time. -# -# The convertion might only be problematic for openSUSE distros -# (TW/Factory) where previous versions had already created the -# subvolume at the wrong place (via tmpfiles for example) and user -# started to populate and use it. In this case we'll let the user fix -# it manually. -# -# For SLE12 this subvolume was only introduced during the upgrade from -# v210 to v228 when we added this workaround. Note that the subvolume -# is still created at the wrong place due to the call to -# tmpfiles_create macro previously however it's empty so there -# shouldn't be any issues. if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Should we mask tmpfs ? If tmp.mount was already installed in + # /usr/lib then this is a nop as sysadmin restored the unit + # most likely to use tmpfs (see %pre) otherwise mask the mount + # unit unless it's overriden by a tmp.mount unit installed + # either by sysadmin or fstab-generator. + systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun From 765c4c9e8a4986e590171d590700bcf4ba352a8de1a853419002835c4f44c431 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 30 Jan 2018 14:38:43 +0000 Subject: [PATCH 346/991] Accepting request 570497 from Base:System OBS-URL: https://build.opensuse.org/request/show/570497 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=269 --- suse-disable-tmpfs-for-tmp.service | 33 +++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 36 +++++++++++++++ systemd-mini.spec | 74 ++++++++++++++++-------------- systemd.changes | 36 +++++++++++++++ systemd.spec | 74 ++++++++++++++++-------------- 6 files changed, 185 insertions(+), 72 deletions(-) create mode 100644 suse-disable-tmpfs-for-tmp.service diff --git a/suse-disable-tmpfs-for-tmp.service b/suse-disable-tmpfs-for-tmp.service new file mode 100644 index 00000000..df598082 --- /dev/null +++ b/suse-disable-tmpfs-for-tmp.service @@ -0,0 +1,33 @@ +# +# By default, /tmp doesn't use tmpfs on SUSE distros. +# +# This service is either run automatically during the firstboot (i.e. +# only once) of the system. +# +# Or it can also be (manually) started during systemd update (%post) +# only and only if tmp.mount wasn't already installed by the admin in +# /usr/lib during %pre. In this case tmp.mount should also masked. +# +# In any cases this service will never mask tmp.mount if the service +# has been created by either the admin or fstab-generator. +# +[Unit] +Description=Mask tmp.mount by default on SUSE systems +DefaultDependencies=no +Conflicts=shutdown.target +After=systemd-remount-fs.service +Before=tmp.mount +ConditionPathIsReadWrite=/etc +ConditionPathExists=!/usr/lib/systemd/system/.disable-tmpfs-for-tmp~done + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/sh -c ' \ + case "$(systemctl show -pFragmentPath tmp.mount)" in \ + FragmentPath=/usr/lib/systemd/system/tmp.mount) \ + systemctl mask --now tmp.mount ;; \ + FragmentPath=/usr/share/systemd/tmp.mount) \ + ln -sf /usr/lib/systemd/system/tmp.mount /etc/systemd/system/ ;; \ + esac' +ExecStartPost=/usr/bin/touch /usr/lib/systemd/system/.disable-tmpfs-for-tmp~done diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index ce8e2fb9..6cf24ef6 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfe3727ab7449e20a9534d6eeb531d7cf49a74c894c8bcf964df2cda034aeda8 -size 3353636 +oid sha256:3092b5ba37ed35a9fc7dd0f9554a8a047d60bbff45c72fb991adabfc566efde3 +size 3353980 diff --git a/systemd-mini.changes b/systemd-mini.changes index 4bc688e0..17ec22fe 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com + +- Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) + + This was done to make sure that tmpfs wouldn't be used for /tmp by + defaut in case the dir layout created by the installer did not + create a customized tmp.mount. + + But it had the bad side effect to break "rpm -V systemd" and updates + of systemd via delta-RPMs. + + Now instead of removing tmp.mount unit file, we mask it (still only + if no other tmp.mount would override the default one). It's the + official way to disable tmpfs on /tmp after all. + + Since we cannot rely on the presence of fstab during package + installations, we introduced a service which is run once on the + first boot and which figures out if tmpfs would be used. If so it + masks the unit. + + We also handle the upgrade path and make sure to preserve admin's + settings (if any). + + Another advantage of this is that we will only need to remove the + introduced service the day when tmpfs will be the default for SUSE + distros. + +------------------------------------------------------------------- +Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com + +- Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 + + 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) + 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) + ------------------------------------------------------------------- Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 3376805e..72d027ef 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -148,6 +148,7 @@ Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy +Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -513,11 +514,10 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +# Install the service which will disable/mask tmpfs for /tmp (if +# needed) on first boot. +install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service +ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -648,12 +648,19 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd +# Build of installation images uses a hard coded list of packages with +# a %pre that needs to be run during the build. systemd is one of them +# so keep the section even if it's empty. %pre -# Build of installation images uses an hard coded list of some -# packages with a %pre that needs to be run during the -# build. Unfortunately, systemd in one of them. To make thing simpler -# we use a %pre section even if it is not needed. -exit 0 +if [ $1 -gt 1 ] ; then + # Check if tmp.mount has been restored by either the admin or + # was added at package installation. In both cases do nothing + # and prevent the service to be executed during %post for the + # former case. + if test -e %{_unitdir}/tmp.mount; then + touch %{_unitdir}/.disable-tmpfs-for-tmp~done + fi +fi %post # Make /etc/machine-id an empty file during package installation. On @@ -695,16 +702,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -720,23 +717,30 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Convert /var/lib/machines subvolume to make it suitable for -# rollbacks, if needed. See bsc#992573. The installer has been fixed -# to create it at installation time. -# -# The convertion might only be problematic for openSUSE distros -# (TW/Factory) where previous versions had already created the -# subvolume at the wrong place (via tmpfiles for example) and user -# started to populate and use it. In this case we'll let the user fix -# it manually. -# -# For SLE12 this subvolume was only introduced during the upgrade from -# v210 to v228 when we added this workaround. Note that the subvolume -# is still created at the wrong place due to the call to -# tmpfiles_create macro previously however it's empty so there -# shouldn't be any issues. if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Should we mask tmpfs ? If tmp.mount was already installed in + # /usr/lib then this is a nop as sysadmin restored the unit + # most likely to use tmpfs (see %pre) otherwise mask the mount + # unit unless it's overriden by a tmp.mount unit installed + # either by sysadmin or fstab-generator. + systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun diff --git a/systemd.changes b/systemd.changes index 4bc688e0..17ec22fe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com + +- Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) + + This was done to make sure that tmpfs wouldn't be used for /tmp by + defaut in case the dir layout created by the installer did not + create a customized tmp.mount. + + But it had the bad side effect to break "rpm -V systemd" and updates + of systemd via delta-RPMs. + + Now instead of removing tmp.mount unit file, we mask it (still only + if no other tmp.mount would override the default one). It's the + official way to disable tmpfs on /tmp after all. + + Since we cannot rely on the presence of fstab during package + installations, we introduced a service which is run once on the + first boot and which figures out if tmpfs would be used. If so it + masks the unit. + + We also handle the upgrade path and make sure to preserve admin's + settings (if any). + + Another advantage of this is that we will only need to remove the + introduced service the day when tmpfs will be the default for SUSE + distros. + +------------------------------------------------------------------- +Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com + +- Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 + + 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) + 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) + ------------------------------------------------------------------- Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index f248d9a7..b889f423 100644 --- a/systemd.spec +++ b/systemd.spec @@ -146,6 +146,7 @@ Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy +Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -511,11 +512,10 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# We keep a copy of tmp.mount because it may be removed if not used -# (see %post): we want to be sure tmpfs won't be used for /tmp by -# default on Suse distros. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -cp %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +# Install the service which will disable/mask tmpfs for /tmp (if +# needed) on first boot. +install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service +ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -646,12 +646,19 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map %find_lang systemd +# Build of installation images uses a hard coded list of packages with +# a %pre that needs to be run during the build. systemd is one of them +# so keep the section even if it's empty. %pre -# Build of installation images uses an hard coded list of some -# packages with a %pre that needs to be run during the -# build. Unfortunately, systemd in one of them. To make thing simpler -# we use a %pre section even if it is not needed. -exit 0 +if [ $1 -gt 1 ] ; then + # Check if tmp.mount has been restored by either the admin or + # was added at package installation. In both cases do nothing + # and prevent the service to be executed during %post for the + # former case. + if test -e %{_unitdir}/tmp.mount; then + touch %{_unitdir}/.disable-tmpfs-for-tmp~done + fi +fi %post # Make /etc/machine-id an empty file during package installation. On @@ -693,16 +700,6 @@ if [ $1 -eq 1 ]; then %endif fi >/dev/null -# Keep tmp.mount if it's been enabled explicitly by the user otherwise -# make sure it wont be activated since it's the default for Suse -# distros. This unit can be pulled (implicitely) in various ways -# (private /tmp, etc..) and it's required by the basic.target -# explicitly since v220. -case $(systemctl is-enabled tmp.mount 2>/dev/null) in -enabled) ;; -*) rm -f %{_prefix}/lib/systemd/system/tmp.mount -esac - # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have # been created by the affected versions of systemd (bsc#1020601). @@ -718,23 +715,30 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Convert /var/lib/machines subvolume to make it suitable for -# rollbacks, if needed. See bsc#992573. The installer has been fixed -# to create it at installation time. -# -# The convertion might only be problematic for openSUSE distros -# (TW/Factory) where previous versions had already created the -# subvolume at the wrong place (via tmpfiles for example) and user -# started to populate and use it. In this case we'll let the user fix -# it manually. -# -# For SLE12 this subvolume was only introduced during the upgrade from -# v210 to v228 when we added this workaround. Note that the subvolume -# is still created at the wrong place due to the call to -# tmpfiles_create macro previously however it's empty so there -# shouldn't be any issues. if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Should we mask tmpfs ? If tmp.mount was already installed in + # /usr/lib then this is a nop as sysadmin restored the unit + # most likely to use tmpfs (see %pre) otherwise mask the mount + # unit unless it's overriden by a tmp.mount unit installed + # either by sysadmin or fstab-generator. + systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun From 86995e430d68b666dd56e259ecaf9b7b55739e6355bc929bf9e1dfec787eaf94 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 31 Jan 2018 15:24:18 +0000 Subject: [PATCH 347/991] Accepting request 571464 from home:fbui:systemd:Factory - Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) 8c2bcac25 tmpfiles: change ownership of symlinks too OBS-URL: https://build.opensuse.org/request/show/571464 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1007 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 8 ++++++++ systemd.changes | 8 ++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 6cf24ef6..e2ca003d 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3092b5ba37ed35a9fc7dd0f9554a8a047d60bbff45c72fb991adabfc566efde3 -size 3353980 +oid sha256:d17505c6dbee0d83584f883f1b4ac5e835cf7491069c75b164c66fb615767530 +size 3354508 diff --git a/systemd-mini.changes b/systemd-mini.changes index 17ec22fe..a25dffaf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com + +- Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 + + 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) + 8c2bcac25 tmpfiles: change ownership of symlinks too + ------------------------------------------------------------------- Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com diff --git a/systemd.changes b/systemd.changes index 17ec22fe..a25dffaf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com + +- Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 + + 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) + 8c2bcac25 tmpfiles: change ownership of symlinks too + ------------------------------------------------------------------- Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com From 7b5d71d771daaa404d206d47e7cf347d70eb9f0b03c4767aa73cf445a563b0a8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 2 Feb 2018 10:09:06 +0000 Subject: [PATCH 348/991] Accepting request 571921 from home:fbui:systemd:Factory - Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) - Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch It's been imported in branch "compats/udev-compat-symlinks" which has been merged in branch "openSUSE-Factory" in its turn. - Import commit c516268845b0fd0683cef2e491b84077371e8f01 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() - Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch It's been merged in branch "SUSE/v234". OBS-URL: https://build.opensuse.org/request/show/571921 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1008 --- ...-rid-of-scsi_id-when-generating-comp.patch | 77 ------------------- ...sion-keyring-per-system-sevice-entir.patch | 31 -------- systemd-234.tar.xz | 4 +- systemd-mini.changes | 31 ++++++++ systemd-mini.spec | 6 +- systemd.changes | 31 ++++++++ systemd.spec | 6 +- 7 files changed, 70 insertions(+), 116 deletions(-) delete mode 100644 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch delete mode 100644 0001-core-disable-session-keyring-per-system-sevice-entir.patch diff --git a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch deleted file mode 100644 index 16bb923c..00000000 --- a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 17be35b017aa39fad8aec98c81d4fade917096ec Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 27 Nov 2017 11:46:40 +0100 -Subject: [PATCH 1/1] compat-rules: get rid of scsi_id when generating compat - symlinks for NVMe devices - -The SCSI translation layer for NVMe devices has been removed from the -kernel since 4.13 (commit 3f7f25a910ed8988b2a87c1ca2bfee6b4fb83ac7), -so drop scsi_id in favor of the sysfs interface to generate the -name of the compat symlinks. - -Unfortunately we have to retrieve manually the model attribute -because %s{} strips trailing whitespaces otherwise. Indeed scsi_id -replaced them with a single '_' char due to the use of the -'--replace-whitespace' option. - -[tblume: fixes bsc#1051465] ---- - rules/61-persistent-storage-compat.rules | 34 ++++++++++++++++++++++++++++---- - 1 file changed, 30 insertions(+), 4 deletions(-) - -diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules -index 82a38fac7..639dc1ee1 100644 ---- a/rules/61-persistent-storage-compat.rules -+++ b/rules/61-persistent-storage-compat.rules -@@ -16,6 +16,10 @@ - # doesn't rely on them and they could be disabled permanently. - # - # Thanks ! -+# -+# Note: this rules file can rely on all ID_* variables (set by -+# 60-persistent-storage.rule) but should not overwrite them, see -+# bsc#1048679 for details. - - ACTION=="remove", GOTO="persistent_storage_end" - -@@ -49,11 +53,33 @@ ENV{COMPAT_SYMLINK_GENERATION}!="?*", ENV{COMPAT_SYMLINK_GENERATION}="1" - # - ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" - --# NVMe links were introduced first via a SUSE specific commit -+# NVMe symlinks were introduced first via a SUSE specific commit - # (bsc#944132) and upstream gained support later but of course using a --# different scheme. Also note that ID_SERIAL is already used by the --# contemporary rules, see bsc#1048679 for details. --KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", PROGRAM="scsi_id --whitelisted --replace-whitespace -d $devnode", RESULT=="?*", ENV{ID_NVME_SERIAL_COMPAT}="$result" -+# different scheme. -+ -+# The SCSI translation layer for NVMe devices has been removed from -+# the kernel since 4.13, therefore we switched from scsi_id to the -+# sysfs interface to generate the name of the compat symlinks. -+# Unfortunately we can't use %s{model} to retrieve the model string -+# because udev strips any trailing whitespaces and some plateforms -+# (QEMU does that) might append such chars. In those cases scsi_id was -+# replacing them with a single trailing '_'. Therefore the currently -+# code retrieves the model string manually making sure to preserve all -+# characters so trailing whitespaces are still converted when the -+# symlink is created. -+ -+# KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ -+# PROGRAM=="/bin/sh -c 'MODEL=\"%s{model}\"; echo \"${MODEL:0:16}\"'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" -+ -+KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ -+ PROGRAM=="/bin/sh -c ' \ -+ cd /sys/%p; \ -+ while ! [ -f model ]; do \ -+ cd ..; \ -+ [ $(pwd) = %S ] && exit 1; \ -+ done; \ -+ cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" -+ - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}" - KERNEL=="nvme*", ENV{DEVTYPE}=="partition", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}-part%n" - --- -2.14.2 - diff --git a/0001-core-disable-session-keyring-per-system-sevice-entir.patch b/0001-core-disable-session-keyring-per-system-sevice-entir.patch deleted file mode 100644 index 62580997..00000000 --- a/0001-core-disable-session-keyring-per-system-sevice-entir.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 30cceac444bcc67896611154b051669225abaa93 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 6 Jul 2017 15:48:10 +0200 -Subject: [PATCH] core: disable session keyring per system sevice entirely - for now - -It seems that this stuff needs more thoughts... - -See also: -https://github.com/systemd/systemd/pull/6286 - -[fbui: fixes bnc#1045886] ---- - src/core/service.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/core/service.c b/src/core/service.c -index 74054887b..874f2be93 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -1341,7 +1341,6 @@ static int service_spawn( - } else - path = UNIT(s)->cgroup_path; - -- exec_params.flags |= MANAGER_IS_SYSTEM(UNIT(s)->manager) ? EXEC_NEW_KEYRING : 0; - exec_params.argv = c->argv; - exec_params.environment = final_env; - exec_params.fds = fds; --- -2.13.1 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index e2ca003d..75985aaa 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d17505c6dbee0d83584f883f1b4ac5e835cf7491069c75b164c66fb615767530 -size 3354508 +oid sha256:99fb2aa924449a90db2431507c82cb778a7563e22de08f1ac8e9e77c30c06fc3 +size 3353804 diff --git a/systemd-mini.changes b/systemd-mini.changes index a25dffaf..0fd8a7e7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com + +- Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 + + 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) + 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) + +------------------------------------------------------------------- +Fri Feb 2 08:44:57 UTC 2018 - fbui@suse.com + +- Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + + It's been imported in branch "compats/udev-compat-symlinks" which + has been merged in branch "openSUSE-Factory" in its turn. + +------------------------------------------------------------------- +Fri Feb 2 08:17:41 UTC 2018 - fbui@suse.com + +- Import commit c516268845b0fd0683cef2e491b84077371e8f01 + + 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) + 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() + +------------------------------------------------------------------- +Fri Feb 2 08:14:03 UTC 2018 - fbui@suse.com + +- Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch + + It's been merged in branch "SUSE/v234". + ------------------------------------------------------------------- Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 72d027ef..7b940175 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -162,8 +162,8 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + +# Empty %description Systemd is a system and service manager, compatible with SysV and LSB @@ -408,7 +408,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -%autopatch -p1 +# %autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} diff --git a/systemd.changes b/systemd.changes index a25dffaf..0fd8a7e7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com + +- Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 + + 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) + 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) + +------------------------------------------------------------------- +Fri Feb 2 08:44:57 UTC 2018 - fbui@suse.com + +- Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + + It's been imported in branch "compats/udev-compat-symlinks" which + has been merged in branch "openSUSE-Factory" in its turn. + +------------------------------------------------------------------- +Fri Feb 2 08:17:41 UTC 2018 - fbui@suse.com + +- Import commit c516268845b0fd0683cef2e491b84077371e8f01 + + 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) + 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() + +------------------------------------------------------------------- +Fri Feb 2 08:14:03 UTC 2018 - fbui@suse.com + +- Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch + + It's been merged in branch "SUSE/v234". + ------------------------------------------------------------------- Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b889f423..80b8c033 100644 --- a/systemd.spec +++ b/systemd.spec @@ -160,8 +160,8 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + +# Empty %description Systemd is a system and service manager, compatible with SysV and LSB @@ -406,7 +406,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -%autopatch -p1 +# %autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} From b5decf8c1333ca65ae8993fad7dbed20c8d821848bbaf49c0d5c0081cef9e26e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 5 Feb 2018 09:50:36 +0000 Subject: [PATCH 349/991] Accepting request 571964 from Base:System OBS-URL: https://build.opensuse.org/request/show/571964 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=270 --- ...-rid-of-scsi_id-when-generating-comp.patch | 77 ------------------- ...sion-keyring-per-system-sevice-entir.patch | 31 -------- systemd-234.tar.xz | 4 +- systemd-mini.changes | 39 ++++++++++ systemd-mini.spec | 6 +- systemd.changes | 39 ++++++++++ systemd.spec | 6 +- 7 files changed, 86 insertions(+), 116 deletions(-) delete mode 100644 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch delete mode 100644 0001-core-disable-session-keyring-per-system-sevice-entir.patch diff --git a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch deleted file mode 100644 index 16bb923c..00000000 --- a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 17be35b017aa39fad8aec98c81d4fade917096ec Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 27 Nov 2017 11:46:40 +0100 -Subject: [PATCH 1/1] compat-rules: get rid of scsi_id when generating compat - symlinks for NVMe devices - -The SCSI translation layer for NVMe devices has been removed from the -kernel since 4.13 (commit 3f7f25a910ed8988b2a87c1ca2bfee6b4fb83ac7), -so drop scsi_id in favor of the sysfs interface to generate the -name of the compat symlinks. - -Unfortunately we have to retrieve manually the model attribute -because %s{} strips trailing whitespaces otherwise. Indeed scsi_id -replaced them with a single '_' char due to the use of the -'--replace-whitespace' option. - -[tblume: fixes bsc#1051465] ---- - rules/61-persistent-storage-compat.rules | 34 ++++++++++++++++++++++++++++---- - 1 file changed, 30 insertions(+), 4 deletions(-) - -diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules -index 82a38fac7..639dc1ee1 100644 ---- a/rules/61-persistent-storage-compat.rules -+++ b/rules/61-persistent-storage-compat.rules -@@ -16,6 +16,10 @@ - # doesn't rely on them and they could be disabled permanently. - # - # Thanks ! -+# -+# Note: this rules file can rely on all ID_* variables (set by -+# 60-persistent-storage.rule) but should not overwrite them, see -+# bsc#1048679 for details. - - ACTION=="remove", GOTO="persistent_storage_end" - -@@ -49,11 +53,33 @@ ENV{COMPAT_SYMLINK_GENERATION}!="?*", ENV{COMPAT_SYMLINK_GENERATION}="1" - # - ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" - --# NVMe links were introduced first via a SUSE specific commit -+# NVMe symlinks were introduced first via a SUSE specific commit - # (bsc#944132) and upstream gained support later but of course using a --# different scheme. Also note that ID_SERIAL is already used by the --# contemporary rules, see bsc#1048679 for details. --KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", PROGRAM="scsi_id --whitelisted --replace-whitespace -d $devnode", RESULT=="?*", ENV{ID_NVME_SERIAL_COMPAT}="$result" -+# different scheme. -+ -+# The SCSI translation layer for NVMe devices has been removed from -+# the kernel since 4.13, therefore we switched from scsi_id to the -+# sysfs interface to generate the name of the compat symlinks. -+# Unfortunately we can't use %s{model} to retrieve the model string -+# because udev strips any trailing whitespaces and some plateforms -+# (QEMU does that) might append such chars. In those cases scsi_id was -+# replacing them with a single trailing '_'. Therefore the currently -+# code retrieves the model string manually making sure to preserve all -+# characters so trailing whitespaces are still converted when the -+# symlink is created. -+ -+# KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ -+# PROGRAM=="/bin/sh -c 'MODEL=\"%s{model}\"; echo \"${MODEL:0:16}\"'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" -+ -+KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ -+ PROGRAM=="/bin/sh -c ' \ -+ cd /sys/%p; \ -+ while ! [ -f model ]; do \ -+ cd ..; \ -+ [ $(pwd) = %S ] && exit 1; \ -+ done; \ -+ cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" -+ - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}" - KERNEL=="nvme*", ENV{DEVTYPE}=="partition", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}-part%n" - --- -2.14.2 - diff --git a/0001-core-disable-session-keyring-per-system-sevice-entir.patch b/0001-core-disable-session-keyring-per-system-sevice-entir.patch deleted file mode 100644 index 62580997..00000000 --- a/0001-core-disable-session-keyring-per-system-sevice-entir.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 30cceac444bcc67896611154b051669225abaa93 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 6 Jul 2017 15:48:10 +0200 -Subject: [PATCH] core: disable session keyring per system sevice entirely - for now - -It seems that this stuff needs more thoughts... - -See also: -https://github.com/systemd/systemd/pull/6286 - -[fbui: fixes bnc#1045886] ---- - src/core/service.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/core/service.c b/src/core/service.c -index 74054887b..874f2be93 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -1341,7 +1341,6 @@ static int service_spawn( - } else - path = UNIT(s)->cgroup_path; - -- exec_params.flags |= MANAGER_IS_SYSTEM(UNIT(s)->manager) ? EXEC_NEW_KEYRING : 0; - exec_params.argv = c->argv; - exec_params.environment = final_env; - exec_params.fds = fds; --- -2.13.1 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 6cf24ef6..75985aaa 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3092b5ba37ed35a9fc7dd0f9554a8a047d60bbff45c72fb991adabfc566efde3 -size 3353980 +oid sha256:99fb2aa924449a90db2431507c82cb778a7563e22de08f1ac8e9e77c30c06fc3 +size 3353804 diff --git a/systemd-mini.changes b/systemd-mini.changes index 17ec22fe..0fd8a7e7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com + +- Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 + + 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) + 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) + +------------------------------------------------------------------- +Fri Feb 2 08:44:57 UTC 2018 - fbui@suse.com + +- Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + + It's been imported in branch "compats/udev-compat-symlinks" which + has been merged in branch "openSUSE-Factory" in its turn. + +------------------------------------------------------------------- +Fri Feb 2 08:17:41 UTC 2018 - fbui@suse.com + +- Import commit c516268845b0fd0683cef2e491b84077371e8f01 + + 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) + 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() + +------------------------------------------------------------------- +Fri Feb 2 08:14:03 UTC 2018 - fbui@suse.com + +- Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch + + It's been merged in branch "SUSE/v234". + +------------------------------------------------------------------- +Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com + +- Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 + + 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) + 8c2bcac25 tmpfiles: change ownership of symlinks too + ------------------------------------------------------------------- Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 72d027ef..7b940175 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -162,8 +162,8 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + +# Empty %description Systemd is a system and service manager, compatible with SysV and LSB @@ -408,7 +408,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -%autopatch -p1 +# %autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} diff --git a/systemd.changes b/systemd.changes index 17ec22fe..0fd8a7e7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com + +- Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 + + 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) + 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) + +------------------------------------------------------------------- +Fri Feb 2 08:44:57 UTC 2018 - fbui@suse.com + +- Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + + It's been imported in branch "compats/udev-compat-symlinks" which + has been merged in branch "openSUSE-Factory" in its turn. + +------------------------------------------------------------------- +Fri Feb 2 08:17:41 UTC 2018 - fbui@suse.com + +- Import commit c516268845b0fd0683cef2e491b84077371e8f01 + + 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) + 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() + +------------------------------------------------------------------- +Fri Feb 2 08:14:03 UTC 2018 - fbui@suse.com + +- Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch + + It's been merged in branch "SUSE/v234". + +------------------------------------------------------------------- +Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com + +- Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 + + 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) + 8c2bcac25 tmpfiles: change ownership of symlinks too + ------------------------------------------------------------------- Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b889f423..80b8c033 100644 --- a/systemd.spec +++ b/systemd.spec @@ -160,8 +160,8 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch + +# Empty %description Systemd is a system and service manager, compatible with SysV and LSB @@ -406,7 +406,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -%autopatch -p1 +# %autopatch -p1 # only needed for bootstrap %if 0%{?bootstrap} From 3a769c401e253b1d6c275fa13aebdb3a9c7f23feaa06e22d1cf9105ae0f96651 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Feb 2018 15:23:04 +0000 Subject: [PATCH 350/991] Accepting request 573381 from home:fbui:systemd:Factory - Switch to Meson build system Some rearrangement in the file list was also needed. That was probably due to the upgrade of rpm. - Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 2a181fc6f insserv-generator: make it build with meson 7b0401da4 build-sys: don't build networkctl if networkd is disabled - Don't build-require selinux for the mini package - Drop libgcrypt.m4 The mini package builds fine without it so it doesn't seem necessary anymore. - Import commit 846d838c37865da60eba48090e570e959291399f b1e0a348d fileio: include sys/mman.h f1fa784cb meson: update header file to detect memfd_create() 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" (the 3 first commits make systemd build against glibc 2.27) - Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" 23ce1207a meson.build: make docdir configurable (#8068) - Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 OBS-URL: https://build.opensuse.org/request/show/573381 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1009 --- ...make-path_id_compat-build-with-meson.patch | 41 ++++ libgcrypt.m4 | 123 ------------ systemd-234.tar.xz | 4 +- systemd-mini.changes | 49 +++++ systemd-mini.spec | 175 ++++++++---------- systemd.changes | 49 +++++ systemd.spec | 175 ++++++++---------- 7 files changed, 291 insertions(+), 325 deletions(-) create mode 100644 0001-compat-rules-make-path_id_compat-build-with-meson.patch delete mode 100644 libgcrypt.m4 diff --git a/0001-compat-rules-make-path_id_compat-build-with-meson.patch b/0001-compat-rules-make-path_id_compat-build-with-meson.patch new file mode 100644 index 00000000..deecae15 --- /dev/null +++ b/0001-compat-rules-make-path_id_compat-build-with-meson.patch @@ -0,0 +1,41 @@ +From 1cbe23da27e68bd3c7ca2a2fe6007d9a53533de9 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 2 Feb 2018 17:58:19 +0100 +Subject: [PATCH 1/1] compat-rules: make path_id_compat build with meson + +--- + src/udev/compat/meson.build | 11 +++++++++++ + src/udev/meson.build | 2 ++ + 2 files changed, 13 insertions(+) + create mode 100644 src/udev/compat/meson.build + +diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build +new file mode 100644 +index 000000000..0d77da2e1 +--- /dev/null ++++ b/src/udev/compat/meson.build +@@ -0,0 +1,11 @@ ++foreach prog : ['path_id_compat.c'] ++ ++ executable(prog.split('.')[0], ++ prog, ++ include_directories : includes, ++ c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], ++ link_with : [libudev_internal], ++ install_rpath : udev_rpath, ++ install : true, ++ install_dir : udevlibexecdir) ++endforeach +diff --git a/src/udev/meson.build b/src/udev/meson.build +index 13cd26bb8..4aa431ecc 100644 +--- a/src/udev/meson.build ++++ b/src/udev/meson.build +@@ -151,3 +151,5 @@ install_data(udev_pc, + + meson.add_install_script('sh', '-c', + mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d'))) ++ ++subdir('compat') +-- +2.15.1 + diff --git a/libgcrypt.m4 b/libgcrypt.m4 deleted file mode 100644 index b0aeccd2..00000000 --- a/libgcrypt.m4 +++ /dev/null @@ -1,123 +0,0 @@ -dnl Autoconf macros for libgcrypt -dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. -dnl -dnl This file is free software; as a special exception the author gives -dnl unlimited permission to copy and/or distribute it, with or without -dnl modifications, as long as this notice is preserved. -dnl -dnl This file is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. -dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed -dnl with the API version to also check the API compatibility. Example: -dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed -dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using -dnl this features allows to prevent build against newer versions of libgcrypt -dnl with a changed API. -dnl -AC_DEFUN([AM_PATH_LIBGCRYPT], -[ AC_ARG_WITH(libgcrypt-prefix, - AC_HELP_STRING([--with-libgcrypt-prefix=PFX], - [prefix where LIBGCRYPT is installed (optional)]), - libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") - if test x$libgcrypt_config_prefix != x ; then - if test x${LIBGCRYPT_CONFIG+set} != xset ; then - LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config - fi - fi - - AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) - tmp=ifelse([$1], ,1:1.2.0,$1) - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libgcrypt_api=0 - min_libgcrypt_version="$tmp" - fi - - AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) - ok=no - if test "$LIBGCRYPT_CONFIG" != "no" ; then - req_major=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` - major=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - if test $ok = yes; then - AC_MSG_RESULT([yes ($libgcrypt_config_version)]) - else - AC_MSG_RESULT(no) - fi - if test $ok = yes; then - # If we have a recent libgcrypt, we should also check that the - # API is compatible - if test "$req_libgcrypt_api" -gt 0 ; then - tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` - if test "$tmp" -gt 0 ; then - AC_MSG_CHECKING([LIBGCRYPT API version]) - if test "$req_libgcrypt_api" -eq "$tmp" ; then - AC_MSG_RESULT([okay]) - else - ok=no - AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) - fi - fi - fi - fi - if test $ok = yes; then - LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` - LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` - ifelse([$2], , :, [$2]) - if test x"$host" != x ; then - libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` - if test x"$libgcrypt_config_host" != xnone ; then - if test x"$libgcrypt_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script $LIBGCRYPT_CONFIG was -*** built for $libgcrypt_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgcrypt-prefix -*** to specify a matching config script. -***]]) - fi - fi - fi - else - LIBGCRYPT_CFLAGS="" - LIBGCRYPT_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(LIBGCRYPT_CFLAGS) - AC_SUBST(LIBGCRYPT_LIBS) -]) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 75985aaa..ff0ac11c 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99fb2aa924449a90db2431507c82cb778a7563e22de08f1ac8e9e77c30c06fc3 -size 3353804 +oid sha256:67c4157ca16b0e7ee1d02b11463df889aac4f25f682388357da029125eb3e367 +size 3353968 diff --git a/systemd-mini.changes b/systemd-mini.changes index 0fd8a7e7..6c780916 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com + +- Switch to Meson build system + + Some rearrangement in the file list was also needed. That was + probably due to the upgrade of rpm. + +------------------------------------------------------------------- +Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com + +- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 + + 2a181fc6f insserv-generator: make it build with meson + 7b0401da4 build-sys: don't build networkctl if networkd is disabled + +------------------------------------------------------------------- +Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com + +- Don't build-require selinux for the mini package + +------------------------------------------------------------------- +Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com + +- Drop libgcrypt.m4 + + The mini package builds fine without it so it doesn't seem necessary + anymore. + +------------------------------------------------------------------- +Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com + +- Import commit 846d838c37865da60eba48090e570e959291399f + + b1e0a348d fileio: include sys/mman.h + f1fa784cb meson: update header file to detect memfd_create() + 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) + 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" + + (the 3 first commits make systemd build against glibc 2.27) + +------------------------------------------------------------------- +Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com + +- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 + + 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" + 23ce1207a meson.build: make docdir configurable (#8068) + ------------------------------------------------------------------- Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 7b940175..7f69f828 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -69,6 +69,7 @@ BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 %endif BuildRequires: fdupes BuildRequires: gperf @@ -76,8 +77,8 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: m4 +BuildRequires: meson >= 0.43 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -87,8 +88,6 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -144,7 +143,6 @@ Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf -Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy @@ -162,8 +160,7 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. - -# Empty +Patch1: 0001-compat-rules-make-path_id_compat-build-with-meson.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -408,64 +405,53 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -# %autopatch -p1 - -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif +%autopatch -p1 %build -./autogen.sh - # keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ +%meson \ + -Ddocdir=%{_docdir}/systemd \ + -Drootprefix=/usr \ + -Dsplit-usr=true \ + -Dpamlibdir=/%{_lib}/security \ + -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Ddefault-hierarchy=hybrid \ + -Ddefault-kill-user-processes=false \ + -Drc-local=/etc/init.d/boot.local \ + -Dhalt-local=/etc/init.d/halt.local \ + -Ddebug-shell=/bin/bash \ + -Dselinux=auto \ + -Dapparmor=auto \ + -Dsmack=false \ + -Dima=false \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + -Dman=false \ + -Dhtml=false \ + -Dmyhostname=false \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-default-hierarchy=hybrid \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ - --disable-ldconfig \ - --disable-gshadow \ %if %{without networkd} - --disable-networkd \ -%endif -%if %{without machined} - --disable-machined \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + -Dnetworkd=false \ %endif %if %{without resolved} - --disable-resolved \ + -Dresolve=false \ %endif - --disable-kdbus +%if %{without machined} + -Dmachined=false \ +%endif +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Dldconfig=false -%make_build V=e +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete +%meson_install # move to %{_lib} %if ! 0%{?bootstrap} @@ -481,13 +467,12 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -529,10 +514,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -902,14 +883,16 @@ fi %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/systemd-udevd +%if %{with journal_remote} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload +%endif +%exclude %{_prefix}/lib/systemd/systemd-sysv* +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -963,11 +946,13 @@ fi %{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/sysusers.d/ -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf - %dir %{_sysconfdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/ + +%if %{with journal_remote} +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%endif %{_libexecdir}/environment.d/ @@ -981,12 +966,12 @@ fi %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%if %{with networkd} %dir %{_sysconfdir}/systemd/network +%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1001,27 +986,33 @@ fi %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services + +%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %if %{with machined} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %endif -# Some files created by us. +# Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1032,31 +1023,13 @@ fi %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%endif -%if %{with resolved} -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if %{with machined} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%endif -%if %{with importd} -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%endif - %{_datadir}/systemd %{_datadir}/factory -%exclude %{_datadir}/systemd/gatewayd -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%if %{with journal_remote} +%exclude %{_datadir}/systemd/gatewayd +%endif + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1206,7 +1179,9 @@ fi %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%if %{with networkd} %{_prefix}/lib/systemd/network/*.network +%endif %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} diff --git a/systemd.changes b/systemd.changes index 0fd8a7e7..6c780916 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com + +- Switch to Meson build system + + Some rearrangement in the file list was also needed. That was + probably due to the upgrade of rpm. + +------------------------------------------------------------------- +Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com + +- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 + + 2a181fc6f insserv-generator: make it build with meson + 7b0401da4 build-sys: don't build networkctl if networkd is disabled + +------------------------------------------------------------------- +Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com + +- Don't build-require selinux for the mini package + +------------------------------------------------------------------- +Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com + +- Drop libgcrypt.m4 + + The mini package builds fine without it so it doesn't seem necessary + anymore. + +------------------------------------------------------------------- +Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com + +- Import commit 846d838c37865da60eba48090e570e959291399f + + b1e0a348d fileio: include sys/mman.h + f1fa784cb meson: update header file to detect memfd_create() + 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) + 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" + + (the 3 first commits make systemd build against glibc 2.27) + +------------------------------------------------------------------- +Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com + +- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 + + 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" + 23ce1207a meson.build: make docdir configurable (#8068) + ------------------------------------------------------------------- Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 80b8c033..71ffddc6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,6 +67,7 @@ BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 %endif BuildRequires: fdupes BuildRequires: gperf @@ -74,8 +75,8 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: m4 +BuildRequires: meson >= 0.43 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -85,8 +86,6 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -142,7 +141,6 @@ Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf -Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy @@ -160,8 +158,7 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. - -# Empty +Patch1: 0001-compat-rules-make-path_id_compat-build-with-meson.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -406,64 +403,53 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -# %autopatch -p1 - -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif +%autopatch -p1 %build -./autogen.sh - # keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ +%meson \ + -Ddocdir=%{_docdir}/systemd \ + -Drootprefix=/usr \ + -Dsplit-usr=true \ + -Dpamlibdir=/%{_lib}/security \ + -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Ddefault-hierarchy=hybrid \ + -Ddefault-kill-user-processes=false \ + -Drc-local=/etc/init.d/boot.local \ + -Dhalt-local=/etc/init.d/halt.local \ + -Ddebug-shell=/bin/bash \ + -Dselinux=auto \ + -Dapparmor=auto \ + -Dsmack=false \ + -Dima=false \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + -Dman=false \ + -Dhtml=false \ + -Dmyhostname=false \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-default-hierarchy=hybrid \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ - --disable-ldconfig \ - --disable-gshadow \ %if %{without networkd} - --disable-networkd \ -%endif -%if %{without machined} - --disable-machined \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + -Dnetworkd=false \ %endif %if %{without resolved} - --disable-resolved \ + -Dresolve=false \ %endif - --disable-kdbus +%if %{without machined} + -Dmachined=false \ +%endif +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Dldconfig=false -%make_build V=e +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete +%meson_install # move to %{_lib} %if ! 0%{?bootstrap} @@ -479,13 +465,12 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -527,10 +512,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -900,14 +881,16 @@ fi %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/systemd-udevd +%if %{with journal_remote} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload +%endif +%exclude %{_prefix}/lib/systemd/systemd-sysv* +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -961,11 +944,13 @@ fi %{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/sysusers.d/ -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf - %dir %{_sysconfdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/ + +%if %{with journal_remote} +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%endif %{_libexecdir}/environment.d/ @@ -979,12 +964,12 @@ fi %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%if %{with networkd} %dir %{_sysconfdir}/systemd/network +%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -999,27 +984,33 @@ fi %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services + +%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %if %{with machined} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %endif -# Some files created by us. +# Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1030,31 +1021,13 @@ fi %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%endif -%if %{with resolved} -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if %{with machined} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%endif -%if %{with importd} -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%endif - %{_datadir}/systemd %{_datadir}/factory -%exclude %{_datadir}/systemd/gatewayd -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%if %{with journal_remote} +%exclude %{_datadir}/systemd/gatewayd +%endif + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1204,7 +1177,9 @@ fi %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%if %{with networkd} %{_prefix}/lib/systemd/network/*.network +%endif %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} From dc9b88ddb303826814ed2d5f8ec33a9f17c2fd125edc1816364794a4739cb814 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Feb 2018 09:01:49 +0000 Subject: [PATCH 351/991] Accepting request 574512 from home:fbui:systemd:Factory - Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) - Don't build seccomp support in the mini package OBS-URL: https://build.opensuse.org/request/show/574512 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1010 --- suse-disable-tmpfs-for-tmp.service | 33 ---------------------------- systemd-mini.changes | 20 +++++++++++++++++ systemd-mini.spec | 35 +++++++++++------------------- systemd.changes | 20 +++++++++++++++++ systemd.spec | 35 +++++++++++------------------- 5 files changed, 66 insertions(+), 77 deletions(-) delete mode 100644 suse-disable-tmpfs-for-tmp.service diff --git a/suse-disable-tmpfs-for-tmp.service b/suse-disable-tmpfs-for-tmp.service deleted file mode 100644 index df598082..00000000 --- a/suse-disable-tmpfs-for-tmp.service +++ /dev/null @@ -1,33 +0,0 @@ -# -# By default, /tmp doesn't use tmpfs on SUSE distros. -# -# This service is either run automatically during the firstboot (i.e. -# only once) of the system. -# -# Or it can also be (manually) started during systemd update (%post) -# only and only if tmp.mount wasn't already installed by the admin in -# /usr/lib during %pre. In this case tmp.mount should also masked. -# -# In any cases this service will never mask tmp.mount if the service -# has been created by either the admin or fstab-generator. -# -[Unit] -Description=Mask tmp.mount by default on SUSE systems -DefaultDependencies=no -Conflicts=shutdown.target -After=systemd-remount-fs.service -Before=tmp.mount -ConditionPathIsReadWrite=/etc -ConditionPathExists=!/usr/lib/systemd/system/.disable-tmpfs-for-tmp~done - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/bin/sh -c ' \ - case "$(systemctl show -pFragmentPath tmp.mount)" in \ - FragmentPath=/usr/lib/systemd/system/tmp.mount) \ - systemctl mask --now tmp.mount ;; \ - FragmentPath=/usr/share/systemd/tmp.mount) \ - ln -sf /usr/lib/systemd/system/tmp.mount /etc/systemd/system/ ;; \ - esac' -ExecStartPost=/usr/bin/touch /usr/lib/systemd/system/.disable-tmpfs-for-tmp~done diff --git a/systemd-mini.changes b/systemd-mini.changes index 6c780916..7e9eb933 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com + +- Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) + + The previous fix couldn't work on platforms using a RO + rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but + we still ship a copy in /var. + + Users who want to use tmpfs on /tmp are supposed to add a symlink in + /etc/ pointing to the copy shipped in /var. + + To support the update path we automatically create the symlink if + tmp.mount in use is located in /usr. + +------------------------------------------------------------------- +Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com + +- Don't build seccomp support in the mini package + ------------------------------------------------------------------- Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 7f69f828..5d63313a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -70,6 +70,9 @@ BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +%endif %endif BuildRequires: fdupes BuildRequires: gperf @@ -97,9 +100,6 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif %if %{with gnuefi} BuildRequires: gnu-efi %endif @@ -146,7 +146,6 @@ Source6: baselibs.conf Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy -Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -421,6 +420,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ -Dsmack=false \ @@ -499,10 +499,11 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Install the service which will disable/mask tmpfs for /tmp (if -# needed) on first boot. -install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service -ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ +# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs +# by default on SUSE distros. We still keep a copy in /var for those +# who want to switch to tmpfs: it's still can be copied in /etc. +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -634,13 +635,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # so keep the section even if it's empty. %pre if [ $1 -gt 1 ] ; then - # Check if tmp.mount has been restored by either the admin or - # was added at package installation. In both cases do nothing - # and prevent the service to be executed during %post for the - # former case. - if test -e %{_unitdir}/tmp.mount; then - touch %{_unitdir}/.disable-tmpfs-for-tmp~done - fi + case "$(systemctl show -pFragmentPath tmp.mount)" in + FragmentPath=/usr/lib/systemd/system/tmp.mount) + ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : + esac fi %post @@ -715,13 +713,6 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - - # Should we mask tmpfs ? If tmp.mount was already installed in - # /usr/lib then this is a nop as sysadmin restored the unit - # most likely to use tmpfs (see %pre) otherwise mask the mount - # unit unless it's overriden by a tmp.mount unit installed - # either by sysadmin or fstab-generator. - systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun diff --git a/systemd.changes b/systemd.changes index 6c780916..7e9eb933 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com + +- Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) + + The previous fix couldn't work on platforms using a RO + rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but + we still ship a copy in /var. + + Users who want to use tmpfs on /tmp are supposed to add a symlink in + /etc/ pointing to the copy shipped in /var. + + To support the update path we automatically create the symlink if + tmp.mount in use is located in /usr. + +------------------------------------------------------------------- +Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com + +- Don't build seccomp support in the mini package + ------------------------------------------------------------------- Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 71ffddc6..138409b4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -68,6 +68,9 @@ BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +%endif %endif BuildRequires: fdupes BuildRequires: gperf @@ -95,9 +98,6 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif %if %{with gnuefi} BuildRequires: gnu-efi %endif @@ -144,7 +144,6 @@ Source6: baselibs.conf Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy -Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -419,6 +418,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ -Dsmack=false \ @@ -497,10 +497,11 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Install the service which will disable/mask tmpfs for /tmp (if -# needed) on first boot. -install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service -ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ +# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs +# by default on SUSE distros. We still keep a copy in /var for those +# who want to switch to tmpfs: it's still can be copied in /etc. +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -632,13 +633,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # so keep the section even if it's empty. %pre if [ $1 -gt 1 ] ; then - # Check if tmp.mount has been restored by either the admin or - # was added at package installation. In both cases do nothing - # and prevent the service to be executed during %post for the - # former case. - if test -e %{_unitdir}/tmp.mount; then - touch %{_unitdir}/.disable-tmpfs-for-tmp~done - fi + case "$(systemctl show -pFragmentPath tmp.mount)" in + FragmentPath=/usr/lib/systemd/system/tmp.mount) + ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : + esac fi %post @@ -713,13 +711,6 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - - # Should we mask tmpfs ? If tmp.mount was already installed in - # /usr/lib then this is a nop as sysadmin restored the unit - # most likely to use tmpfs (see %pre) otherwise mask the mount - # unit unless it's overriden by a tmp.mount unit installed - # either by sysadmin or fstab-generator. - systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun From c233b7b35d687dd3588427502a459351bddfa8a4c8821c7dd14afd54bcdb5809 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Feb 2018 14:26:29 +0000 Subject: [PATCH 352/991] Accepting request 574684 from home:fbui:systemd:Factory - Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 db1d8eacd compat-rules: make path_id_compat build with meson - Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch which is now part of the git repo (see above). OBS-URL: https://build.opensuse.org/request/show/574684 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1011 --- ...make-path_id_compat-build-with-meson.patch | 41 ------------------- systemd-234.tar.xz | 4 +- systemd-mini.changes | 10 +++++ systemd-mini.spec | 3 +- systemd.changes | 10 +++++ systemd.spec | 3 +- 6 files changed, 24 insertions(+), 47 deletions(-) delete mode 100644 0001-compat-rules-make-path_id_compat-build-with-meson.patch diff --git a/0001-compat-rules-make-path_id_compat-build-with-meson.patch b/0001-compat-rules-make-path_id_compat-build-with-meson.patch deleted file mode 100644 index deecae15..00000000 --- a/0001-compat-rules-make-path_id_compat-build-with-meson.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 1cbe23da27e68bd3c7ca2a2fe6007d9a53533de9 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 2 Feb 2018 17:58:19 +0100 -Subject: [PATCH 1/1] compat-rules: make path_id_compat build with meson - ---- - src/udev/compat/meson.build | 11 +++++++++++ - src/udev/meson.build | 2 ++ - 2 files changed, 13 insertions(+) - create mode 100644 src/udev/compat/meson.build - -diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build -new file mode 100644 -index 000000000..0d77da2e1 ---- /dev/null -+++ b/src/udev/compat/meson.build -@@ -0,0 +1,11 @@ -+foreach prog : ['path_id_compat.c'] -+ -+ executable(prog.split('.')[0], -+ prog, -+ include_directories : includes, -+ c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], -+ link_with : [libudev_internal], -+ install_rpath : udev_rpath, -+ install : true, -+ install_dir : udevlibexecdir) -+endforeach -diff --git a/src/udev/meson.build b/src/udev/meson.build -index 13cd26bb8..4aa431ecc 100644 ---- a/src/udev/meson.build -+++ b/src/udev/meson.build -@@ -151,3 +151,5 @@ install_data(udev_pc, - - meson.add_install_script('sh', '-c', - mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d'))) -+ -+subdir('compat') --- -2.15.1 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index ff0ac11c..bf54056e 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67c4157ca16b0e7ee1d02b11463df889aac4f25f682388357da029125eb3e367 -size 3353968 +oid sha256:3ebafff50a8ea2bce9ed34712b14947d8754fbdd4a1c085aa9dd285450e8dd2d +size 3354512 diff --git a/systemd-mini.changes b/systemd-mini.changes index 7e9eb933..4b3c533d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com + +- Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 + + db1d8eacd compat-rules: make path_id_compat build with meson + +- Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch + which is now part of the git repo (see above). + ------------------------------------------------------------------- Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5d63313a..003b565f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -159,7 +159,6 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-compat-rules-make-path_id_compat-build-with-meson.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -404,7 +403,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -%autopatch -p1 +# %autopatch -p1 %build # keep split-usr until all packages have moved their systemd rules to /usr diff --git a/systemd.changes b/systemd.changes index 7e9eb933..4b3c533d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com + +- Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 + + db1d8eacd compat-rules: make path_id_compat build with meson + +- Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch + which is now part of the git repo (see above). + ------------------------------------------------------------------- Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 138409b4..351d9636 100644 --- a/systemd.spec +++ b/systemd.spec @@ -157,7 +157,6 @@ Source1065: udev-remount-tmpfs # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-compat-rules-make-path_id_compat-build-with-meson.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -402,7 +401,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -%autopatch -p1 +# %autopatch -p1 %build # keep split-usr until all packages have moved their systemd rules to /usr From ba49fbf7ecabd5635211fe8981542c8f57f6ca793588639b08c23a3272a914cb Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Feb 2018 09:24:49 +0000 Subject: [PATCH 353/991] Accepting request 574687 from Base:System OBS-URL: https://build.opensuse.org/request/show/574687 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=271 --- libgcrypt.m4 | 123 ----------------- suse-disable-tmpfs-for-tmp.service | 33 ----- systemd-234.tar.xz | 4 +- systemd-mini.changes | 79 +++++++++++ systemd-mini.spec | 207 ++++++++++++----------------- systemd.changes | 79 +++++++++++ systemd.spec | 207 ++++++++++++----------------- 7 files changed, 332 insertions(+), 400 deletions(-) delete mode 100644 libgcrypt.m4 delete mode 100644 suse-disable-tmpfs-for-tmp.service diff --git a/libgcrypt.m4 b/libgcrypt.m4 deleted file mode 100644 index b0aeccd2..00000000 --- a/libgcrypt.m4 +++ /dev/null @@ -1,123 +0,0 @@ -dnl Autoconf macros for libgcrypt -dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. -dnl -dnl This file is free software; as a special exception the author gives -dnl unlimited permission to copy and/or distribute it, with or without -dnl modifications, as long as this notice is preserved. -dnl -dnl This file is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - -dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. -dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed -dnl with the API version to also check the API compatibility. Example: -dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed -dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using -dnl this features allows to prevent build against newer versions of libgcrypt -dnl with a changed API. -dnl -AC_DEFUN([AM_PATH_LIBGCRYPT], -[ AC_ARG_WITH(libgcrypt-prefix, - AC_HELP_STRING([--with-libgcrypt-prefix=PFX], - [prefix where LIBGCRYPT is installed (optional)]), - libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") - if test x$libgcrypt_config_prefix != x ; then - if test x${LIBGCRYPT_CONFIG+set} != xset ; then - LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config - fi - fi - - AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) - tmp=ifelse([$1], ,1:1.2.0,$1) - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libgcrypt_api=0 - min_libgcrypt_version="$tmp" - fi - - AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) - ok=no - if test "$LIBGCRYPT_CONFIG" != "no" ; then - req_major=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` - major=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - if test $ok = yes; then - AC_MSG_RESULT([yes ($libgcrypt_config_version)]) - else - AC_MSG_RESULT(no) - fi - if test $ok = yes; then - # If we have a recent libgcrypt, we should also check that the - # API is compatible - if test "$req_libgcrypt_api" -gt 0 ; then - tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` - if test "$tmp" -gt 0 ; then - AC_MSG_CHECKING([LIBGCRYPT API version]) - if test "$req_libgcrypt_api" -eq "$tmp" ; then - AC_MSG_RESULT([okay]) - else - ok=no - AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) - fi - fi - fi - fi - if test $ok = yes; then - LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` - LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` - ifelse([$2], , :, [$2]) - if test x"$host" != x ; then - libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` - if test x"$libgcrypt_config_host" != xnone ; then - if test x"$libgcrypt_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script $LIBGCRYPT_CONFIG was -*** built for $libgcrypt_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgcrypt-prefix -*** to specify a matching config script. -***]]) - fi - fi - fi - else - LIBGCRYPT_CFLAGS="" - LIBGCRYPT_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(LIBGCRYPT_CFLAGS) - AC_SUBST(LIBGCRYPT_LIBS) -]) diff --git a/suse-disable-tmpfs-for-tmp.service b/suse-disable-tmpfs-for-tmp.service deleted file mode 100644 index df598082..00000000 --- a/suse-disable-tmpfs-for-tmp.service +++ /dev/null @@ -1,33 +0,0 @@ -# -# By default, /tmp doesn't use tmpfs on SUSE distros. -# -# This service is either run automatically during the firstboot (i.e. -# only once) of the system. -# -# Or it can also be (manually) started during systemd update (%post) -# only and only if tmp.mount wasn't already installed by the admin in -# /usr/lib during %pre. In this case tmp.mount should also masked. -# -# In any cases this service will never mask tmp.mount if the service -# has been created by either the admin or fstab-generator. -# -[Unit] -Description=Mask tmp.mount by default on SUSE systems -DefaultDependencies=no -Conflicts=shutdown.target -After=systemd-remount-fs.service -Before=tmp.mount -ConditionPathIsReadWrite=/etc -ConditionPathExists=!/usr/lib/systemd/system/.disable-tmpfs-for-tmp~done - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/bin/sh -c ' \ - case "$(systemctl show -pFragmentPath tmp.mount)" in \ - FragmentPath=/usr/lib/systemd/system/tmp.mount) \ - systemctl mask --now tmp.mount ;; \ - FragmentPath=/usr/share/systemd/tmp.mount) \ - ln -sf /usr/lib/systemd/system/tmp.mount /etc/systemd/system/ ;; \ - esac' -ExecStartPost=/usr/bin/touch /usr/lib/systemd/system/.disable-tmpfs-for-tmp~done diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 75985aaa..bf54056e 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99fb2aa924449a90db2431507c82cb778a7563e22de08f1ac8e9e77c30c06fc3 -size 3353804 +oid sha256:3ebafff50a8ea2bce9ed34712b14947d8754fbdd4a1c085aa9dd285450e8dd2d +size 3354512 diff --git a/systemd-mini.changes b/systemd-mini.changes index 0fd8a7e7..4b3c533d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com + +- Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 + + db1d8eacd compat-rules: make path_id_compat build with meson + +- Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch + which is now part of the git repo (see above). + +------------------------------------------------------------------- +Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com + +- Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) + + The previous fix couldn't work on platforms using a RO + rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but + we still ship a copy in /var. + + Users who want to use tmpfs on /tmp are supposed to add a symlink in + /etc/ pointing to the copy shipped in /var. + + To support the update path we automatically create the symlink if + tmp.mount in use is located in /usr. + +------------------------------------------------------------------- +Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com + +- Don't build seccomp support in the mini package + +------------------------------------------------------------------- +Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com + +- Switch to Meson build system + + Some rearrangement in the file list was also needed. That was + probably due to the upgrade of rpm. + +------------------------------------------------------------------- +Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com + +- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 + + 2a181fc6f insserv-generator: make it build with meson + 7b0401da4 build-sys: don't build networkctl if networkd is disabled + +------------------------------------------------------------------- +Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com + +- Don't build-require selinux for the mini package + +------------------------------------------------------------------- +Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com + +- Drop libgcrypt.m4 + + The mini package builds fine without it so it doesn't seem necessary + anymore. + +------------------------------------------------------------------- +Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com + +- Import commit 846d838c37865da60eba48090e570e959291399f + + b1e0a348d fileio: include sys/mman.h + f1fa784cb meson: update header file to detect memfd_create() + 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) + 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" + + (the 3 first commits make systemd build against glibc 2.27) + +------------------------------------------------------------------- +Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com + +- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 + + 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" + 23ce1207a meson.build: make docdir configurable (#8068) + ------------------------------------------------------------------- Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 7b940175..003b565f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -69,6 +69,10 @@ BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +%endif %endif BuildRequires: fdupes BuildRequires: gperf @@ -76,8 +80,8 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: m4 +BuildRequires: meson >= 0.43 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -87,8 +91,6 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -98,9 +100,6 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif %if %{with gnuefi} BuildRequires: gnu-efi %endif @@ -144,11 +143,9 @@ Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf -Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy -Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -163,8 +160,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. -# Empty - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -410,62 +405,52 @@ Some systemd commands offer bash completion, but it is an optional dependency. %setup -q -n systemd-%{version} # %autopatch -p1 -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif - %build -./autogen.sh - # keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ +%meson \ + -Ddocdir=%{_docdir}/systemd \ + -Drootprefix=/usr \ + -Dsplit-usr=true \ + -Dpamlibdir=/%{_lib}/security \ + -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Ddefault-hierarchy=hybrid \ + -Ddefault-kill-user-processes=false \ + -Drc-local=/etc/init.d/boot.local \ + -Dhalt-local=/etc/init.d/halt.local \ + -Ddebug-shell=/bin/bash \ + -Dseccomp=auto \ + -Dselinux=auto \ + -Dapparmor=auto \ + -Dsmack=false \ + -Dima=false \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + -Dman=false \ + -Dhtml=false \ + -Dmyhostname=false \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-default-hierarchy=hybrid \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ - --disable-ldconfig \ - --disable-gshadow \ %if %{without networkd} - --disable-networkd \ -%endif -%if %{without machined} - --disable-machined \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + -Dnetworkd=false \ %endif %if %{without resolved} - --disable-resolved \ + -Dresolve=false \ %endif - --disable-kdbus +%if %{without machined} + -Dmachined=false \ +%endif +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Dldconfig=false -%make_build V=e +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete +%meson_install # move to %{_lib} %if ! 0%{?bootstrap} @@ -481,13 +466,12 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -514,10 +498,11 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Install the service which will disable/mask tmpfs for /tmp (if -# needed) on first boot. -install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service -ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ +# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs +# by default on SUSE distros. We still keep a copy in /var for those +# who want to switch to tmpfs: it's still can be copied in /etc. +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -529,10 +514,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -653,13 +634,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # so keep the section even if it's empty. %pre if [ $1 -gt 1 ] ; then - # Check if tmp.mount has been restored by either the admin or - # was added at package installation. In both cases do nothing - # and prevent the service to be executed during %post for the - # former case. - if test -e %{_unitdir}/tmp.mount; then - touch %{_unitdir}/.disable-tmpfs-for-tmp~done - fi + case "$(systemctl show -pFragmentPath tmp.mount)" in + FragmentPath=/usr/lib/systemd/system/tmp.mount) + ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : + esac fi %post @@ -734,13 +712,6 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - - # Should we mask tmpfs ? If tmp.mount was already installed in - # /usr/lib then this is a nop as sysadmin restored the unit - # most likely to use tmpfs (see %pre) otherwise mask the mount - # unit unless it's overriden by a tmp.mount unit installed - # either by sysadmin or fstab-generator. - systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun @@ -902,14 +873,16 @@ fi %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/systemd-udevd +%if %{with journal_remote} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload +%endif +%exclude %{_prefix}/lib/systemd/systemd-sysv* +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -963,11 +936,13 @@ fi %{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/sysusers.d/ -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf - %dir %{_sysconfdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/ + +%if %{with journal_remote} +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%endif %{_libexecdir}/environment.d/ @@ -981,12 +956,12 @@ fi %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%if %{with networkd} %dir %{_sysconfdir}/systemd/network +%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1001,27 +976,33 @@ fi %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services + +%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %if %{with machined} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %endif -# Some files created by us. +# Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1032,31 +1013,13 @@ fi %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%endif -%if %{with resolved} -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if %{with machined} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%endif -%if %{with importd} -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%endif - %{_datadir}/systemd %{_datadir}/factory -%exclude %{_datadir}/systemd/gatewayd -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%if %{with journal_remote} +%exclude %{_datadir}/systemd/gatewayd +%endif + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1206,7 +1169,9 @@ fi %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%if %{with networkd} %{_prefix}/lib/systemd/network/*.network +%endif %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} diff --git a/systemd.changes b/systemd.changes index 0fd8a7e7..4b3c533d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com + +- Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 + + db1d8eacd compat-rules: make path_id_compat build with meson + +- Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch + which is now part of the git repo (see above). + +------------------------------------------------------------------- +Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com + +- Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) + + The previous fix couldn't work on platforms using a RO + rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but + we still ship a copy in /var. + + Users who want to use tmpfs on /tmp are supposed to add a symlink in + /etc/ pointing to the copy shipped in /var. + + To support the update path we automatically create the symlink if + tmp.mount in use is located in /usr. + +------------------------------------------------------------------- +Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com + +- Don't build seccomp support in the mini package + +------------------------------------------------------------------- +Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com + +- Switch to Meson build system + + Some rearrangement in the file list was also needed. That was + probably due to the upgrade of rpm. + +------------------------------------------------------------------- +Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com + +- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 + + 2a181fc6f insserv-generator: make it build with meson + 7b0401da4 build-sys: don't build networkctl if networkd is disabled + +------------------------------------------------------------------- +Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com + +- Don't build-require selinux for the mini package + +------------------------------------------------------------------- +Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com + +- Drop libgcrypt.m4 + + The mini package builds fine without it so it doesn't seem necessary + anymore. + +------------------------------------------------------------------- +Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com + +- Import commit 846d838c37865da60eba48090e570e959291399f + + b1e0a348d fileio: include sys/mman.h + f1fa784cb meson: update header file to detect memfd_create() + 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) + 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" + + (the 3 first commits make systemd build against glibc 2.27) + +------------------------------------------------------------------- +Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com + +- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 + + 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" + 23ce1207a meson.build: make docdir configurable (#8068) + ------------------------------------------------------------------- Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 80b8c033..351d9636 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,6 +67,10 @@ BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +%endif %endif BuildRequires: fdupes BuildRequires: gperf @@ -74,8 +78,8 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: libsepol-devel -BuildRequires: libtool +BuildRequires: m4 +BuildRequires: meson >= 0.43 BuildRequires: pam-devel # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. @@ -85,8 +89,6 @@ BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libsepol) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -96,9 +98,6 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif %if %{with gnuefi} BuildRequires: gnu-efi %endif @@ -142,11 +141,9 @@ Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert Source6: baselibs.conf -Source7: libgcrypt.m4 Source11: after-local.service Source12: systemd-sysv-install Source14: kbd-model-map.legacy -Source15: suse-disable-tmpfs-for-tmp.service Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh @@ -161,8 +158,6 @@ Source1065: udev-remount-tmpfs # patches are temporary and should be removed as soon as a fix is # merged by upstream. -# Empty - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -408,62 +403,52 @@ Some systemd commands offer bash completion, but it is an optional dependency. %setup -q -n systemd-%{version} # %autopatch -p1 -# only needed for bootstrap -%if 0%{?bootstrap} -cp %{SOURCE7} m4/ -%endif - %build -./autogen.sh - # keep split-usr until all packages have moved their systemd rules to /usr -%configure \ - --docdir=%{_docdir}/systemd \ - --with-pamlibdir=/%{_lib}/security \ - --with-dbuspolicydir=%{_sysconfdir}/dbus-1/system.d \ - --with-dbussessionservicedir=%{_datadir}/dbus-1/services \ - --with-dbussystemservicedir=%{_datadir}/dbus-1/system-services \ - --with-certificate-root=%{_sysconfdir}/pki/systemd \ +%meson \ + -Ddocdir=%{_docdir}/systemd \ + -Drootprefix=/usr \ + -Dsplit-usr=true \ + -Dpamlibdir=/%{_lib}/security \ + -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Ddefault-hierarchy=hybrid \ + -Ddefault-kill-user-processes=false \ + -Drc-local=/etc/init.d/boot.local \ + -Dhalt-local=/etc/init.d/halt.local \ + -Ddebug-shell=/bin/bash \ + -Dseccomp=auto \ + -Dselinux=auto \ + -Dapparmor=auto \ + -Dsmack=false \ + -Dima=false \ %if 0%{?bootstrap} - --disable-myhostname \ - --disable-manpages \ + -Dman=false \ + -Dhtml=false \ + -Dmyhostname=false \ %endif - --enable-selinux \ - --enable-split-usr \ - --disable-static \ - --disable-lto \ - --disable-tests \ - --without-kill-user-processes \ - --with-default-hierarchy=hybrid \ - --with-rc-local-script-path-start=/etc/init.d/boot.local \ - --with-rc-local-script-path-stop=/etc/init.d/halt.local \ - --with-debug-shell=/bin/bash \ - --disable-smack \ - --disable-ima \ - --disable-adm-group \ - --disable-wheel-group \ - --disable-ldconfig \ - --disable-gshadow \ %if %{without networkd} - --disable-networkd \ -%endif -%if %{without machined} - --disable-machined \ -%endif -%if %{without sysvcompat} - --with-sysvinit-path= \ - --with-sysvrcnd-path= \ + -Dnetworkd=false \ %endif %if %{without resolved} - --disable-resolved \ + -Dresolve=false \ %endif - --disable-kdbus +%if %{without machined} + -Dmachined=false \ +%endif +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Dldconfig=false -%make_build V=e +%meson_build %install -%make_install -find %{buildroot} -type f -name '*.la' -delete +%meson_install # move to %{_lib} %if ! 0%{?bootstrap} @@ -479,13 +464,12 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd -install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs - mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -512,10 +496,11 @@ rm -f %{buildroot}/etc/systemd/system/default.target # customized for openSUSE distros. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Install the service which will disable/mask tmpfs for /tmp (if -# needed) on first boot. -install -m0644 -D %{S:15} %{buildroot}/%{_prefix}/lib/systemd/system/suse-disable-tmpfs-for-tmp.service -ln -s ../suse-disable-tmpfs-for-tmp.service %{buildroot}/%{_prefix}/lib/systemd/system/sysinit.target.wants/ +# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs +# by default on SUSE distros. We still keep a copy in /var for those +# who want to switch to tmpfs: it's still can be copied in /etc. +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path @@ -527,10 +512,6 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf sg EOF -# Remove .so file for the shared library, it's not supposed to be -# used. -rm %{buildroot}%{_libexecdir}/systemd/libsystemd-shared.so - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf @@ -651,13 +632,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # so keep the section even if it's empty. %pre if [ $1 -gt 1 ] ; then - # Check if tmp.mount has been restored by either the admin or - # was added at package installation. In both cases do nothing - # and prevent the service to be executed during %post for the - # former case. - if test -e %{_unitdir}/tmp.mount; then - touch %{_unitdir}/.disable-tmpfs-for-tmp~done - fi + case "$(systemctl show -pFragmentPath tmp.mount)" in + FragmentPath=/usr/lib/systemd/system/tmp.mount) + ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : + esac fi %post @@ -732,13 +710,6 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - - # Should we mask tmpfs ? If tmp.mount was already installed in - # /usr/lib then this is a nop as sysadmin restored the unit - # most likely to use tmpfs (see %pre) otherwise mask the mount - # unit unless it's overriden by a tmp.mount unit installed - # either by sysadmin or fstab-generator. - systemctl start suse-disable-tmpfs-for-tmp.service || : fi %postun @@ -900,14 +871,16 @@ fi %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_prefix}/lib/systemd/systemd-sysv* -%exclude %{_prefix}/lib/systemd/systemd-udevd +%if %{with journal_remote} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%exclude %{_prefix}/lib/systemd/systemd-journal-remote +%exclude %{_prefix}/lib/systemd/systemd-journal-upload +%endif +%exclude %{_prefix}/lib/systemd/systemd-sysv* +%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service @@ -961,11 +934,13 @@ fi %{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/sysusers.d/ -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf - %dir %{_sysconfdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/ + +%if %{with journal_remote} +%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%endif %{_libexecdir}/environment.d/ @@ -979,12 +954,12 @@ fi %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user +%if %{with networkd} %dir %{_sysconfdir}/systemd/network +%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -999,27 +974,33 @@ fi %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf + +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services + +%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %if %{with machined} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif %if %{with importd} -%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %endif -# Some files created by us. +# Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1030,31 +1011,13 @@ fi %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target %ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target -%{_prefix}/lib/systemd/system/org.freedesktop.systemd1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.locale1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.login1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.hostname1.busname -%{_prefix}/lib/systemd/system/org.freedesktop.timedate1.busname -%if %{with networkd} -%{_prefix}/lib/systemd/system/org.freedesktop.network1.busname -%endif -%if %{with resolved} -%{_prefix}/lib/systemd/system/org.freedesktop.resolve1.busname -%endif -%if %{with machined} -%{_prefix}/lib/systemd/system/org.freedesktop.machine1.busname -%endif -%if %{with importd} -%{_prefix}/lib/systemd/system/org.freedesktop.import1.busname -%endif - %{_datadir}/systemd %{_datadir}/factory -%exclude %{_datadir}/systemd/gatewayd -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system-services +%if %{with journal_remote} +%exclude %{_datadir}/systemd/gatewayd +%endif + %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -1204,7 +1167,9 @@ fi %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%if %{with networkd} %{_prefix}/lib/systemd/network/*.network +%endif %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} From 63f198d0b6d7f32b4bafc5d834134e5b02ae06cb8101d13abb200624ba9a0d0a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 19 Feb 2018 12:48:14 +0000 Subject: [PATCH 354/991] Accepting request 577997 from home:fbui:systemd:Factory - Use %systemd_post in %post - Own /usr/lib/systemd/system-environment-generators directory - More systemd rpm macro usages - Disable systemd-firstboot I don't think there's any use case for it currently. - Use systemd rpm macros in paths defined in the specfile - Stop importing i18n settings from /etc/sysconfig (fate#319454) Bits taken from SLE15. - Make systemd-timesyncd use the openSUSE NTP servers by default Previously systemd-timesyncd used the Google Public NTP servers time{1..4}.google.com - Use %systemd_post in %post - Own /usr/lib/systemd/system-environment-generators directory - More systemd rpm macro usages - Disable systemd-firstboot I don't think there's any use case for it currently. - Use systemd rpm macros in paths defined in the specfile - Stop importing i18n settings from /etc/sysconfig (fate#319454) OBS-URL: https://build.opensuse.org/request/show/577997 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1012 --- scripts-systemd-migrate-sysconfig-i18n.sh | 135 +++++++++++++ systemd-mini.changes | 42 +++++ systemd-mini.spec | 219 ++++++++++++---------- systemd.changes | 42 +++++ systemd.spec | 219 ++++++++++++---------- 5 files changed, 449 insertions(+), 208 deletions(-) create mode 100644 scripts-systemd-migrate-sysconfig-i18n.sh diff --git a/scripts-systemd-migrate-sysconfig-i18n.sh b/scripts-systemd-migrate-sysconfig-i18n.sh new file mode 100644 index 00000000..02646759 --- /dev/null +++ b/scripts-systemd-migrate-sysconfig-i18n.sh @@ -0,0 +1,135 @@ +#! /bin/bash + +# /etc/sysconfig/console | /etc/vconsole.conf +# -------------------------+--------------------- +# CONSOLE_FONT | FONT +# CONSOLE_SCREENMAP | FONT_MAP +# CONSOLE_UNICODEMAP | FONT_UNIMAP +migrate_locale () { + local migrated="" + + if ! test -f /etc/sysconfig/console; then + return + fi + source /etc/sysconfig/console || return + + if test -f /etc/vconsole.conf; then + source /etc/vconsole.conf || return + fi + + if test -n "$CONSOLE_FONT" && test -z "$FONT"; then + echo "FONT=$CONSOLE_FONT" >>/etc/vconsole.conf + migrated+="CONSOLE_FONT " + fi + if test -n "$CONSOLE_SCREENMAP" && test -z "$FONT_MAP"; then + echo "FONT_MAP=$CONSOLE_SCREENMAP" >>/etc/vconsole.conf + migrated+="CONSOLE_SCREENMAP " + fi + if test -n "$CONSOLE_UNICODEMAP" && test -z "$FONT_UNIMAP"; then + echo "FONT_UNIMAP=$CONSOLE_UNICODEMAP" >>/etc/vconsole.conf + migrated+="CONSOLE_UNICODEMAP " + fi + + if test -n "$migrated"; then + echo >&2 "The following variables from /etc/sysconfig/console have been migrated" + echo >&2 "into /etc/vconsole.conf:" + echo >&2 + for v in $migrated; do echo " - $v=${!v}"; done + echo >&2 + echo >&2 "Please edit /etc/vconsole.conf if you need to tune these settings" + echo >&2 "as /etc/sysconfig/console won't be considered anymore." + echo >&2 + fi +} + +# /etc/sysconfig/keyboard | /etc/vconsole.conf +# -------------------------+--------------------- +# KEYTABLE | KEYMAP +migrate_keyboard () { + local migrated="" + + if ! test -f /etc/sysconfig/keyboard; then + return + fi + source /etc/sysconfig/keyboard || return + + if test -f /etc/vconsole.conf; then + source /etc/vconsole.conf || return + fi + + if test -n "$KEYTABLE" && test -z "$KEYMAP"; then + echo "KEYMAP=$KEYTABLE" >>/etc/vconsole.conf + migrated+="KEYTABLE " + fi + + if test -n "$migrated"; then + echo >&2 "The following variables from /etc/sysconfig/keyboard have been migrated" + echo >&2 "into /etc/vconsole.conf:" + echo >&2 + for v in $migrated; do echo " - $v=${!v}"; done + echo >&2 + echo >&2 "Please use localectl(1) if you need to tune these settings since" + echo >&2 "/etc/sysconfig/keyboard won't be considered anymore." + echo >&2 + fi +} + +# According to +# https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_suse_l10n.html, +# variables in /etc/sysconfig/language are supposed to be passed to +# the users' shell *only*. However it seems that there has been some +# confusion and they ended up configuring the system-wide locale as +# well. The logic followed by systemd was implemented in commit +# 01c4b6f4f0d951d17f6873f68156ecd7763429c6, which was reverted. The +# code below follows the same logic to migrate content of +# /etc/sysconfig/language into locale.conf. +migrate_language () { + local lang= + local migrated=false + + if ! test -f /etc/sysconfig/language; then + return + fi + source /etc/sysconfig/language || return + + lang=$(grep ^LANG= /etc/locale.conf 2>/dev/null) + lang=${lang#LANG=} + + case "$ROOT_USES_LANG" in + yes) + if test -z "$lang" && test -n "$RC_LANG"; then + echo "LANG=$RC_LANG" >>/etc/locale.conf + migrated=true + fi + ;; + ctype) + if ! grep -q ^LC_CTYPE= /etc/locale.conf 2>/dev/null; then + + : ${lc_ctype:="$lang"} + : ${lc_ctype:="$RC_LC_CTYPE"} + : ${lc_ctype:="$RC_LANG"} + + if test -n "$lc_ctype"; then + echo "LC_CTYPE=$lc_ctype" >>/etc/locale.conf + migrated=true + fi + fi + ;; + esac + + if $migrated; then + echo >&2 "The content of /etc/sysconfig/language has been migrated into" + echo >&2 "/etc/locale.conf. The former file is now only used for setting" + echo >&2 "the locale used by user's shells. The system-wide locale is" + echo >&2 "only read from /etc/locale.conf since now." + echo >&2 + echo >&2 "Please only use localectl(1) or YaST if you need to change the" + echo >&2 "settings of the *system-wide* locale from now." + fi +} + +migrate_locale; rv1=$? +migrate_keyboard; rv2=$? +migrate_language; rv3=$? + +test $((rv1 + rv2 + rv3)) -eq 0 diff --git a/systemd-mini.changes b/systemd-mini.changes index 4b3c533d..743208c5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com + +- Use %systemd_post in %post + +------------------------------------------------------------------- +Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com + +- Own /usr/lib/systemd/system-environment-generators directory + +------------------------------------------------------------------- +Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com + +- More systemd rpm macro usages + +------------------------------------------------------------------- +Tue Feb 13 17:11:44 UTC 2018 - fbui@suse.com + +- Disable systemd-firstboot + + I don't think there's any use case for it currently. + +------------------------------------------------------------------- +Mon Feb 12 16:40:28 UTC 2018 - fbui@suse.com + +- Use systemd rpm macros in paths defined in the specfile + +------------------------------------------------------------------- +Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com + +- Stop importing i18n settings from /etc/sysconfig (fate#319454) + + Bits taken from SLE15. + +------------------------------------------------------------------- +Mon Feb 12 12:59:53 UTC 2018 - fbui@suse.com + +- Make systemd-timesyncd use the openSUSE NTP servers by default + + Previously systemd-timesyncd used the Google Public NTP servers + time{1..4}.google.com + ------------------------------------------------------------------- Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 003b565f..5e59d1a7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -149,6 +149,7 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh +Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs @@ -258,7 +259,7 @@ Requires: this-is-only-for-build-envs %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching +and dispatches them according to rules in %{_udevrulesdir}/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. @@ -406,6 +407,8 @@ Some systemd commands offer bash completion, but it is an optional dependency. # %autopatch -p1 %build +opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) + # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Ddocdir=%{_docdir}/systemd \ @@ -416,9 +419,11 @@ Some systemd commands offer bash completion, but it is an optional dependency. -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ + -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dfirstboot=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -476,7 +481,7 @@ install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101}; do +for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done for s in %{S:200}; do @@ -501,11 +506,11 @@ install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # by default on SUSE distros. We still keep a copy in /var for those # who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path +rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path # create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d @@ -516,11 +521,11 @@ EOF # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-default.conf # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). -rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf +rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. @@ -531,7 +536,7 @@ rm -f %{buildroot}/etc/init.d/README %if ! %{with journal_remote} rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* +rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif # legacy link @@ -554,31 +559,33 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ +mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants +mkdir -p %{buildroot}%{_unitdir}/basic.target.wants +mkdir -p %{buildroot}%{_unitdir}/default.target.wants +mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants +mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants +mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset +mkdir -p %{buildroot}%{_systemdgeneratordir} +mkdir -p %{buildroot}%{_systemdusergeneratordir} +mkdir -p %{buildroot}%{_presetdir} +mkdir -p %{buildroot}%{_userpresetdir} +mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} +mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -586,15 +593,15 @@ EOF # create drop-in to prevent delegate=yes for root user (bsc#954765, # bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ -cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset +rm -f %{buildroot}%{_presetdir}/*.preset +echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored @@ -652,7 +659,7 @@ if [ $1 -eq 1 ]; then chmod 666 %{_sysconfdir}/machine-id fi -%sysusers_create /usr/lib/sysusers.d/systemd.conf +%sysusers_create %{_sysusersdir}/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif @@ -664,21 +671,16 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-timesyncd.service || : +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-timesyncd.service %if %{with networkd} - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} - systemctl preset systemd-resolved.service || : +%systemd_post systemd-resolved.service %endif -fi >/dev/null # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -712,6 +714,15 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Migrate i18n setting stuff thout could be previously + # configured in /etc/sysconfig but now is defined only in the + # systemd official places (/etc/locale.conf, + # /etc/vconsole.conf, etc...). This is done only once. + test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : + } fi %postun @@ -800,8 +811,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf -%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%sysusers_create %{_sysusersdir}/systemd-remote.conf +%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -840,7 +851,6 @@ fi %{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount @@ -874,29 +884,29 @@ fi %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %if %{with journal_remote} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_unitdir}/systemd-journal-gatewayd.* +%exclude %{_unitdir}/systemd-journal-remote.* +%exclude %{_unitdir}/systemd-journal-upload.* %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service +%exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/*.automount +%{_unitdir}/*.service +%{_unitdir}/*.slice +%{_unitdir}/*.target +%{_unitdir}/*.mount +%{_unitdir}/*.timer +%{_unitdir}/*.socket +%{_unitdir}/*.wants +%{_unitdir}/*.path +%{_userunitdir}/*.target +%{_userunitdir}/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -904,21 +914,22 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%{_prefix}/lib/systemd/system-preset -%{_prefix}/lib/systemd/user-preset -%{_prefix}/lib/systemd/system-generators -%{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-environment-generators -%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_journalcatalogdir} +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.*.catalog +%{_presetdir} +%{_userpresetdir} +%{_systemdgeneratordir} +%{_systemdusergeneratordir} +%{_systemd_system_env_generator_dir} +%{_systemd_user_env_generator_dir} +%dir %{_ntpunitsdir} %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%dir %{_prefix}/lib/systemd/system/user@0.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%dir %{_unitdir}/getty@tty1.service.d +%dir %{_unitdir}/user@0.service.d +%{_unitdir}/getty@tty1.service.d/noclear.conf +%{_unitdir}/user@0.service.d/nodelagate.conf %if %{with importd} %{_prefix}/lib/systemd/import-pubring.gpg %endif @@ -935,23 +946,23 @@ fi %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%{_libexecdir}/sysusers.d/ +%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/ +%{_tmpfilesdir}/ %if %{with journal_remote} -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf -%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%exclude %{_sysusersdir}/systemd-remote.conf +%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ -%dir %{_libexecdir}/binfmt.d +%dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d -%dir %{_libexecdir}/sysctl.d +%dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf +%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1073,10 +1084,10 @@ fi %endif %{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated @@ -1138,13 +1149,13 @@ fi %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs %ghost %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ +%dir %{_udevrulesdir}/ +%exclude %{_udevrulesdir}/70-uaccess.rules +%exclude %{_udevrulesdir}/71-seat.rules +%exclude %{_udevrulesdir}/73-seat-late.rules +%exclude %{_udevrulesdir}/99-systemd.rules +%{_udevrulesdir}/*.rules +%{_udevhwdbdir}/ %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ @@ -1160,13 +1171,13 @@ fi %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/systemd-udev*.service +%{_unitdir}/systemd-udevd*.socket +%{_unitdir}/initrd-udevadm-cleanup-db.service +%dir %{_unitdir}/sysinit.target.wants +%{_unitdir}/sysinit.target.wants/systemd-udev*.service +%dir %{_unitdir}/sockets.target.wants +%{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %if %{with networkd} @@ -1231,14 +1242,14 @@ fi %defattr(-, root, root) %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/system/systemd-journal-remote.* -%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_unitdir}/systemd-journal-gatewayd.* +%{_unitdir}/systemd-journal-remote.* +%{_unitdir}/systemd-journal-upload.* %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload -%{_libexecdir}/sysusers.d/systemd-remote.conf -%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_sysusersdir}/systemd-remote.conf +%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* diff --git a/systemd.changes b/systemd.changes index 4b3c533d..743208c5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com + +- Use %systemd_post in %post + +------------------------------------------------------------------- +Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com + +- Own /usr/lib/systemd/system-environment-generators directory + +------------------------------------------------------------------- +Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com + +- More systemd rpm macro usages + +------------------------------------------------------------------- +Tue Feb 13 17:11:44 UTC 2018 - fbui@suse.com + +- Disable systemd-firstboot + + I don't think there's any use case for it currently. + +------------------------------------------------------------------- +Mon Feb 12 16:40:28 UTC 2018 - fbui@suse.com + +- Use systemd rpm macros in paths defined in the specfile + +------------------------------------------------------------------- +Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com + +- Stop importing i18n settings from /etc/sysconfig (fate#319454) + + Bits taken from SLE15. + +------------------------------------------------------------------- +Mon Feb 12 12:59:53 UTC 2018 - fbui@suse.com + +- Make systemd-timesyncd use the openSUSE NTP servers by default + + Previously systemd-timesyncd used the Google Public NTP servers + time{1..4}.google.com + ------------------------------------------------------------------- Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 351d9636..a68ba4a2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -147,6 +147,7 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh +Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs @@ -256,7 +257,7 @@ Requires: this-is-only-for-build-envs %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching +and dispatches them according to rules in %{_udevrulesdir}/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. @@ -404,6 +405,8 @@ Some systemd commands offer bash completion, but it is an optional dependency. # %autopatch -p1 %build +opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) + # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Ddocdir=%{_docdir}/systemd \ @@ -414,9 +417,11 @@ Some systemd commands offer bash completion, but it is an optional dependency. -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ + -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dfirstboot=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -474,7 +479,7 @@ install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101}; do +for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done for s in %{S:200}; do @@ -499,11 +504,11 @@ install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # by default on SUSE distros. We still keep a copy in /var for those # who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path +rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path # create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d @@ -514,11 +519,11 @@ EOF # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-default.conf # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). -rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf +rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. @@ -529,7 +534,7 @@ rm -f %{buildroot}/etc/init.d/README %if ! %{with journal_remote} rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* +rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif # legacy link @@ -552,31 +557,33 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ +mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants +mkdir -p %{buildroot}%{_unitdir}/basic.target.wants +mkdir -p %{buildroot}%{_unitdir}/default.target.wants +mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants +mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants +mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset +mkdir -p %{buildroot}%{_systemdgeneratordir} +mkdir -p %{buildroot}%{_systemdusergeneratordir} +mkdir -p %{buildroot}%{_presetdir} +mkdir -p %{buildroot}%{_userpresetdir} +mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} +mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -584,15 +591,15 @@ EOF # create drop-in to prevent delegate=yes for root user (bsc#954765, # bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ -cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset +rm -f %{buildroot}%{_presetdir}/*.preset +echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored @@ -650,7 +657,7 @@ if [ $1 -eq 1 ]; then chmod 666 %{_sysconfdir}/machine-id fi -%sysusers_create /usr/lib/sysusers.d/systemd.conf +%sysusers_create %{_sysusersdir}/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif @@ -662,21 +669,16 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-timesyncd.service || : +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-timesyncd.service %if %{with networkd} - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} - systemctl preset systemd-resolved.service || : +%systemd_post systemd-resolved.service %endif -fi >/dev/null # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -710,6 +712,15 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Migrate i18n setting stuff thout could be previously + # configured in /etc/sysconfig but now is defined only in the + # systemd official places (/etc/locale.conf, + # /etc/vconsole.conf, etc...). This is done only once. + test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : + } fi %postun @@ -798,8 +809,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf -%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%sysusers_create %{_sysusersdir}/systemd-remote.conf +%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -838,7 +849,6 @@ fi %{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount @@ -872,29 +882,29 @@ fi %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %if %{with journal_remote} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_unitdir}/systemd-journal-gatewayd.* +%exclude %{_unitdir}/systemd-journal-remote.* +%exclude %{_unitdir}/systemd-journal-upload.* %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service +%exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/*.automount +%{_unitdir}/*.service +%{_unitdir}/*.slice +%{_unitdir}/*.target +%{_unitdir}/*.mount +%{_unitdir}/*.timer +%{_unitdir}/*.socket +%{_unitdir}/*.wants +%{_unitdir}/*.path +%{_userunitdir}/*.target +%{_userunitdir}/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -902,21 +912,22 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%{_prefix}/lib/systemd/system-preset -%{_prefix}/lib/systemd/user-preset -%{_prefix}/lib/systemd/system-generators -%{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-environment-generators -%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_journalcatalogdir} +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.*.catalog +%{_presetdir} +%{_userpresetdir} +%{_systemdgeneratordir} +%{_systemdusergeneratordir} +%{_systemd_system_env_generator_dir} +%{_systemd_user_env_generator_dir} +%dir %{_ntpunitsdir} %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%dir %{_prefix}/lib/systemd/system/user@0.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%dir %{_unitdir}/getty@tty1.service.d +%dir %{_unitdir}/user@0.service.d +%{_unitdir}/getty@tty1.service.d/noclear.conf +%{_unitdir}/user@0.service.d/nodelagate.conf %if %{with importd} %{_prefix}/lib/systemd/import-pubring.gpg %endif @@ -933,23 +944,23 @@ fi %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%{_libexecdir}/sysusers.d/ +%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/ +%{_tmpfilesdir}/ %if %{with journal_remote} -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf -%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%exclude %{_sysusersdir}/systemd-remote.conf +%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ -%dir %{_libexecdir}/binfmt.d +%dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d -%dir %{_libexecdir}/sysctl.d +%dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf +%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1071,10 +1082,10 @@ fi %endif %{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated @@ -1136,13 +1147,13 @@ fi %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs %ghost %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ +%dir %{_udevrulesdir}/ +%exclude %{_udevrulesdir}/70-uaccess.rules +%exclude %{_udevrulesdir}/71-seat.rules +%exclude %{_udevrulesdir}/73-seat-late.rules +%exclude %{_udevrulesdir}/99-systemd.rules +%{_udevrulesdir}/*.rules +%{_udevhwdbdir}/ %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ @@ -1158,13 +1169,13 @@ fi %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/systemd-udev*.service +%{_unitdir}/systemd-udevd*.socket +%{_unitdir}/initrd-udevadm-cleanup-db.service +%dir %{_unitdir}/sysinit.target.wants +%{_unitdir}/sysinit.target.wants/systemd-udev*.service +%dir %{_unitdir}/sockets.target.wants +%{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %if %{with networkd} @@ -1229,14 +1240,14 @@ fi %defattr(-, root, root) %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/system/systemd-journal-remote.* -%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_unitdir}/systemd-journal-gatewayd.* +%{_unitdir}/systemd-journal-remote.* +%{_unitdir}/systemd-journal-upload.* %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload -%{_libexecdir}/sysusers.d/systemd-remote.conf -%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_sysusersdir}/systemd-remote.conf +%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* From 926a234c77dd529e27ab75650a874bee585c1421851f20678514d077a589e4f7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 19 Feb 2018 14:47:09 +0000 Subject: [PATCH 355/991] Accepting request 578063 from home:fbui:systemd:Factory - Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules 2901aa9b9 meson: install rules/60-ssd-scheduler.rules 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" 0b595da04 Revert "locale-setup: handle locale at boot time well" - Re-enable systemd-firstboot It's used by the installer and also by JeOS. OBS-URL: https://build.opensuse.org/request/show/578063 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1013 --- systemd-234.tar.xz | 4 ++-- systemd-mini.changes | 18 ++++++++++++++++++ systemd-mini.spec | 2 +- systemd.changes | 18 ++++++++++++++++++ systemd.spec | 2 +- 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index bf54056e..c0fdec25 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ebafff50a8ea2bce9ed34712b14947d8754fbdd4a1c085aa9dd285450e8dd2d -size 3354512 +oid sha256:49daec1195deaa22bd490d70f78aafb7bdc0058ca236125e3c39127688c6db94 +size 3353696 diff --git a/systemd-mini.changes b/systemd-mini.changes index 743208c5..fa988b4c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com + +- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 + + f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules + 2901aa9b9 meson: install rules/60-ssd-scheduler.rules + 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) + 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" + 0b595da04 Revert "locale-setup: handle locale at boot time well" + +------------------------------------------------------------------- +Mon Feb 19 14:24:52 UTC 2018 - fbui@suse.com + +- Re-enable systemd-firstboot + + It's used by the installer and also by JeOS. + ------------------------------------------------------------------- Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5e59d1a7..cea9627c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -423,7 +423,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ - -Dfirstboot=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -851,6 +850,7 @@ fi %{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount diff --git a/systemd.changes b/systemd.changes index 743208c5..fa988b4c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com + +- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 + + f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules + 2901aa9b9 meson: install rules/60-ssd-scheduler.rules + 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) + 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" + 0b595da04 Revert "locale-setup: handle locale at boot time well" + +------------------------------------------------------------------- +Mon Feb 19 14:24:52 UTC 2018 - fbui@suse.com + +- Re-enable systemd-firstboot + + It's used by the installer and also by JeOS. + ------------------------------------------------------------------- Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index a68ba4a2..3d9cb358 100644 --- a/systemd.spec +++ b/systemd.spec @@ -421,7 +421,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ - -Dfirstboot=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -849,6 +848,7 @@ fi %{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount From 0ad8c93c3cacd4d71f9a6f09f3452a1b28065b4e77c0e50b59eda230b91e1e64 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 21 Feb 2018 13:08:53 +0000 Subject: [PATCH 356/991] Accepting request 578064 from Base:System OBS-URL: https://build.opensuse.org/request/show/578064 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=272 --- scripts-systemd-migrate-sysconfig-i18n.sh | 135 ++++++++++++++ systemd-234.tar.xz | 4 +- systemd-mini.changes | 60 ++++++ systemd-mini.spec | 217 ++++++++++++---------- systemd.changes | 60 ++++++ systemd.spec | 217 ++++++++++++---------- 6 files changed, 485 insertions(+), 208 deletions(-) create mode 100644 scripts-systemd-migrate-sysconfig-i18n.sh diff --git a/scripts-systemd-migrate-sysconfig-i18n.sh b/scripts-systemd-migrate-sysconfig-i18n.sh new file mode 100644 index 00000000..02646759 --- /dev/null +++ b/scripts-systemd-migrate-sysconfig-i18n.sh @@ -0,0 +1,135 @@ +#! /bin/bash + +# /etc/sysconfig/console | /etc/vconsole.conf +# -------------------------+--------------------- +# CONSOLE_FONT | FONT +# CONSOLE_SCREENMAP | FONT_MAP +# CONSOLE_UNICODEMAP | FONT_UNIMAP +migrate_locale () { + local migrated="" + + if ! test -f /etc/sysconfig/console; then + return + fi + source /etc/sysconfig/console || return + + if test -f /etc/vconsole.conf; then + source /etc/vconsole.conf || return + fi + + if test -n "$CONSOLE_FONT" && test -z "$FONT"; then + echo "FONT=$CONSOLE_FONT" >>/etc/vconsole.conf + migrated+="CONSOLE_FONT " + fi + if test -n "$CONSOLE_SCREENMAP" && test -z "$FONT_MAP"; then + echo "FONT_MAP=$CONSOLE_SCREENMAP" >>/etc/vconsole.conf + migrated+="CONSOLE_SCREENMAP " + fi + if test -n "$CONSOLE_UNICODEMAP" && test -z "$FONT_UNIMAP"; then + echo "FONT_UNIMAP=$CONSOLE_UNICODEMAP" >>/etc/vconsole.conf + migrated+="CONSOLE_UNICODEMAP " + fi + + if test -n "$migrated"; then + echo >&2 "The following variables from /etc/sysconfig/console have been migrated" + echo >&2 "into /etc/vconsole.conf:" + echo >&2 + for v in $migrated; do echo " - $v=${!v}"; done + echo >&2 + echo >&2 "Please edit /etc/vconsole.conf if you need to tune these settings" + echo >&2 "as /etc/sysconfig/console won't be considered anymore." + echo >&2 + fi +} + +# /etc/sysconfig/keyboard | /etc/vconsole.conf +# -------------------------+--------------------- +# KEYTABLE | KEYMAP +migrate_keyboard () { + local migrated="" + + if ! test -f /etc/sysconfig/keyboard; then + return + fi + source /etc/sysconfig/keyboard || return + + if test -f /etc/vconsole.conf; then + source /etc/vconsole.conf || return + fi + + if test -n "$KEYTABLE" && test -z "$KEYMAP"; then + echo "KEYMAP=$KEYTABLE" >>/etc/vconsole.conf + migrated+="KEYTABLE " + fi + + if test -n "$migrated"; then + echo >&2 "The following variables from /etc/sysconfig/keyboard have been migrated" + echo >&2 "into /etc/vconsole.conf:" + echo >&2 + for v in $migrated; do echo " - $v=${!v}"; done + echo >&2 + echo >&2 "Please use localectl(1) if you need to tune these settings since" + echo >&2 "/etc/sysconfig/keyboard won't be considered anymore." + echo >&2 + fi +} + +# According to +# https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_suse_l10n.html, +# variables in /etc/sysconfig/language are supposed to be passed to +# the users' shell *only*. However it seems that there has been some +# confusion and they ended up configuring the system-wide locale as +# well. The logic followed by systemd was implemented in commit +# 01c4b6f4f0d951d17f6873f68156ecd7763429c6, which was reverted. The +# code below follows the same logic to migrate content of +# /etc/sysconfig/language into locale.conf. +migrate_language () { + local lang= + local migrated=false + + if ! test -f /etc/sysconfig/language; then + return + fi + source /etc/sysconfig/language || return + + lang=$(grep ^LANG= /etc/locale.conf 2>/dev/null) + lang=${lang#LANG=} + + case "$ROOT_USES_LANG" in + yes) + if test -z "$lang" && test -n "$RC_LANG"; then + echo "LANG=$RC_LANG" >>/etc/locale.conf + migrated=true + fi + ;; + ctype) + if ! grep -q ^LC_CTYPE= /etc/locale.conf 2>/dev/null; then + + : ${lc_ctype:="$lang"} + : ${lc_ctype:="$RC_LC_CTYPE"} + : ${lc_ctype:="$RC_LANG"} + + if test -n "$lc_ctype"; then + echo "LC_CTYPE=$lc_ctype" >>/etc/locale.conf + migrated=true + fi + fi + ;; + esac + + if $migrated; then + echo >&2 "The content of /etc/sysconfig/language has been migrated into" + echo >&2 "/etc/locale.conf. The former file is now only used for setting" + echo >&2 "the locale used by user's shells. The system-wide locale is" + echo >&2 "only read from /etc/locale.conf since now." + echo >&2 + echo >&2 "Please only use localectl(1) or YaST if you need to change the" + echo >&2 "settings of the *system-wide* locale from now." + fi +} + +migrate_locale; rv1=$? +migrate_keyboard; rv2=$? +migrate_language; rv3=$? + +test $((rv1 + rv2 + rv3)) -eq 0 diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index bf54056e..c0fdec25 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ebafff50a8ea2bce9ed34712b14947d8754fbdd4a1c085aa9dd285450e8dd2d -size 3354512 +oid sha256:49daec1195deaa22bd490d70f78aafb7bdc0058ca236125e3c39127688c6db94 +size 3353696 diff --git a/systemd-mini.changes b/systemd-mini.changes index 4b3c533d..fa988b4c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,63 @@ +------------------------------------------------------------------- +Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com + +- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 + + f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules + 2901aa9b9 meson: install rules/60-ssd-scheduler.rules + 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) + 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" + 0b595da04 Revert "locale-setup: handle locale at boot time well" + +------------------------------------------------------------------- +Mon Feb 19 14:24:52 UTC 2018 - fbui@suse.com + +- Re-enable systemd-firstboot + + It's used by the installer and also by JeOS. + +------------------------------------------------------------------- +Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com + +- Use %systemd_post in %post + +------------------------------------------------------------------- +Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com + +- Own /usr/lib/systemd/system-environment-generators directory + +------------------------------------------------------------------- +Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com + +- More systemd rpm macro usages + +------------------------------------------------------------------- +Tue Feb 13 17:11:44 UTC 2018 - fbui@suse.com + +- Disable systemd-firstboot + + I don't think there's any use case for it currently. + +------------------------------------------------------------------- +Mon Feb 12 16:40:28 UTC 2018 - fbui@suse.com + +- Use systemd rpm macros in paths defined in the specfile + +------------------------------------------------------------------- +Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com + +- Stop importing i18n settings from /etc/sysconfig (fate#319454) + + Bits taken from SLE15. + +------------------------------------------------------------------- +Mon Feb 12 12:59:53 UTC 2018 - fbui@suse.com + +- Make systemd-timesyncd use the openSUSE NTP servers by default + + Previously systemd-timesyncd used the Google Public NTP servers + time{1..4}.google.com + ------------------------------------------------------------------- Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 003b565f..cea9627c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -149,6 +149,7 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh +Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs @@ -258,7 +259,7 @@ Requires: this-is-only-for-build-envs %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching +and dispatches them according to rules in %{_udevrulesdir}/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. @@ -406,6 +407,8 @@ Some systemd commands offer bash completion, but it is an optional dependency. # %autopatch -p1 %build +opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) + # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Ddocdir=%{_docdir}/systemd \ @@ -416,6 +419,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ + -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ @@ -476,7 +480,7 @@ install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101}; do +for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done for s in %{S:200}; do @@ -501,11 +505,11 @@ install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # by default on SUSE distros. We still keep a copy in /var for those # who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path +rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path # create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d @@ -516,11 +520,11 @@ EOF # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-default.conf # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). -rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf +rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. @@ -531,7 +535,7 @@ rm -f %{buildroot}/etc/init.d/README %if ! %{with journal_remote} rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* +rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif # legacy link @@ -554,31 +558,33 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ +mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants +mkdir -p %{buildroot}%{_unitdir}/basic.target.wants +mkdir -p %{buildroot}%{_unitdir}/default.target.wants +mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants +mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants +mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset +mkdir -p %{buildroot}%{_systemdgeneratordir} +mkdir -p %{buildroot}%{_systemdusergeneratordir} +mkdir -p %{buildroot}%{_presetdir} +mkdir -p %{buildroot}%{_userpresetdir} +mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} +mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -586,15 +592,15 @@ EOF # create drop-in to prevent delegate=yes for root user (bsc#954765, # bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ -cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset +rm -f %{buildroot}%{_presetdir}/*.preset +echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored @@ -652,7 +658,7 @@ if [ $1 -eq 1 ]; then chmod 666 %{_sysconfdir}/machine-id fi -%sysusers_create /usr/lib/sysusers.d/systemd.conf +%sysusers_create %{_sysusersdir}/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif @@ -664,21 +670,16 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-timesyncd.service || : +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-timesyncd.service %if %{with networkd} - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} - systemctl preset systemd-resolved.service || : +%systemd_post systemd-resolved.service %endif -fi >/dev/null # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -712,6 +713,15 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Migrate i18n setting stuff thout could be previously + # configured in /etc/sysconfig but now is defined only in the + # systemd official places (/etc/locale.conf, + # /etc/vconsole.conf, etc...). This is done only once. + test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : + } fi %postun @@ -800,8 +810,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf -%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%sysusers_create %{_sysusersdir}/systemd-remote.conf +%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -874,29 +884,29 @@ fi %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %if %{with journal_remote} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_unitdir}/systemd-journal-gatewayd.* +%exclude %{_unitdir}/systemd-journal-remote.* +%exclude %{_unitdir}/systemd-journal-upload.* %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service +%exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/*.automount +%{_unitdir}/*.service +%{_unitdir}/*.slice +%{_unitdir}/*.target +%{_unitdir}/*.mount +%{_unitdir}/*.timer +%{_unitdir}/*.socket +%{_unitdir}/*.wants +%{_unitdir}/*.path +%{_userunitdir}/*.target +%{_userunitdir}/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -904,21 +914,22 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%{_prefix}/lib/systemd/system-preset -%{_prefix}/lib/systemd/user-preset -%{_prefix}/lib/systemd/system-generators -%{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-environment-generators -%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_journalcatalogdir} +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.*.catalog +%{_presetdir} +%{_userpresetdir} +%{_systemdgeneratordir} +%{_systemdusergeneratordir} +%{_systemd_system_env_generator_dir} +%{_systemd_user_env_generator_dir} +%dir %{_ntpunitsdir} %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%dir %{_prefix}/lib/systemd/system/user@0.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%dir %{_unitdir}/getty@tty1.service.d +%dir %{_unitdir}/user@0.service.d +%{_unitdir}/getty@tty1.service.d/noclear.conf +%{_unitdir}/user@0.service.d/nodelagate.conf %if %{with importd} %{_prefix}/lib/systemd/import-pubring.gpg %endif @@ -935,23 +946,23 @@ fi %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%{_libexecdir}/sysusers.d/ +%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/ +%{_tmpfilesdir}/ %if %{with journal_remote} -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf -%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%exclude %{_sysusersdir}/systemd-remote.conf +%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ -%dir %{_libexecdir}/binfmt.d +%dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d -%dir %{_libexecdir}/sysctl.d +%dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf +%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1073,10 +1084,10 @@ fi %endif %{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated @@ -1138,13 +1149,13 @@ fi %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs %ghost %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ +%dir %{_udevrulesdir}/ +%exclude %{_udevrulesdir}/70-uaccess.rules +%exclude %{_udevrulesdir}/71-seat.rules +%exclude %{_udevrulesdir}/73-seat-late.rules +%exclude %{_udevrulesdir}/99-systemd.rules +%{_udevrulesdir}/*.rules +%{_udevhwdbdir}/ %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ @@ -1160,13 +1171,13 @@ fi %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/systemd-udev*.service +%{_unitdir}/systemd-udevd*.socket +%{_unitdir}/initrd-udevadm-cleanup-db.service +%dir %{_unitdir}/sysinit.target.wants +%{_unitdir}/sysinit.target.wants/systemd-udev*.service +%dir %{_unitdir}/sockets.target.wants +%{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %if %{with networkd} @@ -1231,14 +1242,14 @@ fi %defattr(-, root, root) %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/system/systemd-journal-remote.* -%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_unitdir}/systemd-journal-gatewayd.* +%{_unitdir}/systemd-journal-remote.* +%{_unitdir}/systemd-journal-upload.* %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload -%{_libexecdir}/sysusers.d/systemd-remote.conf -%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_sysusersdir}/systemd-remote.conf +%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* diff --git a/systemd.changes b/systemd.changes index 4b3c533d..fa988b4c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,63 @@ +------------------------------------------------------------------- +Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com + +- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 + + f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules + 2901aa9b9 meson: install rules/60-ssd-scheduler.rules + 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) + 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" + 0b595da04 Revert "locale-setup: handle locale at boot time well" + +------------------------------------------------------------------- +Mon Feb 19 14:24:52 UTC 2018 - fbui@suse.com + +- Re-enable systemd-firstboot + + It's used by the installer and also by JeOS. + +------------------------------------------------------------------- +Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com + +- Use %systemd_post in %post + +------------------------------------------------------------------- +Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com + +- Own /usr/lib/systemd/system-environment-generators directory + +------------------------------------------------------------------- +Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com + +- More systemd rpm macro usages + +------------------------------------------------------------------- +Tue Feb 13 17:11:44 UTC 2018 - fbui@suse.com + +- Disable systemd-firstboot + + I don't think there's any use case for it currently. + +------------------------------------------------------------------- +Mon Feb 12 16:40:28 UTC 2018 - fbui@suse.com + +- Use systemd rpm macros in paths defined in the specfile + +------------------------------------------------------------------- +Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com + +- Stop importing i18n settings from /etc/sysconfig (fate#319454) + + Bits taken from SLE15. + +------------------------------------------------------------------- +Mon Feb 12 12:59:53 UTC 2018 - fbui@suse.com + +- Make systemd-timesyncd use the openSUSE NTP servers by default + + Previously systemd-timesyncd used the Google Public NTP servers + time{1..4}.google.com + ------------------------------------------------------------------- Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 351d9636..3d9cb358 100644 --- a/systemd.spec +++ b/systemd.spec @@ -147,6 +147,7 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh +Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs @@ -256,7 +257,7 @@ Requires: this-is-only-for-build-envs %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching +and dispatches them according to rules in %{_udevrulesdir}/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. @@ -404,6 +405,8 @@ Some systemd commands offer bash completion, but it is an optional dependency. # %autopatch -p1 %build +opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) + # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Ddocdir=%{_docdir}/systemd \ @@ -414,6 +417,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ + -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ @@ -474,7 +478,7 @@ install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101}; do +for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done for s in %{S:200}; do @@ -499,11 +503,11 @@ install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # by default on SUSE distros. We still keep a copy in /var for those # who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path +rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path # create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d @@ -514,11 +518,11 @@ EOF # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-default.conf # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). -rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf +rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. @@ -529,7 +533,7 @@ rm -f %{buildroot}/etc/init.d/README %if ! %{with journal_remote} rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* +rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif # legacy link @@ -552,31 +556,33 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ +mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants +mkdir -p %{buildroot}%{_unitdir}/basic.target.wants +mkdir -p %{buildroot}%{_unitdir}/default.target.wants +mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants +mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants +mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset +mkdir -p %{buildroot}%{_systemdgeneratordir} +mkdir -p %{buildroot}%{_systemdusergeneratordir} +mkdir -p %{buildroot}%{_presetdir} +mkdir -p %{buildroot}%{_userpresetdir} +mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} +mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -584,15 +590,15 @@ EOF # create drop-in to prevent delegate=yes for root user (bsc#954765, # bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ -cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset +rm -f %{buildroot}%{_presetdir}/*.preset +echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored @@ -650,7 +656,7 @@ if [ $1 -eq 1 ]; then chmod 666 %{_sysconfdir}/machine-id fi -%sysusers_create /usr/lib/sysusers.d/systemd.conf +%sysusers_create %{_sysusersdir}/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif @@ -662,21 +668,16 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-timesyncd.service || : +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-timesyncd.service %if %{with networkd} - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} - systemctl preset systemd-resolved.service || : +%systemd_post systemd-resolved.service %endif -fi >/dev/null # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -710,6 +711,15 @@ if [ $1 -gt 1 ]; then # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Migrate i18n setting stuff thout could be previously + # configured in /etc/sysconfig but now is defined only in the + # systemd official places (/etc/locale.conf, + # /etc/vconsole.conf, etc...). This is done only once. + test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : + } fi %postun @@ -798,8 +808,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf -%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%sysusers_create %{_sysusersdir}/systemd-remote.conf +%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -872,29 +882,29 @@ fi %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %if %{with journal_remote} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_unitdir}/systemd-journal-gatewayd.* +%exclude %{_unitdir}/systemd-journal-remote.* +%exclude %{_unitdir}/systemd-journal-upload.* %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service +%exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/*.automount +%{_unitdir}/*.service +%{_unitdir}/*.slice +%{_unitdir}/*.target +%{_unitdir}/*.mount +%{_unitdir}/*.timer +%{_unitdir}/*.socket +%{_unitdir}/*.wants +%{_unitdir}/*.path +%{_userunitdir}/*.target +%{_userunitdir}/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -902,21 +912,22 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%{_prefix}/lib/systemd/system-preset -%{_prefix}/lib/systemd/user-preset -%{_prefix}/lib/systemd/system-generators -%{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-environment-generators -%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_journalcatalogdir} +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.*.catalog +%{_presetdir} +%{_userpresetdir} +%{_systemdgeneratordir} +%{_systemdusergeneratordir} +%{_systemd_system_env_generator_dir} +%{_systemd_user_env_generator_dir} +%dir %{_ntpunitsdir} %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%dir %{_prefix}/lib/systemd/system/user@0.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%dir %{_unitdir}/getty@tty1.service.d +%dir %{_unitdir}/user@0.service.d +%{_unitdir}/getty@tty1.service.d/noclear.conf +%{_unitdir}/user@0.service.d/nodelagate.conf %if %{with importd} %{_prefix}/lib/systemd/import-pubring.gpg %endif @@ -933,23 +944,23 @@ fi %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%{_libexecdir}/sysusers.d/ +%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/ +%{_tmpfilesdir}/ %if %{with journal_remote} -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf -%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%exclude %{_sysusersdir}/systemd-remote.conf +%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ -%dir %{_libexecdir}/binfmt.d +%dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d -%dir %{_libexecdir}/sysctl.d +%dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf +%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1071,10 +1082,10 @@ fi %endif %{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated @@ -1136,13 +1147,13 @@ fi %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs %ghost %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ +%dir %{_udevrulesdir}/ +%exclude %{_udevrulesdir}/70-uaccess.rules +%exclude %{_udevrulesdir}/71-seat.rules +%exclude %{_udevrulesdir}/73-seat-late.rules +%exclude %{_udevrulesdir}/99-systemd.rules +%{_udevrulesdir}/*.rules +%{_udevhwdbdir}/ %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ @@ -1158,13 +1169,13 @@ fi %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/systemd-udev*.service +%{_unitdir}/systemd-udevd*.socket +%{_unitdir}/initrd-udevadm-cleanup-db.service +%dir %{_unitdir}/sysinit.target.wants +%{_unitdir}/sysinit.target.wants/systemd-udev*.service +%dir %{_unitdir}/sockets.target.wants +%{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %if %{with networkd} @@ -1229,14 +1240,14 @@ fi %defattr(-, root, root) %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/system/systemd-journal-remote.* -%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_unitdir}/systemd-journal-gatewayd.* +%{_unitdir}/systemd-journal-remote.* +%{_unitdir}/systemd-journal-upload.* %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload -%{_libexecdir}/sysusers.d/systemd-remote.conf -%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_sysusersdir}/systemd-remote.conf +%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* From aee6daab3aa4f3746492502bfac76090fb0fc7a3b3cabf8579bb97ee986fb502 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 22 Feb 2018 15:07:17 +0000 Subject: [PATCH 357/991] Accepting request 579036 from home:fbui:systemd:Factory - Split off systemd-container sub-package off Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least /var/lib/machines subvol is not created anymore at boot even if it wasn't used at all. OBS-URL: https://build.opensuse.org/request/show/579036 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1014 --- systemd-mini.changes | 16 ++++- systemd-mini.spec | 143 ++++++++++++++++++++++++++++++------------- systemd.changes | 16 ++++- systemd.spec | 143 ++++++++++++++++++++++++++++++------------- 4 files changed, 228 insertions(+), 90 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index fa988b4c..aa1eba4e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com + +- Split off systemd-container sub-package off + + Other distros already do it and it seems a good idea to not install + this stuff on new installations by default. At least + /var/lib/machines subvol is not created anymore at boot even if it + wasn't used at all. + ------------------------------------------------------------------- Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com @@ -75,13 +85,13 @@ Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com The previous fix couldn't work on platforms using a RO rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but - we still ship a copy in /var. + we still ship a copy in /usr/share/systemd. Users who want to use tmpfs on /tmp are supposed to add a symlink in - /etc/ pointing to the copy shipped in /var. + /etc/ pointing to the copy shipped in /usr/share/systemd. To support the update path we automatically create the symlink if - tmp.mount in use is located in /usr. + tmp.mount in use is located in /usr/lib/systemd. ------------------------------------------------------------------- Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index cea9627c..a13b7bf6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -293,6 +293,20 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. +%package container +Summary: Systemd tools for container management +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/systemd-nspawn + +%description container +Systemd tools to spawn and manage containers and virtual machines. + +This package contains systemd-nspawn, machinectl, systemd-machined, +and systemd-importd. + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -697,23 +711,6 @@ done %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. - # - # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - # Migrate i18n setting stuff thout could be previously # configured in /etc/sysconfig but now is defined only in the # systemd official places (/etc/locale.conf, @@ -778,6 +775,26 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%post container +if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : +fi + %if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ @@ -842,9 +859,6 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if %{with machined} -%{_bindir}/machinectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl @@ -864,7 +878,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-nspawn %if %{with resolved} %{_bindir}/systemd-resolve %endif @@ -896,6 +909,24 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/systemd-nspawn@.service +%if %{with machined} +%exclude %{_prefix}/lib/systemd/systemd-machined +%exclude %{_unitdir}/systemd-machined.service +%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service +%exclude %{_unitdir}/var-lib-machines.mount +%exclude %{_unitdir}/machine.slice +%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount +%endif +%if %{with importd} +%exclude %{_prefix}/lib/systemd/systemd-import* +%exclude %{_prefix}/lib/systemd/systemd-pull +%exclude %{_prefix}/lib/systemd/import-pubring.gpg +%exclude %{_unitdir}/systemd-importd.service +%exclude %{_unitdir}/dbus-org.freedesktop.import1.service +%endif + %{_unitdir}/*.automount %{_unitdir}/*.service %{_unitdir}/*.slice @@ -914,6 +945,7 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts +%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} %{_journalcatalogdir}/systemd.catalog %{_journalcatalogdir}/systemd.*.catalog @@ -930,9 +962,6 @@ fi %dir %{_unitdir}/user@0.service.d %{_unitdir}/getty@tty1.service.d/noclear.conf %{_unitdir}/user@0.service.d/nodelagate.conf -%if %{with importd} -%{_prefix}/lib/systemd/import-pubring.gpg -%endif /%{_lib}/security/pam_systemd.so %if %{with gnuefi} @@ -949,6 +978,7 @@ fi %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ +%exclude %{_tmpfilesdir}/systemd-nspawn.conf %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf @@ -998,9 +1028,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%if %{with machined} -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1009,9 +1036,6 @@ fi %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -%if %{with importd} -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%endif # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1043,12 +1067,6 @@ fi %if %{with resolved} %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif -%if %{with machined} -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif -%if %{with importd} -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1057,12 +1075,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with machined} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif -%if %{with importd} -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif @@ -1081,6 +1093,13 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with machined} +%exclude %{_mandir}/man*/machinectl* +%exclude %{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%exclude %{_mandir}/man*/systemd-importd* +%endif %endif %{_docdir}/systemd @@ -1202,6 +1221,46 @@ fi %{_mandir}/man3/*udev*.3* %endif +%files container +%defattr(-,root,root) +%{_bindir}/systemd-nspawn +%{_unitdir}/systemd-nspawn@.service +%{_tmpfilesdir}/systemd-nspawn.conf +%if %{with machined} +%{_bindir}/machinectl +%{_prefix}/lib/systemd/systemd-machined +%{_unitdir}/systemd-machined.service +%{_unitdir}/dbus-org.freedesktop.machine1.service +%{_unitdir}/var-lib-machines.mount +%{_unitdir}/machine.slice +%{_unitdir}/machines.target* +%{_unitdir}/*.target.wants/var-lib-machines.mount +%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_prefix}/lib/systemd/systemd-import* +%{_prefix}/lib/systemd/systemd-pull +%{_prefix}/lib/systemd/import-pubring.gpg +%{_unitdir}/systemd-importd.service +%{_unitdir}/dbus-org.freedesktop.import1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif +%if ! 0%{?bootstrap} +%{_mandir}/man*/*nspawn* +%if %{with machined} +%{_mandir}/man*/machinectl* +%{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%{_mandir}/man*/systemd-importd* +%endif +%endif + %if ! 0%{?bootstrap} %files logger %defattr(-,root,root) diff --git a/systemd.changes b/systemd.changes index fa988b4c..aa1eba4e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com + +- Split off systemd-container sub-package off + + Other distros already do it and it seems a good idea to not install + this stuff on new installations by default. At least + /var/lib/machines subvol is not created anymore at boot even if it + wasn't used at all. + ------------------------------------------------------------------- Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com @@ -75,13 +85,13 @@ Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com The previous fix couldn't work on platforms using a RO rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but - we still ship a copy in /var. + we still ship a copy in /usr/share/systemd. Users who want to use tmpfs on /tmp are supposed to add a symlink in - /etc/ pointing to the copy shipped in /var. + /etc/ pointing to the copy shipped in /usr/share/systemd. To support the update path we automatically create the symlink if - tmp.mount in use is located in /usr. + tmp.mount in use is located in /usr/lib/systemd. ------------------------------------------------------------------- Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3d9cb358..38ac7087 100644 --- a/systemd.spec +++ b/systemd.spec @@ -291,6 +291,20 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. +%package container +Summary: Systemd tools for container management +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/systemd-nspawn + +%description container +Systemd tools to spawn and manage containers and virtual machines. + +This package contains systemd-nspawn, machinectl, systemd-machined, +and systemd-importd. + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -695,23 +709,6 @@ done %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. - # - # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - # Migrate i18n setting stuff thout could be previously # configured in /etc/sysconfig but now is defined only in the # systemd official places (/etc/locale.conf, @@ -776,6 +773,26 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%post container +if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : +fi + %if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ @@ -840,9 +857,6 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if %{with machined} -%{_bindir}/machinectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl @@ -862,7 +876,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-nspawn %if %{with resolved} %{_bindir}/systemd-resolve %endif @@ -894,6 +907,24 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/systemd-nspawn@.service +%if %{with machined} +%exclude %{_prefix}/lib/systemd/systemd-machined +%exclude %{_unitdir}/systemd-machined.service +%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service +%exclude %{_unitdir}/var-lib-machines.mount +%exclude %{_unitdir}/machine.slice +%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount +%endif +%if %{with importd} +%exclude %{_prefix}/lib/systemd/systemd-import* +%exclude %{_prefix}/lib/systemd/systemd-pull +%exclude %{_prefix}/lib/systemd/import-pubring.gpg +%exclude %{_unitdir}/systemd-importd.service +%exclude %{_unitdir}/dbus-org.freedesktop.import1.service +%endif + %{_unitdir}/*.automount %{_unitdir}/*.service %{_unitdir}/*.slice @@ -912,6 +943,7 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts +%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} %{_journalcatalogdir}/systemd.catalog %{_journalcatalogdir}/systemd.*.catalog @@ -928,9 +960,6 @@ fi %dir %{_unitdir}/user@0.service.d %{_unitdir}/getty@tty1.service.d/noclear.conf %{_unitdir}/user@0.service.d/nodelagate.conf -%if %{with importd} -%{_prefix}/lib/systemd/import-pubring.gpg -%endif /%{_lib}/security/pam_systemd.so %if %{with gnuefi} @@ -947,6 +976,7 @@ fi %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ +%exclude %{_tmpfilesdir}/systemd-nspawn.conf %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf @@ -996,9 +1026,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%if %{with machined} -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1007,9 +1034,6 @@ fi %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -%if %{with importd} -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%endif # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1041,12 +1065,6 @@ fi %if %{with resolved} %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif -%if %{with machined} -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif -%if %{with importd} -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1055,12 +1073,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with machined} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif -%if %{with importd} -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif @@ -1079,6 +1091,13 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with machined} +%exclude %{_mandir}/man*/machinectl* +%exclude %{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%exclude %{_mandir}/man*/systemd-importd* +%endif %endif %{_docdir}/systemd @@ -1200,6 +1219,46 @@ fi %{_mandir}/man3/*udev*.3* %endif +%files container +%defattr(-,root,root) +%{_bindir}/systemd-nspawn +%{_unitdir}/systemd-nspawn@.service +%{_tmpfilesdir}/systemd-nspawn.conf +%if %{with machined} +%{_bindir}/machinectl +%{_prefix}/lib/systemd/systemd-machined +%{_unitdir}/systemd-machined.service +%{_unitdir}/dbus-org.freedesktop.machine1.service +%{_unitdir}/var-lib-machines.mount +%{_unitdir}/machine.slice +%{_unitdir}/machines.target* +%{_unitdir}/*.target.wants/var-lib-machines.mount +%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_prefix}/lib/systemd/systemd-import* +%{_prefix}/lib/systemd/systemd-pull +%{_prefix}/lib/systemd/import-pubring.gpg +%{_unitdir}/systemd-importd.service +%{_unitdir}/dbus-org.freedesktop.import1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif +%if ! 0%{?bootstrap} +%{_mandir}/man*/*nspawn* +%if %{with machined} +%{_mandir}/man*/machinectl* +%{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%{_mandir}/man*/systemd-importd* +%endif +%endif + %if ! 0%{?bootstrap} %files logger %defattr(-,root,root) From 62cb4abe9001976ea6975fff1b0633aa0830fa9565fb74aa4dd218d44737d2c1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 26 Feb 2018 10:09:47 +0000 Subject: [PATCH 358/991] Accepting request 580123 from home:favogt:licensetag Use %license (boo#1082318). Please forward to SLE, if possible OBS-URL: https://build.opensuse.org/request/show/580123 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1015 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index aa1eba4e..90ba8929 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Feb 22 15:15:09 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index a13b7bf6..4530958c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -848,6 +848,7 @@ fi %files -f systemd.lang %defattr(-,root,root) +%license LICENSE* /bin/systemd /bin/systemd-ask-password /bin/systemctl diff --git a/systemd.changes b/systemd.changes index aa1eba4e..26973404 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 38ac7087..be2ed4ee 100644 --- a/systemd.spec +++ b/systemd.spec @@ -846,6 +846,7 @@ fi %files -f systemd.lang %defattr(-,root,root) +%license LICENSE* /bin/systemd /bin/systemd-ask-password /bin/systemctl From 19dfb206d5f00b852a9ec155f90d85636b69a6471b37e0e6699a0cc665a5ccaf Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 26 Feb 2018 10:53:13 +0000 Subject: [PATCH 359/991] Accepting request 580181 from home:fbui:systemd:Factory - Fix build errors due to the split-off of systemd-containe: found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: - /usr/share/man/man5/systemd.nspawn.5.gz - /usr/share/man/man1/systemd-nspawn.1.gz found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: - /usr/bin/systemd-nspawn - /usr/lib/systemd/system/systemd-nspawn@.service - /usr/lib/tmpfiles.d/systemd-nspawn.conf OBS-URL: https://build.opensuse.org/request/show/580181 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1016 --- systemd-mini.changes | 17 +++++++++++++++-- systemd-mini.spec | 10 ++++++---- systemd.changes | 15 ++++++++++++++- systemd.spec | 10 ++++++---- 4 files changed, 41 insertions(+), 11 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 90ba8929..b10856aa 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,12 +1,25 @@ ------------------------------------------------------------------- -Thu Feb 22 15:15:09 UTC 2018 - fvogt@suse.com +Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com + +- Fix build errors due to the split-off of systemd-containe: + + found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: + - /usr/share/man/man5/systemd.nspawn.5.gz + - /usr/share/man/man1/systemd-nspawn.1.gz + found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: + - /usr/bin/systemd-nspawn + - /usr/lib/systemd/system/systemd-nspawn@.service + - /usr/lib/tmpfiles.d/systemd-nspawn.conf + +------------------------------------------------------------------- +Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com - Use %license (boo#1082318) ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com -- Split off systemd-container sub-package off +- Split systemd-container sub-package off Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least diff --git a/systemd-mini.spec b/systemd-mini.spec index 4530958c..c627c00b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -475,6 +475,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm %{buildroot}%{_bindir}/systemd-nspawn +rm %{buildroot}%{_unitdir}/systemd-nspawn@.service +rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -775,6 +778,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%if ! 0%{?bootstrap} %post container if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -795,7 +799,6 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi -%if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -1094,6 +1097,7 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* %exclude %{_mandir}/man*/systemd-machined* @@ -1222,6 +1226,7 @@ fi %{_mandir}/man3/*udev*.3* %endif +%if ! 0%{?bootstrap} %files container %defattr(-,root,root) %{_bindir}/systemd-nspawn @@ -1251,7 +1256,6 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif -%if ! 0%{?bootstrap} %{_mandir}/man*/*nspawn* %if %{with machined} %{_mandir}/man*/machinectl* @@ -1260,9 +1264,7 @@ fi %if %{with importd} %{_mandir}/man*/systemd-importd* %endif -%endif -%if ! 0%{?bootstrap} %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ diff --git a/systemd.changes b/systemd.changes index 26973404..b10856aa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com + +- Fix build errors due to the split-off of systemd-containe: + + found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: + - /usr/share/man/man5/systemd.nspawn.5.gz + - /usr/share/man/man1/systemd-nspawn.1.gz + found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: + - /usr/bin/systemd-nspawn + - /usr/lib/systemd/system/systemd-nspawn@.service + - /usr/lib/tmpfiles.d/systemd-nspawn.conf + ------------------------------------------------------------------- Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com @@ -6,7 +19,7 @@ Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com -- Split off systemd-container sub-package off +- Split systemd-container sub-package off Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least diff --git a/systemd.spec b/systemd.spec index be2ed4ee..95da200d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -473,6 +473,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm %{buildroot}%{_bindir}/systemd-nspawn +rm %{buildroot}%{_unitdir}/systemd-nspawn@.service +rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -773,6 +776,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%if ! 0%{?bootstrap} %post container if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -793,7 +797,6 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi -%if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -1092,6 +1095,7 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* %exclude %{_mandir}/man*/systemd-machined* @@ -1220,6 +1224,7 @@ fi %{_mandir}/man3/*udev*.3* %endif +%if ! 0%{?bootstrap} %files container %defattr(-,root,root) %{_bindir}/systemd-nspawn @@ -1249,7 +1254,6 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif -%if ! 0%{?bootstrap} %{_mandir}/man*/*nspawn* %if %{with machined} %{_mandir}/man*/machinectl* @@ -1258,9 +1262,7 @@ fi %if %{with importd} %{_mandir}/man*/systemd-importd* %endif -%endif -%if ! 0%{?bootstrap} %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ From 7525bb9ab96aba80899c99f37c96d4540699f29229ecb1a9b9547ba26f43c9b8 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 28 Feb 2018 18:56:02 +0000 Subject: [PATCH 360/991] Accepting request 580183 from Base:System OBS-URL: https://build.opensuse.org/request/show/580183 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=273 --- systemd-mini.changes | 34 +++++++++- systemd-mini.spec | 146 ++++++++++++++++++++++++++++++------------- systemd.changes | 34 +++++++++- systemd.spec | 146 ++++++++++++++++++++++++++++++------------- 4 files changed, 270 insertions(+), 90 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index fa988b4c..b10856aa 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com + +- Fix build errors due to the split-off of systemd-containe: + + found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: + - /usr/share/man/man5/systemd.nspawn.5.gz + - /usr/share/man/man1/systemd-nspawn.1.gz + found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: + - /usr/bin/systemd-nspawn + - /usr/lib/systemd/system/systemd-nspawn@.service + - /usr/lib/tmpfiles.d/systemd-nspawn.conf + +------------------------------------------------------------------- +Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + +------------------------------------------------------------------- +Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com + +- Split systemd-container sub-package off + + Other distros already do it and it seems a good idea to not install + this stuff on new installations by default. At least + /var/lib/machines subvol is not created anymore at boot even if it + wasn't used at all. + ------------------------------------------------------------------- Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com @@ -75,13 +103,13 @@ Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com The previous fix couldn't work on platforms using a RO rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but - we still ship a copy in /var. + we still ship a copy in /usr/share/systemd. Users who want to use tmpfs on /tmp are supposed to add a symlink in - /etc/ pointing to the copy shipped in /var. + /etc/ pointing to the copy shipped in /usr/share/systemd. To support the update path we automatically create the symlink if - tmp.mount in use is located in /usr. + tmp.mount in use is located in /usr/lib/systemd. ------------------------------------------------------------------- Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index cea9627c..c627c00b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -293,6 +293,20 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. +%package container +Summary: Systemd tools for container management +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/systemd-nspawn + +%description container +Systemd tools to spawn and manage containers and virtual machines. + +This package contains systemd-nspawn, machinectl, systemd-machined, +and systemd-importd. + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -461,6 +475,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm %{buildroot}%{_bindir}/systemd-nspawn +rm %{buildroot}%{_unitdir}/systemd-nspawn@.service +rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -697,23 +714,6 @@ done %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. - # - # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - # Migrate i18n setting stuff thout could be previously # configured in /etc/sysconfig but now is defined only in the # systemd official places (/etc/locale.conf, @@ -779,6 +779,26 @@ systemctl daemon-reload || : %postun -n libsystemd0%{?mini} -p /sbin/ldconfig %if ! 0%{?bootstrap} +%post container +if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : +fi + %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -831,6 +851,7 @@ fi %files -f systemd.lang %defattr(-,root,root) +%license LICENSE* /bin/systemd /bin/systemd-ask-password /bin/systemctl @@ -842,9 +863,6 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if %{with machined} -%{_bindir}/machinectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl @@ -864,7 +882,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-nspawn %if %{with resolved} %{_bindir}/systemd-resolve %endif @@ -896,6 +913,24 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/systemd-nspawn@.service +%if %{with machined} +%exclude %{_prefix}/lib/systemd/systemd-machined +%exclude %{_unitdir}/systemd-machined.service +%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service +%exclude %{_unitdir}/var-lib-machines.mount +%exclude %{_unitdir}/machine.slice +%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount +%endif +%if %{with importd} +%exclude %{_prefix}/lib/systemd/systemd-import* +%exclude %{_prefix}/lib/systemd/systemd-pull +%exclude %{_prefix}/lib/systemd/import-pubring.gpg +%exclude %{_unitdir}/systemd-importd.service +%exclude %{_unitdir}/dbus-org.freedesktop.import1.service +%endif + %{_unitdir}/*.automount %{_unitdir}/*.service %{_unitdir}/*.slice @@ -914,6 +949,7 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts +%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} %{_journalcatalogdir}/systemd.catalog %{_journalcatalogdir}/systemd.*.catalog @@ -930,9 +966,6 @@ fi %dir %{_unitdir}/user@0.service.d %{_unitdir}/getty@tty1.service.d/noclear.conf %{_unitdir}/user@0.service.d/nodelagate.conf -%if %{with importd} -%{_prefix}/lib/systemd/import-pubring.gpg -%endif /%{_lib}/security/pam_systemd.so %if %{with gnuefi} @@ -949,6 +982,7 @@ fi %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ +%exclude %{_tmpfilesdir}/systemd-nspawn.conf %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf @@ -998,9 +1032,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%if %{with machined} -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1009,9 +1040,6 @@ fi %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -%if %{with importd} -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%endif # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1043,12 +1071,6 @@ fi %if %{with resolved} %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif -%if %{with machined} -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif -%if %{with importd} -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1057,12 +1079,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with machined} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif -%if %{with importd} -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif @@ -1081,6 +1097,14 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man*/*nspawn* +%if %{with machined} +%exclude %{_mandir}/man*/machinectl* +%exclude %{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%exclude %{_mandir}/man*/systemd-importd* +%endif %endif %{_docdir}/systemd @@ -1203,6 +1227,44 @@ fi %endif %if ! 0%{?bootstrap} +%files container +%defattr(-,root,root) +%{_bindir}/systemd-nspawn +%{_unitdir}/systemd-nspawn@.service +%{_tmpfilesdir}/systemd-nspawn.conf +%if %{with machined} +%{_bindir}/machinectl +%{_prefix}/lib/systemd/systemd-machined +%{_unitdir}/systemd-machined.service +%{_unitdir}/dbus-org.freedesktop.machine1.service +%{_unitdir}/var-lib-machines.mount +%{_unitdir}/machine.slice +%{_unitdir}/machines.target* +%{_unitdir}/*.target.wants/var-lib-machines.mount +%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_prefix}/lib/systemd/systemd-import* +%{_prefix}/lib/systemd/systemd-pull +%{_prefix}/lib/systemd/import-pubring.gpg +%{_unitdir}/systemd-importd.service +%{_unitdir}/dbus-org.freedesktop.import1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif +%{_mandir}/man*/*nspawn* +%if %{with machined} +%{_mandir}/man*/machinectl* +%{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%{_mandir}/man*/systemd-importd* +%endif + %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ diff --git a/systemd.changes b/systemd.changes index fa988b4c..b10856aa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com + +- Fix build errors due to the split-off of systemd-containe: + + found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: + - /usr/share/man/man5/systemd.nspawn.5.gz + - /usr/share/man/man1/systemd-nspawn.1.gz + found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: + - /usr/bin/systemd-nspawn + - /usr/lib/systemd/system/systemd-nspawn@.service + - /usr/lib/tmpfiles.d/systemd-nspawn.conf + +------------------------------------------------------------------- +Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + +------------------------------------------------------------------- +Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com + +- Split systemd-container sub-package off + + Other distros already do it and it seems a good idea to not install + this stuff on new installations by default. At least + /var/lib/machines subvol is not created anymore at boot even if it + wasn't used at all. + ------------------------------------------------------------------- Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com @@ -75,13 +103,13 @@ Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com The previous fix couldn't work on platforms using a RO rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but - we still ship a copy in /var. + we still ship a copy in /usr/share/systemd. Users who want to use tmpfs on /tmp are supposed to add a symlink in - /etc/ pointing to the copy shipped in /var. + /etc/ pointing to the copy shipped in /usr/share/systemd. To support the update path we automatically create the symlink if - tmp.mount in use is located in /usr. + tmp.mount in use is located in /usr/lib/systemd. ------------------------------------------------------------------- Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3d9cb358..95da200d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -291,6 +291,20 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. +%package container +Summary: Systemd tools for container management +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/systemd-nspawn + +%description container +Systemd tools to spawn and manage containers and virtual machines. + +This package contains systemd-nspawn, machinectl, systemd-machined, +and systemd-importd. + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -459,6 +473,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm %{buildroot}%{_bindir}/systemd-nspawn +rm %{buildroot}%{_unitdir}/systemd-nspawn@.service +rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -695,23 +712,6 @@ done %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. - # - # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : - # Migrate i18n setting stuff thout could be previously # configured in /etc/sysconfig but now is defined only in the # systemd official places (/etc/locale.conf, @@ -777,6 +777,26 @@ systemctl daemon-reload || : %postun -n libsystemd0%{?mini} -p /sbin/ldconfig %if ! 0%{?bootstrap} +%post container +if [ $1 -gt 1 ]; then + # Convert /var/lib/machines subvolume to make it suitable for + # rollbacks, if needed. See bsc#992573. The installer has been fixed + # to create it at installation time. + # + # The convertion might only be problematic for openSUSE distros + # (TW/Factory) where previous versions had already created the + # subvolume at the wrong place (via tmpfiles for example) and user + # started to populate and use it. In this case we'll let the user fix + # it manually. + # + # For SLE12 this subvolume was only introduced during the upgrade from + # v210 to v228 when we added this workaround. Note that the subvolume + # is still created at the wrong place due to the call to + # tmpfiles_create macro previously however it's empty so there + # shouldn't be any issues. + %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : +fi + %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -829,6 +849,7 @@ fi %files -f systemd.lang %defattr(-,root,root) +%license LICENSE* /bin/systemd /bin/systemd-ask-password /bin/systemctl @@ -840,9 +861,6 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl -%if %{with machined} -%{_bindir}/machinectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/coredumpctl @@ -862,7 +880,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-nspawn %if %{with resolved} %{_bindir}/systemd-resolve %endif @@ -894,6 +911,24 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/systemd-nspawn@.service +%if %{with machined} +%exclude %{_prefix}/lib/systemd/systemd-machined +%exclude %{_unitdir}/systemd-machined.service +%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service +%exclude %{_unitdir}/var-lib-machines.mount +%exclude %{_unitdir}/machine.slice +%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount +%endif +%if %{with importd} +%exclude %{_prefix}/lib/systemd/systemd-import* +%exclude %{_prefix}/lib/systemd/systemd-pull +%exclude %{_prefix}/lib/systemd/import-pubring.gpg +%exclude %{_unitdir}/systemd-importd.service +%exclude %{_unitdir}/dbus-org.freedesktop.import1.service +%endif + %{_unitdir}/*.automount %{_unitdir}/*.service %{_unitdir}/*.slice @@ -912,6 +947,7 @@ fi %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts +%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} %{_journalcatalogdir}/systemd.catalog %{_journalcatalogdir}/systemd.*.catalog @@ -928,9 +964,6 @@ fi %dir %{_unitdir}/user@0.service.d %{_unitdir}/getty@tty1.service.d/noclear.conf %{_unitdir}/user@0.service.d/nodelagate.conf -%if %{with importd} -%{_prefix}/lib/systemd/import-pubring.gpg -%endif /%{_lib}/security/pam_systemd.so %if %{with gnuefi} @@ -947,6 +980,7 @@ fi %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ +%exclude %{_tmpfilesdir}/systemd-nspawn.conf %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf @@ -996,9 +1030,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%if %{with machined} -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%endif %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1007,9 +1038,6 @@ fi %{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -%if %{with importd} -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%endif # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1041,12 +1069,6 @@ fi %if %{with resolved} %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %endif -%if %{with machined} -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%endif -%if %{with importd} -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1055,12 +1077,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with machined} -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%endif -%if %{with importd} -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif @@ -1079,6 +1095,14 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man*/*nspawn* +%if %{with machined} +%exclude %{_mandir}/man*/machinectl* +%exclude %{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%exclude %{_mandir}/man*/systemd-importd* +%endif %endif %{_docdir}/systemd @@ -1201,6 +1225,44 @@ fi %endif %if ! 0%{?bootstrap} +%files container +%defattr(-,root,root) +%{_bindir}/systemd-nspawn +%{_unitdir}/systemd-nspawn@.service +%{_tmpfilesdir}/systemd-nspawn.conf +%if %{with machined} +%{_bindir}/machinectl +%{_prefix}/lib/systemd/systemd-machined +%{_unitdir}/systemd-machined.service +%{_unitdir}/dbus-org.freedesktop.machine1.service +%{_unitdir}/var-lib-machines.mount +%{_unitdir}/machine.slice +%{_unitdir}/machines.target* +%{_unitdir}/*.target.wants/var-lib-machines.mount +%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%endif +%if %{with importd} +%{_prefix}/lib/systemd/systemd-import* +%{_prefix}/lib/systemd/systemd-pull +%{_prefix}/lib/systemd/import-pubring.gpg +%{_unitdir}/systemd-importd.service +%{_unitdir}/dbus-org.freedesktop.import1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%endif +%{_mandir}/man*/*nspawn* +%if %{with machined} +%{_mandir}/man*/machinectl* +%{_mandir}/man*/systemd-machined* +%endif +%if %{with importd} +%{_mandir}/man*/systemd-importd* +%endif + %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ From 9dd5a3a825ce030e081e2a1e6618c416ed8c896cd0dde147d39da23cc76ffe23 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 1 Mar 2018 14:26:05 +0000 Subject: [PATCH 361/991] Accepting request 581724 from home:fbui:systemd:Factory - BS forces us to own %{_prefix}/lib/modprobe.d This seems wrong but that's how the SUSE BS works. - Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c) Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have been removed from the git repo and are now maintained at the package level. Those rules have been rejected by upstream and are defining some defaults which should maintain by the kernel folks. - Don't call "pam-config --systemd" pam_systemd.so has been integrated directly in the PAM stack since bsc#812462. So there's no need to call pam-config. OBS-URL: https://build.opensuse.org/request/show/581724 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1017 --- 60-ssd-scheduler.rules | 11 +++++++++++ 80-hotplug-cpu-mem.rules | 12 ++++++++++++ systemd-234.tar.xz | 3 --- systemd-237.tar.xz | 3 +++ systemd-mini.changes | 25 +++++++++++++++++++++++++ systemd-mini.spec | 25 ++++++++++++++----------- systemd.changes | 25 +++++++++++++++++++++++++ systemd.spec | 25 ++++++++++++++----------- 8 files changed, 104 insertions(+), 25 deletions(-) create mode 100644 60-ssd-scheduler.rules create mode 100644 80-hotplug-cpu-mem.rules delete mode 100644 systemd-234.tar.xz create mode 100644 systemd-237.tar.xz diff --git a/60-ssd-scheduler.rules b/60-ssd-scheduler.rules new file mode 100644 index 00000000..43aa8ea7 --- /dev/null +++ b/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + +ACTION!="add", GOTO="ssd_scheduler_end" +SUBSYSTEM!="block", GOTO="ssd_scheduler_end" + +IMPORT{cmdline}="elevator" +ENV{elevator}=="*?", GOTO="ssd_scheduler_end" + +KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" + +LABEL="ssd_scheduler_end" diff --git a/80-hotplug-cpu-mem.rules b/80-hotplug-cpu-mem.rules new file mode 100644 index 00000000..9a9614df --- /dev/null +++ b/80-hotplug-cpu-mem.rules @@ -0,0 +1,12 @@ +# do not edit this file, it will be overwritten on update + +# Hotplug physical CPU +SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ + ATTR{online}="1" + +# Hotplug physical memory +SUBSYSTEM=="memory", ACTION=="add", PROGRAM="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ + ATTR{state}="online", TAG+="tmpfs" + +# See bnc#869603 +TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz deleted file mode 100644 index c0fdec25..00000000 --- a/systemd-234.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49daec1195deaa22bd490d70f78aafb7bdc0058ca236125e3c39127688c6db94 -size 3353696 diff --git a/systemd-237.tar.xz b/systemd-237.tar.xz new file mode 100644 index 00000000..7f8d95f5 --- /dev/null +++ b/systemd-237.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db6382de9795d96b41a50ab2ac369b54ba49525181bc00a02ff67dfd970c59be +size 4629324 diff --git a/systemd-mini.changes b/systemd-mini.changes index b10856aa..0ee0ba37 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Mar 1 10:43:09 UTC 2018 - fbui@suse.com + +- BS forces us to own %{_prefix}/lib/modprobe.d + + This seems wrong but that's how the SUSE BS works. + +------------------------------------------------------------------- +Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com + +- Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c) + + Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have + been removed from the git repo and are now maintained at the package + level. Those rules have been rejected by upstream and are defining + some defaults which should maintain by the kernel folks. + +------------------------------------------------------------------- +Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com + +- Don't call "pam-config --systemd" + + pam_systemd.so has been integrated directly in the PAM stack since + bsc#812462. So there's no need to call pam-config. + ------------------------------------------------------------------- Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c627c00b..1ab9c036 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -49,7 +49,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 234 +Version: 237 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -124,7 +124,6 @@ Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding -Requires(post): pam-config >= 0.79-5 %endif %if 0%{?bootstrap} @@ -152,7 +151,9 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1065: udev-remount-tmpfs +Source1000: 60-ssd-scheduler.rules +Source1001: 80-hotplug-cpu-mem.rules +Source1002: udev-remount-tmpfs # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -492,7 +493,11 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs + +# The rules that we shouldn't maintain +install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules +install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules +install -m0755 -D %{S:1002} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -676,9 +681,6 @@ if [ $1 -eq 1 ]; then fi %sysusers_create %{_sysusersdir}/systemd.conf -%if ! 0%{?bootstrap} -pam-config -a --systemd || : -%endif [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : @@ -831,7 +833,6 @@ fi %post journal-remote %sysusers_create %{_sysusersdir}/systemd-remote.conf -%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -940,8 +941,7 @@ fi %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/*.target -%{_userunitdir}/*.service +%{_userunitdir}/ %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1041,6 +1041,10 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif +# FIXME: why should we have to own this dir ? +%dir %{_prefix}/lib/modprobe.d +%{_prefix}/lib/modprobe.d/systemd.conf + # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf @@ -1311,7 +1315,6 @@ fi %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf -%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* diff --git a/systemd.changes b/systemd.changes index b10856aa..0ee0ba37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Mar 1 10:43:09 UTC 2018 - fbui@suse.com + +- BS forces us to own %{_prefix}/lib/modprobe.d + + This seems wrong but that's how the SUSE BS works. + +------------------------------------------------------------------- +Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com + +- Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c) + + Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have + been removed from the git repo and are now maintained at the package + level. Those rules have been rejected by upstream and are defining + some defaults which should maintain by the kernel folks. + +------------------------------------------------------------------- +Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com + +- Don't call "pam-config --systemd" + + pam_systemd.so has been integrated directly in the PAM stack since + bsc#812462. So there's no need to call pam-config. + ------------------------------------------------------------------- Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 95da200d..d8cebceb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -47,7 +47,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 234 +Version: 237 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -122,7 +122,6 @@ Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding -Requires(post): pam-config >= 0.79-5 %endif %if 0%{?bootstrap} @@ -150,7 +149,9 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1065: udev-remount-tmpfs +Source1000: 60-ssd-scheduler.rules +Source1001: 80-hotplug-cpu-mem.rules +Source1002: udev-remount-tmpfs # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -490,7 +491,11 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs + +# The rules that we shouldn't maintain +install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules +install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules +install -m0755 -D %{S:1002} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't @@ -674,9 +679,6 @@ if [ $1 -eq 1 ]; then fi %sysusers_create %{_sysusersdir}/systemd.conf -%if ! 0%{?bootstrap} -pam-config -a --systemd || : -%endif [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : @@ -829,7 +831,6 @@ fi %post journal-remote %sysusers_create %{_sysusersdir}/systemd-remote.conf -%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -938,8 +939,7 @@ fi %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/*.target -%{_userunitdir}/*.service +%{_userunitdir}/ %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1039,6 +1039,10 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif +# FIXME: why should we have to own this dir ? +%dir %{_prefix}/lib/modprobe.d +%{_prefix}/lib/modprobe.d/systemd.conf + # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf @@ -1309,7 +1313,6 @@ fi %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf -%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* From a4ab995ff0969941b0ea8e10fecc327145a72a184a322907e0c54ba341a0fd5c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 8 Mar 2018 08:46:25 +0000 Subject: [PATCH 362/991] Accepting request 584202 from home:tsaupe:branches:Base:System:systemd add basic user space support for suspend to idle (fate#323814) OBS-URL: https://build.opensuse.org/request/show/584202 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1018 --- 99-wakeup-from-idle.rules | 3 +++ systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 6 ++++-- systemd.changes | 9 +++++++++ systemd.spec | 6 ++++-- 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 99-wakeup-from-idle.rules diff --git a/99-wakeup-from-idle.rules b/99-wakeup-from-idle.rules new file mode 100644 index 00000000..b463ee78 --- /dev/null +++ b/99-wakeup-from-idle.rules @@ -0,0 +1,3 @@ +# enable usb and standard AT Keyboards as wakeup sources for suspend-to-idle (S2I) fate#323814 +ACTION=="add", ATTR{power/wakeup}=="disabled", SUBSYSTEM=="serio", ATTR{description}=="i8042 KBD port", ATTR{power/wakeup}="enabled" +ACTION=="add", ATTR{power/wakeup}=="disabled", SUBSYSTEM=="hid", ATTRS{bInterfaceProtocol}=="01", ATTR{power/wakeup}="enabled" diff --git a/systemd-mini.changes b/systemd-mini.changes index 0ee0ba37..a560fd1e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -15,6 +15,15 @@ Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com level. Those rules have been rejected by upstream and are defining some defaults which should maintain by the kernel folks. +------------------------------------------------------------------- +Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com + +- add basic user space support for suspend to idle (fate#323814) + add 99-wakeup-from-idle.rules + Currently this only covers the power button and usb/AT keyboards + as wakeup devices. It is planned to make that configurable in + the future. + ------------------------------------------------------------------- Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1ab9c036..ec34fbfb 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -153,7 +153,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1000: 60-ssd-scheduler.rules Source1001: 80-hotplug-cpu-mem.rules -Source1002: udev-remount-tmpfs +Source1002: 99-wakeup-from-idle.rules +Source1003: udev-remount-tmpfs # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -497,7 +498,8 @@ install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-insta # The rules that we shouldn't maintain install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0755 -D %{S:1002} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs +install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules +install -m0755 -D %{S:1003} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't diff --git a/systemd.changes b/systemd.changes index 0ee0ba37..a560fd1e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -15,6 +15,15 @@ Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com level. Those rules have been rejected by upstream and are defining some defaults which should maintain by the kernel folks. +------------------------------------------------------------------- +Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com + +- add basic user space support for suspend to idle (fate#323814) + add 99-wakeup-from-idle.rules + Currently this only covers the power button and usb/AT keyboards + as wakeup devices. It is planned to make that configurable in + the future. + ------------------------------------------------------------------- Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d8cebceb..a68f2b08 100644 --- a/systemd.spec +++ b/systemd.spec @@ -151,7 +151,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1000: 60-ssd-scheduler.rules Source1001: 80-hotplug-cpu-mem.rules -Source1002: udev-remount-tmpfs +Source1002: 99-wakeup-from-idle.rules +Source1003: udev-remount-tmpfs # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -495,7 +496,8 @@ install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-insta # The rules that we shouldn't maintain install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0755 -D %{S:1002} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs +install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules +install -m0755 -D %{S:1003} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't From 40f28050404f839190300b624a337acaca2f4676c358eca9f19c89029e4349f9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Mar 2018 09:28:21 +0000 Subject: [PATCH 363/991] Accepting request 584640 from home:fbui:systemd:Factory - Fix hotplug memory in 80-hotplug-cpu-mem.rules - Make sure /var/lib/machines is created when systemd-container is installed OBS-URL: https://build.opensuse.org/request/show/584640 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1019 --- 80-hotplug-cpu-mem.rules | 28 ++++++++++++++++++++-------- systemd-mini.changes | 27 +++++++++++++++++++++++++-- systemd-mini.spec | 34 ++++++++++++++++------------------ systemd.changes | 27 +++++++++++++++++++++++++-- systemd.spec | 34 ++++++++++++++++------------------ udev-remount-tmpfs | 15 --------------- 6 files changed, 102 insertions(+), 63 deletions(-) delete mode 100644 udev-remount-tmpfs diff --git a/80-hotplug-cpu-mem.rules b/80-hotplug-cpu-mem.rules index 9a9614df..86a6c272 100644 --- a/80-hotplug-cpu-mem.rules +++ b/80-hotplug-cpu-mem.rules @@ -1,12 +1,24 @@ # do not edit this file, it will be overwritten on update +# # Hotplug physical CPU -SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ - ATTR{online}="1" +# +SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1" -# Hotplug physical memory -SUBSYSTEM=="memory", ACTION=="add", PROGRAM="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ - ATTR{state}="online", TAG+="tmpfs" - -# See bnc#869603 -TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" +# +# Hotplug physical memory. Instances of tmpfs are remounted so their +# size are recalculated. This might be needed if some sizes were +# specified relative to the total amount of memory (boo#869603). For +# now make it simple and remount all tmpfs regardless of how their +# size are specified. It should be handled by the kernel as it has a +# lot of shortcomings anyways (tmpfs mounted by other processes, mount +# namespaces, ...) +# +SUBSYSTEM=="memory", ACTION=="add", PROGRAM=="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ + ATTR{state}="online", \ + RUN+="/bin/sh -c ' \ + while read src dst fs opts unused; do \ + case $fs in \ + tmpfs) mount -o remount \"$dst\" ;; \ + esac \ + done /dev/null 2>&1 - STATE=$? - if [ "$STATE" -gt 0 ]; then - logger "Remount of $i failed with state $STATE" - fi - done -fi From f995725348228215e15459619babd44345f6cddbb47fbfb3e866185f17b25a6a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Mar 2018 09:56:29 +0000 Subject: [PATCH 364/991] Accepting request 584654 from home:fbui:systemd:Factory - Remove dropin that was used to turn delegation off for user instances Upstream now enables "memory" and "pids" controllers only which should have a very limited impact on performance compare to the "cpu" controller. - Import commit 46d6bc9c4f1c05f3b4fcfca754cc59963bd86ce3 2a79f4e78 units: delegate "memory" instead of "cpu" by default for user instances (#8320) (bsc#954765 bnc#953241 fate#320421) 88174ae85 compat-rules: fix syntax errors spotted by test/rule-syntax-check.py OBS-URL: https://build.opensuse.org/request/show/584654 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1020 --- systemd-237.tar.xz | 4 ++-- systemd-mini.changes | 17 +++++++++++++++++ systemd-mini.spec | 10 ---------- systemd.changes | 17 +++++++++++++++++ systemd.spec | 10 ---------- 5 files changed, 36 insertions(+), 22 deletions(-) diff --git a/systemd-237.tar.xz b/systemd-237.tar.xz index 7f8d95f5..23ed3778 100644 --- a/systemd-237.tar.xz +++ b/systemd-237.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db6382de9795d96b41a50ab2ac369b54ba49525181bc00a02ff67dfd970c59be -size 4629324 +oid sha256:b420f2ff5841266d03c6691bd8adb705b2c46c391c33610923a23444232633f4 +size 4630076 diff --git a/systemd-mini.changes b/systemd-mini.changes index 792bb192..9cbcfccd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com + +- Remove dropin that was used to turn delegation off for user instances + + Upstream now enables "memory" and "pids" controllers only which + should have a very limited impact on performance compare to the + "cpu" controller. + +------------------------------------------------------------------- +Fri Mar 9 09:30:14 UTC 2018 - fbui@suse.com + +- Import commit 46d6bc9c4f1c05f3b4fcfca754cc59963bd86ce3 + + 2a79f4e78 units: delegate "memory" instead of "cpu" by default for user instances (#8320) (bsc#954765 bnc#953241 fate#320421) + 88174ae85 compat-rules: fix syntax errors spotted by test/rule-syntax-check.py + ------------------------------------------------------------------- Thu Mar 8 15:22:10 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 4c7a162a..bcd65347 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -612,14 +612,6 @@ cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf TTYVTDisallocate=no EOF -# create drop-in to prevent delegate=yes for root user (bsc#954765, -# bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/ -cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf < %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf TTYVTDisallocate=no EOF -# create drop-in to prevent delegate=yes for root user (bsc#954765, -# bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/ -cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf < Date: Tue, 13 Mar 2018 15:13:50 +0000 Subject: [PATCH 365/991] Accepting request 586444 from home:fbui:systemd:Factory - Restore (maybe temporarly) "pam_config --add systemd" During its installation pam-config seems to overwrite the defaults shipped by "pam" for "some" reasons (see bsc#1084924) No idea why but since pam_systemd is not part of the "pam-config" defaults, we need to restore pam_systemd in common-session manually... OBS-URL: https://build.opensuse.org/request/show/586444 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1021 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 9 +++++++-- systemd.changes | 12 ++++++++++++ systemd.spec | 9 +++++++-- 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9cbcfccd..3922a252 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com + +- Restore (maybe temporarly) "pam_config --add systemd" + + During its installation pam-config seems to overwrite the defaults + shipped by "pam" for "some" reasons (see bsc#1084924) + + No idea why but since pam_systemd is not part of the "pam-config" + defaults, we need to restore pam_systemd in common-session + manually... + ------------------------------------------------------------------- Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index bcd65347..50b0231b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -124,6 +124,7 @@ Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding +Requires(post): pam-config >= 0.79-5 %endif %if 0%{?bootstrap} @@ -668,10 +669,14 @@ fi # especially important for appliance builds to avoid an identical # machine ID in all images. if [ $1 -eq 1 ]; then - touch %{_sysconfdir}/machine-id - chmod 666 %{_sysconfdir}/machine-id + touch %{_sysconfdir}/machine-id + chmod 666 %{_sysconfdir}/machine-id fi +%if ! 0%{?bootstrap} +pam-config --add --systemd || : +%endif + %sysusers_create %{_sysusersdir}/systemd.conf [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : diff --git a/systemd.changes b/systemd.changes index 9cbcfccd..3922a252 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com + +- Restore (maybe temporarly) "pam_config --add systemd" + + During its installation pam-config seems to overwrite the defaults + shipped by "pam" for "some" reasons (see bsc#1084924) + + No idea why but since pam_systemd is not part of the "pam-config" + defaults, we need to restore pam_systemd in common-session + manually... + ------------------------------------------------------------------- Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3520a0b2..9135afa7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -122,6 +122,7 @@ Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding +Requires(post): pam-config >= 0.79-5 %endif %if 0%{?bootstrap} @@ -666,10 +667,14 @@ fi # especially important for appliance builds to avoid an identical # machine ID in all images. if [ $1 -eq 1 ]; then - touch %{_sysconfdir}/machine-id - chmod 666 %{_sysconfdir}/machine-id + touch %{_sysconfdir}/machine-id + chmod 666 %{_sysconfdir}/machine-id fi +%if ! 0%{?bootstrap} +pam-config --add --systemd || : +%endif + %sysusers_create %{_sysusersdir}/systemd.conf [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : From c3a3edd8e618c55cfa1cafd2dd35c55d39d7135007aed9999a4cafb109a02c72 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 14 Mar 2018 17:27:51 +0000 Subject: [PATCH 366/991] Accepting request 587018 from home:fbui:systemd:Factory - Add 0001-basic-macros-rename-noreturn-into-_noreturn_.patch This fix a build error triggered by the introduction of the new version of libgpg-error package. Patch submitted to upsream: https://github.com/systemd/systemd/pull/8456 - Turn off the IP sandboxing for systemd-logind Since v235 logind run inside an IPv4/IPv6 sandbox by default. This creates incompatibilites for systems using NIS. OBS-URL: https://build.opensuse.org/request/show/587018 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1022 --- ...cros-rename-noreturn-into-_noreturn_.patch | 201 ++++++++++++++++++ systemd-mini.changes | 17 ++ systemd-mini.spec | 24 ++- systemd.changes | 17 ++ systemd.spec | 24 ++- 5 files changed, 273 insertions(+), 10 deletions(-) create mode 100644 0001-basic-macros-rename-noreturn-into-_noreturn_.patch diff --git a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch new file mode 100644 index 00000000..0aaaf258 --- /dev/null +++ b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch @@ -0,0 +1,201 @@ +From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 14 Mar 2018 18:00:24 +0100 +Subject: [PATCH 1/1] basic/macros: rename noreturn into _noreturn_ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +"noreturn" is reserved and can be used in other header files we include: + + [ 16s] In file included from /usr/include/gcrypt.h:30:0, + [ 16s] from ../src/journal/journal-file.h:26, + [ 16s] from ../src/journal/journal-vacuum.c:31: + [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token + [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); + +Here we include grcrypt.h (which in turns include gpg-error.h) *after* we +"noreturn" was defined in macro.h. +--- + src/basic/log.c | 4 ++-- + src/basic/log.h | 4 ++-- + src/basic/macro.h | 19 +++++++++---------- + src/basic/process-util.c | 2 +- + src/basic/process-util.h | 2 +- + src/core/main.c | 4 ++-- + src/journal/test-journal-interleaving.c | 2 +- + src/shared/pager.c | 2 +- + src/udev/collect/collect.c | 2 +- + 9 files changed, 20 insertions(+), 21 deletions(-) + +diff --git a/src/basic/log.c b/src/basic/log.c +index 7a7f2cbec..16a2431c5 100644 +--- a/src/basic/log.c ++++ b/src/basic/log.c +@@ -814,7 +814,7 @@ static void log_assert( + log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); + } + +-noreturn void log_assert_failed_realm( ++_noreturn_ void log_assert_failed_realm( + LogRealm realm, + const char *text, + const char *file, +@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( + abort(); + } + +-noreturn void log_assert_failed_unreachable_realm( ++_noreturn_ void log_assert_failed_unreachable_realm( + LogRealm realm, + const char *text, + const char *file, +diff --git a/src/basic/log.h b/src/basic/log.h +index efcf0f1bf..314be128a 100644 +--- a/src/basic/log.h ++++ b/src/basic/log.h +@@ -186,7 +186,7 @@ int log_dump_internal( + char *buffer); + + /* Logging for various assertions */ +-noreturn void log_assert_failed_realm( ++_noreturn_ void log_assert_failed_realm( + LogRealm realm, + const char *text, + const char *file, +@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( + #define log_assert_failed(text, ...) \ + log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) + +-noreturn void log_assert_failed_unreachable_realm( ++_noreturn_ void log_assert_failed_unreachable_realm( + LogRealm realm, + const char *text, + const char *file, +diff --git a/src/basic/macro.h b/src/basic/macro.h +index 95be63a20..d8a6432f6 100644 +--- a/src/basic/macro.h ++++ b/src/basic/macro.h +@@ -53,6 +53,15 @@ + #else + #define _fallthrough_ + #endif ++/* Define C11 noreturn without and even on older gcc ++ * compiler versions */ ++#ifndef noreturn ++#if __STDC_VERSION__ >= 201112L ++#define _noreturn_ _Noreturn ++#else ++#define _noreturn_ __attribute__((noreturn)) ++#endif ++#endif + + /* Temporarily disable some warnings */ + #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ +@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { + #endif + #endif + +-/* Define C11 noreturn without and even on older gcc +- * compiler versions */ +-#ifndef noreturn +-#if __STDC_VERSION__ >= 201112L +-#define noreturn _Noreturn +-#else +-#define noreturn __attribute__((noreturn)) +-#endif +-#endif +- + #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ + static inline void func##p(type *p) { \ + if (*p) \ +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index aa9846db5..e6120af5b 100644 +--- a/src/basic/process-util.c ++++ b/src/basic/process-util.c +@@ -987,7 +987,7 @@ bool is_main_thread(void) { + return cached > 0; + } + +-noreturn void freeze(void) { ++_noreturn_ void freeze(void) { + + log_close(); + +diff --git a/src/basic/process-util.h b/src/basic/process-util.h +index 93029e36e..5170adec7 100644 +--- a/src/basic/process-util.h ++++ b/src/basic/process-util.h +@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); + + bool is_main_thread(void); + +-noreturn void freeze(void); ++_noreturn_ void freeze(void); + + bool oom_score_adjust_is_valid(int oa); + +diff --git a/src/core/main.c b/src/core/main.c +index 076846a41..4b2d14923 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; + static sd_id128_t arg_machine_id = {}; + static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; + +-noreturn static void freeze_or_reboot(void) { ++_noreturn_ static void freeze_or_reboot(void) { + + if (arg_crash_reboot) { + log_notice("Rebooting in 10s..."); +@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { + freeze(); + } + +-noreturn static void crash(int sig) { ++_noreturn_ static void crash(int sig) { + struct sigaction sa; + pid_t pid; + +diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c +index 5a88b2774..d87bdbdd3 100644 +--- a/src/journal/test-journal-interleaving.c ++++ b/src/journal/test-journal-interleaving.c +@@ -37,7 +37,7 @@ + + static bool arg_keep = false; + +-noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { ++_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { + log_internal(LOG_CRIT, error, file, line, func, + "'%s' failed at %s:%u (%s): %m", text, file, line, func); + abort(); +diff --git a/src/shared/pager.c b/src/shared/pager.c +index 75db3c985..681af9c40 100644 +--- a/src/shared/pager.c ++++ b/src/shared/pager.c +@@ -47,7 +47,7 @@ static int stored_stderr = -1; + static bool stdout_redirected = false; + static bool stderr_redirected = false; + +-noreturn static void pager_fallback(void) { ++_noreturn_ static void pager_fallback(void) { + int r; + + r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); +diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c +index 2821640e9..c8fa47b3d 100644 +--- a/src/udev/collect/collect.c ++++ b/src/udev/collect/collect.c +@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) + return container_of(node, struct _mate, node); + } + +-noreturn static void sig_alrm(int signo) ++_noreturn_ static void sig_alrm(int signo) + { + exit(4); + } +-- +2.16.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3922a252..72f79cb8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com + +- Add 0001-basic-macros-rename-noreturn-into-_noreturn_.patch + + This fix a build error triggered by the introduction of the new + version of libgpg-error package. Patch submitted to upsream: + https://github.com/systemd/systemd/pull/8456 + +------------------------------------------------------------------- +Wed Mar 14 08:05:07 UTC 2018 - fbui@suse.com + +- Turn off the IP sandboxing for systemd-logind + + Since v235 logind run inside an IPv4/IPv6 sandbox by default. This + creates incompatibilites for systems using NIS. + ------------------------------------------------------------------- Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 50b0231b..f25ca2ef 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -162,6 +162,7 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -420,7 +421,7 @@ Some systemd commands offer bash completion, but it is an optional dependency. %prep %setup -q -n systemd-%{version} -# %autopatch -p1 +%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -606,13 +607,24 @@ mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf +mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf < %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf +mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf < Date: Fri, 16 Mar 2018 09:38:08 +0000 Subject: [PATCH 367/991] Accepting request 587019 from Base:System OBS-URL: https://build.opensuse.org/request/show/587019 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=274 --- ...cros-rename-noreturn-into-_noreturn_.patch | 201 ++++++++++++++++++ 60-ssd-scheduler.rules | 11 + 80-hotplug-cpu-mem.rules | 24 +++ 99-wakeup-from-idle.rules | 3 + systemd-234.tar.xz | 3 - systemd-237.tar.xz | 3 + systemd-mini.changes | 103 +++++++++ systemd-mini.spec | 90 ++++---- systemd.changes | 103 +++++++++ systemd.spec | 90 ++++---- udev-remount-tmpfs | 15 -- 11 files changed, 550 insertions(+), 96 deletions(-) create mode 100644 0001-basic-macros-rename-noreturn-into-_noreturn_.patch create mode 100644 60-ssd-scheduler.rules create mode 100644 80-hotplug-cpu-mem.rules create mode 100644 99-wakeup-from-idle.rules delete mode 100644 systemd-234.tar.xz create mode 100644 systemd-237.tar.xz delete mode 100644 udev-remount-tmpfs diff --git a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch new file mode 100644 index 00000000..0aaaf258 --- /dev/null +++ b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch @@ -0,0 +1,201 @@ +From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 14 Mar 2018 18:00:24 +0100 +Subject: [PATCH 1/1] basic/macros: rename noreturn into _noreturn_ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +"noreturn" is reserved and can be used in other header files we include: + + [ 16s] In file included from /usr/include/gcrypt.h:30:0, + [ 16s] from ../src/journal/journal-file.h:26, + [ 16s] from ../src/journal/journal-vacuum.c:31: + [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token + [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); + +Here we include grcrypt.h (which in turns include gpg-error.h) *after* we +"noreturn" was defined in macro.h. +--- + src/basic/log.c | 4 ++-- + src/basic/log.h | 4 ++-- + src/basic/macro.h | 19 +++++++++---------- + src/basic/process-util.c | 2 +- + src/basic/process-util.h | 2 +- + src/core/main.c | 4 ++-- + src/journal/test-journal-interleaving.c | 2 +- + src/shared/pager.c | 2 +- + src/udev/collect/collect.c | 2 +- + 9 files changed, 20 insertions(+), 21 deletions(-) + +diff --git a/src/basic/log.c b/src/basic/log.c +index 7a7f2cbec..16a2431c5 100644 +--- a/src/basic/log.c ++++ b/src/basic/log.c +@@ -814,7 +814,7 @@ static void log_assert( + log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); + } + +-noreturn void log_assert_failed_realm( ++_noreturn_ void log_assert_failed_realm( + LogRealm realm, + const char *text, + const char *file, +@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( + abort(); + } + +-noreturn void log_assert_failed_unreachable_realm( ++_noreturn_ void log_assert_failed_unreachable_realm( + LogRealm realm, + const char *text, + const char *file, +diff --git a/src/basic/log.h b/src/basic/log.h +index efcf0f1bf..314be128a 100644 +--- a/src/basic/log.h ++++ b/src/basic/log.h +@@ -186,7 +186,7 @@ int log_dump_internal( + char *buffer); + + /* Logging for various assertions */ +-noreturn void log_assert_failed_realm( ++_noreturn_ void log_assert_failed_realm( + LogRealm realm, + const char *text, + const char *file, +@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( + #define log_assert_failed(text, ...) \ + log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) + +-noreturn void log_assert_failed_unreachable_realm( ++_noreturn_ void log_assert_failed_unreachable_realm( + LogRealm realm, + const char *text, + const char *file, +diff --git a/src/basic/macro.h b/src/basic/macro.h +index 95be63a20..d8a6432f6 100644 +--- a/src/basic/macro.h ++++ b/src/basic/macro.h +@@ -53,6 +53,15 @@ + #else + #define _fallthrough_ + #endif ++/* Define C11 noreturn without and even on older gcc ++ * compiler versions */ ++#ifndef noreturn ++#if __STDC_VERSION__ >= 201112L ++#define _noreturn_ _Noreturn ++#else ++#define _noreturn_ __attribute__((noreturn)) ++#endif ++#endif + + /* Temporarily disable some warnings */ + #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ +@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { + #endif + #endif + +-/* Define C11 noreturn without and even on older gcc +- * compiler versions */ +-#ifndef noreturn +-#if __STDC_VERSION__ >= 201112L +-#define noreturn _Noreturn +-#else +-#define noreturn __attribute__((noreturn)) +-#endif +-#endif +- + #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ + static inline void func##p(type *p) { \ + if (*p) \ +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index aa9846db5..e6120af5b 100644 +--- a/src/basic/process-util.c ++++ b/src/basic/process-util.c +@@ -987,7 +987,7 @@ bool is_main_thread(void) { + return cached > 0; + } + +-noreturn void freeze(void) { ++_noreturn_ void freeze(void) { + + log_close(); + +diff --git a/src/basic/process-util.h b/src/basic/process-util.h +index 93029e36e..5170adec7 100644 +--- a/src/basic/process-util.h ++++ b/src/basic/process-util.h +@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); + + bool is_main_thread(void); + +-noreturn void freeze(void); ++_noreturn_ void freeze(void); + + bool oom_score_adjust_is_valid(int oa); + +diff --git a/src/core/main.c b/src/core/main.c +index 076846a41..4b2d14923 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; + static sd_id128_t arg_machine_id = {}; + static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; + +-noreturn static void freeze_or_reboot(void) { ++_noreturn_ static void freeze_or_reboot(void) { + + if (arg_crash_reboot) { + log_notice("Rebooting in 10s..."); +@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { + freeze(); + } + +-noreturn static void crash(int sig) { ++_noreturn_ static void crash(int sig) { + struct sigaction sa; + pid_t pid; + +diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c +index 5a88b2774..d87bdbdd3 100644 +--- a/src/journal/test-journal-interleaving.c ++++ b/src/journal/test-journal-interleaving.c +@@ -37,7 +37,7 @@ + + static bool arg_keep = false; + +-noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { ++_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { + log_internal(LOG_CRIT, error, file, line, func, + "'%s' failed at %s:%u (%s): %m", text, file, line, func); + abort(); +diff --git a/src/shared/pager.c b/src/shared/pager.c +index 75db3c985..681af9c40 100644 +--- a/src/shared/pager.c ++++ b/src/shared/pager.c +@@ -47,7 +47,7 @@ static int stored_stderr = -1; + static bool stdout_redirected = false; + static bool stderr_redirected = false; + +-noreturn static void pager_fallback(void) { ++_noreturn_ static void pager_fallback(void) { + int r; + + r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); +diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c +index 2821640e9..c8fa47b3d 100644 +--- a/src/udev/collect/collect.c ++++ b/src/udev/collect/collect.c +@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) + return container_of(node, struct _mate, node); + } + +-noreturn static void sig_alrm(int signo) ++_noreturn_ static void sig_alrm(int signo) + { + exit(4); + } +-- +2.16.2 + diff --git a/60-ssd-scheduler.rules b/60-ssd-scheduler.rules new file mode 100644 index 00000000..43aa8ea7 --- /dev/null +++ b/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + +ACTION!="add", GOTO="ssd_scheduler_end" +SUBSYSTEM!="block", GOTO="ssd_scheduler_end" + +IMPORT{cmdline}="elevator" +ENV{elevator}=="*?", GOTO="ssd_scheduler_end" + +KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" + +LABEL="ssd_scheduler_end" diff --git a/80-hotplug-cpu-mem.rules b/80-hotplug-cpu-mem.rules new file mode 100644 index 00000000..86a6c272 --- /dev/null +++ b/80-hotplug-cpu-mem.rules @@ -0,0 +1,24 @@ +# do not edit this file, it will be overwritten on update + +# +# Hotplug physical CPU +# +SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1" + +# +# Hotplug physical memory. Instances of tmpfs are remounted so their +# size are recalculated. This might be needed if some sizes were +# specified relative to the total amount of memory (boo#869603). For +# now make it simple and remount all tmpfs regardless of how their +# size are specified. It should be handled by the kernel as it has a +# lot of shortcomings anyways (tmpfs mounted by other processes, mount +# namespaces, ...) +# +SUBSYSTEM=="memory", ACTION=="add", PROGRAM=="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ + ATTR{state}="online", \ + RUN+="/bin/sh -c ' \ + while read src dst fs opts unused; do \ + case $fs in \ + tmpfs) mount -o remount \"$dst\" ;; \ + esac \ + done %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf +mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf < %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf +mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf </dev/null 2>&1 - STATE=$? - if [ "$STATE" -gt 0 ]; then - logger "Remount of $i failed with state $STATE" - fi - done -fi From b88a203c9a1251a56dd9fbe2521efb946aa3cddb1cde4a416dd8e744f078bb56 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 28 Mar 2018 13:00:43 +0000 Subject: [PATCH 368/991] Accepting request 592039 from home:fbui:systemd:Factory - Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) - Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch It's been merged in the git repo. - Rename the tarball So it's clear that it contains some additional patches on top of the upstream version. Use the commit hash in the name so the exact version can easily be identified. Provide _service file which can be used to retrieve the tarball from the git repo (with "osc service disabledrun"). - Split systemd-coredump sub-package off (bsc#1083849) - Don't ship machines.target in systemd-container but in systemd main package machines.target is supposed to be a standard target for starting/stopping all containers. systemd-nspawn is the main user of it but other container managers could also make use of it. - Build a mini variant of systemd-container So we don't have to manually track and remove all files that should be shipped by systemd-container in the case of a bootstrap build. - Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) This is needed when we upgrade from SLE11. OBS-URL: https://build.opensuse.org/request/show/592039 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1023 --- ...cros-rename-noreturn-into-_noreturn_.patch | 201 ------------------ _service | 16 ++ systemd-237.tar.xz | 3 - systemd-mini.changes | 57 +++++ systemd-mini.spec | 89 +++++--- systemd-v237+suse.52.g14b3e00c3.tar.xz | 3 + systemd.changes | 57 +++++ systemd.spec | 89 +++++--- 8 files changed, 255 insertions(+), 260 deletions(-) delete mode 100644 0001-basic-macros-rename-noreturn-into-_noreturn_.patch create mode 100644 _service delete mode 100644 systemd-237.tar.xz create mode 100644 systemd-v237+suse.52.g14b3e00c3.tar.xz diff --git a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch deleted file mode 100644 index 0aaaf258..00000000 --- a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch +++ /dev/null @@ -1,201 +0,0 @@ -From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 14 Mar 2018 18:00:24 +0100 -Subject: [PATCH 1/1] basic/macros: rename noreturn into _noreturn_ -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -"noreturn" is reserved and can be used in other header files we include: - - [ 16s] In file included from /usr/include/gcrypt.h:30:0, - [ 16s] from ../src/journal/journal-file.h:26, - [ 16s] from ../src/journal/journal-vacuum.c:31: - [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token - [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); - -Here we include grcrypt.h (which in turns include gpg-error.h) *after* we -"noreturn" was defined in macro.h. ---- - src/basic/log.c | 4 ++-- - src/basic/log.h | 4 ++-- - src/basic/macro.h | 19 +++++++++---------- - src/basic/process-util.c | 2 +- - src/basic/process-util.h | 2 +- - src/core/main.c | 4 ++-- - src/journal/test-journal-interleaving.c | 2 +- - src/shared/pager.c | 2 +- - src/udev/collect/collect.c | 2 +- - 9 files changed, 20 insertions(+), 21 deletions(-) - -diff --git a/src/basic/log.c b/src/basic/log.c -index 7a7f2cbec..16a2431c5 100644 ---- a/src/basic/log.c -+++ b/src/basic/log.c -@@ -814,7 +814,7 @@ static void log_assert( - log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); - } - --noreturn void log_assert_failed_realm( -+_noreturn_ void log_assert_failed_realm( - LogRealm realm, - const char *text, - const char *file, -@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( - abort(); - } - --noreturn void log_assert_failed_unreachable_realm( -+_noreturn_ void log_assert_failed_unreachable_realm( - LogRealm realm, - const char *text, - const char *file, -diff --git a/src/basic/log.h b/src/basic/log.h -index efcf0f1bf..314be128a 100644 ---- a/src/basic/log.h -+++ b/src/basic/log.h -@@ -186,7 +186,7 @@ int log_dump_internal( - char *buffer); - - /* Logging for various assertions */ --noreturn void log_assert_failed_realm( -+_noreturn_ void log_assert_failed_realm( - LogRealm realm, - const char *text, - const char *file, -@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( - #define log_assert_failed(text, ...) \ - log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) - --noreturn void log_assert_failed_unreachable_realm( -+_noreturn_ void log_assert_failed_unreachable_realm( - LogRealm realm, - const char *text, - const char *file, -diff --git a/src/basic/macro.h b/src/basic/macro.h -index 95be63a20..d8a6432f6 100644 ---- a/src/basic/macro.h -+++ b/src/basic/macro.h -@@ -53,6 +53,15 @@ - #else - #define _fallthrough_ - #endif -+/* Define C11 noreturn without and even on older gcc -+ * compiler versions */ -+#ifndef noreturn -+#if __STDC_VERSION__ >= 201112L -+#define _noreturn_ _Noreturn -+#else -+#define _noreturn_ __attribute__((noreturn)) -+#endif -+#endif - - /* Temporarily disable some warnings */ - #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ -@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { - #endif - #endif - --/* Define C11 noreturn without and even on older gcc -- * compiler versions */ --#ifndef noreturn --#if __STDC_VERSION__ >= 201112L --#define noreturn _Noreturn --#else --#define noreturn __attribute__((noreturn)) --#endif --#endif -- - #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ - static inline void func##p(type *p) { \ - if (*p) \ -diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index aa9846db5..e6120af5b 100644 ---- a/src/basic/process-util.c -+++ b/src/basic/process-util.c -@@ -987,7 +987,7 @@ bool is_main_thread(void) { - return cached > 0; - } - --noreturn void freeze(void) { -+_noreturn_ void freeze(void) { - - log_close(); - -diff --git a/src/basic/process-util.h b/src/basic/process-util.h -index 93029e36e..5170adec7 100644 ---- a/src/basic/process-util.h -+++ b/src/basic/process-util.h -@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); - - bool is_main_thread(void); - --noreturn void freeze(void); -+_noreturn_ void freeze(void); - - bool oom_score_adjust_is_valid(int oa); - -diff --git a/src/core/main.c b/src/core/main.c -index 076846a41..4b2d14923 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; - static sd_id128_t arg_machine_id = {}; - static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; - --noreturn static void freeze_or_reboot(void) { -+_noreturn_ static void freeze_or_reboot(void) { - - if (arg_crash_reboot) { - log_notice("Rebooting in 10s..."); -@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { - freeze(); - } - --noreturn static void crash(int sig) { -+_noreturn_ static void crash(int sig) { - struct sigaction sa; - pid_t pid; - -diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c -index 5a88b2774..d87bdbdd3 100644 ---- a/src/journal/test-journal-interleaving.c -+++ b/src/journal/test-journal-interleaving.c -@@ -37,7 +37,7 @@ - - static bool arg_keep = false; - --noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { -+_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { - log_internal(LOG_CRIT, error, file, line, func, - "'%s' failed at %s:%u (%s): %m", text, file, line, func); - abort(); -diff --git a/src/shared/pager.c b/src/shared/pager.c -index 75db3c985..681af9c40 100644 ---- a/src/shared/pager.c -+++ b/src/shared/pager.c -@@ -47,7 +47,7 @@ static int stored_stderr = -1; - static bool stdout_redirected = false; - static bool stderr_redirected = false; - --noreturn static void pager_fallback(void) { -+_noreturn_ static void pager_fallback(void) { - int r; - - r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); -diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c -index 2821640e9..c8fa47b3d 100644 ---- a/src/udev/collect/collect.c -+++ b/src/udev/collect/collect.c -@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) - return container_of(node, struct _mate, node); - } - --noreturn static void sig_alrm(int signo) -+_noreturn_ static void sig_alrm(int signo) - { - exit(4); - } --- -2.16.2 - diff --git a/_service b/_service new file mode 100644 index 00000000..43a94db3 --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + + + + git + https://github.com/openSUSE/systemd.git + systemd + @PARENT_TAG@+suse.@TAG_OFFSET@.g%h + openSUSE-Factory + + + *systemd-v237+suse.*.tar + xz + + diff --git a/systemd-237.tar.xz b/systemd-237.tar.xz deleted file mode 100644 index 23ed3778..00000000 --- a/systemd-237.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b420f2ff5841266d03c6691bd8adb705b2c46c391c33610923a23444232633f4 -size 4630076 diff --git a/systemd-mini.changes b/systemd-mini.changes index 72f79cb8..03b67bb7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com + +- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e + + e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) + fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) + 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() + c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow + 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) + 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) + +- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch + + It's been merged in the git repo. + +------------------------------------------------------------------- +Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com + +- Rename the tarball + + So it's clear that it contains some additional patches on top of the + upstream version. Use the commit hash in the name so the exact + version can easily be identified. + + Provide _service file which can be used to retrieve the tarball from + the git repo (with "osc service disabledrun"). + +------------------------------------------------------------------- +Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com + +- Split systemd-coredump sub-package off (bsc#1083849) + +------------------------------------------------------------------- +Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com + +- Don't ship machines.target in systemd-container but in systemd main package + + machines.target is supposed to be a standard target for + starting/stopping all containers. systemd-nspawn is the main user of + it but other container managers could also make use of it. + +------------------------------------------------------------------- +Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com + +- Build a mini variant of systemd-container + + So we don't have to manually track and remove all files that should + be shipped by systemd-container in the case of a bootstrap build. + +------------------------------------------------------------------- +Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com + +- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) + + This is needed when we upgrade from SLE11. + ------------------------------------------------------------------- Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f25ca2ef..1b81f7cb 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,6 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 +%define suse_version +suse.52.g14b3e00c3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -138,7 +139,7 @@ Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 -Source0: systemd-%{version}.tar.xz +Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert @@ -162,7 +163,6 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -296,15 +296,34 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package container +%package coredump%{mini} +Summary: Systemd tools for coredump management +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/coredumpctl +%if 0%{?bootstrap} +Conflicts: systemd-coredump +%endif + +%description coredump%{mini} +Systemd tools to store and manage coredumps. + +This package contains systemd-coredump, coredumpctl. + +%package container%{?mini} Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn +%if 0%{?bootstrap} +Conflicts: systemd-container +%endif -%description container +%description container%{?mini} Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -420,8 +439,8 @@ Conflicts: systemd-bash-completion Some systemd commands offer bash completion, but it is an optional dependency. %prep -%setup -q -n systemd-%{version} -%autopatch -p1 +%setup -q -n systemd-v%{version}%{suse_version} +# %autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -478,9 +497,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm %{buildroot}%{_bindir}/systemd-nspawn -rm %{buildroot}%{_unitdir}/systemd-nspawn@.service -rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -724,16 +740,15 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -if [ $1 -gt 1 ]; then - # Migrate i18n setting stuff thout could be previously - # configured in /etc/sysconfig but now is defined only in the - # systemd official places (/etc/locale.conf, - # /etc/vconsole.conf, etc...). This is done only once. - test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : - } -fi +# Migrate i18n settings that could be previously configured in +# /etc/sysconfig but now is defined only in the systemd official +# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done +# only once usually during package updates but might be also needed +# during installations when we upgrade from a distro using SysV init. +test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : +} %postun %systemd_postun @@ -789,8 +804,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%if ! 0%{?bootstrap} -%post container +%post container%{?mini} %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -811,6 +825,7 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -876,7 +891,6 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot @@ -919,19 +933,22 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif +%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service %exclude %{_unitdir}/dbus-org.freedesktop.machine1.service %exclude %{_unitdir}/var-lib-machines.mount %exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/machines.target.wants %exclude %{_unitdir}/*.target.wants/var-lib-machines.mount %endif %if %{with importd} @@ -1006,7 +1023,6 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1022,7 +1038,6 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1111,6 +1126,9 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man1/coredumpctl* +%exclude %{_mandir}/man5/coredump.conf* +%exclude %{_mandir}/man8/systemd-coredump* %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1129,7 +1147,6 @@ fi %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight @@ -1239,8 +1256,21 @@ fi %{_mandir}/man3/*udev*.3* %endif +%files coredump%{?mini} +%defattr(-,root,root) +%{_bindir}/coredumpctl +%{_unitdir}/systemd-coredump* +%{_unitdir}/sockets.target.wants/systemd-coredump.socket +%{_sysctldir}/50-coredump.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%dir %{_localstatedir}/lib/systemd/coredump %if ! 0%{?bootstrap} -%files container +%{_mandir}/man1/coredumpctl* +%{_mandir}/man5/coredump.conf* +%{_mandir}/man8/systemd-coredump* +%endif + +%files container%{?mini} %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service @@ -1252,7 +1282,7 @@ fi %{_unitdir}/dbus-org.freedesktop.machine1.service %{_unitdir}/var-lib-machines.mount %{_unitdir}/machine.slice -%{_unitdir}/machines.target* +%{_unitdir}/machines.target.wants %{_unitdir}/*.target.wants/var-lib-machines.mount %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf @@ -1269,6 +1299,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if ! 0%{?bootstrap} %{_mandir}/man*/*nspawn* %if %{with machined} %{_mandir}/man*/machinectl* @@ -1277,7 +1308,9 @@ fi %if %{with importd} %{_mandir}/man*/systemd-importd* %endif +%endif +%if ! 0%{?bootstrap} %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ diff --git a/systemd-v237+suse.52.g14b3e00c3.tar.xz b/systemd-v237+suse.52.g14b3e00c3.tar.xz new file mode 100644 index 00000000..d03f0d39 --- /dev/null +++ b/systemd-v237+suse.52.g14b3e00c3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbca10a39e2efa0479fe5d81fb983e08ac4e9655b85e382d8247683a3151834f +size 4627336 diff --git a/systemd.changes b/systemd.changes index 72f79cb8..03b67bb7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com + +- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e + + e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) + fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) + 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() + c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow + 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) + 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) + +- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch + + It's been merged in the git repo. + +------------------------------------------------------------------- +Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com + +- Rename the tarball + + So it's clear that it contains some additional patches on top of the + upstream version. Use the commit hash in the name so the exact + version can easily be identified. + + Provide _service file which can be used to retrieve the tarball from + the git repo (with "osc service disabledrun"). + +------------------------------------------------------------------- +Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com + +- Split systemd-coredump sub-package off (bsc#1083849) + +------------------------------------------------------------------- +Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com + +- Don't ship machines.target in systemd-container but in systemd main package + + machines.target is supposed to be a standard target for + starting/stopping all containers. systemd-nspawn is the main user of + it but other container managers could also make use of it. + +------------------------------------------------------------------- +Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com + +- Build a mini variant of systemd-container + + So we don't have to manually track and remove all files that should + be shipped by systemd-container in the case of a bootstrap build. + +------------------------------------------------------------------- +Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com + +- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) + + This is needed when we upgrade from SLE11. + ------------------------------------------------------------------- Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ad57f81d..d6d7c696 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,6 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 +%define suse_version +suse.52.g14b3e00c3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -136,7 +137,7 @@ Obsoletes: systemd-analyze < 201 Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 -Source0: systemd-%{version}.tar.xz +Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert @@ -160,7 +161,6 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -294,15 +294,34 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package container +%package coredump%{mini} +Summary: Systemd tools for coredump management +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/coredumpctl +%if 0%{?bootstrap} +Conflicts: systemd-coredump +%endif + +%description coredump%{mini} +Systemd tools to store and manage coredumps. + +This package contains systemd-coredump, coredumpctl. + +%package container%{?mini} Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn +%if 0%{?bootstrap} +Conflicts: systemd-container +%endif -%description container +%description container%{?mini} Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -418,8 +437,8 @@ Conflicts: systemd-bash-completion Some systemd commands offer bash completion, but it is an optional dependency. %prep -%setup -q -n systemd-%{version} -%autopatch -p1 +%setup -q -n systemd-v%{version}%{suse_version} +# %autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -476,9 +495,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm %{buildroot}%{_bindir}/systemd-nspawn -rm %{buildroot}%{_unitdir}/systemd-nspawn@.service -rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -722,16 +738,15 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -if [ $1 -gt 1 ]; then - # Migrate i18n setting stuff thout could be previously - # configured in /etc/sysconfig but now is defined only in the - # systemd official places (/etc/locale.conf, - # /etc/vconsole.conf, etc...). This is done only once. - test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : - } -fi +# Migrate i18n settings that could be previously configured in +# /etc/sysconfig but now is defined only in the systemd official +# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done +# only once usually during package updates but might be also needed +# during installations when we upgrade from a distro using SysV init. +test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : +} %postun %systemd_postun @@ -787,8 +802,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%if ! 0%{?bootstrap} -%post container +%post container%{?mini} %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -809,6 +823,7 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -874,7 +889,6 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot @@ -917,19 +931,22 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif +%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service %exclude %{_unitdir}/dbus-org.freedesktop.machine1.service %exclude %{_unitdir}/var-lib-machines.mount %exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/machines.target.wants %exclude %{_unitdir}/*.target.wants/var-lib-machines.mount %endif %if %{with importd} @@ -1004,7 +1021,6 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1020,7 +1036,6 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1109,6 +1124,9 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man1/coredumpctl* +%exclude %{_mandir}/man5/coredump.conf* +%exclude %{_mandir}/man8/systemd-coredump* %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1127,7 +1145,6 @@ fi %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight @@ -1237,8 +1254,21 @@ fi %{_mandir}/man3/*udev*.3* %endif +%files coredump%{?mini} +%defattr(-,root,root) +%{_bindir}/coredumpctl +%{_unitdir}/systemd-coredump* +%{_unitdir}/sockets.target.wants/systemd-coredump.socket +%{_sysctldir}/50-coredump.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%dir %{_localstatedir}/lib/systemd/coredump %if ! 0%{?bootstrap} -%files container +%{_mandir}/man1/coredumpctl* +%{_mandir}/man5/coredump.conf* +%{_mandir}/man8/systemd-coredump* +%endif + +%files container%{?mini} %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service @@ -1250,7 +1280,7 @@ fi %{_unitdir}/dbus-org.freedesktop.machine1.service %{_unitdir}/var-lib-machines.mount %{_unitdir}/machine.slice -%{_unitdir}/machines.target* +%{_unitdir}/machines.target.wants %{_unitdir}/*.target.wants/var-lib-machines.mount %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf @@ -1267,6 +1297,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if ! 0%{?bootstrap} %{_mandir}/man*/*nspawn* %if %{with machined} %{_mandir}/man*/machinectl* @@ -1275,7 +1306,9 @@ fi %if %{with importd} %{_mandir}/man*/systemd-importd* %endif +%endif +%if ! 0%{?bootstrap} %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ From b58ab645fc796f1bb2197829da22aee8ca31b544f0eb5819addd29e9be369355 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 28 Mar 2018 15:27:54 +0000 Subject: [PATCH 369/991] Accepting request 592079 from home:fbui:systemd:Factory - Drop systemd-bash-completion sub-package Now we directly ship the completion scripts from the main package as we already do for zsh. I couldn't see any advantages in this split. - Be more accurate when specifiying the tools version we provide - Make sure rpm won't expand %autopatch even if it's commented - stat(1) as well as systemctl are not use in %post section of udev So remove stat(1) from the list of dep and move systemctl to the requirements of %postun since it's called from there. - Be more accurate when specifiying the tools version we provide - Make sure rpm won't expand %autopatch even if it's commented - stat(1) as well as systemctl are not use in %post section of udev So remove stat(1) from the list of dep and move systemctl to the requirements of %postun since it's called from there. OBS-URL: https://build.opensuse.org/request/show/592079 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1024 --- systemd-mini.changes | 26 ++++++++++++++++++++++++++ systemd-mini.spec | 39 +++++++++++---------------------------- systemd.changes | 26 ++++++++++++++++++++++++++ systemd.spec | 39 +++++++++++---------------------------- 4 files changed, 74 insertions(+), 56 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 03b67bb7..aecf2d57 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com + +- Drop systemd-bash-completion sub-package + + Now we directly ship the completion scripts from the main package as + we already do for zsh. I couldn't see any advantages in this split. + +------------------------------------------------------------------- +Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com + +- Be more accurate when specifiying the tools version we provide + +------------------------------------------------------------------- +Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com + +- Make sure rpm won't expand %autopatch even if it's commented + +------------------------------------------------------------------- +Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com + +- stat(1) as well as systemctl are not use in %post section of udev + + So remove stat(1) from the list of dep and move systemctl to the + requirements of %postun since it's called from there. + ------------------------------------------------------------------- Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1b81f7cb..4389ae03 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -121,7 +121,6 @@ Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) -Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -136,7 +135,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -235,12 +234,10 @@ License: GPL-2.0-only Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware -Requires(pre): /usr/bin/stat Requires(post): sed -Requires(post): /usr/bin/systemctl - Requires(post): coreutils Requires(postun): coreutils +Requires(postun): /usr/bin/systemctl Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 @@ -252,7 +249,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -287,8 +284,8 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev1 = %{version} +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev1 = %{version}-%{release} Conflicts: libudev-devel %endif @@ -425,22 +422,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1-or-later -Group: System/Base -Requires: bash-completion -BuildArch: noarch -%if 0%{?bootstrap} -Conflicts: systemd-bash-completion -%endif - -%description bash-completion -Some systemd commands offer bash completion, but it is an optional dependency. - %prep %setup -q -n systemd-v%{version}%{suse_version} -# %autopatch -p1 +# %%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1151,6 +1135,11 @@ fi %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed + +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* @@ -1363,10 +1352,4 @@ fi %{_datadir}/systemd/gatewayd %endif -%files bash-completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - %changelog diff --git a/systemd.changes b/systemd.changes index 03b67bb7..aecf2d57 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com + +- Drop systemd-bash-completion sub-package + + Now we directly ship the completion scripts from the main package as + we already do for zsh. I couldn't see any advantages in this split. + +------------------------------------------------------------------- +Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com + +- Be more accurate when specifiying the tools version we provide + +------------------------------------------------------------------- +Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com + +- Make sure rpm won't expand %autopatch even if it's commented + +------------------------------------------------------------------- +Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com + +- stat(1) as well as systemctl are not use in %post section of udev + + So remove stat(1) from the list of dep and move systemctl to the + requirements of %postun since it's called from there. + ------------------------------------------------------------------- Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d6d7c696..d5f1d1c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -119,7 +119,6 @@ Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) -Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -134,7 +133,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -233,12 +232,10 @@ License: GPL-2.0-only Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware -Requires(pre): /usr/bin/stat Requires(post): sed -Requires(post): /usr/bin/systemctl - Requires(post): coreutils Requires(postun): coreutils +Requires(postun): /usr/bin/systemctl Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 @@ -250,7 +247,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -285,8 +282,8 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev1 = %{version} +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev1 = %{version}-%{release} Conflicts: libudev-devel %endif @@ -423,22 +420,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1-or-later -Group: System/Base -Requires: bash-completion -BuildArch: noarch -%if 0%{?bootstrap} -Conflicts: systemd-bash-completion -%endif - -%description bash-completion -Some systemd commands offer bash completion, but it is an optional dependency. - %prep %setup -q -n systemd-v%{version}%{suse_version} -# %autopatch -p1 +# %%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1149,6 +1133,11 @@ fi %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed + +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* @@ -1361,10 +1350,4 @@ fi %{_datadir}/systemd/gatewayd %endif -%files bash-completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - %changelog From 76e2fc12c5480efbb8594c66148a7fde6820815fa5af52b67bafadcd3d395da2 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 30 Mar 2018 10:02:25 +0000 Subject: [PATCH 370/991] Accepting request 592081 from Base:System OBS-URL: https://build.opensuse.org/request/show/592081 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=275 --- ...cros-rename-noreturn-into-_noreturn_.patch | 201 ------------------ _service | 16 ++ systemd-237.tar.xz | 3 - systemd-mini.changes | 83 ++++++++ systemd-mini.spec | 126 ++++++----- systemd-v237+suse.52.g14b3e00c3.tar.xz | 3 + systemd.changes | 83 ++++++++ systemd.spec | 126 ++++++----- 8 files changed, 327 insertions(+), 314 deletions(-) delete mode 100644 0001-basic-macros-rename-noreturn-into-_noreturn_.patch create mode 100644 _service delete mode 100644 systemd-237.tar.xz create mode 100644 systemd-v237+suse.52.g14b3e00c3.tar.xz diff --git a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch b/0001-basic-macros-rename-noreturn-into-_noreturn_.patch deleted file mode 100644 index 0aaaf258..00000000 --- a/0001-basic-macros-rename-noreturn-into-_noreturn_.patch +++ /dev/null @@ -1,201 +0,0 @@ -From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 14 Mar 2018 18:00:24 +0100 -Subject: [PATCH 1/1] basic/macros: rename noreturn into _noreturn_ -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -"noreturn" is reserved and can be used in other header files we include: - - [ 16s] In file included from /usr/include/gcrypt.h:30:0, - [ 16s] from ../src/journal/journal-file.h:26, - [ 16s] from ../src/journal/journal-vacuum.c:31: - [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token - [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); - -Here we include grcrypt.h (which in turns include gpg-error.h) *after* we -"noreturn" was defined in macro.h. ---- - src/basic/log.c | 4 ++-- - src/basic/log.h | 4 ++-- - src/basic/macro.h | 19 +++++++++---------- - src/basic/process-util.c | 2 +- - src/basic/process-util.h | 2 +- - src/core/main.c | 4 ++-- - src/journal/test-journal-interleaving.c | 2 +- - src/shared/pager.c | 2 +- - src/udev/collect/collect.c | 2 +- - 9 files changed, 20 insertions(+), 21 deletions(-) - -diff --git a/src/basic/log.c b/src/basic/log.c -index 7a7f2cbec..16a2431c5 100644 ---- a/src/basic/log.c -+++ b/src/basic/log.c -@@ -814,7 +814,7 @@ static void log_assert( - log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); - } - --noreturn void log_assert_failed_realm( -+_noreturn_ void log_assert_failed_realm( - LogRealm realm, - const char *text, - const char *file, -@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( - abort(); - } - --noreturn void log_assert_failed_unreachable_realm( -+_noreturn_ void log_assert_failed_unreachable_realm( - LogRealm realm, - const char *text, - const char *file, -diff --git a/src/basic/log.h b/src/basic/log.h -index efcf0f1bf..314be128a 100644 ---- a/src/basic/log.h -+++ b/src/basic/log.h -@@ -186,7 +186,7 @@ int log_dump_internal( - char *buffer); - - /* Logging for various assertions */ --noreturn void log_assert_failed_realm( -+_noreturn_ void log_assert_failed_realm( - LogRealm realm, - const char *text, - const char *file, -@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( - #define log_assert_failed(text, ...) \ - log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) - --noreturn void log_assert_failed_unreachable_realm( -+_noreturn_ void log_assert_failed_unreachable_realm( - LogRealm realm, - const char *text, - const char *file, -diff --git a/src/basic/macro.h b/src/basic/macro.h -index 95be63a20..d8a6432f6 100644 ---- a/src/basic/macro.h -+++ b/src/basic/macro.h -@@ -53,6 +53,15 @@ - #else - #define _fallthrough_ - #endif -+/* Define C11 noreturn without and even on older gcc -+ * compiler versions */ -+#ifndef noreturn -+#if __STDC_VERSION__ >= 201112L -+#define _noreturn_ _Noreturn -+#else -+#define _noreturn_ __attribute__((noreturn)) -+#endif -+#endif - - /* Temporarily disable some warnings */ - #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ -@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { - #endif - #endif - --/* Define C11 noreturn without and even on older gcc -- * compiler versions */ --#ifndef noreturn --#if __STDC_VERSION__ >= 201112L --#define noreturn _Noreturn --#else --#define noreturn __attribute__((noreturn)) --#endif --#endif -- - #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ - static inline void func##p(type *p) { \ - if (*p) \ -diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index aa9846db5..e6120af5b 100644 ---- a/src/basic/process-util.c -+++ b/src/basic/process-util.c -@@ -987,7 +987,7 @@ bool is_main_thread(void) { - return cached > 0; - } - --noreturn void freeze(void) { -+_noreturn_ void freeze(void) { - - log_close(); - -diff --git a/src/basic/process-util.h b/src/basic/process-util.h -index 93029e36e..5170adec7 100644 ---- a/src/basic/process-util.h -+++ b/src/basic/process-util.h -@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); - - bool is_main_thread(void); - --noreturn void freeze(void); -+_noreturn_ void freeze(void); - - bool oom_score_adjust_is_valid(int oa); - -diff --git a/src/core/main.c b/src/core/main.c -index 076846a41..4b2d14923 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; - static sd_id128_t arg_machine_id = {}; - static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; - --noreturn static void freeze_or_reboot(void) { -+_noreturn_ static void freeze_or_reboot(void) { - - if (arg_crash_reboot) { - log_notice("Rebooting in 10s..."); -@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { - freeze(); - } - --noreturn static void crash(int sig) { -+_noreturn_ static void crash(int sig) { - struct sigaction sa; - pid_t pid; - -diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c -index 5a88b2774..d87bdbdd3 100644 ---- a/src/journal/test-journal-interleaving.c -+++ b/src/journal/test-journal-interleaving.c -@@ -37,7 +37,7 @@ - - static bool arg_keep = false; - --noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { -+_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { - log_internal(LOG_CRIT, error, file, line, func, - "'%s' failed at %s:%u (%s): %m", text, file, line, func); - abort(); -diff --git a/src/shared/pager.c b/src/shared/pager.c -index 75db3c985..681af9c40 100644 ---- a/src/shared/pager.c -+++ b/src/shared/pager.c -@@ -47,7 +47,7 @@ static int stored_stderr = -1; - static bool stdout_redirected = false; - static bool stderr_redirected = false; - --noreturn static void pager_fallback(void) { -+_noreturn_ static void pager_fallback(void) { - int r; - - r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); -diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c -index 2821640e9..c8fa47b3d 100644 ---- a/src/udev/collect/collect.c -+++ b/src/udev/collect/collect.c -@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) - return container_of(node, struct _mate, node); - } - --noreturn static void sig_alrm(int signo) -+_noreturn_ static void sig_alrm(int signo) - { - exit(4); - } --- -2.16.2 - diff --git a/_service b/_service new file mode 100644 index 00000000..43a94db3 --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + + + + git + https://github.com/openSUSE/systemd.git + systemd + @PARENT_TAG@+suse.@TAG_OFFSET@.g%h + openSUSE-Factory + + + *systemd-v237+suse.*.tar + xz + + diff --git a/systemd-237.tar.xz b/systemd-237.tar.xz deleted file mode 100644 index 23ed3778..00000000 --- a/systemd-237.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b420f2ff5841266d03c6691bd8adb705b2c46c391c33610923a23444232633f4 -size 4630076 diff --git a/systemd-mini.changes b/systemd-mini.changes index 72f79cb8..aecf2d57 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,86 @@ +------------------------------------------------------------------- +Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com + +- Drop systemd-bash-completion sub-package + + Now we directly ship the completion scripts from the main package as + we already do for zsh. I couldn't see any advantages in this split. + +------------------------------------------------------------------- +Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com + +- Be more accurate when specifiying the tools version we provide + +------------------------------------------------------------------- +Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com + +- Make sure rpm won't expand %autopatch even if it's commented + +------------------------------------------------------------------- +Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com + +- stat(1) as well as systemctl are not use in %post section of udev + + So remove stat(1) from the list of dep and move systemctl to the + requirements of %postun since it's called from there. + +------------------------------------------------------------------- +Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com + +- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e + + e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) + fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) + 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() + c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow + 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) + 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) + +- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch + + It's been merged in the git repo. + +------------------------------------------------------------------- +Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com + +- Rename the tarball + + So it's clear that it contains some additional patches on top of the + upstream version. Use the commit hash in the name so the exact + version can easily be identified. + + Provide _service file which can be used to retrieve the tarball from + the git repo (with "osc service disabledrun"). + +------------------------------------------------------------------- +Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com + +- Split systemd-coredump sub-package off (bsc#1083849) + +------------------------------------------------------------------- +Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com + +- Don't ship machines.target in systemd-container but in systemd main package + + machines.target is supposed to be a standard target for + starting/stopping all containers. systemd-nspawn is the main user of + it but other container managers could also make use of it. + +------------------------------------------------------------------- +Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com + +- Build a mini variant of systemd-container + + So we don't have to manually track and remove all files that should + be shipped by systemd-container in the case of a bootstrap build. + +------------------------------------------------------------------- +Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com + +- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) + + This is needed when we upgrade from SLE11. + ------------------------------------------------------------------- Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index f25ca2ef..4389ae03 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,6 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 +%define suse_version +suse.52.g14b3e00c3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -120,7 +121,6 @@ Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) -Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -135,10 +135,10 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 -Source0: systemd-%{version}.tar.xz +Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert @@ -162,7 +162,6 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -235,12 +234,10 @@ License: GPL-2.0-only Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware -Requires(pre): /usr/bin/stat Requires(post): sed -Requires(post): /usr/bin/systemctl - Requires(post): coreutils Requires(postun): coreutils +Requires(postun): /usr/bin/systemctl Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 @@ -252,7 +249,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -287,8 +284,8 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev1 = %{version} +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev1 = %{version}-%{release} Conflicts: libudev-devel %endif @@ -296,15 +293,34 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package container +%package coredump%{mini} +Summary: Systemd tools for coredump management +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/coredumpctl +%if 0%{?bootstrap} +Conflicts: systemd-coredump +%endif + +%description coredump%{mini} +Systemd tools to store and manage coredumps. + +This package contains systemd-coredump, coredumpctl. + +%package container%{?mini} Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn +%if 0%{?bootstrap} +Conflicts: systemd-container +%endif -%description container +%description container%{?mini} Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -406,22 +422,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1-or-later -Group: System/Base -Requires: bash-completion -BuildArch: noarch -%if 0%{?bootstrap} -Conflicts: systemd-bash-completion -%endif - -%description bash-completion -Some systemd commands offer bash completion, but it is an optional dependency. - %prep -%setup -q -n systemd-%{version} -%autopatch -p1 +%setup -q -n systemd-v%{version}%{suse_version} +# %%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -478,9 +481,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm %{buildroot}%{_bindir}/systemd-nspawn -rm %{buildroot}%{_unitdir}/systemd-nspawn@.service -rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -724,16 +724,15 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -if [ $1 -gt 1 ]; then - # Migrate i18n setting stuff thout could be previously - # configured in /etc/sysconfig but now is defined only in the - # systemd official places (/etc/locale.conf, - # /etc/vconsole.conf, etc...). This is done only once. - test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : - } -fi +# Migrate i18n settings that could be previously configured in +# /etc/sysconfig but now is defined only in the systemd official +# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done +# only once usually during package updates but might be also needed +# during installations when we upgrade from a distro using SysV init. +test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : +} %postun %systemd_postun @@ -789,8 +788,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%if ! 0%{?bootstrap} -%post container +%post container%{?mini} %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -811,6 +809,7 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -876,7 +875,6 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot @@ -919,19 +917,22 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif +%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service %exclude %{_unitdir}/dbus-org.freedesktop.machine1.service %exclude %{_unitdir}/var-lib-machines.mount %exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/machines.target.wants %exclude %{_unitdir}/*.target.wants/var-lib-machines.mount %endif %if %{with importd} @@ -1006,7 +1007,6 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1022,7 +1022,6 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1111,6 +1110,9 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man1/coredumpctl* +%exclude %{_mandir}/man5/coredump.conf* +%exclude %{_mandir}/man8/systemd-coredump* %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1129,11 +1131,15 @@ fi %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed + +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* @@ -1239,8 +1245,21 @@ fi %{_mandir}/man3/*udev*.3* %endif +%files coredump%{?mini} +%defattr(-,root,root) +%{_bindir}/coredumpctl +%{_unitdir}/systemd-coredump* +%{_unitdir}/sockets.target.wants/systemd-coredump.socket +%{_sysctldir}/50-coredump.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%dir %{_localstatedir}/lib/systemd/coredump %if ! 0%{?bootstrap} -%files container +%{_mandir}/man1/coredumpctl* +%{_mandir}/man5/coredump.conf* +%{_mandir}/man8/systemd-coredump* +%endif + +%files container%{?mini} %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service @@ -1252,7 +1271,7 @@ fi %{_unitdir}/dbus-org.freedesktop.machine1.service %{_unitdir}/var-lib-machines.mount %{_unitdir}/machine.slice -%{_unitdir}/machines.target* +%{_unitdir}/machines.target.wants %{_unitdir}/*.target.wants/var-lib-machines.mount %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf @@ -1269,6 +1288,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if ! 0%{?bootstrap} %{_mandir}/man*/*nspawn* %if %{with machined} %{_mandir}/man*/machinectl* @@ -1277,7 +1297,9 @@ fi %if %{with importd} %{_mandir}/man*/systemd-importd* %endif +%endif +%if ! 0%{?bootstrap} %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ @@ -1330,10 +1352,4 @@ fi %{_datadir}/systemd/gatewayd %endif -%files bash-completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - %changelog diff --git a/systemd-v237+suse.52.g14b3e00c3.tar.xz b/systemd-v237+suse.52.g14b3e00c3.tar.xz new file mode 100644 index 00000000..d03f0d39 --- /dev/null +++ b/systemd-v237+suse.52.g14b3e00c3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbca10a39e2efa0479fe5d81fb983e08ac4e9655b85e382d8247683a3151834f +size 4627336 diff --git a/systemd.changes b/systemd.changes index 72f79cb8..aecf2d57 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,86 @@ +------------------------------------------------------------------- +Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com + +- Drop systemd-bash-completion sub-package + + Now we directly ship the completion scripts from the main package as + we already do for zsh. I couldn't see any advantages in this split. + +------------------------------------------------------------------- +Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com + +- Be more accurate when specifiying the tools version we provide + +------------------------------------------------------------------- +Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com + +- Make sure rpm won't expand %autopatch even if it's commented + +------------------------------------------------------------------- +Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com + +- stat(1) as well as systemctl are not use in %post section of udev + + So remove stat(1) from the list of dep and move systemctl to the + requirements of %postun since it's called from there. + +------------------------------------------------------------------- +Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com + +- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e + + e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) + fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) + 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() + c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow + 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) + 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) + +- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch + + It's been merged in the git repo. + +------------------------------------------------------------------- +Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com + +- Rename the tarball + + So it's clear that it contains some additional patches on top of the + upstream version. Use the commit hash in the name so the exact + version can easily be identified. + + Provide _service file which can be used to retrieve the tarball from + the git repo (with "osc service disabledrun"). + +------------------------------------------------------------------- +Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com + +- Split systemd-coredump sub-package off (bsc#1083849) + +------------------------------------------------------------------- +Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com + +- Don't ship machines.target in systemd-container but in systemd main package + + machines.target is supposed to be a standard target for + starting/stopping all containers. systemd-nspawn is the main user of + it but other container managers could also make use of it. + +------------------------------------------------------------------- +Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com + +- Build a mini variant of systemd-container + + So we don't have to manually track and remove all files that should + be shipped by systemd-container in the case of a bootstrap build. + +------------------------------------------------------------------- +Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com + +- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) + + This is needed when we upgrade from SLE11. + ------------------------------------------------------------------- Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index ad57f81d..d5f1d1c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,6 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 +%define suse_version +suse.52.g14b3e00c3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -118,7 +119,6 @@ Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) -Recommends: %{name}-bash-completion Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -133,10 +133,10 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 -Source0: systemd-%{version}.tar.xz +Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user Source3: systemd-sysv-convert @@ -160,7 +160,6 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -233,12 +232,10 @@ License: GPL-2.0-only Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware -Requires(pre): /usr/bin/stat Requires(post): sed -Requires(post): /usr/bin/systemctl - Requires(post): coreutils Requires(postun): coreutils +Requires(postun): /usr/bin/systemctl Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 @@ -250,7 +247,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -285,8 +282,8 @@ License: LGPL-2.1-or-later Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} -Conflicts: libudev1 = %{version} +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev1 = %{version}-%{release} Conflicts: libudev-devel %endif @@ -294,15 +291,34 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package container +%package coredump%{mini} +Summary: Systemd tools for coredump management +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires +Provides: systemd:%{_bindir}/coredumpctl +%if 0%{?bootstrap} +Conflicts: systemd-coredump +%endif + +%description coredump%{mini} +Systemd tools to store and manage coredumps. + +This package contains systemd-coredump, coredumpctl. + +%package container%{?mini} Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn +%if 0%{?bootstrap} +Conflicts: systemd-container +%endif -%description container +%description container%{?mini} Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -404,22 +420,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%package bash-completion -Summary: Bash completion support for systemd -License: LGPL-2.1-or-later -Group: System/Base -Requires: bash-completion -BuildArch: noarch -%if 0%{?bootstrap} -Conflicts: systemd-bash-completion -%endif - -%description bash-completion -Some systemd commands offer bash completion, but it is an optional dependency. - %prep -%setup -q -n systemd-%{version} -%autopatch -p1 +%setup -q -n systemd-v%{version}%{suse_version} +# %%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -476,9 +479,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm %{buildroot}%{_bindir}/systemd-nspawn -rm %{buildroot}%{_unitdir}/systemd-nspawn@.service -rm %{buildroot}%{_tmpfilesdir}/systemd-nspawn.conf %endif # FIXME: these symlinks should die. @@ -722,16 +722,15 @@ done # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -if [ $1 -gt 1 ]; then - # Migrate i18n setting stuff thout could be previously - # configured in /etc/sysconfig but now is defined only in the - # systemd official places (/etc/locale.conf, - # /etc/vconsole.conf, etc...). This is done only once. - test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : - } -fi +# Migrate i18n settings that could be previously configured in +# /etc/sysconfig but now is defined only in the systemd official +# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done +# only once usually during package updates but might be also needed +# during installations when we upgrade from a distro using SysV init. +test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : +} %postun %systemd_postun @@ -787,8 +786,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%if ! 0%{?bootstrap} -%post container +%post container%{?mini} %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -809,6 +807,7 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ if [ "$1" -eq 1 ]; then @@ -874,7 +873,6 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze -%{_bindir}/coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot @@ -917,19 +915,22 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif +%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service %exclude %{_unitdir}/dbus-org.freedesktop.machine1.service %exclude %{_unitdir}/var-lib-machines.mount %exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target* +%exclude %{_unitdir}/machines.target.wants %exclude %{_unitdir}/*.target.wants/var-lib-machines.mount %endif %if %{with importd} @@ -1004,7 +1005,6 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1020,7 +1020,6 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1109,6 +1108,9 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man1/coredumpctl* +%exclude %{_mandir}/man5/coredump.conf* +%exclude %{_mandir}/man8/systemd-coredump* %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1127,11 +1129,15 @@ fi %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/catalog %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed + +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/* + %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* @@ -1237,8 +1243,21 @@ fi %{_mandir}/man3/*udev*.3* %endif +%files coredump%{?mini} +%defattr(-,root,root) +%{_bindir}/coredumpctl +%{_unitdir}/systemd-coredump* +%{_unitdir}/sockets.target.wants/systemd-coredump.socket +%{_sysctldir}/50-coredump.conf +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%dir %{_localstatedir}/lib/systemd/coredump %if ! 0%{?bootstrap} -%files container +%{_mandir}/man1/coredumpctl* +%{_mandir}/man5/coredump.conf* +%{_mandir}/man8/systemd-coredump* +%endif + +%files container%{?mini} %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service @@ -1250,7 +1269,7 @@ fi %{_unitdir}/dbus-org.freedesktop.machine1.service %{_unitdir}/var-lib-machines.mount %{_unitdir}/machine.slice -%{_unitdir}/machines.target* +%{_unitdir}/machines.target.wants %{_unitdir}/*.target.wants/var-lib-machines.mount %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf @@ -1267,6 +1286,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy %endif +%if ! 0%{?bootstrap} %{_mandir}/man*/*nspawn* %if %{with machined} %{_mandir}/man*/machinectl* @@ -1275,7 +1295,9 @@ fi %if %{with importd} %{_mandir}/man*/systemd-importd* %endif +%endif +%if ! 0%{?bootstrap} %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ @@ -1328,10 +1350,4 @@ fi %{_datadir}/systemd/gatewayd %endif -%files bash-completion -%defattr(-,root,root,-) -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - %changelog From a95d1998712f54aa2ed45831fa010c85d1da8ede20ea5801cb828cf7a1c40f44 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Apr 2018 11:52:31 +0000 Subject: [PATCH 371/991] Accepting request 593528 from home:fbui:systemd:Factory - /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) OBS-URL: https://build.opensuse.org/request/show/593528 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1025 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index aecf2d57..05c02977 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com + +- /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) + ------------------------------------------------------------------- Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 4389ae03..c403fbd4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1248,6 +1248,7 @@ fi %files coredump%{?mini} %defattr(-,root,root) %{_bindir}/coredumpctl +%{_prefix}/lib/systemd/systemd-coredump %{_unitdir}/systemd-coredump* %{_unitdir}/sockets.target.wants/systemd-coredump.socket %{_sysctldir}/50-coredump.conf diff --git a/systemd.changes b/systemd.changes index aecf2d57..05c02977 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com + +- /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) + ------------------------------------------------------------------- Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d5f1d1c7..6a62e0c1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1246,6 +1246,7 @@ fi %files coredump%{?mini} %defattr(-,root,root) %{_bindir}/coredumpctl +%{_prefix}/lib/systemd/systemd-coredump %{_unitdir}/systemd-coredump* %{_unitdir}/sockets.target.wants/systemd-coredump.socket %{_sysctldir}/50-coredump.conf From ffcb89d13472d867f2167719ea74ffb181a0de2ebdd6af1641d59b6af1d87656 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 7 Apr 2018 18:47:01 +0000 Subject: [PATCH 372/991] Accepting request 593709 from Base:System - /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) OBS-URL: https://build.opensuse.org/request/show/593709 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=276 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index aecf2d57..05c02977 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com + +- /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) + ------------------------------------------------------------------- Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 4389ae03..c403fbd4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1248,6 +1248,7 @@ fi %files coredump%{?mini} %defattr(-,root,root) %{_bindir}/coredumpctl +%{_prefix}/lib/systemd/systemd-coredump %{_unitdir}/systemd-coredump* %{_unitdir}/sockets.target.wants/systemd-coredump.socket %{_sysctldir}/50-coredump.conf diff --git a/systemd.changes b/systemd.changes index aecf2d57..05c02977 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com + +- /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) + ------------------------------------------------------------------- Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index d5f1d1c7..6a62e0c1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1246,6 +1246,7 @@ fi %files coredump%{?mini} %defattr(-,root,root) %{_bindir}/coredumpctl +%{_prefix}/lib/systemd/systemd-coredump %{_unitdir}/systemd-coredump* %{_unitdir}/sockets.target.wants/systemd-coredump.socket %{_sysctldir}/50-coredump.conf From fff9c3b6a1caf0ce5b919239809dfa83adfe9cb98e09604fc1c8fed06ae3eb07 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 9 Apr 2018 09:39:49 +0000 Subject: [PATCH 373/991] Accepting request 592117 from home:develop7:branches:Base:System - Enhance IO scheduler tweaking rules to support blk-mq as well * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and SSD respectively) * Explicitly set CFQ for rotational disks when no `elevator` is specified * Verbose comments explaining what is going on * Rename the rules file since it is not ssd-only anymore OBS-URL: https://build.opensuse.org/request/show/592117 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1026 --- 60-io-scheduler.rules | 24 ++++++++++++++++++++++++ 60-ssd-scheduler.rules | 11 ----------- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 4 ++-- systemd.changes | 12 ++++++++++++ systemd.spec | 4 ++-- 6 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 60-io-scheduler.rules delete mode 100644 60-ssd-scheduler.rules diff --git a/60-io-scheduler.rules b/60-io-scheduler.rules new file mode 100644 index 00000000..1753c95f --- /dev/null +++ b/60-io-scheduler.rules @@ -0,0 +1,24 @@ +# Set optimal IO schedulers for HDD and SSD + +ACTION!="add", GOTO="scheduler_end" +SUBSYSTEM!="block", GOTO="scheduler_end" + +# Do not change scheduler if `elevator` cmdline parameter is set +IMPORT{cmdline}="elevator" +ENV{elevator}=="*?", GOTO="scheduler_end" + +# Determine if BLK-MQ is enabled +TEST=="%S%p/mq", ENV{.IS_MQ}="1" + +# MQ: BFQ scheduler for HDD +ENV{.IS_MQ}=="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="bfq" +# MQ: deadline scheduler for SSD +ENV{.IS_MQ}=="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" + +# Non-MQ: CFQ scheduler for HDD +ENV{.IS_MQ}!="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="cfq" +# Non-MQ: deadline scheduler for SSD +ENV{.IS_MQ}!="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" + +LABEL="scheduler_end" + diff --git a/60-ssd-scheduler.rules b/60-ssd-scheduler.rules deleted file mode 100644 index 43aa8ea7..00000000 --- a/60-ssd-scheduler.rules +++ /dev/null @@ -1,11 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION!="add", GOTO="ssd_scheduler_end" -SUBSYSTEM!="block", GOTO="ssd_scheduler_end" - -IMPORT{cmdline}="elevator" -ENV{elevator}=="*?", GOTO="ssd_scheduler_end" - -KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" - -LABEL="ssd_scheduler_end" diff --git a/systemd-mini.changes b/systemd-mini.changes index 05c02977..f3aa511f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -62,6 +62,18 @@ Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - Split systemd-coredump sub-package off (bsc#1083849) +------------------------------------------------------------------- +Tue Mar 27 20:15:06 UTC 2018 - develop7@develop7.info + +- Enhance IO scheduler tweaking rules to support blk-mq as well + + * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and + SSD respectively) + * Explicitly set CFQ for rotational disks when no `elevator` + is specified + * Verbose comments explaining what is going on + * Rename the rules file since it is not ssd-only anymore + ------------------------------------------------------------------- Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c403fbd4..69250b6f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -152,7 +152,7 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-ssd-scheduler.rules +Source1000: 60-io-scheduler.rules Source1001: 80-hotplug-cpu-mem.rules Source1002: 99-wakeup-from-idle.rules @@ -497,7 +497,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install # The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules +install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules diff --git a/systemd.changes b/systemd.changes index 05c02977..21cf6571 100644 --- a/systemd.changes +++ b/systemd.changes @@ -62,6 +62,18 @@ Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - Split systemd-coredump sub-package off (bsc#1083849) +------------------------------------------------------------------- +Tue Mar 27 20:14:41 UTC 2018 - develop7@develop7.info + +- Enhance IO scheduler tweaking rules to support blk-mq as well + + * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and + SSD respectively) + * Explicitly set CFQ for rotational disks when no `elevator` + is specified + * Verbose comments explaining what is going on + * Rename the rules file since it is not ssd-only anymore + ------------------------------------------------------------------- Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 6a62e0c1..8c0cf8dd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -150,7 +150,7 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-ssd-scheduler.rules +Source1000: 60-io-scheduler.rules Source1001: 80-hotplug-cpu-mem.rules Source1002: 99-wakeup-from-idle.rules @@ -495,7 +495,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install # The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules +install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules From b57d88135f9c18bc86f279b172cedf04c22c55f1aad426ca765c9e7390a98a55 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 23 Apr 2018 08:01:18 +0000 Subject: [PATCH 374/991] Accepting request 599905 from home:fbui:systemd:Factory - Import commit d8196805089566ecd846b7c627ff2f3c42588c50 621b247f3 device: skip deserialization of device units when udevd is not running a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) - Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) Previously this symlink was created in /etc/sysctl.d during %post which made the symlink not owned and more importantly it was created only if /etc/sysctl.conf is already installed which is not always the case during the installation process it seems. So ship the symlink unconditionally and put it in /usr/lib/sysctl.d instead since it's a distro default behavior that might be overriden by sysadmin later. - Be consistent in 60-io-scheduler.rules And use "?*" when checking for the non empty string (instead of "*?"). OBS-URL: https://build.opensuse.org/request/show/599905 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1027 --- 60-io-scheduler.rules | 2 +- scripts-systemd-upgrade-from-pre-210.sh | 6 ----- systemd-mini.changes | 33 ++++++++++++++++++++++++- systemd-mini.spec | 8 +++++- systemd-v237+suse.52.g14b3e00c3.tar.xz | 3 --- systemd-v237+suse.57.gd81968050.tar.xz | 3 +++ systemd.changes | 31 +++++++++++++++++++++++ systemd.spec | 8 +++++- 8 files changed, 81 insertions(+), 13 deletions(-) delete mode 100644 systemd-v237+suse.52.g14b3e00c3.tar.xz create mode 100644 systemd-v237+suse.57.gd81968050.tar.xz diff --git a/60-io-scheduler.rules b/60-io-scheduler.rules index 1753c95f..7c285aef 100644 --- a/60-io-scheduler.rules +++ b/60-io-scheduler.rules @@ -5,7 +5,7 @@ SUBSYSTEM!="block", GOTO="scheduler_end" # Do not change scheduler if `elevator` cmdline parameter is set IMPORT{cmdline}="elevator" -ENV{elevator}=="*?", GOTO="scheduler_end" +ENV{elevator}=="?*", GOTO="scheduler_end" # Determine if BLK-MQ is enabled TEST=="%S%p/mq", ENV{.IS_MQ}="1" diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh index 24738567..8a168915 100644 --- a/scripts-systemd-upgrade-from-pre-210.sh +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -22,12 +22,6 @@ if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then ln -s /usr/lib/systemd/system/runlevel${runlevel}.target /etc/systemd/system/default.target fi -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf -fi - # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do new_target="/usr$(readlink $f)" diff --git a/systemd-mini.changes b/systemd-mini.changes index f3aa511f..82bd34cc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com + +- Import commit d8196805089566ecd846b7c627ff2f3c42588c50 + + 621b247f3 device: skip deserialization of device units when udevd is not running + a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) + 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) + 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) + +------------------------------------------------------------------- +Fri Apr 20 08:27:41 UTC 2018 - fbui@suse.com + +- Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) + + Previously this symlink was created in /etc/sysctl.d during %post + which made the symlink not owned and more importantly it was created + only if /etc/sysctl.conf is already installed which is not always + the case during the installation process it seems. + + So ship the symlink unconditionally and put it in /usr/lib/sysctl.d + instead since it's a distro default behavior that might be overriden + by sysadmin later. + +------------------------------------------------------------------- +Mon Apr 9 09:42:16 UTC 2018 - fbui@suse.com + +- Be consistent in 60-io-scheduler.rules + + And use "?*" when checking for the non empty string (instead of "*?"). + ------------------------------------------------------------------- Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com @@ -63,7 +94,7 @@ Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - Split systemd-coredump sub-package off (bsc#1083849) ------------------------------------------------------------------- -Tue Mar 27 20:15:06 UTC 2018 - develop7@develop7.info +Tue Mar 27 20:14:41 UTC 2018 - develop7@develop7.info - Enhance IO scheduler tweaking rules to support blk-mq as well diff --git a/systemd-mini.spec b/systemd-mini.spec index 69250b6f..7c164b7b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.52.g14b3e00c3 +%define suse_version +suse.57.gd81968050 %bcond_with gnuefi %if 0%{?bootstrap} @@ -546,6 +546,11 @@ EOF # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# since v207 /etc/sysctl.conf is no longer parsed (commit +# 04bf3c1a60d82791), however backward compatibility is provided by +# /usr/lib/sysctl.d/99-sysctl.conf. +ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf + # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf @@ -1007,6 +1012,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d diff --git a/systemd-v237+suse.52.g14b3e00c3.tar.xz b/systemd-v237+suse.52.g14b3e00c3.tar.xz deleted file mode 100644 index d03f0d39..00000000 --- a/systemd-v237+suse.52.g14b3e00c3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cbca10a39e2efa0479fe5d81fb983e08ac4e9655b85e382d8247683a3151834f -size 4627336 diff --git a/systemd-v237+suse.57.gd81968050.tar.xz b/systemd-v237+suse.57.gd81968050.tar.xz new file mode 100644 index 00000000..963d977f --- /dev/null +++ b/systemd-v237+suse.57.gd81968050.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c92c0a8012c1b5b7a2866854ecdbcffca697d5cb65df43ad6a7a2859c95915e +size 4627256 diff --git a/systemd.changes b/systemd.changes index 21cf6571..82bd34cc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com + +- Import commit d8196805089566ecd846b7c627ff2f3c42588c50 + + 621b247f3 device: skip deserialization of device units when udevd is not running + a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) + 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) + 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) + +------------------------------------------------------------------- +Fri Apr 20 08:27:41 UTC 2018 - fbui@suse.com + +- Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) + + Previously this symlink was created in /etc/sysctl.d during %post + which made the symlink not owned and more importantly it was created + only if /etc/sysctl.conf is already installed which is not always + the case during the installation process it seems. + + So ship the symlink unconditionally and put it in /usr/lib/sysctl.d + instead since it's a distro default behavior that might be overriden + by sysadmin later. + +------------------------------------------------------------------- +Mon Apr 9 09:42:16 UTC 2018 - fbui@suse.com + +- Be consistent in 60-io-scheduler.rules + + And use "?*" when checking for the non empty string (instead of "*?"). + ------------------------------------------------------------------- Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 8c0cf8dd..8e20f9a1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.52.g14b3e00c3 +%define suse_version +suse.57.gd81968050 %bcond_with gnuefi %if 0%{?bootstrap} @@ -544,6 +544,11 @@ EOF # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# since v207 /etc/sysctl.conf is no longer parsed (commit +# 04bf3c1a60d82791), however backward compatibility is provided by +# /usr/lib/sysctl.d/99-sysctl.conf. +ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf + # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf @@ -1005,6 +1010,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d From 315840b02835499d2cd12560c088259a7179bb55581f0f52aa9b2271620d2000 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 25 Apr 2018 07:58:40 +0000 Subject: [PATCH 375/991] Accepting request 599906 from Base:System OBS-URL: https://build.opensuse.org/request/show/599906 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=277 --- 60-io-scheduler.rules | 24 ++++++++++++++ 60-ssd-scheduler.rules | 11 ------- scripts-systemd-upgrade-from-pre-210.sh | 6 ---- systemd-mini.changes | 43 +++++++++++++++++++++++++ systemd-mini.spec | 12 +++++-- systemd-v237+suse.52.g14b3e00c3.tar.xz | 3 -- systemd-v237+suse.57.gd81968050.tar.xz | 3 ++ systemd.changes | 43 +++++++++++++++++++++++++ systemd.spec | 12 +++++-- 9 files changed, 131 insertions(+), 26 deletions(-) create mode 100644 60-io-scheduler.rules delete mode 100644 60-ssd-scheduler.rules delete mode 100644 systemd-v237+suse.52.g14b3e00c3.tar.xz create mode 100644 systemd-v237+suse.57.gd81968050.tar.xz diff --git a/60-io-scheduler.rules b/60-io-scheduler.rules new file mode 100644 index 00000000..7c285aef --- /dev/null +++ b/60-io-scheduler.rules @@ -0,0 +1,24 @@ +# Set optimal IO schedulers for HDD and SSD + +ACTION!="add", GOTO="scheduler_end" +SUBSYSTEM!="block", GOTO="scheduler_end" + +# Do not change scheduler if `elevator` cmdline parameter is set +IMPORT{cmdline}="elevator" +ENV{elevator}=="?*", GOTO="scheduler_end" + +# Determine if BLK-MQ is enabled +TEST=="%S%p/mq", ENV{.IS_MQ}="1" + +# MQ: BFQ scheduler for HDD +ENV{.IS_MQ}=="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="bfq" +# MQ: deadline scheduler for SSD +ENV{.IS_MQ}=="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" + +# Non-MQ: CFQ scheduler for HDD +ENV{.IS_MQ}!="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="cfq" +# Non-MQ: deadline scheduler for SSD +ENV{.IS_MQ}!="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" + +LABEL="scheduler_end" + diff --git a/60-ssd-scheduler.rules b/60-ssd-scheduler.rules deleted file mode 100644 index 43aa8ea7..00000000 --- a/60-ssd-scheduler.rules +++ /dev/null @@ -1,11 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION!="add", GOTO="ssd_scheduler_end" -SUBSYSTEM!="block", GOTO="ssd_scheduler_end" - -IMPORT{cmdline}="elevator" -ENV{elevator}=="*?", GOTO="ssd_scheduler_end" - -KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" - -LABEL="ssd_scheduler_end" diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh index 24738567..8a168915 100644 --- a/scripts-systemd-upgrade-from-pre-210.sh +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -22,12 +22,6 @@ if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then ln -s /usr/lib/systemd/system/runlevel${runlevel}.target /etc/systemd/system/default.target fi -# since v207 /etc/sysctl.conf is no longer parsed, however -# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf -if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then - ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf -fi - # migrate any symlink which may refer to the old path for f in $(find /etc/systemd/system -type l -xtype l); do new_target="/usr$(readlink $f)" diff --git a/systemd-mini.changes b/systemd-mini.changes index 05c02977..82bd34cc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com + +- Import commit d8196805089566ecd846b7c627ff2f3c42588c50 + + 621b247f3 device: skip deserialization of device units when udevd is not running + a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) + 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) + 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) + +------------------------------------------------------------------- +Fri Apr 20 08:27:41 UTC 2018 - fbui@suse.com + +- Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) + + Previously this symlink was created in /etc/sysctl.d during %post + which made the symlink not owned and more importantly it was created + only if /etc/sysctl.conf is already installed which is not always + the case during the installation process it seems. + + So ship the symlink unconditionally and put it in /usr/lib/sysctl.d + instead since it's a distro default behavior that might be overriden + by sysadmin later. + +------------------------------------------------------------------- +Mon Apr 9 09:42:16 UTC 2018 - fbui@suse.com + +- Be consistent in 60-io-scheduler.rules + + And use "?*" when checking for the non empty string (instead of "*?"). + ------------------------------------------------------------------- Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com @@ -62,6 +93,18 @@ Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - Split systemd-coredump sub-package off (bsc#1083849) +------------------------------------------------------------------- +Tue Mar 27 20:14:41 UTC 2018 - develop7@develop7.info + +- Enhance IO scheduler tweaking rules to support blk-mq as well + + * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and + SSD respectively) + * Explicitly set CFQ for rotational disks when no `elevator` + is specified + * Verbose comments explaining what is going on + * Rename the rules file since it is not ssd-only anymore + ------------------------------------------------------------------- Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index c403fbd4..7c164b7b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.52.g14b3e00c3 +%define suse_version +suse.57.gd81968050 %bcond_with gnuefi %if 0%{?bootstrap} @@ -152,7 +152,7 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-ssd-scheduler.rules +Source1000: 60-io-scheduler.rules Source1001: 80-hotplug-cpu-mem.rules Source1002: 99-wakeup-from-idle.rules @@ -497,7 +497,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install # The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules +install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules @@ -546,6 +546,11 @@ EOF # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# since v207 /etc/sysctl.conf is no longer parsed (commit +# 04bf3c1a60d82791), however backward compatibility is provided by +# /usr/lib/sysctl.d/99-sysctl.conf. +ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf + # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf @@ -1007,6 +1012,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d diff --git a/systemd-v237+suse.52.g14b3e00c3.tar.xz b/systemd-v237+suse.52.g14b3e00c3.tar.xz deleted file mode 100644 index d03f0d39..00000000 --- a/systemd-v237+suse.52.g14b3e00c3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cbca10a39e2efa0479fe5d81fb983e08ac4e9655b85e382d8247683a3151834f -size 4627336 diff --git a/systemd-v237+suse.57.gd81968050.tar.xz b/systemd-v237+suse.57.gd81968050.tar.xz new file mode 100644 index 00000000..963d977f --- /dev/null +++ b/systemd-v237+suse.57.gd81968050.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c92c0a8012c1b5b7a2866854ecdbcffca697d5cb65df43ad6a7a2859c95915e +size 4627256 diff --git a/systemd.changes b/systemd.changes index 05c02977..82bd34cc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com + +- Import commit d8196805089566ecd846b7c627ff2f3c42588c50 + + 621b247f3 device: skip deserialization of device units when udevd is not running + a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) + 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) + 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) + +------------------------------------------------------------------- +Fri Apr 20 08:27:41 UTC 2018 - fbui@suse.com + +- Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) + + Previously this symlink was created in /etc/sysctl.d during %post + which made the symlink not owned and more importantly it was created + only if /etc/sysctl.conf is already installed which is not always + the case during the installation process it seems. + + So ship the symlink unconditionally and put it in /usr/lib/sysctl.d + instead since it's a distro default behavior that might be overriden + by sysadmin later. + +------------------------------------------------------------------- +Mon Apr 9 09:42:16 UTC 2018 - fbui@suse.com + +- Be consistent in 60-io-scheduler.rules + + And use "?*" when checking for the non empty string (instead of "*?"). + ------------------------------------------------------------------- Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com @@ -62,6 +93,18 @@ Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - Split systemd-coredump sub-package off (bsc#1083849) +------------------------------------------------------------------- +Tue Mar 27 20:14:41 UTC 2018 - develop7@develop7.info + +- Enhance IO scheduler tweaking rules to support blk-mq as well + + * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and + SSD respectively) + * Explicitly set CFQ for rotational disks when no `elevator` + is specified + * Verbose comments explaining what is going on + * Rename the rules file since it is not ssd-only anymore + ------------------------------------------------------------------- Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 6a62e0c1..8e20f9a1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.52.g14b3e00c3 +%define suse_version +suse.57.gd81968050 %bcond_with gnuefi %if 0%{?bootstrap} @@ -150,7 +150,7 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-ssd-scheduler.rules +Source1000: 60-io-scheduler.rules Source1001: 80-hotplug-cpu-mem.rules Source1002: 99-wakeup-from-idle.rules @@ -495,7 +495,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install # The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules +install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules @@ -544,6 +544,11 @@ EOF # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# since v207 /etc/sysctl.conf is no longer parsed (commit +# 04bf3c1a60d82791), however backward compatibility is provided by +# /usr/lib/sysctl.d/99-sysctl.conf. +ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf + # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf @@ -1005,6 +1010,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d From 0e4cc6d31be2cb28a95959135adf4ab1fb57ab837afcd6465e15766545c09c1c Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 8 May 2018 11:42:09 +0000 Subject: [PATCH 376/991] Accepting request 605303 from home:tsaupe:branches:Base:System align permissions of /etc/machine-id to upstream code (bsc#1092269) OBS-URL: https://build.opensuse.org/request/show/605303 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1028 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 4 +++- systemd.changes | 6 ++++++ systemd.spec | 4 +++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 82bd34cc..ddffeda8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com + +- align permissions of /etc/machine-id to upstream code (bsc#1092269) + world writeable machine-id is a security issue + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 7c164b7b..3c6abe35 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -687,9 +687,11 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id - chmod 666 %{_sysconfdir}/machine-id fi +# check if /etc/machine-id is writeable and change it to readonly +[[ -w %{_sysconfdir}/machine-id ]] && chmod 444 %{_sysconfdir}/machine-id + %if ! 0%{?bootstrap} pam-config --add --systemd || : %endif diff --git a/systemd.changes b/systemd.changes index 82bd34cc..ddffeda8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com + +- align permissions of /etc/machine-id to upstream code (bsc#1092269) + world writeable machine-id is a security issue + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 8e20f9a1..a8a133d2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -685,9 +685,11 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id - chmod 666 %{_sysconfdir}/machine-id fi +# check if /etc/machine-id is writeable and change it to readonly +[[ -w %{_sysconfdir}/machine-id ]] && chmod 444 %{_sysconfdir}/machine-id + %if ! 0%{?bootstrap} pam-config --add --systemd || : %endif From 98c46ce08da7cf2ad76c2e5769d275431a4ded17e41dc3b7e78652d3892f356b Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 8 May 2018 13:55:23 +0000 Subject: [PATCH 377/991] Accepting request 605344 from home:tsaupe:branches:Base:System align permissions of /etc/machine-id to upstream code (bsc#1092269) OBS-URL: https://build.opensuse.org/request/show/605344 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1029 --- systemd-mini.spec | 2 +- systemd.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd-mini.spec b/systemd-mini.spec index 3c6abe35..87aa79ec 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -690,7 +690,7 @@ if [ $1 -eq 1 ]; then fi # check if /etc/machine-id is writeable and change it to readonly -[[ -w %{_sysconfdir}/machine-id ]] && chmod 444 %{_sysconfdir}/machine-id +[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id %if ! 0%{?bootstrap} pam-config --add --systemd || : diff --git a/systemd.spec b/systemd.spec index a8a133d2..23af17e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -688,7 +688,7 @@ if [ $1 -eq 1 ]; then fi # check if /etc/machine-id is writeable and change it to readonly -[[ -w %{_sysconfdir}/machine-id ]] && chmod 444 %{_sysconfdir}/machine-id +[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id %if ! 0%{?bootstrap} pam-config --add --systemd || : From 9bca36b45b44069f6ebf565d7d43946f7de961aa66c9714a3dbfbd7894fbe4e3 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 11 May 2018 09:28:32 +0000 Subject: [PATCH 378/991] Accepting request 605360 from Base:System OBS-URL: https://build.opensuse.org/request/show/605360 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=278 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 4 +++- systemd.changes | 6 ++++++ systemd.spec | 4 +++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 82bd34cc..ddffeda8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com + +- align permissions of /etc/machine-id to upstream code (bsc#1092269) + world writeable machine-id is a security issue + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 7c164b7b..87aa79ec 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -687,9 +687,11 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id - chmod 666 %{_sysconfdir}/machine-id fi +# check if /etc/machine-id is writeable and change it to readonly +[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id + %if ! 0%{?bootstrap} pam-config --add --systemd || : %endif diff --git a/systemd.changes b/systemd.changes index 82bd34cc..ddffeda8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com + +- align permissions of /etc/machine-id to upstream code (bsc#1092269) + world writeable machine-id is a security issue + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 8e20f9a1..23af17e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -685,9 +685,11 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id - chmod 666 %{_sysconfdir}/machine-id fi +# check if /etc/machine-id is writeable and change it to readonly +[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id + %if ! 0%{?bootstrap} pam-config --add --systemd || : %endif From d4cc2ae643003e65099846363f2faae4660a04405943ce5fff37f1f8ae30c32c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 May 2018 09:20:18 +0000 Subject: [PATCH 379/991] Accepting request 606967 from home:fbui:systemd:Factory - Slight rewrite of the previous fix - Move 80-container-v[ez].network in systemd-container sub-package OBS-URL: https://build.opensuse.org/request/show/606967 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1030 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 26 +++++++++++++++++--------- systemd.changes | 12 ++++++++++++ systemd.spec | 26 +++++++++++++++++--------- 4 files changed, 58 insertions(+), 18 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index ddffeda8..927448b9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,9 +1,21 @@ +------------------------------------------------------------------- +Mon May 14 08:57:44 UTC 2018 - fbui@suse.com + +- Slight rewrite of the previous fix + ------------------------------------------------------------------- Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com - align permissions of /etc/machine-id to upstream code (bsc#1092269) world writeable machine-id is a security issue +------------------------------------------------------------------- +Mon Apr 23 14:05:37 UTC 2018 - fbui@suse.com + +- Move 80-container-v[ez].network in systemd-container sub-package + +- Move 80-container-host0.network from udev to systemd + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 87aa79ec..ce81abb0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -687,10 +687,15 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id + chmod 444 %{_sysconfdir}/machine-id fi -# check if /etc/machine-id is writeable and change it to readonly -[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id +# /etc/machine-id might have been created writeable incorrectly +# (boo#1092269). +if [ -w %{_sysconfdir}/machine-id ]; then + echo "/etc/machine-id shouldn't be writable, fixing..." + chmod 444 %{_sysconfdir}/machine-id || : +fi %if ! 0%{?bootstrap} pam-config --add --systemd || : @@ -1016,15 +1021,17 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%{_prefix}/lib/systemd/network/80-container-host0.network +%endif + %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1230,10 +1237,7 @@ fi %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network -%{_prefix}/lib/systemd/network/*.link -%if %{with networkd} -%{_prefix}/lib/systemd/network/*.network -%endif +%{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} @@ -1273,6 +1277,10 @@ fi %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %{_tmpfilesdir}/systemd-nspawn.conf +%if %{with networkd} +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined diff --git a/systemd.changes b/systemd.changes index ddffeda8..927448b9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,9 +1,21 @@ +------------------------------------------------------------------- +Mon May 14 08:57:44 UTC 2018 - fbui@suse.com + +- Slight rewrite of the previous fix + ------------------------------------------------------------------- Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com - align permissions of /etc/machine-id to upstream code (bsc#1092269) world writeable machine-id is a security issue +------------------------------------------------------------------- +Mon Apr 23 14:05:37 UTC 2018 - fbui@suse.com + +- Move 80-container-v[ez].network in systemd-container sub-package + +- Move 80-container-host0.network from udev to systemd + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 23af17e2..1961bfe8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -685,10 +685,15 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id + chmod 444 %{_sysconfdir}/machine-id fi -# check if /etc/machine-id is writeable and change it to readonly -[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id +# /etc/machine-id might have been created writeable incorrectly +# (boo#1092269). +if [ -w %{_sysconfdir}/machine-id ]; then + echo "/etc/machine-id shouldn't be writable, fixing..." + chmod 444 %{_sysconfdir}/machine-id || : +fi %if ! 0%{?bootstrap} pam-config --add --systemd || : @@ -1014,15 +1019,17 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%{_prefix}/lib/systemd/network/80-container-host0.network +%endif + %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1228,10 +1235,7 @@ fi %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network -%{_prefix}/lib/systemd/network/*.link -%if %{with networkd} -%{_prefix}/lib/systemd/network/*.network -%endif +%{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} @@ -1271,6 +1275,10 @@ fi %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %{_tmpfilesdir}/systemd-nspawn.conf +%if %{with networkd} +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined From 37270484426db9f5c4545aefe6905ec47773d3712dbef72e79d06c125eee560c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 16 May 2018 09:24:44 +0000 Subject: [PATCH 380/991] Accepting request 606982 from Base:System OBS-URL: https://build.opensuse.org/request/show/606982 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=279 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 26 +++++++++++++++++--------- systemd.changes | 12 ++++++++++++ systemd.spec | 26 +++++++++++++++++--------- 4 files changed, 58 insertions(+), 18 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index ddffeda8..927448b9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,9 +1,21 @@ +------------------------------------------------------------------- +Mon May 14 08:57:44 UTC 2018 - fbui@suse.com + +- Slight rewrite of the previous fix + ------------------------------------------------------------------- Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com - align permissions of /etc/machine-id to upstream code (bsc#1092269) world writeable machine-id is a security issue +------------------------------------------------------------------- +Mon Apr 23 14:05:37 UTC 2018 - fbui@suse.com + +- Move 80-container-v[ez].network in systemd-container sub-package + +- Move 80-container-host0.network from udev to systemd + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 87aa79ec..ce81abb0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -687,10 +687,15 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id + chmod 444 %{_sysconfdir}/machine-id fi -# check if /etc/machine-id is writeable and change it to readonly -[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id +# /etc/machine-id might have been created writeable incorrectly +# (boo#1092269). +if [ -w %{_sysconfdir}/machine-id ]; then + echo "/etc/machine-id shouldn't be writable, fixing..." + chmod 444 %{_sysconfdir}/machine-id || : +fi %if ! 0%{?bootstrap} pam-config --add --systemd || : @@ -1016,15 +1021,17 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%{_prefix}/lib/systemd/network/80-container-host0.network +%endif + %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1230,10 +1237,7 @@ fi %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network -%{_prefix}/lib/systemd/network/*.link -%if %{with networkd} -%{_prefix}/lib/systemd/network/*.network -%endif +%{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} @@ -1273,6 +1277,10 @@ fi %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %{_tmpfilesdir}/systemd-nspawn.conf +%if %{with networkd} +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined diff --git a/systemd.changes b/systemd.changes index ddffeda8..927448b9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,9 +1,21 @@ +------------------------------------------------------------------- +Mon May 14 08:57:44 UTC 2018 - fbui@suse.com + +- Slight rewrite of the previous fix + ------------------------------------------------------------------- Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com - align permissions of /etc/machine-id to upstream code (bsc#1092269) world writeable machine-id is a security issue +------------------------------------------------------------------- +Mon Apr 23 14:05:37 UTC 2018 - fbui@suse.com + +- Move 80-container-v[ez].network in systemd-container sub-package + +- Move 80-container-host0.network from udev to systemd + ------------------------------------------------------------------- Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 23af17e2..1961bfe8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -685,10 +685,15 @@ fi # machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id + chmod 444 %{_sysconfdir}/machine-id fi -# check if /etc/machine-id is writeable and change it to readonly -[ ! -w %{_sysconfdir}/machine-id ] || chmod 444 %{_sysconfdir}/machine-id +# /etc/machine-id might have been created writeable incorrectly +# (boo#1092269). +if [ -w %{_sysconfdir}/machine-id ]; then + echo "/etc/machine-id shouldn't be writable, fixing..." + chmod 444 %{_sysconfdir}/machine-id || : +fi %if ! 0%{?bootstrap} pam-config --add --systemd || : @@ -1014,15 +1019,17 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%{_prefix}/lib/systemd/network/80-container-host0.network +%endif + %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%endif %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh @@ -1228,10 +1235,7 @@ fi %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network -%{_prefix}/lib/systemd/network/*.link -%if %{with networkd} -%{_prefix}/lib/systemd/network/*.network -%endif +%{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc %files -n libsystemd0%{?mini} @@ -1271,6 +1275,10 @@ fi %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %{_tmpfilesdir}/systemd-nspawn.conf +%if %{with networkd} +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined From be11eb65350b1194187e13ba65e09355728f4d430846bd68357003f9c0aa1b7b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 May 2018 08:47:33 +0000 Subject: [PATCH 381/991] Accepting request 610240 from home:fbui:systemd:Factory - Disable user units by default (bsc#1090785) OBS-URL: https://build.opensuse.org/request/show/610240 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1031 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 927448b9..872d187a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 18 08:39:41 UTC 2018 - fbui@suse.com + +- Disable user units by default (bsc#1090785) + ------------------------------------------------------------------- Mon May 14 08:57:44 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index ce81abb0..5bfad6f2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -646,6 +646,7 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset +echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored diff --git a/systemd.changes b/systemd.changes index 927448b9..872d187a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 18 08:39:41 UTC 2018 - fbui@suse.com + +- Disable user units by default (bsc#1090785) + ------------------------------------------------------------------- Mon May 14 08:57:44 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 1961bfe8..c356ee33 100644 --- a/systemd.spec +++ b/systemd.spec @@ -644,6 +644,7 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset +echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored From cb6c33dc9ed1813cafa981f1b27474ffd45db6007c19484316a3dae9832f7490 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 22 May 2018 14:58:06 +0000 Subject: [PATCH 382/991] Accepting request 610242 from Base:System OBS-URL: https://build.opensuse.org/request/show/610242 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=280 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 927448b9..872d187a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 18 08:39:41 UTC 2018 - fbui@suse.com + +- Disable user units by default (bsc#1090785) + ------------------------------------------------------------------- Mon May 14 08:57:44 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index ce81abb0..5bfad6f2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -646,6 +646,7 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset +echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored diff --git a/systemd.changes b/systemd.changes index 927448b9..872d187a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 18 08:39:41 UTC 2018 - fbui@suse.com + +- Disable user units by default (bsc#1090785) + ------------------------------------------------------------------- Mon May 14 08:57:44 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 1961bfe8..c356ee33 100644 --- a/systemd.spec +++ b/systemd.spec @@ -644,6 +644,7 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset +echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored From 832a3241071793152dcae7e5e6ac501872136255bb08ec86c2103b56bf243997 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 14 Jun 2018 12:46:09 +0000 Subject: [PATCH 383/991] Accepting request 616860 from home:fbui:systemd:Factory - Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) e4402648c Fix pattern to detect distribution ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) b1876c81a rpm: remove confusing --user before --global 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) a9b587e2f fileio.c: fix incorrect mtime - Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) - Ship systemd-resolved (but disabled by default) (bsc#1018387) OBS-URL: https://build.opensuse.org/request/show/616860 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1032 --- ...e-etc-resolv.conf-symlink-at-runtime.patch | 53 +++++++++++++++++++ systemd-mini.changes | 18 +++++++ systemd-mini.spec | 12 +++-- systemd-v237+suse.57.gd81968050.tar.xz | 3 -- systemd-v237+suse.64.gf63623c1f.tar.xz | 3 ++ systemd.changes | 18 +++++++ systemd.spec | 12 +++-- 7 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch delete mode 100644 systemd-v237+suse.57.gd81968050.tar.xz create mode 100644 systemd-v237+suse.64.gf63623c1f.tar.xz diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch new file mode 100644 index 00000000..09c040f2 --- /dev/null +++ b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -0,0 +1,53 @@ +From a482b51673d4344faf76a0460a69d7f273b36e47 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Mar 2016 17:06:17 -0500 +Subject: [PATCH 1/1] resolved: create /etc/resolv.conf symlink at runtime + +If the symlink doesn't exists, and we are being started, let's +create it to provie name resolution. + +If it exists, do nothing. In particular, if it is a broken symlink, +we cannot really know if the administator configured it to point to +a location used by some service that hasn't started yet, so we +don't touch it in that case either. + +https://bugzilla.redhat.com/show_bug.cgi?id=1313085 + +[fbui: fixes boo#1024897] +--- + src/resolve/resolved.c | 4 ++++ + tmpfiles.d/etc.conf.m4 | 3 --- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c +index a4cda0b5e..68bca8077 100644 +--- a/src/resolve/resolved.c ++++ b/src/resolve/resolved.c +@@ -71,6 +71,10 @@ int main(int argc, char *argv[]) { + /* Drop privileges, but only if we have been started as root. If we are not running as root we assume all + * privileges are already dropped. */ + if (getuid() == 0) { ++ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); ++ if (r < 0 && errno != EEXIST) ++ log_warning_errno(errno, ++ "Could not create /etc/resolv.conf symlink: %m"); + + /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ + r = drop_privileges(uid, gid, +diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 +index df8d42101..928105ea8 100644 +--- a/tmpfiles.d/etc.conf.m4 ++++ b/tmpfiles.d/etc.conf.m4 +@@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts + m4_ifdef(`HAVE_SMACK_RUN_LABEL', + t /etc/mtab - - - - security.SMACK64=_ + )m4_dnl +-m4_ifdef(`ENABLE_RESOLVE', +-L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf +-)m4_dnl + C /etc/nsswitch.conf - - - - + m4_ifdef(`HAVE_PAM', + C /etc/pam.d - - - - +-- +2.16.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 872d187a..57ee268c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com + +- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 + + 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) + e4402648c Fix pattern to detect distribution + ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) + b1876c81a rpm: remove confusing --user before --global + 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) + a9b587e2f fileio.c: fix incorrect mtime + +------------------------------------------------------------------- +Tue Jun 12 13:38:23 UTC 2018 - fbui@suse.com + +- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) +- Ship systemd-resolved (but disabled by default) (bsc#1018387) + ------------------------------------------------------------------- Fri May 18 08:39:41 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5bfad6f2..294b59e4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.57.gd81968050 +%define suse_version +suse.64.gf63623c1f %bcond_with gnuefi %if 0%{?bootstrap} @@ -34,18 +34,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd-mini @@ -162,6 +163,7 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -424,7 +426,7 @@ systemd-journal-remote, and systemd-journal-upload. %prep %setup -q -n systemd-v%{version}%{suse_version} -# %%autopatch -p1 +%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1010,7 +1012,6 @@ fi %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf -%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ @@ -1111,6 +1112,9 @@ fi %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif +%if %{with resolved} +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* diff --git a/systemd-v237+suse.57.gd81968050.tar.xz b/systemd-v237+suse.57.gd81968050.tar.xz deleted file mode 100644 index 963d977f..00000000 --- a/systemd-v237+suse.57.gd81968050.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c92c0a8012c1b5b7a2866854ecdbcffca697d5cb65df43ad6a7a2859c95915e -size 4627256 diff --git a/systemd-v237+suse.64.gf63623c1f.tar.xz b/systemd-v237+suse.64.gf63623c1f.tar.xz new file mode 100644 index 00000000..f9cd526d --- /dev/null +++ b/systemd-v237+suse.64.gf63623c1f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8e33fbc2e480712d72fbb01548c9f3a4f6f9257b55772a58398ec3d0c63b47f +size 4627420 diff --git a/systemd.changes b/systemd.changes index 872d187a..57ee268c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com + +- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 + + 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) + e4402648c Fix pattern to detect distribution + ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) + b1876c81a rpm: remove confusing --user before --global + 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) + a9b587e2f fileio.c: fix incorrect mtime + +------------------------------------------------------------------- +Tue Jun 12 13:38:23 UTC 2018 - fbui@suse.com + +- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) +- Ship systemd-resolved (but disabled by default) (bsc#1018387) + ------------------------------------------------------------------- Fri May 18 08:39:41 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c356ee33..b5889757 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.57.gd81968050 +%define suse_version +suse.64.gf63623c1f %bcond_with gnuefi %if 0%{?bootstrap} @@ -32,18 +32,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd @@ -160,6 +161,7 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -422,7 +424,7 @@ systemd-journal-remote, and systemd-journal-upload. %prep %setup -q -n systemd-v%{version}%{suse_version} -# %%autopatch -p1 +%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1008,7 +1010,6 @@ fi %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf -%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ @@ -1109,6 +1110,9 @@ fi %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif +%if %{with resolved} +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* From 942c9accc4497d079c2ef62ee657f655b91b9c9c8407f1aefd85f7a5136a5920 Mon Sep 17 00:00:00 2001 From: Yuchen Lin Date: Tue, 19 Jun 2018 09:53:47 +0000 Subject: [PATCH 384/991] Accepting request 616862 from Base:System OBS-URL: https://build.opensuse.org/request/show/616862 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=281 --- ...e-etc-resolv.conf-symlink-at-runtime.patch | 53 +++++++++++++++++++ systemd-mini.changes | 18 +++++++ systemd-mini.spec | 12 +++-- systemd-v237+suse.57.gd81968050.tar.xz | 3 -- systemd-v237+suse.64.gf63623c1f.tar.xz | 3 ++ systemd.changes | 18 +++++++ systemd.spec | 12 +++-- 7 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch delete mode 100644 systemd-v237+suse.57.gd81968050.tar.xz create mode 100644 systemd-v237+suse.64.gf63623c1f.tar.xz diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch new file mode 100644 index 00000000..09c040f2 --- /dev/null +++ b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -0,0 +1,53 @@ +From a482b51673d4344faf76a0460a69d7f273b36e47 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Mar 2016 17:06:17 -0500 +Subject: [PATCH 1/1] resolved: create /etc/resolv.conf symlink at runtime + +If the symlink doesn't exists, and we are being started, let's +create it to provie name resolution. + +If it exists, do nothing. In particular, if it is a broken symlink, +we cannot really know if the administator configured it to point to +a location used by some service that hasn't started yet, so we +don't touch it in that case either. + +https://bugzilla.redhat.com/show_bug.cgi?id=1313085 + +[fbui: fixes boo#1024897] +--- + src/resolve/resolved.c | 4 ++++ + tmpfiles.d/etc.conf.m4 | 3 --- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c +index a4cda0b5e..68bca8077 100644 +--- a/src/resolve/resolved.c ++++ b/src/resolve/resolved.c +@@ -71,6 +71,10 @@ int main(int argc, char *argv[]) { + /* Drop privileges, but only if we have been started as root. If we are not running as root we assume all + * privileges are already dropped. */ + if (getuid() == 0) { ++ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); ++ if (r < 0 && errno != EEXIST) ++ log_warning_errno(errno, ++ "Could not create /etc/resolv.conf symlink: %m"); + + /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ + r = drop_privileges(uid, gid, +diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 +index df8d42101..928105ea8 100644 +--- a/tmpfiles.d/etc.conf.m4 ++++ b/tmpfiles.d/etc.conf.m4 +@@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts + m4_ifdef(`HAVE_SMACK_RUN_LABEL', + t /etc/mtab - - - - security.SMACK64=_ + )m4_dnl +-m4_ifdef(`ENABLE_RESOLVE', +-L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf +-)m4_dnl + C /etc/nsswitch.conf - - - - + m4_ifdef(`HAVE_PAM', + C /etc/pam.d - - - - +-- +2.16.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 872d187a..57ee268c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com + +- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 + + 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) + e4402648c Fix pattern to detect distribution + ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) + b1876c81a rpm: remove confusing --user before --global + 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) + a9b587e2f fileio.c: fix incorrect mtime + +------------------------------------------------------------------- +Tue Jun 12 13:38:23 UTC 2018 - fbui@suse.com + +- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) +- Ship systemd-resolved (but disabled by default) (bsc#1018387) + ------------------------------------------------------------------- Fri May 18 08:39:41 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5bfad6f2..294b59e4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.57.gd81968050 +%define suse_version +suse.64.gf63623c1f %bcond_with gnuefi %if 0%{?bootstrap} @@ -34,18 +34,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd-mini @@ -162,6 +163,7 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -424,7 +426,7 @@ systemd-journal-remote, and systemd-journal-upload. %prep %setup -q -n systemd-v%{version}%{suse_version} -# %%autopatch -p1 +%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1010,7 +1012,6 @@ fi %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf -%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ @@ -1111,6 +1112,9 @@ fi %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif +%if %{with resolved} +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* diff --git a/systemd-v237+suse.57.gd81968050.tar.xz b/systemd-v237+suse.57.gd81968050.tar.xz deleted file mode 100644 index 963d977f..00000000 --- a/systemd-v237+suse.57.gd81968050.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c92c0a8012c1b5b7a2866854ecdbcffca697d5cb65df43ad6a7a2859c95915e -size 4627256 diff --git a/systemd-v237+suse.64.gf63623c1f.tar.xz b/systemd-v237+suse.64.gf63623c1f.tar.xz new file mode 100644 index 00000000..f9cd526d --- /dev/null +++ b/systemd-v237+suse.64.gf63623c1f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8e33fbc2e480712d72fbb01548c9f3a4f6f9257b55772a58398ec3d0c63b47f +size 4627420 diff --git a/systemd.changes b/systemd.changes index 872d187a..57ee268c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com + +- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 + + 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) + e4402648c Fix pattern to detect distribution + ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) + b1876c81a rpm: remove confusing --user before --global + 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) + a9b587e2f fileio.c: fix incorrect mtime + +------------------------------------------------------------------- +Tue Jun 12 13:38:23 UTC 2018 - fbui@suse.com + +- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) +- Ship systemd-resolved (but disabled by default) (bsc#1018387) + ------------------------------------------------------------------- Fri May 18 08:39:41 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index c356ee33..b5889757 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.57.gd81968050 +%define suse_version +suse.64.gf63623c1f %bcond_with gnuefi %if 0%{?bootstrap} @@ -32,18 +32,19 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with resolved %bcond_with journal_remote %else %bcond_without sysvcompat %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif %endif -%bcond_with resolved %bcond_with parentpathid Name: systemd @@ -160,6 +161,7 @@ Source1002: 99-wakeup-from-idle.rules # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -422,7 +424,7 @@ systemd-journal-remote, and systemd-journal-upload. %prep %setup -q -n systemd-v%{version}%{suse_version} -# %%autopatch -p1 +%autopatch -p1 %build opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) @@ -1008,7 +1010,6 @@ fi %if %{with journal_remote} %exclude %{_sysusersdir}/systemd-remote.conf -%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ @@ -1109,6 +1110,9 @@ fi %if %{with networkd} %{_datadir}/polkit-1/rules.d/systemd-networkd.rules %endif +%if %{with resolved} +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* From e12b01a79e2bc0124a3491d20313ffbd8ec032c84935889f1130b3b793cef018 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 25 Jun 2018 09:34:18 +0000 Subject: [PATCH 385/991] Accepting request 618913 from home:fbui:systemd:Factory - Drop runtime dependency on dracut (bsc#1098569) Otherwise systemd pulls in tools to generate the initrd even in container/chroot installations that don't have a kernel anyways. For environments where initrd matters, dracut should be pulled via a pattern. - Drop runtime dependency on dracut (bsc#1098569) Otherwise systemd pulls in tools to generate the initrd even in container/chroot installations that don't have a kernel anyways. For environments where initrd matters, dracut should be pulled via a pattern. OBS-URL: https://build.opensuse.org/request/show/618913 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1033 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 1 - systemd.changes | 11 +++++++++++ systemd.spec | 1 - 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 57ee268c..87a8c4a4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com + +- Drop runtime dependency on dracut (bsc#1098569) + + Otherwise systemd pulls in tools to generate the initrd even in + container/chroot installations that don't have a kernel anyways. + + For environments where initrd matters, dracut should be pulled via a + pattern. + ------------------------------------------------------------------- Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 294b59e4..26cc8806 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -240,7 +240,6 @@ Requires(post): sed Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 diff --git a/systemd.changes b/systemd.changes index 57ee268c..87a8c4a4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com + +- Drop runtime dependency on dracut (bsc#1098569) + + Otherwise systemd pulls in tools to generate the initrd even in + container/chroot installations that don't have a kernel anyways. + + For environments where initrd matters, dracut should be pulled via a + pattern. + ------------------------------------------------------------------- Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b5889757..f2b0215c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -238,7 +238,6 @@ Requires(post): sed Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 From f6c40c04dc952703d256e1c19c7b2a677c673ada53779d609e56e8790f467b6f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 13 Jul 2018 08:11:26 +0000 Subject: [PATCH 386/991] Accepting request 620729 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/620729 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=282 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 1 - systemd.changes | 11 +++++++++++ systemd.spec | 1 - 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 57ee268c..87a8c4a4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com + +- Drop runtime dependency on dracut (bsc#1098569) + + Otherwise systemd pulls in tools to generate the initrd even in + container/chroot installations that don't have a kernel anyways. + + For environments where initrd matters, dracut should be pulled via a + pattern. + ------------------------------------------------------------------- Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 294b59e4..26cc8806 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -240,7 +240,6 @@ Requires(post): sed Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 diff --git a/systemd.changes b/systemd.changes index 57ee268c..87a8c4a4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com + +- Drop runtime dependency on dracut (bsc#1098569) + + Otherwise systemd pulls in tools to generate the initrd even in + container/chroot installations that don't have a kernel anyways. + + For environments where initrd matters, dracut should be pulled via a + pattern. + ------------------------------------------------------------------- Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b5889757..f2b0215c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -238,7 +238,6 @@ Requires(post): sed Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Requires(posttrans): suse-module-tools >= 12.4 Conflicts: systemd < 39 Conflicts: aaa_base < 11.5 From d9871643671553062667d928690915d5c4dc7c1eca60b57e74f651b99d58e92b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 27 Jul 2018 10:52:36 +0000 Subject: [PATCH 387/991] Accepting request 625754 from home:fbui:systemd:Factory - Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files OBS-URL: https://build.opensuse.org/request/show/625754 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1034 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 2 +- systemd-v237+suse.64.gf63623c1f.tar.xz | 3 --- systemd-v237+suse.71.g0350f62a8.tar.xz | 3 +++ systemd.changes | 12 ++++++++++++ systemd.spec | 2 +- 6 files changed, 29 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.64.gf63623c1f.tar.xz create mode 100644 systemd-v237+suse.71.g0350f62a8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 87a8c4a4..1b0d8985 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com + +- Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a + + fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) + 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) + 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) + 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) + 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) + 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files + ------------------------------------------------------------------- Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 26cc8806..9f9aa45e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.64.gf63623c1f +%define suse_version +suse.71.g0350f62a8 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v237+suse.64.gf63623c1f.tar.xz b/systemd-v237+suse.64.gf63623c1f.tar.xz deleted file mode 100644 index f9cd526d..00000000 --- a/systemd-v237+suse.64.gf63623c1f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8e33fbc2e480712d72fbb01548c9f3a4f6f9257b55772a58398ec3d0c63b47f -size 4627420 diff --git a/systemd-v237+suse.71.g0350f62a8.tar.xz b/systemd-v237+suse.71.g0350f62a8.tar.xz new file mode 100644 index 00000000..f8e4dc5a --- /dev/null +++ b/systemd-v237+suse.71.g0350f62a8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ecff52170239199d824770b49be4923bceba2544371b266f9f2d695702a44f0 +size 4627884 diff --git a/systemd.changes b/systemd.changes index 87a8c4a4..1b0d8985 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com + +- Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a + + fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) + 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) + 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) + 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) + 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) + 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files + ------------------------------------------------------------------- Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index f2b0215c..3c26cd4a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.64.gf63623c1f +%define suse_version +suse.71.g0350f62a8 %bcond_with gnuefi %if 0%{?bootstrap} From 11f17dd035a28219fce976a25e9038cc4c398161d5ad6e3188dfabd974718632 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 2 Aug 2018 12:50:30 +0000 Subject: [PATCH 388/991] Accepting request 625755 from Base:System OBS-URL: https://build.opensuse.org/request/show/625755 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=283 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 2 +- systemd-v237+suse.64.gf63623c1f.tar.xz | 3 --- systemd-v237+suse.71.g0350f62a8.tar.xz | 3 +++ systemd.changes | 12 ++++++++++++ systemd.spec | 2 +- 6 files changed, 29 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.64.gf63623c1f.tar.xz create mode 100644 systemd-v237+suse.71.g0350f62a8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 87a8c4a4..1b0d8985 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com + +- Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a + + fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) + 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) + 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) + 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) + 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) + 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files + ------------------------------------------------------------------- Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 26cc8806..9f9aa45e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.64.gf63623c1f +%define suse_version +suse.71.g0350f62a8 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v237+suse.64.gf63623c1f.tar.xz b/systemd-v237+suse.64.gf63623c1f.tar.xz deleted file mode 100644 index f9cd526d..00000000 --- a/systemd-v237+suse.64.gf63623c1f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8e33fbc2e480712d72fbb01548c9f3a4f6f9257b55772a58398ec3d0c63b47f -size 4627420 diff --git a/systemd-v237+suse.71.g0350f62a8.tar.xz b/systemd-v237+suse.71.g0350f62a8.tar.xz new file mode 100644 index 00000000..f8e4dc5a --- /dev/null +++ b/systemd-v237+suse.71.g0350f62a8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ecff52170239199d824770b49be4923bceba2544371b266f9f2d695702a44f0 +size 4627884 diff --git a/systemd.changes b/systemd.changes index 87a8c4a4..1b0d8985 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com + +- Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a + + fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) + 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) + 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) + 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) + 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) + 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files + ------------------------------------------------------------------- Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index f2b0215c..3c26cd4a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.64.gf63623c1f +%define suse_version +suse.71.g0350f62a8 %bcond_with gnuefi %if 0%{?bootstrap} From df5c6794a41aeae109d6017bbae6de6201a26e7a492f43fd2b4b4770a544c065 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 9 Aug 2018 06:47:09 +0000 Subject: [PATCH 389/991] Accepting request 628331 from home:fbui:systemd:Factory - Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 8983bd246 core: don't include libmount.h in a header file (#8580) 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes 42edc93ac core/service: rework the hold-off time over message - Enable regexp matching support Currently only used by "journalctl --grep=xxx". OBS-URL: https://build.opensuse.org/request/show/628331 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1035 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 3 ++- systemd-v237+suse.71.g0350f62a8.tar.xz | 3 --- systemd-v237+suse.76.gbb5a925bc.tar.xz | 3 +++ systemd.changes | 16 ++++++++++++++++ systemd.spec | 3 ++- 6 files changed, 39 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.71.g0350f62a8.tar.xz create mode 100644 systemd-v237+suse.76.gbb5a925bc.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 1b0d8985..f99ac367 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com + +- Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 + + 8983bd246 core: don't include libmount.h in a header file (#8580) + 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes + 42edc93ac core/service: rework the hold-off time over message + +------------------------------------------------------------------- +Wed Aug 1 12:19:40 UTC 2018 - fbui@suse.com + +- Enable regexp matching support + + Currently only used by "journalctl --grep=xxx". + ------------------------------------------------------------------- Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 9f9aa45e..5701729a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.71.g0350f62a8 +%define suse_version +suse.76.gbb5a925bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -70,6 +70,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x diff --git a/systemd-v237+suse.71.g0350f62a8.tar.xz b/systemd-v237+suse.71.g0350f62a8.tar.xz deleted file mode 100644 index f8e4dc5a..00000000 --- a/systemd-v237+suse.71.g0350f62a8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ecff52170239199d824770b49be4923bceba2544371b266f9f2d695702a44f0 -size 4627884 diff --git a/systemd-v237+suse.76.gbb5a925bc.tar.xz b/systemd-v237+suse.76.gbb5a925bc.tar.xz new file mode 100644 index 00000000..227460b4 --- /dev/null +++ b/systemd-v237+suse.76.gbb5a925bc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e53944f87bf7603766cdd7230a2898c2948ede4c1f5a7e0e1fac3810f93fd57 +size 4627756 diff --git a/systemd.changes b/systemd.changes index 1b0d8985..f99ac367 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com + +- Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 + + 8983bd246 core: don't include libmount.h in a header file (#8580) + 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes + 42edc93ac core/service: rework the hold-off time over message + +------------------------------------------------------------------- +Wed Aug 1 12:19:40 UTC 2018 - fbui@suse.com + +- Enable regexp matching support + + Currently only used by "journalctl --grep=xxx". + ------------------------------------------------------------------- Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3c26cd4a..80630a40 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.71.g0350f62a8 +%define suse_version +suse.76.gbb5a925bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -68,6 +68,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x From 2a583969a5fbaccdaa785f9b13d28e413ee89e081942e65e8272164fc31929a3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 9 Aug 2018 06:51:29 +0000 Subject: [PATCH 390/991] Accepting request 628334 from home:fbui:systemd:Factory 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) OBS-URL: https://build.opensuse.org/request/show/628334 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1036 --- systemd-mini.changes | 2 +- systemd.changes | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index f99ac367..9154009b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -4,7 +4,7 @@ Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com - Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 8983bd246 core: don't include libmount.h in a header file (#8580) - 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes + 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) 42edc93ac core/service: rework the hold-off time over message ------------------------------------------------------------------- diff --git a/systemd.changes b/systemd.changes index f99ac367..9154009b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -4,7 +4,7 @@ Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com - Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 8983bd246 core: don't include libmount.h in a header file (#8580) - 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes + 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) 42edc93ac core/service: rework the hold-off time over message ------------------------------------------------------------------- From 8c2f3919c10d2df919a5f2e1612a6ca138b3f1e5463c3b020a0ec7e6caec7c63 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 17 Aug 2018 21:56:48 +0000 Subject: [PATCH 391/991] Accepting request 628336 from Base:System OBS-URL: https://build.opensuse.org/request/show/628336 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=284 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 3 ++- systemd-v237+suse.71.g0350f62a8.tar.xz | 3 --- systemd-v237+suse.76.gbb5a925bc.tar.xz | 3 +++ systemd.changes | 16 ++++++++++++++++ systemd.spec | 3 ++- 6 files changed, 39 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.71.g0350f62a8.tar.xz create mode 100644 systemd-v237+suse.76.gbb5a925bc.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 1b0d8985..9154009b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com + +- Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 + + 8983bd246 core: don't include libmount.h in a header file (#8580) + 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) + 42edc93ac core/service: rework the hold-off time over message + +------------------------------------------------------------------- +Wed Aug 1 12:19:40 UTC 2018 - fbui@suse.com + +- Enable regexp matching support + + Currently only used by "journalctl --grep=xxx". + ------------------------------------------------------------------- Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 9f9aa45e..5701729a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.71.g0350f62a8 +%define suse_version +suse.76.gbb5a925bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -70,6 +70,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x diff --git a/systemd-v237+suse.71.g0350f62a8.tar.xz b/systemd-v237+suse.71.g0350f62a8.tar.xz deleted file mode 100644 index f8e4dc5a..00000000 --- a/systemd-v237+suse.71.g0350f62a8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ecff52170239199d824770b49be4923bceba2544371b266f9f2d695702a44f0 -size 4627884 diff --git a/systemd-v237+suse.76.gbb5a925bc.tar.xz b/systemd-v237+suse.76.gbb5a925bc.tar.xz new file mode 100644 index 00000000..227460b4 --- /dev/null +++ b/systemd-v237+suse.76.gbb5a925bc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e53944f87bf7603766cdd7230a2898c2948ede4c1f5a7e0e1fac3810f93fd57 +size 4627756 diff --git a/systemd.changes b/systemd.changes index 1b0d8985..9154009b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com + +- Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 + + 8983bd246 core: don't include libmount.h in a header file (#8580) + 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) + 42edc93ac core/service: rework the hold-off time over message + +------------------------------------------------------------------- +Wed Aug 1 12:19:40 UTC 2018 - fbui@suse.com + +- Enable regexp matching support + + Currently only used by "journalctl --grep=xxx". + ------------------------------------------------------------------- Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 3c26cd4a..80630a40 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.71.g0350f62a8 +%define suse_version +suse.76.gbb5a925bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -68,6 +68,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x From c9f8d2d7d2551fab7c6801c685636b640d18b6691052ee09eb6c17311c43c788 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 11 Sep 2018 09:22:58 +0000 Subject: [PATCH 392/991] Accepting request 634921 from home:fbui:systemd:openSUSE-Factory - Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) OBS-URL: https://build.opensuse.org/request/show/634921 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1037 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 2 +- systemd-v237+suse.76.gbb5a925bc.tar.xz | 3 --- systemd-v237+suse.80.g6ac2232d8.tar.xz | 3 +++ systemd.changes | 9 +++++++++ systemd.spec | 2 +- 6 files changed, 23 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.76.gbb5a925bc.tar.xz create mode 100644 systemd-v237+suse.80.g6ac2232d8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 9154009b..184b8bc7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com + +- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 + + 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) + 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) + cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) + ------------------------------------------------------------------- Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5701729a..0b2a754c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.76.gbb5a925bc +%define suse_version +suse.80.g6ac2232d8 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v237+suse.76.gbb5a925bc.tar.xz b/systemd-v237+suse.76.gbb5a925bc.tar.xz deleted file mode 100644 index 227460b4..00000000 --- a/systemd-v237+suse.76.gbb5a925bc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e53944f87bf7603766cdd7230a2898c2948ede4c1f5a7e0e1fac3810f93fd57 -size 4627756 diff --git a/systemd-v237+suse.80.g6ac2232d8.tar.xz b/systemd-v237+suse.80.g6ac2232d8.tar.xz new file mode 100644 index 00000000..46a81261 --- /dev/null +++ b/systemd-v237+suse.80.g6ac2232d8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:650ae94ca6ac4a57b094402c569aeb12107e495cda545a973fb380c6a5574c55 +size 4627884 diff --git a/systemd.changes b/systemd.changes index 9154009b..184b8bc7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com + +- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 + + 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) + 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) + cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) + ------------------------------------------------------------------- Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 80630a40..56d29ec0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.76.gbb5a925bc +%define suse_version +suse.80.g6ac2232d8 %bcond_with gnuefi %if 0%{?bootstrap} From 79fab1e92775427a40b71eae3bfdfa9149efcdb9f272b74abd3261835ac97916 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 14 Sep 2018 07:33:06 +0000 Subject: [PATCH 393/991] Accepting request 635662 from home:fbui:systemd:openSUSE-Factory - Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) 3986c4d82 units: make sure user@.service runs with dbus still up 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) OBS-URL: https://build.opensuse.org/request/show/635662 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1038 --- systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 2 +- systemd-v237+suse.80.g6ac2232d8.tar.xz | 3 --- systemd-v237+suse.85.gcc55f1ea9.tar.xz | 3 +++ systemd.changes | 10 ++++++++++ systemd.spec | 2 +- 6 files changed, 25 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.80.g6ac2232d8.tar.xz create mode 100644 systemd-v237+suse.85.gcc55f1ea9.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 184b8bc7..0c452f67 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com + +- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 + + 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) + 3986c4d82 units: make sure user@.service runs with dbus still up + 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) + 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) + ------------------------------------------------------------------- Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 0b2a754c..51ce223f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.80.g6ac2232d8 +%define suse_version +suse.85.gcc55f1ea9 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v237+suse.80.g6ac2232d8.tar.xz b/systemd-v237+suse.80.g6ac2232d8.tar.xz deleted file mode 100644 index 46a81261..00000000 --- a/systemd-v237+suse.80.g6ac2232d8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:650ae94ca6ac4a57b094402c569aeb12107e495cda545a973fb380c6a5574c55 -size 4627884 diff --git a/systemd-v237+suse.85.gcc55f1ea9.tar.xz b/systemd-v237+suse.85.gcc55f1ea9.tar.xz new file mode 100644 index 00000000..88eb8a47 --- /dev/null +++ b/systemd-v237+suse.85.gcc55f1ea9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4a8bdcffdc06109d59f07af97bed75af8a49df2b2c6ad41a13e5fe82971b350 +size 4627976 diff --git a/systemd.changes b/systemd.changes index 184b8bc7..0c452f67 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com + +- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 + + 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) + 3986c4d82 units: make sure user@.service runs with dbus still up + 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) + 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) + ------------------------------------------------------------------- Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 56d29ec0..562fd90f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.80.g6ac2232d8 +%define suse_version +suse.85.gcc55f1ea9 %bcond_with gnuefi %if 0%{?bootstrap} From 3f520c3ffc0486a8993c996ab6d8eed201c9b8dcbfa4f20bbf63b523b99ffd48 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 14 Sep 2018 13:06:52 +0000 Subject: [PATCH 394/991] Accepting request 635764 from home:fbui:systemd:openSUSE-Factory - Enable or disable machines.target according to the presets (bsc#1107941) OBS-URL: https://build.opensuse.org/request/show/635764 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1039 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 3 ++- systemd.changes | 5 +++++ systemd.spec | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0c452f67..65c80bf9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com + +- Enable or disable machines.target according to the presets (bsc#1107941) + ------------------------------------------------------------------- Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 51ce223f..80b80f08 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -713,8 +713,9 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-fs.target %systemd_post getty@.service +%systemd_post machines.target +%systemd_post remote-fs.target %systemd_post systemd-timesyncd.service %if %{with networkd} %systemd_post systemd-networkd.service diff --git a/systemd.changes b/systemd.changes index 0c452f67..65c80bf9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com + +- Enable or disable machines.target according to the presets (bsc#1107941) + ------------------------------------------------------------------- Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 562fd90f..b291dcf2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -711,8 +711,9 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-fs.target %systemd_post getty@.service +%systemd_post machines.target +%systemd_post remote-fs.target %systemd_post systemd-timesyncd.service %if %{with networkd} %systemd_post systemd-networkd.service From 789ca66d38e4c7d561874f6a997e5af64ce57092d1f66c2763e260b564ed2dd8 Mon Sep 17 00:00:00 2001 From: Yuchen Lin Date: Tue, 18 Sep 2018 09:39:40 +0000 Subject: [PATCH 395/991] Accepting request 635765 from Base:System OBS-URL: https://build.opensuse.org/request/show/635765 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=285 --- systemd-mini.changes | 24 ++++++++++++++++++++++++ systemd-mini.spec | 5 +++-- systemd-v237+suse.76.gbb5a925bc.tar.xz | 3 --- systemd-v237+suse.85.gcc55f1ea9.tar.xz | 3 +++ systemd.changes | 24 ++++++++++++++++++++++++ systemd.spec | 5 +++-- 6 files changed, 57 insertions(+), 7 deletions(-) delete mode 100644 systemd-v237+suse.76.gbb5a925bc.tar.xz create mode 100644 systemd-v237+suse.85.gcc55f1ea9.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 9154009b..65c80bf9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com + +- Enable or disable machines.target according to the presets (bsc#1107941) + +------------------------------------------------------------------- +Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com + +- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 + + 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) + 3986c4d82 units: make sure user@.service runs with dbus still up + 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) + 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) + +------------------------------------------------------------------- +Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com + +- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 + + 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) + 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) + cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) + ------------------------------------------------------------------- Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 5701729a..80b80f08 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.76.gbb5a925bc +%define suse_version +suse.85.gcc55f1ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -713,8 +713,9 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-fs.target %systemd_post getty@.service +%systemd_post machines.target +%systemd_post remote-fs.target %systemd_post systemd-timesyncd.service %if %{with networkd} %systemd_post systemd-networkd.service diff --git a/systemd-v237+suse.76.gbb5a925bc.tar.xz b/systemd-v237+suse.76.gbb5a925bc.tar.xz deleted file mode 100644 index 227460b4..00000000 --- a/systemd-v237+suse.76.gbb5a925bc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e53944f87bf7603766cdd7230a2898c2948ede4c1f5a7e0e1fac3810f93fd57 -size 4627756 diff --git a/systemd-v237+suse.85.gcc55f1ea9.tar.xz b/systemd-v237+suse.85.gcc55f1ea9.tar.xz new file mode 100644 index 00000000..88eb8a47 --- /dev/null +++ b/systemd-v237+suse.85.gcc55f1ea9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4a8bdcffdc06109d59f07af97bed75af8a49df2b2c6ad41a13e5fe82971b350 +size 4627976 diff --git a/systemd.changes b/systemd.changes index 9154009b..65c80bf9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com + +- Enable or disable machines.target according to the presets (bsc#1107941) + +------------------------------------------------------------------- +Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com + +- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 + + 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) + 3986c4d82 units: make sure user@.service runs with dbus still up + 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) + 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) + +------------------------------------------------------------------- +Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com + +- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 + + 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) + 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) + cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) + ------------------------------------------------------------------- Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 80630a40..b291dcf2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.76.gbb5a925bc +%define suse_version +suse.85.gcc55f1ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -711,8 +711,9 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-fs.target %systemd_post getty@.service +%systemd_post machines.target +%systemd_post remote-fs.target %systemd_post systemd-timesyncd.service %if %{with networkd} %systemd_post systemd-networkd.service From bef0d4b8631eafb1e1db16c407d22aab5560c1b2f0c7c7cb7f29c747c0b9b545 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Sep 2018 08:14:34 +0000 Subject: [PATCH 396/991] Accepting request 638970 from home:fbui:systemd:openSUSE-Factory - Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell b8bbb50634 man: document that 'nofail' also has an effect on ordering a5410b2229 journald: take leading spaces into account in syslog_parse_identifier b793c312c7 journal: do not remove multiple spaces after identifier in syslog message f9595f0481 syslog: fix segfault in syslog_parse_priority() d464f06934 journal: fix syslog_parse_identifier() e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) OBS-URL: https://build.opensuse.org/request/show/638970 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1040 --- systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 2 +- systemd-v237+suse.85.gcc55f1ea9.tar.xz | 3 --- systemd-v237+suse.93.ga67b516d4.tar.xz | 3 +++ systemd.changes | 13 +++++++++++++ systemd.spec | 2 +- 6 files changed, 31 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.85.gcc55f1ea9.tar.xz create mode 100644 systemd-v237+suse.93.ga67b516d4.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 65c80bf9..14ec559e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com + +- Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae + + f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell + b8bbb50634 man: document that 'nofail' also has an effect on ordering + a5410b2229 journald: take leading spaces into account in syslog_parse_identifier + b793c312c7 journal: do not remove multiple spaces after identifier in syslog message + f9595f0481 syslog: fix segfault in syslog_parse_priority() + d464f06934 journal: fix syslog_parse_identifier() + e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 80b80f08..758d4d87 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.85.gcc55f1ea9 +%define suse_version +suse.93.ga67b516d4 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v237+suse.85.gcc55f1ea9.tar.xz b/systemd-v237+suse.85.gcc55f1ea9.tar.xz deleted file mode 100644 index 88eb8a47..00000000 --- a/systemd-v237+suse.85.gcc55f1ea9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4a8bdcffdc06109d59f07af97bed75af8a49df2b2c6ad41a13e5fe82971b350 -size 4627976 diff --git a/systemd-v237+suse.93.ga67b516d4.tar.xz b/systemd-v237+suse.93.ga67b516d4.tar.xz new file mode 100644 index 00000000..f9e9ce79 --- /dev/null +++ b/systemd-v237+suse.93.ga67b516d4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:197b53c8d49a912f600a234884ea7000b34147bc13068fe71946550cfc090552 +size 4628352 diff --git a/systemd.changes b/systemd.changes index 65c80bf9..14ec559e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com + +- Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae + + f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell + b8bbb50634 man: document that 'nofail' also has an effect on ordering + a5410b2229 journald: take leading spaces into account in syslog_parse_identifier + b793c312c7 journal: do not remove multiple spaces after identifier in syslog message + f9595f0481 syslog: fix segfault in syslog_parse_priority() + d464f06934 journal: fix syslog_parse_identifier() + e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b291dcf2..0bf5d959 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.85.gcc55f1ea9 +%define suse_version +suse.93.ga67b516d4 %bcond_with gnuefi %if 0%{?bootstrap} From 1484572235dcda13b469b254528effa45266c0914bb7c9273741e49326215760 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 2 Oct 2018 17:42:38 +0000 Subject: [PATCH 397/991] Accepting request 638971 from Base:System OBS-URL: https://build.opensuse.org/request/show/638971 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=286 --- systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 2 +- systemd-v237+suse.85.gcc55f1ea9.tar.xz | 3 --- systemd-v237+suse.93.ga67b516d4.tar.xz | 3 +++ systemd.changes | 13 +++++++++++++ systemd.spec | 2 +- 6 files changed, 31 insertions(+), 5 deletions(-) delete mode 100644 systemd-v237+suse.85.gcc55f1ea9.tar.xz create mode 100644 systemd-v237+suse.93.ga67b516d4.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 65c80bf9..14ec559e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com + +- Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae + + f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell + b8bbb50634 man: document that 'nofail' also has an effect on ordering + a5410b2229 journald: take leading spaces into account in syslog_parse_identifier + b793c312c7 journal: do not remove multiple spaces after identifier in syslog message + f9595f0481 syslog: fix segfault in syslog_parse_priority() + d464f06934 journal: fix syslog_parse_identifier() + e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 80b80f08..758d4d87 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.85.gcc55f1ea9 +%define suse_version +suse.93.ga67b516d4 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v237+suse.85.gcc55f1ea9.tar.xz b/systemd-v237+suse.85.gcc55f1ea9.tar.xz deleted file mode 100644 index 88eb8a47..00000000 --- a/systemd-v237+suse.85.gcc55f1ea9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4a8bdcffdc06109d59f07af97bed75af8a49df2b2c6ad41a13e5fe82971b350 -size 4627976 diff --git a/systemd-v237+suse.93.ga67b516d4.tar.xz b/systemd-v237+suse.93.ga67b516d4.tar.xz new file mode 100644 index 00000000..f9e9ce79 --- /dev/null +++ b/systemd-v237+suse.93.ga67b516d4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:197b53c8d49a912f600a234884ea7000b34147bc13068fe71946550cfc090552 +size 4628352 diff --git a/systemd.changes b/systemd.changes index 65c80bf9..14ec559e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com + +- Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae + + f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell + b8bbb50634 man: document that 'nofail' also has an effect on ordering + a5410b2229 journald: take leading spaces into account in syslog_parse_identifier + b793c312c7 journal: do not remove multiple spaces after identifier in syslog message + f9595f0481 syslog: fix segfault in syslog_parse_priority() + d464f06934 journal: fix syslog_parse_identifier() + e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index b291dcf2..0bf5d959 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.85.gcc55f1ea9 +%define suse_version +suse.93.ga67b516d4 %bcond_with gnuefi %if 0%{?bootstrap} From a6b3c51d6ee5c8243d6034ffd073b946fc9579b3a0a12c4b0e65e4c5797e1f67 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Oct 2018 18:07:19 +0000 Subject: [PATCH 398/991] Accepting request 642103 from home:fbui:systemd:openSUSE-Factory - Ship systemd-sysv-install helper via the main package This script was part of systemd-sysvinit sub-package but it was wrong since systemd-sysv-install is a script used to redirect enable/disable operations to chkconfig when the unit targets are sysv init scripts. Therefore it's never been a SySV init tool. While at it, don't ship this script (as well as systemd-sysv-convert) when sysvcompat is not defined. - Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option 479b002083 core: add missing 'continue' statement c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) OBS-URL: https://build.opensuse.org/request/show/642103 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1041 --- systemd-mini.changes | 24 ++++++++++++++++++++++++ systemd-mini.spec | 20 +++++++++++++------- systemd-v237+suse.100.g19b3868d3.tar.xz | 3 +++ systemd-v237+suse.93.ga67b516d4.tar.xz | 3 --- systemd.changes | 24 ++++++++++++++++++++++++ systemd.spec | 20 +++++++++++++------- 6 files changed, 77 insertions(+), 17 deletions(-) create mode 100644 systemd-v237+suse.100.g19b3868d3.tar.xz delete mode 100644 systemd-v237+suse.93.ga67b516d4.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 14ec559e..64a87a55 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Oct 15 16:23:05 UTC 2018 - Franck Bui + +- Ship systemd-sysv-install helper via the main package + + This script was part of systemd-sysvinit sub-package but it was + wrong since systemd-sysv-install is a script used to redirect + enable/disable operations to chkconfig when the unit targets are + sysv init scripts. Therefore it's never been a SySV init tool. + + While at it, don't ship this script (as well as + systemd-sysv-convert) when sysvcompat is not defined. + +------------------------------------------------------------------- +Mon Oct 15 15:01:48 UTC 2018 - Franck Bui + +- Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 + + 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option + 479b002083 core: add missing 'continue' statement + c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) + f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) + 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) + ------------------------------------------------------------------- Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 758d4d87..55537c48 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.93.ga67b516d4 +%define suse_version +suse.100.g19b3868d3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -143,10 +143,12 @@ Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user +%if %{with sysvcompat} Source3: systemd-sysv-convert +Source4: systemd-sysv-install +%endif Source6: baselibs.conf Source11: after-local.service -Source12: systemd-sysv-install Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh @@ -492,11 +494,13 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd +%if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert -install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +%endif # The rules that we shouldn't maintain install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules @@ -914,7 +918,9 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl +%if %{with sysvcompat} %{_sbindir}/systemd-sysv-convert +%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -934,7 +940,6 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* @@ -1150,9 +1155,11 @@ fi %{_udevrulesdir}/73-seat-late.rules %{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/catalog +%if %{with sysvcompat} %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/catalog +%endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed @@ -1194,7 +1201,6 @@ fi %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) diff --git a/systemd-v237+suse.100.g19b3868d3.tar.xz b/systemd-v237+suse.100.g19b3868d3.tar.xz new file mode 100644 index 00000000..5e7c3bb1 --- /dev/null +++ b/systemd-v237+suse.100.g19b3868d3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a821019ddd446a6a4d25c5152b0cdd42b197c8657c69dadc393dd36b189784f +size 4629044 diff --git a/systemd-v237+suse.93.ga67b516d4.tar.xz b/systemd-v237+suse.93.ga67b516d4.tar.xz deleted file mode 100644 index f9e9ce79..00000000 --- a/systemd-v237+suse.93.ga67b516d4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:197b53c8d49a912f600a234884ea7000b34147bc13068fe71946550cfc090552 -size 4628352 diff --git a/systemd.changes b/systemd.changes index 14ec559e..64a87a55 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Oct 15 16:23:05 UTC 2018 - Franck Bui + +- Ship systemd-sysv-install helper via the main package + + This script was part of systemd-sysvinit sub-package but it was + wrong since systemd-sysv-install is a script used to redirect + enable/disable operations to chkconfig when the unit targets are + sysv init scripts. Therefore it's never been a SySV init tool. + + While at it, don't ship this script (as well as + systemd-sysv-convert) when sysvcompat is not defined. + +------------------------------------------------------------------- +Mon Oct 15 15:01:48 UTC 2018 - Franck Bui + +- Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 + + 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option + 479b002083 core: add missing 'continue' statement + c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) + f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) + 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) + ------------------------------------------------------------------- Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 0bf5d959..15a79547 100644 --- a/systemd.spec +++ b/systemd.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.93.ga67b516d4 +%define suse_version +suse.100.g19b3868d3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -141,10 +141,12 @@ Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user +%if %{with sysvcompat} Source3: systemd-sysv-convert +Source4: systemd-sysv-install +%endif Source6: baselibs.conf Source11: after-local.service -Source12: systemd-sysv-install Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh @@ -490,11 +492,13 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd +%if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert -install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +%endif # The rules that we shouldn't maintain install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules @@ -912,7 +916,9 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl +%if %{with sysvcompat} %{_sbindir}/systemd-sysv-convert +%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -932,7 +938,6 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* @@ -1148,9 +1153,11 @@ fi %{_udevrulesdir}/73-seat-late.rules %{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/catalog +%if %{with sysvcompat} %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/catalog +%endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed @@ -1192,7 +1199,6 @@ fi %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) From d6d436763fc1e51c3bd45880e03c9164d86625728e48a8c841b24ab9102296cb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 24 Oct 2018 11:17:43 +0000 Subject: [PATCH 399/991] Accepting request 644261 from home:fbui:systemd:openSUSE-Factory - Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) OBS-URL: https://build.opensuse.org/request/show/644261 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1042 --- systemd-mini.changes | 5 +++ systemd-mini.spec | 44 ++++++++++++++++++------- systemd-v237+suse.100.g19b3868d3.tar.xz | 3 -- systemd-v239+suse.73.g6d8584e7e.tar.xz | 3 ++ systemd.changes | 5 +++ systemd.spec | 44 ++++++++++++++++++------- 6 files changed, 77 insertions(+), 27 deletions(-) delete mode 100644 systemd-v237+suse.100.g19b3868d3.tar.xz create mode 100644 systemd-v239+suse.73.g6d8584e7e.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 64a87a55..3527ac45 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Oct 24 10:07:36 UTC 2018 - Franck Bui + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 55537c48..1fed3c06 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.100.g19b3868d3 +%define suse_version +suse.73.g6d8584e7e %bcond_with gnuefi %if 0%{?bootstrap} @@ -51,7 +51,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 237 +Version: 239 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -438,6 +438,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ + -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -447,6 +448,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -885,14 +887,18 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/busctl +%{_bindir}/bootctl +%{_bindir}/hostnamectl +%{_bindir}/kernel-install +%{_bindir}/localectl %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl +%if %{with resolved} +%{_sbindir}/resolvconf +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -929,8 +935,8 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} +%{_userunitdir} %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -973,7 +979,9 @@ fi %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/ + +%{_unitdir}/user-.slice.d/ + %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1064,6 +1072,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1073,7 +1082,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -# FIXME: why should we have to own this dir ? +# FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf @@ -1101,6 +1110,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif @@ -1124,6 +1134,9 @@ fi %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* +%if %{with resolved} +%{_mandir}/man1/resolvconf.1* +%endif %{_mandir}/man1/systemc*.1* %{_mandir}/man1/systemd*.1* %{_mandir}/man5/[a-tv-z]* @@ -1192,6 +1205,13 @@ fi /sbin/poweroff /sbin/telinit /sbin/runlevel +%{_sbindir}/init +%{_sbindir}/reboot +%{_sbindir}/halt +%{_sbindir}/shutdown +%{_sbindir}/poweroff +%{_sbindir}/telinit +%{_sbindir}/runlevel %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* @@ -1288,7 +1308,6 @@ fi %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%{_tmpfilesdir}/systemd-nspawn.conf %if %{with networkd} %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network @@ -1306,6 +1325,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_tmpfilesdir}/systemd-nspawn.conf %endif %if %{with importd} %{_prefix}/lib/systemd/systemd-import* diff --git a/systemd-v237+suse.100.g19b3868d3.tar.xz b/systemd-v237+suse.100.g19b3868d3.tar.xz deleted file mode 100644 index 5e7c3bb1..00000000 --- a/systemd-v237+suse.100.g19b3868d3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a821019ddd446a6a4d25c5152b0cdd42b197c8657c69dadc393dd36b189784f -size 4629044 diff --git a/systemd-v239+suse.73.g6d8584e7e.tar.xz b/systemd-v239+suse.73.g6d8584e7e.tar.xz new file mode 100644 index 00000000..4385bb4f --- /dev/null +++ b/systemd-v239+suse.73.g6d8584e7e.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e60a885d0a50caf764b64ef62bd53b26ba9911b1fe074e8c9a76afd1add8255 +size 4854648 diff --git a/systemd.changes b/systemd.changes index 64a87a55..3527ac45 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Oct 24 10:07:36 UTC 2018 - Franck Bui + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 15a79547..022aacc8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.100.g19b3868d3 +%define suse_version +suse.73.g6d8584e7e %bcond_with gnuefi %if 0%{?bootstrap} @@ -49,7 +49,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 237 +Version: 239 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -436,6 +436,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ + -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -445,6 +446,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -883,14 +885,18 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/busctl +%{_bindir}/bootctl +%{_bindir}/hostnamectl +%{_bindir}/kernel-install +%{_bindir}/localectl %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl +%if %{with resolved} +%{_sbindir}/resolvconf +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -927,8 +933,8 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} +%{_userunitdir} %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -971,7 +977,9 @@ fi %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/ + +%{_unitdir}/user-.slice.d/ + %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1062,6 +1070,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1071,7 +1080,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -# FIXME: why should we have to own this dir ? +# FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf @@ -1099,6 +1108,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif @@ -1122,6 +1132,9 @@ fi %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* +%if %{with resolved} +%{_mandir}/man1/resolvconf.1* +%endif %{_mandir}/man1/systemc*.1* %{_mandir}/man1/systemd*.1* %{_mandir}/man5/[a-tv-z]* @@ -1190,6 +1203,13 @@ fi /sbin/poweroff /sbin/telinit /sbin/runlevel +%{_sbindir}/init +%{_sbindir}/reboot +%{_sbindir}/halt +%{_sbindir}/shutdown +%{_sbindir}/poweroff +%{_sbindir}/telinit +%{_sbindir}/runlevel %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* @@ -1286,7 +1306,6 @@ fi %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%{_tmpfilesdir}/systemd-nspawn.conf %if %{with networkd} %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network @@ -1304,6 +1323,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_tmpfilesdir}/systemd-nspawn.conf %endif %if %{with importd} %{_prefix}/lib/systemd/systemd-import* From d40672a9948ef3887173a9aa564892dcd82dc50ecf3c336d65f728b15521aa4e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 25 Oct 2018 06:11:24 +0000 Subject: [PATCH 400/991] Accepting request 642104 from Base:System OBS-URL: https://build.opensuse.org/request/show/642104 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=287 --- systemd-mini.changes | 24 ++++++++++++++++++++++++ systemd-mini.spec | 20 +++++++++++++------- systemd-v237+suse.100.g19b3868d3.tar.xz | 3 +++ systemd-v237+suse.93.ga67b516d4.tar.xz | 3 --- systemd.changes | 24 ++++++++++++++++++++++++ systemd.spec | 20 +++++++++++++------- 6 files changed, 77 insertions(+), 17 deletions(-) create mode 100644 systemd-v237+suse.100.g19b3868d3.tar.xz delete mode 100644 systemd-v237+suse.93.ga67b516d4.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 14ec559e..64a87a55 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Oct 15 16:23:05 UTC 2018 - Franck Bui + +- Ship systemd-sysv-install helper via the main package + + This script was part of systemd-sysvinit sub-package but it was + wrong since systemd-sysv-install is a script used to redirect + enable/disable operations to chkconfig when the unit targets are + sysv init scripts. Therefore it's never been a SySV init tool. + + While at it, don't ship this script (as well as + systemd-sysv-convert) when sysvcompat is not defined. + +------------------------------------------------------------------- +Mon Oct 15 15:01:48 UTC 2018 - Franck Bui + +- Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 + + 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option + 479b002083 core: add missing 'continue' statement + c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) + f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) + 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) + ------------------------------------------------------------------- Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 758d4d87..55537c48 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.93.ga67b516d4 +%define suse_version +suse.100.g19b3868d3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -143,10 +143,12 @@ Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user +%if %{with sysvcompat} Source3: systemd-sysv-convert +Source4: systemd-sysv-install +%endif Source6: baselibs.conf Source11: after-local.service -Source12: systemd-sysv-install Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh @@ -492,11 +494,13 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd +%if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert -install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +%endif # The rules that we shouldn't maintain install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules @@ -914,7 +918,9 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl +%if %{with sysvcompat} %{_sbindir}/systemd-sysv-convert +%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -934,7 +940,6 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* @@ -1150,9 +1155,11 @@ fi %{_udevrulesdir}/73-seat-late.rules %{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/catalog +%if %{with sysvcompat} %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/catalog +%endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed @@ -1194,7 +1201,6 @@ fi %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) diff --git a/systemd-v237+suse.100.g19b3868d3.tar.xz b/systemd-v237+suse.100.g19b3868d3.tar.xz new file mode 100644 index 00000000..5e7c3bb1 --- /dev/null +++ b/systemd-v237+suse.100.g19b3868d3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a821019ddd446a6a4d25c5152b0cdd42b197c8657c69dadc393dd36b189784f +size 4629044 diff --git a/systemd-v237+suse.93.ga67b516d4.tar.xz b/systemd-v237+suse.93.ga67b516d4.tar.xz deleted file mode 100644 index f9e9ce79..00000000 --- a/systemd-v237+suse.93.ga67b516d4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:197b53c8d49a912f600a234884ea7000b34147bc13068fe71946550cfc090552 -size 4628352 diff --git a/systemd.changes b/systemd.changes index 14ec559e..64a87a55 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Oct 15 16:23:05 UTC 2018 - Franck Bui + +- Ship systemd-sysv-install helper via the main package + + This script was part of systemd-sysvinit sub-package but it was + wrong since systemd-sysv-install is a script used to redirect + enable/disable operations to chkconfig when the unit targets are + sysv init scripts. Therefore it's never been a SySV init tool. + + While at it, don't ship this script (as well as + systemd-sysv-convert) when sysvcompat is not defined. + +------------------------------------------------------------------- +Mon Oct 15 15:01:48 UTC 2018 - Franck Bui + +- Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 + + 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option + 479b002083 core: add missing 'continue' statement + c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) + f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) + 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) + ------------------------------------------------------------------- Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 0bf5d959..15a79547 100644 --- a/systemd.spec +++ b/systemd.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.93.ga67b516d4 +%define suse_version +suse.100.g19b3868d3 %bcond_with gnuefi %if 0%{?bootstrap} @@ -141,10 +141,12 @@ Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user +%if %{with sysvcompat} Source3: systemd-sysv-convert +Source4: systemd-sysv-install +%endif Source6: baselibs.conf Source11: after-local.service -Source12: systemd-sysv-install Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh @@ -490,11 +492,13 @@ ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd +%if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert -install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +%endif # The rules that we shouldn't maintain install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules @@ -912,7 +916,9 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl +%if %{with sysvcompat} %{_sbindir}/systemd-sysv-convert +%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat @@ -932,7 +938,6 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* @@ -1148,9 +1153,11 @@ fi %{_udevrulesdir}/73-seat-late.rules %{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/catalog +%if %{with sysvcompat} %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/catalog +%endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed @@ -1192,7 +1199,6 @@ fi %{_mandir}/man8/telinit.8* %{_mandir}/man8/runlevel.8* %endif -%{_prefix}/lib/systemd/systemd-sysv-install %files -n udev%{?mini} %defattr(-,root,root) From b8bad3faec7f30b9d41c30598571e94c31ecf3f608d6f516ffe97088dd4eb4eb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 30 Oct 2018 14:45:41 +0000 Subject: [PATCH 401/991] Accepting request 645542 from home:tsaupe:branches:Base:System split off SUSE specific configuration from systemd package (fate#325478) OBS-URL: https://build.opensuse.org/request/show/645542 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1043 --- 60-io-scheduler.rules | 24 ------------------------ 80-hotplug-cpu-mem.rules | 24 ------------------------ 99-wakeup-from-idle.rules | 3 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 20 +------------------- systemd.changes | 11 +++++++++++ systemd.spec | 20 +------------------- 7 files changed, 24 insertions(+), 89 deletions(-) delete mode 100644 60-io-scheduler.rules delete mode 100644 80-hotplug-cpu-mem.rules delete mode 100644 99-wakeup-from-idle.rules diff --git a/60-io-scheduler.rules b/60-io-scheduler.rules deleted file mode 100644 index 7c285aef..00000000 --- a/60-io-scheduler.rules +++ /dev/null @@ -1,24 +0,0 @@ -# Set optimal IO schedulers for HDD and SSD - -ACTION!="add", GOTO="scheduler_end" -SUBSYSTEM!="block", GOTO="scheduler_end" - -# Do not change scheduler if `elevator` cmdline parameter is set -IMPORT{cmdline}="elevator" -ENV{elevator}=="?*", GOTO="scheduler_end" - -# Determine if BLK-MQ is enabled -TEST=="%S%p/mq", ENV{.IS_MQ}="1" - -# MQ: BFQ scheduler for HDD -ENV{.IS_MQ}=="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="bfq" -# MQ: deadline scheduler for SSD -ENV{.IS_MQ}=="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" - -# Non-MQ: CFQ scheduler for HDD -ENV{.IS_MQ}!="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="cfq" -# Non-MQ: deadline scheduler for SSD -ENV{.IS_MQ}!="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" - -LABEL="scheduler_end" - diff --git a/80-hotplug-cpu-mem.rules b/80-hotplug-cpu-mem.rules deleted file mode 100644 index 86a6c272..00000000 --- a/80-hotplug-cpu-mem.rules +++ /dev/null @@ -1,24 +0,0 @@ -# do not edit this file, it will be overwritten on update - -# -# Hotplug physical CPU -# -SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1" - -# -# Hotplug physical memory. Instances of tmpfs are remounted so their -# size are recalculated. This might be needed if some sizes were -# specified relative to the total amount of memory (boo#869603). For -# now make it simple and remount all tmpfs regardless of how their -# size are specified. It should be handled by the kernel as it has a -# lot of shortcomings anyways (tmpfs mounted by other processes, mount -# namespaces, ...) -# -SUBSYSTEM=="memory", ACTION=="add", PROGRAM=="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ - ATTR{state}="online", \ - RUN+="/bin/sh -c ' \ - while read src dst fs opts unused; do \ - case $fs in \ - tmpfs) mount -o remount \"$dst\" ;; \ - esac \ - done %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf @@ -1015,9 +999,7 @@ fi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d diff --git a/systemd.changes b/systemd.changes index 3527ac45..8169e610 100644 --- a/systemd.changes +++ b/systemd.changes @@ -40,6 +40,17 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com d464f06934 journal: fix syslog_parse_identifier() e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) +------------------------------------------------------------------- +Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com + +- split off SUSE specific configuration from systemd package (fate#325478) + * remove 60-io-scheduler.rules + * remove 80-hotplug-cpu-mem.rules + * remove 99-wakeup-from-idle.rules + * remove /usr/lib/modules-load.d/sg.conf + + these are now maintained in the new package system-tuning-common-SUSE + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 022aacc8..008001a7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -154,10 +154,6 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-io-scheduler.rules -Source1001: 80-hotplug-cpu-mem.rules -Source1002: 99-wakeup-from-idle.rules - # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be @@ -502,11 +498,6 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif -# The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules -install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules - # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -541,13 +532,6 @@ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# create %%{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf @@ -1013,9 +997,7 @@ fi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d From 7fe8f43b74c8571ca8499192ad6c091175948a275773ca46dc7125bd7e16abdb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 5 Nov 2018 14:11:51 +0000 Subject: [PATCH 402/991] Accepting request 646424 from home:fbui:systemd:openSUSE-Factory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Own %{_libexecdir}/modules-load.d (again) This was incorrectly dropped during the split of the SUSE specific configurations. - Drop a Conflicts: in systemd-coredump It not needed anymore since the mini variant of systemd-coredump is not built anymore. - Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) - Make systemd-coredump sub-package optional and don't build the mini variant. - Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages "-mini" is already part of the name of the main package so there's no need to append it again for those sub packages. It's only needed when the name of a subpackage is completely redefined, IOW when '-n' option is used with the %package directive. - Dont ship /usr/sbin/resolvconf symlink for now It conflicts with the bin shipped by openresolv and provides limited compat only. OBS-URL: https://build.opensuse.org/request/show/646424 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1044 --- systemd-mini.changes | 54 ++++++++++++++++++++++++++ systemd-mini.spec | 53 ++++++++++++++++--------- systemd-v239+suse.73.g6d8584e7e.tar.xz | 3 -- systemd-v239+suse.81.gb54f5d7a8.tar.xz | 3 ++ systemd.changes | 54 ++++++++++++++++++++++++++ systemd.spec | 53 ++++++++++++++++--------- 6 files changed, 179 insertions(+), 41 deletions(-) delete mode 100644 systemd-v239+suse.73.g6d8584e7e.tar.xz create mode 100644 systemd-v239+suse.81.gb54f5d7a8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 8169e610..e4d834e4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,57 @@ +------------------------------------------------------------------- +Mon Nov 5 13:10:54 UTC 2018 - Franck Bui + +- Own %{_libexecdir}/modules-load.d (again) + + This was incorrectly dropped during the split of the SUSE specific + configurations. + +------------------------------------------------------------------- +Fri Nov 2 14:17:34 UTC 2018 - Franck Bui + +- Drop a Conflicts: in systemd-coredump + + It not needed anymore since the mini variant of systemd-coredump is + not built anymore. + +------------------------------------------------------------------- +Fri Nov 2 13:54:36 UTC 2018 - Franck Bui + +- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d + + 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true + 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) + ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit + 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) + e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails + 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) + 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) + +------------------------------------------------------------------- +Fri Nov 2 13:51:46 UTC 2018 - Franck Bui + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui + +- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages + + "-mini" is already part of the name of the main package so there's + no need to append it again for those sub packages. It's only needed + when the name of a subpackage is completely redefined, IOW when '-n' + option is used with the %package directive. + +------------------------------------------------------------------- +Fri Nov 2 11:08:27 UTC 2018 - Franck Bui + +- Dont ship /usr/sbin/resolvconf symlink for now + + It conflicts with the bin shipped by openresolv and provides + limited compat only. + ------------------------------------------------------------------- Wed Oct 24 10:07:36 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 7f3e4e4e..78f8cedb 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -26,10 +26,11 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.73.g6d8584e7e +%define suse_version +suse.81.gb54f5d7a8 %bcond_with gnuefi %if 0%{?bootstrap} +%bcond_with coredump %bcond_with sysvcompat %bcond_with machined %bcond_with importd @@ -37,6 +38,7 @@ %bcond_with resolved %bcond_with journal_remote %else +%bcond_without coredump %bcond_without sysvcompat %bcond_without machined %bcond_without importd @@ -293,23 +295,22 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package coredump%{mini} +%if %{with coredump} +%package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl -%if 0%{?bootstrap} -Conflicts: systemd-coredump -%endif -%description coredump%{mini} +%description coredump Systemd tools to store and manage coredumps. This package contains systemd-coredump, coredumpctl. +%endif -%package container%{?mini} +%package container Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base @@ -320,7 +321,7 @@ Provides: systemd:%{_bindir}/systemd-nspawn Conflicts: systemd-container %endif -%description container%{?mini} +%description container Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -455,6 +456,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -485,6 +489,14 @@ mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif +# Don't ship resolvconf symlink for now as it conflicts with the +# binary shipped by openresolv and provides limited compatibility +# only +%if %{with resolved} +rm %{buildroot}%{_sbindir}/resolvconf +rm %{buildroot}%{_mandir}/man1/resolvconf.1* +%endif + # FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm @@ -794,7 +806,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post container%{?mini} +%post container %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -880,7 +892,6 @@ fi %{_bindir}/networkctl %endif %if %{with resolved} -%{_sbindir}/resolvconf %{_bindir}/resolvectl %endif %{_bindir}/systemctl @@ -921,6 +932,11 @@ fi %dir %{_prefix}/lib/systemd %dir %{_unitdir} %{_userunitdir} +%if %{with coredump} +%exclude %{_prefix}/lib/systemd/systemd-coredump +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -929,14 +945,11 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif -%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service @@ -1000,6 +1013,7 @@ fi %endif %dir %{_sysconfdir}/modules-load.d +%{_libexecdir}/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1116,9 +1130,6 @@ fi %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* -%if %{with resolved} -%{_mandir}/man1/resolvconf.1* -%endif %{_mandir}/man1/systemc*.1* %{_mandir}/man1/systemd*.1* %{_mandir}/man5/[a-tv-z]* @@ -1131,9 +1142,11 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* %exclude %{_mandir}/man8/systemd-coredump* +%endif %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1271,7 +1284,8 @@ fi %{_mandir}/man3/*udev*.3* %endif -%files coredump%{?mini} +%if %{with coredump} +%files coredump %defattr(-,root,root) %{_bindir}/coredumpctl %{_prefix}/lib/systemd/systemd-coredump @@ -1285,8 +1299,9 @@ fi %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service diff --git a/systemd-v239+suse.73.g6d8584e7e.tar.xz b/systemd-v239+suse.73.g6d8584e7e.tar.xz deleted file mode 100644 index 4385bb4f..00000000 --- a/systemd-v239+suse.73.g6d8584e7e.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e60a885d0a50caf764b64ef62bd53b26ba9911b1fe074e8c9a76afd1add8255 -size 4854648 diff --git a/systemd-v239+suse.81.gb54f5d7a8.tar.xz b/systemd-v239+suse.81.gb54f5d7a8.tar.xz new file mode 100644 index 00000000..2dc27b75 --- /dev/null +++ b/systemd-v239+suse.81.gb54f5d7a8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60693bd3616d9b98495a2ab9a29b1fd5fca5c0ae5968a8c2d7e722faa15af772 +size 4854516 diff --git a/systemd.changes b/systemd.changes index 8169e610..e4d834e4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,57 @@ +------------------------------------------------------------------- +Mon Nov 5 13:10:54 UTC 2018 - Franck Bui + +- Own %{_libexecdir}/modules-load.d (again) + + This was incorrectly dropped during the split of the SUSE specific + configurations. + +------------------------------------------------------------------- +Fri Nov 2 14:17:34 UTC 2018 - Franck Bui + +- Drop a Conflicts: in systemd-coredump + + It not needed anymore since the mini variant of systemd-coredump is + not built anymore. + +------------------------------------------------------------------- +Fri Nov 2 13:54:36 UTC 2018 - Franck Bui + +- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d + + 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true + 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) + ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit + 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) + e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails + 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) + 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) + +------------------------------------------------------------------- +Fri Nov 2 13:51:46 UTC 2018 - Franck Bui + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui + +- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages + + "-mini" is already part of the name of the main package so there's + no need to append it again for those sub packages. It's only needed + when the name of a subpackage is completely redefined, IOW when '-n' + option is used with the %package directive. + +------------------------------------------------------------------- +Fri Nov 2 11:08:27 UTC 2018 - Franck Bui + +- Dont ship /usr/sbin/resolvconf symlink for now + + It conflicts with the bin shipped by openresolv and provides + limited compat only. + ------------------------------------------------------------------- Wed Oct 24 10:07:36 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 008001a7..ab6aae89 100644 --- a/systemd.spec +++ b/systemd.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,10 +24,11 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.73.g6d8584e7e +%define suse_version +suse.81.gb54f5d7a8 %bcond_with gnuefi %if 0%{?bootstrap} +%bcond_with coredump %bcond_with sysvcompat %bcond_with machined %bcond_with importd @@ -35,6 +36,7 @@ %bcond_with resolved %bcond_with journal_remote %else +%bcond_without coredump %bcond_without sysvcompat %bcond_without machined %bcond_without importd @@ -291,23 +293,22 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package coredump%{mini} +%if %{with coredump} +%package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl -%if 0%{?bootstrap} -Conflicts: systemd-coredump -%endif -%description coredump%{mini} +%description coredump Systemd tools to store and manage coredumps. This package contains systemd-coredump, coredumpctl. +%endif -%package container%{?mini} +%package container Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base @@ -318,7 +319,7 @@ Provides: systemd:%{_bindir}/systemd-nspawn Conflicts: systemd-container %endif -%description container%{?mini} +%description container Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -453,6 +454,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -483,6 +487,14 @@ mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif +# Don't ship resolvconf symlink for now as it conflicts with the +# binary shipped by openresolv and provides limited compatibility +# only +%if %{with resolved} +rm %{buildroot}%{_sbindir}/resolvconf +rm %{buildroot}%{_mandir}/man1/resolvconf.1* +%endif + # FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm @@ -792,7 +804,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post container%{?mini} +%post container %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -878,7 +890,6 @@ fi %{_bindir}/networkctl %endif %if %{with resolved} -%{_sbindir}/resolvconf %{_bindir}/resolvectl %endif %{_bindir}/systemctl @@ -919,6 +930,11 @@ fi %dir %{_prefix}/lib/systemd %dir %{_unitdir} %{_userunitdir} +%if %{with coredump} +%exclude %{_prefix}/lib/systemd/systemd-coredump +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -927,14 +943,11 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif -%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service @@ -998,6 +1011,7 @@ fi %endif %dir %{_sysconfdir}/modules-load.d +%{_libexecdir}/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1114,9 +1128,6 @@ fi %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* -%if %{with resolved} -%{_mandir}/man1/resolvconf.1* -%endif %{_mandir}/man1/systemc*.1* %{_mandir}/man1/systemd*.1* %{_mandir}/man5/[a-tv-z]* @@ -1129,9 +1140,11 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* %exclude %{_mandir}/man8/systemd-coredump* +%endif %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1269,7 +1282,8 @@ fi %{_mandir}/man3/*udev*.3* %endif -%files coredump%{?mini} +%if %{with coredump} +%files coredump %defattr(-,root,root) %{_bindir}/coredumpctl %{_prefix}/lib/systemd/systemd-coredump @@ -1283,8 +1297,9 @@ fi %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service From c538c4fc8831bec4528fd9f08b4e69acafdcef2bbd123fa7fa852be9b70698ad Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 7 Nov 2018 12:57:03 +0000 Subject: [PATCH 403/991] Accepting request 646968 from home:fbui:systemd:openSUSE-Factory - Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch We have to keep support for UserTasksMax= for a while before dropping it. This patch is supposed to do that and also to make users aware of this change. It also hints how to configure that differently. - Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 7d1e04e85 units: use =yes rather than =true everywhere 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot 30c6842c3 units: set StopWhenUnneeded= for the user slice units too e74de046e login: fix typo in log message OBS-URL: https://build.opensuse.org/request/show/646968 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1045 --- ...ward-compatibility-with-UserTasksMax.patch | 185 ++++++++++++++++++ systemd-mini.changes | 21 ++ systemd-mini.spec | 3 +- systemd-v239+suse.81.gb54f5d7a8.tar.xz | 3 - systemd-v239+suse.87.gf39674d6d.tar.xz | 3 + systemd.changes | 21 ++ systemd.spec | 3 +- 7 files changed, 234 insertions(+), 5 deletions(-) create mode 100644 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch delete mode 100644 systemd-v239+suse.81.gb54f5d7a8.tar.xz create mode 100644 systemd-v239+suse.87.gf39674d6d.tar.xz diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch new file mode 100644 index 00000000..a8e39cfd --- /dev/null +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -0,0 +1,185 @@ +From d3acd5b49a6a321dc3b1512416132b8724b2fd20 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 6 Nov 2018 11:51:26 +0100 +Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in + logind.conf + +Since commit 284149392755f086d0a71, UserTasksMax= support has been simply +dropped. + +A generator is used to automatically create an appropriate dropin that has the +same effect. However since the snippet is generated in /run, sysadmin is +encouraged to copy it in /etc to make it persistent. + +The main advantages to use a generator are: + + - sysadmin is aware of this backward incompatible change + + - he will be the one who will fix logind.conf manually (to remove the use of + UserTasksMax=) + + - he will decide how to name the snippet and possibly merge it with an + existing one + +Expect this generator to be dropped in the future. +--- + meson.build | 8 ++++ + src/login/compat-tasks-max-generator.c | 66 ++++++++++++++++++++++++++ + src/login/logind-user.c | 43 +++++++++++++++-- + 3 files changed, 112 insertions(+), 5 deletions(-) + create mode 100644 src/login/compat-tasks-max-generator.c + +diff --git a/meson.build b/meson.build +index 5c7c165ba..7e3e8ca16 100644 +--- a/meson.build ++++ b/meson.build +@@ -1701,6 +1701,14 @@ if conf.get('ENABLE_LOGIND') == 1 + endif + endif + ++executable('logind-compat-tasks-max-generator', ++ 'src/login/compat-tasks-max-generator.c', ++ include_directories : includes, ++ link_with : [libshared, liblogind_core], ++ install_rpath : rootlibexecdir, ++ install : true, ++ install_dir : systemgeneratordir) ++ + executable('systemd-user-runtime-dir', + user_runtime_dir_sources, + include_directories : includes, +diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c +new file mode 100644 +index 000000000..404ca5f23 +--- /dev/null ++++ b/src/login/compat-tasks-max-generator.c +@@ -0,0 +1,66 @@ ++#include ++ ++#include "alloc-util.h" ++#include "dropin.h" ++#include "logind.h" ++#include "path-util.h" ++ ++static const char *arg_dest = "/tmp"; ++ ++static int read_manager_configuration(uint64_t *user_tasks_max) { ++ Manager m = {}; ++ int r; ++ ++ manager_reset_config(&m); ++ m.user_tasks_max = 0; ++ ++ r = manager_parse_config_file(&m); ++ if (r < 0) ++ return log_warning_errno(r, "Failed to parse logind.conf: %m"); ++ ++ if (m.user_tasks_max == 0) ++ return 0; ++ ++ *user_tasks_max = m.user_tasks_max; ++ return 1; ++} ++ ++int main(int argc, char *argv[]) { ++ _cleanup_free_ char *p = NULL; ++ uint64_t user_tasks_max; ++ int r = 0; ++ ++ if (argc > 1 && argc != 4) { ++ log_error("This program takes three or no arguments."); ++ return EXIT_FAILURE; ++ } ++ ++ if (argc > 1) ++ arg_dest = argv[1]; ++ ++ log_set_prohibit_ipc(true); ++ log_set_target(LOG_TARGET_AUTO); ++ log_parse_environment(); ++ log_open(); ++ ++ umask(0022); ++ ++ r = read_manager_configuration(&user_tasks_max); ++ if (r == 0) ++ return EXIT_SUCCESS; ++ if (r < 0) ++ return EXIT_FAILURE; ++ ++ p = path_join(arg_dest, "user-.slice.d", "50-limits.conf"); ++ if (!p) ++ return EXIT_FAILURE; ++ ++ log_warning("Creating %s to keep compability\n" ++ "Consider copying the snippet in /etc/systemd/system/user-.slice.d/\n", p); ++ ++ r = write_drop_in_format(arg_dest, "user-.slice", 50, "limits", ++ "# Automatically generated by logind-compat-tasks-max-generator\n\n" ++ "[Slice]\nTasksMax=%" PRIu64, user_tasks_max); ++ ++ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; ++} +diff --git a/src/login/logind-user.c b/src/login/logind-user.c +index 66f5c896d..fe58b0398 100644 +--- a/src/login/logind-user.c ++++ b/src/login/logind-user.c +@@ -743,17 +743,50 @@ int config_parse_compat_user_tasks_max( + void *data, + void *userdata) { + ++ uint64_t *m = data; ++ uint64_t k; ++ int r; ++ + assert(filename); + assert(lvalue); + assert(rvalue); + assert(data); + +- log_syntax(unit, LOG_NOTICE, filename, line, 0, ++ log_syntax(unit, LOG_WARNING, filename, line, 0, + "Support for option %s= has been removed.", + lvalue); +- log_info("Hint: try creating /etc/systemd/system/user-.slice.d/50-limits.conf with:\n" +- " [Slice]\n" +- " TasksMax=%s", +- rvalue); ++ ++ if (isempty(rvalue)) { ++ *m = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); ++ return 0; ++ } ++ ++ if (streq(rvalue, "infinity")) { ++ *m = CGROUP_LIMIT_MAX; ++ return 0; ++ } ++ ++ /* Try to parse as percentage */ ++ r = parse_percent(rvalue); ++ if (r >= 0) ++ k = system_tasks_max_scale(r, 100U); ++ else { ++ ++ /* If the passed argument was not a percentage, or out of range, parse as byte size */ ++ ++ r = safe_atou64(rvalue, &k); ++ if (r < 0) { ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse tasks maximum, ignoring: %s", rvalue); ++ return 0; ++ } ++ } ++ ++ if (k <= 0 || k >= UINT64_MAX) { ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Tasks maximum out of range, ignoring: %s", rvalue); ++ return 0; ++ } ++ ++ *m = k; ++ + return 0; + } +-- +2.19.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index e4d834e4..6967fc53 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Nov 7 08:45:08 UTC 2018 - Franck Bui + +- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch + + We have to keep support for UserTasksMax= for a while before + dropping it. This patch is supposed to do that and also to make + users aware of this change. It also hints how to configure that + differently. + +------------------------------------------------------------------- +Wed Nov 7 07:05:31 UTC 2018 - Franck Bui + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice + a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot + 30c6842c3 units: set StopWhenUnneeded= for the user slice units too + e74de046e login: fix typo in log message + ------------------------------------------------------------------- Mon Nov 5 13:10:54 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 78f8cedb..65bd1142 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.81.gb54f5d7a8 +%define suse_version +suse.87.gf39674d6d %bcond_with gnuefi %if 0%{?bootstrap} @@ -165,6 +165,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v239+suse.81.gb54f5d7a8.tar.xz b/systemd-v239+suse.81.gb54f5d7a8.tar.xz deleted file mode 100644 index 2dc27b75..00000000 --- a/systemd-v239+suse.81.gb54f5d7a8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60693bd3616d9b98495a2ab9a29b1fd5fca5c0ae5968a8c2d7e722faa15af772 -size 4854516 diff --git a/systemd-v239+suse.87.gf39674d6d.tar.xz b/systemd-v239+suse.87.gf39674d6d.tar.xz new file mode 100644 index 00000000..f0de2fe3 --- /dev/null +++ b/systemd-v239+suse.87.gf39674d6d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f62d64a099b2cb1fec5146914220d6396777b06c6d5075a479b1dfc22838c2c5 +size 4854560 diff --git a/systemd.changes b/systemd.changes index e4d834e4..6967fc53 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Nov 7 08:45:08 UTC 2018 - Franck Bui + +- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch + + We have to keep support for UserTasksMax= for a while before + dropping it. This patch is supposed to do that and also to make + users aware of this change. It also hints how to configure that + differently. + +------------------------------------------------------------------- +Wed Nov 7 07:05:31 UTC 2018 - Franck Bui + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice + a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot + 30c6842c3 units: set StopWhenUnneeded= for the user slice units too + e74de046e login: fix typo in log message + ------------------------------------------------------------------- Mon Nov 5 13:10:54 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ab6aae89..4a475bd3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.81.gb54f5d7a8 +%define suse_version +suse.87.gf39674d6d %bcond_with gnuefi %if 0%{?bootstrap} @@ -163,6 +163,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 109c6ea9544aff0602592929b3f1d90a857531215e9555062e08328817b9b954 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Nov 2018 14:32:33 +0000 Subject: [PATCH 404/991] Accepting request 647602 from home:fbui:systemd:openSUSE-Factory - Make systemd-mini-sysvinit provides systemd-sysvinit Some packages (such as shepherd-bins) want to conflicts with systemd-sysvinit: they should also conflict with systemd-mini-sysvinit. OBS-URL: https://build.opensuse.org/request/show/647602 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1046 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 1 + systemd.changes | 9 +++++++++ systemd.spec | 1 + 4 files changed, 20 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 6967fc53..e0afa6ec 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Nov 9 10:37:21 UTC 2018 - Franck Bui + +- Make systemd-mini-sysvinit provides systemd-sysvinit + + Some packages (such as shepherd-bins) want to conflicts with + systemd-sysvinit: they should also conflict with + systemd-mini-sysvinit. + ------------------------------------------------------------------- Wed Nov 7 08:45:08 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 65bd1142..3d23ede6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -197,6 +197,7 @@ Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit diff --git a/systemd.changes b/systemd.changes index 6967fc53..e0afa6ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Nov 9 10:37:21 UTC 2018 - Franck Bui + +- Make systemd-mini-sysvinit provides systemd-sysvinit + + Some packages (such as shepherd-bins) want to conflicts with + systemd-sysvinit: they should also conflict with + systemd-mini-sysvinit. + ------------------------------------------------------------------- Wed Nov 7 08:45:08 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4a475bd3..9beae4f4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -195,6 +195,7 @@ Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit From 7756ea9467f2443cf9833a5497b589dc9f140d98b86605c34322cf9ffc134a9b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Nov 2018 15:34:40 +0000 Subject: [PATCH 405/991] Accepting request 647604 from Base:System OBS-URL: https://build.opensuse.org/request/show/647604 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=288 --- ...ward-compatibility-with-UserTasksMax.patch | 185 ++++++++++++++++++ 60-io-scheduler.rules | 24 --- 80-hotplug-cpu-mem.rules | 24 --- 99-wakeup-from-idle.rules | 3 - systemd-mini.changes | 100 ++++++++++ systemd-mini.spec | 105 ++++++---- systemd-v237+suse.100.g19b3868d3.tar.xz | 3 - systemd-v239+suse.87.gf39674d6d.tar.xz | 3 + systemd.changes | 100 ++++++++++ systemd.spec | 105 ++++++---- 10 files changed, 512 insertions(+), 140 deletions(-) create mode 100644 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch delete mode 100644 60-io-scheduler.rules delete mode 100644 80-hotplug-cpu-mem.rules delete mode 100644 99-wakeup-from-idle.rules delete mode 100644 systemd-v237+suse.100.g19b3868d3.tar.xz create mode 100644 systemd-v239+suse.87.gf39674d6d.tar.xz diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch new file mode 100644 index 00000000..a8e39cfd --- /dev/null +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -0,0 +1,185 @@ +From d3acd5b49a6a321dc3b1512416132b8724b2fd20 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 6 Nov 2018 11:51:26 +0100 +Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in + logind.conf + +Since commit 284149392755f086d0a71, UserTasksMax= support has been simply +dropped. + +A generator is used to automatically create an appropriate dropin that has the +same effect. However since the snippet is generated in /run, sysadmin is +encouraged to copy it in /etc to make it persistent. + +The main advantages to use a generator are: + + - sysadmin is aware of this backward incompatible change + + - he will be the one who will fix logind.conf manually (to remove the use of + UserTasksMax=) + + - he will decide how to name the snippet and possibly merge it with an + existing one + +Expect this generator to be dropped in the future. +--- + meson.build | 8 ++++ + src/login/compat-tasks-max-generator.c | 66 ++++++++++++++++++++++++++ + src/login/logind-user.c | 43 +++++++++++++++-- + 3 files changed, 112 insertions(+), 5 deletions(-) + create mode 100644 src/login/compat-tasks-max-generator.c + +diff --git a/meson.build b/meson.build +index 5c7c165ba..7e3e8ca16 100644 +--- a/meson.build ++++ b/meson.build +@@ -1701,6 +1701,14 @@ if conf.get('ENABLE_LOGIND') == 1 + endif + endif + ++executable('logind-compat-tasks-max-generator', ++ 'src/login/compat-tasks-max-generator.c', ++ include_directories : includes, ++ link_with : [libshared, liblogind_core], ++ install_rpath : rootlibexecdir, ++ install : true, ++ install_dir : systemgeneratordir) ++ + executable('systemd-user-runtime-dir', + user_runtime_dir_sources, + include_directories : includes, +diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c +new file mode 100644 +index 000000000..404ca5f23 +--- /dev/null ++++ b/src/login/compat-tasks-max-generator.c +@@ -0,0 +1,66 @@ ++#include ++ ++#include "alloc-util.h" ++#include "dropin.h" ++#include "logind.h" ++#include "path-util.h" ++ ++static const char *arg_dest = "/tmp"; ++ ++static int read_manager_configuration(uint64_t *user_tasks_max) { ++ Manager m = {}; ++ int r; ++ ++ manager_reset_config(&m); ++ m.user_tasks_max = 0; ++ ++ r = manager_parse_config_file(&m); ++ if (r < 0) ++ return log_warning_errno(r, "Failed to parse logind.conf: %m"); ++ ++ if (m.user_tasks_max == 0) ++ return 0; ++ ++ *user_tasks_max = m.user_tasks_max; ++ return 1; ++} ++ ++int main(int argc, char *argv[]) { ++ _cleanup_free_ char *p = NULL; ++ uint64_t user_tasks_max; ++ int r = 0; ++ ++ if (argc > 1 && argc != 4) { ++ log_error("This program takes three or no arguments."); ++ return EXIT_FAILURE; ++ } ++ ++ if (argc > 1) ++ arg_dest = argv[1]; ++ ++ log_set_prohibit_ipc(true); ++ log_set_target(LOG_TARGET_AUTO); ++ log_parse_environment(); ++ log_open(); ++ ++ umask(0022); ++ ++ r = read_manager_configuration(&user_tasks_max); ++ if (r == 0) ++ return EXIT_SUCCESS; ++ if (r < 0) ++ return EXIT_FAILURE; ++ ++ p = path_join(arg_dest, "user-.slice.d", "50-limits.conf"); ++ if (!p) ++ return EXIT_FAILURE; ++ ++ log_warning("Creating %s to keep compability\n" ++ "Consider copying the snippet in /etc/systemd/system/user-.slice.d/\n", p); ++ ++ r = write_drop_in_format(arg_dest, "user-.slice", 50, "limits", ++ "# Automatically generated by logind-compat-tasks-max-generator\n\n" ++ "[Slice]\nTasksMax=%" PRIu64, user_tasks_max); ++ ++ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; ++} +diff --git a/src/login/logind-user.c b/src/login/logind-user.c +index 66f5c896d..fe58b0398 100644 +--- a/src/login/logind-user.c ++++ b/src/login/logind-user.c +@@ -743,17 +743,50 @@ int config_parse_compat_user_tasks_max( + void *data, + void *userdata) { + ++ uint64_t *m = data; ++ uint64_t k; ++ int r; ++ + assert(filename); + assert(lvalue); + assert(rvalue); + assert(data); + +- log_syntax(unit, LOG_NOTICE, filename, line, 0, ++ log_syntax(unit, LOG_WARNING, filename, line, 0, + "Support for option %s= has been removed.", + lvalue); +- log_info("Hint: try creating /etc/systemd/system/user-.slice.d/50-limits.conf with:\n" +- " [Slice]\n" +- " TasksMax=%s", +- rvalue); ++ ++ if (isempty(rvalue)) { ++ *m = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); ++ return 0; ++ } ++ ++ if (streq(rvalue, "infinity")) { ++ *m = CGROUP_LIMIT_MAX; ++ return 0; ++ } ++ ++ /* Try to parse as percentage */ ++ r = parse_percent(rvalue); ++ if (r >= 0) ++ k = system_tasks_max_scale(r, 100U); ++ else { ++ ++ /* If the passed argument was not a percentage, or out of range, parse as byte size */ ++ ++ r = safe_atou64(rvalue, &k); ++ if (r < 0) { ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse tasks maximum, ignoring: %s", rvalue); ++ return 0; ++ } ++ } ++ ++ if (k <= 0 || k >= UINT64_MAX) { ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Tasks maximum out of range, ignoring: %s", rvalue); ++ return 0; ++ } ++ ++ *m = k; ++ + return 0; + } +-- +2.19.0 + diff --git a/60-io-scheduler.rules b/60-io-scheduler.rules deleted file mode 100644 index 7c285aef..00000000 --- a/60-io-scheduler.rules +++ /dev/null @@ -1,24 +0,0 @@ -# Set optimal IO schedulers for HDD and SSD - -ACTION!="add", GOTO="scheduler_end" -SUBSYSTEM!="block", GOTO="scheduler_end" - -# Do not change scheduler if `elevator` cmdline parameter is set -IMPORT{cmdline}="elevator" -ENV{elevator}=="?*", GOTO="scheduler_end" - -# Determine if BLK-MQ is enabled -TEST=="%S%p/mq", ENV{.IS_MQ}="1" - -# MQ: BFQ scheduler for HDD -ENV{.IS_MQ}=="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="bfq" -# MQ: deadline scheduler for SSD -ENV{.IS_MQ}=="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" - -# Non-MQ: CFQ scheduler for HDD -ENV{.IS_MQ}!="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="cfq" -# Non-MQ: deadline scheduler for SSD -ENV{.IS_MQ}!="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" - -LABEL="scheduler_end" - diff --git a/80-hotplug-cpu-mem.rules b/80-hotplug-cpu-mem.rules deleted file mode 100644 index 86a6c272..00000000 --- a/80-hotplug-cpu-mem.rules +++ /dev/null @@ -1,24 +0,0 @@ -# do not edit this file, it will be overwritten on update - -# -# Hotplug physical CPU -# -SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1" - -# -# Hotplug physical memory. Instances of tmpfs are remounted so their -# size are recalculated. This might be needed if some sizes were -# specified relative to the total amount of memory (boo#869603). For -# now make it simple and remount all tmpfs regardless of how their -# size are specified. It should be handled by the kernel as it has a -# lot of shortcomings anyways (tmpfs mounted by other processes, mount -# namespaces, ...) -# -SUBSYSTEM=="memory", ACTION=="add", PROGRAM=="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ - ATTR{state}="online", \ - RUN+="/bin/sh -c ' \ - while read src dst fs opts unused; do \ - case $fs in \ - tmpfs) mount -o remount \"$dst\" ;; \ - esac \ - done + +- Make systemd-mini-sysvinit provides systemd-sysvinit + + Some packages (such as shepherd-bins) want to conflicts with + systemd-sysvinit: they should also conflict with + systemd-mini-sysvinit. + +------------------------------------------------------------------- +Wed Nov 7 08:45:08 UTC 2018 - Franck Bui + +- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch + + We have to keep support for UserTasksMax= for a while before + dropping it. This patch is supposed to do that and also to make + users aware of this change. It also hints how to configure that + differently. + +------------------------------------------------------------------- +Wed Nov 7 07:05:31 UTC 2018 - Franck Bui + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice + a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot + 30c6842c3 units: set StopWhenUnneeded= for the user slice units too + e74de046e login: fix typo in log message + +------------------------------------------------------------------- +Mon Nov 5 13:10:54 UTC 2018 - Franck Bui + +- Own %{_libexecdir}/modules-load.d (again) + + This was incorrectly dropped during the split of the SUSE specific + configurations. + +------------------------------------------------------------------- +Fri Nov 2 14:17:34 UTC 2018 - Franck Bui + +- Drop a Conflicts: in systemd-coredump + + It not needed anymore since the mini variant of systemd-coredump is + not built anymore. + +------------------------------------------------------------------- +Fri Nov 2 13:54:36 UTC 2018 - Franck Bui + +- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d + + 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true + 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) + ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit + 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) + e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails + 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) + 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) + +------------------------------------------------------------------- +Fri Nov 2 13:51:46 UTC 2018 - Franck Bui + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui + +- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages + + "-mini" is already part of the name of the main package so there's + no need to append it again for those sub packages. It's only needed + when the name of a subpackage is completely redefined, IOW when '-n' + option is used with the %package directive. + +------------------------------------------------------------------- +Fri Nov 2 11:08:27 UTC 2018 - Franck Bui + +- Dont ship /usr/sbin/resolvconf symlink for now + + It conflicts with the bin shipped by openresolv and provides + limited compat only. + +------------------------------------------------------------------- +Wed Oct 24 10:07:36 UTC 2018 - Franck Bui + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -35,6 +124,17 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com d464f06934 journal: fix syslog_parse_identifier() e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) +------------------------------------------------------------------- +Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com + +- split off SUSE specific configuration from systemd package (fate#325478) + * remove 60-io-scheduler.rules + * remove 80-hotplug-cpu-mem.rules + * remove 99-wakeup-from-idle.rules + * remove /usr/lib/modules-load.d/sg.conf + + these are now maintained in the new package system-tuning-common-SUSE + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 55537c48..3d23ede6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,10 +26,11 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.100.g19b3868d3 +%define suse_version +suse.87.gf39674d6d %bcond_with gnuefi %if 0%{?bootstrap} +%bcond_with coredump %bcond_with sysvcompat %bcond_with machined %bcond_with importd @@ -37,6 +38,7 @@ %bcond_with resolved %bcond_with journal_remote %else +%bcond_without coredump %bcond_without sysvcompat %bcond_without machined %bcond_without importd @@ -51,7 +53,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 237 +Version: 239 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -156,10 +158,6 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-io-scheduler.rules -Source1001: 80-hotplug-cpu-mem.rules -Source1002: 99-wakeup-from-idle.rules - # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be @@ -167,6 +165,7 @@ Source1002: 99-wakeup-from-idle.rules # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -198,6 +197,7 @@ Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -297,23 +297,22 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package coredump%{mini} +%if %{with coredump} +%package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl -%if 0%{?bootstrap} -Conflicts: systemd-coredump -%endif -%description coredump%{mini} +%description coredump Systemd tools to store and manage coredumps. This package contains systemd-coredump, coredumpctl. +%endif -%package container%{?mini} +%package container Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base @@ -324,7 +323,7 @@ Provides: systemd:%{_bindir}/systemd-nspawn Conflicts: systemd-container %endif -%description container%{?mini} +%description container Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -438,6 +437,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ + -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -447,6 +447,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -457,6 +458,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -487,6 +491,14 @@ mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif +# Don't ship resolvconf symlink for now as it conflicts with the +# binary shipped by openresolv and provides limited compatibility +# only +%if %{with resolved} +rm %{buildroot}%{_sbindir}/resolvconf +rm %{buildroot}%{_mandir}/man1/resolvconf.1* +%endif + # FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm @@ -502,11 +514,6 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif -# The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules -install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules - # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -541,13 +548,6 @@ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# create %%{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf @@ -808,7 +808,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post container%{?mini} +%post container %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -885,14 +885,17 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/busctl +%{_bindir}/bootctl +%{_bindir}/hostnamectl +%{_bindir}/kernel-install +%{_bindir}/localectl %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl +%if %{with resolved} +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -929,8 +932,13 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} +%{_userunitdir} +%if %{with coredump} +%exclude %{_prefix}/lib/systemd/systemd-coredump +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -939,14 +947,11 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif -%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service @@ -973,7 +978,9 @@ fi %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/ + +%{_unitdir}/user-.slice.d/ + %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1007,9 +1014,8 @@ fi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf +%{_libexecdir}/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1064,6 +1070,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1073,7 +1080,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -# FIXME: why should we have to own this dir ? +# FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf @@ -1101,6 +1108,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif @@ -1136,9 +1144,11 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* %exclude %{_mandir}/man8/systemd-coredump* +%endif %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1192,6 +1202,13 @@ fi /sbin/poweroff /sbin/telinit /sbin/runlevel +%{_sbindir}/init +%{_sbindir}/reboot +%{_sbindir}/halt +%{_sbindir}/shutdown +%{_sbindir}/poweroff +%{_sbindir}/telinit +%{_sbindir}/runlevel %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* @@ -1269,7 +1286,8 @@ fi %{_mandir}/man3/*udev*.3* %endif -%files coredump%{?mini} +%if %{with coredump} +%files coredump %defattr(-,root,root) %{_bindir}/coredumpctl %{_prefix}/lib/systemd/systemd-coredump @@ -1283,12 +1301,12 @@ fi %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%{_tmpfilesdir}/systemd-nspawn.conf %if %{with networkd} %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network @@ -1306,6 +1324,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_tmpfilesdir}/systemd-nspawn.conf %endif %if %{with importd} %{_prefix}/lib/systemd/systemd-import* diff --git a/systemd-v237+suse.100.g19b3868d3.tar.xz b/systemd-v237+suse.100.g19b3868d3.tar.xz deleted file mode 100644 index 5e7c3bb1..00000000 --- a/systemd-v237+suse.100.g19b3868d3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a821019ddd446a6a4d25c5152b0cdd42b197c8657c69dadc393dd36b189784f -size 4629044 diff --git a/systemd-v239+suse.87.gf39674d6d.tar.xz b/systemd-v239+suse.87.gf39674d6d.tar.xz new file mode 100644 index 00000000..f0de2fe3 --- /dev/null +++ b/systemd-v239+suse.87.gf39674d6d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f62d64a099b2cb1fec5146914220d6396777b06c6d5075a479b1dfc22838c2c5 +size 4854560 diff --git a/systemd.changes b/systemd.changes index 64a87a55..e0afa6ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,92 @@ +------------------------------------------------------------------- +Fri Nov 9 10:37:21 UTC 2018 - Franck Bui + +- Make systemd-mini-sysvinit provides systemd-sysvinit + + Some packages (such as shepherd-bins) want to conflicts with + systemd-sysvinit: they should also conflict with + systemd-mini-sysvinit. + +------------------------------------------------------------------- +Wed Nov 7 08:45:08 UTC 2018 - Franck Bui + +- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch + + We have to keep support for UserTasksMax= for a while before + dropping it. This patch is supposed to do that and also to make + users aware of this change. It also hints how to configure that + differently. + +------------------------------------------------------------------- +Wed Nov 7 07:05:31 UTC 2018 - Franck Bui + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice + a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot + 30c6842c3 units: set StopWhenUnneeded= for the user slice units too + e74de046e login: fix typo in log message + +------------------------------------------------------------------- +Mon Nov 5 13:10:54 UTC 2018 - Franck Bui + +- Own %{_libexecdir}/modules-load.d (again) + + This was incorrectly dropped during the split of the SUSE specific + configurations. + +------------------------------------------------------------------- +Fri Nov 2 14:17:34 UTC 2018 - Franck Bui + +- Drop a Conflicts: in systemd-coredump + + It not needed anymore since the mini variant of systemd-coredump is + not built anymore. + +------------------------------------------------------------------- +Fri Nov 2 13:54:36 UTC 2018 - Franck Bui + +- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d + + 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true + 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) + ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit + 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) + e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails + 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) + 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) + +------------------------------------------------------------------- +Fri Nov 2 13:51:46 UTC 2018 - Franck Bui + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui + +- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages + + "-mini" is already part of the name of the main package so there's + no need to append it again for those sub packages. It's only needed + when the name of a subpackage is completely redefined, IOW when '-n' + option is used with the %package directive. + +------------------------------------------------------------------- +Fri Nov 2 11:08:27 UTC 2018 - Franck Bui + +- Dont ship /usr/sbin/resolvconf symlink for now + + It conflicts with the bin shipped by openresolv and provides + limited compat only. + +------------------------------------------------------------------- +Wed Oct 24 10:07:36 UTC 2018 - Franck Bui + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -35,6 +124,17 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com d464f06934 journal: fix syslog_parse_identifier() e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) +------------------------------------------------------------------- +Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com + +- split off SUSE specific configuration from systemd package (fate#325478) + * remove 60-io-scheduler.rules + * remove 80-hotplug-cpu-mem.rules + * remove 99-wakeup-from-idle.rules + * remove /usr/lib/modules-load.d/sg.conf + + these are now maintained in the new package system-tuning-common-SUSE + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 15a79547..9beae4f4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,10 +24,11 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.100.g19b3868d3 +%define suse_version +suse.87.gf39674d6d %bcond_with gnuefi %if 0%{?bootstrap} +%bcond_with coredump %bcond_with sysvcompat %bcond_with machined %bcond_with importd @@ -35,6 +36,7 @@ %bcond_with resolved %bcond_with journal_remote %else +%bcond_without coredump %bcond_without sysvcompat %bcond_without machined %bcond_without importd @@ -49,7 +51,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 237 +Version: 239 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -154,10 +156,6 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-io-scheduler.rules -Source1001: 80-hotplug-cpu-mem.rules -Source1002: 99-wakeup-from-idle.rules - # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be @@ -165,6 +163,7 @@ Source1002: 99-wakeup-from-idle.rules # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -196,6 +195,7 @@ Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -295,23 +295,22 @@ Conflicts: libudev-devel This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package coredump%{mini} +%if %{with coredump} +%package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl -%if 0%{?bootstrap} -Conflicts: systemd-coredump -%endif -%description coredump%{mini} +%description coredump Systemd tools to store and manage coredumps. This package contains systemd-coredump, coredumpctl. +%endif -%package container%{?mini} +%package container Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base @@ -322,7 +321,7 @@ Provides: systemd:%{_bindir}/systemd-nspawn Conflicts: systemd-container %endif -%description container%{?mini} +%description container Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -436,6 +435,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ + -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -445,6 +445,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -455,6 +456,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -485,6 +489,14 @@ mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif +# Don't ship resolvconf symlink for now as it conflicts with the +# binary shipped by openresolv and provides limited compatibility +# only +%if %{with resolved} +rm %{buildroot}%{_sbindir}/resolvconf +rm %{buildroot}%{_mandir}/man1/resolvconf.1* +%endif + # FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm @@ -500,11 +512,6 @@ install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif -# The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules -install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules - # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -539,13 +546,6 @@ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# create %%{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf @@ -806,7 +806,7 @@ systemctl daemon-reload || : %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post container%{?mini} +%post container %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -883,14 +883,17 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/busctl +%{_bindir}/bootctl +%{_bindir}/hostnamectl +%{_bindir}/kernel-install +%{_bindir}/localectl %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl +%if %{with resolved} +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -927,8 +930,13 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} +%{_userunitdir} +%if %{with coredump} +%exclude %{_prefix}/lib/systemd/systemd-coredump +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -937,14 +945,11 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif -%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/systemd-nspawn@.service -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service @@ -971,7 +976,9 @@ fi %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/ + +%{_unitdir}/user-.slice.d/ + %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1005,9 +1012,8 @@ fi %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf +%{_libexecdir}/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1062,6 +1068,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1071,7 +1078,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -# FIXME: why should we have to own this dir ? +# FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf @@ -1099,6 +1106,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif @@ -1134,9 +1142,11 @@ fi %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* %exclude %{_mandir}/man8/systemd-coredump* +%endif %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1190,6 +1200,13 @@ fi /sbin/poweroff /sbin/telinit /sbin/runlevel +%{_sbindir}/init +%{_sbindir}/reboot +%{_sbindir}/halt +%{_sbindir}/shutdown +%{_sbindir}/poweroff +%{_sbindir}/telinit +%{_sbindir}/runlevel %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* @@ -1267,7 +1284,8 @@ fi %{_mandir}/man3/*udev*.3* %endif -%files coredump%{?mini} +%if %{with coredump} +%files coredump %defattr(-,root,root) %{_bindir}/coredumpctl %{_prefix}/lib/systemd/systemd-coredump @@ -1281,12 +1299,12 @@ fi %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%{_tmpfilesdir}/systemd-nspawn.conf %if %{with networkd} %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network @@ -1304,6 +1322,7 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_tmpfilesdir}/systemd-nspawn.conf %endif %if %{with importd} %{_prefix}/lib/systemd/systemd-import* From 7e9dc6bb50e5cd4a0a7ade20b3ab939f60570d27daa0ba6714ad1eca3b8fa5e7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 16 Nov 2018 12:20:42 +0000 Subject: [PATCH 406/991] Accepting request 649551 from home:fbui:systemd:openSUSE-Factory - Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) 7165e92f4 tmpfiles: use fd_get_path() even less excessively c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console 621b78317 test: don't use "nobody:nogroup" for tests 1f9c7acad tmpfiles: return correct error variable after fd_reopen() 2236280c1 tmpfiles: reindent one comment less weirdly f6bdfb889 tmpfiles: use correct error variable bc75127cd tmpfiles: clarify that we ignore file attribute setting errors 621c8b1fe tmpfiles: add log message where we previously failed silently bc9229630 tmpfiles: use fd_get_path() less excessively 5a1106039 tmpfiles: add more tests c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() 7480154d0 tmpfiles: make create_fifo() safe eb890962c fs-util: introduce mkfifoat_atomic() helper 653bb81af fileio: make tempfn_random_child() accept empty string as path 2b1e12bfe tmpfiles: introduce create_fifo() 6dd80f289 tmpfiles: introduce empty_directory() f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe 6a76f6dfb basic/stat-util: introduce is_dir_fd() 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers 390b767da selinux: introduce mac_selinux_create_file_prepare_at() 0f72fadba smack: introduce mac_smack_fix_at() f2838154b tmpfiles: introduce create_directory_or_subvolume() 2de697fb8 tmpfiles: make create_device() safe 558c5fec7 tmpfiles: introduce create_device() dee986b1d tmpfiles: make copy_files() safe OBS-URL: https://build.opensuse.org/request/show/649551 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1047 --- systemd-mini.changes | 43 +++++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v239+suse.125.g69f9f79e1.tar.xz | 3 ++ systemd-v239+suse.87.gf39674d6d.tar.xz | 3 -- systemd.changes | 43 +++++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 systemd-v239+suse.125.g69f9f79e1.tar.xz delete mode 100644 systemd-v239+suse.87.gf39674d6d.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index e0afa6ec..7e1e9ec4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Fri Nov 16 10:31:42 UTC 2018 - Franck Bui + +- Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) + + f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) + 7165e92f4 tmpfiles: use fd_get_path() even less excessively + c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console + 621b78317 test: don't use "nobody:nogroup" for tests + 1f9c7acad tmpfiles: return correct error variable after fd_reopen() + 2236280c1 tmpfiles: reindent one comment less weirdly + f6bdfb889 tmpfiles: use correct error variable + bc75127cd tmpfiles: clarify that we ignore file attribute setting errors + 621c8b1fe tmpfiles: add log message where we previously failed silently + bc9229630 tmpfiles: use fd_get_path() less excessively + 5a1106039 tmpfiles: add more tests + c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() + e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() + 7480154d0 tmpfiles: make create_fifo() safe + eb890962c fs-util: introduce mkfifoat_atomic() helper + 653bb81af fileio: make tempfn_random_child() accept empty string as path + 2b1e12bfe tmpfiles: introduce create_fifo() + 6dd80f289 tmpfiles: introduce empty_directory() + f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe + 6a76f6dfb basic/stat-util: introduce is_dir_fd() + 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation + 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() + 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers + 390b767da selinux: introduce mac_selinux_create_file_prepare_at() + 0f72fadba smack: introduce mac_smack_fix_at() + f2838154b tmpfiles: introduce create_directory_or_subvolume() + 2de697fb8 tmpfiles: make create_device() safe + 558c5fec7 tmpfiles: introduce create_device() + dee986b1d tmpfiles: make copy_files() safe + cacb14d3f tmpfiles: introduce copy_files() routine + 81c85ce17 tmpfiles: make write_one_file() safe + 9ec6b92ab tmpfiles: make truncate_file() safe + 8dde36e03 tmpfiles: introduce truncate_file() which deals with 'F' exclusively + 481134a93 tmpfiles: introduce create_file() which deals with 'f'/'F' exclusively + 057861560 tmpfiles: make the stat struct parameter in fd_set_*() optional + f37caffda tmpfiles: stat file in item_do() rather than in its callers + 86f1362d4 tmpfiles: set only default acls to folders #9545 (#9599) + ------------------------------------------------------------------- Fri Nov 9 10:37:21 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3d23ede6..97246174 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.87.gf39674d6d +%define suse_version +suse.125.g69f9f79e1 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.125.g69f9f79e1.tar.xz b/systemd-v239+suse.125.g69f9f79e1.tar.xz new file mode 100644 index 00000000..63374478 --- /dev/null +++ b/systemd-v239+suse.125.g69f9f79e1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60a1d726a705d621a543e255ec20b8b5698c9b9e78ea23387bc60d4eef6416fd +size 4858072 diff --git a/systemd-v239+suse.87.gf39674d6d.tar.xz b/systemd-v239+suse.87.gf39674d6d.tar.xz deleted file mode 100644 index f0de2fe3..00000000 --- a/systemd-v239+suse.87.gf39674d6d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f62d64a099b2cb1fec5146914220d6396777b06c6d5075a479b1dfc22838c2c5 -size 4854560 diff --git a/systemd.changes b/systemd.changes index e0afa6ec..7e1e9ec4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Fri Nov 16 10:31:42 UTC 2018 - Franck Bui + +- Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) + + f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) + 7165e92f4 tmpfiles: use fd_get_path() even less excessively + c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console + 621b78317 test: don't use "nobody:nogroup" for tests + 1f9c7acad tmpfiles: return correct error variable after fd_reopen() + 2236280c1 tmpfiles: reindent one comment less weirdly + f6bdfb889 tmpfiles: use correct error variable + bc75127cd tmpfiles: clarify that we ignore file attribute setting errors + 621c8b1fe tmpfiles: add log message where we previously failed silently + bc9229630 tmpfiles: use fd_get_path() less excessively + 5a1106039 tmpfiles: add more tests + c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() + e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() + 7480154d0 tmpfiles: make create_fifo() safe + eb890962c fs-util: introduce mkfifoat_atomic() helper + 653bb81af fileio: make tempfn_random_child() accept empty string as path + 2b1e12bfe tmpfiles: introduce create_fifo() + 6dd80f289 tmpfiles: introduce empty_directory() + f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe + 6a76f6dfb basic/stat-util: introduce is_dir_fd() + 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation + 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() + 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers + 390b767da selinux: introduce mac_selinux_create_file_prepare_at() + 0f72fadba smack: introduce mac_smack_fix_at() + f2838154b tmpfiles: introduce create_directory_or_subvolume() + 2de697fb8 tmpfiles: make create_device() safe + 558c5fec7 tmpfiles: introduce create_device() + dee986b1d tmpfiles: make copy_files() safe + cacb14d3f tmpfiles: introduce copy_files() routine + 81c85ce17 tmpfiles: make write_one_file() safe + 9ec6b92ab tmpfiles: make truncate_file() safe + 8dde36e03 tmpfiles: introduce truncate_file() which deals with 'F' exclusively + 481134a93 tmpfiles: introduce create_file() which deals with 'f'/'F' exclusively + 057861560 tmpfiles: make the stat struct parameter in fd_set_*() optional + f37caffda tmpfiles: stat file in item_do() rather than in its callers + 86f1362d4 tmpfiles: set only default acls to folders #9545 (#9599) + ------------------------------------------------------------------- Fri Nov 9 10:37:21 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9beae4f4..960a434e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.87.gf39674d6d +%define suse_version +suse.125.g69f9f79e1 %bcond_with gnuefi %if 0%{?bootstrap} From e8b056a952e6b020dc7ca65e7a155b1924db45d945150127000a4eb6782be78d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 20 Nov 2018 21:24:22 +0000 Subject: [PATCH 407/991] Accepting request 649552 from Base:System OBS-URL: https://build.opensuse.org/request/show/649552 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=289 --- systemd-mini.changes | 43 +++++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v239+suse.125.g69f9f79e1.tar.xz | 3 ++ systemd-v239+suse.87.gf39674d6d.tar.xz | 3 -- systemd.changes | 43 +++++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 systemd-v239+suse.125.g69f9f79e1.tar.xz delete mode 100644 systemd-v239+suse.87.gf39674d6d.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index e0afa6ec..7e1e9ec4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Fri Nov 16 10:31:42 UTC 2018 - Franck Bui + +- Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) + + f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) + 7165e92f4 tmpfiles: use fd_get_path() even less excessively + c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console + 621b78317 test: don't use "nobody:nogroup" for tests + 1f9c7acad tmpfiles: return correct error variable after fd_reopen() + 2236280c1 tmpfiles: reindent one comment less weirdly + f6bdfb889 tmpfiles: use correct error variable + bc75127cd tmpfiles: clarify that we ignore file attribute setting errors + 621c8b1fe tmpfiles: add log message where we previously failed silently + bc9229630 tmpfiles: use fd_get_path() less excessively + 5a1106039 tmpfiles: add more tests + c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() + e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() + 7480154d0 tmpfiles: make create_fifo() safe + eb890962c fs-util: introduce mkfifoat_atomic() helper + 653bb81af fileio: make tempfn_random_child() accept empty string as path + 2b1e12bfe tmpfiles: introduce create_fifo() + 6dd80f289 tmpfiles: introduce empty_directory() + f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe + 6a76f6dfb basic/stat-util: introduce is_dir_fd() + 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation + 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() + 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers + 390b767da selinux: introduce mac_selinux_create_file_prepare_at() + 0f72fadba smack: introduce mac_smack_fix_at() + f2838154b tmpfiles: introduce create_directory_or_subvolume() + 2de697fb8 tmpfiles: make create_device() safe + 558c5fec7 tmpfiles: introduce create_device() + dee986b1d tmpfiles: make copy_files() safe + cacb14d3f tmpfiles: introduce copy_files() routine + 81c85ce17 tmpfiles: make write_one_file() safe + 9ec6b92ab tmpfiles: make truncate_file() safe + 8dde36e03 tmpfiles: introduce truncate_file() which deals with 'F' exclusively + 481134a93 tmpfiles: introduce create_file() which deals with 'f'/'F' exclusively + 057861560 tmpfiles: make the stat struct parameter in fd_set_*() optional + f37caffda tmpfiles: stat file in item_do() rather than in its callers + 86f1362d4 tmpfiles: set only default acls to folders #9545 (#9599) + ------------------------------------------------------------------- Fri Nov 9 10:37:21 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3d23ede6..97246174 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.87.gf39674d6d +%define suse_version +suse.125.g69f9f79e1 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.125.g69f9f79e1.tar.xz b/systemd-v239+suse.125.g69f9f79e1.tar.xz new file mode 100644 index 00000000..63374478 --- /dev/null +++ b/systemd-v239+suse.125.g69f9f79e1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60a1d726a705d621a543e255ec20b8b5698c9b9e78ea23387bc60d4eef6416fd +size 4858072 diff --git a/systemd-v239+suse.87.gf39674d6d.tar.xz b/systemd-v239+suse.87.gf39674d6d.tar.xz deleted file mode 100644 index f0de2fe3..00000000 --- a/systemd-v239+suse.87.gf39674d6d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f62d64a099b2cb1fec5146914220d6396777b06c6d5075a479b1dfc22838c2c5 -size 4854560 diff --git a/systemd.changes b/systemd.changes index e0afa6ec..7e1e9ec4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Fri Nov 16 10:31:42 UTC 2018 - Franck Bui + +- Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) + + f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) + 7165e92f4 tmpfiles: use fd_get_path() even less excessively + c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console + 621b78317 test: don't use "nobody:nogroup" for tests + 1f9c7acad tmpfiles: return correct error variable after fd_reopen() + 2236280c1 tmpfiles: reindent one comment less weirdly + f6bdfb889 tmpfiles: use correct error variable + bc75127cd tmpfiles: clarify that we ignore file attribute setting errors + 621c8b1fe tmpfiles: add log message where we previously failed silently + bc9229630 tmpfiles: use fd_get_path() less excessively + 5a1106039 tmpfiles: add more tests + c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() + e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() + 7480154d0 tmpfiles: make create_fifo() safe + eb890962c fs-util: introduce mkfifoat_atomic() helper + 653bb81af fileio: make tempfn_random_child() accept empty string as path + 2b1e12bfe tmpfiles: introduce create_fifo() + 6dd80f289 tmpfiles: introduce empty_directory() + f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe + 6a76f6dfb basic/stat-util: introduce is_dir_fd() + 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation + 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() + 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers + 390b767da selinux: introduce mac_selinux_create_file_prepare_at() + 0f72fadba smack: introduce mac_smack_fix_at() + f2838154b tmpfiles: introduce create_directory_or_subvolume() + 2de697fb8 tmpfiles: make create_device() safe + 558c5fec7 tmpfiles: introduce create_device() + dee986b1d tmpfiles: make copy_files() safe + cacb14d3f tmpfiles: introduce copy_files() routine + 81c85ce17 tmpfiles: make write_one_file() safe + 9ec6b92ab tmpfiles: make truncate_file() safe + 8dde36e03 tmpfiles: introduce truncate_file() which deals with 'F' exclusively + 481134a93 tmpfiles: introduce create_file() which deals with 'f'/'F' exclusively + 057861560 tmpfiles: make the stat struct parameter in fd_set_*() optional + f37caffda tmpfiles: stat file in item_do() rather than in its callers + 86f1362d4 tmpfiles: set only default acls to folders #9545 (#9599) + ------------------------------------------------------------------- Fri Nov 9 10:37:21 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9beae4f4..960a434e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.87.gf39674d6d +%define suse_version +suse.125.g69f9f79e1 %bcond_with gnuefi %if 0%{?bootstrap} From e02aab74d680cc5007eb0edf7e2ebaedb6aea10c4ecea361ade488c9d1c5ff0c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 4 Dec 2018 13:51:59 +0000 Subject: [PATCH 408/991] Accepting request 653864 from home:fbui:systemd:openSUSE-Factory - Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 4474878178 udev-builtin-kmod: adjust logging 805534aff5 core: use the generic module_load() function ac7e902530 shared/module-util: fix preexisting mixup with errno sign 415aa40793 udev-builtin-kmod: use the generic module_load() function 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared 999b910752 core/kmod-setup: restore comments 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT 5ad8d374c5 terminal-util: introduce vt_release() helper 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) d4b5dbc033 terminal-util: introduce vt_restore() helper 2e8af185f0 logind: make session_restore_vt() static ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) - Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) "test -w" always returns true for root user even if the writable mode bits are not set. Fix this by testing the file mode bit value instead. - Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd This tool is not supposed to be run by users. - Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 4474878178 udev-builtin-kmod: adjust logging 805534aff5 core: use the generic module_load() function ac7e902530 shared/module-util: fix preexisting mixup with errno sign 415aa40793 udev-builtin-kmod: use the generic module_load() function 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared 999b910752 core/kmod-setup: restore comments 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT OBS-URL: https://build.opensuse.org/request/show/653864 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1048 --- systemd-mini.changes | 34 +++++++++++++++++++++++++ systemd-mini.spec | 13 ++++------ systemd-v239+suse.125.g69f9f79e1.tar.xz | 3 --- systemd-v239+suse.138.g8ae56af78.tar.xz | 3 +++ systemd.changes | 34 +++++++++++++++++++++++++ systemd.spec | 13 ++++------ 6 files changed, 81 insertions(+), 19 deletions(-) delete mode 100644 systemd-v239+suse.125.g69f9f79e1.tar.xz create mode 100644 systemd-v239+suse.138.g8ae56af78.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 7e1e9ec4..8fc9bdc7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Dec 4 13:20:48 UTC 2018 - Franck Bui + +- Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 + + 4474878178 udev-builtin-kmod: adjust logging + 805534aff5 core: use the generic module_load() function + ac7e902530 shared/module-util: fix preexisting mixup with errno sign + 415aa40793 udev-builtin-kmod: use the generic module_load() function + 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared + 999b910752 core/kmod-setup: restore comments + 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT + 5ad8d374c5 terminal-util: introduce vt_release() helper + 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) + d4b5dbc033 terminal-util: introduce vt_restore() helper + 2e8af185f0 logind: make session_restore_vt() static + ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) + +------------------------------------------------------------------- +Fri Nov 23 13:30:03 UTC 2018 - Franck Bui + +- Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) + + "test -w" always returns true for root user even if the writable + mode bits are not set. Fix this by testing the file mode bit value + instead. + +------------------------------------------------------------------- +Fri Nov 23 11:50:19 UTC 2018 - Franck Bui + +- Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd + + This tool is not supposed to be run by users. + ------------------------------------------------------------------- Fri Nov 16 10:31:42 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 97246174..5aa639d0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.125.g69f9f79e1 +%define suse_version +suse.138.g8ae56af78 %bcond_with gnuefi %if 0%{?bootstrap} @@ -510,7 +510,7 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif @@ -699,9 +699,9 @@ fi # /etc/machine-id might have been created writeable incorrectly # (boo#1092269). -if [ -w %{_sysconfdir}/machine-id ]; then - echo "/etc/machine-id shouldn't be writable, fixing..." - chmod 444 %{_sysconfdir}/machine-id || : +if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then + echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." + chmod 444 %{_sysconfdir}/machine-id fi %if ! 0%{?bootstrap} @@ -921,9 +921,6 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl -%if %{with sysvcompat} -%{_sbindir}/systemd-sysv-convert -%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat diff --git a/systemd-v239+suse.125.g69f9f79e1.tar.xz b/systemd-v239+suse.125.g69f9f79e1.tar.xz deleted file mode 100644 index 63374478..00000000 --- a/systemd-v239+suse.125.g69f9f79e1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60a1d726a705d621a543e255ec20b8b5698c9b9e78ea23387bc60d4eef6416fd -size 4858072 diff --git a/systemd-v239+suse.138.g8ae56af78.tar.xz b/systemd-v239+suse.138.g8ae56af78.tar.xz new file mode 100644 index 00000000..2654b425 --- /dev/null +++ b/systemd-v239+suse.138.g8ae56af78.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd8bc41cc212cf637e93a98f0499b7ad4792ce401c1364eca15d1102944fea86 +size 4857940 diff --git a/systemd.changes b/systemd.changes index 7e1e9ec4..8fc9bdc7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Dec 4 13:20:48 UTC 2018 - Franck Bui + +- Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 + + 4474878178 udev-builtin-kmod: adjust logging + 805534aff5 core: use the generic module_load() function + ac7e902530 shared/module-util: fix preexisting mixup with errno sign + 415aa40793 udev-builtin-kmod: use the generic module_load() function + 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared + 999b910752 core/kmod-setup: restore comments + 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT + 5ad8d374c5 terminal-util: introduce vt_release() helper + 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) + d4b5dbc033 terminal-util: introduce vt_restore() helper + 2e8af185f0 logind: make session_restore_vt() static + ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) + +------------------------------------------------------------------- +Fri Nov 23 13:30:03 UTC 2018 - Franck Bui + +- Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) + + "test -w" always returns true for root user even if the writable + mode bits are not set. Fix this by testing the file mode bit value + instead. + +------------------------------------------------------------------- +Fri Nov 23 11:50:19 UTC 2018 - Franck Bui + +- Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd + + This tool is not supposed to be run by users. + ------------------------------------------------------------------- Fri Nov 16 10:31:42 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 960a434e..cf294aaa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.125.g69f9f79e1 +%define suse_version +suse.138.g8ae56af78 %bcond_with gnuefi %if 0%{?bootstrap} @@ -508,7 +508,7 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif @@ -697,9 +697,9 @@ fi # /etc/machine-id might have been created writeable incorrectly # (boo#1092269). -if [ -w %{_sysconfdir}/machine-id ]; then - echo "/etc/machine-id shouldn't be writable, fixing..." - chmod 444 %{_sysconfdir}/machine-id || : +if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then + echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." + chmod 444 %{_sysconfdir}/machine-id fi %if ! 0%{?bootstrap} @@ -919,9 +919,6 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl -%if %{with sysvcompat} -%{_sbindir}/systemd-sysv-convert -%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat From 43123b57ccd35d3e55cd570ed27cc01212d47be475978669ef5adac866a1515d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 10 Dec 2018 11:22:20 +0000 Subject: [PATCH 409/991] Accepting request 653865 from Base:System OBS-URL: https://build.opensuse.org/request/show/653865 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=290 --- systemd-mini.changes | 34 +++++++++++++++++++++++++ systemd-mini.spec | 13 ++++------ systemd-v239+suse.125.g69f9f79e1.tar.xz | 3 --- systemd-v239+suse.138.g8ae56af78.tar.xz | 3 +++ systemd.changes | 34 +++++++++++++++++++++++++ systemd.spec | 13 ++++------ 6 files changed, 81 insertions(+), 19 deletions(-) delete mode 100644 systemd-v239+suse.125.g69f9f79e1.tar.xz create mode 100644 systemd-v239+suse.138.g8ae56af78.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 7e1e9ec4..8fc9bdc7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Dec 4 13:20:48 UTC 2018 - Franck Bui + +- Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 + + 4474878178 udev-builtin-kmod: adjust logging + 805534aff5 core: use the generic module_load() function + ac7e902530 shared/module-util: fix preexisting mixup with errno sign + 415aa40793 udev-builtin-kmod: use the generic module_load() function + 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared + 999b910752 core/kmod-setup: restore comments + 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT + 5ad8d374c5 terminal-util: introduce vt_release() helper + 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) + d4b5dbc033 terminal-util: introduce vt_restore() helper + 2e8af185f0 logind: make session_restore_vt() static + ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) + +------------------------------------------------------------------- +Fri Nov 23 13:30:03 UTC 2018 - Franck Bui + +- Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) + + "test -w" always returns true for root user even if the writable + mode bits are not set. Fix this by testing the file mode bit value + instead. + +------------------------------------------------------------------- +Fri Nov 23 11:50:19 UTC 2018 - Franck Bui + +- Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd + + This tool is not supposed to be run by users. + ------------------------------------------------------------------- Fri Nov 16 10:31:42 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 97246174..5aa639d0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.125.g69f9f79e1 +%define suse_version +suse.138.g8ae56af78 %bcond_with gnuefi %if 0%{?bootstrap} @@ -510,7 +510,7 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif @@ -699,9 +699,9 @@ fi # /etc/machine-id might have been created writeable incorrectly # (boo#1092269). -if [ -w %{_sysconfdir}/machine-id ]; then - echo "/etc/machine-id shouldn't be writable, fixing..." - chmod 444 %{_sysconfdir}/machine-id || : +if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then + echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." + chmod 444 %{_sysconfdir}/machine-id fi %if ! 0%{?bootstrap} @@ -921,9 +921,6 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl -%if %{with sysvcompat} -%{_sbindir}/systemd-sysv-convert -%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat diff --git a/systemd-v239+suse.125.g69f9f79e1.tar.xz b/systemd-v239+suse.125.g69f9f79e1.tar.xz deleted file mode 100644 index 63374478..00000000 --- a/systemd-v239+suse.125.g69f9f79e1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60a1d726a705d621a543e255ec20b8b5698c9b9e78ea23387bc60d4eef6416fd -size 4858072 diff --git a/systemd-v239+suse.138.g8ae56af78.tar.xz b/systemd-v239+suse.138.g8ae56af78.tar.xz new file mode 100644 index 00000000..2654b425 --- /dev/null +++ b/systemd-v239+suse.138.g8ae56af78.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd8bc41cc212cf637e93a98f0499b7ad4792ce401c1364eca15d1102944fea86 +size 4857940 diff --git a/systemd.changes b/systemd.changes index 7e1e9ec4..8fc9bdc7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Dec 4 13:20:48 UTC 2018 - Franck Bui + +- Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 + + 4474878178 udev-builtin-kmod: adjust logging + 805534aff5 core: use the generic module_load() function + ac7e902530 shared/module-util: fix preexisting mixup with errno sign + 415aa40793 udev-builtin-kmod: use the generic module_load() function + 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared + 999b910752 core/kmod-setup: restore comments + 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT + 5ad8d374c5 terminal-util: introduce vt_release() helper + 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) + d4b5dbc033 terminal-util: introduce vt_restore() helper + 2e8af185f0 logind: make session_restore_vt() static + ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) + +------------------------------------------------------------------- +Fri Nov 23 13:30:03 UTC 2018 - Franck Bui + +- Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) + + "test -w" always returns true for root user even if the writable + mode bits are not set. Fix this by testing the file mode bit value + instead. + +------------------------------------------------------------------- +Fri Nov 23 11:50:19 UTC 2018 - Franck Bui + +- Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd + + This tool is not supposed to be run by users. + ------------------------------------------------------------------- Fri Nov 16 10:31:42 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 960a434e..cf294aaa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.125.g69f9f79e1 +%define suse_version +suse.138.g8ae56af78 %bcond_with gnuefi %if 0%{?bootstrap} @@ -508,7 +508,7 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert +install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif @@ -697,9 +697,9 @@ fi # /etc/machine-id might have been created writeable incorrectly # (boo#1092269). -if [ -w %{_sysconfdir}/machine-id ]; then - echo "/etc/machine-id shouldn't be writable, fixing..." - chmod 444 %{_sysconfdir}/machine-id || : +if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then + echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." + chmod 444 %{_sysconfdir}/machine-id fi %if ! 0%{?bootstrap} @@ -919,9 +919,6 @@ fi %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt %{_bindir}/timedatectl -%if %{with sysvcompat} -%{_sbindir}/systemd-sysv-convert -%endif %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat From d13708e716a1dd94997f2eed299d8b73b1c4eda9b828137384a28ce04c1750ce Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 10 Jan 2019 16:21:21 +0000 Subject: [PATCH 410/991] Accepting request 664420 from home:fbui:systemd:openSUSE-Factory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) c3a8dc821b pam_systemd: reword message about not creating a session 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off - Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) 61d569ab1b journal-remote: verify entry length from header a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds ac9e209710 journald: when processing a native message, bail more quickly on overbig messages ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) 35538171c2 coredump: fix message when we fail to save a journald coredump cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) 8d650a68d4 journald: remove unnecessary {} b608f532a4 coredump: remove duplicate MESSAGE= prefix from message 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" d3ea69961f fs-util: rename safe_transition() into unsafe_transition() 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() OBS-URL: https://build.opensuse.org/request/show/664420 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1049 --- systemd-mini.changes | 33 +++++++++++++++++++++++++ systemd-mini.spec | 4 +-- systemd-v239+suse.138.g8ae56af78.tar.xz | 3 --- systemd-v239+suse.161.g3bece8a25.tar.xz | 3 +++ systemd.changes | 33 +++++++++++++++++++++++++ systemd.spec | 4 +-- 6 files changed, 73 insertions(+), 7 deletions(-) delete mode 100644 systemd-v239+suse.138.g8ae56af78.tar.xz create mode 100644 systemd-v239+suse.161.g3bece8a25.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 8fc9bdc7..80854d4f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Thu Jan 10 15:54:22 UTC 2019 - Franck Bui + +- Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 + + 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) + c3a8dc821b pam_systemd: reword message about not creating a session + 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off + +------------------------------------------------------------------- +Thu Jan 10 07:17:22 UTC 2019 - Franck Bui + +- Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 + + 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) + 61d569ab1b journal-remote: verify entry length from header + a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response + 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon + 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds + ac9e209710 journald: when processing a native message, bail more quickly on overbig messages + ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) + 35538171c2 coredump: fix message when we fail to save a journald coredump + cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX + 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) + 8d650a68d4 journald: remove unnecessary {} + b608f532a4 coredump: remove duplicate MESSAGE= prefix from message + 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) + e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" + d3ea69961f fs-util: rename safe_transition() into unsafe_transition() + 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE + d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met + 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() + ------------------------------------------------------------------- Tue Dec 4 13:20:48 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5aa639d0..bdcc9a6c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.138.g8ae56af78 +%define suse_version +suse.161.g3bece8a25 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.138.g8ae56af78.tar.xz b/systemd-v239+suse.138.g8ae56af78.tar.xz deleted file mode 100644 index 2654b425..00000000 --- a/systemd-v239+suse.138.g8ae56af78.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd8bc41cc212cf637e93a98f0499b7ad4792ce401c1364eca15d1102944fea86 -size 4857940 diff --git a/systemd-v239+suse.161.g3bece8a25.tar.xz b/systemd-v239+suse.161.g3bece8a25.tar.xz new file mode 100644 index 00000000..0beaea0c --- /dev/null +++ b/systemd-v239+suse.161.g3bece8a25.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2714f40405f1d1dc91e48659a89612c6818cbff995ed49ab5087c470ee6d33b +size 4858724 diff --git a/systemd.changes b/systemd.changes index 8fc9bdc7..80854d4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Thu Jan 10 15:54:22 UTC 2019 - Franck Bui + +- Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 + + 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) + c3a8dc821b pam_systemd: reword message about not creating a session + 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off + +------------------------------------------------------------------- +Thu Jan 10 07:17:22 UTC 2019 - Franck Bui + +- Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 + + 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) + 61d569ab1b journal-remote: verify entry length from header + a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response + 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon + 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds + ac9e209710 journald: when processing a native message, bail more quickly on overbig messages + ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) + 35538171c2 coredump: fix message when we fail to save a journald coredump + cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX + 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) + 8d650a68d4 journald: remove unnecessary {} + b608f532a4 coredump: remove duplicate MESSAGE= prefix from message + 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) + e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" + d3ea69961f fs-util: rename safe_transition() into unsafe_transition() + 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE + d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met + 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() + ------------------------------------------------------------------- Tue Dec 4 13:20:48 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cf294aaa..980c6dbc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.138.g8ae56af78 +%define suse_version +suse.161.g3bece8a25 %bcond_with gnuefi %if 0%{?bootstrap} From 6f50f5837cc240ede0ddb0b44ca7869be66bb30e7f5880377ec08a8764db69d1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 15 Jan 2019 10:11:50 +0000 Subject: [PATCH 411/991] Accepting request 666162 from home:fbui:systemd:openSUSE-Factory - Import commit ad34cc45f63720ced69960dc66b47bddb146176d Import a bunch of fixes from stable/v239-stable: c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" 5a48e92e06 test: Fix networkd test for an already running service 36eae1688b Revert "timesyncd: enable DynamicUser=" 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" 23cfd15ce9 machinectl: fix verbosity of import-raw or friends ba037daf29 Make bzip2 an optional dependency for systemd-importd fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* fcc699c093 network: update log message a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW 121c662eb8 man: add missing option for system.conf 564341146e core: add missing option and drop nonexistent option in system.conf 7082a3599f journal: add missing option in journald.conf 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value c5b1bef639 journal-gateway: explicitly declare local variables 2361522ca6 analyze: actually select longest activated-time of services 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM aef660a4cf resolvconf: fixes for the compatibility interface 06b3f54f50 install: fix error handling in is_symlink_with_known_name() f70ab9a468 portable: fix error handling d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno 15d83e1138 bus-util: fix error handling OBS-URL: https://build.opensuse.org/request/show/666162 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1050 --- systemd-mini.changes | 37 +++++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v239+suse.161.g3bece8a25.tar.xz | 3 -- systemd-v239+suse.191.gad34cc45f.tar.xz | 3 ++ systemd.changes | 37 +++++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 79 insertions(+), 5 deletions(-) delete mode 100644 systemd-v239+suse.161.g3bece8a25.tar.xz create mode 100644 systemd-v239+suse.191.gad34cc45f.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 80854d4f..b9f0720a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Tue Jan 15 09:04:47 UTC 2019 - Franck Bui + +- Import commit ad34cc45f63720ced69960dc66b47bddb146176d + + Import a bunch of fixes from stable/v239-stable: + + c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" + 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" + 5a48e92e06 test: Fix networkd test for an already running service + 36eae1688b Revert "timesyncd: enable DynamicUser=" + 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" + 23cfd15ce9 machinectl: fix verbosity of import-raw or friends + ba037daf29 Make bzip2 an optional dependency for systemd-importd + fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt + c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) + 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. + 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* + fcc699c093 network: update log message + a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW + 121c662eb8 man: add missing option for system.conf + 564341146e core: add missing option and drop nonexistent option in system.conf + 7082a3599f journal: add missing option in journald.conf + 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc + 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units + c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value + c5b1bef639 journal-gateway: explicitly declare local variables + 2361522ca6 analyze: actually select longest activated-time of services + 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM + aef660a4cf resolvconf: fixes for the compatibility interface + 06b3f54f50 install: fix error handling in is_symlink_with_known_name() + f70ab9a468 portable: fix error handling + d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() + 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno + 15d83e1138 bus-util: fix error handling + ba0a1f3384 core: free lines after reading them + ------------------------------------------------------------------- Thu Jan 10 15:54:22 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index bdcc9a6c..b9c0d70b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.161.g3bece8a25 +%define suse_version +suse.191.gad34cc45f %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.161.g3bece8a25.tar.xz b/systemd-v239+suse.161.g3bece8a25.tar.xz deleted file mode 100644 index 0beaea0c..00000000 --- a/systemd-v239+suse.161.g3bece8a25.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2714f40405f1d1dc91e48659a89612c6818cbff995ed49ab5087c470ee6d33b -size 4858724 diff --git a/systemd-v239+suse.191.gad34cc45f.tar.xz b/systemd-v239+suse.191.gad34cc45f.tar.xz new file mode 100644 index 00000000..4b76a164 --- /dev/null +++ b/systemd-v239+suse.191.gad34cc45f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41ecaea73db343549ca13c297a93304cb211fe405d2c1e953ab047b819aa0b92 +size 4859076 diff --git a/systemd.changes b/systemd.changes index 80854d4f..b9f0720a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Tue Jan 15 09:04:47 UTC 2019 - Franck Bui + +- Import commit ad34cc45f63720ced69960dc66b47bddb146176d + + Import a bunch of fixes from stable/v239-stable: + + c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" + 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" + 5a48e92e06 test: Fix networkd test for an already running service + 36eae1688b Revert "timesyncd: enable DynamicUser=" + 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" + 23cfd15ce9 machinectl: fix verbosity of import-raw or friends + ba037daf29 Make bzip2 an optional dependency for systemd-importd + fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt + c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) + 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. + 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* + fcc699c093 network: update log message + a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW + 121c662eb8 man: add missing option for system.conf + 564341146e core: add missing option and drop nonexistent option in system.conf + 7082a3599f journal: add missing option in journald.conf + 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc + 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units + c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value + c5b1bef639 journal-gateway: explicitly declare local variables + 2361522ca6 analyze: actually select longest activated-time of services + 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM + aef660a4cf resolvconf: fixes for the compatibility interface + 06b3f54f50 install: fix error handling in is_symlink_with_known_name() + f70ab9a468 portable: fix error handling + d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() + 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno + 15d83e1138 bus-util: fix error handling + ba0a1f3384 core: free lines after reading them + ------------------------------------------------------------------- Thu Jan 10 15:54:22 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 980c6dbc..e0fbaa70 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.161.g3bece8a25 +%define suse_version +suse.191.gad34cc45f %bcond_with gnuefi %if 0%{?bootstrap} From 3caf3093ddb65abfa08d0549b891fdf67833dc2e980ecc1efcd6e18c60a833f6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 29 Jan 2019 13:44:38 +0000 Subject: [PATCH 412/991] Accepting request 666166 from Base:System OBS-URL: https://build.opensuse.org/request/show/666166 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=291 --- systemd-mini.changes | 70 +++++++++++++++++++++++++ systemd-mini.spec | 4 +- systemd-v239+suse.138.g8ae56af78.tar.xz | 3 -- systemd-v239+suse.191.gad34cc45f.tar.xz | 3 ++ systemd.changes | 70 +++++++++++++++++++++++++ systemd.spec | 4 +- 6 files changed, 147 insertions(+), 7 deletions(-) delete mode 100644 systemd-v239+suse.138.g8ae56af78.tar.xz create mode 100644 systemd-v239+suse.191.gad34cc45f.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 8fc9bdc7..b9f0720a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,73 @@ +------------------------------------------------------------------- +Tue Jan 15 09:04:47 UTC 2019 - Franck Bui + +- Import commit ad34cc45f63720ced69960dc66b47bddb146176d + + Import a bunch of fixes from stable/v239-stable: + + c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" + 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" + 5a48e92e06 test: Fix networkd test for an already running service + 36eae1688b Revert "timesyncd: enable DynamicUser=" + 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" + 23cfd15ce9 machinectl: fix verbosity of import-raw or friends + ba037daf29 Make bzip2 an optional dependency for systemd-importd + fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt + c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) + 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. + 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* + fcc699c093 network: update log message + a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW + 121c662eb8 man: add missing option for system.conf + 564341146e core: add missing option and drop nonexistent option in system.conf + 7082a3599f journal: add missing option in journald.conf + 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc + 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units + c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value + c5b1bef639 journal-gateway: explicitly declare local variables + 2361522ca6 analyze: actually select longest activated-time of services + 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM + aef660a4cf resolvconf: fixes for the compatibility interface + 06b3f54f50 install: fix error handling in is_symlink_with_known_name() + f70ab9a468 portable: fix error handling + d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() + 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno + 15d83e1138 bus-util: fix error handling + ba0a1f3384 core: free lines after reading them + +------------------------------------------------------------------- +Thu Jan 10 15:54:22 UTC 2019 - Franck Bui + +- Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 + + 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) + c3a8dc821b pam_systemd: reword message about not creating a session + 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off + +------------------------------------------------------------------- +Thu Jan 10 07:17:22 UTC 2019 - Franck Bui + +- Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 + + 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) + 61d569ab1b journal-remote: verify entry length from header + a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response + 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon + 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds + ac9e209710 journald: when processing a native message, bail more quickly on overbig messages + ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) + 35538171c2 coredump: fix message when we fail to save a journald coredump + cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX + 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) + 8d650a68d4 journald: remove unnecessary {} + b608f532a4 coredump: remove duplicate MESSAGE= prefix from message + 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) + e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" + d3ea69961f fs-util: rename safe_transition() into unsafe_transition() + 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE + d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met + 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() + ------------------------------------------------------------------- Tue Dec 4 13:20:48 UTC 2018 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5aa639d0..b9c0d70b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.138.g8ae56af78 +%define suse_version +suse.191.gad34cc45f %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.138.g8ae56af78.tar.xz b/systemd-v239+suse.138.g8ae56af78.tar.xz deleted file mode 100644 index 2654b425..00000000 --- a/systemd-v239+suse.138.g8ae56af78.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd8bc41cc212cf637e93a98f0499b7ad4792ce401c1364eca15d1102944fea86 -size 4857940 diff --git a/systemd-v239+suse.191.gad34cc45f.tar.xz b/systemd-v239+suse.191.gad34cc45f.tar.xz new file mode 100644 index 00000000..4b76a164 --- /dev/null +++ b/systemd-v239+suse.191.gad34cc45f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41ecaea73db343549ca13c297a93304cb211fe405d2c1e953ab047b819aa0b92 +size 4859076 diff --git a/systemd.changes b/systemd.changes index 8fc9bdc7..b9f0720a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,73 @@ +------------------------------------------------------------------- +Tue Jan 15 09:04:47 UTC 2019 - Franck Bui + +- Import commit ad34cc45f63720ced69960dc66b47bddb146176d + + Import a bunch of fixes from stable/v239-stable: + + c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" + 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" + 5a48e92e06 test: Fix networkd test for an already running service + 36eae1688b Revert "timesyncd: enable DynamicUser=" + 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" + 23cfd15ce9 machinectl: fix verbosity of import-raw or friends + ba037daf29 Make bzip2 an optional dependency for systemd-importd + fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt + c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) + 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. + 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* + fcc699c093 network: update log message + a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW + 121c662eb8 man: add missing option for system.conf + 564341146e core: add missing option and drop nonexistent option in system.conf + 7082a3599f journal: add missing option in journald.conf + 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc + 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units + c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value + c5b1bef639 journal-gateway: explicitly declare local variables + 2361522ca6 analyze: actually select longest activated-time of services + 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM + aef660a4cf resolvconf: fixes for the compatibility interface + 06b3f54f50 install: fix error handling in is_symlink_with_known_name() + f70ab9a468 portable: fix error handling + d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() + 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno + 15d83e1138 bus-util: fix error handling + ba0a1f3384 core: free lines after reading them + +------------------------------------------------------------------- +Thu Jan 10 15:54:22 UTC 2019 - Franck Bui + +- Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 + + 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) + c3a8dc821b pam_systemd: reword message about not creating a session + 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off + +------------------------------------------------------------------- +Thu Jan 10 07:17:22 UTC 2019 - Franck Bui + +- Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 + + 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) + 61d569ab1b journal-remote: verify entry length from header + a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response + 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon + 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds + ac9e209710 journald: when processing a native message, bail more quickly on overbig messages + ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) + 35538171c2 coredump: fix message when we fail to save a journald coredump + cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX + 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) + 8d650a68d4 journald: remove unnecessary {} + b608f532a4 coredump: remove duplicate MESSAGE= prefix from message + 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) + e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" + d3ea69961f fs-util: rename safe_transition() into unsafe_transition() + 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE + d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met + 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() + ------------------------------------------------------------------- Tue Dec 4 13:20:48 UTC 2018 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cf294aaa..e0fbaa70 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.138.g8ae56af78 +%define suse_version +suse.191.gad34cc45f %bcond_with gnuefi %if 0%{?bootstrap} From 51d4ffd0e5eb02b09af01f5f7ecab06cf4b659d09dcdf20f005fa61a066f3604 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 15 Feb 2019 10:51:26 +0000 Subject: [PATCH 413/991] Accepting request 676380 from home:fbui:systemd:openSUSE-Factory - Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts a83e7b3b43 automount: don't pass non-blocking pipe to kernel. 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() c2c8333e0b strv: add new macro STARTSWITH_SET() 1db243a601 Update systemd-system.conf.xml (bsc#1122000) OBS-URL: https://build.opensuse.org/request/show/676380 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1051 --- systemd-mini.changes | 15 +++++++++++++++ systemd-mini.spec | 2 +- systemd-v239+suse.191.gad34cc45f.tar.xz | 3 --- systemd-v239+suse.201.g01b4746d3.tar.xz | 3 +++ systemd.changes | 15 +++++++++++++++ systemd.spec | 2 +- 6 files changed, 35 insertions(+), 5 deletions(-) delete mode 100644 systemd-v239+suse.191.gad34cc45f.tar.xz create mode 100644 systemd-v239+suse.201.g01b4746d3.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index b9f0720a..6764ec82 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Feb 15 09:58:17 UTC 2019 - Franck Bui + +- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda + + 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed + 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts + a83e7b3b43 automount: don't pass non-blocking pipe to kernel. + 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) + a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) + 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) + 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() + c2c8333e0b strv: add new macro STARTSWITH_SET() + 1db243a601 Update systemd-system.conf.xml (bsc#1122000) + ------------------------------------------------------------------- Tue Jan 15 09:04:47 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index b9c0d70b..c68a7ff4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.191.gad34cc45f +%define suse_version +suse.201.g01b4746d3 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.191.gad34cc45f.tar.xz b/systemd-v239+suse.191.gad34cc45f.tar.xz deleted file mode 100644 index 4b76a164..00000000 --- a/systemd-v239+suse.191.gad34cc45f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41ecaea73db343549ca13c297a93304cb211fe405d2c1e953ab047b819aa0b92 -size 4859076 diff --git a/systemd-v239+suse.201.g01b4746d3.tar.xz b/systemd-v239+suse.201.g01b4746d3.tar.xz new file mode 100644 index 00000000..31bf460f --- /dev/null +++ b/systemd-v239+suse.201.g01b4746d3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dddf6fcddf66af4508851545ee51e3e59fdbe6b1c47e063aaf105f882d17e82f +size 4859328 diff --git a/systemd.changes b/systemd.changes index b9f0720a..6764ec82 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Feb 15 09:58:17 UTC 2019 - Franck Bui + +- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda + + 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed + 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts + a83e7b3b43 automount: don't pass non-blocking pipe to kernel. + 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) + a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) + 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) + 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() + c2c8333e0b strv: add new macro STARTSWITH_SET() + 1db243a601 Update systemd-system.conf.xml (bsc#1122000) + ------------------------------------------------------------------- Tue Jan 15 09:04:47 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e0fbaa70..e4b82724 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.191.gad34cc45f +%define suse_version +suse.201.g01b4746d3 %bcond_with gnuefi %if 0%{?bootstrap} From 815caab58e20dda237d8aa679cdb8a87b9b498e3b3d0ce58f2f135990d16e036 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Feb 2019 14:03:00 +0000 Subject: [PATCH 414/991] Accepting request 677365 from home:fbui:systemd:openSUSE-Factory - Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) OBS-URL: https://build.opensuse.org/request/show/677365 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1052 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 2 +- systemd-v239+suse.201.g01b4746d3.tar.xz | 3 --- systemd-v239+suse.205.ga1d86af7e.tar.xz | 3 +++ systemd.changes | 9 +++++++++ systemd.spec | 2 +- 6 files changed, 23 insertions(+), 5 deletions(-) delete mode 100644 systemd-v239+suse.201.g01b4746d3.tar.xz create mode 100644 systemd-v239+suse.205.ga1d86af7e.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 6764ec82..3bc7d4a0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Feb 19 11:08:13 UTC 2019 - Franck Bui + +- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 + + 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) + 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) + b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) + ------------------------------------------------------------------- Fri Feb 15 09:58:17 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c68a7ff4..a8ccf3f5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.201.g01b4746d3 +%define suse_version +suse.205.ga1d86af7e %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.201.g01b4746d3.tar.xz b/systemd-v239+suse.201.g01b4746d3.tar.xz deleted file mode 100644 index 31bf460f..00000000 --- a/systemd-v239+suse.201.g01b4746d3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dddf6fcddf66af4508851545ee51e3e59fdbe6b1c47e063aaf105f882d17e82f -size 4859328 diff --git a/systemd-v239+suse.205.ga1d86af7e.tar.xz b/systemd-v239+suse.205.ga1d86af7e.tar.xz new file mode 100644 index 00000000..26234af1 --- /dev/null +++ b/systemd-v239+suse.205.ga1d86af7e.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72e095c8eb7312cd4ac735a0186f091799c5ff66bc434e8c49ce0e3655538734 +size 4860080 diff --git a/systemd.changes b/systemd.changes index 6764ec82..3bc7d4a0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Feb 19 11:08:13 UTC 2019 - Franck Bui + +- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 + + 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) + 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) + b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) + ------------------------------------------------------------------- Fri Feb 15 09:58:17 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e4b82724..1ab8bb15 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.201.g01b4746d3 +%define suse_version +suse.205.ga1d86af7e %bcond_with gnuefi %if 0%{?bootstrap} From 67ba8412064e2408ce7154ff84fb2c805f8e35572c42a149fc4b1341bc849d58 Mon Sep 17 00:00:00 2001 From: Yuchen Lin Date: Wed, 20 Feb 2019 13:09:03 +0000 Subject: [PATCH 415/991] Accepting request 677368 from Base:System OBS-URL: https://build.opensuse.org/request/show/677368 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=292 --- systemd-mini.changes | 24 ++++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v239+suse.191.gad34cc45f.tar.xz | 3 --- systemd-v239+suse.205.ga1d86af7e.tar.xz | 3 +++ systemd.changes | 24 ++++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 53 insertions(+), 5 deletions(-) delete mode 100644 systemd-v239+suse.191.gad34cc45f.tar.xz create mode 100644 systemd-v239+suse.205.ga1d86af7e.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index b9f0720a..3bc7d4a0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Tue Feb 19 11:08:13 UTC 2019 - Franck Bui + +- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 + + 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) + 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) + b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) + +------------------------------------------------------------------- +Fri Feb 15 09:58:17 UTC 2019 - Franck Bui + +- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda + + 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed + 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts + a83e7b3b43 automount: don't pass non-blocking pipe to kernel. + 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) + a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) + 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) + 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() + c2c8333e0b strv: add new macro STARTSWITH_SET() + 1db243a601 Update systemd-system.conf.xml (bsc#1122000) + ------------------------------------------------------------------- Tue Jan 15 09:04:47 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index b9c0d70b..a8ccf3f5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.191.gad34cc45f +%define suse_version +suse.205.ga1d86af7e %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v239+suse.191.gad34cc45f.tar.xz b/systemd-v239+suse.191.gad34cc45f.tar.xz deleted file mode 100644 index 4b76a164..00000000 --- a/systemd-v239+suse.191.gad34cc45f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41ecaea73db343549ca13c297a93304cb211fe405d2c1e953ab047b819aa0b92 -size 4859076 diff --git a/systemd-v239+suse.205.ga1d86af7e.tar.xz b/systemd-v239+suse.205.ga1d86af7e.tar.xz new file mode 100644 index 00000000..26234af1 --- /dev/null +++ b/systemd-v239+suse.205.ga1d86af7e.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72e095c8eb7312cd4ac735a0186f091799c5ff66bc434e8c49ce0e3655538734 +size 4860080 diff --git a/systemd.changes b/systemd.changes index b9f0720a..3bc7d4a0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Tue Feb 19 11:08:13 UTC 2019 - Franck Bui + +- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 + + 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) + 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) + b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) + +------------------------------------------------------------------- +Fri Feb 15 09:58:17 UTC 2019 - Franck Bui + +- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda + + 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed + 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts + a83e7b3b43 automount: don't pass non-blocking pipe to kernel. + 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) + a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) + 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) + 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() + c2c8333e0b strv: add new macro STARTSWITH_SET() + 1db243a601 Update systemd-system.conf.xml (bsc#1122000) + ------------------------------------------------------------------- Tue Jan 15 09:04:47 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e0fbaa70..1ab8bb15 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.191.gad34cc45f +%define suse_version +suse.205.ga1d86af7e %bcond_with gnuefi %if 0%{?bootstrap} From 21b2e315aad3360659575d10fdd0970e23396e535333efe846b607a4c4b4daff Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 6 Mar 2019 13:36:20 +0000 Subject: [PATCH 416/991] Accepting request 682169 from home:fbui:systemd:openSUSE-Factory - Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) OBS-URL: https://build.opensuse.org/request/show/682169 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1053 --- ...ward-compatibility-with-UserTasksMax.patch | 36 +++++++++---------- ...e-etc-resolv.conf-symlink-at-runtime.patch | 16 ++++----- systemd-mini.changes | 5 +++ systemd-mini.spec | 17 +++++---- systemd-v239+suse.205.ga1d86af7e.tar.xz | 3 -- systemd-v241+suse.42.g15a1b4d58.tar.xz | 3 ++ systemd.changes | 5 +++ systemd.spec | 17 +++++---- 8 files changed, 60 insertions(+), 42 deletions(-) delete mode 100644 systemd-v239+suse.205.ga1d86af7e.tar.xz create mode 100644 systemd-v241+suse.42.g15a1b4d58.tar.xz diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch index a8e39cfd..04b042c6 100644 --- a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -1,4 +1,4 @@ -From d3acd5b49a6a321dc3b1512416132b8724b2fd20 Mon Sep 17 00:00:00 2001 +From 819616fabe327d4baf587337f427c24588192af5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Nov 2018 11:51:26 +0100 Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in @@ -30,27 +30,27 @@ Expect this generator to be dropped in the future. create mode 100644 src/login/compat-tasks-max-generator.c diff --git a/meson.build b/meson.build -index 5c7c165ba..7e3e8ca16 100644 +index eacadc1505..7c00470fff 100644 --- a/meson.build +++ b/meson.build -@@ -1701,6 +1701,14 @@ if conf.get('ENABLE_LOGIND') == 1 +@@ -1866,6 +1866,14 @@ if conf.get('ENABLE_LOGIND') == 1 + endif endif - endif -+executable('logind-compat-tasks-max-generator', -+ 'src/login/compat-tasks-max-generator.c', -+ include_directories : includes, -+ link_with : [libshared, liblogind_core], -+ install_rpath : rootlibexecdir, -+ install : true, -+ install_dir : systemgeneratordir) ++ executable('logind-compat-tasks-max-generator', ++ 'src/login/compat-tasks-max-generator.c', ++ include_directories : includes, ++ link_with : [libshared, liblogind_core], ++ install_rpath : rootlibexecdir, ++ install : true, ++ install_dir : systemgeneratordir) + - executable('systemd-user-runtime-dir', - user_runtime_dir_sources, - include_directories : includes, + executable('systemd-user-runtime-dir', + user_runtime_dir_sources, + include_directories : includes, diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c new file mode 100644 -index 000000000..404ca5f23 +index 0000000000..404ca5f237 --- /dev/null +++ b/src/login/compat-tasks-max-generator.c @@ -0,0 +1,66 @@ @@ -121,10 +121,10 @@ index 000000000..404ca5f23 + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index 66f5c896d..fe58b0398 100644 +index ae27bfb662..bbcac62783 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c -@@ -743,17 +743,50 @@ int config_parse_compat_user_tasks_max( +@@ -843,17 +843,50 @@ int config_parse_compat_user_tasks_max( void *data, void *userdata) { @@ -181,5 +181,5 @@ index 66f5c896d..fe58b0398 100644 return 0; } -- -2.19.0 +2.20.1 diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch index 09c040f2..df56368d 100644 --- a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -1,7 +1,7 @@ -From a482b51673d4344faf76a0460a69d7f273b36e47 Mon Sep 17 00:00:00 2001 +From 86aa208e639b119007332718aa4f453af2a061d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH 1/1] resolved: create /etc/resolv.conf symlink at runtime +Subject: [PATCH] resolved: create /etc/resolv.conf symlink at runtime If the symlink doesn't exists, and we are being started, let's create it to provie name resolution. @@ -12,19 +12,17 @@ a location used by some service that hasn't started yet, so we don't touch it in that case either. https://bugzilla.redhat.com/show_bug.cgi?id=1313085 - -[fbui: fixes boo#1024897] --- src/resolve/resolved.c | 4 ++++ tmpfiles.d/etc.conf.m4 | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index a4cda0b5e..68bca8077 100644 +index f4efddf8e5..3386e3bf67 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c -@@ -71,6 +71,10 @@ int main(int argc, char *argv[]) { - /* Drop privileges, but only if we have been started as root. If we are not running as root we assume all +@@ -45,6 +45,10 @@ static int run(int argc, char *argv[]) { + /* Drop privileges, but only if we have been started as root. If we are not running as root we assume most * privileges are already dropped. */ if (getuid() == 0) { + r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); @@ -35,7 +33,7 @@ index a4cda0b5e..68bca8077 100644 /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ r = drop_privileges(uid, gid, diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index df8d42101..928105ea8 100644 +index df8d42101c..928105ea8d 100644 --- a/tmpfiles.d/etc.conf.m4 +++ b/tmpfiles.d/etc.conf.m4 @@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts @@ -49,5 +47,5 @@ index df8d42101..928105ea8 100644 m4_ifdef(`HAVE_PAM', C /etc/pam.d - - - - -- -2.16.2 +2.19.2 diff --git a/systemd-mini.changes b/systemd-mini.changes index 3bc7d4a0..7ae5e08b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Mar 5 17:51:02 UTC 2019 - Franck Bui + +- Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index a8ccf3f5..61198a9c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.205.ga1d86af7e +%define suse_version +suse.42.g15a1b4d58 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 239 +Version: 241 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -901,6 +901,7 @@ fi %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot +%{_bindir}/systemd-id128 %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount @@ -1048,11 +1049,16 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf + %config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%endif %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif @@ -1228,7 +1234,6 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id -%{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id diff --git a/systemd-v239+suse.205.ga1d86af7e.tar.xz b/systemd-v239+suse.205.ga1d86af7e.tar.xz deleted file mode 100644 index 26234af1..00000000 --- a/systemd-v239+suse.205.ga1d86af7e.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72e095c8eb7312cd4ac735a0186f091799c5ff66bc434e8c49ce0e3655538734 -size 4860080 diff --git a/systemd-v241+suse.42.g15a1b4d58.tar.xz b/systemd-v241+suse.42.g15a1b4d58.tar.xz new file mode 100644 index 00000000..a342ebea --- /dev/null +++ b/systemd-v241+suse.42.g15a1b4d58.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2650bb2798f0be894a4bada35eb7ea214e0f7c6e8b5974b9be432679e7e6a788 +size 5192288 diff --git a/systemd.changes b/systemd.changes index 3bc7d4a0..7ae5e08b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Mar 5 17:51:02 UTC 2019 - Franck Bui + +- Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1ab8bb15..aabd09bf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.205.ga1d86af7e +%define suse_version +suse.42.g15a1b4d58 %bcond_with gnuefi %if 0%{?bootstrap} @@ -51,7 +51,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 239 +Version: 241 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -899,6 +899,7 @@ fi %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot +%{_bindir}/systemd-id128 %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount @@ -1046,11 +1047,16 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf + %config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%endif %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif @@ -1226,7 +1232,6 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id -%{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id From 11d42612ddcfab2c9ff1c5096da9a11c43d557233e47a2860e06255f69bbe93c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 6 Mar 2019 15:22:13 +0000 Subject: [PATCH 417/991] Accepting request 682234 from home:fbui:branches:Base:System - systemd-mini: explicitly disable some of the systemd components OBS-URL: https://build.opensuse.org/request/show/682234 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1054 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 17 +++++++++++++---- systemd.changes | 9 +++++++++ systemd.spec | 17 +++++++++++++---- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 7ae5e08b..3f323ca5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Mar 6 14:59:22 UTC 2019 - Franck Bui + +- systemd-mini: explicitly disable some of the systemd components + + For some reasons, some build requirements get pulled in for the mini + variant now, enabling some parts of the code that were expected to + be turned OFF. + ------------------------------------------------------------------- Tue Mar 5 17:51:02 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 61198a9c..ab6669e4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -456,20 +456,29 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ - -Dmyhostname=false \ + -Dnss-myhostname=false \ %endif %if %{without coredump} -Dcoredump=false \ %endif +%if %{without gnuefi} + -Dgnu-efi=false \ +%endif +%if %{without importd} + -Dimportd=false \ +%endif +%if %{without journal_remote} + -Dremote=false \ +%endif +%if %{without machined} + -Dmachined=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif %if %{without resolved} -Dresolve=false \ %endif -%if %{without machined} - -Dmachined=false \ -%endif %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ diff --git a/systemd.changes b/systemd.changes index 7ae5e08b..3f323ca5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Mar 6 14:59:22 UTC 2019 - Franck Bui + +- systemd-mini: explicitly disable some of the systemd components + + For some reasons, some build requirements get pulled in for the mini + variant now, enabling some parts of the code that were expected to + be turned OFF. + ------------------------------------------------------------------- Tue Mar 5 17:51:02 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index aabd09bf..ca20d5a3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -454,20 +454,29 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ - -Dmyhostname=false \ + -Dnss-myhostname=false \ %endif %if %{without coredump} -Dcoredump=false \ %endif +%if %{without gnuefi} + -Dgnu-efi=false \ +%endif +%if %{without importd} + -Dimportd=false \ +%endif +%if %{without journal_remote} + -Dremote=false \ +%endif +%if %{without machined} + -Dmachined=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif %if %{without resolved} -Dresolve=false \ %endif -%if %{without machined} - -Dmachined=false \ -%endif %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ From 33c7b0a44d564e04fb8fee1773a0fff9f338dd71a88f6f380a9675b3dfc94d98 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 7 Mar 2019 15:11:46 +0000 Subject: [PATCH 418/991] Accepting request 682492 from home:fbui:branches:Base:System - Include the SUSE version along with the major version of systemd OBS-URL: https://build.opensuse.org/request/show/682492 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1055 --- systemd-mini.spec | 1 + systemd.changes | 8 ++++++++ systemd.spec | 1 + 3 files changed, 10 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index ab6669e4..73552c8c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -434,6 +434,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dversion-tag=%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ diff --git a/systemd.changes b/systemd.changes index 3f323ca5..0abc228e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Mar 7 14:27:59 UTC 2019 - Franck Bui + +- Include the SUSE version along with the major version of systemd + + $ systemctl --version + systemd 241 (+suse.42.g15a1b4d58) + ------------------------------------------------------------------- Wed Mar 6 14:59:22 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ca20d5a3..df08f889 100644 --- a/systemd.spec +++ b/systemd.spec @@ -432,6 +432,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dversion-tag=%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ From ccc92d85e7174cd9e27c319da76ed28a756aca337e82c28f2ca04c54f504dcf1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 7 Mar 2019 15:16:51 +0000 Subject: [PATCH 419/991] Accepting request 682511 from home:fbui:branches:Base:System - Include the SUSE version along with the major version of systemd OBS-URL: https://build.opensuse.org/request/show/682511 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1056 --- systemd-mini.changes | 11 +++++++++++ systemd.changes | 3 +++ 2 files changed, 14 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 3f323ca5..494967b2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu Mar 7 14:27:59 UTC 2019 - Franck Bui + +- Include the SUSE version along with the major version of systemd + + $ systemctl --version + systemd 241 (+suse.42.g15a1b4d58) + + Note that the SUSE version format maybe subject to change and as + such scripts should not try to parse it. + ------------------------------------------------------------------- Wed Mar 6 14:59:22 UTC 2019 - Franck Bui diff --git a/systemd.changes b/systemd.changes index 0abc228e..494967b2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -6,6 +6,9 @@ Thu Mar 7 14:27:59 UTC 2019 - Franck Bui $ systemctl --version systemd 241 (+suse.42.g15a1b4d58) + Note that the SUSE version format maybe subject to change and as + such scripts should not try to parse it. + ------------------------------------------------------------------- Wed Mar 6 14:59:22 UTC 2019 - Franck Bui From 41cf227d08232d37e7a34ac1f53fc183f4d68b3488b52508b6ff291b6b4cbfda Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 11 Mar 2019 13:12:09 +0000 Subject: [PATCH 420/991] Accepting request 683888 from home:fbui:branches:Base:System - Stop installing macros.systemd There're no points in installing this file if we remove it right after. - Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) OBS-URL: https://build.opensuse.org/request/show/683888 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1057 --- systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 17 ++++++++++------- systemd.changes | 13 +++++++++++++ systemd.spec | 17 ++++++++++------- 4 files changed, 46 insertions(+), 14 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 494967b2..fb31cad2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Mar 11 12:58:19 UTC 2019 - Franck Bui + +- Stop installing macros.systemd + + There're no points in installing this file if we remove it right + after. + +------------------------------------------------------------------- +Mon Mar 11 10:48:54 UTC 2019 - Franck Bui + +- Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) + ------------------------------------------------------------------- Thu Mar 7 14:27:59 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 73552c8c..1970f56d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -440,7 +440,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dsplit-usr=true \ -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ - -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ @@ -545,8 +545,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# Overwrite /etc/pam.d/systemd-user shipped by upstream with one -# customized for openSUSE distros. +# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs @@ -562,6 +561,13 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# Make sure systemd-network polkit rules file starts with a suitable +# number prefix so it takes precedence over our polkit-default-privs. +%if %{with networkd} +mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ + %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%endif + # since v207 /etc/sysctl.conf is no longer parsed (commit # 04bf3c1a60d82791), however backward compatibility is provided by # /usr/lib/sysctl.d/99-sysctl.conf. @@ -655,9 +661,6 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -# packaged in systemd-rpm-macros -rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd - # Make sure to disable all services by default. The Suse branding # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset @@ -1137,7 +1140,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} -%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/systemd.changes b/systemd.changes index 494967b2..fb31cad2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Mar 11 12:58:19 UTC 2019 - Franck Bui + +- Stop installing macros.systemd + + There're no points in installing this file if we remove it right + after. + +------------------------------------------------------------------- +Mon Mar 11 10:48:54 UTC 2019 - Franck Bui + +- Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) + ------------------------------------------------------------------- Thu Mar 7 14:27:59 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index df08f889..5ea0442f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -438,7 +438,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dsplit-usr=true \ -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ - -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ @@ -543,8 +543,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# Overwrite /etc/pam.d/systemd-user shipped by upstream with one -# customized for openSUSE distros. +# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs @@ -560,6 +559,13 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# Make sure systemd-network polkit rules file starts with a suitable +# number prefix so it takes precedence over our polkit-default-privs. +%if %{with networkd} +mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ + %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%endif + # since v207 /etc/sysctl.conf is no longer parsed (commit # 04bf3c1a60d82791), however backward compatibility is provided by # /usr/lib/sysctl.d/99-sysctl.conf. @@ -653,9 +659,6 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -# packaged in systemd-rpm-macros -rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd - # Make sure to disable all services by default. The Suse branding # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset @@ -1135,7 +1138,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} -%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy From f805efc4e5b0b52572883723d81b04130d22a0986d48f943eed8ad5f9f40c3b9 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 13 Mar 2019 08:08:15 +0000 Subject: [PATCH 421/991] Accepting request 683889 from Base:System OBS-URL: https://build.opensuse.org/request/show/683889 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=293 --- ...ward-compatibility-with-UserTasksMax.patch | 36 ++++++------- ...e-etc-resolv.conf-symlink-at-runtime.patch | 16 +++--- systemd-mini.changes | 38 ++++++++++++++ systemd-mini.spec | 52 +++++++++++++------ systemd-v239+suse.205.ga1d86af7e.tar.xz | 3 -- systemd-v241+suse.42.g15a1b4d58.tar.xz | 3 ++ systemd.changes | 38 ++++++++++++++ systemd.spec | 52 +++++++++++++------ 8 files changed, 174 insertions(+), 64 deletions(-) delete mode 100644 systemd-v239+suse.205.ga1d86af7e.tar.xz create mode 100644 systemd-v241+suse.42.g15a1b4d58.tar.xz diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch index a8e39cfd..04b042c6 100644 --- a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -1,4 +1,4 @@ -From d3acd5b49a6a321dc3b1512416132b8724b2fd20 Mon Sep 17 00:00:00 2001 +From 819616fabe327d4baf587337f427c24588192af5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Nov 2018 11:51:26 +0100 Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in @@ -30,27 +30,27 @@ Expect this generator to be dropped in the future. create mode 100644 src/login/compat-tasks-max-generator.c diff --git a/meson.build b/meson.build -index 5c7c165ba..7e3e8ca16 100644 +index eacadc1505..7c00470fff 100644 --- a/meson.build +++ b/meson.build -@@ -1701,6 +1701,14 @@ if conf.get('ENABLE_LOGIND') == 1 +@@ -1866,6 +1866,14 @@ if conf.get('ENABLE_LOGIND') == 1 + endif endif - endif -+executable('logind-compat-tasks-max-generator', -+ 'src/login/compat-tasks-max-generator.c', -+ include_directories : includes, -+ link_with : [libshared, liblogind_core], -+ install_rpath : rootlibexecdir, -+ install : true, -+ install_dir : systemgeneratordir) ++ executable('logind-compat-tasks-max-generator', ++ 'src/login/compat-tasks-max-generator.c', ++ include_directories : includes, ++ link_with : [libshared, liblogind_core], ++ install_rpath : rootlibexecdir, ++ install : true, ++ install_dir : systemgeneratordir) + - executable('systemd-user-runtime-dir', - user_runtime_dir_sources, - include_directories : includes, + executable('systemd-user-runtime-dir', + user_runtime_dir_sources, + include_directories : includes, diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c new file mode 100644 -index 000000000..404ca5f23 +index 0000000000..404ca5f237 --- /dev/null +++ b/src/login/compat-tasks-max-generator.c @@ -0,0 +1,66 @@ @@ -121,10 +121,10 @@ index 000000000..404ca5f23 + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index 66f5c896d..fe58b0398 100644 +index ae27bfb662..bbcac62783 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c -@@ -743,17 +743,50 @@ int config_parse_compat_user_tasks_max( +@@ -843,17 +843,50 @@ int config_parse_compat_user_tasks_max( void *data, void *userdata) { @@ -181,5 +181,5 @@ index 66f5c896d..fe58b0398 100644 return 0; } -- -2.19.0 +2.20.1 diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch index 09c040f2..df56368d 100644 --- a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -1,7 +1,7 @@ -From a482b51673d4344faf76a0460a69d7f273b36e47 Mon Sep 17 00:00:00 2001 +From 86aa208e639b119007332718aa4f453af2a061d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH 1/1] resolved: create /etc/resolv.conf symlink at runtime +Subject: [PATCH] resolved: create /etc/resolv.conf symlink at runtime If the symlink doesn't exists, and we are being started, let's create it to provie name resolution. @@ -12,19 +12,17 @@ a location used by some service that hasn't started yet, so we don't touch it in that case either. https://bugzilla.redhat.com/show_bug.cgi?id=1313085 - -[fbui: fixes boo#1024897] --- src/resolve/resolved.c | 4 ++++ tmpfiles.d/etc.conf.m4 | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index a4cda0b5e..68bca8077 100644 +index f4efddf8e5..3386e3bf67 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c -@@ -71,6 +71,10 @@ int main(int argc, char *argv[]) { - /* Drop privileges, but only if we have been started as root. If we are not running as root we assume all +@@ -45,6 +45,10 @@ static int run(int argc, char *argv[]) { + /* Drop privileges, but only if we have been started as root. If we are not running as root we assume most * privileges are already dropped. */ if (getuid() == 0) { + r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); @@ -35,7 +33,7 @@ index a4cda0b5e..68bca8077 100644 /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ r = drop_privileges(uid, gid, diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index df8d42101..928105ea8 100644 +index df8d42101c..928105ea8d 100644 --- a/tmpfiles.d/etc.conf.m4 +++ b/tmpfiles.d/etc.conf.m4 @@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts @@ -49,5 +47,5 @@ index df8d42101..928105ea8 100644 m4_ifdef(`HAVE_PAM', C /etc/pam.d - - - - -- -2.16.2 +2.19.2 diff --git a/systemd-mini.changes b/systemd-mini.changes index 3bc7d4a0..fb31cad2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Mon Mar 11 12:58:19 UTC 2019 - Franck Bui + +- Stop installing macros.systemd + + There're no points in installing this file if we remove it right + after. + +------------------------------------------------------------------- +Mon Mar 11 10:48:54 UTC 2019 - Franck Bui + +- Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) + +------------------------------------------------------------------- +Thu Mar 7 14:27:59 UTC 2019 - Franck Bui + +- Include the SUSE version along with the major version of systemd + + $ systemctl --version + systemd 241 (+suse.42.g15a1b4d58) + + Note that the SUSE version format maybe subject to change and as + such scripts should not try to parse it. + +------------------------------------------------------------------- +Wed Mar 6 14:59:22 UTC 2019 - Franck Bui + +- systemd-mini: explicitly disable some of the systemd components + + For some reasons, some build requirements get pulled in for the mini + variant now, enabling some parts of the code that were expected to + be turned OFF. + +------------------------------------------------------------------- +Tue Mar 5 17:51:02 UTC 2019 - Franck Bui + +- Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index a8ccf3f5..1970f56d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.205.ga1d86af7e +%define suse_version +suse.42.g15a1b4d58 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 239 +Version: 241 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -434,12 +434,13 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dversion-tag=%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ - -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ @@ -456,20 +457,29 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ - -Dmyhostname=false \ + -Dnss-myhostname=false \ %endif %if %{without coredump} -Dcoredump=false \ %endif +%if %{without gnuefi} + -Dgnu-efi=false \ +%endif +%if %{without importd} + -Dimportd=false \ +%endif +%if %{without journal_remote} + -Dremote=false \ +%endif +%if %{without machined} + -Dmachined=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif %if %{without resolved} -Dresolve=false \ %endif -%if %{without machined} - -Dmachined=false \ -%endif %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ @@ -535,8 +545,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# Overwrite /etc/pam.d/systemd-user shipped by upstream with one -# customized for openSUSE distros. +# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs @@ -552,6 +561,13 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# Make sure systemd-network polkit rules file starts with a suitable +# number prefix so it takes precedence over our polkit-default-privs. +%if %{with networkd} +mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ + %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%endif + # since v207 /etc/sysctl.conf is no longer parsed (commit # 04bf3c1a60d82791), however backward compatibility is provided by # /usr/lib/sysctl.d/99-sysctl.conf. @@ -645,9 +661,6 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -# packaged in systemd-rpm-macros -rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd - # Make sure to disable all services by default. The Suse branding # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset @@ -901,6 +914,7 @@ fi %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot +%{_bindir}/systemd-id128 %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount @@ -1048,11 +1062,16 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf + %config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%endif %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif @@ -1121,7 +1140,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} -%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy @@ -1228,7 +1247,6 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id -%{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id diff --git a/systemd-v239+suse.205.ga1d86af7e.tar.xz b/systemd-v239+suse.205.ga1d86af7e.tar.xz deleted file mode 100644 index 26234af1..00000000 --- a/systemd-v239+suse.205.ga1d86af7e.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72e095c8eb7312cd4ac735a0186f091799c5ff66bc434e8c49ce0e3655538734 -size 4860080 diff --git a/systemd-v241+suse.42.g15a1b4d58.tar.xz b/systemd-v241+suse.42.g15a1b4d58.tar.xz new file mode 100644 index 00000000..a342ebea --- /dev/null +++ b/systemd-v241+suse.42.g15a1b4d58.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2650bb2798f0be894a4bada35eb7ea214e0f7c6e8b5974b9be432679e7e6a788 +size 5192288 diff --git a/systemd.changes b/systemd.changes index 3bc7d4a0..fb31cad2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Mon Mar 11 12:58:19 UTC 2019 - Franck Bui + +- Stop installing macros.systemd + + There're no points in installing this file if we remove it right + after. + +------------------------------------------------------------------- +Mon Mar 11 10:48:54 UTC 2019 - Franck Bui + +- Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) + +------------------------------------------------------------------- +Thu Mar 7 14:27:59 UTC 2019 - Franck Bui + +- Include the SUSE version along with the major version of systemd + + $ systemctl --version + systemd 241 (+suse.42.g15a1b4d58) + + Note that the SUSE version format maybe subject to change and as + such scripts should not try to parse it. + +------------------------------------------------------------------- +Wed Mar 6 14:59:22 UTC 2019 - Franck Bui + +- systemd-mini: explicitly disable some of the systemd components + + For some reasons, some build requirements get pulled in for the mini + variant now, enabling some parts of the code that were expected to + be turned OFF. + +------------------------------------------------------------------- +Tue Mar 5 17:51:02 UTC 2019 - Franck Bui + +- Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1ab8bb15..5ea0442f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.205.ga1d86af7e +%define suse_version +suse.42.g15a1b4d58 %bcond_with gnuefi %if 0%{?bootstrap} @@ -51,7 +51,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 239 +Version: 241 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -432,12 +432,13 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dversion-tag=%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ - -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ + -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ @@ -454,20 +455,29 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ - -Dmyhostname=false \ + -Dnss-myhostname=false \ %endif %if %{without coredump} -Dcoredump=false \ %endif +%if %{without gnuefi} + -Dgnu-efi=false \ +%endif +%if %{without importd} + -Dimportd=false \ +%endif +%if %{without journal_remote} + -Dremote=false \ +%endif +%if %{without machined} + -Dmachined=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif %if %{without resolved} -Dresolve=false \ %endif -%if %{without machined} - -Dmachined=false \ -%endif %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ @@ -533,8 +543,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# Overwrite /etc/pam.d/systemd-user shipped by upstream with one -# customized for openSUSE distros. +# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs @@ -550,6 +559,13 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +# Make sure systemd-network polkit rules file starts with a suitable +# number prefix so it takes precedence over our polkit-default-privs. +%if %{with networkd} +mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ + %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%endif + # since v207 /etc/sysctl.conf is no longer parsed (commit # 04bf3c1a60d82791), however backward compatibility is provided by # /usr/lib/sysctl.d/99-sysctl.conf. @@ -643,9 +659,6 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} -# packaged in systemd-rpm-macros -rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd - # Make sure to disable all services by default. The Suse branding # presets package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset @@ -899,6 +912,7 @@ fi %{_bindir}/systemd-delta %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot +%{_bindir}/systemd-id128 %{_bindir}/systemd-path %{_bindir}/systemd-sysusers %{_bindir}/systemd-mount @@ -1046,11 +1060,16 @@ fi %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf + %config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%endif %if %{with resolved} %config(noreplace) %{_sysconfdir}/systemd/resolved.conf %endif @@ -1119,7 +1138,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} -%{_datadir}/polkit-1/rules.d/systemd-networkd.rules +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy @@ -1226,7 +1245,6 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id -%{_prefix}/lib/udev/collect %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id From a47f4d3c79a28e78f49b05886fe3796a922f8c0b8d14fbc40e78633282a87b6a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 12 Apr 2019 17:04:46 +0000 Subject: [PATCH 422/991] Accepting request 693791 from home:fbui:systemd:openSUSE-Factory - Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL 26c4f7191c bus: fix memleak on invalid message - systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) This stack trace is logged to the journal. OBS-URL: https://build.opensuse.org/request/show/693791 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1058 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 4 +++- systemd-v241+suse.42.g15a1b4d58.tar.xz | 3 --- systemd-v241+suse.46.g4e6e66ea9.tar.xz | 3 +++ systemd.changes | 16 ++++++++++++++++ systemd.spec | 4 +++- 6 files changed, 41 insertions(+), 5 deletions(-) delete mode 100644 systemd-v241+suse.42.g15a1b4d58.tar.xz create mode 100644 systemd-v241+suse.46.g4e6e66ea9.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index fb31cad2..3eb25d2f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Fri Apr 12 14:13:54 UTC 2019 - Franck Bui + +- Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 + + 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) + 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL + 26c4f7191c bus: fix memleak on invalid message + +------------------------------------------------------------------- +Tue Mar 19 16:11:44 UTC 2019 - Franck Bui + +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) + + This stack trace is logged to the journal. + ------------------------------------------------------------------- Mon Mar 11 12:58:19 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 1970f56d..168751e7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.42.g15a1b4d58 +%define suse_version +suse.46.g4e6e66ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -70,6 +70,7 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -454,6 +455,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dapparmor=auto \ -Dsmack=false \ -Dima=false \ + -Delfutils=auto \ %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ diff --git a/systemd-v241+suse.42.g15a1b4d58.tar.xz b/systemd-v241+suse.42.g15a1b4d58.tar.xz deleted file mode 100644 index a342ebea..00000000 --- a/systemd-v241+suse.42.g15a1b4d58.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2650bb2798f0be894a4bada35eb7ea214e0f7c6e8b5974b9be432679e7e6a788 -size 5192288 diff --git a/systemd-v241+suse.46.g4e6e66ea9.tar.xz b/systemd-v241+suse.46.g4e6e66ea9.tar.xz new file mode 100644 index 00000000..381248ae --- /dev/null +++ b/systemd-v241+suse.46.g4e6e66ea9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f2a3be6a40ed5994348c6db064051f09470bdfd0f0be6012b01209f26ccf3ee +size 5192692 diff --git a/systemd.changes b/systemd.changes index fb31cad2..3eb25d2f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Fri Apr 12 14:13:54 UTC 2019 - Franck Bui + +- Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 + + 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) + 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL + 26c4f7191c bus: fix memleak on invalid message + +------------------------------------------------------------------- +Tue Mar 19 16:11:44 UTC 2019 - Franck Bui + +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) + + This stack trace is logged to the journal. + ------------------------------------------------------------------- Mon Mar 11 12:58:19 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5ea0442f..03bf9e96 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.42.g15a1b4d58 +%define suse_version +suse.46.g4e6e66ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -68,6 +68,7 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -452,6 +453,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dapparmor=auto \ -Dsmack=false \ -Dima=false \ + -Delfutils=auto \ %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ From cff4d7df1b4d72c156da64509ed52edd1b4764617a0c3b3849d48a566c77390d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 15 Apr 2019 11:59:21 +0000 Subject: [PATCH 423/991] Accepting request 693792 from Base:System OBS-URL: https://build.opensuse.org/request/show/693792 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=294 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 4 +++- systemd-v241+suse.42.g15a1b4d58.tar.xz | 3 --- systemd-v241+suse.46.g4e6e66ea9.tar.xz | 3 +++ systemd.changes | 16 ++++++++++++++++ systemd.spec | 4 +++- 6 files changed, 41 insertions(+), 5 deletions(-) delete mode 100644 systemd-v241+suse.42.g15a1b4d58.tar.xz create mode 100644 systemd-v241+suse.46.g4e6e66ea9.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index fb31cad2..3eb25d2f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Fri Apr 12 14:13:54 UTC 2019 - Franck Bui + +- Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 + + 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) + 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL + 26c4f7191c bus: fix memleak on invalid message + +------------------------------------------------------------------- +Tue Mar 19 16:11:44 UTC 2019 - Franck Bui + +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) + + This stack trace is logged to the journal. + ------------------------------------------------------------------- Mon Mar 11 12:58:19 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 1970f56d..168751e7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.42.g15a1b4d58 +%define suse_version +suse.46.g4e6e66ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -70,6 +70,7 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -454,6 +455,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dapparmor=auto \ -Dsmack=false \ -Dima=false \ + -Delfutils=auto \ %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ diff --git a/systemd-v241+suse.42.g15a1b4d58.tar.xz b/systemd-v241+suse.42.g15a1b4d58.tar.xz deleted file mode 100644 index a342ebea..00000000 --- a/systemd-v241+suse.42.g15a1b4d58.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2650bb2798f0be894a4bada35eb7ea214e0f7c6e8b5974b9be432679e7e6a788 -size 5192288 diff --git a/systemd-v241+suse.46.g4e6e66ea9.tar.xz b/systemd-v241+suse.46.g4e6e66ea9.tar.xz new file mode 100644 index 00000000..381248ae --- /dev/null +++ b/systemd-v241+suse.46.g4e6e66ea9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f2a3be6a40ed5994348c6db064051f09470bdfd0f0be6012b01209f26ccf3ee +size 5192692 diff --git a/systemd.changes b/systemd.changes index fb31cad2..3eb25d2f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Fri Apr 12 14:13:54 UTC 2019 - Franck Bui + +- Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 + + 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) + 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL + 26c4f7191c bus: fix memleak on invalid message + +------------------------------------------------------------------- +Tue Mar 19 16:11:44 UTC 2019 - Franck Bui + +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) + + This stack trace is logged to the journal. + ------------------------------------------------------------------- Mon Mar 11 12:58:19 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5ea0442f..03bf9e96 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.42.g15a1b4d58 +%define suse_version +suse.46.g4e6e66ea9 %bcond_with gnuefi %if 0%{?bootstrap} @@ -68,6 +68,7 @@ BuildRequires: libxslt-tools BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -452,6 +453,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dapparmor=auto \ -Dsmack=false \ -Dima=false \ + -Delfutils=auto \ %if 0%{?bootstrap} -Dman=false \ -Dhtml=false \ From 957a8497e0900886f84fb429e4c13216448c5ef997bb374b10f566744623c028 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 2 May 2019 14:58:57 +0000 Subject: [PATCH 424/991] Accepting request 700167 from home:fbui:systemd:openSUSE-Factory - Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for details. - Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) The syntax of this directive is obsolete and should be replaced by "#!BuildIgnore: post-build-checks". However there's no good reasons to disable these SUSE extra checks, so let's re-enable them and fix the few errors it detected. OBS-URL: https://build.opensuse.org/request/show/700167 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1059 --- ...ward-compatibility-with-UserTasksMax.patch | 26 +++++----- debug-only-remove-new-policies.patch | 51 +++++++++++++++++++ systemd-mini.changes | 19 +++++++ systemd-mini.spec | 13 ++--- systemd-v241+suse.46.g4e6e66ea9.tar.xz | 3 -- systemd-v242+suse.56.g071c380dcc.tar.xz | 3 ++ systemd.changes | 19 +++++++ systemd.spec | 13 ++--- 8 files changed, 120 insertions(+), 27 deletions(-) create mode 100644 debug-only-remove-new-policies.patch delete mode 100644 systemd-v241+suse.46.g4e6e66ea9.tar.xz create mode 100644 systemd-v242+suse.56.g071c380dcc.tar.xz diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch index 04b042c6..553fd89f 100644 --- a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -1,4 +1,4 @@ -From 819616fabe327d4baf587337f427c24588192af5 Mon Sep 17 00:00:00 2001 +From ce59acc7743f1897a335449b718f9ede33add394 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Nov 2018 11:51:26 +0100 Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in @@ -23,17 +23,17 @@ The main advantages to use a generator are: Expect this generator to be dropped in the future. --- - meson.build | 8 ++++ - src/login/compat-tasks-max-generator.c | 66 ++++++++++++++++++++++++++ - src/login/logind-user.c | 43 +++++++++++++++-- - 3 files changed, 112 insertions(+), 5 deletions(-) + meson.build | 8 +++ + src/login/compat-tasks-max-generator.c | 68 ++++++++++++++++++++++++++ + src/login/logind-user.c | 43 ++++++++++++++-- + 3 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 src/login/compat-tasks-max-generator.c diff --git a/meson.build b/meson.build -index eacadc1505..7c00470fff 100644 +index dc6e970095..d834108f24 100644 --- a/meson.build +++ b/meson.build -@@ -1866,6 +1866,14 @@ if conf.get('ENABLE_LOGIND') == 1 +@@ -1885,6 +1885,14 @@ if conf.get('ENABLE_LOGIND') == 1 endif endif @@ -50,11 +50,13 @@ index eacadc1505..7c00470fff 100644 include_directories : includes, diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c new file mode 100644 -index 0000000000..404ca5f237 +index 0000000000..964d0596fb --- /dev/null +++ b/src/login/compat-tasks-max-generator.c -@@ -0,0 +1,66 @@ +@@ -0,0 +1,68 @@ +#include ++#include ++#include + +#include "alloc-util.h" +#include "dropin.h" @@ -121,10 +123,10 @@ index 0000000000..404ca5f237 + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index ae27bfb662..bbcac62783 100644 +index 045b6f0e17..1c19d6512b 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c -@@ -843,17 +843,50 @@ int config_parse_compat_user_tasks_max( +@@ -847,17 +847,50 @@ int config_parse_compat_user_tasks_max( void *data, void *userdata) { @@ -181,5 +183,5 @@ index ae27bfb662..bbcac62783 100644 return 0; } -- -2.20.1 +2.21.0 diff --git a/debug-only-remove-new-policies.patch b/debug-only-remove-new-policies.patch new file mode 100644 index 00000000..670f8f26 --- /dev/null +++ b/debug-only-remove-new-policies.patch @@ -0,0 +1,51 @@ +diff --git a/src/login/org.freedesktop.login1.policy b/src/login/org.freedesktop.login1.policy +index 6dc79aa32a..398fb7bc21 100644 +--- a/src/login/org.freedesktop.login1.policy ++++ b/src/login/org.freedesktop.login1.policy +@@ -337,17 +337,6 @@ + + + +- +- Set the reboot "reason" in the kernel +- Authentication is required to set the reboot "reason" in the kernel. +- +- auth_admin_keep +- auth_admin_keep +- yes +- +- org.freedesktop.login1.reboot +- +- + + Indicate to the firmware to boot to setup interface + Authentication is required to indicate to the firmware to boot to setup interface. +@@ -359,28 +348,6 @@ + org.freedesktop.login1.reboot + + +- +- Indicate to the boot loader to boot to the boot loader menu +- Authentication is required to indicate to the boot loader to boot to the boot loader menu. +- +- auth_admin_keep +- auth_admin_keep +- yes +- +- org.freedesktop.login1.reboot +- +- +- +- Indicate to the boot loader to boot a specific entry +- Authentication is required to indicate to the boot loader to boot into a specific boot loader entry. +- +- auth_admin_keep +- auth_admin_keep +- yes +- +- org.freedesktop.login1.reboot +- +- + + Set a wall message + Authentication is required to set a wall message diff --git a/systemd-mini.changes b/systemd-mini.changes index 3eb25d2f..93be9260 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 2 13:12:23 UTC 2019 - Franck Bui + +- Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for + details. + +------------------------------------------------------------------- +Wed Apr 24 07:23:44 UTC 2019 - Franck Bui + +- Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) + + The syntax of this directive is obsolete and should be replaced by + "#!BuildIgnore: post-build-checks". + + However there's no good reasons to disable these SUSE extra checks, + so let's re-enable them and fix the few errors it detected. + ------------------------------------------------------------------- Fri Apr 12 14:13:54 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 168751e7..43d7d455 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.46.g4e6e66ea9 +%define suse_version +suse.56.g071c380dcc %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,14 +53,13 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 241 +Version: 242 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} -BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -167,6 +166,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch3: debug-only-remove-new-policies.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -606,6 +606,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog + # Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -942,6 +943,7 @@ fi %{_bindir}/systemd-cat %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd @@ -1090,11 +1092,9 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif @@ -1142,6 +1142,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} +%dir %{_datadir}/polkit-1/rules.d %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} @@ -1263,7 +1264,7 @@ fi %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ -%ghost %{_sysconfdir}/udev/hwdb.bin +%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} %{_mandir}/man5/udev* diff --git a/systemd-v241+suse.46.g4e6e66ea9.tar.xz b/systemd-v241+suse.46.g4e6e66ea9.tar.xz deleted file mode 100644 index 381248ae..00000000 --- a/systemd-v241+suse.46.g4e6e66ea9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f2a3be6a40ed5994348c6db064051f09470bdfd0f0be6012b01209f26ccf3ee -size 5192692 diff --git a/systemd-v242+suse.56.g071c380dcc.tar.xz b/systemd-v242+suse.56.g071c380dcc.tar.xz new file mode 100644 index 00000000..980c50a4 --- /dev/null +++ b/systemd-v242+suse.56.g071c380dcc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25e46b15e7c13e0c8492a3593b74257f8586a1124bf094b1c6de12ee2c4a735b +size 5322252 diff --git a/systemd.changes b/systemd.changes index 3eb25d2f..93be9260 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 2 13:12:23 UTC 2019 - Franck Bui + +- Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for + details. + +------------------------------------------------------------------- +Wed Apr 24 07:23:44 UTC 2019 - Franck Bui + +- Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) + + The syntax of this directive is obsolete and should be replaced by + "#!BuildIgnore: post-build-checks". + + However there's no good reasons to disable these SUSE extra checks, + so let's re-enable them and fix the few errors it detected. + ------------------------------------------------------------------- Fri Apr 12 14:13:54 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 03bf9e96..61ceaf5e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.46.g4e6e66ea9 +%define suse_version +suse.56.g071c380dcc %bcond_with gnuefi %if 0%{?bootstrap} @@ -51,14 +51,13 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 241 +Version: 242 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} -BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -165,6 +164,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch3: debug-only-remove-new-policies.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -604,6 +604,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog + # Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -940,6 +941,7 @@ fi %{_bindir}/systemd-cat %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd @@ -1088,11 +1090,9 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif @@ -1140,6 +1140,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} +%dir %{_datadir}/polkit-1/rules.d %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} @@ -1261,7 +1262,7 @@ fi %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ -%ghost %{_sysconfdir}/udev/hwdb.bin +%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} %{_mandir}/man5/udev* From c82f5f292f0c12b903dceb0f0590042039f29674408d880b77caa3f4099c8a08 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 9 May 2019 07:17:05 +0000 Subject: [PATCH 425/991] Accepting request 701727 from home:fbui:systemd:openSUSE-Factory - Add debug-only-remove-new-policies.patch A temporary patch to suppress the new DBUS methods introduced by v242 until they are reviewed and whitelisted by the secteam. - Add a comment explaining why static enablement symlinks in /etc are suppressed Also remove any /etc/systemd/system/*.requires/ symlinks for the same reason. - preset remote-cryptsetup.target during package installation This target is supposed to be part of the targets that should be enabled (or not depending on the presets) at package installation. OBS-URL: https://build.opensuse.org/request/show/701727 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1060 --- systemd-mini.changes | 24 ++++++++++++++++++++++++ systemd-mini.spec | 6 +++++- systemd.changes | 24 ++++++++++++++++++++++++ systemd.spec | 6 +++++- 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 93be9260..0cc3558c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Thu May 9 07:13:44 UTC 2019 - Franck Bui + +- Add debug-only-remove-new-policies.patch + + A temporary patch to suppress the new DBUS methods introduced by + v242 until they are reviewed and whitelisted by the secteam. + +------------------------------------------------------------------- +Thu May 9 07:11:08 UTC 2019 - Franck Bui + +- Add a comment explaining why static enablement symlinks in /etc are suppressed + + Also remove any /etc/systemd/system/*.requires/ symlinks for the + same reason. + +------------------------------------------------------------------- +Thu May 2 15:24:45 UTC 2019 - Franck Bui + +- preset remote-cryptsetup.target during package installation + + This target is supposed to be part of the targets that should be + enabled (or not depending on the presets) at package installation. + ------------------------------------------------------------------- Thu May 2 13:12:23 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 43d7d455..8ef239db 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -544,7 +544,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -rm -rf %{buildroot}/etc/systemd/system/*.target.wants + +# Make sure we don't ship static enablement symlinks in /etc during +# installation, presets should be honoured instead. +rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. @@ -733,6 +736,7 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. +%systemd_post remote-cryptsetup.target %systemd_post getty@.service %systemd_post machines.target %systemd_post remote-fs.target diff --git a/systemd.changes b/systemd.changes index 93be9260..0cc3558c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Thu May 9 07:13:44 UTC 2019 - Franck Bui + +- Add debug-only-remove-new-policies.patch + + A temporary patch to suppress the new DBUS methods introduced by + v242 until they are reviewed and whitelisted by the secteam. + +------------------------------------------------------------------- +Thu May 9 07:11:08 UTC 2019 - Franck Bui + +- Add a comment explaining why static enablement symlinks in /etc are suppressed + + Also remove any /etc/systemd/system/*.requires/ symlinks for the + same reason. + +------------------------------------------------------------------- +Thu May 2 15:24:45 UTC 2019 - Franck Bui + +- preset remote-cryptsetup.target during package installation + + This target is supposed to be part of the targets that should be + enabled (or not depending on the presets) at package installation. + ------------------------------------------------------------------- Thu May 2 13:12:23 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 61ceaf5e..6c5b184e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -542,7 +542,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -rm -rf %{buildroot}/etc/systemd/system/*.target.wants + +# Make sure we don't ship static enablement symlinks in /etc during +# installation, presets should be honoured instead. +rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. @@ -731,6 +734,7 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. +%systemd_post remote-cryptsetup.target %systemd_post getty@.service %systemd_post machines.target %systemd_post remote-fs.target From 518e25ee50bc12bc3fa6d9cca5c8c2b3166b527b65f6974521b4c425f48b6955 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 13 May 2019 08:55:25 +0000 Subject: [PATCH 426/991] Accepting request 702610 from home:fbui:systemd:openSUSE-Factory - Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner Otherwise the "post build checks" would complain and would force systemd to own this directory. The owner should still be "polkit" and the perms should be in sync with the perm set by polkit itself. OBS-URL: https://build.opensuse.org/request/show/702610 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1061 --- systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 2 +- systemd.changes | 10 ++++++++++ systemd.spec | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0cc3558c..72ff8261 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon May 13 08:46:38 UTC 2019 - Franck Bui + +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner + + Otherwise the "post build checks" would complain and would force + systemd to own this directory. The owner should still be "polkit" + and the perms should be in sync with the perm set by polkit + itself. + ------------------------------------------------------------------- Thu May 9 07:13:44 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8ef239db..8d335cad 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -65,6 +65,7 @@ BuildRequires: kbd BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml @@ -1146,7 +1147,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} -%dir %{_datadir}/polkit-1/rules.d %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} diff --git a/systemd.changes b/systemd.changes index 0cc3558c..72ff8261 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon May 13 08:46:38 UTC 2019 - Franck Bui + +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner + + Otherwise the "post build checks" would complain and would force + systemd to own this directory. The owner should still be "polkit" + and the perms should be in sync with the perm set by polkit + itself. + ------------------------------------------------------------------- Thu May 9 07:13:44 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6c5b184e..38e15bd9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -63,6 +63,7 @@ BuildRequires: kbd BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml @@ -1144,7 +1145,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} -%dir %{_datadir}/polkit-1/rules.d %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} From 0bd47ce3e26fb24b8e9ffa55c72636d8c8018a0a75101882dca3508be468ceae Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 14 May 2019 15:44:47 +0000 Subject: [PATCH 427/991] Accepting request 702859 from home:fbui:systemd:openSUSE-Factory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs c90a2e9793 util-lib: fix a typo in rdrand 4db1cc9d46 random-util: rename "err" to "success" 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL 298d13df7e network: remove redunant link name in message 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist 29d355e755 fstab-generator: Prevent double free of reused FILE* f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size 5240972d8d units: drop reference to sushell man page 0a26de5e33 codespell: fix spelling errors 582de105c8 nspawn-expose-ports: fix a typo in error message OBS-URL: https://build.opensuse.org/request/show/702859 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1062 --- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v242+suse.56.g071c380dcc.tar.xz | 3 --- systemd-v242+suse.75.g9984a86d0d.tar.xz | 3 +++ systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 49 insertions(+), 5 deletions(-) delete mode 100644 systemd-v242+suse.56.g071c380dcc.tar.xz create mode 100644 systemd-v242+suse.75.g9984a86d0d.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 72ff8261..51e13e4c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue May 14 14:27:12 UTC 2019 - Franck Bui + +- Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 + + f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs + c90a2e9793 util-lib: fix a typo in rdrand + 4db1cc9d46 random-util: rename "err" to "success" + 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it + 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists + c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL + 298d13df7e network: remove redunant link name in message + 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series + 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" + fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist + 29d355e755 fstab-generator: Prevent double free of reused FILE* + f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp + 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size + 5240972d8d units: drop reference to sushell man page + 0a26de5e33 codespell: fix spelling errors + 582de105c8 nspawn-expose-ports: fix a typo in error message + ------------------------------------------------------------------- Mon May 13 08:46:38 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8d335cad..8ff76041 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.56.g071c380dcc +%define suse_version +suse.75.g9984a86d0d %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v242+suse.56.g071c380dcc.tar.xz b/systemd-v242+suse.56.g071c380dcc.tar.xz deleted file mode 100644 index 980c50a4..00000000 --- a/systemd-v242+suse.56.g071c380dcc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25e46b15e7c13e0c8492a3593b74257f8586a1124bf094b1c6de12ee2c4a735b -size 5322252 diff --git a/systemd-v242+suse.75.g9984a86d0d.tar.xz b/systemd-v242+suse.75.g9984a86d0d.tar.xz new file mode 100644 index 00000000..50615f14 --- /dev/null +++ b/systemd-v242+suse.75.g9984a86d0d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5ad0c9c95ffa3b089676482ccdf91c72d6e2a01f4f97eece0264a737afc9af5 +size 5323056 diff --git a/systemd.changes b/systemd.changes index 72ff8261..51e13e4c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue May 14 14:27:12 UTC 2019 - Franck Bui + +- Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 + + f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs + c90a2e9793 util-lib: fix a typo in rdrand + 4db1cc9d46 random-util: rename "err" to "success" + 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it + 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists + c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL + 298d13df7e network: remove redunant link name in message + 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series + 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" + fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist + 29d355e755 fstab-generator: Prevent double free of reused FILE* + f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp + 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size + 5240972d8d units: drop reference to sushell man page + 0a26de5e33 codespell: fix spelling errors + 582de105c8 nspawn-expose-ports: fix a typo in error message + ------------------------------------------------------------------- Mon May 13 08:46:38 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 38e15bd9..245e57c2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.56.g071c380dcc +%define suse_version +suse.75.g9984a86d0d %bcond_with gnuefi %if 0%{?bootstrap} From bfe5264cbd1e54bbd84b616482bfd8fa907754e7cda71d6cfcd8a3580fcbce73 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 21 May 2019 08:22:34 +0000 Subject: [PATCH 428/991] Accepting request 702871 from Base:System OBS-URL: https://build.opensuse.org/request/show/702871 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=295 --- ...ward-compatibility-with-UserTasksMax.patch | 26 ++++--- debug-only-remove-new-policies.patch | 51 +++++++++++++ systemd-mini.changes | 75 +++++++++++++++++++ systemd-mini.spec | 19 +++-- systemd-v241+suse.46.g4e6e66ea9.tar.xz | 3 - systemd-v242+suse.75.g9984a86d0d.tar.xz | 3 + systemd.changes | 75 +++++++++++++++++++ systemd.spec | 19 +++-- 8 files changed, 242 insertions(+), 29 deletions(-) create mode 100644 debug-only-remove-new-policies.patch delete mode 100644 systemd-v241+suse.46.g4e6e66ea9.tar.xz create mode 100644 systemd-v242+suse.75.g9984a86d0d.tar.xz diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch index 04b042c6..553fd89f 100644 --- a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -1,4 +1,4 @@ -From 819616fabe327d4baf587337f427c24588192af5 Mon Sep 17 00:00:00 2001 +From ce59acc7743f1897a335449b718f9ede33add394 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Nov 2018 11:51:26 +0100 Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in @@ -23,17 +23,17 @@ The main advantages to use a generator are: Expect this generator to be dropped in the future. --- - meson.build | 8 ++++ - src/login/compat-tasks-max-generator.c | 66 ++++++++++++++++++++++++++ - src/login/logind-user.c | 43 +++++++++++++++-- - 3 files changed, 112 insertions(+), 5 deletions(-) + meson.build | 8 +++ + src/login/compat-tasks-max-generator.c | 68 ++++++++++++++++++++++++++ + src/login/logind-user.c | 43 ++++++++++++++-- + 3 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 src/login/compat-tasks-max-generator.c diff --git a/meson.build b/meson.build -index eacadc1505..7c00470fff 100644 +index dc6e970095..d834108f24 100644 --- a/meson.build +++ b/meson.build -@@ -1866,6 +1866,14 @@ if conf.get('ENABLE_LOGIND') == 1 +@@ -1885,6 +1885,14 @@ if conf.get('ENABLE_LOGIND') == 1 endif endif @@ -50,11 +50,13 @@ index eacadc1505..7c00470fff 100644 include_directories : includes, diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c new file mode 100644 -index 0000000000..404ca5f237 +index 0000000000..964d0596fb --- /dev/null +++ b/src/login/compat-tasks-max-generator.c -@@ -0,0 +1,66 @@ +@@ -0,0 +1,68 @@ +#include ++#include ++#include + +#include "alloc-util.h" +#include "dropin.h" @@ -121,10 +123,10 @@ index 0000000000..404ca5f237 + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index ae27bfb662..bbcac62783 100644 +index 045b6f0e17..1c19d6512b 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c -@@ -843,17 +843,50 @@ int config_parse_compat_user_tasks_max( +@@ -847,17 +847,50 @@ int config_parse_compat_user_tasks_max( void *data, void *userdata) { @@ -181,5 +183,5 @@ index ae27bfb662..bbcac62783 100644 return 0; } -- -2.20.1 +2.21.0 diff --git a/debug-only-remove-new-policies.patch b/debug-only-remove-new-policies.patch new file mode 100644 index 00000000..670f8f26 --- /dev/null +++ b/debug-only-remove-new-policies.patch @@ -0,0 +1,51 @@ +diff --git a/src/login/org.freedesktop.login1.policy b/src/login/org.freedesktop.login1.policy +index 6dc79aa32a..398fb7bc21 100644 +--- a/src/login/org.freedesktop.login1.policy ++++ b/src/login/org.freedesktop.login1.policy +@@ -337,17 +337,6 @@ + + + +- +- Set the reboot "reason" in the kernel +- Authentication is required to set the reboot "reason" in the kernel. +- +- auth_admin_keep +- auth_admin_keep +- yes +- +- org.freedesktop.login1.reboot +- +- + + Indicate to the firmware to boot to setup interface + Authentication is required to indicate to the firmware to boot to setup interface. +@@ -359,28 +348,6 @@ + org.freedesktop.login1.reboot + + +- +- Indicate to the boot loader to boot to the boot loader menu +- Authentication is required to indicate to the boot loader to boot to the boot loader menu. +- +- auth_admin_keep +- auth_admin_keep +- yes +- +- org.freedesktop.login1.reboot +- +- +- +- Indicate to the boot loader to boot a specific entry +- Authentication is required to indicate to the boot loader to boot into a specific boot loader entry. +- +- auth_admin_keep +- auth_admin_keep +- yes +- +- org.freedesktop.login1.reboot +- +- + + Set a wall message + Authentication is required to set a wall message diff --git a/systemd-mini.changes b/systemd-mini.changes index 3eb25d2f..51e13e4c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,78 @@ +------------------------------------------------------------------- +Tue May 14 14:27:12 UTC 2019 - Franck Bui + +- Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 + + f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs + c90a2e9793 util-lib: fix a typo in rdrand + 4db1cc9d46 random-util: rename "err" to "success" + 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it + 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists + c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL + 298d13df7e network: remove redunant link name in message + 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series + 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" + fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist + 29d355e755 fstab-generator: Prevent double free of reused FILE* + f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp + 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size + 5240972d8d units: drop reference to sushell man page + 0a26de5e33 codespell: fix spelling errors + 582de105c8 nspawn-expose-ports: fix a typo in error message + +------------------------------------------------------------------- +Mon May 13 08:46:38 UTC 2019 - Franck Bui + +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner + + Otherwise the "post build checks" would complain and would force + systemd to own this directory. The owner should still be "polkit" + and the perms should be in sync with the perm set by polkit + itself. + +------------------------------------------------------------------- +Thu May 9 07:13:44 UTC 2019 - Franck Bui + +- Add debug-only-remove-new-policies.patch + + A temporary patch to suppress the new DBUS methods introduced by + v242 until they are reviewed and whitelisted by the secteam. + +------------------------------------------------------------------- +Thu May 9 07:11:08 UTC 2019 - Franck Bui + +- Add a comment explaining why static enablement symlinks in /etc are suppressed + + Also remove any /etc/systemd/system/*.requires/ symlinks for the + same reason. + +------------------------------------------------------------------- +Thu May 2 15:24:45 UTC 2019 - Franck Bui + +- preset remote-cryptsetup.target during package installation + + This target is supposed to be part of the targets that should be + enabled (or not depending on the presets) at package installation. + +------------------------------------------------------------------- +Thu May 2 13:12:23 UTC 2019 - Franck Bui + +- Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for + details. + +------------------------------------------------------------------- +Wed Apr 24 07:23:44 UTC 2019 - Franck Bui + +- Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) + + The syntax of this directive is obsolete and should be replaced by + "#!BuildIgnore: post-build-checks". + + However there's no good reasons to disable these SUSE extra checks, + so let's re-enable them and fix the few errors it detected. + ------------------------------------------------------------------- Fri Apr 12 14:13:54 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 168751e7..8ff76041 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.46.g4e6e66ea9 +%define suse_version +suse.75.g9984a86d0d %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,19 +53,19 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 241 +Version: 242 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} -BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml @@ -167,6 +167,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch3: debug-only-remove-new-policies.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -544,7 +545,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -rm -rf %{buildroot}/etc/systemd/system/*.target.wants + +# Make sure we don't ship static enablement symlinks in /etc during +# installation, presets should be honoured instead. +rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. @@ -606,6 +610,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog + # Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -732,6 +737,7 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. +%systemd_post remote-cryptsetup.target %systemd_post getty@.service %systemd_post machines.target %systemd_post remote-fs.target @@ -942,6 +948,7 @@ fi %{_bindir}/systemd-cat %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd @@ -1090,11 +1097,9 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif @@ -1263,7 +1268,7 @@ fi %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ -%ghost %{_sysconfdir}/udev/hwdb.bin +%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} %{_mandir}/man5/udev* diff --git a/systemd-v241+suse.46.g4e6e66ea9.tar.xz b/systemd-v241+suse.46.g4e6e66ea9.tar.xz deleted file mode 100644 index 381248ae..00000000 --- a/systemd-v241+suse.46.g4e6e66ea9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f2a3be6a40ed5994348c6db064051f09470bdfd0f0be6012b01209f26ccf3ee -size 5192692 diff --git a/systemd-v242+suse.75.g9984a86d0d.tar.xz b/systemd-v242+suse.75.g9984a86d0d.tar.xz new file mode 100644 index 00000000..50615f14 --- /dev/null +++ b/systemd-v242+suse.75.g9984a86d0d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5ad0c9c95ffa3b089676482ccdf91c72d6e2a01f4f97eece0264a737afc9af5 +size 5323056 diff --git a/systemd.changes b/systemd.changes index 3eb25d2f..51e13e4c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,78 @@ +------------------------------------------------------------------- +Tue May 14 14:27:12 UTC 2019 - Franck Bui + +- Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 + + f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs + c90a2e9793 util-lib: fix a typo in rdrand + 4db1cc9d46 random-util: rename "err" to "success" + 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it + 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists + c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL + 298d13df7e network: remove redunant link name in message + 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series + 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" + fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist + 29d355e755 fstab-generator: Prevent double free of reused FILE* + f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp + 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size + 5240972d8d units: drop reference to sushell man page + 0a26de5e33 codespell: fix spelling errors + 582de105c8 nspawn-expose-ports: fix a typo in error message + +------------------------------------------------------------------- +Mon May 13 08:46:38 UTC 2019 - Franck Bui + +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner + + Otherwise the "post build checks" would complain and would force + systemd to own this directory. The owner should still be "polkit" + and the perms should be in sync with the perm set by polkit + itself. + +------------------------------------------------------------------- +Thu May 9 07:13:44 UTC 2019 - Franck Bui + +- Add debug-only-remove-new-policies.patch + + A temporary patch to suppress the new DBUS methods introduced by + v242 until they are reviewed and whitelisted by the secteam. + +------------------------------------------------------------------- +Thu May 9 07:11:08 UTC 2019 - Franck Bui + +- Add a comment explaining why static enablement symlinks in /etc are suppressed + + Also remove any /etc/systemd/system/*.requires/ symlinks for the + same reason. + +------------------------------------------------------------------- +Thu May 2 15:24:45 UTC 2019 - Franck Bui + +- preset remote-cryptsetup.target during package installation + + This target is supposed to be part of the targets that should be + enabled (or not depending on the presets) at package installation. + +------------------------------------------------------------------- +Thu May 2 13:12:23 UTC 2019 - Franck Bui + +- Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for + details. + +------------------------------------------------------------------- +Wed Apr 24 07:23:44 UTC 2019 - Franck Bui + +- Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) + + The syntax of this directive is obsolete and should be replaced by + "#!BuildIgnore: post-build-checks". + + However there's no good reasons to disable these SUSE extra checks, + so let's re-enable them and fix the few errors it detected. + ------------------------------------------------------------------- Fri Apr 12 14:13:54 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 03bf9e96..245e57c2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.46.g4e6e66ea9 +%define suse_version +suse.75.g9984a86d0d %bcond_with gnuefi %if 0%{?bootstrap} @@ -51,19 +51,19 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 241 +Version: 242 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} -BuildRequires: -post-build-checks BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools +BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3 BuildRequires: python3-lxml @@ -165,6 +165,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch3: debug-only-remove-new-policies.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -542,7 +543,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -rm -rf %{buildroot}/etc/systemd/system/*.target.wants + +# Make sure we don't ship static enablement symlinks in /etc during +# installation, presets should be honoured instead. +rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. @@ -604,6 +608,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d # Make sure directories in /var exist mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog + # Create ghost databases touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin @@ -730,6 +735,7 @@ systemctl daemon-reexec || : # Create default config in /etc at first install. # Later package updates should not overwrite these settings. +%systemd_post remote-cryptsetup.target %systemd_post getty@.service %systemd_post machines.target %systemd_post remote-fs.target @@ -940,6 +946,7 @@ fi %{_bindir}/systemd-cat %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd @@ -1088,11 +1095,9 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %endif %if %{with resolved} -%{_sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif @@ -1261,7 +1266,7 @@ fi %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ -%ghost %{_sysconfdir}/udev/hwdb.bin +%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! 0%{?bootstrap} %{_mandir}/man5/udev* From 2ac7267edc003655d86ae53e3e89ac13476e8001c0910924a6a702bc76a223df Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 27 May 2019 12:28:39 +0000 Subject: [PATCH 429/991] Accepting request 705662 from home:fbui:systemd:openSUSE-Factory - Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) All remaining packages have been fixed so they don't rely on the insser-generator to generate proper deps. So let's drop it as all services should carry the proper dependencies itself. - Drop debug-only-remove-new-policies.patch The new DBUS methods have been reviewed by the security team. OBS-URL: https://build.opensuse.org/request/show/705662 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1063 --- 0001-Revert-insserv.conf-generator.patch | 365 +++++++++++++++++++++++ debug-only-remove-new-policies.patch | 51 ---- systemd-mini.changes | 16 + systemd-mini.spec | 2 +- systemd.changes | 16 + systemd.spec | 2 +- 6 files changed, 399 insertions(+), 53 deletions(-) create mode 100644 0001-Revert-insserv.conf-generator.patch delete mode 100644 debug-only-remove-new-policies.patch diff --git a/0001-Revert-insserv.conf-generator.patch b/0001-Revert-insserv.conf-generator.patch new file mode 100644 index 00000000..cdcd3409 --- /dev/null +++ b/0001-Revert-insserv.conf-generator.patch @@ -0,0 +1,365 @@ +From e143d8271cd8d8dd862a627754d3daa2d6f9cd48 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 May 2019 10:54:26 +0200 +Subject: [PATCH] Revert "insserv.conf generator" + +This reverts commit dbb7a2e71bec6f6400f2b67cc409b22915fe8c72. + +The only (system) packages which were still relying on the insserv-generator +have been fixed, see bsc#1052837 for the details. + +[fbui: fixes bsc#1052837] +--- + meson.build | 8 - + src/insserv-generator/insserv-generator.c | 320 ---------------------- + 2 files changed, 328 deletions(-) + delete mode 100644 src/insserv-generator/insserv-generator.c + +diff --git a/meson.build b/meson.build +index 54664661b5..4377fe8419 100644 +--- a/meson.build ++++ b/meson.build +@@ -2083,14 +2083,6 @@ if conf.get('HAVE_SYSV_COMPAT') == 1 + install_rpath : rootlibexecdir, + install : true, + install_dir : systemgeneratordir) +- +- executable('systemd-insserv-generator', +- 'src/insserv-generator/insserv-generator.c', +- include_directories : includes, +- link_with : [libshared], +- install_rpath : rootlibexecdir, +- install : true, +- install_dir : systemgeneratordir) + endif + + if conf.get('ENABLE_HOSTNAMED') == 1 +diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c +deleted file mode 100644 +index 23b5a8255a..0000000000 +--- a/src/insserv-generator/insserv-generator.c ++++ /dev/null +@@ -1,320 +0,0 @@ +-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ +- +-/*** +- This file is part of systemd. +- +- Copyright 2012 Lennart Poettering +- +- systemd is free software; you can redistribute it and/or modify it +- under the terms of the GNU Lesser General Public License as published by +- the Free Software Foundation; either version 2.1 of the License, or +- (at your option) any later version. +- +- systemd is distributed in the hope that it will be useful, but +- WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public License +- along with systemd; If not, see . +- ***/ +- +-#include +-#include +-#include +-#include +- +-#include "alloc-util.h" +-#include "mkdir.h" +-#include "log.h" +-#include "fileio.h" +-#include "unit-name.h" +-#include "special.h" +-#include "path-util.h" +-#include "util.h" +-#include "fd-util.h" +-#include "string-util.h" +-#include "strv.h" +- +-static const char *arg_dest = "/tmp"; +- +-static char *sysv_translate_name(const char *name) { +- char *r; +- +- r = new(char, strlen(name) + sizeof(".service")); +- if (!r) +- return NULL; +- +- if (endswith(name, ".sh")) +- /* Drop .sh suffix */ +- strcpy(stpcpy(r, name) - 3, ".service"); +- if (startswith(name, "boot.")) +- /* Drop SuSE-style boot. prefix */ +- strcpy(stpcpy(r, name + 5), ".service"); +- else +- /* Normal init script name */ +- strcpy(stpcpy(r, name), ".service"); +- +- return r; +-} +- +-static int sysv_translate_facility(const char *name, const char *filename, char **_r) { +- +- /* We silently ignore the $ prefix here. According to the LSB +- * spec it simply indicates whether something is a +- * standardized name or a distribution-specific one. Since we +- * just follow what already exists and do not introduce new +- * uses or names we don't care who introduced a new name. */ +- +- static const char * const table[] = { +- /* LSB defined facilities */ +- "local_fs", NULL, +- "network", SPECIAL_NETWORK_ONLINE_TARGET, +- "named", SPECIAL_NSS_LOOKUP_TARGET, +- "portmap", SPECIAL_RPCBIND_TARGET, +- "remote_fs", SPECIAL_REMOTE_FS_TARGET, +- "syslog", NULL, +- "time", SPECIAL_TIME_SYNC_TARGET, +- }; +- +- unsigned i; +- int e; +- char *r; +- const char *n; +- +- assert(name); +- assert(_r); +- +- n = *name == '$' ? name + 1 : name; +- +- for (i = 0; i < ELEMENTSOF(table); i += 2) { +- +- if (!streq(table[i], n)) +- continue; +- +- if (!table[i+1]) +- return 0; +- +- r = strdup(table[i+1]); +- if (!r) +- return log_oom(); +- +- goto finish; +- } +- +- /* If we don't know this name, fallback heuristics to figure +- * out whether something is a target or a service alias. */ +- +- if (*name == '$') { +- if (!unit_prefix_is_valid(n)) +- return -EINVAL; +- +- /* Facilities starting with $ are most likely targets */ +- e = unit_name_build(n, NULL, ".target", &r); +- if (e < 0) +- return log_error_errno(e, "Failed to generate unit name: %m"); +- +- } else if (filename && streq(name, filename)) +- /* Names equaling the file name of the services are redundant */ +- return 0; +- else +- /* Everything else we assume to be normal service names */ +- r = sysv_translate_name(n); +- +- if (!r) +- return -ENOMEM; +- +-finish: +- *_r = r; +- +- return 1; +-} +- +- +- +-static int parse_insserv_conf(const char* filename) { +- _cleanup_fclose_ FILE *f = NULL; +- int r; +- +- if (!(f = fopen(filename, "re"))) { +- log_debug("Failed to open file %s", filename); +- r = errno == ENOENT ? 0 : -errno; +- return r; +- } +- +- while (!feof(f)) { +- char l[LINE_MAX], *t; +- _cleanup_strv_free_ char **parsed = NULL; +- +- if (!fgets(l, sizeof(l), f)) { +- if (feof(f)) +- break; +- +- r = -errno; +- log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); +- return -r; +- } +- +- t = strstrip(l); +- if (*t != '$' && *t != '<') +- continue; +- +- parsed = strv_split(t,WHITESPACE); +- /* we ignore , not used, equivalent to X-Interactive */ +- if (parsed && !startswith_no_case (parsed[0], "")) { +- _cleanup_free_ char *facility = NULL; +- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) +- continue; +- if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { +- _cleanup_free_ char *unit = NULL; +- /* insert also a Wants dependency from remote-fs-pre on remote-fs */ +- unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); +- if (!unit) +- return log_oom(); +- +- mkdir_parents_label(unit, 0755); +- +- r = write_string_file(unit, +- "# Automatically generated by systemd-insserv-generator\n\n" +- "[Unit]\n" +- "Wants=remote-fs-pre.target\n", WRITE_STRING_FILE_CREATE); +- if (r) +- return r; +- free (facility); +- facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); +- } +- if (facility && endswith(facility, ".target")) { +- char *name, **j; +- FILE *file = NULL; +- +- STRV_FOREACH (j, parsed+1) { +- _cleanup_free_ char *unit = NULL; +- _cleanup_free_ char *dep = NULL; +- +- if (*j[0] == '+') +- name = *j+1; +- else +- name = *j; +- if (streq(name, "boot.localfs") || +- streq(name, "boot.crypto")) +- continue; +- if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) +- continue; +- +- unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); +- if (!unit) +- return log_oom(); +- +- mkdir_parents_label(unit, 0755); +- +- file = fopen(unit, "wxe"); +- if (!file) { +- if (errno == EEXIST) +- log_error("Failed to create drop-in file %s", unit); +- else +- log_error("Failed to create drop-in file %s: %m", unit); +- return -errno; +- } +- +- fprintf(file, +- "# Automatically generated by systemd-insserv-generator\n\n" +- "[Unit]\n" +- "Wants=%s\n" +- "Before=%s\n", +- facility, facility); +- +- fflush(file); +- if (ferror(file)) { +- log_error("Failed to write unit file %s: %m", unit); +- return -errno; +- } +- fclose(file); +- +- if (*j[0] != '+') { +- free (unit); +- unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); +- if (!unit) +- return log_oom(); +- +- mkdir_parents_label(unit, 0755); +- +- file = fopen(unit, "wxe"); +- if (!file) { +- if (errno == EEXIST) +- log_error("Failed to create drop-in file %s, as it already exists", unit); +- else +- log_error("Failed to create drop-in file %s: %m", unit); +- return -errno; +- } +- +- +- fprintf(file, +- "# Automatically generated by systemd-insserv-generator\n\n" +- "[Unit]\n" +- "SourcePath=%s\n" +- "Requires=%s\n", +- filename, dep); +- fflush(file); +- if (ferror(file)) { +- log_error("Failed to write unit file %s: %m", unit); +- return -errno; +- } +- fclose(file); +- } +- } +- } +- } +- } +- return r; +-} +- +-static int parse_insserv(void) { +- DIR *d = NULL; +- struct dirent *de; +- int r = 0; +- +- if (!(d = opendir("/etc/insserv.conf.d/"))) { +- if (errno != ENOENT) { +- log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); +- } +- } else { +- +- while ((de = readdir(d))) { +- char *path = NULL; +- if (hidden_or_backup_file(de->d_name)) +- continue; +- +- path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); +- parse_insserv_conf(path); +- free(path); +- } +- closedir (d); +- } +- +- r = parse_insserv_conf("/etc/insserv.conf"); +- +- return r; +-} +- +-int main(int argc, char *argv[]) { +- int r = 0; +- +- if (argc > 1 && argc != 4) { +- log_error("This program takes three or no arguments."); +- return EXIT_FAILURE; +- } +- +- if (argc > 1) +- arg_dest = argv[1]; +- +- log_set_prohibit_ipc(true); +- log_set_target(LOG_TARGET_AUTO); +- log_parse_environment(); +- log_open(); +- +- umask(0022); +- +- r = parse_insserv(); +- +- return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; +-} +-- +2.21.0 + diff --git a/debug-only-remove-new-policies.patch b/debug-only-remove-new-policies.patch deleted file mode 100644 index 670f8f26..00000000 --- a/debug-only-remove-new-policies.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/src/login/org.freedesktop.login1.policy b/src/login/org.freedesktop.login1.policy -index 6dc79aa32a..398fb7bc21 100644 ---- a/src/login/org.freedesktop.login1.policy -+++ b/src/login/org.freedesktop.login1.policy -@@ -337,17 +337,6 @@ - - - -- -- Set the reboot "reason" in the kernel -- Authentication is required to set the reboot "reason" in the kernel. -- -- auth_admin_keep -- auth_admin_keep -- yes -- -- org.freedesktop.login1.reboot -- -- - - Indicate to the firmware to boot to setup interface - Authentication is required to indicate to the firmware to boot to setup interface. -@@ -359,28 +348,6 @@ - org.freedesktop.login1.reboot - - -- -- Indicate to the boot loader to boot to the boot loader menu -- Authentication is required to indicate to the boot loader to boot to the boot loader menu. -- -- auth_admin_keep -- auth_admin_keep -- yes -- -- org.freedesktop.login1.reboot -- -- -- -- Indicate to the boot loader to boot a specific entry -- Authentication is required to indicate to the boot loader to boot into a specific boot loader entry. -- -- auth_admin_keep -- auth_admin_keep -- yes -- -- org.freedesktop.login1.reboot -- -- - - Set a wall message - Authentication is required to set a wall message diff --git a/systemd-mini.changes b/systemd-mini.changes index 51e13e4c..785b05f7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon May 27 09:33:45 UTC 2019 - Franck Bui + +- Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) + + All remaining packages have been fixed so they don't rely on the + insser-generator to generate proper deps. So let's drop it as all + services should carry the proper dependencies itself. + +------------------------------------------------------------------- +Mon May 27 09:30:05 UTC 2019 - Franck Bui + +- Drop debug-only-remove-new-policies.patch + + The new DBUS methods have been reviewed by the security team. + ------------------------------------------------------------------- Tue May 14 14:27:12 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8ff76041..a2ffbd84 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -167,7 +167,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: debug-only-remove-new-policies.patch +Patch3: 0001-Revert-insserv.conf-generator.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 51e13e4c..785b05f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon May 27 09:33:45 UTC 2019 - Franck Bui + +- Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) + + All remaining packages have been fixed so they don't rely on the + insser-generator to generate proper deps. So let's drop it as all + services should carry the proper dependencies itself. + +------------------------------------------------------------------- +Mon May 27 09:30:05 UTC 2019 - Franck Bui + +- Drop debug-only-remove-new-policies.patch + + The new DBUS methods have been reviewed by the security team. + ------------------------------------------------------------------- Tue May 14 14:27:12 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 245e57c2..583d8bcf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -165,7 +165,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: debug-only-remove-new-policies.patch +Patch3: 0001-Revert-insserv.conf-generator.patch %description Systemd is a system and service manager, compatible with SysV and LSB From e03fc0c71ae1afd24fdfa029ef0aa717c9c61da44959e4b4299dce4f6e175314 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 28 May 2019 12:15:03 +0000 Subject: [PATCH 430/991] Accepting request 705895 from home:fbui:systemd:openSUSE-Factory - Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) - Add 0001-rc-local-generator-deprecate-halt.local-support.patch /etc/init.d/halt.local support will removed from the next systemd version (v243) so for now on warn (hopefully the few) users who rely on this script so they have a chance to switch to systemd-shutdown interface. OBS-URL: https://build.opensuse.org/request/show/705895 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1064 --- ...nerator-deprecate-halt.local-support.patch | 31 +++++++++++++++++++ systemd-mini.changes | 17 ++++++++++ systemd-mini.spec | 3 +- systemd-v242+suse.75.g9984a86d0d.tar.xz | 3 -- systemd-v242+suse.77.geaa7b8b148.tar.xz | 3 ++ systemd.changes | 17 ++++++++++ systemd.spec | 3 +- 7 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 0001-rc-local-generator-deprecate-halt.local-support.patch delete mode 100644 systemd-v242+suse.75.g9984a86d0d.tar.xz create mode 100644 systemd-v242+suse.77.geaa7b8b148.tar.xz diff --git a/0001-rc-local-generator-deprecate-halt.local-support.patch b/0001-rc-local-generator-deprecate-halt.local-support.patch new file mode 100644 index 00000000..cda1fa59 --- /dev/null +++ b/0001-rc-local-generator-deprecate-halt.local-support.patch @@ -0,0 +1,31 @@ +From 5e397db506aa75e50387bdcb6bfd3d4fa7ac92e7 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 May 2019 14:50:36 +0200 +Subject: [PATCH] rc-local-generator: deprecate halt.local support + +Its support will be dropped after systemd v242, see [1]. So let's give users of +this script a chance to replace it nicely. + +[1] https://github.com/systemd/systemd/pull/12571 +--- + src/rc-local-generator/rc-local-generator.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c +index 7a3948e92d..5699c4f876 100644 +--- a/src/rc-local-generator/rc-local-generator.c ++++ b/src/rc-local-generator/rc-local-generator.c +@@ -68,6 +68,10 @@ static int run(const char *dest, const char *dest_early, const char *dest_late) + if (check_executable(RC_LOCAL_SCRIPT_PATH_STOP) >= 0) { + log_debug("Automatically adding halt-local.service."); + ++ log_warning("Support for %s will be removed soon. " ++ "Please see systemd-shutdown(8) man page for a similar but better alternative.", ++ RC_LOCAL_SCRIPT_PATH_STOP); ++ + k = add_symlink("halt-local.service", "final.target"); + } + +-- +2.21.0 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 785b05f7..adc89a36 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue May 28 11:53:30 UTC 2019 - Franck Bui + +- Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 + + 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) + +------------------------------------------------------------------- +Tue May 28 09:51:30 UTC 2019 - Franck Bui + +- Add 0001-rc-local-generator-deprecate-halt.local-support.patch + + /etc/init.d/halt.local support will removed from the next systemd + version (v243) so for now on warn (hopefully the few) users who rely + on this script so they have a chance to switch to systemd-shutdown + interface. + ------------------------------------------------------------------- Mon May 27 09:33:45 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index a2ffbd84..bb101f9f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.75.g9984a86d0d +%define suse_version +suse.77.geaa7b8b148 %bcond_with gnuefi %if 0%{?bootstrap} @@ -168,6 +168,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch Patch3: 0001-Revert-insserv.conf-generator.patch +Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v242+suse.75.g9984a86d0d.tar.xz b/systemd-v242+suse.75.g9984a86d0d.tar.xz deleted file mode 100644 index 50615f14..00000000 --- a/systemd-v242+suse.75.g9984a86d0d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d5ad0c9c95ffa3b089676482ccdf91c72d6e2a01f4f97eece0264a737afc9af5 -size 5323056 diff --git a/systemd-v242+suse.77.geaa7b8b148.tar.xz b/systemd-v242+suse.77.geaa7b8b148.tar.xz new file mode 100644 index 00000000..a33f98d1 --- /dev/null +++ b/systemd-v242+suse.77.geaa7b8b148.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dbfb5d5a7c25807a420b63449cb2e275f610c31c3bdcdd84264c17797617a3d +size 5322904 diff --git a/systemd.changes b/systemd.changes index 785b05f7..adc89a36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue May 28 11:53:30 UTC 2019 - Franck Bui + +- Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 + + 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) + +------------------------------------------------------------------- +Tue May 28 09:51:30 UTC 2019 - Franck Bui + +- Add 0001-rc-local-generator-deprecate-halt.local-support.patch + + /etc/init.d/halt.local support will removed from the next systemd + version (v243) so for now on warn (hopefully the few) users who rely + on this script so they have a chance to switch to systemd-shutdown + interface. + ------------------------------------------------------------------- Mon May 27 09:33:45 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 583d8bcf..4559a522 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.75.g9984a86d0d +%define suse_version +suse.77.geaa7b8b148 %bcond_with gnuefi %if 0%{?bootstrap} @@ -166,6 +166,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch Patch3: 0001-Revert-insserv.conf-generator.patch +Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 6ab432dbe10f6e112f194202c7306c27ea6fb4fd551a45ae134676aeece58612 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 2 Jun 2019 13:15:04 +0000 Subject: [PATCH 431/991] Accepting request 705897 from Base:System OBS-URL: https://build.opensuse.org/request/show/705897 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=296 --- 0001-Revert-insserv.conf-generator.patch | 365 ++++++++++++++++++ ...nerator-deprecate-halt.local-support.patch | 31 ++ debug-only-remove-new-policies.patch | 51 --- systemd-mini.changes | 33 ++ systemd-mini.spec | 5 +- systemd-v242+suse.75.g9984a86d0d.tar.xz | 3 - systemd-v242+suse.77.geaa7b8b148.tar.xz | 3 + systemd.changes | 33 ++ systemd.spec | 5 +- 9 files changed, 471 insertions(+), 58 deletions(-) create mode 100644 0001-Revert-insserv.conf-generator.patch create mode 100644 0001-rc-local-generator-deprecate-halt.local-support.patch delete mode 100644 debug-only-remove-new-policies.patch delete mode 100644 systemd-v242+suse.75.g9984a86d0d.tar.xz create mode 100644 systemd-v242+suse.77.geaa7b8b148.tar.xz diff --git a/0001-Revert-insserv.conf-generator.patch b/0001-Revert-insserv.conf-generator.patch new file mode 100644 index 00000000..cdcd3409 --- /dev/null +++ b/0001-Revert-insserv.conf-generator.patch @@ -0,0 +1,365 @@ +From e143d8271cd8d8dd862a627754d3daa2d6f9cd48 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 May 2019 10:54:26 +0200 +Subject: [PATCH] Revert "insserv.conf generator" + +This reverts commit dbb7a2e71bec6f6400f2b67cc409b22915fe8c72. + +The only (system) packages which were still relying on the insserv-generator +have been fixed, see bsc#1052837 for the details. + +[fbui: fixes bsc#1052837] +--- + meson.build | 8 - + src/insserv-generator/insserv-generator.c | 320 ---------------------- + 2 files changed, 328 deletions(-) + delete mode 100644 src/insserv-generator/insserv-generator.c + +diff --git a/meson.build b/meson.build +index 54664661b5..4377fe8419 100644 +--- a/meson.build ++++ b/meson.build +@@ -2083,14 +2083,6 @@ if conf.get('HAVE_SYSV_COMPAT') == 1 + install_rpath : rootlibexecdir, + install : true, + install_dir : systemgeneratordir) +- +- executable('systemd-insserv-generator', +- 'src/insserv-generator/insserv-generator.c', +- include_directories : includes, +- link_with : [libshared], +- install_rpath : rootlibexecdir, +- install : true, +- install_dir : systemgeneratordir) + endif + + if conf.get('ENABLE_HOSTNAMED') == 1 +diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c +deleted file mode 100644 +index 23b5a8255a..0000000000 +--- a/src/insserv-generator/insserv-generator.c ++++ /dev/null +@@ -1,320 +0,0 @@ +-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ +- +-/*** +- This file is part of systemd. +- +- Copyright 2012 Lennart Poettering +- +- systemd is free software; you can redistribute it and/or modify it +- under the terms of the GNU Lesser General Public License as published by +- the Free Software Foundation; either version 2.1 of the License, or +- (at your option) any later version. +- +- systemd is distributed in the hope that it will be useful, but +- WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public License +- along with systemd; If not, see . +- ***/ +- +-#include +-#include +-#include +-#include +- +-#include "alloc-util.h" +-#include "mkdir.h" +-#include "log.h" +-#include "fileio.h" +-#include "unit-name.h" +-#include "special.h" +-#include "path-util.h" +-#include "util.h" +-#include "fd-util.h" +-#include "string-util.h" +-#include "strv.h" +- +-static const char *arg_dest = "/tmp"; +- +-static char *sysv_translate_name(const char *name) { +- char *r; +- +- r = new(char, strlen(name) + sizeof(".service")); +- if (!r) +- return NULL; +- +- if (endswith(name, ".sh")) +- /* Drop .sh suffix */ +- strcpy(stpcpy(r, name) - 3, ".service"); +- if (startswith(name, "boot.")) +- /* Drop SuSE-style boot. prefix */ +- strcpy(stpcpy(r, name + 5), ".service"); +- else +- /* Normal init script name */ +- strcpy(stpcpy(r, name), ".service"); +- +- return r; +-} +- +-static int sysv_translate_facility(const char *name, const char *filename, char **_r) { +- +- /* We silently ignore the $ prefix here. According to the LSB +- * spec it simply indicates whether something is a +- * standardized name or a distribution-specific one. Since we +- * just follow what already exists and do not introduce new +- * uses or names we don't care who introduced a new name. */ +- +- static const char * const table[] = { +- /* LSB defined facilities */ +- "local_fs", NULL, +- "network", SPECIAL_NETWORK_ONLINE_TARGET, +- "named", SPECIAL_NSS_LOOKUP_TARGET, +- "portmap", SPECIAL_RPCBIND_TARGET, +- "remote_fs", SPECIAL_REMOTE_FS_TARGET, +- "syslog", NULL, +- "time", SPECIAL_TIME_SYNC_TARGET, +- }; +- +- unsigned i; +- int e; +- char *r; +- const char *n; +- +- assert(name); +- assert(_r); +- +- n = *name == '$' ? name + 1 : name; +- +- for (i = 0; i < ELEMENTSOF(table); i += 2) { +- +- if (!streq(table[i], n)) +- continue; +- +- if (!table[i+1]) +- return 0; +- +- r = strdup(table[i+1]); +- if (!r) +- return log_oom(); +- +- goto finish; +- } +- +- /* If we don't know this name, fallback heuristics to figure +- * out whether something is a target or a service alias. */ +- +- if (*name == '$') { +- if (!unit_prefix_is_valid(n)) +- return -EINVAL; +- +- /* Facilities starting with $ are most likely targets */ +- e = unit_name_build(n, NULL, ".target", &r); +- if (e < 0) +- return log_error_errno(e, "Failed to generate unit name: %m"); +- +- } else if (filename && streq(name, filename)) +- /* Names equaling the file name of the services are redundant */ +- return 0; +- else +- /* Everything else we assume to be normal service names */ +- r = sysv_translate_name(n); +- +- if (!r) +- return -ENOMEM; +- +-finish: +- *_r = r; +- +- return 1; +-} +- +- +- +-static int parse_insserv_conf(const char* filename) { +- _cleanup_fclose_ FILE *f = NULL; +- int r; +- +- if (!(f = fopen(filename, "re"))) { +- log_debug("Failed to open file %s", filename); +- r = errno == ENOENT ? 0 : -errno; +- return r; +- } +- +- while (!feof(f)) { +- char l[LINE_MAX], *t; +- _cleanup_strv_free_ char **parsed = NULL; +- +- if (!fgets(l, sizeof(l), f)) { +- if (feof(f)) +- break; +- +- r = -errno; +- log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); +- return -r; +- } +- +- t = strstrip(l); +- if (*t != '$' && *t != '<') +- continue; +- +- parsed = strv_split(t,WHITESPACE); +- /* we ignore , not used, equivalent to X-Interactive */ +- if (parsed && !startswith_no_case (parsed[0], "")) { +- _cleanup_free_ char *facility = NULL; +- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) +- continue; +- if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { +- _cleanup_free_ char *unit = NULL; +- /* insert also a Wants dependency from remote-fs-pre on remote-fs */ +- unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); +- if (!unit) +- return log_oom(); +- +- mkdir_parents_label(unit, 0755); +- +- r = write_string_file(unit, +- "# Automatically generated by systemd-insserv-generator\n\n" +- "[Unit]\n" +- "Wants=remote-fs-pre.target\n", WRITE_STRING_FILE_CREATE); +- if (r) +- return r; +- free (facility); +- facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); +- } +- if (facility && endswith(facility, ".target")) { +- char *name, **j; +- FILE *file = NULL; +- +- STRV_FOREACH (j, parsed+1) { +- _cleanup_free_ char *unit = NULL; +- _cleanup_free_ char *dep = NULL; +- +- if (*j[0] == '+') +- name = *j+1; +- else +- name = *j; +- if (streq(name, "boot.localfs") || +- streq(name, "boot.crypto")) +- continue; +- if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) +- continue; +- +- unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); +- if (!unit) +- return log_oom(); +- +- mkdir_parents_label(unit, 0755); +- +- file = fopen(unit, "wxe"); +- if (!file) { +- if (errno == EEXIST) +- log_error("Failed to create drop-in file %s", unit); +- else +- log_error("Failed to create drop-in file %s: %m", unit); +- return -errno; +- } +- +- fprintf(file, +- "# Automatically generated by systemd-insserv-generator\n\n" +- "[Unit]\n" +- "Wants=%s\n" +- "Before=%s\n", +- facility, facility); +- +- fflush(file); +- if (ferror(file)) { +- log_error("Failed to write unit file %s: %m", unit); +- return -errno; +- } +- fclose(file); +- +- if (*j[0] != '+') { +- free (unit); +- unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); +- if (!unit) +- return log_oom(); +- +- mkdir_parents_label(unit, 0755); +- +- file = fopen(unit, "wxe"); +- if (!file) { +- if (errno == EEXIST) +- log_error("Failed to create drop-in file %s, as it already exists", unit); +- else +- log_error("Failed to create drop-in file %s: %m", unit); +- return -errno; +- } +- +- +- fprintf(file, +- "# Automatically generated by systemd-insserv-generator\n\n" +- "[Unit]\n" +- "SourcePath=%s\n" +- "Requires=%s\n", +- filename, dep); +- fflush(file); +- if (ferror(file)) { +- log_error("Failed to write unit file %s: %m", unit); +- return -errno; +- } +- fclose(file); +- } +- } +- } +- } +- } +- return r; +-} +- +-static int parse_insserv(void) { +- DIR *d = NULL; +- struct dirent *de; +- int r = 0; +- +- if (!(d = opendir("/etc/insserv.conf.d/"))) { +- if (errno != ENOENT) { +- log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); +- } +- } else { +- +- while ((de = readdir(d))) { +- char *path = NULL; +- if (hidden_or_backup_file(de->d_name)) +- continue; +- +- path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); +- parse_insserv_conf(path); +- free(path); +- } +- closedir (d); +- } +- +- r = parse_insserv_conf("/etc/insserv.conf"); +- +- return r; +-} +- +-int main(int argc, char *argv[]) { +- int r = 0; +- +- if (argc > 1 && argc != 4) { +- log_error("This program takes three or no arguments."); +- return EXIT_FAILURE; +- } +- +- if (argc > 1) +- arg_dest = argv[1]; +- +- log_set_prohibit_ipc(true); +- log_set_target(LOG_TARGET_AUTO); +- log_parse_environment(); +- log_open(); +- +- umask(0022); +- +- r = parse_insserv(); +- +- return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; +-} +-- +2.21.0 + diff --git a/0001-rc-local-generator-deprecate-halt.local-support.patch b/0001-rc-local-generator-deprecate-halt.local-support.patch new file mode 100644 index 00000000..cda1fa59 --- /dev/null +++ b/0001-rc-local-generator-deprecate-halt.local-support.patch @@ -0,0 +1,31 @@ +From 5e397db506aa75e50387bdcb6bfd3d4fa7ac92e7 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 May 2019 14:50:36 +0200 +Subject: [PATCH] rc-local-generator: deprecate halt.local support + +Its support will be dropped after systemd v242, see [1]. So let's give users of +this script a chance to replace it nicely. + +[1] https://github.com/systemd/systemd/pull/12571 +--- + src/rc-local-generator/rc-local-generator.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c +index 7a3948e92d..5699c4f876 100644 +--- a/src/rc-local-generator/rc-local-generator.c ++++ b/src/rc-local-generator/rc-local-generator.c +@@ -68,6 +68,10 @@ static int run(const char *dest, const char *dest_early, const char *dest_late) + if (check_executable(RC_LOCAL_SCRIPT_PATH_STOP) >= 0) { + log_debug("Automatically adding halt-local.service."); + ++ log_warning("Support for %s will be removed soon. " ++ "Please see systemd-shutdown(8) man page for a similar but better alternative.", ++ RC_LOCAL_SCRIPT_PATH_STOP); ++ + k = add_symlink("halt-local.service", "final.target"); + } + +-- +2.21.0 + diff --git a/debug-only-remove-new-policies.patch b/debug-only-remove-new-policies.patch deleted file mode 100644 index 670f8f26..00000000 --- a/debug-only-remove-new-policies.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/src/login/org.freedesktop.login1.policy b/src/login/org.freedesktop.login1.policy -index 6dc79aa32a..398fb7bc21 100644 ---- a/src/login/org.freedesktop.login1.policy -+++ b/src/login/org.freedesktop.login1.policy -@@ -337,17 +337,6 @@ - - - -- -- Set the reboot "reason" in the kernel -- Authentication is required to set the reboot "reason" in the kernel. -- -- auth_admin_keep -- auth_admin_keep -- yes -- -- org.freedesktop.login1.reboot -- -- - - Indicate to the firmware to boot to setup interface - Authentication is required to indicate to the firmware to boot to setup interface. -@@ -359,28 +348,6 @@ - org.freedesktop.login1.reboot - - -- -- Indicate to the boot loader to boot to the boot loader menu -- Authentication is required to indicate to the boot loader to boot to the boot loader menu. -- -- auth_admin_keep -- auth_admin_keep -- yes -- -- org.freedesktop.login1.reboot -- -- -- -- Indicate to the boot loader to boot a specific entry -- Authentication is required to indicate to the boot loader to boot into a specific boot loader entry. -- -- auth_admin_keep -- auth_admin_keep -- yes -- -- org.freedesktop.login1.reboot -- -- - - Set a wall message - Authentication is required to set a wall message diff --git a/systemd-mini.changes b/systemd-mini.changes index 51e13e4c..adc89a36 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Tue May 28 11:53:30 UTC 2019 - Franck Bui + +- Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 + + 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) + +------------------------------------------------------------------- +Tue May 28 09:51:30 UTC 2019 - Franck Bui + +- Add 0001-rc-local-generator-deprecate-halt.local-support.patch + + /etc/init.d/halt.local support will removed from the next systemd + version (v243) so for now on warn (hopefully the few) users who rely + on this script so they have a chance to switch to systemd-shutdown + interface. + +------------------------------------------------------------------- +Mon May 27 09:33:45 UTC 2019 - Franck Bui + +- Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) + + All remaining packages have been fixed so they don't rely on the + insser-generator to generate proper deps. So let's drop it as all + services should carry the proper dependencies itself. + +------------------------------------------------------------------- +Mon May 27 09:30:05 UTC 2019 - Franck Bui + +- Drop debug-only-remove-new-policies.patch + + The new DBUS methods have been reviewed by the security team. + ------------------------------------------------------------------- Tue May 14 14:27:12 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8ff76041..bb101f9f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.75.g9984a86d0d +%define suse_version +suse.77.geaa7b8b148 %bcond_with gnuefi %if 0%{?bootstrap} @@ -167,7 +167,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: debug-only-remove-new-policies.patch +Patch3: 0001-Revert-insserv.conf-generator.patch +Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v242+suse.75.g9984a86d0d.tar.xz b/systemd-v242+suse.75.g9984a86d0d.tar.xz deleted file mode 100644 index 50615f14..00000000 --- a/systemd-v242+suse.75.g9984a86d0d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d5ad0c9c95ffa3b089676482ccdf91c72d6e2a01f4f97eece0264a737afc9af5 -size 5323056 diff --git a/systemd-v242+suse.77.geaa7b8b148.tar.xz b/systemd-v242+suse.77.geaa7b8b148.tar.xz new file mode 100644 index 00000000..a33f98d1 --- /dev/null +++ b/systemd-v242+suse.77.geaa7b8b148.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dbfb5d5a7c25807a420b63449cb2e275f610c31c3bdcdd84264c17797617a3d +size 5322904 diff --git a/systemd.changes b/systemd.changes index 51e13e4c..adc89a36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Tue May 28 11:53:30 UTC 2019 - Franck Bui + +- Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 + + 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) + +------------------------------------------------------------------- +Tue May 28 09:51:30 UTC 2019 - Franck Bui + +- Add 0001-rc-local-generator-deprecate-halt.local-support.patch + + /etc/init.d/halt.local support will removed from the next systemd + version (v243) so for now on warn (hopefully the few) users who rely + on this script so they have a chance to switch to systemd-shutdown + interface. + +------------------------------------------------------------------- +Mon May 27 09:33:45 UTC 2019 - Franck Bui + +- Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) + + All remaining packages have been fixed so they don't rely on the + insser-generator to generate proper deps. So let's drop it as all + services should carry the proper dependencies itself. + +------------------------------------------------------------------- +Mon May 27 09:30:05 UTC 2019 - Franck Bui + +- Drop debug-only-remove-new-policies.patch + + The new DBUS methods have been reviewed by the security team. + ------------------------------------------------------------------- Tue May 14 14:27:12 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 245e57c2..4559a522 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.75.g9984a86d0d +%define suse_version +suse.77.geaa7b8b148 %bcond_with gnuefi %if 0%{?bootstrap} @@ -165,7 +165,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: debug-only-remove-new-policies.patch +Patch3: 0001-Revert-insserv.conf-generator.patch +Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 3c0f3d60ca1c77a1d644124003a34ab70a3990b64460e520cad972714e9255dd Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 24 Jul 2019 05:01:53 +0000 Subject: [PATCH 432/991] Accepting request 718031 from home:fbui:systemd:openSUSE-Factory - Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) 07f0549ffe network: do not send ipv6 token to kernel 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs eb6c17c178 util-lib: fix a typo in rdrand 829c20dc8e random-util: rename "err" to "success" 5442366fbf man: rework the description of Aliases and .wants/.requires directories ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly 09774a5fcb meson: make nologin path build time configurable 69ffeeb0b1 man: add note about systemctl stop return value 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" 46f3db894b shared/conf-parser: be nice and ignore lines without "=" 7d928995f7 nspawn: fix memleak in argument parsing 7727e6c0ae resolve: fix memleak 7f32a81976 journal: properly read unaligned le64 integers fa419099e5 activate: move array allocation to heap 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful d9a5a70a59 factory: tighten PAM configuration 5e2d3bf80b test: make sure colors don't confuse our test 5fe3be1334 wait-online: change log level c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= 5964d1474e man: offline-updates: make dependence on system-update.target explicit a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() 7c46a694ca man: add example for setting multiple properties at once 1d72789271 man: CPUShares= is so 2015 OBS-URL: https://build.opensuse.org/request/show/718031 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1065 --- systemd-mini.changes | 72 ++++++++++++++++++++++++ systemd-mini.spec | 13 ++++- systemd-v242+suse.135.g0f9271c133.tar.xz | 3 + systemd-v242+suse.77.geaa7b8b148.tar.xz | 3 - systemd.changes | 72 ++++++++++++++++++++++++ systemd.spec | 13 ++++- 6 files changed, 171 insertions(+), 5 deletions(-) create mode 100644 systemd-v242+suse.135.g0f9271c133.tar.xz delete mode 100644 systemd-v242+suse.77.geaa7b8b148.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index adc89a36..86dc393e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Mon Jul 22 15:29:51 UTC 2019 - Franck Bui + +- Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) + + 07f0549ffe network: do not send ipv6 token to kernel + 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS + 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) + 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs + eb6c17c178 util-lib: fix a typo in rdrand + 829c20dc8e random-util: rename "err" to "success" + 5442366fbf man: rework the description of Aliases and .wants/.requires directories + ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly + 09774a5fcb meson: make nologin path build time configurable + 69ffeeb0b1 man: add note about systemctl stop return value + 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot + 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" + 46f3db894b shared/conf-parser: be nice and ignore lines without "=" + 7d928995f7 nspawn: fix memleak in argument parsing + 7727e6c0ae resolve: fix memleak + 7f32a81976 journal: properly read unaligned le64 integers + fa419099e5 activate: move array allocation to heap + 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" + a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration + a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful + d9a5a70a59 factory: tighten PAM configuration + 5e2d3bf80b test: make sure colors don't confuse our test + 5fe3be1334 wait-online: change log level + c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue + 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= + 5964d1474e man: offline-updates: make dependence on system-update.target explicit + a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() + 7c46a694ca man: add example for setting multiple properties at once + 1d72789271 man: CPUShares= is so 2015 + 45da304673 man: document that WakeSystem= requires privs + bed58a06e4 man: document that "systemd-analyze blame/critical-chain" is not useful to track down job latency + c5461f31b3 man: be more explicit that Type=oneshot services are not "active" after starting + 455ee07abe man: document that the supplementary groups list is initialized from User='s database entry + 5f0cb2616a alloc-util: drop _alloc_(2, 3) decorator from memdup_suffix0_multiply() + 7bc336794d generator: downgrade Requires= → Wants= of fsck from /usr mount unit + 66465c4381 systemctl: allow "cat" on units with bad settings + ca937b49da pid1: fix serialization/deserialization of commmands with spaces + 4bb3113023 growfs: call crypt_set_debug_level() correctly, skip if not needed + 0db716771e cryptsetup: enable libcryptsetup debug logging if we want it + c8b9b3956f cryptsetup: set libcryptsetup global log callback too + 679b3f6b7f basic/log: fix SYSTEMD_LOG_* parsing error messages + 8d6b5158aa units: add SystemCallErrorNumber=EPERM to systemd-portabled.service + 6681fcd445 network: fix the initial value of the counter for brvlan + 853ec5f458 man: Add some notes about variable $prefix for StateDirectory= + e6d23358e9 sd-netlink: fix inverted log message + 6feb862407 blockdev: filter out invalid block devices early + 9f7c0dbc75 blockdev-util: propagate actual error + 3f5355bcb9 man: document tmpfiles.d/ user/group resolvability needs + c15b92cd98 man: fix wrong udev property name + 9768a900d6 meson: drop duplicated source + 15194f22ed cryptsetup-generator: fix luks-* entry parsing from crypttab + c2475390b4 core: skip whitespace after "|" and "!" in the condition parser + fdc754aeb7 shared/condition: fix printing of ConditionNull= + 572385e135 test: add testcase for issue #12883 + 9aa1edddb0 conf-parser: fix continuation handling + 8fbc72f45f networkd: fix link_up() (#12505) + +------------------------------------------------------------------- +Mon Jul 1 15:14:58 UTC 2019 - Franck Bui + +- State directory of systemd-timesync might become inaccessible after upgrading to v240+ (bsc#1137341) + + This happens for users who had previously used systemd-timesync with + DynamicUser=true, ie the ones who upgraded from a systemd version + between v235 and v239 to systemd v240 and later (v240 was the + version where DynamicUser was switched back to OFF). + ------------------------------------------------------------------- Tue May 28 11:53:30 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index bb101f9f..28708939 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.77.geaa7b8b148 +%define suse_version +suse.135.g0f9271c133 %bcond_with gnuefi %if 0%{?bootstrap} @@ -763,6 +763,17 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# Due to the fact that DynamicUser= was turned ON during v235 and then +# switched back to off in v240, /var/lib/systemd/timesync might be a +# symlink pointing to /var/lib/private/systemd/timesync, which is +# inaccessible for systemd-timesync user as /var/lib/private is 0700 +# root:root, see https://github.com/systemd/systemd/issues/11329 for +# details. Note: only TW users might be affected by this bug. +if [ -L %{_localstatedir}/lib/systemd/timesync ]; then + rm %{_localstatedir}/lib/systemd/timesync + mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync +fi + # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : diff --git a/systemd-v242+suse.135.g0f9271c133.tar.xz b/systemd-v242+suse.135.g0f9271c133.tar.xz new file mode 100644 index 00000000..eadc9ec2 --- /dev/null +++ b/systemd-v242+suse.135.g0f9271c133.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:383bf8d4d50df8d334449ce7135d4de33e5c386109791914c6e6c4474bd2f5db +size 5325036 diff --git a/systemd-v242+suse.77.geaa7b8b148.tar.xz b/systemd-v242+suse.77.geaa7b8b148.tar.xz deleted file mode 100644 index a33f98d1..00000000 --- a/systemd-v242+suse.77.geaa7b8b148.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dbfb5d5a7c25807a420b63449cb2e275f610c31c3bdcdd84264c17797617a3d -size 5322904 diff --git a/systemd.changes b/systemd.changes index adc89a36..86dc393e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Mon Jul 22 15:29:51 UTC 2019 - Franck Bui + +- Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) + + 07f0549ffe network: do not send ipv6 token to kernel + 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS + 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) + 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs + eb6c17c178 util-lib: fix a typo in rdrand + 829c20dc8e random-util: rename "err" to "success" + 5442366fbf man: rework the description of Aliases and .wants/.requires directories + ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly + 09774a5fcb meson: make nologin path build time configurable + 69ffeeb0b1 man: add note about systemctl stop return value + 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot + 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" + 46f3db894b shared/conf-parser: be nice and ignore lines without "=" + 7d928995f7 nspawn: fix memleak in argument parsing + 7727e6c0ae resolve: fix memleak + 7f32a81976 journal: properly read unaligned le64 integers + fa419099e5 activate: move array allocation to heap + 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" + a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration + a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful + d9a5a70a59 factory: tighten PAM configuration + 5e2d3bf80b test: make sure colors don't confuse our test + 5fe3be1334 wait-online: change log level + c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue + 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= + 5964d1474e man: offline-updates: make dependence on system-update.target explicit + a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() + 7c46a694ca man: add example for setting multiple properties at once + 1d72789271 man: CPUShares= is so 2015 + 45da304673 man: document that WakeSystem= requires privs + bed58a06e4 man: document that "systemd-analyze blame/critical-chain" is not useful to track down job latency + c5461f31b3 man: be more explicit that Type=oneshot services are not "active" after starting + 455ee07abe man: document that the supplementary groups list is initialized from User='s database entry + 5f0cb2616a alloc-util: drop _alloc_(2, 3) decorator from memdup_suffix0_multiply() + 7bc336794d generator: downgrade Requires= → Wants= of fsck from /usr mount unit + 66465c4381 systemctl: allow "cat" on units with bad settings + ca937b49da pid1: fix serialization/deserialization of commmands with spaces + 4bb3113023 growfs: call crypt_set_debug_level() correctly, skip if not needed + 0db716771e cryptsetup: enable libcryptsetup debug logging if we want it + c8b9b3956f cryptsetup: set libcryptsetup global log callback too + 679b3f6b7f basic/log: fix SYSTEMD_LOG_* parsing error messages + 8d6b5158aa units: add SystemCallErrorNumber=EPERM to systemd-portabled.service + 6681fcd445 network: fix the initial value of the counter for brvlan + 853ec5f458 man: Add some notes about variable $prefix for StateDirectory= + e6d23358e9 sd-netlink: fix inverted log message + 6feb862407 blockdev: filter out invalid block devices early + 9f7c0dbc75 blockdev-util: propagate actual error + 3f5355bcb9 man: document tmpfiles.d/ user/group resolvability needs + c15b92cd98 man: fix wrong udev property name + 9768a900d6 meson: drop duplicated source + 15194f22ed cryptsetup-generator: fix luks-* entry parsing from crypttab + c2475390b4 core: skip whitespace after "|" and "!" in the condition parser + fdc754aeb7 shared/condition: fix printing of ConditionNull= + 572385e135 test: add testcase for issue #12883 + 9aa1edddb0 conf-parser: fix continuation handling + 8fbc72f45f networkd: fix link_up() (#12505) + +------------------------------------------------------------------- +Mon Jul 1 15:14:58 UTC 2019 - Franck Bui + +- State directory of systemd-timesync might become inaccessible after upgrading to v240+ (bsc#1137341) + + This happens for users who had previously used systemd-timesync with + DynamicUser=true, ie the ones who upgraded from a systemd version + between v235 and v239 to systemd v240 and later (v240 was the + version where DynamicUser was switched back to OFF). + ------------------------------------------------------------------- Tue May 28 11:53:30 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4559a522..352e67a4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.77.geaa7b8b148 +%define suse_version +suse.135.g0f9271c133 %bcond_with gnuefi %if 0%{?bootstrap} @@ -761,6 +761,17 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# Due to the fact that DynamicUser= was turned ON during v235 and then +# switched back to off in v240, /var/lib/systemd/timesync might be a +# symlink pointing to /var/lib/private/systemd/timesync, which is +# inaccessible for systemd-timesync user as /var/lib/private is 0700 +# root:root, see https://github.com/systemd/systemd/issues/11329 for +# details. Note: only TW users might be affected by this bug. +if [ -L %{_localstatedir}/lib/systemd/timesync ]; then + rm %{_localstatedir}/lib/systemd/timesync + mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync +fi + # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : From 42ce6e5851c581d2f7e25ad97a2e1600e33b526df27b32c0b2ae8b2aa8037bb6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 26 Jul 2019 10:06:35 +0000 Subject: [PATCH 433/991] Accepting request 718032 from Base:System OBS-URL: https://build.opensuse.org/request/show/718032 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=297 --- systemd-mini.changes | 72 ++++++++++++++++++++++++ systemd-mini.spec | 13 ++++- systemd-v242+suse.135.g0f9271c133.tar.xz | 3 + systemd-v242+suse.77.geaa7b8b148.tar.xz | 3 - systemd.changes | 72 ++++++++++++++++++++++++ systemd.spec | 13 ++++- 6 files changed, 171 insertions(+), 5 deletions(-) create mode 100644 systemd-v242+suse.135.g0f9271c133.tar.xz delete mode 100644 systemd-v242+suse.77.geaa7b8b148.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index adc89a36..86dc393e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Mon Jul 22 15:29:51 UTC 2019 - Franck Bui + +- Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) + + 07f0549ffe network: do not send ipv6 token to kernel + 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS + 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) + 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs + eb6c17c178 util-lib: fix a typo in rdrand + 829c20dc8e random-util: rename "err" to "success" + 5442366fbf man: rework the description of Aliases and .wants/.requires directories + ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly + 09774a5fcb meson: make nologin path build time configurable + 69ffeeb0b1 man: add note about systemctl stop return value + 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot + 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" + 46f3db894b shared/conf-parser: be nice and ignore lines without "=" + 7d928995f7 nspawn: fix memleak in argument parsing + 7727e6c0ae resolve: fix memleak + 7f32a81976 journal: properly read unaligned le64 integers + fa419099e5 activate: move array allocation to heap + 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" + a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration + a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful + d9a5a70a59 factory: tighten PAM configuration + 5e2d3bf80b test: make sure colors don't confuse our test + 5fe3be1334 wait-online: change log level + c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue + 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= + 5964d1474e man: offline-updates: make dependence on system-update.target explicit + a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() + 7c46a694ca man: add example for setting multiple properties at once + 1d72789271 man: CPUShares= is so 2015 + 45da304673 man: document that WakeSystem= requires privs + bed58a06e4 man: document that "systemd-analyze blame/critical-chain" is not useful to track down job latency + c5461f31b3 man: be more explicit that Type=oneshot services are not "active" after starting + 455ee07abe man: document that the supplementary groups list is initialized from User='s database entry + 5f0cb2616a alloc-util: drop _alloc_(2, 3) decorator from memdup_suffix0_multiply() + 7bc336794d generator: downgrade Requires= → Wants= of fsck from /usr mount unit + 66465c4381 systemctl: allow "cat" on units with bad settings + ca937b49da pid1: fix serialization/deserialization of commmands with spaces + 4bb3113023 growfs: call crypt_set_debug_level() correctly, skip if not needed + 0db716771e cryptsetup: enable libcryptsetup debug logging if we want it + c8b9b3956f cryptsetup: set libcryptsetup global log callback too + 679b3f6b7f basic/log: fix SYSTEMD_LOG_* parsing error messages + 8d6b5158aa units: add SystemCallErrorNumber=EPERM to systemd-portabled.service + 6681fcd445 network: fix the initial value of the counter for brvlan + 853ec5f458 man: Add some notes about variable $prefix for StateDirectory= + e6d23358e9 sd-netlink: fix inverted log message + 6feb862407 blockdev: filter out invalid block devices early + 9f7c0dbc75 blockdev-util: propagate actual error + 3f5355bcb9 man: document tmpfiles.d/ user/group resolvability needs + c15b92cd98 man: fix wrong udev property name + 9768a900d6 meson: drop duplicated source + 15194f22ed cryptsetup-generator: fix luks-* entry parsing from crypttab + c2475390b4 core: skip whitespace after "|" and "!" in the condition parser + fdc754aeb7 shared/condition: fix printing of ConditionNull= + 572385e135 test: add testcase for issue #12883 + 9aa1edddb0 conf-parser: fix continuation handling + 8fbc72f45f networkd: fix link_up() (#12505) + +------------------------------------------------------------------- +Mon Jul 1 15:14:58 UTC 2019 - Franck Bui + +- State directory of systemd-timesync might become inaccessible after upgrading to v240+ (bsc#1137341) + + This happens for users who had previously used systemd-timesync with + DynamicUser=true, ie the ones who upgraded from a systemd version + between v235 and v239 to systemd v240 and later (v240 was the + version where DynamicUser was switched back to OFF). + ------------------------------------------------------------------- Tue May 28 11:53:30 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index bb101f9f..28708939 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.77.geaa7b8b148 +%define suse_version +suse.135.g0f9271c133 %bcond_with gnuefi %if 0%{?bootstrap} @@ -763,6 +763,17 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# Due to the fact that DynamicUser= was turned ON during v235 and then +# switched back to off in v240, /var/lib/systemd/timesync might be a +# symlink pointing to /var/lib/private/systemd/timesync, which is +# inaccessible for systemd-timesync user as /var/lib/private is 0700 +# root:root, see https://github.com/systemd/systemd/issues/11329 for +# details. Note: only TW users might be affected by this bug. +if [ -L %{_localstatedir}/lib/systemd/timesync ]; then + rm %{_localstatedir}/lib/systemd/timesync + mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync +fi + # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : diff --git a/systemd-v242+suse.135.g0f9271c133.tar.xz b/systemd-v242+suse.135.g0f9271c133.tar.xz new file mode 100644 index 00000000..eadc9ec2 --- /dev/null +++ b/systemd-v242+suse.135.g0f9271c133.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:383bf8d4d50df8d334449ce7135d4de33e5c386109791914c6e6c4474bd2f5db +size 5325036 diff --git a/systemd-v242+suse.77.geaa7b8b148.tar.xz b/systemd-v242+suse.77.geaa7b8b148.tar.xz deleted file mode 100644 index a33f98d1..00000000 --- a/systemd-v242+suse.77.geaa7b8b148.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dbfb5d5a7c25807a420b63449cb2e275f610c31c3bdcdd84264c17797617a3d -size 5322904 diff --git a/systemd.changes b/systemd.changes index adc89a36..86dc393e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Mon Jul 22 15:29:51 UTC 2019 - Franck Bui + +- Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) + + 07f0549ffe network: do not send ipv6 token to kernel + 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS + 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) + 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs + eb6c17c178 util-lib: fix a typo in rdrand + 829c20dc8e random-util: rename "err" to "success" + 5442366fbf man: rework the description of Aliases and .wants/.requires directories + ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly + 09774a5fcb meson: make nologin path build time configurable + 69ffeeb0b1 man: add note about systemctl stop return value + 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot + 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" + 46f3db894b shared/conf-parser: be nice and ignore lines without "=" + 7d928995f7 nspawn: fix memleak in argument parsing + 7727e6c0ae resolve: fix memleak + 7f32a81976 journal: properly read unaligned le64 integers + fa419099e5 activate: move array allocation to heap + 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" + a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration + a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful + d9a5a70a59 factory: tighten PAM configuration + 5e2d3bf80b test: make sure colors don't confuse our test + 5fe3be1334 wait-online: change log level + c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue + 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= + 5964d1474e man: offline-updates: make dependence on system-update.target explicit + a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() + 7c46a694ca man: add example for setting multiple properties at once + 1d72789271 man: CPUShares= is so 2015 + 45da304673 man: document that WakeSystem= requires privs + bed58a06e4 man: document that "systemd-analyze blame/critical-chain" is not useful to track down job latency + c5461f31b3 man: be more explicit that Type=oneshot services are not "active" after starting + 455ee07abe man: document that the supplementary groups list is initialized from User='s database entry + 5f0cb2616a alloc-util: drop _alloc_(2, 3) decorator from memdup_suffix0_multiply() + 7bc336794d generator: downgrade Requires= → Wants= of fsck from /usr mount unit + 66465c4381 systemctl: allow "cat" on units with bad settings + ca937b49da pid1: fix serialization/deserialization of commmands with spaces + 4bb3113023 growfs: call crypt_set_debug_level() correctly, skip if not needed + 0db716771e cryptsetup: enable libcryptsetup debug logging if we want it + c8b9b3956f cryptsetup: set libcryptsetup global log callback too + 679b3f6b7f basic/log: fix SYSTEMD_LOG_* parsing error messages + 8d6b5158aa units: add SystemCallErrorNumber=EPERM to systemd-portabled.service + 6681fcd445 network: fix the initial value of the counter for brvlan + 853ec5f458 man: Add some notes about variable $prefix for StateDirectory= + e6d23358e9 sd-netlink: fix inverted log message + 6feb862407 blockdev: filter out invalid block devices early + 9f7c0dbc75 blockdev-util: propagate actual error + 3f5355bcb9 man: document tmpfiles.d/ user/group resolvability needs + c15b92cd98 man: fix wrong udev property name + 9768a900d6 meson: drop duplicated source + 15194f22ed cryptsetup-generator: fix luks-* entry parsing from crypttab + c2475390b4 core: skip whitespace after "|" and "!" in the condition parser + fdc754aeb7 shared/condition: fix printing of ConditionNull= + 572385e135 test: add testcase for issue #12883 + 9aa1edddb0 conf-parser: fix continuation handling + 8fbc72f45f networkd: fix link_up() (#12505) + +------------------------------------------------------------------- +Mon Jul 1 15:14:58 UTC 2019 - Franck Bui + +- State directory of systemd-timesync might become inaccessible after upgrading to v240+ (bsc#1137341) + + This happens for users who had previously used systemd-timesync with + DynamicUser=true, ie the ones who upgraded from a systemd version + between v235 and v239 to systemd v240 and later (v240 was the + version where DynamicUser was switched back to OFF). + ------------------------------------------------------------------- Tue May 28 11:53:30 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4559a522..352e67a4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.77.geaa7b8b148 +%define suse_version +suse.135.g0f9271c133 %bcond_with gnuefi %if 0%{?bootstrap} @@ -761,6 +761,17 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done +# Due to the fact that DynamicUser= was turned ON during v235 and then +# switched back to off in v240, /var/lib/systemd/timesync might be a +# symlink pointing to /var/lib/private/systemd/timesync, which is +# inaccessible for systemd-timesync user as /var/lib/private is 0700 +# root:root, see https://github.com/systemd/systemd/issues/11329 for +# details. Note: only TW users might be affected by this bug. +if [ -L %{_localstatedir}/lib/systemd/timesync ]; then + rm %{_localstatedir}/lib/systemd/timesync + mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync +fi + # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : From 80c9a42efca9786ca0c3b03b0b7af6d5174b3567fcd91e6f663ea9d06fcc9661 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 3 Sep 2019 15:38:17 +0000 Subject: [PATCH 434/991] Accepting request 728046 from home:fbui:systemd:openSUSE-Factory - Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for details. Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as this functionality had been deprecated during the previous release and now have been dropped by upstream. - systemd-container creates and owns /etc/systemd/nspawn now OBS-URL: https://build.opensuse.org/request/show/728046 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1066 --- 0001-Revert-insserv.conf-generator.patch | 365 ------------------ ...nerator-deprecate-halt.local-support.patch | 31 -- ...e-etc-resolv.conf-symlink-at-runtime.patch | 17 +- systemd-mini.changes | 20 + systemd-mini.spec | 23 +- systemd-v242+suse.135.g0f9271c133.tar.xz | 3 - systemd-v243+suse.32.ge0b24c4356.tar.xz | 3 + systemd.changes | 20 + systemd.spec | 23 +- 9 files changed, 76 insertions(+), 429 deletions(-) delete mode 100644 0001-Revert-insserv.conf-generator.patch delete mode 100644 0001-rc-local-generator-deprecate-halt.local-support.patch delete mode 100644 systemd-v242+suse.135.g0f9271c133.tar.xz create mode 100644 systemd-v243+suse.32.ge0b24c4356.tar.xz diff --git a/0001-Revert-insserv.conf-generator.patch b/0001-Revert-insserv.conf-generator.patch deleted file mode 100644 index cdcd3409..00000000 --- a/0001-Revert-insserv.conf-generator.patch +++ /dev/null @@ -1,365 +0,0 @@ -From e143d8271cd8d8dd862a627754d3daa2d6f9cd48 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 27 May 2019 10:54:26 +0200 -Subject: [PATCH] Revert "insserv.conf generator" - -This reverts commit dbb7a2e71bec6f6400f2b67cc409b22915fe8c72. - -The only (system) packages which were still relying on the insserv-generator -have been fixed, see bsc#1052837 for the details. - -[fbui: fixes bsc#1052837] ---- - meson.build | 8 - - src/insserv-generator/insserv-generator.c | 320 ---------------------- - 2 files changed, 328 deletions(-) - delete mode 100644 src/insserv-generator/insserv-generator.c - -diff --git a/meson.build b/meson.build -index 54664661b5..4377fe8419 100644 ---- a/meson.build -+++ b/meson.build -@@ -2083,14 +2083,6 @@ if conf.get('HAVE_SYSV_COMPAT') == 1 - install_rpath : rootlibexecdir, - install : true, - install_dir : systemgeneratordir) -- -- executable('systemd-insserv-generator', -- 'src/insserv-generator/insserv-generator.c', -- include_directories : includes, -- link_with : [libshared], -- install_rpath : rootlibexecdir, -- install : true, -- install_dir : systemgeneratordir) - endif - - if conf.get('ENABLE_HOSTNAMED') == 1 -diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c -deleted file mode 100644 -index 23b5a8255a..0000000000 ---- a/src/insserv-generator/insserv-generator.c -+++ /dev/null -@@ -1,320 +0,0 @@ --/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -- --/*** -- This file is part of systemd. -- -- Copyright 2012 Lennart Poettering -- -- systemd is free software; you can redistribute it and/or modify it -- under the terms of the GNU Lesser General Public License as published by -- the Free Software Foundation; either version 2.1 of the License, or -- (at your option) any later version. -- -- systemd is distributed in the hope that it will be useful, but -- WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public License -- along with systemd; If not, see . -- ***/ -- --#include --#include --#include --#include -- --#include "alloc-util.h" --#include "mkdir.h" --#include "log.h" --#include "fileio.h" --#include "unit-name.h" --#include "special.h" --#include "path-util.h" --#include "util.h" --#include "fd-util.h" --#include "string-util.h" --#include "strv.h" -- --static const char *arg_dest = "/tmp"; -- --static char *sysv_translate_name(const char *name) { -- char *r; -- -- r = new(char, strlen(name) + sizeof(".service")); -- if (!r) -- return NULL; -- -- if (endswith(name, ".sh")) -- /* Drop .sh suffix */ -- strcpy(stpcpy(r, name) - 3, ".service"); -- if (startswith(name, "boot.")) -- /* Drop SuSE-style boot. prefix */ -- strcpy(stpcpy(r, name + 5), ".service"); -- else -- /* Normal init script name */ -- strcpy(stpcpy(r, name), ".service"); -- -- return r; --} -- --static int sysv_translate_facility(const char *name, const char *filename, char **_r) { -- -- /* We silently ignore the $ prefix here. According to the LSB -- * spec it simply indicates whether something is a -- * standardized name or a distribution-specific one. Since we -- * just follow what already exists and do not introduce new -- * uses or names we don't care who introduced a new name. */ -- -- static const char * const table[] = { -- /* LSB defined facilities */ -- "local_fs", NULL, -- "network", SPECIAL_NETWORK_ONLINE_TARGET, -- "named", SPECIAL_NSS_LOOKUP_TARGET, -- "portmap", SPECIAL_RPCBIND_TARGET, -- "remote_fs", SPECIAL_REMOTE_FS_TARGET, -- "syslog", NULL, -- "time", SPECIAL_TIME_SYNC_TARGET, -- }; -- -- unsigned i; -- int e; -- char *r; -- const char *n; -- -- assert(name); -- assert(_r); -- -- n = *name == '$' ? name + 1 : name; -- -- for (i = 0; i < ELEMENTSOF(table); i += 2) { -- -- if (!streq(table[i], n)) -- continue; -- -- if (!table[i+1]) -- return 0; -- -- r = strdup(table[i+1]); -- if (!r) -- return log_oom(); -- -- goto finish; -- } -- -- /* If we don't know this name, fallback heuristics to figure -- * out whether something is a target or a service alias. */ -- -- if (*name == '$') { -- if (!unit_prefix_is_valid(n)) -- return -EINVAL; -- -- /* Facilities starting with $ are most likely targets */ -- e = unit_name_build(n, NULL, ".target", &r); -- if (e < 0) -- return log_error_errno(e, "Failed to generate unit name: %m"); -- -- } else if (filename && streq(name, filename)) -- /* Names equaling the file name of the services are redundant */ -- return 0; -- else -- /* Everything else we assume to be normal service names */ -- r = sysv_translate_name(n); -- -- if (!r) -- return -ENOMEM; -- --finish: -- *_r = r; -- -- return 1; --} -- -- -- --static int parse_insserv_conf(const char* filename) { -- _cleanup_fclose_ FILE *f = NULL; -- int r; -- -- if (!(f = fopen(filename, "re"))) { -- log_debug("Failed to open file %s", filename); -- r = errno == ENOENT ? 0 : -errno; -- return r; -- } -- -- while (!feof(f)) { -- char l[LINE_MAX], *t; -- _cleanup_strv_free_ char **parsed = NULL; -- -- if (!fgets(l, sizeof(l), f)) { -- if (feof(f)) -- break; -- -- r = -errno; -- log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -- return -r; -- } -- -- t = strstrip(l); -- if (*t != '$' && *t != '<') -- continue; -- -- parsed = strv_split(t,WHITESPACE); -- /* we ignore , not used, equivalent to X-Interactive */ -- if (parsed && !startswith_no_case (parsed[0], "")) { -- _cleanup_free_ char *facility = NULL; -- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) -- continue; -- if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -- _cleanup_free_ char *unit = NULL; -- /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -- unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); -- if (!unit) -- return log_oom(); -- -- mkdir_parents_label(unit, 0755); -- -- r = write_string_file(unit, -- "# Automatically generated by systemd-insserv-generator\n\n" -- "[Unit]\n" -- "Wants=remote-fs-pre.target\n", WRITE_STRING_FILE_CREATE); -- if (r) -- return r; -- free (facility); -- facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -- } -- if (facility && endswith(facility, ".target")) { -- char *name, **j; -- FILE *file = NULL; -- -- STRV_FOREACH (j, parsed+1) { -- _cleanup_free_ char *unit = NULL; -- _cleanup_free_ char *dep = NULL; -- -- if (*j[0] == '+') -- name = *j+1; -- else -- name = *j; -- if (streq(name, "boot.localfs") || -- streq(name, "boot.crypto")) -- continue; -- if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -- continue; -- -- unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); -- if (!unit) -- return log_oom(); -- -- mkdir_parents_label(unit, 0755); -- -- file = fopen(unit, "wxe"); -- if (!file) { -- if (errno == EEXIST) -- log_error("Failed to create drop-in file %s", unit); -- else -- log_error("Failed to create drop-in file %s: %m", unit); -- return -errno; -- } -- -- fprintf(file, -- "# Automatically generated by systemd-insserv-generator\n\n" -- "[Unit]\n" -- "Wants=%s\n" -- "Before=%s\n", -- facility, facility); -- -- fflush(file); -- if (ferror(file)) { -- log_error("Failed to write unit file %s: %m", unit); -- return -errno; -- } -- fclose(file); -- -- if (*j[0] != '+') { -- free (unit); -- unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); -- if (!unit) -- return log_oom(); -- -- mkdir_parents_label(unit, 0755); -- -- file = fopen(unit, "wxe"); -- if (!file) { -- if (errno == EEXIST) -- log_error("Failed to create drop-in file %s, as it already exists", unit); -- else -- log_error("Failed to create drop-in file %s: %m", unit); -- return -errno; -- } -- -- -- fprintf(file, -- "# Automatically generated by systemd-insserv-generator\n\n" -- "[Unit]\n" -- "SourcePath=%s\n" -- "Requires=%s\n", -- filename, dep); -- fflush(file); -- if (ferror(file)) { -- log_error("Failed to write unit file %s: %m", unit); -- return -errno; -- } -- fclose(file); -- } -- } -- } -- } -- } -- return r; --} -- --static int parse_insserv(void) { -- DIR *d = NULL; -- struct dirent *de; -- int r = 0; -- -- if (!(d = opendir("/etc/insserv.conf.d/"))) { -- if (errno != ENOENT) { -- log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -- } -- } else { -- -- while ((de = readdir(d))) { -- char *path = NULL; -- if (hidden_or_backup_file(de->d_name)) -- continue; -- -- path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); -- parse_insserv_conf(path); -- free(path); -- } -- closedir (d); -- } -- -- r = parse_insserv_conf("/etc/insserv.conf"); -- -- return r; --} -- --int main(int argc, char *argv[]) { -- int r = 0; -- -- if (argc > 1 && argc != 4) { -- log_error("This program takes three or no arguments."); -- return EXIT_FAILURE; -- } -- -- if (argc > 1) -- arg_dest = argv[1]; -- -- log_set_prohibit_ipc(true); -- log_set_target(LOG_TARGET_AUTO); -- log_parse_environment(); -- log_open(); -- -- umask(0022); -- -- r = parse_insserv(); -- -- return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; --} --- -2.21.0 - diff --git a/0001-rc-local-generator-deprecate-halt.local-support.patch b/0001-rc-local-generator-deprecate-halt.local-support.patch deleted file mode 100644 index cda1fa59..00000000 --- a/0001-rc-local-generator-deprecate-halt.local-support.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5e397db506aa75e50387bdcb6bfd3d4fa7ac92e7 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 27 May 2019 14:50:36 +0200 -Subject: [PATCH] rc-local-generator: deprecate halt.local support - -Its support will be dropped after systemd v242, see [1]. So let's give users of -this script a chance to replace it nicely. - -[1] https://github.com/systemd/systemd/pull/12571 ---- - src/rc-local-generator/rc-local-generator.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c -index 7a3948e92d..5699c4f876 100644 ---- a/src/rc-local-generator/rc-local-generator.c -+++ b/src/rc-local-generator/rc-local-generator.c -@@ -68,6 +68,10 @@ static int run(const char *dest, const char *dest_early, const char *dest_late) - if (check_executable(RC_LOCAL_SCRIPT_PATH_STOP) >= 0) { - log_debug("Automatically adding halt-local.service."); - -+ log_warning("Support for %s will be removed soon. " -+ "Please see systemd-shutdown(8) man page for a similar but better alternative.", -+ RC_LOCAL_SCRIPT_PATH_STOP); -+ - k = add_symlink("halt-local.service", "final.target"); - } - --- -2.21.0 - diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch index df56368d..8f3549ad 100644 --- a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -1,4 +1,4 @@ -From 86aa208e639b119007332718aa4f453af2a061d0 Mon Sep 17 00:00:00 2001 +From 0c670fec00f3d5c103d9b7415d4e0510c61ad006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 11 Mar 2016 17:06:17 -0500 Subject: [PATCH] resolved: create /etc/resolv.conf symlink at runtime @@ -18,10 +18,10 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1313085 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index f4efddf8e5..3386e3bf67 100644 +index 2ca9fbdc72..3c8a9ff12a 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c -@@ -45,6 +45,10 @@ static int run(int argc, char *argv[]) { +@@ -49,6 +49,10 @@ static int run(int argc, char *argv[]) { /* Drop privileges, but only if we have been started as root. If we are not running as root we assume most * privileges are already dropped. */ if (getuid() == 0) { @@ -33,19 +33,16 @@ index f4efddf8e5..3386e3bf67 100644 /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ r = drop_privileges(uid, gid, diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index df8d42101c..928105ea8d 100644 +index f82e0b82ce..66a777bdb2 100644 --- a/tmpfiles.d/etc.conf.m4 +++ b/tmpfiles.d/etc.conf.m4 -@@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts +@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts m4_ifdef(`HAVE_SMACK_RUN_LABEL', t /etc/mtab - - - - security.SMACK64=_ )m4_dnl -m4_ifdef(`ENABLE_RESOLVE', -L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf -)m4_dnl - C /etc/nsswitch.conf - - - - + C! /etc/nsswitch.conf - - - - m4_ifdef(`HAVE_PAM', - C /etc/pam.d - - - - --- -2.19.2 - + C! /etc/pam.d - - - - diff --git a/systemd-mini.changes b/systemd-mini.changes index 86dc393e..f7fc44e9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Tue Sep 3 15:10:10 UTC 2019 - Franck Bui + +- Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) + + See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + details. + + Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped + from branch SUSE/v243 while we were rebasing. + + Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as + this functionality had been deprecated during the previous release + and now have been dropped by upstream. + +------------------------------------------------------------------- +Wed Jul 31 14:38:13 UTC 2019 - Franck Bui + +- systemd-container creates and owns /etc/systemd/nspawn now + ------------------------------------------------------------------- Mon Jul 22 15:29:51 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 28708939..2e502eb5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.135.g0f9271c133 +%define suse_version +suse.32.ge0b24c4356 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 242 +Version: 243 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -167,8 +167,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: 0001-Revert-insserv.conf-generator.patch -Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -449,7 +447,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ - -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ -Dportabled=false \ -Dseccomp=auto \ @@ -458,9 +455,12 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Dpstore=false \ +%if ! 0%{?bootstrap} + -Dman=true \ + -Dhtml=true \ +%endif %if 0%{?bootstrap} - -Dman=false \ - -Dhtml=false \ -Dnss-myhostname=false \ %endif %if %{without coredump} @@ -528,6 +528,8 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn + # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -567,6 +569,7 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf # Make sure systemd-network polkit rules file starts with a suitable # number prefix so it takes precedence over our polkit-default-privs. @@ -1031,6 +1034,7 @@ fi %{_systemd_system_env_generator_dir} %{_systemd_user_env_generator_dir} %dir %{_ntpunitsdir} +%{_ntpunitsdir}/80-systemd-timesync.list %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -1099,7 +1103,6 @@ fi %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf @@ -1137,8 +1140,6 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1159,6 +1160,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} @@ -1339,6 +1341,7 @@ fi %files container %defattr(-,root,root) +%dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %if %{with networkd} diff --git a/systemd-v242+suse.135.g0f9271c133.tar.xz b/systemd-v242+suse.135.g0f9271c133.tar.xz deleted file mode 100644 index eadc9ec2..00000000 --- a/systemd-v242+suse.135.g0f9271c133.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:383bf8d4d50df8d334449ce7135d4de33e5c386109791914c6e6c4474bd2f5db -size 5325036 diff --git a/systemd-v243+suse.32.ge0b24c4356.tar.xz b/systemd-v243+suse.32.ge0b24c4356.tar.xz new file mode 100644 index 00000000..c54d5196 --- /dev/null +++ b/systemd-v243+suse.32.ge0b24c4356.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7826b55ff3010000ec1b7843eb823a54b30138b1dbc825d7b1a85d9eaa0c56b2 +size 5615268 diff --git a/systemd.changes b/systemd.changes index 86dc393e..f7fc44e9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Tue Sep 3 15:10:10 UTC 2019 - Franck Bui + +- Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) + + See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + details. + + Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped + from branch SUSE/v243 while we were rebasing. + + Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as + this functionality had been deprecated during the previous release + and now have been dropped by upstream. + +------------------------------------------------------------------- +Wed Jul 31 14:38:13 UTC 2019 - Franck Bui + +- systemd-container creates and owns /etc/systemd/nspawn now + ------------------------------------------------------------------- Mon Jul 22 15:29:51 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 352e67a4..92b17b4b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.135.g0f9271c133 +%define suse_version +suse.32.ge0b24c4356 %bcond_with gnuefi %if 0%{?bootstrap} @@ -51,7 +51,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 242 +Version: 243 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -165,8 +165,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: 0001-Revert-insserv.conf-generator.patch -Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -447,7 +445,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ - -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ -Dportabled=false \ -Dseccomp=auto \ @@ -456,9 +453,12 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Dpstore=false \ +%if ! 0%{?bootstrap} + -Dman=true \ + -Dhtml=true \ +%endif %if 0%{?bootstrap} - -Dman=false \ - -Dhtml=false \ -Dnss-myhostname=false \ %endif %if %{without coredump} @@ -526,6 +526,8 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn + # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -565,6 +567,7 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf # Make sure systemd-network polkit rules file starts with a suitable # number prefix so it takes precedence over our polkit-default-privs. @@ -1029,6 +1032,7 @@ fi %{_systemd_system_env_generator_dir} %{_systemd_user_env_generator_dir} %dir %{_ntpunitsdir} +%{_ntpunitsdir}/80-systemd-timesync.list %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -1097,7 +1101,6 @@ fi %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf @@ -1135,8 +1138,6 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1157,6 +1158,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} @@ -1337,6 +1339,7 @@ fi %files container %defattr(-,root,root) +%dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %if %{with networkd} From a56e24f754c6147f89235fd99322804d2af22bf06795d163d4623a5bb3ecd0fb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Sep 2019 07:09:31 +0000 Subject: [PATCH 435/991] Accepting request 728152 from home:fbui:systemd:openSUSE-Factory Update _service OBS-URL: https://build.opensuse.org/request/show/728152 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1067 --- _service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_service b/_service index 43a94db3..a55e596a 100644 --- a/_service +++ b/_service @@ -10,7 +10,7 @@ openSUSE-Factory - *systemd-v237+suse.*.tar + *systemd-v243+suse.*.tar xz From 769af78b455a4c69e68c23f528ccdad0a9973fa0eec2781453d5544cb80196a5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 6 Sep 2019 06:57:45 +0000 Subject: [PATCH 436/991] Accepting request 728691 from home:fbui:systemd:openSUSE-Factory - Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch in the git repo This patch has been in the quarantine area long enough, so let's move it in the git repo. OBS-URL: https://build.opensuse.org/request/show/728691 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1068 --- ...e-etc-resolv.conf-symlink-at-runtime.patch | 48 ------------------- systemd-mini.changes | 9 ++++ systemd-mini.spec | 1 - systemd.changes | 9 ++++ systemd.spec | 1 - 5 files changed, 18 insertions(+), 50 deletions(-) delete mode 100644 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch deleted file mode 100644 index 8f3549ad..00000000 --- a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0c670fec00f3d5c103d9b7415d4e0510c61ad006 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH] resolved: create /etc/resolv.conf symlink at runtime - -If the symlink doesn't exists, and we are being started, let's -create it to provie name resolution. - -If it exists, do nothing. In particular, if it is a broken symlink, -we cannot really know if the administator configured it to point to -a location used by some service that hasn't started yet, so we -don't touch it in that case either. - -https://bugzilla.redhat.com/show_bug.cgi?id=1313085 ---- - src/resolve/resolved.c | 4 ++++ - tmpfiles.d/etc.conf.m4 | 3 --- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index 2ca9fbdc72..3c8a9ff12a 100644 ---- a/src/resolve/resolved.c -+++ b/src/resolve/resolved.c -@@ -49,6 +49,10 @@ static int run(int argc, char *argv[]) { - /* Drop privileges, but only if we have been started as root. If we are not running as root we assume most - * privileges are already dropped. */ - if (getuid() == 0) { -+ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); -+ if (r < 0 && errno != EEXIST) -+ log_warning_errno(errno, -+ "Could not create /etc/resolv.conf symlink: %m"); - - /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ - r = drop_privileges(uid, gid, -diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index f82e0b82ce..66a777bdb2 100644 ---- a/tmpfiles.d/etc.conf.m4 -+++ b/tmpfiles.d/etc.conf.m4 -@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts - m4_ifdef(`HAVE_SMACK_RUN_LABEL', - t /etc/mtab - - - - security.SMACK64=_ - )m4_dnl --m4_ifdef(`ENABLE_RESOLVE', --L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf --)m4_dnl - C! /etc/nsswitch.conf - - - - - m4_ifdef(`HAVE_PAM', - C! /etc/pam.d - - - - diff --git a/systemd-mini.changes b/systemd-mini.changes index f7fc44e9..4bc15b33 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 6 06:20:11 UTC 2019 - Franck Bui + +- Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + in the git repo + + This patch has been in the quarantine area long enough, so let's + move it in the git repo. + ------------------------------------------------------------------- Tue Sep 3 15:10:10 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 2e502eb5..7fe0bafa 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -165,7 +165,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description diff --git a/systemd.changes b/systemd.changes index f7fc44e9..4bc15b33 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 6 06:20:11 UTC 2019 - Franck Bui + +- Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + in the git repo + + This patch has been in the quarantine area long enough, so let's + move it in the git repo. + ------------------------------------------------------------------- Tue Sep 3 15:10:10 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 92b17b4b..924d9771 100644 --- a/systemd.spec +++ b/systemd.spec @@ -163,7 +163,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description From 3a39ad7e668969caf50b827034011fd2ce41edc5a5e7337500e031046c25774a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 18 Sep 2019 11:08:45 +0000 Subject: [PATCH 437/991] Accepting request 731698 from home:lnussel:branches:Base:System - enable systemd-portabled OBS-URL: https://build.opensuse.org/request/show/731698 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1069 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 43 +++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 43 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 4bc15b33..434857ef 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -22,6 +22,11 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui this functionality had been deprecated during the previous release and now have been dropped by upstream. +------------------------------------------------------------------- +Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel + +- enable systemd-portabled + ------------------------------------------------------------------- Wed Jul 31 14:38:13 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 7fe0bafa..76e73fc9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -35,6 +35,7 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with portabled %bcond_with resolved %bcond_with journal_remote %else @@ -43,6 +44,7 @@ %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without portabled %bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 @@ -329,6 +331,26 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with portabled} +%package portabled +Summary: Systemd tools for portable services +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description portabled +Systemd tools to manage portable services. The feature is still +considered experimental so the package might change or vanish. +Use at own risk. + +More information can be found online: + +http://0pointer.net/blog/walkthrough-for-portable-services.html +https://systemd.io/PORTABLE_SERVICES + +%endif + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -447,7 +469,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ +%if %{without portabled} -Dportabled=false \ +%endif -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -864,6 +888,11 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%if %{with portabled} +%post portabled +%tmpfiles_create portables.conf +%endif + %if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ @@ -1383,6 +1412,20 @@ fi %endif %endif +%if %{with portabled} +%files portabled +%defattr(-,root,root) +%{_bindir}/portablectl +%{_prefix}/lib/systemd/systemd-portabled +%{_prefix}/lib/systemd/portable +%{_unitdir}/systemd-portabled.service +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_tmpfilesdir}/portables.conf +%endif + %if ! 0%{?bootstrap} %files logger %defattr(-,root,root) diff --git a/systemd.changes b/systemd.changes index 4bc15b33..434857ef 100644 --- a/systemd.changes +++ b/systemd.changes @@ -22,6 +22,11 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui this functionality had been deprecated during the previous release and now have been dropped by upstream. +------------------------------------------------------------------- +Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel + +- enable systemd-portabled + ------------------------------------------------------------------- Wed Jul 31 14:38:13 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 924d9771..e2e2b30a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -33,6 +33,7 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with portabled %bcond_with resolved %bcond_with journal_remote %else @@ -41,6 +42,7 @@ %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without portabled %bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 @@ -327,6 +329,26 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with portabled} +%package portabled +Summary: Systemd tools for portable services +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description portabled +Systemd tools to manage portable services. The feature is still +considered experimental so the package might change or vanish. +Use at own risk. + +More information can be found online: + +http://0pointer.net/blog/walkthrough-for-portable-services.html +https://systemd.io/PORTABLE_SERVICES + +%endif + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -445,7 +467,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ +%if %{without portabled} -Dportabled=false \ +%endif -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -862,6 +886,11 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%if %{with portabled} +%post portabled +%tmpfiles_create portables.conf +%endif + %if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ @@ -1381,6 +1410,20 @@ fi %endif %endif +%if %{with portabled} +%files portabled +%defattr(-,root,root) +%{_bindir}/portablectl +%{_prefix}/lib/systemd/systemd-portabled +%{_prefix}/lib/systemd/portable +%{_unitdir}/systemd-portabled.service +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_tmpfilesdir}/portables.conf +%endif + %if ! 0%{?bootstrap} %files logger %defattr(-,root,root) From cdc959e14f0bdb38fd3397d9fa0c9a2d1a945e94a1b799afeef77cc6983442e6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 18 Sep 2019 13:55:56 +0000 Subject: [PATCH 438/991] Accepting request 731744 from home:fbui:systemd:openSUSE-Factory - Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) dd14da3bb6 core: restore initialization of u->source_mtime d62f30f647 resolved: create /etc/resolv.conf symlink at runtime - Slighly rework (mostly reorganization) the portable stuff OBS-URL: https://build.opensuse.org/request/show/731744 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1070 --- systemd-mini.changes | 14 ++++++ systemd-mini.spec | 60 ++++++++++++++----------- systemd-v243+suse.32.ge0b24c4356.tar.xz | 3 -- systemd-v243+suse.36.g9e41d7ec35.tar.xz | 3 ++ systemd.changes | 14 ++++++ systemd.spec | 60 ++++++++++++++----------- 6 files changed, 101 insertions(+), 53 deletions(-) delete mode 100644 systemd-v243+suse.32.ge0b24c4356.tar.xz create mode 100644 systemd-v243+suse.36.g9e41d7ec35.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 434857ef..a4327193 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Sep 18 12:17:37 UTC 2019 - Franck Bui + +- Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 + + fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) + dd14da3bb6 core: restore initialization of u->source_mtime + d62f30f647 resolved: create /etc/resolv.conf symlink at runtime + +------------------------------------------------------------------- +Wed Sep 18 11:33:16 UTC 2019 - Franck Bui + +- Slighly rework (mostly reorganization) the portable stuff + ------------------------------------------------------------------- Fri Sep 6 06:20:11 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 76e73fc9..93b829d2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.32.ge0b24c4356 +%define suse_version +suse.36.g9e41d7ec35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -332,14 +332,14 @@ This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. %if %{with portabled} -%package portabled +%package portable Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires -%description portabled +%description portable Systemd tools to manage portable services. The feature is still considered experimental so the package might change or vanish. Use at own risk. @@ -469,9 +469,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ -%if %{without portabled} - -Dportabled=false \ -%endif -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -498,6 +495,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if %{without journal_remote} -Dremote=false \ %endif +%if %{without portabled} + -Dportabled=false \ +%endif %if %{without machined} -Dmachined=false \ %endif @@ -888,11 +888,6 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi -%if %{with portabled} -%post portabled -%tmpfiles_create portables.conf -%endif - %if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ @@ -941,6 +936,21 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with portabled} +%pre portable +%service_add_pre systemd-portabled.service + +%post portable +%tmpfiles_create portables.conf +%service_add_post systemd-portabled.service + +%preun portable +%service_del_preun systemd-portabled.service + +%postun portable +%service_del_postun systemd-portabled.service +%endif + %clean %files -f systemd.lang @@ -1412,20 +1422,6 @@ fi %endif %endif -%if %{with portabled} -%files portabled -%defattr(-,root,root) -%{_bindir}/portablectl -%{_prefix}/lib/systemd/systemd-portabled -%{_prefix}/lib/systemd/portable -%{_unitdir}/systemd-portabled.service -%{_unitdir}/dbus-org.freedesktop.portable1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service -%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy -%{_tmpfilesdir}/portables.conf -%endif - %if ! 0%{?bootstrap} %files logger %defattr(-,root,root) @@ -1479,4 +1475,18 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with portabled} +%files portable +%defattr(-,root,root) +%{_bindir}/portablectl +%{_prefix}/lib/systemd/systemd-portabled +%{_prefix}/lib/systemd/portable +%{_unitdir}/systemd-portabled.service +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_tmpfilesdir}/portables.conf +%endif + %changelog diff --git a/systemd-v243+suse.32.ge0b24c4356.tar.xz b/systemd-v243+suse.32.ge0b24c4356.tar.xz deleted file mode 100644 index c54d5196..00000000 --- a/systemd-v243+suse.32.ge0b24c4356.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7826b55ff3010000ec1b7843eb823a54b30138b1dbc825d7b1a85d9eaa0c56b2 -size 5615268 diff --git a/systemd-v243+suse.36.g9e41d7ec35.tar.xz b/systemd-v243+suse.36.g9e41d7ec35.tar.xz new file mode 100644 index 00000000..5a752616 --- /dev/null +++ b/systemd-v243+suse.36.g9e41d7ec35.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37e21cde36399fea6092d54907123ee25da6ef9f1c50746f720576f6ca1a03ba +size 5615256 diff --git a/systemd.changes b/systemd.changes index 434857ef..a4327193 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Sep 18 12:17:37 UTC 2019 - Franck Bui + +- Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 + + fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) + dd14da3bb6 core: restore initialization of u->source_mtime + d62f30f647 resolved: create /etc/resolv.conf symlink at runtime + +------------------------------------------------------------------- +Wed Sep 18 11:33:16 UTC 2019 - Franck Bui + +- Slighly rework (mostly reorganization) the portable stuff + ------------------------------------------------------------------- Fri Sep 6 06:20:11 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e2e2b30a..964daa81 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.32.ge0b24c4356 +%define suse_version +suse.36.g9e41d7ec35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -330,14 +330,14 @@ This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. %if %{with portabled} -%package portabled +%package portable Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires -%description portabled +%description portable Systemd tools to manage portable services. The feature is still considered experimental so the package might change or vanish. Use at own risk. @@ -467,9 +467,6 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ -%if %{without portabled} - -Dportabled=false \ -%endif -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -496,6 +493,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if %{without journal_remote} -Dremote=false \ %endif +%if %{without portabled} + -Dportabled=false \ +%endif %if %{without machined} -Dmachined=false \ %endif @@ -886,11 +886,6 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi -%if %{with portabled} -%post portabled -%tmpfiles_create portables.conf -%endif - %if ! 0%{?bootstrap} %post logger %tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ @@ -939,6 +934,21 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with portabled} +%pre portable +%service_add_pre systemd-portabled.service + +%post portable +%tmpfiles_create portables.conf +%service_add_post systemd-portabled.service + +%preun portable +%service_del_preun systemd-portabled.service + +%postun portable +%service_del_postun systemd-portabled.service +%endif + %clean %files -f systemd.lang @@ -1410,20 +1420,6 @@ fi %endif %endif -%if %{with portabled} -%files portabled -%defattr(-,root,root) -%{_bindir}/portablectl -%{_prefix}/lib/systemd/systemd-portabled -%{_prefix}/lib/systemd/portable -%{_unitdir}/systemd-portabled.service -%{_unitdir}/dbus-org.freedesktop.portable1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service -%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy -%{_tmpfilesdir}/portables.conf -%endif - %if ! 0%{?bootstrap} %files logger %defattr(-,root,root) @@ -1477,4 +1473,18 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with portabled} +%files portable +%defattr(-,root,root) +%{_bindir}/portablectl +%{_prefix}/lib/systemd/systemd-portabled +%{_prefix}/lib/systemd/portable +%{_unitdir}/systemd-portabled.service +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_tmpfilesdir}/portables.conf +%endif + %changelog From 347c3f989280a4445290646b2476d9bed30a62e643052e51f46e7d4a5b3f6823 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 23 Sep 2019 12:13:38 +0000 Subject: [PATCH 439/991] Accepting request 732677 from home:fbui:systemd:openSUSE-Factory - Some files related to the portable stuff were missing some %exclude OBS-URL: https://build.opensuse.org/request/show/732677 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1071 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 13 +++++++++++++ systemd.changes | 5 +++++ systemd.spec | 13 +++++++++++++ 4 files changed, 36 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index a4327193..49f95bcf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Sep 23 11:45:18 UTC 2019 - Franck Bui + +- Some files related to the portable stuff were missing some %exclude + ------------------------------------------------------------------- Wed Sep 18 12:17:37 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 93b829d2..87e7e4d3 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1041,6 +1041,13 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with portabled} +%exclude %{_prefix}/lib/systemd/systemd-portabled +%exclude %{_prefix}/lib/systemd/portable +%exclude %{_unitdir}/systemd-portabled.service +%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service +%exclude %{_tmpfilesdir}/portables.conf +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1232,6 +1239,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with portabled} +%exclude %{_mandir}/man*/portablectl* +%exclude %{_mandir}/man*/systemd-portabled* +%endif %endif %{_docdir}/systemd @@ -1487,6 +1498,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service %{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy %{_tmpfilesdir}/portables.conf +%{_mandir}/man*/portablectl* +%{_mandir}/man*/systemd-portabled* %endif %changelog diff --git a/systemd.changes b/systemd.changes index a4327193..49f95bcf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Sep 23 11:45:18 UTC 2019 - Franck Bui + +- Some files related to the portable stuff were missing some %exclude + ------------------------------------------------------------------- Wed Sep 18 12:17:37 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 964daa81..ec3759c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1039,6 +1039,13 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with portabled} +%exclude %{_prefix}/lib/systemd/systemd-portabled +%exclude %{_prefix}/lib/systemd/portable +%exclude %{_unitdir}/systemd-portabled.service +%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service +%exclude %{_tmpfilesdir}/portables.conf +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1230,6 +1237,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with portabled} +%exclude %{_mandir}/man*/portablectl* +%exclude %{_mandir}/man*/systemd-portabled* +%endif %endif %{_docdir}/systemd @@ -1485,6 +1496,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service %{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy %{_tmpfilesdir}/portables.conf +%{_mandir}/man*/portablectl* +%{_mandir}/man*/systemd-portabled* %endif %changelog From 4562d218e1cfab9e7c7e78f40defaa3eef1a309e0f80579a0764ce4cce13deaa Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 4 Oct 2019 09:20:29 +0000 Subject: [PATCH 440/991] Accepting request 732684 from Base:System OBS-URL: https://build.opensuse.org/request/show/732684 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=298 --- 0001-Revert-insserv.conf-generator.patch | 365 ------------------ ...nerator-deprecate-halt.local-support.patch | 31 -- ...e-etc-resolv.conf-symlink-at-runtime.patch | 51 --- _service | 2 +- systemd-mini.changes | 53 +++ systemd-mini.spec | 92 ++++- systemd-v242+suse.135.g0f9271c133.tar.xz | 3 - systemd-v243+suse.36.g9e41d7ec35.tar.xz | 3 + systemd.changes | 53 +++ systemd.spec | 92 ++++- 10 files changed, 270 insertions(+), 475 deletions(-) delete mode 100644 0001-Revert-insserv.conf-generator.patch delete mode 100644 0001-rc-local-generator-deprecate-halt.local-support.patch delete mode 100644 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch delete mode 100644 systemd-v242+suse.135.g0f9271c133.tar.xz create mode 100644 systemd-v243+suse.36.g9e41d7ec35.tar.xz diff --git a/0001-Revert-insserv.conf-generator.patch b/0001-Revert-insserv.conf-generator.patch deleted file mode 100644 index cdcd3409..00000000 --- a/0001-Revert-insserv.conf-generator.patch +++ /dev/null @@ -1,365 +0,0 @@ -From e143d8271cd8d8dd862a627754d3daa2d6f9cd48 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 27 May 2019 10:54:26 +0200 -Subject: [PATCH] Revert "insserv.conf generator" - -This reverts commit dbb7a2e71bec6f6400f2b67cc409b22915fe8c72. - -The only (system) packages which were still relying on the insserv-generator -have been fixed, see bsc#1052837 for the details. - -[fbui: fixes bsc#1052837] ---- - meson.build | 8 - - src/insserv-generator/insserv-generator.c | 320 ---------------------- - 2 files changed, 328 deletions(-) - delete mode 100644 src/insserv-generator/insserv-generator.c - -diff --git a/meson.build b/meson.build -index 54664661b5..4377fe8419 100644 ---- a/meson.build -+++ b/meson.build -@@ -2083,14 +2083,6 @@ if conf.get('HAVE_SYSV_COMPAT') == 1 - install_rpath : rootlibexecdir, - install : true, - install_dir : systemgeneratordir) -- -- executable('systemd-insserv-generator', -- 'src/insserv-generator/insserv-generator.c', -- include_directories : includes, -- link_with : [libshared], -- install_rpath : rootlibexecdir, -- install : true, -- install_dir : systemgeneratordir) - endif - - if conf.get('ENABLE_HOSTNAMED') == 1 -diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c -deleted file mode 100644 -index 23b5a8255a..0000000000 ---- a/src/insserv-generator/insserv-generator.c -+++ /dev/null -@@ -1,320 +0,0 @@ --/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -- --/*** -- This file is part of systemd. -- -- Copyright 2012 Lennart Poettering -- -- systemd is free software; you can redistribute it and/or modify it -- under the terms of the GNU Lesser General Public License as published by -- the Free Software Foundation; either version 2.1 of the License, or -- (at your option) any later version. -- -- systemd is distributed in the hope that it will be useful, but -- WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public License -- along with systemd; If not, see . -- ***/ -- --#include --#include --#include --#include -- --#include "alloc-util.h" --#include "mkdir.h" --#include "log.h" --#include "fileio.h" --#include "unit-name.h" --#include "special.h" --#include "path-util.h" --#include "util.h" --#include "fd-util.h" --#include "string-util.h" --#include "strv.h" -- --static const char *arg_dest = "/tmp"; -- --static char *sysv_translate_name(const char *name) { -- char *r; -- -- r = new(char, strlen(name) + sizeof(".service")); -- if (!r) -- return NULL; -- -- if (endswith(name, ".sh")) -- /* Drop .sh suffix */ -- strcpy(stpcpy(r, name) - 3, ".service"); -- if (startswith(name, "boot.")) -- /* Drop SuSE-style boot. prefix */ -- strcpy(stpcpy(r, name + 5), ".service"); -- else -- /* Normal init script name */ -- strcpy(stpcpy(r, name), ".service"); -- -- return r; --} -- --static int sysv_translate_facility(const char *name, const char *filename, char **_r) { -- -- /* We silently ignore the $ prefix here. According to the LSB -- * spec it simply indicates whether something is a -- * standardized name or a distribution-specific one. Since we -- * just follow what already exists and do not introduce new -- * uses or names we don't care who introduced a new name. */ -- -- static const char * const table[] = { -- /* LSB defined facilities */ -- "local_fs", NULL, -- "network", SPECIAL_NETWORK_ONLINE_TARGET, -- "named", SPECIAL_NSS_LOOKUP_TARGET, -- "portmap", SPECIAL_RPCBIND_TARGET, -- "remote_fs", SPECIAL_REMOTE_FS_TARGET, -- "syslog", NULL, -- "time", SPECIAL_TIME_SYNC_TARGET, -- }; -- -- unsigned i; -- int e; -- char *r; -- const char *n; -- -- assert(name); -- assert(_r); -- -- n = *name == '$' ? name + 1 : name; -- -- for (i = 0; i < ELEMENTSOF(table); i += 2) { -- -- if (!streq(table[i], n)) -- continue; -- -- if (!table[i+1]) -- return 0; -- -- r = strdup(table[i+1]); -- if (!r) -- return log_oom(); -- -- goto finish; -- } -- -- /* If we don't know this name, fallback heuristics to figure -- * out whether something is a target or a service alias. */ -- -- if (*name == '$') { -- if (!unit_prefix_is_valid(n)) -- return -EINVAL; -- -- /* Facilities starting with $ are most likely targets */ -- e = unit_name_build(n, NULL, ".target", &r); -- if (e < 0) -- return log_error_errno(e, "Failed to generate unit name: %m"); -- -- } else if (filename && streq(name, filename)) -- /* Names equaling the file name of the services are redundant */ -- return 0; -- else -- /* Everything else we assume to be normal service names */ -- r = sysv_translate_name(n); -- -- if (!r) -- return -ENOMEM; -- --finish: -- *_r = r; -- -- return 1; --} -- -- -- --static int parse_insserv_conf(const char* filename) { -- _cleanup_fclose_ FILE *f = NULL; -- int r; -- -- if (!(f = fopen(filename, "re"))) { -- log_debug("Failed to open file %s", filename); -- r = errno == ENOENT ? 0 : -errno; -- return r; -- } -- -- while (!feof(f)) { -- char l[LINE_MAX], *t; -- _cleanup_strv_free_ char **parsed = NULL; -- -- if (!fgets(l, sizeof(l), f)) { -- if (feof(f)) -- break; -- -- r = -errno; -- log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -- return -r; -- } -- -- t = strstrip(l); -- if (*t != '$' && *t != '<') -- continue; -- -- parsed = strv_split(t,WHITESPACE); -- /* we ignore , not used, equivalent to X-Interactive */ -- if (parsed && !startswith_no_case (parsed[0], "")) { -- _cleanup_free_ char *facility = NULL; -- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility) -- continue; -- if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -- _cleanup_free_ char *unit = NULL; -- /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -- unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL); -- if (!unit) -- return log_oom(); -- -- mkdir_parents_label(unit, 0755); -- -- r = write_string_file(unit, -- "# Automatically generated by systemd-insserv-generator\n\n" -- "[Unit]\n" -- "Wants=remote-fs-pre.target\n", WRITE_STRING_FILE_CREATE); -- if (r) -- return r; -- free (facility); -- facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -- } -- if (facility && endswith(facility, ".target")) { -- char *name, **j; -- FILE *file = NULL; -- -- STRV_FOREACH (j, parsed+1) { -- _cleanup_free_ char *unit = NULL; -- _cleanup_free_ char *dep = NULL; -- -- if (*j[0] == '+') -- name = *j+1; -- else -- name = *j; -- if (streq(name, "boot.localfs") || -- streq(name, "boot.crypto")) -- continue; -- if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -- continue; -- -- unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL); -- if (!unit) -- return log_oom(); -- -- mkdir_parents_label(unit, 0755); -- -- file = fopen(unit, "wxe"); -- if (!file) { -- if (errno == EEXIST) -- log_error("Failed to create drop-in file %s", unit); -- else -- log_error("Failed to create drop-in file %s: %m", unit); -- return -errno; -- } -- -- fprintf(file, -- "# Automatically generated by systemd-insserv-generator\n\n" -- "[Unit]\n" -- "Wants=%s\n" -- "Before=%s\n", -- facility, facility); -- -- fflush(file); -- if (ferror(file)) { -- log_error("Failed to write unit file %s: %m", unit); -- return -errno; -- } -- fclose(file); -- -- if (*j[0] != '+') { -- free (unit); -- unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL); -- if (!unit) -- return log_oom(); -- -- mkdir_parents_label(unit, 0755); -- -- file = fopen(unit, "wxe"); -- if (!file) { -- if (errno == EEXIST) -- log_error("Failed to create drop-in file %s, as it already exists", unit); -- else -- log_error("Failed to create drop-in file %s: %m", unit); -- return -errno; -- } -- -- -- fprintf(file, -- "# Automatically generated by systemd-insserv-generator\n\n" -- "[Unit]\n" -- "SourcePath=%s\n" -- "Requires=%s\n", -- filename, dep); -- fflush(file); -- if (ferror(file)) { -- log_error("Failed to write unit file %s: %m", unit); -- return -errno; -- } -- fclose(file); -- } -- } -- } -- } -- } -- return r; --} -- --static int parse_insserv(void) { -- DIR *d = NULL; -- struct dirent *de; -- int r = 0; -- -- if (!(d = opendir("/etc/insserv.conf.d/"))) { -- if (errno != ENOENT) { -- log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -- } -- } else { -- -- while ((de = readdir(d))) { -- char *path = NULL; -- if (hidden_or_backup_file(de->d_name)) -- continue; -- -- path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); -- parse_insserv_conf(path); -- free(path); -- } -- closedir (d); -- } -- -- r = parse_insserv_conf("/etc/insserv.conf"); -- -- return r; --} -- --int main(int argc, char *argv[]) { -- int r = 0; -- -- if (argc > 1 && argc != 4) { -- log_error("This program takes three or no arguments."); -- return EXIT_FAILURE; -- } -- -- if (argc > 1) -- arg_dest = argv[1]; -- -- log_set_prohibit_ipc(true); -- log_set_target(LOG_TARGET_AUTO); -- log_parse_environment(); -- log_open(); -- -- umask(0022); -- -- r = parse_insserv(); -- -- return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; --} --- -2.21.0 - diff --git a/0001-rc-local-generator-deprecate-halt.local-support.patch b/0001-rc-local-generator-deprecate-halt.local-support.patch deleted file mode 100644 index cda1fa59..00000000 --- a/0001-rc-local-generator-deprecate-halt.local-support.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5e397db506aa75e50387bdcb6bfd3d4fa7ac92e7 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 27 May 2019 14:50:36 +0200 -Subject: [PATCH] rc-local-generator: deprecate halt.local support - -Its support will be dropped after systemd v242, see [1]. So let's give users of -this script a chance to replace it nicely. - -[1] https://github.com/systemd/systemd/pull/12571 ---- - src/rc-local-generator/rc-local-generator.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c -index 7a3948e92d..5699c4f876 100644 ---- a/src/rc-local-generator/rc-local-generator.c -+++ b/src/rc-local-generator/rc-local-generator.c -@@ -68,6 +68,10 @@ static int run(const char *dest, const char *dest_early, const char *dest_late) - if (check_executable(RC_LOCAL_SCRIPT_PATH_STOP) >= 0) { - log_debug("Automatically adding halt-local.service."); - -+ log_warning("Support for %s will be removed soon. " -+ "Please see systemd-shutdown(8) man page for a similar but better alternative.", -+ RC_LOCAL_SCRIPT_PATH_STOP); -+ - k = add_symlink("halt-local.service", "final.target"); - } - --- -2.21.0 - diff --git a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch deleted file mode 100644 index df56368d..00000000 --- a/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 86aa208e639b119007332718aa4f453af2a061d0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH] resolved: create /etc/resolv.conf symlink at runtime - -If the symlink doesn't exists, and we are being started, let's -create it to provie name resolution. - -If it exists, do nothing. In particular, if it is a broken symlink, -we cannot really know if the administator configured it to point to -a location used by some service that hasn't started yet, so we -don't touch it in that case either. - -https://bugzilla.redhat.com/show_bug.cgi?id=1313085 ---- - src/resolve/resolved.c | 4 ++++ - tmpfiles.d/etc.conf.m4 | 3 --- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index f4efddf8e5..3386e3bf67 100644 ---- a/src/resolve/resolved.c -+++ b/src/resolve/resolved.c -@@ -45,6 +45,10 @@ static int run(int argc, char *argv[]) { - /* Drop privileges, but only if we have been started as root. If we are not running as root we assume most - * privileges are already dropped. */ - if (getuid() == 0) { -+ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); -+ if (r < 0 && errno != EEXIST) -+ log_warning_errno(errno, -+ "Could not create /etc/resolv.conf symlink: %m"); - - /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ - r = drop_privileges(uid, gid, -diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index df8d42101c..928105ea8d 100644 ---- a/tmpfiles.d/etc.conf.m4 -+++ b/tmpfiles.d/etc.conf.m4 -@@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts - m4_ifdef(`HAVE_SMACK_RUN_LABEL', - t /etc/mtab - - - - security.SMACK64=_ - )m4_dnl --m4_ifdef(`ENABLE_RESOLVE', --L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf --)m4_dnl - C /etc/nsswitch.conf - - - - - m4_ifdef(`HAVE_PAM', - C /etc/pam.d - - - - --- -2.19.2 - diff --git a/_service b/_service index 43a94db3..a55e596a 100644 --- a/_service +++ b/_service @@ -10,7 +10,7 @@ openSUSE-Factory - *systemd-v237+suse.*.tar + *systemd-v243+suse.*.tar xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 86dc393e..49f95bcf 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Mon Sep 23 11:45:18 UTC 2019 - Franck Bui + +- Some files related to the portable stuff were missing some %exclude + +------------------------------------------------------------------- +Wed Sep 18 12:17:37 UTC 2019 - Franck Bui + +- Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 + + fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) + dd14da3bb6 core: restore initialization of u->source_mtime + d62f30f647 resolved: create /etc/resolv.conf symlink at runtime + +------------------------------------------------------------------- +Wed Sep 18 11:33:16 UTC 2019 - Franck Bui + +- Slighly rework (mostly reorganization) the portable stuff + +------------------------------------------------------------------- +Fri Sep 6 06:20:11 UTC 2019 - Franck Bui + +- Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + in the git repo + + This patch has been in the quarantine area long enough, so let's + move it in the git repo. + +------------------------------------------------------------------- +Tue Sep 3 15:10:10 UTC 2019 - Franck Bui + +- Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) + + See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + details. + + Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped + from branch SUSE/v243 while we were rebasing. + + Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as + this functionality had been deprecated during the previous release + and now have been dropped by upstream. + +------------------------------------------------------------------- +Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel + +- enable systemd-portabled + +------------------------------------------------------------------- +Wed Jul 31 14:38:13 UTC 2019 - Franck Bui + +- systemd-container creates and owns /etc/systemd/nspawn now + ------------------------------------------------------------------- Mon Jul 22 15:29:51 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 28708939..87e7e4d3 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.135.g0f9271c133 +%define suse_version +suse.36.g9e41d7ec35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -35,6 +35,7 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with portabled %bcond_with resolved %bcond_with journal_remote %else @@ -43,6 +44,7 @@ %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without portabled %bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 @@ -53,7 +55,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 242 +Version: 243 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -165,10 +167,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: 0001-Revert-insserv.conf-generator.patch -Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -332,6 +331,26 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with portabled} +%package portable +Summary: Systemd tools for portable services +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description portable +Systemd tools to manage portable services. The feature is still +considered experimental so the package might change or vanish. +Use at own risk. + +More information can be found online: + +http://0pointer.net/blog/walkthrough-for-portable-services.html +https://systemd.io/PORTABLE_SERVICES + +%endif + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -449,18 +468,19 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ - -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ - -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Dpstore=false \ +%if ! 0%{?bootstrap} + -Dman=true \ + -Dhtml=true \ +%endif %if 0%{?bootstrap} - -Dman=false \ - -Dhtml=false \ -Dnss-myhostname=false \ %endif %if %{without coredump} @@ -475,6 +495,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if %{without journal_remote} -Dremote=false \ %endif +%if %{without portabled} + -Dportabled=false \ +%endif %if %{without machined} -Dmachined=false \ %endif @@ -528,6 +551,8 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn + # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -567,6 +592,7 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf # Make sure systemd-network polkit rules file starts with a suitable # number prefix so it takes precedence over our polkit-default-privs. @@ -910,6 +936,21 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with portabled} +%pre portable +%service_add_pre systemd-portabled.service + +%post portable +%tmpfiles_create portables.conf +%service_add_post systemd-portabled.service + +%preun portable +%service_del_preun systemd-portabled.service + +%postun portable +%service_del_postun systemd-portabled.service +%endif + %clean %files -f systemd.lang @@ -1000,6 +1041,13 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with portabled} +%exclude %{_prefix}/lib/systemd/systemd-portabled +%exclude %{_prefix}/lib/systemd/portable +%exclude %{_unitdir}/systemd-portabled.service +%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service +%exclude %{_tmpfilesdir}/portables.conf +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1031,6 +1079,7 @@ fi %{_systemd_system_env_generator_dir} %{_systemd_user_env_generator_dir} %dir %{_ntpunitsdir} +%{_ntpunitsdir}/80-systemd-timesync.list %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -1099,7 +1148,6 @@ fi %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf @@ -1137,8 +1185,6 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1159,6 +1205,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} @@ -1192,6 +1239,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with portabled} +%exclude %{_mandir}/man*/portablectl* +%exclude %{_mandir}/man*/systemd-portabled* +%endif %endif %{_docdir}/systemd @@ -1339,6 +1390,7 @@ fi %files container %defattr(-,root,root) +%dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %if %{with networkd} @@ -1434,4 +1486,20 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with portabled} +%files portable +%defattr(-,root,root) +%{_bindir}/portablectl +%{_prefix}/lib/systemd/systemd-portabled +%{_prefix}/lib/systemd/portable +%{_unitdir}/systemd-portabled.service +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_tmpfilesdir}/portables.conf +%{_mandir}/man*/portablectl* +%{_mandir}/man*/systemd-portabled* +%endif + %changelog diff --git a/systemd-v242+suse.135.g0f9271c133.tar.xz b/systemd-v242+suse.135.g0f9271c133.tar.xz deleted file mode 100644 index eadc9ec2..00000000 --- a/systemd-v242+suse.135.g0f9271c133.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:383bf8d4d50df8d334449ce7135d4de33e5c386109791914c6e6c4474bd2f5db -size 5325036 diff --git a/systemd-v243+suse.36.g9e41d7ec35.tar.xz b/systemd-v243+suse.36.g9e41d7ec35.tar.xz new file mode 100644 index 00000000..5a752616 --- /dev/null +++ b/systemd-v243+suse.36.g9e41d7ec35.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37e21cde36399fea6092d54907123ee25da6ef9f1c50746f720576f6ca1a03ba +size 5615256 diff --git a/systemd.changes b/systemd.changes index 86dc393e..49f95bcf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Mon Sep 23 11:45:18 UTC 2019 - Franck Bui + +- Some files related to the portable stuff were missing some %exclude + +------------------------------------------------------------------- +Wed Sep 18 12:17:37 UTC 2019 - Franck Bui + +- Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 + + fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) + dd14da3bb6 core: restore initialization of u->source_mtime + d62f30f647 resolved: create /etc/resolv.conf symlink at runtime + +------------------------------------------------------------------- +Wed Sep 18 11:33:16 UTC 2019 - Franck Bui + +- Slighly rework (mostly reorganization) the portable stuff + +------------------------------------------------------------------- +Fri Sep 6 06:20:11 UTC 2019 - Franck Bui + +- Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + in the git repo + + This patch has been in the quarantine area long enough, so let's + move it in the git repo. + +------------------------------------------------------------------- +Tue Sep 3 15:10:10 UTC 2019 - Franck Bui + +- Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) + + See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + details. + + Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped + from branch SUSE/v243 while we were rebasing. + + Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as + this functionality had been deprecated during the previous release + and now have been dropped by upstream. + +------------------------------------------------------------------- +Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel + +- enable systemd-portabled + +------------------------------------------------------------------- +Wed Jul 31 14:38:13 UTC 2019 - Franck Bui + +- systemd-container creates and owns /etc/systemd/nspawn now + ------------------------------------------------------------------- Mon Jul 22 15:29:51 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 352e67a4..ec3759c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.135.g0f9271c133 +%define suse_version +suse.36.g9e41d7ec35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -33,6 +33,7 @@ %bcond_with machined %bcond_with importd %bcond_with networkd +%bcond_with portabled %bcond_with resolved %bcond_with journal_remote %else @@ -41,6 +42,7 @@ %bcond_without machined %bcond_without importd %bcond_without networkd +%bcond_without portabled %bcond_without resolved %bcond_without journal_remote %ifarch %{ix86} x86_64 @@ -51,7 +53,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 242 +Version: 243 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -163,10 +165,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch -Patch3: 0001-Revert-insserv.conf-generator.patch -Patch4: 0001-rc-local-generator-deprecate-halt.local-support.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -330,6 +329,26 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with portabled} +%package portable +Summary: Systemd tools for portable services +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description portable +Systemd tools to manage portable services. The feature is still +considered experimental so the package might change or vanish. +Use at own risk. + +More information can be found online: + +http://0pointer.net/blog/walkthrough-for-portable-services.html +https://systemd.io/PORTABLE_SERVICES + +%endif + %if ! 0%{?bootstrap} %package logger Summary: Journal only logging @@ -447,18 +466,19 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ - -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ - -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Dpstore=false \ +%if ! 0%{?bootstrap} + -Dman=true \ + -Dhtml=true \ +%endif %if 0%{?bootstrap} - -Dman=false \ - -Dhtml=false \ -Dnss-myhostname=false \ %endif %if %{without coredump} @@ -473,6 +493,9 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) %if %{without journal_remote} -Dremote=false \ %endif +%if %{without portabled} + -Dportabled=false \ +%endif %if %{without machined} -Dmachined=false \ %endif @@ -526,6 +549,8 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn + # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -565,6 +590,7 @@ rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.pat # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf # Make sure systemd-network polkit rules file starts with a suitable # number prefix so it takes precedence over our polkit-default-privs. @@ -908,6 +934,21 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with portabled} +%pre portable +%service_add_pre systemd-portabled.service + +%post portable +%tmpfiles_create portables.conf +%service_add_post systemd-portabled.service + +%preun portable +%service_del_preun systemd-portabled.service + +%postun portable +%service_del_postun systemd-portabled.service +%endif + %clean %files -f systemd.lang @@ -998,6 +1039,13 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with portabled} +%exclude %{_prefix}/lib/systemd/systemd-portabled +%exclude %{_prefix}/lib/systemd/portable +%exclude %{_unitdir}/systemd-portabled.service +%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service +%exclude %{_tmpfilesdir}/portables.conf +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1029,6 +1077,7 @@ fi %{_systemd_system_env_generator_dir} %{_systemd_user_env_generator_dir} %dir %{_ntpunitsdir} +%{_ntpunitsdir}/80-systemd-timesync.list %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ @@ -1097,7 +1146,6 @@ fi %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf @@ -1135,8 +1183,6 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1157,6 +1203,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %if %{with networkd} +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif %if %{with resolved} @@ -1190,6 +1237,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with portabled} +%exclude %{_mandir}/man*/portablectl* +%exclude %{_mandir}/man*/systemd-portabled* +%endif %endif %{_docdir}/systemd @@ -1337,6 +1388,7 @@ fi %files container %defattr(-,root,root) +%dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service %if %{with networkd} @@ -1432,4 +1484,20 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with portabled} +%files portable +%defattr(-,root,root) +%{_bindir}/portablectl +%{_prefix}/lib/systemd/systemd-portabled +%{_prefix}/lib/systemd/portable +%{_unitdir}/systemd-portabled.service +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_tmpfilesdir}/portables.conf +%{_mandir}/man*/portablectl* +%{_mandir}/man*/systemd-portabled* +%endif + %changelog From 200cbc20984e4b2835e65d7e152d12103a4c3c8ae3471946441ef9335c03af3c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 7 Oct 2019 07:26:22 +0000 Subject: [PATCH 441/991] Accepting request 735599 from home:fbui:systemd:openSUSE-Factory - Import commit 428b937f917ae177f2315e8469800941885e441a 0026b58744 pid1: fix DefaultTasksMax initialization - Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) fab6f010ac dhcp6: use unaligned_read_be32() f2d9af4322 dhcp6: add missing option length check ccf797511e ndisc: make first solicit delayed randomly f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option 6dfbe58ee7 l10n: update Czech Translation d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) dbefe59259 polkit: fix typo a321507476 sd-netlink: fix invalid assertion 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet dd83d58796 network: add missing link->network checks b294305888 path: stop watching path specs once we triggered the target unit 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) d133bdd1fa po: update Brazilian Portuguese translation 530e09b594 po: update Polish translation 0c5c3e34c1 polkit: change "revert settings" to "reset settings" 73e0f372d8 man: fix description of ARPIntervalSec= units 5412cc54a1 hwdb: axis override for Dell 9360 touchpad 9d4e658529 test: drop the missed || exit 1 expression 7ed7ea82f6 udevadm: use usec_add() 477bf86c91 udevadm: missing initialization of descriptor 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() a20a2157a8 core: coldplug possible nop_job eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) 1a3c53c06c core: Fix setting StatusUnitFormat from config files 91db81e4dd network DHCP4: Dont mislead the logs. 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 OBS-URL: https://build.opensuse.org/request/show/735599 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1072 --- systemd-mini.changes | 64 +++++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v243+suse.36.g9e41d7ec35.tar.xz | 3 -- systemd-v243+suse.91.g428b937f91.tar.xz | 3 ++ systemd.changes | 64 +++++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 133 insertions(+), 5 deletions(-) delete mode 100644 systemd-v243+suse.36.g9e41d7ec35.tar.xz create mode 100644 systemd-v243+suse.91.g428b937f91.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 49f95bcf..3f238683 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Fri Oct 4 14:26:59 UTC 2019 - Franck Bui + +- Import commit 428b937f917ae177f2315e8469800941885e441a + + 0026b58744 pid1: fix DefaultTasksMax initialization + +------------------------------------------------------------------- +Mon Sep 30 10:43:28 UTC 2019 - Franck Bui + +- Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) + + fab6f010ac dhcp6: use unaligned_read_be32() + f2d9af4322 dhcp6: add missing option length check + ccf797511e ndisc: make first solicit delayed randomly + f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option + 6dfbe58ee7 l10n: update Czech Translation + d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) + dbefe59259 polkit: fix typo + a321507476 sd-netlink: fix invalid assertion + 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet + dd83d58796 network: add missing link->network checks + b294305888 path: stop watching path specs once we triggered the target unit + 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) + d133bdd1fa po: update Brazilian Portuguese translation + 530e09b594 po: update Polish translation + 0c5c3e34c1 polkit: change "revert settings" to "reset settings" + 73e0f372d8 man: fix description of ARPIntervalSec= units + 5412cc54a1 hwdb: axis override for Dell 9360 touchpad + 9d4e658529 test: drop the missed || exit 1 expression + 7ed7ea82f6 udevadm: use usec_add() + 477bf86c91 udevadm: missing initialization of descriptor + 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() + a20a2157a8 core: coldplug possible nop_job + eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) + 1a3c53c06c core: Fix setting StatusUnitFormat from config files + 91db81e4dd network DHCP4: Dont mislead the logs. + 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 + 6823c907cf core: restore initialization of u->source_mtime + 29308bcc13 mount-setup: relabel items mentioned directly in relabel-extra.d + 8ca1e56165 Call getgroups() to know size of supplementary groups array to allocate + 5d84a7ad1c test: add test cases for empty string match + 1536348cc8 udev: fix multi match + 3ccafef0ad man: move TimeoutCleanSec= entry from .service to .exec + 8c0c30a820 zsh: udpate bootctl completions + 0556c247a2 resolved: fix abort when recv() returns 0 + 9a25d75520 man: remove repeated words + be3be29347 hwdb: Also mark lis3lv02d sensors in "HP" laptops as being in the base + 4b92ffccaa udev: also logs file permission + 75a2845e5a udev: add missing flag for OPTIONS=static_node + 19e9fc4262 network: do not abort execution when a config file cannot be loaded + 3e1267cf50 fileio: update warning message + 1b3156edd2 pstore: fix use after free + f500d2fa81 journal: Make the output of --update-catalog deterministic + 64d0f7042d travis: protect the systemd organization on Fuzzit from forks + 4247938ee1 hwdb: Mark lis3lv02d sensors in HP laptops as being in the base + 379158684a po: update Japanese translation + 31e1bbd1ca docs: fix push recipe in RELEASE.md + f06530d86b man/systemctl.xml: fix missing "not" + 22aba2b969 docs: fix typo in boot loader doc + 000e08ca70 pstore: fix typo in error message - directoy -> directory + f7f9c69ac5 Fix typo in comment: overide -> override + ca8ba8f8c0 po: update Polish translation + ------------------------------------------------------------------- Mon Sep 23 11:45:18 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 87e7e4d3..8c054fe6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.36.g9e41d7ec35 +%define suse_version +suse.91.g428b937f91 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v243+suse.36.g9e41d7ec35.tar.xz b/systemd-v243+suse.36.g9e41d7ec35.tar.xz deleted file mode 100644 index 5a752616..00000000 --- a/systemd-v243+suse.36.g9e41d7ec35.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37e21cde36399fea6092d54907123ee25da6ef9f1c50746f720576f6ca1a03ba -size 5615256 diff --git a/systemd-v243+suse.91.g428b937f91.tar.xz b/systemd-v243+suse.91.g428b937f91.tar.xz new file mode 100644 index 00000000..38f5db51 --- /dev/null +++ b/systemd-v243+suse.91.g428b937f91.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bf4fd83f69bfb10a6e461edaeb32b3d259420b641c1d5526165596f7467d35a +size 5617708 diff --git a/systemd.changes b/systemd.changes index 49f95bcf..3f238683 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Fri Oct 4 14:26:59 UTC 2019 - Franck Bui + +- Import commit 428b937f917ae177f2315e8469800941885e441a + + 0026b58744 pid1: fix DefaultTasksMax initialization + +------------------------------------------------------------------- +Mon Sep 30 10:43:28 UTC 2019 - Franck Bui + +- Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) + + fab6f010ac dhcp6: use unaligned_read_be32() + f2d9af4322 dhcp6: add missing option length check + ccf797511e ndisc: make first solicit delayed randomly + f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option + 6dfbe58ee7 l10n: update Czech Translation + d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) + dbefe59259 polkit: fix typo + a321507476 sd-netlink: fix invalid assertion + 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet + dd83d58796 network: add missing link->network checks + b294305888 path: stop watching path specs once we triggered the target unit + 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) + d133bdd1fa po: update Brazilian Portuguese translation + 530e09b594 po: update Polish translation + 0c5c3e34c1 polkit: change "revert settings" to "reset settings" + 73e0f372d8 man: fix description of ARPIntervalSec= units + 5412cc54a1 hwdb: axis override for Dell 9360 touchpad + 9d4e658529 test: drop the missed || exit 1 expression + 7ed7ea82f6 udevadm: use usec_add() + 477bf86c91 udevadm: missing initialization of descriptor + 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() + a20a2157a8 core: coldplug possible nop_job + eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) + 1a3c53c06c core: Fix setting StatusUnitFormat from config files + 91db81e4dd network DHCP4: Dont mislead the logs. + 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 + 6823c907cf core: restore initialization of u->source_mtime + 29308bcc13 mount-setup: relabel items mentioned directly in relabel-extra.d + 8ca1e56165 Call getgroups() to know size of supplementary groups array to allocate + 5d84a7ad1c test: add test cases for empty string match + 1536348cc8 udev: fix multi match + 3ccafef0ad man: move TimeoutCleanSec= entry from .service to .exec + 8c0c30a820 zsh: udpate bootctl completions + 0556c247a2 resolved: fix abort when recv() returns 0 + 9a25d75520 man: remove repeated words + be3be29347 hwdb: Also mark lis3lv02d sensors in "HP" laptops as being in the base + 4b92ffccaa udev: also logs file permission + 75a2845e5a udev: add missing flag for OPTIONS=static_node + 19e9fc4262 network: do not abort execution when a config file cannot be loaded + 3e1267cf50 fileio: update warning message + 1b3156edd2 pstore: fix use after free + f500d2fa81 journal: Make the output of --update-catalog deterministic + 64d0f7042d travis: protect the systemd organization on Fuzzit from forks + 4247938ee1 hwdb: Mark lis3lv02d sensors in HP laptops as being in the base + 379158684a po: update Japanese translation + 31e1bbd1ca docs: fix push recipe in RELEASE.md + f06530d86b man/systemctl.xml: fix missing "not" + 22aba2b969 docs: fix typo in boot loader doc + 000e08ca70 pstore: fix typo in error message - directoy -> directory + f7f9c69ac5 Fix typo in comment: overide -> override + ca8ba8f8c0 po: update Polish translation + ------------------------------------------------------------------- Mon Sep 23 11:45:18 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ec3759c7..524d1cbc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.36.g9e41d7ec35 +%define suse_version +suse.91.g428b937f91 %bcond_with gnuefi %if 0%{?bootstrap} From 488e9c4e0530f923b0363f7f266dfa06c78f1148e40208fd2615f8136a9666bf Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 8 Oct 2019 12:40:27 +0000 Subject: [PATCH 442/991] Accepting request 731871 from home:lnussel:branches:Base:System - split off networkd and resolved into separate network subpackage - use separate lang package for translations OBS-URL: https://build.opensuse.org/request/show/731871 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1073 --- systemd-mini.changes | 6 ++ systemd-mini.spec | 148 +++++++++++++++++++++++++------------------ systemd.changes | 6 ++ systemd.spec | 148 +++++++++++++++++++++++++------------------ 4 files changed, 186 insertions(+), 122 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 3f238683..10d2ecc4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -67,6 +67,12 @@ Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel + +- split off networkd and resolved into separate network subpackage +- use separate lang package for translations + ------------------------------------------------------------------- Wed Sep 18 12:17:37 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8c054fe6..6cb294d4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -331,6 +331,22 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with networkd} || %{with resolved} +%package network +Summary: Systemd tools for networkd and resolved +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +Provides: systemd:/usr/lib/systemd/systemd-networkd +Provides: systemd:/usr/lib/systemd/systemd-resolved +%systemd_requires + +%description network +Systemd tools to manage network settings using networkd and +resolver tools for resolved + +%endif + %if %{with portabled} %package portable Summary: Systemd tools for portable services @@ -398,7 +414,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -447,6 +463,8 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%lang_package + %prep %setup -q -n systemd-v%{version}%{suse_version} %autopatch -p1 @@ -769,13 +787,6 @@ systemctl daemon-reexec || : %systemd_post machines.target %systemd_post remote-fs.target %systemd_post systemd-timesyncd.service -%if %{with networkd} -%systemd_post systemd-networkd.service -%systemd_post systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%systemd_post systemd-resolved.service -%endif # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -818,12 +829,6 @@ test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service -%if %{with networkd} -%systemd_postun_with_restart systemd-networkd.service -%endif -%if %{with resolved} -%systemd_postun_with_restart systemd-resolved.service -%endif %pre -n udev%{?mini} # New installations uses the last compat symlink generation number @@ -936,6 +941,45 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with networkd} || %{with resolved} +%pre network +%if %{with networkd} +%service_add_pre systemd-networkd.service +%service_add_pre systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_pre systemd-resolved.service +%endif + +%post network +%tmpfiles_create portables.conf +%if %{with networkd} +%service_add_post systemd-networkd.service +%service_add_post systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_post systemd-resolved.service +%endif + +%preun network +%if %{with networkd} +%service_del_preun systemd-networkd.service +%service_del_preun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_preun systemd-resolved.service +%endif + +%postun network +%if %{with networkd} +%service_del_postun systemd-networkd.service +%service_del_postun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_postun systemd-resolved.service +%endif +%endif + %if %{with portabled} %pre portable %service_add_pre systemd-portabled.service @@ -953,7 +997,7 @@ fi %clean -%files -f systemd.lang +%files %defattr(-,root,root) %license LICENSE* /bin/systemd @@ -964,12 +1008,6 @@ fi %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl -%if %{with networkd} -%{_bindir}/networkctl -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -989,9 +1027,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%if %{with resolved} -%{_bindir}/systemd-resolve -%endif %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt @@ -1064,9 +1099,6 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so -%if %{with resolved} -%{_prefix}/lib/systemd/resolv.conf -%endif %{_prefix}/lib/systemd/scripts %exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} @@ -1116,11 +1148,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%{_prefix}/lib/systemd/network/80-container-host0.network -%endif - %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1139,12 +1166,6 @@ fi %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%endif -%if %{with resolved} -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%endif %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d @@ -1156,12 +1177,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf -%if %{with networkd} -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%endif # FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d @@ -1190,12 +1205,6 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service -%if %{with networkd} -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1204,13 +1213,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with networkd} -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%endif -%if %{with resolved} -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1269,6 +1271,8 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%files lang -f systemd.lang + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1393,10 +1397,6 @@ fi %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%if %{with networkd} -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network -%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined @@ -1486,6 +1486,32 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with networkd} || %{with resolved} +%files network +%defattr(-,root,root) +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%{_bindir}/networkctl +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%{_prefix}/lib/systemd/network/80-container-host0.network +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif +%if %{with resolved} +%{_bindir}/resolvectl +%{_bindir}/systemd-resolve +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%{_prefix}/lib/systemd/resolv.conf +%endif +%endif + %if %{with portabled} %files portable %defattr(-,root,root) diff --git a/systemd.changes b/systemd.changes index 3f238683..10d2ecc4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -67,6 +67,12 @@ Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel + +- split off networkd and resolved into separate network subpackage +- use separate lang package for translations + ------------------------------------------------------------------- Wed Sep 18 12:17:37 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 524d1cbc..77fd2cf7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -329,6 +329,22 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with networkd} || %{with resolved} +%package network +Summary: Systemd tools for networkd and resolved +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +Provides: systemd:/usr/lib/systemd/systemd-networkd +Provides: systemd:/usr/lib/systemd/systemd-resolved +%systemd_requires + +%description network +Systemd tools to manage network settings using networkd and +resolver tools for resolved + +%endif + %if %{with portabled} %package portable Summary: Systemd tools for portable services @@ -396,7 +412,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -445,6 +461,8 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%lang_package + %prep %setup -q -n systemd-v%{version}%{suse_version} %autopatch -p1 @@ -767,13 +785,6 @@ systemctl daemon-reexec || : %systemd_post machines.target %systemd_post remote-fs.target %systemd_post systemd-timesyncd.service -%if %{with networkd} -%systemd_post systemd-networkd.service -%systemd_post systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%systemd_post systemd-resolved.service -%endif # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -816,12 +827,6 @@ test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service -%if %{with networkd} -%systemd_postun_with_restart systemd-networkd.service -%endif -%if %{with resolved} -%systemd_postun_with_restart systemd-resolved.service -%endif %pre -n udev%{?mini} # New installations uses the last compat symlink generation number @@ -934,6 +939,45 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with networkd} || %{with resolved} +%pre network +%if %{with networkd} +%service_add_pre systemd-networkd.service +%service_add_pre systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_pre systemd-resolved.service +%endif + +%post network +%tmpfiles_create portables.conf +%if %{with networkd} +%service_add_post systemd-networkd.service +%service_add_post systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_post systemd-resolved.service +%endif + +%preun network +%if %{with networkd} +%service_del_preun systemd-networkd.service +%service_del_preun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_preun systemd-resolved.service +%endif + +%postun network +%if %{with networkd} +%service_del_postun systemd-networkd.service +%service_del_postun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_postun systemd-resolved.service +%endif +%endif + %if %{with portabled} %pre portable %service_add_pre systemd-portabled.service @@ -951,7 +995,7 @@ fi %clean -%files -f systemd.lang +%files %defattr(-,root,root) %license LICENSE* /bin/systemd @@ -962,12 +1006,6 @@ fi %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl -%if %{with networkd} -%{_bindir}/networkctl -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -987,9 +1025,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%if %{with resolved} -%{_bindir}/systemd-resolve -%endif %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt @@ -1062,9 +1097,6 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so -%if %{with resolved} -%{_prefix}/lib/systemd/resolv.conf -%endif %{_prefix}/lib/systemd/scripts %exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} @@ -1114,11 +1146,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%{_prefix}/lib/systemd/network/80-container-host0.network -%endif - %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1137,12 +1164,6 @@ fi %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%endif -%if %{with resolved} -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%endif %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d @@ -1154,12 +1175,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf -%if %{with networkd} -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%endif # FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d @@ -1188,12 +1203,6 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service -%if %{with networkd} -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1202,13 +1211,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with networkd} -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%endif -%if %{with resolved} -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1267,6 +1269,8 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%files lang -f systemd.lang + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1391,10 +1395,6 @@ fi %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%if %{with networkd} -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network -%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined @@ -1484,6 +1484,32 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with networkd} || %{with resolved} +%files network +%defattr(-,root,root) +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%{_bindir}/networkctl +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%{_prefix}/lib/systemd/network/80-container-host0.network +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif +%if %{with resolved} +%{_bindir}/resolvectl +%{_bindir}/systemd-resolve +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%{_prefix}/lib/systemd/resolv.conf +%endif +%endif + %if %{with portabled} %files portable %defattr(-,root,root) From 17ef8bf2c27dc0bd5c6579a697dc1bca0e13ecf27c7d5c861bf5f603cb5ec105 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 21 Oct 2019 10:20:46 +0000 Subject: [PATCH 443/991] Accepting request 741449 from home:lnussel:branches:Base:System - don't package locales in -mini package OBS-URL: https://build.opensuse.org/request/show/741449 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1074 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 7 +++++++ systemd.changes | 5 +++++ systemd.spec | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 10d2ecc4..37b6b69c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel + +- don't package locales in -mini package + ------------------------------------------------------------------- Fri Oct 4 14:26:59 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6cb294d4..82c6a17f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -463,7 +463,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if ! 0%{?bootstrap} %lang_package +%endif %prep %setup -q -n systemd-v%{version}%{suse_version} @@ -544,6 +546,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm -r %{buildroot}%{_datadir}/locale %endif # Don't ship resolvconf symlink for now as it conflicts with the @@ -737,7 +740,9 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +%if ! 0%{?bootstrap} %find_lang systemd +%endif # Build of installation images uses a hard coded list of packages with # a %pre that needs to be run during the build. systemd is one of them @@ -1271,7 +1276,9 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%if ! 0%{?bootstrap} %files lang -f systemd.lang +%endif %files devel %defattr(-,root,root,-) diff --git a/systemd.changes b/systemd.changes index 10d2ecc4..37b6b69c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel + +- don't package locales in -mini package + ------------------------------------------------------------------- Fri Oct 4 14:26:59 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 77fd2cf7..841ba419 100644 --- a/systemd.spec +++ b/systemd.spec @@ -461,7 +461,9 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if ! 0%{?bootstrap} %lang_package +%endif %prep %setup -q -n systemd-v%{version}%{suse_version} @@ -542,6 +544,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm -r %{buildroot}%{_datadir}/locale %endif # Don't ship resolvconf symlink for now as it conflicts with the @@ -735,7 +738,9 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +%if ! 0%{?bootstrap} %find_lang systemd +%endif # Build of installation images uses a hard coded list of packages with # a %pre that needs to be run during the build. systemd is one of them @@ -1269,7 +1274,9 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%if ! 0%{?bootstrap} %files lang -f systemd.lang +%endif %files devel %defattr(-,root,root,-) From 8c26be25190ac0c849405f59d80b40d415ab09afeca30f36f345ef1138a1f5df Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 21 Oct 2019 11:34:05 +0000 Subject: [PATCH 444/991] Accepting request 741485 from home:fbui:systemd:openSUSE-Factory - Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) Added to the quaratine area to avoid uploading a new tar ball just for that single change. It will be dropped during the next import. OBS-URL: https://build.opensuse.org/request/show/741485 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1075 --- ...escape-when-used-for-shell-expansion.patch | 46 +++++++++++++++++++ systemd-mini.changes | 8 ++++ systemd-mini.spec | 7 ++- systemd.changes | 8 ++++ systemd.spec | 7 ++- 5 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 0001-compat-rules-escape-when-used-for-shell-expansion.patch diff --git a/0001-compat-rules-escape-when-used-for-shell-expansion.patch b/0001-compat-rules-escape-when-used-for-shell-expansion.patch new file mode 100644 index 00000000..207188cb --- /dev/null +++ b/0001-compat-rules-escape-when-used-for-shell-expansion.patch @@ -0,0 +1,46 @@ +From b37054aa5aebfed9e7c8ee423067aefef0facd39 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 9 Oct 2019 16:11:17 +0200 +Subject: [PATCH] compat-rules: escape '$' when used for shell expansion + +Make sure to use '$$' in shell expansions since the behavior of udev +is undefined when it encounters unknown substitions. + +udev used to silently ignore them but since v243 (commit +d7aee41db35f808bca), it throws such warning: + + systemd-udevd[443]: /usr/lib/udev/rules.d/61-persistent-storage-compat.rules:83 Invalid value "/bin/sh -c 'eui="%s{eui}"; echo ${eui// /}" for PROGRAM (char 33: invalid substitution type), ignoring, but please fix it. + +No functional changes. +--- + rules/61-persistent-storage-compat.rules | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules +index 0cdc8c4195..bd229f619b 100644 +--- a/rules/61-persistent-storage-compat.rules ++++ b/rules/61-persistent-storage-compat.rules +@@ -80,17 +80,17 @@ ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" + # symlink is created. + + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_EUI_COMPAT}!="?*", ATTRS{eui}=="?*", ATTRS{eui}!="0000000000000000", \ +- PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo ${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" ++ PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo $${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" + + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_NGUID_COMPAT}!="?*", ATTRS{nguid}=="?*", \ +- PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo ${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" ++ PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo $${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" + + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*", \ + PROGRAM=="/bin/sh -c ' \ + cd /sys/%p; \ + while ! [ -f model ]; do \ + cd ..; \ +- [ $(pwd) = %S ] && exit 1; \ ++ [ $$(pwd) = %S ] && exit 1; \ + done; \ + cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" + +-- +2.16.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 37b6b69c..8196fde7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Oct 21 10:33:27 UTC 2019 - Franck Bui + +- Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) + + Added to the quaratine area to avoid uploading a new tar ball just + for that single change. It will be dropped during the next import. + ------------------------------------------------------------------- Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index 82c6a17f..45161ddd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -167,6 +167,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description @@ -1276,10 +1277,6 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc -%if ! 0%{?bootstrap} -%files lang -f systemd.lang -%endif - %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1441,6 +1438,8 @@ fi %endif %if ! 0%{?bootstrap} +%files lang -f systemd.lang + %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ diff --git a/systemd.changes b/systemd.changes index 37b6b69c..8196fde7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Oct 21 10:33:27 UTC 2019 - Franck Bui + +- Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) + + Added to the quaratine area to avoid uploading a new tar ball just + for that single change. It will be dropped during the next import. + ------------------------------------------------------------------- Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 841ba419..2a119e33 100644 --- a/systemd.spec +++ b/systemd.spec @@ -165,6 +165,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description @@ -1274,10 +1275,6 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc -%if ! 0%{?bootstrap} -%files lang -f systemd.lang -%endif - %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1439,6 +1436,8 @@ fi %endif %if ! 0%{?bootstrap} +%files lang -f systemd.lang + %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ From d9e423e96f903149f41481337d61ca24a76ae8ab6ab8a5787b860ce4926f5792 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 23 Oct 2019 12:35:28 +0000 Subject: [PATCH 445/991] Accepting request 741949 from home:StefanBruens:branches:openSUSE:Factory - Remove intltool BuildRequires, not needed since v237 - Use python3-base BuildRequires instead of full python3 OBS-URL: https://build.opensuse.org/request/show/741949 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1076 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 3 +-- systemd.changes | 6 ++++++ systemd.spec | 3 +-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 8196fde7..3141c679 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns + +- Remove intltool BuildRequires, not needed since v237 +- Use python3-base BuildRequires instead of full python3 + ------------------------------------------------------------------- Mon Oct 21 10:33:27 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 45161ddd..2e3e1c90 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -69,7 +69,7 @@ BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools BuildRequires: polkit # python is only required for generating systemd.directives.xml -BuildRequires: python3 +BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) @@ -84,7 +84,6 @@ BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif BuildRequires: fdupes BuildRequires: gperf -BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 diff --git a/systemd.changes b/systemd.changes index 8196fde7..3141c679 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns + +- Remove intltool BuildRequires, not needed since v237 +- Use python3-base BuildRequires instead of full python3 + ------------------------------------------------------------------- Mon Oct 21 10:33:27 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2a119e33..c6d2d3e7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,7 +67,7 @@ BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools BuildRequires: polkit # python is only required for generating systemd.directives.xml -BuildRequires: python3 +BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) @@ -82,7 +82,6 @@ BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif BuildRequires: fdupes BuildRequires: gperf -BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 From 28215e64b89de50783fd570dca41e72f36a8792192f23174230221114e0a72a2 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 23 Oct 2019 13:45:55 +0000 Subject: [PATCH 446/991] Accepting request 741487 from Base:System OBS-URL: https://build.opensuse.org/request/show/741487 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=299 --- ...escape-when-used-for-shell-expansion.patch | 46 ++++++ systemd-mini.changes | 83 ++++++++++ systemd-mini.spec | 156 +++++++++++------- systemd-v243+suse.36.g9e41d7ec35.tar.xz | 3 - systemd-v243+suse.91.g428b937f91.tar.xz | 3 + systemd.changes | 83 ++++++++++ systemd.spec | 156 +++++++++++------- 7 files changed, 403 insertions(+), 127 deletions(-) create mode 100644 0001-compat-rules-escape-when-used-for-shell-expansion.patch delete mode 100644 systemd-v243+suse.36.g9e41d7ec35.tar.xz create mode 100644 systemd-v243+suse.91.g428b937f91.tar.xz diff --git a/0001-compat-rules-escape-when-used-for-shell-expansion.patch b/0001-compat-rules-escape-when-used-for-shell-expansion.patch new file mode 100644 index 00000000..207188cb --- /dev/null +++ b/0001-compat-rules-escape-when-used-for-shell-expansion.patch @@ -0,0 +1,46 @@ +From b37054aa5aebfed9e7c8ee423067aefef0facd39 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 9 Oct 2019 16:11:17 +0200 +Subject: [PATCH] compat-rules: escape '$' when used for shell expansion + +Make sure to use '$$' in shell expansions since the behavior of udev +is undefined when it encounters unknown substitions. + +udev used to silently ignore them but since v243 (commit +d7aee41db35f808bca), it throws such warning: + + systemd-udevd[443]: /usr/lib/udev/rules.d/61-persistent-storage-compat.rules:83 Invalid value "/bin/sh -c 'eui="%s{eui}"; echo ${eui// /}" for PROGRAM (char 33: invalid substitution type), ignoring, but please fix it. + +No functional changes. +--- + rules/61-persistent-storage-compat.rules | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules +index 0cdc8c4195..bd229f619b 100644 +--- a/rules/61-persistent-storage-compat.rules ++++ b/rules/61-persistent-storage-compat.rules +@@ -80,17 +80,17 @@ ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" + # symlink is created. + + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_EUI_COMPAT}!="?*", ATTRS{eui}=="?*", ATTRS{eui}!="0000000000000000", \ +- PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo ${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" ++ PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo $${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" + + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_NGUID_COMPAT}!="?*", ATTRS{nguid}=="?*", \ +- PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo ${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" ++ PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo $${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" + + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*", \ + PROGRAM=="/bin/sh -c ' \ + cd /sys/%p; \ + while ! [ -f model ]; do \ + cd ..; \ +- [ $(pwd) = %S ] && exit 1; \ ++ [ $$(pwd) = %S ] && exit 1; \ + done; \ + cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" + +-- +2.16.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 49f95bcf..8196fde7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,8 +1,91 @@ +------------------------------------------------------------------- +Mon Oct 21 10:33:27 UTC 2019 - Franck Bui + +- Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) + + Added to the quaratine area to avoid uploading a new tar ball just + for that single change. It will be dropped during the next import. + +------------------------------------------------------------------- +Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel + +- don't package locales in -mini package + +------------------------------------------------------------------- +Fri Oct 4 14:26:59 UTC 2019 - Franck Bui + +- Import commit 428b937f917ae177f2315e8469800941885e441a + + 0026b58744 pid1: fix DefaultTasksMax initialization + +------------------------------------------------------------------- +Mon Sep 30 10:43:28 UTC 2019 - Franck Bui + +- Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) + + fab6f010ac dhcp6: use unaligned_read_be32() + f2d9af4322 dhcp6: add missing option length check + ccf797511e ndisc: make first solicit delayed randomly + f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option + 6dfbe58ee7 l10n: update Czech Translation + d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) + dbefe59259 polkit: fix typo + a321507476 sd-netlink: fix invalid assertion + 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet + dd83d58796 network: add missing link->network checks + b294305888 path: stop watching path specs once we triggered the target unit + 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) + d133bdd1fa po: update Brazilian Portuguese translation + 530e09b594 po: update Polish translation + 0c5c3e34c1 polkit: change "revert settings" to "reset settings" + 73e0f372d8 man: fix description of ARPIntervalSec= units + 5412cc54a1 hwdb: axis override for Dell 9360 touchpad + 9d4e658529 test: drop the missed || exit 1 expression + 7ed7ea82f6 udevadm: use usec_add() + 477bf86c91 udevadm: missing initialization of descriptor + 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() + a20a2157a8 core: coldplug possible nop_job + eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) + 1a3c53c06c core: Fix setting StatusUnitFormat from config files + 91db81e4dd network DHCP4: Dont mislead the logs. + 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 + 6823c907cf core: restore initialization of u->source_mtime + 29308bcc13 mount-setup: relabel items mentioned directly in relabel-extra.d + 8ca1e56165 Call getgroups() to know size of supplementary groups array to allocate + 5d84a7ad1c test: add test cases for empty string match + 1536348cc8 udev: fix multi match + 3ccafef0ad man: move TimeoutCleanSec= entry from .service to .exec + 8c0c30a820 zsh: udpate bootctl completions + 0556c247a2 resolved: fix abort when recv() returns 0 + 9a25d75520 man: remove repeated words + be3be29347 hwdb: Also mark lis3lv02d sensors in "HP" laptops as being in the base + 4b92ffccaa udev: also logs file permission + 75a2845e5a udev: add missing flag for OPTIONS=static_node + 19e9fc4262 network: do not abort execution when a config file cannot be loaded + 3e1267cf50 fileio: update warning message + 1b3156edd2 pstore: fix use after free + f500d2fa81 journal: Make the output of --update-catalog deterministic + 64d0f7042d travis: protect the systemd organization on Fuzzit from forks + 4247938ee1 hwdb: Mark lis3lv02d sensors in HP laptops as being in the base + 379158684a po: update Japanese translation + 31e1bbd1ca docs: fix push recipe in RELEASE.md + f06530d86b man/systemctl.xml: fix missing "not" + 22aba2b969 docs: fix typo in boot loader doc + 000e08ca70 pstore: fix typo in error message - directoy -> directory + f7f9c69ac5 Fix typo in comment: overide -> override + ca8ba8f8c0 po: update Polish translation + ------------------------------------------------------------------- Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel + +- split off networkd and resolved into separate network subpackage +- use separate lang package for translations + ------------------------------------------------------------------- Wed Sep 18 12:17:37 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 87e7e4d3..45161ddd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.36.g9e41d7ec35 +%define suse_version +suse.91.g428b937f91 %bcond_with gnuefi %if 0%{?bootstrap} @@ -167,6 +167,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description @@ -331,6 +332,22 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with networkd} || %{with resolved} +%package network +Summary: Systemd tools for networkd and resolved +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +Provides: systemd:/usr/lib/systemd/systemd-networkd +Provides: systemd:/usr/lib/systemd/systemd-resolved +%systemd_requires + +%description network +Systemd tools to manage network settings using networkd and +resolver tools for resolved + +%endif + %if %{with portabled} %package portable Summary: Systemd tools for portable services @@ -398,7 +415,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -447,6 +464,10 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if ! 0%{?bootstrap} +%lang_package +%endif + %prep %setup -q -n systemd-v%{version}%{suse_version} %autopatch -p1 @@ -526,6 +547,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm -r %{buildroot}%{_datadir}/locale %endif # Don't ship resolvconf symlink for now as it conflicts with the @@ -719,7 +741,9 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +%if ! 0%{?bootstrap} %find_lang systemd +%endif # Build of installation images uses a hard coded list of packages with # a %pre that needs to be run during the build. systemd is one of them @@ -769,13 +793,6 @@ systemctl daemon-reexec || : %systemd_post machines.target %systemd_post remote-fs.target %systemd_post systemd-timesyncd.service -%if %{with networkd} -%systemd_post systemd-networkd.service -%systemd_post systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%systemd_post systemd-resolved.service -%endif # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -818,12 +835,6 @@ test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service -%if %{with networkd} -%systemd_postun_with_restart systemd-networkd.service -%endif -%if %{with resolved} -%systemd_postun_with_restart systemd-resolved.service -%endif %pre -n udev%{?mini} # New installations uses the last compat symlink generation number @@ -936,6 +947,45 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with networkd} || %{with resolved} +%pre network +%if %{with networkd} +%service_add_pre systemd-networkd.service +%service_add_pre systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_pre systemd-resolved.service +%endif + +%post network +%tmpfiles_create portables.conf +%if %{with networkd} +%service_add_post systemd-networkd.service +%service_add_post systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_post systemd-resolved.service +%endif + +%preun network +%if %{with networkd} +%service_del_preun systemd-networkd.service +%service_del_preun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_preun systemd-resolved.service +%endif + +%postun network +%if %{with networkd} +%service_del_postun systemd-networkd.service +%service_del_postun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_postun systemd-resolved.service +%endif +%endif + %if %{with portabled} %pre portable %service_add_pre systemd-portabled.service @@ -953,7 +1003,7 @@ fi %clean -%files -f systemd.lang +%files %defattr(-,root,root) %license LICENSE* /bin/systemd @@ -964,12 +1014,6 @@ fi %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl -%if %{with networkd} -%{_bindir}/networkctl -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -989,9 +1033,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%if %{with resolved} -%{_bindir}/systemd-resolve -%endif %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt @@ -1064,9 +1105,6 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so -%if %{with resolved} -%{_prefix}/lib/systemd/resolv.conf -%endif %{_prefix}/lib/systemd/scripts %exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} @@ -1116,11 +1154,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%{_prefix}/lib/systemd/network/80-container-host0.network -%endif - %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1139,12 +1172,6 @@ fi %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%endif -%if %{with resolved} -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%endif %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d @@ -1156,12 +1183,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf -%if %{with networkd} -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%endif # FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d @@ -1190,12 +1211,6 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service -%if %{with networkd} -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1204,13 +1219,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with networkd} -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%endif -%if %{with resolved} -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1393,10 +1401,6 @@ fi %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%if %{with networkd} -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network -%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined @@ -1434,6 +1438,8 @@ fi %endif %if ! 0%{?bootstrap} +%files lang -f systemd.lang + %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ @@ -1486,6 +1492,32 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with networkd} || %{with resolved} +%files network +%defattr(-,root,root) +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%{_bindir}/networkctl +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%{_prefix}/lib/systemd/network/80-container-host0.network +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif +%if %{with resolved} +%{_bindir}/resolvectl +%{_bindir}/systemd-resolve +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%{_prefix}/lib/systemd/resolv.conf +%endif +%endif + %if %{with portabled} %files portable %defattr(-,root,root) diff --git a/systemd-v243+suse.36.g9e41d7ec35.tar.xz b/systemd-v243+suse.36.g9e41d7ec35.tar.xz deleted file mode 100644 index 5a752616..00000000 --- a/systemd-v243+suse.36.g9e41d7ec35.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37e21cde36399fea6092d54907123ee25da6ef9f1c50746f720576f6ca1a03ba -size 5615256 diff --git a/systemd-v243+suse.91.g428b937f91.tar.xz b/systemd-v243+suse.91.g428b937f91.tar.xz new file mode 100644 index 00000000..38f5db51 --- /dev/null +++ b/systemd-v243+suse.91.g428b937f91.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bf4fd83f69bfb10a6e461edaeb32b3d259420b641c1d5526165596f7467d35a +size 5617708 diff --git a/systemd.changes b/systemd.changes index 49f95bcf..8196fde7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,8 +1,91 @@ +------------------------------------------------------------------- +Mon Oct 21 10:33:27 UTC 2019 - Franck Bui + +- Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) + + Added to the quaratine area to avoid uploading a new tar ball just + for that single change. It will be dropped during the next import. + +------------------------------------------------------------------- +Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel + +- don't package locales in -mini package + +------------------------------------------------------------------- +Fri Oct 4 14:26:59 UTC 2019 - Franck Bui + +- Import commit 428b937f917ae177f2315e8469800941885e441a + + 0026b58744 pid1: fix DefaultTasksMax initialization + +------------------------------------------------------------------- +Mon Sep 30 10:43:28 UTC 2019 - Franck Bui + +- Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) + + fab6f010ac dhcp6: use unaligned_read_be32() + f2d9af4322 dhcp6: add missing option length check + ccf797511e ndisc: make first solicit delayed randomly + f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option + 6dfbe58ee7 l10n: update Czech Translation + d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) + dbefe59259 polkit: fix typo + a321507476 sd-netlink: fix invalid assertion + 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet + dd83d58796 network: add missing link->network checks + b294305888 path: stop watching path specs once we triggered the target unit + 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) + d133bdd1fa po: update Brazilian Portuguese translation + 530e09b594 po: update Polish translation + 0c5c3e34c1 polkit: change "revert settings" to "reset settings" + 73e0f372d8 man: fix description of ARPIntervalSec= units + 5412cc54a1 hwdb: axis override for Dell 9360 touchpad + 9d4e658529 test: drop the missed || exit 1 expression + 7ed7ea82f6 udevadm: use usec_add() + 477bf86c91 udevadm: missing initialization of descriptor + 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() + a20a2157a8 core: coldplug possible nop_job + eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) + 1a3c53c06c core: Fix setting StatusUnitFormat from config files + 91db81e4dd network DHCP4: Dont mislead the logs. + 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 + 6823c907cf core: restore initialization of u->source_mtime + 29308bcc13 mount-setup: relabel items mentioned directly in relabel-extra.d + 8ca1e56165 Call getgroups() to know size of supplementary groups array to allocate + 5d84a7ad1c test: add test cases for empty string match + 1536348cc8 udev: fix multi match + 3ccafef0ad man: move TimeoutCleanSec= entry from .service to .exec + 8c0c30a820 zsh: udpate bootctl completions + 0556c247a2 resolved: fix abort when recv() returns 0 + 9a25d75520 man: remove repeated words + be3be29347 hwdb: Also mark lis3lv02d sensors in "HP" laptops as being in the base + 4b92ffccaa udev: also logs file permission + 75a2845e5a udev: add missing flag for OPTIONS=static_node + 19e9fc4262 network: do not abort execution when a config file cannot be loaded + 3e1267cf50 fileio: update warning message + 1b3156edd2 pstore: fix use after free + f500d2fa81 journal: Make the output of --update-catalog deterministic + 64d0f7042d travis: protect the systemd organization on Fuzzit from forks + 4247938ee1 hwdb: Mark lis3lv02d sensors in HP laptops as being in the base + 379158684a po: update Japanese translation + 31e1bbd1ca docs: fix push recipe in RELEASE.md + f06530d86b man/systemctl.xml: fix missing "not" + 22aba2b969 docs: fix typo in boot loader doc + 000e08ca70 pstore: fix typo in error message - directoy -> directory + f7f9c69ac5 Fix typo in comment: overide -> override + ca8ba8f8c0 po: update Polish translation + ------------------------------------------------------------------- Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel + +- split off networkd and resolved into separate network subpackage +- use separate lang package for translations + ------------------------------------------------------------------- Wed Sep 18 12:17:37 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ec3759c7..2a119e33 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.36.g9e41d7ec35 +%define suse_version +suse.91.g428b937f91 %bcond_with gnuefi %if 0%{?bootstrap} @@ -165,6 +165,7 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. +Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description @@ -329,6 +330,22 @@ Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, and systemd-importd. +%if %{with networkd} || %{with resolved} +%package network +Summary: Systemd tools for networkd and resolved +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +Provides: systemd:/usr/lib/systemd/systemd-networkd +Provides: systemd:/usr/lib/systemd/systemd-resolved +%systemd_requires + +%description network +Systemd tools to manage network settings using networkd and +resolver tools for resolved + +%endif + %if %{with portabled} %package portable Summary: Systemd tools for portable services @@ -396,7 +413,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -445,6 +462,10 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if ! 0%{?bootstrap} +%lang_package +%endif + %prep %setup -q -n systemd-v%{version}%{suse_version} %autopatch -p1 @@ -524,6 +545,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} %else rm %{buildroot}%{_libdir}/libnss_systemd.so* +rm -r %{buildroot}%{_datadir}/locale %endif # Don't ship resolvconf symlink for now as it conflicts with the @@ -717,7 +739,9 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +%if ! 0%{?bootstrap} %find_lang systemd +%endif # Build of installation images uses a hard coded list of packages with # a %pre that needs to be run during the build. systemd is one of them @@ -767,13 +791,6 @@ systemctl daemon-reexec || : %systemd_post machines.target %systemd_post remote-fs.target %systemd_post systemd-timesyncd.service -%if %{with networkd} -%systemd_post systemd-networkd.service -%systemd_post systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%systemd_post systemd-resolved.service -%endif # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -816,12 +833,6 @@ test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service -%if %{with networkd} -%systemd_postun_with_restart systemd-networkd.service -%endif -%if %{with resolved} -%systemd_postun_with_restart systemd-resolved.service -%endif %pre -n udev%{?mini} # New installations uses the last compat symlink generation number @@ -934,6 +945,45 @@ fi %service_del_postun systemd-journal-upload.service %endif +%if %{with networkd} || %{with resolved} +%pre network +%if %{with networkd} +%service_add_pre systemd-networkd.service +%service_add_pre systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_pre systemd-resolved.service +%endif + +%post network +%tmpfiles_create portables.conf +%if %{with networkd} +%service_add_post systemd-networkd.service +%service_add_post systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_add_post systemd-resolved.service +%endif + +%preun network +%if %{with networkd} +%service_del_preun systemd-networkd.service +%service_del_preun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_preun systemd-resolved.service +%endif + +%postun network +%if %{with networkd} +%service_del_postun systemd-networkd.service +%service_del_postun systemd-networkd-wait-online.service +%endif +%if %{with resolved} +%service_del_postun systemd-resolved.service +%endif +%endif + %if %{with portabled} %pre portable %service_add_pre systemd-portabled.service @@ -951,7 +1001,7 @@ fi %clean -%files -f systemd.lang +%files %defattr(-,root,root) %license LICENSE* /bin/systemd @@ -962,12 +1012,6 @@ fi %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl -%if %{with networkd} -%{_bindir}/networkctl -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -987,9 +1031,6 @@ fi %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-tmpfiles %{_bindir}/systemd-machine-id-setup -%if %{with resolved} -%{_bindir}/systemd-resolve -%endif %{_bindir}/systemd-socket-activate %{_bindir}/systemd-stdio-bridge %{_bindir}/systemd-detect-virt @@ -1062,9 +1103,6 @@ fi %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so -%if %{with resolved} -%{_prefix}/lib/systemd/resolv.conf -%endif %{_prefix}/lib/systemd/scripts %exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh %dir %{_journalcatalogdir} @@ -1114,11 +1152,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%if %{with networkd} -%dir %{_sysconfdir}/systemd/network -%{_prefix}/lib/systemd/network/80-container-host0.network -%endif - %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1137,12 +1170,6 @@ fi %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%endif -%if %{with resolved} -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%endif %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/system.d @@ -1154,12 +1181,6 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf -%if %{with networkd} -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%endif # FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d @@ -1188,12 +1209,6 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service -%if %{with networkd} -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%endif -%if %{with resolved} -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%endif %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -1202,13 +1217,6 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy -%if %{with networkd} -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%endif -%if %{with resolved} -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%endif %if ! 0%{?bootstrap} %{_mandir}/man1/[a-rt-z]*ctl.1* @@ -1391,10 +1399,6 @@ fi %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%if %{with networkd} -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network -%endif %if %{with machined} %{_bindir}/machinectl %{_prefix}/lib/systemd/systemd-machined @@ -1432,6 +1436,8 @@ fi %endif %if ! 0%{?bootstrap} +%files lang -f systemd.lang + %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ @@ -1484,6 +1490,32 @@ fi %{_datadir}/systemd/gatewayd %endif +%if %{with networkd} || %{with resolved} +%files network +%defattr(-,root,root) +%if %{with networkd} +%dir %{_sysconfdir}/systemd/network +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%{_bindir}/networkctl +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%{_prefix}/lib/systemd/network/80-container-host0.network +%{_prefix}/lib/systemd/network/80-container-ve.network +%{_prefix}/lib/systemd/network/80-container-vz.network +%endif +%if %{with resolved} +%{_bindir}/resolvectl +%{_bindir}/systemd-resolve +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%{_prefix}/lib/systemd/resolv.conf +%endif +%endif + %if %{with portabled} %files portable %defattr(-,root,root) From 023b1b5d3e403a97337d6ae14faf032e6d6a3675955e3bfe45200b0a8c07403f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 31 Oct 2019 08:07:45 +0000 Subject: [PATCH 447/991] Accepting request 744383 from home:fbui:systemd:openSUSE-Factory - Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch It's part of the previous import. - Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore - Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) b37054aa5a compat-rules: escape '$' when used for shell expansion Changes from the v243-stable: ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel 3f6398c450 docs: fix inadvertent change in uid range 25bb377a73 cgroup: fix typo in BPF firewall support warning message 6d97aca0d5 fix build with compilers with default stack-protector enabled fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub 0553c3c668 pid1: fix DefaultTasksMax initialization f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment 9d8e889810 nspawn: consistenly fail if parsing the environment fails 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min ea248e53bf cgroup: Check ancestor memory min for unified memory config de1d25a506 cgroup: docs: memory.high doc fixups 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} 19a43dc38a Consider smb3 as remote filesystem 5c0224c7bf Handle d_type == DT_UNKNOWN correctly 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller OBS-URL: https://build.opensuse.org/request/show/744383 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1077 --- ...escape-when-used-for-shell-expansion.patch | 46 ---------------- systemd-mini.changes | 53 +++++++++++++++++++ systemd-mini.spec | 3 +- systemd-v243+suse.126.gb7467b7b55.tar.xz | 3 ++ systemd-v243+suse.91.g428b937f91.tar.xz | 3 -- systemd.changes | 53 +++++++++++++++++++ systemd.spec | 3 +- 7 files changed, 111 insertions(+), 53 deletions(-) delete mode 100644 0001-compat-rules-escape-when-used-for-shell-expansion.patch create mode 100644 systemd-v243+suse.126.gb7467b7b55.tar.xz delete mode 100644 systemd-v243+suse.91.g428b937f91.tar.xz diff --git a/0001-compat-rules-escape-when-used-for-shell-expansion.patch b/0001-compat-rules-escape-when-used-for-shell-expansion.patch deleted file mode 100644 index 207188cb..00000000 --- a/0001-compat-rules-escape-when-used-for-shell-expansion.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b37054aa5aebfed9e7c8ee423067aefef0facd39 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 9 Oct 2019 16:11:17 +0200 -Subject: [PATCH] compat-rules: escape '$' when used for shell expansion - -Make sure to use '$$' in shell expansions since the behavior of udev -is undefined when it encounters unknown substitions. - -udev used to silently ignore them but since v243 (commit -d7aee41db35f808bca), it throws such warning: - - systemd-udevd[443]: /usr/lib/udev/rules.d/61-persistent-storage-compat.rules:83 Invalid value "/bin/sh -c 'eui="%s{eui}"; echo ${eui// /}" for PROGRAM (char 33: invalid substitution type), ignoring, but please fix it. - -No functional changes. ---- - rules/61-persistent-storage-compat.rules | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules -index 0cdc8c4195..bd229f619b 100644 ---- a/rules/61-persistent-storage-compat.rules -+++ b/rules/61-persistent-storage-compat.rules -@@ -80,17 +80,17 @@ ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" - # symlink is created. - - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_EUI_COMPAT}!="?*", ATTRS{eui}=="?*", ATTRS{eui}!="0000000000000000", \ -- PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo ${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" -+ PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo $${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" - - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_NGUID_COMPAT}!="?*", ATTRS{nguid}=="?*", \ -- PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo ${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" -+ PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo $${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" - - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*", \ - PROGRAM=="/bin/sh -c ' \ - cd /sys/%p; \ - while ! [ -f model ]; do \ - cd ..; \ -- [ $(pwd) = %S ] && exit 1; \ -+ [ $$(pwd) = %S ] && exit 1; \ - done; \ - cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" - --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 3141c679..f493f24f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Thu Oct 31 07:38:55 UTC 2019 - Franck Bui + +- Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch + + It's part of the previous import. + +------------------------------------------------------------------- +Thu Oct 31 07:32:47 UTC 2019 - Franck Bui + +- Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 + + 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) + 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore + +------------------------------------------------------------------- +Tue Oct 29 10:35:03 UTC 2019 - Franck Bui + +- Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b + + f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) + b37054aa5a compat-rules: escape '$' when used for shell expansion + + Changes from the v243-stable: + + ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel + 3f6398c450 docs: fix inadvertent change in uid range + 25bb377a73 cgroup: fix typo in BPF firewall support warning message + 6d97aca0d5 fix build with compilers with default stack-protector enabled + fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub + 0553c3c668 pid1: fix DefaultTasksMax initialization + f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p + 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV + 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment + 9d8e889810 nspawn: consistenly fail if parsing the environment fails + 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used + b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units + f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min + ea248e53bf cgroup: Check ancestor memory min for unified memory config + de1d25a506 cgroup: docs: memory.high doc fixups + 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} + 19a43dc38a Consider smb3 as remote filesystem + 5c0224c7bf Handle d_type == DT_UNKNOWN correctly + 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller + 9d0ae987a6 network: drop noisy log message + f67f0e4ec4 Updated log message when the timesync happens for the first time (#13624) + e151bf4674 units: make systemd-binfmt.service easier to work with no autofs + 2b8e574d82 Corect man page reference in systemd-nologin.conf comments + a0577353f1 man: Add a missing space in machinectl(1) + 693e983988 log: Add missing "%" in "%m" log format strings + ea7151b8c4 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist + b90549290e man: fix typo + ------------------------------------------------------------------- Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns diff --git a/systemd-mini.spec b/systemd-mini.spec index 2e3e1c90..d49a96ac 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.91.g428b937f91 +%define suse_version +suse.126.gb7467b7b55 %bcond_with gnuefi %if 0%{?bootstrap} @@ -166,7 +166,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description diff --git a/systemd-v243+suse.126.gb7467b7b55.tar.xz b/systemd-v243+suse.126.gb7467b7b55.tar.xz new file mode 100644 index 00000000..b7f0a72a --- /dev/null +++ b/systemd-v243+suse.126.gb7467b7b55.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e94b87ba38b29d80fa47c14858e6047f32d197847fbac705caabe38a56467d +size 5617640 diff --git a/systemd-v243+suse.91.g428b937f91.tar.xz b/systemd-v243+suse.91.g428b937f91.tar.xz deleted file mode 100644 index 38f5db51..00000000 --- a/systemd-v243+suse.91.g428b937f91.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bf4fd83f69bfb10a6e461edaeb32b3d259420b641c1d5526165596f7467d35a -size 5617708 diff --git a/systemd.changes b/systemd.changes index 3141c679..f493f24f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Thu Oct 31 07:38:55 UTC 2019 - Franck Bui + +- Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch + + It's part of the previous import. + +------------------------------------------------------------------- +Thu Oct 31 07:32:47 UTC 2019 - Franck Bui + +- Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 + + 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) + 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore + +------------------------------------------------------------------- +Tue Oct 29 10:35:03 UTC 2019 - Franck Bui + +- Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b + + f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) + b37054aa5a compat-rules: escape '$' when used for shell expansion + + Changes from the v243-stable: + + ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel + 3f6398c450 docs: fix inadvertent change in uid range + 25bb377a73 cgroup: fix typo in BPF firewall support warning message + 6d97aca0d5 fix build with compilers with default stack-protector enabled + fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub + 0553c3c668 pid1: fix DefaultTasksMax initialization + f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p + 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV + 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment + 9d8e889810 nspawn: consistenly fail if parsing the environment fails + 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used + b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units + f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min + ea248e53bf cgroup: Check ancestor memory min for unified memory config + de1d25a506 cgroup: docs: memory.high doc fixups + 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} + 19a43dc38a Consider smb3 as remote filesystem + 5c0224c7bf Handle d_type == DT_UNKNOWN correctly + 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller + 9d0ae987a6 network: drop noisy log message + f67f0e4ec4 Updated log message when the timesync happens for the first time (#13624) + e151bf4674 units: make systemd-binfmt.service easier to work with no autofs + 2b8e574d82 Corect man page reference in systemd-nologin.conf comments + a0577353f1 man: Add a missing space in machinectl(1) + 693e983988 log: Add missing "%" in "%m" log format strings + ea7151b8c4 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist + b90549290e man: fix typo + ------------------------------------------------------------------- Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns diff --git a/systemd.spec b/systemd.spec index c6d2d3e7..389ff129 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.91.g428b937f91 +%define suse_version +suse.126.gb7467b7b55 %bcond_with gnuefi %if 0%{?bootstrap} @@ -164,7 +164,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description From 7bd4c08065cd3bb4742384c4d5d9e0e97ff547d9ab11a5d28653111f15518e2d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 3 Nov 2019 10:58:18 +0000 Subject: [PATCH 448/991] Accepting request 744384 from Base:System OBS-URL: https://build.opensuse.org/request/show/744384 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=300 --- ...escape-when-used-for-shell-expansion.patch | 46 --------------- systemd-mini.changes | 59 +++++++++++++++++++ systemd-mini.spec | 6 +- systemd-v243+suse.126.gb7467b7b55.tar.xz | 3 + systemd-v243+suse.91.g428b937f91.tar.xz | 3 - systemd.changes | 59 +++++++++++++++++++ systemd.spec | 6 +- 7 files changed, 125 insertions(+), 57 deletions(-) delete mode 100644 0001-compat-rules-escape-when-used-for-shell-expansion.patch create mode 100644 systemd-v243+suse.126.gb7467b7b55.tar.xz delete mode 100644 systemd-v243+suse.91.g428b937f91.tar.xz diff --git a/0001-compat-rules-escape-when-used-for-shell-expansion.patch b/0001-compat-rules-escape-when-used-for-shell-expansion.patch deleted file mode 100644 index 207188cb..00000000 --- a/0001-compat-rules-escape-when-used-for-shell-expansion.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b37054aa5aebfed9e7c8ee423067aefef0facd39 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 9 Oct 2019 16:11:17 +0200 -Subject: [PATCH] compat-rules: escape '$' when used for shell expansion - -Make sure to use '$$' in shell expansions since the behavior of udev -is undefined when it encounters unknown substitions. - -udev used to silently ignore them but since v243 (commit -d7aee41db35f808bca), it throws such warning: - - systemd-udevd[443]: /usr/lib/udev/rules.d/61-persistent-storage-compat.rules:83 Invalid value "/bin/sh -c 'eui="%s{eui}"; echo ${eui// /}" for PROGRAM (char 33: invalid substitution type), ignoring, but please fix it. - -No functional changes. ---- - rules/61-persistent-storage-compat.rules | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules -index 0cdc8c4195..bd229f619b 100644 ---- a/rules/61-persistent-storage-compat.rules -+++ b/rules/61-persistent-storage-compat.rules -@@ -80,17 +80,17 @@ ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" - # symlink is created. - - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_EUI_COMPAT}!="?*", ATTRS{eui}=="?*", ATTRS{eui}!="0000000000000000", \ -- PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo ${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" -+ PROGRAM=="/bin/sh -c 'eui=\"%s{eui}\"; echo $${eui// /}", ENV{ID_NVME_EUI_COMPAT}="2%c" - - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_NGUID_COMPAT}!="?*", ATTRS{nguid}=="?*", \ -- PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo ${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" -+ PROGRAM=="/bin/sh -c 'nguid=\"%s{nguid}\"; echo $${nguid//-/}", ENV{ID_NVME_NGUID_COMPAT}="%c" - - KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*", \ - PROGRAM=="/bin/sh -c ' \ - cd /sys/%p; \ - while ! [ -f model ]; do \ - cd ..; \ -- [ $(pwd) = %S ] && exit 1; \ -+ [ $$(pwd) = %S ] && exit 1; \ - done; \ - cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" - --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 8196fde7..f493f24f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu Oct 31 07:38:55 UTC 2019 - Franck Bui + +- Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch + + It's part of the previous import. + +------------------------------------------------------------------- +Thu Oct 31 07:32:47 UTC 2019 - Franck Bui + +- Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 + + 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) + 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore + +------------------------------------------------------------------- +Tue Oct 29 10:35:03 UTC 2019 - Franck Bui + +- Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b + + f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) + b37054aa5a compat-rules: escape '$' when used for shell expansion + + Changes from the v243-stable: + + ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel + 3f6398c450 docs: fix inadvertent change in uid range + 25bb377a73 cgroup: fix typo in BPF firewall support warning message + 6d97aca0d5 fix build with compilers with default stack-protector enabled + fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub + 0553c3c668 pid1: fix DefaultTasksMax initialization + f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p + 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV + 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment + 9d8e889810 nspawn: consistenly fail if parsing the environment fails + 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used + b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units + f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min + ea248e53bf cgroup: Check ancestor memory min for unified memory config + de1d25a506 cgroup: docs: memory.high doc fixups + 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} + 19a43dc38a Consider smb3 as remote filesystem + 5c0224c7bf Handle d_type == DT_UNKNOWN correctly + 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller + 9d0ae987a6 network: drop noisy log message + f67f0e4ec4 Updated log message when the timesync happens for the first time (#13624) + e151bf4674 units: make systemd-binfmt.service easier to work with no autofs + 2b8e574d82 Corect man page reference in systemd-nologin.conf comments + a0577353f1 man: Add a missing space in machinectl(1) + 693e983988 log: Add missing "%" in "%m" log format strings + ea7151b8c4 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist + b90549290e man: fix typo + +------------------------------------------------------------------- +Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns + +- Remove intltool BuildRequires, not needed since v237 +- Use python3-base BuildRequires instead of full python3 + ------------------------------------------------------------------- Mon Oct 21 10:33:27 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 45161ddd..d49a96ac 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.91.g428b937f91 +%define suse_version +suse.126.gb7467b7b55 %bcond_with gnuefi %if 0%{?bootstrap} @@ -69,7 +69,7 @@ BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools BuildRequires: polkit # python is only required for generating systemd.directives.xml -BuildRequires: python3 +BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) @@ -84,7 +84,6 @@ BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif BuildRequires: fdupes BuildRequires: gperf -BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 @@ -167,7 +166,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description diff --git a/systemd-v243+suse.126.gb7467b7b55.tar.xz b/systemd-v243+suse.126.gb7467b7b55.tar.xz new file mode 100644 index 00000000..b7f0a72a --- /dev/null +++ b/systemd-v243+suse.126.gb7467b7b55.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e94b87ba38b29d80fa47c14858e6047f32d197847fbac705caabe38a56467d +size 5617640 diff --git a/systemd-v243+suse.91.g428b937f91.tar.xz b/systemd-v243+suse.91.g428b937f91.tar.xz deleted file mode 100644 index 38f5db51..00000000 --- a/systemd-v243+suse.91.g428b937f91.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bf4fd83f69bfb10a6e461edaeb32b3d259420b641c1d5526165596f7467d35a -size 5617708 diff --git a/systemd.changes b/systemd.changes index 8196fde7..f493f24f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Thu Oct 31 07:38:55 UTC 2019 - Franck Bui + +- Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch + + It's part of the previous import. + +------------------------------------------------------------------- +Thu Oct 31 07:32:47 UTC 2019 - Franck Bui + +- Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 + + 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) + 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore + +------------------------------------------------------------------- +Tue Oct 29 10:35:03 UTC 2019 - Franck Bui + +- Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b + + f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) + b37054aa5a compat-rules: escape '$' when used for shell expansion + + Changes from the v243-stable: + + ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel + 3f6398c450 docs: fix inadvertent change in uid range + 25bb377a73 cgroup: fix typo in BPF firewall support warning message + 6d97aca0d5 fix build with compilers with default stack-protector enabled + fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub + 0553c3c668 pid1: fix DefaultTasksMax initialization + f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p + 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV + 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment + 9d8e889810 nspawn: consistenly fail if parsing the environment fails + 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used + b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units + f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min + ea248e53bf cgroup: Check ancestor memory min for unified memory config + de1d25a506 cgroup: docs: memory.high doc fixups + 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} + 19a43dc38a Consider smb3 as remote filesystem + 5c0224c7bf Handle d_type == DT_UNKNOWN correctly + 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller + 9d0ae987a6 network: drop noisy log message + f67f0e4ec4 Updated log message when the timesync happens for the first time (#13624) + e151bf4674 units: make systemd-binfmt.service easier to work with no autofs + 2b8e574d82 Corect man page reference in systemd-nologin.conf comments + a0577353f1 man: Add a missing space in machinectl(1) + 693e983988 log: Add missing "%" in "%m" log format strings + ea7151b8c4 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist + b90549290e man: fix typo + +------------------------------------------------------------------- +Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns + +- Remove intltool BuildRequires, not needed since v237 +- Use python3-base BuildRequires instead of full python3 + ------------------------------------------------------------------- Mon Oct 21 10:33:27 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2a119e33..389ff129 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.91.g428b937f91 +%define suse_version +suse.126.gb7467b7b55 %bcond_with gnuefi %if 0%{?bootstrap} @@ -67,7 +67,7 @@ BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools BuildRequires: polkit # python is only required for generating systemd.directives.xml -BuildRequires: python3 +BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) @@ -82,7 +82,6 @@ BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif BuildRequires: fdupes BuildRequires: gperf -BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 @@ -165,7 +164,6 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-compat-rules-escape-when-used-for-shell-expansion.patch Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description From 021c8ad589223be6930096f7e9ab2d2dcd13382d91d5ae4fe34f09cd3cda6b56 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 5 Nov 2019 11:23:54 +0000 Subject: [PATCH 449/991] Accepting request 745454 from home:fbui:systemd:openSUSE-Factory - Fix %{_libexecdir} misuses of /usr/lib OBS-URL: https://build.opensuse.org/request/show/745454 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1078 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 4 ++-- systemd.changes | 5 +++++ systemd.spec | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index f493f24f..fd249f77 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Nov 5 10:56:54 UTC 2019 - Franck Bui + +- Fix %{_libexecdir} misuses of /usr/lib + ------------------------------------------------------------------- Thu Oct 31 07:38:55 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d49a96ac..b38933e3 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1132,7 +1132,7 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d +%{_prefix}/lib/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1143,7 +1143,7 @@ fi %exclude %{_sysusersdir}/systemd-remote.conf %endif -%{_libexecdir}/environment.d/ +%{_prefix}/lib/environment.d/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d diff --git a/systemd.changes b/systemd.changes index f493f24f..fd249f77 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Nov 5 10:56:54 UTC 2019 - Franck Bui + +- Fix %{_libexecdir} misuses of /usr/lib + ------------------------------------------------------------------- Thu Oct 31 07:38:55 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 389ff129..d1cfd3ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1130,7 +1130,7 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d +%{_prefix}/lib/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1141,7 +1141,7 @@ fi %exclude %{_sysusersdir}/systemd-remote.conf %endif -%{_libexecdir}/environment.d/ +%{_prefix}/lib/environment.d/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d From 1591e422db277bbf0688ddaf065a9d4dd40c4aa23896405c861d55be442d4f65 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 6 Nov 2019 09:18:08 +0000 Subject: [PATCH 450/991] Accepting request 745733 from home:lnussel:branches:home:mvidner:branches:Base:System - Allow YaST to select Iranian (Persian, Farsi) keyboard layout (bsc#1092920) OBS-URL: https://build.opensuse.org/request/show/745733 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1079 --- kbd-model-map.legacy | 1 + systemd.changes | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index 6c497f42..5ddbd8d6 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -4,6 +4,7 @@ arabic ara,us pc105 - terminate:ctrl_al cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle es-cp850 es pc105 - terminate:ctrl_alt_bksp +ir ir pc105 - terminate:ctrl_alt_bksp korean kr pc105 - terminate:ctrl_alt_bksp lt.std lt pc105 std terminate:ctrl_alt_bksp no-latin1 no pc105 - terminate:ctrl_alt_bksp diff --git a/systemd.changes b/systemd.changes index fd249f77..f7118a87 100644 --- a/systemd.changes +++ b/systemd.changes @@ -144,6 +144,12 @@ Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Thu Sep 19 08:49:59 UTC 2019 - Martin Vidner + +- Allow YaST to select Iranian (Persian, Farsi) keyboard layout + (bsc#1092920) + ------------------------------------------------------------------- Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel From ef73e361b7ae745fb672f66e6c68e8e8abe965343e56206a151075b45d64f1b8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 13 Nov 2019 07:53:05 +0000 Subject: [PATCH 451/991] Accepting request 748020 from home:fbui:systemd:openSUSE-Factory - Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() 2e297f0d87 shared/install: fix error codes returned by install_context_apply() dd29d70d32 man: alias names can't be used with enable command - Allow YaST to select Iranian (Persian, Farsi) keyboard layout (bsc#1092920) OBS-URL: https://build.opensuse.org/request/show/748020 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1080 --- systemd-mini.changes | 20 ++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v243+suse.126.gb7467b7b55.tar.xz | 3 --- systemd-v243+suse.135.g0b715187a8.tar.xz | 3 +++ systemd.changes | 14 ++++++++++++++ systemd.spec | 2 +- 6 files changed, 39 insertions(+), 5 deletions(-) delete mode 100644 systemd-v243+suse.126.gb7467b7b55.tar.xz create mode 100644 systemd-v243+suse.135.g0b715187a8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index fd249f77..4ac78fd8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Nov 12 14:15:03 UTC 2019 - Franck Bui + +- Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 + + 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) + c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) + b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) + bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS + eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS + 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() + 2e297f0d87 shared/install: fix error codes returned by install_context_apply() + dd29d70d32 man: alias names can't be used with enable command + ------------------------------------------------------------------- Tue Nov 5 10:56:54 UTC 2019 - Franck Bui @@ -144,6 +158,12 @@ Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Thu Sep 19 08:49:59 UTC 2019 - Martin Vidner + +- Allow YaST to select Iranian (Persian, Farsi) keyboard layout + (bsc#1092920) + ------------------------------------------------------------------- Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index b38933e3..c15d809a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.126.gb7467b7b55 +%define suse_version +suse.135.g0b715187a8 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v243+suse.126.gb7467b7b55.tar.xz b/systemd-v243+suse.126.gb7467b7b55.tar.xz deleted file mode 100644 index b7f0a72a..00000000 --- a/systemd-v243+suse.126.gb7467b7b55.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90e94b87ba38b29d80fa47c14858e6047f32d197847fbac705caabe38a56467d -size 5617640 diff --git a/systemd-v243+suse.135.g0b715187a8.tar.xz b/systemd-v243+suse.135.g0b715187a8.tar.xz new file mode 100644 index 00000000..8e1237a8 --- /dev/null +++ b/systemd-v243+suse.135.g0b715187a8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ee8ed4694914a70e8831b9f5b88f23167e2fc87ca8893d991495de13f19ba74 +size 5618704 diff --git a/systemd.changes b/systemd.changes index f7118a87..4ac78fd8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Nov 12 14:15:03 UTC 2019 - Franck Bui + +- Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 + + 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) + c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) + b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) + bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS + eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS + 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() + 2e297f0d87 shared/install: fix error codes returned by install_context_apply() + dd29d70d32 man: alias names can't be used with enable command + ------------------------------------------------------------------- Tue Nov 5 10:56:54 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d1cfd3ff..4fbd18a0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.126.gb7467b7b55 +%define suse_version +suse.135.g0b715187a8 %bcond_with gnuefi %if 0%{?bootstrap} From dc12e8b6a3f6d85e3af83f8bc96fafbec4b0edc3367d60a5529fdc21045dfe62 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 18 Nov 2019 18:57:26 +0000 Subject: [PATCH 452/991] Accepting request 748032 from Base:System OBS-URL: https://build.opensuse.org/request/show/748032 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=301 --- kbd-model-map.legacy | 1 + systemd-mini.changes | 25 ++++++++++++++++++++++++ systemd-mini.spec | 6 +++--- systemd-v243+suse.126.gb7467b7b55.tar.xz | 3 --- systemd-v243+suse.135.g0b715187a8.tar.xz | 3 +++ systemd.changes | 25 ++++++++++++++++++++++++ systemd.spec | 6 +++--- 7 files changed, 60 insertions(+), 9 deletions(-) delete mode 100644 systemd-v243+suse.126.gb7467b7b55.tar.xz create mode 100644 systemd-v243+suse.135.g0b715187a8.tar.xz diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index 6c497f42..5ddbd8d6 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -4,6 +4,7 @@ arabic ara,us pc105 - terminate:ctrl_al cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle es-cp850 es pc105 - terminate:ctrl_alt_bksp +ir ir pc105 - terminate:ctrl_alt_bksp korean kr pc105 - terminate:ctrl_alt_bksp lt.std lt pc105 std terminate:ctrl_alt_bksp no-latin1 no pc105 - terminate:ctrl_alt_bksp diff --git a/systemd-mini.changes b/systemd-mini.changes index f493f24f..4ac78fd8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Tue Nov 12 14:15:03 UTC 2019 - Franck Bui + +- Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 + + 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) + c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) + b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) + bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS + eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS + 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() + 2e297f0d87 shared/install: fix error codes returned by install_context_apply() + dd29d70d32 man: alias names can't be used with enable command + +------------------------------------------------------------------- +Tue Nov 5 10:56:54 UTC 2019 - Franck Bui + +- Fix %{_libexecdir} misuses of /usr/lib + ------------------------------------------------------------------- Thu Oct 31 07:38:55 UTC 2019 - Franck Bui @@ -139,6 +158,12 @@ Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Thu Sep 19 08:49:59 UTC 2019 - Martin Vidner + +- Allow YaST to select Iranian (Persian, Farsi) keyboard layout + (bsc#1092920) + ------------------------------------------------------------------- Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index d49a96ac..c15d809a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.126.gb7467b7b55 +%define suse_version +suse.135.g0b715187a8 %bcond_with gnuefi %if 0%{?bootstrap} @@ -1132,7 +1132,7 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d +%{_prefix}/lib/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1143,7 +1143,7 @@ fi %exclude %{_sysusersdir}/systemd-remote.conf %endif -%{_libexecdir}/environment.d/ +%{_prefix}/lib/environment.d/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d diff --git a/systemd-v243+suse.126.gb7467b7b55.tar.xz b/systemd-v243+suse.126.gb7467b7b55.tar.xz deleted file mode 100644 index b7f0a72a..00000000 --- a/systemd-v243+suse.126.gb7467b7b55.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90e94b87ba38b29d80fa47c14858e6047f32d197847fbac705caabe38a56467d -size 5617640 diff --git a/systemd-v243+suse.135.g0b715187a8.tar.xz b/systemd-v243+suse.135.g0b715187a8.tar.xz new file mode 100644 index 00000000..8e1237a8 --- /dev/null +++ b/systemd-v243+suse.135.g0b715187a8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ee8ed4694914a70e8831b9f5b88f23167e2fc87ca8893d991495de13f19ba74 +size 5618704 diff --git a/systemd.changes b/systemd.changes index f493f24f..4ac78fd8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Tue Nov 12 14:15:03 UTC 2019 - Franck Bui + +- Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 + + 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) + c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) + b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) + bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS + eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS + 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() + 2e297f0d87 shared/install: fix error codes returned by install_context_apply() + dd29d70d32 man: alias names can't be used with enable command + +------------------------------------------------------------------- +Tue Nov 5 10:56:54 UTC 2019 - Franck Bui + +- Fix %{_libexecdir} misuses of /usr/lib + ------------------------------------------------------------------- Thu Oct 31 07:38:55 UTC 2019 - Franck Bui @@ -139,6 +158,12 @@ Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - Some files related to the portable stuff were missing some %exclude +------------------------------------------------------------------- +Thu Sep 19 08:49:59 UTC 2019 - Martin Vidner + +- Allow YaST to select Iranian (Persian, Farsi) keyboard layout + (bsc#1092920) + ------------------------------------------------------------------- Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 389ff129..4fbd18a0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.126.gb7467b7b55 +%define suse_version +suse.135.g0b715187a8 %bcond_with gnuefi %if 0%{?bootstrap} @@ -1130,7 +1130,7 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d +%{_prefix}/lib/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1141,7 +1141,7 @@ fi %exclude %{_sysusersdir}/systemd-remote.conf %endif -%{_libexecdir}/environment.d/ +%{_prefix}/lib/environment.d/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d From ce7fc68a4f94ac7ce26ff33d953862bbc1907350834922239f4f999415775c85 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Dec 2019 06:58:59 +0000 Subject: [PATCH 453/991] Accepting request 753452 from home:fbui:systemd:openSUSE-Factory - Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 1439d72a72 udevd: don't use monitor after manager_exit() 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" 152577d6d0 udevd: fix crash when workers time out after exit is signal caught f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) Changes from the v243-stable (84 commits): e51d9bf9e5 man: add entry about SpeedMeter= aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules b9a619bb67 udevadm: ignore EROFS and return earlier 1ec5b9f80c basic: add vmware hypervisor detection from device-tree 7fa7080248 umount: be happy if /proc/swaps doesn't exist [...] 47d0e23d26 udev: fix memleak caused by wrong cleanup function a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* cb1d892f17 parse_hwdb: process files in order OBS-URL: https://build.opensuse.org/request/show/753452 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1081 --- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v243+suse.135.g0b715187a8.tar.xz | 3 --- systemd-v243+suse.225.gdbb1d4734d.tar.xz | 3 +++ systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 49 insertions(+), 5 deletions(-) delete mode 100644 systemd-v243+suse.135.g0b715187a8.tar.xz create mode 100644 systemd-v243+suse.225.gdbb1d4734d.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 4ac78fd8..7bf8c925 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Dec 3 16:56:31 UTC 2019 - Franck Bui + +- Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 + + 1439d72a72 udevd: don't use monitor after manager_exit() + 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" + 152577d6d0 udevd: fix crash when workers time out after exit is signal caught + f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) + + Changes from the v243-stable (84 commits): + + e51d9bf9e5 man: add entry about SpeedMeter= + aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules + b9a619bb67 udevadm: ignore EROFS and return earlier + 1ec5b9f80c basic: add vmware hypervisor detection from device-tree + 7fa7080248 umount: be happy if /proc/swaps doesn't exist + [...] + 47d0e23d26 udev: fix memleak caused by wrong cleanup function + a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* + cb1d892f17 parse_hwdb: process files in order + ------------------------------------------------------------------- Tue Nov 12 14:15:03 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c15d809a..770c21a4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.135.g0b715187a8 +%define suse_version +suse.225.gdbb1d4734d %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v243+suse.135.g0b715187a8.tar.xz b/systemd-v243+suse.135.g0b715187a8.tar.xz deleted file mode 100644 index 8e1237a8..00000000 --- a/systemd-v243+suse.135.g0b715187a8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ee8ed4694914a70e8831b9f5b88f23167e2fc87ca8893d991495de13f19ba74 -size 5618704 diff --git a/systemd-v243+suse.225.gdbb1d4734d.tar.xz b/systemd-v243+suse.225.gdbb1d4734d.tar.xz new file mode 100644 index 00000000..17eae932 --- /dev/null +++ b/systemd-v243+suse.225.gdbb1d4734d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75e337763ce116e5e9125f6cd96c015ad29416f47c9bfe063f25478b532569d0 +size 5619504 diff --git a/systemd.changes b/systemd.changes index 4ac78fd8..7bf8c925 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Dec 3 16:56:31 UTC 2019 - Franck Bui + +- Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 + + 1439d72a72 udevd: don't use monitor after manager_exit() + 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" + 152577d6d0 udevd: fix crash when workers time out after exit is signal caught + f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) + + Changes from the v243-stable (84 commits): + + e51d9bf9e5 man: add entry about SpeedMeter= + aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules + b9a619bb67 udevadm: ignore EROFS and return earlier + 1ec5b9f80c basic: add vmware hypervisor detection from device-tree + 7fa7080248 umount: be happy if /proc/swaps doesn't exist + [...] + 47d0e23d26 udev: fix memleak caused by wrong cleanup function + a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* + cb1d892f17 parse_hwdb: process files in order + ------------------------------------------------------------------- Tue Nov 12 14:15:03 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4fbd18a0..335a6bda 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.135.g0b715187a8 +%define suse_version +suse.225.gdbb1d4734d %bcond_with gnuefi %if 0%{?bootstrap} From b2ca62110ea0c7ad73b0159967a857bd823a3d8b1fdd1d60f092ed0d17bb1af1 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 11 Dec 2019 10:58:35 +0000 Subject: [PATCH 454/991] Accepting request 753895 from Base:System OBS-URL: https://build.opensuse.org/request/show/753895 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=302 --- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v243+suse.135.g0b715187a8.tar.xz | 3 --- systemd-v243+suse.225.gdbb1d4734d.tar.xz | 3 +++ systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 49 insertions(+), 5 deletions(-) delete mode 100644 systemd-v243+suse.135.g0b715187a8.tar.xz create mode 100644 systemd-v243+suse.225.gdbb1d4734d.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 4ac78fd8..7bf8c925 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Dec 3 16:56:31 UTC 2019 - Franck Bui + +- Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 + + 1439d72a72 udevd: don't use monitor after manager_exit() + 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" + 152577d6d0 udevd: fix crash when workers time out after exit is signal caught + f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) + + Changes from the v243-stable (84 commits): + + e51d9bf9e5 man: add entry about SpeedMeter= + aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules + b9a619bb67 udevadm: ignore EROFS and return earlier + 1ec5b9f80c basic: add vmware hypervisor detection from device-tree + 7fa7080248 umount: be happy if /proc/swaps doesn't exist + [...] + 47d0e23d26 udev: fix memleak caused by wrong cleanup function + a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* + cb1d892f17 parse_hwdb: process files in order + ------------------------------------------------------------------- Tue Nov 12 14:15:03 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c15d809a..770c21a4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.135.g0b715187a8 +%define suse_version +suse.225.gdbb1d4734d %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v243+suse.135.g0b715187a8.tar.xz b/systemd-v243+suse.135.g0b715187a8.tar.xz deleted file mode 100644 index 8e1237a8..00000000 --- a/systemd-v243+suse.135.g0b715187a8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ee8ed4694914a70e8831b9f5b88f23167e2fc87ca8893d991495de13f19ba74 -size 5618704 diff --git a/systemd-v243+suse.225.gdbb1d4734d.tar.xz b/systemd-v243+suse.225.gdbb1d4734d.tar.xz new file mode 100644 index 00000000..17eae932 --- /dev/null +++ b/systemd-v243+suse.225.gdbb1d4734d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75e337763ce116e5e9125f6cd96c015ad29416f47c9bfe063f25478b532569d0 +size 5619504 diff --git a/systemd.changes b/systemd.changes index 4ac78fd8..7bf8c925 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Dec 3 16:56:31 UTC 2019 - Franck Bui + +- Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 + + 1439d72a72 udevd: don't use monitor after manager_exit() + 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" + 152577d6d0 udevd: fix crash when workers time out after exit is signal caught + f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) + + Changes from the v243-stable (84 commits): + + e51d9bf9e5 man: add entry about SpeedMeter= + aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules + b9a619bb67 udevadm: ignore EROFS and return earlier + 1ec5b9f80c basic: add vmware hypervisor detection from device-tree + 7fa7080248 umount: be happy if /proc/swaps doesn't exist + [...] + 47d0e23d26 udev: fix memleak caused by wrong cleanup function + a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* + cb1d892f17 parse_hwdb: process files in order + ------------------------------------------------------------------- Tue Nov 12 14:15:03 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4fbd18a0..335a6bda 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.135.g0b715187a8 +%define suse_version +suse.225.gdbb1d4734d %bcond_with gnuefi %if 0%{?bootstrap} From d74da009d3a75e8abba7193ff6381155aed6f6eb5015a4c5542d2d3986ebe907 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 11 Dec 2019 17:25:24 +0000 Subject: [PATCH 455/991] Accepting request 755902 from home:fbui:systemd:openSUSE-Factory - Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown - Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for details. Legacy and obsolete symlinks have been finally dropped. Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. Users were notified about the deprecation of UserTasksMax option and how to move to the new mechanism. The dropin replacement for UserTasksMax is therefore no more generated but its use still produces a warning. Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. These patches were extracted from the git repo because it's not clear where the SUSE tmpfiles specificities should be located. OBS-URL: https://build.opensuse.org/request/show/755902 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1082 --- ...lock-group-to-follow-openSUSE-policy.patch | 38 ++++ ...E-policy-do-not-clean-tmp-by-default.patch | 26 +++ ...ward-compatibility-with-UserTasksMax.patch | 187 ------------------ systemd-mini.changes | 28 +++ systemd-mini.spec | 35 +--- systemd-v243+suse.225.gdbb1d4734d.tar.xz | 3 - systemd-v244+suse.32.gd8f6a20485.tar.xz | 3 + systemd.changes | 28 +++ systemd.spec | 35 +--- 9 files changed, 143 insertions(+), 240 deletions(-) create mode 100644 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch create mode 100644 0001-SUSE-policy-do-not-clean-tmp-by-default.patch delete mode 100644 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch delete mode 100644 systemd-v243+suse.225.gdbb1d4734d.tar.xz create mode 100644 systemd-v244+suse.32.gd8f6a20485.tar.xz diff --git a/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch b/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch new file mode 100644 index 00000000..66eeece9 --- /dev/null +++ b/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch @@ -0,0 +1,38 @@ +From ca2788b478d763e49d2463378272d9fef2ef1bf3 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 9 May 2016 16:10:21 +0200 +Subject: [PATCH 1/1] Fix /run/lock group to follow openSUSE policy + +This is a partial import of commit +88013cabb939e4bd7347ce324c9eb9c1a45582de part of SUSE/v210 branch. + +However /var/lock/{subsys,lockdev} are left alone and will be created +because: + +- a bug was opened requesting /var/lock/subsys, see commit +0671c57670fc09e0cb970d081a1b523ea9c62b5b. + +- creating /var/lock/lockdev shouldn't hurt. + +[fixes: bnc#733523] +--- + tmpfiles.d/legacy.conf | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf +index 62e2ae0986..415918f407 100644 +--- a/tmpfiles.d/legacy.conf ++++ b/tmpfiles.d/legacy.conf +@@ -10,7 +10,8 @@ + # These files are considered legacy and are unnecessary on legacy-free + # systems. + +-d /run/lock 0755 root root - ++# On openSUSE, /run/lock is owned by the 'lock' group. ++d /run/lock 0775 root lock - + L /var/lock - - - - ../run/lock + + # /run/lock/subsys is used for serializing SysV service execution, and +-- +2.16.4 + diff --git a/0001-SUSE-policy-do-not-clean-tmp-by-default.patch b/0001-SUSE-policy-do-not-clean-tmp-by-default.patch new file mode 100644 index 00000000..6f37b2d6 --- /dev/null +++ b/0001-SUSE-policy-do-not-clean-tmp-by-default.patch @@ -0,0 +1,26 @@ +From b66a7b4b5aa25a1ffb4b76fe9545046dabd92c03 Mon Sep 17 00:00:00 2001 +From: Reinhard Max +Date: Fri, 19 Apr 2013 16:56:26 +0200 +Subject: [PATCH 1/1] SUSE policy: do not clean /tmp by default. + +Fix regression in the default for tmp auto-deletion (FATE#314974). +--- + tmpfiles.d/tmp.conf | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf +index fe5225d751..dedc7569e1 100644 +--- a/tmpfiles.d/tmp.conf ++++ b/tmpfiles.d/tmp.conf +@@ -8,5 +8,6 @@ + # See tmpfiles.d(5) for details + + # Clear tmp directories separately, to make them easier to override +-q /tmp 1777 root root 10d +-q /var/tmp 1777 root root 30d ++# SUSE policy: we don't clean those directories ++q /tmp 1777 root root - ++q /var/tmp 1777 root root - +-- +2.16.4 + diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch deleted file mode 100644 index 553fd89f..00000000 --- a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +++ /dev/null @@ -1,187 +0,0 @@ -From ce59acc7743f1897a335449b718f9ede33add394 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 6 Nov 2018 11:51:26 +0100 -Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in - logind.conf - -Since commit 284149392755f086d0a71, UserTasksMax= support has been simply -dropped. - -A generator is used to automatically create an appropriate dropin that has the -same effect. However since the snippet is generated in /run, sysadmin is -encouraged to copy it in /etc to make it persistent. - -The main advantages to use a generator are: - - - sysadmin is aware of this backward incompatible change - - - he will be the one who will fix logind.conf manually (to remove the use of - UserTasksMax=) - - - he will decide how to name the snippet and possibly merge it with an - existing one - -Expect this generator to be dropped in the future. ---- - meson.build | 8 +++ - src/login/compat-tasks-max-generator.c | 68 ++++++++++++++++++++++++++ - src/login/logind-user.c | 43 ++++++++++++++-- - 3 files changed, 114 insertions(+), 5 deletions(-) - create mode 100644 src/login/compat-tasks-max-generator.c - -diff --git a/meson.build b/meson.build -index dc6e970095..d834108f24 100644 ---- a/meson.build -+++ b/meson.build -@@ -1885,6 +1885,14 @@ if conf.get('ENABLE_LOGIND') == 1 - endif - endif - -+ executable('logind-compat-tasks-max-generator', -+ 'src/login/compat-tasks-max-generator.c', -+ include_directories : includes, -+ link_with : [libshared, liblogind_core], -+ install_rpath : rootlibexecdir, -+ install : true, -+ install_dir : systemgeneratordir) -+ - executable('systemd-user-runtime-dir', - user_runtime_dir_sources, - include_directories : includes, -diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c -new file mode 100644 -index 0000000000..964d0596fb ---- /dev/null -+++ b/src/login/compat-tasks-max-generator.c -@@ -0,0 +1,68 @@ -+#include -+#include -+#include -+ -+#include "alloc-util.h" -+#include "dropin.h" -+#include "logind.h" -+#include "path-util.h" -+ -+static const char *arg_dest = "/tmp"; -+ -+static int read_manager_configuration(uint64_t *user_tasks_max) { -+ Manager m = {}; -+ int r; -+ -+ manager_reset_config(&m); -+ m.user_tasks_max = 0; -+ -+ r = manager_parse_config_file(&m); -+ if (r < 0) -+ return log_warning_errno(r, "Failed to parse logind.conf: %m"); -+ -+ if (m.user_tasks_max == 0) -+ return 0; -+ -+ *user_tasks_max = m.user_tasks_max; -+ return 1; -+} -+ -+int main(int argc, char *argv[]) { -+ _cleanup_free_ char *p = NULL; -+ uint64_t user_tasks_max; -+ int r = 0; -+ -+ if (argc > 1 && argc != 4) { -+ log_error("This program takes three or no arguments."); -+ return EXIT_FAILURE; -+ } -+ -+ if (argc > 1) -+ arg_dest = argv[1]; -+ -+ log_set_prohibit_ipc(true); -+ log_set_target(LOG_TARGET_AUTO); -+ log_parse_environment(); -+ log_open(); -+ -+ umask(0022); -+ -+ r = read_manager_configuration(&user_tasks_max); -+ if (r == 0) -+ return EXIT_SUCCESS; -+ if (r < 0) -+ return EXIT_FAILURE; -+ -+ p = path_join(arg_dest, "user-.slice.d", "50-limits.conf"); -+ if (!p) -+ return EXIT_FAILURE; -+ -+ log_warning("Creating %s to keep compability\n" -+ "Consider copying the snippet in /etc/systemd/system/user-.slice.d/\n", p); -+ -+ r = write_drop_in_format(arg_dest, "user-.slice", 50, "limits", -+ "# Automatically generated by logind-compat-tasks-max-generator\n\n" -+ "[Slice]\nTasksMax=%" PRIu64, user_tasks_max); -+ -+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; -+} -diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index 045b6f0e17..1c19d6512b 100644 ---- a/src/login/logind-user.c -+++ b/src/login/logind-user.c -@@ -847,17 +847,50 @@ int config_parse_compat_user_tasks_max( - void *data, - void *userdata) { - -+ uint64_t *m = data; -+ uint64_t k; -+ int r; -+ - assert(filename); - assert(lvalue); - assert(rvalue); - assert(data); - -- log_syntax(unit, LOG_NOTICE, filename, line, 0, -+ log_syntax(unit, LOG_WARNING, filename, line, 0, - "Support for option %s= has been removed.", - lvalue); -- log_info("Hint: try creating /etc/systemd/system/user-.slice.d/50-limits.conf with:\n" -- " [Slice]\n" -- " TasksMax=%s", -- rvalue); -+ -+ if (isempty(rvalue)) { -+ *m = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); -+ return 0; -+ } -+ -+ if (streq(rvalue, "infinity")) { -+ *m = CGROUP_LIMIT_MAX; -+ return 0; -+ } -+ -+ /* Try to parse as percentage */ -+ r = parse_percent(rvalue); -+ if (r >= 0) -+ k = system_tasks_max_scale(r, 100U); -+ else { -+ -+ /* If the passed argument was not a percentage, or out of range, parse as byte size */ -+ -+ r = safe_atou64(rvalue, &k); -+ if (r < 0) { -+ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse tasks maximum, ignoring: %s", rvalue); -+ return 0; -+ } -+ } -+ -+ if (k <= 0 || k >= UINT64_MAX) { -+ log_syntax(unit, LOG_ERR, filename, line, 0, "Tasks maximum out of range, ignoring: %s", rvalue); -+ return 0; -+ } -+ -+ *m = k; -+ - return 0; - } --- -2.21.0 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 7bf8c925..598cc4d9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Wed Dec 11 17:01:57 UTC 2019 - Franck Bui + +- Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e + + 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown + +------------------------------------------------------------------- +Thu Dec 5 14:00:03 UTC 2019 - Franck Bui + +- Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + details. + + Legacy and obsolete symlinks have been finally dropped. + + Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. + Users were notified about the deprecation of UserTasksMax option and + how to move to the new mechanism. The dropin replacement for + UserTasksMax is therefore no more generated but its use still + produces a warning. + + Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and + 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. + These patches were extracted from the git repo because it's not + clear where the SUSE tmpfiles specificities should be located. + ------------------------------------------------------------------- Tue Dec 3 16:56:31 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 770c21a4..df209a44 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.225.gdbb1d4734d +%define suse_version +suse.32.gd8f6a20485 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 243 +Version: 244 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -166,7 +166,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch +Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -556,13 +557,6 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: these symlinks should die. -mkdir -p %{buildroot}/{sbin,lib,bin} -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -583,7 +577,8 @@ for s in %{S:200}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} done -ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd +# Legacy sysvinit tools +mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt @@ -642,9 +637,6 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif -# legacy link -ln -s /usr/lib/udev %{buildroot}/lib/udev - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1004,9 +996,6 @@ fi %files %defattr(-,root,root) %license LICENSE* -/bin/systemd -/bin/systemd-ask-password -/bin/systemctl %{_bindir}/busctl %{_bindir}/bootctl %{_bindir}/hostnamectl @@ -1313,17 +1302,14 @@ fi %files -n udev%{?mini} %defattr(-,root,root) -/sbin/udevd -/sbin/udevadm -# keep for compatibility -%ghost /lib/udev %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %ghost %{_prefix}/lib/udev/compat-symlink-generation @@ -1501,9 +1487,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/80-container-host0.network -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network +%{_prefix}/lib/systemd/network/*.network +%{_prefix}/lib/systemd/network/*.network.example %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd-v243+suse.225.gdbb1d4734d.tar.xz b/systemd-v243+suse.225.gdbb1d4734d.tar.xz deleted file mode 100644 index 17eae932..00000000 --- a/systemd-v243+suse.225.gdbb1d4734d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75e337763ce116e5e9125f6cd96c015ad29416f47c9bfe063f25478b532569d0 -size 5619504 diff --git a/systemd-v244+suse.32.gd8f6a20485.tar.xz b/systemd-v244+suse.32.gd8f6a20485.tar.xz new file mode 100644 index 00000000..72e1d4a1 --- /dev/null +++ b/systemd-v244+suse.32.gd8f6a20485.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8752475ff512ad29b8c2544b114ad61ba8b8333c869f95b5b3b5088f3426d3d0 +size 5760380 diff --git a/systemd.changes b/systemd.changes index 7bf8c925..598cc4d9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Wed Dec 11 17:01:57 UTC 2019 - Franck Bui + +- Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e + + 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown + +------------------------------------------------------------------- +Thu Dec 5 14:00:03 UTC 2019 - Franck Bui + +- Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + details. + + Legacy and obsolete symlinks have been finally dropped. + + Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. + Users were notified about the deprecation of UserTasksMax option and + how to move to the new mechanism. The dropin replacement for + UserTasksMax is therefore no more generated but its use still + produces a warning. + + Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and + 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. + These patches were extracted from the git repo because it's not + clear where the SUSE tmpfiles specificities should be located. + ------------------------------------------------------------------- Tue Dec 3 16:56:31 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 335a6bda..41c8454d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.225.gdbb1d4734d +%define suse_version +suse.32.gd8f6a20485 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 243 +Version: 244 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -164,7 +164,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch +Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -554,13 +555,6 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: these symlinks should die. -mkdir -p %{buildroot}/{sbin,lib,bin} -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -581,7 +575,8 @@ for s in %{S:200}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} done -ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd +# Legacy sysvinit tools +mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt @@ -640,9 +635,6 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif -# legacy link -ln -s /usr/lib/udev %{buildroot}/lib/udev - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1002,9 +994,6 @@ fi %files %defattr(-,root,root) %license LICENSE* -/bin/systemd -/bin/systemd-ask-password -/bin/systemctl %{_bindir}/busctl %{_bindir}/bootctl %{_bindir}/hostnamectl @@ -1311,17 +1300,14 @@ fi %files -n udev%{?mini} %defattr(-,root,root) -/sbin/udevd -/sbin/udevadm -# keep for compatibility -%ghost /lib/udev %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %ghost %{_prefix}/lib/udev/compat-symlink-generation @@ -1499,9 +1485,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/80-container-host0.network -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network +%{_prefix}/lib/systemd/network/*.network +%{_prefix}/lib/systemd/network/*.network.example %endif %if %{with resolved} %{_bindir}/resolvectl From 89502c3e90656b621a638def86a75d2bcd7635cdca3454d238378a9ffc275950 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 12 Dec 2019 08:32:39 +0000 Subject: [PATCH 456/991] Accepting request 756002 from home:fbui:systemd:openSUSE-Factory - Manually set system-uid-max and system-gid-max to 499 It used to be detected automatically by meson but it's been broken by the migration of login.defs from /etc to /usr/etc. OBS-URL: https://build.opensuse.org/request/show/756002 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1083 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 2 ++ systemd.changes | 8 ++++++++ systemd.spec | 2 ++ 4 files changed, 20 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 598cc4d9..38442fb3 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Dec 11 17:20:04 UTC 2019 - Franck Bui + +- Manually set system-uid-max and system-gid-max to 499 + + It used to be detected automatically by meson but it's been broken + by the migration of login.defs from /etc to /usr/etc. + ------------------------------------------------------------------- Wed Dec 11 17:01:57 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index df209a44..6c66d74e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -481,6 +481,8 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drootprefix=/usr \ -Dsplit-usr=true \ -Dsplit-bin=true \ + -Dsystem-uid-max=499 \ + -Dsystem-gid-max=499 \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ diff --git a/systemd.changes b/systemd.changes index 598cc4d9..38442fb3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Dec 11 17:20:04 UTC 2019 - Franck Bui + +- Manually set system-uid-max and system-gid-max to 499 + + It used to be detected automatically by meson but it's been broken + by the migration of login.defs from /etc to /usr/etc. + ------------------------------------------------------------------- Wed Dec 11 17:01:57 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 41c8454d..3f0888c1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -479,6 +479,8 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drootprefix=/usr \ -Dsplit-usr=true \ -Dsplit-bin=true \ + -Dsystem-uid-max=499 \ + -Dsystem-gid-max=499 \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ From d253e2d8148de44d4a508adbe9acd75439422248bc4b03185b6a071f98f32e2f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 14 Jan 2020 14:40:36 +0000 Subject: [PATCH 457/991] Accepting request 764320 from home:fbui:systemd:openSUSE-Factory - Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks They're restored until YaST stop using them (see boo#1160890) - Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change cbced49daa man: fix typo in net-naming-scheme man page 7dd04c99b0 network: tc: drop unused element bf4b7d07ba man: fix typos (#14304) 1ba2e7a730 ipv4ll: do not reset conflict counter on restart 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() c4c1600689 test-network: add a test case for SendOption= 6f15b45949 network: fix segfault in parsing SendOption= 2e531b830d seccomp: real syscall numbers are >= 0 f7616ed52b network: fix copy and paste mistake e8b53300c4 network: do not drop foreign config if interface is in initialized state 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc 4de1909e61 seccomp: use per arch shmat_syscall d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute 2c6568221a seccomp: fix multiplexed system calls bcf0aa02bf Fix typo (duplicate "or") 96d7083c54 network: if /sys is rw, then udev should be around e874419902 nspawn: do not fail if udev is not running 29c9144655 Create parent directories when creating systemd-private subdirs 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled c08429ae33 core: swap priority can be negative f25c0be335 networkctl: fix to show BSSID 65fd2fce59 systemctl: enhance message about kexec missing kernel bdd0af5f81 Fixup typo in NEWS OBS-URL: https://build.opensuse.org/request/show/764320 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1084 --- systemd-mini.changes | 39 ++++++++++++++++++++++++- systemd-mini.spec | 12 ++++++-- systemd-v244+suse.32.gd8f6a20485.tar.xz | 3 -- systemd-v244+suse.58.g8254b8d964.tar.xz | 3 ++ systemd.changes | 39 ++++++++++++++++++++++++- systemd.spec | 12 ++++++-- 6 files changed, 99 insertions(+), 9 deletions(-) delete mode 100644 systemd-v244+suse.32.gd8f6a20485.tar.xz create mode 100644 systemd-v244+suse.58.g8254b8d964.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 38442fb3..f9874710 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Tue Jan 14 14:21:40 UTC 2020 - Franck Bui + +- Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks + + They're restored until YaST stop using them (see boo#1160890) + +------------------------------------------------------------------- +Tue Jan 14 13:56:31 UTC 2020 - Franck Bui + +- Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) + + 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change + cbced49daa man: fix typo in net-naming-scheme man page + 7dd04c99b0 network: tc: drop unused element + bf4b7d07ba man: fix typos (#14304) + 1ba2e7a730 ipv4ll: do not reset conflict counter on restart + 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() + c4c1600689 test-network: add a test case for SendOption= + 6f15b45949 network: fix segfault in parsing SendOption= + 2e531b830d seccomp: real syscall numbers are >= 0 + f7616ed52b network: fix copy and paste mistake + e8b53300c4 network: do not drop foreign config if interface is in initialized state + 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc + 4de1909e61 seccomp: use per arch shmat_syscall + d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute + 2c6568221a seccomp: fix multiplexed system calls + bcf0aa02bf Fix typo (duplicate "or") + 96d7083c54 network: if /sys is rw, then udev should be around + e874419902 nspawn: do not fail if udev is not running + 29c9144655 Create parent directories when creating systemd-private subdirs + 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled + c08429ae33 core: swap priority can be negative + f25c0be335 networkctl: fix to show BSSID + 65fd2fce59 systemctl: enhance message about kexec missing kernel + bdd0af5f81 Fixup typo in NEWS + ------------------------------------------------------------------- Wed Dec 11 17:20:04 UTC 2019 - Franck Bui @@ -18,7 +55,7 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) - See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for details. Legacy and obsolete symlinks have been finally dropped. diff --git a/systemd-mini.spec b/systemd-mini.spec index 6c66d74e..43d27e94 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.32.gd8f6a20485 +%define suse_version +suse.58.g8254b8d964 %bcond_with gnuefi %if 0%{?bootstrap} @@ -559,6 +559,12 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif +# FIXME: These obsolete symlinks are still needed by YaST so let's +# keep them until boo#1160890 is fixed. +mkdir -p %{buildroot}/sbin +ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm +ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -1304,6 +1310,8 @@ fi %files -n udev%{?mini} %defattr(-,root,root) +/sbin/udevd +/sbin/udevadm %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ diff --git a/systemd-v244+suse.32.gd8f6a20485.tar.xz b/systemd-v244+suse.32.gd8f6a20485.tar.xz deleted file mode 100644 index 72e1d4a1..00000000 --- a/systemd-v244+suse.32.gd8f6a20485.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8752475ff512ad29b8c2544b114ad61ba8b8333c869f95b5b3b5088f3426d3d0 -size 5760380 diff --git a/systemd-v244+suse.58.g8254b8d964.tar.xz b/systemd-v244+suse.58.g8254b8d964.tar.xz new file mode 100644 index 00000000..cf95da8c --- /dev/null +++ b/systemd-v244+suse.58.g8254b8d964.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1347645929f05fcc785b2f4531456eb50c6916d5f15a88cfe6fb57845ed1103 +size 5761288 diff --git a/systemd.changes b/systemd.changes index 38442fb3..f9874710 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Tue Jan 14 14:21:40 UTC 2020 - Franck Bui + +- Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks + + They're restored until YaST stop using them (see boo#1160890) + +------------------------------------------------------------------- +Tue Jan 14 13:56:31 UTC 2020 - Franck Bui + +- Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) + + 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change + cbced49daa man: fix typo in net-naming-scheme man page + 7dd04c99b0 network: tc: drop unused element + bf4b7d07ba man: fix typos (#14304) + 1ba2e7a730 ipv4ll: do not reset conflict counter on restart + 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() + c4c1600689 test-network: add a test case for SendOption= + 6f15b45949 network: fix segfault in parsing SendOption= + 2e531b830d seccomp: real syscall numbers are >= 0 + f7616ed52b network: fix copy and paste mistake + e8b53300c4 network: do not drop foreign config if interface is in initialized state + 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc + 4de1909e61 seccomp: use per arch shmat_syscall + d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute + 2c6568221a seccomp: fix multiplexed system calls + bcf0aa02bf Fix typo (duplicate "or") + 96d7083c54 network: if /sys is rw, then udev should be around + e874419902 nspawn: do not fail if udev is not running + 29c9144655 Create parent directories when creating systemd-private subdirs + 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled + c08429ae33 core: swap priority can be negative + f25c0be335 networkctl: fix to show BSSID + 65fd2fce59 systemctl: enhance message about kexec missing kernel + bdd0af5f81 Fixup typo in NEWS + ------------------------------------------------------------------- Wed Dec 11 17:20:04 UTC 2019 - Franck Bui @@ -18,7 +55,7 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) - See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for + See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for details. Legacy and obsolete symlinks have been finally dropped. diff --git a/systemd.spec b/systemd.spec index 3f0888c1..2a1d8c3a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.32.gd8f6a20485 +%define suse_version +suse.58.g8254b8d964 %bcond_with gnuefi %if 0%{?bootstrap} @@ -557,6 +557,12 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif +# FIXME: These obsolete symlinks are still needed by YaST so let's +# keep them until boo#1160890 is fixed. +mkdir -p %{buildroot}/sbin +ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm +ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -1302,6 +1308,8 @@ fi %files -n udev%{?mini} %defattr(-,root,root) +/sbin/udevd +/sbin/udevadm %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ From 48c23099765236f14e87dcfe594b8b25fceeb40c7409ce5bff7f1bf328fb2776 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 16 Jan 2020 17:19:33 +0000 Subject: [PATCH 458/991] Accepting request 764325 from Base:System OBS-URL: https://build.opensuse.org/request/show/764325 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=303 --- ...lock-group-to-follow-openSUSE-policy.patch | 38 ++++ ...E-policy-do-not-clean-tmp-by-default.patch | 26 +++ ...ward-compatibility-with-UserTasksMax.patch | 187 ------------------ systemd-mini.changes | 73 +++++++ systemd-mini.spec | 37 ++-- systemd-v243+suse.225.gdbb1d4734d.tar.xz | 3 - systemd-v244+suse.58.g8254b8d964.tar.xz | 3 + systemd.changes | 73 +++++++ systemd.spec | 37 ++-- 9 files changed, 245 insertions(+), 232 deletions(-) create mode 100644 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch create mode 100644 0001-SUSE-policy-do-not-clean-tmp-by-default.patch delete mode 100644 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch delete mode 100644 systemd-v243+suse.225.gdbb1d4734d.tar.xz create mode 100644 systemd-v244+suse.58.g8254b8d964.tar.xz diff --git a/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch b/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch new file mode 100644 index 00000000..66eeece9 --- /dev/null +++ b/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch @@ -0,0 +1,38 @@ +From ca2788b478d763e49d2463378272d9fef2ef1bf3 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 9 May 2016 16:10:21 +0200 +Subject: [PATCH 1/1] Fix /run/lock group to follow openSUSE policy + +This is a partial import of commit +88013cabb939e4bd7347ce324c9eb9c1a45582de part of SUSE/v210 branch. + +However /var/lock/{subsys,lockdev} are left alone and will be created +because: + +- a bug was opened requesting /var/lock/subsys, see commit +0671c57670fc09e0cb970d081a1b523ea9c62b5b. + +- creating /var/lock/lockdev shouldn't hurt. + +[fixes: bnc#733523] +--- + tmpfiles.d/legacy.conf | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf +index 62e2ae0986..415918f407 100644 +--- a/tmpfiles.d/legacy.conf ++++ b/tmpfiles.d/legacy.conf +@@ -10,7 +10,8 @@ + # These files are considered legacy and are unnecessary on legacy-free + # systems. + +-d /run/lock 0755 root root - ++# On openSUSE, /run/lock is owned by the 'lock' group. ++d /run/lock 0775 root lock - + L /var/lock - - - - ../run/lock + + # /run/lock/subsys is used for serializing SysV service execution, and +-- +2.16.4 + diff --git a/0001-SUSE-policy-do-not-clean-tmp-by-default.patch b/0001-SUSE-policy-do-not-clean-tmp-by-default.patch new file mode 100644 index 00000000..6f37b2d6 --- /dev/null +++ b/0001-SUSE-policy-do-not-clean-tmp-by-default.patch @@ -0,0 +1,26 @@ +From b66a7b4b5aa25a1ffb4b76fe9545046dabd92c03 Mon Sep 17 00:00:00 2001 +From: Reinhard Max +Date: Fri, 19 Apr 2013 16:56:26 +0200 +Subject: [PATCH 1/1] SUSE policy: do not clean /tmp by default. + +Fix regression in the default for tmp auto-deletion (FATE#314974). +--- + tmpfiles.d/tmp.conf | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf +index fe5225d751..dedc7569e1 100644 +--- a/tmpfiles.d/tmp.conf ++++ b/tmpfiles.d/tmp.conf +@@ -8,5 +8,6 @@ + # See tmpfiles.d(5) for details + + # Clear tmp directories separately, to make them easier to override +-q /tmp 1777 root root 10d +-q /var/tmp 1777 root root 30d ++# SUSE policy: we don't clean those directories ++q /tmp 1777 root root - ++q /var/tmp 1777 root root - +-- +2.16.4 + diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch deleted file mode 100644 index 553fd89f..00000000 --- a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +++ /dev/null @@ -1,187 +0,0 @@ -From ce59acc7743f1897a335449b718f9ede33add394 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 6 Nov 2018 11:51:26 +0100 -Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in - logind.conf - -Since commit 284149392755f086d0a71, UserTasksMax= support has been simply -dropped. - -A generator is used to automatically create an appropriate dropin that has the -same effect. However since the snippet is generated in /run, sysadmin is -encouraged to copy it in /etc to make it persistent. - -The main advantages to use a generator are: - - - sysadmin is aware of this backward incompatible change - - - he will be the one who will fix logind.conf manually (to remove the use of - UserTasksMax=) - - - he will decide how to name the snippet and possibly merge it with an - existing one - -Expect this generator to be dropped in the future. ---- - meson.build | 8 +++ - src/login/compat-tasks-max-generator.c | 68 ++++++++++++++++++++++++++ - src/login/logind-user.c | 43 ++++++++++++++-- - 3 files changed, 114 insertions(+), 5 deletions(-) - create mode 100644 src/login/compat-tasks-max-generator.c - -diff --git a/meson.build b/meson.build -index dc6e970095..d834108f24 100644 ---- a/meson.build -+++ b/meson.build -@@ -1885,6 +1885,14 @@ if conf.get('ENABLE_LOGIND') == 1 - endif - endif - -+ executable('logind-compat-tasks-max-generator', -+ 'src/login/compat-tasks-max-generator.c', -+ include_directories : includes, -+ link_with : [libshared, liblogind_core], -+ install_rpath : rootlibexecdir, -+ install : true, -+ install_dir : systemgeneratordir) -+ - executable('systemd-user-runtime-dir', - user_runtime_dir_sources, - include_directories : includes, -diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c -new file mode 100644 -index 0000000000..964d0596fb ---- /dev/null -+++ b/src/login/compat-tasks-max-generator.c -@@ -0,0 +1,68 @@ -+#include -+#include -+#include -+ -+#include "alloc-util.h" -+#include "dropin.h" -+#include "logind.h" -+#include "path-util.h" -+ -+static const char *arg_dest = "/tmp"; -+ -+static int read_manager_configuration(uint64_t *user_tasks_max) { -+ Manager m = {}; -+ int r; -+ -+ manager_reset_config(&m); -+ m.user_tasks_max = 0; -+ -+ r = manager_parse_config_file(&m); -+ if (r < 0) -+ return log_warning_errno(r, "Failed to parse logind.conf: %m"); -+ -+ if (m.user_tasks_max == 0) -+ return 0; -+ -+ *user_tasks_max = m.user_tasks_max; -+ return 1; -+} -+ -+int main(int argc, char *argv[]) { -+ _cleanup_free_ char *p = NULL; -+ uint64_t user_tasks_max; -+ int r = 0; -+ -+ if (argc > 1 && argc != 4) { -+ log_error("This program takes three or no arguments."); -+ return EXIT_FAILURE; -+ } -+ -+ if (argc > 1) -+ arg_dest = argv[1]; -+ -+ log_set_prohibit_ipc(true); -+ log_set_target(LOG_TARGET_AUTO); -+ log_parse_environment(); -+ log_open(); -+ -+ umask(0022); -+ -+ r = read_manager_configuration(&user_tasks_max); -+ if (r == 0) -+ return EXIT_SUCCESS; -+ if (r < 0) -+ return EXIT_FAILURE; -+ -+ p = path_join(arg_dest, "user-.slice.d", "50-limits.conf"); -+ if (!p) -+ return EXIT_FAILURE; -+ -+ log_warning("Creating %s to keep compability\n" -+ "Consider copying the snippet in /etc/systemd/system/user-.slice.d/\n", p); -+ -+ r = write_drop_in_format(arg_dest, "user-.slice", 50, "limits", -+ "# Automatically generated by logind-compat-tasks-max-generator\n\n" -+ "[Slice]\nTasksMax=%" PRIu64, user_tasks_max); -+ -+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; -+} -diff --git a/src/login/logind-user.c b/src/login/logind-user.c -index 045b6f0e17..1c19d6512b 100644 ---- a/src/login/logind-user.c -+++ b/src/login/logind-user.c -@@ -847,17 +847,50 @@ int config_parse_compat_user_tasks_max( - void *data, - void *userdata) { - -+ uint64_t *m = data; -+ uint64_t k; -+ int r; -+ - assert(filename); - assert(lvalue); - assert(rvalue); - assert(data); - -- log_syntax(unit, LOG_NOTICE, filename, line, 0, -+ log_syntax(unit, LOG_WARNING, filename, line, 0, - "Support for option %s= has been removed.", - lvalue); -- log_info("Hint: try creating /etc/systemd/system/user-.slice.d/50-limits.conf with:\n" -- " [Slice]\n" -- " TasksMax=%s", -- rvalue); -+ -+ if (isempty(rvalue)) { -+ *m = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); -+ return 0; -+ } -+ -+ if (streq(rvalue, "infinity")) { -+ *m = CGROUP_LIMIT_MAX; -+ return 0; -+ } -+ -+ /* Try to parse as percentage */ -+ r = parse_percent(rvalue); -+ if (r >= 0) -+ k = system_tasks_max_scale(r, 100U); -+ else { -+ -+ /* If the passed argument was not a percentage, or out of range, parse as byte size */ -+ -+ r = safe_atou64(rvalue, &k); -+ if (r < 0) { -+ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse tasks maximum, ignoring: %s", rvalue); -+ return 0; -+ } -+ } -+ -+ if (k <= 0 || k >= UINT64_MAX) { -+ log_syntax(unit, LOG_ERR, filename, line, 0, "Tasks maximum out of range, ignoring: %s", rvalue); -+ return 0; -+ } -+ -+ *m = k; -+ - return 0; - } --- -2.21.0 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 7bf8c925..f9874710 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,76 @@ +------------------------------------------------------------------- +Tue Jan 14 14:21:40 UTC 2020 - Franck Bui + +- Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks + + They're restored until YaST stop using them (see boo#1160890) + +------------------------------------------------------------------- +Tue Jan 14 13:56:31 UTC 2020 - Franck Bui + +- Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) + + 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change + cbced49daa man: fix typo in net-naming-scheme man page + 7dd04c99b0 network: tc: drop unused element + bf4b7d07ba man: fix typos (#14304) + 1ba2e7a730 ipv4ll: do not reset conflict counter on restart + 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() + c4c1600689 test-network: add a test case for SendOption= + 6f15b45949 network: fix segfault in parsing SendOption= + 2e531b830d seccomp: real syscall numbers are >= 0 + f7616ed52b network: fix copy and paste mistake + e8b53300c4 network: do not drop foreign config if interface is in initialized state + 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc + 4de1909e61 seccomp: use per arch shmat_syscall + d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute + 2c6568221a seccomp: fix multiplexed system calls + bcf0aa02bf Fix typo (duplicate "or") + 96d7083c54 network: if /sys is rw, then udev should be around + e874419902 nspawn: do not fail if udev is not running + 29c9144655 Create parent directories when creating systemd-private subdirs + 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled + c08429ae33 core: swap priority can be negative + f25c0be335 networkctl: fix to show BSSID + 65fd2fce59 systemctl: enhance message about kexec missing kernel + bdd0af5f81 Fixup typo in NEWS + +------------------------------------------------------------------- +Wed Dec 11 17:20:04 UTC 2019 - Franck Bui + +- Manually set system-uid-max and system-gid-max to 499 + + It used to be detected automatically by meson but it's been broken + by the migration of login.defs from /etc to /usr/etc. + +------------------------------------------------------------------- +Wed Dec 11 17:01:57 UTC 2019 - Franck Bui + +- Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e + + 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown + +------------------------------------------------------------------- +Thu Dec 5 14:00:03 UTC 2019 - Franck Bui + +- Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for + details. + + Legacy and obsolete symlinks have been finally dropped. + + Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. + Users were notified about the deprecation of UserTasksMax option and + how to move to the new mechanism. The dropin replacement for + UserTasksMax is therefore no more generated but its use still + produces a warning. + + Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and + 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. + These patches were extracted from the git repo because it's not + clear where the SUSE tmpfiles specificities should be located. + ------------------------------------------------------------------- Tue Dec 3 16:56:31 UTC 2019 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 770c21a4..43d27e94 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.225.gdbb1d4734d +%define suse_version +suse.58.g8254b8d964 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 243 +Version: 244 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -166,7 +166,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch +Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -480,6 +481,8 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drootprefix=/usr \ -Dsplit-usr=true \ -Dsplit-bin=true \ + -Dsystem-uid-max=499 \ + -Dsystem-gid-max=499 \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -556,11 +559,10 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: these symlinks should die. -mkdir -p %{buildroot}/{sbin,lib,bin} +# FIXME: These obsolete symlinks are still needed by YaST so let's +# keep them until boo#1160890 is fixed. +mkdir -p %{buildroot}/sbin ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if %{with sysvcompat} @@ -583,7 +585,8 @@ for s in %{S:200}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} done -ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd +# Legacy sysvinit tools +mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt @@ -642,9 +645,6 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif -# legacy link -ln -s /usr/lib/udev %{buildroot}/lib/udev - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1004,9 +1004,6 @@ fi %files %defattr(-,root,root) %license LICENSE* -/bin/systemd -/bin/systemd-ask-password -/bin/systemctl %{_bindir}/busctl %{_bindir}/bootctl %{_bindir}/hostnamectl @@ -1315,15 +1312,14 @@ fi %defattr(-,root,root) /sbin/udevd /sbin/udevadm -# keep for compatibility -%ghost /lib/udev %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %ghost %{_prefix}/lib/udev/compat-symlink-generation @@ -1501,9 +1497,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/80-container-host0.network -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network +%{_prefix}/lib/systemd/network/*.network +%{_prefix}/lib/systemd/network/*.network.example %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd-v243+suse.225.gdbb1d4734d.tar.xz b/systemd-v243+suse.225.gdbb1d4734d.tar.xz deleted file mode 100644 index 17eae932..00000000 --- a/systemd-v243+suse.225.gdbb1d4734d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75e337763ce116e5e9125f6cd96c015ad29416f47c9bfe063f25478b532569d0 -size 5619504 diff --git a/systemd-v244+suse.58.g8254b8d964.tar.xz b/systemd-v244+suse.58.g8254b8d964.tar.xz new file mode 100644 index 00000000..cf95da8c --- /dev/null +++ b/systemd-v244+suse.58.g8254b8d964.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1347645929f05fcc785b2f4531456eb50c6916d5f15a88cfe6fb57845ed1103 +size 5761288 diff --git a/systemd.changes b/systemd.changes index 7bf8c925..f9874710 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,76 @@ +------------------------------------------------------------------- +Tue Jan 14 14:21:40 UTC 2020 - Franck Bui + +- Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks + + They're restored until YaST stop using them (see boo#1160890) + +------------------------------------------------------------------- +Tue Jan 14 13:56:31 UTC 2020 - Franck Bui + +- Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) + + 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change + cbced49daa man: fix typo in net-naming-scheme man page + 7dd04c99b0 network: tc: drop unused element + bf4b7d07ba man: fix typos (#14304) + 1ba2e7a730 ipv4ll: do not reset conflict counter on restart + 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() + c4c1600689 test-network: add a test case for SendOption= + 6f15b45949 network: fix segfault in parsing SendOption= + 2e531b830d seccomp: real syscall numbers are >= 0 + f7616ed52b network: fix copy and paste mistake + e8b53300c4 network: do not drop foreign config if interface is in initialized state + 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc + 4de1909e61 seccomp: use per arch shmat_syscall + d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute + 2c6568221a seccomp: fix multiplexed system calls + bcf0aa02bf Fix typo (duplicate "or") + 96d7083c54 network: if /sys is rw, then udev should be around + e874419902 nspawn: do not fail if udev is not running + 29c9144655 Create parent directories when creating systemd-private subdirs + 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled + c08429ae33 core: swap priority can be negative + f25c0be335 networkctl: fix to show BSSID + 65fd2fce59 systemctl: enhance message about kexec missing kernel + bdd0af5f81 Fixup typo in NEWS + +------------------------------------------------------------------- +Wed Dec 11 17:20:04 UTC 2019 - Franck Bui + +- Manually set system-uid-max and system-gid-max to 499 + + It used to be detected automatically by meson but it's been broken + by the migration of login.defs from /etc to /usr/etc. + +------------------------------------------------------------------- +Wed Dec 11 17:01:57 UTC 2019 - Franck Bui + +- Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e + + 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown + +------------------------------------------------------------------- +Thu Dec 5 14:00:03 UTC 2019 - Franck Bui + +- Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) + + See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for + details. + + Legacy and obsolete symlinks have been finally dropped. + + Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. + Users were notified about the deprecation of UserTasksMax option and + how to move to the new mechanism. The dropin replacement for + UserTasksMax is therefore no more generated but its use still + produces a warning. + + Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and + 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. + These patches were extracted from the git repo because it's not + clear where the SUSE tmpfiles specificities should be located. + ------------------------------------------------------------------- Tue Dec 3 16:56:31 UTC 2019 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 335a6bda..2a1d8c3a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.225.gdbb1d4734d +%define suse_version +suse.58.g8254b8d964 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 243 +Version: 244 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -164,7 +164,8 @@ Source200: scripts-udev-convert-lib-udev-path.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch +Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch +Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -478,6 +479,8 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Drootprefix=/usr \ -Dsplit-usr=true \ -Dsplit-bin=true \ + -Dsystem-uid-max=499 \ + -Dsystem-gid-max=499 \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -554,11 +557,10 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: these symlinks should die. -mkdir -p %{buildroot}/{sbin,lib,bin} +# FIXME: These obsolete symlinks are still needed by YaST so let's +# keep them until boo#1160890 is fixed. +mkdir -p %{buildroot}/sbin ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password -ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if %{with sysvcompat} @@ -581,7 +583,8 @@ for s in %{S:200}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} done -ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd +# Legacy sysvinit tools +mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt @@ -640,9 +643,6 @@ rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif -# legacy link -ln -s /usr/lib/udev %{buildroot}/lib/udev - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1002,9 +1002,6 @@ fi %files %defattr(-,root,root) %license LICENSE* -/bin/systemd -/bin/systemd-ask-password -/bin/systemctl %{_bindir}/busctl %{_bindir}/bootctl %{_bindir}/hostnamectl @@ -1313,15 +1310,14 @@ fi %defattr(-,root,root) /sbin/udevd /sbin/udevadm -# keep for compatibility -%ghost /lib/udev %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %ghost %{_prefix}/lib/udev/compat-symlink-generation @@ -1499,9 +1495,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/80-container-host0.network -%{_prefix}/lib/systemd/network/80-container-ve.network -%{_prefix}/lib/systemd/network/80-container-vz.network +%{_prefix}/lib/systemd/network/*.network +%{_prefix}/lib/systemd/network/*.network.example %endif %if %{with resolved} %{_bindir}/resolvectl From 6f0dfd501c99f54a3761bd93b0119722dc4e408f4e9f72f6c7ce04a76c50bea5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Feb 2020 16:58:34 +0000 Subject: [PATCH 459/991] Accepting request 770659 from home:fbui:systemd:openSUSE-Factory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) 77c04ce5c2 hwdb: update to v245-rc1 b4eb884824 Fix typo in function name e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages 5926f9f172 polkit: use structured initialization 0697d0d972 polkit: on async pk requests, re-validate action/details 2589995acd polkit: reuse some common bus message appending code 5b2442d5c3 bus-polkit: rename return error parameter to ret_error 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c 1325dfb577 test: adapt to the new capsh format 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 3034855a5b presets: "disable" all passive targets by default c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease 0ed6cda28d network: fix implicit type conversion warning by GCC-10 f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf ddc5dca8a7 sd-boot: fix typo 2bbbe9ae41 test: Synchronize journal before reading from it 072485d661 sd-bus: fix introspection bug in signal parameter names 80af3cf5e3 efi: fix build. [...] - Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) - Drop scripts-udev-convert-lib-udev-path.sh Nobody should need it these days. OBS-URL: https://build.opensuse.org/request/show/770659 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1085 --- scripts-udev-convert-lib-udev-path.sh | 92 ------------------------ systemd-mini.changes | 39 ++++++++++ systemd-mini.spec | 24 +++---- systemd-v244+suse.138.gf8adabc2b1.tar.xz | 3 + systemd-v244+suse.58.g8254b8d964.tar.xz | 3 - systemd.changes | 39 ++++++++++ systemd.spec | 24 +++---- 7 files changed, 105 insertions(+), 119 deletions(-) delete mode 100644 scripts-udev-convert-lib-udev-path.sh create mode 100644 systemd-v244+suse.138.gf8adabc2b1.tar.xz delete mode 100644 systemd-v244+suse.58.g8254b8d964.tar.xz diff --git a/scripts-udev-convert-lib-udev-path.sh b/scripts-udev-convert-lib-udev-path.sh deleted file mode 100644 index 1463f787..00000000 --- a/scripts-udev-convert-lib-udev-path.sh +++ /dev/null @@ -1,92 +0,0 @@ -#! /bin/bash -# -# When upgrading from systems predating systemd (SLE11, openSUSE -# 12.x), udev libexec directory was changed from /lib/udev to -# /usr/lib/udev. Some customer scripts might still rely on the old -# path, therefore try to create a symlink that preserves the old path -# (see bsc#1050152). -# -# This script is supposed to be called from the %posttrans scection of -# the udev package. -# -convert_lib_udev_path () { - local failed=/bin/false - - # Sanity check: /usr/lib/udev must exist at that point since - # the new udev package should have been installed. - if ! test -d /usr/lib/udev; then - echo >&2 "/usr/lib/udev does not exist, refusing to create" - echo >&2 "/lib/udev compat symlink." - return 1 - fi - - # If the symlink is missing it probably means that we're - # upgrading and the old /lib/udev path was removed as it was - # empty at the time the old version of udev was uninstalled. - if ! test -e /lib/udev; then - echo "Creating /lib/udev -> /usr/lib/udev symlink." - ln -s /usr/lib/udev /lib/udev - return - fi - - # If a symlink already exists, simply assume that we already - # did the job. IOW we're just doing a simple update of - # systemd/udev (not upgrading). - if test -L /lib/udev; then - return - fi - - # Sanity check: refuse to deal with anything but a directory. - if ! test -d /lib/udev; then - echo >&2 "/lib/udev is not either a directory nor a symlink !" - echo >&2 "It won't be converted into a symlink to /usr/lib/udev." - echo >&2 "Please create it manually." - return 1 - fi - - # /lib/udev exists and is still a directory (probably not - # empty otherwise it would have been removed when the old - # version of udev was uninstalled), we try to merge its - # content with the new location and if it fails we warn the - # user and let him sort this out. - shopt -s globstar - for f in /lib/udev/**; do - if test -d "$f"; then - continue - fi - if test -e /usr/"$f"; then - echo >&2 "Failed to migrate '$f' to /usr/lib/udev because it already exists." - failed=/bin/true - continue - fi - - echo "Migrating '$f' in /usr/lib/udev" - if ! cp -a --parents "$f" /usr; then - echo >&2 "Failed to move '$f' in /usr/lib/udev." - failed=/bin/true - continue - fi - rm "$f" - done - shopt -u globstar - - if ! $failed; then - rm -fr /lib/udev && - ln -s ../usr/lib/udev /lib/udev && - echo "The content of /lib/udev has been moved in /usr/lib/udev successfully" && - echo "and /lib/udev is now a symlink pointing to /usr/lib/udev." && - echo "Please note /lib/udev is deprecated and shouldn't be used by" && - echo "new scripts/applications anymore." || - failed=/bin/true - fi - - if $failed; then - echo >&2 "Converting /lib/udev into a symlink pointing to /usr/lib/udev was not" - echo >&2 "possible due to previous error(s)." - echo >&2 "Please fix them and then create the symlink with:" - echo >&2 " 'ln -s ../usr/lib/udev /lib/udev'." - return 1 - fi -} - -convert_lib_udev_path diff --git a/systemd-mini.changes b/systemd-mini.changes index f9874710..490955b2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Thu Feb 6 14:15:01 UTC 2020 - Franck Bui + +- Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) + + 77c04ce5c2 hwdb: update to v245-rc1 + b4eb884824 Fix typo in function name + e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it + 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages + 5926f9f172 polkit: use structured initialization + 0697d0d972 polkit: on async pk requests, re-validate action/details + 2589995acd polkit: reuse some common bus message appending code + 5b2442d5c3 bus-polkit: rename return error parameter to ret_error + 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c + 1325dfb577 test: adapt to the new capsh format + 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 + 3034855a5b presets: "disable" all passive targets by default + c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value + 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease + 0ed6cda28d network: fix implicit type conversion warning by GCC-10 + f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf + ddc5dca8a7 sd-boot: fix typo + 2bbbe9ae41 test: Synchronize journal before reading from it + 072485d661 sd-bus: fix introspection bug in signal parameter names + 80af3cf5e3 efi: fix build. + [...] + +------------------------------------------------------------------- +Mon Feb 3 14:52:51 UTC 2020 - Franck Bui + +- Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) + +------------------------------------------------------------------- +Tue Jan 21 16:01:09 UTC 2020 - Franck Bui + +- Drop scripts-udev-convert-lib-udev-path.sh + + Nobody should need it these days. + ------------------------------------------------------------------- Tue Jan 14 14:21:40 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 43d27e94..01427656 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.58.g8254b8d964 +%define suse_version +suse.138.gf8adabc2b1 %bcond_with gnuefi %if 0%{?bootstrap} @@ -54,7 +54,7 @@ %bcond_with parentpathid Name: systemd-mini -Url: http://www.freedesktop.org/wiki/Software/systemd +URL: http://www.freedesktop.org/wiki/Software/systemd Version: 244 Release: 0 Summary: A System and Session Manager @@ -158,7 +158,6 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -Source200: scripts-udev-convert-lib-udev-path.sh # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -239,7 +238,7 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only Group: System/Kernel -Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires(post): sed Requires(post): coreutils @@ -472,7 +471,11 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) +%if 0%{?is_opensuse} +ntp_servers=({0..3}.opensuse.pool.ntp.org) +%else +ntp_servers=({0..3}.suse.pool.ntp.org) +%endif # keep split-usr until all packages have moved their systemd rules to /usr %meson \ @@ -488,7 +491,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${opensuse_ntp_servers[*]}" \ + -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -581,9 +584,6 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -for s in %{S:200}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} -done # Legacy sysvinit tools mkdir -p %{buildroot}/sbin @@ -868,7 +868,6 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -1172,6 +1171,7 @@ fi %dir %{_datadir}/dbus-1/system.d %dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf @@ -1201,6 +1201,7 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1330,7 +1331,6 @@ fi %exclude %{_udevrulesdir}/99-systemd.rules %{_udevrulesdir}/*.rules %{_udevhwdbdir}/ -%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin diff --git a/systemd-v244+suse.138.gf8adabc2b1.tar.xz b/systemd-v244+suse.138.gf8adabc2b1.tar.xz new file mode 100644 index 00000000..39fec5db --- /dev/null +++ b/systemd-v244+suse.138.gf8adabc2b1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7c4ae099d4a421225778043d0ce9bb9f3d3a59186eb7da173e5f35edbc218c5 +size 5784940 diff --git a/systemd-v244+suse.58.g8254b8d964.tar.xz b/systemd-v244+suse.58.g8254b8d964.tar.xz deleted file mode 100644 index cf95da8c..00000000 --- a/systemd-v244+suse.58.g8254b8d964.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1347645929f05fcc785b2f4531456eb50c6916d5f15a88cfe6fb57845ed1103 -size 5761288 diff --git a/systemd.changes b/systemd.changes index f9874710..490955b2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Thu Feb 6 14:15:01 UTC 2020 - Franck Bui + +- Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) + + 77c04ce5c2 hwdb: update to v245-rc1 + b4eb884824 Fix typo in function name + e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it + 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages + 5926f9f172 polkit: use structured initialization + 0697d0d972 polkit: on async pk requests, re-validate action/details + 2589995acd polkit: reuse some common bus message appending code + 5b2442d5c3 bus-polkit: rename return error parameter to ret_error + 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c + 1325dfb577 test: adapt to the new capsh format + 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 + 3034855a5b presets: "disable" all passive targets by default + c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value + 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease + 0ed6cda28d network: fix implicit type conversion warning by GCC-10 + f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf + ddc5dca8a7 sd-boot: fix typo + 2bbbe9ae41 test: Synchronize journal before reading from it + 072485d661 sd-bus: fix introspection bug in signal parameter names + 80af3cf5e3 efi: fix build. + [...] + +------------------------------------------------------------------- +Mon Feb 3 14:52:51 UTC 2020 - Franck Bui + +- Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) + +------------------------------------------------------------------- +Tue Jan 21 16:01:09 UTC 2020 - Franck Bui + +- Drop scripts-udev-convert-lib-udev-path.sh + + Nobody should need it these days. + ------------------------------------------------------------------- Tue Jan 14 14:21:40 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2a1d8c3a..458ca940 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.58.g8254b8d964 +%define suse_version +suse.138.gf8adabc2b1 %bcond_with gnuefi %if 0%{?bootstrap} @@ -52,7 +52,7 @@ %bcond_with parentpathid Name: systemd -Url: http://www.freedesktop.org/wiki/Software/systemd +URL: http://www.freedesktop.org/wiki/Software/systemd Version: 244 Release: 0 Summary: A System and Session Manager @@ -156,7 +156,6 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -Source200: scripts-udev-convert-lib-udev-path.sh # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -237,7 +236,7 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only Group: System/Kernel -Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires(post): sed Requires(post): coreutils @@ -470,7 +469,11 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) +%if 0%{?is_opensuse} +ntp_servers=({0..3}.opensuse.pool.ntp.org) +%else +ntp_servers=({0..3}.suse.pool.ntp.org) +%endif # keep split-usr until all packages have moved their systemd rules to /usr %meson \ @@ -486,7 +489,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${opensuse_ntp_servers[*]}" \ + -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -579,9 +582,6 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -for s in %{S:200}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} -done # Legacy sysvinit tools mkdir -p %{buildroot}/sbin @@ -866,7 +866,6 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -1170,6 +1169,7 @@ fi %dir %{_datadir}/dbus-1/system.d %dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf @@ -1199,6 +1199,7 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1328,7 +1329,6 @@ fi %exclude %{_udevrulesdir}/99-systemd.rules %{_udevrulesdir}/*.rules %{_udevhwdbdir}/ -%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin From 9561123bcc59d845bbdddf8bf95e3b5587161c04ac20aacd0595d417a81c6552 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 10 Feb 2020 08:34:05 +0000 Subject: [PATCH 460/991] Accepting request 772625 from home:fbui:systemd:openSUSE-Factory Fix build failure of mini package OBS-URL: https://build.opensuse.org/request/show/772625 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1086 --- systemd-mini.spec | 1 + systemd.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index 01427656..3bda3fe4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1168,6 +1168,7 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system.d %dir %{_datadir}/dbus-1/system-services diff --git a/systemd.spec b/systemd.spec index 458ca940..e464f4ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1166,6 +1166,7 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system.d %dir %{_datadir}/dbus-1/system-services From fbe3de5990d32b2efea85e454fbbb192f7c9164f6c9f28a83840be9abbb56cdf Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 11 Feb 2020 21:16:47 +0000 Subject: [PATCH 461/991] Accepting request 772626 from Base:System OBS-URL: https://build.opensuse.org/request/show/772626 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=304 --- scripts-udev-convert-lib-udev-path.sh | 92 ------------------------ systemd-mini.changes | 39 ++++++++++ systemd-mini.spec | 25 +++---- systemd-v244+suse.138.gf8adabc2b1.tar.xz | 3 + systemd-v244+suse.58.g8254b8d964.tar.xz | 3 - systemd.changes | 39 ++++++++++ systemd.spec | 25 +++---- 7 files changed, 107 insertions(+), 119 deletions(-) delete mode 100644 scripts-udev-convert-lib-udev-path.sh create mode 100644 systemd-v244+suse.138.gf8adabc2b1.tar.xz delete mode 100644 systemd-v244+suse.58.g8254b8d964.tar.xz diff --git a/scripts-udev-convert-lib-udev-path.sh b/scripts-udev-convert-lib-udev-path.sh deleted file mode 100644 index 1463f787..00000000 --- a/scripts-udev-convert-lib-udev-path.sh +++ /dev/null @@ -1,92 +0,0 @@ -#! /bin/bash -# -# When upgrading from systems predating systemd (SLE11, openSUSE -# 12.x), udev libexec directory was changed from /lib/udev to -# /usr/lib/udev. Some customer scripts might still rely on the old -# path, therefore try to create a symlink that preserves the old path -# (see bsc#1050152). -# -# This script is supposed to be called from the %posttrans scection of -# the udev package. -# -convert_lib_udev_path () { - local failed=/bin/false - - # Sanity check: /usr/lib/udev must exist at that point since - # the new udev package should have been installed. - if ! test -d /usr/lib/udev; then - echo >&2 "/usr/lib/udev does not exist, refusing to create" - echo >&2 "/lib/udev compat symlink." - return 1 - fi - - # If the symlink is missing it probably means that we're - # upgrading and the old /lib/udev path was removed as it was - # empty at the time the old version of udev was uninstalled. - if ! test -e /lib/udev; then - echo "Creating /lib/udev -> /usr/lib/udev symlink." - ln -s /usr/lib/udev /lib/udev - return - fi - - # If a symlink already exists, simply assume that we already - # did the job. IOW we're just doing a simple update of - # systemd/udev (not upgrading). - if test -L /lib/udev; then - return - fi - - # Sanity check: refuse to deal with anything but a directory. - if ! test -d /lib/udev; then - echo >&2 "/lib/udev is not either a directory nor a symlink !" - echo >&2 "It won't be converted into a symlink to /usr/lib/udev." - echo >&2 "Please create it manually." - return 1 - fi - - # /lib/udev exists and is still a directory (probably not - # empty otherwise it would have been removed when the old - # version of udev was uninstalled), we try to merge its - # content with the new location and if it fails we warn the - # user and let him sort this out. - shopt -s globstar - for f in /lib/udev/**; do - if test -d "$f"; then - continue - fi - if test -e /usr/"$f"; then - echo >&2 "Failed to migrate '$f' to /usr/lib/udev because it already exists." - failed=/bin/true - continue - fi - - echo "Migrating '$f' in /usr/lib/udev" - if ! cp -a --parents "$f" /usr; then - echo >&2 "Failed to move '$f' in /usr/lib/udev." - failed=/bin/true - continue - fi - rm "$f" - done - shopt -u globstar - - if ! $failed; then - rm -fr /lib/udev && - ln -s ../usr/lib/udev /lib/udev && - echo "The content of /lib/udev has been moved in /usr/lib/udev successfully" && - echo "and /lib/udev is now a symlink pointing to /usr/lib/udev." && - echo "Please note /lib/udev is deprecated and shouldn't be used by" && - echo "new scripts/applications anymore." || - failed=/bin/true - fi - - if $failed; then - echo >&2 "Converting /lib/udev into a symlink pointing to /usr/lib/udev was not" - echo >&2 "possible due to previous error(s)." - echo >&2 "Please fix them and then create the symlink with:" - echo >&2 " 'ln -s ../usr/lib/udev /lib/udev'." - return 1 - fi -} - -convert_lib_udev_path diff --git a/systemd-mini.changes b/systemd-mini.changes index f9874710..490955b2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Thu Feb 6 14:15:01 UTC 2020 - Franck Bui + +- Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) + + 77c04ce5c2 hwdb: update to v245-rc1 + b4eb884824 Fix typo in function name + e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it + 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages + 5926f9f172 polkit: use structured initialization + 0697d0d972 polkit: on async pk requests, re-validate action/details + 2589995acd polkit: reuse some common bus message appending code + 5b2442d5c3 bus-polkit: rename return error parameter to ret_error + 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c + 1325dfb577 test: adapt to the new capsh format + 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 + 3034855a5b presets: "disable" all passive targets by default + c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value + 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease + 0ed6cda28d network: fix implicit type conversion warning by GCC-10 + f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf + ddc5dca8a7 sd-boot: fix typo + 2bbbe9ae41 test: Synchronize journal before reading from it + 072485d661 sd-bus: fix introspection bug in signal parameter names + 80af3cf5e3 efi: fix build. + [...] + +------------------------------------------------------------------- +Mon Feb 3 14:52:51 UTC 2020 - Franck Bui + +- Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) + +------------------------------------------------------------------- +Tue Jan 21 16:01:09 UTC 2020 - Franck Bui + +- Drop scripts-udev-convert-lib-udev-path.sh + + Nobody should need it these days. + ------------------------------------------------------------------- Tue Jan 14 14:21:40 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 43d27e94..3bda3fe4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.58.g8254b8d964 +%define suse_version +suse.138.gf8adabc2b1 %bcond_with gnuefi %if 0%{?bootstrap} @@ -54,7 +54,7 @@ %bcond_with parentpathid Name: systemd-mini -Url: http://www.freedesktop.org/wiki/Software/systemd +URL: http://www.freedesktop.org/wiki/Software/systemd Version: 244 Release: 0 Summary: A System and Session Manager @@ -158,7 +158,6 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -Source200: scripts-udev-convert-lib-udev-path.sh # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -239,7 +238,7 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only Group: System/Kernel -Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires(post): sed Requires(post): coreutils @@ -472,7 +471,11 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) +%if 0%{?is_opensuse} +ntp_servers=({0..3}.opensuse.pool.ntp.org) +%else +ntp_servers=({0..3}.suse.pool.ntp.org) +%endif # keep split-usr until all packages have moved their systemd rules to /usr %meson \ @@ -488,7 +491,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${opensuse_ntp_servers[*]}" \ + -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -581,9 +584,6 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -for s in %{S:200}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} -done # Legacy sysvinit tools mkdir -p %{buildroot}/sbin @@ -868,7 +868,6 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -1169,9 +1168,11 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system.d %dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf @@ -1201,6 +1202,7 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1330,7 +1332,6 @@ fi %exclude %{_udevrulesdir}/99-systemd.rules %{_udevrulesdir}/*.rules %{_udevhwdbdir}/ -%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin diff --git a/systemd-v244+suse.138.gf8adabc2b1.tar.xz b/systemd-v244+suse.138.gf8adabc2b1.tar.xz new file mode 100644 index 00000000..39fec5db --- /dev/null +++ b/systemd-v244+suse.138.gf8adabc2b1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7c4ae099d4a421225778043d0ce9bb9f3d3a59186eb7da173e5f35edbc218c5 +size 5784940 diff --git a/systemd-v244+suse.58.g8254b8d964.tar.xz b/systemd-v244+suse.58.g8254b8d964.tar.xz deleted file mode 100644 index cf95da8c..00000000 --- a/systemd-v244+suse.58.g8254b8d964.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1347645929f05fcc785b2f4531456eb50c6916d5f15a88cfe6fb57845ed1103 -size 5761288 diff --git a/systemd.changes b/systemd.changes index f9874710..490955b2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Thu Feb 6 14:15:01 UTC 2020 - Franck Bui + +- Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) + + 77c04ce5c2 hwdb: update to v245-rc1 + b4eb884824 Fix typo in function name + e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it + 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages + 5926f9f172 polkit: use structured initialization + 0697d0d972 polkit: on async pk requests, re-validate action/details + 2589995acd polkit: reuse some common bus message appending code + 5b2442d5c3 bus-polkit: rename return error parameter to ret_error + 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c + 1325dfb577 test: adapt to the new capsh format + 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 + 3034855a5b presets: "disable" all passive targets by default + c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value + 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease + 0ed6cda28d network: fix implicit type conversion warning by GCC-10 + f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf + ddc5dca8a7 sd-boot: fix typo + 2bbbe9ae41 test: Synchronize journal before reading from it + 072485d661 sd-bus: fix introspection bug in signal parameter names + 80af3cf5e3 efi: fix build. + [...] + +------------------------------------------------------------------- +Mon Feb 3 14:52:51 UTC 2020 - Franck Bui + +- Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) + +------------------------------------------------------------------- +Tue Jan 21 16:01:09 UTC 2020 - Franck Bui + +- Drop scripts-udev-convert-lib-udev-path.sh + + Nobody should need it these days. + ------------------------------------------------------------------- Tue Jan 14 14:21:40 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2a1d8c3a..e464f4ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.58.g8254b8d964 +%define suse_version +suse.138.gf8adabc2b1 %bcond_with gnuefi %if 0%{?bootstrap} @@ -52,7 +52,7 @@ %bcond_with parentpathid Name: systemd -Url: http://www.freedesktop.org/wiki/Software/systemd +URL: http://www.freedesktop.org/wiki/Software/systemd Version: 244 Release: 0 Summary: A System and Session Manager @@ -156,7 +156,6 @@ Source14: kbd-model-map.legacy Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -Source200: scripts-udev-convert-lib-udev-path.sh # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the @@ -237,7 +236,7 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only Group: System/Kernel -Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires(post): sed Requires(post): coreutils @@ -470,7 +469,11 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) +%if 0%{?is_opensuse} +ntp_servers=({0..3}.opensuse.pool.ntp.org) +%else +ntp_servers=({0..3}.suse.pool.ntp.org) +%endif # keep split-usr until all packages have moved their systemd rules to /usr %meson \ @@ -486,7 +489,7 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${opensuse_ntp_servers[*]}" \ + -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -579,9 +582,6 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -for s in %{S:200}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/udev/scripts/${s#*/scripts-udev-} -done # Legacy sysvinit tools mkdir -p %{buildroot}/sbin @@ -866,7 +866,6 @@ systemctl daemon-reload || : %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%{_prefix}/lib/udev/scripts/convert-lib-udev-path.sh || : %post -n libudev%{?mini}1 -p /sbin/ldconfig %post -n libsystemd0%{?mini} -p /sbin/ldconfig @@ -1167,9 +1166,11 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system.d %dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf @@ -1199,6 +1200,7 @@ fi %exclude %{_datadir}/systemd/gatewayd %endif +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service @@ -1328,7 +1330,6 @@ fi %exclude %{_udevrulesdir}/99-systemd.rules %{_udevrulesdir}/*.rules %{_udevhwdbdir}/ -%{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin From b398d77dd088608988ddb176a0ba7ab00d330c362cea37e551bad948074082f7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 21 Feb 2020 17:09:02 +0000 Subject: [PATCH 462/991] Accepting request 777986 from home:lnussel:branches:Base:System - move html documentation to sparate package to save space - move networkd and resolved binaries into correct subpackage - move html documentation to sparate package to save space - move networkd and resolved binaries into correct subpackage OBS-URL: https://build.opensuse.org/request/show/777986 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1087 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 39 +++++++++++++++++++++++++++++++++++++++ systemd.changes | 6 ++++++ systemd.spec | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 490955b2..d82f8db4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel + +- move html documentation to sparate package to save space +- move networkd and resolved binaries into correct subpackage + ------------------------------------------------------------------- Thu Feb 6 14:15:01 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3bda3fe4..4c7e941a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -178,6 +178,19 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%if !0%{?bootstrap} +%package doc +Summary: HTML documentation for systemd +License: LGPL-2.1-or-later +Group: Documentation/Other +Supplements: (systemd and patterns-base-documentation) + +%description doc +The HTML documenation for systemd + +# /bootstrap +%endif + %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later @@ -1076,6 +1089,13 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with networkd} +%exclude %{_unitdir}/systemd-networkd.service +%exclude %{_unitdir}/systemd-networkd.socket +%exclude %{_unitdir}/systemd-networkd-wait-online.service +%exclude %{_prefix}/lib/systemd/systemd-resolved +%exclude %{_unitdir}/systemd-resolved.service +%endif %if %{with portabled} %exclude %{_prefix}/lib/systemd/systemd-portabled %exclude %{_prefix}/lib/systemd/portable @@ -1249,7 +1269,9 @@ fi %exclude %{_mandir}/man*/systemd-portabled* %endif %endif + %{_docdir}/systemd +%exclude %{_docdir}/systemd/html %{_udevrulesdir}/70-uaccess.rules %{_udevrulesdir}/71-seat.rules @@ -1274,6 +1296,15 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%if ! 0%{?bootstrap} +%files doc +%defattr(-,root,root,-) +%dir %{_docdir}/systemd +%{_docdir}/systemd/html + +# /bootstrap +%endif + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1500,6 +1531,14 @@ fi %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_prefix}/lib/systemd/network/*.network %{_prefix}/lib/systemd/network/*.network.example +%{_prefix}/lib/systemd/systemd-network-generator +%{_prefix}/lib/systemd/systemd-networkd +%{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-networkd.service +%{_unitdir}/systemd-networkd.socket +%{_unitdir}/systemd-networkd-wait-online.service +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd.changes b/systemd.changes index 490955b2..d82f8db4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel + +- move html documentation to sparate package to save space +- move networkd and resolved binaries into correct subpackage + ------------------------------------------------------------------- Thu Feb 6 14:15:01 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e464f4ff..9f7cf41e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -176,6 +176,19 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%if !0%{?bootstrap} +%package doc +Summary: HTML documentation for systemd +License: LGPL-2.1-or-later +Group: Documentation/Other +Supplements: (systemd and patterns-base-documentation) + +%description doc +The HTML documenation for systemd + +# /bootstrap +%endif + %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later @@ -1074,6 +1087,13 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with networkd} +%exclude %{_unitdir}/systemd-networkd.service +%exclude %{_unitdir}/systemd-networkd.socket +%exclude %{_unitdir}/systemd-networkd-wait-online.service +%exclude %{_prefix}/lib/systemd/systemd-resolved +%exclude %{_unitdir}/systemd-resolved.service +%endif %if %{with portabled} %exclude %{_prefix}/lib/systemd/systemd-portabled %exclude %{_prefix}/lib/systemd/portable @@ -1247,7 +1267,9 @@ fi %exclude %{_mandir}/man*/systemd-portabled* %endif %endif + %{_docdir}/systemd +%exclude %{_docdir}/systemd/html %{_udevrulesdir}/70-uaccess.rules %{_udevrulesdir}/71-seat.rules @@ -1272,6 +1294,15 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%if ! 0%{?bootstrap} +%files doc +%defattr(-,root,root,-) +%dir %{_docdir}/systemd +%{_docdir}/systemd/html + +# /bootstrap +%endif + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1498,6 +1529,14 @@ fi %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_prefix}/lib/systemd/network/*.network %{_prefix}/lib/systemd/network/*.network.example +%{_prefix}/lib/systemd/systemd-network-generator +%{_prefix}/lib/systemd/systemd-networkd +%{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-networkd.service +%{_unitdir}/systemd-networkd.socket +%{_unitdir}/systemd-networkd-wait-online.service +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl From 8e1532824c106fba328773a32449a61f4ffbddf8c280166ad611bdd0ee0fc49f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 3 Mar 2020 12:42:34 +0000 Subject: [PATCH 463/991] Accepting request 781193 from home:lnussel:branches:Base:System file list fix OBS-URL: https://build.opensuse.org/request/show/781193 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1088 --- systemd-mini.spec | 3 +++ systemd.spec | 3 +++ 2 files changed, 6 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index 4c7e941a..8bca5950 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1090,6 +1090,9 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif %if %{with networkd} +%exclude %{_prefix}/lib/systemd/systemd-network-generator +%exclude %{_prefix}/lib/systemd/systemd-networkd +%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service diff --git a/systemd.spec b/systemd.spec index 9f7cf41e..2e36aa55 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1088,6 +1088,9 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif %if %{with networkd} +%exclude %{_prefix}/lib/systemd/systemd-network-generator +%exclude %{_prefix}/lib/systemd/systemd-networkd +%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service From 4c170d51ecb65a6cec464ad1db41b96ac87e62389e6e6049403f0d199793e828 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 6 Mar 2020 20:23:57 +0000 Subject: [PATCH 464/991] Accepting request 781205 from Base:System OBS-URL: https://build.opensuse.org/request/show/781205 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=305 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 42 ++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 6 ++++++ systemd.spec | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 490955b2..d82f8db4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel + +- move html documentation to sparate package to save space +- move networkd and resolved binaries into correct subpackage + ------------------------------------------------------------------- Thu Feb 6 14:15:01 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3bda3fe4..8bca5950 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -178,6 +178,19 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%if !0%{?bootstrap} +%package doc +Summary: HTML documentation for systemd +License: LGPL-2.1-or-later +Group: Documentation/Other +Supplements: (systemd and patterns-base-documentation) + +%description doc +The HTML documenation for systemd + +# /bootstrap +%endif + %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later @@ -1076,6 +1089,16 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with networkd} +%exclude %{_prefix}/lib/systemd/systemd-network-generator +%exclude %{_prefix}/lib/systemd/systemd-networkd +%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-networkd.service +%exclude %{_unitdir}/systemd-networkd.socket +%exclude %{_unitdir}/systemd-networkd-wait-online.service +%exclude %{_prefix}/lib/systemd/systemd-resolved +%exclude %{_unitdir}/systemd-resolved.service +%endif %if %{with portabled} %exclude %{_prefix}/lib/systemd/systemd-portabled %exclude %{_prefix}/lib/systemd/portable @@ -1249,7 +1272,9 @@ fi %exclude %{_mandir}/man*/systemd-portabled* %endif %endif + %{_docdir}/systemd +%exclude %{_docdir}/systemd/html %{_udevrulesdir}/70-uaccess.rules %{_udevrulesdir}/71-seat.rules @@ -1274,6 +1299,15 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%if ! 0%{?bootstrap} +%files doc +%defattr(-,root,root,-) +%dir %{_docdir}/systemd +%{_docdir}/systemd/html + +# /bootstrap +%endif + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1500,6 +1534,14 @@ fi %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_prefix}/lib/systemd/network/*.network %{_prefix}/lib/systemd/network/*.network.example +%{_prefix}/lib/systemd/systemd-network-generator +%{_prefix}/lib/systemd/systemd-networkd +%{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-networkd.service +%{_unitdir}/systemd-networkd.socket +%{_unitdir}/systemd-networkd-wait-online.service +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd.changes b/systemd.changes index 490955b2..d82f8db4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel + +- move html documentation to sparate package to save space +- move networkd and resolved binaries into correct subpackage + ------------------------------------------------------------------- Thu Feb 6 14:15:01 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e464f4ff..2e36aa55 100644 --- a/systemd.spec +++ b/systemd.spec @@ -176,6 +176,19 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. +%if !0%{?bootstrap} +%package doc +Summary: HTML documentation for systemd +License: LGPL-2.1-or-later +Group: Documentation/Other +Supplements: (systemd and patterns-base-documentation) + +%description doc +The HTML documenation for systemd + +# /bootstrap +%endif + %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later @@ -1074,6 +1087,16 @@ fi %exclude %{_unitdir}/systemd-importd.service %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif +%if %{with networkd} +%exclude %{_prefix}/lib/systemd/systemd-network-generator +%exclude %{_prefix}/lib/systemd/systemd-networkd +%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-networkd.service +%exclude %{_unitdir}/systemd-networkd.socket +%exclude %{_unitdir}/systemd-networkd-wait-online.service +%exclude %{_prefix}/lib/systemd/systemd-resolved +%exclude %{_unitdir}/systemd-resolved.service +%endif %if %{with portabled} %exclude %{_prefix}/lib/systemd/systemd-portabled %exclude %{_prefix}/lib/systemd/portable @@ -1247,7 +1270,9 @@ fi %exclude %{_mandir}/man*/systemd-portabled* %endif %endif + %{_docdir}/systemd +%exclude %{_docdir}/systemd/html %{_udevrulesdir}/70-uaccess.rules %{_udevrulesdir}/71-seat.rules @@ -1272,6 +1297,15 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc +%if ! 0%{?bootstrap} +%files doc +%defattr(-,root,root,-) +%dir %{_docdir}/systemd +%{_docdir}/systemd/html + +# /bootstrap +%endif + %files devel %defattr(-,root,root,-) %{_libdir}/libsystemd.so @@ -1498,6 +1532,14 @@ fi %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_prefix}/lib/systemd/network/*.network %{_prefix}/lib/systemd/network/*.network.example +%{_prefix}/lib/systemd/systemd-network-generator +%{_prefix}/lib/systemd/systemd-networkd +%{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-networkd.service +%{_unitdir}/systemd-networkd.socket +%{_unitdir}/systemd-networkd-wait-online.service +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl From f7851cfc2ba131dbb6f71d7e9dc9e042da9f40c9473d536757049a5fecaad694 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 13 Mar 2020 16:01:49 +0000 Subject: [PATCH 465/991] Accepting request 784649 from home:eroca:branches:Base:System - add systemd-network-generator.service file together with systemd-network-generator binary OBS-URL: https://build.opensuse.org/request/show/784649 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1089 --- systemd-mini.spec | 2 ++ systemd.changes | 5 +++++ systemd.spec | 2 ++ 3 files changed, 9 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index 8bca5950..e3fbb8d1 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1093,6 +1093,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1537,6 +1538,7 @@ fi %{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service diff --git a/systemd.changes b/systemd.changes index d82f8db4..c4467e41 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca + +- add systemd-network-generator.service file together with systemd-network-generator binary + ------------------------------------------------------------------- Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 2e36aa55..c976c5f2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1091,6 +1091,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1535,6 +1536,7 @@ fi %{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service From ba135ace4aaf4365d756c74974f4617aea45bede038f1295bc97e89edc1dbbbf Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 19 Mar 2020 08:40:40 +0000 Subject: [PATCH 466/991] Accepting request 786228 from home:fbui:systemd:openSUSE-Factory - Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) - add systemd-network-generator.service file together with systemd-network-generator binary OBS-URL: https://build.opensuse.org/request/show/786228 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1090 --- ...-mark-as-redundant-if-deps-are-relev.patch | 155 ++++++++++++++++++ systemd-mini.changes | 23 +++ systemd-mini.spec | 13 +- systemd-v244+suse.138.gf8adabc2b1.tar.xz | 3 - systemd-v245+suse.30.g74e2e834b4.tar.xz | 3 + systemd.changes | 18 ++ systemd.spec | 13 +- 7 files changed, 219 insertions(+), 9 deletions(-) create mode 100644 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch delete mode 100644 systemd-v244+suse.138.gf8adabc2b1.tar.xz create mode 100644 systemd-v245+suse.30.g74e2e834b4.tar.xz diff --git a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch new file mode 100644 index 00000000..8208646f --- /dev/null +++ b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch @@ -0,0 +1,155 @@ +From a9906d1f4aeeaa39a2d57563d23cb7cdd9283bf8 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 18 Mar 2020 16:18:46 +0100 +Subject: [PATCH 1/1] Revert "job: Don't mark as redundant if deps are + relevant" + +This reverts commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533, which involves a +significant behavior change which at least impacts plymouth [1] and some of the +services shipped by systemd (systemd-vconsole-setup.service). + +Of course some other units shipped by other packages might rely on the old +behavior [2], which makes me wonder why this patch wasn't simply reverted until +the situation gets clarified, at least that what the author of the change +thinks too [3]. + +[1] https://bugzilla.redhat.com/show_bug.cgi?id=1807771 +[2] https://github.com/systemd/systemd/issues/15091#issuecomment-598238061 +[3] https://github.com/systemd/systemd/pull/14086#issuecomment-598600479 +--- + src/core/job.c | 51 +++++++------------------------------------------- + src/core/job.h | 3 +-- + src/core/transaction.c | 8 ++++---- + 3 files changed, 12 insertions(+), 50 deletions(-) + +diff --git a/src/core/job.c b/src/core/job.c +index 9fe30359df..8610496109 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -383,62 +383,25 @@ JobType job_type_lookup_merge(JobType a, JobType b) { + return job_merging_table[(a - 1) * a / 2 + b]; + } + +-bool job_later_link_matters(Job *j, JobType type, unsigned generation) { +- JobDependency *l; +- +- assert(j); +- +- j->generation = generation; +- +- LIST_FOREACH(subject, l, j->subject_list) { +- UnitActiveState state = _UNIT_ACTIVE_STATE_INVALID; +- +- /* Have we seen this before? */ +- if (l->object->generation == generation) +- continue; +- +- state = unit_active_state(l->object->unit); +- switch (type) { +- +- case JOB_START: +- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) || +- job_later_link_matters(l->object, type, generation); +- +- case JOB_STOP: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) || +- job_later_link_matters(l->object, type, generation); +- +- default: +- assert_not_reached("Invalid job type"); +- } +- } +- +- return false; +-} +- +-bool job_is_redundant(Job *j, unsigned generation) { +- +- assert(j); +- +- UnitActiveState state = unit_active_state(j->unit); +- switch (j->type) { ++bool job_type_is_redundant(JobType a, UnitActiveState b) { ++ switch (a) { + + case JOB_START: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) && !job_later_link_matters(j, JOB_START, generation); ++ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); + + case JOB_STOP: +- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) && !job_later_link_matters(j, JOB_STOP, generation); ++ return IN_SET(b, UNIT_INACTIVE, UNIT_FAILED); + + case JOB_VERIFY_ACTIVE: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING); ++ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); + + case JOB_RELOAD: + return +- state == UNIT_RELOADING; ++ b == UNIT_RELOADING; + + case JOB_RESTART: + return +- state == UNIT_ACTIVATING; ++ b == UNIT_ACTIVATING; + + case JOB_NOP: + return true; +diff --git a/src/core/job.h b/src/core/job.h +index 02b057ee06..03ad640618 100644 +--- a/src/core/job.h ++++ b/src/core/job.h +@@ -196,8 +196,7 @@ _pure_ static inline bool job_type_is_superset(JobType a, JobType b) { + return a == job_type_lookup_merge(a, b); + } + +-bool job_later_link_matters(Job *j, JobType type, unsigned generation); +-bool job_is_redundant(Job *j, unsigned generation); ++bool job_type_is_redundant(JobType a, UnitActiveState b) _pure_; + + /* Collapses a state-dependent job type into a simpler type by observing + * the state of the unit which it is going to be applied to. */ +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 49f43e0327..6dc4e95beb 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -279,7 +279,7 @@ static int transaction_merge_jobs(Transaction *tr, sd_bus_error *e) { + return 0; + } + +-static void transaction_drop_redundant(Transaction *tr, unsigned generation) { ++static void transaction_drop_redundant(Transaction *tr) { + bool again; + + /* Goes through the transaction and removes all jobs of the units whose jobs are all noops. If not +@@ -299,7 +299,7 @@ static void transaction_drop_redundant(Transaction *tr, unsigned generation) { + + LIST_FOREACH(transaction, k, j) + if (tr->anchor_job == k || +- !job_is_redundant(k, generation) || ++ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || + (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) { + keep = true; + break; +@@ -732,7 +732,7 @@ int transaction_activate( + transaction_minimize_impact(tr); + + /* Third step: Drop redundant jobs */ +- transaction_drop_redundant(tr, generation++); ++ transaction_drop_redundant(tr); + + for (;;) { + /* Fourth step: Let's remove unneeded jobs that might +@@ -774,7 +774,7 @@ int transaction_activate( + } + + /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ +- transaction_drop_redundant(tr, generation++); ++ transaction_drop_redundant(tr); + + /* Ninth step: check whether we can actually apply this */ + r = transaction_is_destructive(tr, mode, e); +-- +2.16.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index d82f8db4..63763f43 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Wed Mar 18 14:09:57 UTC 2020 - Franck Bui + +- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for + details. + + The new tools provided by systemd repart, userdb, homed, fdisk, + pwquality, p11kit feature have been disabled for now as they require + reviews first. + + Default to the "unified" cgroup hierarchy. Indeed most prominent + users of cgroup (such as libvirt, kubic) should be ready for such + change. It's still possible to switch back to the old "hybrid" + hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to + the kernel command line though. + +------------------------------------------------------------------- +Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca + +- add systemd-network-generator.service file together with systemd-network-generator binary + ------------------------------------------------------------------- Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index e3fbb8d1..1dab339d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.138.gf8adabc2b1 +%define suse_version +suse.30.g74e2e834b4 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 244 +Version: 245 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -167,6 +167,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # merged by upstream. Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -502,7 +503,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ @@ -514,6 +515,12 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dima=false \ -Delfutils=auto \ -Dpstore=false \ + -Drepart=false \ + -Duserdb=false \ + -Dhomed=false \ + -Dfdisk=false \ + -Dpwquality=false \ + -Dp11kit=false \ %if ! 0%{?bootstrap} -Dman=true \ -Dhtml=true \ diff --git a/systemd-v244+suse.138.gf8adabc2b1.tar.xz b/systemd-v244+suse.138.gf8adabc2b1.tar.xz deleted file mode 100644 index 39fec5db..00000000 --- a/systemd-v244+suse.138.gf8adabc2b1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7c4ae099d4a421225778043d0ce9bb9f3d3a59186eb7da173e5f35edbc218c5 -size 5784940 diff --git a/systemd-v245+suse.30.g74e2e834b4.tar.xz b/systemd-v245+suse.30.g74e2e834b4.tar.xz new file mode 100644 index 00000000..839d10f8 --- /dev/null +++ b/systemd-v245+suse.30.g74e2e834b4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8228ed5648ce23683de7420835f19703b51d9c0065c8e3d5c6770ef7cbbf1204 +size 6153956 diff --git a/systemd.changes b/systemd.changes index c4467e41..63763f43 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Mar 18 14:09:57 UTC 2020 - Franck Bui + +- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for + details. + + The new tools provided by systemd repart, userdb, homed, fdisk, + pwquality, p11kit feature have been disabled for now as they require + reviews first. + + Default to the "unified" cgroup hierarchy. Indeed most prominent + users of cgroup (such as libvirt, kubic) should be ready for such + change. It's still possible to switch back to the old "hybrid" + hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to + the kernel command line though. + ------------------------------------------------------------------- Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca diff --git a/systemd.spec b/systemd.spec index c976c5f2..3fce6bc7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.138.gf8adabc2b1 +%define suse_version +suse.30.g74e2e834b4 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 244 +Version: 245 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -165,6 +165,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # merged by upstream. Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -500,7 +501,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ @@ -512,6 +513,12 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dima=false \ -Delfutils=auto \ -Dpstore=false \ + -Drepart=false \ + -Duserdb=false \ + -Dhomed=false \ + -Dfdisk=false \ + -Dpwquality=false \ + -Dp11kit=false \ %if ! 0%{?bootstrap} -Dman=true \ -Dhtml=true \ From c516593d35dce6220f799fb34c9ebf3f6fc65daf0a9f25775be258e63c4ee820 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 23 Mar 2020 14:12:04 +0000 Subject: [PATCH 467/991] Accepting request 787500 from home:fbui:systemd:openSUSE-Factory - Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page 3c69813c69 man: add a tiny bit of markup bf595e788c home: fix segfault when parsing arguments in PAM module e110f4dacb test: wait a bit after starting the test service e8df08cfdb fix journalctl regression (#15099) eb3a38cc23 NEWS: add late note about job trimming issue 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested 1c7de81f89 format-table: allow hiding a specific column b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) [...] Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been reverted for now on as it introduced a behavior change which has impacted plymouth at least. OBS-URL: https://build.opensuse.org/request/show/787500 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1091 --- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v245+suse.30.g74e2e834b4.tar.xz | 3 --- systemd-v245+suse.57.g31f82b39c8.tar.xz | 3 +++ systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 2 +- 6 files changed, 49 insertions(+), 5 deletions(-) delete mode 100644 systemd-v245+suse.30.g74e2e834b4.tar.xz create mode 100644 systemd-v245+suse.57.g31f82b39c8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 63763f43..e1ac03b8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Mar 19 09:32:41 UTC 2020 - Franck Bui + +- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) + + d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page + 3c69813c69 man: add a tiny bit of markup + bf595e788c home: fix segfault when parsing arguments in PAM module + e110f4dacb test: wait a bit after starting the test service + e8df08cfdb fix journalctl regression (#15099) + eb3a38cc23 NEWS: add late note about job trimming issue + 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested + 1c7de81f89 format-table: allow hiding a specific column + b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= + 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) + [...] + ------------------------------------------------------------------- Wed Mar 18 14:09:57 UTC 2020 - Franck Bui @@ -16,6 +33,11 @@ Wed Mar 18 14:09:57 UTC 2020 - Franck Bui hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to the kernel command line though. + Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: + upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been + reverted for now on as it introduced a behavior change which has + impacted plymouth at least. + ------------------------------------------------------------------- Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca diff --git a/systemd-mini.spec b/systemd-mini.spec index 1dab339d..3d4561d2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.30.g74e2e834b4 +%define suse_version +suse.57.g31f82b39c8 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v245+suse.30.g74e2e834b4.tar.xz b/systemd-v245+suse.30.g74e2e834b4.tar.xz deleted file mode 100644 index 839d10f8..00000000 --- a/systemd-v245+suse.30.g74e2e834b4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8228ed5648ce23683de7420835f19703b51d9c0065c8e3d5c6770ef7cbbf1204 -size 6153956 diff --git a/systemd-v245+suse.57.g31f82b39c8.tar.xz b/systemd-v245+suse.57.g31f82b39c8.tar.xz new file mode 100644 index 00000000..8fb4d747 --- /dev/null +++ b/systemd-v245+suse.57.g31f82b39c8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:535c667d40a84f6d75d455a3e8cd18ee78036f0d5f12b0f816566d8a7e9766d6 +size 6156388 diff --git a/systemd.changes b/systemd.changes index 63763f43..e1ac03b8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Mar 19 09:32:41 UTC 2020 - Franck Bui + +- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) + + d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page + 3c69813c69 man: add a tiny bit of markup + bf595e788c home: fix segfault when parsing arguments in PAM module + e110f4dacb test: wait a bit after starting the test service + e8df08cfdb fix journalctl regression (#15099) + eb3a38cc23 NEWS: add late note about job trimming issue + 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested + 1c7de81f89 format-table: allow hiding a specific column + b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= + 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) + [...] + ------------------------------------------------------------------- Wed Mar 18 14:09:57 UTC 2020 - Franck Bui @@ -16,6 +33,11 @@ Wed Mar 18 14:09:57 UTC 2020 - Franck Bui hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to the kernel command line though. + Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: + upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been + reverted for now on as it introduced a behavior change which has + impacted plymouth at least. + ------------------------------------------------------------------- Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca diff --git a/systemd.spec b/systemd.spec index 3fce6bc7..db7ed2a3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.30.g74e2e834b4 +%define suse_version +suse.57.g31f82b39c8 %bcond_with gnuefi %if 0%{?bootstrap} From 18bb537f11914076c4bf62b1921d4d9ca9e0acf270cfbe43b7046dfeaa0ddc23 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 6 Apr 2020 12:58:22 +0000 Subject: [PATCH 468/991] Accepting request 791772 from home:fbui:systemd:openSUSE-Factory - Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) - Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch OBS-URL: https://build.opensuse.org/request/show/791772 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1092 --- ...of-udev-path_id_compat-builtin-with-.patch | 27 +++++++++++++++++++ systemd-mini.changes | 10 +++++++ systemd-mini.spec | 3 ++- systemd-v245+suse.57.g31f82b39c8.tar.xz | 3 --- systemd-v245+suse.83.gc5aa158173.tar.xz | 3 +++ systemd.changes | 10 +++++++ systemd.spec | 3 ++- 7 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch delete mode 100644 systemd-v245+suse.57.g31f82b39c8.tar.xz create mode 100644 systemd-v245+suse.83.gc5aa158173.tar.xz diff --git a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch new file mode 100644 index 00000000..eec892b1 --- /dev/null +++ b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch @@ -0,0 +1,27 @@ +From 525cbb666e260770ad191d06dac0ab79e341bbe2 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 6 Apr 2020 11:50:29 +0200 +Subject: [PATCH 1/1] meson: fix build of udev 'path_id_compat' builtin with + meson 0.54 + +Since meson 0.54, branch compats/udev-compat-symlinks needs this fix but it +should be applied while merging compats/udev-compat-symlinks branch. +--- + src/udev/compat/meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build +index 3d683c7ce9..18df75222d 100644 +--- a/src/udev/compat/meson.build ++++ b/src/udev/compat/meson.build +@@ -4,7 +4,6 @@ foreach prog : ['path_id_compat.c'] + prog, + include_directories : includes, + c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], +- link_with : [libudev_internal], + link_with : [libudev_static], + install_rpath : udev_rpath, + install : true, +-- +2.16.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index e1ac03b8..d0e24ca1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Apr 6 12:42:01 UTC 2020 - Franck Bui + +- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) + +------------------------------------------------------------------- +Mon Apr 6 10:02:33 UTC 2020 - Franck Bui + +- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + ------------------------------------------------------------------- Thu Mar 19 09:32:41 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3d4561d2..56aa5c68 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.57.g31f82b39c8 +%define suse_version +suse.83.gc5aa158173 %bcond_with gnuefi %if 0%{?bootstrap} @@ -168,6 +168,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v245+suse.57.g31f82b39c8.tar.xz b/systemd-v245+suse.57.g31f82b39c8.tar.xz deleted file mode 100644 index 8fb4d747..00000000 --- a/systemd-v245+suse.57.g31f82b39c8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:535c667d40a84f6d75d455a3e8cd18ee78036f0d5f12b0f816566d8a7e9766d6 -size 6156388 diff --git a/systemd-v245+suse.83.gc5aa158173.tar.xz b/systemd-v245+suse.83.gc5aa158173.tar.xz new file mode 100644 index 00000000..87332152 --- /dev/null +++ b/systemd-v245+suse.83.gc5aa158173.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b009a26844f93454787168fceccca97ab585f628ec937bbc4be501d6c6ab3f8 +size 6156740 diff --git a/systemd.changes b/systemd.changes index e1ac03b8..d0e24ca1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Apr 6 12:42:01 UTC 2020 - Franck Bui + +- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) + +------------------------------------------------------------------- +Mon Apr 6 10:02:33 UTC 2020 - Franck Bui + +- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + ------------------------------------------------------------------- Thu Mar 19 09:32:41 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index db7ed2a3..fc5cae85 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.57.g31f82b39c8 +%define suse_version +suse.83.gc5aa158173 %bcond_with gnuefi %if 0%{?bootstrap} @@ -166,6 +166,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 0c3fbe50ef2720870228ba4815b0a7edb4ac54e94f932a916e84e68324151f25 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 15 Apr 2020 19:27:08 +0000 Subject: [PATCH 469/991] Accepting request 794368 from home:fbui:systemd:openSUSE-Factory - Switch back to the hybrid hierarchy Unfortunately Kubernetes and runc are not yet ready for cgroupsv2. Let's reconsider the unified hierarchy in a couple of months. OBS-URL: https://build.opensuse.org/request/show/794368 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1093 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 2 +- systemd.changes | 9 +++++++++ systemd.spec | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index d0e24ca1..c744640f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Apr 15 19:06:27 UTC 2020 - Franck Bui + +- Switch back to the hybrid hierarchy + + Unfortunately Kubernetes and runc are not yet ready for + cgroupsv2. Let's reconsider the unified hierarchy in a couple of + months. + ------------------------------------------------------------------- Mon Apr 6 12:42:01 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 56aa5c68..df5cbc16 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -504,7 +504,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=unified \ + -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ diff --git a/systemd.changes b/systemd.changes index d0e24ca1..c744640f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Apr 15 19:06:27 UTC 2020 - Franck Bui + +- Switch back to the hybrid hierarchy + + Unfortunately Kubernetes and runc are not yet ready for + cgroupsv2. Let's reconsider the unified hierarchy in a couple of + months. + ------------------------------------------------------------------- Mon Apr 6 12:42:01 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index fc5cae85..293d7fef 100644 --- a/systemd.spec +++ b/systemd.spec @@ -502,7 +502,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=unified \ + -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ From fa9b776f47ad90a7d63ad6964eb1f798b98a03e70537f262b272f88e03db67c6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 17 Apr 2020 22:29:56 +0000 Subject: [PATCH 470/991] Accepting request 794369 from Base:System OBS-URL: https://build.opensuse.org/request/show/794369 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=306 --- ...-mark-as-redundant-if-deps-are-relev.patch | 155 ++++++++++++++++++ ...of-udev-path_id_compat-builtin-with-.patch | 27 +++ systemd-mini.changes | 64 ++++++++ systemd-mini.spec | 14 +- systemd-v244+suse.138.gf8adabc2b1.tar.xz | 3 - systemd-v245+suse.83.gc5aa158173.tar.xz | 3 + systemd.changes | 64 ++++++++ systemd.spec | 14 +- 8 files changed, 337 insertions(+), 7 deletions(-) create mode 100644 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch create mode 100644 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch delete mode 100644 systemd-v244+suse.138.gf8adabc2b1.tar.xz create mode 100644 systemd-v245+suse.83.gc5aa158173.tar.xz diff --git a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch new file mode 100644 index 00000000..8208646f --- /dev/null +++ b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch @@ -0,0 +1,155 @@ +From a9906d1f4aeeaa39a2d57563d23cb7cdd9283bf8 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 18 Mar 2020 16:18:46 +0100 +Subject: [PATCH 1/1] Revert "job: Don't mark as redundant if deps are + relevant" + +This reverts commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533, which involves a +significant behavior change which at least impacts plymouth [1] and some of the +services shipped by systemd (systemd-vconsole-setup.service). + +Of course some other units shipped by other packages might rely on the old +behavior [2], which makes me wonder why this patch wasn't simply reverted until +the situation gets clarified, at least that what the author of the change +thinks too [3]. + +[1] https://bugzilla.redhat.com/show_bug.cgi?id=1807771 +[2] https://github.com/systemd/systemd/issues/15091#issuecomment-598238061 +[3] https://github.com/systemd/systemd/pull/14086#issuecomment-598600479 +--- + src/core/job.c | 51 +++++++------------------------------------------- + src/core/job.h | 3 +-- + src/core/transaction.c | 8 ++++---- + 3 files changed, 12 insertions(+), 50 deletions(-) + +diff --git a/src/core/job.c b/src/core/job.c +index 9fe30359df..8610496109 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -383,62 +383,25 @@ JobType job_type_lookup_merge(JobType a, JobType b) { + return job_merging_table[(a - 1) * a / 2 + b]; + } + +-bool job_later_link_matters(Job *j, JobType type, unsigned generation) { +- JobDependency *l; +- +- assert(j); +- +- j->generation = generation; +- +- LIST_FOREACH(subject, l, j->subject_list) { +- UnitActiveState state = _UNIT_ACTIVE_STATE_INVALID; +- +- /* Have we seen this before? */ +- if (l->object->generation == generation) +- continue; +- +- state = unit_active_state(l->object->unit); +- switch (type) { +- +- case JOB_START: +- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) || +- job_later_link_matters(l->object, type, generation); +- +- case JOB_STOP: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) || +- job_later_link_matters(l->object, type, generation); +- +- default: +- assert_not_reached("Invalid job type"); +- } +- } +- +- return false; +-} +- +-bool job_is_redundant(Job *j, unsigned generation) { +- +- assert(j); +- +- UnitActiveState state = unit_active_state(j->unit); +- switch (j->type) { ++bool job_type_is_redundant(JobType a, UnitActiveState b) { ++ switch (a) { + + case JOB_START: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) && !job_later_link_matters(j, JOB_START, generation); ++ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); + + case JOB_STOP: +- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) && !job_later_link_matters(j, JOB_STOP, generation); ++ return IN_SET(b, UNIT_INACTIVE, UNIT_FAILED); + + case JOB_VERIFY_ACTIVE: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING); ++ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); + + case JOB_RELOAD: + return +- state == UNIT_RELOADING; ++ b == UNIT_RELOADING; + + case JOB_RESTART: + return +- state == UNIT_ACTIVATING; ++ b == UNIT_ACTIVATING; + + case JOB_NOP: + return true; +diff --git a/src/core/job.h b/src/core/job.h +index 02b057ee06..03ad640618 100644 +--- a/src/core/job.h ++++ b/src/core/job.h +@@ -196,8 +196,7 @@ _pure_ static inline bool job_type_is_superset(JobType a, JobType b) { + return a == job_type_lookup_merge(a, b); + } + +-bool job_later_link_matters(Job *j, JobType type, unsigned generation); +-bool job_is_redundant(Job *j, unsigned generation); ++bool job_type_is_redundant(JobType a, UnitActiveState b) _pure_; + + /* Collapses a state-dependent job type into a simpler type by observing + * the state of the unit which it is going to be applied to. */ +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 49f43e0327..6dc4e95beb 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -279,7 +279,7 @@ static int transaction_merge_jobs(Transaction *tr, sd_bus_error *e) { + return 0; + } + +-static void transaction_drop_redundant(Transaction *tr, unsigned generation) { ++static void transaction_drop_redundant(Transaction *tr) { + bool again; + + /* Goes through the transaction and removes all jobs of the units whose jobs are all noops. If not +@@ -299,7 +299,7 @@ static void transaction_drop_redundant(Transaction *tr, unsigned generation) { + + LIST_FOREACH(transaction, k, j) + if (tr->anchor_job == k || +- !job_is_redundant(k, generation) || ++ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || + (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) { + keep = true; + break; +@@ -732,7 +732,7 @@ int transaction_activate( + transaction_minimize_impact(tr); + + /* Third step: Drop redundant jobs */ +- transaction_drop_redundant(tr, generation++); ++ transaction_drop_redundant(tr); + + for (;;) { + /* Fourth step: Let's remove unneeded jobs that might +@@ -774,7 +774,7 @@ int transaction_activate( + } + + /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ +- transaction_drop_redundant(tr, generation++); ++ transaction_drop_redundant(tr); + + /* Ninth step: check whether we can actually apply this */ + r = transaction_is_destructive(tr, mode, e); +-- +2.16.4 + diff --git a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch new file mode 100644 index 00000000..eec892b1 --- /dev/null +++ b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch @@ -0,0 +1,27 @@ +From 525cbb666e260770ad191d06dac0ab79e341bbe2 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 6 Apr 2020 11:50:29 +0200 +Subject: [PATCH 1/1] meson: fix build of udev 'path_id_compat' builtin with + meson 0.54 + +Since meson 0.54, branch compats/udev-compat-symlinks needs this fix but it +should be applied while merging compats/udev-compat-symlinks branch. +--- + src/udev/compat/meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build +index 3d683c7ce9..18df75222d 100644 +--- a/src/udev/compat/meson.build ++++ b/src/udev/compat/meson.build +@@ -4,7 +4,6 @@ foreach prog : ['path_id_compat.c'] + prog, + include_directories : includes, + c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], +- link_with : [libudev_internal], + link_with : [libudev_static], + install_rpath : udev_rpath, + install : true, +-- +2.16.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index d82f8db4..c744640f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Wed Apr 15 19:06:27 UTC 2020 - Franck Bui + +- Switch back to the hybrid hierarchy + + Unfortunately Kubernetes and runc are not yet ready for + cgroupsv2. Let's reconsider the unified hierarchy in a couple of + months. + +------------------------------------------------------------------- +Mon Apr 6 12:42:01 UTC 2020 - Franck Bui + +- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) + +------------------------------------------------------------------- +Mon Apr 6 10:02:33 UTC 2020 - Franck Bui + +- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + +------------------------------------------------------------------- +Thu Mar 19 09:32:41 UTC 2020 - Franck Bui + +- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) + + d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page + 3c69813c69 man: add a tiny bit of markup + bf595e788c home: fix segfault when parsing arguments in PAM module + e110f4dacb test: wait a bit after starting the test service + e8df08cfdb fix journalctl regression (#15099) + eb3a38cc23 NEWS: add late note about job trimming issue + 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested + 1c7de81f89 format-table: allow hiding a specific column + b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= + 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) + [...] + +------------------------------------------------------------------- +Wed Mar 18 14:09:57 UTC 2020 - Franck Bui + +- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for + details. + + The new tools provided by systemd repart, userdb, homed, fdisk, + pwquality, p11kit feature have been disabled for now as they require + reviews first. + + Default to the "unified" cgroup hierarchy. Indeed most prominent + users of cgroup (such as libvirt, kubic) should be ready for such + change. It's still possible to switch back to the old "hybrid" + hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to + the kernel command line though. + + Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: + upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been + reverted for now on as it introduced a behavior change which has + impacted plymouth at least. + +------------------------------------------------------------------- +Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca + +- add systemd-network-generator.service file together with systemd-network-generator binary + ------------------------------------------------------------------- Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index 8bca5950..df5cbc16 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.138.gf8adabc2b1 +%define suse_version +suse.83.gc5aa158173 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 244 +Version: 245 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -167,6 +167,8 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # merged by upstream. Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -514,6 +516,12 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dima=false \ -Delfutils=auto \ -Dpstore=false \ + -Drepart=false \ + -Duserdb=false \ + -Dhomed=false \ + -Dfdisk=false \ + -Dpwquality=false \ + -Dp11kit=false \ %if ! 0%{?bootstrap} -Dman=true \ -Dhtml=true \ @@ -1093,6 +1101,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1537,6 +1546,7 @@ fi %{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service diff --git a/systemd-v244+suse.138.gf8adabc2b1.tar.xz b/systemd-v244+suse.138.gf8adabc2b1.tar.xz deleted file mode 100644 index 39fec5db..00000000 --- a/systemd-v244+suse.138.gf8adabc2b1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7c4ae099d4a421225778043d0ce9bb9f3d3a59186eb7da173e5f35edbc218c5 -size 5784940 diff --git a/systemd-v245+suse.83.gc5aa158173.tar.xz b/systemd-v245+suse.83.gc5aa158173.tar.xz new file mode 100644 index 00000000..87332152 --- /dev/null +++ b/systemd-v245+suse.83.gc5aa158173.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b009a26844f93454787168fceccca97ab585f628ec937bbc4be501d6c6ab3f8 +size 6156740 diff --git a/systemd.changes b/systemd.changes index d82f8db4..c744640f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Wed Apr 15 19:06:27 UTC 2020 - Franck Bui + +- Switch back to the hybrid hierarchy + + Unfortunately Kubernetes and runc are not yet ready for + cgroupsv2. Let's reconsider the unified hierarchy in a couple of + months. + +------------------------------------------------------------------- +Mon Apr 6 12:42:01 UTC 2020 - Franck Bui + +- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) + +------------------------------------------------------------------- +Mon Apr 6 10:02:33 UTC 2020 - Franck Bui + +- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + +------------------------------------------------------------------- +Thu Mar 19 09:32:41 UTC 2020 - Franck Bui + +- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) + + d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page + 3c69813c69 man: add a tiny bit of markup + bf595e788c home: fix segfault when parsing arguments in PAM module + e110f4dacb test: wait a bit after starting the test service + e8df08cfdb fix journalctl regression (#15099) + eb3a38cc23 NEWS: add late note about job trimming issue + 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested + 1c7de81f89 format-table: allow hiding a specific column + b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= + 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) + [...] + +------------------------------------------------------------------- +Wed Mar 18 14:09:57 UTC 2020 - Franck Bui + +- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for + details. + + The new tools provided by systemd repart, userdb, homed, fdisk, + pwquality, p11kit feature have been disabled for now as they require + reviews first. + + Default to the "unified" cgroup hierarchy. Indeed most prominent + users of cgroup (such as libvirt, kubic) should be ready for such + change. It's still possible to switch back to the old "hybrid" + hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to + the kernel command line though. + + Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: + upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been + reverted for now on as it introduced a behavior change which has + impacted plymouth at least. + +------------------------------------------------------------------- +Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca + +- add systemd-network-generator.service file together with systemd-network-generator binary + ------------------------------------------------------------------- Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 2e36aa55..293d7fef 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.138.gf8adabc2b1 +%define suse_version +suse.83.gc5aa158173 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 244 +Version: 245 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -165,6 +165,8 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # merged by upstream. Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -512,6 +514,12 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dima=false \ -Delfutils=auto \ -Dpstore=false \ + -Drepart=false \ + -Duserdb=false \ + -Dhomed=false \ + -Dfdisk=false \ + -Dpwquality=false \ + -Dp11kit=false \ %if ! 0%{?bootstrap} -Dman=true \ -Dhtml=true \ @@ -1091,6 +1099,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1535,6 +1544,7 @@ fi %{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service From 22a8c30675929d407d599487068b395684ea5bbb8cc326b947bff062a60f027f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 Apr 2020 06:13:25 +0000 Subject: [PATCH 471/991] Accepting request 796731 from home:fbui:systemd:openSUSE-Factory - Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) [...] - Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch It's been merged in 'openSUSE-Factory' branch otherwise this branch won't build anymore since meson has been upgraded to version 0.54 in Factory. OBS-URL: https://build.opensuse.org/request/show/796731 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1094 --- ...of-udev-path_id_compat-builtin-with-.patch | 27 ------------------- systemd-mini.changes | 19 +++++++++++++ systemd-mini.spec | 3 +-- systemd-v245+suse.117.g08cd65ac38.tar.xz | 3 +++ systemd-v245+suse.83.gc5aa158173.tar.xz | 3 --- systemd.changes | 19 +++++++++++++ systemd.spec | 3 +-- 7 files changed, 43 insertions(+), 34 deletions(-) delete mode 100644 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch create mode 100644 systemd-v245+suse.117.g08cd65ac38.tar.xz delete mode 100644 systemd-v245+suse.83.gc5aa158173.tar.xz diff --git a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch deleted file mode 100644 index eec892b1..00000000 --- a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 525cbb666e260770ad191d06dac0ab79e341bbe2 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 6 Apr 2020 11:50:29 +0200 -Subject: [PATCH 1/1] meson: fix build of udev 'path_id_compat' builtin with - meson 0.54 - -Since meson 0.54, branch compats/udev-compat-symlinks needs this fix but it -should be applied while merging compats/udev-compat-symlinks branch. ---- - src/udev/compat/meson.build | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build -index 3d683c7ce9..18df75222d 100644 ---- a/src/udev/compat/meson.build -+++ b/src/udev/compat/meson.build -@@ -4,7 +4,6 @@ foreach prog : ['path_id_compat.c'] - prog, - include_directories : includes, - c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], -- link_with : [libudev_internal], - link_with : [libudev_static], - install_rpath : udev_rpath, - install : true, --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index c744640f..9a617e13 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Apr 23 14:17:31 UTC 2020 - Franck Bui + +- Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) + + 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 + e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) + 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) + [...] + +------------------------------------------------------------------- +Thu Apr 23 14:00:42 UTC 2020 - Franck Bui + +- Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + + It's been merged in 'openSUSE-Factory' branch otherwise this branch + won't build anymore since meson has been upgraded to version 0.54 in + Factory. + ------------------------------------------------------------------- Wed Apr 15 19:06:27 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index df5cbc16..5e48bdb0 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.83.gc5aa158173 +%define suse_version +suse.117.g08cd65ac38 %bcond_with gnuefi %if 0%{?bootstrap} @@ -168,7 +168,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch -Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v245+suse.117.g08cd65ac38.tar.xz b/systemd-v245+suse.117.g08cd65ac38.tar.xz new file mode 100644 index 00000000..0eaa637a --- /dev/null +++ b/systemd-v245+suse.117.g08cd65ac38.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c015d9db3328696f69f9d051f71b859b84963dd7090eddafb209728224afd426 +size 6171008 diff --git a/systemd-v245+suse.83.gc5aa158173.tar.xz b/systemd-v245+suse.83.gc5aa158173.tar.xz deleted file mode 100644 index 87332152..00000000 --- a/systemd-v245+suse.83.gc5aa158173.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b009a26844f93454787168fceccca97ab585f628ec937bbc4be501d6c6ab3f8 -size 6156740 diff --git a/systemd.changes b/systemd.changes index c744640f..9a617e13 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Apr 23 14:17:31 UTC 2020 - Franck Bui + +- Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) + + 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 + e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) + 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) + [...] + +------------------------------------------------------------------- +Thu Apr 23 14:00:42 UTC 2020 - Franck Bui + +- Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + + It's been merged in 'openSUSE-Factory' branch otherwise this branch + won't build anymore since meson has been upgraded to version 0.54 in + Factory. + ------------------------------------------------------------------- Wed Apr 15 19:06:27 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 293d7fef..f0115b79 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.83.gc5aa158173 +%define suse_version +suse.117.g08cd65ac38 %bcond_with gnuefi %if 0%{?bootstrap} @@ -166,7 +166,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch -Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 4e8cc8b3f7baaeac757cbef8450e3dc407745c00b8007524c485b76f117b9c77 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 Apr 2020 07:45:46 +0000 Subject: [PATCH 472/991] Accepting request 796795 from home:fbui:systemd:openSUSE-Factory - Drop %tmpfiles_create portables.conf from %post of networkd sub-package It was probably mistakenly added because systemd-portable served as template for systemd-network. OBS-URL: https://build.opensuse.org/request/show/796795 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1095 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 1 - systemd.changes | 8 ++++++++ systemd.spec | 1 - 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9a617e13..3a6a38af 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Apr 24 07:38:48 UTC 2020 - Franck Bui + +- Drop %tmpfiles_create portables.conf from %post of networkd sub-package + + It was probably mistakenly added because systemd-portable served as + template for systemd-network. + ------------------------------------------------------------------- Thu Apr 23 14:17:31 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5e48bdb0..c34ec20d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -975,7 +975,6 @@ fi %endif %post network -%tmpfiles_create portables.conf %if %{with networkd} %service_add_post systemd-networkd.service %service_add_post systemd-networkd-wait-online.service diff --git a/systemd.changes b/systemd.changes index 9a617e13..3a6a38af 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Apr 24 07:38:48 UTC 2020 - Franck Bui + +- Drop %tmpfiles_create portables.conf from %post of networkd sub-package + + It was probably mistakenly added because systemd-portable served as + template for systemd-network. + ------------------------------------------------------------------- Thu Apr 23 14:17:31 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f0115b79..917aee96 100644 --- a/systemd.spec +++ b/systemd.spec @@ -973,7 +973,6 @@ fi %endif %post network -%tmpfiles_create portables.conf %if %{with networkd} %service_add_post systemd-networkd.service %service_add_post systemd-networkd-wait-online.service From 815d358fde5387334762706d9fec5badbe188b31c37f9dc4ca99a6d4e4d05117 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 25 Apr 2020 18:16:51 +0000 Subject: [PATCH 473/991] Accepting request 796797 from Base:System OBS-URL: https://build.opensuse.org/request/show/796797 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=307 --- ...of-udev-path_id_compat-builtin-with-.patch | 27 ------------------- systemd-mini.changes | 27 +++++++++++++++++++ systemd-mini.spec | 4 +-- systemd-v245+suse.117.g08cd65ac38.tar.xz | 3 +++ systemd-v245+suse.83.gc5aa158173.tar.xz | 3 --- systemd.changes | 27 +++++++++++++++++++ systemd.spec | 4 +-- 7 files changed, 59 insertions(+), 36 deletions(-) delete mode 100644 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch create mode 100644 systemd-v245+suse.117.g08cd65ac38.tar.xz delete mode 100644 systemd-v245+suse.83.gc5aa158173.tar.xz diff --git a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch deleted file mode 100644 index eec892b1..00000000 --- a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 525cbb666e260770ad191d06dac0ab79e341bbe2 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 6 Apr 2020 11:50:29 +0200 -Subject: [PATCH 1/1] meson: fix build of udev 'path_id_compat' builtin with - meson 0.54 - -Since meson 0.54, branch compats/udev-compat-symlinks needs this fix but it -should be applied while merging compats/udev-compat-symlinks branch. ---- - src/udev/compat/meson.build | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build -index 3d683c7ce9..18df75222d 100644 ---- a/src/udev/compat/meson.build -+++ b/src/udev/compat/meson.build -@@ -4,7 +4,6 @@ foreach prog : ['path_id_compat.c'] - prog, - include_directories : includes, - c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], -- link_with : [libudev_internal], - link_with : [libudev_static], - install_rpath : udev_rpath, - install : true, --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index c744640f..3a6a38af 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Apr 24 07:38:48 UTC 2020 - Franck Bui + +- Drop %tmpfiles_create portables.conf from %post of networkd sub-package + + It was probably mistakenly added because systemd-portable served as + template for systemd-network. + +------------------------------------------------------------------- +Thu Apr 23 14:17:31 UTC 2020 - Franck Bui + +- Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) + + 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 + e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) + 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) + [...] + +------------------------------------------------------------------- +Thu Apr 23 14:00:42 UTC 2020 - Franck Bui + +- Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + + It's been merged in 'openSUSE-Factory' branch otherwise this branch + won't build anymore since meson has been upgraded to version 0.54 in + Factory. + ------------------------------------------------------------------- Wed Apr 15 19:06:27 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index df5cbc16..c34ec20d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.83.gc5aa158173 +%define suse_version +suse.117.g08cd65ac38 %bcond_with gnuefi %if 0%{?bootstrap} @@ -168,7 +168,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch -Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -976,7 +975,6 @@ fi %endif %post network -%tmpfiles_create portables.conf %if %{with networkd} %service_add_post systemd-networkd.service %service_add_post systemd-networkd-wait-online.service diff --git a/systemd-v245+suse.117.g08cd65ac38.tar.xz b/systemd-v245+suse.117.g08cd65ac38.tar.xz new file mode 100644 index 00000000..0eaa637a --- /dev/null +++ b/systemd-v245+suse.117.g08cd65ac38.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c015d9db3328696f69f9d051f71b859b84963dd7090eddafb209728224afd426 +size 6171008 diff --git a/systemd-v245+suse.83.gc5aa158173.tar.xz b/systemd-v245+suse.83.gc5aa158173.tar.xz deleted file mode 100644 index 87332152..00000000 --- a/systemd-v245+suse.83.gc5aa158173.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b009a26844f93454787168fceccca97ab585f628ec937bbc4be501d6c6ab3f8 -size 6156740 diff --git a/systemd.changes b/systemd.changes index c744640f..3a6a38af 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Apr 24 07:38:48 UTC 2020 - Franck Bui + +- Drop %tmpfiles_create portables.conf from %post of networkd sub-package + + It was probably mistakenly added because systemd-portable served as + template for systemd-network. + +------------------------------------------------------------------- +Thu Apr 23 14:17:31 UTC 2020 - Franck Bui + +- Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) + + 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 + e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) + 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) + [...] + +------------------------------------------------------------------- +Thu Apr 23 14:00:42 UTC 2020 - Franck Bui + +- Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + + It's been merged in 'openSUSE-Factory' branch otherwise this branch + won't build anymore since meson has been upgraded to version 0.54 in + Factory. + ------------------------------------------------------------------- Wed Apr 15 19:06:27 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 293d7fef..917aee96 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.83.gc5aa158173 +%define suse_version +suse.117.g08cd65ac38 %bcond_with gnuefi %if 0%{?bootstrap} @@ -166,7 +166,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch -Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -974,7 +973,6 @@ fi %endif %post network -%tmpfiles_create portables.conf %if %{with networkd} %service_add_post systemd-networkd.service %service_add_post systemd-networkd-wait-online.service From d0e92b5fd6c1b5844a58fcdb6fdb0a08942dd398e3225fc9b12d83d4bad79aa3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 27 Apr 2020 13:06:10 +0000 Subject: [PATCH 474/991] Accepting request 796823 from home:fbui:systemd:openSUSE-Factory Add a pointer to get the full list of changes in systemd.changes OBS-URL: https://build.opensuse.org/request/show/796823 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1096 --- systemd-mini.changes | 3 +++ systemd.changes | 3 +++ 2 files changed, 6 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 3a6a38af..ad86ea9d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -16,6 +16,9 @@ Thu Apr 23 14:17:31 UTC 2020 - Franck Bui 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) [...] + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c5aa158173ced05201182d1cc18632a25cf43b94...08cd65ac385c884ed6e4bd71128a0796f56ecd17 + ------------------------------------------------------------------- Thu Apr 23 14:00:42 UTC 2020 - Franck Bui diff --git a/systemd.changes b/systemd.changes index 3a6a38af..ad86ea9d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -16,6 +16,9 @@ Thu Apr 23 14:17:31 UTC 2020 - Franck Bui 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) [...] + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c5aa158173ced05201182d1cc18632a25cf43b94...08cd65ac385c884ed6e4bd71128a0796f56ecd17 + ------------------------------------------------------------------- Thu Apr 23 14:00:42 UTC 2020 - Franck Bui From e1ea380ccf9d275d65cbfe2e185be2b96c3138390c361487765c2bf195f5691f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 27 Apr 2020 21:31:03 +0000 Subject: [PATCH 475/991] Accepting request 798264 from Base:System OBS-URL: https://build.opensuse.org/request/show/798264 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=308 --- systemd-mini.changes | 3 +++ systemd.changes | 3 +++ 2 files changed, 6 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 3a6a38af..ad86ea9d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -16,6 +16,9 @@ Thu Apr 23 14:17:31 UTC 2020 - Franck Bui 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) [...] + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c5aa158173ced05201182d1cc18632a25cf43b94...08cd65ac385c884ed6e4bd71128a0796f56ecd17 + ------------------------------------------------------------------- Thu Apr 23 14:00:42 UTC 2020 - Franck Bui diff --git a/systemd.changes b/systemd.changes index 3a6a38af..ad86ea9d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -16,6 +16,9 @@ Thu Apr 23 14:17:31 UTC 2020 - Franck Bui 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) [...] + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c5aa158173ced05201182d1cc18632a25cf43b94...08cd65ac385c884ed6e4bd71128a0796f56ecd17 + ------------------------------------------------------------------- Thu Apr 23 14:00:42 UTC 2020 - Franck Bui From 96b3e780700c351f85fa180dcb0d536dfd1ec094702c3573b53c5c3e0ccd75dc Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 28 Apr 2020 07:44:28 +0000 Subject: [PATCH 476/991] Accepting request 798553 from home:fbui:systemd:openSUSE-Factory - Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good Since boo#1160890 has been fixed since a couple of months now. - Drop content of /usr/share/factory/ (bsc#1170146) systemd ships several files in /usr/share/factory/etc that are copied to /etc in case those files are missing there. Unfortunately the content does not match the openSUSE defaults. - Drop most of the tmpfiles that deal with generic paths (bsc#1078466) They are problematic because some of them conflict with SUSE defaults. Therefore it seems better to let the revelant packages owning these paths to provide their own definitions instead. OBS-URL: https://build.opensuse.org/request/show/798553 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1097 --- ...lock-group-to-follow-openSUSE-policy.patch | 38 ----------------- ...E-policy-do-not-clean-tmp-by-default.patch | 26 ------------ systemd-mini.changes | 25 +++++++++++ systemd-mini.spec | 42 ++++++++++++++----- systemd.changes | 25 +++++++++++ systemd.spec | 42 ++++++++++++++----- tmpfiles-suse.conf | 15 +++++++ 7 files changed, 127 insertions(+), 86 deletions(-) delete mode 100644 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch delete mode 100644 0001-SUSE-policy-do-not-clean-tmp-by-default.patch create mode 100644 tmpfiles-suse.conf diff --git a/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch b/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch deleted file mode 100644 index 66eeece9..00000000 --- a/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ca2788b478d763e49d2463378272d9fef2ef1bf3 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 9 May 2016 16:10:21 +0200 -Subject: [PATCH 1/1] Fix /run/lock group to follow openSUSE policy - -This is a partial import of commit -88013cabb939e4bd7347ce324c9eb9c1a45582de part of SUSE/v210 branch. - -However /var/lock/{subsys,lockdev} are left alone and will be created -because: - -- a bug was opened requesting /var/lock/subsys, see commit -0671c57670fc09e0cb970d081a1b523ea9c62b5b. - -- creating /var/lock/lockdev shouldn't hurt. - -[fixes: bnc#733523] ---- - tmpfiles.d/legacy.conf | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf -index 62e2ae0986..415918f407 100644 ---- a/tmpfiles.d/legacy.conf -+++ b/tmpfiles.d/legacy.conf -@@ -10,7 +10,8 @@ - # These files are considered legacy and are unnecessary on legacy-free - # systems. - --d /run/lock 0755 root root - -+# On openSUSE, /run/lock is owned by the 'lock' group. -+d /run/lock 0775 root lock - - L /var/lock - - - - ../run/lock - - # /run/lock/subsys is used for serializing SysV service execution, and --- -2.16.4 - diff --git a/0001-SUSE-policy-do-not-clean-tmp-by-default.patch b/0001-SUSE-policy-do-not-clean-tmp-by-default.patch deleted file mode 100644 index 6f37b2d6..00000000 --- a/0001-SUSE-policy-do-not-clean-tmp-by-default.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b66a7b4b5aa25a1ffb4b76fe9545046dabd92c03 Mon Sep 17 00:00:00 2001 -From: Reinhard Max -Date: Fri, 19 Apr 2013 16:56:26 +0200 -Subject: [PATCH 1/1] SUSE policy: do not clean /tmp by default. - -Fix regression in the default for tmp auto-deletion (FATE#314974). ---- - tmpfiles.d/tmp.conf | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf -index fe5225d751..dedc7569e1 100644 ---- a/tmpfiles.d/tmp.conf -+++ b/tmpfiles.d/tmp.conf -@@ -8,5 +8,6 @@ - # See tmpfiles.d(5) for details - - # Clear tmp directories separately, to make them easier to override --q /tmp 1777 root root 10d --q /var/tmp 1777 root root 30d -+# SUSE policy: we don't clean those directories -+q /tmp 1777 root root - -+q /var/tmp 1777 root root - --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index ad86ea9d..fa100f54 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Mon Apr 27 15:45:50 UTC 2020 - Franck Bui + +- Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good + + Since boo#1160890 has been fixed since a couple of months now. + +------------------------------------------------------------------- +Mon Apr 27 14:50:36 UTC 2020 - Franck Bui + +- Drop content of /usr/share/factory/ (bsc#1170146) + + systemd ships several files in /usr/share/factory/etc that are + copied to /etc in case those files are missing there. Unfortunately + the content does not match the openSUSE defaults. + +------------------------------------------------------------------- +Mon Apr 27 14:33:35 UTC 2020 - Franck Bui + +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) + + They are problematic because some of them conflict with SUSE + defaults. Therefore it seems better to let the revelant packages + owning these paths to provide their own definitions instead. + ------------------------------------------------------------------- Fri Apr 24 07:38:48 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c34ec20d..5644b36f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -151,6 +151,7 @@ Source2: systemd-user Source3: systemd-sysv-convert Source4: systemd-sysv-install %endif +Source5: tmpfiles-suse.conf Source6: baselibs.conf Source11: after-local.service Source14: kbd-model-map.legacy @@ -165,9 +166,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch -Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch -Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -582,12 +581,6 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: These obsolete symlinks are still needed by YaST so let's -# keep them until boo#1160890 is fixed. -mkdir -p %{buildroot}/sbin -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -741,6 +734,35 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset +# The tmpfiles dealing with the generic paths is pretty messy +# currently because: +# +# 1. filesystem package wants to define the generic paths and some of +# them conflict with the definition given by systemd in var.conf, +# see bsc#1078466. +# +# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros +# (fate#314974) which conflict with tmp.conf. +# +# 3. There're also legacy.conf which defines various legacy paths +# which either don't match the SUSE defaults or don't look needed +# at all. +# +# 4. And to finish, we don't want the part in etc.conf which imports +# default upstream files in empty /etc, see below. +# +# To keep things simple, we remove all these tmpfiles config files but +# still keep the remaining paths that still don't have a better home +# in suse.conf. +rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf +install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf + +# The content of the files shipped by systemd doesn't match the +# defaults used by SUSE. Don't ship those files but leave the decision +# to use the mechanism to the individual packages that actually +# consume those configs (like glibc or pam), see bsc#1170146. +rm -fr %{buildroot}%{_datadir}/factory/* + # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored # though, i.e. not overwritten; needed as long as YaST uses console @@ -1353,8 +1375,6 @@ fi %files -n udev%{?mini} %defattr(-,root,root) -/sbin/udevd -/sbin/udevadm %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ diff --git a/systemd.changes b/systemd.changes index ad86ea9d..fa100f54 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Mon Apr 27 15:45:50 UTC 2020 - Franck Bui + +- Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good + + Since boo#1160890 has been fixed since a couple of months now. + +------------------------------------------------------------------- +Mon Apr 27 14:50:36 UTC 2020 - Franck Bui + +- Drop content of /usr/share/factory/ (bsc#1170146) + + systemd ships several files in /usr/share/factory/etc that are + copied to /etc in case those files are missing there. Unfortunately + the content does not match the openSUSE defaults. + +------------------------------------------------------------------- +Mon Apr 27 14:33:35 UTC 2020 - Franck Bui + +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) + + They are problematic because some of them conflict with SUSE + defaults. Therefore it seems better to let the revelant packages + owning these paths to provide their own definitions instead. + ------------------------------------------------------------------- Fri Apr 24 07:38:48 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 917aee96..efefdb63 100644 --- a/systemd.spec +++ b/systemd.spec @@ -149,6 +149,7 @@ Source2: systemd-user Source3: systemd-sysv-convert Source4: systemd-sysv-install %endif +Source5: tmpfiles-suse.conf Source6: baselibs.conf Source11: after-local.service Source14: kbd-model-map.legacy @@ -163,9 +164,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch -Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch -Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -580,12 +579,6 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: These obsolete symlinks are still needed by YaST so let's -# keep them until boo#1160890 is fixed. -mkdir -p %{buildroot}/sbin -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -739,6 +732,35 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset +# The tmpfiles dealing with the generic paths is pretty messy +# currently because: +# +# 1. filesystem package wants to define the generic paths and some of +# them conflict with the definition given by systemd in var.conf, +# see bsc#1078466. +# +# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros +# (fate#314974) which conflict with tmp.conf. +# +# 3. There're also legacy.conf which defines various legacy paths +# which either don't match the SUSE defaults or don't look needed +# at all. +# +# 4. And to finish, we don't want the part in etc.conf which imports +# default upstream files in empty /etc, see below. +# +# To keep things simple, we remove all these tmpfiles config files but +# still keep the remaining paths that still don't have a better home +# in suse.conf. +rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf +install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf + +# The content of the files shipped by systemd doesn't match the +# defaults used by SUSE. Don't ship those files but leave the decision +# to use the mechanism to the individual packages that actually +# consume those configs (like glibc or pam), see bsc#1170146. +rm -fr %{buildroot}%{_datadir}/factory/* + # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored # though, i.e. not overwritten; needed as long as YaST uses console @@ -1351,8 +1373,6 @@ fi %files -n udev%{?mini} %defattr(-,root,root) -/sbin/udevd -/sbin/udevadm %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf new file mode 100644 index 00000000..885e852c --- /dev/null +++ b/tmpfiles-suse.conf @@ -0,0 +1,15 @@ +# +# See tmpfiles.d(5) for details +# +# Type Path Mode User Group Age Argument + +# Legacy symlink. Maybe should be owned by util-linux ? +L+ /etc/mtab - - - - ../proc/self/mounts + +# FIXME: Might be moved to lockded. +d /run/lock 0775 root lock - + +# FIXME: Should these one be moved to shadow ? +f /var/log/wtmp 0664 root utmp - +f /var/log/btmp 0660 root utmp - +f /var/log/lastlog 0664 root utmp - From 3ab3f4e8263521d90c9679d5f0d7249c4570651d896cca0c927b138b29f4c2f2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 28 Apr 2020 08:16:13 +0000 Subject: [PATCH 477/991] Accepting request 798571 from home:fbui:systemd:openSUSE-Factory Mention 2 dropped patches in .changes OBS-URL: https://build.opensuse.org/request/show/798571 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1098 --- systemd-mini.changes | 6 ++++++ systemd.changes | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index fa100f54..2f5136ec 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -23,6 +23,12 @@ Mon Apr 27 14:33:35 UTC 2020 - Franck Bui defaults. Therefore it seems better to let the revelant packages owning these paths to provide their own definitions instead. + Meanwhile we still keep the homeless definitions in suse.conf until + a better place is found for them. + + Drop 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch + Drop 0001-SUSE-policy-do-not-clean-tmp-by-default.patch + ------------------------------------------------------------------- Fri Apr 24 07:38:48 UTC 2020 - Franck Bui diff --git a/systemd.changes b/systemd.changes index fa100f54..2f5136ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -23,6 +23,12 @@ Mon Apr 27 14:33:35 UTC 2020 - Franck Bui defaults. Therefore it seems better to let the revelant packages owning these paths to provide their own definitions instead. + Meanwhile we still keep the homeless definitions in suse.conf until + a better place is found for them. + + Drop 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch + Drop 0001-SUSE-policy-do-not-clean-tmp-by-default.patch + ------------------------------------------------------------------- Fri Apr 24 07:38:48 UTC 2020 - Franck Bui From 1f99994b9bc3a9ec4308c74a41c5c6d802ba7157813571f0edee033990e62ad8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 29 Apr 2020 06:33:23 +0000 Subject: [PATCH 478/991] Accepting request 798757 from home:tsaupe:branches:Base:System:systemd-update-rpmlintrc add filter for env-script-interpreter to rpmlintrc OBS-URL: https://build.opensuse.org/request/show/798757 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1099 --- systemd-mini-rpmlintrc | 1 + systemd-rpmlintrc | 1 + 2 files changed, 2 insertions(+) diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a2cefb37..9bc3777f 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -29,3 +29,4 @@ addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") addFilter(".*shlib-policy-missing-suffix.*") addFilter(".*suse-missing-rclink.*") +addFilter("env-script-interpreter") diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a2cefb37..9bc3777f 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -29,3 +29,4 @@ addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") addFilter(".*shlib-policy-missing-suffix.*") addFilter(".*suse-missing-rclink.*") +addFilter("env-script-interpreter") From 43dfa52de9e17a942cf0dc620394babc18c07bc105e624f6888bf446da3674ef Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 29 Apr 2020 18:42:06 +0000 Subject: [PATCH 479/991] Accepting request 798578 from Base:System OBS-URL: https://build.opensuse.org/request/show/798578 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=309 --- ...lock-group-to-follow-openSUSE-policy.patch | 38 ----------------- ...E-policy-do-not-clean-tmp-by-default.patch | 26 ------------ systemd-mini.changes | 31 ++++++++++++++ systemd-mini.spec | 42 ++++++++++++++----- systemd.changes | 31 ++++++++++++++ systemd.spec | 42 ++++++++++++++----- tmpfiles-suse.conf | 15 +++++++ 7 files changed, 139 insertions(+), 86 deletions(-) delete mode 100644 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch delete mode 100644 0001-SUSE-policy-do-not-clean-tmp-by-default.patch create mode 100644 tmpfiles-suse.conf diff --git a/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch b/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch deleted file mode 100644 index 66eeece9..00000000 --- a/0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ca2788b478d763e49d2463378272d9fef2ef1bf3 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Mon, 9 May 2016 16:10:21 +0200 -Subject: [PATCH 1/1] Fix /run/lock group to follow openSUSE policy - -This is a partial import of commit -88013cabb939e4bd7347ce324c9eb9c1a45582de part of SUSE/v210 branch. - -However /var/lock/{subsys,lockdev} are left alone and will be created -because: - -- a bug was opened requesting /var/lock/subsys, see commit -0671c57670fc09e0cb970d081a1b523ea9c62b5b. - -- creating /var/lock/lockdev shouldn't hurt. - -[fixes: bnc#733523] ---- - tmpfiles.d/legacy.conf | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf -index 62e2ae0986..415918f407 100644 ---- a/tmpfiles.d/legacy.conf -+++ b/tmpfiles.d/legacy.conf -@@ -10,7 +10,8 @@ - # These files are considered legacy and are unnecessary on legacy-free - # systems. - --d /run/lock 0755 root root - -+# On openSUSE, /run/lock is owned by the 'lock' group. -+d /run/lock 0775 root lock - - L /var/lock - - - - ../run/lock - - # /run/lock/subsys is used for serializing SysV service execution, and --- -2.16.4 - diff --git a/0001-SUSE-policy-do-not-clean-tmp-by-default.patch b/0001-SUSE-policy-do-not-clean-tmp-by-default.patch deleted file mode 100644 index 6f37b2d6..00000000 --- a/0001-SUSE-policy-do-not-clean-tmp-by-default.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b66a7b4b5aa25a1ffb4b76fe9545046dabd92c03 Mon Sep 17 00:00:00 2001 -From: Reinhard Max -Date: Fri, 19 Apr 2013 16:56:26 +0200 -Subject: [PATCH 1/1] SUSE policy: do not clean /tmp by default. - -Fix regression in the default for tmp auto-deletion (FATE#314974). ---- - tmpfiles.d/tmp.conf | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf -index fe5225d751..dedc7569e1 100644 ---- a/tmpfiles.d/tmp.conf -+++ b/tmpfiles.d/tmp.conf -@@ -8,5 +8,6 @@ - # See tmpfiles.d(5) for details - - # Clear tmp directories separately, to make them easier to override --q /tmp 1777 root root 10d --q /var/tmp 1777 root root 30d -+# SUSE policy: we don't clean those directories -+q /tmp 1777 root root - -+q /var/tmp 1777 root root - --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index ad86ea9d..2f5136ec 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Apr 27 15:45:50 UTC 2020 - Franck Bui + +- Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good + + Since boo#1160890 has been fixed since a couple of months now. + +------------------------------------------------------------------- +Mon Apr 27 14:50:36 UTC 2020 - Franck Bui + +- Drop content of /usr/share/factory/ (bsc#1170146) + + systemd ships several files in /usr/share/factory/etc that are + copied to /etc in case those files are missing there. Unfortunately + the content does not match the openSUSE defaults. + +------------------------------------------------------------------- +Mon Apr 27 14:33:35 UTC 2020 - Franck Bui + +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) + + They are problematic because some of them conflict with SUSE + defaults. Therefore it seems better to let the revelant packages + owning these paths to provide their own definitions instead. + + Meanwhile we still keep the homeless definitions in suse.conf until + a better place is found for them. + + Drop 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch + Drop 0001-SUSE-policy-do-not-clean-tmp-by-default.patch + ------------------------------------------------------------------- Fri Apr 24 07:38:48 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c34ec20d..5644b36f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -151,6 +151,7 @@ Source2: systemd-user Source3: systemd-sysv-convert Source4: systemd-sysv-install %endif +Source5: tmpfiles-suse.conf Source6: baselibs.conf Source11: after-local.service Source14: kbd-model-map.legacy @@ -165,9 +166,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch -Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch -Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -582,12 +581,6 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: These obsolete symlinks are still needed by YaST so let's -# keep them until boo#1160890 is fixed. -mkdir -p %{buildroot}/sbin -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -741,6 +734,35 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset +# The tmpfiles dealing with the generic paths is pretty messy +# currently because: +# +# 1. filesystem package wants to define the generic paths and some of +# them conflict with the definition given by systemd in var.conf, +# see bsc#1078466. +# +# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros +# (fate#314974) which conflict with tmp.conf. +# +# 3. There're also legacy.conf which defines various legacy paths +# which either don't match the SUSE defaults or don't look needed +# at all. +# +# 4. And to finish, we don't want the part in etc.conf which imports +# default upstream files in empty /etc, see below. +# +# To keep things simple, we remove all these tmpfiles config files but +# still keep the remaining paths that still don't have a better home +# in suse.conf. +rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf +install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf + +# The content of the files shipped by systemd doesn't match the +# defaults used by SUSE. Don't ship those files but leave the decision +# to use the mechanism to the individual packages that actually +# consume those configs (like glibc or pam), see bsc#1170146. +rm -fr %{buildroot}%{_datadir}/factory/* + # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored # though, i.e. not overwritten; needed as long as YaST uses console @@ -1353,8 +1375,6 @@ fi %files -n udev%{?mini} %defattr(-,root,root) -/sbin/udevd -/sbin/udevadm %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ diff --git a/systemd.changes b/systemd.changes index ad86ea9d..2f5136ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Apr 27 15:45:50 UTC 2020 - Franck Bui + +- Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good + + Since boo#1160890 has been fixed since a couple of months now. + +------------------------------------------------------------------- +Mon Apr 27 14:50:36 UTC 2020 - Franck Bui + +- Drop content of /usr/share/factory/ (bsc#1170146) + + systemd ships several files in /usr/share/factory/etc that are + copied to /etc in case those files are missing there. Unfortunately + the content does not match the openSUSE defaults. + +------------------------------------------------------------------- +Mon Apr 27 14:33:35 UTC 2020 - Franck Bui + +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) + + They are problematic because some of them conflict with SUSE + defaults. Therefore it seems better to let the revelant packages + owning these paths to provide their own definitions instead. + + Meanwhile we still keep the homeless definitions in suse.conf until + a better place is found for them. + + Drop 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch + Drop 0001-SUSE-policy-do-not-clean-tmp-by-default.patch + ------------------------------------------------------------------- Fri Apr 24 07:38:48 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 917aee96..efefdb63 100644 --- a/systemd.spec +++ b/systemd.spec @@ -149,6 +149,7 @@ Source2: systemd-user Source3: systemd-sysv-convert Source4: systemd-sysv-install %endif +Source5: tmpfiles-suse.conf Source6: baselibs.conf Source11: after-local.service Source14: kbd-model-map.legacy @@ -163,9 +164,7 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch -Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch -Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -580,12 +579,6 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif -# FIXME: These obsolete symlinks are still needed by YaST so let's -# keep them until boo#1160890 is fixed. -mkdir -p %{buildroot}/sbin -ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm -ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd - %if %{with sysvcompat} mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -739,6 +732,35 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset +# The tmpfiles dealing with the generic paths is pretty messy +# currently because: +# +# 1. filesystem package wants to define the generic paths and some of +# them conflict with the definition given by systemd in var.conf, +# see bsc#1078466. +# +# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros +# (fate#314974) which conflict with tmp.conf. +# +# 3. There're also legacy.conf which defines various legacy paths +# which either don't match the SUSE defaults or don't look needed +# at all. +# +# 4. And to finish, we don't want the part in etc.conf which imports +# default upstream files in empty /etc, see below. +# +# To keep things simple, we remove all these tmpfiles config files but +# still keep the remaining paths that still don't have a better home +# in suse.conf. +rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf +install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf + +# The content of the files shipped by systemd doesn't match the +# defaults used by SUSE. Don't ship those files but leave the decision +# to use the mechanism to the individual packages that actually +# consume those configs (like glibc or pam), see bsc#1170146. +rm -fr %{buildroot}%{_datadir}/factory/* + # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored # though, i.e. not overwritten; needed as long as YaST uses console @@ -1351,8 +1373,6 @@ fi %files -n udev%{?mini} %defattr(-,root,root) -/sbin/udevd -/sbin/udevadm %{_bindir}/udevadm %{_bindir}/systemd-hwdb %dir %{_prefix}/lib/udev/ diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf new file mode 100644 index 00000000..885e852c --- /dev/null +++ b/tmpfiles-suse.conf @@ -0,0 +1,15 @@ +# +# See tmpfiles.d(5) for details +# +# Type Path Mode User Group Age Argument + +# Legacy symlink. Maybe should be owned by util-linux ? +L+ /etc/mtab - - - - ../proc/self/mounts + +# FIXME: Might be moved to lockded. +d /run/lock 0775 root lock - + +# FIXME: Should these one be moved to shadow ? +f /var/log/wtmp 0664 root utmp - +f /var/log/btmp 0660 root utmp - +f /var/log/lastlog 0664 root utmp - From 9b9ab0e37f168af406ee8396565f87d178fd23886b79967549ffe900c78941ef Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 28 May 2020 10:13:14 +0000 Subject: [PATCH 480/991] Accepting request 809896 from home:fbui:systemd:openSUSE-Factory - Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) e9e8907b06 watchdog: reduce watchdog pings in timeout interval 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) - Disable bump of /proc/sys/fs/nr-open Hopefully a _temporary_ workaround until bsc#1165351 is fixed otherwise user instances crashes the system is using NIS (and the nscd cache is empty). OBS-URL: https://build.opensuse.org/request/show/809896 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1100 --- systemd-mini.changes | 19 +++++++++++++++++++ systemd-mini.spec | 3 ++- systemd-v245+suse.117.g08cd65ac38.tar.xz | 3 --- systemd-v245+suse.122.ga6d31d1a02.tar.xz | 3 +++ systemd.changes | 19 +++++++++++++++++++ systemd.spec | 3 ++- 6 files changed, 45 insertions(+), 5 deletions(-) delete mode 100644 systemd-v245+suse.117.g08cd65ac38.tar.xz create mode 100644 systemd-v245+suse.122.ga6d31d1a02.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 2f5136ec..c85941eb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 28 09:30:33 UTC 2020 - Franck Bui + +- Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 + + bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) + e9e8907b06 watchdog: reduce watchdog pings in timeout interval + 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) + 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) + +------------------------------------------------------------------- +Mon May 25 08:47:22 UTC 2020 - Franck Bui + +- Disable bump of /proc/sys/fs/nr-open + + Hopefully a _temporary_ workaround until bsc#1165351 is fixed + otherwise user instances crashes the system is using NIS (and the + nscd cache is empty). + ------------------------------------------------------------------- Mon Apr 27 15:45:50 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5644b36f..5f5aca7f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.117.g08cd65ac38 +%define suse_version +suse.122.ga6d31d1a02 %bcond_with gnuefi %if 0%{?bootstrap} @@ -506,6 +506,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ + -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ -Dselinux=auto \ diff --git a/systemd-v245+suse.117.g08cd65ac38.tar.xz b/systemd-v245+suse.117.g08cd65ac38.tar.xz deleted file mode 100644 index 0eaa637a..00000000 --- a/systemd-v245+suse.117.g08cd65ac38.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c015d9db3328696f69f9d051f71b859b84963dd7090eddafb209728224afd426 -size 6171008 diff --git a/systemd-v245+suse.122.ga6d31d1a02.tar.xz b/systemd-v245+suse.122.ga6d31d1a02.tar.xz new file mode 100644 index 00000000..879f9814 --- /dev/null +++ b/systemd-v245+suse.122.ga6d31d1a02.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edf10c3da62bb0cd6dcff78c0e836f79cb0ed65fb6b9ea5cdbbd12514a702025 +size 6173184 diff --git a/systemd.changes b/systemd.changes index 2f5136ec..c85941eb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 28 09:30:33 UTC 2020 - Franck Bui + +- Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 + + bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) + e9e8907b06 watchdog: reduce watchdog pings in timeout interval + 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) + 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) + +------------------------------------------------------------------- +Mon May 25 08:47:22 UTC 2020 - Franck Bui + +- Disable bump of /proc/sys/fs/nr-open + + Hopefully a _temporary_ workaround until bsc#1165351 is fixed + otherwise user instances crashes the system is using NIS (and the + nscd cache is empty). + ------------------------------------------------------------------- Mon Apr 27 15:45:50 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index efefdb63..0e2921e5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.117.g08cd65ac38 +%define suse_version +suse.122.ga6d31d1a02 %bcond_with gnuefi %if 0%{?bootstrap} @@ -504,6 +504,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ + -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ -Dselinux=auto \ From 397c17e983607b2b7b42d42b7204c4635b50fbdb66069fdb2a592c15088c8a01 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 11 Jun 2020 08:53:53 +0000 Subject: [PATCH 481/991] Accepting request 813288 from home:fbui:systemd:openSUSE-Factory - Fix build when resolved is disabled While at it sort the build conditionals. OBS-URL: https://build.opensuse.org/request/show/813288 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1101 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 41 ++++++++++++++++++++++------------------- systemd.changes | 7 +++++++ systemd.spec | 41 ++++++++++++++++++++++------------------- 4 files changed, 58 insertions(+), 38 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index c85941eb..a0694e21 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri May 29 14:32:41 UTC 2020 - Franck Bui + +- Fix build when resolved is disabled + + While at it sort the build conditionals. + ------------------------------------------------------------------- Thu May 28 09:30:33 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5f5aca7f..71c1af45 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -31,25 +31,25 @@ %bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump -%bcond_with sysvcompat -%bcond_with machined %bcond_with importd +%bcond_with journal_remote +%bcond_with machined %bcond_with networkd %bcond_with portabled %bcond_with resolved -%bcond_with journal_remote +%bcond_with sysvcompat %else %bcond_without coredump -%bcond_without sysvcompat -%bcond_without machined -%bcond_without importd -%bcond_without networkd -%bcond_without portabled -%bcond_without resolved -%bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif +%bcond_without importd +%bcond_without journal_remote +%bcond_without machined +%bcond_without networkd +%bcond_without portabled +%bcond_without resolved +%bcond_without sysvcompat %endif %bcond_with parentpathid @@ -861,15 +861,18 @@ fi # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Migrate i18n settings that could be previously configured in -# /etc/sysconfig but now is defined only in the systemd official -# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done -# only once usually during package updates but might be also needed -# during installations when we upgrade from a distro using SysV init. -test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { +# Migrate old i18n settings previously configured in /etc/sysconfig to +# the new locations used by systemd (/etc/locale.conf, +# /etc/vconsole.conf, ...). Recent version of systemd parse the new +# locations only. +# +# This is needed both at package updates and package installations +# because we might be upgrading from a system which was running SysV +# init (systemd package is being installed). +if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -} +fi %postun %systemd_postun @@ -1569,8 +1572,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl @@ -1580,6 +1581,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_prefix}/lib/systemd/resolv.conf +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %endif diff --git a/systemd.changes b/systemd.changes index c85941eb..a0694e21 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri May 29 14:32:41 UTC 2020 - Franck Bui + +- Fix build when resolved is disabled + + While at it sort the build conditionals. + ------------------------------------------------------------------- Thu May 28 09:30:33 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0e2921e5..3f937fcf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -29,25 +29,25 @@ %bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump -%bcond_with sysvcompat -%bcond_with machined %bcond_with importd +%bcond_with journal_remote +%bcond_with machined %bcond_with networkd %bcond_with portabled %bcond_with resolved -%bcond_with journal_remote +%bcond_with sysvcompat %else %bcond_without coredump -%bcond_without sysvcompat -%bcond_without machined -%bcond_without importd -%bcond_without networkd -%bcond_without portabled -%bcond_without resolved -%bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif +%bcond_without importd +%bcond_without journal_remote +%bcond_without machined +%bcond_without networkd +%bcond_without portabled +%bcond_without resolved +%bcond_without sysvcompat %endif %bcond_with parentpathid @@ -859,15 +859,18 @@ fi # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Migrate i18n settings that could be previously configured in -# /etc/sysconfig but now is defined only in the systemd official -# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done -# only once usually during package updates but might be also needed -# during installations when we upgrade from a distro using SysV init. -test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { +# Migrate old i18n settings previously configured in /etc/sysconfig to +# the new locations used by systemd (/etc/locale.conf, +# /etc/vconsole.conf, ...). Recent version of systemd parse the new +# locations only. +# +# This is needed both at package updates and package installations +# because we might be upgrading from a system which was running SysV +# init (systemd package is being installed). +if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -} +fi %postun %systemd_postun @@ -1567,8 +1570,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl @@ -1578,6 +1579,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_prefix}/lib/systemd/resolv.conf +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %endif From d21471adebd05b69f3177bf2865c012e75f79854aaf9bfa417e3b95e29eb5112 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 11 Jun 2020 12:37:13 +0000 Subject: [PATCH 482/991] Accepting request 809898 from Base:System OBS-URL: https://build.opensuse.org/request/show/809898 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=310 --- systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 19 +++++++++++++++++++ systemd-mini.spec | 3 ++- systemd-rpmlintrc | 1 + systemd-v245+suse.117.g08cd65ac38.tar.xz | 3 --- systemd-v245+suse.122.ga6d31d1a02.tar.xz | 3 +++ systemd.changes | 19 +++++++++++++++++++ systemd.spec | 3 ++- 8 files changed, 47 insertions(+), 5 deletions(-) delete mode 100644 systemd-v245+suse.117.g08cd65ac38.tar.xz create mode 100644 systemd-v245+suse.122.ga6d31d1a02.tar.xz diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index a2cefb37..9bc3777f 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -29,3 +29,4 @@ addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") addFilter(".*shlib-policy-missing-suffix.*") addFilter(".*suse-missing-rclink.*") +addFilter("env-script-interpreter") diff --git a/systemd-mini.changes b/systemd-mini.changes index 2f5136ec..c85941eb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 28 09:30:33 UTC 2020 - Franck Bui + +- Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 + + bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) + e9e8907b06 watchdog: reduce watchdog pings in timeout interval + 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) + 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) + +------------------------------------------------------------------- +Mon May 25 08:47:22 UTC 2020 - Franck Bui + +- Disable bump of /proc/sys/fs/nr-open + + Hopefully a _temporary_ workaround until bsc#1165351 is fixed + otherwise user instances crashes the system is using NIS (and the + nscd cache is empty). + ------------------------------------------------------------------- Mon Apr 27 15:45:50 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5644b36f..5f5aca7f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.117.g08cd65ac38 +%define suse_version +suse.122.ga6d31d1a02 %bcond_with gnuefi %if 0%{?bootstrap} @@ -506,6 +506,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ + -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ -Dselinux=auto \ diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index a2cefb37..9bc3777f 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -29,3 +29,4 @@ addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") addFilter(".*shlib-policy-missing-suffix.*") addFilter(".*suse-missing-rclink.*") +addFilter("env-script-interpreter") diff --git a/systemd-v245+suse.117.g08cd65ac38.tar.xz b/systemd-v245+suse.117.g08cd65ac38.tar.xz deleted file mode 100644 index 0eaa637a..00000000 --- a/systemd-v245+suse.117.g08cd65ac38.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c015d9db3328696f69f9d051f71b859b84963dd7090eddafb209728224afd426 -size 6171008 diff --git a/systemd-v245+suse.122.ga6d31d1a02.tar.xz b/systemd-v245+suse.122.ga6d31d1a02.tar.xz new file mode 100644 index 00000000..879f9814 --- /dev/null +++ b/systemd-v245+suse.122.ga6d31d1a02.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edf10c3da62bb0cd6dcff78c0e836f79cb0ed65fb6b9ea5cdbbd12514a702025 +size 6173184 diff --git a/systemd.changes b/systemd.changes index 2f5136ec..c85941eb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 28 09:30:33 UTC 2020 - Franck Bui + +- Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 + + bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) + e9e8907b06 watchdog: reduce watchdog pings in timeout interval + 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) + 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) + +------------------------------------------------------------------- +Mon May 25 08:47:22 UTC 2020 - Franck Bui + +- Disable bump of /proc/sys/fs/nr-open + + Hopefully a _temporary_ workaround until bsc#1165351 is fixed + otherwise user instances crashes the system is using NIS (and the + nscd cache is empty). + ------------------------------------------------------------------- Mon Apr 27 15:45:50 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index efefdb63..0e2921e5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.117.g08cd65ac38 +%define suse_version +suse.122.ga6d31d1a02 %bcond_with gnuefi %if 0%{?bootstrap} @@ -504,6 +504,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Ddefault-kill-user-processes=false \ -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ + -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ -Dselinux=auto \ From cf0b23a0c205896188824dba8f2941a489c64a5bf58406d5d11bce7cd8da528b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Jun 2020 09:45:22 +0000 Subject: [PATCH 483/991] Accepting request 814110 from home:mgerstner:branches:Base:System - no longer explicitly package setgid directory /var/log/journal (bsc#1172550). The bit will be set during %post by way of the systemd-tmpfiles invocation. This avoids a conflict with the permissions package and an rpmlint error popping up. OBS-URL: https://build.opensuse.org/request/show/814110 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1102 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 3 ++- systemd.changes | 8 ++++++++ systemd.spec | 3 ++- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a0694e21..aa841df0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com + +- no longer explicitly package setgid directory /var/log/journal (bsc#1172550). + The bit will be set during %post by way of the systemd-tmpfiles invocation. + This avoids a conflict with the permissions package and an rpmlint error + popping up. + ------------------------------------------------------------------- Fri May 29 14:32:41 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 71c1af45..b9307498 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1502,7 +1502,8 @@ fi %files logger %defattr(-,root,root) -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +# package without explicit setgid bit / attrs (see bsc#1172550) +%dir %{_localstatedir}/log/journal/ %doc %{_localstatedir}/log/README %files -n nss-myhostname diff --git a/systemd.changes b/systemd.changes index a0694e21..aa841df0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com + +- no longer explicitly package setgid directory /var/log/journal (bsc#1172550). + The bit will be set during %post by way of the systemd-tmpfiles invocation. + This avoids a conflict with the permissions package and an rpmlint error + popping up. + ------------------------------------------------------------------- Fri May 29 14:32:41 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3f937fcf..3af23b69 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1500,7 +1500,8 @@ fi %files logger %defattr(-,root,root) -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +# package without explicit setgid bit / attrs (see bsc#1172550) +%dir %{_localstatedir}/log/journal/ %doc %{_localstatedir}/log/README %files -n nss-myhostname From bcaf132ae9010175a91cf4bb068b777846bbc06bf77f05276383c014ca651a4e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 17 Jun 2020 20:38:48 +0000 Subject: [PATCH 484/991] Accepting request 815609 from home:fbui:systemd:openSUSE-Factory - Don't restart udevd sockets during package update Otherwise we might miss kernel events as the daemon need to be stopped as well. - Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 OBS-URL: https://build.opensuse.org/request/show/815609 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1103 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 16 +++++++--------- systemd-v245+suse.122.ga6d31d1a02.tar.xz | 3 --- systemd-v245+suse.250.gb12cd8b89b.tar.xz | 3 +++ systemd.changes | 16 ++++++++++++++++ systemd.spec | 16 +++++++--------- 6 files changed, 49 insertions(+), 21 deletions(-) delete mode 100644 systemd-v245+suse.122.ga6d31d1a02.tar.xz create mode 100644 systemd-v245+suse.250.gb12cd8b89b.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index aa841df0..d88a1384 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Jun 17 18:54:11 UTC 2020 - Franck Bui + +- Don't restart udevd sockets during package update + + Otherwise we might miss kernel events as the daemon need to be + stopped as well. + +------------------------------------------------------------------- +Wed Jun 17 09:03:40 UTC 2020 - Franck Bui + +- Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 + ------------------------------------------------------------------- Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index b9307498..6f87f766 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.122.ga6d31d1a02 +%define suse_version +suse.250.gb12cd8b89b %bcond_with gnuefi %if 0%{?bootstrap} @@ -863,7 +863,7 @@ fi # Migrate old i18n settings previously configured in /etc/sysconfig to # the new locations used by systemd (/etc/locale.conf, -# /etc/vconsole.conf, ...). Recent version of systemd parse the new +# /etc/vconsole.conf, ...). Recent versions of systemd parse the new # locations only. # # This is needed both at package updates and package installations @@ -903,13 +903,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update: the restart of the socket units will probably -# fail as the daemon is most likely running. It's not really an issue -# since we restart systemd-udevd right after and that will pull in the -# socket units again. We should be informed at that time if something -# really went wrong the first time we started the socket units. -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +# Restarting udevd sockets means also stopping the daemon. But we +# don't want the sockets and the daemon to be inactive at the same +# time because we might loose new events sent by the kernel during the +# package update otherwise. Hence we accept the fact that the socket +# properties might not be updated. They are unlikely changed anyway. %systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} diff --git a/systemd-v245+suse.122.ga6d31d1a02.tar.xz b/systemd-v245+suse.122.ga6d31d1a02.tar.xz deleted file mode 100644 index 879f9814..00000000 --- a/systemd-v245+suse.122.ga6d31d1a02.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:edf10c3da62bb0cd6dcff78c0e836f79cb0ed65fb6b9ea5cdbbd12514a702025 -size 6173184 diff --git a/systemd-v245+suse.250.gb12cd8b89b.tar.xz b/systemd-v245+suse.250.gb12cd8b89b.tar.xz new file mode 100644 index 00000000..ddca6617 --- /dev/null +++ b/systemd-v245+suse.250.gb12cd8b89b.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9eb8a3563fad5b1e983b9fcc6c10851759580988417c84b16afed8ed7145986 +size 6175724 diff --git a/systemd.changes b/systemd.changes index aa841df0..d88a1384 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Jun 17 18:54:11 UTC 2020 - Franck Bui + +- Don't restart udevd sockets during package update + + Otherwise we might miss kernel events as the daemon need to be + stopped as well. + +------------------------------------------------------------------- +Wed Jun 17 09:03:40 UTC 2020 - Franck Bui + +- Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 + ------------------------------------------------------------------- Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com diff --git a/systemd.spec b/systemd.spec index 3af23b69..2a42825f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.122.ga6d31d1a02 +%define suse_version +suse.250.gb12cd8b89b %bcond_with gnuefi %if 0%{?bootstrap} @@ -861,7 +861,7 @@ fi # Migrate old i18n settings previously configured in /etc/sysconfig to # the new locations used by systemd (/etc/locale.conf, -# /etc/vconsole.conf, ...). Recent version of systemd parse the new +# /etc/vconsole.conf, ...). Recent versions of systemd parse the new # locations only. # # This is needed both at package updates and package installations @@ -901,13 +901,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update: the restart of the socket units will probably -# fail as the daemon is most likely running. It's not really an issue -# since we restart systemd-udevd right after and that will pull in the -# socket units again. We should be informed at that time if something -# really went wrong the first time we started the socket units. -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +# Restarting udevd sockets means also stopping the daemon. But we +# don't want the sockets and the daemon to be inactive at the same +# time because we might loose new events sent by the kernel during the +# package update otherwise. Hence we accept the fact that the socket +# properties might not be updated. They are unlikely changed anyway. %systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} From 298b94d60c9b57612f83f0a2416ece9377a0053b8825ebfa4847967fad3a2bef Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 19 Jun 2020 11:23:11 +0000 Subject: [PATCH 485/991] Accepting request 815928 from home:fbui:systemd:openSUSE-Factory - Include in the package version the stable minor (if any). Also update the version shown by various command such as 'systemctl --version' to show the stable number. OBS-URL: https://build.opensuse.org/request/show/815928 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1104 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 6 +++--- systemd-v245+suse.250.gb12cd8b89b.tar.xz | 3 --- systemd-v245.6+suse.48.gb12cd8b89b.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 6 +++--- 6 files changed, 25 insertions(+), 9 deletions(-) delete mode 100644 systemd-v245+suse.250.gb12cd8b89b.tar.xz create mode 100644 systemd-v245.6+suse.48.gb12cd8b89b.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index d88a1384..ca453cf5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jun 19 09:59:29 UTC 2020 - Franck Bui + +- Include in the package version the stable minor (if any). + + Also update the version shown by various command such as 'systemctl + --version' to show the stable number. + ------------------------------------------------------------------- Wed Jun 17 18:54:11 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6f87f766..09fa9f68 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.250.gb12cd8b89b +%define suse_version +suse.48.gb12cd8b89b %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245 +Version: 245.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -492,7 +492,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ - -Dversion-tag=%{suse_version} \ + -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ diff --git a/systemd-v245+suse.250.gb12cd8b89b.tar.xz b/systemd-v245+suse.250.gb12cd8b89b.tar.xz deleted file mode 100644 index ddca6617..00000000 --- a/systemd-v245+suse.250.gb12cd8b89b.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9eb8a3563fad5b1e983b9fcc6c10851759580988417c84b16afed8ed7145986 -size 6175724 diff --git a/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz b/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz new file mode 100644 index 00000000..5f55a69c --- /dev/null +++ b/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc34032d49edabf9df4d2342063084b79040abbebcb56fc417449d0e08f2815e +size 6175556 diff --git a/systemd.changes b/systemd.changes index d88a1384..ca453cf5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jun 19 09:59:29 UTC 2020 - Franck Bui + +- Include in the package version the stable minor (if any). + + Also update the version shown by various command such as 'systemctl + --version' to show the stable number. + ------------------------------------------------------------------- Wed Jun 17 18:54:11 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2a42825f..2fce83cf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.250.gb12cd8b89b +%define suse_version +suse.48.gb12cd8b89b %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245 +Version: 245.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -490,7 +490,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ - -Dversion-tag=%{suse_version} \ + -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ From a0237e6d77996fddde255009ba9e9d59945dbb5f134c4f69755d0791a894ed12 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 23 Jun 2020 14:19:06 +0000 Subject: [PATCH 486/991] Accepting request 816596 from home:fbui:systemd:openSUSE-Factory - Fix inconsistent file modes for some ghost files (bsc#1173227) Ghost files are assumed by rpm to have mode 000 by default which is not consistent with file permissions set at runtime. Also /var/lib/systemd/random-seed was tracked wrongly as a directory. Also don't track (ghost) /etc/systemd/system/runlevel*.target aliases since we're not supposed to track units or aliases user might define/override. OBS-URL: https://build.opensuse.org/request/show/816596 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1105 --- systemd-mini.changes | 15 +++++++++++++++ systemd-mini.spec | 21 ++++++++++----------- systemd.changes | 15 +++++++++++++++ systemd.spec | 21 ++++++++++----------- 4 files changed, 50 insertions(+), 22 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index ca453cf5..23628635 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Jun 23 13:29:18 UTC 2020 - Franck Bui + +- Fix inconsistent file modes for some ghost files (bsc#1173227) + + Ghost files are assumed by rpm to have mode 000 by default which is + not consistent with file permissions set at runtime. + + Also /var/lib/systemd/random-seed was tracked wrongly as a + directory. + + Also don't track (ghost) /etc/systemd/system/runlevel*.target + aliases since we're not supposed to track units or aliases user + might define/override. + ------------------------------------------------------------------- Fri Jun 19 09:59:29 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 09fa9f68..bf483c15 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -672,10 +672,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -# Create ghost databases -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin - # Make sure the NTP units dir exists mkdir -p %{buildroot}%{_ntpunitsdir} @@ -724,8 +720,15 @@ EOF install -m 644 %{S:11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ +# ghost directories with default permissions. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# ghost files with default permisssions. +touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +touch %{buildroot}%{_sysconfdir}/vconsole.conf +touch %{buildroot}%{_sysconfdir}/locale.conf +touch %{buildroot}%{_sysconfdir}/machine-info +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database %fdupes -s %{buildroot}%{_mandir} @@ -1242,12 +1245,8 @@ fi %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-id %ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id %{_datadir}/systemd %{_datadir}/factory @@ -1319,7 +1318,7 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions diff --git a/systemd.changes b/systemd.changes index ca453cf5..23628635 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Jun 23 13:29:18 UTC 2020 - Franck Bui + +- Fix inconsistent file modes for some ghost files (bsc#1173227) + + Ghost files are assumed by rpm to have mode 000 by default which is + not consistent with file permissions set at runtime. + + Also /var/lib/systemd/random-seed was tracked wrongly as a + directory. + + Also don't track (ghost) /etc/systemd/system/runlevel*.target + aliases since we're not supposed to track units or aliases user + might define/override. + ------------------------------------------------------------------- Fri Jun 19 09:59:29 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2fce83cf..f9f3dc79 100644 --- a/systemd.spec +++ b/systemd.spec @@ -670,10 +670,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -# Create ghost databases -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin - # Make sure the NTP units dir exists mkdir -p %{buildroot}%{_ntpunitsdir} @@ -722,8 +718,15 @@ EOF install -m 644 %{S:11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ +# ghost directories with default permissions. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# ghost files with default permisssions. +touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +touch %{buildroot}%{_sysconfdir}/vconsole.conf +touch %{buildroot}%{_sysconfdir}/locale.conf +touch %{buildroot}%{_sysconfdir}/machine-info +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database %fdupes -s %{buildroot}%{_mandir} @@ -1240,12 +1243,8 @@ fi %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-id %ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id %{_datadir}/systemd %{_datadir}/factory @@ -1317,7 +1316,7 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions From 006b3d0150b6207838f1a052a7872f0b7165d231b3ebb4079e341a3c21894611 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 24 Jun 2020 06:50:07 +0000 Subject: [PATCH 487/991] Accepting request 816786 from home:fbui:systemd:openSUSE-Factory - migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) The marker is used to make sure the script is run only once. Instead of storing it in /usr, use /var which is more appropriate for such file. Also make it owned by systemd package. OBS-URL: https://build.opensuse.org/request/show/816786 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1106 --- scripts-systemd-migrate-sysconfig-i18n.sh | 18 ++++++++++++++---- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 9 +++++---- systemd.changes | 11 +++++++++++ systemd.spec | 9 +++++---- 5 files changed, 46 insertions(+), 12 deletions(-) diff --git a/scripts-systemd-migrate-sysconfig-i18n.sh b/scripts-systemd-migrate-sysconfig-i18n.sh index 02646759..432e9e74 100644 --- a/scripts-systemd-migrate-sysconfig-i18n.sh +++ b/scripts-systemd-migrate-sysconfig-i18n.sh @@ -128,8 +128,18 @@ migrate_language () { fi } -migrate_locale; rv1=$? -migrate_keyboard; rv2=$? -migrate_language; rv3=$? -test $((rv1 + rv2 + rv3)) -eq 0 +# The marker could have been incorrectly put in /usr/lib. In this case +# move it to its new place. +mv /usr/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done \ + /var/lib/systemd/i18n-migrated &>/dev/null + +if ! test -e /var/lib/systemd/i18n-migrated; then + declare -i rv=0 + + migrate_locale; rv+=$? + migrate_keyboard; rv+=$? + migrate_language; rv+=$? + + test $rv -eq 0 && touch /var/lib/systemd/i18n-migrated +fi diff --git a/systemd-mini.changes b/systemd-mini.changes index 23628635..0fd3cfe4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jun 24 06:33:33 UTC 2020 - Franck Bui + +- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) + + The marker is used to make sure the script is run only once. Instead + of storing it in /usr, use /var which is more appropriate for such + file. + + Also make it owned by systemd package. + ------------------------------------------------------------------- Tue Jun 23 13:29:18 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index bf483c15..3506747e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -729,6 +729,7 @@ touch %{buildroot}%{_sysconfdir}/vconsole.conf touch %{buildroot}%{_sysconfdir}/locale.conf touch %{buildroot}%{_sysconfdir}/machine-info touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -872,10 +873,9 @@ fi # This is needed both at package updates and package installations # because we might be upgrading from a system which was running SysV # init (systemd package is being installed). -if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -fi +# +# It's run only once. +%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun %systemd_postun @@ -1318,6 +1318,7 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/i18n-migrated %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion diff --git a/systemd.changes b/systemd.changes index 23628635..0fd3cfe4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jun 24 06:33:33 UTC 2020 - Franck Bui + +- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) + + The marker is used to make sure the script is run only once. Instead + of storing it in /usr, use /var which is more appropriate for such + file. + + Also make it owned by systemd package. + ------------------------------------------------------------------- Tue Jun 23 13:29:18 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f9f3dc79..c96ca5e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -727,6 +727,7 @@ touch %{buildroot}%{_sysconfdir}/vconsole.conf touch %{buildroot}%{_sysconfdir}/locale.conf touch %{buildroot}%{_sysconfdir}/machine-info touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -870,10 +871,9 @@ fi # This is needed both at package updates and package installations # because we might be upgrading from a system which was running SysV # init (systemd package is being installed). -if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -fi +# +# It's run only once. +%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun %systemd_postun @@ -1316,6 +1316,7 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/i18n-migrated %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion From 9ff341ce06ba4da120a9bff5e1d8bfe8ddcfe758851a45e56955e95cf8cf10a5 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 24 Jun 2020 13:47:45 +0000 Subject: [PATCH 488/991] Accepting request 815935 from Base:System OBS-URL: https://build.opensuse.org/request/show/815935 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=311 --- systemd-mini.changes | 39 ++++++++++++++ systemd-mini.spec | 62 ++++++++++++----------- systemd-v245+suse.122.ga6d31d1a02.tar.xz | 3 -- systemd-v245.6+suse.48.gb12cd8b89b.tar.xz | 3 ++ systemd.changes | 39 ++++++++++++++ systemd.spec | 62 ++++++++++++----------- 6 files changed, 145 insertions(+), 63 deletions(-) delete mode 100644 systemd-v245+suse.122.ga6d31d1a02.tar.xz create mode 100644 systemd-v245.6+suse.48.gb12cd8b89b.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index c85941eb..ca453cf5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Jun 19 09:59:29 UTC 2020 - Franck Bui + +- Include in the package version the stable minor (if any). + + Also update the version shown by various command such as 'systemctl + --version' to show the stable number. + +------------------------------------------------------------------- +Wed Jun 17 18:54:11 UTC 2020 - Franck Bui + +- Don't restart udevd sockets during package update + + Otherwise we might miss kernel events as the daemon need to be + stopped as well. + +------------------------------------------------------------------- +Wed Jun 17 09:03:40 UTC 2020 - Franck Bui + +- Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 + +------------------------------------------------------------------- +Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com + +- no longer explicitly package setgid directory /var/log/journal (bsc#1172550). + The bit will be set during %post by way of the systemd-tmpfiles invocation. + This avoids a conflict with the permissions package and an rpmlint error + popping up. + +------------------------------------------------------------------- +Fri May 29 14:32:41 UTC 2020 - Franck Bui + +- Fix build when resolved is disabled + + While at it sort the build conditionals. + ------------------------------------------------------------------- Thu May 28 09:30:33 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5f5aca7f..09fa9f68 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,36 +26,36 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.122.ga6d31d1a02 +%define suse_version +suse.48.gb12cd8b89b %bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump -%bcond_with sysvcompat -%bcond_with machined %bcond_with importd +%bcond_with journal_remote +%bcond_with machined %bcond_with networkd %bcond_with portabled %bcond_with resolved -%bcond_with journal_remote +%bcond_with sysvcompat %else %bcond_without coredump -%bcond_without sysvcompat -%bcond_without machined -%bcond_without importd -%bcond_without networkd -%bcond_without portabled -%bcond_without resolved -%bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif +%bcond_without importd +%bcond_without journal_remote +%bcond_without machined +%bcond_without networkd +%bcond_without portabled +%bcond_without resolved +%bcond_without sysvcompat %endif %bcond_with parentpathid Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245 +Version: 245.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -492,7 +492,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ - -Dversion-tag=%{suse_version} \ + -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ @@ -861,15 +861,18 @@ fi # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Migrate i18n settings that could be previously configured in -# /etc/sysconfig but now is defined only in the systemd official -# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done -# only once usually during package updates but might be also needed -# during installations when we upgrade from a distro using SysV init. -test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { +# Migrate old i18n settings previously configured in /etc/sysconfig to +# the new locations used by systemd (/etc/locale.conf, +# /etc/vconsole.conf, ...). Recent versions of systemd parse the new +# locations only. +# +# This is needed both at package updates and package installations +# because we might be upgrading from a system which was running SysV +# init (systemd package is being installed). +if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -} +fi %postun %systemd_postun @@ -900,13 +903,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update: the restart of the socket units will probably -# fail as the daemon is most likely running. It's not really an issue -# since we restart systemd-udevd right after and that will pull in the -# socket units again. We should be informed at that time if something -# really went wrong the first time we started the socket units. -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +# Restarting udevd sockets means also stopping the daemon. But we +# don't want the sockets and the daemon to be inactive at the same +# time because we might loose new events sent by the kernel during the +# package update otherwise. Hence we accept the fact that the socket +# properties might not be updated. They are unlikely changed anyway. %systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} @@ -1499,7 +1500,8 @@ fi %files logger %defattr(-,root,root) -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +# package without explicit setgid bit / attrs (see bsc#1172550) +%dir %{_localstatedir}/log/journal/ %doc %{_localstatedir}/log/README %files -n nss-myhostname @@ -1569,8 +1571,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl @@ -1580,6 +1580,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_prefix}/lib/systemd/resolv.conf +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %endif diff --git a/systemd-v245+suse.122.ga6d31d1a02.tar.xz b/systemd-v245+suse.122.ga6d31d1a02.tar.xz deleted file mode 100644 index 879f9814..00000000 --- a/systemd-v245+suse.122.ga6d31d1a02.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:edf10c3da62bb0cd6dcff78c0e836f79cb0ed65fb6b9ea5cdbbd12514a702025 -size 6173184 diff --git a/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz b/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz new file mode 100644 index 00000000..5f55a69c --- /dev/null +++ b/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc34032d49edabf9df4d2342063084b79040abbebcb56fc417449d0e08f2815e +size 6175556 diff --git a/systemd.changes b/systemd.changes index c85941eb..ca453cf5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Jun 19 09:59:29 UTC 2020 - Franck Bui + +- Include in the package version the stable minor (if any). + + Also update the version shown by various command such as 'systemctl + --version' to show the stable number. + +------------------------------------------------------------------- +Wed Jun 17 18:54:11 UTC 2020 - Franck Bui + +- Don't restart udevd sockets during package update + + Otherwise we might miss kernel events as the daemon need to be + stopped as well. + +------------------------------------------------------------------- +Wed Jun 17 09:03:40 UTC 2020 - Franck Bui + +- Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 + +------------------------------------------------------------------- +Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com + +- no longer explicitly package setgid directory /var/log/journal (bsc#1172550). + The bit will be set during %post by way of the systemd-tmpfiles invocation. + This avoids a conflict with the permissions package and an rpmlint error + popping up. + +------------------------------------------------------------------- +Fri May 29 14:32:41 UTC 2020 - Franck Bui + +- Fix build when resolved is disabled + + While at it sort the build conditionals. + ------------------------------------------------------------------- Thu May 28 09:30:33 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0e2921e5..2fce83cf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,36 +24,36 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.122.ga6d31d1a02 +%define suse_version +suse.48.gb12cd8b89b %bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump -%bcond_with sysvcompat -%bcond_with machined %bcond_with importd +%bcond_with journal_remote +%bcond_with machined %bcond_with networkd %bcond_with portabled %bcond_with resolved -%bcond_with journal_remote +%bcond_with sysvcompat %else %bcond_without coredump -%bcond_without sysvcompat -%bcond_without machined -%bcond_without importd -%bcond_without networkd -%bcond_without portabled -%bcond_without resolved -%bcond_without journal_remote %ifarch %{ix86} x86_64 %bcond_without gnuefi %endif +%bcond_without importd +%bcond_without journal_remote +%bcond_without machined +%bcond_without networkd +%bcond_without portabled +%bcond_without resolved +%bcond_without sysvcompat %endif %bcond_with parentpathid Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245 +Version: 245.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -490,7 +490,7 @@ ntp_servers=({0..3}.suse.pool.ntp.org) # keep split-usr until all packages have moved their systemd rules to /usr %meson \ - -Dversion-tag=%{suse_version} \ + -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ @@ -859,15 +859,18 @@ fi # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Migrate i18n settings that could be previously configured in -# /etc/sysconfig but now is defined only in the systemd official -# places (/etc/locale.conf, /etc/vconsole.conf, etc...). This is done -# only once usually during package updates but might be also needed -# during installations when we upgrade from a distro using SysV init. -test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { +# Migrate old i18n settings previously configured in /etc/sysconfig to +# the new locations used by systemd (/etc/locale.conf, +# /etc/vconsole.conf, ...). Recent versions of systemd parse the new +# locations only. +# +# This is needed both at package updates and package installations +# because we might be upgrading from a system which was running SysV +# init (systemd package is being installed). +if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -} +fi %postun %systemd_postun @@ -898,13 +901,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update: the restart of the socket units will probably -# fail as the daemon is most likely running. It's not really an issue -# since we restart systemd-udevd right after and that will pull in the -# socket units again. We should be informed at that time if something -# really went wrong the first time we started the socket units. -%systemd_postun_with_restart systemd-udevd-{control,kernel}.socket 2>/dev/null +# Restarting udevd sockets means also stopping the daemon. But we +# don't want the sockets and the daemon to be inactive at the same +# time because we might loose new events sent by the kernel during the +# package update otherwise. Hence we accept the fact that the socket +# properties might not be updated. They are unlikely changed anyway. %systemd_postun_with_restart systemd-udevd.service %posttrans -n udev%{?mini} @@ -1497,7 +1498,8 @@ fi %files logger %defattr(-,root,root) -%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +# package without explicit setgid bit / attrs (see bsc#1172550) +%dir %{_localstatedir}/log/journal/ %doc %{_localstatedir}/log/README %files -n nss-myhostname @@ -1567,8 +1569,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service %endif %if %{with resolved} %{_bindir}/resolvectl @@ -1578,6 +1578,8 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_prefix}/lib/systemd/resolv.conf +%{_prefix}/lib/systemd/systemd-resolved +%{_unitdir}/systemd-resolved.service %endif %endif From 9ea81e08d69f06e8ca6080c4c9c358275de2a40a4147efd65d0a570d1e1c5314 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 27 Jun 2020 21:20:59 +0000 Subject: [PATCH 489/991] Accepting request 816787 from Base:System OBS-URL: https://build.opensuse.org/request/show/816787 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=312 --- scripts-systemd-migrate-sysconfig-i18n.sh | 18 +++++++++++--- systemd-mini.changes | 26 ++++++++++++++++++++ systemd-mini.spec | 30 +++++++++++------------ systemd.changes | 26 ++++++++++++++++++++ systemd.spec | 30 +++++++++++------------ 5 files changed, 96 insertions(+), 34 deletions(-) diff --git a/scripts-systemd-migrate-sysconfig-i18n.sh b/scripts-systemd-migrate-sysconfig-i18n.sh index 02646759..432e9e74 100644 --- a/scripts-systemd-migrate-sysconfig-i18n.sh +++ b/scripts-systemd-migrate-sysconfig-i18n.sh @@ -128,8 +128,18 @@ migrate_language () { fi } -migrate_locale; rv1=$? -migrate_keyboard; rv2=$? -migrate_language; rv3=$? -test $((rv1 + rv2 + rv3)) -eq 0 +# The marker could have been incorrectly put in /usr/lib. In this case +# move it to its new place. +mv /usr/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done \ + /var/lib/systemd/i18n-migrated &>/dev/null + +if ! test -e /var/lib/systemd/i18n-migrated; then + declare -i rv=0 + + migrate_locale; rv+=$? + migrate_keyboard; rv+=$? + migrate_language; rv+=$? + + test $rv -eq 0 && touch /var/lib/systemd/i18n-migrated +fi diff --git a/systemd-mini.changes b/systemd-mini.changes index ca453cf5..0fd3cfe4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Jun 24 06:33:33 UTC 2020 - Franck Bui + +- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) + + The marker is used to make sure the script is run only once. Instead + of storing it in /usr, use /var which is more appropriate for such + file. + + Also make it owned by systemd package. + +------------------------------------------------------------------- +Tue Jun 23 13:29:18 UTC 2020 - Franck Bui + +- Fix inconsistent file modes for some ghost files (bsc#1173227) + + Ghost files are assumed by rpm to have mode 000 by default which is + not consistent with file permissions set at runtime. + + Also /var/lib/systemd/random-seed was tracked wrongly as a + directory. + + Also don't track (ghost) /etc/systemd/system/runlevel*.target + aliases since we're not supposed to track units or aliases user + might define/override. + ------------------------------------------------------------------- Fri Jun 19 09:59:29 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 09fa9f68..3506747e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -672,10 +672,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -# Create ghost databases -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin - # Make sure the NTP units dir exists mkdir -p %{buildroot}%{_ntpunitsdir} @@ -724,8 +720,16 @@ EOF install -m 644 %{S:11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ +# ghost directories with default permissions. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# ghost files with default permisssions. +touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +touch %{buildroot}%{_sysconfdir}/vconsole.conf +touch %{buildroot}%{_sysconfdir}/locale.conf +touch %{buildroot}%{_sysconfdir}/machine-info +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -869,10 +873,9 @@ fi # This is needed both at package updates and package installations # because we might be upgrading from a system which was running SysV # init (systemd package is being installed). -if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -fi +# +# It's run only once. +%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun %systemd_postun @@ -1242,12 +1245,8 @@ fi %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-id %ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id %{_datadir}/systemd %{_datadir}/factory @@ -1319,7 +1318,8 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed +%ghost %{_localstatedir}/lib/systemd/i18n-migrated +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions diff --git a/systemd.changes b/systemd.changes index ca453cf5..0fd3cfe4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Jun 24 06:33:33 UTC 2020 - Franck Bui + +- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) + + The marker is used to make sure the script is run only once. Instead + of storing it in /usr, use /var which is more appropriate for such + file. + + Also make it owned by systemd package. + +------------------------------------------------------------------- +Tue Jun 23 13:29:18 UTC 2020 - Franck Bui + +- Fix inconsistent file modes for some ghost files (bsc#1173227) + + Ghost files are assumed by rpm to have mode 000 by default which is + not consistent with file permissions set at runtime. + + Also /var/lib/systemd/random-seed was tracked wrongly as a + directory. + + Also don't track (ghost) /etc/systemd/system/runlevel*.target + aliases since we're not supposed to track units or aliases user + might define/override. + ------------------------------------------------------------------- Fri Jun 19 09:59:29 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2fce83cf..c96ca5e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -670,10 +670,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -# Create ghost databases -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin - # Make sure the NTP units dir exists mkdir -p %{buildroot}%{_ntpunitsdir} @@ -722,8 +718,16 @@ EOF install -m 644 %{S:11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ +# ghost directories with default permissions. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed + +# ghost files with default permisssions. +touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +touch %{buildroot}%{_sysconfdir}/vconsole.conf +touch %{buildroot}%{_sysconfdir}/locale.conf +touch %{buildroot}%{_sysconfdir}/machine-info +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -867,10 +871,9 @@ fi # This is needed both at package updates and package installations # because we might be upgrading from a system which was running SysV # init (systemd package is being installed). -if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -fi +# +# It's run only once. +%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun %systemd_postun @@ -1240,12 +1243,8 @@ fi %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-id %ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target -%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target +%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id %{_datadir}/systemd %{_datadir}/factory @@ -1317,7 +1316,8 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/random-seed +%ghost %{_localstatedir}/lib/systemd/i18n-migrated +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions From 2eb82a0e87d57f05237a05b82c77cfb41835b85ceb814eeefa5daaa8716e4872 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 29 Jul 2020 16:10:17 +0000 Subject: [PATCH 490/991] Accepting request 823166 from home:RBrownSUSE:branches:Base:System Mount /tmp as tmpfs by default - as agreed on opensuse-factory https://lists.opensuse.org/opensuse-factory/2020-07/msg00253.html OBS-URL: https://build.opensuse.org/request/show/823166 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1107 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 6 ------ systemd.changes | 5 +++++ systemd.spec | 6 ------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0fd3cfe4..c66c0306 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 28 13:38:09 UTC 2020 - Richard Brown + +- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) + ------------------------------------------------------------------- Wed Jun 24 06:33:33 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3506747e..8c1676f9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -617,12 +617,6 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs -# by default on SUSE distros. We still keep a copy in /var for those -# who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ - # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path diff --git a/systemd.changes b/systemd.changes index 0fd3cfe4..c80f6f6f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 28 13:38:09 UTC 2020 - Richard Brown + +- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) + ------------------------------------------------------------------- Wed Jun 24 06:33:33 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c96ca5e2..39003f7d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -615,12 +615,6 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs -# by default on SUSE distros. We still keep a copy in /var for those -# who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ - # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path From 22df5a332abb6472d4b2417dd77ec3279ebcb27b4e91b6e4d6bbb3b483e59f0b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 6 Aug 2020 08:38:21 +0000 Subject: [PATCH 491/991] Accepting request 823438 from Base:System OBS-URL: https://build.opensuse.org/request/show/823438 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=313 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 6 ------ systemd.changes | 5 +++++ systemd.spec | 6 ------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 0fd3cfe4..c66c0306 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 28 13:38:09 UTC 2020 - Richard Brown + +- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) + ------------------------------------------------------------------- Wed Jun 24 06:33:33 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3506747e..8c1676f9 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -617,12 +617,6 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs -# by default on SUSE distros. We still keep a copy in /var for those -# who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ - # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path diff --git a/systemd.changes b/systemd.changes index 0fd3cfe4..c80f6f6f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 28 13:38:09 UTC 2020 - Richard Brown + +- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) + ------------------------------------------------------------------- Wed Jun 24 06:33:33 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c96ca5e2..39003f7d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -615,12 +615,6 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ -# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs -# by default on SUSE distros. We still keep a copy in /var for those -# who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ - # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path From 4cab10b16c3a0b4c409d5a1981bb0aaa671ba74017c401acdcc0ba1fb1d61f3e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 Aug 2020 12:11:43 +0000 Subject: [PATCH 492/991] Accepting request 828162 from home:fbui:systemd:openSUSE-Factory - Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d - Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch Upstream finally reverted it and it's part of both v245.7 and master. OBS-URL: https://build.opensuse.org/request/show/828162 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1108 --- ...-mark-as-redundant-if-deps-are-relev.patch | 155 ------------------ systemd-mini.changes | 17 +- systemd-mini.spec | 5 +- systemd-v245.6+suse.48.gb12cd8b89b.tar.xz | 3 - systemd-v245.7+suse.49.g6d6d92930a.tar.xz | 3 + systemd.changes | 15 ++ systemd.spec | 5 +- 7 files changed, 38 insertions(+), 165 deletions(-) delete mode 100644 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch delete mode 100644 systemd-v245.6+suse.48.gb12cd8b89b.tar.xz create mode 100644 systemd-v245.7+suse.49.g6d6d92930a.tar.xz diff --git a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch deleted file mode 100644 index 8208646f..00000000 --- a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +++ /dev/null @@ -1,155 +0,0 @@ -From a9906d1f4aeeaa39a2d57563d23cb7cdd9283bf8 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 18 Mar 2020 16:18:46 +0100 -Subject: [PATCH 1/1] Revert "job: Don't mark as redundant if deps are - relevant" - -This reverts commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533, which involves a -significant behavior change which at least impacts plymouth [1] and some of the -services shipped by systemd (systemd-vconsole-setup.service). - -Of course some other units shipped by other packages might rely on the old -behavior [2], which makes me wonder why this patch wasn't simply reverted until -the situation gets clarified, at least that what the author of the change -thinks too [3]. - -[1] https://bugzilla.redhat.com/show_bug.cgi?id=1807771 -[2] https://github.com/systemd/systemd/issues/15091#issuecomment-598238061 -[3] https://github.com/systemd/systemd/pull/14086#issuecomment-598600479 ---- - src/core/job.c | 51 +++++++------------------------------------------- - src/core/job.h | 3 +-- - src/core/transaction.c | 8 ++++---- - 3 files changed, 12 insertions(+), 50 deletions(-) - -diff --git a/src/core/job.c b/src/core/job.c -index 9fe30359df..8610496109 100644 ---- a/src/core/job.c -+++ b/src/core/job.c -@@ -383,62 +383,25 @@ JobType job_type_lookup_merge(JobType a, JobType b) { - return job_merging_table[(a - 1) * a / 2 + b]; - } - --bool job_later_link_matters(Job *j, JobType type, unsigned generation) { -- JobDependency *l; -- -- assert(j); -- -- j->generation = generation; -- -- LIST_FOREACH(subject, l, j->subject_list) { -- UnitActiveState state = _UNIT_ACTIVE_STATE_INVALID; -- -- /* Have we seen this before? */ -- if (l->object->generation == generation) -- continue; -- -- state = unit_active_state(l->object->unit); -- switch (type) { -- -- case JOB_START: -- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) || -- job_later_link_matters(l->object, type, generation); -- -- case JOB_STOP: -- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) || -- job_later_link_matters(l->object, type, generation); -- -- default: -- assert_not_reached("Invalid job type"); -- } -- } -- -- return false; --} -- --bool job_is_redundant(Job *j, unsigned generation) { -- -- assert(j); -- -- UnitActiveState state = unit_active_state(j->unit); -- switch (j->type) { -+bool job_type_is_redundant(JobType a, UnitActiveState b) { -+ switch (a) { - - case JOB_START: -- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) && !job_later_link_matters(j, JOB_START, generation); -+ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); - - case JOB_STOP: -- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) && !job_later_link_matters(j, JOB_STOP, generation); -+ return IN_SET(b, UNIT_INACTIVE, UNIT_FAILED); - - case JOB_VERIFY_ACTIVE: -- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING); -+ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); - - case JOB_RELOAD: - return -- state == UNIT_RELOADING; -+ b == UNIT_RELOADING; - - case JOB_RESTART: - return -- state == UNIT_ACTIVATING; -+ b == UNIT_ACTIVATING; - - case JOB_NOP: - return true; -diff --git a/src/core/job.h b/src/core/job.h -index 02b057ee06..03ad640618 100644 ---- a/src/core/job.h -+++ b/src/core/job.h -@@ -196,8 +196,7 @@ _pure_ static inline bool job_type_is_superset(JobType a, JobType b) { - return a == job_type_lookup_merge(a, b); - } - --bool job_later_link_matters(Job *j, JobType type, unsigned generation); --bool job_is_redundant(Job *j, unsigned generation); -+bool job_type_is_redundant(JobType a, UnitActiveState b) _pure_; - - /* Collapses a state-dependent job type into a simpler type by observing - * the state of the unit which it is going to be applied to. */ -diff --git a/src/core/transaction.c b/src/core/transaction.c -index 49f43e0327..6dc4e95beb 100644 ---- a/src/core/transaction.c -+++ b/src/core/transaction.c -@@ -279,7 +279,7 @@ static int transaction_merge_jobs(Transaction *tr, sd_bus_error *e) { - return 0; - } - --static void transaction_drop_redundant(Transaction *tr, unsigned generation) { -+static void transaction_drop_redundant(Transaction *tr) { - bool again; - - /* Goes through the transaction and removes all jobs of the units whose jobs are all noops. If not -@@ -299,7 +299,7 @@ static void transaction_drop_redundant(Transaction *tr, unsigned generation) { - - LIST_FOREACH(transaction, k, j) - if (tr->anchor_job == k || -- !job_is_redundant(k, generation) || -+ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || - (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) { - keep = true; - break; -@@ -732,7 +732,7 @@ int transaction_activate( - transaction_minimize_impact(tr); - - /* Third step: Drop redundant jobs */ -- transaction_drop_redundant(tr, generation++); -+ transaction_drop_redundant(tr); - - for (;;) { - /* Fourth step: Let's remove unneeded jobs that might -@@ -774,7 +774,7 @@ int transaction_activate( - } - - /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ -- transaction_drop_redundant(tr, generation++); -+ transaction_drop_redundant(tr); - - /* Ninth step: check whether we can actually apply this */ - r = transaction_is_destructive(tr, mode, e); --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index c66c0306..6d682aa4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,7 +1,22 @@ +------------------------------------------------------------------- +Thu Aug 20 10:24:37 UTC 2020 - Franck Bui + +- Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) + + 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d + +- Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch + + Upstream finally reverted it and it's part of both v245.7 and master. + ------------------------------------------------------------------- Tue Jul 28 13:38:09 UTC 2020 - Richard Brown -- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) +- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) ------------------------------------------------------------------- Wed Jun 24 06:33:33 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8c1676f9..2f2981e6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.48.gb12cd8b89b +%define suse_version +suse.49.g6d6d92930a %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.6 +Version: 245.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -166,7 +166,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz b/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz deleted file mode 100644 index 5f55a69c..00000000 --- a/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc34032d49edabf9df4d2342063084b79040abbebcb56fc417449d0e08f2815e -size 6175556 diff --git a/systemd-v245.7+suse.49.g6d6d92930a.tar.xz b/systemd-v245.7+suse.49.g6d6d92930a.tar.xz new file mode 100644 index 00000000..1d62bee5 --- /dev/null +++ b/systemd-v245.7+suse.49.g6d6d92930a.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:309ed00d37594c68875d38be600ae9b51614a2958af6c5b73d0d5bad5ece96e3 +size 6302108 diff --git a/systemd.changes b/systemd.changes index c80f6f6f..6d682aa4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Aug 20 10:24:37 UTC 2020 - Franck Bui + +- Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) + + 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d + +- Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch + + Upstream finally reverted it and it's part of both v245.7 and master. + ------------------------------------------------------------------- Tue Jul 28 13:38:09 UTC 2020 - Richard Brown diff --git a/systemd.spec b/systemd.spec index 39003f7d..12d84734 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.48.gb12cd8b89b +%define suse_version +suse.49.g6d6d92930a %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.6 +Version: 245.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -164,7 +164,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 41d1bc257a86823a1453a8fca4a10d82b30e056b2fb1c56b08f4bfc1dac08ac8 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 23 Aug 2020 07:20:30 +0000 Subject: [PATCH 493/991] Accepting request 828165 from Base:System OBS-URL: https://build.opensuse.org/request/show/828165 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=314 --- ...-mark-as-redundant-if-deps-are-relev.patch | 155 ------------------ systemd-mini.changes | 17 +- systemd-mini.spec | 5 +- systemd-v245.6+suse.48.gb12cd8b89b.tar.xz | 3 - systemd-v245.7+suse.49.g6d6d92930a.tar.xz | 3 + systemd.changes | 15 ++ systemd.spec | 5 +- 7 files changed, 38 insertions(+), 165 deletions(-) delete mode 100644 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch delete mode 100644 systemd-v245.6+suse.48.gb12cd8b89b.tar.xz create mode 100644 systemd-v245.7+suse.49.g6d6d92930a.tar.xz diff --git a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch deleted file mode 100644 index 8208646f..00000000 --- a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +++ /dev/null @@ -1,155 +0,0 @@ -From a9906d1f4aeeaa39a2d57563d23cb7cdd9283bf8 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 18 Mar 2020 16:18:46 +0100 -Subject: [PATCH 1/1] Revert "job: Don't mark as redundant if deps are - relevant" - -This reverts commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533, which involves a -significant behavior change which at least impacts plymouth [1] and some of the -services shipped by systemd (systemd-vconsole-setup.service). - -Of course some other units shipped by other packages might rely on the old -behavior [2], which makes me wonder why this patch wasn't simply reverted until -the situation gets clarified, at least that what the author of the change -thinks too [3]. - -[1] https://bugzilla.redhat.com/show_bug.cgi?id=1807771 -[2] https://github.com/systemd/systemd/issues/15091#issuecomment-598238061 -[3] https://github.com/systemd/systemd/pull/14086#issuecomment-598600479 ---- - src/core/job.c | 51 +++++++------------------------------------------- - src/core/job.h | 3 +-- - src/core/transaction.c | 8 ++++---- - 3 files changed, 12 insertions(+), 50 deletions(-) - -diff --git a/src/core/job.c b/src/core/job.c -index 9fe30359df..8610496109 100644 ---- a/src/core/job.c -+++ b/src/core/job.c -@@ -383,62 +383,25 @@ JobType job_type_lookup_merge(JobType a, JobType b) { - return job_merging_table[(a - 1) * a / 2 + b]; - } - --bool job_later_link_matters(Job *j, JobType type, unsigned generation) { -- JobDependency *l; -- -- assert(j); -- -- j->generation = generation; -- -- LIST_FOREACH(subject, l, j->subject_list) { -- UnitActiveState state = _UNIT_ACTIVE_STATE_INVALID; -- -- /* Have we seen this before? */ -- if (l->object->generation == generation) -- continue; -- -- state = unit_active_state(l->object->unit); -- switch (type) { -- -- case JOB_START: -- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) || -- job_later_link_matters(l->object, type, generation); -- -- case JOB_STOP: -- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) || -- job_later_link_matters(l->object, type, generation); -- -- default: -- assert_not_reached("Invalid job type"); -- } -- } -- -- return false; --} -- --bool job_is_redundant(Job *j, unsigned generation) { -- -- assert(j); -- -- UnitActiveState state = unit_active_state(j->unit); -- switch (j->type) { -+bool job_type_is_redundant(JobType a, UnitActiveState b) { -+ switch (a) { - - case JOB_START: -- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) && !job_later_link_matters(j, JOB_START, generation); -+ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); - - case JOB_STOP: -- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) && !job_later_link_matters(j, JOB_STOP, generation); -+ return IN_SET(b, UNIT_INACTIVE, UNIT_FAILED); - - case JOB_VERIFY_ACTIVE: -- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING); -+ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); - - case JOB_RELOAD: - return -- state == UNIT_RELOADING; -+ b == UNIT_RELOADING; - - case JOB_RESTART: - return -- state == UNIT_ACTIVATING; -+ b == UNIT_ACTIVATING; - - case JOB_NOP: - return true; -diff --git a/src/core/job.h b/src/core/job.h -index 02b057ee06..03ad640618 100644 ---- a/src/core/job.h -+++ b/src/core/job.h -@@ -196,8 +196,7 @@ _pure_ static inline bool job_type_is_superset(JobType a, JobType b) { - return a == job_type_lookup_merge(a, b); - } - --bool job_later_link_matters(Job *j, JobType type, unsigned generation); --bool job_is_redundant(Job *j, unsigned generation); -+bool job_type_is_redundant(JobType a, UnitActiveState b) _pure_; - - /* Collapses a state-dependent job type into a simpler type by observing - * the state of the unit which it is going to be applied to. */ -diff --git a/src/core/transaction.c b/src/core/transaction.c -index 49f43e0327..6dc4e95beb 100644 ---- a/src/core/transaction.c -+++ b/src/core/transaction.c -@@ -279,7 +279,7 @@ static int transaction_merge_jobs(Transaction *tr, sd_bus_error *e) { - return 0; - } - --static void transaction_drop_redundant(Transaction *tr, unsigned generation) { -+static void transaction_drop_redundant(Transaction *tr) { - bool again; - - /* Goes through the transaction and removes all jobs of the units whose jobs are all noops. If not -@@ -299,7 +299,7 @@ static void transaction_drop_redundant(Transaction *tr, unsigned generation) { - - LIST_FOREACH(transaction, k, j) - if (tr->anchor_job == k || -- !job_is_redundant(k, generation) || -+ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || - (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) { - keep = true; - break; -@@ -732,7 +732,7 @@ int transaction_activate( - transaction_minimize_impact(tr); - - /* Third step: Drop redundant jobs */ -- transaction_drop_redundant(tr, generation++); -+ transaction_drop_redundant(tr); - - for (;;) { - /* Fourth step: Let's remove unneeded jobs that might -@@ -774,7 +774,7 @@ int transaction_activate( - } - - /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ -- transaction_drop_redundant(tr, generation++); -+ transaction_drop_redundant(tr); - - /* Ninth step: check whether we can actually apply this */ - r = transaction_is_destructive(tr, mode, e); --- -2.16.4 - diff --git a/systemd-mini.changes b/systemd-mini.changes index c66c0306..6d682aa4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,7 +1,22 @@ +------------------------------------------------------------------- +Thu Aug 20 10:24:37 UTC 2020 - Franck Bui + +- Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) + + 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d + +- Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch + + Upstream finally reverted it and it's part of both v245.7 and master. + ------------------------------------------------------------------- Tue Jul 28 13:38:09 UTC 2020 - Richard Brown -- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) +- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) ------------------------------------------------------------------- Wed Jun 24 06:33:33 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8c1676f9..2f2981e6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.48.gb12cd8b89b +%define suse_version +suse.49.g6d6d92930a %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.6 +Version: 245.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -166,7 +166,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz b/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz deleted file mode 100644 index 5f55a69c..00000000 --- a/systemd-v245.6+suse.48.gb12cd8b89b.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc34032d49edabf9df4d2342063084b79040abbebcb56fc417449d0e08f2815e -size 6175556 diff --git a/systemd-v245.7+suse.49.g6d6d92930a.tar.xz b/systemd-v245.7+suse.49.g6d6d92930a.tar.xz new file mode 100644 index 00000000..1d62bee5 --- /dev/null +++ b/systemd-v245.7+suse.49.g6d6d92930a.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:309ed00d37594c68875d38be600ae9b51614a2958af6c5b73d0d5bad5ece96e3 +size 6302108 diff --git a/systemd.changes b/systemd.changes index c80f6f6f..6d682aa4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Aug 20 10:24:37 UTC 2020 - Franck Bui + +- Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) + + 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d + +- Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch + + Upstream finally reverted it and it's part of both v245.7 and master. + ------------------------------------------------------------------- Tue Jul 28 13:38:09 UTC 2020 - Richard Brown diff --git a/systemd.spec b/systemd.spec index 39003f7d..12d84734 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.48.gb12cd8b89b +%define suse_version +suse.49.g6d6d92930a %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.6 +Version: 245.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -164,7 +164,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. -Patch1: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 3a247bf181cc9c8cdba376d29fc24579c33c5bb9ab826cfdbc3e1fa7e6a4a795 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Aug 2020 10:15:04 +0000 Subject: [PATCH 494/991] Accepting request 829723 from home:fbui:systemd:openSUSE-Factory - Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" - Drop requirement on 'sysvinit-tools' It was used to workaround bug #886599 by explicitly calling vhangup(8) from getty@.service so when this service was stopped a virtually hangup on the specified terminal when were stopped to give the shell a few seconds to save its history. But this workaround was dropped since it had no effect (SLE12-GM was released with it but was still suffering from the bug) and was replaced by commit e9db43d5910717a108, which was released from v226 and backported to SLE12/SLE12-SP1. OBS-URL: https://build.opensuse.org/request/show/829723 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1109 --- systemd-mini.changes | 22 ++++++++++++++++++++++ systemd-mini.spec | 3 +-- systemd-v245.7+suse.49.g6d6d92930a.tar.xz | 3 --- systemd-v245.7+suse.51.ga4e393eecb.tar.xz | 3 +++ systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 3 +-- 6 files changed, 49 insertions(+), 7 deletions(-) delete mode 100644 systemd-v245.7+suse.49.g6d6d92930a.tar.xz create mode 100644 systemd-v245.7+suse.51.ga4e393eecb.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 6d682aa4..a218a916 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Wed Aug 26 09:46:46 UTC 2020 - Franck Bui + +- Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf + + d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" + +------------------------------------------------------------------- +Tue Aug 25 14:32:16 UTC 2020 - Franck Bui + +- Drop requirement on 'sysvinit-tools' + + It was used to workaround bug #886599 by explicitly calling + vhangup(8) from getty@.service so when this service was stopped a + virtually hangup on the specified terminal when were stopped to give + the shell a few seconds to save its history. + + But this workaround was dropped since it had no effect (SLE12-GM was + released with it but was still suffering from the bug) and was + replaced by commit e9db43d5910717a108, which was released from v226 + and backported to SLE12/SLE12-SP1. + ------------------------------------------------------------------- Thu Aug 20 10:24:37 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 2f2981e6..a13df83e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.49.g6d6d92930a +%define suse_version +suse.51.ga4e393eecb %bcond_with gnuefi %if 0%{?bootstrap} @@ -123,7 +123,6 @@ Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-presets-branding -Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) diff --git a/systemd-v245.7+suse.49.g6d6d92930a.tar.xz b/systemd-v245.7+suse.49.g6d6d92930a.tar.xz deleted file mode 100644 index 1d62bee5..00000000 --- a/systemd-v245.7+suse.49.g6d6d92930a.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:309ed00d37594c68875d38be600ae9b51614a2958af6c5b73d0d5bad5ece96e3 -size 6302108 diff --git a/systemd-v245.7+suse.51.ga4e393eecb.tar.xz b/systemd-v245.7+suse.51.ga4e393eecb.tar.xz new file mode 100644 index 00000000..815e59f1 --- /dev/null +++ b/systemd-v245.7+suse.51.ga4e393eecb.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0cce0a5990f8ddc03e1dcdb1af7f20331e3e885596710f8a68563882c50d31e +size 6301856 diff --git a/systemd.changes b/systemd.changes index 6d682aa4..a218a916 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Wed Aug 26 09:46:46 UTC 2020 - Franck Bui + +- Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf + + d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" + +------------------------------------------------------------------- +Tue Aug 25 14:32:16 UTC 2020 - Franck Bui + +- Drop requirement on 'sysvinit-tools' + + It was used to workaround bug #886599 by explicitly calling + vhangup(8) from getty@.service so when this service was stopped a + virtually hangup on the specified terminal when were stopped to give + the shell a few seconds to save its history. + + But this workaround was dropped since it had no effect (SLE12-GM was + released with it but was still suffering from the bug) and was + replaced by commit e9db43d5910717a108, which was released from v226 + and backported to SLE12/SLE12-SP1. + ------------------------------------------------------------------- Thu Aug 20 10:24:37 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 12d84734..b2ff8ec4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.49.g6d6d92930a +%define suse_version +suse.51.ga4e393eecb %bcond_with gnuefi %if 0%{?bootstrap} @@ -121,7 +121,6 @@ Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-presets-branding -Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) From da621217896af4c62193c0c7767e24fad4e126d1a60a1302d3a6375bbbfea821 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Aug 2020 10:41:59 +0000 Subject: [PATCH 495/991] Accepting request 830008 from home:favogt:tmpfix - Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) - Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) Now with more whitespace and readlink -f. OBS-URL: https://build.opensuse.org/request/show/830008 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1110 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 13 +++++++------ systemd.changes | 5 +++++ systemd.spec | 13 +++++++------ 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a218a916..5ac5e11c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt + +- Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) + ------------------------------------------------------------------- Wed Aug 26 09:46:46 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index a13df83e..1b8c166d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -786,12 +786,6 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # a %pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre -if [ $1 -gt 1 ] ; then - case "$(systemctl show -pFragmentPath tmp.mount)" in - FragmentPath=/usr/lib/systemd/system/tmp.mount) - ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : - esac -fi %post # Make /etc/machine-id an empty file during package installation. On @@ -869,6 +863,13 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : +# Previous versions had tmp.mount moved to /usr/share/systemd/tmp.mount. +# It could be symlinked into /etc to make /tmp a tmpfs. The file does not exist anymore, +# so migrate the link to the new location. +if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then + ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount +fi + %postun %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) diff --git a/systemd.changes b/systemd.changes index a218a916..5ac5e11c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt + +- Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) + ------------------------------------------------------------------- Wed Aug 26 09:46:46 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b2ff8ec4..a45247be 100644 --- a/systemd.spec +++ b/systemd.spec @@ -784,12 +784,6 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # a %pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre -if [ $1 -gt 1 ] ; then - case "$(systemctl show -pFragmentPath tmp.mount)" in - FragmentPath=/usr/lib/systemd/system/tmp.mount) - ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : - esac -fi %post # Make /etc/machine-id an empty file during package installation. On @@ -867,6 +861,13 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : +# Previous versions had tmp.mount moved to /usr/share/systemd/tmp.mount. +# It could be symlinked into /etc to make /tmp a tmpfs. The file does not exist anymore, +# so migrate the link to the new location. +if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then + ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount +fi + %postun %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) From b614751e6fd926b0b8e76dc09e68f884725e7066cdb2a58c2ba2aa0ba3acbc22 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Aug 2020 20:03:31 +0000 Subject: [PATCH 496/991] Accepting request 830351 from home:fbui:systemd:openSUSE-Factory %pre must not be empty OBS-URL: https://build.opensuse.org/request/show/830351 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1111 --- systemd-mini.spec | 1 + systemd.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index 1b8c166d..406e052f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -786,6 +786,7 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # a %pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre +: %post # Make /etc/machine-id an empty file during package installation. On diff --git a/systemd.spec b/systemd.spec index a45247be..2d9078cb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -784,6 +784,7 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # a %pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre +: %post # Make /etc/machine-id an empty file during package installation. On From 5b9c36b40bef5be1bb9101ac8acc87ef3717665160ca505d521c6fb198bfe5d7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 31 Aug 2020 13:22:09 +0000 Subject: [PATCH 497/991] Accepting request 830813 from home:fbui:systemd:openSUSE-Factory Update the comment for the workaround dealing with tmp.mount dangling symlink. OBS-URL: https://build.opensuse.org/request/show/830813 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1112 --- systemd-mini.spec | 17 +++++++++++++---- systemd.spec | 17 +++++++++++++---- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/systemd-mini.spec b/systemd-mini.spec index 406e052f..0d078415 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -864,9 +864,18 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : -# Previous versions had tmp.mount moved to /usr/share/systemd/tmp.mount. -# It could be symlinked into /etc to make /tmp a tmpfs. The file does not exist anymore, -# so migrate the link to the new location. +# During the migration to tmpfs for /tmp, a bug was introduced that +# affected users using tmpfs for /tmp and happened during the _second_ +# update following the one that introduced tmpfs on /tmp. It consisted +# in creating a dangling symlink /etc/systemd/system/tmp.mount +# pointing to the old copy that previous versions shipped in +# /usr/share/systemd, which doesn't exist anymore. So we migrate the +# link to the new location. +# +# Users have been exposed to this bug during a short period of time as +# it was present only in one release and was fixed shortly after by +# the next update. So we can assume that it's safe to drop it in 6 +# months (ie March 2021). if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount fi @@ -883,7 +892,7 @@ fi # old systems, the file doesn't exist. This is equivalent to # generation #1, which enables the creation of all compat symlinks. if [ $1 -eq 1 ]; then - echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation + echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi %post -n udev%{?mini} diff --git a/systemd.spec b/systemd.spec index 2d9078cb..d39a85e1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -862,9 +862,18 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : -# Previous versions had tmp.mount moved to /usr/share/systemd/tmp.mount. -# It could be symlinked into /etc to make /tmp a tmpfs. The file does not exist anymore, -# so migrate the link to the new location. +# During the migration to tmpfs for /tmp, a bug was introduced that +# affected users using tmpfs for /tmp and happened during the _second_ +# update following the one that introduced tmpfs on /tmp. It consisted +# in creating a dangling symlink /etc/systemd/system/tmp.mount +# pointing to the old copy that previous versions shipped in +# /usr/share/systemd, which doesn't exist anymore. So we migrate the +# link to the new location. +# +# Users have been exposed to this bug during a short period of time as +# it was present only in one release and was fixed shortly after by +# the next update. So we can assume that it's safe to drop it in 6 +# months (ie March 2021). if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount fi @@ -881,7 +890,7 @@ fi # old systems, the file doesn't exist. This is equivalent to # generation #1, which enables the creation of all compat symlinks. if [ $1 -eq 1 ]; then - echo "COMPAT_SYMLINK_GENERATION=2">/usr/lib/udev/compat-symlink-generation + echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi %post -n udev%{?mini} From cf0713e8c1c2700c53f6d4c262095584e949874f9f3c37d4c547e9dd97d3e57e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 31 Aug 2020 15:14:56 +0000 Subject: [PATCH 498/991] Accepting request 830355 from Base:System OBS-URL: https://build.opensuse.org/request/show/830355 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=315 --- systemd-mini.changes | 27 +++++++++++++++++++++++ systemd-mini.spec | 17 +++++++------- systemd-v245.7+suse.49.g6d6d92930a.tar.xz | 3 --- systemd-v245.7+suse.51.ga4e393eecb.tar.xz | 3 +++ systemd.changes | 27 +++++++++++++++++++++++ systemd.spec | 17 +++++++------- 6 files changed, 75 insertions(+), 19 deletions(-) delete mode 100644 systemd-v245.7+suse.49.g6d6d92930a.tar.xz create mode 100644 systemd-v245.7+suse.51.ga4e393eecb.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 6d682aa4..5ac5e11c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt + +- Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) + +------------------------------------------------------------------- +Wed Aug 26 09:46:46 UTC 2020 - Franck Bui + +- Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf + + d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" + +------------------------------------------------------------------- +Tue Aug 25 14:32:16 UTC 2020 - Franck Bui + +- Drop requirement on 'sysvinit-tools' + + It was used to workaround bug #886599 by explicitly calling + vhangup(8) from getty@.service so when this service was stopped a + virtually hangup on the specified terminal when were stopped to give + the shell a few seconds to save its history. + + But this workaround was dropped since it had no effect (SLE12-GM was + released with it but was still suffering from the bug) and was + replaced by commit e9db43d5910717a108, which was released from v226 + and backported to SLE12/SLE12-SP1. + ------------------------------------------------------------------- Thu Aug 20 10:24:37 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 2f2981e6..406e052f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.49.g6d6d92930a +%define suse_version +suse.51.ga4e393eecb %bcond_with gnuefi %if 0%{?bootstrap} @@ -123,7 +123,6 @@ Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-presets-branding -Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) @@ -787,12 +786,7 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # a %pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre -if [ $1 -gt 1 ] ; then - case "$(systemctl show -pFragmentPath tmp.mount)" in - FragmentPath=/usr/lib/systemd/system/tmp.mount) - ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : - esac -fi +: %post # Make /etc/machine-id an empty file during package installation. On @@ -870,6 +864,13 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : +# Previous versions had tmp.mount moved to /usr/share/systemd/tmp.mount. +# It could be symlinked into /etc to make /tmp a tmpfs. The file does not exist anymore, +# so migrate the link to the new location. +if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then + ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount +fi + %postun %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) diff --git a/systemd-v245.7+suse.49.g6d6d92930a.tar.xz b/systemd-v245.7+suse.49.g6d6d92930a.tar.xz deleted file mode 100644 index 1d62bee5..00000000 --- a/systemd-v245.7+suse.49.g6d6d92930a.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:309ed00d37594c68875d38be600ae9b51614a2958af6c5b73d0d5bad5ece96e3 -size 6302108 diff --git a/systemd-v245.7+suse.51.ga4e393eecb.tar.xz b/systemd-v245.7+suse.51.ga4e393eecb.tar.xz new file mode 100644 index 00000000..815e59f1 --- /dev/null +++ b/systemd-v245.7+suse.51.ga4e393eecb.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0cce0a5990f8ddc03e1dcdb1af7f20331e3e885596710f8a68563882c50d31e +size 6301856 diff --git a/systemd.changes b/systemd.changes index 6d682aa4..5ac5e11c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt + +- Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) + +------------------------------------------------------------------- +Wed Aug 26 09:46:46 UTC 2020 - Franck Bui + +- Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf + + d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" + +------------------------------------------------------------------- +Tue Aug 25 14:32:16 UTC 2020 - Franck Bui + +- Drop requirement on 'sysvinit-tools' + + It was used to workaround bug #886599 by explicitly calling + vhangup(8) from getty@.service so when this service was stopped a + virtually hangup on the specified terminal when were stopped to give + the shell a few seconds to save its history. + + But this workaround was dropped since it had no effect (SLE12-GM was + released with it but was still suffering from the bug) and was + replaced by commit e9db43d5910717a108, which was released from v226 + and backported to SLE12/SLE12-SP1. + ------------------------------------------------------------------- Thu Aug 20 10:24:37 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 12d84734..2d9078cb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.49.g6d6d92930a +%define suse_version +suse.51.ga4e393eecb %bcond_with gnuefi %if 0%{?bootstrap} @@ -121,7 +121,6 @@ Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-presets-branding -Requires: sysvinit-tools Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) @@ -785,12 +784,7 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # a %pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre -if [ $1 -gt 1 ] ; then - case "$(systemctl show -pFragmentPath tmp.mount)" in - FragmentPath=/usr/lib/systemd/system/tmp.mount) - ln -sf %{_datadir}/systemd/tmp.mount /etc/systemd/system/ || : - esac -fi +: %post # Make /etc/machine-id an empty file during package installation. On @@ -868,6 +862,13 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : +# Previous versions had tmp.mount moved to /usr/share/systemd/tmp.mount. +# It could be symlinked into /etc to make /tmp a tmpfs. The file does not exist anymore, +# so migrate the link to the new location. +if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then + ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount +fi + %postun %systemd_postun # Avoid restarting logind until fixed upstream (issue #1163) From d011d97abb80c7333c61731ea6e0878c0e576b9100c3fcacea66255d1a95a0c9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 4 Sep 2020 06:47:46 +0000 Subject: [PATCH 499/991] Accepting request 832016 from home:fbui:systemd:openSUSE-Factory - Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for details. Now that the number of SUSE specific patches has been shrinked and is pretty low (12 at the time of this writing), they are no more tracked by the git repo and are now handled at the package level. Hence It is easier to maintain and identify them. This effectively means that SUSE/v246 will contain upstream commits only. OBS-URL: https://build.opensuse.org/request/show/832016 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1113 --- ...and-var-lock-bind-mount-if-they-aren.patch | 80 +++++++++++ ...ering-startup-for-etc-init.d-boot.lo.patch | 27 ++++ ...-part-from-etc-hostname-when-setting.patch | 43 ++++++ ...-exclude-statements-based-on-file-ow.patch | 124 ++++++++++++++++++ ...ult-symlinks-for-primary-cd_dvd-driv.patch | 29 ++++ ...dd-back-support-for-SysV-scripts-for.patch | 123 +++++++++++++++++ ...twork.service-an-alias-of-systemd-ne.patch | 29 ++++ ...ranslate-Required-Start-into-a-Wants.patch | 73 +++++++++++ ...ole-specificities-weirdness-for-s390.patch | 60 +++++++++ ...-audit-support-completely-from-the-j.patch | 80 +++++++++++ ...sion-keyring-per-system-sevice-entir.patch | 45 +++++++ ...e-etc-resolv.conf-symlink-at-runtime.patch | 53 ++++++++ systemd-mini.changes | 14 ++ systemd-mini.spec | 41 ++++-- systemd-v245.7+suse.51.ga4e393eecb.tar.xz | 3 - systemd-v246.4+suse.20.gf1344d5b7f.tar.xz | 3 + systemd.changes | 14 ++ systemd.spec | 41 ++++-- 18 files changed, 861 insertions(+), 21 deletions(-) create mode 100644 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch create mode 100644 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch create mode 100644 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch create mode 100644 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch create mode 100644 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch create mode 100644 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch create mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch create mode 100644 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch create mode 100644 0009-pid1-handle-console-specificities-weirdness-for-s390.patch create mode 100644 0010-journald-disable-audit-support-completely-from-the-j.patch create mode 100644 0011-core-disable-session-keyring-per-system-sevice-entir.patch create mode 100644 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch delete mode 100644 systemd-v245.7+suse.51.ga4e393eecb.tar.xz create mode 100644 systemd-v246.4+suse.20.gf1344d5b7f.tar.xz diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch new file mode 100644 index 00000000..dfc696e1 --- /dev/null +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -0,0 +1,80 @@ +From f98af900e625b15862f9173a5c55662d4cee7356 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 29 Oct 2012 13:01:20 +0000 +Subject: [PATCH 01/12] restore /var/run and /var/lock bind mount if they + aren't symlink + +--- + units/meson.build | 2 ++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ + 3 files changed, 40 insertions(+) + create mode 100644 units/var-lock.mount + create mode 100644 units/var-run.mount + +diff --git a/units/meson.build b/units/meson.build +index 275daad3f4..dadc9432ef 100644 +--- a/units/meson.build ++++ b/units/meson.build +@@ -150,6 +150,8 @@ units = [ + ['umount.target', ''], + ['usb-gadget.target', ''], + ['user.slice', ''], ++ ['var-run.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ++ ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], + ['var-lib-machines.mount', 'ENABLE_MACHINED', + 'remote-fs.target.wants/ machines.target.wants/'], + ] +diff --git a/units/var-lock.mount b/units/var-lock.mount +new file mode 100644 +index 0000000000..07277adac3 +--- /dev/null ++++ b/units/var-lock.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Lock Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/lock ++ConditionPathIsSymbolicLink=!/var/lock ++ ++[Mount] ++What=/run/lock ++Where=/var/lock ++Type=bind ++Options=bind +diff --git a/units/var-run.mount b/units/var-run.mount +new file mode 100644 +index 0000000000..ab4da424c9 +--- /dev/null ++++ b/units/var-run.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Runtime Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/run ++ConditionPathIsSymbolicLink=!/var/run ++ ++[Mount] ++What=/run ++Where=/var/run ++Type=bind ++Options=bind +-- +2.26.2 + diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch new file mode 100644 index 00000000..352b252c --- /dev/null +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -0,0 +1,27 @@ +From 59f2eadb29ac38803fd32fe52f1403343a7d74ac Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Tue, 25 Mar 2014 13:08:56 +0000 +Subject: [PATCH 02/12] rc-local: fix ordering startup for + /etc/init.d/boot.local + +[tblume: fixes bnc#869142] +--- + units/rc-local.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/rc-local.service.in b/units/rc-local.service.in +index 78ce69e0ae..0bcea82bed 100644 +--- a/units/rc-local.service.in ++++ b/units/rc-local.service.in +@@ -13,7 +13,7 @@ + Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility + Documentation=man:systemd-rc-local-generator(8) + ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ +-After=network.target ++After=basic.target + + [Service] + Type=forking +-- +2.26.2 + diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch new file mode 100644 index 00000000..5e9a1dfd --- /dev/null +++ b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -0,0 +1,43 @@ +From f299a8180f1db0680b454c0e37696891361e3067 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Tue, 28 May 2013 15:17:35 +0200 +Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting + system host name + +[fbui: fixes bnc#820213] +[fbui: forwardported from bfd2462b8ddec591d953841ab22bb30bdc6f9085] +[fbui: adjust context and make sure that strip of the domain name is + only done when setting the system host name. Therefore it's + still possible to pass an FQDN to hostnamectl] +[fbui: I'm still not sure that it was the right thing to do. Other + possibility was to fix the installer to create a correct + /etc/hostname file. Need to investigate...] +--- + src/core/hostname-setup.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c +index 6d047db838..1acc0c998b 100644 +--- a/src/core/hostname-setup.c ++++ b/src/core/hostname-setup.c +@@ -39,8 +39,16 @@ int hostname_setup(void) { + enoent = true; + else + log_warning_errno(r, "Failed to read configured hostname: %m"); +- } else ++ } else { ++ char *domain; ++ ++ /* SUSE: strip the domain name */ ++ domain = strchr(b, '.'); ++ if (domain) ++ *domain = '\0'; ++ + hn = b; ++ } + } + + if (isempty(hn)) { +-- +2.26.2 + diff --git a/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch b/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch new file mode 100644 index 00000000..570f2c91 --- /dev/null +++ b/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch @@ -0,0 +1,124 @@ +From b46d43bf980afe13cfff39fc2876aed10f33db1d Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Thu, 14 Apr 2016 15:42:02 +0200 +Subject: [PATCH 04/12] tmpfiles: support exclude statements based on file + ownership + +SUSE supported tmpfile cleanups based on file ownership before systemd. +So this feature needs to be available in systemd. +This was part of fate#314974 + +[tblume: suse-only patch ported from SLES12-SP1 commit e769a63907ae4b] +[tblume: part of fate#314974] +--- + man/tmpfiles.d.xml | 4 +++- + src/tmpfiles/tmpfiles.c | 49 ++++++++++++++++++++++++++++++++--------- + 2 files changed, 42 insertions(+), 11 deletions(-) + +diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml +index b9e9eee96c..b90ae01345 100644 +--- a/man/tmpfiles.d.xml ++++ b/man/tmpfiles.d.xml +@@ -605,7 +605,9 @@ w- /proc/sys/vm/swappiness - - - - 10 + suffixed by a newline. For C, specifies the source file or directory. For t + and T, determines extended attributes to be set. For a and + A, determines ACL attributes to be set. For h and H, +- determines the file attributes to set. Ignored for all other lines. ++ determines the file attributes to set. For x and X a comma separated list ++ of usernames. If given, only paths belonging to these users will be excluded during directory cleanup. Ignored ++ for all other lines. + + This field can contain specifiers, see below. + +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 2404e36bf2..349653c786 100644 +--- a/src/tmpfiles/tmpfiles.c ++++ b/src/tmpfiles/tmpfiles.c +@@ -14,6 +14,8 @@ + #include + #include + #include ++#include ++#include + + #include "sd-path.h" + +@@ -505,6 +507,7 @@ static int dir_cleanup( + struct stat s; + usec_t age; + _cleanup_free_ char *sub_path = NULL; ++ Item *found; + + if (dot_or_dot_dot(dent->d_name)) + continue; +@@ -546,15 +549,41 @@ static int dir_cleanup( + goto finish; + } + +- /* Is there an item configured for this path? */ +- if (ordered_hashmap_get(items, sub_path)) { +- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); +- continue; +- } ++ /* evaluate username arguments in ignore statements */ ++ found = find_glob(globs, sub_path); + +- if (find_glob(globs, sub_path)) { +- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); +- continue; ++ if (i->type == CREATE_DIRECTORY && found && found->argument) { ++ struct passwd *pw; ++ char *userfound = NULL, *args = strdup(found->argument); ++ bool match = false; ++ ++ while ((userfound = strsep(&args, ","))) { ++ pw = getpwnam(userfound); ++ ++ if (pw) { ++ if (s.st_uid == pw->pw_uid) { ++ match = true; ++ break; ++ } ++ } ++ } ++ ++ if (match) { ++ log_debug("Ignoring \"%s\" of user \"%s\".", sub_path, pw->pw_name); ++ match=false; ++ continue; ++ } ++ } else { ++ /* Is there an item configured for this path? */ ++ if (ordered_hashmap_get(items, sub_path)) { ++ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); ++ continue; ++ } ++ ++ if (found) { ++ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); ++ continue; ++ } + } + + if (S_ISDIR(s.st_mode)) { +@@ -2637,8 +2666,6 @@ static int parse_line( + case EMPTY_DIRECTORY: + case TRUNCATE_DIRECTORY: + case CREATE_FIFO: +- case IGNORE_PATH: +- case IGNORE_DIRECTORY_PATH: + case REMOVE_PATH: + case RECURSIVE_REMOVE_PATH: + case ADJUST_MODE: +@@ -2649,6 +2676,8 @@ static int parse_line( + + break; + ++ case IGNORE_PATH: ++ case IGNORE_DIRECTORY_PATH: + case CREATE_FILE: + case TRUNCATE_FILE: + break; +-- +2.26.2 + diff --git a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch new file mode 100644 index 00000000..b37a8acc --- /dev/null +++ b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch @@ -0,0 +1,29 @@ +From 8e95d5534e9a577529ac49aaec610e6ceefec0b9 Mon Sep 17 00:00:00 2001 +From: Robert Milasan +Date: Sat, 12 Jul 2014 14:20:36 +0200 +Subject: [PATCH 05/12] udev: create default symlinks for primary cd_dvd drive + +Imported from SLE12-SP1, commit 4f8bacfbffd7049608b5076. + +[rmilasan: fixes bnc#783054] +--- + rules.d/60-cdrom_id.rules | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/rules.d/60-cdrom_id.rules b/rules.d/60-cdrom_id.rules +index 288f8ce2f9..578c77441c 100644 +--- a/rules.d/60-cdrom_id.rules ++++ b/rules.d/60-cdrom_id.rules +@@ -25,5 +25,9 @@ IMPORT{program}="cdrom_id --lock-media $devnode" + ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" + + KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" + + LABEL="cdrom_end" +-- +2.26.2 + diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch new file mode 100644 index 00000000..53c44ddd --- /dev/null +++ b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch @@ -0,0 +1,123 @@ +From f9521480d5dc5af747fecc9adc4c617e473e5494 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 26 May 2016 08:59:41 +0200 +Subject: [PATCH 06/12] sysv-generator: add (back) support for SysV scripts for + the early boot + +For the record, the upstream support was removed by commit +3cdebc217c42c8529086f2965319b6a48eaaeabe. + +The sysv-generator has some weirdos: for example a service at the rc0 +runlevel won't be started during shutdown since it will get both +"WantedBy=poweroff.target" and "Conflicts=shutdown.target". + +Anyways what's the current patch implements the following: + + - a symlink /etc/init.d/boot.d/S??boot.foo will add + "WantedBy/Before=sysinit.target" constraints and make sure that the + default dependencies added by systemd are turned off. + + - a symlink /etc/init.d/boot.d/K??boot.foo will add + "Conflicts/Before=shutdown.target" so "foo" service will be stopped + like any other regular services. If this symlink is not installed + however, "foo" will be stopped lately during the systemd killing + spree. + +This is a forward-port of commit 29db8537e1ca10796797d9854d1 in SP1. + +[Since v232] + +Support for S* symlinks in runlevel 0 or 6 has been completely and silently +removed by 788d2b088b13a2444b9eb2ea82c0cc57d9f0980f. Since it was already +broken as pointed out above, this probably wasn't really used and therefore +no one will really care. So let's drop it too. + +However this has the side effect to make the support of early sysv scripts more +difficult. To make things easy, the support of K* symlinks in boot.d/ has been +removed too: this is probably not used (anymore) (at least intentionally). + +The consequence is that early sysv services are stopped during shutdown at +the same time as 'normal' services. +--- + src/sysv-generator/sysv-generator.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c +index a2c72d1009..1c01008967 100644 +--- a/src/sysv-generator/sysv-generator.c ++++ b/src/sysv-generator/sysv-generator.c +@@ -31,6 +31,9 @@ static const struct { + const char *path; + const char *target; + } rcnd_table[] = { ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET }, ++ + /* Standard SysV runlevels for start-up */ + { "rc1.d", SPECIAL_RESCUE_TARGET }, + { "rc2.d", SPECIAL_MULTI_USER_TARGET }, +@@ -57,6 +60,7 @@ typedef struct SysvStub { + bool has_lsb; + bool reload; + bool loaded; ++ bool early; + } SysvStub; + + static void free_sysvstub(SysvStub *s) { +@@ -147,6 +151,12 @@ static int generate_unit_file(SysvStub *s) { + fprintf(f, "Description=%s\n", t); + } + ++ if (s->early) { ++ fprintf(f, "DefaultDependencies=no\n"); ++ fprintf(f, "Conflicts=%s\n", SPECIAL_SHUTDOWN_TARGET); ++ fprintf(f, "Before=%s\n", SPECIAL_SHUTDOWN_TARGET); ++ } ++ + STRV_FOREACH(p, s->before) + fprintf(f, "Before=%s\n", *p); + STRV_FOREACH(p, s->after) +@@ -213,6 +223,10 @@ static char *sysv_translate_name(const char *name) { + _cleanup_free_ char *c = NULL; + char *res; + ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ name += 5; ++ + c = strdup(name); + if (!c) + return NULL; +@@ -289,6 +303,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + return 1; + } + ++ /* Strip "boot." prefix from file name for comparison (Suse specific) */ ++ e = startswith(filename, "boot."); ++ if (e) ++ filename += 5; ++ + /* Strip ".sh" suffix from file name for comparison */ + filename_no_sh = strdupa(filename); + e = endswith(filename_no_sh, ".sh"); +@@ -676,6 +695,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { + if (other->sysv_start_priority < 0) + continue; + ++ if (s->early != other->early) ++ continue; ++ + /* If both units have modern headers we don't care + * about the priorities */ + if (s->has_lsb && other->has_lsb) +@@ -800,6 +822,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { + .sysv_start_priority = -1, + .name = TAKE_PTR(name), + .path = TAKE_PTR(fpath), ++ .early = !!startswith(de->d_name, "boot."), + }; + + r = hashmap_put(all_services, service->name, service); +-- +2.26.2 + diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch new file mode 100644 index 00000000..c4fd62e1 --- /dev/null +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -0,0 +1,29 @@ +From 0adc3f402aeeadd73a0977ca6a1bc65d3d4201c1 Mon Sep 17 00:00:00 2001 +From: Pawel Wieczorkiewicz +Date: Tue, 2 Jun 2015 13:33:24 +0000 +Subject: [PATCH 07/12] networkd: make network.service an alias of + systemd-networkd.service + +NetworkManager and wicked does this already. This is needed by yast2 +and other parts of the system. + +[fixes boo#933092] +--- + units/systemd-networkd.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in +index 2673146841..083a35b912 100644 +--- a/units/systemd-networkd.service.in ++++ b/units/systemd-networkd.service.in +@@ -50,6 +50,7 @@ User=systemd-network + + [Install] + WantedBy=multi-user.target ++Alias=network.service + Also=systemd-networkd.socket + Alias=dbus-org.freedesktop.network1.service + +-- +2.26.2 + diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch new file mode 100644 index 00000000..d21fea50 --- /dev/null +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -0,0 +1,73 @@ +From a32292849ca2837f99d6801da26b8d8e401831c4 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Wed, 4 May 2016 17:40:04 +0200 +Subject: [PATCH 08/12] sysv-generator: translate "Required-Start" into a + "Wants" dependency + +[tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] + +[fbui: this is needed probably because insserv's behavior has been + sadly changed since SLE11: it now doesn't failed if a + dependency listed by Required-Start is missing.] + +[fbui: according to Werner "This should fix bnc#858864 and + bnc#857204." (see Base:System changelog)] +--- + src/sysv-generator/sysv-generator.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c +index 1c01008967..7a58be9287 100644 +--- a/src/sysv-generator/sysv-generator.c ++++ b/src/sysv-generator/sysv-generator.c +@@ -258,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, + "syslog", NULL, + "time", SPECIAL_TIME_SYNC_TARGET, ++ "all", SPECIAL_DEFAULT_TARGET, + }; + + const char *filename; +@@ -272,6 +273,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + + filename = basename(s->path); + ++ n = *name == '+' ? ++name : name; + n = *name == '$' ? name + 1 : name; + + for (i = 0; i < ELEMENTSOF(table); i += 2) { +@@ -408,7 +410,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text + + for (;;) { + _cleanup_free_ char *word = NULL, *m = NULL; +- bool is_before; ++ bool is_before, is_wanted; + + r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX); + if (r < 0) +@@ -421,6 +423,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text + continue; + + is_before = startswith_no_case(full_text, "X-Start-Before:"); ++ is_wanted = startswith_no_case(full_text, "Required-Start:"); + + if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) { + /* the network-online target is special, as it needs to be actively pulled in */ +@@ -429,8 +432,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text + return log_oom(); + + r = strv_extend(&s->wants, m); +- } else ++ } else { + r = strv_extend(is_before ? &s->before : &s->after, m); ++ ++ if (is_wanted) ++ r = strv_extend(&s->wants, m); ++ } ++ + if (r < 0) + return log_oom(); + } +-- +2.26.2 + diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch new file mode 100644 index 00000000..e4984478 --- /dev/null +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -0,0 +1,60 @@ +From 7fc80ccccaa6f7b98af8bcd899a97d561777ff94 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 10 Jun 2016 15:19:57 +0200 +Subject: [PATCH 09/12] pid1: handle console specificities/weirdness for s390 + arch + +The 3270 console on S/390 can do color but not the 3215 console. + +Partial forward port of +0001-On_s390_con3270_disable_ANSI_colour_esc.patch from SLE12-SP1. A +bunch of the previous code has been dropped since some changes +imported from upsteam made them uneeded. + +The remaining bits are probably hackish but at least they are now +minimal. + +It was an attempt to address bnc#860937. And yes turning the console +color mode off by passing $TERM=dumb via the kernel command line would +have been much more easier and enough. + +This is actually implemented by recent systemd. There's also another +command line option: systemd.log_color=off. + +See also a short discussion which happened on @systemd-maintainers +whose $subject is "[PATCH] support conmode setting on command line". + +[ fbui: fixes bsc#860937 ] +--- + src/basic/terminal-util.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c +index 6cacde90ba..1a03902acc 100644 +--- a/src/basic/terminal-util.c ++++ b/src/basic/terminal-util.c +@@ -780,7 +780,20 @@ bool tty_is_vc_resolve(const char *tty) { + } + + const char *default_term_for_tty(const char *tty) { +- return tty && tty_is_vc_resolve(tty) ? "linux" : "vt220"; ++ if (tty && tty_is_vc_resolve(tty)) ++ return "linux"; ++ ++#if defined (__s390__) || defined (__s390x__) ++ if (tty && tty_is_console(tty)) { ++ _cleanup_free_ char *mode = NULL; ++ ++ /* Simply return "dumb" in case of OOM. */ ++ (void) proc_cmdline_get_key("conmode", 0, &mode); ++ (void) proc_cmdline_value_missing("conmode", mode); ++ return streq_ptr(mode, "3270") ? "ibm327x" : "dumb"; ++ } ++#endif ++ return "vt220"; + } + + int fd_columns(int fd) { +-- +2.26.2 + diff --git a/0010-journald-disable-audit-support-completely-from-the-j.patch b/0010-journald-disable-audit-support-completely-from-the-j.patch new file mode 100644 index 00000000..a9d3bb66 --- /dev/null +++ b/0010-journald-disable-audit-support-completely-from-the-j.patch @@ -0,0 +1,80 @@ +From aeb4ca8cf65ee8f22cf7635fea2c501c015fc906 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 29 Jun 2016 17:55:35 +0200 +Subject: [PATCH 10/12] journald: disable audit support completely from the + journal + +This patch not only prevents journald to enable audit system +unconditionally very early at boot but also prevents it to receive +audit messages for the audit netlink and to push them into the +journal. + +The first reason is that when journald enables kernel audit, it does +not disable syscall audit (it doesn't load the audit rules), which +introduced a global performance hit. This can be minimized if audit +service is started but that's not the case for all systems. + +The second reason is that for systems where audit was disabled by +default they will suddenly have audit enabled (unless audit=0 was +already passed to the kernel command line). This means tons of audit +messages will be sent to dmesg, syslog, journal files, etc... + +Note also that audit messages are duplicated in the journal since they +are received both from kmsg and from the audit netlink. A related bug +report can be found here: +https://bugzilla.redhat.com/show_bug.cgi?id=1160046. + +This basically reverts the following upstream commits: + + - 875c2e220e2611165e09051c4747971811f1de58 + - 4d9ced9956755901238fede6fc5a3d7e4e816aa6 + +Upstream issue: +https://github.com/systemd/systemd/issues/959 + +So disable all of this for now until a better option is found or +someone comes up with a real use case. + +Also drop systemd-journald-audit.socket, indeed audit-logs-in-journal 'feature' +has been removed but the socket was still shipped and was statically +enabled. Therefore if auditd service was enabled, incoming messages could be +queued up to 128M and were never read (hence freed) by journald. + +[fbui: fixes bsc#984034] +[fbui: fixes bsc#1109252] +--- + src/journal/journald-server.c | 4 ++-- + units/meson.build | 2 -- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index 5865bf9809..14934080cd 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -2384,8 +2384,8 @@ int server_init(Server *s, const char *namespace) { + if (r < 0) + return r; + +- /* Unless we got *some* sockets and not audit, open audit socket */ +- if (s->audit_fd >= 0 || no_sockets) { ++ /* Suse: disable audit messages in journal entirely. */ ++ if (false && no_sockets) { + r = server_open_audit(s); + if (r < 0) + return r; +diff --git a/units/meson.build b/units/meson.build +index dadc9432ef..a31acd3b05 100644 +--- a/units/meson.build ++++ b/units/meson.build +@@ -110,8 +110,6 @@ units = [ + 'sysinit.target.wants/'], + ['systemd-journal-gatewayd.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], + ['systemd-journal-remote.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], +- ['systemd-journald-audit.socket', '', +- 'sockets.target.wants/'], + ['systemd-journald-dev-log.socket', '', + 'sockets.target.wants/'], + ['systemd-journald.socket', '', +-- +2.26.2 + diff --git a/0011-core-disable-session-keyring-per-system-sevice-entir.patch b/0011-core-disable-session-keyring-per-system-sevice-entir.patch new file mode 100644 index 00000000..a3e1fac1 --- /dev/null +++ b/0011-core-disable-session-keyring-per-system-sevice-entir.patch @@ -0,0 +1,45 @@ +From e5b3d1d00bbdbcb168889699c462bf01b58062a5 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 6 Jul 2017 15:48:10 +0200 +Subject: [PATCH 11/12] core: disable session keyring per system sevice + entirely for now + +Until PAM module "pam_keyinit" is fully integrated in SUSE's PAM stack, this +feature has to be disabled. + +openSUSE is still not ready for enabling the keyring stuff (see +bsc#1081947). Some services got fixed (sshd, getty@.service) but some still +haven't (xdm, login, ...) + +So leave it disabled again otherwise different users might end up using the +same session keyring - the one created for the service used for logging in +(sshd, getty@.service, xdm, etc...) + +The integration of pam_keyinit is tracked here: +https://bugzilla.opensuse.org/show_bug.cgi?id=1081947 + +See also: +https://github.com/systemd/systemd/pull/6286 + +[fbui: fixes boo#1045886] +--- + src/core/execute.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/execute.c b/src/core/execute.c +index 2a4840a3a9..aefd4eaff1 100644 +--- a/src/core/execute.c ++++ b/src/core/execute.c +@@ -2779,6 +2779,9 @@ static int setup_keyring( + assert(context); + assert(p); + ++ /* SUSE: pam_keyinit is still not fully integrated to SUSE's PAM stack... */ ++ return 0; ++ + /* Let's set up a new per-service "session" kernel keyring for each system service. This has the benefit that + * each service runs with its own keyring shared among all processes of the service, but with no hook-up beyond + * that scope, and in particular no link to the per-UID keyring. If we don't do this the keyring will be +-- +2.26.2 + diff --git a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch new file mode 100644 index 00000000..a687aaa0 --- /dev/null +++ b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -0,0 +1,53 @@ +From 90d84a96aca84b39f6aabda048703dc7c0e79ef4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Mar 2016 17:06:17 -0500 +Subject: [PATCH 12/12] resolved: create /etc/resolv.conf symlink at runtime + +If the symlink doesn't exists, and we are being started, let's +create it to provie name resolution. + +If it exists, do nothing. In particular, if it is a broken symlink, +we cannot really know if the administator configured it to point to +a location used by some service that hasn't started yet, so we +don't touch it in that case either. + +https://bugzilla.redhat.com/show_bug.cgi?id=1313085 +--- + src/resolve/resolved.c | 6 ++++++ + tmpfiles.d/etc.conf.m4 | 3 --- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c +index 16477f28d6..3922804039 100644 +--- a/src/resolve/resolved.c ++++ b/src/resolve/resolved.c +@@ -53,6 +53,12 @@ static int run(int argc, char *argv[]) { + if (r < 0) + return log_error_errno(r, "Cannot resolve user name %s: %m", user); + ++ /* As we're root, we can create /etc/resolv.conf symlink if it doesn't exist already */ ++ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); ++ if (r < 0 && errno != EEXIST) ++ log_warning_errno(errno, ++ "Could not create /etc/resolv.conf symlink: %m"); ++ + /* As we're root, we can create the directory where resolv.conf will live */ + r = mkdir_safe_label("/run/systemd/resolve", 0755, uid, gid, MKDIR_WARN_MODE); + if (r < 0) +diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 +index f82e0b82ce..66a777bdb2 100644 +--- a/tmpfiles.d/etc.conf.m4 ++++ b/tmpfiles.d/etc.conf.m4 +@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts + m4_ifdef(`HAVE_SMACK_RUN_LABEL', + t /etc/mtab - - - - security.SMACK64=_ + )m4_dnl +-m4_ifdef(`ENABLE_RESOLVE', +-L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf +-)m4_dnl + C! /etc/nsswitch.conf - - - - + m4_ifdef(`HAVE_PAM', + C! /etc/pam.d - - - - +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 5ac5e11c..371a0590 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Sep 2 10:14:10 UTC 2020 - Franck Bui + +- Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) + + See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for + details. + + Now that the number of SUSE specific patches has been shrinked and + is pretty low (12 at the time of this writing), they are no more + tracked by the git repo and are now handled at the package + level. Hence It is easier to maintain and identify them. This + effectively means that SUSE/v246 will contain upstream commits only. + ------------------------------------------------------------------- Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt diff --git a/systemd-mini.spec b/systemd-mini.spec index 0d078415..1ba306fa 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.51.ga4e393eecb +%define suse_version +suse.20.gf1344d5b7f %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.7 +Version: 246.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -159,12 +159,29 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -# Patches listed in here are put in quarantine. Normally all -# changes must go to upstream first and then are cherry-picked in the -# SUSE git repository. But in very few cases, some stuff might be -# broken in upstream and need an urgent fix. Even in this case, the -# patches are temporary and should be removed as soon as a fix is -# merged by upstream. +# Patches listed below are SUSE specific and should be kept at its +# minimum. We try hard to push our changes to upstream but sometimes +# they are only relevant for SUSE distros. Special rewards for those +# who will manage to get rid of one of them ! +Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch +Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch10: 0010-journald-disable-audit-support-completely-from-the-j.patch +Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch +Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + +# Patches listed below are put in quarantine. Normally all changes +# must go to upstream first and then are cherry-picked in the SUSE git +# repository. But in very few cases, some stuff might be broken in +# upstream and need an urgent fix. Even in this case, the patches are +# temporary and should be removed as soon as a fix is merged by +# upstream. %description Systemd is a system and service manager, compatible with SysV and LSB @@ -604,8 +621,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +%if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -1282,7 +1301,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* -%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* @@ -1359,15 +1378,19 @@ fi /sbin/halt /sbin/shutdown /sbin/poweroff +%if %{with sysvcompat} /sbin/telinit /sbin/runlevel +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt %{_sbindir}/shutdown %{_sbindir}/poweroff +%if %{with sysvcompat} %{_sbindir}/telinit %{_sbindir}/runlevel +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* diff --git a/systemd-v245.7+suse.51.ga4e393eecb.tar.xz b/systemd-v245.7+suse.51.ga4e393eecb.tar.xz deleted file mode 100644 index 815e59f1..00000000 --- a/systemd-v245.7+suse.51.ga4e393eecb.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e0cce0a5990f8ddc03e1dcdb1af7f20331e3e885596710f8a68563882c50d31e -size 6301856 diff --git a/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz b/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz new file mode 100644 index 00000000..56657747 --- /dev/null +++ b/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:707b0dca1d9dd0fa8c8858090b5e14d9741bacda2c4d0a1745707b57b395b254 +size 6548244 diff --git a/systemd.changes b/systemd.changes index 5ac5e11c..371a0590 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Sep 2 10:14:10 UTC 2020 - Franck Bui + +- Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) + + See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for + details. + + Now that the number of SUSE specific patches has been shrinked and + is pretty low (12 at the time of this writing), they are no more + tracked by the git repo and are now handled at the package + level. Hence It is easier to maintain and identify them. This + effectively means that SUSE/v246 will contain upstream commits only. + ------------------------------------------------------------------- Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt diff --git a/systemd.spec b/systemd.spec index d39a85e1..2959619b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.51.ga4e393eecb +%define suse_version +suse.20.gf1344d5b7f %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.7 +Version: 246.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -157,12 +157,29 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -# Patches listed in here are put in quarantine. Normally all -# changes must go to upstream first and then are cherry-picked in the -# SUSE git repository. But in very few cases, some stuff might be -# broken in upstream and need an urgent fix. Even in this case, the -# patches are temporary and should be removed as soon as a fix is -# merged by upstream. +# Patches listed below are SUSE specific and should be kept at its +# minimum. We try hard to push our changes to upstream but sometimes +# they are only relevant for SUSE distros. Special rewards for those +# who will manage to get rid of one of them ! +Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch +Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch10: 0010-journald-disable-audit-support-completely-from-the-j.patch +Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch +Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + +# Patches listed below are put in quarantine. Normally all changes +# must go to upstream first and then are cherry-picked in the SUSE git +# repository. But in very few cases, some stuff might be broken in +# upstream and need an urgent fix. Even in this case, the patches are +# temporary and should be removed as soon as a fix is merged by +# upstream. %description Systemd is a system and service manager, compatible with SysV and LSB @@ -602,8 +619,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +%if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -1280,7 +1299,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* -%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* @@ -1357,15 +1376,19 @@ fi /sbin/halt /sbin/shutdown /sbin/poweroff +%if %{with sysvcompat} /sbin/telinit /sbin/runlevel +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt %{_sbindir}/shutdown %{_sbindir}/poweroff +%if %{with sysvcompat} %{_sbindir}/telinit %{_sbindir}/runlevel +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* From 04d45461362587fbef8c92db91ad40f39b4a8d6939957314379527f970a13b8f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 4 Sep 2020 07:03:08 +0000 Subject: [PATCH 500/991] Accepting request 832018 from home:fbui:systemd:openSUSE-Factory Document patch additions in changelog OBS-URL: https://build.opensuse.org/request/show/832018 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1114 --- systemd-mini.changes | 13 +++++++++++++ systemd.changes | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 371a0590..7f57f6c4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -12,6 +12,19 @@ Wed Sep 2 10:14:10 UTC 2020 - Franck Bui level. Hence It is easier to maintain and identify them. This effectively means that SUSE/v246 will contain upstream commits only. + Added 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + Added 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + Added 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + Added 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + Added 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch + Added 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + Added 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + Added 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + Added 0009-pid1-handle-console-specificities-weirdness-for-s390.patch + Added 0010-journald-disable-audit-support-completely-from-the-j.patch + Added 0011-core-disable-session-keyring-per-system-sevice-entir.patch + Added 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt diff --git a/systemd.changes b/systemd.changes index 371a0590..7f57f6c4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -12,6 +12,19 @@ Wed Sep 2 10:14:10 UTC 2020 - Franck Bui level. Hence It is easier to maintain and identify them. This effectively means that SUSE/v246 will contain upstream commits only. + Added 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + Added 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + Added 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + Added 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + Added 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch + Added 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + Added 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + Added 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + Added 0009-pid1-handle-console-specificities-weirdness-for-s390.patch + Added 0010-journald-disable-audit-support-completely-from-the-j.patch + Added 0011-core-disable-session-keyring-per-system-sevice-entir.patch + Added 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt From b7b0ea02227075f76d07213cbebbaa8722888baec8b8a6f71145d45cd8a6260a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 10 Sep 2020 09:24:34 +0000 Subject: [PATCH 501/991] Accepting request 833414 from home:fbui:systemd:openSUSE-Factory - Enable audit support (bsc#1175883) OBS-URL: https://build.opensuse.org/request/show/833414 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1115 --- systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 1 + systemd.changes | 10 ++++++++++ systemd.spec | 1 + 4 files changed, 22 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 7f57f6c4..d9dbd575 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Sep 10 09:02:13 UTC 2020 - Franck Bui + +- Enable audit support (bsc#1175883) + + Enabling audit support in systemd will only make PID1 (and some of + its services) to generate some audit records for certain events. But + it doesn't affect journald, which has been prevented from recording + audit messages in the journal (SUSE specific behavior). + ------------------------------------------------------------------- Wed Sep 2 10:14:10 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 1ba306fa..88c77ae6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -71,6 +71,7 @@ BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3-base BuildRequires: python3-lxml +BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) diff --git a/systemd.changes b/systemd.changes index 7f57f6c4..d9dbd575 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Sep 10 09:02:13 UTC 2020 - Franck Bui + +- Enable audit support (bsc#1175883) + + Enabling audit support in systemd will only make PID1 (and some of + its services) to generate some audit records for certain events. But + it doesn't affect journald, which has been prevented from recording + audit messages in the journal (SUSE specific behavior). + ------------------------------------------------------------------- Wed Sep 2 10:14:10 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2959619b..71f753ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -69,6 +69,7 @@ BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3-base BuildRequires: python3-lxml +BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) From 9f480b6a46ce06658a8d12ac24cf4f9a714141008cec709899b7b9be86b88ad4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 10 Sep 2020 14:46:13 +0000 Subject: [PATCH 502/991] Accepting request 833500 from home:fbui:systemd:openSUSE-Factory - Rework how we prevent journald from both enabling auditd and OBS-URL: https://build.opensuse.org/request/show/833500 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1116 --- ...-audit-support-completely-from-the-j.patch | 80 ------------------- systemd-mini.changes | 19 +++++ systemd-mini.spec | 16 +++- systemd.changes | 19 +++++ systemd.spec | 16 +++- 5 files changed, 68 insertions(+), 82 deletions(-) delete mode 100644 0010-journald-disable-audit-support-completely-from-the-j.patch diff --git a/0010-journald-disable-audit-support-completely-from-the-j.patch b/0010-journald-disable-audit-support-completely-from-the-j.patch deleted file mode 100644 index a9d3bb66..00000000 --- a/0010-journald-disable-audit-support-completely-from-the-j.patch +++ /dev/null @@ -1,80 +0,0 @@ -From aeb4ca8cf65ee8f22cf7635fea2c501c015fc906 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 29 Jun 2016 17:55:35 +0200 -Subject: [PATCH 10/12] journald: disable audit support completely from the - journal - -This patch not only prevents journald to enable audit system -unconditionally very early at boot but also prevents it to receive -audit messages for the audit netlink and to push them into the -journal. - -The first reason is that when journald enables kernel audit, it does -not disable syscall audit (it doesn't load the audit rules), which -introduced a global performance hit. This can be minimized if audit -service is started but that's not the case for all systems. - -The second reason is that for systems where audit was disabled by -default they will suddenly have audit enabled (unless audit=0 was -already passed to the kernel command line). This means tons of audit -messages will be sent to dmesg, syslog, journal files, etc... - -Note also that audit messages are duplicated in the journal since they -are received both from kmsg and from the audit netlink. A related bug -report can be found here: -https://bugzilla.redhat.com/show_bug.cgi?id=1160046. - -This basically reverts the following upstream commits: - - - 875c2e220e2611165e09051c4747971811f1de58 - - 4d9ced9956755901238fede6fc5a3d7e4e816aa6 - -Upstream issue: -https://github.com/systemd/systemd/issues/959 - -So disable all of this for now until a better option is found or -someone comes up with a real use case. - -Also drop systemd-journald-audit.socket, indeed audit-logs-in-journal 'feature' -has been removed but the socket was still shipped and was statically -enabled. Therefore if auditd service was enabled, incoming messages could be -queued up to 128M and were never read (hence freed) by journald. - -[fbui: fixes bsc#984034] -[fbui: fixes bsc#1109252] ---- - src/journal/journald-server.c | 4 ++-- - units/meson.build | 2 -- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index 5865bf9809..14934080cd 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -2384,8 +2384,8 @@ int server_init(Server *s, const char *namespace) { - if (r < 0) - return r; - -- /* Unless we got *some* sockets and not audit, open audit socket */ -- if (s->audit_fd >= 0 || no_sockets) { -+ /* Suse: disable audit messages in journal entirely. */ -+ if (false && no_sockets) { - r = server_open_audit(s); - if (r < 0) - return r; -diff --git a/units/meson.build b/units/meson.build -index dadc9432ef..a31acd3b05 100644 ---- a/units/meson.build -+++ b/units/meson.build -@@ -110,8 +110,6 @@ units = [ - 'sysinit.target.wants/'], - ['systemd-journal-gatewayd.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], - ['systemd-journal-remote.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], -- ['systemd-journald-audit.socket', '', -- 'sockets.target.wants/'], - ['systemd-journald-dev-log.socket', '', - 'sockets.target.wants/'], - ['systemd-journald.socket', '', --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index d9dbd575..81b39a4e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Sep 10 12:59:54 UTC 2020 - Franck Bui + +- Rework how we prevent journald from both enabling auditd and + recording audit messages + + journald.conf gained a new setting Audit= to control whether + journald enables audit during the boot process. So let's use it and + make sure it's disabled by default by shipping a drop-in that + overrides upstream default. + + Also we used to patch systemd to prevent journald from reading the + audit messages. There's still no way for downstream to configure + that properly (we would need to mask systemd-journald-audit.socket + meaning shipping a symlink in /etc) but I think dropping + systemd-journald-audit.socket from the package is a nicer way to do + that as some users might choose to reenable this setting (by + reintroducing the socket unit in /etc). + ------------------------------------------------------------------- Thu Sep 10 09:02:13 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 88c77ae6..f7f696ea 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -173,7 +173,6 @@ Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -Patch10: 0010-journald-disable-audit-support-completely-from-the-j.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -798,6 +797,19 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +# Create a drop-in to prevent journald from starting auditd during +# boot (bsc#984034). +mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d +cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf < + +- Rework how we prevent journald from both enabling auditd and + recording audit messages + + journald.conf gained a new setting Audit= to control whether + journald enables audit during the boot process. So let's use it and + make sure it's disabled by default by shipping a drop-in that + overrides upstream default. + + Also we used to patch systemd to prevent journald from reading the + audit messages. There's still no way for downstream to configure + that properly (we would need to mask systemd-journald-audit.socket + meaning shipping a symlink in /etc) but I think dropping + systemd-journald-audit.socket from the package is a nicer way to do + that as some users might choose to reenable this setting (by + reintroducing the socket unit in /etc). + ------------------------------------------------------------------- Thu Sep 10 09:02:13 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 71f753ff..bd35fc30 100644 --- a/systemd.spec +++ b/systemd.spec @@ -171,7 +171,6 @@ Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -Patch10: 0010-journald-disable-audit-support-completely-from-the-j.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -796,6 +795,19 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +# Create a drop-in to prevent journald from starting auditd during +# boot (bsc#984034). +mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d +cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf < Date: Wed, 16 Sep 2020 13:58:10 +0000 Subject: [PATCH 503/991] Accepting request 834923 from home:fbui:systemd:openSUSE-Factory - Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch A temporary patch until the installer environment is updated to create some of the symlinks that udevd used to create during its startup but now udevd relies on the init system to do so. OBS-URL: https://build.opensuse.org/request/show/834923 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1117 --- ...restore-the-creation-a-few-symlinks-.patch | 40 +++++++++++++++++++ systemd-mini.changes | 9 +++++ systemd-mini.spec | 1 + systemd.changes | 9 +++++ systemd.spec | 1 + 5 files changed, 60 insertions(+) create mode 100644 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch diff --git a/0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch b/0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch new file mode 100644 index 00000000..3734f06e --- /dev/null +++ b/0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch @@ -0,0 +1,40 @@ +From d5c1b44cf07918b4a28d905cc188c18bb16ab1f3 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 16 Sep 2020 15:27:14 +0200 +Subject: [PATCH 1/1] udev: temporarly restore the creation a few symlinks in + /dev + +udevd used to create the following symlinks during its startup. + + /dev/core + /dev/fd + /dev/stdin + /dev/stdout + /dev/stderr + +but this isn't needed when systemd is run as init and other init systems should +do this on their own. + +This commit partially reverts commit 6b2229c6c60d0486f5eb9ed3088f9c780d7c0233 +and makes udevd creates the symlinks again until the installer environment is +fixed. +--- + src/udev/udevd.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index f3236dedfa..d24aae34ff 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -1869,6 +1869,8 @@ int run_udevd(int argc, char *argv[]) { + if (r < 0 && r != -EEXIST) + return log_error_errno(r, "Failed to create /run/udev: %m"); + ++ dev_setup(NULL, UID_INVALID, GID_INVALID); ++ + if (getppid() == 1 && sd_booted() > 0) { + /* Get our own cgroup, we regularly kill everything udev has left behind. + * We only do this on systemd systems, and only if we are directly spawned +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 81b39a4e..37e671c7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Sep 16 13:42:04 UTC 2020 - Franck Bui + +- Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + A temporary patch until the installer environment is updated to + create some of the symlinks that udevd used to create during its + startup but now udevd relies on the init system to do so. + ------------------------------------------------------------------- Thu Sep 10 12:59:54 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f7f696ea..7b9fa532 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -175,6 +175,7 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch13: 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git diff --git a/systemd.changes b/systemd.changes index 81b39a4e..37e671c7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Sep 16 13:42:04 UTC 2020 - Franck Bui + +- Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + A temporary patch until the installer environment is updated to + create some of the symlinks that udevd used to create during its + startup but now udevd relies on the init system to do so. + ------------------------------------------------------------------- Thu Sep 10 12:59:54 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bd35fc30..eb8fdaa8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -173,6 +173,7 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch13: 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git From dbf44fd4bffc13bebb805034afa03b462dd6a5f4f009371581e8bb075b8d1b0a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Sep 2020 14:11:19 +0000 Subject: [PATCH 504/991] Accepting request 834931 from home:fbui:systemd:openSUSE-Factory - Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch linuxrc has already been fixed. OBS-URL: https://build.opensuse.org/request/show/834931 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1118 --- ...restore-the-creation-a-few-symlinks-.patch | 40 ------------------- systemd-mini.changes | 7 ++++ systemd-mini.spec | 1 - systemd.changes | 7 ++++ systemd.spec | 1 - 5 files changed, 14 insertions(+), 42 deletions(-) delete mode 100644 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch diff --git a/0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch b/0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch deleted file mode 100644 index 3734f06e..00000000 --- a/0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d5c1b44cf07918b4a28d905cc188c18bb16ab1f3 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 16 Sep 2020 15:27:14 +0200 -Subject: [PATCH 1/1] udev: temporarly restore the creation a few symlinks in - /dev - -udevd used to create the following symlinks during its startup. - - /dev/core - /dev/fd - /dev/stdin - /dev/stdout - /dev/stderr - -but this isn't needed when systemd is run as init and other init systems should -do this on their own. - -This commit partially reverts commit 6b2229c6c60d0486f5eb9ed3088f9c780d7c0233 -and makes udevd creates the symlinks again until the installer environment is -fixed. ---- - src/udev/udevd.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index f3236dedfa..d24aae34ff 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -1869,6 +1869,8 @@ int run_udevd(int argc, char *argv[]) { - if (r < 0 && r != -EEXIST) - return log_error_errno(r, "Failed to create /run/udev: %m"); - -+ dev_setup(NULL, UID_INVALID, GID_INVALID); -+ - if (getppid() == 1 && sd_booted() > 0) { - /* Get our own cgroup, we regularly kill everything udev has left behind. - * We only do this on systemd systems, and only if we are directly spawned --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 37e671c7..0932d62e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Sep 16 14:07:56 UTC 2020 - Franck Bui + +- Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + linuxrc has already been fixed. + ------------------------------------------------------------------- Wed Sep 16 13:42:04 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 7b9fa532..f7f696ea 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -175,7 +175,6 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch -Patch13: 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git diff --git a/systemd.changes b/systemd.changes index 37e671c7..0932d62e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Sep 16 14:07:56 UTC 2020 - Franck Bui + +- Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + linuxrc has already been fixed. + ------------------------------------------------------------------- Wed Sep 16 13:42:04 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index eb8fdaa8..bd35fc30 100644 --- a/systemd.spec +++ b/systemd.spec @@ -173,7 +173,6 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch -Patch13: 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git From f34966767e1df50e30d0de5ed9209290532ae46d67e330b617570129ae673e40 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 17 Sep 2020 12:35:38 +0000 Subject: [PATCH 505/991] Accepting request 834932 from Base:System OBS-URL: https://build.opensuse.org/request/show/834932 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=316 --- ...and-var-lock-bind-mount-if-they-aren.patch | 80 +++++++++++ ...ering-startup-for-etc-init.d-boot.lo.patch | 27 ++++ ...-part-from-etc-hostname-when-setting.patch | 43 ++++++ ...-exclude-statements-based-on-file-ow.patch | 124 ++++++++++++++++++ ...ult-symlinks-for-primary-cd_dvd-driv.patch | 29 ++++ ...dd-back-support-for-SysV-scripts-for.patch | 123 +++++++++++++++++ ...twork.service-an-alias-of-systemd-ne.patch | 29 ++++ ...ranslate-Required-Start-into-a-Wants.patch | 73 +++++++++++ ...ole-specificities-weirdness-for-s390.patch | 60 +++++++++ ...sion-keyring-per-system-sevice-entir.patch | 45 +++++++ ...e-etc-resolv.conf-symlink-at-runtime.patch | 53 ++++++++ systemd-mini.changes | 72 ++++++++++ systemd-mini.spec | 73 +++++++++-- systemd-v245.7+suse.51.ga4e393eecb.tar.xz | 3 - systemd-v246.4+suse.20.gf1344d5b7f.tar.xz | 3 + systemd.changes | 72 ++++++++++ systemd.spec | 73 +++++++++-- 17 files changed, 953 insertions(+), 29 deletions(-) create mode 100644 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch create mode 100644 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch create mode 100644 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch create mode 100644 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch create mode 100644 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch create mode 100644 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch create mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch create mode 100644 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch create mode 100644 0009-pid1-handle-console-specificities-weirdness-for-s390.patch create mode 100644 0011-core-disable-session-keyring-per-system-sevice-entir.patch create mode 100644 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch delete mode 100644 systemd-v245.7+suse.51.ga4e393eecb.tar.xz create mode 100644 systemd-v246.4+suse.20.gf1344d5b7f.tar.xz diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch new file mode 100644 index 00000000..dfc696e1 --- /dev/null +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -0,0 +1,80 @@ +From f98af900e625b15862f9173a5c55662d4cee7356 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Mon, 29 Oct 2012 13:01:20 +0000 +Subject: [PATCH 01/12] restore /var/run and /var/lock bind mount if they + aren't symlink + +--- + units/meson.build | 2 ++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ + 3 files changed, 40 insertions(+) + create mode 100644 units/var-lock.mount + create mode 100644 units/var-run.mount + +diff --git a/units/meson.build b/units/meson.build +index 275daad3f4..dadc9432ef 100644 +--- a/units/meson.build ++++ b/units/meson.build +@@ -150,6 +150,8 @@ units = [ + ['umount.target', ''], + ['usb-gadget.target', ''], + ['user.slice', ''], ++ ['var-run.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ++ ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], + ['var-lib-machines.mount', 'ENABLE_MACHINED', + 'remote-fs.target.wants/ machines.target.wants/'], + ] +diff --git a/units/var-lock.mount b/units/var-lock.mount +new file mode 100644 +index 0000000000..07277adac3 +--- /dev/null ++++ b/units/var-lock.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Lock Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/lock ++ConditionPathIsSymbolicLink=!/var/lock ++ ++[Mount] ++What=/run/lock ++Where=/var/lock ++Type=bind ++Options=bind +diff --git a/units/var-run.mount b/units/var-run.mount +new file mode 100644 +index 0000000000..ab4da424c9 +--- /dev/null ++++ b/units/var-run.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Runtime Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/run ++ConditionPathIsSymbolicLink=!/var/run ++ ++[Mount] ++What=/run ++Where=/var/run ++Type=bind ++Options=bind +-- +2.26.2 + diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch new file mode 100644 index 00000000..352b252c --- /dev/null +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -0,0 +1,27 @@ +From 59f2eadb29ac38803fd32fe52f1403343a7d74ac Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Tue, 25 Mar 2014 13:08:56 +0000 +Subject: [PATCH 02/12] rc-local: fix ordering startup for + /etc/init.d/boot.local + +[tblume: fixes bnc#869142] +--- + units/rc-local.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/rc-local.service.in b/units/rc-local.service.in +index 78ce69e0ae..0bcea82bed 100644 +--- a/units/rc-local.service.in ++++ b/units/rc-local.service.in +@@ -13,7 +13,7 @@ + Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility + Documentation=man:systemd-rc-local-generator(8) + ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ +-After=network.target ++After=basic.target + + [Service] + Type=forking +-- +2.26.2 + diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch new file mode 100644 index 00000000..5e9a1dfd --- /dev/null +++ b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -0,0 +1,43 @@ +From f299a8180f1db0680b454c0e37696891361e3067 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Tue, 28 May 2013 15:17:35 +0200 +Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting + system host name + +[fbui: fixes bnc#820213] +[fbui: forwardported from bfd2462b8ddec591d953841ab22bb30bdc6f9085] +[fbui: adjust context and make sure that strip of the domain name is + only done when setting the system host name. Therefore it's + still possible to pass an FQDN to hostnamectl] +[fbui: I'm still not sure that it was the right thing to do. Other + possibility was to fix the installer to create a correct + /etc/hostname file. Need to investigate...] +--- + src/core/hostname-setup.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c +index 6d047db838..1acc0c998b 100644 +--- a/src/core/hostname-setup.c ++++ b/src/core/hostname-setup.c +@@ -39,8 +39,16 @@ int hostname_setup(void) { + enoent = true; + else + log_warning_errno(r, "Failed to read configured hostname: %m"); +- } else ++ } else { ++ char *domain; ++ ++ /* SUSE: strip the domain name */ ++ domain = strchr(b, '.'); ++ if (domain) ++ *domain = '\0'; ++ + hn = b; ++ } + } + + if (isempty(hn)) { +-- +2.26.2 + diff --git a/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch b/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch new file mode 100644 index 00000000..570f2c91 --- /dev/null +++ b/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch @@ -0,0 +1,124 @@ +From b46d43bf980afe13cfff39fc2876aed10f33db1d Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Thu, 14 Apr 2016 15:42:02 +0200 +Subject: [PATCH 04/12] tmpfiles: support exclude statements based on file + ownership + +SUSE supported tmpfile cleanups based on file ownership before systemd. +So this feature needs to be available in systemd. +This was part of fate#314974 + +[tblume: suse-only patch ported from SLES12-SP1 commit e769a63907ae4b] +[tblume: part of fate#314974] +--- + man/tmpfiles.d.xml | 4 +++- + src/tmpfiles/tmpfiles.c | 49 ++++++++++++++++++++++++++++++++--------- + 2 files changed, 42 insertions(+), 11 deletions(-) + +diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml +index b9e9eee96c..b90ae01345 100644 +--- a/man/tmpfiles.d.xml ++++ b/man/tmpfiles.d.xml +@@ -605,7 +605,9 @@ w- /proc/sys/vm/swappiness - - - - 10 + suffixed by a newline. For C, specifies the source file or directory. For t + and T, determines extended attributes to be set. For a and + A, determines ACL attributes to be set. For h and H, +- determines the file attributes to set. Ignored for all other lines. ++ determines the file attributes to set. For x and X a comma separated list ++ of usernames. If given, only paths belonging to these users will be excluded during directory cleanup. Ignored ++ for all other lines. + + This field can contain specifiers, see below. + +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 2404e36bf2..349653c786 100644 +--- a/src/tmpfiles/tmpfiles.c ++++ b/src/tmpfiles/tmpfiles.c +@@ -14,6 +14,8 @@ + #include + #include + #include ++#include ++#include + + #include "sd-path.h" + +@@ -505,6 +507,7 @@ static int dir_cleanup( + struct stat s; + usec_t age; + _cleanup_free_ char *sub_path = NULL; ++ Item *found; + + if (dot_or_dot_dot(dent->d_name)) + continue; +@@ -546,15 +549,41 @@ static int dir_cleanup( + goto finish; + } + +- /* Is there an item configured for this path? */ +- if (ordered_hashmap_get(items, sub_path)) { +- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); +- continue; +- } ++ /* evaluate username arguments in ignore statements */ ++ found = find_glob(globs, sub_path); + +- if (find_glob(globs, sub_path)) { +- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); +- continue; ++ if (i->type == CREATE_DIRECTORY && found && found->argument) { ++ struct passwd *pw; ++ char *userfound = NULL, *args = strdup(found->argument); ++ bool match = false; ++ ++ while ((userfound = strsep(&args, ","))) { ++ pw = getpwnam(userfound); ++ ++ if (pw) { ++ if (s.st_uid == pw->pw_uid) { ++ match = true; ++ break; ++ } ++ } ++ } ++ ++ if (match) { ++ log_debug("Ignoring \"%s\" of user \"%s\".", sub_path, pw->pw_name); ++ match=false; ++ continue; ++ } ++ } else { ++ /* Is there an item configured for this path? */ ++ if (ordered_hashmap_get(items, sub_path)) { ++ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); ++ continue; ++ } ++ ++ if (found) { ++ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); ++ continue; ++ } + } + + if (S_ISDIR(s.st_mode)) { +@@ -2637,8 +2666,6 @@ static int parse_line( + case EMPTY_DIRECTORY: + case TRUNCATE_DIRECTORY: + case CREATE_FIFO: +- case IGNORE_PATH: +- case IGNORE_DIRECTORY_PATH: + case REMOVE_PATH: + case RECURSIVE_REMOVE_PATH: + case ADJUST_MODE: +@@ -2649,6 +2676,8 @@ static int parse_line( + + break; + ++ case IGNORE_PATH: ++ case IGNORE_DIRECTORY_PATH: + case CREATE_FILE: + case TRUNCATE_FILE: + break; +-- +2.26.2 + diff --git a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch new file mode 100644 index 00000000..b37a8acc --- /dev/null +++ b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch @@ -0,0 +1,29 @@ +From 8e95d5534e9a577529ac49aaec610e6ceefec0b9 Mon Sep 17 00:00:00 2001 +From: Robert Milasan +Date: Sat, 12 Jul 2014 14:20:36 +0200 +Subject: [PATCH 05/12] udev: create default symlinks for primary cd_dvd drive + +Imported from SLE12-SP1, commit 4f8bacfbffd7049608b5076. + +[rmilasan: fixes bnc#783054] +--- + rules.d/60-cdrom_id.rules | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/rules.d/60-cdrom_id.rules b/rules.d/60-cdrom_id.rules +index 288f8ce2f9..578c77441c 100644 +--- a/rules.d/60-cdrom_id.rules ++++ b/rules.d/60-cdrom_id.rules +@@ -25,5 +25,9 @@ IMPORT{program}="cdrom_id --lock-media $devnode" + ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" + + KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" + + LABEL="cdrom_end" +-- +2.26.2 + diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch new file mode 100644 index 00000000..53c44ddd --- /dev/null +++ b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch @@ -0,0 +1,123 @@ +From f9521480d5dc5af747fecc9adc4c617e473e5494 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 26 May 2016 08:59:41 +0200 +Subject: [PATCH 06/12] sysv-generator: add (back) support for SysV scripts for + the early boot + +For the record, the upstream support was removed by commit +3cdebc217c42c8529086f2965319b6a48eaaeabe. + +The sysv-generator has some weirdos: for example a service at the rc0 +runlevel won't be started during shutdown since it will get both +"WantedBy=poweroff.target" and "Conflicts=shutdown.target". + +Anyways what's the current patch implements the following: + + - a symlink /etc/init.d/boot.d/S??boot.foo will add + "WantedBy/Before=sysinit.target" constraints and make sure that the + default dependencies added by systemd are turned off. + + - a symlink /etc/init.d/boot.d/K??boot.foo will add + "Conflicts/Before=shutdown.target" so "foo" service will be stopped + like any other regular services. If this symlink is not installed + however, "foo" will be stopped lately during the systemd killing + spree. + +This is a forward-port of commit 29db8537e1ca10796797d9854d1 in SP1. + +[Since v232] + +Support for S* symlinks in runlevel 0 or 6 has been completely and silently +removed by 788d2b088b13a2444b9eb2ea82c0cc57d9f0980f. Since it was already +broken as pointed out above, this probably wasn't really used and therefore +no one will really care. So let's drop it too. + +However this has the side effect to make the support of early sysv scripts more +difficult. To make things easy, the support of K* symlinks in boot.d/ has been +removed too: this is probably not used (anymore) (at least intentionally). + +The consequence is that early sysv services are stopped during shutdown at +the same time as 'normal' services. +--- + src/sysv-generator/sysv-generator.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c +index a2c72d1009..1c01008967 100644 +--- a/src/sysv-generator/sysv-generator.c ++++ b/src/sysv-generator/sysv-generator.c +@@ -31,6 +31,9 @@ static const struct { + const char *path; + const char *target; + } rcnd_table[] = { ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET }, ++ + /* Standard SysV runlevels for start-up */ + { "rc1.d", SPECIAL_RESCUE_TARGET }, + { "rc2.d", SPECIAL_MULTI_USER_TARGET }, +@@ -57,6 +60,7 @@ typedef struct SysvStub { + bool has_lsb; + bool reload; + bool loaded; ++ bool early; + } SysvStub; + + static void free_sysvstub(SysvStub *s) { +@@ -147,6 +151,12 @@ static int generate_unit_file(SysvStub *s) { + fprintf(f, "Description=%s\n", t); + } + ++ if (s->early) { ++ fprintf(f, "DefaultDependencies=no\n"); ++ fprintf(f, "Conflicts=%s\n", SPECIAL_SHUTDOWN_TARGET); ++ fprintf(f, "Before=%s\n", SPECIAL_SHUTDOWN_TARGET); ++ } ++ + STRV_FOREACH(p, s->before) + fprintf(f, "Before=%s\n", *p); + STRV_FOREACH(p, s->after) +@@ -213,6 +223,10 @@ static char *sysv_translate_name(const char *name) { + _cleanup_free_ char *c = NULL; + char *res; + ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ name += 5; ++ + c = strdup(name); + if (!c) + return NULL; +@@ -289,6 +303,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + return 1; + } + ++ /* Strip "boot." prefix from file name for comparison (Suse specific) */ ++ e = startswith(filename, "boot."); ++ if (e) ++ filename += 5; ++ + /* Strip ".sh" suffix from file name for comparison */ + filename_no_sh = strdupa(filename); + e = endswith(filename_no_sh, ".sh"); +@@ -676,6 +695,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { + if (other->sysv_start_priority < 0) + continue; + ++ if (s->early != other->early) ++ continue; ++ + /* If both units have modern headers we don't care + * about the priorities */ + if (s->has_lsb && other->has_lsb) +@@ -800,6 +822,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { + .sysv_start_priority = -1, + .name = TAKE_PTR(name), + .path = TAKE_PTR(fpath), ++ .early = !!startswith(de->d_name, "boot."), + }; + + r = hashmap_put(all_services, service->name, service); +-- +2.26.2 + diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch new file mode 100644 index 00000000..c4fd62e1 --- /dev/null +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -0,0 +1,29 @@ +From 0adc3f402aeeadd73a0977ca6a1bc65d3d4201c1 Mon Sep 17 00:00:00 2001 +From: Pawel Wieczorkiewicz +Date: Tue, 2 Jun 2015 13:33:24 +0000 +Subject: [PATCH 07/12] networkd: make network.service an alias of + systemd-networkd.service + +NetworkManager and wicked does this already. This is needed by yast2 +and other parts of the system. + +[fixes boo#933092] +--- + units/systemd-networkd.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in +index 2673146841..083a35b912 100644 +--- a/units/systemd-networkd.service.in ++++ b/units/systemd-networkd.service.in +@@ -50,6 +50,7 @@ User=systemd-network + + [Install] + WantedBy=multi-user.target ++Alias=network.service + Also=systemd-networkd.socket + Alias=dbus-org.freedesktop.network1.service + +-- +2.26.2 + diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch new file mode 100644 index 00000000..d21fea50 --- /dev/null +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -0,0 +1,73 @@ +From a32292849ca2837f99d6801da26b8d8e401831c4 Mon Sep 17 00:00:00 2001 +From: Thomas Blume +Date: Wed, 4 May 2016 17:40:04 +0200 +Subject: [PATCH 08/12] sysv-generator: translate "Required-Start" into a + "Wants" dependency + +[tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] + +[fbui: this is needed probably because insserv's behavior has been + sadly changed since SLE11: it now doesn't failed if a + dependency listed by Required-Start is missing.] + +[fbui: according to Werner "This should fix bnc#858864 and + bnc#857204." (see Base:System changelog)] +--- + src/sysv-generator/sysv-generator.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c +index 1c01008967..7a58be9287 100644 +--- a/src/sysv-generator/sysv-generator.c ++++ b/src/sysv-generator/sysv-generator.c +@@ -258,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, + "syslog", NULL, + "time", SPECIAL_TIME_SYNC_TARGET, ++ "all", SPECIAL_DEFAULT_TARGET, + }; + + const char *filename; +@@ -272,6 +273,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + + filename = basename(s->path); + ++ n = *name == '+' ? ++name : name; + n = *name == '$' ? name + 1 : name; + + for (i = 0; i < ELEMENTSOF(table); i += 2) { +@@ -408,7 +410,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text + + for (;;) { + _cleanup_free_ char *word = NULL, *m = NULL; +- bool is_before; ++ bool is_before, is_wanted; + + r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX); + if (r < 0) +@@ -421,6 +423,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text + continue; + + is_before = startswith_no_case(full_text, "X-Start-Before:"); ++ is_wanted = startswith_no_case(full_text, "Required-Start:"); + + if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) { + /* the network-online target is special, as it needs to be actively pulled in */ +@@ -429,8 +432,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text + return log_oom(); + + r = strv_extend(&s->wants, m); +- } else ++ } else { + r = strv_extend(is_before ? &s->before : &s->after, m); ++ ++ if (is_wanted) ++ r = strv_extend(&s->wants, m); ++ } ++ + if (r < 0) + return log_oom(); + } +-- +2.26.2 + diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch new file mode 100644 index 00000000..e4984478 --- /dev/null +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -0,0 +1,60 @@ +From 7fc80ccccaa6f7b98af8bcd899a97d561777ff94 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 10 Jun 2016 15:19:57 +0200 +Subject: [PATCH 09/12] pid1: handle console specificities/weirdness for s390 + arch + +The 3270 console on S/390 can do color but not the 3215 console. + +Partial forward port of +0001-On_s390_con3270_disable_ANSI_colour_esc.patch from SLE12-SP1. A +bunch of the previous code has been dropped since some changes +imported from upsteam made them uneeded. + +The remaining bits are probably hackish but at least they are now +minimal. + +It was an attempt to address bnc#860937. And yes turning the console +color mode off by passing $TERM=dumb via the kernel command line would +have been much more easier and enough. + +This is actually implemented by recent systemd. There's also another +command line option: systemd.log_color=off. + +See also a short discussion which happened on @systemd-maintainers +whose $subject is "[PATCH] support conmode setting on command line". + +[ fbui: fixes bsc#860937 ] +--- + src/basic/terminal-util.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c +index 6cacde90ba..1a03902acc 100644 +--- a/src/basic/terminal-util.c ++++ b/src/basic/terminal-util.c +@@ -780,7 +780,20 @@ bool tty_is_vc_resolve(const char *tty) { + } + + const char *default_term_for_tty(const char *tty) { +- return tty && tty_is_vc_resolve(tty) ? "linux" : "vt220"; ++ if (tty && tty_is_vc_resolve(tty)) ++ return "linux"; ++ ++#if defined (__s390__) || defined (__s390x__) ++ if (tty && tty_is_console(tty)) { ++ _cleanup_free_ char *mode = NULL; ++ ++ /* Simply return "dumb" in case of OOM. */ ++ (void) proc_cmdline_get_key("conmode", 0, &mode); ++ (void) proc_cmdline_value_missing("conmode", mode); ++ return streq_ptr(mode, "3270") ? "ibm327x" : "dumb"; ++ } ++#endif ++ return "vt220"; + } + + int fd_columns(int fd) { +-- +2.26.2 + diff --git a/0011-core-disable-session-keyring-per-system-sevice-entir.patch b/0011-core-disable-session-keyring-per-system-sevice-entir.patch new file mode 100644 index 00000000..a3e1fac1 --- /dev/null +++ b/0011-core-disable-session-keyring-per-system-sevice-entir.patch @@ -0,0 +1,45 @@ +From e5b3d1d00bbdbcb168889699c462bf01b58062a5 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 6 Jul 2017 15:48:10 +0200 +Subject: [PATCH 11/12] core: disable session keyring per system sevice + entirely for now + +Until PAM module "pam_keyinit" is fully integrated in SUSE's PAM stack, this +feature has to be disabled. + +openSUSE is still not ready for enabling the keyring stuff (see +bsc#1081947). Some services got fixed (sshd, getty@.service) but some still +haven't (xdm, login, ...) + +So leave it disabled again otherwise different users might end up using the +same session keyring - the one created for the service used for logging in +(sshd, getty@.service, xdm, etc...) + +The integration of pam_keyinit is tracked here: +https://bugzilla.opensuse.org/show_bug.cgi?id=1081947 + +See also: +https://github.com/systemd/systemd/pull/6286 + +[fbui: fixes boo#1045886] +--- + src/core/execute.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/execute.c b/src/core/execute.c +index 2a4840a3a9..aefd4eaff1 100644 +--- a/src/core/execute.c ++++ b/src/core/execute.c +@@ -2779,6 +2779,9 @@ static int setup_keyring( + assert(context); + assert(p); + ++ /* SUSE: pam_keyinit is still not fully integrated to SUSE's PAM stack... */ ++ return 0; ++ + /* Let's set up a new per-service "session" kernel keyring for each system service. This has the benefit that + * each service runs with its own keyring shared among all processes of the service, but with no hook-up beyond + * that scope, and in particular no link to the per-UID keyring. If we don't do this the keyring will be +-- +2.26.2 + diff --git a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch new file mode 100644 index 00000000..a687aaa0 --- /dev/null +++ b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -0,0 +1,53 @@ +From 90d84a96aca84b39f6aabda048703dc7c0e79ef4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Mar 2016 17:06:17 -0500 +Subject: [PATCH 12/12] resolved: create /etc/resolv.conf symlink at runtime + +If the symlink doesn't exists, and we are being started, let's +create it to provie name resolution. + +If it exists, do nothing. In particular, if it is a broken symlink, +we cannot really know if the administator configured it to point to +a location used by some service that hasn't started yet, so we +don't touch it in that case either. + +https://bugzilla.redhat.com/show_bug.cgi?id=1313085 +--- + src/resolve/resolved.c | 6 ++++++ + tmpfiles.d/etc.conf.m4 | 3 --- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c +index 16477f28d6..3922804039 100644 +--- a/src/resolve/resolved.c ++++ b/src/resolve/resolved.c +@@ -53,6 +53,12 @@ static int run(int argc, char *argv[]) { + if (r < 0) + return log_error_errno(r, "Cannot resolve user name %s: %m", user); + ++ /* As we're root, we can create /etc/resolv.conf symlink if it doesn't exist already */ ++ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); ++ if (r < 0 && errno != EEXIST) ++ log_warning_errno(errno, ++ "Could not create /etc/resolv.conf symlink: %m"); ++ + /* As we're root, we can create the directory where resolv.conf will live */ + r = mkdir_safe_label("/run/systemd/resolve", 0755, uid, gid, MKDIR_WARN_MODE); + if (r < 0) +diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 +index f82e0b82ce..66a777bdb2 100644 +--- a/tmpfiles.d/etc.conf.m4 ++++ b/tmpfiles.d/etc.conf.m4 +@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts + m4_ifdef(`HAVE_SMACK_RUN_LABEL', + t /etc/mtab - - - - security.SMACK64=_ + )m4_dnl +-m4_ifdef(`ENABLE_RESOLVE', +-L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf +-)m4_dnl + C! /etc/nsswitch.conf - - - - + m4_ifdef(`HAVE_PAM', + C! /etc/pam.d - - - - +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 5ac5e11c..0932d62e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Wed Sep 16 14:07:56 UTC 2020 - Franck Bui + +- Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + linuxrc has already been fixed. + +------------------------------------------------------------------- +Wed Sep 16 13:42:04 UTC 2020 - Franck Bui + +- Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + A temporary patch until the installer environment is updated to + create some of the symlinks that udevd used to create during its + startup but now udevd relies on the init system to do so. + +------------------------------------------------------------------- +Thu Sep 10 12:59:54 UTC 2020 - Franck Bui + +- Rework how we prevent journald from both enabling auditd and + recording audit messages + + journald.conf gained a new setting Audit= to control whether + journald enables audit during the boot process. So let's use it and + make sure it's disabled by default by shipping a drop-in that + overrides upstream default. + + Also we used to patch systemd to prevent journald from reading the + audit messages. There's still no way for downstream to configure + that properly (we would need to mask systemd-journald-audit.socket + meaning shipping a symlink in /etc) but I think dropping + systemd-journald-audit.socket from the package is a nicer way to do + that as some users might choose to reenable this setting (by + reintroducing the socket unit in /etc). + +------------------------------------------------------------------- +Thu Sep 10 09:02:13 UTC 2020 - Franck Bui + +- Enable audit support (bsc#1175883) + + Enabling audit support in systemd will only make PID1 (and some of + its services) to generate some audit records for certain events. But + it doesn't affect journald, which has been prevented from recording + audit messages in the journal (SUSE specific behavior). + +------------------------------------------------------------------- +Wed Sep 2 10:14:10 UTC 2020 - Franck Bui + +- Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) + + See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for + details. + + Now that the number of SUSE specific patches has been shrinked and + is pretty low (12 at the time of this writing), they are no more + tracked by the git repo and are now handled at the package + level. Hence It is easier to maintain and identify them. This + effectively means that SUSE/v246 will contain upstream commits only. + + Added 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + Added 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + Added 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + Added 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + Added 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch + Added 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + Added 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + Added 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + Added 0009-pid1-handle-console-specificities-weirdness-for-s390.patch + Added 0010-journald-disable-audit-support-completely-from-the-j.patch + Added 0011-core-disable-session-keyring-per-system-sevice-entir.patch + Added 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt diff --git a/systemd-mini.spec b/systemd-mini.spec index 406e052f..f7f696ea 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.51.ga4e393eecb +%define suse_version +suse.20.gf1344d5b7f %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.7 +Version: 246.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -71,6 +71,7 @@ BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3-base BuildRequires: python3-lxml +BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) @@ -159,12 +160,28 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -# Patches listed in here are put in quarantine. Normally all -# changes must go to upstream first and then are cherry-picked in the -# SUSE git repository. But in very few cases, some stuff might be -# broken in upstream and need an urgent fix. Even in this case, the -# patches are temporary and should be removed as soon as a fix is -# merged by upstream. +# Patches listed below are SUSE specific and should be kept at its +# minimum. We try hard to push our changes to upstream but sometimes +# they are only relevant for SUSE distros. Special rewards for those +# who will manage to get rid of one of them ! +Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch +Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch +Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + +# Patches listed below are put in quarantine. Normally all changes +# must go to upstream first and then are cherry-picked in the SUSE git +# repository. But in very few cases, some stuff might be broken in +# upstream and need an urgent fix. Even in this case, the patches are +# temporary and should be removed as soon as a fix is merged by +# upstream. %description Systemd is a system and service manager, compatible with SysV and LSB @@ -604,8 +621,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +%if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -778,6 +797,19 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +# Create a drop-in to prevent journald from starting auditd during +# boot (bsc#984034). +mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d +cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf </usr/lib/udev/compat-symlink-generation + echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi %post -n udev%{?mini} @@ -1218,6 +1259,8 @@ fi %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%{_prefix}/lib/systemd/journald.conf.d/ + %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system.d @@ -1273,7 +1316,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* -%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* @@ -1350,15 +1393,19 @@ fi /sbin/halt /sbin/shutdown /sbin/poweroff +%if %{with sysvcompat} /sbin/telinit /sbin/runlevel +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt %{_sbindir}/shutdown %{_sbindir}/poweroff +%if %{with sysvcompat} %{_sbindir}/telinit %{_sbindir}/runlevel +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* diff --git a/systemd-v245.7+suse.51.ga4e393eecb.tar.xz b/systemd-v245.7+suse.51.ga4e393eecb.tar.xz deleted file mode 100644 index 815e59f1..00000000 --- a/systemd-v245.7+suse.51.ga4e393eecb.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e0cce0a5990f8ddc03e1dcdb1af7f20331e3e885596710f8a68563882c50d31e -size 6301856 diff --git a/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz b/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz new file mode 100644 index 00000000..56657747 --- /dev/null +++ b/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:707b0dca1d9dd0fa8c8858090b5e14d9741bacda2c4d0a1745707b57b395b254 +size 6548244 diff --git a/systemd.changes b/systemd.changes index 5ac5e11c..0932d62e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Wed Sep 16 14:07:56 UTC 2020 - Franck Bui + +- Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + linuxrc has already been fixed. + +------------------------------------------------------------------- +Wed Sep 16 13:42:04 UTC 2020 - Franck Bui + +- Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch + + A temporary patch until the installer environment is updated to + create some of the symlinks that udevd used to create during its + startup but now udevd relies on the init system to do so. + +------------------------------------------------------------------- +Thu Sep 10 12:59:54 UTC 2020 - Franck Bui + +- Rework how we prevent journald from both enabling auditd and + recording audit messages + + journald.conf gained a new setting Audit= to control whether + journald enables audit during the boot process. So let's use it and + make sure it's disabled by default by shipping a drop-in that + overrides upstream default. + + Also we used to patch systemd to prevent journald from reading the + audit messages. There's still no way for downstream to configure + that properly (we would need to mask systemd-journald-audit.socket + meaning shipping a symlink in /etc) but I think dropping + systemd-journald-audit.socket from the package is a nicer way to do + that as some users might choose to reenable this setting (by + reintroducing the socket unit in /etc). + +------------------------------------------------------------------- +Thu Sep 10 09:02:13 UTC 2020 - Franck Bui + +- Enable audit support (bsc#1175883) + + Enabling audit support in systemd will only make PID1 (and some of + its services) to generate some audit records for certain events. But + it doesn't affect journald, which has been prevented from recording + audit messages in the journal (SUSE specific behavior). + +------------------------------------------------------------------- +Wed Sep 2 10:14:10 UTC 2020 - Franck Bui + +- Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) + + See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for + details. + + Now that the number of SUSE specific patches has been shrinked and + is pretty low (12 at the time of this writing), they are no more + tracked by the git repo and are now handled at the package + level. Hence It is easier to maintain and identify them. This + effectively means that SUSE/v246 will contain upstream commits only. + + Added 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + Added 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + Added 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + Added 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + Added 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch + Added 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + Added 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + Added 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + Added 0009-pid1-handle-console-specificities-weirdness-for-s390.patch + Added 0010-journald-disable-audit-support-completely-from-the-j.patch + Added 0011-core-disable-session-keyring-per-system-sevice-entir.patch + Added 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt diff --git a/systemd.spec b/systemd.spec index 2d9078cb..bd35fc30 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.51.ga4e393eecb +%define suse_version +suse.20.gf1344d5b7f %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 245.7 +Version: 246.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -69,6 +69,7 @@ BuildRequires: polkit # python is only required for generating systemd.directives.xml BuildRequires: python3-base BuildRequires: python3-lxml +BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(liblz4) @@ -157,12 +158,28 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -# Patches listed in here are put in quarantine. Normally all -# changes must go to upstream first and then are cherry-picked in the -# SUSE git repository. But in very few cases, some stuff might be -# broken in upstream and need an urgent fix. Even in this case, the -# patches are temporary and should be removed as soon as a fix is -# merged by upstream. +# Patches listed below are SUSE specific and should be kept at its +# minimum. We try hard to push our changes to upstream but sometimes +# they are only relevant for SUSE distros. Special rewards for those +# who will manage to get rid of one of them ! +Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch +Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch +Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + +# Patches listed below are put in quarantine. Normally all changes +# must go to upstream first and then are cherry-picked in the SUSE git +# repository. But in very few cases, some stuff might be broken in +# upstream and need an urgent fix. Even in this case, the patches are +# temporary and should be removed as soon as a fix is merged by +# upstream. %description Systemd is a system and service manager, compatible with SysV and LSB @@ -602,8 +619,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +%if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -776,6 +795,19 @@ fi # which may still be used by yast. cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +# Create a drop-in to prevent journald from starting auditd during +# boot (bsc#984034). +mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d +cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf </usr/lib/udev/compat-symlink-generation + echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi %post -n udev%{?mini} @@ -1216,6 +1257,8 @@ fi %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf +%{_prefix}/lib/systemd/journald.conf.d/ + %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system.d @@ -1271,7 +1314,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* -%{_mandir}/man8/systemd-[a-gik-tv]* +%{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* @@ -1348,15 +1391,19 @@ fi /sbin/halt /sbin/shutdown /sbin/poweroff +%if %{with sysvcompat} /sbin/telinit /sbin/runlevel +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt %{_sbindir}/shutdown %{_sbindir}/poweroff +%if %{with sysvcompat} %{_sbindir}/telinit %{_sbindir}/runlevel +%endif %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* From c45521a8b8c84166d98f49beec9a72b21b90c25c16b231cfc114f13d130993f6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Sep 2020 13:38:44 +0000 Subject: [PATCH 506/991] Accepting request 835208 from home:fbui:systemd:openSUSE-Factory - Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 OBS-URL: https://build.opensuse.org/request/show/835208 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1119 --- systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 4 ++-- systemd-v246.4+suse.20.gf1344d5b7f.tar.xz | 3 --- systemd-v246.5+suse.25.g1cab0d4458.tar.xz | 3 +++ systemd.changes | 13 +++++++++++++ systemd.spec | 4 ++-- 6 files changed, 33 insertions(+), 7 deletions(-) delete mode 100644 systemd-v246.4+suse.20.gf1344d5b7f.tar.xz create mode 100644 systemd-v246.5+suse.25.g1cab0d4458.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 0932d62e..feaf0aba 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Sep 17 12:50:27 UTC 2020 - Franck Bui + +- Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) + + 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) + 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE + acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 + ------------------------------------------------------------------- Wed Sep 16 14:07:56 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f7f696ea..361542bf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.20.gf1344d5b7f +%define suse_version +suse.25.g1cab0d4458 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.4 +Version: 246.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz b/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz deleted file mode 100644 index 56657747..00000000 --- a/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:707b0dca1d9dd0fa8c8858090b5e14d9741bacda2c4d0a1745707b57b395b254 -size 6548244 diff --git a/systemd-v246.5+suse.25.g1cab0d4458.tar.xz b/systemd-v246.5+suse.25.g1cab0d4458.tar.xz new file mode 100644 index 00000000..d1bba1b2 --- /dev/null +++ b/systemd-v246.5+suse.25.g1cab0d4458.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eca844c16e0c0391eb73b3d908b714d190e5c5d7ccc20c6fca5abf634fa078c +size 6551712 diff --git a/systemd.changes b/systemd.changes index 0932d62e..feaf0aba 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Sep 17 12:50:27 UTC 2020 - Franck Bui + +- Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) + + 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) + 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE + acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 + ------------------------------------------------------------------- Wed Sep 16 14:07:56 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bd35fc30..97cbe977 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.20.gf1344d5b7f +%define suse_version +suse.25.g1cab0d4458 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.4 +Version: 246.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 17276831baf7fe3d6477f4a4d7f4322cbbf94821329d8cb35876d2b504630a16 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Sep 2020 15:21:53 +0000 Subject: [PATCH 507/991] Accepting request 835240 from home:fbui:systemd:openSUSE-Factory - Remove dangling symlink /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket Otherwise the build system complains. OBS-URL: https://build.opensuse.org/request/show/835240 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1120 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 1 + systemd.changes | 8 ++++++++ systemd.spec | 1 + 4 files changed, 18 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index feaf0aba..bc4ee8ee 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Sep 17 15:12:48 UTC 2020 - Franck Bui + +- Remove dangling symlink + /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket + + Otherwise the build system complains. + ------------------------------------------------------------------- Thu Sep 17 12:50:27 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 361542bf..f3d646d4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -809,6 +809,7 @@ EOF # us to prevent journald from recording audit messages in the journal # by default (bsc#1109252). rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket +rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if ! 0%{?bootstrap} %find_lang systemd diff --git a/systemd.changes b/systemd.changes index feaf0aba..bc4ee8ee 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Sep 17 15:12:48 UTC 2020 - Franck Bui + +- Remove dangling symlink + /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket + + Otherwise the build system complains. + ------------------------------------------------------------------- Thu Sep 17 12:50:27 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 97cbe977..2e93d344 100644 --- a/systemd.spec +++ b/systemd.spec @@ -807,6 +807,7 @@ EOF # us to prevent journald from recording audit messages in the journal # by default (bsc#1109252). rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket +rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if ! 0%{?bootstrap} %find_lang systemd From 0aef3358bef28d68f61033b1d02b7d9d73563b9f30204d3164ec5ac41fa799aa Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 1 Oct 2020 07:57:06 +0000 Subject: [PATCH 508/991] Accepting request 838925 from home:fbui:systemd:openSUSE-Factory - Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 - Ship {/usr/lib,/etc}/systemd/network directories in the main package These directories can be used by both udevd and networkd. OBS-URL: https://build.opensuse.org/request/show/838925 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1121 --- ...-ordering-startup-for-etc-init.d-boot.lo.patch | 11 +++++------ systemd-mini.changes | 15 +++++++++++++++ systemd-mini.spec | 11 ++++++----- systemd-v246.5+suse.25.g1cab0d4458.tar.xz | 3 --- systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz | 3 +++ systemd.changes | 15 +++++++++++++++ systemd.spec | 11 ++++++----- 7 files changed, 50 insertions(+), 19 deletions(-) delete mode 100644 systemd-v246.5+suse.25.g1cab0d4458.tar.xz create mode 100644 systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch index 352b252c..1e278fda 100644 --- a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -1,8 +1,7 @@ -From 59f2eadb29ac38803fd32fe52f1403343a7d74ac Mon Sep 17 00:00:00 2001 +From 47563b617a371680d1ec3729fa4324310ebe3710 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 25 Mar 2014 13:08:56 +0000 -Subject: [PATCH 02/12] rc-local: fix ordering startup for - /etc/init.d/boot.local +Subject: [PATCH 1/1] rc-local: fix ordering startup for /etc/init.d/boot.local [tblume: fixes bnc#869142] --- @@ -10,13 +9,13 @@ Subject: [PATCH 02/12] rc-local: fix ordering startup for 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/rc-local.service.in b/units/rc-local.service.in -index 78ce69e0ae..0bcea82bed 100644 +index d4aaaf09d4..5cd1571cc7 100644 --- a/units/rc-local.service.in +++ b/units/rc-local.service.in @@ -13,7 +13,7 @@ - Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility + Description=@RC_LOCAL_PATH@ Compatibility Documentation=man:systemd-rc-local-generator(8) - ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ + ConditionFileIsExecutable=@RC_LOCAL_PATH@ -After=network.target +After=basic.target diff --git a/systemd-mini.changes b/systemd-mini.changes index bc4ee8ee..5ca8c312 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Sep 30 19:09:59 UTC 2020 - Franck Bui + +- Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 + +------------------------------------------------------------------- +Tue Sep 29 16:37:40 UTC 2020 - Franck Bui + +- Ship {/usr/lib,/etc}/systemd/network directories in the main package + + These directories can be used by both udevd and networkd. + ------------------------------------------------------------------- Thu Sep 17 15:12:48 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f3d646d4..4623a5c4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.25.g1cab0d4458 +%define suse_version +suse.27.gd7b5ac76dc %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.5 +Version: 246.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -605,6 +605,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the @@ -1122,6 +1123,7 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/network %dir %{_unitdir} %{_userunitdir} %if %{with coredump} @@ -1245,6 +1247,7 @@ fi %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd @@ -1449,7 +1452,7 @@ fi %{_mandir}/man8/systemd-udev* %{_mandir}/man8/udev* %endif -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket @@ -1458,7 +1461,6 @@ fi %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket -%dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc @@ -1597,7 +1599,6 @@ fi %files network %defattr(-,root,root) %if %{with networkd} -%dir %{_sysconfdir}/systemd/network %config(noreplace) %{_sysconfdir}/systemd/networkd.conf %{_bindir}/networkctl %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf diff --git a/systemd-v246.5+suse.25.g1cab0d4458.tar.xz b/systemd-v246.5+suse.25.g1cab0d4458.tar.xz deleted file mode 100644 index d1bba1b2..00000000 --- a/systemd-v246.5+suse.25.g1cab0d4458.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0eca844c16e0c0391eb73b3d908b714d190e5c5d7ccc20c6fca5abf634fa078c -size 6551712 diff --git a/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz b/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz new file mode 100644 index 00000000..1689808c --- /dev/null +++ b/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49af04e1d1dbadfcc869108ab16976a774dbbc379ae2226a4977f32c734a499 +size 6552824 diff --git a/systemd.changes b/systemd.changes index bc4ee8ee..5ca8c312 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Sep 30 19:09:59 UTC 2020 - Franck Bui + +- Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 + +------------------------------------------------------------------- +Tue Sep 29 16:37:40 UTC 2020 - Franck Bui + +- Ship {/usr/lib,/etc}/systemd/network directories in the main package + + These directories can be used by both udevd and networkd. + ------------------------------------------------------------------- Thu Sep 17 15:12:48 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2e93d344..5001f010 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.25.g1cab0d4458 +%define suse_version +suse.27.gd7b5ac76dc %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.5 +Version: 246.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -603,6 +603,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the @@ -1120,6 +1121,7 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/network %dir %{_unitdir} %{_userunitdir} %if %{with coredump} @@ -1243,6 +1245,7 @@ fi %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd @@ -1447,7 +1450,7 @@ fi %{_mandir}/man8/systemd-udev* %{_mandir}/man8/udev* %endif -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket @@ -1456,7 +1459,6 @@ fi %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket -%dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc @@ -1595,7 +1597,6 @@ fi %files network %defattr(-,root,root) %if %{with networkd} -%dir %{_sysconfdir}/systemd/network %config(noreplace) %{_sysconfdir}/systemd/networkd.conf %{_bindir}/networkctl %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf From b699d340b0921a3aee6943f8282db53eeab47deefab3c9035a9e526b6d446709 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 2 Oct 2020 15:16:52 +0000 Subject: [PATCH 509/991] Accepting request 838928 from Base:System OBS-URL: https://build.opensuse.org/request/show/838928 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=317 --- ...ering-startup-for-etc-init.d-boot.lo.patch | 11 +++--- systemd-mini.changes | 36 +++++++++++++++++++ systemd-mini.spec | 12 ++++--- systemd-v246.4+suse.20.gf1344d5b7f.tar.xz | 3 -- systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz | 3 ++ systemd.changes | 36 +++++++++++++++++++ systemd.spec | 12 ++++--- 7 files changed, 94 insertions(+), 19 deletions(-) delete mode 100644 systemd-v246.4+suse.20.gf1344d5b7f.tar.xz create mode 100644 systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch index 352b252c..1e278fda 100644 --- a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -1,8 +1,7 @@ -From 59f2eadb29ac38803fd32fe52f1403343a7d74ac Mon Sep 17 00:00:00 2001 +From 47563b617a371680d1ec3729fa4324310ebe3710 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 25 Mar 2014 13:08:56 +0000 -Subject: [PATCH 02/12] rc-local: fix ordering startup for - /etc/init.d/boot.local +Subject: [PATCH 1/1] rc-local: fix ordering startup for /etc/init.d/boot.local [tblume: fixes bnc#869142] --- @@ -10,13 +9,13 @@ Subject: [PATCH 02/12] rc-local: fix ordering startup for 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/rc-local.service.in b/units/rc-local.service.in -index 78ce69e0ae..0bcea82bed 100644 +index d4aaaf09d4..5cd1571cc7 100644 --- a/units/rc-local.service.in +++ b/units/rc-local.service.in @@ -13,7 +13,7 @@ - Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility + Description=@RC_LOCAL_PATH@ Compatibility Documentation=man:systemd-rc-local-generator(8) - ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@ + ConditionFileIsExecutable=@RC_LOCAL_PATH@ -After=network.target +After=basic.target diff --git a/systemd-mini.changes b/systemd-mini.changes index 0932d62e..5ca8c312 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Wed Sep 30 19:09:59 UTC 2020 - Franck Bui + +- Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 + +------------------------------------------------------------------- +Tue Sep 29 16:37:40 UTC 2020 - Franck Bui + +- Ship {/usr/lib,/etc}/systemd/network directories in the main package + + These directories can be used by both udevd and networkd. + +------------------------------------------------------------------- +Thu Sep 17 15:12:48 UTC 2020 - Franck Bui + +- Remove dangling symlink + /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket + + Otherwise the build system complains. + +------------------------------------------------------------------- +Thu Sep 17 12:50:27 UTC 2020 - Franck Bui + +- Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) + + 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) + 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE + acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 + ------------------------------------------------------------------- Wed Sep 16 14:07:56 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f7f696ea..4623a5c4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.20.gf1344d5b7f +%define suse_version +suse.27.gd7b5ac76dc %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.4 +Version: 246.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -605,6 +605,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the @@ -809,6 +810,7 @@ EOF # us to prevent journald from recording audit messages in the journal # by default (bsc#1109252). rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket +rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if ! 0%{?bootstrap} %find_lang systemd @@ -1121,6 +1123,7 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/network %dir %{_unitdir} %{_userunitdir} %if %{with coredump} @@ -1244,6 +1247,7 @@ fi %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd @@ -1448,7 +1452,7 @@ fi %{_mandir}/man8/systemd-udev* %{_mandir}/man8/udev* %endif -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket @@ -1457,7 +1461,6 @@ fi %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket -%dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc @@ -1596,7 +1599,6 @@ fi %files network %defattr(-,root,root) %if %{with networkd} -%dir %{_sysconfdir}/systemd/network %config(noreplace) %{_sysconfdir}/systemd/networkd.conf %{_bindir}/networkctl %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf diff --git a/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz b/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz deleted file mode 100644 index 56657747..00000000 --- a/systemd-v246.4+suse.20.gf1344d5b7f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:707b0dca1d9dd0fa8c8858090b5e14d9741bacda2c4d0a1745707b57b395b254 -size 6548244 diff --git a/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz b/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz new file mode 100644 index 00000000..1689808c --- /dev/null +++ b/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49af04e1d1dbadfcc869108ab16976a774dbbc379ae2226a4977f32c734a499 +size 6552824 diff --git a/systemd.changes b/systemd.changes index 0932d62e..5ca8c312 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Wed Sep 30 19:09:59 UTC 2020 - Franck Bui + +- Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 + +------------------------------------------------------------------- +Tue Sep 29 16:37:40 UTC 2020 - Franck Bui + +- Ship {/usr/lib,/etc}/systemd/network directories in the main package + + These directories can be used by both udevd and networkd. + +------------------------------------------------------------------- +Thu Sep 17 15:12:48 UTC 2020 - Franck Bui + +- Remove dangling symlink + /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket + + Otherwise the build system complains. + +------------------------------------------------------------------- +Thu Sep 17 12:50:27 UTC 2020 - Franck Bui + +- Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) + + 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) + 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE + acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 + ------------------------------------------------------------------- Wed Sep 16 14:07:56 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bd35fc30..5001f010 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.20.gf1344d5b7f +%define suse_version +suse.27.gd7b5ac76dc %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.4 +Version: 246.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -603,6 +603,7 @@ install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-conve install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif +mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the @@ -807,6 +808,7 @@ EOF # us to prevent journald from recording audit messages in the journal # by default (bsc#1109252). rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket +rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if ! 0%{?bootstrap} %find_lang systemd @@ -1119,6 +1121,7 @@ fi %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/network %dir %{_unitdir} %{_userunitdir} %if %{with coredump} @@ -1242,6 +1245,7 @@ fi %dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd @@ -1446,7 +1450,7 @@ fi %{_mandir}/man8/systemd-udev* %{_mandir}/man8/udev* %endif -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket @@ -1455,7 +1459,6 @@ fi %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket -%dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc @@ -1594,7 +1597,6 @@ fi %files network %defattr(-,root,root) %if %{with networkd} -%dir %{_sysconfdir}/systemd/network %config(noreplace) %{_sysconfdir}/systemd/networkd.conf %{_bindir}/networkctl %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf From 97431037f6ce706e3121629c34bb827c89e84aa7c3395e462ce8cc09a9dc4f06 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Oct 2020 10:19:03 +0000 Subject: [PATCH 510/991] Accepting request 840408 from home:fbui:systemd:openSUSE-Factory Document in the changelog all SUSE bug fixes imported when systemd was upgraded OBS-URL: https://build.opensuse.org/request/show/840408 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1122 --- systemd-mini.changes | 108 ++++++++++++++++++++++++++++++++++++++++--- systemd.changes | 108 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 202 insertions(+), 14 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5ca8c312..7ed65a69 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -342,6 +342,12 @@ Wed Mar 18 14:09:57 UTC 2020 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for details. + This includes the following bug fixes: + + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (CVE-2020-1712) + - upstream commit 66a19d85a533b15ed32f4066ec880b5a8c06babd (bsc#1157315) + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (bsc#1162108) + The new tools provided by systemd repart, userdb, homed, fdisk, pwquality, p11kit feature have been disabled for now as they require reviews first. @@ -467,6 +473,15 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for details. + This includes the following bug fixes: + + - upstream commit b49e14d5f3081dfcd363d8199a14c0924ae9152f (bsc#1139459) + - upstream commit 22683674716fd0e5b016ce5a7d8fd90df5f9f9e7 (bsc#1151377) + - upstream commit faf205de3ba9a11b0ba17682123d7f3fedc7da24 (bsc#1151377) + - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) + - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) + - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + Legacy and obsolete symlinks have been finally dropped. Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. @@ -703,7 +718,17 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for - details. + details. + + This includes the following bug fixes: + + - upstream commit b2774a3ae692113e1f47a336a6c09bac9cfb49ad (CVE-2019-20386 bsc#1161436) + - upstream commit 5406c36844b35504a64e9f05fc74b8e5e5a09143 (bsc#1132400) + - upstream commit 83a32ea7b03d6707b8e5bb90a0b3a6eb868ef633 (bsc#1132721) + - upstream commit 7cc5ef5f1811c539ae7f20255c2a093f413cc64f (bsc#1172824 bsc#1142733) + - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) + - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) + - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. @@ -852,7 +877,7 @@ Tue May 14 14:27:12 UTC 2019 - Franck Bui ------------------------------------------------------------------- Mon May 13 08:46:38 UTC 2019 - Franck Bui -- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner (bsc#1145023) Otherwise the "post build checks" would complain and would force systemd to own this directory. The owner should still be "polkit" @@ -891,6 +916,16 @@ Thu May 2 13:12:23 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for details. + This includes the following bug fixes: + + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3843) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3844) + - upstream commit 37ed15d7edaf59a1fc7c9e3552cd93a83f3814ef (bsc#1124122) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133506) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133509) + - upstream commit 1f82f5bb4237ed5f015daf93f818e9db95e764b8 (bsc#1150595) + - upstream commit e55bdf9b6c5f72475b258a7a4585a0480551cb60 (bsc#1173422) + ------------------------------------------------------------------- Wed Apr 24 07:23:44 UTC 2019 - Franck Bui @@ -914,7 +949,7 @@ Fri Apr 12 14:13:54 UTC 2019 - Franck Bui ------------------------------------------------------------------- Tue Mar 19 16:11:44 UTC 2019 - Franck Bui -- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832 jsc#SLE-5933) This stack trace is logged to the journal. @@ -956,6 +991,20 @@ Tue Mar 5 17:51:02 UTC 2019 - Franck Bui - Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + This includes the following bug fixes: + + - upstream commit c0d76959080e3ba6534bce1c7053c750668e8b55 (bsc#1160595) + - upstream commit 7334ade4a7e103b1a01d1c8fe1ea7c7a854a1c31 (bsc#1123892) + - upstream commit c7e93c4d15019323973baf12daa76357c83892c4 (boo#1111498) + + This also includes the following bug fixes released in v240: + + - upstream commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 (boo#1111498) + - upstream commit 9eb0fc32d6cb63e71f2cfc1e7dd34c3ede4b48a3 (bsc#1140631) + - upstream commit 1432d2dbdfa90963272a9b581dc4b55dd3ac514f (bsc#1155574) + - upstream commit 26e35b164b8d0603629b3d394554cfa728e8c3e4 (bsc#1169488) + - upstream commit a9fc640671ef60ac949f1ace6fa687ff242fc233 (fate#325697) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui @@ -1216,6 +1265,20 @@ Wed Oct 24 10:07:36 UTC 2018 - Franck Bui - Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + This includes the following bug fixes: + + - upstream commit 0722b359342d2a9f9e0d453875624387a0ba1be2 (bsc#1045723) + - upstream commit 2f2e14b251b9929e84e8b690d0187b766dfbae20 (bsc#1124122) + - upstream commit c839b729c5f7b08f6d91bf9567d0b1f91d17e0f7 (bsc#1155207) + - upstream commit 8eebb6a9e5e74ec0ef40902e2da53d24559b94a4 (bsc#1168076) + + This also includes the following bug fixes released in v238: + + - upstream commit e8a3144ec4ff332bd63644e468a98e1a7e06e7e4 (bsc#1112024) + - upstream commit 4d219f5343b1924e7c519c2c178aeb5d1a5ab924 (bsc#1123727) + - upstream commit 43b7f24b5e0dd048452112bfb344739764c58694 (bsc#1146991) + - upstream commit bf443be99565e4327f1c8c12b79d98b4c1529cf1 (bsc#1156213) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -1256,11 +1319,11 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com -- split off SUSE specific configuration from systemd package (fate#325478) +- split off SUSE specific udev rules from systemd package (fate#325478) * remove 60-io-scheduler.rules * remove 80-hotplug-cpu-mem.rules * remove 99-wakeup-from-idle.rules - * remove /usr/lib/modules-load.d/sg.conf + * remove /usr/lib/modules-load.d/sg.conf (see bsc#1036463 for details) these are now maintained in the new package system-tuning-common-SUSE @@ -1449,7 +1512,7 @@ Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com -- Rename the tarball +- Rename the tarball (bsc#1087323) So it's clear that it contains some additional patches on top of the upstream version. Use the commit hash in the name so the exact @@ -1585,6 +1648,37 @@ Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com level. Those rules have been rejected by upstream as they seem to be written to workaround some kernel shortcomings... + This includes the following bug fix: + + - upstream commit 3d083b2245b0b8e52f2d8ccc3e55246f41f1f544 (bsc#1102908) + + This also includes the following bug fixes released in v235: + + - upstream commit 2e64e8f46d726689a44d4084226fe3e0ea255c29 (bsc#1069239) + - upstream commit 79873bc850177050baa0c5165b119adafeebb891 (bsc#1069239) + - upstream commit 4bc5d27b942afa83cc3d95debd2ad48d42ac07a8 (bsc#1089376) + - upstream commit e9ea4526a3a3b41eced29b8d742498cc36750424 (bsc#1089693) + - upstream commit d75b31837c93dbb9b20067719026ad0fb7cdfadd (bsc#1117025) + - upstream commit 0e8856d25ab71764a279c2377ae593c0f2460d8f (bsc#1117025) + - upstream commit 048dd629c4590eefb2ebd6a316c7350ed3a6ff19 (bsc#1119971) + - upstream commit 9b32afa9f241fe8febc0a754850f1e7331caf6e3 (bsc#1126056) + - upstream commit e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af (bsc#1137053) + - upstream commit 0864d311766498563331f486909a0d950ba7de87 (bsc#1158336) + - upstream commit d60cb656fc63c24b430421764b7d0322857d34fd (bsc#1161262) + - upstream commit e2be442e791fa1150aa835c684acc6d7189de3e1 (bsc#1165011) + - upstream commit 64a36ae4b1dd23474dd7ea261381ac437b24fac2 (bsc#1172072) + - upstream commit b001ad61e91b6499897f0c977045c7608c233bfa (jsc#SLE-7687) + + - includes IP filtering feature (jsc#SLE-7743) + + This also includes the following bug fixes released in v236: + + - upstream commit b3b4ebab02395933cde554b5a5d5c363dae3920d (bsc#1083571) + - upstream commit 3e3852b3c6c61506963112fd218a86b673fc61e6 (bsc#1110445) + - upstream commit 4050e4797603d3644707d58edfd9742b5311c7cf (bsc#1124153) + - upstream commit 8cb83266062b383cdd4a57301ef559d64b491c51 (bsc#1125604) + - upstream commit 19a44dfe4525ab01caf593a9c2beada4b412910d (bsc#1156482) + ------------------------------------------------------------------- Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com @@ -1623,7 +1717,7 @@ Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com -- Split systemd-container sub-package off +- Split systemd-container sub-package off (fate#325469) Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least diff --git a/systemd.changes b/systemd.changes index 5ca8c312..7ed65a69 100644 --- a/systemd.changes +++ b/systemd.changes @@ -342,6 +342,12 @@ Wed Mar 18 14:09:57 UTC 2020 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for details. + This includes the following bug fixes: + + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (CVE-2020-1712) + - upstream commit 66a19d85a533b15ed32f4066ec880b5a8c06babd (bsc#1157315) + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (bsc#1162108) + The new tools provided by systemd repart, userdb, homed, fdisk, pwquality, p11kit feature have been disabled for now as they require reviews first. @@ -467,6 +473,15 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for details. + This includes the following bug fixes: + + - upstream commit b49e14d5f3081dfcd363d8199a14c0924ae9152f (bsc#1139459) + - upstream commit 22683674716fd0e5b016ce5a7d8fd90df5f9f9e7 (bsc#1151377) + - upstream commit faf205de3ba9a11b0ba17682123d7f3fedc7da24 (bsc#1151377) + - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) + - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) + - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + Legacy and obsolete symlinks have been finally dropped. Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. @@ -703,7 +718,17 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for - details. + details. + + This includes the following bug fixes: + + - upstream commit b2774a3ae692113e1f47a336a6c09bac9cfb49ad (CVE-2019-20386 bsc#1161436) + - upstream commit 5406c36844b35504a64e9f05fc74b8e5e5a09143 (bsc#1132400) + - upstream commit 83a32ea7b03d6707b8e5bb90a0b3a6eb868ef633 (bsc#1132721) + - upstream commit 7cc5ef5f1811c539ae7f20255c2a093f413cc64f (bsc#1172824 bsc#1142733) + - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) + - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) + - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. @@ -852,7 +877,7 @@ Tue May 14 14:27:12 UTC 2019 - Franck Bui ------------------------------------------------------------------- Mon May 13 08:46:38 UTC 2019 - Franck Bui -- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner (bsc#1145023) Otherwise the "post build checks" would complain and would force systemd to own this directory. The owner should still be "polkit" @@ -891,6 +916,16 @@ Thu May 2 13:12:23 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for details. + This includes the following bug fixes: + + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3843) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3844) + - upstream commit 37ed15d7edaf59a1fc7c9e3552cd93a83f3814ef (bsc#1124122) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133506) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133509) + - upstream commit 1f82f5bb4237ed5f015daf93f818e9db95e764b8 (bsc#1150595) + - upstream commit e55bdf9b6c5f72475b258a7a4585a0480551cb60 (bsc#1173422) + ------------------------------------------------------------------- Wed Apr 24 07:23:44 UTC 2019 - Franck Bui @@ -914,7 +949,7 @@ Fri Apr 12 14:13:54 UTC 2019 - Franck Bui ------------------------------------------------------------------- Tue Mar 19 16:11:44 UTC 2019 - Franck Bui -- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832 jsc#SLE-5933) This stack trace is logged to the journal. @@ -956,6 +991,20 @@ Tue Mar 5 17:51:02 UTC 2019 - Franck Bui - Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + This includes the following bug fixes: + + - upstream commit c0d76959080e3ba6534bce1c7053c750668e8b55 (bsc#1160595) + - upstream commit 7334ade4a7e103b1a01d1c8fe1ea7c7a854a1c31 (bsc#1123892) + - upstream commit c7e93c4d15019323973baf12daa76357c83892c4 (boo#1111498) + + This also includes the following bug fixes released in v240: + + - upstream commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 (boo#1111498) + - upstream commit 9eb0fc32d6cb63e71f2cfc1e7dd34c3ede4b48a3 (bsc#1140631) + - upstream commit 1432d2dbdfa90963272a9b581dc4b55dd3ac514f (bsc#1155574) + - upstream commit 26e35b164b8d0603629b3d394554cfa728e8c3e4 (bsc#1169488) + - upstream commit a9fc640671ef60ac949f1ace6fa687ff242fc233 (fate#325697) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui @@ -1216,6 +1265,20 @@ Wed Oct 24 10:07:36 UTC 2018 - Franck Bui - Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + This includes the following bug fixes: + + - upstream commit 0722b359342d2a9f9e0d453875624387a0ba1be2 (bsc#1045723) + - upstream commit 2f2e14b251b9929e84e8b690d0187b766dfbae20 (bsc#1124122) + - upstream commit c839b729c5f7b08f6d91bf9567d0b1f91d17e0f7 (bsc#1155207) + - upstream commit 8eebb6a9e5e74ec0ef40902e2da53d24559b94a4 (bsc#1168076) + + This also includes the following bug fixes released in v238: + + - upstream commit e8a3144ec4ff332bd63644e468a98e1a7e06e7e4 (bsc#1112024) + - upstream commit 4d219f5343b1924e7c519c2c178aeb5d1a5ab924 (bsc#1123727) + - upstream commit 43b7f24b5e0dd048452112bfb344739764c58694 (bsc#1146991) + - upstream commit bf443be99565e4327f1c8c12b79d98b4c1529cf1 (bsc#1156213) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -1256,11 +1319,11 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com -- split off SUSE specific configuration from systemd package (fate#325478) +- split off SUSE specific udev rules from systemd package (fate#325478) * remove 60-io-scheduler.rules * remove 80-hotplug-cpu-mem.rules * remove 99-wakeup-from-idle.rules - * remove /usr/lib/modules-load.d/sg.conf + * remove /usr/lib/modules-load.d/sg.conf (see bsc#1036463 for details) these are now maintained in the new package system-tuning-common-SUSE @@ -1449,7 +1512,7 @@ Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com -- Rename the tarball +- Rename the tarball (bsc#1087323) So it's clear that it contains some additional patches on top of the upstream version. Use the commit hash in the name so the exact @@ -1585,6 +1648,37 @@ Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com level. Those rules have been rejected by upstream as they seem to be written to workaround some kernel shortcomings... + This includes the following bug fix: + + - upstream commit 3d083b2245b0b8e52f2d8ccc3e55246f41f1f544 (bsc#1102908) + + This also includes the following bug fixes released in v235: + + - upstream commit 2e64e8f46d726689a44d4084226fe3e0ea255c29 (bsc#1069239) + - upstream commit 79873bc850177050baa0c5165b119adafeebb891 (bsc#1069239) + - upstream commit 4bc5d27b942afa83cc3d95debd2ad48d42ac07a8 (bsc#1089376) + - upstream commit e9ea4526a3a3b41eced29b8d742498cc36750424 (bsc#1089693) + - upstream commit d75b31837c93dbb9b20067719026ad0fb7cdfadd (bsc#1117025) + - upstream commit 0e8856d25ab71764a279c2377ae593c0f2460d8f (bsc#1117025) + - upstream commit 048dd629c4590eefb2ebd6a316c7350ed3a6ff19 (bsc#1119971) + - upstream commit 9b32afa9f241fe8febc0a754850f1e7331caf6e3 (bsc#1126056) + - upstream commit e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af (bsc#1137053) + - upstream commit 0864d311766498563331f486909a0d950ba7de87 (bsc#1158336) + - upstream commit d60cb656fc63c24b430421764b7d0322857d34fd (bsc#1161262) + - upstream commit e2be442e791fa1150aa835c684acc6d7189de3e1 (bsc#1165011) + - upstream commit 64a36ae4b1dd23474dd7ea261381ac437b24fac2 (bsc#1172072) + - upstream commit b001ad61e91b6499897f0c977045c7608c233bfa (jsc#SLE-7687) + + - includes IP filtering feature (jsc#SLE-7743) + + This also includes the following bug fixes released in v236: + + - upstream commit b3b4ebab02395933cde554b5a5d5c363dae3920d (bsc#1083571) + - upstream commit 3e3852b3c6c61506963112fd218a86b673fc61e6 (bsc#1110445) + - upstream commit 4050e4797603d3644707d58edfd9742b5311c7cf (bsc#1124153) + - upstream commit 8cb83266062b383cdd4a57301ef559d64b491c51 (bsc#1125604) + - upstream commit 19a44dfe4525ab01caf593a9c2beada4b412910d (bsc#1156482) + ------------------------------------------------------------------- Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com @@ -1623,7 +1717,7 @@ Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com -- Split systemd-container sub-package off +- Split systemd-container sub-package off (fate#325469) Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least From bfd5f42ae969aa393ec660f45a681670f01a0f017821d4b56a75d6626c9ae6af Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 13 Oct 2020 09:57:35 +0000 Subject: [PATCH 511/991] Accepting request 841476 from home:fbui:systemd:openSUSE-Factory - Do not include %{release} in a few places where we explicitly mention package versions It's usually not a good idea especially when used with conflicts. - Rely on systemd-default-settings for overriding system default settings The new branding packages now ships the drop-ins to customize systemd either for an openSUSE or a SLE ditro. OBS-URL: https://build.opensuse.org/request/show/841476 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1123 --- systemd-mini.changes | 15 +++++++++ systemd-mini.spec | 74 +++++++++++--------------------------------- systemd.changes | 15 +++++++++ systemd.spec | 74 +++++++++++--------------------------------- 4 files changed, 66 insertions(+), 112 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 7ed65a69..131a1e63 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Oct 13 09:29:40 UTC 2020 - Franck Bui + +- Do not include %{release} in a few places where we explicitly mention package versions + + It's usually not a good idea especially when used with conflicts. + +------------------------------------------------------------------- +Tue Oct 13 08:50:13 UTC 2020 - Franck Bui + +- Rely on systemd-default-settings for overriding system default settings + + The new branding packages now ships the drop-ins to customize + systemd either for an openSUSE or a SLE ditro. + ------------------------------------------------------------------- Wed Sep 30 19:09:59 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 4623a5c4..06ec129d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -115,7 +115,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version}-%{release} +Provides: systemd = %{version} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -123,8 +123,9 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 +Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} +Requires: udev = %{version} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -141,7 +142,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version}-%{release} +Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -201,7 +202,7 @@ Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc -The HTML documenation for systemd +The HTML documentation for systemd. # /bootstrap %endif @@ -210,7 +211,7 @@ The HTML documenation for systemd Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libsystemd0%{?mini} = %{version} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -223,10 +224,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version}-%{release} +Provides: systemd-sysvinit = %{version} Provides: sysvinit:/sbin/init %description sysvinit @@ -282,7 +283,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version}-%{release} +Provides: udev = %{version} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -315,10 +316,10 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version} %if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{release} -Conflicts: libudev1 = %{version}-%{release} +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -331,7 +332,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -345,7 +346,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -363,7 +364,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -379,7 +380,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires %description portable @@ -441,7 +442,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version}-%{release} +Requires: %{name}-network = %{version} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -475,7 +476,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -499,12 +500,6 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -%if 0%{?is_opensuse} -ntp_servers=({0..3}.opensuse.pool.ntp.org) -%else -ntp_servers=({0..3}.suse.pool.ntp.org) -%endif - # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dversion-tag=%{version}%{suse_version} \ @@ -519,7 +514,6 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ @@ -709,25 +703,6 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ -cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf <>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Create a drop-in to prevent journald from starting auditd during -# boot (bsc#984034). -mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d -cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf < + +- Do not include %{release} in a few places where we explicitly mention package versions + + It's usually not a good idea especially when used with conflicts. + +------------------------------------------------------------------- +Tue Oct 13 08:50:13 UTC 2020 - Franck Bui + +- Rely on systemd-default-settings for overriding system default settings + + The new branding packages now ships the drop-ins to customize + systemd either for an openSUSE or a SLE ditro. + ------------------------------------------------------------------- Wed Sep 30 19:09:59 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5001f010..c32b14c0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -113,7 +113,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version}-%{release} +Provides: systemd = %{version} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -121,8 +121,9 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 +Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} +Requires: udev = %{version} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -139,7 +140,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version}-%{release} +Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -199,7 +200,7 @@ Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc -The HTML documenation for systemd +The HTML documentation for systemd. # /bootstrap %endif @@ -208,7 +209,7 @@ The HTML documenation for systemd Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libsystemd0%{?mini} = %{version} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -221,10 +222,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version}-%{release} +Provides: systemd-sysvinit = %{version} Provides: sysvinit:/sbin/init %description sysvinit @@ -280,7 +281,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version}-%{release} +Provides: udev = %{version} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -313,10 +314,10 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version} %if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{release} -Conflicts: libudev1 = %{version}-%{release} +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -329,7 +330,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -343,7 +344,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -361,7 +362,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -377,7 +378,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires %description portable @@ -439,7 +440,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version}-%{release} +Requires: %{name}-network = %{version} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -473,7 +474,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -497,12 +498,6 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -%if 0%{?is_opensuse} -ntp_servers=({0..3}.opensuse.pool.ntp.org) -%else -ntp_servers=({0..3}.suse.pool.ntp.org) -%endif - # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dversion-tag=%{version}%{suse_version} \ @@ -517,7 +512,6 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ @@ -707,25 +701,6 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ -cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf <>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Create a drop-in to prevent journald from starting auditd during -# boot (bsc#984034). -mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d -cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf < Date: Thu, 15 Oct 2020 11:46:59 +0000 Subject: [PATCH 512/991] Accepting request 841477 from Base:System OBS-URL: https://build.opensuse.org/request/show/841477 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=318 --- systemd-mini.changes | 123 ++++++++++++++++++++++++++++++++++++++++--- systemd-mini.spec | 74 +++++++------------------- systemd.changes | 123 ++++++++++++++++++++++++++++++++++++++++--- systemd.spec | 74 +++++++------------------- 4 files changed, 268 insertions(+), 126 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5ca8c312..131a1e63 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Oct 13 09:29:40 UTC 2020 - Franck Bui + +- Do not include %{release} in a few places where we explicitly mention package versions + + It's usually not a good idea especially when used with conflicts. + +------------------------------------------------------------------- +Tue Oct 13 08:50:13 UTC 2020 - Franck Bui + +- Rely on systemd-default-settings for overriding system default settings + + The new branding packages now ships the drop-ins to customize + systemd either for an openSUSE or a SLE ditro. + ------------------------------------------------------------------- Wed Sep 30 19:09:59 UTC 2020 - Franck Bui @@ -342,6 +357,12 @@ Wed Mar 18 14:09:57 UTC 2020 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for details. + This includes the following bug fixes: + + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (CVE-2020-1712) + - upstream commit 66a19d85a533b15ed32f4066ec880b5a8c06babd (bsc#1157315) + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (bsc#1162108) + The new tools provided by systemd repart, userdb, homed, fdisk, pwquality, p11kit feature have been disabled for now as they require reviews first. @@ -467,6 +488,15 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for details. + This includes the following bug fixes: + + - upstream commit b49e14d5f3081dfcd363d8199a14c0924ae9152f (bsc#1139459) + - upstream commit 22683674716fd0e5b016ce5a7d8fd90df5f9f9e7 (bsc#1151377) + - upstream commit faf205de3ba9a11b0ba17682123d7f3fedc7da24 (bsc#1151377) + - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) + - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) + - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + Legacy and obsolete symlinks have been finally dropped. Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. @@ -703,7 +733,17 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for - details. + details. + + This includes the following bug fixes: + + - upstream commit b2774a3ae692113e1f47a336a6c09bac9cfb49ad (CVE-2019-20386 bsc#1161436) + - upstream commit 5406c36844b35504a64e9f05fc74b8e5e5a09143 (bsc#1132400) + - upstream commit 83a32ea7b03d6707b8e5bb90a0b3a6eb868ef633 (bsc#1132721) + - upstream commit 7cc5ef5f1811c539ae7f20255c2a093f413cc64f (bsc#1172824 bsc#1142733) + - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) + - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) + - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. @@ -852,7 +892,7 @@ Tue May 14 14:27:12 UTC 2019 - Franck Bui ------------------------------------------------------------------- Mon May 13 08:46:38 UTC 2019 - Franck Bui -- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner (bsc#1145023) Otherwise the "post build checks" would complain and would force systemd to own this directory. The owner should still be "polkit" @@ -891,6 +931,16 @@ Thu May 2 13:12:23 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for details. + This includes the following bug fixes: + + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3843) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3844) + - upstream commit 37ed15d7edaf59a1fc7c9e3552cd93a83f3814ef (bsc#1124122) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133506) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133509) + - upstream commit 1f82f5bb4237ed5f015daf93f818e9db95e764b8 (bsc#1150595) + - upstream commit e55bdf9b6c5f72475b258a7a4585a0480551cb60 (bsc#1173422) + ------------------------------------------------------------------- Wed Apr 24 07:23:44 UTC 2019 - Franck Bui @@ -914,7 +964,7 @@ Fri Apr 12 14:13:54 UTC 2019 - Franck Bui ------------------------------------------------------------------- Tue Mar 19 16:11:44 UTC 2019 - Franck Bui -- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832 jsc#SLE-5933) This stack trace is logged to the journal. @@ -956,6 +1006,20 @@ Tue Mar 5 17:51:02 UTC 2019 - Franck Bui - Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + This includes the following bug fixes: + + - upstream commit c0d76959080e3ba6534bce1c7053c750668e8b55 (bsc#1160595) + - upstream commit 7334ade4a7e103b1a01d1c8fe1ea7c7a854a1c31 (bsc#1123892) + - upstream commit c7e93c4d15019323973baf12daa76357c83892c4 (boo#1111498) + + This also includes the following bug fixes released in v240: + + - upstream commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 (boo#1111498) + - upstream commit 9eb0fc32d6cb63e71f2cfc1e7dd34c3ede4b48a3 (bsc#1140631) + - upstream commit 1432d2dbdfa90963272a9b581dc4b55dd3ac514f (bsc#1155574) + - upstream commit 26e35b164b8d0603629b3d394554cfa728e8c3e4 (bsc#1169488) + - upstream commit a9fc640671ef60ac949f1ace6fa687ff242fc233 (fate#325697) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui @@ -1216,6 +1280,20 @@ Wed Oct 24 10:07:36 UTC 2018 - Franck Bui - Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + This includes the following bug fixes: + + - upstream commit 0722b359342d2a9f9e0d453875624387a0ba1be2 (bsc#1045723) + - upstream commit 2f2e14b251b9929e84e8b690d0187b766dfbae20 (bsc#1124122) + - upstream commit c839b729c5f7b08f6d91bf9567d0b1f91d17e0f7 (bsc#1155207) + - upstream commit 8eebb6a9e5e74ec0ef40902e2da53d24559b94a4 (bsc#1168076) + + This also includes the following bug fixes released in v238: + + - upstream commit e8a3144ec4ff332bd63644e468a98e1a7e06e7e4 (bsc#1112024) + - upstream commit 4d219f5343b1924e7c519c2c178aeb5d1a5ab924 (bsc#1123727) + - upstream commit 43b7f24b5e0dd048452112bfb344739764c58694 (bsc#1146991) + - upstream commit bf443be99565e4327f1c8c12b79d98b4c1529cf1 (bsc#1156213) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -1256,11 +1334,11 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com -- split off SUSE specific configuration from systemd package (fate#325478) +- split off SUSE specific udev rules from systemd package (fate#325478) * remove 60-io-scheduler.rules * remove 80-hotplug-cpu-mem.rules * remove 99-wakeup-from-idle.rules - * remove /usr/lib/modules-load.d/sg.conf + * remove /usr/lib/modules-load.d/sg.conf (see bsc#1036463 for details) these are now maintained in the new package system-tuning-common-SUSE @@ -1449,7 +1527,7 @@ Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com -- Rename the tarball +- Rename the tarball (bsc#1087323) So it's clear that it contains some additional patches on top of the upstream version. Use the commit hash in the name so the exact @@ -1585,6 +1663,37 @@ Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com level. Those rules have been rejected by upstream as they seem to be written to workaround some kernel shortcomings... + This includes the following bug fix: + + - upstream commit 3d083b2245b0b8e52f2d8ccc3e55246f41f1f544 (bsc#1102908) + + This also includes the following bug fixes released in v235: + + - upstream commit 2e64e8f46d726689a44d4084226fe3e0ea255c29 (bsc#1069239) + - upstream commit 79873bc850177050baa0c5165b119adafeebb891 (bsc#1069239) + - upstream commit 4bc5d27b942afa83cc3d95debd2ad48d42ac07a8 (bsc#1089376) + - upstream commit e9ea4526a3a3b41eced29b8d742498cc36750424 (bsc#1089693) + - upstream commit d75b31837c93dbb9b20067719026ad0fb7cdfadd (bsc#1117025) + - upstream commit 0e8856d25ab71764a279c2377ae593c0f2460d8f (bsc#1117025) + - upstream commit 048dd629c4590eefb2ebd6a316c7350ed3a6ff19 (bsc#1119971) + - upstream commit 9b32afa9f241fe8febc0a754850f1e7331caf6e3 (bsc#1126056) + - upstream commit e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af (bsc#1137053) + - upstream commit 0864d311766498563331f486909a0d950ba7de87 (bsc#1158336) + - upstream commit d60cb656fc63c24b430421764b7d0322857d34fd (bsc#1161262) + - upstream commit e2be442e791fa1150aa835c684acc6d7189de3e1 (bsc#1165011) + - upstream commit 64a36ae4b1dd23474dd7ea261381ac437b24fac2 (bsc#1172072) + - upstream commit b001ad61e91b6499897f0c977045c7608c233bfa (jsc#SLE-7687) + + - includes IP filtering feature (jsc#SLE-7743) + + This also includes the following bug fixes released in v236: + + - upstream commit b3b4ebab02395933cde554b5a5d5c363dae3920d (bsc#1083571) + - upstream commit 3e3852b3c6c61506963112fd218a86b673fc61e6 (bsc#1110445) + - upstream commit 4050e4797603d3644707d58edfd9742b5311c7cf (bsc#1124153) + - upstream commit 8cb83266062b383cdd4a57301ef559d64b491c51 (bsc#1125604) + - upstream commit 19a44dfe4525ab01caf593a9c2beada4b412910d (bsc#1156482) + ------------------------------------------------------------------- Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com @@ -1623,7 +1732,7 @@ Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com -- Split systemd-container sub-package off +- Split systemd-container sub-package off (fate#325469) Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least diff --git a/systemd-mini.spec b/systemd-mini.spec index 4623a5c4..06ec129d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -115,7 +115,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version}-%{release} +Provides: systemd = %{version} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -123,8 +123,9 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 +Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} +Requires: udev = %{version} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -141,7 +142,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version}-%{release} +Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -201,7 +202,7 @@ Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc -The HTML documenation for systemd +The HTML documentation for systemd. # /bootstrap %endif @@ -210,7 +211,7 @@ The HTML documenation for systemd Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libsystemd0%{?mini} = %{version} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -223,10 +224,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version}-%{release} +Provides: systemd-sysvinit = %{version} Provides: sysvinit:/sbin/init %description sysvinit @@ -282,7 +283,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version}-%{release} +Provides: udev = %{version} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -315,10 +316,10 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version} %if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{release} -Conflicts: libudev1 = %{version}-%{release} +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -331,7 +332,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -345,7 +346,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -363,7 +364,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -379,7 +380,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires %description portable @@ -441,7 +442,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version}-%{release} +Requires: %{name}-network = %{version} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -475,7 +476,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -499,12 +500,6 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -%if 0%{?is_opensuse} -ntp_servers=({0..3}.opensuse.pool.ntp.org) -%else -ntp_servers=({0..3}.suse.pool.ntp.org) -%endif - # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dversion-tag=%{version}%{suse_version} \ @@ -519,7 +514,6 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ @@ -709,25 +703,6 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ -cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf <>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Create a drop-in to prevent journald from starting auditd during -# boot (bsc#984034). -mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d -cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf < + +- Do not include %{release} in a few places where we explicitly mention package versions + + It's usually not a good idea especially when used with conflicts. + +------------------------------------------------------------------- +Tue Oct 13 08:50:13 UTC 2020 - Franck Bui + +- Rely on systemd-default-settings for overriding system default settings + + The new branding packages now ships the drop-ins to customize + systemd either for an openSUSE or a SLE ditro. + ------------------------------------------------------------------- Wed Sep 30 19:09:59 UTC 2020 - Franck Bui @@ -342,6 +357,12 @@ Wed Mar 18 14:09:57 UTC 2020 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for details. + This includes the following bug fixes: + + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (CVE-2020-1712) + - upstream commit 66a19d85a533b15ed32f4066ec880b5a8c06babd (bsc#1157315) + - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (bsc#1162108) + The new tools provided by systemd repart, userdb, homed, fdisk, pwquality, p11kit feature have been disabled for now as they require reviews first. @@ -467,6 +488,15 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for details. + This includes the following bug fixes: + + - upstream commit b49e14d5f3081dfcd363d8199a14c0924ae9152f (bsc#1139459) + - upstream commit 22683674716fd0e5b016ce5a7d8fd90df5f9f9e7 (bsc#1151377) + - upstream commit faf205de3ba9a11b0ba17682123d7f3fedc7da24 (bsc#1151377) + - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) + - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) + - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + Legacy and obsolete symlinks have been finally dropped. Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. @@ -703,7 +733,17 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for - details. + details. + + This includes the following bug fixes: + + - upstream commit b2774a3ae692113e1f47a336a6c09bac9cfb49ad (CVE-2019-20386 bsc#1161436) + - upstream commit 5406c36844b35504a64e9f05fc74b8e5e5a09143 (bsc#1132400) + - upstream commit 83a32ea7b03d6707b8e5bb90a0b3a6eb868ef633 (bsc#1132721) + - upstream commit 7cc5ef5f1811c539ae7f20255c2a093f413cc64f (bsc#1172824 bsc#1142733) + - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) + - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) + - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. @@ -852,7 +892,7 @@ Tue May 14 14:27:12 UTC 2019 - Franck Bui ------------------------------------------------------------------- Mon May 13 08:46:38 UTC 2019 - Franck Bui -- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner +- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner (bsc#1145023) Otherwise the "post build checks" would complain and would force systemd to own this directory. The owner should still be "polkit" @@ -891,6 +931,16 @@ Thu May 2 13:12:23 UTC 2019 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for details. + This includes the following bug fixes: + + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3843) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3844) + - upstream commit 37ed15d7edaf59a1fc7c9e3552cd93a83f3814ef (bsc#1124122) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133506) + - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133509) + - upstream commit 1f82f5bb4237ed5f015daf93f818e9db95e764b8 (bsc#1150595) + - upstream commit e55bdf9b6c5f72475b258a7a4585a0480551cb60 (bsc#1173422) + ------------------------------------------------------------------- Wed Apr 24 07:23:44 UTC 2019 - Franck Bui @@ -914,7 +964,7 @@ Fri Apr 12 14:13:54 UTC 2019 - Franck Bui ------------------------------------------------------------------- Tue Mar 19 16:11:44 UTC 2019 - Franck Bui -- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832) +- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832 jsc#SLE-5933) This stack trace is logged to the journal. @@ -956,6 +1006,20 @@ Tue Mar 5 17:51:02 UTC 2019 - Franck Bui - Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) + This includes the following bug fixes: + + - upstream commit c0d76959080e3ba6534bce1c7053c750668e8b55 (bsc#1160595) + - upstream commit 7334ade4a7e103b1a01d1c8fe1ea7c7a854a1c31 (bsc#1123892) + - upstream commit c7e93c4d15019323973baf12daa76357c83892c4 (boo#1111498) + + This also includes the following bug fixes released in v240: + + - upstream commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 (boo#1111498) + - upstream commit 9eb0fc32d6cb63e71f2cfc1e7dd34c3ede4b48a3 (bsc#1140631) + - upstream commit 1432d2dbdfa90963272a9b581dc4b55dd3ac514f (bsc#1155574) + - upstream commit 26e35b164b8d0603629b3d394554cfa728e8c3e4 (bsc#1169488) + - upstream commit a9fc640671ef60ac949f1ace6fa687ff242fc233 (fate#325697) + ------------------------------------------------------------------- Tue Feb 19 11:08:13 UTC 2019 - Franck Bui @@ -1216,6 +1280,20 @@ Wed Oct 24 10:07:36 UTC 2018 - Franck Bui - Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + This includes the following bug fixes: + + - upstream commit 0722b359342d2a9f9e0d453875624387a0ba1be2 (bsc#1045723) + - upstream commit 2f2e14b251b9929e84e8b690d0187b766dfbae20 (bsc#1124122) + - upstream commit c839b729c5f7b08f6d91bf9567d0b1f91d17e0f7 (bsc#1155207) + - upstream commit 8eebb6a9e5e74ec0ef40902e2da53d24559b94a4 (bsc#1168076) + + This also includes the following bug fixes released in v238: + + - upstream commit e8a3144ec4ff332bd63644e468a98e1a7e06e7e4 (bsc#1112024) + - upstream commit 4d219f5343b1924e7c519c2c178aeb5d1a5ab924 (bsc#1123727) + - upstream commit 43b7f24b5e0dd048452112bfb344739764c58694 (bsc#1146991) + - upstream commit bf443be99565e4327f1c8c12b79d98b4c1529cf1 (bsc#1156213) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -1256,11 +1334,11 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com -- split off SUSE specific configuration from systemd package (fate#325478) +- split off SUSE specific udev rules from systemd package (fate#325478) * remove 60-io-scheduler.rules * remove 80-hotplug-cpu-mem.rules * remove 99-wakeup-from-idle.rules - * remove /usr/lib/modules-load.d/sg.conf + * remove /usr/lib/modules-load.d/sg.conf (see bsc#1036463 for details) these are now maintained in the new package system-tuning-common-SUSE @@ -1449,7 +1527,7 @@ Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com ------------------------------------------------------------------- Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com -- Rename the tarball +- Rename the tarball (bsc#1087323) So it's clear that it contains some additional patches on top of the upstream version. Use the commit hash in the name so the exact @@ -1585,6 +1663,37 @@ Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com level. Those rules have been rejected by upstream as they seem to be written to workaround some kernel shortcomings... + This includes the following bug fix: + + - upstream commit 3d083b2245b0b8e52f2d8ccc3e55246f41f1f544 (bsc#1102908) + + This also includes the following bug fixes released in v235: + + - upstream commit 2e64e8f46d726689a44d4084226fe3e0ea255c29 (bsc#1069239) + - upstream commit 79873bc850177050baa0c5165b119adafeebb891 (bsc#1069239) + - upstream commit 4bc5d27b942afa83cc3d95debd2ad48d42ac07a8 (bsc#1089376) + - upstream commit e9ea4526a3a3b41eced29b8d742498cc36750424 (bsc#1089693) + - upstream commit d75b31837c93dbb9b20067719026ad0fb7cdfadd (bsc#1117025) + - upstream commit 0e8856d25ab71764a279c2377ae593c0f2460d8f (bsc#1117025) + - upstream commit 048dd629c4590eefb2ebd6a316c7350ed3a6ff19 (bsc#1119971) + - upstream commit 9b32afa9f241fe8febc0a754850f1e7331caf6e3 (bsc#1126056) + - upstream commit e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af (bsc#1137053) + - upstream commit 0864d311766498563331f486909a0d950ba7de87 (bsc#1158336) + - upstream commit d60cb656fc63c24b430421764b7d0322857d34fd (bsc#1161262) + - upstream commit e2be442e791fa1150aa835c684acc6d7189de3e1 (bsc#1165011) + - upstream commit 64a36ae4b1dd23474dd7ea261381ac437b24fac2 (bsc#1172072) + - upstream commit b001ad61e91b6499897f0c977045c7608c233bfa (jsc#SLE-7687) + + - includes IP filtering feature (jsc#SLE-7743) + + This also includes the following bug fixes released in v236: + + - upstream commit b3b4ebab02395933cde554b5a5d5c363dae3920d (bsc#1083571) + - upstream commit 3e3852b3c6c61506963112fd218a86b673fc61e6 (bsc#1110445) + - upstream commit 4050e4797603d3644707d58edfd9742b5311c7cf (bsc#1124153) + - upstream commit 8cb83266062b383cdd4a57301ef559d64b491c51 (bsc#1125604) + - upstream commit 19a44dfe4525ab01caf593a9c2beada4b412910d (bsc#1156482) + ------------------------------------------------------------------- Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com @@ -1623,7 +1732,7 @@ Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com ------------------------------------------------------------------- Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com -- Split systemd-container sub-package off +- Split systemd-container sub-package off (fate#325469) Other distros already do it and it seems a good idea to not install this stuff on new installations by default. At least diff --git a/systemd.spec b/systemd.spec index 5001f010..c32b14c0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -113,7 +113,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version}-%{release} +Provides: systemd = %{version} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -121,8 +121,9 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 +Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} +Requires: udev = %{version} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -139,7 +140,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version}-%{release} +Provides: systemd-analyze = %{version} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -199,7 +200,7 @@ Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc -The HTML documenation for systemd +The HTML documentation for systemd. # /bootstrap %endif @@ -208,7 +209,7 @@ The HTML documenation for systemd Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libsystemd0%{?mini} = %{version} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -221,10 +222,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version}-%{release} +Provides: systemd-sysvinit = %{version} Provides: sysvinit:/sbin/init %description sysvinit @@ -280,7 +281,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version}-%{release} +Provides: udev = %{version} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -313,10 +314,10 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version} %if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{release} -Conflicts: libudev1 = %{version}-%{release} +Provides: libudev-devel = %{version} +Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -329,7 +330,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -343,7 +344,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -361,7 +362,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -377,7 +378,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} %systemd_requires %description portable @@ -439,7 +440,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version}-%{release} +Requires: %{name}-network = %{version} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -473,7 +474,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -497,12 +498,6 @@ systemd-journal-remote, and systemd-journal-upload. %autopatch -p1 %build -%if 0%{?is_opensuse} -ntp_servers=({0..3}.opensuse.pool.ntp.org) -%else -ntp_servers=({0..3}.suse.pool.ntp.org) -%endif - # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dversion-tag=%{version}%{suse_version} \ @@ -517,7 +512,6 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ - -Dntp-servers="${ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ @@ -707,25 +701,6 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/ -cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf <>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Create a drop-in to prevent journald from starting auditd during -# boot (bsc#984034). -mkdir -p %{buildroot}%{_prefix}/lib/systemd/journald.conf.d -cat >%{buildroot}%{_prefix}/lib/systemd/journald.conf.d/20-suse-defaults.conf < Date: Fri, 6 Nov 2020 09:15:20 +0000 Subject: [PATCH 513/991] Accepting request 846415 from home:fbui:systemd:openSUSE-Factory - Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise ecc07954de log: normalize log target condition check d32ceea42b log: update comment 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) - Simplify systemd-sysv-convert - the previous code incorrectly assumed that the sysv init scripts were uninstalled before %post get executed. It therefore save the enablement state in %pre and restore it in %post. Now all is done in %post (making --save option useless) and there's no more need to remember the enablement state. - "--save" option is a NOP but is still kept for backward compatibility. - the previous simplifcation made /var/lib/systemd/migrated no more used. - we do not search for units in /lib/systemd anymore, this shouldn't be needed anymore these days especially since this path was only used when systemd was introduced in openSUSE and it was never used in SLE (checked SLE12-GA). - the option --show has been dropped. It's never been used even internally. - the DB is populated only once even if the script was enabled at multiple runlevels. The runlevel info was never used. A dummy value is still added to keep the same format just in case. - No more need to clean the journal-upload stuff with --without=journal_remote Since -Dremote build option has been introduced with meson, this workaround is no more needed. OBS-URL: https://build.opensuse.org/request/show/846415 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1124 --- systemd-mini.changes | 69 ++++++- systemd-mini.spec | 32 ++- systemd-sysv-convert | 236 +++++++++------------- systemd-v246.6+suse.32.gfdce77ce20.tar.xz | 3 + systemd.changes | 69 ++++++- systemd.spec | 32 ++- 6 files changed, 268 insertions(+), 173 deletions(-) create mode 100644 systemd-v246.6+suse.32.gfdce77ce20.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 131a1e63..063817c0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Fri Nov 6 08:34:18 UTC 2020 - Franck Bui + +- Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 + + 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise + ecc07954de log: normalize log target condition check + d32ceea42b log: update comment + 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) + +------------------------------------------------------------------- +Mon Nov 2 15:17:20 UTC 2020 - Franck Bui + +- Simplify systemd-sysv-convert + + - the previous code incorrectly assumed that the sysv init scripts + were uninstalled before %post get executed. It therefore save the + enablement state in %pre and restore it in %post. Now all is done + in %post (making --save option useless) and there's no more need + to remember the enablement state. + + - "--save" option is a NOP but is still kept for backward + compatibility. + + - the previous simplifcation made /var/lib/systemd/migrated no more + used. + + - we do not search for units in /lib/systemd anymore, this shouldn't + be needed anymore these days especially since this path was only + used when systemd was introduced in openSUSE and it was never used + in SLE (checked SLE12-GA). + + - the option --show has been dropped. It's never been used even + internally. + + - the DB is populated only once even if the script was enabled at + multiple runlevels. The runlevel info was never used. A dummy + value is still added to keep the same format just in case. + +------------------------------------------------------------------- +Wed Oct 21 09:52:38 UTC 2020 - Franck Bui + +- No more need to clean the journal-upload stuff with --without=journal_remote + + Since -Dremote build option has been introduced with meson, this + workaround is no more needed. + +------------------------------------------------------------------- +Mon Oct 19 19:53:48 UTC 2020 - Franck Bui + +- Move journal-{remote,upload}.conf.5.gz man pages into systemd-journal_remote sub package + +------------------------------------------------------------------- +Mon Oct 19 18:50:38 UTC 2020 - Franck Bui + +- Explicitly list files in /usr/lib/sysusers.d shipped by the main package + + Currently only one config file is shipped in this directory and we + want to check any new files that may be added in the future. + +------------------------------------------------------------------- +Mon Oct 19 17:29:38 UTC 2020 - Franck Bui + +- Use %{_modulesloaddir}, %{_environmentdir} and %{_modprobedir} wherever appropriate + ------------------------------------------------------------------- Tue Oct 13 09:29:40 UTC 2020 - Franck Bui @@ -8,7 +73,7 @@ Tue Oct 13 09:29:40 UTC 2020 - Franck Bui ------------------------------------------------------------------- Tue Oct 13 08:50:13 UTC 2020 - Franck Bui -- Rely on systemd-default-settings for overriding system default settings +- Rely on systemd-default-settings for overriding system default settings (bsc#1172517) The new branding packages now ships the drop-ins to customize systemd either for an openSUSE or a SLE ditro. @@ -496,6 +561,7 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + - upstream commit bc9ecd484f1ebfe0de8b567c90f6cd867fbd5894 (bsc#1141597) Legacy and obsolete symlinks have been finally dropped. @@ -744,6 +810,7 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) + - upstream commit 59c55e73eaee345e1ee67c23eace8895ed499693 (bsc#1177510) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. diff --git a/systemd-mini.spec b/systemd-mini.spec index 06ec129d..45a51d96 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.27.gd7b5ac76dc +%define suse_version +suse.32.gfdce77ce20 %bcond_with gnuefi %if 0%{?bootstrap} @@ -657,14 +657,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# journal-upload is built if libcurl is installed which can happen -# when importd is enabled (whereas journal_remote is not). -%if ! %{with journal_remote} -rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf -rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* -%endif - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1187,18 +1179,16 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_prefix}/lib/modules-load.d +%{_modulesloaddir} + +%dir %{_sysusersdir} +%{_sysusersdir}/systemd.conf -%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ %exclude %{_tmpfilesdir}/systemd-nspawn.conf -%if %{with journal_remote} -%exclude %{_sysusersdir}/systemd-remote.conf -%endif - -%{_prefix}/lib/environment.d/ +%{_environmentdir}/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d @@ -1241,8 +1231,8 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf # FIXME: why do we have to own this dir ? -%dir %{_prefix}/lib/modprobe.d -%{_prefix}/lib/modprobe.d/systemd.conf +%dir %{_modprobedir} +%{_modprobedir}/systemd.conf # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1300,6 +1290,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with journal_remote} +%exclude %{_mandir}/man5/journal-remote.conf* +%exclude %{_mandir}/man5/journal-upload.conf* +%endif %if %{with portabled} %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* @@ -1551,6 +1545,8 @@ fi %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf +%{_mandir}/man5/journal-remote.conf* +%{_mandir}/man5/journal-upload.conf* %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 5d07c48d..8a75b941 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -1,146 +1,112 @@ #!/bin/bash +info() { + echo "$(basename $0): $*" +} + +warn() { + echo >&2 "$(basename $0): warning, $*" +} + +usage() { + echo >&2 "usage: $(basename $0) --apply [ ...]" +} + if [ "$UID" != "0" ]; then - echo Need to be root. + warn "need to be root, aborting" exit 1 fi -declare -A results_target - -usage() { - cat << EOF -usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] - SERVICE [SERVICE ...] -EOF -} - -help() { +if [ $# -lt 2 ]; then usage - cat << EOF -Save and Restore SysV Service Runlevel Information + exit 1 +fi -positional arguments: - SERVICE Service names +database_lookup() { + local service unused -optional arguments: - -h, --help show this help message and exit - --save Save SysV runlevel information for one or more services - --show Show saved SysV runlevel information for one or more services - --apply Apply saved SysV runlevel information for one or more services - to systemd counterparts -EOF -} - -find_service() { - local service=$1 - local rcnd=$2 - - case $rcnd in - boot.d) [ -L /etc/rc.d/$rcnd/S??boot.$service ] ;; - *) [ -L /etc/rc.d/$rcnd/S??$service ] - esac -} - -lookup_database() { - local services=$@ - local service - local runlevel - local priority - - # 'priority' field is not used but is kept for backward compat - # reason. - while read service runlevel priority; do - for s in $services ; do - if [ $s == $service ]; then - results_target[$service]+=" runlevel$runlevel.target" - break - fi - done - done < /var/lib/systemd/sysv-convert/database -} - -declare -i fail=0 -case "$1" in - -h|--help) - help - exit 0 - ;; - --save) - shift - for service in $@ ; do - if [ ! -r /etc/init.d/$service ] && [ ! -r /etc/init.d/boot.$service ]; then - echo "SysV service $service does not exist, skipping" - continue - fi - for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do - case $rcnd in - rc*.d) runlevel=${rcnd:2:1} ;; - boot.d) runlevel=3 ;; - esac - - # Write a dumb priority as it is not used. - find_service $service $rcnd && - echo "$service $runlevel 50" >>/var/lib/systemd/sysv-convert/database - done - done - ;; - --show) - shift - services=$@ - lookup_database $services - for service in $services; do - if [ -z "${results_target[$service]}" ]; then - echo "No information about service $service found." >/dev/stderr - let fail++ - continue - fi - for target in ${results_target[$service]}; do - echo "SysV service '$service' is pulled by $target" - done - done - ;; - --apply) - shift - services=$@ - for service in $services; do - if [ ! -f "/lib/systemd/system/$service.service" -a ! -f "/usr/lib/systemd/system/$service.service" ]; then - echo systemd service $service.service does not exist. >/dev/stderr - exit 1 - fi - done - - # - # The database might no have been created by a previous --save - # call. This can happen when: - # - # - we're upgrading a package which initially didn't - # have any unit file nor sysv init script and now - # start shipping one or more unit files (bsc#982303). - # - # - the sysv init service wasn't enabled at all before - # being migrated to a native unit file (bsc#982211). - # - if [ -e /var/lib/systemd/sysv-convert/database ]; then - lookup_database $services - for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && unit="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && unit="/usr/lib/systemd/system/$service.service" - - # If $service is not present in the database, - # then it simply means that the sysv init - # service was not enabled at all. - for target in ${results_target[$service]}; do - echo ln -sf $unit /etc/systemd/system/$target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/$target.wants" - /bin/ln -sf $unit /etc/systemd/system/$target.wants/$service.service - done - done + # 'priority' field is not used but is kept for backward compat reason. + while read service unused; do + if [ $service == $1 ]; then + return 0 fi - ;; - *) - usage - let fail=2 - ;; -esac + done >/var/lib/systemd/sysv-convert/database +} + +# Initialize the database. +if [ ! -e /var/lib/systemd/sysv-convert/database ]; then + touch /var/lib/systemd/sysv-convert/database +fi + +case "$1" in +--save) + # --save is kept for backward compatibility. + ;; +--apply) + shift + for service in $@; do + # For backward compat we accept the name of the + # service with or without the unit type suffix. If the + # suffix is not there, assume .service type. + case "$service" in + *.*) initscript="${service%.*}" ;; + *) initscript="$service" + service="$service.service" + esac + + # Did we already migrate this service during a previous update ? + database_lookup $initscript && + continue + + # Sanity check. + unit="/usr/lib/systemd/system/$service" + if [ ! -f "$unit" ]; then + warn "$unit not found, skipping" + continue + fi + + # Mark the service as processed to make sure we will do the migration only + # once. This is important especially for packages that keep their init + # scripts around even if they're no more used. Since the saved info won't + # be reused again we simply use an invalid runlevel and add the service + # in the db only once. + database_add $initscript -1 + + # The package is introducing new services and never has any sysv init + # scripts (bsc#982303). + if [ ! -r /etc/init.d/$initscript ] && + [ ! -r /etc/init.d/boot.$initscript ]; then + continue + fi + + for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do + # Was the sysvinit script enabled ? (bsc#982211) + case $rcnd in + boot.d) [ -L /etc/rc.d/boot.d/S??boot.$initscript ] || continue ;; + *) [ -L /etc/rc.d/$rcnd/S??$initscript ] || continue + esac + + case $rcnd in + boot.d) runlevel=3 ;; + *) runlevel=${rcnd:2:1} + esac + + target=runlevel$runlevel.target + info "enabling $unit (wanted by $target)..." + + mkdir -p "/etc/systemd/system/$target.wants" + ln -sf $unit /etc/systemd/system/$target.wants/$service + done + done + ;; +*) + usage + exit 1 +esac diff --git a/systemd-v246.6+suse.32.gfdce77ce20.tar.xz b/systemd-v246.6+suse.32.gfdce77ce20.tar.xz new file mode 100644 index 00000000..8b205eb8 --- /dev/null +++ b/systemd-v246.6+suse.32.gfdce77ce20.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:004c6f73d42c28b4706a44c3da99e8c8054ed324b4e77422abdcde0a93caa757 +size 6552480 diff --git a/systemd.changes b/systemd.changes index 131a1e63..063817c0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Fri Nov 6 08:34:18 UTC 2020 - Franck Bui + +- Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 + + 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise + ecc07954de log: normalize log target condition check + d32ceea42b log: update comment + 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) + +------------------------------------------------------------------- +Mon Nov 2 15:17:20 UTC 2020 - Franck Bui + +- Simplify systemd-sysv-convert + + - the previous code incorrectly assumed that the sysv init scripts + were uninstalled before %post get executed. It therefore save the + enablement state in %pre and restore it in %post. Now all is done + in %post (making --save option useless) and there's no more need + to remember the enablement state. + + - "--save" option is a NOP but is still kept for backward + compatibility. + + - the previous simplifcation made /var/lib/systemd/migrated no more + used. + + - we do not search for units in /lib/systemd anymore, this shouldn't + be needed anymore these days especially since this path was only + used when systemd was introduced in openSUSE and it was never used + in SLE (checked SLE12-GA). + + - the option --show has been dropped. It's never been used even + internally. + + - the DB is populated only once even if the script was enabled at + multiple runlevels. The runlevel info was never used. A dummy + value is still added to keep the same format just in case. + +------------------------------------------------------------------- +Wed Oct 21 09:52:38 UTC 2020 - Franck Bui + +- No more need to clean the journal-upload stuff with --without=journal_remote + + Since -Dremote build option has been introduced with meson, this + workaround is no more needed. + +------------------------------------------------------------------- +Mon Oct 19 19:53:48 UTC 2020 - Franck Bui + +- Move journal-{remote,upload}.conf.5.gz man pages into systemd-journal_remote sub package + +------------------------------------------------------------------- +Mon Oct 19 18:50:38 UTC 2020 - Franck Bui + +- Explicitly list files in /usr/lib/sysusers.d shipped by the main package + + Currently only one config file is shipped in this directory and we + want to check any new files that may be added in the future. + +------------------------------------------------------------------- +Mon Oct 19 17:29:38 UTC 2020 - Franck Bui + +- Use %{_modulesloaddir}, %{_environmentdir} and %{_modprobedir} wherever appropriate + ------------------------------------------------------------------- Tue Oct 13 09:29:40 UTC 2020 - Franck Bui @@ -8,7 +73,7 @@ Tue Oct 13 09:29:40 UTC 2020 - Franck Bui ------------------------------------------------------------------- Tue Oct 13 08:50:13 UTC 2020 - Franck Bui -- Rely on systemd-default-settings for overriding system default settings +- Rely on systemd-default-settings for overriding system default settings (bsc#1172517) The new branding packages now ships the drop-ins to customize systemd either for an openSUSE or a SLE ditro. @@ -496,6 +561,7 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + - upstream commit bc9ecd484f1ebfe0de8b567c90f6cd867fbd5894 (bsc#1141597) Legacy and obsolete symlinks have been finally dropped. @@ -744,6 +810,7 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) + - upstream commit 59c55e73eaee345e1ee67c23eace8895ed499693 (bsc#1177510) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. diff --git a/systemd.spec b/systemd.spec index c32b14c0..03f5ba0f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.27.gd7b5ac76dc +%define suse_version +suse.32.gfdce77ce20 %bcond_with gnuefi %if 0%{?bootstrap} @@ -655,14 +655,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# journal-upload is built if libcurl is installed which can happen -# when importd is enabled (whereas journal_remote is not). -%if ! %{with journal_remote} -rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf -rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* -%endif - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1185,18 +1177,16 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_prefix}/lib/modules-load.d +%{_modulesloaddir} + +%dir %{_sysusersdir} +%{_sysusersdir}/systemd.conf -%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ %exclude %{_tmpfilesdir}/systemd-nspawn.conf -%if %{with journal_remote} -%exclude %{_sysusersdir}/systemd-remote.conf -%endif - -%{_prefix}/lib/environment.d/ +%{_environmentdir}/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d @@ -1239,8 +1229,8 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf # FIXME: why do we have to own this dir ? -%dir %{_prefix}/lib/modprobe.d -%{_prefix}/lib/modprobe.d/systemd.conf +%dir %{_modprobedir} +%{_modprobedir}/systemd.conf # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1298,6 +1288,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with journal_remote} +%exclude %{_mandir}/man5/journal-remote.conf* +%exclude %{_mandir}/man5/journal-upload.conf* +%endif %if %{with portabled} %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* @@ -1549,6 +1543,8 @@ fi %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf +%{_mandir}/man5/journal-remote.conf* +%{_mandir}/man5/journal-upload.conf* %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* From e972ea0ceb5228135337b84d7d431a482ecea67e0b72bd54057a39ef3474651b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 6 Nov 2020 09:52:55 +0000 Subject: [PATCH 514/991] Accepting request 846423 from home:fbui:systemd:openSUSE-Factory Drop old tarball OBS-URL: https://build.opensuse.org/request/show/846423 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1125 --- systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz diff --git a/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz b/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz deleted file mode 100644 index 1689808c..00000000 --- a/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a49af04e1d1dbadfcc869108ab16976a774dbbc379ae2226a4977f32c734a499 -size 6552824 From f19f35f14a055be0d972adf7b5be288fd0825f38391e9fd4f88b76a48fbfefc1 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 9 Nov 2020 12:56:30 +0000 Subject: [PATCH 515/991] Accepting request 846424 from Base:System OBS-URL: https://build.opensuse.org/request/show/846424 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=319 --- systemd-mini.changes | 69 ++++++- systemd-mini.spec | 32 ++- systemd-sysv-convert | 236 +++++++++------------- systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz | 3 - systemd-v246.6+suse.32.gfdce77ce20.tar.xz | 3 + systemd.changes | 69 ++++++- systemd.spec | 32 ++- 7 files changed, 268 insertions(+), 176 deletions(-) delete mode 100644 systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz create mode 100644 systemd-v246.6+suse.32.gfdce77ce20.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 131a1e63..063817c0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Fri Nov 6 08:34:18 UTC 2020 - Franck Bui + +- Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 + + 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise + ecc07954de log: normalize log target condition check + d32ceea42b log: update comment + 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) + +------------------------------------------------------------------- +Mon Nov 2 15:17:20 UTC 2020 - Franck Bui + +- Simplify systemd-sysv-convert + + - the previous code incorrectly assumed that the sysv init scripts + were uninstalled before %post get executed. It therefore save the + enablement state in %pre and restore it in %post. Now all is done + in %post (making --save option useless) and there's no more need + to remember the enablement state. + + - "--save" option is a NOP but is still kept for backward + compatibility. + + - the previous simplifcation made /var/lib/systemd/migrated no more + used. + + - we do not search for units in /lib/systemd anymore, this shouldn't + be needed anymore these days especially since this path was only + used when systemd was introduced in openSUSE and it was never used + in SLE (checked SLE12-GA). + + - the option --show has been dropped. It's never been used even + internally. + + - the DB is populated only once even if the script was enabled at + multiple runlevels. The runlevel info was never used. A dummy + value is still added to keep the same format just in case. + +------------------------------------------------------------------- +Wed Oct 21 09:52:38 UTC 2020 - Franck Bui + +- No more need to clean the journal-upload stuff with --without=journal_remote + + Since -Dremote build option has been introduced with meson, this + workaround is no more needed. + +------------------------------------------------------------------- +Mon Oct 19 19:53:48 UTC 2020 - Franck Bui + +- Move journal-{remote,upload}.conf.5.gz man pages into systemd-journal_remote sub package + +------------------------------------------------------------------- +Mon Oct 19 18:50:38 UTC 2020 - Franck Bui + +- Explicitly list files in /usr/lib/sysusers.d shipped by the main package + + Currently only one config file is shipped in this directory and we + want to check any new files that may be added in the future. + +------------------------------------------------------------------- +Mon Oct 19 17:29:38 UTC 2020 - Franck Bui + +- Use %{_modulesloaddir}, %{_environmentdir} and %{_modprobedir} wherever appropriate + ------------------------------------------------------------------- Tue Oct 13 09:29:40 UTC 2020 - Franck Bui @@ -8,7 +73,7 @@ Tue Oct 13 09:29:40 UTC 2020 - Franck Bui ------------------------------------------------------------------- Tue Oct 13 08:50:13 UTC 2020 - Franck Bui -- Rely on systemd-default-settings for overriding system default settings +- Rely on systemd-default-settings for overriding system default settings (bsc#1172517) The new branding packages now ships the drop-ins to customize systemd either for an openSUSE or a SLE ditro. @@ -496,6 +561,7 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + - upstream commit bc9ecd484f1ebfe0de8b567c90f6cd867fbd5894 (bsc#1141597) Legacy and obsolete symlinks have been finally dropped. @@ -744,6 +810,7 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) + - upstream commit 59c55e73eaee345e1ee67c23eace8895ed499693 (bsc#1177510) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. diff --git a/systemd-mini.spec b/systemd-mini.spec index 06ec129d..45a51d96 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.27.gd7b5ac76dc +%define suse_version +suse.32.gfdce77ce20 %bcond_with gnuefi %if 0%{?bootstrap} @@ -657,14 +657,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# journal-upload is built if libcurl is installed which can happen -# when importd is enabled (whereas journal_remote is not). -%if ! %{with journal_remote} -rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf -rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* -%endif - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1187,18 +1179,16 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_prefix}/lib/modules-load.d +%{_modulesloaddir} + +%dir %{_sysusersdir} +%{_sysusersdir}/systemd.conf -%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ %exclude %{_tmpfilesdir}/systemd-nspawn.conf -%if %{with journal_remote} -%exclude %{_sysusersdir}/systemd-remote.conf -%endif - -%{_prefix}/lib/environment.d/ +%{_environmentdir}/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d @@ -1241,8 +1231,8 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf # FIXME: why do we have to own this dir ? -%dir %{_prefix}/lib/modprobe.d -%{_prefix}/lib/modprobe.d/systemd.conf +%dir %{_modprobedir} +%{_modprobedir}/systemd.conf # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1300,6 +1290,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with journal_remote} +%exclude %{_mandir}/man5/journal-remote.conf* +%exclude %{_mandir}/man5/journal-upload.conf* +%endif %if %{with portabled} %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* @@ -1551,6 +1545,8 @@ fi %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf +%{_mandir}/man5/journal-remote.conf* +%{_mandir}/man5/journal-upload.conf* %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 5d07c48d..8a75b941 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -1,146 +1,112 @@ #!/bin/bash +info() { + echo "$(basename $0): $*" +} + +warn() { + echo >&2 "$(basename $0): warning, $*" +} + +usage() { + echo >&2 "usage: $(basename $0) --apply [ ...]" +} + if [ "$UID" != "0" ]; then - echo Need to be root. + warn "need to be root, aborting" exit 1 fi -declare -A results_target - -usage() { - cat << EOF -usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] - SERVICE [SERVICE ...] -EOF -} - -help() { +if [ $# -lt 2 ]; then usage - cat << EOF -Save and Restore SysV Service Runlevel Information + exit 1 +fi -positional arguments: - SERVICE Service names +database_lookup() { + local service unused -optional arguments: - -h, --help show this help message and exit - --save Save SysV runlevel information for one or more services - --show Show saved SysV runlevel information for one or more services - --apply Apply saved SysV runlevel information for one or more services - to systemd counterparts -EOF -} - -find_service() { - local service=$1 - local rcnd=$2 - - case $rcnd in - boot.d) [ -L /etc/rc.d/$rcnd/S??boot.$service ] ;; - *) [ -L /etc/rc.d/$rcnd/S??$service ] - esac -} - -lookup_database() { - local services=$@ - local service - local runlevel - local priority - - # 'priority' field is not used but is kept for backward compat - # reason. - while read service runlevel priority; do - for s in $services ; do - if [ $s == $service ]; then - results_target[$service]+=" runlevel$runlevel.target" - break - fi - done - done < /var/lib/systemd/sysv-convert/database -} - -declare -i fail=0 -case "$1" in - -h|--help) - help - exit 0 - ;; - --save) - shift - for service in $@ ; do - if [ ! -r /etc/init.d/$service ] && [ ! -r /etc/init.d/boot.$service ]; then - echo "SysV service $service does not exist, skipping" - continue - fi - for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do - case $rcnd in - rc*.d) runlevel=${rcnd:2:1} ;; - boot.d) runlevel=3 ;; - esac - - # Write a dumb priority as it is not used. - find_service $service $rcnd && - echo "$service $runlevel 50" >>/var/lib/systemd/sysv-convert/database - done - done - ;; - --show) - shift - services=$@ - lookup_database $services - for service in $services; do - if [ -z "${results_target[$service]}" ]; then - echo "No information about service $service found." >/dev/stderr - let fail++ - continue - fi - for target in ${results_target[$service]}; do - echo "SysV service '$service' is pulled by $target" - done - done - ;; - --apply) - shift - services=$@ - for service in $services; do - if [ ! -f "/lib/systemd/system/$service.service" -a ! -f "/usr/lib/systemd/system/$service.service" ]; then - echo systemd service $service.service does not exist. >/dev/stderr - exit 1 - fi - done - - # - # The database might no have been created by a previous --save - # call. This can happen when: - # - # - we're upgrading a package which initially didn't - # have any unit file nor sysv init script and now - # start shipping one or more unit files (bsc#982303). - # - # - the sysv init service wasn't enabled at all before - # being migrated to a native unit file (bsc#982211). - # - if [ -e /var/lib/systemd/sysv-convert/database ]; then - lookup_database $services - for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && unit="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && unit="/usr/lib/systemd/system/$service.service" - - # If $service is not present in the database, - # then it simply means that the sysv init - # service was not enabled at all. - for target in ${results_target[$service]}; do - echo ln -sf $unit /etc/systemd/system/$target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/$target.wants" - /bin/ln -sf $unit /etc/systemd/system/$target.wants/$service.service - done - done + # 'priority' field is not used but is kept for backward compat reason. + while read service unused; do + if [ $service == $1 ]; then + return 0 fi - ;; - *) - usage - let fail=2 - ;; -esac + done >/var/lib/systemd/sysv-convert/database +} + +# Initialize the database. +if [ ! -e /var/lib/systemd/sysv-convert/database ]; then + touch /var/lib/systemd/sysv-convert/database +fi + +case "$1" in +--save) + # --save is kept for backward compatibility. + ;; +--apply) + shift + for service in $@; do + # For backward compat we accept the name of the + # service with or without the unit type suffix. If the + # suffix is not there, assume .service type. + case "$service" in + *.*) initscript="${service%.*}" ;; + *) initscript="$service" + service="$service.service" + esac + + # Did we already migrate this service during a previous update ? + database_lookup $initscript && + continue + + # Sanity check. + unit="/usr/lib/systemd/system/$service" + if [ ! -f "$unit" ]; then + warn "$unit not found, skipping" + continue + fi + + # Mark the service as processed to make sure we will do the migration only + # once. This is important especially for packages that keep their init + # scripts around even if they're no more used. Since the saved info won't + # be reused again we simply use an invalid runlevel and add the service + # in the db only once. + database_add $initscript -1 + + # The package is introducing new services and never has any sysv init + # scripts (bsc#982303). + if [ ! -r /etc/init.d/$initscript ] && + [ ! -r /etc/init.d/boot.$initscript ]; then + continue + fi + + for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do + # Was the sysvinit script enabled ? (bsc#982211) + case $rcnd in + boot.d) [ -L /etc/rc.d/boot.d/S??boot.$initscript ] || continue ;; + *) [ -L /etc/rc.d/$rcnd/S??$initscript ] || continue + esac + + case $rcnd in + boot.d) runlevel=3 ;; + *) runlevel=${rcnd:2:1} + esac + + target=runlevel$runlevel.target + info "enabling $unit (wanted by $target)..." + + mkdir -p "/etc/systemd/system/$target.wants" + ln -sf $unit /etc/systemd/system/$target.wants/$service + done + done + ;; +*) + usage + exit 1 +esac diff --git a/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz b/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz deleted file mode 100644 index 1689808c..00000000 --- a/systemd-v246.6+suse.27.gd7b5ac76dc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a49af04e1d1dbadfcc869108ab16976a774dbbc379ae2226a4977f32c734a499 -size 6552824 diff --git a/systemd-v246.6+suse.32.gfdce77ce20.tar.xz b/systemd-v246.6+suse.32.gfdce77ce20.tar.xz new file mode 100644 index 00000000..8b205eb8 --- /dev/null +++ b/systemd-v246.6+suse.32.gfdce77ce20.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:004c6f73d42c28b4706a44c3da99e8c8054ed324b4e77422abdcde0a93caa757 +size 6552480 diff --git a/systemd.changes b/systemd.changes index 131a1e63..063817c0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Fri Nov 6 08:34:18 UTC 2020 - Franck Bui + +- Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 + + 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise + ecc07954de log: normalize log target condition check + d32ceea42b log: update comment + 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) + +------------------------------------------------------------------- +Mon Nov 2 15:17:20 UTC 2020 - Franck Bui + +- Simplify systemd-sysv-convert + + - the previous code incorrectly assumed that the sysv init scripts + were uninstalled before %post get executed. It therefore save the + enablement state in %pre and restore it in %post. Now all is done + in %post (making --save option useless) and there's no more need + to remember the enablement state. + + - "--save" option is a NOP but is still kept for backward + compatibility. + + - the previous simplifcation made /var/lib/systemd/migrated no more + used. + + - we do not search for units in /lib/systemd anymore, this shouldn't + be needed anymore these days especially since this path was only + used when systemd was introduced in openSUSE and it was never used + in SLE (checked SLE12-GA). + + - the option --show has been dropped. It's never been used even + internally. + + - the DB is populated only once even if the script was enabled at + multiple runlevels. The runlevel info was never used. A dummy + value is still added to keep the same format just in case. + +------------------------------------------------------------------- +Wed Oct 21 09:52:38 UTC 2020 - Franck Bui + +- No more need to clean the journal-upload stuff with --without=journal_remote + + Since -Dremote build option has been introduced with meson, this + workaround is no more needed. + +------------------------------------------------------------------- +Mon Oct 19 19:53:48 UTC 2020 - Franck Bui + +- Move journal-{remote,upload}.conf.5.gz man pages into systemd-journal_remote sub package + +------------------------------------------------------------------- +Mon Oct 19 18:50:38 UTC 2020 - Franck Bui + +- Explicitly list files in /usr/lib/sysusers.d shipped by the main package + + Currently only one config file is shipped in this directory and we + want to check any new files that may be added in the future. + +------------------------------------------------------------------- +Mon Oct 19 17:29:38 UTC 2020 - Franck Bui + +- Use %{_modulesloaddir}, %{_environmentdir} and %{_modprobedir} wherever appropriate + ------------------------------------------------------------------- Tue Oct 13 09:29:40 UTC 2020 - Franck Bui @@ -8,7 +73,7 @@ Tue Oct 13 09:29:40 UTC 2020 - Franck Bui ------------------------------------------------------------------- Tue Oct 13 08:50:13 UTC 2020 - Franck Bui -- Rely on systemd-default-settings for overriding system default settings +- Rely on systemd-default-settings for overriding system default settings (bsc#1172517) The new branding packages now ships the drop-ins to customize systemd either for an openSUSE or a SLE ditro. @@ -496,6 +561,7 @@ Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) + - upstream commit bc9ecd484f1ebfe0de8b567c90f6cd867fbd5894 (bsc#1141597) Legacy and obsolete symlinks have been finally dropped. @@ -744,6 +810,7 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) + - upstream commit 59c55e73eaee345e1ee67c23eace8895ed499693 (bsc#1177510) Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped from branch SUSE/v243 while we were rebasing. diff --git a/systemd.spec b/systemd.spec index c32b14c0..03f5ba0f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.27.gd7b5ac76dc +%define suse_version +suse.32.gfdce77ce20 %bcond_with gnuefi %if 0%{?bootstrap} @@ -655,14 +655,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# journal-upload is built if libcurl is installed which can happen -# when importd is enabled (whereas journal_remote is not). -%if ! %{with journal_remote} -rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf -rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* -%endif - # Create the /var/log/journal directory to change the volatile journal # to a persistent one mkdir -p %{buildroot}%{_localstatedir}/log/journal/ @@ -1185,18 +1177,16 @@ fi %endif %dir %{_sysconfdir}/modules-load.d -%{_prefix}/lib/modules-load.d +%{_modulesloaddir} + +%dir %{_sysusersdir} +%{_sysusersdir}/systemd.conf -%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d %{_tmpfilesdir}/ %exclude %{_tmpfilesdir}/systemd-nspawn.conf -%if %{with journal_remote} -%exclude %{_sysusersdir}/systemd-remote.conf -%endif - -%{_prefix}/lib/environment.d/ +%{_environmentdir}/ %dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d @@ -1239,8 +1229,8 @@ fi %{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf # FIXME: why do we have to own this dir ? -%dir %{_prefix}/lib/modprobe.d -%{_prefix}/lib/modprobe.d/systemd.conf +%dir %{_modprobedir} +%{_modprobedir}/systemd.conf # Some files created at runtime. %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -1298,6 +1288,10 @@ fi %if %{with importd} %exclude %{_mandir}/man*/systemd-importd* %endif +%if %{with journal_remote} +%exclude %{_mandir}/man5/journal-remote.conf* +%exclude %{_mandir}/man5/journal-upload.conf* +%endif %if %{with portabled} %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* @@ -1549,6 +1543,8 @@ fi %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf +%{_mandir}/man5/journal-remote.conf* +%{_mandir}/man5/journal-upload.conf* %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* From da3eeb4bf222870dd311f9e015cd2e04911ad602554019df22f60338a22ebd44 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 24 Nov 2020 14:12:21 +0000 Subject: [PATCH 516/991] Accepting request 850486 from home:fbui:systemd:openSUSE-Factory - Don't post-require systemd-default-settings-branding anymore This is actually not needed now that the branding package issues a PID1 reloading every times it's being updated. - Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) 1416965614 meson: add option to skip installing to $sysconfdir f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable 20a3f9fd95 systemctl: immediately reject invalid log levels 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() ddf7cf4872 systemctl: add service-log-{level,target} verbs 026d7d156d systemctl: list unit introspection verbs first, modification second - systemd-default-settings is needed by %post scriptlet - Revert the change that dropped %{release} from the package version constraints used in Requires: The release number is actually relevant since it can be increased when some patches, which might touch multiple sub-packages of systemd, are added/modified. However the %{release} is still no more used in conflicts. - Don't post-require systemd-default-settings-branding anymore This is actually not needed now that the branding package issues a PID1 reloading every times it's being updated. - Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b OBS-URL: https://build.opensuse.org/request/show/850486 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1126 --- systemd-mini.changes | 41 +++++++++++++++++++++++ systemd-mini.spec | 32 +++++++++--------- systemd-v246.6+suse.32.gfdce77ce20.tar.xz | 3 -- systemd-v246.6+suse.43.g49caf8e37a.tar.xz | 3 ++ systemd.changes | 41 +++++++++++++++++++++++ systemd.spec | 32 +++++++++--------- 6 files changed, 117 insertions(+), 35 deletions(-) delete mode 100644 systemd-v246.6+suse.32.gfdce77ce20.tar.xz create mode 100644 systemd-v246.6+suse.43.g49caf8e37a.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 063817c0..581a0c99 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,44 @@ +------------------------------------------------------------------- +Tue Nov 24 13:39:28 UTC 2020 - Franck Bui + +- Don't post-require systemd-default-settings-branding anymore + + This is actually not needed now that the branding package issues a + PID1 reloading every times it's being updated. + +------------------------------------------------------------------- +Mon Nov 23 17:20:28 UTC 2020 - Franck Bui + +- Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b + + f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount + e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) + ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" + 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) + 1416965614 meson: add option to skip installing to $sysconfdir + f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable + 20a3f9fd95 systemctl: immediately reject invalid log levels + 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() + ddf7cf4872 systemctl: add service-log-{level,target} verbs + 026d7d156d systemctl: list unit introspection verbs first, modification second + +------------------------------------------------------------------- +Fri Nov 20 14:54:55 UTC 2020 - Franck Bui + +- systemd-default-settings is needed by %post scriptlet + +------------------------------------------------------------------- +Tue Nov 17 08:44:10 UTC 2020 - Franck Bui + +- Revert the change that dropped %{release} from the package version + constraints used in Requires: + + The release number is actually relevant since it can be increased + when some patches, which might touch multiple sub-packages of + systemd, are added/modified. + + However the %{release} is still no more used in conflicts. + ------------------------------------------------------------------- Fri Nov 6 08:34:18 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 45a51d96..de3555f3 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.32.gfdce77ce20 +%define suse_version +suse.43.g49caf8e37a %bcond_with gnuefi %if 0%{?bootstrap} @@ -115,7 +115,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version} +Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -125,7 +125,7 @@ Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version} +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -142,7 +142,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -211,7 +211,7 @@ The HTML documentation for systemd. Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version} +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -224,10 +224,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version} +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -283,7 +283,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -316,9 +316,9 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version} +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} +Provides: libudev-devel = %{version}-%{version} Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -332,7 +332,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -346,7 +346,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -364,7 +364,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -380,7 +380,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires %description portable @@ -442,7 +442,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -476,7 +476,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd diff --git a/systemd-v246.6+suse.32.gfdce77ce20.tar.xz b/systemd-v246.6+suse.32.gfdce77ce20.tar.xz deleted file mode 100644 index 8b205eb8..00000000 --- a/systemd-v246.6+suse.32.gfdce77ce20.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:004c6f73d42c28b4706a44c3da99e8c8054ed324b4e77422abdcde0a93caa757 -size 6552480 diff --git a/systemd-v246.6+suse.43.g49caf8e37a.tar.xz b/systemd-v246.6+suse.43.g49caf8e37a.tar.xz new file mode 100644 index 00000000..808adfdf --- /dev/null +++ b/systemd-v246.6+suse.43.g49caf8e37a.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a3e6d4d4147e2df3a00ba26cc230188a2bdcc7ac650c039028a851ec360d295 +size 6554844 diff --git a/systemd.changes b/systemd.changes index 063817c0..581a0c99 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,44 @@ +------------------------------------------------------------------- +Tue Nov 24 13:39:28 UTC 2020 - Franck Bui + +- Don't post-require systemd-default-settings-branding anymore + + This is actually not needed now that the branding package issues a + PID1 reloading every times it's being updated. + +------------------------------------------------------------------- +Mon Nov 23 17:20:28 UTC 2020 - Franck Bui + +- Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b + + f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount + e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) + ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" + 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) + 1416965614 meson: add option to skip installing to $sysconfdir + f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable + 20a3f9fd95 systemctl: immediately reject invalid log levels + 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() + ddf7cf4872 systemctl: add service-log-{level,target} verbs + 026d7d156d systemctl: list unit introspection verbs first, modification second + +------------------------------------------------------------------- +Fri Nov 20 14:54:55 UTC 2020 - Franck Bui + +- systemd-default-settings is needed by %post scriptlet + +------------------------------------------------------------------- +Tue Nov 17 08:44:10 UTC 2020 - Franck Bui + +- Revert the change that dropped %{release} from the package version + constraints used in Requires: + + The release number is actually relevant since it can be increased + when some patches, which might touch multiple sub-packages of + systemd, are added/modified. + + However the %{release} is still no more used in conflicts. + ------------------------------------------------------------------- Fri Nov 6 08:34:18 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 03f5ba0f..1d28554d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.32.gfdce77ce20 +%define suse_version +suse.43.g49caf8e37a %bcond_with gnuefi %if 0%{?bootstrap} @@ -113,7 +113,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version} +Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -123,7 +123,7 @@ Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version} +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -140,7 +140,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -209,7 +209,7 @@ The HTML documentation for systemd. Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version} +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -222,10 +222,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version} +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -281,7 +281,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -314,9 +314,9 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version} +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} +Provides: libudev-devel = %{version}-%{version} Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -330,7 +330,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -344,7 +344,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -362,7 +362,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -378,7 +378,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires %description portable @@ -440,7 +440,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -474,7 +474,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd From 7ca250f61a4f2d55cd4981770e4cab981cf0ee021cf9578d4343b00168206779 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 1 Dec 2020 13:22:10 +0000 Subject: [PATCH 517/991] Accepting request 852343 from home:fbui:systemd:openSUSE-Factory - Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope OBS-URL: https://build.opensuse.org/request/show/852343 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1127 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 2 +- systemd-v246.6+suse.43.g49caf8e37a.tar.xz | 3 --- systemd-v246.6+suse.45.gf6104ea5f5.tar.xz | 3 +++ systemd.changes | 7 +++++++ systemd.spec | 2 +- 6 files changed, 19 insertions(+), 5 deletions(-) delete mode 100644 systemd-v246.6+suse.43.g49caf8e37a.tar.xz create mode 100644 systemd-v246.6+suse.45.gf6104ea5f5.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 581a0c99..47b80da0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Dec 1 09:42:11 UTC 2020 - Franck Bui + +- Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f + + 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope + ------------------------------------------------------------------- Tue Nov 24 13:39:28 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index de3555f3..74895391 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.43.g49caf8e37a +%define suse_version +suse.45.gf6104ea5f5 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v246.6+suse.43.g49caf8e37a.tar.xz b/systemd-v246.6+suse.43.g49caf8e37a.tar.xz deleted file mode 100644 index 808adfdf..00000000 --- a/systemd-v246.6+suse.43.g49caf8e37a.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3a3e6d4d4147e2df3a00ba26cc230188a2bdcc7ac650c039028a851ec360d295 -size 6554844 diff --git a/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz b/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz new file mode 100644 index 00000000..15741d20 --- /dev/null +++ b/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d33530b2e48912244b0848b179234ff46cb15c57508d5b0910ab3d668dc29b +size 6554804 diff --git a/systemd.changes b/systemd.changes index 581a0c99..47b80da0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Dec 1 09:42:11 UTC 2020 - Franck Bui + +- Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f + + 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope + ------------------------------------------------------------------- Tue Nov 24 13:39:28 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1d28554d..3de69d39 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.43.g49caf8e37a +%define suse_version +suse.45.gf6104ea5f5 %bcond_with gnuefi %if 0%{?bootstrap} From 21903917ecfb9dd00bed27d50aedb9bd8abfcd3ec435519b712f0fb327d9b058 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 3 Dec 2020 17:41:21 +0000 Subject: [PATCH 518/991] Accepting request 852344 from Base:System OBS-URL: https://build.opensuse.org/request/show/852344 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=320 --- systemd-mini.changes | 48 +++++++++++++++++++++++ systemd-mini.spec | 32 +++++++-------- systemd-v246.6+suse.32.gfdce77ce20.tar.xz | 3 -- systemd-v246.6+suse.45.gf6104ea5f5.tar.xz | 3 ++ systemd.changes | 48 +++++++++++++++++++++++ systemd.spec | 32 +++++++-------- 6 files changed, 131 insertions(+), 35 deletions(-) delete mode 100644 systemd-v246.6+suse.32.gfdce77ce20.tar.xz create mode 100644 systemd-v246.6+suse.45.gf6104ea5f5.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 063817c0..47b80da0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Tue Dec 1 09:42:11 UTC 2020 - Franck Bui + +- Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f + + 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope + +------------------------------------------------------------------- +Tue Nov 24 13:39:28 UTC 2020 - Franck Bui + +- Don't post-require systemd-default-settings-branding anymore + + This is actually not needed now that the branding package issues a + PID1 reloading every times it's being updated. + +------------------------------------------------------------------- +Mon Nov 23 17:20:28 UTC 2020 - Franck Bui + +- Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b + + f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount + e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) + ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" + 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) + 1416965614 meson: add option to skip installing to $sysconfdir + f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable + 20a3f9fd95 systemctl: immediately reject invalid log levels + 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() + ddf7cf4872 systemctl: add service-log-{level,target} verbs + 026d7d156d systemctl: list unit introspection verbs first, modification second + +------------------------------------------------------------------- +Fri Nov 20 14:54:55 UTC 2020 - Franck Bui + +- systemd-default-settings is needed by %post scriptlet + +------------------------------------------------------------------- +Tue Nov 17 08:44:10 UTC 2020 - Franck Bui + +- Revert the change that dropped %{release} from the package version + constraints used in Requires: + + The release number is actually relevant since it can be increased + when some patches, which might touch multiple sub-packages of + systemd, are added/modified. + + However the %{release} is still no more used in conflicts. + ------------------------------------------------------------------- Fri Nov 6 08:34:18 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 45a51d96..74895391 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.32.gfdce77ce20 +%define suse_version +suse.45.gf6104ea5f5 %bcond_with gnuefi %if 0%{?bootstrap} @@ -115,7 +115,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version} +Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -125,7 +125,7 @@ Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version} +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -142,7 +142,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -211,7 +211,7 @@ The HTML documentation for systemd. Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version} +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -224,10 +224,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version} +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -283,7 +283,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -316,9 +316,9 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version} +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} +Provides: libudev-devel = %{version}-%{version} Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -332,7 +332,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -346,7 +346,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -364,7 +364,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -380,7 +380,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires %description portable @@ -442,7 +442,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -476,7 +476,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd diff --git a/systemd-v246.6+suse.32.gfdce77ce20.tar.xz b/systemd-v246.6+suse.32.gfdce77ce20.tar.xz deleted file mode 100644 index 8b205eb8..00000000 --- a/systemd-v246.6+suse.32.gfdce77ce20.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:004c6f73d42c28b4706a44c3da99e8c8054ed324b4e77422abdcde0a93caa757 -size 6552480 diff --git a/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz b/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz new file mode 100644 index 00000000..15741d20 --- /dev/null +++ b/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d33530b2e48912244b0848b179234ff46cb15c57508d5b0910ab3d668dc29b +size 6554804 diff --git a/systemd.changes b/systemd.changes index 063817c0..47b80da0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Tue Dec 1 09:42:11 UTC 2020 - Franck Bui + +- Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f + + 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope + +------------------------------------------------------------------- +Tue Nov 24 13:39:28 UTC 2020 - Franck Bui + +- Don't post-require systemd-default-settings-branding anymore + + This is actually not needed now that the branding package issues a + PID1 reloading every times it's being updated. + +------------------------------------------------------------------- +Mon Nov 23 17:20:28 UTC 2020 - Franck Bui + +- Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b + + f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount + e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) + ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" + 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) + 1416965614 meson: add option to skip installing to $sysconfdir + f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable + 20a3f9fd95 systemctl: immediately reject invalid log levels + 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() + ddf7cf4872 systemctl: add service-log-{level,target} verbs + 026d7d156d systemctl: list unit introspection verbs first, modification second + +------------------------------------------------------------------- +Fri Nov 20 14:54:55 UTC 2020 - Franck Bui + +- systemd-default-settings is needed by %post scriptlet + +------------------------------------------------------------------- +Tue Nov 17 08:44:10 UTC 2020 - Franck Bui + +- Revert the change that dropped %{release} from the package version + constraints used in Requires: + + The release number is actually relevant since it can be increased + when some patches, which might touch multiple sub-packages of + systemd, are added/modified. + + However the %{release} is still no more used in conflicts. + ------------------------------------------------------------------- Fri Nov 6 08:34:18 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 03f5ba0f..3de69d39 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.32.gfdce77ce20 +%define suse_version +suse.45.gf6104ea5f5 %bcond_with gnuefi %if 0%{?bootstrap} @@ -113,7 +113,7 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs -Provides: systemd = %{version} +Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -123,7 +123,7 @@ Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version} +Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) Requires(post): coreutils @@ -140,7 +140,7 @@ Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 -Provides: systemd-analyze = %{version} +Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Source0: systemd-v%{version}%{suse_version}.tar.xz @@ -209,7 +209,7 @@ The HTML documentation for systemd. Summary: Development headers for systemd License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libsystemd0%{?mini} = %{version} +Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} Conflicts: systemd-devel @@ -222,10 +222,10 @@ Development headers and auxiliary files for developing applications for systemd. Summary: System V init tools License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) -Provides: systemd-sysvinit = %{version} +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -281,7 +281,7 @@ Conflicts: util-linux < 2.16 Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} -Provides: udev = %{version} +Provides: udev = %{version}-%{release} Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap @@ -314,9 +314,9 @@ access to udev device information Summary: Development files for libudev License: LGPL-2.1-or-later Group: Development/Libraries/Other -Requires: libudev%{?mini}1 = %{version} +Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} -Provides: libudev-devel = %{version} +Provides: libudev-devel = %{version}-%{version} Conflicts: libudev1 = %{version} Conflicts: libudev-devel %endif @@ -330,7 +330,7 @@ dynamic library, which provides access to udev device information. Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -344,7 +344,7 @@ This package contains systemd-coredump, coredumpctl. Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} @@ -362,7 +362,7 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -378,7 +378,7 @@ resolver tools for resolved Summary: Systemd tools for portable services License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %systemd_requires %description portable @@ -440,7 +440,7 @@ To activate this NSS module, you will need to include it in Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later Group: System/Libraries -Requires: %{name}-network = %{version} +Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve This package contains a plug-in module for the Name Service Switch @@ -474,7 +474,7 @@ To activate this NSS module, you will need to include it in Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd From 8104c4033b27602e231459cbf62cec0f32c554eba4acebd3ee4fc2892594b4fd Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 9 Dec 2020 17:11:15 +0000 Subject: [PATCH 519/991] Accepting request 854319 from home:fbui:systemd:openSUSE-Factory - Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) 450792497e sd-event: fix delays assert brain-o (#17790) 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 - Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) 450792497e sd-event: fix delays assert brain-o (#17790) 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 OBS-URL: https://build.opensuse.org/request/show/854319 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1128 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 4 ++-- systemd-v246.6+suse.45.gf6104ea5f5.tar.xz | 3 --- systemd-v246.7+suse.50.gd5e7958d35.tar.xz | 3 +++ systemd.changes | 12 ++++++++++++ systemd.spec | 4 ++-- 6 files changed, 31 insertions(+), 7 deletions(-) delete mode 100644 systemd-v246.6+suse.45.gf6104ea5f5.tar.xz create mode 100644 systemd-v246.7+suse.50.gd5e7958d35.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 47b80da0..9ffd13af 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Dec 9 16:08:26 UTC 2020 - Franck Bui + +- Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) + + 450792497e sd-event: fix delays assert brain-o (#17790) + 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' + a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 + ------------------------------------------------------------------- Tue Dec 1 09:42:11 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 74895391..742760cf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.45.gf6104ea5f5 +%define suse_version +suse.50.gd5e7958d35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.6 +Version: 246.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz b/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz deleted file mode 100644 index 15741d20..00000000 --- a/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3d33530b2e48912244b0848b179234ff46cb15c57508d5b0910ab3d668dc29b -size 6554804 diff --git a/systemd-v246.7+suse.50.gd5e7958d35.tar.xz b/systemd-v246.7+suse.50.gd5e7958d35.tar.xz new file mode 100644 index 00000000..db7bf6ca --- /dev/null +++ b/systemd-v246.7+suse.50.gd5e7958d35.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3c1a83d6d456c3d2f14d2942a3b85b6044ae52c5385cfb4074c23ec8bdebab6 +size 6564004 diff --git a/systemd.changes b/systemd.changes index 47b80da0..9ffd13af 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Dec 9 16:08:26 UTC 2020 - Franck Bui + +- Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) + + 450792497e sd-event: fix delays assert brain-o (#17790) + 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' + a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 + ------------------------------------------------------------------- Tue Dec 1 09:42:11 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3de69d39..00a4afd9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.45.gf6104ea5f5 +%define suse_version +suse.50.gd5e7958d35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.6 +Version: 246.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 2e4c0c531aaa27be37bd10869326db9ee562586e36e264371c2c88739f17497c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 12 Dec 2020 19:27:10 +0000 Subject: [PATCH 520/991] Accepting request 854320 from Base:System OBS-URL: https://build.opensuse.org/request/show/854320 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=321 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 4 ++-- systemd-v246.6+suse.45.gf6104ea5f5.tar.xz | 3 --- systemd-v246.7+suse.50.gd5e7958d35.tar.xz | 3 +++ systemd.changes | 12 ++++++++++++ systemd.spec | 4 ++-- 6 files changed, 31 insertions(+), 7 deletions(-) delete mode 100644 systemd-v246.6+suse.45.gf6104ea5f5.tar.xz create mode 100644 systemd-v246.7+suse.50.gd5e7958d35.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 47b80da0..9ffd13af 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Dec 9 16:08:26 UTC 2020 - Franck Bui + +- Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) + + 450792497e sd-event: fix delays assert brain-o (#17790) + 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' + a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 + ------------------------------------------------------------------- Tue Dec 1 09:42:11 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 74895391..742760cf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.45.gf6104ea5f5 +%define suse_version +suse.50.gd5e7958d35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.6 +Version: 246.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz b/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz deleted file mode 100644 index 15741d20..00000000 --- a/systemd-v246.6+suse.45.gf6104ea5f5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3d33530b2e48912244b0848b179234ff46cb15c57508d5b0910ab3d668dc29b -size 6554804 diff --git a/systemd-v246.7+suse.50.gd5e7958d35.tar.xz b/systemd-v246.7+suse.50.gd5e7958d35.tar.xz new file mode 100644 index 00000000..db7bf6ca --- /dev/null +++ b/systemd-v246.7+suse.50.gd5e7958d35.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3c1a83d6d456c3d2f14d2942a3b85b6044ae52c5385cfb4074c23ec8bdebab6 +size 6564004 diff --git a/systemd.changes b/systemd.changes index 47b80da0..9ffd13af 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Dec 9 16:08:26 UTC 2020 - Franck Bui + +- Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) + + 450792497e sd-event: fix delays assert brain-o (#17790) + 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' + a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 + ------------------------------------------------------------------- Tue Dec 1 09:42:11 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3de69d39..00a4afd9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.45.gf6104ea5f5 +%define suse_version +suse.50.gd5e7958d35 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.6 +Version: 246.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From f56c851473f7d46b1dc7fad603b23bb6000e4104a35988d6b5266c81e3fbf201 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Dec 2020 10:17:48 +0000 Subject: [PATCH 521/991] Accepting request 855679 from home:dimstar:Factory - Explicitly require group(kvm) by udev: the group used to be created by system-users-hardware, but has been split/moved to qemu/kvm, where it is more logical. The file /usr/lib/udev/rules.d/50-udev-default.rules references this group, thus we should make sure the group exists. Otherwise there are errors in the journal in the form of: /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring - Explicitly require group(kvm) by udev: the group used to be created by system-users-hardware, but has been split/moved to qemu/kvm, where it is more logical. The file /usr/lib/udev/rules.d/50-udev-default.rules references this group, thus we should make sure the group exists. Otherwise there are errors in the journal in the form of: /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring OBS-URL: https://build.opensuse.org/request/show/855679 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1129 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 1 + systemd.changes | 11 +++++++++++ systemd.spec | 1 + 4 files changed, 24 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9ffd13af..d5d6ac36 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger + +- Explicitly require group(kvm) by udev: the group used to be + created by system-users-hardware, but has been split/moved to + qemu/kvm, where it is more logical. The file + /usr/lib/udev/rules.d/50-udev-default.rules references this + group, thus we should make sure the group exists. Otherwise there + are errors in the journal in the form of: + /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring + ------------------------------------------------------------------- Wed Dec 9 16:08:26 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 742760cf..450e5910 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -269,6 +269,7 @@ License: GPL-2.0-only Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware +Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils diff --git a/systemd.changes b/systemd.changes index 9ffd13af..d5d6ac36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger + +- Explicitly require group(kvm) by udev: the group used to be + created by system-users-hardware, but has been split/moved to + qemu/kvm, where it is more logical. The file + /usr/lib/udev/rules.d/50-udev-default.rules references this + group, thus we should make sure the group exists. Otherwise there + are errors in the journal in the form of: + /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring + ------------------------------------------------------------------- Wed Dec 9 16:08:26 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 00a4afd9..1db25784 100644 --- a/systemd.spec +++ b/systemd.spec @@ -267,6 +267,7 @@ License: GPL-2.0-only Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware +Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils From b0c2cef737d92b8ac60b0cf34c76630a2100aacff830ebe0103c066ebd7d148e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 16 Dec 2020 09:58:54 +0000 Subject: [PATCH 522/991] Accepting request 855788 from Base:System - Explicitly require group(kvm) by udev: the group used to be created by system-users-hardware, but has been split/moved to qemu/kvm, where it is more logical. The file /usr/lib/udev/rules.d/50-udev-default.rules references this group, thus we should make sure the group exists. Otherwise there are errors in the journal in the form of: /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring OBS-URL: https://build.opensuse.org/request/show/855788 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=322 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 1 + systemd.changes | 11 +++++++++++ systemd.spec | 1 + 4 files changed, 24 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9ffd13af..d5d6ac36 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger + +- Explicitly require group(kvm) by udev: the group used to be + created by system-users-hardware, but has been split/moved to + qemu/kvm, where it is more logical. The file + /usr/lib/udev/rules.d/50-udev-default.rules references this + group, thus we should make sure the group exists. Otherwise there + are errors in the journal in the form of: + /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring + ------------------------------------------------------------------- Wed Dec 9 16:08:26 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 742760cf..450e5910 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -269,6 +269,7 @@ License: GPL-2.0-only Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware +Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils diff --git a/systemd.changes b/systemd.changes index 9ffd13af..d5d6ac36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger + +- Explicitly require group(kvm) by udev: the group used to be + created by system-users-hardware, but has been split/moved to + qemu/kvm, where it is more logical. The file + /usr/lib/udev/rules.d/50-udev-default.rules references this + group, thus we should make sure the group exists. Otherwise there + are errors in the journal in the form of: + /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring + ------------------------------------------------------------------- Wed Dec 9 16:08:26 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 00a4afd9..1db25784 100644 --- a/systemd.spec +++ b/systemd.spec @@ -267,6 +267,7 @@ License: GPL-2.0-only Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware +Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils From 22368f92d625dbce400ca0013815b4db3adcafaef623c2e07072bd5c42ba90b5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Dec 2020 10:43:58 +0000 Subject: [PATCH 523/991] Accepting request 856647 from home:fbui:systemd:openSUSE-Factory - Enable support for zstd compression systemd-journald will now use zstd for compressing large fields in journal files. systemd-coredump will also use this algorithm to compress coredump files. Please note that systemd older than v246 won't be able to read new journal files as zstd algorithm is not supported by these versions. This incompatible change was actually not the only one introduced by v246 since the hash tables in journal files have been hardened against hash collisions too in an incompatible way with older versions. OBS-URL: https://build.opensuse.org/request/show/856647 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1130 --- systemd-mini.changes | 17 +++++++++++++++++ systemd-mini.spec | 1 + systemd.changes | 17 +++++++++++++++++ systemd.spec | 1 + 4 files changed, 36 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index d5d6ac36..7e9edbb1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Dec 16 10:40:48 UTC 2020 - Franck Bui + +- Enable support for zstd compression + + systemd-journald will now use zstd for compressing large fields in + journal files. systemd-coredump will also use this algorithm to + compress coredump files. + + Please note that systemd older than v246 won't be able to read new + journal files as zstd algorithm is not supported by these versions. + + This incompatible change was actually not the only one introduced by + v246 since the hash tables in journal files have been hardened + against hash collisions too in an incompatible way with older + versions. + ------------------------------------------------------------------- Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger diff --git a/systemd-mini.spec b/systemd-mini.spec index 450e5910..f9802bc8 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -79,6 +79,7 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libzstd) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif diff --git a/systemd.changes b/systemd.changes index d5d6ac36..7e9edbb1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Dec 16 10:40:48 UTC 2020 - Franck Bui + +- Enable support for zstd compression + + systemd-journald will now use zstd for compressing large fields in + journal files. systemd-coredump will also use this algorithm to + compress coredump files. + + Please note that systemd older than v246 won't be able to read new + journal files as zstd algorithm is not supported by these versions. + + This incompatible change was actually not the only one introduced by + v246 since the hash tables in journal files have been hardened + against hash collisions too in an incompatible way with older + versions. + ------------------------------------------------------------------- Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger diff --git a/systemd.spec b/systemd.spec index 1db25784..9e6679df 100644 --- a/systemd.spec +++ b/systemd.spec @@ -77,6 +77,7 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libzstd) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif From 90bc59e9b0b8830877d108300ed8ef828224984e97ebf77045af285c638820b5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Dec 2020 15:38:23 +0000 Subject: [PATCH 524/991] Accepting request 856898 from home:fbui:systemd:openSUSE-Factory - Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 - Import commit 2401461e5f0e32922823d954c56106f96344070e 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents 09e3473a7a test/udev_test.pl: add "expected good" count fc89379b5b test/udev-test.pl: suppress umount error message at startup d9e114f10d test/sd-script.py: new helper script for udev testing f2672eae66 test/udev-test.pl: generator for large list of block devices 42b68e43e2 test/udev-test.pl: add repeat count eec8ec375a tests/udev-test.pl: add multiple device test 73b8f3cf93 test/udev-test.pl: count "good" results ee04d70bb6 test/udev-test.pl: merge import parent tests into one 03942c8fbc test/udev-test.pl: merge "space and var with space" tests ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test f704429217 test/udev-test.pl: Make some tests a little harder ce1a877dc0 test/udev-test.pl: last_rule is unsupported 913c72ff2d test/udev-test.pl: fix wrong test descriptions eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks 00ab4292da test/udev-test.pl: test correctness of symlink targets 5b71ee2911 test/udev-test.pl: use computed devnode name 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals 8816dd593c test/udev-test.pl: create rules only once 214418632d test/udev-test.pl: allow multiple devices per test 1eb6b23f27 udev-test: do not rely on "mail" group being defined 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) OBS-URL: https://build.opensuse.org/request/show/856898 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1131 --- systemd-mini.changes | 39 +++++++++++++++++++++++ systemd-mini.spec | 4 +-- systemd-v246.7+suse.50.gd5e7958d35.tar.xz | 3 -- systemd-v246.9+suse.78.g520e53b6d8.tar.xz | 3 ++ systemd.changes | 39 +++++++++++++++++++++++ systemd.spec | 4 +-- 6 files changed, 85 insertions(+), 7 deletions(-) delete mode 100644 systemd-v246.7+suse.50.gd5e7958d35.tar.xz create mode 100644 systemd-v246.9+suse.78.g520e53b6d8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 7e9edbb1..be0880dd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Dec 18 08:54:20 UTC 2020 - Franck Bui + +- Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 + +------------------------------------------------------------------- +Fri Dec 18 08:41:04 UTC 2020 - Franck Bui + +- Import commit 2401461e5f0e32922823d954c56106f96344070e + + 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created + f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) + fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp + ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents + 09e3473a7a test/udev_test.pl: add "expected good" count + fc89379b5b test/udev-test.pl: suppress umount error message at startup + d9e114f10d test/sd-script.py: new helper script for udev testing + f2672eae66 test/udev-test.pl: generator for large list of block devices + 42b68e43e2 test/udev-test.pl: add repeat count + eec8ec375a tests/udev-test.pl: add multiple device test + 73b8f3cf93 test/udev-test.pl: count "good" results + ee04d70bb6 test/udev-test.pl: merge import parent tests into one + 03942c8fbc test/udev-test.pl: merge "space and var with space" tests + ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test + f704429217 test/udev-test.pl: Make some tests a little harder + ce1a877dc0 test/udev-test.pl: last_rule is unsupported + 913c72ff2d test/udev-test.pl: fix wrong test descriptions + eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks + 00ab4292da test/udev-test.pl: test correctness of symlink targets + 5b71ee2911 test/udev-test.pl: use computed devnode name + 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals + 8816dd593c test/udev-test.pl: create rules only once + 214418632d test/udev-test.pl: allow multiple devices per test + 1eb6b23f27 udev-test: do not rely on "mail" group being defined + 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) + ------------------------------------------------------------------- Wed Dec 16 10:40:48 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f9802bc8..73c531fa 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.50.gd5e7958d35 +%define suse_version +suse.78.g520e53b6d8 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.7 +Version: 246.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v246.7+suse.50.gd5e7958d35.tar.xz b/systemd-v246.7+suse.50.gd5e7958d35.tar.xz deleted file mode 100644 index db7bf6ca..00000000 --- a/systemd-v246.7+suse.50.gd5e7958d35.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3c1a83d6d456c3d2f14d2942a3b85b6044ae52c5385cfb4074c23ec8bdebab6 -size 6564004 diff --git a/systemd-v246.9+suse.78.g520e53b6d8.tar.xz b/systemd-v246.9+suse.78.g520e53b6d8.tar.xz new file mode 100644 index 00000000..805cd127 --- /dev/null +++ b/systemd-v246.9+suse.78.g520e53b6d8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:988d1da9b2cdd0856c7036b120c037789f2ed6d5171911ff654cd8bcf72cf07a +size 6569608 diff --git a/systemd.changes b/systemd.changes index 7e9edbb1..be0880dd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Dec 18 08:54:20 UTC 2020 - Franck Bui + +- Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 + +------------------------------------------------------------------- +Fri Dec 18 08:41:04 UTC 2020 - Franck Bui + +- Import commit 2401461e5f0e32922823d954c56106f96344070e + + 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created + f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) + fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp + ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents + 09e3473a7a test/udev_test.pl: add "expected good" count + fc89379b5b test/udev-test.pl: suppress umount error message at startup + d9e114f10d test/sd-script.py: new helper script for udev testing + f2672eae66 test/udev-test.pl: generator for large list of block devices + 42b68e43e2 test/udev-test.pl: add repeat count + eec8ec375a tests/udev-test.pl: add multiple device test + 73b8f3cf93 test/udev-test.pl: count "good" results + ee04d70bb6 test/udev-test.pl: merge import parent tests into one + 03942c8fbc test/udev-test.pl: merge "space and var with space" tests + ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test + f704429217 test/udev-test.pl: Make some tests a little harder + ce1a877dc0 test/udev-test.pl: last_rule is unsupported + 913c72ff2d test/udev-test.pl: fix wrong test descriptions + eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks + 00ab4292da test/udev-test.pl: test correctness of symlink targets + 5b71ee2911 test/udev-test.pl: use computed devnode name + 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals + 8816dd593c test/udev-test.pl: create rules only once + 214418632d test/udev-test.pl: allow multiple devices per test + 1eb6b23f27 udev-test: do not rely on "mail" group being defined + 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) + ------------------------------------------------------------------- Wed Dec 16 10:40:48 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9e6679df..1e20e227 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.50.gd5e7958d35 +%define suse_version +suse.78.g520e53b6d8 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.7 +Version: 246.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 9ab73ef591da82ca67eb425633f586b5ed6b813102b3876499fcabd9b2055008 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 22 Dec 2020 10:26:02 +0000 Subject: [PATCH 525/991] Accepting request 856900 from Base:System OBS-URL: https://build.opensuse.org/request/show/856900 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=323 --- systemd-mini.changes | 56 +++++++++++++++++++++++ systemd-mini.spec | 5 +- systemd-v246.7+suse.50.gd5e7958d35.tar.xz | 3 -- systemd-v246.9+suse.78.g520e53b6d8.tar.xz | 3 ++ systemd.changes | 56 +++++++++++++++++++++++ systemd.spec | 5 +- 6 files changed, 121 insertions(+), 7 deletions(-) delete mode 100644 systemd-v246.7+suse.50.gd5e7958d35.tar.xz create mode 100644 systemd-v246.9+suse.78.g520e53b6d8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index d5d6ac36..be0880dd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Fri Dec 18 08:54:20 UTC 2020 - Franck Bui + +- Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 + +------------------------------------------------------------------- +Fri Dec 18 08:41:04 UTC 2020 - Franck Bui + +- Import commit 2401461e5f0e32922823d954c56106f96344070e + + 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created + f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) + fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp + ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents + 09e3473a7a test/udev_test.pl: add "expected good" count + fc89379b5b test/udev-test.pl: suppress umount error message at startup + d9e114f10d test/sd-script.py: new helper script for udev testing + f2672eae66 test/udev-test.pl: generator for large list of block devices + 42b68e43e2 test/udev-test.pl: add repeat count + eec8ec375a tests/udev-test.pl: add multiple device test + 73b8f3cf93 test/udev-test.pl: count "good" results + ee04d70bb6 test/udev-test.pl: merge import parent tests into one + 03942c8fbc test/udev-test.pl: merge "space and var with space" tests + ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test + f704429217 test/udev-test.pl: Make some tests a little harder + ce1a877dc0 test/udev-test.pl: last_rule is unsupported + 913c72ff2d test/udev-test.pl: fix wrong test descriptions + eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks + 00ab4292da test/udev-test.pl: test correctness of symlink targets + 5b71ee2911 test/udev-test.pl: use computed devnode name + 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals + 8816dd593c test/udev-test.pl: create rules only once + 214418632d test/udev-test.pl: allow multiple devices per test + 1eb6b23f27 udev-test: do not rely on "mail" group being defined + 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) + +------------------------------------------------------------------- +Wed Dec 16 10:40:48 UTC 2020 - Franck Bui + +- Enable support for zstd compression + + systemd-journald will now use zstd for compressing large fields in + journal files. systemd-coredump will also use this algorithm to + compress coredump files. + + Please note that systemd older than v246 won't be able to read new + journal files as zstd algorithm is not supported by these versions. + + This incompatible change was actually not the only one introduced by + v246 since the hash tables in journal files have been hardened + against hash collisions too in an incompatible way with older + versions. + ------------------------------------------------------------------- Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger diff --git a/systemd-mini.spec b/systemd-mini.spec index 450e5910..73c531fa 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.50.gd5e7958d35 +%define suse_version +suse.78.g520e53b6d8 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.7 +Version: 246.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -79,6 +79,7 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libzstd) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif diff --git a/systemd-v246.7+suse.50.gd5e7958d35.tar.xz b/systemd-v246.7+suse.50.gd5e7958d35.tar.xz deleted file mode 100644 index db7bf6ca..00000000 --- a/systemd-v246.7+suse.50.gd5e7958d35.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3c1a83d6d456c3d2f14d2942a3b85b6044ae52c5385cfb4074c23ec8bdebab6 -size 6564004 diff --git a/systemd-v246.9+suse.78.g520e53b6d8.tar.xz b/systemd-v246.9+suse.78.g520e53b6d8.tar.xz new file mode 100644 index 00000000..805cd127 --- /dev/null +++ b/systemd-v246.9+suse.78.g520e53b6d8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:988d1da9b2cdd0856c7036b120c037789f2ed6d5171911ff654cd8bcf72cf07a +size 6569608 diff --git a/systemd.changes b/systemd.changes index d5d6ac36..be0880dd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Fri Dec 18 08:54:20 UTC 2020 - Franck Bui + +- Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 + +------------------------------------------------------------------- +Fri Dec 18 08:41:04 UTC 2020 - Franck Bui + +- Import commit 2401461e5f0e32922823d954c56106f96344070e + + 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created + f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) + fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp + ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents + 09e3473a7a test/udev_test.pl: add "expected good" count + fc89379b5b test/udev-test.pl: suppress umount error message at startup + d9e114f10d test/sd-script.py: new helper script for udev testing + f2672eae66 test/udev-test.pl: generator for large list of block devices + 42b68e43e2 test/udev-test.pl: add repeat count + eec8ec375a tests/udev-test.pl: add multiple device test + 73b8f3cf93 test/udev-test.pl: count "good" results + ee04d70bb6 test/udev-test.pl: merge import parent tests into one + 03942c8fbc test/udev-test.pl: merge "space and var with space" tests + ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test + f704429217 test/udev-test.pl: Make some tests a little harder + ce1a877dc0 test/udev-test.pl: last_rule is unsupported + 913c72ff2d test/udev-test.pl: fix wrong test descriptions + eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks + 00ab4292da test/udev-test.pl: test correctness of symlink targets + 5b71ee2911 test/udev-test.pl: use computed devnode name + 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals + 8816dd593c test/udev-test.pl: create rules only once + 214418632d test/udev-test.pl: allow multiple devices per test + 1eb6b23f27 udev-test: do not rely on "mail" group being defined + 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) + +------------------------------------------------------------------- +Wed Dec 16 10:40:48 UTC 2020 - Franck Bui + +- Enable support for zstd compression + + systemd-journald will now use zstd for compressing large fields in + journal files. systemd-coredump will also use this algorithm to + compress coredump files. + + Please note that systemd older than v246 won't be able to read new + journal files as zstd algorithm is not supported by these versions. + + This incompatible change was actually not the only one introduced by + v246 since the hash tables in journal files have been hardened + against hash collisions too in an incompatible way with older + versions. + ------------------------------------------------------------------- Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger diff --git a/systemd.spec b/systemd.spec index 1db25784..1e20e227 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.50.gd5e7958d35 +%define suse_version +suse.78.g520e53b6d8 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.7 +Version: 246.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -77,6 +77,7 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libzstd) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif From b18a5e0fdb408bd93ee830b176445399f5f37136a3e71b7de22fce45dd27cea5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 14 Jan 2021 15:32:12 +0000 Subject: [PATCH 526/991] Accepting request 862853 from home:lnussel:usrmove - prepare usrmerge (boo#1029961) * don't install legacy symlinks to / * use %_pamdir to install pam modules * leave nss files in /usr/lib*, glibc loads them from there just fine independent of usrmerge OBS-URL: https://build.opensuse.org/request/show/862853 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1132 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 17 +++++++++-------- systemd.changes | 9 +++++++++ systemd.spec | 17 +++++++++-------- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index be0880dd..01b1b71d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + * don't install legacy symlinks to / + * use %_pamdir to install pam modules + * leave nss files in /usr/lib*, glibc loads them from there just + fine independent of usrmerge + ------------------------------------------------------------------- Fri Dec 18 08:54:20 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 73c531fa..d3178712 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -511,7 +511,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamlibdir=/%{_lib}/security \ + -Dpamlibdir=%{_pamdir} \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ @@ -577,10 +577,7 @@ systemd-journal-remote, and systemd-journal-upload. %install %meson_install -# move to %{_lib} -%if ! 0%{?bootstrap} -mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%else +%if 0%{?bootstrap} rm %{buildroot}%{_libdir}/libnss_systemd.so* rm -r %{buildroot}%{_datadir}/locale %endif @@ -611,6 +608,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done +%if !0%{?usrmerged} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -622,6 +620,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -1171,7 +1170,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -/%{_lib}/security/pam_systemd.so +%{_pamdir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1350,6 +1349,7 @@ fi %files sysvinit %defattr(-,root,root,-) +%if !0%{?usrmerged} /sbin/init /sbin/reboot /sbin/halt @@ -1359,6 +1359,7 @@ fi /sbin/telinit /sbin/runlevel %endif +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt @@ -1508,7 +1509,7 @@ fi %files -n nss-myhostname %defattr(-, root, root) -/%{_lib}/*nss_myhostname* +%{_libdir}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* diff --git a/systemd.changes b/systemd.changes index be0880dd..01b1b71d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + * don't install legacy symlinks to / + * use %_pamdir to install pam modules + * leave nss files in /usr/lib*, glibc loads them from there just + fine independent of usrmerge + ------------------------------------------------------------------- Fri Dec 18 08:54:20 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1e20e227..2d6b5afb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -509,7 +509,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamlibdir=/%{_lib}/security \ + -Dpamlibdir=%{_pamdir} \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ @@ -575,10 +575,7 @@ systemd-journal-remote, and systemd-journal-upload. %install %meson_install -# move to %{_lib} -%if ! 0%{?bootstrap} -mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%else +%if 0%{?bootstrap} rm %{buildroot}%{_libdir}/libnss_systemd.so* rm -r %{buildroot}%{_datadir}/locale %endif @@ -609,6 +606,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done +%if !0%{?usrmerged} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -620,6 +618,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -1169,7 +1168,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -/%{_lib}/security/pam_systemd.so +%{_pamdir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1348,6 +1347,7 @@ fi %files sysvinit %defattr(-,root,root,-) +%if !0%{?usrmerged} /sbin/init /sbin/reboot /sbin/halt @@ -1357,6 +1357,7 @@ fi /sbin/telinit /sbin/runlevel %endif +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt @@ -1506,7 +1507,7 @@ fi %files -n nss-myhostname %defattr(-, root, root) -/%{_lib}/*nss_myhostname* +%{_libdir}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* From a8954aede89c10a6e4ab915db85c9502373be95f9bd1f3742a07e0592c064fc7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 3 Feb 2021 10:49:28 +0000 Subject: [PATCH 527/991] Accepting request 868903 from home:fbui:systemd:openSUSE-Factory - Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) 4a543f0257 journal: send journald logs to kmsg again 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b OBS-URL: https://build.opensuse.org/request/show/868903 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1133 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 4 ++-- systemd-v246.10+suse.83.g134cf1c8bc.tar.xz | 3 +++ systemd-v246.9+suse.78.g520e53b6d8.tar.xz | 3 --- systemd.changes | 12 ++++++++++++ systemd.spec | 4 ++-- 6 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 systemd-v246.10+suse.83.g134cf1c8bc.tar.xz delete mode 100644 systemd-v246.9+suse.78.g520e53b6d8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 01b1b71d..52a73676 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Feb 3 09:57:58 UTC 2021 - Franck Bui + +- Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) + + 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) + 4a543f0257 journal: send journald logs to kmsg again + 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b + ------------------------------------------------------------------- Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index d3178712..e26e3e93 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.78.g520e53b6d8 +%define suse_version +suse.83.g134cf1c8bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.9 +Version: 246.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz b/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz new file mode 100644 index 00000000..8346453f --- /dev/null +++ b/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c1fd0a518b62d8f9db6eed77a4ba465e23663e9ac6cc9278b44bca596fd23d6 +size 6572124 diff --git a/systemd-v246.9+suse.78.g520e53b6d8.tar.xz b/systemd-v246.9+suse.78.g520e53b6d8.tar.xz deleted file mode 100644 index 805cd127..00000000 --- a/systemd-v246.9+suse.78.g520e53b6d8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:988d1da9b2cdd0856c7036b120c037789f2ed6d5171911ff654cd8bcf72cf07a -size 6569608 diff --git a/systemd.changes b/systemd.changes index 01b1b71d..52a73676 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Feb 3 09:57:58 UTC 2021 - Franck Bui + +- Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) + + 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) + 4a543f0257 journal: send journald logs to kmsg again + 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b + ------------------------------------------------------------------- Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 2d6b5afb..355fc6c6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.78.g520e53b6d8 +%define suse_version +suse.83.g134cf1c8bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.9 +Version: 246.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From b5477698eed3830012983b20f0b266ded76e3b52484ecafc8d2e1b64efdb9b71 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 5 Feb 2021 13:05:42 +0000 Subject: [PATCH 528/991] Accepting request 869761 from home:fbui:systemd:openSUSE-Factory - systemd-sysv-convert: handle the case when services are migrated from SysV scripts to systemd units and are renamed at the same time (bsc#1181788) The list of such services is hard coded and contains only the 'ntp->ntpd' translation. OBS-URL: https://build.opensuse.org/request/show/869761 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1134 --- systemd-mini.changes | 10 ++++++++++ systemd-sysv-convert | 8 ++++++++ systemd.changes | 10 ++++++++++ 3 files changed, 28 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 52a73676..2ac6c835 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Feb 5 13:02:58 UTC 2021 - Franck Bui + +- systemd-sysv-convert: handle the case when services are migrated + from SysV scripts to systemd units and are renamed at the same + time (bsc#1181788) + + The list of such services is hard coded and contains only the + 'ntp->ntpd' translation. + ------------------------------------------------------------------- Wed Feb 3 09:57:58 UTC 2021 - Franck Bui diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 8a75b941..f4417703 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -79,6 +79,14 @@ case "$1" in # in the db only once. database_add $initscript -1 + # Some services were renamed during the transition from SySV init to + # systemd (bsc#1181788). Rather than letting packages fixing that + # themselves by hacking our database directly, let's hard-code renames + # here. Not really nice but that's the least worst solution. + case $initscript in + ntpd) initscript=ntp ;; + esac + # The package is introducing new services and never has any sysv init # scripts (bsc#982303). if [ ! -r /etc/init.d/$initscript ] && diff --git a/systemd.changes b/systemd.changes index 52a73676..2ac6c835 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Feb 5 13:02:58 UTC 2021 - Franck Bui + +- systemd-sysv-convert: handle the case when services are migrated + from SysV scripts to systemd units and are renamed at the same + time (bsc#1181788) + + The list of such services is hard coded and contains only the + 'ntp->ntpd' translation. + ------------------------------------------------------------------- Wed Feb 3 09:57:58 UTC 2021 - Franck Bui From 488849158e5f9c6a61ec8d437320c69352ea49a11ec0cf4d74d2e4d3bb66ae9c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 7 Feb 2021 14:16:54 +0000 Subject: [PATCH 529/991] Accepting request 869763 from Base:System OBS-URL: https://build.opensuse.org/request/show/869763 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=324 --- systemd-mini.changes | 31 ++++++++++++++++++++++ systemd-mini.spec | 21 ++++++++------- systemd-sysv-convert | 8 ++++++ systemd-v246.10+suse.83.g134cf1c8bc.tar.xz | 3 +++ systemd-v246.9+suse.78.g520e53b6d8.tar.xz | 3 --- systemd.changes | 31 ++++++++++++++++++++++ systemd.spec | 21 ++++++++------- 7 files changed, 95 insertions(+), 23 deletions(-) create mode 100644 systemd-v246.10+suse.83.g134cf1c8bc.tar.xz delete mode 100644 systemd-v246.9+suse.78.g520e53b6d8.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index be0880dd..2ac6c835 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Feb 5 13:02:58 UTC 2021 - Franck Bui + +- systemd-sysv-convert: handle the case when services are migrated + from SysV scripts to systemd units and are renamed at the same + time (bsc#1181788) + + The list of such services is hard coded and contains only the + 'ntp->ntpd' translation. + +------------------------------------------------------------------- +Wed Feb 3 09:57:58 UTC 2021 - Franck Bui + +- Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) + + 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) + 4a543f0257 journal: send journald logs to kmsg again + 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b + +------------------------------------------------------------------- +Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + * don't install legacy symlinks to / + * use %_pamdir to install pam modules + * leave nss files in /usr/lib*, glibc loads them from there just + fine independent of usrmerge + ------------------------------------------------------------------- Fri Dec 18 08:54:20 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 73c531fa..e26e3e93 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1,7 +1,7 @@ # # spec file for package systemd-mini # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.78.g520e53b6d8 +%define suse_version +suse.83.g134cf1c8bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.9 +Version: 246.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -511,7 +511,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamlibdir=/%{_lib}/security \ + -Dpamlibdir=%{_pamdir} \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ @@ -577,10 +577,7 @@ systemd-journal-remote, and systemd-journal-upload. %install %meson_install -# move to %{_lib} -%if ! 0%{?bootstrap} -mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%else +%if 0%{?bootstrap} rm %{buildroot}%{_libdir}/libnss_systemd.so* rm -r %{buildroot}%{_datadir}/locale %endif @@ -611,6 +608,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done +%if !0%{?usrmerged} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -622,6 +620,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -1171,7 +1170,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -/%{_lib}/security/pam_systemd.so +%{_pamdir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1350,6 +1349,7 @@ fi %files sysvinit %defattr(-,root,root,-) +%if !0%{?usrmerged} /sbin/init /sbin/reboot /sbin/halt @@ -1359,6 +1359,7 @@ fi /sbin/telinit /sbin/runlevel %endif +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt @@ -1508,7 +1509,7 @@ fi %files -n nss-myhostname %defattr(-, root, root) -/%{_lib}/*nss_myhostname* +%{_libdir}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 8a75b941..f4417703 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -79,6 +79,14 @@ case "$1" in # in the db only once. database_add $initscript -1 + # Some services were renamed during the transition from SySV init to + # systemd (bsc#1181788). Rather than letting packages fixing that + # themselves by hacking our database directly, let's hard-code renames + # here. Not really nice but that's the least worst solution. + case $initscript in + ntpd) initscript=ntp ;; + esac + # The package is introducing new services and never has any sysv init # scripts (bsc#982303). if [ ! -r /etc/init.d/$initscript ] && diff --git a/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz b/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz new file mode 100644 index 00000000..8346453f --- /dev/null +++ b/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c1fd0a518b62d8f9db6eed77a4ba465e23663e9ac6cc9278b44bca596fd23d6 +size 6572124 diff --git a/systemd-v246.9+suse.78.g520e53b6d8.tar.xz b/systemd-v246.9+suse.78.g520e53b6d8.tar.xz deleted file mode 100644 index 805cd127..00000000 --- a/systemd-v246.9+suse.78.g520e53b6d8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:988d1da9b2cdd0856c7036b120c037789f2ed6d5171911ff654cd8bcf72cf07a -size 6569608 diff --git a/systemd.changes b/systemd.changes index be0880dd..2ac6c835 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Feb 5 13:02:58 UTC 2021 - Franck Bui + +- systemd-sysv-convert: handle the case when services are migrated + from SysV scripts to systemd units and are renamed at the same + time (bsc#1181788) + + The list of such services is hard coded and contains only the + 'ntp->ntpd' translation. + +------------------------------------------------------------------- +Wed Feb 3 09:57:58 UTC 2021 - Franck Bui + +- Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) + + 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) + 4a543f0257 journal: send journald logs to kmsg again + 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b + +------------------------------------------------------------------- +Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + * don't install legacy symlinks to / + * use %_pamdir to install pam modules + * leave nss files in /usr/lib*, glibc loads them from there just + fine independent of usrmerge + ------------------------------------------------------------------- Fri Dec 18 08:54:20 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1e20e227..355fc6c6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.78.g520e53b6d8 +%define suse_version +suse.83.g134cf1c8bc %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.9 +Version: 246.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -509,7 +509,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamlibdir=/%{_lib}/security \ + -Dpamlibdir=%{_pamdir} \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ @@ -575,10 +575,7 @@ systemd-journal-remote, and systemd-journal-upload. %install %meson_install -# move to %{_lib} -%if ! 0%{?bootstrap} -mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} -%else +%if 0%{?bootstrap} rm %{buildroot}%{_libdir}/libnss_systemd.so* rm -r %{buildroot}%{_datadir}/locale %endif @@ -609,6 +606,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done +%if !0%{?usrmerged} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -620,6 +618,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif +%endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. @@ -1169,7 +1168,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -/%{_lib}/security/pam_systemd.so +%{_pamdir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1348,6 +1347,7 @@ fi %files sysvinit %defattr(-,root,root,-) +%if !0%{?usrmerged} /sbin/init /sbin/reboot /sbin/halt @@ -1357,6 +1357,7 @@ fi /sbin/telinit /sbin/runlevel %endif +%endif %{_sbindir}/init %{_sbindir}/reboot %{_sbindir}/halt @@ -1506,7 +1507,7 @@ fi %files -n nss-myhostname %defattr(-, root, root) -/%{_lib}/*nss_myhostname* +%{_libdir}/*nss_myhostname* %{_mandir}/man8/libnss_myhostname.* %{_mandir}/man8/nss-myhostname.* From deedec8c9930a776ea812a4fca3985780e686109b855fb0476ac448e0dede5de Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 17 Feb 2021 10:31:26 +0000 Subject: [PATCH 530/991] - Drop use of %systemd_postun in %postun This macro is supposed to operate on units but it was used without passing any parameters. This call was probably used for issuing a daemon-reload but the following calls to %systemd_postun_with_restart imply that already. So let's simply drop it. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1135 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 4 ++-- systemd.changes | 11 +++++++++++ systemd.spec | 4 ++-- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 2ac6c835..cb3bbe19 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Feb 17 10:30:43 UTC 2021 - Franck Bui + +- Drop use of %systemd_postun in %postun + + This macro is supposed to operate on units but it was used without + passing any parameters. This call was probably used for issuing a + daemon-reload but the following calls to + %systemd_postun_with_restart imply that already. So let's simply + drop it. + ------------------------------------------------------------------- Fri Feb 5 13:02:58 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index e26e3e93..8ee1ccae 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -875,10 +875,10 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -%systemd_postun -# Avoid restarting logind until fixed upstream (issue #1163) +# daemon-reload is implied by %systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service +# Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} # New installations uses the last compat symlink generation number diff --git a/systemd.changes b/systemd.changes index 2ac6c835..cb3bbe19 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Feb 17 10:30:43 UTC 2021 - Franck Bui + +- Drop use of %systemd_postun in %postun + + This macro is supposed to operate on units but it was used without + passing any parameters. This call was probably used for issuing a + daemon-reload but the following calls to + %systemd_postun_with_restart imply that already. So let's simply + drop it. + ------------------------------------------------------------------- Fri Feb 5 13:02:58 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 355fc6c6..5f5c23c6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -873,10 +873,10 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -%systemd_postun -# Avoid restarting logind until fixed upstream (issue #1163) +# daemon-reload is implied by %systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service +# Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} # New installations uses the last compat symlink generation number From ce2bc80d451c5a444078daa6cb84efed2d0bec671265b996ac946f5038628df4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 19 Feb 2021 13:38:02 +0000 Subject: [PATCH 531/991] - Add 0001-conf-parser-introduce-early-drop-ins.patch Introduce early configuration drop-in file. This type of drop-ins are reserved for vendor own purposes only and should never been used by users. It might be removed in the future without any notice. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1136 --- ...conf-parser-introduce-early-drop-ins.patch | 362 ++++++++++++++++++ systemd-mini.changes | 9 + systemd-mini.spec | 1 + systemd.changes | 9 + systemd.spec | 1 + 5 files changed, 382 insertions(+) create mode 100644 0001-conf-parser-introduce-early-drop-ins.patch diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch new file mode 100644 index 00000000..0d20bde5 --- /dev/null +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -0,0 +1,362 @@ +From 3709cf5ba88e1cb9c737e524168b83a0964ef5db Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 22 Jan 2021 14:57:08 +0100 +Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As formerly known as "downstream conf file drop-ins should never override main +user conf file". + +Previously all drop-ins, including those shipped by downstream, shipped in +/usr, could override user's main configuration file (located in /etc) because +the main file was always parsed first. + +This was problematic for downstreams because their customization should never +override the users one in general. Therefore the only way to make this logic +usable was by teaching users to never use the main conf files and to put all +theirs settings in drop-ins with a higher priority than the one downsteam would +use. However customizing the defaults through the main conf file is something +very well established since a long time hence this is not something +conceivable. + +This patch reworks the way we parse configuration files by introducing "early" +conf files (idea from Zbigniew Jędrzejewski-Szmek), which always have a +priority lower than the main config file and hence other conf file drop-ins +too. + +Early conf files can be located in any locations where regular conf snippets +can be installed and are sorted between them using the same sorting rules that +apply to other conf files. A conf file is considered as an early one if its +filename is prefixed with "__" (double underscore). + +Hence for example, drop-in "/usr/lib/systemd/logind.conf.d/__99-foo.conf" will +always be parsed before: + + /etc/systemd/logind.conf + /etc/systemd/logind.conf.d/00-foo.conf + /usr/lib/systemd/logind.conf.d/00-foo.conf + +This change isn't backwards-compatible, but the '__' prefix is something that +is unlikely used. Hence the risk should be very low. + +Unfortunately upstream is not seing this problem as a serious one and accept +that vendors' configuration files can take precedence over the main +configuration files (placed in /etc). See the following links for the +related discussions: + + https://github.com/systemd/systemd/issues/2121 (initial issue report) + https://github.com/systemd/systemd/pull/17161 (first attempt to solve this issue) + https://github.com/systemd/systemd/pull/18347 (introduction of early drop-in) + +Since SUSE heavily relies on drop-ins to customize some of the upstream default +settings, there was no other choice than to diverge from upstream in this +regard. + +But it should be noted that these early drop-ins are strictly reserved for SUSE +own purpose only. IOW users should never use them and early drop-ins should +never be created in /etc but only in /usr. We reserve the right to change or +drop this feature at any time. + +Fixes: #2121 +--- + src/shared/conf-parser.c | 57 ++++++++++++-- + src/test/test-conf-parser.c | 149 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 198 insertions(+), 8 deletions(-) + +diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c +index 0fec79f3d7..daf55d2358 100644 +--- a/src/shared/conf-parser.c ++++ b/src/shared/conf-parser.c +@@ -423,6 +423,7 @@ int config_parse(const char *unit, + + static int config_parse_many_files( + const char *conf_file, ++ char **early_files, + char **files, + const char *sections, + ConfigItemLookup lookup, +@@ -431,19 +432,27 @@ static int config_parse_many_files( + void *userdata, + usec_t *ret_mtime) { + +- usec_t mtime = 0; ++ usec_t t, mtime = 0; + char **fn; + int r; + ++ STRV_FOREACH(fn, early_files) { ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); ++ if (r < 0) ++ return r; ++ if (t > mtime) /* Find the newest */ ++ mtime = t; ++ } ++ + if (conf_file) { +- r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); ++ r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &t); + if (r < 0) + return r; ++ if (t > mtime) /* Find the newest */ ++ mtime = t; + } + + STRV_FOREACH(fn, files) { +- usec_t t; +- + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); + if (r < 0) + return r; +@@ -457,6 +466,28 @@ static int config_parse_many_files( + return 0; + } + ++static int config_parse_split_conf_files(char **files, char ***early_files, char ***late_files) { ++ char **f; ++ ++ assert(files); ++ assert(early_files); ++ assert(late_files); ++ ++ STRV_FOREACH(f, files) { ++ char ***s, *p; ++ ++ p = strdup(*f); ++ if (!p) ++ return log_oom(); ++ ++ s = startswith(basename(*f), "__") ? early_files : late_files; ++ if (strv_push(s, p) < 0) ++ return log_oom(); ++ } ++ ++ return 0; ++} ++ + /* Parse each config file in the directories specified as nulstr. */ + int config_parse_many_nulstr( + const char *conf_file, +@@ -468,14 +499,19 @@ int config_parse_many_nulstr( + void *userdata, + usec_t *ret_mtime) { + +- _cleanup_strv_free_ char **files = NULL; ++ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; + int r; + + r = conf_files_list_nulstr(&files, ".conf", NULL, 0, conf_file_dirs); + if (r < 0) + return r; + +- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); ++ r = config_parse_split_conf_files(files, &early_files, &late_files); ++ if (r < 0) ++ return r; ++ ++ return config_parse_many_files(conf_file, early_files, late_files, sections, ++ lookup, table, flags, userdata, ret_mtime); + } + + /* Parse each config file in the directories specified as strv. */ +@@ -490,8 +526,8 @@ int config_parse_many( + void *userdata, + usec_t *ret_mtime) { + ++ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; + _cleanup_strv_free_ char **dropin_dirs = NULL; +- _cleanup_strv_free_ char **files = NULL; + const char *suffix; + int r; + +@@ -504,7 +540,12 @@ int config_parse_many( + if (r < 0) + return r; + +- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); ++ r = config_parse_split_conf_files(files, &early_files, &late_files); ++ if (r < 0) ++ return r; ++ ++ return config_parse_many_files(conf_file, early_files, late_files, sections, ++ lookup, table, flags, userdata, ret_mtime); + } + + #define DEFINE_PARSER(type, vartype, conv_func) \ +diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c +index 07edc17f92..bb82923319 100644 +--- a/src/test/test-conf-parser.c ++++ b/src/test/test-conf-parser.c +@@ -5,6 +5,9 @@ + #include "fs-util.h" + #include "log.h" + #include "macro.h" ++#include "mkdir.h" ++#include "path-util.h" ++#include "rm-rf.h" + #include "string-util.h" + #include "strv.h" + #include "tmpfile-util.h" +@@ -385,6 +388,149 @@ static void test_config_parse(unsigned i, const char *s) { + } + } + ++static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { ++ char **path; ++ ++ /* If 'is_main' is true then 'conf_files' should only contain an entry ++ * for the main conf file. */ ++ if (is_main) ++ assert_se(strv_length(conf_files) <= 1); ++ ++ STRV_FOREACH(path, conf_files) { ++ _cleanup_free_ char *abspath = NULL; ++ _cleanup_fclose_ FILE *f = NULL; ++ ++ abspath = path_join(root, *path); ++ assert_se(abspath); ++ ++ (void) mkdir_parents(abspath, 0755); ++ ++ f = fopen(abspath, "w"); ++ assert_se(f); ++ fprintf(f, ++ "[Section]\n" ++ "name=%s\n", ++ *path); ++ ++ if (!is_main) ++ fprintf(f, ++ "%s=%s\n", ++ startswith(basename(*path), "__") ? "early" : "late", ++ *path); ++ ++ if (ret_conf_dirs) { ++ char *d; ++ ++ assert_se((d = dirname_malloc(abspath))); ++ assert_se(strv_push(ret_conf_dirs, d) == 0); ++ } ++ } ++ ++ if (ret_conf_dirs) { ++ strv_uniq(*ret_conf_dirs); ++ strv_sort(*ret_conf_dirs); ++ } ++} ++ ++static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { ++ ++ _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; ++ _cleanup_strv_free_ char **conf_dirs = NULL; ++ _cleanup_free_ char *conf_dirs_nulstr = NULL; ++ char *conf_file; ++ char *tmp_dir; ++ size_t size; ++ int r; ++ ++ const ConfigTableItem items[] = { ++ { "Section", "name", config_parse_string, 0, &parsed_name}, ++ { "Section", "late", config_parse_string, 0, &parsed_late}, ++ { "Section", "early", config_parse_string, 0, &parsed_early}, ++ }; ++ ++ tmp_dir = strdupa("/tmp/test-conf-parser-XXXXXX"); ++ assert_se(mkdtemp(tmp_dir)); ++ ++ setup_conf_files(tmp_dir, true, STRV_MAKE(main), NULL); ++ setup_conf_files(tmp_dir, false, conf_files, &conf_dirs); ++ ++ conf_file = main ? strjoina(tmp_dir, "/", main) : NULL; ++ ++ if (nulstr) { ++ r = strv_make_nulstr(conf_dirs, &conf_dirs_nulstr, &size); ++ assert_se(r == 0); ++ ++ r = config_parse_many_nulstr(conf_file, conf_dirs_nulstr, ++ "Section\0", ++ config_item_table_lookup, items, ++ CONFIG_PARSE_WARN, ++ NULL, ++ NULL); ++ } else { ++ r = config_parse_many(conf_file, (const char * const*) conf_dirs, "", ++ "Section\0", ++ config_item_table_lookup, items, ++ CONFIG_PARSE_WARN, ++ NULL, ++ NULL); ++ } ++ ++ assert_se(r == 0); ++ assert_se((!name && !parsed_name) || streq(name, parsed_name)); ++ assert_se((!late && !parsed_late) || streq(late, parsed_late)); ++ assert_se((!early && !parsed_early) || streq(early, parsed_early)); ++ ++ assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); ++} ++ ++static void test_config_parse_many(bool nulstr) { ++ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ ++ test_config_parse_many_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ ++ /* Early conf files should never override the main one whatever their ++ * priority/location. */ ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ ++ /* Late conf files always take precendence over the early conf files ++ * and the main one. */ ++ test_config_parse_many_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++} ++ + int main(int argc, char **argv) { + unsigned i; + +@@ -407,5 +553,8 @@ int main(int argc, char **argv) { + for (i = 0; i < ELEMENTSOF(config_file); i++) + test_config_parse(i, config_file[i]); + ++ test_config_parse_many(true); ++ test_config_parse_many(false); ++ + return 0; + } +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index cb3bbe19..e337546c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Feb 19 13:34:01 UTC 2021 - Franck Bui + +- Add 0001-conf-parser-introduce-early-drop-ins.patch + + Introduce early configuration drop-in file. This type of drop-ins + are reserved for vendor own purposes only and should never been used + by users. It might be removed in the future without any notice. + ------------------------------------------------------------------- Wed Feb 17 10:30:43 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8ee1ccae..2267d45e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -175,6 +175,7 @@ Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch diff --git a/systemd.changes b/systemd.changes index cb3bbe19..e337546c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Feb 19 13:34:01 UTC 2021 - Franck Bui + +- Add 0001-conf-parser-introduce-early-drop-ins.patch + + Introduce early configuration drop-in file. This type of drop-ins + are reserved for vendor own purposes only and should never been used + by users. It might be removed in the future without any notice. + ------------------------------------------------------------------- Wed Feb 17 10:30:43 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5f5c23c6..2c744d4c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -173,6 +173,7 @@ Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch From 28eb9c368f3bb0d1de6432bd3808c18c90f51a4a82f51f2a3b4077ea735e1892 Mon Sep 17 00:00:00 2001 From: Richard Brown Date: Mon, 22 Feb 2021 13:39:31 +0000 Subject: [PATCH 532/991] Accepting request 873790 from Base:System - Add 0001-conf-parser-introduce-early-drop-ins.patch Introduce early configuration drop-in file. This type of drop-ins are reserved for vendor own purposes only and should never been used by users. It might be removed in the future without any notice. - Drop use of %systemd_postun in %postun This macro is supposed to operate on units but it was used without passing any parameters. This call was probably used for issuing a daemon-reload but the following calls to %systemd_postun_with_restart imply that already. So let's simply drop it. OBS-URL: https://build.opensuse.org/request/show/873790 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=325 --- ...conf-parser-introduce-early-drop-ins.patch | 362 ++++++++++++++++++ systemd-mini.changes | 20 + systemd-mini.spec | 5 +- systemd.changes | 20 + systemd.spec | 5 +- 5 files changed, 408 insertions(+), 4 deletions(-) create mode 100644 0001-conf-parser-introduce-early-drop-ins.patch diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch new file mode 100644 index 00000000..0d20bde5 --- /dev/null +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -0,0 +1,362 @@ +From 3709cf5ba88e1cb9c737e524168b83a0964ef5db Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 22 Jan 2021 14:57:08 +0100 +Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As formerly known as "downstream conf file drop-ins should never override main +user conf file". + +Previously all drop-ins, including those shipped by downstream, shipped in +/usr, could override user's main configuration file (located in /etc) because +the main file was always parsed first. + +This was problematic for downstreams because their customization should never +override the users one in general. Therefore the only way to make this logic +usable was by teaching users to never use the main conf files and to put all +theirs settings in drop-ins with a higher priority than the one downsteam would +use. However customizing the defaults through the main conf file is something +very well established since a long time hence this is not something +conceivable. + +This patch reworks the way we parse configuration files by introducing "early" +conf files (idea from Zbigniew Jędrzejewski-Szmek), which always have a +priority lower than the main config file and hence other conf file drop-ins +too. + +Early conf files can be located in any locations where regular conf snippets +can be installed and are sorted between them using the same sorting rules that +apply to other conf files. A conf file is considered as an early one if its +filename is prefixed with "__" (double underscore). + +Hence for example, drop-in "/usr/lib/systemd/logind.conf.d/__99-foo.conf" will +always be parsed before: + + /etc/systemd/logind.conf + /etc/systemd/logind.conf.d/00-foo.conf + /usr/lib/systemd/logind.conf.d/00-foo.conf + +This change isn't backwards-compatible, but the '__' prefix is something that +is unlikely used. Hence the risk should be very low. + +Unfortunately upstream is not seing this problem as a serious one and accept +that vendors' configuration files can take precedence over the main +configuration files (placed in /etc). See the following links for the +related discussions: + + https://github.com/systemd/systemd/issues/2121 (initial issue report) + https://github.com/systemd/systemd/pull/17161 (first attempt to solve this issue) + https://github.com/systemd/systemd/pull/18347 (introduction of early drop-in) + +Since SUSE heavily relies on drop-ins to customize some of the upstream default +settings, there was no other choice than to diverge from upstream in this +regard. + +But it should be noted that these early drop-ins are strictly reserved for SUSE +own purpose only. IOW users should never use them and early drop-ins should +never be created in /etc but only in /usr. We reserve the right to change or +drop this feature at any time. + +Fixes: #2121 +--- + src/shared/conf-parser.c | 57 ++++++++++++-- + src/test/test-conf-parser.c | 149 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 198 insertions(+), 8 deletions(-) + +diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c +index 0fec79f3d7..daf55d2358 100644 +--- a/src/shared/conf-parser.c ++++ b/src/shared/conf-parser.c +@@ -423,6 +423,7 @@ int config_parse(const char *unit, + + static int config_parse_many_files( + const char *conf_file, ++ char **early_files, + char **files, + const char *sections, + ConfigItemLookup lookup, +@@ -431,19 +432,27 @@ static int config_parse_many_files( + void *userdata, + usec_t *ret_mtime) { + +- usec_t mtime = 0; ++ usec_t t, mtime = 0; + char **fn; + int r; + ++ STRV_FOREACH(fn, early_files) { ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); ++ if (r < 0) ++ return r; ++ if (t > mtime) /* Find the newest */ ++ mtime = t; ++ } ++ + if (conf_file) { +- r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); ++ r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &t); + if (r < 0) + return r; ++ if (t > mtime) /* Find the newest */ ++ mtime = t; + } + + STRV_FOREACH(fn, files) { +- usec_t t; +- + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); + if (r < 0) + return r; +@@ -457,6 +466,28 @@ static int config_parse_many_files( + return 0; + } + ++static int config_parse_split_conf_files(char **files, char ***early_files, char ***late_files) { ++ char **f; ++ ++ assert(files); ++ assert(early_files); ++ assert(late_files); ++ ++ STRV_FOREACH(f, files) { ++ char ***s, *p; ++ ++ p = strdup(*f); ++ if (!p) ++ return log_oom(); ++ ++ s = startswith(basename(*f), "__") ? early_files : late_files; ++ if (strv_push(s, p) < 0) ++ return log_oom(); ++ } ++ ++ return 0; ++} ++ + /* Parse each config file in the directories specified as nulstr. */ + int config_parse_many_nulstr( + const char *conf_file, +@@ -468,14 +499,19 @@ int config_parse_many_nulstr( + void *userdata, + usec_t *ret_mtime) { + +- _cleanup_strv_free_ char **files = NULL; ++ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; + int r; + + r = conf_files_list_nulstr(&files, ".conf", NULL, 0, conf_file_dirs); + if (r < 0) + return r; + +- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); ++ r = config_parse_split_conf_files(files, &early_files, &late_files); ++ if (r < 0) ++ return r; ++ ++ return config_parse_many_files(conf_file, early_files, late_files, sections, ++ lookup, table, flags, userdata, ret_mtime); + } + + /* Parse each config file in the directories specified as strv. */ +@@ -490,8 +526,8 @@ int config_parse_many( + void *userdata, + usec_t *ret_mtime) { + ++ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; + _cleanup_strv_free_ char **dropin_dirs = NULL; +- _cleanup_strv_free_ char **files = NULL; + const char *suffix; + int r; + +@@ -504,7 +540,12 @@ int config_parse_many( + if (r < 0) + return r; + +- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); ++ r = config_parse_split_conf_files(files, &early_files, &late_files); ++ if (r < 0) ++ return r; ++ ++ return config_parse_many_files(conf_file, early_files, late_files, sections, ++ lookup, table, flags, userdata, ret_mtime); + } + + #define DEFINE_PARSER(type, vartype, conv_func) \ +diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c +index 07edc17f92..bb82923319 100644 +--- a/src/test/test-conf-parser.c ++++ b/src/test/test-conf-parser.c +@@ -5,6 +5,9 @@ + #include "fs-util.h" + #include "log.h" + #include "macro.h" ++#include "mkdir.h" ++#include "path-util.h" ++#include "rm-rf.h" + #include "string-util.h" + #include "strv.h" + #include "tmpfile-util.h" +@@ -385,6 +388,149 @@ static void test_config_parse(unsigned i, const char *s) { + } + } + ++static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { ++ char **path; ++ ++ /* If 'is_main' is true then 'conf_files' should only contain an entry ++ * for the main conf file. */ ++ if (is_main) ++ assert_se(strv_length(conf_files) <= 1); ++ ++ STRV_FOREACH(path, conf_files) { ++ _cleanup_free_ char *abspath = NULL; ++ _cleanup_fclose_ FILE *f = NULL; ++ ++ abspath = path_join(root, *path); ++ assert_se(abspath); ++ ++ (void) mkdir_parents(abspath, 0755); ++ ++ f = fopen(abspath, "w"); ++ assert_se(f); ++ fprintf(f, ++ "[Section]\n" ++ "name=%s\n", ++ *path); ++ ++ if (!is_main) ++ fprintf(f, ++ "%s=%s\n", ++ startswith(basename(*path), "__") ? "early" : "late", ++ *path); ++ ++ if (ret_conf_dirs) { ++ char *d; ++ ++ assert_se((d = dirname_malloc(abspath))); ++ assert_se(strv_push(ret_conf_dirs, d) == 0); ++ } ++ } ++ ++ if (ret_conf_dirs) { ++ strv_uniq(*ret_conf_dirs); ++ strv_sort(*ret_conf_dirs); ++ } ++} ++ ++static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { ++ ++ _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; ++ _cleanup_strv_free_ char **conf_dirs = NULL; ++ _cleanup_free_ char *conf_dirs_nulstr = NULL; ++ char *conf_file; ++ char *tmp_dir; ++ size_t size; ++ int r; ++ ++ const ConfigTableItem items[] = { ++ { "Section", "name", config_parse_string, 0, &parsed_name}, ++ { "Section", "late", config_parse_string, 0, &parsed_late}, ++ { "Section", "early", config_parse_string, 0, &parsed_early}, ++ }; ++ ++ tmp_dir = strdupa("/tmp/test-conf-parser-XXXXXX"); ++ assert_se(mkdtemp(tmp_dir)); ++ ++ setup_conf_files(tmp_dir, true, STRV_MAKE(main), NULL); ++ setup_conf_files(tmp_dir, false, conf_files, &conf_dirs); ++ ++ conf_file = main ? strjoina(tmp_dir, "/", main) : NULL; ++ ++ if (nulstr) { ++ r = strv_make_nulstr(conf_dirs, &conf_dirs_nulstr, &size); ++ assert_se(r == 0); ++ ++ r = config_parse_many_nulstr(conf_file, conf_dirs_nulstr, ++ "Section\0", ++ config_item_table_lookup, items, ++ CONFIG_PARSE_WARN, ++ NULL, ++ NULL); ++ } else { ++ r = config_parse_many(conf_file, (const char * const*) conf_dirs, "", ++ "Section\0", ++ config_item_table_lookup, items, ++ CONFIG_PARSE_WARN, ++ NULL, ++ NULL); ++ } ++ ++ assert_se(r == 0); ++ assert_se((!name && !parsed_name) || streq(name, parsed_name)); ++ assert_se((!late && !parsed_late) || streq(late, parsed_late)); ++ assert_se((!early && !parsed_early) || streq(early, parsed_early)); ++ ++ assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); ++} ++ ++static void test_config_parse_many(bool nulstr) { ++ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ ++ test_config_parse_many_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ ++ /* Early conf files should never override the main one whatever their ++ * priority/location. */ ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ ++ /* Late conf files always take precendence over the early conf files ++ * and the main one. */ ++ test_config_parse_many_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++} ++ + int main(int argc, char **argv) { + unsigned i; + +@@ -407,5 +553,8 @@ int main(int argc, char **argv) { + for (i = 0; i < ELEMENTSOF(config_file); i++) + test_config_parse(i, config_file[i]); + ++ test_config_parse_many(true); ++ test_config_parse_many(false); ++ + return 0; + } +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 2ac6c835..e337546c 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Fri Feb 19 13:34:01 UTC 2021 - Franck Bui + +- Add 0001-conf-parser-introduce-early-drop-ins.patch + + Introduce early configuration drop-in file. This type of drop-ins + are reserved for vendor own purposes only and should never been used + by users. It might be removed in the future without any notice. + +------------------------------------------------------------------- +Wed Feb 17 10:30:43 UTC 2021 - Franck Bui + +- Drop use of %systemd_postun in %postun + + This macro is supposed to operate on units but it was used without + passing any parameters. This call was probably used for issuing a + daemon-reload but the following calls to + %systemd_postun_with_restart imply that already. So let's simply + drop it. + ------------------------------------------------------------------- Fri Feb 5 13:02:58 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index e26e3e93..2267d45e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -175,6 +175,7 @@ Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -875,10 +876,10 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -%systemd_postun -# Avoid restarting logind until fixed upstream (issue #1163) +# daemon-reload is implied by %systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service +# Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} # New installations uses the last compat symlink generation number diff --git a/systemd.changes b/systemd.changes index 2ac6c835..e337546c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Fri Feb 19 13:34:01 UTC 2021 - Franck Bui + +- Add 0001-conf-parser-introduce-early-drop-ins.patch + + Introduce early configuration drop-in file. This type of drop-ins + are reserved for vendor own purposes only and should never been used + by users. It might be removed in the future without any notice. + +------------------------------------------------------------------- +Wed Feb 17 10:30:43 UTC 2021 - Franck Bui + +- Drop use of %systemd_postun in %postun + + This macro is supposed to operate on units but it was used without + passing any parameters. This call was probably used for issuing a + daemon-reload but the following calls to + %systemd_postun_with_restart imply that already. So let's simply + drop it. + ------------------------------------------------------------------- Fri Feb 5 13:02:58 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 355fc6c6..2c744d4c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -173,6 +173,7 @@ Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -873,10 +874,10 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -%systemd_postun -# Avoid restarting logind until fixed upstream (issue #1163) +# daemon-reload is implied by %systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service +# Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} # New installations uses the last compat symlink generation number From ee09f027c36020b1642d8f318990fd56dee68fadd7d02057dfe18dc8d2002299 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 22 Feb 2021 20:22:02 +0000 Subject: [PATCH 533/991] - systemd requires aaa_base >= 13.2 This dependency is required because 'systemctl {is-enabled,enable,disable} " ends up calling systemd-sysv-install which in its turn calls "chkconfig --no-systemctl". aaa_base package has a weird versioning but the '--no-systemctl' option has been introduced starting from SLE12-SP2-GA, which shipped version "13.2+git20140911.61c1681". Spotted in bsc#1180083. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1137 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 3 +-- systemd.changes | 16 ++++++++++++++++ systemd.spec | 3 +-- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index e337546c..d9c20bad 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Feb 22 20:20:43 UTC 2021 - Franck Bui + +- systemd requires aaa_base >= 13.2 + + This dependency is required because 'systemctl + {is-enabled,enable,disable} " ends up calling + systemd-sysv-install which in its turn calls "chkconfig + --no-systemctl". + + aaa_base package has a weird versioning but the '--no-systemctl' + option has been introduced starting from SLE12-SP2-GA, which shipped + version "13.2+git20140911.61c1681". + + Spotted in bsc#1180083. + ------------------------------------------------------------------- Fri Feb 19 13:34:01 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 2267d45e..3ced7752 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -120,6 +120,7 @@ Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev +Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 @@ -277,8 +278,6 @@ Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Conflicts: systemd < 39 -Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: dracut < 044.1 diff --git a/systemd.changes b/systemd.changes index e337546c..d9c20bad 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Feb 22 20:20:43 UTC 2021 - Franck Bui + +- systemd requires aaa_base >= 13.2 + + This dependency is required because 'systemctl + {is-enabled,enable,disable} " ends up calling + systemd-sysv-install which in its turn calls "chkconfig + --no-systemctl". + + aaa_base package has a weird versioning but the '--no-systemctl' + option has been introduced starting from SLE12-SP2-GA, which shipped + version "13.2+git20140911.61c1681". + + Spotted in bsc#1180083. + ------------------------------------------------------------------- Fri Feb 19 13:34:01 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2c744d4c..44651538 100644 --- a/systemd.spec +++ b/systemd.spec @@ -118,6 +118,7 @@ Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev +Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 @@ -275,8 +276,6 @@ Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Conflicts: systemd < 39 -Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: dracut < 044.1 From 6c52ec6e42490f2d386e528b48937e9be87f257df5ea1e82bb801dad25b00129 Mon Sep 17 00:00:00 2001 From: Richard Brown Date: Tue, 2 Mar 2021 13:41:57 +0000 Subject: [PATCH 534/991] Accepting request 874480 from Base:System - systemd requires aaa_base >= 13.2 This dependency is required because 'systemctl {is-enabled,enable,disable} " ends up calling systemd-sysv-install which in its turn calls "chkconfig --no-systemctl". aaa_base package has a weird versioning but the '--no-systemctl' option has been introduced starting from SLE12-SP2-GA, which shipped version "13.2+git20140911.61c1681". Spotted in bsc#1180083. OBS-URL: https://build.opensuse.org/request/show/874480 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=326 --- systemd-mini.changes | 16 ++++++++++++++++ systemd-mini.spec | 3 +-- systemd.changes | 16 ++++++++++++++++ systemd.spec | 3 +-- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index e337546c..d9c20bad 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Feb 22 20:20:43 UTC 2021 - Franck Bui + +- systemd requires aaa_base >= 13.2 + + This dependency is required because 'systemctl + {is-enabled,enable,disable} " ends up calling + systemd-sysv-install which in its turn calls "chkconfig + --no-systemctl". + + aaa_base package has a weird versioning but the '--no-systemctl' + option has been introduced starting from SLE12-SP2-GA, which shipped + version "13.2+git20140911.61c1681". + + Spotted in bsc#1180083. + ------------------------------------------------------------------- Fri Feb 19 13:34:01 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 2267d45e..3ced7752 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -120,6 +120,7 @@ Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev +Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 @@ -277,8 +278,6 @@ Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Conflicts: systemd < 39 -Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: dracut < 044.1 diff --git a/systemd.changes b/systemd.changes index e337546c..d9c20bad 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Feb 22 20:20:43 UTC 2021 - Franck Bui + +- systemd requires aaa_base >= 13.2 + + This dependency is required because 'systemctl + {is-enabled,enable,disable} " ends up calling + systemd-sysv-install which in its turn calls "chkconfig + --no-systemctl". + + aaa_base package has a weird versioning but the '--no-systemctl' + option has been introduced starting from SLE12-SP2-GA, which shipped + version "13.2+git20140911.61c1681". + + Spotted in bsc#1180083. + ------------------------------------------------------------------- Fri Feb 19 13:34:01 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2c744d4c..44651538 100644 --- a/systemd.spec +++ b/systemd.spec @@ -118,6 +118,7 @@ Provides: systemd = %{version}-%{release} %else # the buildignore is important for bootstrapping #!BuildIgnore: udev +Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 @@ -275,8 +276,6 @@ Requires(post): coreutils Requires(postun): coreutils Requires(postun): /usr/bin/systemctl -Conflicts: systemd < 39 -Conflicts: aaa_base < 11.5 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: dracut < 044.1 From d86f2d4ef1ae8a45f851b7de664949fe400a9d678dff4ea3c6a862df5c135ae7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 10 Mar 2021 09:10:55 +0000 Subject: [PATCH 535/991] - fix-machines-btrfs-subvol.sh is only shipped when machined is built OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1138 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 ++ systemd.changes | 5 +++++ systemd.spec | 2 ++ 4 files changed, 14 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index d9c20bad..57800dc1 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Mar 10 09:10:03 UTC 2021 - Franck Bui + +- fix-machines-btrfs-subvol.sh is only shipped when machined is built + ------------------------------------------------------------------- Mon Feb 22 20:20:43 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3ced7752..77bd8f50 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -921,6 +921,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %post container %tmpfiles_create systemd-nspawn.conf +%if %{with machined} if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed @@ -939,6 +940,7 @@ if [ $1 -gt 1 ]; then # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%endif %if ! 0%{?bootstrap} %post logger diff --git a/systemd.changes b/systemd.changes index d9c20bad..57800dc1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Mar 10 09:10:03 UTC 2021 - Franck Bui + +- fix-machines-btrfs-subvol.sh is only shipped when machined is built + ------------------------------------------------------------------- Mon Feb 22 20:20:43 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 44651538..41bd4223 100644 --- a/systemd.spec +++ b/systemd.spec @@ -919,6 +919,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %post container %tmpfiles_create systemd-nspawn.conf +%if %{with machined} if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed @@ -937,6 +938,7 @@ if [ $1 -gt 1 ]; then # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%endif %if ! 0%{?bootstrap} %post logger From b7c785ac2b64af59554dacb4ced4db3d2479bca08fa53ff8a42d103166d82653 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 11 Mar 2021 09:53:07 +0000 Subject: [PATCH 536/991] - Make sure the udev socket units are reloaded during udev package updates OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1139 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 17 +++++++++++------ systemd.changes | 5 +++++ systemd.spec | 17 +++++++++++------ 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 57800dc1..a1a83bfe 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Mar 11 09:51:53 UTC 2021 - Franck Bui + +- Make sure the udev socket units are reloaded during udev package updates + ------------------------------------------------------------------- Wed Mar 10 09:10:03 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 77bd8f50..f99bb053 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -903,12 +903,17 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -# Restarting udevd sockets means also stopping the daemon. But we -# don't want the sockets and the daemon to be inactive at the same -# time because we might loose new events sent by the kernel during the -# package update otherwise. Hence we accept the fact that the socket -# properties might not be updated. They are unlikely changed anyway. -%systemd_postun_with_restart systemd-udevd.service +systemctl daemon-reload || : +# On package update, restarting the socket units will probably fail as +# udevd is most likely running. Therefore systemctl will refuse to +# start them again once stopped. It's not an issue since we are mostly +# interested to make PID1 use the updated unit files once the socket +# units wil be started again. And that will happen when systemd-udevd +# itself will be restarted. +if [ $1 -ge 1 ]; then + systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : + systemctl try-restart systemd-udevd.service || : +fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans diff --git a/systemd.changes b/systemd.changes index 57800dc1..a1a83bfe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Mar 11 09:51:53 UTC 2021 - Franck Bui + +- Make sure the udev socket units are reloaded during udev package updates + ------------------------------------------------------------------- Wed Mar 10 09:10:03 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 41bd4223..0ce09c2c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -901,12 +901,17 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -# Restarting udevd sockets means also stopping the daemon. But we -# don't want the sockets and the daemon to be inactive at the same -# time because we might loose new events sent by the kernel during the -# package update otherwise. Hence we accept the fact that the socket -# properties might not be updated. They are unlikely changed anyway. -%systemd_postun_with_restart systemd-udevd.service +systemctl daemon-reload || : +# On package update, restarting the socket units will probably fail as +# udevd is most likely running. Therefore systemctl will refuse to +# start them again once stopped. It's not an issue since we are mostly +# interested to make PID1 use the updated unit files once the socket +# units wil be started again. And that will happen when systemd-udevd +# itself will be restarted. +if [ $1 -ge 1 ]; then + systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : + systemctl try-restart systemd-udevd.service || : +fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans From 2e74d0198b005d943f5f8a59070e4ea33f86ca9213f15bc7958f567f8da2c635 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Mar 2021 11:28:03 +0000 Subject: [PATCH 537/991] - Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 846d61e0a1 boot: Move console declarations to missing_efi.h 171a37228b boot: Add startswith() and endswith() functions with no_case variants 0fad9f309a boot: Drop unnecessary braces c38bbb0874 boot: Fix void pointer arithmetic warning 438210924b boot: Replace raw efivar gets with typed variants e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() 2808d0e9a3 boot: Tighten scope of variables used in loops d3f3d57743 boot: Add efivar_get_boolean_u8() 0551ecce71 boot: Make all efivar util functions take the guid as an argument 8376ba3b9f boot: Turn all guid constants into C99 compound initializers 166fc2dad2 boot: Enable C99 c87d66e261 boot: Move Secure Boot logic to new file da7bba9438 udev: fix memleak e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1140 --- systemd-mini.changes | 22 +++++++++++++++++++++ systemd-mini.spec | 2 +- systemd-v246.10+suse.100.g13bc088701.tar.xz | 3 +++ systemd.changes | 22 +++++++++++++++++++++ systemd.spec | 2 +- 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 systemd-v246.10+suse.100.g13bc088701.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index a1a83bfe..3672aa5b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Mar 15 11:06:54 UTC 2021 - Franck Bui + +- Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 + + 846d61e0a1 boot: Move console declarations to missing_efi.h + 171a37228b boot: Add startswith() and endswith() functions with no_case variants + 0fad9f309a boot: Drop unnecessary braces + c38bbb0874 boot: Fix void pointer arithmetic warning + 438210924b boot: Replace raw efivar gets with typed variants + e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions + e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() + 2808d0e9a3 boot: Tighten scope of variables used in loops + d3f3d57743 boot: Add efivar_get_boolean_u8() + 0551ecce71 boot: Make all efivar util functions take the guid as an argument + 8376ba3b9f boot: Turn all guid constants into C99 compound initializers + 166fc2dad2 boot: Enable C99 + c87d66e261 boot: Move Secure Boot logic to new file + da7bba9438 udev: fix memleak + e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) + 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) + ------------------------------------------------------------------- Thu Mar 11 09:51:53 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f99bb053..491c366a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.83.g134cf1c8bc +%define suse_version +suse.100.g13bc088701 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v246.10+suse.100.g13bc088701.tar.xz b/systemd-v246.10+suse.100.g13bc088701.tar.xz new file mode 100644 index 00000000..8c25fe80 --- /dev/null +++ b/systemd-v246.10+suse.100.g13bc088701.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:230db1113693f80432c3c39de06ea4116e2b8dd6924bdbcd5ab0745eb89958cf +size 6572516 diff --git a/systemd.changes b/systemd.changes index a1a83bfe..3672aa5b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Mar 15 11:06:54 UTC 2021 - Franck Bui + +- Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 + + 846d61e0a1 boot: Move console declarations to missing_efi.h + 171a37228b boot: Add startswith() and endswith() functions with no_case variants + 0fad9f309a boot: Drop unnecessary braces + c38bbb0874 boot: Fix void pointer arithmetic warning + 438210924b boot: Replace raw efivar gets with typed variants + e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions + e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() + 2808d0e9a3 boot: Tighten scope of variables used in loops + d3f3d57743 boot: Add efivar_get_boolean_u8() + 0551ecce71 boot: Make all efivar util functions take the guid as an argument + 8376ba3b9f boot: Turn all guid constants into C99 compound initializers + 166fc2dad2 boot: Enable C99 + c87d66e261 boot: Move Secure Boot logic to new file + da7bba9438 udev: fix memleak + e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) + 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) + ------------------------------------------------------------------- Thu Mar 11 09:51:53 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0ce09c2c..92c07ee8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.83.g134cf1c8bc +%define suse_version +suse.100.g13bc088701 %bcond_with gnuefi %if 0%{?bootstrap} From 5b382ceab3394242dfe6743ab01479a54ff11ba271b87cb6b175ffc8f970877a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Mar 2021 20:02:29 +0000 Subject: [PATCH 538/991] - Import commit ddbd660935d7cff7e5c846a98b312b50a7af4fe7 (merge of v246.11) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...ddbd660935d7cff7e5c846a98b312b50a7af4fe7 - Rebase 0001-conf-parser-introduce-early-drop-ins.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1141 --- ...conf-parser-introduce-early-drop-ins.patch | 53 +++++++------------ systemd-mini.changes | 10 ++++ systemd-mini.spec | 4 +- systemd-v246.10+suse.100.g13bc088701.tar.xz | 3 -- systemd-v246.10+suse.83.g134cf1c8bc.tar.xz | 3 -- systemd-v246.11+suse.101.gddbd660935.tar.xz | 3 ++ systemd.changes | 10 ++++ systemd.spec | 4 +- 8 files changed, 45 insertions(+), 45 deletions(-) delete mode 100644 systemd-v246.10+suse.100.g13bc088701.tar.xz delete mode 100644 systemd-v246.10+suse.83.g134cf1c8bc.tar.xz create mode 100644 systemd-v246.11+suse.101.gddbd660935.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 0d20bde5..c05f4769 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 3709cf5ba88e1cb9c737e524168b83a0964ef5db Mon Sep 17 00:00:00 2001 +From 569f94a86a608fa7a47fef583f3f504ec8223967 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 57 ++++++++++++-- - src/test/test-conf-parser.c | 149 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 198 insertions(+), 8 deletions(-) + src/shared/conf-parser.c | 47 ++++++++++- + src/test/test-conf-parser.c | 151 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 194 insertions(+), 4 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 0fec79f3d7..daf55d2358 100644 +index 7499b3b882..799026626c 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -423,6 +423,7 @@ int config_parse(const char *unit, +@@ -426,6 +426,7 @@ int config_parse(const char *unit, static int config_parse_many_files( const char *conf_file, @@ -77,39 +77,20 @@ index 0fec79f3d7..daf55d2358 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -431,19 +432,27 @@ static int config_parse_many_files( - void *userdata, - usec_t *ret_mtime) { - -- usec_t mtime = 0; -+ usec_t t, mtime = 0; +@@ -438,6 +439,12 @@ static int config_parse_many_files( char **fn; int r; + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); + if (r < 0) + return r; -+ if (t > mtime) /* Find the newest */ -+ mtime = t; + } + if (conf_file) { -- r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); -+ r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &t); + r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); if (r < 0) - return r; -+ if (t > mtime) /* Find the newest */ -+ mtime = t; - } - - STRV_FOREACH(fn, files) { -- usec_t t; -- - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); - if (r < 0) - return r; -@@ -457,6 +466,28 @@ static int config_parse_many_files( +@@ -456,6 +463,28 @@ static int config_parse_many_files( return 0; } @@ -138,7 +119,7 @@ index 0fec79f3d7..daf55d2358 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -468,14 +499,19 @@ int config_parse_many_nulstr( +@@ -467,14 +496,19 @@ int config_parse_many_nulstr( void *userdata, usec_t *ret_mtime) { @@ -160,7 +141,7 @@ index 0fec79f3d7..daf55d2358 100644 } /* Parse each config file in the directories specified as strv. */ -@@ -490,8 +526,8 @@ int config_parse_many( +@@ -489,8 +523,8 @@ int config_parse_many( void *userdata, usec_t *ret_mtime) { @@ -170,7 +151,7 @@ index 0fec79f3d7..daf55d2358 100644 const char *suffix; int r; -@@ -504,7 +540,12 @@ int config_parse_many( +@@ -503,7 +537,12 @@ int config_parse_many( if (r < 0) return r; @@ -185,7 +166,7 @@ index 0fec79f3d7..daf55d2358 100644 #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 07edc17f92..bb82923319 100644 +index 07edc17f92..2df4b073c5 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -198,7 +179,7 @@ index 07edc17f92..bb82923319 100644 #include "string-util.h" #include "strv.h" #include "tmpfile-util.h" -@@ -385,6 +388,149 @@ static void test_config_parse(unsigned i, const char *s) { +@@ -385,6 +388,151 @@ static void test_config_parse(unsigned i, const char *s) { } } @@ -299,6 +280,8 @@ index 07edc17f92..bb82923319 100644 +} + +static void test_config_parse_many(bool nulstr) { ++ log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); ++ + test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); + + test_config_parse_many_one(nulstr, @@ -348,7 +331,7 @@ index 07edc17f92..bb82923319 100644 int main(int argc, char **argv) { unsigned i; -@@ -407,5 +553,8 @@ int main(int argc, char **argv) { +@@ -407,5 +555,8 @@ int main(int argc, char **argv) { for (i = 0; i < ELEMENTSOF(config_file); i++) test_config_parse(i, config_file[i]); diff --git a/systemd-mini.changes b/systemd-mini.changes index 3672aa5b..17d5b0fe 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Mar 15 15:56:45 UTC 2021 - Franck Bui + +- Import commit ddbd660935d7cff7e5c846a98b312b50a7af4fe7 (merge of v246.11) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...ddbd660935d7cff7e5c846a98b312b50a7af4fe7 + +- Rebase 0001-conf-parser-introduce-early-drop-ins.patch + ------------------------------------------------------------------- Mon Mar 15 11:06:54 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 491c366a..2dc2061f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.100.g13bc088701 +%define suse_version +suse.101.gddbd660935 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.10 +Version: 246.11 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v246.10+suse.100.g13bc088701.tar.xz b/systemd-v246.10+suse.100.g13bc088701.tar.xz deleted file mode 100644 index 8c25fe80..00000000 --- a/systemd-v246.10+suse.100.g13bc088701.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:230db1113693f80432c3c39de06ea4116e2b8dd6924bdbcd5ab0745eb89958cf -size 6572516 diff --git a/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz b/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz deleted file mode 100644 index 8346453f..00000000 --- a/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c1fd0a518b62d8f9db6eed77a4ba465e23663e9ac6cc9278b44bca596fd23d6 -size 6572124 diff --git a/systemd-v246.11+suse.101.gddbd660935.tar.xz b/systemd-v246.11+suse.101.gddbd660935.tar.xz new file mode 100644 index 00000000..1c7d810b --- /dev/null +++ b/systemd-v246.11+suse.101.gddbd660935.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6d8c2608064df3afcb07d4fab0a6e50c766621e4e0e4cf8b9bcfd88d4eb6b61 +size 6574712 diff --git a/systemd.changes b/systemd.changes index 3672aa5b..17d5b0fe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Mar 15 15:56:45 UTC 2021 - Franck Bui + +- Import commit ddbd660935d7cff7e5c846a98b312b50a7af4fe7 (merge of v246.11) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...ddbd660935d7cff7e5c846a98b312b50a7af4fe7 + +- Rebase 0001-conf-parser-introduce-early-drop-ins.patch + ------------------------------------------------------------------- Mon Mar 15 11:06:54 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 92c07ee8..570ca73f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.100.g13bc088701 +%define suse_version +suse.101.gddbd660935 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.10 +Version: 246.11 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 08496b7dbd8ee3236029419c3357d5dc4f965c30af994337b58c4c577a550342 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Mar 2021 20:54:49 +0000 Subject: [PATCH 539/991] Previous tarball was borked :-/ OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1142 --- systemd-mini.changes | 4 ++-- systemd-mini.spec | 2 +- systemd-v246.11+suse.101.gddbd660935.tar.xz | 3 --- systemd-v246.11+suse.102.g9753d1c175.tar.xz | 3 +++ systemd.changes | 4 ++-- systemd.spec | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 systemd-v246.11+suse.101.gddbd660935.tar.xz create mode 100644 systemd-v246.11+suse.102.g9753d1c175.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 17d5b0fe..d0523373 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,10 +1,10 @@ ------------------------------------------------------------------- Mon Mar 15 15:56:45 UTC 2021 - Franck Bui -- Import commit ddbd660935d7cff7e5c846a98b312b50a7af4fe7 (merge of v246.11) +- Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...ddbd660935d7cff7e5c846a98b312b50a7af4fe7 + https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 - Rebase 0001-conf-parser-introduce-early-drop-ins.patch diff --git a/systemd-mini.spec b/systemd-mini.spec index 2dc2061f..fd4a0914 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.101.gddbd660935 +%define suse_version +suse.102.g9753d1c175 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v246.11+suse.101.gddbd660935.tar.xz b/systemd-v246.11+suse.101.gddbd660935.tar.xz deleted file mode 100644 index 1c7d810b..00000000 --- a/systemd-v246.11+suse.101.gddbd660935.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d6d8c2608064df3afcb07d4fab0a6e50c766621e4e0e4cf8b9bcfd88d4eb6b61 -size 6574712 diff --git a/systemd-v246.11+suse.102.g9753d1c175.tar.xz b/systemd-v246.11+suse.102.g9753d1c175.tar.xz new file mode 100644 index 00000000..0183619d --- /dev/null +++ b/systemd-v246.11+suse.102.g9753d1c175.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4ec3e2511b4af7635c5189276f5d5ad3694159fab01603103f7ff12162d52fb +size 6573652 diff --git a/systemd.changes b/systemd.changes index 17d5b0fe..d0523373 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,10 +1,10 @@ ------------------------------------------------------------------- Mon Mar 15 15:56:45 UTC 2021 - Franck Bui -- Import commit ddbd660935d7cff7e5c846a98b312b50a7af4fe7 (merge of v246.11) +- Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...ddbd660935d7cff7e5c846a98b312b50a7af4fe7 + https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 - Rebase 0001-conf-parser-introduce-early-drop-ins.patch diff --git a/systemd.spec b/systemd.spec index 570ca73f..dda477e4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.101.gddbd660935 +%define suse_version +suse.102.g9753d1c175 %bcond_with gnuefi %if 0%{?bootstrap} From 4678053d4fbe1fb62c83537e1244e65fc6e98158866d18238e94386b478c0079 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 17 Mar 2021 19:14:01 +0000 Subject: [PATCH 540/991] Accepting request 879358 from Base:System - Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 - Rebase 0001-conf-parser-introduce-early-drop-ins.patch - Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 846d61e0a1 boot: Move console declarations to missing_efi.h 171a37228b boot: Add startswith() and endswith() functions with no_case variants 0fad9f309a boot: Drop unnecessary braces c38bbb0874 boot: Fix void pointer arithmetic warning 438210924b boot: Replace raw efivar gets with typed variants e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() 2808d0e9a3 boot: Tighten scope of variables used in loops d3f3d57743 boot: Add efivar_get_boolean_u8() 0551ecce71 boot: Make all efivar util functions take the guid as an argument 8376ba3b9f boot: Turn all guid constants into C99 compound initializers 166fc2dad2 boot: Enable C99 c87d66e261 boot: Move Secure Boot logic to new file da7bba9438 udev: fix memleak e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) - Make sure the udev socket units are reloaded during udev package updates - fix-machines-btrfs-subvol.sh is only shipped when machined is built OBS-URL: https://build.opensuse.org/request/show/879358 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=327 --- ...conf-parser-introduce-early-drop-ins.patch | 53 +++++++------------ systemd-mini.changes | 42 +++++++++++++++ systemd-mini.spec | 23 +++++--- systemd-v246.10+suse.83.g134cf1c8bc.tar.xz | 3 -- systemd-v246.11+suse.102.g9753d1c175.tar.xz | 3 ++ systemd.changes | 42 +++++++++++++++ systemd.spec | 23 +++++--- 7 files changed, 135 insertions(+), 54 deletions(-) delete mode 100644 systemd-v246.10+suse.83.g134cf1c8bc.tar.xz create mode 100644 systemd-v246.11+suse.102.g9753d1c175.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 0d20bde5..c05f4769 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 3709cf5ba88e1cb9c737e524168b83a0964ef5db Mon Sep 17 00:00:00 2001 +From 569f94a86a608fa7a47fef583f3f504ec8223967 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 57 ++++++++++++-- - src/test/test-conf-parser.c | 149 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 198 insertions(+), 8 deletions(-) + src/shared/conf-parser.c | 47 ++++++++++- + src/test/test-conf-parser.c | 151 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 194 insertions(+), 4 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 0fec79f3d7..daf55d2358 100644 +index 7499b3b882..799026626c 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -423,6 +423,7 @@ int config_parse(const char *unit, +@@ -426,6 +426,7 @@ int config_parse(const char *unit, static int config_parse_many_files( const char *conf_file, @@ -77,39 +77,20 @@ index 0fec79f3d7..daf55d2358 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -431,19 +432,27 @@ static int config_parse_many_files( - void *userdata, - usec_t *ret_mtime) { - -- usec_t mtime = 0; -+ usec_t t, mtime = 0; +@@ -438,6 +439,12 @@ static int config_parse_many_files( char **fn; int r; + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); + if (r < 0) + return r; -+ if (t > mtime) /* Find the newest */ -+ mtime = t; + } + if (conf_file) { -- r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); -+ r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &t); + r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); if (r < 0) - return r; -+ if (t > mtime) /* Find the newest */ -+ mtime = t; - } - - STRV_FOREACH(fn, files) { -- usec_t t; -- - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &t); - if (r < 0) - return r; -@@ -457,6 +466,28 @@ static int config_parse_many_files( +@@ -456,6 +463,28 @@ static int config_parse_many_files( return 0; } @@ -138,7 +119,7 @@ index 0fec79f3d7..daf55d2358 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -468,14 +499,19 @@ int config_parse_many_nulstr( +@@ -467,14 +496,19 @@ int config_parse_many_nulstr( void *userdata, usec_t *ret_mtime) { @@ -160,7 +141,7 @@ index 0fec79f3d7..daf55d2358 100644 } /* Parse each config file in the directories specified as strv. */ -@@ -490,8 +526,8 @@ int config_parse_many( +@@ -489,8 +523,8 @@ int config_parse_many( void *userdata, usec_t *ret_mtime) { @@ -170,7 +151,7 @@ index 0fec79f3d7..daf55d2358 100644 const char *suffix; int r; -@@ -504,7 +540,12 @@ int config_parse_many( +@@ -503,7 +537,12 @@ int config_parse_many( if (r < 0) return r; @@ -185,7 +166,7 @@ index 0fec79f3d7..daf55d2358 100644 #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 07edc17f92..bb82923319 100644 +index 07edc17f92..2df4b073c5 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -198,7 +179,7 @@ index 07edc17f92..bb82923319 100644 #include "string-util.h" #include "strv.h" #include "tmpfile-util.h" -@@ -385,6 +388,149 @@ static void test_config_parse(unsigned i, const char *s) { +@@ -385,6 +388,151 @@ static void test_config_parse(unsigned i, const char *s) { } } @@ -299,6 +280,8 @@ index 07edc17f92..bb82923319 100644 +} + +static void test_config_parse_many(bool nulstr) { ++ log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); ++ + test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); + + test_config_parse_many_one(nulstr, @@ -348,7 +331,7 @@ index 07edc17f92..bb82923319 100644 int main(int argc, char **argv) { unsigned i; -@@ -407,5 +553,8 @@ int main(int argc, char **argv) { +@@ -407,5 +555,8 @@ int main(int argc, char **argv) { for (i = 0; i < ELEMENTSOF(config_file); i++) test_config_parse(i, config_file[i]); diff --git a/systemd-mini.changes b/systemd-mini.changes index d9c20bad..d0523373 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Mon Mar 15 15:56:45 UTC 2021 - Franck Bui + +- Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 + +- Rebase 0001-conf-parser-introduce-early-drop-ins.patch + +------------------------------------------------------------------- +Mon Mar 15 11:06:54 UTC 2021 - Franck Bui + +- Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 + + 846d61e0a1 boot: Move console declarations to missing_efi.h + 171a37228b boot: Add startswith() and endswith() functions with no_case variants + 0fad9f309a boot: Drop unnecessary braces + c38bbb0874 boot: Fix void pointer arithmetic warning + 438210924b boot: Replace raw efivar gets with typed variants + e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions + e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() + 2808d0e9a3 boot: Tighten scope of variables used in loops + d3f3d57743 boot: Add efivar_get_boolean_u8() + 0551ecce71 boot: Make all efivar util functions take the guid as an argument + 8376ba3b9f boot: Turn all guid constants into C99 compound initializers + 166fc2dad2 boot: Enable C99 + c87d66e261 boot: Move Secure Boot logic to new file + da7bba9438 udev: fix memleak + e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) + 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) + +------------------------------------------------------------------- +Thu Mar 11 09:51:53 UTC 2021 - Franck Bui + +- Make sure the udev socket units are reloaded during udev package updates + +------------------------------------------------------------------- +Wed Mar 10 09:10:03 UTC 2021 - Franck Bui + +- fix-machines-btrfs-subvol.sh is only shipped when machined is built + ------------------------------------------------------------------- Mon Feb 22 20:20:43 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 3ced7752..fd4a0914 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.83.g134cf1c8bc +%define suse_version +suse.102.g9753d1c175 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.10 +Version: 246.11 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -903,12 +903,17 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -# Restarting udevd sockets means also stopping the daemon. But we -# don't want the sockets and the daemon to be inactive at the same -# time because we might loose new events sent by the kernel during the -# package update otherwise. Hence we accept the fact that the socket -# properties might not be updated. They are unlikely changed anyway. -%systemd_postun_with_restart systemd-udevd.service +systemctl daemon-reload || : +# On package update, restarting the socket units will probably fail as +# udevd is most likely running. Therefore systemctl will refuse to +# start them again once stopped. It's not an issue since we are mostly +# interested to make PID1 use the updated unit files once the socket +# units wil be started again. And that will happen when systemd-udevd +# itself will be restarted. +if [ $1 -ge 1 ]; then + systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : + systemctl try-restart systemd-udevd.service || : +fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -921,6 +926,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %post container %tmpfiles_create systemd-nspawn.conf +%if %{with machined} if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed @@ -939,6 +945,7 @@ if [ $1 -gt 1 ]; then # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%endif %if ! 0%{?bootstrap} %post logger diff --git a/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz b/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz deleted file mode 100644 index 8346453f..00000000 --- a/systemd-v246.10+suse.83.g134cf1c8bc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c1fd0a518b62d8f9db6eed77a4ba465e23663e9ac6cc9278b44bca596fd23d6 -size 6572124 diff --git a/systemd-v246.11+suse.102.g9753d1c175.tar.xz b/systemd-v246.11+suse.102.g9753d1c175.tar.xz new file mode 100644 index 00000000..0183619d --- /dev/null +++ b/systemd-v246.11+suse.102.g9753d1c175.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4ec3e2511b4af7635c5189276f5d5ad3694159fab01603103f7ff12162d52fb +size 6573652 diff --git a/systemd.changes b/systemd.changes index d9c20bad..d0523373 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Mon Mar 15 15:56:45 UTC 2021 - Franck Bui + +- Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 + +- Rebase 0001-conf-parser-introduce-early-drop-ins.patch + +------------------------------------------------------------------- +Mon Mar 15 11:06:54 UTC 2021 - Franck Bui + +- Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 + + 846d61e0a1 boot: Move console declarations to missing_efi.h + 171a37228b boot: Add startswith() and endswith() functions with no_case variants + 0fad9f309a boot: Drop unnecessary braces + c38bbb0874 boot: Fix void pointer arithmetic warning + 438210924b boot: Replace raw efivar gets with typed variants + e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions + e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() + 2808d0e9a3 boot: Tighten scope of variables used in loops + d3f3d57743 boot: Add efivar_get_boolean_u8() + 0551ecce71 boot: Make all efivar util functions take the guid as an argument + 8376ba3b9f boot: Turn all guid constants into C99 compound initializers + 166fc2dad2 boot: Enable C99 + c87d66e261 boot: Move Secure Boot logic to new file + da7bba9438 udev: fix memleak + e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) + 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) + +------------------------------------------------------------------- +Thu Mar 11 09:51:53 UTC 2021 - Franck Bui + +- Make sure the udev socket units are reloaded during udev package updates + +------------------------------------------------------------------- +Wed Mar 10 09:10:03 UTC 2021 - Franck Bui + +- fix-machines-btrfs-subvol.sh is only shipped when machined is built + ------------------------------------------------------------------- Mon Feb 22 20:20:43 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 44651538..dda477e4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.83.g134cf1c8bc +%define suse_version +suse.102.g9753d1c175 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.10 +Version: 246.11 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -901,12 +901,17 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -# Restarting udevd sockets means also stopping the daemon. But we -# don't want the sockets and the daemon to be inactive at the same -# time because we might loose new events sent by the kernel during the -# package update otherwise. Hence we accept the fact that the socket -# properties might not be updated. They are unlikely changed anyway. -%systemd_postun_with_restart systemd-udevd.service +systemctl daemon-reload || : +# On package update, restarting the socket units will probably fail as +# udevd is most likely running. Therefore systemctl will refuse to +# start them again once stopped. It's not an issue since we are mostly +# interested to make PID1 use the updated unit files once the socket +# units wil be started again. And that will happen when systemd-udevd +# itself will be restarted. +if [ $1 -ge 1 ]; then + systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : + systemctl try-restart systemd-udevd.service || : +fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -919,6 +924,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %post container %tmpfiles_create systemd-nspawn.conf +%if %{with machined} if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed @@ -937,6 +943,7 @@ if [ $1 -gt 1 ]; then # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%endif %if ! 0%{?bootstrap} %post logger From 10efece41cadf12905ba84637f780993dfd78a7d9729fbd0581eed3530562009 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 23 Mar 2021 17:55:26 +0000 Subject: [PATCH 541/991] Accepting request 880601 from home:Pharaoh_Atem:branches:Base:System - Default to the "unified" cgroup hierarchy. At this point, most users of cgroup (such as docker, libvirt, kubernetes) should be ready for this change. It's still possible to switch back to the old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to the kernel command line. OBS-URL: https://build.opensuse.org/request/show/880601 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1143 --- systemd-mini.changes | 9 +++++++++ systemd.changes | 9 +++++++++ systemd.spec | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index d0523373..1751888e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa + +- Default to the "unified" cgroup hierarchy. At this point, most + users of cgroup (such as docker, libvirt, kubernetes) should be + ready for this change. It's still possible to switch back to the + old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" + option to the kernel command line. + ------------------------------------------------------------------- Mon Mar 15 15:56:45 UTC 2021 - Franck Bui diff --git a/systemd.changes b/systemd.changes index d0523373..1751888e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa + +- Default to the "unified" cgroup hierarchy. At this point, most + users of cgroup (such as docker, libvirt, kubernetes) should be + ready for this change. It's still possible to switch back to the + old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" + option to the kernel command line. + ------------------------------------------------------------------- Mon Mar 15 15:56:45 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dda477e4..d20fdc64 100644 --- a/systemd.spec +++ b/systemd.spec @@ -512,7 +512,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dpamlibdir=%{_pamdir} \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ From 19b66c67b1ad12d2f945022e0931649e9303eb4dd1aab344a255852a900d0b6b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 24 Mar 2021 07:19:48 +0000 Subject: [PATCH 542/991] - Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch Temporary workaround for bsc#1183745 (upstream issue 18917) until an actual fix is found. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1144 --- ...gracefully-handle-with-packets-with-.patch | 51 +++++++++++++++++++ systemd-mini.changes | 8 +++ systemd-mini.spec | 3 +- systemd.changes | 8 +++ systemd.spec | 1 + 5 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch diff --git a/0001-Revert-resolved-gracefully-handle-with-packets-with-.patch b/0001-Revert-resolved-gracefully-handle-with-packets-with-.patch new file mode 100644 index 00000000..daf75746 --- /dev/null +++ b/0001-Revert-resolved-gracefully-handle-with-packets-with-.patch @@ -0,0 +1,51 @@ +From baf6a410b5bee7d45c26e9475796f1e9db201d77 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 23 Mar 2021 09:09:01 +0100 +Subject: [PATCH 1/1] Revert "resolved: gracefully handle with packets with too + large RR count" + +This reverts commit c8b7432cba73a4215538726cd98da23a8de9b426. + +[fbui: temporary workaround for bsc#1183745] +--- + src/resolve/resolved-dns-packet.c | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c +index e97d9c6a12..90a40244b1 100644 +--- a/src/resolve/resolved-dns-packet.c ++++ b/src/resolve/resolved-dns-packet.c +@@ -2210,18 +2210,6 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) { + if (r < 0) + return r; + +- if (p->rindex == p->size) { +- /* If we reached the end of the packet already, but there are still more RRs +- * declared, then that's a corrupt packet. Let's accept the packet anyway, since it's +- * apparently a common bug in routers. Let's however suppress OPT support in this +- * case, so that we force the rest of the logic into lowest DNS baseline support. Or +- * to say this differently: if the DNS server doesn't even get the RR counts right, +- * it's highly unlikely it gets EDNS right. */ +- log_debug("More resource records declared in packet than included, suppressing OPT."); +- bad_opt = true; +- break; +- } +- + /* Try to reduce memory usage a bit */ + if (previous) + dns_resource_key_reduce(&rr->key, &previous->key); +@@ -2307,10 +2295,8 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) { + previous = dns_resource_record_ref(rr); + } + +- if (bad_opt) { ++ if (bad_opt) + p->opt = dns_resource_record_unref(p->opt); +- p->opt_start = p->opt_size = SIZE_MAX; +- } + + *ret_answer = TAKE_PTR(answer); + +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 1751888e..c486ee45 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Mar 24 07:05:22 UTC 2021 - Franck Bui + +- Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + + Temporary workaround for bsc#1183745 (upstream issue 18917) until an + actual fix is found. + ------------------------------------------------------------------- Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa diff --git a/systemd-mini.spec b/systemd-mini.spec index fd4a0914..b0ef3ca2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -186,6 +186,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -514,7 +515,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dpamlibdir=%{_pamdir} \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ diff --git a/systemd.changes b/systemd.changes index 1751888e..c486ee45 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Mar 24 07:05:22 UTC 2021 - Franck Bui + +- Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + + Temporary workaround for bsc#1183745 (upstream issue 18917) until an + actual fix is found. + ------------------------------------------------------------------- Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa diff --git a/systemd.spec b/systemd.spec index d20fdc64..e1fd30d1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -184,6 +184,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From d1a386f15ec00a544ec7a5f8e6a51c9ee4771707da31e934e5c0b84e3cc5cc04 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 30 Mar 2021 14:09:02 +0000 Subject: [PATCH 543/991] - Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f - Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch as it's part of v246.13. - Make use of the new build option to ship xinitrc in /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1145 --- ...gracefully-handle-with-packets-with-.patch | 51 ------------------- systemd-mini.changes | 18 +++++++ systemd-mini.spec | 13 ++--- systemd-v246.11+suse.102.g9753d1c175.tar.xz | 3 -- systemd-v246.13+suse.105.g14581e0120.tar.xz | 3 ++ systemd.changes | 18 +++++++ systemd.spec | 13 ++--- 7 files changed, 53 insertions(+), 66 deletions(-) delete mode 100644 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch delete mode 100644 systemd-v246.11+suse.102.g9753d1c175.tar.xz create mode 100644 systemd-v246.13+suse.105.g14581e0120.tar.xz diff --git a/0001-Revert-resolved-gracefully-handle-with-packets-with-.patch b/0001-Revert-resolved-gracefully-handle-with-packets-with-.patch deleted file mode 100644 index daf75746..00000000 --- a/0001-Revert-resolved-gracefully-handle-with-packets-with-.patch +++ /dev/null @@ -1,51 +0,0 @@ -From baf6a410b5bee7d45c26e9475796f1e9db201d77 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 23 Mar 2021 09:09:01 +0100 -Subject: [PATCH 1/1] Revert "resolved: gracefully handle with packets with too - large RR count" - -This reverts commit c8b7432cba73a4215538726cd98da23a8de9b426. - -[fbui: temporary workaround for bsc#1183745] ---- - src/resolve/resolved-dns-packet.c | 16 +--------------- - 1 file changed, 1 insertion(+), 15 deletions(-) - -diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c -index e97d9c6a12..90a40244b1 100644 ---- a/src/resolve/resolved-dns-packet.c -+++ b/src/resolve/resolved-dns-packet.c -@@ -2210,18 +2210,6 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) { - if (r < 0) - return r; - -- if (p->rindex == p->size) { -- /* If we reached the end of the packet already, but there are still more RRs -- * declared, then that's a corrupt packet. Let's accept the packet anyway, since it's -- * apparently a common bug in routers. Let's however suppress OPT support in this -- * case, so that we force the rest of the logic into lowest DNS baseline support. Or -- * to say this differently: if the DNS server doesn't even get the RR counts right, -- * it's highly unlikely it gets EDNS right. */ -- log_debug("More resource records declared in packet than included, suppressing OPT."); -- bad_opt = true; -- break; -- } -- - /* Try to reduce memory usage a bit */ - if (previous) - dns_resource_key_reduce(&rr->key, &previous->key); -@@ -2307,10 +2295,8 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) { - previous = dns_resource_record_ref(rr); - } - -- if (bad_opt) { -+ if (bad_opt) - p->opt = dns_resource_record_unref(p->opt); -- p->opt_start = p->opt_size = SIZE_MAX; -- } - - *ret_answer = TAKE_PTR(answer); - --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index c486ee45..f2e3c48f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Tue Mar 30 13:35:38 UTC 2021 - Franck Bui + +- Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) + + 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) + 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f + +- Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + as it's part of v246.13. + +- Make use of the new build option to ship xinitrc in + /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) + ------------------------------------------------------------------- Wed Mar 24 07:05:22 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index b0ef3ca2..d2b08382 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.102.g9753d1c175 +%define suse_version +suse.105.g14581e0120 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.11 +Version: 246.13 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -186,7 +186,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -513,6 +512,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ -Dpamlibdir=%{_pamdir} \ + -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=unified \ @@ -1206,8 +1206,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%dir %{_sysconfdir}/X11/xinit -%dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/network @@ -1215,7 +1213,10 @@ fi %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user -%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%dir %{_distconfdir}/X11/xinit +%dir %{_distconfdir}/X11/xinit/xinitrc.d +%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user diff --git a/systemd-v246.11+suse.102.g9753d1c175.tar.xz b/systemd-v246.11+suse.102.g9753d1c175.tar.xz deleted file mode 100644 index 0183619d..00000000 --- a/systemd-v246.11+suse.102.g9753d1c175.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4ec3e2511b4af7635c5189276f5d5ad3694159fab01603103f7ff12162d52fb -size 6573652 diff --git a/systemd-v246.13+suse.105.g14581e0120.tar.xz b/systemd-v246.13+suse.105.g14581e0120.tar.xz new file mode 100644 index 00000000..67e2c666 --- /dev/null +++ b/systemd-v246.13+suse.105.g14581e0120.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6316b2146335f43df36f200bdad2482858a6f83a56c50f7b1221b6a24e552eb8 +size 6574688 diff --git a/systemd.changes b/systemd.changes index c486ee45..f2e3c48f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Tue Mar 30 13:35:38 UTC 2021 - Franck Bui + +- Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) + + 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) + 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f + +- Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + as it's part of v246.13. + +- Make use of the new build option to ship xinitrc in + /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) + ------------------------------------------------------------------- Wed Mar 24 07:05:22 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e1fd30d1..962abb8e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.102.g9753d1c175 +%define suse_version +suse.105.g14581e0120 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.11 +Version: 246.13 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -184,7 +184,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -511,6 +510,7 @@ systemd-journal-remote, and systemd-journal-upload. -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ -Dpamlibdir=%{_pamdir} \ + -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=unified \ @@ -1204,8 +1204,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%dir %{_sysconfdir}/X11/xinit -%dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/network @@ -1213,7 +1211,10 @@ fi %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user -%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%dir %{_distconfdir}/X11/xinit +%dir %{_distconfdir}/X11/xinit/xinitrc.d +%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user From 307b30a33dddceda323e1ac8c46a8f09f77ba48bb9fb6d46d1335a326cd6431a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 7 Apr 2021 09:40:22 +0000 Subject: [PATCH 544/991] - systemd.spec: clean some of the build deps up: - libpcre is redundant with libpcre2 (only required by the full build) and the mini variant needs none of them. Hence drop the ref to libpcre. - normally libidn2 is needed by some optional features in systemd-network (only). But it's implicitly pulled in by libgnutls (required by the main package). Let's make sure the related features won't be disabled inadvertently in the future by making the dep explicit. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1146 --- systemd-mini.changes | 15 +++++++++++++++ systemd-mini.spec | 2 +- systemd.changes | 15 +++++++++++++++ systemd.spec | 2 +- 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index f2e3c48f..97fa4101 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Apr 7 08:59:15 UTC 2021 - Franck Bui + +- systemd.spec: clean some of the build deps up: + + - libpcre is redundant with libpcre2 (only required by the full + build) and the mini variant needs none of them. Hence drop the ref + to libpcre. + + - normally libidn2 is needed by some optional features in + systemd-network (only). But it's implicitly pulled in by libgnutls + (required by the main package). Let's make sure the related + features won't be disabled inadvertently in the future by making + the dep explicit. + ------------------------------------------------------------------- Tue Mar 30 13:35:38 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d2b08382..eeeba9ef 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -99,7 +99,6 @@ BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(libpcre) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -367,6 +366,7 @@ Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires diff --git a/systemd.changes b/systemd.changes index f2e3c48f..97fa4101 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Apr 7 08:59:15 UTC 2021 - Franck Bui + +- systemd.spec: clean some of the build deps up: + + - libpcre is redundant with libpcre2 (only required by the full + build) and the mini variant needs none of them. Hence drop the ref + to libpcre. + + - normally libidn2 is needed by some optional features in + systemd-network (only). But it's implicitly pulled in by libgnutls + (required by the main package). Let's make sure the related + features won't be disabled inadvertently in the future by making + the dep explicit. + ------------------------------------------------------------------- Tue Mar 30 13:35:38 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 962abb8e..50f7c2b9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -97,7 +97,6 @@ BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(libpcre) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -365,6 +364,7 @@ Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires From 48bab5088bd989d6c47609df1c6d44cd3b3784af5a63ebcff688d97444cee9d5 Mon Sep 17 00:00:00 2001 From: Richard Brown Date: Thu, 8 Apr 2021 20:12:54 +0000 Subject: [PATCH 545/991] Accepting request 882182 from Base:System - Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f - Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch as it's part of v246.13. - Make use of the new build option to ship xinitrc in /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) - Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch Temporary workaround for bsc#1183745 (upstream issue 18917) until an actual fix is found. - Default to the "unified" cgroup hierarchy. At this point, most users of cgroup (such as docker, libvirt, kubernetes) should be ready for this change. It's still possible to switch back to the old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to the kernel command line. OBS-URL: https://build.opensuse.org/request/show/882182 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=328 --- systemd-mini.changes | 35 +++++++++++++++++++++ systemd-mini.spec | 14 +++++---- systemd-v246.11+suse.102.g9753d1c175.tar.xz | 3 -- systemd-v246.13+suse.105.g14581e0120.tar.xz | 3 ++ systemd.changes | 35 +++++++++++++++++++++ systemd.spec | 14 +++++---- 6 files changed, 89 insertions(+), 15 deletions(-) delete mode 100644 systemd-v246.11+suse.102.g9753d1c175.tar.xz create mode 100644 systemd-v246.13+suse.105.g14581e0120.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index d0523373..f2e3c48f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Tue Mar 30 13:35:38 UTC 2021 - Franck Bui + +- Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) + + 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) + 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f + +- Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + as it's part of v246.13. + +- Make use of the new build option to ship xinitrc in + /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) + +------------------------------------------------------------------- +Wed Mar 24 07:05:22 UTC 2021 - Franck Bui + +- Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + + Temporary workaround for bsc#1183745 (upstream issue 18917) until an + actual fix is found. + +------------------------------------------------------------------- +Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa + +- Default to the "unified" cgroup hierarchy. At this point, most + users of cgroup (such as docker, libvirt, kubernetes) should be + ready for this change. It's still possible to switch back to the + old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" + option to the kernel command line. + ------------------------------------------------------------------- Mon Mar 15 15:56:45 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index fd4a0914..d2b08382 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.102.g9753d1c175 +%define suse_version +suse.105.g14581e0120 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.11 +Version: 246.13 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -512,9 +512,10 @@ systemd-journal-remote, and systemd-journal-upload. -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ -Dpamlibdir=%{_pamdir} \ + -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ @@ -1205,8 +1206,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%dir %{_sysconfdir}/X11/xinit -%dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/network @@ -1214,7 +1213,10 @@ fi %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user -%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%dir %{_distconfdir}/X11/xinit +%dir %{_distconfdir}/X11/xinit/xinitrc.d +%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user diff --git a/systemd-v246.11+suse.102.g9753d1c175.tar.xz b/systemd-v246.11+suse.102.g9753d1c175.tar.xz deleted file mode 100644 index 0183619d..00000000 --- a/systemd-v246.11+suse.102.g9753d1c175.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4ec3e2511b4af7635c5189276f5d5ad3694159fab01603103f7ff12162d52fb -size 6573652 diff --git a/systemd-v246.13+suse.105.g14581e0120.tar.xz b/systemd-v246.13+suse.105.g14581e0120.tar.xz new file mode 100644 index 00000000..67e2c666 --- /dev/null +++ b/systemd-v246.13+suse.105.g14581e0120.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6316b2146335f43df36f200bdad2482858a6f83a56c50f7b1221b6a24e552eb8 +size 6574688 diff --git a/systemd.changes b/systemd.changes index d0523373..f2e3c48f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Tue Mar 30 13:35:38 UTC 2021 - Franck Bui + +- Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) + + 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) + 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f + +- Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + as it's part of v246.13. + +- Make use of the new build option to ship xinitrc in + /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) + +------------------------------------------------------------------- +Wed Mar 24 07:05:22 UTC 2021 - Franck Bui + +- Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch + + Temporary workaround for bsc#1183745 (upstream issue 18917) until an + actual fix is found. + +------------------------------------------------------------------- +Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa + +- Default to the "unified" cgroup hierarchy. At this point, most + users of cgroup (such as docker, libvirt, kubernetes) should be + ready for this change. It's still possible to switch back to the + old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" + option to the kernel command line. + ------------------------------------------------------------------- Mon Mar 15 15:56:45 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dda477e4..962abb8e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.102.g9753d1c175 +%define suse_version +suse.105.g14581e0120 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.11 +Version: 246.13 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -510,9 +510,10 @@ systemd-journal-remote, and systemd-journal-upload. -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ -Dpamlibdir=%{_pamdir} \ + -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=hybrid \ + -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ -Dbump-proc-sys-fs-nr-open=false \ @@ -1203,8 +1204,6 @@ fi %dir %{_sysconfdir}/sysctl.d %{_sysctldir}/99-sysctl.conf -%dir %{_sysconfdir}/X11/xinit -%dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/network @@ -1212,7 +1211,10 @@ fi %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd %{_sysconfdir}/xdg/systemd/user -%{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh + +%dir %{_distconfdir}/X11/xinit +%dir %{_distconfdir}/X11/xinit/xinitrc.d +%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh %config(noreplace) %{_sysconfdir}/pam.d/systemd-user From 39cd2b22e1c210125a5a10b014333b3e5b314a2361cc88a67df8fa1473ede6bf Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 12 Apr 2021 09:54:19 +0000 Subject: [PATCH 546/991] Accepting request 880903 from home:lnussel:legacyfree - enable libiptc for masquerading support in networkd - enable pstore, repart, userdb and homed OBS-URL: https://build.opensuse.org/request/show/880903 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1147 --- systemd-mini.changes | 11 +++++ systemd-mini.spec | 115 ++++++++++++++++++++++++++++++++++++++++++- systemd.changes | 11 +++++ systemd.spec | 115 ++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 248 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 97fa4101..e63fc72b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -39,6 +39,11 @@ Wed Mar 24 07:05:22 UTC 2021 - Franck Bui Temporary workaround for bsc#1183745 (upstream issue 18917) until an actual fix is found. +------------------------------------------------------------------- +Tue Mar 23 14:11:03 UTC 2021 - Ludwig Nussel + +- enable libiptc for masquerading support in networkd + ------------------------------------------------------------------- Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa @@ -80,6 +85,12 @@ Mon Mar 15 11:06:54 UTC 2021 - Franck Bui e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) +------------------------------------------------------------------- +Thu Mar 11 16:58:44 UTC 2021 - Ludwig Nussel + +- create subpackage systemd-experimental to host pstore, repart, + userdb and homed + ------------------------------------------------------------------- Thu Mar 11 09:51:53 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index eeeba9ef..502c0ac6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -38,6 +38,7 @@ %bcond_with portabled %bcond_with resolved %bcond_with sysvcompat +%bcond_with experimental %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -50,6 +51,7 @@ %bcond_without portabled %bcond_without resolved %bcond_without sysvcompat +%bcond_without experimental %endif %bcond_with parentpathid @@ -111,6 +113,10 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif +%if %{with experimental} +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -493,6 +499,19 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%package experimental +Summary: Experimental systemd features +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description experimental +This package contains optional extra systemd services that are +considered a preview feature. Components that turn out to be +stable may be merged into the main package later. Use at your own +risk. + %if ! 0%{?bootstrap} %lang_package %endif @@ -526,14 +545,22 @@ systemd-journal-remote, and systemd-journal-upload. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ +%if %{with experimental} + -Dpstore=true \ + -Drepart=true \ + -Dhomed=true \ + -Duserdb=true \ +%else -Dpstore=false \ -Drepart=false \ - -Duserdb=false \ -Dhomed=false \ + -Duserdb=false \ +%endif +%if 0%{?bootstrap} -Dfdisk=false \ -Dpwquality=false \ -Dp11kit=false \ -%if ! 0%{?bootstrap} +%else -Dman=true \ -Dhtml=true \ %endif @@ -1049,6 +1076,29 @@ fi %service_del_postun systemd-portabled.service %endif +%if %{with experimental} +%pre experimental +%service_add_pre systemd-pstore.service +%service_add_pre systemd-userdbd.service systemd-userdbd.socket +%service_add_pre systemd-homed.service + +%post experimental +%tmpfiles_create systemd-pstore.conf +%service_add_post systemd-pstore.service +%service_add_post systemd-userdbd.service systemd-userdbd.socket +%service_add_post systemd-homed.service + +%preun experimental +%service_del_preun systemd-pstore.service +%service_del_preun systemd-userdbd.service systemd-userdbd.socket +%service_del_preun systemd-homed.service + +%postun experimental +%service_del_postun systemd-pstore.service +%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%service_del_postun systemd-homed.service +%endif + %clean %files @@ -1146,6 +1196,22 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.portable1.service %exclude %{_tmpfilesdir}/portables.conf %endif +%if %{with experimental} +%exclude %{_prefix}/lib/systemd/systemd-pstore +%exclude %{_unitdir}/systemd-pstore.service +%exclude %{_tmpfilesdir}/systemd-pstore.conf +%exclude %{_unitdir}/systemd-repart.service +%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service +%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service +%exclude %{_prefix}/lib/systemd/systemd-userwork +%exclude %{_prefix}/lib/systemd/systemd-userdbd +%exclude %{_unitdir}/systemd-userdbd.service +%exclude %{_unitdir}/systemd-userdbd.socket +%exclude %{_prefix}/lib/systemd/systemd-homed +%exclude %{_prefix}/lib/systemd/systemd-homework +%exclude %{_unitdir}/systemd-homed-activate.service +%exclude %{_unitdir}/systemd-homed.service +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1308,6 +1374,17 @@ fi %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%exclude %{_mandir}/man*/*pstore* +%exclude %{_mandir}/man*/*repart* +%exclude %{_mandir}/man*/userdbctl* +%exclude %{_mandir}/man*/systemd-userdbd* +%exclude %{_mandir}/man*/*homectl* +%exclude %{_mandir}/man*/*homed* +%exclude %{_mandir}/man*/org.freedesktop.home1* +%exclude %{_mandir}/man*/pam_systemd_home* +%exclude %{_datadir}/bash-completion/completions/homectl +%endif %endif %{_docdir}/systemd @@ -1614,4 +1691,38 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%files experimental +%defattr(-,root,root) +%config(noreplace) /etc/systemd/pstore.conf +%{_prefix}/lib/systemd/systemd-pstore +%{_unitdir}/systemd-pstore.service +%{_tmpfilesdir}/systemd-pstore.conf +%{_mandir}/man*/*pstore* +%{_bindir}/systemd-repart +%{_unitdir}/systemd-repart.service +%{_mandir}/man*/*repart* +/usr/bin/userdbctl +%{_prefix}/lib/systemd/systemd-userwork +%{_prefix}/lib/systemd/systemd-userdbd +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket +%{_mandir}/man*/userdbctl* +%{_mandir}/man*/systemd-userdbd* +%config %{_sysconfdir}/homed.conf +%{_bindir}/homectl +%{_prefix}/lib/systemd/systemd-homed +%{_prefix}/lib/systemd/systemd-homework +%{_unitdir}/systemd-homed.service +%{_pamdir}/pam_systemd_home.so +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_datadir}/bash-completion/completions/homectl +%{_mandir}/man*/*homectl* +%{_mandir}/man*/*homed* +%{_mandir}/man*/org.freedesktop.home1* +%{_mandir}/man*/pam_systemd_home* +%endif + %changelog diff --git a/systemd.changes b/systemd.changes index 97fa4101..e63fc72b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -39,6 +39,11 @@ Wed Mar 24 07:05:22 UTC 2021 - Franck Bui Temporary workaround for bsc#1183745 (upstream issue 18917) until an actual fix is found. +------------------------------------------------------------------- +Tue Mar 23 14:11:03 UTC 2021 - Ludwig Nussel + +- enable libiptc for masquerading support in networkd + ------------------------------------------------------------------- Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa @@ -80,6 +85,12 @@ Mon Mar 15 11:06:54 UTC 2021 - Franck Bui e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) +------------------------------------------------------------------- +Thu Mar 11 16:58:44 UTC 2021 - Ludwig Nussel + +- create subpackage systemd-experimental to host pstore, repart, + userdb and homed + ------------------------------------------------------------------- Thu Mar 11 09:51:53 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 50f7c2b9..678d1ee3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -36,6 +36,7 @@ %bcond_with portabled %bcond_with resolved %bcond_with sysvcompat +%bcond_with experimental %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -48,6 +49,7 @@ %bcond_without portabled %bcond_without resolved %bcond_without sysvcompat +%bcond_without experimental %endif %bcond_with parentpathid @@ -109,6 +111,10 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif +%if %{with experimental} +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -491,6 +497,19 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%package experimental +Summary: Experimental systemd features +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description experimental +This package contains optional extra systemd services that are +considered a preview feature. Components that turn out to be +stable may be merged into the main package later. Use at your own +risk. + %if ! 0%{?bootstrap} %lang_package %endif @@ -524,14 +543,22 @@ systemd-journal-remote, and systemd-journal-upload. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ +%if %{with experimental} + -Dpstore=true \ + -Drepart=true \ + -Dhomed=true \ + -Duserdb=true \ +%else -Dpstore=false \ -Drepart=false \ - -Duserdb=false \ -Dhomed=false \ + -Duserdb=false \ +%endif +%if 0%{?bootstrap} -Dfdisk=false \ -Dpwquality=false \ -Dp11kit=false \ -%if ! 0%{?bootstrap} +%else -Dman=true \ -Dhtml=true \ %endif @@ -1047,6 +1074,29 @@ fi %service_del_postun systemd-portabled.service %endif +%if %{with experimental} +%pre experimental +%service_add_pre systemd-pstore.service +%service_add_pre systemd-userdbd.service systemd-userdbd.socket +%service_add_pre systemd-homed.service + +%post experimental +%tmpfiles_create systemd-pstore.conf +%service_add_post systemd-pstore.service +%service_add_post systemd-userdbd.service systemd-userdbd.socket +%service_add_post systemd-homed.service + +%preun experimental +%service_del_preun systemd-pstore.service +%service_del_preun systemd-userdbd.service systemd-userdbd.socket +%service_del_preun systemd-homed.service + +%postun experimental +%service_del_postun systemd-pstore.service +%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%service_del_postun systemd-homed.service +%endif + %clean %files @@ -1144,6 +1194,22 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.portable1.service %exclude %{_tmpfilesdir}/portables.conf %endif +%if %{with experimental} +%exclude %{_prefix}/lib/systemd/systemd-pstore +%exclude %{_unitdir}/systemd-pstore.service +%exclude %{_tmpfilesdir}/systemd-pstore.conf +%exclude %{_unitdir}/systemd-repart.service +%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service +%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service +%exclude %{_prefix}/lib/systemd/systemd-userwork +%exclude %{_prefix}/lib/systemd/systemd-userdbd +%exclude %{_unitdir}/systemd-userdbd.service +%exclude %{_unitdir}/systemd-userdbd.socket +%exclude %{_prefix}/lib/systemd/systemd-homed +%exclude %{_prefix}/lib/systemd/systemd-homework +%exclude %{_unitdir}/systemd-homed-activate.service +%exclude %{_unitdir}/systemd-homed.service +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1306,6 +1372,17 @@ fi %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%exclude %{_mandir}/man*/*pstore* +%exclude %{_mandir}/man*/*repart* +%exclude %{_mandir}/man*/userdbctl* +%exclude %{_mandir}/man*/systemd-userdbd* +%exclude %{_mandir}/man*/*homectl* +%exclude %{_mandir}/man*/*homed* +%exclude %{_mandir}/man*/org.freedesktop.home1* +%exclude %{_mandir}/man*/pam_systemd_home* +%exclude %{_datadir}/bash-completion/completions/homectl +%endif %endif %{_docdir}/systemd @@ -1612,4 +1689,38 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%files experimental +%defattr(-,root,root) +%config(noreplace) /etc/systemd/pstore.conf +%{_prefix}/lib/systemd/systemd-pstore +%{_unitdir}/systemd-pstore.service +%{_tmpfilesdir}/systemd-pstore.conf +%{_mandir}/man*/*pstore* +%{_bindir}/systemd-repart +%{_unitdir}/systemd-repart.service +%{_mandir}/man*/*repart* +/usr/bin/userdbctl +%{_prefix}/lib/systemd/systemd-userwork +%{_prefix}/lib/systemd/systemd-userdbd +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket +%{_mandir}/man*/userdbctl* +%{_mandir}/man*/systemd-userdbd* +%config %{_sysconfdir}/homed.conf +%{_bindir}/homectl +%{_prefix}/lib/systemd/systemd-homed +%{_prefix}/lib/systemd/systemd-homework +%{_unitdir}/systemd-homed.service +%{_pamdir}/pam_systemd_home.so +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_datadir}/bash-completion/completions/homectl +%{_mandir}/man*/*homectl* +%{_mandir}/man*/*homed* +%{_mandir}/man*/org.freedesktop.home1* +%{_mandir}/man*/pam_systemd_home* +%endif + %changelog From 37c44ad59a352435c3072640a3cd2a448661fb75ad6d1623921ea82a100fd48a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 16 Apr 2021 09:29:11 +0000 Subject: [PATCH 547/991] Update description of experimental package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1148 --- systemd-mini.spec | 11 ++++++++--- systemd.spec | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/systemd-mini.spec b/systemd-mini.spec index 502c0ac6..5ed9d5d2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -508,9 +508,14 @@ Requires: %{name} = %{version}-%{release} %description experimental This package contains optional extra systemd services that are -considered a preview feature. Components that turn out to be -stable may be merged into the main package later. Use at your own -risk. +considered a preview feature. Behaviour details and option names are +subject to change without the usual backwards-compatibility promises. + +Components that turn out to be stable may be merged into the main or a +dedicated package later. + +Use at your own risk. + %if ! 0%{?bootstrap} %lang_package diff --git a/systemd.spec b/systemd.spec index 678d1ee3..d31ca44b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -506,9 +506,14 @@ Requires: %{name} = %{version}-%{release} %description experimental This package contains optional extra systemd services that are -considered a preview feature. Components that turn out to be -stable may be merged into the main package later. Use at your own -risk. +considered a preview feature. Behaviour details and option names are +subject to change without the usual backwards-compatibility promises. + +Components that turn out to be stable may be merged into the main or a +dedicated package later. + +Use at your own risk. + %if ! 0%{?bootstrap} %lang_package From 8d20711aa0d84c5b9c5dbee59ec11daea66d90caafc640cf1d1fdbba31a9e316 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 28 Apr 2021 12:31:30 +0000 Subject: [PATCH 548/991] - Upgrade to v248 (commit e5f93c9d2e9e26dd0dff430c4c072a547357ae7d) See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of these libs are dynamically loaded with dlopen() (heck!) - oomd is left disablde for now - pam configuration file 'systemd-user' is now shipped in /usr/etc/pam.d - Rebased 0001-conf-parser-introduce-early-drop-ins.patch 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch as it is SLE specific. - Clean systemd-experimental up: - Enclose "%package/%descriptoin experimental" within a "%if %experimental/%endif" block condition - List the build requirements in the sub-package instead of listing them in the main package. - Enable support for fido2, pwquality and qrencode in the home stuff - Improve the package description OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1149 --- ...conf-parser-introduce-early-drop-ins.patch | 54 ++++---- ...-part-from-etc-hostname-when-setting.patch | 28 ++-- ...-exclude-statements-based-on-file-ow.patch | 124 ------------------ ...dd-back-support-for-SysV-scripts-for.patch | 18 +-- systemd-mini.changes | 37 ++++++ systemd-mini.spec | 88 +++++++++---- systemd-v246.13+suse.105.g14581e0120.tar.xz | 3 - systemd-v248+suse.21.g5d3d934a5c.tar.xz | 3 + systemd.changes | 37 ++++++ systemd.spec | 88 +++++++++---- 10 files changed, 244 insertions(+), 236 deletions(-) delete mode 100644 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch delete mode 100644 systemd-v246.13+suse.105.g14581e0120.tar.xz create mode 100644 systemd-v248+suse.21.g5d3d934a5c.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index c05f4769..3331afdc 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 569f94a86a608fa7a47fef583f3f504ec8223967 Mon Sep 17 00:00:00 2001 +From 0eb84d049c77dceeb48724770f89f0fa01557c87 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins @@ -61,23 +61,23 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 47 ++++++++++- - src/test/test-conf-parser.c | 151 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 194 insertions(+), 4 deletions(-) + src/shared/conf-parser.c | 48 ++++++++++-- + src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 7499b3b882..799026626c 100644 +index 9dfa190751..b5dee9cbb1 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -426,6 +426,7 @@ int config_parse(const char *unit, +@@ -428,6 +428,7 @@ int config_parse( static int config_parse_many_files( - const char *conf_file, + const char* const* conf_files, + char **early_files, char **files, const char *sections, ConfigItemLookup lookup, -@@ -438,6 +439,12 @@ static int config_parse_many_files( +@@ -440,6 +441,12 @@ static int config_parse_many_files( char **fn; int r; @@ -87,10 +87,10 @@ index 7499b3b882..799026626c 100644 + return r; + } + - if (conf_file) { - r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); - if (r < 0) -@@ -456,6 +463,28 @@ static int config_parse_many_files( + /* First read the first found main config file. */ + STRV_FOREACH(fn, (char**) conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); +@@ -462,6 +469,28 @@ static int config_parse_many_files( return 0; } @@ -119,7 +119,7 @@ index 7499b3b882..799026626c 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -467,14 +496,19 @@ int config_parse_many_nulstr( +@@ -473,15 +502,19 @@ int config_parse_many_nulstr( void *userdata, usec_t *ret_mtime) { @@ -131,17 +131,18 @@ index 7499b3b882..799026626c 100644 if (r < 0) return r; -- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(STRV_MAKE_CONST(conf_file), +- files, sections, lookup, table, flags, userdata, + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + -+ return config_parse_many_files(conf_file, early_files, late_files, sections, -+ lookup, table, flags, userdata, ret_mtime); ++ return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, ++ sections, lookup, table, flags, userdata, + ret_mtime); } - /* Parse each config file in the directories specified as strv. */ -@@ -489,8 +523,8 @@ int config_parse_many( +@@ -497,8 +530,8 @@ int config_parse_many( void *userdata, usec_t *ret_mtime) { @@ -151,22 +152,22 @@ index 7499b3b882..799026626c 100644 const char *suffix; int r; -@@ -503,7 +537,12 @@ int config_parse_many( +@@ -511,7 +544,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + -+ return config_parse_many_files(conf_file, early_files, late_files, sections, -+ lookup, table, flags, userdata, ret_mtime); ++ return config_parse_many_files(conf_files, early_files, late_files, ++ sections, lookup, table, flags, userdata, ret_mtime); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 07edc17f92..2df4b073c5 100644 +index 5da864347e..77d9f28a79 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,7 +180,7 @@ index 07edc17f92..2df4b073c5 100644 #include "string-util.h" #include "strv.h" #include "tmpfile-util.h" -@@ -385,6 +388,151 @@ static void test_config_parse(unsigned i, const char *s) { +@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { } } @@ -263,7 +264,8 @@ index 07edc17f92..2df4b073c5 100644 + NULL, + NULL); + } else { -+ r = config_parse_many(conf_file, (const char * const*) conf_dirs, "", ++ r = config_parse_many(STRV_MAKE_CONST(conf_file), ++ (const char * const*) conf_dirs, "", + "Section\0", + config_item_table_lookup, items, + CONFIG_PARSE_WARN, @@ -331,7 +333,7 @@ index 07edc17f92..2df4b073c5 100644 int main(int argc, char **argv) { unsigned i; -@@ -407,5 +555,8 @@ int main(int argc, char **argv) { +@@ -407,5 +556,8 @@ int main(int argc, char **argv) { for (i = 0; i < ELEMENTSOF(config_file); i++) test_config_parse(i, config_file[i]); diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch index 5e9a1dfd..74e3790e 100644 --- a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +++ b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -1,7 +1,7 @@ -From f299a8180f1db0680b454c0e37696891361e3067 Mon Sep 17 00:00:00 2001 +From 54366ae306ae19bdb2a5af7eb5158260cdc37e8f Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting +Subject: [PATCH 1/1] strip the domain part from /etc/hostname when setting system host name [fbui: fixes bnc#820213] @@ -13,19 +13,17 @@ Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting possibility was to fix the installer to create a correct /etc/hostname file. Need to investigate...] --- - src/core/hostname-setup.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) + src/shared/hostname-setup.c | 7 +++++++ + 1 file changed, 7 insertions(+) -diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index 6d047db838..1acc0c998b 100644 ---- a/src/core/hostname-setup.c -+++ b/src/core/hostname-setup.c -@@ -39,8 +39,16 @@ int hostname_setup(void) { - enoent = true; +diff --git a/src/shared/hostname-setup.c b/src/shared/hostname-setup.c +index 511aa7d031..351d0e761d 100644 +--- a/src/shared/hostname-setup.c ++++ b/src/shared/hostname-setup.c +@@ -189,6 +189,13 @@ int hostname_setup(bool really) { else log_warning_errno(r, "Failed to read configured hostname: %m"); -- } else -+ } else { + } else { + char *domain; + + /* SUSE: strip the domain name */ @@ -34,10 +32,8 @@ index 6d047db838..1acc0c998b 100644 + *domain = '\0'; + hn = b; -+ } - } - - if (isempty(hn)) { + source = HOSTNAME_STATIC; + } -- 2.26.2 diff --git a/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch b/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch deleted file mode 100644 index 570f2c91..00000000 --- a/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch +++ /dev/null @@ -1,124 +0,0 @@ -From b46d43bf980afe13cfff39fc2876aed10f33db1d Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Thu, 14 Apr 2016 15:42:02 +0200 -Subject: [PATCH 04/12] tmpfiles: support exclude statements based on file - ownership - -SUSE supported tmpfile cleanups based on file ownership before systemd. -So this feature needs to be available in systemd. -This was part of fate#314974 - -[tblume: suse-only patch ported from SLES12-SP1 commit e769a63907ae4b] -[tblume: part of fate#314974] ---- - man/tmpfiles.d.xml | 4 +++- - src/tmpfiles/tmpfiles.c | 49 ++++++++++++++++++++++++++++++++--------- - 2 files changed, 42 insertions(+), 11 deletions(-) - -diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml -index b9e9eee96c..b90ae01345 100644 ---- a/man/tmpfiles.d.xml -+++ b/man/tmpfiles.d.xml -@@ -605,7 +605,9 @@ w- /proc/sys/vm/swappiness - - - - 10 - suffixed by a newline. For C, specifies the source file or directory. For t - and T, determines extended attributes to be set. For a and - A, determines ACL attributes to be set. For h and H, -- determines the file attributes to set. Ignored for all other lines. -+ determines the file attributes to set. For x and X a comma separated list -+ of usernames. If given, only paths belonging to these users will be excluded during directory cleanup. Ignored -+ for all other lines. - - This field can contain specifiers, see below. - -diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 2404e36bf2..349653c786 100644 ---- a/src/tmpfiles/tmpfiles.c -+++ b/src/tmpfiles/tmpfiles.c -@@ -14,6 +14,8 @@ - #include - #include - #include -+#include -+#include - - #include "sd-path.h" - -@@ -505,6 +507,7 @@ static int dir_cleanup( - struct stat s; - usec_t age; - _cleanup_free_ char *sub_path = NULL; -+ Item *found; - - if (dot_or_dot_dot(dent->d_name)) - continue; -@@ -546,15 +549,41 @@ static int dir_cleanup( - goto finish; - } - -- /* Is there an item configured for this path? */ -- if (ordered_hashmap_get(items, sub_path)) { -- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -- continue; -- } -+ /* evaluate username arguments in ignore statements */ -+ found = find_glob(globs, sub_path); - -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -- continue; -+ if (i->type == CREATE_DIRECTORY && found && found->argument) { -+ struct passwd *pw; -+ char *userfound = NULL, *args = strdup(found->argument); -+ bool match = false; -+ -+ while ((userfound = strsep(&args, ","))) { -+ pw = getpwnam(userfound); -+ -+ if (pw) { -+ if (s.st_uid == pw->pw_uid) { -+ match = true; -+ break; -+ } -+ } -+ } -+ -+ if (match) { -+ log_debug("Ignoring \"%s\" of user \"%s\".", sub_path, pw->pw_name); -+ match=false; -+ continue; -+ } -+ } else { -+ /* Is there an item configured for this path? */ -+ if (ordered_hashmap_get(items, sub_path)) { -+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -+ continue; -+ } -+ -+ if (found) { -+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -+ continue; -+ } - } - - if (S_ISDIR(s.st_mode)) { -@@ -2637,8 +2666,6 @@ static int parse_line( - case EMPTY_DIRECTORY: - case TRUNCATE_DIRECTORY: - case CREATE_FIFO: -- case IGNORE_PATH: -- case IGNORE_DIRECTORY_PATH: - case REMOVE_PATH: - case RECURSIVE_REMOVE_PATH: - case ADJUST_MODE: -@@ -2649,6 +2676,8 @@ static int parse_line( - - break; - -+ case IGNORE_PATH: -+ case IGNORE_DIRECTORY_PATH: - case CREATE_FILE: - case TRUNCATE_FILE: - break; --- -2.26.2 - diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch index 53c44ddd..fdf44437 100644 --- a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +++ b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch @@ -1,7 +1,7 @@ -From f9521480d5dc5af747fecc9adc4c617e473e5494 Mon Sep 17 00:00:00 2001 +From ac7bfed30245145ce68a037e7578da12ce2de009 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 May 2016 08:59:41 +0200 -Subject: [PATCH 06/12] sysv-generator: add (back) support for SysV scripts for +Subject: [PATCH 1/1] sysv-generator: add (back) support for SysV scripts for the early boot For the record, the upstream support was removed by commit @@ -43,7 +43,7 @@ the same time as 'normal' services. 1 file changed, 23 insertions(+) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index a2c72d1009..1c01008967 100644 +index 8c7aef23c3..f88f9119fb 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c @@ -31,6 +31,9 @@ static const struct { @@ -63,8 +63,8 @@ index a2c72d1009..1c01008967 100644 + bool early; } SysvStub; - static void free_sysvstub(SysvStub *s) { -@@ -147,6 +151,12 @@ static int generate_unit_file(SysvStub *s) { + static SysvStub* free_sysvstub(SysvStub *s) { +@@ -146,6 +150,12 @@ static int generate_unit_file(SysvStub *s) { fprintf(f, "Description=%s\n", t); } @@ -77,7 +77,7 @@ index a2c72d1009..1c01008967 100644 STRV_FOREACH(p, s->before) fprintf(f, "Before=%s\n", *p); STRV_FOREACH(p, s->after) -@@ -213,6 +223,10 @@ static char *sysv_translate_name(const char *name) { +@@ -212,6 +222,10 @@ static char *sysv_translate_name(const char *name) { _cleanup_free_ char *c = NULL; char *res; @@ -88,7 +88,7 @@ index a2c72d1009..1c01008967 100644 c = strdup(name); if (!c) return NULL; -@@ -289,6 +303,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, +@@ -288,6 +302,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, return 1; } @@ -100,7 +100,7 @@ index a2c72d1009..1c01008967 100644 /* Strip ".sh" suffix from file name for comparison */ filename_no_sh = strdupa(filename); e = endswith(filename_no_sh, ".sh"); -@@ -676,6 +695,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { +@@ -674,6 +693,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { if (other->sysv_start_priority < 0) continue; @@ -110,7 +110,7 @@ index a2c72d1009..1c01008967 100644 /* If both units have modern headers we don't care * about the priorities */ if (s->has_lsb && other->has_lsb) -@@ -800,6 +822,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { +@@ -798,6 +820,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { .sysv_start_priority = -1, .name = TAKE_PTR(name), .path = TAKE_PTR(fpath), diff --git a/systemd-mini.changes b/systemd-mini.changes index e63fc72b..116eec9a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Mon Apr 26 16:25:38 UTC 2021 - Franck Bui + +- Upgrade to v248 (commit e5f93c9d2e9e26dd0dff430c4c072a547357ae7d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for + details. + + - A couple runtime dependencies on libraries are now tracked + manually (with Recommends:) due to the fact that some symbols of + these libs are dynamically loaded with dlopen() (heck!) + + - oomd is left disablde for now + + - pam configuration file 'systemd-user' is now shipped in + /usr/etc/pam.d + + - Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + + - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + as it is SLE specific. + +- Clean systemd-experimental up: + + - Enclose "%package/%descriptoin experimental" within a "%if + %experimental/%endif" block condition + + - List the build requirements in the sub-package instead of listing + them in the main package. + + - Enable support for fido2, pwquality and qrencode in the home + stuff + + - Improve the package description + ------------------------------------------------------------------- Wed Apr 7 08:59:15 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5ed9d5d2..a12ae910 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.105.g14581e0120 +%define suse_version +suse.21.g5d3d934a5c %bcond_with gnuefi %if 0%{?bootstrap} @@ -57,7 +57,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.13 +Version: 248 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -76,6 +76,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) +BuildRequires: pkgconfig(libfido2) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -113,10 +114,6 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif -%if %{with experimental} -BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -135,6 +132,10 @@ Requires: systemd-presets-branding Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) +# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl +Recommends: libpcre2-8-0 +# ditto but dlopen()ed by systemd-cryptenroll +Recommends: libfido2 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -175,7 +176,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -372,6 +372,8 @@ Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +# This Recommends because some symbols of libidn2 are dlopen()ed by resolved +Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved @@ -485,9 +487,7 @@ Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%systemd_requires %description journal-remote This extends the journal functionality to keep a copy of logs on a @@ -499,23 +499,44 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if %{with experimental} %package experimental Summary: Experimental systemd features License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +# These Recommends because some symbols of these libs are dlopen()ed by home stuff +Recommends: libfido2 +Recommends: libpwquality1 +Recommends: libqrencode4 +# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(pwquality) +# fdisk and openssl are build requirements for home stuff and repart +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) %systemd_requires %description experimental -This package contains optional extra systemd services that are -considered a preview feature. Behaviour details and option names are -subject to change without the usual backwards-compatibility promises. +This package contains optional extra services that are considered as +previews and are provided so users can do early experiments with the +new features or technologies without waiting for them to be fully +supported by either upstream and openSUSE. -Components that turn out to be stable may be merged into the main or a -dedicated package later. +Please note that all services should be considered in development +phase and as such their behaviors details, unit files, option names, +etc... are subject to change without the usual backwards-compatibility +promises. -Use at your own risk. +Components that turn out to be stable and considered as fully +supported will be merged into the main package or moved into a +dedicated package. +The package contains: homed, pstore, repart, userdbd. + +Have fun with these services at your own risk. +%endif %if ! 0%{?bootstrap} %lang_package @@ -528,6 +549,7 @@ Use at your own risk. %build # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ @@ -535,6 +557,7 @@ Use at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dpamconfdir=%{_distconfdir}/pam.d \ -Dpamlibdir=%{_pamdir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ @@ -550,6 +573,7 @@ Use at your own risk. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Doomd=false \ %if %{with experimental} -Dpstore=true \ -Drepart=true \ @@ -562,16 +586,11 @@ Use at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} - -Dfdisk=false \ - -Dpwquality=false \ - -Dp11kit=false \ + -Dnss-myhostname=false \ %else -Dman=true \ -Dhtml=true \ %endif -%if 0%{?bootstrap} - -Dnss-myhostname=false \ -%endif %if %{without coredump} -Dcoredump=false \ %endif @@ -660,8 +679,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target -# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ +# Replace upstream systemd-user with the openSUSE one. +install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -908,7 +927,7 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -# daemon-reload is implied by %systemd_postun_with_restart +# daemon-reload is implied by %%systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) @@ -1116,7 +1135,11 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze +%if ! 0%{?bootstrap} +%{_bindir}/systemd-cryptenroll +%endif %{_bindir}/systemd-delta +%{_bindir}/systemd-dissect %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-id128 @@ -1126,6 +1149,7 @@ fi %{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run +%{_bindir}/systemd-sysext %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl @@ -1262,6 +1286,7 @@ fi %{_modulesloaddir} %dir %{_sysusersdir} +%doc %{_sysusersdir}/README %{_sysusersdir}/systemd.conf %dir %{_sysconfdir}/tmpfiles.d @@ -1275,6 +1300,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%doc %{_sysctldir}/README %{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1289,7 +1315,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%config(noreplace) %{_sysconfdir}/pam.d/systemd-user +%{_distconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1313,6 +1339,7 @@ fi # FIXME: why do we have to own this dir ? %dir %{_modprobedir} +%doc %{_modprobedir}/README %{_modprobedir}/systemd.conf # Some files created at runtime. @@ -1353,6 +1380,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* +%{_mandir}/man8//rc-local.* %{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* @@ -1477,6 +1505,7 @@ fi %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/dmi_memory_id %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/path_id_compat @@ -1484,6 +1513,7 @@ fi %{_prefix}/lib/udev/v4l_id %ghost %{_prefix}/lib/udev/compat-symlink-generation %dir %{_udevrulesdir}/ +%doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules %exclude %{_udevrulesdir}/71-seat.rules %exclude %{_udevrulesdir}/73-seat-late.rules @@ -1699,7 +1729,7 @@ fi %if %{with experimental} %files experimental %defattr(-,root,root) -%config(noreplace) /etc/systemd/pstore.conf +%config(noreplace) %{_sysconfdir}/systemd/pstore.conf %{_prefix}/lib/systemd/systemd-pstore %{_unitdir}/systemd-pstore.service %{_tmpfilesdir}/systemd-pstore.conf @@ -1707,14 +1737,14 @@ fi %{_bindir}/systemd-repart %{_unitdir}/systemd-repart.service %{_mandir}/man*/*repart* -/usr/bin/userdbctl +%{_bindir}/userdbctl %{_prefix}/lib/systemd/systemd-userwork %{_prefix}/lib/systemd/systemd-userdbd %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket %{_mandir}/man*/userdbctl* %{_mandir}/man*/systemd-userdbd* -%config %{_sysconfdir}/homed.conf +%config(noreplace) %{_sysconfdir}/systemd/homed.conf %{_bindir}/homectl %{_prefix}/lib/systemd/systemd-homed %{_prefix}/lib/systemd/systemd-homework diff --git a/systemd-v246.13+suse.105.g14581e0120.tar.xz b/systemd-v246.13+suse.105.g14581e0120.tar.xz deleted file mode 100644 index 67e2c666..00000000 --- a/systemd-v246.13+suse.105.g14581e0120.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6316b2146335f43df36f200bdad2482858a6f83a56c50f7b1221b6a24e552eb8 -size 6574688 diff --git a/systemd-v248+suse.21.g5d3d934a5c.tar.xz b/systemd-v248+suse.21.g5d3d934a5c.tar.xz new file mode 100644 index 00000000..2e310340 --- /dev/null +++ b/systemd-v248+suse.21.g5d3d934a5c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fda316257f2b86997ee00bd2dc589f9f804bab5b1e339a539b892110624ecee +size 7073788 diff --git a/systemd.changes b/systemd.changes index e63fc72b..116eec9a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Mon Apr 26 16:25:38 UTC 2021 - Franck Bui + +- Upgrade to v248 (commit e5f93c9d2e9e26dd0dff430c4c072a547357ae7d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for + details. + + - A couple runtime dependencies on libraries are now tracked + manually (with Recommends:) due to the fact that some symbols of + these libs are dynamically loaded with dlopen() (heck!) + + - oomd is left disablde for now + + - pam configuration file 'systemd-user' is now shipped in + /usr/etc/pam.d + + - Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + + - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + as it is SLE specific. + +- Clean systemd-experimental up: + + - Enclose "%package/%descriptoin experimental" within a "%if + %experimental/%endif" block condition + + - List the build requirements in the sub-package instead of listing + them in the main package. + + - Enable support for fido2, pwquality and qrencode in the home + stuff + + - Improve the package description + ------------------------------------------------------------------- Wed Apr 7 08:59:15 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d31ca44b..256bd6b4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.105.g14581e0120 +%define suse_version +suse.21.g5d3d934a5c %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.13 +Version: 248 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -74,6 +74,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) +BuildRequires: pkgconfig(libfido2) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -111,10 +112,6 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif -%if %{with experimental} -BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -133,6 +130,10 @@ Requires: systemd-presets-branding Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) +# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl +Recommends: libpcre2-8-0 +# ditto but dlopen()ed by systemd-cryptenroll +Recommends: libfido2 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -173,7 +174,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -370,6 +370,8 @@ Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +# This Recommends because some symbols of libidn2 are dlopen()ed by resolved +Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved @@ -483,9 +485,7 @@ Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%systemd_requires %description journal-remote This extends the journal functionality to keep a copy of logs on a @@ -497,23 +497,44 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if %{with experimental} %package experimental Summary: Experimental systemd features License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +# These Recommends because some symbols of these libs are dlopen()ed by home stuff +Recommends: libfido2 +Recommends: libpwquality1 +Recommends: libqrencode4 +# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(pwquality) +# fdisk and openssl are build requirements for home stuff and repart +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) %systemd_requires %description experimental -This package contains optional extra systemd services that are -considered a preview feature. Behaviour details and option names are -subject to change without the usual backwards-compatibility promises. +This package contains optional extra services that are considered as +previews and are provided so users can do early experiments with the +new features or technologies without waiting for them to be fully +supported by either upstream and openSUSE. -Components that turn out to be stable may be merged into the main or a -dedicated package later. +Please note that all services should be considered in development +phase and as such their behaviors details, unit files, option names, +etc... are subject to change without the usual backwards-compatibility +promises. -Use at your own risk. +Components that turn out to be stable and considered as fully +supported will be merged into the main package or moved into a +dedicated package. +The package contains: homed, pstore, repart, userdbd. + +Have fun with these services at your own risk. +%endif %if ! 0%{?bootstrap} %lang_package @@ -526,6 +547,7 @@ Use at your own risk. %build # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ @@ -533,6 +555,7 @@ Use at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dpamconfdir=%{_distconfdir}/pam.d \ -Dpamlibdir=%{_pamdir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ @@ -548,6 +571,7 @@ Use at your own risk. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Doomd=false \ %if %{with experimental} -Dpstore=true \ -Drepart=true \ @@ -560,16 +584,11 @@ Use at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} - -Dfdisk=false \ - -Dpwquality=false \ - -Dp11kit=false \ + -Dnss-myhostname=false \ %else -Dman=true \ -Dhtml=true \ %endif -%if 0%{?bootstrap} - -Dnss-myhostname=false \ -%endif %if %{without coredump} -Dcoredump=false \ %endif @@ -658,8 +677,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target -# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ +# Replace upstream systemd-user with the openSUSE one. +install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -906,7 +925,7 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -# daemon-reload is implied by %systemd_postun_with_restart +# daemon-reload is implied by %%systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) @@ -1114,7 +1133,11 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze +%if ! 0%{?bootstrap} +%{_bindir}/systemd-cryptenroll +%endif %{_bindir}/systemd-delta +%{_bindir}/systemd-dissect %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-id128 @@ -1124,6 +1147,7 @@ fi %{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run +%{_bindir}/systemd-sysext %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl @@ -1260,6 +1284,7 @@ fi %{_modulesloaddir} %dir %{_sysusersdir} +%doc %{_sysusersdir}/README %{_sysusersdir}/systemd.conf %dir %{_sysconfdir}/tmpfiles.d @@ -1273,6 +1298,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%doc %{_sysctldir}/README %{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1287,7 +1313,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%config(noreplace) %{_sysconfdir}/pam.d/systemd-user +%{_distconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1311,6 +1337,7 @@ fi # FIXME: why do we have to own this dir ? %dir %{_modprobedir} +%doc %{_modprobedir}/README %{_modprobedir}/systemd.conf # Some files created at runtime. @@ -1351,6 +1378,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* +%{_mandir}/man8//rc-local.* %{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* @@ -1475,6 +1503,7 @@ fi %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id +%{_prefix}/lib/udev/dmi_memory_id %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/path_id_compat @@ -1482,6 +1511,7 @@ fi %{_prefix}/lib/udev/v4l_id %ghost %{_prefix}/lib/udev/compat-symlink-generation %dir %{_udevrulesdir}/ +%doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules %exclude %{_udevrulesdir}/71-seat.rules %exclude %{_udevrulesdir}/73-seat-late.rules @@ -1697,7 +1727,7 @@ fi %if %{with experimental} %files experimental %defattr(-,root,root) -%config(noreplace) /etc/systemd/pstore.conf +%config(noreplace) %{_sysconfdir}/systemd/pstore.conf %{_prefix}/lib/systemd/systemd-pstore %{_unitdir}/systemd-pstore.service %{_tmpfilesdir}/systemd-pstore.conf @@ -1705,14 +1735,14 @@ fi %{_bindir}/systemd-repart %{_unitdir}/systemd-repart.service %{_mandir}/man*/*repart* -/usr/bin/userdbctl +%{_bindir}/userdbctl %{_prefix}/lib/systemd/systemd-userwork %{_prefix}/lib/systemd/systemd-userdbd %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket %{_mandir}/man*/userdbctl* %{_mandir}/man*/systemd-userdbd* -%config %{_sysconfdir}/homed.conf +%config(noreplace) %{_sysconfdir}/systemd/homed.conf %{_bindir}/homectl %{_prefix}/lib/systemd/systemd-homed %{_prefix}/lib/systemd/systemd-homework From 4a0632a66ad66781217f26e0b2ed5ab57a779f3c7a5a89ca7d1d5813e874d1e2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 28 Apr 2021 15:21:08 +0000 Subject: [PATCH 549/991] Upgrade to v248 minor fixes: - dmi_memory_id is only installed on arches with DMI - systemd-homed-activate.service was forgotten OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1150 --- systemd-mini.spec | 4 ++++ systemd.spec | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index a12ae910..6ff30a12 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1505,7 +1505,10 @@ fi %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id +# dmi_memory_id is only relevant on arches with DMI +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_prefix}/lib/udev/dmi_memory_id +%endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/path_id_compat @@ -1749,6 +1752,7 @@ fi %{_prefix}/lib/systemd/systemd-homed %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-homed-activate.service %{_pamdir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf diff --git a/systemd.spec b/systemd.spec index 256bd6b4..b7f0a888 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1503,7 +1503,10 @@ fi %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id +# dmi_memory_id is only relevant on arches with DMI +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_prefix}/lib/udev/dmi_memory_id +%endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/path_id_compat @@ -1747,6 +1750,7 @@ fi %{_prefix}/lib/systemd/systemd-homed %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-homed-activate.service %{_pamdir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf From b424141d84a6807f33bbfde562ee24b2e4e4e8c70226d5dc028560fee53b438f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 10 May 2021 14:23:17 +0000 Subject: [PATCH 550/991] - Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1151 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 4 ++-- systemd-v248+suse.21.g5d3d934a5c.tar.xz | 3 --- systemd-v248.2+suse.23.g6f5c11b28f.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 6 files changed, 23 insertions(+), 7 deletions(-) delete mode 100644 systemd-v248+suse.21.g5d3d934a5c.tar.xz create mode 100644 systemd-v248.2+suse.23.g6f5c11b28f.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 116eec9a..216f0134 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon May 10 13:12:56 UTC 2021 - Franck Bui + +- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa + ------------------------------------------------------------------- Mon Apr 26 16:25:38 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6ff30a12..90d076de 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.21.g5d3d934a5c +%define suse_version +suse.23.g6f5c11b28f %bcond_with gnuefi %if 0%{?bootstrap} @@ -57,7 +57,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248 +Version: 248.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v248+suse.21.g5d3d934a5c.tar.xz b/systemd-v248+suse.21.g5d3d934a5c.tar.xz deleted file mode 100644 index 2e310340..00000000 --- a/systemd-v248+suse.21.g5d3d934a5c.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1fda316257f2b86997ee00bd2dc589f9f804bab5b1e339a539b892110624ecee -size 7073788 diff --git a/systemd-v248.2+suse.23.g6f5c11b28f.tar.xz b/systemd-v248.2+suse.23.g6f5c11b28f.tar.xz new file mode 100644 index 00000000..03114698 --- /dev/null +++ b/systemd-v248.2+suse.23.g6f5c11b28f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6cf61ec9991369599966f859f3cfbbe96b7d867eeb3d8d31b30f6fff7b0193e +size 7080152 diff --git a/systemd.changes b/systemd.changes index 116eec9a..216f0134 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon May 10 13:12:56 UTC 2021 - Franck Bui + +- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa + ------------------------------------------------------------------- Mon Apr 26 16:25:38 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b7f0a888..cd1f2cea 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.21.g5d3d934a5c +%define suse_version +suse.23.g6f5c11b28f %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248 +Version: 248.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 1064355e7bd6a5fd5f24aaf243fc2b5a2de4ae00463414d314716dbe49d580ea Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 11 May 2021 16:13:01 +0000 Subject: [PATCH 551/991] fix wrong commit id used during merge of v248 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1152 --- systemd-mini.changes | 2 +- systemd.changes | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 216f0134..4e109951 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -9,7 +9,7 @@ Mon May 10 13:12:56 UTC 2021 - Franck Bui ------------------------------------------------------------------- Mon Apr 26 16:25:38 UTC 2021 - Franck Bui -- Upgrade to v248 (commit e5f93c9d2e9e26dd0dff430c4c072a547357ae7d) +- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7) See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. diff --git a/systemd.changes b/systemd.changes index 216f0134..4e109951 100644 --- a/systemd.changes +++ b/systemd.changes @@ -9,7 +9,7 @@ Mon May 10 13:12:56 UTC 2021 - Franck Bui ------------------------------------------------------------------- Mon Apr 26 16:25:38 UTC 2021 - Franck Bui -- Upgrade to v248 (commit e5f93c9d2e9e26dd0dff430c4c072a547357ae7d) +- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7) See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. From 122037788d3aca9ca64c331ceee6be7cd32c82a396421740fec5383516d56d97 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 May 2021 08:34:58 +0000 Subject: [PATCH 552/991] - Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1153 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 4 ++-- systemd-v248.2+suse.23.g6f5c11b28f.tar.xz | 3 --- systemd-v248.3+suse.25.gbc08011f04.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 6 files changed, 23 insertions(+), 7 deletions(-) delete mode 100644 systemd-v248.2+suse.23.g6f5c11b28f.tar.xz create mode 100644 systemd-v248.3+suse.25.gbc08011f04.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 4e109951..62646d22 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 18 08:19:57 UTC 2021 - Franck Bui + +- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b + ------------------------------------------------------------------- Mon May 10 13:12:56 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 90d076de..5700ed4e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.23.g6f5c11b28f +%define suse_version +suse.25.gbc08011f04 %bcond_with gnuefi %if 0%{?bootstrap} @@ -57,7 +57,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.2 +Version: 248.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v248.2+suse.23.g6f5c11b28f.tar.xz b/systemd-v248.2+suse.23.g6f5c11b28f.tar.xz deleted file mode 100644 index 03114698..00000000 --- a/systemd-v248.2+suse.23.g6f5c11b28f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6cf61ec9991369599966f859f3cfbbe96b7d867eeb3d8d31b30f6fff7b0193e -size 7080152 diff --git a/systemd-v248.3+suse.25.gbc08011f04.tar.xz b/systemd-v248.3+suse.25.gbc08011f04.tar.xz new file mode 100644 index 00000000..d201f040 --- /dev/null +++ b/systemd-v248.3+suse.25.gbc08011f04.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af327ad12cda0119214c8cc6d71f7b0120bec600623d7dacda0e837fcfdd2591 +size 7081120 diff --git a/systemd.changes b/systemd.changes index 4e109951..62646d22 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 18 08:19:57 UTC 2021 - Franck Bui + +- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b + ------------------------------------------------------------------- Mon May 10 13:12:56 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cd1f2cea..73e0859a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.23.g6f5c11b28f +%define suse_version +suse.25.gbc08011f04 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.2 +Version: 248.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 57ff2224b1e4e0fcff49d6d0600898248c262c538d3a7671f7a54d9881731538 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 May 2021 10:05:32 +0000 Subject: [PATCH 553/991] - Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch A temporary patch until https://github.com/systemd/systemd/issues/19464 is solved. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1154 --- ...ent-excessive-proc-self-mountinfo-pa.patch | 35 +++++++++++++++++++ systemd-mini.changes | 8 +++++ systemd-mini.spec | 1 + systemd.changes | 8 +++++ systemd.spec | 1 + 5 files changed, 53 insertions(+) create mode 100644 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch diff --git a/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch b/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch new file mode 100644 index 00000000..def1f512 --- /dev/null +++ b/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch @@ -0,0 +1,35 @@ +From c9bce1f07276c591d8637dbfc3244ee11e8fa4e1 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 18 May 2021 11:53:55 +0200 +Subject: [PATCH 1/1] Revert "core: prevent excessive /proc/self/mountinfo + parsing" + +This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756. + +This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756 temporarly until +more investigation is done to find the root cause of +https://github.com/systemd/systemd/issues/19464. +--- + src/core/mount.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index ca5d0939a1..2939062161 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1859,12 +1859,6 @@ static void mount_enumerate(Manager *m) { + goto fail; + } + +- r = sd_event_source_set_ratelimit(m->mount_event_source, 1 * USEC_PER_SEC, 5); +- if (r < 0) { +- log_error_errno(r, "Failed to enable rate limit for mount events: %m"); +- goto fail; +- } +- + (void) sd_event_source_set_description(m->mount_event_source, "mount-monitor-dispatch"); + } + +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 62646d22..e0ad5a2e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 18 10:04:16 UTC 2021 - Franck Bui + +- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + A temporary patch until + https://github.com/systemd/systemd/issues/19464 is solved. + ------------------------------------------------------------------- Tue May 18 08:19:57 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5700ed4e..a2e5123b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -191,6 +191,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 62646d22..e0ad5a2e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 18 10:04:16 UTC 2021 - Franck Bui + +- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + A temporary patch until + https://github.com/systemd/systemd/issues/19464 is solved. + ------------------------------------------------------------------- Tue May 18 08:19:57 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 73e0859a..1bfc5920 100644 --- a/systemd.spec +++ b/systemd.spec @@ -189,6 +189,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 9dc8113ab86c73a82aa06eb32e4c7206b3742f2fcbcb17143c8f5cd254ce9e14 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 19 May 2021 06:52:49 +0000 Subject: [PATCH 554/991] - Introduce subpackage systemd-tests This subpackage is mainly used before submitting a new version of the systemd packages. As such it's not intended for regular users hence can be removed/renamed at any time. One might wonder why the unit tests are not executed during package builds (%check)... the reason is that the environment used to build package (chroot) is too limited and therefore only a subset of the unit tests would be executed in this environment. To disable the build of the subpackage, use "--without=tests". OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1155 --- systemd-mini.changes | 15 +++++++++++++++ systemd-mini.spec | 33 +++++++++++++++++++++++++++++++++ systemd.changes | 15 +++++++++++++++ systemd.spec | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index e0ad5a2e..cc9f7913 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue May 18 18:31:20 UTC 2021 - Franck Bui + +- Introduce subpackage systemd-tests + + This subpackage is mainly used before submitting a new version of + the systemd packages. As such it's not intended for regular users + hence can be removed/renamed at any time. One might wonder why the + unit tests are not executed during package builds (%check)... the + reason is that the environment used to build package (chroot) is too + limited and therefore only a subset of the unit tests would be + executed in this environment. + + To disable the build of the subpackage, use "--without=tests". + ------------------------------------------------------------------- Tue May 18 10:04:16 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index a2e5123b..31ba396b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -39,6 +39,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental +%bcond_with tests %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -52,6 +53,7 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental +%bcond_without tests %endif %bcond_with parentpathid @@ -500,6 +502,25 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if %{with tests} +%package tests +Summary: Unit tests for systemd +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +Recommends: python3 +Recommends: python3-colorama +# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) +Recommends: dosfstools + +%description tests +This package contains the unit tests used to check various internal +functions used by systemd and all its components. + +The python script /usr/lib/systemd/tests/run-unit-tests.py can be used +to run all unit tests at once. +%endif + %if %{with experimental} %package experimental Summary: Experimental systemd features @@ -619,6 +640,13 @@ Have fun with these services at your own risk. %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ +%endif +%if %{with tests} + -Dtests=unsafe \ + -Dinstall-tests=true \ +%else + -Dtests=false \ + -Dinstall-tests=false \ %endif -Dadm-group=false \ -Dwheel-group=false \ @@ -1730,6 +1758,11 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with tests} +%files tests +%{_prefix}/lib/systemd/tests +%endif + %if %{with experimental} %files experimental %defattr(-,root,root) diff --git a/systemd.changes b/systemd.changes index e0ad5a2e..cc9f7913 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue May 18 18:31:20 UTC 2021 - Franck Bui + +- Introduce subpackage systemd-tests + + This subpackage is mainly used before submitting a new version of + the systemd packages. As such it's not intended for regular users + hence can be removed/renamed at any time. One might wonder why the + unit tests are not executed during package builds (%check)... the + reason is that the environment used to build package (chroot) is too + limited and therefore only a subset of the unit tests would be + executed in this environment. + + To disable the build of the subpackage, use "--without=tests". + ------------------------------------------------------------------- Tue May 18 10:04:16 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1bfc5920..08e0e32b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -37,6 +37,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental +%bcond_with tests %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -50,6 +51,7 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental +%bcond_without tests %endif %bcond_with parentpathid @@ -498,6 +500,25 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if %{with tests} +%package tests +Summary: Unit tests for systemd +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +Recommends: python3 +Recommends: python3-colorama +# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) +Recommends: dosfstools + +%description tests +This package contains the unit tests used to check various internal +functions used by systemd and all its components. + +The python script /usr/lib/systemd/tests/run-unit-tests.py can be used +to run all unit tests at once. +%endif + %if %{with experimental} %package experimental Summary: Experimental systemd features @@ -617,6 +638,13 @@ Have fun with these services at your own risk. %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ +%endif +%if %{with tests} + -Dtests=unsafe \ + -Dinstall-tests=true \ +%else + -Dtests=false \ + -Dinstall-tests=false \ %endif -Dadm-group=false \ -Dwheel-group=false \ @@ -1728,6 +1756,11 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with tests} +%files tests +%{_prefix}/lib/systemd/tests +%endif + %if %{with experimental} %files experimental %defattr(-,root,root) From e3ac2db7a1f56829a7f416944a86188f96da1e1e0cfe5b543a39a8e43ad95751 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 May 2021 08:04:53 +0000 Subject: [PATCH 555/991] - Spec file minor cleanups: - Drop all "Group:" tags as they are deprecated. - Drop "License:" tags from all all subpackages and make it inherited from the main package. - Drop "%bcond_with parentpathid" as it's not used. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1156 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 40 ---------------------------------------- systemd.changes | 12 ++++++++++++ systemd.spec | 40 ---------------------------------------- 4 files changed, 24 insertions(+), 80 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index cc9f7913..a3059ed6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed May 19 06:54:57 UTC 2021 - Franck Bui + +- Spec file minor cleanups: + + - Drop all "Group:" tags as they are deprecated. + + - Drop "License:" tags from all all subpackages and make it + inherited from the main package. + + - Drop "%bcond_with parentpathid" as it's not used. + ------------------------------------------------------------------- Tue May 18 18:31:20 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 31ba396b..f41887a1 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -55,7 +55,6 @@ %bcond_without experimental %bcond_without tests %endif -%bcond_with parentpathid Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd @@ -63,7 +62,6 @@ Version: 248.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later -Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets @@ -208,8 +206,6 @@ drop-in replacement for sysvinit. %if !0%{?bootstrap} %package doc Summary: HTML documentation for systemd -License: LGPL-2.1-or-later -Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc @@ -220,8 +216,6 @@ The HTML documentation for systemd. %package devel Summary: Development headers for systemd -License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} @@ -233,8 +227,6 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -246,8 +238,6 @@ Drop-in replacement of System V init tools. %package -n libsystemd0%{?mini} Summary: Component library for systemd -License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libsystemd0 Requires: this-is-only-for-build-envs @@ -276,8 +266,6 @@ This library provides several of the systemd C APIs: %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager -License: GPL-2.0-only -Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires: group(kvm) @@ -309,8 +297,6 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information -License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 Conflicts: kiwi @@ -324,8 +310,6 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev -License: LGPL-2.1-or-later -Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} @@ -340,8 +324,6 @@ dynamic library, which provides access to udev device information. %if %{with coredump} %package coredump Summary: Systemd tools for coredump management -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -354,8 +336,6 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn @@ -372,8 +352,6 @@ and systemd-importd. %if %{with networkd} || %{with resolved} %package network Summary: Systemd tools for networkd and resolved -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) @@ -391,8 +369,6 @@ resolver tools for resolved %if %{with portabled} %package portable Summary: Systemd tools for portable services -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires @@ -411,8 +387,6 @@ https://systemd.io/PORTABLE_SERVICES %if ! 0%{?bootstrap} %package logger Summary: Journal only logging -License: LGPL-2.1-or-later -Group: System/Base Provides: syslog Provides: sysvinit(syslog) Requires(post): /usr/bin/systemctl @@ -423,8 +397,6 @@ This package marks the installation to not use syslog but only the journal. %package -n nss-systemd Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-systemd This package contains a plugin for the Name Service Switch (NSS), @@ -436,8 +408,6 @@ To activate this NSS module, you will need to include it in %package -n nss-myhostname Summary: Plugin for local system host name resolution -License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-myhostname This package contains a plug-in module for the Name Service Switch @@ -453,8 +423,6 @@ To activate this NSS module, you will need to include it in %if %{with resolved} %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Group: System/Libraries Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve @@ -470,8 +438,6 @@ To activate this NSS module, you will need to include it in %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-mymachines This package contains a plugin for the Name Service Switch (NSS), @@ -487,8 +453,6 @@ To activate this NSS module, you will need to include it in %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires @@ -505,8 +469,6 @@ systemd-journal-remote, and systemd-journal-upload. %if %{with tests} %package tests Summary: Unit tests for systemd -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama @@ -524,8 +486,6 @@ to run all unit tests at once. %if %{with experimental} %package experimental Summary: Experimental systemd features -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 diff --git a/systemd.changes b/systemd.changes index cc9f7913..a3059ed6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed May 19 06:54:57 UTC 2021 - Franck Bui + +- Spec file minor cleanups: + + - Drop all "Group:" tags as they are deprecated. + + - Drop "License:" tags from all all subpackages and make it + inherited from the main package. + + - Drop "%bcond_with parentpathid" as it's not used. + ------------------------------------------------------------------- Tue May 18 18:31:20 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 08e0e32b..2d82b0be 100644 --- a/systemd.spec +++ b/systemd.spec @@ -53,7 +53,6 @@ %bcond_without experimental %bcond_without tests %endif -%bcond_with parentpathid Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd @@ -61,7 +60,6 @@ Version: 248.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later -Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets @@ -206,8 +204,6 @@ drop-in replacement for sysvinit. %if !0%{?bootstrap} %package doc Summary: HTML documentation for systemd -License: LGPL-2.1-or-later -Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc @@ -218,8 +214,6 @@ The HTML documentation for systemd. %package devel Summary: Development headers for systemd -License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} @@ -231,8 +225,6 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -244,8 +236,6 @@ Drop-in replacement of System V init tools. %package -n libsystemd0%{?mini} Summary: Component library for systemd -License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libsystemd0 Requires: this-is-only-for-build-envs @@ -274,8 +264,6 @@ This library provides several of the systemd C APIs: %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager -License: GPL-2.0-only -Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires: group(kvm) @@ -307,8 +295,6 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information -License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 Conflicts: kiwi @@ -322,8 +308,6 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev -License: LGPL-2.1-or-later -Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} @@ -338,8 +322,6 @@ dynamic library, which provides access to udev device information. %if %{with coredump} %package coredump Summary: Systemd tools for coredump management -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -352,8 +334,6 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn @@ -370,8 +350,6 @@ and systemd-importd. %if %{with networkd} || %{with resolved} %package network Summary: Systemd tools for networkd and resolved -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) @@ -389,8 +367,6 @@ resolver tools for resolved %if %{with portabled} %package portable Summary: Systemd tools for portable services -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires @@ -409,8 +385,6 @@ https://systemd.io/PORTABLE_SERVICES %if ! 0%{?bootstrap} %package logger Summary: Journal only logging -License: LGPL-2.1-or-later -Group: System/Base Provides: syslog Provides: sysvinit(syslog) Requires(post): /usr/bin/systemctl @@ -421,8 +395,6 @@ This package marks the installation to not use syslog but only the journal. %package -n nss-systemd Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-systemd This package contains a plugin for the Name Service Switch (NSS), @@ -434,8 +406,6 @@ To activate this NSS module, you will need to include it in %package -n nss-myhostname Summary: Plugin for local system host name resolution -License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-myhostname This package contains a plug-in module for the Name Service Switch @@ -451,8 +421,6 @@ To activate this NSS module, you will need to include it in %if %{with resolved} %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Group: System/Libraries Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve @@ -468,8 +436,6 @@ To activate this NSS module, you will need to include it in %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-mymachines This package contains a plugin for the Name Service Switch (NSS), @@ -485,8 +451,6 @@ To activate this NSS module, you will need to include it in %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires @@ -503,8 +467,6 @@ systemd-journal-remote, and systemd-journal-upload. %if %{with tests} %package tests Summary: Unit tests for systemd -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama @@ -522,8 +484,6 @@ to run all unit tests at once. %if %{with experimental} %package experimental Summary: Experimental systemd features -License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 From 3b93ba91c742c31737432332d4017e81878a4f29fd2093a135411f6f295c028a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 May 2021 15:50:19 +0000 Subject: [PATCH 556/991] - Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1157 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a3059ed6..b0462bb8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu May 20 15:47:38 UTC 2021 - Franck Bui + +- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) + ------------------------------------------------------------------- Wed May 19 06:54:57 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f41887a1..f03272d4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1503,7 +1503,7 @@ fi %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%ghost %{_prefix}/lib/udev/compat-symlink-generation +%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %dir %{_udevrulesdir}/ %doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules diff --git a/systemd.changes b/systemd.changes index a3059ed6..b0462bb8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu May 20 15:47:38 UTC 2021 - Franck Bui + +- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) + ------------------------------------------------------------------- Wed May 19 06:54:57 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2d82b0be..59e9c3ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1501,7 +1501,7 @@ fi %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%ghost %{_prefix}/lib/udev/compat-symlink-generation +%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %dir %{_udevrulesdir}/ %doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules From 8307499d08adb43719a5cb12780caaaa4dc5d65c7154b973e4cec64750afb87c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 May 2021 19:11:16 +0000 Subject: [PATCH 557/991] - Restore all "License:" tags udev uses a different license (GPL-2.0-only) than the main package and "osc service localrun format_spec_file" has the good taste to restore the license tags for all other subpackages if one of the subpackage tag differs. - Drop "License:" tags from all subpackages and make it inherited from the main package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1158 --- systemd-mini.changes | 14 ++++++++++++-- systemd-mini.spec | 19 +++++++++++++++++++ systemd.changes | 14 ++++++++++++-- systemd.spec | 19 +++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index b0462bb8..bb539039 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu May 20 18:52:53 UTC 2021 - Franck Bui + +- Restore all "License:" tags + + udev uses a different license (GPL-2.0-only) than the main package + and "osc service localrun format_spec_file" has the good taste to + restore the license tags for all other subpackages if one of the + subpackage tag differs. + ------------------------------------------------------------------- Thu May 20 15:47:38 UTC 2021 - Franck Bui @@ -10,8 +20,8 @@ Wed May 19 06:54:57 UTC 2021 - Franck Bui - Drop all "Group:" tags as they are deprecated. - - Drop "License:" tags from all all subpackages and make it - inherited from the main package. + - Drop "License:" tags from all subpackages and make it inherited + from the main package. - Drop "%bcond_with parentpathid" as it's not used. diff --git a/systemd-mini.spec b/systemd-mini.spec index f03272d4..56c04a28 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -206,6 +206,7 @@ drop-in replacement for sysvinit. %if !0%{?bootstrap} %package doc Summary: HTML documentation for systemd +License: LGPL-2.1-or-later Supplements: (systemd and patterns-base-documentation) %description doc @@ -216,6 +217,7 @@ The HTML documentation for systemd. %package devel Summary: Development headers for systemd +License: LGPL-2.1-or-later Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} @@ -227,6 +229,7 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -238,6 +241,7 @@ Drop-in replacement of System V init tools. %package -n libsystemd0%{?mini} Summary: Component library for systemd +License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: libsystemd0 Requires: this-is-only-for-build-envs @@ -266,6 +270,7 @@ This library provides several of the systemd C APIs: %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager +License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires: group(kvm) @@ -297,6 +302,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information +License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: libudev1 Conflicts: kiwi @@ -310,6 +316,7 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev +License: LGPL-2.1-or-later Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} @@ -324,6 +331,7 @@ dynamic library, which provides access to udev device information. %if %{with coredump} %package coredump Summary: Systemd tools for coredump management +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -336,6 +344,7 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn @@ -352,6 +361,7 @@ and systemd-importd. %if %{with networkd} || %{with resolved} %package network Summary: Systemd tools for networkd and resolved +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) @@ -369,6 +379,7 @@ resolver tools for resolved %if %{with portabled} %package portable Summary: Systemd tools for portable services +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -387,6 +398,7 @@ https://systemd.io/PORTABLE_SERVICES %if ! 0%{?bootstrap} %package logger Summary: Journal only logging +License: LGPL-2.1-or-later Provides: syslog Provides: sysvinit(syslog) Requires(post): /usr/bin/systemctl @@ -397,6 +409,7 @@ This package marks the installation to not use syslog but only the journal. %package -n nss-systemd Summary: Plugin for local virtual host name resolution +License: LGPL-2.1-or-later %description -n nss-systemd This package contains a plugin for the Name Service Switch (NSS), @@ -408,6 +421,7 @@ To activate this NSS module, you will need to include it in %package -n nss-myhostname Summary: Plugin for local system host name resolution +License: LGPL-2.1-or-later %description -n nss-myhostname This package contains a plug-in module for the Name Service Switch @@ -423,6 +437,7 @@ To activate this NSS module, you will need to include it in %if %{with resolved} %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1-or-later Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve @@ -438,6 +453,7 @@ To activate this NSS module, you will need to include it in %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution +License: LGPL-2.1-or-later %description -n nss-mymachines This package contains a plugin for the Name Service Switch (NSS), @@ -453,6 +469,7 @@ To activate this NSS module, you will need to include it in %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -469,6 +486,7 @@ systemd-journal-remote, and systemd-journal-upload. %if %{with tests} %package tests Summary: Unit tests for systemd +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama @@ -486,6 +504,7 @@ to run all unit tests at once. %if %{with experimental} %package experimental Summary: Experimental systemd features +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 diff --git a/systemd.changes b/systemd.changes index b0462bb8..bb539039 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu May 20 18:52:53 UTC 2021 - Franck Bui + +- Restore all "License:" tags + + udev uses a different license (GPL-2.0-only) than the main package + and "osc service localrun format_spec_file" has the good taste to + restore the license tags for all other subpackages if one of the + subpackage tag differs. + ------------------------------------------------------------------- Thu May 20 15:47:38 UTC 2021 - Franck Bui @@ -10,8 +20,8 @@ Wed May 19 06:54:57 UTC 2021 - Franck Bui - Drop all "Group:" tags as they are deprecated. - - Drop "License:" tags from all all subpackages and make it - inherited from the main package. + - Drop "License:" tags from all subpackages and make it inherited + from the main package. - Drop "%bcond_with parentpathid" as it's not used. diff --git a/systemd.spec b/systemd.spec index 59e9c3ff..b41a2643 100644 --- a/systemd.spec +++ b/systemd.spec @@ -204,6 +204,7 @@ drop-in replacement for sysvinit. %if !0%{?bootstrap} %package doc Summary: HTML documentation for systemd +License: LGPL-2.1-or-later Supplements: (systemd and patterns-base-documentation) %description doc @@ -214,6 +215,7 @@ The HTML documentation for systemd. %package devel Summary: Development headers for systemd +License: LGPL-2.1-or-later Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} @@ -225,6 +227,7 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -236,6 +239,7 @@ Drop-in replacement of System V init tools. %package -n libsystemd0%{?mini} Summary: Component library for systemd +License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: libsystemd0 Requires: this-is-only-for-build-envs @@ -264,6 +268,7 @@ This library provides several of the systemd C APIs: %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager +License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: system-group-hardware Requires: group(kvm) @@ -295,6 +300,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information +License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: libudev1 Conflicts: kiwi @@ -308,6 +314,7 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev +License: LGPL-2.1-or-later Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} @@ -322,6 +329,7 @@ dynamic library, which provides access to udev device information. %if %{with coredump} %package coredump Summary: Systemd tools for coredump management +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -334,6 +342,7 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn @@ -350,6 +359,7 @@ and systemd-importd. %if %{with networkd} || %{with resolved} %package network Summary: Systemd tools for networkd and resolved +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) @@ -367,6 +377,7 @@ resolver tools for resolved %if %{with portabled} %package portable Summary: Systemd tools for portable services +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -385,6 +396,7 @@ https://systemd.io/PORTABLE_SERVICES %if ! 0%{?bootstrap} %package logger Summary: Journal only logging +License: LGPL-2.1-or-later Provides: syslog Provides: sysvinit(syslog) Requires(post): /usr/bin/systemctl @@ -395,6 +407,7 @@ This package marks the installation to not use syslog but only the journal. %package -n nss-systemd Summary: Plugin for local virtual host name resolution +License: LGPL-2.1-or-later %description -n nss-systemd This package contains a plugin for the Name Service Switch (NSS), @@ -406,6 +419,7 @@ To activate this NSS module, you will need to include it in %package -n nss-myhostname Summary: Plugin for local system host name resolution +License: LGPL-2.1-or-later %description -n nss-myhostname This package contains a plug-in module for the Name Service Switch @@ -421,6 +435,7 @@ To activate this NSS module, you will need to include it in %if %{with resolved} %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved +License: LGPL-2.1-or-later Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve @@ -436,6 +451,7 @@ To activate this NSS module, you will need to include it in %if %{with machined} %package -n nss-mymachines Summary: Plugin for local virtual host name resolution +License: LGPL-2.1-or-later %description -n nss-mymachines This package contains a plugin for the Name Service Switch (NSS), @@ -451,6 +467,7 @@ To activate this NSS module, you will need to include it in %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -467,6 +484,7 @@ systemd-journal-remote, and systemd-journal-upload. %if %{with tests} %package tests Summary: Unit tests for systemd +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama @@ -484,6 +502,7 @@ to run all unit tests at once. %if %{with experimental} %package experimental Summary: Experimental systemd features +License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 From 3f77d1f341197ccdc6ee03d30d5242437e1a23138737d75db0d91106ad31b7c8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 25 May 2021 07:37:28 +0000 Subject: [PATCH 558/991] - udev requires systemd in its %post (bsc#1185958) udevadm, called in udev's %post, requires libsystemd-shared-248.so. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1159 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 2 +- systemd.changes | 7 +++++++ systemd.spec | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index bb539039..94ca8c75 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu May 20 20:19:27 UTC 2021 - Franck Bui + +- udev requires systemd in its %post (bsc#1185958) + + udevadm, called in udev's %post, requires libsystemd-shared-248.so. + ------------------------------------------------------------------- Thu May 20 18:52:53 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 56c04a28..65aaef57 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -277,7 +277,7 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -Requires(postun): /usr/bin/systemctl +%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 diff --git a/systemd.changes b/systemd.changes index bb539039..94ca8c75 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu May 20 20:19:27 UTC 2021 - Franck Bui + +- udev requires systemd in its %post (bsc#1185958) + + udevadm, called in udev's %post, requires libsystemd-shared-248.so. + ------------------------------------------------------------------- Thu May 20 18:52:53 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b41a2643..a3170ca4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -275,7 +275,7 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -Requires(postun): /usr/bin/systemctl +%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 From 809be49d2435676bd8c669161cbbad25e1c69b016d9d4d253d38ea3703a0cda2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 May 2021 04:43:28 +0000 Subject: [PATCH 559/991] - Allow the sysusers config files shipped by systemd rpms to be overriden during system installation (bsc#1171962) - While at it, add a comment to explain why we don't use %sysusers_create in %pre and why it should be safe in %post. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1160 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 11 +++++++++-- systemd.changes | 9 +++++++++ systemd.spec | 11 +++++++++-- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 94ca8c75..f2787785 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue May 25 16:30:40 UTC 2021 - Franck Bui + +- Allow the sysusers config files shipped by systemd rpms to be + overriden during system installation (bsc#1171962) + +- While at it, add a comment to explain why we don't use + %sysusers_create in %pre and why it should be safe in %post. + ------------------------------------------------------------------- Thu May 20 20:19:27 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 65aaef57..95c84413 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -865,10 +865,16 @@ fi pam-config --add --systemd || : %endif -%sysusers_create %{_sysusersdir}/systemd.conf +# systemd-sysusers is not available in %pre so this needs to be done +# in %post. However this shouldn't be an issue since all files the +# main package ships are owned by root. +%sysusers_create systemd.conf + [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : + systemctl daemon-reexec || : + %journal_catalog_update %tmpfiles_create @@ -1039,7 +1045,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_sysusersdir}/systemd-remote.conf +# Assume that all files shipped by systemd-journal-remove are owned by root. +%sysusers_create systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service diff --git a/systemd.changes b/systemd.changes index 94ca8c75..f2787785 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue May 25 16:30:40 UTC 2021 - Franck Bui + +- Allow the sysusers config files shipped by systemd rpms to be + overriden during system installation (bsc#1171962) + +- While at it, add a comment to explain why we don't use + %sysusers_create in %pre and why it should be safe in %post. + ------------------------------------------------------------------- Thu May 20 20:19:27 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a3170ca4..afe9955d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -863,10 +863,16 @@ fi pam-config --add --systemd || : %endif -%sysusers_create %{_sysusersdir}/systemd.conf +# systemd-sysusers is not available in %pre so this needs to be done +# in %post. However this shouldn't be an issue since all files the +# main package ships are owned by root. +%sysusers_create systemd.conf + [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : + systemctl daemon-reexec || : + %journal_catalog_update %tmpfiles_create @@ -1037,7 +1043,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_sysusersdir}/systemd-remote.conf +# Assume that all files shipped by systemd-journal-remove are owned by root. +%sysusers_create systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service From a1b0bcc02063c569b0af55fc4212d7d9efea851b4a5c920b2a0294e515363352 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 3 Jun 2021 22:33:07 +0000 Subject: [PATCH 560/991] Accepting request 885896 from Base:System - systemd.spec: clean some of the build deps up: - libpcre is redundant with libpcre2 (only required by the full build) and the mini variant needs none of them. Hence drop the ref to libpcre. - normally libidn2 is needed by some optional features in systemd-network (only). But it's implicitly pulled in by libgnutls (required by the main package). Let's make sure the related features won't be disabled inadvertently in the future by making the dep explicit. - enable libiptc for masquerading support in networkd - create subpackage systemd-experimental to host pstore, repart, userdb and homed OBS-URL: https://build.opensuse.org/request/show/885896 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=329 --- systemd-mini.changes | 26 +++++++++ systemd-mini.spec | 122 +++++++++++++++++++++++++++++++++++++++++-- systemd.changes | 26 +++++++++ systemd.spec | 122 +++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 290 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index f2e3c48f..e63fc72b 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Apr 7 08:59:15 UTC 2021 - Franck Bui + +- systemd.spec: clean some of the build deps up: + + - libpcre is redundant with libpcre2 (only required by the full + build) and the mini variant needs none of them. Hence drop the ref + to libpcre. + + - normally libidn2 is needed by some optional features in + systemd-network (only). But it's implicitly pulled in by libgnutls + (required by the main package). Let's make sure the related + features won't be disabled inadvertently in the future by making + the dep explicit. + ------------------------------------------------------------------- Tue Mar 30 13:35:38 UTC 2021 - Franck Bui @@ -24,6 +39,11 @@ Wed Mar 24 07:05:22 UTC 2021 - Franck Bui Temporary workaround for bsc#1183745 (upstream issue 18917) until an actual fix is found. +------------------------------------------------------------------- +Tue Mar 23 14:11:03 UTC 2021 - Ludwig Nussel + +- enable libiptc for masquerading support in networkd + ------------------------------------------------------------------- Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa @@ -65,6 +85,12 @@ Mon Mar 15 11:06:54 UTC 2021 - Franck Bui e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) +------------------------------------------------------------------- +Thu Mar 11 16:58:44 UTC 2021 - Ludwig Nussel + +- create subpackage systemd-experimental to host pstore, repart, + userdb and homed + ------------------------------------------------------------------- Thu Mar 11 09:51:53 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d2b08382..5ed9d5d2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -38,6 +38,7 @@ %bcond_with portabled %bcond_with resolved %bcond_with sysvcompat +%bcond_with experimental %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -50,6 +51,7 @@ %bcond_without portabled %bcond_without resolved %bcond_without sysvcompat +%bcond_without experimental %endif %bcond_with parentpathid @@ -99,7 +101,6 @@ BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(libpcre) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -112,6 +113,10 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif +%if %{with experimental} +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -367,6 +372,7 @@ Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -493,6 +499,24 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%package experimental +Summary: Experimental systemd features +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description experimental +This package contains optional extra systemd services that are +considered a preview feature. Behaviour details and option names are +subject to change without the usual backwards-compatibility promises. + +Components that turn out to be stable may be merged into the main or a +dedicated package later. + +Use at your own risk. + + %if ! 0%{?bootstrap} %lang_package %endif @@ -526,14 +550,22 @@ systemd-journal-remote, and systemd-journal-upload. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ +%if %{with experimental} + -Dpstore=true \ + -Drepart=true \ + -Dhomed=true \ + -Duserdb=true \ +%else -Dpstore=false \ -Drepart=false \ - -Duserdb=false \ -Dhomed=false \ + -Duserdb=false \ +%endif +%if 0%{?bootstrap} -Dfdisk=false \ -Dpwquality=false \ -Dp11kit=false \ -%if ! 0%{?bootstrap} +%else -Dman=true \ -Dhtml=true \ %endif @@ -1049,6 +1081,29 @@ fi %service_del_postun systemd-portabled.service %endif +%if %{with experimental} +%pre experimental +%service_add_pre systemd-pstore.service +%service_add_pre systemd-userdbd.service systemd-userdbd.socket +%service_add_pre systemd-homed.service + +%post experimental +%tmpfiles_create systemd-pstore.conf +%service_add_post systemd-pstore.service +%service_add_post systemd-userdbd.service systemd-userdbd.socket +%service_add_post systemd-homed.service + +%preun experimental +%service_del_preun systemd-pstore.service +%service_del_preun systemd-userdbd.service systemd-userdbd.socket +%service_del_preun systemd-homed.service + +%postun experimental +%service_del_postun systemd-pstore.service +%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%service_del_postun systemd-homed.service +%endif + %clean %files @@ -1146,6 +1201,22 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.portable1.service %exclude %{_tmpfilesdir}/portables.conf %endif +%if %{with experimental} +%exclude %{_prefix}/lib/systemd/systemd-pstore +%exclude %{_unitdir}/systemd-pstore.service +%exclude %{_tmpfilesdir}/systemd-pstore.conf +%exclude %{_unitdir}/systemd-repart.service +%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service +%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service +%exclude %{_prefix}/lib/systemd/systemd-userwork +%exclude %{_prefix}/lib/systemd/systemd-userdbd +%exclude %{_unitdir}/systemd-userdbd.service +%exclude %{_unitdir}/systemd-userdbd.socket +%exclude %{_prefix}/lib/systemd/systemd-homed +%exclude %{_prefix}/lib/systemd/systemd-homework +%exclude %{_unitdir}/systemd-homed-activate.service +%exclude %{_unitdir}/systemd-homed.service +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1308,6 +1379,17 @@ fi %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%exclude %{_mandir}/man*/*pstore* +%exclude %{_mandir}/man*/*repart* +%exclude %{_mandir}/man*/userdbctl* +%exclude %{_mandir}/man*/systemd-userdbd* +%exclude %{_mandir}/man*/*homectl* +%exclude %{_mandir}/man*/*homed* +%exclude %{_mandir}/man*/org.freedesktop.home1* +%exclude %{_mandir}/man*/pam_systemd_home* +%exclude %{_datadir}/bash-completion/completions/homectl +%endif %endif %{_docdir}/systemd @@ -1614,4 +1696,38 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%files experimental +%defattr(-,root,root) +%config(noreplace) /etc/systemd/pstore.conf +%{_prefix}/lib/systemd/systemd-pstore +%{_unitdir}/systemd-pstore.service +%{_tmpfilesdir}/systemd-pstore.conf +%{_mandir}/man*/*pstore* +%{_bindir}/systemd-repart +%{_unitdir}/systemd-repart.service +%{_mandir}/man*/*repart* +/usr/bin/userdbctl +%{_prefix}/lib/systemd/systemd-userwork +%{_prefix}/lib/systemd/systemd-userdbd +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket +%{_mandir}/man*/userdbctl* +%{_mandir}/man*/systemd-userdbd* +%config %{_sysconfdir}/homed.conf +%{_bindir}/homectl +%{_prefix}/lib/systemd/systemd-homed +%{_prefix}/lib/systemd/systemd-homework +%{_unitdir}/systemd-homed.service +%{_pamdir}/pam_systemd_home.so +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_datadir}/bash-completion/completions/homectl +%{_mandir}/man*/*homectl* +%{_mandir}/man*/*homed* +%{_mandir}/man*/org.freedesktop.home1* +%{_mandir}/man*/pam_systemd_home* +%endif + %changelog diff --git a/systemd.changes b/systemd.changes index f2e3c48f..e63fc72b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Apr 7 08:59:15 UTC 2021 - Franck Bui + +- systemd.spec: clean some of the build deps up: + + - libpcre is redundant with libpcre2 (only required by the full + build) and the mini variant needs none of them. Hence drop the ref + to libpcre. + + - normally libidn2 is needed by some optional features in + systemd-network (only). But it's implicitly pulled in by libgnutls + (required by the main package). Let's make sure the related + features won't be disabled inadvertently in the future by making + the dep explicit. + ------------------------------------------------------------------- Tue Mar 30 13:35:38 UTC 2021 - Franck Bui @@ -24,6 +39,11 @@ Wed Mar 24 07:05:22 UTC 2021 - Franck Bui Temporary workaround for bsc#1183745 (upstream issue 18917) until an actual fix is found. +------------------------------------------------------------------- +Tue Mar 23 14:11:03 UTC 2021 - Ludwig Nussel + +- enable libiptc for masquerading support in networkd + ------------------------------------------------------------------- Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa @@ -65,6 +85,12 @@ Mon Mar 15 11:06:54 UTC 2021 - Franck Bui e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) +------------------------------------------------------------------- +Thu Mar 11 16:58:44 UTC 2021 - Ludwig Nussel + +- create subpackage systemd-experimental to host pstore, repart, + userdb and homed + ------------------------------------------------------------------- Thu Mar 11 09:51:53 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 962abb8e..d31ca44b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -36,6 +36,7 @@ %bcond_with portabled %bcond_with resolved %bcond_with sysvcompat +%bcond_with experimental %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -48,6 +49,7 @@ %bcond_without portabled %bcond_without resolved %bcond_without sysvcompat +%bcond_without experimental %endif %bcond_with parentpathid @@ -97,7 +99,6 @@ BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 -BuildRequires: pkgconfig(libpcre) %if %{with importd} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libcurl) @@ -110,6 +111,10 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif +%if %{with experimental} +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) +%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -365,6 +370,7 @@ Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} +BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %systemd_requires @@ -491,6 +497,24 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%package experimental +Summary: Experimental systemd features +License: LGPL-2.1-or-later +Group: System/Base +Requires: %{name} = %{version}-%{release} +%systemd_requires + +%description experimental +This package contains optional extra systemd services that are +considered a preview feature. Behaviour details and option names are +subject to change without the usual backwards-compatibility promises. + +Components that turn out to be stable may be merged into the main or a +dedicated package later. + +Use at your own risk. + + %if ! 0%{?bootstrap} %lang_package %endif @@ -524,14 +548,22 @@ systemd-journal-remote, and systemd-journal-upload. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ +%if %{with experimental} + -Dpstore=true \ + -Drepart=true \ + -Dhomed=true \ + -Duserdb=true \ +%else -Dpstore=false \ -Drepart=false \ - -Duserdb=false \ -Dhomed=false \ + -Duserdb=false \ +%endif +%if 0%{?bootstrap} -Dfdisk=false \ -Dpwquality=false \ -Dp11kit=false \ -%if ! 0%{?bootstrap} +%else -Dman=true \ -Dhtml=true \ %endif @@ -1047,6 +1079,29 @@ fi %service_del_postun systemd-portabled.service %endif +%if %{with experimental} +%pre experimental +%service_add_pre systemd-pstore.service +%service_add_pre systemd-userdbd.service systemd-userdbd.socket +%service_add_pre systemd-homed.service + +%post experimental +%tmpfiles_create systemd-pstore.conf +%service_add_post systemd-pstore.service +%service_add_post systemd-userdbd.service systemd-userdbd.socket +%service_add_post systemd-homed.service + +%preun experimental +%service_del_preun systemd-pstore.service +%service_del_preun systemd-userdbd.service systemd-userdbd.socket +%service_del_preun systemd-homed.service + +%postun experimental +%service_del_postun systemd-pstore.service +%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%service_del_postun systemd-homed.service +%endif + %clean %files @@ -1144,6 +1199,22 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.portable1.service %exclude %{_tmpfilesdir}/portables.conf %endif +%if %{with experimental} +%exclude %{_prefix}/lib/systemd/systemd-pstore +%exclude %{_unitdir}/systemd-pstore.service +%exclude %{_tmpfilesdir}/systemd-pstore.conf +%exclude %{_unitdir}/systemd-repart.service +%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service +%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service +%exclude %{_prefix}/lib/systemd/systemd-userwork +%exclude %{_prefix}/lib/systemd/systemd-userdbd +%exclude %{_unitdir}/systemd-userdbd.service +%exclude %{_unitdir}/systemd-userdbd.socket +%exclude %{_prefix}/lib/systemd/systemd-homed +%exclude %{_prefix}/lib/systemd/systemd-homework +%exclude %{_unitdir}/systemd-homed-activate.service +%exclude %{_unitdir}/systemd-homed.service +%endif %{_unitdir}/*.automount %{_unitdir}/*.service @@ -1306,6 +1377,17 @@ fi %exclude %{_mandir}/man*/portablectl* %exclude %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%exclude %{_mandir}/man*/*pstore* +%exclude %{_mandir}/man*/*repart* +%exclude %{_mandir}/man*/userdbctl* +%exclude %{_mandir}/man*/systemd-userdbd* +%exclude %{_mandir}/man*/*homectl* +%exclude %{_mandir}/man*/*homed* +%exclude %{_mandir}/man*/org.freedesktop.home1* +%exclude %{_mandir}/man*/pam_systemd_home* +%exclude %{_datadir}/bash-completion/completions/homectl +%endif %endif %{_docdir}/systemd @@ -1612,4 +1694,38 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with experimental} +%files experimental +%defattr(-,root,root) +%config(noreplace) /etc/systemd/pstore.conf +%{_prefix}/lib/systemd/systemd-pstore +%{_unitdir}/systemd-pstore.service +%{_tmpfilesdir}/systemd-pstore.conf +%{_mandir}/man*/*pstore* +%{_bindir}/systemd-repart +%{_unitdir}/systemd-repart.service +%{_mandir}/man*/*repart* +/usr/bin/userdbctl +%{_prefix}/lib/systemd/systemd-userwork +%{_prefix}/lib/systemd/systemd-userdbd +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket +%{_mandir}/man*/userdbctl* +%{_mandir}/man*/systemd-userdbd* +%config %{_sysconfdir}/homed.conf +%{_bindir}/homectl +%{_prefix}/lib/systemd/systemd-homed +%{_prefix}/lib/systemd/systemd-homework +%{_unitdir}/systemd-homed.service +%{_pamdir}/pam_systemd_home.so +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_datadir}/bash-completion/completions/homectl +%{_mandir}/man*/*homectl* +%{_mandir}/man*/*homed* +%{_mandir}/man*/org.freedesktop.home1* +%{_mandir}/man*/pam_systemd_home* +%endif + %changelog From d8f523db1379f546367553ad2d37f04d14fd79343f723b65f984fd72655fb588 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 4 Jun 2021 07:40:09 +0000 Subject: [PATCH 561/991] - Now that chkconfig/insserv are history, let's implement the strict minimum in systemd-sysv-install to enable/disable SysV init scripts (bsc#1186595 bsc#1186359) Indeed there's no much point in dropping SysV support completely until upstream will do especially since 3rd party applications such as vmware still rely on it, see bsc#1186359). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1161 --- systemd-mini.changes | 11 +++ systemd-sysv-install | 157 ++++++++++++++++++++++++++++++++++++------- systemd.changes | 11 +++ 3 files changed, 154 insertions(+), 25 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index f2787785..2065d8cb 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Jun 4 07:32:16 UTC 2021 - Franck Bui + +- Now that chkconfig/insserv are history, let's implement the strict + minimum in systemd-sysv-install to enable/disable SysV init scripts + (bsc#1186595 bsc#1186359) + + Indeed there's no much point in dropping SysV support completely + until upstream will do especially since 3rd party applications such + as vmware still rely on it, see bsc#1186359). + ------------------------------------------------------------------- Tue May 25 16:30:40 UTC 2021 - Franck Bui diff --git a/systemd-sysv-install b/systemd-sysv-install index 36e13055..403fc632 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -1,41 +1,148 @@ -#!/bin/sh +#!/bin/bash + # This script is called by "systemctl enable/disable" when the given unit is a # SysV init.d script. It needs to call the distribution's mechanism for # enabling/disabling those, such as chkconfig, update-rc.d, or similar. This # can optionally take a --root argument for enabling a SysV init script # in a chroot or similar. +# +# chkconfig(8) and insserv(8) are no more available hence let's do the +# bare minimum and create/remote the symlinks for the well known +# runlevels and nothing more. Note that we don't take care of +# enabling/disabling the service dependencies as the sysv-generator +# will take care of them for us (openSUSE specific). +# + set -e usage() { - echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 - exit 1 + echo >&2 "Usage: $0 [--quiet] [--root=path] enable|disable|is-enabled " + exit 1 } +info() { + $quiet || echo "$*" +} + +die() { + echo >&2 "error: $*, aborting." + exit 1 +} + +declare -A lsb_header + +check_runlevels() { + for l in $*; do + # Sanity check + case $l in + 0|1|2|3|4|5|6) continue ;; + *) return 1 + esac + done +} + +load_initscript() { + local found_lsb_start_marker=false + local found_lsb_end_marker=false + + [ -r $1 ] || die "initscript /etc/init.d/$1 can't be read" + + lsb_header=() + + while read line; do + # skip anything that is not a comment + [[ "$line" =~ ^# ]] || continue + + if ! $found_lsb_start_marker; then + [ "$line" == "### BEGIN INIT INFO" ] && + found_lsb_start_marker=true + continue + fi + + line=$(echo ${line:1}) + + case "$line" in + Default-Start:*) + levels=$(echo ${line:14}) + + check_runlevels $levels || + die "Invalid runlevels specified in $line" + + lsb_header[Default-Start]=$levels + ;; + "## END INIT INFO") + found_lsb_end_marker=true + break ;; + esac + done <$1 + + $found_lsb_end_marker || + die "malformated LSB header in $1: missing LSB end marker" +} + +enable_initscript() { + load_initscript $1 + + for l in ${lsb_header[Default-Start]}; do + symlink="$(pwd)/rc${l}.d/S50$1" + + info "ln -sf ../$1 $symlink" + ln -sf ../$1 "$symlink" + done +} + +disable_initscript() { + for symlink in rc*.d/[SK]*; do + [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && { + info "rm $(pwd)/$symlink" + rm $symlink + } + done +} + +is_initscript_enabled() { + for symlink in rc*.d/S*; do + [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && + return 0 + done + return 1 +} + +root= +quiet=false + # parse options -eval set -- "$(getopt -o r: --long root: -- "$@")" +eval set -- "$(getopt --name $(basename $0) -o hqr: --long help,quiet,root: -- "$@")" while true; do - case "$1" in - -r|--root) - ROOT="$2" - shift 2 ;; - --) shift ; break ;; - *) usage ;; - esac + case "$1" in + -h|--help) + usage ;; + -r|--root) + shift + root=$1 ;; + -q|--quiet) + quiet=true ;; + --) + shift + break ;; + *) + usage ;; + esac + shift done -NAME="$2" -[ -n "$NAME" ] || usage +[ $# -eq 2 ] || usage +action=$1 +name=$2 -case "$1" in - enable) - chkconfig $ROOT --no-systemctl -s "$NAME" on - ;; - disable) - chkconfig $ROOT --no-systemctl -s "$NAME" off - ;; - is-enabled) - chkconfig $ROOT --no-systemctl -c "$NAME" - ;; - *) - usage ;; +sysvinit_path=$(realpath -q -e $root/etc/init.d) || + die "$root/etc/init.d: no such file or directory" + +cd $sysvinit_path + +case "$action" in +enable) enable_initscript $name ;; +disable) disable_initscript $name ;; +is-enabled) is_initscript_enabled $name ;; +*) usage esac diff --git a/systemd.changes b/systemd.changes index f2787785..2065d8cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Jun 4 07:32:16 UTC 2021 - Franck Bui + +- Now that chkconfig/insserv are history, let's implement the strict + minimum in systemd-sysv-install to enable/disable SysV init scripts + (bsc#1186595 bsc#1186359) + + Indeed there's no much point in dropping SysV support completely + until upstream will do especially since 3rd party applications such + as vmware still rely on it, see bsc#1186359). + ------------------------------------------------------------------- Tue May 25 16:30:40 UTC 2021 - Franck Bui From ae537b29c3faca68ebd2dac401e7ae4ddbb22c687bd65768fe03c2e678c0c626 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 4 Jun 2021 13:36:04 +0000 Subject: [PATCH 562/991] - Drop systemd's dependency on udev (jsc#PM-2677) In some environments (i.e. containers) udev is usually not necessary but pulls in unnecessary packages. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1162 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 5 +++-- systemd.changes | 8 ++++++++ systemd.spec | 5 +++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 2065d8cb..ad8868a5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jun 4 13:10:30 UTC 2021 - Franck Bui + +- Drop systemd's dependency on udev (jsc#PM-2677) + + In some environments (i.e. containers) udev is usually not necessary + but pulls in unnecessary packages. + ------------------------------------------------------------------- Fri Jun 4 07:32:16 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 95c84413..4312c772 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -125,11 +125,9 @@ Provides: systemd = %{version}-%{release} Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl @@ -272,6 +270,7 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed @@ -1205,6 +1204,7 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined @@ -1552,6 +1552,7 @@ fi %endif %dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd +%{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket %{_unitdir}/initrd-udevadm-cleanup-db.service diff --git a/systemd.changes b/systemd.changes index 2065d8cb..ad8868a5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jun 4 13:10:30 UTC 2021 - Franck Bui + +- Drop systemd's dependency on udev (jsc#PM-2677) + + In some environments (i.e. containers) udev is usually not necessary + but pulls in unnecessary packages. + ------------------------------------------------------------------- Fri Jun 4 07:32:16 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index afe9955d..9f6fd59c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -123,11 +123,9 @@ Provides: systemd = %{version}-%{release} Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl @@ -270,6 +268,7 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed @@ -1203,6 +1202,7 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined @@ -1550,6 +1550,7 @@ fi %endif %dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd +%{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket %{_unitdir}/initrd-udevadm-cleanup-db.service From 6b2d1dc92b804cdf8f09245b2cdf1dc662cb6c53425f2e4571643086987ca841 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Jun 2021 12:54:17 +0000 Subject: [PATCH 563/991] - Create /run/lock/subsys again (bsc#1187292) The creation of this directory was mistakenly dropped when 'filesystem' package took the initialization of the generic paths over. Paths under /run/lock are still managed by systemd for lack of better place. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1163 --- systemd-mini.changes | 12 ++++++++++++ systemd.changes | 12 ++++++++++++ tmpfiles-suse.conf | 4 ++++ 3 files changed, 28 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index ad8868a5..d1a4edd2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jun 18 12:53:34 UTC 2021 - Franck Bui + +- Create /run/lock/subsys again (bsc#1187292) + + The creation of this directory was mistakenly dropped when + 'filesystem' package took the initialization of the generic paths + over. + + Paths under /run/lock are still managed by systemd for lack of + better place. + ------------------------------------------------------------------- Fri Jun 4 13:10:30 UTC 2021 - Franck Bui diff --git a/systemd.changes b/systemd.changes index ad8868a5..d1a4edd2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jun 18 12:53:34 UTC 2021 - Franck Bui + +- Create /run/lock/subsys again (bsc#1187292) + + The creation of this directory was mistakenly dropped when + 'filesystem' package took the initialization of the generic paths + over. + + Paths under /run/lock are still managed by systemd for lack of + better place. + ------------------------------------------------------------------- Fri Jun 4 13:10:30 UTC 2021 - Franck Bui diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 885e852c..68635292 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -9,6 +9,10 @@ L+ /etc/mtab - - - - ../proc/self/mounts # FIXME: Might be moved to lockded. d /run/lock 0775 root lock - +# /run/lock/subsys is used for serializing SysV service execution, and +# hence without use on SysV-less systems. +d /run/lock/subsys 0755 root root - + # FIXME: Should these one be moved to shadow ? f /var/log/wtmp 0664 root utmp - f /var/log/btmp 0660 root utmp - From 23ff6f659c7a2120954c12a4b54edd48dca4223a116eab3083edc874761ab75c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 24 Jun 2021 15:47:39 +0000 Subject: [PATCH 564/991] =?UTF-8?q?-=20Import=20commit=20fcdb8dce591db2f5f?= =?UTF-8?q?c3c1e3eeb7abe9a2090b401=20=20=20aa2d840a3b=20compat-rules:=20fi?= =?UTF-8?q?x=20warning:=20"label=20=E2=80=98out=E2=80=99=20defined=20but?= =?UTF-8?q?=20not=20used"=20in=20path=5Fid=5Fcompat.c=20-=20Restore=2061-p?= =?UTF-8?q?ersistent-storage-compat.rules=20that=20was=20mistakenly=20=20?= =?UTF-8?q?=20dropped=20during=20the=20merge=20of=20v248.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1164 --- systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 2 +- systemd-v248.3+suse.25.gbc08011f04.tar.xz | 3 --- systemd-v248.3+suse.27.gfcdb8dce59.tar.xz | 3 +++ systemd.changes | 10 ++++++++++ systemd.spec | 2 +- 6 files changed, 25 insertions(+), 5 deletions(-) delete mode 100644 systemd-v248.3+suse.25.gbc08011f04.tar.xz create mode 100644 systemd-v248.3+suse.27.gfcdb8dce59.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index d1a4edd2..1b0c63c9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Jun 24 13:39:30 UTC 2021 - Franck Bui + +- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 + + aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c + +- Restore 61-persistent-storage-compat.rules that was mistakenly + dropped during the merge of v248. + ------------------------------------------------------------------- Fri Jun 18 12:53:34 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 4312c772..d29a6aa6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.25.gbc08011f04 +%define suse_version +suse.27.gfcdb8dce59 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v248.3+suse.25.gbc08011f04.tar.xz b/systemd-v248.3+suse.25.gbc08011f04.tar.xz deleted file mode 100644 index d201f040..00000000 --- a/systemd-v248.3+suse.25.gbc08011f04.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af327ad12cda0119214c8cc6d71f7b0120bec600623d7dacda0e837fcfdd2591 -size 7081120 diff --git a/systemd-v248.3+suse.27.gfcdb8dce59.tar.xz b/systemd-v248.3+suse.27.gfcdb8dce59.tar.xz new file mode 100644 index 00000000..b2e871a9 --- /dev/null +++ b/systemd-v248.3+suse.27.gfcdb8dce59.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f885a1a2d22278ddbaa0220fac7e86b8adb89689b0b29e201e14fbec2ab9b502 +size 7080444 diff --git a/systemd.changes b/systemd.changes index d1a4edd2..1b0c63c9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Jun 24 13:39:30 UTC 2021 - Franck Bui + +- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 + + aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c + +- Restore 61-persistent-storage-compat.rules that was mistakenly + dropped during the merge of v248. + ------------------------------------------------------------------- Fri Jun 18 12:53:34 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9f6fd59c..b251488a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.25.gbc08011f04 +%define suse_version +suse.27.gfcdb8dce59 %bcond_with gnuefi %if 0%{?bootstrap} From 3f258fec5a2a8d83b80d781290c13a853c87877aa91e15a104e108ccf5b7dd0a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 28 Jun 2021 16:57:58 +0000 Subject: [PATCH 565/991] - Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1165 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 2 +- systemd-v248.3+suse.27.gfcdb8dce59.tar.xz | 3 --- systemd-v248.3+suse.30.ge9a23d9e06.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 2 +- 6 files changed, 21 insertions(+), 5 deletions(-) delete mode 100644 systemd-v248.3+suse.27.gfcdb8dce59.tar.xz create mode 100644 systemd-v248.3+suse.30.ge9a23d9e06.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 1b0c63c9..84317eba 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jun 28 16:45:04 UTC 2021 - Franck Bui + +- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 + + 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL + d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 + ------------------------------------------------------------------- Thu Jun 24 13:39:30 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d29a6aa6..cef89604 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.27.gfcdb8dce59 +%define suse_version +suse.30.ge9a23d9e06 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v248.3+suse.27.gfcdb8dce59.tar.xz b/systemd-v248.3+suse.27.gfcdb8dce59.tar.xz deleted file mode 100644 index b2e871a9..00000000 --- a/systemd-v248.3+suse.27.gfcdb8dce59.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f885a1a2d22278ddbaa0220fac7e86b8adb89689b0b29e201e14fbec2ab9b502 -size 7080444 diff --git a/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz b/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz new file mode 100644 index 00000000..2bda2ab4 --- /dev/null +++ b/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb92dd21edf73541f3ccce6fb95ab6a2c3d261e14c95a77445cada2982913fdc +size 7080532 diff --git a/systemd.changes b/systemd.changes index 1b0c63c9..84317eba 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jun 28 16:45:04 UTC 2021 - Franck Bui + +- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 + + 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL + d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 + ------------------------------------------------------------------- Thu Jun 24 13:39:30 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b251488a..9ba18701 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.27.gfcdb8dce59 +%define suse_version +suse.30.ge9a23d9e06 %bcond_with gnuefi %if 0%{?bootstrap} From 441419a1e69c265f50e81bd308837e45548d99bf8e8418c2cbb3946637522f85 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 1 Jul 2021 05:05:27 +0000 Subject: [PATCH 566/991] Accepting request 902866 from Base:System MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 - Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c - Restore 61-persistent-storage-compat.rules that was mistakenly dropped during the merge of v248. - Create /run/lock/subsys again (bsc#1187292) The creation of this directory was mistakenly dropped when 'filesystem' package took the initialization of the generic paths over. Paths under /run/lock are still managed by systemd for lack of better place. - Drop systemd's dependency on udev (jsc#PM-2677) In some environments (i.e. containers) udev is usually not necessary but pulls in unnecessary packages. - Now that chkconfig/insserv are history, let's implement the strict minimum in systemd-sysv-install to enable/disable SysV init scripts (bsc#1186595 bsc#1186359) Indeed there's no much point in dropping SysV support completely until upstream will do especially since 3rd party applications such as vmware still rely on it, see bsc#1186359). - Allow the sysusers config files shipped by systemd rpms to be overriden during system installation (bsc#1171962) - While at it, add a comment to explain why we don't use OBS-URL: https://build.opensuse.org/request/show/902866 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=330 --- ...ent-excessive-proc-self-mountinfo-pa.patch | 35 ++++ ...conf-parser-introduce-early-drop-ins.patch | 54 +++--- ...-part-from-etc-hostname-when-setting.patch | 28 ++- ...-exclude-statements-based-on-file-ow.patch | 124 ------------- ...dd-back-support-for-SysV-scripts-for.patch | 18 +- systemd-mini.changes | 168 ++++++++++++++++++ systemd-mini.spec | 165 +++++++++++------ systemd-sysv-install | 157 +++++++++++++--- systemd-v246.13+suse.105.g14581e0120.tar.xz | 3 - systemd-v248.3+suse.30.ge9a23d9e06.tar.xz | 3 + systemd.changes | 168 ++++++++++++++++++ systemd.spec | 165 +++++++++++------ tmpfiles-suse.conf | 4 + 13 files changed, 779 insertions(+), 313 deletions(-) create mode 100644 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch delete mode 100644 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch delete mode 100644 systemd-v246.13+suse.105.g14581e0120.tar.xz create mode 100644 systemd-v248.3+suse.30.ge9a23d9e06.tar.xz diff --git a/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch b/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch new file mode 100644 index 00000000..def1f512 --- /dev/null +++ b/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch @@ -0,0 +1,35 @@ +From c9bce1f07276c591d8637dbfc3244ee11e8fa4e1 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 18 May 2021 11:53:55 +0200 +Subject: [PATCH 1/1] Revert "core: prevent excessive /proc/self/mountinfo + parsing" + +This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756. + +This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756 temporarly until +more investigation is done to find the root cause of +https://github.com/systemd/systemd/issues/19464. +--- + src/core/mount.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index ca5d0939a1..2939062161 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1859,12 +1859,6 @@ static void mount_enumerate(Manager *m) { + goto fail; + } + +- r = sd_event_source_set_ratelimit(m->mount_event_source, 1 * USEC_PER_SEC, 5); +- if (r < 0) { +- log_error_errno(r, "Failed to enable rate limit for mount events: %m"); +- goto fail; +- } +- + (void) sd_event_source_set_description(m->mount_event_source, "mount-monitor-dispatch"); + } + +-- +2.26.2 + diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index c05f4769..3331afdc 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 569f94a86a608fa7a47fef583f3f504ec8223967 Mon Sep 17 00:00:00 2001 +From 0eb84d049c77dceeb48724770f89f0fa01557c87 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins @@ -61,23 +61,23 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 47 ++++++++++- - src/test/test-conf-parser.c | 151 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 194 insertions(+), 4 deletions(-) + src/shared/conf-parser.c | 48 ++++++++++-- + src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 7499b3b882..799026626c 100644 +index 9dfa190751..b5dee9cbb1 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -426,6 +426,7 @@ int config_parse(const char *unit, +@@ -428,6 +428,7 @@ int config_parse( static int config_parse_many_files( - const char *conf_file, + const char* const* conf_files, + char **early_files, char **files, const char *sections, ConfigItemLookup lookup, -@@ -438,6 +439,12 @@ static int config_parse_many_files( +@@ -440,6 +441,12 @@ static int config_parse_many_files( char **fn; int r; @@ -87,10 +87,10 @@ index 7499b3b882..799026626c 100644 + return r; + } + - if (conf_file) { - r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime); - if (r < 0) -@@ -456,6 +463,28 @@ static int config_parse_many_files( + /* First read the first found main config file. */ + STRV_FOREACH(fn, (char**) conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); +@@ -462,6 +469,28 @@ static int config_parse_many_files( return 0; } @@ -119,7 +119,7 @@ index 7499b3b882..799026626c 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -467,14 +496,19 @@ int config_parse_many_nulstr( +@@ -473,15 +502,19 @@ int config_parse_many_nulstr( void *userdata, usec_t *ret_mtime) { @@ -131,17 +131,18 @@ index 7499b3b882..799026626c 100644 if (r < 0) return r; -- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(STRV_MAKE_CONST(conf_file), +- files, sections, lookup, table, flags, userdata, + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + -+ return config_parse_many_files(conf_file, early_files, late_files, sections, -+ lookup, table, flags, userdata, ret_mtime); ++ return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, ++ sections, lookup, table, flags, userdata, + ret_mtime); } - /* Parse each config file in the directories specified as strv. */ -@@ -489,8 +523,8 @@ int config_parse_many( +@@ -497,8 +530,8 @@ int config_parse_many( void *userdata, usec_t *ret_mtime) { @@ -151,22 +152,22 @@ index 7499b3b882..799026626c 100644 const char *suffix; int r; -@@ -503,7 +537,12 @@ int config_parse_many( +@@ -511,7 +544,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + -+ return config_parse_many_files(conf_file, early_files, late_files, sections, -+ lookup, table, flags, userdata, ret_mtime); ++ return config_parse_many_files(conf_files, early_files, late_files, ++ sections, lookup, table, flags, userdata, ret_mtime); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 07edc17f92..2df4b073c5 100644 +index 5da864347e..77d9f28a79 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,7 +180,7 @@ index 07edc17f92..2df4b073c5 100644 #include "string-util.h" #include "strv.h" #include "tmpfile-util.h" -@@ -385,6 +388,151 @@ static void test_config_parse(unsigned i, const char *s) { +@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { } } @@ -263,7 +264,8 @@ index 07edc17f92..2df4b073c5 100644 + NULL, + NULL); + } else { -+ r = config_parse_many(conf_file, (const char * const*) conf_dirs, "", ++ r = config_parse_many(STRV_MAKE_CONST(conf_file), ++ (const char * const*) conf_dirs, "", + "Section\0", + config_item_table_lookup, items, + CONFIG_PARSE_WARN, @@ -331,7 +333,7 @@ index 07edc17f92..2df4b073c5 100644 int main(int argc, char **argv) { unsigned i; -@@ -407,5 +555,8 @@ int main(int argc, char **argv) { +@@ -407,5 +556,8 @@ int main(int argc, char **argv) { for (i = 0; i < ELEMENTSOF(config_file); i++) test_config_parse(i, config_file[i]); diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch index 5e9a1dfd..74e3790e 100644 --- a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +++ b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -1,7 +1,7 @@ -From f299a8180f1db0680b454c0e37696891361e3067 Mon Sep 17 00:00:00 2001 +From 54366ae306ae19bdb2a5af7eb5158260cdc37e8f Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting +Subject: [PATCH 1/1] strip the domain part from /etc/hostname when setting system host name [fbui: fixes bnc#820213] @@ -13,19 +13,17 @@ Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting possibility was to fix the installer to create a correct /etc/hostname file. Need to investigate...] --- - src/core/hostname-setup.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) + src/shared/hostname-setup.c | 7 +++++++ + 1 file changed, 7 insertions(+) -diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index 6d047db838..1acc0c998b 100644 ---- a/src/core/hostname-setup.c -+++ b/src/core/hostname-setup.c -@@ -39,8 +39,16 @@ int hostname_setup(void) { - enoent = true; +diff --git a/src/shared/hostname-setup.c b/src/shared/hostname-setup.c +index 511aa7d031..351d0e761d 100644 +--- a/src/shared/hostname-setup.c ++++ b/src/shared/hostname-setup.c +@@ -189,6 +189,13 @@ int hostname_setup(bool really) { else log_warning_errno(r, "Failed to read configured hostname: %m"); -- } else -+ } else { + } else { + char *domain; + + /* SUSE: strip the domain name */ @@ -34,10 +32,8 @@ index 6d047db838..1acc0c998b 100644 + *domain = '\0'; + hn = b; -+ } - } - - if (isempty(hn)) { + source = HOSTNAME_STATIC; + } -- 2.26.2 diff --git a/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch b/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch deleted file mode 100644 index 570f2c91..00000000 --- a/0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch +++ /dev/null @@ -1,124 +0,0 @@ -From b46d43bf980afe13cfff39fc2876aed10f33db1d Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Thu, 14 Apr 2016 15:42:02 +0200 -Subject: [PATCH 04/12] tmpfiles: support exclude statements based on file - ownership - -SUSE supported tmpfile cleanups based on file ownership before systemd. -So this feature needs to be available in systemd. -This was part of fate#314974 - -[tblume: suse-only patch ported from SLES12-SP1 commit e769a63907ae4b] -[tblume: part of fate#314974] ---- - man/tmpfiles.d.xml | 4 +++- - src/tmpfiles/tmpfiles.c | 49 ++++++++++++++++++++++++++++++++--------- - 2 files changed, 42 insertions(+), 11 deletions(-) - -diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml -index b9e9eee96c..b90ae01345 100644 ---- a/man/tmpfiles.d.xml -+++ b/man/tmpfiles.d.xml -@@ -605,7 +605,9 @@ w- /proc/sys/vm/swappiness - - - - 10 - suffixed by a newline. For C, specifies the source file or directory. For t - and T, determines extended attributes to be set. For a and - A, determines ACL attributes to be set. For h and H, -- determines the file attributes to set. Ignored for all other lines. -+ determines the file attributes to set. For x and X a comma separated list -+ of usernames. If given, only paths belonging to these users will be excluded during directory cleanup. Ignored -+ for all other lines. - - This field can contain specifiers, see below. - -diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 2404e36bf2..349653c786 100644 ---- a/src/tmpfiles/tmpfiles.c -+++ b/src/tmpfiles/tmpfiles.c -@@ -14,6 +14,8 @@ - #include - #include - #include -+#include -+#include - - #include "sd-path.h" - -@@ -505,6 +507,7 @@ static int dir_cleanup( - struct stat s; - usec_t age; - _cleanup_free_ char *sub_path = NULL; -+ Item *found; - - if (dot_or_dot_dot(dent->d_name)) - continue; -@@ -546,15 +549,41 @@ static int dir_cleanup( - goto finish; - } - -- /* Is there an item configured for this path? */ -- if (ordered_hashmap_get(items, sub_path)) { -- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -- continue; -- } -+ /* evaluate username arguments in ignore statements */ -+ found = find_glob(globs, sub_path); - -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -- continue; -+ if (i->type == CREATE_DIRECTORY && found && found->argument) { -+ struct passwd *pw; -+ char *userfound = NULL, *args = strdup(found->argument); -+ bool match = false; -+ -+ while ((userfound = strsep(&args, ","))) { -+ pw = getpwnam(userfound); -+ -+ if (pw) { -+ if (s.st_uid == pw->pw_uid) { -+ match = true; -+ break; -+ } -+ } -+ } -+ -+ if (match) { -+ log_debug("Ignoring \"%s\" of user \"%s\".", sub_path, pw->pw_name); -+ match=false; -+ continue; -+ } -+ } else { -+ /* Is there an item configured for this path? */ -+ if (ordered_hashmap_get(items, sub_path)) { -+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); -+ continue; -+ } -+ -+ if (found) { -+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -+ continue; -+ } - } - - if (S_ISDIR(s.st_mode)) { -@@ -2637,8 +2666,6 @@ static int parse_line( - case EMPTY_DIRECTORY: - case TRUNCATE_DIRECTORY: - case CREATE_FIFO: -- case IGNORE_PATH: -- case IGNORE_DIRECTORY_PATH: - case REMOVE_PATH: - case RECURSIVE_REMOVE_PATH: - case ADJUST_MODE: -@@ -2649,6 +2676,8 @@ static int parse_line( - - break; - -+ case IGNORE_PATH: -+ case IGNORE_DIRECTORY_PATH: - case CREATE_FILE: - case TRUNCATE_FILE: - break; --- -2.26.2 - diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch index 53c44ddd..fdf44437 100644 --- a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +++ b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch @@ -1,7 +1,7 @@ -From f9521480d5dc5af747fecc9adc4c617e473e5494 Mon Sep 17 00:00:00 2001 +From ac7bfed30245145ce68a037e7578da12ce2de009 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 May 2016 08:59:41 +0200 -Subject: [PATCH 06/12] sysv-generator: add (back) support for SysV scripts for +Subject: [PATCH 1/1] sysv-generator: add (back) support for SysV scripts for the early boot For the record, the upstream support was removed by commit @@ -43,7 +43,7 @@ the same time as 'normal' services. 1 file changed, 23 insertions(+) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index a2c72d1009..1c01008967 100644 +index 8c7aef23c3..f88f9119fb 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c @@ -31,6 +31,9 @@ static const struct { @@ -63,8 +63,8 @@ index a2c72d1009..1c01008967 100644 + bool early; } SysvStub; - static void free_sysvstub(SysvStub *s) { -@@ -147,6 +151,12 @@ static int generate_unit_file(SysvStub *s) { + static SysvStub* free_sysvstub(SysvStub *s) { +@@ -146,6 +150,12 @@ static int generate_unit_file(SysvStub *s) { fprintf(f, "Description=%s\n", t); } @@ -77,7 +77,7 @@ index a2c72d1009..1c01008967 100644 STRV_FOREACH(p, s->before) fprintf(f, "Before=%s\n", *p); STRV_FOREACH(p, s->after) -@@ -213,6 +223,10 @@ static char *sysv_translate_name(const char *name) { +@@ -212,6 +222,10 @@ static char *sysv_translate_name(const char *name) { _cleanup_free_ char *c = NULL; char *res; @@ -88,7 +88,7 @@ index a2c72d1009..1c01008967 100644 c = strdup(name); if (!c) return NULL; -@@ -289,6 +303,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, +@@ -288,6 +302,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, return 1; } @@ -100,7 +100,7 @@ index a2c72d1009..1c01008967 100644 /* Strip ".sh" suffix from file name for comparison */ filename_no_sh = strdupa(filename); e = endswith(filename_no_sh, ".sh"); -@@ -676,6 +695,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { +@@ -674,6 +693,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { if (other->sysv_start_priority < 0) continue; @@ -110,7 +110,7 @@ index a2c72d1009..1c01008967 100644 /* If both units have modern headers we don't care * about the priorities */ if (s->has_lsb && other->has_lsb) -@@ -800,6 +822,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { +@@ -798,6 +820,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { .sysv_start_priority = -1, .name = TAKE_PTR(name), .path = TAKE_PTR(fpath), diff --git a/systemd-mini.changes b/systemd-mini.changes index e63fc72b..84317eba 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,171 @@ +------------------------------------------------------------------- +Mon Jun 28 16:45:04 UTC 2021 - Franck Bui + +- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 + + 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL + d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 + +------------------------------------------------------------------- +Thu Jun 24 13:39:30 UTC 2021 - Franck Bui + +- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 + + aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c + +- Restore 61-persistent-storage-compat.rules that was mistakenly + dropped during the merge of v248. + +------------------------------------------------------------------- +Fri Jun 18 12:53:34 UTC 2021 - Franck Bui + +- Create /run/lock/subsys again (bsc#1187292) + + The creation of this directory was mistakenly dropped when + 'filesystem' package took the initialization of the generic paths + over. + + Paths under /run/lock are still managed by systemd for lack of + better place. + +------------------------------------------------------------------- +Fri Jun 4 13:10:30 UTC 2021 - Franck Bui + +- Drop systemd's dependency on udev (jsc#PM-2677) + + In some environments (i.e. containers) udev is usually not necessary + but pulls in unnecessary packages. + +------------------------------------------------------------------- +Fri Jun 4 07:32:16 UTC 2021 - Franck Bui + +- Now that chkconfig/insserv are history, let's implement the strict + minimum in systemd-sysv-install to enable/disable SysV init scripts + (bsc#1186595 bsc#1186359) + + Indeed there's no much point in dropping SysV support completely + until upstream will do especially since 3rd party applications such + as vmware still rely on it, see bsc#1186359). + +------------------------------------------------------------------- +Tue May 25 16:30:40 UTC 2021 - Franck Bui + +- Allow the sysusers config files shipped by systemd rpms to be + overriden during system installation (bsc#1171962) + +- While at it, add a comment to explain why we don't use + %sysusers_create in %pre and why it should be safe in %post. + +------------------------------------------------------------------- +Thu May 20 20:19:27 UTC 2021 - Franck Bui + +- udev requires systemd in its %post (bsc#1185958) + + udevadm, called in udev's %post, requires libsystemd-shared-248.so. + +------------------------------------------------------------------- +Thu May 20 18:52:53 UTC 2021 - Franck Bui + +- Restore all "License:" tags + + udev uses a different license (GPL-2.0-only) than the main package + and "osc service localrun format_spec_file" has the good taste to + restore the license tags for all other subpackages if one of the + subpackage tag differs. + +------------------------------------------------------------------- +Thu May 20 15:47:38 UTC 2021 - Franck Bui + +- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) + +------------------------------------------------------------------- +Wed May 19 06:54:57 UTC 2021 - Franck Bui + +- Spec file minor cleanups: + + - Drop all "Group:" tags as they are deprecated. + + - Drop "License:" tags from all subpackages and make it inherited + from the main package. + + - Drop "%bcond_with parentpathid" as it's not used. + +------------------------------------------------------------------- +Tue May 18 18:31:20 UTC 2021 - Franck Bui + +- Introduce subpackage systemd-tests + + This subpackage is mainly used before submitting a new version of + the systemd packages. As such it's not intended for regular users + hence can be removed/renamed at any time. One might wonder why the + unit tests are not executed during package builds (%check)... the + reason is that the environment used to build package (chroot) is too + limited and therefore only a subset of the unit tests would be + executed in this environment. + + To disable the build of the subpackage, use "--without=tests". + +------------------------------------------------------------------- +Tue May 18 10:04:16 UTC 2021 - Franck Bui + +- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + A temporary patch until + https://github.com/systemd/systemd/issues/19464 is solved. + +------------------------------------------------------------------- +Tue May 18 08:19:57 UTC 2021 - Franck Bui + +- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b + +------------------------------------------------------------------- +Mon May 10 13:12:56 UTC 2021 - Franck Bui + +- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa + +------------------------------------------------------------------- +Mon Apr 26 16:25:38 UTC 2021 - Franck Bui + +- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7) + + See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for + details. + + - A couple runtime dependencies on libraries are now tracked + manually (with Recommends:) due to the fact that some symbols of + these libs are dynamically loaded with dlopen() (heck!) + + - oomd is left disablde for now + + - pam configuration file 'systemd-user' is now shipped in + /usr/etc/pam.d + + - Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + + - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + as it is SLE specific. + +- Clean systemd-experimental up: + + - Enclose "%package/%descriptoin experimental" within a "%if + %experimental/%endif" block condition + + - List the build requirements in the sub-package instead of listing + them in the main package. + + - Enable support for fido2, pwquality and qrencode in the home + stuff + + - Improve the package description + ------------------------------------------------------------------- Wed Apr 7 08:59:15 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 5ed9d5d2..cef89604 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.105.g14581e0120 +%define suse_version +suse.30.ge9a23d9e06 %bcond_with gnuefi %if 0%{?bootstrap} @@ -39,6 +39,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental +%bcond_with tests %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -52,16 +53,15 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental +%bcond_without tests %endif -%bcond_with parentpathid Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.13 +Version: 248.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later -Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets @@ -76,6 +76,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) +BuildRequires: pkgconfig(libfido2) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -113,10 +114,6 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif -%if %{with experimental} -BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -128,13 +125,15 @@ Provides: systemd = %{version}-%{release} Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) +# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl +Recommends: libpcre2-8-0 +# ditto but dlopen()ed by systemd-cryptenroll +Recommends: libfido2 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -175,7 +174,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -191,6 +189,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -206,7 +205,6 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc @@ -218,7 +216,6 @@ The HTML documentation for systemd. %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} @@ -231,7 +228,6 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -244,7 +240,6 @@ Drop-in replacement of System V init tools. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libsystemd0 Requires: this-is-only-for-build-envs @@ -274,14 +269,14 @@ This library provides several of the systemd C APIs: %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0-only -Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -Requires(postun): /usr/bin/systemctl +%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -307,7 +302,6 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 Conflicts: kiwi @@ -322,7 +316,6 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1-or-later -Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} @@ -338,7 +331,6 @@ dynamic library, which provides access to udev device information. %package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -352,7 +344,6 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn @@ -370,8 +361,9 @@ and systemd-importd. %package network Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} +# This Recommends because some symbols of libidn2 are dlopen()ed by resolved +Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved @@ -387,7 +379,6 @@ resolver tools for resolved %package portable Summary: Systemd tools for portable services License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires @@ -407,7 +398,6 @@ https://systemd.io/PORTABLE_SERVICES %package logger Summary: Journal only logging License: LGPL-2.1-or-later -Group: System/Base Provides: syslog Provides: sysvinit(syslog) Requires(post): /usr/bin/systemctl @@ -419,7 +409,6 @@ This package marks the installation to not use syslog but only the journal. %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-systemd This package contains a plugin for the Name Service Switch (NSS), @@ -432,7 +421,6 @@ To activate this NSS module, you will need to include it in %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-myhostname This package contains a plug-in module for the Name Service Switch @@ -449,7 +437,6 @@ To activate this NSS module, you will need to include it in %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later -Group: System/Libraries Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve @@ -466,7 +453,6 @@ To activate this NSS module, you will need to include it in %package -n nss-mymachines Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-mymachines This package contains a plugin for the Name Service Switch (NSS), @@ -483,11 +469,8 @@ To activate this NSS module, you will need to include it in %package journal-remote Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%systemd_requires %description journal-remote This extends the journal functionality to keep a copy of logs on a @@ -499,23 +482,61 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if %{with tests} +%package tests +Summary: Unit tests for systemd +License: LGPL-2.1-or-later +Requires: %{name} = %{version}-%{release} +Recommends: python3 +Recommends: python3-colorama +# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) +Recommends: dosfstools + +%description tests +This package contains the unit tests used to check various internal +functions used by systemd and all its components. + +The python script /usr/lib/systemd/tests/run-unit-tests.py can be used +to run all unit tests at once. +%endif + +%if %{with experimental} %package experimental Summary: Experimental systemd features License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} +# These Recommends because some symbols of these libs are dlopen()ed by home stuff +Recommends: libfido2 +Recommends: libpwquality1 +Recommends: libqrencode4 +# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(pwquality) +# fdisk and openssl are build requirements for home stuff and repart +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) %systemd_requires %description experimental -This package contains optional extra systemd services that are -considered a preview feature. Behaviour details and option names are -subject to change without the usual backwards-compatibility promises. +This package contains optional extra services that are considered as +previews and are provided so users can do early experiments with the +new features or technologies without waiting for them to be fully +supported by either upstream and openSUSE. -Components that turn out to be stable may be merged into the main or a -dedicated package later. +Please note that all services should be considered in development +phase and as such their behaviors details, unit files, option names, +etc... are subject to change without the usual backwards-compatibility +promises. -Use at your own risk. +Components that turn out to be stable and considered as fully +supported will be merged into the main package or moved into a +dedicated package. +The package contains: homed, pstore, repart, userdbd. + +Have fun with these services at your own risk. +%endif %if ! 0%{?bootstrap} %lang_package @@ -528,6 +549,7 @@ Use at your own risk. %build # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ @@ -535,6 +557,7 @@ Use at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dpamconfdir=%{_distconfdir}/pam.d \ -Dpamlibdir=%{_pamdir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ @@ -550,6 +573,7 @@ Use at your own risk. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Doomd=false \ %if %{with experimental} -Dpstore=true \ -Drepart=true \ @@ -562,16 +586,11 @@ Use at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} - -Dfdisk=false \ - -Dpwquality=false \ - -Dp11kit=false \ + -Dnss-myhostname=false \ %else -Dman=true \ -Dhtml=true \ %endif -%if 0%{?bootstrap} - -Dnss-myhostname=false \ -%endif %if %{without coredump} -Dcoredump=false \ %endif @@ -599,6 +618,13 @@ Use at your own risk. %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ +%endif +%if %{with tests} + -Dtests=unsafe \ + -Dinstall-tests=true \ +%else + -Dtests=false \ + -Dinstall-tests=false \ %endif -Dadm-group=false \ -Dwheel-group=false \ @@ -660,8 +686,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target -# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ +# Replace upstream systemd-user with the openSUSE one. +install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -838,10 +864,16 @@ fi pam-config --add --systemd || : %endif -%sysusers_create %{_sysusersdir}/systemd.conf +# systemd-sysusers is not available in %pre so this needs to be done +# in %post. However this shouldn't be an issue since all files the +# main package ships are owned by root. +%sysusers_create systemd.conf + [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : + systemctl daemon-reexec || : + %journal_catalog_update %tmpfiles_create @@ -908,7 +940,7 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -# daemon-reload is implied by %systemd_postun_with_restart +# daemon-reload is implied by %%systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) @@ -1012,7 +1044,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_sysusersdir}/systemd-remote.conf +# Assume that all files shipped by systemd-journal-remove are owned by root. +%sysusers_create systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -1116,7 +1149,11 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze +%if ! 0%{?bootstrap} +%{_bindir}/systemd-cryptenroll +%endif %{_bindir}/systemd-delta +%{_bindir}/systemd-dissect %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-id128 @@ -1126,6 +1163,7 @@ fi %{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run +%{_bindir}/systemd-sysext %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl @@ -1166,6 +1204,7 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined @@ -1262,6 +1301,7 @@ fi %{_modulesloaddir} %dir %{_sysusersdir} +%doc %{_sysusersdir}/README %{_sysusersdir}/systemd.conf %dir %{_sysconfdir}/tmpfiles.d @@ -1275,6 +1315,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%doc %{_sysctldir}/README %{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1289,7 +1330,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%config(noreplace) %{_sysconfdir}/pam.d/systemd-user +%{_distconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1313,6 +1354,7 @@ fi # FIXME: why do we have to own this dir ? %dir %{_modprobedir} +%doc %{_modprobedir}/README %{_modprobedir}/systemd.conf # Some files created at runtime. @@ -1353,6 +1395,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* +%{_mandir}/man8//rc-local.* %{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* @@ -1477,13 +1520,18 @@ fi %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id +# dmi_memory_id is only relevant on arches with DMI +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +%{_prefix}/lib/udev/dmi_memory_id +%endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%ghost %{_prefix}/lib/udev/compat-symlink-generation +%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %dir %{_udevrulesdir}/ +%doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules %exclude %{_udevrulesdir}/71-seat.rules %exclude %{_udevrulesdir}/73-seat-late.rules @@ -1504,6 +1552,7 @@ fi %endif %dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd +%{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket %{_unitdir}/initrd-udevadm-cleanup-db.service @@ -1696,10 +1745,15 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with tests} +%files tests +%{_prefix}/lib/systemd/tests +%endif + %if %{with experimental} %files experimental %defattr(-,root,root) -%config(noreplace) /etc/systemd/pstore.conf +%config(noreplace) %{_sysconfdir}/systemd/pstore.conf %{_prefix}/lib/systemd/systemd-pstore %{_unitdir}/systemd-pstore.service %{_tmpfilesdir}/systemd-pstore.conf @@ -1707,18 +1761,19 @@ fi %{_bindir}/systemd-repart %{_unitdir}/systemd-repart.service %{_mandir}/man*/*repart* -/usr/bin/userdbctl +%{_bindir}/userdbctl %{_prefix}/lib/systemd/systemd-userwork %{_prefix}/lib/systemd/systemd-userdbd %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket %{_mandir}/man*/userdbctl* %{_mandir}/man*/systemd-userdbd* -%config %{_sysconfdir}/homed.conf +%config(noreplace) %{_sysconfdir}/systemd/homed.conf %{_bindir}/homectl %{_prefix}/lib/systemd/systemd-homed %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-homed-activate.service %{_pamdir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf diff --git a/systemd-sysv-install b/systemd-sysv-install index 36e13055..403fc632 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -1,41 +1,148 @@ -#!/bin/sh +#!/bin/bash + # This script is called by "systemctl enable/disable" when the given unit is a # SysV init.d script. It needs to call the distribution's mechanism for # enabling/disabling those, such as chkconfig, update-rc.d, or similar. This # can optionally take a --root argument for enabling a SysV init script # in a chroot or similar. +# +# chkconfig(8) and insserv(8) are no more available hence let's do the +# bare minimum and create/remote the symlinks for the well known +# runlevels and nothing more. Note that we don't take care of +# enabling/disabling the service dependencies as the sysv-generator +# will take care of them for us (openSUSE specific). +# + set -e usage() { - echo "Usage: $0 [--root=path] enable|disable|is-enabled " >&2 - exit 1 + echo >&2 "Usage: $0 [--quiet] [--root=path] enable|disable|is-enabled " + exit 1 } +info() { + $quiet || echo "$*" +} + +die() { + echo >&2 "error: $*, aborting." + exit 1 +} + +declare -A lsb_header + +check_runlevels() { + for l in $*; do + # Sanity check + case $l in + 0|1|2|3|4|5|6) continue ;; + *) return 1 + esac + done +} + +load_initscript() { + local found_lsb_start_marker=false + local found_lsb_end_marker=false + + [ -r $1 ] || die "initscript /etc/init.d/$1 can't be read" + + lsb_header=() + + while read line; do + # skip anything that is not a comment + [[ "$line" =~ ^# ]] || continue + + if ! $found_lsb_start_marker; then + [ "$line" == "### BEGIN INIT INFO" ] && + found_lsb_start_marker=true + continue + fi + + line=$(echo ${line:1}) + + case "$line" in + Default-Start:*) + levels=$(echo ${line:14}) + + check_runlevels $levels || + die "Invalid runlevels specified in $line" + + lsb_header[Default-Start]=$levels + ;; + "## END INIT INFO") + found_lsb_end_marker=true + break ;; + esac + done <$1 + + $found_lsb_end_marker || + die "malformated LSB header in $1: missing LSB end marker" +} + +enable_initscript() { + load_initscript $1 + + for l in ${lsb_header[Default-Start]}; do + symlink="$(pwd)/rc${l}.d/S50$1" + + info "ln -sf ../$1 $symlink" + ln -sf ../$1 "$symlink" + done +} + +disable_initscript() { + for symlink in rc*.d/[SK]*; do + [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && { + info "rm $(pwd)/$symlink" + rm $symlink + } + done +} + +is_initscript_enabled() { + for symlink in rc*.d/S*; do + [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && + return 0 + done + return 1 +} + +root= +quiet=false + # parse options -eval set -- "$(getopt -o r: --long root: -- "$@")" +eval set -- "$(getopt --name $(basename $0) -o hqr: --long help,quiet,root: -- "$@")" while true; do - case "$1" in - -r|--root) - ROOT="$2" - shift 2 ;; - --) shift ; break ;; - *) usage ;; - esac + case "$1" in + -h|--help) + usage ;; + -r|--root) + shift + root=$1 ;; + -q|--quiet) + quiet=true ;; + --) + shift + break ;; + *) + usage ;; + esac + shift done -NAME="$2" -[ -n "$NAME" ] || usage +[ $# -eq 2 ] || usage +action=$1 +name=$2 -case "$1" in - enable) - chkconfig $ROOT --no-systemctl -s "$NAME" on - ;; - disable) - chkconfig $ROOT --no-systemctl -s "$NAME" off - ;; - is-enabled) - chkconfig $ROOT --no-systemctl -c "$NAME" - ;; - *) - usage ;; +sysvinit_path=$(realpath -q -e $root/etc/init.d) || + die "$root/etc/init.d: no such file or directory" + +cd $sysvinit_path + +case "$action" in +enable) enable_initscript $name ;; +disable) disable_initscript $name ;; +is-enabled) is_initscript_enabled $name ;; +*) usage esac diff --git a/systemd-v246.13+suse.105.g14581e0120.tar.xz b/systemd-v246.13+suse.105.g14581e0120.tar.xz deleted file mode 100644 index 67e2c666..00000000 --- a/systemd-v246.13+suse.105.g14581e0120.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6316b2146335f43df36f200bdad2482858a6f83a56c50f7b1221b6a24e552eb8 -size 6574688 diff --git a/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz b/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz new file mode 100644 index 00000000..2bda2ab4 --- /dev/null +++ b/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb92dd21edf73541f3ccce6fb95ab6a2c3d261e14c95a77445cada2982913fdc +size 7080532 diff --git a/systemd.changes b/systemd.changes index e63fc72b..84317eba 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,171 @@ +------------------------------------------------------------------- +Mon Jun 28 16:45:04 UTC 2021 - Franck Bui + +- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 + + 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL + d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 + +------------------------------------------------------------------- +Thu Jun 24 13:39:30 UTC 2021 - Franck Bui + +- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 + + aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c + +- Restore 61-persistent-storage-compat.rules that was mistakenly + dropped during the merge of v248. + +------------------------------------------------------------------- +Fri Jun 18 12:53:34 UTC 2021 - Franck Bui + +- Create /run/lock/subsys again (bsc#1187292) + + The creation of this directory was mistakenly dropped when + 'filesystem' package took the initialization of the generic paths + over. + + Paths under /run/lock are still managed by systemd for lack of + better place. + +------------------------------------------------------------------- +Fri Jun 4 13:10:30 UTC 2021 - Franck Bui + +- Drop systemd's dependency on udev (jsc#PM-2677) + + In some environments (i.e. containers) udev is usually not necessary + but pulls in unnecessary packages. + +------------------------------------------------------------------- +Fri Jun 4 07:32:16 UTC 2021 - Franck Bui + +- Now that chkconfig/insserv are history, let's implement the strict + minimum in systemd-sysv-install to enable/disable SysV init scripts + (bsc#1186595 bsc#1186359) + + Indeed there's no much point in dropping SysV support completely + until upstream will do especially since 3rd party applications such + as vmware still rely on it, see bsc#1186359). + +------------------------------------------------------------------- +Tue May 25 16:30:40 UTC 2021 - Franck Bui + +- Allow the sysusers config files shipped by systemd rpms to be + overriden during system installation (bsc#1171962) + +- While at it, add a comment to explain why we don't use + %sysusers_create in %pre and why it should be safe in %post. + +------------------------------------------------------------------- +Thu May 20 20:19:27 UTC 2021 - Franck Bui + +- udev requires systemd in its %post (bsc#1185958) + + udevadm, called in udev's %post, requires libsystemd-shared-248.so. + +------------------------------------------------------------------- +Thu May 20 18:52:53 UTC 2021 - Franck Bui + +- Restore all "License:" tags + + udev uses a different license (GPL-2.0-only) than the main package + and "osc service localrun format_spec_file" has the good taste to + restore the license tags for all other subpackages if one of the + subpackage tag differs. + +------------------------------------------------------------------- +Thu May 20 15:47:38 UTC 2021 - Franck Bui + +- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) + +------------------------------------------------------------------- +Wed May 19 06:54:57 UTC 2021 - Franck Bui + +- Spec file minor cleanups: + + - Drop all "Group:" tags as they are deprecated. + + - Drop "License:" tags from all subpackages and make it inherited + from the main package. + + - Drop "%bcond_with parentpathid" as it's not used. + +------------------------------------------------------------------- +Tue May 18 18:31:20 UTC 2021 - Franck Bui + +- Introduce subpackage systemd-tests + + This subpackage is mainly used before submitting a new version of + the systemd packages. As such it's not intended for regular users + hence can be removed/renamed at any time. One might wonder why the + unit tests are not executed during package builds (%check)... the + reason is that the environment used to build package (chroot) is too + limited and therefore only a subset of the unit tests would be + executed in this environment. + + To disable the build of the subpackage, use "--without=tests". + +------------------------------------------------------------------- +Tue May 18 10:04:16 UTC 2021 - Franck Bui + +- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + A temporary patch until + https://github.com/systemd/systemd/issues/19464 is solved. + +------------------------------------------------------------------- +Tue May 18 08:19:57 UTC 2021 - Franck Bui + +- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b + +------------------------------------------------------------------- +Mon May 10 13:12:56 UTC 2021 - Franck Bui + +- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa + +------------------------------------------------------------------- +Mon Apr 26 16:25:38 UTC 2021 - Franck Bui + +- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7) + + See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for + details. + + - A couple runtime dependencies on libraries are now tracked + manually (with Recommends:) due to the fact that some symbols of + these libs are dynamically loaded with dlopen() (heck!) + + - oomd is left disablde for now + + - pam configuration file 'systemd-user' is now shipped in + /usr/etc/pam.d + + - Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + + - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch + as it is SLE specific. + +- Clean systemd-experimental up: + + - Enclose "%package/%descriptoin experimental" within a "%if + %experimental/%endif" block condition + + - List the build requirements in the sub-package instead of listing + them in the main package. + + - Enable support for fido2, pwquality and qrencode in the home + stuff + + - Improve the package description + ------------------------------------------------------------------- Wed Apr 7 08:59:15 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d31ca44b..9ba18701 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.105.g14581e0120 +%define suse_version +suse.30.ge9a23d9e06 %bcond_with gnuefi %if 0%{?bootstrap} @@ -37,6 +37,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental +%bcond_with tests %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -50,16 +51,15 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental +%bcond_without tests %endif -%bcond_with parentpathid Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 246.13 +Version: 248.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later -Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets @@ -74,6 +74,7 @@ BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) +BuildRequires: pkgconfig(libfido2) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -111,10 +112,6 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %if %{with gnuefi} BuildRequires: gnu-efi %endif -%if %{with experimental} -BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 @@ -126,13 +123,15 @@ Provides: systemd = %{version}-%{release} Requires: aaa_base >= 13.2 Requires: dbus-1 >= 1.4.0 Requires: kbd -Requires: kmod >= 15 Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding -Requires: udev = %{version}-%{release} Requires: util-linux >= 2.27.1 Requires: group(lock) +# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl +Recommends: libpcre2-8-0 +# ditto but dlopen()ed by systemd-cryptenroll +Recommends: libfido2 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -173,7 +172,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -189,6 +187,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -204,7 +203,6 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -Group: Documentation/Other Supplements: (systemd and patterns-base-documentation) %description doc @@ -216,7 +214,6 @@ The HTML documentation for systemd. %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ Requires: libsystemd0%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros %if 0%{?bootstrap} @@ -229,7 +226,6 @@ Development headers and auxiliary files for developing applications for systemd. %package sysvinit Summary: System V init tools License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) @@ -242,7 +238,6 @@ Drop-in replacement of System V init tools. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libsystemd0 Requires: this-is-only-for-build-envs @@ -272,14 +267,14 @@ This library provides several of the systemd C APIs: %package -n udev%{?mini} Summary: A rule-based device node and kernel event manager License: GPL-2.0-only -Group: System/Kernel URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -Requires(postun): /usr/bin/systemctl +%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -305,7 +300,6 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -Group: System/Libraries %if 0%{?bootstrap} Conflicts: libudev1 Conflicts: kiwi @@ -320,7 +314,6 @@ access to udev device information %package -n libudev%{?mini}-devel Summary: Development files for libudev License: LGPL-2.1-or-later -Group: Development/Libraries/Other Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} @@ -336,7 +329,6 @@ dynamic library, which provides access to udev device information. %package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl @@ -350,7 +342,6 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/systemd-nspawn @@ -368,8 +359,9 @@ and systemd-importd. %package network Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} +# This Recommends because some symbols of libidn2 are dlopen()ed by resolved +Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved @@ -385,7 +377,6 @@ resolver tools for resolved %package portable Summary: Systemd tools for portable services License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires @@ -405,7 +396,6 @@ https://systemd.io/PORTABLE_SERVICES %package logger Summary: Journal only logging License: LGPL-2.1-or-later -Group: System/Base Provides: syslog Provides: sysvinit(syslog) Requires(post): /usr/bin/systemctl @@ -417,7 +407,6 @@ This package marks the installation to not use syslog but only the journal. %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-systemd This package contains a plugin for the Name Service Switch (NSS), @@ -430,7 +419,6 @@ To activate this NSS module, you will need to include it in %package -n nss-myhostname Summary: Plugin for local system host name resolution License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-myhostname This package contains a plug-in module for the Name Service Switch @@ -447,7 +435,6 @@ To activate this NSS module, you will need to include it in %package -n nss-resolve Summary: Plugin for local hostname resolution via systemd-resolved License: LGPL-2.1-or-later -Group: System/Libraries Requires: %{name}-network = %{version}-%{release} %description -n nss-resolve @@ -464,7 +451,6 @@ To activate this NSS module, you will need to include it in %package -n nss-mymachines Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later -Group: System/Libraries %description -n nss-mymachines This package contains a plugin for the Name Service Switch (NSS), @@ -481,11 +467,8 @@ To activate this NSS module, you will need to include it in %package journal-remote Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%systemd_requires %description journal-remote This extends the journal functionality to keep a copy of logs on a @@ -497,23 +480,61 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif +%if %{with tests} +%package tests +Summary: Unit tests for systemd +License: LGPL-2.1-or-later +Requires: %{name} = %{version}-%{release} +Recommends: python3 +Recommends: python3-colorama +# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) +Recommends: dosfstools + +%description tests +This package contains the unit tests used to check various internal +functions used by systemd and all its components. + +The python script /usr/lib/systemd/tests/run-unit-tests.py can be used +to run all unit tests at once. +%endif + +%if %{with experimental} %package experimental Summary: Experimental systemd features License: LGPL-2.1-or-later -Group: System/Base Requires: %{name} = %{version}-%{release} +# These Recommends because some symbols of these libs are dlopen()ed by home stuff +Recommends: libfido2 +Recommends: libpwquality1 +Recommends: libqrencode4 +# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(pwquality) +# fdisk and openssl are build requirements for home stuff and repart +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(openssl) %systemd_requires %description experimental -This package contains optional extra systemd services that are -considered a preview feature. Behaviour details and option names are -subject to change without the usual backwards-compatibility promises. +This package contains optional extra services that are considered as +previews and are provided so users can do early experiments with the +new features or technologies without waiting for them to be fully +supported by either upstream and openSUSE. -Components that turn out to be stable may be merged into the main or a -dedicated package later. +Please note that all services should be considered in development +phase and as such their behaviors details, unit files, option names, +etc... are subject to change without the usual backwards-compatibility +promises. -Use at your own risk. +Components that turn out to be stable and considered as fully +supported will be merged into the main package or moved into a +dedicated package. +The package contains: homed, pstore, repart, userdbd. + +Have fun with these services at your own risk. +%endif %if ! 0%{?bootstrap} %lang_package @@ -526,6 +547,7 @@ Use at your own risk. %build # keep split-usr until all packages have moved their systemd rules to /usr %meson \ + -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ @@ -533,6 +555,7 @@ Use at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dpamconfdir=%{_distconfdir}/pam.d \ -Dpamlibdir=%{_pamdir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ @@ -548,6 +571,7 @@ Use at your own risk. -Dsmack=false \ -Dima=false \ -Delfutils=auto \ + -Doomd=false \ %if %{with experimental} -Dpstore=true \ -Drepart=true \ @@ -560,16 +584,11 @@ Use at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} - -Dfdisk=false \ - -Dpwquality=false \ - -Dp11kit=false \ + -Dnss-myhostname=false \ %else -Dman=true \ -Dhtml=true \ %endif -%if 0%{?bootstrap} - -Dnss-myhostname=false \ -%endif %if %{without coredump} -Dcoredump=false \ %endif @@ -597,6 +616,13 @@ Use at your own risk. %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ +%endif +%if %{with tests} + -Dtests=unsafe \ + -Dinstall-tests=true \ +%else + -Dtests=false \ + -Dinstall-tests=false \ %endif -Dadm-group=false \ -Dwheel-group=false \ @@ -658,8 +684,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target -# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/ +# Replace upstream systemd-user with the openSUSE one. +install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -836,10 +862,16 @@ fi pam-config --add --systemd || : %endif -%sysusers_create %{_sysusersdir}/systemd.conf +# systemd-sysusers is not available in %pre so this needs to be done +# in %post. However this shouldn't be an issue since all files the +# main package ships are owned by root. +%sysusers_create systemd.conf + [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : + systemctl daemon-reexec || : + %journal_catalog_update %tmpfiles_create @@ -906,7 +938,7 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys fi %postun -# daemon-reload is implied by %systemd_postun_with_restart +# daemon-reload is implied by %%systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) @@ -1010,7 +1042,8 @@ fi %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_sysusersdir}/systemd-remote.conf +# Assume that all files shipped by systemd-journal-remove are owned by root. +%sysusers_create systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -1114,7 +1147,11 @@ fi %{_bindir}/localectl %{_bindir}/systemctl %{_bindir}/systemd-analyze +%if ! 0%{?bootstrap} +%{_bindir}/systemd-cryptenroll +%endif %{_bindir}/systemd-delta +%{_bindir}/systemd-dissect %{_bindir}/systemd-escape %{_bindir}/systemd-firstboot %{_bindir}/systemd-id128 @@ -1124,6 +1161,7 @@ fi %{_bindir}/systemd-umount %{_bindir}/systemd-notify %{_bindir}/systemd-run +%{_bindir}/systemd-sysext %{_bindir}/journalctl %{_bindir}/systemd-ask-password %{_bindir}/loginctl @@ -1164,6 +1202,7 @@ fi %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined @@ -1260,6 +1299,7 @@ fi %{_modulesloaddir} %dir %{_sysusersdir} +%doc %{_sysusersdir}/README %{_sysusersdir}/systemd.conf %dir %{_sysconfdir}/tmpfiles.d @@ -1273,6 +1313,7 @@ fi %dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d +%doc %{_sysctldir}/README %{_sysctldir}/99-sysctl.conf %dir %{_sysconfdir}/X11/xorg.conf.d @@ -1287,7 +1328,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%config(noreplace) %{_sysconfdir}/pam.d/systemd-user +%{_distconfdir}/pam.d/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1311,6 +1352,7 @@ fi # FIXME: why do we have to own this dir ? %dir %{_modprobedir} +%doc %{_modprobedir}/README %{_modprobedir}/systemd.conf # Some files created at runtime. @@ -1351,6 +1393,7 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* +%{_mandir}/man8//rc-local.* %{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* @@ -1475,13 +1518,18 @@ fi %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id +# dmi_memory_id is only relevant on arches with DMI +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +%{_prefix}/lib/udev/dmi_memory_id +%endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id -%ghost %{_prefix}/lib/udev/compat-symlink-generation +%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %dir %{_udevrulesdir}/ +%doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules %exclude %{_udevrulesdir}/71-seat.rules %exclude %{_udevrulesdir}/73-seat-late.rules @@ -1502,6 +1550,7 @@ fi %endif %dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd +%{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket %{_unitdir}/initrd-udevadm-cleanup-db.service @@ -1694,10 +1743,15 @@ fi %{_mandir}/man*/systemd-portabled* %endif +%if %{with tests} +%files tests +%{_prefix}/lib/systemd/tests +%endif + %if %{with experimental} %files experimental %defattr(-,root,root) -%config(noreplace) /etc/systemd/pstore.conf +%config(noreplace) %{_sysconfdir}/systemd/pstore.conf %{_prefix}/lib/systemd/systemd-pstore %{_unitdir}/systemd-pstore.service %{_tmpfilesdir}/systemd-pstore.conf @@ -1705,18 +1759,19 @@ fi %{_bindir}/systemd-repart %{_unitdir}/systemd-repart.service %{_mandir}/man*/*repart* -/usr/bin/userdbctl +%{_bindir}/userdbctl %{_prefix}/lib/systemd/systemd-userwork %{_prefix}/lib/systemd/systemd-userdbd %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket %{_mandir}/man*/userdbctl* %{_mandir}/man*/systemd-userdbd* -%config %{_sysconfdir}/homed.conf +%config(noreplace) %{_sysconfdir}/systemd/homed.conf %{_bindir}/homectl %{_prefix}/lib/systemd/systemd-homed %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-homed-activate.service %{_pamdir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 885e852c..68635292 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -9,6 +9,10 @@ L+ /etc/mtab - - - - ../proc/self/mounts # FIXME: Might be moved to lockded. d /run/lock 0775 root lock - +# /run/lock/subsys is used for serializing SysV service execution, and +# hence without use on SysV-less systems. +d /run/lock/subsys 0755 root root - + # FIXME: Should these one be moved to shadow ? f /var/log/wtmp 0664 root utmp - f /var/log/btmp 0660 root utmp - From 1dd0355aaf7c29de219723b583394aab4c0179dfa2ac56d1553122f50d77c138 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 1 Jul 2021 07:51:39 +0000 Subject: [PATCH 567/991] - Finally don't create /run/lock/subsys anymore This effectively reverts the fix for bsc#1187292 made earlier. This directory is specific to RH sysvinit and since we're going to fade the support of SysV init script away the directory has no future. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1166 --- systemd-mini.changes | 9 +++++++++ systemd.changes | 9 +++++++++ tmpfiles-suse.conf | 4 ---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 84317eba..5c51d4f8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Jul 1 07:47:31 UTC 2021 - Franck Bui + +- Finally don't create /run/lock/subsys anymore + + This effectively reverts the fix for bsc#1187292 made earlier. This + directory is specific to RH sysvinit and since we're going to fade + the support of SysV init script away the directory has no future. + ------------------------------------------------------------------- Mon Jun 28 16:45:04 UTC 2021 - Franck Bui diff --git a/systemd.changes b/systemd.changes index 84317eba..5c51d4f8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Jul 1 07:47:31 UTC 2021 - Franck Bui + +- Finally don't create /run/lock/subsys anymore + + This effectively reverts the fix for bsc#1187292 made earlier. This + directory is specific to RH sysvinit and since we're going to fade + the support of SysV init script away the directory has no future. + ------------------------------------------------------------------- Mon Jun 28 16:45:04 UTC 2021 - Franck Bui diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 68635292..885e852c 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -9,10 +9,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts # FIXME: Might be moved to lockded. d /run/lock 0775 root lock - -# /run/lock/subsys is used for serializing SysV service execution, and -# hence without use on SysV-less systems. -d /run/lock/subsys 0755 root root - - # FIXME: Should these one be moved to shadow ? f /var/log/wtmp 0664 root utmp - f /var/log/btmp 0660 root utmp - From c745c33e884e1a3f55f453fa3b44396b23f5ce24141f5e1872b450bd90bfac77 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 1 Jul 2021 08:51:02 +0000 Subject: [PATCH 568/991] Accepting request 902825 from home:favogt:microtpm - Enable TPM2 support - Enable TPM2 support OBS-URL: https://build.opensuse.org/request/show/902825 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1167 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 7 +++++++ systemd.changes | 5 +++++ systemd.spec | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 5c51d4f8..c11e4dc7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -15,6 +15,11 @@ Mon Jun 28 16:45:04 UTC 2021 - Franck Bui 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 +------------------------------------------------------------------- +Mon Jun 28 12:46:04 UTC 2021 - Fabian Vogt + +- Enable TPM2 support + ------------------------------------------------------------------- Thu Jun 24 13:39:30 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index cef89604..65f56a41 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -83,6 +83,9 @@ BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif @@ -134,6 +137,9 @@ Requires: group(lock) Recommends: libpcre2-8-0 # ditto but dlopen()ed by systemd-cryptenroll Recommends: libfido2 +Recommends: libtss2-esys0 +Recommends: libtss2-mu0 +Recommends: libtss2-rc0 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -588,6 +594,7 @@ Have fun with these services at your own risk. %if 0%{?bootstrap} -Dnss-myhostname=false \ %else + -Dtpm2=true \ -Dman=true \ -Dhtml=true \ %endif diff --git a/systemd.changes b/systemd.changes index 5c51d4f8..c11e4dc7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -15,6 +15,11 @@ Mon Jun 28 16:45:04 UTC 2021 - Franck Bui 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 +------------------------------------------------------------------- +Mon Jun 28 12:46:04 UTC 2021 - Fabian Vogt + +- Enable TPM2 support + ------------------------------------------------------------------- Thu Jun 24 13:39:30 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9ba18701..1b9aeaae 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,6 +81,9 @@ BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif @@ -132,6 +135,9 @@ Requires: group(lock) Recommends: libpcre2-8-0 # ditto but dlopen()ed by systemd-cryptenroll Recommends: libfido2 +Recommends: libtss2-esys0 +Recommends: libtss2-mu0 +Recommends: libtss2-rc0 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -586,6 +592,7 @@ Have fun with these services at your own risk. %if 0%{?bootstrap} -Dnss-myhostname=false \ %else + -Dtpm2=true \ -Dman=true \ -Dhtml=true \ %endif From 5dfe3d4e23600a7e783e36a5ab9077e1c11f8b35ad91da4ecbff1d7fef3d95b7 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 4 Jul 2021 20:10:18 +0000 Subject: [PATCH 569/991] Accepting request 903365 from Base:System - Finally don't create /run/lock/subsys anymore This effectively reverts the fix for bsc#1187292 made earlier. This directory is specific to RH sysvinit and since we're going to fade the support of SysV init script away the directory has no future. - Enable TPM2 support OBS-URL: https://build.opensuse.org/request/show/903365 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=331 --- systemd-mini.changes | 14 ++++++++++++++ systemd-mini.spec | 7 +++++++ systemd.changes | 14 ++++++++++++++ systemd.spec | 7 +++++++ tmpfiles-suse.conf | 4 ---- 5 files changed, 42 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 84317eba..c11e4dc7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Jul 1 07:47:31 UTC 2021 - Franck Bui + +- Finally don't create /run/lock/subsys anymore + + This effectively reverts the fix for bsc#1187292 made earlier. This + directory is specific to RH sysvinit and since we're going to fade + the support of SysV init script away the directory has no future. + ------------------------------------------------------------------- Mon Jun 28 16:45:04 UTC 2021 - Franck Bui @@ -6,6 +15,11 @@ Mon Jun 28 16:45:04 UTC 2021 - Franck Bui 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 +------------------------------------------------------------------- +Mon Jun 28 12:46:04 UTC 2021 - Fabian Vogt + +- Enable TPM2 support + ------------------------------------------------------------------- Thu Jun 24 13:39:30 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index cef89604..65f56a41 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -83,6 +83,9 @@ BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif @@ -134,6 +137,9 @@ Requires: group(lock) Recommends: libpcre2-8-0 # ditto but dlopen()ed by systemd-cryptenroll Recommends: libfido2 +Recommends: libtss2-esys0 +Recommends: libtss2-mu0 +Recommends: libtss2-rc0 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -588,6 +594,7 @@ Have fun with these services at your own risk. %if 0%{?bootstrap} -Dnss-myhostname=false \ %else + -Dtpm2=true \ -Dman=true \ -Dhtml=true \ %endif diff --git a/systemd.changes b/systemd.changes index 84317eba..c11e4dc7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Jul 1 07:47:31 UTC 2021 - Franck Bui + +- Finally don't create /run/lock/subsys anymore + + This effectively reverts the fix for bsc#1187292 made earlier. This + directory is specific to RH sysvinit and since we're going to fade + the support of SysV init script away the directory has no future. + ------------------------------------------------------------------- Mon Jun 28 16:45:04 UTC 2021 - Franck Bui @@ -6,6 +15,11 @@ Mon Jun 28 16:45:04 UTC 2021 - Franck Bui 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 +------------------------------------------------------------------- +Mon Jun 28 12:46:04 UTC 2021 - Fabian Vogt + +- Enable TPM2 support + ------------------------------------------------------------------- Thu Jun 24 13:39:30 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9ba18701..1b9aeaae 100644 --- a/systemd.spec +++ b/systemd.spec @@ -81,6 +81,9 @@ BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif @@ -132,6 +135,9 @@ Requires: group(lock) Recommends: libpcre2-8-0 # ditto but dlopen()ed by systemd-cryptenroll Recommends: libfido2 +Recommends: libtss2-esys0 +Recommends: libtss2-mu0 +Recommends: libtss2-rc0 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -586,6 +592,7 @@ Have fun with these services at your own risk. %if 0%{?bootstrap} -Dnss-myhostname=false \ %else + -Dtpm2=true \ -Dman=true \ -Dhtml=true \ %endif diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 68635292..885e852c 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -9,10 +9,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts # FIXME: Might be moved to lockded. d /run/lock 0775 root lock - -# /run/lock/subsys is used for serializing SysV service execution, and -# hence without use on SysV-less systems. -d /run/lock/subsys 0755 root root - - # FIXME: Should these one be moved to shadow ? f /var/log/wtmp 0664 root utmp - f /var/log/btmp 0660 root utmp - From ad5d851703d812ef5578d54dcfab6aa6a70805d69c35e33f415b03572776d2e9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 5 Jul 2021 09:18:19 +0000 Subject: [PATCH 570/991] - systemd-hwdb-update.service should be shipped by the udev package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1168 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 4 ++++ systemd.changes | 5 +++++ systemd.spec | 4 ++++ 4 files changed, 18 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index c11e4dc7..56a68bbe 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 5 09:03:07 UTC 2021 - Franck Bui + +- systemd-hwdb-update.service should be shipped by the udev package + ------------------------------------------------------------------- Thu Jul 1 07:47:31 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 65f56a41..6ac270de 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1209,7 +1209,9 @@ fi %endif %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/systemd-hwdb*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service @@ -1562,11 +1564,13 @@ fi %{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket +%{_unitdir}/systemd-hwdb*.* %{_unitdir}/initrd-udevadm-cleanup-db.service %dir %{_unitdir}/sysinit.target.wants %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/*.target.wants/systemd-hwdb*.* %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc diff --git a/systemd.changes b/systemd.changes index c11e4dc7..56a68bbe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 5 09:03:07 UTC 2021 - Franck Bui + +- systemd-hwdb-update.service should be shipped by the udev package + ------------------------------------------------------------------- Thu Jul 1 07:47:31 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1b9aeaae..c7f61a2c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1207,7 +1207,9 @@ fi %endif %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/systemd-hwdb*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service @@ -1560,11 +1562,13 @@ fi %{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket +%{_unitdir}/systemd-hwdb*.* %{_unitdir}/initrd-udevadm-cleanup-db.service %dir %{_unitdir}/sysinit.target.wants %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/*.target.wants/systemd-hwdb*.* %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc From fd6833b5af0880e02708d90a5967479eb06dba8b1677639fc4a8f9ddc938eb98 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jul 2021 12:22:21 +0000 Subject: [PATCH 571/991] - Added patches to fix CVE-2021-33910 (bsc#1188063) Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch Added 1003-basic-unit-name-adjust-comments.patch These patches will be moved to the git repo once the bug will become public. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1169 --- ...te-a-clear-error-code-when-convertin.patch | 63 +++++++++++++++++ ...it-name-do-not-use-strdupa-on-a-path.patch | 67 +++++++++++++++++++ 1003-basic-unit-name-adjust-comments.patch | 38 +++++++++++ systemd-mini.changes | 12 ++++ systemd-mini.spec | 6 ++ systemd.changes | 12 ++++ systemd.spec | 6 ++ 7 files changed, 204 insertions(+) create mode 100644 1001-unit-name-generate-a-clear-error-code-when-convertin.patch create mode 100644 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch create mode 100644 1003-basic-unit-name-adjust-comments.patch diff --git a/1001-unit-name-generate-a-clear-error-code-when-convertin.patch b/1001-unit-name-generate-a-clear-error-code-when-convertin.patch new file mode 100644 index 00000000..3a090213 --- /dev/null +++ b/1001-unit-name-generate-a-clear-error-code-when-convertin.patch @@ -0,0 +1,63 @@ +From 83f392a392067d61be24eb720ff0cf1da7f1892b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 1 Jun 2021 19:43:55 +0200 +Subject: [PATCH 1001/1003] unit-name: generate a clear error code when + converting an overly long fs path to a unit name + +(cherry picked from commit 9d5acfab20c5f1177d877d0bec18063c0a6c5929) + +[fbui: adjust context] +--- + src/basic/unit-name.c | 6 ++++++ + src/test/test-unit-name.c | 4 ++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c +index 532f8fa048..85dcba6cb7 100644 +--- a/src/basic/unit-name.c ++++ b/src/basic/unit-name.c +@@ -528,6 +528,9 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { + if (!s) + return -ENOMEM; + ++ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ ++ return -ENAMETOOLONG; ++ + /* Refuse this if this got too long or for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) + return -EINVAL; +@@ -559,6 +562,9 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha + if (!s) + return -ENOMEM; + ++ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ ++ return -ENAMETOOLONG; ++ + /* Refuse this if this got too long or for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) + return -EINVAL; +diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c +index ece78aa548..c0b79715e1 100644 +--- a/src/test/test-unit-name.c ++++ b/src/test/test-unit-name.c +@@ -130,7 +130,7 @@ static void test_unit_name_from_path(void) { + test_unit_name_from_path_one("///", ".mount", "-.mount", 0); + test_unit_name_from_path_one("/foo/../bar", ".mount", NULL, -EINVAL); + test_unit_name_from_path_one("/foo/./bar", ".mount", NULL, -EINVAL); +- test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -EINVAL); ++ test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -ENAMETOOLONG); + } + + static void test_unit_name_from_path_instance_one(const char *pattern, const char *path, const char *suffix, const char *expected, int ret) { +@@ -160,7 +160,7 @@ static void test_unit_name_from_path_instance(void) { + test_unit_name_from_path_instance_one("waldo", "..", ".mount", NULL, -EINVAL); + test_unit_name_from_path_instance_one("waldo", "/foo", ".waldi", NULL, -EINVAL); + test_unit_name_from_path_instance_one("wa--ldo", "/--", ".mount", "wa--ldo@\\x2d\\x2d.mount", 0); +- test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -EINVAL); ++ test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -ENAMETOOLONG); + } + + static void test_unit_name_to_path_one(const char *unit, const char *path, int ret) { +-- +2.26.2 + diff --git a/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch b/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch new file mode 100644 index 00000000..a6f54db8 --- /dev/null +++ b/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch @@ -0,0 +1,67 @@ +From f636948448bd8a3588388d21dad737a079266392 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 23 Jun 2021 11:46:41 +0200 +Subject: [PATCH 1002/1003] basic/unit-name: do not use strdupa() on a path + +The path may have unbounded length, for example through a fuse mount. + +CVE-2021-33910: attacked controlled alloca() leads to crash in systemd and +ultimately a kernel panic. Systemd parses the content of /proc/self/mountinfo +and each mountpoint is passed to mount_setup_unit(), which calls +unit_name_path_escape() underneath. A local attacker who is able to mount a +filesystem with a very long path can crash systemd and the whole system. + +https://bugzilla.redhat.com/show_bug.cgi?id=1970887 + +The resulting string length is bounded by UNIT_NAME_MAX, which is 256. But we +can't easily check the length after simplification before doing the +simplification, which in turns uses a copy of the string we can write to. +So we can't reject paths that are too long before doing the duplication. +Hence the most obvious solution is to switch back to strdup(), as before +7410616cd9dbbec97cf98d75324da5cda2b2f7a2. + +[fbui: fixes bsc#1188063] +[fbui: fixes CVE-2021-33910] +--- + src/basic/unit-name.c | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c +index 85dcba6cb7..46b24f2d9e 100644 +--- a/src/basic/unit-name.c ++++ b/src/basic/unit-name.c +@@ -378,12 +378,13 @@ int unit_name_unescape(const char *f, char **ret) { + } + + int unit_name_path_escape(const char *f, char **ret) { +- char *p, *s; ++ _cleanup_free_ char *p = NULL; ++ char *s; + + assert(f); + assert(ret); + +- p = strdupa(f); ++ p = strdup(f); + if (!p) + return -ENOMEM; + +@@ -395,13 +396,9 @@ int unit_name_path_escape(const char *f, char **ret) { + if (!path_is_normalized(p)) + return -EINVAL; + +- /* Truncate trailing slashes */ ++ /* Truncate trailing slashes and skip leading slashes */ + delete_trailing_chars(p, "/"); +- +- /* Truncate leading slashes */ +- p = skip_leading_chars(p, "/"); +- +- s = unit_name_escape(p); ++ s = unit_name_escape(skip_leading_chars(p, "/")); + } + if (!s) + return -ENOMEM; +-- +2.26.2 + diff --git a/1003-basic-unit-name-adjust-comments.patch b/1003-basic-unit-name-adjust-comments.patch new file mode 100644 index 00000000..98cad8b5 --- /dev/null +++ b/1003-basic-unit-name-adjust-comments.patch @@ -0,0 +1,38 @@ +From 9731d5204357d43204ca83155f5b552594b843bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 23 Jun 2021 11:52:56 +0200 +Subject: [PATCH 1003/1003] basic/unit-name: adjust comments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We already checked for "too long" right above… +--- + src/basic/unit-name.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c +index 46b24f2d9e..c5850949ae 100644 +--- a/src/basic/unit-name.c ++++ b/src/basic/unit-name.c +@@ -528,7 +528,7 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { + if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ + return -ENAMETOOLONG; + +- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ ++ /* Refuse if this for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) + return -EINVAL; + +@@ -562,7 +562,7 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha + if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ + return -ENAMETOOLONG; + +- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ ++ /* Refuse if this for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) + return -EINVAL; + +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 56a68bbe..84cd5d49 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Jul 8 18:04:31 UTC 2021 - Franck Bui + +- Added patches to fix CVE-2021-33910 (bsc#1188063) + + Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch + Added 1003-basic-unit-name-adjust-comments.patch + + These patches will be moved to the git repo once the bug will become + public. + ------------------------------------------------------------------- Mon Jul 5 09:03:07 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6ac270de..50b3bf24 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -197,6 +197,12 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch +# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the +# git repo once the bug will become public. +Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch +Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch +Patch1003: 1003-basic-unit-name-adjust-comments.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization diff --git a/systemd.changes b/systemd.changes index 56a68bbe..84cd5d49 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Jul 8 18:04:31 UTC 2021 - Franck Bui + +- Added patches to fix CVE-2021-33910 (bsc#1188063) + + Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch + Added 1003-basic-unit-name-adjust-comments.patch + + These patches will be moved to the git repo once the bug will become + public. + ------------------------------------------------------------------- Mon Jul 5 09:03:07 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c7f61a2c..dd5ca994 100644 --- a/systemd.spec +++ b/systemd.spec @@ -195,6 +195,12 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch +# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the +# git repo once the bug will become public. +Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch +Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch +Patch1003: 1003-basic-unit-name-adjust-comments.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization From e819284afb20024ce0eb7b3266e24e42a9633c28e184ee145e978a4fa3f5df32 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jul 2021 15:23:18 +0000 Subject: [PATCH 572/991] - Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease 258a3d2043 sd-dhcp-client: shorten code a bit 0a80303114 sd-dhcp-client: check error earlier and reduce indentation OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1170 --- systemd-mini.changes | 13 +++++++++++++ systemd-mini.spec | 2 +- systemd-v248.3+suse.30.ge9a23d9e06.tar.xz | 3 --- systemd-v248.3+suse.38.gc0aecee593.tar.xz | 3 +++ systemd.changes | 13 +++++++++++++ systemd.spec | 2 +- 6 files changed, 31 insertions(+), 5 deletions(-) delete mode 100644 systemd-v248.3+suse.30.ge9a23d9e06.tar.xz create mode 100644 systemd-v248.3+suse.38.gc0aecee593.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 84cd5d49..d6f037d9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jul 20 15:10:41 UTC 2021 - Franck Bui + +- Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 + + 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag + ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag + a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) + ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) + aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease + 258a3d2043 sd-dhcp-client: shorten code a bit + 0a80303114 sd-dhcp-client: check error earlier and reduce indentation + ------------------------------------------------------------------- Thu Jul 8 18:04:31 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 50b3bf24..09df8b27 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.30.ge9a23d9e06 +%define suse_version +suse.38.gc0aecee593 %bcond_with gnuefi %if 0%{?bootstrap} diff --git a/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz b/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz deleted file mode 100644 index 2bda2ab4..00000000 --- a/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb92dd21edf73541f3ccce6fb95ab6a2c3d261e14c95a77445cada2982913fdc -size 7080532 diff --git a/systemd-v248.3+suse.38.gc0aecee593.tar.xz b/systemd-v248.3+suse.38.gc0aecee593.tar.xz new file mode 100644 index 00000000..c75e0ac8 --- /dev/null +++ b/systemd-v248.3+suse.38.gc0aecee593.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38eae688b580e7f628054b7657c9997796d90202302802ebacfee98ef56f1fa9 +size 7081196 diff --git a/systemd.changes b/systemd.changes index 84cd5d49..d6f037d9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jul 20 15:10:41 UTC 2021 - Franck Bui + +- Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 + + 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag + ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag + a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) + ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) + aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease + 258a3d2043 sd-dhcp-client: shorten code a bit + 0a80303114 sd-dhcp-client: check error earlier and reduce indentation + ------------------------------------------------------------------- Thu Jul 8 18:04:31 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dd5ca994..42352611 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.30.ge9a23d9e06 +%define suse_version +suse.38.gc0aecee593 %bcond_with gnuefi %if 0%{?bootstrap} From 40db07fd118c3940a12a4311725fb10e53d7431589b393331e59180cb6433ae9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jul 2021 15:44:54 +0000 Subject: [PATCH 573/991] - Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 - Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch as it was merged in v248.4. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1171 --- ...te-a-clear-error-code-when-convertin.patch | 63 ------------------- systemd-mini.changes | 11 ++++ systemd-mini.spec | 5 +- systemd-v248.3+suse.38.gc0aecee593.tar.xz | 3 - systemd-v248.4+suse.40.g94efce2ee5.tar.xz | 3 + systemd.changes | 11 ++++ systemd.spec | 5 +- 7 files changed, 29 insertions(+), 72 deletions(-) delete mode 100644 1001-unit-name-generate-a-clear-error-code-when-convertin.patch delete mode 100644 systemd-v248.3+suse.38.gc0aecee593.tar.xz create mode 100644 systemd-v248.4+suse.40.g94efce2ee5.tar.xz diff --git a/1001-unit-name-generate-a-clear-error-code-when-convertin.patch b/1001-unit-name-generate-a-clear-error-code-when-convertin.patch deleted file mode 100644 index 3a090213..00000000 --- a/1001-unit-name-generate-a-clear-error-code-when-convertin.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 83f392a392067d61be24eb720ff0cf1da7f1892b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 1 Jun 2021 19:43:55 +0200 -Subject: [PATCH 1001/1003] unit-name: generate a clear error code when - converting an overly long fs path to a unit name - -(cherry picked from commit 9d5acfab20c5f1177d877d0bec18063c0a6c5929) - -[fbui: adjust context] ---- - src/basic/unit-name.c | 6 ++++++ - src/test/test-unit-name.c | 4 ++-- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c -index 532f8fa048..85dcba6cb7 100644 ---- a/src/basic/unit-name.c -+++ b/src/basic/unit-name.c -@@ -528,6 +528,9 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { - if (!s) - return -ENOMEM; - -+ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ -+ return -ENAMETOOLONG; -+ - /* Refuse this if this got too long or for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) - return -EINVAL; -@@ -559,6 +562,9 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha - if (!s) - return -ENOMEM; - -+ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ -+ return -ENAMETOOLONG; -+ - /* Refuse this if this got too long or for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) - return -EINVAL; -diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c -index ece78aa548..c0b79715e1 100644 ---- a/src/test/test-unit-name.c -+++ b/src/test/test-unit-name.c -@@ -130,7 +130,7 @@ static void test_unit_name_from_path(void) { - test_unit_name_from_path_one("///", ".mount", "-.mount", 0); - test_unit_name_from_path_one("/foo/../bar", ".mount", NULL, -EINVAL); - test_unit_name_from_path_one("/foo/./bar", ".mount", NULL, -EINVAL); -- test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -EINVAL); -+ test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -ENAMETOOLONG); - } - - static void test_unit_name_from_path_instance_one(const char *pattern, const char *path, const char *suffix, const char *expected, int ret) { -@@ -160,7 +160,7 @@ static void test_unit_name_from_path_instance(void) { - test_unit_name_from_path_instance_one("waldo", "..", ".mount", NULL, -EINVAL); - test_unit_name_from_path_instance_one("waldo", "/foo", ".waldi", NULL, -EINVAL); - test_unit_name_from_path_instance_one("wa--ldo", "/--", ".mount", "wa--ldo@\\x2d\\x2d.mount", 0); -- test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -EINVAL); -+ test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -ENAMETOOLONG); - } - - static void test_unit_name_to_path_one(const char *unit, const char *path, int ret) { --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index d6f037d9..53767eae 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jul 20 15:25:38 UTC 2021 - Franck Bui + +- Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 + +- Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + as it was merged in v248.4. + ------------------------------------------------------------------- Tue Jul 20 15:10:41 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 09df8b27..6cf06ecf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.38.gc0aecee593 +%define suse_version +suse.40.g94efce2ee5 %bcond_with gnuefi %if 0%{?bootstrap} @@ -58,7 +58,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.3 +Version: 248.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -199,7 +199,6 @@ Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch # Patches for bsc#1188063/CVE-2021-33910. They will be moved to the # git repo once the bug will become public. -Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch Patch1003: 1003-basic-unit-name-adjust-comments.patch diff --git a/systemd-v248.3+suse.38.gc0aecee593.tar.xz b/systemd-v248.3+suse.38.gc0aecee593.tar.xz deleted file mode 100644 index c75e0ac8..00000000 --- a/systemd-v248.3+suse.38.gc0aecee593.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:38eae688b580e7f628054b7657c9997796d90202302802ebacfee98ef56f1fa9 -size 7081196 diff --git a/systemd-v248.4+suse.40.g94efce2ee5.tar.xz b/systemd-v248.4+suse.40.g94efce2ee5.tar.xz new file mode 100644 index 00000000..d2145af0 --- /dev/null +++ b/systemd-v248.4+suse.40.g94efce2ee5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cacf34cb67237b28635297628399b4945c7240dccc35efdd355b264ccd6f9e5 +size 7122072 diff --git a/systemd.changes b/systemd.changes index d6f037d9..53767eae 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jul 20 15:25:38 UTC 2021 - Franck Bui + +- Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 + +- Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + as it was merged in v248.4. + ------------------------------------------------------------------- Tue Jul 20 15:10:41 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 42352611..6d6ac75d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.38.gc0aecee593 +%define suse_version +suse.40.g94efce2ee5 %bcond_with gnuefi %if 0%{?bootstrap} @@ -56,7 +56,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.3 +Version: 248.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -197,7 +197,6 @@ Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch # Patches for bsc#1188063/CVE-2021-33910. They will be moved to the # git repo once the bug will become public. -Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch Patch1003: 1003-basic-unit-name-adjust-comments.patch From d7d502c3a56be0128d3fdc485322a3a5613ca6e76ce9d2bf2ff22aa93475c9e4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jul 2021 16:05:37 +0000 Subject: [PATCH 574/991] - Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 - Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it was merged in v248.5. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1172 --- ...it-name-do-not-use-strdupa-on-a-path.patch | 67 ------------------- systemd-mini.changes | 14 ++++ systemd-mini.spec | 10 +-- systemd-v248.4+suse.40.g94efce2ee5.tar.xz | 3 - systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz | 3 + systemd.changes | 14 ++++ systemd.spec | 10 +-- 7 files changed, 37 insertions(+), 84 deletions(-) delete mode 100644 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch delete mode 100644 systemd-v248.4+suse.40.g94efce2ee5.tar.xz create mode 100644 systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz diff --git a/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch b/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch deleted file mode 100644 index a6f54db8..00000000 --- a/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -From f636948448bd8a3588388d21dad737a079266392 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 23 Jun 2021 11:46:41 +0200 -Subject: [PATCH 1002/1003] basic/unit-name: do not use strdupa() on a path - -The path may have unbounded length, for example through a fuse mount. - -CVE-2021-33910: attacked controlled alloca() leads to crash in systemd and -ultimately a kernel panic. Systemd parses the content of /proc/self/mountinfo -and each mountpoint is passed to mount_setup_unit(), which calls -unit_name_path_escape() underneath. A local attacker who is able to mount a -filesystem with a very long path can crash systemd and the whole system. - -https://bugzilla.redhat.com/show_bug.cgi?id=1970887 - -The resulting string length is bounded by UNIT_NAME_MAX, which is 256. But we -can't easily check the length after simplification before doing the -simplification, which in turns uses a copy of the string we can write to. -So we can't reject paths that are too long before doing the duplication. -Hence the most obvious solution is to switch back to strdup(), as before -7410616cd9dbbec97cf98d75324da5cda2b2f7a2. - -[fbui: fixes bsc#1188063] -[fbui: fixes CVE-2021-33910] ---- - src/basic/unit-name.c | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c -index 85dcba6cb7..46b24f2d9e 100644 ---- a/src/basic/unit-name.c -+++ b/src/basic/unit-name.c -@@ -378,12 +378,13 @@ int unit_name_unescape(const char *f, char **ret) { - } - - int unit_name_path_escape(const char *f, char **ret) { -- char *p, *s; -+ _cleanup_free_ char *p = NULL; -+ char *s; - - assert(f); - assert(ret); - -- p = strdupa(f); -+ p = strdup(f); - if (!p) - return -ENOMEM; - -@@ -395,13 +396,9 @@ int unit_name_path_escape(const char *f, char **ret) { - if (!path_is_normalized(p)) - return -EINVAL; - -- /* Truncate trailing slashes */ -+ /* Truncate trailing slashes and skip leading slashes */ - delete_trailing_chars(p, "/"); -- -- /* Truncate leading slashes */ -- p = skip_leading_chars(p, "/"); -- -- s = unit_name_escape(p); -+ s = unit_name_escape(skip_leading_chars(p, "/")); - } - if (!s) - return -ENOMEM; --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 53767eae..21c85b44 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jul 20 15:51:47 UTC 2021 - Franck Bui + +- Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) + + 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 + +- Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it + was merged in v248.5. + ------------------------------------------------------------------- Tue Jul 20 15:25:38 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6cf06ecf..90ca6d3a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.40.g94efce2ee5 +%define suse_version +suse.42.gcb29bcc5ef %bcond_with gnuefi %if 0%{?bootstrap} @@ -58,7 +58,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.4 +Version: 248.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -196,11 +196,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - -# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the -# git repo once the bug will become public. -Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch -Patch1003: 1003-basic-unit-name-adjust-comments.patch +Patch101: 1003-basic-unit-name-adjust-comments.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v248.4+suse.40.g94efce2ee5.tar.xz b/systemd-v248.4+suse.40.g94efce2ee5.tar.xz deleted file mode 100644 index d2145af0..00000000 --- a/systemd-v248.4+suse.40.g94efce2ee5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8cacf34cb67237b28635297628399b4945c7240dccc35efdd355b264ccd6f9e5 -size 7122072 diff --git a/systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz b/systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz new file mode 100644 index 00000000..788dd3ff --- /dev/null +++ b/systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9924c8244a6ddc88c345b62356b8a992915cd9073d05271c8b0f9a487b55b87 +size 7121780 diff --git a/systemd.changes b/systemd.changes index 53767eae..21c85b44 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jul 20 15:51:47 UTC 2021 - Franck Bui + +- Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) + + 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 + +- Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it + was merged in v248.5. + ------------------------------------------------------------------- Tue Jul 20 15:25:38 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6d6ac75d..6cdd8b88 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.40.g94efce2ee5 +%define suse_version +suse.42.gcb29bcc5ef %bcond_with gnuefi %if 0%{?bootstrap} @@ -56,7 +56,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.4 +Version: 248.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -194,11 +194,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - -# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the -# git repo once the bug will become public. -Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch -Patch1003: 1003-basic-unit-name-adjust-comments.patch +Patch101: 1003-basic-unit-name-adjust-comments.patch %description Systemd is a system and service manager, compatible with SysV and LSB From b26c7f4e18e0b6c6bd2ed544096ddfbb6a57d300ae04e0263c7604a75548dc00 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jul 2021 16:24:01 +0000 Subject: [PATCH 575/991] - Drop 1003-basic-unit-name-adjust-comments.patch It's been merged in SUSE/v248 branch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1173 --- 1003-basic-unit-name-adjust-comments.patch | 38 ---------------------- systemd-mini.changes | 7 ++++ systemd-mini.spec | 1 - systemd.changes | 7 ++++ systemd.spec | 1 - 5 files changed, 14 insertions(+), 40 deletions(-) delete mode 100644 1003-basic-unit-name-adjust-comments.patch diff --git a/1003-basic-unit-name-adjust-comments.patch b/1003-basic-unit-name-adjust-comments.patch deleted file mode 100644 index 98cad8b5..00000000 --- a/1003-basic-unit-name-adjust-comments.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 9731d5204357d43204ca83155f5b552594b843bc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 23 Jun 2021 11:52:56 +0200 -Subject: [PATCH 1003/1003] basic/unit-name: adjust comments -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We already checked for "too long" right above… ---- - src/basic/unit-name.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c -index 46b24f2d9e..c5850949ae 100644 ---- a/src/basic/unit-name.c -+++ b/src/basic/unit-name.c -@@ -528,7 +528,7 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { - if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ - return -ENAMETOOLONG; - -- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ -+ /* Refuse if this for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) - return -EINVAL; - -@@ -562,7 +562,7 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha - if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ - return -ENAMETOOLONG; - -- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ -+ /* Refuse if this for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) - return -EINVAL; - --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 21c85b44..45c91d07 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jul 20 16:22:46 UTC 2021 - Franck Bui + +- Drop 1003-basic-unit-name-adjust-comments.patch + + It's been merged in SUSE/v248 branch + ------------------------------------------------------------------- Tue Jul 20 15:51:47 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 90ca6d3a..feffa955 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -196,7 +196,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch -Patch101: 1003-basic-unit-name-adjust-comments.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 21c85b44..45c91d07 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jul 20 16:22:46 UTC 2021 - Franck Bui + +- Drop 1003-basic-unit-name-adjust-comments.patch + + It's been merged in SUSE/v248 branch + ------------------------------------------------------------------- Tue Jul 20 15:51:47 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6cdd8b88..d3b820c0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -194,7 +194,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch -Patch101: 1003-basic-unit-name-adjust-comments.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 407466dd868f17ee6796af43215e4301a9810b6b4b41472f825af842a23760ff Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jul 2021 16:29:26 +0000 Subject: [PATCH 576/991] - Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes https://github.com/systemd/systemd/issues/19464 which makes the aforementioned patch not needed anymore. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1174 --- ...ent-excessive-proc-self-mountinfo-pa.patch | 35 ------------------- systemd-mini.changes | 9 +++++ systemd-mini.spec | 1 - systemd.changes | 9 +++++ systemd.spec | 1 - 5 files changed, 18 insertions(+), 37 deletions(-) delete mode 100644 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch diff --git a/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch b/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch deleted file mode 100644 index def1f512..00000000 --- a/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c9bce1f07276c591d8637dbfc3244ee11e8fa4e1 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 18 May 2021 11:53:55 +0200 -Subject: [PATCH 1/1] Revert "core: prevent excessive /proc/self/mountinfo - parsing" - -This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756. - -This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756 temporarly until -more investigation is done to find the root cause of -https://github.com/systemd/systemd/issues/19464. ---- - src/core/mount.c | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index ca5d0939a1..2939062161 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1859,12 +1859,6 @@ static void mount_enumerate(Manager *m) { - goto fail; - } - -- r = sd_event_source_set_ratelimit(m->mount_event_source, 1 * USEC_PER_SEC, 5); -- if (r < 0) { -- log_error_errno(r, "Failed to enable rate limit for mount events: %m"); -- goto fail; -- } -- - (void) sd_event_source_set_description(m->mount_event_source, "mount-monitor-dispatch"); - } - --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 45c91d07..b3919dd0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jul 20 16:26:39 UTC 2021 - Franck Bui + +- Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes + https://github.com/systemd/systemd/issues/19464 which makes the + aforementioned patch not needed anymore. + ------------------------------------------------------------------- Tue Jul 20 16:22:46 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index feffa955..cf0b08e1 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -195,7 +195,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd.changes b/systemd.changes index 45c91d07..b3919dd0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jul 20 16:26:39 UTC 2021 - Franck Bui + +- Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes + https://github.com/systemd/systemd/issues/19464 which makes the + aforementioned patch not needed anymore. + ------------------------------------------------------------------- Tue Jul 20 16:22:46 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d3b820c0..48e8638a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -193,7 +193,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch %description Systemd is a system and service manager, compatible with SysV and LSB From fed1c9a7ac184c5d37d9b8a28ad785c8aee936c01846491e6bea63bdd044423b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 22 Jul 2021 20:42:41 +0000 Subject: [PATCH 577/991] Accepting request 907311 from Base:System - Added patches to fix CVE-2021-33910 (bsc#1188063) Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch Added 1003-basic-unit-name-adjust-comments.patch These patches will be moved to the git repo once the bug will become public. - systemd-hwdb-update.service should be shipped by the udev package OBS-URL: https://build.opensuse.org/request/show/907311 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=332 --- ...te-a-clear-error-code-when-convertin.patch | 63 +++++++++++++++++ ...it-name-do-not-use-strdupa-on-a-path.patch | 67 +++++++++++++++++++ 1003-basic-unit-name-adjust-comments.patch | 38 +++++++++++ systemd-mini.changes | 17 +++++ systemd-mini.spec | 10 +++ systemd.changes | 17 +++++ systemd.spec | 10 +++ 7 files changed, 222 insertions(+) create mode 100644 1001-unit-name-generate-a-clear-error-code-when-convertin.patch create mode 100644 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch create mode 100644 1003-basic-unit-name-adjust-comments.patch diff --git a/1001-unit-name-generate-a-clear-error-code-when-convertin.patch b/1001-unit-name-generate-a-clear-error-code-when-convertin.patch new file mode 100644 index 00000000..3a090213 --- /dev/null +++ b/1001-unit-name-generate-a-clear-error-code-when-convertin.patch @@ -0,0 +1,63 @@ +From 83f392a392067d61be24eb720ff0cf1da7f1892b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 1 Jun 2021 19:43:55 +0200 +Subject: [PATCH 1001/1003] unit-name: generate a clear error code when + converting an overly long fs path to a unit name + +(cherry picked from commit 9d5acfab20c5f1177d877d0bec18063c0a6c5929) + +[fbui: adjust context] +--- + src/basic/unit-name.c | 6 ++++++ + src/test/test-unit-name.c | 4 ++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c +index 532f8fa048..85dcba6cb7 100644 +--- a/src/basic/unit-name.c ++++ b/src/basic/unit-name.c +@@ -528,6 +528,9 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { + if (!s) + return -ENOMEM; + ++ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ ++ return -ENAMETOOLONG; ++ + /* Refuse this if this got too long or for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) + return -EINVAL; +@@ -559,6 +562,9 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha + if (!s) + return -ENOMEM; + ++ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ ++ return -ENAMETOOLONG; ++ + /* Refuse this if this got too long or for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) + return -EINVAL; +diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c +index ece78aa548..c0b79715e1 100644 +--- a/src/test/test-unit-name.c ++++ b/src/test/test-unit-name.c +@@ -130,7 +130,7 @@ static void test_unit_name_from_path(void) { + test_unit_name_from_path_one("///", ".mount", "-.mount", 0); + test_unit_name_from_path_one("/foo/../bar", ".mount", NULL, -EINVAL); + test_unit_name_from_path_one("/foo/./bar", ".mount", NULL, -EINVAL); +- test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -EINVAL); ++ test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -ENAMETOOLONG); + } + + static void test_unit_name_from_path_instance_one(const char *pattern, const char *path, const char *suffix, const char *expected, int ret) { +@@ -160,7 +160,7 @@ static void test_unit_name_from_path_instance(void) { + test_unit_name_from_path_instance_one("waldo", "..", ".mount", NULL, -EINVAL); + test_unit_name_from_path_instance_one("waldo", "/foo", ".waldi", NULL, -EINVAL); + test_unit_name_from_path_instance_one("wa--ldo", "/--", ".mount", "wa--ldo@\\x2d\\x2d.mount", 0); +- test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -EINVAL); ++ test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -ENAMETOOLONG); + } + + static void test_unit_name_to_path_one(const char *unit, const char *path, int ret) { +-- +2.26.2 + diff --git a/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch b/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch new file mode 100644 index 00000000..a6f54db8 --- /dev/null +++ b/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch @@ -0,0 +1,67 @@ +From f636948448bd8a3588388d21dad737a079266392 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 23 Jun 2021 11:46:41 +0200 +Subject: [PATCH 1002/1003] basic/unit-name: do not use strdupa() on a path + +The path may have unbounded length, for example through a fuse mount. + +CVE-2021-33910: attacked controlled alloca() leads to crash in systemd and +ultimately a kernel panic. Systemd parses the content of /proc/self/mountinfo +and each mountpoint is passed to mount_setup_unit(), which calls +unit_name_path_escape() underneath. A local attacker who is able to mount a +filesystem with a very long path can crash systemd and the whole system. + +https://bugzilla.redhat.com/show_bug.cgi?id=1970887 + +The resulting string length is bounded by UNIT_NAME_MAX, which is 256. But we +can't easily check the length after simplification before doing the +simplification, which in turns uses a copy of the string we can write to. +So we can't reject paths that are too long before doing the duplication. +Hence the most obvious solution is to switch back to strdup(), as before +7410616cd9dbbec97cf98d75324da5cda2b2f7a2. + +[fbui: fixes bsc#1188063] +[fbui: fixes CVE-2021-33910] +--- + src/basic/unit-name.c | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c +index 85dcba6cb7..46b24f2d9e 100644 +--- a/src/basic/unit-name.c ++++ b/src/basic/unit-name.c +@@ -378,12 +378,13 @@ int unit_name_unescape(const char *f, char **ret) { + } + + int unit_name_path_escape(const char *f, char **ret) { +- char *p, *s; ++ _cleanup_free_ char *p = NULL; ++ char *s; + + assert(f); + assert(ret); + +- p = strdupa(f); ++ p = strdup(f); + if (!p) + return -ENOMEM; + +@@ -395,13 +396,9 @@ int unit_name_path_escape(const char *f, char **ret) { + if (!path_is_normalized(p)) + return -EINVAL; + +- /* Truncate trailing slashes */ ++ /* Truncate trailing slashes and skip leading slashes */ + delete_trailing_chars(p, "/"); +- +- /* Truncate leading slashes */ +- p = skip_leading_chars(p, "/"); +- +- s = unit_name_escape(p); ++ s = unit_name_escape(skip_leading_chars(p, "/")); + } + if (!s) + return -ENOMEM; +-- +2.26.2 + diff --git a/1003-basic-unit-name-adjust-comments.patch b/1003-basic-unit-name-adjust-comments.patch new file mode 100644 index 00000000..98cad8b5 --- /dev/null +++ b/1003-basic-unit-name-adjust-comments.patch @@ -0,0 +1,38 @@ +From 9731d5204357d43204ca83155f5b552594b843bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 23 Jun 2021 11:52:56 +0200 +Subject: [PATCH 1003/1003] basic/unit-name: adjust comments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We already checked for "too long" right above… +--- + src/basic/unit-name.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c +index 46b24f2d9e..c5850949ae 100644 +--- a/src/basic/unit-name.c ++++ b/src/basic/unit-name.c +@@ -528,7 +528,7 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { + if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ + return -ENAMETOOLONG; + +- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ ++ /* Refuse if this for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) + return -EINVAL; + +@@ -562,7 +562,7 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha + if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ + return -ENAMETOOLONG; + +- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ ++ /* Refuse if this for some other reason didn't result in a valid name */ + if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) + return -EINVAL; + +-- +2.26.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index c11e4dc7..84cd5d49 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Jul 8 18:04:31 UTC 2021 - Franck Bui + +- Added patches to fix CVE-2021-33910 (bsc#1188063) + + Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch + Added 1003-basic-unit-name-adjust-comments.patch + + These patches will be moved to the git repo once the bug will become + public. + +------------------------------------------------------------------- +Mon Jul 5 09:03:07 UTC 2021 - Franck Bui + +- systemd-hwdb-update.service should be shipped by the udev package + ------------------------------------------------------------------- Thu Jul 1 07:47:31 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 65f56a41..50b3bf24 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -197,6 +197,12 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch +# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the +# git repo once the bug will become public. +Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch +Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch +Patch1003: 1003-basic-unit-name-adjust-comments.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -1209,7 +1215,9 @@ fi %endif %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/systemd-hwdb*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service @@ -1562,11 +1570,13 @@ fi %{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket +%{_unitdir}/systemd-hwdb*.* %{_unitdir}/initrd-udevadm-cleanup-db.service %dir %{_unitdir}/sysinit.target.wants %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/*.target.wants/systemd-hwdb*.* %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc diff --git a/systemd.changes b/systemd.changes index c11e4dc7..84cd5d49 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Jul 8 18:04:31 UTC 2021 - Franck Bui + +- Added patches to fix CVE-2021-33910 (bsc#1188063) + + Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch + Added 1003-basic-unit-name-adjust-comments.patch + + These patches will be moved to the git repo once the bug will become + public. + +------------------------------------------------------------------- +Mon Jul 5 09:03:07 UTC 2021 - Franck Bui + +- systemd-hwdb-update.service should be shipped by the udev package + ------------------------------------------------------------------- Thu Jul 1 07:47:31 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1b9aeaae..dd5ca994 100644 --- a/systemd.spec +++ b/systemd.spec @@ -195,6 +195,12 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream. Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch +# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the +# git repo once the bug will become public. +Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch +Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch +Patch1003: 1003-basic-unit-name-adjust-comments.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -1207,7 +1213,9 @@ fi %endif %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/systemd-hwdb*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/kmod-static-nodes.service %exclude %{_unitdir}/systemd-nspawn@.service @@ -1560,11 +1568,13 @@ fi %{_unitdir}/kmod-static-nodes.service %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket +%{_unitdir}/systemd-hwdb*.* %{_unitdir}/initrd-udevadm-cleanup-db.service %dir %{_unitdir}/sysinit.target.wants %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants %{_unitdir}/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/*.target.wants/systemd-hwdb*.* %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc From 289877b139bc74a51ebf447d99de976eac9ce7ca9023559815a908be9c3bf031 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 26 Jul 2021 12:44:37 +0000 Subject: [PATCH 578/991] - Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1175 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 4 ++-- systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz | 3 --- systemd-v248.6+suse.45.g73e9e6fb84.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 6 files changed, 23 insertions(+), 7 deletions(-) delete mode 100644 systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz create mode 100644 systemd-v248.6+suse.45.g73e9e6fb84.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index b3919dd0..6a0a7640 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jul 26 10:54:10 UTC 2021 - Franck Bui + +- Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 + ------------------------------------------------------------------- Tue Jul 20 16:26:39 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index cf0b08e1..6f2afebc 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.42.gcb29bcc5ef +%define suse_version +suse.45.g73e9e6fb84 %bcond_with gnuefi %if 0%{?bootstrap} @@ -58,7 +58,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.5 +Version: 248.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz b/systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz deleted file mode 100644 index 788dd3ff..00000000 --- a/systemd-v248.5+suse.42.gcb29bcc5ef.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9924c8244a6ddc88c345b62356b8a992915cd9073d05271c8b0f9a487b55b87 -size 7121780 diff --git a/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz b/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz new file mode 100644 index 00000000..a72a623b --- /dev/null +++ b/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3750afd054f03b6868463ffd663441ead475d31dcd83d429c36580e7c6f748a +size 7123304 diff --git a/systemd.changes b/systemd.changes index b3919dd0..6a0a7640 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jul 26 10:54:10 UTC 2021 - Franck Bui + +- Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 + ------------------------------------------------------------------- Tue Jul 20 16:26:39 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 48e8638a..f20d2bcf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.42.gcb29bcc5ef +%define suse_version +suse.45.g73e9e6fb84 %bcond_with gnuefi %if 0%{?bootstrap} @@ -56,7 +56,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.5 +Version: 248.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 0bf88b4af1630e7c9b2874d7df903015bb2135200b05d4516196d11d8cfd717b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 29 Jul 2021 13:15:37 +0000 Subject: [PATCH 579/991] - Avoid the error message when udev is updated due to udev being already active when the sockets are started again (bsc#1188291) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1176 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 26 +++++++++++++++----------- systemd.changes | 6 ++++++ systemd.spec | 26 +++++++++++++++----------- 4 files changed, 42 insertions(+), 22 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 6a0a7640..25dbc3d6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jul 29 13:12:48 UTC 2021 - Franck Bui + +- Avoid the error message when udev is updated due to udev being + already active when the sockets are started again (bsc#1188291) + ------------------------------------------------------------------- Mon Jul 26 10:54:10 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6f2afebc..0f05b170 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -974,17 +974,21 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update, restarting the socket units will probably fail as -# udevd is most likely running. Therefore systemctl will refuse to -# start them again once stopped. It's not an issue since we are mostly -# interested to make PID1 use the updated unit files once the socket -# units wil be started again. And that will happen when systemd-udevd -# itself will be restarted. -if [ $1 -ge 1 ]; then - systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : - systemctl try-restart systemd-udevd.service || : -fi + +# The order of the units being restarted is important here because there's currently no +# way to queue multiple jobs into a single transaction atomically. Therefore systemctl +# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for +# the sockets are being handled first then starting them again will fail as the service +# is still active hence the sockets held by udevd. However if the restart job for udevd +# is handled first, there should be enough time to queue the socket jobs before the stop +# job for udevd is processed. Hence PID1 will automatically sort the restart jobs +# correctly by stopping the service then the sockets and then by starting the sockets and +# the unit. +# +# Note that when systemd-udevd is restarted, there will always be a short time +# frame where no socket will be listening to the events sent by the kernel, no +# matter if the socket unit is restarted in first or not. +%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket %posttrans -n udev%{?mini} %regenerate_initrd_posttrans diff --git a/systemd.changes b/systemd.changes index 6a0a7640..25dbc3d6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jul 29 13:12:48 UTC 2021 - Franck Bui + +- Avoid the error message when udev is updated due to udev being + already active when the sockets are started again (bsc#1188291) + ------------------------------------------------------------------- Mon Jul 26 10:54:10 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f20d2bcf..f55e9088 100644 --- a/systemd.spec +++ b/systemd.spec @@ -972,17 +972,21 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update, restarting the socket units will probably fail as -# udevd is most likely running. Therefore systemctl will refuse to -# start them again once stopped. It's not an issue since we are mostly -# interested to make PID1 use the updated unit files once the socket -# units wil be started again. And that will happen when systemd-udevd -# itself will be restarted. -if [ $1 -ge 1 ]; then - systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : - systemctl try-restart systemd-udevd.service || : -fi + +# The order of the units being restarted is important here because there's currently no +# way to queue multiple jobs into a single transaction atomically. Therefore systemctl +# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for +# the sockets are being handled first then starting them again will fail as the service +# is still active hence the sockets held by udevd. However if the restart job for udevd +# is handled first, there should be enough time to queue the socket jobs before the stop +# job for udevd is processed. Hence PID1 will automatically sort the restart jobs +# correctly by stopping the service then the sockets and then by starting the sockets and +# the unit. +# +# Note that when systemd-udevd is restarted, there will always be a short time +# frame where no socket will be listening to the events sent by the kernel, no +# matter if the socket unit is restarted in first or not. +%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket %posttrans -n udev%{?mini} %regenerate_initrd_posttrans From cff4d1a6d1314e5c48f109fa5b44abca87a6c549a97c52cbe6a001bd211cda91 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 2 Aug 2021 10:04:37 +0000 Subject: [PATCH 580/991] Accepting request 908417 from Base:System - Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 - Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes https://github.com/systemd/systemd/issues/19464 which makes the aforementioned patch not needed anymore. - Drop 1003-basic-unit-name-adjust-comments.patch It's been merged in SUSE/v248 branch - Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 - Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it was merged in v248.5. - Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 - Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch as it was merged in v248.4. - Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) OBS-URL: https://build.opensuse.org/request/show/908417 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=333 --- ...ent-excessive-proc-self-mountinfo-pa.patch | 35 ---------- ...te-a-clear-error-code-when-convertin.patch | 63 ----------------- ...it-name-do-not-use-strdupa-on-a-path.patch | 67 ------------------- 1003-basic-unit-name-adjust-comments.patch | 38 ----------- systemd-mini.changes | 62 +++++++++++++++++ systemd-mini.spec | 11 +-- systemd-v248.3+suse.30.ge9a23d9e06.tar.xz | 3 - systemd-v248.6+suse.45.g73e9e6fb84.tar.xz | 3 + systemd.changes | 62 +++++++++++++++++ systemd.spec | 11 +-- 10 files changed, 131 insertions(+), 224 deletions(-) delete mode 100644 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch delete mode 100644 1001-unit-name-generate-a-clear-error-code-when-convertin.patch delete mode 100644 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch delete mode 100644 1003-basic-unit-name-adjust-comments.patch delete mode 100644 systemd-v248.3+suse.30.ge9a23d9e06.tar.xz create mode 100644 systemd-v248.6+suse.45.g73e9e6fb84.tar.xz diff --git a/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch b/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch deleted file mode 100644 index def1f512..00000000 --- a/0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c9bce1f07276c591d8637dbfc3244ee11e8fa4e1 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 18 May 2021 11:53:55 +0200 -Subject: [PATCH 1/1] Revert "core: prevent excessive /proc/self/mountinfo - parsing" - -This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756. - -This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756 temporarly until -more investigation is done to find the root cause of -https://github.com/systemd/systemd/issues/19464. ---- - src/core/mount.c | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index ca5d0939a1..2939062161 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1859,12 +1859,6 @@ static void mount_enumerate(Manager *m) { - goto fail; - } - -- r = sd_event_source_set_ratelimit(m->mount_event_source, 1 * USEC_PER_SEC, 5); -- if (r < 0) { -- log_error_errno(r, "Failed to enable rate limit for mount events: %m"); -- goto fail; -- } -- - (void) sd_event_source_set_description(m->mount_event_source, "mount-monitor-dispatch"); - } - --- -2.26.2 - diff --git a/1001-unit-name-generate-a-clear-error-code-when-convertin.patch b/1001-unit-name-generate-a-clear-error-code-when-convertin.patch deleted file mode 100644 index 3a090213..00000000 --- a/1001-unit-name-generate-a-clear-error-code-when-convertin.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 83f392a392067d61be24eb720ff0cf1da7f1892b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 1 Jun 2021 19:43:55 +0200 -Subject: [PATCH 1001/1003] unit-name: generate a clear error code when - converting an overly long fs path to a unit name - -(cherry picked from commit 9d5acfab20c5f1177d877d0bec18063c0a6c5929) - -[fbui: adjust context] ---- - src/basic/unit-name.c | 6 ++++++ - src/test/test-unit-name.c | 4 ++-- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c -index 532f8fa048..85dcba6cb7 100644 ---- a/src/basic/unit-name.c -+++ b/src/basic/unit-name.c -@@ -528,6 +528,9 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { - if (!s) - return -ENOMEM; - -+ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ -+ return -ENAMETOOLONG; -+ - /* Refuse this if this got too long or for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) - return -EINVAL; -@@ -559,6 +562,9 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha - if (!s) - return -ENOMEM; - -+ if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ -+ return -ENAMETOOLONG; -+ - /* Refuse this if this got too long or for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) - return -EINVAL; -diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c -index ece78aa548..c0b79715e1 100644 ---- a/src/test/test-unit-name.c -+++ b/src/test/test-unit-name.c -@@ -130,7 +130,7 @@ static void test_unit_name_from_path(void) { - test_unit_name_from_path_one("///", ".mount", "-.mount", 0); - test_unit_name_from_path_one("/foo/../bar", ".mount", NULL, -EINVAL); - test_unit_name_from_path_one("/foo/./bar", ".mount", NULL, -EINVAL); -- test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -EINVAL); -+ test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -ENAMETOOLONG); - } - - static void test_unit_name_from_path_instance_one(const char *pattern, const char *path, const char *suffix, const char *expected, int ret) { -@@ -160,7 +160,7 @@ static void test_unit_name_from_path_instance(void) { - test_unit_name_from_path_instance_one("waldo", "..", ".mount", NULL, -EINVAL); - test_unit_name_from_path_instance_one("waldo", "/foo", ".waldi", NULL, -EINVAL); - test_unit_name_from_path_instance_one("wa--ldo", "/--", ".mount", "wa--ldo@\\x2d\\x2d.mount", 0); -- test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -EINVAL); -+ test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -ENAMETOOLONG); - } - - static void test_unit_name_to_path_one(const char *unit, const char *path, int ret) { --- -2.26.2 - diff --git a/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch b/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch deleted file mode 100644 index a6f54db8..00000000 --- a/1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -From f636948448bd8a3588388d21dad737a079266392 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 23 Jun 2021 11:46:41 +0200 -Subject: [PATCH 1002/1003] basic/unit-name: do not use strdupa() on a path - -The path may have unbounded length, for example through a fuse mount. - -CVE-2021-33910: attacked controlled alloca() leads to crash in systemd and -ultimately a kernel panic. Systemd parses the content of /proc/self/mountinfo -and each mountpoint is passed to mount_setup_unit(), which calls -unit_name_path_escape() underneath. A local attacker who is able to mount a -filesystem with a very long path can crash systemd and the whole system. - -https://bugzilla.redhat.com/show_bug.cgi?id=1970887 - -The resulting string length is bounded by UNIT_NAME_MAX, which is 256. But we -can't easily check the length after simplification before doing the -simplification, which in turns uses a copy of the string we can write to. -So we can't reject paths that are too long before doing the duplication. -Hence the most obvious solution is to switch back to strdup(), as before -7410616cd9dbbec97cf98d75324da5cda2b2f7a2. - -[fbui: fixes bsc#1188063] -[fbui: fixes CVE-2021-33910] ---- - src/basic/unit-name.c | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c -index 85dcba6cb7..46b24f2d9e 100644 ---- a/src/basic/unit-name.c -+++ b/src/basic/unit-name.c -@@ -378,12 +378,13 @@ int unit_name_unescape(const char *f, char **ret) { - } - - int unit_name_path_escape(const char *f, char **ret) { -- char *p, *s; -+ _cleanup_free_ char *p = NULL; -+ char *s; - - assert(f); - assert(ret); - -- p = strdupa(f); -+ p = strdup(f); - if (!p) - return -ENOMEM; - -@@ -395,13 +396,9 @@ int unit_name_path_escape(const char *f, char **ret) { - if (!path_is_normalized(p)) - return -EINVAL; - -- /* Truncate trailing slashes */ -+ /* Truncate trailing slashes and skip leading slashes */ - delete_trailing_chars(p, "/"); -- -- /* Truncate leading slashes */ -- p = skip_leading_chars(p, "/"); -- -- s = unit_name_escape(p); -+ s = unit_name_escape(skip_leading_chars(p, "/")); - } - if (!s) - return -ENOMEM; --- -2.26.2 - diff --git a/1003-basic-unit-name-adjust-comments.patch b/1003-basic-unit-name-adjust-comments.patch deleted file mode 100644 index 98cad8b5..00000000 --- a/1003-basic-unit-name-adjust-comments.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 9731d5204357d43204ca83155f5b552594b843bc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 23 Jun 2021 11:52:56 +0200 -Subject: [PATCH 1003/1003] basic/unit-name: adjust comments -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We already checked for "too long" right above… ---- - src/basic/unit-name.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c -index 46b24f2d9e..c5850949ae 100644 ---- a/src/basic/unit-name.c -+++ b/src/basic/unit-name.c -@@ -528,7 +528,7 @@ int unit_name_from_path(const char *path, const char *suffix, char **ret) { - if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ - return -ENAMETOOLONG; - -- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ -+ /* Refuse if this for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_PLAIN)) - return -EINVAL; - -@@ -562,7 +562,7 @@ int unit_name_from_path_instance(const char *prefix, const char *path, const cha - if (strlen(s) >= UNIT_NAME_MAX) /* Return a slightly more descriptive error for this specific condition */ - return -ENAMETOOLONG; - -- /* Refuse this if this got too long or for some other reason didn't result in a valid name */ -+ /* Refuse if this for some other reason didn't result in a valid name */ - if (!unit_name_is_valid(s, UNIT_NAME_INSTANCE)) - return -EINVAL; - --- -2.26.2 - diff --git a/systemd-mini.changes b/systemd-mini.changes index 84cd5d49..6a0a7640 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Mon Jul 26 10:54:10 UTC 2021 - Franck Bui + +- Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 + +------------------------------------------------------------------- +Tue Jul 20 16:26:39 UTC 2021 - Franck Bui + +- Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes + https://github.com/systemd/systemd/issues/19464 which makes the + aforementioned patch not needed anymore. + +------------------------------------------------------------------- +Tue Jul 20 16:22:46 UTC 2021 - Franck Bui + +- Drop 1003-basic-unit-name-adjust-comments.patch + + It's been merged in SUSE/v248 branch + +------------------------------------------------------------------- +Tue Jul 20 15:51:47 UTC 2021 - Franck Bui + +- Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) + + 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 + +- Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it + was merged in v248.5. + +------------------------------------------------------------------- +Tue Jul 20 15:25:38 UTC 2021 - Franck Bui + +- Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 + +- Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + as it was merged in v248.4. + +------------------------------------------------------------------- +Tue Jul 20 15:10:41 UTC 2021 - Franck Bui + +- Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 + + 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag + ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag + a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) + ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) + aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease + 258a3d2043 sd-dhcp-client: shorten code a bit + 0a80303114 sd-dhcp-client: check error earlier and reduce indentation + ------------------------------------------------------------------- Thu Jul 8 18:04:31 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 50b3bf24..6f2afebc 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.30.ge9a23d9e06 +%define suse_version +suse.45.g73e9e6fb84 %bcond_with gnuefi %if 0%{?bootstrap} @@ -58,7 +58,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.3 +Version: 248.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -195,13 +195,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - -# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the -# git repo once the bug will become public. -Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch -Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch -Patch1003: 1003-basic-unit-name-adjust-comments.patch %description Systemd is a system and service manager, compatible with SysV and LSB diff --git a/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz b/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz deleted file mode 100644 index 2bda2ab4..00000000 --- a/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb92dd21edf73541f3ccce6fb95ab6a2c3d261e14c95a77445cada2982913fdc -size 7080532 diff --git a/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz b/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz new file mode 100644 index 00000000..a72a623b --- /dev/null +++ b/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3750afd054f03b6868463ffd663441ead475d31dcd83d429c36580e7c6f748a +size 7123304 diff --git a/systemd.changes b/systemd.changes index 84cd5d49..6a0a7640 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Mon Jul 26 10:54:10 UTC 2021 - Franck Bui + +- Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 + +------------------------------------------------------------------- +Tue Jul 20 16:26:39 UTC 2021 - Franck Bui + +- Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch + + Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes + https://github.com/systemd/systemd/issues/19464 which makes the + aforementioned patch not needed anymore. + +------------------------------------------------------------------- +Tue Jul 20 16:22:46 UTC 2021 - Franck Bui + +- Drop 1003-basic-unit-name-adjust-comments.patch + + It's been merged in SUSE/v248 branch + +------------------------------------------------------------------- +Tue Jul 20 15:51:47 UTC 2021 - Franck Bui + +- Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) + + 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 + +- Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it + was merged in v248.5. + +------------------------------------------------------------------- +Tue Jul 20 15:25:38 UTC 2021 - Franck Bui + +- Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 + +- Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch + as it was merged in v248.4. + +------------------------------------------------------------------- +Tue Jul 20 15:10:41 UTC 2021 - Franck Bui + +- Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 + + 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag + ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag + a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) + ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) + aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease + 258a3d2043 sd-dhcp-client: shorten code a bit + 0a80303114 sd-dhcp-client: check error earlier and reduce indentation + ------------------------------------------------------------------- Thu Jul 8 18:04:31 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dd5ca994..f20d2bcf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.30.ge9a23d9e06 +%define suse_version +suse.45.g73e9e6fb84 %bcond_with gnuefi %if 0%{?bootstrap} @@ -56,7 +56,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.3 +Version: 248.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -193,13 +193,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - -# Patches for bsc#1188063/CVE-2021-33910. They will be moved to the -# git repo once the bug will become public. -Patch1001: 1001-unit-name-generate-a-clear-error-code-when-convertin.patch -Patch1002: 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch -Patch1003: 1003-basic-unit-name-adjust-comments.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 865899907d6615e4864e81b485304542729b5920c9176aa8e721234d30824069 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 3 Aug 2021 13:02:44 +0000 Subject: [PATCH 581/991] - Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for details. - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1177 --- ...conf-parser-introduce-early-drop-ins.patch | 18 ++++++------- ...and-var-lock-bind-mount-if-they-aren.patch | 8 +++--- ...ering-startup-for-etc-init.d-boot.lo.patch | 11 ++++---- ...-part-from-etc-hostname-when-setting.patch | 4 +-- ...ult-symlinks-for-primary-cd_dvd-driv.patch | 4 +-- ...dd-back-support-for-SysV-scripts-for.patch | 10 +++---- ...twork.service-an-alias-of-systemd-ne.patch | 8 +++--- ...ranslate-Required-Start-into-a-Wants.patch | 16 ++++++------ ...ole-specificities-weirdness-for-s390.patch | 8 +++--- ...sion-keyring-per-system-sevice-entir.patch | 8 +++--- ...e-etc-resolv.conf-symlink-at-runtime.patch | 26 +++++++++---------- systemd-mini.changes | 11 ++++++++ systemd-mini.spec | 5 ++-- systemd-v248.6+suse.45.g73e9e6fb84.tar.xz | 3 --- systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz | 3 +++ systemd.changes | 11 ++++++++ systemd.spec | 5 ++-- 17 files changed, 92 insertions(+), 67 deletions(-) delete mode 100644 systemd-v248.6+suse.45.g73e9e6fb84.tar.xz create mode 100644 systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 3331afdc..bf5a21d2 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 0eb84d049c77dceeb48724770f89f0fa01557c87 Mon Sep 17 00:00:00 2001 +From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -66,10 +66,10 @@ Fixes: #2121 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 9dfa190751..b5dee9cbb1 100644 +index d0ac1b2660..cb453fa50d 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -428,6 +428,7 @@ int config_parse( +@@ -430,6 +430,7 @@ int config_parse( static int config_parse_many_files( const char* const* conf_files, @@ -77,7 +77,7 @@ index 9dfa190751..b5dee9cbb1 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -440,6 +441,12 @@ static int config_parse_many_files( +@@ -442,6 +443,12 @@ static int config_parse_many_files( char **fn; int r; @@ -90,7 +90,7 @@ index 9dfa190751..b5dee9cbb1 100644 /* First read the first found main config file. */ STRV_FOREACH(fn, (char**) conf_files) { r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); -@@ -462,6 +469,28 @@ static int config_parse_many_files( +@@ -464,6 +471,28 @@ static int config_parse_many_files( return 0; } @@ -119,7 +119,7 @@ index 9dfa190751..b5dee9cbb1 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -473,15 +502,19 @@ int config_parse_many_nulstr( +@@ -475,15 +504,19 @@ int config_parse_many_nulstr( void *userdata, usec_t *ret_mtime) { @@ -142,7 +142,7 @@ index 9dfa190751..b5dee9cbb1 100644 ret_mtime); } -@@ -497,8 +530,8 @@ int config_parse_many( +@@ -499,8 +532,8 @@ int config_parse_many( void *userdata, usec_t *ret_mtime) { @@ -152,7 +152,7 @@ index 9dfa190751..b5dee9cbb1 100644 const char *suffix; int r; -@@ -511,7 +544,12 @@ int config_parse_many( +@@ -513,7 +546,12 @@ int config_parse_many( if (r < 0) return r; diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index dfc696e1..8cdd1ce8 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,7 +1,7 @@ -From f98af900e625b15862f9173a5c55662d4cee7356 Mon Sep 17 00:00:00 2001 +From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 -Subject: [PATCH 01/12] restore /var/run and /var/lock bind mount if they +Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they aren't symlink --- @@ -13,10 +13,10 @@ Subject: [PATCH 01/12] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index 275daad3f4..dadc9432ef 100644 +index 17e9ead9c1..7b926f9f91 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -150,6 +150,8 @@ units = [ +@@ -160,6 +160,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch index 1e278fda..47bb74af 100644 --- a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -1,7 +1,8 @@ -From 47563b617a371680d1ec3729fa4324310ebe3710 Mon Sep 17 00:00:00 2001 +From ddf3a821b51fbd3064914eb00a03bbecce9ee361 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 25 Mar 2014 13:08:56 +0000 -Subject: [PATCH 1/1] rc-local: fix ordering startup for /etc/init.d/boot.local +Subject: [PATCH 03/11] rc-local: fix ordering startup for + /etc/init.d/boot.local [tblume: fixes bnc#869142] --- @@ -9,13 +10,13 @@ Subject: [PATCH 1/1] rc-local: fix ordering startup for /etc/init.d/boot.local 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/rc-local.service.in b/units/rc-local.service.in -index d4aaaf09d4..5cd1571cc7 100644 +index 55e83dfe00..8b20f8d1af 100644 --- a/units/rc-local.service.in +++ b/units/rc-local.service.in @@ -13,7 +13,7 @@ - Description=@RC_LOCAL_PATH@ Compatibility + Description={{RC_LOCAL_PATH}} Compatibility Documentation=man:systemd-rc-local-generator(8) - ConditionFileIsExecutable=@RC_LOCAL_PATH@ + ConditionFileIsExecutable={{RC_LOCAL_PATH}} -After=network.target +After=basic.target diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch index 74e3790e..f7d958c4 100644 --- a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +++ b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -1,7 +1,7 @@ -From 54366ae306ae19bdb2a5af7eb5158260cdc37e8f Mon Sep 17 00:00:00 2001 +From c6ed74889adade0287ee609150611544d8d5c6d2 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: [PATCH 1/1] strip the domain part from /etc/hostname when setting +Subject: [PATCH 04/11] strip the domain part from /etc/hostname when setting system host name [fbui: fixes bnc#820213] diff --git a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch index b37a8acc..c8b7f70a 100644 --- a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +++ b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch @@ -1,7 +1,7 @@ -From 8e95d5534e9a577529ac49aaec610e6ceefec0b9 Mon Sep 17 00:00:00 2001 +From ae4741127dc0ae575d13b8a7b201207da6167517 Mon Sep 17 00:00:00 2001 From: Robert Milasan Date: Sat, 12 Jul 2014 14:20:36 +0200 -Subject: [PATCH 05/12] udev: create default symlinks for primary cd_dvd drive +Subject: [PATCH 05/11] udev: create default symlinks for primary cd_dvd drive Imported from SLE12-SP1, commit 4f8bacfbffd7049608b5076. diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch index fdf44437..11737094 100644 --- a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +++ b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch @@ -1,7 +1,7 @@ -From ac7bfed30245145ce68a037e7578da12ce2de009 Mon Sep 17 00:00:00 2001 +From 1bd48f23ea7750b354bfb94482f9f035bf8b7841 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 May 2016 08:59:41 +0200 -Subject: [PATCH 1/1] sysv-generator: add (back) support for SysV scripts for +Subject: [PATCH 06/11] sysv-generator: add (back) support for SysV scripts for the early boot For the record, the upstream support was removed by commit @@ -43,7 +43,7 @@ the same time as 'normal' services. 1 file changed, 23 insertions(+) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index 8c7aef23c3..f88f9119fb 100644 +index bf23c48662..fa5355c964 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c @@ -31,6 +31,9 @@ static const struct { @@ -100,7 +100,7 @@ index 8c7aef23c3..f88f9119fb 100644 /* Strip ".sh" suffix from file name for comparison */ filename_no_sh = strdupa(filename); e = endswith(filename_no_sh, ".sh"); -@@ -674,6 +693,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { +@@ -651,6 +670,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { if (other->sysv_start_priority < 0) continue; @@ -110,7 +110,7 @@ index 8c7aef23c3..f88f9119fb 100644 /* If both units have modern headers we don't care * about the priorities */ if (s->has_lsb && other->has_lsb) -@@ -798,6 +820,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { +@@ -775,6 +797,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { .sysv_start_priority = -1, .name = TAKE_PTR(name), .path = TAKE_PTR(fpath), diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch index c4fd62e1..cb8f69a8 100644 --- a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -1,7 +1,7 @@ -From 0adc3f402aeeadd73a0977ca6a1bc65d3d4201c1 Mon Sep 17 00:00:00 2001 +From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 From: Pawel Wieczorkiewicz Date: Tue, 2 Jun 2015 13:33:24 +0000 -Subject: [PATCH 07/12] networkd: make network.service an alias of +Subject: [PATCH 07/11] networkd: make network.service an alias of systemd-networkd.service NetworkManager and wicked does this already. This is needed by yast2 @@ -13,10 +13,10 @@ and other parts of the system. 1 file changed, 1 insertion(+) diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in -index 2673146841..083a35b912 100644 +index ffa45ba049..6a5d0dea3c 100644 --- a/units/systemd-networkd.service.in +++ b/units/systemd-networkd.service.in -@@ -50,6 +50,7 @@ User=systemd-network +@@ -53,6 +53,7 @@ User=systemd-network [Install] WantedBy=multi-user.target diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch index d21fea50..55b44930 100644 --- a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -1,7 +1,7 @@ -From a32292849ca2837f99d6801da26b8d8e401831c4 Mon Sep 17 00:00:00 2001 +From 7f59f7b1b506c1394712ad3d6bab81318052a14c Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 4 May 2016 17:40:04 +0200 -Subject: [PATCH 08/12] sysv-generator: translate "Required-Start" into a +Subject: [PATCH 08/11] sysv-generator: translate "Required-Start" into a "Wants" dependency [tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] @@ -17,10 +17,10 @@ Subject: [PATCH 08/12] sysv-generator: translate "Required-Start" into a 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index 1c01008967..7a58be9287 100644 +index fa5355c964..62755f3652 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c -@@ -258,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, +@@ -257,6 +257,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, "remote_fs", SPECIAL_REMOTE_FS_TARGET, "syslog", NULL, "time", SPECIAL_TIME_SYNC_TARGET, @@ -28,7 +28,7 @@ index 1c01008967..7a58be9287 100644 }; const char *filename; -@@ -272,6 +273,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, +@@ -271,6 +272,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, filename = basename(s->path); @@ -36,7 +36,7 @@ index 1c01008967..7a58be9287 100644 n = *name == '$' ? name + 1 : name; for (i = 0; i < ELEMENTSOF(table); i += 2) { -@@ -408,7 +410,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -407,7 +409,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text for (;;) { _cleanup_free_ char *word = NULL, *m = NULL; @@ -45,7 +45,7 @@ index 1c01008967..7a58be9287 100644 r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX); if (r < 0) -@@ -421,6 +423,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -420,6 +422,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text continue; is_before = startswith_no_case(full_text, "X-Start-Before:"); @@ -53,7 +53,7 @@ index 1c01008967..7a58be9287 100644 if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) { /* the network-online target is special, as it needs to be actively pulled in */ -@@ -429,8 +432,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -428,8 +431,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text return log_oom(); r = strv_extend(&s->wants, m); diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch index e4984478..6124095d 100644 --- a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -1,7 +1,7 @@ -From 7fc80ccccaa6f7b98af8bcd899a97d561777ff94 Mon Sep 17 00:00:00 2001 +From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 10 Jun 2016 15:19:57 +0200 -Subject: [PATCH 09/12] pid1: handle console specificities/weirdness for s390 +Subject: [PATCH 09/11] pid1: handle console specificities/weirdness for s390 arch The 3270 console on S/390 can do color but not the 3215 console. @@ -30,10 +30,10 @@ whose $subject is "[PATCH] support conmode setting on command line". 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c -index 6cacde90ba..1a03902acc 100644 +index d769423d6e..1a65391146 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c -@@ -780,7 +780,20 @@ bool tty_is_vc_resolve(const char *tty) { +@@ -779,7 +779,20 @@ bool tty_is_vc_resolve(const char *tty) { } const char *default_term_for_tty(const char *tty) { diff --git a/0011-core-disable-session-keyring-per-system-sevice-entir.patch b/0011-core-disable-session-keyring-per-system-sevice-entir.patch index a3e1fac1..9d5bad80 100644 --- a/0011-core-disable-session-keyring-per-system-sevice-entir.patch +++ b/0011-core-disable-session-keyring-per-system-sevice-entir.patch @@ -1,7 +1,7 @@ -From e5b3d1d00bbdbcb168889699c462bf01b58062a5 Mon Sep 17 00:00:00 2001 +From 67f3fa5aa2781d42c809da9303f81b28544824d8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jul 2017 15:48:10 +0200 -Subject: [PATCH 11/12] core: disable session keyring per system sevice +Subject: [PATCH 10/11] core: disable session keyring per system sevice entirely for now Until PAM module "pam_keyinit" is fully integrated in SUSE's PAM stack, this @@ -27,10 +27,10 @@ https://github.com/systemd/systemd/pull/6286 1 file changed, 3 insertions(+) diff --git a/src/core/execute.c b/src/core/execute.c -index 2a4840a3a9..aefd4eaff1 100644 +index 2a337b55a2..b5a1a3b6e5 100644 --- a/src/core/execute.c +++ b/src/core/execute.c -@@ -2779,6 +2779,9 @@ static int setup_keyring( +@@ -3356,6 +3356,9 @@ static int setup_keyring( assert(context); assert(p); diff --git a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch index a687aaa0..510c4732 100644 --- a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -1,7 +1,7 @@ -From 90d84a96aca84b39f6aabda048703dc7c0e79ef4 Mon Sep 17 00:00:00 2001 +From 1aa6cfc7ff05929f013262c86ab7557e5394fb4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH 12/12] resolved: create /etc/resolv.conf symlink at runtime +Subject: [PATCH 11/11] resolved: create /etc/resolv.conf symlink at runtime If the symlink doesn't exists, and we are being started, let's create it to provie name resolution. @@ -14,11 +14,11 @@ don't touch it in that case either. https://bugzilla.redhat.com/show_bug.cgi?id=1313085 --- src/resolve/resolved.c | 6 ++++++ - tmpfiles.d/etc.conf.m4 | 3 --- + tmpfiles.d/etc.conf.in | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index 16477f28d6..3922804039 100644 +index aabaa266e9..39277ea487 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c @@ -53,6 +53,12 @@ static int run(int argc, char *argv[]) { @@ -34,19 +34,19 @@ index 16477f28d6..3922804039 100644 /* As we're root, we can create the directory where resolv.conf will live */ r = mkdir_safe_label("/run/systemd/resolve", 0755, uid, gid, MKDIR_WARN_MODE); if (r < 0) -diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index f82e0b82ce..66a777bdb2 100644 ---- a/tmpfiles.d/etc.conf.m4 -+++ b/tmpfiles.d/etc.conf.m4 +diff --git a/tmpfiles.d/etc.conf.in b/tmpfiles.d/etc.conf.in +index 2323fd8cd8..ebdc699c26 100644 +--- a/tmpfiles.d/etc.conf.in ++++ b/tmpfiles.d/etc.conf.in @@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts - m4_ifdef(`HAVE_SMACK_RUN_LABEL', + {% if HAVE_SMACK_RUN_LABEL %} t /etc/mtab - - - - security.SMACK64=_ - )m4_dnl --m4_ifdef(`ENABLE_RESOLVE', + {% endif %} +-{% if ENABLE_RESOLVE %} -L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf --)m4_dnl +-{% endif %} C! /etc/nsswitch.conf - - - - - m4_ifdef(`HAVE_PAM', + {% if HAVE_PAM %} C! /etc/pam.d - - - - -- 2.26.2 diff --git a/systemd-mini.changes b/systemd-mini.changes index 25dbc3d6..60db3d89 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Aug 2 12:54:44 UTC 2021 - Franck Bui + +- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) + + See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for + details. + + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Jul 29 13:12:48 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 0f05b170..9bbdab1a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.45.g73e9e6fb84 +%define suse_version +suse.21.gc0bb2fcbc2 %bcond_with gnuefi %if 0%{?bootstrap} @@ -58,7 +58,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.6 +Version: 249.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -98,6 +98,7 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel +BuildRequires: python3-jinja2 # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 diff --git a/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz b/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz deleted file mode 100644 index a72a623b..00000000 --- a/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3750afd054f03b6868463ffd663441ead475d31dcd83d429c36580e7c6f748a -size 7123304 diff --git a/systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz b/systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz new file mode 100644 index 00000000..8a42eafc --- /dev/null +++ b/systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dbd19ef62b17dcffe27bd3ac926652a682cf62847f46ebca5161a596d42955e +size 7264460 diff --git a/systemd.changes b/systemd.changes index 25dbc3d6..60db3d89 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Aug 2 12:54:44 UTC 2021 - Franck Bui + +- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) + + See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for + details. + + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Jul 29 13:12:48 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f55e9088..e1122899 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.45.g73e9e6fb84 +%define suse_version +suse.21.gc0bb2fcbc2 %bcond_with gnuefi %if 0%{?bootstrap} @@ -56,7 +56,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.6 +Version: 249.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -96,6 +96,7 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel +BuildRequires: python3-jinja2 # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 From f419cd2fdd86ccacfaba1eef4d0e937fb8999bf3169c14fd80f171d86a8a639b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 4 Aug 2021 20:28:26 +0000 Subject: [PATCH 582/991] Accepting request 909721 from Base:System - Avoid the error message when udev is updated due to udev being already active when the sockets are started again (bsc#1188291) OBS-URL: https://build.opensuse.org/request/show/909721 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=334 --- systemd-mini.changes | 6 ++++++ systemd-mini.spec | 26 +++++++++++++++----------- systemd.changes | 6 ++++++ systemd.spec | 26 +++++++++++++++----------- 4 files changed, 42 insertions(+), 22 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 6a0a7640..25dbc3d6 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jul 29 13:12:48 UTC 2021 - Franck Bui + +- Avoid the error message when udev is updated due to udev being + already active when the sockets are started again (bsc#1188291) + ------------------------------------------------------------------- Mon Jul 26 10:54:10 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6f2afebc..0f05b170 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -974,17 +974,21 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update, restarting the socket units will probably fail as -# udevd is most likely running. Therefore systemctl will refuse to -# start them again once stopped. It's not an issue since we are mostly -# interested to make PID1 use the updated unit files once the socket -# units wil be started again. And that will happen when systemd-udevd -# itself will be restarted. -if [ $1 -ge 1 ]; then - systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : - systemctl try-restart systemd-udevd.service || : -fi + +# The order of the units being restarted is important here because there's currently no +# way to queue multiple jobs into a single transaction atomically. Therefore systemctl +# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for +# the sockets are being handled first then starting them again will fail as the service +# is still active hence the sockets held by udevd. However if the restart job for udevd +# is handled first, there should be enough time to queue the socket jobs before the stop +# job for udevd is processed. Hence PID1 will automatically sort the restart jobs +# correctly by stopping the service then the sockets and then by starting the sockets and +# the unit. +# +# Note that when systemd-udevd is restarted, there will always be a short time +# frame where no socket will be listening to the events sent by the kernel, no +# matter if the socket unit is restarted in first or not. +%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket %posttrans -n udev%{?mini} %regenerate_initrd_posttrans diff --git a/systemd.changes b/systemd.changes index 6a0a7640..25dbc3d6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jul 29 13:12:48 UTC 2021 - Franck Bui + +- Avoid the error message when udev is updated due to udev being + already active when the sockets are started again (bsc#1188291) + ------------------------------------------------------------------- Mon Jul 26 10:54:10 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f20d2bcf..f55e9088 100644 --- a/systemd.spec +++ b/systemd.spec @@ -972,17 +972,21 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -systemctl daemon-reload || : -# On package update, restarting the socket units will probably fail as -# udevd is most likely running. Therefore systemctl will refuse to -# start them again once stopped. It's not an issue since we are mostly -# interested to make PID1 use the updated unit files once the socket -# units wil be started again. And that will happen when systemd-udevd -# itself will be restarted. -if [ $1 -ge 1 ]; then - systemctl try-restart systemd-udevd-{control,kernel}.socket 2>/dev/null || : - systemctl try-restart systemd-udevd.service || : -fi + +# The order of the units being restarted is important here because there's currently no +# way to queue multiple jobs into a single transaction atomically. Therefore systemctl +# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for +# the sockets are being handled first then starting them again will fail as the service +# is still active hence the sockets held by udevd. However if the restart job for udevd +# is handled first, there should be enough time to queue the socket jobs before the stop +# job for udevd is processed. Hence PID1 will automatically sort the restart jobs +# correctly by stopping the service then the sockets and then by starting the sockets and +# the unit. +# +# Note that when systemd-udevd is restarted, there will always be a short time +# frame where no socket will be listening to the events sent by the kernel, no +# matter if the socket unit is restarted in first or not. +%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket %posttrans -n udev%{?mini} %regenerate_initrd_posttrans From d3ae6b510a1aea06029dbd575f9027b24222ee5b12f40c11755cf185ad9d03c8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 31 Aug 2021 20:44:53 +0000 Subject: [PATCH 583/991] - Rework the test (sub)package: - it's been renamed into 'systemd-testsuite' - it includes the extended tests too - the relevant commits have been backported to SUSE/v249 so no SUSE specific patch is needed to run the extended tests (see below) - the deps needed by the extended tests have been added - Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too 088fbb71d0 test: adapt install_pam() for openSUSE 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set 3bba2f876a test: add support for NO_BUILD=1 on openSUSE d77cbc1b64 test: make busybox TEST-13-only dependency OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1178 --- systemd-mini.changes | 21 +++++ systemd-mini.spec | 94 +++++++++++++++++++---- systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz | 3 - systemd-v249.2+suse.30.g7f23815a70.tar.xz | 3 + systemd.changes | 21 +++++ systemd.spec | 94 +++++++++++++++++++---- 6 files changed, 201 insertions(+), 35 deletions(-) delete mode 100644 systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz create mode 100644 systemd-v249.2+suse.30.g7f23815a70.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 60db3d89..2a2e9142 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Mon Aug 23 15:12:10 UTC 2021 - Franck Bui + +- Rework the test (sub)package: + - it's been renamed into 'systemd-testsuite' + - it includes the extended tests too + - the relevant commits have been backported to SUSE/v249 so no SUSE + specific patch is needed to run the extended tests (see below) + - the deps needed by the extended tests have been added + +- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 + + ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too + 088fbb71d0 test: adapt install_pam() for openSUSE + 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" + ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" + 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only + 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set + 3bba2f876a test: add support for NO_BUILD=1 on openSUSE + d77cbc1b64 test: make busybox TEST-13-only dependency + ------------------------------------------------------------------- Mon Aug 2 12:54:44 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 9bbdab1a..d8762467 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,8 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.21.gc0bb2fcbc2 +%define suse_version +suse.30.g7f23815a70 +%define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi %if 0%{?bootstrap} @@ -39,7 +40,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental -%bcond_with tests +%bcond_with testsuite %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -53,7 +54,7 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental -%bcond_without tests +%bcond_without testsuite %endif Name: systemd-mini @@ -488,22 +489,77 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%if %{with tests} -%package tests -Summary: Unit tests for systemd +%if %{with testsuite} +%package testsuite +Summary: Testsuite for systemd +# Unit tests dependencies License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools +# The following deps on libs are for test-dlopen-so whereas the +# pkgconfig ones are used by test-funtions to find the libs on the +# host and install them in the image, see install_missing_libraries() +# for details. +%if %{with resolved} +Requires: libidn2 pkgconfig(libidn2) +%endif +%if %{with experimental} +Requires: libpwquality1 pkgconfig(pwquality) +Requires: libqrencode4 pkgconfig(libqrencode) +%endif +Requires: %{name} = %{version}-%{release} +Requires: attr +Requires: busybox-static +Requires: cryptsetup +Requires: dhcp-client +Requires: dosfstools +Requires: libcap-progs +Requires: lz4 +Requires: net-tools-deprecated +Requires: qemu-kvm +Requires: quota +Requires: socat +Requires: squashfs +Requires: systemd-container +Requires: libfido2 pkgconfig(libfido2) +Requires: libtss2-esys0 pkgconfig(tss2-esys) +Requires: libtss2-mu0 pkgconfig(tss2-mu) +Requires: libtss2-rc0 pkgconfig(tss2-rc) +%if %{with coredump} +Requires: systemd-coredump +%endif +%if %{with experimental} +Requires: systemd-experimental +%endif +%if %{with journal_remote} +Requires: systemd-journal-remote +%endif +%if %{with portabled} +Requires: systemd-portable +%endif +Requires: xz -%description tests -This package contains the unit tests used to check various internal -functions used by systemd and all its components. +%description testsuite +This package contains the unit tests as well as the extended +testsuite. The unit tests are used to check various internal functions +used by systemd whereas the extended testsuite is used to test various +functionalities of systemd and all its components. -The python script /usr/lib/systemd/tests/run-unit-tests.py can be used -to run all unit tests at once. +Note that the extended testsuite only works with UID=0. + +Run the following python script to run all unit tests at once: +$ %{_testsuitedir}/run-unit-tests.py + +To run the full extended testsuite do the following: +$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh + +Or to run one specific integration test: +$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run + +For more details on the available options to run the extended +testsuite, please refer to %{_testsuitedir}/test/README.testsuite. %endif %if %{with experimental} @@ -626,7 +682,7 @@ Have fun with these services at your own risk. -Dsysvinit-path= \ -Dsysvrcnd-path= \ %endif -%if %{with tests} +%if %{with testsuite} -Dtests=unsafe \ -Dinstall-tests=true \ %else @@ -838,6 +894,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket +%if %{with testsuite} +cp -a test %{buildroot}%{_testsuitedir}/ +%endif + %if ! 0%{?bootstrap} %find_lang systemd %endif @@ -1760,9 +1820,11 @@ fi %{_mandir}/man*/systemd-portabled* %endif -%if %{with tests} -%files tests -%{_prefix}/lib/systemd/tests +%if %{with testsuite} +%files testsuite +%defattr(-,root,root) +%{_testsuitedir} +%doc %{_testsuitedir}/test/README.testsuite %endif %if %{with experimental} diff --git a/systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz b/systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz deleted file mode 100644 index 8a42eafc..00000000 --- a/systemd-v249.2+suse.21.gc0bb2fcbc2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4dbd19ef62b17dcffe27bd3ac926652a682cf62847f46ebca5161a596d42955e -size 7264460 diff --git a/systemd-v249.2+suse.30.g7f23815a70.tar.xz b/systemd-v249.2+suse.30.g7f23815a70.tar.xz new file mode 100644 index 00000000..82f37601 --- /dev/null +++ b/systemd-v249.2+suse.30.g7f23815a70.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:519c5a3481d0f75e9893ad7370a6764ccb084de446cc130dd6e525391a090154 +size 7264156 diff --git a/systemd.changes b/systemd.changes index 60db3d89..2a2e9142 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Mon Aug 23 15:12:10 UTC 2021 - Franck Bui + +- Rework the test (sub)package: + - it's been renamed into 'systemd-testsuite' + - it includes the extended tests too + - the relevant commits have been backported to SUSE/v249 so no SUSE + specific patch is needed to run the extended tests (see below) + - the deps needed by the extended tests have been added + +- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 + + ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too + 088fbb71d0 test: adapt install_pam() for openSUSE + 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" + ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" + 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only + 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set + 3bba2f876a test: add support for NO_BUILD=1 on openSUSE + d77cbc1b64 test: make busybox TEST-13-only dependency + ------------------------------------------------------------------- Mon Aug 2 12:54:44 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e1122899..e2083847 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,8 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.21.gc0bb2fcbc2 +%define suse_version +suse.30.g7f23815a70 +%define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi %if 0%{?bootstrap} @@ -37,7 +38,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental -%bcond_with tests +%bcond_with testsuite %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -51,7 +52,7 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental -%bcond_without tests +%bcond_without testsuite %endif Name: systemd @@ -486,22 +487,77 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%if %{with tests} -%package tests -Summary: Unit tests for systemd +%if %{with testsuite} +%package testsuite +Summary: Testsuite for systemd +# Unit tests dependencies License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools +# The following deps on libs are for test-dlopen-so whereas the +# pkgconfig ones are used by test-funtions to find the libs on the +# host and install them in the image, see install_missing_libraries() +# for details. +%if %{with resolved} +Requires: libidn2 pkgconfig(libidn2) +%endif +%if %{with experimental} +Requires: libpwquality1 pkgconfig(pwquality) +Requires: libqrencode4 pkgconfig(libqrencode) +%endif +Requires: %{name} = %{version}-%{release} +Requires: attr +Requires: busybox-static +Requires: cryptsetup +Requires: dhcp-client +Requires: dosfstools +Requires: libcap-progs +Requires: lz4 +Requires: net-tools-deprecated +Requires: qemu-kvm +Requires: quota +Requires: socat +Requires: squashfs +Requires: systemd-container +Requires: libfido2 pkgconfig(libfido2) +Requires: libtss2-esys0 pkgconfig(tss2-esys) +Requires: libtss2-mu0 pkgconfig(tss2-mu) +Requires: libtss2-rc0 pkgconfig(tss2-rc) +%if %{with coredump} +Requires: systemd-coredump +%endif +%if %{with experimental} +Requires: systemd-experimental +%endif +%if %{with journal_remote} +Requires: systemd-journal-remote +%endif +%if %{with portabled} +Requires: systemd-portable +%endif +Requires: xz -%description tests -This package contains the unit tests used to check various internal -functions used by systemd and all its components. +%description testsuite +This package contains the unit tests as well as the extended +testsuite. The unit tests are used to check various internal functions +used by systemd whereas the extended testsuite is used to test various +functionalities of systemd and all its components. -The python script /usr/lib/systemd/tests/run-unit-tests.py can be used -to run all unit tests at once. +Note that the extended testsuite only works with UID=0. + +Run the following python script to run all unit tests at once: +$ %{_testsuitedir}/run-unit-tests.py + +To run the full extended testsuite do the following: +$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh + +Or to run one specific integration test: +$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run + +For more details on the available options to run the extended +testsuite, please refer to %{_testsuitedir}/test/README.testsuite. %endif %if %{with experimental} @@ -624,7 +680,7 @@ Have fun with these services at your own risk. -Dsysvinit-path= \ -Dsysvrcnd-path= \ %endif -%if %{with tests} +%if %{with testsuite} -Dtests=unsafe \ -Dinstall-tests=true \ %else @@ -836,6 +892,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket +%if %{with testsuite} +cp -a test %{buildroot}%{_testsuitedir}/ +%endif + %if ! 0%{?bootstrap} %find_lang systemd %endif @@ -1758,9 +1818,11 @@ fi %{_mandir}/man*/systemd-portabled* %endif -%if %{with tests} -%files tests -%{_prefix}/lib/systemd/tests +%if %{with testsuite} +%files testsuite +%defattr(-,root,root) +%{_testsuitedir} +%doc %{_testsuitedir}/test/README.testsuite %endif %if %{with experimental} From 5bb9e8c5a859e29da99c96237b4db9a3362f725ccc2f666fcafacb842de4feea Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 1 Sep 2021 10:00:13 +0000 Subject: [PATCH 584/991] - Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1179 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 4 ++-- systemd-v249.2+suse.30.g7f23815a70.tar.xz | 3 --- systemd-v249.4+suse.32.g40bda18e34.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 6 files changed, 23 insertions(+), 7 deletions(-) delete mode 100644 systemd-v249.2+suse.30.g7f23815a70.tar.xz create mode 100644 systemd-v249.4+suse.32.g40bda18e34.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 2a2e9142..fb47af81 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Sep 1 09:56:55 UTC 2021 - Franck Bui + +- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 + ------------------------------------------------------------------- Mon Aug 23 15:12:10 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d8762467..58d2579d 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.30.g7f23815a70 +%define suse_version +suse.32.g40bda18e34 %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -59,7 +59,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.2 +Version: 249.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v249.2+suse.30.g7f23815a70.tar.xz b/systemd-v249.2+suse.30.g7f23815a70.tar.xz deleted file mode 100644 index 82f37601..00000000 --- a/systemd-v249.2+suse.30.g7f23815a70.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:519c5a3481d0f75e9893ad7370a6764ccb084de446cc130dd6e525391a090154 -size 7264156 diff --git a/systemd-v249.4+suse.32.g40bda18e34.tar.xz b/systemd-v249.4+suse.32.g40bda18e34.tar.xz new file mode 100644 index 00000000..d130d483 --- /dev/null +++ b/systemd-v249.4+suse.32.g40bda18e34.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fddc0b0846c692af8bae3673728a0d95bfdcc448846c218e850b6b93e5493c2a +size 7265384 diff --git a/systemd.changes b/systemd.changes index 2a2e9142..fb47af81 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Sep 1 09:56:55 UTC 2021 - Franck Bui + +- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 + ------------------------------------------------------------------- Mon Aug 23 15:12:10 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e2083847..b2641ee4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.30.g7f23815a70 +%define suse_version +suse.32.g40bda18e34 %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -57,7 +57,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.2 +Version: 249.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From e9eb481b70b19c90cfc6b498017a94e43eb09c10276ae60616b209e649d076ca Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 1 Sep 2021 11:56:02 +0000 Subject: [PATCH 585/991] - Configure split-usr=true only when %usrmerged is not defined OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1180 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 ++ systemd.changes | 5 +++++ systemd.spec | 2 ++ 4 files changed, 14 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index fb47af81..a93d76e2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Sep 1 11:54:23 UTC 2021 - Franck Bui + +- Configure split-usr=true only when %usrmerged is not defined + ------------------------------------------------------------------- Wed Sep 1 09:56:55 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 58d2579d..1112b547 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -615,7 +615,9 @@ Have fun with these services at your own risk. -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ +%if !0%{?usrmerged} -Dsplit-usr=true \ +%endif -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ diff --git a/systemd.changes b/systemd.changes index fb47af81..a93d76e2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Sep 1 11:54:23 UTC 2021 - Franck Bui + +- Configure split-usr=true only when %usrmerged is not defined + ------------------------------------------------------------------- Wed Sep 1 09:56:55 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b2641ee4..af809ac7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -613,7 +613,9 @@ Have fun with these services at your own risk. -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ +%if !0%{?usrmerged} -Dsplit-usr=true \ +%endif -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ From 4fedee133fefb5869e5709a933b877be526ba06937390ee064adfef137d53269 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 2 Sep 2021 10:06:11 +0000 Subject: [PATCH 586/991] - Drop dependency on m4 (replaced by Jinja2) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1181 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 - systemd.changes | 5 +++++ systemd.spec | 1 - 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a93d76e2..3750243d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Sep 2 10:01:23 UTC 2021 - Franck Bui + +- Drop dependency on m4 (replaced by Jinja2) + ------------------------------------------------------------------- Wed Sep 1 11:54:23 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 1112b547..d5885951 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -96,7 +96,6 @@ BuildRequires: gperf BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel BuildRequires: python3-jinja2 diff --git a/systemd.changes b/systemd.changes index a93d76e2..3750243d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Sep 2 10:01:23 UTC 2021 - Franck Bui + +- Drop dependency on m4 (replaced by Jinja2) + ------------------------------------------------------------------- Wed Sep 1 11:54:23 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index af809ac7..84d5efc2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -94,7 +94,6 @@ BuildRequires: gperf BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel BuildRequires: python3-jinja2 From 0cfa634a7d7ecde24c9d9ecaad93454df9ebdaf326f3cdde395706e3e920ef15 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 3 Sep 2021 09:42:29 +0000 Subject: [PATCH 587/991] - Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1182 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 7 ++++--- systemd.changes | 5 +++++ systemd.spec | 7 ++++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 3750243d..31d40b4f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 3 09:38:23 UTC 2021 - Franck Bui + +- Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) + ------------------------------------------------------------------- Thu Sep 2 10:01:23 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d5885951..d47a5968 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -276,13 +276,14 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: %{name} = %{version}-%{release} +%systemd_requires Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -368,12 +369,12 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved -%systemd_requires %description network Systemd tools to manage network settings using networkd and @@ -566,6 +567,7 @@ testsuite, please refer to %{_testsuitedir}/test/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 Recommends: libpwquality1 @@ -577,7 +579,6 @@ BuildRequires: pkgconfig(pwquality) # fdisk and openssl are build requirements for home stuff and repart BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(openssl) -%systemd_requires %description experimental This package contains optional extra services that are considered as diff --git a/systemd.changes b/systemd.changes index 3750243d..31d40b4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 3 09:38:23 UTC 2021 - Franck Bui + +- Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) + ------------------------------------------------------------------- Thu Sep 2 10:01:23 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 84d5efc2..70619c3b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -274,13 +274,14 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: %{name} = %{version}-%{release} +%systemd_requires Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -366,12 +367,12 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved -%systemd_requires %description network Systemd tools to manage network settings using networkd and @@ -564,6 +565,7 @@ testsuite, please refer to %{_testsuitedir}/test/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 Recommends: libpwquality1 @@ -575,7 +577,6 @@ BuildRequires: pkgconfig(pwquality) # fdisk and openssl are build requirements for home stuff and repart BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(openssl) -%systemd_requires %description experimental This package contains optional extra services that are considered as From f37ad015692a649be6c2983e6291958f61fcda4ead51c8e584e249b43c45c20b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 4 Sep 2021 20:33:46 +0000 Subject: [PATCH 588/991] Accepting request 915488 from Base:System - Configure split-usr=true only when %usrmerged is not defined - Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 - Rework the test (sub)package: - it's been renamed into 'systemd-testsuite' - it includes the extended tests too - the relevant commits have been backported to SUSE/v249 so no SUSE specific patch is needed to run the extended tests (see below) - the deps needed by the extended tests have been added - Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too 088fbb71d0 test: adapt install_pam() for openSUSE 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set 3bba2f876a test: add support for NO_BUILD=1 on openSUSE d77cbc1b64 test: make busybox TEST-13-only dependency - Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for details. - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - Configure split-usr=true only when %usrmerged is not defined OBS-URL: https://build.opensuse.org/request/show/915488 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=335 --- ...conf-parser-introduce-early-drop-ins.patch | 18 ++-- ...and-var-lock-bind-mount-if-they-aren.patch | 8 +- ...ering-startup-for-etc-init.d-boot.lo.patch | 11 ++- ...-part-from-etc-hostname-when-setting.patch | 4 +- ...ult-symlinks-for-primary-cd_dvd-driv.patch | 4 +- ...dd-back-support-for-SysV-scripts-for.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 8 +- ...ranslate-Required-Start-into-a-Wants.patch | 16 +-- ...ole-specificities-weirdness-for-s390.patch | 8 +- ...sion-keyring-per-system-sevice-entir.patch | 8 +- ...e-etc-resolv.conf-symlink-at-runtime.patch | 26 ++--- systemd-mini.changes | 45 +++++++++ systemd-mini.spec | 99 +++++++++++++++---- systemd-v248.6+suse.45.g73e9e6fb84.tar.xz | 3 - systemd-v249.4+suse.32.g40bda18e34.tar.xz | 3 + systemd.changes | 45 +++++++++ systemd.spec | 99 +++++++++++++++---- 17 files changed, 318 insertions(+), 97 deletions(-) delete mode 100644 systemd-v248.6+suse.45.g73e9e6fb84.tar.xz create mode 100644 systemd-v249.4+suse.32.g40bda18e34.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 3331afdc..bf5a21d2 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 0eb84d049c77dceeb48724770f89f0fa01557c87 Mon Sep 17 00:00:00 2001 +From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -66,10 +66,10 @@ Fixes: #2121 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 9dfa190751..b5dee9cbb1 100644 +index d0ac1b2660..cb453fa50d 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -428,6 +428,7 @@ int config_parse( +@@ -430,6 +430,7 @@ int config_parse( static int config_parse_many_files( const char* const* conf_files, @@ -77,7 +77,7 @@ index 9dfa190751..b5dee9cbb1 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -440,6 +441,12 @@ static int config_parse_many_files( +@@ -442,6 +443,12 @@ static int config_parse_many_files( char **fn; int r; @@ -90,7 +90,7 @@ index 9dfa190751..b5dee9cbb1 100644 /* First read the first found main config file. */ STRV_FOREACH(fn, (char**) conf_files) { r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); -@@ -462,6 +469,28 @@ static int config_parse_many_files( +@@ -464,6 +471,28 @@ static int config_parse_many_files( return 0; } @@ -119,7 +119,7 @@ index 9dfa190751..b5dee9cbb1 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -473,15 +502,19 @@ int config_parse_many_nulstr( +@@ -475,15 +504,19 @@ int config_parse_many_nulstr( void *userdata, usec_t *ret_mtime) { @@ -142,7 +142,7 @@ index 9dfa190751..b5dee9cbb1 100644 ret_mtime); } -@@ -497,8 +530,8 @@ int config_parse_many( +@@ -499,8 +532,8 @@ int config_parse_many( void *userdata, usec_t *ret_mtime) { @@ -152,7 +152,7 @@ index 9dfa190751..b5dee9cbb1 100644 const char *suffix; int r; -@@ -511,7 +544,12 @@ int config_parse_many( +@@ -513,7 +546,12 @@ int config_parse_many( if (r < 0) return r; diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index dfc696e1..8cdd1ce8 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,7 +1,7 @@ -From f98af900e625b15862f9173a5c55662d4cee7356 Mon Sep 17 00:00:00 2001 +From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 -Subject: [PATCH 01/12] restore /var/run and /var/lock bind mount if they +Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they aren't symlink --- @@ -13,10 +13,10 @@ Subject: [PATCH 01/12] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index 275daad3f4..dadc9432ef 100644 +index 17e9ead9c1..7b926f9f91 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -150,6 +150,8 @@ units = [ +@@ -160,6 +160,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch index 1e278fda..47bb74af 100644 --- a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -1,7 +1,8 @@ -From 47563b617a371680d1ec3729fa4324310ebe3710 Mon Sep 17 00:00:00 2001 +From ddf3a821b51fbd3064914eb00a03bbecce9ee361 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 25 Mar 2014 13:08:56 +0000 -Subject: [PATCH 1/1] rc-local: fix ordering startup for /etc/init.d/boot.local +Subject: [PATCH 03/11] rc-local: fix ordering startup for + /etc/init.d/boot.local [tblume: fixes bnc#869142] --- @@ -9,13 +10,13 @@ Subject: [PATCH 1/1] rc-local: fix ordering startup for /etc/init.d/boot.local 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/rc-local.service.in b/units/rc-local.service.in -index d4aaaf09d4..5cd1571cc7 100644 +index 55e83dfe00..8b20f8d1af 100644 --- a/units/rc-local.service.in +++ b/units/rc-local.service.in @@ -13,7 +13,7 @@ - Description=@RC_LOCAL_PATH@ Compatibility + Description={{RC_LOCAL_PATH}} Compatibility Documentation=man:systemd-rc-local-generator(8) - ConditionFileIsExecutable=@RC_LOCAL_PATH@ + ConditionFileIsExecutable={{RC_LOCAL_PATH}} -After=network.target +After=basic.target diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch index 74e3790e..f7d958c4 100644 --- a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +++ b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -1,7 +1,7 @@ -From 54366ae306ae19bdb2a5af7eb5158260cdc37e8f Mon Sep 17 00:00:00 2001 +From c6ed74889adade0287ee609150611544d8d5c6d2 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: [PATCH 1/1] strip the domain part from /etc/hostname when setting +Subject: [PATCH 04/11] strip the domain part from /etc/hostname when setting system host name [fbui: fixes bnc#820213] diff --git a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch index b37a8acc..c8b7f70a 100644 --- a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +++ b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch @@ -1,7 +1,7 @@ -From 8e95d5534e9a577529ac49aaec610e6ceefec0b9 Mon Sep 17 00:00:00 2001 +From ae4741127dc0ae575d13b8a7b201207da6167517 Mon Sep 17 00:00:00 2001 From: Robert Milasan Date: Sat, 12 Jul 2014 14:20:36 +0200 -Subject: [PATCH 05/12] udev: create default symlinks for primary cd_dvd drive +Subject: [PATCH 05/11] udev: create default symlinks for primary cd_dvd drive Imported from SLE12-SP1, commit 4f8bacfbffd7049608b5076. diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch index fdf44437..11737094 100644 --- a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +++ b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch @@ -1,7 +1,7 @@ -From ac7bfed30245145ce68a037e7578da12ce2de009 Mon Sep 17 00:00:00 2001 +From 1bd48f23ea7750b354bfb94482f9f035bf8b7841 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 May 2016 08:59:41 +0200 -Subject: [PATCH 1/1] sysv-generator: add (back) support for SysV scripts for +Subject: [PATCH 06/11] sysv-generator: add (back) support for SysV scripts for the early boot For the record, the upstream support was removed by commit @@ -43,7 +43,7 @@ the same time as 'normal' services. 1 file changed, 23 insertions(+) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index 8c7aef23c3..f88f9119fb 100644 +index bf23c48662..fa5355c964 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c @@ -31,6 +31,9 @@ static const struct { @@ -100,7 +100,7 @@ index 8c7aef23c3..f88f9119fb 100644 /* Strip ".sh" suffix from file name for comparison */ filename_no_sh = strdupa(filename); e = endswith(filename_no_sh, ".sh"); -@@ -674,6 +693,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { +@@ -651,6 +670,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { if (other->sysv_start_priority < 0) continue; @@ -110,7 +110,7 @@ index 8c7aef23c3..f88f9119fb 100644 /* If both units have modern headers we don't care * about the priorities */ if (s->has_lsb && other->has_lsb) -@@ -798,6 +820,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { +@@ -775,6 +797,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { .sysv_start_priority = -1, .name = TAKE_PTR(name), .path = TAKE_PTR(fpath), diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch index c4fd62e1..cb8f69a8 100644 --- a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -1,7 +1,7 @@ -From 0adc3f402aeeadd73a0977ca6a1bc65d3d4201c1 Mon Sep 17 00:00:00 2001 +From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 From: Pawel Wieczorkiewicz Date: Tue, 2 Jun 2015 13:33:24 +0000 -Subject: [PATCH 07/12] networkd: make network.service an alias of +Subject: [PATCH 07/11] networkd: make network.service an alias of systemd-networkd.service NetworkManager and wicked does this already. This is needed by yast2 @@ -13,10 +13,10 @@ and other parts of the system. 1 file changed, 1 insertion(+) diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in -index 2673146841..083a35b912 100644 +index ffa45ba049..6a5d0dea3c 100644 --- a/units/systemd-networkd.service.in +++ b/units/systemd-networkd.service.in -@@ -50,6 +50,7 @@ User=systemd-network +@@ -53,6 +53,7 @@ User=systemd-network [Install] WantedBy=multi-user.target diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch index d21fea50..55b44930 100644 --- a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -1,7 +1,7 @@ -From a32292849ca2837f99d6801da26b8d8e401831c4 Mon Sep 17 00:00:00 2001 +From 7f59f7b1b506c1394712ad3d6bab81318052a14c Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 4 May 2016 17:40:04 +0200 -Subject: [PATCH 08/12] sysv-generator: translate "Required-Start" into a +Subject: [PATCH 08/11] sysv-generator: translate "Required-Start" into a "Wants" dependency [tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] @@ -17,10 +17,10 @@ Subject: [PATCH 08/12] sysv-generator: translate "Required-Start" into a 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index 1c01008967..7a58be9287 100644 +index fa5355c964..62755f3652 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c -@@ -258,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, +@@ -257,6 +257,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, "remote_fs", SPECIAL_REMOTE_FS_TARGET, "syslog", NULL, "time", SPECIAL_TIME_SYNC_TARGET, @@ -28,7 +28,7 @@ index 1c01008967..7a58be9287 100644 }; const char *filename; -@@ -272,6 +273,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, +@@ -271,6 +272,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, filename = basename(s->path); @@ -36,7 +36,7 @@ index 1c01008967..7a58be9287 100644 n = *name == '$' ? name + 1 : name; for (i = 0; i < ELEMENTSOF(table); i += 2) { -@@ -408,7 +410,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -407,7 +409,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text for (;;) { _cleanup_free_ char *word = NULL, *m = NULL; @@ -45,7 +45,7 @@ index 1c01008967..7a58be9287 100644 r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX); if (r < 0) -@@ -421,6 +423,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -420,6 +422,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text continue; is_before = startswith_no_case(full_text, "X-Start-Before:"); @@ -53,7 +53,7 @@ index 1c01008967..7a58be9287 100644 if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) { /* the network-online target is special, as it needs to be actively pulled in */ -@@ -429,8 +432,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -428,8 +431,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text return log_oom(); r = strv_extend(&s->wants, m); diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch index e4984478..6124095d 100644 --- a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -1,7 +1,7 @@ -From 7fc80ccccaa6f7b98af8bcd899a97d561777ff94 Mon Sep 17 00:00:00 2001 +From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 10 Jun 2016 15:19:57 +0200 -Subject: [PATCH 09/12] pid1: handle console specificities/weirdness for s390 +Subject: [PATCH 09/11] pid1: handle console specificities/weirdness for s390 arch The 3270 console on S/390 can do color but not the 3215 console. @@ -30,10 +30,10 @@ whose $subject is "[PATCH] support conmode setting on command line". 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c -index 6cacde90ba..1a03902acc 100644 +index d769423d6e..1a65391146 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c -@@ -780,7 +780,20 @@ bool tty_is_vc_resolve(const char *tty) { +@@ -779,7 +779,20 @@ bool tty_is_vc_resolve(const char *tty) { } const char *default_term_for_tty(const char *tty) { diff --git a/0011-core-disable-session-keyring-per-system-sevice-entir.patch b/0011-core-disable-session-keyring-per-system-sevice-entir.patch index a3e1fac1..9d5bad80 100644 --- a/0011-core-disable-session-keyring-per-system-sevice-entir.patch +++ b/0011-core-disable-session-keyring-per-system-sevice-entir.patch @@ -1,7 +1,7 @@ -From e5b3d1d00bbdbcb168889699c462bf01b58062a5 Mon Sep 17 00:00:00 2001 +From 67f3fa5aa2781d42c809da9303f81b28544824d8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jul 2017 15:48:10 +0200 -Subject: [PATCH 11/12] core: disable session keyring per system sevice +Subject: [PATCH 10/11] core: disable session keyring per system sevice entirely for now Until PAM module "pam_keyinit" is fully integrated in SUSE's PAM stack, this @@ -27,10 +27,10 @@ https://github.com/systemd/systemd/pull/6286 1 file changed, 3 insertions(+) diff --git a/src/core/execute.c b/src/core/execute.c -index 2a4840a3a9..aefd4eaff1 100644 +index 2a337b55a2..b5a1a3b6e5 100644 --- a/src/core/execute.c +++ b/src/core/execute.c -@@ -2779,6 +2779,9 @@ static int setup_keyring( +@@ -3356,6 +3356,9 @@ static int setup_keyring( assert(context); assert(p); diff --git a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch index a687aaa0..510c4732 100644 --- a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -1,7 +1,7 @@ -From 90d84a96aca84b39f6aabda048703dc7c0e79ef4 Mon Sep 17 00:00:00 2001 +From 1aa6cfc7ff05929f013262c86ab7557e5394fb4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH 12/12] resolved: create /etc/resolv.conf symlink at runtime +Subject: [PATCH 11/11] resolved: create /etc/resolv.conf symlink at runtime If the symlink doesn't exists, and we are being started, let's create it to provie name resolution. @@ -14,11 +14,11 @@ don't touch it in that case either. https://bugzilla.redhat.com/show_bug.cgi?id=1313085 --- src/resolve/resolved.c | 6 ++++++ - tmpfiles.d/etc.conf.m4 | 3 --- + tmpfiles.d/etc.conf.in | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index 16477f28d6..3922804039 100644 +index aabaa266e9..39277ea487 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c @@ -53,6 +53,12 @@ static int run(int argc, char *argv[]) { @@ -34,19 +34,19 @@ index 16477f28d6..3922804039 100644 /* As we're root, we can create the directory where resolv.conf will live */ r = mkdir_safe_label("/run/systemd/resolve", 0755, uid, gid, MKDIR_WARN_MODE); if (r < 0) -diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 -index f82e0b82ce..66a777bdb2 100644 ---- a/tmpfiles.d/etc.conf.m4 -+++ b/tmpfiles.d/etc.conf.m4 +diff --git a/tmpfiles.d/etc.conf.in b/tmpfiles.d/etc.conf.in +index 2323fd8cd8..ebdc699c26 100644 +--- a/tmpfiles.d/etc.conf.in ++++ b/tmpfiles.d/etc.conf.in @@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts - m4_ifdef(`HAVE_SMACK_RUN_LABEL', + {% if HAVE_SMACK_RUN_LABEL %} t /etc/mtab - - - - security.SMACK64=_ - )m4_dnl --m4_ifdef(`ENABLE_RESOLVE', + {% endif %} +-{% if ENABLE_RESOLVE %} -L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf --)m4_dnl +-{% endif %} C! /etc/nsswitch.conf - - - - - m4_ifdef(`HAVE_PAM', + {% if HAVE_PAM %} C! /etc/pam.d - - - - -- 2.26.2 diff --git a/systemd-mini.changes b/systemd-mini.changes index 25dbc3d6..a93d76e2 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Wed Sep 1 11:54:23 UTC 2021 - Franck Bui + +- Configure split-usr=true only when %usrmerged is not defined + +------------------------------------------------------------------- +Wed Sep 1 09:56:55 UTC 2021 - Franck Bui + +- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 + +------------------------------------------------------------------- +Mon Aug 23 15:12:10 UTC 2021 - Franck Bui + +- Rework the test (sub)package: + - it's been renamed into 'systemd-testsuite' + - it includes the extended tests too + - the relevant commits have been backported to SUSE/v249 so no SUSE + specific patch is needed to run the extended tests (see below) + - the deps needed by the extended tests have been added + +- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 + + ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too + 088fbb71d0 test: adapt install_pam() for openSUSE + 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" + ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" + 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only + 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set + 3bba2f876a test: add support for NO_BUILD=1 on openSUSE + d77cbc1b64 test: make busybox TEST-13-only dependency + +------------------------------------------------------------------- +Mon Aug 2 12:54:44 UTC 2021 - Franck Bui + +- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) + + See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for + details. + + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Jul 29 13:12:48 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 0f05b170..1112b547 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,8 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.45.g73e9e6fb84 +%define suse_version +suse.32.g40bda18e34 +%define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi %if 0%{?bootstrap} @@ -39,7 +40,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental -%bcond_with tests +%bcond_with testsuite %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -53,12 +54,12 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental -%bcond_without tests +%bcond_without testsuite %endif Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.6 +Version: 249.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -98,6 +99,7 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel +BuildRequires: python3-jinja2 # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 @@ -487,22 +489,77 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%if %{with tests} -%package tests -Summary: Unit tests for systemd +%if %{with testsuite} +%package testsuite +Summary: Testsuite for systemd +# Unit tests dependencies License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools +# The following deps on libs are for test-dlopen-so whereas the +# pkgconfig ones are used by test-funtions to find the libs on the +# host and install them in the image, see install_missing_libraries() +# for details. +%if %{with resolved} +Requires: libidn2 pkgconfig(libidn2) +%endif +%if %{with experimental} +Requires: libpwquality1 pkgconfig(pwquality) +Requires: libqrencode4 pkgconfig(libqrencode) +%endif +Requires: %{name} = %{version}-%{release} +Requires: attr +Requires: busybox-static +Requires: cryptsetup +Requires: dhcp-client +Requires: dosfstools +Requires: libcap-progs +Requires: lz4 +Requires: net-tools-deprecated +Requires: qemu-kvm +Requires: quota +Requires: socat +Requires: squashfs +Requires: systemd-container +Requires: libfido2 pkgconfig(libfido2) +Requires: libtss2-esys0 pkgconfig(tss2-esys) +Requires: libtss2-mu0 pkgconfig(tss2-mu) +Requires: libtss2-rc0 pkgconfig(tss2-rc) +%if %{with coredump} +Requires: systemd-coredump +%endif +%if %{with experimental} +Requires: systemd-experimental +%endif +%if %{with journal_remote} +Requires: systemd-journal-remote +%endif +%if %{with portabled} +Requires: systemd-portable +%endif +Requires: xz -%description tests -This package contains the unit tests used to check various internal -functions used by systemd and all its components. +%description testsuite +This package contains the unit tests as well as the extended +testsuite. The unit tests are used to check various internal functions +used by systemd whereas the extended testsuite is used to test various +functionalities of systemd and all its components. -The python script /usr/lib/systemd/tests/run-unit-tests.py can be used -to run all unit tests at once. +Note that the extended testsuite only works with UID=0. + +Run the following python script to run all unit tests at once: +$ %{_testsuitedir}/run-unit-tests.py + +To run the full extended testsuite do the following: +$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh + +Or to run one specific integration test: +$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run + +For more details on the available options to run the extended +testsuite, please refer to %{_testsuitedir}/test/README.testsuite. %endif %if %{with experimental} @@ -558,7 +615,9 @@ Have fun with these services at your own risk. -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ +%if !0%{?usrmerged} -Dsplit-usr=true \ +%endif -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ @@ -625,7 +684,7 @@ Have fun with these services at your own risk. -Dsysvinit-path= \ -Dsysvrcnd-path= \ %endif -%if %{with tests} +%if %{with testsuite} -Dtests=unsafe \ -Dinstall-tests=true \ %else @@ -837,6 +896,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket +%if %{with testsuite} +cp -a test %{buildroot}%{_testsuitedir}/ +%endif + %if ! 0%{?bootstrap} %find_lang systemd %endif @@ -1759,9 +1822,11 @@ fi %{_mandir}/man*/systemd-portabled* %endif -%if %{with tests} -%files tests -%{_prefix}/lib/systemd/tests +%if %{with testsuite} +%files testsuite +%defattr(-,root,root) +%{_testsuitedir} +%doc %{_testsuitedir}/test/README.testsuite %endif %if %{with experimental} diff --git a/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz b/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz deleted file mode 100644 index a72a623b..00000000 --- a/systemd-v248.6+suse.45.g73e9e6fb84.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3750afd054f03b6868463ffd663441ead475d31dcd83d429c36580e7c6f748a -size 7123304 diff --git a/systemd-v249.4+suse.32.g40bda18e34.tar.xz b/systemd-v249.4+suse.32.g40bda18e34.tar.xz new file mode 100644 index 00000000..d130d483 --- /dev/null +++ b/systemd-v249.4+suse.32.g40bda18e34.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fddc0b0846c692af8bae3673728a0d95bfdcc448846c218e850b6b93e5493c2a +size 7265384 diff --git a/systemd.changes b/systemd.changes index 25dbc3d6..a93d76e2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Wed Sep 1 11:54:23 UTC 2021 - Franck Bui + +- Configure split-usr=true only when %usrmerged is not defined + +------------------------------------------------------------------- +Wed Sep 1 09:56:55 UTC 2021 - Franck Bui + +- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 + +------------------------------------------------------------------- +Mon Aug 23 15:12:10 UTC 2021 - Franck Bui + +- Rework the test (sub)package: + - it's been renamed into 'systemd-testsuite' + - it includes the extended tests too + - the relevant commits have been backported to SUSE/v249 so no SUSE + specific patch is needed to run the extended tests (see below) + - the deps needed by the extended tests have been added + +- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 + + ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too + 088fbb71d0 test: adapt install_pam() for openSUSE + 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" + ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" + 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only + 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set + 3bba2f876a test: add support for NO_BUILD=1 on openSUSE + d77cbc1b64 test: make busybox TEST-13-only dependency + +------------------------------------------------------------------- +Mon Aug 2 12:54:44 UTC 2021 - Franck Bui + +- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) + + See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for + details. + + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch + ------------------------------------------------------------------- Thu Jul 29 13:12:48 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f55e9088..af809ac7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,8 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.45.g73e9e6fb84 +%define suse_version +suse.32.g40bda18e34 +%define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi %if 0%{?bootstrap} @@ -37,7 +38,7 @@ %bcond_with resolved %bcond_with sysvcompat %bcond_with experimental -%bcond_with tests +%bcond_with testsuite %else %bcond_without coredump %ifarch %{ix86} x86_64 @@ -51,12 +52,12 @@ %bcond_without resolved %bcond_without sysvcompat %bcond_without experimental -%bcond_without tests +%bcond_without testsuite %endif Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 248.6 +Version: 249.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -96,6 +97,7 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel +BuildRequires: python3-jinja2 # regenerate_initrd_post macro is expanded during build, hence this # BR. Also this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 @@ -485,22 +487,77 @@ This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. %endif -%if %{with tests} -%package tests -Summary: Unit tests for systemd +%if %{with testsuite} +%package testsuite +Summary: Testsuite for systemd +# Unit tests dependencies License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools +# The following deps on libs are for test-dlopen-so whereas the +# pkgconfig ones are used by test-funtions to find the libs on the +# host and install them in the image, see install_missing_libraries() +# for details. +%if %{with resolved} +Requires: libidn2 pkgconfig(libidn2) +%endif +%if %{with experimental} +Requires: libpwquality1 pkgconfig(pwquality) +Requires: libqrencode4 pkgconfig(libqrencode) +%endif +Requires: %{name} = %{version}-%{release} +Requires: attr +Requires: busybox-static +Requires: cryptsetup +Requires: dhcp-client +Requires: dosfstools +Requires: libcap-progs +Requires: lz4 +Requires: net-tools-deprecated +Requires: qemu-kvm +Requires: quota +Requires: socat +Requires: squashfs +Requires: systemd-container +Requires: libfido2 pkgconfig(libfido2) +Requires: libtss2-esys0 pkgconfig(tss2-esys) +Requires: libtss2-mu0 pkgconfig(tss2-mu) +Requires: libtss2-rc0 pkgconfig(tss2-rc) +%if %{with coredump} +Requires: systemd-coredump +%endif +%if %{with experimental} +Requires: systemd-experimental +%endif +%if %{with journal_remote} +Requires: systemd-journal-remote +%endif +%if %{with portabled} +Requires: systemd-portable +%endif +Requires: xz -%description tests -This package contains the unit tests used to check various internal -functions used by systemd and all its components. +%description testsuite +This package contains the unit tests as well as the extended +testsuite. The unit tests are used to check various internal functions +used by systemd whereas the extended testsuite is used to test various +functionalities of systemd and all its components. -The python script /usr/lib/systemd/tests/run-unit-tests.py can be used -to run all unit tests at once. +Note that the extended testsuite only works with UID=0. + +Run the following python script to run all unit tests at once: +$ %{_testsuitedir}/run-unit-tests.py + +To run the full extended testsuite do the following: +$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh + +Or to run one specific integration test: +$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run + +For more details on the available options to run the extended +testsuite, please refer to %{_testsuitedir}/test/README.testsuite. %endif %if %{with experimental} @@ -556,7 +613,9 @@ Have fun with these services at your own risk. -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ +%if !0%{?usrmerged} -Dsplit-usr=true \ +%endif -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ @@ -623,7 +682,7 @@ Have fun with these services at your own risk. -Dsysvinit-path= \ -Dsysvrcnd-path= \ %endif -%if %{with tests} +%if %{with testsuite} -Dtests=unsafe \ -Dinstall-tests=true \ %else @@ -835,6 +894,10 @@ cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket +%if %{with testsuite} +cp -a test %{buildroot}%{_testsuitedir}/ +%endif + %if ! 0%{?bootstrap} %find_lang systemd %endif @@ -1757,9 +1820,11 @@ fi %{_mandir}/man*/systemd-portabled* %endif -%if %{with tests} -%files tests -%{_prefix}/lib/systemd/tests +%if %{with testsuite} +%files testsuite +%defattr(-,root,root) +%{_testsuitedir} +%doc %{_testsuitedir}/test/README.testsuite %endif %if %{with experimental} From e2348dd9f01a2d850e71822a90822bf70a8e62c20abe33f64ae876247e9799c1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Sep 2021 14:28:02 +0000 Subject: [PATCH 589/991] - Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only fd46c81922 test: make sure to include all haveged unit files - systemd.spec: reexec user manager instances on package updates OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1183 --- systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 13 +++++++++++-- systemd-v249.4+suse.32.g40bda18e34.tar.xz | 3 --- systemd-v249.4+suse.35.gec72db9ee0.tar.xz | 3 +++ systemd.changes | 10 ++++++++++ systemd.spec | 13 +++++++++++-- 6 files changed, 45 insertions(+), 7 deletions(-) delete mode 100644 systemd-v249.4+suse.32.g40bda18e34.tar.xz create mode 100644 systemd-v249.4+suse.35.gec72db9ee0.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 31d40b4f..9f5e0482 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Sep 8 13:21:34 UTC 2021 - Franck Bui + +- Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 + + 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only + fd46c81922 test: make sure to include all haveged unit files + +- systemd.spec: reexec user manager instances on package updates + ------------------------------------------------------------------- Fri Sep 3 09:38:23 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index d47a5968..7e7f3b00 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.32.g40bda18e34 +%define suse_version +suse.35.gec72db9ee0 %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -941,7 +941,16 @@ pam-config --add --systemd || : [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : -systemctl daemon-reexec || : +systemctl daemon-reexec || : + +# Reexecute user manager instances (if any). It is asynchronous but it +# shouldn't be a problem in practice: a problem would arise only if +# the new version of a user service has a brand new option that is +# only understood by the latest version of the user manager and the +# user service is started before the user manager get reexecuted. But +# this case is very unlikely especially since we don't restart any +# user service for now on. +systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : %journal_catalog_update %tmpfiles_create diff --git a/systemd-v249.4+suse.32.g40bda18e34.tar.xz b/systemd-v249.4+suse.32.g40bda18e34.tar.xz deleted file mode 100644 index d130d483..00000000 --- a/systemd-v249.4+suse.32.g40bda18e34.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fddc0b0846c692af8bae3673728a0d95bfdcc448846c218e850b6b93e5493c2a -size 7265384 diff --git a/systemd-v249.4+suse.35.gec72db9ee0.tar.xz b/systemd-v249.4+suse.35.gec72db9ee0.tar.xz new file mode 100644 index 00000000..d8ceb7cf --- /dev/null +++ b/systemd-v249.4+suse.35.gec72db9ee0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d581f2ec411b41826c395147fe9a040b0e916de7fdeeaae0681f43be8b92bb82 +size 7266280 diff --git a/systemd.changes b/systemd.changes index 31d40b4f..9f5e0482 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Sep 8 13:21:34 UTC 2021 - Franck Bui + +- Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 + + 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only + fd46c81922 test: make sure to include all haveged unit files + +- systemd.spec: reexec user manager instances on package updates + ------------------------------------------------------------------- Fri Sep 3 09:38:23 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 70619c3b..113a9a78 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.32.g40bda18e34 +%define suse_version +suse.35.gec72db9ee0 %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -939,7 +939,16 @@ pam-config --add --systemd || : [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : -systemctl daemon-reexec || : +systemctl daemon-reexec || : + +# Reexecute user manager instances (if any). It is asynchronous but it +# shouldn't be a problem in practice: a problem would arise only if +# the new version of a user service has a brand new option that is +# only understood by the latest version of the user manager and the +# user service is started before the user manager get reexecuted. But +# this case is very unlikely especially since we don't restart any +# user service for now on. +systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : %journal_catalog_update %tmpfiles_create From 588927516a4ad08ae516d373c352f08bae293f69136dcecfad4d4a85f6daa587 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Sep 2021 17:13:42 +0000 Subject: [PATCH 590/991] - Don't reexecute user manager instances on package update yet This can't be done until users have their user instance updated to the new version that supports reexecuting with SIGRTMIN+25 because this signal terminates the user managers for the previous versions. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1184 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 9 ++++++++- systemd.changes | 9 +++++++++ systemd.spec | 9 ++++++++- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9f5e0482..d28a872f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Sep 8 17:01:58 UTC 2021 - Franck Bui + +- Don't reexecute user manager instances on package update yet + + This can't be done until users have their user instance updated to + the new version that supports reexecuting with SIGRTMIN+25 because + this signal terminates the user managers for the previous versions. + ------------------------------------------------------------------- Wed Sep 8 13:21:34 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 7e7f3b00..2de1c70e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -950,7 +950,14 @@ systemctl daemon-reexec || : # user service is started before the user manager get reexecuted. But # this case is very unlikely especially since we don't restart any # user service for now on. -systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : +# +# Before doing this, we unfortunately have to wait until users will +# reexec their user manager (by either rebooting or restarting their +# session) to a version that supports SIGRTMIN+25 otherwise sending +# the signal to an old version will kill the manager which means +# tearing down the user session. +# +# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : %journal_catalog_update %tmpfiles_create diff --git a/systemd.changes b/systemd.changes index 9f5e0482..d28a872f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Sep 8 17:01:58 UTC 2021 - Franck Bui + +- Don't reexecute user manager instances on package update yet + + This can't be done until users have their user instance updated to + the new version that supports reexecuting with SIGRTMIN+25 because + this signal terminates the user managers for the previous versions. + ------------------------------------------------------------------- Wed Sep 8 13:21:34 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 113a9a78..336ac697 100644 --- a/systemd.spec +++ b/systemd.spec @@ -948,7 +948,14 @@ systemctl daemon-reexec || : # user service is started before the user manager get reexecuted. But # this case is very unlikely especially since we don't restart any # user service for now on. -systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : +# +# Before doing this, we unfortunately have to wait until users will +# reexec their user manager (by either rebooting or restarting their +# session) to a version that supports SIGRTMIN+25 otherwise sending +# the signal to an old version will kill the manager which means +# tearing down the user session. +# +# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : %journal_catalog_update %tmpfiles_create From 51ce22ca7d5afb3ddd2206b297a880c0504298c34c900c8758b2727c77e2d1c4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 10 Sep 2021 09:54:08 +0000 Subject: [PATCH 591/991] - Adjust pam macros OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1185 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 12 ++++++------ systemd.changes | 5 +++++ systemd.spec | 12 ++++++------ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index d28a872f..e3cc72e9 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 10 09:51:06 UTC 2021 - Franck Bui + +- Adjust pam macros + ------------------------------------------------------------------- Wed Sep 8 17:01:58 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 2de1c70e..f07a4c53 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -621,8 +621,8 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_distconfdir}/pam.d \ - -Dpamlibdir=%{_pamdir} \ + -Dpamconfdir=%{_pam_vendordir} \ + -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -752,7 +752,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d +install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -1379,7 +1379,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%{_pamdir}/pam_systemd.so +%{_pam_moduledir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1421,7 +1421,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%{_distconfdir}/pam.d/systemd-user +%{_pam_vendordir}/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1869,7 +1869,7 @@ fi %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service -%{_pamdir}/pam_systemd_home.so +%{_pam_moduledir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy diff --git a/systemd.changes b/systemd.changes index d28a872f..e3cc72e9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 10 09:51:06 UTC 2021 - Franck Bui + +- Adjust pam macros + ------------------------------------------------------------------- Wed Sep 8 17:01:58 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 336ac697..a53416e3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -619,8 +619,8 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_distconfdir}/pam.d \ - -Dpamlibdir=%{_pamdir} \ + -Dpamconfdir=%{_pam_vendordir} \ + -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -750,7 +750,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d +install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -1377,7 +1377,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%{_pamdir}/pam_systemd.so +%{_pam_moduledir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1419,7 +1419,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%{_distconfdir}/pam.d/systemd-user +%{_pam_vendordir}/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1867,7 +1867,7 @@ fi %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service -%{_pamdir}/pam_systemd_home.so +%{_pam_moduledir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From 1afd1ff353e7f134c202c099e23ba6873c368d297e4cbb26a0f1b38464ef010c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 10 Sep 2021 13:31:14 +0000 Subject: [PATCH 592/991] - Drop git internal files from the testsuite sub-package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1186 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 1 + systemd.changes | 5 +++++ systemd.spec | 1 + 4 files changed, 12 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index e3cc72e9..a710a701 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 10 13:30:14 UTC 2021 - Franck Bui + +- Drop git internal files from the testsuite sub-package + ------------------------------------------------------------------- Fri Sep 10 09:51:06 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f07a4c53..95e3c7b2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -898,6 +898,7 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif %if ! 0%{?bootstrap} diff --git a/systemd.changes b/systemd.changes index e3cc72e9..a710a701 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 10 13:30:14 UTC 2021 - Franck Bui + +- Drop git internal files from the testsuite sub-package + ------------------------------------------------------------------- Fri Sep 10 09:51:06 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a53416e3..f4e89328 100644 --- a/systemd.spec +++ b/systemd.spec @@ -896,6 +896,7 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif %if ! 0%{?bootstrap} From a923caa084aab5203f67e8858292d8f170ae93f2419c35dd30736da279d58dbd Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 11 Sep 2021 20:24:21 +0000 Subject: [PATCH 593/991] Accepting request 917666 from Base:System - Don't reexecute user manager instances on package update yet This can't be done until users have their user instance updated to the new version that supports reexecuting with SIGRTMIN+25 because this signal terminates the user managers for the previous versions. - Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only fd46c81922 test: make sure to include all haveged unit files - systemd.spec: reexec user manager instances on package updates - Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) - Drop dependency on m4 (replaced by Jinja2) OBS-URL: https://build.opensuse.org/request/show/917666 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=336 --- systemd-mini.changes | 29 +++++++++++++++++++++++ systemd-mini.spec | 28 +++++++++++++++++----- systemd-v249.4+suse.32.g40bda18e34.tar.xz | 3 --- systemd-v249.4+suse.35.gec72db9ee0.tar.xz | 3 +++ systemd.changes | 29 +++++++++++++++++++++++ systemd.spec | 28 +++++++++++++++++----- 6 files changed, 105 insertions(+), 15 deletions(-) delete mode 100644 systemd-v249.4+suse.32.g40bda18e34.tar.xz create mode 100644 systemd-v249.4+suse.35.gec72db9ee0.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index a93d76e2..d28a872f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Wed Sep 8 17:01:58 UTC 2021 - Franck Bui + +- Don't reexecute user manager instances on package update yet + + This can't be done until users have their user instance updated to + the new version that supports reexecuting with SIGRTMIN+25 because + this signal terminates the user managers for the previous versions. + +------------------------------------------------------------------- +Wed Sep 8 13:21:34 UTC 2021 - Franck Bui + +- Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 + + 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only + fd46c81922 test: make sure to include all haveged unit files + +- systemd.spec: reexec user manager instances on package updates + +------------------------------------------------------------------- +Fri Sep 3 09:38:23 UTC 2021 - Franck Bui + +- Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) + +------------------------------------------------------------------- +Thu Sep 2 10:01:23 UTC 2021 - Franck Bui + +- Drop dependency on m4 (replaced by Jinja2) + ------------------------------------------------------------------- Wed Sep 1 11:54:23 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 1112b547..2de1c70e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.32.g40bda18e34 +%define suse_version +suse.35.gec72db9ee0 %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -96,7 +96,6 @@ BuildRequires: gperf BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel BuildRequires: python3-jinja2 @@ -277,13 +276,14 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: %{name} = %{version}-%{release} +%systemd_requires Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -369,12 +369,12 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved -%systemd_requires %description network Systemd tools to manage network settings using networkd and @@ -567,6 +567,7 @@ testsuite, please refer to %{_testsuitedir}/test/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 Recommends: libpwquality1 @@ -578,7 +579,6 @@ BuildRequires: pkgconfig(pwquality) # fdisk and openssl are build requirements for home stuff and repart BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(openssl) -%systemd_requires %description experimental This package contains optional extra services that are considered as @@ -941,7 +941,23 @@ pam-config --add --systemd || : [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : -systemctl daemon-reexec || : +systemctl daemon-reexec || : + +# Reexecute user manager instances (if any). It is asynchronous but it +# shouldn't be a problem in practice: a problem would arise only if +# the new version of a user service has a brand new option that is +# only understood by the latest version of the user manager and the +# user service is started before the user manager get reexecuted. But +# this case is very unlikely especially since we don't restart any +# user service for now on. +# +# Before doing this, we unfortunately have to wait until users will +# reexec their user manager (by either rebooting or restarting their +# session) to a version that supports SIGRTMIN+25 otherwise sending +# the signal to an old version will kill the manager which means +# tearing down the user session. +# +# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : %journal_catalog_update %tmpfiles_create diff --git a/systemd-v249.4+suse.32.g40bda18e34.tar.xz b/systemd-v249.4+suse.32.g40bda18e34.tar.xz deleted file mode 100644 index d130d483..00000000 --- a/systemd-v249.4+suse.32.g40bda18e34.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fddc0b0846c692af8bae3673728a0d95bfdcc448846c218e850b6b93e5493c2a -size 7265384 diff --git a/systemd-v249.4+suse.35.gec72db9ee0.tar.xz b/systemd-v249.4+suse.35.gec72db9ee0.tar.xz new file mode 100644 index 00000000..d8ceb7cf --- /dev/null +++ b/systemd-v249.4+suse.35.gec72db9ee0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d581f2ec411b41826c395147fe9a040b0e916de7fdeeaae0681f43be8b92bb82 +size 7266280 diff --git a/systemd.changes b/systemd.changes index a93d76e2..d28a872f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Wed Sep 8 17:01:58 UTC 2021 - Franck Bui + +- Don't reexecute user manager instances on package update yet + + This can't be done until users have their user instance updated to + the new version that supports reexecuting with SIGRTMIN+25 because + this signal terminates the user managers for the previous versions. + +------------------------------------------------------------------- +Wed Sep 8 13:21:34 UTC 2021 - Franck Bui + +- Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 + + 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only + fd46c81922 test: make sure to include all haveged unit files + +- systemd.spec: reexec user manager instances on package updates + +------------------------------------------------------------------- +Fri Sep 3 09:38:23 UTC 2021 - Franck Bui + +- Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) + +------------------------------------------------------------------- +Thu Sep 2 10:01:23 UTC 2021 - Franck Bui + +- Drop dependency on m4 (replaced by Jinja2) + ------------------------------------------------------------------- Wed Sep 1 11:54:23 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index af809ac7..336ac697 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.32.g40bda18e34 +%define suse_version +suse.35.gec72db9ee0 %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -94,7 +94,6 @@ BuildRequires: gperf BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: m4 BuildRequires: meson >= 0.43 BuildRequires: pam-devel BuildRequires: python3-jinja2 @@ -275,13 +274,14 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +Requires: %{name} = %{version}-%{release} +%systemd_requires Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun): coreutils -%systemd_requires Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -367,12 +367,12 @@ and systemd-importd. Summary: Systemd tools for networkd and resolved License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved -%systemd_requires %description network Systemd tools to manage network settings using networkd and @@ -565,6 +565,7 @@ testsuite, please refer to %{_testsuitedir}/test/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +%systemd_requires # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 Recommends: libpwquality1 @@ -576,7 +577,6 @@ BuildRequires: pkgconfig(pwquality) # fdisk and openssl are build requirements for home stuff and repart BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(openssl) -%systemd_requires %description experimental This package contains optional extra services that are considered as @@ -939,7 +939,23 @@ pam-config --add --systemd || : [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : -systemctl daemon-reexec || : +systemctl daemon-reexec || : + +# Reexecute user manager instances (if any). It is asynchronous but it +# shouldn't be a problem in practice: a problem would arise only if +# the new version of a user service has a brand new option that is +# only understood by the latest version of the user manager and the +# user service is started before the user manager get reexecuted. But +# this case is very unlikely especially since we don't restart any +# user service for now on. +# +# Before doing this, we unfortunately have to wait until users will +# reexec their user manager (by either rebooting or restarting their +# session) to a version that supports SIGRTMIN+25 otherwise sending +# the signal to an old version will kill the manager which means +# tearing down the user session. +# +# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : %journal_catalog_update %tmpfiles_create From 0035691dc84d73dd15ec4fc9b7c2c932a827214c1451cb78add68454920a546f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 22 Sep 2021 08:45:10 +0000 Subject: [PATCH 594/991] Add a couple of missing bug references in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1187 --- systemd-mini.changes | 11 ++++++++++- systemd.changes | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index a710a701..d31b40f7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -79,6 +79,10 @@ Mon Aug 2 12:54:44 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for details. + This includes the following bug fixes: + + - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -320,6 +324,11 @@ Mon Apr 26 16:25:38 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. + This includes the following bug fixes: + + - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) + - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) + - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of these libs are dynamically loaded with dlopen() (heck!) @@ -984,7 +993,7 @@ Mon Apr 27 14:50:36 UTC 2020 - Franck Bui ------------------------------------------------------------------- Mon Apr 27 14:33:35 UTC 2020 - Franck Bui -- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466 bsc#1181831) They are problematic because some of them conflict with SUSE defaults. Therefore it seems better to let the revelant packages diff --git a/systemd.changes b/systemd.changes index a710a701..d31b40f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -79,6 +79,10 @@ Mon Aug 2 12:54:44 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for details. + This includes the following bug fixes: + + - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -320,6 +324,11 @@ Mon Apr 26 16:25:38 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. + This includes the following bug fixes: + + - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) + - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) + - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of these libs are dynamically loaded with dlopen() (heck!) @@ -984,7 +993,7 @@ Mon Apr 27 14:50:36 UTC 2020 - Franck Bui ------------------------------------------------------------------- Mon Apr 27 14:33:35 UTC 2020 - Franck Bui -- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466 bsc#1181831) They are problematic because some of them conflict with SUSE defaults. Therefore it seems better to let the revelant packages From bedb878178b5c27941aae2d5675d34db9a9cf288dc16815ca73ea9f159a9607c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 22 Sep 2021 13:29:40 +0000 Subject: [PATCH 595/991] - Update the dependencies of the testsuite package The debug tools are optional thus no more required. OTOH strip(1) is needed when building the test image and nc(1) is needed by some tests. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1188 --- systemd-mini.changes | 10 ++++++++++ systemd-mini.spec | 4 ++-- systemd.changes | 10 ++++++++++ systemd.spec | 4 ++-- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index d31b40f7..79711c8f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Sep 22 13:25:26 UTC 2021 - Franck Bui + +- Update the dependencies of the testsuite package + + The debug tools are optional thus no more required. + + OTOH strip(1) is needed when building the test image and nc(1) is + needed by some tests. + ------------------------------------------------------------------- Fri Sep 10 13:30:14 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 95e3c7b2..f7a97f5f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -511,13 +511,13 @@ Requires: libqrencode4 pkgconfig(libqrencode) %endif Requires: %{name} = %{version}-%{release} Requires: attr +Requires: binutils Requires: busybox-static Requires: cryptsetup -Requires: dhcp-client Requires: dosfstools Requires: libcap-progs Requires: lz4 -Requires: net-tools-deprecated +Requires: netcat Requires: qemu-kvm Requires: quota Requires: socat diff --git a/systemd.changes b/systemd.changes index d31b40f7..79711c8f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Sep 22 13:25:26 UTC 2021 - Franck Bui + +- Update the dependencies of the testsuite package + + The debug tools are optional thus no more required. + + OTOH strip(1) is needed when building the test image and nc(1) is + needed by some tests. + ------------------------------------------------------------------- Fri Sep 10 13:30:14 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f4e89328..24cc5cf6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -509,13 +509,13 @@ Requires: libqrencode4 pkgconfig(libqrencode) %endif Requires: %{name} = %{version}-%{release} Requires: attr +Requires: binutils Requires: busybox-static Requires: cryptsetup -Requires: dhcp-client Requires: dosfstools Requires: libcap-progs Requires: lz4 -Requires: net-tools-deprecated +Requires: netcat Requires: qemu-kvm Requires: quota Requires: socat From 096fa89f5a9d6ac142184c55f28ce7523710faefc1f6e0ae6162aaa162045b2b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 22 Sep 2021 13:45:37 +0000 Subject: [PATCH 596/991] - Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh 1527bcc5dd test: make the installation of the debug tools optional in the image f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1189 --- systemd-mini.changes | 9 +++++++++ systemd-mini.spec | 2 +- systemd-v249.4+suse.35.gec72db9ee0.tar.xz | 3 --- systemd-v249.4+suse.39.g7a5801342f.tar.xz | 3 +++ systemd.changes | 9 +++++++++ systemd.spec | 2 +- 6 files changed, 23 insertions(+), 5 deletions(-) delete mode 100644 systemd-v249.4+suse.35.gec72db9ee0.tar.xz create mode 100644 systemd-v249.4+suse.39.g7a5801342f.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 79711c8f..0c7c9ea7 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Sep 22 13:41:34 UTC 2021 - Franck Bui + +- Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 + + 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh + 1527bcc5dd test: make the installation of the debug tools optional in the image + f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) + ------------------------------------------------------------------- Wed Sep 22 13:25:26 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index f7a97f5f..00f8accd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.35.gec72db9ee0 +%define suse_version +suse.39.g7a5801342f %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi diff --git a/systemd-v249.4+suse.35.gec72db9ee0.tar.xz b/systemd-v249.4+suse.35.gec72db9ee0.tar.xz deleted file mode 100644 index d8ceb7cf..00000000 --- a/systemd-v249.4+suse.35.gec72db9ee0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d581f2ec411b41826c395147fe9a040b0e916de7fdeeaae0681f43be8b92bb82 -size 7266280 diff --git a/systemd-v249.4+suse.39.g7a5801342f.tar.xz b/systemd-v249.4+suse.39.g7a5801342f.tar.xz new file mode 100644 index 00000000..5000653b --- /dev/null +++ b/systemd-v249.4+suse.39.g7a5801342f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:253802820cf7090eb06e26f5dc23dfd9dfd967fc20b8c85350ea4856fe99442d +size 7266304 diff --git a/systemd.changes b/systemd.changes index 79711c8f..0c7c9ea7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Sep 22 13:41:34 UTC 2021 - Franck Bui + +- Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 + + 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh + 1527bcc5dd test: make the installation of the debug tools optional in the image + f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) + ------------------------------------------------------------------- Wed Sep 22 13:25:26 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 24cc5cf6..397ef813 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.35.gec72db9ee0 +%define suse_version +suse.39.g7a5801342f %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi From de562facf22ec724abfdd16e820c67a0e4813f10e95dde97d5f543e3aef4bf9d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 Sep 2021 07:42:46 +0000 Subject: [PATCH 597/991] - Drop systemd-logger This sub package was introduced in order to configure persistent journal and also to make sure that another syslog provider (such as rsyslog) couldn't be installed at the same time: each syslog provider conflicts with each others. However this mechanism didn't work since uninstalling systemd-logger wasn't magically turning off persistent logging because /var/log/journal is likely to be populated hence not removed. Moreover using a subpackage to configure the mode of journald was overkill and the usual ways (main conf file or drop-ins) should be preferred. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1190 --- systemd-mini-rpmlintrc | 2 -- systemd-mini.changes | 18 ++++++++++++++++++ systemd-mini.spec | 42 +++++++++++------------------------------- systemd-rpmlintrc | 2 -- systemd.changes | 18 ++++++++++++++++++ systemd.spec | 42 +++++++++++------------------------------- 6 files changed, 58 insertions(+), 66 deletions(-) diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 9bc3777f..c3b202a1 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -20,10 +20,8 @@ addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("nss-resolve.*shlib-policy-name-error.*") -addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") -addFilter(".*files-duplicate.*/systemd-logger.*") addFilter(".*missing-call-to-setgroups-before-setuid.*") addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 0c7c9ea7..994e5ae4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Fri Sep 24 07:27:58 UTC 2021 - Franck Bui + +- Drop systemd-logger + + This sub package was introduced in order to configure persistent + journal and also to make sure that another syslog provider (such as + rsyslog) couldn't be installed at the same time: each syslog + provider conflicts with each others. + + However this mechanism didn't work since uninstalling systemd-logger + wasn't magically turning off persistent logging because + /var/log/journal is likely to be populated hence not removed. + + Moreover using a subpackage to configure the mode of journald was + overkill and the usual ways (main conf file or drop-ins) should be + preferred. + ------------------------------------------------------------------- Wed Sep 22 13:41:34 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 00f8accd..64066d1a 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -154,10 +154,12 @@ Conflicts: kiwi Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Obsoletes: systemd-analyze < 201 +Provides: systemd-logger = %{version}-%{release} +Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 +Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user @@ -398,21 +400,9 @@ More information can be found online: http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES - %endif %if ! 0%{?bootstrap} -%package logger -Summary: Journal only logging -License: LGPL-2.1-or-later -Provides: syslog -Provides: sysvinit(syslog) -Requires(post): /usr/bin/systemctl -Conflicts: otherproviders(syslog) - -%description logger -This package marks the installation to not use syslog but only the journal. - %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -782,10 +772,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# Create the /var/log/journal directory to change the volatile journal -# to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal/ - # This dir must be owned (and thus created) by systemd otherwise the # build system will complain. This is odd since we simply own a ghost # file in it... @@ -960,6 +946,11 @@ systemctl daemon-reexec || : # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : +if [ "$1" -eq 1 ]; then + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal +fi + %journal_catalog_update %tmpfiles_create @@ -1103,13 +1094,6 @@ fi %endif %if ! 0%{?bootstrap} -%post logger -%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ -if [ "$1" -eq 1 ]; then - # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : -fi - %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig @@ -1382,6 +1366,9 @@ fi %{_pam_moduledir}/pam_systemd.so +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ +%doc %{_localstatedir}/log/README + %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi @@ -1559,7 +1546,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html - # /bootstrap %endif @@ -1735,12 +1721,6 @@ fi %if ! 0%{?bootstrap} %files lang -f systemd.lang -%files logger -%defattr(-,root,root) -# package without explicit setgid bit / attrs (see bsc#1172550) -%dir %{_localstatedir}/log/journal/ -%doc %{_localstatedir}/log/README - %files -n nss-myhostname %defattr(-, root, root) %{_libdir}/*nss_myhostname* diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 9bc3777f..c3b202a1 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -20,10 +20,8 @@ addFilter("nss-systemd.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") addFilter("nss-mymachines.*shlib-policy-name-error.*") addFilter("nss-resolve.*shlib-policy-name-error.*") -addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") -addFilter(".*files-duplicate.*/systemd-logger.*") addFilter(".*missing-call-to-setgroups-before-setuid.*") addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") diff --git a/systemd.changes b/systemd.changes index 0c7c9ea7..994e5ae4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Fri Sep 24 07:27:58 UTC 2021 - Franck Bui + +- Drop systemd-logger + + This sub package was introduced in order to configure persistent + journal and also to make sure that another syslog provider (such as + rsyslog) couldn't be installed at the same time: each syslog + provider conflicts with each others. + + However this mechanism didn't work since uninstalling systemd-logger + wasn't magically turning off persistent logging because + /var/log/journal is likely to be populated hence not removed. + + Moreover using a subpackage to configure the mode of journald was + overkill and the usual ways (main conf file or drop-ins) should be + preferred. + ------------------------------------------------------------------- Wed Sep 22 13:41:34 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 397ef813..5c0967de 100644 --- a/systemd.spec +++ b/systemd.spec @@ -152,10 +152,12 @@ Conflicts: kiwi Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Obsoletes: systemd-analyze < 201 +Provides: systemd-logger = %{version}-%{release} +Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 +Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user @@ -396,21 +398,9 @@ More information can be found online: http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES - %endif %if ! 0%{?bootstrap} -%package logger -Summary: Journal only logging -License: LGPL-2.1-or-later -Provides: syslog -Provides: sysvinit(syslog) -Requires(post): /usr/bin/systemctl -Conflicts: otherproviders(syslog) - -%description logger -This package marks the installation to not use syslog but only the journal. - %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -780,10 +770,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# Create the /var/log/journal directory to change the volatile journal -# to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal/ - # This dir must be owned (and thus created) by systemd otherwise the # build system will complain. This is odd since we simply own a ghost # file in it... @@ -958,6 +944,11 @@ systemctl daemon-reexec || : # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : +if [ "$1" -eq 1 ]; then + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal +fi + %journal_catalog_update %tmpfiles_create @@ -1101,13 +1092,6 @@ fi %endif %if ! 0%{?bootstrap} -%post logger -%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ -if [ "$1" -eq 1 ]; then - # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : -fi - %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig @@ -1380,6 +1364,9 @@ fi %{_pam_moduledir}/pam_systemd.so +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ +%doc %{_localstatedir}/log/README + %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi @@ -1557,7 +1544,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html - # /bootstrap %endif @@ -1733,12 +1719,6 @@ fi %if ! 0%{?bootstrap} %files lang -f systemd.lang -%files logger -%defattr(-,root,root) -# package without explicit setgid bit / attrs (see bsc#1172550) -%dir %{_localstatedir}/log/journal/ -%doc %{_localstatedir}/log/README - %files -n nss-myhostname %defattr(-, root, root) %{_libdir}/*nss_myhostname* From aec6635e71144b3dfb2af25f9a178ed25cde55e296159863310d134654968222 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 Sep 2021 09:29:34 +0000 Subject: [PATCH 598/991] - systemd.spec: fix a bunch of rpmlint errors/warnings OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1191 --- systemd-mini-rpmlintrc | 28 ++++------------------------ systemd-mini.changes | 5 +++++ systemd-mini.spec | 21 ++++++++++++++++----- systemd-rpmlintrc | 28 ++++------------------------ systemd.changes | 5 +++++ systemd.spec | 21 ++++++++++++++++----- 6 files changed, 50 insertions(+), 58 deletions(-) diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index c3b202a1..6526f3d7 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -1,30 +1,10 @@ -addFilter("invalid-pkgconfig-file") -addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") -addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot\.8.*") -addFilter(".*files-duplicate .*/sd_is_socket\.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") +addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf") addFilter(".*dbus-policy-allow-receive") -addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") -addFilter(".*dangling-symlink /lib/udev/devices/core.*") -addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot\.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter(".*libgudev-.*shlib-fixed-dependency.*") -addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") -addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-systemd.*shlib-policy-name-error.*") -addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") -addFilter(".*shlib-policy-missing-suffix.*") -addFilter(".*suse-missing-rclink.*") addFilter("env-script-interpreter") +addFilter(".*files-duplicate /usr/lib/systemd/.*") +addFilter(".*files-duplicated-waste.*") +addFilter(".*explicit-lib-dependency .*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 994e5ae4..b78f9545 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 24 09:28:38 UTC 2021 - Franck Bui + +- systemd.spec: fix a bunch of rpmlint errors/warnings + ------------------------------------------------------------------- Fri Sep 24 07:27:58 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 64066d1a..17a8f3f7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -238,7 +238,7 @@ Summary: System V init tools License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: otherproviders(sbin_init) +Conflicts: sbin_init Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init @@ -892,7 +892,7 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif # Build of installation images uses a hard coded list of packages with -# a %pre that needs to be run during the build. systemd is one of them +# a %%pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre : @@ -921,7 +921,7 @@ pam-config --add --systemd || : %endif # systemd-sysusers is not available in %pre so this needs to be done -# in %post. However this shouldn't be an issue since all files the +# in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. %sysusers_create systemd.conf @@ -1211,8 +1211,6 @@ fi %service_del_postun systemd-homed.service %endif -%clean - %files %defattr(-,root,root) %license LICENSE* @@ -1437,6 +1435,14 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. +%ghost %{_rundir}/log +%ghost %{_rundir}/systemd +%ghost %{_rundir}/systemd/ask-password +%ghost %{_rundir}/systemd/seats +%ghost %{_rundir}/systemd/sessions +%ghost %{_rundir}/systemd/users +%ghost %{_rundir}/systemd/machines +%ghost %{_rundir}/systemd/shutdown %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1789,6 +1795,11 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service +# Some files created at runtime +%ghost %{_rundir}/systemd/netif +%ghost %{_rundir}/systemd/netif/links +%ghost %{_rundir}/systemd/netif/leases +%ghost %{_rundir}/systemd/netif/lldp %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index c3b202a1..6526f3d7 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,30 +1,10 @@ -addFilter("invalid-pkgconfig-file") -addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") -addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot\.8.*") -addFilter(".*files-duplicate .*/sd_is_socket\.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") +addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf") addFilter(".*dbus-policy-allow-receive") -addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") -addFilter(".*dangling-symlink /lib/udev/devices/core.*") -addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot\.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter(".*libgudev-.*shlib-fixed-dependency.*") -addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") -addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-systemd.*shlib-policy-name-error.*") -addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("nss-resolve.*shlib-policy-name-error.*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") -addFilter(".*shlib-policy-missing-suffix.*") -addFilter(".*suse-missing-rclink.*") addFilter("env-script-interpreter") +addFilter(".*files-duplicate /usr/lib/systemd/.*") +addFilter(".*files-duplicated-waste.*") +addFilter(".*explicit-lib-dependency .*") diff --git a/systemd.changes b/systemd.changes index 994e5ae4..b78f9545 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Sep 24 09:28:38 UTC 2021 - Franck Bui + +- systemd.spec: fix a bunch of rpmlint errors/warnings + ------------------------------------------------------------------- Fri Sep 24 07:27:58 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5c0967de..4e995bdd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -236,7 +236,7 @@ Summary: System V init tools License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: otherproviders(sbin_init) +Conflicts: sbin_init Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init @@ -890,7 +890,7 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif # Build of installation images uses a hard coded list of packages with -# a %pre that needs to be run during the build. systemd is one of them +# a %%pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre : @@ -919,7 +919,7 @@ pam-config --add --systemd || : %endif # systemd-sysusers is not available in %pre so this needs to be done -# in %post. However this shouldn't be an issue since all files the +# in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. %sysusers_create systemd.conf @@ -1209,8 +1209,6 @@ fi %service_del_postun systemd-homed.service %endif -%clean - %files %defattr(-,root,root) %license LICENSE* @@ -1435,6 +1433,14 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. +%ghost %{_rundir}/log +%ghost %{_rundir}/systemd +%ghost %{_rundir}/systemd/ask-password +%ghost %{_rundir}/systemd/seats +%ghost %{_rundir}/systemd/sessions +%ghost %{_rundir}/systemd/users +%ghost %{_rundir}/systemd/machines +%ghost %{_rundir}/systemd/shutdown %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1787,6 +1793,11 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service +# Some files created at runtime +%ghost %{_rundir}/systemd/netif +%ghost %{_rundir}/systemd/netif/links +%ghost %{_rundir}/systemd/netif/leases +%ghost %{_rundir}/systemd/netif/lldp %endif %if %{with resolved} %{_bindir}/resolvectl From 87414993163d8e161513b3aacf79032f66c28491af4a1e23aeb954b9b80b3039 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 Sep 2021 11:54:47 +0000 Subject: [PATCH 599/991] Fix systemd-mini build OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1192 --- systemd-mini.spec | 2 ++ systemd.spec | 2 ++ 2 files changed, 4 insertions(+) diff --git a/systemd-mini.spec b/systemd-mini.spec index 17a8f3f7..ef4df8ac 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1365,7 +1365,9 @@ fi %{_pam_moduledir}/pam_systemd.so %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %doc %{_localstatedir}/log/README +%endif %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot diff --git a/systemd.spec b/systemd.spec index 4e995bdd..bf33da39 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1363,7 +1363,9 @@ fi %{_pam_moduledir}/pam_systemd.so %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %doc %{_localstatedir}/log/README +%endif %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot From 7291c41508b74e900876d0f41520ba281b2bdc0c013799b0a1fefb6de389707e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 Sep 2021 12:59:13 +0000 Subject: [PATCH 600/991] - Make sure the build process won't create /var/log/journal - /var/log/journal/remote is owned by systemd-journal-remote OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1193 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 5 ++--- systemd.changes | 7 +++++++ systemd.spec | 5 ++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index b78f9545..8f6e60db 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Sep 24 12:56:31 UTC 2021 - Franck Bui + +- Make sure the build process won't create /var/log/journal + +- /var/log/journal/remote is owned by systemd-journal-remote + ------------------------------------------------------------------- Fri Sep 24 09:28:38 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index ef4df8ac..e0e5dc51 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -619,6 +619,7 @@ Have fun with these services at your own risk. -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ + -Dcreate-log-dirs=false \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -1365,9 +1366,6 @@ fi %{_pam_moduledir}/pam_systemd.so %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%doc %{_localstatedir}/log/README -%endif %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1776,6 +1774,7 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd +%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} diff --git a/systemd.changes b/systemd.changes index b78f9545..8f6e60db 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Sep 24 12:56:31 UTC 2021 - Franck Bui + +- Make sure the build process won't create /var/log/journal + +- /var/log/journal/remote is owned by systemd-journal-remote + ------------------------------------------------------------------- Fri Sep 24 09:28:38 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bf33da39..3971cbe8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -617,6 +617,7 @@ Have fun with these services at your own risk. -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ + -Dcreate-log-dirs=false \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -1363,9 +1364,6 @@ fi %{_pam_moduledir}/pam_systemd.so %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ -%if %{with sysvcompat} -%doc %{_localstatedir}/log/README -%endif %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1774,6 +1772,7 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd +%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} From 26f3c3c27719b666f2a6525958c721299de4bbcc763a683b70449f1ece5c091b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 29 Sep 2021 14:09:21 +0000 Subject: [PATCH 601/991] - Work around rpmlint complaining about /var/log/journal shipped with setgid bit This setgid bit has been already reviewed in the past and wasn't a concern. However we want the mode/ownership adjusted by tmpfiles and avoid the duplication of these info in rpm. - Don't ghost own any directories created dynamically by tmpfiles Again rpmlint complains but it doesn't seem to make sense to try to track all paths (including theirs perms, ownerships...) created dynamically. And 'rpm -V' is likely to report issues later with these paths anyway. This effectively partially reverts the two previous commits. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1194 --- systemd-mini-rpmlintrc | 1 + systemd-mini.changes | 18 ++++++++++++++++++ systemd-mini.spec | 15 --------------- systemd-rpmlintrc | 1 + systemd.changes | 18 ++++++++++++++++++ systemd.spec | 15 --------------- 6 files changed, 38 insertions(+), 30 deletions(-) diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 6526f3d7..86edf488 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -8,3 +8,4 @@ addFilter("env-script-interpreter") addFilter(".*files-duplicate /usr/lib/systemd/.*") addFilter(".*files-duplicated-waste.*") addFilter(".*explicit-lib-dependency .*") +addFilter(".*tmpfile-not-in-filelist .*") diff --git a/systemd-mini.changes b/systemd-mini.changes index 8f6e60db..49998b05 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Sep 29 10:04:38 UTC 2021 - Franck Bui + +- Work around rpmlint complaining about /var/log/journal shipped with setgid bit + + This setgid bit has been already reviewed in the past and wasn't a + concern. However we want the mode/ownership adjusted by tmpfiles and + avoid the duplication of these info in rpm. + +- Don't ghost own any directories created dynamically by tmpfiles + + Again rpmlint complains but it doesn't seem to make sense to try to + track all paths (including theirs perms, ownerships...) created + dynamically. And 'rpm -V' is likely to report issues later with + these paths anyway. + + This effectively partially reverts the two previous commits. + ------------------------------------------------------------------- Fri Sep 24 12:56:31 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index e0e5dc51..c7cf5326 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1365,8 +1365,6 @@ fi %{_pam_moduledir}/pam_systemd.so -%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ - %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi @@ -1435,14 +1433,6 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. -%ghost %{_rundir}/log -%ghost %{_rundir}/systemd -%ghost %{_rundir}/systemd/ask-password -%ghost %{_rundir}/systemd/seats -%ghost %{_rundir}/systemd/sessions -%ghost %{_rundir}/systemd/users -%ghost %{_rundir}/systemd/machines -%ghost %{_rundir}/systemd/shutdown %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1774,7 +1764,6 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd -%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} @@ -1797,10 +1786,6 @@ fi %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service # Some files created at runtime -%ghost %{_rundir}/systemd/netif -%ghost %{_rundir}/systemd/netif/links -%ghost %{_rundir}/systemd/netif/leases -%ghost %{_rundir}/systemd/netif/lldp %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 6526f3d7..86edf488 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -8,3 +8,4 @@ addFilter("env-script-interpreter") addFilter(".*files-duplicate /usr/lib/systemd/.*") addFilter(".*files-duplicated-waste.*") addFilter(".*explicit-lib-dependency .*") +addFilter(".*tmpfile-not-in-filelist .*") diff --git a/systemd.changes b/systemd.changes index 8f6e60db..49998b05 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Sep 29 10:04:38 UTC 2021 - Franck Bui + +- Work around rpmlint complaining about /var/log/journal shipped with setgid bit + + This setgid bit has been already reviewed in the past and wasn't a + concern. However we want the mode/ownership adjusted by tmpfiles and + avoid the duplication of these info in rpm. + +- Don't ghost own any directories created dynamically by tmpfiles + + Again rpmlint complains but it doesn't seem to make sense to try to + track all paths (including theirs perms, ownerships...) created + dynamically. And 'rpm -V' is likely to report issues later with + these paths anyway. + + This effectively partially reverts the two previous commits. + ------------------------------------------------------------------- Fri Sep 24 12:56:31 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3971cbe8..bd5c5924 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1363,8 +1363,6 @@ fi %{_pam_moduledir}/pam_systemd.so -%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ - %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi @@ -1433,14 +1431,6 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. -%ghost %{_rundir}/log -%ghost %{_rundir}/systemd -%ghost %{_rundir}/systemd/ask-password -%ghost %{_rundir}/systemd/seats -%ghost %{_rundir}/systemd/sessions -%ghost %{_rundir}/systemd/users -%ghost %{_rundir}/systemd/machines -%ghost %{_rundir}/systemd/shutdown %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1772,7 +1762,6 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd -%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} @@ -1795,10 +1784,6 @@ fi %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service # Some files created at runtime -%ghost %{_rundir}/systemd/netif -%ghost %{_rundir}/systemd/netif/links -%ghost %{_rundir}/systemd/netif/leases -%ghost %{_rundir}/systemd/netif/lldp %endif %if %{with resolved} %{_bindir}/resolvectl From 2d3de572ba27907f39a1b4ba451f28ac734373824ed93c647036ef9b731c5802 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 4 Oct 2021 16:39:17 +0000 Subject: [PATCH 602/991] Accepting request 922217 from Base:System - Work around rpmlint complaining about /var/log/journal shipped with setgid bit This setgid bit has been already reviewed in the past and wasn't a concern. However we want the mode/ownership adjusted by tmpfiles and avoid the duplication of these info in rpm. - Don't ghost own any directories created dynamically by tmpfiles Again rpmlint complains but it doesn't seem to make sense to try to track all paths (including theirs perms, ownerships...) created dynamically. And 'rpm -V' is likely to report issues later with these paths anyway. This effectively partially reverts the two previous commits. - Make sure the build process won't create /var/log/journal - /var/log/journal/remote is owned by systemd-journal-remote - systemd.spec: fix a bunch of rpmlint errors/warnings - Drop systemd-logger This sub package was introduced in order to configure persistent journal and also to make sure that another syslog provider (such as rsyslog) couldn't be installed at the same time: each syslog provider conflicts with each others. However this mechanism didn't work since uninstalling systemd-logger wasn't magically turning off persistent logging because /var/log/journal is likely to be populated hence not removed. Moreover using a subpackage to configure the mode of journald was overkill and the usual ways (main conf file or drop-ins) should be preferred. - Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh OBS-URL: https://build.opensuse.org/request/show/922217 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=337 --- systemd-mini-rpmlintrc | 31 ++------ systemd-mini.changes | 88 ++++++++++++++++++++++- systemd-mini.spec | 68 ++++++------------ systemd-rpmlintrc | 31 ++------ systemd-v249.4+suse.35.gec72db9ee0.tar.xz | 3 - systemd-v249.4+suse.39.g7a5801342f.tar.xz | 3 + systemd.changes | 88 ++++++++++++++++++++++- systemd.spec | 68 ++++++------------ 8 files changed, 233 insertions(+), 147 deletions(-) delete mode 100644 systemd-v249.4+suse.35.gec72db9ee0.tar.xz create mode 100644 systemd-v249.4+suse.39.g7a5801342f.tar.xz diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 9bc3777f..86edf488 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -1,32 +1,11 @@ -addFilter("invalid-pkgconfig-file") -addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") -addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot\.8.*") -addFilter(".*files-duplicate .*/sd_is_socket\.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") +addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf") addFilter(".*dbus-policy-allow-receive") -addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") -addFilter(".*dangling-symlink /lib/udev/devices/core.*") -addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot\.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter(".*libgudev-.*shlib-fixed-dependency.*") -addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") -addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-systemd.*shlib-policy-name-error.*") -addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("nss-resolve.*shlib-policy-name-error.*") -addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") -addFilter(".*files-duplicate.*/systemd-logger.*") addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") -addFilter(".*shlib-policy-missing-suffix.*") -addFilter(".*suse-missing-rclink.*") addFilter("env-script-interpreter") +addFilter(".*files-duplicate /usr/lib/systemd/.*") +addFilter(".*files-duplicated-waste.*") +addFilter(".*explicit-lib-dependency .*") +addFilter(".*tmpfile-not-in-filelist .*") diff --git a/systemd-mini.changes b/systemd-mini.changes index d28a872f..49998b05 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,80 @@ +------------------------------------------------------------------- +Wed Sep 29 10:04:38 UTC 2021 - Franck Bui + +- Work around rpmlint complaining about /var/log/journal shipped with setgid bit + + This setgid bit has been already reviewed in the past and wasn't a + concern. However we want the mode/ownership adjusted by tmpfiles and + avoid the duplication of these info in rpm. + +- Don't ghost own any directories created dynamically by tmpfiles + + Again rpmlint complains but it doesn't seem to make sense to try to + track all paths (including theirs perms, ownerships...) created + dynamically. And 'rpm -V' is likely to report issues later with + these paths anyway. + + This effectively partially reverts the two previous commits. + +------------------------------------------------------------------- +Fri Sep 24 12:56:31 UTC 2021 - Franck Bui + +- Make sure the build process won't create /var/log/journal + +- /var/log/journal/remote is owned by systemd-journal-remote + +------------------------------------------------------------------- +Fri Sep 24 09:28:38 UTC 2021 - Franck Bui + +- systemd.spec: fix a bunch of rpmlint errors/warnings + +------------------------------------------------------------------- +Fri Sep 24 07:27:58 UTC 2021 - Franck Bui + +- Drop systemd-logger + + This sub package was introduced in order to configure persistent + journal and also to make sure that another syslog provider (such as + rsyslog) couldn't be installed at the same time: each syslog + provider conflicts with each others. + + However this mechanism didn't work since uninstalling systemd-logger + wasn't magically turning off persistent logging because + /var/log/journal is likely to be populated hence not removed. + + Moreover using a subpackage to configure the mode of journald was + overkill and the usual ways (main conf file or drop-ins) should be + preferred. + +------------------------------------------------------------------- +Wed Sep 22 13:41:34 UTC 2021 - Franck Bui + +- Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 + + 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh + 1527bcc5dd test: make the installation of the debug tools optional in the image + f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) + +------------------------------------------------------------------- +Wed Sep 22 13:25:26 UTC 2021 - Franck Bui + +- Update the dependencies of the testsuite package + + The debug tools are optional thus no more required. + + OTOH strip(1) is needed when building the test image and nc(1) is + needed by some tests. + +------------------------------------------------------------------- +Fri Sep 10 13:30:14 UTC 2021 - Franck Bui + +- Drop git internal files from the testsuite sub-package + +------------------------------------------------------------------- +Fri Sep 10 09:51:06 UTC 2021 - Franck Bui + +- Adjust pam macros + ------------------------------------------------------------------- Wed Sep 8 17:01:58 UTC 2021 - Franck Bui @@ -69,6 +146,10 @@ Mon Aug 2 12:54:44 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for details. + This includes the following bug fixes: + + - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -310,6 +391,11 @@ Mon Apr 26 16:25:38 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. + This includes the following bug fixes: + + - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) + - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) + - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of these libs are dynamically loaded with dlopen() (heck!) @@ -974,7 +1060,7 @@ Mon Apr 27 14:50:36 UTC 2020 - Franck Bui ------------------------------------------------------------------- Mon Apr 27 14:33:35 UTC 2020 - Franck Bui -- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466 bsc#1181831) They are problematic because some of them conflict with SUSE defaults. Therefore it seems better to let the revelant packages diff --git a/systemd-mini.spec b/systemd-mini.spec index 2de1c70e..c7cf5326 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.35.gec72db9ee0 +%define suse_version +suse.39.g7a5801342f %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -154,10 +154,12 @@ Conflicts: kiwi Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Obsoletes: systemd-analyze < 201 +Provides: systemd-logger = %{version}-%{release} +Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 +Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user @@ -236,7 +238,7 @@ Summary: System V init tools License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: otherproviders(sbin_init) +Conflicts: sbin_init Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init @@ -398,21 +400,9 @@ More information can be found online: http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES - %endif %if ! 0%{?bootstrap} -%package logger -Summary: Journal only logging -License: LGPL-2.1-or-later -Provides: syslog -Provides: sysvinit(syslog) -Requires(post): /usr/bin/systemctl -Conflicts: otherproviders(syslog) - -%description logger -This package marks the installation to not use syslog but only the journal. - %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -511,13 +501,13 @@ Requires: libqrencode4 pkgconfig(libqrencode) %endif Requires: %{name} = %{version}-%{release} Requires: attr +Requires: binutils Requires: busybox-static Requires: cryptsetup -Requires: dhcp-client Requires: dosfstools Requires: libcap-progs Requires: lz4 -Requires: net-tools-deprecated +Requires: netcat Requires: qemu-kvm Requires: quota Requires: socat @@ -621,14 +611,15 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_distconfdir}/pam.d \ - -Dpamlibdir=%{_pamdir} \ + -Dpamconfdir=%{_pam_vendordir} \ + -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ + -Dcreate-log-dirs=false \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -752,7 +743,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d +install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -782,10 +773,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# Create the /var/log/journal directory to change the volatile journal -# to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal/ - # This dir must be owned (and thus created) by systemd otherwise the # build system will complain. This is odd since we simply own a ghost # file in it... @@ -898,6 +885,7 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif %if ! 0%{?bootstrap} @@ -905,7 +893,7 @@ cp -a test %{buildroot}%{_testsuitedir}/ %endif # Build of installation images uses a hard coded list of packages with -# a %pre that needs to be run during the build. systemd is one of them +# a %%pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre : @@ -934,7 +922,7 @@ pam-config --add --systemd || : %endif # systemd-sysusers is not available in %pre so this needs to be done -# in %post. However this shouldn't be an issue since all files the +# in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. %sysusers_create systemd.conf @@ -959,6 +947,11 @@ systemctl daemon-reexec || : # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : +if [ "$1" -eq 1 ]; then + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal +fi + %journal_catalog_update %tmpfiles_create @@ -1102,13 +1095,6 @@ fi %endif %if ! 0%{?bootstrap} -%post logger -%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ -if [ "$1" -eq 1 ]; then - # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : -fi - %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig @@ -1226,8 +1212,6 @@ fi %service_del_postun systemd-homed.service %endif -%clean - %files %defattr(-,root,root) %license LICENSE* @@ -1379,7 +1363,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%{_pamdir}/pam_systemd.so +%{_pam_moduledir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1421,7 +1405,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%{_distconfdir}/pam.d/systemd-user +%{_pam_vendordir}/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1558,7 +1542,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html - # /bootstrap %endif @@ -1734,12 +1717,6 @@ fi %if ! 0%{?bootstrap} %files lang -f systemd.lang -%files logger -%defattr(-,root,root) -# package without explicit setgid bit / attrs (see bsc#1172550) -%dir %{_localstatedir}/log/journal/ -%doc %{_localstatedir}/log/README - %files -n nss-myhostname %defattr(-, root, root) %{_libdir}/*nss_myhostname* @@ -1808,6 +1785,7 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service +# Some files created at runtime %endif %if %{with resolved} %{_bindir}/resolvectl @@ -1869,7 +1847,7 @@ fi %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service -%{_pamdir}/pam_systemd_home.so +%{_pam_moduledir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 9bc3777f..86edf488 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -1,32 +1,11 @@ -addFilter("invalid-pkgconfig-file") -addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") -addFilter(".*dangling-symlink .* /dev/null.*") -addFilter(".*files-duplicate .*/reboot\.8.*") -addFilter(".*files-duplicate .*/sd_is_socket\.3.*") -addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh") -addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd") +addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf") addFilter(".*dbus-policy-allow-receive") -addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") -addFilter(".*dangling-symlink /lib/udev/devices/core.*") -addFilter(".*dangling-symlink /lib/udev/devices/fd.*") -addFilter(".*incoherent-init-script-name boot\.udev.*") -addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev") -addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev") addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter(".*libgudev-.*shlib-fixed-dependency.*") -addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") -addFilter("libudev-mini.*shlib-policy-name-error.*") -addFilter("nss-systemd.*shlib-policy-name-error.*") -addFilter("nss-myhostname.*shlib-policy-name-error.*") -addFilter("nss-mymachines.*shlib-policy-name-error.*") -addFilter("nss-resolve.*shlib-policy-name-error.*") -addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*") -addFilter(".*files-duplicate.*/systemd-logger.*") addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*missing-call-to-chdir-with-chroot.*") addFilter(".*systemd-service-without-service.*") -addFilter(".*shlib-policy-missing-suffix.*") -addFilter(".*suse-missing-rclink.*") addFilter("env-script-interpreter") +addFilter(".*files-duplicate /usr/lib/systemd/.*") +addFilter(".*files-duplicated-waste.*") +addFilter(".*explicit-lib-dependency .*") +addFilter(".*tmpfile-not-in-filelist .*") diff --git a/systemd-v249.4+suse.35.gec72db9ee0.tar.xz b/systemd-v249.4+suse.35.gec72db9ee0.tar.xz deleted file mode 100644 index d8ceb7cf..00000000 --- a/systemd-v249.4+suse.35.gec72db9ee0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d581f2ec411b41826c395147fe9a040b0e916de7fdeeaae0681f43be8b92bb82 -size 7266280 diff --git a/systemd-v249.4+suse.39.g7a5801342f.tar.xz b/systemd-v249.4+suse.39.g7a5801342f.tar.xz new file mode 100644 index 00000000..5000653b --- /dev/null +++ b/systemd-v249.4+suse.39.g7a5801342f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:253802820cf7090eb06e26f5dc23dfd9dfd967fc20b8c85350ea4856fe99442d +size 7266304 diff --git a/systemd.changes b/systemd.changes index d28a872f..49998b05 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,80 @@ +------------------------------------------------------------------- +Wed Sep 29 10:04:38 UTC 2021 - Franck Bui + +- Work around rpmlint complaining about /var/log/journal shipped with setgid bit + + This setgid bit has been already reviewed in the past and wasn't a + concern. However we want the mode/ownership adjusted by tmpfiles and + avoid the duplication of these info in rpm. + +- Don't ghost own any directories created dynamically by tmpfiles + + Again rpmlint complains but it doesn't seem to make sense to try to + track all paths (including theirs perms, ownerships...) created + dynamically. And 'rpm -V' is likely to report issues later with + these paths anyway. + + This effectively partially reverts the two previous commits. + +------------------------------------------------------------------- +Fri Sep 24 12:56:31 UTC 2021 - Franck Bui + +- Make sure the build process won't create /var/log/journal + +- /var/log/journal/remote is owned by systemd-journal-remote + +------------------------------------------------------------------- +Fri Sep 24 09:28:38 UTC 2021 - Franck Bui + +- systemd.spec: fix a bunch of rpmlint errors/warnings + +------------------------------------------------------------------- +Fri Sep 24 07:27:58 UTC 2021 - Franck Bui + +- Drop systemd-logger + + This sub package was introduced in order to configure persistent + journal and also to make sure that another syslog provider (such as + rsyslog) couldn't be installed at the same time: each syslog + provider conflicts with each others. + + However this mechanism didn't work since uninstalling systemd-logger + wasn't magically turning off persistent logging because + /var/log/journal is likely to be populated hence not removed. + + Moreover using a subpackage to configure the mode of journald was + overkill and the usual ways (main conf file or drop-ins) should be + preferred. + +------------------------------------------------------------------- +Wed Sep 22 13:41:34 UTC 2021 - Franck Bui + +- Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 + + 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh + 1527bcc5dd test: make the installation of the debug tools optional in the image + f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) + +------------------------------------------------------------------- +Wed Sep 22 13:25:26 UTC 2021 - Franck Bui + +- Update the dependencies of the testsuite package + + The debug tools are optional thus no more required. + + OTOH strip(1) is needed when building the test image and nc(1) is + needed by some tests. + +------------------------------------------------------------------- +Fri Sep 10 13:30:14 UTC 2021 - Franck Bui + +- Drop git internal files from the testsuite sub-package + +------------------------------------------------------------------- +Fri Sep 10 09:51:06 UTC 2021 - Franck Bui + +- Adjust pam macros + ------------------------------------------------------------------- Wed Sep 8 17:01:58 UTC 2021 - Franck Bui @@ -69,6 +146,10 @@ Mon Aug 2 12:54:44 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for details. + This includes the following bug fixes: + + - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) + - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -310,6 +391,11 @@ Mon Apr 26 16:25:38 UTC 2021 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for details. + This includes the following bug fixes: + + - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) + - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) + - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of these libs are dynamically loaded with dlopen() (heck!) @@ -974,7 +1060,7 @@ Mon Apr 27 14:50:36 UTC 2020 - Franck Bui ------------------------------------------------------------------- Mon Apr 27 14:33:35 UTC 2020 - Franck Bui -- Drop most of the tmpfiles that deal with generic paths (bsc#1078466) +- Drop most of the tmpfiles that deal with generic paths (bsc#1078466 bsc#1181831) They are problematic because some of them conflict with SUSE defaults. Therefore it seems better to let the revelant packages diff --git a/systemd.spec b/systemd.spec index 336ac697..bd5c5924 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.35.gec72db9ee0 +%define suse_version +suse.39.g7a5801342f %define _testsuitedir /usr/lib/systemd/tests %bcond_with gnuefi @@ -152,10 +152,12 @@ Conflicts: kiwi Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Obsoletes: systemd-analyze < 201 +Provides: systemd-logger = %{version}-%{release} +Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 +Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: %{name}-rpmlintrc Source2: systemd-user @@ -234,7 +236,7 @@ Summary: System V init tools License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} Provides: sbin_init -Conflicts: otherproviders(sbin_init) +Conflicts: sbin_init Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init @@ -396,21 +398,9 @@ More information can be found online: http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES - %endif %if ! 0%{?bootstrap} -%package logger -Summary: Journal only logging -License: LGPL-2.1-or-later -Provides: syslog -Provides: sysvinit(syslog) -Requires(post): /usr/bin/systemctl -Conflicts: otherproviders(syslog) - -%description logger -This package marks the installation to not use syslog but only the journal. - %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -509,13 +499,13 @@ Requires: libqrencode4 pkgconfig(libqrencode) %endif Requires: %{name} = %{version}-%{release} Requires: attr +Requires: binutils Requires: busybox-static Requires: cryptsetup -Requires: dhcp-client Requires: dosfstools Requires: libcap-progs Requires: lz4 -Requires: net-tools-deprecated +Requires: netcat Requires: qemu-kvm Requires: quota Requires: socat @@ -619,14 +609,15 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_distconfdir}/pam.d \ - -Dpamlibdir=%{_pamdir} \ + -Dpamconfdir=%{_pam_vendordir} \ + -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Drc-local=/etc/init.d/boot.local \ + -Dcreate-log-dirs=false \ -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ -Dseccomp=auto \ @@ -750,7 +741,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d +install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -780,10 +771,6 @@ rm -f %{buildroot}%{_sysusersdir}/basic.conf # in this directory... oh well. rm -f %{buildroot}/etc/init.d/README -# Create the /var/log/journal directory to change the volatile journal -# to a persistent one -mkdir -p %{buildroot}%{_localstatedir}/log/journal/ - # This dir must be owned (and thus created) by systemd otherwise the # build system will complain. This is odd since we simply own a ghost # file in it... @@ -896,6 +883,7 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif %if ! 0%{?bootstrap} @@ -903,7 +891,7 @@ cp -a test %{buildroot}%{_testsuitedir}/ %endif # Build of installation images uses a hard coded list of packages with -# a %pre that needs to be run during the build. systemd is one of them +# a %%pre that needs to be run during the build. systemd is one of them # so keep the section even if it's empty. %pre : @@ -932,7 +920,7 @@ pam-config --add --systemd || : %endif # systemd-sysusers is not available in %pre so this needs to be done -# in %post. However this shouldn't be an issue since all files the +# in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. %sysusers_create systemd.conf @@ -957,6 +945,11 @@ systemctl daemon-reexec || : # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : +if [ "$1" -eq 1 ]; then + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal +fi + %journal_catalog_update %tmpfiles_create @@ -1100,13 +1093,6 @@ fi %endif %if ! 0%{?bootstrap} -%post logger -%tmpfiles_create -- --prefix=%{_localstatedir}/log/journal/ -if [ "$1" -eq 1 ]; then - # tell journal to start logging on disk if directory didn't exist before - systemctl --no-block restart systemd-journal-flush.service >/dev/null || : -fi - %post -n nss-myhostname -p /sbin/ldconfig %postun -n nss-myhostname -p /sbin/ldconfig @@ -1224,8 +1210,6 @@ fi %service_del_postun systemd-homed.service %endif -%clean - %files %defattr(-,root,root) %license LICENSE* @@ -1377,7 +1361,7 @@ fi %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%{_pamdir}/pam_systemd.so +%{_pam_moduledir}/pam_systemd.so %if %{with gnuefi} %dir %{_prefix}/lib/systemd/boot @@ -1419,7 +1403,7 @@ fi %dir %{_distconfdir}/X11/xinit/xinitrc.d %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh -%{_distconfdir}/pam.d/systemd-user +%{_pam_vendordir}/systemd-user %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -1556,7 +1540,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html - # /bootstrap %endif @@ -1732,12 +1715,6 @@ fi %if ! 0%{?bootstrap} %files lang -f systemd.lang -%files logger -%defattr(-,root,root) -# package without explicit setgid bit / attrs (see bsc#1172550) -%dir %{_localstatedir}/log/journal/ -%doc %{_localstatedir}/log/README - %files -n nss-myhostname %defattr(-, root, root) %{_libdir}/*nss_myhostname* @@ -1806,6 +1783,7 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service +# Some files created at runtime %endif %if %{with resolved} %{_bindir}/resolvectl @@ -1867,7 +1845,7 @@ fi %{_prefix}/lib/systemd/systemd-homework %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service -%{_pamdir}/pam_systemd_home.so +%{_pam_moduledir}/pam_systemd_home.so %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From c6b3f079ef737e46f9f9217ae0cf7bb993e0cf58b342bb5142c4ffb49d510697 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 5 Oct 2021 08:47:13 +0000 Subject: [PATCH 603/991] - No need to install upstream pam configuration file "systemd-user" It's overwritten by the SUSE version anyway. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1195 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 2 +- systemd.changes | 7 +++++++ systemd.spec | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 49998b05..9a345222 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Oct 4 14:40:12 UTC 2021 - Franck Bui + +- No need to install upstream pam configuration file "systemd-user" + + It's overwritten by the SUSE version anyway. + ------------------------------------------------------------------- Wed Sep 29 10:04:38 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c7cf5326..ef901410 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -611,7 +611,7 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_pam_vendordir} \ + -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ diff --git a/systemd.changes b/systemd.changes index 49998b05..9a345222 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Oct 4 14:40:12 UTC 2021 - Franck Bui + +- No need to install upstream pam configuration file "systemd-user" + + It's overwritten by the SUSE version anyway. + ------------------------------------------------------------------- Wed Sep 29 10:04:38 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bd5c5924..eae5c1dd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -609,7 +609,7 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_pam_vendordir} \ + -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ From 1f9e275259f7f7e4fbcab0de7b8a9e9624e9b43d578fbefb1449985f925f3738 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 5 Oct 2021 13:00:46 +0000 Subject: [PATCH 604/991] fix previous commit OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1196 --- systemd-mini.spec | 2 +- systemd.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd-mini.spec b/systemd-mini.spec index ef901410..c08f0716 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -743,7 +743,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} +install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path diff --git a/systemd.spec b/systemd.spec index eae5c1dd..b4c4fba5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -741,7 +741,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} +install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path From cc44b2b8ac087177895b91caf2e8b1543931ea9a2efe587c9fb7f763fac45848 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 6 Oct 2021 08:03:55 +0000 Subject: [PATCH 605/991] - Suppress PAM warning when the credentials for user@.service service are established (bsc#1190515) systemd-user PAM service needs to define a default implementation of pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) is used, which consists of pam_warn.so + pam_deny.so, and will throw a warning each time a user logs in. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1197 --- systemd-mini.changes | 11 +++++++++++ systemd-user | 6 ++++-- systemd.changes | 11 +++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 9a345222..2f301ff0 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Oct 6 07:40:24 UTC 2021 - Franck Bui + +- Suppress PAM warning when the credentials for user@.service service + are established (bsc#1190515) + + systemd-user PAM service needs to define a default implementation of + pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) + is used, which consists of pam_warn.so + pam_deny.so, and will throw + a warning each time a user logs in. + ------------------------------------------------------------------- Mon Oct 4 14:40:12 UTC 2021 - Franck Bui diff --git a/systemd-user b/systemd-user index f1d252b7..055168eb 100644 --- a/systemd-user +++ b/systemd-user @@ -2,8 +2,10 @@ # # Used by systemd --user instances. -account include common-account +auth required pam_permit.so + +account include common-account session required pam_selinux.so close session required pam_selinux.so nottys open -session include common-session +session include common-session diff --git a/systemd.changes b/systemd.changes index 9a345222..2f301ff0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Oct 6 07:40:24 UTC 2021 - Franck Bui + +- Suppress PAM warning when the credentials for user@.service service + are established (bsc#1190515) + + systemd-user PAM service needs to define a default implementation of + pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) + is used, which consists of pam_warn.so + pam_deny.so, and will throw + a warning each time a user logs in. + ------------------------------------------------------------------- Mon Oct 4 14:40:12 UTC 2021 - Franck Bui From 4844148bb30ac957066aed3bb5e0d4083c1266a18fc18383866baa7e456acb22 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 8 Oct 2021 08:31:22 +0000 Subject: [PATCH 606/991] update systemd-user to get the potential extended creds via common-auth OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1198 --- systemd-user | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/systemd-user b/systemd-user index 055168eb..3907c885 100644 --- a/systemd-user +++ b/systemd-user @@ -2,7 +2,18 @@ # # Used by systemd --user instances. -auth required pam_permit.so +# This is not about authentication per se (user@.service is a system +# service anyway) but to give the possibility to user services +# (especially those like gnome-terminal, see [1]) to have theirs +# credentials extended similar to the ones received by a user when he +# logs in (and the full PAM authentication stack is run). See [2] and +# [3] for details. +# +# [1] https://gitlab.gnome.org/GNOME/gdm/-/issues/393 +# [2] https://github.com/systemd/systemd/issues/11198 +# [3] https://bugzilla.suse.com/show_bug.cgi?id=1190515 +# +auth include common-auth account include common-account From 8f5cab173367e45f7913752f6d5a41897c13c942439bcb8df55665260dac91ae Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 8 Oct 2021 10:11:10 +0000 Subject: [PATCH 607/991] - Rename %usrmerged into %split_usr OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1199 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 8 +++++--- systemd.changes | 5 +++++ systemd.spec | 8 +++++--- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index 2f301ff0..b24fa8d8 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Oct 8 09:01:59 UTC 2021 - Franck Bui + +- Rename %usrmerged into %split_usr + ------------------------------------------------------------------- Wed Oct 6 07:40:24 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c08f0716..6e6c681c 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -56,6 +56,8 @@ %bcond_without experimental %bcond_without testsuite %endif +# Kept to ease migrations toward SLE +%bcond_with split_usr Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd @@ -605,7 +607,7 @@ Have fun with these services at your own risk. -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -%if !0%{?usrmerged} +%if %{with split_usr} -Dsplit-usr=true \ %endif -Dsplit-bin=true \ @@ -723,7 +725,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -%if !0%{?usrmerged} +%if %{with split_usr} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -1557,7 +1559,7 @@ fi %files sysvinit %defattr(-,root,root,-) -%if !0%{?usrmerged} +%if %{with split_usr} /sbin/init /sbin/reboot /sbin/halt diff --git a/systemd.changes b/systemd.changes index 2f301ff0..b24fa8d8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Oct 8 09:01:59 UTC 2021 - Franck Bui + +- Rename %usrmerged into %split_usr + ------------------------------------------------------------------- Wed Oct 6 07:40:24 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b4c4fba5..32d3c983 100644 --- a/systemd.spec +++ b/systemd.spec @@ -54,6 +54,8 @@ %bcond_without experimental %bcond_without testsuite %endif +# Kept to ease migrations toward SLE +%bcond_with split_usr Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd @@ -603,7 +605,7 @@ Have fun with these services at your own risk. -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -%if !0%{?usrmerged} +%if %{with split_usr} -Dsplit-usr=true \ %endif -Dsplit-bin=true \ @@ -721,7 +723,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -%if !0%{?usrmerged} +%if %{with split_usr} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -1555,7 +1557,7 @@ fi %files sysvinit %defattr(-,root,root,-) -%if !0%{?usrmerged} +%if %{with split_usr} /sbin/init /sbin/reboot /sbin/halt From f2bb42f254d9ba130e86e55c9d3c69496f28bc1acc6e61e63ee53e35eeb7ff00 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 8 Oct 2021 11:21:33 +0000 Subject: [PATCH 608/991] - Overwriting rootprefix= is only required when split-usr is enabled OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1200 --- systemd-mini.changes | 5 +++++ systemd-mini.spec | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index b24fa8d8..76d774bc 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Oct 8 11:14:20 UTC 2021 - Franck Bui + +- Overwriting rootprefix= is only required when split-usr is enabled + ------------------------------------------------------------------- Fri Oct 8 09:01:59 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 6e6c681c..89ddae1e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -606,8 +606,8 @@ Have fun with these services at your own risk. -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ - -Drootprefix=/usr \ %if %{with split_usr} + -Drootprefix=/usr \ -Dsplit-usr=true \ %endif -Dsplit-bin=true \ diff --git a/systemd.changes b/systemd.changes index b24fa8d8..76d774bc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Oct 8 11:14:20 UTC 2021 - Franck Bui + +- Overwriting rootprefix= is only required when split-usr is enabled + ------------------------------------------------------------------- Fri Oct 8 09:01:59 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 32d3c983..397f389b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -604,8 +604,8 @@ Have fun with these services at your own risk. -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ - -Drootprefix=/usr \ %if %{with split_usr} + -Drootprefix=/usr \ -Dsplit-usr=true \ %endif -Dsplit-bin=true \ From 40636e38240e45af0066195f6d10c3decb94eb82e9bc3fb0050e92a5768a334c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 15 Oct 2021 09:32:30 +0000 Subject: [PATCH 609/991] - Ghost own directories /var/log/journal and /var/log/journal/remote again rpmlint no more complain about the setgid bit, see sr#923496. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1201 --- systemd-mini.changes | 7 +++++++ systemd-mini.spec | 2 ++ systemd.changes | 7 +++++++ systemd.spec | 2 ++ 4 files changed, 18 insertions(+) diff --git a/systemd-mini.changes b/systemd-mini.changes index 76d774bc..fe7acc60 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Oct 15 09:27:00 UTC 2021 - Franck Bui + +- Ghost own directories /var/log/journal and /var/log/journal/remote again + + rpmlint no more complain about the setgid bit, see sr#923496. + ------------------------------------------------------------------- Fri Oct 8 11:14:20 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 89ddae1e..cf97e2bd 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1435,6 +1435,7 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1766,6 +1767,7 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd +%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} diff --git a/systemd.changes b/systemd.changes index 76d774bc..fe7acc60 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Oct 15 09:27:00 UTC 2021 - Franck Bui + +- Ghost own directories /var/log/journal and /var/log/journal/remote again + + rpmlint no more complain about the setgid bit, see sr#923496. + ------------------------------------------------------------------- Fri Oct 8 11:14:20 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 397f389b..01b41ae2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1433,6 +1433,7 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1764,6 +1765,7 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd +%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} From 4bd5e376d896f3173a1f577bf17281f5d3568a9ed083c251ff41caca9943cee4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 15 Oct 2021 11:50:45 +0000 Subject: [PATCH 610/991] - Rename %{gnu-efi} into %{sd_boot} Build conditionals (%bcond_with and %bcond_without) are used to define a specific feature of systemd. "gnu-efi" is rather an implemenation detail. Also not really sure what "efi" option alone is useful for since systemd-boot & co depends on "gnu-efi". - Enable sd_boot support for aarch64 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1202 --- systemd-mini.changes | 12 ++++++++++++ systemd-mini.spec | 20 +++++++++++++------- systemd.changes | 12 ++++++++++++ systemd.spec | 20 +++++++++++++------- 4 files changed, 50 insertions(+), 14 deletions(-) diff --git a/systemd-mini.changes b/systemd-mini.changes index fe7acc60..406970ad 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Oct 15 11:38:41 UTC 2021 - Franck Bui + +- Rename %{gnu-efi} into %{sd_boot} + + Build conditionals (%bcond_with and %bcond_without) are used to + define a specific feature of systemd. "gnu-efi" is rather an + implemenation detail. Also not really sure what "efi" option alone + is useful for since systemd-boot & co depends on "gnu-efi". + +- Enable sd_boot support for aarch64 + ------------------------------------------------------------------- Fri Oct 15 09:27:00 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index cf97e2bd..8b0654d2 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -29,7 +29,6 @@ %define suse_version +suse.39.g7a5801342f %define _testsuitedir /usr/lib/systemd/tests -%bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump %bcond_with importd @@ -38,20 +37,23 @@ %bcond_with networkd %bcond_with portabled %bcond_with resolved +%bcond_with sd_boot %bcond_with sysvcompat %bcond_with experimental %bcond_with testsuite %else %bcond_without coredump -%ifarch %{ix86} x86_64 -%bcond_without gnuefi -%endif %bcond_without importd %bcond_without journal_remote %bcond_without machined %bcond_without networkd %bcond_without portabled %bcond_without resolved +%ifarch %{ix86} x86_64 aarch64 +%bcond_without sd_boot +%else +%bcond_with sd_boot +%endif %bcond_without sysvcompat %bcond_without experimental %bcond_without testsuite @@ -117,7 +119,7 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%if %{with gnuefi} +%if %{with sd_boot} BuildRequires: gnu-efi %endif @@ -652,8 +654,12 @@ Have fun with these services at your own risk. %if %{without coredump} -Dcoredump=false \ %endif -%if %{without gnuefi} +%if %{without sd_boot} + -Defi=false \ -Dgnu-efi=false \ +%else + -Defi=true \ + -Dgnu-efi=true \ %endif %if %{without importd} -Dimportd=false \ @@ -1367,7 +1373,7 @@ fi %{_pam_moduledir}/pam_systemd.so -%if %{with gnuefi} +%if %{with sd_boot} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi diff --git a/systemd.changes b/systemd.changes index fe7acc60..406970ad 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Oct 15 11:38:41 UTC 2021 - Franck Bui + +- Rename %{gnu-efi} into %{sd_boot} + + Build conditionals (%bcond_with and %bcond_without) are used to + define a specific feature of systemd. "gnu-efi" is rather an + implemenation detail. Also not really sure what "efi" option alone + is useful for since systemd-boot & co depends on "gnu-efi". + +- Enable sd_boot support for aarch64 + ------------------------------------------------------------------- Fri Oct 15 09:27:00 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 01b41ae2..e46f4bd7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,6 @@ %define suse_version +suse.39.g7a5801342f %define _testsuitedir /usr/lib/systemd/tests -%bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump %bcond_with importd @@ -36,20 +35,23 @@ %bcond_with networkd %bcond_with portabled %bcond_with resolved +%bcond_with sd_boot %bcond_with sysvcompat %bcond_with experimental %bcond_with testsuite %else %bcond_without coredump -%ifarch %{ix86} x86_64 -%bcond_without gnuefi -%endif %bcond_without importd %bcond_without journal_remote %bcond_without machined %bcond_without networkd %bcond_without portabled %bcond_without resolved +%ifarch %{ix86} x86_64 aarch64 +%bcond_without sd_boot +%else +%bcond_with sd_boot +%endif %bcond_without sysvcompat %bcond_without experimental %bcond_without testsuite @@ -115,7 +117,7 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%if %{with gnuefi} +%if %{with sd_boot} BuildRequires: gnu-efi %endif @@ -650,8 +652,12 @@ Have fun with these services at your own risk. %if %{without coredump} -Dcoredump=false \ %endif -%if %{without gnuefi} +%if %{without sd_boot} + -Defi=false \ -Dgnu-efi=false \ +%else + -Defi=true \ + -Dgnu-efi=true \ %endif %if %{without importd} -Dimportd=false \ @@ -1365,7 +1371,7 @@ fi %{_pam_moduledir}/pam_systemd.so -%if %{with gnuefi} +%if %{with sd_boot} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi From 15f422b3821cd1f53453d3aef9a0821510b5faa3a28c726de27deee37ff0fa9d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 15 Oct 2021 12:07:31 +0000 Subject: [PATCH 611/991] - Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 3b4a005095 meson: add missing include directory when using xkbcommon 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) 78466e4464 meson: drop the list of valid net naming schemes b9a2098f9d netif-naming: inline one iterator variable d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1203 --- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 2 +- systemd-v249.4+suse.39.g7a5801342f.tar.xz | 3 --- systemd-v249.4+suse.45.g355e113ce1.tar.xz | 3 +++ systemd.changes | 11 +++++++++++ systemd.spec | 2 +- 6 files changed, 27 insertions(+), 5 deletions(-) delete mode 100644 systemd-v249.4+suse.39.g7a5801342f.tar.xz create mode 100644 systemd-v249.4+suse.45.g355e113ce1.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 406970ad..aaefa009 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Oct 15 11:54:34 UTC 2021 - Franck Bui + +- Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 + + 3b4a005095 meson: add missing include directory when using xkbcommon + 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) + 78466e4464 meson: drop the list of valid net naming schemes + b9a2098f9d netif-naming: inline one iterator variable + d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme + ------------------------------------------------------------------- Fri Oct 15 11:38:41 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index 8b0654d2..c92c73c8 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.39.g7a5801342f +%define suse_version +suse.45.g355e113ce1 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} diff --git a/systemd-v249.4+suse.39.g7a5801342f.tar.xz b/systemd-v249.4+suse.39.g7a5801342f.tar.xz deleted file mode 100644 index 5000653b..00000000 --- a/systemd-v249.4+suse.39.g7a5801342f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:253802820cf7090eb06e26f5dc23dfd9dfd967fc20b8c85350ea4856fe99442d -size 7266304 diff --git a/systemd-v249.4+suse.45.g355e113ce1.tar.xz b/systemd-v249.4+suse.45.g355e113ce1.tar.xz new file mode 100644 index 00000000..42ff1f8c --- /dev/null +++ b/systemd-v249.4+suse.45.g355e113ce1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec1e888d4bd6da62e0038d220140c47b9d1e44f54e2c5212d812c79299fc8c9e +size 7266360 diff --git a/systemd.changes b/systemd.changes index 406970ad..aaefa009 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Oct 15 11:54:34 UTC 2021 - Franck Bui + +- Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 + + 3b4a005095 meson: add missing include directory when using xkbcommon + 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) + 78466e4464 meson: drop the list of valid net naming schemes + b9a2098f9d netif-naming: inline one iterator variable + d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme + ------------------------------------------------------------------- Fri Oct 15 11:38:41 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e46f4bd7..5d44523f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.39.g7a5801342f +%define suse_version +suse.45.g355e113ce1 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} From f7b937968d6fe64d5f99a3d62d3cb60943ed0224682f44c3df0a6905c96cc0e9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 15 Oct 2021 12:22:28 +0000 Subject: [PATCH 612/991] - Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1204 --- systemd-mini.changes | 8 ++++++++ systemd-mini.spec | 4 ++-- systemd-v249.4+suse.45.g355e113ce1.tar.xz | 3 --- systemd-v249.5+suse.47.g8521f8d22f.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 6 files changed, 23 insertions(+), 7 deletions(-) delete mode 100644 systemd-v249.4+suse.45.g355e113ce1.tar.xz create mode 100644 systemd-v249.5+suse.47.g8521f8d22f.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index aaefa009..e24b4142 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Oct 15 12:09:44 UTC 2021 - Franck Bui + +- Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d + ------------------------------------------------------------------- Fri Oct 15 11:54:34 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c92c73c8..2552df5b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.45.g355e113ce1 +%define suse_version +suse.47.g8521f8d22f %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -63,7 +63,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.4 +Version: 249.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later diff --git a/systemd-v249.4+suse.45.g355e113ce1.tar.xz b/systemd-v249.4+suse.45.g355e113ce1.tar.xz deleted file mode 100644 index 42ff1f8c..00000000 --- a/systemd-v249.4+suse.45.g355e113ce1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec1e888d4bd6da62e0038d220140c47b9d1e44f54e2c5212d812c79299fc8c9e -size 7266360 diff --git a/systemd-v249.5+suse.47.g8521f8d22f.tar.xz b/systemd-v249.5+suse.47.g8521f8d22f.tar.xz new file mode 100644 index 00000000..5c5dfb3d --- /dev/null +++ b/systemd-v249.5+suse.47.g8521f8d22f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8a0ffb611331f565bf6bc5b7ec30cf9725cf462b08dae3c2b7bd344d1c9ed7c +size 7268136 diff --git a/systemd.changes b/systemd.changes index aaefa009..e24b4142 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Oct 15 12:09:44 UTC 2021 - Franck Bui + +- Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d + ------------------------------------------------------------------- Fri Oct 15 11:54:34 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5d44523f..b199cc0b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.45.g355e113ce1 +%define suse_version +suse.47.g8521f8d22f %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -61,7 +61,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.4 +Version: 249.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 89c84b0ccbb206de5c98bd03ad4a0d2769139d564120b559ae43d95d239cf429 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 15 Oct 2021 16:28:37 +0000 Subject: [PATCH 613/991] fix build for the mini flavor: rename of 'gnu-efi' broke it OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1205 --- systemd-mini.spec | 6 +++--- systemd.spec | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/systemd-mini.spec b/systemd-mini.spec index 2552df5b..e2e18d20 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -1223,8 +1223,10 @@ fi %files %defattr(-,root,root) %license LICENSE* -%{_bindir}/busctl +%if %{with sd_boot} %{_bindir}/bootctl +%endif +%{_bindir}/busctl %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl @@ -1551,7 +1553,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html -# /bootstrap %endif %files devel @@ -1795,7 +1796,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -# Some files created at runtime %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd.spec b/systemd.spec index b199cc0b..17246d92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1221,8 +1221,10 @@ fi %files %defattr(-,root,root) %license LICENSE* -%{_bindir}/busctl +%if %{with sd_boot} %{_bindir}/bootctl +%endif +%{_bindir}/busctl %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl @@ -1549,7 +1551,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html -# /bootstrap %endif %files devel @@ -1793,7 +1794,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -# Some files created at runtime %endif %if %{with resolved} %{_bindir}/resolvectl From c439b9bec9e9d52b340ecd80463c5ba78135ebdf748e600d44b32cbe4ce7bb8c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Oct 2021 10:30:34 +0000 Subject: [PATCH 614/991] - Convert systemd package to multibuild OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1206 --- _multibuild | 3 + pre_checkin.sh | 15 - systemd-mini-rpmlintrc | 11 - systemd-mini.changes | 11493 --------------------------------------- systemd-mini.spec | 1871 ------- systemd.changes | 5 + systemd.spec | 12 +- 7 files changed, 18 insertions(+), 13392 deletions(-) create mode 100644 _multibuild delete mode 100644 pre_checkin.sh delete mode 100644 systemd-mini-rpmlintrc delete mode 100644 systemd-mini.changes delete mode 100644 systemd-mini.spec diff --git a/_multibuild b/_multibuild new file mode 100644 index 00000000..bb1e9966 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + mini + diff --git a/pre_checkin.sh b/pre_checkin.sh deleted file mode 100644 index c033554d..00000000 --- a/pre_checkin.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz) -# create a -mini spec for systemd for bootstrapping - -ORIG_SPEC=systemd -EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" -sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; - s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; - s/^Name:.*/&-mini/ - " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec -cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes -cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc - -osc service localrun format_spec_file diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc deleted file mode 100644 index 86edf488..00000000 --- a/systemd-mini-rpmlintrc +++ /dev/null @@ -1,11 +0,0 @@ -addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf") -addFilter(".*dbus-policy-allow-receive") -addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*systemd-service-without-service.*") -addFilter("env-script-interpreter") -addFilter(".*files-duplicate /usr/lib/systemd/.*") -addFilter(".*files-duplicated-waste.*") -addFilter(".*explicit-lib-dependency .*") -addFilter(".*tmpfile-not-in-filelist .*") diff --git a/systemd-mini.changes b/systemd-mini.changes deleted file mode 100644 index e24b4142..00000000 --- a/systemd-mini.changes +++ /dev/null @@ -1,11493 +0,0 @@ -------------------------------------------------------------------- -Fri Oct 15 12:09:44 UTC 2021 - Franck Bui - -- Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d - -------------------------------------------------------------------- -Fri Oct 15 11:54:34 UTC 2021 - Franck Bui - -- Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 - - 3b4a005095 meson: add missing include directory when using xkbcommon - 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) - 78466e4464 meson: drop the list of valid net naming schemes - b9a2098f9d netif-naming: inline one iterator variable - d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme - -------------------------------------------------------------------- -Fri Oct 15 11:38:41 UTC 2021 - Franck Bui - -- Rename %{gnu-efi} into %{sd_boot} - - Build conditionals (%bcond_with and %bcond_without) are used to - define a specific feature of systemd. "gnu-efi" is rather an - implemenation detail. Also not really sure what "efi" option alone - is useful for since systemd-boot & co depends on "gnu-efi". - -- Enable sd_boot support for aarch64 - -------------------------------------------------------------------- -Fri Oct 15 09:27:00 UTC 2021 - Franck Bui - -- Ghost own directories /var/log/journal and /var/log/journal/remote again - - rpmlint no more complain about the setgid bit, see sr#923496. - -------------------------------------------------------------------- -Fri Oct 8 11:14:20 UTC 2021 - Franck Bui - -- Overwriting rootprefix= is only required when split-usr is enabled - -------------------------------------------------------------------- -Fri Oct 8 09:01:59 UTC 2021 - Franck Bui - -- Rename %usrmerged into %split_usr - -------------------------------------------------------------------- -Wed Oct 6 07:40:24 UTC 2021 - Franck Bui - -- Suppress PAM warning when the credentials for user@.service service - are established (bsc#1190515) - - systemd-user PAM service needs to define a default implementation of - pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) - is used, which consists of pam_warn.so + pam_deny.so, and will throw - a warning each time a user logs in. - -------------------------------------------------------------------- -Mon Oct 4 14:40:12 UTC 2021 - Franck Bui - -- No need to install upstream pam configuration file "systemd-user" - - It's overwritten by the SUSE version anyway. - -------------------------------------------------------------------- -Wed Sep 29 10:04:38 UTC 2021 - Franck Bui - -- Work around rpmlint complaining about /var/log/journal shipped with setgid bit - - This setgid bit has been already reviewed in the past and wasn't a - concern. However we want the mode/ownership adjusted by tmpfiles and - avoid the duplication of these info in rpm. - -- Don't ghost own any directories created dynamically by tmpfiles - - Again rpmlint complains but it doesn't seem to make sense to try to - track all paths (including theirs perms, ownerships...) created - dynamically. And 'rpm -V' is likely to report issues later with - these paths anyway. - - This effectively partially reverts the two previous commits. - -------------------------------------------------------------------- -Fri Sep 24 12:56:31 UTC 2021 - Franck Bui - -- Make sure the build process won't create /var/log/journal - -- /var/log/journal/remote is owned by systemd-journal-remote - -------------------------------------------------------------------- -Fri Sep 24 09:28:38 UTC 2021 - Franck Bui - -- systemd.spec: fix a bunch of rpmlint errors/warnings - -------------------------------------------------------------------- -Fri Sep 24 07:27:58 UTC 2021 - Franck Bui - -- Drop systemd-logger - - This sub package was introduced in order to configure persistent - journal and also to make sure that another syslog provider (such as - rsyslog) couldn't be installed at the same time: each syslog - provider conflicts with each others. - - However this mechanism didn't work since uninstalling systemd-logger - wasn't magically turning off persistent logging because - /var/log/journal is likely to be populated hence not removed. - - Moreover using a subpackage to configure the mode of journald was - overkill and the usual ways (main conf file or drop-ins) should be - preferred. - -------------------------------------------------------------------- -Wed Sep 22 13:41:34 UTC 2021 - Franck Bui - -- Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 - - 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh - 1527bcc5dd test: make the installation of the debug tools optional in the image - f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) - -------------------------------------------------------------------- -Wed Sep 22 13:25:26 UTC 2021 - Franck Bui - -- Update the dependencies of the testsuite package - - The debug tools are optional thus no more required. - - OTOH strip(1) is needed when building the test image and nc(1) is - needed by some tests. - -------------------------------------------------------------------- -Fri Sep 10 13:30:14 UTC 2021 - Franck Bui - -- Drop git internal files from the testsuite sub-package - -------------------------------------------------------------------- -Fri Sep 10 09:51:06 UTC 2021 - Franck Bui - -- Adjust pam macros - -------------------------------------------------------------------- -Wed Sep 8 17:01:58 UTC 2021 - Franck Bui - -- Don't reexecute user manager instances on package update yet - - This can't be done until users have their user instance updated to - the new version that supports reexecuting with SIGRTMIN+25 because - this signal terminates the user managers for the previous versions. - -------------------------------------------------------------------- -Wed Sep 8 13:21:34 UTC 2021 - Franck Bui - -- Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 - - 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only - fd46c81922 test: make sure to include all haveged unit files - -- systemd.spec: reexec user manager instances on package updates - -------------------------------------------------------------------- -Fri Sep 3 09:38:23 UTC 2021 - Franck Bui - -- Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) - -------------------------------------------------------------------- -Thu Sep 2 10:01:23 UTC 2021 - Franck Bui - -- Drop dependency on m4 (replaced by Jinja2) - -------------------------------------------------------------------- -Wed Sep 1 11:54:23 UTC 2021 - Franck Bui - -- Configure split-usr=true only when %usrmerged is not defined - -------------------------------------------------------------------- -Wed Sep 1 09:56:55 UTC 2021 - Franck Bui - -- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 - -------------------------------------------------------------------- -Mon Aug 23 15:12:10 UTC 2021 - Franck Bui - -- Rework the test (sub)package: - - it's been renamed into 'systemd-testsuite' - - it includes the extended tests too - - the relevant commits have been backported to SUSE/v249 so no SUSE - specific patch is needed to run the extended tests (see below) - - the deps needed by the extended tests have been added - -- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 - - ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too - 088fbb71d0 test: adapt install_pam() for openSUSE - 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" - ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" - 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only - 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set - 3bba2f876a test: add support for NO_BUILD=1 on openSUSE - d77cbc1b64 test: make busybox TEST-13-only dependency - -------------------------------------------------------------------- -Mon Aug 2 12:54:44 UTC 2021 - Franck Bui - -- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) - - See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) - - - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch - 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - -------------------------------------------------------------------- -Thu Jul 29 13:12:48 UTC 2021 - Franck Bui - -- Avoid the error message when udev is updated due to udev being - already active when the sockets are started again (bsc#1188291) - -------------------------------------------------------------------- -Mon Jul 26 10:54:10 UTC 2021 - Franck Bui - -- Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 - -------------------------------------------------------------------- -Tue Jul 20 16:26:39 UTC 2021 - Franck Bui - -- Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - - Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes - https://github.com/systemd/systemd/issues/19464 which makes the - aforementioned patch not needed anymore. - -------------------------------------------------------------------- -Tue Jul 20 16:22:46 UTC 2021 - Franck Bui - -- Drop 1003-basic-unit-name-adjust-comments.patch - - It's been merged in SUSE/v248 branch - -------------------------------------------------------------------- -Tue Jul 20 15:51:47 UTC 2021 - Franck Bui - -- Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) - - 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 - -- Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it - was merged in v248.5. - -------------------------------------------------------------------- -Tue Jul 20 15:25:38 UTC 2021 - Franck Bui - -- Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 - -- Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch - as it was merged in v248.4. - -------------------------------------------------------------------- -Tue Jul 20 15:10:41 UTC 2021 - Franck Bui - -- Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 - - 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag - ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag - a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) - ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) - aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease - 258a3d2043 sd-dhcp-client: shorten code a bit - 0a80303114 sd-dhcp-client: check error earlier and reduce indentation - -------------------------------------------------------------------- -Thu Jul 8 18:04:31 UTC 2021 - Franck Bui - -- Added patches to fix CVE-2021-33910 (bsc#1188063) - - Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch - Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch - Added 1003-basic-unit-name-adjust-comments.patch - - These patches will be moved to the git repo once the bug will become - public. - -------------------------------------------------------------------- -Mon Jul 5 09:03:07 UTC 2021 - Franck Bui - -- systemd-hwdb-update.service should be shipped by the udev package - -------------------------------------------------------------------- -Thu Jul 1 07:47:31 UTC 2021 - Franck Bui - -- Finally don't create /run/lock/subsys anymore - - This effectively reverts the fix for bsc#1187292 made earlier. This - directory is specific to RH sysvinit and since we're going to fade - the support of SysV init script away the directory has no future. - -------------------------------------------------------------------- -Mon Jun 28 16:45:04 UTC 2021 - Franck Bui - -- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 - - 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL - d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 - -------------------------------------------------------------------- -Mon Jun 28 12:46:04 UTC 2021 - Fabian Vogt - -- Enable TPM2 support - -------------------------------------------------------------------- -Thu Jun 24 13:39:30 UTC 2021 - Franck Bui - -- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 - - aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c - -- Restore 61-persistent-storage-compat.rules that was mistakenly - dropped during the merge of v248. - -------------------------------------------------------------------- -Fri Jun 18 12:53:34 UTC 2021 - Franck Bui - -- Create /run/lock/subsys again (bsc#1187292) - - The creation of this directory was mistakenly dropped when - 'filesystem' package took the initialization of the generic paths - over. - - Paths under /run/lock are still managed by systemd for lack of - better place. - -------------------------------------------------------------------- -Fri Jun 4 13:10:30 UTC 2021 - Franck Bui - -- Drop systemd's dependency on udev (jsc#PM-2677) - - In some environments (i.e. containers) udev is usually not necessary - but pulls in unnecessary packages. - -------------------------------------------------------------------- -Fri Jun 4 07:32:16 UTC 2021 - Franck Bui - -- Now that chkconfig/insserv are history, let's implement the strict - minimum in systemd-sysv-install to enable/disable SysV init scripts - (bsc#1186595 bsc#1186359) - - Indeed there's no much point in dropping SysV support completely - until upstream will do especially since 3rd party applications such - as vmware still rely on it, see bsc#1186359). - -------------------------------------------------------------------- -Tue May 25 16:30:40 UTC 2021 - Franck Bui - -- Allow the sysusers config files shipped by systemd rpms to be - overriden during system installation (bsc#1171962) - -- While at it, add a comment to explain why we don't use - %sysusers_create in %pre and why it should be safe in %post. - -------------------------------------------------------------------- -Thu May 20 20:19:27 UTC 2021 - Franck Bui - -- udev requires systemd in its %post (bsc#1185958) - - udevadm, called in udev's %post, requires libsystemd-shared-248.so. - -------------------------------------------------------------------- -Thu May 20 18:52:53 UTC 2021 - Franck Bui - -- Restore all "License:" tags - - udev uses a different license (GPL-2.0-only) than the main package - and "osc service localrun format_spec_file" has the good taste to - restore the license tags for all other subpackages if one of the - subpackage tag differs. - -------------------------------------------------------------------- -Thu May 20 15:47:38 UTC 2021 - Franck Bui - -- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) - -------------------------------------------------------------------- -Wed May 19 06:54:57 UTC 2021 - Franck Bui - -- Spec file minor cleanups: - - - Drop all "Group:" tags as they are deprecated. - - - Drop "License:" tags from all subpackages and make it inherited - from the main package. - - - Drop "%bcond_with parentpathid" as it's not used. - -------------------------------------------------------------------- -Tue May 18 18:31:20 UTC 2021 - Franck Bui - -- Introduce subpackage systemd-tests - - This subpackage is mainly used before submitting a new version of - the systemd packages. As such it's not intended for regular users - hence can be removed/renamed at any time. One might wonder why the - unit tests are not executed during package builds (%check)... the - reason is that the environment used to build package (chroot) is too - limited and therefore only a subset of the unit tests would be - executed in this environment. - - To disable the build of the subpackage, use "--without=tests". - -------------------------------------------------------------------- -Tue May 18 10:04:16 UTC 2021 - Franck Bui - -- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - - A temporary patch until - https://github.com/systemd/systemd/issues/19464 is solved. - -------------------------------------------------------------------- -Tue May 18 08:19:57 UTC 2021 - Franck Bui - -- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b - -------------------------------------------------------------------- -Mon May 10 13:12:56 UTC 2021 - Franck Bui - -- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa - -------------------------------------------------------------------- -Mon Apr 26 16:25:38 UTC 2021 - Franck Bui - -- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7) - - See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) - - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) - - - A couple runtime dependencies on libraries are now tracked - manually (with Recommends:) due to the fact that some symbols of - these libs are dynamically loaded with dlopen() (heck!) - - - oomd is left disablde for now - - - pam configuration file 'systemd-user' is now shipped in - /usr/etc/pam.d - - - Rebased 0001-conf-parser-introduce-early-drop-ins.patch - 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch - 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch - - - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch - as it is SLE specific. - -- Clean systemd-experimental up: - - - Enclose "%package/%descriptoin experimental" within a "%if - %experimental/%endif" block condition - - - List the build requirements in the sub-package instead of listing - them in the main package. - - - Enable support for fido2, pwquality and qrencode in the home - stuff - - - Improve the package description - -------------------------------------------------------------------- -Wed Apr 7 08:59:15 UTC 2021 - Franck Bui - -- systemd.spec: clean some of the build deps up: - - - libpcre is redundant with libpcre2 (only required by the full - build) and the mini variant needs none of them. Hence drop the ref - to libpcre. - - - normally libidn2 is needed by some optional features in - systemd-network (only). But it's implicitly pulled in by libgnutls - (required by the main package). Let's make sure the related - features won't be disabled inadvertently in the future by making - the dep explicit. - -------------------------------------------------------------------- -Tue Mar 30 13:35:38 UTC 2021 - Franck Bui - -- Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) - - 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) - 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f - -- Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch - as it's part of v246.13. - -- Make use of the new build option to ship xinitrc in - /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) - -------------------------------------------------------------------- -Wed Mar 24 07:05:22 UTC 2021 - Franck Bui - -- Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch - - Temporary workaround for bsc#1183745 (upstream issue 18917) until an - actual fix is found. - -------------------------------------------------------------------- -Tue Mar 23 14:11:03 UTC 2021 - Ludwig Nussel - -- enable libiptc for masquerading support in networkd - -------------------------------------------------------------------- -Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa - -- Default to the "unified" cgroup hierarchy. At this point, most - users of cgroup (such as docker, libvirt, kubernetes) should be - ready for this change. It's still possible to switch back to the - old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" - option to the kernel command line. - -------------------------------------------------------------------- -Mon Mar 15 15:56:45 UTC 2021 - Franck Bui - -- Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 - -- Rebase 0001-conf-parser-introduce-early-drop-ins.patch - -------------------------------------------------------------------- -Mon Mar 15 11:06:54 UTC 2021 - Franck Bui - -- Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 - - 846d61e0a1 boot: Move console declarations to missing_efi.h - 171a37228b boot: Add startswith() and endswith() functions with no_case variants - 0fad9f309a boot: Drop unnecessary braces - c38bbb0874 boot: Fix void pointer arithmetic warning - 438210924b boot: Replace raw efivar gets with typed variants - e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions - e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() - 2808d0e9a3 boot: Tighten scope of variables used in loops - d3f3d57743 boot: Add efivar_get_boolean_u8() - 0551ecce71 boot: Make all efivar util functions take the guid as an argument - 8376ba3b9f boot: Turn all guid constants into C99 compound initializers - 166fc2dad2 boot: Enable C99 - c87d66e261 boot: Move Secure Boot logic to new file - da7bba9438 udev: fix memleak - e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) - 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) - -------------------------------------------------------------------- -Thu Mar 11 16:58:44 UTC 2021 - Ludwig Nussel - -- create subpackage systemd-experimental to host pstore, repart, - userdb and homed - -------------------------------------------------------------------- -Thu Mar 11 09:51:53 UTC 2021 - Franck Bui - -- Make sure the udev socket units are reloaded during udev package updates - -------------------------------------------------------------------- -Wed Mar 10 09:10:03 UTC 2021 - Franck Bui - -- fix-machines-btrfs-subvol.sh is only shipped when machined is built - -------------------------------------------------------------------- -Mon Feb 22 20:20:43 UTC 2021 - Franck Bui - -- systemd requires aaa_base >= 13.2 - - This dependency is required because 'systemctl - {is-enabled,enable,disable} " ends up calling - systemd-sysv-install which in its turn calls "chkconfig - --no-systemctl". - - aaa_base package has a weird versioning but the '--no-systemctl' - option has been introduced starting from SLE12-SP2-GA, which shipped - version "13.2+git20140911.61c1681". - - Spotted in bsc#1180083. - -------------------------------------------------------------------- -Fri Feb 19 13:34:01 UTC 2021 - Franck Bui - -- Add 0001-conf-parser-introduce-early-drop-ins.patch - - Introduce early configuration drop-in file. This type of drop-ins - are reserved for vendor own purposes only and should never been used - by users. It might be removed in the future without any notice. - -------------------------------------------------------------------- -Wed Feb 17 10:30:43 UTC 2021 - Franck Bui - -- Drop use of %systemd_postun in %postun - - This macro is supposed to operate on units but it was used without - passing any parameters. This call was probably used for issuing a - daemon-reload but the following calls to - %systemd_postun_with_restart imply that already. So let's simply - drop it. - -------------------------------------------------------------------- -Fri Feb 5 13:02:58 UTC 2021 - Franck Bui - -- systemd-sysv-convert: handle the case when services are migrated - from SysV scripts to systemd units and are renamed at the same - time (bsc#1181788) - - The list of such services is hard coded and contains only the - 'ntp->ntpd' translation. - -------------------------------------------------------------------- -Wed Feb 3 09:57:58 UTC 2021 - Franck Bui - -- Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) - - 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) - 4a543f0257 journal: send journald logs to kmsg again - 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b - -------------------------------------------------------------------- -Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel - -- prepare usrmerge (boo#1029961) - * don't install legacy symlinks to / - * use %_pamdir to install pam modules - * leave nss files in /usr/lib*, glibc loads them from there just - fine independent of usrmerge - -------------------------------------------------------------------- -Fri Dec 18 08:54:20 UTC 2020 - Franck Bui - -- Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 - -------------------------------------------------------------------- -Fri Dec 18 08:41:04 UTC 2020 - Franck Bui - -- Import commit 2401461e5f0e32922823d954c56106f96344070e - - 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created - f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) - fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp - ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents - 09e3473a7a test/udev_test.pl: add "expected good" count - fc89379b5b test/udev-test.pl: suppress umount error message at startup - d9e114f10d test/sd-script.py: new helper script for udev testing - f2672eae66 test/udev-test.pl: generator for large list of block devices - 42b68e43e2 test/udev-test.pl: add repeat count - eec8ec375a tests/udev-test.pl: add multiple device test - 73b8f3cf93 test/udev-test.pl: count "good" results - ee04d70bb6 test/udev-test.pl: merge import parent tests into one - 03942c8fbc test/udev-test.pl: merge "space and var with space" tests - ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test - f704429217 test/udev-test.pl: Make some tests a little harder - ce1a877dc0 test/udev-test.pl: last_rule is unsupported - 913c72ff2d test/udev-test.pl: fix wrong test descriptions - eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks - 00ab4292da test/udev-test.pl: test correctness of symlink targets - 5b71ee2911 test/udev-test.pl: use computed devnode name - 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals - 8816dd593c test/udev-test.pl: create rules only once - 214418632d test/udev-test.pl: allow multiple devices per test - 1eb6b23f27 udev-test: do not rely on "mail" group being defined - 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) - -------------------------------------------------------------------- -Wed Dec 16 10:40:48 UTC 2020 - Franck Bui - -- Enable support for zstd compression - - systemd-journald will now use zstd for compressing large fields in - journal files. systemd-coredump will also use this algorithm to - compress coredump files. - - Please note that systemd older than v246 won't be able to read new - journal files as zstd algorithm is not supported by these versions. - - This incompatible change was actually not the only one introduced by - v246 since the hash tables in journal files have been hardened - against hash collisions too in an incompatible way with older - versions. - -------------------------------------------------------------------- -Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger - -- Explicitly require group(kvm) by udev: the group used to be - created by system-users-hardware, but has been split/moved to - qemu/kvm, where it is more logical. The file - /usr/lib/udev/rules.d/50-udev-default.rules references this - group, thus we should make sure the group exists. Otherwise there - are errors in the journal in the form of: - /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring - -------------------------------------------------------------------- -Wed Dec 9 16:08:26 UTC 2020 - Franck Bui - -- Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) - - 450792497e sd-event: fix delays assert brain-o (#17790) - 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' - a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 - -------------------------------------------------------------------- -Tue Dec 1 09:42:11 UTC 2020 - Franck Bui - -- Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f - - 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope - -------------------------------------------------------------------- -Tue Nov 24 13:39:28 UTC 2020 - Franck Bui - -- Don't post-require systemd-default-settings-branding anymore - - This is actually not needed now that the branding package issues a - PID1 reloading every times it's being updated. - -------------------------------------------------------------------- -Mon Nov 23 17:20:28 UTC 2020 - Franck Bui - -- Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b - - f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount - e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) - ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" - 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) - 1416965614 meson: add option to skip installing to $sysconfdir - f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable - 20a3f9fd95 systemctl: immediately reject invalid log levels - 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() - ddf7cf4872 systemctl: add service-log-{level,target} verbs - 026d7d156d systemctl: list unit introspection verbs first, modification second - -------------------------------------------------------------------- -Fri Nov 20 14:54:55 UTC 2020 - Franck Bui - -- systemd-default-settings is needed by %post scriptlet - -------------------------------------------------------------------- -Tue Nov 17 08:44:10 UTC 2020 - Franck Bui - -- Revert the change that dropped %{release} from the package version - constraints used in Requires: - - The release number is actually relevant since it can be increased - when some patches, which might touch multiple sub-packages of - systemd, are added/modified. - - However the %{release} is still no more used in conflicts. - -------------------------------------------------------------------- -Fri Nov 6 08:34:18 UTC 2020 - Franck Bui - -- Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 - - 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise - ecc07954de log: normalize log target condition check - d32ceea42b log: update comment - 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) - -------------------------------------------------------------------- -Mon Nov 2 15:17:20 UTC 2020 - Franck Bui - -- Simplify systemd-sysv-convert - - - the previous code incorrectly assumed that the sysv init scripts - were uninstalled before %post get executed. It therefore save the - enablement state in %pre and restore it in %post. Now all is done - in %post (making --save option useless) and there's no more need - to remember the enablement state. - - - "--save" option is a NOP but is still kept for backward - compatibility. - - - the previous simplifcation made /var/lib/systemd/migrated no more - used. - - - we do not search for units in /lib/systemd anymore, this shouldn't - be needed anymore these days especially since this path was only - used when systemd was introduced in openSUSE and it was never used - in SLE (checked SLE12-GA). - - - the option --show has been dropped. It's never been used even - internally. - - - the DB is populated only once even if the script was enabled at - multiple runlevels. The runlevel info was never used. A dummy - value is still added to keep the same format just in case. - -------------------------------------------------------------------- -Wed Oct 21 09:52:38 UTC 2020 - Franck Bui - -- No more need to clean the journal-upload stuff with --without=journal_remote - - Since -Dremote build option has been introduced with meson, this - workaround is no more needed. - -------------------------------------------------------------------- -Mon Oct 19 19:53:48 UTC 2020 - Franck Bui - -- Move journal-{remote,upload}.conf.5.gz man pages into systemd-journal_remote sub package - -------------------------------------------------------------------- -Mon Oct 19 18:50:38 UTC 2020 - Franck Bui - -- Explicitly list files in /usr/lib/sysusers.d shipped by the main package - - Currently only one config file is shipped in this directory and we - want to check any new files that may be added in the future. - -------------------------------------------------------------------- -Mon Oct 19 17:29:38 UTC 2020 - Franck Bui - -- Use %{_modulesloaddir}, %{_environmentdir} and %{_modprobedir} wherever appropriate - -------------------------------------------------------------------- -Tue Oct 13 09:29:40 UTC 2020 - Franck Bui - -- Do not include %{release} in a few places where we explicitly mention package versions - - It's usually not a good idea especially when used with conflicts. - -------------------------------------------------------------------- -Tue Oct 13 08:50:13 UTC 2020 - Franck Bui - -- Rely on systemd-default-settings for overriding system default settings (bsc#1172517) - - The new branding packages now ships the drop-ins to customize - systemd either for an openSUSE or a SLE ditro. - -------------------------------------------------------------------- -Wed Sep 30 19:09:59 UTC 2020 - Franck Bui - -- Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 - -------------------------------------------------------------------- -Tue Sep 29 16:37:40 UTC 2020 - Franck Bui - -- Ship {/usr/lib,/etc}/systemd/network directories in the main package - - These directories can be used by both udevd and networkd. - -------------------------------------------------------------------- -Thu Sep 17 15:12:48 UTC 2020 - Franck Bui - -- Remove dangling symlink - /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket - - Otherwise the build system complains. - -------------------------------------------------------------------- -Thu Sep 17 12:50:27 UTC 2020 - Franck Bui - -- Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) - - 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) - 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE - acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 - -------------------------------------------------------------------- -Wed Sep 16 14:07:56 UTC 2020 - Franck Bui - -- Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch - - linuxrc has already been fixed. - -------------------------------------------------------------------- -Wed Sep 16 13:42:04 UTC 2020 - Franck Bui - -- Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch - - A temporary patch until the installer environment is updated to - create some of the symlinks that udevd used to create during its - startup but now udevd relies on the init system to do so. - -------------------------------------------------------------------- -Thu Sep 10 12:59:54 UTC 2020 - Franck Bui - -- Rework how we prevent journald from both enabling auditd and - recording audit messages - - journald.conf gained a new setting Audit= to control whether - journald enables audit during the boot process. So let's use it and - make sure it's disabled by default by shipping a drop-in that - overrides upstream default. - - Also we used to patch systemd to prevent journald from reading the - audit messages. There's still no way for downstream to configure - that properly (we would need to mask systemd-journald-audit.socket - meaning shipping a symlink in /etc) but I think dropping - systemd-journald-audit.socket from the package is a nicer way to do - that as some users might choose to reenable this setting (by - reintroducing the socket unit in /etc). - -------------------------------------------------------------------- -Thu Sep 10 09:02:13 UTC 2020 - Franck Bui - -- Enable audit support (bsc#1175883) - - Enabling audit support in systemd will only make PID1 (and some of - its services) to generate some audit records for certain events. But - it doesn't affect journald, which has been prevented from recording - audit messages in the journal (SUSE specific behavior). - -------------------------------------------------------------------- -Wed Sep 2 10:14:10 UTC 2020 - Franck Bui - -- Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) - - See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for - details. - - Now that the number of SUSE specific patches has been shrinked and - is pretty low (12 at the time of this writing), they are no more - tracked by the git repo and are now handled at the package - level. Hence It is easier to maintain and identify them. This - effectively means that SUSE/v246 will contain upstream commits only. - - Added 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch - Added 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch - Added 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch - Added 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch - Added 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch - Added 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch - Added 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch - Added 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch - Added 0009-pid1-handle-console-specificities-weirdness-for-s390.patch - Added 0010-journald-disable-audit-support-completely-from-the-j.patch - Added 0011-core-disable-session-keyring-per-system-sevice-entir.patch - Added 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - -------------------------------------------------------------------- -Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt - -- Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) - -------------------------------------------------------------------- -Wed Aug 26 09:46:46 UTC 2020 - Franck Bui - -- Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf - - d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" - -------------------------------------------------------------------- -Tue Aug 25 14:32:16 UTC 2020 - Franck Bui - -- Drop requirement on 'sysvinit-tools' - - It was used to workaround bug #886599 by explicitly calling - vhangup(8) from getty@.service so when this service was stopped a - virtually hangup on the specified terminal when were stopped to give - the shell a few seconds to save its history. - - But this workaround was dropped since it had no effect (SLE12-GM was - released with it but was still suffering from the bug) and was - replaced by commit e9db43d5910717a108, which was released from v226 - and backported to SLE12/SLE12-SP1. - -------------------------------------------------------------------- -Thu Aug 20 10:24:37 UTC 2020 - Franck Bui - -- Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) - - 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d - -- Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch - - Upstream finally reverted it and it's part of both v245.7 and master. - -------------------------------------------------------------------- -Tue Jul 28 13:38:09 UTC 2020 - Richard Brown - -- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) - -------------------------------------------------------------------- -Wed Jun 24 06:33:33 UTC 2020 - Franck Bui - -- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) - - The marker is used to make sure the script is run only once. Instead - of storing it in /usr, use /var which is more appropriate for such - file. - - Also make it owned by systemd package. - -------------------------------------------------------------------- -Tue Jun 23 13:29:18 UTC 2020 - Franck Bui - -- Fix inconsistent file modes for some ghost files (bsc#1173227) - - Ghost files are assumed by rpm to have mode 000 by default which is - not consistent with file permissions set at runtime. - - Also /var/lib/systemd/random-seed was tracked wrongly as a - directory. - - Also don't track (ghost) /etc/systemd/system/runlevel*.target - aliases since we're not supposed to track units or aliases user - might define/override. - -------------------------------------------------------------------- -Fri Jun 19 09:59:29 UTC 2020 - Franck Bui - -- Include in the package version the stable minor (if any). - - Also update the version shown by various command such as 'systemctl - --version' to show the stable number. - -------------------------------------------------------------------- -Wed Jun 17 18:54:11 UTC 2020 - Franck Bui - -- Don't restart udevd sockets during package update - - Otherwise we might miss kernel events as the daemon need to be - stopped as well. - -------------------------------------------------------------------- -Wed Jun 17 09:03:40 UTC 2020 - Franck Bui - -- Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 - -------------------------------------------------------------------- -Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com - -- no longer explicitly package setgid directory /var/log/journal (bsc#1172550). - The bit will be set during %post by way of the systemd-tmpfiles invocation. - This avoids a conflict with the permissions package and an rpmlint error - popping up. - -------------------------------------------------------------------- -Fri May 29 14:32:41 UTC 2020 - Franck Bui - -- Fix build when resolved is disabled - - While at it sort the build conditionals. - -------------------------------------------------------------------- -Thu May 28 09:30:33 UTC 2020 - Franck Bui - -- Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 - - bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) - e9e8907b06 watchdog: reduce watchdog pings in timeout interval - 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) - 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) - -------------------------------------------------------------------- -Mon May 25 08:47:22 UTC 2020 - Franck Bui - -- Disable bump of /proc/sys/fs/nr-open - - Hopefully a _temporary_ workaround until bsc#1165351 is fixed - otherwise user instances crashes the system is using NIS (and the - nscd cache is empty). - -------------------------------------------------------------------- -Mon Apr 27 15:45:50 UTC 2020 - Franck Bui - -- Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good - - Since boo#1160890 has been fixed since a couple of months now. - -------------------------------------------------------------------- -Mon Apr 27 14:50:36 UTC 2020 - Franck Bui - -- Drop content of /usr/share/factory/ (bsc#1170146) - - systemd ships several files in /usr/share/factory/etc that are - copied to /etc in case those files are missing there. Unfortunately - the content does not match the openSUSE defaults. - -------------------------------------------------------------------- -Mon Apr 27 14:33:35 UTC 2020 - Franck Bui - -- Drop most of the tmpfiles that deal with generic paths (bsc#1078466 bsc#1181831) - - They are problematic because some of them conflict with SUSE - defaults. Therefore it seems better to let the revelant packages - owning these paths to provide their own definitions instead. - - Meanwhile we still keep the homeless definitions in suse.conf until - a better place is found for them. - - Drop 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch - Drop 0001-SUSE-policy-do-not-clean-tmp-by-default.patch - -------------------------------------------------------------------- -Fri Apr 24 07:38:48 UTC 2020 - Franck Bui - -- Drop %tmpfiles_create portables.conf from %post of networkd sub-package - - It was probably mistakenly added because systemd-portable served as - template for systemd-network. - -------------------------------------------------------------------- -Thu Apr 23 14:17:31 UTC 2020 - Franck Bui - -- Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) - - 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 - e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) - 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/c5aa158173ced05201182d1cc18632a25cf43b94...08cd65ac385c884ed6e4bd71128a0796f56ecd17 - -------------------------------------------------------------------- -Thu Apr 23 14:00:42 UTC 2020 - Franck Bui - -- Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch - - It's been merged in 'openSUSE-Factory' branch otherwise this branch - won't build anymore since meson has been upgraded to version 0.54 in - Factory. - -------------------------------------------------------------------- -Wed Apr 15 19:06:27 UTC 2020 - Franck Bui - -- Switch back to the hybrid hierarchy - - Unfortunately Kubernetes and runc are not yet ready for - cgroupsv2. Let's reconsider the unified hierarchy in a couple of - months. - -------------------------------------------------------------------- -Mon Apr 6 12:42:01 UTC 2020 - Franck Bui - -- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) - -------------------------------------------------------------------- -Mon Apr 6 10:02:33 UTC 2020 - Franck Bui - -- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch - -------------------------------------------------------------------- -Thu Mar 19 09:32:41 UTC 2020 - Franck Bui - -- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) - - d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page - 3c69813c69 man: add a tiny bit of markup - bf595e788c home: fix segfault when parsing arguments in PAM module - e110f4dacb test: wait a bit after starting the test service - e8df08cfdb fix journalctl regression (#15099) - eb3a38cc23 NEWS: add late note about job trimming issue - 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested - 1c7de81f89 format-table: allow hiding a specific column - b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= - 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) - [...] - -------------------------------------------------------------------- -Wed Mar 18 14:09:57 UTC 2020 - Franck Bui - -- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) - - See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (CVE-2020-1712) - - upstream commit 66a19d85a533b15ed32f4066ec880b5a8c06babd (bsc#1157315) - - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (bsc#1162108) - - The new tools provided by systemd repart, userdb, homed, fdisk, - pwquality, p11kit feature have been disabled for now as they require - reviews first. - - Default to the "unified" cgroup hierarchy. Indeed most prominent - users of cgroup (such as libvirt, kubic) should be ready for such - change. It's still possible to switch back to the old "hybrid" - hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to - the kernel command line though. - - Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: - upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been - reverted for now on as it introduced a behavior change which has - impacted plymouth at least. - -------------------------------------------------------------------- -Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca - -- add systemd-network-generator.service file together with systemd-network-generator binary - -------------------------------------------------------------------- -Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel - -- move html documentation to sparate package to save space -- move networkd and resolved binaries into correct subpackage - -------------------------------------------------------------------- -Thu Feb 6 14:15:01 UTC 2020 - Franck Bui - -- Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) - - 77c04ce5c2 hwdb: update to v245-rc1 - b4eb884824 Fix typo in function name - e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it - 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages - 5926f9f172 polkit: use structured initialization - 0697d0d972 polkit: on async pk requests, re-validate action/details - 2589995acd polkit: reuse some common bus message appending code - 5b2442d5c3 bus-polkit: rename return error parameter to ret_error - 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c - 1325dfb577 test: adapt to the new capsh format - 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 - 3034855a5b presets: "disable" all passive targets by default - c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value - 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease - 0ed6cda28d network: fix implicit type conversion warning by GCC-10 - f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf - ddc5dca8a7 sd-boot: fix typo - 2bbbe9ae41 test: Synchronize journal before reading from it - 072485d661 sd-bus: fix introspection bug in signal parameter names - 80af3cf5e3 efi: fix build. - [...] - -------------------------------------------------------------------- -Mon Feb 3 14:52:51 UTC 2020 - Franck Bui - -- Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) - -------------------------------------------------------------------- -Tue Jan 21 16:01:09 UTC 2020 - Franck Bui - -- Drop scripts-udev-convert-lib-udev-path.sh - - Nobody should need it these days. - -------------------------------------------------------------------- -Tue Jan 14 14:21:40 UTC 2020 - Franck Bui - -- Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks - - They're restored until YaST stop using them (see boo#1160890) - -------------------------------------------------------------------- -Tue Jan 14 13:56:31 UTC 2020 - Franck Bui - -- Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) - - 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change - cbced49daa man: fix typo in net-naming-scheme man page - 7dd04c99b0 network: tc: drop unused element - bf4b7d07ba man: fix typos (#14304) - 1ba2e7a730 ipv4ll: do not reset conflict counter on restart - 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() - c4c1600689 test-network: add a test case for SendOption= - 6f15b45949 network: fix segfault in parsing SendOption= - 2e531b830d seccomp: real syscall numbers are >= 0 - f7616ed52b network: fix copy and paste mistake - e8b53300c4 network: do not drop foreign config if interface is in initialized state - 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc - 4de1909e61 seccomp: use per arch shmat_syscall - d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute - 2c6568221a seccomp: fix multiplexed system calls - bcf0aa02bf Fix typo (duplicate "or") - 96d7083c54 network: if /sys is rw, then udev should be around - e874419902 nspawn: do not fail if udev is not running - 29c9144655 Create parent directories when creating systemd-private subdirs - 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled - c08429ae33 core: swap priority can be negative - f25c0be335 networkctl: fix to show BSSID - 65fd2fce59 systemctl: enhance message about kexec missing kernel - bdd0af5f81 Fixup typo in NEWS - -------------------------------------------------------------------- -Wed Dec 11 17:20:04 UTC 2019 - Franck Bui - -- Manually set system-uid-max and system-gid-max to 499 - - It used to be detected automatically by meson but it's been broken - by the migration of login.defs from /etc to /usr/etc. - -------------------------------------------------------------------- -Wed Dec 11 17:01:57 UTC 2019 - Franck Bui - -- Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e - - 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown - -------------------------------------------------------------------- -Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - -- Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) - - See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit b49e14d5f3081dfcd363d8199a14c0924ae9152f (bsc#1139459) - - upstream commit 22683674716fd0e5b016ce5a7d8fd90df5f9f9e7 (bsc#1151377) - - upstream commit faf205de3ba9a11b0ba17682123d7f3fedc7da24 (bsc#1151377) - - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) - - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) - - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) - - upstream commit bc9ecd484f1ebfe0de8b567c90f6cd867fbd5894 (bsc#1141597) - - Legacy and obsolete symlinks have been finally dropped. - - Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. - Users were notified about the deprecation of UserTasksMax option and - how to move to the new mechanism. The dropin replacement for - UserTasksMax is therefore no more generated but its use still - produces a warning. - - Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and - 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. - These patches were extracted from the git repo because it's not - clear where the SUSE tmpfiles specificities should be located. - -------------------------------------------------------------------- -Tue Dec 3 16:56:31 UTC 2019 - Franck Bui - -- Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 - - 1439d72a72 udevd: don't use monitor after manager_exit() - 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" - 152577d6d0 udevd: fix crash when workers time out after exit is signal caught - f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) - - Changes from the v243-stable (84 commits): - - e51d9bf9e5 man: add entry about SpeedMeter= - aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules - b9a619bb67 udevadm: ignore EROFS and return earlier - 1ec5b9f80c basic: add vmware hypervisor detection from device-tree - 7fa7080248 umount: be happy if /proc/swaps doesn't exist - [...] - 47d0e23d26 udev: fix memleak caused by wrong cleanup function - a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* - cb1d892f17 parse_hwdb: process files in order - -------------------------------------------------------------------- -Tue Nov 12 14:15:03 UTC 2019 - Franck Bui - -- Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 - - 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) - c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) - b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) - bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS - eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS - 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() - 2e297f0d87 shared/install: fix error codes returned by install_context_apply() - dd29d70d32 man: alias names can't be used with enable command - -------------------------------------------------------------------- -Tue Nov 5 10:56:54 UTC 2019 - Franck Bui - -- Fix %{_libexecdir} misuses of /usr/lib - -------------------------------------------------------------------- -Thu Oct 31 07:38:55 UTC 2019 - Franck Bui - -- Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch - - It's part of the previous import. - -------------------------------------------------------------------- -Thu Oct 31 07:32:47 UTC 2019 - Franck Bui - -- Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 - - 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) - 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore - -------------------------------------------------------------------- -Tue Oct 29 10:35:03 UTC 2019 - Franck Bui - -- Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b - - f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) - b37054aa5a compat-rules: escape '$' when used for shell expansion - - Changes from the v243-stable: - - ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel - 3f6398c450 docs: fix inadvertent change in uid range - 25bb377a73 cgroup: fix typo in BPF firewall support warning message - 6d97aca0d5 fix build with compilers with default stack-protector enabled - fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub - 0553c3c668 pid1: fix DefaultTasksMax initialization - f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p - 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV - 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment - 9d8e889810 nspawn: consistenly fail if parsing the environment fails - 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used - b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units - f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min - ea248e53bf cgroup: Check ancestor memory min for unified memory config - de1d25a506 cgroup: docs: memory.high doc fixups - 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} - 19a43dc38a Consider smb3 as remote filesystem - 5c0224c7bf Handle d_type == DT_UNKNOWN correctly - 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller - 9d0ae987a6 network: drop noisy log message - f67f0e4ec4 Updated log message when the timesync happens for the first time (#13624) - e151bf4674 units: make systemd-binfmt.service easier to work with no autofs - 2b8e574d82 Corect man page reference in systemd-nologin.conf comments - a0577353f1 man: Add a missing space in machinectl(1) - 693e983988 log: Add missing "%" in "%m" log format strings - ea7151b8c4 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist - b90549290e man: fix typo - -------------------------------------------------------------------- -Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns - -- Remove intltool BuildRequires, not needed since v237 -- Use python3-base BuildRequires instead of full python3 - -------------------------------------------------------------------- -Mon Oct 21 10:33:27 UTC 2019 - Franck Bui - -- Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) - - Added to the quaratine area to avoid uploading a new tar ball just - for that single change. It will be dropped during the next import. - -------------------------------------------------------------------- -Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel - -- don't package locales in -mini package - -------------------------------------------------------------------- -Fri Oct 4 14:26:59 UTC 2019 - Franck Bui - -- Import commit 428b937f917ae177f2315e8469800941885e441a - - 0026b58744 pid1: fix DefaultTasksMax initialization - -------------------------------------------------------------------- -Mon Sep 30 10:43:28 UTC 2019 - Franck Bui - -- Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) - - fab6f010ac dhcp6: use unaligned_read_be32() - f2d9af4322 dhcp6: add missing option length check - ccf797511e ndisc: make first solicit delayed randomly - f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option - 6dfbe58ee7 l10n: update Czech Translation - d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) - dbefe59259 polkit: fix typo - a321507476 sd-netlink: fix invalid assertion - 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet - dd83d58796 network: add missing link->network checks - b294305888 path: stop watching path specs once we triggered the target unit - 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) - d133bdd1fa po: update Brazilian Portuguese translation - 530e09b594 po: update Polish translation - 0c5c3e34c1 polkit: change "revert settings" to "reset settings" - 73e0f372d8 man: fix description of ARPIntervalSec= units - 5412cc54a1 hwdb: axis override for Dell 9360 touchpad - 9d4e658529 test: drop the missed || exit 1 expression - 7ed7ea82f6 udevadm: use usec_add() - 477bf86c91 udevadm: missing initialization of descriptor - 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() - a20a2157a8 core: coldplug possible nop_job - eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) - 1a3c53c06c core: Fix setting StatusUnitFormat from config files - 91db81e4dd network DHCP4: Dont mislead the logs. - 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 - 6823c907cf core: restore initialization of u->source_mtime - 29308bcc13 mount-setup: relabel items mentioned directly in relabel-extra.d - 8ca1e56165 Call getgroups() to know size of supplementary groups array to allocate - 5d84a7ad1c test: add test cases for empty string match - 1536348cc8 udev: fix multi match - 3ccafef0ad man: move TimeoutCleanSec= entry from .service to .exec - 8c0c30a820 zsh: udpate bootctl completions - 0556c247a2 resolved: fix abort when recv() returns 0 - 9a25d75520 man: remove repeated words - be3be29347 hwdb: Also mark lis3lv02d sensors in "HP" laptops as being in the base - 4b92ffccaa udev: also logs file permission - 75a2845e5a udev: add missing flag for OPTIONS=static_node - 19e9fc4262 network: do not abort execution when a config file cannot be loaded - 3e1267cf50 fileio: update warning message - 1b3156edd2 pstore: fix use after free - f500d2fa81 journal: Make the output of --update-catalog deterministic - 64d0f7042d travis: protect the systemd organization on Fuzzit from forks - 4247938ee1 hwdb: Mark lis3lv02d sensors in HP laptops as being in the base - 379158684a po: update Japanese translation - 31e1bbd1ca docs: fix push recipe in RELEASE.md - f06530d86b man/systemctl.xml: fix missing "not" - 22aba2b969 docs: fix typo in boot loader doc - 000e08ca70 pstore: fix typo in error message - directoy -> directory - f7f9c69ac5 Fix typo in comment: overide -> override - ca8ba8f8c0 po: update Polish translation - -------------------------------------------------------------------- -Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - -- Some files related to the portable stuff were missing some %exclude - -------------------------------------------------------------------- -Thu Sep 19 08:49:59 UTC 2019 - Martin Vidner - -- Allow YaST to select Iranian (Persian, Farsi) keyboard layout - (bsc#1092920) - -------------------------------------------------------------------- -Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel - -- split off networkd and resolved into separate network subpackage -- use separate lang package for translations - -------------------------------------------------------------------- -Wed Sep 18 12:17:37 UTC 2019 - Franck Bui - -- Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 - - fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) - dd14da3bb6 core: restore initialization of u->source_mtime - d62f30f647 resolved: create /etc/resolv.conf symlink at runtime - -------------------------------------------------------------------- -Wed Sep 18 11:33:16 UTC 2019 - Franck Bui - -- Slighly rework (mostly reorganization) the portable stuff - -------------------------------------------------------------------- -Fri Sep 6 06:20:11 UTC 2019 - Franck Bui - -- Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - in the git repo - - This patch has been in the quarantine area long enough, so let's - move it in the git repo. - -------------------------------------------------------------------- -Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - -- Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) - - See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit b2774a3ae692113e1f47a336a6c09bac9cfb49ad (CVE-2019-20386 bsc#1161436) - - upstream commit 5406c36844b35504a64e9f05fc74b8e5e5a09143 (bsc#1132400) - - upstream commit 83a32ea7b03d6707b8e5bb90a0b3a6eb868ef633 (bsc#1132721) - - upstream commit 7cc5ef5f1811c539ae7f20255c2a093f413cc64f (bsc#1172824 bsc#1142733) - - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) - - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) - - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) - - upstream commit 59c55e73eaee345e1ee67c23eace8895ed499693 (bsc#1177510) - - Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped - from branch SUSE/v243 while we were rebasing. - - Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as - this functionality had been deprecated during the previous release - and now have been dropped by upstream. - -------------------------------------------------------------------- -Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel - -- enable systemd-portabled - -------------------------------------------------------------------- -Wed Jul 31 14:38:13 UTC 2019 - Franck Bui - -- systemd-container creates and owns /etc/systemd/nspawn now - -------------------------------------------------------------------- -Mon Jul 22 15:29:51 UTC 2019 - Franck Bui - -- Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) - - 07f0549ffe network: do not send ipv6 token to kernel - 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS - 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) - 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs - eb6c17c178 util-lib: fix a typo in rdrand - 829c20dc8e random-util: rename "err" to "success" - 5442366fbf man: rework the description of Aliases and .wants/.requires directories - ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly - 09774a5fcb meson: make nologin path build time configurable - 69ffeeb0b1 man: add note about systemctl stop return value - 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot - 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" - 46f3db894b shared/conf-parser: be nice and ignore lines without "=" - 7d928995f7 nspawn: fix memleak in argument parsing - 7727e6c0ae resolve: fix memleak - 7f32a81976 journal: properly read unaligned le64 integers - fa419099e5 activate: move array allocation to heap - 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" - a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration - a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful - d9a5a70a59 factory: tighten PAM configuration - 5e2d3bf80b test: make sure colors don't confuse our test - 5fe3be1334 wait-online: change log level - c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue - 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= - 5964d1474e man: offline-updates: make dependence on system-update.target explicit - a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() - 7c46a694ca man: add example for setting multiple properties at once - 1d72789271 man: CPUShares= is so 2015 - 45da304673 man: document that WakeSystem= requires privs - bed58a06e4 man: document that "systemd-analyze blame/critical-chain" is not useful to track down job latency - c5461f31b3 man: be more explicit that Type=oneshot services are not "active" after starting - 455ee07abe man: document that the supplementary groups list is initialized from User='s database entry - 5f0cb2616a alloc-util: drop _alloc_(2, 3) decorator from memdup_suffix0_multiply() - 7bc336794d generator: downgrade Requires= → Wants= of fsck from /usr mount unit - 66465c4381 systemctl: allow "cat" on units with bad settings - ca937b49da pid1: fix serialization/deserialization of commmands with spaces - 4bb3113023 growfs: call crypt_set_debug_level() correctly, skip if not needed - 0db716771e cryptsetup: enable libcryptsetup debug logging if we want it - c8b9b3956f cryptsetup: set libcryptsetup global log callback too - 679b3f6b7f basic/log: fix SYSTEMD_LOG_* parsing error messages - 8d6b5158aa units: add SystemCallErrorNumber=EPERM to systemd-portabled.service - 6681fcd445 network: fix the initial value of the counter for brvlan - 853ec5f458 man: Add some notes about variable $prefix for StateDirectory= - e6d23358e9 sd-netlink: fix inverted log message - 6feb862407 blockdev: filter out invalid block devices early - 9f7c0dbc75 blockdev-util: propagate actual error - 3f5355bcb9 man: document tmpfiles.d/ user/group resolvability needs - c15b92cd98 man: fix wrong udev property name - 9768a900d6 meson: drop duplicated source - 15194f22ed cryptsetup-generator: fix luks-* entry parsing from crypttab - c2475390b4 core: skip whitespace after "|" and "!" in the condition parser - fdc754aeb7 shared/condition: fix printing of ConditionNull= - 572385e135 test: add testcase for issue #12883 - 9aa1edddb0 conf-parser: fix continuation handling - 8fbc72f45f networkd: fix link_up() (#12505) - -------------------------------------------------------------------- -Mon Jul 1 15:14:58 UTC 2019 - Franck Bui - -- State directory of systemd-timesync might become inaccessible after upgrading to v240+ (bsc#1137341) - - This happens for users who had previously used systemd-timesync with - DynamicUser=true, ie the ones who upgraded from a systemd version - between v235 and v239 to systemd v240 and later (v240 was the - version where DynamicUser was switched back to OFF). - -------------------------------------------------------------------- -Tue May 28 11:53:30 UTC 2019 - Franck Bui - -- Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 - - 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) - -------------------------------------------------------------------- -Tue May 28 09:51:30 UTC 2019 - Franck Bui - -- Add 0001-rc-local-generator-deprecate-halt.local-support.patch - - /etc/init.d/halt.local support will removed from the next systemd - version (v243) so for now on warn (hopefully the few) users who rely - on this script so they have a chance to switch to systemd-shutdown - interface. - -------------------------------------------------------------------- -Mon May 27 09:33:45 UTC 2019 - Franck Bui - -- Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) - - All remaining packages have been fixed so they don't rely on the - insser-generator to generate proper deps. So let's drop it as all - services should carry the proper dependencies itself. - -------------------------------------------------------------------- -Mon May 27 09:30:05 UTC 2019 - Franck Bui - -- Drop debug-only-remove-new-policies.patch - - The new DBUS methods have been reviewed by the security team. - -------------------------------------------------------------------- -Tue May 14 14:27:12 UTC 2019 - Franck Bui - -- Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 - - f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs - c90a2e9793 util-lib: fix a typo in rdrand - 4db1cc9d46 random-util: rename "err" to "success" - 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it - 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists - c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL - 298d13df7e network: remove redunant link name in message - 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series - 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" - fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist - 29d355e755 fstab-generator: Prevent double free of reused FILE* - f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp - 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size - 5240972d8d units: drop reference to sushell man page - 0a26de5e33 codespell: fix spelling errors - 582de105c8 nspawn-expose-ports: fix a typo in error message - -------------------------------------------------------------------- -Mon May 13 08:46:38 UTC 2019 - Franck Bui - -- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner (bsc#1145023) - - Otherwise the "post build checks" would complain and would force - systemd to own this directory. The owner should still be "polkit" - and the perms should be in sync with the perm set by polkit - itself. - -------------------------------------------------------------------- -Thu May 9 07:13:44 UTC 2019 - Franck Bui - -- Add debug-only-remove-new-policies.patch - - A temporary patch to suppress the new DBUS methods introduced by - v242 until they are reviewed and whitelisted by the secteam. - -------------------------------------------------------------------- -Thu May 9 07:11:08 UTC 2019 - Franck Bui - -- Add a comment explaining why static enablement symlinks in /etc are suppressed - - Also remove any /etc/systemd/system/*.requires/ symlinks for the - same reason. - -------------------------------------------------------------------- -Thu May 2 15:24:45 UTC 2019 - Franck Bui - -- preset remote-cryptsetup.target during package installation - - This target is supposed to be part of the targets that should be - enabled (or not depending on the presets) at package installation. - -------------------------------------------------------------------- -Thu May 2 13:12:23 UTC 2019 - Franck Bui - -- Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) - - See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3843) - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3844) - - upstream commit 37ed15d7edaf59a1fc7c9e3552cd93a83f3814ef (bsc#1124122) - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133506) - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133509) - - upstream commit 1f82f5bb4237ed5f015daf93f818e9db95e764b8 (bsc#1150595) - - upstream commit e55bdf9b6c5f72475b258a7a4585a0480551cb60 (bsc#1173422) - -------------------------------------------------------------------- -Wed Apr 24 07:23:44 UTC 2019 - Franck Bui - -- Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) - - The syntax of this directive is obsolete and should be replaced by - "#!BuildIgnore: post-build-checks". - - However there's no good reasons to disable these SUSE extra checks, - so let's re-enable them and fix the few errors it detected. - -------------------------------------------------------------------- -Fri Apr 12 14:13:54 UTC 2019 - Franck Bui - -- Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 - - 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) - 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL - 26c4f7191c bus: fix memleak on invalid message - -------------------------------------------------------------------- -Tue Mar 19 16:11:44 UTC 2019 - Franck Bui - -- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832 jsc#SLE-5933) - - This stack trace is logged to the journal. - -------------------------------------------------------------------- -Mon Mar 11 12:58:19 UTC 2019 - Franck Bui - -- Stop installing macros.systemd - - There're no points in installing this file if we remove it right - after. - -------------------------------------------------------------------- -Mon Mar 11 10:48:54 UTC 2019 - Franck Bui - -- Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) - -------------------------------------------------------------------- -Thu Mar 7 14:27:59 UTC 2019 - Franck Bui - -- Include the SUSE version along with the major version of systemd - - $ systemctl --version - systemd 241 (+suse.42.g15a1b4d58) - - Note that the SUSE version format maybe subject to change and as - such scripts should not try to parse it. - -------------------------------------------------------------------- -Wed Mar 6 14:59:22 UTC 2019 - Franck Bui - -- systemd-mini: explicitly disable some of the systemd components - - For some reasons, some build requirements get pulled in for the mini - variant now, enabling some parts of the code that were expected to - be turned OFF. - -------------------------------------------------------------------- -Tue Mar 5 17:51:02 UTC 2019 - Franck Bui - -- Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) - - This includes the following bug fixes: - - - upstream commit c0d76959080e3ba6534bce1c7053c750668e8b55 (bsc#1160595) - - upstream commit 7334ade4a7e103b1a01d1c8fe1ea7c7a854a1c31 (bsc#1123892) - - upstream commit c7e93c4d15019323973baf12daa76357c83892c4 (boo#1111498) - - This also includes the following bug fixes released in v240: - - - upstream commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 (boo#1111498) - - upstream commit 9eb0fc32d6cb63e71f2cfc1e7dd34c3ede4b48a3 (bsc#1140631) - - upstream commit 1432d2dbdfa90963272a9b581dc4b55dd3ac514f (bsc#1155574) - - upstream commit 26e35b164b8d0603629b3d394554cfa728e8c3e4 (bsc#1169488) - - upstream commit a9fc640671ef60ac949f1ace6fa687ff242fc233 (fate#325697) - -------------------------------------------------------------------- -Tue Feb 19 11:08:13 UTC 2019 - Franck Bui - -- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 - - 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) - 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) - b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) - -------------------------------------------------------------------- -Fri Feb 15 09:58:17 UTC 2019 - Franck Bui - -- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda - - 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed - 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts - a83e7b3b43 automount: don't pass non-blocking pipe to kernel. - 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) - a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) - 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) - 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() - c2c8333e0b strv: add new macro STARTSWITH_SET() - 1db243a601 Update systemd-system.conf.xml (bsc#1122000) - -------------------------------------------------------------------- -Tue Jan 15 09:04:47 UTC 2019 - Franck Bui - -- Import commit ad34cc45f63720ced69960dc66b47bddb146176d - - Import a bunch of fixes from stable/v239-stable: - - c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" - 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" - 5a48e92e06 test: Fix networkd test for an already running service - 36eae1688b Revert "timesyncd: enable DynamicUser=" - 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" - 23cfd15ce9 machinectl: fix verbosity of import-raw or friends - ba037daf29 Make bzip2 an optional dependency for systemd-importd - fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt - c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) - 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. - 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* - fcc699c093 network: update log message - a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW - 121c662eb8 man: add missing option for system.conf - 564341146e core: add missing option and drop nonexistent option in system.conf - 7082a3599f journal: add missing option in journald.conf - 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc - 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units - c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value - c5b1bef639 journal-gateway: explicitly declare local variables - 2361522ca6 analyze: actually select longest activated-time of services - 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM - aef660a4cf resolvconf: fixes for the compatibility interface - 06b3f54f50 install: fix error handling in is_symlink_with_known_name() - f70ab9a468 portable: fix error handling - d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() - 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno - 15d83e1138 bus-util: fix error handling - ba0a1f3384 core: free lines after reading them - -------------------------------------------------------------------- -Thu Jan 10 15:54:22 UTC 2019 - Franck Bui - -- Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 - - 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) - c3a8dc821b pam_systemd: reword message about not creating a session - 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off - -------------------------------------------------------------------- -Thu Jan 10 07:17:22 UTC 2019 - Franck Bui - -- Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 - - 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) - 61d569ab1b journal-remote: verify entry length from header - a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response - 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon - 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds - ac9e209710 journald: when processing a native message, bail more quickly on overbig messages - ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) - 35538171c2 coredump: fix message when we fail to save a journald coredump - cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX - 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) - 8d650a68d4 journald: remove unnecessary {} - b608f532a4 coredump: remove duplicate MESSAGE= prefix from message - 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) - e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" - d3ea69961f fs-util: rename safe_transition() into unsafe_transition() - 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE - d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met - 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() - -------------------------------------------------------------------- -Tue Dec 4 13:20:48 UTC 2018 - Franck Bui - -- Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 - - 4474878178 udev-builtin-kmod: adjust logging - 805534aff5 core: use the generic module_load() function - ac7e902530 shared/module-util: fix preexisting mixup with errno sign - 415aa40793 udev-builtin-kmod: use the generic module_load() function - 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared - 999b910752 core/kmod-setup: restore comments - 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT - 5ad8d374c5 terminal-util: introduce vt_release() helper - 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) - d4b5dbc033 terminal-util: introduce vt_restore() helper - 2e8af185f0 logind: make session_restore_vt() static - ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) - -------------------------------------------------------------------- -Fri Nov 23 13:30:03 UTC 2018 - Franck Bui - -- Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) - - "test -w" always returns true for root user even if the writable - mode bits are not set. Fix this by testing the file mode bit value - instead. - -------------------------------------------------------------------- -Fri Nov 23 11:50:19 UTC 2018 - Franck Bui - -- Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd - - This tool is not supposed to be run by users. - -------------------------------------------------------------------- -Fri Nov 16 10:31:42 UTC 2018 - Franck Bui - -- Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) - - f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) - 7165e92f4 tmpfiles: use fd_get_path() even less excessively - c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console - 621b78317 test: don't use "nobody:nogroup" for tests - 1f9c7acad tmpfiles: return correct error variable after fd_reopen() - 2236280c1 tmpfiles: reindent one comment less weirdly - f6bdfb889 tmpfiles: use correct error variable - bc75127cd tmpfiles: clarify that we ignore file attribute setting errors - 621c8b1fe tmpfiles: add log message where we previously failed silently - bc9229630 tmpfiles: use fd_get_path() less excessively - 5a1106039 tmpfiles: add more tests - c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() - e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() - 7480154d0 tmpfiles: make create_fifo() safe - eb890962c fs-util: introduce mkfifoat_atomic() helper - 653bb81af fileio: make tempfn_random_child() accept empty string as path - 2b1e12bfe tmpfiles: introduce create_fifo() - 6dd80f289 tmpfiles: introduce empty_directory() - f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe - 6a76f6dfb basic/stat-util: introduce is_dir_fd() - 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation - 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() - 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers - 390b767da selinux: introduce mac_selinux_create_file_prepare_at() - 0f72fadba smack: introduce mac_smack_fix_at() - f2838154b tmpfiles: introduce create_directory_or_subvolume() - 2de697fb8 tmpfiles: make create_device() safe - 558c5fec7 tmpfiles: introduce create_device() - dee986b1d tmpfiles: make copy_files() safe - cacb14d3f tmpfiles: introduce copy_files() routine - 81c85ce17 tmpfiles: make write_one_file() safe - 9ec6b92ab tmpfiles: make truncate_file() safe - 8dde36e03 tmpfiles: introduce truncate_file() which deals with 'F' exclusively - 481134a93 tmpfiles: introduce create_file() which deals with 'f'/'F' exclusively - 057861560 tmpfiles: make the stat struct parameter in fd_set_*() optional - f37caffda tmpfiles: stat file in item_do() rather than in its callers - 86f1362d4 tmpfiles: set only default acls to folders #9545 (#9599) - -------------------------------------------------------------------- -Fri Nov 9 10:37:21 UTC 2018 - Franck Bui - -- Make systemd-mini-sysvinit provides systemd-sysvinit - - Some packages (such as shepherd-bins) want to conflicts with - systemd-sysvinit: they should also conflict with - systemd-mini-sysvinit. - -------------------------------------------------------------------- -Wed Nov 7 08:45:08 UTC 2018 - Franck Bui - -- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch - - We have to keep support for UserTasksMax= for a while before - dropping it. This patch is supposed to do that and also to make - users aware of this change. It also hints how to configure that - differently. - -------------------------------------------------------------------- -Wed Nov 7 07:05:31 UTC 2018 - Franck Bui - -- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 - - 7d1e04e85 units: use =yes rather than =true everywhere - 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice - a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot - 30c6842c3 units: set StopWhenUnneeded= for the user slice units too - e74de046e login: fix typo in log message - -------------------------------------------------------------------- -Mon Nov 5 13:10:54 UTC 2018 - Franck Bui - -- Own %{_libexecdir}/modules-load.d (again) - - This was incorrectly dropped during the split of the SUSE specific - configurations. - -------------------------------------------------------------------- -Fri Nov 2 14:17:34 UTC 2018 - Franck Bui - -- Drop a Conflicts: in systemd-coredump - - It not needed anymore since the mini variant of systemd-coredump is - not built anymore. - -------------------------------------------------------------------- -Fri Nov 2 13:54:36 UTC 2018 - Franck Bui - -- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d - - 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true - 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) - ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit - 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) - e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails - 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) - 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) - -------------------------------------------------------------------- -Fri Nov 2 13:51:46 UTC 2018 - Franck Bui - -- Make systemd-coredump sub-package optional - - and don't build the mini variant. - -------------------------------------------------------------------- -Fri Nov 2 12:02:18 UTC 2018 - Franck Bui - -- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages - - "-mini" is already part of the name of the main package so there's - no need to append it again for those sub packages. It's only needed - when the name of a subpackage is completely redefined, IOW when '-n' - option is used with the %package directive. - -------------------------------------------------------------------- -Fri Nov 2 11:08:27 UTC 2018 - Franck Bui - -- Dont ship /usr/sbin/resolvconf symlink for now - - It conflicts with the bin shipped by openresolv and provides - limited compat only. - -------------------------------------------------------------------- -Wed Oct 24 10:07:36 UTC 2018 - Franck Bui - -- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) - - This includes the following bug fixes: - - - upstream commit 0722b359342d2a9f9e0d453875624387a0ba1be2 (bsc#1045723) - - upstream commit 2f2e14b251b9929e84e8b690d0187b766dfbae20 (bsc#1124122) - - upstream commit c839b729c5f7b08f6d91bf9567d0b1f91d17e0f7 (bsc#1155207) - - upstream commit 8eebb6a9e5e74ec0ef40902e2da53d24559b94a4 (bsc#1168076) - - This also includes the following bug fixes released in v238: - - - upstream commit e8a3144ec4ff332bd63644e468a98e1a7e06e7e4 (bsc#1112024) - - upstream commit 4d219f5343b1924e7c519c2c178aeb5d1a5ab924 (bsc#1123727) - - upstream commit 43b7f24b5e0dd048452112bfb344739764c58694 (bsc#1146991) - - upstream commit bf443be99565e4327f1c8c12b79d98b4c1529cf1 (bsc#1156213) - -------------------------------------------------------------------- -Mon Oct 15 16:23:05 UTC 2018 - Franck Bui - -- Ship systemd-sysv-install helper via the main package - - This script was part of systemd-sysvinit sub-package but it was - wrong since systemd-sysv-install is a script used to redirect - enable/disable operations to chkconfig when the unit targets are - sysv init scripts. Therefore it's never been a SySV init tool. - - While at it, don't ship this script (as well as - systemd-sysv-convert) when sysvcompat is not defined. - -------------------------------------------------------------------- -Mon Oct 15 15:01:48 UTC 2018 - Franck Bui - -- Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 - - 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option - 479b002083 core: add missing 'continue' statement - c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) - f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) - 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) - -------------------------------------------------------------------- -Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com - -- Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae - - f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell - b8bbb50634 man: document that 'nofail' also has an effect on ordering - a5410b2229 journald: take leading spaces into account in syslog_parse_identifier - b793c312c7 journal: do not remove multiple spaces after identifier in syslog message - f9595f0481 syslog: fix segfault in syslog_parse_priority() - d464f06934 journal: fix syslog_parse_identifier() - e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) - -------------------------------------------------------------------- -Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com - -- split off SUSE specific udev rules from systemd package (fate#325478) - * remove 60-io-scheduler.rules - * remove 80-hotplug-cpu-mem.rules - * remove 99-wakeup-from-idle.rules - * remove /usr/lib/modules-load.d/sg.conf (see bsc#1036463 for details) - - these are now maintained in the new package system-tuning-common-SUSE - -------------------------------------------------------------------- -Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com - -- Enable or disable machines.target according to the presets (bsc#1107941) - -------------------------------------------------------------------- -Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com - -- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 - - 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) - 3986c4d82 units: make sure user@.service runs with dbus still up - 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) - 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) - -------------------------------------------------------------------- -Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com - -- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 - - 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) - 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) - cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) - -------------------------------------------------------------------- -Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com - -- Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 - - 8983bd246 core: don't include libmount.h in a header file (#8580) - 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) - 42edc93ac core/service: rework the hold-off time over message - -------------------------------------------------------------------- -Wed Aug 1 12:19:40 UTC 2018 - fbui@suse.com - -- Enable regexp matching support - - Currently only used by "journalctl --grep=xxx". - -------------------------------------------------------------------- -Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com - -- Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a - - fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) - 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) - 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) - 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) - 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) - 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files - -------------------------------------------------------------------- -Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com - -- Drop runtime dependency on dracut (bsc#1098569) - - Otherwise systemd pulls in tools to generate the initrd even in - container/chroot installations that don't have a kernel anyways. - - For environments where initrd matters, dracut should be pulled via a - pattern. - -------------------------------------------------------------------- -Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com - -- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 - - 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) - e4402648c Fix pattern to detect distribution - ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) - b1876c81a rpm: remove confusing --user before --global - 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) - a9b587e2f fileio.c: fix incorrect mtime - -------------------------------------------------------------------- -Tue Jun 12 13:38:23 UTC 2018 - fbui@suse.com - -- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) -- Ship systemd-resolved (but disabled by default) (bsc#1018387) - -------------------------------------------------------------------- -Fri May 18 08:39:41 UTC 2018 - fbui@suse.com - -- Disable user units by default (bsc#1090785) - -------------------------------------------------------------------- -Mon May 14 08:57:44 UTC 2018 - fbui@suse.com - -- Slight rewrite of the previous fix - -------------------------------------------------------------------- -Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com - -- align permissions of /etc/machine-id to upstream code (bsc#1092269) - world writeable machine-id is a security issue - -------------------------------------------------------------------- -Mon Apr 23 14:05:37 UTC 2018 - fbui@suse.com - -- Move 80-container-v[ez].network in systemd-container sub-package - -- Move 80-container-host0.network from udev to systemd - -------------------------------------------------------------------- -Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com - -- Import commit d8196805089566ecd846b7c627ff2f3c42588c50 - - 621b247f3 device: skip deserialization of device units when udevd is not running - a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) - 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) - 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) - -------------------------------------------------------------------- -Fri Apr 20 08:27:41 UTC 2018 - fbui@suse.com - -- Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) - - Previously this symlink was created in /etc/sysctl.d during %post - which made the symlink not owned and more importantly it was created - only if /etc/sysctl.conf is already installed which is not always - the case during the installation process it seems. - - So ship the symlink unconditionally and put it in /usr/lib/sysctl.d - instead since it's a distro default behavior that might be overriden - by sysadmin later. - -------------------------------------------------------------------- -Mon Apr 9 09:42:16 UTC 2018 - fbui@suse.com - -- Be consistent in 60-io-scheduler.rules - - And use "?*" when checking for the non empty string (instead of "*?"). - -------------------------------------------------------------------- -Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com - -- /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) - -------------------------------------------------------------------- -Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com - -- Drop systemd-bash-completion sub-package - - Now we directly ship the completion scripts from the main package as - we already do for zsh. I couldn't see any advantages in this split. - -------------------------------------------------------------------- -Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com - -- Be more accurate when specifiying the tools version we provide - -------------------------------------------------------------------- -Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com - -- Make sure rpm won't expand %autopatch even if it's commented - -------------------------------------------------------------------- -Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com - -- stat(1) as well as systemctl are not use in %post section of udev - - So remove stat(1) from the list of dep and move systemctl to the - requirements of %postun since it's called from there. - -------------------------------------------------------------------- -Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com - -- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e - - e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) - fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) - 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() - c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow - 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) - 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) - -- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch - - It's been merged in the git repo. - -------------------------------------------------------------------- -Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com - -- Rename the tarball (bsc#1087323) - - So it's clear that it contains some additional patches on top of the - upstream version. Use the commit hash in the name so the exact - version can easily be identified. - - Provide _service file which can be used to retrieve the tarball from - the git repo (with "osc service disabledrun"). - -------------------------------------------------------------------- -Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - -- Split systemd-coredump sub-package off (bsc#1083849) - -------------------------------------------------------------------- -Tue Mar 27 20:14:41 UTC 2018 - develop7@develop7.info - -- Enhance IO scheduler tweaking rules to support blk-mq as well - - * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and - SSD respectively) - * Explicitly set CFQ for rotational disks when no `elevator` - is specified - * Verbose comments explaining what is going on - * Rename the rules file since it is not ssd-only anymore - -------------------------------------------------------------------- -Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com - -- Don't ship machines.target in systemd-container but in systemd main package - - machines.target is supposed to be a standard target for - starting/stopping all containers. systemd-nspawn is the main user of - it but other container managers could also make use of it. - -------------------------------------------------------------------- -Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com - -- Build a mini variant of systemd-container - - So we don't have to manually track and remove all files that should - be shipped by systemd-container in the case of a bootstrap build. - -------------------------------------------------------------------- -Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com - -- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) - - This is needed when we upgrade from SLE11. - -------------------------------------------------------------------- -Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com - -- Add 0001-basic-macros-rename-noreturn-into-_noreturn_.patch - - This fix a build error triggered by the introduction of the new - version of libgpg-error package. Patch submitted to upsream: - https://github.com/systemd/systemd/pull/8456 - -------------------------------------------------------------------- -Wed Mar 14 08:05:07 UTC 2018 - fbui@suse.com - -- Turn off the IP sandboxing for systemd-logind - - Since v235 logind run inside an IPv4/IPv6 sandbox by default. This - creates incompatibilites for systems using NIS. - -------------------------------------------------------------------- -Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com - -- Restore (maybe temporarly) "pam_config --add systemd" - - During its installation pam-config seems to overwrite the defaults - shipped by "pam" for "some" reasons (see bsc#1084924) - - No idea why but since pam_systemd is not part of the "pam-config" - defaults, we need to restore pam_systemd in common-session - manually... - -------------------------------------------------------------------- -Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com - -- Remove dropin that was used to turn delegation off for user instances - - Upstream now enables "memory" and "pids" controllers only which - should have a very limited impact on performance compare to the - "cpu" controller. - -------------------------------------------------------------------- -Fri Mar 9 09:30:14 UTC 2018 - fbui@suse.com - -- Import commit 46d6bc9c4f1c05f3b4fcfca754cc59963bd86ce3 - - 2a79f4e78 units: delegate "memory" instead of "cpu" by default for user instances (#8320) (bsc#954765 bnc#953241 fate#320421) - 88174ae85 compat-rules: fix syntax errors spotted by test/rule-syntax-check.py - -------------------------------------------------------------------- -Thu Mar 8 15:22:10 UTC 2018 - fbui@suse.com - -- Remove udev-remount-tmpfs script - - Complete the previous commit. - -------------------------------------------------------------------- -Thu Mar 8 14:31:16 UTC 2018 - fbui@suse.com - -- Fix hotplug memory in 80-hotplug-cpu-mem.rules - - When new memory was hotplugged, the rule was supposed to call an - external script (udev-remount-tmpfs) to remount all tmpfs. However - the script was broken since its introduction (commit rev=715, - 14/07/2014) and had no effects... this makes me wonder if we - shouldn't get rid of this... - -------------------------------------------------------------------- -Wed Mar 7 14:34:22 UTC 2018 - fbui@suse.com - -- Make sure /var/lib/machines is created when systemd-container is installed - -------------------------------------------------------------------- -Thu Mar 1 10:43:09 UTC 2018 - fbui@suse.com - -- BS forces us to own %{_prefix}/lib/modprobe.d - - This seems wrong but that's how the SUSE BS works. - -------------------------------------------------------------------- -Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com - -- Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c) - - Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have - been removed from the git repo and are now maintained at the package - level. Those rules have been rejected by upstream as they seem to be - written to workaround some kernel shortcomings... - - This includes the following bug fix: - - - upstream commit 3d083b2245b0b8e52f2d8ccc3e55246f41f1f544 (bsc#1102908) - - This also includes the following bug fixes released in v235: - - - upstream commit 2e64e8f46d726689a44d4084226fe3e0ea255c29 (bsc#1069239) - - upstream commit 79873bc850177050baa0c5165b119adafeebb891 (bsc#1069239) - - upstream commit 4bc5d27b942afa83cc3d95debd2ad48d42ac07a8 (bsc#1089376) - - upstream commit e9ea4526a3a3b41eced29b8d742498cc36750424 (bsc#1089693) - - upstream commit d75b31837c93dbb9b20067719026ad0fb7cdfadd (bsc#1117025) - - upstream commit 0e8856d25ab71764a279c2377ae593c0f2460d8f (bsc#1117025) - - upstream commit 048dd629c4590eefb2ebd6a316c7350ed3a6ff19 (bsc#1119971) - - upstream commit 9b32afa9f241fe8febc0a754850f1e7331caf6e3 (bsc#1126056) - - upstream commit e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af (bsc#1137053) - - upstream commit 0864d311766498563331f486909a0d950ba7de87 (bsc#1158336) - - upstream commit d60cb656fc63c24b430421764b7d0322857d34fd (bsc#1161262) - - upstream commit e2be442e791fa1150aa835c684acc6d7189de3e1 (bsc#1165011) - - upstream commit 64a36ae4b1dd23474dd7ea261381ac437b24fac2 (bsc#1172072) - - upstream commit b001ad61e91b6499897f0c977045c7608c233bfa (jsc#SLE-7687) - - - includes IP filtering feature (jsc#SLE-7743) - - This also includes the following bug fixes released in v236: - - - upstream commit b3b4ebab02395933cde554b5a5d5c363dae3920d (bsc#1083571) - - upstream commit 3e3852b3c6c61506963112fd218a86b673fc61e6 (bsc#1110445) - - upstream commit 4050e4797603d3644707d58edfd9742b5311c7cf (bsc#1124153) - - upstream commit 8cb83266062b383cdd4a57301ef559d64b491c51 (bsc#1125604) - - upstream commit 19a44dfe4525ab01caf593a9c2beada4b412910d (bsc#1156482) - -------------------------------------------------------------------- -Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com - -- add basic user space support for suspend to idle (fate#323814) - add 99-wakeup-from-idle.rules - Currently this only covers the power button and usb/AT keyboards - as wakeup devices. It is planned to make that configurable in - the future. - -------------------------------------------------------------------- -Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com - -- Don't call "pam-config --systemd" - - pam_systemd.so has been integrated directly in the PAM stack since - bsc#812462. So there's no need to call pam-config. - -------------------------------------------------------------------- -Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com - -- Fix build errors due to the split-off of systemd-containe: - - found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: - - /usr/share/man/man5/systemd.nspawn.5.gz - - /usr/share/man/man1/systemd-nspawn.1.gz - found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: - - /usr/bin/systemd-nspawn - - /usr/lib/systemd/system/systemd-nspawn@.service - - /usr/lib/tmpfiles.d/systemd-nspawn.conf - -------------------------------------------------------------------- -Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com - -- Use %license (boo#1082318) - -------------------------------------------------------------------- -Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com - -- Split systemd-container sub-package off (fate#325469) - - Other distros already do it and it seems a good idea to not install - this stuff on new installations by default. At least - /var/lib/machines subvol is not created anymore at boot even if it - wasn't used at all. - -------------------------------------------------------------------- -Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com - -- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 - - f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules - 2901aa9b9 meson: install rules/60-ssd-scheduler.rules - 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) - 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" - 0b595da04 Revert "locale-setup: handle locale at boot time well" - -------------------------------------------------------------------- -Mon Feb 19 14:24:52 UTC 2018 - fbui@suse.com - -- Re-enable systemd-firstboot - - It's used by the installer and also by JeOS. - -------------------------------------------------------------------- -Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com - -- Use %systemd_post in %post - -------------------------------------------------------------------- -Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com - -- Own /usr/lib/systemd/system-environment-generators directory - -------------------------------------------------------------------- -Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com - -- More systemd rpm macro usages - -------------------------------------------------------------------- -Tue Feb 13 17:11:44 UTC 2018 - fbui@suse.com - -- Disable systemd-firstboot - - I don't think there's any use case for it currently. - -------------------------------------------------------------------- -Mon Feb 12 16:40:28 UTC 2018 - fbui@suse.com - -- Use systemd rpm macros in paths defined in the specfile - -------------------------------------------------------------------- -Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com - -- Stop importing i18n settings from /etc/sysconfig (fate#319454) - - Bits taken from SLE15. - -------------------------------------------------------------------- -Mon Feb 12 12:59:53 UTC 2018 - fbui@suse.com - -- Make systemd-timesyncd use the openSUSE NTP servers by default - - Previously systemd-timesyncd used the Google Public NTP servers - time{1..4}.google.com - -------------------------------------------------------------------- -Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com - -- Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 - - db1d8eacd compat-rules: make path_id_compat build with meson - -- Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch - which is now part of the git repo (see above). - -------------------------------------------------------------------- -Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com - -- Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) - - The previous fix couldn't work on platforms using a RO - rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but - we still ship a copy in /usr/share/systemd. - - Users who want to use tmpfs on /tmp are supposed to add a symlink in - /etc/ pointing to the copy shipped in /usr/share/systemd. - - To support the update path we automatically create the symlink if - tmp.mount in use is located in /usr/lib/systemd. - -------------------------------------------------------------------- -Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com - -- Don't build seccomp support in the mini package - -------------------------------------------------------------------- -Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com - -- Switch to Meson build system - - Some rearrangement in the file list was also needed. That was - probably due to the upgrade of rpm. - -------------------------------------------------------------------- -Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com - -- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 - - 2a181fc6f insserv-generator: make it build with meson - 7b0401da4 build-sys: don't build networkctl if networkd is disabled - -------------------------------------------------------------------- -Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com - -- Don't build-require selinux for the mini package - -------------------------------------------------------------------- -Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com - -- Drop libgcrypt.m4 - - The mini package builds fine without it so it doesn't seem necessary - anymore. - -------------------------------------------------------------------- -Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com - -- Import commit 846d838c37865da60eba48090e570e959291399f - - b1e0a348d fileio: include sys/mman.h - f1fa784cb meson: update header file to detect memfd_create() - 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) - 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" - - (the 3 first commits make systemd build against glibc 2.27) - -------------------------------------------------------------------- -Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com - -- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 - - 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" - 23ce1207a meson.build: make docdir configurable (#8068) - -------------------------------------------------------------------- -Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com - -- Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 - - 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) - 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) - -------------------------------------------------------------------- -Fri Feb 2 08:44:57 UTC 2018 - fbui@suse.com - -- Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch - - It's been imported in branch "compats/udev-compat-symlinks" which - has been merged in branch "openSUSE-Factory" in its turn. - -------------------------------------------------------------------- -Fri Feb 2 08:17:41 UTC 2018 - fbui@suse.com - -- Import commit c516268845b0fd0683cef2e491b84077371e8f01 - - 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) - 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() - -------------------------------------------------------------------- -Fri Feb 2 08:14:03 UTC 2018 - fbui@suse.com - -- Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch - - It's been merged in branch "SUSE/v234". - -------------------------------------------------------------------- -Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com - -- Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 - - 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) - 8c2bcac25 tmpfiles: change ownership of symlinks too - -------------------------------------------------------------------- -Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com - -- Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) - - This was done to make sure that tmpfs wouldn't be used for /tmp by - defaut in case the dir layout created by the installer did not - create a customized tmp.mount. - - But it had the bad side effect to break "rpm -V systemd" and updates - of systemd via delta-RPMs. - - Now instead of removing tmp.mount unit file, we mask it (still only - if no other tmp.mount would override the default one). It's the - official way to disable tmpfs on /tmp after all. - - Since we cannot rely on the presence of fstab during package - installations, we introduced a service which is run once on the - first boot and which figures out if tmpfs would be used. If so it - masks the unit. - - We also handle the upgrade path and make sure to preserve admin's - settings (if any). - - Another advantage of this is that we will only need to remove the - introduced service the day when tmpfs will be the default for SUSE - distros. - -------------------------------------------------------------------- -Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com - -- Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 - - 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) - 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) - -------------------------------------------------------------------- -Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com - -- Import commit cc94ce8513221061898c83f57862544b16021f0e - - aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX - b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) - 77c5065f9 delta: check if a prefix needs to be skipped only once - db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) - 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) - 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) - 3a95f69bf tmpfiles: downgrade warning about duplicate line - -------------------------------------------------------------------- -Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com - -- Edit scripts-systemd-fix-machines-btrfs-subvol.sh - - We shouldn't be creating a /var/lib/machines subvolume if /var is - already a seperate partition or subvolume. /var/lib/machines will - already be excluded from snapper & similar tooling in this case. - -------------------------------------------------------------------- -Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com - -- Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee - - 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) - 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) - 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) - 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) - 4dbea654f def: add new constant LONG_LINE_MAX - 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement - 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV - 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) - a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) - fe56abdf9 seccomp: arm64/x32 do not have _sysctl - c9194fe37 seccomp: arm64 does not have mmap2 - 31d9b3c32 fs-util: small tweak in chase_symlinks() - 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found - 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) - -------------------------------------------------------------------- -Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net - -- Add missing /etc/systemd/network directory - -------------------------------------------------------------------- -Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com - -- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 - - 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) - -------------------------------------------------------------------- -Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com - -- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) - - This patch is not yet merged in the 'compats/udev-compat-symlinks' - branch: we asked to upstream if it would be possible to introduce a - new specifier that wouldn't strip trailing whitespaces , see - https://github.com/systemd/systemd/issues/7462 - - Also this allows to give the patch more testing before merging it in - the git repo. - -------------------------------------------------------------------- -Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com - -- Drop a useless rm(1) from the specfile - -------------------------------------------------------------------- -Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de - -- Remove requires for pwdutils, we don't need the shadow tools - anymore [bsc#1069150] - -------------------------------------------------------------------- -Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com - -- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b - - 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) - 216beb768 tmpfiles: Allow create symlink on directories (#6039) - baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) - -- Remove stderr redirection to /dev/null when calling %tmpfiles_create - since it's not needed anymore due to commit 22dcb1d04. Indeed the - messages are no more emitted at LOG_WARN but LOG_NOTICE. - -------------------------------------------------------------------- -Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com - -- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c - - 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) - 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) - -- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since - it's been merged upstream and backported to SUSE/v234 (see above). - -------------------------------------------------------------------- -Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com - -- Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d - - a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) - d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) - -------------------------------------------------------------------- -Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com - -- Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) - - Temporary patch until it's been merged by upstream, see - https://github.com/systemd/systemd/pull/7035 - -------------------------------------------------------------------- -Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com - -- Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in - the spec file - -------------------------------------------------------------------- -Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com - -- Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 - - 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) - - This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch - not needed anymore. - -------------------------------------------------------------------- -Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com - -- Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde - - c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline - -------------------------------------------------------------------- -Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com - -- Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 - - 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson - 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) - -------------------------------------------------------------------- -Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com - -- Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a - - 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on - dd6312828 logind: make sure we don't process the same method call twice (#6583) - -------------------------------------------------------------------- -Tue Sep 26 09:27:12 UTC 2017 - fbui@suse.com - -- Update scripts-systemd-upgrade-from-pre-210.sh script - - - drop dependency on awk - - fallback to runlevel #3 if something goes wrong - - Note: I'm not sure how this is supposed to work as /etc/inittab is - likely to be missing in my understanding. Indeed this file is part - of the aaa_base package which might be upgraded before systemd is - installed... - -------------------------------------------------------------------- -Tue Sep 26 08:08:22 UTC 2017 - fbui@suse.com - -- Drop macros.systemd.upstream as it's not used - -------------------------------------------------------------------- -Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com - -- Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d - - 334945091 shutdown: fix incorrect fscanf() result check (#6806) - 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) - bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) - d9d293847 util: make get_block_device() available - 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) - ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) - -------------------------------------------------------------------- -Thu Sep 14 16:12:30 UTC 2017 - fbui@suse.com - -- Make use of "%tmpfiles_create" in %post of the logger subpackage - -------------------------------------------------------------------- -Thu Sep 14 15:51:54 UTC 2017 - fbui@suse.com - -- Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) - - This script takes care of converting /lib/udev into a symlink - pointing to /usr/lib/udev when upgrading a distro using an old - version of udev. - -------------------------------------------------------------------- -Thu Sep 14 12:23:26 UTC 2017 - fbui@suse.com - -- Make use of "%make_build" rpm macro - -------------------------------------------------------------------- -Thu Sep 14 12:18:21 UTC 2017 - fbui@suse.com - -- Renumber scripts to start at index 100 - -------------------------------------------------------------------- -Thu Sep 14 11:32:28 UTC 2017 - fbui@suse.com - -- Introduce scripts-systemd-upgrade-from-pre-210.sh - - It collects all existing hacks done in %post to fix old/deprecated - settings in systemd older than 210. This includes hacks needed to - fix system that are migrating from SysV. - - There shouldn't be any functional changes. - -------------------------------------------------------------------- -Thu Sep 14 11:06:35 UTC 2017 - fbui@suse.com - -- Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts - - It also renames fix-machines-subvol-for-rollbacks.sh into - scripts-systemd-fix-machines-btrfs-subvol.sh - - Note that the "scripts-systemd-" prefix is used for those scripts so - we can gather them. Why not using a directory instead ? because osc - doesn't allow that. - -------------------------------------------------------------------- -Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com - -- Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) - - It's a temporary but urgent fix for a regression discovered in bug - 1048605. The fix is still under discussion with upstream but we need - to make progress here and limit the number of affected users. - - Consequently this fix reintroduces bsc#1004995 (the bug report has - been re-opened) but this one is far less critical and a workaround - was provided. - - The final solution will fix both bugs. - -------------------------------------------------------------------- -Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com - -- Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 - - 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) - -------------------------------------------------------------------- -Tue Aug 1 13:39:41 UTC 2017 - fbui@suse.com - -- %regenerate_initrd_post is suppsed to be used in %post (not %pre) section - -------------------------------------------------------------------- -Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com - -- Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea - - 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 - -------------------------------------------------------------------- -Fri Jul 28 13:06:27 UTC 2017 - fbui@suse.com - -- Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc - - 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) - -------------------------------------------------------------------- -Thu Jul 27 16:55:33 UTC 2017 - fbui@suse.com - -- Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev - - I don't remember why it was added but it looks unnecessary: most of - all systemd components are linked againt libsystemd-shared.so which - includes all the just built symbols. - - Also I don't see why it was done only for systemd-cryptsetup since - all other binaries should have had suffered from the same issue. - -------------------------------------------------------------------- -Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com - -- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 - - 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) - -------------------------------------------------------------------- -Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com - -- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b - - 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled - 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" - -------------------------------------------------------------------- -Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com - -- Drop support of compression from the mini package - - Hence remove the relevant build-requires from the mini package. - -------------------------------------------------------------------- -Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com - -- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) - - - package /etc/systemd/system/dbus-org.freedesktop.network1.service - - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled - -------------------------------------------------------------------- -Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de - -- Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* - -------------------------------------------------------------------- -Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com - -- Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) - - Temporary patch to disable the session keyring stuff as it's - currently broken and may introduce some security holes. - -------------------------------------------------------------------- -Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com - -- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad - - 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) - d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly - f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) - e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) - c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) - 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab - f07d2022f fstab-util: introduce fstab_has_fstype() helper - bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() - a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) - 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) - 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) - 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case - 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) - a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) - -------------------------------------------------------------------- -Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com - -- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) - - While at it, the handling of the symlink priorities is also removed - since it doesn't appear to be used at all. - -------------------------------------------------------------------- -Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com - -- Don't try to restart networkd/resolved if they're disabled (boo#1045521) - - "systemctl try-restart/preset" wants the unit files exist. - -------------------------------------------------------------------- -Thu Jun 22 13:50:46 UTC 2017 - fbui@suse.com - -- Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) - - Ok looks like the previous change was the right thing to do and we - continue to follow this path by relying on the new user/group scheme - - Therefore the basic system user/group are now managed and created by - system-sysusers and udev also relies on this for the groups it uses - in its rule files. - - Ideally we should have listed all of the groups in the deps (with - "Requires: group(disk)" but the list of the groups is rather long - and the risk for those groups to be re-organized is probably low, so - currently we simply use "Requires: system-group-hardware" as a - shortcut. - -------------------------------------------------------------------- -Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com - -- Make sure "lock" group is created - - On SUSE distros, /run/lock must be owned by "lock" group (see - boo#733523). - - This group was previously created by another package but since a - recent changes it doesn't seem to be true anymore or at least this - package isn't pulled in anymore when building the rescue system. - - For now make systemd creates the group by adding - "Requires: group(lock)". - - I'm currently not sure why we don't use sysusers.d stuff for that - purpose and if the "lock" group on /run/lock is still - mandatory. This should be revisited later. - -------------------------------------------------------------------- -Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com - -- Make sure dracut (if installed) will embed the new compat rule - - The new compat rule must be embedded in the initramfs so make sure - that the installed dracut supports it. - -------------------------------------------------------------------- -Wed May 24 11:23:10 UTC 2017 - fbui@suse.com - -- Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) - - - package new systemd-umount binary - - package new environment generator stuff - - drop /dev/root symlink support - - /etc/pam.d/systemd-user is not patched anymore but we ship a - dedicated file for SUSE now. - - manage compat symlink generation in a dedicated branch (bsc#1040153) - -------------------------------------------------------------------- -Wed May 17 15:57:19 UTC 2017 - fbui@suse.com - -- Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) - - The database might be missing when upgrading a package which was - shipping no sysv init scripts nor unit files (at the time --save was - called) but the new version start shipping unit files. - -------------------------------------------------------------------- -Wed May 17 13:14:40 UTC 2017 - fbui@suse.com - -- Fix indentation in systemd-sysv-convert - - While at it, strip trailing whitespaces. - - No functional changes. - -------------------------------------------------------------------- -Thu May 11 08:47:48 UTC 2017 - fbui@suse.com - -- Disable group shadow support (bsc#1029516) - - The new configure option will be imported during the next tarball - update. - -------------------------------------------------------------------- -Tue May 2 16:17:08 UTC 2017 - fbui@suse.com - -- Ship /var/log/README - - Unfortunately it's not possible to also ship /etc/init.d/README - because of rpm "sanity" checks that prevent executable in - /etc/init.d - -------------------------------------------------------------------- -Tue May 2 14:33:58 UTC 2017 - fbui@suse.com - -- Drop systemd-{journalctl,loginctl} legacy symlinks. - -------------------------------------------------------------------- -Tue May 2 13:55:31 UTC 2017 - fbui@suse.com - -- Drop %preun section - - Currently the only use of this section is to remove the symlinks - enabling systemd services on package removal. Those symlinks were - initially installed by the systemd package installation but could - have been overriden by the sysadmin later. If so the symlinks - shouldn't be uninstalled. - - Also in a near futur disabling services will install a symlink to - /dev/null. - -------------------------------------------------------------------- -Tue May 2 13:40:12 UTC 2017 - fbui@suse.com - -- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 - - 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) - fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) - b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) - cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) - -------------------------------------------------------------------- -Tue May 2 13:37:44 UTC 2017 - fbui@suse.com - -- Make use of %systemd_postun() - -------------------------------------------------------------------- -Tue May 2 13:28:17 UTC 2017 - fbui@suse.com - -- Restart a couple of systemd services on package update - - Those services (most notably journald) should support restarting - these days. However logind still doesn't but that should be fixed - pretty soon, well I hope :) - -------------------------------------------------------------------- -Tue May 2 13:13:25 UTC 2017 - fbui@suse.com - -- Don't buildrequire pam-config, it's not used at this step. - - Also drop the use of it in %postun as it can't realistically - happen... - -------------------------------------------------------------------- -Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com - -- Don't call /sbin/ldconfig in %post of the main package - - systemd main package doesn't ship any shared libs so there's no - point in calling ldconfig in %post/%postun - -------------------------------------------------------------------- -Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com - -- Silent %tmpfiles_create in %post (bsc#1034938) - - Due to bsc#1024740, we stopped generating /etc/machine-id during - systemd package installation making the specifier '%m' unavailable - in the tmpfiles.d configuration files at this time. - - Make it simple for now and silent %tmpfiles_create, after all that's - how the macro was implemented originally. - -------------------------------------------------------------------- -Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com - -- Import commit f0325620d23a247682c629d28883a364e4a7a8c4 - - 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) - f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) - 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) - 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) - 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) - 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) - -------------------------------------------------------------------- -Wed Mar 22 13:24:57 UTC 2017 - fbui@suse.com - -- Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) - -------------------------------------------------------------------- -Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com - -- Initialize /etc/machine-id during the first boot (bsc#1024740) - - Previously that was done at package installation but it didn't fit - well for appliance builds. - -------------------------------------------------------------------- -Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com - -- Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 - - 76d4d05fb udev: fix variable assignment - 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) - d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format - 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest - -------------------------------------------------------------------- -Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com - -- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc - - 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) - 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) - f34234c54 build-sys: add check for gperf lookup function signature (#5055) - 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) - 471b26807 sd-event: when an event source fails, don't assume the type of it is still set - -------------------------------------------------------------------- -Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com - -- Don't ship systemd-resolved for now (bsc#1024897) - - If resolved is enabled , systemd-tmpfiles creates a wrong symlink in - /etc/resolv.conf which confuses the network manager actually used. - -------------------------------------------------------------------- -Thu Feb 9 14:06:46 UTC 2017 - fbui@suse.com - -- More indentation cleanup (no functional changes) - -------------------------------------------------------------------- -Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de - -- Remove obsolete insserv requirements for udev again [bsc#999841] - -------------------------------------------------------------------- -Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com - -- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc - - e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) - c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) - 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) - -------------------------------------------------------------------- -Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com - -- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) - - Move that part after the fix on timer timestamp files otherwise the - comment doesn't make sense. - -------------------------------------------------------------------- -Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com - -- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c - - cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice - ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) - -------------------------------------------------------------------- -Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com - -- Ship systemd-resolved but it's disabled by default (bsc#1018387) - - The NSS plugin will also be disabled, users need to enable it - manually. - -------------------------------------------------------------------- -Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com - -- Don't ship ldconfig.service anymore - - This service was introduced to support stateless systems that - support offline /usr updates properly. - - AFAIK we don't support any such system for now, so disable it. If - it's wrong it's easy enough to restore it back. - - Related to bsc#1019470. - -------------------------------------------------------------------- -Wed Jan 25 15:17:06 UTC 2017 - fbui@suse.com - -- Be more consistent with indentation (*no* functional changes) - - Indentation should use 8 spaces now (no tabs). - -------------------------------------------------------------------- -Wed Jan 25 14:38:59 UTC 2017 - fbui@suse.com - -- Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c - - 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) - f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) - 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) - -------------------------------------------------------------------- -Wed Jan 25 14:36:34 UTC 2017 - fbui@suse.com - -- Fix permission set on /var/lib/systemd/linger/* - - Those files are created by logind which run with umask(0022), so - they are not world writable and shouldn't be affected by - bsc#1020601. But it's cleaner to not let files forever with their - setuid bit set for no good reason. - -------------------------------------------------------------------- -Wed Jan 25 14:33:04 UTC 2017 - fbui@suse.com - -- Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) - - This change makes sure to fix the permissions of the timestamp files - which could have been created by an affected version of systemd. - - Local unprivileged users could have run arbitrary code as root if - systemd previously created world writable suid root files such as - permanent timer stamp files. - -------------------------------------------------------------------- -Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com - -- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd - - 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) - -------------------------------------------------------------------- -Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com - -- Use the %{resolved} build conditional for the nss-resolve subpackage - -------------------------------------------------------------------- -Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com - -- /usr/bin/systemd-resolve was missing from the filelist - -------------------------------------------------------------------- -Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com - -- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) - -------------------------------------------------------------------- -Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 - - - a4dff165d nspawn: resolv.conf might not be created initially (#4799) - - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) - - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) - - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) - -------------------------------------------------------------------- -Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com - -- Really include legacy kbd maps in kbd-model-map (bsc#1015515) - - Instead of fix-machines-subvol-for-rollbacks.sh... - -------------------------------------------------------------------- -Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com - -- Enable lz4 (which becomes the default) - - It's much faster than xz and thus should be more appropriate to - compress journals and coredumps. - - The LZ4 logic is now officially supported and no longer considered - experimental. - - The new frame api was released in v125. - -------------------------------------------------------------------- -Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com - -- Good by compatlibs support - - There's no longer need for enabling/disabling the support for the - compatlibs as it's been dropped from the source code. - -------------------------------------------------------------------- -Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com - -- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package - - This shared library is not for public use, and is neither API nor - ABI stable, but is likely to change with every new released - update. Only systemd binaries are supposed to link against it. - - This also prevents from the 32bit package to conflit with the 64bit - one if this lib was installed by both packages. - -------------------------------------------------------------------- -Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: - - - Dropped backported commits which has been merged - - Forward-port Suse specific patches - - Added --disable-lto option to ./configure - - Added systemd-mount - - Removed in %file /usr/lib/systemd/user/*.socket: since - 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been - removed. - - Removed in %file %{_sysconfdir}/systemd/bootchart.conf - since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd - anymore. - - Backward compat libs have been disabled since it's been dropped from - the source code. - - Added /usr/bin/systemd-socket-activate in %file - - Added --without-kill-user-processes ./configure option - - Bump libseccomp build require (>= 2.3.1) as described in README - - Specifiy version of libmount as required in the README - -------------------------------------------------------------------- -Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com - -- libudev-devel 32bit is needed for building 32bit wine now. - -------------------------------------------------------------------- -Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com - -- specfile: conflict systemd-bash-completion and systemd-mini-bash-completion - - Otherwise the build system detects that systemd-bash-completion and - its mini variant are conflicting at files level even though those - packages can't be installed on the same system. - -------------------------------------------------------------------- -Thu Nov 10 19:11:57 UTC 2016 - fbui@suse.com - -- specfile: clean up nss-* plugins descriptions and drop - nss-myhostname-config script for now. - - Currently /etc/nsswitch.conf is supposed to be edited by the - sysadmin to enable the modules. However for some reasons only - nss-myhostname is removed from the conf file when the corresponding - package is uninstalled. This is inconsistent so let's remove it. - - Actually I'm wondering if we shouldn't make those NSS plugins part - of the main package and get rid of all those sub-packages... - -------------------------------------------------------------------- -Thu Nov 10 18:22:04 UTC 2016 - fbui@suse.com - -- specfile: remove old comments and unneeded sed command - -------------------------------------------------------------------- -Thu Nov 10 14:54:22 UTC 2016 - fbui@suse.com - -- specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore - - The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service - are created in Makefile.am since commit d5d8429a12c4b1. - - 'reboot' and 'poweroff' targets initially had the symlinks but - there's not point since the latter conflicts shutdown.target whereas - the 2 targets pull it in. - - See: https://github.com/systemd/systemd/pull/4429 - -------------------------------------------------------------------- -Thu Nov 10 13:44:13 UTC 2016 - fbui@suse.com - -- specfile: remove the following warnings: - - [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants - [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants - -------------------------------------------------------------------- -Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com - -- Own a couple of directories even if they don't belong to systemd - otherwise the build system will complain. - - Some directories (owned by others packages) are simply used by - systemd to ship some scripts or config files to customize others - *optional* components. Since thos components are not build required - by systemd those directories are not owned by any packages and the - BS complains... - -------------------------------------------------------------------- -Wed Oct 26 07:45:08 UTC 2016 - fbui@suse.com - -- Import commit - - 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) - -------------------------------------------------------------------- -Mon Oct 24 14:26:40 UTC 2016 - fbui@suse.com - -- %sysusers_create and %tmpfiles_create must be called in %post - - Calling %pre is broken since the respective conf files are not yet - installed. - -------------------------------------------------------------------- -Mon Oct 24 13:53:04 UTC 2016 - fbui@suse.com - -- %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are - part of systemd-journal-remote package (only). - -------------------------------------------------------------------- -Mon Oct 24 13:21:22 UTC 2016 - fbui@suse.com - -- systemd-journal-{gatewayd,remote,upload} units are only part of - "systemd-journal-remote" package. - - So exclude them from the main package. - -------------------------------------------------------------------- -Mon Oct 24 08:56:59 UTC 2016 - fbui@suse.com - -- Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 - - 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks - df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) - f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" - 3760c10 manager: tighten incoming notification message checks - d6efd71 core: only warn on short reads on signal fd - 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones - fdf2dc3 manager: don't ever busy loop when we get a notification message we can't process - -------------------------------------------------------------------- -Thu Oct 20 06:57:57 UTC 2016 - fbui@suse.com - -- Rename kbd-model-map-extra into kbd-model-map.legacy - -------------------------------------------------------------------- -Wed Oct 19 07:24:46 UTC 2016 - fbui@suse.com - -- Remove tcpd-devel build requirement. - - tcpwrap support has been removed since v212, see commit - 7f8aa67131cfc03ddcbd31c0420754864fc122f0 - -------------------------------------------------------------------- -Tue Oct 18 14:52:00 UTC 2016 - fbui@suse.com - -- remove all dummy "aliases" to /etc/init.d (as it was already done by - factory more than 1 year ago). - - Even if a sysvinit script is still requiring one of those dummy - symlinks this should not be an issue since this is requirement is - translated into a weak dependency. - -------------------------------------------------------------------- -Tue Oct 18 13:20:58 UTC 2016 - fbui@suse.com - -- specfile: - - - do not own /usr/share/zsh directory - - do not own /etc/dbus-1 and /etc/dbus-1/system.d dirs - - do not own /usr/share/dbus-1 dir - -------------------------------------------------------------------- -Tue Oct 18 13:06:27 UTC 2016 - fbui@suse.com - -- specfile: %{_prefix}/lib/systemd/system-preset was mentioned twice - in %files section. - -------------------------------------------------------------------- -Tue Oct 18 09:30:37 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - use curly braces with rpm macros - -------------------------------------------------------------------- -Tue Oct 18 09:15:17 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - %ghost files doesn't need (anymore) to be created in %builroot - - do not own /etc/X11/xorg.conf.d and /etc/X11/xinit - -------------------------------------------------------------------- -Tue Oct 18 07:58:38 UTC 2016 - fbui@suse.com - -- Specfile cleanup: no need to protect the manpages with %bootstrap - condition in nss-myhostname package since the package itself is - already protected. - -------------------------------------------------------------------- -Tue Oct 18 07:51:30 UTC 2016 - fbui@suse.com - -- fix nss-resolve sub package: - - - add a %files section - - add a package description - - libnss_resolve.so.2 is now part of this subpackage - - add %post and %postun sections - -------------------------------------------------------------------- -Tue Oct 18 07:16:17 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - reorganize some files in %files by types - - some config files were missing the "noreplace" attribute - -------------------------------------------------------------------- -Tue Oct 18 06:19:34 UTC 2016 - fbui@suse.com - -- Use %config(noreplace) for %{_sysconfdir}/pam.d/systemd-user - -------------------------------------------------------------------- -Tue Oct 18 05:57:28 UTC 2016 - fbui@suse.com - -- Rework systemd-gatewayd package: - - - some gateway's files were still in the main package - - it now includes all progs dealing with remote journals - - it can be turned off (SP2 does that currently) - - it's been renamed systemd-journal-remote to reflect that - -------------------------------------------------------------------- -Mon Oct 17 12:19:34 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - only specify once %{_prefix}/lib/systemd/system-shutdown in %file - - no need to list the content of %{_prefix}/lib/systemd/user-generators in %file - - machined is not built when %bootstrap = 1 - -------------------------------------------------------------------- -Mon Oct 17 12:11:43 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - There's no point in listing all generators in %file - explicitly. The default is to include all of them and if for some - reason one must be excluded then it should be done explicitly. - -------------------------------------------------------------------- -Mon Oct 17 11:44:57 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - remove explicit call to make for building man pages. This is not - needed and was maybe useful when generated doc was pre-built and - shipped in the tarball. - -------------------------------------------------------------------- -Mon Oct 17 09:59:13 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - break overly long and unreadable line using mkdir - - gather directory creations - -------------------------------------------------------------------- -Mon Oct 17 08:38:27 UTC 2016 - fbui@suse.com - -- Stop providing udevd.8 - - systemd-udevd has replaced udevd for some time already and usage of - udevd should be avoided. Therefore don't encourage this and stop - documenting it. - -------------------------------------------------------------------- -Mon Oct 17 07:36:10 UTC 2016 - fbui@suse.com - -- Import from factory: - - - Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de - - - curl also causes building of journal-upload. That one has rather - unusal certificate usage, set it's ca root to /etc/pki/systemd - instead of the built-in default /etc/ssl as journal-remote and - journal-upload think they can put stuff in /etc/ssl/certs then - but that directory is managed by p11-kit and doesn't serve the - purpose those programs think. - -------------------------------------------------------------------- -Thu Oct 13 19:33:17 UTC 2016 - fbui@suse.com - -- Package rootsymlink-generator helper. It was forgotten when - switching to the git repo but re-added back. - - That said this thing should be removed as it's broken as soon as - there's no direct link between the root fs and its backend device - node (i.e. BTRFS). - -------------------------------------------------------------------- -Thu Oct 13 19:09:25 UTC 2016 - fbui@suse.com - -- Add kbd-model-map-extra file which contains the additional legacy - keymaps needed by yast. - - This was previously directly patched in the systemd source code. - -------------------------------------------------------------------- -Mon Oct 10 13:33:40 UTC 2016 - fbui@suse.com - -- Imported e251b8d7fb5c801fdfa3a023257ba0e4d514f3b0 - - - Re-add back /dev/root symlink generation (although this must be - deprecated and finally removed). - -------------------------------------------------------------------- -Fri Oct 7 14:18:10 UTC 2016 - fbui@suse.com - -- Migrating to the Suse Systemd git repo: - - Third step: - - - Re-enable networkd (disabled by default in SLE12) - -------------------------------------------------------------------- -Fri Oct 7 13:33:51 UTC 2016 - fbui@suse.com - -- Migrating to the Suse Systemd git repo: - - Second step: - - - Import the specfile - - Import the tarball generated from the git repo - - Import lastest changes for the different scripts - -------------------------------------------------------------------- -Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com - -- Migrating to the Suse Systemd git repo: - - First step: drop all patches and drop the tar ball. - - The dropped patches are: - - fix-support-for-boot-prefixed-initscript-bnc-746506.patch - set-and-use-default-logconsole.patch - ensure-ask-password-wall-starts-after-getty-tty1.patch - 0001-rules-block-add-support-for-pmem-devices-3683.patch - Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch - 1007-physical-hotplug-cpu-and-memory.patch - 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch - watch_resolv.conf_for_become_changed.patch - 0019-make-completion-smart-to-be-able-to-redirect.patch - systemd-add-user-keep.patch - 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - avoid-random-hangs-on-timeouts-due-lost-cwd.patch - 1037-udev-exclude-cd-dvd-from-block-device.patch - 0001-add-network-device-after-NFS-mount-units.patch - journald-advice-about-use-of-memory.patch - 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch - 1006-udev-always-rename-network.patch - handle-numlock-value-in-etc-sysconfig-keyboard.patch - use-rndaddentropy-ioctl-to-load-random-seed.patch - 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - 0001-bnc888612-logind-polkit-acpi.patch - avoid-divide-by-zero-sigtrap.patch - 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch - suse-sysv-bootd-support.diff - ensure-shortname-is-set-as-hostname-bnc-820213.patch - parse-crypttab-for-noauto-option.patch - tty-ask-password-agent-on-console.patch - 0001-pid1-process-zero-length-notification-messages-again.patch - handle-root_uses_lang-value-in-etc-sysconfig-language.patch - 0001-core-exclude-.slice-units-from-systemctl-isolate.patch - vhangup-on-all-consoles.patch - 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch - apply-ACL-for-nvidia-device-nodes.patch - make-emergency.service-conflict-with-syslog.socket.patch - 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch - 1096-new-udev-root-symlink-generator.patch - 1099-Add-default-rules-for-valve-steam-controller-to-work.patch - 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch - systemd-install-compat_pkgconfig-always.patch - 1012-Skip-persistent-device-link-creation-on-multipath-de.patch - 0001-avoid-abort-due-timeout-at-user-service.patch - insserv-generator.patch - apply-ACL-for-nvidia-uvm-device-node.patch - restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - systemd-pam_config.patch - systemd-dbus-system-bus-address.patch - let-linker-find-libudev-for-libdevmapper.patch - 1098-systemd-networkd-alias-network-service.patch - 0001-let-systemctl-completion-ignore-at-names.patch - boot-local-start.patch - 1095-set-ssd-disk-to-use-deadline-scheduler.patch - tomcat6-var-lock-subsys-legacy.patch - let-vconsole-setup-get-properties-only-once-to-copy-them.patch - plymouth-quit-and-wait-for-emergency-service.patch - respect-nfs-bg-option.patch - 0001-If-the-notification-message-length-is-0-ignore-the-m.patch - 1062-rules-set-default-permissions-for-GenWQE-devices.patch - rescue-emergency-target-conflicts.patch - Correct_assert_on_unexpected_error_code.patch - 1097-udevd-increase-maximum-number-of-children.patch - 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch - 1005-create-default-links-for-primary-cd_dvd-drive.patch - allow-multiple-sulogin-to-be-started.patch - systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch - 0010-do-not-install-sulogin-unit-with-poweroff.patch - 1003-udev-netlink-null-rules.patch - 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch - 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - shut-up-rpmlint-on-var-log-journal.patch - systemd-tmp-safe-defaults.patch - portmap-wants-rpcbind-socket.patch - hostname-NULL.patch - 0001-pid1-more-informative-error-message-for-ignored-noti.patch - 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch - handle-disable_caplock-and-compose_table-and-kbd_rate.patch - kbd-model-map.patch - systemctl-set-default-target.patch - 0014-journald-with-journaling-FS.patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - -------------------------------------------------------------------- -Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com - -- Import a better fix from upstream for bsc#1001765 - - - Added: - - 0001-pid1-more-informative-error-message-for-ignored-noti.patch - 0001-pid1-process-zero-length-notification-messages-again.patch - - - Updated (no code changes, only patch metadata) - - 0001-If-the-notification-message-length-is-0-ignore-the-m.patch - 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - -------------------------------------------------------------------- -Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com - -- Re add back "udev: don't require nsserv and fillup" - - Did this in the wrong project... it was a complicated day today ;) - -------------------------------------------------------------------- -Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com - -- Added 2 patches to fix bsc#1001765 - - 0001-If-the-notification-message-length-is-0-ignore-the-m.patch - 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - -------------------------------------------------------------------- -Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com - -- Revert "udev: don't require nsserv and fillup" - - It's been judged too late for being part of SLE12 final release. - Nevertheless it's part of Factory and will be reintroduced after the - final release is out (ie through an update). - -------------------------------------------------------------------- -Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com - -- systemd-sysv-convert: make sure that - /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) - - If "--save" command was used and the sysv init script wasn't enabled - at all the database file wasn't created at all. This makes the - subsequent call to "--apply" fail even though this should not - considered as an error. - -------------------------------------------------------------------- -Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com - -- Added patches to fix journal with FSS protection enabled (bsc#1000435) - - 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch - 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch - 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch - -------------------------------------------------------------------- -Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com - -- udev: don't require nsserv and fillup (bsc#999841) - - udev has no LSB init scripts nor fillup templates anymore. - -------------------------------------------------------------------- -Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com - -- Build require python and python-lxml in order to generate - systemd.directives man page (bsc#986952) - -------------------------------------------------------------------- -Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com - -- Add rules: block: add support for pmem devices (#3683) (bsc#988119) - - 0001-rules-block-add-support-for-pmem-devices-3683.patch - -------------------------------------------------------------------- -Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com - -- Fix is-enabled check in systemd-sysv-install (bsc#997268) - -------------------------------------------------------------------- -Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org - -- Only BuildRequire gnu-efi when building the 'real' systemd - package. - -------------------------------------------------------------------- -Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com - -- Add a script to fix /var/lib/machines to make it suitable for - rollbacks (bsc#992573) - -------------------------------------------------------------------- -Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com - -- reverted the systemctl split-off on request of Franck Bui. - -------------------------------------------------------------------- -Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de - -- Add sysusers to the new split "systemctl" subpackage - -------------------------------------------------------------------- -Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de - -- Split systemctl and tmpfiles into a separate package - -------------------------------------------------------------------- -Tue Jul 19 17:42:45 UTC 2016 - develop7@develop7.info - -- Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch - to enable missing functionality of Steam Controller - -------------------------------------------------------------------- -Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com - -- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276 - + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch - -------------------------------------------------------------------- -Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com - -- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - it breaks btrfs on multiple device-mapper devices (boo#984516). The problem - it tried to fix is already fixed in rule shipped with btrfsprogs (see - boo#912170). - -------------------------------------------------------------------- -Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com - -- fix warning about missing install info during preset (boo#970293) - 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch - -------------------------------------------------------------------- -Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de - -- Avoid bootstrap cycle with sg3_utils - -------------------------------------------------------------------- -Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de - -- Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch - that is do not close a file descriptor twice (boo#973907) - -------------------------------------------------------------------- -Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de - -- Add two patches which address logind/networkd disappearing from - dbus (and busctl) even while the units and processes continue - running. - 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch - 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - -------------------------------------------------------------------- -Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com - -- drop all compiler/linker option customizations: - - -pipe option is used by default since day 0 - - get rid of cflags() function which is not needed - - --hash-size has no impact specially in runtime - - IOW, use the default options for the compiler and the linker, - there's no point in making systemd different from other package in - this regards. - -------------------------------------------------------------------- -Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com - -- use %make_build instead of 'make %{?_smp_mflags}' - -------------------------------------------------------------------- -Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com - -- be more strict on own lib version requirements - -------------------------------------------------------------------- -Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com - -- systemd should require udev with the exact same version - -------------------------------------------------------------------- -Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de - -- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch - to allow that open, seek, and read of /dev/mem may fail e.g. - on XEN based virtual guests (bsc#961120) - -------------------------------------------------------------------- -Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de - -- Add upstream patch - 0001-core-exclude-.slice-units-from-systemctl-isolate.patch - this fixes forced logouts on isolate target aka changing runlevel - (boo#966535) - -------------------------------------------------------------------- -Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de - -- require curl and bzip2 to build importd -- curl also causes building of journal-upload. That one has rather - unusal certificate usage, set it's ca root to /etc/pki/systemd - instead of the built-in default /etc/ssl as journal-remote and - journal-upload think they kan put stuff in /etc/ssl/certs then but - that directory is managed by p11-kit and doesn't serve the purpose - those programs think. -- /var/lib/systemd/random-seed is a file -- own /var/lib/machines -- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - -------------------------------------------------------------------- -Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de - -- systemd-sysv-install: Fix chkconfig argument for disable op - -------------------------------------------------------------------- -Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de - -- Create groups adm,input,tape in fixed order (boo#944660) - -------------------------------------------------------------------- -Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com - -- Make sure we don't use tmpfs on /tmp by default (bsc#940522) - -------------------------------------------------------------------- -Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - -- Avoid enabling readahead services; they have been removed. -- In %install, only process kbd-model-map.xkb-generated if it - exists. Resolves a build failure in 13.2/42.1. - -------------------------------------------------------------------- -Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org - -- spec: update minimum kernel version to 3.11 -- Update minimum util-linux version to 2.27.1 - -------------------------------------------------------------------- -Thu Dec 3 15:33:27 UTC 2015 - tchvatal@suse.com - -- Add patch to enable working steam controller: - * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch - -------------------------------------------------------------------- -Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com - -- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) - Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -------------------------------------------------------------------- -Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 228 -* The various memory-related resource limit settings (such as - LimitAS=) now understand the usual K, M, G, ... suffixes to - the base of 1024 (IEC). Similar, the time-related settings - understand the usual min, h, day, ... suffixes now. -* CPUAffinity= now takes CPU index ranges in addition to just - individual indexes. -* A number of properties previously only settable in unit - files are now also available as properties to set when - creating transient units programmatically via the bus. -- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - (merged upstream) - -------------------------------------------------------------------- -Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru - -- Update to 227. -- Rebase systemd-pam_config.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, - 0014-journald-with-journaling-FS.patch, - 0019-make-completion-smart-to-be-able-to-redirect.patch, - avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, - set-and-use-default-logconsole.patch, - tty-ask-password-agent-on-console.patch, - 0001-bnc888612-logind-polkit-acpi.patch, - watch_resolv.conf_for_become_changed.patch, - 1097-udevd-increase-maximum-number-of-children.patch. -- Remove - 0002-units-enable-waiting-for-unit-termination-in-certain.patch, - 1001-re-enable-by_path-links-for-ata-devices.patch, - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: - fixed upstream. - -------------------------------------------------------------------- -Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de - -- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch - to handle locale at boot time well (boo#927250) -- Be able to use build service environments several times - -------------------------------------------------------------------- -Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de - -- 1096-new-udev-root-symlink-generator.patch: fix substitution in - ExecStart value - -------------------------------------------------------------------- -Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com - -- enable seccomp for aarch64 (fate#318444) - -------------------------------------------------------------------- -Thu Oct 15 14:12:44 UTC 2015 - fbui@suse.com - -- Fix again UEFI for mini package - -------------------------------------------------------------------- -Thu Oct 15 09:07:51 UTC 2015 - jengelh@inai.de - -- Drop one more undesirable Obsoletes/Provides. This should have - been a Conflicts. (There was already a Conflicts, and since - Conflicts go both ways, we won't need a second one.) - -------------------------------------------------------------------- -Thu Oct 15 08:19:00 UTC 2015 - werner@suse.de - -- No UEFI for systemd-mini - -------------------------------------------------------------------- -Mon Oct 12 11:34:13 UTC 2015 - fbui@suse.com - -- Add 2 upstream patches to fix boo#949574 and bsc#932284 - 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - 0002-units-enable-waiting-for-unit-termination-in-certain.patch - -------------------------------------------------------------------- -Fri Oct 9 18:03:02 UTC 2015 - fbui@suse.com - -- Disable systemd-boot on aarch64 since it fails to build. - Error while compiling src/boot/efi/util.o is: - usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory - -------------------------------------------------------------------- -Fri Oct 9 07:16:45 UTC 2015 - fbui@suse.com - -- Fix UEFI detection logic: basically we let configure.ac figure out - if UEFI is supported by the current build environment. No need to - clutter the spec file with a new conditionnal %has_efi. - -- Provide systemd-bootx64.efi (aka gummiboot) - -------------------------------------------------------------------- -Tue Oct 6 15:13:04 UTC 2015 - werner@suse.de - -- Modify patch tty-ask-password-agent-on-console.patch to reflect - the changes done for pull request 1432 - -------------------------------------------------------------------- -Thu Oct 1 15:58:32 UTC 2015 - jengelh@inai.de - -- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle. -- Provide systemd-sysv-install program/link [bnc#948353] - -------------------------------------------------------------------- -Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de - -- Fix patch tty-ask-password-agent-on-console.patch not to crash - away but enable it to ask on all devices of /dev/console - -------------------------------------------------------------------- -Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de - -- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" - waring occurring in %post - -------------------------------------------------------------------- -Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de - -- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch - to avoid broken virtual console mapping due stressed ioctl API - for the virtual consoles (boo#904214) - -------------------------------------------------------------------- -Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de - -- Fix last change that is use the new name for udev packages in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com - -- restore usage of LUA in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de - -- Try to generate the systemd users and groups always in same order - to avoid republish other packages (boo#944660) - -------------------------------------------------------------------- -Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com - -- cleanup specfile by removing commands that were dealing with systemd - pre-generated files: we're now using systemd tarball generated directly - from the git repo which doesn't contain any of these files. -- there's no point in using LUA in %pretrans - -------------------------------------------------------------------- -Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com - -- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch - -This patch was initialy added to workaround bsc#842844. But it -appears that man(1) was fixed (included since 13.2 at least) to -handle manual pages that consist only of a .so directive such as -'.so '. - -------------------------------------------------------------------- -Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de - -- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to - make it work on big endian - -------------------------------------------------------------------- -Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de - -- Use Obsolete/Provides strategy from - windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap - cycle and kick out -mini afterwards. - -------------------------------------------------------------------- -Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 224 -* systemd-networkd gained a number of new configuration options - for DHCP, tunnels and bridges -* systemd-efi-boot-generator functionality was merged into - systemd-gpt-auto-generator. - -------------------------------------------------------------------- -Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com - -- /usr/share/systemd/kbd-model-map: added entries for - xkeyboard-config converted keymaps; mappings, which already - exist in original systemd mapping table are being ignored - though, i.e. not overwritten; needs kbd in buildrequires - (FATE#318426) - -------------------------------------------------------------------- -Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com - -- hostname-NULL.patch: Work around a crash on XEN hosts - in OBS. /etc/hostname is not present and systemd then does - strchr(hostname,soemthing) with hostname NULL. - -------------------------------------------------------------------- -Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de - -- Add Correct_assert_on_unexpected_error_code.patch to work around - a problem of an assert on ENODEV for closing fd on an input - event device (boo#939571) - -------------------------------------------------------------------- -Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de - -- Remove udev-generate-rules.sh, apparently not used by anything in - the systemd nor udev-persistent-ifnames package. - -------------------------------------------------------------------- -Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org - -- Systemd v222, bugfix release. -- Drop upstream patches -0006-pam_systemd-Properly-check-kdbus-availability.patch -0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch -0031-install-fix-bad-memory-access.patch -1032-ata_id-unbotch-format-specifier.patch -- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch - udev does no longer enable USB HID power management at all. -- The udev accelerometer helper was removed, obsoleted by - iio-sensor-proxy package. -- networkd gained a new configuration option IPv6PrivacyExtensions. -- udev does not longer support the WAIT_FOR_SYSFS= key in udev - rules. There are no known issues with current sysfs, - and udev does not need or should be used to work around such bugs. - -------------------------------------------------------------------- -Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de - -- Avoid restarting logind [bnc#934901] -- Do not suppress errors in any case, even if they are ignored - -------------------------------------------------------------------- -Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix devel package requires (both mini and real required real libsystemd0) - -------------------------------------------------------------------- -Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de - -- Rework patch tty-ask-password-agent-on-console.patch to fit the - requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 - -------------------------------------------------------------------- -Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de - -- Rework "-mini" package logic to not conflict with itself and - then add libsystemd0 to mini. - -------------------------------------------------------------------- -Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org - -- remove SysVStartPriority= from after-local.service, - unsupported since v218. - Note that this option was only parsed and that's it. the logic - to give "start priority" was never implemented. - -------------------------------------------------------------------- -Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org - -- change the default fallback ntp servers to the opensuse - pool.ntp.org vendor zone. -- We still need to run systemd-sysctl.service after local-fs.target - otherwise it works only when /boot is in the root filesystem but - not when it is a separate partition. - -------------------------------------------------------------------- -Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com - -- Obsolete pm-utils and suspend (boo#925873). -- Remove pm-utils support - (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). - -------------------------------------------------------------------- -Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org - -- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch - from the filelist. - -------------------------------------------------------------------- -Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org - -- libpcre, glib2 and libusb are not used by systemd, remove - from buildrequires. - -------------------------------------------------------------------- -Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org - -- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id - output. -- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch - fix StopWhenUnneeded=true in combination with a Requisite= - dependency. -- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access -- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if - kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS - must not be exported. -- spec: add a min_kernel_version macro to ensure the package - conflicts with kernel versions in which systemd cannot run. - -------------------------------------------------------------------- -Wed Jun 24 20:06:27 UTC 2015 - crrodriguez@opensuse.org - -- sysctl-handle-boot-sysctl.conf-kernel_release.patch dropped, - replaced by a tmpfiles.d snippet "current-kernel-sysctl.conf" - (feature implemented in v220 just for our usecase) - -------------------------------------------------------------------- -Wed Jun 24 19:45:17 UTC 2015 - crrodriguez@opensuse.org - -- fix build when resolved is enabled -- remove fsck -l test in spec file, systemd requires util-linux - 2.26 or later where this feature is already available. - -------------------------------------------------------------------- -Wed Jun 24 17:43:22 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix bootstrap build by guarding filelists (man pages don't get - built in bootstrap mode) -- Drop commented sections from baselibs.conf, allows format_spec_file - to have a successful run - -------------------------------------------------------------------- -Wed Jun 24 14:17:04 UTC 2015 - mpluskal@suse.com - -- Install 50-coredump.conf as coredumpctl is now installed by - default and does not use journal anymore as default storage - -------------------------------------------------------------------- -Fri Jun 19 20:51:14 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 221 -* From 220: -* libgudev was moved into a package of its own -* Runlevels 2, 3 and 4 are no longer distinct, they all map to - multi-user.target. -* The EFI System Partition mounted to /boot will be unmounted - 2 minutes after boot. -* systemd does not support direct live-upgrades (via `systemctl - daemon-reexec`) from versions older than v44 anymore. -* systemd-nspawn may now be called as part of a shell pipeline. -* systemd-shutdownd has been removed. This service was - previously responsible for implementing scheduled shutdowns - as exposed in /usr/bin/shutdown's time parameter. This - functionality has now been moved into systemd-logind and is - accessible via a bus interface. -* udev will no longer call blkid and create symlinks for all - block devices, but merely those from a whitelist - (cf. 60-persistent-storage.rules). -* /usr/lib/os-release gained a new optional field VARIANT= -* Details at - http://lists.freedesktop.org/archives/systemd-devel/2015-May/032147.html -* From 221: -* New sd-bus and sd-event APIs in libsystemd -* If there is both a systemd unit and a SysV init script for the - same service name, and `systemctl enable` or other operation is - run, both will now be enabled (or execute the related operation - on both), not just the unit. -- Split libsystemd0 to support systemd-less nspawn containers -- Redo manpage file lists without %exclude, tends to hide - unpackaged files. -- hwdb belongs to udev -- Resolve memory leak and add missing _cleanup_free_ to - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -- Remove systemd-powerd-initctl-support.patch - (no longer builds because shutdownd is gone) -- Remove quilt-patches/0001-core-rework-device-state-logic.patch, - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (merged upstream), - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (obsolete) - -------------------------------------------------------------------- -Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de - -- Remove libudev0 from baselibs.conf - -------------------------------------------------------------------- -Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de - -- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - as now upstream code -- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix - bsc#933365 and boo#934077 - -------------------------------------------------------------------- -Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com - -- Add 1098-systemd-networkd-alias-network-service.patch to alias - network.service the same way NetworkManager and wicked does. - This is needed by yast2 and other parts of the system. boo#933092 - -------------------------------------------------------------------- -Mon May 18 14:39:47 UTC 2015 - werner@suse.de - -- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use - the new return values of proc_cmdline() in enable_name_policy() - this should fix boo#931165 - -------------------------------------------------------------------- -Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de - -- Drop 1021-udev-re-add-persistent-net-rules.patch, - 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, - 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, - 1046-fix-duplicated-rules-with-layer3-interfaces.patch, - 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, - 1051-check-if-NAME-has-a-value.patch, - 1053-better-checks-in-write_net_rules.patch, - 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. - 1021 originally broke parsing of net.ifnames=0 [bnc#931165], - and given that neither the kernel command line needs to be - touched nor the source be patched to reach the unpredictable - naming setup for SLE, all these parts are moved to a separate - package. - -------------------------------------------------------------------- -Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de - -- Add upstream patch - 0001-core-don-t-change-removed-devices-to-state-tentative.patch - to fix the fix of the last backport (bsc#921898) - -------------------------------------------------------------------- -Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de - -- Reenable networkd which was silently disabled on Feb 18 - -------------------------------------------------------------------- -Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de - -- Add 0001-core-rework-device-state-logic.patch to fix spurious - automated umount after mount. - -------------------------------------------------------------------- -Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com - -- mark more subpackages as !bootstrap for systemd-mini usage. - -------------------------------------------------------------------- -Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org - -- spec : remove --with-firmware-path, firmware loader was removed in v217 -- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) -- spec: Do not enable systemd-readahead-collect.service and -systemd-readahead-replay.service as these do not exist anymore. -- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch - Yast was fixed to write all timezone changes exactly how timedated expects - things to be done. -- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg - package handles the migration from /etc/HOSTNAME to /etc/hostname - and owns both files. --spec: remove boot.udev and systemd-journald.init as they currently - serve no purpose. -- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we - are in sysvcompat-only codepath, also remove the code targetting other - distributions, never compiled as the TARGET_$DISTRO macros are never defined. -- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT -- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards -- insserv-generator.patch: Only build when sysvcompat is enabled -- vhangup-on-all-consoles.patch add a comment indicating this is a workaround - for a kernel bug. -- spec: Add option to allow disabling sysvinit compat at build time. -- spec: Add option to enable resolved at build time. -- spec: Remove all %ifs for !factory products, current systemd releases can - neither be built nor installed in older products without upgrading - several components of the base system. - (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) -- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when - those init scripts still existed. (dummy localfs.service source: gone) -- systemd-sleep-grub: moved to the grub2 package where it belongs as a - suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) -- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds - config.h everywhere in the preprocessor cmdline. - -------------------------------------------------------------------- -Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 219 -* systemd units can now be "unsupported" (like, for example, - .device in a containers), similar to the "skipped" state in - SUSE's prior sysvinit scripts. -* tmpfiles gained the 'v' type for creating btrfs subvolumes. -* tmpfiles gained the 'a' type for setting ACLs. -* systemd-nspawn gained new switches: --ephemeral, --template -* The /var/lib/containers location is deprecated and replaced by - /var/lib/machines. -* machinectl gained the copy-from and copy-to commands. -* machinectl now knows a "bind" command (for use with nspawn) -* new "systemd-importd" daemon to download container images and run - them as nspawn containers. -* networkd collects LLDP network announcements, if available, and - so shown in networkctl. -* The fallback terminal type was changed from "vt102" to "vt220", - allowing PgUp/PgDn keys to work. -* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, - useful should the regular shutdown hang. -* Removing storage will cause systemd to unmount the associated - mountpoints so that they don't linger around. - -------------------------------------------------------------------- -Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de - -- Add suse-sysv-bootd-support.diff (reinstate old - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) - -------------------------------------------------------------------- -Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de - -- Update to systemd v218-1050-g38ab096 -- Remove patches - use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) -- Reinstate and improve (remove huge indents from) - tty-ask-password-agent-on-console.patch, - 0014-journald-with-journaling-FS.patch, rootsymlink_generator. - -------------------------------------------------------------------- -Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com - -- disable systemd-resolved for now as it interacts not well with - our methods and security has concerns regarding spoofing. bsc#917781 - -------------------------------------------------------------------- -Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - -- Add patch kbd-model-map.patch to add missed keyboard layouts - which are offered by YaST2 (bsc#910643 and boo#897803) - -------------------------------------------------------------------- -Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 218 -* New utilities: systemd-timesyncd (SNTP client), - systemd-resolved, systemd-networkd, networkctl, - systemd-sysusers -* machinectl gained a "poweroff" command for clean container shutdown -* The udev hwdb now contains DPI information for mice. -* Userspace firmware loading support has been removed and - the minimum supported kernel version is thus bumped to 3.7. -- Remove patches: - G=gone locally, is upstream; - D=dropped: no longer needed; - N=no longer applies to source nor is it deemed needed; - K=killed: no longer applicable and too complex to resolve: - ---- - G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch - K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch - K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch - K handle-SYSTEMCTL_OPTIONS-environment-variable.patch - K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - K log-target-null-instead-kmsg.patch - K tty-ask-password-agent-on-console.patch - K 513-nspawn-veth.patch - K 1087-infinit-timeout-for-kmod-loaded-modules.patch - D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - D avoid-leaking-socket-descriptors.patch - D 0001-make-fortify-happy-with-ppoll.patch - N fix-owner-of-var-log-btmp.patch - N disable-nss-myhostname-warning-bnc-783841.patch - N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch - N 0001-make-209-working-on-older-dist.patch - N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - N tmpfiles-do-not-clean-for-mandb-index-files.patch - G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc - G optionally-warn-if-nss-myhostname-is-called.patch - G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - G 0004-getty-generator-properly-escape-instance-names.patch - G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - G 0008-Reset-signal-mask-on-re-exec-to-init.patch - G 0001-login-fix-pos-array-allocation.patch - G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch - G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - G 0005-Replace-var-run-with-run-in-remaining-places.patch - G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch - G 0007-README-document-that-var-run-must-be-a-symlink-run.patch - G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch - G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch - G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - G 0001-Fix-systemd-stdio-bridge-symlink.patch - G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - G 0004-man-document-missing-options-of-systemd-run.patch - G 0005-systemd-run-add-some-extra-safety-checks.patch - G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - G 0007-journal-forget-file-after-encountering-an-error.patch - G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - G 0010-man-update-link-to-LSB.patch - G 0011-man-systemd-bootchart-fix-spacing-in-command.patch - G 0012-man-add-missing-comma.patch - G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - G 0002-manager-flush-memory-stream-before-using-the-buffer.patch - G 0003-busname-don-t-drop-service-from-the-result-string.patch - G 0004-fix-off-by-one-error-in-array-index-assertion.patch - G 0005-logind-fix-policykit-checks.patch - G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - G 0007-networkd-fix-typo.patch - G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - G 0012-journald-remove-stray-reset-of-error-return-value.patch - G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - G 0005-sd-daemon-fix-incorrect-variable-access.patch - G 0006-sd-event-initialization-perturbation-value-right-bef.patch - G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch - G 0001-journal-fix-export-of-messages-containing-newlines.patch - G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - G 0003-tty-ask-password-agent-return-negative-errno.patch - G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - G 0005-systemd-python-fix-failing-assert.patch - G 0007-dbus-suppress-duplicate-and-misleading-messages.patch - G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - G 0001-bash-completion-fix-__get_startable_units.patch - G 0002-sysctl-replaces-some-slashes-with-dots.patch - G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - G 0004-implement-a-union-to-pad-out-file_handle.patch - G shut-up-annoying-assertion-monotonic-clock-message.patch - G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - G 0003-analyze-fix-plot-with-bad-y-size.patch - G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - G 0002-backlight-do-nothing-if-max_brightness-is-0.patch - G 0003-backlight-unify-error-messages.patch - G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - G 0001-core-close-socket-fds-asynchronously.patch - G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - G 0002-logind-fix-printf-format.patch - G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - G 0008-man-update-journald-rate-limit-defaults.patch - G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - G 0010-logind-allow-suspending-if-there-are-no-displays.patch - G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - G 0002-man-note-that-entire-sections-can-now-be-ignored.patch - G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - G 0006-login-add-mir-to-the-list-of-session-types.patch - G 0007-logind-fix-Display-property-of-user-objects.patch - G 0001-hwdb-update.patch - G 0002-hwdb-update.patch - G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - G 0004-hwdb-update.patch - G 0005-hwdb-update.patch - G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - G 0002-journal-properly-detect-language-specified-in-line.patch - G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - G 0002-nspawn-restore-journal-directory-is-empty-check.patch - G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - G 0004-socket-properly-handle-if-our-service-vanished-durin.patch - G 0001-Do-not-unescape-unit-names-in-Install-section.patch - G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - G 0001-virt-rework-container-detection-logic.patch - G 0002-fsck-include-device-name-in-the-message-about-missin.patch - G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - G 0004-util-ignore_file-should-not-allow-files-ending-with.patch - G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch - G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch - G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - G 0001-hwdb-fix-case-sensitive-match.patch - G 0001-sd-event-restore-correct-timeout-behaviour.patch - G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - G 0001-umount-modernizations.patch - G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - G 0003-core-allow-transient-mount-units.patch - G 0004-systemd-detect-virt-only-discover-Xen-domU.patch - G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - G 0001-core-fix-invalid-free-in-killall.patch - G 0003-install-fix-invalid-free-in-unit_file_mask.patch - G 0001-systemd-detect-virt-detect-s390-virtualization.patch - G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - G 0005-po-add-Greek-translation.patch - G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0007-po-add-German-translation.patch - G 0009-core-clean-up-signal-reset-logic-when-reexec.patch - G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - G 0012-core-transaction-avoid-misleading-error-message-when.patch - G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - G 0005-man-fix-path-in-crypttab-5.patch - G 0001-units-order-network-online.target-after-network.targ.patch - G 0001-core-use-correct-format-string-for-UIDs.patch - G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - G 0002-journald-make-MaxFileSec-really-default-to-1month.patch - G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - G 0001-parse_uid-return-ENXIO-for-1-uids.patch - G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - G 0003-localed-consider-an-unset-model-as-a-wildcard.patch - G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - G 0005-bus-close-a-bus-that-failed-to-connect.patch - G 0006-hwdb-update.patch - G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-architecture-Add-tilegx.patch - G 0002-architecture-Add-cris.patch - G 0003-arch-add-crisv32-to-uname-check.patch - G 0004-architecture-remove-cris-from-uname-list.patch - G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - G 0002-namespace-fix-uninitialized-memory-access.patch - G 0001-machine-don-t-return-uninitialized-variable.patch - G 0002-vconsole-setup-run-setfont-before-loadkeys.patch - G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - G 0007-service-flush-status-text-and-errno-values-each-time.patch - G 0001-journal-compress-return-early-in-uncompress_startswi.patch - G 0002-journal-compress-improve-xz-compression-performance.patch - G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch - G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - G 0001-event-pull-in-sd-event.h-from-event-util.h.patch - G 0002-util-fix-has-cc-check-and-add-test.patch - G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - G 0004-fileio-quote-more-shell-characters-in-envfiles.patch - G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - G 0002-units-serial-getty-.service-use-the-default-RestartS.patch - G 0001-po-add-Ukrainian-translation.patch - G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - G 0001-detect-virt-Fix-Xen-domU-discovery.patch - G 0002-Be-more-verbose-when-bind-or-listen-fails.patch - G 0003-Add-quotes-to-warning-message.patch - G 0004-systemd-return-the-first-error-from-manager_startup.patch - G 0001-bash-completion-p-option-for-journalctl.patch - G 0002-journalctl-man-allow-only-between-terms.patch - G 0003-systemd-use-pager-for-test-and-help.patch - G 0001-bus-proxyd-fix-incorrect-comparison.patch - G 0002-shell-completion-prevent-mangling-unit-names.patch - G 0003-Always-check-asprintf-return-code.patch - G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - G 0006-parse_boolean-require-exact-matches.patch - G 0007-drop_duplicates-copy-full-BindMount-struct.patch - G 0008-shell-completion-prevent-mangling-unit-names-bash.patch - G 0009-journald-always-add-syslog-facility-for-messages-com.patch - G 0001-sysv-order-initscripts-which-provide-network-before-.patch - G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - G 0003-keymap-Annotate-all-micmute-workarounds.patch - G 0007-hwdb-update.patch - G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - G 0002-switch-root-umount-the-old-root-correctly.patch - G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - G 0006-login-share-VT-signal-handler-between-sessions.patch - G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - G 0003-keymap-Fix-HP-Pavillon-DV7.patch - G 0004-hwdb-update-format-description-and-document-reloadin.patch - G 0008-hwdb-update.patch - G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - G 0001-login-fix-memory-leak-on-DropController.patch - G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - G 0001-nspawn-fix-network-interface.patch - G 0001-completion-filter-templates-from-restartable-units.patch - G 0002-systemd-fix-error-message.patch - G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - G 0004-config-parser-fix-mem-leak.patch - G 0005-login-fix-mem-leak.patch - G 0001-login-simplify-controller-handling.patch - G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0009-hwdb-update.patch - G 0001-systemctl-allow-to-change-the-default-target-without.patch - G 0001-activate-fix-fd-leak-in-do_accept.patch - G 0002-analyze-avoid-a-null-dereference.patch - G 0003-analyze-fix-mem-leak.patch - G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - G 0006-bus-unref-buscreds-on-failure.patch - G 0007-core-fix-a-potential-mem-leak.patch - G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - G 0009-journal-do-not-leak-mmaps-on-OOM.patch - G 0010-manager-use-correct-cleanup-function.patch - G 0001-core-fix-resource-leak-in-manager_environment_add.patch - G 0002-util-remove-a-unnecessary-check.patch - G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - G 0004-shared-conf-parser.patch - G 0005-logind-fix-typo.patch - G 0006-systemctl-fix-resource-leak-CID-1237747.patch - G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - G 0003-mount-order-options-before-other-arguments-to-mount.patch - G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - G 0005-shared-label.h-add-missing-stdio.h-include.patch - G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - G 0001-login-pause-devices-before-acknowledging-VT-switches.patch - G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - G 0001-socket-introduce-SELinuxContextFromNet-option.patch - G 0002-util-avoid-non-portable-__WORDSIZE.patch - G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - G 0002-bus-remove-unused-check.patch - G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - G 0001-logind-add-support-for-Triton2-Power-Button.patch - G 0002-logind-add-support-for-TPS65217-Power-Button.patch - G 0001-shutdownd-clean-up-initialization-of-struct.patch - G 0003-bootchart-parse-userinput-with-safe_atoi.patch - G 0004-bootchart-check-return-of-strftime.patch - G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - G 0001-journalctl-do-not-output-reboot-markers-when-running.patch - G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - G 0003-fileio-label-return-error-when-writing-fails.patch - G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - G 0004-sd-event-check-the-value-of-received-signal.patch - G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - G 0003-sd-bus-check-return-value-of-vasprintf.patch - G 0004-core-map-the-rescue-argument-to-rescue.target.patch - G 0005-util-avoid-double-close-of-fd.patch - G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - G 0001-tmpfiles-compare-return-against-correct-errno.patch - G 0001-shell-completion-fix-completion-of-inactive-units.patch - G 0002-shell-completion-propose-templates-for-disable-re-en.patch - G 0003-man-we-don-t-have-Wanted-dependency.patch - G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - G 0001-systemd-continue-switch-root-even-if-umount-fails.patch - G 0002-systemd-try-harder-to-bind-to-notify-socket.patch - G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - G 0004-journal-do-server_vacuum-for-sigusr1.patch - G 0005-cryptsetup-fix-an-OOM-check.patch - G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch - G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - G 0005-journalctl-correct-help-text-for-until.patch - G 0006-calendarspec-fix-typo-in-annually.patch - G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - G 0008-util-introduce-sethostname_idempotent.patch - G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch - G 0012-manager-do-not-print-anything-while-passwords-are-be.patch - G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - G 0002-snapshot-return-error-when-snapshot-exists.patch - G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - G 0004-Raise-level-of-Found-dependency.-lines.patch - G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - G 0006-journald-fix-minor-memory-leak.patch - G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - G 0008-journald-fix-memory-leak-on-error-path.patch - G 0009-units-make-systemd-journald.service-Type-notify.patch - G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - G 0001-systemctl-let-list-units-unit-files-honour-type.patch - G 0002-systemctl-obey-state-in-list-unit-files.patch - G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - G 0001-selinux-access-fix-broken-ternary-operator.patch - G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - G 0004-core-fix-transaction-destructiveness-check-once-more.patch - G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch - G 1009-cdrom_id-use-the-old-MMC-fallback.patch - G 1010-udev-increase-result-size-for-programs.patch - G 1014-udev-update-net_id-comments.patch - G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - G 1017-udev-serialize-synchronize-block-device-event-handli.patch - G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - G 1019-udev-avoid-use-of-uninitialized-err.patch - G 1020-udev-keyboard-also-hook-into-change-events.patch - G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - G 1024-udev-always-close-lock-file-descriptor.patch - G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - G 1026-udevd-inotify-modernizations.patch - G 1027-udev-synthesize-change-events-for-partitions-when-to.patch - G 1028-udev-link-config-fix-mem-leak.patch - G 1029-udev-try-first-re-reading-the-partition-table.patch - G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - G 1033-udev-really-exclude-device-mapper-from-block-device.patch - G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - G 1038-udev-fix-invalid-free-in-enable_name_policy.patch - G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch - G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch - G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - G 1044-rules-update-qemu-hid-rules.patch - G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - G 1048-udev-net_setup_link-add-a-bit-more-logging.patch - G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - G 1056-udevd-add-event-timeout-commandline-option.patch - G 1057-udev-unify-event-timeout-handling.patch - G 1058-udev-unify-event-timeout-handling.patch - G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - G 1065-udev-bump-event-timeout-to-60-seconds.patch - G 1067-udev-always-resolve-correctly-database-names-on-chan.patch - G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - G 1070-rules-net-setup-link-remove-stray-linebreak.patch - G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - G 1072-udev-netif_rename-don-t-log-to-kmsg.patch - G 1073-udev-drop-print_kmsg.patch - G 1074-udev-fix-copy-paste-error-in-log-message.patch - G 1075-udev-timeout-increase-timeout.patch - G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1078-udev-remove-userspace-firmware-loading-support.patch - G 1079-udev-remove-userspace-firmware-loading-support.patch - G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - G 1081-udevd-check-return-of-various-functions.patch - G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - G 1083-udev-node-warn-if-chmod-chown-fails.patch - G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - G 1085-udev-fix-typos.patch - G 1086-udevd-don-t-fail-if-run-udev-exists.patch - G 1089-fix-cgroup-device-controller.patch - G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - G 1091-udev-path_id-update-comments.patch - G 1092-libudev-do-not-accept-invalid-log-levels.patch - G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com - -- update set-and-use-default-logconsole.patch - fix comparison of - console log facility that caused journald to skip output to console - (boo#912030) - -------------------------------------------------------------------- -Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de - -- Use Robert's latest patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which drops NAMEPOLICY_KERNEL as this breaks all on current - systems out there - -------------------------------------------------------------------- -Wed Dec 17 14:57:42 UTC 2014 - thomas.blume@suse.com - -- remove 0022-systemd-tmpfiles-ownerkeep.patch since this is now - implemented into the systemd-tmpfiles binary -- add user based ignore statements in tmpfiles removal directives - (bnc#903009) - add systemd-add-user-keep.patch - -------------------------------------------------------------------- -Tue Dec 16 09:45:38 UTC 2014 - thomas.blume@suse.com - -- use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) - add upstream patches: - 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - 0002-man-tmpfiles.d-recommend-using-b-and-c.patch (adapted) - -------------------------------------------------------------------- -Tue Dec 16 08:59:08 UTC 2014 - werner@suse.de - -- Update patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - to Robert's version - -------------------------------------------------------------------- -Mon Dec 15 15:02:22 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-selinux-access-fix-broken-ternary-operator.patch - 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - 0004-core-fix-transaction-destructiveness-check-once-more.patch -- Avoid old net devices naming scheme on openSUSE 13.2 and less - maybe caused by patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com - -- fix systemd-nspawn network-veth support (bnc#906709) - add 513-nspawn-veth.patch - -------------------------------------------------------------------- -Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de - -- Add upstream patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which may solve bsc#907318 - -------------------------------------------------------------------- -Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - -------------------------------------------------------------------- -Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com - -- Change the maximum number of children from CPU_COUNT * 256 to - CPU_COUNT * 64. - Update 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Thu Nov 27 20:30:35 UTC 2014 - rmilasan@suse.com - -- Increase number of children/workers to CPU_COUNT * 256 to avoid - 'maximum number of children reached' (bnc#907393). - Add 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com - -- Fix error return in rootsymlink_generator.c - Update 1096-new-udev-root-symlink-generator.patch - -------------------------------------------------------------------- -Fri Nov 21 13:35:40 UTC 2014 - werner@suse.de - -- Remove upstream patch - 0001-systemd-logind.service-set-Type-notify.patch - as systemd-logind.service is already from DBus type, compare with - upstream commit eab459bc0639b81b32735f36d3e929e4bfa2cb4b - -------------------------------------------------------------------- -Thu Nov 20 13:45:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-logind.service-set-Type-notify.patch - 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - -------------------------------------------------------------------- -Thu Nov 20 12:18:57 UTC 2014 - werner@suse.de - -- Re-add directory /usr/lib/systemd/system/basic.target.wants - -------------------------------------------------------------------- -Wed Nov 19 15:07:43 UTC 2014 - gber@opensuse.org - -- remove pm-utils-hooks-compat.sh again, pm-utils built-in hooks - partially duplicate hooks run by systemd which may potentially - lead to problems, instead temporarily re-enable - Forward-suspend-hibernate-calls-to-pm-utils.patch until - boo#904828 can be addressed properly - -------------------------------------------------------------------- -Wed Nov 19 00:58:00 UTC 2014 - Led - -- fix bashisms in write_net_rules script -- update patches: - * 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Tue Nov 18 10:26:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-let-list-units-unit-files-honour-type.patch - 0002-systemctl-obey-state-in-list-unit-files.patch - which allows to use --type in the systemctl command list-units - and list-unit-files. - -------------------------------------------------------------------- -Tue Nov 18 10:10:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - -------------------------------------------------------------------- -Thu Nov 13 14:47:17 UTC 2014 - rmilasan@suse.com - -- New root symlink rule generator - Add 1096-new-udev-root-symlink-generator.patch -- Remove write_dev_root_rule and systemd-udev-root-symlink - -------------------------------------------------------------------- -Thu Nov 13 12:59:05 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip hdflush as well as hddown but only use halt as fallback - for poweroff as well as synch in systemctl before any reboot command - (compare with commit 4a3ad39957399c4a30fc472a804e72907ecaa4f9) - -------------------------------------------------------------------- -Thu Nov 13 09:54:35 UTC 2014 - rmilasan@suse.com - -- Create rule to set I/O scheduler to deadline if device attribute - 'rotational' equals 0, usually SSDs (bnc#904517). - Add 1095-set-ssd-disk-to-use-deadline-scheduler.patch - -------------------------------------------------------------------- -Thu Nov 13 07:50:49 UTC 2014 - thomas.blume@suse.com - -- fix systemd-fstab-generator crypttab parsing (bnc#903963) - -------------------------------------------------------------------- -Tue Nov 11 19:10:35 UTC 2014 - gber@opensuse.org - -- Add pm-utils-hooks-compat.sh in order to run pm-utils sleep hooks - from systemd (boo#904828) - -------------------------------------------------------------------- -Mon Nov 10 14:23:00 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - -------------------------------------------------------------------- -Mon Nov 10 12:39:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - 0002-snapshot-return-error-when-snapshot-exists.patch - 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - 0004-Raise-level-of-Found-dependency.-lines.patch - 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - 0006-journald-fix-minor-memory-leak.patch - 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - 0008-journald-fix-memory-leak-on-error-path.patch - 0009-units-make-systemd-journald.service-Type-notify.patch - 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Mon Nov 10 12:36:34 UTC 2014 - werner@suse.de - -- Add upstream patches - 1092-libudev-do-not-accept-invalid-log-levels.patch - 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - -------------------------------------------------------------------- -Fri Nov 7 09:45:20 UTC 2014 - werner@suse.de - -- Add patch watch_resolv.conf_for_become_changed.patch to add an - inotify watch on /etc/resolv.conf which enables the reload of - a changed resolver configuration on the fly (bsc#902901) -- Do not apply patch 0022-systemd-tmpfiles-ownerkeep.patch in case - if the script /usr/bin/systemd-tmpfiles-keep is missed - -------------------------------------------------------------------- -Mon Nov 3 14:23:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - -------------------------------------------------------------------- -Mon Nov 3 14:17:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - 1091-udev-path_id-update-comments.patch - which will be applied if patch - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - is applied a this may fix the trouble with iSCSI (bnc#898233) - -------------------------------------------------------------------- -Thu Oct 30 10:45:01 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - 0005-journalctl-correct-help-text-for-until.patch - 0006-calendarspec-fix-typo-in-annually.patch - 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - 0008-util-introduce-sethostname_idempotent.patch - 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -- Replace patch - keep-crypt-password-prompt.patch as this with - upstream patch - 0012-manager-do-not-print-anything-while-passwords-are-be.patch - -------------------------------------------------------------------- -Fri Oct 24 13:02:45 UTC 2014 - werner@suse.de - -- Add upstream patch - 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -- Add patch journald-advice-about-use-of-memory.patch to use mmap() - flags as well as madvise(2) for journal files. - -------------------------------------------------------------------- -Thu Oct 23 14:05:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - 0004-journal-do-server_vacuum-for-sigusr1.patch - 0005-cryptsetup-fix-an-OOM-check.patch - -------------------------------------------------------------------- -Wed Oct 22 13:56:22 UTC 2014 - werner@suse.de - -- Add upstream patch 1089-fix-cgroup-device-controller.patch - to avoid trouble on existing /dev/console with nspawn (bsc#902240) - -------------------------------------------------------------------- -Tue Oct 21 11:03:31 UTC 2014 - werner@suse.de - -- Modify patch avoid-leaking-socket-descriptors.patch to close - file descriptors for incomming connections in pam module in case - of short memory. - -------------------------------------------------------------------- -Mon Oct 20 14:10:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-continue-switch-root-even-if-umount-fails.patch - 0002-systemd-try-harder-to-bind-to-notify-socket.patch -- Add patch avoid-leaking-socket-descriptors.patch to close - file descriptors if an incomming connection can not be handled - due e.g. short memory. Could be related to bsc #901481 - -------------------------------------------------------------------- -Wed Oct 15 12:03:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-shell-completion-fix-completion-of-inactive-units.patch - 0002-shell-completion-propose-templates-for-disable-re-en.patch - 0003-man-we-don-t-have-Wanted-dependency.patch - 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - -------------------------------------------------------------------- -Wed Oct 15 08:48:36 UTC 2014 - werner@suse.de - -- Adapt patch - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - to make it work even with patch #438 and #439 - -------------------------------------------------------------------- -Tue Oct 14 16:23:51 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - 0001-tmpfiles-compare-return-against-correct-errno.patch - -------------------------------------------------------------------- -Tue Oct 14 16:19:42 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - 0003-sd-bus-check-return-value-of-vasprintf.patch - 0004-core-map-the-rescue-argument-to-rescue.target.patch - 0005-util-avoid-double-close-of-fd.patch - -------------------------------------------------------------------- -Tue Oct 14 16:18:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - 0003-fileio-label-return-error-when-writing-fails.patch - 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - 0004-sd-event-check-the-value-of-received-signal.patch - 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - -------------------------------------------------------------------- -Tue Oct 14 14:46:58 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue Oct 14 14:16:52 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journalctl-do-not-output-reboot-markers-when-running.patch - 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - -------------------------------------------------------------------- -Tue Oct 14 13:58:45 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-logind-add-support-for-Triton2-Power-Button.patch - 0002-logind-add-support-for-TPS65217-Power-Button.patch -- Add upstream patches - 0001-shutdownd-clean-up-initialization-of-struct.patch - 0003-bootchart-parse-userinput-with-safe_atoi.patch - 0004-bootchart-check-return-of-strftime.patch - 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - -------------------------------------------------------------------- -Thu Oct 2 07:21:42 PDT 2014 - lduncan@suse.com - -- Revert patch 1063, which incorrectly disallows - /dev/disk/by-path links for iSCSI (and other) - devices. Will be corrected and re-added once - upstream is consulted. (bnc#898233). Disable: - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patc - -------------------------------------------------------------------- -Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - for bsc#893797 - -------------------------------------------------------------------- -Fri Sep 26 09:34:22 UTC 2014 - rmilasan@suse.com - -- Drop renaming virtual interfaces in a guest (bnc#898432). - Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch - -------------------------------------------------------------------- -Thu Sep 25 14:08:35 UTC 2014 - werner@suse.de - -- Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch - to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch - and apply this one - -------------------------------------------------------------------- -Thu Sep 25 13:45:46 UTC 2014 - werner@suse.de - -- Change patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - to fix bsc#898240 - -------------------------------------------------------------------- -Thu Sep 25 09:06:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - 0002-bus-remove-unused-check.patch - -------------------------------------------------------------------- -Wed Sep 24 15:05:49 UTC 2014 - werner@suse.de - -- Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to - be able to avoid killing a running kmod/modprobe (bnc#889297) - -------------------------------------------------------------------- -Wed Sep 24 08:36:42 UTC 2014 - werner@suse.de - -- Update patch 0001-bnc888612-logind-polkit-acpi.patch - -------------------------------------------------------------------- -Wed Sep 24 07:47:54 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-pause-devices-before-acknowledging-VT-switches.patch - May help that history of the shell is saved - 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) - 0002-util-avoid-non-portable-__WORDSIZE.patch - -------------------------------------------------------------------- -Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de - -- Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic - to solve bnc#888612 - AUDIT-0: Power button press at gdm login - should not prompt for credentials - -------------------------------------------------------------------- -Fri Sep 19 11:36:48 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - 0005-shared-label.h-add-missing-stdio.h-include.patch - 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - 1081-udevd-check-return-of-various-functions.patch - 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - 1083-udev-node-warn-if-chmod-chown-fails.patch - 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - 1085-udev-fix-typos.patch - 1086-udevd-don-t-fail-if-run-udev-exists.patch - -------------------------------------------------------------------- -Thu Sep 18 13:21:45 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-core-fix-resource-leak-in-manager_environment_add.patch - 0002-util-remove-a-unnecessary-check.patch - 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - 0004-shared-conf-parser.patch - 0005-logind-fix-typo.patch - 0006-systemctl-fix-resource-leak-CID-1237747.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -- Remove 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch as - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - is the upstream solution - -------------------------------------------------------------------- -Wed Sep 17 16:02:33 UTC 2014 - werner@suse.de - -- Add patch 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch to - fix for the size of the gcc builtin type bool also known as _Bool - from the include header stdbool.h. - -------------------------------------------------------------------- -Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de - -- Add upstream patches as real fixes - 0001-activate-fix-fd-leak-in-do_accept.patch - 0002-analyze-avoid-a-null-dereference.patch - 0003-analyze-fix-mem-leak.patch - 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - 0006-bus-unref-buscreds-on-failure.patch - 0007-core-fix-a-potential-mem-leak.patch - 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - 0009-journal-do-not-leak-mmaps-on-OOM.patch - 0010-manager-use-correct-cleanup-function.patch -- Intergrate the work of Robert and rename the patch - 1068-udev-remove-userspace-firmware-loading-support.patch - to 1078-udev-remove-userspace-firmware-loading-support.patch - Also add patch - 1079-udev-remove-userspace-firmware-loading-support.patch - to apply the same change for opensuse 13.2 and above - -------------------------------------------------------------------- -Tue Sep 16 10:21:02 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemctl-allow-to-change-the-default-target-without.patch - to allow to override default target without --force (bnc#896664) - -------------------------------------------------------------------- -Tue Sep 16 09:10:52 UTC 2014 - werner@suse.de - -- Add upstream patches for udev - 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - 1070-rules-net-setup-link-remove-stray-linebreak.patch - 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - 1072-udev-netif_rename-don-t-log-to-kmsg.patch - 1073-udev-drop-print_kmsg.patch - 1074-udev-fix-copy-paste-error-in-log-message.patch - 1075-udev-timeout-increase-timeout.patch (bnc#889297) - 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - -------------------------------------------------------------------- -Tue Sep 16 07:55:37 UTC 2014 - rmilasan@suse.com - -- udev: remove userspace firmware loading support (bnc#889297). - Add 1068-udev-remove-userspace-firmware-loading-support.patch - -------------------------------------------------------------------- -Sat Sep 13 13:35:33 UTC 2014 - rmilasan@suse.com - -- udev: always resolve correctly database names on 'change' event (bnc#864745). - Add 1067-udev-always-resolve-correctly-database-names-on-chan.patch - -------------------------------------------------------------------- -Tue Sep 9 14:36:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0009-hwdb-update.patch - -------------------------------------------------------------------- -Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de - -- Disable patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - for SLES-12 as well as for openSUSE-13.2 (bnc#895087) - -------------------------------------------------------------------- -Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com - -- udev: add option to generate old 'buggy' serials (bnc#886852) - Add 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch - -------------------------------------------------------------------- -Tue Sep 2 09:14:03 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-login-simplify-controller-handling.patch - -------------------------------------------------------------------- -Mon Sep 1 13:00:29 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-completion-filter-templates-from-restartable-units.patch - 0002-systemd-fix-error-message.patch - 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - 0004-config-parser-fix-mem-leak.patch - 0005-login-fix-mem-leak.patch - 1065-udev-bump-event-timeout-to-60-seconds.patch - -------------------------------------------------------------------- -Fri Aug 29 14:14:06 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-nspawn-fix-network-interface.patch to - make option network-interface of systemd-nspawn work - -------------------------------------------------------------------- -Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-fix-memory-leak-on-DropController.patch - 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -- Add upstream patch - 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - to avoid that hwdb ID's for unrecognised USB device are taken - from the USB hub. - -------------------------------------------------------------------- -Wed Aug 27 16:01:17 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - -------------------------------------------------------------------- -Wed Aug 27 12:52:09 UTC 2014 - werner@suse.de - -- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to - use RNDADDENTROPY ioctl to load random-seed and to increase - entropy count as well (bnc#892096) - -------------------------------------------------------------------- -Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de - -- Add upstream patches for hwdb - 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - 0003-keymap-Fix-HP-Pavillon-DV7.patch - 0004-hwdb-update-format-description-and-document-reloadin.patch - 0008-hwdb-update.patch - -------------------------------------------------------------------- -Tue Aug 26 11:25:57 UTC 2014 - werner@suse.de - -- Port back and add the missed upstream patches from 2014/08/22 - 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - 0006-login-share-VT-signal-handler-between-sessions.patch - -------------------------------------------------------------------- -Fri Aug 22 15:12:23 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - 0002-switch-root-umount-the-old-root-correctly.patch - 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - -------------------------------------------------------------------- -Fri Aug 22 01:29:06 UTC 2014 - crrodriguez@opensuse.org - -- man pages from section 3 are developer docs, move them to - the -devel package. - -------------------------------------------------------------------- -Wed Aug 20 15:06:25 UTC 2014 - werner@suse.de - -- Add patch 0001-let-systemctl-completion-ignore-at-names.patch to - remove error messages for tab completion for systemctl isolate (bnc#892162) - -------------------------------------------------------------------- -Mon Aug 18 14:40:55 UTC 2014 - werner@suse.de - -- Disable the usage of the systemd groups wheel and adm (bnc#892300) - -------------------------------------------------------------------- -Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com - -- Set default permissions for GenWQE device nodes to 0666 (bnc#890977). - Add 1062-rules-set-default-permissions-for-GenWQE-devices.patch - -------------------------------------------------------------------- -Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de - -- Add upstream patches - 0007-hwdb-update.patch - 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - -------------------------------------------------------------------- -Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com - -- Rename: - udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - to - 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 21:10:21 UTC 2014 - jeffm@suse.com - -- udev: use device mapper target name for btrfs device ready (bnc#888215). -- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 12:53:07 UTC 2014 - werner@suse.de - -- Add patch tomcat6-var-lock-subsys-legacy.patch to add the - compatibility directory /var/lock/subsys (bnc#889357) - -------------------------------------------------------------------- -Wed Jul 30 11:45:21 UTC 2014 - werner@suse.de - -- Add portabiltiy patch - 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - -------------------------------------------------------------------- -Wed Jul 30 11:32:23 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-sysv-order-initscripts-which-provide-network-before-.patch - 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - 0003-keymap-Annotate-all-micmute-workarounds.patch - -------------------------------------------------------------------- -Wed Jul 30 11:10:34 UTC 2014 - werner@suse.de - -- Add patch tty-ask-password-agent-on-console.patch that is for system - console do ask passphrases on all devices of the console (bnc#886211) - -------------------------------------------------------------------- -Wed Jul 30 11:02:27 UTC 2014 - werner@suse.de - -- Add former SUSE and/now upstream patches (bnc#889297) - 1056-udevd-add-event-timeout-commandline-option.patch - 1057-udev-unify-event-timeout-handling.patch - 1058-udev-unify-event-timeout-handling.patch (backport for - compatibility if patch 1022 is not applied) - 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - -------------------------------------------------------------------- -Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de - -- Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid - rpmlink warning -- Add upstream patches - 0001-bus-proxyd-fix-incorrect-comparison.patch - 0002-shell-completion-prevent-mangling-unit-names.patch - 0003-Always-check-asprintf-return-code.patch - 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - 0006-parse_boolean-require-exact-matches.patch - 0007-drop_duplicates-copy-full-BindMount-struct.patch - 0008-shell-completion-prevent-mangling-unit-names-bash.patch - 0009-journald-always-add-syslog-facility-for-messages-com.patch - -------------------------------------------------------------------- -Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de - -- Disable blkrrpart for SLES12 and below - -------------------------------------------------------------------- -Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de - -- Add upstream patch - 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch -- Add with condition blkrrpart to be able to disable the patches - 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 - which uses the BLKRRPART ioctl for e.g. synthesize change events - which may interfere with other tools like parted. - -------------------------------------------------------------------- -Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com - -- Update - handle-disable_caplock-and-compose_table-and-kbd_rate.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch: read - /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) - otherwise empty value in /etc/sysconfig/keyboard might override - /etc/vconsole.conf values. -- Update : - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - apply-ACL-for-nvidia-device-nodes.patch - keep-crypt-password-prompt.patch - log-target-null-instead-kmsg.patch - parse-crypttab-for-noauto-option.patch - set-and-use-default-logconsole.patch: fix all warnings in code -- Remove 0001-compress-fix-return-value.patch: not relevant to - systemd v210 code. - -------------------------------------------------------------------- -Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - -- Also change udev-generate-peristent-rule to udev-generate-persistent-rule - in file list - -------------------------------------------------------------------- -Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com - -- Rename (fix typo in script name): - udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh - -------------------------------------------------------------------- -Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com - -- Enable better checks in write_net_rules to skip adding duplicated - entries in the generate rules (bnc#888178). - Add 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de - -- Change patch set-and-use-default-logconsole.patch to avoid to - write security/authorization (private) messages to console - -------------------------------------------------------------------- -Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de - -- Add patch set-and-use-default-logconsole.patch to use and set - the default logging console for both journald and kernel messages - -------------------------------------------------------------------- -Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-bash-completion-p-option-for-journalctl.patch - 0002-journalctl-man-allow-only-between-terms.patch - 0003-systemd-use-pager-for-test-and-help.patch - -------------------------------------------------------------------- -Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de - -- Use verify scripts and add permission files for systemd logger -- Avoid useless warning about static systemd unit files -- Make pam file a config file -- Remove non-break-space from this changelog - -------------------------------------------------------------------- -Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-compress-fix-return-value.patch - 0002-Be-more-verbose-when-bind-or-listen-fails.patch - 0003-Add-quotes-to-warning-message.patch - 0004-systemd-return-the-first-error-from-manager_startup.patch - -------------------------------------------------------------------- -Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de - -- Replace patch 0001-fix-only-discover-Xen-domU.patch with - upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch -- Replace patch 0001-detect-s390-virt.patch with upstream - patch 0001-systemd-detect-virt-detect-s390-virtualization.patch - -------------------------------------------------------------------- -Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-po-add-Ukrainian-translation.patch - 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -- Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream - patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch - -------------------------------------------------------------------- -Thu Jul 17 06:32:51 UTC 2014 - rmilasan@suse.com - -- Check if NAME key has a value before going thru the rule (bnc#885232). - Add 1051-check-if-NAME-has-a-value.patch - -------------------------------------------------------------------- -Wed Jul 16 16:33:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - 0002-units-serial-getty-.service-use-the-default-RestartS.patch - 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - -------------------------------------------------------------------- -Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com - -- Only rename SRIOV-VF devices if device name start with eth (bnc#885232). - Add 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch - -------------------------------------------------------------------- -Tue Jul 15 07:39:40 UTC 2014 - werner@suse.de - -- Add patch vhangup-on-all-consoles.patch that is do a vhangup on - lines (bnc#886599) - -------------------------------------------------------------------- -Tue Jul 15 06:29:54 UTC 2014 - jlee@suse.com - -- Removed %{_libexecdir}/modules-load.d/efivars.conf because the kernel - patch of autoload efivars driver accepted by linux-efi upstream. - (bnc#881559) - https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=be756a5327fe3d4686d74d3e9b273010424e230c - -------------------------------------------------------------------- -Mon Jul 14 14:53:21 UTC 2014 - werner@suse.de - -- Update patch - 1007-physical-hotplug-cpu-and-memory.patch (bnc#869603) -- Add script systemd-remount-tmpfs (bnc#869603) as helper script - for the rule changed in patch 1007-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Mon Jul 14 11:43:12 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-event-pull-in-sd-event.h-from-event-util.h.patch - 0002-util-fix-has-cc-check-and-add-test.patch - 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - 0004-fileio-quote-more-shell-characters-in-envfiles.patch - -------------------------------------------------------------------- -Fri Jul 11 12:21:06 UTC 2014 - werner@suse.de - -- Only on SLES12 seccomp is available on ppc64 and s390x - -------------------------------------------------------------------- -Thu Jul 10 13:33:32 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - -------------------------------------------------------------------- -Wed Jul 9 13:14:02 UTC 2014 - werner@suse.de - -- Add patches - 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -- Port and add upstream patches - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-journal-compress-improve-xz-compression-performance.patch - -------------------------------------------------------------------- -Wed Jul 9 12:41:53 UTC 2014 - meissner@suse.com - -- enable seccomp also for ppc64 and s390x - -------------------------------------------------------------------- -Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - 0007-service-flush-status-text-and-errno-values-each-time.patch - -------------------------------------------------------------------- -Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de - -- Add upstream patch - 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - -------------------------------------------------------------------- -Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-machine-don-t-return-uninitialized-variable.patch -- Port and add upstream patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - -------------------------------------------------------------------- -Mon Jul 7 13:04:00 UTC 2014 - rmilasan@suse.com - -- Rename - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - to - 1048-udev-net_setup_link-add-a-bit-more-logging.patch - -------------------------------------------------------------------- -Fri Jul 4 10:01:07 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - 0002-namespace-fix-uninitialized-memory-access.patch - -------------------------------------------------------------------- -Fri Jul 4 09:43:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-architecture-Add-tilegx.patch - 0002-architecture-Add-cris.patch - 0003-arch-add-crisv32-to-uname-check.patch - 0004-architecture-remove-cris-from-uname-list.patch - -------------------------------------------------------------------- -Fri Jul 4 09:32:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0006-hwdb-update.patch - 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Jul 3 12:48:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-parse_uid-return-ENXIO-for-1-uids.patch - 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - 0003-localed-consider-an-unset-model-as-a-wildcard.patch - 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - 0005-bus-close-a-bus-that-failed-to-connect.patch - 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - -------------------------------------------------------------------- -Wed Jul 2 18:06:32 UTC 2014 - rmilasan@suse.com - -- Fix duplicated rules when having layer3 interfaces (bnc#882714). - Add 1046-fix-duplicated-rules-with-layer3-interfaces.patch - -------------------------------------------------------------------- -Tue Jul 1 14:53:44 UTC 2014 - werner@suse.de - -- Require correct pam-config version overall even for scriptlets (bnc#885288) - -------------------------------------------------------------------- -Tue Jul 1 12:19:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - 0002-journald-make-MaxFileSec-really-default-to-1month.patch - 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - -------------------------------------------------------------------- -Tue Jul 1 09:58:04 UTC 2014 - werner@suse.de - -- Be aware that close_nointr_nofail() may fail whereas safe_close() not - -------------------------------------------------------------------- -Tue Jul 1 08:56:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - 1044-rules-update-qemu-hid-rules.patch - 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - -------------------------------------------------------------------- -Fri Jun 27 12:46:12 UTC 2014 - werner@suse.de - -- Add upstream bug fix patch - 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch (bnc#882714) - -------------------------------------------------------------------- -Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de - -- Update of patch 0001-detect-s390-virt.patch (bnc#880438) - -------------------------------------------------------------------- -Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de - -- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc - -------------------------------------------------------------------- -Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de - -- Add upstream patchs - 0001-core-use-correct-format-string-for-UIDs.patch - 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - -------------------------------------------------------------------- -Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-units-order-network-online.target-after-network.targ.patch - to make sure that etwork-online.target follows network.target - -------------------------------------------------------------------- -Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com - -- rules: re-enable dev_id conditionally in persistent rules - (bnc#884403 and bnc#882714). - Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch - -------------------------------------------------------------------- -Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - 0005-man-fix-path-in-crypttab-5.patch - -------------------------------------------------------------------- -Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de - -- Add upstream patch - 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it - fixes udevadm settle exit code which may had broken dracut scripts - (bnc#884271 comment#18) - -------------------------------------------------------------------- -Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de - -- Temporary disable patch 1022 (bnc#884271 and bnc#882714). - -------------------------------------------------------------------- -Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com - -- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch - to 1038-udev-fix-invalid-free-in-enable_name_policy.patch - -------------------------------------------------------------------- -Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de - -- Replace patches - 0001-systemd-empty-sigmask-on-reexec.patch with - upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch - ensure-sysctl-are-applied-after-modules-are-loaded.patch with - upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - getty-generator-with-serial-3270-tty.patch with - upstream 0004-getty-generator-properly-escape-instance-names.patch -- Add upstream patches - 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - 0005-po-add-Greek-translation.patch - 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0007-po-add-German-translation.patch - 0009-core-clean-up-signal-reset-logic-when-reexec.patch - 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - 0012-core-transaction-avoid-misleading-error-message-when.patch - -------------------------------------------------------------------- -Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de - -- Invert of the boolean for locking scheme of fsck (bnc#881125) -- Remove the ghost entry /etc/hostname and require the netcfg - -------------------------------------------------------------------- -Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com - -- make sure legacy services that depend on network are started after - network is available (bnc#883565) - * 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - * update insserv-generator.patch to translate $network into - network-online.target - -------------------------------------------------------------------- -Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de - -- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438) - to detect the virtualization layers on s390x as well - -------------------------------------------------------------------- -Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de - -- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51) - add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from - Roberts suggestion as well as readd - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-fix-invalid-free-in-killall.patch - 0002-udev-fix-invalid-free-in-enable_name_policy.patch - 0003-install-fix-invalid-free-in-unit_file_mask.patch - -------------------------------------------------------------------- -Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com - -- rules: disable usage of dev_id in persistent rules (bnc#882714). - add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch -- Disable patch (bnc#882714). - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de - -- Add patch - 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch - from Hannes Reinecke to avoid a race condition between variable - 'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942) - -------------------------------------------------------------------- -Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de - -- Add workaround for bnc#882393 by adding the systemd update utmp - runlevel service to the wanted unit of e.g. the graphical target -- Add some later on created files to our file list - -------------------------------------------------------------------- -Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com - -- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars - module at boot time not from udev (bnc#881559). - -------------------------------------------------------------------- -Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org - -- Do not build EFI support code in architectures on which - the kernel does not support CONFIG_EFI, it won't work. - (ia64 also supports it, but that's dead so is not included) - -------------------------------------------------------------------- -Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de - -- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch - there is no need to clean out all 30 days the index data base - files nor the cachedir tags of mandb. Those files are used - for whatis(1) as well as for apropos(1). - -------------------------------------------------------------------- -Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de - -- Do not override predictable names for openSUSE - -------------------------------------------------------------------- -Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de - -- Remove systemd-detect-xendom.patch as it becomes obsolete with - upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -- Add upstream patches - 0001-umount-modernizations.patch - 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - 0003-core-allow-transient-mount-units.patch - 0004-systemd-detect-virt-only-discover-Xen-domU.patch - 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - -------------------------------------------------------------------- -Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1033-udev-really-exclude-device-mapper-from-block-device.patch - 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - -------------------------------------------------------------------- -Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de - -- Change detection of new locking scheme of fsck - -------------------------------------------------------------------- -Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de - -- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent - rules as a default on SLES-12 and predictable rules as a default - otherwise -- Add cflags shell function to check possible flags for the compiler - as well as for the linker - -------------------------------------------------------------------- -Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - 1026-udevd-inotify-modernizations.patch - 1027-udev-synthesize-change-events-for-partitions-when-to.patch - 1028-udev-link-config-fix-mem-leak.patch - 1029-udev-try-first-re-reading-the-partition-table.patch - 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - -------------------------------------------------------------------- -Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-event-restore-correct-timeout-behaviour.patch - 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - -------------------------------------------------------------------- -Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch - -------------------------------------------------------------------- -Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de - -- Add dynamic detection of util-linux version to be able to - disable the fsck option -l for version less than 2.25.0 - -------------------------------------------------------------------- -Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * The patches - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and - ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch - indeed mention unit files which do not exist anymore. -- Make sure that systemd-ask-password-wall.service has a tty as - it is not sure that a tty1 exists -- Avoid broken firmware loading on newer distributions as 13.1 - -------------------------------------------------------------------- -Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de - -- Correct version check for the tcp-devel drop -- Use correct permissions for /var/log/journal -- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) - -------------------------------------------------------------------- -Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org - -- Correct the libseccomp distribution version test must be >= 13.1 -- In order to use unit directive AppArmorProfile= libapparmor-devel - must be present in buildRequires. - -------------------------------------------------------------------- -Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com - -- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm - device (bnc#879767). - -------------------------------------------------------------------- -Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * fix keep-crypt-password-prompt.patch which floods the system - logs with bogus opendir failures, still the wrong thing to do however. - * Use %find_lang to collect locale files - * systemd-no-libattr.patch: systemd does not require libattr - but just sys/xattr.h, therefore drop the dependency. - (from upstream) - * Again, drop tcp-devel from buildRequires, this time it is not a - SUSE specific feature removal, tcpd supportdisappeared in systemd - 212 and we shouldn't keep it around. -- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - that is rename systemd-no-libattr.patch to git format -- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor - for openSUSE 13.1 - -------------------------------------------------------------------- -Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-rework-container-detection-logic.patch - 0002-fsck-include-device-name-in-the-message-about-missin.patch - 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - 0004-util-ignore_file-should-not-allow-files-ending-with.patch - 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -- Add upstream patches to update keyboard data base - 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -- Add upstream patches for udev - 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - 1024-udev-always-close-lock-file-descriptor.patch - -------------------------------------------------------------------- -Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com - -- Fix enabling predictable rules when using net.ifnames=1. - update: 1021-udev-re-add-persistent-net-rules.patch - -------------------------------------------------------------------- -Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com - -- Re-add persistent rules as a default and make predictable rules as - fallback (bnc#880732). - add: 1021-udev-re-add-persistent-net-rules.patch -- udev: remove seqnum API and all assumptions about seqnums - add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue May 27 07:23:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Do-not-unescape-unit-names-in-Install-section.patch - 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - -------------------------------------------------------------------- -Mon May 26 16:34:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 1020-udev-keyboard-also-hook-into-change-events.patch - -------------------------------------------------------------------- -Mon May 26 15:25:28 UTC 2014 - werner@suse.de - -- Add upstream patches to update keyboard data base - 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -- Add upstream patches - 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - 0002-nspawn-restore-journal-directory-is-empty-check.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0004-socket-properly-handle-if-our-service-vanished-durin.patch - -------------------------------------------------------------------- -Wed May 21 19:23:32 UTC 2014 - coolo@suse.com - -- fix file list of systemd.pc - -------------------------------------------------------------------- -Wed May 21 13:24:13 UTC 2014 - werner@suse.de - -- Add a workaround for old distributions like 13.1 to avoid - deadlocks due NFS shares stopped after network - -------------------------------------------------------------------- -Wed May 21 10:23:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - 0002-journal-properly-detect-language-specified-in-line.patch - 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - -------------------------------------------------------------------- -Wed May 21 10:14:32 UTC 2014 - werner@suse.de - -- Add upstream patches to update usb and pci company identifiers - 0001-hwdb-update.patch - 0002-hwdb-update.patch - 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - 0004-hwdb-update.patch - 0005-hwdb-update.patch - -------------------------------------------------------------------- -Wed May 21 08:33:34 UTC 2014 - werner@suse.de - -- Move systemd.pc and udev.pc to their main packages (bnc#876587) - -------------------------------------------------------------------- -Tue May 20 12:13:05 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - 0002-man-note-that-entire-sections-can-now-be-ignored.patch - 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - 0006-login-add-mir-to-the-list-of-session-types.patch - 0007-logind-fix-Display-property-of-user-objects.patch - -------------------------------------------------------------------- -Tue May 20 11:31:46 UTC 2014 - werner@suse.de - -- Add upstream patches to update BluTooth company identifiers - 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue May 20 11:03:54 UTC 2014 - werner@suse.de - -- Add upstream patches to allow processes to serialize block device - events, also do execute the RUN tag if rename of a network device - fails: - 1016-udev-serialize-synchronize-block-device-event-handli.patch - 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - 1018-udev-avoid-use-of-uninitialized-err.patch -- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - -------------------------------------------------------------------- -Mon May 19 13:21:18 UTC 2014 - werner@suse.de - -- Add upstream patches mainly for better lid handling (bnc#878525 - and bnc#868019) - 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - 0002-logind-fix-printf-format.patch - 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - 0008-man-update-journald-rate-limit-defaults.patch - 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - 0010-logind-allow-suspending-if-there-are-no-displays.patch - -------------------------------------------------------------------- -Fri May 16 12:00:12 UTC 2014 - werner@suse.de - -- Make baselibs.conf aware to use the appropiate %post and %postun - scriptlets which includes pam-config (bnc#877674) - -------------------------------------------------------------------- -Fri May 16 11:47:06 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-close-socket-fds-asynchronously.patch - 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - -------------------------------------------------------------------- -Wed May 14 07:37:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - to avoid that in pam session unwanted file descriptors are inherited - -------------------------------------------------------------------- -Tue May 13 08:28:05 UTC 2014 - werner@suse.de - -- Add patch log-target-null-instead-kmsg.patch from Thomas Blume - to enable the kernel developers to see a clean kmsg ring buffer - without any systemd/udev messages included (bnc#877021) - -------------------------------------------------------------------- -Mon May 12 13:35:25 UTC 2014 - werner@suse.de - -- Add upstream patches for backlight - 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - 0002-backlight-do-nothing-if-max_brightness-is-0.patch - 0003-backlight-unify-error-messages.patch - 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - -------------------------------------------------------------------- -Mon May 12 13:28:20 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - 0003-analyze-fix-plot-with-bad-y-size.patch - 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - -------------------------------------------------------------------- -Mon May 12 12:25:13 UTC 2014 - rmilasan@suse.com - -- Drop upstream-net_id-changes.patch and replace them with the correct - patches from upstream and their commits: - add: 1014-udev-update-net_id-comments.patch - add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - -------------------------------------------------------------------- -Wed May 7 10:42:27 UTC 2014 - werner@suse.de - -- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume - to handle the option 'noauto' in /etc/crypttab (bnc#742774) - -------------------------------------------------------------------- -Wed May 7 09:23:01 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to have the correct terminal type used with agetty -- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - to allow users to access systemd user journal (bnc#876694) - -------------------------------------------------------------------- -Mon May 5 14:02:16 UTC 2014 - werner@suse.de - -- Port upstream patch - 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - back to 210 -- Add patch keep-crypt-password-prompt.patch from Thomas Blume - to fix bnc#875502 - fails to boot when swap space is encrypted -- Port upstream patch set for net_id back in patch - upstream-net_id-changes.patch - -------------------------------------------------------------------- -Fri May 2 10:12:26 UTC 2014 - werner@suse.de - -- Add patch shut-up-annoying-assertion-monotonic-clock-message.patch - to avoid annyoing messages on failing dual_timestamp_is_set in the - kernel's message ring buffer - -------------------------------------------------------------------- -Wed Apr 30 12:14:32 UTC 2014 - werner@suse.de - -- Update udev-generate-peristent-rule.sh from latest git - -------------------------------------------------------------------- -Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to avoid also ANSI escape sequences for busy jobs on s390 - -------------------------------------------------------------------- -Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-bash-completion-fix-__get_startable_units.patch - 0002-sysctl-replaces-some-slashes-with-dots.patch - 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - 0004-implement-a-union-to-pad-out-file_handle.patch -- Add patch respect-nfs-bg-option.patch from Thomas Blume: - System fails to boot if nfs mounts get added to fstab (bnc#874665) - -------------------------------------------------------------------- -Wed Apr 23 11:46:41 UTC 2014 - oneukum@suse.com - -- Do not use runtime PM for some IBM consoles (bnc#868931) - 1013-no-runtime-PM-for-IBM-consoles.patch - -------------------------------------------------------------------- -Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de - -- Extend avoid-divide-by-zero-sigtrap.patch to make the crash - handler know about SIGTRAP and SIGSYS - -------------------------------------------------------------------- -Thu Apr 17 13:37:06 UTC 2014 - werner@suse.de - -- Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 - that is a divide by zero on a jobless system - -------------------------------------------------------------------- -Wed Apr 16 10:17:13 UTC 2014 - werner@suse.de - -- Use latest regenerate-initrd rpm macros (fate#313506) -- Add rescue-emergency-target-conflicts.patch to avoid that - emergency and rescue sulogin are fighting on console - -------------------------------------------------------------------- -Tue Apr 15 12:19:24 UTC 2014 - werner@suse.de - -- Modify systemd-sleep-grub to let hybrid-sleep.target work even - on XEN, changes from Thomas Blume (bnc#873432) - -------------------------------------------------------------------- -Mon Apr 14 13:55:36 UTC 2014 - werner@suse.de - -- Add backported upstream patch - 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -- Add patch systemd-detect-xendom.patch from Thomas Blume - to be able to detect XEN dom0 as well as domU -- systemd conflicts with sysvinit, ven if the package systemd-sysvinit - does already conflict with sysvinit-init (bnc#873444) - -------------------------------------------------------------------- -Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de - -- Add two patches from hare@suse.com - 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch - 1012-Skip-persistent-device-link-creation-on-multipath-de.patch - to solve bnc#872929 - -------------------------------------------------------------------- -Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com - -- Increase result size for programs stdout (bnc#867840). - add: 1010-udev-increase-result-size-for-programs.patch -- Update udev-generate-peristent-rule.sh to the latest version. -- Clean-up spec file, re-arange patch to suit the setup, all udev - patches start with 1XXX-*.{patch,diff}. -- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to - 1009-cdrom_id-use-the-old-MMC-fallback.patch -- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to - 0009-make-xsltproc-use-correct-ROFF-links.patch -- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to - 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Rename: 1014-journald-with-journaling-FS.patch to - 0014-journald-with-journaling-FS.patch -- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to - 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to - 0019-make-completion-smart-to-be-able-to-redirect.patch -- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to - 0022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de - -- Add patch portmap-wants-rpcbind-socket.patch to make sure that - rpcbind socket as well as service is up with the target -- Add or port upstream bugfix patches: - 0001-journal-fix-export-of-messages-containing-newlines.patch - 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - 0003-tty-ask-password-agent-return-negative-errno.patch - 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - 0005-systemd-python-fix-failing-assert.patch - -------------------------------------------------------------------- -Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - 0005-sd-daemon-fix-incorrect-variable-access.patch - 0006-sd-event-initialization-perturbation-value-right-bef.patch - 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -- Modify patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to work together with - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - -------------------------------------------------------------------- -Fri Mar 28 08:10:13 UTC 2014 - werner@suse.de - -- Use Robert's revised 1006-udev-always-rename-network.patch - -------------------------------------------------------------------- -Tue Mar 25 17:28:18 UTC 2014 - werner@suse.de - -- Readd patch Forward-suspend-hibernate-calls-to-pm-utils.patch - older code base as 13.1 only -- Add patch avoid-random-hangs-on-timeouts-due-lost-cwd.patch - to be able to terminate the user manager even if cwd of the - user is gone - -------------------------------------------------------------------- -Tue Mar 25 13:08:56 UTC 2014 - thomas.blume@suse.com - -- add prepare-suspend-to-disk.patch - enable suspend conditions check and preparation for systemd-sleep - (fate#316824, bnc#856389, bnc#856392) -- remove Forward-suspend-hibernate-calls-to-pm-utils.patch since it is obsolete - (bnc#856392#c20) -- add boot-local-start.patch - fix startup for /etc/init.d/boot.local (bnc#869142) - -------------------------------------------------------------------- -Mon Mar 24 11:19:38 UTC 2014 - coolo@suse.com - -- also autoreconf in systemd-mini to simplify spec file logic - and fix build in staging:gcc49 - (obsoleting 0002-make-209-working-on-older-dist.patch) - -------------------------------------------------------------------- -Wed Mar 19 13:21:37 UTC 2014 - werner@suse.de - -- Be sure that the refreshed manual pages are installed - -------------------------------------------------------------------- -Wed Mar 19 12:09:31 UTC 2014 - werner@suse.de - -- Add patch systemctl-set-default-target.patch which explain how - to override the default.target by using --force (bnc#868439) - -------------------------------------------------------------------- -Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de - -- Add Robert's udev-generate-peristent-rule shell script to - udev's tool library -- Add or port upstream bugfix patches: - 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - 0007-networkd-fix-typo.patch - 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - 0012-journald-remove-stray-reset-of-error-return-value.patch - 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - -------------------------------------------------------------------- -Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de - -- Add patch getty-generator-with-serial-3270-tty.patch to avoid - harmless error messages on not existing getty@3270 files - -------------------------------------------------------------------- -Fri Mar 14 11:07:29 UTC 2014 - werner@suse.de - -- Replace systemd-big-endian-reply-matching.patch with upstream - 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - to solve broken systemd communication with and over dbus (bnc#866732) - -------------------------------------------------------------------- -Fri Mar 14 08:30:57 UTC 2014 - werner@suse.de - -- Readd patch 1008-add-msft-compability-rules.patch for - older code base as 13.1 -- Modify pre_checkin.sh to throw an error if a patch will be - applied which modifies one of Makefile.am, Makefile.in, or - configiure.ac as this breaks bootstrapping -- Add second version of make-209-working-on-older-dist.patch - to be able to apply for bootstrapping version - -------------------------------------------------------------------- -Thu Mar 13 17:35:11 UTC 2014 - schwab@linux-m68k.org - -- Don't require non-existing binutils-gold - -------------------------------------------------------------------- -Thu Mar 13 15:43:19 UTC 2014 - werner@suse.de - -- Avoid file conflict between udev and systemd (bnc#868230) - -------------------------------------------------------------------- -Wed Mar 12 16:52:09 UTC 2014 - werner@suse.de - -- Modify patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) - -------------------------------------------------------------------- -Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de - -- Add patch systemd-big-endian-reply-matching.patch - make sure that systemd can talk with dbus-daemon even on big - endian systems (bnc#866732) - -------------------------------------------------------------------- -Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com - -- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch -- Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only - needed for quering default DBus directories, which we nowpass to configure. - This also unbreaks libdbus <-> systemd-miniBuild Cycle - -------------------------------------------------------------------- -Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - 0002-manager-flush-memory-stream-before-using-the-buffer.patch - 0003-busname-don-t-drop-service-from-the-result-string.patch - 0004-fix-off-by-one-error-in-array-index-assertion.patch - 0005-logind-fix-policykit-checks.patch - 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - 0007-dbus-suppress-duplicate-and-misleading-messages.patch - 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - -------------------------------------------------------------------- -Tue Mar 11 07:47:55 UTC 2014 - werner@suse.de - -- Make compeletion file parser work (bnc#867664) - -------------------------------------------------------------------- -Fri Mar 7 14:50:39 CET 2014 - hare@suse.de - -- Integrate powerd handling in initctl service - + Remove 1016-support-powerfail-with-powerstatus.patch - + Remove systemd-powerfail - + Add systemd-powerd-initctl-support.patch -- Remove 61-msft.rules; superseded by sg3_utils (bnc#866933) -- Persistent by-path links for ATA devices (FATE#317063) - + Update 1001-re-enable-by_path-links-for-ata-devices.patch - -------------------------------------------------------------------- -Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-Fix-systemd-stdio-bridge-symlink.patch - 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - 0004-man-document-missing-options-of-systemd-run.patch - 0005-systemd-run-add-some-extra-safety-checks.patch - 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - 0007-journal-forget-file-after-encountering-an-error.patch - 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - 0010-man-update-link-to-LSB.patch - 0011-man-systemd-bootchart-fix-spacing-in-command.patch - 0012-man-add-missing-comma.patch - 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - -------------------------------------------------------------------- -Fri Mar 7 08:00:31 UTC 2014 - werner@suse.de - -- Add linker scripts as place holder of the old systemd shared - libraries now all included in libsystemd.so (bnc#867128) - -------------------------------------------------------------------- -Tue Mar 4 10:37:02 UTC 2014 - werner@suse.de - -- Make patch 1006-udev-always-rename-network.patch work again - and add it again. - -------------------------------------------------------------------- -Mon Mar 3 15:23:57 UTC 2014 - thomas.blume@suse.com - -- address missing owner functionality in systemd-tmpfiles (fate#314974) - 1022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Mon Mar 3 14:49:48 UTC 2014 - werner@suse.de - -- Generate the bash completion files on the fly for the case of - not having the package bash-completion around -- Add or port upstream bugfix patches: - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - 0002-cdrom_id-use-the-old-MMC-fallback.patch - 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - 0004-logs-show-fix-corrupt-output-with-empty-messages.patch - 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - 0008-README-document-that-var-run-must-be-a-symlink-run.patch - 0010-Replace-var-run-with-run-in-remaining-places.patch - 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - 0014-login-fix-pos-array-allocation.patch - -------------------------------------------------------------------- -Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de - -- Update to Release v210 - + systemd will now relabel /dev after loading the SMACK policy - according to SMACK rules. - + A new unit file option AppArmoreProfile= has been added to - set the AppArmor profile for the processes of a unit. - + A new condition check ConditionArchitecture= has been added - to conditionalize units based on the system architecture, as - reported by uname()'s "machine" field. - + systemd-networkd now supports matching on the system - virtualization, architecture, kernel command line, host name - and machine ID. - + logind is now a lot more aggressive when suspending the - machine due to a closed laptop lid. - + logind will now watch SW_DOCK switches and inhibit reaction - to the lid switch if it is pressed. - + nspawn will now make use of the devices cgroup controller by - default, and only permit creation of and access to the usual - API device nodes like /dev/null or /dev/random, as well as - access to (but not creation of) the pty devices. - + systemd will now understand the usual M, K, G, T suffixes - according to SI conventions (i.e. to the base 1000) when - referring to throughput and hardware metrics. - + The DeviceAllow= setting in unit files now supports a syntax - to whitelist an entire group of devices node majors at once, - based on the /proc/devices listing. For example, with the - string "char-pts" it is now possible to whitelist all - current and future pseudo-TTYs at once. - + sd-event learned a new "post" event source. Event sources of - this type are triggered by the dispatching of any event - source of a type that is not "post". This is useful for - implementing clean-up and check event sources that are - triggered by other work being done in the program. - + The compatibility libraries for libsystemd-journal.so, - libsystem-id128.so, libsystemd-login.so and - libsystemd-daemon.so do not make use of IFUNC - anymore. -- Dropped systemd patches as those are fixed upstream: - * 0001-units-serial-getty-.service-add-Install-section.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patchc - * 0001-make-tests-with-libseccomp-work.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-units-serial-getty-.service-add-Install-section.patch -- Dropped patches as those do not work anymore - * 1006-udev-always-rename-network.patch -- Renamed systemd patches as seen from git log: - * 0001-cdrom_id-use-the-old-MMC-fallback.patch - become 0002-cdrom_id-use-the-old-MMC-fallback.patch - * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch -- Add several upstream bugfix patches which are missed: - * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - * 0008-README-document-that-var-run-must-be-a-symlink-run.patch - * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - * 0010-Replace-var-run-with-run-in-remaining-places.patch - * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - * 0014-login-fix-pos-array-allocation.patch -- Modified patches to make is build - * 0001-add-network-device-after-NFS-mount-units.patch -- Reenable libseccomp for the architecture for which libseccomp exists - -------------------------------------------------------------------- -Sun Mar 2 15:51:24 CET 2014 - ro@suse.de - -- always install compat pkgconfig files, regardless if - compat libs is enabled or not - -------------------------------------------------------------------- -Sun Mar 2 14:47:23 CET 2014 - ro@suse.de - -- disable use of libseccomp for sle12, library has not been ported - to most architectures -- do not use binutils-gold on s390/s390x, does not exist there -- fix exclude statements for bootstrap case - -------------------------------------------------------------------- -Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de - -- Add upstream patches - + 0001-cdrom_id-use-the-old-MMC-fallback.patch - + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - -------------------------------------------------------------------- -Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de - -- Add patch - 0001-systemd-empty-sigmask-on-reexec.patch - which corrects sigmaks for reexec in initrd (bnc#864904) - -------------------------------------------------------------------- -Fri Feb 28 17:38:06 UTC 2014 - werner@suse.de - -- Add patch - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - to avoid error on not existing file /proc/self/loginuid - -------------------------------------------------------------------- -Fri Feb 28 17:15:38 UTC 2014 - werner@suse.de - -- Make patch - 0001-make-209-working-on-older-dist.patch - more smart that is make configure script les restrictive -- Make patch - apply-ACL-for-nvidia-device-nodes.patch - apply to v209 - -------------------------------------------------------------------- -Fri Feb 28 16:59:25 UTC 2014 - werner@suse.de - -- Update to Release v209 on the base of the work of Stefan Brüns - from declined submit request 223602: - + A new tool "systemd-socket-proxyd" has been added - + Add a new tool to save/restore rfkill state on - shutdown/boot. - + Save/restore state of keyboard backlights in addition to - display backlights on shutdown/boot. - + udev learned a new SECLABEL{} construct to label device - nodes with a specific security label when they appear. For - now, only SECLABEL{selinux} is supported, but the syntax is - prepared for additional security frameworks. - + When the User= switch is used in a unit file, also - initialize $SHELL= based on the user database entry. - + systemd no longer depends on libdbus. All communication is - now done with sd-bus, systemd's low-level bus library - implementation. - + sd-bus: add a light-weight vtable implementation that allows - defining objects on the bus with a simple static const - vtable array of its methods, signals and properties. - + systemd will not generate or install static dbus - introspection data anymore to /usr/share/dbus-1/interfaces, - as the precise format of these files is unclear, and - nothing makes use of it. - + A proxy daemon is now provided to proxy clients connecting - via classic D-Bus AF_UNIX sockets to kdbus, to provide full - compatibility with classic D-Bus. - + A bus driver implementation has been added that supports the - classic D-Bus bus driver calls on kdbus, also for - compatibility purposes. - + A new API "sd-event.h" has been added that implements a - minimal event loop API built around epoll. - + A new API "sd-rntl.h" has been added that provides an API - around the route netlink interface of the kernel, similar in - style to "sd-bus.h". - + A new API "sd-dhcp-client.h" has been added that provides a - small DHCPv4 client-side implementation. This is used by - "systemd-networkd". - + There is a new kernel command line option - "systemd.restore_state=0|1". When set to "0", none of the - systemd tools will restore saved runtime state to hardware - devices. More specifically, the rfkill and backlight states - are not restored. - + The FsckPassNo= compatibility option in mount/service units - has been removed. The fstab generator will now add the - necessary dependencies automatically, and does not require - PID1's support for that anymore. - + journalctl gained a new switch, --list-boots, that lists - recent boots with their times and boot IDs. - + The various tools like systemctl, loginctl, timedatectl, - busctl, systemd-run, ... have gained a new switch "-M" to - connect to a specific, local OS container (as direct - connection, without requiring SSH). - + systemd-run and systemd-analyze also gained support for "-H" - to connect to remote hosts via SSH. This is particularly - useful for systemd-run because it enables queuing of jobs - onto remote systems. - + machinectl gained a new command "login" to open a getty - login in any local container. This works with any container - that is registered with machined (such as those created by - libvirt-lxc or nspawn), and which runs systemd inside. - + machinectl gained a new "reboot" command that may be used to - trigger a reboot on a specific container that is registered - with machined. This works on any container that runs an init - system of some kind. - + systemctl gained a new "list-timers" command to print a nice - listing of installed timer units with the times they elapse - next. - + Alternative reboot() parameters may now be specified on the - "systemctl reboot" command line and are passed to the - reboot() system call. - + systemctl gained a new --job-mode= switch to configure the - mode to queue a job with. This is a more generic version of - --fail, --irreversible, and --ignore-dependencies, which are - still available but not advertised anymore. - + /etc/systemd/system.conf gained new settings to configure - various default timeouts of units, as well as the default - start limit interval and burst. These may still be overridden - within each Unit. - + PID1 will now export on the bus profile data of the security - policy upload process (such as the SELinux policy upload to - the kernel). - + journald: when forwarding logs to the console, include - timestamps (following the setting in - /sys/module/printk/parameters/time). - + OnCalendar= in timer units now understands the special - strings "yearly" and "annually". (Both are equivalent) - + The accuracy of timer units is now configurable with the new - AccuracySec= setting. It defaults to 1min. - + A new dependency type JoinsNamespaceOf= has been added that - allows running two services within the same /tmp and network - namespace, if PrivateNetwork= or PrivateTmp= are used. - + A new command "cat" has been added to systemctl. It outputs - the original unit file of a unit, and concatenates the - contents of additional "drop-in" unit file snippets, so that - the full configuration is shown. - + systemctl now supports globbing on the various "list-xyz" - commands, like "list-units" or "list-sockets", as well as on - those commands which take multiple unit names. - + journalctl's --unit= switch gained support for globbing. - + All systemd daemons now make use of the watchdog logic so - that systemd automatically notices when they hang. - + If the $container_ttys environment variable is set, - getty-generator will automatically spawn a getty for each - listed tty. This is useful for container managers to request - login gettys to be spawned on as many ttys as needed. - + %h, %s, %U specifier support is not available anymore when - used in unit files for PID 1. This is because NSS calls are - not safe from PID 1. They stay available for --user - instances of systemd, and as special case for the root user. - + loginctl gained a new "--no-legend" switch to turn off output - of the legend text. - + The "sd-login.h" API gained three new calls: - sd_session_is_remote(), sd_session_get_remote_user(), - sd_session_get_remote_host() to query information about - remote sessions. - + The udev hardware database now also carries vendor/product - information of SDIO devices. - + The "sd-daemon.h" API gained a new sd_watchdog_enabled() to - determine whether watchdog notifications are requested by - the system manager. - + Socket-activated per-connection services now include a - short description of the connection parameters in the - description. - + tmpfiles gained a new "--boot" option. When this is not used, - only lines where the command character is not suffixed with - "!" are executed. When this option is specified, those - options are executed too. - + systemctl gained a new "import-environment" command which - uploads the caller's environment (or parts thereof) into the - service manager so that it is inherited by services started - by the manager. This is useful to upload variables like - $DISPLAY into the user service manager. - + A new PrivateDevices= switch has been added to service units - which allows running a service with a namespaced /dev - directory that does not contain any device nodes for - physical devices. More specifically, it only includes devices - such as /dev/null, /dev/urandom, and /dev/zero which are API - entry points. - + logind has been extended to support behaviour like VT - switching on seats that do not support a VT. This makes - multi-session available on seats that are not the first seat - (seat0), and on systems where kernel support for VTs has - been disabled at compile-time. - + If a process holds a delay lock for system sleep or shutdown - and fails to release it in time, we will now log its - identity. This makes it easier to identify processes that - cause slow suspends or power-offs. - + When parsing /etc/crypttab, support for a new key-slot= - option as supported by Debian is added. It allows indicating - which LUKS slot to use on disk, speeding up key loading. - + The sd_journald_sendv() API call has been checked and - officially declared to be async-signal-safe so that it may - be invoked from signal handlers for logging purposes. - + Boot-time status output is now enabled automatically after a - short timeout if boot does not progress, in order to give - the user an indication what she or he is waiting for. - + The boot-time output has been improved to show how much time - remains until jobs expire. - + The KillMode= switch in service units gained a new possible - value "mixed". If set, and the unit is shut down, then the - initial SIGTERM signal is sent only to the main daemon - process, while the following SIGKILL signal is sent to - all remaining processes of the service. - + logind will now also track a "Desktop" identifier for each - session which encodes the desktop environment of it. This is - useful for desktop environments that want to identify - multiple running sessions of itself easily. - + A new SELinuxContext= setting for service units has been - added that allows setting a specific SELinux execution - context for a service. - + Most systemd client tools will now honour $SYSTEMD_LESS for - settings of the "less" pager. - + systemd's "seccomp" hook-up has been changed to make use of - the libseccomp library instead of using its own - implementation. This has benefits for portability among - other things. -- Dropped systemd patches as those are fixed upstream: - * 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch - * 0002-fix-lingering-references-to-var-lib-backlight-random.patch - * 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch - * 0004-systemctl-fix-name-mangling-for-sysv-units.patch - * 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch - * 0006-journald-add-missing-error-check.patch - * 0007-bus-fix-potentially-uninitialized-memory-access.patch - * 0008-dbus-fix-return-value-of-dispatch_rqueue.patch - * 0009-modules-load-fix-error-handling.patch - * 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch - * 0011-strv-don-t-access-potentially-NULL-string-arrays.patch - * 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch - * 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch - * 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch - * 0001-gpt-auto-generator-exit-immediately-if-in-container.patch - * 0001-manager-when-verifying-whether-clients-may-change-en.patch - * 0001-logind-fix-bus-introspection-data-for-TakeControl.patch - * 0001-mount-check-for-NULL-before-reading-pm-what.patch - * 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch - * 0001-systemd-serialize-deserialize-forbid_restart-value.patch - * 0001-core-unify-the-way-we-denote-serialization-attribute.patch - * 0001-journald-fix-minor-memory-leak.patch - * 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch - * 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch - * 0001-login-fix-invalid-free-in-sd_session_get_vt.patch - * 0001-login-make-sd_session_get_vt-actually-work.patch - * 0001-Never-call-qsort-on-potentially-NULL-arrays.patch - * 0001-dbus-common-avoid-leak-in-error-path.patch - * 0001-drop-ins-check-return-value.patch - * 0001-shared-util-Fix-glob_extend-argument.patch - * 0001-Fix-bad-assert-in-show_pid_array.patch - * 0001-analyze-set-white-background.patch - * 0001-analyze-set-text-on-side-with-most-space.patch - * analyze-fix-crash-in-command-line-parsing.patch - * 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - * U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * build-sys-make-multi-seat-x-optional.patch - * 1017-skip-native-unit-handling-if-sysv-already-handled.patch - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Dropped backported systemd patches as those are fixed upstream - * 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - * 1011-check-4-valid-kmsg-device.patch - * 0001-logind-garbage-collect-stale-users.patch -- Dropped udev patches as those are fixed fixed upstream: - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch -- Modified patches - * 1006-udev-always-rename-network.patch -- Replaced patches - * the patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - is upstream now but has to be replaced by patch - 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to fix an further issue similar to the upstream patch (bnc#852015) - * the patch - 0001-upstream-systemctl-halt-reboot-error-handling.patch - is upstream now, only the part with the halt after a failed poweroff - has been added to the patch - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - -------------------------------------------------------------------- -Thu Feb 27 15:13:09 UTC 2014 - werner@suse.de - -- Add patch 0001-make-209-working-on-older-dist.patch to make - it usable on older distributions like 13.1 - -------------------------------------------------------------------- -Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de - -- Add patch 0001-add-network-device-after-NFS-mount-units.patch to - add "After" dependency to all NFS shares to the network interface - device as this ensures at shutdown that the NFS share becomes - unmounted before the interface is down (bnc#861489) - -+------------------------------------------------------------------- -------------------------------------------------------------------- -Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de - -- enable compat-libs, BuildRequires binutils-gold - ("old" ld fails on ifunc magic) - -------------------------------------------------------------------- -Sun Feb 23 16:11:22 UTC 2014 - stefan.bruens@rwth-aachen.de - -- add network link configuration for udev - -------------------------------------------------------------------- -Sun Feb 23 15:44:01 UTC 2014 - stefan.bruens@rwth-aachen.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - move to core and link in directly to avoid libudev dep all over -- Disable networkd -- Disable compat-libs, adapt files section -- add and remove some entries in the files section - -------------------------------------------------------------------- -Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de - -- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit - scripts (bnc#863217) - -------------------------------------------------------------------- -Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to do a final sync() and flush the disks - -------------------------------------------------------------------- -Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de - -- Add several upstream bugfix patches which are missed: - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - to avoid potential NULL pointer -- Reorder patches to reflect udev/systemd usage - -------------------------------------------------------------------- -Tue Feb 11 10:53:48 UTC 2014 - coolo@suse.com - -- don't build bash-completions for bootstrap package - -------------------------------------------------------------------- -Tue Feb 11 10:25:26 UTC 2014 - coolo@suse.com - -- add more requires to this-is-only-for-build-envs to avoid - problems in kiwi configs - -------------------------------------------------------------------- -Mon Feb 10 15:15:35 UTC 2014 - werner@suse.de - -- Add patch 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - to be able to kill sessions (bnc#860574) - -------------------------------------------------------------------- -Mon Feb 10 11:19:31 UTC 2014 - werner@suse.de - -- Do not return from main shell script but simply exit (bnc#862789) - -------------------------------------------------------------------- -Sun Feb 9 18:43:38 UTC 2014 - werner@suse.de - -- ... as only the systemd-analyze completion depends on - bash-completion I prefere a without which has to be defined - for SLES 12 - -------------------------------------------------------------------- -Sun Feb 9 11:21:07 UTC 2014 - coolo@suse.com - -- avoid bootstrap cycle with libusb and systemd-mini - -------------------------------------------------------------------- -Sat Feb 8 06:12:55 UTC 2014 - coolo@suse.com - -- split bash-completion support into its own package, - no need for sles_version - -------------------------------------------------------------------- -Fri Feb 7 13:02:28 UTC 2014 - werner@suse.de - -- Split off systemd-rpm-macros as a separate package to avoid - a rebuild of all packages due new systemd package -- Define a sles_version 12 for suse_version 1315 - -------------------------------------------------------------------- -Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to disable the workaround to find /dev/3270/tty1 as this now - should be done by a) the kernel patch - http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html - and the changed udev rule 99-systemd.rules - -------------------------------------------------------------------- -Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com - -- Remove PreReq pidof from udev, nothing in this pkg uses it - -------------------------------------------------------------------- -Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to re-enable colouring if 3270 console was enforced on the kernel - command line as 3270 cna handle colour ANSI escape sequences. - Also let the serial getty generator find the /dev/3270/tty1 - character device (bnc#861316) - -------------------------------------------------------------------- -Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de - -- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to strip the colouring ANSI escape sequences from the console - messages (bnc#860937) - -------------------------------------------------------------------- -Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip already by the kernel managed devices - -------------------------------------------------------------------- -Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com - -- fix timeout stopping user@.service (bnc#841544) - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - -------------------------------------------------------------------- -Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de - -- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch - to be able to detect if the sysctl reboot() returns. -- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - A check for unmaintained disk like devices is added to be able to - flush and maybe shut them down. Also the missing sync() system - call is added for the direct halt/reboot systemctl command. Then - the system halt is used as fallback if poweroff fails for both - the direct poweroff systemctl command as well as for the - systemd-shutdown utility. - -------------------------------------------------------------------- -Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de - -- Make systemd-mini build - -------------------------------------------------------------------- -Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de - -- Make requires bash-completion a recommends - -------------------------------------------------------------------- -Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de - -- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch - to avoid that enabled boot scripts will be handled as unit files - by systemctl status command (bnc#818044) - -------------------------------------------------------------------- -Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de - -- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch - as the original code behaves exactly as the shutdown code of - the old SysVinit (bnc#750845) -- Rename support-powerfail-with-powerstatus.patch to - 1016-support-powerfail-with-powerstatus.patch - -------------------------------------------------------------------- -Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com - -- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in - systemd-analyze (bnc#859365) - -------------------------------------------------------------------- -Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de - -- Add patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to make redirections work with the bash command completions for - for systemd command tools (bnc#856858, bnc#859072) - -------------------------------------------------------------------- -Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de - -- Add patch - 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to support the "+" to tag wanted dependencies as well as make - sure that required dependencies are handles as required ones. - This should fix bnc#858864 and bnc#857204. - -------------------------------------------------------------------- -Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de - -- apply preset also to service files that are new in upgrade - -------------------------------------------------------------------- -Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de - -- Change support-powerfail-with-powerstatus.patch to use BindsTo - instead of BindTo - -------------------------------------------------------------------- -Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de - -- Add patch 1017-enforce-sufficient-shutdown-warnings.patch - Warn once per hour in the last 3 hours, then all 30 minutes in last - hour, all 15 minutes in the last 45 minutes, all 10 minutes in the - last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) - -------------------------------------------------------------------- -Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de - -- Add patch support-powerfail-with-powerstatus.patch and source - file systemd-powerfail to implement SIGPWR support with evaluation - of the file /var/run/powerstatus (bnc#737690) - -------------------------------------------------------------------- -Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de - -- Adapt patch - 1011-check-4-valid-kmsg-device.patch - to fit current upstream version maybe related to bnc#854884 -- Change patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() - may fix bnc#855160 - -------------------------------------------------------------------- -Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com - -- Disable multi-seat-x build, since package xorg-x11-server - currently in Factory no longer needs it. - -------------------------------------------------------------------- -Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com - -- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a - running user manager from garbage-collecting the user. Original - behavior caused bnc#849870 - -------------------------------------------------------------------- -Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com - -- Add build-sys-make-multi-seat-x-optional.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 - * Now systemd-multi-seat-x build can be disabled with configure option - --disable-multi-seat-x. It should be done when xorg-x11-server - no longer needs it (work in progress). - -------------------------------------------------------------------- -Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com - -- Update insserv-generator.patch: fix crash in insserv generator - (bnc#854314). -- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes - for Nvidia cards (bnc#808319). - -------------------------------------------------------------------- -Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de - -- Add patch - 1014-journald-with-journaling-FS.patch - which now uses the file system ioctls for switching off atime, - compression, and copy-on-write of the journal directory of the - the systemd-journald (bnc#838475) -- Let us build require the package config for libpcre (bnc#853293) - -------------------------------------------------------------------- -Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com - -- Add patch - 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - Make sure emergency shell is not killed by attempt to start another unit - (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. -- Add patch - make-emergency.service-conflict-with-syslog.socket.patch - Previous patch did not fix problem if syslog connection request came - after emergency shell was already started. So forcibly stop syslog.socket - when starting emergency.service. (bnc#852232) - -------------------------------------------------------------------- -Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com - -- Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 - -------------------------------------------------------------------- -Tue Nov 26 15:12:58 UTC 2013 - werner@suse.de - -- Add patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to avoid (xdg-)su to set XDG_RUNTIME_DIR to the original user and - avoid that e.g. pulseaudio will create /run/user//pulse owned - by root (bnc#852015) - -------------------------------------------------------------------- -Thu Nov 21 12:27:11 UTC 2013 - werner@suse.de - -- Add patch - 1011-check-4-valid-kmsg-device.patch - to avoid a busy systemd-journald (bnc#851393) - -------------------------------------------------------------------- -Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de - -- Add patch - 1010-do-not-install-sulogin-unit-with-poweroff.patch - that is do not install console-shell.service in any system target - as this will cause automatic poweroff at boot (bnc#849071) - -------------------------------------------------------------------- -Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-text-on-side-with-most-space.patch - to place the text on the side with most space - -------------------------------------------------------------------- -Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-white-background.patch - to make SVG output of systemd analyze readable - -------------------------------------------------------------------- -Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de - -- Add patch - 1009-make-xsltproc-use-correct-ROFF-links.patch - to have valid ROFF links in manual pages working again (bnc#842844) - -------------------------------------------------------------------- -Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com - -- Add - 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: - don't start gpt auto-generator in container (git). -- Add - 0001-manager-when-verifying-whether-clients-may-change-en.patch: - fix reload check in selinux case (git). -- Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: - fix introspection for TakeControl (git). -- Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix - crash when parsing some incorrect unit (git). -- Add - 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: - Fix udev rules parsing (git). -- Add - 0001-systemd-serialize-deserialize-forbid_restart-value.patch: - Fix incorrect deserialization for forbid_restart (git). -- Add - 0001-core-unify-the-way-we-denote-serialization-attribute.patch: - Ensure forbid_restart is named like other attributes (git). -- Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in - journald (git). -- Add - 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: - Improve ACPI firmware performance parsing (git). -- Add - 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: - Fix journal rotation (git). -- Add - 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: - Fix memory corruption in sd_session_get_vt (git). -- Add 0001-login-make-sd_session_get_vt-actually-work.patch: Ensure - sd_session_get_vt returns correct value (git). -- Add 0001-Never-call-qsort-on-potentially-NULL-arrays.patch: Don't - call qsort on NULL arrays (git). -- Add 0001-dbus-common-avoid-leak-in-error-path.patch: Fix memleak - in dbus-common code (git). -- Add 0001-drop-ins-check-return-value.patch: Fix return value for - drop-ins checks (git). -- Add 0001-shared-util-Fix-glob_extend-argument.patch: Fix - glob_extend argument (git). -- Add 0001-Fix-bad-assert-in-show_pid_array.patch: Fix bad assert - in show_pid_array (git). - - -------------------------------------------------------------------- -Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com - -- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: - fix acpi memleak. -- Add - 0002-fix-lingering-references-to-var-lib-backlight-random.patch: - fix invalid path in documentation. -- Add - 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: - fix invalid memory free. -- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix - name mangling for sysv units. -- Add - 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: - fix OOM handling. -- Add 0006-journald-add-missing-error-check.patch: add missing - error check. -- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: - fix uninitialized memory access. -- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix - return value. -- Add 0009-modules-load-fix-error-handling.patch: fix error - handling. -- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: - fix incorrect memory access. -- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: - fix incorrect memory access. -- Add - 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: - fix invalid pointer. -- Add - 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: - fix permission on /run/log/journal. -- Add - 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: - order remote mount points properly before remote-fs.target. - -------------------------------------------------------------------- -Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com - -- Explicitly require pam-config for %post of the main package - -------------------------------------------------------------------- -Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com - -- Release v208: - + logind gained support for facilitating privileged input and drm - devices access for unprivileged clients (helps Wayland / - kmscon). - + New kernel command line luks.options= allows to specify LUKS - options, when used with luks.uuid= - + tmpfileS.d snippets can uses specifier expansion in path names - (%m, %b, %H, %v). - + New tmpfiles.d command "m" introduced to change - owner/group/access mode of a file/directory only if it exists. - + MemorySoftLimit= cgroup settings is no longer supported - (underlying kernel cgroup attribute will disappear in the - future). - + memeory.use_hierarchy cgroup attribute is enabled for all - cgroups systemd creates in memory cgroup hierarchy. - + New filed _SYSTEMD_SLICE= is logged in journal messages related - to a slice. - + systemd-journald will no longer adjust the group of journal - files it creates to "systemd-journal" group. Permissions and - owernship is adjusted when package is upgraded. - + Backlight and random seed files are now stored in - /var/lib/systemd. - + Boot time performance measurements included ACPI 5.0 FPDT - informations if available. -- Drop merged patches: - 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, - 0002-cgroup-correct-the-log-information.patch, - 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, - 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, - 0005-core-cgroup-first-print-then-free.patch, - 0006-swap-fix-reverse-dependencies.patch, - 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, - 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, - Fix-timeout-when-stopping-Type-notify-service.patch, - set-ignoreonisolate-noauto-cryptsetup.patch, - 0001-Fix-buffer-overrun-when-enumerating-files.patch, - 0007-libudev-fix-move_later-comparison.patch. -- Refresh patches - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. -- Own more ghost files. -- Do not run pam-config in systemd-mini %post. -- Add after-local.service to run after.local late during the boot - process (bnc#778715). - -------------------------------------------------------------------- -Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com - -- Update Fix-timeout-when-stopping-Type-notify-service.patch with - upstream fix. -- No longer start ask-password-wall, was causing too much spam on - terminals (bnc#747783). - -------------------------------------------------------------------- -Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com - -- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto - encrypted mounts survives runlevel changes (bnc#843085). -- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix - logind crash when /run/systemd/sessions was too big (bnc#840055, - initial fix from hpj@suse.com). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - only check for /boot/sysctl.conf- presence. -- Add service wrapper for after.local (bnc#778715). - -------------------------------------------------------------------- -Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com - -- Update use-usr-sbin-sulogin-for-emergency-service.patch to apply - to all services using sulogin and remove generated files from - upstream tarball (bnc#841398). - -------------------------------------------------------------------- -Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com - -- Fix-timeout-when-stopping-Type-notify-service.patch - Make sure MAINPID is watched when it becomes known (bnc#841544) - -------------------------------------------------------------------- -Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com - -- Remove output and error redirection to /dev/null in install - script, it might help tracing pam related issue (bnc#841573). - -------------------------------------------------------------------- -Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com - -- Move symlink migration trigger to post (bnc#821800). - -------------------------------------------------------------------- -Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org - -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch - VUL-0: polkit: process subject race condition [bnc#835827] - CVE-2013-4288 - -------------------------------------------------------------------- -Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-ima as the openSUSE kernel - does not support IMA (CONFIG_IMA is not set) - -------------------------------------------------------------------- -Wed Sep 18 23:40:27 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-smack as the openSUSE kernel - does not support smack (CONFIG_SECURITY_SMACK is not set) - -------------------------------------------------------------------- -Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com - -- Don't use a trigger to create symlink for sysctl.conf, always run - the test on %post (bnc#840864). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - ensure /boot is mounted before reading /boot/sysctl.conf-* - (bnc#809420). - -------------------------------------------------------------------- -Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org - -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous - commit & the opensuse-factory mailing list. - -------------------------------------------------------------------- -Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org - -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch - missing important check on return value. -- 0002-cgroup-correct-the-log-information.patch fix misleading - log information. -- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix - setting memory cgroup -- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch - should fail if write fails. -- 0005-core-cgroup-first-print-then-free.patch use-after-free - will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in - opensuse-factory list, topic "swap isn't activated" -- 0007-libudev-fix-move_later-comparison.patch libudev - invalid usage of "move_later". - -------------------------------------------------------------------- -Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - -- while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: - No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of - /run/dbus/system_bus_socket and that does not fly when /var/run - is not yet available. (systemd-dbus-system-bus-address.patch) - -------------------------------------------------------------------- -Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com - -- Enable Predictable Network interface names (bnc#829526). - -------------------------------------------------------------------- -Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org - -- version 207, distribution specific changes follow, for overall - release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: - Operation not permitted - * Fix shutdown hang "a stop job is running for Session 1 of user root" - that was reported in opensuse-factory list. -- systemd-sysctl no longer reads /etc/sysctl.conf however backward - compatbility is to be provides by a symlink created at %post. -- removed previously disabled upstream patches (merged): - 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, - 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, - 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, - 0006-suppress-status-message-output-at-shutdown-when-quie.patch, -- removed upstream merged patches: - exclude-dev-from-tmpfiles.patch, - logind_update_state_file_after_generating_....patch -- Add systemd-pam_config.patch: use correct include name for PAM - configuration on openSUSE. - -------------------------------------------------------------------- -Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com - -- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from - tmpfiles (bnc#835813). - -------------------------------------------------------------------- -Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com - -- Remove - force-lvm-restart-after-cryptsetup-target-is-reached.patch and - remove additional dependencies on LVM in other patches: LVM has - now systemd support, no need to work around it anymore in - systemd. - -------------------------------------------------------------------- -Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com - -- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch - to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 - -------------------------------------------------------------------- -Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de - -- explicitly enable getty@tty1.service instead of getty@.service as - the tty1 alias has been removed from the file (bnc#833494) - -------------------------------------------------------------------- -Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com - -- Ensure /usr/lib/systemd/system/shutdown.target.wants is created - and owned by systemd package. - -------------------------------------------------------------------- -Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com - -- Fix drop-in for getty@tty1.service - -------------------------------------------------------------------- -Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com - -- Move systemd-journal-gateway to subpackage to lower dependencies - in default install. - -------------------------------------------------------------------- -Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org - -- version 206 , highlights: -* Unit files now understand the new %v specifier which - resolves to the kernel version string as returned by "uname-r". -* "journalctl -b" may now be used to look for boot output of a - specific boot. Try "journalctl -b -1" -* Creation of "dead" device nodes has been moved from udev - into kmod and tmpfiles. -* The udev "keymap" data files and tools to apply keyboard - specific mappings of scan to key codes, and force-release - scan code lists have been entirely replaced by a udev - "keyboard" builtin and a hwdb data file. - -- remove patches now in upstream -- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 -- systemd now require the kmod tool in addition to the library. - -------------------------------------------------------------------- -Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com - -- use-usr-sbin-sulogin-for-emergency-service.patch - emergency.service failed to start because sulogin is in /usr/sbin now - -------------------------------------------------------------------- -Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de - -- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, - not a directory - -------------------------------------------------------------------- -Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org - -- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch - fix segfault at shutdown -- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch - disable the cgroups release agent when shutting down. -- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch - remove ancient fallback code; turn connection error into warning -- 006-suppress-status-message-output-at-shutdown-when-quie.patch - make shutdown honour "quiet" kernel cmdline. - -------------------------------------------------------------------- -Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org - -- fix broken symlink, service is called systemd-random-seed now. - -------------------------------------------------------------------- -Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com - -- Update to release 205: - + two new unit types have been introduced: - - Scope units are very similar to service units, however, are - created out of pre-existing processes -- instead of PID 1 - forking off the processes. - - Slice units may be used to partition system resources in an - hierarchial fashion and then assign other units to them. By - default there are now three slices: system.slice (for all - system services), user.slice (for all user sessions), - machine.slice (for VMs and containers). - + new concept of "transient" units, which are created at runtime - using an API and not based on configuration from disk. - + logind has been updated to make use of scope and slice units to - manage user sessions. Logind will no longer create cgroups - hierchies itself but will relying on PID 1. - + A new mini-daemon "systemd-machined" has been added which - may be used by virtualization managers to register local - VMs/containers. machinectl tool has been added to query - meta-data from systemd-machined. - + Low-level cgroup configuration options ControlGroup=, - ControlGroupModify=, ControlGroupPersistent=, - ControlGroupAttribute= have been removed. High-level attribute - settings or slice units should be used instead? - + A new bus call SetUnitProperties() has been added to alter - various runtime parameters of a unit, including cgroup - parameters. systemctl gained set-properties command to wrap - this call. - + A new tool "systemd-run" has been added which can be used to - run arbitrary command lines as transient services or scopes, - while configuring a number of settings via the command - line. - + nspawn will now inform the user explicitly that kernels with - audit enabled break containers, and suggest the user to turn - off audit. - + Support for detecting the IMA and AppArmor security - frameworks with ConditionSecurity= has been added. - + journalctl gained a new "-k" switch for showing only kernel - messages, mimicking dmesg output; in addition to "--user" - and "--system" switches for showing only user's own logs - and system logs. - + systemd-delta can now show information about drop-in - snippets extending unit files. - + systemd will now look for the "debug" argument on the kernel - command line and enable debug logging, similar to - "systemd.log_level=debug" already did before. - + "systemctl set-default", "systemctl get-default" has been - added to configure the default.target symlink, which - controls what to boot into by default. - + "systemctl set-log-level" has been added as a convenient - way to raise and lower systemd logging threshold. - + "systemd-analyze plot" will now show the time the various - generators needed for execution, as well as information - about the unit file loading. - + libsystemd-journal gained a new sd_journal_open_files() call - for opening specific journal files. journactl also gained a - new switch to expose this new functionality (useful for - debugging). - + systemd gained the new DefaultEnvironment= setting in - /etc/systemd/system.conf to set environment variables for - all services. - + If a privileged process logs a journal message with the - OBJECT_PID= field set, then journald will automatically - augment this with additional OBJECT_UID=, OBJECT_GID=, - OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if - system services want to log events about specific client - processes. journactl/systemctl has been updated to make use - of this information if all log messages regarding a specific - unit is requested. -- Remove 0001-journal-letting-interleaved-seqnums-go.patch, - 0002-journal-remember-last-direction-of-search-and-keep-o.patch, - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, - 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, - 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, - 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, - 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, - Start-ctrl-alt-del.target-irreversibly.patch, - systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged - upstream. -- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, - 1008-add-msft-compability-rules.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, - fix-support-for-boot-prefixed-initscript-bnc-746506.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch, - insserv-generator.patch, - optionally-warn-if-nss-myhostname-is-called.patch, - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, - service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. -- Update macros.systemd.upstream with latest upstream revision. - -------------------------------------------------------------------- -Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com - -- Replace - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch - patch with insserv-generator.patch: no longer patch systemd main - binary but generate systemd drop-in files using a generator, for - insserv.conf compatibility. - -------------------------------------------------------------------- -Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com - -- systemd-mini doesn't need dbus-1, only dbus-1-devel - -------------------------------------------------------------------- -Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com - -- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). - add: 1008-add-msft-compability-rules.patch - -------------------------------------------------------------------- -Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com - -- Drop 1007-add-msft-compability-rules.patch, breaks boot and links - in /dev/disk/by-id, will need proper rework (bnc#826528). - -------------------------------------------------------------------- -Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org - -- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another - case where we are trying to umount the root directory at shutdown. -- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch - only attempt to connect to a session bus if one likely exists - -------------------------------------------------------------------- -Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - -- Automatically online CPUs/Memory on CPU/Memory hotplug add events - (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - -- Dropped backward compatibility -- Added check for upstream rpm macros changes - -------------------------------------------------------------------- -Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com - -- Split out RPM macros into separate package to simplify dependencies - -------------------------------------------------------------------- -Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - -- 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 - -------------------------------------------------------------------- -Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de - -- Explicitly list libattr-devel as BuildRequires -- More robust make install call. Remove redundant %clean section. - -------------------------------------------------------------------- -Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz - -- Cleanup NumLock setting code - (handle-numlock-value-in-etc-sysconfig-keyboard.patch). - -------------------------------------------------------------------- -Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com - -- Only apply 1007-add-msft-compability-rules.patch when not - building systemd-mini. - -------------------------------------------------------------------- -Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com - -- Add udev MSFT compability rules (bnc#805059). - add: 1007-add-msft-compability-rules.patch -- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). -- Clean-up spec file, put udev patches after systemd patches. -- Rebase patches so they would apply nicely. - -------------------------------------------------------------------- -Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - -- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch - fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, - ignoring: Invalid argument -- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch - systemctl disable should remove dangling symlinks. -- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch - alien childs are reported as alive when they are really dead. - -------------------------------------------------------------------- -Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com - -- Update to release 204: - + systemd-nspawn creates etc/resolv.conf in container if needed. - + systemd-nspawn will store metadata about container in container - cgroup including its root directory. - + cgroup hierarchy has been reworked, all objects are now suffxed - (with .session for user sessions, .user for users, .nspawn for - containers). All cgroup names are now escaped to preven - collision of object names. - + systemctl list-dependencies gained --plain, --reverse, --after - and --before switches. - + systemd-inhibit shows processes name taking inhibitor lock. - + nss-myhostname will now resolve "localhost" implicitly. - + .include is not allowed recursively anymore and only in unit - files. Drop-in files should be favored in most cases. - + systemd-analyze gained "critical-chain" command, to get slowest - chain of units run during boot-up. - + systemd-nspawn@.service has been added to easily run nspawn - container for system services. Just start - "systemd-nspawn@foobar.service" and container from - /var/lib/container/foobar" will be booted. - + systemd-cgls has new --machine parameter to list processes from - one container. - + ConditionSecurity= can now check for apparmor and SMACK. - + /etc/systemd/sleep.conf has been introduced to configure which - kernel operation will be execute when "suspend", "hibernate" or - "hybrid-sleep" is requrested. It allow new kernel "freeze" - state to be used too. (This setting won't have any effect if - pm-utils is installed). - + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape - passed argument if applicable. -- Regenerate some patches for this new release. -- Rename hostname-setup-shortname.patch to - ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git - format-patch friendly. -- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to - /dev/nvidia* (bnc#808319). -- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a - configure option. -- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids - expansion errors. -- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del - should be irreversible for reliability. - -------------------------------------------------------------------- -Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org - -- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash -support has been removed from the kernel. -- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch -fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 -- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in -Revert-service-drop-support-for-SysV-scripts-for-the-early.patch -use HAVE_SYSV_COMPAT instead. - -------------------------------------------------------------------- -Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com - -- Do no ship defaults for sysctl, they should be part of aaa_base - (currently in procps). -- Add hostname-setup-shortname.patch: ensure shortname is set as - hostname (bnc#820213). - -------------------------------------------------------------------- -Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com - -- Rebase - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to - fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). - -------------------------------------------------------------------- -Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com - -- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure - /boot/sysctl.conf- is handled (bnc#809420). - -------------------------------------------------------------------- -Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com - -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't - free variable whose content is still be used (bnc#819970). - -------------------------------------------------------------------- -Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com - -- Add configure flags to ensure boot.local/halt.local are run on - startup/shutdown. - -------------------------------------------------------------------- -Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com - -- Fix firmware loading by enabling --with-firmware-path (bnc#817551). - -------------------------------------------------------------------- -Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de - -- Fix systemd-sysv-convert, so empty runlevel folders don't lead - to "line 44: [: too many arguments" - -------------------------------------------------------------------- -Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com - -- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup - when using /etc/HOSTNAME. - -------------------------------------------------------------------- -Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - -- Rename remaning udev patches (clean-up). -- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). -- Drop unused patches: - 1001-Reinstate-TIMEOUT-handling.patch - 1005-udev-fix-sg-autoload-regression.patch - 1026-re-add-persistent-net.patch - -------------------------------------------------------------------- -Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com - -- Use drop-in file to fix bnc#804158. - -------------------------------------------------------------------- -Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com - -- add some more conflicts to make bootstrap work - -------------------------------------------------------------------- -Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com - -- Do not provide %{release} for systemd-analyze -- Add more conflicts to -mini packages -- Disable Predictable Network interface names until it has been - reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. -- Don't package /usr/lib/firmware/update (not used) - -------------------------------------------------------------------- -Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org - -- Fix packaging error, there is no syslog.target anymore - do not pretend there is one. - -------------------------------------------------------------------- -Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com - -- Update to release 202: - + 'systemctl list-jobs' got some polishing. '--type=' argument - may now be passed more than once. 'systemctl list-sockets' has - been added. - + systemd gained a new unit 'systemd-static-nodes.service' - that generates static device nodes earlier during boot, and - can run in conjunction with udev. - + systemd-nspawn now places all containers in the new /machine - top-level cgroup directory in the name=systemd hierarchy. - + bootchart can now store its data in the journal. - + journactl can now take multiple --unit= and --user-unit= - switches. - + The cryptsetup logic now understands the "luks.key=" kernel - line switch. If a configured key file is missing, it - will fallback to prompting the user. -- Rebase some patches -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to - properly handle SYSTEMCTL_OPTIONS - -------------------------------------------------------------------- -Fri Apr 19 12:47:13 UTC 2013 - max@suse.com - -- Fix regression in the default for tmp auto-deletion - (systemd-tmp-safe-defaults.patch, FATE#314974). - -------------------------------------------------------------------- -Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com - -- Update to release 201: - + udev now supports different nameng policies for network - interface for predictable names. - + udev gained support for loading additional device properties - from an indexed database. %udev_hwdb_update macro should be - used by packages adding entries to this database. - + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. - %journal_catalog_update macro should be used by packages adding - %entries to this database. - + "age" field for tmpfiles entries can be set to 0, forcing - removal of files matching this entry. - + coredumpctl gained "gdb" verb to invoke gdb on selected - coredump. - + New rpm macros has been added: %udev_rules_update(), - %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, - %_tmpfilesdir, %_sysctldir. - + In service files, %U can be used for configured user name of - the service. - + nspawn can be invoked without a controlling TTY. - + systemd and nspawn can accept socket file descriptors when - started for socket activation. This allow socket activated - nspawn containers. - + logind can now automatically suspend/hibernate/shutdown system - on idle. - + ConditionACPower can be used in unit file to detect if AC power - source is connected or if system is on battery power. - + EnvironmentFile= in unit files supports file globbing. - + Behaviour of PrivateTmp=, ReadWriteDirectories=, - ReadOnlyDirectories= and InaccessibleDirectories= has - changed. The private /tmp and /var/tmp directories are now - shared by all processes of a service (which means - ExecStartPre= may now leave data in /tmp that ExecStart= of - the same service can still access). When a service is - stopped its temporary directories are immediately deleted - (normal clean-up with tmpfiles is still done in addition to - this though). - + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using - "systemctl set-cgroup-attr foobar.server cgroup.attribute - value". Those settings are stored persistenly on disk. - + systemd-vconsole-setup will now copy all fonts settings to all - allocated VTs. - + timedated now exposes CanNTP property to indicate if a local - NTP service is available. - + pstore file system is mounted by default, if available. - + SMACK policies are loaded at early boot, if available. - + Timer units now support calendar time events. - + systemd-detect-virt detect xen PVs. - + Some distributions specific LSB targets has been dropped: - $x-display-manager, $mail-transfer-agent, - $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As - well mail-transfer-agent.target and syslog.target has been - removed. - + systemd-journal-gatewayd gained SSL support and now runs as - unprivileged user/group - "systemd-journal-gateway:systemd-journal-gateway" - + systemd-analyze will read, when available, boot time - performance from EFI variable from boot loader supporting it. - + A new generator for automatically mounting EFI System Partition - (ESP) to /boot (if empty and no other file system has been - configured in fstab for it). - + logind will now send out PrepareForSleep(false) out - unconditionally, after coming back from suspend. - + tmpfiles gained a new "X" line type, that allows - configuration of files and directories (with wildcards) that - shall be excluded from automatic cleanup ("aging"). - + udev default rules set the device node permissions now only - at "add" events, and do not change them any longer with a - later "change" event. - + A new bootctl tool has been added that is an interface for - certain EFI boot loader operations. - + A new tool kernel-install has been added to install kernel - images according to Boot Loader Specification. - + A new tool systemd-activate can be used to test socket - activation. - + A new group "systemd-journal" is now owning journal files, - replacing "adm" group. - + journalctl gained "--reverse" to show output in reverse order, - "--pager-end" to jump at the end of the journal in the - pager (only less is supported) and "--user-unit" to filter for - user units. - + New unit files has been addedto ease for systemd usage in - initrd. - + "systemctl start" now supports "--irreversible" to queue - operations which can be reserved. It is now used to make - shutdown requests more robust. - + Auke Kok's bootchart has been merged and relicensed to - LGPLv2.1+. - + nss-myhostname has been merged in systemd codebase. - + some defaults sysctl values are now set by default: the safe - sysrq options are turned on, IP route verification is turned - on, and source routing disabled. The recently added hardlink - and softlink protection of the kernel is turned on. - + Add support for predictable network naming logic. It can be - turned off with kernel command line switch: net.ifnames=0 - + journald will now explicitly flush journal files to disk at the - latest 5 min after each write and will mark file offline until - next read. This should increase reliability in case of crash. - + remote-fs-setup.target target has been added to pull in - specific services when at least one remote file system is to be - mounted. - + timers.target and paths.target have been added as canonical - targets to pull user timer and path units, similar to - sockets.targets. - + udev daemon now sets default number of worker processes in - parallel based on number of CPUs instead of RAM. - + Most unit file settings which takes likst of items can now be -reset by assigning empty string to them, using drop-in. - + Add support for drop-in configuration file for units. - + Most unit file settings which takes likst of items can now be - reset by assigning empty string to them, using drop-in. - + improve systemg-cgtop output. - + improve 'systemctl status' output for socket, drop-in for units. - + 'hostnamectl set-hostname' allows setting FQDN hostnames. - + fractional time intervals are now parsed properly. - + localectl can list available X11 keymaps. - + systemd-analyze dot can filter for specific units and has been - rewritten in C. - + systemctl gained "list-dependencies" command. - + Inhibitors are now honored no only in GNOME. -- Many patches has been dropped, being merged upstream. -- Many patches has been renamed and regenerated with git, to have - consistent naming, authorship and comments embedded. -- Add - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: - re-add support for boot.* initscripts until they are all migrated - to systemd unit files. -- Merge patches for nss-myhostname package to this package. - -------------------------------------------------------------------- -Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com - -- Add chromebook lid switch as a power switch to logind rule to - enable suspend on lid close - -------------------------------------------------------------------- -Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com - -- Add improve-readahead-spinning.patch: improve readahead - performance on spinning media with ext4. -- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal - (bnc#789589). -- Add fix-lsb-provides.patch: ensure LSB provides are correctly - handled if also referenced as dependencies (bnc#809646). -- Add fix-loopback-mount.patch: ensure udevd is started (and - therefore static devices are created) before mounting - (bnc#809820). -- Update systemd-sysv-convert to search services files in new - location (bnc#809695). -- Add logind-nvidia-acl.diff: set ACL on nvidia devices - (bnc#808319). -- Add do-no-isolate-on-fsck-failure.patch: do not turn off services - if fsck fails (bnc#812874) -- Add wait-for-processes-killed.patch: wait for processes killed by - SIGTERM before killing them with SIGKILL. -- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to - systemctl command (bnc#801878). - -------------------------------------------------------------------- -Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz - -- Fixed disabling CapsLock and enabling NumLock (bnc#746595, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - systemd-numlock-suse.patch). -- Explicitly require libgcrypt-devel to fix build failure. - -------------------------------------------------------------------- -Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - -- udev: ensure that the network interfaces are renamed even if they - exist (bnc#809843). - add: 1027-udev-always-rename-network.patch - -------------------------------------------------------------------- -Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - -- udev: re-add persistent network rules (bnc#809843). - add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. - -------------------------------------------------------------------- -Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com - -- Add rbind-mount.patch: handle rbind mount points correctly - (bnc#804575). - -------------------------------------------------------------------- -Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com - -- Ensure journal is flushed on disk when systemd-logger is - installed for the first time. -- Add improve-journal-perf.patch: improve journal performance on - query. -- Add support-hybrid-suspend.patch: add support for hybrid suspend. -- Add forward-to-pmutils.patch: forward suspend/hibernation calls - to pm-utils, if installed (bnc#790157). - -------------------------------------------------------------------- -Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - -- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer - add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -- udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch - -------------------------------------------------------------------- -Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de - -- Create getty@tty1.service to restore traditional SUSE behavior - of not clearing tty1. (bnc#804158) -- Better use of find -exec - -------------------------------------------------------------------- -Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com - -- Add early-sync-shutdown.patch: start sync just when - shutdown.target is beginning -- Update parse-multiline-env-file.patch to better handle continuing - lines. -- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). -- Add systemctl-print-wall-on-if-successful.patch: only print on - wall if successful. -- Add improve-bash-completion.patch: improve bash completion. - -------------------------------------------------------------------- -Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de - -- disable nss-myhostname warning (bnc#783841) - => disable-nss-myhostname-warning-bnc-783841.diff - -------------------------------------------------------------------- -Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - -- rework patch: - 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- udev: use unique names for temporary files created in /dev. - add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch -- cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch - -------------------------------------------------------------------- -Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com - -- usb_id: ensure we have a valid serial number as a string (bnc#779493). - add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- cdrom_id: created links for the default cd/dvd drive (bnc#783054). - add: 1021-create-default-links-for-primary-cd_dvd-drive.patch - -------------------------------------------------------------------- -Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com - -- Add cryptsetup-accept-read-only.patch: accept "read-only" in - addition to "readonly" in crypttab -- Update parse-multiline-env-file.patch to correctly handle - commented lines (bnc#793411) - -------------------------------------------------------------------- -Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - -- udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch -- keymap: add aditional support for some keyboard keys - add: 1018-keymap-add-aditional-support.patch -- journalctl: require argument for --priority - add: journalctl-require-argument-for-priority -- dropped useless patches: - libudev-validate-argument-udev_enumerate_new.patch - kmod-fix-builtin-typo.patch -- rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for - systemd-udev-root-symlink.service - -------------------------------------------------------------------- -Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com - -- Add tmpfiles-X-type.patch: allow to clean directories with - removing them. -- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with - --ignore-dependencies waiting for dependencies (bnc#800365). -- Update systemd-numlock-suse.patch: udev-trigger.service is now - called systemd-udev-trigger.service. -- Add improve-man-environment.patch: improve manpage regarding - Environment value. - -------------------------------------------------------------------- -Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com - -- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly - (bnc#798620). -- Update crypt-loop-file.patch to correctly detect crypto loop - files (bnc#799514). -- Add journalctl-remove-leftover-message.patch: remove debug - message in systemctl. -- Add job-avoid-recursion-when-cancelling.patch: prevent potential - recursion when cancelling a service. -- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully - parsed. -- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff - max date for journal. -- Add reword-rescue-mode-hints.patch: reword rescue prompt. -- Add improve-overflow-checks.patch: improve time overflow checks. -- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour - with symlinks. -- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure - hostnamectl requires an argument when called with set-hostname - option. -- Add agetty-overrides-term.patch: pass correctly terminal type to - agetty. -- Add check-for-empty-strings-in-strto-conversions.patch: better - check for empty strings in strto* conversions. -- Add strv-cleanup-error-path-loops.patch: cleanup strv on error - path. -- Add cryptsetup-handle-plain.patch: correctly handle "plain" - option in cryptsetup. -- Add fstab-generator-improve-error-message.patch: improve error - message in fstab-generator. -- Add delta-accept-t-option.patch: accept -t option in - systemd-delta. -- Add highlight-ordering-cycle-deletions.patch: highlight ordering - cycle deletions in logs. -- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; - in ExecStart. -- Add hostnamectl-fix-parsing-no-ask-password.patch: accept - no-ask-password in hostnamectl. -- Add systemd-cgls-fix-piping-output.patch: fix piping output of - systemd-cgls. -- Add core-load-fragment-improve-error-message.patch: improve error - message when parsing fragments. -- Add fix-potential-bad-mem-access.patch: fix potential bad memory - access. -- Add socket-improve-error-message.patch: improve error message in - socket handling. -- Add journal-send-always-send-syslog_identifier.patch: always send - syslog_identifier if available for journal. -- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. -- Add crypsetup-generator-state-file-name-in-error-message.patch: - add filename in error message from crypsetup-generator. -- Add fstab-generator-error-message-on-duplicates.patch: improve - error message on duplicate in fstab-generator. -- Add systemctl-verbose-message-on-missing-install.patch: reword - missing install error message in systemctl. -- Add shutdown-improvements.patch: various improvements at - shutdown. -- Add localectl-fix-assertion.patch: fix assertion in localectl. -- Add path-util-fix-potential-crash.patch: fix potential crash in - path-util. -- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. -- Add socket-verbose-error-message.patch: add more verbose error - message in socket handling. -- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: - handle properly ssh-logins without pam tty field. -- Add fstab-generator-properly-detect-bind-mounts.patch: properly - detect bind-mounts in fstab-generator. -- Add localectl-support-systems-without-locale-archive.patch: - localectl now supports systemd without locale-archive file. -- Add logind-capability-making-seats-without-fb.patch: allows - capability of making seats without fb. -- Add service-forking-ignore-exit-status-main-process.patch: ignore - exit-statis of main process when forking, if specified in unit - file. -- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't - assert on reboot if dbus isn't there. -- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: - ignore non tty non-x11 session on shutdown. -- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io - error. -- Add do-not-make-sockets-dependent-on-lo.patch: do not make - sockets dependent on lo interface. -- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't - force MNT_FORCE on final umount at shutdown. -- Add shutdown-ignore-loop-devices-without-backing-file.patch: - ignore loop devices without backing file at shutdown. -- Add fix-bad-mem-access.patch: fix bad memory access -- Add parse-multiline-env-file.patch: correctly parse multiline - environment files (bnc#793411). - -------------------------------------------------------------------- -Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com - -- Add multiple-sulogin.patch: allows multiple sulogin instance - (bnc#793182). - -------------------------------------------------------------------- -Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com - -- udev: path_id - handle Hyper-V devices - add: 1008-udev-path_id-handle-Hyper-V-devices.patch -- keymap: Update the list of Samsung Series 9 models - add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -- keymap: Add Samsung 700T - add: 1010-keymap-Add-Samsung-700T.patch -- libudev: avoid leak during realloc failure - add: 1011-libudev-avoid-leak-during-realloc-failure.patch -- libudev: do not resolve $attr{device} symlinks - add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch -- libudev: validate 'udev' argument to udev_enumerate_new() - add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -- udev: fix whitespace - add: 1014-udev-fix-whitespace.patch -- udev: properly handle symlink removal by 'change' event - add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of - them returns an error - add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -- udev: use usec_t and now() - add: 1017-udev-use-usec_t-and-now.patch - -------------------------------------------------------------------- -Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - -- udevd: add missing ':' to getopt_long 'e'. - add: 1007-udevd-add-missing-to-getopt_long-e.patch -- clean up systemd.spec, make it easy to see which are udev and - systemd patches. -- make 'reload' and 'force-reload' LSB compliant (bnc#793936). - -------------------------------------------------------------------- -Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - -- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. -- timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. - -------------------------------------------------------------------- -Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com - -- add conflicts between udev-mini and udev-mini-devel to libudev1 - -------------------------------------------------------------------- -Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org - -- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: - do not consider failure to umount / and /usr an error. - -------------------------------------------------------------------- -Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com - -- Add fix-devname-prefix.patch: fix modules.devname path, it isn't - in /usr. -- Move post script to fix symlinks in /etc/systemd/system to a - trigger to run it after old systemd is uninstalled. - -------------------------------------------------------------------- -Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com - -- Add fix-debugshell.patch: use /bin/bash if sushell isn't - installed (bnc#789052). -- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype - (bnc#792182). -- Ensure libudev1 and libudev-mini1 conflicts. - -------------------------------------------------------------------- -Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com - -- Fix creation of /dev/root link. - -------------------------------------------------------------------- -Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com - -- Add remount-ro-before-unmount.patch: always remount read-only - before unmounting in final shutdown loop. -- Add switch-root-try-pivot-root.patch: try pivot_root before - overmounting / - -------------------------------------------------------------------- -Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com - -- links more manpages for migrated tools (from Christopher - Yeleighton). -- disable boot.localnet service, ypbind service will do the right - thing now (bnc#716746) -- add xdm-display-manager.patch: pull xdm.service instead of - display-manager.service (needed until xdm initscript is migrated - to native systemd service). -- Add fix-permissions-btmp.patch: ensure btmp is owned only by root - (bnc#777405). -- Have the udev package create a tape group, as referenced by - 50-udev-default.rules and 60-persistent-storage-tape.rules - (DimStar). -- Add fix-bad-memory-access.patch: fix crash in journal rotation. -- Add fix-dbus-crash.patch: fix D-Bus caused crash. -- Add sync-on-shutdown.patch: ensure sync is done when initiating - shutdown. -- Add mount-efivars.patch: mount efivars if booting on UEFI. - - -------------------------------------------------------------------- -Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com - -- Ship a empty systemd-journald initscript in systemd-logger to - stop insserv to complain about missing syslog dependency. -- Update - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch - with bug fixes from Debian. - -------------------------------------------------------------------- -Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com - -- /var/log/journal is now only provided by systemd-logger (journal - won't be persistent for people using another syslog - implementation). -- install README in /var/log (in systemd-logger) and /etc/init.d -- create adm group when installing systemd. -- fix path in udev-root-symlink.systemd. -- Enforce Requires(post) dependency on libudev in main systemd - package (help upgrade). -- Ensure configuration is reloaded when upgrading and save random - seed when installing. -- Create /lib/udev symlink, if we do a fresh install. -- Add fix-build-glibc217.patch: fix build with latest glibc. -- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only - used to bootstrap systemd-mini. - -------------------------------------------------------------------- -Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com - -- adding a package systemd-logger that blocks syslog implementations - from installation to make an installation that only uses the journal - -------------------------------------------------------------------- -Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com - -- Don't hardcode path for systemctl in udev post script. -- Ensure systemd-udevd.service is shadowing boot.udev when booting - under systemd. -- Fix udev daemon upgrade under both systemd and sysvinit. -- Add fix-logind-pty-seat.patch: fix logind complaining when doing - su/sudo in X terminal. - -------------------------------------------------------------------- -Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com - -- add libudev1 to baselibs.conf - -------------------------------------------------------------------- -Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com - -- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) - -------------------------------------------------------------------- -Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com - -- Add var-run-lock.patch: make sure /var/run and /var/lock are - handled as bind mount if they aren't symlinks. -- Update storage-after-cryptsetup.patch with new systemctl path. -- Migrate broken symlinks in /etc/systemd/system due to new systemd - location. - -------------------------------------------------------------------- -Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com - -- Update to release 195: - + journalctl agained --since and --until, as well as filtering - for units with --unit=/-u. - + allow ExecReload properly for Type=oneshot (needed for - iptables.service, rpc-nfsd.service). - + journal daemon supports time-based rotation and vaccuming. - + journalctl -F allow to list all values of a certain field in - journal database. - + new commandline clients for timedated, locald and hostnamed - + new tool systemd-coredumpctl to list and extract coredumps from - journal. - + improve gatewayd: follow mode, filtering, support for - HTML5/JSON Server-Sent-Events. - + reload support in SysV initscripts is now detected when file is - parted. - + "systemctl status --follow" as been removed, use "journalctl -fu - instead" - + journald.conf RuntimeMinSize and PersistentMinSize settings - have been removed. -- Add compatibility symlink for systemd-ask-password and systemctl - in /bin. - -------------------------------------------------------------------- -Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com - -- Create and own more systemd drop-in directories. - -------------------------------------------------------------------- -Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com - -- Improve mini packages for bootstrapping. -- do not mount /tmp as tmpfs by default. - -------------------------------------------------------------------- -Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com - -- Fix install script when there is no inittab - -------------------------------------------------------------------- -Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com - -- Create a systemd-mini specfile to prevent cycle in bootstrapping - -------------------------------------------------------------------- -Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com - -- udev and its subpackages are now generated by systemd source - package. -- migrate udev and systemd to /usr -- Update to version 194: - + if /etc/vconsole.conf is non-existent or empty and if - /etc/sysconfig/console:CONSOLE_FONT (resp - /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp - keymap) is not modified. -- Changes from version 44 to 193: - + journalctl gained --cursor= to show entries starting from a - specified location in journal. - + Size limit enforced to 4K for fields exported with "-o json" in - journalctl. Use --all to disable this behavior. - + Optional journal gateway daemon - (systemd-journal-gatewayd.service) to access journal via HTTP - and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and - 'curl -H"Accept: application/json" - http://localhost:19531/entries' for JSON formatted content. - HTML5 static page is also available as explained on - http://0pointer.de/public/journal-gatewayd - + do not mount cpuset controler, doesn't work well by default - ATM. - + improved nspawn behaviour with /etc/localtime - + journald logs its maximize size on disk - + multi-seat X wrapper (partially merged in upstream X server). - + HandleSleepKey has been splitted into HandleSuspendKey and - HandleHibernateKey. - + systemd and logind now handle system sleep states, in - particular suspending and hibernating. - + new cgroups are mounted by default (cpu, cpuacct, - net_cls, net_pri) - + sync at shutdown is now handled by kernel - + imported journalctl output (colors, filtering, pager, bash - completion). - + suffix ".service" may now be ommited on most systemctl command - involving service unit names. - + much improved nspawn containers support. - + new conditions added : ConditionFileNotEmpty, ConditionHost, - ConditionPathIsReadWrite - + tmpfiles "w" supports file globbing - + logind handles lid switch, power and sleep keys all the time, - unless systemd-inhibit - --what=handle-power-key:handle-sleep-key:handle-lid-switch is - run by Desktop Environments. - + support for reading structured kernel message is used by - default (need kernel >= 3.5). /proc/kmsg is now used only by - classic syslog daemons. - + Forward Secure Sealing is now support for Journal files. - + RestartPrevenExitStatus and SuccessExitStatus allow configure - of exit status (exit code or signal). - + handles keyfile-size and keyfile-offset in /etc/crypttab. - + TimeoutSec settings has been splitted into TimeoutStartSec and - TimeoutStopSec. - + add SystemCallFilters option to add blacklist/whitelist to - system calls, using SECCOMP mode 2 of kernel >= 3.5. - + systemctl udevadm info now takes a /dev or /sys path as argument: - - udevadm info /dev/sda - + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. - + systemd-loginctl and systemd-journalctl have been renamed - to loginctl and journalctl to match systemctl. - + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is - no longer supported. udev_monitor_new_from_netlink() needs to - be used to subscribe to events. - + udev: when udevd is started by systemd, processes which are left - behind by forking them off of udev rules, are unconditionally - cleaned up and killed now after the event handling has finished. - Services or daemons must be started as systemd services. - Services can be pulled-in by udev to get started, but they can - no longer be directly forked by udev rules. - + For almost all files, license is now LGPL2.1+ (from previous - GPL2.0+). Exception are some minor stuff in udev (will be - changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] - library. - + var-run.mount and var-lock.mount are no longer provided - (should be converted to symlinks). - + A new service type Type=idle to avoid ugly interleaving of - getty output and boot status messages. - + systemd-delta has been added, a tool to explore differences - between user/admin configuration and vendor defaults. - + /tmp mouted as tmpfs by default. - + /media is now longer mounted as tmpfs - + GTK tool has been split off to systemd-ui package. - + much improved documentation. -- Merge BuildRequires from udev package: - gobject-introspection-devel, gtk-doc, libsepol-devel, - libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), - pjgconfig(libcryptsetup), pkgconfig(libpci), - pkgconfig(libqrencode), pkgconfig(libselinux), - pkgconfig(usbutils). -- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) -- Merge sources from udev package: boot.udev, write_dev_root.rules, - udev-root-symlink.systemd. -- Merge patches from udev package: numbered started from 1000): - 0001-Reinstate-TIMEOUT-handling.patch, - 0013-re-enable-by_path-links-for-ata-devices.patch, - 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, - 0026-udev-netlink-null-rules.patch, - 0027-udev-fix-sg-autoload-regression.patch. -- Remove following patches, merged upstream: - 0001-util-never-follow-symlinks-in-rm_rf_children.patch, - fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, - fix-swap-priority.patch, improve-restart-behaviour.patch, - fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, - ulimit-support.patch, change-terminal.patch, - fix-tty-startup.patch, fix-write-user-state-file.patch, - fix-analyze-exception.patch, use_localtime.patch, - journalctl-pager-improvement.patch, - avoid-random-seed-cycle.patch, - 0001-add-sparse-support-to-detect-endianness-bug.patch, - drop-timezone.patch. -- Rebase the following patches: - 0001-Add-bootsplash-handling-for-password-dialogs.patch, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, - 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, - crypt-loop-file.patch, - delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, - dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, - fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, - new-lsb-headers.patch, storage-after-cryptsetup.patch, - support-suse-clock-sysconfig.patch, support-sysvinit.patch, - sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. - -------------------------------------------------------------------- -Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com - -- Add use_localtime.patch: use /etc/localtime instead of - /etc/timezone (bnc#773491) -- Add support-suse-clock-sysconfig.patch: read SUSE - /etc/sysconfig/clock file. -- Add drop-timezone.patch: drop support for /etc/timezone, never - supported on openSUSE. -- Add journalctl-pager-improvement.patch: better handle output when - using pager. -- Add fix-enable-disable-boot-initscript.patch: support boot.* - initscripts for systemctl enable /disable (bnc#746506). - -------------------------------------------------------------------- -Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com - -- Ensure systemd macros never fails (if systemd isn't install) - -------------------------------------------------------------------- -Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com - -- Add fix-analyze-exception.patch: prevent exception if running - systemd-analyze before boot is complete (bnc#772506) - -------------------------------------------------------------------- -Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz - -- Fix NumLock detection/set race condition (bnc#746595#c47). - -------------------------------------------------------------------- -Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com - -- Move systemd-analyse to a subpackage, to remove any python - dependencies from systemd main package (bnc#772039). - -------------------------------------------------------------------- -Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com - -- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on - kernel commandline are handled. -- Add fix-write-user-state-file.patch: write logind state file - correctly. -- Disable logind-logout.patch: cause too many issues (bnc#769531). - -------------------------------------------------------------------- -Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com - -- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). - -------------------------------------------------------------------- -Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz - -- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). - -------------------------------------------------------------------- -Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com - -- Add fix-dir-noatime-tmpfiles.patch: do not modify directory - atime, which was preventing removing empty directories - (bnc#751253, rh#810257). -- Add improve-restart-behaviour.patch: prevent deadlock during - try-restart (bnc#743218). -- Add journal-bugfixes.patch: don't crash when rotating journal - (bnc#768953) and prevent memleak at rotation time too. -- Add ulimit-support.patch: add support for system wide ulimit - (bnc#744818). -- Add change-terminal.patch: use vt102 instead of vt100 as terminal - for non-vc tty. -- Package various .wants directories, which were no longer packaged - due to plymouth units being removed from systemd package. -- Fix buildrequires for manpages build. - -------------------------------------------------------------------- -Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com - -- Do not ship plymouth units, they are shipped by plymouth package - now (bnc#769397). -- Fix module loading (bnc#769462) - -------------------------------------------------------------------- -Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com - -- Add fix-swap-priority: fix default swap priority (bnc#731601). - -------------------------------------------------------------------- -Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com - -- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real - fix. - -------------------------------------------------------------------- -Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com - -- Update new-lsb-headers.patch to handle entries written after - description tag (bnc#727771, bnc#747931). - -------------------------------------------------------------------- -Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com - -- Disable logind-logout.patch: it crashes sudo session (if called - after su -l) (bnc#746704). - -------------------------------------------------------------------- -Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com - -- Add fix-getty-isolate.patch: don't quit getty when changing - runlevel (bnc#746594) - -------------------------------------------------------------------- -Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz - -- Implemented SUSE specific sysconfig numlock logic (bnc#746595). - -------------------------------------------------------------------- -Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com - -- Add dbus-1 as BuildRequires to fix build. - -------------------------------------------------------------------- -Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com - -- apply ppc patch to systemd-gtk too (fixes build) - -------------------------------------------------------------------- -Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com - -- Update fixppc.patch with upstream patches -- Add comments from upstream in - 0001-util-never-follow-symlinks-in-rm_rf_children.patch. -- Add logind-logout.patch: it should fix sudo / su with pam_systemd - (bnc#746704). - -------------------------------------------------------------------- -Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix - endianness error, preventing journal to work properly on ppc. -- Add fixppc.patch: fix build and warnings on ppc. - -------------------------------------------------------------------- -Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix - CVE-2012-1174 (bnc#752281). - -------------------------------------------------------------------- -Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + Support optional initialization of the machine ID from the KVM - or container configured UUID. - + Support immediate reboots with "systemctl reboot -ff" - + Show /etc/os-release data in systemd-analyze output - + Many bugfixes for the journal, including endianess fixes and - ensuring that disk space enforcement works - + non-UTF8 strings are refused if used in configuration and unit - files. - + Register Mimo USB Screens as suitable for automatic seat - configuration - + Reorder configuration file lookup order. /etc now always - overrides /run. - + manpages for journal utilities. -- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, - systemd-journald-fix-endianess-bug.patch. -- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). - -------------------------------------------------------------------- -Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com - -- Add fix-c++-compat.patch: fix C++ compatibility error in header. - -------------------------------------------------------------------- -Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com - -- Add systemd-journald-fix-endianess-bug.patch: fix journald not - starting on ppc architecture. -- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth - is correctly called and conflicts with bootsplash. - -------------------------------------------------------------------- -Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com - -- Remove rsyslog listen.conf, handled directly by rsyslog now - (bnc#747871). - -------------------------------------------------------------------- -Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + requires /etc/os-release, support for /etc/SuSE-release is no - longer present. - + Track class of PAM logins to distinguish greeters from normal - user logins. - + Various bug fixes. - -------------------------------------------------------------------- -Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de - -- Use pkgconfig symbols for BuildRequires and specify version - -------------------------------------------------------------------- -Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com - -- Enable Plymouth integration. - * Bootsplash related files will be moved to the bootsplash - package - -------------------------------------------------------------------- -Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com - -- Update to version 42: - + Various bug fixes - + Watchdog support for supervising services is now usable - + Service start rate limiting is now configurable and can be - turned off per service. - + New CanReboot(), CanPowerOff() bus calls in systemd-logind -- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, - is-enabled-non-existing-service.patch (merged upstream) -- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for - manpage generation - -------------------------------------------------------------------- -Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com - -- Update to version 41: - + systemd binary is now installed in /lib/systemd (symlink for - /bin/systemd is available now) - + kernel modules are now loaded through libkmod - + Watchdog support is now useful (not complete) - + new kernel command line available to set system wide - environment variable: systemd.setenv - + journald capabilities set is now limited - + SIGPIPE is ignored by default. This can be disabled with - IgnoreSIGPIPE=no in unit files. -- Add fix-kmod-build.patch: fix build with libkmod -- Drop remote-fs-after-network.patch (merged upstream) -- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm - /dmraid is started before mounting partitions, if fsck was - disabled for them (bnc#733283). -- Update lsb-header patch to correctly disable heuristic if - X-Systemd-RemainAfterExit is specified (whatever its value) -- Add fix-message-after-chkconfig.patch: don't complain if only - sysv services are called in systemctl. -- Add is-enabled-non-existing-service.patch: fix error message when - running is-enabled on non-existing service. - -------------------------------------------------------------------- -Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com - -- Update to version 40: - + reason why a service failed is now exposed in the"Result" D-Bus - property. - + Rudimentary service watchdog support (not complete) - + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. - + Various bug fixes. -- Add remote-fs-after-network.patch and update insserv patch: - ensure remote-fs-pre.target is enabled and started before network - mount points (bnc#744293). -- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. - -------------------------------------------------------------------- -Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com - -- Ensure systemd show service status when started behind bootsplash - (bnc#736225). -- Disable core dump redirection to journal, not stable atm. - -------------------------------------------------------------------- -Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com - -- Update modules_on_boot.patch to not cause failed state for - systemd-modules-load.service (bnc#741481). - -------------------------------------------------------------------- -Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com - -- Update to version 39: - + New systemd-cgtop tool to show control groups by their resource - usage. - + Linking against libacl for ACLs is optional again. - + If a group "adm" exists, journal files are automatically owned - by them, thus allow members of this group full access to the - system journal as well as all user journals. - + The journal now stores the SELinux context of the logging - client for all entries. - + Add C++ inclusion guards to all public headers. - + New output mode "cat" in the journal to print only text - messages, without any meta data like date or time. - + Include tiny X server wrapper as a temporary stop-gap to teach - XOrg udev display enumeration (until XOrg supports udev - hotplugging for display devices). - + Add new systemd-cat tool for executing arbitrary programs with - STDERR/STDOUT connected to the journal. Can also act as BSD - logger replacement, and does so by default. - + Optionally store all locally generated coredumps in the journal - along with meta data. - + systemd-tmpfiles learnt four new commands: n, L, c, b, for - writing short strings to files (for usage for /sys), and for - creating symlinks, character and block device nodes. - + New unit file option ControlGroupPersistent= to make cgroups - persistent. - + Support multiple local RTCs in a sane way. - + No longer monopolize IO when replaying readahead data on - rotating disks. - + Don't show kernel threads in systemd-cgls anymore, unless - requested with new -k switch. -- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. -- Add fdupes to BuildRequires and use it at build time. - -------------------------------------------------------------------- -Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com - -- Make the systemd journal persistent by creating the - /var/log/journal directory - -------------------------------------------------------------------- -Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - -- Update to version 38 : - - Bugfixes - - Implementation of a Journal Utility Library - - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure - syslog socket goes away early during shutdown. -- Add listen.conf for rsyslog. This will ensure that it will still - work fine with rsyslog and the new journal. - -------------------------------------------------------------------- -Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com - -- Add fix-is-enabled.patch: ensure systemctl is-enabled work - properly when systemd isn't running. -- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't - exist (bnc#733022, bnc#735047). -- Add sysctl-modules.patch: ensure sysctl is started after modules - are loaded (bnc#725412). -- Fix warning in insserv patch. -- Update avoid-random-seed-cycle.patch with better upstream - approach. -- Update storage-after-cryptsetup.patch to restart lvm before - local-fs.target, not after it (bnc#740106). -- Increase pam-config dependency (bnc#713319). - -------------------------------------------------------------------- -Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com - -- Remove storage-after-cryptsetup.service, add - storage-after-cryptsetup.patch instead to prevent dependency - cycle (bnc#722539). -- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure - fsck/cryptsetup is run after lvm/md/dmraid have landed - (bnc#724912). -- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). -- Add do_not_warn_pidfile.patch: Fix PID warning in logs - (bnc#732912). -- Add mount-swap-log.patch: Ensure swap and mount output is - redirected to default log target (rhb#750032). -- Add color-on-boot.patch: ensure colored status are displayed at - boot time. -- Update modules_on_boot.patch to fix bnc#732041. -- Replace private_tmp_crash.patch with log_on_close.patch, better - upstream fix for bnc#699829 and fix bnc#731719. -- Update vconsole patch to fix memleaks and crash (bnc#734527). -- Add handle-racy-daemon.patch: fix warnings with sendmail - (bnc#732912). -- Add new-lsb-headers.patch: support PIDFile: and - X-Systemd-RemainAfterExit: header in initscript (bnc#727771). -- Update bootsplash services to not start if vga= is missing from - cmdline (bnc#727771) -- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and - change default permissions on /var/lock (bnc#733523). -- Add garbage_collect_units: ensure error units are correctly - garbage collected (rhb#680122). -- Add crypt-loop-file.patch: add support for crypt file loop - (bnc#730496). - -------------------------------------------------------------------- -Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com - -- add libtool as buildrequire to avoid implicit dependency - -------------------------------------------------------------------- -Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com - -- Fix rpm macros to only call presets on initial install - (bnc#728104). - -------------------------------------------------------------------- -Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com - -- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint - (bnc#726791). - -------------------------------------------------------------------- -Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com - -- Add avoid-random-seed-cycle.patch: fix dependency cycle between - cryptsetup and random-seed-load (bnc#721666). -- Add crash-isolating.patch: fix crash when isolating a service. -- Fix bootsplash being killed too early. -- Fix some manpages not being redirected properly. -- Add storage-after-cryptsetup.service to restart lvm after - cryptsetup. Fixes lvm on top of LUKS (bnc#724238). - -------------------------------------------------------------------- -Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com - -- Recommends dbus-1-python, do not requires python (bnc#716939) -- Add private_tmp_crash.patch: prevent crash in debug mode - (bnc#699829). -- Add systemctl-completion-fix.patch: fix incorrect bash completion - with some commands (git). - -------------------------------------------------------------------- -Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com - -- Shadow single sysv service, it was breaking runlevel 1. -- Add modules_on_boot.patch to handle /etc/sysconfig/kernel - MODULES_ON_BOOT variable (bnc#721662). - -------------------------------------------------------------------- -Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com - -- Update to release 37: - - many bugfixes - - ConditionCapability added, useful for containers. - - locale mechanism got extend to kbd configuration for - both X and the console - - don't try to guess PID for SysV services anymore (bnc#723194) -- Drop detect-non-running.patch, logind-warning.patch. -- Rewrite systemd-sysv-convert in bash (bnc#716939) -------------------------------------------------------------------- -Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com - -- make sure updaters get in the /sbin/init from here - the sub package - of the split package will decide which init wins in update case - -------------------------------------------------------------------- -Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com - -- under openSUSE if it's not systemd, chances are good it's - sysvinit - -------------------------------------------------------------------- -Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com - -- do not list specific sbin_init providers - -------------------------------------------------------------------- -Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com - -- Add logind-warning.patch: fix pam warning (bnc#716384) - -------------------------------------------------------------------- -Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com - -- Update to version 36 : - - many bugfixes - - systemd now requires socket-activated syslog implementations - - After=syslog.target is no longer needed in .service files - - X-Interactive is ignored in LSB headers (was not working) -- Enable back insserv.conf parsing in systemd core and fix added - dependencies (bnc#721428). -- Fix detection of LSB services status when running daemon - (bnc#721426). -- Drop 0001-execute-fix-bus-serialization-for-commands.patch, - fix-reload.patch - -------------------------------------------------------------------- -Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com - -- Add services to stop bootsplash at end of startup and start it at - beginning of shutdown. -- Fix bootsplash call and ensure dependencies are set right. - -------------------------------------------------------------------- -Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com - -- Add detect-non-running.patch: fix assertion when running - systemctl under non systemd system (git). -- Requires presets branding package. -- Improve macros a little bit. - -------------------------------------------------------------------- -Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com - -- Merge migration rpm macros into service_add/service_del macros. -- Use systemd presets in rpm macros -- Add fix-reload.patch: handle daemon-reload and start condition - properly (bnc#719221). - -------------------------------------------------------------------- -Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com - -- Add systemd-splash / bootsplash-startup.service: enable - bootsplash at startup. - -------------------------------------------------------------------- -Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com - -- Create -32bit package (bnc#713319) - -------------------------------------------------------------------- -Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com - -- Do not mask localnet service, it is not yet handled by systemd. - (bnc#716746) - -------------------------------------------------------------------- -Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com - -- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: - remove insserv.conf parsing from systemd and use generator - instead. -- put back default.target creation at package install and remove - inittab generator, Yast2 is now able to create it. - -------------------------------------------------------------------- -Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com - -- Update to version 34: - * Bugfixes - * optionaly apply cgroup attributes to cgroups systemd creates - * honour sticky bit when trimming cgroup trees - * improve readahead -- Add libacl-devel as BuildRequires (needed for systemd-uaccess) -- Add some %{nil} to systemd.macros to fix some build issues. -- Fix dbus assertion -- move gtk part to its own package, to reduce bootstrapping - (bnc#713981). - -------------------------------------------------------------------- -Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com - -- Update compose_table patch to use two separate loadkeys call, - compose table overflows otherwise (spotted by Werner Fink). - -------------------------------------------------------------------- -Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com - -- Add tty1.patch: ensure passphrase are handled before starting - gettty on tty1. -- Add inittab generator, creating default.target at startup based - on /etc/inittab value. -- No longer try to create /etc/systemd/system/default.target at - initial package install (bnc#707418) -- Fix configuration path used for systemd user manager. -- Ensure pam-config output is no display in install script. -- Remove buildrequires on vala, no longer needed. - -------------------------------------------------------------------- -Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com - -- Handle disable_capslock, compose table and kbd_rate -- Add rpm macros.systemd file. -- Do not disable klogd, it has its own service now. -- Handle kexec correctly (bnc#671673). -- Disable preload services, they are conflicting with systemd. - -------------------------------------------------------------------- -Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com - -- enable pam_systemd module, using pam-config. - -------------------------------------------------------------------- -Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de - -- Fix crash with systemctl enable. - -------------------------------------------------------------------- -Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com - -- Fix localfs.service to no cause cycle and starts it after - local-fs.target. - -------------------------------------------------------------------- -Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com - -- Remove root-fsck.patch, mkinitrd will use the same path as - dracut. -- Add systemd-cryptsetup.patch: don't complain on "none" option in - crypttab. -- Add systemd-cryptsetup-query.patch: block boot until passphrase - is typed. - -------------------------------------------------------------------- -Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com - -- Add root-fsck.patch: do not run fsck on / if it is rw -- Ship a non null localfs.service, fixes static mount points not - being mounted properly. - -------------------------------------------------------------------- -Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de - -- Update to version 33: - * optimizations and bugfixes. - * New PrivateNetwork= service setting which allows you to shut off - networking for a specific service (i.e. all routable network - interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch - patches. - -------------------------------------------------------------------- -Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com - -- Add insserv-parsing.patch: read/parse insserv.conf. -- Add bash-completion-restart.patch: fix restart service list - (bnc#704782). - -------------------------------------------------------------------- -Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de - -- Split up devel package. -- restart logind after upgrade. -- Adjust rpmlintrc for changes. - -------------------------------------------------------------------- -Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de - -- Update to version 32: - * bugfixes - * improve selinux setup - -------------------------------------------------------------------- -Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de - -- Update to version 31: - * rewrite of enable/disable code: New features systemctl --runtime, - systemctl mask, systemctl link and presets. - * sd-daemon is now shared library. - -------------------------------------------------------------------- -Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de - -- Update to version 30: - + Logic from pam_systemd has been moved to new systemd-login. - + VT gettys are autospawn only when needed - + Handle boot.local/halt.local on SUSE distribution - + add support for systemctl --root - -------------------------------------------------------------------- -Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com - -- Make sure to not start kbd initscript, it is handled by systemd - natively. - -------------------------------------------------------------------- -Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com - -- version 29: - + enable chkconfig support in systemctl for openSUSE. - + systemctl: plug a leak upon create_symlink mismatch - + mount /run without MS_NOEXEC - + dbus: fix name of capability property - + systemctl: fix double unref of a dbus message - + cryptsetup-generator: fix /etc/cryptsetup options - + selinux: selinuxfs can be mounted on /sys/fs/selinux - + readahead-common: fix total memory size detection - + systemctl: fix 'is-enabled' for native units under /lib - + systemctl: fix a FILE* leak - + pam-module: add debug= parameter - + remote-fs.target: do not order after network.target -- update tarball url. - -------------------------------------------------------------------- -Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de - -- Use RPM macros instead of $RPM_FOO variables -- Don't require %{version}-%{release} of the base package, - %{version} is sufficient - -------------------------------------------------------------------- -Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - mount /run without MS_NOEXEC - - readahead-common: fix total memory size detection - - enable chkconfig support in systemctl for openSUSE - - selinux: selinuxfs can be mounted on /sys/fs/selinux - - cryptsetup-generator: fix /etc/cryptsetup options - - systemctl: fix double unref of a dbus message -- drop merged chkconfig patch - -------------------------------------------------------------------- -Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com - -- Add sysv chkconfig patch to be able to enable / disable sysv - initscripts with systemctl. -- Ensure plymouth support is buildable conditionnally. - -------------------------------------------------------------------- -Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com - -- version 28 - - drop hwclock-save.service - - fix segfault when a DBus message has no interface - - man: update the list of unit search locations - - readahead-collect: ignore EACCES for fanotify - - rtc in localtime: use settimeofday(NULL, tz) - instead of hwclock(8) - -------------------------------------------------------------------- -Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - fix crash in D-Bus code - -------------------------------------------------------------------- -Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values - - util: use new VT ESC sequence to clear scrollback buffer - - sd-daemon: move _sd_hidden_ from .h to .c file - - missing: add IP_TRANSPARENT - -------------------------------------------------------------------- -Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com - -- version 27 - - util: use open_terminal() in chvt() too - - socket: expose SO_BROADCAST - - git: add .mailmap - - exec: expose tty reset options in dbus introspection data - - socket: expose IP_TRANSPARENT - - exec: hangup/reset/deallocate VTs in gettys - - socket: use 666 socket mode by default since neither fifos, - nor sockets, nor mqueues need to be executable - - socket: add POSIX mqueue support - - README: document relation to nss-myhostname - - hostnamed: check that nss-myhostname is installed - -------------------------------------------------------------------- -Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - sysctl: apply /etc/sysctl.conf last - - systemd-analyze: print hostname, kernelversion and arch at - the top of the plot - - pam: downgrade a few log msgs - - hostnamed: SetPrettyHostname() should check PK action - org.freedesktop.hostname1.set-static-hostname - - user-sessions: ignore EROFS when unlinking /etc/nologin if - the file doesn't exist anyway - - unit: make ignoring in snapshots a per unit property, - instead of a per unit type property - - vconsole: use open_terminal() instead of open() - - units: enable automount units only if the kernel supports them - -------------------------------------------------------------------- -Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org - -- remove policy filter - -------------------------------------------------------------------- -Thu May 5 08:59:46 CEST 2011 - meissner@suse.de - -- add missing buildrequires dbus-1-devel, vala, libxslt-devel -- touch vala files for rebuilding to unbreak Factory - -------------------------------------------------------------------- -Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com - -- also delete plymouth files - -------------------------------------------------------------------- -Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com - -- disable plymouth sub-package until plymouth gets into Factory - -------------------------------------------------------------------- -Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - binfmt, modules-load, sysctl, tmpfiles: add missing - ConditionDirectoryNotEmpty= - - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib - and where appropriate /lib directories - -------------------------------------------------------------------- -Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com - -- version 26 - - plymouth: introduce plymouth.enable=0 kernel command line - - util: don't AND cx with cx - - man: typo in sd_daemon reference - - util: conf_files_list() return list as parameter - - dbus: make daemon reexecution synchronous - -------------------------------------------------------------------- -Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - service: properly notice when services with a main process - that isn't a child of init die - - unit: fix assert when trying to load unit instances for - uninstanciable types - - def: lower default timeout to 90s - - manager: fix serialization counter - -------------------------------------------------------------------- -Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't hit assert when dumping properties - - cryptsetup: fix keyfile size option processing - - socket: improve warning message when we get POLLHUP - - mount: failure to mount cgroup hierarchies should not be fatal - - configure: add AC_SYS_LARGEFILE - -------------------------------------------------------------------- -Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run - - sysctl.d, binfmt.d, modules-load.d: switch to stacked config - dirs in /lib, /etc, /run - - manager: mkdir /run/systemd/system when starting up - - man: Spelling fixes - -------------------------------------------------------------------- -Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com - -- version 25 - - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs - and /proc/fs/nfsd. - - socket: support ListeSpecial= sockets - - vconsole: don't set console font/keymap if settings are empty - - nspawn: don't fail when we receive SIGCHLD - - cgroup: don't accidentaly trim on reload - - units: set capability bounding set for syslog services - - socket: log more information about invalid poll events - - man: fix specification of default timeouts - - mount,crypto: rework meaning of noauto/nofail - - fsck: don't fsck against basic.target in order to properly - allow automount /home - - manager: when running in test mode, do not write generated - unit files to /run/systemd/generator - - mount: properly parse timeouts options in the middle of - the string - - hostnamed: drop all caps but CAP_SYS_ADMIN - - execute: when we run as PID 1 the kernel doesn't give us - CAP_SETPCAP by default. Get that temporarily when dropping - capabilities for good - - mount: make device timeout configurable - - cryptsetup: do not order crypto DM devices against the - cryptsetup service - - socket: reuse existing FIFOs - - socket: guarantee order in which sockets are passed to be - the one of the configuration file - - systemctl: always consider unit files with no - [Install] section but stored in /lib enabled - - job: also print status messages when we successfully started - a unit - - hostnamed: add reference to SMBIOS specs - - man: runlevel 5 is usually more comprehensive, so use it - instead of 3 to detect whether a sysv service is enabled - - polkit: follow the usual syntax for polkit actions - - hostnamed: introduce systemd-hostnamed - - units: order quotacheck after remount-rootfs - - hostname: split out hostname validation into util.c - - dbus: split out object management code into dbus-common, - and simplify it - - strv: properly override settings in env_append() - - strv: detect non-assignments in env blocks properly in - env_append() - - strv: handle empty lists in strv_copy() properly - - util: truncate newline inside of read_one_line_file() - - util: modernize get_parent_of_pid() a bit - - crypto: let the cryptsetup binary handles its own - configurable timeouts - - logger,initctl: use global exit timeout - - ask-password: use default timeout - - manager: drop all pending jobs when isolating - - manager: introduce IgnoreOnIsolate flag so that we can keep - systemd-logger around when isolating - - units: never pull in sysinit from utmp, so that we can - shutdown from emergency mode without pulling in sysinit - - manager: downgrade a few log messages - - units: require syslog.socket from the logger because we - simply fail if we don't have it - - logger: adjust socket description to match service - - units: set stdout of kmsg syslogd to /dev/null - - units: add --no-block when starting normal service after - shell exited - - ask-password: use kill(PID, 0) before querying a password - - ask-password: support passwords without timeouts - - ask-password: always send final NUL char - - ask-password: properly accept empty passwords from agent - - unit: skip default cgroup setup if we have no hierarchy - - units: isolate emergency.target instead of emergency.service - when we fail to mount all file systems - - mount: don't pull in stdio logger for root mount unit - - cgroup: be nice to Ingo Molnar - - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL - - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL - - socket: try creating a socket under our own identity if we - have no perms to consult the selinux database - - socket: fix check for SEQPACKET - - execute: don't fail if we cannot fix OOM in a container - - unit: fix dump output - - socket: be a bit more verbose when refusing to start a - socket unit - - socket: support netlink sockets - - local-fs: invoke emergency.service mounting at boot fails - - path: optionally, create watched directories in .path units - - tmpfiles: don't warn if two identical lines are configured - - man: add man page for ask-password - - dbus: expose monotonic timestamps on the bus - - manager: no need to use randomized generator dir when running - as system manager - - don't make up buffer sizes, use standard LINE_MAX instead - - unit: disallow configuration of more than one on_failure - dependencies if OnFailureIsolate= is on - - unit: pull in logger unit only when running in system mode - - manager: serialize/deserialize max job id and /usr taint flag - - manager: don't garbage collect jobs when isolating, to change - global state - - unit: introduce OnFailureIsolate= - - mount: relabel both before and after a mount, just in case - - cmdline: we actually want to parse the kernel cmdline in VMs, - just not in containers - - units: rename rtc-set.target to time-sync.target and pull it - in by hwclock-load.service - - job: fix deserialization of jobs: do not ignore ordering - - systemctl: properly parse JobNew signals - - service: fix units with more than one socket - - systemctl: make most operations NOPs in a chroot - - manager: don't show PID for incoming signals if it is 0 - - man: fix description of systemctl reload-or-try-restart - - mount: block creation of mount units for API file systems - - units: call the logger a bridge too - - build-sys: always place user units in /usr/lib/systemd - - pkgconfig: update .pc file accordingly - - lookup: always also look into /usr/lib for units - - exec: support unlimited resources - - selinux: relabel /run the same way as /dev after loading - the policy since they both come pre-filled and unlabelled - - manager: fd must be int, not char - - change remaining /var/run to /run - - units: move user units from /usr/share to /usr/lib since - they might be arch-dependent - - man: document /etc/sysctl.d/ - - binfmt: add binfmt tool to set up binfmt_misc at boot - - tmpfiles: create leading directories for d/D instructions - - condition: add ConditionSecurity - - load-fragment: unify config_parse_condition_{kernel, virt} - - condition: fix dumping of conditions - - initctl: /dev/initctl is a named pipe, not a socket - - kmsg-syslogd: pass facility value into kmsg - - move /var/lock to HAVE_SYSV_COMPAT - - tmpfiles: split off rules for legacy systems into legacy.conf - - general: replace a few uses of /var/run by /run - - tmpfiles: enforce new /var/lock semantics - - man: document ConditionPathIsDirectory= - - mount: also relabel pre-mounted API dirs - - log: don't strip facility when writing to kmsg - - build-sys: create a number of drop-in config dirs - - random: do not print warning if random seed doesn't exist - - plymouth: use PID file to detect whether ply is running - - build-sys: install systemd-analyze by default - - analyze: improve output - - analyze: add plotter - - unit: when deserializing do reconnect to dbus/syslog when - they show up - - analyze: beautify output a bit - - add systemd-analyze tool - - unit: don't override timestamps due to state changes when - deserializing - - plymouth: don't explicitly enable status message when - plymouth is up - - status: show status messages unconditionally if plymouth - is around - - taint: add missing cgroups taint flag - - locale: don't access misinitialized variable - - quota: do not pull in quota tools for mounts that do not - originate in neither /etc/fstab nor fragment files - - manager: fix taint check for /usr - - unit: never apply /etc/rcN.d/ priority to native services - - unit: fix parsing of condition-result - - unit: don't complain about failed units when deserializing - - exec: drop process group kill mode since it has little use - and confuses the user - - cgroup: explain when we cannot initialize the cgroup stuff - - systemctl: don't truncate description when using pager - - ask-password: also accept Backspace as first keypress as - silent mode switch - - unit: when deserializing jobs, don't pull in dependencies - - locale: fix LC_MESSAGES variable name - - plymouth: Remove the calls to plymouth message - - udev: systemd-tag all ttys - - tmpfiles fix /run/lock permissions - - ask-password: use TAB to disable asterisk password echo - - execute: socket isn't abstract anymore - - use /run instead of /dev/.run - - man: explain a couple of default dependencies - - mount: pull in quota services from local mountpoints with - usr/grpquota options - - service: pull in sysv facility targets from the sysv units, - not the other way round - - units: pull in syslog.target from syslog.socket - - units: don't ever pull in SysV targets from other SysV - targets - - units: document that some targets exists only for compat - with SysV - - man: document pidns containers - - units: deemphesize Names= settings, and explain why nobody - whould use them - - units: on mandriva/fedora create single.service alias via - symlink, not Names= - - units: get rid of runlevel Names=, the symlinks in - /lib/systemd/system are much more useful - - rework syslog detection so that we need no compile-time - option what the name of the syslog implementation is - - man: document .requires/ directories - - special: get rid of dbus.target - - exec: properly apply capability bounding set, add inverted - bounding sets - - dbus: add service D-Bus property "Sockets" - - dbus: consolidate service SysV conditionals - - unit: serialize condition test results - - def: centralize definition of default timeout in one place - - chkconfig: check against runlevel 5 instead of 3, since it is - a superset of the latter - - systemctl: accept condstop as alias for stop - - dbus: allow LoadUnit to unprivileged users - - umount: make sure skip_ro is always correctly initialized -- create /run (link it to /var/run) -- refresh splash password patch -- conflict with old mkinitrd version (we need /run) -- conflict with old udev (we need /run) - -------------------------------------------------------------------- -Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com - -- new snapshot - - man: fix systemctl try-restart description - - Add Frugalware display-manager service - - main: revert recognition of "b" argument - - main: interpret all argv[] arguments unconditionally when - run in a container - - loopback: downgrade an error to warning - - nspawn: bind mount /etc/localtime - - nspawn: make tty code more robust against closed/reopened - /dev/console - - util: make touched files non-writable by default - - nspawn: allocate a new pty instead of passing ours through - to avoid terminal settings chaos - - main: parse the whole arv[] as kernel command line - - main: check if we have a valid PID before getting the name - - ask-password: reset signal mask after we are done - - cgroup: don't recheck all the time whether the systemd - hierarchy is mounted, to make strace outputs nicer and save - a few stat()s - - man: document systemd-nspawn - - cgls: don't strip user processes and kernel threads from - default output - - umount: don't try to remount bind mounts ro during shutdown - - getty: move automatic serial getty logic into generator - - container: skip a few things when we are run in a container - such as accessing /proc/cmdline - - cgls: by default start with group of PID 1 - - pam: determine user cgroup tree from cgroup of PID 1 - - nspawn: move container into its own name=systemd cgroup - - manager: don't show kernel boot-up time for containers - - manager: show who killed us - - units: add console-shell.service which can be used insted of - the gettys to get a shell on /dev/console - -------------------------------------------------------------------- -Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com - -- new snapshot - - build-sys: move remaining tools from sbin/ to bin/ since they - might eventually be useful for user execution - - hostname: don't override the hostname with localhost if it - is already set and /etc/hostname unset - - audit: give up sending auditing messages when it failed due - to EPERM - - nspawn: don't require selinux on if it is compiled in - - main: remove AF_UNIX sockets before binding - - shutdown: print a nice message when terminating a container - - nspawn: mount /selinux if needed - - shutdown: just call exit() if we are in a container - - umount: assume that a non-existing /dev/loop device means it - is already detached - - socket: use 777 as default mode for sockets - - main: log to the console in a container - - main: don't parse /proc/cmdline in containers - - util: add detect_container() - - nspawn: reset environment and load login shell - - core: move abstract namespace sockets to /dev/.run - - nspawn: add simple chroot(1) like tool to execute commands - in a namespace container - - util: return exit status in wait_for_terminate_and_warn() - - util: properly identify pty devices by their major - -------------------------------------------------------------------- -Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com - -- new snapshot - - polkit: autogenerate polkit policy with correct paths - - systemctl: support remote and privileged systemctl access - via SSH and pkexec - - gnome-ask-password-agent: fix path to watch - -------------------------------------------------------------------- -Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com - -- fix broken sysctl.service linking - -------------------------------------------------------------------- -Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: move the last flag files to /dev/.run - - util: close all fds before freezing execution - - dbus: timeout connection setup - - main: properly handle -b boot option - - pam: do not leak file descriptor if flock fails -- disable sysv services natively provided by systemd - -------------------------------------------------------------------- -Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com - -- new snapshot - - main: refuse system to be started in a chroot - - main: don't check if /usr really is a mount point, since it is - fine if it is passed pre-mounted to us from the initrd - - condition: take a timestamp and store last result of conditions - - dev: use /dev/.run/systemd as runtime directory, instead of - /dev/.systemd - - machine-id: move machine-id-setup to /sbin - - pkconfig: export full search path as .pc variable - - selinux: bump up error level when in non-enforcing mode - - dbus: fix dbus assert due to uninitialized error - - dbus: properly generate UnknownInterface, UnknownProperty - and PropertyReadOnly errors - - mount: use /dev/.run as an early boot alias for /var/run - -------------------------------------------------------------------- -Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com - -- version 20 - - service: prefix description with LSB only if script has LSB header, - use 'SysV:' otherwise - - unit: don't accidently create ordering links to targets when - default deps are off for either target and unit - - mount: support less cumbersome x-systemd-xxx mount options - - unit: distuingish mandatory from triggering conditions - - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object - is unknown - - systemctl: when forwarding is-enabled to chkconfig - hardcode runlevel 3 - - job: introduce new job result code 'skipped' to use when pre - conditions of job did not apply - - job: convert job type as early as we can, to simplify things - - Keep emacs configuration in one configuration file. - - syslog: make sure the kmsg bridge is always pulled in and - never terminated automatically - - mount: make /media a tmpfs - -------------------------------------------------------------------- -Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com - -- new snapshot - - add org.freedesktop.DBus.Properies.Set method - - main: introduce /etc/machine-id - - systemctl: fix exit code when directing is-enabled - to chkconfig - - dbus: add 'Tainted' property to Manager object - - dbus: expose distribution name and features on manager - object as properties - - man: document changed EnvironmentFile= behaviour - - main: add link to wiki page with longer explanation of the - /usr madness - - execute: load environment files at time of execution, not - when we load the service configuration - - path: after installing inotify watches, recheck file again - to fix race - - path: don't use IN_ATTRIB on parent dirs when watching a - file, since those cannot be removed without emptying the dir - first anyway and we need IN_ATTRIB only to detect the link - count dropping to 0 - - kill: always send SIGCONT after SIGTERM - - readahead: disable collector automatically on read-only media - - sysctl: use scandir() instead of nftw() to guarantee - systematic ordering - - support DT_UNKNOWN where necessary for compat with reiserfs - - systemctl: always null-terminate the password -- call systemd-machine-id-setup at installation - -------------------------------------------------------------------- -Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com - -- version 19 - - udev: don't ignore non-encrypted block devices with no - superblock - - udev: expose ttyUSB devices too - - udev: mark hvc devices for exposure in systemd - - cryptsetup: add a terse help - - agent: don't print warnings if a password was removed or - timed out - - systemctl: shutdown agent explicitly so that it can reset - the tty properly - - never clean up a service that still has a process in it - - label: udev might be making changes in /dev while we - iterate through it - - systemctl: properly handle job results - - job: also trigger on-failure dependencies when jobs faile - due to dependencies, timeout - - job: when cancelling jobs, make sure to propagate this - properly to depending jobs - - job: start job timeout on enqueuing not when we start to - process a job - - unit: increase default timeout to 3min - - logger: leave the logger longer around and allow it do - handle more connections - - dbus: pass along information why a job failed when it - failed (dbus api change!) - - general: unify error code we generate on timeout - - units: synchronize gettys to plymouth even if plymouth is - killed by gdm - - job: start job timer when we begin running the job, not - already when we add it to the queue of jobs - - cryptsetup: try to show the mount point for a crypto disk - if we can - - rescue: terminate plymouth entirely when going into - rescue mode - - ask-password: fix handling of timeouts when waiting - for password - - ask-password: supported plymouth cached passwords - - main: print warning if /usr is on a seperate partition - - ensure we start not a single getty before plymouth is - gone because we never know which ttys plymouth still controls - - unit: introduce ConditionVirtualization= - -------------------------------------------------------------------- -Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't rely that timer/path units have an initialized - unit field (bnc#671561) - -------------------------------------------------------------------- -Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com - -- new snapshot - - order network mounts after network.target (bnc#672855) - -------------------------------------------------------------------- -Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com - -- new snapshot - - kmsg-syslogd: increase terminate timeout to 5min to generte - less debug spew - - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) - - unit: don't timeout fsck - - man: fixed typo in SyslogIdentifier= - - tmpfiles: never clean up block devices - - main: refuse --test as root - -------------------------------------------------------------------- -Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: order fsck@.service before basic.target - instead of local-fs.target to relax things a little - - readahead: remove misleading error messages - - man: don't do more reloads than necessary in spec files - - util: retry opening a TTY on EIO - - util: beef up logic to find ctty name - - tmpfiles: kill double slashes in unix socket names -- drop vhangup patch, it is fixed in login(3) by forwarding the - SIGHUP to the child process - -------------------------------------------------------------------- -Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com - -- revert back to conflicts: sysvinit - -------------------------------------------------------------------- -Thu Feb 17 15:04:44 CET 2011 - werner@suse.de - -- Add temporary workaround for bnc#652633, that is do a vhangup - to all processes on a tty line used for a getty - -------------------------------------------------------------------- -Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com - -- version 18 - - systemctl: introduce --ignore-dependencies - - systemctl: introduce --failed to show only failed services - - systemctl: introduce --failed to show only failed services - - rescue: make 'systemctl default' fail if there is already - something running when the shell exited - - util: seperate welcome line from other output by empty lines - - manager: don't consider transaction jobs conflicting with - queued jobs redundant - - udev: ignore block devices which no known contents, to avoid - trying of mounts/swapons when devices aren't set up full yet - - swap: handle "nofail" from fstab - - mount,swap: properly add dependencies to logger if needed - - service: change default std output to inherit - - exec: introduce global defaults for the standard output - of services - - udev: use SYSTEMD_READY to mask uninitialized DM devices - - fsck: output to /dev/console by default in addition to syslog - - execute: optionally forward program output to /dev/console in - addition to syslog/kmsg - - socket: refuse socket activation for SysV services - - fsck: do not fail boot if fsck returns with an error code that - hasn't 2 or 6 set - - shutdown: execute all binaries in /lib/systemd/system-shutdown - as last step before invoking reboot() - - job: make status message printing more verbose - - cryptsetup: fix unit file description - - tmpfiles: never delete AF_UNIX sockets that are alive - - getty: don't parse console= anymore, use - /sys/class/tty/console/active instead - - properly resolve /dev/console if more than once console= - argument was passed on the kernel command line - - getty: do not auto-spawn getty's on VC ttys if console=ttyN - - fsck: skip root fsck if dracut already did it - - util: when determining the right TERM for /dev/console - consult /sys/class/tty/console/active - - pam: introduce whitelist and blacklist user list feature - - systemctl: minor optimizations - - systemctl: don't unnecessarily close stdin/stdout/stderr for - tty agent so that locking by tty works - - readahead: disable readahead in virtual machines - - tmpfiles: move binary to /bin to make it publicly available - - tmpfiles: take names of tmpfiles configuration files on the - command line - - tmpfiles: log to stderr if possible - - tmpfiles: support globs - - units: introduce and hook up sound.target - - dbus: allow all clients access to org.freedesktop.DBus.Peer - - consider udev devices with SYSTEMD_READY=0 as unplugged - - systemctl: don't start agent for --user - - systemctl: make sure the tty agent does not retain a copy - of stdio - -------------------------------------------------------------------- -Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com - -- new snapshot - - plymouth: move plymouth out of TARGET_FEDORA - - build-sys: fix AC_COMPILE_IFELSE tests - - build-sys: ensure selinux configure check follows logic of - other optional features - - build-sys: autodetect and use pkg-config for libselinux - - dbus: use ControlGroup as property name to match config option - - pam: optionally reset cgroup memberships for login sessions - - load-fragment: properly parse Nice= value - - automount: use unit_pending_inactive() where appropriate - -------------------------------------------------------------------- -Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de - -- Removed unecessary workaround for plymouth startup. - -------------------------------------------------------------------- -Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de - -- Split plymouth support into systemd-plymouth package. - -------------------------------------------------------------------- -Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com - -- new snapshot - - clang: fix some issues found with clang-analyzer - - gcc: make gcc shut up - -------------------------------------------------------------------- -Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com - -- version 17 - - vala 0.10 seem to work fine - - cryptsetup: fix ordering loop when dealing with encrypted - swap devices - - main: don't warn if /etc/mtab is a symlink to /proc/mounts - - socket: don't crash if the .service unit for a .socket unit - is not found - - mount: ignore if an fsck is requested for a bind mount, - so that we don't wait for the bind 'device' to show up - - automount: fix segfault when shutting down - - man: give an example for vconsole.conf - - dbus: don't try to connect to the system bus before it is - actually up - - service: make chain of main commands and control commands - independent of each other, so that both can be executed - simultaneously and independently - - service: don't allow reload operations for oneshot services - - vala: convert from dbus-glib to gdbus - - systemctl: highlight failed processes in systemctl status - - systemctl: show process type along process exit codes - - service: when reloading a service fails don't fail the entire - service but just the reload job - -------------------------------------------------------------------- -Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com - -- new snapshot - - shutdown: use correct kexec options - - serial-getty: do not invoke /sbin/securetty; recent - pam_securetty looks for console= in /proc/cmdline - - systemctl: before spawning pager cache number of columns - - pam: optionally keep processes of root user around - - service: if a reload operation fails, don't shut down - the service - - execute: make sending of SIGKILL on shutdown optional - - mount: do not translate uuids to lowercase - - man: document missing KillSignal= and swap options -- require recent util-linux -- drop mtab symlink creation which is done in util-linux - -------------------------------------------------------------------- -Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - -- version 16 - - device: don't warn if we cannot bump the udev socket buffer - - logger: when passing on PID info, fall back to our own if - originating process is already gone - - service: don't hit an assert if information in LSB headers is - incorrectly formatted - - execute,util: fix two small memory leaks - - getty: unset locale before execution - - execute: drop empty assignments from env blocks on execution - but keep them around otherwise to make them visible - - umount: don't try to detach the dm device the root dir is on, - to minimize warning messages - - locale: fix variable names - - fragment: allow prefixing of the EnvironmentFile= - path with - to ignore errors - - util: don't pass invalid fd to fdopendir() on error to avoid - corruption of errno - - tmpfiles: nicer message when two or more conflicting lines - are configured for the same file - - fragment: properly handle quotes in assignments in - EnvironmentFile= files - - sysctl: don't warn if sysctls are gone - - readahead: ignore if files are removed during collection or - before replay - - serial: use TERM=vt100 instead of TERM=vt100-nav - - cryptsetup: call mkswap on dm device, not on source device - - mount-setup: mount /dev/pts with mode=620,gid=5 by default - and make GID overridable via configure switch - - systemctl: implement auto-pager a la git - - shutdown: drop redundant sync() invocation - - util: invoke sync() implicitly on freeze() - - tmpfiles: do no follow symlinks when cleaning up dirs - -------------------------------------------------------------------- -Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de - -- Add support for building plymouth support with openSUSE - -------------------------------------------------------------------- -Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com - -- new snapshot - - pam: do not sort user sessions into their own cgroups in - the 'cpu' hierarchy - - mount-setup: drop noexec flag from default mount options - for /dev/shm - - systemd.pc: change 'session' to 'user' - -------------------------------------------------------------------- -Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com - -- new snapshot - - ifdef suse-only sysv script lookup code - -------------------------------------------------------------------- -Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org - -- add bootsplash handling patch to be able to enter e.g. - crypto passphrases (bnc#659885) - -------------------------------------------------------------------- -Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com - -- new snapshot - - add LSB 'smtp' alias for mail-transport-agent.target - -------------------------------------------------------------------- -Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com - -- new snapshot - - path: fix watching the root directory - - update README - -------------------------------------------------------------------- -Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com - -- new snapshot - - gnome-ask-password-agent: also support libnotify < 0.7 for now - - udev: increase event buffer size -- require fsck -l - -------------------------------------------------------------------- -Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com - -- version 15 - - dbus: use the right data slot allocator - - manager: bump up max number of units to 128K - - build-sys: allow cross-compilation -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com - -- new snapshot - - units: simplify shutdown scripts - - logger: fix error handling - - swap: order file-based swap devices after remount-rootfs -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com - -- new snapshot - - systemctl: don't return LSB status error codes for 'show' - - mount: do not try to mount disabled cgroup controllers - - man: document /etc/modules-load.d/, /etc/os-release, - locale.conf, /etc/vconsole.conf, /etc/hostname - - units: move a couple of units from base.target to - sysinit.target - - man: reorder things to follow the same order everywhere -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com - -- version 13 - - cryptsetup: actually show disk name - - cryptsetup: show udev device name when asking for password - - sysctl: implement native tool and support /etc/sysctl.d - - units: enable console ask-password agent by default - - introduce /etc/os-release distro description - - job: make sure we don't fail umount.target if a mount unit - failed to stop - - cgroup: after killing cgroup processes, ensure the group is - really dead gone. wait for 3s at max - - cgroup: if we couldn't remove a cgroup after killing - evertyhing in it then it's fine - - cryptsetup: automatically order crypt partitions before - cryptsetup.target - - man: trivial BindTo description fix - - manager: make list of default controllers configurable - - build: expose libcryptsetup dependency in build string - - pam: document controllers= switch - - cgroup: by default, duplicate service cgroup in the cpu hierarchy - - pam: duplicate cgroup tree in the cpu hierarchy by default, - optionally more -- enable native crypto handling instead of boot.crypto -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com - -- version 12 - - ask-password: add --console mode to ask /dev/console -- revert too new libnotify code/requirement - -------------------------------------------------------------------- -Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com - -- new snapshot - - cryptsetup: reword questions a little - - units: order hwclock after readahead - - path: don't mention too many inotify msgs - - cryptsetup: include device name in password question - - cryptsetup: lock ourselves into memory as long as we deal - with passwords - - plymouth: use updated socket name - - units: set TERM for gettys again, since they acquire a TTY - - units: allow start-up of plymouth ask-password agent very early - - units: enable ask-paswword .path units early enough to be useful - for early mounts - - units: delay getty until logins are allowed - - pam: always rely on loginuid instead of uid to determine cgroup - and XDG_RUNTIME_DIR name - - cgroup: call root cgroup system instead of systemd-1 - - exec: determine right TERM= setting based on tty name - - pam: rename master user cgroup to 'master' - - drop support for MANAGER_SESSION, introduce MANAGER_USER - - units: use ConditionDirectoryNotEmpty= where applicable - - unit: introduce ConditionDirectoryNotEmpty= - - delete tmp.mount which may conflict with an unrelated fstab - entry -- revert too new libnotify code/requirement -- disable native crypto handling - -------------------------------------------------------------------- -Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com - -- new snapshot - - load-dropin: add support for .requires directories - - manager: consider jobs already installed as redundant when - reducing new transactions - - manager: always pull 'following' units into transaction - - util: always highlight distro name - - units: make use of agetty mandatory - - manager: don't fail transaction if adding CONFLICTED_BY job fails - - job: make it possible to wait for devices to be unplugged - - tmpfiles: ignore files marked with the sticky bit - - cryptsetup: handle password=none properly - - cryptsetup: properly parse cipher= switch - - cryptsetup: support non-LUKS crypto partitions - - ask-password: enable password agent - - automatically start cryptsetup when looking for mount source - - log: add automatic log target - - cryptsetup: hook up tool with ask-password - - manager: hookup generators - - split mount_point_is_api() and mount_point_ignore() -- replace boot.crypto job with systemd native crypto handling -- enable readahead (requires 2.6.37+ kernel's fanotify to work) - -------------------------------------------------------------------- -Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com - -- new snapshot - - tmpfiles: include reference to man page in tmpfiles files - - vconsole: support additional keymap for toggling layouts - - main: warn if /etc/mtab is not a symlink - - add bash completion for systemctl --system - - man: minor tmpfiles(5) updates and reindenting - - main: rename process on startup to 'systemd' to avoid confusion - - unit: add ConditionNull= condition - - ac-power: make ac-power a proper binary that scripts can call - - manager: parse RD_TIMESTAMP passed from initrd - - modules-load: fix minor race - - label: use internal utility functions wher epossible - - cryptsetup: minimal cryptsetup unit generator - - selinux: relabel /dev after loading policy - - log: downgrade syslog connection failure message - - service: delay automatic restart if job is pending - - manager: when isolating undo all pending jobs, too - - manager: only minimize impact if we are in fail mode -- replace /etc/mtab with link to /proc/self/mounts - -------------------------------------------------------------------- -Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com - -- new snapshot - - man/tmpfiles.d.xml: add a manpage for tmpfiles - - do not overwrite other udev tags - - readahead: shortcut replay if /.readahead doesn't exist - -------------------------------------------------------------------- -Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fsck: return SUCCESS when we skip the check - - fsck: skip checking / if it is writable - - units: fix variable expansion - - mount: don't pull in nofail mounts by default, but use them - if they are around - - job: recursively fail BoundBy dependencies - - fsck: fix target name to check for - - units: rename fedora/single.service to rescue.service - - units: introduce plymouth-start and plymouth-kexec - - unit: get rid of IgnoreDependencyFailure= - - use util-linux:agetty instead of mingetty - - unit: replace StopRetroactively= by BindTo= dependencies - - automount: show who's triggering an automount - - units: run sysctl only if /etc/sysctl.conf exists - - systemctl: always show what and where for mount units - - shutdown: reword a few messages a little - - manager: show which jobs are actually installed after a transaction - - timer: when deserializing timer state stay elapsed - - device: set recursive_stop=true by default - - unit: suppress incorrect deserialization errors - - swap: there's no reason not order swap after sysinit - - socket: fix IPv6 availability detection - -------------------------------------------------------------------- -Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - create /dev/stderr and friends early on boot - - run sysv related scripts with TERM=linux - - add only swaps listed in /etc/fstab automatically to swap.target - - errors: refer to systemctl status when useful - - swap: add default cgroup to swap exec env - - readahead: bump a device's request_nr when enabling readahead - - shutdown: properly handle sigtimedwait() timing out - - main: fix typo in kernel cmdline parameters help - - ord-tty: properly handle SIGINT/SIGTERM - - systemctl: automatically spawn temporary password agent - - ask-password: properly handle multiple pending passwords - - ask-password: enable plymouth agent by default - - ask-password: add minimal plymouth password agent - -------------------------------------------------------------------- -Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - make sure to pass TERM=linux to all sysv scripts - - don't unset HOME/TERM when run in session mode - - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run - - tmpfiles: Don't clean /var/lock/subsys - - tmpfiles: Make wtmp match utmp perms, and add btmp - - umount: Make sure / is remounted ro on shutdown - - unset HOME and TERM set from the kernel - - activate wall agent automatically - - ask-password: add basic tty agent - -------------------------------------------------------------------- -Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - rename ask-password-agent to gnome-ask-password-agent - - fsck: suppress error message if we cannot change into single - user mode since - - dbus: epose FsckPassNo property for service objects - - man: document systemctl --force - - introduce 'systemctl kill' - -------------------------------------------------------------------- -Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - syslog: enable kmsg bridge by default - - fsck: add initial version of fsck and quotacheck wrappers - - tmpfiles: remove forcefsck/fastboot flag files after boot - - swap: listen for POLLPRI events on /proc/swaps if availabled - - tmpfiles: integrate native tmpwatch - - shutdown: loop only as long as we manage to unmount/detach devices - - umount: disable dm devices by devnode, not by path name - - introduce final.target - - replace distro-specific shutdown scripts with native services - - try to get rid of DM devices - - log to console by default - - introduce kexec.service, kexec.target and exit.target - - hook in fsck@.service instance for all mount points with passno > 0 - - systemctl: warn if user enables unit with no installation instructions - - dbus: add introspection to midlevel paths - - look for dynamic throw-away units in /dev/.systemd/system - - major rework, use /sbin/swapon for setting up swaps - - introduce Restart=on-failure and Restart=on-abort - - units: enable utmp for serial gettys too - - rename 'banned' load state to 'masked' - - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service -- use systemd-native fsck/mount -- use systemd-native tmpfiles.d/ instead of tmpwatch - -------------------------------------------------------------------- -Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com - -new snapshot - - fix 'systemctl enable getty@.service' - - properly support 'banning' of services - - handle nologin - - add native reboot/shutdown implementation - -------------------------------------------------------------------- -Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com - -- version 11 - -------------------------------------------------------------------- -Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - readahead fixes - -------------------------------------------------------------------- -Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de - -- /etc/modules.d was renamed to modules-load.d -- only include tmpfiles.d/*conf files - -------------------------------------------------------------------- -Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com - -- don't create sysv order deps on merged units -- fix Provides: handling in LSB headers (network.target) -- native (optional) readahead - -------------------------------------------------------------------- -Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de - -- Do not package man pages twice. - -------------------------------------------------------------------- -Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - basic services are enabled by default now - -------------------------------------------------------------------- -Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - vconsole and locale setup - - hook up tmpwatch - -------------------------------------------------------------------- -Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - add new utility to initialize the virtual console - - initialize locale from /etc/locale by default - - ask-password: allow services query SSL/harddisk passphrases - -------------------------------------------------------------------- -Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com - -- version 10 - - logger: support SOCK_STREAM /dev/log sockets - - make sure the file system is writable before we write utmp data - - systemctl: use isolate when called as telinit for a runlevel - - initctl: properly use isolate when activating runlevels - - set HOME=/root when running shells - - make sure we don't crash if there's an automount unit without - mount unit - - start logger only after syslog is up - -------------------------------------------------------------------- -Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com - -- version 9 - - units: don't add shutdown conflicts dep to umount.target - - dbus: don't send cgroup agent messages directly to system bus - - dbus: don't accept activation requests anymore if we are going - down anyway - - systemctl: fix return value of systemctl start and friends - - service: wait for process exit only if we actually killed - somebody - -------------------------------------------------------------------- -Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com - -- version 8 - - KERNEL 2.6.36+ REQUIRED! - - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup - - invoke sulogin instead of /bin/sh - - systemctl: show timestamps for state changes - - add global configuration options for handling of auto mounts - -------------------------------------------------------------------- -Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com - -- apply /etc/fstab mount options to all api mounts -- properly handle LABEL="" in fstab -- do not consider LSB exit codes 5 and 6 as failure - -------------------------------------------------------------------- -Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com - -- prefix sysv job descriptions with LSB: -- add native sysctl + hwclock + random seed service files -- properly fallback to rescue.target if default.target is hosed -- rename ValidNoProcess= to RemainAfterExit= -- add systemd-modules-load tool to handle /etc/modules.d/ - -------------------------------------------------------------------- -Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com - -- add support for delayed shutdown, similar to sysv in style -- rename Type=finish to Type=oneshot and allow multiple ExecStart= -- don't show ENOENT for non exitent configuration files -- log build time features on startup -- rearrange structs to make them smaller -- move runlevel[2-5] links to /lib -- create default.target link to /lib not /etc -- handle random-seed -- write utmp record before we kill all processes -- create /var/lock/subsys, /var/run/utmp - -------------------------------------------------------------------- -Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com - -- add audit messages for service changes -- update utmp with external program -- all to refuse manual service starting/stopping - -------------------------------------------------------------------- -Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com - -- version 7 - - hide output if quiet is passed on the kernel cmdline - - fix auto restarting of units after a configuration reload - - don't call bus_path_escape() with NULL unit name - -------------------------------------------------------------------- -Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com - -- version 6 - - man page update - -------------------------------------------------------------------- -Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - downgrade a few log messages - - properly handle devices which are referenced before they exist - -------------------------------------------------------------------- -Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fix dependency cycle of boot.* by splitting fsck.target - - sort boot.* before other sysv services - from sysinint.target - - start getty for serial console - -------------------------------------------------------------------- -Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com - -- add licence to subpackages - -------------------------------------------------------------------- -Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com - -- version 5 - - selinux fixes -- fix hanging 'reboot' started from vc - -------------------------------------------------------------------- -Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com - -- enable getty.target by default - -------------------------------------------------------------------- -Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com - -- at install, read old inittab for the defaul target/runlevel -- disable services on package uninstall - -------------------------------------------------------------------- -Sat Jul 24 09:50:05 CEST 2010 - kay.sievers@novell.com - -- version 4 - - merge systemd-install into systemctl - -------------------------------------------------------------------- -Fri Jul 23 10:39:19 CEST 2010 - kay.sievers@novell.com - -- create config files in /etc in %post -- mark files in /etc as config -- remove nodev from /dev/pts -- add selinux support - -------------------------------------------------------------------- -Thu Jul 22 10:51:16 CEST 2010 - kay.sievers@novell.com - -- version 4 (pre) - - require newer vala - - add [Install] section to getty.target and remote-fs.target -- re-enable post-build check - -------------------------------------------------------------------- -Wed Jul 21 08:51:22 CEST 2010 - kay.sievers@novell.com - -- do not add sysv services that are not enabled in /etc/rcN.d/ -- allow symlinking unit files to /dev/null -- remove only pam sessions we ourselves created -- unit files in /etc/ always take precedence, even over link targets - -------------------------------------------------------------------- -Tue Jul 20 21:20:43 CEST 2010 - kay.sievers@novell.com - -- fix access mode verification of FIFOs - -------------------------------------------------------------------- -Sun Jul 18 11:31:06 CEST 2010 - kay.sievers@novell.com - -- fix default mode of /var/run and /var/lock -- force /var/run and /var/lock to be on tmpfs - -------------------------------------------------------------------- -Wed Jul 14 17:49:57 CEST 2010 - kay.sievers@novell.com - -- always enable udev and dbus until we can require systemd from - packages providing systemd service files - -------------------------------------------------------------------- -Wed Jul 14 01:10:27 CEST 2010 - kay.sievers@novell.com - -- drop systemd-units.rpm - -------------------------------------------------------------------- -Wed Jul 14 00:07:24 CEST 2010 - kay.sievers@novell.com - -- version 3 - - treat non-existing cgroups like empty ones, to deal with races - - replace --running-as= by --session and --system - - always allow stopping of units that failed to load - -------------------------------------------------------------------- -Tue Jul 13 06:22:56 CEST 2010 - kay.sievers@novell.com - -- update - -------------------------------------------------------------------- -Mon Jul 12 18:23:41 CEST 2010 - kay.sievers@novell.com - -- drop libcgroup - -------------------------------------------------------------------- -Mon Jul 12 10:04:26 CEST 2010 - kay.sievers@novell.com - -- trim cgroups for services that are "active" but "exited" -- drop /bin/init hack and require now fixed mkinitrd - -------------------------------------------------------------------- -Sun Jul 11 23:38:45 CEST 2010 - kay.sievers@novell.com - -- fix reboot issue -- fix abstract namespace name handling (needs udev update) -- prefer private D-Bus socket wherever possible - -------------------------------------------------------------------- -Sun Jul 11 00:50:14 CEST 2010 - kay.sievers@novell.com - -- D-Bus 1.3.2 support -- use COLD_BOOT=1 on reboot to skip sysv boot.d/ handling - -------------------------------------------------------------------- -Fri Jul 9 10:05:00 CEST 2010 - kay.sievers@novell.com - -- fix typo in spec file - -------------------------------------------------------------------- -Fri Jul 9 09:09:33 CEST 2010 - kay.sievers@novell.com - -- provide /bin/init to be found by 'too simple' mkinitrd, and work - around mindless relinking of relative links in the buildsystem -- add rpmlintrc to silent warnings about intentional behavior - -------------------------------------------------------------------- -Fri Jul 9 06:18:52 CEST 2010 - kay.sievers@novell.com - -- version 2 - -------------------------------------------------------------------- -Thu Jul 8 23:48:09 CEST 2010 - kay.sievers@novell.com - -- fix 'reboot -w' to skip the actual reboot -- fix segfault in D-Bus code -- use unique instead of multiple keys in config file -- support continuation lines in config files -- support multiple commands in a single key in config files -- adapt log level of some messages - -------------------------------------------------------------------- -Wed Jul 7 06:20:00 CEST 2010 - kay.sievers@novell.com - -- version 1 - - default log level to INFO - - show welcome message - -------------------------------------------------------------------- -Tue Jul 6 08:55:03 CEST 2010 - kay.sievers@novell.com - -- add systemd-install --start option -- add more documentation - -------------------------------------------------------------------- -Mon Jul 5 16:23:28 CEST 2010 - kay.sievers@novell.com - -- new snapshot with extended D-Bus support - -------------------------------------------------------------------- -Sun Jul 4 21:31:49 CEST 2010 - kay.sievers@novell.com - -- new snapshot with default unit dependency handling - -------------------------------------------------------------------- -Sat Jul 3 16:54:19 CEST 2010 - kay.sievers@novell.com - -- new snapshot - -------------------------------------------------------------------- -Fri Jul 2 10:04:26 CEST 2010 - kay.sievers@novell.com - -- add more documentation - -------------------------------------------------------------------- -Thu Jul 1 17:40:28 CEST 2010 - kay.sievers@novell.com - -- new snapshot - -------------------------------------------------------------------- -Fri Jun 25 00:34:03 CEST 2010 - kay.sievers@novell.com - -- split off systemd-units.rpm which can be pulled-in by other - packages without further dependencies - -------------------------------------------------------------------- -Thu Jun 24 09:40:06 CEST 2010 - kay.sievers@novell.com - -- add more documentation - -------------------------------------------------------------------- -Tue Jun 22 22:13:02 CEST 2010 - kay.sievers@novell.com - -- more man pages and documentation - -------------------------------------------------------------------- -Tue Jun 22 18:14:05 CEST 2010 - kay.sievers@novell.com - -- conflict with upstart -- include all installed doc files - -------------------------------------------------------------------- -Tue Jun 22 09:33:44 CEST 2010 - kay.sievers@novell.com - -- provide pam module - -------------------------------------------------------------------- -Mon Jun 21 10:21:20 CEST 2010 - kay.sievers@novell.com - -- use private D-Bus connection -- properly handle replacing a running upstart - -------------------------------------------------------------------- -Fri Jun 18 09:37:46 CEST 2010 - kay.sievers@novell.com - -- implement wall message in halt/reboot/... -- speak /dev/initctl to old /sbin/init after installing - -------------------------------------------------------------------- -Thu Jun 17 23:54:59 CEST 2010 - kay.sievers@novell.com - -- drop no longer needed -fno-strict-aliasing -- add README and examples - -------------------------------------------------------------------- -Thu Jun 17 23:23:42 CEST 2010 - kay.sievers@novell.com - -- enable pam and libwrap - -------------------------------------------------------------------- -Thu Jun 17 23:10:57 CEST 2010 - kay.sievers@novell.com - -- provide systemd-sysvinit.rpm with /sbin/init and friends - -------------------------------------------------------------------- -Thu Jun 17 11:06:14 CEST 2010 - kay.sievers@novell.com - -- libwrap / pam support - -------------------------------------------------------------------- -Wed Jun 16 09:46:15 CEST 2010 - kay.sievers@novell.com - -- initial packaging of experimental version 0 - diff --git a/systemd-mini.spec b/systemd-mini.spec deleted file mode 100644 index e2e18d20..00000000 --- a/systemd-mini.spec +++ /dev/null @@ -1,1871 +0,0 @@ -# -# spec file for package systemd-mini -# -# Copyright (c) 2021 SUSE LLC -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - -# -# The git repository used to track all Suse specific changes can be -# found at: https://github.com/openSUSE/systemd. -# - -##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define bootstrap 1 -##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define mini -mini -%define min_kernel_version 4.5 -%define suse_version +suse.47.g8521f8d22f -%define _testsuitedir /usr/lib/systemd/tests - -%if 0%{?bootstrap} -%bcond_with coredump -%bcond_with importd -%bcond_with journal_remote -%bcond_with machined -%bcond_with networkd -%bcond_with portabled -%bcond_with resolved -%bcond_with sd_boot -%bcond_with sysvcompat -%bcond_with experimental -%bcond_with testsuite -%else -%bcond_without coredump -%bcond_without importd -%bcond_without journal_remote -%bcond_without machined -%bcond_without networkd -%bcond_without portabled -%bcond_without resolved -%ifarch %{ix86} x86_64 aarch64 -%bcond_without sd_boot -%else -%bcond_with sd_boot -%endif -%bcond_without sysvcompat -%bcond_without experimental -%bcond_without testsuite -%endif -# Kept to ease migrations toward SLE -%bcond_with split_usr - -Name: systemd-mini -URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.5 -Release: 0 -Summary: A System and Session Manager -License: LGPL-2.1-or-later -BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! 0%{?bootstrap} -BuildRequires: docbook-xsl-stylesheets -BuildRequires: kbd -BuildRequires: libapparmor-devel -BuildRequires: libgcrypt-devel -BuildRequires: libxslt-tools -BuildRequires: polkit -# python is only required for generating systemd.directives.xml -BuildRequires: python3-base -BuildRequires: python3-lxml -BuildRequires: pkgconfig(audit) -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libdw) -BuildRequires: pkgconfig(libfido2) -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpcre2-8) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libzstd) -BuildRequires: pkgconfig(tss2-esys) -BuildRequires: pkgconfig(tss2-mu) -BuildRequires: pkgconfig(tss2-rc) -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif -%endif -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: meson >= 0.43 -BuildRequires: pam-devel -BuildRequires: python3-jinja2 -# regenerate_initrd_post macro is expanded during build, hence this -# BR. Also this macro was introduced since version 12.4. -BuildRequires: suse-module-tools >= 12.4 -BuildRequires: systemd-rpm-macros -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(libpci) >= 3 -%if %{with importd} -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(zlib) -%endif -%if %{with journal_remote} -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 -%endif -%if %{with sd_boot} -BuildRequires: gnu-efi -%endif - -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %{version}-%{release} -%else -# the buildignore is important for bootstrapping -#!BuildIgnore: udev -Requires: aaa_base >= 13.2 -Requires: dbus-1 >= 1.4.0 -Requires: kbd -Requires: netcfg >= 11.5 -Requires: systemd-default-settings-branding -Requires: systemd-presets-branding -Requires: util-linux >= 2.27.1 -Requires: group(lock) -# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl -Recommends: libpcre2-8-0 -# ditto but dlopen()ed by systemd-cryptenroll -Recommends: libfido2 -Recommends: libtss2-esys0 -Recommends: libtss2-mu0 -Recommends: libtss2-rc0 -Requires(post): coreutils -Requires(post): findutils -Requires(post): systemd-presets-branding -Requires(post): pam-config >= 0.79-5 -%endif - -%if 0%{?bootstrap} -Conflicts: systemd -Conflicts: kiwi -%endif -Conflicts: sysvinit -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Provides: systemd-logger = %{version}-%{release} -Obsoletes: systemd-logger < %{version}-%{release} -Provides: systemd-analyze = %{version}-%{release} -Obsoletes: pm-utils <= 1.4.1 -Obsoletes: suspend <= 1.0 -Obsoletes: systemd-analyze < 201 -Source0: systemd-v%{version}%{suse_version}.tar.xz -Source1: %{name}-rpmlintrc -Source2: systemd-user -%if %{with sysvcompat} -Source3: systemd-sysv-convert -Source4: systemd-sysv-install -%endif -Source5: tmpfiles-suse.conf -Source6: baselibs.conf -Source11: after-local.service -Source14: kbd-model-map.legacy - -Source100: scripts-systemd-fix-machines-btrfs-subvol.sh -Source101: scripts-systemd-upgrade-from-pre-210.sh -Source102: scripts-systemd-migrate-sysconfig-i18n.sh - -# Patches listed below are SUSE specific and should be kept at its -# minimum. We try hard to push our changes to upstream but sometimes -# they are only relevant for SUSE distros. Special rewards for those -# who will manage to get rid of one of them ! -Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch -Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch -Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch -Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch -Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -Patch10: 0001-conf-parser-introduce-early-drop-ins.patch -Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch -Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - -# Patches listed below are put in quarantine. Normally all changes -# must go to upstream first and then are cherry-picked in the SUSE git -# repository. But in very few cases, some stuff might be broken in -# upstream and need an urgent fix. Even in this case, the patches are -# temporary and should be removed as soon as a fix is merged by -# upstream. - -%description -Systemd is a system and service manager, compatible with SysV and LSB -init scripts for Linux. systemd provides aggressive parallelization -capabilities, uses socket and D-Bus activation for starting services, -offers on-demand starting of daemons, keeps track of processes using -Linux cgroups, supports snapshotting and restoring of the system state, -maintains mount and automount points and implements an elaborate -transactional dependency-based service control logic. It can work as a -drop-in replacement for sysvinit. - -%if !0%{?bootstrap} -%package doc -Summary: HTML documentation for systemd -License: LGPL-2.1-or-later -Supplements: (systemd and patterns-base-documentation) - -%description doc -The HTML documentation for systemd. - -# /bootstrap -%endif - -%package devel -Summary: Development headers for systemd -License: LGPL-2.1-or-later -Requires: libsystemd0%{?mini} = %{version}-%{release} -Requires: systemd-rpm-macros -%if 0%{?bootstrap} -Conflicts: systemd-devel -%endif - -%description devel -Development headers and auxiliary files for developing applications for systemd. - -%package sysvinit -Summary: System V init tools -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -Provides: sbin_init -Conflicts: sbin_init -Provides: systemd-sysvinit = %{version}-%{release} -Provides: sysvinit:/sbin/init - -%description sysvinit -Drop-in replacement of System V init tools. - -%package -n libsystemd0%{?mini} -Summary: Component library for systemd -License: LGPL-2.1-or-later -%if 0%{?bootstrap} -Conflicts: libsystemd0 -Requires: this-is-only-for-build-envs -%endif - -%description -n libsystemd0%{?mini} -This library provides several of the systemd C APIs: - -* sd-bus implements an alternative D-Bus client library that is - relatively easy to use, very efficient and supports both classic - D-Bus as well as kdbus as transport backend. - -* sd-daemon(3): for system services (daemons) to report their status - to systemd and to make easy use of socket-based activation logic - -* sd-event is a generic event loop abstraction that is built around - Linux epoll, but adds features such as event prioritization or - efficient timer handling. - -* sd-id128(3): generation and processing of 128-bit IDs - -* sd-journal(3): API to submit and query journal log entries - -* sd-login(3): APIs to introspect and monitor seat, login session and - user status information on the local system. - -%package -n udev%{?mini} -Summary: A rule-based device node and kernel event manager -License: GPL-2.0-only -URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -Requires: %{name} = %{version}-%{release} -%systemd_requires -Requires: kmod -Requires: system-group-hardware -Requires: group(kvm) -Requires(post): sed -Requires(post): coreutils -Requires(postun): coreutils - -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Conflicts: dracut < 044.1 -Conflicts: util-linux < 2.16 -Conflicts: ConsoleKit < 0.4.1 -Requires: filesystem -%if 0%{?bootstrap} -Provides: udev = %{version}-%{release} -Conflicts: libudev1 -Conflicts: udev -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs -%endif - -%description -n udev%{?mini} -Udev creates and removes device nodes in /dev for devices discovered or -removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in %{_udevrulesdir}/. Matching -rules may name a device node, create additional symlinks to the node, -call tools to initialize a device, or load needed kernel modules. - -%package -n libudev%{?mini}1 -Summary: Dynamic library to access udev device information -License: LGPL-2.1-or-later -%if 0%{?bootstrap} -Conflicts: libudev1 -Conflicts: kiwi -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs -%endif - -%description -n libudev%{?mini}1 -This package contains the dynamic library libudev, which provides -access to udev device information - -%package -n libudev%{?mini}-devel -Summary: Development files for libudev -License: LGPL-2.1-or-later -Requires: libudev%{?mini}1 = %{version}-%{release} -%if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{version} -Conflicts: libudev1 = %{version} -Conflicts: libudev-devel -%endif - -%description -n libudev%{?mini}-devel -This package contains the development files for the library libudev, a -dynamic library, which provides access to udev device information. - -%if %{with coredump} -%package coredump -Summary: Systemd tools for coredump management -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -Provides: systemd:%{_bindir}/coredumpctl - -%description coredump -Systemd tools to store and manage coredumps. - -This package contains systemd-coredump, coredumpctl. -%endif - -%package container -Summary: Systemd tools for container management -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -Provides: systemd:%{_bindir}/systemd-nspawn -%if 0%{?bootstrap} -Conflicts: systemd-container -%endif - -%description container -Systemd tools to spawn and manage containers and virtual machines. - -This package contains systemd-nspawn, machinectl, systemd-machined, -and systemd-importd. - -%if %{with networkd} || %{with resolved} -%package network -Summary: Systemd tools for networkd and resolved -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -# This Recommends because some symbols of libidn2 are dlopen()ed by resolved -Recommends: pkgconfig(libidn2) -BuildRequires: pkgconfig(libidn2) -Provides: systemd:/usr/lib/systemd/systemd-networkd -Provides: systemd:/usr/lib/systemd/systemd-resolved - -%description network -Systemd tools to manage network settings using networkd and -resolver tools for resolved - -%endif - -%if %{with portabled} -%package portable -Summary: Systemd tools for portable services -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires - -%description portable -Systemd tools to manage portable services. The feature is still -considered experimental so the package might change or vanish. -Use at own risk. - -More information can be found online: - -http://0pointer.net/blog/walkthrough-for-portable-services.html -https://systemd.io/PORTABLE_SERVICES -%endif - -%if ! 0%{?bootstrap} -%package -n nss-systemd -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-systemd -This package contains a plugin for the Name Service Switch (NSS), -which enables resolution of all dynamically allocated service -users. (See the DynamicUser= setting in unit files.) - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. - -%package -n nss-myhostname -Summary: Plugin for local system host name resolution -License: LGPL-2.1-or-later - -%description -n nss-myhostname -This package contains a plug-in module for the Name Service Switch -(NSS), primarly providing hostname resolution for the locally -configured system hostname as returned by gethostname(2). For example, -it resolves the local hostname to locally configured IP addresses, as -well as "localhost" to 127.0.0.1/::1. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. -%endif - -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Requires: %{name}-network = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-mymachines -This package contains a plugin for the Name Service Switch (NSS), -providing host name resolution for all local containers and virtual -machines registered with systemd-machined to their respective IP -addresses. It also maps UID/GIDs ranges used by containers to useful -names. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. -%endif - -%if %{with journal_remote} -%package journal-remote -Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires - -%description journal-remote -This extends the journal functionality to keep a copy of logs on a -remote server by providing programs to forward journal entries over -the network, using encrypted HTTP, and to write journal files from -serialized journal contents. - -This package contains systemd-journal-gatewayd, -systemd-journal-remote, and systemd-journal-upload. -%endif - -%if %{with testsuite} -%package testsuite -Summary: Testsuite for systemd -# Unit tests dependencies -License: LGPL-2.1-or-later -Recommends: python3 -Recommends: python3-colorama -# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) -Recommends: dosfstools -# The following deps on libs are for test-dlopen-so whereas the -# pkgconfig ones are used by test-funtions to find the libs on the -# host and install them in the image, see install_missing_libraries() -# for details. -%if %{with resolved} -Requires: libidn2 pkgconfig(libidn2) -%endif -%if %{with experimental} -Requires: libpwquality1 pkgconfig(pwquality) -Requires: libqrencode4 pkgconfig(libqrencode) -%endif -Requires: %{name} = %{version}-%{release} -Requires: attr -Requires: binutils -Requires: busybox-static -Requires: cryptsetup -Requires: dosfstools -Requires: libcap-progs -Requires: lz4 -Requires: netcat -Requires: qemu-kvm -Requires: quota -Requires: socat -Requires: squashfs -Requires: systemd-container -Requires: libfido2 pkgconfig(libfido2) -Requires: libtss2-esys0 pkgconfig(tss2-esys) -Requires: libtss2-mu0 pkgconfig(tss2-mu) -Requires: libtss2-rc0 pkgconfig(tss2-rc) -%if %{with coredump} -Requires: systemd-coredump -%endif -%if %{with experimental} -Requires: systemd-experimental -%endif -%if %{with journal_remote} -Requires: systemd-journal-remote -%endif -%if %{with portabled} -Requires: systemd-portable -%endif -Requires: xz - -%description testsuite -This package contains the unit tests as well as the extended -testsuite. The unit tests are used to check various internal functions -used by systemd whereas the extended testsuite is used to test various -functionalities of systemd and all its components. - -Note that the extended testsuite only works with UID=0. - -Run the following python script to run all unit tests at once: -$ %{_testsuitedir}/run-unit-tests.py - -To run the full extended testsuite do the following: -$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh - -Or to run one specific integration test: -$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run - -For more details on the available options to run the extended -testsuite, please refer to %{_testsuitedir}/test/README.testsuite. -%endif - -%if %{with experimental} -%package experimental -Summary: Experimental systemd features -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -# These Recommends because some symbols of these libs are dlopen()ed by home stuff -Recommends: libfido2 -Recommends: libpwquality1 -Recommends: libqrencode4 -# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff -BuildRequires: pkgconfig(libfido2) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(pwquality) -# fdisk and openssl are build requirements for home stuff and repart -BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) - -%description experimental -This package contains optional extra services that are considered as -previews and are provided so users can do early experiments with the -new features or technologies without waiting for them to be fully -supported by either upstream and openSUSE. - -Please note that all services should be considered in development -phase and as such their behaviors details, unit files, option names, -etc... are subject to change without the usual backwards-compatibility -promises. - -Components that turn out to be stable and considered as fully -supported will be merged into the main package or moved into a -dedicated package. - -The package contains: homed, pstore, repart, userdbd. - -Have fun with these services at your own risk. -%endif - -%if ! 0%{?bootstrap} -%lang_package -%endif - -%prep -%setup -q -n systemd-v%{version}%{suse_version} -%autopatch -p1 - -%build -# keep split-usr until all packages have moved their systemd rules to /usr -%meson \ - -Dmode=release \ - -Dversion-tag=%{version}%{suse_version} \ - -Ddocdir=%{_docdir}/systemd \ -%if %{with split_usr} - -Drootprefix=/usr \ - -Dsplit-usr=true \ -%endif - -Dsplit-bin=true \ - -Dsystem-uid-max=499 \ - -Dsystem-gid-max=499 \ - -Dpamconfdir=no \ - -Dpamlibdir=%{_pam_moduledir} \ - -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ - -Drpmmacrosdir=no \ - -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=unified \ - -Ddefault-kill-user-processes=false \ - -Drc-local=/etc/init.d/boot.local \ - -Dcreate-log-dirs=false \ - -Dbump-proc-sys-fs-nr-open=false \ - -Ddebug-shell=/bin/bash \ - -Dseccomp=auto \ - -Dselinux=auto \ - -Dapparmor=auto \ - -Dsmack=false \ - -Dima=false \ - -Delfutils=auto \ - -Doomd=false \ -%if %{with experimental} - -Dpstore=true \ - -Drepart=true \ - -Dhomed=true \ - -Duserdb=true \ -%else - -Dpstore=false \ - -Drepart=false \ - -Dhomed=false \ - -Duserdb=false \ -%endif -%if 0%{?bootstrap} - -Dnss-myhostname=false \ -%else - -Dtpm2=true \ - -Dman=true \ - -Dhtml=true \ -%endif -%if %{without coredump} - -Dcoredump=false \ -%endif -%if %{without sd_boot} - -Defi=false \ - -Dgnu-efi=false \ -%else - -Defi=true \ - -Dgnu-efi=true \ -%endif -%if %{without importd} - -Dimportd=false \ -%endif -%if %{without journal_remote} - -Dremote=false \ -%endif -%if %{without portabled} - -Dportabled=false \ -%endif -%if %{without machined} - -Dmachined=false \ -%endif -%if %{without networkd} - -Dnetworkd=false \ -%endif -%if %{without resolved} - -Dresolve=false \ -%endif -%if %{without sysvcompat} - -Dsysvinit-path= \ - -Dsysvrcnd-path= \ -%endif -%if %{with testsuite} - -Dtests=unsafe \ - -Dinstall-tests=true \ -%else - -Dtests=false \ - -Dinstall-tests=false \ -%endif - -Dadm-group=false \ - -Dwheel-group=false \ - -Dgshadow=false \ - -Dldconfig=false - -%meson_build - -%install -%meson_install - -%if 0%{?bootstrap} -rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm -r %{buildroot}%{_datadir}/locale -%endif - -# Don't ship resolvconf symlink for now as it conflicts with the -# binary shipped by openresolv and provides limited compatibility -# only -%if %{with resolved} -rm %{buildroot}%{_sbindir}/resolvconf -rm %{buildroot}%{_mandir}/man1/resolvconf.1* -%endif - -%if %{with sysvcompat} -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated - -install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert -install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -%endif - -mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network -mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn - -# Package the scripts used to fix all packaging issues. Also drop the -# "scripts-{systemd/udev}" prefix which is used because osc doesn't -# allow directory structure... -for s in %{S:100} %{S:101} %{S:102}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} -done - -%if %{with split_usr} -# Legacy sysvinit tools -mkdir -p %{buildroot}/sbin -ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init -ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot -ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt -ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown -ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff -%if %{with sysvcompat} -ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit -ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -%endif -%endif - -# Make sure we don't ship static enablement symlinks in /etc during -# installation, presets should be honoured instead. -rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} -rm -f %{buildroot}/etc/systemd/system/default.target - -# Replace upstream systemd-user with the openSUSE one. -install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} - -# don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path - -# do not ship sysctl defaults in systemd package, will be part of -# aaa_base (in procps for now) -rm -f %{buildroot}%{_sysctldir}/50-default.conf -rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf - -# Make sure systemd-network polkit rules file starts with a suitable -# number prefix so it takes precedence over our polkit-default-privs. -%if %{with networkd} -mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ - %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%endif - -# since v207 /etc/sysctl.conf is no longer parsed (commit -# 04bf3c1a60d82791), however backward compatibility is provided by -# /usr/lib/sysctl.d/99-sysctl.conf. -ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf - -# The definition of the basic users/groups are defined by system-user -# on SUSE (bsc#1006978). -rm -f %{buildroot}%{_sysusersdir}/basic.conf - -# Remove README file in init.d as (SUSE) rpm requires executable files -# in this directory... oh well. -rm -f %{buildroot}/etc/init.d/README - -# This dir must be owned (and thus created) by systemd otherwise the -# build system will complain. This is odd since we simply own a ghost -# file in it... -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d - -# Make sure directories in /var exist -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog - -# Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_ntpunitsdir} - -# Make sure the shutdown/sleep drop-in dirs exist -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ - -# Make sure these directories are properly owned -mkdir -p %{buildroot}%{_unitdir}/basic.target.wants -mkdir -p %{buildroot}%{_unitdir}/default.target.wants -mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants -mkdir -p %{buildroot}%{_unitdir}/halt.target.wants -mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants -mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants -mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants -mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants - -# Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_systemdgeneratordir} -mkdir -p %{buildroot}%{_systemdusergeneratordir} -mkdir -p %{buildroot}%{_presetdir} -mkdir -p %{buildroot}%{_userpresetdir} -mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} -mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} - -# ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}%{_unitdir}/ -ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ - -# ghost directories with default permissions. -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight - -# ghost files with default permisssions. -touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -touch %{buildroot}%{_sysconfdir}/vconsole.conf -touch %{buildroot}%{_sysconfdir}/locale.conf -touch %{buildroot}%{_sysconfdir}/machine-info -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated - -%fdupes -s %{buildroot}%{_mandir} - -# Make sure to disable all services by default. The Suse branding -# presets package takes care of defining the right policies. -rm -f %{buildroot}%{_presetdir}/*.preset -echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset -echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset - -# The tmpfiles dealing with the generic paths is pretty messy -# currently because: -# -# 1. filesystem package wants to define the generic paths and some of -# them conflict with the definition given by systemd in var.conf, -# see bsc#1078466. -# -# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros -# (fate#314974) which conflict with tmp.conf. -# -# 3. There're also legacy.conf which defines various legacy paths -# which either don't match the SUSE defaults or don't look needed -# at all. -# -# 4. And to finish, we don't want the part in etc.conf which imports -# default upstream files in empty /etc, see below. -# -# To keep things simple, we remove all these tmpfiles config files but -# still keep the remaining paths that still don't have a better home -# in suse.conf. -rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf -install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf - -# The content of the files shipped by systemd doesn't match the -# defaults used by SUSE. Don't ship those files but leave the decision -# to use the mechanism to the individual packages that actually -# consume those configs (like glibc or pam), see bsc#1170146. -rm -fr %{buildroot}%{_datadir}/factory/* - -# Add entries for xkeyboard-config converted keymaps; mappings, which -# already exist in original systemd mapping table are being ignored -# though, i.e. not overwritten; needed as long as YaST uses console -# keymaps internally and calls localectl to convert from vconsole to -# X11 keymaps. Ideally YaST should switch to X11 layout names (the -# mapping table wouldn't be needed since each X11 keymap has a -# generated xkbd keymap) and let localectl initialize -# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf -# (FATE#319454). -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -fi - -# kbd-model-map.legacy is used to provide mapping for legacy keymaps, -# which may still be used by yast. -cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map - -# Don't ship systemd-journald-audit.socket as there's no other way for -# us to prevent journald from recording audit messages in the journal -# by default (bsc#1109252). -rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket -rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket - -%if %{with testsuite} -cp -a test %{buildroot}%{_testsuitedir}/ -find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; -%endif - -%if ! 0%{?bootstrap} -%find_lang systemd -%endif - -# Build of installation images uses a hard coded list of packages with -# a %%pre that needs to be run during the build. systemd is one of them -# so keep the section even if it's empty. -%pre -: - -%post -# Make /etc/machine-id an empty file during package installation. On -# the first boot, machine-id is initialized and either committed (if -# /etc/ is writable) or the system/image runs with a transient machine -# ID, that changes on each boot (if the image is read-only). This is -# especially important for appliance builds to avoid an identical -# machine ID in all images. -if [ $1 -eq 1 ]; then - touch %{_sysconfdir}/machine-id - chmod 444 %{_sysconfdir}/machine-id -fi - -# /etc/machine-id might have been created writeable incorrectly -# (boo#1092269). -if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then - echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." - chmod 444 %{_sysconfdir}/machine-id -fi - -%if ! 0%{?bootstrap} -pam-config --add --systemd || : -%endif - -# systemd-sysusers is not available in %pre so this needs to be done -# in %%post. However this shouldn't be an issue since all files the -# main package ships are owned by root. -%sysusers_create systemd.conf - -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -/usr/lib/systemd/systemd-random-seed save || : - -systemctl daemon-reexec || : - -# Reexecute user manager instances (if any). It is asynchronous but it -# shouldn't be a problem in practice: a problem would arise only if -# the new version of a user service has a brand new option that is -# only understood by the latest version of the user manager and the -# user service is started before the user manager get reexecuted. But -# this case is very unlikely especially since we don't restart any -# user service for now on. -# -# Before doing this, we unfortunately have to wait until users will -# reexec their user manager (by either rebooting or restarting their -# session) to a version that supports SIGRTMIN+25 otherwise sending -# the signal to an old version will kill the manager which means -# tearing down the user session. -# -# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : - -if [ "$1" -eq 1 ]; then - # Persistent journal is the default - mkdir -p %{_localstatedir}/log/journal -fi - -%journal_catalog_update -%tmpfiles_create - -# Create default config in /etc at first install. -# Later package updates should not overwrite these settings. -%systemd_post remote-cryptsetup.target -%systemd_post getty@.service -%systemd_post machines.target -%systemd_post remote-fs.target -%systemd_post systemd-timesyncd.service - -# v228 wrongly set world writable suid root permissions on timestamp -# files used by permanent timers. Fix the timestamps that might have -# been created by the affected versions of systemd (bsc#1020601). -for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do - chmod 0644 $stamp -done - -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - -# Due to the fact that DynamicUser= was turned ON during v235 and then -# switched back to off in v240, /var/lib/systemd/timesync might be a -# symlink pointing to /var/lib/private/systemd/timesync, which is -# inaccessible for systemd-timesync user as /var/lib/private is 0700 -# root:root, see https://github.com/systemd/systemd/issues/11329 for -# details. Note: only TW users might be affected by this bug. -if [ -L %{_localstatedir}/lib/systemd/timesync ]; then - rm %{_localstatedir}/lib/systemd/timesync - mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync -fi - -# This includes all hacks needed when upgrading from SysV. -%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : - -# Migrate old i18n settings previously configured in /etc/sysconfig to -# the new locations used by systemd (/etc/locale.conf, -# /etc/vconsole.conf, ...). Recent versions of systemd parse the new -# locations only. -# -# This is needed both at package updates and package installations -# because we might be upgrading from a system which was running SysV -# init (systemd package is being installed). -# -# It's run only once. -%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : - -# During the migration to tmpfs for /tmp, a bug was introduced that -# affected users using tmpfs for /tmp and happened during the _second_ -# update following the one that introduced tmpfs on /tmp. It consisted -# in creating a dangling symlink /etc/systemd/system/tmp.mount -# pointing to the old copy that previous versions shipped in -# /usr/share/systemd, which doesn't exist anymore. So we migrate the -# link to the new location. -# -# Users have been exposed to this bug during a short period of time as -# it was present only in one release and was fixed shortly after by -# the next update. So we can assume that it's safe to drop it in 6 -# months (ie March 2021). -if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then - ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount -fi - -%postun -# daemon-reload is implied by %%systemd_postun_with_restart -%systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-timesyncd.service -# Avoid restarting logind until fixed upstream (issue #1163) - -%pre -n udev%{?mini} -# New installations uses the last compat symlink generation number -# (currently at 2), which basically disables all compat symlinks. On -# old systems, the file doesn't exist. This is equivalent to -# generation #1, which enables the creation of all compat symlinks. -if [ $1 -eq 1 ]; then - echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation -fi - -%post -n udev%{?mini} -%regenerate_initrd_post -%udev_hwdb_update - -# add KERNEL name match to existing persistent net rules -sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : - -# cleanup old stuff -rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules - -%postun -n udev%{?mini} -%regenerate_initrd_post - -# The order of the units being restarted is important here because there's currently no -# way to queue multiple jobs into a single transaction atomically. Therefore systemctl -# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for -# the sockets are being handled first then starting them again will fail as the service -# is still active hence the sockets held by udevd. However if the restart job for udevd -# is handled first, there should be enough time to queue the socket jobs before the stop -# job for udevd is processed. Hence PID1 will automatically sort the restart jobs -# correctly by stopping the service then the sockets and then by starting the sockets and -# the unit. -# -# Note that when systemd-udevd is restarted, there will always be a short time -# frame where no socket will be listening to the events sent by the kernel, no -# matter if the socket unit is restarted in first or not. -%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket - -%posttrans -n udev%{?mini} -%regenerate_initrd_posttrans - -%post -n libudev%{?mini}1 -p /sbin/ldconfig -%post -n libsystemd0%{?mini} -p /sbin/ldconfig - -%postun -n libudev%{?mini}1 -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig - -%post container -%tmpfiles_create systemd-nspawn.conf -%if %{with machined} -if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. - # - # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : -fi -%endif - -%if ! 0%{?bootstrap} -%post -n nss-myhostname -p /sbin/ldconfig -%postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-systemd -p /sbin/ldconfig -%postun -n nss-systemd -p /sbin/ldconfig -%endif - -%if %{with resolved} -%post -n nss-resolve -p /sbin/ldconfig -%postun -n nss-resolve -p /sbin/ldconfig -%endif - -%if %{with machined} -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig -%endif - -%if %{with journal_remote} -%pre journal-remote -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service -%service_add_pre systemd-journal-upload.service - -%post journal-remote -# Assume that all files shipped by systemd-journal-remove are owned by root. -%sysusers_create systemd-remote.conf -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_post systemd-journal-remote.socket systemd-journal-remote.service -%service_add_post systemd-journal-upload.service - -%preun journal-remote -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_preun systemd-journal-upload.service - -%postun journal-remote -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_postun systemd-journal-upload.service -%endif - -%if %{with networkd} || %{with resolved} -%pre network -%if %{with networkd} -%service_add_pre systemd-networkd.service -%service_add_pre systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_add_pre systemd-resolved.service -%endif - -%post network -%if %{with networkd} -%service_add_post systemd-networkd.service -%service_add_post systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_add_post systemd-resolved.service -%endif - -%preun network -%if %{with networkd} -%service_del_preun systemd-networkd.service -%service_del_preun systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_del_preun systemd-resolved.service -%endif - -%postun network -%if %{with networkd} -%service_del_postun systemd-networkd.service -%service_del_postun systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_del_postun systemd-resolved.service -%endif -%endif - -%if %{with portabled} -%pre portable -%service_add_pre systemd-portabled.service - -%post portable -%tmpfiles_create portables.conf -%service_add_post systemd-portabled.service - -%preun portable -%service_del_preun systemd-portabled.service - -%postun portable -%service_del_postun systemd-portabled.service -%endif - -%if %{with experimental} -%pre experimental -%service_add_pre systemd-pstore.service -%service_add_pre systemd-userdbd.service systemd-userdbd.socket -%service_add_pre systemd-homed.service - -%post experimental -%tmpfiles_create systemd-pstore.conf -%service_add_post systemd-pstore.service -%service_add_post systemd-userdbd.service systemd-userdbd.socket -%service_add_post systemd-homed.service - -%preun experimental -%service_del_preun systemd-pstore.service -%service_del_preun systemd-userdbd.service systemd-userdbd.socket -%service_del_preun systemd-homed.service - -%postun experimental -%service_del_postun systemd-pstore.service -%service_del_postun systemd-userdbd.service systemd-userdbd.socket -%service_del_postun systemd-homed.service -%endif - -%files -%defattr(-,root,root) -%license LICENSE* -%if %{with sd_boot} -%{_bindir}/bootctl -%endif -%{_bindir}/busctl -%{_bindir}/hostnamectl -%{_bindir}/kernel-install -%{_bindir}/localectl -%{_bindir}/systemctl -%{_bindir}/systemd-analyze -%if ! 0%{?bootstrap} -%{_bindir}/systemd-cryptenroll -%endif -%{_bindir}/systemd-delta -%{_bindir}/systemd-dissect -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-id128 -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers -%{_bindir}/systemd-mount -%{_bindir}/systemd-umount -%{_bindir}/systemd-notify -%{_bindir}/systemd-run -%{_bindir}/systemd-sysext -%{_bindir}/journalctl -%{_bindir}/systemd-ask-password -%{_bindir}/loginctl -%{_bindir}/systemd-inhibit -%{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles -%{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-socket-activate -%{_bindir}/systemd-stdio-bridge -%{_bindir}/systemd-detect-virt -%{_bindir}/timedatectl -%{_bindir}/systemd-cgls -%{_bindir}/systemd-cgtop -%{_bindir}/systemd-cat -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d -%{_prefix}/lib/kernel/install.d/00-entry-directory.install -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/network -%dir %{_unitdir} -%{_userunitdir} -%if %{with coredump} -%exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket -%endif -%if %{with journal_remote} -%exclude %{_unitdir}/systemd-journal-gatewayd.* -%exclude %{_unitdir}/systemd-journal-remote.* -%exclude %{_unitdir}/systemd-journal-upload.* -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%endif -%exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_unitdir}/systemd-udev*.* -%exclude %{_unitdir}/systemd-hwdb*.* -%exclude %{_unitdir}/*.target.wants/systemd-udev*.* -%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* -%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service -%exclude %{_unitdir}/kmod-static-nodes.service -%exclude %{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%exclude %{_prefix}/lib/systemd/systemd-machined -%exclude %{_unitdir}/systemd-machined.service -%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service -%exclude %{_unitdir}/var-lib-machines.mount -%exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target.wants -%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount -%endif -%if %{with importd} -%exclude %{_prefix}/lib/systemd/systemd-import* -%exclude %{_prefix}/lib/systemd/systemd-pull -%exclude %{_prefix}/lib/systemd/import-pubring.gpg -%exclude %{_unitdir}/systemd-importd.service -%exclude %{_unitdir}/dbus-org.freedesktop.import1.service -%endif -%if %{with networkd} -%exclude %{_prefix}/lib/systemd/systemd-network-generator -%exclude %{_prefix}/lib/systemd/systemd-networkd -%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online -%exclude %{_unitdir}/systemd-network-generator.service -%exclude %{_unitdir}/systemd-networkd.service -%exclude %{_unitdir}/systemd-networkd.socket -%exclude %{_unitdir}/systemd-networkd-wait-online.service -%exclude %{_prefix}/lib/systemd/systemd-resolved -%exclude %{_unitdir}/systemd-resolved.service -%endif -%if %{with portabled} -%exclude %{_prefix}/lib/systemd/systemd-portabled -%exclude %{_prefix}/lib/systemd/portable -%exclude %{_unitdir}/systemd-portabled.service -%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service -%exclude %{_tmpfilesdir}/portables.conf -%endif -%if %{with experimental} -%exclude %{_prefix}/lib/systemd/systemd-pstore -%exclude %{_unitdir}/systemd-pstore.service -%exclude %{_tmpfilesdir}/systemd-pstore.conf -%exclude %{_unitdir}/systemd-repart.service -%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service -%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service -%exclude %{_prefix}/lib/systemd/systemd-userwork -%exclude %{_prefix}/lib/systemd/systemd-userdbd -%exclude %{_unitdir}/systemd-userdbd.service -%exclude %{_unitdir}/systemd-userdbd.socket -%exclude %{_prefix}/lib/systemd/systemd-homed -%exclude %{_prefix}/lib/systemd/systemd-homework -%exclude %{_unitdir}/systemd-homed-activate.service -%exclude %{_unitdir}/systemd-homed.service -%endif - -%{_unitdir}/*.automount -%{_unitdir}/*.service -%{_unitdir}/*.slice -%{_unitdir}/*.target -%{_unitdir}/*.mount -%{_unitdir}/*.timer -%{_unitdir}/*.socket -%{_unitdir}/*.wants -%{_unitdir}/*.path - -%{_unitdir}/user-.slice.d/ - -%{_prefix}/lib/systemd/systemd-* -%{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-*.so -%{_prefix}/lib/systemd/scripts -%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%dir %{_journalcatalogdir} -%{_journalcatalogdir}/systemd.catalog -%{_journalcatalogdir}/systemd.*.catalog -%{_presetdir} -%{_userpresetdir} -%{_systemdgeneratordir} -%{_systemdusergeneratordir} -%{_systemd_system_env_generator_dir} -%{_systemd_user_env_generator_dir} -%dir %{_ntpunitsdir} -%{_ntpunitsdir}/80-systemd-timesync.list -%dir %{_prefix}/lib/systemd/system-shutdown/ -%dir %{_prefix}/lib/systemd/system-sleep/ - -%{_pam_moduledir}/pam_systemd.so - -%if %{with sd_boot} -%dir %{_prefix}/lib/systemd/boot -%dir %{_prefix}/lib/systemd/boot/efi -%{_prefix}/lib/systemd/boot/efi/*.efi -%{_prefix}/lib/systemd/boot/efi/*.stub -%endif - -%dir %{_sysconfdir}/modules-load.d -%{_modulesloaddir} - -%dir %{_sysusersdir} -%doc %{_sysusersdir}/README -%{_sysusersdir}/systemd.conf - -%dir %{_sysconfdir}/tmpfiles.d -%{_tmpfilesdir}/ -%exclude %{_tmpfilesdir}/systemd-nspawn.conf - -%{_environmentdir}/ - -%dir %{_binfmtdir} -%dir %{_sysconfdir}/binfmt.d - -%dir %{_sysctldir} -%dir %{_sysconfdir}/sysctl.d -%doc %{_sysctldir}/README -%{_sysctldir}/99-sysctl.conf - -%dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/systemd -%dir %{_sysconfdir}/systemd/network -%dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/xdg/systemd/user - -%dir %{_distconfdir}/X11/xinit -%dir %{_distconfdir}/X11/xinit/xinitrc.d -%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh - -%{_pam_vendordir}/systemd-user - -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/sleep.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf - -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/system-services - -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf - -# FIXME: why do we have to own this dir ? -%dir %{_modprobedir} -%doc %{_modprobedir}/README -%{_modprobedir}/systemd.conf - -# Some files created at runtime. -%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ -%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf -%ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id - -%{_datadir}/systemd -%{_datadir}/factory - -%if %{with journal_remote} -%exclude %{_datadir}/systemd/gatewayd -%endif - -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service - -%dir %{_datadir}/polkit-1 -%dir %{_datadir}/polkit-1/actions -%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy - -%if ! 0%{?bootstrap} -%{_mandir}/man1/[a-rt-z]*ctl.1* -%{_mandir}/man1/systemc*.1* -%{_mandir}/man1/systemd*.1* -%{_mandir}/man5/[a-tv-z]* -%{_mandir}/man5/user* -%{_mandir}/man7/[bdfks]* -%{_mandir}/man8/kern* -%{_mandir}/man8/pam_* -%{_mandir}/man8//rc-local.* -%{_mandir}/man8/systemd-[a-gik-tvx]* -%{_mandir}/man8/systemd-h[aioy]* -%{_mandir}/man8/systemd-journald* -%{_mandir}/man8/systemd-u[ps]* -%{_mandir}/man8/30-systemd-environment-d-generator.* -%if %{with coredump} -%exclude %{_mandir}/man1/coredumpctl* -%exclude %{_mandir}/man5/coredump.conf* -%exclude %{_mandir}/man8/systemd-coredump* -%endif -%exclude %{_mandir}/man*/*nspawn* -%if %{with machined} -%exclude %{_mandir}/man*/machinectl* -%exclude %{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%exclude %{_mandir}/man*/systemd-importd* -%endif -%if %{with journal_remote} -%exclude %{_mandir}/man5/journal-remote.conf* -%exclude %{_mandir}/man5/journal-upload.conf* -%endif -%if %{with portabled} -%exclude %{_mandir}/man*/portablectl* -%exclude %{_mandir}/man*/systemd-portabled* -%endif -%if %{with experimental} -%exclude %{_mandir}/man*/*pstore* -%exclude %{_mandir}/man*/*repart* -%exclude %{_mandir}/man*/userdbctl* -%exclude %{_mandir}/man*/systemd-userdbd* -%exclude %{_mandir}/man*/*homectl* -%exclude %{_mandir}/man*/*homed* -%exclude %{_mandir}/man*/org.freedesktop.home1* -%exclude %{_mandir}/man*/pam_systemd_home* -%exclude %{_datadir}/bash-completion/completions/homectl -%endif -%endif - -%{_docdir}/systemd -%exclude %{_docdir}/systemd/html - -%{_udevrulesdir}/70-uaccess.rules -%{_udevrulesdir}/71-seat.rules -%{_udevrulesdir}/73-seat-late.rules -%{_udevrulesdir}/99-systemd.rules -%dir %{_localstatedir}/lib/systemd -%dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_localstatedir}/lib/systemd/migrated -%endif -%ghost %{_localstatedir}/lib/systemd/catalog/database -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/i18n-migrated -%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed - -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - -%dir %{_datadir}/zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* -%{_datadir}/pkgconfig/systemd.pc - -%if ! 0%{?bootstrap} -%files doc -%defattr(-,root,root,-) -%dir %{_docdir}/systemd -%{_docdir}/systemd/html -%endif - -%files devel -%defattr(-,root,root,-) -%{_libdir}/libsystemd.so -%{_libdir}/pkgconfig/libsystemd.pc -%{_includedir}/systemd/ -%if ! 0%{?bootstrap} -%{_mandir}/man3/SD*.3* -%{_mandir}/man3/sd*.3* -%endif - -%files sysvinit -%defattr(-,root,root,-) -%if %{with split_usr} -/sbin/init -/sbin/reboot -/sbin/halt -/sbin/shutdown -/sbin/poweroff -%if %{with sysvcompat} -/sbin/telinit -/sbin/runlevel -%endif -%endif -%{_sbindir}/init -%{_sbindir}/reboot -%{_sbindir}/halt -%{_sbindir}/shutdown -%{_sbindir}/poweroff -%if %{with sysvcompat} -%{_sbindir}/telinit -%{_sbindir}/runlevel -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man1/init.1* -%{_mandir}/man8/halt.8* -%{_mandir}/man8/reboot.8* -%{_mandir}/man8/shutdown.8* -%{_mandir}/man8/poweroff.8* -%{_mandir}/man8/telinit.8* -%{_mandir}/man8/runlevel.8* -%endif - -%files -n udev%{?mini} -%defattr(-,root,root) -%{_bindir}/udevadm -%{_bindir}/systemd-hwdb -%dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/cdrom_id -# dmi_memory_id is only relevant on arches with DMI -%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips -%{_prefix}/lib/udev/dmi_memory_id -%endif -%{_prefix}/lib/udev/fido_id -%{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/path_id_compat -%{_prefix}/lib/udev/scsi_id -%{_prefix}/lib/udev/v4l_id -%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_udevrulesdir}/ -%doc %{_udevrulesdir}/README -%exclude %{_udevrulesdir}/70-uaccess.rules -%exclude %{_udevrulesdir}/71-seat.rules -%exclude %{_udevrulesdir}/73-seat-late.rules -%exclude %{_udevrulesdir}/99-systemd.rules -%{_udevrulesdir}/*.rules -%{_udevhwdbdir}/ -%dir %{_sysconfdir}/udev/ -%dir %{_sysconfdir}/udev/rules.d/ -%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin -%config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! 0%{?bootstrap} -%{_mandir}/man5/udev* -%{_mandir}/man7/hwdb* -%{_mandir}/man7/udev* -%{_mandir}/man8/systemd-hwdb* -%{_mandir}/man8/systemd-udev* -%{_mandir}/man8/udev* -%endif -%dir %{_unitdir} -%{_prefix}/lib/systemd/systemd-udevd -%{_unitdir}/kmod-static-nodes.service -%{_unitdir}/systemd-udev*.service -%{_unitdir}/systemd-udevd*.socket -%{_unitdir}/systemd-hwdb*.* -%{_unitdir}/initrd-udevadm-cleanup-db.service -%dir %{_unitdir}/sysinit.target.wants -%{_unitdir}/sysinit.target.wants/systemd-udev*.service -%dir %{_unitdir}/sockets.target.wants -%{_unitdir}/sockets.target.wants/systemd-udev*.socket -%{_unitdir}/*.target.wants/systemd-hwdb*.* -%{_prefix}/lib/systemd/network/99-default.link -%{_datadir}/pkgconfig/udev.pc - -%files -n libsystemd0%{?mini} -%defattr(-,root,root) -%{_libdir}/libsystemd.so.* - -%files -n libudev%{?mini}1 -%defattr(-,root,root) -%{_libdir}/libudev.so.* - -%files -n libudev%{?mini}-devel -%defattr(-,root,root) -%{_includedir}/libudev.h -%{_libdir}/libudev.so -%{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man3/*udev*.3* -%endif - -%if %{with coredump} -%files coredump -%defattr(-,root,root) -%{_bindir}/coredumpctl -%{_prefix}/lib/systemd/systemd-coredump -%{_unitdir}/systemd-coredump* -%{_unitdir}/sockets.target.wants/systemd-coredump.socket -%{_sysctldir}/50-coredump.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%dir %{_localstatedir}/lib/systemd/coredump -%if ! 0%{?bootstrap} -%{_mandir}/man1/coredumpctl* -%{_mandir}/man5/coredump.conf* -%{_mandir}/man8/systemd-coredump* -%endif -%endif - -%files container -%defattr(-,root,root) -%dir %{_sysconfdir}/systemd/nspawn -%{_bindir}/systemd-nspawn -%{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%{_bindir}/machinectl -%{_prefix}/lib/systemd/systemd-machined -%{_unitdir}/systemd-machined.service -%{_unitdir}/dbus-org.freedesktop.machine1.service -%{_unitdir}/var-lib-machines.mount -%{_unitdir}/machine.slice -%{_unitdir}/machines.target.wants -%{_unitdir}/*.target.wants/var-lib-machines.mount -%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%{_tmpfilesdir}/systemd-nspawn.conf -%endif -%if %{with importd} -%{_prefix}/lib/systemd/systemd-import* -%{_prefix}/lib/systemd/systemd-pull -%{_prefix}/lib/systemd/import-pubring.gpg -%{_unitdir}/systemd-importd.service -%{_unitdir}/dbus-org.freedesktop.import1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man*/*nspawn* -%if %{with machined} -%{_mandir}/man*/machinectl* -%{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%{_mandir}/man*/systemd-importd* -%endif -%endif - -%if ! 0%{?bootstrap} -%files lang -f systemd.lang - -%files -n nss-myhostname -%defattr(-, root, root) -%{_libdir}/*nss_myhostname* -%{_mandir}/man8/libnss_myhostname.* -%{_mandir}/man8/nss-myhostname.* - -%files -n nss-systemd -%defattr(-, root, root) -%{_libdir}/libnss_systemd.so* -%{_mandir}/man8/libnss_systemd.so.* -%{_mandir}/man8/nss-systemd.* -%endif - -%if %{with resolved} -%files -n nss-resolve -%defattr(-, root, root) -%{_libdir}/libnss_resolve.so.2 -%{_mandir}/man8/libnss_resolve.* -%{_mandir}/man8/nss-resolve.* -%endif - -%if %{with machined} -%files -n nss-mymachines -%defattr(-,root,root) -%{_libdir}/libnss_mymachines.so* -%{_mandir}/man8/libnss_mymachines.* -%{_mandir}/man8/nss-mymachines.* -%endif - -%if %{with journal_remote} -%files journal-remote -%defattr(-, root, root) -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_unitdir}/systemd-journal-gatewayd.* -%{_unitdir}/systemd-journal-remote.* -%{_unitdir}/systemd-journal-upload.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_prefix}/lib/systemd/systemd-journal-remote -%{_prefix}/lib/systemd/systemd-journal-upload -%{_sysusersdir}/systemd-remote.conf -%{_mandir}/man5/journal-remote.conf* -%{_mandir}/man5/journal-upload.conf* -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_mandir}/man8/systemd-journal-remote.* -%{_mandir}/man8/systemd-journal-upload.* -%{_datadir}/systemd/gatewayd -%ghost %dir %{_localstatedir}/log/journal/remote -%endif - -%if %{with networkd} || %{with resolved} -%files network -%defattr(-,root,root) -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%{_bindir}/networkctl -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/*.network -%{_prefix}/lib/systemd/network/*.network.example -%{_prefix}/lib/systemd/systemd-network-generator -%{_prefix}/lib/systemd/systemd-networkd -%{_prefix}/lib/systemd/systemd-networkd-wait-online -%{_unitdir}/systemd-network-generator.service -%{_unitdir}/systemd-networkd.service -%{_unitdir}/systemd-networkd.socket -%{_unitdir}/systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%{_bindir}/systemd-resolve -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%{_prefix}/lib/systemd/resolv.conf -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service -%endif -%endif - -%if %{with portabled} -%files portable -%defattr(-,root,root) -%{_bindir}/portablectl -%{_prefix}/lib/systemd/systemd-portabled -%{_prefix}/lib/systemd/portable -%{_unitdir}/systemd-portabled.service -%{_unitdir}/dbus-org.freedesktop.portable1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service -%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy -%{_tmpfilesdir}/portables.conf -%{_mandir}/man*/portablectl* -%{_mandir}/man*/systemd-portabled* -%endif - -%if %{with testsuite} -%files testsuite -%defattr(-,root,root) -%{_testsuitedir} -%doc %{_testsuitedir}/test/README.testsuite -%endif - -%if %{with experimental} -%files experimental -%defattr(-,root,root) -%config(noreplace) %{_sysconfdir}/systemd/pstore.conf -%{_prefix}/lib/systemd/systemd-pstore -%{_unitdir}/systemd-pstore.service -%{_tmpfilesdir}/systemd-pstore.conf -%{_mandir}/man*/*pstore* -%{_bindir}/systemd-repart -%{_unitdir}/systemd-repart.service -%{_mandir}/man*/*repart* -%{_bindir}/userdbctl -%{_prefix}/lib/systemd/systemd-userwork -%{_prefix}/lib/systemd/systemd-userdbd -%{_unitdir}/systemd-userdbd.service -%{_unitdir}/systemd-userdbd.socket -%{_mandir}/man*/userdbctl* -%{_mandir}/man*/systemd-userdbd* -%config(noreplace) %{_sysconfdir}/systemd/homed.conf -%{_bindir}/homectl -%{_prefix}/lib/systemd/systemd-homed -%{_prefix}/lib/systemd/systemd-homework -%{_unitdir}/systemd-homed.service -%{_unitdir}/systemd-homed-activate.service -%{_pam_moduledir}/pam_systemd_home.so -%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf -%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy -%{_datadir}/bash-completion/completions/homectl -%{_mandir}/man*/*homectl* -%{_mandir}/man*/*homed* -%{_mandir}/man*/org.freedesktop.home1* -%{_mandir}/man*/pam_systemd_home* -%endif - -%changelog diff --git a/systemd.changes b/systemd.changes index e24b4142..f22fe2cd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 18 10:06:08 UTC 2021 - Franck Bui + +- Convert systemd package to multibuild + ------------------------------------------------------------------- Fri Oct 15 12:09:44 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 17246d92..a33ad722 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,8 +21,16 @@ # found at: https://github.com/openSUSE/systemd. # +%global flavor @BUILD_FLAVOR@%{nil} + +%if "%{flavor}" == "mini" +%define bootstrap 1 +%define mini -mini +%else %define bootstrap 0 %define mini %nil +%endif + %define min_kernel_version 4.5 %define suse_version +suse.47.g8521f8d22f %define _testsuitedir /usr/lib/systemd/tests @@ -59,7 +67,7 @@ # Kept to ease migrations toward SLE %bcond_with split_usr -Name: systemd +Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd Version: 249.5 Release: 0 @@ -163,7 +171,7 @@ Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{suse_version}.tar.xz -Source1: %{name}-rpmlintrc +Source1: systemd-rpmlintrc Source2: systemd-user %if %{with sysvcompat} Source3: systemd-sysv-convert From ee849c199d05f6404fb7fe86c9ccdb2d0e8a498ad3375f00e01f7eabace2fd49 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Oct 2021 19:42:41 +0000 Subject: [PATCH 615/991] - Really enable libiptc for masquerading support (bsc#1191651) Currently used by systemd-nspawn and systemd-networkd. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1207 --- systemd.changes | 7 +++++++ systemd.spec | 1 + 2 files changed, 8 insertions(+) diff --git a/systemd.changes b/systemd.changes index f22fe2cd..d3ddc4b8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Oct 18 13:01:01 UTC 2021 - Franck Bui + +- Really enable libiptc for masquerading support (bsc#1191651) + + Currently used by systemd-nspawn and systemd-networkd. + ------------------------------------------------------------------- Mon Oct 18 10:06:08 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a33ad722..91f52740 100644 --- a/systemd.spec +++ b/systemd.spec @@ -88,6 +88,7 @@ BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) From 5114b3d334bf50263445ff72f465fafc9099bcedca1300a06112c1acb9b2b57f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Oct 2021 14:42:56 +0000 Subject: [PATCH 616/991] - Disable nss-systemd and translations features for the mini flavour OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1208 --- systemd.changes | 5 +++++ systemd.spec | 7 ++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/systemd.changes b/systemd.changes index d3ddc4b8..d885c06b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Oct 19 14:41:37 UTC 2021 - Franck Bui + +- Disable nss-systemd and translations features for the mini flavour + ------------------------------------------------------------------- Mon Oct 18 13:01:01 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 91f52740..42e912d5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -652,7 +652,9 @@ Have fun with these services at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} + -Dtranslations=false \ -Dnss-myhostname=false \ + -Dnss-systemd=false \ %else -Dtpm2=true \ -Dman=true \ @@ -707,11 +709,6 @@ Have fun with these services at your own risk. %install %meson_install -%if 0%{?bootstrap} -rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm -r %{buildroot}%{_datadir}/locale -%endif - # Don't ship resolvconf symlink for now as it conflicts with the # binary shipped by openresolv and provides limited compatibility # only From f18549028951697750ce567d14ace8589298f1ff81190031d1e3a49ca7872918 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 20 Oct 2021 18:22:38 +0000 Subject: [PATCH 617/991] Accepting request 925519 from Base:System - Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d - Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 3b4a005095 meson: add missing include directory when using xkbcommon 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) 78466e4464 meson: drop the list of valid net naming schemes b9a2098f9d netif-naming: inline one iterator variable d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme - Rename %{gnu-efi} into %{sd_boot} Build conditionals (%bcond_with and %bcond_without) are used to define a specific feature of systemd. "gnu-efi" is rather an implemenation detail. Also not really sure what "efi" option alone is useful for since systemd-boot & co depends on "gnu-efi". - Enable sd_boot support for aarch64 - Ghost own directories /var/log/journal and /var/log/journal/remote again rpmlint no more complain about the setgid bit, see sr#923496. - Overwriting rootprefix= is only required when split-usr is enabled - Rename %usrmerged into %split_usr - Suppress PAM warning when the credentials for user@.service service are established (bsc#1190515) systemd-user PAM service needs to define a default implementation of pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) is used, which consists of pam_warn.so + pam_deny.so, and will throw OBS-URL: https://build.opensuse.org/request/show/925519 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=338 --- systemd-mini.changes | 66 +++++++++++++++++++++++ systemd-mini.spec | 44 +++++++++------ systemd-user | 17 +++++- systemd-v249.4+suse.39.g7a5801342f.tar.xz | 3 -- systemd-v249.5+suse.47.g8521f8d22f.tar.xz | 3 ++ systemd.changes | 66 +++++++++++++++++++++++ systemd.spec | 44 +++++++++------ 7 files changed, 204 insertions(+), 39 deletions(-) delete mode 100644 systemd-v249.4+suse.39.g7a5801342f.tar.xz create mode 100644 systemd-v249.5+suse.47.g8521f8d22f.tar.xz diff --git a/systemd-mini.changes b/systemd-mini.changes index 49998b05..e24b4142 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,69 @@ +------------------------------------------------------------------- +Fri Oct 15 12:09:44 UTC 2021 - Franck Bui + +- Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d + +------------------------------------------------------------------- +Fri Oct 15 11:54:34 UTC 2021 - Franck Bui + +- Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 + + 3b4a005095 meson: add missing include directory when using xkbcommon + 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) + 78466e4464 meson: drop the list of valid net naming schemes + b9a2098f9d netif-naming: inline one iterator variable + d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme + +------------------------------------------------------------------- +Fri Oct 15 11:38:41 UTC 2021 - Franck Bui + +- Rename %{gnu-efi} into %{sd_boot} + + Build conditionals (%bcond_with and %bcond_without) are used to + define a specific feature of systemd. "gnu-efi" is rather an + implemenation detail. Also not really sure what "efi" option alone + is useful for since systemd-boot & co depends on "gnu-efi". + +- Enable sd_boot support for aarch64 + +------------------------------------------------------------------- +Fri Oct 15 09:27:00 UTC 2021 - Franck Bui + +- Ghost own directories /var/log/journal and /var/log/journal/remote again + + rpmlint no more complain about the setgid bit, see sr#923496. + +------------------------------------------------------------------- +Fri Oct 8 11:14:20 UTC 2021 - Franck Bui + +- Overwriting rootprefix= is only required when split-usr is enabled + +------------------------------------------------------------------- +Fri Oct 8 09:01:59 UTC 2021 - Franck Bui + +- Rename %usrmerged into %split_usr + +------------------------------------------------------------------- +Wed Oct 6 07:40:24 UTC 2021 - Franck Bui + +- Suppress PAM warning when the credentials for user@.service service + are established (bsc#1190515) + + systemd-user PAM service needs to define a default implementation of + pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) + is used, which consists of pam_warn.so + pam_deny.so, and will throw + a warning each time a user logs in. + +------------------------------------------------------------------- +Mon Oct 4 14:40:12 UTC 2021 - Franck Bui + +- No need to install upstream pam configuration file "systemd-user" + + It's overwritten by the SUSE version anyway. + ------------------------------------------------------------------- Wed Sep 29 10:04:38 UTC 2021 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index c7cf5326..e2e18d20 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,10 +26,9 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.39.g7a5801342f +%define suse_version +suse.47.g8521f8d22f %define _testsuitedir /usr/lib/systemd/tests -%bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump %bcond_with importd @@ -38,28 +37,33 @@ %bcond_with networkd %bcond_with portabled %bcond_with resolved +%bcond_with sd_boot %bcond_with sysvcompat %bcond_with experimental %bcond_with testsuite %else %bcond_without coredump -%ifarch %{ix86} x86_64 -%bcond_without gnuefi -%endif %bcond_without importd %bcond_without journal_remote %bcond_without machined %bcond_without networkd %bcond_without portabled %bcond_without resolved +%ifarch %{ix86} x86_64 aarch64 +%bcond_without sd_boot +%else +%bcond_with sd_boot +%endif %bcond_without sysvcompat %bcond_without experimental %bcond_without testsuite %endif +# Kept to ease migrations toward SLE +%bcond_with split_usr Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.4 +Version: 249.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -115,7 +119,7 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%if %{with gnuefi} +%if %{with sd_boot} BuildRequires: gnu-efi %endif @@ -604,14 +608,14 @@ Have fun with these services at your own risk. -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ +%if %{with split_usr} -Drootprefix=/usr \ -%if !0%{?usrmerged} -Dsplit-usr=true \ %endif -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_pam_vendordir} \ + -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ @@ -650,8 +654,12 @@ Have fun with these services at your own risk. %if %{without coredump} -Dcoredump=false \ %endif -%if %{without gnuefi} +%if %{without sd_boot} + -Defi=false \ -Dgnu-efi=false \ +%else + -Defi=true \ + -Dgnu-efi=true \ %endif %if %{without importd} -Dimportd=false \ @@ -723,7 +731,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -%if !0%{?usrmerged} +%if %{with split_usr} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -743,7 +751,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} +install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -1215,8 +1223,10 @@ fi %files %defattr(-,root,root) %license LICENSE* -%{_bindir}/busctl +%if %{with sd_boot} %{_bindir}/bootctl +%endif +%{_bindir}/busctl %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl @@ -1365,7 +1375,7 @@ fi %{_pam_moduledir}/pam_systemd.so -%if %{with gnuefi} +%if %{with sd_boot} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi @@ -1433,6 +1443,7 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1542,7 +1553,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html -# /bootstrap %endif %files devel @@ -1557,7 +1567,7 @@ fi %files sysvinit %defattr(-,root,root,-) -%if !0%{?usrmerged} +%if %{with split_usr} /sbin/init /sbin/reboot /sbin/halt @@ -1764,6 +1774,7 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd +%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} @@ -1785,7 +1796,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -# Some files created at runtime %endif %if %{with resolved} %{_bindir}/resolvectl diff --git a/systemd-user b/systemd-user index f1d252b7..3907c885 100644 --- a/systemd-user +++ b/systemd-user @@ -2,8 +2,21 @@ # # Used by systemd --user instances. -account include common-account +# This is not about authentication per se (user@.service is a system +# service anyway) but to give the possibility to user services +# (especially those like gnome-terminal, see [1]) to have theirs +# credentials extended similar to the ones received by a user when he +# logs in (and the full PAM authentication stack is run). See [2] and +# [3] for details. +# +# [1] https://gitlab.gnome.org/GNOME/gdm/-/issues/393 +# [2] https://github.com/systemd/systemd/issues/11198 +# [3] https://bugzilla.suse.com/show_bug.cgi?id=1190515 +# +auth include common-auth + +account include common-account session required pam_selinux.so close session required pam_selinux.so nottys open -session include common-session +session include common-session diff --git a/systemd-v249.4+suse.39.g7a5801342f.tar.xz b/systemd-v249.4+suse.39.g7a5801342f.tar.xz deleted file mode 100644 index 5000653b..00000000 --- a/systemd-v249.4+suse.39.g7a5801342f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:253802820cf7090eb06e26f5dc23dfd9dfd967fc20b8c85350ea4856fe99442d -size 7266304 diff --git a/systemd-v249.5+suse.47.g8521f8d22f.tar.xz b/systemd-v249.5+suse.47.g8521f8d22f.tar.xz new file mode 100644 index 00000000..5c5dfb3d --- /dev/null +++ b/systemd-v249.5+suse.47.g8521f8d22f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8a0ffb611331f565bf6bc5b7ec30cf9725cf462b08dae3c2b7bd344d1c9ed7c +size 7268136 diff --git a/systemd.changes b/systemd.changes index 49998b05..e24b4142 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,69 @@ +------------------------------------------------------------------- +Fri Oct 15 12:09:44 UTC 2021 - Franck Bui + +- Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d + +------------------------------------------------------------------- +Fri Oct 15 11:54:34 UTC 2021 - Franck Bui + +- Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 + + 3b4a005095 meson: add missing include directory when using xkbcommon + 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) + 78466e4464 meson: drop the list of valid net naming schemes + b9a2098f9d netif-naming: inline one iterator variable + d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme + +------------------------------------------------------------------- +Fri Oct 15 11:38:41 UTC 2021 - Franck Bui + +- Rename %{gnu-efi} into %{sd_boot} + + Build conditionals (%bcond_with and %bcond_without) are used to + define a specific feature of systemd. "gnu-efi" is rather an + implemenation detail. Also not really sure what "efi" option alone + is useful for since systemd-boot & co depends on "gnu-efi". + +- Enable sd_boot support for aarch64 + +------------------------------------------------------------------- +Fri Oct 15 09:27:00 UTC 2021 - Franck Bui + +- Ghost own directories /var/log/journal and /var/log/journal/remote again + + rpmlint no more complain about the setgid bit, see sr#923496. + +------------------------------------------------------------------- +Fri Oct 8 11:14:20 UTC 2021 - Franck Bui + +- Overwriting rootprefix= is only required when split-usr is enabled + +------------------------------------------------------------------- +Fri Oct 8 09:01:59 UTC 2021 - Franck Bui + +- Rename %usrmerged into %split_usr + +------------------------------------------------------------------- +Wed Oct 6 07:40:24 UTC 2021 - Franck Bui + +- Suppress PAM warning when the credentials for user@.service service + are established (bsc#1190515) + + systemd-user PAM service needs to define a default implementation of + pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) + is used, which consists of pam_warn.so + pam_deny.so, and will throw + a warning each time a user logs in. + +------------------------------------------------------------------- +Mon Oct 4 14:40:12 UTC 2021 - Franck Bui + +- No need to install upstream pam configuration file "systemd-user" + + It's overwritten by the SUSE version anyway. + ------------------------------------------------------------------- Wed Sep 29 10:04:38 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bd5c5924..17246d92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,10 +24,9 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.39.g7a5801342f +%define suse_version +suse.47.g8521f8d22f %define _testsuitedir /usr/lib/systemd/tests -%bcond_with gnuefi %if 0%{?bootstrap} %bcond_with coredump %bcond_with importd @@ -36,28 +35,33 @@ %bcond_with networkd %bcond_with portabled %bcond_with resolved +%bcond_with sd_boot %bcond_with sysvcompat %bcond_with experimental %bcond_with testsuite %else %bcond_without coredump -%ifarch %{ix86} x86_64 -%bcond_without gnuefi -%endif %bcond_without importd %bcond_without journal_remote %bcond_without machined %bcond_without networkd %bcond_without portabled %bcond_without resolved +%ifarch %{ix86} x86_64 aarch64 +%bcond_without sd_boot +%else +%bcond_with sd_boot +%endif %bcond_without sysvcompat %bcond_without experimental %bcond_without testsuite %endif +# Kept to ease migrations toward SLE +%bcond_with split_usr Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.4 +Version: 249.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -113,7 +117,7 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 %endif -%if %{with gnuefi} +%if %{with sd_boot} BuildRequires: gnu-efi %endif @@ -602,14 +606,14 @@ Have fun with these services at your own risk. -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ -Ddocdir=%{_docdir}/systemd \ +%if %{with split_usr} -Drootprefix=/usr \ -%if !0%{?usrmerged} -Dsplit-usr=true \ %endif -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ - -Dpamconfdir=%{_pam_vendordir} \ + -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ @@ -648,8 +652,12 @@ Have fun with these services at your own risk. %if %{without coredump} -Dcoredump=false \ %endif -%if %{without gnuefi} +%if %{without sd_boot} + -Defi=false \ -Dgnu-efi=false \ +%else + -Defi=true \ + -Dgnu-efi=true \ %endif %if %{without importd} -Dimportd=false \ @@ -721,7 +729,7 @@ for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done -%if !0%{?usrmerged} +%if %{with split_usr} # Legacy sysvinit tools mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init @@ -741,7 +749,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 %{S:2} %{buildroot}%{_pam_vendordir} +install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -1213,8 +1221,10 @@ fi %files %defattr(-,root,root) %license LICENSE* -%{_bindir}/busctl +%if %{with sd_boot} %{_bindir}/bootctl +%endif +%{_bindir}/busctl %{_bindir}/hostnamectl %{_bindir}/kernel-install %{_bindir}/localectl @@ -1363,7 +1373,7 @@ fi %{_pam_moduledir}/pam_systemd.so -%if %{with gnuefi} +%if %{with sd_boot} %dir %{_prefix}/lib/systemd/boot %dir %{_prefix}/lib/systemd/boot/efi %{_prefix}/lib/systemd/boot/efi/*.efi @@ -1431,6 +1441,7 @@ fi %{_modprobedir}/systemd.conf # Some files created at runtime. +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf @@ -1540,7 +1551,6 @@ fi %defattr(-,root,root,-) %dir %{_docdir}/systemd %{_docdir}/systemd/html -# /bootstrap %endif %files devel @@ -1555,7 +1565,7 @@ fi %files sysvinit %defattr(-,root,root,-) -%if !0%{?usrmerged} +%if %{with split_usr} /sbin/init /sbin/reboot /sbin/halt @@ -1762,6 +1772,7 @@ fi %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* %{_datadir}/systemd/gatewayd +%ghost %dir %{_localstatedir}/log/journal/remote %endif %if %{with networkd} || %{with resolved} @@ -1783,7 +1794,6 @@ fi %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service -# Some files created at runtime %endif %if %{with resolved} %{_bindir}/resolvectl From e91b63798345998fa5d385dbcbb0ad871aae2d96f1d882b3404f92fe9dba344f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 28 Oct 2021 09:32:40 +0000 Subject: [PATCH 618/991] Reference bsc#1190984 in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1209 --- systemd.changes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/systemd.changes b/systemd.changes index d885c06b..38dadab7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -20,6 +20,9 @@ Fri Oct 15 12:09:44 UTC 2021 - Franck Bui - Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) + 8de173ff93 mount-util: fix fd_is_mount_point() when both the parent and directory are network fs (bsc#1190984) + [...] + For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d From bc2277421d7455d29f1b80a2858f76a8da321d1eebc9e15aa9f82e03086f6e68 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 2 Nov 2021 10:36:41 +0000 Subject: [PATCH 619/991] - Add 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch Temporarly revert commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979 until the regression it introduced [1] is addressed by upstream and a fix is released via the stable tree. [1] https://github.com/systemd/systemd/issues/21025 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1210 --- ...eck-unit-start-rate-limiting-earlier.patch | 486 ++++++++++++++++++ systemd.changes | 11 + systemd.spec | 1 + 3 files changed, 498 insertions(+) create mode 100644 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch diff --git a/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch b/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch new file mode 100644 index 00000000..379aaab3 --- /dev/null +++ b/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch @@ -0,0 +1,486 @@ +From 4fa9d8f14523982482386d398d2b2669902f2098 Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Mon, 18 Oct 2021 14:11:53 +0900 +Subject: [PATCH 1/1] Revert "core: Check unit start rate limiting earlier" + +This reverts commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979. + +This was causing problems during boot, see +https://bodhi.fedoraproject.org/updates/FEDORA-2021-a1a52487e6, +https://bugzilla.redhat.com/show_bug.cgi?id=2013386. +https://github.com/systemd/systemd/issues/21025 +--- + src/core/automount.c | 23 ++++++----------------- + src/core/mount.c | 23 ++++++----------------- + src/core/path.c | 23 ++++++----------------- + src/core/service.c | 25 +++++++------------------ + src/core/socket.c | 23 ++++++----------------- + src/core/swap.c | 23 ++++++----------------- + src/core/timer.c | 23 ++++++----------------- + src/core/unit.c | 7 ------- + src/core/unit.h | 4 ---- + test/TEST-63-ISSUE-17433/Makefile | 1 - + test/TEST-63-ISSUE-17433/test.sh | 9 --------- + test/meson.build | 2 -- + test/testsuite-10.units/test10.service | 3 --- + test/testsuite-63.units/test63.path | 2 -- + test/testsuite-63.units/test63.service | 5 ----- + test/units/testsuite-63.service | 16 ---------------- + 16 files changed, 43 insertions(+), 169 deletions(-) + delete mode 120000 test/TEST-63-ISSUE-17433/Makefile + delete mode 100755 test/TEST-63-ISSUE-17433/test.sh + delete mode 100644 test/testsuite-63.units/test63.path + delete mode 100644 test/testsuite-63.units/test63.service + delete mode 100644 test/units/testsuite-63.service + +diff --git a/src/core/automount.c b/src/core/automount.c +index 0722abef23..edc9588165 100644 +--- a/src/core/automount.c ++++ b/src/core/automount.c +@@ -814,6 +814,12 @@ static int automount_start(Unit *u) { + if (r < 0) + return r; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -1059,21 +1065,6 @@ static bool automount_supported(void) { + return supported; + } + +-static int automount_test_start_limit(Unit *u) { +- Automount *a = AUTOMOUNT(u); +- int r; +- +- assert(a); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const automount_result_table[_AUTOMOUNT_RESULT_MAX] = { + [AUTOMOUNT_SUCCESS] = "success", + [AUTOMOUNT_FAILURE_RESOURCES] = "resources", +@@ -1136,6 +1127,4 @@ const UnitVTable automount_vtable = { + [JOB_FAILED] = "Failed to unset automount %s.", + }, + }, +- +- .test_start_limit = automount_test_start_limit, + }; +diff --git a/src/core/mount.c b/src/core/mount.c +index 9bec190cb6..af39db214b 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1168,6 +1168,12 @@ static int mount_start(Unit *u) { + + assert(IN_SET(m->state, MOUNT_DEAD, MOUNT_FAILED)); + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -2137,21 +2143,6 @@ static int mount_can_clean(Unit *u, ExecCleanMask *ret) { + return exec_context_get_clean_mask(&m->exec_context, ret); + } + +-static int mount_test_start_limit(Unit *u) { +- Mount *m = MOUNT(u); +- int r; +- +- assert(m); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const mount_exec_command_table[_MOUNT_EXEC_COMMAND_MAX] = { + [MOUNT_EXEC_MOUNT] = "ExecMount", + [MOUNT_EXEC_UNMOUNT] = "ExecUnmount", +@@ -2249,6 +2240,4 @@ const UnitVTable mount_vtable = { + [JOB_TIMEOUT] = "Timed out unmounting %s.", + }, + }, +- +- .test_start_limit = mount_test_start_limit, + }; +diff --git a/src/core/path.c b/src/core/path.c +index 2b659696a4..e098e83a31 100644 +--- a/src/core/path.c ++++ b/src/core/path.c +@@ -590,6 +590,12 @@ static int path_start(Unit *u) { + if (r < 0) + return r; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -805,21 +811,6 @@ static void path_reset_failed(Unit *u) { + p->result = PATH_SUCCESS; + } + +-static int path_test_start_limit(Unit *u) { +- Path *p = PATH(u); +- int r; +- +- assert(p); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const path_type_table[_PATH_TYPE_MAX] = { + [PATH_EXISTS] = "PathExists", + [PATH_EXISTS_GLOB] = "PathExistsGlob", +@@ -874,6 +865,4 @@ const UnitVTable path_vtable = { + .reset_failed = path_reset_failed, + + .bus_set_property = bus_path_set_property, +- +- .test_start_limit = path_test_start_limit, + }; +diff --git a/src/core/service.c b/src/core/service.c +index 701c145565..7b90822f68 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2456,6 +2456,13 @@ static int service_start(Unit *u) { + + assert(IN_SET(s->state, SERVICE_DEAD, SERVICE_FAILED)); + ++ /* Make sure we don't enter a busy loop of some kind. */ ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -4451,22 +4458,6 @@ static const char *service_finished_job(Unit *u, JobType t, JobResult result) { + return NULL; + } + +-static int service_test_start_limit(Unit *u) { +- Service *s = SERVICE(u); +- int r; +- +- assert(s); +- +- /* Make sure we don't enter a busy loop of some kind. */ +- r = unit_test_start_limit(u); +- if (r < 0) { +- service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); +- return r; +- } +- +- return 0; +-} +- + static const char* const service_restart_table[_SERVICE_RESTART_MAX] = { + [SERVICE_RESTART_NO] = "no", + [SERVICE_RESTART_ON_SUCCESS] = "on-success", +@@ -4629,6 +4620,4 @@ const UnitVTable service_vtable = { + }, + .finished_job = service_finished_job, + }, +- +- .test_start_limit = service_test_start_limit, + }; +diff --git a/src/core/socket.c b/src/core/socket.c +index 31d88b71ff..f362a5baa8 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -2515,6 +2515,12 @@ static int socket_start(Unit *u) { + + assert(IN_SET(s->state, SOCKET_DEAD, SOCKET_FAILED)); + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -3423,21 +3429,6 @@ static int socket_can_clean(Unit *u, ExecCleanMask *ret) { + return exec_context_get_clean_mask(&s->exec_context, ret); + } + +-static int socket_test_start_limit(Unit *u) { +- Socket *s = SOCKET(u); +- int r; +- +- assert(s); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const socket_exec_command_table[_SOCKET_EXEC_COMMAND_MAX] = { + [SOCKET_EXEC_START_PRE] = "ExecStartPre", + [SOCKET_EXEC_START_CHOWN] = "ExecStartChown", +@@ -3564,6 +3555,4 @@ const UnitVTable socket_vtable = { + [JOB_TIMEOUT] = "Timed out stopping %s.", + }, + }, +- +- .test_start_limit = socket_test_start_limit, + }; +diff --git a/src/core/swap.c b/src/core/swap.c +index b25f68fb7d..3843b19500 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -933,6 +933,12 @@ static int swap_start(Unit *u) { + if (UNIT(other)->job && UNIT(other)->job->state == JOB_RUNNING) + return -EAGAIN; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -1582,21 +1588,6 @@ static int swap_can_clean(Unit *u, ExecCleanMask *ret) { + return exec_context_get_clean_mask(&s->exec_context, ret); + } + +-static int swap_test_start_limit(Unit *u) { +- Swap *s = SWAP(u); +- int r; +- +- assert(s); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const swap_exec_command_table[_SWAP_EXEC_COMMAND_MAX] = { + [SWAP_EXEC_ACTIVATE] = "ExecActivate", + [SWAP_EXEC_DEACTIVATE] = "ExecDeactivate", +@@ -1692,6 +1683,4 @@ const UnitVTable swap_vtable = { + [JOB_TIMEOUT] = "Timed out deactivating swap %s.", + }, + }, +- +- .test_start_limit = swap_test_start_limit, + }; +diff --git a/src/core/timer.c b/src/core/timer.c +index 5ecc9f35cf..e064ad9a2d 100644 +--- a/src/core/timer.c ++++ b/src/core/timer.c +@@ -635,6 +635,12 @@ static int timer_start(Unit *u) { + if (r < 0) + return r; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -895,21 +901,6 @@ static int timer_can_clean(Unit *u, ExecCleanMask *ret) { + return 0; + } + +-static int timer_test_start_limit(Unit *u) { +- Timer *t = TIMER(u); +- int r; +- +- assert(t); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const timer_base_table[_TIMER_BASE_MAX] = { + [TIMER_ACTIVE] = "OnActiveSec", + [TIMER_BOOT] = "OnBootSec", +@@ -969,6 +960,4 @@ const UnitVTable timer_vtable = { + .timezone_change = timer_timezone_change, + + .bus_set_property = bus_timer_set_property, +- +- .test_start_limit = timer_test_start_limit, + }; +diff --git a/src/core/unit.c b/src/core/unit.c +index 69ed43578e..38d3eb703f 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -1851,13 +1851,6 @@ int unit_start(Unit *u) { + + assert(u); + +- /* Check start rate limiting early so that failure conditions don't cause us to enter a busy loop. */ +- if (UNIT_VTABLE(u)->test_start_limit) { +- int r = UNIT_VTABLE(u)->test_start_limit(u); +- if (r < 0) +- return r; +- } +- + /* If this is already started, then this will succeed. Note that this will even succeed if this unit + * is not startable by the user. This is relied on to detect when we need to wait for units and when + * waiting is finished. */ +diff --git a/src/core/unit.h b/src/core/unit.h +index 9babd07188..759104ffa7 100644 +--- a/src/core/unit.h ++++ b/src/core/unit.h +@@ -649,10 +649,6 @@ typedef struct UnitVTable { + * of this type will immediately fail. */ + bool (*supported)(void); + +- /* If this function is set, it's invoked first as part of starting a unit to allow start rate +- * limiting checks to occur before we do anything else. */ +- int (*test_start_limit)(Unit *u); +- + /* The strings to print in status messages */ + UnitStatusMessageFormats status_message_formats; + +diff --git a/test/TEST-63-ISSUE-17433/Makefile b/test/TEST-63-ISSUE-17433/Makefile +deleted file mode 120000 +index e9f93b1104..0000000000 +--- a/test/TEST-63-ISSUE-17433/Makefile ++++ /dev/null +@@ -1 +0,0 @@ +-../TEST-01-BASIC/Makefile +\ No newline at end of file +diff --git a/test/TEST-63-ISSUE-17433/test.sh b/test/TEST-63-ISSUE-17433/test.sh +deleted file mode 100755 +index c595a9f2de..0000000000 +--- a/test/TEST-63-ISSUE-17433/test.sh ++++ /dev/null +@@ -1,9 +0,0 @@ +-#!/usr/bin/env bash +-set -e +- +-TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/17433" +- +-# shellcheck source=test/test-functions +-. "${TEST_BASE_DIR:?}/test-functions" +- +-do_test "$@" +diff --git a/test/meson.build b/test/meson.build +index 6f8f257c2d..47c7f4d49a 100644 +--- a/test/meson.build ++++ b/test/meson.build +@@ -33,8 +33,6 @@ if install_tests + install_dir : testdata_dir) + install_subdir('testsuite-52.units', + install_dir : testdata_dir) +- install_subdir('testsuite-63.units', +- install_dir : testdata_dir) + + testsuite08_dir = testdata_dir + '/testsuite-08.units' + install_data('testsuite-08.units/-.mount', +diff --git a/test/testsuite-10.units/test10.service b/test/testsuite-10.units/test10.service +index 2fb476b986..d0be786b01 100644 +--- a/test/testsuite-10.units/test10.service ++++ b/test/testsuite-10.units/test10.service +@@ -1,9 +1,6 @@ + [Unit] + Requires=test10.socket + ConditionPathExistsGlob=/tmp/nonexistent +-# Make sure we hit the socket trigger limit in the test and not the service start limit. +-StartLimitInterval=1000 +-StartLimitBurst=1000 + + [Service] + ExecStart=true +diff --git a/test/testsuite-63.units/test63.path b/test/testsuite-63.units/test63.path +deleted file mode 100644 +index a6573bda0a..0000000000 +--- a/test/testsuite-63.units/test63.path ++++ /dev/null +@@ -1,2 +0,0 @@ +-[Path] +-PathExists=/tmp/test63 +diff --git a/test/testsuite-63.units/test63.service b/test/testsuite-63.units/test63.service +deleted file mode 100644 +index c83801874d..0000000000 +--- a/test/testsuite-63.units/test63.service ++++ /dev/null +@@ -1,5 +0,0 @@ +-[Unit] +-ConditionPathExists=!/tmp/nonexistent +- +-[Service] +-ExecStart=true +diff --git a/test/units/testsuite-63.service b/test/units/testsuite-63.service +deleted file mode 100644 +index 04122723d4..0000000000 +--- a/test/units/testsuite-63.service ++++ /dev/null +@@ -1,16 +0,0 @@ +-[Unit] +-Description=TEST-63-ISSUE-17433 +- +-[Service] +-ExecStartPre=rm -f /failed /testok +-Type=oneshot +-ExecStart=rm -f /tmp/nonexistent +-ExecStart=systemctl start test63.path +-ExecStart=touch /tmp/test63 +-# Make sure systemd has sufficient time to hit the start limit for test63.service. +-ExecStart=sleep 2 +-ExecStart=sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = failed' +-ExecStart=sh -x -c 'test "$(systemctl show test63.service -P Result)" = start-limit-hit' +-ExecStart=sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = failed' +-ExecStart=sh -x -c 'test "$(systemctl show test63.path -P Result)" = unit-start-limit-hit' +-ExecStart=sh -x -c 'echo OK >/testok' +-- +2.31.1 + diff --git a/systemd.changes b/systemd.changes index 38dadab7..307f8f06 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Nov 2 10:26:58 UTC 2021 - Franck Bui + +- Add 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch + + Temporarly revert commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979 + until the regression it introduced [1] is addressed by upstream and + a fix is released via the stable tree. + + [1] https://github.com/systemd/systemd/issues/21025 + ------------------------------------------------------------------- Tue Oct 19 14:41:37 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 42e912d5..1be7837f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -209,6 +209,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch %description Systemd is a system and service manager, compatible with SysV and LSB From ab8271254f775794f4a73d77c7ee8f2d1e1b895d74e8d9c3c9ea638356a96e6c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 8 Nov 2021 16:23:58 +0000 Subject: [PATCH 620/991] Accepting request 928747 from Base:System - Add 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch Temporarly revert commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979 until the regression it introduced [1] is addressed by upstream and a fix is released via the stable tree. [1] https://github.com/systemd/systemd/issues/21025 - Disable nss-systemd and translations features for the mini flavour - Really enable libiptc for masquerading support (bsc#1191651) Currently used by systemd-nspawn and systemd-networkd. - Convert systemd package to multibuild 8de173ff93 mount-util: fix fd_is_mount_point() when both the parent and directory are network fs (bsc#1190984) [...] OBS-URL: https://build.opensuse.org/request/show/928747 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=339 --- ...eck-unit-start-rate-limiting-earlier.patch | 486 + _multibuild | 3 + pre_checkin.sh | 15 - systemd-mini-rpmlintrc | 11 - systemd-mini.changes | 11493 ---------------- systemd-mini.spec | 1871 --- systemd.changes | 31 + systemd.spec | 21 +- 8 files changed, 534 insertions(+), 13397 deletions(-) create mode 100644 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch create mode 100644 _multibuild delete mode 100644 pre_checkin.sh delete mode 100644 systemd-mini-rpmlintrc delete mode 100644 systemd-mini.changes delete mode 100644 systemd-mini.spec diff --git a/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch b/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch new file mode 100644 index 00000000..379aaab3 --- /dev/null +++ b/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch @@ -0,0 +1,486 @@ +From 4fa9d8f14523982482386d398d2b2669902f2098 Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Mon, 18 Oct 2021 14:11:53 +0900 +Subject: [PATCH 1/1] Revert "core: Check unit start rate limiting earlier" + +This reverts commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979. + +This was causing problems during boot, see +https://bodhi.fedoraproject.org/updates/FEDORA-2021-a1a52487e6, +https://bugzilla.redhat.com/show_bug.cgi?id=2013386. +https://github.com/systemd/systemd/issues/21025 +--- + src/core/automount.c | 23 ++++++----------------- + src/core/mount.c | 23 ++++++----------------- + src/core/path.c | 23 ++++++----------------- + src/core/service.c | 25 +++++++------------------ + src/core/socket.c | 23 ++++++----------------- + src/core/swap.c | 23 ++++++----------------- + src/core/timer.c | 23 ++++++----------------- + src/core/unit.c | 7 ------- + src/core/unit.h | 4 ---- + test/TEST-63-ISSUE-17433/Makefile | 1 - + test/TEST-63-ISSUE-17433/test.sh | 9 --------- + test/meson.build | 2 -- + test/testsuite-10.units/test10.service | 3 --- + test/testsuite-63.units/test63.path | 2 -- + test/testsuite-63.units/test63.service | 5 ----- + test/units/testsuite-63.service | 16 ---------------- + 16 files changed, 43 insertions(+), 169 deletions(-) + delete mode 120000 test/TEST-63-ISSUE-17433/Makefile + delete mode 100755 test/TEST-63-ISSUE-17433/test.sh + delete mode 100644 test/testsuite-63.units/test63.path + delete mode 100644 test/testsuite-63.units/test63.service + delete mode 100644 test/units/testsuite-63.service + +diff --git a/src/core/automount.c b/src/core/automount.c +index 0722abef23..edc9588165 100644 +--- a/src/core/automount.c ++++ b/src/core/automount.c +@@ -814,6 +814,12 @@ static int automount_start(Unit *u) { + if (r < 0) + return r; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -1059,21 +1065,6 @@ static bool automount_supported(void) { + return supported; + } + +-static int automount_test_start_limit(Unit *u) { +- Automount *a = AUTOMOUNT(u); +- int r; +- +- assert(a); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const automount_result_table[_AUTOMOUNT_RESULT_MAX] = { + [AUTOMOUNT_SUCCESS] = "success", + [AUTOMOUNT_FAILURE_RESOURCES] = "resources", +@@ -1136,6 +1127,4 @@ const UnitVTable automount_vtable = { + [JOB_FAILED] = "Failed to unset automount %s.", + }, + }, +- +- .test_start_limit = automount_test_start_limit, + }; +diff --git a/src/core/mount.c b/src/core/mount.c +index 9bec190cb6..af39db214b 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1168,6 +1168,12 @@ static int mount_start(Unit *u) { + + assert(IN_SET(m->state, MOUNT_DEAD, MOUNT_FAILED)); + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -2137,21 +2143,6 @@ static int mount_can_clean(Unit *u, ExecCleanMask *ret) { + return exec_context_get_clean_mask(&m->exec_context, ret); + } + +-static int mount_test_start_limit(Unit *u) { +- Mount *m = MOUNT(u); +- int r; +- +- assert(m); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const mount_exec_command_table[_MOUNT_EXEC_COMMAND_MAX] = { + [MOUNT_EXEC_MOUNT] = "ExecMount", + [MOUNT_EXEC_UNMOUNT] = "ExecUnmount", +@@ -2249,6 +2240,4 @@ const UnitVTable mount_vtable = { + [JOB_TIMEOUT] = "Timed out unmounting %s.", + }, + }, +- +- .test_start_limit = mount_test_start_limit, + }; +diff --git a/src/core/path.c b/src/core/path.c +index 2b659696a4..e098e83a31 100644 +--- a/src/core/path.c ++++ b/src/core/path.c +@@ -590,6 +590,12 @@ static int path_start(Unit *u) { + if (r < 0) + return r; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -805,21 +811,6 @@ static void path_reset_failed(Unit *u) { + p->result = PATH_SUCCESS; + } + +-static int path_test_start_limit(Unit *u) { +- Path *p = PATH(u); +- int r; +- +- assert(p); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const path_type_table[_PATH_TYPE_MAX] = { + [PATH_EXISTS] = "PathExists", + [PATH_EXISTS_GLOB] = "PathExistsGlob", +@@ -874,6 +865,4 @@ const UnitVTable path_vtable = { + .reset_failed = path_reset_failed, + + .bus_set_property = bus_path_set_property, +- +- .test_start_limit = path_test_start_limit, + }; +diff --git a/src/core/service.c b/src/core/service.c +index 701c145565..7b90822f68 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2456,6 +2456,13 @@ static int service_start(Unit *u) { + + assert(IN_SET(s->state, SERVICE_DEAD, SERVICE_FAILED)); + ++ /* Make sure we don't enter a busy loop of some kind. */ ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -4451,22 +4458,6 @@ static const char *service_finished_job(Unit *u, JobType t, JobResult result) { + return NULL; + } + +-static int service_test_start_limit(Unit *u) { +- Service *s = SERVICE(u); +- int r; +- +- assert(s); +- +- /* Make sure we don't enter a busy loop of some kind. */ +- r = unit_test_start_limit(u); +- if (r < 0) { +- service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); +- return r; +- } +- +- return 0; +-} +- + static const char* const service_restart_table[_SERVICE_RESTART_MAX] = { + [SERVICE_RESTART_NO] = "no", + [SERVICE_RESTART_ON_SUCCESS] = "on-success", +@@ -4629,6 +4620,4 @@ const UnitVTable service_vtable = { + }, + .finished_job = service_finished_job, + }, +- +- .test_start_limit = service_test_start_limit, + }; +diff --git a/src/core/socket.c b/src/core/socket.c +index 31d88b71ff..f362a5baa8 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -2515,6 +2515,12 @@ static int socket_start(Unit *u) { + + assert(IN_SET(s->state, SOCKET_DEAD, SOCKET_FAILED)); + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -3423,21 +3429,6 @@ static int socket_can_clean(Unit *u, ExecCleanMask *ret) { + return exec_context_get_clean_mask(&s->exec_context, ret); + } + +-static int socket_test_start_limit(Unit *u) { +- Socket *s = SOCKET(u); +- int r; +- +- assert(s); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const socket_exec_command_table[_SOCKET_EXEC_COMMAND_MAX] = { + [SOCKET_EXEC_START_PRE] = "ExecStartPre", + [SOCKET_EXEC_START_CHOWN] = "ExecStartChown", +@@ -3564,6 +3555,4 @@ const UnitVTable socket_vtable = { + [JOB_TIMEOUT] = "Timed out stopping %s.", + }, + }, +- +- .test_start_limit = socket_test_start_limit, + }; +diff --git a/src/core/swap.c b/src/core/swap.c +index b25f68fb7d..3843b19500 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -933,6 +933,12 @@ static int swap_start(Unit *u) { + if (UNIT(other)->job && UNIT(other)->job->state == JOB_RUNNING) + return -EAGAIN; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -1582,21 +1588,6 @@ static int swap_can_clean(Unit *u, ExecCleanMask *ret) { + return exec_context_get_clean_mask(&s->exec_context, ret); + } + +-static int swap_test_start_limit(Unit *u) { +- Swap *s = SWAP(u); +- int r; +- +- assert(s); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const swap_exec_command_table[_SWAP_EXEC_COMMAND_MAX] = { + [SWAP_EXEC_ACTIVATE] = "ExecActivate", + [SWAP_EXEC_DEACTIVATE] = "ExecDeactivate", +@@ -1692,6 +1683,4 @@ const UnitVTable swap_vtable = { + [JOB_TIMEOUT] = "Timed out deactivating swap %s.", + }, + }, +- +- .test_start_limit = swap_test_start_limit, + }; +diff --git a/src/core/timer.c b/src/core/timer.c +index 5ecc9f35cf..e064ad9a2d 100644 +--- a/src/core/timer.c ++++ b/src/core/timer.c +@@ -635,6 +635,12 @@ static int timer_start(Unit *u) { + if (r < 0) + return r; + ++ r = unit_test_start_limit(u); ++ if (r < 0) { ++ timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); ++ return r; ++ } ++ + r = unit_acquire_invocation_id(u); + if (r < 0) + return r; +@@ -895,21 +901,6 @@ static int timer_can_clean(Unit *u, ExecCleanMask *ret) { + return 0; + } + +-static int timer_test_start_limit(Unit *u) { +- Timer *t = TIMER(u); +- int r; +- +- assert(t); +- +- r = unit_test_start_limit(u); +- if (r < 0) { +- timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); +- return r; +- } +- +- return 0; +-} +- + static const char* const timer_base_table[_TIMER_BASE_MAX] = { + [TIMER_ACTIVE] = "OnActiveSec", + [TIMER_BOOT] = "OnBootSec", +@@ -969,6 +960,4 @@ const UnitVTable timer_vtable = { + .timezone_change = timer_timezone_change, + + .bus_set_property = bus_timer_set_property, +- +- .test_start_limit = timer_test_start_limit, + }; +diff --git a/src/core/unit.c b/src/core/unit.c +index 69ed43578e..38d3eb703f 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -1851,13 +1851,6 @@ int unit_start(Unit *u) { + + assert(u); + +- /* Check start rate limiting early so that failure conditions don't cause us to enter a busy loop. */ +- if (UNIT_VTABLE(u)->test_start_limit) { +- int r = UNIT_VTABLE(u)->test_start_limit(u); +- if (r < 0) +- return r; +- } +- + /* If this is already started, then this will succeed. Note that this will even succeed if this unit + * is not startable by the user. This is relied on to detect when we need to wait for units and when + * waiting is finished. */ +diff --git a/src/core/unit.h b/src/core/unit.h +index 9babd07188..759104ffa7 100644 +--- a/src/core/unit.h ++++ b/src/core/unit.h +@@ -649,10 +649,6 @@ typedef struct UnitVTable { + * of this type will immediately fail. */ + bool (*supported)(void); + +- /* If this function is set, it's invoked first as part of starting a unit to allow start rate +- * limiting checks to occur before we do anything else. */ +- int (*test_start_limit)(Unit *u); +- + /* The strings to print in status messages */ + UnitStatusMessageFormats status_message_formats; + +diff --git a/test/TEST-63-ISSUE-17433/Makefile b/test/TEST-63-ISSUE-17433/Makefile +deleted file mode 120000 +index e9f93b1104..0000000000 +--- a/test/TEST-63-ISSUE-17433/Makefile ++++ /dev/null +@@ -1 +0,0 @@ +-../TEST-01-BASIC/Makefile +\ No newline at end of file +diff --git a/test/TEST-63-ISSUE-17433/test.sh b/test/TEST-63-ISSUE-17433/test.sh +deleted file mode 100755 +index c595a9f2de..0000000000 +--- a/test/TEST-63-ISSUE-17433/test.sh ++++ /dev/null +@@ -1,9 +0,0 @@ +-#!/usr/bin/env bash +-set -e +- +-TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/17433" +- +-# shellcheck source=test/test-functions +-. "${TEST_BASE_DIR:?}/test-functions" +- +-do_test "$@" +diff --git a/test/meson.build b/test/meson.build +index 6f8f257c2d..47c7f4d49a 100644 +--- a/test/meson.build ++++ b/test/meson.build +@@ -33,8 +33,6 @@ if install_tests + install_dir : testdata_dir) + install_subdir('testsuite-52.units', + install_dir : testdata_dir) +- install_subdir('testsuite-63.units', +- install_dir : testdata_dir) + + testsuite08_dir = testdata_dir + '/testsuite-08.units' + install_data('testsuite-08.units/-.mount', +diff --git a/test/testsuite-10.units/test10.service b/test/testsuite-10.units/test10.service +index 2fb476b986..d0be786b01 100644 +--- a/test/testsuite-10.units/test10.service ++++ b/test/testsuite-10.units/test10.service +@@ -1,9 +1,6 @@ + [Unit] + Requires=test10.socket + ConditionPathExistsGlob=/tmp/nonexistent +-# Make sure we hit the socket trigger limit in the test and not the service start limit. +-StartLimitInterval=1000 +-StartLimitBurst=1000 + + [Service] + ExecStart=true +diff --git a/test/testsuite-63.units/test63.path b/test/testsuite-63.units/test63.path +deleted file mode 100644 +index a6573bda0a..0000000000 +--- a/test/testsuite-63.units/test63.path ++++ /dev/null +@@ -1,2 +0,0 @@ +-[Path] +-PathExists=/tmp/test63 +diff --git a/test/testsuite-63.units/test63.service b/test/testsuite-63.units/test63.service +deleted file mode 100644 +index c83801874d..0000000000 +--- a/test/testsuite-63.units/test63.service ++++ /dev/null +@@ -1,5 +0,0 @@ +-[Unit] +-ConditionPathExists=!/tmp/nonexistent +- +-[Service] +-ExecStart=true +diff --git a/test/units/testsuite-63.service b/test/units/testsuite-63.service +deleted file mode 100644 +index 04122723d4..0000000000 +--- a/test/units/testsuite-63.service ++++ /dev/null +@@ -1,16 +0,0 @@ +-[Unit] +-Description=TEST-63-ISSUE-17433 +- +-[Service] +-ExecStartPre=rm -f /failed /testok +-Type=oneshot +-ExecStart=rm -f /tmp/nonexistent +-ExecStart=systemctl start test63.path +-ExecStart=touch /tmp/test63 +-# Make sure systemd has sufficient time to hit the start limit for test63.service. +-ExecStart=sleep 2 +-ExecStart=sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = failed' +-ExecStart=sh -x -c 'test "$(systemctl show test63.service -P Result)" = start-limit-hit' +-ExecStart=sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = failed' +-ExecStart=sh -x -c 'test "$(systemctl show test63.path -P Result)" = unit-start-limit-hit' +-ExecStart=sh -x -c 'echo OK >/testok' +-- +2.31.1 + diff --git a/_multibuild b/_multibuild new file mode 100644 index 00000000..bb1e9966 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + mini + diff --git a/pre_checkin.sh b/pre_checkin.sh deleted file mode 100644 index c033554d..00000000 --- a/pre_checkin.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz) -# create a -mini spec for systemd for bootstrapping - -ORIG_SPEC=systemd -EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" -sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; - s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; - s/^Name:.*/&-mini/ - " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec -cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes -cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc - -osc service localrun format_spec_file diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc deleted file mode 100644 index 86edf488..00000000 --- a/systemd-mini-rpmlintrc +++ /dev/null @@ -1,11 +0,0 @@ -addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf") -addFilter(".*dbus-policy-allow-receive") -addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") -addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*") -addFilter(".*missing-call-to-setgroups-before-setuid.*") -addFilter(".*systemd-service-without-service.*") -addFilter("env-script-interpreter") -addFilter(".*files-duplicate /usr/lib/systemd/.*") -addFilter(".*files-duplicated-waste.*") -addFilter(".*explicit-lib-dependency .*") -addFilter(".*tmpfile-not-in-filelist .*") diff --git a/systemd-mini.changes b/systemd-mini.changes deleted file mode 100644 index e24b4142..00000000 --- a/systemd-mini.changes +++ /dev/null @@ -1,11493 +0,0 @@ -------------------------------------------------------------------- -Fri Oct 15 12:09:44 UTC 2021 - Franck Bui - -- Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d - -------------------------------------------------------------------- -Fri Oct 15 11:54:34 UTC 2021 - Franck Bui - -- Import commit 355e113ce193e5e2d195278c57d47f9a1b00ae46 - - 3b4a005095 meson: add missing include directory when using xkbcommon - 4c4e642712 meson: allow extra net naming schemes to be defined during configuration (jsc#SLE-18514) - 78466e4464 meson: drop the list of valid net naming schemes - b9a2098f9d netif-naming: inline one iterator variable - d7fbbc5e74 Add remaining supported schemes as options for default-net-naming-scheme - -------------------------------------------------------------------- -Fri Oct 15 11:38:41 UTC 2021 - Franck Bui - -- Rename %{gnu-efi} into %{sd_boot} - - Build conditionals (%bcond_with and %bcond_without) are used to - define a specific feature of systemd. "gnu-efi" is rather an - implemenation detail. Also not really sure what "efi" option alone - is useful for since systemd-boot & co depends on "gnu-efi". - -- Enable sd_boot support for aarch64 - -------------------------------------------------------------------- -Fri Oct 15 09:27:00 UTC 2021 - Franck Bui - -- Ghost own directories /var/log/journal and /var/log/journal/remote again - - rpmlint no more complain about the setgid bit, see sr#923496. - -------------------------------------------------------------------- -Fri Oct 8 11:14:20 UTC 2021 - Franck Bui - -- Overwriting rootprefix= is only required when split-usr is enabled - -------------------------------------------------------------------- -Fri Oct 8 09:01:59 UTC 2021 - Franck Bui - -- Rename %usrmerged into %split_usr - -------------------------------------------------------------------- -Wed Oct 6 07:40:24 UTC 2021 - Franck Bui - -- Suppress PAM warning when the credentials for user@.service service - are established (bsc#1190515) - - systemd-user PAM service needs to define a default implementation of - pam_setcred() otherwise the fallback (defined by /etc/pam.d/other) - is used, which consists of pam_warn.so + pam_deny.so, and will throw - a warning each time a user logs in. - -------------------------------------------------------------------- -Mon Oct 4 14:40:12 UTC 2021 - Franck Bui - -- No need to install upstream pam configuration file "systemd-user" - - It's overwritten by the SUSE version anyway. - -------------------------------------------------------------------- -Wed Sep 29 10:04:38 UTC 2021 - Franck Bui - -- Work around rpmlint complaining about /var/log/journal shipped with setgid bit - - This setgid bit has been already reviewed in the past and wasn't a - concern. However we want the mode/ownership adjusted by tmpfiles and - avoid the duplication of these info in rpm. - -- Don't ghost own any directories created dynamically by tmpfiles - - Again rpmlint complains but it doesn't seem to make sense to try to - track all paths (including theirs perms, ownerships...) created - dynamically. And 'rpm -V' is likely to report issues later with - these paths anyway. - - This effectively partially reverts the two previous commits. - -------------------------------------------------------------------- -Fri Sep 24 12:56:31 UTC 2021 - Franck Bui - -- Make sure the build process won't create /var/log/journal - -- /var/log/journal/remote is owned by systemd-journal-remote - -------------------------------------------------------------------- -Fri Sep 24 09:28:38 UTC 2021 - Franck Bui - -- systemd.spec: fix a bunch of rpmlint errors/warnings - -------------------------------------------------------------------- -Fri Sep 24 07:27:58 UTC 2021 - Franck Bui - -- Drop systemd-logger - - This sub package was introduced in order to configure persistent - journal and also to make sure that another syslog provider (such as - rsyslog) couldn't be installed at the same time: each syslog - provider conflicts with each others. - - However this mechanism didn't work since uninstalling systemd-logger - wasn't magically turning off persistent logging because - /var/log/journal is likely to be populated hence not removed. - - Moreover using a subpackage to configure the mode of journald was - overkill and the usual ways (main conf file or drop-ins) should be - preferred. - -------------------------------------------------------------------- -Wed Sep 22 13:41:34 UTC 2021 - Franck Bui - -- Import commit 7a5801342fe2f53e5c2a8578d6db132c0eca2d97 - - 8d65ec4a66 test: wc is needed by test/units/testsuite-50.sh - 1527bcc5dd test: make the installation of the debug tools optional in the image - f4e6bf0b37 journalctl: never fail at flushing when the flushed flag is set (bsc#1188588) - -------------------------------------------------------------------- -Wed Sep 22 13:25:26 UTC 2021 - Franck Bui - -- Update the dependencies of the testsuite package - - The debug tools are optional thus no more required. - - OTOH strip(1) is needed when building the test image and nc(1) is - needed by some tests. - -------------------------------------------------------------------- -Fri Sep 10 13:30:14 UTC 2021 - Franck Bui - -- Drop git internal files from the testsuite sub-package - -------------------------------------------------------------------- -Fri Sep 10 09:51:06 UTC 2021 - Franck Bui - -- Adjust pam macros - -------------------------------------------------------------------- -Wed Sep 8 17:01:58 UTC 2021 - Franck Bui - -- Don't reexecute user manager instances on package update yet - - This can't be done until users have their user instance updated to - the new version that supports reexecuting with SIGRTMIN+25 because - this signal terminates the user managers for the previous versions. - -------------------------------------------------------------------- -Wed Sep 8 13:21:34 UTC 2021 - Franck Bui - -- Import commit ec72db9ee0f8ce061f83624d7148ff38a5993b11 - - 3b1aa2f79f manager: reexecute on SIGRTMIN+25, user instances only - fd46c81922 test: make sure to include all haveged unit files - -- systemd.spec: reexec user manager instances on package updates - -------------------------------------------------------------------- -Fri Sep 3 09:38:23 UTC 2021 - Franck Bui - -- Make sure the versions of both udev and systemd packages are always the same (bsc#1189480) - -------------------------------------------------------------------- -Thu Sep 2 10:01:23 UTC 2021 - Franck Bui - -- Drop dependency on m4 (replaced by Jinja2) - -------------------------------------------------------------------- -Wed Sep 1 11:54:23 UTC 2021 - Franck Bui - -- Configure split-usr=true only when %usrmerged is not defined - -------------------------------------------------------------------- -Wed Sep 1 09:56:55 UTC 2021 - Franck Bui - -- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/7f23815a706cf2b2df3eac2eb2f8220736b8f427...40bda18e346ff45132ccd6f8f8e96de78dcf3470 - -------------------------------------------------------------------- -Mon Aug 23 15:12:10 UTC 2021 - Franck Bui - -- Rework the test (sub)package: - - it's been renamed into 'systemd-testsuite' - - it includes the extended tests too - - the relevant commits have been backported to SUSE/v249 so no SUSE - specific patch is needed to run the extended tests (see below) - - the deps needed by the extended tests have been added - -- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427 - - ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too - 088fbb71d0 test: adapt install_pam() for openSUSE - 4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE" - ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static" - 6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only - 278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set - 3bba2f876a test: add support for NO_BUILD=1 on openSUSE - d77cbc1b64 test: make busybox TEST-13-only dependency - -------------------------------------------------------------------- -Mon Aug 2 12:54:44 UTC 2021 - Franck Bui - -- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719) - - See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) - - - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch - 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - -------------------------------------------------------------------- -Thu Jul 29 13:12:48 UTC 2021 - Franck Bui - -- Avoid the error message when udev is updated due to udev being - already active when the sockets are started again (bsc#1188291) - -------------------------------------------------------------------- -Mon Jul 26 10:54:10 UTC 2021 - Franck Bui - -- Import commit 73e9e6fb847513c6d62f2fb445778ef5bc0fe516 (merge of v248.6) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/cb29bcc5ef2c0ee659686c5d229646a6ba98ec50...73e9e6fb847513c6d62f2fb445778ef5bc0fe516 - -------------------------------------------------------------------- -Tue Jul 20 16:26:39 UTC 2021 - Franck Bui - -- Drop 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - - Commit 81107b8419c39f726fd2805517a5b9faab204e59 fixes - https://github.com/systemd/systemd/issues/19464 which makes the - aforementioned patch not needed anymore. - -------------------------------------------------------------------- -Tue Jul 20 16:22:46 UTC 2021 - Franck Bui - -- Drop 1003-basic-unit-name-adjust-comments.patch - - It's been merged in SUSE/v248 branch - -------------------------------------------------------------------- -Tue Jul 20 15:51:47 UTC 2021 - Franck Bui - -- Import commit cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 (merge of v248.5) - - 4a1c5f34bd basic/unit-name: do not use strdupa() on a path (bsc#1188063 CVE-2021-33910) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/94efce2ee59fca15a48ff9c232c8dd7cf930c0a0...cb29bcc5ef2c0ee659686c5d229646a6ba98ec50 - -- Drop 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch as it - was merged in v248.5. - -------------------------------------------------------------------- -Tue Jul 20 15:25:38 UTC 2021 - Franck Bui - -- Import commit 94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 (merge of v248.4) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/c0aecee593511e49638579cb2b9ac8aaf1f8e6c8...94efce2ee59fca15a48ff9c232c8dd7cf930c0a0 - -- Drop 1001-unit-name-generate-a-clear-error-code-when-convertin.patch - as it was merged in v248.4. - -------------------------------------------------------------------- -Tue Jul 20 15:10:41 UTC 2021 - Franck Bui - -- Import commit c0aecee593511e49638579cb2b9ac8aaf1f8e6c8 - - 42ec1d537a login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag - ecc7c7b462 login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag - a4cfd70476 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set (bsc#1187154) - ef553e0199 sd-dhcp-client: tentatively ignore FORCERENEW command (bsc#1185972 CVE-2020-13529) - aae6c575fc sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease - 258a3d2043 sd-dhcp-client: shorten code a bit - 0a80303114 sd-dhcp-client: check error earlier and reduce indentation - -------------------------------------------------------------------- -Thu Jul 8 18:04:31 UTC 2021 - Franck Bui - -- Added patches to fix CVE-2021-33910 (bsc#1188063) - - Added 1001-unit-name-generate-a-clear-error-code-when-convertin.patch - Added 1002-basic-unit-name-do-not-use-strdupa-on-a-path.patch - Added 1003-basic-unit-name-adjust-comments.patch - - These patches will be moved to the git repo once the bug will become - public. - -------------------------------------------------------------------- -Mon Jul 5 09:03:07 UTC 2021 - Franck Bui - -- systemd-hwdb-update.service should be shipped by the udev package - -------------------------------------------------------------------- -Thu Jul 1 07:47:31 UTC 2021 - Franck Bui - -- Finally don't create /run/lock/subsys anymore - - This effectively reverts the fix for bsc#1187292 made earlier. This - directory is specific to RH sysvinit and since we're going to fade - the support of SysV init script away the directory has no future. - -------------------------------------------------------------------- -Mon Jun 28 16:45:04 UTC 2021 - Franck Bui - -- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63 - - 8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL - d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970 - -------------------------------------------------------------------- -Mon Jun 28 12:46:04 UTC 2021 - Fabian Vogt - -- Enable TPM2 support - -------------------------------------------------------------------- -Thu Jun 24 13:39:30 UTC 2021 - Franck Bui - -- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401 - - aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c - -- Restore 61-persistent-storage-compat.rules that was mistakenly - dropped during the merge of v248. - -------------------------------------------------------------------- -Fri Jun 18 12:53:34 UTC 2021 - Franck Bui - -- Create /run/lock/subsys again (bsc#1187292) - - The creation of this directory was mistakenly dropped when - 'filesystem' package took the initialization of the generic paths - over. - - Paths under /run/lock are still managed by systemd for lack of - better place. - -------------------------------------------------------------------- -Fri Jun 4 13:10:30 UTC 2021 - Franck Bui - -- Drop systemd's dependency on udev (jsc#PM-2677) - - In some environments (i.e. containers) udev is usually not necessary - but pulls in unnecessary packages. - -------------------------------------------------------------------- -Fri Jun 4 07:32:16 UTC 2021 - Franck Bui - -- Now that chkconfig/insserv are history, let's implement the strict - minimum in systemd-sysv-install to enable/disable SysV init scripts - (bsc#1186595 bsc#1186359) - - Indeed there's no much point in dropping SysV support completely - until upstream will do especially since 3rd party applications such - as vmware still rely on it, see bsc#1186359). - -------------------------------------------------------------------- -Tue May 25 16:30:40 UTC 2021 - Franck Bui - -- Allow the sysusers config files shipped by systemd rpms to be - overriden during system installation (bsc#1171962) - -- While at it, add a comment to explain why we don't use - %sysusers_create in %pre and why it should be safe in %post. - -------------------------------------------------------------------- -Thu May 20 20:19:27 UTC 2021 - Franck Bui - -- udev requires systemd in its %post (bsc#1185958) - - udevadm, called in udev's %post, requires libsystemd-shared-248.so. - -------------------------------------------------------------------- -Thu May 20 18:52:53 UTC 2021 - Franck Bui - -- Restore all "License:" tags - - udev uses a different license (GPL-2.0-only) than the main package - and "osc service localrun format_spec_file" has the good taste to - restore the license tags for all other subpackages if one of the - subpackage tag differs. - -------------------------------------------------------------------- -Thu May 20 15:47:38 UTC 2021 - Franck Bui - -- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807) - -------------------------------------------------------------------- -Wed May 19 06:54:57 UTC 2021 - Franck Bui - -- Spec file minor cleanups: - - - Drop all "Group:" tags as they are deprecated. - - - Drop "License:" tags from all subpackages and make it inherited - from the main package. - - - Drop "%bcond_with parentpathid" as it's not used. - -------------------------------------------------------------------- -Tue May 18 18:31:20 UTC 2021 - Franck Bui - -- Introduce subpackage systemd-tests - - This subpackage is mainly used before submitting a new version of - the systemd packages. As such it's not intended for regular users - hence can be removed/renamed at any time. One might wonder why the - unit tests are not executed during package builds (%check)... the - reason is that the environment used to build package (chroot) is too - limited and therefore only a subset of the unit tests would be - executed in this environment. - - To disable the build of the subpackage, use "--without=tests". - -------------------------------------------------------------------- -Tue May 18 10:04:16 UTC 2021 - Franck Bui - -- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch - - A temporary patch until - https://github.com/systemd/systemd/issues/19464 is solved. - -------------------------------------------------------------------- -Tue May 18 08:19:57 UTC 2021 - Franck Bui - -- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b - -------------------------------------------------------------------- -Mon May 10 13:12:56 UTC 2021 - Franck Bui - -- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa - -------------------------------------------------------------------- -Mon Apr 26 16:25:38 UTC 2021 - Franck Bui - -- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7) - - See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) - - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) - - - A couple runtime dependencies on libraries are now tracked - manually (with Recommends:) due to the fact that some symbols of - these libs are dynamically loaded with dlopen() (heck!) - - - oomd is left disablde for now - - - pam configuration file 'systemd-user' is now shipped in - /usr/etc/pam.d - - - Rebased 0001-conf-parser-introduce-early-drop-ins.patch - 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch - 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch - - - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch - as it is SLE specific. - -- Clean systemd-experimental up: - - - Enclose "%package/%descriptoin experimental" within a "%if - %experimental/%endif" block condition - - - List the build requirements in the sub-package instead of listing - them in the main package. - - - Enable support for fido2, pwquality and qrencode in the home - stuff - - - Improve the package description - -------------------------------------------------------------------- -Wed Apr 7 08:59:15 UTC 2021 - Franck Bui - -- systemd.spec: clean some of the build deps up: - - - libpcre is redundant with libpcre2 (only required by the full - build) and the mini variant needs none of them. Hence drop the ref - to libpcre. - - - normally libidn2 is needed by some optional features in - systemd-network (only). But it's implicitly pulled in by libgnutls - (required by the main package). Let's make sure the related - features won't be disabled inadvertently in the future by making - the dep explicit. - -------------------------------------------------------------------- -Tue Mar 30 13:35:38 UTC 2021 - Franck Bui - -- Import commit 14581e01203df7aa63c7c8383a12e6ebe258476f (merge of v246.13) - - 423b1e759c Revert "resolved: gracefully handle with packets with too large RR count" (bsc#1183745) - 4723778738 meson.build: make xinitrcdir configurable (bsc#1183408) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/9753d1c17545a5d46530696cb14254f5f12024f1...14581e01203df7aa63c7c8383a12e6ebe258476f - -- Drop 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch - as it's part of v246.13. - -- Make use of the new build option to ship xinitrc in - /usr/etc/X11/xinit/xinitrc.d (bsc#1183408) - -------------------------------------------------------------------- -Wed Mar 24 07:05:22 UTC 2021 - Franck Bui - -- Add 0001-Revert-resolved-gracefully-handle-with-packets-with-.patch - - Temporary workaround for bsc#1183745 (upstream issue 18917) until an - actual fix is found. - -------------------------------------------------------------------- -Tue Mar 23 14:11:03 UTC 2021 - Ludwig Nussel - -- enable libiptc for masquerading support in networkd - -------------------------------------------------------------------- -Mon Mar 22 21:12:40 UTC 2021 - Neal Gompa - -- Default to the "unified" cgroup hierarchy. At this point, most - users of cgroup (such as docker, libvirt, kubernetes) should be - ready for this change. It's still possible to switch back to the - old "hybrid" hierarchy by passing "systemd.unified_cgroup_hierarchy=0" - option to the kernel command line. - -------------------------------------------------------------------- -Mon Mar 15 15:56:45 UTC 2021 - Franck Bui - -- Import commit 9753d1c17545a5d46530696cb14254f5f12024f1 (merge of v246.11) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/134cf1c8bc3e361a2641161aa11ac2b5b990480b...9753d1c17545a5d46530696cb14254f5f12024f1 - -- Rebase 0001-conf-parser-introduce-early-drop-ins.patch - -------------------------------------------------------------------- -Mon Mar 15 11:06:54 UTC 2021 - Franck Bui - -- Import commit 13bc08870147b35f87cefb074aec22e767b7ac04 - - 846d61e0a1 boot: Move console declarations to missing_efi.h - 171a37228b boot: Add startswith() and endswith() functions with no_case variants - 0fad9f309a boot: Drop unnecessary braces - c38bbb0874 boot: Fix void pointer arithmetic warning - 438210924b boot: Replace raw efivar gets with typed variants - e46cb3e4a0 boot: Add efivar_get/set_uint64_le() functions - e16bee35c8 boot: Rename efivar_get/set_int() to efivar_get/set_uint_string() - 2808d0e9a3 boot: Tighten scope of variables used in loops - d3f3d57743 boot: Add efivar_get_boolean_u8() - 0551ecce71 boot: Make all efivar util functions take the guid as an argument - 8376ba3b9f boot: Turn all guid constants into C99 compound initializers - 166fc2dad2 boot: Enable C99 - c87d66e261 boot: Move Secure Boot logic to new file - da7bba9438 udev: fix memleak - e06139117c nspawn: make rootfs relative to oci bundle path (bsc#1182598) - 8ba587d46c PATCH] Always free deserialized_subscribed on reload (bsc#1180020) - -------------------------------------------------------------------- -Thu Mar 11 16:58:44 UTC 2021 - Ludwig Nussel - -- create subpackage systemd-experimental to host pstore, repart, - userdb and homed - -------------------------------------------------------------------- -Thu Mar 11 09:51:53 UTC 2021 - Franck Bui - -- Make sure the udev socket units are reloaded during udev package updates - -------------------------------------------------------------------- -Wed Mar 10 09:10:03 UTC 2021 - Franck Bui - -- fix-machines-btrfs-subvol.sh is only shipped when machined is built - -------------------------------------------------------------------- -Mon Feb 22 20:20:43 UTC 2021 - Franck Bui - -- systemd requires aaa_base >= 13.2 - - This dependency is required because 'systemctl - {is-enabled,enable,disable} " ends up calling - systemd-sysv-install which in its turn calls "chkconfig - --no-systemctl". - - aaa_base package has a weird versioning but the '--no-systemctl' - option has been introduced starting from SLE12-SP2-GA, which shipped - version "13.2+git20140911.61c1681". - - Spotted in bsc#1180083. - -------------------------------------------------------------------- -Fri Feb 19 13:34:01 UTC 2021 - Franck Bui - -- Add 0001-conf-parser-introduce-early-drop-ins.patch - - Introduce early configuration drop-in file. This type of drop-ins - are reserved for vendor own purposes only and should never been used - by users. It might be removed in the future without any notice. - -------------------------------------------------------------------- -Wed Feb 17 10:30:43 UTC 2021 - Franck Bui - -- Drop use of %systemd_postun in %postun - - This macro is supposed to operate on units but it was used without - passing any parameters. This call was probably used for issuing a - daemon-reload but the following calls to - %systemd_postun_with_restart imply that already. So let's simply - drop it. - -------------------------------------------------------------------- -Fri Feb 5 13:02:58 UTC 2021 - Franck Bui - -- systemd-sysv-convert: handle the case when services are migrated - from SysV scripts to systemd units and are renamed at the same - time (bsc#1181788) - - The list of such services is hard coded and contains only the - 'ntp->ntpd' translation. - -------------------------------------------------------------------- -Wed Feb 3 09:57:58 UTC 2021 - Franck Bui - -- Import commit 134cf1c8bc3e361a2641161aa11ac2b5b990480b (merge of v246.10) - - 25f220eafb sysusers: flush nscd's caches whenever /etc/{passwd,group} are modified (bsc#1181121) - 4a543f0257 journal: send journald logs to kmsg again - 26df96473f busctl: add a timestamp to the output of the busctl monitor command (bsc#1180225) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/520e53b6d85087b05892ee637ae93f1b269e7e52...134cf1c8bc3e361a2641161aa11ac2b5b990480b - -------------------------------------------------------------------- -Wed Jan 13 10:37:16 UTC 2021 - Ludwig Nussel - -- prepare usrmerge (boo#1029961) - * don't install legacy symlinks to / - * use %_pamdir to install pam modules - * leave nss files in /usr/lib*, glibc loads them from there just - fine independent of usrmerge - -------------------------------------------------------------------- -Fri Dec 18 08:54:20 UTC 2020 - Franck Bui - -- Import commit 520e53b6d85087b05892ee637ae93f1b269e7e52 (merge of v246.9) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/2401461e5f0e32922823d954c56106f96344070e...520e53b6d85087b05892ee637ae93f1b269e7e52 - -------------------------------------------------------------------- -Fri Dec 18 08:41:04 UTC 2020 - Franck Bui - -- Import commit 2401461e5f0e32922823d954c56106f96344070e - - 6131548b0f udev: link_update() should fail if the entry in symlink dir couldn't have been created - f6cb8c7d79 udev: make algorithm that selects highest priority devlink less susceptible to race conditions (bsc#1084748) - fc64e47291 basic/stat-util: make mtime check stricter and use entire timestamp - ae91d45d3d test/sys-script.py: add missing DEVNAME entries to uevents - 09e3473a7a test/udev_test.pl: add "expected good" count - fc89379b5b test/udev-test.pl: suppress umount error message at startup - d9e114f10d test/sd-script.py: new helper script for udev testing - f2672eae66 test/udev-test.pl: generator for large list of block devices - 42b68e43e2 test/udev-test.pl: add repeat count - eec8ec375a tests/udev-test.pl: add multiple device test - 73b8f3cf93 test/udev-test.pl: count "good" results - ee04d70bb6 test/udev-test.pl: merge import parent tests into one - 03942c8fbc test/udev-test.pl: merge "space and var with space" tests - ec95546189 test/udev-test.pl: remove bogus rules from magic subsys test - f704429217 test/udev-test.pl: Make some tests a little harder - ce1a877dc0 test/udev-test.pl: last_rule is unsupported - 913c72ff2d test/udev-test.pl: fix wrong test descriptions - eeb25a1be6 test/udev-test.pl: allow checking multiple symlinks - 00ab4292da test/udev-test.pl: test correctness of symlink targets - 5b71ee2911 test/udev-test.pl: use computed devnode name - 2e04bb9ae8 test/udev-test.pl: allow concurrent additions and removals - 8816dd593c test/udev-test.pl: create rules only once - 214418632d test/udev-test.pl: allow multiple devices per test - 1eb6b23f27 udev-test: do not rely on "mail" group being defined - 4a0a4dcf10 udev: Fix sound.target dependency (bsc#1179363) - -------------------------------------------------------------------- -Wed Dec 16 10:40:48 UTC 2020 - Franck Bui - -- Enable support for zstd compression - - systemd-journald will now use zstd for compressing large fields in - journal files. systemd-coredump will also use this algorithm to - compress coredump files. - - Please note that systemd older than v246 won't be able to read new - journal files as zstd algorithm is not supported by these versions. - - This incompatible change was actually not the only one introduced by - v246 since the hash tables in journal files have been hardened - against hash collisions too in an incompatible way with older - versions. - -------------------------------------------------------------------- -Mon Dec 14 07:55:03 UTC 2020 - Dominique Leuenberger - -- Explicitly require group(kvm) by udev: the group used to be - created by system-users-hardware, but has been split/moved to - qemu/kvm, where it is more logical. The file - /usr/lib/udev/rules.d/50-udev-default.rules references this - group, thus we should make sure the group exists. Otherwise there - are errors in the journal in the form of: - /usr/lib/udev/rules.d/50-udev-default.rules:86 Unknown group 'kvm', ignoring - -------------------------------------------------------------------- -Wed Dec 9 16:08:26 UTC 2020 - Franck Bui - -- Import commit d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 (merge of v246.7) - - 450792497e sd-event: fix delays assert brain-o (#17790) - 1040a19d08 udevadm: rename option '--log-priority' into '--log-level' - a7b41e19bd udev: rename kernel option 'log_priority' into 'log_level' - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/f6104ea5f554233e34b94ffd92da8332c3bd7d8f...d5e7958d35dc7758fe2e87e0a8193b93ce1a1b15 - -------------------------------------------------------------------- -Tue Dec 1 09:42:11 UTC 2020 - Franck Bui - -- Import commit f6104ea5f554233e34b94ffd92da8332c3bd7d8f - - 617aed9236 scope: on unified, make sure to unwatch all PIDs once they've been moved to the cgroup scope - -------------------------------------------------------------------- -Tue Nov 24 13:39:28 UTC 2020 - Franck Bui - -- Don't post-require systemd-default-settings-branding anymore - - This is actually not needed now that the branding package issues a - PID1 reloading every times it's being updated. - -------------------------------------------------------------------- -Mon Nov 23 17:20:28 UTC 2020 - Franck Bui - -- Import commit 49caf8e37aba04841e5493ccc25e7edab462d95b - - f8f7286527 units: restore sysfs conditions in sys-fs-fuse-connections.mount and sys-kernel-config.mount - e9c7158dc7 units: wait until some fs modules are entirely loaded before mounting their corresponding filesystem (bsc#1178631) - ac7ddc4201 Revert "units: skip modprobe@.service if the unit appears to be already loaded" - 17310a1d19 core: serialize u->pids until the processes have been moved to the scope cgroup (bsc#1174436) - 1416965614 meson: add option to skip installing to $sysconfdir - f71a1ef5d0 systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable - 20a3f9fd95 systemctl: immediately reject invalid log levels - 9f67d2e57b systemctl: merge log_target(), log_level(), service_log_setting() - ddf7cf4872 systemctl: add service-log-{level,target} verbs - 026d7d156d systemctl: list unit introspection verbs first, modification second - -------------------------------------------------------------------- -Fri Nov 20 14:54:55 UTC 2020 - Franck Bui - -- systemd-default-settings is needed by %post scriptlet - -------------------------------------------------------------------- -Tue Nov 17 08:44:10 UTC 2020 - Franck Bui - -- Revert the change that dropped %{release} from the package version - constraints used in Requires: - - The release number is actually relevant since it can be increased - when some patches, which might touch multiple sub-packages of - systemd, are added/modified. - - However the %{release} is still no more used in conflicts. - -------------------------------------------------------------------- -Fri Nov 6 08:34:18 UTC 2020 - Franck Bui - -- Import commit fdce77ce2067f9dd90d816bad28b51efed0b6dc1 - - 05fff5bd02 generator: use kmsg in system-level generators, journal otherwise - ecc07954de log: normalize log target condition check - d32ceea42b log: update comment - 2ebad02b60 basic/virt: Detect PowerVM hypervisor (bsc#1176800) - -------------------------------------------------------------------- -Mon Nov 2 15:17:20 UTC 2020 - Franck Bui - -- Simplify systemd-sysv-convert - - - the previous code incorrectly assumed that the sysv init scripts - were uninstalled before %post get executed. It therefore save the - enablement state in %pre and restore it in %post. Now all is done - in %post (making --save option useless) and there's no more need - to remember the enablement state. - - - "--save" option is a NOP but is still kept for backward - compatibility. - - - the previous simplifcation made /var/lib/systemd/migrated no more - used. - - - we do not search for units in /lib/systemd anymore, this shouldn't - be needed anymore these days especially since this path was only - used when systemd was introduced in openSUSE and it was never used - in SLE (checked SLE12-GA). - - - the option --show has been dropped. It's never been used even - internally. - - - the DB is populated only once even if the script was enabled at - multiple runlevels. The runlevel info was never used. A dummy - value is still added to keep the same format just in case. - -------------------------------------------------------------------- -Wed Oct 21 09:52:38 UTC 2020 - Franck Bui - -- No more need to clean the journal-upload stuff with --without=journal_remote - - Since -Dremote build option has been introduced with meson, this - workaround is no more needed. - -------------------------------------------------------------------- -Mon Oct 19 19:53:48 UTC 2020 - Franck Bui - -- Move journal-{remote,upload}.conf.5.gz man pages into systemd-journal_remote sub package - -------------------------------------------------------------------- -Mon Oct 19 18:50:38 UTC 2020 - Franck Bui - -- Explicitly list files in /usr/lib/sysusers.d shipped by the main package - - Currently only one config file is shipped in this directory and we - want to check any new files that may be added in the future. - -------------------------------------------------------------------- -Mon Oct 19 17:29:38 UTC 2020 - Franck Bui - -- Use %{_modulesloaddir}, %{_environmentdir} and %{_modprobedir} wherever appropriate - -------------------------------------------------------------------- -Tue Oct 13 09:29:40 UTC 2020 - Franck Bui - -- Do not include %{release} in a few places where we explicitly mention package versions - - It's usually not a good idea especially when used with conflicts. - -------------------------------------------------------------------- -Tue Oct 13 08:50:13 UTC 2020 - Franck Bui - -- Rely on systemd-default-settings for overriding system default settings (bsc#1172517) - - The new branding packages now ships the drop-ins to customize - systemd either for an openSUSE or a SLE ditro. - -------------------------------------------------------------------- -Wed Sep 30 19:09:59 UTC 2020 - Franck Bui - -- Import commit d7b5ac76dc95ddf30e707d26998e36303e9f52a7 (merge of v246.6) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/1cab0d44584687ace92d1df30eadf264231e3b65...d7b5ac76dc95ddf30e707d26998e36303e9f52a7 - -------------------------------------------------------------------- -Tue Sep 29 16:37:40 UTC 2020 - Franck Bui - -- Ship {/usr/lib,/etc}/systemd/network directories in the main package - - These directories can be used by both udevd and networkd. - -------------------------------------------------------------------- -Thu Sep 17 15:12:48 UTC 2020 - Franck Bui - -- Remove dangling symlink - /usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket - - Otherwise the build system complains. - -------------------------------------------------------------------- -Thu Sep 17 12:50:27 UTC 2020 - Franck Bui - -- Import commit 1cab0d44584687ace92d1df30eadf264231e3b65 (include v246.5) - - 304ec2c7ab fstab-generator: add 'nofail' when NFS 'bg' option is used (bsc#1176513) - 6ae277fb37 test: adapt TEST-21-SYSUSERS for SUSE - acd8bfd2cc test: adapt TEST-13-NSPAWN-SMOKE for SUSE - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/a4e393eecb9dbe140a6c7d57419c291d786155cf...1cab0d44584687ace92d1df30eadf264231e3b65 - -------------------------------------------------------------------- -Wed Sep 16 14:07:56 UTC 2020 - Franck Bui - -- Drop 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch - - linuxrc has already been fixed. - -------------------------------------------------------------------- -Wed Sep 16 13:42:04 UTC 2020 - Franck Bui - -- Add 0001-udev-temporarly-restore-the-creation-a-few-symlinks-.patch - - A temporary patch until the installer environment is updated to - create some of the symlinks that udevd used to create during its - startup but now udevd relies on the init system to do so. - -------------------------------------------------------------------- -Thu Sep 10 12:59:54 UTC 2020 - Franck Bui - -- Rework how we prevent journald from both enabling auditd and - recording audit messages - - journald.conf gained a new setting Audit= to control whether - journald enables audit during the boot process. So let's use it and - make sure it's disabled by default by shipping a drop-in that - overrides upstream default. - - Also we used to patch systemd to prevent journald from reading the - audit messages. There's still no way for downstream to configure - that properly (we would need to mask systemd-journald-audit.socket - meaning shipping a symlink in /etc) but I think dropping - systemd-journald-audit.socket from the package is a nicer way to do - that as some users might choose to reenable this setting (by - reintroducing the socket unit in /etc). - -------------------------------------------------------------------- -Thu Sep 10 09:02:13 UTC 2020 - Franck Bui - -- Enable audit support (bsc#1175883) - - Enabling audit support in systemd will only make PID1 (and some of - its services) to generate some audit records for certain events. But - it doesn't affect journald, which has been prevented from recording - audit messages in the journal (SUSE specific behavior). - -------------------------------------------------------------------- -Wed Sep 2 10:14:10 UTC 2020 - Franck Bui - -- Upgrade to v246.4 (commit f1344d5b7f31e98aedb01e606f41d74d3caaf446) - - See https://github.com/openSUSE/systemd/blob/SUSE/v246/NEWS for - details. - - Now that the number of SUSE specific patches has been shrinked and - is pretty low (12 at the time of this writing), they are no more - tracked by the git repo and are now handled at the package - level. Hence It is easier to maintain and identify them. This - effectively means that SUSE/v246 will contain upstream commits only. - - Added 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch - Added 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch - Added 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch - Added 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch - Added 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch - Added 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch - Added 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch - Added 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch - Added 0009-pid1-handle-console-specificities-weirdness-for-s390.patch - Added 0010-journald-disable-audit-support-completely-from-the-j.patch - Added 0011-core-disable-session-keyring-per-system-sevice-entir.patch - Added 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - -------------------------------------------------------------------- -Thu Aug 27 12:51:15 UTC 2020 - Fabian Vogt - -- Adjust %pre and %post for the restoration of upstream tmp.mount (boo#1175779) - -------------------------------------------------------------------- -Wed Aug 26 09:46:46 UTC 2020 - Franck Bui - -- Import commit a4e393eecb9dbe140a6c7d57419c291d786155cf - - d8e3bd4e22 Revert "core: don't send SIGKILL to user@.service immediatly during shutdown" - -------------------------------------------------------------------- -Tue Aug 25 14:32:16 UTC 2020 - Franck Bui - -- Drop requirement on 'sysvinit-tools' - - It was used to workaround bug #886599 by explicitly calling - vhangup(8) from getty@.service so when this service was stopped a - virtually hangup on the specified terminal when were stopped to give - the shell a few seconds to save its history. - - But this workaround was dropped since it had no effect (SLE12-GM was - released with it but was still suffering from the bug) and was - replaced by commit e9db43d5910717a108, which was released from v226 - and backported to SLE12/SLE12-SP1. - -------------------------------------------------------------------- -Thu Aug 20 10:24:37 UTC 2020 - Franck Bui - -- Import commit 6d6d92930acad63f9b9029c305a672c32c550d2d (include merge of v245.7) - - 797ad47d3e vconsole-setup: downgrade log message when setting font fails on dummy console (bsc#1172195 bsc#1173539) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/b12cd8b89b4bccfcf972b47153a2b01cd7775932...6d6d92930acad63f9b9029c305a672c32c550d2d - -- Drop 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch - - Upstream finally reverted it and it's part of both v245.7 and master. - -------------------------------------------------------------------- -Tue Jul 28 13:38:09 UTC 2020 - Richard Brown - -- Restore default upstream tmp.mount (/tmp as tmpfs) behaviour (boo#1173461) - -------------------------------------------------------------------- -Wed Jun 24 06:33:33 UTC 2020 - Franck Bui - -- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) - - The marker is used to make sure the script is run only once. Instead - of storing it in /usr, use /var which is more appropriate for such - file. - - Also make it owned by systemd package. - -------------------------------------------------------------------- -Tue Jun 23 13:29:18 UTC 2020 - Franck Bui - -- Fix inconsistent file modes for some ghost files (bsc#1173227) - - Ghost files are assumed by rpm to have mode 000 by default which is - not consistent with file permissions set at runtime. - - Also /var/lib/systemd/random-seed was tracked wrongly as a - directory. - - Also don't track (ghost) /etc/systemd/system/runlevel*.target - aliases since we're not supposed to track units or aliases user - might define/override. - -------------------------------------------------------------------- -Fri Jun 19 09:59:29 UTC 2020 - Franck Bui - -- Include in the package version the stable minor (if any). - - Also update the version shown by various command such as 'systemctl - --version' to show the stable number. - -------------------------------------------------------------------- -Wed Jun 17 18:54:11 UTC 2020 - Franck Bui - -- Don't restart udevd sockets during package update - - Otherwise we might miss kernel events as the daemon need to be - stopped as well. - -------------------------------------------------------------------- -Wed Jun 17 09:03:40 UTC 2020 - Franck Bui - -- Import commit b12cd8b89b4bccfcf972b47153a2b01cd7775932 (include merge of v245.6) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/a6d31d1a02c2718a064bbbc40d003668acf72769...b12cd8b89b4bccfcf972b47153a2b01cd7775932 - -------------------------------------------------------------------- -Thu Jun 4 15:29:03 UTC 2020 - matthias.gerstner@suse.com - -- no longer explicitly package setgid directory /var/log/journal (bsc#1172550). - The bit will be set during %post by way of the systemd-tmpfiles invocation. - This avoids a conflict with the permissions package and an rpmlint error - popping up. - -------------------------------------------------------------------- -Fri May 29 14:32:41 UTC 2020 - Franck Bui - -- Fix build when resolved is disabled - - While at it sort the build conditionals. - -------------------------------------------------------------------- -Thu May 28 09:30:33 UTC 2020 - Franck Bui - -- Import commit a6d31d1a02c2718a064bbbc40d003668acf72769 - - bb6e2f7906 pid1: update manager settings on reload too (bsc#1163109) - e9e8907b06 watchdog: reduce watchdog pings in timeout interval - 385a8f9846 udev: rename the persistent link for ATA devices (bsc#1164538) - 66018a12ae tmpfiles: remove unnecessary assert (bsc#1171145) - -------------------------------------------------------------------- -Mon May 25 08:47:22 UTC 2020 - Franck Bui - -- Disable bump of /proc/sys/fs/nr-open - - Hopefully a _temporary_ workaround until bsc#1165351 is fixed - otherwise user instances crashes the system is using NIS (and the - nscd cache is empty). - -------------------------------------------------------------------- -Mon Apr 27 15:45:50 UTC 2020 - Franck Bui - -- Drop legacy /sbin/{udevd,udevadm) symlinks hopefully for good - - Since boo#1160890 has been fixed since a couple of months now. - -------------------------------------------------------------------- -Mon Apr 27 14:50:36 UTC 2020 - Franck Bui - -- Drop content of /usr/share/factory/ (bsc#1170146) - - systemd ships several files in /usr/share/factory/etc that are - copied to /etc in case those files are missing there. Unfortunately - the content does not match the openSUSE defaults. - -------------------------------------------------------------------- -Mon Apr 27 14:33:35 UTC 2020 - Franck Bui - -- Drop most of the tmpfiles that deal with generic paths (bsc#1078466 bsc#1181831) - - They are problematic because some of them conflict with SUSE - defaults. Therefore it seems better to let the revelant packages - owning these paths to provide their own definitions instead. - - Meanwhile we still keep the homeless definitions in suse.conf until - a better place is found for them. - - Drop 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch - Drop 0001-SUSE-policy-do-not-clean-tmp-by-default.patch - -------------------------------------------------------------------- -Fri Apr 24 07:38:48 UTC 2020 - Franck Bui - -- Drop %tmpfiles_create portables.conf from %post of networkd sub-package - - It was probably mistakenly added because systemd-portable served as - template for systemd-network. - -------------------------------------------------------------------- -Thu Apr 23 14:17:31 UTC 2020 - Franck Bui - -- Import commit 08cd65ac385c884ed6e4bd71128a0796f56ecd17 (include merge of v245.5) - - 1ceedf8535 meson: fix build of udev 'path_id_compat' builtin with meson 0.54 - e61569d4a9 pid1: by default make user units inherit their umask from the user manager (bsc#1162698) - 64fdacd5f1 user-util: rework how we validate user names (bsc#1170272) - [...] - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/c5aa158173ced05201182d1cc18632a25cf43b94...08cd65ac385c884ed6e4bd71128a0796f56ecd17 - -------------------------------------------------------------------- -Thu Apr 23 14:00:42 UTC 2020 - Franck Bui - -- Drop 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch - - It's been merged in 'openSUSE-Factory' branch otherwise this branch - won't build anymore since meson has been upgraded to version 0.54 in - Factory. - -------------------------------------------------------------------- -Wed Apr 15 19:06:27 UTC 2020 - Franck Bui - -- Switch back to the hybrid hierarchy - - Unfortunately Kubernetes and runc are not yet ready for - cgroupsv2. Let's reconsider the unified hierarchy in a couple of - months. - -------------------------------------------------------------------- -Mon Apr 6 12:42:01 UTC 2020 - Franck Bui - -- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) - -------------------------------------------------------------------- -Mon Apr 6 10:02:33 UTC 2020 - Franck Bui - -- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch - -------------------------------------------------------------------- -Thu Mar 19 09:32:41 UTC 2020 - Franck Bui - -- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) - - d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page - 3c69813c69 man: add a tiny bit of markup - bf595e788c home: fix segfault when parsing arguments in PAM module - e110f4dacb test: wait a bit after starting the test service - e8df08cfdb fix journalctl regression (#15099) - eb3a38cc23 NEWS: add late note about job trimming issue - 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested - 1c7de81f89 format-table: allow hiding a specific column - b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= - 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) - [...] - -------------------------------------------------------------------- -Wed Mar 18 14:09:57 UTC 2020 - Franck Bui - -- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) - - See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (CVE-2020-1712) - - upstream commit 66a19d85a533b15ed32f4066ec880b5a8c06babd (bsc#1157315) - - upstream commit 7f56982289275ce84e20f0554475864953e6aaab (bsc#1162108) - - The new tools provided by systemd repart, userdb, homed, fdisk, - pwquality, p11kit feature have been disabled for now as they require - reviews first. - - Default to the "unified" cgroup hierarchy. Indeed most prominent - users of cgroup (such as libvirt, kubic) should be ready for such - change. It's still possible to switch back to the old "hybrid" - hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to - the kernel command line though. - - Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: - upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been - reverted for now on as it introduced a behavior change which has - impacted plymouth at least. - -------------------------------------------------------------------- -Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca - -- add systemd-network-generator.service file together with systemd-network-generator binary - -------------------------------------------------------------------- -Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel - -- move html documentation to sparate package to save space -- move networkd and resolved binaries into correct subpackage - -------------------------------------------------------------------- -Thu Feb 6 14:15:01 UTC 2020 - Franck Bui - -- Import commit f8adabc2b1f3e3ad150e7a3bfa88341eda5a8a57 (merge v244.2) - - 77c04ce5c2 hwdb: update to v245-rc1 - b4eb884824 Fix typo in function name - e2d4cb9843 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it - 83bfc0d8dd sd-bus: introduce API for re-enqueuing incoming messages - 5926f9f172 polkit: use structured initialization - 0697d0d972 polkit: on async pk requests, re-validate action/details - 2589995acd polkit: reuse some common bus message appending code - 5b2442d5c3 bus-polkit: rename return error parameter to ret_error - 0a19ff7004 shared: split out polkit stuff from bus-util.c → bus-polkit.c - 1325dfb577 test: adapt to the new capsh format - 3538fafb47 meson: update efi path detection to gnu-efi-3.0.11 - 3034855a5b presets: "disable" all passive targets by default - c2e3046819 shared/sysctl-util: normalize repeated slashes or dots to a single value - 6f4364046f dhcp6: do not use T1 and T2 longer than one provided by the lease - 0ed6cda28d network: fix implicit type conversion warning by GCC-10 - f6a5c02d26 bootspec: parse random-seed-mode line in loader.conf - ddc5dca8a7 sd-boot: fix typo - 2bbbe9ae41 test: Synchronize journal before reading from it - 072485d661 sd-bus: fix introspection bug in signal parameter names - 80af3cf5e3 efi: fix build. - [...] - -------------------------------------------------------------------- -Mon Feb 3 14:52:51 UTC 2020 - Franck Bui - -- Use suse.pool.ntp.org server pool on SLE (jsc#SLE-7683) - -------------------------------------------------------------------- -Tue Jan 21 16:01:09 UTC 2020 - Franck Bui - -- Drop scripts-udev-convert-lib-udev-path.sh - - Nobody should need it these days. - -------------------------------------------------------------------- -Tue Jan 14 14:21:40 UTC 2020 - Franck Bui - -- Temporarily restore /sbin/{udevd,udevadm) obsolete symlinks - - They're restored until YaST stop using them (see boo#1160890) - -------------------------------------------------------------------- -Tue Jan 14 13:56:31 UTC 2020 - Franck Bui - -- Import commit 8254b8d9646f3e0f5f8057d1ffb5d6c20f079aaa (merge v244.1) - - 639dc9f4bf network: set ipv6 mtu after link-up or device mtu change - cbced49daa man: fix typo in net-naming-scheme man page - 7dd04c99b0 network: tc: drop unused element - bf4b7d07ba man: fix typos (#14304) - 1ba2e7a730 ipv4ll: do not reset conflict counter on restart - 49806bb310 macro: avoid subtraction overflow in ALIGN_POWER2() - c4c1600689 test-network: add a test case for SendOption= - 6f15b45949 network: fix segfault in parsing SendOption= - 2e531b830d seccomp: real syscall numbers are >= 0 - f7616ed52b network: fix copy and paste mistake - e8b53300c4 network: do not drop foreign config if interface is in initialized state - 00f05813bf seccomp: mmap test results depend on kernel/libseccomp/glibc - 4de1909e61 seccomp: use per arch shmat_syscall - d83010521d seccomp: ensure rules are loaded in seccomp_memory_deny_write_execute - 2c6568221a seccomp: fix multiplexed system calls - bcf0aa02bf Fix typo (duplicate "or") - 96d7083c54 network: if /sys is rw, then udev should be around - e874419902 nspawn: do not fail if udev is not running - 29c9144655 Create parent directories when creating systemd-private subdirs - 9cbb8b5254 network: do not return error but return UINT64_MAX if speed meter is disabled - c08429ae33 core: swap priority can be negative - f25c0be335 networkctl: fix to show BSSID - 65fd2fce59 systemctl: enhance message about kexec missing kernel - bdd0af5f81 Fixup typo in NEWS - -------------------------------------------------------------------- -Wed Dec 11 17:20:04 UTC 2019 - Franck Bui - -- Manually set system-uid-max and system-gid-max to 499 - - It used to be detected automatically by meson but it's been broken - by the migration of login.defs from /etc to /usr/etc. - -------------------------------------------------------------------- -Wed Dec 11 17:01:57 UTC 2019 - Franck Bui - -- Import commit d8f6a204858bff68b8e0e7be86b418c36087ab2e - - 6c5e492a65 cryptsetup: umount encrypted devices before detaching it during shutdown - -------------------------------------------------------------------- -Thu Dec 5 14:00:03 UTC 2019 - Franck Bui - -- Upgrade to v244 (commit 090da85161ceb1ba0b4c208963c7156a8fdf10c6) - - See https://github.com/openSUSE/systemd/blob/SUSE/v244/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit b49e14d5f3081dfcd363d8199a14c0924ae9152f (bsc#1139459) - - upstream commit 22683674716fd0e5b016ce5a7d8fd90df5f9f9e7 (bsc#1151377) - - upstream commit faf205de3ba9a11b0ba17682123d7f3fedc7da24 (bsc#1151377) - - upstream commit 27c3112dcbd1b5f171c36c32550d9c6331375b0b (bsc#1155574) - - upstream commit 21b40f16622f171a9969dc334d74fb5eb2f575c2 (bsc#1159814) - - upstream commit 9b88bb5023dfa3cea406c14fdaa3d8e3e320907a (jsc#SLE-7689) - - upstream commit bc9ecd484f1ebfe0de8b567c90f6cd867fbd5894 (bsc#1141597) - - Legacy and obsolete symlinks have been finally dropped. - - Dropped 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch. - Users were notified about the deprecation of UserTasksMax option and - how to move to the new mechanism. The dropin replacement for - UserTasksMax is therefore no more generated but its use still - produces a warning. - - Added 0001-SUSE-policy-do-not-clean-tmp-by-default.patch and - 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch. - These patches were extracted from the git repo because it's not - clear where the SUSE tmpfiles specificities should be located. - -------------------------------------------------------------------- -Tue Dec 3 16:56:31 UTC 2019 - Franck Bui - -- Import commit dbb1d4734daffa62e0eddecfa4f784c84a9d8e76 - - 1439d72a72 udevd: don't use monitor after manager_exit() - 99288dd778 Revert "udevd: fix crash when workers time out after exit is signal caught" - 152577d6d0 udevd: fix crash when workers time out after exit is signal caught - f854991504 udevd: wait for workers to finish when exiting (bsc#1106383) - - Changes from the v243-stable (84 commits): - - e51d9bf9e5 man: add entry about SpeedMeter= - aa1fc791c7 udev: silence warning about PROGRAM+= or IMPORT+= rules - b9a619bb67 udevadm: ignore EROFS and return earlier - 1ec5b9f80c basic: add vmware hypervisor detection from device-tree - 7fa7080248 umount: be happy if /proc/swaps doesn't exist - [...] - 47d0e23d26 udev: fix memleak caused by wrong cleanup function - a6fb0542c5 parse_hwdb: fix compatibility with pyparsing 2.4.* - cb1d892f17 parse_hwdb: process files in order - -------------------------------------------------------------------- -Tue Nov 12 14:15:03 UTC 2019 - Franck Bui - -- Import commit 0b715187a87907e18edf98eab9d0a50fced4a424 - - 9dbdbc2f10 logind: fix (again) the race that might happen when logind restores VT (bsc#1101591 bsc#1140081) - c848bec110 libblkid: open device in nonblock mode. (bsc#1084671) - b70ad6c927 resolved: check for IP in certificate when using DoT with GnuTLS (bsc#1155539 CVE-2018-21029) - bbedf3d557 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS - eb732c2e29 resolved: fix connection failures with TLS 1.3 and GnuTLS - 4e45084ac5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() - 2e297f0d87 shared/install: fix error codes returned by install_context_apply() - dd29d70d32 man: alias names can't be used with enable command - -------------------------------------------------------------------- -Tue Nov 5 10:56:54 UTC 2019 - Franck Bui - -- Fix %{_libexecdir} misuses of /usr/lib - -------------------------------------------------------------------- -Thu Oct 31 07:38:55 UTC 2019 - Franck Bui - -- Drop 0001-compat-rules-escape-when-used-for-shell-expansion.patch - - It's part of the previous import. - -------------------------------------------------------------------- -Thu Oct 31 07:32:47 UTC 2019 - Franck Bui - -- Import commit b7467b7b553d6d0d6f92758d966b69f1a88b6b42 - - 441f44f371 fileio: introduce read_full_virtual_file() for reading virtual files in sysfs, procfs (bsc#1133495) - 8a1bb5c66b swap: do not make swap units wanted by its device unit anymore - -------------------------------------------------------------------- -Tue Oct 29 10:35:03 UTC 2019 - Franck Bui - -- Import commit 5df9000899ef7d45ddbcacd0fdf73afa07a40f6b - - f0ed7237e4 udev/cdrom_id: Do not open CD-rom in exclusive mode. (bsc#1154256) - b37054aa5a compat-rules: escape '$' when used for shell expansion - - Changes from the v243-stable: - - ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel - 3f6398c450 docs: fix inadvertent change in uid range - 25bb377a73 cgroup: fix typo in BPF firewall support warning message - 6d97aca0d5 fix build with compilers with default stack-protector enabled - fbad077cec nspawn: surrender controlling terminal to PID2 when using the PID1 stub - 0553c3c668 pid1: fix DefaultTasksMax initialization - f406a691a7 src/core/automount: use DirectoryMode when calling mkdir -p - 20438f96c3 udevadm trigger: do not propagate EACCES and ENODEV - 6480630bc3 hwdb: Correct WWWW Pattern In Documentation Comment - 9d8e889810 nspawn: consistenly fail if parsing the environment fails - 40e169b304 nspawn: default to unified hierarchy if --as-pid2 is used - b5df1037a0 cgroup: Mark memory protections as explicitly set in transient units - f14e3e02cc cgroup: Respect DefaultMemoryMin when setting memory.min - ea248e53bf cgroup: Check ancestor memory min for unified memory config - de1d25a506 cgroup: docs: memory.high doc fixups - 2ab45f38d8 cgroup: docs: Mention unbounded protection for memory.{low,min} - 19a43dc38a Consider smb3 as remote filesystem - 5c0224c7bf Handle d_type == DT_UNKNOWN correctly - 8282bc61df util-lib: Don't propagate EACCES from find_binary PATH lookup to caller - 9d0ae987a6 network: drop noisy log message - f67f0e4ec4 Updated log message when the timesync happens for the first time (#13624) - e151bf4674 units: make systemd-binfmt.service easier to work with no autofs - 2b8e574d82 Corect man page reference in systemd-nologin.conf comments - a0577353f1 man: Add a missing space in machinectl(1) - 693e983988 log: Add missing "%" in "%m" log format strings - ea7151b8c4 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist - b90549290e man: fix typo - -------------------------------------------------------------------- -Tue Oct 22 22:25:34 UTC 2019 - Stefan Brüns - -- Remove intltool BuildRequires, not needed since v237 -- Use python3-base BuildRequires instead of full python3 - -------------------------------------------------------------------- -Mon Oct 21 10:33:27 UTC 2019 - Franck Bui - -- Add 0001-compat-rules-escape-when-used-for-shell-expansion.patch (bsc#1153648) - - Added to the quaratine area to avoid uploading a new tar ball just - for that single change. It will be dropped during the next import. - -------------------------------------------------------------------- -Mon Oct 21 09:06:10 UTC 2019 - Ludwig Nussel - -- don't package locales in -mini package - -------------------------------------------------------------------- -Fri Oct 4 14:26:59 UTC 2019 - Franck Bui - -- Import commit 428b937f917ae177f2315e8469800941885e441a - - 0026b58744 pid1: fix DefaultTasksMax initialization - -------------------------------------------------------------------- -Mon Sep 30 10:43:28 UTC 2019 - Franck Bui - -- Import commit ed81f69153488279957268e247a5c81b678da491 (changes from v243-stable) - - fab6f010ac dhcp6: use unaligned_read_be32() - f2d9af4322 dhcp6: add missing option length check - ccf797511e ndisc: make first solicit delayed randomly - f2275b6e12 dhcp6: read OPTION_INFORMATION_REFRESH_TIME option - 6dfbe58ee7 l10n: update Czech Translation - d4cd0e9d32 sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491) - dbefe59259 polkit: fix typo - a321507476 sd-netlink: fix invalid assertion - 45dca7fe86 network: do not enter failed state if device's sysfs entry does not exist yet - dd83d58796 network: add missing link->network checks - b294305888 path: stop watching path specs once we triggered the target unit - 2cd636c437 hwdb: add Medion Akoya E2292 (#13498) - d133bdd1fa po: update Brazilian Portuguese translation - 530e09b594 po: update Polish translation - 0c5c3e34c1 polkit: change "revert settings" to "reset settings" - 73e0f372d8 man: fix description of ARPIntervalSec= units - 5412cc54a1 hwdb: axis override for Dell 9360 touchpad - 9d4e658529 test: drop the missed || exit 1 expression - 7ed7ea82f6 udevadm: use usec_add() - 477bf86c91 udevadm: missing initialization of descriptor - 19ac31c989 networkd: unbreak routing_policy_rule_compare_func() - a20a2157a8 core: coldplug possible nop_job - eb55241742 tty-ask-pwd-agent: fix message forwarded to wall(1) - 1a3c53c06c core: Fix setting StatusUnitFormat from config files - 91db81e4dd network DHCP4: Dont mislead the logs. - 6af590838b Update m4 for selective utmp support. modified: tmpfiles.d/systemd.conf.m4 - 6823c907cf core: restore initialization of u->source_mtime - 29308bcc13 mount-setup: relabel items mentioned directly in relabel-extra.d - 8ca1e56165 Call getgroups() to know size of supplementary groups array to allocate - 5d84a7ad1c test: add test cases for empty string match - 1536348cc8 udev: fix multi match - 3ccafef0ad man: move TimeoutCleanSec= entry from .service to .exec - 8c0c30a820 zsh: udpate bootctl completions - 0556c247a2 resolved: fix abort when recv() returns 0 - 9a25d75520 man: remove repeated words - be3be29347 hwdb: Also mark lis3lv02d sensors in "HP" laptops as being in the base - 4b92ffccaa udev: also logs file permission - 75a2845e5a udev: add missing flag for OPTIONS=static_node - 19e9fc4262 network: do not abort execution when a config file cannot be loaded - 3e1267cf50 fileio: update warning message - 1b3156edd2 pstore: fix use after free - f500d2fa81 journal: Make the output of --update-catalog deterministic - 64d0f7042d travis: protect the systemd organization on Fuzzit from forks - 4247938ee1 hwdb: Mark lis3lv02d sensors in HP laptops as being in the base - 379158684a po: update Japanese translation - 31e1bbd1ca docs: fix push recipe in RELEASE.md - f06530d86b man/systemctl.xml: fix missing "not" - 22aba2b969 docs: fix typo in boot loader doc - 000e08ca70 pstore: fix typo in error message - directoy -> directory - f7f9c69ac5 Fix typo in comment: overide -> override - ca8ba8f8c0 po: update Polish translation - -------------------------------------------------------------------- -Mon Sep 23 11:45:18 UTC 2019 - Franck Bui - -- Some files related to the portable stuff were missing some %exclude - -------------------------------------------------------------------- -Thu Sep 19 08:49:59 UTC 2019 - Martin Vidner - -- Allow YaST to select Iranian (Persian, Farsi) keyboard layout - (bsc#1092920) - -------------------------------------------------------------------- -Wed Sep 18 14:59:16 UTC 2019 - Ludwig Nussel - -- split off networkd and resolved into separate network subpackage -- use separate lang package for translations - -------------------------------------------------------------------- -Wed Sep 18 12:17:37 UTC 2019 - Franck Bui - -- Import commit 9e41d7ec3572d8d5ea1e00f683e9fbf8108e85b4 - - fb1b9d54f9 tty-ask-pwd-agent: fix message forwarded to wall(1) - dd14da3bb6 core: restore initialization of u->source_mtime - d62f30f647 resolved: create /etc/resolv.conf symlink at runtime - -------------------------------------------------------------------- -Wed Sep 18 11:33:16 UTC 2019 - Franck Bui - -- Slighly rework (mostly reorganization) the portable stuff - -------------------------------------------------------------------- -Fri Sep 6 06:20:11 UTC 2019 - Franck Bui - -- Track 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - in the git repo - - This patch has been in the quarantine area long enough, so let's - move it in the git repo. - -------------------------------------------------------------------- -Tue Sep 3 15:10:10 UTC 2019 - Franck Bui - -- Upgrade to v243 (commit e0b24c4356aa0c1c56ff274ff72228f33482a5be) - - See https://github.com/openSUSE/systemd/blob/SUSE/v243/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit b2774a3ae692113e1f47a336a6c09bac9cfb49ad (CVE-2019-20386 bsc#1161436) - - upstream commit 5406c36844b35504a64e9f05fc74b8e5e5a09143 (bsc#1132400) - - upstream commit 83a32ea7b03d6707b8e5bb90a0b3a6eb868ef633 (bsc#1132721) - - upstream commit 7cc5ef5f1811c539ae7f20255c2a093f413cc64f (bsc#1172824 bsc#1142733) - - upstream commit 83cb24ac20baf19f7834931dcf6e03486b4c9c30 (bsc#1156213) - - upstream commit a2dcb1d78737d3daa301ee63fbdd02837acb71a8 (bsc#1158485) - - upstream commit 08185cff19efcb1d7d9fb7b546e7f516ab6dae91 (bsc#1165011) - - upstream commit 59c55e73eaee345e1ee67c23eace8895ed499693 (bsc#1177510) - - Drop 0001-Revert-insserv.conf-generator.patch as it's been dropped - from branch SUSE/v243 while we were rebasing. - - Drop 0001-rc-local-generator-deprecate-halt.local-support.patch as - this functionality had been deprecated during the previous release - and now have been dropped by upstream. - -------------------------------------------------------------------- -Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel - -- enable systemd-portabled - -------------------------------------------------------------------- -Wed Jul 31 14:38:13 UTC 2019 - Franck Bui - -- systemd-container creates and owns /etc/systemd/nspawn now - -------------------------------------------------------------------- -Mon Jul 22 15:29:51 UTC 2019 - Franck Bui - -- Import commit 0f9271c1336c5c9055e75389732a44745d796851 (changes from v242-stable) - - 07f0549ffe network: do not send ipv6 token to kernel - 9d34e79ae8 systemd-mount: don't check for non-normalized WHAT for network FS - 5af677680c core: set fs.file-max sysctl to LONG_MAX rather than ULONG_MAX (bsc#1142099) - 29dda7597a random-util: eat up bad RDRAND values seen on AMD CPUs - eb6c17c178 util-lib: fix a typo in rdrand - 829c20dc8e random-util: rename "err" to "success" - 5442366fbf man: rework the description of Aliases and .wants/.requires directories - ae71c6f634 docs: typo in arg name replace-irreversible -> replace-irreversibly - 09774a5fcb meson: make nologin path build time configurable - 69ffeeb0b1 man: add note about systemctl stop return value - 4cf14b5513 shared/conf-parser: say "key name" not "lvalue", add dot - 4481ca7f86 shared/conf-parser: emit a nicer warning for something like "======" - 46f3db894b shared/conf-parser: be nice and ignore lines without "=" - 7d928995f7 nspawn: fix memleak in argument parsing - 7727e6c0ae resolve: fix memleak - 7f32a81976 journal: properly read unaligned le64 integers - fa419099e5 activate: move array allocation to heap - 815a9fef2a systemctl: print non-elapsing timers as "n/a" not "(null)" - a4fc3c88f1 factory: include pam_keyinit.so in PAM factory configuration - a453d63315 factory: add comment to PAM file, explaining that the defaults are not useful - d9a5a70a59 factory: tighten PAM configuration - 5e2d3bf80b test: make sure colors don't confuse our test - 5fe3be1334 wait-online: change log level - c49b6959d5 systemctl: emit warning when we get an invalid process entry from pid1 and continue - 3c9f43eb03 systemctl: do not suggest passing --all if the user passed --state= - 5964d1474e man: offline-updates: make dependence on system-update.target explicit - a04dd26e03 alloc-util: drop _alloc_ decorator from memdup_suffix0() - 7c46a694ca man: add example for setting multiple properties at once - 1d72789271 man: CPUShares= is so 2015 - 45da304673 man: document that WakeSystem= requires privs - bed58a06e4 man: document that "systemd-analyze blame/critical-chain" is not useful to track down job latency - c5461f31b3 man: be more explicit that Type=oneshot services are not "active" after starting - 455ee07abe man: document that the supplementary groups list is initialized from User='s database entry - 5f0cb2616a alloc-util: drop _alloc_(2, 3) decorator from memdup_suffix0_multiply() - 7bc336794d generator: downgrade Requires= → Wants= of fsck from /usr mount unit - 66465c4381 systemctl: allow "cat" on units with bad settings - ca937b49da pid1: fix serialization/deserialization of commmands with spaces - 4bb3113023 growfs: call crypt_set_debug_level() correctly, skip if not needed - 0db716771e cryptsetup: enable libcryptsetup debug logging if we want it - c8b9b3956f cryptsetup: set libcryptsetup global log callback too - 679b3f6b7f basic/log: fix SYSTEMD_LOG_* parsing error messages - 8d6b5158aa units: add SystemCallErrorNumber=EPERM to systemd-portabled.service - 6681fcd445 network: fix the initial value of the counter for brvlan - 853ec5f458 man: Add some notes about variable $prefix for StateDirectory= - e6d23358e9 sd-netlink: fix inverted log message - 6feb862407 blockdev: filter out invalid block devices early - 9f7c0dbc75 blockdev-util: propagate actual error - 3f5355bcb9 man: document tmpfiles.d/ user/group resolvability needs - c15b92cd98 man: fix wrong udev property name - 9768a900d6 meson: drop duplicated source - 15194f22ed cryptsetup-generator: fix luks-* entry parsing from crypttab - c2475390b4 core: skip whitespace after "|" and "!" in the condition parser - fdc754aeb7 shared/condition: fix printing of ConditionNull= - 572385e135 test: add testcase for issue #12883 - 9aa1edddb0 conf-parser: fix continuation handling - 8fbc72f45f networkd: fix link_up() (#12505) - -------------------------------------------------------------------- -Mon Jul 1 15:14:58 UTC 2019 - Franck Bui - -- State directory of systemd-timesync might become inaccessible after upgrading to v240+ (bsc#1137341) - - This happens for users who had previously used systemd-timesync with - DynamicUser=true, ie the ones who upgraded from a systemd version - between v235 and v239 to systemd v240 and later (v240 was the - version where DynamicUser was switched back to OFF). - -------------------------------------------------------------------- -Tue May 28 11:53:30 UTC 2019 - Franck Bui - -- Import commit eaa7b8b148927d471609de75e542dffcc1b36df4 - - 7e58b89136 udevd: change the default value of udev.children-max (again) (bsc#1107617) - -------------------------------------------------------------------- -Tue May 28 09:51:30 UTC 2019 - Franck Bui - -- Add 0001-rc-local-generator-deprecate-halt.local-support.patch - - /etc/init.d/halt.local support will removed from the next systemd - version (v243) so for now on warn (hopefully the few) users who rely - on this script so they have a chance to switch to systemd-shutdown - interface. - -------------------------------------------------------------------- -Mon May 27 09:33:45 UTC 2019 - Franck Bui - -- Add 0001-Revert-insserv.conf-generator.patch (bsc#1052837) - - All remaining packages have been fixed so they don't rely on the - insser-generator to generate proper deps. So let's drop it as all - services should carry the proper dependencies itself. - -------------------------------------------------------------------- -Mon May 27 09:30:05 UTC 2019 - Franck Bui - -- Drop debug-only-remove-new-policies.patch - - The new DBUS methods have been reviewed by the security team. - -------------------------------------------------------------------- -Tue May 14 14:27:12 UTC 2019 - Franck Bui - -- Import commit 9984a86d0d2259d54c7060f9c09f214202b4efa7 - - f2459bf373 random-util: eat up bad RDRAND values seen on AMD CPUs - c90a2e9793 util-lib: fix a typo in rdrand - 4db1cc9d46 random-util: rename "err" to "success" - 981a62a102 random-util: hash AT_RANDOM getauxval() value before using it - 64a9c3d918 random-util: use gcc's bit_RDRND definition if it exists - c5d6ecfdca random-util: rename RANDOM_DONT_DRAIN → RANDOM_MAY_FAIL - 298d13df7e network: remove redunant link name in message - 77cbde31f2 hwdb: Align airplane mode toggle key mapping for all Acer series - 460f03794e Revert "hwdb: Apply Acer mappings to all Gateway and Packard Bell models" - fe9271ad84 test: return a non-zero return code when 'nobody' user doesn't exist - 29d355e755 fstab-generator: Prevent double free of reused FILE* - f30f1adc11 meson: make source files including nspawn-settings.h depend on libseccomp - 84bab914b8 alloc-util: don't use malloc_usable_size() to determine allocated size - 5240972d8d units: drop reference to sushell man page - 0a26de5e33 codespell: fix spelling errors - 582de105c8 nspawn-expose-ports: fix a typo in error message - -------------------------------------------------------------------- -Mon May 13 08:46:38 UTC 2019 - Franck Bui - -- Buildrequire polkit so /usr/share/polkit-1/rules.d has an owner (bsc#1145023) - - Otherwise the "post build checks" would complain and would force - systemd to own this directory. The owner should still be "polkit" - and the perms should be in sync with the perm set by polkit - itself. - -------------------------------------------------------------------- -Thu May 9 07:13:44 UTC 2019 - Franck Bui - -- Add debug-only-remove-new-policies.patch - - A temporary patch to suppress the new DBUS methods introduced by - v242 until they are reviewed and whitelisted by the secteam. - -------------------------------------------------------------------- -Thu May 9 07:11:08 UTC 2019 - Franck Bui - -- Add a comment explaining why static enablement symlinks in /etc are suppressed - - Also remove any /etc/systemd/system/*.requires/ symlinks for the - same reason. - -------------------------------------------------------------------- -Thu May 2 15:24:45 UTC 2019 - Franck Bui - -- preset remote-cryptsetup.target during package installation - - This target is supposed to be part of the targets that should be - enabled (or not depending on the presets) at package installation. - -------------------------------------------------------------------- -Thu May 2 13:12:23 UTC 2019 - Franck Bui - -- Upgrade to v242 (commit 071c380dcc434dca2a0c8b6de0519cc9e816c6d6) - - See https://github.com/openSUSE/systemd/blob/SUSE/v242/NEWS for - details. - - This includes the following bug fixes: - - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3843) - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (CVE-2019-3844) - - upstream commit 37ed15d7edaf59a1fc7c9e3552cd93a83f3814ef (bsc#1124122) - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133506) - - upstream commit bf65b7e0c9fc215897b676ab9a7c9d1c688143ba (bsc#1133509) - - upstream commit 1f82f5bb4237ed5f015daf93f818e9db95e764b8 (bsc#1150595) - - upstream commit e55bdf9b6c5f72475b258a7a4585a0480551cb60 (bsc#1173422) - -------------------------------------------------------------------- -Wed Apr 24 07:23:44 UTC 2019 - Franck Bui - -- Drop "BuildRequires: -post-build-checks" from the specfile (bsc#1130230) - - The syntax of this directive is obsolete and should be replaced by - "#!BuildIgnore: post-build-checks". - - However there's no good reasons to disable these SUSE extra checks, - so let's re-enable them and fix the few errors it detected. - -------------------------------------------------------------------- -Fri Apr 12 14:13:54 UTC 2019 - Franck Bui - -- Import commit 4e6e66ea94cf5125f9044f0869939a86801ed2d8 - - 430877e794 pam-systemd: use secure_getenv() rather than getenv() (bsc#1132348 CVE-2019-3842) - 3cff2e6514 man: document that if the main process exits after SIGTERM we go directly to SIGKILL - 26c4f7191c bus: fix memleak on invalid message - -------------------------------------------------------------------- -Tue Mar 19 16:11:44 UTC 2019 - Franck Bui - -- systemd-coredump: generate a stack trace of all core dumps (bsc#1128832 jsc#SLE-5933) - - This stack trace is logged to the journal. - -------------------------------------------------------------------- -Mon Mar 11 12:58:19 UTC 2019 - Franck Bui - -- Stop installing macros.systemd - - There're no points in installing this file if we remove it right - after. - -------------------------------------------------------------------- -Mon Mar 11 10:48:54 UTC 2019 - Franck Bui - -- Make sure systemd-network.rules take precedence over our polkit-default-privs (bsc#1125438) - -------------------------------------------------------------------- -Thu Mar 7 14:27:59 UTC 2019 - Franck Bui - -- Include the SUSE version along with the major version of systemd - - $ systemctl --version - systemd 241 (+suse.42.g15a1b4d58) - - Note that the SUSE version format maybe subject to change and as - such scripts should not try to parse it. - -------------------------------------------------------------------- -Wed Mar 6 14:59:22 UTC 2019 - Franck Bui - -- systemd-mini: explicitly disable some of the systemd components - - For some reasons, some build requirements get pulled in for the mini - variant now, enabling some parts of the code that were expected to - be turned OFF. - -------------------------------------------------------------------- -Tue Mar 5 17:51:02 UTC 2019 - Franck Bui - -- Upgrade to v241 (commit 15a1b4d58f1d2bc9c21c7cbab6fe63b58e48bda1) - - This includes the following bug fixes: - - - upstream commit c0d76959080e3ba6534bce1c7053c750668e8b55 (bsc#1160595) - - upstream commit 7334ade4a7e103b1a01d1c8fe1ea7c7a854a1c31 (bsc#1123892) - - upstream commit c7e93c4d15019323973baf12daa76357c83892c4 (boo#1111498) - - This also includes the following bug fixes released in v240: - - - upstream commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 (boo#1111498) - - upstream commit 9eb0fc32d6cb63e71f2cfc1e7dd34c3ede4b48a3 (bsc#1140631) - - upstream commit 1432d2dbdfa90963272a9b581dc4b55dd3ac514f (bsc#1155574) - - upstream commit 26e35b164b8d0603629b3d394554cfa728e8c3e4 (bsc#1169488) - - upstream commit a9fc640671ef60ac949f1ace6fa687ff242fc233 (fate#325697) - -------------------------------------------------------------------- -Tue Feb 19 11:08:13 UTC 2019 - Franck Bui - -- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5 - - 92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563) - 1379e30d59 Allocate temporary strings to hold dbus paths on the heap (bsc#1125352 CVE-2019-6454) - b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. (bsc#1125352 CVE-2019-6454) - -------------------------------------------------------------------- -Fri Feb 15 09:58:17 UTC 2019 - Franck Bui - -- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda - - 7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed - 92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts - a83e7b3b43 automount: don't pass non-blocking pipe to kernel. - 726127ea1d units: make sure initrd-cleanup.service terminates before switching to rootfs (bsc#1123333) - a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563) - 22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563) - 2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() - c2c8333e0b strv: add new macro STARTSWITH_SET() - 1db243a601 Update systemd-system.conf.xml (bsc#1122000) - -------------------------------------------------------------------- -Tue Jan 15 09:04:47 UTC 2019 - Franck Bui - -- Import commit ad34cc45f63720ced69960dc66b47bddb146176d - - Import a bunch of fixes from stable/v239-stable: - - c8293f5af4 Revert "network: set DynamicUser= to systemd-networkd.service" - 7f605592e6 Revert "resolve: enable DynamicUser= for systemd-resolved.service" - 5a48e92e06 test: Fix networkd test for an already running service - 36eae1688b Revert "timesyncd: enable DynamicUser=" - 3a11f24cf0 Revert "unit: drop After=systemd-sysusers.service from timesyncd" - 23cfd15ce9 machinectl: fix verbosity of import-raw or friends - ba037daf29 Make bzip2 an optional dependency for systemd-importd - fb609d2721 pull: initialize libgcrypt before calling any functions provided by libgcrypt - c50857bc6b hwdb: remove stray 'i' in hwdb match string for the HP Spectre (#9571) - 9a12fd17f5 man: Mention that paths in unit files must be fully normalized. - 76fc2ab4a6 tree-wide: use instead of #ifdef for HAVE_* - fcc699c093 network: update log message - a4f497b2cd Use #if instead of #ifdef for ENABLE_GSHADOW - 121c662eb8 man: add missing option for system.conf - 564341146e core: add missing option and drop nonexistent option in system.conf - 7082a3599f journal: add missing option in journald.conf - 3c15efa9c1 basic: add missing comma in raw_clone assembly for sparc - 4c210b6dce cryptsetup: Add dependency on loopback setup to generated units - c777fbbe3e journal-gateway: use localStorage["cursor"] only when it has valid value - c5b1bef639 journal-gateway: explicitly declare local variables - 2361522ca6 analyze: actually select longest activated-time of services - 3e810d92d9 sd-bus: fix implicit downcast of bitfield reported by LGTM - aef660a4cf resolvconf: fixes for the compatibility interface - 06b3f54f50 install: fix error handling in is_symlink_with_known_name() - f70ab9a468 portable: fix error handling - d2c40d4e80 resolve: fix return value type of dns_answer_has_dname_for_cname() - 6f684e0670 resolve: dns_scope_network_good() does not returns negative errno - 15d83e1138 bus-util: fix error handling - ba0a1f3384 core: free lines after reading them - -------------------------------------------------------------------- -Thu Jan 10 15:54:22 UTC 2019 - Franck Bui - -- Import commit 3bece8a25ae11e8ec132cdecc7e72a00ee790994 - - 89a9721a47 Revert "logind: become the controlling terminal process before restoring VT" (bsc#1120836) - c3a8dc821b pam_systemd: reword message about not creating a session - 0ba0f5b3ef pam_systemd: suppress LOG_DEBUG log messages if debugging is off - -------------------------------------------------------------------- -Thu Jan 10 07:17:22 UTC 2019 - Franck Bui - -- Import commit a3b059a8c60622e4ec30aabda93c6b41d0953dc4 - - 9dbe9f12ec journal-remote: set a limit on the number of fields in a message (CVE-2018-16865 bsc#1120323) - 61d569ab1b journal-remote: verify entry length from header - a08760b26c µhttpd: use a cleanup function to call MHD_destroy_response - 43f46a1a3d journal-gateway: use _cleanup_ attribute to stop microhttpd daemon - 437b0b2d01 journald: lower the maximum entry size limit to ½ for non-sealed fds - ac9e209710 journald: when processing a native message, bail more quickly on overbig messages - ce103705b9 journald: set a limit on the number of fields (1k) (CVE-2018-16865 bsc#1120323) - 35538171c2 coredump: fix message when we fail to save a journald coredump - cfe247b555 basic/process-util: limit command line lengths to _SC_ARG_MAX - 9d59e6f6ee journald: do not store the iovec entry for process commandline on stack (CVE-2018-16864 bsc#1120323) - 8d650a68d4 journald: remove unnecessary {} - b608f532a4 coredump: remove duplicate MESSAGE= prefix from message - 0dbb2dc066 vconsole-setup: fonts copy will fail if the current terminal is in graphical mode (bsc#1114933) - e501d65540 Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc" - d3ea69961f fs-util: rename safe_transition() into unsafe_transition() - 338470fdc9 tmpfiles: use CHASE_WARN in addition to CHASE_SAFE - d9ae1b30da fs-util: make chase_symlink() returns -ENOLINK when unsafe transitions are met - 8b76594d1f fs-util: add new CHASE_WARN flag to chase_symlinks() - -------------------------------------------------------------------- -Tue Dec 4 13:20:48 UTC 2018 - Franck Bui - -- Import commit 8ae56af7802ef8f91fac64fa244d62a4468fbbd5 - - 4474878178 udev-builtin-kmod: adjust logging - 805534aff5 core: use the generic module_load() function - ac7e902530 shared/module-util: fix preexisting mixup with errno sign - 415aa40793 udev-builtin-kmod: use the generic module_load() function - 8a36b4bac6 Move module-util.h to src/shared/ and load_module() to libshared - 999b910752 core/kmod-setup: restore comments - 1f2b822a21 logind: stop managing VT switches if no sessions are registered on that VT - 5ad8d374c5 terminal-util: introduce vt_release() helper - 145d492490 logind: become the controlling terminal process before restoring VT (bsc#1101591) - d4b5dbc033 terminal-util: introduce vt_restore() helper - 2e8af185f0 logind: make session_restore_vt() static - ff3048364f udev: downgrade message when we fail to set inotify watch up (bsc#1005023) - -------------------------------------------------------------------- -Fri Nov 23 13:30:03 UTC 2018 - Franck Bui - -- Fix the test for figuring out if /etc/machine-id is writable in %post (bsc#1117063) - - "test -w" always returns true for root user even if the writable - mode bits are not set. Fix this by testing the file mode bit value - instead. - -------------------------------------------------------------------- -Fri Nov 23 11:50:19 UTC 2018 - Franck Bui - -- Move systemd-sysv-convert from /usr/sbin to /usr/lib/systemd - - This tool is not supposed to be run by users. - -------------------------------------------------------------------- -Fri Nov 16 10:31:42 UTC 2018 - Franck Bui - -- Import commit 69f9f79e1b03e3d23df25b61cbcc9304af3e358f (bsc#1080919 CVE-2018-6954) - - f3615ce49 tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) - 7165e92f4 tmpfiles: use fd_get_path() even less excessively - c2c531c1d test: make TEST-22 easier to debug, by outputting to /dev/console - 621b78317 test: don't use "nobody:nogroup" for tests - 1f9c7acad tmpfiles: return correct error variable after fd_reopen() - 2236280c1 tmpfiles: reindent one comment less weirdly - f6bdfb889 tmpfiles: use correct error variable - bc75127cd tmpfiles: clarify that we ignore file attribute setting errors - 621c8b1fe tmpfiles: add log message where we previously failed silently - bc9229630 tmpfiles: use fd_get_path() less excessively - 5a1106039 tmpfiles: add more tests - c974086cc tmpfiles: don't follow unsafe transitions in path_set_*() - e64a510eb fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks() - 7480154d0 tmpfiles: make create_fifo() safe - eb890962c fs-util: introduce mkfifoat_atomic() helper - 653bb81af fileio: make tempfn_random_child() accept empty string as path - 2b1e12bfe tmpfiles: introduce create_fifo() - 6dd80f289 tmpfiles: introduce empty_directory() - f2c137edf tmpfiles: introduce create_directory() and create_subvolume() and make them safe - 6a76f6dfb basic/stat-util: introduce is_dir_fd() - 38a7f2e81 btrfs-util: unfuck tmpfiles' subvol creation - 26e19b6fe btrfs-util: introduce btrfs_subvol_make_fd() - 5fb5bdf5d basic/label: introduce mkdirat_label()/mkdirat_errno_wrapper() helpers - 390b767da selinux: introduce mac_selinux_create_file_prepare_at() - 0f72fadba smack: introduce mac_smack_fix_at() - f2838154b tmpfiles: introduce create_directory_or_subvolume() - 2de697fb8 tmpfiles: make create_device() safe - 558c5fec7 tmpfiles: introduce create_device() - dee986b1d tmpfiles: make copy_files() safe - cacb14d3f tmpfiles: introduce copy_files() routine - 81c85ce17 tmpfiles: make write_one_file() safe - 9ec6b92ab tmpfiles: make truncate_file() safe - 8dde36e03 tmpfiles: introduce truncate_file() which deals with 'F' exclusively - 481134a93 tmpfiles: introduce create_file() which deals with 'f'/'F' exclusively - 057861560 tmpfiles: make the stat struct parameter in fd_set_*() optional - f37caffda tmpfiles: stat file in item_do() rather than in its callers - 86f1362d4 tmpfiles: set only default acls to folders #9545 (#9599) - -------------------------------------------------------------------- -Fri Nov 9 10:37:21 UTC 2018 - Franck Bui - -- Make systemd-mini-sysvinit provides systemd-sysvinit - - Some packages (such as shepherd-bins) want to conflicts with - systemd-sysvinit: they should also conflict with - systemd-mini-sysvinit. - -------------------------------------------------------------------- -Wed Nov 7 08:45:08 UTC 2018 - Franck Bui - -- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch - - We have to keep support for UserTasksMax= for a while before - dropping it. This patch is supposed to do that and also to make - users aware of this change. It also hints how to configure that - differently. - -------------------------------------------------------------------- -Wed Nov 7 07:05:31 UTC 2018 - Franck Bui - -- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 - - 7d1e04e85 units: use =yes rather than =true everywhere - 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice - a051f5e41 units: make sure user-runtime-dir@.service is Type=oneshot - 30c6842c3 units: set StopWhenUnneeded= for the user slice units too - e74de046e login: fix typo in log message - -------------------------------------------------------------------- -Mon Nov 5 13:10:54 UTC 2018 - Franck Bui - -- Own %{_libexecdir}/modules-load.d (again) - - This was incorrectly dropped during the split of the SUSE specific - configurations. - -------------------------------------------------------------------- -Fri Nov 2 14:17:34 UTC 2018 - Franck Bui - -- Drop a Conflicts: in systemd-coredump - - It not needed anymore since the mini variant of systemd-coredump is - not built anymore. - -------------------------------------------------------------------- -Fri Nov 2 13:54:36 UTC 2018 - Franck Bui - -- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d - - 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true - 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) - ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit - 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) - e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails - 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) - 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) - -------------------------------------------------------------------- -Fri Nov 2 13:51:46 UTC 2018 - Franck Bui - -- Make systemd-coredump sub-package optional - - and don't build the mini variant. - -------------------------------------------------------------------- -Fri Nov 2 12:02:18 UTC 2018 - Franck Bui - -- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages - - "-mini" is already part of the name of the main package so there's - no need to append it again for those sub packages. It's only needed - when the name of a subpackage is completely redefined, IOW when '-n' - option is used with the %package directive. - -------------------------------------------------------------------- -Fri Nov 2 11:08:27 UTC 2018 - Franck Bui - -- Dont ship /usr/sbin/resolvconf symlink for now - - It conflicts with the bin shipped by openresolv and provides - limited compat only. - -------------------------------------------------------------------- -Wed Oct 24 10:07:36 UTC 2018 - Franck Bui - -- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) - - This includes the following bug fixes: - - - upstream commit 0722b359342d2a9f9e0d453875624387a0ba1be2 (bsc#1045723) - - upstream commit 2f2e14b251b9929e84e8b690d0187b766dfbae20 (bsc#1124122) - - upstream commit c839b729c5f7b08f6d91bf9567d0b1f91d17e0f7 (bsc#1155207) - - upstream commit 8eebb6a9e5e74ec0ef40902e2da53d24559b94a4 (bsc#1168076) - - This also includes the following bug fixes released in v238: - - - upstream commit e8a3144ec4ff332bd63644e468a98e1a7e06e7e4 (bsc#1112024) - - upstream commit 4d219f5343b1924e7c519c2c178aeb5d1a5ab924 (bsc#1123727) - - upstream commit 43b7f24b5e0dd048452112bfb344739764c58694 (bsc#1146991) - - upstream commit bf443be99565e4327f1c8c12b79d98b4c1529cf1 (bsc#1156213) - -------------------------------------------------------------------- -Mon Oct 15 16:23:05 UTC 2018 - Franck Bui - -- Ship systemd-sysv-install helper via the main package - - This script was part of systemd-sysvinit sub-package but it was - wrong since systemd-sysv-install is a script used to redirect - enable/disable operations to chkconfig when the unit targets are - sysv init scripts. Therefore it's never been a SySV init tool. - - While at it, don't ship this script (as well as - systemd-sysv-convert) when sysvcompat is not defined. - -------------------------------------------------------------------- -Mon Oct 15 15:01:48 UTC 2018 - Franck Bui - -- Import commit 19b3868d32af20f1ecc86fe3c997144ff456fd65 - - 06c2284d64 core: introduce systemd.early_core_pattern= kernel cmdline option - 479b002083 core: add missing 'continue' statement - c7fbccc62e journald: don't ship systemd-journald-audit.socket (bsc#1109252) - f17a6c790c detect-virt: do not try to read all of /proc/cpuinfo (bsc#1109197) - 5a1aa84544 compat-rules: generate more compat by-id symlinks for NVMe devices (bsc#1095096) - -------------------------------------------------------------------- -Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com - -- Import commit a67b516d49115a5be0f2ac27a2874cee6c59a7ae - - f8457adf9d emergency: make sure console password agents don't interfere with the emergency shell - b8bbb50634 man: document that 'nofail' also has an effect on ordering - a5410b2229 journald: take leading spaces into account in syslog_parse_identifier - b793c312c7 journal: do not remove multiple spaces after identifier in syslog message - f9595f0481 syslog: fix segfault in syslog_parse_priority() - d464f06934 journal: fix syslog_parse_identifier() - e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) - -------------------------------------------------------------------- -Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com - -- split off SUSE specific udev rules from systemd package (fate#325478) - * remove 60-io-scheduler.rules - * remove 80-hotplug-cpu-mem.rules - * remove 99-wakeup-from-idle.rules - * remove /usr/lib/modules-load.d/sg.conf (see bsc#1036463 for details) - - these are now maintained in the new package system-tuning-common-SUSE - -------------------------------------------------------------------- -Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com - -- Enable or disable machines.target according to the presets (bsc#1107941) - -------------------------------------------------------------------- -Fri Sep 14 07:11:17 UTC 2018 - fbui@suse.com - -- Import commit cc55f1ea9e1c1ccab5b9fb97e10e08830d02b282 - - 962b38aaf user@.service: don't kill user manager at runlevel switch (bsc#1091677) - 3986c4d82 units: make sure user@.service runs with dbus still up - 5e68aa0f2 Revert "udevd: increase maximum number of children" (bsc#1107617) - 099138fd9 fix race between daemon-reload and other commands (v237) (bsc#1105031) - -------------------------------------------------------------------- -Tue Sep 11 07:30:24 UTC 2018 - fbui@suse.com - -- Import commit 6ac2232d88f4b64428511a4692a51bd00d610b32 - - 6247696db nspawn: always use mode 555 for /sys (bsc#1107640) - 72f558b57 cryptsetup: do not define arg_sector_size if libgcrypt is v1.x (#9990) - cfcd97cf2 cryptsetup: add support for sector-size= option (#9936) (fate#325634) - -------------------------------------------------------------------- -Wed Aug 8 13:26:03 UTC 2018 - fbui@suse.com - -- Import commit bb5a925bcefd4743873cae3f748ae1a426e92d44 - - 8983bd246 core: don't include libmount.h in a header file (#8580) - 3e4156a8f tmpfiles: don't adjust qgroups on existing subvolumes (bsc#1093753) - 42edc93ac core/service: rework the hold-off time over message - -------------------------------------------------------------------- -Wed Aug 1 12:19:40 UTC 2018 - fbui@suse.com - -- Enable regexp matching support - - Currently only used by "journalctl --grep=xxx". - -------------------------------------------------------------------- -Fri Jul 27 10:23:29 UTC 2018 - fbui@suse.com - -- Import commit 0350f62a8cf7f151951b6b78337fe3c198b8bf6a - - fbf43a697 core: don't freeze OnCalendar= timer units when the clock goes back a lot (bsc#1090944) - 4134ba8b6 man: SystemMaxUse= clarification in journald.conf(5) (bnc#1101040) - 78bb2a0c4 socket-util: fix getpeergroups() assert(fd) (#8080) (bsc#1096516) - 1753d0420 systemctl: mask always reports the same unit names when different unknown units are passed (bsc#1095973) - 50ebf79d7 scsi_id: Fixup prefix for pre-SPC inquiry reply (bsc#1039099) - 570f7655b locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files - -------------------------------------------------------------------- -Mon Jun 25 09:16:19 UTC 2018 - fbui@suse.com - -- Drop runtime dependency on dracut (bsc#1098569) - - Otherwise systemd pulls in tools to generate the initrd even in - container/chroot installations that don't have a kernel anyways. - - For environments where initrd matters, dracut should be pulled via a - pattern. - -------------------------------------------------------------------- -Wed Jun 13 13:29:59 UTC 2018 - fbui@suse.com - -- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356 - - 6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052) - e4402648c Fix pattern to detect distribution - ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851) - b1876c81a rpm: remove confusing --user before --global - 00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265) - a9b587e2f fileio.c: fix incorrect mtime - -------------------------------------------------------------------- -Tue Jun 12 13:38:23 UTC 2018 - fbui@suse.com - -- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897) -- Ship systemd-resolved (but disabled by default) (bsc#1018387) - -------------------------------------------------------------------- -Fri May 18 08:39:41 UTC 2018 - fbui@suse.com - -- Disable user units by default (bsc#1090785) - -------------------------------------------------------------------- -Mon May 14 08:57:44 UTC 2018 - fbui@suse.com - -- Slight rewrite of the previous fix - -------------------------------------------------------------------- -Tue May 8 10:33:10 UTC 2018 - Thomas.Blume@suse.com - -- align permissions of /etc/machine-id to upstream code (bsc#1092269) - world writeable machine-id is a security issue - -------------------------------------------------------------------- -Mon Apr 23 14:05:37 UTC 2018 - fbui@suse.com - -- Move 80-container-v[ez].network in systemd-container sub-package - -- Move 80-container-host0.network from udev to systemd - -------------------------------------------------------------------- -Mon Apr 23 07:45:32 UTC 2018 - fbui@suse.com - -- Import commit d8196805089566ecd846b7c627ff2f3c42588c50 - - 621b247f3 device: skip deserialization of device units when udevd is not running - a7da5bdbc device: make sure to always retroactively start device dependencies (bsc#1088052) - 303624f6f systemd-udevd: limit children-max by available memory (#8668) (bsc#1086785 bsc#1066422) - 76acf3ae9 tmpfiles: fix directory removal with force symlink (#8619) - -------------------------------------------------------------------- -Fri Apr 20 08:27:41 UTC 2018 - fbui@suse.com - -- Ship 99-sysctl.conf instead of creating it during package installation/update (bsc#1088769) - - Previously this symlink was created in /etc/sysctl.d during %post - which made the symlink not owned and more importantly it was created - only if /etc/sysctl.conf is already installed which is not always - the case during the installation process it seems. - - So ship the symlink unconditionally and put it in /usr/lib/sysctl.d - instead since it's a distro default behavior that might be overriden - by sysadmin later. - -------------------------------------------------------------------- -Mon Apr 9 09:42:16 UTC 2018 - fbui@suse.com - -- Be consistent in 60-io-scheduler.rules - - And use "?*" when checking for the non empty string (instead of "*?"). - -------------------------------------------------------------------- -Wed Apr 4 11:49:18 UTC 2018 - fbui@suse.com - -- /usr/lib/systemd/systemd-coredump was missing from systemd-coredump sub-package (boo#1088057) - -------------------------------------------------------------------- -Wed Mar 28 15:19:45 UTC 2018 - fbui@suse.com - -- Drop systemd-bash-completion sub-package - - Now we directly ship the completion scripts from the main package as - we already do for zsh. I couldn't see any advantages in this split. - -------------------------------------------------------------------- -Wed Mar 28 15:12:26 UTC 2018 - fbui@suse.com - -- Be more accurate when specifiying the tools version we provide - -------------------------------------------------------------------- -Wed Mar 28 15:00:24 UTC 2018 - fbui@suse.com - -- Make sure rpm won't expand %autopatch even if it's commented - -------------------------------------------------------------------- -Wed Mar 28 14:55:36 UTC 2018 - fbui@suse.com - -- stat(1) as well as systemctl are not use in %post section of udev - - So remove stat(1) from the list of dep and move systemctl to the - requirements of %postun since it's called from there. - -------------------------------------------------------------------- -Wed Mar 28 12:30:31 UTC 2018 - fbui@suse.com - -- Import commit 14b3e00c3ccb8c1c82c8a2e99a9534750880a09e - - e0a8285e2 pid1: when creating service directories, don't chown existing files (#8181) (boo#1085971) - fb25886b1 Fix format-truncation compile failure by typecasting USB IDs (#8250) (bsc#1084638) - 5a6e9c92e sysusers: make sure to reset errno before calling fget*ent() - c2e1ee488 sysusers: also add support for NIS entries in /etc/shadow - 51cb94fa1 sysusers: do not append entries after the NIS ones (bsc#1085062 bsc#1045092) - 783f3d368 basic/macros: rename noreturn into _noreturn_ (#8456) - -- Drop 0001-basic-macros-rename-noreturn-into-_noreturn_.patch - - It's been merged in the git repo. - -------------------------------------------------------------------- -Wed Mar 28 12:13:03 UTC 2018 - fbui@suse.com - -- Rename the tarball (bsc#1087323) - - So it's clear that it contains some additional patches on top of the - upstream version. Use the commit hash in the name so the exact - version can easily be identified. - - Provide _service file which can be used to retrieve the tarball from - the git repo (with "osc service disabledrun"). - -------------------------------------------------------------------- -Wed Mar 28 11:58:10 UTC 2018 - fbui@suse.com - -- Split systemd-coredump sub-package off (bsc#1083849) - -------------------------------------------------------------------- -Tue Mar 27 20:14:41 UTC 2018 - develop7@develop7.info - -- Enhance IO scheduler tweaking rules to support blk-mq as well - - * Set optimal blk-mq schedulers (bfq and mq-deadline for HDD and - SSD respectively) - * Explicitly set CFQ for rotational disks when no `elevator` - is specified - * Verbose comments explaining what is going on - * Rename the rules file since it is not ssd-only anymore - -------------------------------------------------------------------- -Tue Mar 27 15:58:34 UTC 2018 - fbui@suse.com - -- Don't ship machines.target in systemd-container but in systemd main package - - machines.target is supposed to be a standard target for - starting/stopping all containers. systemd-nspawn is the main user of - it but other container managers could also make use of it. - -------------------------------------------------------------------- -Sun Mar 25 11:04:04 UTC 2018 - fbui@suse.com - -- Build a mini variant of systemd-container - - So we don't have to manually track and remove all files that should - be shipped by systemd-container in the case of a bootstrap build. - -------------------------------------------------------------------- -Thu Mar 22 17:09:36 UTC 2018 - fbui@suse.com - -- Run migrate-sysconfig-i18n.sh also during package installation (bsc#1086164) - - This is needed when we upgrade from SLE11. - -------------------------------------------------------------------- -Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com - -- Add 0001-basic-macros-rename-noreturn-into-_noreturn_.patch - - This fix a build error triggered by the introduction of the new - version of libgpg-error package. Patch submitted to upsream: - https://github.com/systemd/systemd/pull/8456 - -------------------------------------------------------------------- -Wed Mar 14 08:05:07 UTC 2018 - fbui@suse.com - -- Turn off the IP sandboxing for systemd-logind - - Since v235 logind run inside an IPv4/IPv6 sandbox by default. This - creates incompatibilites for systems using NIS. - -------------------------------------------------------------------- -Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com - -- Restore (maybe temporarly) "pam_config --add systemd" - - During its installation pam-config seems to overwrite the defaults - shipped by "pam" for "some" reasons (see bsc#1084924) - - No idea why but since pam_systemd is not part of the "pam-config" - defaults, we need to restore pam_systemd in common-session - manually... - -------------------------------------------------------------------- -Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com - -- Remove dropin that was used to turn delegation off for user instances - - Upstream now enables "memory" and "pids" controllers only which - should have a very limited impact on performance compare to the - "cpu" controller. - -------------------------------------------------------------------- -Fri Mar 9 09:30:14 UTC 2018 - fbui@suse.com - -- Import commit 46d6bc9c4f1c05f3b4fcfca754cc59963bd86ce3 - - 2a79f4e78 units: delegate "memory" instead of "cpu" by default for user instances (#8320) (bsc#954765 bnc#953241 fate#320421) - 88174ae85 compat-rules: fix syntax errors spotted by test/rule-syntax-check.py - -------------------------------------------------------------------- -Thu Mar 8 15:22:10 UTC 2018 - fbui@suse.com - -- Remove udev-remount-tmpfs script - - Complete the previous commit. - -------------------------------------------------------------------- -Thu Mar 8 14:31:16 UTC 2018 - fbui@suse.com - -- Fix hotplug memory in 80-hotplug-cpu-mem.rules - - When new memory was hotplugged, the rule was supposed to call an - external script (udev-remount-tmpfs) to remount all tmpfs. However - the script was broken since its introduction (commit rev=715, - 14/07/2014) and had no effects... this makes me wonder if we - shouldn't get rid of this... - -------------------------------------------------------------------- -Wed Mar 7 14:34:22 UTC 2018 - fbui@suse.com - -- Make sure /var/lib/machines is created when systemd-container is installed - -------------------------------------------------------------------- -Thu Mar 1 10:43:09 UTC 2018 - fbui@suse.com - -- BS forces us to own %{_prefix}/lib/modprobe.d - - This seems wrong but that's how the SUSE BS works. - -------------------------------------------------------------------- -Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com - -- Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c) - - Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have - been removed from the git repo and are now maintained at the package - level. Those rules have been rejected by upstream as they seem to be - written to workaround some kernel shortcomings... - - This includes the following bug fix: - - - upstream commit 3d083b2245b0b8e52f2d8ccc3e55246f41f1f544 (bsc#1102908) - - This also includes the following bug fixes released in v235: - - - upstream commit 2e64e8f46d726689a44d4084226fe3e0ea255c29 (bsc#1069239) - - upstream commit 79873bc850177050baa0c5165b119adafeebb891 (bsc#1069239) - - upstream commit 4bc5d27b942afa83cc3d95debd2ad48d42ac07a8 (bsc#1089376) - - upstream commit e9ea4526a3a3b41eced29b8d742498cc36750424 (bsc#1089693) - - upstream commit d75b31837c93dbb9b20067719026ad0fb7cdfadd (bsc#1117025) - - upstream commit 0e8856d25ab71764a279c2377ae593c0f2460d8f (bsc#1117025) - - upstream commit 048dd629c4590eefb2ebd6a316c7350ed3a6ff19 (bsc#1119971) - - upstream commit 9b32afa9f241fe8febc0a754850f1e7331caf6e3 (bsc#1126056) - - upstream commit e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af (bsc#1137053) - - upstream commit 0864d311766498563331f486909a0d950ba7de87 (bsc#1158336) - - upstream commit d60cb656fc63c24b430421764b7d0322857d34fd (bsc#1161262) - - upstream commit e2be442e791fa1150aa835c684acc6d7189de3e1 (bsc#1165011) - - upstream commit 64a36ae4b1dd23474dd7ea261381ac437b24fac2 (bsc#1172072) - - upstream commit b001ad61e91b6499897f0c977045c7608c233bfa (jsc#SLE-7687) - - - includes IP filtering feature (jsc#SLE-7743) - - This also includes the following bug fixes released in v236: - - - upstream commit b3b4ebab02395933cde554b5a5d5c363dae3920d (bsc#1083571) - - upstream commit 3e3852b3c6c61506963112fd218a86b673fc61e6 (bsc#1110445) - - upstream commit 4050e4797603d3644707d58edfd9742b5311c7cf (bsc#1124153) - - upstream commit 8cb83266062b383cdd4a57301ef559d64b491c51 (bsc#1125604) - - upstream commit 19a44dfe4525ab01caf593a9c2beada4b412910d (bsc#1156482) - -------------------------------------------------------------------- -Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com - -- add basic user space support for suspend to idle (fate#323814) - add 99-wakeup-from-idle.rules - Currently this only covers the power button and usb/AT keyboards - as wakeup devices. It is planned to make that configurable in - the future. - -------------------------------------------------------------------- -Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com - -- Don't call "pam-config --systemd" - - pam_systemd.so has been integrated directly in the PAM stack since - bsc#812462. So there's no need to call pam-config. - -------------------------------------------------------------------- -Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com - -- Fix build errors due to the split-off of systemd-containe: - - found conflict of systemd-234-33.1.x86_64 with systemd-container-234-33.1.x86_64: - - /usr/share/man/man5/systemd.nspawn.5.gz - - /usr/share/man/man1/systemd-nspawn.1.gz - found conflict of systemd-container-234-33.1.x86_64 with systemd-mini-container-234-33.1.x86_64: - - /usr/bin/systemd-nspawn - - /usr/lib/systemd/system/systemd-nspawn@.service - - /usr/lib/tmpfiles.d/systemd-nspawn.conf - -------------------------------------------------------------------- -Thu Feb 22 15:11:13 UTC 2018 - fvogt@suse.com - -- Use %license (boo#1082318) - -------------------------------------------------------------------- -Thu Feb 22 14:57:19 UTC 2018 - fbui@suse.com - -- Split systemd-container sub-package off (fate#325469) - - Other distros already do it and it seems a good idea to not install - this stuff on new installations by default. At least - /var/lib/machines subvol is not created anymore at boot even if it - wasn't used at all. - -------------------------------------------------------------------- -Mon Feb 19 14:26:51 UTC 2018 - fbui@suse.com - -- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 - - f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules - 2901aa9b9 meson: install rules/60-ssd-scheduler.rules - 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) - 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" - 0b595da04 Revert "locale-setup: handle locale at boot time well" - -------------------------------------------------------------------- -Mon Feb 19 14:24:52 UTC 2018 - fbui@suse.com - -- Re-enable systemd-firstboot - - It's used by the installer and also by JeOS. - -------------------------------------------------------------------- -Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com - -- Use %systemd_post in %post - -------------------------------------------------------------------- -Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com - -- Own /usr/lib/systemd/system-environment-generators directory - -------------------------------------------------------------------- -Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com - -- More systemd rpm macro usages - -------------------------------------------------------------------- -Tue Feb 13 17:11:44 UTC 2018 - fbui@suse.com - -- Disable systemd-firstboot - - I don't think there's any use case for it currently. - -------------------------------------------------------------------- -Mon Feb 12 16:40:28 UTC 2018 - fbui@suse.com - -- Use systemd rpm macros in paths defined in the specfile - -------------------------------------------------------------------- -Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com - -- Stop importing i18n settings from /etc/sysconfig (fate#319454) - - Bits taken from SLE15. - -------------------------------------------------------------------- -Mon Feb 12 12:59:53 UTC 2018 - fbui@suse.com - -- Make systemd-timesyncd use the openSUSE NTP servers by default - - Previously systemd-timesyncd used the Google Public NTP servers - time{1..4}.google.com - -------------------------------------------------------------------- -Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com - -- Import commit 4a6a1e4f0b02e6cedf7eba93b85a6dd968f875c7 - - db1d8eacd compat-rules: make path_id_compat build with meson - -- Drop 0001-compat-rules-make-path_id_compat-build-with-meson.patch - which is now part of the git repo (see above). - -------------------------------------------------------------------- -Fri Feb 9 07:59:56 UTC 2018 - fbui@suse.com - -- Don't ship /usr/lib/systemd/system/tmp.mnt at all (bsc#1071224) - - The previous fix couldn't work on platforms using a RO - rootfs. Therefore we don't ship /usr/lib/systemd/system/tmp.mnt but - we still ship a copy in /usr/share/systemd. - - Users who want to use tmpfs on /tmp are supposed to add a symlink in - /etc/ pointing to the copy shipped in /usr/share/systemd. - - To support the update path we automatically create the symlink if - tmp.mount in use is located in /usr/lib/systemd. - -------------------------------------------------------------------- -Tue Feb 6 16:11:40 UTC 2018 - fbui@suse.com - -- Don't build seccomp support in the mini package - -------------------------------------------------------------------- -Tue Feb 6 15:12:42 UTC 2018 - fbui@suse.com - -- Switch to Meson build system - - Some rearrangement in the file list was also needed. That was - probably due to the upgrade of rpm. - -------------------------------------------------------------------- -Tue Feb 6 14:54:57 UTC 2018 - fbui@suse.com - -- Import commit 0a5600eb7f8263c7c79fec0d85cc159d54aba636 - - 2a181fc6f insserv-generator: make it build with meson - 7b0401da4 build-sys: don't build networkctl if networkd is disabled - -------------------------------------------------------------------- -Tue Feb 6 09:27:59 UTC 2018 - fbui@suse.com - -- Don't build-require selinux for the mini package - -------------------------------------------------------------------- -Tue Feb 6 08:56:33 UTC 2018 - fbui@suse.com - -- Drop libgcrypt.m4 - - The mini package builds fine without it so it doesn't seem necessary - anymore. - -------------------------------------------------------------------- -Mon Feb 5 20:25:31 UTC 2018 - fbui@suse.com - -- Import commit 846d838c37865da60eba48090e570e959291399f - - b1e0a348d fileio: include sys/mman.h - f1fa784cb meson: update header file to detect memfd_create() - 8838ba7ec meson: define _GNU_SOURCE to detect copy_file_range() (#7734) - 531a00c84 Restore "restore /var/run and /var/lock bind mount if they aren't symlink"" - - (the 3 first commits make systemd build against glibc 2.27) - -------------------------------------------------------------------- -Mon Feb 5 10:01:37 UTC 2018 - fbui@suse.com - -- Import commit 3f421e4fbf6fcb31d74caf729435868ba8824483 - - 7fb9ea39a Revert "restore /var/run and /var/lock bind mount if they aren't symlink" - 23ce1207a meson.build: make docdir configurable (#8068) - -------------------------------------------------------------------- -Fri Feb 2 08:56:04 UTC 2018 - fbui@suse.com - -- Import commit 8ec9f58d334c76e736957812d9e57151502a6f63 - - 07c6ee3eb compat-rules: get rid of scsi_id when generating compat symlinks for NVMe devices (bsc#1051465) - 261a4ef38 compat-rules: generate compat by-id symlinks with 'nvme' prefix missing (bsc#1063249) - -------------------------------------------------------------------- -Fri Feb 2 08:44:57 UTC 2018 - fbui@suse.com - -- Drop 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch - - It's been imported in branch "compats/udev-compat-symlinks" which - has been merged in branch "openSUSE-Factory" in its turn. - -------------------------------------------------------------------- -Fri Feb 2 08:17:41 UTC 2018 - fbui@suse.com - -- Import commit c516268845b0fd0683cef2e491b84077371e8f01 - - 37da1facb core: disable session keyring per system sevice entirely for now (bnc#1045886) - 8a1ae0449 strv: fix buffer size calculation in strv_join_quoted() - -------------------------------------------------------------------- -Fri Feb 2 08:14:03 UTC 2018 - fbui@suse.com - -- Drop 0001-core-disable-session-keyring-per-system-sevice-entir.patch - - It's been merged in branch "SUSE/v234". - -------------------------------------------------------------------- -Wed Jan 31 15:14:55 UTC 2018 - fbui@suse.com - -- Import commit 2087a80d56bb6f8c7fb74a19172259bc9d9af866 - - 2b8971b8a tmpfiles: refuse to chown()/chmod() files which are hardlinked, unless protected_hardlinks sysctl is on (bsc#1077925 CVE-2017-18078) - 8c2bcac25 tmpfiles: change ownership of symlinks too - -------------------------------------------------------------------- -Mon Jan 29 09:52:50 UTC 2018 - fbui@suse.com - -- Do not optionally remove /usr/lib/systemd/system/tmp.mnt anymore (bsc#1071224) - - This was done to make sure that tmpfs wouldn't be used for /tmp by - defaut in case the dir layout created by the installer did not - create a customized tmp.mount. - - But it had the bad side effect to break "rpm -V systemd" and updates - of systemd via delta-RPMs. - - Now instead of removing tmp.mount unit file, we mask it (still only - if no other tmp.mount would override the default one). It's the - official way to disable tmpfs on /tmp after all. - - Since we cannot rely on the presence of fstab during package - installations, we introduced a service which is run once on the - first boot and which figures out if tmpfs would be used. If so it - masks the unit. - - We also handle the upgrade path and make sure to preserve admin's - settings (if any). - - Another advantage of this is that we will only need to remove the - introduced service the day when tmpfs will be the default for SUSE - distros. - -------------------------------------------------------------------- -Fri Jan 26 14:40:38 UTC 2018 - fbui@suse.com - -- Import commit 83067827cc891ddc90def200fdbe725917ec9fa3 - - 3d60486f7 core/timer: Prevent timer looping when unit cannot start (bsc#1068588) - 460bd0cd6 Revert "handle SYSTEMCTL_OPTIONS environment variable" (fate#323393) - -------------------------------------------------------------------- -Tue Jan 16 10:23:22 UTC 2018 - fbui@suse.com - -- Import commit cc94ce8513221061898c83f57862544b16021f0e - - aa3eba828 delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX - b1ea0173a delta: extend skip logic to work on full directory paths (prefix+suffix) (bsc#1070428) - 77c5065f9 delta: check if a prefix needs to be skipped only once - db32866d1 Fix parsing of features in detect_vm_xen_dom0 (#7890) (bsc#1048510) - 11d40461a sd-bus: use -- when passing arguments to ssh (#6706) - 1148d99f6 tmpfiles: consider /etc uninitialized also when /etc/machine-id is present but empty (#7849) (bsc#1075179) - 3a95f69bf tmpfiles: downgrade warning about duplicate line - -------------------------------------------------------------------- -Fri Jan 12 12:27:52 UTC 2018 - rbrown@suse.com - -- Edit scripts-systemd-fix-machines-btrfs-subvol.sh - - We shouldn't be creating a /var/lib/machines subvolume if /var is - already a seperate partition or subvolume. /var/lib/machines will - already be excluded from snapper & similar tooling in this case. - -------------------------------------------------------------------- -Wed Jan 10 11:04:21 UTC 2018 - fbui@suse.com - -- Import commit 82dbe8a2ae56649231111eaadd4c302a2d2175ee - - 8c7f0c449 service: Don't stop unneeded units needed by restarted service (bsc#1066156) - 869be64ce sysctl: use raw file descriptor in sysctl_write (#7753) - 0c2400810 sysctl: disable buffer while writing to /proc (bsc#1071558) - 9eb1f30b8 Use read_line() and LONG_LINE_MAX to read values configuration files. (bsc#1071558) - 4dbea654f def: add new constant LONG_LINE_MAX - 48f14cd71 fileio: add new helper call read_line() as bounded getline() replacement - 861e1a222 build-sys: udevadm should have LOG_REALM=LOG_REALM_UDEV - 8ed5cf3fb meson: libudev_core and udevadm should have LOG_REALM=LOG_REALM_UDEV (#7666) - a9f93f1d0 virt: use XENFEAT_dom0 to detect the hardware domain (#6442, #6662) (#7581) (bsc#1048510) - fe56abdf9 seccomp: arm64/x32 do not have _sysctl - c9194fe37 seccomp: arm64 does not have mmap2 - 31d9b3c32 fs-util: small tweak in chase_symlinks() - 9dd0bc7a3 meson: do not include man/meson.build if xsltproc not found - 7e29e2b07 analyze: replace --no-man with --man=no in the man page (bsc#1068251) - -------------------------------------------------------------------- -Mon Dec 4 07:53:34 UTC 2017 - pavlix@pavlix.net - -- Add missing /etc/systemd/network directory - -------------------------------------------------------------------- -Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com - -- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 - - 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) - -------------------------------------------------------------------- -Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com - -- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) - - This patch is not yet merged in the 'compats/udev-compat-symlinks' - branch: we asked to upstream if it would be possible to introduce a - new specifier that wouldn't strip trailing whitespaces , see - https://github.com/systemd/systemd/issues/7462 - - Also this allows to give the patch more testing before merging it in - the git repo. - -------------------------------------------------------------------- -Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com - -- Drop a useless rm(1) from the specfile - -------------------------------------------------------------------- -Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de - -- Remove requires for pwdutils, we don't need the shadow tools - anymore [bsc#1069150] - -------------------------------------------------------------------- -Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com - -- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b - - 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) - 216beb768 tmpfiles: Allow create symlink on directories (#6039) - baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) - -- Remove stderr redirection to /dev/null when calling %tmpfiles_create - since it's not needed anymore due to commit 22dcb1d04. Indeed the - messages are no more emitted at LOG_WARN but LOG_NOTICE. - -------------------------------------------------------------------- -Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com - -- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c - - 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) - 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) - -- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since - it's been merged upstream and backported to SUSE/v234 (see above). - -------------------------------------------------------------------- -Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com - -- Import commit e44237e76f6e133e62ff6c681d3fd06ebf12f66d - - a4e02c099 udev-rules: all values can contain escaped double quotes now (#6890) - d2b767a76 tmpfiles: remove old ICE and X11 sockets at boot (#6979) - -------------------------------------------------------------------- -Thu Oct 19 07:47:16 UTC 2017 - fbui@suse.com - -- Add 0001-systemd-firstboot-add-vconsole-keymap-support.patch (bsc#1046436) - - Temporary patch until it's been merged by upstream, see - https://github.com/systemd/systemd/pull/7035 - -------------------------------------------------------------------- -Fri Oct 6 07:44:38 UTC 2017 - fbui@suse.com - -- Damn forgot to drop 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch in - the spec file - -------------------------------------------------------------------- -Fri Oct 6 07:30:01 UTC 2017 - fbui@suse.com - -- Import commit 6dea894131d78b20b9e0482f75afa6ee4dec8627 - - 1cdd944b0 unit: when JobTimeoutSec= is turned off, implicitly turn off JobRunningTimeoutSec= too (bsc#1004995) - - This make 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch - not needed anymore. - -------------------------------------------------------------------- -Thu Oct 5 12:24:35 UTC 2017 - fbui@suse.com - -- Import commit 93688f8e53b4e482a55a7d4aba2d927ddedebdde - - c53522be3 compat-rules: allow to specify the generation number through the kernel cmdline - -------------------------------------------------------------------- -Wed Oct 4 15:44:14 UTC 2017 - fbui@suse.com - -- Import commit c1e8af7d1e8b09c2878a5b17f513bfc41ae46dc6 - - 982754275 build-sys: make sure 61-persitent-storage-compat.rules is installed with meson - 9ac2e8b9b udev: proc_cmdline_get_key() FTW! (#6925) - -------------------------------------------------------------------- -Tue Sep 26 10:14:22 UTC 2017 - fbui@suse.com - -- Import commit 9e0985dc330b1cf04bc44049962343bdf4ba851a - - 4fd7cd041 pam_logind: skip leading /dev/ from PAM_TTY field before passing it on - dd6312828 logind: make sure we don't process the same method call twice (#6583) - -------------------------------------------------------------------- -Tue Sep 26 09:27:12 UTC 2017 - fbui@suse.com - -- Update scripts-systemd-upgrade-from-pre-210.sh script - - - drop dependency on awk - - fallback to runlevel #3 if something goes wrong - - Note: I'm not sure how this is supposed to work as /etc/inittab is - likely to be missing in my understanding. Indeed this file is part - of the aaa_base package which might be upgraded before systemd is - installed... - -------------------------------------------------------------------- -Tue Sep 26 08:08:22 UTC 2017 - fbui@suse.com - -- Drop macros.systemd.upstream as it's not used - -------------------------------------------------------------------- -Thu Sep 14 16:34:16 UTC 2017 - fbui@suse.com - -- Import commit 58ea3c819cca1639ef8c922505c573ba5e262b3d - - 334945091 shutdown: fix incorrect fscanf() result check (#6806) - 027202892 shutdown: don't remount,ro network filesystems. (#6588) (bsc#1035386) - bc77b53a5 shutdown: don't be fooled when detaching DM devices with BTRFS (boo#1055641) - d9d293847 util: make get_block_device() available - 421ce7382 tmpfiles: silently ignore any path that passes through autofs (#6506) (bsc#1045472) - ca8f90e62 device: make sure to remove all device units sharing the same sysfs path (#6679) - -------------------------------------------------------------------- -Thu Sep 14 16:12:30 UTC 2017 - fbui@suse.com - -- Make use of "%tmpfiles_create" in %post of the logger subpackage - -------------------------------------------------------------------- -Thu Sep 14 15:51:54 UTC 2017 - fbui@suse.com - -- Add scripts-udev-convert-lib-udev-path.sh (bsc#1050152) - - This script takes care of converting /lib/udev into a symlink - pointing to /usr/lib/udev when upgrading a distro using an old - version of udev. - -------------------------------------------------------------------- -Thu Sep 14 12:23:26 UTC 2017 - fbui@suse.com - -- Make use of "%make_build" rpm macro - -------------------------------------------------------------------- -Thu Sep 14 12:18:21 UTC 2017 - fbui@suse.com - -- Renumber scripts to start at index 100 - -------------------------------------------------------------------- -Thu Sep 14 11:32:28 UTC 2017 - fbui@suse.com - -- Introduce scripts-systemd-upgrade-from-pre-210.sh - - It collects all existing hacks done in %post to fix old/deprecated - settings in systemd older than 210. This includes hacks needed to - fix system that are migrating from SysV. - - There shouldn't be any functional changes. - -------------------------------------------------------------------- -Thu Sep 14 11:06:35 UTC 2017 - fbui@suse.com - -- Move scripts for packaging workaround/fixes in /usr/lib/systemd/scripts - - It also renames fix-machines-subvol-for-rollbacks.sh into - scripts-systemd-fix-machines-btrfs-subvol.sh - - Note that the "scripts-systemd-" prefix is used for those scripts so - we can gather them. Why not using a directory instead ? because osc - doesn't allow that. - -------------------------------------------------------------------- -Wed Aug 30 15:17:24 UTC 2017 - fbui@suse.com - -- Add 0001-Revert-core-device-Use-JobRunningTimeoutSec-for-devi.patch (bsc#1048605) - - It's a temporary but urgent fix for a regression discovered in bug - 1048605. The fix is still under discussion with upstream but we need - to make progress here and limit the number of affected users. - - Consequently this fix reintroduces bsc#1004995 (the bug report has - been re-opened) but this one is far less critical and a workaround - was provided. - - The final solution will fix both bugs. - -------------------------------------------------------------------- -Tue Aug 29 10:30:00 UTC 2017 - fbui@suse.com - -- Import commit 2bed4bf99cf7f24eafda490f778ed5e109f8d7f1 - - 7a4935268 compat-rules: drop the boggus 'import everything' rule (bsc#1046268) - -------------------------------------------------------------------- -Tue Aug 1 13:39:41 UTC 2017 - fbui@suse.com - -- %regenerate_initrd_post is suppsed to be used in %post (not %pre) section - -------------------------------------------------------------------- -Fri Jul 28 14:22:38 UTC 2017 - fbui@suse.com - -- Import commit 6887cc21f23e33ac37801a01d76176e5c16fd8ea - - 9dcc6c04e pid1: forward port console specificities handling for s390 arch to v234 - -------------------------------------------------------------------- -Fri Jul 28 13:06:27 UTC 2017 - fbui@suse.com - -- Import commit 986e98fd5a75470ba17e21fea12d7d4e966c1ecc - - 4706ebc62 call chase_symlinks without the /sysroot prefix (#6411) (boo#1051172) - -------------------------------------------------------------------- -Thu Jul 27 16:55:33 UTC 2017 - fbui@suse.com - -- Remove the unneeded hack forcing systemd-crypsetup binary to be linked against the just built libudev - - I don't remember why it was added but it looks unnecessary: most of - all systemd components are linked againt libsystemd-shared.so which - includes all the just built symbols. - - Also I don't see why it was done only for systemd-cryptsetup since - all other binaries should have had suffered from the same issue. - -------------------------------------------------------------------- -Wed Jul 26 14:23:36 UTC 2017 - fbui@suse.com - -- Import commit c5705e01800bdadd6a4fa7dc50d47b13eb697211 - - 8ea065d44 compat-rules: don't rely on ID_SERIAL when generating 'by-id' symlinks for NVMe devices (bsc#1048679) - -------------------------------------------------------------------- -Wed Jul 26 11:03:38 UTC 2017 - fbui@suse.com - -- Import commit 06bed720274d9436405a7c27c8238d7d1aefca2b - - 66fffdf12 build-sys: don't hook var-lib-machined.mount to remote-fs.target when machined is disabled - 96c232066 Revert "core: don't load dropin data multiple times for the same unit (#5139)" - -------------------------------------------------------------------- -Wed Jul 26 10:41:32 UTC 2017 - fbui@suse.com - -- Drop support of compression from the mini package - - Hence remove the relevant build-requires from the mini package. - -------------------------------------------------------------------- -Fri Jul 21 09:54:12 UTC 2017 - fbui@suse.com - -- Upgrade to v234 (commit 78af11131da1b2760778206806c0ebe8616a5284) - - - package /etc/systemd/system/dbus-org.freedesktop.network1.service - - /usr/lib/systemd/resolv.conf is not installed if resolved is disabled - -------------------------------------------------------------------- -Fri Jul 7 08:19:41 UTC 2017 - jengelh@inai.de - -- Edit pkgconfig(liblz4) dependency: liblz4 now uses 1.x *again* - -------------------------------------------------------------------- -Thu Jul 6 14:12:34 UTC 2017 - fbui@suse.com - -- Added 0001-core-disable-session-keyring-per-system-sevice-entir.patch (bnc#1045886) - - Temporary patch to disable the session keyring stuff as it's - currently broken and may introduce some security holes. - -------------------------------------------------------------------- -Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com - -- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad - - 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) - d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly - f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) - e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) - c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) - 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab - f07d2022f fstab-util: introduce fstab_has_fstype() helper - bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() - a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) - 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) - 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) - 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case - 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) - a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) - -------------------------------------------------------------------- -Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com - -- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) - - While at it, the handling of the symlink priorities is also removed - since it doesn't appear to be used at all. - -------------------------------------------------------------------- -Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com - -- Don't try to restart networkd/resolved if they're disabled (boo#1045521) - - "systemctl try-restart/preset" wants the unit files exist. - -------------------------------------------------------------------- -Thu Jun 22 13:50:46 UTC 2017 - fbui@suse.com - -- Stop shipping /usr/lib/sysusers.d/basic.conf (bsc#1006978) - - Ok looks like the previous change was the right thing to do and we - continue to follow this path by relying on the new user/group scheme - - Therefore the basic system user/group are now managed and created by - system-sysusers and udev also relies on this for the groups it uses - in its rule files. - - Ideally we should have listed all of the groups in the deps (with - "Requires: group(disk)" but the list of the groups is rather long - and the risk for those groups to be re-organized is probably low, so - currently we simply use "Requires: system-group-hardware" as a - shortcut. - -------------------------------------------------------------------- -Fri Jun 16 09:14:43 UTC 2017 - fbui@suse.com - -- Make sure "lock" group is created - - On SUSE distros, /run/lock must be owned by "lock" group (see - boo#733523). - - This group was previously created by another package but since a - recent changes it doesn't seem to be true anymore or at least this - package isn't pulled in anymore when building the rescue system. - - For now make systemd creates the group by adding - "Requires: group(lock)". - - I'm currently not sure why we don't use sysusers.d stuff for that - purpose and if the "lock" group on /run/lock is still - mandatory. This should be revisited later. - -------------------------------------------------------------------- -Wed Jun 7 08:17:54 UTC 2017 - fbui@suse.com - -- Make sure dracut (if installed) will embed the new compat rule - - The new compat rule must be embedded in the initramfs so make sure - that the installed dracut supports it. - -------------------------------------------------------------------- -Wed May 24 11:23:10 UTC 2017 - fbui@suse.com - -- Upgrade to v233 (commit 330b55d5e28d17f361062dba66426e46fb7d7857) - - - package new systemd-umount binary - - package new environment generator stuff - - drop /dev/root symlink support - - /etc/pam.d/systemd-user is not patched anymore but we ship a - dedicated file for SUSE now. - - manage compat symlink generation in a dedicated branch (bsc#1040153) - -------------------------------------------------------------------- -Wed May 17 15:57:19 UTC 2017 - fbui@suse.com - -- Fix systemd-sysv-convert when a package starts shipping service units (bsc#982303) - - The database might be missing when upgrading a package which was - shipping no sysv init scripts nor unit files (at the time --save was - called) but the new version start shipping unit files. - -------------------------------------------------------------------- -Wed May 17 13:14:40 UTC 2017 - fbui@suse.com - -- Fix indentation in systemd-sysv-convert - - While at it, strip trailing whitespaces. - - No functional changes. - -------------------------------------------------------------------- -Thu May 11 08:47:48 UTC 2017 - fbui@suse.com - -- Disable group shadow support (bsc#1029516) - - The new configure option will be imported during the next tarball - update. - -------------------------------------------------------------------- -Tue May 2 16:17:08 UTC 2017 - fbui@suse.com - -- Ship /var/log/README - - Unfortunately it's not possible to also ship /etc/init.d/README - because of rpm "sanity" checks that prevent executable in - /etc/init.d - -------------------------------------------------------------------- -Tue May 2 14:33:58 UTC 2017 - fbui@suse.com - -- Drop systemd-{journalctl,loginctl} legacy symlinks. - -------------------------------------------------------------------- -Tue May 2 13:55:31 UTC 2017 - fbui@suse.com - -- Drop %preun section - - Currently the only use of this section is to remove the symlinks - enabling systemd services on package removal. Those symlinks were - initially installed by the systemd package installation but could - have been overriden by the sysadmin later. If so the symlinks - shouldn't be uninstalled. - - Also in a near futur disabling services will install a symlink to - /dev/null. - -------------------------------------------------------------------- -Tue May 2 13:40:12 UTC 2017 - fbui@suse.com - -- Import commit 9e33c2ae69fbb705e8ad143536e419a231e93020 - - 04ef0eab8 importd: support SUSE style checksums supplementary (#5800) - fb601ad9a importd: support SUSE style checksums (#5206) (fate#322054) - b76b27c76 hwdb: fix warning "atkbd serio0: Unknown key pressed" (#5772) (boo#1010220) - cb0d991f6 loginctl: fix typo causing ignoring multiple session IDs (#5732) - -------------------------------------------------------------------- -Tue May 2 13:37:44 UTC 2017 - fbui@suse.com - -- Make use of %systemd_postun() - -------------------------------------------------------------------- -Tue May 2 13:28:17 UTC 2017 - fbui@suse.com - -- Restart a couple of systemd services on package update - - Those services (most notably journald) should support restarting - these days. However logind still doesn't but that should be fixed - pretty soon, well I hope :) - -------------------------------------------------------------------- -Tue May 2 13:13:25 UTC 2017 - fbui@suse.com - -- Don't buildrequire pam-config, it's not used at this step. - - Also drop the use of it in %postun as it can't realistically - happen... - -------------------------------------------------------------------- -Thu Apr 20 09:26:21 UTC 2017 - fbui@suse.com - -- Don't call /sbin/ldconfig in %post of the main package - - systemd main package doesn't ship any shared libs so there's no - point in calling ldconfig in %post/%postun - -------------------------------------------------------------------- -Thu Apr 20 09:20:03 UTC 2017 - fbui@suse.com - -- Silent %tmpfiles_create in %post (bsc#1034938) - - Due to bsc#1024740, we stopped generating /etc/machine-id during - systemd package installation making the specifier '%m' unavailable - in the tmpfiles.d configuration files at this time. - - Make it simple for now and silent %tmpfiles_create, after all that's - how the macro was implemented originally. - -------------------------------------------------------------------- -Mon Apr 10 09:38:45 UTC 2017 - fbui@suse.com - -- Import commit f0325620d23a247682c629d28883a364e4a7a8c4 - - 327814841 core: when a unit's SourcePath points to API VFS pretend we are never out-of-date (#5487) - f4b9fb58e units: move Before deps for quota services to remote-fs.target (#5627) (bsc#1028263) - 44b9d27f8 udev: net_id - support predictable ifnames on vio buses (#5675) (bnc#1029183) - 64f4761c9 units: apply plymouth warning fix to in rescue mode as well (#5615) - 77607b887 units: do not throw a warning in emergency mode if plymouth is not installed (#5528) (bsc#1025398) - 336d6016c core: downgrade "Time has been changed" to debug (#4906) (bsc#1028610) - -------------------------------------------------------------------- -Wed Mar 22 13:24:57 UTC 2017 - fbui@suse.com - -- Consider chroot updates in fix-machines-subvol-for-rollbacks.sh (bsc#1030290) - -------------------------------------------------------------------- -Tue Mar 14 14:13:56 UTC 2017 - fbui@suse.com - -- Initialize /etc/machine-id during the first boot (bsc#1024740) - - Previously that was done at package installation but it didn't fit - well for appliance builds. - -------------------------------------------------------------------- -Tue Mar 7 09:22:30 UTC 2017 - fbui@suse.com - -- Import commit 68fc0a749a83d16d4cde8471d5030bc6254ffd96 - - 76d4d05fb udev: fix variable assignment - 473df8cc4 udev-rules: perform whitespace replacement for symlink subst values (bsc#1025886) - d6c3ff647 udev-event: add replace_whitespace param to udev_event_apply_format - 30ad15f7c libudev-util: change util_replace_whitespace to return number of chars in dest - -------------------------------------------------------------------- -Fri Mar 3 16:20:34 UTC 2017 - fbui@suse.com - -- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc - - 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) - 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) - f34234c54 build-sys: add check for gperf lookup function signature (#5055) - 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) - 471b26807 sd-event: when an event source fails, don't assume the type of it is still set - -------------------------------------------------------------------- -Mon Feb 20 10:53:11 UTC 2017 - fbui@suse.com - -- Don't ship systemd-resolved for now (bsc#1024897) - - If resolved is enabled , systemd-tmpfiles creates a wrong symlink in - /etc/resolv.conf which confuses the network manager actually used. - -------------------------------------------------------------------- -Thu Feb 9 14:06:46 UTC 2017 - fbui@suse.com - -- More indentation cleanup (no functional changes) - -------------------------------------------------------------------- -Wed Feb 8 08:45:09 CET 2017 - kukuk@suse.de - -- Remove obsolete insserv requirements for udev again [bsc#999841] - -------------------------------------------------------------------- -Mon Feb 6 14:13:00 UTC 2017 - fbui@suse.com - -- Import commit cd97d5d5fef79ab9d957bf6504d085c0faca6bfc - - e587b6ce0 disable RestrictAddressFamilies on all architectures but x86_64 one (bsc#1023460) - c8ae05632 journald: don't flush to /var/log/journal before we get asked to (bsc#1004094) - 7261eaf3e sd-event: fix sd_event_source_get_priority() (#4712) - -------------------------------------------------------------------- -Fri Feb 3 08:37:22 UTC 2017 - fbui@suse.com - -- Move fix for permission set on /var/lib/systemd/linger/* (no functional changes) - - Move that part after the fix on timer timestamp files otherwise the - comment doesn't make sense. - -------------------------------------------------------------------- -Wed Feb 1 15:06:06 UTC 2017 - fbui@suse.com - -- Import commit 028fd9b60580976dffb09b3576a2b652ee35137c - - cc2ca55ff build-sys: do not install ctrl-alt-del.target symlink twice - ececae77a device: Avoid calling unit_free(NULL) in device setup logic (#4748) - -------------------------------------------------------------------- -Wed Feb 1 14:32:28 UTC 2017 - fbui@suse.com - -- Ship systemd-resolved but it's disabled by default (bsc#1018387) - - The NSS plugin will also be disabled, users need to enable it - manually. - -------------------------------------------------------------------- -Wed Jan 25 15:37:23 UTC 2017 - fbui@suse.com - -- Don't ship ldconfig.service anymore - - This service was introduced to support stateless systems that - support offline /usr updates properly. - - AFAIK we don't support any such system for now, so disable it. If - it's wrong it's easy enough to restore it back. - - Related to bsc#1019470. - -------------------------------------------------------------------- -Wed Jan 25 15:17:06 UTC 2017 - fbui@suse.com - -- Be more consistent with indentation (*no* functional changes) - - Indentation should use 8 spaces now (no tabs). - -------------------------------------------------------------------- -Wed Jan 25 14:38:59 UTC 2017 - fbui@suse.com - -- Import commit 2559bc0c076b58f0a649056e79ca90fe5f1d556c - - 9c4a759ab systemctl: 'show' don't exit with a failure status if the requested property does not exist [SUSE] (bsc#1021062) - f9194193b systemctl: remove duplicate entries showed by list-dependencies (#5049) (bsc#1012266) - 2a6653335 rule: don't automatically online standby memory on s390x (bsc#997682) - -------------------------------------------------------------------- -Wed Jan 25 14:36:34 UTC 2017 - fbui@suse.com - -- Fix permission set on /var/lib/systemd/linger/* - - Those files are created by logind which run with umask(0022), so - they are not world writable and shouldn't be affected by - bsc#1020601. But it's cleaner to not let files forever with their - setuid bit set for no good reason. - -------------------------------------------------------------------- -Wed Jan 25 14:33:04 UTC 2017 - fbui@suse.com - -- Fix permissions set on permanent timer timestamp files (bsc#1020601) (CVE-2016-10156) - - This change makes sure to fix the permissions of the timestamp files - which could have been created by an affected version of systemd. - - Local unprivileged users could have run arbitrary code as root if - systemd previously created world writable suid root files such as - permanent timer stamp files. - -------------------------------------------------------------------- -Tue Jan 10 10:54:20 UTC 2017 - fbui@suse.com - -- Import commit 3edb876e3b80437a95502aa5d31d454606ea94bd - - 27b544224 core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) (bsc#1018399) - -------------------------------------------------------------------- -Fri Jan 6 08:27:03 UTC 2017 - fbui@suse.com - -- Use the %{resolved} build conditional for the nss-resolve subpackage - -------------------------------------------------------------------- -Thu Jan 5 17:46:44 UTC 2017 - fbui@suse.com - -- /usr/bin/systemd-resolve was missing from the filelist - -------------------------------------------------------------------- -Thu Jan 5 17:09:01 UTC 2017 - fbui@suse.com - -- Silent warnings emitted when udev socket units are restarted during package upgrade (bsc#1018214) - -------------------------------------------------------------------- -Mon Dec 19 13:49:48 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit de62e96da6a62ac61a7dea45cc558f5fa4342032 - - - a4dff165d nspawn: resolv.conf might not be created initially (#4799) - - b543fe907 nspawn: fix condition for mounting resolv.conf (#4622) - - 1aed89e55 core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) (boo#909418 bsc#912715 bsc#945340) - - bfb54ecdc coredumpctl: let gdb handle the SIGINT signal (#4901) (bsc#1012591) - -------------------------------------------------------------------- -Wed Dec 14 14:51:41 UTC 2016 - fbui@suse.com - -- Really include legacy kbd maps in kbd-model-map (bsc#1015515) - - Instead of fix-machines-subvol-for-rollbacks.sh... - -------------------------------------------------------------------- -Thu Dec 8 12:55:51 UTC 2016 - fbui@suse.com - -- Enable lz4 (which becomes the default) - - It's much faster than xz and thus should be more appropriate to - compress journals and coredumps. - - The LZ4 logic is now officially supported and no longer considered - experimental. - - The new frame api was released in v125. - -------------------------------------------------------------------- -Tue Dec 6 16:46:52 UTC 2016 - fbui@suse.com - -- Good by compatlibs support - - There's no longer need for enabling/disabling the support for the - compatlibs as it's been dropped from the source code. - -------------------------------------------------------------------- -Tue Nov 29 16:38:41 UTC 2016 - fbui@suse.com - -- Drop /usr/lib/systemd/libsystemd-shared-%{version}.so from the 32bit package - - This shared library is not for public use, and is neither API nor - ABI stable, but is likely to change with every new released - update. Only systemd binaries are supposed to link against it. - - This also prevents from the 32bit package to conflit with the 64bit - one if this lib was installed by both packages. - -------------------------------------------------------------------- -Tue Nov 22 15:02:08 UTC 2016 - fbui@suse.com - -- Upgrade to v232, commit c5c3445825981e2a5c3ed71214127d5b1b9de802: - - - Dropped backported commits which has been merged - - Forward-port Suse specific patches - - Added --disable-lto option to ./configure - - Added systemd-mount - - Removed in %file /usr/lib/systemd/user/*.socket: since - 798c486fbcdce3346cd86 units/systemd-bus-proxyd.socket has been - removed. - - Removed in %file %{_sysconfdir}/systemd/bootchart.conf - since commit 232c84b2d22f2d96982b3c bootchart is not part of systemd - anymore. - - Backward compat libs have been disabled since it's been dropped from - the source code. - - Added /usr/bin/systemd-socket-activate in %file - - Added --without-kill-user-processes ./configure option - - Bump libseccomp build require (>= 2.3.1) as described in README - - Specifiy version of libmount as required in the README - -------------------------------------------------------------------- -Fri Nov 18 21:07:11 UTC 2016 - meissner@suse.com - -- libudev-devel 32bit is needed for building 32bit wine now. - -------------------------------------------------------------------- -Mon Nov 14 12:27:56 UTC 2016 - fbui@suse.com - -- specfile: conflict systemd-bash-completion and systemd-mini-bash-completion - - Otherwise the build system detects that systemd-bash-completion and - its mini variant are conflicting at files level even though those - packages can't be installed on the same system. - -------------------------------------------------------------------- -Thu Nov 10 19:11:57 UTC 2016 - fbui@suse.com - -- specfile: clean up nss-* plugins descriptions and drop - nss-myhostname-config script for now. - - Currently /etc/nsswitch.conf is supposed to be edited by the - sysadmin to enable the modules. However for some reasons only - nss-myhostname is removed from the conf file when the corresponding - package is uninstalled. This is inconsistent so let's remove it. - - Actually I'm wondering if we shouldn't make those NSS plugins part - of the main package and get rid of all those sub-packages... - -------------------------------------------------------------------- -Thu Nov 10 18:22:04 UTC 2016 - fbui@suse.com - -- specfile: remove old comments and unneeded sed command - -------------------------------------------------------------------- -Thu Nov 10 14:54:22 UTC 2016 - fbui@suse.com - -- specfile: no need to create systemd-update-utmp-runlevel.service symlinks anymore - - The symlinks in /usr/lib/systemd/system/.target.wants/systemd-update-utmp-runlevel.service - are created in Makefile.am since commit d5d8429a12c4b1. - - 'reboot' and 'poweroff' targets initially had the symlinks but - there's not point since the latter conflicts shutdown.target whereas - the 2 targets pull it in. - - See: https://github.com/systemd/systemd/pull/4429 - -------------------------------------------------------------------- -Thu Nov 10 13:44:13 UTC 2016 - fbui@suse.com - -- specfile: remove the following warnings: - - [ 256s] warning: File listed twice: /usr/lib/systemd/system/dbus.target.wants - [ 256s] warning: File listed twice: /usr/lib/systemd/system/default.target.wants - -------------------------------------------------------------------- -Wed Oct 26 09:41:01 UTC 2016 - fbui@suse.com - -- Own a couple of directories even if they don't belong to systemd - otherwise the build system will complain. - - Some directories (owned by others packages) are simply used by - systemd to ship some scripts or config files to customize others - *optional* components. Since thos components are not build required - by systemd those directories are not owned by any packages and the - BS complains... - -------------------------------------------------------------------- -Wed Oct 26 07:45:08 UTC 2016 - fbui@suse.com - -- Import commit - - 15ea716 journal-remote: change owner of /var/log/journal/remote and create /var/lib/systemd/journal-upload (bsc#1006372) - -------------------------------------------------------------------- -Mon Oct 24 14:26:40 UTC 2016 - fbui@suse.com - -- %sysusers_create and %tmpfiles_create must be called in %post - - Calling %pre is broken since the respective conf files are not yet - installed. - -------------------------------------------------------------------- -Mon Oct 24 13:53:04 UTC 2016 - fbui@suse.com - -- %{_libexecdir}/{tmpfiles.d,sysusers.d}/systemd-remote.conf are - part of systemd-journal-remote package (only). - -------------------------------------------------------------------- -Mon Oct 24 13:21:22 UTC 2016 - fbui@suse.com - -- systemd-journal-{gatewayd,remote,upload} units are only part of - "systemd-journal-remote" package. - - So exclude them from the main package. - -------------------------------------------------------------------- -Mon Oct 24 08:56:59 UTC 2016 - fbui@suse.com - -- Import commit a1c145e6ad6588555dca64402f9103fb1e02b1a0 - - 7f34037 man: explain that *KeyIgnoreInhibited only apply to a subset of locks - df5798b Revert "logind: really handle *KeyIgnoreInhibited options in logind.conf" (bsc#1001790 bsc#1005404) - f79fee7 Revert "kbd-model-map: add more mappings offered by Yast" - 3760c10 manager: tighten incoming notification message checks - d6efd71 core: only warn on short reads on signal fd - 6eebd91 manager: be stricter with incomining notifications, warn properly about too large ones - fdf2dc3 manager: don't ever busy loop when we get a notification message we can't process - -------------------------------------------------------------------- -Thu Oct 20 06:57:57 UTC 2016 - fbui@suse.com - -- Rename kbd-model-map-extra into kbd-model-map.legacy - -------------------------------------------------------------------- -Wed Oct 19 07:24:46 UTC 2016 - fbui@suse.com - -- Remove tcpd-devel build requirement. - - tcpwrap support has been removed since v212, see commit - 7f8aa67131cfc03ddcbd31c0420754864fc122f0 - -------------------------------------------------------------------- -Tue Oct 18 14:52:00 UTC 2016 - fbui@suse.com - -- remove all dummy "aliases" to /etc/init.d (as it was already done by - factory more than 1 year ago). - - Even if a sysvinit script is still requiring one of those dummy - symlinks this should not be an issue since this is requirement is - translated into a weak dependency. - -------------------------------------------------------------------- -Tue Oct 18 13:20:58 UTC 2016 - fbui@suse.com - -- specfile: - - - do not own /usr/share/zsh directory - - do not own /etc/dbus-1 and /etc/dbus-1/system.d dirs - - do not own /usr/share/dbus-1 dir - -------------------------------------------------------------------- -Tue Oct 18 13:06:27 UTC 2016 - fbui@suse.com - -- specfile: %{_prefix}/lib/systemd/system-preset was mentioned twice - in %files section. - -------------------------------------------------------------------- -Tue Oct 18 09:30:37 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - use curly braces with rpm macros - -------------------------------------------------------------------- -Tue Oct 18 09:15:17 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - %ghost files doesn't need (anymore) to be created in %builroot - - do not own /etc/X11/xorg.conf.d and /etc/X11/xinit - -------------------------------------------------------------------- -Tue Oct 18 07:58:38 UTC 2016 - fbui@suse.com - -- Specfile cleanup: no need to protect the manpages with %bootstrap - condition in nss-myhostname package since the package itself is - already protected. - -------------------------------------------------------------------- -Tue Oct 18 07:51:30 UTC 2016 - fbui@suse.com - -- fix nss-resolve sub package: - - - add a %files section - - add a package description - - libnss_resolve.so.2 is now part of this subpackage - - add %post and %postun sections - -------------------------------------------------------------------- -Tue Oct 18 07:16:17 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - reorganize some files in %files by types - - some config files were missing the "noreplace" attribute - -------------------------------------------------------------------- -Tue Oct 18 06:19:34 UTC 2016 - fbui@suse.com - -- Use %config(noreplace) for %{_sysconfdir}/pam.d/systemd-user - -------------------------------------------------------------------- -Tue Oct 18 05:57:28 UTC 2016 - fbui@suse.com - -- Rework systemd-gatewayd package: - - - some gateway's files were still in the main package - - it now includes all progs dealing with remote journals - - it can be turned off (SP2 does that currently) - - it's been renamed systemd-journal-remote to reflect that - -------------------------------------------------------------------- -Mon Oct 17 12:19:34 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - only specify once %{_prefix}/lib/systemd/system-shutdown in %file - - no need to list the content of %{_prefix}/lib/systemd/user-generators in %file - - machined is not built when %bootstrap = 1 - -------------------------------------------------------------------- -Mon Oct 17 12:11:43 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - There's no point in listing all generators in %file - explicitly. The default is to include all of them and if for some - reason one must be excluded then it should be done explicitly. - -------------------------------------------------------------------- -Mon Oct 17 11:44:57 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - remove explicit call to make for building man pages. This is not - needed and was maybe useful when generated doc was pre-built and - shipped in the tarball. - -------------------------------------------------------------------- -Mon Oct 17 09:59:13 UTC 2016 - fbui@suse.com - -- Specfile cleanup: - - - break overly long and unreadable line using mkdir - - gather directory creations - -------------------------------------------------------------------- -Mon Oct 17 08:38:27 UTC 2016 - fbui@suse.com - -- Stop providing udevd.8 - - systemd-udevd has replaced udevd for some time already and usage of - udevd should be avoided. Therefore don't encourage this and stop - documenting it. - -------------------------------------------------------------------- -Mon Oct 17 07:36:10 UTC 2016 - fbui@suse.com - -- Import from factory: - - - Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de - - - curl also causes building of journal-upload. That one has rather - unusal certificate usage, set it's ca root to /etc/pki/systemd - instead of the built-in default /etc/ssl as journal-remote and - journal-upload think they can put stuff in /etc/ssl/certs then - but that directory is managed by p11-kit and doesn't serve the - purpose those programs think. - -------------------------------------------------------------------- -Thu Oct 13 19:33:17 UTC 2016 - fbui@suse.com - -- Package rootsymlink-generator helper. It was forgotten when - switching to the git repo but re-added back. - - That said this thing should be removed as it's broken as soon as - there's no direct link between the root fs and its backend device - node (i.e. BTRFS). - -------------------------------------------------------------------- -Thu Oct 13 19:09:25 UTC 2016 - fbui@suse.com - -- Add kbd-model-map-extra file which contains the additional legacy - keymaps needed by yast. - - This was previously directly patched in the systemd source code. - -------------------------------------------------------------------- -Mon Oct 10 13:33:40 UTC 2016 - fbui@suse.com - -- Imported e251b8d7fb5c801fdfa3a023257ba0e4d514f3b0 - - - Re-add back /dev/root symlink generation (although this must be - deprecated and finally removed). - -------------------------------------------------------------------- -Fri Oct 7 14:18:10 UTC 2016 - fbui@suse.com - -- Migrating to the Suse Systemd git repo: - - Third step: - - - Re-enable networkd (disabled by default in SLE12) - -------------------------------------------------------------------- -Fri Oct 7 13:33:51 UTC 2016 - fbui@suse.com - -- Migrating to the Suse Systemd git repo: - - Second step: - - - Import the specfile - - Import the tarball generated from the git repo - - Import lastest changes for the different scripts - -------------------------------------------------------------------- -Fri Oct 7 08:58:38 UTC 2016 - fbui@suse.com - -- Migrating to the Suse Systemd git repo: - - First step: drop all patches and drop the tar ball. - - The dropped patches are: - - fix-support-for-boot-prefixed-initscript-bnc-746506.patch - set-and-use-default-logconsole.patch - ensure-ask-password-wall-starts-after-getty-tty1.patch - 0001-rules-block-add-support-for-pmem-devices-3683.patch - Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch - 1007-physical-hotplug-cpu-and-memory.patch - 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch - watch_resolv.conf_for_become_changed.patch - 0019-make-completion-smart-to-be-able-to-redirect.patch - systemd-add-user-keep.patch - 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - avoid-random-hangs-on-timeouts-due-lost-cwd.patch - 1037-udev-exclude-cd-dvd-from-block-device.patch - 0001-add-network-device-after-NFS-mount-units.patch - journald-advice-about-use-of-memory.patch - 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch - 1006-udev-always-rename-network.patch - handle-numlock-value-in-etc-sysconfig-keyboard.patch - use-rndaddentropy-ioctl-to-load-random-seed.patch - 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - 0001-bnc888612-logind-polkit-acpi.patch - avoid-divide-by-zero-sigtrap.patch - 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch - suse-sysv-bootd-support.diff - ensure-shortname-is-set-as-hostname-bnc-820213.patch - parse-crypttab-for-noauto-option.patch - tty-ask-password-agent-on-console.patch - 0001-pid1-process-zero-length-notification-messages-again.patch - handle-root_uses_lang-value-in-etc-sysconfig-language.patch - 0001-core-exclude-.slice-units-from-systemctl-isolate.patch - vhangup-on-all-consoles.patch - 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch - apply-ACL-for-nvidia-device-nodes.patch - make-emergency.service-conflict-with-syslog.socket.patch - 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch - 1096-new-udev-root-symlink-generator.patch - 1099-Add-default-rules-for-valve-steam-controller-to-work.patch - 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch - systemd-install-compat_pkgconfig-always.patch - 1012-Skip-persistent-device-link-creation-on-multipath-de.patch - 0001-avoid-abort-due-timeout-at-user-service.patch - insserv-generator.patch - apply-ACL-for-nvidia-uvm-device-node.patch - restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch - systemd-pam_config.patch - systemd-dbus-system-bus-address.patch - let-linker-find-libudev-for-libdevmapper.patch - 1098-systemd-networkd-alias-network-service.patch - 0001-let-systemctl-completion-ignore-at-names.patch - boot-local-start.patch - 1095-set-ssd-disk-to-use-deadline-scheduler.patch - tomcat6-var-lock-subsys-legacy.patch - let-vconsole-setup-get-properties-only-once-to-copy-them.patch - plymouth-quit-and-wait-for-emergency-service.patch - respect-nfs-bg-option.patch - 0001-If-the-notification-message-length-is-0-ignore-the-m.patch - 1062-rules-set-default-permissions-for-GenWQE-devices.patch - rescue-emergency-target-conflicts.patch - Correct_assert_on_unexpected_error_code.patch - 1097-udevd-increase-maximum-number-of-children.patch - 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch - 1005-create-default-links-for-primary-cd_dvd-drive.patch - allow-multiple-sulogin-to-be-started.patch - systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch - 0010-do-not-install-sulogin-unit-with-poweroff.patch - 1003-udev-netlink-null-rules.patch - 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch - 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - shut-up-rpmlint-on-var-log-journal.patch - systemd-tmp-safe-defaults.patch - portmap-wants-rpcbind-socket.patch - hostname-NULL.patch - 0001-pid1-more-informative-error-message-for-ignored-noti.patch - 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch - handle-disable_caplock-and-compose_table-and-kbd_rate.patch - kbd-model-map.patch - systemctl-set-default-target.patch - 0014-journald-with-journaling-FS.patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - -------------------------------------------------------------------- -Fri Sep 30 06:07:06 UTC 2016 - fbui@suse.com - -- Import a better fix from upstream for bsc#1001765 - - - Added: - - 0001-pid1-more-informative-error-message-for-ignored-noti.patch - 0001-pid1-process-zero-length-notification-messages-again.patch - - - Updated (no code changes, only patch metadata) - - 0001-If-the-notification-message-length-is-0-ignore-the-m.patch - 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - -------------------------------------------------------------------- -Thu Sep 29 13:05:44 UTC 2016 - fbui@suse.com - -- Re add back "udev: don't require nsserv and fillup" - - Did this in the wrong project... it was a complicated day today ;) - -------------------------------------------------------------------- -Thu Sep 29 12:51:38 UTC 2016 - fbui@suse.com - -- Added 2 patches to fix bsc#1001765 - - 0001-If-the-notification-message-length-is-0-ignore-the-m.patch - 0001-pid1-don-t-return-any-error-in-manager_dispatch_noti.patch - -------------------------------------------------------------------- -Thu Sep 29 06:24:01 UTC 2016 - fbui@suse.com - -- Revert "udev: don't require nsserv and fillup" - - It's been judged too late for being part of SLE12 final release. - Nevertheless it's part of Factory and will be reintroduced after the - final release is out (ie through an update). - -------------------------------------------------------------------- -Mon Sep 26 14:23:14 UTC 2016 - fbui@suse.com - -- systemd-sysv-convert: make sure that - /var/lib/systemd/sysv-convert/database is always initialized (bsc#982211) - - If "--save" command was used and the sysv init script wasn't enabled - at all the database file wasn't created at all. This makes the - subsequent call to "--apply" fail even though this should not - considered as an error. - -------------------------------------------------------------------- -Mon Sep 26 09:09:27 UTC 2016 - fbui@suse.com - -- Added patches to fix journal with FSS protection enabled (bsc#1000435) - - 0001-journal-fix-HMAC-calculation-when-appending-a-data-o.patch - 0001-journal-set-STATE_ARCHIVED-as-part-of-offlining-2740.patch - 0001-journal-warn-when-we-fail-to-append-a-tag-to-a-journ.patch - -------------------------------------------------------------------- -Wed Sep 21 11:54:39 UTC 2016 - fbui@suse.com - -- udev: don't require nsserv and fillup (bsc#999841) - - udev has no LSB init scripts nor fillup templates anymore. - -------------------------------------------------------------------- -Fri Sep 16 12:38:19 UTC 2016 - fbui@suse.com - -- Build require python and python-lxml in order to generate - systemd.directives man page (bsc#986952) - -------------------------------------------------------------------- -Fri Sep 16 12:27:02 UTC 2016 - fbui@suse.com - -- Add rules: block: add support for pmem devices (#3683) (bsc#988119) - - 0001-rules-block-add-support-for-pmem-devices-3683.patch - -------------------------------------------------------------------- -Tue Sep 6 08:14:06 UTC 2016 - tbechtold@suse.com - -- Fix is-enabled check in systemd-sysv-install (bsc#997268) - -------------------------------------------------------------------- -Wed Aug 24 12:44:24 UTC 2016 - dimstar@opensuse.org - -- Only BuildRequire gnu-efi when building the 'real' systemd - package. - -------------------------------------------------------------------- -Tue Aug 23 10:12:13 UTC 2016 - fbui@suse.com - -- Add a script to fix /var/lib/machines to make it suitable for - rollbacks (bsc#992573) - -------------------------------------------------------------------- -Wed Aug 10 11:30:50 UTC 2016 - meissner@suse.com - -- reverted the systemctl split-off on request of Franck Bui. - -------------------------------------------------------------------- -Fri Jul 29 11:49:39 UTC 2016 - jengelh@inai.de - -- Add sysusers to the new split "systemctl" subpackage - -------------------------------------------------------------------- -Tue Jul 26 11:07:25 UTC 2016 - jengelh@inai.de - -- Split systemctl and tmpfiles into a separate package - -------------------------------------------------------------------- -Tue Jul 19 17:42:45 UTC 2016 - develop7@develop7.info - -- Fix 1099-Add-default-rules-for-valve-steam-controller-to-work.patch - to enable missing functionality of Steam Controller - -------------------------------------------------------------------- -Sun Jul 17 03:41:05 UTC 2016 - asarai@suse.com - -- Backport unified_cgroup_hierarchy fix for Linux >= 4.4. boo#989276 - + systemd-230-cgroup2-use-new-fstype-for-unified-hierarchy.patch - -------------------------------------------------------------------- -Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com - -- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - it breaks btrfs on multiple device-mapper devices (boo#984516). The problem - it tried to fix is already fixed in rule shipped with btrfsprogs (see - boo#912170). - -------------------------------------------------------------------- -Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com - -- fix warning about missing install info during preset (boo#970293) - 0001-systemctl-pid1-do-not-warn-about-missing-install-inf.patch - -------------------------------------------------------------------- -Thu Apr 7 12:13:16 UTC 2016 - schwab@suse.de - -- Avoid bootstrap cycle with sg3_utils - -------------------------------------------------------------------- -Tue Apr 5 07:08:39 UTC 2016 - werner@suse.de - -- Fix patch patch handle-numlock-value-in-etc-sysconfig-keyboard.patch - that is do not close a file descriptor twice (boo#973907) - -------------------------------------------------------------------- -Sat Mar 26 15:59:36 UTC 2016 - jengelh@inai.de - -- Add two patches which address logind/networkd disappearing from - dbus (and busctl) even while the units and processes continue - running. - 0001-core-fix-bus-name-synchronization-after-daemon-reloa.patch - 0001-core-re-sync-bus-name-list-after-deserializing-durin.patch - -------------------------------------------------------------------- -Mon Mar 14 18:04:10 UTC 2016 - fbui@suse.com - -- drop all compiler/linker option customizations: - - -pipe option is used by default since day 0 - - get rid of cflags() function which is not needed - - --hash-size has no impact specially in runtime - - IOW, use the default options for the compiler and the linker, - there's no point in making systemd different from other package in - this regards. - -------------------------------------------------------------------- -Mon Mar 14 17:26:00 UTC 2016 - fbui@suse.com - -- use %make_build instead of 'make %{?_smp_mflags}' - -------------------------------------------------------------------- -Mon Mar 14 16:36:32 UTC 2016 - fbui@suse.com - -- be more strict on own lib version requirements - -------------------------------------------------------------------- -Mon Mar 14 16:11:49 UTC 2016 - fbui@suse.com - -- systemd should require udev with the exact same version - -------------------------------------------------------------------- -Thu Mar 10 08:01:57 UTC 2016 - werner@suse.de - -- Modify patch handle-numlock-value-in-etc-sysconfig-keyboard.patch - to allow that open, seek, and read of /dev/mem may fail e.g. - on XEN based virtual guests (bsc#961120) - -------------------------------------------------------------------- -Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de - -- Add upstream patch - 0001-core-exclude-.slice-units-from-systemctl-isolate.patch - this fixes forced logouts on isolate target aka changing runlevel - (boo#966535) - -------------------------------------------------------------------- -Thu Feb 4 11:05:37 UTC 2016 - lnussel@suse.de - -- require curl and bzip2 to build importd -- curl also causes building of journal-upload. That one has rather - unusal certificate usage, set it's ca root to /etc/pki/systemd - instead of the built-in default /etc/ssl as journal-remote and - journal-upload think they kan put stuff in /etc/ssl/certs then but - that directory is managed by p11-kit and doesn't serve the purpose - those programs think. -- /var/lib/systemd/random-seed is a file -- own /var/lib/machines -- add systemd-228-nspawn-make-journal-linking-non-fatal-in-try-and-auto.diff - -------------------------------------------------------------------- -Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de - -- systemd-sysv-install: Fix chkconfig argument for disable op - -------------------------------------------------------------------- -Thu Jan 7 08:01:07 UTC 2016 - olaf@aepfle.de - -- Create groups adm,input,tape in fixed order (boo#944660) - -------------------------------------------------------------------- -Mon Dec 21 16:25:44 UTC 2015 - fbui@suse.com - -- Make sure we don't use tmpfs on /tmp by default (bsc#940522) - -------------------------------------------------------------------- -Mon Dec 21 10:07:38 UTC 2015 - jengelh@inai.de - -- Avoid enabling readahead services; they have been removed. -- In %install, only process kbd-model-map.xkb-generated if it - exists. Resolves a build failure in 13.2/42.1. - -------------------------------------------------------------------- -Wed Dec 9 15:12:30 UTC 2015 - crrodriguez@opensuse.org - -- spec: update minimum kernel version to 3.11 -- Update minimum util-linux version to 2.27.1 - -------------------------------------------------------------------- -Thu Dec 3 15:33:27 UTC 2015 - tchvatal@suse.com - -- Add patch to enable working steam controller: - * 1099-Add-default-rules-for-valve-steam-controller-to-work.patch - -------------------------------------------------------------------- -Mon Nov 30 13:59:52 UTC 2015 - thomas.blume@suse.com - -- fix CVE-2015-7510: Stack overflow in nss-mymachines (boo#956712) - Add 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch - -------------------------------------------------------------------- -Wed Nov 18 14:17:05 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 228 -* The various memory-related resource limit settings (such as - LimitAS=) now understand the usual K, M, G, ... suffixes to - the base of 1024 (IEC). Similar, the time-related settings - understand the usual min, h, day, ... suffixes now. -* CPUAffinity= now takes CPU index ranges in addition to just - individual indexes. -* A number of properties previously only settable in unit - files are now also available as properties to set when - creating transient units programmatically via the bus. -- Remove 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - (merged upstream) - -------------------------------------------------------------------- -Fri Nov 13 00:00:12 UTC 2015 - sor.alexei@meowr.ru - -- Update to 227. -- Rebase systemd-pam_config.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch, - 0014-journald-with-journaling-FS.patch, - 0019-make-completion-smart-to-be-able-to-redirect.patch, - avoid-divide-by-zero-sigtrap.patch, systemd-add-user-keep.patch, - set-and-use-default-logconsole.patch, - tty-ask-password-agent-on-console.patch, - 0001-bnc888612-logind-polkit-acpi.patch, - watch_resolv.conf_for_become_changed.patch, - 1097-udevd-increase-maximum-number-of-children.patch. -- Remove - 0002-units-enable-waiting-for-unit-termination-in-certain.patch, - 1001-re-enable-by_path-links-for-ata-devices.patch, - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch: - fixed upstream. - -------------------------------------------------------------------- -Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de - -- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch - to handle locale at boot time well (boo#927250) -- Be able to use build service environments several times - -------------------------------------------------------------------- -Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de - -- 1096-new-udev-root-symlink-generator.patch: fix substitution in - ExecStart value - -------------------------------------------------------------------- -Wed Oct 21 20:18:58 UTC 2015 - dmueller@suse.com - -- enable seccomp for aarch64 (fate#318444) - -------------------------------------------------------------------- -Thu Oct 15 14:12:44 UTC 2015 - fbui@suse.com - -- Fix again UEFI for mini package - -------------------------------------------------------------------- -Thu Oct 15 09:07:51 UTC 2015 - jengelh@inai.de - -- Drop one more undesirable Obsoletes/Provides. This should have - been a Conflicts. (There was already a Conflicts, and since - Conflicts go both ways, we won't need a second one.) - -------------------------------------------------------------------- -Thu Oct 15 08:19:00 UTC 2015 - werner@suse.de - -- No UEFI for systemd-mini - -------------------------------------------------------------------- -Mon Oct 12 11:34:13 UTC 2015 - fbui@suse.com - -- Add 2 upstream patches to fix boo#949574 and bsc#932284 - 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch - 0002-units-enable-waiting-for-unit-termination-in-certain.patch - -------------------------------------------------------------------- -Fri Oct 9 18:03:02 UTC 2015 - fbui@suse.com - -- Disable systemd-boot on aarch64 since it fails to build. - Error while compiling src/boot/efi/util.o is: - usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory - -------------------------------------------------------------------- -Fri Oct 9 07:16:45 UTC 2015 - fbui@suse.com - -- Fix UEFI detection logic: basically we let configure.ac figure out - if UEFI is supported by the current build environment. No need to - clutter the spec file with a new conditionnal %has_efi. - -- Provide systemd-bootx64.efi (aka gummiboot) - -------------------------------------------------------------------- -Tue Oct 6 15:13:04 UTC 2015 - werner@suse.de - -- Modify patch tty-ask-password-agent-on-console.patch to reflect - the changes done for pull request 1432 - -------------------------------------------------------------------- -Thu Oct 1 15:58:32 UTC 2015 - jengelh@inai.de - -- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle. -- Provide systemd-sysv-install program/link [bnc#948353] - -------------------------------------------------------------------- -Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de - -- Fix patch tty-ask-password-agent-on-console.patch not to crash - away but enable it to ask on all devices of /dev/console - -------------------------------------------------------------------- -Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de - -- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" - waring occurring in %post - -------------------------------------------------------------------- -Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de - -- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch - to avoid broken virtual console mapping due stressed ioctl API - for the virtual consoles (boo#904214) - -------------------------------------------------------------------- -Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de - -- Fix last change that is use the new name for udev packages in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com - -- restore usage of LUA in %pretrans. - -------------------------------------------------------------------- -Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de - -- Try to generate the systemd users and groups always in same order - to avoid republish other packages (boo#944660) - -------------------------------------------------------------------- -Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com - -- cleanup specfile by removing commands that were dealing with systemd - pre-generated files: we're now using systemd tarball generated directly - from the git repo which doesn't contain any of these files. -- there's no point in using LUA in %pretrans - -------------------------------------------------------------------- -Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com - -- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch - -This patch was initialy added to workaround bsc#842844. But it -appears that man(1) was fixed (included since 13.2 at least) to -handle manual pages that consist only of a .so directive such as -'.so '. - -------------------------------------------------------------------- -Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de - -- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to - make it work on big endian - -------------------------------------------------------------------- -Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de - -- Use Obsolete/Provides strategy from - windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap - cycle and kick out -mini afterwards. - -------------------------------------------------------------------- -Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 224 -* systemd-networkd gained a number of new configuration options - for DHCP, tunnels and bridges -* systemd-efi-boot-generator functionality was merged into - systemd-gpt-auto-generator. - -------------------------------------------------------------------- -Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com - -- /usr/share/systemd/kbd-model-map: added entries for - xkeyboard-config converted keymaps; mappings, which already - exist in original systemd mapping table are being ignored - though, i.e. not overwritten; needs kbd in buildrequires - (FATE#318426) - -------------------------------------------------------------------- -Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com - -- hostname-NULL.patch: Work around a crash on XEN hosts - in OBS. /etc/hostname is not present and systemd then does - strchr(hostname,soemthing) with hostname NULL. - -------------------------------------------------------------------- -Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de - -- Add Correct_assert_on_unexpected_error_code.patch to work around - a problem of an assert on ENODEV for closing fd on an input - event device (boo#939571) - -------------------------------------------------------------------- -Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de - -- Remove udev-generate-rules.sh, apparently not used by anything in - the systemd nor udev-persistent-ifnames package. - -------------------------------------------------------------------- -Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org - -- Systemd v222, bugfix release. -- Drop upstream patches -0006-pam_systemd-Properly-check-kdbus-availability.patch -0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch -0031-install-fix-bad-memory-access.patch -1032-ata_id-unbotch-format-specifier.patch -- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch - udev does no longer enable USB HID power management at all. -- The udev accelerometer helper was removed, obsoleted by - iio-sensor-proxy package. -- networkd gained a new configuration option IPv6PrivacyExtensions. -- udev does not longer support the WAIT_FOR_SYSFS= key in udev - rules. There are no known issues with current sysfs, - and udev does not need or should be used to work around such bugs. - -------------------------------------------------------------------- -Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de - -- Avoid restarting logind [bnc#934901] -- Do not suppress errors in any case, even if they are ignored - -------------------------------------------------------------------- -Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix devel package requires (both mini and real required real libsystemd0) - -------------------------------------------------------------------- -Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de - -- Rework patch tty-ask-password-agent-on-console.patch to fit the - requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 - -------------------------------------------------------------------- -Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de - -- Rework "-mini" package logic to not conflict with itself and - then add libsystemd0 to mini. - -------------------------------------------------------------------- -Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org - -- remove SysVStartPriority= from after-local.service, - unsupported since v218. - Note that this option was only parsed and that's it. the logic - to give "start priority" was never implemented. - -------------------------------------------------------------------- -Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org - -- change the default fallback ntp servers to the opensuse - pool.ntp.org vendor zone. -- We still need to run systemd-sysctl.service after local-fs.target - otherwise it works only when /boot is in the root filesystem but - not when it is a separate partition. - -------------------------------------------------------------------- -Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com - -- Obsolete pm-utils and suspend (boo#925873). -- Remove pm-utils support - (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). - -------------------------------------------------------------------- -Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org - -- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch - from the filelist. - -------------------------------------------------------------------- -Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org - -- libpcre, glib2 and libusb are not used by systemd, remove - from buildrequires. - -------------------------------------------------------------------- -Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org - -- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id - output. -- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch - fix StopWhenUnneeded=true in combination with a Requisite= - dependency. -- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access -- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if - kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS - must not be exported. -- spec: add a min_kernel_version macro to ensure the package - conflicts with kernel versions in which systemd cannot run. - -------------------------------------------------------------------- -Wed Jun 24 20:06:27 UTC 2015 - crrodriguez@opensuse.org - -- sysctl-handle-boot-sysctl.conf-kernel_release.patch dropped, - replaced by a tmpfiles.d snippet "current-kernel-sysctl.conf" - (feature implemented in v220 just for our usecase) - -------------------------------------------------------------------- -Wed Jun 24 19:45:17 UTC 2015 - crrodriguez@opensuse.org - -- fix build when resolved is enabled -- remove fsck -l test in spec file, systemd requires util-linux - 2.26 or later where this feature is already available. - -------------------------------------------------------------------- -Wed Jun 24 17:43:22 UTC 2015 - hrvoje.senjan@gmail.com - -- Fix bootstrap build by guarding filelists (man pages don't get - built in bootstrap mode) -- Drop commented sections from baselibs.conf, allows format_spec_file - to have a successful run - -------------------------------------------------------------------- -Wed Jun 24 14:17:04 UTC 2015 - mpluskal@suse.com - -- Install 50-coredump.conf as coredumpctl is now installed by - default and does not use journal anymore as default storage - -------------------------------------------------------------------- -Fri Jun 19 20:51:14 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 221 -* From 220: -* libgudev was moved into a package of its own -* Runlevels 2, 3 and 4 are no longer distinct, they all map to - multi-user.target. -* The EFI System Partition mounted to /boot will be unmounted - 2 minutes after boot. -* systemd does not support direct live-upgrades (via `systemctl - daemon-reexec`) from versions older than v44 anymore. -* systemd-nspawn may now be called as part of a shell pipeline. -* systemd-shutdownd has been removed. This service was - previously responsible for implementing scheduled shutdowns - as exposed in /usr/bin/shutdown's time parameter. This - functionality has now been moved into systemd-logind and is - accessible via a bus interface. -* udev will no longer call blkid and create symlinks for all - block devices, but merely those from a whitelist - (cf. 60-persistent-storage.rules). -* /usr/lib/os-release gained a new optional field VARIANT= -* Details at - http://lists.freedesktop.org/archives/systemd-devel/2015-May/032147.html -* From 221: -* New sd-bus and sd-event APIs in libsystemd -* If there is both a systemd unit and a SysV init script for the - same service name, and `systemctl enable` or other operation is - run, both will now be enabled (or execute the related operation - on both), not just the unit. -- Split libsystemd0 to support systemd-less nspawn containers -- Redo manpage file lists without %exclude, tends to hide - unpackaged files. -- hwdb belongs to udev -- Resolve memory leak and add missing _cleanup_free_ to - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch -- Remove systemd-powerd-initctl-support.patch - (no longer builds because shutdownd is gone) -- Remove quilt-patches/0001-core-rework-device-state-logic.patch, - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (merged upstream), - 0001-Let-some-boolean-survive-a-daemon-reload.patch - (obsolete) - -------------------------------------------------------------------- -Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de - -- Remove libudev0 from baselibs.conf - -------------------------------------------------------------------- -Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de - -- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - as now upstream code -- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix - bsc#933365 and boo#934077 - -------------------------------------------------------------------- -Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com - -- Add 1098-systemd-networkd-alias-network-service.patch to alias - network.service the same way NetworkManager and wicked does. - This is needed by yast2 and other parts of the system. boo#933092 - -------------------------------------------------------------------- -Mon May 18 14:39:47 UTC 2015 - werner@suse.de - -- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use - the new return values of proc_cmdline() in enable_name_policy() - this should fix boo#931165 - -------------------------------------------------------------------- -Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de - -- Drop 1021-udev-re-add-persistent-net-rules.patch, - 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch, - 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch, - 1046-fix-duplicated-rules-with-layer3-interfaces.patch, - 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch, - 1051-check-if-NAME-has-a-value.patch, - 1053-better-checks-in-write_net_rules.patch, - 1088-drop-renaming-of-virtual-interfaces-in-guest.patch. - 1021 originally broke parsing of net.ifnames=0 [bnc#931165], - and given that neither the kernel command line needs to be - touched nor the source be patched to reach the unpredictable - naming setup for SLE, all these parts are moved to a separate - package. - -------------------------------------------------------------------- -Mon Mar 16 15:35:31 UTC 2015 - werner@suse.de - -- Add upstream patch - 0001-core-don-t-change-removed-devices-to-state-tentative.patch - to fix the fix of the last backport (bsc#921898) - -------------------------------------------------------------------- -Thu Mar 5 11:36:11 UTC 2015 - jengelh@inai.de - -- Reenable networkd which was silently disabled on Feb 18 - -------------------------------------------------------------------- -Tue Mar 3 16:03:07 UTC 2015 - jengelh@inai.de - -- Add 0001-core-rework-device-state-logic.patch to fix spurious - automated umount after mount. - -------------------------------------------------------------------- -Wed Feb 18 12:13:52 UTC 2015 - meissner@suse.com - -- mark more subpackages as !bootstrap for systemd-mini usage. - -------------------------------------------------------------------- -Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org - -- spec : remove --with-firmware-path, firmware loader was removed in v217 -- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) -- spec: Do not enable systemd-readahead-collect.service and -systemd-readahead-replay.service as these do not exist anymore. -- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch - Yast was fixed to write all timezone changes exactly how timedated expects - things to be done. -- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg - package handles the migration from /etc/HOSTNAME to /etc/hostname - and owns both files. --spec: remove boot.udev and systemd-journald.init as they currently - serve no purpose. -- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we - are in sysvcompat-only codepath, also remove the code targetting other - distributions, never compiled as the TARGET_$DISTRO macros are never defined. -- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT -- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards -- insserv-generator.patch: Only build when sysvcompat is enabled -- vhangup-on-all-consoles.patch add a comment indicating this is a workaround - for a kernel bug. -- spec: Add option to allow disabling sysvinit compat at build time. -- spec: Add option to enable resolved at build time. -- spec: Remove all %ifs for !factory products, current systemd releases can - neither be built nor installed in older products without upgrading - several components of the base system. - (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) -- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when - those init scripts still existed. (dummy localfs.service source: gone) -- systemd-sleep-grub: moved to the grub2 package where it belongs as a - suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) -- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds - config.h everywhere in the preprocessor cmdline. - -------------------------------------------------------------------- -Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 219 -* systemd units can now be "unsupported" (like, for example, - .device in a containers), similar to the "skipped" state in - SUSE's prior sysvinit scripts. -* tmpfiles gained the 'v' type for creating btrfs subvolumes. -* tmpfiles gained the 'a' type for setting ACLs. -* systemd-nspawn gained new switches: --ephemeral, --template -* The /var/lib/containers location is deprecated and replaced by - /var/lib/machines. -* machinectl gained the copy-from and copy-to commands. -* machinectl now knows a "bind" command (for use with nspawn) -* new "systemd-importd" daemon to download container images and run - them as nspawn containers. -* networkd collects LLDP network announcements, if available, and - so shown in networkctl. -* The fallback terminal type was changed from "vt102" to "vt220", - allowing PgUp/PgDn keys to work. -* Pressing Ctrl-Alt-Del 7x in 2 seconds forces a umount+reboot now, - useful should the regular shutdown hang. -* Removing storage will cause systemd to unmount the associated - mountpoints so that they don't linger around. - -------------------------------------------------------------------- -Mon Feb 16 11:47:04 UTC 2015 - jengelh@inai.de - -- Add suse-sysv-bootd-support.diff (reinstate old - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch) - -------------------------------------------------------------------- -Mon Feb 16 10:18:18 UTC 2015 - jengelh@inai.de - -- Update to systemd v218-1050-g38ab096 -- Remove patches - use-usr-sbin-sulogin-for-emergency-service.patch (upstream fixed it) -- Reinstate and improve (remove huge indents from) - tty-ask-password-agent-on-console.patch, - 0014-journald-with-journaling-FS.patch, rootsymlink_generator. - -------------------------------------------------------------------- -Mon Feb 16 09:42:48 UTC 2015 - meissner@suse.com - -- disable systemd-resolved for now as it interacts not well with - our methods and security has concerns regarding spoofing. bsc#917781 - -------------------------------------------------------------------- -Tue Jan 20 11:33:59 UTC 2015 - werner@suse.de - -- Add patch kbd-model-map.patch to add missed keyboard layouts - which are offered by YaST2 (bsc#910643 and boo#897803) - -------------------------------------------------------------------- -Fri Jan 9 18:48:28 UTC 2015 - jengelh@inai.de - -- Update to new upstream release 218 -* New utilities: systemd-timesyncd (SNTP client), - systemd-resolved, systemd-networkd, networkctl, - systemd-sysusers -* machinectl gained a "poweroff" command for clean container shutdown -* The udev hwdb now contains DPI information for mice. -* Userspace firmware loading support has been removed and - the minimum supported kernel version is thus bumped to 3.7. -- Remove patches: - G=gone locally, is upstream; - D=dropped: no longer needed; - N=no longer applies to source nor is it deemed needed; - K=killed: no longer applicable and too complex to resolve: - ---- - G 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch - K service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch - K remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch - K handle-SYSTEMCTL_OPTIONS-environment-variable.patch - K 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch - K log-target-null-instead-kmsg.patch - K tty-ask-password-agent-on-console.patch - K 513-nspawn-veth.patch - K 1087-infinit-timeout-for-kmod-loaded-modules.patch - D module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - D avoid-leaking-socket-descriptors.patch - D 0001-make-fortify-happy-with-ppoll.patch - N fix-owner-of-var-log-btmp.patch - N disable-nss-myhostname-warning-bnc-783841.patch - N Revert-service-drop-support-for-SysV-scripts-for-the-early.patch - N 0001-make-209-working-on-older-dist.patch - N 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - N tmpfiles-do-not-clean-for-mandb-index-files.patch - G 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - G avoid-assertion-if-invalid-address-familily-is-passed-to-g.patc - G optionally-warn-if-nss-myhostname-is-called.patch - G 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - G 0004-getty-generator-properly-escape-instance-names.patch - G rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - G 0008-Reset-signal-mask-on-re-exec-to-init.patch - G 0001-login-fix-pos-array-allocation.patch - G 0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch - G 0003-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - G 0004-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - G 0005-Replace-var-run-with-run-in-remaining-places.patch - G 0006-Revert-back-to-var-run-at-a-couple-of-problems.patch - G 0007-README-document-that-var-run-must-be-a-symlink-run.patch - G 0008-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - G 0009-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - G 0010-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - G 0011-logs-show-fix-corrupt-output-with-empty-messages.patch - G 0012-journalctl-refuse-extra-arguments-with-verify-and-si.patch - G 0014-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - G 0001-Fix-systemd-stdio-bridge-symlink.patch - G 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - G 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - G 0004-man-document-missing-options-of-systemd-run.patch - G 0005-systemd-run-add-some-extra-safety-checks.patch - G 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - G 0007-journal-forget-file-after-encountering-an-error.patch - G 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - G 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - G 0010-man-update-link-to-LSB.patch - G 0011-man-systemd-bootchart-fix-spacing-in-command.patch - G 0012-man-add-missing-comma.patch - G 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - G 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - G 0002-manager-flush-memory-stream-before-using-the-buffer.patch - G 0003-busname-don-t-drop-service-from-the-result-string.patch - G 0004-fix-off-by-one-error-in-array-index-assertion.patch - G 0005-logind-fix-policykit-checks.patch - G 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - G 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - G 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - G 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - G 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - G 0007-networkd-fix-typo.patch - G 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - G 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - G 0012-journald-remove-stray-reset-of-error-return-value.patch - G 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - G 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - G 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - G 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - G 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - G 0005-sd-daemon-fix-incorrect-variable-access.patch - G 0006-sd-event-initialization-perturbation-value-right-bef.patch - G 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - G 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - G 0009-ask-password-when-the-user-types-a-overly-long-passw.patch - G 0001-journal-fix-export-of-messages-containing-newlines.patch - G 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - G 0003-tty-ask-password-agent-return-negative-errno.patch - G 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - G 0005-systemd-python-fix-failing-assert.patch - G 0007-dbus-suppress-duplicate-and-misleading-messages.patch - G 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch - G 0001-bash-completion-fix-__get_startable_units.patch - G 0002-sysctl-replaces-some-slashes-with-dots.patch - G 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - G 0004-implement-a-union-to-pad-out-file_handle.patch - G shut-up-annoying-assertion-monotonic-clock-message.patch - G 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - G 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - G 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - G 0003-analyze-fix-plot-with-bad-y-size.patch - G 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - G 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - G 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - G 0002-backlight-do-nothing-if-max_brightness-is-0.patch - G 0003-backlight-unify-error-messages.patch - G 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - G 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - G 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - G 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - G 0001-core-close-socket-fds-asynchronously.patch - G 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - G 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - G 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - G 0002-logind-fix-printf-format.patch - G 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - G 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - G 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - G 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - G 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - G 0008-man-update-journald-rate-limit-defaults.patch - G 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - G 0010-logind-allow-suspending-if-there-are-no-displays.patch - G 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - G 0002-man-note-that-entire-sections-can-now-be-ignored.patch - G 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - G 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - G 0006-login-add-mir-to-the-list-of-session-types.patch - G 0007-logind-fix-Display-property-of-user-objects.patch - G 0001-hwdb-update.patch - G 0002-hwdb-update.patch - G 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - G 0004-hwdb-update.patch - G 0005-hwdb-update.patch - G 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - G 0002-journal-properly-detect-language-specified-in-line.patch - G 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - G 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - G 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch - G 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - G 0002-nspawn-restore-journal-directory-is-empty-check.patch - G 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - G 0004-socket-properly-handle-if-our-service-vanished-durin.patch - G 0001-Do-not-unescape-unit-names-in-Install-section.patch - G 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - G 0001-virt-rework-container-detection-logic.patch - G 0002-fsck-include-device-name-in-the-message-about-missin.patch - G 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - G 0004-util-ignore_file-should-not-allow-files-ending-with.patch - G 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch - G 0007-keyboard-add-Plantronics-.Audio-mute-button.patch - G 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - G 0001-hwdb-fix-case-sensitive-match.patch - G 0001-sd-event-restore-correct-timeout-behaviour.patch - G 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - G 0001-umount-modernizations.patch - G 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - G 0003-core-allow-transient-mount-units.patch - G 0004-systemd-detect-virt-only-discover-Xen-domU.patch - G 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - G 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - G 0001-core-fix-invalid-free-in-killall.patch - G 0003-install-fix-invalid-free-in-unit_file_mask.patch - G 0001-systemd-detect-virt-detect-s390-virtualization.patch - G 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - G 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - G 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - G 0005-po-add-Greek-translation.patch - G 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0007-po-add-German-translation.patch - G 0009-core-clean-up-signal-reset-logic-when-reexec.patch - G 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - G 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - G 0012-core-transaction-avoid-misleading-error-message-when.patch - G 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - G 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - G 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - G 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - G 0005-man-fix-path-in-crypttab-5.patch - G 0001-units-order-network-online.target-after-network.targ.patch - G 0001-core-use-correct-format-string-for-UIDs.patch - G 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - G 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - G 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - G 0002-journald-make-MaxFileSec-really-default-to-1month.patch - G 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - G 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - G 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - G 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - G 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - G 0001-parse_uid-return-ENXIO-for-1-uids.patch - G 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - G 0003-localed-consider-an-unset-model-as-a-wildcard.patch - G 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - G 0005-bus-close-a-bus-that-failed-to-connect.patch - G 0006-hwdb-update.patch - G 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-architecture-Add-tilegx.patch - G 0002-architecture-Add-cris.patch - G 0003-arch-add-crisv32-to-uname-check.patch - G 0004-architecture-remove-cris-from-uname-list.patch - G 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - G 0002-namespace-fix-uninitialized-memory-access.patch - G 0001-machine-don-t-return-uninitialized-variable.patch - G 0002-vconsole-setup-run-setfont-before-loadkeys.patch - G 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - G 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - G 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - G 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - G 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - G 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - G 0007-service-flush-status-text-and-errno-values-each-time.patch - G 0001-journal-compress-return-early-in-uncompress_startswi.patch - G 0002-journal-compress-improve-xz-compression-performance.patch - G 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - G 0002-hostnamed-add-a-new-chassis-type-for-watches.patch - G 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - G 0001-event-pull-in-sd-event.h-from-event-util.h.patch - G 0002-util-fix-has-cc-check-and-add-test.patch - G 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - G 0004-fileio-quote-more-shell-characters-in-envfiles.patch - G 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - G 0002-units-serial-getty-.service-use-the-default-RestartS.patch - G 0001-po-add-Ukrainian-translation.patch - G 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - G 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch - G 0001-detect-virt-Fix-Xen-domU-discovery.patch - G 0002-Be-more-verbose-when-bind-or-listen-fails.patch - G 0003-Add-quotes-to-warning-message.patch - G 0004-systemd-return-the-first-error-from-manager_startup.patch - G 0001-bash-completion-p-option-for-journalctl.patch - G 0002-journalctl-man-allow-only-between-terms.patch - G 0003-systemd-use-pager-for-test-and-help.patch - G 0001-bus-proxyd-fix-incorrect-comparison.patch - G 0002-shell-completion-prevent-mangling-unit-names.patch - G 0003-Always-check-asprintf-return-code.patch - G 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - G 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - G 0006-parse_boolean-require-exact-matches.patch - G 0007-drop_duplicates-copy-full-BindMount-struct.patch - G 0008-shell-completion-prevent-mangling-unit-names-bash.patch - G 0009-journald-always-add-syslog-facility-for-messages-com.patch - G 0001-sysv-order-initscripts-which-provide-network-before-.patch - G 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - G 0003-keymap-Annotate-all-micmute-workarounds.patch - G 0007-hwdb-update.patch - G 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - G 0002-switch-root-umount-the-old-root-correctly.patch - G 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - G 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - G 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - G 0006-login-share-VT-signal-handler-between-sessions.patch - G 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - G 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - G 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - G 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - G 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - G 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - G 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - G 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - G 0003-keymap-Fix-HP-Pavillon-DV7.patch - G 0004-hwdb-update-format-description-and-document-reloadin.patch - G 0008-hwdb-update.patch - G 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - G 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - G 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - G 0001-login-fix-memory-leak-on-DropController.patch - G 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - G 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - G 0004-sd-journal-verify-that-object-start-with-the-field-n.patch - G 0001-nspawn-fix-network-interface.patch - G 0001-completion-filter-templates-from-restartable-units.patch - G 0002-systemd-fix-error-message.patch - G 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - G 0004-config-parser-fix-mem-leak.patch - G 0005-login-fix-mem-leak.patch - G 0001-login-simplify-controller-handling.patch - G 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - G 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0009-hwdb-update.patch - G 0001-systemctl-allow-to-change-the-default-target-without.patch - G 0001-activate-fix-fd-leak-in-do_accept.patch - G 0002-analyze-avoid-a-null-dereference.patch - G 0003-analyze-fix-mem-leak.patch - G 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - G 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - G 0006-bus-unref-buscreds-on-failure.patch - G 0007-core-fix-a-potential-mem-leak.patch - G 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - G 0009-journal-do-not-leak-mmaps-on-OOM.patch - G 0010-manager-use-correct-cleanup-function.patch - G 0001-core-fix-resource-leak-in-manager_environment_add.patch - G 0002-util-remove-a-unnecessary-check.patch - G 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - G 0004-shared-conf-parser.patch - G 0005-logind-fix-typo.patch - G 0006-systemctl-fix-resource-leak-CID-1237747.patch - G 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - G 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - G 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - G 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - G 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - G 0003-mount-order-options-before-other-arguments-to-mount.patch - G 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - G 0005-shared-label.h-add-missing-stdio.h-include.patch - G 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - G 0001-login-pause-devices-before-acknowledging-VT-switches.patch - G 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - G 0001-socket-introduce-SELinuxContextFromNet-option.patch - G 0002-util-avoid-non-portable-__WORDSIZE.patch - G 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - G 0002-bus-remove-unused-check.patch - G 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - G 0001-logind-add-support-for-Triton2-Power-Button.patch - G 0002-logind-add-support-for-TPS65217-Power-Button.patch - G 0001-shutdownd-clean-up-initialization-of-struct.patch - G 0003-bootchart-parse-userinput-with-safe_atoi.patch - G 0004-bootchart-check-return-of-strftime.patch - G 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - G 0001-journalctl-do-not-output-reboot-markers-when-running.patch - G 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - G 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - G 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - G 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - G 0003-fileio-label-return-error-when-writing-fails.patch - G 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - G 0004-sd-event-check-the-value-of-received-signal.patch - G 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - G 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - G 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - G 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - G 0003-sd-bus-check-return-value-of-vasprintf.patch - G 0004-core-map-the-rescue-argument-to-rescue.target.patch - G 0005-util-avoid-double-close-of-fd.patch - G 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - G 0001-tmpfiles-compare-return-against-correct-errno.patch - G 0001-shell-completion-fix-completion-of-inactive-units.patch - G 0002-shell-completion-propose-templates-for-disable-re-en.patch - G 0003-man-we-don-t-have-Wanted-dependency.patch - G 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - G 0001-systemd-continue-switch-root-even-if-umount-fails.patch - G 0002-systemd-try-harder-to-bind-to-notify-socket.patch - G 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - G 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - G 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - G 0004-journal-do-server_vacuum-for-sigusr1.patch - G 0005-cryptsetup-fix-an-OOM-check.patch - G 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch - G 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - G 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - G 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - G 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - G 0005-journalctl-correct-help-text-for-until.patch - G 0006-calendarspec-fix-typo-in-annually.patch - G 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - G 0008-util-introduce-sethostname_idempotent.patch - G 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - G 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - G 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch - G 0012-manager-do-not-print-anything-while-passwords-are-be.patch - G 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - G 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - G 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - G 0002-snapshot-return-error-when-snapshot-exists.patch - G 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - G 0004-Raise-level-of-Found-dependency.-lines.patch - G 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - G 0006-journald-fix-minor-memory-leak.patch - G 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - G 0008-journald-fix-memory-leak-on-error-path.patch - G 0009-units-make-systemd-journald.service-Type-notify.patch - G 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - G 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - G 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - G 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - G 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - G 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - G 0001-systemctl-let-list-units-unit-files-honour-type.patch - G 0002-systemctl-obey-state-in-list-unit-files.patch - G 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - G 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - G 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - G 0001-selinux-access-fix-broken-ternary-operator.patch - G 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - G 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - G 0004-core-fix-transaction-destructiveness-check-once-more.patch - G 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - G 0002-man-tmpfiles.d-recommend-using-b-and-c.patch - G 1009-cdrom_id-use-the-old-MMC-fallback.patch - G 1010-udev-increase-result-size-for-programs.patch - G 1014-udev-update-net_id-comments.patch - G 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - G 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - G 1017-udev-serialize-synchronize-block-device-event-handli.patch - G 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - G 1019-udev-avoid-use-of-uninitialized-err.patch - G 1020-udev-keyboard-also-hook-into-change-events.patch - G 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - G 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - G 1024-udev-always-close-lock-file-descriptor.patch - G 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - G 1026-udevd-inotify-modernizations.patch - G 1027-udev-synthesize-change-events-for-partitions-when-to.patch - G 1028-udev-link-config-fix-mem-leak.patch - G 1029-udev-try-first-re-reading-the-partition-table.patch - G 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - G 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - G 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - G 1033-udev-really-exclude-device-mapper-from-block-device.patch - G 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - G 1038-udev-fix-invalid-free-in-enable_name_policy.patch - G 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch - G 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch - G 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - G 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - G 1044-rules-update-qemu-hid-rules.patch - G 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - G 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - G 1048-udev-net_setup_link-add-a-bit-more-logging.patch - G 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - G 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - G 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch - G 1056-udevd-add-event-timeout-commandline-option.patch - G 1057-udev-unify-event-timeout-handling.patch - G 1058-udev-unify-event-timeout-handling.patch - G 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - G 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - G 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - G 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - G 1065-udev-bump-event-timeout-to-60-seconds.patch - G 1067-udev-always-resolve-correctly-database-names-on-chan.patch - G 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - G 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - G 1070-rules-net-setup-link-remove-stray-linebreak.patch - G 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - G 1072-udev-netif_rename-don-t-log-to-kmsg.patch - G 1073-udev-drop-print_kmsg.patch - G 1074-udev-fix-copy-paste-error-in-log-message.patch - G 1075-udev-timeout-increase-timeout.patch - G 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch - G 1078-udev-remove-userspace-firmware-loading-support.patch - G 1079-udev-remove-userspace-firmware-loading-support.patch - G 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - G 1081-udevd-check-return-of-various-functions.patch - G 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - G 1083-udev-node-warn-if-chmod-chown-fails.patch - G 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - G 1085-udev-fix-typos.patch - G 1086-udevd-don-t-fail-if-run-udev-exists.patch - G 1089-fix-cgroup-device-controller.patch - G 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - G 1091-udev-path_id-update-comments.patch - G 1092-libudev-do-not-accept-invalid-log-levels.patch - G 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - G 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - G 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Wed Jan 7 11:44:27 UTC 2015 - arvidjaar@gmail.com - -- update set-and-use-default-logconsole.patch - fix comparison of - console log facility that caused journald to skip output to console - (boo#912030) - -------------------------------------------------------------------- -Thu Dec 18 13:47:36 UTC 2014 - werner@suse.de - -- Use Robert's latest patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which drops NAMEPOLICY_KERNEL as this breaks all on current - systems out there - -------------------------------------------------------------------- -Wed Dec 17 14:57:42 UTC 2014 - thomas.blume@suse.com - -- remove 0022-systemd-tmpfiles-ownerkeep.patch since this is now - implemented into the systemd-tmpfiles binary -- add user based ignore statements in tmpfiles removal directives - (bnc#903009) - add systemd-add-user-keep.patch - -------------------------------------------------------------------- -Tue Dec 16 09:45:38 UTC 2014 - thomas.blume@suse.com - -- use --boot option in systemd-tmpfiles-setup-dev.service (bnc#908476) - add upstream patches: - 0001-units-tmpfiles-setup-dev-allow-unsafe-file-creation-.patch - 0002-man-tmpfiles.d-recommend-using-b-and-c.patch (adapted) - -------------------------------------------------------------------- -Tue Dec 16 08:59:08 UTC 2014 - werner@suse.de - -- Update patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - to Robert's version - -------------------------------------------------------------------- -Mon Dec 15 15:02:22 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-selinux-access-fix-broken-ternary-operator.patch - 0002-systemctl-show-BindsTo-BoundBy-in-list-dependencies.patch - 0003-cryptsetup-default-to-no-hash-when-keyfile-is-specif.patch - 0004-core-fix-transaction-destructiveness-check-once-more.patch -- Avoid old net devices naming scheme on openSUSE 13.2 and less - maybe caused by patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - -------------------------------------------------------------------- -Thu Dec 11 09:32:31 UTC 2014 - thomas.blume@suse.com - -- fix systemd-nspawn network-veth support (bnc#906709) - add 513-nspawn-veth.patch - -------------------------------------------------------------------- -Fri Dec 5 12:51:15 UTC 2014 - werner@suse.de - -- Add upstream patch - 1098-udev-link_setup-respect-kernel-name-assign-policy.patch - which may solve bsc#907318 - -------------------------------------------------------------------- -Fri Dec 5 12:13:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-units-make-sure-rfkill-service-is-bount-to-the-actua.patch - 0002-rfkill-rework-how-we-generate-file-names-from-rfkill.patch - -------------------------------------------------------------------- -Fri Nov 28 13:26:21 UTC 2014 - rmilasan@suse.com - -- Change the maximum number of children from CPU_COUNT * 256 to - CPU_COUNT * 64. - Update 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Thu Nov 27 20:30:35 UTC 2014 - rmilasan@suse.com - -- Increase number of children/workers to CPU_COUNT * 256 to avoid - 'maximum number of children reached' (bnc#907393). - Add 1097-udevd-increase-maximum-number-of-children.patch - -------------------------------------------------------------------- -Tue Nov 25 09:44:42 UTC 2014 - rmilasan@suse.com - -- Fix error return in rootsymlink_generator.c - Update 1096-new-udev-root-symlink-generator.patch - -------------------------------------------------------------------- -Fri Nov 21 13:35:40 UTC 2014 - werner@suse.de - -- Remove upstream patch - 0001-systemd-logind.service-set-Type-notify.patch - as systemd-logind.service is already from DBus type, compare with - upstream commit eab459bc0639b81b32735f36d3e929e4bfa2cb4b - -------------------------------------------------------------------- -Thu Nov 20 13:45:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-logind.service-set-Type-notify.patch - 0002-core-watchdog-bus-properties-cannot-be-both-writable.patch - 0003-sd-bus-refuse-properties-that-claim-to-be-both-writa.patch - -------------------------------------------------------------------- -Thu Nov 20 12:18:57 UTC 2014 - werner@suse.de - -- Re-add directory /usr/lib/systemd/system/basic.target.wants - -------------------------------------------------------------------- -Wed Nov 19 15:07:43 UTC 2014 - gber@opensuse.org - -- remove pm-utils-hooks-compat.sh again, pm-utils built-in hooks - partially duplicate hooks run by systemd which may potentially - lead to problems, instead temporarily re-enable - Forward-suspend-hibernate-calls-to-pm-utils.patch until - boo#904828 can be addressed properly - -------------------------------------------------------------------- -Wed Nov 19 00:58:00 UTC 2014 - Led - -- fix bashisms in write_net_rules script -- update patches: - * 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Tue Nov 18 10:26:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-let-list-units-unit-files-honour-type.patch - 0002-systemctl-obey-state-in-list-unit-files.patch - which allows to use --type in the systemctl command list-units - and list-unit-files. - -------------------------------------------------------------------- -Tue Nov 18 10:10:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Add-support-for-IBM-ThinkPad-X41-Tablet.patch - 0002-keymap-Fix-special-keys-on-ThinkPad-X60-X61-Tablet.patch - -------------------------------------------------------------------- -Thu Nov 13 14:47:17 UTC 2014 - rmilasan@suse.com - -- New root symlink rule generator - Add 1096-new-udev-root-symlink-generator.patch -- Remove write_dev_root_rule and systemd-udev-root-symlink - -------------------------------------------------------------------- -Thu Nov 13 12:59:05 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip hdflush as well as hddown but only use halt as fallback - for poweroff as well as synch in systemctl before any reboot command - (compare with commit 4a3ad39957399c4a30fc472a804e72907ecaa4f9) - -------------------------------------------------------------------- -Thu Nov 13 09:54:35 UTC 2014 - rmilasan@suse.com - -- Create rule to set I/O scheduler to deadline if device attribute - 'rotational' equals 0, usually SSDs (bnc#904517). - Add 1095-set-ssd-disk-to-use-deadline-scheduler.patch - -------------------------------------------------------------------- -Thu Nov 13 07:50:49 UTC 2014 - thomas.blume@suse.com - -- fix systemd-fstab-generator crypttab parsing (bnc#903963) - -------------------------------------------------------------------- -Tue Nov 11 19:10:35 UTC 2014 - gber@opensuse.org - -- Add pm-utils-hooks-compat.sh in order to run pm-utils sleep hooks - from systemd (boo#904828) - -------------------------------------------------------------------- -Mon Nov 10 14:23:00 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-rerun-vconsole-setup-when-switching-from-vgaco.patch - 0002-shutdown-fix-arguments-to-run-initramfs-shutdown.patch - 0003-utf8-when-looking-at-the-next-unichar-honour-the-siz.patch - -------------------------------------------------------------------- -Mon Nov 10 12:39:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-don-t-allow-enabling-if-unit-is-masked.patch - 0002-snapshot-return-error-when-snapshot-exists.patch - 0003-shared-install-avoid-prematurely-rejecting-missing-u.patch - 0004-Raise-level-of-Found-dependency.-lines.patch - 0005-units-order-sd-journal-flush-after-sd-remount-fs.patch - 0006-journald-fix-minor-memory-leak.patch - 0007-journald-also-check-journal-file-size-to-deduce-if-i.patch - 0008-journald-fix-memory-leak-on-error-path.patch - 0009-units-make-systemd-journald.service-Type-notify.patch - 0010-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Mon Nov 10 12:36:34 UTC 2014 - werner@suse.de - -- Add upstream patches - 1092-libudev-do-not-accept-invalid-log-levels.patch - 1093-udev-Fix-parsing-of-udev.event-timeout-kernel-parame.patch - 1094-udev-avoid-magic-constants-in-kernel-cmdline-parsers.patch - -------------------------------------------------------------------- -Fri Nov 7 09:45:20 UTC 2014 - werner@suse.de - -- Add patch watch_resolv.conf_for_become_changed.patch to add an - inotify watch on /etc/resolv.conf which enables the reload of - a changed resolver configuration on the fly (bsc#902901) -- Do not apply patch 0022-systemd-tmpfiles-ownerkeep.patch in case - if the script /usr/bin/systemd-tmpfiles-keep is missed - -------------------------------------------------------------------- -Mon Nov 3 14:23:02 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch - 0002-keymap-Ignore-brightness-keys-on-Dell-Inspiron-1520-.patch - -------------------------------------------------------------------- -Mon Nov 3 14:17:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - 1091-udev-path_id-update-comments.patch - which will be applied if patch - 1090-udev-path_id-set-supported_parent-for-well-known-SCS.patch - is applied a this may fix the trouble with iSCSI (bnc#898233) - -------------------------------------------------------------------- -Thu Oct 30 10:45:01 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-manager-Linux-on-hppa-has-fewer-rtsigs-hence-avoid-u.patch - 0002-time-also-support-infinity-syntax-in-parse_nsec.patch - 0003-time-earlier-exit-from-format_timestamp_relative-on-.patch - 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch - 0005-journalctl-correct-help-text-for-until.patch - 0006-calendarspec-fix-typo-in-annually.patch - 0007-systemctl-do-not-ignore-errors-in-symlink-removal.patch - 0008-util-introduce-sethostname_idempotent.patch - 0009-util-fix-copy-paste-error-and-actually-set-the-new-h.patch - 0010-shutdown-do-final-unmounting-only-if-not-running-ins.patch - 0011-selinux-make-sure-we-do-not-try-to-print-missing-fie.patch -- Replace patch - keep-crypt-password-prompt.patch as this with - upstream patch - 0012-manager-do-not-print-anything-while-passwords-are-be.patch - -------------------------------------------------------------------- -Fri Oct 24 13:02:45 UTC 2014 - werner@suse.de - -- Add upstream patch - 0002-shutdown-pass-own-argv-to-run-initramfs-shutdown.patch -- Add patch journald-advice-about-use-of-memory.patch to use mmap() - flags as well as madvise(2) for journal files. - -------------------------------------------------------------------- -Thu Oct 23 14:05:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-strv-add-an-additional-overflow-check-when-enlarging.patch - 0002-hwdb-Add-mapping-for-special-keys-on-compaq-ku-0133-.patch - 0003-journald-add-CAP_MAC_OVERRIDE-in-journald-for-SMACK-.patch - 0004-journal-do-server_vacuum-for-sigusr1.patch - 0005-cryptsetup-fix-an-OOM-check.patch - -------------------------------------------------------------------- -Wed Oct 22 13:56:22 UTC 2014 - werner@suse.de - -- Add upstream patch 1089-fix-cgroup-device-controller.patch - to avoid trouble on existing /dev/console with nspawn (bsc#902240) - -------------------------------------------------------------------- -Tue Oct 21 11:03:31 UTC 2014 - werner@suse.de - -- Modify patch avoid-leaking-socket-descriptors.patch to close - file descriptors for incomming connections in pam module in case - of short memory. - -------------------------------------------------------------------- -Mon Oct 20 14:10:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemd-continue-switch-root-even-if-umount-fails.patch - 0002-systemd-try-harder-to-bind-to-notify-socket.patch -- Add patch avoid-leaking-socket-descriptors.patch to close - file descriptors if an incomming connection can not be handled - due e.g. short memory. Could be related to bsc #901481 - -------------------------------------------------------------------- -Wed Oct 15 12:03:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-shell-completion-fix-completion-of-inactive-units.patch - 0002-shell-completion-propose-templates-for-disable-re-en.patch - 0003-man-we-don-t-have-Wanted-dependency.patch - 0004-selinux-fix-potential-double-free-crash-in-child-pro.patch - -------------------------------------------------------------------- -Wed Oct 15 08:48:36 UTC 2014 - werner@suse.de - -- Adapt patch - rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch - to make it work even with patch #438 and #439 - -------------------------------------------------------------------- -Tue Oct 14 16:23:51 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-when-mangle-unit-names-for-the-isolate-suf.patch - 0001-tmpfiles-compare-return-against-correct-errno.patch - -------------------------------------------------------------------- -Tue Oct 14 16:19:42 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-keymap-Fix-touchpad-toggle-on-Toshiba-Satellite-P75-.patch - 0001-units-introduce-network-pre.target-as-place-to-hook-.patch - 0002-keymap-Fix-touchpad-toggle-key-on-Asus-laptops.patch - 0003-sd-bus-check-return-value-of-vasprintf.patch - 0004-core-map-the-rescue-argument-to-rescue.target.patch - 0005-util-avoid-double-close-of-fd.patch - -------------------------------------------------------------------- -Tue Oct 14 16:18:36 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-detect-that-we-are-running-inside-the-docker-co.patch - 0002-bootchart-use-n-a-if-PRETTY_NAME-is-not-found.patch - 0003-fileio-label-return-error-when-writing-fails.patch - 0001-sd-event-don-t-require-a-signal-event-source-to-be-e.patch - 0004-sd-event-check-the-value-of-received-signal.patch - 0005-sd-id128-do-stricter-checking-of-random-boot-id.patch - -------------------------------------------------------------------- -Tue Oct 14 14:46:58 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-swap-only-make-configured-units-part-of-swap.ta.patch - 0009-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue Oct 14 14:16:52 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journalctl-do-not-output-reboot-markers-when-running.patch - 0002-udev-hwdb-New-Entry-for-Dell-XPS12-9Q33-keyboard.patch - -------------------------------------------------------------------- -Tue Oct 14 13:58:45 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-logind-add-support-for-Triton2-Power-Button.patch - 0002-logind-add-support-for-TPS65217-Power-Button.patch -- Add upstream patches - 0001-shutdownd-clean-up-initialization-of-struct.patch - 0003-bootchart-parse-userinput-with-safe_atoi.patch - 0004-bootchart-check-return-of-strftime.patch - 0005-bootchart-Do-not-try-to-access-data-for-non-existing.patch - -------------------------------------------------------------------- -Thu Oct 2 07:21:42 PDT 2014 - lduncan@suse.com - -- Revert patch 1063, which incorrectly disallows - /dev/disk/by-path links for iSCSI (and other) - devices. Will be corrected and re-added once - upstream is consulted. (bnc#898233). Disable: - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patc - -------------------------------------------------------------------- -Fri Sep 26 16:11:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemd-tmpfiles-Fix-IGNORE_DIRECTORY_PATH-age-handl.patch - for bsc#893797 - -------------------------------------------------------------------- -Fri Sep 26 09:34:22 UTC 2014 - rmilasan@suse.com - -- Drop renaming virtual interfaces in a guest (bnc#898432). - Add 1088-drop-renaming-of-virtual-interfaces-in-guest.patch - -------------------------------------------------------------------- -Thu Sep 25 14:08:35 UTC 2014 - werner@suse.de - -- Rename patch 0001-infinit-timeout-for-kmod-loaded-modules.patch - to patch 1087-infinit-timeout-for-kmod-loaded-modules.patch - and apply this one - -------------------------------------------------------------------- -Thu Sep 25 13:45:46 UTC 2014 - werner@suse.de - -- Change patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - to fix bsc#898240 - -------------------------------------------------------------------- -Thu Sep 25 09:06:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Fix-warning-about-unused-variable-with-SELINUX.patch - 0002-bus-remove-unused-check.patch - -------------------------------------------------------------------- -Wed Sep 24 15:05:49 UTC 2014 - werner@suse.de - -- Add patch 0001-infinit-timeout-for-kmod-loaded-modules.patch to - be able to avoid killing a running kmod/modprobe (bnc#889297) - -------------------------------------------------------------------- -Wed Sep 24 08:36:42 UTC 2014 - werner@suse.de - -- Update patch 0001-bnc888612-logind-polkit-acpi.patch - -------------------------------------------------------------------- -Wed Sep 24 07:47:54 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-pause-devices-before-acknowledging-VT-switches.patch - May help that history of the shell is saved - 0001-nspawn-don-t-try-to-create-veth-link-with-too-long-i.patch - 0001-socket-introduce-SELinuxContextFromNet-option.patch (bsc#897801) - 0002-util-avoid-non-portable-__WORDSIZE.patch - -------------------------------------------------------------------- -Fri Sep 19 13:08:14 UTC 2014 - werner@suse.de - -- Add patch 0001-bnc888612-logind-polkit-acpi.patch from Frederic - to solve bnc#888612 - AUDIT-0: Power button press at gdm login - should not prompt for credentials - -------------------------------------------------------------------- -Fri Sep 19 11:36:48 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-journal-Do-not-count-on-the-compiler-initializing-fo.patch - 0002-include-fcntl.h-rather-than-sys-fcntl.h.patch - 0003-mount-order-options-before-other-arguments-to-mount.patch - 0004-shared-wtmp-utmp-don-t-clear-store_wtmp-in-utmp_put_.patch - 0005-shared-label.h-add-missing-stdio.h-include.patch - 0006-shared-sparse-endian.h-add-missing-byteswap.h-includ.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patch - 1080-udevd-parse_argv-warn-if-argumens-are-invalid.patch - 1081-udevd-check-return-of-various-functions.patch - 1082-udevadm-hwdb-check-return-value-of-fseeko.patch - 1083-udev-node-warn-if-chmod-chown-fails.patch - 1084-udev-ctrl-log-if-setting-SO_PASSCRED-fails.patch - 1085-udev-fix-typos.patch - 1086-udevd-don-t-fail-if-run-udev-exists.patch - -------------------------------------------------------------------- -Thu Sep 18 13:21:45 UTC 2014 - werner@suse.de - -- Add upstream bugfix patches - 0001-core-fix-resource-leak-in-manager_environment_add.patch - 0002-util-remove-a-unnecessary-check.patch - 0003-udev-event-explicitly-don-t-read-from-invalid-fd.patch - 0004-shared-conf-parser.patch - 0005-logind-fix-typo.patch - 0006-systemctl-fix-resource-leak-CID-1237747.patch - 0007-libudev-monitor-warn-if-we-fail-to-request-SO_PASSCR.patch - 0008-shared-conf-parser-don-t-leak-memory-on-error-in-DEF.patc - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch -- Remove 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch as - 0009-bus-fix-bus_print_property-to-use-int-for-booleans.patch - is the upstream solution - -------------------------------------------------------------------- -Wed Sep 17 16:02:33 UTC 2014 - werner@suse.de - -- Add patch 0001-sizeof-bool-used-by-gcc-depends-on-arch.patch to - fix for the size of the gcc builtin type bool also known as _Bool - from the include header stdbool.h. - -------------------------------------------------------------------- -Tue Sep 16 10:45:33 UTC 2014 - werner@suse.de - -- Add upstream patches as real fixes - 0001-activate-fix-fd-leak-in-do_accept.patch - 0002-analyze-avoid-a-null-dereference.patch - 0003-analyze-fix-mem-leak.patch - 0004-backlight-Avoid-error-when-state-restore-is-disabled.patch - 0005-bus-avoid-using-m-kdbus-after-freeing-it.patch - 0006-bus-unref-buscreds-on-failure.patch - 0007-core-fix-a-potential-mem-leak.patch - 0008-core-smack-setup-Actually-allow-for-succesfully-load.patch - 0009-journal-do-not-leak-mmaps-on-OOM.patch - 0010-manager-use-correct-cleanup-function.patch -- Intergrate the work of Robert and rename the patch - 1068-udev-remove-userspace-firmware-loading-support.patch - to 1078-udev-remove-userspace-firmware-loading-support.patch - Also add patch - 1079-udev-remove-userspace-firmware-loading-support.patch - to apply the same change for opensuse 13.2 and above - -------------------------------------------------------------------- -Tue Sep 16 10:21:02 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-systemctl-allow-to-change-the-default-target-without.patch - to allow to override default target without --force (bnc#896664) - -------------------------------------------------------------------- -Tue Sep 16 09:10:52 UTC 2014 - werner@suse.de - -- Add upstream patches for udev - 1068-udev-net_setup_link-export-the-.link-filename-applie.patch - 1069-rules-net-setup-link-preserve-ID_NET_LINK_FILE-and-I.patch - 1070-rules-net-setup-link-remove-stray-linebreak.patch - 1071-udev-import-the-full-db-on-MOVE-events-for-devices-w.patch - 1072-udev-netif_rename-don-t-log-to-kmsg.patch - 1073-udev-drop-print_kmsg.patch - 1074-udev-fix-copy-paste-error-in-log-message.patch - 1075-udev-timeout-increase-timeout.patch (bnc#889297) - 1076-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - 1077-udev-timeout-warn-after-a-third-of-the-timeout-befor.patch (bnc#889297) - -------------------------------------------------------------------- -Tue Sep 16 07:55:37 UTC 2014 - rmilasan@suse.com - -- udev: remove userspace firmware loading support (bnc#889297). - Add 1068-udev-remove-userspace-firmware-loading-support.patch - -------------------------------------------------------------------- -Sat Sep 13 13:35:33 UTC 2014 - rmilasan@suse.com - -- udev: always resolve correctly database names on 'change' event (bnc#864745). - Add 1067-udev-always-resolve-correctly-database-names-on-chan.patch - -------------------------------------------------------------------- -Tue Sep 9 14:36:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0009-hwdb-update.patch - -------------------------------------------------------------------- -Mon Sep 8 14:48:37 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-initrd-parse-etc.service-ignore-return-code-of-daemo.patch - 0008-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Sep 4 13:10:28 UTC 2014 - werner@suse.de - -- Disable patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - for SLES-12 as well as for openSUSE-13.2 (bnc#895087) - -------------------------------------------------------------------- -Tue Sep 2 12:56:47 UTC 2014 - rmilasan@suse.com - -- udev: add option to generate old 'buggy' serials (bnc#886852) - Add 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch - -------------------------------------------------------------------- -Tue Sep 2 09:14:03 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-login-simplify-controller-handling.patch - -------------------------------------------------------------------- -Mon Sep 1 13:00:29 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-completion-filter-templates-from-restartable-units.patch - 0002-systemd-fix-error-message.patch - 0003-Quote-unit-names-in-suggested-systemctl-commandlines.patch - 0004-config-parser-fix-mem-leak.patch - 0005-login-fix-mem-leak.patch - 1065-udev-bump-event-timeout-to-60-seconds.patch - -------------------------------------------------------------------- -Fri Aug 29 14:14:06 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-nspawn-fix-network-interface.patch to - make option network-interface of systemd-nspawn work - -------------------------------------------------------------------- -Thu Aug 28 10:07:10 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-login-fix-memory-leak-on-DropController.patch - 0002-util-fix-minimal-race-where-we-might-miss-SIGTERMs-w.patch - 0003-sd-journal-properly-convert-object-size-on-big-endia.patch - 0004-sd-journal-verify-that-object-start-with-the-field-n.patch -- Add upstream patch - 1064-udev-hwdb-do-not-look-at-usb_device-parents.patch - to avoid that hwdb ID's for unrecognised USB device are taken - from the USB hub. - -------------------------------------------------------------------- -Wed Aug 27 16:01:17 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-systemctl-Correct-error-message-printed-when-bus_pro.patch - 0002-units-order-systemd-fsck-.service-after-local-fs-pre.patch - 0003-keymap-Adjust-for-more-Samsung-900X4-series.patch - -------------------------------------------------------------------- -Wed Aug 27 12:52:09 UTC 2014 - werner@suse.de - -- Add patch use-rndaddentropy-ioctl-to-load-random-seed.patch to - use RNDADDENTROPY ioctl to load random-seed and to increase - entropy count as well (bnc#892096) - -------------------------------------------------------------------- -Tue Aug 26 12:13:42 UTC 2014 - werner@suse.de - -- Add upstream patches for hwdb - 0001-hwdb-keymaps-for-Samsung-900X3E-900X3F.patch - 0002-Add-hwdb-entry-for-Samsung-Series-7-Ultra.patch - 0003-keymap-Fix-HP-Pavillon-DV7.patch - 0004-hwdb-update-format-description-and-document-reloadin.patch - 0008-hwdb-update.patch - -------------------------------------------------------------------- -Tue Aug 26 11:25:57 UTC 2014 - werner@suse.de - -- Port back and add the missed upstream patches from 2014/08/22 - 0004-login-set_controller-should-fail-if-prepare_vt-fails.patch - 0006-login-share-VT-signal-handler-between-sessions.patch - -------------------------------------------------------------------- -Fri Aug 22 15:12:23 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-nspawn-fix-truncation-of-machine-names-in-interface-.patch - 0002-switch-root-umount-the-old-root-correctly.patch - 0003-bootchart-it-s-not-OK-to-return-1-from-a-main-progra.patch - 0005-sd-resolve-fix-allocation-if-query-ids-never-reuse-t.patch - 0007-journald-also-increase-the-SendBuffer-of-dev-log-to-.patch - 0008-mount-setup-fix-counting-of-early-mounts-without-SMA.patch - 0009-journald-Fix-off-by-one-error-in-Missed-X-kernel-mes.patch - 0010-machine_kill-Don-t-kill-the-unit-when-killing-the-le.patch - 0011-units-fix-BindsTo-logic-when-applied-relative-to-ser.patch - 0012-util-try-to-be-a-bit-more-NFS-compatible-when-checki.patch - 1063-udev-path_id-suppress-ID_PATH-for-devices-with-an-un.patch - -------------------------------------------------------------------- -Fri Aug 22 01:29:06 UTC 2014 - crrodriguez@opensuse.org - -- man pages from section 3 are developer docs, move them to - the -devel package. - -------------------------------------------------------------------- -Wed Aug 20 15:06:25 UTC 2014 - werner@suse.de - -- Add patch 0001-let-systemctl-completion-ignore-at-names.patch to - remove error messages for tab completion for systemctl isolate (bnc#892162) - -------------------------------------------------------------------- -Mon Aug 18 14:40:55 UTC 2014 - werner@suse.de - -- Disable the usage of the systemd groups wheel and adm (bnc#892300) - -------------------------------------------------------------------- -Fri Aug 8 12:47:48 UTC 2014 - rmilasan@suse.com - -- Set default permissions for GenWQE device nodes to 0666 (bnc#890977). - Add 1062-rules-set-default-permissions-for-GenWQE-devices.patch - -------------------------------------------------------------------- -Fri Aug 1 09:53:30 UTC 2014 - werner@suse.de - -- Add upstream patches - 0007-hwdb-update.patch - 1061-rules-allow-systemd-to-manage-loop-device-partitions.patch - -------------------------------------------------------------------- -Thu Jul 31 07:55:47 UTC 2014 - rmilasan@suse.com - -- Rename: - udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - to - 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 21:10:21 UTC 2014 - jeffm@suse.com - -- udev: use device mapper target name for btrfs device ready (bnc#888215). -- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch - -------------------------------------------------------------------- -Wed Jul 30 12:53:07 UTC 2014 - werner@suse.de - -- Add patch tomcat6-var-lock-subsys-legacy.patch to add the - compatibility directory /var/lock/subsys (bnc#889357) - -------------------------------------------------------------------- -Wed Jul 30 11:45:21 UTC 2014 - werner@suse.de - -- Add portabiltiy patch - 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch - -------------------------------------------------------------------- -Wed Jul 30 11:32:23 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-sysv-order-initscripts-which-provide-network-before-.patch - 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch - 0003-keymap-Annotate-all-micmute-workarounds.patch - -------------------------------------------------------------------- -Wed Jul 30 11:10:34 UTC 2014 - werner@suse.de - -- Add patch tty-ask-password-agent-on-console.patch that is for system - console do ask passphrases on all devices of the console (bnc#886211) - -------------------------------------------------------------------- -Wed Jul 30 11:02:27 UTC 2014 - werner@suse.de - -- Add former SUSE and/now upstream patches (bnc#889297) - 1056-udevd-add-event-timeout-commandline-option.patch - 1057-udev-unify-event-timeout-handling.patch - 1058-udev-unify-event-timeout-handling.patch (backport for - compatibility if patch 1022 is not applied) - 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch - -------------------------------------------------------------------- -Mon Jul 28 10:08:15 UTC 2014 - werner@suse.de - -- Add patch shut-up-rpmlint-on-var-log-journal.patch to avoid - rpmlink warning -- Add upstream patches - 0001-bus-proxyd-fix-incorrect-comparison.patch - 0002-shell-completion-prevent-mangling-unit-names.patch - 0003-Always-check-asprintf-return-code.patch - 0004-bash-completion-use-list-unit-files-to-get-all-units.patch - 0005-core-only-set-the-kernel-s-timezone-when-the-RTC-run.patch - 0006-parse_boolean-require-exact-matches.patch - 0007-drop_duplicates-copy-full-BindMount-struct.patch - 0008-shell-completion-prevent-mangling-unit-names-bash.patch - 0009-journald-always-add-syslog-facility-for-messages-com.patch - -------------------------------------------------------------------- -Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de - -- Disable blkrrpart for SLES12 and below - -------------------------------------------------------------------- -Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de - -- Add upstream patch - 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch -- Add with condition blkrrpart to be able to disable the patches - 1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054 - which uses the BLKRRPART ioctl for e.g. synthesize change events - which may interfere with other tools like parted. - -------------------------------------------------------------------- -Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com - -- Update - handle-disable_caplock-and-compose_table-and-kbd_rate.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch: read - /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) - otherwise empty value in /etc/sysconfig/keyboard might override - /etc/vconsole.conf values. -- Update : - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - apply-ACL-for-nvidia-device-nodes.patch - keep-crypt-password-prompt.patch - log-target-null-instead-kmsg.patch - parse-crypttab-for-noauto-option.patch - set-and-use-default-logconsole.patch: fix all warnings in code -- Remove 0001-compress-fix-return-value.patch: not relevant to - systemd v210 code. - -------------------------------------------------------------------- -Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - -- Also change udev-generate-peristent-rule to udev-generate-persistent-rule - in file list - -------------------------------------------------------------------- -Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com - -- Rename (fix typo in script name): - udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh - -------------------------------------------------------------------- -Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com - -- Enable better checks in write_net_rules to skip adding duplicated - entries in the generate rules (bnc#888178). - Add 1053-better-checks-in-write_net_rules.patch - -------------------------------------------------------------------- -Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de - -- Change patch set-and-use-default-logconsole.patch to avoid to - write security/authorization (private) messages to console - -------------------------------------------------------------------- -Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de - -- Add patch set-and-use-default-logconsole.patch to use and set - the default logging console for both journald and kernel messages - -------------------------------------------------------------------- -Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-bash-completion-p-option-for-journalctl.patch - 0002-journalctl-man-allow-only-between-terms.patch - 0003-systemd-use-pager-for-test-and-help.patch - -------------------------------------------------------------------- -Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de - -- Use verify scripts and add permission files for systemd logger -- Avoid useless warning about static systemd unit files -- Make pam file a config file -- Remove non-break-space from this changelog - -------------------------------------------------------------------- -Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-compress-fix-return-value.patch - 0002-Be-more-verbose-when-bind-or-listen-fails.patch - 0003-Add-quotes-to-warning-message.patch - 0004-systemd-return-the-first-error-from-manager_startup.patch - -------------------------------------------------------------------- -Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de - -- Replace patch 0001-fix-only-discover-Xen-domU.patch with - upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch -- Replace patch 0001-detect-s390-virt.patch with upstream - patch 0001-systemd-detect-virt-detect-s390-virtualization.patch - -------------------------------------------------------------------- -Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-po-add-Ukrainian-translation.patch - 0002-man-document-yearly-and-annually-in-systemd.time-7.patch - 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch -- Add patch 0001-fix-only-discover-Xen-domU.patch to fix upstream - patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch - -------------------------------------------------------------------- -Thu Jul 17 06:32:51 UTC 2014 - rmilasan@suse.com - -- Check if NAME key has a value before going thru the rule (bnc#885232). - Add 1051-check-if-NAME-has-a-value.patch - -------------------------------------------------------------------- -Wed Jul 16 16:33:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Clear-up-confusion-wrt.-ENTRY_SIZE_MAX-and-DATA_SIZE.patch - 0002-units-serial-getty-.service-use-the-default-RestartS.patch - 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch - -------------------------------------------------------------------- -Tue Jul 15 12:30:31 UTC 2014 - rmilasan@suse.com - -- Only rename SRIOV-VF devices if device name start with eth (bnc#885232). - Add 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch - -------------------------------------------------------------------- -Tue Jul 15 07:39:40 UTC 2014 - werner@suse.de - -- Add patch vhangup-on-all-consoles.patch that is do a vhangup on - lines (bnc#886599) - -------------------------------------------------------------------- -Tue Jul 15 06:29:54 UTC 2014 - jlee@suse.com - -- Removed %{_libexecdir}/modules-load.d/efivars.conf because the kernel - patch of autoload efivars driver accepted by linux-efi upstream. - (bnc#881559) - https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=be756a5327fe3d4686d74d3e9b273010424e230c - -------------------------------------------------------------------- -Mon Jul 14 14:53:21 UTC 2014 - werner@suse.de - -- Update patch - 1007-physical-hotplug-cpu-and-memory.patch (bnc#869603) -- Add script systemd-remount-tmpfs (bnc#869603) as helper script - for the rule changed in patch 1007-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Mon Jul 14 11:43:12 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-event-pull-in-sd-event.h-from-event-util.h.patch - 0002-util-fix-has-cc-check-and-add-test.patch - 0003-sd-event-always-call-epoll_ctl-on-mask-updates-if-ed.patch - 0004-fileio-quote-more-shell-characters-in-envfiles.patch - -------------------------------------------------------------------- -Fri Jul 11 12:21:06 UTC 2014 - werner@suse.de - -- Only on SLES12 seccomp is available on ppc64 and s390x - -------------------------------------------------------------------- -Thu Jul 10 13:33:32 UTC 2014 - werner@suse.de - -- Port and add upstream patch - 0001-units-make-ExecStopPost-action-part-of-ExecStart.patch - -------------------------------------------------------------------- -Wed Jul 9 13:14:02 UTC 2014 - werner@suse.de - -- Add patches - 0001-logind-allow-switching-to-unused-VTs-via-SwitchTo.patch - 0002-hostnamed-add-a-new-chassis-type-for-watches.patch -- Port and add upstream patches - 0001-journal-compress-return-early-in-uncompress_startswi.patch - 0002-journal-compress-improve-xz-compression-performance.patch - -------------------------------------------------------------------- -Wed Jul 9 12:41:53 UTC 2014 - meissner@suse.com - -- enable seccomp also for ppc64 and s390x - -------------------------------------------------------------------- -Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-util-consider-0x7F-a-control-chracter-which-it-is-DE.patch - 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch - 0003-architecture-add-string-table-entries-for-mips-le-ar.patch - 0004-core-Added-support-for-ERRNO-NOTIFY_SOCKET-message-p.patch - 0005-service-don-t-accept-negative-ERRNO-notification-mes.patch - 0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch - 0007-service-flush-status-text-and-errno-values-each-time.patch - -------------------------------------------------------------------- -Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de - -- Add upstream patch - 1049-udev-link_config-ignore-errors-due-to-missing-MAC-ad.patch - -------------------------------------------------------------------- -Mon Jul 7 13:06:35 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-machine-don-t-return-uninitialized-variable.patch -- Port and add upstream patch - 0002-vconsole-setup-run-setfont-before-loadkeys.patch - -------------------------------------------------------------------- -Mon Jul 7 13:04:00 UTC 2014 - rmilasan@suse.com - -- Rename - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - to - 1048-udev-net_setup_link-add-a-bit-more-logging.patch - -------------------------------------------------------------------- -Fri Jul 4 10:01:07 UTC 2014 - werner@suse.de - -- Port and add upstream patches - 0001-udev-net_setup_link-add-a-bit-more-logging.patch - 0003-namespace-make-sure-tmp-var-tmp-and-dev-are-writable.patch - 0002-namespace-fix-uninitialized-memory-access.patch - -------------------------------------------------------------------- -Fri Jul 4 09:43:12 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-architecture-Add-tilegx.patch - 0002-architecture-Add-cris.patch - 0003-arch-add-crisv32-to-uname-check.patch - 0004-architecture-remove-cris-from-uname-list.patch - -------------------------------------------------------------------- -Fri Jul 4 09:32:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0006-hwdb-update.patch - 0007-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Thu Jul 3 12:48:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-parse_uid-return-ENXIO-for-1-uids.patch - 0002-util-when-unescaping-strings-don-t-allow-smuggling-i.patch - 0003-localed-consider-an-unset-model-as-a-wildcard.patch - 0004-sd-bus-when-an-event-loop-terminates-explicitly-clos.patch - 0005-bus-close-a-bus-that-failed-to-connect.patch - 1047-udev-net_setup_link-builtin-should-print-the-reason-.patch - -------------------------------------------------------------------- -Wed Jul 2 18:06:32 UTC 2014 - rmilasan@suse.com - -- Fix duplicated rules when having layer3 interfaces (bnc#882714). - Add 1046-fix-duplicated-rules-with-layer3-interfaces.patch - -------------------------------------------------------------------- -Tue Jul 1 14:53:44 UTC 2014 - werner@suse.de - -- Require correct pam-config version overall even for scriptlets (bnc#885288) - -------------------------------------------------------------------- -Tue Jul 1 12:19:27 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-main-uid_to_name-might-fail-due-to-OOM-protect-again.patch - 0002-journald-make-MaxFileSec-really-default-to-1month.patch - 0003-units-remove-RefuseManualStart-from-units-which-are-.patch - 0004-util-refuse-considering-UID-0xFFFF-and-0xFFFFFFFF-va.patch - 0005-nspawn-block-open_by_handle_at-and-others-via-seccom.patch - 0006-tmpfiles-don-t-do-automatic-cleanup-in-XDG_RUNTIME_D.patch - 0007-units-skip-mounting-tmp-if-it-is-a-symlink.patch - -------------------------------------------------------------------- -Tue Jul 1 09:58:04 UTC 2014 - werner@suse.de - -- Be aware that close_nointr_nofail() may fail whereas safe_close() not - -------------------------------------------------------------------- -Tue Jul 1 08:56:48 UTC 2014 - werner@suse.de - -- Add upstream patches - 1042-libudev-queue-provide-file-descriptor-to-watch-busy-.patch - 1043-libudev-queue-watch-entire-directory-to-allow-the-re.patch - 1044-rules-update-qemu-hid-rules.patch - 1045-rules-don-t-enable-usb-pm-for-Avocent-devices.patch - -------------------------------------------------------------------- -Fri Jun 27 12:46:12 UTC 2014 - werner@suse.de - -- Add upstream bug fix patch - 1041-libudev-fix-udev_queue_get_queue_is_empty-logic.patch (bnc#882714) - -------------------------------------------------------------------- -Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de - -- Update of patch 0001-detect-s390-virt.patch (bnc#880438) - -------------------------------------------------------------------- -Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de - -- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc - -------------------------------------------------------------------- -Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de - -- Add upstream patchs - 0001-core-use-correct-format-string-for-UIDs.patch - 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch - 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - -------------------------------------------------------------------- -Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de - -- Add upstream patch - 0001-units-order-network-online.target-after-network.targ.patch - to make sure that etwork-online.target follows network.target - -------------------------------------------------------------------- -Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com - -- rules: re-enable dev_id conditionally in persistent rules - (bnc#884403 and bnc#882714). - Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch - -------------------------------------------------------------------- -Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch - 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch - 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch - 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch - 0005-man-fix-path-in-crypttab-5.patch - -------------------------------------------------------------------- -Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de - -- Add upstream patch - 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it - fixes udevadm settle exit code which may had broken dracut scripts - (bnc#884271 comment#18) - -------------------------------------------------------------------- -Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de - -- Temporary disable patch 1022 (bnc#884271 and bnc#882714). - -------------------------------------------------------------------- -Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com - -- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch - to 1038-udev-fix-invalid-free-in-enable_name_policy.patch - -------------------------------------------------------------------- -Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de - -- Replace patches - 0001-systemd-empty-sigmask-on-reexec.patch with - upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch - ensure-sysctl-are-applied-after-modules-are-loaded.patch with - upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch - getty-generator-with-serial-3270-tty.patch with - upstream 0004-getty-generator-properly-escape-instance-names.patch -- Add upstream patches - 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch - 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch - 0005-po-add-Greek-translation.patch - 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0007-po-add-German-translation.patch - 0009-core-clean-up-signal-reset-logic-when-reexec.patch - 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch - 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch - 0012-core-transaction-avoid-misleading-error-message-when.patch - -------------------------------------------------------------------- -Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de - -- Invert of the boolean for locking scheme of fsck (bnc#881125) -- Remove the ghost entry /etc/hostname and require the netcfg - -------------------------------------------------------------------- -Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com - -- make sure legacy services that depend on network are started after - network is available (bnc#883565) - * 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch - * update insserv-generator.patch to translate $network into - network-online.target - -------------------------------------------------------------------- -Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de - -- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438) - to detect the virtualization layers on s390x as well - -------------------------------------------------------------------- -Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de - -- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51) - add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from - Roberts suggestion as well as readd - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-fix-invalid-free-in-killall.patch - 0002-udev-fix-invalid-free-in-enable_name_policy.patch - 0003-install-fix-invalid-free-in-unit_file_mask.patch - -------------------------------------------------------------------- -Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com - -- rules: disable usage of dev_id in persistent rules (bnc#882714). - add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch -- Disable patch (bnc#882714). - 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de - -- Add patch - 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch - from Hannes Reinecke to avoid a race condition between variable - 'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942) - -------------------------------------------------------------------- -Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de - -- Add workaround for bnc#882393 by adding the systemd update utmp - runlevel service to the wanted unit of e.g. the graphical target -- Add some later on created files to our file list - -------------------------------------------------------------------- -Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com - -- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars - module at boot time not from udev (bnc#881559). - -------------------------------------------------------------------- -Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org - -- Do not build EFI support code in architectures on which - the kernel does not support CONFIG_EFI, it won't work. - (ia64 also supports it, but that's dead so is not included) - -------------------------------------------------------------------- -Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de - -- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch - there is no need to clean out all 30 days the index data base - files nor the cachedir tags of mandb. Those files are used - for whatis(1) as well as for apropos(1). - -------------------------------------------------------------------- -Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de - -- Do not override predictable names for openSUSE - -------------------------------------------------------------------- -Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de - -- Remove systemd-detect-xendom.patch as it becomes obsolete with - upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch -- Add upstream patches - 0001-umount-modernizations.patch - 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch - 0003-core-allow-transient-mount-units.patch - 0004-systemd-detect-virt-only-discover-Xen-domU.patch - 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch - 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch - -------------------------------------------------------------------- -Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1033-udev-really-exclude-device-mapper-from-block-device.patch - 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch - -------------------------------------------------------------------- -Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de - -- Change detection of new locking scheme of fsck - -------------------------------------------------------------------- -Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de - -- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent - rules as a default on SLES-12 and predictable rules as a default - otherwise -- Add cflags shell function to check possible flags for the compiler - as well as for the linker - -------------------------------------------------------------------- -Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com - -- Add upstream patches - 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch - 1026-udevd-inotify-modernizations.patch - 1027-udev-synthesize-change-events-for-partitions-when-to.patch - 1028-udev-link-config-fix-mem-leak.patch - 1029-udev-try-first-re-reading-the-partition-table.patch - 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch - 1031-udev-make-sure-we-always-get-change-for-the-disk.patch - 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch - -------------------------------------------------------------------- -Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-sd-event-restore-correct-timeout-behaviour.patch - 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch - -------------------------------------------------------------------- -Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de - -- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch - -------------------------------------------------------------------- -Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de - -- Add dynamic detection of util-linux version to be able to - disable the fsck option -l for version less than 2.25.0 - -------------------------------------------------------------------- -Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * The patches - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and - ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch - indeed mention unit files which do not exist anymore. -- Make sure that systemd-ask-password-wall.service has a tty as - it is not sure that a tty1 exists -- Avoid broken firmware loading on newer distributions as 13.1 - -------------------------------------------------------------------- -Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de - -- Correct version check for the tcp-devel drop -- Use correct permissions for /var/log/journal -- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) - -------------------------------------------------------------------- -Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org - -- Correct the libseccomp distribution version test must be >= 13.1 -- In order to use unit directive AppArmorProfile= libapparmor-devel - must be present in buildRequires. - -------------------------------------------------------------------- -Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com - -- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm - device (bnc#879767). - -------------------------------------------------------------------- -Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de - -- Add changes from Cristian Rodríguez: - * fix keep-crypt-password-prompt.patch which floods the system - logs with bogus opendir failures, still the wrong thing to do however. - * Use %find_lang to collect locale files - * systemd-no-libattr.patch: systemd does not require libattr - but just sys/xattr.h, therefore drop the dependency. - (from upstream) - * Again, drop tcp-devel from buildRequires, this time it is not a - SUSE specific feature removal, tcpd supportdisappeared in systemd - 212 and we shouldn't keep it around. -- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch - that is rename systemd-no-libattr.patch to git format -- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor - for openSUSE 13.1 - -------------------------------------------------------------------- -Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-virt-rework-container-detection-logic.patch - 0002-fsck-include-device-name-in-the-message-about-missin.patch - 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch - 0004-util-ignore_file-should-not-allow-files-ending-with.patch - 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch -- Add upstream patches to update keyboard data base - 0007-keyboard-add-Plantronics-.Audio-mute-button.patch -- Add upstream patches for udev - 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch - 1024-udev-always-close-lock-file-descriptor.patch - -------------------------------------------------------------------- -Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com - -- Fix enabling predictable rules when using net.ifnames=1. - update: 1021-udev-re-add-persistent-net-rules.patch - -------------------------------------------------------------------- -Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com - -- Re-add persistent rules as a default and make predictable rules as - fallback (bnc#880732). - add: 1021-udev-re-add-persistent-net-rules.patch -- udev: remove seqnum API and all assumptions about seqnums - add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch - -------------------------------------------------------------------- -Tue May 27 07:23:47 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-Do-not-unescape-unit-names-in-Install-section.patch - 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch - -------------------------------------------------------------------- -Mon May 26 16:34:10 UTC 2014 - werner@suse.de - -- Add upstream patch - 1020-udev-keyboard-also-hook-into-change-events.patch - -------------------------------------------------------------------- -Mon May 26 15:25:28 UTC 2014 - werner@suse.de - -- Add upstream patches to update keyboard data base - 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch - 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch -- Add upstream patches - 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch - 0002-nspawn-restore-journal-directory-is-empty-check.patch - 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch - 0004-socket-properly-handle-if-our-service-vanished-durin.patch - -------------------------------------------------------------------- -Wed May 21 19:23:32 UTC 2014 - coolo@suse.com - -- fix file list of systemd.pc - -------------------------------------------------------------------- -Wed May 21 13:24:13 UTC 2014 - werner@suse.de - -- Add a workaround for old distributions like 13.1 to avoid - deadlocks due NFS shares stopped after network - -------------------------------------------------------------------- -Wed May 21 10:23:14 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-journal-cleanup-up-error-handling-in-update_catalog.patch - 0002-journal-properly-detect-language-specified-in-line.patch - 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch - -------------------------------------------------------------------- -Wed May 21 10:14:32 UTC 2014 - werner@suse.de - -- Add upstream patches to update usb and pci company identifiers - 0001-hwdb-update.patch - 0002-hwdb-update.patch - 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch - 0004-hwdb-update.patch - 0005-hwdb-update.patch - -------------------------------------------------------------------- -Wed May 21 08:33:34 UTC 2014 - werner@suse.de - -- Move systemd.pc and udev.pc to their main packages (bnc#876587) - -------------------------------------------------------------------- -Tue May 20 12:13:05 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-conf-parser-silently-ignore-sections-starting-with-X.patch - 0002-man-note-that-entire-sections-can-now-be-ignored.patch - 0004-machined-make-sure-GetMachineAddresses-is-available-.patch - 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch - 0006-login-add-mir-to-the-list-of-session-types.patch - 0007-logind-fix-Display-property-of-user-objects.patch - -------------------------------------------------------------------- -Tue May 20 11:31:46 UTC 2014 - werner@suse.de - -- Add upstream patches to update BluTooth company identifiers - 0001-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0002-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0003-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0004-hwdb-Update-database-of-Bluetooth-company-identifier.patch - 0005-hwdb-Update-database-of-Bluetooth-company-identifier.patch - -------------------------------------------------------------------- -Tue May 20 11:03:54 UTC 2014 - werner@suse.de - -- Add upstream patches to allow processes to serialize block device - events, also do execute the RUN tag if rename of a network device - fails: - 1016-udev-serialize-synchronize-block-device-event-handli.patch - 1017-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch - 1018-udev-avoid-use-of-uninitialized-err.patch -- Rename 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - to 1016-udev-warn-when-name_to_handle_at-is-not-implemented.patch - -------------------------------------------------------------------- -Mon May 19 13:21:18 UTC 2014 - werner@suse.de - -- Add upstream patches mainly for better lid handling (bnc#878525 - and bnc#868019) - 0001-logind-ignore-lid-switch-if-more-than-1-display-is-c.patch - 0002-logind-fix-printf-format.patch - 0003-logind-ignore-lid-switch-events-for-30s-after-each-s.patch - 0004-logind-Do-not-fail-display-count-if-a-device-has-no-.patch - 0005-logind-move-lid-switch-handling-from-logind-main-to-.patch - 0006-man-clarify-that-the-ExecReload-command-should-be-sy.patch - 0007-man-readahead-fix-cmdline-switch-inconsistency-betwe.patch - 0008-man-update-journald-rate-limit-defaults.patch - 0009-nspawn-properly-format-container_uuid-in-UUID-format.patch - 0010-logind-allow-suspending-if-there-are-no-displays.patch - -------------------------------------------------------------------- -Fri May 16 12:00:12 UTC 2014 - werner@suse.de - -- Make baselibs.conf aware to use the appropiate %post and %postun - scriptlets which includes pam-config (bnc#877674) - -------------------------------------------------------------------- -Fri May 16 11:47:06 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-core-close-socket-fds-asynchronously.patch - 0002-logind-bring-polkit-policy-for-hibernate-in-line-wit.patch - 0003-core-make-sure-to-serialize-jobs-for-all-units.patch - -------------------------------------------------------------------- -Wed May 14 07:37:08 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-replace-more-dup-by-F_DUPFD_CLOEXEC.patch - 0002-pam_systemd-use-F_DUPFD_CLOEXEC-when-dupping-session.patch - to avoid that in pam session unwanted file descriptors are inherited - -------------------------------------------------------------------- -Tue May 13 08:28:05 UTC 2014 - werner@suse.de - -- Add patch log-target-null-instead-kmsg.patch from Thomas Blume - to enable the kernel developers to see a clean kmsg ring buffer - without any systemd/udev messages included (bnc#877021) - -------------------------------------------------------------------- -Mon May 12 13:35:25 UTC 2014 - werner@suse.de - -- Add upstream patches for backlight - 0001-backlight-Avoid-restoring-brightness-to-an-unreadabl.patch - 0002-backlight-do-nothing-if-max_brightness-is-0.patch - 0003-backlight-unify-error-messages.patch - 0004-backlight-warn-if-kernel-exposes-backlight-device-wi.patch - 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch - -------------------------------------------------------------------- -Mon May 12 13:28:20 UTC 2014 - werner@suse.de - -- Add upstream patches - 0001-errno-make-sure-to-handle-the-3-errnos-that-are-alia.patch - 0002-udev-warn-when-name_to_handle_at-is-not-implemented.patch - 0003-analyze-fix-plot-with-bad-y-size.patch - 0004-job-add-waiting-jobs-to-run-queue-in-unit_coldplug.patch - 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch - -------------------------------------------------------------------- -Mon May 12 12:25:13 UTC 2014 - rmilasan@suse.com - -- Drop upstream-net_id-changes.patch and replace them with the correct - patches from upstream and their commits: - add: 1014-udev-update-net_id-comments.patch - add: 1015-udev-persistent-naming-we-cannot-use-virtio-numbers-.patch - -------------------------------------------------------------------- -Wed May 7 10:42:27 UTC 2014 - werner@suse.de - -- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume - to handle the option 'noauto' in /etc/crypttab (bnc#742774) - -------------------------------------------------------------------- -Wed May 7 09:23:01 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to have the correct terminal type used with agetty -- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch - to allow users to access systemd user journal (bnc#876694) - -------------------------------------------------------------------- -Mon May 5 14:02:16 UTC 2014 - werner@suse.de - -- Port upstream patch - 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch - back to 210 -- Add patch keep-crypt-password-prompt.patch from Thomas Blume - to fix bnc#875502 - fails to boot when swap space is encrypted -- Port upstream patch set for net_id back in patch - upstream-net_id-changes.patch - -------------------------------------------------------------------- -Fri May 2 10:12:26 UTC 2014 - werner@suse.de - -- Add patch shut-up-annoying-assertion-monotonic-clock-message.patch - to avoid annyoing messages on failing dual_timestamp_is_set in the - kernel's message ring buffer - -------------------------------------------------------------------- -Wed Apr 30 12:14:32 UTC 2014 - werner@suse.de - -- Update udev-generate-peristent-rule.sh from latest git - -------------------------------------------------------------------- -Wed Apr 30 10:55:54 UTC 2014 - werner@suse.de - -- Modify and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to avoid also ANSI escape sequences for busy jobs on s390 - -------------------------------------------------------------------- -Mon Apr 28 09:51:35 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-bash-completion-fix-__get_startable_units.patch - 0002-sysctl-replaces-some-slashes-with-dots.patch - 0003-delta-do-not-use-unicode-chars-in-C-locale.patch - 0004-implement-a-union-to-pad-out-file_handle.patch -- Add patch respect-nfs-bg-option.patch from Thomas Blume: - System fails to boot if nfs mounts get added to fstab (bnc#874665) - -------------------------------------------------------------------- -Wed Apr 23 11:46:41 UTC 2014 - oneukum@suse.com - -- Do not use runtime PM for some IBM consoles (bnc#868931) - 1013-no-runtime-PM-for-IBM-consoles.patch - -------------------------------------------------------------------- -Thu Apr 17 13:56:31 UTC 2014 - werner@suse.de - -- Extend avoid-divide-by-zero-sigtrap.patch to make the crash - handler know about SIGTRAP and SIGSYS - -------------------------------------------------------------------- -Thu Apr 17 13:37:06 UTC 2014 - werner@suse.de - -- Add avoid-divide-by-zero-sigtrap.patch which fixes bnc#867663 - that is a divide by zero on a jobless system - -------------------------------------------------------------------- -Wed Apr 16 10:17:13 UTC 2014 - werner@suse.de - -- Use latest regenerate-initrd rpm macros (fate#313506) -- Add rescue-emergency-target-conflicts.patch to avoid that - emergency and rescue sulogin are fighting on console - -------------------------------------------------------------------- -Tue Apr 15 12:19:24 UTC 2014 - werner@suse.de - -- Modify systemd-sleep-grub to let hybrid-sleep.target work even - on XEN, changes from Thomas Blume (bnc#873432) - -------------------------------------------------------------------- -Mon Apr 14 13:55:36 UTC 2014 - werner@suse.de - -- Add backported upstream patch - 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch -- Add patch systemd-detect-xendom.patch from Thomas Blume - to be able to detect XEN dom0 as well as domU -- systemd conflicts with sysvinit, ven if the package systemd-sysvinit - does already conflict with sysvinit-init (bnc#873444) - -------------------------------------------------------------------- -Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de - -- Add two patches from hare@suse.com - 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch - 1012-Skip-persistent-device-link-creation-on-multipath-de.patch - to solve bnc#872929 - -------------------------------------------------------------------- -Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com - -- Increase result size for programs stdout (bnc#867840). - add: 1010-udev-increase-result-size-for-programs.patch -- Update udev-generate-peristent-rule.sh to the latest version. -- Clean-up spec file, re-arange patch to suit the setup, all udev - patches start with 1XXX-*.{patch,diff}. -- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to - 1009-cdrom_id-use-the-old-MMC-fallback.patch -- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to - 0009-make-xsltproc-use-correct-ROFF-links.patch -- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to - 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Rename: 1014-journald-with-journaling-FS.patch to - 0014-journald-with-journaling-FS.patch -- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to - 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch -- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to - 0019-make-completion-smart-to-be-able-to-redirect.patch -- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to - 0022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de - -- Add patch portmap-wants-rpcbind-socket.patch to make sure that - rpcbind socket as well as service is up with the target -- Add or port upstream bugfix patches: - 0001-journal-fix-export-of-messages-containing-newlines.patch - 0002-systemctl-update-NAME-to-PATTERN-in-help.patch - 0003-tty-ask-password-agent-return-negative-errno.patch - 0004-systemd-python-use-.hex-instead-of-.get_hex.patch - 0005-systemd-python-fix-failing-assert.patch - -------------------------------------------------------------------- -Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-cgroup-it-s-not-OK-to-invoke-alloca-in-loops.patch - 0002-machined-fix-Kill-bus-call-on-machine-objects-when-w.patch - 0003-sd-bus-don-t-use-assert_return-to-check-for-disconne.patch - 0004-core-don-t-try-to-relabel-mounts-before-we-loaded-th.patch - 0005-sd-daemon-fix-incorrect-variable-access.patch - 0006-sd-event-initialization-perturbation-value-right-bef.patch - 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - 0009-ask-password-when-the-user-types-a-overly-long-passw.patch -- Modify patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to work together with - 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch - -------------------------------------------------------------------- -Fri Mar 28 08:10:13 UTC 2014 - werner@suse.de - -- Use Robert's revised 1006-udev-always-rename-network.patch - -------------------------------------------------------------------- -Tue Mar 25 17:28:18 UTC 2014 - werner@suse.de - -- Readd patch Forward-suspend-hibernate-calls-to-pm-utils.patch - older code base as 13.1 only -- Add patch avoid-random-hangs-on-timeouts-due-lost-cwd.patch - to be able to terminate the user manager even if cwd of the - user is gone - -------------------------------------------------------------------- -Tue Mar 25 13:08:56 UTC 2014 - thomas.blume@suse.com - -- add prepare-suspend-to-disk.patch - enable suspend conditions check and preparation for systemd-sleep - (fate#316824, bnc#856389, bnc#856392) -- remove Forward-suspend-hibernate-calls-to-pm-utils.patch since it is obsolete - (bnc#856392#c20) -- add boot-local-start.patch - fix startup for /etc/init.d/boot.local (bnc#869142) - -------------------------------------------------------------------- -Mon Mar 24 11:19:38 UTC 2014 - coolo@suse.com - -- also autoreconf in systemd-mini to simplify spec file logic - and fix build in staging:gcc49 - (obsoleting 0002-make-209-working-on-older-dist.patch) - -------------------------------------------------------------------- -Wed Mar 19 13:21:37 UTC 2014 - werner@suse.de - -- Be sure that the refreshed manual pages are installed - -------------------------------------------------------------------- -Wed Mar 19 12:09:31 UTC 2014 - werner@suse.de - -- Add patch systemctl-set-default-target.patch which explain how - to override the default.target by using --force (bnc#868439) - -------------------------------------------------------------------- -Tue Mar 18 13:23:43 UTC 2014 - werner@suse.de - -- Add Robert's udev-generate-peristent-rule shell script to - udev's tool library -- Add or port upstream bugfix patches: - 0001-gpt-auto-generator-don-t-return-OOM-on-parentless-de.patch - 0002-bus-fix-memory-leak-when-kdbus-is-not-enabled.patch - 0006-Do-not-return-1-EINVAL-on-allocation-error.patch - 0007-networkd-fix-typo.patch - 0008-sd-bus-don-t-access-invalid-memory-if-a-signal-match.patch - 0009-sd-bus-don-t-choke-if-somebody-sends-us-a-message-wi.patch - 0012-journald-remove-stray-reset-of-error-return-value.patch - 0013-core-libsystemd-systemd-timedate-udev-spelling-fixes.patch - -------------------------------------------------------------------- -Fri Mar 14 14:24:56 UTC 2014 - werner@suse.de - -- Add patch getty-generator-with-serial-3270-tty.patch to avoid - harmless error messages on not existing getty@3270 files - -------------------------------------------------------------------- -Fri Mar 14 11:07:29 UTC 2014 - werner@suse.de - -- Replace systemd-big-endian-reply-matching.patch with upstream - 0001-sd-bus-don-t-look-for-a-64bit-value-when-we-only-hav.patch - to solve broken systemd communication with and over dbus (bnc#866732) - -------------------------------------------------------------------- -Fri Mar 14 08:30:57 UTC 2014 - werner@suse.de - -- Readd patch 1008-add-msft-compability-rules.patch for - older code base as 13.1 -- Modify pre_checkin.sh to throw an error if a patch will be - applied which modifies one of Makefile.am, Makefile.in, or - configiure.ac as this breaks bootstrapping -- Add second version of make-209-working-on-older-dist.patch - to be able to apply for bootstrapping version - -------------------------------------------------------------------- -Thu Mar 13 17:35:11 UTC 2014 - schwab@linux-m68k.org - -- Don't require non-existing binutils-gold - -------------------------------------------------------------------- -Thu Mar 13 15:43:19 UTC 2014 - werner@suse.de - -- Avoid file conflict between udev and systemd (bnc#868230) - -------------------------------------------------------------------- -Wed Mar 12 16:52:09 UTC 2014 - werner@suse.de - -- Modify patch - module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch - to ignore if /etc/sysconfig/kernel does not exist (bnc#865834) - -------------------------------------------------------------------- -Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de - -- Add patch systemd-big-endian-reply-matching.patch - make sure that systemd can talk with dbus-daemon even on big - endian systems (bnc#866732) - -------------------------------------------------------------------- -Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com - -- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch -- Removed pkgconfig(dbus-1) BuildRequires - with 209 and newer, itis only - needed for quering default DBus directories, which we nowpass to configure. - This also unbreaks libdbus <-> systemd-miniBuild Cycle - -------------------------------------------------------------------- -Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-core-busname-add-lookup-string-for-BUSNAME_FAILURE_S.patch - 0002-manager-flush-memory-stream-before-using-the-buffer.patch - 0003-busname-don-t-drop-service-from-the-result-string.patch - 0004-fix-off-by-one-error-in-array-index-assertion.patch - 0005-logind-fix-policykit-checks.patch - 0006-rules-mark-loop-device-as-SYSTEMD_READY-0-if-no-file.patch - 0007-dbus-suppress-duplicate-and-misleading-messages.patch - 0008-man-multiple-sleep-modes-are-to-be-separated-by-whit.patch - -------------------------------------------------------------------- -Tue Mar 11 07:47:55 UTC 2014 - werner@suse.de - -- Make compeletion file parser work (bnc#867664) - -------------------------------------------------------------------- -Fri Mar 7 14:50:39 CET 2014 - hare@suse.de - -- Integrate powerd handling in initctl service - + Remove 1016-support-powerfail-with-powerstatus.patch - + Remove systemd-powerfail - + Add systemd-powerd-initctl-support.patch -- Remove 61-msft.rules; superseded by sg3_utils (bnc#866933) -- Persistent by-path links for ATA devices (FATE#317063) - + Update 1001-re-enable-by_path-links-for-ata-devices.patch - -------------------------------------------------------------------- -Fri Mar 7 09:25:53 UTC 2014 - werner@suse.de - -- Add or port upstream bugfix patches: - 0001-Fix-systemd-stdio-bridge-symlink.patch - 0002-execute-free-directory-path-if-we-fail-to-remove-it-.patch - 0003-Do-not-print-invalid-UTF-8-in-error-messages.patch - 0004-man-document-missing-options-of-systemd-run.patch - 0005-systemd-run-add-some-extra-safety-checks.patch - 0006-journal-assume-that-next-entry-is-after-previous-ent.patch - 0007-journal-forget-file-after-encountering-an-error.patch - 0008-core-correctly-unregister-PIDs-from-PID-hashtables.patch - 0009-logind-fix-reference-to-systemd-user-sessions.servic.patch - 0010-man-update-link-to-LSB.patch - 0011-man-systemd-bootchart-fix-spacing-in-command.patch - 0012-man-add-missing-comma.patch - 0013-units-Do-not-unescape-instance-name-in-systemd-backl.patch - -------------------------------------------------------------------- -Fri Mar 7 08:00:31 UTC 2014 - werner@suse.de - -- Add linker scripts as place holder of the old systemd shared - libraries now all included in libsystemd.so (bnc#867128) - -------------------------------------------------------------------- -Tue Mar 4 10:37:02 UTC 2014 - werner@suse.de - -- Make patch 1006-udev-always-rename-network.patch work again - and add it again. - -------------------------------------------------------------------- -Mon Mar 3 15:23:57 UTC 2014 - thomas.blume@suse.com - -- address missing owner functionality in systemd-tmpfiles (fate#314974) - 1022-systemd-tmpfiles-ownerkeep.patch - -------------------------------------------------------------------- -Mon Mar 3 14:49:48 UTC 2014 - werner@suse.de - -- Generate the bash completion files on the fly for the case of - not having the package bash-completion around -- Add or port upstream bugfix patches: - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - 0002-cdrom_id-use-the-old-MMC-fallback.patch - 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - 0004-logs-show-fix-corrupt-output-with-empty-messages.patch - 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - 0008-README-document-that-var-run-must-be-a-symlink-run.patch - 0010-Replace-var-run-with-run-in-remaining-places.patch - 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - 0014-login-fix-pos-array-allocation.patch - -------------------------------------------------------------------- -Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de - -- Update to Release v210 - + systemd will now relabel /dev after loading the SMACK policy - according to SMACK rules. - + A new unit file option AppArmoreProfile= has been added to - set the AppArmor profile for the processes of a unit. - + A new condition check ConditionArchitecture= has been added - to conditionalize units based on the system architecture, as - reported by uname()'s "machine" field. - + systemd-networkd now supports matching on the system - virtualization, architecture, kernel command line, host name - and machine ID. - + logind is now a lot more aggressive when suspending the - machine due to a closed laptop lid. - + logind will now watch SW_DOCK switches and inhibit reaction - to the lid switch if it is pressed. - + nspawn will now make use of the devices cgroup controller by - default, and only permit creation of and access to the usual - API device nodes like /dev/null or /dev/random, as well as - access to (but not creation of) the pty devices. - + systemd will now understand the usual M, K, G, T suffixes - according to SI conventions (i.e. to the base 1000) when - referring to throughput and hardware metrics. - + The DeviceAllow= setting in unit files now supports a syntax - to whitelist an entire group of devices node majors at once, - based on the /proc/devices listing. For example, with the - string "char-pts" it is now possible to whitelist all - current and future pseudo-TTYs at once. - + sd-event learned a new "post" event source. Event sources of - this type are triggered by the dispatching of any event - source of a type that is not "post". This is useful for - implementing clean-up and check event sources that are - triggered by other work being done in the program. - + The compatibility libraries for libsystemd-journal.so, - libsystem-id128.so, libsystemd-login.so and - libsystemd-daemon.so do not make use of IFUNC - anymore. -- Dropped systemd patches as those are fixed upstream: - * 0001-units-serial-getty-.service-add-Install-section.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patchc - * 0001-make-tests-with-libseccomp-work.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-units-serial-getty-.service-add-Install-section.patch -- Dropped patches as those do not work anymore - * 1006-udev-always-rename-network.patch -- Renamed systemd patches as seen from git log: - * 0001-cdrom_id-use-the-old-MMC-fallback.patch - become 0002-cdrom_id-use-the-old-MMC-fallback.patch - * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch - * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch -- Add several upstream bugfix patches which are missed: - * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch - * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch - * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch - * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch - * 0001-shared-architecture.h-fix-preprocessor-directives.patch - * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch - * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch - * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch - * 0008-README-document-that-var-run-must-be-a-symlink-run.patch - * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch - * 0010-Replace-var-run-with-run-in-remaining-places.patch - * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch - * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch - * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch - * 0014-login-fix-pos-array-allocation.patch -- Modified patches to make is build - * 0001-add-network-device-after-NFS-mount-units.patch -- Reenable libseccomp for the architecture for which libseccomp exists - -------------------------------------------------------------------- -Sun Mar 2 15:51:24 CET 2014 - ro@suse.de - -- always install compat pkgconfig files, regardless if - compat libs is enabled or not - -------------------------------------------------------------------- -Sun Mar 2 14:47:23 CET 2014 - ro@suse.de - -- disable use of libseccomp for sle12, library has not been ported - to most architectures -- do not use binutils-gold on s390/s390x, does not exist there -- fix exclude statements for bootstrap case - -------------------------------------------------------------------- -Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de - -- Add upstream patches - + 0001-cdrom_id-use-the-old-MMC-fallback.patch - + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch - + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch - -------------------------------------------------------------------- -Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de - -- Add patch - 0001-systemd-empty-sigmask-on-reexec.patch - which corrects sigmaks for reexec in initrd (bnc#864904) - -------------------------------------------------------------------- -Fri Feb 28 17:38:06 UTC 2014 - werner@suse.de - -- Add patch - 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch - to avoid error on not existing file /proc/self/loginuid - -------------------------------------------------------------------- -Fri Feb 28 17:15:38 UTC 2014 - werner@suse.de - -- Make patch - 0001-make-209-working-on-older-dist.patch - more smart that is make configure script les restrictive -- Make patch - apply-ACL-for-nvidia-device-nodes.patch - apply to v209 - -------------------------------------------------------------------- -Fri Feb 28 16:59:25 UTC 2014 - werner@suse.de - -- Update to Release v209 on the base of the work of Stefan Brüns - from declined submit request 223602: - + A new tool "systemd-socket-proxyd" has been added - + Add a new tool to save/restore rfkill state on - shutdown/boot. - + Save/restore state of keyboard backlights in addition to - display backlights on shutdown/boot. - + udev learned a new SECLABEL{} construct to label device - nodes with a specific security label when they appear. For - now, only SECLABEL{selinux} is supported, but the syntax is - prepared for additional security frameworks. - + When the User= switch is used in a unit file, also - initialize $SHELL= based on the user database entry. - + systemd no longer depends on libdbus. All communication is - now done with sd-bus, systemd's low-level bus library - implementation. - + sd-bus: add a light-weight vtable implementation that allows - defining objects on the bus with a simple static const - vtable array of its methods, signals and properties. - + systemd will not generate or install static dbus - introspection data anymore to /usr/share/dbus-1/interfaces, - as the precise format of these files is unclear, and - nothing makes use of it. - + A proxy daemon is now provided to proxy clients connecting - via classic D-Bus AF_UNIX sockets to kdbus, to provide full - compatibility with classic D-Bus. - + A bus driver implementation has been added that supports the - classic D-Bus bus driver calls on kdbus, also for - compatibility purposes. - + A new API "sd-event.h" has been added that implements a - minimal event loop API built around epoll. - + A new API "sd-rntl.h" has been added that provides an API - around the route netlink interface of the kernel, similar in - style to "sd-bus.h". - + A new API "sd-dhcp-client.h" has been added that provides a - small DHCPv4 client-side implementation. This is used by - "systemd-networkd". - + There is a new kernel command line option - "systemd.restore_state=0|1". When set to "0", none of the - systemd tools will restore saved runtime state to hardware - devices. More specifically, the rfkill and backlight states - are not restored. - + The FsckPassNo= compatibility option in mount/service units - has been removed. The fstab generator will now add the - necessary dependencies automatically, and does not require - PID1's support for that anymore. - + journalctl gained a new switch, --list-boots, that lists - recent boots with their times and boot IDs. - + The various tools like systemctl, loginctl, timedatectl, - busctl, systemd-run, ... have gained a new switch "-M" to - connect to a specific, local OS container (as direct - connection, without requiring SSH). - + systemd-run and systemd-analyze also gained support for "-H" - to connect to remote hosts via SSH. This is particularly - useful for systemd-run because it enables queuing of jobs - onto remote systems. - + machinectl gained a new command "login" to open a getty - login in any local container. This works with any container - that is registered with machined (such as those created by - libvirt-lxc or nspawn), and which runs systemd inside. - + machinectl gained a new "reboot" command that may be used to - trigger a reboot on a specific container that is registered - with machined. This works on any container that runs an init - system of some kind. - + systemctl gained a new "list-timers" command to print a nice - listing of installed timer units with the times they elapse - next. - + Alternative reboot() parameters may now be specified on the - "systemctl reboot" command line and are passed to the - reboot() system call. - + systemctl gained a new --job-mode= switch to configure the - mode to queue a job with. This is a more generic version of - --fail, --irreversible, and --ignore-dependencies, which are - still available but not advertised anymore. - + /etc/systemd/system.conf gained new settings to configure - various default timeouts of units, as well as the default - start limit interval and burst. These may still be overridden - within each Unit. - + PID1 will now export on the bus profile data of the security - policy upload process (such as the SELinux policy upload to - the kernel). - + journald: when forwarding logs to the console, include - timestamps (following the setting in - /sys/module/printk/parameters/time). - + OnCalendar= in timer units now understands the special - strings "yearly" and "annually". (Both are equivalent) - + The accuracy of timer units is now configurable with the new - AccuracySec= setting. It defaults to 1min. - + A new dependency type JoinsNamespaceOf= has been added that - allows running two services within the same /tmp and network - namespace, if PrivateNetwork= or PrivateTmp= are used. - + A new command "cat" has been added to systemctl. It outputs - the original unit file of a unit, and concatenates the - contents of additional "drop-in" unit file snippets, so that - the full configuration is shown. - + systemctl now supports globbing on the various "list-xyz" - commands, like "list-units" or "list-sockets", as well as on - those commands which take multiple unit names. - + journalctl's --unit= switch gained support for globbing. - + All systemd daemons now make use of the watchdog logic so - that systemd automatically notices when they hang. - + If the $container_ttys environment variable is set, - getty-generator will automatically spawn a getty for each - listed tty. This is useful for container managers to request - login gettys to be spawned on as many ttys as needed. - + %h, %s, %U specifier support is not available anymore when - used in unit files for PID 1. This is because NSS calls are - not safe from PID 1. They stay available for --user - instances of systemd, and as special case for the root user. - + loginctl gained a new "--no-legend" switch to turn off output - of the legend text. - + The "sd-login.h" API gained three new calls: - sd_session_is_remote(), sd_session_get_remote_user(), - sd_session_get_remote_host() to query information about - remote sessions. - + The udev hardware database now also carries vendor/product - information of SDIO devices. - + The "sd-daemon.h" API gained a new sd_watchdog_enabled() to - determine whether watchdog notifications are requested by - the system manager. - + Socket-activated per-connection services now include a - short description of the connection parameters in the - description. - + tmpfiles gained a new "--boot" option. When this is not used, - only lines where the command character is not suffixed with - "!" are executed. When this option is specified, those - options are executed too. - + systemctl gained a new "import-environment" command which - uploads the caller's environment (or parts thereof) into the - service manager so that it is inherited by services started - by the manager. This is useful to upload variables like - $DISPLAY into the user service manager. - + A new PrivateDevices= switch has been added to service units - which allows running a service with a namespaced /dev - directory that does not contain any device nodes for - physical devices. More specifically, it only includes devices - such as /dev/null, /dev/urandom, and /dev/zero which are API - entry points. - + logind has been extended to support behaviour like VT - switching on seats that do not support a VT. This makes - multi-session available on seats that are not the first seat - (seat0), and on systems where kernel support for VTs has - been disabled at compile-time. - + If a process holds a delay lock for system sleep or shutdown - and fails to release it in time, we will now log its - identity. This makes it easier to identify processes that - cause slow suspends or power-offs. - + When parsing /etc/crypttab, support for a new key-slot= - option as supported by Debian is added. It allows indicating - which LUKS slot to use on disk, speeding up key loading. - + The sd_journald_sendv() API call has been checked and - officially declared to be async-signal-safe so that it may - be invoked from signal handlers for logging purposes. - + Boot-time status output is now enabled automatically after a - short timeout if boot does not progress, in order to give - the user an indication what she or he is waiting for. - + The boot-time output has been improved to show how much time - remains until jobs expire. - + The KillMode= switch in service units gained a new possible - value "mixed". If set, and the unit is shut down, then the - initial SIGTERM signal is sent only to the main daemon - process, while the following SIGKILL signal is sent to - all remaining processes of the service. - + logind will now also track a "Desktop" identifier for each - session which encodes the desktop environment of it. This is - useful for desktop environments that want to identify - multiple running sessions of itself easily. - + A new SELinuxContext= setting for service units has been - added that allows setting a specific SELinux execution - context for a service. - + Most systemd client tools will now honour $SYSTEMD_LESS for - settings of the "less" pager. - + systemd's "seccomp" hook-up has been changed to make use of - the libseccomp library instead of using its own - implementation. This has benefits for portability among - other things. -- Dropped systemd patches as those are fixed upstream: - * 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch - * 0002-fix-lingering-references-to-var-lib-backlight-random.patch - * 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch - * 0004-systemctl-fix-name-mangling-for-sysv-units.patch - * 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch - * 0006-journald-add-missing-error-check.patch - * 0007-bus-fix-potentially-uninitialized-memory-access.patch - * 0008-dbus-fix-return-value-of-dispatch_rqueue.patch - * 0009-modules-load-fix-error-handling.patch - * 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch - * 0011-strv-don-t-access-potentially-NULL-string-arrays.patch - * 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch - * 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch - * 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch - * 0001-gpt-auto-generator-exit-immediately-if-in-container.patch - * 0001-manager-when-verifying-whether-clients-may-change-en.patch - * 0001-logind-fix-bus-introspection-data-for-TakeControl.patch - * 0001-mount-check-for-NULL-before-reading-pm-what.patch - * 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch - * 0001-systemd-serialize-deserialize-forbid_restart-value.patch - * 0001-core-unify-the-way-we-denote-serialization-attribute.patch - * 0001-journald-fix-minor-memory-leak.patch - * 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch - * 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch - * 0001-login-fix-invalid-free-in-sd_session_get_vt.patch - * 0001-login-make-sd_session_get_vt-actually-work.patch - * 0001-Never-call-qsort-on-potentially-NULL-arrays.patch - * 0001-dbus-common-avoid-leak-in-error-path.patch - * 0001-drop-ins-check-return-value.patch - * 0001-shared-util-Fix-glob_extend-argument.patch - * 0001-Fix-bad-assert-in-show_pid_array.patch - * 0001-analyze-set-white-background.patch - * 0001-analyze-set-text-on-side-with-most-space.patch - * analyze-fix-crash-in-command-line-parsing.patch - * 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - * U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * build-sys-make-multi-seat-x-optional.patch - * 1017-skip-native-unit-handling-if-sysv-already-handled.patch - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Dropped backported systemd patches as those are fixed upstream - * 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - * 1011-check-4-valid-kmsg-device.patch - * 0001-logind-garbage-collect-stale-users.patch -- Dropped udev patches as those are fixed fixed upstream: - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch -- Modified patches - * 1006-udev-always-rename-network.patch -- Replaced patches - * the patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - is upstream now but has to be replaced by patch - 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to fix an further issue similar to the upstream patch (bnc#852015) - * the patch - 0001-upstream-systemctl-halt-reboot-error-handling.patch - is upstream now, only the part with the halt after a failed poweroff - has been added to the patch - 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - -------------------------------------------------------------------- -Thu Feb 27 15:13:09 UTC 2014 - werner@suse.de - -- Add patch 0001-make-209-working-on-older-dist.patch to make - it usable on older distributions like 13.1 - -------------------------------------------------------------------- -Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de - -- Add patch 0001-add-network-device-after-NFS-mount-units.patch to - add "After" dependency to all NFS shares to the network interface - device as this ensures at shutdown that the NFS share becomes - unmounted before the interface is down (bnc#861489) - -+------------------------------------------------------------------- -------------------------------------------------------------------- -Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de - -- enable compat-libs, BuildRequires binutils-gold - ("old" ld fails on ifunc magic) - -------------------------------------------------------------------- -Sun Feb 23 16:11:22 UTC 2014 - stefan.bruens@rwth-aachen.de - -- add network link configuration for udev - -------------------------------------------------------------------- -Sun Feb 23 15:44:01 UTC 2014 - stefan.bruens@rwth-aachen.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch, - move to core and link in directly to avoid libudev dep all over -- Disable networkd -- Disable compat-libs, adapt files section -- add and remove some entries in the files section - -------------------------------------------------------------------- -Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de - -- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit - scripts (bnc#863217) - -------------------------------------------------------------------- -Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de - -- Modify patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to do a final sync() and flush the disks - -------------------------------------------------------------------- -Fri Feb 14 16:03:16 UTC 2014 - werner@suse.de - -- Add several upstream bugfix patches which are missed: - * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch - * 0026-udevadm.xml-document-resolve-names-option-for-test.patch - * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch - * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch - * 0031-man-document-the-b-special-boot-option.patch - * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch - * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch - * 0035-activate-mention-E-in-the-help-text.patch - * 0036-activate-fix-crash-when-s-is-passed.patch - * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch - * 0038-core-socket-fix-SO_REUSEPORT.patch - * 0039-journal-when-appending-to-journal-file-allocate-larg.patch - * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch - * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch - * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch - * 0043-journal-simplify-pre-allocation-logic.patch - * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch - * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch - * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch - * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch - * 0049-systemd-treat-reload-failure-as-failure.patch -- Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch - to avoid potential NULL pointer -- Reorder patches to reflect udev/systemd usage - -------------------------------------------------------------------- -Tue Feb 11 10:53:48 UTC 2014 - coolo@suse.com - -- don't build bash-completions for bootstrap package - -------------------------------------------------------------------- -Tue Feb 11 10:25:26 UTC 2014 - coolo@suse.com - -- add more requires to this-is-only-for-build-envs to avoid - problems in kiwi configs - -------------------------------------------------------------------- -Mon Feb 10 15:15:35 UTC 2014 - werner@suse.de - -- Add patch 0145-logind-use-correct-who-enum-values-with-KillUnit.patch - to be able to kill sessions (bnc#860574) - -------------------------------------------------------------------- -Mon Feb 10 11:19:31 UTC 2014 - werner@suse.de - -- Do not return from main shell script but simply exit (bnc#862789) - -------------------------------------------------------------------- -Sun Feb 9 18:43:38 UTC 2014 - werner@suse.de - -- ... as only the systemd-analyze completion depends on - bash-completion I prefere a without which has to be defined - for SLES 12 - -------------------------------------------------------------------- -Sun Feb 9 11:21:07 UTC 2014 - coolo@suse.com - -- avoid bootstrap cycle with libusb and systemd-mini - -------------------------------------------------------------------- -Sat Feb 8 06:12:55 UTC 2014 - coolo@suse.com - -- split bash-completion support into its own package, - no need for sles_version - -------------------------------------------------------------------- -Fri Feb 7 13:02:28 UTC 2014 - werner@suse.de - -- Split off systemd-rpm-macros as a separate package to avoid - a rebuild of all packages due new systemd package -- Define a sles_version 12 for suse_version 1315 - -------------------------------------------------------------------- -Wed Feb 5 11:19:28 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to disable the workaround to find /dev/3270/tty1 as this now - should be done by a) the kernel patch - http://lkml.indiana.edu/hypermail/linux/kernel/1402.0/02319.html - and the changed udev rule 99-systemd.rules - -------------------------------------------------------------------- -Sun Feb 2 08:53:17 UTC 2014 - ohering@suse.com - -- Remove PreReq pidof from udev, nothing in this pkg uses it - -------------------------------------------------------------------- -Fri Jan 31 14:24:35 UTC 2014 - werner@suse.de - -- Change and extend patch - 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to re-enable colouring if 3270 console was enforced on the kernel - command line as 3270 cna handle colour ANSI escape sequences. - Also let the serial getty generator find the /dev/3270/tty1 - character device (bnc#861316) - -------------------------------------------------------------------- -Thu Jan 30 12:33:08 UTC 2014 - werner@suse.de - -- Add patch 0001-On_s390_con3270_disable_ANSI_colour_esc.patch - to strip the colouring ANSI escape sequences from the console - messages (bnc#860937) - -------------------------------------------------------------------- -Thu Jan 30 08:29:00 UTC 2014 - werner@suse.de - -- Change patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - to skip already by the kernel managed devices - -------------------------------------------------------------------- -Wed Jan 29 18:03:39 UTC 2014 - arvidjaar@gmail.com - -- fix timeout stopping user@.service (bnc#841544) - * 0001-core-introduce-new-KillMode-mixed-which-sends-SIGTER.patch - * 0002-service-allow-KillMode-mixed-in-conjunction-with-PAM.patch - * 0003-core-make-sure-to-always-go-through-both-SIGTERM-and.patch - -------------------------------------------------------------------- -Tue Jan 28 12:44:07 UTC 2014 - werner@suse.de - -- Add patch 0001-upstream-systemctl-halt-reboot-error-handling.patch - to be able to detect if the sysctl reboot() returns. -- Add patch 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch - A check for unmaintained disk like devices is added to be able to - flush and maybe shut them down. Also the missing sync() system - call is added for the direct halt/reboot systemctl command. Then - the system halt is used as fallback if poweroff fails for both - the direct poweroff systemctl command as well as for the - systemd-shutdown utility. - -------------------------------------------------------------------- -Thu Jan 23 13:24:53 UTC 2014 - werner@suse.de - -- Make systemd-mini build - -------------------------------------------------------------------- -Thu Jan 23 13:18:39 UTC 2014 - werner@suse.de - -- Make requires bash-completion a recommends - -------------------------------------------------------------------- -Tue Jan 21 13:05:59 UTC 2014 - werner@suse.de - -- Add patch 1017-skip-native-unit-handling-if-sysv-already-handled.patch - to avoid that enabled boot scripts will be handled as unit files - by systemctl status command (bnc#818044) - -------------------------------------------------------------------- -Tue Jan 21 12:51:20 UTC 2014 - werner@suse.de - -- Drop patch 1017-enforce-sufficient-shutdown-warnings.patch - as the original code behaves exactly as the shutdown code of - the old SysVinit (bnc#750845) -- Rename support-powerfail-with-powerstatus.patch to - 1016-support-powerfail-with-powerstatus.patch - -------------------------------------------------------------------- -Mon Jan 20 10:18:20 UTC 2014 - fcrozat@suse.com - -- Add analyze-fix-crash-in-command-line-parsing.patch: fix crash in - systemd-analyze (bnc#859365) - -------------------------------------------------------------------- -Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de - -- Add patch - 1019-make-completion-smart-to-be-able-to-redirect.patch - to make redirections work with the bash command completions for - for systemd command tools (bnc#856858, bnc#859072) - -------------------------------------------------------------------- -Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de - -- Add patch - 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch - to support the "+" to tag wanted dependencies as well as make - sure that required dependencies are handles as required ones. - This should fix bnc#858864 and bnc#857204. - -------------------------------------------------------------------- -Thu Jan 16 16:08:00 UTC 2014 - lnussel@suse.de - -- apply preset also to service files that are new in upgrade - -------------------------------------------------------------------- -Wed Jan 15 14:11:02 UTC 2014 - werner@suse.de - -- Change support-powerfail-with-powerstatus.patch to use BindsTo - instead of BindTo - -------------------------------------------------------------------- -Wed Jan 15 12:34:53 UTC 2014 - werner@suse.de - -- Add patch 1017-enforce-sufficient-shutdown-warnings.patch - Warn once per hour in the last 3 hours, then all 30 minutes in last - hour, all 15 minutes in the last 45 minutes, all 10 minutes in the - last 15 minutes, and then all minute in the last 10 minutes (bnc#750845) - -------------------------------------------------------------------- -Tue Jan 14 18:28:09 UTC 2014 - werner@suse.de - -- Add patch support-powerfail-with-powerstatus.patch and source - file systemd-powerfail to implement SIGPWR support with evaluation - of the file /var/run/powerstatus (bnc#737690) - -------------------------------------------------------------------- -Fri Dec 20 12:06:18 UTC 2013 - werner@suse.de - -- Adapt patch - 1011-check-4-valid-kmsg-device.patch - to fit current upstream version maybe related to bnc#854884 -- Change patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to check if XDG_RUNTIME_DIR is set before the call of pam_putenv() - may fix bnc#855160 - -------------------------------------------------------------------- -Fri Dec 20 09:40:01 UTC 2013 - lbsousajr@gmail.com - -- Disable multi-seat-x build, since package xorg-x11-server - currently in Factory no longer needs it. - -------------------------------------------------------------------- -Wed Dec 18 18:56:01 UTC 2013 - hrvoje.senjan@gmail.com - -- Added 0001-logind-garbage-collect-stale-users.patch: Don't stop a - running user manager from garbage-collecting the user. Original - behavior caused bnc#849870 - -------------------------------------------------------------------- -Mon Dec 16 11:08:33 UTC 2013 - lbsousajr@gmail.com - -- Add build-sys-make-multi-seat-x-optional.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=bd441fa27a22b7c6e11d9330560e0622fb69f297 - * Now systemd-multi-seat-x build can be disabled with configure option - --disable-multi-seat-x. It should be done when xorg-x11-server - no longer needs it (work in progress). - -------------------------------------------------------------------- -Mon Dec 16 09:43:29 UTC 2013 - fcrozat@suse.com - -- Update insserv-generator.patch: fix crash in insserv generator - (bnc#854314). -- Update apply-ACL-for-nvidia-device-nodes.patch with latest fixes - for Nvidia cards (bnc#808319). - -------------------------------------------------------------------- -Fri Dec 6 13:30:19 UTC 2013 - werner@suse.de - -- Add patch - 1014-journald-with-journaling-FS.patch - which now uses the file system ioctls for switching off atime, - compression, and copy-on-write of the journal directory of the - the systemd-journald (bnc#838475) -- Let us build require the package config for libpcre (bnc#853293) - -------------------------------------------------------------------- -Sat Nov 30 08:16:02 UTC 2013 - arvidjaar@gmail.com - -- Add patch - 0001-core-replace-OnFailureIsolate-setting-by-a-more-gene.patch - Make sure emergency shell is not killed by attempt to start another unit - (bnc#852021). Backported from d420282b28f50720e233ccb1c02547c562195653. -- Add patch - make-emergency.service-conflict-with-syslog.socket.patch - Previous patch did not fix problem if syslog connection request came - after emergency shell was already started. So forcibly stop syslog.socket - when starting emergency.service. (bnc#852232) - -------------------------------------------------------------------- -Thu Nov 28 10:25:58 UTC 2013 - lbsousajr@gmail.com - -- Add U_logind_revert_lazy_session_activation_on_non_vt_seats.patch - * See: http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50 - -------------------------------------------------------------------- -Tue Nov 26 15:12:58 UTC 2013 - werner@suse.de - -- Add patch - 1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch - to avoid (xdg-)su to set XDG_RUNTIME_DIR to the original user and - avoid that e.g. pulseaudio will create /run/user//pulse owned - by root (bnc#852015) - -------------------------------------------------------------------- -Thu Nov 21 12:27:11 UTC 2013 - werner@suse.de - -- Add patch - 1011-check-4-valid-kmsg-device.patch - to avoid a busy systemd-journald (bnc#851393) - -------------------------------------------------------------------- -Wed Nov 6 09:42:05 UTC 2013 - werner@suse.de - -- Add patch - 1010-do-not-install-sulogin-unit-with-poweroff.patch - that is do not install console-shell.service in any system target - as this will cause automatic poweroff at boot (bnc#849071) - -------------------------------------------------------------------- -Mon Nov 4 15:23:02 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-text-on-side-with-most-space.patch - to place the text on the side with most space - -------------------------------------------------------------------- -Fri Oct 25 12:12:48 UTC 2013 - werner@suse.de - -- Add upstream patch - 0001-analyze-set-white-background.patch - to make SVG output of systemd analyze readable - -------------------------------------------------------------------- -Mon Oct 21 09:27:36 UTC 2013 - werner@suse.de - -- Add patch - 1009-make-xsltproc-use-correct-ROFF-links.patch - to have valid ROFF links in manual pages working again (bnc#842844) - -------------------------------------------------------------------- -Tue Oct 15 13:50:52 CEST 2013 - fcrozat@suse.com - -- Add - 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: - don't start gpt auto-generator in container (git). -- Add - 0001-manager-when-verifying-whether-clients-may-change-en.patch: - fix reload check in selinux case (git). -- Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: - fix introspection for TakeControl (git). -- Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix - crash when parsing some incorrect unit (git). -- Add - 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: - Fix udev rules parsing (git). -- Add - 0001-systemd-serialize-deserialize-forbid_restart-value.patch: - Fix incorrect deserialization for forbid_restart (git). -- Add - 0001-core-unify-the-way-we-denote-serialization-attribute.patch: - Ensure forbid_restart is named like other attributes (git). -- Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in - journald (git). -- Add - 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: - Improve ACPI firmware performance parsing (git). -- Add - 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: - Fix journal rotation (git). -- Add - 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: - Fix memory corruption in sd_session_get_vt (git). -- Add 0001-login-make-sd_session_get_vt-actually-work.patch: Ensure - sd_session_get_vt returns correct value (git). -- Add 0001-Never-call-qsort-on-potentially-NULL-arrays.patch: Don't - call qsort on NULL arrays (git). -- Add 0001-dbus-common-avoid-leak-in-error-path.patch: Fix memleak - in dbus-common code (git). -- Add 0001-drop-ins-check-return-value.patch: Fix return value for - drop-ins checks (git). -- Add 0001-shared-util-Fix-glob_extend-argument.patch: Fix - glob_extend argument (git). -- Add 0001-Fix-bad-assert-in-show_pid_array.patch: Fix bad assert - in show_pid_array (git). - - -------------------------------------------------------------------- -Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com - -- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: - fix acpi memleak. -- Add - 0002-fix-lingering-references-to-var-lib-backlight-random.patch: - fix invalid path in documentation. -- Add - 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: - fix invalid memory free. -- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix - name mangling for sysv units. -- Add - 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: - fix OOM handling. -- Add 0006-journald-add-missing-error-check.patch: add missing - error check. -- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: - fix uninitialized memory access. -- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix - return value. -- Add 0009-modules-load-fix-error-handling.patch: fix error - handling. -- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: - fix incorrect memory access. -- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: - fix incorrect memory access. -- Add - 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: - fix invalid pointer. -- Add - 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: - fix permission on /run/log/journal. -- Add - 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: - order remote mount points properly before remote-fs.target. - -------------------------------------------------------------------- -Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com - -- Explicitly require pam-config for %post of the main package - -------------------------------------------------------------------- -Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com - -- Release v208: - + logind gained support for facilitating privileged input and drm - devices access for unprivileged clients (helps Wayland / - kmscon). - + New kernel command line luks.options= allows to specify LUKS - options, when used with luks.uuid= - + tmpfileS.d snippets can uses specifier expansion in path names - (%m, %b, %H, %v). - + New tmpfiles.d command "m" introduced to change - owner/group/access mode of a file/directory only if it exists. - + MemorySoftLimit= cgroup settings is no longer supported - (underlying kernel cgroup attribute will disappear in the - future). - + memeory.use_hierarchy cgroup attribute is enabled for all - cgroups systemd creates in memory cgroup hierarchy. - + New filed _SYSTEMD_SLICE= is logged in journal messages related - to a slice. - + systemd-journald will no longer adjust the group of journal - files it creates to "systemd-journal" group. Permissions and - owernship is adjusted when package is upgraded. - + Backlight and random seed files are now stored in - /var/lib/systemd. - + Boot time performance measurements included ACPI 5.0 FPDT - informations if available. -- Drop merged patches: - 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, - 0002-cgroup-correct-the-log-information.patch, - 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, - 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, - 0005-core-cgroup-first-print-then-free.patch, - 0006-swap-fix-reverse-dependencies.patch, - 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, - 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, - Fix-timeout-when-stopping-Type-notify-service.patch, - set-ignoreonisolate-noauto-cryptsetup.patch, - 0001-Fix-buffer-overrun-when-enumerating-files.patch, - 0007-libudev-fix-move_later-comparison.patch. -- Refresh patches - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, - handle-root_uses_lang-value-in-etc-sysconfig-language.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. -- Own more ghost files. -- Do not run pam-config in systemd-mini %post. -- Add after-local.service to run after.local late during the boot - process (bnc#778715). - -------------------------------------------------------------------- -Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com - -- Update Fix-timeout-when-stopping-Type-notify-service.patch with - upstream fix. -- No longer start ask-password-wall, was causing too much spam on - terminals (bnc#747783). - -------------------------------------------------------------------- -Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com - -- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto - encrypted mounts survives runlevel changes (bnc#843085). -- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix - logind crash when /run/systemd/sessions was too big (bnc#840055, - initial fix from hpj@suse.com). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - only check for /boot/sysctl.conf- presence. -- Add service wrapper for after.local (bnc#778715). - -------------------------------------------------------------------- -Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com - -- Update use-usr-sbin-sulogin-for-emergency-service.patch to apply - to all services using sulogin and remove generated files from - upstream tarball (bnc#841398). - -------------------------------------------------------------------- -Mon Sep 23 13:09:06 UTC 2013 - arvidjaar@gmail.com - -- Fix-timeout-when-stopping-Type-notify-service.patch - Make sure MAINPID is watched when it becomes known (bnc#841544) - -------------------------------------------------------------------- -Mon Sep 23 13:11:08 CEST 2013 - fcrozat@suse.com - -- Remove output and error redirection to /dev/null in install - script, it might help tracing pam related issue (bnc#841573). - -------------------------------------------------------------------- -Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com - -- Move symlink migration trigger to post (bnc#821800). - -------------------------------------------------------------------- -Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org - -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch - VUL-0: polkit: process subject race condition [bnc#835827] - CVE-2013-4288 - -------------------------------------------------------------------- -Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-ima as the openSUSE kernel - does not support IMA (CONFIG_IMA is not set) - -------------------------------------------------------------------- -Wed Sep 18 23:40:27 UTC 2013 - crrodriguez@opensuse.org - -- Build with --disable-smack as the openSUSE kernel - does not support smack (CONFIG_SECURITY_SMACK is not set) - -------------------------------------------------------------------- -Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com - -- Don't use a trigger to create symlink for sysctl.conf, always run - the test on %post (bnc#840864). -- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to - ensure /boot is mounted before reading /boot/sysctl.conf-* - (bnc#809420). - -------------------------------------------------------------------- -Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org - -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous - commit & the opensuse-factory mailing list. - -------------------------------------------------------------------- -Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org - -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch - missing important check on return value. -- 0002-cgroup-correct-the-log-information.patch fix misleading - log information. -- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix - setting memory cgroup -- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch - should fail if write fails. -- 0005-core-cgroup-first-print-then-free.patch use-after-free - will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in - opensuse-factory list, topic "swap isn't activated" -- 0007-libudev-fix-move_later-comparison.patch libudev - invalid usage of "move_later". - -------------------------------------------------------------------- -Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - -- while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: - No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of - /run/dbus/system_bus_socket and that does not fly when /var/run - is not yet available. (systemd-dbus-system-bus-address.patch) - -------------------------------------------------------------------- -Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com - -- Enable Predictable Network interface names (bnc#829526). - -------------------------------------------------------------------- -Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org - -- version 207, distribution specific changes follow, for overall - release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: - Operation not permitted - * Fix shutdown hang "a stop job is running for Session 1 of user root" - that was reported in opensuse-factory list. -- systemd-sysctl no longer reads /etc/sysctl.conf however backward - compatbility is to be provides by a symlink created at %post. -- removed previously disabled upstream patches (merged): - 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, - 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, - 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, - 0006-suppress-status-message-output-at-shutdown-when-quie.patch, -- removed upstream merged patches: - exclude-dev-from-tmpfiles.patch, - logind_update_state_file_after_generating_....patch -- Add systemd-pam_config.patch: use correct include name for PAM - configuration on openSUSE. - -------------------------------------------------------------------- -Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com - -- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from - tmpfiles (bnc#835813). - -------------------------------------------------------------------- -Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com - -- Remove - force-lvm-restart-after-cryptsetup-target-is-reached.patch and - remove additional dependencies on LVM in other patches: LVM has - now systemd support, no need to work around it anymore in - systemd. - -------------------------------------------------------------------- -Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com - -- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch - to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 - -------------------------------------------------------------------- -Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de - -- explicitly enable getty@tty1.service instead of getty@.service as - the tty1 alias has been removed from the file (bnc#833494) - -------------------------------------------------------------------- -Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com - -- Ensure /usr/lib/systemd/system/shutdown.target.wants is created - and owned by systemd package. - -------------------------------------------------------------------- -Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com - -- Fix drop-in for getty@tty1.service - -------------------------------------------------------------------- -Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com - -- Move systemd-journal-gateway to subpackage to lower dependencies - in default install. - -------------------------------------------------------------------- -Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org - -- version 206 , highlights: -* Unit files now understand the new %v specifier which - resolves to the kernel version string as returned by "uname-r". -* "journalctl -b" may now be used to look for boot output of a - specific boot. Try "journalctl -b -1" -* Creation of "dead" device nodes has been moved from udev - into kmod and tmpfiles. -* The udev "keymap" data files and tools to apply keyboard - specific mappings of scan to key codes, and force-release - scan code lists have been entirely replaced by a udev - "keyboard" builtin and a hwdb data file. - -- remove patches now in upstream -- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 -- systemd now require the kmod tool in addition to the library. - -------------------------------------------------------------------- -Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com - -- use-usr-sbin-sulogin-for-emergency-service.patch - emergency.service failed to start because sulogin is in /usr/sbin now - -------------------------------------------------------------------- -Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de - -- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, - not a directory - -------------------------------------------------------------------- -Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org - -- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch - fix segfault at shutdown -- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch - disable the cgroups release agent when shutting down. -- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch - remove ancient fallback code; turn connection error into warning -- 006-suppress-status-message-output-at-shutdown-when-quie.patch - make shutdown honour "quiet" kernel cmdline. - -------------------------------------------------------------------- -Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org - -- fix broken symlink, service is called systemd-random-seed now. - -------------------------------------------------------------------- -Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com - -- Update to release 205: - + two new unit types have been introduced: - - Scope units are very similar to service units, however, are - created out of pre-existing processes -- instead of PID 1 - forking off the processes. - - Slice units may be used to partition system resources in an - hierarchial fashion and then assign other units to them. By - default there are now three slices: system.slice (for all - system services), user.slice (for all user sessions), - machine.slice (for VMs and containers). - + new concept of "transient" units, which are created at runtime - using an API and not based on configuration from disk. - + logind has been updated to make use of scope and slice units to - manage user sessions. Logind will no longer create cgroups - hierchies itself but will relying on PID 1. - + A new mini-daemon "systemd-machined" has been added which - may be used by virtualization managers to register local - VMs/containers. machinectl tool has been added to query - meta-data from systemd-machined. - + Low-level cgroup configuration options ControlGroup=, - ControlGroupModify=, ControlGroupPersistent=, - ControlGroupAttribute= have been removed. High-level attribute - settings or slice units should be used instead? - + A new bus call SetUnitProperties() has been added to alter - various runtime parameters of a unit, including cgroup - parameters. systemctl gained set-properties command to wrap - this call. - + A new tool "systemd-run" has been added which can be used to - run arbitrary command lines as transient services or scopes, - while configuring a number of settings via the command - line. - + nspawn will now inform the user explicitly that kernels with - audit enabled break containers, and suggest the user to turn - off audit. - + Support for detecting the IMA and AppArmor security - frameworks with ConditionSecurity= has been added. - + journalctl gained a new "-k" switch for showing only kernel - messages, mimicking dmesg output; in addition to "--user" - and "--system" switches for showing only user's own logs - and system logs. - + systemd-delta can now show information about drop-in - snippets extending unit files. - + systemd will now look for the "debug" argument on the kernel - command line and enable debug logging, similar to - "systemd.log_level=debug" already did before. - + "systemctl set-default", "systemctl get-default" has been - added to configure the default.target symlink, which - controls what to boot into by default. - + "systemctl set-log-level" has been added as a convenient - way to raise and lower systemd logging threshold. - + "systemd-analyze plot" will now show the time the various - generators needed for execution, as well as information - about the unit file loading. - + libsystemd-journal gained a new sd_journal_open_files() call - for opening specific journal files. journactl also gained a - new switch to expose this new functionality (useful for - debugging). - + systemd gained the new DefaultEnvironment= setting in - /etc/systemd/system.conf to set environment variables for - all services. - + If a privileged process logs a journal message with the - OBJECT_PID= field set, then journald will automatically - augment this with additional OBJECT_UID=, OBJECT_GID=, - OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if - system services want to log events about specific client - processes. journactl/systemctl has been updated to make use - of this information if all log messages regarding a specific - unit is requested. -- Remove 0001-journal-letting-interleaved-seqnums-go.patch, - 0002-journal-remember-last-direction-of-search-and-keep-o.patch, - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, - 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, - 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, - 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, - 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, - Start-ctrl-alt-del.target-irreversibly.patch, - systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged - upstream. -- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, - 1008-add-msft-compability-rules.patch, - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, - fix-support-for-boot-prefixed-initscript-bnc-746506.patch, - handle-SYSTEMCTL_OPTIONS-environment-variable.patch, - handle-numlock-value-in-etc-sysconfig-keyboard.patch, - insserv-generator.patch, - optionally-warn-if-nss-myhostname-is-called.patch, - remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, - restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, - service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. -- Update macros.systemd.upstream with latest upstream revision. - -------------------------------------------------------------------- -Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com - -- Replace - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch - patch with insserv-generator.patch: no longer patch systemd main - binary but generate systemd drop-in files using a generator, for - insserv.conf compatibility. - -------------------------------------------------------------------- -Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com - -- systemd-mini doesn't need dbus-1, only dbus-1-devel - -------------------------------------------------------------------- -Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com - -- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). - add: 1008-add-msft-compability-rules.patch - -------------------------------------------------------------------- -Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com - -- Drop 1007-add-msft-compability-rules.patch, breaks boot and links - in /dev/disk/by-id, will need proper rework (bnc#826528). - -------------------------------------------------------------------- -Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org - -- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another - case where we are trying to umount the root directory at shutdown. -- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch - only attempt to connect to a session bus if one likely exists - -------------------------------------------------------------------- -Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - -- Automatically online CPUs/Memory on CPU/Memory hotplug add events - (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch - -------------------------------------------------------------------- -Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - -- Dropped backward compatibility -- Added check for upstream rpm macros changes - -------------------------------------------------------------------- -Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com - -- Split out RPM macros into separate package to simplify dependencies - -------------------------------------------------------------------- -Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - -- 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 - -------------------------------------------------------------------- -Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de - -- Explicitly list libattr-devel as BuildRequires -- More robust make install call. Remove redundant %clean section. - -------------------------------------------------------------------- -Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz - -- Cleanup NumLock setting code - (handle-numlock-value-in-etc-sysconfig-keyboard.patch). - -------------------------------------------------------------------- -Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com - -- Only apply 1007-add-msft-compability-rules.patch when not - building systemd-mini. - -------------------------------------------------------------------- -Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com - -- Add udev MSFT compability rules (bnc#805059). - add: 1007-add-msft-compability-rules.patch -- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). -- Clean-up spec file, put udev patches after systemd patches. -- Rebase patches so they would apply nicely. - -------------------------------------------------------------------- -Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - -- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch - fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, - ignoring: Invalid argument -- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch - systemctl disable should remove dangling symlinks. -- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch - alien childs are reported as alive when they are really dead. - -------------------------------------------------------------------- -Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com - -- Update to release 204: - + systemd-nspawn creates etc/resolv.conf in container if needed. - + systemd-nspawn will store metadata about container in container - cgroup including its root directory. - + cgroup hierarchy has been reworked, all objects are now suffxed - (with .session for user sessions, .user for users, .nspawn for - containers). All cgroup names are now escaped to preven - collision of object names. - + systemctl list-dependencies gained --plain, --reverse, --after - and --before switches. - + systemd-inhibit shows processes name taking inhibitor lock. - + nss-myhostname will now resolve "localhost" implicitly. - + .include is not allowed recursively anymore and only in unit - files. Drop-in files should be favored in most cases. - + systemd-analyze gained "critical-chain" command, to get slowest - chain of units run during boot-up. - + systemd-nspawn@.service has been added to easily run nspawn - container for system services. Just start - "systemd-nspawn@foobar.service" and container from - /var/lib/container/foobar" will be booted. - + systemd-cgls has new --machine parameter to list processes from - one container. - + ConditionSecurity= can now check for apparmor and SMACK. - + /etc/systemd/sleep.conf has been introduced to configure which - kernel operation will be execute when "suspend", "hibernate" or - "hybrid-sleep" is requrested. It allow new kernel "freeze" - state to be used too. (This setting won't have any effect if - pm-utils is installed). - + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape - passed argument if applicable. -- Regenerate some patches for this new release. -- Rename hostname-setup-shortname.patch to - ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git - format-patch friendly. -- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to - /dev/nvidia* (bnc#808319). -- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a - configure option. -- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids - expansion errors. -- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del - should be irreversible for reliability. - -------------------------------------------------------------------- -Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org - -- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash -support has been removed from the kernel. -- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch -fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 -- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch -only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in -Revert-service-drop-support-for-SysV-scripts-for-the-early.patch -use HAVE_SYSV_COMPAT instead. - -------------------------------------------------------------------- -Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com - -- Do no ship defaults for sysctl, they should be part of aaa_base - (currently in procps). -- Add hostname-setup-shortname.patch: ensure shortname is set as - hostname (bnc#820213). - -------------------------------------------------------------------- -Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com - -- Rebase - parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to - fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). - -------------------------------------------------------------------- -Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com - -- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure - /boot/sysctl.conf- is handled (bnc#809420). - -------------------------------------------------------------------- -Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com - -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't - free variable whose content is still be used (bnc#819970). - -------------------------------------------------------------------- -Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com - -- Add configure flags to ensure boot.local/halt.local are run on - startup/shutdown. - -------------------------------------------------------------------- -Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com - -- Fix firmware loading by enabling --with-firmware-path (bnc#817551). - -------------------------------------------------------------------- -Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de - -- Fix systemd-sysv-convert, so empty runlevel folders don't lead - to "line 44: [: too many arguments" - -------------------------------------------------------------------- -Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com - -- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup - when using /etc/HOSTNAME. - -------------------------------------------------------------------- -Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - -- Rename remaning udev patches (clean-up). -- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). -- Drop unused patches: - 1001-Reinstate-TIMEOUT-handling.patch - 1005-udev-fix-sg-autoload-regression.patch - 1026-re-add-persistent-net.patch - -------------------------------------------------------------------- -Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com - -- Use drop-in file to fix bnc#804158. - -------------------------------------------------------------------- -Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com - -- add some more conflicts to make bootstrap work - -------------------------------------------------------------------- -Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com - -- Do not provide %{release} for systemd-analyze -- Add more conflicts to -mini packages -- Disable Predictable Network interface names until it has been - reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. -- Don't package /usr/lib/firmware/update (not used) - -------------------------------------------------------------------- -Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org - -- Fix packaging error, there is no syslog.target anymore - do not pretend there is one. - -------------------------------------------------------------------- -Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com - -- Update to release 202: - + 'systemctl list-jobs' got some polishing. '--type=' argument - may now be passed more than once. 'systemctl list-sockets' has - been added. - + systemd gained a new unit 'systemd-static-nodes.service' - that generates static device nodes earlier during boot, and - can run in conjunction with udev. - + systemd-nspawn now places all containers in the new /machine - top-level cgroup directory in the name=systemd hierarchy. - + bootchart can now store its data in the journal. - + journactl can now take multiple --unit= and --user-unit= - switches. - + The cryptsetup logic now understands the "luks.key=" kernel - line switch. If a configured key file is missing, it - will fallback to prompting the user. -- Rebase some patches -- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to - properly handle SYSTEMCTL_OPTIONS - -------------------------------------------------------------------- -Fri Apr 19 12:47:13 UTC 2013 - max@suse.com - -- Fix regression in the default for tmp auto-deletion - (systemd-tmp-safe-defaults.patch, FATE#314974). - -------------------------------------------------------------------- -Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com - -- Update to release 201: - + udev now supports different nameng policies for network - interface for predictable names. - + udev gained support for loading additional device properties - from an indexed database. %udev_hwdb_update macro should be - used by packages adding entries to this database. - + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. - %journal_catalog_update macro should be used by packages adding - %entries to this database. - + "age" field for tmpfiles entries can be set to 0, forcing - removal of files matching this entry. - + coredumpctl gained "gdb" verb to invoke gdb on selected - coredump. - + New rpm macros has been added: %udev_rules_update(), - %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, - %_tmpfilesdir, %_sysctldir. - + In service files, %U can be used for configured user name of - the service. - + nspawn can be invoked without a controlling TTY. - + systemd and nspawn can accept socket file descriptors when - started for socket activation. This allow socket activated - nspawn containers. - + logind can now automatically suspend/hibernate/shutdown system - on idle. - + ConditionACPower can be used in unit file to detect if AC power - source is connected or if system is on battery power. - + EnvironmentFile= in unit files supports file globbing. - + Behaviour of PrivateTmp=, ReadWriteDirectories=, - ReadOnlyDirectories= and InaccessibleDirectories= has - changed. The private /tmp and /var/tmp directories are now - shared by all processes of a service (which means - ExecStartPre= may now leave data in /tmp that ExecStart= of - the same service can still access). When a service is - stopped its temporary directories are immediately deleted - (normal clean-up with tmpfiles is still done in addition to - this though). - + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using - "systemctl set-cgroup-attr foobar.server cgroup.attribute - value". Those settings are stored persistenly on disk. - + systemd-vconsole-setup will now copy all fonts settings to all - allocated VTs. - + timedated now exposes CanNTP property to indicate if a local - NTP service is available. - + pstore file system is mounted by default, if available. - + SMACK policies are loaded at early boot, if available. - + Timer units now support calendar time events. - + systemd-detect-virt detect xen PVs. - + Some distributions specific LSB targets has been dropped: - $x-display-manager, $mail-transfer-agent, - $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As - well mail-transfer-agent.target and syslog.target has been - removed. - + systemd-journal-gatewayd gained SSL support and now runs as - unprivileged user/group - "systemd-journal-gateway:systemd-journal-gateway" - + systemd-analyze will read, when available, boot time - performance from EFI variable from boot loader supporting it. - + A new generator for automatically mounting EFI System Partition - (ESP) to /boot (if empty and no other file system has been - configured in fstab for it). - + logind will now send out PrepareForSleep(false) out - unconditionally, after coming back from suspend. - + tmpfiles gained a new "X" line type, that allows - configuration of files and directories (with wildcards) that - shall be excluded from automatic cleanup ("aging"). - + udev default rules set the device node permissions now only - at "add" events, and do not change them any longer with a - later "change" event. - + A new bootctl tool has been added that is an interface for - certain EFI boot loader operations. - + A new tool kernel-install has been added to install kernel - images according to Boot Loader Specification. - + A new tool systemd-activate can be used to test socket - activation. - + A new group "systemd-journal" is now owning journal files, - replacing "adm" group. - + journalctl gained "--reverse" to show output in reverse order, - "--pager-end" to jump at the end of the journal in the - pager (only less is supported) and "--user-unit" to filter for - user units. - + New unit files has been addedto ease for systemd usage in - initrd. - + "systemctl start" now supports "--irreversible" to queue - operations which can be reserved. It is now used to make - shutdown requests more robust. - + Auke Kok's bootchart has been merged and relicensed to - LGPLv2.1+. - + nss-myhostname has been merged in systemd codebase. - + some defaults sysctl values are now set by default: the safe - sysrq options are turned on, IP route verification is turned - on, and source routing disabled. The recently added hardlink - and softlink protection of the kernel is turned on. - + Add support for predictable network naming logic. It can be - turned off with kernel command line switch: net.ifnames=0 - + journald will now explicitly flush journal files to disk at the - latest 5 min after each write and will mark file offline until - next read. This should increase reliability in case of crash. - + remote-fs-setup.target target has been added to pull in - specific services when at least one remote file system is to be - mounted. - + timers.target and paths.target have been added as canonical - targets to pull user timer and path units, similar to - sockets.targets. - + udev daemon now sets default number of worker processes in - parallel based on number of CPUs instead of RAM. - + Most unit file settings which takes likst of items can now be -reset by assigning empty string to them, using drop-in. - + Add support for drop-in configuration file for units. - + Most unit file settings which takes likst of items can now be - reset by assigning empty string to them, using drop-in. - + improve systemg-cgtop output. - + improve 'systemctl status' output for socket, drop-in for units. - + 'hostnamectl set-hostname' allows setting FQDN hostnames. - + fractional time intervals are now parsed properly. - + localectl can list available X11 keymaps. - + systemd-analyze dot can filter for specific units and has been - rewritten in C. - + systemctl gained "list-dependencies" command. - + Inhibitors are now honored no only in GNOME. -- Many patches has been dropped, being merged upstream. -- Many patches has been renamed and regenerated with git, to have - consistent naming, authorship and comments embedded. -- Add - Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: - re-add support for boot.* initscripts until they are all migrated - to systemd unit files. -- Merge patches for nss-myhostname package to this package. - -------------------------------------------------------------------- -Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com - -- Add chromebook lid switch as a power switch to logind rule to - enable suspend on lid close - -------------------------------------------------------------------- -Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com - -- Add improve-readahead-spinning.patch: improve readahead - performance on spinning media with ext4. -- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal - (bnc#789589). -- Add fix-lsb-provides.patch: ensure LSB provides are correctly - handled if also referenced as dependencies (bnc#809646). -- Add fix-loopback-mount.patch: ensure udevd is started (and - therefore static devices are created) before mounting - (bnc#809820). -- Update systemd-sysv-convert to search services files in new - location (bnc#809695). -- Add logind-nvidia-acl.diff: set ACL on nvidia devices - (bnc#808319). -- Add do-no-isolate-on-fsck-failure.patch: do not turn off services - if fsck fails (bnc#812874) -- Add wait-for-processes-killed.patch: wait for processes killed by - SIGTERM before killing them with SIGKILL. -- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to - systemctl command (bnc#801878). - -------------------------------------------------------------------- -Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz - -- Fixed disabling CapsLock and enabling NumLock (bnc#746595, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - systemd-numlock-suse.patch). -- Explicitly require libgcrypt-devel to fix build failure. - -------------------------------------------------------------------- -Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - -- udev: ensure that the network interfaces are renamed even if they - exist (bnc#809843). - add: 1027-udev-always-rename-network.patch - -------------------------------------------------------------------- -Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - -- udev: re-add persistent network rules (bnc#809843). - add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. - -------------------------------------------------------------------- -Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com - -- Add rbind-mount.patch: handle rbind mount points correctly - (bnc#804575). - -------------------------------------------------------------------- -Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com - -- Ensure journal is flushed on disk when systemd-logger is - installed for the first time. -- Add improve-journal-perf.patch: improve journal performance on - query. -- Add support-hybrid-suspend.patch: add support for hybrid suspend. -- Add forward-to-pmutils.patch: forward suspend/hibernation calls - to pm-utils, if installed (bnc#790157). - -------------------------------------------------------------------- -Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - -- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer - add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch -- udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch - -------------------------------------------------------------------- -Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de - -- Create getty@tty1.service to restore traditional SUSE behavior - of not clearing tty1. (bnc#804158) -- Better use of find -exec - -------------------------------------------------------------------- -Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com - -- Add early-sync-shutdown.patch: start sync just when - shutdown.target is beginning -- Update parse-multiline-env-file.patch to better handle continuing - lines. -- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). -- Add systemctl-print-wall-on-if-successful.patch: only print on - wall if successful. -- Add improve-bash-completion.patch: improve bash completion. - -------------------------------------------------------------------- -Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de - -- disable nss-myhostname warning (bnc#783841) - => disable-nss-myhostname-warning-bnc-783841.diff - -------------------------------------------------------------------- -Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - -- rework patch: - 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- udev: use unique names for temporary files created in /dev. - add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch -- cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch - -------------------------------------------------------------------- -Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com - -- usb_id: ensure we have a valid serial number as a string (bnc#779493). - add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch -- cdrom_id: created links for the default cd/dvd drive (bnc#783054). - add: 1021-create-default-links-for-primary-cd_dvd-drive.patch - -------------------------------------------------------------------- -Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com - -- Add cryptsetup-accept-read-only.patch: accept "read-only" in - addition to "readonly" in crypttab -- Update parse-multiline-env-file.patch to correctly handle - commented lines (bnc#793411) - -------------------------------------------------------------------- -Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - -- udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch -- keymap: add aditional support for some keyboard keys - add: 1018-keymap-add-aditional-support.patch -- journalctl: require argument for --priority - add: journalctl-require-argument-for-priority -- dropped useless patches: - libudev-validate-argument-udev_enumerate_new.patch - kmod-fix-builtin-typo.patch -- rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for - systemd-udev-root-symlink.service - -------------------------------------------------------------------- -Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com - -- Add tmpfiles-X-type.patch: allow to clean directories with - removing them. -- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with - --ignore-dependencies waiting for dependencies (bnc#800365). -- Update systemd-numlock-suse.patch: udev-trigger.service is now - called systemd-udev-trigger.service. -- Add improve-man-environment.patch: improve manpage regarding - Environment value. - -------------------------------------------------------------------- -Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com - -- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly - (bnc#798620). -- Update crypt-loop-file.patch to correctly detect crypto loop - files (bnc#799514). -- Add journalctl-remove-leftover-message.patch: remove debug - message in systemctl. -- Add job-avoid-recursion-when-cancelling.patch: prevent potential - recursion when cancelling a service. -- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully - parsed. -- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff - max date for journal. -- Add reword-rescue-mode-hints.patch: reword rescue prompt. -- Add improve-overflow-checks.patch: improve time overflow checks. -- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour - with symlinks. -- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure - hostnamectl requires an argument when called with set-hostname - option. -- Add agetty-overrides-term.patch: pass correctly terminal type to - agetty. -- Add check-for-empty-strings-in-strto-conversions.patch: better - check for empty strings in strto* conversions. -- Add strv-cleanup-error-path-loops.patch: cleanup strv on error - path. -- Add cryptsetup-handle-plain.patch: correctly handle "plain" - option in cryptsetup. -- Add fstab-generator-improve-error-message.patch: improve error - message in fstab-generator. -- Add delta-accept-t-option.patch: accept -t option in - systemd-delta. -- Add highlight-ordering-cycle-deletions.patch: highlight ordering - cycle deletions in logs. -- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; - in ExecStart. -- Add hostnamectl-fix-parsing-no-ask-password.patch: accept - no-ask-password in hostnamectl. -- Add systemd-cgls-fix-piping-output.patch: fix piping output of - systemd-cgls. -- Add core-load-fragment-improve-error-message.patch: improve error - message when parsing fragments. -- Add fix-potential-bad-mem-access.patch: fix potential bad memory - access. -- Add socket-improve-error-message.patch: improve error message in - socket handling. -- Add journal-send-always-send-syslog_identifier.patch: always send - syslog_identifier if available for journal. -- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. -- Add crypsetup-generator-state-file-name-in-error-message.patch: - add filename in error message from crypsetup-generator. -- Add fstab-generator-error-message-on-duplicates.patch: improve - error message on duplicate in fstab-generator. -- Add systemctl-verbose-message-on-missing-install.patch: reword - missing install error message in systemctl. -- Add shutdown-improvements.patch: various improvements at - shutdown. -- Add localectl-fix-assertion.patch: fix assertion in localectl. -- Add path-util-fix-potential-crash.patch: fix potential crash in - path-util. -- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. -- Add socket-verbose-error-message.patch: add more verbose error - message in socket handling. -- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: - handle properly ssh-logins without pam tty field. -- Add fstab-generator-properly-detect-bind-mounts.patch: properly - detect bind-mounts in fstab-generator. -- Add localectl-support-systems-without-locale-archive.patch: - localectl now supports systemd without locale-archive file. -- Add logind-capability-making-seats-without-fb.patch: allows - capability of making seats without fb. -- Add service-forking-ignore-exit-status-main-process.patch: ignore - exit-statis of main process when forking, if specified in unit - file. -- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't - assert on reboot if dbus isn't there. -- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: - ignore non tty non-x11 session on shutdown. -- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io - error. -- Add do-not-make-sockets-dependent-on-lo.patch: do not make - sockets dependent on lo interface. -- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't - force MNT_FORCE on final umount at shutdown. -- Add shutdown-ignore-loop-devices-without-backing-file.patch: - ignore loop devices without backing file at shutdown. -- Add fix-bad-mem-access.patch: fix bad memory access -- Add parse-multiline-env-file.patch: correctly parse multiline - environment files (bnc#793411). - -------------------------------------------------------------------- -Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com - -- Add multiple-sulogin.patch: allows multiple sulogin instance - (bnc#793182). - -------------------------------------------------------------------- -Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com - -- udev: path_id - handle Hyper-V devices - add: 1008-udev-path_id-handle-Hyper-V-devices.patch -- keymap: Update the list of Samsung Series 9 models - add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch -- keymap: Add Samsung 700T - add: 1010-keymap-Add-Samsung-700T.patch -- libudev: avoid leak during realloc failure - add: 1011-libudev-avoid-leak-during-realloc-failure.patch -- libudev: do not resolve $attr{device} symlinks - add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch -- libudev: validate 'udev' argument to udev_enumerate_new() - add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch -- udev: fix whitespace - add: 1014-udev-fix-whitespace.patch -- udev: properly handle symlink removal by 'change' event - add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of - them returns an error - add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch -- udev: use usec_t and now() - add: 1017-udev-use-usec_t-and-now.patch - -------------------------------------------------------------------- -Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - -- udevd: add missing ':' to getopt_long 'e'. - add: 1007-udevd-add-missing-to-getopt_long-e.patch -- clean up systemd.spec, make it easy to see which are udev and - systemd patches. -- make 'reload' and 'force-reload' LSB compliant (bnc#793936). - -------------------------------------------------------------------- -Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - -- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. -- timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. - -------------------------------------------------------------------- -Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com - -- add conflicts between udev-mini and udev-mini-devel to libudev1 - -------------------------------------------------------------------- -Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org - -- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: - do not consider failure to umount / and /usr an error. - -------------------------------------------------------------------- -Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com - -- Add fix-devname-prefix.patch: fix modules.devname path, it isn't - in /usr. -- Move post script to fix symlinks in /etc/systemd/system to a - trigger to run it after old systemd is uninstalled. - -------------------------------------------------------------------- -Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com - -- Add fix-debugshell.patch: use /bin/bash if sushell isn't - installed (bnc#789052). -- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype - (bnc#792182). -- Ensure libudev1 and libudev-mini1 conflicts. - -------------------------------------------------------------------- -Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com - -- Fix creation of /dev/root link. - -------------------------------------------------------------------- -Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com - -- Add remount-ro-before-unmount.patch: always remount read-only - before unmounting in final shutdown loop. -- Add switch-root-try-pivot-root.patch: try pivot_root before - overmounting / - -------------------------------------------------------------------- -Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com - -- links more manpages for migrated tools (from Christopher - Yeleighton). -- disable boot.localnet service, ypbind service will do the right - thing now (bnc#716746) -- add xdm-display-manager.patch: pull xdm.service instead of - display-manager.service (needed until xdm initscript is migrated - to native systemd service). -- Add fix-permissions-btmp.patch: ensure btmp is owned only by root - (bnc#777405). -- Have the udev package create a tape group, as referenced by - 50-udev-default.rules and 60-persistent-storage-tape.rules - (DimStar). -- Add fix-bad-memory-access.patch: fix crash in journal rotation. -- Add fix-dbus-crash.patch: fix D-Bus caused crash. -- Add sync-on-shutdown.patch: ensure sync is done when initiating - shutdown. -- Add mount-efivars.patch: mount efivars if booting on UEFI. - - -------------------------------------------------------------------- -Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com - -- Ship a empty systemd-journald initscript in systemd-logger to - stop insserv to complain about missing syslog dependency. -- Update - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch - with bug fixes from Debian. - -------------------------------------------------------------------- -Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com - -- /var/log/journal is now only provided by systemd-logger (journal - won't be persistent for people using another syslog - implementation). -- install README in /var/log (in systemd-logger) and /etc/init.d -- create adm group when installing systemd. -- fix path in udev-root-symlink.systemd. -- Enforce Requires(post) dependency on libudev in main systemd - package (help upgrade). -- Ensure configuration is reloaded when upgrading and save random - seed when installing. -- Create /lib/udev symlink, if we do a fresh install. -- Add fix-build-glibc217.patch: fix build with latest glibc. -- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only - used to bootstrap systemd-mini. - -------------------------------------------------------------------- -Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com - -- adding a package systemd-logger that blocks syslog implementations - from installation to make an installation that only uses the journal - -------------------------------------------------------------------- -Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com - -- Don't hardcode path for systemctl in udev post script. -- Ensure systemd-udevd.service is shadowing boot.udev when booting - under systemd. -- Fix udev daemon upgrade under both systemd and sysvinit. -- Add fix-logind-pty-seat.patch: fix logind complaining when doing - su/sudo in X terminal. - -------------------------------------------------------------------- -Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com - -- add libudev1 to baselibs.conf - -------------------------------------------------------------------- -Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com - -- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) - -------------------------------------------------------------------- -Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com - -- Add var-run-lock.patch: make sure /var/run and /var/lock are - handled as bind mount if they aren't symlinks. -- Update storage-after-cryptsetup.patch with new systemctl path. -- Migrate broken symlinks in /etc/systemd/system due to new systemd - location. - -------------------------------------------------------------------- -Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com - -- Update to release 195: - + journalctl agained --since and --until, as well as filtering - for units with --unit=/-u. - + allow ExecReload properly for Type=oneshot (needed for - iptables.service, rpc-nfsd.service). - + journal daemon supports time-based rotation and vaccuming. - + journalctl -F allow to list all values of a certain field in - journal database. - + new commandline clients for timedated, locald and hostnamed - + new tool systemd-coredumpctl to list and extract coredumps from - journal. - + improve gatewayd: follow mode, filtering, support for - HTML5/JSON Server-Sent-Events. - + reload support in SysV initscripts is now detected when file is - parted. - + "systemctl status --follow" as been removed, use "journalctl -fu - instead" - + journald.conf RuntimeMinSize and PersistentMinSize settings - have been removed. -- Add compatibility symlink for systemd-ask-password and systemctl - in /bin. - -------------------------------------------------------------------- -Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com - -- Create and own more systemd drop-in directories. - -------------------------------------------------------------------- -Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com - -- Improve mini packages for bootstrapping. -- do not mount /tmp as tmpfs by default. - -------------------------------------------------------------------- -Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com - -- Fix install script when there is no inittab - -------------------------------------------------------------------- -Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com - -- Create a systemd-mini specfile to prevent cycle in bootstrapping - -------------------------------------------------------------------- -Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com - -- udev and its subpackages are now generated by systemd source - package. -- migrate udev and systemd to /usr -- Update to version 194: - + if /etc/vconsole.conf is non-existent or empty and if - /etc/sysconfig/console:CONSOLE_FONT (resp - /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp - keymap) is not modified. -- Changes from version 44 to 193: - + journalctl gained --cursor= to show entries starting from a - specified location in journal. - + Size limit enforced to 4K for fields exported with "-o json" in - journalctl. Use --all to disable this behavior. - + Optional journal gateway daemon - (systemd-journal-gatewayd.service) to access journal via HTTP - and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and - 'curl -H"Accept: application/json" - http://localhost:19531/entries' for JSON formatted content. - HTML5 static page is also available as explained on - http://0pointer.de/public/journal-gatewayd - + do not mount cpuset controler, doesn't work well by default - ATM. - + improved nspawn behaviour with /etc/localtime - + journald logs its maximize size on disk - + multi-seat X wrapper (partially merged in upstream X server). - + HandleSleepKey has been splitted into HandleSuspendKey and - HandleHibernateKey. - + systemd and logind now handle system sleep states, in - particular suspending and hibernating. - + new cgroups are mounted by default (cpu, cpuacct, - net_cls, net_pri) - + sync at shutdown is now handled by kernel - + imported journalctl output (colors, filtering, pager, bash - completion). - + suffix ".service" may now be ommited on most systemctl command - involving service unit names. - + much improved nspawn containers support. - + new conditions added : ConditionFileNotEmpty, ConditionHost, - ConditionPathIsReadWrite - + tmpfiles "w" supports file globbing - + logind handles lid switch, power and sleep keys all the time, - unless systemd-inhibit - --what=handle-power-key:handle-sleep-key:handle-lid-switch is - run by Desktop Environments. - + support for reading structured kernel message is used by - default (need kernel >= 3.5). /proc/kmsg is now used only by - classic syslog daemons. - + Forward Secure Sealing is now support for Journal files. - + RestartPrevenExitStatus and SuccessExitStatus allow configure - of exit status (exit code or signal). - + handles keyfile-size and keyfile-offset in /etc/crypttab. - + TimeoutSec settings has been splitted into TimeoutStartSec and - TimeoutStopSec. - + add SystemCallFilters option to add blacklist/whitelist to - system calls, using SECCOMP mode 2 of kernel >= 3.5. - + systemctl udevadm info now takes a /dev or /sys path as argument: - - udevadm info /dev/sda - + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. - + systemd-loginctl and systemd-journalctl have been renamed - to loginctl and journalctl to match systemctl. - + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is - no longer supported. udev_monitor_new_from_netlink() needs to - be used to subscribe to events. - + udev: when udevd is started by systemd, processes which are left - behind by forking them off of udev rules, are unconditionally - cleaned up and killed now after the event handling has finished. - Services or daemons must be started as systemd services. - Services can be pulled-in by udev to get started, but they can - no longer be directly forked by udev rules. - + For almost all files, license is now LGPL2.1+ (from previous - GPL2.0+). Exception are some minor stuff in udev (will be - changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] - library. - + var-run.mount and var-lock.mount are no longer provided - (should be converted to symlinks). - + A new service type Type=idle to avoid ugly interleaving of - getty output and boot status messages. - + systemd-delta has been added, a tool to explore differences - between user/admin configuration and vendor defaults. - + /tmp mouted as tmpfs by default. - + /media is now longer mounted as tmpfs - + GTK tool has been split off to systemd-ui package. - + much improved documentation. -- Merge BuildRequires from udev package: - gobject-introspection-devel, gtk-doc, libsepol-devel, - libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), - pjgconfig(libcryptsetup), pkgconfig(libpci), - pkgconfig(libqrencode), pkgconfig(libselinux), - pkgconfig(usbutils). -- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) -- Merge sources from udev package: boot.udev, write_dev_root.rules, - udev-root-symlink.systemd. -- Merge patches from udev package: numbered started from 1000): - 0001-Reinstate-TIMEOUT-handling.patch, - 0013-re-enable-by_path-links-for-ata-devices.patch, - 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, - 0026-udev-netlink-null-rules.patch, - 0027-udev-fix-sg-autoload-regression.patch. -- Remove following patches, merged upstream: - 0001-util-never-follow-symlinks-in-rm_rf_children.patch, - fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, - fix-swap-priority.patch, improve-restart-behaviour.patch, - fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, - ulimit-support.patch, change-terminal.patch, - fix-tty-startup.patch, fix-write-user-state-file.patch, - fix-analyze-exception.patch, use_localtime.patch, - journalctl-pager-improvement.patch, - avoid-random-seed-cycle.patch, - 0001-add-sparse-support-to-detect-endianness-bug.patch, - drop-timezone.patch. -- Rebase the following patches: - 0001-Add-bootsplash-handling-for-password-dialogs.patch, - 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, - 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, - 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, - crypt-loop-file.patch, - delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, - dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, - fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, - new-lsb-headers.patch, storage-after-cryptsetup.patch, - support-suse-clock-sysconfig.patch, support-sysvinit.patch, - sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. - -------------------------------------------------------------------- -Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com - -- Add use_localtime.patch: use /etc/localtime instead of - /etc/timezone (bnc#773491) -- Add support-suse-clock-sysconfig.patch: read SUSE - /etc/sysconfig/clock file. -- Add drop-timezone.patch: drop support for /etc/timezone, never - supported on openSUSE. -- Add journalctl-pager-improvement.patch: better handle output when - using pager. -- Add fix-enable-disable-boot-initscript.patch: support boot.* - initscripts for systemctl enable /disable (bnc#746506). - -------------------------------------------------------------------- -Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com - -- Ensure systemd macros never fails (if systemd isn't install) - -------------------------------------------------------------------- -Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com - -- Add fix-analyze-exception.patch: prevent exception if running - systemd-analyze before boot is complete (bnc#772506) - -------------------------------------------------------------------- -Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz - -- Fix NumLock detection/set race condition (bnc#746595#c47). - -------------------------------------------------------------------- -Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com - -- Move systemd-analyse to a subpackage, to remove any python - dependencies from systemd main package (bnc#772039). - -------------------------------------------------------------------- -Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com - -- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on - kernel commandline are handled. -- Add fix-write-user-state-file.patch: write logind state file - correctly. -- Disable logind-logout.patch: cause too many issues (bnc#769531). - -------------------------------------------------------------------- -Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com - -- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). - -------------------------------------------------------------------- -Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz - -- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). - -------------------------------------------------------------------- -Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com - -- Add fix-dir-noatime-tmpfiles.patch: do not modify directory - atime, which was preventing removing empty directories - (bnc#751253, rh#810257). -- Add improve-restart-behaviour.patch: prevent deadlock during - try-restart (bnc#743218). -- Add journal-bugfixes.patch: don't crash when rotating journal - (bnc#768953) and prevent memleak at rotation time too. -- Add ulimit-support.patch: add support for system wide ulimit - (bnc#744818). -- Add change-terminal.patch: use vt102 instead of vt100 as terminal - for non-vc tty. -- Package various .wants directories, which were no longer packaged - due to plymouth units being removed from systemd package. -- Fix buildrequires for manpages build. - -------------------------------------------------------------------- -Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com - -- Do not ship plymouth units, they are shipped by plymouth package - now (bnc#769397). -- Fix module loading (bnc#769462) - -------------------------------------------------------------------- -Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com - -- Add fix-swap-priority: fix default swap priority (bnc#731601). - -------------------------------------------------------------------- -Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com - -- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real - fix. - -------------------------------------------------------------------- -Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com - -- Update new-lsb-headers.patch to handle entries written after - description tag (bnc#727771, bnc#747931). - -------------------------------------------------------------------- -Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com - -- Disable logind-logout.patch: it crashes sudo session (if called - after su -l) (bnc#746704). - -------------------------------------------------------------------- -Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com - -- Add fix-getty-isolate.patch: don't quit getty when changing - runlevel (bnc#746594) - -------------------------------------------------------------------- -Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz - -- Implemented SUSE specific sysconfig numlock logic (bnc#746595). - -------------------------------------------------------------------- -Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com - -- Add dbus-1 as BuildRequires to fix build. - -------------------------------------------------------------------- -Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com - -- apply ppc patch to systemd-gtk too (fixes build) - -------------------------------------------------------------------- -Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com - -- Update fixppc.patch with upstream patches -- Add comments from upstream in - 0001-util-never-follow-symlinks-in-rm_rf_children.patch. -- Add logind-logout.patch: it should fix sudo / su with pam_systemd - (bnc#746704). - -------------------------------------------------------------------- -Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix - endianness error, preventing journal to work properly on ppc. -- Add fixppc.patch: fix build and warnings on ppc. - -------------------------------------------------------------------- -Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com - -- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix - CVE-2012-1174 (bnc#752281). - -------------------------------------------------------------------- -Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + Support optional initialization of the machine ID from the KVM - or container configured UUID. - + Support immediate reboots with "systemctl reboot -ff" - + Show /etc/os-release data in systemd-analyze output - + Many bugfixes for the journal, including endianess fixes and - ensuring that disk space enforcement works - + non-UTF8 strings are refused if used in configuration and unit - files. - + Register Mimo USB Screens as suitable for automatic seat - configuration - + Reorder configuration file lookup order. /etc now always - overrides /run. - + manpages for journal utilities. -- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, - systemd-journald-fix-endianess-bug.patch. -- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). - -------------------------------------------------------------------- -Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com - -- Add fix-c++-compat.patch: fix C++ compatibility error in header. - -------------------------------------------------------------------- -Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com - -- Add systemd-journald-fix-endianess-bug.patch: fix journald not - starting on ppc architecture. -- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth - is correctly called and conflicts with bootsplash. - -------------------------------------------------------------------- -Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com - -- Remove rsyslog listen.conf, handled directly by rsyslog now - (bnc#747871). - -------------------------------------------------------------------- -Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com - -- Update to version 43: - + requires /etc/os-release, support for /etc/SuSE-release is no - longer present. - + Track class of PAM logins to distinguish greeters from normal - user logins. - + Various bug fixes. - -------------------------------------------------------------------- -Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de - -- Use pkgconfig symbols for BuildRequires and specify version - -------------------------------------------------------------------- -Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com - -- Enable Plymouth integration. - * Bootsplash related files will be moved to the bootsplash - package - -------------------------------------------------------------------- -Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com - -- Update to version 42: - + Various bug fixes - + Watchdog support for supervising services is now usable - + Service start rate limiting is now configurable and can be - turned off per service. - + New CanReboot(), CanPowerOff() bus calls in systemd-logind -- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, - is-enabled-non-existing-service.patch (merged upstream) -- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for - manpage generation - -------------------------------------------------------------------- -Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com - -- Update to version 41: - + systemd binary is now installed in /lib/systemd (symlink for - /bin/systemd is available now) - + kernel modules are now loaded through libkmod - + Watchdog support is now useful (not complete) - + new kernel command line available to set system wide - environment variable: systemd.setenv - + journald capabilities set is now limited - + SIGPIPE is ignored by default. This can be disabled with - IgnoreSIGPIPE=no in unit files. -- Add fix-kmod-build.patch: fix build with libkmod -- Drop remote-fs-after-network.patch (merged upstream) -- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm - /dmraid is started before mounting partitions, if fsck was - disabled for them (bnc#733283). -- Update lsb-header patch to correctly disable heuristic if - X-Systemd-RemainAfterExit is specified (whatever its value) -- Add fix-message-after-chkconfig.patch: don't complain if only - sysv services are called in systemctl. -- Add is-enabled-non-existing-service.patch: fix error message when - running is-enabled on non-existing service. - -------------------------------------------------------------------- -Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com - -- Update to version 40: - + reason why a service failed is now exposed in the"Result" D-Bus - property. - + Rudimentary service watchdog support (not complete) - + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. - + Various bug fixes. -- Add remote-fs-after-network.patch and update insserv patch: - ensure remote-fs-pre.target is enabled and started before network - mount points (bnc#744293). -- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. - -------------------------------------------------------------------- -Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com - -- Ensure systemd show service status when started behind bootsplash - (bnc#736225). -- Disable core dump redirection to journal, not stable atm. - -------------------------------------------------------------------- -Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com - -- Update modules_on_boot.patch to not cause failed state for - systemd-modules-load.service (bnc#741481). - -------------------------------------------------------------------- -Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com - -- Update to version 39: - + New systemd-cgtop tool to show control groups by their resource - usage. - + Linking against libacl for ACLs is optional again. - + If a group "adm" exists, journal files are automatically owned - by them, thus allow members of this group full access to the - system journal as well as all user journals. - + The journal now stores the SELinux context of the logging - client for all entries. - + Add C++ inclusion guards to all public headers. - + New output mode "cat" in the journal to print only text - messages, without any meta data like date or time. - + Include tiny X server wrapper as a temporary stop-gap to teach - XOrg udev display enumeration (until XOrg supports udev - hotplugging for display devices). - + Add new systemd-cat tool for executing arbitrary programs with - STDERR/STDOUT connected to the journal. Can also act as BSD - logger replacement, and does so by default. - + Optionally store all locally generated coredumps in the journal - along with meta data. - + systemd-tmpfiles learnt four new commands: n, L, c, b, for - writing short strings to files (for usage for /sys), and for - creating symlinks, character and block device nodes. - + New unit file option ControlGroupPersistent= to make cgroups - persistent. - + Support multiple local RTCs in a sane way. - + No longer monopolize IO when replaying readahead data on - rotating disks. - + Don't show kernel threads in systemd-cgls anymore, unless - requested with new -k switch. -- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. -- Add fdupes to BuildRequires and use it at build time. - -------------------------------------------------------------------- -Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com - -- Make the systemd journal persistent by creating the - /var/log/journal directory - -------------------------------------------------------------------- -Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - -- Update to version 38 : - - Bugfixes - - Implementation of a Journal Utility Library - - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure - syslog socket goes away early during shutdown. -- Add listen.conf for rsyslog. This will ensure that it will still - work fine with rsyslog and the new journal. - -------------------------------------------------------------------- -Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com - -- Add fix-is-enabled.patch: ensure systemctl is-enabled work - properly when systemd isn't running. -- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't - exist (bnc#733022, bnc#735047). -- Add sysctl-modules.patch: ensure sysctl is started after modules - are loaded (bnc#725412). -- Fix warning in insserv patch. -- Update avoid-random-seed-cycle.patch with better upstream - approach. -- Update storage-after-cryptsetup.patch to restart lvm before - local-fs.target, not after it (bnc#740106). -- Increase pam-config dependency (bnc#713319). - -------------------------------------------------------------------- -Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com - -- Remove storage-after-cryptsetup.service, add - storage-after-cryptsetup.patch instead to prevent dependency - cycle (bnc#722539). -- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure - fsck/cryptsetup is run after lvm/md/dmraid have landed - (bnc#724912). -- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). -- Add do_not_warn_pidfile.patch: Fix PID warning in logs - (bnc#732912). -- Add mount-swap-log.patch: Ensure swap and mount output is - redirected to default log target (rhb#750032). -- Add color-on-boot.patch: ensure colored status are displayed at - boot time. -- Update modules_on_boot.patch to fix bnc#732041. -- Replace private_tmp_crash.patch with log_on_close.patch, better - upstream fix for bnc#699829 and fix bnc#731719. -- Update vconsole patch to fix memleaks and crash (bnc#734527). -- Add handle-racy-daemon.patch: fix warnings with sendmail - (bnc#732912). -- Add new-lsb-headers.patch: support PIDFile: and - X-Systemd-RemainAfterExit: header in initscript (bnc#727771). -- Update bootsplash services to not start if vga= is missing from - cmdline (bnc#727771) -- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and - change default permissions on /var/lock (bnc#733523). -- Add garbage_collect_units: ensure error units are correctly - garbage collected (rhb#680122). -- Add crypt-loop-file.patch: add support for crypt file loop - (bnc#730496). - -------------------------------------------------------------------- -Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com - -- add libtool as buildrequire to avoid implicit dependency - -------------------------------------------------------------------- -Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com - -- Fix rpm macros to only call presets on initial install - (bnc#728104). - -------------------------------------------------------------------- -Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com - -- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint - (bnc#726791). - -------------------------------------------------------------------- -Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com - -- Add avoid-random-seed-cycle.patch: fix dependency cycle between - cryptsetup and random-seed-load (bnc#721666). -- Add crash-isolating.patch: fix crash when isolating a service. -- Fix bootsplash being killed too early. -- Fix some manpages not being redirected properly. -- Add storage-after-cryptsetup.service to restart lvm after - cryptsetup. Fixes lvm on top of LUKS (bnc#724238). - -------------------------------------------------------------------- -Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com - -- Recommends dbus-1-python, do not requires python (bnc#716939) -- Add private_tmp_crash.patch: prevent crash in debug mode - (bnc#699829). -- Add systemctl-completion-fix.patch: fix incorrect bash completion - with some commands (git). - -------------------------------------------------------------------- -Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com - -- Shadow single sysv service, it was breaking runlevel 1. -- Add modules_on_boot.patch to handle /etc/sysconfig/kernel - MODULES_ON_BOOT variable (bnc#721662). - -------------------------------------------------------------------- -Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com - -- Update to release 37: - - many bugfixes - - ConditionCapability added, useful for containers. - - locale mechanism got extend to kbd configuration for - both X and the console - - don't try to guess PID for SysV services anymore (bnc#723194) -- Drop detect-non-running.patch, logind-warning.patch. -- Rewrite systemd-sysv-convert in bash (bnc#716939) -------------------------------------------------------------------- -Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com - -- make sure updaters get in the /sbin/init from here - the sub package - of the split package will decide which init wins in update case - -------------------------------------------------------------------- -Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com - -- under openSUSE if it's not systemd, chances are good it's - sysvinit - -------------------------------------------------------------------- -Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com - -- do not list specific sbin_init providers - -------------------------------------------------------------------- -Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com - -- Add logind-warning.patch: fix pam warning (bnc#716384) - -------------------------------------------------------------------- -Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com - -- Update to version 36 : - - many bugfixes - - systemd now requires socket-activated syslog implementations - - After=syslog.target is no longer needed in .service files - - X-Interactive is ignored in LSB headers (was not working) -- Enable back insserv.conf parsing in systemd core and fix added - dependencies (bnc#721428). -- Fix detection of LSB services status when running daemon - (bnc#721426). -- Drop 0001-execute-fix-bus-serialization-for-commands.patch, - fix-reload.patch - -------------------------------------------------------------------- -Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com - -- Add services to stop bootsplash at end of startup and start it at - beginning of shutdown. -- Fix bootsplash call and ensure dependencies are set right. - -------------------------------------------------------------------- -Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com - -- Add detect-non-running.patch: fix assertion when running - systemctl under non systemd system (git). -- Requires presets branding package. -- Improve macros a little bit. - -------------------------------------------------------------------- -Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com - -- Merge migration rpm macros into service_add/service_del macros. -- Use systemd presets in rpm macros -- Add fix-reload.patch: handle daemon-reload and start condition - properly (bnc#719221). - -------------------------------------------------------------------- -Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com - -- Add systemd-splash / bootsplash-startup.service: enable - bootsplash at startup. - -------------------------------------------------------------------- -Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com - -- Create -32bit package (bnc#713319) - -------------------------------------------------------------------- -Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com - -- Do not mask localnet service, it is not yet handled by systemd. - (bnc#716746) - -------------------------------------------------------------------- -Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com - -- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: - remove insserv.conf parsing from systemd and use generator - instead. -- put back default.target creation at package install and remove - inittab generator, Yast2 is now able to create it. - -------------------------------------------------------------------- -Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com - -- Update to version 34: - * Bugfixes - * optionaly apply cgroup attributes to cgroups systemd creates - * honour sticky bit when trimming cgroup trees - * improve readahead -- Add libacl-devel as BuildRequires (needed for systemd-uaccess) -- Add some %{nil} to systemd.macros to fix some build issues. -- Fix dbus assertion -- move gtk part to its own package, to reduce bootstrapping - (bnc#713981). - -------------------------------------------------------------------- -Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com - -- Update compose_table patch to use two separate loadkeys call, - compose table overflows otherwise (spotted by Werner Fink). - -------------------------------------------------------------------- -Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com - -- Add tty1.patch: ensure passphrase are handled before starting - gettty on tty1. -- Add inittab generator, creating default.target at startup based - on /etc/inittab value. -- No longer try to create /etc/systemd/system/default.target at - initial package install (bnc#707418) -- Fix configuration path used for systemd user manager. -- Ensure pam-config output is no display in install script. -- Remove buildrequires on vala, no longer needed. - -------------------------------------------------------------------- -Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com - -- Handle disable_capslock, compose table and kbd_rate -- Add rpm macros.systemd file. -- Do not disable klogd, it has its own service now. -- Handle kexec correctly (bnc#671673). -- Disable preload services, they are conflicting with systemd. - -------------------------------------------------------------------- -Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com - -- enable pam_systemd module, using pam-config. - -------------------------------------------------------------------- -Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de - -- Fix crash with systemctl enable. - -------------------------------------------------------------------- -Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com - -- Fix localfs.service to no cause cycle and starts it after - local-fs.target. - -------------------------------------------------------------------- -Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com - -- Remove root-fsck.patch, mkinitrd will use the same path as - dracut. -- Add systemd-cryptsetup.patch: don't complain on "none" option in - crypttab. -- Add systemd-cryptsetup-query.patch: block boot until passphrase - is typed. - -------------------------------------------------------------------- -Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com - -- Add root-fsck.patch: do not run fsck on / if it is rw -- Ship a non null localfs.service, fixes static mount points not - being mounted properly. - -------------------------------------------------------------------- -Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de - -- Update to version 33: - * optimizations and bugfixes. - * New PrivateNetwork= service setting which allows you to shut off - networking for a specific service (i.e. all routable network - interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch - patches. - -------------------------------------------------------------------- -Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com - -- Add insserv-parsing.patch: read/parse insserv.conf. -- Add bash-completion-restart.patch: fix restart service list - (bnc#704782). - -------------------------------------------------------------------- -Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de - -- Split up devel package. -- restart logind after upgrade. -- Adjust rpmlintrc for changes. - -------------------------------------------------------------------- -Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de - -- Update to version 32: - * bugfixes - * improve selinux setup - -------------------------------------------------------------------- -Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de - -- Update to version 31: - * rewrite of enable/disable code: New features systemctl --runtime, - systemctl mask, systemctl link and presets. - * sd-daemon is now shared library. - -------------------------------------------------------------------- -Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de - -- Update to version 30: - + Logic from pam_systemd has been moved to new systemd-login. - + VT gettys are autospawn only when needed - + Handle boot.local/halt.local on SUSE distribution - + add support for systemctl --root - -------------------------------------------------------------------- -Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com - -- Make sure to not start kbd initscript, it is handled by systemd - natively. - -------------------------------------------------------------------- -Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com - -- version 29: - + enable chkconfig support in systemctl for openSUSE. - + systemctl: plug a leak upon create_symlink mismatch - + mount /run without MS_NOEXEC - + dbus: fix name of capability property - + systemctl: fix double unref of a dbus message - + cryptsetup-generator: fix /etc/cryptsetup options - + selinux: selinuxfs can be mounted on /sys/fs/selinux - + readahead-common: fix total memory size detection - + systemctl: fix 'is-enabled' for native units under /lib - + systemctl: fix a FILE* leak - + pam-module: add debug= parameter - + remote-fs.target: do not order after network.target -- update tarball url. - -------------------------------------------------------------------- -Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de - -- Use RPM macros instead of $RPM_FOO variables -- Don't require %{version}-%{release} of the base package, - %{version} is sufficient - -------------------------------------------------------------------- -Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - mount /run without MS_NOEXEC - - readahead-common: fix total memory size detection - - enable chkconfig support in systemctl for openSUSE - - selinux: selinuxfs can be mounted on /sys/fs/selinux - - cryptsetup-generator: fix /etc/cryptsetup options - - systemctl: fix double unref of a dbus message -- drop merged chkconfig patch - -------------------------------------------------------------------- -Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com - -- Add sysv chkconfig patch to be able to enable / disable sysv - initscripts with systemctl. -- Ensure plymouth support is buildable conditionnally. - -------------------------------------------------------------------- -Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com - -- version 28 - - drop hwclock-save.service - - fix segfault when a DBus message has no interface - - man: update the list of unit search locations - - readahead-collect: ignore EACCES for fanotify - - rtc in localtime: use settimeofday(NULL, tz) - instead of hwclock(8) - -------------------------------------------------------------------- -Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - fix crash in D-Bus code - -------------------------------------------------------------------- -Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values - - util: use new VT ESC sequence to clear scrollback buffer - - sd-daemon: move _sd_hidden_ from .h to .c file - - missing: add IP_TRANSPARENT - -------------------------------------------------------------------- -Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com - -- version 27 - - util: use open_terminal() in chvt() too - - socket: expose SO_BROADCAST - - git: add .mailmap - - exec: expose tty reset options in dbus introspection data - - socket: expose IP_TRANSPARENT - - exec: hangup/reset/deallocate VTs in gettys - - socket: use 666 socket mode by default since neither fifos, - nor sockets, nor mqueues need to be executable - - socket: add POSIX mqueue support - - README: document relation to nss-myhostname - - hostnamed: check that nss-myhostname is installed - -------------------------------------------------------------------- -Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - sysctl: apply /etc/sysctl.conf last - - systemd-analyze: print hostname, kernelversion and arch at - the top of the plot - - pam: downgrade a few log msgs - - hostnamed: SetPrettyHostname() should check PK action - org.freedesktop.hostname1.set-static-hostname - - user-sessions: ignore EROFS when unlinking /etc/nologin if - the file doesn't exist anyway - - unit: make ignoring in snapshots a per unit property, - instead of a per unit type property - - vconsole: use open_terminal() instead of open() - - units: enable automount units only if the kernel supports them - -------------------------------------------------------------------- -Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org - -- remove policy filter - -------------------------------------------------------------------- -Thu May 5 08:59:46 CEST 2011 - meissner@suse.de - -- add missing buildrequires dbus-1-devel, vala, libxslt-devel -- touch vala files for rebuilding to unbreak Factory - -------------------------------------------------------------------- -Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com - -- also delete plymouth files - -------------------------------------------------------------------- -Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com - -- disable plymouth sub-package until plymouth gets into Factory - -------------------------------------------------------------------- -Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - binfmt, modules-load, sysctl, tmpfiles: add missing - ConditionDirectoryNotEmpty= - - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib - and where appropriate /lib directories - -------------------------------------------------------------------- -Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com - -- version 26 - - plymouth: introduce plymouth.enable=0 kernel command line - - util: don't AND cx with cx - - man: typo in sd_daemon reference - - util: conf_files_list() return list as parameter - - dbus: make daemon reexecution synchronous - -------------------------------------------------------------------- -Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - service: properly notice when services with a main process - that isn't a child of init die - - unit: fix assert when trying to load unit instances for - uninstanciable types - - def: lower default timeout to 90s - - manager: fix serialization counter - -------------------------------------------------------------------- -Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't hit assert when dumping properties - - cryptsetup: fix keyfile size option processing - - socket: improve warning message when we get POLLHUP - - mount: failure to mount cgroup hierarchies should not be fatal - - configure: add AC_SYS_LARGEFILE - -------------------------------------------------------------------- -Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com - -- new snapshot - - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run - - sysctl.d, binfmt.d, modules-load.d: switch to stacked config - dirs in /lib, /etc, /run - - manager: mkdir /run/systemd/system when starting up - - man: Spelling fixes - -------------------------------------------------------------------- -Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com - -- version 25 - - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs - and /proc/fs/nfsd. - - socket: support ListeSpecial= sockets - - vconsole: don't set console font/keymap if settings are empty - - nspawn: don't fail when we receive SIGCHLD - - cgroup: don't accidentaly trim on reload - - units: set capability bounding set for syslog services - - socket: log more information about invalid poll events - - man: fix specification of default timeouts - - mount,crypto: rework meaning of noauto/nofail - - fsck: don't fsck against basic.target in order to properly - allow automount /home - - manager: when running in test mode, do not write generated - unit files to /run/systemd/generator - - mount: properly parse timeouts options in the middle of - the string - - hostnamed: drop all caps but CAP_SYS_ADMIN - - execute: when we run as PID 1 the kernel doesn't give us - CAP_SETPCAP by default. Get that temporarily when dropping - capabilities for good - - mount: make device timeout configurable - - cryptsetup: do not order crypto DM devices against the - cryptsetup service - - socket: reuse existing FIFOs - - socket: guarantee order in which sockets are passed to be - the one of the configuration file - - systemctl: always consider unit files with no - [Install] section but stored in /lib enabled - - job: also print status messages when we successfully started - a unit - - hostnamed: add reference to SMBIOS specs - - man: runlevel 5 is usually more comprehensive, so use it - instead of 3 to detect whether a sysv service is enabled - - polkit: follow the usual syntax for polkit actions - - hostnamed: introduce systemd-hostnamed - - units: order quotacheck after remount-rootfs - - hostname: split out hostname validation into util.c - - dbus: split out object management code into dbus-common, - and simplify it - - strv: properly override settings in env_append() - - strv: detect non-assignments in env blocks properly in - env_append() - - strv: handle empty lists in strv_copy() properly - - util: truncate newline inside of read_one_line_file() - - util: modernize get_parent_of_pid() a bit - - crypto: let the cryptsetup binary handles its own - configurable timeouts - - logger,initctl: use global exit timeout - - ask-password: use default timeout - - manager: drop all pending jobs when isolating - - manager: introduce IgnoreOnIsolate flag so that we can keep - systemd-logger around when isolating - - units: never pull in sysinit from utmp, so that we can - shutdown from emergency mode without pulling in sysinit - - manager: downgrade a few log messages - - units: require syslog.socket from the logger because we - simply fail if we don't have it - - logger: adjust socket description to match service - - units: set stdout of kmsg syslogd to /dev/null - - units: add --no-block when starting normal service after - shell exited - - ask-password: use kill(PID, 0) before querying a password - - ask-password: support passwords without timeouts - - ask-password: always send final NUL char - - ask-password: properly accept empty passwords from agent - - unit: skip default cgroup setup if we have no hierarchy - - units: isolate emergency.target instead of emergency.service - when we fail to mount all file systems - - mount: don't pull in stdio logger for root mount unit - - cgroup: be nice to Ingo Molnar - - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL - - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL - - socket: try creating a socket under our own identity if we - have no perms to consult the selinux database - - socket: fix check for SEQPACKET - - execute: don't fail if we cannot fix OOM in a container - - unit: fix dump output - - socket: be a bit more verbose when refusing to start a - socket unit - - socket: support netlink sockets - - local-fs: invoke emergency.service mounting at boot fails - - path: optionally, create watched directories in .path units - - tmpfiles: don't warn if two identical lines are configured - - man: add man page for ask-password - - dbus: expose monotonic timestamps on the bus - - manager: no need to use randomized generator dir when running - as system manager - - don't make up buffer sizes, use standard LINE_MAX instead - - unit: disallow configuration of more than one on_failure - dependencies if OnFailureIsolate= is on - - unit: pull in logger unit only when running in system mode - - manager: serialize/deserialize max job id and /usr taint flag - - manager: don't garbage collect jobs when isolating, to change - global state - - unit: introduce OnFailureIsolate= - - mount: relabel both before and after a mount, just in case - - cmdline: we actually want to parse the kernel cmdline in VMs, - just not in containers - - units: rename rtc-set.target to time-sync.target and pull it - in by hwclock-load.service - - job: fix deserialization of jobs: do not ignore ordering - - systemctl: properly parse JobNew signals - - service: fix units with more than one socket - - systemctl: make most operations NOPs in a chroot - - manager: don't show PID for incoming signals if it is 0 - - man: fix description of systemctl reload-or-try-restart - - mount: block creation of mount units for API file systems - - units: call the logger a bridge too - - build-sys: always place user units in /usr/lib/systemd - - pkgconfig: update .pc file accordingly - - lookup: always also look into /usr/lib for units - - exec: support unlimited resources - - selinux: relabel /run the same way as /dev after loading - the policy since they both come pre-filled and unlabelled - - manager: fd must be int, not char - - change remaining /var/run to /run - - units: move user units from /usr/share to /usr/lib since - they might be arch-dependent - - man: document /etc/sysctl.d/ - - binfmt: add binfmt tool to set up binfmt_misc at boot - - tmpfiles: create leading directories for d/D instructions - - condition: add ConditionSecurity - - load-fragment: unify config_parse_condition_{kernel, virt} - - condition: fix dumping of conditions - - initctl: /dev/initctl is a named pipe, not a socket - - kmsg-syslogd: pass facility value into kmsg - - move /var/lock to HAVE_SYSV_COMPAT - - tmpfiles: split off rules for legacy systems into legacy.conf - - general: replace a few uses of /var/run by /run - - tmpfiles: enforce new /var/lock semantics - - man: document ConditionPathIsDirectory= - - mount: also relabel pre-mounted API dirs - - log: don't strip facility when writing to kmsg - - build-sys: create a number of drop-in config dirs - - random: do not print warning if random seed doesn't exist - - plymouth: use PID file to detect whether ply is running - - build-sys: install systemd-analyze by default - - analyze: improve output - - analyze: add plotter - - unit: when deserializing do reconnect to dbus/syslog when - they show up - - analyze: beautify output a bit - - add systemd-analyze tool - - unit: don't override timestamps due to state changes when - deserializing - - plymouth: don't explicitly enable status message when - plymouth is up - - status: show status messages unconditionally if plymouth - is around - - taint: add missing cgroups taint flag - - locale: don't access misinitialized variable - - quota: do not pull in quota tools for mounts that do not - originate in neither /etc/fstab nor fragment files - - manager: fix taint check for /usr - - unit: never apply /etc/rcN.d/ priority to native services - - unit: fix parsing of condition-result - - unit: don't complain about failed units when deserializing - - exec: drop process group kill mode since it has little use - and confuses the user - - cgroup: explain when we cannot initialize the cgroup stuff - - systemctl: don't truncate description when using pager - - ask-password: also accept Backspace as first keypress as - silent mode switch - - unit: when deserializing jobs, don't pull in dependencies - - locale: fix LC_MESSAGES variable name - - plymouth: Remove the calls to plymouth message - - udev: systemd-tag all ttys - - tmpfiles fix /run/lock permissions - - ask-password: use TAB to disable asterisk password echo - - execute: socket isn't abstract anymore - - use /run instead of /dev/.run - - man: explain a couple of default dependencies - - mount: pull in quota services from local mountpoints with - usr/grpquota options - - service: pull in sysv facility targets from the sysv units, - not the other way round - - units: pull in syslog.target from syslog.socket - - units: don't ever pull in SysV targets from other SysV - targets - - units: document that some targets exists only for compat - with SysV - - man: document pidns containers - - units: deemphesize Names= settings, and explain why nobody - whould use them - - units: on mandriva/fedora create single.service alias via - symlink, not Names= - - units: get rid of runlevel Names=, the symlinks in - /lib/systemd/system are much more useful - - rework syslog detection so that we need no compile-time - option what the name of the syslog implementation is - - man: document .requires/ directories - - special: get rid of dbus.target - - exec: properly apply capability bounding set, add inverted - bounding sets - - dbus: add service D-Bus property "Sockets" - - dbus: consolidate service SysV conditionals - - unit: serialize condition test results - - def: centralize definition of default timeout in one place - - chkconfig: check against runlevel 5 instead of 3, since it is - a superset of the latter - - systemctl: accept condstop as alias for stop - - dbus: allow LoadUnit to unprivileged users - - umount: make sure skip_ro is always correctly initialized -- create /run (link it to /var/run) -- refresh splash password patch -- conflict with old mkinitrd version (we need /run) -- conflict with old udev (we need /run) - -------------------------------------------------------------------- -Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com - -- new snapshot - - man: fix systemctl try-restart description - - Add Frugalware display-manager service - - main: revert recognition of "b" argument - - main: interpret all argv[] arguments unconditionally when - run in a container - - loopback: downgrade an error to warning - - nspawn: bind mount /etc/localtime - - nspawn: make tty code more robust against closed/reopened - /dev/console - - util: make touched files non-writable by default - - nspawn: allocate a new pty instead of passing ours through - to avoid terminal settings chaos - - main: parse the whole arv[] as kernel command line - - main: check if we have a valid PID before getting the name - - ask-password: reset signal mask after we are done - - cgroup: don't recheck all the time whether the systemd - hierarchy is mounted, to make strace outputs nicer and save - a few stat()s - - man: document systemd-nspawn - - cgls: don't strip user processes and kernel threads from - default output - - umount: don't try to remount bind mounts ro during shutdown - - getty: move automatic serial getty logic into generator - - container: skip a few things when we are run in a container - such as accessing /proc/cmdline - - cgls: by default start with group of PID 1 - - pam: determine user cgroup tree from cgroup of PID 1 - - nspawn: move container into its own name=systemd cgroup - - manager: don't show kernel boot-up time for containers - - manager: show who killed us - - units: add console-shell.service which can be used insted of - the gettys to get a shell on /dev/console - -------------------------------------------------------------------- -Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com - -- new snapshot - - build-sys: move remaining tools from sbin/ to bin/ since they - might eventually be useful for user execution - - hostname: don't override the hostname with localhost if it - is already set and /etc/hostname unset - - audit: give up sending auditing messages when it failed due - to EPERM - - nspawn: don't require selinux on if it is compiled in - - main: remove AF_UNIX sockets before binding - - shutdown: print a nice message when terminating a container - - nspawn: mount /selinux if needed - - shutdown: just call exit() if we are in a container - - umount: assume that a non-existing /dev/loop device means it - is already detached - - socket: use 777 as default mode for sockets - - main: log to the console in a container - - main: don't parse /proc/cmdline in containers - - util: add detect_container() - - nspawn: reset environment and load login shell - - core: move abstract namespace sockets to /dev/.run - - nspawn: add simple chroot(1) like tool to execute commands - in a namespace container - - util: return exit status in wait_for_terminate_and_warn() - - util: properly identify pty devices by their major - -------------------------------------------------------------------- -Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com - -- new snapshot - - polkit: autogenerate polkit policy with correct paths - - systemctl: support remote and privileged systemctl access - via SSH and pkexec - - gnome-ask-password-agent: fix path to watch - -------------------------------------------------------------------- -Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com - -- fix broken sysctl.service linking - -------------------------------------------------------------------- -Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: move the last flag files to /dev/.run - - util: close all fds before freezing execution - - dbus: timeout connection setup - - main: properly handle -b boot option - - pam: do not leak file descriptor if flock fails -- disable sysv services natively provided by systemd - -------------------------------------------------------------------- -Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com - -- new snapshot - - main: refuse system to be started in a chroot - - main: don't check if /usr really is a mount point, since it is - fine if it is passed pre-mounted to us from the initrd - - condition: take a timestamp and store last result of conditions - - dev: use /dev/.run/systemd as runtime directory, instead of - /dev/.systemd - - machine-id: move machine-id-setup to /sbin - - pkconfig: export full search path as .pc variable - - selinux: bump up error level when in non-enforcing mode - - dbus: fix dbus assert due to uninitialized error - - dbus: properly generate UnknownInterface, UnknownProperty - and PropertyReadOnly errors - - mount: use /dev/.run as an early boot alias for /var/run - -------------------------------------------------------------------- -Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com - -- version 20 - - service: prefix description with LSB only if script has LSB header, - use 'SysV:' otherwise - - unit: don't accidently create ordering links to targets when - default deps are off for either target and unit - - mount: support less cumbersome x-systemd-xxx mount options - - unit: distuingish mandatory from triggering conditions - - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object - is unknown - - systemctl: when forwarding is-enabled to chkconfig - hardcode runlevel 3 - - job: introduce new job result code 'skipped' to use when pre - conditions of job did not apply - - job: convert job type as early as we can, to simplify things - - Keep emacs configuration in one configuration file. - - syslog: make sure the kmsg bridge is always pulled in and - never terminated automatically - - mount: make /media a tmpfs - -------------------------------------------------------------------- -Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com - -- new snapshot - - add org.freedesktop.DBus.Properies.Set method - - main: introduce /etc/machine-id - - systemctl: fix exit code when directing is-enabled - to chkconfig - - dbus: add 'Tainted' property to Manager object - - dbus: expose distribution name and features on manager - object as properties - - man: document changed EnvironmentFile= behaviour - - main: add link to wiki page with longer explanation of the - /usr madness - - execute: load environment files at time of execution, not - when we load the service configuration - - path: after installing inotify watches, recheck file again - to fix race - - path: don't use IN_ATTRIB on parent dirs when watching a - file, since those cannot be removed without emptying the dir - first anyway and we need IN_ATTRIB only to detect the link - count dropping to 0 - - kill: always send SIGCONT after SIGTERM - - readahead: disable collector automatically on read-only media - - sysctl: use scandir() instead of nftw() to guarantee - systematic ordering - - support DT_UNKNOWN where necessary for compat with reiserfs - - systemctl: always null-terminate the password -- call systemd-machine-id-setup at installation - -------------------------------------------------------------------- -Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com - -- version 19 - - udev: don't ignore non-encrypted block devices with no - superblock - - udev: expose ttyUSB devices too - - udev: mark hvc devices for exposure in systemd - - cryptsetup: add a terse help - - agent: don't print warnings if a password was removed or - timed out - - systemctl: shutdown agent explicitly so that it can reset - the tty properly - - never clean up a service that still has a process in it - - label: udev might be making changes in /dev while we - iterate through it - - systemctl: properly handle job results - - job: also trigger on-failure dependencies when jobs faile - due to dependencies, timeout - - job: when cancelling jobs, make sure to propagate this - properly to depending jobs - - job: start job timeout on enqueuing not when we start to - process a job - - unit: increase default timeout to 3min - - logger: leave the logger longer around and allow it do - handle more connections - - dbus: pass along information why a job failed when it - failed (dbus api change!) - - general: unify error code we generate on timeout - - units: synchronize gettys to plymouth even if plymouth is - killed by gdm - - job: start job timer when we begin running the job, not - already when we add it to the queue of jobs - - cryptsetup: try to show the mount point for a crypto disk - if we can - - rescue: terminate plymouth entirely when going into - rescue mode - - ask-password: fix handling of timeouts when waiting - for password - - ask-password: supported plymouth cached passwords - - main: print warning if /usr is on a seperate partition - - ensure we start not a single getty before plymouth is - gone because we never know which ttys plymouth still controls - - unit: introduce ConditionVirtualization= - -------------------------------------------------------------------- -Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com - -- new snapshot - - dbus: don't rely that timer/path units have an initialized - unit field (bnc#671561) - -------------------------------------------------------------------- -Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com - -- new snapshot - - order network mounts after network.target (bnc#672855) - -------------------------------------------------------------------- -Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com - -- new snapshot - - kmsg-syslogd: increase terminate timeout to 5min to generte - less debug spew - - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) - - unit: don't timeout fsck - - man: fixed typo in SyslogIdentifier= - - tmpfiles: never clean up block devices - - main: refuse --test as root - -------------------------------------------------------------------- -Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com - -- new snapshot - - units: order fsck@.service before basic.target - instead of local-fs.target to relax things a little - - readahead: remove misleading error messages - - man: don't do more reloads than necessary in spec files - - util: retry opening a TTY on EIO - - util: beef up logic to find ctty name - - tmpfiles: kill double slashes in unix socket names -- drop vhangup patch, it is fixed in login(3) by forwarding the - SIGHUP to the child process - -------------------------------------------------------------------- -Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com - -- revert back to conflicts: sysvinit - -------------------------------------------------------------------- -Thu Feb 17 15:04:44 CET 2011 - werner@suse.de - -- Add temporary workaround for bnc#652633, that is do a vhangup - to all processes on a tty line used for a getty - -------------------------------------------------------------------- -Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com - -- version 18 - - systemctl: introduce --ignore-dependencies - - systemctl: introduce --failed to show only failed services - - systemctl: introduce --failed to show only failed services - - rescue: make 'systemctl default' fail if there is already - something running when the shell exited - - util: seperate welcome line from other output by empty lines - - manager: don't consider transaction jobs conflicting with - queued jobs redundant - - udev: ignore block devices which no known contents, to avoid - trying of mounts/swapons when devices aren't set up full yet - - swap: handle "nofail" from fstab - - mount,swap: properly add dependencies to logger if needed - - service: change default std output to inherit - - exec: introduce global defaults for the standard output - of services - - udev: use SYSTEMD_READY to mask uninitialized DM devices - - fsck: output to /dev/console by default in addition to syslog - - execute: optionally forward program output to /dev/console in - addition to syslog/kmsg - - socket: refuse socket activation for SysV services - - fsck: do not fail boot if fsck returns with an error code that - hasn't 2 or 6 set - - shutdown: execute all binaries in /lib/systemd/system-shutdown - as last step before invoking reboot() - - job: make status message printing more verbose - - cryptsetup: fix unit file description - - tmpfiles: never delete AF_UNIX sockets that are alive - - getty: don't parse console= anymore, use - /sys/class/tty/console/active instead - - properly resolve /dev/console if more than once console= - argument was passed on the kernel command line - - getty: do not auto-spawn getty's on VC ttys if console=ttyN - - fsck: skip root fsck if dracut already did it - - util: when determining the right TERM for /dev/console - consult /sys/class/tty/console/active - - pam: introduce whitelist and blacklist user list feature - - systemctl: minor optimizations - - systemctl: don't unnecessarily close stdin/stdout/stderr for - tty agent so that locking by tty works - - readahead: disable readahead in virtual machines - - tmpfiles: move binary to /bin to make it publicly available - - tmpfiles: take names of tmpfiles configuration files on the - command line - - tmpfiles: log to stderr if possible - - tmpfiles: support globs - - units: introduce and hook up sound.target - - dbus: allow all clients access to org.freedesktop.DBus.Peer - - consider udev devices with SYSTEMD_READY=0 as unplugged - - systemctl: don't start agent for --user - - systemctl: make sure the tty agent does not retain a copy - of stdio - -------------------------------------------------------------------- -Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com - -- new snapshot - - plymouth: move plymouth out of TARGET_FEDORA - - build-sys: fix AC_COMPILE_IFELSE tests - - build-sys: ensure selinux configure check follows logic of - other optional features - - build-sys: autodetect and use pkg-config for libselinux - - dbus: use ControlGroup as property name to match config option - - pam: optionally reset cgroup memberships for login sessions - - load-fragment: properly parse Nice= value - - automount: use unit_pending_inactive() where appropriate - -------------------------------------------------------------------- -Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de - -- Removed unecessary workaround for plymouth startup. - -------------------------------------------------------------------- -Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de - -- Split plymouth support into systemd-plymouth package. - -------------------------------------------------------------------- -Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com - -- new snapshot - - clang: fix some issues found with clang-analyzer - - gcc: make gcc shut up - -------------------------------------------------------------------- -Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com - -- version 17 - - vala 0.10 seem to work fine - - cryptsetup: fix ordering loop when dealing with encrypted - swap devices - - main: don't warn if /etc/mtab is a symlink to /proc/mounts - - socket: don't crash if the .service unit for a .socket unit - is not found - - mount: ignore if an fsck is requested for a bind mount, - so that we don't wait for the bind 'device' to show up - - automount: fix segfault when shutting down - - man: give an example for vconsole.conf - - dbus: don't try to connect to the system bus before it is - actually up - - service: make chain of main commands and control commands - independent of each other, so that both can be executed - simultaneously and independently - - service: don't allow reload operations for oneshot services - - vala: convert from dbus-glib to gdbus - - systemctl: highlight failed processes in systemctl status - - systemctl: show process type along process exit codes - - service: when reloading a service fails don't fail the entire - service but just the reload job - -------------------------------------------------------------------- -Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com - -- new snapshot - - shutdown: use correct kexec options - - serial-getty: do not invoke /sbin/securetty; recent - pam_securetty looks for console= in /proc/cmdline - - systemctl: before spawning pager cache number of columns - - pam: optionally keep processes of root user around - - service: if a reload operation fails, don't shut down - the service - - execute: make sending of SIGKILL on shutdown optional - - mount: do not translate uuids to lowercase - - man: document missing KillSignal= and swap options -- require recent util-linux -- drop mtab symlink creation which is done in util-linux - -------------------------------------------------------------------- -Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com - -- version 16 - - device: don't warn if we cannot bump the udev socket buffer - - logger: when passing on PID info, fall back to our own if - originating process is already gone - - service: don't hit an assert if information in LSB headers is - incorrectly formatted - - execute,util: fix two small memory leaks - - getty: unset locale before execution - - execute: drop empty assignments from env blocks on execution - but keep them around otherwise to make them visible - - umount: don't try to detach the dm device the root dir is on, - to minimize warning messages - - locale: fix variable names - - fragment: allow prefixing of the EnvironmentFile= - path with - to ignore errors - - util: don't pass invalid fd to fdopendir() on error to avoid - corruption of errno - - tmpfiles: nicer message when two or more conflicting lines - are configured for the same file - - fragment: properly handle quotes in assignments in - EnvironmentFile= files - - sysctl: don't warn if sysctls are gone - - readahead: ignore if files are removed during collection or - before replay - - serial: use TERM=vt100 instead of TERM=vt100-nav - - cryptsetup: call mkswap on dm device, not on source device - - mount-setup: mount /dev/pts with mode=620,gid=5 by default - and make GID overridable via configure switch - - systemctl: implement auto-pager a la git - - shutdown: drop redundant sync() invocation - - util: invoke sync() implicitly on freeze() - - tmpfiles: do no follow symlinks when cleaning up dirs - -------------------------------------------------------------------- -Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de - -- Add support for building plymouth support with openSUSE - -------------------------------------------------------------------- -Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com - -- new snapshot - - pam: do not sort user sessions into their own cgroups in - the 'cpu' hierarchy - - mount-setup: drop noexec flag from default mount options - for /dev/shm - - systemd.pc: change 'session' to 'user' - -------------------------------------------------------------------- -Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com - -- new snapshot - - ifdef suse-only sysv script lookup code - -------------------------------------------------------------------- -Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org - -- add bootsplash handling patch to be able to enter e.g. - crypto passphrases (bnc#659885) - -------------------------------------------------------------------- -Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com - -- new snapshot - - add LSB 'smtp' alias for mail-transport-agent.target - -------------------------------------------------------------------- -Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com - -- new snapshot - - path: fix watching the root directory - - update README - -------------------------------------------------------------------- -Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com - -- new snapshot - - gnome-ask-password-agent: also support libnotify < 0.7 for now - - udev: increase event buffer size -- require fsck -l - -------------------------------------------------------------------- -Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com - -- version 15 - - dbus: use the right data slot allocator - - manager: bump up max number of units to 128K - - build-sys: allow cross-compilation -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com - -- new snapshot - - units: simplify shutdown scripts - - logger: fix error handling - - swap: order file-based swap devices after remount-rootfs -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com - -- new snapshot - - systemctl: don't return LSB status error codes for 'show' - - mount: do not try to mount disabled cgroup controllers - - man: document /etc/modules-load.d/, /etc/os-release, - locale.conf, /etc/vconsole.conf, /etc/hostname - - units: move a couple of units from base.target to - sysinit.target - - man: reorder things to follow the same order everywhere -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com - -- version 13 - - cryptsetup: actually show disk name - - cryptsetup: show udev device name when asking for password - - sysctl: implement native tool and support /etc/sysctl.d - - units: enable console ask-password agent by default - - introduce /etc/os-release distro description - - job: make sure we don't fail umount.target if a mount unit - failed to stop - - cgroup: after killing cgroup processes, ensure the group is - really dead gone. wait for 3s at max - - cgroup: if we couldn't remove a cgroup after killing - evertyhing in it then it's fine - - cryptsetup: automatically order crypt partitions before - cryptsetup.target - - man: trivial BindTo description fix - - manager: make list of default controllers configurable - - build: expose libcryptsetup dependency in build string - - pam: document controllers= switch - - cgroup: by default, duplicate service cgroup in the cpu hierarchy - - pam: duplicate cgroup tree in the cpu hierarchy by default, - optionally more -- enable native crypto handling instead of boot.crypto -- revert too new libnotify code/requirement -- revert fsck -l option requirement - -------------------------------------------------------------------- -Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com - -- version 12 - - ask-password: add --console mode to ask /dev/console -- revert too new libnotify code/requirement - -------------------------------------------------------------------- -Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com - -- new snapshot - - cryptsetup: reword questions a little - - units: order hwclock after readahead - - path: don't mention too many inotify msgs - - cryptsetup: include device name in password question - - cryptsetup: lock ourselves into memory as long as we deal - with passwords - - plymouth: use updated socket name - - units: set TERM for gettys again, since they acquire a TTY - - units: allow start-up of plymouth ask-password agent very early - - units: enable ask-paswword .path units early enough to be useful - for early mounts - - units: delay getty until logins are allowed - - pam: always rely on loginuid instead of uid to determine cgroup - and XDG_RUNTIME_DIR name - - cgroup: call root cgroup system instead of systemd-1 - - exec: determine right TERM= setting based on tty name - - pam: rename master user cgroup to 'master' - - drop support for MANAGER_SESSION, introduce MANAGER_USER - - units: use ConditionDirectoryNotEmpty= where applicable - - unit: introduce ConditionDirectoryNotEmpty= - - delete tmp.mount which may conflict with an unrelated fstab - entry -- revert too new libnotify code/requirement -- disable native crypto handling - -------------------------------------------------------------------- -Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com - -- new snapshot - - load-dropin: add support for .requires directories - - manager: consider jobs already installed as redundant when - reducing new transactions - - manager: always pull 'following' units into transaction - - util: always highlight distro name - - units: make use of agetty mandatory - - manager: don't fail transaction if adding CONFLICTED_BY job fails - - job: make it possible to wait for devices to be unplugged - - tmpfiles: ignore files marked with the sticky bit - - cryptsetup: handle password=none properly - - cryptsetup: properly parse cipher= switch - - cryptsetup: support non-LUKS crypto partitions - - ask-password: enable password agent - - automatically start cryptsetup when looking for mount source - - log: add automatic log target - - cryptsetup: hook up tool with ask-password - - manager: hookup generators - - split mount_point_is_api() and mount_point_ignore() -- replace boot.crypto job with systemd native crypto handling -- enable readahead (requires 2.6.37+ kernel's fanotify to work) - -------------------------------------------------------------------- -Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com - -- new snapshot - - tmpfiles: include reference to man page in tmpfiles files - - vconsole: support additional keymap for toggling layouts - - main: warn if /etc/mtab is not a symlink - - add bash completion for systemctl --system - - man: minor tmpfiles(5) updates and reindenting - - main: rename process on startup to 'systemd' to avoid confusion - - unit: add ConditionNull= condition - - ac-power: make ac-power a proper binary that scripts can call - - manager: parse RD_TIMESTAMP passed from initrd - - modules-load: fix minor race - - label: use internal utility functions wher epossible - - cryptsetup: minimal cryptsetup unit generator - - selinux: relabel /dev after loading policy - - log: downgrade syslog connection failure message - - service: delay automatic restart if job is pending - - manager: when isolating undo all pending jobs, too - - manager: only minimize impact if we are in fail mode -- replace /etc/mtab with link to /proc/self/mounts - -------------------------------------------------------------------- -Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com - -- new snapshot - - man/tmpfiles.d.xml: add a manpage for tmpfiles - - do not overwrite other udev tags - - readahead: shortcut replay if /.readahead doesn't exist - -------------------------------------------------------------------- -Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fsck: return SUCCESS when we skip the check - - fsck: skip checking / if it is writable - - units: fix variable expansion - - mount: don't pull in nofail mounts by default, but use them - if they are around - - job: recursively fail BoundBy dependencies - - fsck: fix target name to check for - - units: rename fedora/single.service to rescue.service - - units: introduce plymouth-start and plymouth-kexec - - unit: get rid of IgnoreDependencyFailure= - - use util-linux:agetty instead of mingetty - - unit: replace StopRetroactively= by BindTo= dependencies - - automount: show who's triggering an automount - - units: run sysctl only if /etc/sysctl.conf exists - - systemctl: always show what and where for mount units - - shutdown: reword a few messages a little - - manager: show which jobs are actually installed after a transaction - - timer: when deserializing timer state stay elapsed - - device: set recursive_stop=true by default - - unit: suppress incorrect deserialization errors - - swap: there's no reason not order swap after sysinit - - socket: fix IPv6 availability detection - -------------------------------------------------------------------- -Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - create /dev/stderr and friends early on boot - - run sysv related scripts with TERM=linux - - add only swaps listed in /etc/fstab automatically to swap.target - - errors: refer to systemctl status when useful - - swap: add default cgroup to swap exec env - - readahead: bump a device's request_nr when enabling readahead - - shutdown: properly handle sigtimedwait() timing out - - main: fix typo in kernel cmdline parameters help - - ord-tty: properly handle SIGINT/SIGTERM - - systemctl: automatically spawn temporary password agent - - ask-password: properly handle multiple pending passwords - - ask-password: enable plymouth agent by default - - ask-password: add minimal plymouth password agent - -------------------------------------------------------------------- -Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - make sure to pass TERM=linux to all sysv scripts - - don't unset HOME/TERM when run in session mode - - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run - - tmpfiles: Don't clean /var/lock/subsys - - tmpfiles: Make wtmp match utmp perms, and add btmp - - umount: Make sure / is remounted ro on shutdown - - unset HOME and TERM set from the kernel - - activate wall agent automatically - - ask-password: add basic tty agent - -------------------------------------------------------------------- -Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - rename ask-password-agent to gnome-ask-password-agent - - fsck: suppress error message if we cannot change into single - user mode since - - dbus: epose FsckPassNo property for service objects - - man: document systemctl --force - - introduce 'systemctl kill' - -------------------------------------------------------------------- -Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - syslog: enable kmsg bridge by default - - fsck: add initial version of fsck and quotacheck wrappers - - tmpfiles: remove forcefsck/fastboot flag files after boot - - swap: listen for POLLPRI events on /proc/swaps if availabled - - tmpfiles: integrate native tmpwatch - - shutdown: loop only as long as we manage to unmount/detach devices - - umount: disable dm devices by devnode, not by path name - - introduce final.target - - replace distro-specific shutdown scripts with native services - - try to get rid of DM devices - - log to console by default - - introduce kexec.service, kexec.target and exit.target - - hook in fsck@.service instance for all mount points with passno > 0 - - systemctl: warn if user enables unit with no installation instructions - - dbus: add introspection to midlevel paths - - look for dynamic throw-away units in /dev/.systemd/system - - major rework, use /sbin/swapon for setting up swaps - - introduce Restart=on-failure and Restart=on-abort - - units: enable utmp for serial gettys too - - rename 'banned' load state to 'masked' - - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service -- use systemd-native fsck/mount -- use systemd-native tmpfiles.d/ instead of tmpwatch - -------------------------------------------------------------------- -Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com - -new snapshot - - fix 'systemctl enable getty@.service' - - properly support 'banning' of services - - handle nologin - - add native reboot/shutdown implementation - -------------------------------------------------------------------- -Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com - -- version 11 - -------------------------------------------------------------------- -Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - readahead fixes - -------------------------------------------------------------------- -Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de - -- /etc/modules.d was renamed to modules-load.d -- only include tmpfiles.d/*conf files - -------------------------------------------------------------------- -Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com - -- don't create sysv order deps on merged units -- fix Provides: handling in LSB headers (network.target) -- native (optional) readahead - -------------------------------------------------------------------- -Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de - -- Do not package man pages twice. - -------------------------------------------------------------------- -Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - basic services are enabled by default now - -------------------------------------------------------------------- -Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - vconsole and locale setup - - hook up tmpwatch - -------------------------------------------------------------------- -Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - add new utility to initialize the virtual console - - initialize locale from /etc/locale by default - - ask-password: allow services query SSL/harddisk passphrases - -------------------------------------------------------------------- -Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com - -- version 10 - - logger: support SOCK_STREAM /dev/log sockets - - make sure the file system is writable before we write utmp data - - systemctl: use isolate when called as telinit for a runlevel - - initctl: properly use isolate when activating runlevels - - set HOME=/root when running shells - - make sure we don't crash if there's an automount unit without - mount unit - - start logger only after syslog is up - -------------------------------------------------------------------- -Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com - -- version 9 - - units: don't add shutdown conflicts dep to umount.target - - dbus: don't send cgroup agent messages directly to system bus - - dbus: don't accept activation requests anymore if we are going - down anyway - - systemctl: fix return value of systemctl start and friends - - service: wait for process exit only if we actually killed - somebody - -------------------------------------------------------------------- -Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com - -- version 8 - - KERNEL 2.6.36+ REQUIRED! - - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup - - invoke sulogin instead of /bin/sh - - systemctl: show timestamps for state changes - - add global configuration options for handling of auto mounts - -------------------------------------------------------------------- -Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com - -- apply /etc/fstab mount options to all api mounts -- properly handle LABEL="" in fstab -- do not consider LSB exit codes 5 and 6 as failure - -------------------------------------------------------------------- -Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com - -- prefix sysv job descriptions with LSB: -- add native sysctl + hwclock + random seed service files -- properly fallback to rescue.target if default.target is hosed -- rename ValidNoProcess= to RemainAfterExit= -- add systemd-modules-load tool to handle /etc/modules.d/ - -------------------------------------------------------------------- -Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com - -- add support for delayed shutdown, similar to sysv in style -- rename Type=finish to Type=oneshot and allow multiple ExecStart= -- don't show ENOENT for non exitent configuration files -- log build time features on startup -- rearrange structs to make them smaller -- move runlevel[2-5] links to /lib -- create default.target link to /lib not /etc -- handle random-seed -- write utmp record before we kill all processes -- create /var/lock/subsys, /var/run/utmp - -------------------------------------------------------------------- -Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com - -- add audit messages for service changes -- update utmp with external program -- all to refuse manual service starting/stopping - -------------------------------------------------------------------- -Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com - -- version 7 - - hide output if quiet is passed on the kernel cmdline - - fix auto restarting of units after a configuration reload - - don't call bus_path_escape() with NULL unit name - -------------------------------------------------------------------- -Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com - -- version 6 - - man page update - -------------------------------------------------------------------- -Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - downgrade a few log messages - - properly handle devices which are referenced before they exist - -------------------------------------------------------------------- -Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com - -- new snapshot - - fix dependency cycle of boot.* by splitting fsck.target - - sort boot.* before other sysv services - from sysinint.target - - start getty for serial console - -------------------------------------------------------------------- -Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com - -- add licence to subpackages - -------------------------------------------------------------------- -Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com - -- version 5 - - selinux fixes -- fix hanging 'reboot' started from vc - -------------------------------------------------------------------- -Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com - -- enable getty.target by default - -------------------------------------------------------------------- -Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com - -- at install, read old inittab for the defaul target/runlevel -- disable services on package uninstall - -------------------------------------------------------------------- -Sat Jul 24 09:50:05 CEST 2010 - kay.sievers@novell.com - -- version 4 - - merge systemd-install into systemctl - -------------------------------------------------------------------- -Fri Jul 23 10:39:19 CEST 2010 - kay.sievers@novell.com - -- create config files in /etc in %post -- mark files in /etc as config -- remove nodev from /dev/pts -- add selinux support - -------------------------------------------------------------------- -Thu Jul 22 10:51:16 CEST 2010 - kay.sievers@novell.com - -- version 4 (pre) - - require newer vala - - add [Install] section to getty.target and remote-fs.target -- re-enable post-build check - -------------------------------------------------------------------- -Wed Jul 21 08:51:22 CEST 2010 - kay.sievers@novell.com - -- do not add sysv services that are not enabled in /etc/rcN.d/ -- allow symlinking unit files to /dev/null -- remove only pam sessions we ourselves created -- unit files in /etc/ always take precedence, even over link targets - -------------------------------------------------------------------- -Tue Jul 20 21:20:43 CEST 2010 - kay.sievers@novell.com - -- fix access mode verification of FIFOs - -------------------------------------------------------------------- -Sun Jul 18 11:31:06 CEST 2010 - kay.sievers@novell.com - -- fix default mode of /var/run and /var/lock -- force /var/run and /var/lock to be on tmpfs - -------------------------------------------------------------------- -Wed Jul 14 17:49:57 CEST 2010 - kay.sievers@novell.com - -- always enable udev and dbus until we can require systemd from - packages providing systemd service files - -------------------------------------------------------------------- -Wed Jul 14 01:10:27 CEST 2010 - kay.sievers@novell.com - -- drop systemd-units.rpm - -------------------------------------------------------------------- -Wed Jul 14 00:07:24 CEST 2010 - kay.sievers@novell.com - -- version 3 - - treat non-existing cgroups like empty ones, to deal with races - - replace --running-as= by --session and --system - - always allow stopping of units that failed to load - -------------------------------------------------------------------- -Tue Jul 13 06:22:56 CEST 2010 - kay.sievers@novell.com - -- update - -------------------------------------------------------------------- -Mon Jul 12 18:23:41 CEST 2010 - kay.sievers@novell.com - -- drop libcgroup - -------------------------------------------------------------------- -Mon Jul 12 10:04:26 CEST 2010 - kay.sievers@novell.com - -- trim cgroups for services that are "active" but "exited" -- drop /bin/init hack and require now fixed mkinitrd - -------------------------------------------------------------------- -Sun Jul 11 23:38:45 CEST 2010 - kay.sievers@novell.com - -- fix reboot issue -- fix abstract namespace name handling (needs udev update) -- prefer private D-Bus socket wherever possible - -------------------------------------------------------------------- -Sun Jul 11 00:50:14 CEST 2010 - kay.sievers@novell.com - -- D-Bus 1.3.2 support -- use COLD_BOOT=1 on reboot to skip sysv boot.d/ handling - -------------------------------------------------------------------- -Fri Jul 9 10:05:00 CEST 2010 - kay.sievers@novell.com - -- fix typo in spec file - -------------------------------------------------------------------- -Fri Jul 9 09:09:33 CEST 2010 - kay.sievers@novell.com - -- provide /bin/init to be found by 'too simple' mkinitrd, and work - around mindless relinking of relative links in the buildsystem -- add rpmlintrc to silent warnings about intentional behavior - -------------------------------------------------------------------- -Fri Jul 9 06:18:52 CEST 2010 - kay.sievers@novell.com - -- version 2 - -------------------------------------------------------------------- -Thu Jul 8 23:48:09 CEST 2010 - kay.sievers@novell.com - -- fix 'reboot -w' to skip the actual reboot -- fix segfault in D-Bus code -- use unique instead of multiple keys in config file -- support continuation lines in config files -- support multiple commands in a single key in config files -- adapt log level of some messages - -------------------------------------------------------------------- -Wed Jul 7 06:20:00 CEST 2010 - kay.sievers@novell.com - -- version 1 - - default log level to INFO - - show welcome message - -------------------------------------------------------------------- -Tue Jul 6 08:55:03 CEST 2010 - kay.sievers@novell.com - -- add systemd-install --start option -- add more documentation - -------------------------------------------------------------------- -Mon Jul 5 16:23:28 CEST 2010 - kay.sievers@novell.com - -- new snapshot with extended D-Bus support - -------------------------------------------------------------------- -Sun Jul 4 21:31:49 CEST 2010 - kay.sievers@novell.com - -- new snapshot with default unit dependency handling - -------------------------------------------------------------------- -Sat Jul 3 16:54:19 CEST 2010 - kay.sievers@novell.com - -- new snapshot - -------------------------------------------------------------------- -Fri Jul 2 10:04:26 CEST 2010 - kay.sievers@novell.com - -- add more documentation - -------------------------------------------------------------------- -Thu Jul 1 17:40:28 CEST 2010 - kay.sievers@novell.com - -- new snapshot - -------------------------------------------------------------------- -Fri Jun 25 00:34:03 CEST 2010 - kay.sievers@novell.com - -- split off systemd-units.rpm which can be pulled-in by other - packages without further dependencies - -------------------------------------------------------------------- -Thu Jun 24 09:40:06 CEST 2010 - kay.sievers@novell.com - -- add more documentation - -------------------------------------------------------------------- -Tue Jun 22 22:13:02 CEST 2010 - kay.sievers@novell.com - -- more man pages and documentation - -------------------------------------------------------------------- -Tue Jun 22 18:14:05 CEST 2010 - kay.sievers@novell.com - -- conflict with upstart -- include all installed doc files - -------------------------------------------------------------------- -Tue Jun 22 09:33:44 CEST 2010 - kay.sievers@novell.com - -- provide pam module - -------------------------------------------------------------------- -Mon Jun 21 10:21:20 CEST 2010 - kay.sievers@novell.com - -- use private D-Bus connection -- properly handle replacing a running upstart - -------------------------------------------------------------------- -Fri Jun 18 09:37:46 CEST 2010 - kay.sievers@novell.com - -- implement wall message in halt/reboot/... -- speak /dev/initctl to old /sbin/init after installing - -------------------------------------------------------------------- -Thu Jun 17 23:54:59 CEST 2010 - kay.sievers@novell.com - -- drop no longer needed -fno-strict-aliasing -- add README and examples - -------------------------------------------------------------------- -Thu Jun 17 23:23:42 CEST 2010 - kay.sievers@novell.com - -- enable pam and libwrap - -------------------------------------------------------------------- -Thu Jun 17 23:10:57 CEST 2010 - kay.sievers@novell.com - -- provide systemd-sysvinit.rpm with /sbin/init and friends - -------------------------------------------------------------------- -Thu Jun 17 11:06:14 CEST 2010 - kay.sievers@novell.com - -- libwrap / pam support - -------------------------------------------------------------------- -Wed Jun 16 09:46:15 CEST 2010 - kay.sievers@novell.com - -- initial packaging of experimental version 0 - diff --git a/systemd-mini.spec b/systemd-mini.spec deleted file mode 100644 index e2e18d20..00000000 --- a/systemd-mini.spec +++ /dev/null @@ -1,1871 +0,0 @@ -# -# spec file for package systemd-mini -# -# Copyright (c) 2021 SUSE LLC -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - -# -# The git repository used to track all Suse specific changes can be -# found at: https://github.com/openSUSE/systemd. -# - -##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define bootstrap 1 -##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### -%define mini -mini -%define min_kernel_version 4.5 -%define suse_version +suse.47.g8521f8d22f -%define _testsuitedir /usr/lib/systemd/tests - -%if 0%{?bootstrap} -%bcond_with coredump -%bcond_with importd -%bcond_with journal_remote -%bcond_with machined -%bcond_with networkd -%bcond_with portabled -%bcond_with resolved -%bcond_with sd_boot -%bcond_with sysvcompat -%bcond_with experimental -%bcond_with testsuite -%else -%bcond_without coredump -%bcond_without importd -%bcond_without journal_remote -%bcond_without machined -%bcond_without networkd -%bcond_without portabled -%bcond_without resolved -%ifarch %{ix86} x86_64 aarch64 -%bcond_without sd_boot -%else -%bcond_with sd_boot -%endif -%bcond_without sysvcompat -%bcond_without experimental -%bcond_without testsuite -%endif -# Kept to ease migrations toward SLE -%bcond_with split_usr - -Name: systemd-mini -URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.5 -Release: 0 -Summary: A System and Session Manager -License: LGPL-2.1-or-later -BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! 0%{?bootstrap} -BuildRequires: docbook-xsl-stylesheets -BuildRequires: kbd -BuildRequires: libapparmor-devel -BuildRequires: libgcrypt-devel -BuildRequires: libxslt-tools -BuildRequires: polkit -# python is only required for generating systemd.directives.xml -BuildRequires: python3-base -BuildRequires: python3-lxml -BuildRequires: pkgconfig(audit) -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 -BuildRequires: pkgconfig(libdw) -BuildRequires: pkgconfig(libfido2) -BuildRequires: pkgconfig(liblz4) -BuildRequires: pkgconfig(liblzma) -BuildRequires: pkgconfig(libpcre2-8) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(libselinux) >= 2.1.9 -BuildRequires: pkgconfig(libzstd) -BuildRequires: pkgconfig(tss2-esys) -BuildRequires: pkgconfig(tss2-mu) -BuildRequires: pkgconfig(tss2-rc) -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif -%endif -BuildRequires: fdupes -BuildRequires: gperf -BuildRequires: libacl-devel -BuildRequires: libcap-devel -BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: meson >= 0.43 -BuildRequires: pam-devel -BuildRequires: python3-jinja2 -# regenerate_initrd_post macro is expanded during build, hence this -# BR. Also this macro was introduced since version 12.4. -BuildRequires: suse-module-tools >= 12.4 -BuildRequires: systemd-rpm-macros -BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 -BuildRequires: pkgconfig(libpci) >= 3 -%if %{with importd} -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(zlib) -%endif -%if %{with journal_remote} -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 -%endif -%if %{with sd_boot} -BuildRequires: gnu-efi -%endif - -%if 0%{?bootstrap} -#!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs -Provides: systemd = %{version}-%{release} -%else -# the buildignore is important for bootstrapping -#!BuildIgnore: udev -Requires: aaa_base >= 13.2 -Requires: dbus-1 >= 1.4.0 -Requires: kbd -Requires: netcfg >= 11.5 -Requires: systemd-default-settings-branding -Requires: systemd-presets-branding -Requires: util-linux >= 2.27.1 -Requires: group(lock) -# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl -Recommends: libpcre2-8-0 -# ditto but dlopen()ed by systemd-cryptenroll -Recommends: libfido2 -Recommends: libtss2-esys0 -Recommends: libtss2-mu0 -Recommends: libtss2-rc0 -Requires(post): coreutils -Requires(post): findutils -Requires(post): systemd-presets-branding -Requires(post): pam-config >= 0.79-5 -%endif - -%if 0%{?bootstrap} -Conflicts: systemd -Conflicts: kiwi -%endif -Conflicts: sysvinit -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Provides: systemd-logger = %{version}-%{release} -Obsoletes: systemd-logger < %{version}-%{release} -Provides: systemd-analyze = %{version}-%{release} -Obsoletes: pm-utils <= 1.4.1 -Obsoletes: suspend <= 1.0 -Obsoletes: systemd-analyze < 201 -Source0: systemd-v%{version}%{suse_version}.tar.xz -Source1: %{name}-rpmlintrc -Source2: systemd-user -%if %{with sysvcompat} -Source3: systemd-sysv-convert -Source4: systemd-sysv-install -%endif -Source5: tmpfiles-suse.conf -Source6: baselibs.conf -Source11: after-local.service -Source14: kbd-model-map.legacy - -Source100: scripts-systemd-fix-machines-btrfs-subvol.sh -Source101: scripts-systemd-upgrade-from-pre-210.sh -Source102: scripts-systemd-migrate-sysconfig-i18n.sh - -# Patches listed below are SUSE specific and should be kept at its -# minimum. We try hard to push our changes to upstream but sometimes -# they are only relevant for SUSE distros. Special rewards for those -# who will manage to get rid of one of them ! -Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch -Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch -Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch -Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch -Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -Patch10: 0001-conf-parser-introduce-early-drop-ins.patch -Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch -Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch - -# Patches listed below are put in quarantine. Normally all changes -# must go to upstream first and then are cherry-picked in the SUSE git -# repository. But in very few cases, some stuff might be broken in -# upstream and need an urgent fix. Even in this case, the patches are -# temporary and should be removed as soon as a fix is merged by -# upstream. - -%description -Systemd is a system and service manager, compatible with SysV and LSB -init scripts for Linux. systemd provides aggressive parallelization -capabilities, uses socket and D-Bus activation for starting services, -offers on-demand starting of daemons, keeps track of processes using -Linux cgroups, supports snapshotting and restoring of the system state, -maintains mount and automount points and implements an elaborate -transactional dependency-based service control logic. It can work as a -drop-in replacement for sysvinit. - -%if !0%{?bootstrap} -%package doc -Summary: HTML documentation for systemd -License: LGPL-2.1-or-later -Supplements: (systemd and patterns-base-documentation) - -%description doc -The HTML documentation for systemd. - -# /bootstrap -%endif - -%package devel -Summary: Development headers for systemd -License: LGPL-2.1-or-later -Requires: libsystemd0%{?mini} = %{version}-%{release} -Requires: systemd-rpm-macros -%if 0%{?bootstrap} -Conflicts: systemd-devel -%endif - -%description devel -Development headers and auxiliary files for developing applications for systemd. - -%package sysvinit -Summary: System V init tools -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -Provides: sbin_init -Conflicts: sbin_init -Provides: systemd-sysvinit = %{version}-%{release} -Provides: sysvinit:/sbin/init - -%description sysvinit -Drop-in replacement of System V init tools. - -%package -n libsystemd0%{?mini} -Summary: Component library for systemd -License: LGPL-2.1-or-later -%if 0%{?bootstrap} -Conflicts: libsystemd0 -Requires: this-is-only-for-build-envs -%endif - -%description -n libsystemd0%{?mini} -This library provides several of the systemd C APIs: - -* sd-bus implements an alternative D-Bus client library that is - relatively easy to use, very efficient and supports both classic - D-Bus as well as kdbus as transport backend. - -* sd-daemon(3): for system services (daemons) to report their status - to systemd and to make easy use of socket-based activation logic - -* sd-event is a generic event loop abstraction that is built around - Linux epoll, but adds features such as event prioritization or - efficient timer handling. - -* sd-id128(3): generation and processing of 128-bit IDs - -* sd-journal(3): API to submit and query journal log entries - -* sd-login(3): APIs to introspect and monitor seat, login session and - user status information on the local system. - -%package -n udev%{?mini} -Summary: A rule-based device node and kernel event manager -License: GPL-2.0-only -URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -Requires: %{name} = %{version}-%{release} -%systemd_requires -Requires: kmod -Requires: system-group-hardware -Requires: group(kvm) -Requires(post): sed -Requires(post): coreutils -Requires(postun): coreutils - -Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 -Conflicts: dracut < 044.1 -Conflicts: util-linux < 2.16 -Conflicts: ConsoleKit < 0.4.1 -Requires: filesystem -%if 0%{?bootstrap} -Provides: udev = %{version}-%{release} -Conflicts: libudev1 -Conflicts: udev -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs -%endif - -%description -n udev%{?mini} -Udev creates and removes device nodes in /dev for devices discovered or -removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in %{_udevrulesdir}/. Matching -rules may name a device node, create additional symlinks to the node, -call tools to initialize a device, or load needed kernel modules. - -%package -n libudev%{?mini}1 -Summary: Dynamic library to access udev device information -License: LGPL-2.1-or-later -%if 0%{?bootstrap} -Conflicts: libudev1 -Conflicts: kiwi -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs -%endif - -%description -n libudev%{?mini}1 -This package contains the dynamic library libudev, which provides -access to udev device information - -%package -n libudev%{?mini}-devel -Summary: Development files for libudev -License: LGPL-2.1-or-later -Requires: libudev%{?mini}1 = %{version}-%{release} -%if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{version} -Conflicts: libudev1 = %{version} -Conflicts: libudev-devel -%endif - -%description -n libudev%{?mini}-devel -This package contains the development files for the library libudev, a -dynamic library, which provides access to udev device information. - -%if %{with coredump} -%package coredump -Summary: Systemd tools for coredump management -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -Provides: systemd:%{_bindir}/coredumpctl - -%description coredump -Systemd tools to store and manage coredumps. - -This package contains systemd-coredump, coredumpctl. -%endif - -%package container -Summary: Systemd tools for container management -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -Provides: systemd:%{_bindir}/systemd-nspawn -%if 0%{?bootstrap} -Conflicts: systemd-container -%endif - -%description container -Systemd tools to spawn and manage containers and virtual machines. - -This package contains systemd-nspawn, machinectl, systemd-machined, -and systemd-importd. - -%if %{with networkd} || %{with resolved} -%package network -Summary: Systemd tools for networkd and resolved -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -# This Recommends because some symbols of libidn2 are dlopen()ed by resolved -Recommends: pkgconfig(libidn2) -BuildRequires: pkgconfig(libidn2) -Provides: systemd:/usr/lib/systemd/systemd-networkd -Provides: systemd:/usr/lib/systemd/systemd-resolved - -%description network -Systemd tools to manage network settings using networkd and -resolver tools for resolved - -%endif - -%if %{with portabled} -%package portable -Summary: Systemd tools for portable services -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires - -%description portable -Systemd tools to manage portable services. The feature is still -considered experimental so the package might change or vanish. -Use at own risk. - -More information can be found online: - -http://0pointer.net/blog/walkthrough-for-portable-services.html -https://systemd.io/PORTABLE_SERVICES -%endif - -%if ! 0%{?bootstrap} -%package -n nss-systemd -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-systemd -This package contains a plugin for the Name Service Switch (NSS), -which enables resolution of all dynamically allocated service -users. (See the DynamicUser= setting in unit files.) - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. - -%package -n nss-myhostname -Summary: Plugin for local system host name resolution -License: LGPL-2.1-or-later - -%description -n nss-myhostname -This package contains a plug-in module for the Name Service Switch -(NSS), primarly providing hostname resolution for the locally -configured system hostname as returned by gethostname(2). For example, -it resolves the local hostname to locally configured IP addresses, as -well as "localhost" to 127.0.0.1/::1. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. -%endif - -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Requires: %{name}-network = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-mymachines -This package contains a plugin for the Name Service Switch (NSS), -providing host name resolution for all local containers and virtual -machines registered with systemd-machined to their respective IP -addresses. It also maps UID/GIDs ranges used by containers to useful -names. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. -%endif - -%if %{with journal_remote} -%package journal-remote -Summary: Gateway for serving journal events over the network using HTTP -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires - -%description journal-remote -This extends the journal functionality to keep a copy of logs on a -remote server by providing programs to forward journal entries over -the network, using encrypted HTTP, and to write journal files from -serialized journal contents. - -This package contains systemd-journal-gatewayd, -systemd-journal-remote, and systemd-journal-upload. -%endif - -%if %{with testsuite} -%package testsuite -Summary: Testsuite for systemd -# Unit tests dependencies -License: LGPL-2.1-or-later -Recommends: python3 -Recommends: python3-colorama -# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) -Recommends: dosfstools -# The following deps on libs are for test-dlopen-so whereas the -# pkgconfig ones are used by test-funtions to find the libs on the -# host and install them in the image, see install_missing_libraries() -# for details. -%if %{with resolved} -Requires: libidn2 pkgconfig(libidn2) -%endif -%if %{with experimental} -Requires: libpwquality1 pkgconfig(pwquality) -Requires: libqrencode4 pkgconfig(libqrencode) -%endif -Requires: %{name} = %{version}-%{release} -Requires: attr -Requires: binutils -Requires: busybox-static -Requires: cryptsetup -Requires: dosfstools -Requires: libcap-progs -Requires: lz4 -Requires: netcat -Requires: qemu-kvm -Requires: quota -Requires: socat -Requires: squashfs -Requires: systemd-container -Requires: libfido2 pkgconfig(libfido2) -Requires: libtss2-esys0 pkgconfig(tss2-esys) -Requires: libtss2-mu0 pkgconfig(tss2-mu) -Requires: libtss2-rc0 pkgconfig(tss2-rc) -%if %{with coredump} -Requires: systemd-coredump -%endif -%if %{with experimental} -Requires: systemd-experimental -%endif -%if %{with journal_remote} -Requires: systemd-journal-remote -%endif -%if %{with portabled} -Requires: systemd-portable -%endif -Requires: xz - -%description testsuite -This package contains the unit tests as well as the extended -testsuite. The unit tests are used to check various internal functions -used by systemd whereas the extended testsuite is used to test various -functionalities of systemd and all its components. - -Note that the extended testsuite only works with UID=0. - -Run the following python script to run all unit tests at once: -$ %{_testsuitedir}/run-unit-tests.py - -To run the full extended testsuite do the following: -$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh - -Or to run one specific integration test: -$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run - -For more details on the available options to run the extended -testsuite, please refer to %{_testsuitedir}/test/README.testsuite. -%endif - -%if %{with experimental} -%package experimental -Summary: Experimental systemd features -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -# These Recommends because some symbols of these libs are dlopen()ed by home stuff -Recommends: libfido2 -Recommends: libpwquality1 -Recommends: libqrencode4 -# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff -BuildRequires: pkgconfig(libfido2) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(pwquality) -# fdisk and openssl are build requirements for home stuff and repart -BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) - -%description experimental -This package contains optional extra services that are considered as -previews and are provided so users can do early experiments with the -new features or technologies without waiting for them to be fully -supported by either upstream and openSUSE. - -Please note that all services should be considered in development -phase and as such their behaviors details, unit files, option names, -etc... are subject to change without the usual backwards-compatibility -promises. - -Components that turn out to be stable and considered as fully -supported will be merged into the main package or moved into a -dedicated package. - -The package contains: homed, pstore, repart, userdbd. - -Have fun with these services at your own risk. -%endif - -%if ! 0%{?bootstrap} -%lang_package -%endif - -%prep -%setup -q -n systemd-v%{version}%{suse_version} -%autopatch -p1 - -%build -# keep split-usr until all packages have moved their systemd rules to /usr -%meson \ - -Dmode=release \ - -Dversion-tag=%{version}%{suse_version} \ - -Ddocdir=%{_docdir}/systemd \ -%if %{with split_usr} - -Drootprefix=/usr \ - -Dsplit-usr=true \ -%endif - -Dsplit-bin=true \ - -Dsystem-uid-max=499 \ - -Dsystem-gid-max=499 \ - -Dpamconfdir=no \ - -Dpamlibdir=%{_pam_moduledir} \ - -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ - -Drpmmacrosdir=no \ - -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=unified \ - -Ddefault-kill-user-processes=false \ - -Drc-local=/etc/init.d/boot.local \ - -Dcreate-log-dirs=false \ - -Dbump-proc-sys-fs-nr-open=false \ - -Ddebug-shell=/bin/bash \ - -Dseccomp=auto \ - -Dselinux=auto \ - -Dapparmor=auto \ - -Dsmack=false \ - -Dima=false \ - -Delfutils=auto \ - -Doomd=false \ -%if %{with experimental} - -Dpstore=true \ - -Drepart=true \ - -Dhomed=true \ - -Duserdb=true \ -%else - -Dpstore=false \ - -Drepart=false \ - -Dhomed=false \ - -Duserdb=false \ -%endif -%if 0%{?bootstrap} - -Dnss-myhostname=false \ -%else - -Dtpm2=true \ - -Dman=true \ - -Dhtml=true \ -%endif -%if %{without coredump} - -Dcoredump=false \ -%endif -%if %{without sd_boot} - -Defi=false \ - -Dgnu-efi=false \ -%else - -Defi=true \ - -Dgnu-efi=true \ -%endif -%if %{without importd} - -Dimportd=false \ -%endif -%if %{without journal_remote} - -Dremote=false \ -%endif -%if %{without portabled} - -Dportabled=false \ -%endif -%if %{without machined} - -Dmachined=false \ -%endif -%if %{without networkd} - -Dnetworkd=false \ -%endif -%if %{without resolved} - -Dresolve=false \ -%endif -%if %{without sysvcompat} - -Dsysvinit-path= \ - -Dsysvrcnd-path= \ -%endif -%if %{with testsuite} - -Dtests=unsafe \ - -Dinstall-tests=true \ -%else - -Dtests=false \ - -Dinstall-tests=false \ -%endif - -Dadm-group=false \ - -Dwheel-group=false \ - -Dgshadow=false \ - -Dldconfig=false - -%meson_build - -%install -%meson_install - -%if 0%{?bootstrap} -rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm -r %{buildroot}%{_datadir}/locale -%endif - -# Don't ship resolvconf symlink for now as it conflicts with the -# binary shipped by openresolv and provides limited compatibility -# only -%if %{with resolved} -rm %{buildroot}%{_sbindir}/resolvconf -rm %{buildroot}%{_mandir}/man1/resolvconf.1* -%endif - -%if %{with sysvcompat} -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated - -install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert -install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install -%endif - -mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network -mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn - -# Package the scripts used to fix all packaging issues. Also drop the -# "scripts-{systemd/udev}" prefix which is used because osc doesn't -# allow directory structure... -for s in %{S:100} %{S:101} %{S:102}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} -done - -%if %{with split_usr} -# Legacy sysvinit tools -mkdir -p %{buildroot}/sbin -ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init -ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot -ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt -ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown -ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff -%if %{with sysvcompat} -ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit -ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -%endif -%endif - -# Make sure we don't ship static enablement symlinks in /etc during -# installation, presets should be honoured instead. -rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} -rm -f %{buildroot}/etc/systemd/system/default.target - -# Replace upstream systemd-user with the openSUSE one. -install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} - -# don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path - -# do not ship sysctl defaults in systemd package, will be part of -# aaa_base (in procps for now) -rm -f %{buildroot}%{_sysctldir}/50-default.conf -rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf - -# Make sure systemd-network polkit rules file starts with a suitable -# number prefix so it takes precedence over our polkit-default-privs. -%if %{with networkd} -mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ - %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%endif - -# since v207 /etc/sysctl.conf is no longer parsed (commit -# 04bf3c1a60d82791), however backward compatibility is provided by -# /usr/lib/sysctl.d/99-sysctl.conf. -ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf - -# The definition of the basic users/groups are defined by system-user -# on SUSE (bsc#1006978). -rm -f %{buildroot}%{_sysusersdir}/basic.conf - -# Remove README file in init.d as (SUSE) rpm requires executable files -# in this directory... oh well. -rm -f %{buildroot}/etc/init.d/README - -# This dir must be owned (and thus created) by systemd otherwise the -# build system will complain. This is odd since we simply own a ghost -# file in it... -mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d - -# Make sure directories in /var exist -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog - -# Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_ntpunitsdir} - -# Make sure the shutdown/sleep drop-in dirs exist -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ - -# Make sure these directories are properly owned -mkdir -p %{buildroot}%{_unitdir}/basic.target.wants -mkdir -p %{buildroot}%{_unitdir}/default.target.wants -mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants -mkdir -p %{buildroot}%{_unitdir}/halt.target.wants -mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants -mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants -mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants -mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants - -# Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_systemdgeneratordir} -mkdir -p %{buildroot}%{_systemdusergeneratordir} -mkdir -p %{buildroot}%{_presetdir} -mkdir -p %{buildroot}%{_userpresetdir} -mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} -mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} - -# ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}%{_unitdir}/ -ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ - -# ghost directories with default permissions. -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight - -# ghost files with default permisssions. -touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -touch %{buildroot}%{_sysconfdir}/vconsole.conf -touch %{buildroot}%{_sysconfdir}/locale.conf -touch %{buildroot}%{_sysconfdir}/machine-info -touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated - -%fdupes -s %{buildroot}%{_mandir} - -# Make sure to disable all services by default. The Suse branding -# presets package takes care of defining the right policies. -rm -f %{buildroot}%{_presetdir}/*.preset -echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset -echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset - -# The tmpfiles dealing with the generic paths is pretty messy -# currently because: -# -# 1. filesystem package wants to define the generic paths and some of -# them conflict with the definition given by systemd in var.conf, -# see bsc#1078466. -# -# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros -# (fate#314974) which conflict with tmp.conf. -# -# 3. There're also legacy.conf which defines various legacy paths -# which either don't match the SUSE defaults or don't look needed -# at all. -# -# 4. And to finish, we don't want the part in etc.conf which imports -# default upstream files in empty /etc, see below. -# -# To keep things simple, we remove all these tmpfiles config files but -# still keep the remaining paths that still don't have a better home -# in suse.conf. -rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf -install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf - -# The content of the files shipped by systemd doesn't match the -# defaults used by SUSE. Don't ship those files but leave the decision -# to use the mechanism to the individual packages that actually -# consume those configs (like glibc or pam), see bsc#1170146. -rm -fr %{buildroot}%{_datadir}/factory/* - -# Add entries for xkeyboard-config converted keymaps; mappings, which -# already exist in original systemd mapping table are being ignored -# though, i.e. not overwritten; needed as long as YaST uses console -# keymaps internally and calls localectl to convert from vconsole to -# X11 keymaps. Ideally YaST should switch to X11 layout names (the -# mapping table wouldn't be needed since each X11 keymap has a -# generated xkbd keymap) and let localectl initialize -# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf -# (FATE#319454). -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -fi - -# kbd-model-map.legacy is used to provide mapping for legacy keymaps, -# which may still be used by yast. -cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map - -# Don't ship systemd-journald-audit.socket as there's no other way for -# us to prevent journald from recording audit messages in the journal -# by default (bsc#1109252). -rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket -rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket - -%if %{with testsuite} -cp -a test %{buildroot}%{_testsuitedir}/ -find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; -%endif - -%if ! 0%{?bootstrap} -%find_lang systemd -%endif - -# Build of installation images uses a hard coded list of packages with -# a %%pre that needs to be run during the build. systemd is one of them -# so keep the section even if it's empty. -%pre -: - -%post -# Make /etc/machine-id an empty file during package installation. On -# the first boot, machine-id is initialized and either committed (if -# /etc/ is writable) or the system/image runs with a transient machine -# ID, that changes on each boot (if the image is read-only). This is -# especially important for appliance builds to avoid an identical -# machine ID in all images. -if [ $1 -eq 1 ]; then - touch %{_sysconfdir}/machine-id - chmod 444 %{_sysconfdir}/machine-id -fi - -# /etc/machine-id might have been created writeable incorrectly -# (boo#1092269). -if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then - echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." - chmod 444 %{_sysconfdir}/machine-id -fi - -%if ! 0%{?bootstrap} -pam-config --add --systemd || : -%endif - -# systemd-sysusers is not available in %pre so this needs to be done -# in %%post. However this shouldn't be an issue since all files the -# main package ships are owned by root. -%sysusers_create systemd.conf - -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -/usr/lib/systemd/systemd-random-seed save || : - -systemctl daemon-reexec || : - -# Reexecute user manager instances (if any). It is asynchronous but it -# shouldn't be a problem in practice: a problem would arise only if -# the new version of a user service has a brand new option that is -# only understood by the latest version of the user manager and the -# user service is started before the user manager get reexecuted. But -# this case is very unlikely especially since we don't restart any -# user service for now on. -# -# Before doing this, we unfortunately have to wait until users will -# reexec their user manager (by either rebooting or restarting their -# session) to a version that supports SIGRTMIN+25 otherwise sending -# the signal to an old version will kill the manager which means -# tearing down the user session. -# -# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : - -if [ "$1" -eq 1 ]; then - # Persistent journal is the default - mkdir -p %{_localstatedir}/log/journal -fi - -%journal_catalog_update -%tmpfiles_create - -# Create default config in /etc at first install. -# Later package updates should not overwrite these settings. -%systemd_post remote-cryptsetup.target -%systemd_post getty@.service -%systemd_post machines.target -%systemd_post remote-fs.target -%systemd_post systemd-timesyncd.service - -# v228 wrongly set world writable suid root permissions on timestamp -# files used by permanent timers. Fix the timestamps that might have -# been created by the affected versions of systemd (bsc#1020601). -for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do - chmod 0644 $stamp -done - -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - -# Due to the fact that DynamicUser= was turned ON during v235 and then -# switched back to off in v240, /var/lib/systemd/timesync might be a -# symlink pointing to /var/lib/private/systemd/timesync, which is -# inaccessible for systemd-timesync user as /var/lib/private is 0700 -# root:root, see https://github.com/systemd/systemd/issues/11329 for -# details. Note: only TW users might be affected by this bug. -if [ -L %{_localstatedir}/lib/systemd/timesync ]; then - rm %{_localstatedir}/lib/systemd/timesync - mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync -fi - -# This includes all hacks needed when upgrading from SysV. -%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : - -# Migrate old i18n settings previously configured in /etc/sysconfig to -# the new locations used by systemd (/etc/locale.conf, -# /etc/vconsole.conf, ...). Recent versions of systemd parse the new -# locations only. -# -# This is needed both at package updates and package installations -# because we might be upgrading from a system which was running SysV -# init (systemd package is being installed). -# -# It's run only once. -%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : - -# During the migration to tmpfs for /tmp, a bug was introduced that -# affected users using tmpfs for /tmp and happened during the _second_ -# update following the one that introduced tmpfs on /tmp. It consisted -# in creating a dangling symlink /etc/systemd/system/tmp.mount -# pointing to the old copy that previous versions shipped in -# /usr/share/systemd, which doesn't exist anymore. So we migrate the -# link to the new location. -# -# Users have been exposed to this bug during a short period of time as -# it was present only in one release and was fixed shortly after by -# the next update. So we can assume that it's safe to drop it in 6 -# months (ie March 2021). -if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then - ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount -fi - -%postun -# daemon-reload is implied by %%systemd_postun_with_restart -%systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-timesyncd.service -# Avoid restarting logind until fixed upstream (issue #1163) - -%pre -n udev%{?mini} -# New installations uses the last compat symlink generation number -# (currently at 2), which basically disables all compat symlinks. On -# old systems, the file doesn't exist. This is equivalent to -# generation #1, which enables the creation of all compat symlinks. -if [ $1 -eq 1 ]; then - echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation -fi - -%post -n udev%{?mini} -%regenerate_initrd_post -%udev_hwdb_update - -# add KERNEL name match to existing persistent net rules -sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : - -# cleanup old stuff -rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules - -%postun -n udev%{?mini} -%regenerate_initrd_post - -# The order of the units being restarted is important here because there's currently no -# way to queue multiple jobs into a single transaction atomically. Therefore systemctl -# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for -# the sockets are being handled first then starting them again will fail as the service -# is still active hence the sockets held by udevd. However if the restart job for udevd -# is handled first, there should be enough time to queue the socket jobs before the stop -# job for udevd is processed. Hence PID1 will automatically sort the restart jobs -# correctly by stopping the service then the sockets and then by starting the sockets and -# the unit. -# -# Note that when systemd-udevd is restarted, there will always be a short time -# frame where no socket will be listening to the events sent by the kernel, no -# matter if the socket unit is restarted in first or not. -%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket - -%posttrans -n udev%{?mini} -%regenerate_initrd_posttrans - -%post -n libudev%{?mini}1 -p /sbin/ldconfig -%post -n libsystemd0%{?mini} -p /sbin/ldconfig - -%postun -n libudev%{?mini}1 -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig - -%post container -%tmpfiles_create systemd-nspawn.conf -%if %{with machined} -if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. - # - # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : -fi -%endif - -%if ! 0%{?bootstrap} -%post -n nss-myhostname -p /sbin/ldconfig -%postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-systemd -p /sbin/ldconfig -%postun -n nss-systemd -p /sbin/ldconfig -%endif - -%if %{with resolved} -%post -n nss-resolve -p /sbin/ldconfig -%postun -n nss-resolve -p /sbin/ldconfig -%endif - -%if %{with machined} -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig -%endif - -%if %{with journal_remote} -%pre journal-remote -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service -%service_add_pre systemd-journal-upload.service - -%post journal-remote -# Assume that all files shipped by systemd-journal-remove are owned by root. -%sysusers_create systemd-remote.conf -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_post systemd-journal-remote.socket systemd-journal-remote.service -%service_add_post systemd-journal-upload.service - -%preun journal-remote -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_preun systemd-journal-upload.service - -%postun journal-remote -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_postun systemd-journal-upload.service -%endif - -%if %{with networkd} || %{with resolved} -%pre network -%if %{with networkd} -%service_add_pre systemd-networkd.service -%service_add_pre systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_add_pre systemd-resolved.service -%endif - -%post network -%if %{with networkd} -%service_add_post systemd-networkd.service -%service_add_post systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_add_post systemd-resolved.service -%endif - -%preun network -%if %{with networkd} -%service_del_preun systemd-networkd.service -%service_del_preun systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_del_preun systemd-resolved.service -%endif - -%postun network -%if %{with networkd} -%service_del_postun systemd-networkd.service -%service_del_postun systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%service_del_postun systemd-resolved.service -%endif -%endif - -%if %{with portabled} -%pre portable -%service_add_pre systemd-portabled.service - -%post portable -%tmpfiles_create portables.conf -%service_add_post systemd-portabled.service - -%preun portable -%service_del_preun systemd-portabled.service - -%postun portable -%service_del_postun systemd-portabled.service -%endif - -%if %{with experimental} -%pre experimental -%service_add_pre systemd-pstore.service -%service_add_pre systemd-userdbd.service systemd-userdbd.socket -%service_add_pre systemd-homed.service - -%post experimental -%tmpfiles_create systemd-pstore.conf -%service_add_post systemd-pstore.service -%service_add_post systemd-userdbd.service systemd-userdbd.socket -%service_add_post systemd-homed.service - -%preun experimental -%service_del_preun systemd-pstore.service -%service_del_preun systemd-userdbd.service systemd-userdbd.socket -%service_del_preun systemd-homed.service - -%postun experimental -%service_del_postun systemd-pstore.service -%service_del_postun systemd-userdbd.service systemd-userdbd.socket -%service_del_postun systemd-homed.service -%endif - -%files -%defattr(-,root,root) -%license LICENSE* -%if %{with sd_boot} -%{_bindir}/bootctl -%endif -%{_bindir}/busctl -%{_bindir}/hostnamectl -%{_bindir}/kernel-install -%{_bindir}/localectl -%{_bindir}/systemctl -%{_bindir}/systemd-analyze -%if ! 0%{?bootstrap} -%{_bindir}/systemd-cryptenroll -%endif -%{_bindir}/systemd-delta -%{_bindir}/systemd-dissect -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-id128 -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers -%{_bindir}/systemd-mount -%{_bindir}/systemd-umount -%{_bindir}/systemd-notify -%{_bindir}/systemd-run -%{_bindir}/systemd-sysext -%{_bindir}/journalctl -%{_bindir}/systemd-ask-password -%{_bindir}/loginctl -%{_bindir}/systemd-inhibit -%{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles -%{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-socket-activate -%{_bindir}/systemd-stdio-bridge -%{_bindir}/systemd-detect-virt -%{_bindir}/timedatectl -%{_bindir}/systemd-cgls -%{_bindir}/systemd-cgtop -%{_bindir}/systemd-cat -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d -%{_prefix}/lib/kernel/install.d/00-entry-directory.install -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/network -%dir %{_unitdir} -%{_userunitdir} -%if %{with coredump} -%exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket -%endif -%if %{with journal_remote} -%exclude %{_unitdir}/systemd-journal-gatewayd.* -%exclude %{_unitdir}/systemd-journal-remote.* -%exclude %{_unitdir}/systemd-journal-upload.* -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%endif -%exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_unitdir}/systemd-udev*.* -%exclude %{_unitdir}/systemd-hwdb*.* -%exclude %{_unitdir}/*.target.wants/systemd-udev*.* -%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* -%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service -%exclude %{_unitdir}/kmod-static-nodes.service -%exclude %{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%exclude %{_prefix}/lib/systemd/systemd-machined -%exclude %{_unitdir}/systemd-machined.service -%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service -%exclude %{_unitdir}/var-lib-machines.mount -%exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target.wants -%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount -%endif -%if %{with importd} -%exclude %{_prefix}/lib/systemd/systemd-import* -%exclude %{_prefix}/lib/systemd/systemd-pull -%exclude %{_prefix}/lib/systemd/import-pubring.gpg -%exclude %{_unitdir}/systemd-importd.service -%exclude %{_unitdir}/dbus-org.freedesktop.import1.service -%endif -%if %{with networkd} -%exclude %{_prefix}/lib/systemd/systemd-network-generator -%exclude %{_prefix}/lib/systemd/systemd-networkd -%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online -%exclude %{_unitdir}/systemd-network-generator.service -%exclude %{_unitdir}/systemd-networkd.service -%exclude %{_unitdir}/systemd-networkd.socket -%exclude %{_unitdir}/systemd-networkd-wait-online.service -%exclude %{_prefix}/lib/systemd/systemd-resolved -%exclude %{_unitdir}/systemd-resolved.service -%endif -%if %{with portabled} -%exclude %{_prefix}/lib/systemd/systemd-portabled -%exclude %{_prefix}/lib/systemd/portable -%exclude %{_unitdir}/systemd-portabled.service -%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service -%exclude %{_tmpfilesdir}/portables.conf -%endif -%if %{with experimental} -%exclude %{_prefix}/lib/systemd/systemd-pstore -%exclude %{_unitdir}/systemd-pstore.service -%exclude %{_tmpfilesdir}/systemd-pstore.conf -%exclude %{_unitdir}/systemd-repart.service -%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service -%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service -%exclude %{_prefix}/lib/systemd/systemd-userwork -%exclude %{_prefix}/lib/systemd/systemd-userdbd -%exclude %{_unitdir}/systemd-userdbd.service -%exclude %{_unitdir}/systemd-userdbd.socket -%exclude %{_prefix}/lib/systemd/systemd-homed -%exclude %{_prefix}/lib/systemd/systemd-homework -%exclude %{_unitdir}/systemd-homed-activate.service -%exclude %{_unitdir}/systemd-homed.service -%endif - -%{_unitdir}/*.automount -%{_unitdir}/*.service -%{_unitdir}/*.slice -%{_unitdir}/*.target -%{_unitdir}/*.mount -%{_unitdir}/*.timer -%{_unitdir}/*.socket -%{_unitdir}/*.wants -%{_unitdir}/*.path - -%{_unitdir}/user-.slice.d/ - -%{_prefix}/lib/systemd/systemd-* -%{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-*.so -%{_prefix}/lib/systemd/scripts -%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%dir %{_journalcatalogdir} -%{_journalcatalogdir}/systemd.catalog -%{_journalcatalogdir}/systemd.*.catalog -%{_presetdir} -%{_userpresetdir} -%{_systemdgeneratordir} -%{_systemdusergeneratordir} -%{_systemd_system_env_generator_dir} -%{_systemd_user_env_generator_dir} -%dir %{_ntpunitsdir} -%{_ntpunitsdir}/80-systemd-timesync.list -%dir %{_prefix}/lib/systemd/system-shutdown/ -%dir %{_prefix}/lib/systemd/system-sleep/ - -%{_pam_moduledir}/pam_systemd.so - -%if %{with sd_boot} -%dir %{_prefix}/lib/systemd/boot -%dir %{_prefix}/lib/systemd/boot/efi -%{_prefix}/lib/systemd/boot/efi/*.efi -%{_prefix}/lib/systemd/boot/efi/*.stub -%endif - -%dir %{_sysconfdir}/modules-load.d -%{_modulesloaddir} - -%dir %{_sysusersdir} -%doc %{_sysusersdir}/README -%{_sysusersdir}/systemd.conf - -%dir %{_sysconfdir}/tmpfiles.d -%{_tmpfilesdir}/ -%exclude %{_tmpfilesdir}/systemd-nspawn.conf - -%{_environmentdir}/ - -%dir %{_binfmtdir} -%dir %{_sysconfdir}/binfmt.d - -%dir %{_sysctldir} -%dir %{_sysconfdir}/sysctl.d -%doc %{_sysctldir}/README -%{_sysctldir}/99-sysctl.conf - -%dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/systemd -%dir %{_sysconfdir}/systemd/network -%dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/xdg/systemd/user - -%dir %{_distconfdir}/X11/xinit -%dir %{_distconfdir}/X11/xinit/xinitrc.d -%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh - -%{_pam_vendordir}/systemd-user - -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/sleep.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf - -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/system-services - -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf - -# FIXME: why do we have to own this dir ? -%dir %{_modprobedir} -%doc %{_modprobedir}/README -%{_modprobedir}/systemd.conf - -# Some files created at runtime. -%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ -%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf -%ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id - -%{_datadir}/systemd -%{_datadir}/factory - -%if %{with journal_remote} -%exclude %{_datadir}/systemd/gatewayd -%endif - -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service - -%dir %{_datadir}/polkit-1 -%dir %{_datadir}/polkit-1/actions -%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy - -%if ! 0%{?bootstrap} -%{_mandir}/man1/[a-rt-z]*ctl.1* -%{_mandir}/man1/systemc*.1* -%{_mandir}/man1/systemd*.1* -%{_mandir}/man5/[a-tv-z]* -%{_mandir}/man5/user* -%{_mandir}/man7/[bdfks]* -%{_mandir}/man8/kern* -%{_mandir}/man8/pam_* -%{_mandir}/man8//rc-local.* -%{_mandir}/man8/systemd-[a-gik-tvx]* -%{_mandir}/man8/systemd-h[aioy]* -%{_mandir}/man8/systemd-journald* -%{_mandir}/man8/systemd-u[ps]* -%{_mandir}/man8/30-systemd-environment-d-generator.* -%if %{with coredump} -%exclude %{_mandir}/man1/coredumpctl* -%exclude %{_mandir}/man5/coredump.conf* -%exclude %{_mandir}/man8/systemd-coredump* -%endif -%exclude %{_mandir}/man*/*nspawn* -%if %{with machined} -%exclude %{_mandir}/man*/machinectl* -%exclude %{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%exclude %{_mandir}/man*/systemd-importd* -%endif -%if %{with journal_remote} -%exclude %{_mandir}/man5/journal-remote.conf* -%exclude %{_mandir}/man5/journal-upload.conf* -%endif -%if %{with portabled} -%exclude %{_mandir}/man*/portablectl* -%exclude %{_mandir}/man*/systemd-portabled* -%endif -%if %{with experimental} -%exclude %{_mandir}/man*/*pstore* -%exclude %{_mandir}/man*/*repart* -%exclude %{_mandir}/man*/userdbctl* -%exclude %{_mandir}/man*/systemd-userdbd* -%exclude %{_mandir}/man*/*homectl* -%exclude %{_mandir}/man*/*homed* -%exclude %{_mandir}/man*/org.freedesktop.home1* -%exclude %{_mandir}/man*/pam_systemd_home* -%exclude %{_datadir}/bash-completion/completions/homectl -%endif -%endif - -%{_docdir}/systemd -%exclude %{_docdir}/systemd/html - -%{_udevrulesdir}/70-uaccess.rules -%{_udevrulesdir}/71-seat.rules -%{_udevrulesdir}/73-seat-late.rules -%{_udevrulesdir}/99-systemd.rules -%dir %{_localstatedir}/lib/systemd -%dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_localstatedir}/lib/systemd/migrated -%endif -%ghost %{_localstatedir}/lib/systemd/catalog/database -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/i18n-migrated -%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed - -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - -%dir %{_datadir}/zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* -%{_datadir}/pkgconfig/systemd.pc - -%if ! 0%{?bootstrap} -%files doc -%defattr(-,root,root,-) -%dir %{_docdir}/systemd -%{_docdir}/systemd/html -%endif - -%files devel -%defattr(-,root,root,-) -%{_libdir}/libsystemd.so -%{_libdir}/pkgconfig/libsystemd.pc -%{_includedir}/systemd/ -%if ! 0%{?bootstrap} -%{_mandir}/man3/SD*.3* -%{_mandir}/man3/sd*.3* -%endif - -%files sysvinit -%defattr(-,root,root,-) -%if %{with split_usr} -/sbin/init -/sbin/reboot -/sbin/halt -/sbin/shutdown -/sbin/poweroff -%if %{with sysvcompat} -/sbin/telinit -/sbin/runlevel -%endif -%endif -%{_sbindir}/init -%{_sbindir}/reboot -%{_sbindir}/halt -%{_sbindir}/shutdown -%{_sbindir}/poweroff -%if %{with sysvcompat} -%{_sbindir}/telinit -%{_sbindir}/runlevel -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man1/init.1* -%{_mandir}/man8/halt.8* -%{_mandir}/man8/reboot.8* -%{_mandir}/man8/shutdown.8* -%{_mandir}/man8/poweroff.8* -%{_mandir}/man8/telinit.8* -%{_mandir}/man8/runlevel.8* -%endif - -%files -n udev%{?mini} -%defattr(-,root,root) -%{_bindir}/udevadm -%{_bindir}/systemd-hwdb -%dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/cdrom_id -# dmi_memory_id is only relevant on arches with DMI -%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips -%{_prefix}/lib/udev/dmi_memory_id -%endif -%{_prefix}/lib/udev/fido_id -%{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/path_id_compat -%{_prefix}/lib/udev/scsi_id -%{_prefix}/lib/udev/v4l_id -%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_udevrulesdir}/ -%doc %{_udevrulesdir}/README -%exclude %{_udevrulesdir}/70-uaccess.rules -%exclude %{_udevrulesdir}/71-seat.rules -%exclude %{_udevrulesdir}/73-seat-late.rules -%exclude %{_udevrulesdir}/99-systemd.rules -%{_udevrulesdir}/*.rules -%{_udevhwdbdir}/ -%dir %{_sysconfdir}/udev/ -%dir %{_sysconfdir}/udev/rules.d/ -%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin -%config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! 0%{?bootstrap} -%{_mandir}/man5/udev* -%{_mandir}/man7/hwdb* -%{_mandir}/man7/udev* -%{_mandir}/man8/systemd-hwdb* -%{_mandir}/man8/systemd-udev* -%{_mandir}/man8/udev* -%endif -%dir %{_unitdir} -%{_prefix}/lib/systemd/systemd-udevd -%{_unitdir}/kmod-static-nodes.service -%{_unitdir}/systemd-udev*.service -%{_unitdir}/systemd-udevd*.socket -%{_unitdir}/systemd-hwdb*.* -%{_unitdir}/initrd-udevadm-cleanup-db.service -%dir %{_unitdir}/sysinit.target.wants -%{_unitdir}/sysinit.target.wants/systemd-udev*.service -%dir %{_unitdir}/sockets.target.wants -%{_unitdir}/sockets.target.wants/systemd-udev*.socket -%{_unitdir}/*.target.wants/systemd-hwdb*.* -%{_prefix}/lib/systemd/network/99-default.link -%{_datadir}/pkgconfig/udev.pc - -%files -n libsystemd0%{?mini} -%defattr(-,root,root) -%{_libdir}/libsystemd.so.* - -%files -n libudev%{?mini}1 -%defattr(-,root,root) -%{_libdir}/libudev.so.* - -%files -n libudev%{?mini}-devel -%defattr(-,root,root) -%{_includedir}/libudev.h -%{_libdir}/libudev.so -%{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man3/*udev*.3* -%endif - -%if %{with coredump} -%files coredump -%defattr(-,root,root) -%{_bindir}/coredumpctl -%{_prefix}/lib/systemd/systemd-coredump -%{_unitdir}/systemd-coredump* -%{_unitdir}/sockets.target.wants/systemd-coredump.socket -%{_sysctldir}/50-coredump.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%dir %{_localstatedir}/lib/systemd/coredump -%if ! 0%{?bootstrap} -%{_mandir}/man1/coredumpctl* -%{_mandir}/man5/coredump.conf* -%{_mandir}/man8/systemd-coredump* -%endif -%endif - -%files container -%defattr(-,root,root) -%dir %{_sysconfdir}/systemd/nspawn -%{_bindir}/systemd-nspawn -%{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%{_bindir}/machinectl -%{_prefix}/lib/systemd/systemd-machined -%{_unitdir}/systemd-machined.service -%{_unitdir}/dbus-org.freedesktop.machine1.service -%{_unitdir}/var-lib-machines.mount -%{_unitdir}/machine.slice -%{_unitdir}/machines.target.wants -%{_unitdir}/*.target.wants/var-lib-machines.mount -%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%{_tmpfilesdir}/systemd-nspawn.conf -%endif -%if %{with importd} -%{_prefix}/lib/systemd/systemd-import* -%{_prefix}/lib/systemd/systemd-pull -%{_prefix}/lib/systemd/import-pubring.gpg -%{_unitdir}/systemd-importd.service -%{_unitdir}/dbus-org.freedesktop.import1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man*/*nspawn* -%if %{with machined} -%{_mandir}/man*/machinectl* -%{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%{_mandir}/man*/systemd-importd* -%endif -%endif - -%if ! 0%{?bootstrap} -%files lang -f systemd.lang - -%files -n nss-myhostname -%defattr(-, root, root) -%{_libdir}/*nss_myhostname* -%{_mandir}/man8/libnss_myhostname.* -%{_mandir}/man8/nss-myhostname.* - -%files -n nss-systemd -%defattr(-, root, root) -%{_libdir}/libnss_systemd.so* -%{_mandir}/man8/libnss_systemd.so.* -%{_mandir}/man8/nss-systemd.* -%endif - -%if %{with resolved} -%files -n nss-resolve -%defattr(-, root, root) -%{_libdir}/libnss_resolve.so.2 -%{_mandir}/man8/libnss_resolve.* -%{_mandir}/man8/nss-resolve.* -%endif - -%if %{with machined} -%files -n nss-mymachines -%defattr(-,root,root) -%{_libdir}/libnss_mymachines.so* -%{_mandir}/man8/libnss_mymachines.* -%{_mandir}/man8/nss-mymachines.* -%endif - -%if %{with journal_remote} -%files journal-remote -%defattr(-, root, root) -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_unitdir}/systemd-journal-gatewayd.* -%{_unitdir}/systemd-journal-remote.* -%{_unitdir}/systemd-journal-upload.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_prefix}/lib/systemd/systemd-journal-remote -%{_prefix}/lib/systemd/systemd-journal-upload -%{_sysusersdir}/systemd-remote.conf -%{_mandir}/man5/journal-remote.conf* -%{_mandir}/man5/journal-upload.conf* -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_mandir}/man8/systemd-journal-remote.* -%{_mandir}/man8/systemd-journal-upload.* -%{_datadir}/systemd/gatewayd -%ghost %dir %{_localstatedir}/log/journal/remote -%endif - -%if %{with networkd} || %{with resolved} -%files network -%defattr(-,root,root) -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%{_bindir}/networkctl -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/*.network -%{_prefix}/lib/systemd/network/*.network.example -%{_prefix}/lib/systemd/systemd-network-generator -%{_prefix}/lib/systemd/systemd-networkd -%{_prefix}/lib/systemd/systemd-networkd-wait-online -%{_unitdir}/systemd-network-generator.service -%{_unitdir}/systemd-networkd.service -%{_unitdir}/systemd-networkd.socket -%{_unitdir}/systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%{_bindir}/systemd-resolve -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%{_prefix}/lib/systemd/resolv.conf -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service -%endif -%endif - -%if %{with portabled} -%files portable -%defattr(-,root,root) -%{_bindir}/portablectl -%{_prefix}/lib/systemd/systemd-portabled -%{_prefix}/lib/systemd/portable -%{_unitdir}/systemd-portabled.service -%{_unitdir}/dbus-org.freedesktop.portable1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service -%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy -%{_tmpfilesdir}/portables.conf -%{_mandir}/man*/portablectl* -%{_mandir}/man*/systemd-portabled* -%endif - -%if %{with testsuite} -%files testsuite -%defattr(-,root,root) -%{_testsuitedir} -%doc %{_testsuitedir}/test/README.testsuite -%endif - -%if %{with experimental} -%files experimental -%defattr(-,root,root) -%config(noreplace) %{_sysconfdir}/systemd/pstore.conf -%{_prefix}/lib/systemd/systemd-pstore -%{_unitdir}/systemd-pstore.service -%{_tmpfilesdir}/systemd-pstore.conf -%{_mandir}/man*/*pstore* -%{_bindir}/systemd-repart -%{_unitdir}/systemd-repart.service -%{_mandir}/man*/*repart* -%{_bindir}/userdbctl -%{_prefix}/lib/systemd/systemd-userwork -%{_prefix}/lib/systemd/systemd-userdbd -%{_unitdir}/systemd-userdbd.service -%{_unitdir}/systemd-userdbd.socket -%{_mandir}/man*/userdbctl* -%{_mandir}/man*/systemd-userdbd* -%config(noreplace) %{_sysconfdir}/systemd/homed.conf -%{_bindir}/homectl -%{_prefix}/lib/systemd/systemd-homed -%{_prefix}/lib/systemd/systemd-homework -%{_unitdir}/systemd-homed.service -%{_unitdir}/systemd-homed-activate.service -%{_pam_moduledir}/pam_systemd_home.so -%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf -%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy -%{_datadir}/bash-completion/completions/homectl -%{_mandir}/man*/*homectl* -%{_mandir}/man*/*homed* -%{_mandir}/man*/org.freedesktop.home1* -%{_mandir}/man*/pam_systemd_home* -%endif - -%changelog diff --git a/systemd.changes b/systemd.changes index e24b4142..307f8f06 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,8 +1,39 @@ +------------------------------------------------------------------- +Tue Nov 2 10:26:58 UTC 2021 - Franck Bui + +- Add 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch + + Temporarly revert commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979 + until the regression it introduced [1] is addressed by upstream and + a fix is released via the stable tree. + + [1] https://github.com/systemd/systemd/issues/21025 + +------------------------------------------------------------------- +Tue Oct 19 14:41:37 UTC 2021 - Franck Bui + +- Disable nss-systemd and translations features for the mini flavour + +------------------------------------------------------------------- +Mon Oct 18 13:01:01 UTC 2021 - Franck Bui + +- Really enable libiptc for masquerading support (bsc#1191651) + + Currently used by systemd-nspawn and systemd-networkd. + +------------------------------------------------------------------- +Mon Oct 18 10:06:08 UTC 2021 - Franck Bui + +- Convert systemd package to multibuild + ------------------------------------------------------------------- Fri Oct 15 12:09:44 UTC 2021 - Franck Bui - Import commit 8521f8d22fd44400289fcea03493ebd7f8b1487d (merge of v249.5) + 8de173ff93 mount-util: fix fd_is_mount_point() when both the parent and directory are network fs (bsc#1190984) + [...] + For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/355e113ce193e5e2d195278c57d47f9a1b00ae46...8521f8d22fd44400289fcea03493ebd7f8b1487d diff --git a/systemd.spec b/systemd.spec index 17246d92..1be7837f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,8 +21,16 @@ # found at: https://github.com/openSUSE/systemd. # +%global flavor @BUILD_FLAVOR@%{nil} + +%if "%{flavor}" == "mini" +%define bootstrap 1 +%define mini -mini +%else %define bootstrap 0 %define mini %nil +%endif + %define min_kernel_version 4.5 %define suse_version +suse.47.g8521f8d22f %define _testsuitedir /usr/lib/systemd/tests @@ -59,7 +67,7 @@ # Kept to ease migrations toward SLE %bcond_with split_usr -Name: systemd +Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd Version: 249.5 Release: 0 @@ -80,6 +88,7 @@ BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) @@ -163,7 +172,7 @@ Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{suse_version}.tar.xz -Source1: %{name}-rpmlintrc +Source1: systemd-rpmlintrc Source2: systemd-user %if %{with sysvcompat} Source3: systemd-sysv-convert @@ -200,6 +209,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch100: 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -643,7 +653,9 @@ Have fun with these services at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} + -Dtranslations=false \ -Dnss-myhostname=false \ + -Dnss-systemd=false \ %else -Dtpm2=true \ -Dman=true \ @@ -698,11 +710,6 @@ Have fun with these services at your own risk. %install %meson_install -%if 0%{?bootstrap} -rm %{buildroot}%{_libdir}/libnss_systemd.so* -rm -r %{buildroot}%{_datadir}/locale -%endif - # Don't ship resolvconf symlink for now as it conflicts with the # binary shipped by openresolv and provides limited compatibility # only From d59b4d1479852992a154749c50adc998d7a0412d39f7583c0ef523ea3a586663 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 15 Nov 2021 10:34:05 +0000 Subject: [PATCH 621/991] - Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of 249.6) bcdeee7b4c virt: Support detection for ARM64 Hyper-V guests (bsc#1186071) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8521f8d22fd44400289fcea03493ebd7f8b1487d...61c79e68381801428c0bc00a56b9e2e9cfa68373 - Drop 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch It's part of v249.6. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1211 --- ...eck-unit-start-rate-limiting-earlier.patch | 486 ------------------ systemd-v249.5+suse.47.g8521f8d22f.tar.xz | 3 - systemd-v249.6+suse.50.g61c79e6838.tar.xz | 3 + systemd.changes | 15 + systemd.spec | 7 +- 5 files changed, 22 insertions(+), 492 deletions(-) delete mode 100644 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch delete mode 100644 systemd-v249.5+suse.47.g8521f8d22f.tar.xz create mode 100644 systemd-v249.6+suse.50.g61c79e6838.tar.xz diff --git a/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch b/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch deleted file mode 100644 index 379aaab3..00000000 --- a/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch +++ /dev/null @@ -1,486 +0,0 @@ -From 4fa9d8f14523982482386d398d2b2669902f2098 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Mon, 18 Oct 2021 14:11:53 +0900 -Subject: [PATCH 1/1] Revert "core: Check unit start rate limiting earlier" - -This reverts commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979. - -This was causing problems during boot, see -https://bodhi.fedoraproject.org/updates/FEDORA-2021-a1a52487e6, -https://bugzilla.redhat.com/show_bug.cgi?id=2013386. -https://github.com/systemd/systemd/issues/21025 ---- - src/core/automount.c | 23 ++++++----------------- - src/core/mount.c | 23 ++++++----------------- - src/core/path.c | 23 ++++++----------------- - src/core/service.c | 25 +++++++------------------ - src/core/socket.c | 23 ++++++----------------- - src/core/swap.c | 23 ++++++----------------- - src/core/timer.c | 23 ++++++----------------- - src/core/unit.c | 7 ------- - src/core/unit.h | 4 ---- - test/TEST-63-ISSUE-17433/Makefile | 1 - - test/TEST-63-ISSUE-17433/test.sh | 9 --------- - test/meson.build | 2 -- - test/testsuite-10.units/test10.service | 3 --- - test/testsuite-63.units/test63.path | 2 -- - test/testsuite-63.units/test63.service | 5 ----- - test/units/testsuite-63.service | 16 ---------------- - 16 files changed, 43 insertions(+), 169 deletions(-) - delete mode 120000 test/TEST-63-ISSUE-17433/Makefile - delete mode 100755 test/TEST-63-ISSUE-17433/test.sh - delete mode 100644 test/testsuite-63.units/test63.path - delete mode 100644 test/testsuite-63.units/test63.service - delete mode 100644 test/units/testsuite-63.service - -diff --git a/src/core/automount.c b/src/core/automount.c -index 0722abef23..edc9588165 100644 ---- a/src/core/automount.c -+++ b/src/core/automount.c -@@ -814,6 +814,12 @@ static int automount_start(Unit *u) { - if (r < 0) - return r; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -1059,21 +1065,6 @@ static bool automount_supported(void) { - return supported; - } - --static int automount_test_start_limit(Unit *u) { -- Automount *a = AUTOMOUNT(u); -- int r; -- -- assert(a); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const automount_result_table[_AUTOMOUNT_RESULT_MAX] = { - [AUTOMOUNT_SUCCESS] = "success", - [AUTOMOUNT_FAILURE_RESOURCES] = "resources", -@@ -1136,6 +1127,4 @@ const UnitVTable automount_vtable = { - [JOB_FAILED] = "Failed to unset automount %s.", - }, - }, -- -- .test_start_limit = automount_test_start_limit, - }; -diff --git a/src/core/mount.c b/src/core/mount.c -index 9bec190cb6..af39db214b 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1168,6 +1168,12 @@ static int mount_start(Unit *u) { - - assert(IN_SET(m->state, MOUNT_DEAD, MOUNT_FAILED)); - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -2137,21 +2143,6 @@ static int mount_can_clean(Unit *u, ExecCleanMask *ret) { - return exec_context_get_clean_mask(&m->exec_context, ret); - } - --static int mount_test_start_limit(Unit *u) { -- Mount *m = MOUNT(u); -- int r; -- -- assert(m); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const mount_exec_command_table[_MOUNT_EXEC_COMMAND_MAX] = { - [MOUNT_EXEC_MOUNT] = "ExecMount", - [MOUNT_EXEC_UNMOUNT] = "ExecUnmount", -@@ -2249,6 +2240,4 @@ const UnitVTable mount_vtable = { - [JOB_TIMEOUT] = "Timed out unmounting %s.", - }, - }, -- -- .test_start_limit = mount_test_start_limit, - }; -diff --git a/src/core/path.c b/src/core/path.c -index 2b659696a4..e098e83a31 100644 ---- a/src/core/path.c -+++ b/src/core/path.c -@@ -590,6 +590,12 @@ static int path_start(Unit *u) { - if (r < 0) - return r; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -805,21 +811,6 @@ static void path_reset_failed(Unit *u) { - p->result = PATH_SUCCESS; - } - --static int path_test_start_limit(Unit *u) { -- Path *p = PATH(u); -- int r; -- -- assert(p); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const path_type_table[_PATH_TYPE_MAX] = { - [PATH_EXISTS] = "PathExists", - [PATH_EXISTS_GLOB] = "PathExistsGlob", -@@ -874,6 +865,4 @@ const UnitVTable path_vtable = { - .reset_failed = path_reset_failed, - - .bus_set_property = bus_path_set_property, -- -- .test_start_limit = path_test_start_limit, - }; -diff --git a/src/core/service.c b/src/core/service.c -index 701c145565..7b90822f68 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2456,6 +2456,13 @@ static int service_start(Unit *u) { - - assert(IN_SET(s->state, SERVICE_DEAD, SERVICE_FAILED)); - -+ /* Make sure we don't enter a busy loop of some kind. */ -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -4451,22 +4458,6 @@ static const char *service_finished_job(Unit *u, JobType t, JobResult result) { - return NULL; - } - --static int service_test_start_limit(Unit *u) { -- Service *s = SERVICE(u); -- int r; -- -- assert(s); -- -- /* Make sure we don't enter a busy loop of some kind. */ -- r = unit_test_start_limit(u); -- if (r < 0) { -- service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); -- return r; -- } -- -- return 0; --} -- - static const char* const service_restart_table[_SERVICE_RESTART_MAX] = { - [SERVICE_RESTART_NO] = "no", - [SERVICE_RESTART_ON_SUCCESS] = "on-success", -@@ -4629,6 +4620,4 @@ const UnitVTable service_vtable = { - }, - .finished_job = service_finished_job, - }, -- -- .test_start_limit = service_test_start_limit, - }; -diff --git a/src/core/socket.c b/src/core/socket.c -index 31d88b71ff..f362a5baa8 100644 ---- a/src/core/socket.c -+++ b/src/core/socket.c -@@ -2515,6 +2515,12 @@ static int socket_start(Unit *u) { - - assert(IN_SET(s->state, SOCKET_DEAD, SOCKET_FAILED)); - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -3423,21 +3429,6 @@ static int socket_can_clean(Unit *u, ExecCleanMask *ret) { - return exec_context_get_clean_mask(&s->exec_context, ret); - } - --static int socket_test_start_limit(Unit *u) { -- Socket *s = SOCKET(u); -- int r; -- -- assert(s); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const socket_exec_command_table[_SOCKET_EXEC_COMMAND_MAX] = { - [SOCKET_EXEC_START_PRE] = "ExecStartPre", - [SOCKET_EXEC_START_CHOWN] = "ExecStartChown", -@@ -3564,6 +3555,4 @@ const UnitVTable socket_vtable = { - [JOB_TIMEOUT] = "Timed out stopping %s.", - }, - }, -- -- .test_start_limit = socket_test_start_limit, - }; -diff --git a/src/core/swap.c b/src/core/swap.c -index b25f68fb7d..3843b19500 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -933,6 +933,12 @@ static int swap_start(Unit *u) { - if (UNIT(other)->job && UNIT(other)->job->state == JOB_RUNNING) - return -EAGAIN; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -1582,21 +1588,6 @@ static int swap_can_clean(Unit *u, ExecCleanMask *ret) { - return exec_context_get_clean_mask(&s->exec_context, ret); - } - --static int swap_test_start_limit(Unit *u) { -- Swap *s = SWAP(u); -- int r; -- -- assert(s); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const swap_exec_command_table[_SWAP_EXEC_COMMAND_MAX] = { - [SWAP_EXEC_ACTIVATE] = "ExecActivate", - [SWAP_EXEC_DEACTIVATE] = "ExecDeactivate", -@@ -1692,6 +1683,4 @@ const UnitVTable swap_vtable = { - [JOB_TIMEOUT] = "Timed out deactivating swap %s.", - }, - }, -- -- .test_start_limit = swap_test_start_limit, - }; -diff --git a/src/core/timer.c b/src/core/timer.c -index 5ecc9f35cf..e064ad9a2d 100644 ---- a/src/core/timer.c -+++ b/src/core/timer.c -@@ -635,6 +635,12 @@ static int timer_start(Unit *u) { - if (r < 0) - return r; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -895,21 +901,6 @@ static int timer_can_clean(Unit *u, ExecCleanMask *ret) { - return 0; - } - --static int timer_test_start_limit(Unit *u) { -- Timer *t = TIMER(u); -- int r; -- -- assert(t); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const timer_base_table[_TIMER_BASE_MAX] = { - [TIMER_ACTIVE] = "OnActiveSec", - [TIMER_BOOT] = "OnBootSec", -@@ -969,6 +960,4 @@ const UnitVTable timer_vtable = { - .timezone_change = timer_timezone_change, - - .bus_set_property = bus_timer_set_property, -- -- .test_start_limit = timer_test_start_limit, - }; -diff --git a/src/core/unit.c b/src/core/unit.c -index 69ed43578e..38d3eb703f 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -1851,13 +1851,6 @@ int unit_start(Unit *u) { - - assert(u); - -- /* Check start rate limiting early so that failure conditions don't cause us to enter a busy loop. */ -- if (UNIT_VTABLE(u)->test_start_limit) { -- int r = UNIT_VTABLE(u)->test_start_limit(u); -- if (r < 0) -- return r; -- } -- - /* If this is already started, then this will succeed. Note that this will even succeed if this unit - * is not startable by the user. This is relied on to detect when we need to wait for units and when - * waiting is finished. */ -diff --git a/src/core/unit.h b/src/core/unit.h -index 9babd07188..759104ffa7 100644 ---- a/src/core/unit.h -+++ b/src/core/unit.h -@@ -649,10 +649,6 @@ typedef struct UnitVTable { - * of this type will immediately fail. */ - bool (*supported)(void); - -- /* If this function is set, it's invoked first as part of starting a unit to allow start rate -- * limiting checks to occur before we do anything else. */ -- int (*test_start_limit)(Unit *u); -- - /* The strings to print in status messages */ - UnitStatusMessageFormats status_message_formats; - -diff --git a/test/TEST-63-ISSUE-17433/Makefile b/test/TEST-63-ISSUE-17433/Makefile -deleted file mode 120000 -index e9f93b1104..0000000000 ---- a/test/TEST-63-ISSUE-17433/Makefile -+++ /dev/null -@@ -1 +0,0 @@ --../TEST-01-BASIC/Makefile -\ No newline at end of file -diff --git a/test/TEST-63-ISSUE-17433/test.sh b/test/TEST-63-ISSUE-17433/test.sh -deleted file mode 100755 -index c595a9f2de..0000000000 ---- a/test/TEST-63-ISSUE-17433/test.sh -+++ /dev/null -@@ -1,9 +0,0 @@ --#!/usr/bin/env bash --set -e -- --TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/17433" -- --# shellcheck source=test/test-functions --. "${TEST_BASE_DIR:?}/test-functions" -- --do_test "$@" -diff --git a/test/meson.build b/test/meson.build -index 6f8f257c2d..47c7f4d49a 100644 ---- a/test/meson.build -+++ b/test/meson.build -@@ -33,8 +33,6 @@ if install_tests - install_dir : testdata_dir) - install_subdir('testsuite-52.units', - install_dir : testdata_dir) -- install_subdir('testsuite-63.units', -- install_dir : testdata_dir) - - testsuite08_dir = testdata_dir + '/testsuite-08.units' - install_data('testsuite-08.units/-.mount', -diff --git a/test/testsuite-10.units/test10.service b/test/testsuite-10.units/test10.service -index 2fb476b986..d0be786b01 100644 ---- a/test/testsuite-10.units/test10.service -+++ b/test/testsuite-10.units/test10.service -@@ -1,9 +1,6 @@ - [Unit] - Requires=test10.socket - ConditionPathExistsGlob=/tmp/nonexistent --# Make sure we hit the socket trigger limit in the test and not the service start limit. --StartLimitInterval=1000 --StartLimitBurst=1000 - - [Service] - ExecStart=true -diff --git a/test/testsuite-63.units/test63.path b/test/testsuite-63.units/test63.path -deleted file mode 100644 -index a6573bda0a..0000000000 ---- a/test/testsuite-63.units/test63.path -+++ /dev/null -@@ -1,2 +0,0 @@ --[Path] --PathExists=/tmp/test63 -diff --git a/test/testsuite-63.units/test63.service b/test/testsuite-63.units/test63.service -deleted file mode 100644 -index c83801874d..0000000000 ---- a/test/testsuite-63.units/test63.service -+++ /dev/null -@@ -1,5 +0,0 @@ --[Unit] --ConditionPathExists=!/tmp/nonexistent -- --[Service] --ExecStart=true -diff --git a/test/units/testsuite-63.service b/test/units/testsuite-63.service -deleted file mode 100644 -index 04122723d4..0000000000 ---- a/test/units/testsuite-63.service -+++ /dev/null -@@ -1,16 +0,0 @@ --[Unit] --Description=TEST-63-ISSUE-17433 -- --[Service] --ExecStartPre=rm -f /failed /testok --Type=oneshot --ExecStart=rm -f /tmp/nonexistent --ExecStart=systemctl start test63.path --ExecStart=touch /tmp/test63 --# Make sure systemd has sufficient time to hit the start limit for test63.service. --ExecStart=sleep 2 --ExecStart=sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = failed' --ExecStart=sh -x -c 'test "$(systemctl show test63.service -P Result)" = start-limit-hit' --ExecStart=sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = failed' --ExecStart=sh -x -c 'test "$(systemctl show test63.path -P Result)" = unit-start-limit-hit' --ExecStart=sh -x -c 'echo OK >/testok' --- -2.31.1 - diff --git a/systemd-v249.5+suse.47.g8521f8d22f.tar.xz b/systemd-v249.5+suse.47.g8521f8d22f.tar.xz deleted file mode 100644 index 5c5dfb3d..00000000 --- a/systemd-v249.5+suse.47.g8521f8d22f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8a0ffb611331f565bf6bc5b7ec30cf9725cf462b08dae3c2b7bd344d1c9ed7c -size 7268136 diff --git a/systemd-v249.6+suse.50.g61c79e6838.tar.xz b/systemd-v249.6+suse.50.g61c79e6838.tar.xz new file mode 100644 index 00000000..83096fae --- /dev/null +++ b/systemd-v249.6+suse.50.g61c79e6838.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18f1ac7b13a20f603d4a3601d17afa2ba9f0856f0e3efa83455735121ecc394e +size 7269052 diff --git a/systemd.changes b/systemd.changes index 307f8f06..f8d24e23 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Nov 15 09:35:08 UTC 2021 - Franck Bui + +- Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of 249.6) + + bcdeee7b4c virt: Support detection for ARM64 Hyper-V guests (bsc#1186071) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8521f8d22fd44400289fcea03493ebd7f8b1487d...61c79e68381801428c0bc00a56b9e2e9cfa68373 + +- Drop 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch + + It's part of v249.6. + ------------------------------------------------------------------- Tue Nov 2 10:26:58 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1be7837f..d1a7e15f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.47.g8521f8d22f +%define suse_version +suse.50.g61c79e6838 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.5 +Version: 249.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -209,7 +209,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -898,6 +897,8 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +# kbd-model-map became a dangling symlink, drop it. +rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif From e286d3719fa37cbe0b2679371e22643fbe98f2a578330b529cc9c0581b2f332f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 20 Nov 2021 21:47:46 +0000 Subject: [PATCH 622/991] Accepting request 931727 from Base:System - Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of 249.6) bcdeee7b4c virt: Support detection for ARM64 Hyper-V guests (bsc#1186071) [...] For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8521f8d22fd44400289fcea03493ebd7f8b1487d...61c79e68381801428c0bc00a56b9e2e9cfa68373 - Drop 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch It's part of v249.6. OBS-URL: https://build.opensuse.org/request/show/931727 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=340 --- ...eck-unit-start-rate-limiting-earlier.patch | 486 ------------------ systemd-v249.5+suse.47.g8521f8d22f.tar.xz | 3 - systemd-v249.6+suse.50.g61c79e6838.tar.xz | 3 + systemd.changes | 15 + systemd.spec | 7 +- 5 files changed, 22 insertions(+), 492 deletions(-) delete mode 100644 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch delete mode 100644 systemd-v249.5+suse.47.g8521f8d22f.tar.xz create mode 100644 systemd-v249.6+suse.50.g61c79e6838.tar.xz diff --git a/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch b/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch deleted file mode 100644 index 379aaab3..00000000 --- a/0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch +++ /dev/null @@ -1,486 +0,0 @@ -From 4fa9d8f14523982482386d398d2b2669902f2098 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Mon, 18 Oct 2021 14:11:53 +0900 -Subject: [PATCH 1/1] Revert "core: Check unit start rate limiting earlier" - -This reverts commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979. - -This was causing problems during boot, see -https://bodhi.fedoraproject.org/updates/FEDORA-2021-a1a52487e6, -https://bugzilla.redhat.com/show_bug.cgi?id=2013386. -https://github.com/systemd/systemd/issues/21025 ---- - src/core/automount.c | 23 ++++++----------------- - src/core/mount.c | 23 ++++++----------------- - src/core/path.c | 23 ++++++----------------- - src/core/service.c | 25 +++++++------------------ - src/core/socket.c | 23 ++++++----------------- - src/core/swap.c | 23 ++++++----------------- - src/core/timer.c | 23 ++++++----------------- - src/core/unit.c | 7 ------- - src/core/unit.h | 4 ---- - test/TEST-63-ISSUE-17433/Makefile | 1 - - test/TEST-63-ISSUE-17433/test.sh | 9 --------- - test/meson.build | 2 -- - test/testsuite-10.units/test10.service | 3 --- - test/testsuite-63.units/test63.path | 2 -- - test/testsuite-63.units/test63.service | 5 ----- - test/units/testsuite-63.service | 16 ---------------- - 16 files changed, 43 insertions(+), 169 deletions(-) - delete mode 120000 test/TEST-63-ISSUE-17433/Makefile - delete mode 100755 test/TEST-63-ISSUE-17433/test.sh - delete mode 100644 test/testsuite-63.units/test63.path - delete mode 100644 test/testsuite-63.units/test63.service - delete mode 100644 test/units/testsuite-63.service - -diff --git a/src/core/automount.c b/src/core/automount.c -index 0722abef23..edc9588165 100644 ---- a/src/core/automount.c -+++ b/src/core/automount.c -@@ -814,6 +814,12 @@ static int automount_start(Unit *u) { - if (r < 0) - return r; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -1059,21 +1065,6 @@ static bool automount_supported(void) { - return supported; - } - --static int automount_test_start_limit(Unit *u) { -- Automount *a = AUTOMOUNT(u); -- int r; -- -- assert(a); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const automount_result_table[_AUTOMOUNT_RESULT_MAX] = { - [AUTOMOUNT_SUCCESS] = "success", - [AUTOMOUNT_FAILURE_RESOURCES] = "resources", -@@ -1136,6 +1127,4 @@ const UnitVTable automount_vtable = { - [JOB_FAILED] = "Failed to unset automount %s.", - }, - }, -- -- .test_start_limit = automount_test_start_limit, - }; -diff --git a/src/core/mount.c b/src/core/mount.c -index 9bec190cb6..af39db214b 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1168,6 +1168,12 @@ static int mount_start(Unit *u) { - - assert(IN_SET(m->state, MOUNT_DEAD, MOUNT_FAILED)); - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -2137,21 +2143,6 @@ static int mount_can_clean(Unit *u, ExecCleanMask *ret) { - return exec_context_get_clean_mask(&m->exec_context, ret); - } - --static int mount_test_start_limit(Unit *u) { -- Mount *m = MOUNT(u); -- int r; -- -- assert(m); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const mount_exec_command_table[_MOUNT_EXEC_COMMAND_MAX] = { - [MOUNT_EXEC_MOUNT] = "ExecMount", - [MOUNT_EXEC_UNMOUNT] = "ExecUnmount", -@@ -2249,6 +2240,4 @@ const UnitVTable mount_vtable = { - [JOB_TIMEOUT] = "Timed out unmounting %s.", - }, - }, -- -- .test_start_limit = mount_test_start_limit, - }; -diff --git a/src/core/path.c b/src/core/path.c -index 2b659696a4..e098e83a31 100644 ---- a/src/core/path.c -+++ b/src/core/path.c -@@ -590,6 +590,12 @@ static int path_start(Unit *u) { - if (r < 0) - return r; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -805,21 +811,6 @@ static void path_reset_failed(Unit *u) { - p->result = PATH_SUCCESS; - } - --static int path_test_start_limit(Unit *u) { -- Path *p = PATH(u); -- int r; -- -- assert(p); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const path_type_table[_PATH_TYPE_MAX] = { - [PATH_EXISTS] = "PathExists", - [PATH_EXISTS_GLOB] = "PathExistsGlob", -@@ -874,6 +865,4 @@ const UnitVTable path_vtable = { - .reset_failed = path_reset_failed, - - .bus_set_property = bus_path_set_property, -- -- .test_start_limit = path_test_start_limit, - }; -diff --git a/src/core/service.c b/src/core/service.c -index 701c145565..7b90822f68 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2456,6 +2456,13 @@ static int service_start(Unit *u) { - - assert(IN_SET(s->state, SERVICE_DEAD, SERVICE_FAILED)); - -+ /* Make sure we don't enter a busy loop of some kind. */ -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -4451,22 +4458,6 @@ static const char *service_finished_job(Unit *u, JobType t, JobResult result) { - return NULL; - } - --static int service_test_start_limit(Unit *u) { -- Service *s = SERVICE(u); -- int r; -- -- assert(s); -- -- /* Make sure we don't enter a busy loop of some kind. */ -- r = unit_test_start_limit(u); -- if (r < 0) { -- service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false); -- return r; -- } -- -- return 0; --} -- - static const char* const service_restart_table[_SERVICE_RESTART_MAX] = { - [SERVICE_RESTART_NO] = "no", - [SERVICE_RESTART_ON_SUCCESS] = "on-success", -@@ -4629,6 +4620,4 @@ const UnitVTable service_vtable = { - }, - .finished_job = service_finished_job, - }, -- -- .test_start_limit = service_test_start_limit, - }; -diff --git a/src/core/socket.c b/src/core/socket.c -index 31d88b71ff..f362a5baa8 100644 ---- a/src/core/socket.c -+++ b/src/core/socket.c -@@ -2515,6 +2515,12 @@ static int socket_start(Unit *u) { - - assert(IN_SET(s->state, SOCKET_DEAD, SOCKET_FAILED)); - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -3423,21 +3429,6 @@ static int socket_can_clean(Unit *u, ExecCleanMask *ret) { - return exec_context_get_clean_mask(&s->exec_context, ret); - } - --static int socket_test_start_limit(Unit *u) { -- Socket *s = SOCKET(u); -- int r; -- -- assert(s); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const socket_exec_command_table[_SOCKET_EXEC_COMMAND_MAX] = { - [SOCKET_EXEC_START_PRE] = "ExecStartPre", - [SOCKET_EXEC_START_CHOWN] = "ExecStartChown", -@@ -3564,6 +3555,4 @@ const UnitVTable socket_vtable = { - [JOB_TIMEOUT] = "Timed out stopping %s.", - }, - }, -- -- .test_start_limit = socket_test_start_limit, - }; -diff --git a/src/core/swap.c b/src/core/swap.c -index b25f68fb7d..3843b19500 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -933,6 +933,12 @@ static int swap_start(Unit *u) { - if (UNIT(other)->job && UNIT(other)->job->state == JOB_RUNNING) - return -EAGAIN; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -1582,21 +1588,6 @@ static int swap_can_clean(Unit *u, ExecCleanMask *ret) { - return exec_context_get_clean_mask(&s->exec_context, ret); - } - --static int swap_test_start_limit(Unit *u) { -- Swap *s = SWAP(u); -- int r; -- -- assert(s); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const swap_exec_command_table[_SWAP_EXEC_COMMAND_MAX] = { - [SWAP_EXEC_ACTIVATE] = "ExecActivate", - [SWAP_EXEC_DEACTIVATE] = "ExecDeactivate", -@@ -1692,6 +1683,4 @@ const UnitVTable swap_vtable = { - [JOB_TIMEOUT] = "Timed out deactivating swap %s.", - }, - }, -- -- .test_start_limit = swap_test_start_limit, - }; -diff --git a/src/core/timer.c b/src/core/timer.c -index 5ecc9f35cf..e064ad9a2d 100644 ---- a/src/core/timer.c -+++ b/src/core/timer.c -@@ -635,6 +635,12 @@ static int timer_start(Unit *u) { - if (r < 0) - return r; - -+ r = unit_test_start_limit(u); -+ if (r < 0) { -+ timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); -+ return r; -+ } -+ - r = unit_acquire_invocation_id(u); - if (r < 0) - return r; -@@ -895,21 +901,6 @@ static int timer_can_clean(Unit *u, ExecCleanMask *ret) { - return 0; - } - --static int timer_test_start_limit(Unit *u) { -- Timer *t = TIMER(u); -- int r; -- -- assert(t); -- -- r = unit_test_start_limit(u); -- if (r < 0) { -- timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT); -- return r; -- } -- -- return 0; --} -- - static const char* const timer_base_table[_TIMER_BASE_MAX] = { - [TIMER_ACTIVE] = "OnActiveSec", - [TIMER_BOOT] = "OnBootSec", -@@ -969,6 +960,4 @@ const UnitVTable timer_vtable = { - .timezone_change = timer_timezone_change, - - .bus_set_property = bus_timer_set_property, -- -- .test_start_limit = timer_test_start_limit, - }; -diff --git a/src/core/unit.c b/src/core/unit.c -index 69ed43578e..38d3eb703f 100644 ---- a/src/core/unit.c -+++ b/src/core/unit.c -@@ -1851,13 +1851,6 @@ int unit_start(Unit *u) { - - assert(u); - -- /* Check start rate limiting early so that failure conditions don't cause us to enter a busy loop. */ -- if (UNIT_VTABLE(u)->test_start_limit) { -- int r = UNIT_VTABLE(u)->test_start_limit(u); -- if (r < 0) -- return r; -- } -- - /* If this is already started, then this will succeed. Note that this will even succeed if this unit - * is not startable by the user. This is relied on to detect when we need to wait for units and when - * waiting is finished. */ -diff --git a/src/core/unit.h b/src/core/unit.h -index 9babd07188..759104ffa7 100644 ---- a/src/core/unit.h -+++ b/src/core/unit.h -@@ -649,10 +649,6 @@ typedef struct UnitVTable { - * of this type will immediately fail. */ - bool (*supported)(void); - -- /* If this function is set, it's invoked first as part of starting a unit to allow start rate -- * limiting checks to occur before we do anything else. */ -- int (*test_start_limit)(Unit *u); -- - /* The strings to print in status messages */ - UnitStatusMessageFormats status_message_formats; - -diff --git a/test/TEST-63-ISSUE-17433/Makefile b/test/TEST-63-ISSUE-17433/Makefile -deleted file mode 120000 -index e9f93b1104..0000000000 ---- a/test/TEST-63-ISSUE-17433/Makefile -+++ /dev/null -@@ -1 +0,0 @@ --../TEST-01-BASIC/Makefile -\ No newline at end of file -diff --git a/test/TEST-63-ISSUE-17433/test.sh b/test/TEST-63-ISSUE-17433/test.sh -deleted file mode 100755 -index c595a9f2de..0000000000 ---- a/test/TEST-63-ISSUE-17433/test.sh -+++ /dev/null -@@ -1,9 +0,0 @@ --#!/usr/bin/env bash --set -e -- --TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/17433" -- --# shellcheck source=test/test-functions --. "${TEST_BASE_DIR:?}/test-functions" -- --do_test "$@" -diff --git a/test/meson.build b/test/meson.build -index 6f8f257c2d..47c7f4d49a 100644 ---- a/test/meson.build -+++ b/test/meson.build -@@ -33,8 +33,6 @@ if install_tests - install_dir : testdata_dir) - install_subdir('testsuite-52.units', - install_dir : testdata_dir) -- install_subdir('testsuite-63.units', -- install_dir : testdata_dir) - - testsuite08_dir = testdata_dir + '/testsuite-08.units' - install_data('testsuite-08.units/-.mount', -diff --git a/test/testsuite-10.units/test10.service b/test/testsuite-10.units/test10.service -index 2fb476b986..d0be786b01 100644 ---- a/test/testsuite-10.units/test10.service -+++ b/test/testsuite-10.units/test10.service -@@ -1,9 +1,6 @@ - [Unit] - Requires=test10.socket - ConditionPathExistsGlob=/tmp/nonexistent --# Make sure we hit the socket trigger limit in the test and not the service start limit. --StartLimitInterval=1000 --StartLimitBurst=1000 - - [Service] - ExecStart=true -diff --git a/test/testsuite-63.units/test63.path b/test/testsuite-63.units/test63.path -deleted file mode 100644 -index a6573bda0a..0000000000 ---- a/test/testsuite-63.units/test63.path -+++ /dev/null -@@ -1,2 +0,0 @@ --[Path] --PathExists=/tmp/test63 -diff --git a/test/testsuite-63.units/test63.service b/test/testsuite-63.units/test63.service -deleted file mode 100644 -index c83801874d..0000000000 ---- a/test/testsuite-63.units/test63.service -+++ /dev/null -@@ -1,5 +0,0 @@ --[Unit] --ConditionPathExists=!/tmp/nonexistent -- --[Service] --ExecStart=true -diff --git a/test/units/testsuite-63.service b/test/units/testsuite-63.service -deleted file mode 100644 -index 04122723d4..0000000000 ---- a/test/units/testsuite-63.service -+++ /dev/null -@@ -1,16 +0,0 @@ --[Unit] --Description=TEST-63-ISSUE-17433 -- --[Service] --ExecStartPre=rm -f /failed /testok --Type=oneshot --ExecStart=rm -f /tmp/nonexistent --ExecStart=systemctl start test63.path --ExecStart=touch /tmp/test63 --# Make sure systemd has sufficient time to hit the start limit for test63.service. --ExecStart=sleep 2 --ExecStart=sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = failed' --ExecStart=sh -x -c 'test "$(systemctl show test63.service -P Result)" = start-limit-hit' --ExecStart=sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = failed' --ExecStart=sh -x -c 'test "$(systemctl show test63.path -P Result)" = unit-start-limit-hit' --ExecStart=sh -x -c 'echo OK >/testok' --- -2.31.1 - diff --git a/systemd-v249.5+suse.47.g8521f8d22f.tar.xz b/systemd-v249.5+suse.47.g8521f8d22f.tar.xz deleted file mode 100644 index 5c5dfb3d..00000000 --- a/systemd-v249.5+suse.47.g8521f8d22f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8a0ffb611331f565bf6bc5b7ec30cf9725cf462b08dae3c2b7bd344d1c9ed7c -size 7268136 diff --git a/systemd-v249.6+suse.50.g61c79e6838.tar.xz b/systemd-v249.6+suse.50.g61c79e6838.tar.xz new file mode 100644 index 00000000..83096fae --- /dev/null +++ b/systemd-v249.6+suse.50.g61c79e6838.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18f1ac7b13a20f603d4a3601d17afa2ba9f0856f0e3efa83455735121ecc394e +size 7269052 diff --git a/systemd.changes b/systemd.changes index 307f8f06..f8d24e23 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Nov 15 09:35:08 UTC 2021 - Franck Bui + +- Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of 249.6) + + bcdeee7b4c virt: Support detection for ARM64 Hyper-V guests (bsc#1186071) + [...] + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8521f8d22fd44400289fcea03493ebd7f8b1487d...61c79e68381801428c0bc00a56b9e2e9cfa68373 + +- Drop 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch + + It's part of v249.6. + ------------------------------------------------------------------- Tue Nov 2 10:26:58 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1be7837f..d1a7e15f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.47.g8521f8d22f +%define suse_version +suse.50.g61c79e6838 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.5 +Version: 249.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -209,7 +209,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch100: 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -898,6 +897,8 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +# kbd-model-map became a dangling symlink, drop it. +rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif From a08b33ac5df7c5b25a261adea76f5ec3223461d11f18e21dac56ad4220f75241 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 22 Nov 2021 08:47:06 +0000 Subject: [PATCH 623/991] - Update the dependencies of the systemd-testsuite sub-package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1212 --- systemd.changes | 5 +++++ systemd.spec | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/systemd.changes b/systemd.changes index f8d24e23..ce963c6e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Nov 22 08:43:25 UTC 2021 - Franck Bui + +- Update the dependencies of the systemd-testsuite sub-package. + ------------------------------------------------------------------- Mon Nov 15 09:35:08 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d1a7e15f..613becc4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -518,6 +518,7 @@ Requires: cryptsetup Requires: dosfstools Requires: libcap-progs Requires: lz4 +Requires: make Requires: netcat Requires: qemu-kvm Requires: quota @@ -537,6 +538,9 @@ Requires: systemd-experimental %if %{with journal_remote} Requires: systemd-journal-remote %endif +%if %{with networkd} +Requires: systemd-network +%endif %if %{with portabled} Requires: systemd-portable %endif @@ -897,6 +901,10 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +# When the tests are installed, the effective testdata directory is in +# %{_testsuitedir}, the other one, which is actually a symlink, is +# only useful when the tests are run directly from the source. +rm %{buildroot}%{_testsuitedir}/test/testdata # kbd-model-map became a dangling symlink, drop it. rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; From 1ba6cc880b07a4d7641feaf77f87149ecbe3641c918b792df35d8419dd5ba7b8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 22 Nov 2021 09:12:53 +0000 Subject: [PATCH 624/991] - Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of 249.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c34c98712600bc206919ec6ed136195f75ac1967...523f32df573d459551760b072cb62906f4a2cf23 - Import commit c34c98712600bc206919ec6ed136195f75ac1967 f99aa40c6e TEST-12: make sure 'adm' group exist 6c7194ff99 TEST-08: don't force ext4 for / dd1814b8f9 test: use kbd-mode-map we ship in one more test case 94c5febf2a test: fix TEST-10-ISSUE-2467 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1213 --- systemd-v249.6+suse.50.g61c79e6838.tar.xz | 3 --- systemd-v249.7+suse.57.g523f32df57.tar.xz | 3 +++ systemd.changes | 15 +++++++++++++++ systemd.spec | 4 ++-- 4 files changed, 20 insertions(+), 5 deletions(-) delete mode 100644 systemd-v249.6+suse.50.g61c79e6838.tar.xz create mode 100644 systemd-v249.7+suse.57.g523f32df57.tar.xz diff --git a/systemd-v249.6+suse.50.g61c79e6838.tar.xz b/systemd-v249.6+suse.50.g61c79e6838.tar.xz deleted file mode 100644 index 83096fae..00000000 --- a/systemd-v249.6+suse.50.g61c79e6838.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18f1ac7b13a20f603d4a3601d17afa2ba9f0856f0e3efa83455735121ecc394e -size 7269052 diff --git a/systemd-v249.7+suse.57.g523f32df57.tar.xz b/systemd-v249.7+suse.57.g523f32df57.tar.xz new file mode 100644 index 00000000..b19fc651 --- /dev/null +++ b/systemd-v249.7+suse.57.g523f32df57.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688c3f4409788f5ecea74d1dd6c5d1b2fbeb789a6c24c79bd35ed5f62c4b119c +size 7275376 diff --git a/systemd.changes b/systemd.changes index ce963c6e..ea9ee3fc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Nov 22 08:48:12 UTC 2021 - Franck Bui + +- Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of 249.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c34c98712600bc206919ec6ed136195f75ac1967...523f32df573d459551760b072cb62906f4a2cf23 + +- Import commit c34c98712600bc206919ec6ed136195f75ac1967 + + f99aa40c6e TEST-12: make sure 'adm' group exist + 6c7194ff99 TEST-08: don't force ext4 for / + dd1814b8f9 test: use kbd-mode-map we ship in one more test case + 94c5febf2a test: fix TEST-10-ISSUE-2467 + ------------------------------------------------------------------- Mon Nov 22 08:43:25 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 613becc4..522090e0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.50.g61c79e6838 +%define suse_version +suse.57.g523f32df57 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.6 +Version: 249.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From ffad028ee5d1828e6b29fec66a2084a12e6f3c87284dc2b7b33c02e3dd94f135 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 23 Nov 2021 15:38:41 +0000 Subject: [PATCH 625/991] Reference jsc#SLE-17798 in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1214 --- systemd.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.changes b/systemd.changes index ea9ee3fc..9aaf613f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -281,6 +281,7 @@ Mon Aug 2 12:54:44 UTC 2021 - Franck Bui This includes the following bug fixes: - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) + - upstream commit 6fe2a70b9160e35fdeed9d37bd31727c2d46a8b2 (jsc#SLE-17798) - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch From 300b159d93908a2e8ffd8b826081c8757dd9be45ccb6a7e57df0f2c6ecbfd69d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 24 Nov 2021 22:54:17 +0000 Subject: [PATCH 626/991] Accepting request 933100 from Base:System - Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of 249.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c34c98712600bc206919ec6ed136195f75ac1967...523f32df573d459551760b072cb62906f4a2cf23 - Import commit c34c98712600bc206919ec6ed136195f75ac1967 f99aa40c6e TEST-12: make sure 'adm' group exist 6c7194ff99 TEST-08: don't force ext4 for / dd1814b8f9 test: use kbd-mode-map we ship in one more test case 94c5febf2a test: fix TEST-10-ISSUE-2467 - Update the dependencies of the systemd-testsuite sub-package. OBS-URL: https://build.opensuse.org/request/show/933100 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=341 --- systemd-v249.6+suse.50.g61c79e6838.tar.xz | 3 --- systemd-v249.7+suse.57.g523f32df57.tar.xz | 3 +++ systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 12 ++++++++++-- 4 files changed, 33 insertions(+), 5 deletions(-) delete mode 100644 systemd-v249.6+suse.50.g61c79e6838.tar.xz create mode 100644 systemd-v249.7+suse.57.g523f32df57.tar.xz diff --git a/systemd-v249.6+suse.50.g61c79e6838.tar.xz b/systemd-v249.6+suse.50.g61c79e6838.tar.xz deleted file mode 100644 index 83096fae..00000000 --- a/systemd-v249.6+suse.50.g61c79e6838.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18f1ac7b13a20f603d4a3601d17afa2ba9f0856f0e3efa83455735121ecc394e -size 7269052 diff --git a/systemd-v249.7+suse.57.g523f32df57.tar.xz b/systemd-v249.7+suse.57.g523f32df57.tar.xz new file mode 100644 index 00000000..b19fc651 --- /dev/null +++ b/systemd-v249.7+suse.57.g523f32df57.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688c3f4409788f5ecea74d1dd6c5d1b2fbeb789a6c24c79bd35ed5f62c4b119c +size 7275376 diff --git a/systemd.changes b/systemd.changes index f8d24e23..ea9ee3fc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Mon Nov 22 08:48:12 UTC 2021 - Franck Bui + +- Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of 249.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c34c98712600bc206919ec6ed136195f75ac1967...523f32df573d459551760b072cb62906f4a2cf23 + +- Import commit c34c98712600bc206919ec6ed136195f75ac1967 + + f99aa40c6e TEST-12: make sure 'adm' group exist + 6c7194ff99 TEST-08: don't force ext4 for / + dd1814b8f9 test: use kbd-mode-map we ship in one more test case + 94c5febf2a test: fix TEST-10-ISSUE-2467 + +------------------------------------------------------------------- +Mon Nov 22 08:43:25 UTC 2021 - Franck Bui + +- Update the dependencies of the systemd-testsuite sub-package. + ------------------------------------------------------------------- Mon Nov 15 09:35:08 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d1a7e15f..522090e0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.50.g61c79e6838 +%define suse_version +suse.57.g523f32df57 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.6 +Version: 249.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -518,6 +518,7 @@ Requires: cryptsetup Requires: dosfstools Requires: libcap-progs Requires: lz4 +Requires: make Requires: netcat Requires: qemu-kvm Requires: quota @@ -537,6 +538,9 @@ Requires: systemd-experimental %if %{with journal_remote} Requires: systemd-journal-remote %endif +%if %{with networkd} +Requires: systemd-network +%endif %if %{with portabled} Requires: systemd-portable %endif @@ -897,6 +901,10 @@ rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ +# When the tests are installed, the effective testdata directory is in +# %{_testsuitedir}, the other one, which is actually a symlink, is +# only useful when the tests are run directly from the source. +rm %{buildroot}%{_testsuitedir}/test/testdata # kbd-model-map became a dangling symlink, drop it. rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; From 3fdff99e48beb74b65b386fb7ca74c76d65f7c258a0aa4642f46f27287b61011 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 25 Nov 2021 10:00:18 +0000 Subject: [PATCH 627/991] Accepting request 933656 from home:lnussel:branches:Base:System - Replace S:$n references with SOURCE$n. Makes vim * search work. OBS-URL: https://build.opensuse.org/request/show/933656 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1215 --- systemd.changes | 5 +++++ systemd.spec | 14 +++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/systemd.changes b/systemd.changes index 9aaf613f..a4f9a49a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Nov 24 10:40:01 UTC 2021 - Ludwig Nussel + +- Replace S:$n references with SOURCE$n. Makes vim * search work. + ------------------------------------------------------------------- Mon Nov 22 08:48:12 UTC 2021 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 522090e0..6a9741d8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -725,8 +725,8 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert -install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{SOURCE3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert +install -m0755 -D %{SOURCE4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network @@ -735,7 +735,7 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101} %{S:102}; do +for s in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done @@ -759,7 +759,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} +install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -824,7 +824,7 @@ mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}%{_unitdir}/ +install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ # ghost directories with default permissions. @@ -867,7 +867,7 @@ echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # still keep the remaining paths that still don't have a better home # in suse.conf. rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf -install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf +install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf # The content of the files shipped by systemd doesn't match the # defaults used by SUSE. Don't ship those files but leave the decision @@ -891,7 +891,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # Don't ship systemd-journald-audit.socket as there's no other way for # us to prevent journald from recording audit messages in the journal From 493d5f22b905611abb0ec99525f15a2546323f530e066d1bc27f4fcb0c19efc7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 7 Dec 2021 19:29:40 +0000 Subject: [PATCH 628/991] Accepting request 936250 from home:lnussel:branches:Base:System - move files related to static nodes to udev OBS-URL: https://build.opensuse.org/request/show/936250 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1216 --- systemd.changes | 5 +++++ systemd.spec | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/systemd.changes b/systemd.changes index a4f9a49a..e87b9a2c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 7 12:05:55 UTC 2021 - Ludwig Nussel + +- move files related to static nodes to udev + ------------------------------------------------------------------- Wed Nov 24 10:40:01 UTC 2021 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 6a9741d8..5e637c0c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1304,6 +1304,8 @@ fi %exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/kmod-static-nodes.service +%exclude %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%exclude %{_tmpfilesdir}/static-nodes-permissions.conf %exclude %{_unitdir}/systemd-nspawn@.service %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined @@ -1651,6 +1653,8 @@ fi %dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/kmod-static-nodes.service +%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%{_tmpfilesdir}/static-nodes-permissions.conf %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket %{_unitdir}/systemd-hwdb*.* From c3f45bf95e7c43a9ef06619a249213d39a3ed61388b671a986dfec96a981d2be Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 4 Jan 2022 08:30:42 +0000 Subject: [PATCH 629/991] - Update systemd-user PAM service again Change the default implementation of pam_setcred() again, previously customized to run the full "auth" PAM stack and only call pam_deny.so which is basically the SUSE default behavior without pam_warn.so. This is considered safer, especially on SLE where a regression was spotted by QA. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1217 --- systemd-user | 21 +++++++++++---------- systemd.changes | 12 ++++++++++++ systemd.spec | 2 +- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/systemd-user b/systemd-user index 3907c885..066515cd 100644 --- a/systemd-user +++ b/systemd-user @@ -2,18 +2,19 @@ # # Used by systemd --user instances. -# This is not about authentication per se (user@.service is a system -# service anyway) but to give the possibility to user services -# (especially those like gnome-terminal, see [1]) to have theirs -# credentials extended similar to the ones received by a user when he -# logs in (and the full PAM authentication stack is run). See [2] and -# [3] for details. +# Override the default behavior of the "auth" PAM stack and don't throw a +# warning each time a user instance is started, which is the default behavior of +# the PAM stack when no auth is defined. Indeed PID1 calls pam_setcred() when +# the user instance is about to be started to allow some user services, such as +# gnome-terminal, to extend theirs credentials similar to the ones received by a +# user when he logs in (and the full PAM authentication stack is run). For some +# details, see: # -# [1] https://gitlab.gnome.org/GNOME/gdm/-/issues/393 -# [2] https://github.com/systemd/systemd/issues/11198 -# [3] https://bugzilla.suse.com/show_bug.cgi?id=1190515 +# https://gitlab.gnome.org/GNOME/gdm/-/issues/393 +# https://github.com/systemd/systemd/issues/11198 +# https://bugzilla.suse.com/show_bug.cgi?id=1190515 # -auth include common-auth +auth required pam_deny.so account include common-account diff --git a/systemd.changes b/systemd.changes index e87b9a2c..1b31cf54 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Jan 4 08:23:19 UTC 2022 - Franck Bui + +- Update systemd-user PAM service again + + Change the default implementation of pam_setcred() again, previously + customized to run the full "auth" PAM stack and only call pam_deny.so which is + basically the SUSE default behavior without pam_warn.so. + + This is considered safer, especially on SLE where a regression was spotted by + QA. + ------------------------------------------------------------------- Tue Dec 7 12:05:55 UTC 2021 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 5e637c0c..616eb386 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From b398607d35f54c71ff89b41f4a725e460e19e2d7b5ab01c01936c245cbe6c67d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jan 2022 14:35:57 +0000 Subject: [PATCH 630/991] - Import commit a54f80116ccf105dff11aef5d18dd110ebd3e8ee 30cbebc56f tmpfiles: 'st' may have been used uninitialized 5443654ec0 macro: add new helper RET_NERRNO() 8d90ecc435 rm-rf: optionally fsync() after removing directory tree 591344010d rm-rf: refactor rm_rf_children(), split out body of directory iteration loop 8c7762c4f1 Bump the max number of inodes for /dev to a million (bsc#1192858) dc9476c881 journal: don't remove the flushed flag when journald is stopped 29efc29efd TEST-10: don't attempt to write a byte to the socket 773fb785b6 Bump the max number of inodes for /dev to 128k (bsc#1192858) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1218 --- systemd-v249.7+suse.57.g523f32df57.tar.xz | 3 --- systemd-v249.7+suse.66.ga54f80116c.tar.xz | 3 +++ systemd.changes | 14 ++++++++++++++ systemd.spec | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) delete mode 100644 systemd-v249.7+suse.57.g523f32df57.tar.xz create mode 100644 systemd-v249.7+suse.66.ga54f80116c.tar.xz diff --git a/systemd-v249.7+suse.57.g523f32df57.tar.xz b/systemd-v249.7+suse.57.g523f32df57.tar.xz deleted file mode 100644 index b19fc651..00000000 --- a/systemd-v249.7+suse.57.g523f32df57.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:688c3f4409788f5ecea74d1dd6c5d1b2fbeb789a6c24c79bd35ed5f62c4b119c -size 7275376 diff --git a/systemd-v249.7+suse.66.ga54f80116c.tar.xz b/systemd-v249.7+suse.66.ga54f80116c.tar.xz new file mode 100644 index 00000000..e1babceb --- /dev/null +++ b/systemd-v249.7+suse.66.ga54f80116c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b2f8c8492b03612c3148615a39d7553632798941456e7702306837f0118dd8 +size 7276848 diff --git a/systemd.changes b/systemd.changes index 1b31cf54..bac0a2c9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Thu Jan 6 14:31:21 UTC 2022 - Franck Bui + +- Import commit a54f80116ccf105dff11aef5d18dd110ebd3e8ee + + 30cbebc56f tmpfiles: 'st' may have been used uninitialized + 5443654ec0 macro: add new helper RET_NERRNO() + 8d90ecc435 rm-rf: optionally fsync() after removing directory tree + 591344010d rm-rf: refactor rm_rf_children(), split out body of directory iteration loop + 8c7762c4f1 Bump the max number of inodes for /dev to a million (bsc#1192858) + dc9476c881 journal: don't remove the flushed flag when journald is stopped + 29efc29efd TEST-10: don't attempt to write a byte to the socket + 773fb785b6 Bump the max number of inodes for /dev to 128k (bsc#1192858) + ------------------------------------------------------------------- Tue Jan 4 08:23:19 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 616eb386..21a65afd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.57.g523f32df57 +%define suse_version +suse.66.ga54f80116c %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} From 3e428f30bdf95ecc191dfeff0d379a8726ae926f758d5507bb24b9207682b582 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 7 Jan 2022 11:44:33 +0000 Subject: [PATCH 631/991] Accepting request 943712 from Base:System - Update systemd-user PAM service again Change the default implementation of pam_setcred() again, previously customized to run the full "auth" PAM stack and only call pam_deny.so which is basically the SUSE default behavior without pam_warn.so. This is considered safer, especially on SLE where a regression was spotted by QA. - move files related to static nodes to udev - Replace S:$n references with SOURCE$n. Makes vim * search work. OBS-URL: https://build.opensuse.org/request/show/943712 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=342 --- systemd-user | 21 +++++++++++---------- systemd.changes | 23 +++++++++++++++++++++++ systemd.spec | 20 ++++++++++++-------- 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/systemd-user b/systemd-user index 3907c885..066515cd 100644 --- a/systemd-user +++ b/systemd-user @@ -2,18 +2,19 @@ # # Used by systemd --user instances. -# This is not about authentication per se (user@.service is a system -# service anyway) but to give the possibility to user services -# (especially those like gnome-terminal, see [1]) to have theirs -# credentials extended similar to the ones received by a user when he -# logs in (and the full PAM authentication stack is run). See [2] and -# [3] for details. +# Override the default behavior of the "auth" PAM stack and don't throw a +# warning each time a user instance is started, which is the default behavior of +# the PAM stack when no auth is defined. Indeed PID1 calls pam_setcred() when +# the user instance is about to be started to allow some user services, such as +# gnome-terminal, to extend theirs credentials similar to the ones received by a +# user when he logs in (and the full PAM authentication stack is run). For some +# details, see: # -# [1] https://gitlab.gnome.org/GNOME/gdm/-/issues/393 -# [2] https://github.com/systemd/systemd/issues/11198 -# [3] https://bugzilla.suse.com/show_bug.cgi?id=1190515 +# https://gitlab.gnome.org/GNOME/gdm/-/issues/393 +# https://github.com/systemd/systemd/issues/11198 +# https://bugzilla.suse.com/show_bug.cgi?id=1190515 # -auth include common-auth +auth required pam_deny.so account include common-account diff --git a/systemd.changes b/systemd.changes index ea9ee3fc..1b31cf54 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jan 4 08:23:19 UTC 2022 - Franck Bui + +- Update systemd-user PAM service again + + Change the default implementation of pam_setcred() again, previously + customized to run the full "auth" PAM stack and only call pam_deny.so which is + basically the SUSE default behavior without pam_warn.so. + + This is considered safer, especially on SLE where a regression was spotted by + QA. + +------------------------------------------------------------------- +Tue Dec 7 12:05:55 UTC 2021 - Ludwig Nussel + +- move files related to static nodes to udev + +------------------------------------------------------------------- +Wed Nov 24 10:40:01 UTC 2021 - Ludwig Nussel + +- Replace S:$n references with SOURCE$n. Makes vim * search work. + ------------------------------------------------------------------- Mon Nov 22 08:48:12 UTC 2021 - Franck Bui @@ -281,6 +303,7 @@ Mon Aug 2 12:54:44 UTC 2021 - Franck Bui This includes the following bug fixes: - upstream commit 6fb61918ccdd0610b425d5b0e5417751f8f8f783 (bsc#1182870) + - upstream commit 6fe2a70b9160e35fdeed9d37bd31727c2d46a8b2 (jsc#SLE-17798) - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch diff --git a/systemd.spec b/systemd.spec index 522090e0..616eb386 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file for package systemd # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -725,8 +725,8 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{S:3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert -install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{SOURCE3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert +install -m0755 -D %{SOURCE4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network @@ -735,7 +735,7 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101} %{S:102}; do +for s in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done @@ -759,7 +759,7 @@ rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. -install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{S:2} +install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -824,7 +824,7 @@ mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}%{_unitdir}/ +install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ # ghost directories with default permissions. @@ -867,7 +867,7 @@ echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # still keep the remaining paths that still don't have a better home # in suse.conf. rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf -install -m 644 %{S:5} %{buildroot}%{_tmpfilesdir}/suse.conf +install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf # The content of the files shipped by systemd doesn't match the # defaults used by SUSE. Don't ship those files but leave the decision @@ -891,7 +891,7 @@ fi # kbd-model-map.legacy is used to provide mapping for legacy keymaps, # which may still be used by yast. -cat %{S:14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map # Don't ship systemd-journald-audit.socket as there's no other way for # us to prevent journald from recording audit messages in the journal @@ -1304,6 +1304,8 @@ fi %exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/kmod-static-nodes.service +%exclude %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%exclude %{_tmpfilesdir}/static-nodes-permissions.conf %exclude %{_unitdir}/systemd-nspawn@.service %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined @@ -1651,6 +1653,8 @@ fi %dir %{_unitdir} %{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/kmod-static-nodes.service +%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%{_tmpfilesdir}/static-nodes-permissions.conf %{_unitdir}/systemd-udev*.service %{_unitdir}/systemd-udevd*.socket %{_unitdir}/systemd-hwdb*.* From a0ba4fbaff21064f672c841d7d7fe67f057204f0a5cd6410c37972113c0ab743 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 11 Jan 2022 08:08:34 +0000 Subject: [PATCH 632/991] - Added patches to fix CVE-2021-3997 (bsc#1194178) 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch These patches will be dropped and cherry-picked from upstream once upstream will commit them in their main branch. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1219 --- ...actor-rm_rf_children_inner-to-shorte.patch | 66 +++++ ...refactor-rm_rf-to-shorten-code-a-bit.patch | 98 +++++++ ...p-over-nested-directories-instead-of.patch | 273 ++++++++++++++++++ systemd.changes | 12 + systemd.spec | 6 + 5 files changed, 455 insertions(+) create mode 100644 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch create mode 100644 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch create mode 100644 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch diff --git a/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch b/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch new file mode 100644 index 00000000..bb00830b --- /dev/null +++ b/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch @@ -0,0 +1,66 @@ +From 5bc4f2e271c4907af1d3208c5bb33ce795326abc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Nov 2021 15:55:45 +0100 +Subject: [PATCH 5000/5002] shared/rm_rf: refactor rm_rf_children_inner() to + shorten code a bit + +--- + src/shared/rm-rf.c | 27 +++++++++------------------ + 1 file changed, 9 insertions(+), 18 deletions(-) + +diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c +index 19f37e0f19..7362954116 100644 +--- a/src/shared/rm-rf.c ++++ b/src/shared/rm-rf.c +@@ -124,7 +124,7 @@ static int rm_rf_children_inner( + const struct stat *root_dev) { + + struct stat st; +- int r; ++ int r, q = 0; + + assert(fd >= 0); + assert(fname); +@@ -142,7 +142,6 @@ static int rm_rf_children_inner( + + if (is_dir) { + _cleanup_close_ int subdir_fd = -1; +- int q; + + /* if root_dev is set, remove subdirectories only if device is same */ + if (root_dev && st.st_dev != root_dev->st_dev) +@@ -178,23 +177,15 @@ static int rm_rf_children_inner( + * again for each directory */ + q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); + +- r = unlinkat_harder(fd, fname, AT_REMOVEDIR, flags); +- if (r < 0) +- return r; +- if (q < 0) +- return q; +- +- return 1; +- +- } else if (!(flags & REMOVE_ONLY_DIRECTORIES)) { +- r = unlinkat_harder(fd, fname, 0, flags); +- if (r < 0) +- return r; +- +- return 1; +- } ++ } else if (flags & REMOVE_ONLY_DIRECTORIES) ++ return 0; + +- return 0; ++ r = unlinkat_harder(fd, fname, is_dir ? AT_REMOVEDIR : 0, flags); ++ if (r < 0) ++ return r; ++ if (q < 0) ++ return q; ++ return 1; + } + + int rm_rf_children( +-- +2.31.1 + diff --git a/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch b/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch new file mode 100644 index 00000000..347b5e55 --- /dev/null +++ b/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch @@ -0,0 +1,98 @@ +From 8f608df0305355c9b2ddd7c75926a6bd6247e635 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Nov 2021 16:56:42 +0100 +Subject: [PATCH 5001/5002] shared/rm_rf: refactor rm_rf() to shorten code a + bit + +--- + src/shared/rm-rf.c | 53 ++++++++++++++++++++-------------------------- + 1 file changed, 23 insertions(+), 30 deletions(-) + +diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c +index 7362954116..c7d3b8b7ad 100644 +--- a/src/shared/rm-rf.c ++++ b/src/shared/rm-rf.c +@@ -250,7 +250,7 @@ int rm_rf_children( + } + + int rm_rf(const char *path, RemoveFlags flags) { +- int fd, r; ++ int fd, r, q = 0; + + assert(path); + +@@ -282,49 +282,42 @@ int rm_rf(const char *path, RemoveFlags flags) { + } + + fd = open(path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); +- if (fd < 0) { ++ if (fd >= 0) { ++ /* We have a dir */ ++ r = rm_rf_children(fd, flags, NULL); ++ ++ if (FLAGS_SET(flags, REMOVE_ROOT)) ++ q = RET_NERRNO(rmdir(path)); ++ } else { + if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) + return 0; + + if (!IN_SET(errno, ENOTDIR, ELOOP)) + return -errno; + +- if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES)) ++ if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES) || !FLAGS_SET(flags, REMOVE_ROOT)) + return 0; + +- if (FLAGS_SET(flags, REMOVE_ROOT)) { +- +- if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { +- struct statfs s; +- +- if (statfs(path, &s) < 0) +- return -errno; +- if (is_physical_fs(&s)) +- return log_error_errno(SYNTHETIC_ERRNO(EPERM), +- "Attempted to remove files from a disk file system under \"%s\", refusing.", +- path); +- } +- +- if (unlink(path) < 0) { +- if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) +- return 0; ++ if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { ++ struct statfs s; + ++ if (statfs(path, &s) < 0) + return -errno; +- } ++ if (is_physical_fs(&s)) ++ return log_error_errno(SYNTHETIC_ERRNO(EPERM), ++ "Attempted to remove files from a disk file system under \"%s\", refusing.", ++ path); + } + +- return 0; ++ r = 0; ++ q = RET_NERRNO(unlink(path)); + } + +- r = rm_rf_children(fd, flags, NULL); +- +- if (FLAGS_SET(flags, REMOVE_ROOT) && +- rmdir(path) < 0 && +- r >= 0 && +- (!FLAGS_SET(flags, REMOVE_MISSING_OK) || errno != ENOENT)) +- r = -errno; +- +- return r; ++ if (r < 0) ++ return r; ++ if (q < 0 && (q != -ENOENT || !FLAGS_SET(flags, REMOVE_MISSING_OK))) ++ return q; ++ return 0; + } + + int rm_rf_child(int fd, const char *name, RemoveFlags flags) { +-- +2.31.1 + diff --git a/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch b/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch new file mode 100644 index 00000000..9c7eac68 --- /dev/null +++ b/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch @@ -0,0 +1,273 @@ +From c561e2eab3b9b759b7592ea1b8168d4f36ede031 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 5 Jan 2022 15:08:07 +0100 +Subject: [PATCH 5002/5002] shared/rm-rf: loop over nested directories instead + of instead of recursing + +To remove directory structures, we need to remove the innermost items first, +and then recursively remove higher-level directories. We would recursively +descend into directories and invoke rm_rf_children and rm_rm_children_inner. +This is problematic when too many directories are nested. + +Instead, let's create a "TODO" queue. In the the queue, for each level we +hold the DIR* object we were working on, and the name of the directory. This +allows us to leave a partially-processed directory, and restart the removal +loop one level down. When done with the inner directory, we use the name to +unlinkat() it from the parent, and proceed with the removal of other items. + +Because the nesting is increased by one level, it is best to view this patch +with -b/--ignore-space-change. + +This fixes CVE-2021-3997, https://bugzilla.redhat.com/show_bug.cgi?id=2024639. +The issue was reported and patches reviewed by Qualys Team. +Mauro Matteo Cascella and Riccardo Schirone from Red Hat handled the disclosure. + +[fbui: adjust context] +[fbui: fixes CVE-2021-3997] +[fbui: fixes bsc#1194178] +--- + src/shared/rm-rf.c | 159 +++++++++++++++++++++++++++++++-------------- + 1 file changed, 112 insertions(+), 47 deletions(-) + +diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c +index c7d3b8b7ad..58da213e9f 100644 +--- a/src/shared/rm-rf.c ++++ b/src/shared/rm-rf.c +@@ -52,7 +52,6 @@ static int patch_dirfd_mode( + } + + int unlinkat_harder(int dfd, const char *filename, int unlink_flags, RemoveFlags remove_flags) { +- + mode_t old_mode; + int r; + +@@ -116,12 +115,13 @@ int fstatat_harder(int dfd, + return 0; + } + +-static int rm_rf_children_inner( ++static int rm_rf_inner_child( + int fd, + const char *fname, + int is_dir, + RemoveFlags flags, +- const struct stat *root_dev) { ++ const struct stat *root_dev, ++ bool allow_recursion) { + + struct stat st; + int r, q = 0; +@@ -141,9 +141,7 @@ static int rm_rf_children_inner( + } + + if (is_dir) { +- _cleanup_close_ int subdir_fd = -1; +- +- /* if root_dev is set, remove subdirectories only if device is same */ ++ /* If root_dev is set, remove subdirectories only if device is same */ + if (root_dev && st.st_dev != root_dev->st_dev) + return 0; + +@@ -155,7 +153,6 @@ static int rm_rf_children_inner( + return 0; + + if ((flags & REMOVE_SUBVOLUME) && btrfs_might_be_subvol(&st)) { +- + /* This could be a subvolume, try to remove it */ + + r = btrfs_subvol_remove_fd(fd, fname, BTRFS_REMOVE_RECURSIVE|BTRFS_REMOVE_QUOTA); +@@ -169,13 +166,16 @@ static int rm_rf_children_inner( + return 1; + } + +- subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); ++ if (!allow_recursion) ++ return -EISDIR; ++ ++ int subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); + if (subdir_fd < 0) + return -errno; + + /* We pass REMOVE_PHYSICAL here, to avoid doing the fstatfs() to check the file system type + * again for each directory */ +- q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); ++ q = rm_rf_children(subdir_fd, flags | REMOVE_PHYSICAL, root_dev); + + } else if (flags & REMOVE_ONLY_DIRECTORIES) + return 0; +@@ -188,63 +188,128 @@ static int rm_rf_children_inner( + return 1; + } + ++typedef struct TodoEntry { ++ DIR *dir; /* A directory that we were operating on. */ ++ char *dirname; /* The filename of that directory itself. */ ++} TodoEntry; ++ ++static void free_todo_entries(TodoEntry **todos) { ++ for (TodoEntry *x = *todos; x && x->dir; x++) { ++ closedir(x->dir); ++ free(x->dirname); ++ } ++ ++ freep(todos); ++} ++ + int rm_rf_children( + int fd, + RemoveFlags flags, + const struct stat *root_dev) { + +- _cleanup_closedir_ DIR *d = NULL; ++ _cleanup_(free_todo_entries) TodoEntry *todos = NULL; + struct dirent *de; ++ size_t n_todo = 0; ++ _cleanup_free_ char *dirname = NULL; /* Set when we are recursing and want to delete ourselves */ + int ret = 0, r; + +- assert(fd >= 0); ++ /* Return the first error we run into, but nevertheless try to go on. ++ * The passed fd is closed in all cases, including on failure. */ ++ ++ for (;;) { /* This loop corresponds to the directory nesting level. */ ++ _cleanup_closedir_ DIR *d = NULL; ++ ++ if (n_todo > 0) { ++ /* We know that we are in recursion here, because n_todo is set. ++ * We need to remove the inner directory we were operating on. */ ++ assert(dirname); ++ r = unlinkat_harder(dirfd(todos[n_todo-1].dir), dirname, AT_REMOVEDIR, flags); ++ if (r < 0 && r != -ENOENT && ret == 0) ++ ret = r; ++ dirname = mfree(dirname); ++ ++ /* And now let's back out one level up */ ++ n_todo --; ++ d = TAKE_PTR(todos[n_todo].dir); ++ dirname = TAKE_PTR(todos[n_todo].dirname); ++ ++ assert(d); ++ fd = dirfd(d); /* Retrieve the file descriptor from the DIR object */ ++ assert(fd >= 0); ++ } else { ++ next_fd: ++ assert(fd >= 0); ++ d = fdopendir(fd); ++ if (!d) { ++ safe_close(fd); ++ return -errno; ++ } ++ fd = dirfd(d); /* We donated the fd to fdopendir(). Let's make sure we sure we have ++ * the right descriptor even if it were to internally invalidate the ++ * one we passed. */ ++ ++ if (!(flags & REMOVE_PHYSICAL)) { ++ struct statfs sfs; ++ ++ if (fstatfs(fd, &sfs) < 0) ++ return -errno; ++ ++ if (is_physical_fs(&sfs)) { ++ /* We refuse to clean physical file systems with this call, unless ++ * explicitly requested. This is extra paranoia just to be sure we ++ * never ever remove non-state data. */ ++ ++ _cleanup_free_ char *path = NULL; ++ ++ (void) fd_get_path(fd, &path); ++ return log_error_errno(SYNTHETIC_ERRNO(EPERM), ++ "Attempted to remove disk file system under \"%s\", and we can't allow that.", ++ strna(path)); ++ } ++ } ++ } + +- /* This returns the first error we run into, but nevertheless tries to go on. This closes the passed +- * fd, in all cases, including on failure. */ ++ FOREACH_DIRENT_ALL(de, d, return -errno) { ++ int is_dir; + +- d = fdopendir(fd); +- if (!d) { +- safe_close(fd); +- return -errno; +- } ++ if (dot_or_dot_dot(de->d_name)) ++ continue; + +- if (!(flags & REMOVE_PHYSICAL)) { +- struct statfs sfs; ++ is_dir = de->d_type == DT_UNKNOWN ? -1 : de->d_type == DT_DIR; + +- if (fstatfs(dirfd(d), &sfs) < 0) +- return -errno; ++ r = rm_rf_inner_child(fd, de->d_name, is_dir, flags, root_dev, false); ++ if (r == -EISDIR) { ++ /* Push the current working state onto the todo list */ + +- if (is_physical_fs(&sfs)) { +- /* We refuse to clean physical file systems with this call, unless explicitly +- * requested. This is extra paranoia just to be sure we never ever remove non-state +- * data. */ ++ if (!GREEDY_REALLOC0(todos, n_todo + 2)) ++ return log_oom(); + +- _cleanup_free_ char *path = NULL; ++ _cleanup_free_ char *newdirname = strdup(de->d_name); ++ if (!newdirname) ++ return log_oom(); + +- (void) fd_get_path(fd, &path); +- return log_error_errno(SYNTHETIC_ERRNO(EPERM), +- "Attempted to remove disk file system under \"%s\", and we can't allow that.", +- strna(path)); +- } +- } ++ int newfd = openat(fd, de->d_name, ++ O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); ++ if (newfd >= 0) { ++ todos[n_todo++] = (TodoEntry) { TAKE_PTR(d), TAKE_PTR(dirname) }; ++ fd = newfd; ++ dirname = TAKE_PTR(newdirname); + +- FOREACH_DIRENT_ALL(de, d, return -errno) { +- int is_dir; ++ goto next_fd; + +- if (dot_or_dot_dot(de->d_name)) +- continue; ++ } else if (errno != -ENOENT && ret == 0) ++ ret = -errno; + +- is_dir = +- de->d_type == DT_UNKNOWN ? -1 : +- de->d_type == DT_DIR; ++ } else if (r < 0 && r != -ENOENT && ret == 0) ++ ret = r; ++ } + +- r = rm_rf_children_inner(dirfd(d), de->d_name, is_dir, flags, root_dev); +- if (r < 0 && r != -ENOENT && ret == 0) +- ret = r; +- } ++ if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(fd) < 0 && ret >= 0) ++ ret = -errno; + +- if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(dirfd(d)) < 0 && ret >= 0) +- ret = -errno; ++ if (n_todo == 0) ++ break; ++ } + + return ret; + } +@@ -336,5 +401,5 @@ int rm_rf_child(int fd, const char *name, RemoveFlags flags) { + if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES|REMOVE_SUBVOLUME)) + return -EINVAL; + +- return rm_rf_children_inner(fd, name, -1, flags, NULL); ++ return rm_rf_inner_child(fd, name, -1, flags, NULL, true); + } +-- +2.31.1 + diff --git a/systemd.changes b/systemd.changes index bac0a2c9..b3e7e524 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Jan 11 08:06:11 UTC 2022 - Franck Bui + +- Added patches to fix CVE-2021-3997 (bsc#1194178) + + 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch + 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch + 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch + + These patches will be dropped and cherry-picked from upstream once upstream + will commit them in their main branch. + ------------------------------------------------------------------- Thu Jan 6 14:31:21 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 21a65afd..2219cded 100644 --- a/systemd.spec +++ b/systemd.spec @@ -210,6 +210,12 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. +# The following patches address CVE-2021-3997. They will be moved to the git +# repo once the issue will become public and upstream will release them. +Patch5000: 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch +Patch5001: 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch +Patch5002: 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization From 81bf92596fb103fa54b7de8b49263abfe2c026ac32638b1ebf098edb2fd57b11 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 11 Jan 2022 23:26:25 +0000 Subject: [PATCH 633/991] Accepting request 945520 from Base:System - Added patches to fix CVE-2021-3997 (bsc#1194178) 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch These patches will be dropped and cherry-picked from upstream once upstream will commit them in their main branch. - Import commit a54f80116ccf105dff11aef5d18dd110ebd3e8ee 30cbebc56f tmpfiles: 'st' may have been used uninitialized 5443654ec0 macro: add new helper RET_NERRNO() 8d90ecc435 rm-rf: optionally fsync() after removing directory tree 591344010d rm-rf: refactor rm_rf_children(), split out body of directory iteration loop 8c7762c4f1 Bump the max number of inodes for /dev to a million (bsc#1192858) dc9476c881 journal: don't remove the flushed flag when journald is stopped 29efc29efd TEST-10: don't attempt to write a byte to the socket 773fb785b6 Bump the max number of inodes for /dev to 128k (bsc#1192858) OBS-URL: https://build.opensuse.org/request/show/945520 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=343 --- ...actor-rm_rf_children_inner-to-shorte.patch | 66 +++++ ...refactor-rm_rf-to-shorten-code-a-bit.patch | 98 +++++++ ...p-over-nested-directories-instead-of.patch | 273 ++++++++++++++++++ systemd-v249.7+suse.57.g523f32df57.tar.xz | 3 - systemd-v249.7+suse.66.ga54f80116c.tar.xz | 3 + systemd.changes | 26 ++ systemd.spec | 8 +- 7 files changed, 473 insertions(+), 4 deletions(-) create mode 100644 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch create mode 100644 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch create mode 100644 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch delete mode 100644 systemd-v249.7+suse.57.g523f32df57.tar.xz create mode 100644 systemd-v249.7+suse.66.ga54f80116c.tar.xz diff --git a/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch b/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch new file mode 100644 index 00000000..bb00830b --- /dev/null +++ b/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch @@ -0,0 +1,66 @@ +From 5bc4f2e271c4907af1d3208c5bb33ce795326abc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Nov 2021 15:55:45 +0100 +Subject: [PATCH 5000/5002] shared/rm_rf: refactor rm_rf_children_inner() to + shorten code a bit + +--- + src/shared/rm-rf.c | 27 +++++++++------------------ + 1 file changed, 9 insertions(+), 18 deletions(-) + +diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c +index 19f37e0f19..7362954116 100644 +--- a/src/shared/rm-rf.c ++++ b/src/shared/rm-rf.c +@@ -124,7 +124,7 @@ static int rm_rf_children_inner( + const struct stat *root_dev) { + + struct stat st; +- int r; ++ int r, q = 0; + + assert(fd >= 0); + assert(fname); +@@ -142,7 +142,6 @@ static int rm_rf_children_inner( + + if (is_dir) { + _cleanup_close_ int subdir_fd = -1; +- int q; + + /* if root_dev is set, remove subdirectories only if device is same */ + if (root_dev && st.st_dev != root_dev->st_dev) +@@ -178,23 +177,15 @@ static int rm_rf_children_inner( + * again for each directory */ + q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); + +- r = unlinkat_harder(fd, fname, AT_REMOVEDIR, flags); +- if (r < 0) +- return r; +- if (q < 0) +- return q; +- +- return 1; +- +- } else if (!(flags & REMOVE_ONLY_DIRECTORIES)) { +- r = unlinkat_harder(fd, fname, 0, flags); +- if (r < 0) +- return r; +- +- return 1; +- } ++ } else if (flags & REMOVE_ONLY_DIRECTORIES) ++ return 0; + +- return 0; ++ r = unlinkat_harder(fd, fname, is_dir ? AT_REMOVEDIR : 0, flags); ++ if (r < 0) ++ return r; ++ if (q < 0) ++ return q; ++ return 1; + } + + int rm_rf_children( +-- +2.31.1 + diff --git a/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch b/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch new file mode 100644 index 00000000..347b5e55 --- /dev/null +++ b/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch @@ -0,0 +1,98 @@ +From 8f608df0305355c9b2ddd7c75926a6bd6247e635 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 23 Nov 2021 16:56:42 +0100 +Subject: [PATCH 5001/5002] shared/rm_rf: refactor rm_rf() to shorten code a + bit + +--- + src/shared/rm-rf.c | 53 ++++++++++++++++++++-------------------------- + 1 file changed, 23 insertions(+), 30 deletions(-) + +diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c +index 7362954116..c7d3b8b7ad 100644 +--- a/src/shared/rm-rf.c ++++ b/src/shared/rm-rf.c +@@ -250,7 +250,7 @@ int rm_rf_children( + } + + int rm_rf(const char *path, RemoveFlags flags) { +- int fd, r; ++ int fd, r, q = 0; + + assert(path); + +@@ -282,49 +282,42 @@ int rm_rf(const char *path, RemoveFlags flags) { + } + + fd = open(path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); +- if (fd < 0) { ++ if (fd >= 0) { ++ /* We have a dir */ ++ r = rm_rf_children(fd, flags, NULL); ++ ++ if (FLAGS_SET(flags, REMOVE_ROOT)) ++ q = RET_NERRNO(rmdir(path)); ++ } else { + if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) + return 0; + + if (!IN_SET(errno, ENOTDIR, ELOOP)) + return -errno; + +- if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES)) ++ if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES) || !FLAGS_SET(flags, REMOVE_ROOT)) + return 0; + +- if (FLAGS_SET(flags, REMOVE_ROOT)) { +- +- if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { +- struct statfs s; +- +- if (statfs(path, &s) < 0) +- return -errno; +- if (is_physical_fs(&s)) +- return log_error_errno(SYNTHETIC_ERRNO(EPERM), +- "Attempted to remove files from a disk file system under \"%s\", refusing.", +- path); +- } +- +- if (unlink(path) < 0) { +- if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) +- return 0; ++ if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { ++ struct statfs s; + ++ if (statfs(path, &s) < 0) + return -errno; +- } ++ if (is_physical_fs(&s)) ++ return log_error_errno(SYNTHETIC_ERRNO(EPERM), ++ "Attempted to remove files from a disk file system under \"%s\", refusing.", ++ path); + } + +- return 0; ++ r = 0; ++ q = RET_NERRNO(unlink(path)); + } + +- r = rm_rf_children(fd, flags, NULL); +- +- if (FLAGS_SET(flags, REMOVE_ROOT) && +- rmdir(path) < 0 && +- r >= 0 && +- (!FLAGS_SET(flags, REMOVE_MISSING_OK) || errno != ENOENT)) +- r = -errno; +- +- return r; ++ if (r < 0) ++ return r; ++ if (q < 0 && (q != -ENOENT || !FLAGS_SET(flags, REMOVE_MISSING_OK))) ++ return q; ++ return 0; + } + + int rm_rf_child(int fd, const char *name, RemoveFlags flags) { +-- +2.31.1 + diff --git a/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch b/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch new file mode 100644 index 00000000..9c7eac68 --- /dev/null +++ b/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch @@ -0,0 +1,273 @@ +From c561e2eab3b9b759b7592ea1b8168d4f36ede031 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 5 Jan 2022 15:08:07 +0100 +Subject: [PATCH 5002/5002] shared/rm-rf: loop over nested directories instead + of instead of recursing + +To remove directory structures, we need to remove the innermost items first, +and then recursively remove higher-level directories. We would recursively +descend into directories and invoke rm_rf_children and rm_rm_children_inner. +This is problematic when too many directories are nested. + +Instead, let's create a "TODO" queue. In the the queue, for each level we +hold the DIR* object we were working on, and the name of the directory. This +allows us to leave a partially-processed directory, and restart the removal +loop one level down. When done with the inner directory, we use the name to +unlinkat() it from the parent, and proceed with the removal of other items. + +Because the nesting is increased by one level, it is best to view this patch +with -b/--ignore-space-change. + +This fixes CVE-2021-3997, https://bugzilla.redhat.com/show_bug.cgi?id=2024639. +The issue was reported and patches reviewed by Qualys Team. +Mauro Matteo Cascella and Riccardo Schirone from Red Hat handled the disclosure. + +[fbui: adjust context] +[fbui: fixes CVE-2021-3997] +[fbui: fixes bsc#1194178] +--- + src/shared/rm-rf.c | 159 +++++++++++++++++++++++++++++++-------------- + 1 file changed, 112 insertions(+), 47 deletions(-) + +diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c +index c7d3b8b7ad..58da213e9f 100644 +--- a/src/shared/rm-rf.c ++++ b/src/shared/rm-rf.c +@@ -52,7 +52,6 @@ static int patch_dirfd_mode( + } + + int unlinkat_harder(int dfd, const char *filename, int unlink_flags, RemoveFlags remove_flags) { +- + mode_t old_mode; + int r; + +@@ -116,12 +115,13 @@ int fstatat_harder(int dfd, + return 0; + } + +-static int rm_rf_children_inner( ++static int rm_rf_inner_child( + int fd, + const char *fname, + int is_dir, + RemoveFlags flags, +- const struct stat *root_dev) { ++ const struct stat *root_dev, ++ bool allow_recursion) { + + struct stat st; + int r, q = 0; +@@ -141,9 +141,7 @@ static int rm_rf_children_inner( + } + + if (is_dir) { +- _cleanup_close_ int subdir_fd = -1; +- +- /* if root_dev is set, remove subdirectories only if device is same */ ++ /* If root_dev is set, remove subdirectories only if device is same */ + if (root_dev && st.st_dev != root_dev->st_dev) + return 0; + +@@ -155,7 +153,6 @@ static int rm_rf_children_inner( + return 0; + + if ((flags & REMOVE_SUBVOLUME) && btrfs_might_be_subvol(&st)) { +- + /* This could be a subvolume, try to remove it */ + + r = btrfs_subvol_remove_fd(fd, fname, BTRFS_REMOVE_RECURSIVE|BTRFS_REMOVE_QUOTA); +@@ -169,13 +166,16 @@ static int rm_rf_children_inner( + return 1; + } + +- subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); ++ if (!allow_recursion) ++ return -EISDIR; ++ ++ int subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); + if (subdir_fd < 0) + return -errno; + + /* We pass REMOVE_PHYSICAL here, to avoid doing the fstatfs() to check the file system type + * again for each directory */ +- q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); ++ q = rm_rf_children(subdir_fd, flags | REMOVE_PHYSICAL, root_dev); + + } else if (flags & REMOVE_ONLY_DIRECTORIES) + return 0; +@@ -188,63 +188,128 @@ static int rm_rf_children_inner( + return 1; + } + ++typedef struct TodoEntry { ++ DIR *dir; /* A directory that we were operating on. */ ++ char *dirname; /* The filename of that directory itself. */ ++} TodoEntry; ++ ++static void free_todo_entries(TodoEntry **todos) { ++ for (TodoEntry *x = *todos; x && x->dir; x++) { ++ closedir(x->dir); ++ free(x->dirname); ++ } ++ ++ freep(todos); ++} ++ + int rm_rf_children( + int fd, + RemoveFlags flags, + const struct stat *root_dev) { + +- _cleanup_closedir_ DIR *d = NULL; ++ _cleanup_(free_todo_entries) TodoEntry *todos = NULL; + struct dirent *de; ++ size_t n_todo = 0; ++ _cleanup_free_ char *dirname = NULL; /* Set when we are recursing and want to delete ourselves */ + int ret = 0, r; + +- assert(fd >= 0); ++ /* Return the first error we run into, but nevertheless try to go on. ++ * The passed fd is closed in all cases, including on failure. */ ++ ++ for (;;) { /* This loop corresponds to the directory nesting level. */ ++ _cleanup_closedir_ DIR *d = NULL; ++ ++ if (n_todo > 0) { ++ /* We know that we are in recursion here, because n_todo is set. ++ * We need to remove the inner directory we were operating on. */ ++ assert(dirname); ++ r = unlinkat_harder(dirfd(todos[n_todo-1].dir), dirname, AT_REMOVEDIR, flags); ++ if (r < 0 && r != -ENOENT && ret == 0) ++ ret = r; ++ dirname = mfree(dirname); ++ ++ /* And now let's back out one level up */ ++ n_todo --; ++ d = TAKE_PTR(todos[n_todo].dir); ++ dirname = TAKE_PTR(todos[n_todo].dirname); ++ ++ assert(d); ++ fd = dirfd(d); /* Retrieve the file descriptor from the DIR object */ ++ assert(fd >= 0); ++ } else { ++ next_fd: ++ assert(fd >= 0); ++ d = fdopendir(fd); ++ if (!d) { ++ safe_close(fd); ++ return -errno; ++ } ++ fd = dirfd(d); /* We donated the fd to fdopendir(). Let's make sure we sure we have ++ * the right descriptor even if it were to internally invalidate the ++ * one we passed. */ ++ ++ if (!(flags & REMOVE_PHYSICAL)) { ++ struct statfs sfs; ++ ++ if (fstatfs(fd, &sfs) < 0) ++ return -errno; ++ ++ if (is_physical_fs(&sfs)) { ++ /* We refuse to clean physical file systems with this call, unless ++ * explicitly requested. This is extra paranoia just to be sure we ++ * never ever remove non-state data. */ ++ ++ _cleanup_free_ char *path = NULL; ++ ++ (void) fd_get_path(fd, &path); ++ return log_error_errno(SYNTHETIC_ERRNO(EPERM), ++ "Attempted to remove disk file system under \"%s\", and we can't allow that.", ++ strna(path)); ++ } ++ } ++ } + +- /* This returns the first error we run into, but nevertheless tries to go on. This closes the passed +- * fd, in all cases, including on failure. */ ++ FOREACH_DIRENT_ALL(de, d, return -errno) { ++ int is_dir; + +- d = fdopendir(fd); +- if (!d) { +- safe_close(fd); +- return -errno; +- } ++ if (dot_or_dot_dot(de->d_name)) ++ continue; + +- if (!(flags & REMOVE_PHYSICAL)) { +- struct statfs sfs; ++ is_dir = de->d_type == DT_UNKNOWN ? -1 : de->d_type == DT_DIR; + +- if (fstatfs(dirfd(d), &sfs) < 0) +- return -errno; ++ r = rm_rf_inner_child(fd, de->d_name, is_dir, flags, root_dev, false); ++ if (r == -EISDIR) { ++ /* Push the current working state onto the todo list */ + +- if (is_physical_fs(&sfs)) { +- /* We refuse to clean physical file systems with this call, unless explicitly +- * requested. This is extra paranoia just to be sure we never ever remove non-state +- * data. */ ++ if (!GREEDY_REALLOC0(todos, n_todo + 2)) ++ return log_oom(); + +- _cleanup_free_ char *path = NULL; ++ _cleanup_free_ char *newdirname = strdup(de->d_name); ++ if (!newdirname) ++ return log_oom(); + +- (void) fd_get_path(fd, &path); +- return log_error_errno(SYNTHETIC_ERRNO(EPERM), +- "Attempted to remove disk file system under \"%s\", and we can't allow that.", +- strna(path)); +- } +- } ++ int newfd = openat(fd, de->d_name, ++ O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); ++ if (newfd >= 0) { ++ todos[n_todo++] = (TodoEntry) { TAKE_PTR(d), TAKE_PTR(dirname) }; ++ fd = newfd; ++ dirname = TAKE_PTR(newdirname); + +- FOREACH_DIRENT_ALL(de, d, return -errno) { +- int is_dir; ++ goto next_fd; + +- if (dot_or_dot_dot(de->d_name)) +- continue; ++ } else if (errno != -ENOENT && ret == 0) ++ ret = -errno; + +- is_dir = +- de->d_type == DT_UNKNOWN ? -1 : +- de->d_type == DT_DIR; ++ } else if (r < 0 && r != -ENOENT && ret == 0) ++ ret = r; ++ } + +- r = rm_rf_children_inner(dirfd(d), de->d_name, is_dir, flags, root_dev); +- if (r < 0 && r != -ENOENT && ret == 0) +- ret = r; +- } ++ if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(fd) < 0 && ret >= 0) ++ ret = -errno; + +- if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(dirfd(d)) < 0 && ret >= 0) +- ret = -errno; ++ if (n_todo == 0) ++ break; ++ } + + return ret; + } +@@ -336,5 +401,5 @@ int rm_rf_child(int fd, const char *name, RemoveFlags flags) { + if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES|REMOVE_SUBVOLUME)) + return -EINVAL; + +- return rm_rf_children_inner(fd, name, -1, flags, NULL); ++ return rm_rf_inner_child(fd, name, -1, flags, NULL, true); + } +-- +2.31.1 + diff --git a/systemd-v249.7+suse.57.g523f32df57.tar.xz b/systemd-v249.7+suse.57.g523f32df57.tar.xz deleted file mode 100644 index b19fc651..00000000 --- a/systemd-v249.7+suse.57.g523f32df57.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:688c3f4409788f5ecea74d1dd6c5d1b2fbeb789a6c24c79bd35ed5f62c4b119c -size 7275376 diff --git a/systemd-v249.7+suse.66.ga54f80116c.tar.xz b/systemd-v249.7+suse.66.ga54f80116c.tar.xz new file mode 100644 index 00000000..e1babceb --- /dev/null +++ b/systemd-v249.7+suse.66.ga54f80116c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b2f8c8492b03612c3148615a39d7553632798941456e7702306837f0118dd8 +size 7276848 diff --git a/systemd.changes b/systemd.changes index 1b31cf54..b3e7e524 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Jan 11 08:06:11 UTC 2022 - Franck Bui + +- Added patches to fix CVE-2021-3997 (bsc#1194178) + + 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch + 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch + 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch + + These patches will be dropped and cherry-picked from upstream once upstream + will commit them in their main branch. + +------------------------------------------------------------------- +Thu Jan 6 14:31:21 UTC 2022 - Franck Bui + +- Import commit a54f80116ccf105dff11aef5d18dd110ebd3e8ee + + 30cbebc56f tmpfiles: 'st' may have been used uninitialized + 5443654ec0 macro: add new helper RET_NERRNO() + 8d90ecc435 rm-rf: optionally fsync() after removing directory tree + 591344010d rm-rf: refactor rm_rf_children(), split out body of directory iteration loop + 8c7762c4f1 Bump the max number of inodes for /dev to a million (bsc#1192858) + dc9476c881 journal: don't remove the flushed flag when journald is stopped + 29efc29efd TEST-10: don't attempt to write a byte to the socket + 773fb785b6 Bump the max number of inodes for /dev to 128k (bsc#1192858) + ------------------------------------------------------------------- Tue Jan 4 08:23:19 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 616eb386..2219cded 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.57.g523f32df57 +%define suse_version +suse.66.ga54f80116c %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -210,6 +210,12 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. +# The following patches address CVE-2021-3997. They will be moved to the git +# repo once the issue will become public and upstream will release them. +Patch5000: 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch +Patch5001: 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch +Patch5002: 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization From 6c84c8d5d27897b656f83afc8b117a55def5c8466dd57c874711ae046a9f9356 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 13 Jan 2022 20:57:06 +0000 Subject: [PATCH 634/991] - Import commit 458220239c69b8e5fe7be480929348daeccb70d1 e95df40b09 shared/rm-rf: loop over nested directories instead of instead of recursing (CVE-2021-3997 bsc#1194178) 078e04305d shared/rm_rf: refactor rm_rf() to shorten code a bit 6d560d0aca shared/rm_rf: refactor rm_rf_children_inner() to shorten code a bit 6666ff056c localectl: don't omit keymaps files that are symlinks (bsc#1191826) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1220 --- ...actor-rm_rf_children_inner-to-shorte.patch | 66 ----- ...refactor-rm_rf-to-shorten-code-a-bit.patch | 98 ------- ...p-over-nested-directories-instead-of.patch | 273 ------------------ systemd-v249.7+suse.66.ga54f80116c.tar.xz | 3 - systemd-v249.7+suse.71.g458220239c.tar.xz | 3 + systemd.changes | 14 +- systemd.spec | 8 +- 7 files changed, 16 insertions(+), 449 deletions(-) delete mode 100644 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch delete mode 100644 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch delete mode 100644 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch delete mode 100644 systemd-v249.7+suse.66.ga54f80116c.tar.xz create mode 100644 systemd-v249.7+suse.71.g458220239c.tar.xz diff --git a/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch b/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch deleted file mode 100644 index bb00830b..00000000 --- a/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 5bc4f2e271c4907af1d3208c5bb33ce795326abc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Nov 2021 15:55:45 +0100 -Subject: [PATCH 5000/5002] shared/rm_rf: refactor rm_rf_children_inner() to - shorten code a bit - ---- - src/shared/rm-rf.c | 27 +++++++++------------------ - 1 file changed, 9 insertions(+), 18 deletions(-) - -diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c -index 19f37e0f19..7362954116 100644 ---- a/src/shared/rm-rf.c -+++ b/src/shared/rm-rf.c -@@ -124,7 +124,7 @@ static int rm_rf_children_inner( - const struct stat *root_dev) { - - struct stat st; -- int r; -+ int r, q = 0; - - assert(fd >= 0); - assert(fname); -@@ -142,7 +142,6 @@ static int rm_rf_children_inner( - - if (is_dir) { - _cleanup_close_ int subdir_fd = -1; -- int q; - - /* if root_dev is set, remove subdirectories only if device is same */ - if (root_dev && st.st_dev != root_dev->st_dev) -@@ -178,23 +177,15 @@ static int rm_rf_children_inner( - * again for each directory */ - q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); - -- r = unlinkat_harder(fd, fname, AT_REMOVEDIR, flags); -- if (r < 0) -- return r; -- if (q < 0) -- return q; -- -- return 1; -- -- } else if (!(flags & REMOVE_ONLY_DIRECTORIES)) { -- r = unlinkat_harder(fd, fname, 0, flags); -- if (r < 0) -- return r; -- -- return 1; -- } -+ } else if (flags & REMOVE_ONLY_DIRECTORIES) -+ return 0; - -- return 0; -+ r = unlinkat_harder(fd, fname, is_dir ? AT_REMOVEDIR : 0, flags); -+ if (r < 0) -+ return r; -+ if (q < 0) -+ return q; -+ return 1; - } - - int rm_rf_children( --- -2.31.1 - diff --git a/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch b/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch deleted file mode 100644 index 347b5e55..00000000 --- a/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 8f608df0305355c9b2ddd7c75926a6bd6247e635 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Nov 2021 16:56:42 +0100 -Subject: [PATCH 5001/5002] shared/rm_rf: refactor rm_rf() to shorten code a - bit - ---- - src/shared/rm-rf.c | 53 ++++++++++++++++++++-------------------------- - 1 file changed, 23 insertions(+), 30 deletions(-) - -diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c -index 7362954116..c7d3b8b7ad 100644 ---- a/src/shared/rm-rf.c -+++ b/src/shared/rm-rf.c -@@ -250,7 +250,7 @@ int rm_rf_children( - } - - int rm_rf(const char *path, RemoveFlags flags) { -- int fd, r; -+ int fd, r, q = 0; - - assert(path); - -@@ -282,49 +282,42 @@ int rm_rf(const char *path, RemoveFlags flags) { - } - - fd = open(path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); -- if (fd < 0) { -+ if (fd >= 0) { -+ /* We have a dir */ -+ r = rm_rf_children(fd, flags, NULL); -+ -+ if (FLAGS_SET(flags, REMOVE_ROOT)) -+ q = RET_NERRNO(rmdir(path)); -+ } else { - if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) - return 0; - - if (!IN_SET(errno, ENOTDIR, ELOOP)) - return -errno; - -- if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES)) -+ if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES) || !FLAGS_SET(flags, REMOVE_ROOT)) - return 0; - -- if (FLAGS_SET(flags, REMOVE_ROOT)) { -- -- if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { -- struct statfs s; -- -- if (statfs(path, &s) < 0) -- return -errno; -- if (is_physical_fs(&s)) -- return log_error_errno(SYNTHETIC_ERRNO(EPERM), -- "Attempted to remove files from a disk file system under \"%s\", refusing.", -- path); -- } -- -- if (unlink(path) < 0) { -- if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) -- return 0; -+ if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { -+ struct statfs s; - -+ if (statfs(path, &s) < 0) - return -errno; -- } -+ if (is_physical_fs(&s)) -+ return log_error_errno(SYNTHETIC_ERRNO(EPERM), -+ "Attempted to remove files from a disk file system under \"%s\", refusing.", -+ path); - } - -- return 0; -+ r = 0; -+ q = RET_NERRNO(unlink(path)); - } - -- r = rm_rf_children(fd, flags, NULL); -- -- if (FLAGS_SET(flags, REMOVE_ROOT) && -- rmdir(path) < 0 && -- r >= 0 && -- (!FLAGS_SET(flags, REMOVE_MISSING_OK) || errno != ENOENT)) -- r = -errno; -- -- return r; -+ if (r < 0) -+ return r; -+ if (q < 0 && (q != -ENOENT || !FLAGS_SET(flags, REMOVE_MISSING_OK))) -+ return q; -+ return 0; - } - - int rm_rf_child(int fd, const char *name, RemoveFlags flags) { --- -2.31.1 - diff --git a/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch b/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch deleted file mode 100644 index 9c7eac68..00000000 --- a/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch +++ /dev/null @@ -1,273 +0,0 @@ -From c561e2eab3b9b759b7592ea1b8168d4f36ede031 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 5 Jan 2022 15:08:07 +0100 -Subject: [PATCH 5002/5002] shared/rm-rf: loop over nested directories instead - of instead of recursing - -To remove directory structures, we need to remove the innermost items first, -and then recursively remove higher-level directories. We would recursively -descend into directories and invoke rm_rf_children and rm_rm_children_inner. -This is problematic when too many directories are nested. - -Instead, let's create a "TODO" queue. In the the queue, for each level we -hold the DIR* object we were working on, and the name of the directory. This -allows us to leave a partially-processed directory, and restart the removal -loop one level down. When done with the inner directory, we use the name to -unlinkat() it from the parent, and proceed with the removal of other items. - -Because the nesting is increased by one level, it is best to view this patch -with -b/--ignore-space-change. - -This fixes CVE-2021-3997, https://bugzilla.redhat.com/show_bug.cgi?id=2024639. -The issue was reported and patches reviewed by Qualys Team. -Mauro Matteo Cascella and Riccardo Schirone from Red Hat handled the disclosure. - -[fbui: adjust context] -[fbui: fixes CVE-2021-3997] -[fbui: fixes bsc#1194178] ---- - src/shared/rm-rf.c | 159 +++++++++++++++++++++++++++++++-------------- - 1 file changed, 112 insertions(+), 47 deletions(-) - -diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c -index c7d3b8b7ad..58da213e9f 100644 ---- a/src/shared/rm-rf.c -+++ b/src/shared/rm-rf.c -@@ -52,7 +52,6 @@ static int patch_dirfd_mode( - } - - int unlinkat_harder(int dfd, const char *filename, int unlink_flags, RemoveFlags remove_flags) { -- - mode_t old_mode; - int r; - -@@ -116,12 +115,13 @@ int fstatat_harder(int dfd, - return 0; - } - --static int rm_rf_children_inner( -+static int rm_rf_inner_child( - int fd, - const char *fname, - int is_dir, - RemoveFlags flags, -- const struct stat *root_dev) { -+ const struct stat *root_dev, -+ bool allow_recursion) { - - struct stat st; - int r, q = 0; -@@ -141,9 +141,7 @@ static int rm_rf_children_inner( - } - - if (is_dir) { -- _cleanup_close_ int subdir_fd = -1; -- -- /* if root_dev is set, remove subdirectories only if device is same */ -+ /* If root_dev is set, remove subdirectories only if device is same */ - if (root_dev && st.st_dev != root_dev->st_dev) - return 0; - -@@ -155,7 +153,6 @@ static int rm_rf_children_inner( - return 0; - - if ((flags & REMOVE_SUBVOLUME) && btrfs_might_be_subvol(&st)) { -- - /* This could be a subvolume, try to remove it */ - - r = btrfs_subvol_remove_fd(fd, fname, BTRFS_REMOVE_RECURSIVE|BTRFS_REMOVE_QUOTA); -@@ -169,13 +166,16 @@ static int rm_rf_children_inner( - return 1; - } - -- subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); -+ if (!allow_recursion) -+ return -EISDIR; -+ -+ int subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); - if (subdir_fd < 0) - return -errno; - - /* We pass REMOVE_PHYSICAL here, to avoid doing the fstatfs() to check the file system type - * again for each directory */ -- q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); -+ q = rm_rf_children(subdir_fd, flags | REMOVE_PHYSICAL, root_dev); - - } else if (flags & REMOVE_ONLY_DIRECTORIES) - return 0; -@@ -188,63 +188,128 @@ static int rm_rf_children_inner( - return 1; - } - -+typedef struct TodoEntry { -+ DIR *dir; /* A directory that we were operating on. */ -+ char *dirname; /* The filename of that directory itself. */ -+} TodoEntry; -+ -+static void free_todo_entries(TodoEntry **todos) { -+ for (TodoEntry *x = *todos; x && x->dir; x++) { -+ closedir(x->dir); -+ free(x->dirname); -+ } -+ -+ freep(todos); -+} -+ - int rm_rf_children( - int fd, - RemoveFlags flags, - const struct stat *root_dev) { - -- _cleanup_closedir_ DIR *d = NULL; -+ _cleanup_(free_todo_entries) TodoEntry *todos = NULL; - struct dirent *de; -+ size_t n_todo = 0; -+ _cleanup_free_ char *dirname = NULL; /* Set when we are recursing and want to delete ourselves */ - int ret = 0, r; - -- assert(fd >= 0); -+ /* Return the first error we run into, but nevertheless try to go on. -+ * The passed fd is closed in all cases, including on failure. */ -+ -+ for (;;) { /* This loop corresponds to the directory nesting level. */ -+ _cleanup_closedir_ DIR *d = NULL; -+ -+ if (n_todo > 0) { -+ /* We know that we are in recursion here, because n_todo is set. -+ * We need to remove the inner directory we were operating on. */ -+ assert(dirname); -+ r = unlinkat_harder(dirfd(todos[n_todo-1].dir), dirname, AT_REMOVEDIR, flags); -+ if (r < 0 && r != -ENOENT && ret == 0) -+ ret = r; -+ dirname = mfree(dirname); -+ -+ /* And now let's back out one level up */ -+ n_todo --; -+ d = TAKE_PTR(todos[n_todo].dir); -+ dirname = TAKE_PTR(todos[n_todo].dirname); -+ -+ assert(d); -+ fd = dirfd(d); /* Retrieve the file descriptor from the DIR object */ -+ assert(fd >= 0); -+ } else { -+ next_fd: -+ assert(fd >= 0); -+ d = fdopendir(fd); -+ if (!d) { -+ safe_close(fd); -+ return -errno; -+ } -+ fd = dirfd(d); /* We donated the fd to fdopendir(). Let's make sure we sure we have -+ * the right descriptor even if it were to internally invalidate the -+ * one we passed. */ -+ -+ if (!(flags & REMOVE_PHYSICAL)) { -+ struct statfs sfs; -+ -+ if (fstatfs(fd, &sfs) < 0) -+ return -errno; -+ -+ if (is_physical_fs(&sfs)) { -+ /* We refuse to clean physical file systems with this call, unless -+ * explicitly requested. This is extra paranoia just to be sure we -+ * never ever remove non-state data. */ -+ -+ _cleanup_free_ char *path = NULL; -+ -+ (void) fd_get_path(fd, &path); -+ return log_error_errno(SYNTHETIC_ERRNO(EPERM), -+ "Attempted to remove disk file system under \"%s\", and we can't allow that.", -+ strna(path)); -+ } -+ } -+ } - -- /* This returns the first error we run into, but nevertheless tries to go on. This closes the passed -- * fd, in all cases, including on failure. */ -+ FOREACH_DIRENT_ALL(de, d, return -errno) { -+ int is_dir; - -- d = fdopendir(fd); -- if (!d) { -- safe_close(fd); -- return -errno; -- } -+ if (dot_or_dot_dot(de->d_name)) -+ continue; - -- if (!(flags & REMOVE_PHYSICAL)) { -- struct statfs sfs; -+ is_dir = de->d_type == DT_UNKNOWN ? -1 : de->d_type == DT_DIR; - -- if (fstatfs(dirfd(d), &sfs) < 0) -- return -errno; -+ r = rm_rf_inner_child(fd, de->d_name, is_dir, flags, root_dev, false); -+ if (r == -EISDIR) { -+ /* Push the current working state onto the todo list */ - -- if (is_physical_fs(&sfs)) { -- /* We refuse to clean physical file systems with this call, unless explicitly -- * requested. This is extra paranoia just to be sure we never ever remove non-state -- * data. */ -+ if (!GREEDY_REALLOC0(todos, n_todo + 2)) -+ return log_oom(); - -- _cleanup_free_ char *path = NULL; -+ _cleanup_free_ char *newdirname = strdup(de->d_name); -+ if (!newdirname) -+ return log_oom(); - -- (void) fd_get_path(fd, &path); -- return log_error_errno(SYNTHETIC_ERRNO(EPERM), -- "Attempted to remove disk file system under \"%s\", and we can't allow that.", -- strna(path)); -- } -- } -+ int newfd = openat(fd, de->d_name, -+ O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); -+ if (newfd >= 0) { -+ todos[n_todo++] = (TodoEntry) { TAKE_PTR(d), TAKE_PTR(dirname) }; -+ fd = newfd; -+ dirname = TAKE_PTR(newdirname); - -- FOREACH_DIRENT_ALL(de, d, return -errno) { -- int is_dir; -+ goto next_fd; - -- if (dot_or_dot_dot(de->d_name)) -- continue; -+ } else if (errno != -ENOENT && ret == 0) -+ ret = -errno; - -- is_dir = -- de->d_type == DT_UNKNOWN ? -1 : -- de->d_type == DT_DIR; -+ } else if (r < 0 && r != -ENOENT && ret == 0) -+ ret = r; -+ } - -- r = rm_rf_children_inner(dirfd(d), de->d_name, is_dir, flags, root_dev); -- if (r < 0 && r != -ENOENT && ret == 0) -- ret = r; -- } -+ if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(fd) < 0 && ret >= 0) -+ ret = -errno; - -- if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(dirfd(d)) < 0 && ret >= 0) -- ret = -errno; -+ if (n_todo == 0) -+ break; -+ } - - return ret; - } -@@ -336,5 +401,5 @@ int rm_rf_child(int fd, const char *name, RemoveFlags flags) { - if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES|REMOVE_SUBVOLUME)) - return -EINVAL; - -- return rm_rf_children_inner(fd, name, -1, flags, NULL); -+ return rm_rf_inner_child(fd, name, -1, flags, NULL, true); - } --- -2.31.1 - diff --git a/systemd-v249.7+suse.66.ga54f80116c.tar.xz b/systemd-v249.7+suse.66.ga54f80116c.tar.xz deleted file mode 100644 index e1babceb..00000000 --- a/systemd-v249.7+suse.66.ga54f80116c.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91b2f8c8492b03612c3148615a39d7553632798941456e7702306837f0118dd8 -size 7276848 diff --git a/systemd-v249.7+suse.71.g458220239c.tar.xz b/systemd-v249.7+suse.71.g458220239c.tar.xz new file mode 100644 index 00000000..6b7dfbb6 --- /dev/null +++ b/systemd-v249.7+suse.71.g458220239c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ba7beb93531d1b148950ba94787d2b7ea4633a9f1f6b4d0fa34aee6298ccdb4 +size 7276576 diff --git a/systemd.changes b/systemd.changes index b3e7e524..5616fb4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Jan 13 20:03:51 UTC 2022 - Franck Bui + +- Import commit 458220239c69b8e5fe7be480929348daeccb70d1 + + e95df40b09 shared/rm-rf: loop over nested directories instead of instead of recursing (CVE-2021-3997 bsc#1194178) + 078e04305d shared/rm_rf: refactor rm_rf() to shorten code a bit + 6d560d0aca shared/rm_rf: refactor rm_rf_children_inner() to shorten code a bit + 6666ff056c localectl: don't omit keymaps files that are symlinks (bsc#1191826) + ------------------------------------------------------------------- Tue Jan 11 08:06:11 UTC 2022 - Franck Bui @@ -49,7 +59,7 @@ Wed Nov 24 10:40:01 UTC 2021 - Ludwig Nussel ------------------------------------------------------------------- Mon Nov 22 08:48:12 UTC 2021 - Franck Bui -- Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of 249.7) +- Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of v249.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c34c98712600bc206919ec6ed136195f75ac1967...523f32df573d459551760b072cb62906f4a2cf23 @@ -69,7 +79,7 @@ Mon Nov 22 08:43:25 UTC 2021 - Franck Bui ------------------------------------------------------------------- Mon Nov 15 09:35:08 UTC 2021 - Franck Bui -- Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of 249.6) +- Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of v249.6) bcdeee7b4c virt: Support detection for ARM64 Hyper-V guests (bsc#1186071) [...] diff --git a/systemd.spec b/systemd.spec index 2219cded..c977d833 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.66.ga54f80116c +%define suse_version +suse.71.g458220239c %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -210,12 +210,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. -# The following patches address CVE-2021-3997. They will be moved to the git -# repo once the issue will become public and upstream will release them. -Patch5000: 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch -Patch5001: 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch -Patch5002: 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization From 71385857180318bee499355e66435915d0ea75f726bd7c2226ee0256474b295e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 13 Jan 2022 22:00:43 +0000 Subject: [PATCH 635/991] - Import commit e2ca79dd775d1f7d39861d57f23c43f6cd85a872 (merge of v249.8) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/458220239c69b8e5fe7be480929348daeccb70d1...e2ca79dd775d1f7d39861d57f23c43f6cd85a872 - Drop the following patches as they have been merged into SUSE/v249 branch: 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1221 --- systemd-v249.7+suse.71.g458220239c.tar.xz | 3 --- systemd-v249.8+suse.73.ge2ca79dd77.tar.xz | 3 +++ systemd.changes | 14 ++++++++++++++ systemd.spec | 4 ++-- 4 files changed, 19 insertions(+), 5 deletions(-) delete mode 100644 systemd-v249.7+suse.71.g458220239c.tar.xz create mode 100644 systemd-v249.8+suse.73.ge2ca79dd77.tar.xz diff --git a/systemd-v249.7+suse.71.g458220239c.tar.xz b/systemd-v249.7+suse.71.g458220239c.tar.xz deleted file mode 100644 index 6b7dfbb6..00000000 --- a/systemd-v249.7+suse.71.g458220239c.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ba7beb93531d1b148950ba94787d2b7ea4633a9f1f6b4d0fa34aee6298ccdb4 -size 7276576 diff --git a/systemd-v249.8+suse.73.ge2ca79dd77.tar.xz b/systemd-v249.8+suse.73.ge2ca79dd77.tar.xz new file mode 100644 index 00000000..f15007e8 --- /dev/null +++ b/systemd-v249.8+suse.73.ge2ca79dd77.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c39ac23a13b881b65085bca3103912ffd52f5748e58e272dea83c1b02ff4f7e +size 7281480 diff --git a/systemd.changes b/systemd.changes index 5616fb4f..6df14441 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jan 13 21:54:06 UTC 2022 - Franck Bui + +- Import commit e2ca79dd775d1f7d39861d57f23c43f6cd85a872 (merge of v249.8) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/458220239c69b8e5fe7be480929348daeccb70d1...e2ca79dd775d1f7d39861d57f23c43f6cd85a872 + ------------------------------------------------------------------- Thu Jan 13 20:03:51 UTC 2022 - Franck Bui @@ -8,6 +16,12 @@ Thu Jan 13 20:03:51 UTC 2022 - Franck Bui 6d560d0aca shared/rm_rf: refactor rm_rf_children_inner() to shorten code a bit 6666ff056c localectl: don't omit keymaps files that are symlinks (bsc#1191826) +- Drop the following patches as they have been merged into SUSE/v249 branch: + + 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch + 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch + 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch + ------------------------------------------------------------------- Tue Jan 11 08:06:11 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c977d833..aabaa681 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.71.g458220239c +%define suse_version +suse.73.ge2ca79dd77 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.7 +Version: 249.8 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 45669cffeb6ecc06d5e339021e9e853783eb52f25360f13425bf310c1ffaa293 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 14 Jan 2022 15:14:43 +0000 Subject: [PATCH 636/991] - Drop 0009-pid1-handle-console-specificities-weirdness-for-s390.patch, it's SLE material. - Extract bits from 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch which are not specific to the handling of 'Required-Start:' and move them into a new patch 1010-sysv-add-back-support-for-all-virtual-facility-and-f.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1222 --- ...ranslate-Required-Start-into-a-Wants.patch | 65 +++++-------------- ...ole-specificities-weirdness-for-s390.patch | 60 ----------------- ...pport-for-all-virtual-facility-and-f.patch | 43 ++++++++++++ systemd.changes | 10 +++ systemd.spec | 2 +- 5 files changed, 71 insertions(+), 109 deletions(-) delete mode 100644 0009-pid1-handle-console-specificities-weirdness-for-s390.patch create mode 100644 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch index 55b44930..001c0a6c 100644 --- a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -1,59 +1,28 @@ -From 7f59f7b1b506c1394712ad3d6bab81318052a14c Mon Sep 17 00:00:00 2001 +From 9e6a1f4b085b29abaf90ecd05859537b837b39fe Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 4 May 2016 17:40:04 +0200 -Subject: [PATCH 08/11] sysv-generator: translate "Required-Start" into a - "Wants" dependency +Subject: [PATCH 8/8] sysv-generator: translate "Required-Start" into a "Wants" + dependency + +'Required-Start:' used to be supported by insserv but this functionality was +dropped when insserv was rewritten into a compat perl wrapper (insserv-compat), +which happened when systemd was introduced in SUSE, I guess. + +It's been decided to add back the support in systemd instead of insserv-compat, +see the comments in bsc#857204. [tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] -[fbui: this is needed probably because insserv's behavior has been - sadly changed since SLE11: it now doesn't failed if a - dependency listed by Required-Start is missing.] - -[fbui: according to Werner "This should fix bnc#858864 and - bnc#857204." (see Base:System changelog)] +[wfink: fixes bsc#857204] --- - src/sysv-generator/sysv-generator.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) + src/sysv-generator/sysv-generator.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index fa5355c964..62755f3652 100644 +index bf23c48662..c6e1953839 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c -@@ -257,6 +257,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - "remote_fs", SPECIAL_REMOTE_FS_TARGET, - "syslog", NULL, - "time", SPECIAL_TIME_SYNC_TARGET, -+ "all", SPECIAL_DEFAULT_TARGET, - }; - - const char *filename; -@@ -271,6 +272,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - - filename = basename(s->path); - -+ n = *name == '+' ? ++name : name; - n = *name == '$' ? name + 1 : name; - - for (i = 0; i < ELEMENTSOF(table); i += 2) { -@@ -407,7 +409,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text - - for (;;) { - _cleanup_free_ char *word = NULL, *m = NULL; -- bool is_before; -+ bool is_before, is_wanted; - - r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX); - if (r < 0) -@@ -420,6 +422,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text - continue; - - is_before = startswith_no_case(full_text, "X-Start-Before:"); -+ is_wanted = startswith_no_case(full_text, "Required-Start:"); - - if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) { - /* the network-online target is special, as it needs to be actively pulled in */ -@@ -428,8 +431,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -409,8 +409,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text return log_oom(); r = strv_extend(&s->wants, m); @@ -61,7 +30,7 @@ index fa5355c964..62755f3652 100644 + } else { r = strv_extend(is_before ? &s->before : &s->after, m); + -+ if (is_wanted) ++ if (startswith_no_case(full_text, "Required-Start:")) + r = strv_extend(&s->wants, m); + } + @@ -69,5 +38,5 @@ index fa5355c964..62755f3652 100644 return log_oom(); } -- -2.26.2 +2.31.1 diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch deleted file mode 100644 index 6124095d..00000000 --- a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch +++ /dev/null @@ -1,60 +0,0 @@ -From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 10 Jun 2016 15:19:57 +0200 -Subject: [PATCH 09/11] pid1: handle console specificities/weirdness for s390 - arch - -The 3270 console on S/390 can do color but not the 3215 console. - -Partial forward port of -0001-On_s390_con3270_disable_ANSI_colour_esc.patch from SLE12-SP1. A -bunch of the previous code has been dropped since some changes -imported from upsteam made them uneeded. - -The remaining bits are probably hackish but at least they are now -minimal. - -It was an attempt to address bnc#860937. And yes turning the console -color mode off by passing $TERM=dumb via the kernel command line would -have been much more easier and enough. - -This is actually implemented by recent systemd. There's also another -command line option: systemd.log_color=off. - -See also a short discussion which happened on @systemd-maintainers -whose $subject is "[PATCH] support conmode setting on command line". - -[ fbui: fixes bsc#860937 ] ---- - src/basic/terminal-util.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c -index d769423d6e..1a65391146 100644 ---- a/src/basic/terminal-util.c -+++ b/src/basic/terminal-util.c -@@ -779,7 +779,20 @@ bool tty_is_vc_resolve(const char *tty) { - } - - const char *default_term_for_tty(const char *tty) { -- return tty && tty_is_vc_resolve(tty) ? "linux" : "vt220"; -+ if (tty && tty_is_vc_resolve(tty)) -+ return "linux"; -+ -+#if defined (__s390__) || defined (__s390x__) -+ if (tty && tty_is_console(tty)) { -+ _cleanup_free_ char *mode = NULL; -+ -+ /* Simply return "dumb" in case of OOM. */ -+ (void) proc_cmdline_get_key("conmode", 0, &mode); -+ (void) proc_cmdline_value_missing("conmode", mode); -+ return streq_ptr(mode, "3270") ? "ibm327x" : "dumb"; -+ } -+#endif -+ return "vt220"; - } - - int fd_columns(int fd) { --- -2.26.2 - diff --git a/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch b/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch new file mode 100644 index 00000000..91cc4e55 --- /dev/null +++ b/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch @@ -0,0 +1,43 @@ +From 6f4d9d9688ad65bb46d09ac09f570c6ee4bc3671 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 14 Jan 2022 08:17:38 +0100 +Subject: [PATCH 1010/1010] sysv: add back support for '$all' virtual facility + and '+' facitity name prefix + +'$all' was probably a Debian thing and has probably never been supported by RH, +which explains why systemd upstream never supported it too. At least I couldn't +find any reference of this facility name in +http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic.html#FACILNAME. OTOH +'$all' is described in https://wiki.debian.org/LSBInitScripts + +Regarding the '+' prefix, I couldn't find any mention of it +anywhere. Apparently it was equivalent to '$' in facility names. + +[wfink: bsc#858864] +--- + src/sysv-generator/sysv-generator.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c +index c6e1953839..0aadb397ed 100644 +--- a/src/sysv-generator/sysv-generator.c ++++ b/src/sysv-generator/sysv-generator.c +@@ -243,6 +243,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, + "syslog", NULL, + "time", SPECIAL_TIME_SYNC_TARGET, ++ "all", SPECIAL_DEFAULT_TARGET, + }; + + const char *filename; +@@ -257,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + + filename = basename(s->path); + ++ n = *name == '+' ? ++name : name; + n = *name == '$' ? name + 1 : name; + + for (i = 0; i < ELEMENTSOF(table); i += 2) { +-- +2.31.1 + diff --git a/systemd.changes b/systemd.changes index 6df14441..d41197ad 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Jan 14 14:55:56 UTC 2022 - Franck Bui + +- Drop 0009-pid1-handle-console-specificities-weirdness-for-s390.patch, it's SLE + material. + +- Extract bits from 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + which are not specific to the handling of 'Required-Start:' and move them into a + new patch 1010-sysv-add-back-support-for-all-virtual-facility-and-f.patch + ------------------------------------------------------------------- Thu Jan 13 21:54:06 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index aabaa681..f3655399 100644 --- a/systemd.spec +++ b/systemd.spec @@ -198,7 +198,7 @@ Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch9: 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch From 6e23ca65e7238a9288887f988e7f8c220d1b9ff33048b289c7355cb37e1ba4e3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 17 Jan 2022 08:16:34 +0000 Subject: [PATCH 637/991] fix name of 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch in specfile OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1223 --- systemd.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index d41197ad..ba4c380b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -6,7 +6,7 @@ Fri Jan 14 14:55:56 UTC 2022 - Franck Bui - Extract bits from 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch which are not specific to the handling of 'Required-Start:' and move them into a - new patch 1010-sysv-add-back-support-for-all-virtual-facility-and-f.patch + new patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch ------------------------------------------------------------------- Thu Jan 13 21:54:06 UTC 2022 - Franck Bui From 41391b086e56337e3a3336a1a11967a086820d4e4439e7277fbfd5a6feba282e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 17 Jan 2022 08:45:49 +0000 Subject: [PATCH 638/991] Revert the drop of 0009-pid1-handle-console-specificities-weirdness-for-s390.patch: s390 is supported on Factory/TW OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1224 --- ...ole-specificities-weirdness-for-s390.patch | 60 +++++++++++++++++++ systemd.changes | 3 - systemd.spec | 1 + 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 0009-pid1-handle-console-specificities-weirdness-for-s390.patch diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch new file mode 100644 index 00000000..14354b18 --- /dev/null +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -0,0 +1,60 @@ +From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 10 Jun 2016 15:19:57 +0200 +Subject: [PATCH 09/11] pid1: handle console specificities/weirdness for s390 + arch + +The 3270 console on S/390 can do color but not the 3215 console. + +Partial forward port of +0001-On_s390_con3270_disable_ANSI_colour_esc.patch from SLE12-SP1. A +bunch of the previous code has been dropped since some changes +imported from upsteam made them uneeded. + +The remaining bits are probably hackish but at least they are now +minimal. + +It was an attempt to address bnc#860937. And yes turning the console +color mode off by passing $TERM=dumb via the kernel command line would +have been much more easier and enough. + +This is actually implemented by recent systemd. There's also another +command line option: systemd.log_color=off. + +See also a short discussion which happened on @systemd-maintainers +whose $subject is "[PATCH] support conmode setting on command line". + +[fbui: fixes bsc#860937] +--- + src/basic/terminal-util.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c +index d769423d6e..1a65391146 100644 +--- a/src/basic/terminal-util.c ++++ b/src/basic/terminal-util.c +@@ -779,7 +779,20 @@ bool tty_is_vc_resolve(const char *tty) { + } + + const char *default_term_for_tty(const char *tty) { +- return tty && tty_is_vc_resolve(tty) ? "linux" : "vt220"; ++ if (tty && tty_is_vc_resolve(tty)) ++ return "linux"; ++ ++#if defined (__s390__) || defined (__s390x__) ++ if (tty && tty_is_console(tty)) { ++ _cleanup_free_ char *mode = NULL; ++ ++ /* Simply return "dumb" in case of OOM. */ ++ (void) proc_cmdline_get_key("conmode", 0, &mode); ++ (void) proc_cmdline_value_missing("conmode", mode); ++ return streq_ptr(mode, "3270") ? "ibm327x" : "dumb"; ++ } ++#endif ++ return "vt220"; + } + + int fd_columns(int fd) { +-- +2.26.2 + diff --git a/systemd.changes b/systemd.changes index ba4c380b..24faf469 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,9 +1,6 @@ ------------------------------------------------------------------- Fri Jan 14 14:55:56 UTC 2022 - Franck Bui -- Drop 0009-pid1-handle-console-specificities-weirdness-for-s390.patch, it's SLE - material. - - Extract bits from 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch which are not specific to the handling of 'Required-Start:' and move them into a new patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch diff --git a/systemd.spec b/systemd.spec index f3655399..cac40550 100644 --- a/systemd.spec +++ b/systemd.spec @@ -202,6 +202,7 @@ Patch9: 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch13: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git From 4d3dc608a235b46b0188b83874ff102b91eacecd0f9412e5a6f90ae5e21ba01b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 17 Jan 2022 09:06:22 +0000 Subject: [PATCH 639/991] reindent and fix a typo in the comments of the hearder of systemd-sysv-install OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1225 --- systemd-sysv-install | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/systemd-sysv-install b/systemd-sysv-install index 403fc632..cffe4c8f 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -2,15 +2,15 @@ # This script is called by "systemctl enable/disable" when the given unit is a # SysV init.d script. It needs to call the distribution's mechanism for -# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This -# can optionally take a --root argument for enabling a SysV init script -# in a chroot or similar. +# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This can +# optionally take a --root argument for enabling a SysV init script in a chroot +# or similar. # -# chkconfig(8) and insserv(8) are no more available hence let's do the -# bare minimum and create/remote the symlinks for the well known -# runlevels and nothing more. Note that we don't take care of -# enabling/disabling the service dependencies as the sysv-generator -# will take care of them for us (openSUSE specific). +# chkconfig(8) and insserv(8) are no more available hence let's do the bare +# minimum and create/remove the symlinks for the well known runlevels and +# nothing more. Note that we don't take care of enabling/disabling the service +# dependencies as the sysv-generator will take care of them for us (openSUSE +# specific). # set -e From bfa6b12ff4542c86be7c8cd99caf2229351cce845431730795cd51b6661053d7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 17 Jan 2022 09:18:38 +0000 Subject: [PATCH 640/991] - Import commit 3743acbce3bd44208af453fc6dc384a1236dc83c (merge of v249.9) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e2ca79dd775d1f7d39861d57f23c43f6cd85a872...3743acbce3bd44208af453fc6dc384a1236dc83c OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1226 --- systemd-v249.8+suse.73.ge2ca79dd77.tar.xz | 3 --- systemd-v249.9+suse.75.g3743acbce3.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v249.8+suse.73.ge2ca79dd77.tar.xz create mode 100644 systemd-v249.9+suse.75.g3743acbce3.tar.xz diff --git a/systemd-v249.8+suse.73.ge2ca79dd77.tar.xz b/systemd-v249.8+suse.73.ge2ca79dd77.tar.xz deleted file mode 100644 index f15007e8..00000000 --- a/systemd-v249.8+suse.73.ge2ca79dd77.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c39ac23a13b881b65085bca3103912ffd52f5748e58e272dea83c1b02ff4f7e -size 7281480 diff --git a/systemd-v249.9+suse.75.g3743acbce3.tar.xz b/systemd-v249.9+suse.75.g3743acbce3.tar.xz new file mode 100644 index 00000000..0adfea70 --- /dev/null +++ b/systemd-v249.9+suse.75.g3743acbce3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64320468ebe2502773e1365b50c369de2520ec4b614c623a4ca1339e26968ec2 +size 7278924 diff --git a/systemd.changes b/systemd.changes index 24faf469..89974cf9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jan 17 09:16:13 UTC 2022 - Franck Bui + +- Import commit 3743acbce3bd44208af453fc6dc384a1236dc83c (merge of v249.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e2ca79dd775d1f7d39861d57f23c43f6cd85a872...3743acbce3bd44208af453fc6dc384a1236dc83c + ------------------------------------------------------------------- Fri Jan 14 14:55:56 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cac40550..64efc662 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.73.ge2ca79dd77 +%define suse_version +suse.75.g3743acbce3 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.8 +Version: 249.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From c808214f56e33f926e3d9eb98b1ed20d6dedda9a101521ab9b215f58a0cfe5d1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jan 2022 20:40:06 +0000 Subject: [PATCH 641/991] - Restore /sbin/udevadm and /bin/systemctl (obsolete) paths when split_usr is true (bsc#1194519) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1227 --- systemd.changes | 6 ++++++ systemd.spec | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 89974cf9..9b1bd549 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jan 18 17:57:43 UTC 2022 - Franck Bui + +- Restore /sbin/udevadm and /bin/systemctl (obsolete) paths when split_usr is + true (bsc#1194519) + ------------------------------------------------------------------- Mon Jan 17 09:16:13 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 64efc662..f4ead050 100644 --- a/systemd.spec +++ b/systemd.spec @@ -741,8 +741,11 @@ for s in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do done %if %{with split_usr} +mkdir -p %{buildroot}/{bin,sbin} +# Legacy paths +ln -s ../usr/bin/udevadm %{buildroot}/sbin/ +ln -s ../usr/bin/systemctl %{buildroot}/bin/ # Legacy sysvinit tools -mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt @@ -782,8 +785,8 @@ mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ # /usr/lib/sysctl.d/99-sysctl.conf. ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf -# The definition of the basic users/groups are defined by system-user -# on SUSE (bsc#1006978). +# The definitions of the basic users/groups are given by system-user package on +# SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files @@ -1276,6 +1279,9 @@ fi %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat +%if %{with split_usr} +/bin/systemctl +%endif %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d %{_prefix}/lib/kernel/install.d/00-entry-directory.install @@ -1618,6 +1624,9 @@ fi %defattr(-,root,root) %{_bindir}/udevadm %{_bindir}/systemd-hwdb +%if %{with split_usr} +/sbin/udevadm +%endif %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id From 7cbd5f9854d550f6e3d04d00bd84dfc250ba3b5f1befd105fe2216679a646261 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 19 Jan 2022 14:30:23 +0000 Subject: [PATCH 642/991] - Move the systemd-network-generator stuff in udev package This generator can generate .link files and is mainly used in initrd where udev is mandatory. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1228 --- systemd.changes | 8 ++++++++ systemd.spec | 35 +++++++++++++++++------------------ 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/systemd.changes b/systemd.changes index 9b1bd549..65d3231c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jan 19 14:25:46 UTC 2022 - Franck Bui + +- Move the systemd-network-generator stuff in udev package + + This generator can generate .link files and is mainly used in initrd where + udev is mandatory. + ------------------------------------------------------------------- Tue Jan 18 17:57:43 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f4ead050..1dbeb761 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1291,6 +1291,8 @@ fi %dir %{_prefix}/lib/systemd/network %dir %{_unitdir} %{_userunitdir} +%exclude %{_prefix}/lib/systemd/systemd-network-generator +%exclude %{_unitdir}/systemd-network-generator.service %if %{with coredump} %exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_unitdir}/systemd-coredump* @@ -1303,6 +1305,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload +%exclude %{_datadir}/systemd/gatewayd %endif %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* @@ -1331,10 +1334,8 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif %if %{with networkd} -%exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online -%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1476,10 +1477,6 @@ fi %{_datadir}/systemd %{_datadir}/factory -%if %{with journal_remote} -%exclude %{_datadir}/systemd/gatewayd -%endif - %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service @@ -1504,12 +1501,13 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* -%{_mandir}/man8//rc-local.* +%{_mandir}/man8/rc-local.* %{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man8/systemd-network-generator.* %if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* @@ -1640,6 +1638,8 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/systemd-network-generator %dir %{_udevrulesdir}/ %doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules @@ -1652,16 +1652,7 @@ fi %dir %{_sysconfdir}/udev/rules.d/ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! 0%{?bootstrap} -%{_mandir}/man5/udev* -%{_mandir}/man7/hwdb* -%{_mandir}/man7/udev* -%{_mandir}/man8/systemd-hwdb* -%{_mandir}/man8/systemd-udev* -%{_mandir}/man8/udev* -%endif %dir %{_unitdir} -%{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/kmod-static-nodes.service %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service %{_tmpfilesdir}/static-nodes-permissions.conf @@ -1669,6 +1660,7 @@ fi %{_unitdir}/systemd-udevd*.socket %{_unitdir}/systemd-hwdb*.* %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/systemd-network-generator.service %dir %{_unitdir}/sysinit.target.wants %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants @@ -1676,6 +1668,15 @@ fi %{_unitdir}/*.target.wants/systemd-hwdb*.* %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc +%if ! 0%{?bootstrap} +%{_mandir}/man5/udev* +%{_mandir}/man7/hwdb* +%{_mandir}/man7/udev* +%{_mandir}/man8/systemd-hwdb* +%{_mandir}/man8/systemd-udev* +%{_mandir}/man8/udev* +%{_mandir}/man8/systemd-network-generator.* +%endif %files -n libsystemd0%{?mini} %defattr(-,root,root) @@ -1817,10 +1818,8 @@ fi %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_prefix}/lib/systemd/network/*.network %{_prefix}/lib/systemd/network/*.network.example -%{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online -%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service From a340d8d64b7394099a8444b979662e22e1172267a23152ccf00ec48ed64ba275 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 Jan 2022 08:31:23 +0000 Subject: [PATCH 643/991] - Move the whole content of /usr/share/doc/packages/systemd in doc subpackage OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1229 --- systemd.changes | 5 +++++ systemd.spec | 6 +----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/systemd.changes b/systemd.changes index 65d3231c..38b6dc6b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jan 19 15:34:05 UTC 2022 - Franck Bui + +- Move the whole content of /usr/share/doc/packages/systemd in doc subpackage + ------------------------------------------------------------------- Wed Jan 19 14:25:46 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1dbeb761..585db1a1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1542,9 +1542,6 @@ fi %endif %endif -%{_docdir}/systemd -%exclude %{_docdir}/systemd/html - %{_udevrulesdir}/70-uaccess.rules %{_udevrulesdir}/71-seat.rules %{_udevrulesdir}/73-seat-late.rules @@ -1572,8 +1569,7 @@ fi %if ! 0%{?bootstrap} %files doc %defattr(-,root,root,-) -%dir %{_docdir}/systemd -%{_docdir}/systemd/html +%{_docdir}/systemd %endif %files devel From 49e3c4604e6a7a41bf0bce0a3a11f090b60c0deb89e493c2f7eb299a31d05260 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 21 Jan 2022 00:25:13 +0000 Subject: [PATCH 644/991] Accepting request 947453 from Base:System - Move the systemd-network-generator stuff in udev package This generator can generate .link files and is mainly used in initrd where udev is mandatory. - Restore /sbin/udevadm and /bin/systemctl (obsolete) paths when split_usr is true (bsc#1194519) - Import commit 3743acbce3bd44208af453fc6dc384a1236dc83c (merge of v249.9) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e2ca79dd775d1f7d39861d57f23c43f6cd85a872...3743acbce3bd44208af453fc6dc384a1236dc83c - Extract bits from 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch which are not specific to the handling of 'Required-Start:' and move them into a new patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch - Import commit e2ca79dd775d1f7d39861d57f23c43f6cd85a872 (merge of v249.8) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/458220239c69b8e5fe7be480929348daeccb70d1...e2ca79dd775d1f7d39861d57f23c43f6cd85a872 - Import commit 458220239c69b8e5fe7be480929348daeccb70d1 e95df40b09 shared/rm-rf: loop over nested directories instead of instead of recursing (CVE-2021-3997 bsc#1194178) 078e04305d shared/rm_rf: refactor rm_rf() to shorten code a bit 6d560d0aca shared/rm_rf: refactor rm_rf_children_inner() to shorten code a bit 6666ff056c localectl: don't omit keymaps files that are symlinks (bsc#1191826) - Drop the following patches as they have been merged into SUSE/v249 branch: 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch - Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of v249.7) OBS-URL: https://build.opensuse.org/request/show/947453 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=344 --- ...ranslate-Required-Start-into-a-Wants.patch | 65 ++--- ...ole-specificities-weirdness-for-s390.patch | 2 +- ...pport-for-all-virtual-facility-and-f.patch | 43 +++ ...actor-rm_rf_children_inner-to-shorte.patch | 66 ----- ...refactor-rm_rf-to-shorten-code-a-bit.patch | 98 ------- ...p-over-nested-directories-instead-of.patch | 273 ------------------ systemd-sysv-install | 16 +- systemd-v249.7+suse.66.ga54f80116c.tar.xz | 3 - systemd-v249.9+suse.75.g3743acbce3.tar.xz | 3 + systemd.changes | 57 +++- systemd.spec | 63 ++-- 11 files changed, 160 insertions(+), 529 deletions(-) create mode 100644 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch delete mode 100644 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch delete mode 100644 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch delete mode 100644 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch delete mode 100644 systemd-v249.7+suse.66.ga54f80116c.tar.xz create mode 100644 systemd-v249.9+suse.75.g3743acbce3.tar.xz diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch index 55b44930..001c0a6c 100644 --- a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -1,59 +1,28 @@ -From 7f59f7b1b506c1394712ad3d6bab81318052a14c Mon Sep 17 00:00:00 2001 +From 9e6a1f4b085b29abaf90ecd05859537b837b39fe Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 4 May 2016 17:40:04 +0200 -Subject: [PATCH 08/11] sysv-generator: translate "Required-Start" into a - "Wants" dependency +Subject: [PATCH 8/8] sysv-generator: translate "Required-Start" into a "Wants" + dependency + +'Required-Start:' used to be supported by insserv but this functionality was +dropped when insserv was rewritten into a compat perl wrapper (insserv-compat), +which happened when systemd was introduced in SUSE, I guess. + +It's been decided to add back the support in systemd instead of insserv-compat, +see the comments in bsc#857204. [tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] -[fbui: this is needed probably because insserv's behavior has been - sadly changed since SLE11: it now doesn't failed if a - dependency listed by Required-Start is missing.] - -[fbui: according to Werner "This should fix bnc#858864 and - bnc#857204." (see Base:System changelog)] +[wfink: fixes bsc#857204] --- - src/sysv-generator/sysv-generator.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) + src/sysv-generator/sysv-generator.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index fa5355c964..62755f3652 100644 +index bf23c48662..c6e1953839 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c -@@ -257,6 +257,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - "remote_fs", SPECIAL_REMOTE_FS_TARGET, - "syslog", NULL, - "time", SPECIAL_TIME_SYNC_TARGET, -+ "all", SPECIAL_DEFAULT_TARGET, - }; - - const char *filename; -@@ -271,6 +272,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - - filename = basename(s->path); - -+ n = *name == '+' ? ++name : name; - n = *name == '$' ? name + 1 : name; - - for (i = 0; i < ELEMENTSOF(table); i += 2) { -@@ -407,7 +409,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text - - for (;;) { - _cleanup_free_ char *word = NULL, *m = NULL; -- bool is_before; -+ bool is_before, is_wanted; - - r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX); - if (r < 0) -@@ -420,6 +422,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text - continue; - - is_before = startswith_no_case(full_text, "X-Start-Before:"); -+ is_wanted = startswith_no_case(full_text, "Required-Start:"); - - if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) { - /* the network-online target is special, as it needs to be actively pulled in */ -@@ -428,8 +431,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -409,8 +409,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text return log_oom(); r = strv_extend(&s->wants, m); @@ -61,7 +30,7 @@ index fa5355c964..62755f3652 100644 + } else { r = strv_extend(is_before ? &s->before : &s->after, m); + -+ if (is_wanted) ++ if (startswith_no_case(full_text, "Required-Start:")) + r = strv_extend(&s->wants, m); + } + @@ -69,5 +38,5 @@ index fa5355c964..62755f3652 100644 return log_oom(); } -- -2.26.2 +2.31.1 diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch index 6124095d..14354b18 100644 --- a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -24,7 +24,7 @@ command line option: systemd.log_color=off. See also a short discussion which happened on @systemd-maintainers whose $subject is "[PATCH] support conmode setting on command line". -[ fbui: fixes bsc#860937 ] +[fbui: fixes bsc#860937] --- src/basic/terminal-util.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch b/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch new file mode 100644 index 00000000..91cc4e55 --- /dev/null +++ b/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch @@ -0,0 +1,43 @@ +From 6f4d9d9688ad65bb46d09ac09f570c6ee4bc3671 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 14 Jan 2022 08:17:38 +0100 +Subject: [PATCH 1010/1010] sysv: add back support for '$all' virtual facility + and '+' facitity name prefix + +'$all' was probably a Debian thing and has probably never been supported by RH, +which explains why systemd upstream never supported it too. At least I couldn't +find any reference of this facility name in +http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic.html#FACILNAME. OTOH +'$all' is described in https://wiki.debian.org/LSBInitScripts + +Regarding the '+' prefix, I couldn't find any mention of it +anywhere. Apparently it was equivalent to '$' in facility names. + +[wfink: bsc#858864] +--- + src/sysv-generator/sysv-generator.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c +index c6e1953839..0aadb397ed 100644 +--- a/src/sysv-generator/sysv-generator.c ++++ b/src/sysv-generator/sysv-generator.c +@@ -243,6 +243,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + "remote_fs", SPECIAL_REMOTE_FS_TARGET, + "syslog", NULL, + "time", SPECIAL_TIME_SYNC_TARGET, ++ "all", SPECIAL_DEFAULT_TARGET, + }; + + const char *filename; +@@ -257,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, + + filename = basename(s->path); + ++ n = *name == '+' ? ++name : name; + n = *name == '$' ? name + 1 : name; + + for (i = 0; i < ELEMENTSOF(table); i += 2) { +-- +2.31.1 + diff --git a/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch b/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch deleted file mode 100644 index bb00830b..00000000 --- a/5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 5bc4f2e271c4907af1d3208c5bb33ce795326abc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Nov 2021 15:55:45 +0100 -Subject: [PATCH 5000/5002] shared/rm_rf: refactor rm_rf_children_inner() to - shorten code a bit - ---- - src/shared/rm-rf.c | 27 +++++++++------------------ - 1 file changed, 9 insertions(+), 18 deletions(-) - -diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c -index 19f37e0f19..7362954116 100644 ---- a/src/shared/rm-rf.c -+++ b/src/shared/rm-rf.c -@@ -124,7 +124,7 @@ static int rm_rf_children_inner( - const struct stat *root_dev) { - - struct stat st; -- int r; -+ int r, q = 0; - - assert(fd >= 0); - assert(fname); -@@ -142,7 +142,6 @@ static int rm_rf_children_inner( - - if (is_dir) { - _cleanup_close_ int subdir_fd = -1; -- int q; - - /* if root_dev is set, remove subdirectories only if device is same */ - if (root_dev && st.st_dev != root_dev->st_dev) -@@ -178,23 +177,15 @@ static int rm_rf_children_inner( - * again for each directory */ - q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); - -- r = unlinkat_harder(fd, fname, AT_REMOVEDIR, flags); -- if (r < 0) -- return r; -- if (q < 0) -- return q; -- -- return 1; -- -- } else if (!(flags & REMOVE_ONLY_DIRECTORIES)) { -- r = unlinkat_harder(fd, fname, 0, flags); -- if (r < 0) -- return r; -- -- return 1; -- } -+ } else if (flags & REMOVE_ONLY_DIRECTORIES) -+ return 0; - -- return 0; -+ r = unlinkat_harder(fd, fname, is_dir ? AT_REMOVEDIR : 0, flags); -+ if (r < 0) -+ return r; -+ if (q < 0) -+ return q; -+ return 1; - } - - int rm_rf_children( --- -2.31.1 - diff --git a/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch b/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch deleted file mode 100644 index 347b5e55..00000000 --- a/5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 8f608df0305355c9b2ddd7c75926a6bd6247e635 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 23 Nov 2021 16:56:42 +0100 -Subject: [PATCH 5001/5002] shared/rm_rf: refactor rm_rf() to shorten code a - bit - ---- - src/shared/rm-rf.c | 53 ++++++++++++++++++++-------------------------- - 1 file changed, 23 insertions(+), 30 deletions(-) - -diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c -index 7362954116..c7d3b8b7ad 100644 ---- a/src/shared/rm-rf.c -+++ b/src/shared/rm-rf.c -@@ -250,7 +250,7 @@ int rm_rf_children( - } - - int rm_rf(const char *path, RemoveFlags flags) { -- int fd, r; -+ int fd, r, q = 0; - - assert(path); - -@@ -282,49 +282,42 @@ int rm_rf(const char *path, RemoveFlags flags) { - } - - fd = open(path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); -- if (fd < 0) { -+ if (fd >= 0) { -+ /* We have a dir */ -+ r = rm_rf_children(fd, flags, NULL); -+ -+ if (FLAGS_SET(flags, REMOVE_ROOT)) -+ q = RET_NERRNO(rmdir(path)); -+ } else { - if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) - return 0; - - if (!IN_SET(errno, ENOTDIR, ELOOP)) - return -errno; - -- if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES)) -+ if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES) || !FLAGS_SET(flags, REMOVE_ROOT)) - return 0; - -- if (FLAGS_SET(flags, REMOVE_ROOT)) { -- -- if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { -- struct statfs s; -- -- if (statfs(path, &s) < 0) -- return -errno; -- if (is_physical_fs(&s)) -- return log_error_errno(SYNTHETIC_ERRNO(EPERM), -- "Attempted to remove files from a disk file system under \"%s\", refusing.", -- path); -- } -- -- if (unlink(path) < 0) { -- if (FLAGS_SET(flags, REMOVE_MISSING_OK) && errno == ENOENT) -- return 0; -+ if (!FLAGS_SET(flags, REMOVE_PHYSICAL)) { -+ struct statfs s; - -+ if (statfs(path, &s) < 0) - return -errno; -- } -+ if (is_physical_fs(&s)) -+ return log_error_errno(SYNTHETIC_ERRNO(EPERM), -+ "Attempted to remove files from a disk file system under \"%s\", refusing.", -+ path); - } - -- return 0; -+ r = 0; -+ q = RET_NERRNO(unlink(path)); - } - -- r = rm_rf_children(fd, flags, NULL); -- -- if (FLAGS_SET(flags, REMOVE_ROOT) && -- rmdir(path) < 0 && -- r >= 0 && -- (!FLAGS_SET(flags, REMOVE_MISSING_OK) || errno != ENOENT)) -- r = -errno; -- -- return r; -+ if (r < 0) -+ return r; -+ if (q < 0 && (q != -ENOENT || !FLAGS_SET(flags, REMOVE_MISSING_OK))) -+ return q; -+ return 0; - } - - int rm_rf_child(int fd, const char *name, RemoveFlags flags) { --- -2.31.1 - diff --git a/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch b/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch deleted file mode 100644 index 9c7eac68..00000000 --- a/5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch +++ /dev/null @@ -1,273 +0,0 @@ -From c561e2eab3b9b759b7592ea1b8168d4f36ede031 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 5 Jan 2022 15:08:07 +0100 -Subject: [PATCH 5002/5002] shared/rm-rf: loop over nested directories instead - of instead of recursing - -To remove directory structures, we need to remove the innermost items first, -and then recursively remove higher-level directories. We would recursively -descend into directories and invoke rm_rf_children and rm_rm_children_inner. -This is problematic when too many directories are nested. - -Instead, let's create a "TODO" queue. In the the queue, for each level we -hold the DIR* object we were working on, and the name of the directory. This -allows us to leave a partially-processed directory, and restart the removal -loop one level down. When done with the inner directory, we use the name to -unlinkat() it from the parent, and proceed with the removal of other items. - -Because the nesting is increased by one level, it is best to view this patch -with -b/--ignore-space-change. - -This fixes CVE-2021-3997, https://bugzilla.redhat.com/show_bug.cgi?id=2024639. -The issue was reported and patches reviewed by Qualys Team. -Mauro Matteo Cascella and Riccardo Schirone from Red Hat handled the disclosure. - -[fbui: adjust context] -[fbui: fixes CVE-2021-3997] -[fbui: fixes bsc#1194178] ---- - src/shared/rm-rf.c | 159 +++++++++++++++++++++++++++++++-------------- - 1 file changed, 112 insertions(+), 47 deletions(-) - -diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c -index c7d3b8b7ad..58da213e9f 100644 ---- a/src/shared/rm-rf.c -+++ b/src/shared/rm-rf.c -@@ -52,7 +52,6 @@ static int patch_dirfd_mode( - } - - int unlinkat_harder(int dfd, const char *filename, int unlink_flags, RemoveFlags remove_flags) { -- - mode_t old_mode; - int r; - -@@ -116,12 +115,13 @@ int fstatat_harder(int dfd, - return 0; - } - --static int rm_rf_children_inner( -+static int rm_rf_inner_child( - int fd, - const char *fname, - int is_dir, - RemoveFlags flags, -- const struct stat *root_dev) { -+ const struct stat *root_dev, -+ bool allow_recursion) { - - struct stat st; - int r, q = 0; -@@ -141,9 +141,7 @@ static int rm_rf_children_inner( - } - - if (is_dir) { -- _cleanup_close_ int subdir_fd = -1; -- -- /* if root_dev is set, remove subdirectories only if device is same */ -+ /* If root_dev is set, remove subdirectories only if device is same */ - if (root_dev && st.st_dev != root_dev->st_dev) - return 0; - -@@ -155,7 +153,6 @@ static int rm_rf_children_inner( - return 0; - - if ((flags & REMOVE_SUBVOLUME) && btrfs_might_be_subvol(&st)) { -- - /* This could be a subvolume, try to remove it */ - - r = btrfs_subvol_remove_fd(fd, fname, BTRFS_REMOVE_RECURSIVE|BTRFS_REMOVE_QUOTA); -@@ -169,13 +166,16 @@ static int rm_rf_children_inner( - return 1; - } - -- subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); -+ if (!allow_recursion) -+ return -EISDIR; -+ -+ int subdir_fd = openat(fd, fname, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); - if (subdir_fd < 0) - return -errno; - - /* We pass REMOVE_PHYSICAL here, to avoid doing the fstatfs() to check the file system type - * again for each directory */ -- q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); -+ q = rm_rf_children(subdir_fd, flags | REMOVE_PHYSICAL, root_dev); - - } else if (flags & REMOVE_ONLY_DIRECTORIES) - return 0; -@@ -188,63 +188,128 @@ static int rm_rf_children_inner( - return 1; - } - -+typedef struct TodoEntry { -+ DIR *dir; /* A directory that we were operating on. */ -+ char *dirname; /* The filename of that directory itself. */ -+} TodoEntry; -+ -+static void free_todo_entries(TodoEntry **todos) { -+ for (TodoEntry *x = *todos; x && x->dir; x++) { -+ closedir(x->dir); -+ free(x->dirname); -+ } -+ -+ freep(todos); -+} -+ - int rm_rf_children( - int fd, - RemoveFlags flags, - const struct stat *root_dev) { - -- _cleanup_closedir_ DIR *d = NULL; -+ _cleanup_(free_todo_entries) TodoEntry *todos = NULL; - struct dirent *de; -+ size_t n_todo = 0; -+ _cleanup_free_ char *dirname = NULL; /* Set when we are recursing and want to delete ourselves */ - int ret = 0, r; - -- assert(fd >= 0); -+ /* Return the first error we run into, but nevertheless try to go on. -+ * The passed fd is closed in all cases, including on failure. */ -+ -+ for (;;) { /* This loop corresponds to the directory nesting level. */ -+ _cleanup_closedir_ DIR *d = NULL; -+ -+ if (n_todo > 0) { -+ /* We know that we are in recursion here, because n_todo is set. -+ * We need to remove the inner directory we were operating on. */ -+ assert(dirname); -+ r = unlinkat_harder(dirfd(todos[n_todo-1].dir), dirname, AT_REMOVEDIR, flags); -+ if (r < 0 && r != -ENOENT && ret == 0) -+ ret = r; -+ dirname = mfree(dirname); -+ -+ /* And now let's back out one level up */ -+ n_todo --; -+ d = TAKE_PTR(todos[n_todo].dir); -+ dirname = TAKE_PTR(todos[n_todo].dirname); -+ -+ assert(d); -+ fd = dirfd(d); /* Retrieve the file descriptor from the DIR object */ -+ assert(fd >= 0); -+ } else { -+ next_fd: -+ assert(fd >= 0); -+ d = fdopendir(fd); -+ if (!d) { -+ safe_close(fd); -+ return -errno; -+ } -+ fd = dirfd(d); /* We donated the fd to fdopendir(). Let's make sure we sure we have -+ * the right descriptor even if it were to internally invalidate the -+ * one we passed. */ -+ -+ if (!(flags & REMOVE_PHYSICAL)) { -+ struct statfs sfs; -+ -+ if (fstatfs(fd, &sfs) < 0) -+ return -errno; -+ -+ if (is_physical_fs(&sfs)) { -+ /* We refuse to clean physical file systems with this call, unless -+ * explicitly requested. This is extra paranoia just to be sure we -+ * never ever remove non-state data. */ -+ -+ _cleanup_free_ char *path = NULL; -+ -+ (void) fd_get_path(fd, &path); -+ return log_error_errno(SYNTHETIC_ERRNO(EPERM), -+ "Attempted to remove disk file system under \"%s\", and we can't allow that.", -+ strna(path)); -+ } -+ } -+ } - -- /* This returns the first error we run into, but nevertheless tries to go on. This closes the passed -- * fd, in all cases, including on failure. */ -+ FOREACH_DIRENT_ALL(de, d, return -errno) { -+ int is_dir; - -- d = fdopendir(fd); -- if (!d) { -- safe_close(fd); -- return -errno; -- } -+ if (dot_or_dot_dot(de->d_name)) -+ continue; - -- if (!(flags & REMOVE_PHYSICAL)) { -- struct statfs sfs; -+ is_dir = de->d_type == DT_UNKNOWN ? -1 : de->d_type == DT_DIR; - -- if (fstatfs(dirfd(d), &sfs) < 0) -- return -errno; -+ r = rm_rf_inner_child(fd, de->d_name, is_dir, flags, root_dev, false); -+ if (r == -EISDIR) { -+ /* Push the current working state onto the todo list */ - -- if (is_physical_fs(&sfs)) { -- /* We refuse to clean physical file systems with this call, unless explicitly -- * requested. This is extra paranoia just to be sure we never ever remove non-state -- * data. */ -+ if (!GREEDY_REALLOC0(todos, n_todo + 2)) -+ return log_oom(); - -- _cleanup_free_ char *path = NULL; -+ _cleanup_free_ char *newdirname = strdup(de->d_name); -+ if (!newdirname) -+ return log_oom(); - -- (void) fd_get_path(fd, &path); -- return log_error_errno(SYNTHETIC_ERRNO(EPERM), -- "Attempted to remove disk file system under \"%s\", and we can't allow that.", -- strna(path)); -- } -- } -+ int newfd = openat(fd, de->d_name, -+ O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); -+ if (newfd >= 0) { -+ todos[n_todo++] = (TodoEntry) { TAKE_PTR(d), TAKE_PTR(dirname) }; -+ fd = newfd; -+ dirname = TAKE_PTR(newdirname); - -- FOREACH_DIRENT_ALL(de, d, return -errno) { -- int is_dir; -+ goto next_fd; - -- if (dot_or_dot_dot(de->d_name)) -- continue; -+ } else if (errno != -ENOENT && ret == 0) -+ ret = -errno; - -- is_dir = -- de->d_type == DT_UNKNOWN ? -1 : -- de->d_type == DT_DIR; -+ } else if (r < 0 && r != -ENOENT && ret == 0) -+ ret = r; -+ } - -- r = rm_rf_children_inner(dirfd(d), de->d_name, is_dir, flags, root_dev); -- if (r < 0 && r != -ENOENT && ret == 0) -- ret = r; -- } -+ if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(fd) < 0 && ret >= 0) -+ ret = -errno; - -- if (FLAGS_SET(flags, REMOVE_SYNCFS) && syncfs(dirfd(d)) < 0 && ret >= 0) -- ret = -errno; -+ if (n_todo == 0) -+ break; -+ } - - return ret; - } -@@ -336,5 +401,5 @@ int rm_rf_child(int fd, const char *name, RemoveFlags flags) { - if (FLAGS_SET(flags, REMOVE_ONLY_DIRECTORIES|REMOVE_SUBVOLUME)) - return -EINVAL; - -- return rm_rf_children_inner(fd, name, -1, flags, NULL); -+ return rm_rf_inner_child(fd, name, -1, flags, NULL, true); - } --- -2.31.1 - diff --git a/systemd-sysv-install b/systemd-sysv-install index 403fc632..cffe4c8f 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -2,15 +2,15 @@ # This script is called by "systemctl enable/disable" when the given unit is a # SysV init.d script. It needs to call the distribution's mechanism for -# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This -# can optionally take a --root argument for enabling a SysV init script -# in a chroot or similar. +# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This can +# optionally take a --root argument for enabling a SysV init script in a chroot +# or similar. # -# chkconfig(8) and insserv(8) are no more available hence let's do the -# bare minimum and create/remote the symlinks for the well known -# runlevels and nothing more. Note that we don't take care of -# enabling/disabling the service dependencies as the sysv-generator -# will take care of them for us (openSUSE specific). +# chkconfig(8) and insserv(8) are no more available hence let's do the bare +# minimum and create/remove the symlinks for the well known runlevels and +# nothing more. Note that we don't take care of enabling/disabling the service +# dependencies as the sysv-generator will take care of them for us (openSUSE +# specific). # set -e diff --git a/systemd-v249.7+suse.66.ga54f80116c.tar.xz b/systemd-v249.7+suse.66.ga54f80116c.tar.xz deleted file mode 100644 index e1babceb..00000000 --- a/systemd-v249.7+suse.66.ga54f80116c.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91b2f8c8492b03612c3148615a39d7553632798941456e7702306837f0118dd8 -size 7276848 diff --git a/systemd-v249.9+suse.75.g3743acbce3.tar.xz b/systemd-v249.9+suse.75.g3743acbce3.tar.xz new file mode 100644 index 00000000..0adfea70 --- /dev/null +++ b/systemd-v249.9+suse.75.g3743acbce3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64320468ebe2502773e1365b50c369de2520ec4b614c623a4ca1339e26968ec2 +size 7278924 diff --git a/systemd.changes b/systemd.changes index b3e7e524..65d3231c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Wed Jan 19 14:25:46 UTC 2022 - Franck Bui + +- Move the systemd-network-generator stuff in udev package + + This generator can generate .link files and is mainly used in initrd where + udev is mandatory. + +------------------------------------------------------------------- +Tue Jan 18 17:57:43 UTC 2022 - Franck Bui + +- Restore /sbin/udevadm and /bin/systemctl (obsolete) paths when split_usr is + true (bsc#1194519) + +------------------------------------------------------------------- +Mon Jan 17 09:16:13 UTC 2022 - Franck Bui + +- Import commit 3743acbce3bd44208af453fc6dc384a1236dc83c (merge of v249.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e2ca79dd775d1f7d39861d57f23c43f6cd85a872...3743acbce3bd44208af453fc6dc384a1236dc83c + +------------------------------------------------------------------- +Fri Jan 14 14:55:56 UTC 2022 - Franck Bui + +- Extract bits from 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + which are not specific to the handling of 'Required-Start:' and move them into a + new patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch + +------------------------------------------------------------------- +Thu Jan 13 21:54:06 UTC 2022 - Franck Bui + +- Import commit e2ca79dd775d1f7d39861d57f23c43f6cd85a872 (merge of v249.8) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/458220239c69b8e5fe7be480929348daeccb70d1...e2ca79dd775d1f7d39861d57f23c43f6cd85a872 + +------------------------------------------------------------------- +Thu Jan 13 20:03:51 UTC 2022 - Franck Bui + +- Import commit 458220239c69b8e5fe7be480929348daeccb70d1 + + e95df40b09 shared/rm-rf: loop over nested directories instead of instead of recursing (CVE-2021-3997 bsc#1194178) + 078e04305d shared/rm_rf: refactor rm_rf() to shorten code a bit + 6d560d0aca shared/rm_rf: refactor rm_rf_children_inner() to shorten code a bit + 6666ff056c localectl: don't omit keymaps files that are symlinks (bsc#1191826) + +- Drop the following patches as they have been merged into SUSE/v249 branch: + + 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch + 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch + 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch + ------------------------------------------------------------------- Tue Jan 11 08:06:11 UTC 2022 - Franck Bui @@ -49,7 +102,7 @@ Wed Nov 24 10:40:01 UTC 2021 - Ludwig Nussel ------------------------------------------------------------------- Mon Nov 22 08:48:12 UTC 2021 - Franck Bui -- Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of 249.7) +- Import commit 523f32df573d459551760b072cb62906f4a2cf23 (merge of v249.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c34c98712600bc206919ec6ed136195f75ac1967...523f32df573d459551760b072cb62906f4a2cf23 @@ -69,7 +122,7 @@ Mon Nov 22 08:43:25 UTC 2021 - Franck Bui ------------------------------------------------------------------- Mon Nov 15 09:35:08 UTC 2021 - Franck Bui -- Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of 249.6) +- Import commit 61c79e68381801428c0bc00a56b9e2e9cfa68373 (merge of v249.6) bcdeee7b4c virt: Support detection for ARM64 Hyper-V guests (bsc#1186071) [...] diff --git a/systemd.spec b/systemd.spec index 2219cded..1dbeb761 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.66.ga54f80116c +%define suse_version +suse.75.g3743acbce3 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -69,7 +69,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.7 +Version: 249.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -198,10 +198,11 @@ Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -Patch9: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch9: 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch13: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git @@ -210,12 +211,6 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch # temporary and should be removed as soon as a fix is merged by # upstream. -# The following patches address CVE-2021-3997. They will be moved to the git -# repo once the issue will become public and upstream will release them. -Patch5000: 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch -Patch5001: 5001-shared-rm_rf-refactor-rm_rf-to-shorten-code-a-bit.patch -Patch5002: 5002-shared-rm-rf-loop-over-nested-directories-instead-of.patch - %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -746,8 +741,11 @@ for s in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do done %if %{with split_usr} +mkdir -p %{buildroot}/{bin,sbin} +# Legacy paths +ln -s ../usr/bin/udevadm %{buildroot}/sbin/ +ln -s ../usr/bin/systemctl %{buildroot}/bin/ # Legacy sysvinit tools -mkdir -p %{buildroot}/sbin ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt @@ -787,8 +785,8 @@ mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ # /usr/lib/sysctl.d/99-sysctl.conf. ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf -# The definition of the basic users/groups are defined by system-user -# on SUSE (bsc#1006978). +# The definitions of the basic users/groups are given by system-user package on +# SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files @@ -1281,6 +1279,9 @@ fi %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat +%if %{with split_usr} +/bin/systemctl +%endif %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d %{_prefix}/lib/kernel/install.d/00-entry-directory.install @@ -1290,6 +1291,8 @@ fi %dir %{_prefix}/lib/systemd/network %dir %{_unitdir} %{_userunitdir} +%exclude %{_prefix}/lib/systemd/systemd-network-generator +%exclude %{_unitdir}/systemd-network-generator.service %if %{with coredump} %exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_unitdir}/systemd-coredump* @@ -1302,6 +1305,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload +%exclude %{_datadir}/systemd/gatewayd %endif %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* @@ -1330,10 +1334,8 @@ fi %exclude %{_unitdir}/dbus-org.freedesktop.import1.service %endif %if %{with networkd} -%exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online -%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1475,10 +1477,6 @@ fi %{_datadir}/systemd %{_datadir}/factory -%if %{with journal_remote} -%exclude %{_datadir}/systemd/gatewayd -%endif - %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service @@ -1503,12 +1501,13 @@ fi %{_mandir}/man7/[bdfks]* %{_mandir}/man8/kern* %{_mandir}/man8/pam_* -%{_mandir}/man8//rc-local.* +%{_mandir}/man8/rc-local.* %{_mandir}/man8/systemd-[a-gik-tvx]* %{_mandir}/man8/systemd-h[aioy]* %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%exclude %{_mandir}/man8/systemd-network-generator.* %if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* @@ -1623,6 +1622,9 @@ fi %defattr(-,root,root) %{_bindir}/udevadm %{_bindir}/systemd-hwdb +%if %{with split_usr} +/sbin/udevadm +%endif %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id @@ -1636,6 +1638,8 @@ fi %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/systemd-network-generator %dir %{_udevrulesdir}/ %doc %{_udevrulesdir}/README %exclude %{_udevrulesdir}/70-uaccess.rules @@ -1648,16 +1652,7 @@ fi %dir %{_sysconfdir}/udev/rules.d/ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! 0%{?bootstrap} -%{_mandir}/man5/udev* -%{_mandir}/man7/hwdb* -%{_mandir}/man7/udev* -%{_mandir}/man8/systemd-hwdb* -%{_mandir}/man8/systemd-udev* -%{_mandir}/man8/udev* -%endif %dir %{_unitdir} -%{_prefix}/lib/systemd/systemd-udevd %{_unitdir}/kmod-static-nodes.service %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service %{_tmpfilesdir}/static-nodes-permissions.conf @@ -1665,6 +1660,7 @@ fi %{_unitdir}/systemd-udevd*.socket %{_unitdir}/systemd-hwdb*.* %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/systemd-network-generator.service %dir %{_unitdir}/sysinit.target.wants %{_unitdir}/sysinit.target.wants/systemd-udev*.service %dir %{_unitdir}/sockets.target.wants @@ -1672,6 +1668,15 @@ fi %{_unitdir}/*.target.wants/systemd-hwdb*.* %{_prefix}/lib/systemd/network/99-default.link %{_datadir}/pkgconfig/udev.pc +%if ! 0%{?bootstrap} +%{_mandir}/man5/udev* +%{_mandir}/man7/hwdb* +%{_mandir}/man7/udev* +%{_mandir}/man8/systemd-hwdb* +%{_mandir}/man8/systemd-udev* +%{_mandir}/man8/udev* +%{_mandir}/man8/systemd-network-generator.* +%endif %files -n libsystemd0%{?mini} %defattr(-,root,root) @@ -1813,10 +1818,8 @@ fi %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_prefix}/lib/systemd/network/*.network %{_prefix}/lib/systemd/network/*.network.example -%{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online -%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service From 9213ceb53fbf8fa7253739c8f6f44b0299733077916a22d3a9e0f8222bf7fb1f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 21 Jan 2022 08:37:58 +0000 Subject: [PATCH 645/991] fix previous commit OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1230 --- systemd.spec | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/systemd.spec b/systemd.spec index 585db1a1..a2c4706f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -221,7 +221,6 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. -%if !0%{?bootstrap} %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later @@ -230,9 +229,6 @@ Supplements: (systemd and patterns-base-documentation) %description doc The HTML documentation for systemd. -# /bootstrap -%endif - %package devel Summary: Development headers for systemd License: LGPL-2.1-or-later @@ -1566,11 +1562,9 @@ fi %{_datadir}/zsh/site-functions/* %{_datadir}/pkgconfig/systemd.pc -%if ! 0%{?bootstrap} %files doc %defattr(-,root,root,-) -%{_docdir}/systemd -%endif +%{_docdir}/systemd/ %files devel %defattr(-,root,root,-) From eb8c3c4572cc145c88b1e402848047ae02139d9621917bbb7bea77790f06bf0e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Jan 2022 14:18:47 +0000 Subject: [PATCH 646/991] - systemd.spec: explicitely list all files for each main (sub) packages OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1231 --- files.container | 54 ++++ files.network | 56 ++++ files.systemd | 846 ++++++++++++++++++++++++++++++++++++++++++++++++ files.udev | 126 ++++++++ systemd.changes | 22 ++ systemd.spec | 571 +++++--------------------------- 6 files changed, 1181 insertions(+), 494 deletions(-) create mode 100644 files.container create mode 100644 files.network create mode 100644 files.systemd create mode 100644 files.udev diff --git a/files.container b/files.container new file mode 100644 index 00000000..3f2baa79 --- /dev/null +++ b/files.container @@ -0,0 +1,54 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_sysconfdir}/systemd/nspawn +%{_bindir}/systemd-nspawn +%if ! 0%{?bootstrap} +%{_datadir}/bash-completion/completions/systemd-nspawn +%{_datadir}/zsh/site-functions/_systemd-nspawn +%{_mandir}/man1/systemd-nspawn.1.gz +%{_mandir}/man5/systemd.nspawn.5.gz +%endif +%{_unitdir}/systemd-nspawn@.service + +%if %{with machined} +%dir %{_unitdir}/machines.target.wants +%{_bindir}/machinectl +%{_datadir}/bash-completion/completions/machinectl +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_datadir}/zsh/site-functions/_machinectl +%{_datadir}/zsh/site-functions/_sd_machines +%{_mandir}/man1/machinectl.1.gz +%{_mandir}/man5/org.freedesktop.machine1.5.gz +%{_mandir}/man8/systemd-machined.8.gz +%{_mandir}/man8/systemd-machined.service.8.gz +%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh +%{_systemd_util_dir}/system/machines.target +%{_systemd_util_dir}/systemd-machined +%{_tmpfilesdir}/systemd-nspawn.conf +%{_unitdir}/dbus-org.freedesktop.machine1.service +%{_unitdir}/machine.slice +%{_unitdir}/machines.target.wants/var-lib-machines.mount +%{_unitdir}/remote-fs.target.wants/var-lib-machines.mount +%{_unitdir}/systemd-machined.service +%{_unitdir}/var-lib-machines.mount +%endif + +%if %{with importd} +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%{_mandir}/man5/org.freedesktop.import1.5.gz +%{_mandir}/man8/systemd-importd.8.gz +%{_mandir}/man8/systemd-importd.service.8.gz +%{_systemd_util_dir}/import-pubring.gpg +%{_systemd_util_dir}/systemd-export +%{_systemd_util_dir}/systemd-import +%{_systemd_util_dir}/systemd-import-fs +%{_systemd_util_dir}/systemd-importd +%{_systemd_util_dir}/systemd-pull +%{_unitdir}/dbus-org.freedesktop.import1.service +%{_unitdir}/systemd-importd.service +%endif diff --git a/files.network b/files.network new file mode 100644 index 00000000..fa5a0bde --- /dev/null +++ b/files.network @@ -0,0 +1,56 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%dir %{_sysconfdir}/systemd/network +%dir %{_systemd_util_dir}/network +%{_bindir}/networkctl +%{_datadir}/bash-completion/completions/networkctl +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%{_datadir}/zsh/site-functions/_networkctl +%{_mandir}/man1/networkctl.1.gz +%{_mandir}/man5/networkd.conf.5.gz +%{_mandir}/man5/networkd.conf.d.5.gz +%{_mandir}/man5/systemd.network.5.gz +%{_mandir}/man8/systemd-networkd-wait-online.8.gz +%{_mandir}/man8/systemd-networkd-wait-online.service.8.gz +%{_mandir}/man8/systemd-networkd.8.gz +%{_mandir}/man8/systemd-networkd.service.8.gz +%{_systemd_util_dir}/network/80-container-host0.network +%{_systemd_util_dir}/network/80-container-ve.network +%{_systemd_util_dir}/network/80-container-vz.network +%{_systemd_util_dir}/network/80-vm-vt.network +%{_systemd_util_dir}/network/80-wifi-adhoc.network +%{_systemd_util_dir}/network/80-wifi-ap.network.example +%{_systemd_util_dir}/network/80-wifi-station.network.example +%{_systemd_util_dir}/systemd-networkd +%{_systemd_util_dir}/systemd-networkd-wait-online +%{_unitdir}/systemd-networkd-wait-online.service +%{_unitdir}/systemd-networkd.service +%{_unitdir}/systemd-networkd.socket +%endif + +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%{_bindir}/resolvectl +%{_bindir}/systemd-resolve +%{_datadir}/bash-completion/completions/resolvectl +%{_datadir}/bash-completion/completions/systemd-resolve +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%{_datadir}/zsh/site-functions/_resolvectl +%{_mandir}/man1/resolvectl.1.gz +%{_mandir}/man5/org.freedesktop.resolve1.5.gz +%{_mandir}/man5/resolved.conf.5.gz +%{_mandir}/man5/resolved.conf.d.5.gz +%{_mandir}/man8/systemd-resolved.8.gz +%{_mandir}/man8/systemd-resolved.service.8.gz +%{_systemd_util_dir}/resolv.conf +%{_systemd_util_dir}/systemd-resolved +%{_unitdir}/systemd-resolved.service +%endif diff --git a/files.systemd b/files.systemd new file mode 100644 index 00000000..392d5f79 --- /dev/null +++ b/files.systemd @@ -0,0 +1,846 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf +%config(noreplace) %{_sysconfdir}/systemd/user.conf +%dir %{_binfmtdir} +%if ! 0%{?bootstrap} +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%endif +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/factory +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions +%dir %{_datadir}/systemd +%if ! 0%{?bootstrap} +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%endif +%dir %{_distconfdir}/X11/xinit +%dir %{_distconfdir}/X11/xinit/xinitrc.d +%dir %{_environmentdir} +%dir %{_journalcatalogdir} +%dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/catalog +%if %{with sysvcompat} +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/sysv-convert +%endif +%dir %{_modprobedir} +%dir %{_modulesloaddir} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%dir %{_sysconfdir}/X11/xorg.conf.d +%dir %{_sysconfdir}/binfmt.d +%dir %{_sysconfdir}/modules-load.d +%dir %{_sysconfdir}/sysctl.d +%dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/system +%dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/tmpfiles.d +%dir %{_sysconfdir}/xdg/systemd +%dir %{_sysctldir} +%dir %{_systemd_system_env_generator_dir} +%dir %{_systemd_user_env_generator_dir} +%dir %{_systemd_util_dir} +%if %{with sd_boot} +%dir %{_systemd_util_dir}/boot +%dir %{_systemd_util_dir}/boot/efi +%endif +%dir %{_systemd_util_dir}/ntp-units.d +%dir %{_systemd_util_dir}/scripts +%dir %{_systemd_util_dir}/system +%dir %{_systemd_util_dir}/system-preset +%dir %{_systemd_util_dir}/system-shutdown +%dir %{_systemd_util_dir}/system-sleep +%dir %{_systemd_util_dir}/system/basic.target.wants +%dir %{_systemd_util_dir}/system/dbus.target.wants +%dir %{_systemd_util_dir}/system/default.target.wants +%dir %{_systemd_util_dir}/system/graphical.target.wants +%dir %{_systemd_util_dir}/system/halt.target.wants +%dir %{_systemd_util_dir}/system/initrd-root-device.target.wants +%dir %{_systemd_util_dir}/system/initrd-root-fs.target.wants +%dir %{_systemd_util_dir}/system/kexec.target.wants +%dir %{_systemd_util_dir}/system/local-fs.target.wants +%dir %{_systemd_util_dir}/system/multi-user.target.wants +%dir %{_systemd_util_dir}/system/poweroff.target.wants +%dir %{_systemd_util_dir}/system/reboot.target.wants +%dir %{_systemd_util_dir}/system/remote-fs.target.wants +%dir %{_systemd_util_dir}/system/rescue.target.wants +%if %{with sysvcompat} +%dir %{_systemd_util_dir}/system/runlevel1.target.wants +%dir %{_systemd_util_dir}/system/runlevel2.target.wants +%dir %{_systemd_util_dir}/system/runlevel3.target.wants +%dir %{_systemd_util_dir}/system/runlevel4.target.wants +%dir %{_systemd_util_dir}/system/runlevel5.target.wants +%endif +%dir %{_systemd_util_dir}/system/shutdown.target.wants +%dir %{_systemd_util_dir}/system/sockets.target.wants +%dir %{_systemd_util_dir}/system/sysinit.target.wants +%dir %{_systemd_util_dir}/system/timers.target.wants +%dir %{_systemd_util_dir}/user +%dir %{_systemd_util_dir}/user-generators +%dir %{_systemd_util_dir}/user-preset +%dir %{_systemdgeneratordir} +%dir %{_systemdusergeneratordir} +%dir %{_sysusersdir} +%dir %{_tmpfilesdir} +%doc %{_modprobedir}/README +%doc %{_sysctldir}/README +%doc %{_sysusersdir}/README +%doc %{_tmpfilesdir}/README +%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed +%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +%ghost %config(noreplace) %{_sysconfdir}/locale.conf +%ghost %config(noreplace) %{_sysconfdir}/machine-info +%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/catalog/database +%ghost %{_localstatedir}/lib/systemd/i18n-migrated +%license LICENSE.GPL2 +%license LICENSE.LGPL2.1 +%if %{with sd_boot} +%{_bindir}/bootctl +%endif +%{_bindir}/busctl +%{_bindir}/hostnamectl +%{_bindir}/journalctl +%{_bindir}/kernel-install +%{_bindir}/localectl +%{_bindir}/loginctl +%{_bindir}/systemctl +%{_bindir}/systemd-analyze +%{_bindir}/systemd-ask-password +%{_bindir}/systemd-cat +%{_bindir}/systemd-cgls +%{_bindir}/systemd-cgtop +%if ! 0%{?bootstrap} +%{_bindir}/systemd-cryptenroll +%endif +%{_bindir}/systemd-delta +%{_bindir}/systemd-detect-virt +%{_bindir}/systemd-dissect +%{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot +%{_bindir}/systemd-id128 +%{_bindir}/systemd-inhibit +%{_bindir}/systemd-machine-id-setup +%{_bindir}/systemd-mount +%{_bindir}/systemd-notify +%{_bindir}/systemd-path +%{_bindir}/systemd-run +%{_bindir}/systemd-socket-activate +%{_bindir}/systemd-stdio-bridge +%{_bindir}/systemd-sysext +%{_bindir}/systemd-sysusers +%{_bindir}/systemd-tmpfiles +%{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-umount +%{_bindir}/timedatectl +%if ! 0%{?bootstrap} +%if %{with sd_boot} +%{_datadir}/bash-completion/completions/bootctl +%endif +%{_datadir}/bash-completion/completions/busctl +%{_datadir}/bash-completion/completions/coredumpctl +%{_datadir}/bash-completion/completions/hostnamectl +%{_datadir}/bash-completion/completions/journalctl +%{_datadir}/bash-completion/completions/kernel-install +%{_datadir}/bash-completion/completions/localectl +%{_datadir}/bash-completion/completions/loginctl +%{_datadir}/bash-completion/completions/portablectl +%{_datadir}/bash-completion/completions/systemctl +%{_datadir}/bash-completion/completions/systemd-analyze +%{_datadir}/bash-completion/completions/systemd-cat +%{_datadir}/bash-completion/completions/systemd-cgls +%{_datadir}/bash-completion/completions/systemd-cgtop +%{_datadir}/bash-completion/completions/systemd-delta +%{_datadir}/bash-completion/completions/systemd-detect-virt +%{_datadir}/bash-completion/completions/systemd-id128 +%{_datadir}/bash-completion/completions/systemd-path +%{_datadir}/bash-completion/completions/systemd-run +%{_datadir}/bash-completion/completions/timedatectl +%endif +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf +%{_datadir}/pkgconfig/systemd.pc +%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/systemd/kbd-model-map +%{_datadir}/systemd/language-fallback-map +%if ! 0%{?bootstrap} +%if %{with sd_boot} +%{_datadir}/zsh/site-functions/_bootctl +%endif +%{_datadir}/zsh/site-functions/_busctl +%{_datadir}/zsh/site-functions/_coredumpctl +%{_datadir}/zsh/site-functions/_hostnamectl +%{_datadir}/zsh/site-functions/_journalctl +%{_datadir}/zsh/site-functions/_kernel-install +%{_datadir}/zsh/site-functions/_localectl +%{_datadir}/zsh/site-functions/_loginctl +%{_datadir}/zsh/site-functions/_sd_hosts_or_user_at_host +%{_datadir}/zsh/site-functions/_sd_outputmodes +%{_datadir}/zsh/site-functions/_sd_unit_files +%{_datadir}/zsh/site-functions/_systemctl +%{_datadir}/zsh/site-functions/_systemd +%{_datadir}/zsh/site-functions/_systemd-analyze +%{_datadir}/zsh/site-functions/_systemd-delta +%{_datadir}/zsh/site-functions/_systemd-inhibit +%{_datadir}/zsh/site-functions/_systemd-path +%{_datadir}/zsh/site-functions/_systemd-run +%{_datadir}/zsh/site-functions/_systemd-tmpfiles +%{_datadir}/zsh/site-functions/_timedatectl +%endif +%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh +%{_environmentdir}/99-environment.conf +%{_journalcatalogdir}/systemd.be.catalog +%{_journalcatalogdir}/systemd.be@latin.catalog +%{_journalcatalogdir}/systemd.bg.catalog +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.de.catalog +%{_journalcatalogdir}/systemd.fr.catalog +%{_journalcatalogdir}/systemd.it.catalog +%{_journalcatalogdir}/systemd.pl.catalog +%{_journalcatalogdir}/systemd.pt_BR.catalog +%{_journalcatalogdir}/systemd.ru.catalog +%{_journalcatalogdir}/systemd.zh_CN.catalog +%{_journalcatalogdir}/systemd.zh_TW.catalog +%if ! 0%{bootstrap} +%if %{with sd_boot} +%{_mandir}/man1/bootctl.1.gz +%endif +%{_mandir}/man1/busctl.1.gz +%{_mandir}/man1/hostnamectl.1.gz +%{_mandir}/man1/journalctl.1.gz +%{_mandir}/man1/localectl.1.gz +%{_mandir}/man1/loginctl.1.gz +%{_mandir}/man1/systemctl.1.gz +%{_mandir}/man1/systemd-analyze.1.gz +%{_mandir}/man1/systemd-ask-password.1.gz +%{_mandir}/man1/systemd-cat.1.gz +%{_mandir}/man1/systemd-cgls.1.gz +%{_mandir}/man1/systemd-cgtop.1.gz +%{_mandir}/man1/systemd-cryptenroll.1.gz +%{_mandir}/man1/systemd-delta.1.gz +%{_mandir}/man1/systemd-detect-virt.1.gz +%{_mandir}/man1/systemd-dissect.1.gz +%{_mandir}/man1/systemd-escape.1.gz +%{_mandir}/man1/systemd-firstboot.1.gz +%{_mandir}/man1/systemd-firstboot.service.1.gz +%{_mandir}/man1/systemd-id128.1.gz +%{_mandir}/man1/systemd-inhibit.1.gz +%{_mandir}/man1/systemd-machine-id-setup.1.gz +%{_mandir}/man1/systemd-mount.1.gz +%{_mandir}/man1/systemd-notify.1.gz +%{_mandir}/man1/systemd-path.1.gz +%{_mandir}/man1/systemd-run.1.gz +%{_mandir}/man1/systemd-socket-activate.1.gz +%{_mandir}/man1/systemd-tty-ask-password-agent.1.gz +%{_mandir}/man1/systemd-umount.1.gz +%{_mandir}/man1/systemd.1.gz +%{_mandir}/man1/timedatectl.1.gz +%{_mandir}/man5/binfmt.d.5.gz +%{_mandir}/man5/crypttab.5.gz +%{_mandir}/man5/dnssec-trust-anchors.d.5.gz +%{_mandir}/man5/environment.d.5.gz +%{_mandir}/man5/hostname.5.gz +%{_mandir}/man5/initrd-release.5.gz +%{_mandir}/man5/journald.conf.5.gz +%{_mandir}/man5/journald.conf.d.5.gz +%{_mandir}/man5/journald@.conf.5.gz +%if %{with sd_boot} +%{_mandir}/man5/loader.conf.5.gz +%endif +%{_mandir}/man5/locale.conf.5.gz +%{_mandir}/man5/localtime.5.gz +%{_mandir}/man5/logind.conf.5.gz +%{_mandir}/man5/logind.conf.d.5.gz +%{_mandir}/man5/machine-id.5.gz +%{_mandir}/man5/machine-info.5.gz +%{_mandir}/man5/modules-load.d.5.gz +%{_mandir}/man5/org.freedesktop.LogControl1.5.gz +%{_mandir}/man5/org.freedesktop.hostname1.5.gz +%{_mandir}/man5/org.freedesktop.locale1.5.gz +%{_mandir}/man5/org.freedesktop.login1.5.gz +%{_mandir}/man5/org.freedesktop.portable1.5.gz +%{_mandir}/man5/org.freedesktop.systemd1.5.gz +%{_mandir}/man5/org.freedesktop.timedate1.5.gz +%{_mandir}/man5/os-release.5.gz +%{_mandir}/man5/sleep.conf.d.5.gz +%{_mandir}/man5/sysctl.d.5.gz +%{_mandir}/man5/system.conf.d.5.gz +%{_mandir}/man5/systemd-sleep.conf.5.gz +%{_mandir}/man5/systemd-system.conf.5.gz +%{_mandir}/man5/systemd-user-runtime-dir.5.gz +%{_mandir}/man5/systemd-user.conf.5.gz +%{_mandir}/man5/systemd.automount.5.gz +%{_mandir}/man5/systemd.device.5.gz +%{_mandir}/man5/systemd.dnssd.5.gz +%{_mandir}/man5/systemd.exec.5.gz +%{_mandir}/man5/systemd.kill.5.gz +%{_mandir}/man5/systemd.link.5.gz +%{_mandir}/man5/systemd.mount.5.gz +%{_mandir}/man5/systemd.negative.5.gz +%{_mandir}/man5/systemd.netdev.5.gz +%{_mandir}/man5/systemd.path.5.gz +%{_mandir}/man5/systemd.positive.5.gz +%{_mandir}/man5/systemd.preset.5.gz +%{_mandir}/man5/systemd.resource-control.5.gz +%{_mandir}/man5/systemd.scope.5.gz +%{_mandir}/man5/systemd.service.5.gz +%{_mandir}/man5/systemd.slice.5.gz +%{_mandir}/man5/systemd.socket.5.gz +%{_mandir}/man5/systemd.swap.5.gz +%{_mandir}/man5/systemd.target.5.gz +%{_mandir}/man5/systemd.timer.5.gz +%{_mandir}/man5/systemd.unit.5.gz +%{_mandir}/man5/sysusers.d.5.gz +%{_mandir}/man5/timesyncd.conf.5.gz +%{_mandir}/man5/timesyncd.conf.d.5.gz +%{_mandir}/man5/tmpfiles.d.5.gz +%{_mandir}/man5/user-runtime-dir@.service.5.gz +%{_mandir}/man5/user.conf.d.5.gz +%{_mandir}/man5/user@.service.5.gz +%{_mandir}/man5/vconsole.conf.5.gz +%{_mandir}/man5/veritytab.5.gz +%{_mandir}/man7/bootup.7.gz +%{_mandir}/man7/daemon.7.gz +%{_mandir}/man7/file-hierarchy.7.gz +%{_mandir}/man7/kernel-command-line.7.gz +%if %{with sd_boot} +%{_mandir}/man7/sd-boot.7.gz +%{_mandir}/man7/systemd-boot.7.gz +%endif +%{_mandir}/man7/systemd.directives.7.gz +%{_mandir}/man7/systemd.environment-generator.7.gz +%{_mandir}/man7/systemd.generator.7.gz +%{_mandir}/man7/systemd.index.7.gz +%{_mandir}/man7/systemd.journal-fields.7.gz +%{_mandir}/man7/systemd.net-naming-scheme.7.gz +%{_mandir}/man7/systemd.offline-updates.7.gz +%{_mandir}/man7/systemd.special.7.gz +%{_mandir}/man7/systemd.syntax.7.gz +%{_mandir}/man7/systemd.time.7.gz +%{_mandir}/man8/30-systemd-environment-d-generator.8.gz +%{_mandir}/man8/kernel-install.8.gz +%{_mandir}/man8/pam_systemd.8.gz +%{_mandir}/man8/rc-local.service.8.gz +%{_mandir}/man8/systemd-ask-password-console.path.8.gz +%{_mandir}/man8/systemd-ask-password-console.service.8.gz +%{_mandir}/man8/systemd-ask-password-wall.path.8.gz +%{_mandir}/man8/systemd-ask-password-wall.service.8.gz +%{_mandir}/man8/systemd-backlight.8.gz +%{_mandir}/man8/systemd-backlight@.service.8.gz +%{_mandir}/man8/systemd-binfmt.8.gz +%{_mandir}/man8/systemd-binfmt.service.8.gz +%if %{with sd_boot} +%{_mandir}/man8/systemd-bless-boot-generator.8.gz +%{_mandir}/man8/systemd-bless-boot.8.gz +%{_mandir}/man8/systemd-bless-boot.service.8.gz +%endif +%{_mandir}/man8/systemd-boot-check-no-failures.8.gz +%{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz +%if %{with sd_boot} +%{_mandir}/man8/systemd-boot-system-token.service.8.gz +%endif +%{_mandir}/man8/systemd-cryptsetup-generator.8.gz +%{_mandir}/man8/systemd-cryptsetup.8.gz +%{_mandir}/man8/systemd-cryptsetup@.service.8.gz +%{_mandir}/man8/systemd-debug-generator.8.gz +%{_mandir}/man8/systemd-environment-d-generator.8.gz +%{_mandir}/man8/systemd-fsck-root.service.8.gz +%{_mandir}/man8/systemd-fsck.8.gz +%{_mandir}/man8/systemd-fsck@.service.8.gz +%{_mandir}/man8/systemd-fstab-generator.8.gz +%{_mandir}/man8/systemd-getty-generator.8.gz +%{_mandir}/man8/systemd-gpt-auto-generator.8.gz +%{_mandir}/man8/systemd-growfs.8.gz +%{_mandir}/man8/systemd-growfs@.service.8.gz +%{_mandir}/man8/systemd-halt.service.8.gz +%{_mandir}/man8/systemd-hibernate-resume-generator.8.gz +%{_mandir}/man8/systemd-hibernate-resume.8.gz +%{_mandir}/man8/systemd-hibernate-resume@.service.8.gz +%{_mandir}/man8/systemd-hibernate.service.8.gz +%{_mandir}/man8/systemd-hostnamed.8.gz +%{_mandir}/man8/systemd-hostnamed.service.8.gz +%{_mandir}/man8/systemd-hybrid-sleep.service.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-journald-audit.socket.8.gz +%{_mandir}/man8/systemd-journald-dev-log.socket.8.gz +%{_mandir}/man8/systemd-journald-varlink@.socket.8.gz +%{_mandir}/man8/systemd-journald.8.gz +%{_mandir}/man8/systemd-journald.service.8.gz +%{_mandir}/man8/systemd-journald.socket.8.gz +%{_mandir}/man8/systemd-journald@.service.8.gz +%{_mandir}/man8/systemd-journald@.socket.8.gz +%{_mandir}/man8/systemd-kexec.service.8.gz +%{_mandir}/man8/systemd-localed.8.gz +%{_mandir}/man8/systemd-localed.service.8.gz +%{_mandir}/man8/systemd-logind.8.gz +%{_mandir}/man8/systemd-logind.service.8.gz +%{_mandir}/man8/systemd-machine-id-commit.service.8.gz +%{_mandir}/man8/systemd-makefs.8.gz +%{_mandir}/man8/systemd-makefs@.service.8.gz +%{_mandir}/man8/systemd-mkswap@.service.8.gz +%{_mandir}/man8/systemd-modules-load.8.gz +%{_mandir}/man8/systemd-modules-load.service.8.gz +%{_mandir}/man8/systemd-poweroff.service.8.gz +%{_mandir}/man8/systemd-quotacheck.8.gz +%{_mandir}/man8/systemd-quotacheck.service.8.gz +%{_mandir}/man8/systemd-random-seed.8.gz +%{_mandir}/man8/systemd-random-seed.service.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-reboot.service.8.gz +%{_mandir}/man8/systemd-remount-fs.8.gz +%{_mandir}/man8/systemd-remount-fs.service.8.gz +%{_mandir}/man8/systemd-rfkill.8.gz +%{_mandir}/man8/systemd-rfkill.service.8.gz +%{_mandir}/man8/systemd-rfkill.socket.8.gz +%{_mandir}/man8/systemd-run-generator.8.gz +%{_mandir}/man8/systemd-shutdown.8.gz +%{_mandir}/man8/systemd-sleep.8.gz +%{_mandir}/man8/systemd-socket-proxyd.8.gz +%{_mandir}/man8/systemd-suspend-then-hibernate.service.8.gz +%{_mandir}/man8/systemd-suspend.service.8.gz +%{_mandir}/man8/systemd-sysctl.8.gz +%{_mandir}/man8/systemd-sysctl.service.8.gz +%{_mandir}/man8/systemd-sysext.8.gz +%{_mandir}/man8/systemd-sysext.service.8.gz +%{_mandir}/man8/systemd-system-update-generator.8.gz +%{_mandir}/man8/systemd-sysusers.8.gz +%{_mandir}/man8/systemd-sysusers.service.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-time-wait-sync.8.gz +%{_mandir}/man8/systemd-time-wait-sync.service.8.gz +%{_mandir}/man8/systemd-timedated.8.gz +%{_mandir}/man8/systemd-timedated.service.8.gz +%{_mandir}/man8/systemd-timesyncd.8.gz +%{_mandir}/man8/systemd-timesyncd.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-clean.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-clean.timer.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup.service.8.gz +%{_mandir}/man8/systemd-tmpfiles.8.gz +%{_mandir}/man8/systemd-update-done.8.gz +%{_mandir}/man8/systemd-update-done.service.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/systemd-update-utmp.8.gz +%{_mandir}/man8/systemd-update-utmp.service.8.gz +%{_mandir}/man8/systemd-user-sessions.8.gz +%{_mandir}/man8/systemd-user-sessions.service.8.gz +%{_mandir}/man8/systemd-vconsole-setup.8.gz +%{_mandir}/man8/systemd-vconsole-setup.service.8.gz +%{_mandir}/man8/systemd-veritysetup-generator.8.gz +%{_mandir}/man8/systemd-veritysetup.8.gz +%{_mandir}/man8/systemd-veritysetup@.service.8.gz +%{_mandir}/man8/systemd-volatile-root.8.gz +%{_mandir}/man8/systemd-volatile-root.service.8.gz +%{_mandir}/man8/systemd-xdg-autostart-generator.8.gz +%endif +%{_modprobedir}/systemd.conf +%{_pam_moduledir}/pam_systemd.so +%{_pam_vendordir}/systemd-user +%{_prefix}/lib/kernel/install.d/00-entry-directory.install +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_sysconfdir}/xdg/systemd/user +%{_sysctldir}/99-sysctl.conf +%{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator +%if %{with sd_boot} +# These are part of the very few exceptions where glob pattern is allowd. +%{_systemd_util_dir}/boot/efi/linux*.efi.stub +%{_systemd_util_dir}/boot/efi/linux*.elf.stub +%{_systemd_util_dir}/boot/efi/systemd-boot*.efi +%endif +%{_systemd_util_dir}/libsystemd-shared-249.so +%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list +%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh +%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh +%{_systemd_util_dir}/system-preset/99-default.preset +%{_systemd_util_dir}/system/after-local.service +%{_systemd_util_dir}/system/autovt@.service +%{_systemd_util_dir}/system/basic.target +%{_systemd_util_dir}/system/blockdev@.target +%{_systemd_util_dir}/system/bluetooth.target +%{_systemd_util_dir}/system/boot-complete.target +%{_systemd_util_dir}/system/console-getty.service +%{_systemd_util_dir}/system/container-getty@.service +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/cryptsetup-pre.target +%{_systemd_util_dir}/system/cryptsetup.target +%endif +%{_systemd_util_dir}/system/ctrl-alt-del.target +%{_systemd_util_dir}/system/dbus-org.freedesktop.hostname1.service +%{_systemd_util_dir}/system/dbus-org.freedesktop.locale1.service +%{_systemd_util_dir}/system/dbus-org.freedesktop.login1.service +%{_systemd_util_dir}/system/dbus-org.freedesktop.timedate1.service +%{_systemd_util_dir}/system/debug-shell.service +%{_systemd_util_dir}/system/default.target +%{_systemd_util_dir}/system/dev-hugepages.mount +%{_systemd_util_dir}/system/dev-mqueue.mount +%{_systemd_util_dir}/system/emergency.service +%{_systemd_util_dir}/system/emergency.target +%{_systemd_util_dir}/system/exit.target +%{_systemd_util_dir}/system/final.target +%{_systemd_util_dir}/system/first-boot-complete.target +%{_systemd_util_dir}/system/getty-pre.target +%{_systemd_util_dir}/system/getty.target +%{_systemd_util_dir}/system/getty@.service +%{_systemd_util_dir}/system/graphical.target +%if %{with sysvcompat} +%{_systemd_util_dir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_systemd_util_dir}/system/halt.target +%{_systemd_util_dir}/system/hibernate.target +%{_systemd_util_dir}/system/hybrid-sleep.target +%{_systemd_util_dir}/system/initrd-cleanup.service +%{_systemd_util_dir}/system/initrd-fs.target +%{_systemd_util_dir}/system/initrd-parse-etc.service +%{_systemd_util_dir}/system/initrd-root-device.target +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/initrd-root-device.target.wants/remote-cryptsetup.target +%{_systemd_util_dir}/system/initrd-root-device.target.wants/remote-veritysetup.target +%endif +%{_systemd_util_dir}/system/initrd-root-fs.target +%{_systemd_util_dir}/system/initrd-switch-root.service +%{_systemd_util_dir}/system/initrd-switch-root.target +%{_systemd_util_dir}/system/initrd-usr-fs.target +%{_systemd_util_dir}/system/initrd.target +%{_systemd_util_dir}/system/kexec.target +%{_systemd_util_dir}/system/local-fs-pre.target +%{_systemd_util_dir}/system/local-fs.target +%{_systemd_util_dir}/system/local-fs.target.wants/tmp.mount +%if %{with sysvcompat} +%{_systemd_util_dir}/system/local-fs.target.wants/var-lock.mount +%{_systemd_util_dir}/system/local-fs.target.wants/var-run.mount +%endif +%{_systemd_util_dir}/system/modprobe@.service +%{_systemd_util_dir}/system/multi-user.target +%{_systemd_util_dir}/system/multi-user.target.wants/after-local.service +%{_systemd_util_dir}/system/multi-user.target.wants/getty.target +%{_systemd_util_dir}/system/multi-user.target.wants/systemd-logind.service +%if %{with sysvcompat} +%{_systemd_util_dir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_systemd_util_dir}/system/multi-user.target.wants/systemd-user-sessions.service +%{_systemd_util_dir}/system/network-online.target +%{_systemd_util_dir}/system/network-pre.target +%{_systemd_util_dir}/system/network.target +%{_systemd_util_dir}/system/nss-lookup.target +%{_systemd_util_dir}/system/nss-user-lookup.target +%{_systemd_util_dir}/system/paths.target +%{_systemd_util_dir}/system/poweroff.target +%{_systemd_util_dir}/system/printer.target +%{_systemd_util_dir}/system/proc-sys-fs-binfmt_misc.automount +%{_systemd_util_dir}/system/proc-sys-fs-binfmt_misc.mount +%{_systemd_util_dir}/system/quotaon.service +%if %{with sysvcompat} +%{_systemd_util_dir}/system/rc-local.service +%endif +%{_systemd_util_dir}/system/reboot.target +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/remote-cryptsetup.target +%endif +%{_systemd_util_dir}/system/remote-fs-pre.target +%{_systemd_util_dir}/system/remote-fs.target +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/remote-veritysetup.target +%endif +%{_systemd_util_dir}/system/rescue.service +%{_systemd_util_dir}/system/rescue.target +%if %{with sysvcompat} +%{_systemd_util_dir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_systemd_util_dir}/system/rpcbind.target +%if %{with sysvcompat} +%{_systemd_util_dir}/system/runlevel0.target +%{_systemd_util_dir}/system/runlevel1.target +%{_systemd_util_dir}/system/runlevel2.target +%{_systemd_util_dir}/system/runlevel3.target +%{_systemd_util_dir}/system/runlevel4.target +%{_systemd_util_dir}/system/runlevel5.target +%{_systemd_util_dir}/system/runlevel6.target +%endif +%{_systemd_util_dir}/system/serial-getty@.service +%{_systemd_util_dir}/system/shutdown.target +%{_systemd_util_dir}/system/sigpwr.target +%{_systemd_util_dir}/system/sleep.target +%{_systemd_util_dir}/system/slices.target +%{_systemd_util_dir}/system/smartcard.target +%{_systemd_util_dir}/system/sockets.target +%if %{with sysvcompat} +%{_systemd_util_dir}/system/sockets.target.wants/systemd-initctl.socket +%endif +%{_systemd_util_dir}/system/sockets.target.wants/systemd-journald-dev-log.socket +%{_systemd_util_dir}/system/sockets.target.wants/systemd-journald.socket +%{_systemd_util_dir}/system/sound.target +%{_systemd_util_dir}/system/suspend-then-hibernate.target +%{_systemd_util_dir}/system/suspend.target +%{_systemd_util_dir}/system/swap.target +%{_systemd_util_dir}/system/sys-fs-fuse-connections.mount +%{_systemd_util_dir}/system/sys-kernel-config.mount +%{_systemd_util_dir}/system/sys-kernel-debug.mount +%{_systemd_util_dir}/system/sys-kernel-tracing.mount +%{_systemd_util_dir}/system/sysinit.target +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/sysinit.target.wants/cryptsetup.target +%endif +%{_systemd_util_dir}/system/sysinit.target.wants/dev-hugepages.mount +%{_systemd_util_dir}/system/sysinit.target.wants/dev-mqueue.mount +%{_systemd_util_dir}/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount +%{_systemd_util_dir}/system/sysinit.target.wants/sys-fs-fuse-connections.mount +%{_systemd_util_dir}/system/sysinit.target.wants/sys-kernel-config.mount +%{_systemd_util_dir}/system/sysinit.target.wants/sys-kernel-debug.mount +%{_systemd_util_dir}/system/sysinit.target.wants/sys-kernel-tracing.mount +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-ask-password-console.path +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-binfmt.service +%if %{with sd_boot} +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-boot-system-token.service +%endif +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-firstboot.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-journal-catalog-update.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-journal-flush.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-journald.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-machine-id-commit.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-modules-load.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-random-seed.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-sysctl.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-sysusers.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-tmpfiles-setup.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-update-done.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-update-utmp.service +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/sysinit.target.wants/veritysetup.target +%endif +%{_systemd_util_dir}/system/syslog.socket +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/system-systemd\x2dcryptsetup.slice +%endif +%{_systemd_util_dir}/system/system-update-cleanup.service +%{_systemd_util_dir}/system/system-update-pre.target +%{_systemd_util_dir}/system/system-update.target +%{_systemd_util_dir}/system/systemd-ask-password-console.path +%{_systemd_util_dir}/system/systemd-ask-password-console.service +%{_systemd_util_dir}/system/systemd-ask-password-wall.path +%{_systemd_util_dir}/system/systemd-ask-password-wall.service +%{_systemd_util_dir}/system/systemd-backlight@.service +%{_systemd_util_dir}/system/systemd-binfmt.service +%if %{with sd_boot} +%{_systemd_util_dir}/system/systemd-bless-boot.service +%endif +%{_systemd_util_dir}/system/systemd-boot-check-no-failures.service +%if %{with sd_boot} +%{_systemd_util_dir}/system/systemd-boot-system-token.service +%endif +%{_systemd_util_dir}/system/systemd-exit.service +%{_systemd_util_dir}/system/systemd-firstboot.service +%{_systemd_util_dir}/system/systemd-fsck-root.service +%{_systemd_util_dir}/system/systemd-fsck@.service +%{_systemd_util_dir}/system/systemd-halt.service +%{_systemd_util_dir}/system/systemd-hibernate-resume@.service +%{_systemd_util_dir}/system/systemd-hibernate.service +%{_systemd_util_dir}/system/systemd-hostnamed.service +%{_systemd_util_dir}/system/systemd-hybrid-sleep.service +%if %{with sysvcompat} +%{_systemd_util_dir}/system/systemd-initctl.service +%{_systemd_util_dir}/system/systemd-initctl.socket +%endif +%{_systemd_util_dir}/system/systemd-journal-catalog-update.service +%{_systemd_util_dir}/system/systemd-journal-flush.service +%{_systemd_util_dir}/system/systemd-journald-dev-log.socket +%{_systemd_util_dir}/system/systemd-journald-varlink@.socket +%{_systemd_util_dir}/system/systemd-journald.service +%{_systemd_util_dir}/system/systemd-journald.socket +%{_systemd_util_dir}/system/systemd-journald@.service +%{_systemd_util_dir}/system/systemd-journald@.socket +%{_systemd_util_dir}/system/systemd-kexec.service +%{_systemd_util_dir}/system/systemd-localed.service +%{_systemd_util_dir}/system/systemd-logind.service +%{_systemd_util_dir}/system/systemd-machine-id-commit.service +%{_systemd_util_dir}/system/systemd-modules-load.service +%{_systemd_util_dir}/system/systemd-poweroff.service +%{_systemd_util_dir}/system/systemd-quotacheck.service +%{_systemd_util_dir}/system/systemd-random-seed.service +%{_systemd_util_dir}/system/systemd-reboot.service +%{_systemd_util_dir}/system/systemd-remount-fs.service +%{_systemd_util_dir}/system/systemd-rfkill.service +%{_systemd_util_dir}/system/systemd-rfkill.socket +%{_systemd_util_dir}/system/systemd-suspend-then-hibernate.service +%{_systemd_util_dir}/system/systemd-suspend.service +%{_systemd_util_dir}/system/systemd-sysctl.service +%{_systemd_util_dir}/system/systemd-sysext.service +%{_systemd_util_dir}/system/systemd-sysusers.service +%{_systemd_util_dir}/system/systemd-time-wait-sync.service +%{_systemd_util_dir}/system/systemd-timedated.service +%{_systemd_util_dir}/system/systemd-timesyncd.service +%{_systemd_util_dir}/system/systemd-tmpfiles-clean.service +%{_systemd_util_dir}/system/systemd-tmpfiles-clean.timer +%{_systemd_util_dir}/system/systemd-tmpfiles-setup-dev.service +%{_systemd_util_dir}/system/systemd-tmpfiles-setup.service +%{_systemd_util_dir}/system/systemd-update-done.service +%if %{with sysvcompat} +%{_systemd_util_dir}/system/systemd-update-utmp-runlevel.service +%endif +%{_systemd_util_dir}/system/systemd-update-utmp.service +%{_systemd_util_dir}/system/systemd-user-sessions.service +%{_systemd_util_dir}/system/systemd-vconsole-setup.service +%{_systemd_util_dir}/system/systemd-volatile-root.service +%{_systemd_util_dir}/system/time-set.target +%{_systemd_util_dir}/system/time-sync.target +%{_systemd_util_dir}/system/timers.target +%{_systemd_util_dir}/system/timers.target.wants/systemd-tmpfiles-clean.timer +%{_systemd_util_dir}/system/tmp.mount +%{_systemd_util_dir}/system/umount.target +%{_systemd_util_dir}/system/usb-gadget.target +%{_systemd_util_dir}/system/user-.slice.d +%{_systemd_util_dir}/system/user-.slice.d/10-defaults.conf +%{_systemd_util_dir}/system/user-runtime-dir@.service +%{_systemd_util_dir}/system/user.slice +%{_systemd_util_dir}/system/user@.service +%if %{with sysvcompat} +%{_systemd_util_dir}/system/var-lock.mount +%{_systemd_util_dir}/system/var-run.mount +%endif +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/system/veritysetup-pre.target +%{_systemd_util_dir}/system/veritysetup.target +%endif +%{_systemd_util_dir}/systemd +%{_systemd_util_dir}/systemd-ac-power +%{_systemd_util_dir}/systemd-backlight +%{_systemd_util_dir}/systemd-binfmt +%if %{with sd_boot} +%{_systemd_util_dir}/systemd-bless-boot +%endif +%{_systemd_util_dir}/systemd-boot-check-no-failures +%{_systemd_util_dir}/systemd-cgroups-agent +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/systemd-cryptsetup +%endif +%{_systemd_util_dir}/systemd-fsck +%{_systemd_util_dir}/systemd-growfs +%{_systemd_util_dir}/systemd-hibernate-resume +%{_systemd_util_dir}/systemd-hostnamed +%if %{with sysvcompat} +%{_systemd_util_dir}/systemd-initctl +%endif +%{_systemd_util_dir}/systemd-journald +%{_systemd_util_dir}/systemd-localed +%{_systemd_util_dir}/systemd-logind +%{_systemd_util_dir}/systemd-makefs +%{_systemd_util_dir}/systemd-modules-load +%{_systemd_util_dir}/systemd-quotacheck +%{_systemd_util_dir}/systemd-random-seed +%{_systemd_util_dir}/systemd-remount-fs +%{_systemd_util_dir}/systemd-reply-password +%{_systemd_util_dir}/systemd-rfkill +%{_systemd_util_dir}/systemd-shutdown +%{_systemd_util_dir}/systemd-sleep +%{_systemd_util_dir}/systemd-socket-proxyd +%{_systemd_util_dir}/systemd-sulogin-shell +%{_systemd_util_dir}/systemd-sysctl +%if %{with sysvcompat} +%{_systemd_util_dir}/systemd-sysv-convert +%{_systemd_util_dir}/systemd-sysv-install +%endif +%{_systemd_util_dir}/systemd-time-wait-sync +%{_systemd_util_dir}/systemd-timedated +%{_systemd_util_dir}/systemd-timesyncd +%{_systemd_util_dir}/systemd-update-done +%{_systemd_util_dir}/systemd-update-utmp +%{_systemd_util_dir}/systemd-user-runtime-dir +%{_systemd_util_dir}/systemd-user-sessions +%{_systemd_util_dir}/systemd-vconsole-setup +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/systemd-veritysetup +%endif +%{_systemd_util_dir}/systemd-volatile-root +%{_systemd_util_dir}/systemd-xdg-autostart-condition +%{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator +%{_systemd_util_dir}/user-preset/90-systemd.preset +%{_systemd_util_dir}/user-preset/99-default.preset +%{_systemd_util_dir}/user/app.slice +%{_systemd_util_dir}/user/background.slice +%{_systemd_util_dir}/user/basic.target +%{_systemd_util_dir}/user/bluetooth.target +%{_systemd_util_dir}/user/default.target +%{_systemd_util_dir}/user/exit.target +%{_systemd_util_dir}/user/graphical-session-pre.target +%{_systemd_util_dir}/user/graphical-session.target +%{_systemd_util_dir}/user/paths.target +%{_systemd_util_dir}/user/printer.target +%{_systemd_util_dir}/user/session.slice +%{_systemd_util_dir}/user/shutdown.target +%{_systemd_util_dir}/user/smartcard.target +%{_systemd_util_dir}/user/sockets.target +%{_systemd_util_dir}/user/sound.target +%{_systemd_util_dir}/user/systemd-exit.service +%{_systemd_util_dir}/user/systemd-tmpfiles-clean.service +%{_systemd_util_dir}/user/systemd-tmpfiles-clean.timer +%{_systemd_util_dir}/user/systemd-tmpfiles-setup.service +%{_systemd_util_dir}/user/timers.target +%{_systemd_util_dir}/user/xdg-desktop-autostart.target +%if %{with sd_boot} +%{_systemdgeneratordir}/systemd-bless-boot-generator +%endif +%if ! 0%{?bootstrap} +%{_systemdgeneratordir}/systemd-cryptsetup-generator +%endif +%{_systemdgeneratordir}/systemd-debug-generator +%{_systemdgeneratordir}/systemd-fstab-generator +%{_systemdgeneratordir}/systemd-getty-generator +%{_systemdgeneratordir}/systemd-gpt-auto-generator +%{_systemdgeneratordir}/systemd-hibernate-resume-generator +%if %{with sysvcompat} +%{_systemdgeneratordir}/systemd-rc-local-generator +%endif +%{_systemdgeneratordir}/systemd-run-generator +%{_systemdgeneratordir}/systemd-system-update-generator +%if %{with sysvcompat} +%{_systemdgeneratordir}/systemd-sysv-generator +%endif +%if ! 0%{?bootstrap} +%{_systemdgeneratordir}/systemd-veritysetup-generator +%endif +%{_sysusersdir}/systemd.conf +%{_tmpfilesdir}/journal-nocow.conf +%{_tmpfilesdir}/suse.conf +%{_tmpfilesdir}/systemd-nologin.conf +%{_tmpfilesdir}/systemd-tmp.conf +%{_tmpfilesdir}/systemd.conf +%{_tmpfilesdir}/x11.conf +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules +%if %{with split_usr} +/bin/systemctl +%endif diff --git a/files.udev b/files.udev new file mode 100644 index 00000000..4f75bcc9 --- /dev/null +++ b/files.udev @@ -0,0 +1,126 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/udev/udev.conf +%dir %{_prefix}/lib/udev +%dir %{_sysconfdir}/udev +%dir %{_sysconfdir}/udev/rules.d +%dir %{_systemd_util_dir}/network +%dir %{_udevhwdbdir} +%dir %{_udevrulesdir} +%doc %{_udevhwdbdir}/README +%doc %{_udevrulesdir}/README +%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin +%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%{_bindir}/systemd-hwdb +%{_bindir}/udevadm +%if ! 0%{?bootstrap} +%{_datadir}/bash-completion/completions/udevadm +%endif +%{_datadir}/pkgconfig/udev.pc +%if ! 0%{?bootstrap} +%{_datadir}/zsh/site-functions/_udevadm +%endif +%if ! 0%{?bootstrap} +%{_mandir}/man5/udev.conf.5.gz +%{_mandir}/man7/hwdb.7.gz +%{_mandir}/man7/udev.7.gz +%{_mandir}/man8/systemd-hwdb.8.gz +%{_mandir}/man8/systemd-network-generator.8.gz +%{_mandir}/man8/systemd-network-generator.service.8.gz +%{_mandir}/man8/systemd-udev-settle.service.8.gz +%{_mandir}/man8/systemd-udevd-control.socket.8.gz +%{_mandir}/man8/systemd-udevd-kernel.socket.8.gz +%{_mandir}/man8/systemd-udevd.8.gz +%{_mandir}/man8/systemd-udevd.service.8.gz +%{_mandir}/man8/udevadm.8.gz +%endif +%{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/cdrom_id +# dmi_memory_id is only relevant on arches with DMI +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +%{_prefix}/lib/udev/dmi_memory_id +%endif +%{_prefix}/lib/udev/fido_id +%{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat +%{_prefix}/lib/udev/scsi_id +%{_prefix}/lib/udev/v4l_id +%{_systemd_util_dir}/network/99-default.link +%{_systemd_util_dir}/systemd-network-generator +%{_systemd_util_dir}/systemd-udevd +%{_tmpfilesdir}/static-nodes-permissions.conf +%{_udevhwdbdir}/20-OUI.hwdb +%{_udevhwdbdir}/20-acpi-vendor.hwdb +%{_udevhwdbdir}/20-bluetooth-vendor-product.hwdb +%{_udevhwdbdir}/20-dmi-id.hwdb +%{_udevhwdbdir}/20-net-ifname.hwdb +%{_udevhwdbdir}/20-pci-classes.hwdb +%{_udevhwdbdir}/20-pci-vendor-model.hwdb +%{_udevhwdbdir}/20-sdio-classes.hwdb +%{_udevhwdbdir}/20-sdio-vendor-model.hwdb +%{_udevhwdbdir}/20-usb-classes.hwdb +%{_udevhwdbdir}/20-usb-vendor-model.hwdb +%{_udevhwdbdir}/20-vmbus-class.hwdb +%{_udevhwdbdir}/60-autosuspend-chromiumos.hwdb +%{_udevhwdbdir}/60-autosuspend-fingerprint-reader.hwdb +%{_udevhwdbdir}/60-autosuspend.hwdb +%{_udevhwdbdir}/60-evdev.hwdb +%{_udevhwdbdir}/60-input-id.hwdb +%{_udevhwdbdir}/60-keyboard.hwdb +%{_udevhwdbdir}/60-seat.hwdb +%{_udevhwdbdir}/60-sensor.hwdb +%{_udevhwdbdir}/70-joystick.hwdb +%{_udevhwdbdir}/70-mouse.hwdb +%{_udevhwdbdir}/70-pointingstick.hwdb +%{_udevhwdbdir}/70-touchpad.hwdb +%{_udevhwdbdir}/80-ieee1394-unit-function.hwdb +%{_udevrulesdir}/50-udev-default.rules +%{_udevrulesdir}/60-autosuspend.rules +%{_udevrulesdir}/60-block.rules +%{_udevrulesdir}/60-cdrom_id.rules +%{_udevrulesdir}/60-drm.rules +%{_udevrulesdir}/60-evdev.rules +%{_udevrulesdir}/60-fido-id.rules +%{_udevrulesdir}/60-input-id.rules +%{_udevrulesdir}/60-persistent-alsa.rules +%{_udevrulesdir}/60-persistent-input.rules +%{_udevrulesdir}/60-persistent-storage-tape.rules +%{_udevrulesdir}/60-persistent-storage.rules +%{_udevrulesdir}/60-persistent-v4l.rules +%{_udevrulesdir}/60-sensor.rules +%{_udevrulesdir}/60-serial.rules +%{_udevrulesdir}/61-persistent-storage-compat.rules +%{_udevrulesdir}/64-btrfs.rules +%{_udevrulesdir}/70-joystick.rules +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +%{_udevrulesdir}/70-memory.rules +%endif +%{_udevrulesdir}/70-mouse.rules +%{_udevrulesdir}/70-power-switch.rules +%{_udevrulesdir}/70-touchpad.rules +%{_udevrulesdir}/75-net-description.rules +%{_udevrulesdir}/75-probe_mtd.rules +%{_udevrulesdir}/78-sound-card.rules +%{_udevrulesdir}/80-drivers.rules +%{_udevrulesdir}/80-net-setup-link.rules +%{_udevrulesdir}/81-net-dhcp.rules +%{_udevrulesdir}/90-vconsole.rules +%{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/kmod-static-nodes.service +%{_unitdir}/sockets.target.wants/systemd-udevd-control.socket +%{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket +%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service +%{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service +%{_unitdir}/sysinit.target.wants/systemd-udevd.service +%{_unitdir}/systemd-hwdb-update.service +%{_unitdir}/systemd-network-generator.service +%{_unitdir}/systemd-udev-settle.service +%{_unitdir}/systemd-udev-trigger.service +%{_unitdir}/systemd-udevd-control.socket +%{_unitdir}/systemd-udevd-kernel.socket +%{_unitdir}/systemd-udevd.service +%if %{with split_usr} +/sbin/udevadm +%endif diff --git a/systemd.changes b/systemd.changes index 38b6dc6b..c6c4f4b7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Jan 24 15:51:07 UTC 2022 - Franck Bui + +- systemd.spec: explicitely list all files for each main (sub) packages + + Using glob patterns in %files section to reduce the number of listed files was + error-prone as some introduced files could silently be placed in the wrong + subpackage. The sections were also hard to read and many files needed to be + excluded from the main package making the point of glob pattern usage moot. + + systemd, udev, systemd-container and systemd-network packages have now their + list of files described in a dedicated file. The lists are kept sorted to make + them easy to parse. The size of the files, especially the one for the main + package, is still reasonable and much easier to read now. + + During this rework, a couple of cleanups happened: more use of + %{_systemd_util_dir}, some files was incorrectly owned by the main package and + have been moved to the correct sub-package, etc... + + Note: the rest of the subpackages might be addressed later but let's find how + it goes for now. + ------------------------------------------------------------------- Wed Jan 19 15:34:05 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a2c4706f..25b2542b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd +# spec file # # Copyright (c) 2022 SUSE LLC # @@ -159,12 +159,12 @@ Requires(post): pam-config >= 0.79-5 %endif %if 0%{?bootstrap} -Conflicts: systemd Conflicts: kiwi +Conflicts: systemd %endif -Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: sysvinit Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} @@ -187,6 +187,11 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh +Source200: files.systemd +Source201: files.udev +Source202: files.container +Source203: files.network + # Patches listed below are SUSE specific and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes # they are only relevant for SUSE distros. Special rewards for those @@ -293,13 +298,13 @@ Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils -Requires(postun): coreutils +Requires(postun):coreutils +Conflicts: ConsoleKit < 0.4.1 +Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Conflicts: dracut < 044.1 Conflicts: util-linux < 2.16 -Conflicts: ConsoleKit < 0.4.1 Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version}-%{release} @@ -320,8 +325,8 @@ call tools to initialize a device, or load needed kernel modules. Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later %if 0%{?bootstrap} -Conflicts: libudev1 Conflicts: kiwi +Conflicts: libudev1 # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs %endif @@ -336,8 +341,8 @@ License: LGPL-2.1-or-later Requires: libudev%{?mini}1 = %{version}-%{release} %if 0%{?bootstrap} Provides: libudev-devel = %{version}-%{version} -Conflicts: libudev1 = %{version} Conflicts: libudev-devel +Conflicts: libudev1 = %{version} %endif %description -n libudev%{?mini}-devel @@ -501,11 +506,14 @@ Recommends: dosfstools # host and install them in the image, see install_missing_libraries() # for details. %if %{with resolved} -Requires: libidn2 pkgconfig(libidn2) +Requires: libidn2 +Requires: pkgconfig(libidn2) %endif %if %{with experimental} -Requires: libpwquality1 pkgconfig(pwquality) -Requires: libqrencode4 pkgconfig(libqrencode) +Requires: libpwquality1 +Requires: libqrencode4 +Requires: pkgconfig(libqrencode) +Requires: pkgconfig(pwquality) %endif Requires: %{name} = %{version}-%{release} Requires: attr @@ -514,6 +522,10 @@ Requires: busybox-static Requires: cryptsetup Requires: dosfstools Requires: libcap-progs +Requires: libfido2 +Requires: libtss2-esys0 +Requires: libtss2-mu0 +Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: netcat @@ -522,10 +534,10 @@ Requires: quota Requires: socat Requires: squashfs Requires: systemd-container -Requires: libfido2 pkgconfig(libfido2) -Requires: libtss2-esys0 pkgconfig(tss2-esys) -Requires: libtss2-mu0 pkgconfig(tss2-mu) -Requires: libtss2-rc0 pkgconfig(tss2-rc) +Requires: pkgconfig(libfido2) +Requires: pkgconfig(tss2-esys) +Requires: pkgconfig(tss2-mu) +Requires: pkgconfig(tss2-rc) %if %{with coredump} Requires: systemd-coredump %endif @@ -653,6 +665,8 @@ Have fun with these services at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} + -Dbashcompletiondir=no \ + -Dzshcompletiondir=no \ -Dtranslations=false \ -Dnss-myhostname=false \ -Dnss-systemd=false \ @@ -722,8 +736,8 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{SOURCE3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert -install -m0755 -D %{SOURCE4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-convert +install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network @@ -731,10 +745,12 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't -# allow directory structure... -for s in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} -done +# allow directories in the workspace... +%if %{with machined} +install -m0755 -D %{SOURCE100} %{buildroot}%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh +%endif +install -m0755 -D %{SOURCE101} %{buildroot}%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh +install -m0755 -D %{SOURCE102} %{buildroot}%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %if %{with split_usr} mkdir -p %{buildroot}/{bin,sbin} @@ -809,10 +825,15 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ mkdir -p %{buildroot}%{_unitdir}/basic.target.wants mkdir -p %{buildroot}%{_unitdir}/default.target.wants mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/initrd-root-device.target.wants +mkdir -p %{buildroot}%{_unitdir}/initrd-root-fs.target.wants mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/remote-fs.target.wants +mkdir -p %{buildroot}%{_unitdir}/rescue.target.wants mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. @@ -1236,331 +1257,21 @@ fi %files %defattr(-,root,root) -%license LICENSE* -%if %{with sd_boot} -%{_bindir}/bootctl +%include %{SOURCE200} + +%files -n udev%{?mini} +%defattr(-,root,root) +%include %{SOURCE201} + +%files container +%defattr(-,root,root) +%include %{SOURCE202} + +%if %{with networkd} || %{with resolved} +%files network +%defattr(-,root,root) +%include %{SOURCE203} %endif -%{_bindir}/busctl -%{_bindir}/hostnamectl -%{_bindir}/kernel-install -%{_bindir}/localectl -%{_bindir}/systemctl -%{_bindir}/systemd-analyze -%if ! 0%{?bootstrap} -%{_bindir}/systemd-cryptenroll -%endif -%{_bindir}/systemd-delta -%{_bindir}/systemd-dissect -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-id128 -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers -%{_bindir}/systemd-mount -%{_bindir}/systemd-umount -%{_bindir}/systemd-notify -%{_bindir}/systemd-run -%{_bindir}/systemd-sysext -%{_bindir}/journalctl -%{_bindir}/systemd-ask-password -%{_bindir}/loginctl -%{_bindir}/systemd-inhibit -%{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles -%{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-socket-activate -%{_bindir}/systemd-stdio-bridge -%{_bindir}/systemd-detect-virt -%{_bindir}/timedatectl -%{_bindir}/systemd-cgls -%{_bindir}/systemd-cgtop -%{_bindir}/systemd-cat -%if %{with split_usr} -/bin/systemctl -%endif -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d -%{_prefix}/lib/kernel/install.d/00-entry-directory.install -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/network -%dir %{_unitdir} -%{_userunitdir} -%exclude %{_prefix}/lib/systemd/systemd-network-generator -%exclude %{_unitdir}/systemd-network-generator.service -%if %{with coredump} -%exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket -%endif -%if %{with journal_remote} -%exclude %{_unitdir}/systemd-journal-gatewayd.* -%exclude %{_unitdir}/systemd-journal-remote.* -%exclude %{_unitdir}/systemd-journal-upload.* -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_datadir}/systemd/gatewayd -%endif -%exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_unitdir}/systemd-udev*.* -%exclude %{_unitdir}/systemd-hwdb*.* -%exclude %{_unitdir}/*.target.wants/systemd-udev*.* -%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* -%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service -%exclude %{_unitdir}/kmod-static-nodes.service -%exclude %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service -%exclude %{_tmpfilesdir}/static-nodes-permissions.conf -%exclude %{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%exclude %{_prefix}/lib/systemd/systemd-machined -%exclude %{_unitdir}/systemd-machined.service -%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service -%exclude %{_unitdir}/var-lib-machines.mount -%exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target.wants -%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount -%endif -%if %{with importd} -%exclude %{_prefix}/lib/systemd/systemd-import* -%exclude %{_prefix}/lib/systemd/systemd-pull -%exclude %{_prefix}/lib/systemd/import-pubring.gpg -%exclude %{_unitdir}/systemd-importd.service -%exclude %{_unitdir}/dbus-org.freedesktop.import1.service -%endif -%if %{with networkd} -%exclude %{_prefix}/lib/systemd/systemd-networkd -%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online -%exclude %{_unitdir}/systemd-networkd.service -%exclude %{_unitdir}/systemd-networkd.socket -%exclude %{_unitdir}/systemd-networkd-wait-online.service -%exclude %{_prefix}/lib/systemd/systemd-resolved -%exclude %{_unitdir}/systemd-resolved.service -%endif -%if %{with portabled} -%exclude %{_prefix}/lib/systemd/systemd-portabled -%exclude %{_prefix}/lib/systemd/portable -%exclude %{_unitdir}/systemd-portabled.service -%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service -%exclude %{_tmpfilesdir}/portables.conf -%endif -%if %{with experimental} -%exclude %{_prefix}/lib/systemd/systemd-pstore -%exclude %{_unitdir}/systemd-pstore.service -%exclude %{_tmpfilesdir}/systemd-pstore.conf -%exclude %{_unitdir}/systemd-repart.service -%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service -%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service -%exclude %{_prefix}/lib/systemd/systemd-userwork -%exclude %{_prefix}/lib/systemd/systemd-userdbd -%exclude %{_unitdir}/systemd-userdbd.service -%exclude %{_unitdir}/systemd-userdbd.socket -%exclude %{_prefix}/lib/systemd/systemd-homed -%exclude %{_prefix}/lib/systemd/systemd-homework -%exclude %{_unitdir}/systemd-homed-activate.service -%exclude %{_unitdir}/systemd-homed.service -%endif - -%{_unitdir}/*.automount -%{_unitdir}/*.service -%{_unitdir}/*.slice -%{_unitdir}/*.target -%{_unitdir}/*.mount -%{_unitdir}/*.timer -%{_unitdir}/*.socket -%{_unitdir}/*.wants -%{_unitdir}/*.path - -%{_unitdir}/user-.slice.d/ - -%{_prefix}/lib/systemd/systemd-* -%{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-*.so -%{_prefix}/lib/systemd/scripts -%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%dir %{_journalcatalogdir} -%{_journalcatalogdir}/systemd.catalog -%{_journalcatalogdir}/systemd.*.catalog -%{_presetdir} -%{_userpresetdir} -%{_systemdgeneratordir} -%{_systemdusergeneratordir} -%{_systemd_system_env_generator_dir} -%{_systemd_user_env_generator_dir} -%dir %{_ntpunitsdir} -%{_ntpunitsdir}/80-systemd-timesync.list -%dir %{_prefix}/lib/systemd/system-shutdown/ -%dir %{_prefix}/lib/systemd/system-sleep/ - -%{_pam_moduledir}/pam_systemd.so - -%if %{with sd_boot} -%dir %{_prefix}/lib/systemd/boot -%dir %{_prefix}/lib/systemd/boot/efi -%{_prefix}/lib/systemd/boot/efi/*.efi -%{_prefix}/lib/systemd/boot/efi/*.stub -%endif - -%dir %{_sysconfdir}/modules-load.d -%{_modulesloaddir} - -%dir %{_sysusersdir} -%doc %{_sysusersdir}/README -%{_sysusersdir}/systemd.conf - -%dir %{_sysconfdir}/tmpfiles.d -%{_tmpfilesdir}/ -%exclude %{_tmpfilesdir}/systemd-nspawn.conf - -%{_environmentdir}/ - -%dir %{_binfmtdir} -%dir %{_sysconfdir}/binfmt.d - -%dir %{_sysctldir} -%dir %{_sysconfdir}/sysctl.d -%doc %{_sysctldir}/README -%{_sysctldir}/99-sysctl.conf - -%dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/systemd -%dir %{_sysconfdir}/systemd/network -%dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/xdg/systemd/user - -%dir %{_distconfdir}/X11/xinit -%dir %{_distconfdir}/X11/xinit/xinitrc.d -%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh - -%{_pam_vendordir}/systemd-user - -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/sleep.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf - -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/system-services - -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf - -# FIXME: why do we have to own this dir ? -%dir %{_modprobedir} -%doc %{_modprobedir}/README -%{_modprobedir}/systemd.conf - -# Some files created at runtime. -%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ -%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf -%ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id - -%{_datadir}/systemd -%{_datadir}/factory - -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service - -%dir %{_datadir}/polkit-1 -%dir %{_datadir}/polkit-1/actions -%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy - -%if ! 0%{?bootstrap} -%{_mandir}/man1/[a-rt-z]*ctl.1* -%{_mandir}/man1/systemc*.1* -%{_mandir}/man1/systemd*.1* -%{_mandir}/man5/[a-tv-z]* -%{_mandir}/man5/user* -%{_mandir}/man7/[bdfks]* -%{_mandir}/man8/kern* -%{_mandir}/man8/pam_* -%{_mandir}/man8/rc-local.* -%{_mandir}/man8/systemd-[a-gik-tvx]* -%{_mandir}/man8/systemd-h[aioy]* -%{_mandir}/man8/systemd-journald* -%{_mandir}/man8/systemd-u[ps]* -%{_mandir}/man8/30-systemd-environment-d-generator.* -%exclude %{_mandir}/man8/systemd-network-generator.* -%if %{with coredump} -%exclude %{_mandir}/man1/coredumpctl* -%exclude %{_mandir}/man5/coredump.conf* -%exclude %{_mandir}/man8/systemd-coredump* -%endif -%exclude %{_mandir}/man*/*nspawn* -%if %{with machined} -%exclude %{_mandir}/man*/machinectl* -%exclude %{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%exclude %{_mandir}/man*/systemd-importd* -%endif -%if %{with journal_remote} -%exclude %{_mandir}/man5/journal-remote.conf* -%exclude %{_mandir}/man5/journal-upload.conf* -%endif -%if %{with portabled} -%exclude %{_mandir}/man*/portablectl* -%exclude %{_mandir}/man*/systemd-portabled* -%endif -%if %{with experimental} -%exclude %{_mandir}/man*/*pstore* -%exclude %{_mandir}/man*/*repart* -%exclude %{_mandir}/man*/userdbctl* -%exclude %{_mandir}/man*/systemd-userdbd* -%exclude %{_mandir}/man*/*homectl* -%exclude %{_mandir}/man*/*homed* -%exclude %{_mandir}/man*/org.freedesktop.home1* -%exclude %{_mandir}/man*/pam_systemd_home* -%exclude %{_datadir}/bash-completion/completions/homectl -%endif -%endif - -%{_udevrulesdir}/70-uaccess.rules -%{_udevrulesdir}/71-seat.rules -%{_udevrulesdir}/73-seat-late.rules -%{_udevrulesdir}/99-systemd.rules -%dir %{_localstatedir}/lib/systemd -%dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_localstatedir}/lib/systemd/migrated -%endif -%ghost %{_localstatedir}/lib/systemd/catalog/database -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/i18n-migrated -%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed - -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - -%dir %{_datadir}/zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* -%{_datadir}/pkgconfig/systemd.pc %files doc %defattr(-,root,root,-) @@ -1579,102 +1290,44 @@ fi %files sysvinit %defattr(-,root,root,-) %if %{with split_usr} -/sbin/init -/sbin/reboot /sbin/halt -/sbin/shutdown +/sbin/init /sbin/poweroff +/sbin/reboot +/sbin/shutdown %if %{with sysvcompat} /sbin/telinit /sbin/runlevel %endif %endif -%{_sbindir}/init -%{_sbindir}/reboot %{_sbindir}/halt -%{_sbindir}/shutdown +%{_sbindir}/init %{_sbindir}/poweroff +%{_sbindir}/reboot +%{_sbindir}/shutdown %if %{with sysvcompat} -%{_sbindir}/telinit %{_sbindir}/runlevel +%{_sbindir}/telinit %endif %if ! 0%{?bootstrap} -%{_mandir}/man1/init.1* -%{_mandir}/man8/halt.8* -%{_mandir}/man8/reboot.8* -%{_mandir}/man8/shutdown.8* -%{_mandir}/man8/poweroff.8* -%{_mandir}/man8/telinit.8* -%{_mandir}/man8/runlevel.8* -%endif - -%files -n udev%{?mini} -%defattr(-,root,root) -%{_bindir}/udevadm -%{_bindir}/systemd-hwdb -%if %{with split_usr} -/sbin/udevadm -%endif -%dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/cdrom_id -# dmi_memory_id is only relevant on arches with DMI -%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips -%{_prefix}/lib/udev/dmi_memory_id -%endif -%{_prefix}/lib/udev/fido_id -%{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/path_id_compat -%{_prefix}/lib/udev/scsi_id -%{_prefix}/lib/udev/v4l_id -%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation -%{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/systemd-network-generator -%dir %{_udevrulesdir}/ -%doc %{_udevrulesdir}/README -%exclude %{_udevrulesdir}/70-uaccess.rules -%exclude %{_udevrulesdir}/71-seat.rules -%exclude %{_udevrulesdir}/73-seat-late.rules -%exclude %{_udevrulesdir}/99-systemd.rules -%{_udevrulesdir}/*.rules -%{_udevhwdbdir}/ -%dir %{_sysconfdir}/udev/ -%dir %{_sysconfdir}/udev/rules.d/ -%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin -%config(noreplace) %{_sysconfdir}/udev/udev.conf -%dir %{_unitdir} -%{_unitdir}/kmod-static-nodes.service -%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service -%{_tmpfilesdir}/static-nodes-permissions.conf -%{_unitdir}/systemd-udev*.service -%{_unitdir}/systemd-udevd*.socket -%{_unitdir}/systemd-hwdb*.* -%{_unitdir}/initrd-udevadm-cleanup-db.service -%{_unitdir}/systemd-network-generator.service -%dir %{_unitdir}/sysinit.target.wants -%{_unitdir}/sysinit.target.wants/systemd-udev*.service -%dir %{_unitdir}/sockets.target.wants -%{_unitdir}/sockets.target.wants/systemd-udev*.socket -%{_unitdir}/*.target.wants/systemd-hwdb*.* -%{_prefix}/lib/systemd/network/99-default.link -%{_datadir}/pkgconfig/udev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man5/udev* -%{_mandir}/man7/hwdb* -%{_mandir}/man7/udev* -%{_mandir}/man8/systemd-hwdb* -%{_mandir}/man8/systemd-udev* -%{_mandir}/man8/udev* -%{_mandir}/man8/systemd-network-generator.* +%{_mandir}/man1/init.1.gz +%{_mandir}/man8/halt.8.gz +%{_mandir}/man8/poweroff.8.gz +%{_mandir}/man8/reboot.8.gz +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/shutdown.8.gz +%{_mandir}/man8/telinit.8.gz %endif %files -n libsystemd0%{?mini} %defattr(-,root,root) -%{_libdir}/libsystemd.so.* +%{_libdir}/libsystemd.so.0 +%{_libdir}/libsystemd.so.0.32.0 %files -n libudev%{?mini}1 %defattr(-,root,root) -%{_libdir}/libudev.so.* +%{_libdir}/libudev.so.1 +%{_libdir}/libudev.so.1.7.2 %files -n libudev%{?mini}-devel %defattr(-,root,root) @@ -1702,47 +1355,6 @@ fi %endif %endif -%files container -%defattr(-,root,root) -%dir %{_sysconfdir}/systemd/nspawn -%{_bindir}/systemd-nspawn -%{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%{_bindir}/machinectl -%{_prefix}/lib/systemd/systemd-machined -%{_unitdir}/systemd-machined.service -%{_unitdir}/dbus-org.freedesktop.machine1.service -%{_unitdir}/var-lib-machines.mount -%{_unitdir}/machine.slice -%{_unitdir}/machines.target.wants -%{_unitdir}/*.target.wants/var-lib-machines.mount -%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%{_tmpfilesdir}/systemd-nspawn.conf -%endif -%if %{with importd} -%{_prefix}/lib/systemd/systemd-import* -%{_prefix}/lib/systemd/systemd-pull -%{_prefix}/lib/systemd/import-pubring.gpg -%{_unitdir}/systemd-importd.service -%{_unitdir}/dbus-org.freedesktop.import1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man*/*nspawn* -%if %{with machined} -%{_mandir}/man*/machinectl* -%{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%{_mandir}/man*/systemd-importd* -%endif -%endif - %if ! 0%{?bootstrap} %files lang -f systemd.lang @@ -1796,37 +1408,6 @@ fi %ghost %dir %{_localstatedir}/log/journal/remote %endif -%if %{with networkd} || %{with resolved} -%files network -%defattr(-,root,root) -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%{_bindir}/networkctl -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/*.network -%{_prefix}/lib/systemd/network/*.network.example -%{_prefix}/lib/systemd/systemd-networkd -%{_prefix}/lib/systemd/systemd-networkd-wait-online -%{_unitdir}/systemd-networkd.service -%{_unitdir}/systemd-networkd.socket -%{_unitdir}/systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%{_bindir}/systemd-resolve -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%{_prefix}/lib/systemd/resolv.conf -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service -%endif -%endif - %if %{with portabled} %files portable %defattr(-,root,root) @@ -1846,8 +1427,8 @@ fi %if %{with testsuite} %files testsuite %defattr(-,root,root) -%{_testsuitedir} %doc %{_testsuitedir}/test/README.testsuite +%{_testsuitedir} %endif %if %{with experimental} @@ -1864,6 +1445,8 @@ fi %{_bindir}/userdbctl %{_prefix}/lib/systemd/systemd-userwork %{_prefix}/lib/systemd/systemd-userdbd +%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket %{_mandir}/man*/userdbctl* From 48ed358dfb3e0ecf4c8806d480158a2b155e7de5d473f9eeb1fbde3455b45b4d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Jan 2022 15:32:02 +0000 Subject: [PATCH 647/991] - resolved: disable DNSSEC until the following issue is solved: https://github.com/systemd/systemd/issues/10579 - Replace '%setup+%autopatch' with '%autosetup' OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1232 --- systemd.changes | 8 ++++++++ systemd.spec | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index c6c4f4b7..d80c30e0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jan 26 15:20:57 UTC 2022 - Franck Bui + +- resolved: disable DNSSEC until the following issue is solved: + https://github.com/systemd/systemd/issues/10579 + +- Replace '%setup+%autopatch' with '%autosetup' + ------------------------------------------------------------------- Mon Jan 24 15:51:07 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 25b2542b..7f248fdd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -619,8 +619,7 @@ Have fun with these services at your own risk. %endif %prep -%setup -q -n systemd-v%{version}%{suse_version} -%autopatch -p1 +%autosetup -p1 -n systemd-v%{version}%{suse_version} %build # keep split-usr until all packages have moved their systemd rules to /usr @@ -702,6 +701,9 @@ Have fun with these services at your own risk. %endif %if %{without resolved} -Dresolve=false \ +%else + -Ddefault-dnssec=no \ + -Ddns-over-tls=openssl \ %endif %if %{without sysvcompat} -Dsysvinit-path= \ From e444aad0accb3321a263a15ce19c9e62d52b9b5cba144290a03eca7ea85f6d54 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Jan 2022 17:03:49 +0000 Subject: [PATCH 648/991] Document bsc#1192637 in the changelogs OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1233 --- systemd.changes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/systemd.changes b/systemd.changes index d80c30e0..0bcbd1fa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -649,6 +649,9 @@ Mon May 10 13:12:56 UTC 2021 - Franck Bui - Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) + 2c8ec0095e udev/net_id: don't generate slot based names if multiple devices might claim the same slot (bsc#1192637) + [...] + For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa From 32caedbc1048cd52d5a7380dc8f0994b2f60565457634932e46770d87cde28b3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 26 Jan 2022 17:34:15 +0000 Subject: [PATCH 649/991] - resolved: disable fallback DNS servers and fail when no DNS server info could be obtained from the links. It's better to let the sysadmin know that something is likely misconfigured rather than silently handing over the DNS queries to Google or Cloudflare. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1234 --- systemd.changes | 8 ++++++++ systemd.spec | 1 + 2 files changed, 9 insertions(+) diff --git a/systemd.changes b/systemd.changes index 0bcbd1fa..3caf8209 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jan 26 17:34:28 UTC 2022 - Franck Bui + +- resolved: disable fallback DNS servers and fail when no DNS server info could + be obtained from the links. It's better to let the sysadmin know that + something is likely misconfigured rather than silently handing over the DNS + queries to Google or Cloudflare. + ------------------------------------------------------------------- Wed Jan 26 15:20:57 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 7f248fdd..cbcae9fc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -702,6 +702,7 @@ Have fun with these services at your own risk. %if %{without resolved} -Dresolve=false \ %else + -Ddns-servers='' \ -Ddefault-dnssec=no \ -Ddns-over-tls=openssl \ %endif From f29e9403599e910e4db7d8432ffb57f4d0b85d63ed26e34dd0f8c12805a86010 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 27 Jan 2022 07:49:42 +0000 Subject: [PATCH 650/991] - Make sure that libopenssl-devel is installed when building resolved. Openssl was implictly pulled in by systemd-experimental subpackage but could be missing if the build of this subpackage was disabled. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1235 --- systemd.changes | 7 +++++++ systemd.spec | 1 + 2 files changed, 8 insertions(+) diff --git a/systemd.changes b/systemd.changes index 3caf8209..dca3a6f6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jan 27 07:50:07 UTC 2022 - Franck Bui + +- Make sure that libopenssl-devel is installed when building resolved. Openssl + was implictly pulled in by systemd-experimental subpackage but could be + missing if the build of this subpackage was disabled. + ------------------------------------------------------------------- Wed Jan 26 17:34:28 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cbcae9fc..c3725bda 100644 --- a/systemd.spec +++ b/systemd.spec @@ -388,6 +388,7 @@ Requires: %{name} = %{version}-%{release} # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) +BuildRequires: pkgconfig(openssl) Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved From ea1914fbfe7fca9c1de4c3bc4c40f5207845fd3f351a30e12e7d18d95fea493c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 27 Jan 2022 16:09:21 +0000 Subject: [PATCH 651/991] - Merge libudev-devel into systemd-devel OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1236 --- baselibs.conf | 1 - systemd.changes | 5 +++++ systemd.spec | 46 ++++++++++++++-------------------------------- 3 files changed, 19 insertions(+), 33 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index 073ad0e1..04045353 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -8,6 +8,5 @@ systemd post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 -libudev-devel nss-myhostname nss-mymachines diff --git a/systemd.changes b/systemd.changes index dca3a6f6..deb1a238 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 27 10:50:50 UTC 2022 - Franck Bui + +- Merge libudev-devel into systemd-devel + ------------------------------------------------------------------- Thu Jan 27 07:50:07 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c3725bda..3f5c461e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -191,6 +191,7 @@ Source200: files.systemd Source201: files.udev Source202: files.container Source203: files.network +Source204: files.devel # Patches listed below are SUSE specific and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes @@ -235,16 +236,23 @@ Supplements: (systemd and patterns-base-documentation) The HTML documentation for systemd. %package devel -Summary: Development headers for systemd +Summary: Development files for libsystemd and libudev License: LGPL-2.1-or-later Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros +Provides: libudev%{?mini}-devel = %{version}-%{release} +Obsoletes: libudev%{?mini}-devel < %{version}-%{release} %if 0%{?bootstrap} +Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev-devel %endif %description devel -Development headers and auxiliary files for developing applications for systemd. +Development headers and files for libsystemd and libudev libraries. These files +are useful for developing applications linking to these libraries. %package sysvinit Summary: System V init tools @@ -335,20 +343,6 @@ Requires: this-is-only-for-build-envs This package contains the dynamic library libudev, which provides access to udev device information -%package -n libudev%{?mini}-devel -Summary: Development files for libudev -License: LGPL-2.1-or-later -Requires: libudev%{?mini}1 = %{version}-%{release} -%if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{version} -Conflicts: libudev-devel -Conflicts: libudev1 = %{version} -%endif - -%description -n libudev%{?mini}-devel -This package contains the development files for the library libudev, a -dynamic library, which provides access to udev device information. - %if %{with coredump} %package coredump Summary: Systemd tools for coredump management @@ -1283,13 +1277,8 @@ fi %files devel %defattr(-,root,root,-) -%{_libdir}/libsystemd.so -%{_libdir}/pkgconfig/libsystemd.pc -%{_includedir}/systemd/ -%if ! 0%{?bootstrap} -%{_mandir}/man3/SD*.3* -%{_mandir}/man3/sd*.3* -%endif +%license LICENSE.LGPL2.1 +%include %{SOURCE204} %files sysvinit %defattr(-,root,root,-) @@ -1325,23 +1314,16 @@ fi %files -n libsystemd0%{?mini} %defattr(-,root,root) +%license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 %{_libdir}/libsystemd.so.0.32.0 %files -n libudev%{?mini}1 %defattr(-,root,root) +%license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 %{_libdir}/libudev.so.1.7.2 -%files -n libudev%{?mini}-devel -%defattr(-,root,root) -%{_includedir}/libudev.h -%{_libdir}/libudev.so -%{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man3/*udev*.3* -%endif - %if %{with coredump} %files coredump %defattr(-,root,root) From fb4acfad52f0db46f45c83f3bcc031ae27b3b615a704dc3206b5c330c6136bc6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Jan 2022 13:08:48 +0000 Subject: [PATCH 652/991] Fix previous commit: files.devel was forgotten OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1237 --- files.devel | 729 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 729 insertions(+) create mode 100644 files.devel diff --git a/files.devel b/files.devel new file mode 100644 index 00000000..e551dc7f --- /dev/null +++ b/files.devel @@ -0,0 +1,729 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%{_includedir}/libudev.h +%{_includedir}/systemd/ +%{_libdir}/libsystemd.so +%{_libdir}/libudev.so +%{_libdir}/pkgconfig/libsystemd.pc +%{_libdir}/pkgconfig/libudev.pc +%if ! 0%{?bootstrap} +%{_mandir}/man3/SD_ALERT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_AUTH_FAILED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_BAD_ADDRESS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_DISCONNECTED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_END.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FAILED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FILE_EXISTS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FILE_NOT_FOUND.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz +%{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MAKE_CONST.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MAP.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_INVALID.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NOT_SUPPORTED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_MEMORY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_NETWORK.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz +%{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_METHOD.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_OBJECT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_PROPERTY.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_CALL.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_ERROR.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_RETURN.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_SIGNAL.3.gz +%{_mandir}/man3/SD_BUS_METHOD.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES_OFFSET.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_OFFSET.3.gz +%{_mandir}/man3/SD_BUS_PARAM.3.gz +%{_mandir}/man3/SD_BUS_PROPERTY.3.gz +%{_mandir}/man3/SD_BUS_SIGNAL.3.gz +%{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_END.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_START.3.gz +%{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz +%{_mandir}/man3/SD_CRIT.3.gz +%{_mandir}/man3/SD_DEBUG.3.gz +%{_mandir}/man3/SD_EMERG.3.gz +%{_mandir}/man3/SD_ERR.3.gz +%{_mandir}/man3/SD_EVENT_ARMED.3.gz +%{_mandir}/man3/SD_EVENT_EXITING.3.gz +%{_mandir}/man3/SD_EVENT_FINISHED.3.gz +%{_mandir}/man3/SD_EVENT_INITIAL.3.gz +%{_mandir}/man3/SD_EVENT_OFF.3.gz +%{_mandir}/man3/SD_EVENT_ON.3.gz +%{_mandir}/man3/SD_EVENT_ONESHOT.3.gz +%{_mandir}/man3/SD_EVENT_PENDING.3.gz +%{_mandir}/man3/SD_EVENT_PREPARING.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_IDLE.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz +%{_mandir}/man3/SD_EVENT_RUNNING.3.gz +%{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz +%{_mandir}/man3/SD_ID128_ALLF.3.gz +%{_mandir}/man3/SD_ID128_CONST_STR.3.gz +%{_mandir}/man3/SD_ID128_FORMAT_STR.3.gz +%{_mandir}/man3/SD_ID128_FORMAT_VAL.3.gz +%{_mandir}/man3/SD_ID128_MAKE.3.gz +%{_mandir}/man3/SD_ID128_MAKE_STR.3.gz +%{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz +%{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz +%{_mandir}/man3/SD_INFO.3.gz +%{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz +%{_mandir}/man3/SD_JOURNAL_APPEND.3.gz +%{_mandir}/man3/SD_JOURNAL_CURRENT_USER.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_BACKWARDS.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_DATA.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_FIELD.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_UNIQUE.3.gz +%{_mandir}/man3/SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE.3.gz +%{_mandir}/man3/SD_JOURNAL_INVALIDATE.3.gz +%{_mandir}/man3/SD_JOURNAL_LOCAL_ONLY.3.gz +%{_mandir}/man3/SD_JOURNAL_NOP.3.gz +%{_mandir}/man3/SD_JOURNAL_OS_ROOT.3.gz +%{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz +%{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz +%{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz +%{_mandir}/man3/SD_LISTEN_FDS_START.3.gz +%{_mandir}/man3/SD_NOTICE.3.gz +%{_mandir}/man3/SD_WARNING.3.gz +%{_mandir}/man3/libudev.3.gz +%{_mandir}/man3/sd-bus-errors.3.gz +%{_mandir}/man3/sd-bus.3.gz +%{_mandir}/man3/sd-daemon.3.gz +%{_mandir}/man3/sd-event.3.gz +%{_mandir}/man3/sd-hwdb.3.gz +%{_mandir}/man3/sd-id128.3.gz +%{_mandir}/man3/sd-journal.3.gz +%{_mandir}/man3/sd-login.3.gz +%{_mandir}/man3/sd_booted.3.gz +%{_mandir}/man3/sd_bus_add_fallback.3.gz +%{_mandir}/man3/sd_bus_add_fallback_vtable.3.gz +%{_mandir}/man3/sd_bus_add_filter.3.gz +%{_mandir}/man3/sd_bus_add_match.3.gz +%{_mandir}/man3/sd_bus_add_match_async.3.gz +%{_mandir}/man3/sd_bus_add_node_enumerator.3.gz +%{_mandir}/man3/sd_bus_add_object.3.gz +%{_mandir}/man3/sd_bus_add_object_manager.3.gz +%{_mandir}/man3/sd_bus_add_object_vtable.3.gz +%{_mandir}/man3/sd_bus_attach_event.3.gz +%{_mandir}/man3/sd_bus_call.3.gz +%{_mandir}/man3/sd_bus_call_async.3.gz +%{_mandir}/man3/sd_bus_call_method.3.gz +%{_mandir}/man3/sd_bus_call_method_async.3.gz +%{_mandir}/man3/sd_bus_call_method_asyncv.3.gz +%{_mandir}/man3/sd_bus_call_methodv.3.gz +%{_mandir}/man3/sd_bus_can_send.3.gz +%{_mandir}/man3/sd_bus_close.3.gz +%{_mandir}/man3/sd_bus_close_unref.3.gz +%{_mandir}/man3/sd_bus_close_unrefp.3.gz +%{_mandir}/man3/sd_bus_creds_get_audit_login_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_audit_session_id.3.gz +%{_mandir}/man3/sd_bus_creds_get_augmented_mask.3.gz +%{_mandir}/man3/sd_bus_creds_get_cgroup.3.gz +%{_mandir}/man3/sd_bus_creds_get_cmdline.3.gz +%{_mandir}/man3/sd_bus_creds_get_comm.3.gz +%{_mandir}/man3/sd_bus_creds_get_description.3.gz +%{_mandir}/man3/sd_bus_creds_get_egid.3.gz +%{_mandir}/man3/sd_bus_creds_get_euid.3.gz +%{_mandir}/man3/sd_bus_creds_get_exe.3.gz +%{_mandir}/man3/sd_bus_creds_get_fsgid.3.gz +%{_mandir}/man3/sd_bus_creds_get_fsuid.3.gz +%{_mandir}/man3/sd_bus_creds_get_gid.3.gz +%{_mandir}/man3/sd_bus_creds_get_mask.3.gz +%{_mandir}/man3/sd_bus_creds_get_owner_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_pid.3.gz +%{_mandir}/man3/sd_bus_creds_get_ppid.3.gz +%{_mandir}/man3/sd_bus_creds_get_selinux_context.3.gz +%{_mandir}/man3/sd_bus_creds_get_session.3.gz +%{_mandir}/man3/sd_bus_creds_get_sgid.3.gz +%{_mandir}/man3/sd_bus_creds_get_slice.3.gz +%{_mandir}/man3/sd_bus_creds_get_suid.3.gz +%{_mandir}/man3/sd_bus_creds_get_supplementary_gids.3.gz +%{_mandir}/man3/sd_bus_creds_get_tid.3.gz +%{_mandir}/man3/sd_bus_creds_get_tid_comm.3.gz +%{_mandir}/man3/sd_bus_creds_get_tty.3.gz +%{_mandir}/man3/sd_bus_creds_get_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_unique_name.3.gz +%{_mandir}/man3/sd_bus_creds_get_unit.3.gz +%{_mandir}/man3/sd_bus_creds_get_user_slice.3.gz +%{_mandir}/man3/sd_bus_creds_get_user_unit.3.gz +%{_mandir}/man3/sd_bus_creds_get_well_known_names.3.gz +%{_mandir}/man3/sd_bus_creds_has_bounding_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_effective_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_inheritable_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_permitted_cap.3.gz +%{_mandir}/man3/sd_bus_creds_new_from_pid.3.gz +%{_mandir}/man3/sd_bus_creds_ref.3.gz +%{_mandir}/man3/sd_bus_creds_unref.3.gz +%{_mandir}/man3/sd_bus_creds_unrefp.3.gz +%{_mandir}/man3/sd_bus_default.3.gz +%{_mandir}/man3/sd_bus_default_flush_close.3.gz +%{_mandir}/man3/sd_bus_default_system.3.gz +%{_mandir}/man3/sd_bus_default_user.3.gz +%{_mandir}/man3/sd_bus_destroy_t.3.gz +%{_mandir}/man3/sd_bus_detach_event.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_added.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_added_strv.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_removed.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_removed_strv.3.gz +%{_mandir}/man3/sd_bus_emit_object_added.3.gz +%{_mandir}/man3/sd_bus_emit_object_removed.3.gz +%{_mandir}/man3/sd_bus_emit_properties_changed.3.gz +%{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz +%{_mandir}/man3/sd_bus_emit_signal.3.gz +%{_mandir}/man3/sd_bus_emit_signalv.3.gz +%{_mandir}/man3/sd_bus_enqueue_for_read.3.gz +%{_mandir}/man3/sd_bus_error.3.gz +%{_mandir}/man3/sd_bus_error_add_map.3.gz +%{_mandir}/man3/sd_bus_error_copy.3.gz +%{_mandir}/man3/sd_bus_error_free.3.gz +%{_mandir}/man3/sd_bus_error_get_errno.3.gz +%{_mandir}/man3/sd_bus_error_has_name.3.gz +%{_mandir}/man3/sd_bus_error_has_names.3.gz +%{_mandir}/man3/sd_bus_error_has_names_sentinel.3.gz +%{_mandir}/man3/sd_bus_error_is_set.3.gz +%{_mandir}/man3/sd_bus_error_map.3.gz +%{_mandir}/man3/sd_bus_error_move.3.gz +%{_mandir}/man3/sd_bus_error_set.3.gz +%{_mandir}/man3/sd_bus_error_set_const.3.gz +%{_mandir}/man3/sd_bus_error_set_errno.3.gz +%{_mandir}/man3/sd_bus_error_set_errnof.3.gz +%{_mandir}/man3/sd_bus_error_set_errnofv.3.gz +%{_mandir}/man3/sd_bus_error_setf.3.gz +%{_mandir}/man3/sd_bus_flush.3.gz +%{_mandir}/man3/sd_bus_flush_close_unref.3.gz +%{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz +%{_mandir}/man3/sd_bus_get_address.3.gz +%{_mandir}/man3/sd_bus_get_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_get_bus_id.3.gz +%{_mandir}/man3/sd_bus_get_close_on_exit.3.gz +%{_mandir}/man3/sd_bus_get_connected_signal.3.gz +%{_mandir}/man3/sd_bus_get_creds_mask.3.gz +%{_mandir}/man3/sd_bus_get_current_handler.3.gz +%{_mandir}/man3/sd_bus_get_current_message.3.gz +%{_mandir}/man3/sd_bus_get_current_slot.3.gz +%{_mandir}/man3/sd_bus_get_current_userdata.3.gz +%{_mandir}/man3/sd_bus_get_description.3.gz +%{_mandir}/man3/sd_bus_get_event.3.gz +%{_mandir}/man3/sd_bus_get_events.3.gz +%{_mandir}/man3/sd_bus_get_exit_on_disconnect.3.gz +%{_mandir}/man3/sd_bus_get_fd.3.gz +%{_mandir}/man3/sd_bus_get_method_call_timeout.3.gz +%{_mandir}/man3/sd_bus_get_n_queued_read.3.gz +%{_mandir}/man3/sd_bus_get_n_queued_write.3.gz +%{_mandir}/man3/sd_bus_get_name_creds.3.gz +%{_mandir}/man3/sd_bus_get_name_machine_id.3.gz +%{_mandir}/man3/sd_bus_get_owner_creds.3.gz +%{_mandir}/man3/sd_bus_get_property.3.gz +%{_mandir}/man3/sd_bus_get_property_string.3.gz +%{_mandir}/man3/sd_bus_get_property_strv.3.gz +%{_mandir}/man3/sd_bus_get_property_trivial.3.gz +%{_mandir}/man3/sd_bus_get_scope.3.gz +%{_mandir}/man3/sd_bus_get_sender.3.gz +%{_mandir}/man3/sd_bus_get_tid.3.gz +%{_mandir}/man3/sd_bus_get_timeout.3.gz +%{_mandir}/man3/sd_bus_get_unique_name.3.gz +%{_mandir}/man3/sd_bus_get_watch_bind.3.gz +%{_mandir}/man3/sd_bus_interface_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_is_anonymous.3.gz +%{_mandir}/man3/sd_bus_is_bus_client.3.gz +%{_mandir}/man3/sd_bus_is_monitor.3.gz +%{_mandir}/man3/sd_bus_is_open.3.gz +%{_mandir}/man3/sd_bus_is_ready.3.gz +%{_mandir}/man3/sd_bus_is_server.3.gz +%{_mandir}/man3/sd_bus_is_trusted.3.gz +%{_mandir}/man3/sd_bus_list_names.3.gz +%{_mandir}/man3/sd_bus_match_signal.3.gz +%{_mandir}/man3/sd_bus_match_signal_async.3.gz +%{_mandir}/man3/sd_bus_member_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_message_append.3.gz +%{_mandir}/man3/sd_bus_message_append_array.3.gz +%{_mandir}/man3/sd_bus_message_append_array_iovec.3.gz +%{_mandir}/man3/sd_bus_message_append_array_memfd.3.gz +%{_mandir}/man3/sd_bus_message_append_array_space.3.gz +%{_mandir}/man3/sd_bus_message_append_basic.3.gz +%{_mandir}/man3/sd_bus_message_append_string_iovec.3.gz +%{_mandir}/man3/sd_bus_message_append_string_memfd.3.gz +%{_mandir}/man3/sd_bus_message_append_string_space.3.gz +%{_mandir}/man3/sd_bus_message_append_strv.3.gz +%{_mandir}/man3/sd_bus_message_appendv.3.gz +%{_mandir}/man3/sd_bus_message_at_end.3.gz +%{_mandir}/man3/sd_bus_message_close_container.3.gz +%{_mandir}/man3/sd_bus_message_copy.3.gz +%{_mandir}/man3/sd_bus_message_dump.3.gz +%{_mandir}/man3/sd_bus_message_enter_container.3.gz +%{_mandir}/man3/sd_bus_message_exit_container.3.gz +%{_mandir}/man3/sd_bus_message_get_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_message_get_auto_start.3.gz +%{_mandir}/man3/sd_bus_message_get_bus.3.gz +%{_mandir}/man3/sd_bus_message_get_cookie.3.gz +%{_mandir}/man3/sd_bus_message_get_creds.3.gz +%{_mandir}/man3/sd_bus_message_get_destination.3.gz +%{_mandir}/man3/sd_bus_message_get_errno.3.gz +%{_mandir}/man3/sd_bus_message_get_error.3.gz +%{_mandir}/man3/sd_bus_message_get_expect_reply.3.gz +%{_mandir}/man3/sd_bus_message_get_interface.3.gz +%{_mandir}/man3/sd_bus_message_get_member.3.gz +%{_mandir}/man3/sd_bus_message_get_monotonic_usec.3.gz +%{_mandir}/man3/sd_bus_message_get_path.3.gz +%{_mandir}/man3/sd_bus_message_get_realtime_usec.3.gz +%{_mandir}/man3/sd_bus_message_get_reply_cookie.3.gz +%{_mandir}/man3/sd_bus_message_get_sender.3.gz +%{_mandir}/man3/sd_bus_message_get_seqnum.3.gz +%{_mandir}/man3/sd_bus_message_get_signature.3.gz +%{_mandir}/man3/sd_bus_message_get_type.3.gz +%{_mandir}/man3/sd_bus_message_has_signature.3.gz +%{_mandir}/man3/sd_bus_message_is_empty.3.gz +%{_mandir}/man3/sd_bus_message_is_method_call.3.gz +%{_mandir}/man3/sd_bus_message_is_method_error.3.gz +%{_mandir}/man3/sd_bus_message_is_signal.3.gz +%{_mandir}/man3/sd_bus_message_new.3.gz +%{_mandir}/man3/sd_bus_message_new_method_call.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errno.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errnof.3.gz +%{_mandir}/man3/sd_bus_message_new_method_error.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz +%{_mandir}/man3/sd_bus_message_new_method_return.3.gz +%{_mandir}/man3/sd_bus_message_new_signal.3.gz +%{_mandir}/man3/sd_bus_message_open_container.3.gz +%{_mandir}/man3/sd_bus_message_peek_type.3.gz +%{_mandir}/man3/sd_bus_message_read.3.gz +%{_mandir}/man3/sd_bus_message_read_array.3.gz +%{_mandir}/man3/sd_bus_message_read_basic.3.gz +%{_mandir}/man3/sd_bus_message_read_strv.3.gz +%{_mandir}/man3/sd_bus_message_readv.3.gz +%{_mandir}/man3/sd_bus_message_ref.3.gz +%{_mandir}/man3/sd_bus_message_rewind.3.gz +%{_mandir}/man3/sd_bus_message_seal.3.gz +%{_mandir}/man3/sd_bus_message_send.3.gz +%{_mandir}/man3/sd_bus_message_sensitive.3.gz +%{_mandir}/man3/sd_bus_message_set_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_message_set_auto_start.3.gz +%{_mandir}/man3/sd_bus_message_set_destination.3.gz +%{_mandir}/man3/sd_bus_message_set_expect_reply.3.gz +%{_mandir}/man3/sd_bus_message_set_sender.3.gz +%{_mandir}/man3/sd_bus_message_skip.3.gz +%{_mandir}/man3/sd_bus_message_unref.3.gz +%{_mandir}/man3/sd_bus_message_unrefp.3.gz +%{_mandir}/man3/sd_bus_message_verify_type.3.gz +%{_mandir}/man3/sd_bus_negotiate_creds.3.gz +%{_mandir}/man3/sd_bus_negotiate_fds.3.gz +%{_mandir}/man3/sd_bus_negotiate_timestamp.3.gz +%{_mandir}/man3/sd_bus_new.3.gz +%{_mandir}/man3/sd_bus_object_path_is_valid.3.gz +%{_mandir}/man3/sd_bus_open.3.gz +%{_mandir}/man3/sd_bus_open_system.3.gz +%{_mandir}/man3/sd_bus_open_system_machine.3.gz +%{_mandir}/man3/sd_bus_open_system_remote.3.gz +%{_mandir}/man3/sd_bus_open_system_with_description.3.gz +%{_mandir}/man3/sd_bus_open_user.3.gz +%{_mandir}/man3/sd_bus_open_user_machine.3.gz +%{_mandir}/man3/sd_bus_open_user_with_description.3.gz +%{_mandir}/man3/sd_bus_open_with_description.3.gz +%{_mandir}/man3/sd_bus_path_decode.3.gz +%{_mandir}/man3/sd_bus_path_decode_many.3.gz +%{_mandir}/man3/sd_bus_path_encode.3.gz +%{_mandir}/man3/sd_bus_path_encode_many.3.gz +%{_mandir}/man3/sd_bus_process.3.gz +%{_mandir}/man3/sd_bus_query_sender_creds.3.gz +%{_mandir}/man3/sd_bus_query_sender_privilege.3.gz +%{_mandir}/man3/sd_bus_ref.3.gz +%{_mandir}/man3/sd_bus_release_name.3.gz +%{_mandir}/man3/sd_bus_release_name_async.3.gz +%{_mandir}/man3/sd_bus_reply_method_errno.3.gz +%{_mandir}/man3/sd_bus_reply_method_errnof.3.gz +%{_mandir}/man3/sd_bus_reply_method_errnofv.3.gz +%{_mandir}/man3/sd_bus_reply_method_error.3.gz +%{_mandir}/man3/sd_bus_reply_method_errorf.3.gz +%{_mandir}/man3/sd_bus_reply_method_errorfv.3.gz +%{_mandir}/man3/sd_bus_reply_method_return.3.gz +%{_mandir}/man3/sd_bus_reply_method_returnv.3.gz +%{_mandir}/man3/sd_bus_request_name.3.gz +%{_mandir}/man3/sd_bus_request_name_async.3.gz +%{_mandir}/man3/sd_bus_send.3.gz +%{_mandir}/man3/sd_bus_send_to.3.gz +%{_mandir}/man3/sd_bus_service_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_set_address.3.gz +%{_mandir}/man3/sd_bus_set_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_set_anonymous.3.gz +%{_mandir}/man3/sd_bus_set_bus_client.3.gz +%{_mandir}/man3/sd_bus_set_close_on_exit.3.gz +%{_mandir}/man3/sd_bus_set_connected_signal.3.gz +%{_mandir}/man3/sd_bus_set_description.3.gz +%{_mandir}/man3/sd_bus_set_exec.3.gz +%{_mandir}/man3/sd_bus_set_exit_on_disconnect.3.gz +%{_mandir}/man3/sd_bus_set_fd.3.gz +%{_mandir}/man3/sd_bus_set_method_call_timeout.3.gz +%{_mandir}/man3/sd_bus_set_monitor.3.gz +%{_mandir}/man3/sd_bus_set_property.3.gz +%{_mandir}/man3/sd_bus_set_propertyv.3.gz +%{_mandir}/man3/sd_bus_set_sender.3.gz +%{_mandir}/man3/sd_bus_set_server.3.gz +%{_mandir}/man3/sd_bus_set_trusted.3.gz +%{_mandir}/man3/sd_bus_set_watch_bind.3.gz +%{_mandir}/man3/sd_bus_slot_get_bus.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_handler.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_message.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_get_description.3.gz +%{_mandir}/man3/sd_bus_slot_get_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_slot_get_floating.3.gz +%{_mandir}/man3/sd_bus_slot_get_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_ref.3.gz +%{_mandir}/man3/sd_bus_slot_set_description.3.gz +%{_mandir}/man3/sd_bus_slot_set_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_slot_set_floating.3.gz +%{_mandir}/man3/sd_bus_slot_set_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_unref.3.gz +%{_mandir}/man3/sd_bus_slot_unrefp.3.gz +%{_mandir}/man3/sd_bus_start.3.gz +%{_mandir}/man3/sd_bus_track_add_name.3.gz +%{_mandir}/man3/sd_bus_track_add_sender.3.gz +%{_mandir}/man3/sd_bus_track_contains.3.gz +%{_mandir}/man3/sd_bus_track_count.3.gz +%{_mandir}/man3/sd_bus_track_count_name.3.gz +%{_mandir}/man3/sd_bus_track_count_sender.3.gz +%{_mandir}/man3/sd_bus_track_first.3.gz +%{_mandir}/man3/sd_bus_track_get_bus.3.gz +%{_mandir}/man3/sd_bus_track_get_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_track_get_recursive.3.gz +%{_mandir}/man3/sd_bus_track_get_userdata.3.gz +%{_mandir}/man3/sd_bus_track_new.3.gz +%{_mandir}/man3/sd_bus_track_next.3.gz +%{_mandir}/man3/sd_bus_track_ref.3.gz +%{_mandir}/man3/sd_bus_track_remove_name.3.gz +%{_mandir}/man3/sd_bus_track_remove_sender.3.gz +%{_mandir}/man3/sd_bus_track_set_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_track_set_recursive.3.gz +%{_mandir}/man3/sd_bus_track_set_userdata.3.gz +%{_mandir}/man3/sd_bus_track_unref.3.gz +%{_mandir}/man3/sd_bus_track_unrefp.3.gz +%{_mandir}/man3/sd_bus_unref.3.gz +%{_mandir}/man3/sd_bus_unrefp.3.gz +%{_mandir}/man3/sd_bus_wait.3.gz +%{_mandir}/man3/sd_event.3.gz +%{_mandir}/man3/sd_event_add_child.3.gz +%{_mandir}/man3/sd_event_add_child_pidfd.3.gz +%{_mandir}/man3/sd_event_add_defer.3.gz +%{_mandir}/man3/sd_event_add_exit.3.gz +%{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_io.3.gz +%{_mandir}/man3/sd_event_add_post.3.gz +%{_mandir}/man3/sd_event_add_signal.3.gz +%{_mandir}/man3/sd_event_add_time.3.gz +%{_mandir}/man3/sd_event_add_time_relative.3.gz +%{_mandir}/man3/sd_event_child_handler_t.3.gz +%{_mandir}/man3/sd_event_default.3.gz +%{_mandir}/man3/sd_event_destroy_t.3.gz +%{_mandir}/man3/sd_event_dispatch.3.gz +%{_mandir}/man3/sd_event_exit.3.gz +%{_mandir}/man3/sd_event_get_exit_code.3.gz +%{_mandir}/man3/sd_event_get_fd.3.gz +%{_mandir}/man3/sd_event_get_iteration.3.gz +%{_mandir}/man3/sd_event_get_state.3.gz +%{_mandir}/man3/sd_event_get_tid.3.gz +%{_mandir}/man3/sd_event_get_watchdog.3.gz +%{_mandir}/man3/sd_event_handler_t.3.gz +%{_mandir}/man3/sd_event_inotify_handler_t.3.gz +%{_mandir}/man3/sd_event_io_handler_t.3.gz +%{_mandir}/man3/sd_event_loop.3.gz +%{_mandir}/man3/sd_event_new.3.gz +%{_mandir}/man3/sd_event_now.3.gz +%{_mandir}/man3/sd_event_prepare.3.gz +%{_mandir}/man3/sd_event_ref.3.gz +%{_mandir}/man3/sd_event_run.3.gz +%{_mandir}/man3/sd_event_set_watchdog.3.gz +%{_mandir}/man3/sd_event_signal_handler_t.3.gz +%{_mandir}/man3/sd_event_source.3.gz +%{_mandir}/man3/sd_event_source_disable_unref.3.gz +%{_mandir}/man3/sd_event_source_disable_unrefp.3.gz +%{_mandir}/man3/sd_event_source_get_child_pid.3.gz +%{_mandir}/man3/sd_event_source_get_child_pidfd.3.gz +%{_mandir}/man3/sd_event_source_get_child_pidfd_own.3.gz +%{_mandir}/man3/sd_event_source_get_child_process_own.3.gz +%{_mandir}/man3/sd_event_source_get_description.3.gz +%{_mandir}/man3/sd_event_source_get_destroy_callback.3.gz +%{_mandir}/man3/sd_event_source_get_enabled.3.gz +%{_mandir}/man3/sd_event_source_get_event.3.gz +%{_mandir}/man3/sd_event_source_get_exit_on_failure.3.gz +%{_mandir}/man3/sd_event_source_get_floating.3.gz +%{_mandir}/man3/sd_event_source_get_inotify_mask.3.gz +%{_mandir}/man3/sd_event_source_get_io_events.3.gz +%{_mandir}/man3/sd_event_source_get_io_fd.3.gz +%{_mandir}/man3/sd_event_source_get_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_get_io_revents.3.gz +%{_mandir}/man3/sd_event_source_get_pending.3.gz +%{_mandir}/man3/sd_event_source_get_priority.3.gz +%{_mandir}/man3/sd_event_source_get_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_get_signal.3.gz +%{_mandir}/man3/sd_event_source_get_time.3.gz +%{_mandir}/man3/sd_event_source_get_time_accuracy.3.gz +%{_mandir}/man3/sd_event_source_get_time_clock.3.gz +%{_mandir}/man3/sd_event_source_get_userdata.3.gz +%{_mandir}/man3/sd_event_source_is_ratelimited.3.gz +%{_mandir}/man3/sd_event_source_ref.3.gz +%{_mandir}/man3/sd_event_source_send_child_signal.3.gz +%{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz +%{_mandir}/man3/sd_event_source_set_child_process_own.3.gz +%{_mandir}/man3/sd_event_source_set_description.3.gz +%{_mandir}/man3/sd_event_source_set_destroy_callback.3.gz +%{_mandir}/man3/sd_event_source_set_enabled.3.gz +%{_mandir}/man3/sd_event_source_set_exit_on_failure.3.gz +%{_mandir}/man3/sd_event_source_set_floating.3.gz +%{_mandir}/man3/sd_event_source_set_io_events.3.gz +%{_mandir}/man3/sd_event_source_set_io_fd.3.gz +%{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_set_prepare.3.gz +%{_mandir}/man3/sd_event_source_set_priority.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_time.3.gz +%{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz +%{_mandir}/man3/sd_event_source_set_time_relative.3.gz +%{_mandir}/man3/sd_event_source_set_userdata.3.gz +%{_mandir}/man3/sd_event_source_unref.3.gz +%{_mandir}/man3/sd_event_source_unrefp.3.gz +%{_mandir}/man3/sd_event_time_handler_t.3.gz +%{_mandir}/man3/sd_event_unref.3.gz +%{_mandir}/man3/sd_event_unrefp.3.gz +%{_mandir}/man3/sd_event_wait.3.gz +%{_mandir}/man3/sd_get_machine_names.3.gz +%{_mandir}/man3/sd_get_seats.3.gz +%{_mandir}/man3/sd_get_sessions.3.gz +%{_mandir}/man3/sd_get_uids.3.gz +%{_mandir}/man3/sd_hwdb_enumerate.3.gz +%{_mandir}/man3/sd_hwdb_get.3.gz +%{_mandir}/man3/sd_hwdb_new.3.gz +%{_mandir}/man3/sd_hwdb_ref.3.gz +%{_mandir}/man3/sd_hwdb_seek.3.gz +%{_mandir}/man3/sd_hwdb_unref.3.gz +%{_mandir}/man3/sd_id128_equal.3.gz +%{_mandir}/man3/sd_id128_from_string.3.gz +%{_mandir}/man3/sd_id128_get_boot.3.gz +%{_mandir}/man3/sd_id128_get_boot_app_specific.3.gz +%{_mandir}/man3/sd_id128_get_invocation.3.gz +%{_mandir}/man3/sd_id128_get_machine.3.gz +%{_mandir}/man3/sd_id128_get_machine_app_specific.3.gz +%{_mandir}/man3/sd_id128_in_set.3.gz +%{_mandir}/man3/sd_id128_in_set_sentinel.3.gz +%{_mandir}/man3/sd_id128_in_setv.3.gz +%{_mandir}/man3/sd_id128_is_allf.3.gz +%{_mandir}/man3/sd_id128_is_null.3.gz +%{_mandir}/man3/sd_id128_randomize.3.gz +%{_mandir}/man3/sd_id128_t.3.gz +%{_mandir}/man3/sd_id128_to_string.3.gz +%{_mandir}/man3/sd_is_fifo.3.gz +%{_mandir}/man3/sd_is_mq.3.gz +%{_mandir}/man3/sd_is_socket.3.gz +%{_mandir}/man3/sd_is_socket_inet.3.gz +%{_mandir}/man3/sd_is_socket_sockaddr.3.gz +%{_mandir}/man3/sd_is_socket_unix.3.gz +%{_mandir}/man3/sd_is_special.3.gz +%{_mandir}/man3/sd_journal.3.gz +%{_mandir}/man3/sd_journal_add_conjunction.3.gz +%{_mandir}/man3/sd_journal_add_disjunction.3.gz +%{_mandir}/man3/sd_journal_add_match.3.gz +%{_mandir}/man3/sd_journal_close.3.gz +%{_mandir}/man3/sd_journal_enumerate_available_data.3.gz +%{_mandir}/man3/sd_journal_enumerate_available_unique.3.gz +%{_mandir}/man3/sd_journal_enumerate_data.3.gz +%{_mandir}/man3/sd_journal_enumerate_fields.3.gz +%{_mandir}/man3/sd_journal_enumerate_unique.3.gz +%{_mandir}/man3/sd_journal_flush_matches.3.gz +%{_mandir}/man3/sd_journal_get_catalog.3.gz +%{_mandir}/man3/sd_journal_get_catalog_for_message_id.3.gz +%{_mandir}/man3/sd_journal_get_cursor.3.gz +%{_mandir}/man3/sd_journal_get_cutoff_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_get_cutoff_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_data.3.gz +%{_mandir}/man3/sd_journal_get_data_threshold.3.gz +%{_mandir}/man3/sd_journal_get_events.3.gz +%{_mandir}/man3/sd_journal_get_fd.3.gz +%{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_get_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_timeout.3.gz +%{_mandir}/man3/sd_journal_get_usage.3.gz +%{_mandir}/man3/sd_journal_has_persistent_files.3.gz +%{_mandir}/man3/sd_journal_has_runtime_files.3.gz +%{_mandir}/man3/sd_journal_next.3.gz +%{_mandir}/man3/sd_journal_next_skip.3.gz +%{_mandir}/man3/sd_journal_open.3.gz +%{_mandir}/man3/sd_journal_open_directory.3.gz +%{_mandir}/man3/sd_journal_open_directory_fd.3.gz +%{_mandir}/man3/sd_journal_open_files.3.gz +%{_mandir}/man3/sd_journal_open_files_fd.3.gz +%{_mandir}/man3/sd_journal_open_namespace.3.gz +%{_mandir}/man3/sd_journal_perror.3.gz +%{_mandir}/man3/sd_journal_perror_with_location.3.gz +%{_mandir}/man3/sd_journal_previous.3.gz +%{_mandir}/man3/sd_journal_previous_skip.3.gz +%{_mandir}/man3/sd_journal_print.3.gz +%{_mandir}/man3/sd_journal_print_with_location.3.gz +%{_mandir}/man3/sd_journal_printv.3.gz +%{_mandir}/man3/sd_journal_printv_with_location.3.gz +%{_mandir}/man3/sd_journal_process.3.gz +%{_mandir}/man3/sd_journal_query_unique.3.gz +%{_mandir}/man3/sd_journal_reliable_fd.3.gz +%{_mandir}/man3/sd_journal_restart_data.3.gz +%{_mandir}/man3/sd_journal_restart_fields.3.gz +%{_mandir}/man3/sd_journal_restart_unique.3.gz +%{_mandir}/man3/sd_journal_seek_cursor.3.gz +%{_mandir}/man3/sd_journal_seek_head.3.gz +%{_mandir}/man3/sd_journal_seek_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_seek_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_seek_tail.3.gz +%{_mandir}/man3/sd_journal_send.3.gz +%{_mandir}/man3/sd_journal_send_with_location.3.gz +%{_mandir}/man3/sd_journal_sendv.3.gz +%{_mandir}/man3/sd_journal_sendv_with_location.3.gz +%{_mandir}/man3/sd_journal_set_data_threshold.3.gz +%{_mandir}/man3/sd_journal_stream_fd.3.gz +%{_mandir}/man3/sd_journal_test_cursor.3.gz +%{_mandir}/man3/sd_journal_wait.3.gz +%{_mandir}/man3/sd_listen_fds.3.gz +%{_mandir}/man3/sd_listen_fds_with_names.3.gz +%{_mandir}/man3/sd_login_monitor.3.gz +%{_mandir}/man3/sd_login_monitor_flush.3.gz +%{_mandir}/man3/sd_login_monitor_get_events.3.gz +%{_mandir}/man3/sd_login_monitor_get_fd.3.gz +%{_mandir}/man3/sd_login_monitor_get_timeout.3.gz +%{_mandir}/man3/sd_login_monitor_new.3.gz +%{_mandir}/man3/sd_login_monitor_unref.3.gz +%{_mandir}/man3/sd_login_monitor_unrefp.3.gz +%{_mandir}/man3/sd_machine_get_class.3.gz +%{_mandir}/man3/sd_machine_get_ifindices.3.gz +%{_mandir}/man3/sd_notify.3.gz +%{_mandir}/man3/sd_notify_barrier.3.gz +%{_mandir}/man3/sd_notifyf.3.gz +%{_mandir}/man3/sd_path_lookup.3.gz +%{_mandir}/man3/sd_path_lookup_strv.3.gz +%{_mandir}/man3/sd_peer_get_cgroup.3.gz +%{_mandir}/man3/sd_peer_get_machine_name.3.gz +%{_mandir}/man3/sd_peer_get_owner_uid.3.gz +%{_mandir}/man3/sd_peer_get_session.3.gz +%{_mandir}/man3/sd_peer_get_slice.3.gz +%{_mandir}/man3/sd_peer_get_unit.3.gz +%{_mandir}/man3/sd_peer_get_user_slice.3.gz +%{_mandir}/man3/sd_peer_get_user_unit.3.gz +%{_mandir}/man3/sd_pid_get_cgroup.3.gz +%{_mandir}/man3/sd_pid_get_machine_name.3.gz +%{_mandir}/man3/sd_pid_get_owner_uid.3.gz +%{_mandir}/man3/sd_pid_get_session.3.gz +%{_mandir}/man3/sd_pid_get_slice.3.gz +%{_mandir}/man3/sd_pid_get_unit.3.gz +%{_mandir}/man3/sd_pid_get_user_slice.3.gz +%{_mandir}/man3/sd_pid_get_user_unit.3.gz +%{_mandir}/man3/sd_pid_notify.3.gz +%{_mandir}/man3/sd_pid_notify_with_fds.3.gz +%{_mandir}/man3/sd_pid_notifyf.3.gz +%{_mandir}/man3/sd_seat_can_graphical.3.gz +%{_mandir}/man3/sd_seat_can_tty.3.gz +%{_mandir}/man3/sd_seat_get_active.3.gz +%{_mandir}/man3/sd_seat_get_sessions.3.gz +%{_mandir}/man3/sd_session_get_class.3.gz +%{_mandir}/man3/sd_session_get_desktop.3.gz +%{_mandir}/man3/sd_session_get_display.3.gz +%{_mandir}/man3/sd_session_get_remote_host.3.gz +%{_mandir}/man3/sd_session_get_remote_user.3.gz +%{_mandir}/man3/sd_session_get_seat.3.gz +%{_mandir}/man3/sd_session_get_service.3.gz +%{_mandir}/man3/sd_session_get_state.3.gz +%{_mandir}/man3/sd_session_get_tty.3.gz +%{_mandir}/man3/sd_session_get_type.3.gz +%{_mandir}/man3/sd_session_get_uid.3.gz +%{_mandir}/man3/sd_session_get_vt.3.gz +%{_mandir}/man3/sd_session_is_active.3.gz +%{_mandir}/man3/sd_session_is_remote.3.gz +%{_mandir}/man3/sd_uid_get_display.3.gz +%{_mandir}/man3/sd_uid_get_seats.3.gz +%{_mandir}/man3/sd_uid_get_sessions.3.gz +%{_mandir}/man3/sd_uid_get_state.3.gz +%{_mandir}/man3/sd_uid_is_on_seat.3.gz +%{_mandir}/man3/sd_watchdog_enabled.3.gz +%{_mandir}/man3/udev_device_get_action.3.gz +%{_mandir}/man3/udev_device_get_current_tags_list_entry.3.gz +%{_mandir}/man3/udev_device_get_devlinks_list_entry.3.gz +%{_mandir}/man3/udev_device_get_devnode.3.gz +%{_mandir}/man3/udev_device_get_devnum.3.gz +%{_mandir}/man3/udev_device_get_devpath.3.gz +%{_mandir}/man3/udev_device_get_devtype.3.gz +%{_mandir}/man3/udev_device_get_driver.3.gz +%{_mandir}/man3/udev_device_get_is_initialized.3.gz +%{_mandir}/man3/udev_device_get_parent.3.gz +%{_mandir}/man3/udev_device_get_parent_with_subsystem_devtype.3.gz +%{_mandir}/man3/udev_device_get_properties_list_entry.3.gz +%{_mandir}/man3/udev_device_get_property_value.3.gz +%{_mandir}/man3/udev_device_get_subsystem.3.gz +%{_mandir}/man3/udev_device_get_sysattr_list_entry.3.gz +%{_mandir}/man3/udev_device_get_sysattr_value.3.gz +%{_mandir}/man3/udev_device_get_sysname.3.gz +%{_mandir}/man3/udev_device_get_sysnum.3.gz +%{_mandir}/man3/udev_device_get_syspath.3.gz +%{_mandir}/man3/udev_device_get_tags_list_entry.3.gz +%{_mandir}/man3/udev_device_get_udev.3.gz +%{_mandir}/man3/udev_device_has_current_tag.3.gz +%{_mandir}/man3/udev_device_has_tag.3.gz +%{_mandir}/man3/udev_device_new_from_device_id.3.gz +%{_mandir}/man3/udev_device_new_from_devnum.3.gz +%{_mandir}/man3/udev_device_new_from_environment.3.gz +%{_mandir}/man3/udev_device_new_from_subsystem_sysname.3.gz +%{_mandir}/man3/udev_device_new_from_syspath.3.gz +%{_mandir}/man3/udev_device_ref.3.gz +%{_mandir}/man3/udev_device_set_sysattr_value.3.gz +%{_mandir}/man3/udev_device_unref.3.gz +%{_mandir}/man3/udev_enumerate_add_match_is_initialized.3.gz +%{_mandir}/man3/udev_enumerate_add_match_parent.3.gz +%{_mandir}/man3/udev_enumerate_add_match_property.3.gz +%{_mandir}/man3/udev_enumerate_add_match_subsystem.3.gz +%{_mandir}/man3/udev_enumerate_add_match_sysattr.3.gz +%{_mandir}/man3/udev_enumerate_add_match_sysname.3.gz +%{_mandir}/man3/udev_enumerate_add_match_tag.3.gz +%{_mandir}/man3/udev_enumerate_add_nomatch_subsystem.3.gz +%{_mandir}/man3/udev_enumerate_add_nomatch_sysattr.3.gz +%{_mandir}/man3/udev_enumerate_add_syspath.3.gz +%{_mandir}/man3/udev_enumerate_get_list_entry.3.gz +%{_mandir}/man3/udev_enumerate_get_udev.3.gz +%{_mandir}/man3/udev_enumerate_new.3.gz +%{_mandir}/man3/udev_enumerate_ref.3.gz +%{_mandir}/man3/udev_enumerate_scan_devices.3.gz +%{_mandir}/man3/udev_enumerate_scan_subsystems.3.gz +%{_mandir}/man3/udev_enumerate_unref.3.gz +%{_mandir}/man3/udev_list_entry.3.gz +%{_mandir}/man3/udev_list_entry_get_by_name.3.gz +%{_mandir}/man3/udev_list_entry_get_name.3.gz +%{_mandir}/man3/udev_list_entry_get_next.3.gz +%{_mandir}/man3/udev_list_entry_get_value.3.gz +%{_mandir}/man3/udev_monitor_enable_receiving.3.gz +%{_mandir}/man3/udev_monitor_filter_add_match_subsystem_devtype.3.gz +%{_mandir}/man3/udev_monitor_filter_add_match_tag.3.gz +%{_mandir}/man3/udev_monitor_filter_remove.3.gz +%{_mandir}/man3/udev_monitor_filter_update.3.gz +%{_mandir}/man3/udev_monitor_get_fd.3.gz +%{_mandir}/man3/udev_monitor_get_udev.3.gz +%{_mandir}/man3/udev_monitor_new_from_netlink.3.gz +%{_mandir}/man3/udev_monitor_receive_device.3.gz +%{_mandir}/man3/udev_monitor_ref.3.gz +%{_mandir}/man3/udev_monitor_set_receive_buffer_size.3.gz +%{_mandir}/man3/udev_monitor_unref.3.gz +%{_mandir}/man3/udev_new.3.gz +%{_mandir}/man3/udev_ref.3.gz +%{_mandir}/man3/udev_unref.3.gz +%endif From 6cfe6f23766723d0d5948659c5ad6789d3c32fedcc6a14283b1373409915352a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 31 Jan 2022 10:16:32 +0000 Subject: [PATCH 653/991] - Merge nss-resolved and nss-mymachines NSS plug-in modules into systemd-network and systemd-container respectively. These modules are plug-in modules hence the shared library packaging policy doesn't apply for them. Moreover they're pretty useless alone without their respective systemd services, Hence let's reduce the number of sub-packages as the list keeps increasing. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1238 --- baselibs.conf | 1 - files.container | 3 ++ files.network | 3 ++ systemd.changes | 11 +++++ systemd.spec | 105 +++++++++++++++++------------------------------- 5 files changed, 54 insertions(+), 69 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index 04045353..4e056067 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -9,4 +9,3 @@ systemd libsystemd0 libudev1 nss-myhostname -nss-mymachines diff --git a/files.container b/files.container index 3f2baa79..f7b3d670 100644 --- a/files.container +++ b/files.container @@ -6,8 +6,11 @@ %if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn +%{_libdir}/libnss_mymachines.so.2 %{_mandir}/man1/systemd-nspawn.1.gz %{_mandir}/man5/systemd.nspawn.5.gz +%{_mandir}/man8/libnss_mymachines.so.2.8.gz +%{_mandir}/man8/nss-mymachines.8.gz %endif %{_unitdir}/systemd-nspawn@.service diff --git a/files.network b/files.network index fa5a0bde..1a2f71d9 100644 --- a/files.network +++ b/files.network @@ -44,10 +44,13 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_datadir}/zsh/site-functions/_resolvectl +%{_libdir}/libnss_resolve.so.2 %{_mandir}/man1/resolvectl.1.gz %{_mandir}/man5/org.freedesktop.resolve1.5.gz %{_mandir}/man5/resolved.conf.5.gz %{_mandir}/man5/resolved.conf.d.5.gz +%{_mandir}/man8/libnss_resolve.so.2.8.gz +%{_mandir}/man8/nss-resolve.8.gz %{_mandir}/man8/systemd-resolved.8.gz %{_mandir}/man8/systemd-resolved.service.8.gz %{_systemd_util_dir}/resolv.conf diff --git a/systemd.changes b/systemd.changes index deb1a238..20b5991f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Jan 28 16:04:36 UTC 2022 - Franck Bui + +- Merge nss-resolved and nss-mymachines NSS plug-in modules into systemd-network + and systemd-container respectively. + + These modules are plug-in modules hence the shared library packaging policy + doesn't apply for them. Moreover they're pretty useless alone without their + respective systemd services, Hence let's reduce the number of sub-packages as + the list keeps increasing. + ------------------------------------------------------------------- Thu Jan 27 10:50:50 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3f5c461e..a3d21fff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -251,8 +251,8 @@ Conflicts: libudev-devel %endif %description devel -Development headers and files for libsystemd and libudev libraries. These files -are useful for developing applications linking to these libraries. +Development headers and files for libsystemd and libudev libraries for +developing and building applications linking to these libraries. %package sysvinit Summary: System V init tools @@ -301,6 +301,7 @@ License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: %{name} = %{version}-%{release} %systemd_requires +Requires: filesystem Requires: kmod Requires: system-group-hardware Requires: group(kvm) @@ -313,10 +314,8 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version}-%{release} -Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs @@ -362,20 +361,29 @@ Summary: Systemd tools for container management License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires +Obsoletes: nss-mymachines < %{version}-%{release} +Provides: nss-mymachines = %{version}-%{release} +Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} Conflicts: systemd-container +Provides: systemd-container = %{version}-%{release} %endif %description container Systemd tools to spawn and manage containers and virtual machines. -This package contains systemd-nspawn, machinectl, systemd-machined, -and systemd-importd. +In addition, it also contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual machines +using network namespacing and registered with systemd-machined. It also maps +UID/GIDs ranges used by containers to useful names. + +To activate this NSS module, you will need to include it in /etc/nsswitch.conf, +see nss-mymachines(8) manpage for more details. %if %{with networkd} || %{with resolved} %package network -Summary: Systemd tools for networkd and resolved +Summary: sytemd network manager and Network Name Resolution manager License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -383,13 +391,31 @@ Requires: %{name} = %{version}-%{release} Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) BuildRequires: pkgconfig(openssl) +Obsoletes: nss-resolve < %{version}-%{release} +Provides: nss-resolve = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %description network -Systemd tools to manage network settings using networkd and -resolver tools for resolved +systemd-networkd is a system service that manages networks. It detects and +configures network devices as they appear, as well as manages network addresses +and routes for any link for which it finds a .network file, see +systemd.network(5). It can also create virtual network devices based on their +description given by systemd.netdev(5) files. It may be controlle by +networkctl(1). +systemd-resolved is a system service that provides network name resolution to +local applications. It implements a caching and validating DNS/DNSSEC stub +resolver, as well as an LLMNR and MulticastDNS resolver and responder. It may be +controlled by resolvectl(1). + +Addtionally, this package also contains a plug-in module for the Name Service +Switch (NSS), which enables hostname resolutions by contacting +systemd-resolved(8). It replaces the nss-dns plug-in module that traditionally +resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in /etc/nsswitch.conf, +see nss-resolve(8) manpage for more details. %endif %if %{with portabled} @@ -438,38 +464,6 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Requires: %{name}-network = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-mymachines -This package contains a plugin for the Name Service Switch (NSS), -providing host name resolution for all local containers and virtual -machines registered with systemd-machined to their respective IP -addresses. It also maps UID/GIDs ranges used by containers to useful -names. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. -%endif - %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP @@ -617,7 +611,6 @@ Have fun with these services at your own risk. %autosetup -p1 -n systemd-v%{version}%{suse_version} %build -# keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ @@ -1143,16 +1136,6 @@ fi %postun -n nss-systemd -p /sbin/ldconfig %endif -%if %{with resolved} -%post -n nss-resolve -p /sbin/ldconfig -%postun -n nss-resolve -p /sbin/ldconfig -%endif - -%if %{with machined} -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig -%endif - %if %{with journal_remote} %pre journal-remote %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service @@ -1193,6 +1176,7 @@ fi %service_add_post systemd-networkd-wait-online.service %endif %if %{with resolved} +%ldconfig %service_add_post systemd-resolved.service %endif @@ -1211,6 +1195,7 @@ fi %service_del_postun systemd-networkd-wait-online.service %endif %if %{with resolved} +%ldconfig %service_del_postun systemd-resolved.service %endif %endif @@ -1357,22 +1342,6 @@ fi %{_mandir}/man8/nss-systemd.* %endif -%if %{with resolved} -%files -n nss-resolve -%defattr(-, root, root) -%{_libdir}/libnss_resolve.so.2 -%{_mandir}/man8/libnss_resolve.* -%{_mandir}/man8/nss-resolve.* -%endif - -%if %{with machined} -%files -n nss-mymachines -%defattr(-,root,root) -%{_libdir}/libnss_mymachines.so* -%{_mandir}/man8/libnss_mymachines.* -%{_mandir}/man8/nss-mymachines.* -%endif - %if %{with journal_remote} %files journal-remote %defattr(-, root, root) From 3868d6b01df970298f0bf502ab51d65287ccbb03471a395d0dcfb0ce70a04c22 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 31 Jan 2022 10:21:19 +0000 Subject: [PATCH 654/991] - Make use of %ldconfig_scriptlets OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1239 --- systemd.changes | 5 +++++ systemd.spec | 7 ++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/systemd.changes b/systemd.changes index 20b5991f..0e5f1fc0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jan 31 10:19:23 UTC 2022 - Franck Bui + +- Make use of %ldconfig_scriptlets + ------------------------------------------------------------------- Fri Jan 28 16:04:36 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a3d21fff..fb010f83 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1129,11 +1129,8 @@ fi %endif %if ! 0%{?bootstrap} -%post -n nss-myhostname -p /sbin/ldconfig -%postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-systemd -p /sbin/ldconfig -%postun -n nss-systemd -p /sbin/ldconfig +%ldconfig_scriptlets -n nss-myhostname +%ldconfig_scriptlets -n nss-systemd %endif %if %{with journal_remote} From 2b4112e1f97819707816ad98901838f0cde6507fde103e130c1bab15ff6ae730 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 31 Jan 2022 14:13:33 +0000 Subject: [PATCH 655/991] - Import commit 885e0b9126bd2cf1e3f6b147c45ec58a5550c75c 41334be59e meson: minor cleanup 3db0c28462 sysusers: split up systemd.conf - Drop 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (bsc#1195153) Since v241, the patch isn't useful anymore because resolved is no more able to create /etc/resolv.conf symlink by itself,it runs as 'systemd-resolve' user. The symlink is now handled by a tmpfiles config file which is only installed when systemd-resolved is. The tmpfiles config file has currently a lower priority than the one shipped by netconfig. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1240 --- ...e-etc-resolv.conf-symlink-at-runtime.patch | 53 ------------------- files.network | 3 ++ files.systemd | 3 +- systemd-v249.9+suse.75.g3743acbce3.tar.xz | 3 -- systemd-v249.9+suse.79.g885e0b9126.tar.xz | 3 ++ systemd.changes | 16 ++++++ systemd.spec | 6 +-- 7 files changed, 27 insertions(+), 60 deletions(-) delete mode 100644 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch delete mode 100644 systemd-v249.9+suse.75.g3743acbce3.tar.xz create mode 100644 systemd-v249.9+suse.79.g885e0b9126.tar.xz diff --git a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch deleted file mode 100644 index 510c4732..00000000 --- a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 1aa6cfc7ff05929f013262c86ab7557e5394fb4c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH 11/11] resolved: create /etc/resolv.conf symlink at runtime - -If the symlink doesn't exists, and we are being started, let's -create it to provie name resolution. - -If it exists, do nothing. In particular, if it is a broken symlink, -we cannot really know if the administator configured it to point to -a location used by some service that hasn't started yet, so we -don't touch it in that case either. - -https://bugzilla.redhat.com/show_bug.cgi?id=1313085 ---- - src/resolve/resolved.c | 6 ++++++ - tmpfiles.d/etc.conf.in | 3 --- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index aabaa266e9..39277ea487 100644 ---- a/src/resolve/resolved.c -+++ b/src/resolve/resolved.c -@@ -53,6 +53,12 @@ static int run(int argc, char *argv[]) { - if (r < 0) - return log_error_errno(r, "Cannot resolve user name %s: %m", user); - -+ /* As we're root, we can create /etc/resolv.conf symlink if it doesn't exist already */ -+ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); -+ if (r < 0 && errno != EEXIST) -+ log_warning_errno(errno, -+ "Could not create /etc/resolv.conf symlink: %m"); -+ - /* As we're root, we can create the directory where resolv.conf will live */ - r = mkdir_safe_label("/run/systemd/resolve", 0755, uid, gid, MKDIR_WARN_MODE); - if (r < 0) -diff --git a/tmpfiles.d/etc.conf.in b/tmpfiles.d/etc.conf.in -index 2323fd8cd8..ebdc699c26 100644 ---- a/tmpfiles.d/etc.conf.in -+++ b/tmpfiles.d/etc.conf.in -@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts - {% if HAVE_SMACK_RUN_LABEL %} - t /etc/mtab - - - - security.SMACK64=_ - {% endif %} --{% if ENABLE_RESOLVE %} --L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf --{% endif %} - C! /etc/nsswitch.conf - - - - - {% if HAVE_PAM %} - C! /etc/pam.d - - - - --- -2.26.2 - diff --git a/files.network b/files.network index 1a2f71d9..e6aa5e60 100644 --- a/files.network +++ b/files.network @@ -29,6 +29,7 @@ %{_systemd_util_dir}/network/80-wifi-station.network.example %{_systemd_util_dir}/systemd-networkd %{_systemd_util_dir}/systemd-networkd-wait-online +%{_sysusersdir}/systemd-network.conf %{_unitdir}/systemd-networkd-wait-online.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket @@ -55,5 +56,7 @@ %{_mandir}/man8/systemd-resolved.service.8.gz %{_systemd_util_dir}/resolv.conf %{_systemd_util_dir}/systemd-resolved +%{_sysusersdir}/systemd-resolve.conf +%{_tmpfilesdir}/systemd-resolve.conf %{_unitdir}/systemd-resolved.service %endif diff --git a/files.systemd b/files.systemd index 392d5f79..c9fd3a36 100644 --- a/files.systemd +++ b/files.systemd @@ -830,7 +830,8 @@ %if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif -%{_sysusersdir}/systemd.conf +%{_sysusersdir}/systemd-journal.conf +%{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/suse.conf %{_tmpfilesdir}/systemd-nologin.conf diff --git a/systemd-v249.9+suse.75.g3743acbce3.tar.xz b/systemd-v249.9+suse.75.g3743acbce3.tar.xz deleted file mode 100644 index 0adfea70..00000000 --- a/systemd-v249.9+suse.75.g3743acbce3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64320468ebe2502773e1365b50c369de2520ec4b614c623a4ca1339e26968ec2 -size 7278924 diff --git a/systemd-v249.9+suse.79.g885e0b9126.tar.xz b/systemd-v249.9+suse.79.g885e0b9126.tar.xz new file mode 100644 index 00000000..6d53a8ef --- /dev/null +++ b/systemd-v249.9+suse.79.g885e0b9126.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51c9904085a4c76526e49baf1e103afc39880d72247c971f91730d9cdebe9d99 +size 7279976 diff --git a/systemd.changes b/systemd.changes index 0e5f1fc0..7e42902c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Jan 31 11:37:23 UTC 2022 - Franck Bui + +- Import commit 885e0b9126bd2cf1e3f6b147c45ec58a5550c75c + + 41334be59e meson: minor cleanup + 3db0c28462 sysusers: split up systemd.conf + +- Drop 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (bsc#1195153) + + Since v241, the patch isn't useful anymore because resolved is no more able to + create /etc/resolv.conf symlink by itself,it runs as 'systemd-resolve' + user. The symlink is now handled by a tmpfiles config file which is only + installed when systemd-resolved is. The tmpfiles config file has currently a + lower priority than the one shipped by netconfig. + ------------------------------------------------------------------- Mon Jan 31 10:19:23 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index fb010f83..00616452 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.75.g3743acbce3 +%define suse_version +suse.79.g885e0b9126 %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -207,8 +207,7 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch9: 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch -Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch -Patch13: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git @@ -1314,6 +1313,7 @@ fi %{_unitdir}/systemd-coredump* %{_unitdir}/sockets.target.wants/systemd-coredump.socket %{_sysctldir}/50-coredump.conf +%{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump %if ! 0%{?bootstrap} From 71481ef6cf3ea343eeb500de3dc39624e98249adc8d919909e85156bf054c60e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 31 Jan 2022 15:05:15 +0000 Subject: [PATCH 656/991] - Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Given the fact that Factory no more ship SysV init scripts since several months, only scripts coming from 3rd party applications should remain which are unlikely to rely on the SUSE specifities implemented by these patches. This change was announced on the Factory mailing list: https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3ERUP5ZZJ6PPA36L3HVN46BH6U6JL74O/ OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1241 --- ...dd-back-support-for-SysV-scripts-for.patch | 123 ------------------ ...pport-for-all-virtual-facility-and-f.patch | 43 ------ systemd.changes | 12 ++ systemd.spec | 2 - 4 files changed, 12 insertions(+), 168 deletions(-) delete mode 100644 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch delete mode 100644 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch deleted file mode 100644 index 11737094..00000000 --- a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 1bd48f23ea7750b354bfb94482f9f035bf8b7841 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 26 May 2016 08:59:41 +0200 -Subject: [PATCH 06/11] sysv-generator: add (back) support for SysV scripts for - the early boot - -For the record, the upstream support was removed by commit -3cdebc217c42c8529086f2965319b6a48eaaeabe. - -The sysv-generator has some weirdos: for example a service at the rc0 -runlevel won't be started during shutdown since it will get both -"WantedBy=poweroff.target" and "Conflicts=shutdown.target". - -Anyways what's the current patch implements the following: - - - a symlink /etc/init.d/boot.d/S??boot.foo will add - "WantedBy/Before=sysinit.target" constraints and make sure that the - default dependencies added by systemd are turned off. - - - a symlink /etc/init.d/boot.d/K??boot.foo will add - "Conflicts/Before=shutdown.target" so "foo" service will be stopped - like any other regular services. If this symlink is not installed - however, "foo" will be stopped lately during the systemd killing - spree. - -This is a forward-port of commit 29db8537e1ca10796797d9854d1 in SP1. - -[Since v232] - -Support for S* symlinks in runlevel 0 or 6 has been completely and silently -removed by 788d2b088b13a2444b9eb2ea82c0cc57d9f0980f. Since it was already -broken as pointed out above, this probably wasn't really used and therefore -no one will really care. So let's drop it too. - -However this has the side effect to make the support of early sysv scripts more -difficult. To make things easy, the support of K* symlinks in boot.d/ has been -removed too: this is probably not used (anymore) (at least intentionally). - -The consequence is that early sysv services are stopped during shutdown at -the same time as 'normal' services. ---- - src/sysv-generator/sysv-generator.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index bf23c48662..fa5355c964 100644 ---- a/src/sysv-generator/sysv-generator.c -+++ b/src/sysv-generator/sysv-generator.c -@@ -31,6 +31,9 @@ static const struct { - const char *path; - const char *target; - } rcnd_table[] = { -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET }, -+ - /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET }, - { "rc2.d", SPECIAL_MULTI_USER_TARGET }, -@@ -57,6 +60,7 @@ typedef struct SysvStub { - bool has_lsb; - bool reload; - bool loaded; -+ bool early; - } SysvStub; - - static SysvStub* free_sysvstub(SysvStub *s) { -@@ -146,6 +150,12 @@ static int generate_unit_file(SysvStub *s) { - fprintf(f, "Description=%s\n", t); - } - -+ if (s->early) { -+ fprintf(f, "DefaultDependencies=no\n"); -+ fprintf(f, "Conflicts=%s\n", SPECIAL_SHUTDOWN_TARGET); -+ fprintf(f, "Before=%s\n", SPECIAL_SHUTDOWN_TARGET); -+ } -+ - STRV_FOREACH(p, s->before) - fprintf(f, "Before=%s\n", *p); - STRV_FOREACH(p, s->after) -@@ -212,6 +222,10 @@ static char *sysv_translate_name(const char *name) { - _cleanup_free_ char *c = NULL; - char *res; - -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ name += 5; -+ - c = strdup(name); - if (!c) - return NULL; -@@ -288,6 +302,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - return 1; - } - -+ /* Strip "boot." prefix from file name for comparison (Suse specific) */ -+ e = startswith(filename, "boot."); -+ if (e) -+ filename += 5; -+ - /* Strip ".sh" suffix from file name for comparison */ - filename_no_sh = strdupa(filename); - e = endswith(filename_no_sh, ".sh"); -@@ -651,6 +670,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { - if (other->sysv_start_priority < 0) - continue; - -+ if (s->early != other->early) -+ continue; -+ - /* If both units have modern headers we don't care - * about the priorities */ - if (s->has_lsb && other->has_lsb) -@@ -775,6 +797,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { - .sysv_start_priority = -1, - .name = TAKE_PTR(name), - .path = TAKE_PTR(fpath), -+ .early = !!startswith(de->d_name, "boot."), - }; - - r = hashmap_put(all_services, service->name, service); --- -2.26.2 - diff --git a/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch b/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch deleted file mode 100644 index 91cc4e55..00000000 --- a/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 6f4d9d9688ad65bb46d09ac09f570c6ee4bc3671 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 14 Jan 2022 08:17:38 +0100 -Subject: [PATCH 1010/1010] sysv: add back support for '$all' virtual facility - and '+' facitity name prefix - -'$all' was probably a Debian thing and has probably never been supported by RH, -which explains why systemd upstream never supported it too. At least I couldn't -find any reference of this facility name in -http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic.html#FACILNAME. OTOH -'$all' is described in https://wiki.debian.org/LSBInitScripts - -Regarding the '+' prefix, I couldn't find any mention of it -anywhere. Apparently it was equivalent to '$' in facility names. - -[wfink: bsc#858864] ---- - src/sysv-generator/sysv-generator.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index c6e1953839..0aadb397ed 100644 ---- a/src/sysv-generator/sysv-generator.c -+++ b/src/sysv-generator/sysv-generator.c -@@ -243,6 +243,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - "remote_fs", SPECIAL_REMOTE_FS_TARGET, - "syslog", NULL, - "time", SPECIAL_TIME_SYNC_TARGET, -+ "all", SPECIAL_DEFAULT_TARGET, - }; - - const char *filename; -@@ -257,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - - filename = basename(s->path); - -+ n = *name == '+' ? ++name : name; - n = *name == '$' ? name + 1 : name; - - for (i = 0; i < ELEMENTSOF(table); i += 2) { --- -2.31.1 - diff --git a/systemd.changes b/systemd.changes index 7e42902c..384769f5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Jan 31 14:54:07 UTC 2022 - Franck Bui + +- Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch + + Given the fact that Factory no more ship SysV init scripts since several + months, only scripts coming from 3rd party applications should remain which + are unlikely to rely on the SUSE specifities implemented by these + patches. This change was announced on the Factory mailing list: + + https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3ERUP5ZZJ6PPA36L3HVN46BH6U6JL74O/ + ------------------------------------------------------------------- Mon Jan 31 11:37:23 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 00616452..f6007a22 100644 --- a/systemd.spec +++ b/systemd.spec @@ -201,10 +201,8 @@ Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -Patch9: 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch From dc2bffc70d1903ed3cf59c099fc3cbde01901560ef07bcdf5b8d9d64ce7bfbf1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 31 Jan 2022 15:56:09 +0000 Subject: [PATCH 657/991] - Import commit 117bd7f14aa7834d85a4306cd380d292bec04108 1395c74be7 udevadm: cleanup-db: don't delete information for kept db entries (bsc#1194912) bbafc8092a udevadm: cleanup_dir: use dot_or_dot_dot() OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1242 --- systemd-v249.9+suse.79.g885e0b9126.tar.xz | 3 --- systemd-v249.9+suse.82.g117bd7f14a.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 10 +++++----- 4 files changed, 16 insertions(+), 8 deletions(-) delete mode 100644 systemd-v249.9+suse.79.g885e0b9126.tar.xz create mode 100644 systemd-v249.9+suse.82.g117bd7f14a.tar.xz diff --git a/systemd-v249.9+suse.79.g885e0b9126.tar.xz b/systemd-v249.9+suse.79.g885e0b9126.tar.xz deleted file mode 100644 index 6d53a8ef..00000000 --- a/systemd-v249.9+suse.79.g885e0b9126.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:51c9904085a4c76526e49baf1e103afc39880d72247c971f91730d9cdebe9d99 -size 7279976 diff --git a/systemd-v249.9+suse.82.g117bd7f14a.tar.xz b/systemd-v249.9+suse.82.g117bd7f14a.tar.xz new file mode 100644 index 00000000..048b7576 --- /dev/null +++ b/systemd-v249.9+suse.82.g117bd7f14a.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:167cad3440fd7babb26317d528842f78fa37573bdaeda29845990dc0986463f0 +size 7280500 diff --git a/systemd.changes b/systemd.changes index 384769f5..2921bd08 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jan 31 15:52:44 UTC 2022 - Franck Bui + +- Import commit 117bd7f14aa7834d85a4306cd380d292bec04108 + + 1395c74be7 udevadm: cleanup-db: don't delete information for kept db entries (bsc#1194912) + bbafc8092a udevadm: cleanup_dir: use dot_or_dot_dot() + ------------------------------------------------------------------- Mon Jan 31 14:54:07 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f6007a22..106f792a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.79.g885e0b9126 +%define suse_version +suse.82.g117bd7f14a %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -193,10 +193,10 @@ Source202: files.container Source203: files.network Source204: files.devel -# Patches listed below are SUSE specific and should be kept at its -# minimum. We try hard to push our changes to upstream but sometimes -# they are only relevant for SUSE distros. Special rewards for those -# who will manage to get rid of one of them ! +# Patches listed below are openSUSE specific and should be kept at its +# minimum. We try hard to push our changes to upstream but sometimes they are +# only relevant for SUSE distros. Special rewards for those who will manage to +# get rid of one of them ! Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch From f09be28e735b16521b8678b0c011850aaed006a849d0a67e42249423da68dd86 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 1 Feb 2022 09:21:17 +0000 Subject: [PATCH 658/991] - Installation of libnss_mymachines.so depended on %{bootstrap} but it is actually installed when %{with machined} is true. - Call ldconfig when container subpackage is installed since it ships nss-mymachines NSS plug-in module. - Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1243 --- files.container | 2 +- systemd.changes | 12 +++++++++++- systemd.spec | 6 +++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/files.container b/files.container index f7b3d670..c7fa8848 100644 --- a/files.container +++ b/files.container @@ -6,7 +6,6 @@ %if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn -%{_libdir}/libnss_mymachines.so.2 %{_mandir}/man1/systemd-nspawn.1.gz %{_mandir}/man5/systemd.nspawn.5.gz %{_mandir}/man8/libnss_mymachines.so.2.8.gz @@ -23,6 +22,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy %{_datadir}/zsh/site-functions/_machinectl %{_datadir}/zsh/site-functions/_sd_machines +%{_libdir}/libnss_mymachines.so.2 %{_mandir}/man1/machinectl.1.gz %{_mandir}/man5/org.freedesktop.machine1.5.gz %{_mandir}/man8/systemd-machined.8.gz diff --git a/systemd.changes b/systemd.changes index 2921bd08..f4ec6cc0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Feb 1 09:18:25 UTC 2022 - Franck Bui + +- Installation of libnss_mymachines.so depended on %{bootstrap} but it is + actually installed when %{with machined} is true. + +- Call ldconfig when container subpackage is installed since it ships + nss-mymachines NSS plug-in module. + ------------------------------------------------------------------- Mon Jan 31 15:52:44 UTC 2022 - Franck Bui @@ -9,7 +18,8 @@ Mon Jan 31 15:52:44 UTC 2022 - Franck Bui ------------------------------------------------------------------- Mon Jan 31 14:54:07 UTC 2022 - Franck Bui -- Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch +- Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Given the fact that Factory no more ship SysV init scripts since several months, only scripts coming from 3rd party applications should remain which diff --git a/systemd.spec b/systemd.spec index 106f792a..401a7b42 100644 --- a/systemd.spec +++ b/systemd.spec @@ -380,7 +380,7 @@ see nss-mymachines(8) manpage for more details. %if %{with networkd} || %{with resolved} %package network -Summary: sytemd network manager and Network Name Resolution manager +Summary: systemd network and Network Name Resolution managers License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -1105,6 +1105,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %post container %tmpfiles_create systemd-nspawn.conf %if %{with machined} +%ldconfig if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed @@ -1123,6 +1124,9 @@ if [ $1 -gt 1 ]; then # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi + +%postun container +%ldconfig %endif %if ! 0%{?bootstrap} From 53f129a60dff245d10c7eb0b656f892131f979beee5199920acf0fe54bafbd24 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 2 Feb 2022 08:56:03 +0000 Subject: [PATCH 659/991] systemd-mini-doc should conflict with systemd-doc OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1244 --- systemd.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/systemd.spec b/systemd.spec index 401a7b42..4ef6b10e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -228,6 +228,10 @@ drop-in replacement for sysvinit. Summary: HTML documentation for systemd License: LGPL-2.1-or-later Supplements: (systemd and patterns-base-documentation) +%if 0%{?bootstrap} +Provides: systemd-doc = %{version}-%{release} +Conflicts: systemd-doc +%endif %description doc The HTML documentation for systemd. From 7d7afbe97940a656b10ea1e9c57bb4144b6e39b6804b639f9e6f5554f29b929c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 2 Feb 2022 09:33:06 +0000 Subject: [PATCH 660/991] - Make more use of %{_unitdir} in files.{systemd,container} OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1245 --- files.container | 2 +- files.systemd | 550 ++++++++++++++++++++++++------------------------ systemd.changes | 5 + 3 files changed, 281 insertions(+), 276 deletions(-) diff --git a/files.container b/files.container index c7fa8848..faac2676 100644 --- a/files.container +++ b/files.container @@ -28,11 +28,11 @@ %{_mandir}/man8/systemd-machined.8.gz %{_mandir}/man8/systemd-machined.service.8.gz %{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh -%{_systemd_util_dir}/system/machines.target %{_systemd_util_dir}/systemd-machined %{_tmpfilesdir}/systemd-nspawn.conf %{_unitdir}/dbus-org.freedesktop.machine1.service %{_unitdir}/machine.slice +%{_unitdir}/machines.target %{_unitdir}/machines.target.wants/var-lib-machines.mount %{_unitdir}/remote-fs.target.wants/var-lib-machines.mount %{_unitdir}/systemd-machined.service diff --git a/files.systemd b/files.systemd index c9fd3a36..69c91fe0 100644 --- a/files.systemd +++ b/files.systemd @@ -57,35 +57,9 @@ %endif %dir %{_systemd_util_dir}/ntp-units.d %dir %{_systemd_util_dir}/scripts -%dir %{_systemd_util_dir}/system %dir %{_systemd_util_dir}/system-preset %dir %{_systemd_util_dir}/system-shutdown %dir %{_systemd_util_dir}/system-sleep -%dir %{_systemd_util_dir}/system/basic.target.wants -%dir %{_systemd_util_dir}/system/dbus.target.wants -%dir %{_systemd_util_dir}/system/default.target.wants -%dir %{_systemd_util_dir}/system/graphical.target.wants -%dir %{_systemd_util_dir}/system/halt.target.wants -%dir %{_systemd_util_dir}/system/initrd-root-device.target.wants -%dir %{_systemd_util_dir}/system/initrd-root-fs.target.wants -%dir %{_systemd_util_dir}/system/kexec.target.wants -%dir %{_systemd_util_dir}/system/local-fs.target.wants -%dir %{_systemd_util_dir}/system/multi-user.target.wants -%dir %{_systemd_util_dir}/system/poweroff.target.wants -%dir %{_systemd_util_dir}/system/reboot.target.wants -%dir %{_systemd_util_dir}/system/remote-fs.target.wants -%dir %{_systemd_util_dir}/system/rescue.target.wants -%if %{with sysvcompat} -%dir %{_systemd_util_dir}/system/runlevel1.target.wants -%dir %{_systemd_util_dir}/system/runlevel2.target.wants -%dir %{_systemd_util_dir}/system/runlevel3.target.wants -%dir %{_systemd_util_dir}/system/runlevel4.target.wants -%dir %{_systemd_util_dir}/system/runlevel5.target.wants -%endif -%dir %{_systemd_util_dir}/system/shutdown.target.wants -%dir %{_systemd_util_dir}/system/sockets.target.wants -%dir %{_systemd_util_dir}/system/sysinit.target.wants -%dir %{_systemd_util_dir}/system/timers.target.wants %dir %{_systemd_util_dir}/user %dir %{_systemd_util_dir}/user-generators %dir %{_systemd_util_dir}/user-preset @@ -93,6 +67,32 @@ %dir %{_systemdusergeneratordir} %dir %{_sysusersdir} %dir %{_tmpfilesdir} +%dir %{_unitdir} +%dir %{_unitdir}/basic.target.wants +%dir %{_unitdir}/dbus.target.wants +%dir %{_unitdir}/default.target.wants +%dir %{_unitdir}/graphical.target.wants +%dir %{_unitdir}/halt.target.wants +%dir %{_unitdir}/initrd-root-device.target.wants +%dir %{_unitdir}/initrd-root-fs.target.wants +%dir %{_unitdir}/kexec.target.wants +%dir %{_unitdir}/local-fs.target.wants +%dir %{_unitdir}/multi-user.target.wants +%dir %{_unitdir}/poweroff.target.wants +%dir %{_unitdir}/reboot.target.wants +%dir %{_unitdir}/remote-fs.target.wants +%dir %{_unitdir}/rescue.target.wants +%if %{with sysvcompat} +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%endif +%dir %{_unitdir}/shutdown.target.wants +%dir %{_unitdir}/sockets.target.wants +%dir %{_unitdir}/sysinit.target.wants +%dir %{_unitdir}/timers.target.wants %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -484,255 +484,6 @@ %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh %{_systemd_util_dir}/system-preset/99-default.preset -%{_systemd_util_dir}/system/after-local.service -%{_systemd_util_dir}/system/autovt@.service -%{_systemd_util_dir}/system/basic.target -%{_systemd_util_dir}/system/blockdev@.target -%{_systemd_util_dir}/system/bluetooth.target -%{_systemd_util_dir}/system/boot-complete.target -%{_systemd_util_dir}/system/console-getty.service -%{_systemd_util_dir}/system/container-getty@.service -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/cryptsetup-pre.target -%{_systemd_util_dir}/system/cryptsetup.target -%endif -%{_systemd_util_dir}/system/ctrl-alt-del.target -%{_systemd_util_dir}/system/dbus-org.freedesktop.hostname1.service -%{_systemd_util_dir}/system/dbus-org.freedesktop.locale1.service -%{_systemd_util_dir}/system/dbus-org.freedesktop.login1.service -%{_systemd_util_dir}/system/dbus-org.freedesktop.timedate1.service -%{_systemd_util_dir}/system/debug-shell.service -%{_systemd_util_dir}/system/default.target -%{_systemd_util_dir}/system/dev-hugepages.mount -%{_systemd_util_dir}/system/dev-mqueue.mount -%{_systemd_util_dir}/system/emergency.service -%{_systemd_util_dir}/system/emergency.target -%{_systemd_util_dir}/system/exit.target -%{_systemd_util_dir}/system/final.target -%{_systemd_util_dir}/system/first-boot-complete.target -%{_systemd_util_dir}/system/getty-pre.target -%{_systemd_util_dir}/system/getty.target -%{_systemd_util_dir}/system/getty@.service -%{_systemd_util_dir}/system/graphical.target -%if %{with sysvcompat} -%{_systemd_util_dir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service -%endif -%{_systemd_util_dir}/system/halt.target -%{_systemd_util_dir}/system/hibernate.target -%{_systemd_util_dir}/system/hybrid-sleep.target -%{_systemd_util_dir}/system/initrd-cleanup.service -%{_systemd_util_dir}/system/initrd-fs.target -%{_systemd_util_dir}/system/initrd-parse-etc.service -%{_systemd_util_dir}/system/initrd-root-device.target -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/initrd-root-device.target.wants/remote-cryptsetup.target -%{_systemd_util_dir}/system/initrd-root-device.target.wants/remote-veritysetup.target -%endif -%{_systemd_util_dir}/system/initrd-root-fs.target -%{_systemd_util_dir}/system/initrd-switch-root.service -%{_systemd_util_dir}/system/initrd-switch-root.target -%{_systemd_util_dir}/system/initrd-usr-fs.target -%{_systemd_util_dir}/system/initrd.target -%{_systemd_util_dir}/system/kexec.target -%{_systemd_util_dir}/system/local-fs-pre.target -%{_systemd_util_dir}/system/local-fs.target -%{_systemd_util_dir}/system/local-fs.target.wants/tmp.mount -%if %{with sysvcompat} -%{_systemd_util_dir}/system/local-fs.target.wants/var-lock.mount -%{_systemd_util_dir}/system/local-fs.target.wants/var-run.mount -%endif -%{_systemd_util_dir}/system/modprobe@.service -%{_systemd_util_dir}/system/multi-user.target -%{_systemd_util_dir}/system/multi-user.target.wants/after-local.service -%{_systemd_util_dir}/system/multi-user.target.wants/getty.target -%{_systemd_util_dir}/system/multi-user.target.wants/systemd-logind.service -%if %{with sysvcompat} -%{_systemd_util_dir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service -%endif -%{_systemd_util_dir}/system/multi-user.target.wants/systemd-user-sessions.service -%{_systemd_util_dir}/system/network-online.target -%{_systemd_util_dir}/system/network-pre.target -%{_systemd_util_dir}/system/network.target -%{_systemd_util_dir}/system/nss-lookup.target -%{_systemd_util_dir}/system/nss-user-lookup.target -%{_systemd_util_dir}/system/paths.target -%{_systemd_util_dir}/system/poweroff.target -%{_systemd_util_dir}/system/printer.target -%{_systemd_util_dir}/system/proc-sys-fs-binfmt_misc.automount -%{_systemd_util_dir}/system/proc-sys-fs-binfmt_misc.mount -%{_systemd_util_dir}/system/quotaon.service -%if %{with sysvcompat} -%{_systemd_util_dir}/system/rc-local.service -%endif -%{_systemd_util_dir}/system/reboot.target -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/remote-cryptsetup.target -%endif -%{_systemd_util_dir}/system/remote-fs-pre.target -%{_systemd_util_dir}/system/remote-fs.target -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/remote-veritysetup.target -%endif -%{_systemd_util_dir}/system/rescue.service -%{_systemd_util_dir}/system/rescue.target -%if %{with sysvcompat} -%{_systemd_util_dir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service -%endif -%{_systemd_util_dir}/system/rpcbind.target -%if %{with sysvcompat} -%{_systemd_util_dir}/system/runlevel0.target -%{_systemd_util_dir}/system/runlevel1.target -%{_systemd_util_dir}/system/runlevel2.target -%{_systemd_util_dir}/system/runlevel3.target -%{_systemd_util_dir}/system/runlevel4.target -%{_systemd_util_dir}/system/runlevel5.target -%{_systemd_util_dir}/system/runlevel6.target -%endif -%{_systemd_util_dir}/system/serial-getty@.service -%{_systemd_util_dir}/system/shutdown.target -%{_systemd_util_dir}/system/sigpwr.target -%{_systemd_util_dir}/system/sleep.target -%{_systemd_util_dir}/system/slices.target -%{_systemd_util_dir}/system/smartcard.target -%{_systemd_util_dir}/system/sockets.target -%if %{with sysvcompat} -%{_systemd_util_dir}/system/sockets.target.wants/systemd-initctl.socket -%endif -%{_systemd_util_dir}/system/sockets.target.wants/systemd-journald-dev-log.socket -%{_systemd_util_dir}/system/sockets.target.wants/systemd-journald.socket -%{_systemd_util_dir}/system/sound.target -%{_systemd_util_dir}/system/suspend-then-hibernate.target -%{_systemd_util_dir}/system/suspend.target -%{_systemd_util_dir}/system/swap.target -%{_systemd_util_dir}/system/sys-fs-fuse-connections.mount -%{_systemd_util_dir}/system/sys-kernel-config.mount -%{_systemd_util_dir}/system/sys-kernel-debug.mount -%{_systemd_util_dir}/system/sys-kernel-tracing.mount -%{_systemd_util_dir}/system/sysinit.target -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/sysinit.target.wants/cryptsetup.target -%endif -%{_systemd_util_dir}/system/sysinit.target.wants/dev-hugepages.mount -%{_systemd_util_dir}/system/sysinit.target.wants/dev-mqueue.mount -%{_systemd_util_dir}/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount -%{_systemd_util_dir}/system/sysinit.target.wants/sys-fs-fuse-connections.mount -%{_systemd_util_dir}/system/sysinit.target.wants/sys-kernel-config.mount -%{_systemd_util_dir}/system/sysinit.target.wants/sys-kernel-debug.mount -%{_systemd_util_dir}/system/sysinit.target.wants/sys-kernel-tracing.mount -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-ask-password-console.path -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-binfmt.service -%if %{with sd_boot} -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-boot-system-token.service -%endif -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-firstboot.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-journal-catalog-update.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-journal-flush.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-journald.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-machine-id-commit.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-modules-load.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-random-seed.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-sysctl.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-sysusers.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-tmpfiles-setup.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-update-done.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-update-utmp.service -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/sysinit.target.wants/veritysetup.target -%endif -%{_systemd_util_dir}/system/syslog.socket -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/system-systemd\x2dcryptsetup.slice -%endif -%{_systemd_util_dir}/system/system-update-cleanup.service -%{_systemd_util_dir}/system/system-update-pre.target -%{_systemd_util_dir}/system/system-update.target -%{_systemd_util_dir}/system/systemd-ask-password-console.path -%{_systemd_util_dir}/system/systemd-ask-password-console.service -%{_systemd_util_dir}/system/systemd-ask-password-wall.path -%{_systemd_util_dir}/system/systemd-ask-password-wall.service -%{_systemd_util_dir}/system/systemd-backlight@.service -%{_systemd_util_dir}/system/systemd-binfmt.service -%if %{with sd_boot} -%{_systemd_util_dir}/system/systemd-bless-boot.service -%endif -%{_systemd_util_dir}/system/systemd-boot-check-no-failures.service -%if %{with sd_boot} -%{_systemd_util_dir}/system/systemd-boot-system-token.service -%endif -%{_systemd_util_dir}/system/systemd-exit.service -%{_systemd_util_dir}/system/systemd-firstboot.service -%{_systemd_util_dir}/system/systemd-fsck-root.service -%{_systemd_util_dir}/system/systemd-fsck@.service -%{_systemd_util_dir}/system/systemd-halt.service -%{_systemd_util_dir}/system/systemd-hibernate-resume@.service -%{_systemd_util_dir}/system/systemd-hibernate.service -%{_systemd_util_dir}/system/systemd-hostnamed.service -%{_systemd_util_dir}/system/systemd-hybrid-sleep.service -%if %{with sysvcompat} -%{_systemd_util_dir}/system/systemd-initctl.service -%{_systemd_util_dir}/system/systemd-initctl.socket -%endif -%{_systemd_util_dir}/system/systemd-journal-catalog-update.service -%{_systemd_util_dir}/system/systemd-journal-flush.service -%{_systemd_util_dir}/system/systemd-journald-dev-log.socket -%{_systemd_util_dir}/system/systemd-journald-varlink@.socket -%{_systemd_util_dir}/system/systemd-journald.service -%{_systemd_util_dir}/system/systemd-journald.socket -%{_systemd_util_dir}/system/systemd-journald@.service -%{_systemd_util_dir}/system/systemd-journald@.socket -%{_systemd_util_dir}/system/systemd-kexec.service -%{_systemd_util_dir}/system/systemd-localed.service -%{_systemd_util_dir}/system/systemd-logind.service -%{_systemd_util_dir}/system/systemd-machine-id-commit.service -%{_systemd_util_dir}/system/systemd-modules-load.service -%{_systemd_util_dir}/system/systemd-poweroff.service -%{_systemd_util_dir}/system/systemd-quotacheck.service -%{_systemd_util_dir}/system/systemd-random-seed.service -%{_systemd_util_dir}/system/systemd-reboot.service -%{_systemd_util_dir}/system/systemd-remount-fs.service -%{_systemd_util_dir}/system/systemd-rfkill.service -%{_systemd_util_dir}/system/systemd-rfkill.socket -%{_systemd_util_dir}/system/systemd-suspend-then-hibernate.service -%{_systemd_util_dir}/system/systemd-suspend.service -%{_systemd_util_dir}/system/systemd-sysctl.service -%{_systemd_util_dir}/system/systemd-sysext.service -%{_systemd_util_dir}/system/systemd-sysusers.service -%{_systemd_util_dir}/system/systemd-time-wait-sync.service -%{_systemd_util_dir}/system/systemd-timedated.service -%{_systemd_util_dir}/system/systemd-timesyncd.service -%{_systemd_util_dir}/system/systemd-tmpfiles-clean.service -%{_systemd_util_dir}/system/systemd-tmpfiles-clean.timer -%{_systemd_util_dir}/system/systemd-tmpfiles-setup-dev.service -%{_systemd_util_dir}/system/systemd-tmpfiles-setup.service -%{_systemd_util_dir}/system/systemd-update-done.service -%if %{with sysvcompat} -%{_systemd_util_dir}/system/systemd-update-utmp-runlevel.service -%endif -%{_systemd_util_dir}/system/systemd-update-utmp.service -%{_systemd_util_dir}/system/systemd-user-sessions.service -%{_systemd_util_dir}/system/systemd-vconsole-setup.service -%{_systemd_util_dir}/system/systemd-volatile-root.service -%{_systemd_util_dir}/system/time-set.target -%{_systemd_util_dir}/system/time-sync.target -%{_systemd_util_dir}/system/timers.target -%{_systemd_util_dir}/system/timers.target.wants/systemd-tmpfiles-clean.timer -%{_systemd_util_dir}/system/tmp.mount -%{_systemd_util_dir}/system/umount.target -%{_systemd_util_dir}/system/usb-gadget.target -%{_systemd_util_dir}/system/user-.slice.d -%{_systemd_util_dir}/system/user-.slice.d/10-defaults.conf -%{_systemd_util_dir}/system/user-runtime-dir@.service -%{_systemd_util_dir}/system/user.slice -%{_systemd_util_dir}/system/user@.service -%if %{with sysvcompat} -%{_systemd_util_dir}/system/var-lock.mount -%{_systemd_util_dir}/system/var-run.mount -%endif -%if ! 0%{?bootstrap} -%{_systemd_util_dir}/system/veritysetup-pre.target -%{_systemd_util_dir}/system/veritysetup.target -%endif %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-ac-power %{_systemd_util_dir}/systemd-backlight @@ -842,6 +593,255 @@ %{_udevrulesdir}/71-seat.rules %{_udevrulesdir}/73-seat-late.rules %{_udevrulesdir}/99-systemd.rules +%{_unitdir}/after-local.service +%{_unitdir}/autovt@.service +%{_unitdir}/basic.target +%{_unitdir}/blockdev@.target +%{_unitdir}/bluetooth.target +%{_unitdir}/boot-complete.target +%{_unitdir}/console-getty.service +%{_unitdir}/container-getty@.service +%if ! 0%{?bootstrap} +%{_unitdir}/cryptsetup-pre.target +%{_unitdir}/cryptsetup.target +%endif +%{_unitdir}/ctrl-alt-del.target +%{_unitdir}/dbus-org.freedesktop.hostname1.service +%{_unitdir}/dbus-org.freedesktop.locale1.service +%{_unitdir}/dbus-org.freedesktop.login1.service +%{_unitdir}/dbus-org.freedesktop.timedate1.service +%{_unitdir}/debug-shell.service +%{_unitdir}/default.target +%{_unitdir}/dev-hugepages.mount +%{_unitdir}/dev-mqueue.mount +%{_unitdir}/emergency.service +%{_unitdir}/emergency.target +%{_unitdir}/exit.target +%{_unitdir}/final.target +%{_unitdir}/first-boot-complete.target +%{_unitdir}/getty-pre.target +%{_unitdir}/getty.target +%{_unitdir}/getty@.service +%{_unitdir}/graphical.target +%if %{with sysvcompat} +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/halt.target +%{_unitdir}/hibernate.target +%{_unitdir}/hybrid-sleep.target +%{_unitdir}/initrd-cleanup.service +%{_unitdir}/initrd-fs.target +%{_unitdir}/initrd-parse-etc.service +%{_unitdir}/initrd-root-device.target +%if ! 0%{?bootstrap} +%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target +%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target +%endif +%{_unitdir}/initrd-root-fs.target +%{_unitdir}/initrd-switch-root.service +%{_unitdir}/initrd-switch-root.target +%{_unitdir}/initrd-usr-fs.target +%{_unitdir}/initrd.target +%{_unitdir}/kexec.target +%{_unitdir}/local-fs-pre.target +%{_unitdir}/local-fs.target +%{_unitdir}/local-fs.target.wants/tmp.mount +%if %{with sysvcompat} +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%endif +%{_unitdir}/modprobe@.service +%{_unitdir}/multi-user.target +%{_unitdir}/multi-user.target.wants/after-local.service +%{_unitdir}/multi-user.target.wants/getty.target +%{_unitdir}/multi-user.target.wants/systemd-logind.service +%if %{with sysvcompat} +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/multi-user.target.wants/systemd-user-sessions.service +%{_unitdir}/network-online.target +%{_unitdir}/network-pre.target +%{_unitdir}/network.target +%{_unitdir}/nss-lookup.target +%{_unitdir}/nss-user-lookup.target +%{_unitdir}/paths.target +%{_unitdir}/poweroff.target +%{_unitdir}/printer.target +%{_unitdir}/proc-sys-fs-binfmt_misc.automount +%{_unitdir}/proc-sys-fs-binfmt_misc.mount +%{_unitdir}/quotaon.service +%if %{with sysvcompat} +%{_unitdir}/rc-local.service +%endif +%{_unitdir}/reboot.target +%if ! 0%{?bootstrap} +%{_unitdir}/remote-cryptsetup.target +%endif +%{_unitdir}/remote-fs-pre.target +%{_unitdir}/remote-fs.target +%if ! 0%{?bootstrap} +%{_unitdir}/remote-veritysetup.target +%endif +%{_unitdir}/rescue.service +%{_unitdir}/rescue.target +%if %{with sysvcompat} +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/rpcbind.target +%if %{with sysvcompat} +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%endif +%{_unitdir}/serial-getty@.service +%{_unitdir}/shutdown.target +%{_unitdir}/sigpwr.target +%{_unitdir}/sleep.target +%{_unitdir}/slices.target +%{_unitdir}/smartcard.target +%{_unitdir}/sockets.target +%if %{with sysvcompat} +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%endif +%{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket +%{_unitdir}/sockets.target.wants/systemd-journald.socket +%{_unitdir}/sound.target +%{_unitdir}/suspend-then-hibernate.target +%{_unitdir}/suspend.target +%{_unitdir}/swap.target +%{_unitdir}/sys-fs-fuse-connections.mount +%{_unitdir}/sys-kernel-config.mount +%{_unitdir}/sys-kernel-debug.mount +%{_unitdir}/sys-kernel-tracing.mount +%{_unitdir}/sysinit.target +%if ! 0%{?bootstrap} +%{_unitdir}/sysinit.target.wants/cryptsetup.target +%endif +%{_unitdir}/sysinit.target.wants/dev-hugepages.mount +%{_unitdir}/sysinit.target.wants/dev-mqueue.mount +%{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount +%{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount +%{_unitdir}/sysinit.target.wants/sys-kernel-config.mount +%{_unitdir}/sysinit.target.wants/sys-kernel-debug.mount +%{_unitdir}/sysinit.target.wants/sys-kernel-tracing.mount +%{_unitdir}/sysinit.target.wants/systemd-ask-password-console.path +%{_unitdir}/sysinit.target.wants/systemd-binfmt.service +%if %{with sd_boot} +%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service +%endif +%{_unitdir}/sysinit.target.wants/systemd-firstboot.service +%{_unitdir}/sysinit.target.wants/systemd-journal-catalog-update.service +%{_unitdir}/sysinit.target.wants/systemd-journal-flush.service +%{_unitdir}/sysinit.target.wants/systemd-journald.service +%{_unitdir}/sysinit.target.wants/systemd-machine-id-commit.service +%{_unitdir}/sysinit.target.wants/systemd-modules-load.service +%{_unitdir}/sysinit.target.wants/systemd-random-seed.service +%{_unitdir}/sysinit.target.wants/systemd-sysctl.service +%{_unitdir}/sysinit.target.wants/systemd-sysusers.service +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service +%{_unitdir}/sysinit.target.wants/systemd-update-done.service +%{_unitdir}/sysinit.target.wants/systemd-update-utmp.service +%if ! 0%{?bootstrap} +%{_unitdir}/sysinit.target.wants/veritysetup.target +%endif +%{_unitdir}/syslog.socket +%if ! 0%{?bootstrap} +%{_unitdir}/system-systemd\x2dcryptsetup.slice +%endif +%{_unitdir}/system-update-cleanup.service +%{_unitdir}/system-update-pre.target +%{_unitdir}/system-update.target +%{_unitdir}/systemd-ask-password-console.path +%{_unitdir}/systemd-ask-password-console.service +%{_unitdir}/systemd-ask-password-wall.path +%{_unitdir}/systemd-ask-password-wall.service +%{_unitdir}/systemd-backlight@.service +%{_unitdir}/systemd-binfmt.service +%if %{with sd_boot} +%{_unitdir}/systemd-bless-boot.service +%endif +%{_unitdir}/systemd-boot-check-no-failures.service +%if %{with sd_boot} +%{_unitdir}/systemd-boot-system-token.service +%endif +%{_unitdir}/systemd-exit.service +%{_unitdir}/systemd-firstboot.service +%{_unitdir}/systemd-fsck-root.service +%{_unitdir}/systemd-fsck@.service +%{_unitdir}/systemd-halt.service +%{_unitdir}/systemd-hibernate-resume@.service +%{_unitdir}/systemd-hibernate.service +%{_unitdir}/systemd-hostnamed.service +%{_unitdir}/systemd-hybrid-sleep.service +%if %{with sysvcompat} +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%endif +%{_unitdir}/systemd-journal-catalog-update.service +%{_unitdir}/systemd-journal-flush.service +%{_unitdir}/systemd-journald-dev-log.socket +%{_unitdir}/systemd-journald-varlink@.socket +%{_unitdir}/systemd-journald.service +%{_unitdir}/systemd-journald.socket +%{_unitdir}/systemd-journald@.service +%{_unitdir}/systemd-journald@.socket +%{_unitdir}/systemd-kexec.service +%{_unitdir}/systemd-localed.service +%{_unitdir}/systemd-logind.service +%{_unitdir}/systemd-machine-id-commit.service +%{_unitdir}/systemd-modules-load.service +%{_unitdir}/systemd-poweroff.service +%{_unitdir}/systemd-quotacheck.service +%{_unitdir}/systemd-random-seed.service +%{_unitdir}/systemd-reboot.service +%{_unitdir}/systemd-remount-fs.service +%{_unitdir}/systemd-rfkill.service +%{_unitdir}/systemd-rfkill.socket +%{_unitdir}/systemd-suspend-then-hibernate.service +%{_unitdir}/systemd-suspend.service +%{_unitdir}/systemd-sysctl.service +%{_unitdir}/systemd-sysext.service +%{_unitdir}/systemd-sysusers.service +%{_unitdir}/systemd-time-wait-sync.service +%{_unitdir}/systemd-timedated.service +%{_unitdir}/systemd-timesyncd.service +%{_unitdir}/systemd-tmpfiles-clean.service +%{_unitdir}/systemd-tmpfiles-clean.timer +%{_unitdir}/systemd-tmpfiles-setup-dev.service +%{_unitdir}/systemd-tmpfiles-setup.service +%{_unitdir}/systemd-update-done.service +%if %{with sysvcompat} +%{_unitdir}/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/systemd-update-utmp.service +%{_unitdir}/systemd-user-sessions.service +%{_unitdir}/systemd-vconsole-setup.service +%{_unitdir}/systemd-volatile-root.service +%{_unitdir}/time-set.target +%{_unitdir}/time-sync.target +%{_unitdir}/timers.target +%{_unitdir}/timers.target.wants/systemd-tmpfiles-clean.timer +%{_unitdir}/tmp.mount +%{_unitdir}/umount.target +%{_unitdir}/usb-gadget.target +%{_unitdir}/user-.slice.d +%{_unitdir}/user-.slice.d/10-defaults.conf +%{_unitdir}/user-runtime-dir@.service +%{_unitdir}/user.slice +%{_unitdir}/user@.service +%if %{with sysvcompat} +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%endif +%if ! 0%{?bootstrap} +%{_unitdir}/veritysetup-pre.target +%{_unitdir}/veritysetup.target +%endif %if %{with split_usr} /bin/systemctl %endif diff --git a/systemd.changes b/systemd.changes index f4ec6cc0..35b4c04f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Feb 2 09:33:14 UTC 2022 - Franck Bui + +- Make more use of %{_unitdir} in files.{systemd,container} + ------------------------------------------------------------------- Tue Feb 1 09:18:25 UTC 2022 - Franck Bui From 5e29814e055ccff8da80aaea39101061a51ca470b5352c579c9f04a20222d417 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 4 Feb 2022 15:23:12 +0000 Subject: [PATCH 661/991] - Always create systemd-network system user, even if systemd-networkd is not installed (bsc#1195559) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1246 --- files.network | 1 - files.systemd | 3 +++ systemd.changes | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/files.network b/files.network index e6aa5e60..4118d63d 100644 --- a/files.network +++ b/files.network @@ -29,7 +29,6 @@ %{_systemd_util_dir}/network/80-wifi-station.network.example %{_systemd_util_dir}/systemd-networkd %{_systemd_util_dir}/systemd-networkd-wait-online -%{_sysusersdir}/systemd-network.conf %{_unitdir}/systemd-networkd-wait-online.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket diff --git a/files.systemd b/files.systemd index 69c91fe0..dbbf07db 100644 --- a/files.systemd +++ b/files.systemd @@ -582,6 +582,9 @@ %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf +# Yes, systemd-network.conf really belongs here, see +# https://github.com/systemd/systemd/pull/22416#issuecomment-1029828592 +%{_sysusersdir}/systemd-network.conf %{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/suse.conf diff --git a/systemd.changes b/systemd.changes index 35b4c04f..0ab20e79 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Feb 4 15:22:43 UTC 2022 - Franck Bui + +- Always create systemd-network system user, even if systemd-networkd is not + installed (bsc#1195559) + ------------------------------------------------------------------- Wed Feb 2 09:33:14 UTC 2022 - Franck Bui From 21cb7a03d07e8d69b77cfc0af7233ab99f60a9de8985de13d9f7674b261d9713 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 4 Feb 2022 16:35:05 +0000 Subject: [PATCH 662/991] fix previous commit for the mini flavor OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1247 --- files.systemd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/files.systemd b/files.systemd index dbbf07db..1a2d79a8 100644 --- a/files.systemd +++ b/files.systemd @@ -582,9 +582,11 @@ %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf +%if %{with networkd} # Yes, systemd-network.conf really belongs here, see # https://github.com/systemd/systemd/pull/22416#issuecomment-1029828592 %{_sysusersdir}/systemd-network.conf +%endif %{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/suse.conf From 8fa3c36b47b9adecc713fc277d1933bbddd735c5c96eadfdd38836010d145089 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 6 Feb 2022 22:54:01 +0000 Subject: [PATCH 663/991] Accepting request 951595 from Base:System - Always create systemd-network system user, even if systemd-networkd is not installed (bsc#1195559) - Make more use of %{_unitdir} in files.{systemd,container} - Installation of libnss_mymachines.so depended on %{bootstrap} but it is actually installed when %{with machined} is true. - Call ldconfig when container subpackage is installed since it ships nss-mymachines NSS plug-in module. - Import commit 117bd7f14aa7834d85a4306cd380d292bec04108 1395c74be7 udevadm: cleanup-db: don't delete information for kept db entries (bsc#1194912) bbafc8092a udevadm: cleanup_dir: use dot_or_dot_dot() - Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Given the fact that Factory no more ship SysV init scripts since several months, only scripts coming from 3rd party applications should remain which are unlikely to rely on the SUSE specifities implemented by these patches. This change was announced on the Factory mailing list: https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3ERUP5ZZJ6PPA36L3HVN46BH6U6JL74O/ - Import commit 885e0b9126bd2cf1e3f6b147c45ec58a5550c75c 41334be59e meson: minor cleanup 3db0c28462 sysusers: split up systemd.conf - Drop 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (bsc#1195153) Since v241, the patch isn't useful anymore because resolved is no more able to create /etc/resolv.conf symlink by itself,it runs as 'systemd-resolve' user. The symlink is now handled by a tmpfiles config file which is only installed when systemd-resolved is. The tmpfiles config file has currently a OBS-URL: https://build.opensuse.org/request/show/951595 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=345 --- ...dd-back-support-for-SysV-scripts-for.patch | 123 --- ...pport-for-all-virtual-facility-and-f.patch | 43 - ...e-etc-resolv.conf-symlink-at-runtime.patch | 53 -- baselibs.conf | 2 - files.container | 57 ++ files.devel | 729 +++++++++++++++ files.network | 61 ++ files.systemd | 852 ++++++++++++++++++ files.udev | 126 +++ systemd-v249.9+suse.75.g3743acbce3.tar.xz | 3 - systemd-v249.9+suse.82.g117bd7f14a.tar.xz | 3 + systemd.changes | 131 +++ systemd.spec | 767 +++------------- 13 files changed, 2108 insertions(+), 842 deletions(-) delete mode 100644 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch delete mode 100644 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch delete mode 100644 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch create mode 100644 files.container create mode 100644 files.devel create mode 100644 files.network create mode 100644 files.systemd create mode 100644 files.udev delete mode 100644 systemd-v249.9+suse.75.g3743acbce3.tar.xz create mode 100644 systemd-v249.9+suse.82.g117bd7f14a.tar.xz diff --git a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch b/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch deleted file mode 100644 index 11737094..00000000 --- a/0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 1bd48f23ea7750b354bfb94482f9f035bf8b7841 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 26 May 2016 08:59:41 +0200 -Subject: [PATCH 06/11] sysv-generator: add (back) support for SysV scripts for - the early boot - -For the record, the upstream support was removed by commit -3cdebc217c42c8529086f2965319b6a48eaaeabe. - -The sysv-generator has some weirdos: for example a service at the rc0 -runlevel won't be started during shutdown since it will get both -"WantedBy=poweroff.target" and "Conflicts=shutdown.target". - -Anyways what's the current patch implements the following: - - - a symlink /etc/init.d/boot.d/S??boot.foo will add - "WantedBy/Before=sysinit.target" constraints and make sure that the - default dependencies added by systemd are turned off. - - - a symlink /etc/init.d/boot.d/K??boot.foo will add - "Conflicts/Before=shutdown.target" so "foo" service will be stopped - like any other regular services. If this symlink is not installed - however, "foo" will be stopped lately during the systemd killing - spree. - -This is a forward-port of commit 29db8537e1ca10796797d9854d1 in SP1. - -[Since v232] - -Support for S* symlinks in runlevel 0 or 6 has been completely and silently -removed by 788d2b088b13a2444b9eb2ea82c0cc57d9f0980f. Since it was already -broken as pointed out above, this probably wasn't really used and therefore -no one will really care. So let's drop it too. - -However this has the side effect to make the support of early sysv scripts more -difficult. To make things easy, the support of K* symlinks in boot.d/ has been -removed too: this is probably not used (anymore) (at least intentionally). - -The consequence is that early sysv services are stopped during shutdown at -the same time as 'normal' services. ---- - src/sysv-generator/sysv-generator.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index bf23c48662..fa5355c964 100644 ---- a/src/sysv-generator/sysv-generator.c -+++ b/src/sysv-generator/sysv-generator.c -@@ -31,6 +31,9 @@ static const struct { - const char *path; - const char *target; - } rcnd_table[] = { -+ /* SUSE style boot.d */ -+ { "boot.d", SPECIAL_SYSINIT_TARGET }, -+ - /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET }, - { "rc2.d", SPECIAL_MULTI_USER_TARGET }, -@@ -57,6 +60,7 @@ typedef struct SysvStub { - bool has_lsb; - bool reload; - bool loaded; -+ bool early; - } SysvStub; - - static SysvStub* free_sysvstub(SysvStub *s) { -@@ -146,6 +150,12 @@ static int generate_unit_file(SysvStub *s) { - fprintf(f, "Description=%s\n", t); - } - -+ if (s->early) { -+ fprintf(f, "DefaultDependencies=no\n"); -+ fprintf(f, "Conflicts=%s\n", SPECIAL_SHUTDOWN_TARGET); -+ fprintf(f, "Before=%s\n", SPECIAL_SHUTDOWN_TARGET); -+ } -+ - STRV_FOREACH(p, s->before) - fprintf(f, "Before=%s\n", *p); - STRV_FOREACH(p, s->after) -@@ -212,6 +222,10 @@ static char *sysv_translate_name(const char *name) { - _cleanup_free_ char *c = NULL; - char *res; - -+ if (startswith(name, "boot.")) -+ /* Drop SuSE-style boot. prefix */ -+ name += 5; -+ - c = strdup(name); - if (!c) - return NULL; -@@ -288,6 +302,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - return 1; - } - -+ /* Strip "boot." prefix from file name for comparison (Suse specific) */ -+ e = startswith(filename, "boot."); -+ if (e) -+ filename += 5; -+ - /* Strip ".sh" suffix from file name for comparison */ - filename_no_sh = strdupa(filename); - e = endswith(filename_no_sh, ".sh"); -@@ -651,6 +670,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { - if (other->sysv_start_priority < 0) - continue; - -+ if (s->early != other->early) -+ continue; -+ - /* If both units have modern headers we don't care - * about the priorities */ - if (s->has_lsb && other->has_lsb) -@@ -775,6 +797,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { - .sysv_start_priority = -1, - .name = TAKE_PTR(name), - .path = TAKE_PTR(fpath), -+ .early = !!startswith(de->d_name, "boot."), - }; - - r = hashmap_put(all_services, service->name, service); --- -2.26.2 - diff --git a/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch b/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch deleted file mode 100644 index 91cc4e55..00000000 --- a/0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 6f4d9d9688ad65bb46d09ac09f570c6ee4bc3671 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 14 Jan 2022 08:17:38 +0100 -Subject: [PATCH 1010/1010] sysv: add back support for '$all' virtual facility - and '+' facitity name prefix - -'$all' was probably a Debian thing and has probably never been supported by RH, -which explains why systemd upstream never supported it too. At least I couldn't -find any reference of this facility name in -http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic.html#FACILNAME. OTOH -'$all' is described in https://wiki.debian.org/LSBInitScripts - -Regarding the '+' prefix, I couldn't find any mention of it -anywhere. Apparently it was equivalent to '$' in facility names. - -[wfink: bsc#858864] ---- - src/sysv-generator/sysv-generator.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index c6e1953839..0aadb397ed 100644 ---- a/src/sysv-generator/sysv-generator.c -+++ b/src/sysv-generator/sysv-generator.c -@@ -243,6 +243,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - "remote_fs", SPECIAL_REMOTE_FS_TARGET, - "syslog", NULL, - "time", SPECIAL_TIME_SYNC_TARGET, -+ "all", SPECIAL_DEFAULT_TARGET, - }; - - const char *filename; -@@ -257,6 +258,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name, - - filename = basename(s->path); - -+ n = *name == '+' ? ++name : name; - n = *name == '$' ? name + 1 : name; - - for (i = 0; i < ELEMENTSOF(table); i += 2) { --- -2.31.1 - diff --git a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch deleted file mode 100644 index 510c4732..00000000 --- a/0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 1aa6cfc7ff05929f013262c86ab7557e5394fb4c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 11 Mar 2016 17:06:17 -0500 -Subject: [PATCH 11/11] resolved: create /etc/resolv.conf symlink at runtime - -If the symlink doesn't exists, and we are being started, let's -create it to provie name resolution. - -If it exists, do nothing. In particular, if it is a broken symlink, -we cannot really know if the administator configured it to point to -a location used by some service that hasn't started yet, so we -don't touch it in that case either. - -https://bugzilla.redhat.com/show_bug.cgi?id=1313085 ---- - src/resolve/resolved.c | 6 ++++++ - tmpfiles.d/etc.conf.in | 3 --- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c -index aabaa266e9..39277ea487 100644 ---- a/src/resolve/resolved.c -+++ b/src/resolve/resolved.c -@@ -53,6 +53,12 @@ static int run(int argc, char *argv[]) { - if (r < 0) - return log_error_errno(r, "Cannot resolve user name %s: %m", user); - -+ /* As we're root, we can create /etc/resolv.conf symlink if it doesn't exist already */ -+ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); -+ if (r < 0 && errno != EEXIST) -+ log_warning_errno(errno, -+ "Could not create /etc/resolv.conf symlink: %m"); -+ - /* As we're root, we can create the directory where resolv.conf will live */ - r = mkdir_safe_label("/run/systemd/resolve", 0755, uid, gid, MKDIR_WARN_MODE); - if (r < 0) -diff --git a/tmpfiles.d/etc.conf.in b/tmpfiles.d/etc.conf.in -index 2323fd8cd8..ebdc699c26 100644 ---- a/tmpfiles.d/etc.conf.in -+++ b/tmpfiles.d/etc.conf.in -@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts - {% if HAVE_SMACK_RUN_LABEL %} - t /etc/mtab - - - - security.SMACK64=_ - {% endif %} --{% if ENABLE_RESOLVE %} --L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf --{% endif %} - C! /etc/nsswitch.conf - - - - - {% if HAVE_PAM %} - C! /etc/pam.d - - - - --- -2.26.2 - diff --git a/baselibs.conf b/baselibs.conf index 073ad0e1..4e056067 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -8,6 +8,4 @@ systemd post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 -libudev-devel nss-myhostname -nss-mymachines diff --git a/files.container b/files.container new file mode 100644 index 00000000..faac2676 --- /dev/null +++ b/files.container @@ -0,0 +1,57 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_sysconfdir}/systemd/nspawn +%{_bindir}/systemd-nspawn +%if ! 0%{?bootstrap} +%{_datadir}/bash-completion/completions/systemd-nspawn +%{_datadir}/zsh/site-functions/_systemd-nspawn +%{_mandir}/man1/systemd-nspawn.1.gz +%{_mandir}/man5/systemd.nspawn.5.gz +%{_mandir}/man8/libnss_mymachines.so.2.8.gz +%{_mandir}/man8/nss-mymachines.8.gz +%endif +%{_unitdir}/systemd-nspawn@.service + +%if %{with machined} +%dir %{_unitdir}/machines.target.wants +%{_bindir}/machinectl +%{_datadir}/bash-completion/completions/machinectl +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_datadir}/zsh/site-functions/_machinectl +%{_datadir}/zsh/site-functions/_sd_machines +%{_libdir}/libnss_mymachines.so.2 +%{_mandir}/man1/machinectl.1.gz +%{_mandir}/man5/org.freedesktop.machine1.5.gz +%{_mandir}/man8/systemd-machined.8.gz +%{_mandir}/man8/systemd-machined.service.8.gz +%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh +%{_systemd_util_dir}/systemd-machined +%{_tmpfilesdir}/systemd-nspawn.conf +%{_unitdir}/dbus-org.freedesktop.machine1.service +%{_unitdir}/machine.slice +%{_unitdir}/machines.target +%{_unitdir}/machines.target.wants/var-lib-machines.mount +%{_unitdir}/remote-fs.target.wants/var-lib-machines.mount +%{_unitdir}/systemd-machined.service +%{_unitdir}/var-lib-machines.mount +%endif + +%if %{with importd} +%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%{_mandir}/man5/org.freedesktop.import1.5.gz +%{_mandir}/man8/systemd-importd.8.gz +%{_mandir}/man8/systemd-importd.service.8.gz +%{_systemd_util_dir}/import-pubring.gpg +%{_systemd_util_dir}/systemd-export +%{_systemd_util_dir}/systemd-import +%{_systemd_util_dir}/systemd-import-fs +%{_systemd_util_dir}/systemd-importd +%{_systemd_util_dir}/systemd-pull +%{_unitdir}/dbus-org.freedesktop.import1.service +%{_unitdir}/systemd-importd.service +%endif diff --git a/files.devel b/files.devel new file mode 100644 index 00000000..e551dc7f --- /dev/null +++ b/files.devel @@ -0,0 +1,729 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%{_includedir}/libudev.h +%{_includedir}/systemd/ +%{_libdir}/libsystemd.so +%{_libdir}/libudev.so +%{_libdir}/pkgconfig/libsystemd.pc +%{_libdir}/pkgconfig/libudev.pc +%if ! 0%{?bootstrap} +%{_mandir}/man3/SD_ALERT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_AUTH_FAILED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_BAD_ADDRESS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_DISCONNECTED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_END.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FAILED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FILE_EXISTS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FILE_NOT_FOUND.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz +%{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MAKE_CONST.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MAP.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_INVALID.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NOT_SUPPORTED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_MEMORY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_NETWORK.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz +%{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_METHOD.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_OBJECT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_PROPERTY.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_CALL.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_ERROR.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_RETURN.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_SIGNAL.3.gz +%{_mandir}/man3/SD_BUS_METHOD.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES_OFFSET.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_OFFSET.3.gz +%{_mandir}/man3/SD_BUS_PARAM.3.gz +%{_mandir}/man3/SD_BUS_PROPERTY.3.gz +%{_mandir}/man3/SD_BUS_SIGNAL.3.gz +%{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_END.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_START.3.gz +%{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz +%{_mandir}/man3/SD_CRIT.3.gz +%{_mandir}/man3/SD_DEBUG.3.gz +%{_mandir}/man3/SD_EMERG.3.gz +%{_mandir}/man3/SD_ERR.3.gz +%{_mandir}/man3/SD_EVENT_ARMED.3.gz +%{_mandir}/man3/SD_EVENT_EXITING.3.gz +%{_mandir}/man3/SD_EVENT_FINISHED.3.gz +%{_mandir}/man3/SD_EVENT_INITIAL.3.gz +%{_mandir}/man3/SD_EVENT_OFF.3.gz +%{_mandir}/man3/SD_EVENT_ON.3.gz +%{_mandir}/man3/SD_EVENT_ONESHOT.3.gz +%{_mandir}/man3/SD_EVENT_PENDING.3.gz +%{_mandir}/man3/SD_EVENT_PREPARING.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_IDLE.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz +%{_mandir}/man3/SD_EVENT_RUNNING.3.gz +%{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz +%{_mandir}/man3/SD_ID128_ALLF.3.gz +%{_mandir}/man3/SD_ID128_CONST_STR.3.gz +%{_mandir}/man3/SD_ID128_FORMAT_STR.3.gz +%{_mandir}/man3/SD_ID128_FORMAT_VAL.3.gz +%{_mandir}/man3/SD_ID128_MAKE.3.gz +%{_mandir}/man3/SD_ID128_MAKE_STR.3.gz +%{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz +%{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz +%{_mandir}/man3/SD_INFO.3.gz +%{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz +%{_mandir}/man3/SD_JOURNAL_APPEND.3.gz +%{_mandir}/man3/SD_JOURNAL_CURRENT_USER.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_BACKWARDS.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_DATA.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_FIELD.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_UNIQUE.3.gz +%{_mandir}/man3/SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE.3.gz +%{_mandir}/man3/SD_JOURNAL_INVALIDATE.3.gz +%{_mandir}/man3/SD_JOURNAL_LOCAL_ONLY.3.gz +%{_mandir}/man3/SD_JOURNAL_NOP.3.gz +%{_mandir}/man3/SD_JOURNAL_OS_ROOT.3.gz +%{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz +%{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz +%{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz +%{_mandir}/man3/SD_LISTEN_FDS_START.3.gz +%{_mandir}/man3/SD_NOTICE.3.gz +%{_mandir}/man3/SD_WARNING.3.gz +%{_mandir}/man3/libudev.3.gz +%{_mandir}/man3/sd-bus-errors.3.gz +%{_mandir}/man3/sd-bus.3.gz +%{_mandir}/man3/sd-daemon.3.gz +%{_mandir}/man3/sd-event.3.gz +%{_mandir}/man3/sd-hwdb.3.gz +%{_mandir}/man3/sd-id128.3.gz +%{_mandir}/man3/sd-journal.3.gz +%{_mandir}/man3/sd-login.3.gz +%{_mandir}/man3/sd_booted.3.gz +%{_mandir}/man3/sd_bus_add_fallback.3.gz +%{_mandir}/man3/sd_bus_add_fallback_vtable.3.gz +%{_mandir}/man3/sd_bus_add_filter.3.gz +%{_mandir}/man3/sd_bus_add_match.3.gz +%{_mandir}/man3/sd_bus_add_match_async.3.gz +%{_mandir}/man3/sd_bus_add_node_enumerator.3.gz +%{_mandir}/man3/sd_bus_add_object.3.gz +%{_mandir}/man3/sd_bus_add_object_manager.3.gz +%{_mandir}/man3/sd_bus_add_object_vtable.3.gz +%{_mandir}/man3/sd_bus_attach_event.3.gz +%{_mandir}/man3/sd_bus_call.3.gz +%{_mandir}/man3/sd_bus_call_async.3.gz +%{_mandir}/man3/sd_bus_call_method.3.gz +%{_mandir}/man3/sd_bus_call_method_async.3.gz +%{_mandir}/man3/sd_bus_call_method_asyncv.3.gz +%{_mandir}/man3/sd_bus_call_methodv.3.gz +%{_mandir}/man3/sd_bus_can_send.3.gz +%{_mandir}/man3/sd_bus_close.3.gz +%{_mandir}/man3/sd_bus_close_unref.3.gz +%{_mandir}/man3/sd_bus_close_unrefp.3.gz +%{_mandir}/man3/sd_bus_creds_get_audit_login_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_audit_session_id.3.gz +%{_mandir}/man3/sd_bus_creds_get_augmented_mask.3.gz +%{_mandir}/man3/sd_bus_creds_get_cgroup.3.gz +%{_mandir}/man3/sd_bus_creds_get_cmdline.3.gz +%{_mandir}/man3/sd_bus_creds_get_comm.3.gz +%{_mandir}/man3/sd_bus_creds_get_description.3.gz +%{_mandir}/man3/sd_bus_creds_get_egid.3.gz +%{_mandir}/man3/sd_bus_creds_get_euid.3.gz +%{_mandir}/man3/sd_bus_creds_get_exe.3.gz +%{_mandir}/man3/sd_bus_creds_get_fsgid.3.gz +%{_mandir}/man3/sd_bus_creds_get_fsuid.3.gz +%{_mandir}/man3/sd_bus_creds_get_gid.3.gz +%{_mandir}/man3/sd_bus_creds_get_mask.3.gz +%{_mandir}/man3/sd_bus_creds_get_owner_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_pid.3.gz +%{_mandir}/man3/sd_bus_creds_get_ppid.3.gz +%{_mandir}/man3/sd_bus_creds_get_selinux_context.3.gz +%{_mandir}/man3/sd_bus_creds_get_session.3.gz +%{_mandir}/man3/sd_bus_creds_get_sgid.3.gz +%{_mandir}/man3/sd_bus_creds_get_slice.3.gz +%{_mandir}/man3/sd_bus_creds_get_suid.3.gz +%{_mandir}/man3/sd_bus_creds_get_supplementary_gids.3.gz +%{_mandir}/man3/sd_bus_creds_get_tid.3.gz +%{_mandir}/man3/sd_bus_creds_get_tid_comm.3.gz +%{_mandir}/man3/sd_bus_creds_get_tty.3.gz +%{_mandir}/man3/sd_bus_creds_get_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_unique_name.3.gz +%{_mandir}/man3/sd_bus_creds_get_unit.3.gz +%{_mandir}/man3/sd_bus_creds_get_user_slice.3.gz +%{_mandir}/man3/sd_bus_creds_get_user_unit.3.gz +%{_mandir}/man3/sd_bus_creds_get_well_known_names.3.gz +%{_mandir}/man3/sd_bus_creds_has_bounding_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_effective_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_inheritable_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_permitted_cap.3.gz +%{_mandir}/man3/sd_bus_creds_new_from_pid.3.gz +%{_mandir}/man3/sd_bus_creds_ref.3.gz +%{_mandir}/man3/sd_bus_creds_unref.3.gz +%{_mandir}/man3/sd_bus_creds_unrefp.3.gz +%{_mandir}/man3/sd_bus_default.3.gz +%{_mandir}/man3/sd_bus_default_flush_close.3.gz +%{_mandir}/man3/sd_bus_default_system.3.gz +%{_mandir}/man3/sd_bus_default_user.3.gz +%{_mandir}/man3/sd_bus_destroy_t.3.gz +%{_mandir}/man3/sd_bus_detach_event.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_added.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_added_strv.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_removed.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_removed_strv.3.gz +%{_mandir}/man3/sd_bus_emit_object_added.3.gz +%{_mandir}/man3/sd_bus_emit_object_removed.3.gz +%{_mandir}/man3/sd_bus_emit_properties_changed.3.gz +%{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz +%{_mandir}/man3/sd_bus_emit_signal.3.gz +%{_mandir}/man3/sd_bus_emit_signalv.3.gz +%{_mandir}/man3/sd_bus_enqueue_for_read.3.gz +%{_mandir}/man3/sd_bus_error.3.gz +%{_mandir}/man3/sd_bus_error_add_map.3.gz +%{_mandir}/man3/sd_bus_error_copy.3.gz +%{_mandir}/man3/sd_bus_error_free.3.gz +%{_mandir}/man3/sd_bus_error_get_errno.3.gz +%{_mandir}/man3/sd_bus_error_has_name.3.gz +%{_mandir}/man3/sd_bus_error_has_names.3.gz +%{_mandir}/man3/sd_bus_error_has_names_sentinel.3.gz +%{_mandir}/man3/sd_bus_error_is_set.3.gz +%{_mandir}/man3/sd_bus_error_map.3.gz +%{_mandir}/man3/sd_bus_error_move.3.gz +%{_mandir}/man3/sd_bus_error_set.3.gz +%{_mandir}/man3/sd_bus_error_set_const.3.gz +%{_mandir}/man3/sd_bus_error_set_errno.3.gz +%{_mandir}/man3/sd_bus_error_set_errnof.3.gz +%{_mandir}/man3/sd_bus_error_set_errnofv.3.gz +%{_mandir}/man3/sd_bus_error_setf.3.gz +%{_mandir}/man3/sd_bus_flush.3.gz +%{_mandir}/man3/sd_bus_flush_close_unref.3.gz +%{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz +%{_mandir}/man3/sd_bus_get_address.3.gz +%{_mandir}/man3/sd_bus_get_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_get_bus_id.3.gz +%{_mandir}/man3/sd_bus_get_close_on_exit.3.gz +%{_mandir}/man3/sd_bus_get_connected_signal.3.gz +%{_mandir}/man3/sd_bus_get_creds_mask.3.gz +%{_mandir}/man3/sd_bus_get_current_handler.3.gz +%{_mandir}/man3/sd_bus_get_current_message.3.gz +%{_mandir}/man3/sd_bus_get_current_slot.3.gz +%{_mandir}/man3/sd_bus_get_current_userdata.3.gz +%{_mandir}/man3/sd_bus_get_description.3.gz +%{_mandir}/man3/sd_bus_get_event.3.gz +%{_mandir}/man3/sd_bus_get_events.3.gz +%{_mandir}/man3/sd_bus_get_exit_on_disconnect.3.gz +%{_mandir}/man3/sd_bus_get_fd.3.gz +%{_mandir}/man3/sd_bus_get_method_call_timeout.3.gz +%{_mandir}/man3/sd_bus_get_n_queued_read.3.gz +%{_mandir}/man3/sd_bus_get_n_queued_write.3.gz +%{_mandir}/man3/sd_bus_get_name_creds.3.gz +%{_mandir}/man3/sd_bus_get_name_machine_id.3.gz +%{_mandir}/man3/sd_bus_get_owner_creds.3.gz +%{_mandir}/man3/sd_bus_get_property.3.gz +%{_mandir}/man3/sd_bus_get_property_string.3.gz +%{_mandir}/man3/sd_bus_get_property_strv.3.gz +%{_mandir}/man3/sd_bus_get_property_trivial.3.gz +%{_mandir}/man3/sd_bus_get_scope.3.gz +%{_mandir}/man3/sd_bus_get_sender.3.gz +%{_mandir}/man3/sd_bus_get_tid.3.gz +%{_mandir}/man3/sd_bus_get_timeout.3.gz +%{_mandir}/man3/sd_bus_get_unique_name.3.gz +%{_mandir}/man3/sd_bus_get_watch_bind.3.gz +%{_mandir}/man3/sd_bus_interface_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_is_anonymous.3.gz +%{_mandir}/man3/sd_bus_is_bus_client.3.gz +%{_mandir}/man3/sd_bus_is_monitor.3.gz +%{_mandir}/man3/sd_bus_is_open.3.gz +%{_mandir}/man3/sd_bus_is_ready.3.gz +%{_mandir}/man3/sd_bus_is_server.3.gz +%{_mandir}/man3/sd_bus_is_trusted.3.gz +%{_mandir}/man3/sd_bus_list_names.3.gz +%{_mandir}/man3/sd_bus_match_signal.3.gz +%{_mandir}/man3/sd_bus_match_signal_async.3.gz +%{_mandir}/man3/sd_bus_member_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_message_append.3.gz +%{_mandir}/man3/sd_bus_message_append_array.3.gz +%{_mandir}/man3/sd_bus_message_append_array_iovec.3.gz +%{_mandir}/man3/sd_bus_message_append_array_memfd.3.gz +%{_mandir}/man3/sd_bus_message_append_array_space.3.gz +%{_mandir}/man3/sd_bus_message_append_basic.3.gz +%{_mandir}/man3/sd_bus_message_append_string_iovec.3.gz +%{_mandir}/man3/sd_bus_message_append_string_memfd.3.gz +%{_mandir}/man3/sd_bus_message_append_string_space.3.gz +%{_mandir}/man3/sd_bus_message_append_strv.3.gz +%{_mandir}/man3/sd_bus_message_appendv.3.gz +%{_mandir}/man3/sd_bus_message_at_end.3.gz +%{_mandir}/man3/sd_bus_message_close_container.3.gz +%{_mandir}/man3/sd_bus_message_copy.3.gz +%{_mandir}/man3/sd_bus_message_dump.3.gz +%{_mandir}/man3/sd_bus_message_enter_container.3.gz +%{_mandir}/man3/sd_bus_message_exit_container.3.gz +%{_mandir}/man3/sd_bus_message_get_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_message_get_auto_start.3.gz +%{_mandir}/man3/sd_bus_message_get_bus.3.gz +%{_mandir}/man3/sd_bus_message_get_cookie.3.gz +%{_mandir}/man3/sd_bus_message_get_creds.3.gz +%{_mandir}/man3/sd_bus_message_get_destination.3.gz +%{_mandir}/man3/sd_bus_message_get_errno.3.gz +%{_mandir}/man3/sd_bus_message_get_error.3.gz +%{_mandir}/man3/sd_bus_message_get_expect_reply.3.gz +%{_mandir}/man3/sd_bus_message_get_interface.3.gz +%{_mandir}/man3/sd_bus_message_get_member.3.gz +%{_mandir}/man3/sd_bus_message_get_monotonic_usec.3.gz +%{_mandir}/man3/sd_bus_message_get_path.3.gz +%{_mandir}/man3/sd_bus_message_get_realtime_usec.3.gz +%{_mandir}/man3/sd_bus_message_get_reply_cookie.3.gz +%{_mandir}/man3/sd_bus_message_get_sender.3.gz +%{_mandir}/man3/sd_bus_message_get_seqnum.3.gz +%{_mandir}/man3/sd_bus_message_get_signature.3.gz +%{_mandir}/man3/sd_bus_message_get_type.3.gz +%{_mandir}/man3/sd_bus_message_has_signature.3.gz +%{_mandir}/man3/sd_bus_message_is_empty.3.gz +%{_mandir}/man3/sd_bus_message_is_method_call.3.gz +%{_mandir}/man3/sd_bus_message_is_method_error.3.gz +%{_mandir}/man3/sd_bus_message_is_signal.3.gz +%{_mandir}/man3/sd_bus_message_new.3.gz +%{_mandir}/man3/sd_bus_message_new_method_call.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errno.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errnof.3.gz +%{_mandir}/man3/sd_bus_message_new_method_error.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz +%{_mandir}/man3/sd_bus_message_new_method_return.3.gz +%{_mandir}/man3/sd_bus_message_new_signal.3.gz +%{_mandir}/man3/sd_bus_message_open_container.3.gz +%{_mandir}/man3/sd_bus_message_peek_type.3.gz +%{_mandir}/man3/sd_bus_message_read.3.gz +%{_mandir}/man3/sd_bus_message_read_array.3.gz +%{_mandir}/man3/sd_bus_message_read_basic.3.gz +%{_mandir}/man3/sd_bus_message_read_strv.3.gz +%{_mandir}/man3/sd_bus_message_readv.3.gz +%{_mandir}/man3/sd_bus_message_ref.3.gz +%{_mandir}/man3/sd_bus_message_rewind.3.gz +%{_mandir}/man3/sd_bus_message_seal.3.gz +%{_mandir}/man3/sd_bus_message_send.3.gz +%{_mandir}/man3/sd_bus_message_sensitive.3.gz +%{_mandir}/man3/sd_bus_message_set_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_message_set_auto_start.3.gz +%{_mandir}/man3/sd_bus_message_set_destination.3.gz +%{_mandir}/man3/sd_bus_message_set_expect_reply.3.gz +%{_mandir}/man3/sd_bus_message_set_sender.3.gz +%{_mandir}/man3/sd_bus_message_skip.3.gz +%{_mandir}/man3/sd_bus_message_unref.3.gz +%{_mandir}/man3/sd_bus_message_unrefp.3.gz +%{_mandir}/man3/sd_bus_message_verify_type.3.gz +%{_mandir}/man3/sd_bus_negotiate_creds.3.gz +%{_mandir}/man3/sd_bus_negotiate_fds.3.gz +%{_mandir}/man3/sd_bus_negotiate_timestamp.3.gz +%{_mandir}/man3/sd_bus_new.3.gz +%{_mandir}/man3/sd_bus_object_path_is_valid.3.gz +%{_mandir}/man3/sd_bus_open.3.gz +%{_mandir}/man3/sd_bus_open_system.3.gz +%{_mandir}/man3/sd_bus_open_system_machine.3.gz +%{_mandir}/man3/sd_bus_open_system_remote.3.gz +%{_mandir}/man3/sd_bus_open_system_with_description.3.gz +%{_mandir}/man3/sd_bus_open_user.3.gz +%{_mandir}/man3/sd_bus_open_user_machine.3.gz +%{_mandir}/man3/sd_bus_open_user_with_description.3.gz +%{_mandir}/man3/sd_bus_open_with_description.3.gz +%{_mandir}/man3/sd_bus_path_decode.3.gz +%{_mandir}/man3/sd_bus_path_decode_many.3.gz +%{_mandir}/man3/sd_bus_path_encode.3.gz +%{_mandir}/man3/sd_bus_path_encode_many.3.gz +%{_mandir}/man3/sd_bus_process.3.gz +%{_mandir}/man3/sd_bus_query_sender_creds.3.gz +%{_mandir}/man3/sd_bus_query_sender_privilege.3.gz +%{_mandir}/man3/sd_bus_ref.3.gz +%{_mandir}/man3/sd_bus_release_name.3.gz +%{_mandir}/man3/sd_bus_release_name_async.3.gz +%{_mandir}/man3/sd_bus_reply_method_errno.3.gz +%{_mandir}/man3/sd_bus_reply_method_errnof.3.gz +%{_mandir}/man3/sd_bus_reply_method_errnofv.3.gz +%{_mandir}/man3/sd_bus_reply_method_error.3.gz +%{_mandir}/man3/sd_bus_reply_method_errorf.3.gz +%{_mandir}/man3/sd_bus_reply_method_errorfv.3.gz +%{_mandir}/man3/sd_bus_reply_method_return.3.gz +%{_mandir}/man3/sd_bus_reply_method_returnv.3.gz +%{_mandir}/man3/sd_bus_request_name.3.gz +%{_mandir}/man3/sd_bus_request_name_async.3.gz +%{_mandir}/man3/sd_bus_send.3.gz +%{_mandir}/man3/sd_bus_send_to.3.gz +%{_mandir}/man3/sd_bus_service_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_set_address.3.gz +%{_mandir}/man3/sd_bus_set_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_set_anonymous.3.gz +%{_mandir}/man3/sd_bus_set_bus_client.3.gz +%{_mandir}/man3/sd_bus_set_close_on_exit.3.gz +%{_mandir}/man3/sd_bus_set_connected_signal.3.gz +%{_mandir}/man3/sd_bus_set_description.3.gz +%{_mandir}/man3/sd_bus_set_exec.3.gz +%{_mandir}/man3/sd_bus_set_exit_on_disconnect.3.gz +%{_mandir}/man3/sd_bus_set_fd.3.gz +%{_mandir}/man3/sd_bus_set_method_call_timeout.3.gz +%{_mandir}/man3/sd_bus_set_monitor.3.gz +%{_mandir}/man3/sd_bus_set_property.3.gz +%{_mandir}/man3/sd_bus_set_propertyv.3.gz +%{_mandir}/man3/sd_bus_set_sender.3.gz +%{_mandir}/man3/sd_bus_set_server.3.gz +%{_mandir}/man3/sd_bus_set_trusted.3.gz +%{_mandir}/man3/sd_bus_set_watch_bind.3.gz +%{_mandir}/man3/sd_bus_slot_get_bus.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_handler.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_message.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_get_description.3.gz +%{_mandir}/man3/sd_bus_slot_get_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_slot_get_floating.3.gz +%{_mandir}/man3/sd_bus_slot_get_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_ref.3.gz +%{_mandir}/man3/sd_bus_slot_set_description.3.gz +%{_mandir}/man3/sd_bus_slot_set_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_slot_set_floating.3.gz +%{_mandir}/man3/sd_bus_slot_set_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_unref.3.gz +%{_mandir}/man3/sd_bus_slot_unrefp.3.gz +%{_mandir}/man3/sd_bus_start.3.gz +%{_mandir}/man3/sd_bus_track_add_name.3.gz +%{_mandir}/man3/sd_bus_track_add_sender.3.gz +%{_mandir}/man3/sd_bus_track_contains.3.gz +%{_mandir}/man3/sd_bus_track_count.3.gz +%{_mandir}/man3/sd_bus_track_count_name.3.gz +%{_mandir}/man3/sd_bus_track_count_sender.3.gz +%{_mandir}/man3/sd_bus_track_first.3.gz +%{_mandir}/man3/sd_bus_track_get_bus.3.gz +%{_mandir}/man3/sd_bus_track_get_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_track_get_recursive.3.gz +%{_mandir}/man3/sd_bus_track_get_userdata.3.gz +%{_mandir}/man3/sd_bus_track_new.3.gz +%{_mandir}/man3/sd_bus_track_next.3.gz +%{_mandir}/man3/sd_bus_track_ref.3.gz +%{_mandir}/man3/sd_bus_track_remove_name.3.gz +%{_mandir}/man3/sd_bus_track_remove_sender.3.gz +%{_mandir}/man3/sd_bus_track_set_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_track_set_recursive.3.gz +%{_mandir}/man3/sd_bus_track_set_userdata.3.gz +%{_mandir}/man3/sd_bus_track_unref.3.gz +%{_mandir}/man3/sd_bus_track_unrefp.3.gz +%{_mandir}/man3/sd_bus_unref.3.gz +%{_mandir}/man3/sd_bus_unrefp.3.gz +%{_mandir}/man3/sd_bus_wait.3.gz +%{_mandir}/man3/sd_event.3.gz +%{_mandir}/man3/sd_event_add_child.3.gz +%{_mandir}/man3/sd_event_add_child_pidfd.3.gz +%{_mandir}/man3/sd_event_add_defer.3.gz +%{_mandir}/man3/sd_event_add_exit.3.gz +%{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_io.3.gz +%{_mandir}/man3/sd_event_add_post.3.gz +%{_mandir}/man3/sd_event_add_signal.3.gz +%{_mandir}/man3/sd_event_add_time.3.gz +%{_mandir}/man3/sd_event_add_time_relative.3.gz +%{_mandir}/man3/sd_event_child_handler_t.3.gz +%{_mandir}/man3/sd_event_default.3.gz +%{_mandir}/man3/sd_event_destroy_t.3.gz +%{_mandir}/man3/sd_event_dispatch.3.gz +%{_mandir}/man3/sd_event_exit.3.gz +%{_mandir}/man3/sd_event_get_exit_code.3.gz +%{_mandir}/man3/sd_event_get_fd.3.gz +%{_mandir}/man3/sd_event_get_iteration.3.gz +%{_mandir}/man3/sd_event_get_state.3.gz +%{_mandir}/man3/sd_event_get_tid.3.gz +%{_mandir}/man3/sd_event_get_watchdog.3.gz +%{_mandir}/man3/sd_event_handler_t.3.gz +%{_mandir}/man3/sd_event_inotify_handler_t.3.gz +%{_mandir}/man3/sd_event_io_handler_t.3.gz +%{_mandir}/man3/sd_event_loop.3.gz +%{_mandir}/man3/sd_event_new.3.gz +%{_mandir}/man3/sd_event_now.3.gz +%{_mandir}/man3/sd_event_prepare.3.gz +%{_mandir}/man3/sd_event_ref.3.gz +%{_mandir}/man3/sd_event_run.3.gz +%{_mandir}/man3/sd_event_set_watchdog.3.gz +%{_mandir}/man3/sd_event_signal_handler_t.3.gz +%{_mandir}/man3/sd_event_source.3.gz +%{_mandir}/man3/sd_event_source_disable_unref.3.gz +%{_mandir}/man3/sd_event_source_disable_unrefp.3.gz +%{_mandir}/man3/sd_event_source_get_child_pid.3.gz +%{_mandir}/man3/sd_event_source_get_child_pidfd.3.gz +%{_mandir}/man3/sd_event_source_get_child_pidfd_own.3.gz +%{_mandir}/man3/sd_event_source_get_child_process_own.3.gz +%{_mandir}/man3/sd_event_source_get_description.3.gz +%{_mandir}/man3/sd_event_source_get_destroy_callback.3.gz +%{_mandir}/man3/sd_event_source_get_enabled.3.gz +%{_mandir}/man3/sd_event_source_get_event.3.gz +%{_mandir}/man3/sd_event_source_get_exit_on_failure.3.gz +%{_mandir}/man3/sd_event_source_get_floating.3.gz +%{_mandir}/man3/sd_event_source_get_inotify_mask.3.gz +%{_mandir}/man3/sd_event_source_get_io_events.3.gz +%{_mandir}/man3/sd_event_source_get_io_fd.3.gz +%{_mandir}/man3/sd_event_source_get_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_get_io_revents.3.gz +%{_mandir}/man3/sd_event_source_get_pending.3.gz +%{_mandir}/man3/sd_event_source_get_priority.3.gz +%{_mandir}/man3/sd_event_source_get_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_get_signal.3.gz +%{_mandir}/man3/sd_event_source_get_time.3.gz +%{_mandir}/man3/sd_event_source_get_time_accuracy.3.gz +%{_mandir}/man3/sd_event_source_get_time_clock.3.gz +%{_mandir}/man3/sd_event_source_get_userdata.3.gz +%{_mandir}/man3/sd_event_source_is_ratelimited.3.gz +%{_mandir}/man3/sd_event_source_ref.3.gz +%{_mandir}/man3/sd_event_source_send_child_signal.3.gz +%{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz +%{_mandir}/man3/sd_event_source_set_child_process_own.3.gz +%{_mandir}/man3/sd_event_source_set_description.3.gz +%{_mandir}/man3/sd_event_source_set_destroy_callback.3.gz +%{_mandir}/man3/sd_event_source_set_enabled.3.gz +%{_mandir}/man3/sd_event_source_set_exit_on_failure.3.gz +%{_mandir}/man3/sd_event_source_set_floating.3.gz +%{_mandir}/man3/sd_event_source_set_io_events.3.gz +%{_mandir}/man3/sd_event_source_set_io_fd.3.gz +%{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_set_prepare.3.gz +%{_mandir}/man3/sd_event_source_set_priority.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_time.3.gz +%{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz +%{_mandir}/man3/sd_event_source_set_time_relative.3.gz +%{_mandir}/man3/sd_event_source_set_userdata.3.gz +%{_mandir}/man3/sd_event_source_unref.3.gz +%{_mandir}/man3/sd_event_source_unrefp.3.gz +%{_mandir}/man3/sd_event_time_handler_t.3.gz +%{_mandir}/man3/sd_event_unref.3.gz +%{_mandir}/man3/sd_event_unrefp.3.gz +%{_mandir}/man3/sd_event_wait.3.gz +%{_mandir}/man3/sd_get_machine_names.3.gz +%{_mandir}/man3/sd_get_seats.3.gz +%{_mandir}/man3/sd_get_sessions.3.gz +%{_mandir}/man3/sd_get_uids.3.gz +%{_mandir}/man3/sd_hwdb_enumerate.3.gz +%{_mandir}/man3/sd_hwdb_get.3.gz +%{_mandir}/man3/sd_hwdb_new.3.gz +%{_mandir}/man3/sd_hwdb_ref.3.gz +%{_mandir}/man3/sd_hwdb_seek.3.gz +%{_mandir}/man3/sd_hwdb_unref.3.gz +%{_mandir}/man3/sd_id128_equal.3.gz +%{_mandir}/man3/sd_id128_from_string.3.gz +%{_mandir}/man3/sd_id128_get_boot.3.gz +%{_mandir}/man3/sd_id128_get_boot_app_specific.3.gz +%{_mandir}/man3/sd_id128_get_invocation.3.gz +%{_mandir}/man3/sd_id128_get_machine.3.gz +%{_mandir}/man3/sd_id128_get_machine_app_specific.3.gz +%{_mandir}/man3/sd_id128_in_set.3.gz +%{_mandir}/man3/sd_id128_in_set_sentinel.3.gz +%{_mandir}/man3/sd_id128_in_setv.3.gz +%{_mandir}/man3/sd_id128_is_allf.3.gz +%{_mandir}/man3/sd_id128_is_null.3.gz +%{_mandir}/man3/sd_id128_randomize.3.gz +%{_mandir}/man3/sd_id128_t.3.gz +%{_mandir}/man3/sd_id128_to_string.3.gz +%{_mandir}/man3/sd_is_fifo.3.gz +%{_mandir}/man3/sd_is_mq.3.gz +%{_mandir}/man3/sd_is_socket.3.gz +%{_mandir}/man3/sd_is_socket_inet.3.gz +%{_mandir}/man3/sd_is_socket_sockaddr.3.gz +%{_mandir}/man3/sd_is_socket_unix.3.gz +%{_mandir}/man3/sd_is_special.3.gz +%{_mandir}/man3/sd_journal.3.gz +%{_mandir}/man3/sd_journal_add_conjunction.3.gz +%{_mandir}/man3/sd_journal_add_disjunction.3.gz +%{_mandir}/man3/sd_journal_add_match.3.gz +%{_mandir}/man3/sd_journal_close.3.gz +%{_mandir}/man3/sd_journal_enumerate_available_data.3.gz +%{_mandir}/man3/sd_journal_enumerate_available_unique.3.gz +%{_mandir}/man3/sd_journal_enumerate_data.3.gz +%{_mandir}/man3/sd_journal_enumerate_fields.3.gz +%{_mandir}/man3/sd_journal_enumerate_unique.3.gz +%{_mandir}/man3/sd_journal_flush_matches.3.gz +%{_mandir}/man3/sd_journal_get_catalog.3.gz +%{_mandir}/man3/sd_journal_get_catalog_for_message_id.3.gz +%{_mandir}/man3/sd_journal_get_cursor.3.gz +%{_mandir}/man3/sd_journal_get_cutoff_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_get_cutoff_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_data.3.gz +%{_mandir}/man3/sd_journal_get_data_threshold.3.gz +%{_mandir}/man3/sd_journal_get_events.3.gz +%{_mandir}/man3/sd_journal_get_fd.3.gz +%{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_get_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_timeout.3.gz +%{_mandir}/man3/sd_journal_get_usage.3.gz +%{_mandir}/man3/sd_journal_has_persistent_files.3.gz +%{_mandir}/man3/sd_journal_has_runtime_files.3.gz +%{_mandir}/man3/sd_journal_next.3.gz +%{_mandir}/man3/sd_journal_next_skip.3.gz +%{_mandir}/man3/sd_journal_open.3.gz +%{_mandir}/man3/sd_journal_open_directory.3.gz +%{_mandir}/man3/sd_journal_open_directory_fd.3.gz +%{_mandir}/man3/sd_journal_open_files.3.gz +%{_mandir}/man3/sd_journal_open_files_fd.3.gz +%{_mandir}/man3/sd_journal_open_namespace.3.gz +%{_mandir}/man3/sd_journal_perror.3.gz +%{_mandir}/man3/sd_journal_perror_with_location.3.gz +%{_mandir}/man3/sd_journal_previous.3.gz +%{_mandir}/man3/sd_journal_previous_skip.3.gz +%{_mandir}/man3/sd_journal_print.3.gz +%{_mandir}/man3/sd_journal_print_with_location.3.gz +%{_mandir}/man3/sd_journal_printv.3.gz +%{_mandir}/man3/sd_journal_printv_with_location.3.gz +%{_mandir}/man3/sd_journal_process.3.gz +%{_mandir}/man3/sd_journal_query_unique.3.gz +%{_mandir}/man3/sd_journal_reliable_fd.3.gz +%{_mandir}/man3/sd_journal_restart_data.3.gz +%{_mandir}/man3/sd_journal_restart_fields.3.gz +%{_mandir}/man3/sd_journal_restart_unique.3.gz +%{_mandir}/man3/sd_journal_seek_cursor.3.gz +%{_mandir}/man3/sd_journal_seek_head.3.gz +%{_mandir}/man3/sd_journal_seek_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_seek_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_seek_tail.3.gz +%{_mandir}/man3/sd_journal_send.3.gz +%{_mandir}/man3/sd_journal_send_with_location.3.gz +%{_mandir}/man3/sd_journal_sendv.3.gz +%{_mandir}/man3/sd_journal_sendv_with_location.3.gz +%{_mandir}/man3/sd_journal_set_data_threshold.3.gz +%{_mandir}/man3/sd_journal_stream_fd.3.gz +%{_mandir}/man3/sd_journal_test_cursor.3.gz +%{_mandir}/man3/sd_journal_wait.3.gz +%{_mandir}/man3/sd_listen_fds.3.gz +%{_mandir}/man3/sd_listen_fds_with_names.3.gz +%{_mandir}/man3/sd_login_monitor.3.gz +%{_mandir}/man3/sd_login_monitor_flush.3.gz +%{_mandir}/man3/sd_login_monitor_get_events.3.gz +%{_mandir}/man3/sd_login_monitor_get_fd.3.gz +%{_mandir}/man3/sd_login_monitor_get_timeout.3.gz +%{_mandir}/man3/sd_login_monitor_new.3.gz +%{_mandir}/man3/sd_login_monitor_unref.3.gz +%{_mandir}/man3/sd_login_monitor_unrefp.3.gz +%{_mandir}/man3/sd_machine_get_class.3.gz +%{_mandir}/man3/sd_machine_get_ifindices.3.gz +%{_mandir}/man3/sd_notify.3.gz +%{_mandir}/man3/sd_notify_barrier.3.gz +%{_mandir}/man3/sd_notifyf.3.gz +%{_mandir}/man3/sd_path_lookup.3.gz +%{_mandir}/man3/sd_path_lookup_strv.3.gz +%{_mandir}/man3/sd_peer_get_cgroup.3.gz +%{_mandir}/man3/sd_peer_get_machine_name.3.gz +%{_mandir}/man3/sd_peer_get_owner_uid.3.gz +%{_mandir}/man3/sd_peer_get_session.3.gz +%{_mandir}/man3/sd_peer_get_slice.3.gz +%{_mandir}/man3/sd_peer_get_unit.3.gz +%{_mandir}/man3/sd_peer_get_user_slice.3.gz +%{_mandir}/man3/sd_peer_get_user_unit.3.gz +%{_mandir}/man3/sd_pid_get_cgroup.3.gz +%{_mandir}/man3/sd_pid_get_machine_name.3.gz +%{_mandir}/man3/sd_pid_get_owner_uid.3.gz +%{_mandir}/man3/sd_pid_get_session.3.gz +%{_mandir}/man3/sd_pid_get_slice.3.gz +%{_mandir}/man3/sd_pid_get_unit.3.gz +%{_mandir}/man3/sd_pid_get_user_slice.3.gz +%{_mandir}/man3/sd_pid_get_user_unit.3.gz +%{_mandir}/man3/sd_pid_notify.3.gz +%{_mandir}/man3/sd_pid_notify_with_fds.3.gz +%{_mandir}/man3/sd_pid_notifyf.3.gz +%{_mandir}/man3/sd_seat_can_graphical.3.gz +%{_mandir}/man3/sd_seat_can_tty.3.gz +%{_mandir}/man3/sd_seat_get_active.3.gz +%{_mandir}/man3/sd_seat_get_sessions.3.gz +%{_mandir}/man3/sd_session_get_class.3.gz +%{_mandir}/man3/sd_session_get_desktop.3.gz +%{_mandir}/man3/sd_session_get_display.3.gz +%{_mandir}/man3/sd_session_get_remote_host.3.gz +%{_mandir}/man3/sd_session_get_remote_user.3.gz +%{_mandir}/man3/sd_session_get_seat.3.gz +%{_mandir}/man3/sd_session_get_service.3.gz +%{_mandir}/man3/sd_session_get_state.3.gz +%{_mandir}/man3/sd_session_get_tty.3.gz +%{_mandir}/man3/sd_session_get_type.3.gz +%{_mandir}/man3/sd_session_get_uid.3.gz +%{_mandir}/man3/sd_session_get_vt.3.gz +%{_mandir}/man3/sd_session_is_active.3.gz +%{_mandir}/man3/sd_session_is_remote.3.gz +%{_mandir}/man3/sd_uid_get_display.3.gz +%{_mandir}/man3/sd_uid_get_seats.3.gz +%{_mandir}/man3/sd_uid_get_sessions.3.gz +%{_mandir}/man3/sd_uid_get_state.3.gz +%{_mandir}/man3/sd_uid_is_on_seat.3.gz +%{_mandir}/man3/sd_watchdog_enabled.3.gz +%{_mandir}/man3/udev_device_get_action.3.gz +%{_mandir}/man3/udev_device_get_current_tags_list_entry.3.gz +%{_mandir}/man3/udev_device_get_devlinks_list_entry.3.gz +%{_mandir}/man3/udev_device_get_devnode.3.gz +%{_mandir}/man3/udev_device_get_devnum.3.gz +%{_mandir}/man3/udev_device_get_devpath.3.gz +%{_mandir}/man3/udev_device_get_devtype.3.gz +%{_mandir}/man3/udev_device_get_driver.3.gz +%{_mandir}/man3/udev_device_get_is_initialized.3.gz +%{_mandir}/man3/udev_device_get_parent.3.gz +%{_mandir}/man3/udev_device_get_parent_with_subsystem_devtype.3.gz +%{_mandir}/man3/udev_device_get_properties_list_entry.3.gz +%{_mandir}/man3/udev_device_get_property_value.3.gz +%{_mandir}/man3/udev_device_get_subsystem.3.gz +%{_mandir}/man3/udev_device_get_sysattr_list_entry.3.gz +%{_mandir}/man3/udev_device_get_sysattr_value.3.gz +%{_mandir}/man3/udev_device_get_sysname.3.gz +%{_mandir}/man3/udev_device_get_sysnum.3.gz +%{_mandir}/man3/udev_device_get_syspath.3.gz +%{_mandir}/man3/udev_device_get_tags_list_entry.3.gz +%{_mandir}/man3/udev_device_get_udev.3.gz +%{_mandir}/man3/udev_device_has_current_tag.3.gz +%{_mandir}/man3/udev_device_has_tag.3.gz +%{_mandir}/man3/udev_device_new_from_device_id.3.gz +%{_mandir}/man3/udev_device_new_from_devnum.3.gz +%{_mandir}/man3/udev_device_new_from_environment.3.gz +%{_mandir}/man3/udev_device_new_from_subsystem_sysname.3.gz +%{_mandir}/man3/udev_device_new_from_syspath.3.gz +%{_mandir}/man3/udev_device_ref.3.gz +%{_mandir}/man3/udev_device_set_sysattr_value.3.gz +%{_mandir}/man3/udev_device_unref.3.gz +%{_mandir}/man3/udev_enumerate_add_match_is_initialized.3.gz +%{_mandir}/man3/udev_enumerate_add_match_parent.3.gz +%{_mandir}/man3/udev_enumerate_add_match_property.3.gz +%{_mandir}/man3/udev_enumerate_add_match_subsystem.3.gz +%{_mandir}/man3/udev_enumerate_add_match_sysattr.3.gz +%{_mandir}/man3/udev_enumerate_add_match_sysname.3.gz +%{_mandir}/man3/udev_enumerate_add_match_tag.3.gz +%{_mandir}/man3/udev_enumerate_add_nomatch_subsystem.3.gz +%{_mandir}/man3/udev_enumerate_add_nomatch_sysattr.3.gz +%{_mandir}/man3/udev_enumerate_add_syspath.3.gz +%{_mandir}/man3/udev_enumerate_get_list_entry.3.gz +%{_mandir}/man3/udev_enumerate_get_udev.3.gz +%{_mandir}/man3/udev_enumerate_new.3.gz +%{_mandir}/man3/udev_enumerate_ref.3.gz +%{_mandir}/man3/udev_enumerate_scan_devices.3.gz +%{_mandir}/man3/udev_enumerate_scan_subsystems.3.gz +%{_mandir}/man3/udev_enumerate_unref.3.gz +%{_mandir}/man3/udev_list_entry.3.gz +%{_mandir}/man3/udev_list_entry_get_by_name.3.gz +%{_mandir}/man3/udev_list_entry_get_name.3.gz +%{_mandir}/man3/udev_list_entry_get_next.3.gz +%{_mandir}/man3/udev_list_entry_get_value.3.gz +%{_mandir}/man3/udev_monitor_enable_receiving.3.gz +%{_mandir}/man3/udev_monitor_filter_add_match_subsystem_devtype.3.gz +%{_mandir}/man3/udev_monitor_filter_add_match_tag.3.gz +%{_mandir}/man3/udev_monitor_filter_remove.3.gz +%{_mandir}/man3/udev_monitor_filter_update.3.gz +%{_mandir}/man3/udev_monitor_get_fd.3.gz +%{_mandir}/man3/udev_monitor_get_udev.3.gz +%{_mandir}/man3/udev_monitor_new_from_netlink.3.gz +%{_mandir}/man3/udev_monitor_receive_device.3.gz +%{_mandir}/man3/udev_monitor_ref.3.gz +%{_mandir}/man3/udev_monitor_set_receive_buffer_size.3.gz +%{_mandir}/man3/udev_monitor_unref.3.gz +%{_mandir}/man3/udev_new.3.gz +%{_mandir}/man3/udev_ref.3.gz +%{_mandir}/man3/udev_unref.3.gz +%endif diff --git a/files.network b/files.network new file mode 100644 index 00000000..4118d63d --- /dev/null +++ b/files.network @@ -0,0 +1,61 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%if %{with networkd} +%config(noreplace) %{_sysconfdir}/systemd/networkd.conf +%dir %{_sysconfdir}/systemd/network +%dir %{_systemd_util_dir}/network +%{_bindir}/networkctl +%{_datadir}/bash-completion/completions/networkctl +%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy +%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules +%{_datadir}/zsh/site-functions/_networkctl +%{_mandir}/man1/networkctl.1.gz +%{_mandir}/man5/networkd.conf.5.gz +%{_mandir}/man5/networkd.conf.d.5.gz +%{_mandir}/man5/systemd.network.5.gz +%{_mandir}/man8/systemd-networkd-wait-online.8.gz +%{_mandir}/man8/systemd-networkd-wait-online.service.8.gz +%{_mandir}/man8/systemd-networkd.8.gz +%{_mandir}/man8/systemd-networkd.service.8.gz +%{_systemd_util_dir}/network/80-container-host0.network +%{_systemd_util_dir}/network/80-container-ve.network +%{_systemd_util_dir}/network/80-container-vz.network +%{_systemd_util_dir}/network/80-vm-vt.network +%{_systemd_util_dir}/network/80-wifi-adhoc.network +%{_systemd_util_dir}/network/80-wifi-ap.network.example +%{_systemd_util_dir}/network/80-wifi-station.network.example +%{_systemd_util_dir}/systemd-networkd +%{_systemd_util_dir}/systemd-networkd-wait-online +%{_unitdir}/systemd-networkd-wait-online.service +%{_unitdir}/systemd-networkd.service +%{_unitdir}/systemd-networkd.socket +%endif + +%if %{with resolved} +%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%{_bindir}/resolvectl +%{_bindir}/systemd-resolve +%{_datadir}/bash-completion/completions/resolvectl +%{_datadir}/bash-completion/completions/systemd-resolve +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy +%{_datadir}/zsh/site-functions/_resolvectl +%{_libdir}/libnss_resolve.so.2 +%{_mandir}/man1/resolvectl.1.gz +%{_mandir}/man5/org.freedesktop.resolve1.5.gz +%{_mandir}/man5/resolved.conf.5.gz +%{_mandir}/man5/resolved.conf.d.5.gz +%{_mandir}/man8/libnss_resolve.so.2.8.gz +%{_mandir}/man8/nss-resolve.8.gz +%{_mandir}/man8/systemd-resolved.8.gz +%{_mandir}/man8/systemd-resolved.service.8.gz +%{_systemd_util_dir}/resolv.conf +%{_systemd_util_dir}/systemd-resolved +%{_sysusersdir}/systemd-resolve.conf +%{_tmpfilesdir}/systemd-resolve.conf +%{_unitdir}/systemd-resolved.service +%endif diff --git a/files.systemd b/files.systemd new file mode 100644 index 00000000..1a2d79a8 --- /dev/null +++ b/files.systemd @@ -0,0 +1,852 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf +%config(noreplace) %{_sysconfdir}/systemd/user.conf +%dir %{_binfmtdir} +%if ! 0%{?bootstrap} +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%endif +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +%dir %{_datadir}/dbus-1/system.d +%dir %{_datadir}/factory +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions +%dir %{_datadir}/systemd +%if ! 0%{?bootstrap} +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%endif +%dir %{_distconfdir}/X11/xinit +%dir %{_distconfdir}/X11/xinit/xinitrc.d +%dir %{_environmentdir} +%dir %{_journalcatalogdir} +%dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/catalog +%if %{with sysvcompat} +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/sysv-convert +%endif +%dir %{_modprobedir} +%dir %{_modulesloaddir} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%dir %{_sysconfdir}/X11/xorg.conf.d +%dir %{_sysconfdir}/binfmt.d +%dir %{_sysconfdir}/modules-load.d +%dir %{_sysconfdir}/sysctl.d +%dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/system +%dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/tmpfiles.d +%dir %{_sysconfdir}/xdg/systemd +%dir %{_sysctldir} +%dir %{_systemd_system_env_generator_dir} +%dir %{_systemd_user_env_generator_dir} +%dir %{_systemd_util_dir} +%if %{with sd_boot} +%dir %{_systemd_util_dir}/boot +%dir %{_systemd_util_dir}/boot/efi +%endif +%dir %{_systemd_util_dir}/ntp-units.d +%dir %{_systemd_util_dir}/scripts +%dir %{_systemd_util_dir}/system-preset +%dir %{_systemd_util_dir}/system-shutdown +%dir %{_systemd_util_dir}/system-sleep +%dir %{_systemd_util_dir}/user +%dir %{_systemd_util_dir}/user-generators +%dir %{_systemd_util_dir}/user-preset +%dir %{_systemdgeneratordir} +%dir %{_systemdusergeneratordir} +%dir %{_sysusersdir} +%dir %{_tmpfilesdir} +%dir %{_unitdir} +%dir %{_unitdir}/basic.target.wants +%dir %{_unitdir}/dbus.target.wants +%dir %{_unitdir}/default.target.wants +%dir %{_unitdir}/graphical.target.wants +%dir %{_unitdir}/halt.target.wants +%dir %{_unitdir}/initrd-root-device.target.wants +%dir %{_unitdir}/initrd-root-fs.target.wants +%dir %{_unitdir}/kexec.target.wants +%dir %{_unitdir}/local-fs.target.wants +%dir %{_unitdir}/multi-user.target.wants +%dir %{_unitdir}/poweroff.target.wants +%dir %{_unitdir}/reboot.target.wants +%dir %{_unitdir}/remote-fs.target.wants +%dir %{_unitdir}/rescue.target.wants +%if %{with sysvcompat} +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%endif +%dir %{_unitdir}/shutdown.target.wants +%dir %{_unitdir}/sockets.target.wants +%dir %{_unitdir}/sysinit.target.wants +%dir %{_unitdir}/timers.target.wants +%doc %{_modprobedir}/README +%doc %{_sysctldir}/README +%doc %{_sysusersdir}/README +%doc %{_tmpfilesdir}/README +%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed +%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf +%ghost %config(noreplace) %{_sysconfdir}/locale.conf +%ghost %config(noreplace) %{_sysconfdir}/machine-info +%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf +%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/catalog/database +%ghost %{_localstatedir}/lib/systemd/i18n-migrated +%license LICENSE.GPL2 +%license LICENSE.LGPL2.1 +%if %{with sd_boot} +%{_bindir}/bootctl +%endif +%{_bindir}/busctl +%{_bindir}/hostnamectl +%{_bindir}/journalctl +%{_bindir}/kernel-install +%{_bindir}/localectl +%{_bindir}/loginctl +%{_bindir}/systemctl +%{_bindir}/systemd-analyze +%{_bindir}/systemd-ask-password +%{_bindir}/systemd-cat +%{_bindir}/systemd-cgls +%{_bindir}/systemd-cgtop +%if ! 0%{?bootstrap} +%{_bindir}/systemd-cryptenroll +%endif +%{_bindir}/systemd-delta +%{_bindir}/systemd-detect-virt +%{_bindir}/systemd-dissect +%{_bindir}/systemd-escape +%{_bindir}/systemd-firstboot +%{_bindir}/systemd-id128 +%{_bindir}/systemd-inhibit +%{_bindir}/systemd-machine-id-setup +%{_bindir}/systemd-mount +%{_bindir}/systemd-notify +%{_bindir}/systemd-path +%{_bindir}/systemd-run +%{_bindir}/systemd-socket-activate +%{_bindir}/systemd-stdio-bridge +%{_bindir}/systemd-sysext +%{_bindir}/systemd-sysusers +%{_bindir}/systemd-tmpfiles +%{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-umount +%{_bindir}/timedatectl +%if ! 0%{?bootstrap} +%if %{with sd_boot} +%{_datadir}/bash-completion/completions/bootctl +%endif +%{_datadir}/bash-completion/completions/busctl +%{_datadir}/bash-completion/completions/coredumpctl +%{_datadir}/bash-completion/completions/hostnamectl +%{_datadir}/bash-completion/completions/journalctl +%{_datadir}/bash-completion/completions/kernel-install +%{_datadir}/bash-completion/completions/localectl +%{_datadir}/bash-completion/completions/loginctl +%{_datadir}/bash-completion/completions/portablectl +%{_datadir}/bash-completion/completions/systemctl +%{_datadir}/bash-completion/completions/systemd-analyze +%{_datadir}/bash-completion/completions/systemd-cat +%{_datadir}/bash-completion/completions/systemd-cgls +%{_datadir}/bash-completion/completions/systemd-cgtop +%{_datadir}/bash-completion/completions/systemd-delta +%{_datadir}/bash-completion/completions/systemd-detect-virt +%{_datadir}/bash-completion/completions/systemd-id128 +%{_datadir}/bash-completion/completions/systemd-path +%{_datadir}/bash-completion/completions/systemd-run +%{_datadir}/bash-completion/completions/timedatectl +%endif +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf +%{_datadir}/pkgconfig/systemd.pc +%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/systemd/kbd-model-map +%{_datadir}/systemd/language-fallback-map +%if ! 0%{?bootstrap} +%if %{with sd_boot} +%{_datadir}/zsh/site-functions/_bootctl +%endif +%{_datadir}/zsh/site-functions/_busctl +%{_datadir}/zsh/site-functions/_coredumpctl +%{_datadir}/zsh/site-functions/_hostnamectl +%{_datadir}/zsh/site-functions/_journalctl +%{_datadir}/zsh/site-functions/_kernel-install +%{_datadir}/zsh/site-functions/_localectl +%{_datadir}/zsh/site-functions/_loginctl +%{_datadir}/zsh/site-functions/_sd_hosts_or_user_at_host +%{_datadir}/zsh/site-functions/_sd_outputmodes +%{_datadir}/zsh/site-functions/_sd_unit_files +%{_datadir}/zsh/site-functions/_systemctl +%{_datadir}/zsh/site-functions/_systemd +%{_datadir}/zsh/site-functions/_systemd-analyze +%{_datadir}/zsh/site-functions/_systemd-delta +%{_datadir}/zsh/site-functions/_systemd-inhibit +%{_datadir}/zsh/site-functions/_systemd-path +%{_datadir}/zsh/site-functions/_systemd-run +%{_datadir}/zsh/site-functions/_systemd-tmpfiles +%{_datadir}/zsh/site-functions/_timedatectl +%endif +%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh +%{_environmentdir}/99-environment.conf +%{_journalcatalogdir}/systemd.be.catalog +%{_journalcatalogdir}/systemd.be@latin.catalog +%{_journalcatalogdir}/systemd.bg.catalog +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.de.catalog +%{_journalcatalogdir}/systemd.fr.catalog +%{_journalcatalogdir}/systemd.it.catalog +%{_journalcatalogdir}/systemd.pl.catalog +%{_journalcatalogdir}/systemd.pt_BR.catalog +%{_journalcatalogdir}/systemd.ru.catalog +%{_journalcatalogdir}/systemd.zh_CN.catalog +%{_journalcatalogdir}/systemd.zh_TW.catalog +%if ! 0%{bootstrap} +%if %{with sd_boot} +%{_mandir}/man1/bootctl.1.gz +%endif +%{_mandir}/man1/busctl.1.gz +%{_mandir}/man1/hostnamectl.1.gz +%{_mandir}/man1/journalctl.1.gz +%{_mandir}/man1/localectl.1.gz +%{_mandir}/man1/loginctl.1.gz +%{_mandir}/man1/systemctl.1.gz +%{_mandir}/man1/systemd-analyze.1.gz +%{_mandir}/man1/systemd-ask-password.1.gz +%{_mandir}/man1/systemd-cat.1.gz +%{_mandir}/man1/systemd-cgls.1.gz +%{_mandir}/man1/systemd-cgtop.1.gz +%{_mandir}/man1/systemd-cryptenroll.1.gz +%{_mandir}/man1/systemd-delta.1.gz +%{_mandir}/man1/systemd-detect-virt.1.gz +%{_mandir}/man1/systemd-dissect.1.gz +%{_mandir}/man1/systemd-escape.1.gz +%{_mandir}/man1/systemd-firstboot.1.gz +%{_mandir}/man1/systemd-firstboot.service.1.gz +%{_mandir}/man1/systemd-id128.1.gz +%{_mandir}/man1/systemd-inhibit.1.gz +%{_mandir}/man1/systemd-machine-id-setup.1.gz +%{_mandir}/man1/systemd-mount.1.gz +%{_mandir}/man1/systemd-notify.1.gz +%{_mandir}/man1/systemd-path.1.gz +%{_mandir}/man1/systemd-run.1.gz +%{_mandir}/man1/systemd-socket-activate.1.gz +%{_mandir}/man1/systemd-tty-ask-password-agent.1.gz +%{_mandir}/man1/systemd-umount.1.gz +%{_mandir}/man1/systemd.1.gz +%{_mandir}/man1/timedatectl.1.gz +%{_mandir}/man5/binfmt.d.5.gz +%{_mandir}/man5/crypttab.5.gz +%{_mandir}/man5/dnssec-trust-anchors.d.5.gz +%{_mandir}/man5/environment.d.5.gz +%{_mandir}/man5/hostname.5.gz +%{_mandir}/man5/initrd-release.5.gz +%{_mandir}/man5/journald.conf.5.gz +%{_mandir}/man5/journald.conf.d.5.gz +%{_mandir}/man5/journald@.conf.5.gz +%if %{with sd_boot} +%{_mandir}/man5/loader.conf.5.gz +%endif +%{_mandir}/man5/locale.conf.5.gz +%{_mandir}/man5/localtime.5.gz +%{_mandir}/man5/logind.conf.5.gz +%{_mandir}/man5/logind.conf.d.5.gz +%{_mandir}/man5/machine-id.5.gz +%{_mandir}/man5/machine-info.5.gz +%{_mandir}/man5/modules-load.d.5.gz +%{_mandir}/man5/org.freedesktop.LogControl1.5.gz +%{_mandir}/man5/org.freedesktop.hostname1.5.gz +%{_mandir}/man5/org.freedesktop.locale1.5.gz +%{_mandir}/man5/org.freedesktop.login1.5.gz +%{_mandir}/man5/org.freedesktop.portable1.5.gz +%{_mandir}/man5/org.freedesktop.systemd1.5.gz +%{_mandir}/man5/org.freedesktop.timedate1.5.gz +%{_mandir}/man5/os-release.5.gz +%{_mandir}/man5/sleep.conf.d.5.gz +%{_mandir}/man5/sysctl.d.5.gz +%{_mandir}/man5/system.conf.d.5.gz +%{_mandir}/man5/systemd-sleep.conf.5.gz +%{_mandir}/man5/systemd-system.conf.5.gz +%{_mandir}/man5/systemd-user-runtime-dir.5.gz +%{_mandir}/man5/systemd-user.conf.5.gz +%{_mandir}/man5/systemd.automount.5.gz +%{_mandir}/man5/systemd.device.5.gz +%{_mandir}/man5/systemd.dnssd.5.gz +%{_mandir}/man5/systemd.exec.5.gz +%{_mandir}/man5/systemd.kill.5.gz +%{_mandir}/man5/systemd.link.5.gz +%{_mandir}/man5/systemd.mount.5.gz +%{_mandir}/man5/systemd.negative.5.gz +%{_mandir}/man5/systemd.netdev.5.gz +%{_mandir}/man5/systemd.path.5.gz +%{_mandir}/man5/systemd.positive.5.gz +%{_mandir}/man5/systemd.preset.5.gz +%{_mandir}/man5/systemd.resource-control.5.gz +%{_mandir}/man5/systemd.scope.5.gz +%{_mandir}/man5/systemd.service.5.gz +%{_mandir}/man5/systemd.slice.5.gz +%{_mandir}/man5/systemd.socket.5.gz +%{_mandir}/man5/systemd.swap.5.gz +%{_mandir}/man5/systemd.target.5.gz +%{_mandir}/man5/systemd.timer.5.gz +%{_mandir}/man5/systemd.unit.5.gz +%{_mandir}/man5/sysusers.d.5.gz +%{_mandir}/man5/timesyncd.conf.5.gz +%{_mandir}/man5/timesyncd.conf.d.5.gz +%{_mandir}/man5/tmpfiles.d.5.gz +%{_mandir}/man5/user-runtime-dir@.service.5.gz +%{_mandir}/man5/user.conf.d.5.gz +%{_mandir}/man5/user@.service.5.gz +%{_mandir}/man5/vconsole.conf.5.gz +%{_mandir}/man5/veritytab.5.gz +%{_mandir}/man7/bootup.7.gz +%{_mandir}/man7/daemon.7.gz +%{_mandir}/man7/file-hierarchy.7.gz +%{_mandir}/man7/kernel-command-line.7.gz +%if %{with sd_boot} +%{_mandir}/man7/sd-boot.7.gz +%{_mandir}/man7/systemd-boot.7.gz +%endif +%{_mandir}/man7/systemd.directives.7.gz +%{_mandir}/man7/systemd.environment-generator.7.gz +%{_mandir}/man7/systemd.generator.7.gz +%{_mandir}/man7/systemd.index.7.gz +%{_mandir}/man7/systemd.journal-fields.7.gz +%{_mandir}/man7/systemd.net-naming-scheme.7.gz +%{_mandir}/man7/systemd.offline-updates.7.gz +%{_mandir}/man7/systemd.special.7.gz +%{_mandir}/man7/systemd.syntax.7.gz +%{_mandir}/man7/systemd.time.7.gz +%{_mandir}/man8/30-systemd-environment-d-generator.8.gz +%{_mandir}/man8/kernel-install.8.gz +%{_mandir}/man8/pam_systemd.8.gz +%{_mandir}/man8/rc-local.service.8.gz +%{_mandir}/man8/systemd-ask-password-console.path.8.gz +%{_mandir}/man8/systemd-ask-password-console.service.8.gz +%{_mandir}/man8/systemd-ask-password-wall.path.8.gz +%{_mandir}/man8/systemd-ask-password-wall.service.8.gz +%{_mandir}/man8/systemd-backlight.8.gz +%{_mandir}/man8/systemd-backlight@.service.8.gz +%{_mandir}/man8/systemd-binfmt.8.gz +%{_mandir}/man8/systemd-binfmt.service.8.gz +%if %{with sd_boot} +%{_mandir}/man8/systemd-bless-boot-generator.8.gz +%{_mandir}/man8/systemd-bless-boot.8.gz +%{_mandir}/man8/systemd-bless-boot.service.8.gz +%endif +%{_mandir}/man8/systemd-boot-check-no-failures.8.gz +%{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz +%if %{with sd_boot} +%{_mandir}/man8/systemd-boot-system-token.service.8.gz +%endif +%{_mandir}/man8/systemd-cryptsetup-generator.8.gz +%{_mandir}/man8/systemd-cryptsetup.8.gz +%{_mandir}/man8/systemd-cryptsetup@.service.8.gz +%{_mandir}/man8/systemd-debug-generator.8.gz +%{_mandir}/man8/systemd-environment-d-generator.8.gz +%{_mandir}/man8/systemd-fsck-root.service.8.gz +%{_mandir}/man8/systemd-fsck.8.gz +%{_mandir}/man8/systemd-fsck@.service.8.gz +%{_mandir}/man8/systemd-fstab-generator.8.gz +%{_mandir}/man8/systemd-getty-generator.8.gz +%{_mandir}/man8/systemd-gpt-auto-generator.8.gz +%{_mandir}/man8/systemd-growfs.8.gz +%{_mandir}/man8/systemd-growfs@.service.8.gz +%{_mandir}/man8/systemd-halt.service.8.gz +%{_mandir}/man8/systemd-hibernate-resume-generator.8.gz +%{_mandir}/man8/systemd-hibernate-resume.8.gz +%{_mandir}/man8/systemd-hibernate-resume@.service.8.gz +%{_mandir}/man8/systemd-hibernate.service.8.gz +%{_mandir}/man8/systemd-hostnamed.8.gz +%{_mandir}/man8/systemd-hostnamed.service.8.gz +%{_mandir}/man8/systemd-hybrid-sleep.service.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-journald-audit.socket.8.gz +%{_mandir}/man8/systemd-journald-dev-log.socket.8.gz +%{_mandir}/man8/systemd-journald-varlink@.socket.8.gz +%{_mandir}/man8/systemd-journald.8.gz +%{_mandir}/man8/systemd-journald.service.8.gz +%{_mandir}/man8/systemd-journald.socket.8.gz +%{_mandir}/man8/systemd-journald@.service.8.gz +%{_mandir}/man8/systemd-journald@.socket.8.gz +%{_mandir}/man8/systemd-kexec.service.8.gz +%{_mandir}/man8/systemd-localed.8.gz +%{_mandir}/man8/systemd-localed.service.8.gz +%{_mandir}/man8/systemd-logind.8.gz +%{_mandir}/man8/systemd-logind.service.8.gz +%{_mandir}/man8/systemd-machine-id-commit.service.8.gz +%{_mandir}/man8/systemd-makefs.8.gz +%{_mandir}/man8/systemd-makefs@.service.8.gz +%{_mandir}/man8/systemd-mkswap@.service.8.gz +%{_mandir}/man8/systemd-modules-load.8.gz +%{_mandir}/man8/systemd-modules-load.service.8.gz +%{_mandir}/man8/systemd-poweroff.service.8.gz +%{_mandir}/man8/systemd-quotacheck.8.gz +%{_mandir}/man8/systemd-quotacheck.service.8.gz +%{_mandir}/man8/systemd-random-seed.8.gz +%{_mandir}/man8/systemd-random-seed.service.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-reboot.service.8.gz +%{_mandir}/man8/systemd-remount-fs.8.gz +%{_mandir}/man8/systemd-remount-fs.service.8.gz +%{_mandir}/man8/systemd-rfkill.8.gz +%{_mandir}/man8/systemd-rfkill.service.8.gz +%{_mandir}/man8/systemd-rfkill.socket.8.gz +%{_mandir}/man8/systemd-run-generator.8.gz +%{_mandir}/man8/systemd-shutdown.8.gz +%{_mandir}/man8/systemd-sleep.8.gz +%{_mandir}/man8/systemd-socket-proxyd.8.gz +%{_mandir}/man8/systemd-suspend-then-hibernate.service.8.gz +%{_mandir}/man8/systemd-suspend.service.8.gz +%{_mandir}/man8/systemd-sysctl.8.gz +%{_mandir}/man8/systemd-sysctl.service.8.gz +%{_mandir}/man8/systemd-sysext.8.gz +%{_mandir}/man8/systemd-sysext.service.8.gz +%{_mandir}/man8/systemd-system-update-generator.8.gz +%{_mandir}/man8/systemd-sysusers.8.gz +%{_mandir}/man8/systemd-sysusers.service.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-time-wait-sync.8.gz +%{_mandir}/man8/systemd-time-wait-sync.service.8.gz +%{_mandir}/man8/systemd-timedated.8.gz +%{_mandir}/man8/systemd-timedated.service.8.gz +%{_mandir}/man8/systemd-timesyncd.8.gz +%{_mandir}/man8/systemd-timesyncd.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-clean.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-clean.timer.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup.service.8.gz +%{_mandir}/man8/systemd-tmpfiles.8.gz +%{_mandir}/man8/systemd-update-done.8.gz +%{_mandir}/man8/systemd-update-done.service.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/systemd-update-utmp.8.gz +%{_mandir}/man8/systemd-update-utmp.service.8.gz +%{_mandir}/man8/systemd-user-sessions.8.gz +%{_mandir}/man8/systemd-user-sessions.service.8.gz +%{_mandir}/man8/systemd-vconsole-setup.8.gz +%{_mandir}/man8/systemd-vconsole-setup.service.8.gz +%{_mandir}/man8/systemd-veritysetup-generator.8.gz +%{_mandir}/man8/systemd-veritysetup.8.gz +%{_mandir}/man8/systemd-veritysetup@.service.8.gz +%{_mandir}/man8/systemd-volatile-root.8.gz +%{_mandir}/man8/systemd-volatile-root.service.8.gz +%{_mandir}/man8/systemd-xdg-autostart-generator.8.gz +%endif +%{_modprobedir}/systemd.conf +%{_pam_moduledir}/pam_systemd.so +%{_pam_vendordir}/systemd-user +%{_prefix}/lib/kernel/install.d/00-entry-directory.install +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_sysconfdir}/xdg/systemd/user +%{_sysctldir}/99-sysctl.conf +%{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator +%if %{with sd_boot} +# These are part of the very few exceptions where glob pattern is allowd. +%{_systemd_util_dir}/boot/efi/linux*.efi.stub +%{_systemd_util_dir}/boot/efi/linux*.elf.stub +%{_systemd_util_dir}/boot/efi/systemd-boot*.efi +%endif +%{_systemd_util_dir}/libsystemd-shared-249.so +%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list +%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh +%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh +%{_systemd_util_dir}/system-preset/99-default.preset +%{_systemd_util_dir}/systemd +%{_systemd_util_dir}/systemd-ac-power +%{_systemd_util_dir}/systemd-backlight +%{_systemd_util_dir}/systemd-binfmt +%if %{with sd_boot} +%{_systemd_util_dir}/systemd-bless-boot +%endif +%{_systemd_util_dir}/systemd-boot-check-no-failures +%{_systemd_util_dir}/systemd-cgroups-agent +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/systemd-cryptsetup +%endif +%{_systemd_util_dir}/systemd-fsck +%{_systemd_util_dir}/systemd-growfs +%{_systemd_util_dir}/systemd-hibernate-resume +%{_systemd_util_dir}/systemd-hostnamed +%if %{with sysvcompat} +%{_systemd_util_dir}/systemd-initctl +%endif +%{_systemd_util_dir}/systemd-journald +%{_systemd_util_dir}/systemd-localed +%{_systemd_util_dir}/systemd-logind +%{_systemd_util_dir}/systemd-makefs +%{_systemd_util_dir}/systemd-modules-load +%{_systemd_util_dir}/systemd-quotacheck +%{_systemd_util_dir}/systemd-random-seed +%{_systemd_util_dir}/systemd-remount-fs +%{_systemd_util_dir}/systemd-reply-password +%{_systemd_util_dir}/systemd-rfkill +%{_systemd_util_dir}/systemd-shutdown +%{_systemd_util_dir}/systemd-sleep +%{_systemd_util_dir}/systemd-socket-proxyd +%{_systemd_util_dir}/systemd-sulogin-shell +%{_systemd_util_dir}/systemd-sysctl +%if %{with sysvcompat} +%{_systemd_util_dir}/systemd-sysv-convert +%{_systemd_util_dir}/systemd-sysv-install +%endif +%{_systemd_util_dir}/systemd-time-wait-sync +%{_systemd_util_dir}/systemd-timedated +%{_systemd_util_dir}/systemd-timesyncd +%{_systemd_util_dir}/systemd-update-done +%{_systemd_util_dir}/systemd-update-utmp +%{_systemd_util_dir}/systemd-user-runtime-dir +%{_systemd_util_dir}/systemd-user-sessions +%{_systemd_util_dir}/systemd-vconsole-setup +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/systemd-veritysetup +%endif +%{_systemd_util_dir}/systemd-volatile-root +%{_systemd_util_dir}/systemd-xdg-autostart-condition +%{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator +%{_systemd_util_dir}/user-preset/90-systemd.preset +%{_systemd_util_dir}/user-preset/99-default.preset +%{_systemd_util_dir}/user/app.slice +%{_systemd_util_dir}/user/background.slice +%{_systemd_util_dir}/user/basic.target +%{_systemd_util_dir}/user/bluetooth.target +%{_systemd_util_dir}/user/default.target +%{_systemd_util_dir}/user/exit.target +%{_systemd_util_dir}/user/graphical-session-pre.target +%{_systemd_util_dir}/user/graphical-session.target +%{_systemd_util_dir}/user/paths.target +%{_systemd_util_dir}/user/printer.target +%{_systemd_util_dir}/user/session.slice +%{_systemd_util_dir}/user/shutdown.target +%{_systemd_util_dir}/user/smartcard.target +%{_systemd_util_dir}/user/sockets.target +%{_systemd_util_dir}/user/sound.target +%{_systemd_util_dir}/user/systemd-exit.service +%{_systemd_util_dir}/user/systemd-tmpfiles-clean.service +%{_systemd_util_dir}/user/systemd-tmpfiles-clean.timer +%{_systemd_util_dir}/user/systemd-tmpfiles-setup.service +%{_systemd_util_dir}/user/timers.target +%{_systemd_util_dir}/user/xdg-desktop-autostart.target +%if %{with sd_boot} +%{_systemdgeneratordir}/systemd-bless-boot-generator +%endif +%if ! 0%{?bootstrap} +%{_systemdgeneratordir}/systemd-cryptsetup-generator +%endif +%{_systemdgeneratordir}/systemd-debug-generator +%{_systemdgeneratordir}/systemd-fstab-generator +%{_systemdgeneratordir}/systemd-getty-generator +%{_systemdgeneratordir}/systemd-gpt-auto-generator +%{_systemdgeneratordir}/systemd-hibernate-resume-generator +%if %{with sysvcompat} +%{_systemdgeneratordir}/systemd-rc-local-generator +%endif +%{_systemdgeneratordir}/systemd-run-generator +%{_systemdgeneratordir}/systemd-system-update-generator +%if %{with sysvcompat} +%{_systemdgeneratordir}/systemd-sysv-generator +%endif +%if ! 0%{?bootstrap} +%{_systemdgeneratordir}/systemd-veritysetup-generator +%endif +%{_sysusersdir}/systemd-journal.conf +%if %{with networkd} +# Yes, systemd-network.conf really belongs here, see +# https://github.com/systemd/systemd/pull/22416#issuecomment-1029828592 +%{_sysusersdir}/systemd-network.conf +%endif +%{_sysusersdir}/systemd-timesync.conf +%{_tmpfilesdir}/journal-nocow.conf +%{_tmpfilesdir}/suse.conf +%{_tmpfilesdir}/systemd-nologin.conf +%{_tmpfilesdir}/systemd-tmp.conf +%{_tmpfilesdir}/systemd.conf +%{_tmpfilesdir}/x11.conf +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules +%{_unitdir}/after-local.service +%{_unitdir}/autovt@.service +%{_unitdir}/basic.target +%{_unitdir}/blockdev@.target +%{_unitdir}/bluetooth.target +%{_unitdir}/boot-complete.target +%{_unitdir}/console-getty.service +%{_unitdir}/container-getty@.service +%if ! 0%{?bootstrap} +%{_unitdir}/cryptsetup-pre.target +%{_unitdir}/cryptsetup.target +%endif +%{_unitdir}/ctrl-alt-del.target +%{_unitdir}/dbus-org.freedesktop.hostname1.service +%{_unitdir}/dbus-org.freedesktop.locale1.service +%{_unitdir}/dbus-org.freedesktop.login1.service +%{_unitdir}/dbus-org.freedesktop.timedate1.service +%{_unitdir}/debug-shell.service +%{_unitdir}/default.target +%{_unitdir}/dev-hugepages.mount +%{_unitdir}/dev-mqueue.mount +%{_unitdir}/emergency.service +%{_unitdir}/emergency.target +%{_unitdir}/exit.target +%{_unitdir}/final.target +%{_unitdir}/first-boot-complete.target +%{_unitdir}/getty-pre.target +%{_unitdir}/getty.target +%{_unitdir}/getty@.service +%{_unitdir}/graphical.target +%if %{with sysvcompat} +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/halt.target +%{_unitdir}/hibernate.target +%{_unitdir}/hybrid-sleep.target +%{_unitdir}/initrd-cleanup.service +%{_unitdir}/initrd-fs.target +%{_unitdir}/initrd-parse-etc.service +%{_unitdir}/initrd-root-device.target +%if ! 0%{?bootstrap} +%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target +%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target +%endif +%{_unitdir}/initrd-root-fs.target +%{_unitdir}/initrd-switch-root.service +%{_unitdir}/initrd-switch-root.target +%{_unitdir}/initrd-usr-fs.target +%{_unitdir}/initrd.target +%{_unitdir}/kexec.target +%{_unitdir}/local-fs-pre.target +%{_unitdir}/local-fs.target +%{_unitdir}/local-fs.target.wants/tmp.mount +%if %{with sysvcompat} +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%endif +%{_unitdir}/modprobe@.service +%{_unitdir}/multi-user.target +%{_unitdir}/multi-user.target.wants/after-local.service +%{_unitdir}/multi-user.target.wants/getty.target +%{_unitdir}/multi-user.target.wants/systemd-logind.service +%if %{with sysvcompat} +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/multi-user.target.wants/systemd-user-sessions.service +%{_unitdir}/network-online.target +%{_unitdir}/network-pre.target +%{_unitdir}/network.target +%{_unitdir}/nss-lookup.target +%{_unitdir}/nss-user-lookup.target +%{_unitdir}/paths.target +%{_unitdir}/poweroff.target +%{_unitdir}/printer.target +%{_unitdir}/proc-sys-fs-binfmt_misc.automount +%{_unitdir}/proc-sys-fs-binfmt_misc.mount +%{_unitdir}/quotaon.service +%if %{with sysvcompat} +%{_unitdir}/rc-local.service +%endif +%{_unitdir}/reboot.target +%if ! 0%{?bootstrap} +%{_unitdir}/remote-cryptsetup.target +%endif +%{_unitdir}/remote-fs-pre.target +%{_unitdir}/remote-fs.target +%if ! 0%{?bootstrap} +%{_unitdir}/remote-veritysetup.target +%endif +%{_unitdir}/rescue.service +%{_unitdir}/rescue.target +%if %{with sysvcompat} +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/rpcbind.target +%if %{with sysvcompat} +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%endif +%{_unitdir}/serial-getty@.service +%{_unitdir}/shutdown.target +%{_unitdir}/sigpwr.target +%{_unitdir}/sleep.target +%{_unitdir}/slices.target +%{_unitdir}/smartcard.target +%{_unitdir}/sockets.target +%if %{with sysvcompat} +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%endif +%{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket +%{_unitdir}/sockets.target.wants/systemd-journald.socket +%{_unitdir}/sound.target +%{_unitdir}/suspend-then-hibernate.target +%{_unitdir}/suspend.target +%{_unitdir}/swap.target +%{_unitdir}/sys-fs-fuse-connections.mount +%{_unitdir}/sys-kernel-config.mount +%{_unitdir}/sys-kernel-debug.mount +%{_unitdir}/sys-kernel-tracing.mount +%{_unitdir}/sysinit.target +%if ! 0%{?bootstrap} +%{_unitdir}/sysinit.target.wants/cryptsetup.target +%endif +%{_unitdir}/sysinit.target.wants/dev-hugepages.mount +%{_unitdir}/sysinit.target.wants/dev-mqueue.mount +%{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount +%{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount +%{_unitdir}/sysinit.target.wants/sys-kernel-config.mount +%{_unitdir}/sysinit.target.wants/sys-kernel-debug.mount +%{_unitdir}/sysinit.target.wants/sys-kernel-tracing.mount +%{_unitdir}/sysinit.target.wants/systemd-ask-password-console.path +%{_unitdir}/sysinit.target.wants/systemd-binfmt.service +%if %{with sd_boot} +%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service +%endif +%{_unitdir}/sysinit.target.wants/systemd-firstboot.service +%{_unitdir}/sysinit.target.wants/systemd-journal-catalog-update.service +%{_unitdir}/sysinit.target.wants/systemd-journal-flush.service +%{_unitdir}/sysinit.target.wants/systemd-journald.service +%{_unitdir}/sysinit.target.wants/systemd-machine-id-commit.service +%{_unitdir}/sysinit.target.wants/systemd-modules-load.service +%{_unitdir}/sysinit.target.wants/systemd-random-seed.service +%{_unitdir}/sysinit.target.wants/systemd-sysctl.service +%{_unitdir}/sysinit.target.wants/systemd-sysusers.service +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service +%{_unitdir}/sysinit.target.wants/systemd-update-done.service +%{_unitdir}/sysinit.target.wants/systemd-update-utmp.service +%if ! 0%{?bootstrap} +%{_unitdir}/sysinit.target.wants/veritysetup.target +%endif +%{_unitdir}/syslog.socket +%if ! 0%{?bootstrap} +%{_unitdir}/system-systemd\x2dcryptsetup.slice +%endif +%{_unitdir}/system-update-cleanup.service +%{_unitdir}/system-update-pre.target +%{_unitdir}/system-update.target +%{_unitdir}/systemd-ask-password-console.path +%{_unitdir}/systemd-ask-password-console.service +%{_unitdir}/systemd-ask-password-wall.path +%{_unitdir}/systemd-ask-password-wall.service +%{_unitdir}/systemd-backlight@.service +%{_unitdir}/systemd-binfmt.service +%if %{with sd_boot} +%{_unitdir}/systemd-bless-boot.service +%endif +%{_unitdir}/systemd-boot-check-no-failures.service +%if %{with sd_boot} +%{_unitdir}/systemd-boot-system-token.service +%endif +%{_unitdir}/systemd-exit.service +%{_unitdir}/systemd-firstboot.service +%{_unitdir}/systemd-fsck-root.service +%{_unitdir}/systemd-fsck@.service +%{_unitdir}/systemd-halt.service +%{_unitdir}/systemd-hibernate-resume@.service +%{_unitdir}/systemd-hibernate.service +%{_unitdir}/systemd-hostnamed.service +%{_unitdir}/systemd-hybrid-sleep.service +%if %{with sysvcompat} +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%endif +%{_unitdir}/systemd-journal-catalog-update.service +%{_unitdir}/systemd-journal-flush.service +%{_unitdir}/systemd-journald-dev-log.socket +%{_unitdir}/systemd-journald-varlink@.socket +%{_unitdir}/systemd-journald.service +%{_unitdir}/systemd-journald.socket +%{_unitdir}/systemd-journald@.service +%{_unitdir}/systemd-journald@.socket +%{_unitdir}/systemd-kexec.service +%{_unitdir}/systemd-localed.service +%{_unitdir}/systemd-logind.service +%{_unitdir}/systemd-machine-id-commit.service +%{_unitdir}/systemd-modules-load.service +%{_unitdir}/systemd-poweroff.service +%{_unitdir}/systemd-quotacheck.service +%{_unitdir}/systemd-random-seed.service +%{_unitdir}/systemd-reboot.service +%{_unitdir}/systemd-remount-fs.service +%{_unitdir}/systemd-rfkill.service +%{_unitdir}/systemd-rfkill.socket +%{_unitdir}/systemd-suspend-then-hibernate.service +%{_unitdir}/systemd-suspend.service +%{_unitdir}/systemd-sysctl.service +%{_unitdir}/systemd-sysext.service +%{_unitdir}/systemd-sysusers.service +%{_unitdir}/systemd-time-wait-sync.service +%{_unitdir}/systemd-timedated.service +%{_unitdir}/systemd-timesyncd.service +%{_unitdir}/systemd-tmpfiles-clean.service +%{_unitdir}/systemd-tmpfiles-clean.timer +%{_unitdir}/systemd-tmpfiles-setup-dev.service +%{_unitdir}/systemd-tmpfiles-setup.service +%{_unitdir}/systemd-update-done.service +%if %{with sysvcompat} +%{_unitdir}/systemd-update-utmp-runlevel.service +%endif +%{_unitdir}/systemd-update-utmp.service +%{_unitdir}/systemd-user-sessions.service +%{_unitdir}/systemd-vconsole-setup.service +%{_unitdir}/systemd-volatile-root.service +%{_unitdir}/time-set.target +%{_unitdir}/time-sync.target +%{_unitdir}/timers.target +%{_unitdir}/timers.target.wants/systemd-tmpfiles-clean.timer +%{_unitdir}/tmp.mount +%{_unitdir}/umount.target +%{_unitdir}/usb-gadget.target +%{_unitdir}/user-.slice.d +%{_unitdir}/user-.slice.d/10-defaults.conf +%{_unitdir}/user-runtime-dir@.service +%{_unitdir}/user.slice +%{_unitdir}/user@.service +%if %{with sysvcompat} +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%endif +%if ! 0%{?bootstrap} +%{_unitdir}/veritysetup-pre.target +%{_unitdir}/veritysetup.target +%endif +%if %{with split_usr} +/bin/systemctl +%endif diff --git a/files.udev b/files.udev new file mode 100644 index 00000000..4f75bcc9 --- /dev/null +++ b/files.udev @@ -0,0 +1,126 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/udev/udev.conf +%dir %{_prefix}/lib/udev +%dir %{_sysconfdir}/udev +%dir %{_sysconfdir}/udev/rules.d +%dir %{_systemd_util_dir}/network +%dir %{_udevhwdbdir} +%dir %{_udevrulesdir} +%doc %{_udevhwdbdir}/README +%doc %{_udevrulesdir}/README +%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin +%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%{_bindir}/systemd-hwdb +%{_bindir}/udevadm +%if ! 0%{?bootstrap} +%{_datadir}/bash-completion/completions/udevadm +%endif +%{_datadir}/pkgconfig/udev.pc +%if ! 0%{?bootstrap} +%{_datadir}/zsh/site-functions/_udevadm +%endif +%if ! 0%{?bootstrap} +%{_mandir}/man5/udev.conf.5.gz +%{_mandir}/man7/hwdb.7.gz +%{_mandir}/man7/udev.7.gz +%{_mandir}/man8/systemd-hwdb.8.gz +%{_mandir}/man8/systemd-network-generator.8.gz +%{_mandir}/man8/systemd-network-generator.service.8.gz +%{_mandir}/man8/systemd-udev-settle.service.8.gz +%{_mandir}/man8/systemd-udevd-control.socket.8.gz +%{_mandir}/man8/systemd-udevd-kernel.socket.8.gz +%{_mandir}/man8/systemd-udevd.8.gz +%{_mandir}/man8/systemd-udevd.service.8.gz +%{_mandir}/man8/udevadm.8.gz +%endif +%{_prefix}/lib/udev/ata_id +%{_prefix}/lib/udev/cdrom_id +# dmi_memory_id is only relevant on arches with DMI +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +%{_prefix}/lib/udev/dmi_memory_id +%endif +%{_prefix}/lib/udev/fido_id +%{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat +%{_prefix}/lib/udev/scsi_id +%{_prefix}/lib/udev/v4l_id +%{_systemd_util_dir}/network/99-default.link +%{_systemd_util_dir}/systemd-network-generator +%{_systemd_util_dir}/systemd-udevd +%{_tmpfilesdir}/static-nodes-permissions.conf +%{_udevhwdbdir}/20-OUI.hwdb +%{_udevhwdbdir}/20-acpi-vendor.hwdb +%{_udevhwdbdir}/20-bluetooth-vendor-product.hwdb +%{_udevhwdbdir}/20-dmi-id.hwdb +%{_udevhwdbdir}/20-net-ifname.hwdb +%{_udevhwdbdir}/20-pci-classes.hwdb +%{_udevhwdbdir}/20-pci-vendor-model.hwdb +%{_udevhwdbdir}/20-sdio-classes.hwdb +%{_udevhwdbdir}/20-sdio-vendor-model.hwdb +%{_udevhwdbdir}/20-usb-classes.hwdb +%{_udevhwdbdir}/20-usb-vendor-model.hwdb +%{_udevhwdbdir}/20-vmbus-class.hwdb +%{_udevhwdbdir}/60-autosuspend-chromiumos.hwdb +%{_udevhwdbdir}/60-autosuspend-fingerprint-reader.hwdb +%{_udevhwdbdir}/60-autosuspend.hwdb +%{_udevhwdbdir}/60-evdev.hwdb +%{_udevhwdbdir}/60-input-id.hwdb +%{_udevhwdbdir}/60-keyboard.hwdb +%{_udevhwdbdir}/60-seat.hwdb +%{_udevhwdbdir}/60-sensor.hwdb +%{_udevhwdbdir}/70-joystick.hwdb +%{_udevhwdbdir}/70-mouse.hwdb +%{_udevhwdbdir}/70-pointingstick.hwdb +%{_udevhwdbdir}/70-touchpad.hwdb +%{_udevhwdbdir}/80-ieee1394-unit-function.hwdb +%{_udevrulesdir}/50-udev-default.rules +%{_udevrulesdir}/60-autosuspend.rules +%{_udevrulesdir}/60-block.rules +%{_udevrulesdir}/60-cdrom_id.rules +%{_udevrulesdir}/60-drm.rules +%{_udevrulesdir}/60-evdev.rules +%{_udevrulesdir}/60-fido-id.rules +%{_udevrulesdir}/60-input-id.rules +%{_udevrulesdir}/60-persistent-alsa.rules +%{_udevrulesdir}/60-persistent-input.rules +%{_udevrulesdir}/60-persistent-storage-tape.rules +%{_udevrulesdir}/60-persistent-storage.rules +%{_udevrulesdir}/60-persistent-v4l.rules +%{_udevrulesdir}/60-sensor.rules +%{_udevrulesdir}/60-serial.rules +%{_udevrulesdir}/61-persistent-storage-compat.rules +%{_udevrulesdir}/64-btrfs.rules +%{_udevrulesdir}/70-joystick.rules +%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +%{_udevrulesdir}/70-memory.rules +%endif +%{_udevrulesdir}/70-mouse.rules +%{_udevrulesdir}/70-power-switch.rules +%{_udevrulesdir}/70-touchpad.rules +%{_udevrulesdir}/75-net-description.rules +%{_udevrulesdir}/75-probe_mtd.rules +%{_udevrulesdir}/78-sound-card.rules +%{_udevrulesdir}/80-drivers.rules +%{_udevrulesdir}/80-net-setup-link.rules +%{_udevrulesdir}/81-net-dhcp.rules +%{_udevrulesdir}/90-vconsole.rules +%{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/kmod-static-nodes.service +%{_unitdir}/sockets.target.wants/systemd-udevd-control.socket +%{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket +%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service +%{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service +%{_unitdir}/sysinit.target.wants/systemd-udevd.service +%{_unitdir}/systemd-hwdb-update.service +%{_unitdir}/systemd-network-generator.service +%{_unitdir}/systemd-udev-settle.service +%{_unitdir}/systemd-udev-trigger.service +%{_unitdir}/systemd-udevd-control.socket +%{_unitdir}/systemd-udevd-kernel.socket +%{_unitdir}/systemd-udevd.service +%if %{with split_usr} +/sbin/udevadm +%endif diff --git a/systemd-v249.9+suse.75.g3743acbce3.tar.xz b/systemd-v249.9+suse.75.g3743acbce3.tar.xz deleted file mode 100644 index 0adfea70..00000000 --- a/systemd-v249.9+suse.75.g3743acbce3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64320468ebe2502773e1365b50c369de2520ec4b614c623a4ca1339e26968ec2 -size 7278924 diff --git a/systemd-v249.9+suse.82.g117bd7f14a.tar.xz b/systemd-v249.9+suse.82.g117bd7f14a.tar.xz new file mode 100644 index 00000000..048b7576 --- /dev/null +++ b/systemd-v249.9+suse.82.g117bd7f14a.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:167cad3440fd7babb26317d528842f78fa37573bdaeda29845990dc0986463f0 +size 7280500 diff --git a/systemd.changes b/systemd.changes index 65d3231c..0ab20e79 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,131 @@ +------------------------------------------------------------------- +Fri Feb 4 15:22:43 UTC 2022 - Franck Bui + +- Always create systemd-network system user, even if systemd-networkd is not + installed (bsc#1195559) + +------------------------------------------------------------------- +Wed Feb 2 09:33:14 UTC 2022 - Franck Bui + +- Make more use of %{_unitdir} in files.{systemd,container} + +------------------------------------------------------------------- +Tue Feb 1 09:18:25 UTC 2022 - Franck Bui + +- Installation of libnss_mymachines.so depended on %{bootstrap} but it is + actually installed when %{with machined} is true. + +- Call ldconfig when container subpackage is installed since it ships + nss-mymachines NSS plug-in module. + +------------------------------------------------------------------- +Mon Jan 31 15:52:44 UTC 2022 - Franck Bui + +- Import commit 117bd7f14aa7834d85a4306cd380d292bec04108 + + 1395c74be7 udevadm: cleanup-db: don't delete information for kept db entries (bsc#1194912) + bbafc8092a udevadm: cleanup_dir: use dot_or_dot_dot() + +------------------------------------------------------------------- +Mon Jan 31 14:54:07 UTC 2022 - Franck Bui + +- Drop 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch + 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch + + Given the fact that Factory no more ship SysV init scripts since several + months, only scripts coming from 3rd party applications should remain which + are unlikely to rely on the SUSE specifities implemented by these + patches. This change was announced on the Factory mailing list: + + https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3ERUP5ZZJ6PPA36L3HVN46BH6U6JL74O/ + +------------------------------------------------------------------- +Mon Jan 31 11:37:23 UTC 2022 - Franck Bui + +- Import commit 885e0b9126bd2cf1e3f6b147c45ec58a5550c75c + + 41334be59e meson: minor cleanup + 3db0c28462 sysusers: split up systemd.conf + +- Drop 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (bsc#1195153) + + Since v241, the patch isn't useful anymore because resolved is no more able to + create /etc/resolv.conf symlink by itself,it runs as 'systemd-resolve' + user. The symlink is now handled by a tmpfiles config file which is only + installed when systemd-resolved is. The tmpfiles config file has currently a + lower priority than the one shipped by netconfig. + +------------------------------------------------------------------- +Mon Jan 31 10:19:23 UTC 2022 - Franck Bui + +- Make use of %ldconfig_scriptlets + +------------------------------------------------------------------- +Fri Jan 28 16:04:36 UTC 2022 - Franck Bui + +- Merge nss-resolved and nss-mymachines NSS plug-in modules into systemd-network + and systemd-container respectively. + + These modules are plug-in modules hence the shared library packaging policy + doesn't apply for them. Moreover they're pretty useless alone without their + respective systemd services, Hence let's reduce the number of sub-packages as + the list keeps increasing. + +------------------------------------------------------------------- +Thu Jan 27 10:50:50 UTC 2022 - Franck Bui + +- Merge libudev-devel into systemd-devel + +------------------------------------------------------------------- +Thu Jan 27 07:50:07 UTC 2022 - Franck Bui + +- Make sure that libopenssl-devel is installed when building resolved. Openssl + was implictly pulled in by systemd-experimental subpackage but could be + missing if the build of this subpackage was disabled. + +------------------------------------------------------------------- +Wed Jan 26 17:34:28 UTC 2022 - Franck Bui + +- resolved: disable fallback DNS servers and fail when no DNS server info could + be obtained from the links. It's better to let the sysadmin know that + something is likely misconfigured rather than silently handing over the DNS + queries to Google or Cloudflare. + +------------------------------------------------------------------- +Wed Jan 26 15:20:57 UTC 2022 - Franck Bui + +- resolved: disable DNSSEC until the following issue is solved: + https://github.com/systemd/systemd/issues/10579 + +- Replace '%setup+%autopatch' with '%autosetup' + +------------------------------------------------------------------- +Mon Jan 24 15:51:07 UTC 2022 - Franck Bui + +- systemd.spec: explicitely list all files for each main (sub) packages + + Using glob patterns in %files section to reduce the number of listed files was + error-prone as some introduced files could silently be placed in the wrong + subpackage. The sections were also hard to read and many files needed to be + excluded from the main package making the point of glob pattern usage moot. + + systemd, udev, systemd-container and systemd-network packages have now their + list of files described in a dedicated file. The lists are kept sorted to make + them easy to parse. The size of the files, especially the one for the main + package, is still reasonable and much easier to read now. + + During this rework, a couple of cleanups happened: more use of + %{_systemd_util_dir}, some files was incorrectly owned by the main package and + have been moved to the correct sub-package, etc... + + Note: the rest of the subpackages might be addressed later but let's find how + it goes for now. + +------------------------------------------------------------------- +Wed Jan 19 15:34:05 UTC 2022 - Franck Bui + +- Move the whole content of /usr/share/doc/packages/systemd in doc subpackage + ------------------------------------------------------------------- Wed Jan 19 14:25:46 UTC 2022 - Franck Bui @@ -614,6 +742,9 @@ Mon May 10 13:12:56 UTC 2021 - Franck Bui - Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2) + 2c8ec0095e udev/net_id: don't generate slot based names if multiple devices might claim the same slot (bsc#1192637) + [...] + For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa diff --git a/systemd.spec b/systemd.spec index 1dbeb761..4ef6b10e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd +# spec file # # Copyright (c) 2022 SUSE LLC # @@ -32,7 +32,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.75.g3743acbce3 +%define suse_version +suse.82.g117bd7f14a %define _testsuitedir /usr/lib/systemd/tests %if 0%{?bootstrap} @@ -159,12 +159,12 @@ Requires(post): pam-config >= 0.79-5 %endif %if 0%{?bootstrap} -Conflicts: systemd Conflicts: kiwi +Conflicts: systemd %endif -Conflicts: sysvinit Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Conflicts: sysvinit Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} @@ -187,22 +187,25 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh Source102: scripts-systemd-migrate-sysconfig-i18n.sh -# Patches listed below are SUSE specific and should be kept at its -# minimum. We try hard to push our changes to upstream but sometimes -# they are only relevant for SUSE distros. Special rewards for those -# who will manage to get rid of one of them ! +Source200: files.systemd +Source201: files.udev +Source202: files.container +Source203: files.network +Source204: files.devel + +# Patches listed below are openSUSE specific and should be kept at its +# minimum. We try hard to push our changes to upstream but sometimes they are +# only relevant for SUSE distros. Special rewards for those who will manage to +# get rid of one of them ! Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -Patch9: 0009-sysv-add-back-support-for-all-virtual-facility-and-f.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch -Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch -Patch13: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git @@ -221,29 +224,36 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. -%if !0%{?bootstrap} %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later Supplements: (systemd and patterns-base-documentation) +%if 0%{?bootstrap} +Provides: systemd-doc = %{version}-%{release} +Conflicts: systemd-doc +%endif %description doc The HTML documentation for systemd. -# /bootstrap -%endif - %package devel -Summary: Development headers for systemd +Summary: Development files for libsystemd and libudev License: LGPL-2.1-or-later Requires: libsystemd0%{?mini} = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros +Provides: libudev%{?mini}-devel = %{version}-%{release} +Obsoletes: libudev%{?mini}-devel < %{version}-%{release} %if 0%{?bootstrap} +Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel +Provides: libudev-devel = %{version}-%{release} +Conflicts: libudev-devel %endif %description devel -Development headers and auxiliary files for developing applications for systemd. +Development headers and files for libsystemd and libudev libraries for +developing and building applications linking to these libraries. %package sysvinit Summary: System V init tools @@ -292,22 +302,21 @@ License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: %{name} = %{version}-%{release} %systemd_requires +Requires: filesystem Requires: kmod Requires: system-group-hardware Requires: group(kvm) Requires(post): sed Requires(post): coreutils -Requires(postun): coreutils +Requires(postun):coreutils +Conflicts: ConsoleKit < 0.4.1 +Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 -Conflicts: dracut < 044.1 Conflicts: util-linux < 2.16 -Conflicts: ConsoleKit < 0.4.1 -Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version}-%{release} -Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs @@ -324,8 +333,8 @@ call tools to initialize a device, or load needed kernel modules. Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later %if 0%{?bootstrap} -Conflicts: libudev1 Conflicts: kiwi +Conflicts: libudev1 # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs %endif @@ -334,20 +343,6 @@ Requires: this-is-only-for-build-envs This package contains the dynamic library libudev, which provides access to udev device information -%package -n libudev%{?mini}-devel -Summary: Development files for libudev -License: LGPL-2.1-or-later -Requires: libudev%{?mini}1 = %{version}-%{release} -%if 0%{?bootstrap} -Provides: libudev-devel = %{version}-%{version} -Conflicts: libudev1 = %{version} -Conflicts: libudev-devel -%endif - -%description -n libudev%{?mini}-devel -This package contains the development files for the library libudev, a -dynamic library, which provides access to udev device information. - %if %{with coredump} %package coredump Summary: Systemd tools for coredump management @@ -367,33 +362,61 @@ Summary: Systemd tools for container management License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires +Obsoletes: nss-mymachines < %{version}-%{release} +Provides: nss-mymachines = %{version}-%{release} +Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} Conflicts: systemd-container +Provides: systemd-container = %{version}-%{release} %endif %description container Systemd tools to spawn and manage containers and virtual machines. -This package contains systemd-nspawn, machinectl, systemd-machined, -and systemd-importd. +In addition, it also contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual machines +using network namespacing and registered with systemd-machined. It also maps +UID/GIDs ranges used by containers to useful names. + +To activate this NSS module, you will need to include it in /etc/nsswitch.conf, +see nss-mymachines(8) manpage for more details. %if %{with networkd} || %{with resolved} %package network -Summary: Systemd tools for networkd and resolved +Summary: systemd network and Network Name Resolution managers License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires # This Recommends because some symbols of libidn2 are dlopen()ed by resolved Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) +BuildRequires: pkgconfig(openssl) +Obsoletes: nss-resolve < %{version}-%{release} +Provides: nss-resolve = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %description network -Systemd tools to manage network settings using networkd and -resolver tools for resolved +systemd-networkd is a system service that manages networks. It detects and +configures network devices as they appear, as well as manages network addresses +and routes for any link for which it finds a .network file, see +systemd.network(5). It can also create virtual network devices based on their +description given by systemd.netdev(5) files. It may be controlle by +networkctl(1). +systemd-resolved is a system service that provides network name resolution to +local applications. It implements a caching and validating DNS/DNSSEC stub +resolver, as well as an LLMNR and MulticastDNS resolver and responder. It may be +controlled by resolvectl(1). + +Addtionally, this package also contains a plug-in module for the Name Service +Switch (NSS), which enables hostname resolutions by contacting +systemd-resolved(8). It replaces the nss-dns plug-in module that traditionally +resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in /etc/nsswitch.conf, +see nss-resolve(8) manpage for more details. %endif %if %{with portabled} @@ -442,38 +465,6 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Requires: %{name}-network = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-mymachines -This package contains a plugin for the Name Service Switch (NSS), -providing host name resolution for all local containers and virtual -machines registered with systemd-machined to their respective IP -addresses. It also maps UID/GIDs ranges used by containers to useful -names. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. -%endif - %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP @@ -505,11 +496,14 @@ Recommends: dosfstools # host and install them in the image, see install_missing_libraries() # for details. %if %{with resolved} -Requires: libidn2 pkgconfig(libidn2) +Requires: libidn2 +Requires: pkgconfig(libidn2) %endif %if %{with experimental} -Requires: libpwquality1 pkgconfig(pwquality) -Requires: libqrencode4 pkgconfig(libqrencode) +Requires: libpwquality1 +Requires: libqrencode4 +Requires: pkgconfig(libqrencode) +Requires: pkgconfig(pwquality) %endif Requires: %{name} = %{version}-%{release} Requires: attr @@ -518,6 +512,10 @@ Requires: busybox-static Requires: cryptsetup Requires: dosfstools Requires: libcap-progs +Requires: libfido2 +Requires: libtss2-esys0 +Requires: libtss2-mu0 +Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: netcat @@ -526,10 +524,10 @@ Requires: quota Requires: socat Requires: squashfs Requires: systemd-container -Requires: libfido2 pkgconfig(libfido2) -Requires: libtss2-esys0 pkgconfig(tss2-esys) -Requires: libtss2-mu0 pkgconfig(tss2-mu) -Requires: libtss2-rc0 pkgconfig(tss2-rc) +Requires: pkgconfig(libfido2) +Requires: pkgconfig(tss2-esys) +Requires: pkgconfig(tss2-mu) +Requires: pkgconfig(tss2-rc) %if %{with coredump} Requires: systemd-coredump %endif @@ -611,11 +609,9 @@ Have fun with these services at your own risk. %endif %prep -%setup -q -n systemd-v%{version}%{suse_version} -%autopatch -p1 +%autosetup -p1 -n systemd-v%{version}%{suse_version} %build -# keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ @@ -657,6 +653,8 @@ Have fun with these services at your own risk. -Duserdb=false \ %endif %if 0%{?bootstrap} + -Dbashcompletiondir=no \ + -Dzshcompletiondir=no \ -Dtranslations=false \ -Dnss-myhostname=false \ -Dnss-systemd=false \ @@ -692,6 +690,10 @@ Have fun with these services at your own risk. %endif %if %{without resolved} -Dresolve=false \ +%else + -Ddns-servers='' \ + -Ddefault-dnssec=no \ + -Ddns-over-tls=openssl \ %endif %if %{without sysvcompat} -Dsysvinit-path= \ @@ -726,8 +728,8 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated -install -m0755 -D %{SOURCE3} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-convert -install -m0755 -D %{SOURCE4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install +install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-convert +install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network @@ -735,10 +737,12 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't -# allow directory structure... -for s in %{SOURCE100} %{SOURCE101} %{SOURCE102}; do - install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} -done +# allow directories in the workspace... +%if %{with machined} +install -m0755 -D %{SOURCE100} %{buildroot}%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh +%endif +install -m0755 -D %{SOURCE101} %{buildroot}%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh +install -m0755 -D %{SOURCE102} %{buildroot}%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %if %{with split_usr} mkdir -p %{buildroot}/{bin,sbin} @@ -813,10 +817,15 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ mkdir -p %{buildroot}%{_unitdir}/basic.target.wants mkdir -p %{buildroot}%{_unitdir}/default.target.wants mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/initrd-root-device.target.wants +mkdir -p %{buildroot}%{_unitdir}/initrd-root-fs.target.wants mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/remote-fs.target.wants +mkdir -p %{buildroot}%{_unitdir}/rescue.target.wants mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. @@ -1100,6 +1109,7 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %post container %tmpfiles_create systemd-nspawn.conf %if %{with machined} +%ldconfig if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for # rollbacks, if needed. See bsc#992573. The installer has been fixed @@ -1118,24 +1128,14 @@ if [ $1 -gt 1 ]; then # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi + +%postun container +%ldconfig %endif %if ! 0%{?bootstrap} -%post -n nss-myhostname -p /sbin/ldconfig -%postun -n nss-myhostname -p /sbin/ldconfig - -%post -n nss-systemd -p /sbin/ldconfig -%postun -n nss-systemd -p /sbin/ldconfig -%endif - -%if %{with resolved} -%post -n nss-resolve -p /sbin/ldconfig -%postun -n nss-resolve -p /sbin/ldconfig -%endif - -%if %{with machined} -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig +%ldconfig_scriptlets -n nss-myhostname +%ldconfig_scriptlets -n nss-systemd %endif %if %{with journal_remote} @@ -1178,6 +1178,7 @@ fi %service_add_post systemd-networkd-wait-online.service %endif %if %{with resolved} +%ldconfig %service_add_post systemd-resolved.service %endif @@ -1196,6 +1197,7 @@ fi %service_del_postun systemd-networkd-wait-online.service %endif %if %{with resolved} +%ldconfig %service_del_postun systemd-resolved.service %endif %endif @@ -1240,460 +1242,74 @@ fi %files %defattr(-,root,root) -%license LICENSE* -%if %{with sd_boot} -%{_bindir}/bootctl -%endif -%{_bindir}/busctl -%{_bindir}/hostnamectl -%{_bindir}/kernel-install -%{_bindir}/localectl -%{_bindir}/systemctl -%{_bindir}/systemd-analyze -%if ! 0%{?bootstrap} -%{_bindir}/systemd-cryptenroll -%endif -%{_bindir}/systemd-delta -%{_bindir}/systemd-dissect -%{_bindir}/systemd-escape -%{_bindir}/systemd-firstboot -%{_bindir}/systemd-id128 -%{_bindir}/systemd-path -%{_bindir}/systemd-sysusers -%{_bindir}/systemd-mount -%{_bindir}/systemd-umount -%{_bindir}/systemd-notify -%{_bindir}/systemd-run -%{_bindir}/systemd-sysext -%{_bindir}/journalctl -%{_bindir}/systemd-ask-password -%{_bindir}/loginctl -%{_bindir}/systemd-inhibit -%{_bindir}/systemd-tty-ask-password-agent -%{_bindir}/systemd-tmpfiles -%{_bindir}/systemd-machine-id-setup -%{_bindir}/systemd-socket-activate -%{_bindir}/systemd-stdio-bridge -%{_bindir}/systemd-detect-virt -%{_bindir}/timedatectl -%{_bindir}/systemd-cgls -%{_bindir}/systemd-cgtop -%{_bindir}/systemd-cat -%if %{with split_usr} -/bin/systemctl -%endif -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d -%{_prefix}/lib/kernel/install.d/00-entry-directory.install -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/network -%dir %{_unitdir} -%{_userunitdir} -%exclude %{_prefix}/lib/systemd/systemd-network-generator -%exclude %{_unitdir}/systemd-network-generator.service -%if %{with coredump} -%exclude %{_prefix}/lib/systemd/systemd-coredump -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket -%endif -%if %{with journal_remote} -%exclude %{_unitdir}/systemd-journal-gatewayd.* -%exclude %{_unitdir}/systemd-journal-remote.* -%exclude %{_unitdir}/systemd-journal-upload.* -%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd -%exclude %{_prefix}/lib/systemd/systemd-journal-remote -%exclude %{_prefix}/lib/systemd/systemd-journal-upload -%exclude %{_datadir}/systemd/gatewayd -%endif -%exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_unitdir}/systemd-udev*.* -%exclude %{_unitdir}/systemd-hwdb*.* -%exclude %{_unitdir}/*.target.wants/systemd-udev*.* -%exclude %{_unitdir}/*.target.wants/systemd-hwdb*.* -%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service -%exclude %{_unitdir}/kmod-static-nodes.service -%exclude %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service -%exclude %{_tmpfilesdir}/static-nodes-permissions.conf -%exclude %{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%exclude %{_prefix}/lib/systemd/systemd-machined -%exclude %{_unitdir}/systemd-machined.service -%exclude %{_unitdir}/dbus-org.freedesktop.machine1.service -%exclude %{_unitdir}/var-lib-machines.mount -%exclude %{_unitdir}/machine.slice -%exclude %{_unitdir}/machines.target.wants -%exclude %{_unitdir}/*.target.wants/var-lib-machines.mount -%endif -%if %{with importd} -%exclude %{_prefix}/lib/systemd/systemd-import* -%exclude %{_prefix}/lib/systemd/systemd-pull -%exclude %{_prefix}/lib/systemd/import-pubring.gpg -%exclude %{_unitdir}/systemd-importd.service -%exclude %{_unitdir}/dbus-org.freedesktop.import1.service -%endif -%if %{with networkd} -%exclude %{_prefix}/lib/systemd/systemd-networkd -%exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online -%exclude %{_unitdir}/systemd-networkd.service -%exclude %{_unitdir}/systemd-networkd.socket -%exclude %{_unitdir}/systemd-networkd-wait-online.service -%exclude %{_prefix}/lib/systemd/systemd-resolved -%exclude %{_unitdir}/systemd-resolved.service -%endif -%if %{with portabled} -%exclude %{_prefix}/lib/systemd/systemd-portabled -%exclude %{_prefix}/lib/systemd/portable -%exclude %{_unitdir}/systemd-portabled.service -%exclude %{_unitdir}/dbus-org.freedesktop.portable1.service -%exclude %{_tmpfilesdir}/portables.conf -%endif -%if %{with experimental} -%exclude %{_prefix}/lib/systemd/systemd-pstore -%exclude %{_unitdir}/systemd-pstore.service -%exclude %{_tmpfilesdir}/systemd-pstore.conf -%exclude %{_unitdir}/systemd-repart.service -%exclude %{_unitdir}/initrd-root-fs.target.wants/systemd-repart.service -%exclude %{_unitdir}/sysinit.target.wants/systemd-repart.service -%exclude %{_prefix}/lib/systemd/systemd-userwork -%exclude %{_prefix}/lib/systemd/systemd-userdbd -%exclude %{_unitdir}/systemd-userdbd.service -%exclude %{_unitdir}/systemd-userdbd.socket -%exclude %{_prefix}/lib/systemd/systemd-homed -%exclude %{_prefix}/lib/systemd/systemd-homework -%exclude %{_unitdir}/systemd-homed-activate.service -%exclude %{_unitdir}/systemd-homed.service +%include %{SOURCE200} + +%files -n udev%{?mini} +%defattr(-,root,root) +%include %{SOURCE201} + +%files container +%defattr(-,root,root) +%include %{SOURCE202} + +%if %{with networkd} || %{with resolved} +%files network +%defattr(-,root,root) +%include %{SOURCE203} %endif -%{_unitdir}/*.automount -%{_unitdir}/*.service -%{_unitdir}/*.slice -%{_unitdir}/*.target -%{_unitdir}/*.mount -%{_unitdir}/*.timer -%{_unitdir}/*.socket -%{_unitdir}/*.wants -%{_unitdir}/*.path - -%{_unitdir}/user-.slice.d/ - -%{_prefix}/lib/systemd/systemd-* -%{_prefix}/lib/systemd/systemd -%{_prefix}/lib/systemd/libsystemd-shared-*.so -%{_prefix}/lib/systemd/scripts -%exclude %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%dir %{_journalcatalogdir} -%{_journalcatalogdir}/systemd.catalog -%{_journalcatalogdir}/systemd.*.catalog -%{_presetdir} -%{_userpresetdir} -%{_systemdgeneratordir} -%{_systemdusergeneratordir} -%{_systemd_system_env_generator_dir} -%{_systemd_user_env_generator_dir} -%dir %{_ntpunitsdir} -%{_ntpunitsdir}/80-systemd-timesync.list -%dir %{_prefix}/lib/systemd/system-shutdown/ -%dir %{_prefix}/lib/systemd/system-sleep/ - -%{_pam_moduledir}/pam_systemd.so - -%if %{with sd_boot} -%dir %{_prefix}/lib/systemd/boot -%dir %{_prefix}/lib/systemd/boot/efi -%{_prefix}/lib/systemd/boot/efi/*.efi -%{_prefix}/lib/systemd/boot/efi/*.stub -%endif - -%dir %{_sysconfdir}/modules-load.d -%{_modulesloaddir} - -%dir %{_sysusersdir} -%doc %{_sysusersdir}/README -%{_sysusersdir}/systemd.conf - -%dir %{_sysconfdir}/tmpfiles.d -%{_tmpfilesdir}/ -%exclude %{_tmpfilesdir}/systemd-nspawn.conf - -%{_environmentdir}/ - -%dir %{_binfmtdir} -%dir %{_sysconfdir}/binfmt.d - -%dir %{_sysctldir} -%dir %{_sysconfdir}/sysctl.d -%doc %{_sysctldir}/README -%{_sysctldir}/99-sysctl.conf - -%dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_sysconfdir}/systemd -%dir %{_sysconfdir}/systemd/network -%dir %{_sysconfdir}/systemd/system -%dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/xdg/systemd -%{_sysconfdir}/xdg/systemd/user - -%dir %{_distconfdir}/X11/xinit -%dir %{_distconfdir}/X11/xinit/xinitrc.d -%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh - -%{_pam_vendordir}/systemd-user - -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/sleep.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf - -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/services -%dir %{_datadir}/dbus-1/system.d -%dir %{_datadir}/dbus-1/system-services - -%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf - -# FIXME: why do we have to own this dir ? -%dir %{_modprobedir} -%doc %{_modprobedir}/README -%{_modprobedir}/systemd.conf - -# Some files created at runtime. -%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal/ -%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf -%ghost %config(noreplace) %{_sysconfdir}/locale.conf -%ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id - -%{_datadir}/systemd -%{_datadir}/factory - -%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service - -%dir %{_datadir}/polkit-1 -%dir %{_datadir}/polkit-1/actions -%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy - -%if ! 0%{?bootstrap} -%{_mandir}/man1/[a-rt-z]*ctl.1* -%{_mandir}/man1/systemc*.1* -%{_mandir}/man1/systemd*.1* -%{_mandir}/man5/[a-tv-z]* -%{_mandir}/man5/user* -%{_mandir}/man7/[bdfks]* -%{_mandir}/man8/kern* -%{_mandir}/man8/pam_* -%{_mandir}/man8/rc-local.* -%{_mandir}/man8/systemd-[a-gik-tvx]* -%{_mandir}/man8/systemd-h[aioy]* -%{_mandir}/man8/systemd-journald* -%{_mandir}/man8/systemd-u[ps]* -%{_mandir}/man8/30-systemd-environment-d-generator.* -%exclude %{_mandir}/man8/systemd-network-generator.* -%if %{with coredump} -%exclude %{_mandir}/man1/coredumpctl* -%exclude %{_mandir}/man5/coredump.conf* -%exclude %{_mandir}/man8/systemd-coredump* -%endif -%exclude %{_mandir}/man*/*nspawn* -%if %{with machined} -%exclude %{_mandir}/man*/machinectl* -%exclude %{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%exclude %{_mandir}/man*/systemd-importd* -%endif -%if %{with journal_remote} -%exclude %{_mandir}/man5/journal-remote.conf* -%exclude %{_mandir}/man5/journal-upload.conf* -%endif -%if %{with portabled} -%exclude %{_mandir}/man*/portablectl* -%exclude %{_mandir}/man*/systemd-portabled* -%endif -%if %{with experimental} -%exclude %{_mandir}/man*/*pstore* -%exclude %{_mandir}/man*/*repart* -%exclude %{_mandir}/man*/userdbctl* -%exclude %{_mandir}/man*/systemd-userdbd* -%exclude %{_mandir}/man*/*homectl* -%exclude %{_mandir}/man*/*homed* -%exclude %{_mandir}/man*/org.freedesktop.home1* -%exclude %{_mandir}/man*/pam_systemd_home* -%exclude %{_datadir}/bash-completion/completions/homectl -%endif -%endif - -%{_docdir}/systemd -%exclude %{_docdir}/systemd/html - -%{_udevrulesdir}/70-uaccess.rules -%{_udevrulesdir}/71-seat.rules -%{_udevrulesdir}/73-seat-late.rules -%{_udevrulesdir}/99-systemd.rules -%dir %{_localstatedir}/lib/systemd -%dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_localstatedir}/lib/systemd/migrated -%endif -%ghost %{_localstatedir}/lib/systemd/catalog/database -%ghost %{_localstatedir}/lib/systemd/backlight -%ghost %{_localstatedir}/lib/systemd/i18n-migrated -%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed - -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/* - -%dir %{_datadir}/zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* -%{_datadir}/pkgconfig/systemd.pc - -%if ! 0%{?bootstrap} %files doc %defattr(-,root,root,-) -%dir %{_docdir}/systemd -%{_docdir}/systemd/html -%endif +%{_docdir}/systemd/ %files devel %defattr(-,root,root,-) -%{_libdir}/libsystemd.so -%{_libdir}/pkgconfig/libsystemd.pc -%{_includedir}/systemd/ -%if ! 0%{?bootstrap} -%{_mandir}/man3/SD*.3* -%{_mandir}/man3/sd*.3* -%endif +%license LICENSE.LGPL2.1 +%include %{SOURCE204} %files sysvinit %defattr(-,root,root,-) %if %{with split_usr} -/sbin/init -/sbin/reboot /sbin/halt -/sbin/shutdown +/sbin/init /sbin/poweroff +/sbin/reboot +/sbin/shutdown %if %{with sysvcompat} /sbin/telinit /sbin/runlevel %endif %endif -%{_sbindir}/init -%{_sbindir}/reboot %{_sbindir}/halt -%{_sbindir}/shutdown +%{_sbindir}/init %{_sbindir}/poweroff +%{_sbindir}/reboot +%{_sbindir}/shutdown %if %{with sysvcompat} -%{_sbindir}/telinit %{_sbindir}/runlevel +%{_sbindir}/telinit %endif %if ! 0%{?bootstrap} -%{_mandir}/man1/init.1* -%{_mandir}/man8/halt.8* -%{_mandir}/man8/reboot.8* -%{_mandir}/man8/shutdown.8* -%{_mandir}/man8/poweroff.8* -%{_mandir}/man8/telinit.8* -%{_mandir}/man8/runlevel.8* -%endif - -%files -n udev%{?mini} -%defattr(-,root,root) -%{_bindir}/udevadm -%{_bindir}/systemd-hwdb -%if %{with split_usr} -/sbin/udevadm -%endif -%dir %{_prefix}/lib/udev/ -%{_prefix}/lib/udev/ata_id -%{_prefix}/lib/udev/cdrom_id -# dmi_memory_id is only relevant on arches with DMI -%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips -%{_prefix}/lib/udev/dmi_memory_id -%endif -%{_prefix}/lib/udev/fido_id -%{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/path_id_compat -%{_prefix}/lib/udev/scsi_id -%{_prefix}/lib/udev/v4l_id -%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation -%{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/systemd-network-generator -%dir %{_udevrulesdir}/ -%doc %{_udevrulesdir}/README -%exclude %{_udevrulesdir}/70-uaccess.rules -%exclude %{_udevrulesdir}/71-seat.rules -%exclude %{_udevrulesdir}/73-seat-late.rules -%exclude %{_udevrulesdir}/99-systemd.rules -%{_udevrulesdir}/*.rules -%{_udevhwdbdir}/ -%dir %{_sysconfdir}/udev/ -%dir %{_sysconfdir}/udev/rules.d/ -%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin -%config(noreplace) %{_sysconfdir}/udev/udev.conf -%dir %{_unitdir} -%{_unitdir}/kmod-static-nodes.service -%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service -%{_tmpfilesdir}/static-nodes-permissions.conf -%{_unitdir}/systemd-udev*.service -%{_unitdir}/systemd-udevd*.socket -%{_unitdir}/systemd-hwdb*.* -%{_unitdir}/initrd-udevadm-cleanup-db.service -%{_unitdir}/systemd-network-generator.service -%dir %{_unitdir}/sysinit.target.wants -%{_unitdir}/sysinit.target.wants/systemd-udev*.service -%dir %{_unitdir}/sockets.target.wants -%{_unitdir}/sockets.target.wants/systemd-udev*.socket -%{_unitdir}/*.target.wants/systemd-hwdb*.* -%{_prefix}/lib/systemd/network/99-default.link -%{_datadir}/pkgconfig/udev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man5/udev* -%{_mandir}/man7/hwdb* -%{_mandir}/man7/udev* -%{_mandir}/man8/systemd-hwdb* -%{_mandir}/man8/systemd-udev* -%{_mandir}/man8/udev* -%{_mandir}/man8/systemd-network-generator.* +%{_mandir}/man1/init.1.gz +%{_mandir}/man8/halt.8.gz +%{_mandir}/man8/poweroff.8.gz +%{_mandir}/man8/reboot.8.gz +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/shutdown.8.gz +%{_mandir}/man8/telinit.8.gz %endif %files -n libsystemd0%{?mini} %defattr(-,root,root) -%{_libdir}/libsystemd.so.* +%license LICENSE.LGPL2.1 +%{_libdir}/libsystemd.so.0 +%{_libdir}/libsystemd.so.0.32.0 %files -n libudev%{?mini}1 %defattr(-,root,root) -%{_libdir}/libudev.so.* - -%files -n libudev%{?mini}-devel -%defattr(-,root,root) -%{_includedir}/libudev.h -%{_libdir}/libudev.so -%{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} -%{_mandir}/man3/*udev*.3* -%endif +%license LICENSE.LGPL2.1 +%{_libdir}/libudev.so.1 +%{_libdir}/libudev.so.1.7.2 %if %{with coredump} %files coredump @@ -1703,6 +1319,7 @@ fi %{_unitdir}/systemd-coredump* %{_unitdir}/sockets.target.wants/systemd-coredump.socket %{_sysctldir}/50-coredump.conf +%{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump %if ! 0%{?bootstrap} @@ -1712,47 +1329,6 @@ fi %endif %endif -%files container -%defattr(-,root,root) -%dir %{_sysconfdir}/systemd/nspawn -%{_bindir}/systemd-nspawn -%{_unitdir}/systemd-nspawn@.service -%if %{with machined} -%{_bindir}/machinectl -%{_prefix}/lib/systemd/systemd-machined -%{_unitdir}/systemd-machined.service -%{_unitdir}/dbus-org.freedesktop.machine1.service -%{_unitdir}/var-lib-machines.mount -%{_unitdir}/machine.slice -%{_unitdir}/machines.target.wants -%{_unitdir}/*.target.wants/var-lib-machines.mount -%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh -%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service -%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy -%{_tmpfilesdir}/systemd-nspawn.conf -%endif -%if %{with importd} -%{_prefix}/lib/systemd/systemd-import* -%{_prefix}/lib/systemd/systemd-pull -%{_prefix}/lib/systemd/import-pubring.gpg -%{_unitdir}/systemd-importd.service -%{_unitdir}/dbus-org.freedesktop.import1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service -%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man*/*nspawn* -%if %{with machined} -%{_mandir}/man*/machinectl* -%{_mandir}/man*/systemd-machined* -%endif -%if %{with importd} -%{_mandir}/man*/systemd-importd* -%endif -%endif - %if ! 0%{?bootstrap} %files lang -f systemd.lang @@ -1769,22 +1345,6 @@ fi %{_mandir}/man8/nss-systemd.* %endif -%if %{with resolved} -%files -n nss-resolve -%defattr(-, root, root) -%{_libdir}/libnss_resolve.so.2 -%{_mandir}/man8/libnss_resolve.* -%{_mandir}/man8/nss-resolve.* -%endif - -%if %{with machined} -%files -n nss-mymachines -%defattr(-,root,root) -%{_libdir}/libnss_mymachines.so* -%{_mandir}/man8/libnss_mymachines.* -%{_mandir}/man8/nss-mymachines.* -%endif - %if %{with journal_remote} %files journal-remote %defattr(-, root, root) @@ -1806,37 +1366,6 @@ fi %ghost %dir %{_localstatedir}/log/journal/remote %endif -%if %{with networkd} || %{with resolved} -%files network -%defattr(-,root,root) -%if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf -%{_bindir}/networkctl -%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service -%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy -%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules -%{_prefix}/lib/systemd/network/*.network -%{_prefix}/lib/systemd/network/*.network.example -%{_prefix}/lib/systemd/systemd-networkd -%{_prefix}/lib/systemd/systemd-networkd-wait-online -%{_unitdir}/systemd-networkd.service -%{_unitdir}/systemd-networkd.socket -%{_unitdir}/systemd-networkd-wait-online.service -%endif -%if %{with resolved} -%{_bindir}/resolvectl -%{_bindir}/systemd-resolve -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service -%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy -%{_prefix}/lib/systemd/resolv.conf -%{_prefix}/lib/systemd/systemd-resolved -%{_unitdir}/systemd-resolved.service -%endif -%endif - %if %{with portabled} %files portable %defattr(-,root,root) @@ -1856,8 +1385,8 @@ fi %if %{with testsuite} %files testsuite %defattr(-,root,root) -%{_testsuitedir} %doc %{_testsuitedir}/test/README.testsuite +%{_testsuitedir} %endif %if %{with experimental} @@ -1874,6 +1403,8 @@ fi %{_bindir}/userdbctl %{_prefix}/lib/systemd/systemd-userwork %{_prefix}/lib/systemd/systemd-userdbd +%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket %{_mandir}/man*/userdbctl* From 2ea074e0362e904a20348f8451a8a5b1d6f1c731738137274be5a53f3cd6ee6c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 7 Feb 2022 08:27:18 +0000 Subject: [PATCH 664/991] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=346 --- systemd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.spec b/systemd.spec index 4ef6b10e..9c477a66 100644 --- a/systemd.spec +++ b/systemd.spec @@ -335,6 +335,7 @@ License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: kiwi Conflicts: libudev1 +Provides: libudev1 # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs %endif From 3808081f28f958741cc57714bb6be4ad9e8b8cb3fe2164b2e41f1c9160a5c6ec Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 7 Feb 2022 08:27:18 +0000 Subject: [PATCH 665/991] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=346 --- systemd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.spec b/systemd.spec index 4ef6b10e..9c477a66 100644 --- a/systemd.spec +++ b/systemd.spec @@ -335,6 +335,7 @@ License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: kiwi Conflicts: libudev1 +Provides: libudev1 # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs %endif From d69ef2391441e7ad2ad7ff322473b88cfee0ffb73734b4d82951c289f2a58d40 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 7 Feb 2022 14:30:06 +0000 Subject: [PATCH 666/991] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=347 --- systemd.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 9c477a66..a9850b0d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -227,10 +227,11 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -Supplements: (systemd and patterns-base-documentation) %if 0%{?bootstrap} Provides: systemd-doc = %{version}-%{release} Conflicts: systemd-doc +%else +Supplements: (systemd and patterns-base-documentation) %endif %description doc From 2048370968c8120a2e4420beb35ded407f500bd04c509a2e86ec4e64856c6b5f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 7 Feb 2022 14:30:06 +0000 Subject: [PATCH 667/991] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=347 --- systemd.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 9c477a66..a9850b0d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -227,10 +227,11 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -Supplements: (systemd and patterns-base-documentation) %if 0%{?bootstrap} Provides: systemd-doc = %{version}-%{release} Conflicts: systemd-doc +%else +Supplements: (systemd and patterns-base-documentation) %endif %description doc From 26f6231c47cffb817a791ac792a413dc362cbec391054c45a72c3cc045f1f6e8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Feb 2022 07:34:49 +0000 Subject: [PATCH 668/991] - systemd.spec: explicitely turn on/off build options OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1248 --- systemd.changes | 8 ++++ systemd.spec | 98 ++++++++++++++++++------------------------------- 2 files changed, 43 insertions(+), 63 deletions(-) diff --git a/systemd.changes b/systemd.changes index 0ab20e79..5f793260 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Feb 14 07:31:49 UTC 2022 - Franck Bui + +- systemd.spec: explicitely turn on/off build options + + Hence a feature can't be accidentally turned on/off because its dep is pulled + in or removed due to another feature being turned on/off. + ------------------------------------------------------------------- Fri Feb 4 15:22:43 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4ef6b10e..33e1c2b4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -17,7 +17,7 @@ # -# The git repository used to track all Suse specific changes can be +# The git repository used to track all SUSE specific changes can be # found at: https://github.com/openSUSE/systemd. # @@ -35,6 +35,9 @@ %define suse_version +suse.82.g117bd7f14a %define _testsuitedir /usr/lib/systemd/tests +# Similar to %with but returns true/false +%define when() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}} + %if 0%{?bootstrap} %bcond_with coredump %bcond_with importd @@ -134,6 +137,8 @@ BuildRequires: gnu-efi #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Provides: systemd = %{version}-%{release} +Conflicts: kiwi +Conflicts: systemd %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -157,11 +162,6 @@ Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif - -%if 0%{?bootstrap} -Conflicts: kiwi -Conflicts: systemd -%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: sysvinit @@ -623,13 +623,21 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Ddefault-hierarchy=unified \ + -Ddefault-kill-user-processes=false \ + -Dldconfig=false \ -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=unified \ - -Ddefault-kill-user-processes=false \ +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif -Drc-local=/etc/init.d/boot.local \ -Dcreate-log-dirs=false \ -Dbump-proc-sys-fs-nr-open=false \ @@ -641,17 +649,6 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if %{with experimental} - -Dpstore=true \ - -Drepart=true \ - -Dhomed=true \ - -Duserdb=true \ -%else - -Dpstore=false \ - -Drepart=false \ - -Dhomed=false \ - -Duserdb=false \ -%endif %if 0%{?bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ @@ -663,53 +660,28 @@ Have fun with these services at your own risk. -Dman=true \ -Dhtml=true \ %endif -%if %{without coredump} - -Dcoredump=false \ -%endif -%if %{without sd_boot} - -Defi=false \ - -Dgnu-efi=false \ -%else - -Defi=true \ - -Dgnu-efi=true \ -%endif -%if %{without importd} - -Dimportd=false \ -%endif -%if %{without journal_remote} - -Dremote=false \ -%endif -%if %{without portabled} - -Dportabled=false \ -%endif -%if %{without machined} - -Dmachined=false \ -%endif -%if %{without networkd} - -Dnetworkd=false \ -%endif -%if %{without resolved} - -Dresolve=false \ -%else + -Dcoredump=%{when coredump} \ + -Dimportd=%{when importd} \ + -Dmachined=%{when machined} \ + -Dnetworkd=%{when networkd} \ + -Dportabled=%{when portabled} \ + -Dremote=%{when journal_remote} \ + \ + -Defi=%{when sd_boot} \ + -Dgnu-efi=%{when sd_boot} \ + \ + -Dresolve=%{when resolved} \ -Ddns-servers='' \ -Ddefault-dnssec=no \ -Ddns-over-tls=openssl \ -%endif -%if %{without sysvcompat} - -Dsysvinit-path= \ - -Dsysvrcnd-path= \ -%endif -%if %{with testsuite} - -Dtests=unsafe \ - -Dinstall-tests=true \ -%else - -Dtests=false \ - -Dinstall-tests=false \ -%endif - -Dadm-group=false \ - -Dwheel-group=false \ - -Dgshadow=false \ - -Dldconfig=false + \ + -Dpstore=%{when experimental} \ + -Drepart=%{when experimental} \ + -Dhomed=%{when experimental} \ + -Duserdb=%{when experimental} \ + \ + -Dtests=%{?with_testsuite:unsafe}%{!?with_testsuite:false} \ + -Dinstall-tests=%{when testsuite} %meson_build From a80d9ed800f5d69ec451a77eec224243e10a701ee6b209b5a6f31984b0c55ff3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Feb 2022 08:51:10 +0000 Subject: [PATCH 669/991] fix build of mini falvor by allowing a second parameter with %when OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1249 --- systemd.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/systemd.spec b/systemd.spec index 33e1c2b4..64466d96 100644 --- a/systemd.spec +++ b/systemd.spec @@ -35,8 +35,11 @@ %define suse_version +suse.82.g117bd7f14a %define _testsuitedir /usr/lib/systemd/tests -# Similar to %with but returns true/false -%define when() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}} +# Similar to %%with but returns true/false. The 'true' value can be redefined +# when a second parameter is passed. +%define __when_1() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}} +%define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} +%define when() %{expand:%%__when_%# %{*}} %if 0%{?bootstrap} %bcond_with coredump @@ -673,14 +676,14 @@ Have fun with these services at your own risk. -Dresolve=%{when resolved} \ -Ddns-servers='' \ -Ddefault-dnssec=no \ - -Ddns-over-tls=openssl \ + -Ddns-over-tls=%{when resolved openssl} \ \ -Dpstore=%{when experimental} \ -Drepart=%{when experimental} \ -Dhomed=%{when experimental} \ -Duserdb=%{when experimental} \ \ - -Dtests=%{?with_testsuite:unsafe}%{!?with_testsuite:false} \ + -Dtests=%{when testsuite unsafe} \ -Dinstall-tests=%{when testsuite} %meson_build From b7fc6f7a38e816d4d75eeca8cbd484d82e4e86d608b2a5cce21fc133da401a5b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Feb 2022 09:09:21 +0000 Subject: [PATCH 670/991] - Rename systemd-sysvinit into systemd-sysvcompat systemd-sysvinit was probably provided to allow systems to switch from sysvinit to systemd by overwriting /sbin/init with a link to systemd. But this isn't very useful anymore due to the fact that sysvinit is not supported since several years. Therefore the subpackage contains now the files needed to keep backward compatibility with SysV init scripts (most notably sysv-generator) and has been renamed accordingly. The few files that are not specific to sysvinit (such as /bin/init) have been moved to the main package. Normally this new subpackage shouldn't be needed (since all packages use systemd unit files) unless a 3rd party application is installed and still relies on SysV init scripts. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1250 --- files.systemd | 84 ++++++++---------------------------------- files.sysvcompat | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 17 +++++++++ systemd.spec | 64 +++++++++++++------------------- 4 files changed, 154 insertions(+), 107 deletions(-) create mode 100644 files.sysvcompat diff --git a/files.systemd b/files.systemd index 1a2d79a8..79a3cc49 100644 --- a/files.systemd +++ b/files.systemd @@ -30,10 +30,6 @@ %dir %{_journalcatalogdir} %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/sysv-convert -%endif %dir %{_modprobedir} %dir %{_modulesloaddir} %dir %{_prefix}/lib/kernel @@ -82,13 +78,6 @@ %dir %{_unitdir}/reboot.target.wants %dir %{_unitdir}/remote-fs.target.wants %dir %{_unitdir}/rescue.target.wants -%if %{with sysvcompat} -%dir %{_unitdir}/runlevel1.target.wants -%dir %{_unitdir}/runlevel2.target.wants -%dir %{_unitdir}/runlevel3.target.wants -%dir %{_unitdir}/runlevel4.target.wants -%dir %{_unitdir}/runlevel5.target.wants -%endif %dir %{_unitdir}/shutdown.target.wants %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants @@ -236,6 +225,7 @@ %endif %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz +%{_mandir}/man1/init.1.gz %{_mandir}/man1/journalctl.1.gz %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz @@ -347,9 +337,13 @@ %{_mandir}/man7/systemd.syntax.7.gz %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz +%{_mandir}/man8/halt.8.gz %{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/pam_systemd.8.gz +%{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/rc-local.service.8.gz +%{_mandir}/man8/reboot.8.gz +%{_mandir}/man8/shutdown.8.gz %{_mandir}/man8/systemd-ask-password-console.path.8.gz %{_mandir}/man8/systemd-ask-password-console.service.8.gz %{_mandir}/man8/systemd-ask-password-wall.path.8.gz @@ -389,9 +383,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-initctl.8.gz -%{_mandir}/man8/systemd-initctl.service.8.gz -%{_mandir}/man8/systemd-initctl.socket.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -416,7 +407,6 @@ %{_mandir}/man8/systemd-quotacheck.service.8.gz %{_mandir}/man8/systemd-random-seed.8.gz %{_mandir}/man8/systemd-random-seed.service.8.gz -%{_mandir}/man8/systemd-rc-local-generator.8.gz %{_mandir}/man8/systemd-reboot.service.8.gz %{_mandir}/man8/systemd-remount-fs.8.gz %{_mandir}/man8/systemd-remount-fs.service.8.gz @@ -436,7 +426,6 @@ %{_mandir}/man8/systemd-system-update-generator.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz -%{_mandir}/man8/systemd-sysv-generator.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz %{_mandir}/man8/systemd-time-wait-sync.service.8.gz %{_mandir}/man8/systemd-timedated.8.gz @@ -450,7 +439,6 @@ %{_mandir}/man8/systemd-tmpfiles.8.gz %{_mandir}/man8/systemd-update-done.8.gz %{_mandir}/man8/systemd-update-done.service.8.gz -%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz %{_mandir}/man8/systemd-update-utmp.8.gz %{_mandir}/man8/systemd-update-utmp.service.8.gz %{_mandir}/man8/systemd-user-sessions.8.gz @@ -470,6 +458,11 @@ %{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_sbindir}/halt +%{_sbindir}/init +%{_sbindir}/poweroff +%{_sbindir}/reboot +%{_sbindir}/shutdown %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator @@ -500,9 +493,6 @@ %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if %{with sysvcompat} -%{_systemd_util_dir}/systemd-initctl -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -518,10 +508,6 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl -%if %{with sysvcompat} -%{_systemd_util_dir}/systemd-sysv-convert -%{_systemd_util_dir}/systemd-sysv-install -%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -570,14 +556,8 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_systemdgeneratordir}/systemd-rc-local-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if %{with sysvcompat} -%{_systemdgeneratordir}/systemd-sysv-generator -%endif %if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif @@ -628,9 +608,6 @@ %{_unitdir}/getty.target %{_unitdir}/getty@.service %{_unitdir}/graphical.target -%if %{with sysvcompat} -%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/halt.target %{_unitdir}/hibernate.target %{_unitdir}/hybrid-sleep.target @@ -651,18 +628,11 @@ %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target %{_unitdir}/local-fs.target.wants/tmp.mount -%if %{with sysvcompat} -%{_unitdir}/local-fs.target.wants/var-lock.mount -%{_unitdir}/local-fs.target.wants/var-run.mount -%endif %{_unitdir}/modprobe@.service %{_unitdir}/multi-user.target %{_unitdir}/multi-user.target.wants/after-local.service %{_unitdir}/multi-user.target.wants/getty.target %{_unitdir}/multi-user.target.wants/systemd-logind.service -%if %{with sysvcompat} -%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/multi-user.target.wants/systemd-user-sessions.service %{_unitdir}/network-online.target %{_unitdir}/network-pre.target @@ -675,9 +645,6 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.automount %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service -%if %{with sysvcompat} -%{_unitdir}/rc-local.service -%endif %{_unitdir}/reboot.target %if ! 0%{?bootstrap} %{_unitdir}/remote-cryptsetup.target @@ -689,19 +656,7 @@ %endif %{_unitdir}/rescue.service %{_unitdir}/rescue.target -%if %{with sysvcompat} -%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/rpcbind.target -%if %{with sysvcompat} -%{_unitdir}/runlevel0.target -%{_unitdir}/runlevel1.target -%{_unitdir}/runlevel2.target -%{_unitdir}/runlevel3.target -%{_unitdir}/runlevel4.target -%{_unitdir}/runlevel5.target -%{_unitdir}/runlevel6.target -%endif %{_unitdir}/serial-getty@.service %{_unitdir}/shutdown.target %{_unitdir}/sigpwr.target @@ -709,9 +664,6 @@ %{_unitdir}/slices.target %{_unitdir}/smartcard.target %{_unitdir}/sockets.target -%if %{with sysvcompat} -%{_unitdir}/sockets.target.wants/systemd-initctl.socket -%endif %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket %{_unitdir}/sound.target @@ -783,10 +735,6 @@ %{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hostnamed.service %{_unitdir}/systemd-hybrid-sleep.service -%if %{with sysvcompat} -%{_unitdir}/systemd-initctl.service -%{_unitdir}/systemd-initctl.socket -%endif %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service %{_unitdir}/systemd-journald-dev-log.socket @@ -820,9 +768,6 @@ %{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service -%if %{with sysvcompat} -%{_unitdir}/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service %{_unitdir}/systemd-vconsole-setup.service @@ -839,14 +784,15 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if %{with sysvcompat} -%{_unitdir}/var-lock.mount -%{_unitdir}/var-run.mount -%endif %if ! 0%{?bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif %if %{with split_usr} /bin/systemctl +/sbin/halt +/sbin/init +/sbin/poweroff +/sbin/reboot +/sbin/shutdown %endif diff --git a/files.sysvcompat b/files.sysvcompat new file mode 100644 index 00000000..3a62dc74 --- /dev/null +++ b/files.sysvcompat @@ -0,0 +1,96 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/telinit.8.gz +%{_sbindir}/runlevel +%{_sbindir}/telinit +%{_systemd_util_dir}/systemd-initctl +%{_systemd_util_dir}/systemd-sysv-convert +%{_systemd_util_dir}/systemd-sysv-install +%{_systemdgeneratordir}/systemd-rc-local-generator +%{_systemdgeneratordir}/systemd-sysv-generator +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/rc-local.service +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%{_unitdir}/systemd-update-utmp-runlevel.service +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%if %{with split_usr} +/sbin/runlevel +/sbin/telinit +%endif +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/telinit.8.gz +%{_sbindir}/runlevel +%{_sbindir}/telinit +%{_systemd_util_dir}/systemd-initctl +%{_systemd_util_dir}/systemd-sysv-convert +%{_systemd_util_dir}/systemd-sysv-install +%{_systemdgeneratordir}/systemd-rc-local-generator +%{_systemdgeneratordir}/systemd-sysv-generator +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/rc-local.service +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%{_unitdir}/systemd-update-utmp-runlevel.service +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%if %{with split_usr} +/sbin/runlevel +/sbin/telinit +%endif diff --git a/systemd.changes b/systemd.changes index 5f793260..de632c3b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Feb 14 07:39:12 UTC 2022 - Franck Bui + +- Rename systemd-sysvinit into systemd-sysvcompat + + systemd-sysvinit was probably provided to allow systems to switch from + sysvinit to systemd by overwriting /sbin/init with a link to systemd. But this + isn't very useful anymore due to the fact that sysvinit is not supported since + several years. Therefore the subpackage contains now the files needed to keep + backward compatibility with SysV init scripts (most notably sysv-generator) + and has been renamed accordingly. The few files that are not specific to + sysvinit (such as /bin/init) have been moved to the main package. + + Normally this new subpackage shouldn't be needed (since all packages use + systemd unit files) unless a 3rd party application is installed and still + relies on SysV init scripts. + ------------------------------------------------------------------- Mon Feb 14 07:31:49 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 64466d96..5fe9b17d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -167,9 +167,14 @@ Requires(post): pam-config >= 0.79-5 %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Provides: sbin_init +Provides: sysvinit:/sbin/init +Conflicts: sbin_init Conflicts: sysvinit Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} +Provides: systemd-sysvinit = %{version}-%{release} +Obsoletes: systemd-sysvinit < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 @@ -195,6 +200,7 @@ Source201: files.udev Source202: files.container Source203: files.network Source204: files.devel +Source205: files.sysvcompat # Patches listed below are openSUSE specific and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes they are @@ -258,17 +264,24 @@ Conflicts: libudev-devel Development headers and files for libsystemd and libudev libraries for developing and building applications linking to these libraries. -%package sysvinit -Summary: System V init tools +%if %{with sysvcompat} +%package sysvcompat +Summary: SySV and LSB init script support for systemd (deprecated) License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} -Provides: sbin_init -Conflicts: sbin_init -Provides: systemd-sysvinit = %{version}-%{release} -Provides: sysvinit:/sbin/init +Provides: systemd-sysvinit:%{_sbindir}/runlevel +Provides: systemd-sysvinit:%{_sbindir}/telinit -%description sysvinit -Drop-in replacement of System V init tools. +%description sysvcompat +This package ships the necessary files that enable minimal SysV and LSB init +scripts support in systemd. It also contains the obsolete SysV init tools +telinit(8) and runlevel(8). You should consider using systemctl(1) instead. + +Unless you have a 3rd party application installed on your system that still +relies on such scripts, this package should not be needed at all. + +Please note that the content of this package is considered as deprecated. +%endif %package -n libsystemd0%{?mini} Summary: Component library for systemd @@ -724,12 +737,13 @@ mkdir -p %{buildroot}/{bin,sbin} # Legacy paths ln -s ../usr/bin/udevadm %{buildroot}/sbin/ ln -s ../usr/bin/systemctl %{buildroot}/bin/ -# Legacy sysvinit tools + ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +# Legacy sysvinit tools %if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel @@ -1242,36 +1256,10 @@ fi %license LICENSE.LGPL2.1 %include %{SOURCE204} -%files sysvinit +%if %{with sysvcompat} +%files sysvcompat %defattr(-,root,root,-) -%if %{with split_usr} -/sbin/halt -/sbin/init -/sbin/poweroff -/sbin/reboot -/sbin/shutdown -%if %{with sysvcompat} -/sbin/telinit -/sbin/runlevel -%endif -%endif -%{_sbindir}/halt -%{_sbindir}/init -%{_sbindir}/poweroff -%{_sbindir}/reboot -%{_sbindir}/shutdown -%if %{with sysvcompat} -%{_sbindir}/runlevel -%{_sbindir}/telinit -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man1/init.1.gz -%{_mandir}/man8/halt.8.gz -%{_mandir}/man8/poweroff.8.gz -%{_mandir}/man8/reboot.8.gz -%{_mandir}/man8/runlevel.8.gz -%{_mandir}/man8/shutdown.8.gz -%{_mandir}/man8/telinit.8.gz +%include %{SOURCE205} %endif %files -n libsystemd0%{?mini} From 53c0c58da9e2fea7633c7adfc3667624765eddefea7340de85941e117291ab12 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Feb 2022 15:52:52 +0000 Subject: [PATCH 671/991] - spec: fix dependencies for mini variants Make sure that all mini variants won't be installed in real systems and won't be involved when building medias with kiwi. Note that sub-packages that requires systemd (such as udev) don't need any special treatment since the specific deps are inherited from the main (mini) package. - spec: simplify systemd-mini-doc dependencies by assuming that the doc sub-package can't be a build requirement for other packages. - spec: libsystemd-mini and libudev-mini need to provide libsystemd and libudev respectively OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1251 --- systemd.changes | 16 ++++++++++++++++ systemd.spec | 35 +++++++++++++++++++++-------------- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/systemd.changes b/systemd.changes index de632c3b..5a4bf44a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Feb 14 15:11:04 UTC 2022 - Franck Bui + +- spec: fix dependencies for mini variants + + Make sure that all mini variants won't be installed in real systems and won't + be involved when building medias with kiwi. Note that sub-packages that + requires systemd (such as udev) don't need any special treatment since the + specific deps are inherited from the main (mini) package. + +- spec: simplify systemd-mini-doc dependencies by assuming that the doc + sub-package can't be a build requirement for other packages. + +- spec: libsystemd-mini and libudev-mini need to provide libsystemd and libudev + respectively + ------------------------------------------------------------------- Mon Feb 14 07:39:12 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5fe9b17d..af74fda5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,11 +16,6 @@ # -# -# The git repository used to track all SUSE specific changes can be -# found at: https://github.com/openSUSE/systemd. -# - %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "mini" @@ -138,10 +133,15 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs Provides: systemd = %{version}-%{release} -Conflicts: kiwi Conflicts: systemd +# Don't consider the mini flavors when building kiwi medias. This conflict is +# automatically inherited by sub-packages requiring systemd (such as udev). +Conflicts: kiwi +# This dependency is used to ensure that the mini flavors are selected only +# inside OBS builds (where this dependency is ignored) and don't get installed +# on real systems. +Requires: this-is-only-for-build-envs %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -202,10 +202,15 @@ Source203: files.network Source204: files.devel Source205: files.sysvcompat +# +# All changes backported from upstream are tracked by the git repository, which +# can be found at: https://github.com/openSUSE/systemd. +# # Patches listed below are openSUSE specific and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes they are # only relevant for SUSE distros. Special rewards for those who will manage to # get rid of one of them ! +# Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -236,10 +241,11 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -Supplements: (systemd and patterns-base-documentation) %if 0%{?bootstrap} -Provides: systemd-doc = %{version}-%{release} Conflicts: systemd-doc +Requires: this-is-only-for-build-envs +%else +Supplements: (systemd and patterns-base-documentation) %endif %description doc @@ -287,7 +293,9 @@ Please note that the content of this package is considered as deprecated. Summary: Component library for systemd License: LGPL-2.1-or-later %if 0%{?bootstrap} +Conflicts: kiwi Conflicts: libsystemd0 +Provides: libsystemd0 = %{version}-%{release} Requires: this-is-only-for-build-envs %endif @@ -325,17 +333,14 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils - Conflicts: ConsoleKit < 0.4.1 Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 %if 0%{?bootstrap} -Provides: udev = %{version}-%{release} Conflicts: udev -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs +Provides: udev = %{version}-%{release} %endif %description -n udev%{?mini} @@ -351,7 +356,7 @@ License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: kiwi Conflicts: libudev1 -# avoid kiwi picking it for bootstrap +Provides: libudev1 = %{version}-%{release} Requires: this-is-only-for-build-envs %endif @@ -383,8 +388,10 @@ Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} +Conflicts: kiwi Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} +Requires: this-is-only-for-build-envs %endif %description container From 351e69e6e3210d80be1fa5f696d4fbcd822bd025932587f27c272c96eeb32b5d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Feb 2022 08:11:02 +0000 Subject: [PATCH 672/991] - Drop enablement symlink migration support of SysV init scripts And let's finish reducing the support of SysV init scripts to its minimum. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1252 --- files.sysvcompat | 51 ------------------ systemd-sysv-convert | 120 ------------------------------------------- systemd.changes | 7 +++ systemd.spec | 5 -- 4 files changed, 7 insertions(+), 176 deletions(-) delete mode 100644 systemd-sysv-convert diff --git a/files.sysvcompat b/files.sysvcompat index 3a62dc74..49e50a81 100644 --- a/files.sysvcompat +++ b/files.sysvcompat @@ -1,8 +1,6 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_unitdir}/runlevel1.target.wants %dir %{_unitdir}/runlevel2.target.wants %dir %{_unitdir}/runlevel3.target.wants @@ -19,55 +17,6 @@ %{_sbindir}/runlevel %{_sbindir}/telinit %{_systemd_util_dir}/systemd-initctl -%{_systemd_util_dir}/systemd-sysv-convert -%{_systemd_util_dir}/systemd-sysv-install -%{_systemdgeneratordir}/systemd-rc-local-generator -%{_systemdgeneratordir}/systemd-sysv-generator -%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service -%{_unitdir}/local-fs.target.wants/var-lock.mount -%{_unitdir}/local-fs.target.wants/var-run.mount -%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service -%{_unitdir}/rc-local.service -%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service -%{_unitdir}/runlevel0.target -%{_unitdir}/runlevel1.target -%{_unitdir}/runlevel2.target -%{_unitdir}/runlevel3.target -%{_unitdir}/runlevel4.target -%{_unitdir}/runlevel5.target -%{_unitdir}/runlevel6.target -%{_unitdir}/sockets.target.wants/systemd-initctl.socket -%{_unitdir}/systemd-initctl.service -%{_unitdir}/systemd-initctl.socket -%{_unitdir}/systemd-update-utmp-runlevel.service -%{_unitdir}/var-lock.mount -%{_unitdir}/var-run.mount -%if %{with split_usr} -/sbin/runlevel -/sbin/telinit -%endif -# -# Please keep the list sorted (with `LC_ALL=C sort`). -# -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/sysv-convert -%dir %{_unitdir}/runlevel1.target.wants -%dir %{_unitdir}/runlevel2.target.wants -%dir %{_unitdir}/runlevel3.target.wants -%dir %{_unitdir}/runlevel4.target.wants -%dir %{_unitdir}/runlevel5.target.wants -%{_mandir}/man8/runlevel.8.gz -%{_mandir}/man8/systemd-initctl.8.gz -%{_mandir}/man8/systemd-initctl.service.8.gz -%{_mandir}/man8/systemd-initctl.socket.8.gz -%{_mandir}/man8/systemd-rc-local-generator.8.gz -%{_mandir}/man8/systemd-sysv-generator.8.gz -%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz -%{_mandir}/man8/telinit.8.gz -%{_sbindir}/runlevel -%{_sbindir}/telinit -%{_systemd_util_dir}/systemd-initctl -%{_systemd_util_dir}/systemd-sysv-convert %{_systemd_util_dir}/systemd-sysv-install %{_systemdgeneratordir}/systemd-rc-local-generator %{_systemdgeneratordir}/systemd-sysv-generator diff --git a/systemd-sysv-convert b/systemd-sysv-convert deleted file mode 100644 index f4417703..00000000 --- a/systemd-sysv-convert +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash - -info() { - echo "$(basename $0): $*" -} - -warn() { - echo >&2 "$(basename $0): warning, $*" -} - -usage() { - echo >&2 "usage: $(basename $0) --apply [ ...]" -} - -if [ "$UID" != "0" ]; then - warn "need to be root, aborting" - exit 1 -fi - -if [ $# -lt 2 ]; then - usage - exit 1 -fi - -database_lookup() { - local service unused - - # 'priority' field is not used but is kept for backward compat reason. - while read service unused; do - if [ $service == $1 ]; then - return 0 - fi - done >/var/lib/systemd/sysv-convert/database -} - -# Initialize the database. -if [ ! -e /var/lib/systemd/sysv-convert/database ]; then - touch /var/lib/systemd/sysv-convert/database -fi - -case "$1" in ---save) - # --save is kept for backward compatibility. - ;; ---apply) - shift - for service in $@; do - # For backward compat we accept the name of the - # service with or without the unit type suffix. If the - # suffix is not there, assume .service type. - case "$service" in - *.*) initscript="${service%.*}" ;; - *) initscript="$service" - service="$service.service" - esac - - # Did we already migrate this service during a previous update ? - database_lookup $initscript && - continue - - # Sanity check. - unit="/usr/lib/systemd/system/$service" - if [ ! -f "$unit" ]; then - warn "$unit not found, skipping" - continue - fi - - # Mark the service as processed to make sure we will do the migration only - # once. This is important especially for packages that keep their init - # scripts around even if they're no more used. Since the saved info won't - # be reused again we simply use an invalid runlevel and add the service - # in the db only once. - database_add $initscript -1 - - # Some services were renamed during the transition from SySV init to - # systemd (bsc#1181788). Rather than letting packages fixing that - # themselves by hacking our database directly, let's hard-code renames - # here. Not really nice but that's the least worst solution. - case $initscript in - ntpd) initscript=ntp ;; - esac - - # The package is introducing new services and never has any sysv init - # scripts (bsc#982303). - if [ ! -r /etc/init.d/$initscript ] && - [ ! -r /etc/init.d/boot.$initscript ]; then - continue - fi - - for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do - # Was the sysvinit script enabled ? (bsc#982211) - case $rcnd in - boot.d) [ -L /etc/rc.d/boot.d/S??boot.$initscript ] || continue ;; - *) [ -L /etc/rc.d/$rcnd/S??$initscript ] || continue - esac - - case $rcnd in - boot.d) runlevel=3 ;; - *) runlevel=${rcnd:2:1} - esac - - target=runlevel$runlevel.target - info "enabling $unit (wanted by $target)..." - - mkdir -p "/etc/systemd/system/$target.wants" - ln -sf $unit /etc/systemd/system/$target.wants/$service - done - done - ;; -*) - usage - exit 1 -esac diff --git a/systemd.changes b/systemd.changes index 5a4bf44a..5f1181ff 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Feb 17 18:30:12 UTC 2022 - Franck Bui + +- Drop enablement symlink migration support of SysV init scripts + + And let's finish reducing the support of SysV init scripts to its minimum. + ------------------------------------------------------------------- Mon Feb 14 15:11:04 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index af74fda5..559de805 100644 --- a/systemd.spec +++ b/systemd.spec @@ -183,7 +183,6 @@ Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: systemd-rpmlintrc Source2: systemd-user %if %{with sysvcompat} -Source3: systemd-sysv-convert Source4: systemd-sysv-install %endif Source5: tmpfiles-suse.conf @@ -720,10 +719,6 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif %if %{with sysvcompat} -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated - -install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-convert install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif From 499a776e27d50aa7c8af57de9cfbbf944f9a05f61040f53527148563fb87f756 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 19 Feb 2022 18:21:14 +0000 Subject: [PATCH 673/991] Accepting request 955799 from Base:System - Drop enablement symlink migration support of SysV init scripts And let's finish reducing the support of SysV init scripts to its minimum. - spec: fix dependencies for mini variants Make sure that all mini variants won't be installed in real systems and won't be involved when building medias with kiwi. Note that sub-packages that requires systemd (such as udev) don't need any special treatment since the specific deps are inherited from the main (mini) package. - spec: simplify systemd-mini-doc dependencies by assuming that the doc sub-package can't be a build requirement for other packages. - spec: libsystemd-mini and libudev-mini need to provide libsystemd and libudev respectively - Rename systemd-sysvinit into systemd-sysvcompat systemd-sysvinit was probably provided to allow systems to switch from sysvinit to systemd by overwriting /sbin/init with a link to systemd. But this isn't very useful anymore due to the fact that sysvinit is not supported since several years. Therefore the subpackage contains now the files needed to keep backward compatibility with SysV init scripts (most notably sysv-generator) and has been renamed accordingly. The few files that are not specific to sysvinit (such as /bin/init) have been moved to the main package. Normally this new subpackage shouldn't be needed (since all packages use systemd unit files) unless a 3rd party application is installed and still relies on SysV init scripts. - systemd.spec: explicitely turn on/off build options Hence a feature can't be accidentally turned on/off because its dep is pulled in or removed due to another feature being turned on/off. OBS-URL: https://build.opensuse.org/request/show/955799 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=348 --- files.systemd | 84 ++++-------------- files.sysvcompat | 45 ++++++++++ systemd-sysv-convert | 120 -------------------------- systemd.changes | 48 +++++++++++ systemd.spec | 201 ++++++++++++++++++------------------------- 5 files changed, 190 insertions(+), 308 deletions(-) create mode 100644 files.sysvcompat delete mode 100644 systemd-sysv-convert diff --git a/files.systemd b/files.systemd index 1a2d79a8..79a3cc49 100644 --- a/files.systemd +++ b/files.systemd @@ -30,10 +30,6 @@ %dir %{_journalcatalogdir} %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/sysv-convert -%endif %dir %{_modprobedir} %dir %{_modulesloaddir} %dir %{_prefix}/lib/kernel @@ -82,13 +78,6 @@ %dir %{_unitdir}/reboot.target.wants %dir %{_unitdir}/remote-fs.target.wants %dir %{_unitdir}/rescue.target.wants -%if %{with sysvcompat} -%dir %{_unitdir}/runlevel1.target.wants -%dir %{_unitdir}/runlevel2.target.wants -%dir %{_unitdir}/runlevel3.target.wants -%dir %{_unitdir}/runlevel4.target.wants -%dir %{_unitdir}/runlevel5.target.wants -%endif %dir %{_unitdir}/shutdown.target.wants %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants @@ -236,6 +225,7 @@ %endif %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz +%{_mandir}/man1/init.1.gz %{_mandir}/man1/journalctl.1.gz %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz @@ -347,9 +337,13 @@ %{_mandir}/man7/systemd.syntax.7.gz %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz +%{_mandir}/man8/halt.8.gz %{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/pam_systemd.8.gz +%{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/rc-local.service.8.gz +%{_mandir}/man8/reboot.8.gz +%{_mandir}/man8/shutdown.8.gz %{_mandir}/man8/systemd-ask-password-console.path.8.gz %{_mandir}/man8/systemd-ask-password-console.service.8.gz %{_mandir}/man8/systemd-ask-password-wall.path.8.gz @@ -389,9 +383,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-initctl.8.gz -%{_mandir}/man8/systemd-initctl.service.8.gz -%{_mandir}/man8/systemd-initctl.socket.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -416,7 +407,6 @@ %{_mandir}/man8/systemd-quotacheck.service.8.gz %{_mandir}/man8/systemd-random-seed.8.gz %{_mandir}/man8/systemd-random-seed.service.8.gz -%{_mandir}/man8/systemd-rc-local-generator.8.gz %{_mandir}/man8/systemd-reboot.service.8.gz %{_mandir}/man8/systemd-remount-fs.8.gz %{_mandir}/man8/systemd-remount-fs.service.8.gz @@ -436,7 +426,6 @@ %{_mandir}/man8/systemd-system-update-generator.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz -%{_mandir}/man8/systemd-sysv-generator.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz %{_mandir}/man8/systemd-time-wait-sync.service.8.gz %{_mandir}/man8/systemd-timedated.8.gz @@ -450,7 +439,6 @@ %{_mandir}/man8/systemd-tmpfiles.8.gz %{_mandir}/man8/systemd-update-done.8.gz %{_mandir}/man8/systemd-update-done.service.8.gz -%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz %{_mandir}/man8/systemd-update-utmp.8.gz %{_mandir}/man8/systemd-update-utmp.service.8.gz %{_mandir}/man8/systemd-user-sessions.8.gz @@ -470,6 +458,11 @@ %{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_sbindir}/halt +%{_sbindir}/init +%{_sbindir}/poweroff +%{_sbindir}/reboot +%{_sbindir}/shutdown %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator @@ -500,9 +493,6 @@ %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if %{with sysvcompat} -%{_systemd_util_dir}/systemd-initctl -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -518,10 +508,6 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl -%if %{with sysvcompat} -%{_systemd_util_dir}/systemd-sysv-convert -%{_systemd_util_dir}/systemd-sysv-install -%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -570,14 +556,8 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_systemdgeneratordir}/systemd-rc-local-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if %{with sysvcompat} -%{_systemdgeneratordir}/systemd-sysv-generator -%endif %if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif @@ -628,9 +608,6 @@ %{_unitdir}/getty.target %{_unitdir}/getty@.service %{_unitdir}/graphical.target -%if %{with sysvcompat} -%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/halt.target %{_unitdir}/hibernate.target %{_unitdir}/hybrid-sleep.target @@ -651,18 +628,11 @@ %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target %{_unitdir}/local-fs.target.wants/tmp.mount -%if %{with sysvcompat} -%{_unitdir}/local-fs.target.wants/var-lock.mount -%{_unitdir}/local-fs.target.wants/var-run.mount -%endif %{_unitdir}/modprobe@.service %{_unitdir}/multi-user.target %{_unitdir}/multi-user.target.wants/after-local.service %{_unitdir}/multi-user.target.wants/getty.target %{_unitdir}/multi-user.target.wants/systemd-logind.service -%if %{with sysvcompat} -%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/multi-user.target.wants/systemd-user-sessions.service %{_unitdir}/network-online.target %{_unitdir}/network-pre.target @@ -675,9 +645,6 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.automount %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service -%if %{with sysvcompat} -%{_unitdir}/rc-local.service -%endif %{_unitdir}/reboot.target %if ! 0%{?bootstrap} %{_unitdir}/remote-cryptsetup.target @@ -689,19 +656,7 @@ %endif %{_unitdir}/rescue.service %{_unitdir}/rescue.target -%if %{with sysvcompat} -%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/rpcbind.target -%if %{with sysvcompat} -%{_unitdir}/runlevel0.target -%{_unitdir}/runlevel1.target -%{_unitdir}/runlevel2.target -%{_unitdir}/runlevel3.target -%{_unitdir}/runlevel4.target -%{_unitdir}/runlevel5.target -%{_unitdir}/runlevel6.target -%endif %{_unitdir}/serial-getty@.service %{_unitdir}/shutdown.target %{_unitdir}/sigpwr.target @@ -709,9 +664,6 @@ %{_unitdir}/slices.target %{_unitdir}/smartcard.target %{_unitdir}/sockets.target -%if %{with sysvcompat} -%{_unitdir}/sockets.target.wants/systemd-initctl.socket -%endif %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket %{_unitdir}/sound.target @@ -783,10 +735,6 @@ %{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hostnamed.service %{_unitdir}/systemd-hybrid-sleep.service -%if %{with sysvcompat} -%{_unitdir}/systemd-initctl.service -%{_unitdir}/systemd-initctl.socket -%endif %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service %{_unitdir}/systemd-journald-dev-log.socket @@ -820,9 +768,6 @@ %{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service -%if %{with sysvcompat} -%{_unitdir}/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service %{_unitdir}/systemd-vconsole-setup.service @@ -839,14 +784,15 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if %{with sysvcompat} -%{_unitdir}/var-lock.mount -%{_unitdir}/var-run.mount -%endif %if ! 0%{?bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif %if %{with split_usr} /bin/systemctl +/sbin/halt +/sbin/init +/sbin/poweroff +/sbin/reboot +/sbin/shutdown %endif diff --git a/files.sysvcompat b/files.sysvcompat new file mode 100644 index 00000000..49e50a81 --- /dev/null +++ b/files.sysvcompat @@ -0,0 +1,45 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/telinit.8.gz +%{_sbindir}/runlevel +%{_sbindir}/telinit +%{_systemd_util_dir}/systemd-initctl +%{_systemd_util_dir}/systemd-sysv-install +%{_systemdgeneratordir}/systemd-rc-local-generator +%{_systemdgeneratordir}/systemd-sysv-generator +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/rc-local.service +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%{_unitdir}/systemd-update-utmp-runlevel.service +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%if %{with split_usr} +/sbin/runlevel +/sbin/telinit +%endif diff --git a/systemd-sysv-convert b/systemd-sysv-convert deleted file mode 100644 index f4417703..00000000 --- a/systemd-sysv-convert +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash - -info() { - echo "$(basename $0): $*" -} - -warn() { - echo >&2 "$(basename $0): warning, $*" -} - -usage() { - echo >&2 "usage: $(basename $0) --apply [ ...]" -} - -if [ "$UID" != "0" ]; then - warn "need to be root, aborting" - exit 1 -fi - -if [ $# -lt 2 ]; then - usage - exit 1 -fi - -database_lookup() { - local service unused - - # 'priority' field is not used but is kept for backward compat reason. - while read service unused; do - if [ $service == $1 ]; then - return 0 - fi - done >/var/lib/systemd/sysv-convert/database -} - -# Initialize the database. -if [ ! -e /var/lib/systemd/sysv-convert/database ]; then - touch /var/lib/systemd/sysv-convert/database -fi - -case "$1" in ---save) - # --save is kept for backward compatibility. - ;; ---apply) - shift - for service in $@; do - # For backward compat we accept the name of the - # service with or without the unit type suffix. If the - # suffix is not there, assume .service type. - case "$service" in - *.*) initscript="${service%.*}" ;; - *) initscript="$service" - service="$service.service" - esac - - # Did we already migrate this service during a previous update ? - database_lookup $initscript && - continue - - # Sanity check. - unit="/usr/lib/systemd/system/$service" - if [ ! -f "$unit" ]; then - warn "$unit not found, skipping" - continue - fi - - # Mark the service as processed to make sure we will do the migration only - # once. This is important especially for packages that keep their init - # scripts around even if they're no more used. Since the saved info won't - # be reused again we simply use an invalid runlevel and add the service - # in the db only once. - database_add $initscript -1 - - # Some services were renamed during the transition from SySV init to - # systemd (bsc#1181788). Rather than letting packages fixing that - # themselves by hacking our database directly, let's hard-code renames - # here. Not really nice but that's the least worst solution. - case $initscript in - ntpd) initscript=ntp ;; - esac - - # The package is introducing new services and never has any sysv init - # scripts (bsc#982303). - if [ ! -r /etc/init.d/$initscript ] && - [ ! -r /etc/init.d/boot.$initscript ]; then - continue - fi - - for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do - # Was the sysvinit script enabled ? (bsc#982211) - case $rcnd in - boot.d) [ -L /etc/rc.d/boot.d/S??boot.$initscript ] || continue ;; - *) [ -L /etc/rc.d/$rcnd/S??$initscript ] || continue - esac - - case $rcnd in - boot.d) runlevel=3 ;; - *) runlevel=${rcnd:2:1} - esac - - target=runlevel$runlevel.target - info "enabling $unit (wanted by $target)..." - - mkdir -p "/etc/systemd/system/$target.wants" - ln -sf $unit /etc/systemd/system/$target.wants/$service - done - done - ;; -*) - usage - exit 1 -esac diff --git a/systemd.changes b/systemd.changes index 0ab20e79..5f1181ff 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Thu Feb 17 18:30:12 UTC 2022 - Franck Bui + +- Drop enablement symlink migration support of SysV init scripts + + And let's finish reducing the support of SysV init scripts to its minimum. + +------------------------------------------------------------------- +Mon Feb 14 15:11:04 UTC 2022 - Franck Bui + +- spec: fix dependencies for mini variants + + Make sure that all mini variants won't be installed in real systems and won't + be involved when building medias with kiwi. Note that sub-packages that + requires systemd (such as udev) don't need any special treatment since the + specific deps are inherited from the main (mini) package. + +- spec: simplify systemd-mini-doc dependencies by assuming that the doc + sub-package can't be a build requirement for other packages. + +- spec: libsystemd-mini and libudev-mini need to provide libsystemd and libudev + respectively + +------------------------------------------------------------------- +Mon Feb 14 07:39:12 UTC 2022 - Franck Bui + +- Rename systemd-sysvinit into systemd-sysvcompat + + systemd-sysvinit was probably provided to allow systems to switch from + sysvinit to systemd by overwriting /sbin/init with a link to systemd. But this + isn't very useful anymore due to the fact that sysvinit is not supported since + several years. Therefore the subpackage contains now the files needed to keep + backward compatibility with SysV init scripts (most notably sysv-generator) + and has been renamed accordingly. The few files that are not specific to + sysvinit (such as /bin/init) have been moved to the main package. + + Normally this new subpackage shouldn't be needed (since all packages use + systemd unit files) unless a 3rd party application is installed and still + relies on SysV init scripts. + +------------------------------------------------------------------- +Mon Feb 14 07:31:49 UTC 2022 - Franck Bui + +- systemd.spec: explicitely turn on/off build options + + Hence a feature can't be accidentally turned on/off because its dep is pulled + in or removed due to another feature being turned on/off. + ------------------------------------------------------------------- Fri Feb 4 15:22:43 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a9850b0d..559de805 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,11 +16,6 @@ # -# -# The git repository used to track all Suse specific changes can be -# found at: https://github.com/openSUSE/systemd. -# - %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "mini" @@ -35,6 +30,12 @@ %define suse_version +suse.82.g117bd7f14a %define _testsuitedir /usr/lib/systemd/tests +# Similar to %%with but returns true/false. The 'true' value can be redefined +# when a second parameter is passed. +%define __when_1() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}} +%define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} +%define when() %{expand:%%__when_%# %{*}} + %if 0%{?bootstrap} %bcond_with coredump %bcond_with importd @@ -132,8 +133,15 @@ BuildRequires: gnu-efi %if 0%{?bootstrap} #!BuildIgnore: dbus-1 -Requires: this-is-only-for-build-envs Provides: systemd = %{version}-%{release} +Conflicts: systemd +# Don't consider the mini flavors when building kiwi medias. This conflict is +# automatically inherited by sub-packages requiring systemd (such as udev). +Conflicts: kiwi +# This dependency is used to ensure that the mini flavors are selected only +# inside OBS builds (where this dependency is ignored) and don't get installed +# on real systems. +Requires: this-is-only-for-build-envs %else # the buildignore is important for bootstrapping #!BuildIgnore: udev @@ -157,16 +165,16 @@ Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 %endif - -%if 0%{?bootstrap} -Conflicts: kiwi -Conflicts: systemd -%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Provides: sbin_init +Provides: sysvinit:/sbin/init +Conflicts: sbin_init Conflicts: sysvinit Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} +Provides: systemd-sysvinit = %{version}-%{release} +Obsoletes: systemd-sysvinit < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 @@ -175,7 +183,6 @@ Source0: systemd-v%{version}%{suse_version}.tar.xz Source1: systemd-rpmlintrc Source2: systemd-user %if %{with sysvcompat} -Source3: systemd-sysv-convert Source4: systemd-sysv-install %endif Source5: tmpfiles-suse.conf @@ -192,11 +199,17 @@ Source201: files.udev Source202: files.container Source203: files.network Source204: files.devel +Source205: files.sysvcompat +# +# All changes backported from upstream are tracked by the git repository, which +# can be found at: https://github.com/openSUSE/systemd. +# # Patches listed below are openSUSE specific and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes they are # only relevant for SUSE distros. Special rewards for those who will manage to # get rid of one of them ! +# Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch @@ -228,8 +241,8 @@ drop-in replacement for sysvinit. Summary: HTML documentation for systemd License: LGPL-2.1-or-later %if 0%{?bootstrap} -Provides: systemd-doc = %{version}-%{release} Conflicts: systemd-doc +Requires: this-is-only-for-build-envs %else Supplements: (systemd and patterns-base-documentation) %endif @@ -256,23 +269,32 @@ Conflicts: libudev-devel Development headers and files for libsystemd and libudev libraries for developing and building applications linking to these libraries. -%package sysvinit -Summary: System V init tools +%if %{with sysvcompat} +%package sysvcompat +Summary: SySV and LSB init script support for systemd (deprecated) License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} -Provides: sbin_init -Conflicts: sbin_init -Provides: systemd-sysvinit = %{version}-%{release} -Provides: sysvinit:/sbin/init +Provides: systemd-sysvinit:%{_sbindir}/runlevel +Provides: systemd-sysvinit:%{_sbindir}/telinit -%description sysvinit -Drop-in replacement of System V init tools. +%description sysvcompat +This package ships the necessary files that enable minimal SysV and LSB init +scripts support in systemd. It also contains the obsolete SysV init tools +telinit(8) and runlevel(8). You should consider using systemctl(1) instead. + +Unless you have a 3rd party application installed on your system that still +relies on such scripts, this package should not be needed at all. + +Please note that the content of this package is considered as deprecated. +%endif %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later %if 0%{?bootstrap} +Conflicts: kiwi Conflicts: libsystemd0 +Provides: libsystemd0 = %{version}-%{release} Requires: this-is-only-for-build-envs %endif @@ -310,17 +332,14 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils - Conflicts: ConsoleKit < 0.4.1 Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 %if 0%{?bootstrap} -Provides: udev = %{version}-%{release} Conflicts: udev -# avoid kiwi picking it for bootstrap -Requires: this-is-only-for-build-envs +Provides: udev = %{version}-%{release} %endif %description -n udev%{?mini} @@ -336,8 +355,7 @@ License: LGPL-2.1-or-later %if 0%{?bootstrap} Conflicts: kiwi Conflicts: libudev1 -Provides: libudev1 -# avoid kiwi picking it for bootstrap +Provides: libudev1 = %{version}-%{release} Requires: this-is-only-for-build-envs %endif @@ -369,8 +387,10 @@ Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} +Conflicts: kiwi Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} +Requires: this-is-only-for-build-envs %endif %description container @@ -625,13 +645,21 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dadm-group=false \ + -Dwheel-group=false \ + -Dgshadow=false \ + -Ddefault-hierarchy=unified \ + -Ddefault-kill-user-processes=false \ + -Dldconfig=false \ -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Ddefault-hierarchy=unified \ - -Ddefault-kill-user-processes=false \ +%if %{without sysvcompat} + -Dsysvinit-path= \ + -Dsysvrcnd-path= \ +%endif -Drc-local=/etc/init.d/boot.local \ -Dcreate-log-dirs=false \ -Dbump-proc-sys-fs-nr-open=false \ @@ -643,17 +671,6 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if %{with experimental} - -Dpstore=true \ - -Drepart=true \ - -Dhomed=true \ - -Duserdb=true \ -%else - -Dpstore=false \ - -Drepart=false \ - -Dhomed=false \ - -Duserdb=false \ -%endif %if 0%{?bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ @@ -665,53 +682,28 @@ Have fun with these services at your own risk. -Dman=true \ -Dhtml=true \ %endif -%if %{without coredump} - -Dcoredump=false \ -%endif -%if %{without sd_boot} - -Defi=false \ - -Dgnu-efi=false \ -%else - -Defi=true \ - -Dgnu-efi=true \ -%endif -%if %{without importd} - -Dimportd=false \ -%endif -%if %{without journal_remote} - -Dremote=false \ -%endif -%if %{without portabled} - -Dportabled=false \ -%endif -%if %{without machined} - -Dmachined=false \ -%endif -%if %{without networkd} - -Dnetworkd=false \ -%endif -%if %{without resolved} - -Dresolve=false \ -%else + -Dcoredump=%{when coredump} \ + -Dimportd=%{when importd} \ + -Dmachined=%{when machined} \ + -Dnetworkd=%{when networkd} \ + -Dportabled=%{when portabled} \ + -Dremote=%{when journal_remote} \ + \ + -Defi=%{when sd_boot} \ + -Dgnu-efi=%{when sd_boot} \ + \ + -Dresolve=%{when resolved} \ -Ddns-servers='' \ -Ddefault-dnssec=no \ - -Ddns-over-tls=openssl \ -%endif -%if %{without sysvcompat} - -Dsysvinit-path= \ - -Dsysvrcnd-path= \ -%endif -%if %{with testsuite} - -Dtests=unsafe \ - -Dinstall-tests=true \ -%else - -Dtests=false \ - -Dinstall-tests=false \ -%endif - -Dadm-group=false \ - -Dwheel-group=false \ - -Dgshadow=false \ - -Dldconfig=false + -Ddns-over-tls=%{when resolved openssl} \ + \ + -Dpstore=%{when experimental} \ + -Drepart=%{when experimental} \ + -Dhomed=%{when experimental} \ + -Duserdb=%{when experimental} \ + \ + -Dtests=%{when testsuite unsafe} \ + -Dinstall-tests=%{when testsuite} %meson_build @@ -727,10 +719,6 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif %if %{with sysvcompat} -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated - -install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-convert install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif @@ -751,12 +739,13 @@ mkdir -p %{buildroot}/{bin,sbin} # Legacy paths ln -s ../usr/bin/udevadm %{buildroot}/sbin/ ln -s ../usr/bin/systemctl %{buildroot}/bin/ -# Legacy sysvinit tools + ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +# Legacy sysvinit tools %if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel @@ -1269,36 +1258,10 @@ fi %license LICENSE.LGPL2.1 %include %{SOURCE204} -%files sysvinit +%if %{with sysvcompat} +%files sysvcompat %defattr(-,root,root,-) -%if %{with split_usr} -/sbin/halt -/sbin/init -/sbin/poweroff -/sbin/reboot -/sbin/shutdown -%if %{with sysvcompat} -/sbin/telinit -/sbin/runlevel -%endif -%endif -%{_sbindir}/halt -%{_sbindir}/init -%{_sbindir}/poweroff -%{_sbindir}/reboot -%{_sbindir}/shutdown -%if %{with sysvcompat} -%{_sbindir}/runlevel -%{_sbindir}/telinit -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man1/init.1.gz -%{_mandir}/man8/halt.8.gz -%{_mandir}/man8/poweroff.8.gz -%{_mandir}/man8/reboot.8.gz -%{_mandir}/man8/runlevel.8.gz -%{_mandir}/man8/shutdown.8.gz -%{_mandir}/man8/telinit.8.gz +%include %{SOURCE205} %endif %files -n libsystemd0%{?mini} From bdc0d5a926b58d8b07a19e642af0b74cff837ce83b9bcc24878753f61857d5d5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Feb 2022 14:05:17 +0000 Subject: [PATCH 674/991] Accepting request 956704 from home:favogt:branches:Base:System - Fix build if %_distconfdir is not defined (see bsc#1195679) OBS-URL: https://build.opensuse.org/request/show/956704 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1253 --- files.systemd | 6 +++--- systemd.changes | 5 +++++ systemd.spec | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/files.systemd b/files.systemd index 79a3cc49..8f0f173d 100644 --- a/files.systemd +++ b/files.systemd @@ -24,8 +24,8 @@ %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif -%dir %{_distconfdir}/X11/xinit -%dir %{_distconfdir}/X11/xinit/xinitrc.d +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} %dir %{_localstatedir}/lib/systemd @@ -205,7 +205,7 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog diff --git a/systemd.changes b/systemd.changes index 5f1181ff..8f3f5c75 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Feb 21 09:56:26 UTC 2022 - Fabian Vogt + +- Fix build if %_distconfdir is not defined (see bsc#1195679) + ------------------------------------------------------------------- Thu Feb 17 18:30:12 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 559de805..0c24b32a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -29,6 +29,7 @@ %define min_kernel_version 4.5 %define suse_version +suse.82.g117bd7f14a %define _testsuitedir /usr/lib/systemd/tests +%define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit # Similar to %%with but returns true/false. The 'true' value can be redefined # when a second parameter is passed. @@ -653,7 +654,7 @@ Have fun with these services at your own risk. -Dldconfig=false \ -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ - -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ + -Dxinitrcdir=%{xinitconfdir}/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ %if %{without sysvcompat} From dcb79a246a8cf7930bc6254d356bd0842387dcb2c1c4b931c841c375b8383030 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Feb 2022 14:54:05 +0000 Subject: [PATCH 675/991] - Import commit b9b83c5d11e686178ddd545862a00b33c6fdfabb 8973cb2462 systemd-coredump: allow setting external core size to infinity (bsc#1195899 jsc#SLE-23866) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1254 --- systemd-v249.9+suse.82.g117bd7f14a.tar.xz | 3 --- systemd-v249.9+suse.84.gb9b83c5d11.tar.xz | 3 +++ systemd.changes | 7 +++++++ systemd.spec | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) delete mode 100644 systemd-v249.9+suse.82.g117bd7f14a.tar.xz create mode 100644 systemd-v249.9+suse.84.gb9b83c5d11.tar.xz diff --git a/systemd-v249.9+suse.82.g117bd7f14a.tar.xz b/systemd-v249.9+suse.82.g117bd7f14a.tar.xz deleted file mode 100644 index 048b7576..00000000 --- a/systemd-v249.9+suse.82.g117bd7f14a.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:167cad3440fd7babb26317d528842f78fa37573bdaeda29845990dc0986463f0 -size 7280500 diff --git a/systemd-v249.9+suse.84.gb9b83c5d11.tar.xz b/systemd-v249.9+suse.84.gb9b83c5d11.tar.xz new file mode 100644 index 00000000..95391661 --- /dev/null +++ b/systemd-v249.9+suse.84.gb9b83c5d11.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fa72d9c4559b1777d4cff793f1fc2c43e2895c0b48bbbe2900abd5c5101fc5c +size 7279576 diff --git a/systemd.changes b/systemd.changes index 8f3f5c75..4eb500d2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Feb 22 14:50:50 UTC 2022 - Franck Bui + +- Import commit b9b83c5d11e686178ddd545862a00b33c6fdfabb + + 8973cb2462 systemd-coredump: allow setting external core size to infinity (bsc#1195899 jsc#SLE-23866) + ------------------------------------------------------------------- Mon Feb 21 09:56:26 UTC 2022 - Fabian Vogt diff --git a/systemd.spec b/systemd.spec index 0c24b32a..877f8b06 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.82.g117bd7f14a +%define suse_version +suse.84.gb9b83c5d11 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From da7db93ea6936fb64477d122ee807c1884f5f8a2d60afd6e2c12af5f39809f1d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Feb 2022 15:30:37 +0000 Subject: [PATCH 676/991] - Import commit 0bb1977021be2fc9ebfae10d766dff0b1a457f88 (merge of v249.10) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/b9b83c5d11e686178ddd545862a00b33c6fdfabb...0bb1977021be2fc9ebfae10d766dff0b1a457f88 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1255 --- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 +++ systemd-v249.9+suse.84.gb9b83c5d11.tar.xz | 3 --- systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz delete mode 100644 systemd-v249.9+suse.84.gb9b83c5d11.tar.xz diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz new file mode 100644 index 00000000..fdcaf7f0 --- /dev/null +++ b/systemd-v249.10+suse.86.g0bb1977021.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 +size 7281992 diff --git a/systemd-v249.9+suse.84.gb9b83c5d11.tar.xz b/systemd-v249.9+suse.84.gb9b83c5d11.tar.xz deleted file mode 100644 index 95391661..00000000 --- a/systemd-v249.9+suse.84.gb9b83c5d11.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2fa72d9c4559b1777d4cff793f1fc2c43e2895c0b48bbbe2900abd5c5101fc5c -size 7279576 diff --git a/systemd.changes b/systemd.changes index 4eb500d2..36c1c1b1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Feb 22 15:22:16 UTC 2022 - Franck Bui + +- Import commit 0bb1977021be2fc9ebfae10d766dff0b1a457f88 (merge of v249.10) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b9b83c5d11e686178ddd545862a00b33c6fdfabb...0bb1977021be2fc9ebfae10d766dff0b1a457f88 + ------------------------------------------------------------------- Tue Feb 22 14:50:50 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 877f8b06..67bc1268 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.84.gb9b83c5d11 +%define suse_version +suse.86.g0bb1977021 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -71,7 +71,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.9 +Version: 249.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 9e059d51693b1c9731be0661be13bd7b5de46e89fea9236eaa3f13976b4eede9 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 23 Feb 2022 15:25:54 +0000 Subject: [PATCH 677/991] Accepting request 956820 from Base:System - Import commit 0bb1977021be2fc9ebfae10d766dff0b1a457f88 (merge of v249.10) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/b9b83c5d11e686178ddd545862a00b33c6fdfabb...0bb1977021be2fc9ebfae10d766dff0b1a457f88 - Import commit b9b83c5d11e686178ddd545862a00b33c6fdfabb 8973cb2462 systemd-coredump: allow setting external core size to infinity (bsc#1195899 jsc#SLE-23866) - Fix build if %_distconfdir is not defined (see bsc#1195679) OBS-URL: https://build.opensuse.org/request/show/956820 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=349 --- files.systemd | 6 +++--- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 +++ systemd-v249.9+suse.82.g117bd7f14a.tar.xz | 3 --- systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 7 ++++--- 5 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz delete mode 100644 systemd-v249.9+suse.82.g117bd7f14a.tar.xz diff --git a/files.systemd b/files.systemd index 79a3cc49..8f0f173d 100644 --- a/files.systemd +++ b/files.systemd @@ -24,8 +24,8 @@ %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif -%dir %{_distconfdir}/X11/xinit -%dir %{_distconfdir}/X11/xinit/xinitrc.d +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} %dir %{_localstatedir}/lib/systemd @@ -205,7 +205,7 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz new file mode 100644 index 00000000..fdcaf7f0 --- /dev/null +++ b/systemd-v249.10+suse.86.g0bb1977021.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 +size 7281992 diff --git a/systemd-v249.9+suse.82.g117bd7f14a.tar.xz b/systemd-v249.9+suse.82.g117bd7f14a.tar.xz deleted file mode 100644 index 048b7576..00000000 --- a/systemd-v249.9+suse.82.g117bd7f14a.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:167cad3440fd7babb26317d528842f78fa37573bdaeda29845990dc0986463f0 -size 7280500 diff --git a/systemd.changes b/systemd.changes index 5f1181ff..36c1c1b1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Tue Feb 22 15:22:16 UTC 2022 - Franck Bui + +- Import commit 0bb1977021be2fc9ebfae10d766dff0b1a457f88 (merge of v249.10) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b9b83c5d11e686178ddd545862a00b33c6fdfabb...0bb1977021be2fc9ebfae10d766dff0b1a457f88 + +------------------------------------------------------------------- +Tue Feb 22 14:50:50 UTC 2022 - Franck Bui + +- Import commit b9b83c5d11e686178ddd545862a00b33c6fdfabb + + 8973cb2462 systemd-coredump: allow setting external core size to infinity (bsc#1195899 jsc#SLE-23866) + +------------------------------------------------------------------- +Mon Feb 21 09:56:26 UTC 2022 - Fabian Vogt + +- Fix build if %_distconfdir is not defined (see bsc#1195679) + ------------------------------------------------------------------- Thu Feb 17 18:30:12 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 559de805..67bc1268 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,8 +27,9 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.82.g117bd7f14a +%define suse_version +suse.86.g0bb1977021 %define _testsuitedir /usr/lib/systemd/tests +%define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit # Similar to %%with but returns true/false. The 'true' value can be redefined # when a second parameter is passed. @@ -70,7 +71,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.9 +Version: 249.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -653,7 +654,7 @@ Have fun with these services at your own risk. -Dldconfig=false \ -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ - -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \ + -Dxinitrcdir=%{xinitconfdir}/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ %if %{without sysvcompat} From 39726d4947c69adce7db5c8c2803403dc5ec6e3755c50fe3f51131062cbd352d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 23 Feb 2022 17:47:50 +0000 Subject: [PATCH 678/991] - spec: fix dependencies for mini variants (follow-up) systemd-mini-container is one of the sub-package that relies systemd-mini to conflict with kiwi and to not be installed on real systems. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1256 --- systemd.changes | 8 ++++++++ systemd.spec | 2 -- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 36c1c1b1..ebf015fd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Feb 23 17:46:12 UTC 2022 - Franck Bui + +- spec: fix dependencies for mini variants (follow-up) + + systemd-mini-container is one of the sub-package that relies systemd-mini to + conflict with kiwi and to not be installed on real systems. + ------------------------------------------------------------------- Tue Feb 22 15:22:16 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 67bc1268..9c35df6d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -388,10 +388,8 @@ Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} -Conflicts: kiwi Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} -Requires: this-is-only-for-build-envs %endif %description container From db5aaafc0e1d2b9bf2afadc5f69e4b07285bc9e6bf7f50687b8523344ce44807 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 24 Feb 2022 13:44:24 +0000 Subject: [PATCH 679/991] - Fix a regression caused by the split of the sysusers config files shipped by systemd (bsc#1196322) Calls to %sysusers_create were not updated accordingly. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1257 --- systemd.changes | 8 ++++++++ systemd.spec | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index ebf015fd..eb4b4324 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Feb 24 13:23:35 UTC 2022 - Franck Bui + +- Fix a regression caused by the split of the sysusers config files shipped by + systemd (bsc#1196322) + + Calls to %sysusers_create were not updated accordingly. + ------------------------------------------------------------------- Wed Feb 23 17:46:12 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9c35df6d..31ea93ca 100644 --- a/systemd.spec +++ b/systemd.spec @@ -949,7 +949,9 @@ pam-config --add --systemd || : # systemd-sysusers is not available in %pre so this needs to be done # in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. -%sysusers_create systemd.conf +%sysusers_create systemd-journal.conf +%sysusers_create systemd-network.conf +%sysusers_create systemd-timesync.conf [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : @@ -1169,6 +1171,7 @@ fi %endif %if %{with resolved} %ldconfig +%sysusers_create systemd-resolve.conf %service_add_post systemd-resolved.service %endif From 053f78ce40678474a5e637a97e975792cfa060b8bfb6b862baaa8030dde24da0 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 26 Feb 2022 16:01:59 +0000 Subject: [PATCH 680/991] Accepting request 957371 from Base:System - Fix a regression caused by the split of the sysusers config files shipped by systemd (bsc#1196322) Calls to %sysusers_create were not updated accordingly. - spec: fix dependencies for mini variants (follow-up) systemd-mini-container is one of the sub-package that relies systemd-mini to conflict with kiwi and to not be installed on real systems. OBS-URL: https://build.opensuse.org/request/show/957371 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=350 --- systemd.changes | 16 ++++++++++++++++ systemd.spec | 7 ++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 36c1c1b1..eb4b4324 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Thu Feb 24 13:23:35 UTC 2022 - Franck Bui + +- Fix a regression caused by the split of the sysusers config files shipped by + systemd (bsc#1196322) + + Calls to %sysusers_create were not updated accordingly. + +------------------------------------------------------------------- +Wed Feb 23 17:46:12 UTC 2022 - Franck Bui + +- spec: fix dependencies for mini variants (follow-up) + + systemd-mini-container is one of the sub-package that relies systemd-mini to + conflict with kiwi and to not be installed on real systems. + ------------------------------------------------------------------- Tue Feb 22 15:22:16 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 67bc1268..31ea93ca 100644 --- a/systemd.spec +++ b/systemd.spec @@ -388,10 +388,8 @@ Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} -Conflicts: kiwi Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} -Requires: this-is-only-for-build-envs %endif %description container @@ -951,7 +949,9 @@ pam-config --add --systemd || : # systemd-sysusers is not available in %pre so this needs to be done # in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. -%sysusers_create systemd.conf +%sysusers_create systemd-journal.conf +%sysusers_create systemd-network.conf +%sysusers_create systemd-timesync.conf [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : /usr/lib/systemd/systemd-random-seed save || : @@ -1171,6 +1171,7 @@ fi %endif %if %{with resolved} %ldconfig +%sysusers_create systemd-resolve.conf %service_add_post systemd-resolved.service %endif From 8472c3e397c4a4884f81e1aa81e2506d86f0a3197be781c40b13577a690cf7ef Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 8 Mar 2022 07:49:08 +0000 Subject: [PATCH 681/991] - Fix the default target when it's been incorrectly set to one of the runlevel targets (bsc#1196567) The script 'upgrade-from-pre-210.sh' used to initialize the default target during migration from sysvinit to systemd. However it created symlinks to runlevel targets, which are deprecated and might be missing when systemd-sysvcompat package is not installed. If such symlinks are found the script now renames them to point to 'true' systemd target units. - When migrating from sysvinit to systemd (it probably won't happen anymore), let's use the default systemd target, which is the graphical.target one. In most cases it will do the right thing anyway. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1258 --- scripts-systemd-upgrade-from-pre-210.sh | 40 ++++++++++++++----------- systemd.changes | 16 ++++++++++ 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh index 8a168915..2f5e53ff 100644 --- a/scripts-systemd-upgrade-from-pre-210.sh +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -1,30 +1,34 @@ #! /bin/bash # -# This script is supposed to be executed from the %post section. It -# contains all hacks needed to update a system which was running -# systemd < v210. This also includes systems migrating from SysV. +# This script is supposed to be executed from the %post section. It contains all +# hacks needed to update a system which was running systemd < v210. This also +# includes systems migrating from SysV. +# +# All hacks can potentially break the admin settings since they work in /etc... # -# All hacks can potentially break the admin settings since they work -# in /etc... -# Try to read default runlevel from the old inittab if it exists. If -# it fails fallback to runlevel 3 which should still be better than -# the rescue shell. # -# Note: /etc/inittab was part of the aaa_base package which can be -# upgraded before systemd is. Therefore this file is likely to be -# missing. -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(sed -n -r "s/^id:([[:digit:]]):initdefault:/\1/p" /etc/inittab) - : ${runlevel:=3} - echo "Initializing default.target to runlevel${runlevel}.target" - ln -s /usr/lib/systemd/system/runlevel${runlevel}.target /etc/systemd/system/default.target +# During migration from sysvinit to systemd, we used to set the systemd default +# target to one of the 'runlevel*.target' after reading the default runlevel +# from /etc/inittab. We don't do that anymore because in most cases using the +# graphical.target target, which is the default, will do the right +# thing. Moreover the runlevel targets are considered as deprecated, so we +# convert them into "true" systemd targets instead here. +# +if target=$(readlink /etc/systemd/system/default.target); then + target=$(basename $target) + case "$target" in + runlevel?.target) + echo "Default systemd target is '$target' but use of runlevels is deprecated" + systemctl --no-reload set-default $target + esac fi -# migrate any symlink which may refer to the old path +# +# Migrate any symlink which may refer to the old path. +# for f in $(find /etc/systemd/system -type l -xtype l); do new_target="/usr$(readlink $f)" [ -f "$new_target" ] && ln -s -f $new_target $f done - diff --git a/systemd.changes b/systemd.changes index eb4b4324..7c998920 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Mar 8 07:41:41 UTC 2022 - Franck Bui + +- Fix the default target when it's been incorrectly set to one of the runlevel + targets (bsc#1196567) + + The script 'upgrade-from-pre-210.sh' used to initialize the default target + during migration from sysvinit to systemd. However it created symlinks to + runlevel targets, which are deprecated and might be missing when + systemd-sysvcompat package is not installed. If such symlinks are found the + script now renames them to point to 'true' systemd target units. + +- When migrating from sysvinit to systemd (it probably won't happen anymore), + let's use the default systemd target, which is the graphical.target one. In + most cases it will do the right thing anyway. + ------------------------------------------------------------------- Thu Feb 24 13:23:35 UTC 2022 - Franck Bui From 1ee13b1176f1a1515fbd312cbe42e6bf5dd41d60e61158f06558afbc90c85d62 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 8 Mar 2022 17:37:10 +0000 Subject: [PATCH 682/991] - Upgrade to v250.3 (commit dbd8bd2b9fd827ca89ed18034b60703c95798e01) See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for details. * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch - Dropped 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch The alias makes little sense as soon as multiple network managers are used in parallel. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1259 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ---- files.container | 5 + files.devel | 4 + files.network | 9 ++ files.systemd | 67 ++++++++- files.udev | 3 + systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 - systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz | 3 + systemd.changes | 16 ++ systemd.spec | 16 +- 12 files changed, 186 insertions(+), 121 deletions(-) delete mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch delete mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz create mode 100644 systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bf5a21d2..bcd96141 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 +From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 ++++++++++-- - src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 195 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 +++++++++-- + src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 197 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index d0ac1b2660..cb453fa50d 100644 +index 1e1967d7ea..eb81732dfa 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -430,6 +430,7 @@ int config_parse( +@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index d0ac1b2660..cb453fa50d 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -442,6 +443,12 @@ static int config_parse_many_files( - char **fn; - int r; - +@@ -481,6 +482,12 @@ static int config_parse_many_files( + stats_by_path = hashmap_new(&path_hash_ops_free_free); + if (!stats_by_path) + return -ENOMEM; ++ } ++ + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); + if (r < 0) + return r; -+ } -+ + } + /* First read the first found main config file. */ - STRV_FOREACH(fn, (char**) conf_files) { - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); -@@ -464,6 +471,28 @@ static int config_parse_many_files( +@@ -521,6 +528,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index d0ac1b2660..cb453fa50d 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -475,15 +504,19 @@ int config_parse_many_nulstr( +@@ -532,15 +561,19 @@ int config_parse_many_nulstr( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index d0ac1b2660..cb453fa50d 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_mtime); + ret_stats_by_path); } -@@ -499,8 +532,8 @@ int config_parse_many( +@@ -556,8 +589,8 @@ int config_parse_many( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index d0ac1b2660..cb453fa50d 100644 const char *suffix; int r; -@@ -513,7 +546,12 @@ int config_parse_many( +@@ -570,7 +603,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_mtime); ++ sections, lookup, table, flags, userdata, ret_stats_by_path); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 5da864347e..77d9f28a79 100644 +index e61932ab16..de408272f0 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index 5da864347e..77d9f28a79 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tmpfile-util.h" -@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { - } + #include "tests.h" +@@ -391,4 +394,155 @@ TEST(config_parse) { + test_config_parse_one(i, config_file[i]); } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index 5da864347e..77d9f28a79 100644 + } +} + -+static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,67 +281,61 @@ index 5da864347e..77d9f28a79 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many(bool nulstr) { ++static void test_config_parse_many_nulstr(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + - int main(int argc, char **argv) { - unsigned i; - -@@ -407,5 +556,8 @@ int main(int argc, char **argv) { - for (i = 0; i < ELEMENTSOF(config_file); i++) - test_config_parse(i, config_file[i]); - -+ test_config_parse_many(true); -+ test_config_parse_many(false); ++TEST(config_parse_many) { ++ test_config_parse_many_nulstr(true); ++ test_config_parse_many_nulstr(false); ++} + - return 0; - } + DEFINE_TEST_MAIN(LOG_INFO); -- -2.26.2 +2.34.1 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 8cdd1ce8..00e1cb09 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 +From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index 17e9ead9c1..7b926f9f91 100644 +index a9bf28f6d9..739fd84d2c 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -160,6 +160,8 @@ units = [ +@@ -165,6 +165,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index 17e9ead9c1..7b926f9f91 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ] + ['systemd-oomd.socket', 'ENABLE_OOMD'], diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.26.2 +2.34.1 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch deleted file mode 100644 index cb8f69a8..00000000 --- a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 -From: Pawel Wieczorkiewicz -Date: Tue, 2 Jun 2015 13:33:24 +0000 -Subject: [PATCH 07/11] networkd: make network.service an alias of - systemd-networkd.service - -NetworkManager and wicked does this already. This is needed by yast2 -and other parts of the system. - -[fixes boo#933092] ---- - units/systemd-networkd.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in -index ffa45ba049..6a5d0dea3c 100644 ---- a/units/systemd-networkd.service.in -+++ b/units/systemd-networkd.service.in -@@ -53,6 +53,7 @@ User=systemd-network - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket - Alias=dbus-org.freedesktop.network1.service - --- -2.26.2 - diff --git a/files.container b/files.container index faac2676..ad68ab0a 100644 --- a/files.container +++ b/files.container @@ -17,6 +17,9 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -40,6 +43,8 @@ %endif %if %{with importd} +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index e551dc7f..fa1b5271 100644 --- a/files.devel +++ b/files.devel @@ -84,6 +84,8 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz +%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -426,6 +428,7 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -495,6 +498,7 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 4118d63d..9e3f698c 100644 --- a/files.network +++ b/files.network @@ -7,6 +7,10 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -15,11 +19,13 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz +%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -40,6 +46,9 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index 8f0f173d..8d2a9ef7 100644 --- a/files.systemd +++ b/files.systemd @@ -13,6 +13,7 @@ %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -24,10 +25,9 @@ %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} +%dir %{_libdir}/cryptsetup %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -82,6 +82,8 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -113,6 +115,7 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop +%{_bindir}/systemd-creds %if ! 0%{?bootstrap} %{_bindir}/systemd-cryptenroll %endif @@ -160,6 +163,29 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif +# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 +%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -205,7 +231,6 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -220,6 +245,11 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%endif +%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -235,6 +265,7 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz +%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -250,6 +281,7 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz +%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -258,8 +290,10 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz +%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz +%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -323,8 +357,12 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} +%{_mandir}/man7/linuxaa64.efi.stub.7.gz +%{_mandir}/man7/linuxia32.efi.stub.7.gz +%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz +%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -383,6 +421,9 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz +%{_mandir}/man8/systemd-integritysetup-generator.8.gz +%{_mandir}/man8/systemd-integritysetup.8.gz +%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -455,7 +496,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.d/00-entry-directory.install +%{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -472,7 +513,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-249.so +%{_systemd_util_dir}/libsystemd-shared-250.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -493,6 +534,9 @@ %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed +%if ! 0%{?bootstrap} +%{_systemd_util_dir}/systemd-integritysetup +%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -556,6 +600,9 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator +%if ! 0%{?bootstrap} +%{_systemdgeneratordir}/systemd-integritysetup-generator +%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator %if ! 0%{?bootstrap} @@ -602,6 +649,7 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target +%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -624,6 +672,10 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target +%if ! 0%{?bootstrap} +%{_unitdir}/integritysetup-pre.target +%{_unitdir}/integritysetup.target +%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -680,6 +732,9 @@ %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount +%if ! 0%{?bootstrap} +%{_unitdir}/sysinit.target.wants/integritysetup.target +%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -725,6 +780,7 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -788,6 +844,7 @@ %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 4f75bcc9..63a31940 100644 --- a/files.udev +++ b/files.udev @@ -70,6 +70,8 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb +%{_udevhwdbdir}/70-analyzers.hwdb +%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -92,6 +94,7 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules +%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz deleted file mode 100644 index fdcaf7f0..00000000 --- a/systemd-v249.10+suse.86.g0bb1977021.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 -size 7281992 diff --git a/systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz b/systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz new file mode 100644 index 00000000..b14b351e --- /dev/null +++ b/systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71bed90f579c06f96c9e9e1324d247ab5bf5033f9aa60955019835e128fcb240 +size 7620048 diff --git a/systemd.changes b/systemd.changes index 7c998920..3b3b0786 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Mar 8 09:41:42 UTC 2022 - Franck Bui + +- Upgrade to v250.3 (commit dbd8bd2b9fd827ca89ed18034b60703c95798e01) + + See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for + details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + +- Dropped 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + + The alias makes little sense as soon as multiple network managers are used in + parallel. + ------------------------------------------------------------------- Tue Mar 8 07:41:41 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 31ea93ca..538faeb3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.86.g0bb1977021 +%define suse_version +suse.18.gdbd8bd2b9f %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -71,7 +71,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.10 +Version: 250.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -215,8 +215,9 @@ Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +%if %{with sysvcompat} Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +%endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -690,6 +691,7 @@ Have fun with these services at your own risk. \ -Defi=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ + -Dsbat-distro= \ \ -Dresolve=%{when resolved} \ -Ddns-servers='' \ @@ -1270,13 +1272,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.32.0 +%{_libdir}/libsystemd.so.0.33.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.2 +%{_libdir}/libudev.so.1.7.3 %if %{with coredump} %files coredump @@ -1383,6 +1385,10 @@ fi %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service %{_pam_moduledir}/pam_systemd_home.so +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From 309d52f8ce7ca06d160fbe48e655db9a3edb558c9e59bf1e8bd0f812dc2d0123 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 8 Mar 2022 17:51:21 +0000 Subject: [PATCH 683/991] - Make sure to create 'systemd-coredump' system user when systemd-coredump is installed (follow-up for the split of the sysusers config files). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1260 --- systemd.changes | 6 ++++++ systemd.spec | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/systemd.changes b/systemd.changes index 3b3b0786..9ae0c584 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 8 17:50:57 UTC 2022 - Franck Bui + +- Make sure to create 'systemd-coredump' system user when systemd-coredump is + installed (follow-up for the split of the sysusers config files). + ------------------------------------------------------------------- Tue Mar 8 09:41:42 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 538faeb3..39cdf927 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1127,6 +1127,11 @@ fi %ldconfig %endif +%if %{with coredump} +%post coredump +%sysusers_create systemd-coredump.conf +%endif + %if ! 0%{?bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd From a38ff3ffe3c12842c8d3b83f40e8f36a8c49b70fa69a81343700c1f68bd745cb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 8 Mar 2022 19:07:58 +0000 Subject: [PATCH 684/991] - systemd.spec: minor simplification by assuming that %{bootstrap} is always defined. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1261 --- files.container | 2 +- files.devel | 2 +- files.systemd | 44 +++++++++++++++++++++++--------------------- files.udev | 6 +++--- systemd.changes | 6 ++++++ systemd.spec | 34 +++++++++++++++++----------------- 6 files changed, 51 insertions(+), 43 deletions(-) diff --git a/files.container b/files.container index ad68ab0a..cae9352f 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz diff --git a/files.devel b/files.devel index fa1b5271..5cf81c92 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz diff --git a/files.systemd b/files.systemd index 8d2a9ef7..b919c2af 100644 --- a/files.systemd +++ b/files.systemd @@ -8,7 +8,7 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif @@ -21,13 +21,15 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif %dir %{_environmentdir} %dir %{_journalcatalogdir} +%if ! %{bootstrap} %dir %{_libdir}/cryptsetup +%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -116,7 +118,7 @@ %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-creds -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -139,7 +141,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -207,7 +209,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -527,14 +529,14 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-integritysetup %endif %{_systemd_util_dir}/systemd-journald @@ -560,7 +562,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -592,7 +594,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -600,12 +602,12 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-integritysetup-generator %endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -633,7 +635,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -663,7 +665,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -672,7 +674,7 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/integritysetup-pre.target %{_unitdir}/integritysetup.target %endif @@ -698,12 +700,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -727,12 +729,12 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/integritysetup.target %endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount @@ -758,11 +760,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -840,7 +842,7 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif diff --git a/files.udev b/files.udev index 63a31940..52a309e6 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz diff --git a/systemd.changes b/systemd.changes index 9ae0c584..e6179a8f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 8 19:08:03 UTC 2022 - Franck Bui + +- systemd.spec: minor simplification by assuming that %{bootstrap} is always + defined. + ------------------------------------------------------------------- Tue Mar 8 17:50:57 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 39cdf927..a2247ac1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -37,7 +37,7 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if 0%{?bootstrap} +%if %{bootstrap} %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -76,7 +76,7 @@ Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! 0%{?bootstrap} +%if ! %{bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -132,7 +132,7 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 BuildRequires: gnu-efi %endif -%if 0%{?bootstrap} +%if %{bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -242,7 +242,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -260,7 +260,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if 0%{?bootstrap} +%if %{bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -293,7 +293,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -339,7 +339,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -354,7 +354,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -388,7 +388,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -459,7 +459,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -626,7 +626,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %lang_package %endif @@ -671,7 +671,7 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if 0%{?bootstrap} +%if %{bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ @@ -915,7 +915,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %find_lang systemd %endif @@ -944,7 +944,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! 0%{?bootstrap} +%if ! %{bootstrap} pam-config --add --systemd || : %endif @@ -1132,7 +1132,7 @@ fi %sysusers_create systemd-coredump.conf %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1296,14 +1296,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %files lang -f systemd.lang %files -n nss-myhostname From aecfa91edca64390939bad66bf383e4ec701be083db37948794cabd9589b5f90 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 9 Mar 2022 17:47:02 +0000 Subject: [PATCH 685/991] Accepting request 960154 from Base:System - Fix the default target when it's been incorrectly set to one of the runlevel targets (bsc#1196567) The script 'upgrade-from-pre-210.sh' used to initialize the default target during migration from sysvinit to systemd. However it created symlinks to runlevel targets, which are deprecated and might be missing when systemd-sysvcompat package is not installed. If such symlinks are found the script now renames them to point to 'true' systemd target units. - When migrating from sysvinit to systemd (it probably won't happen anymore), let's use the default systemd target, which is the graphical.target one. In most cases it will do the right thing anyway. OBS-URL: https://build.opensuse.org/request/show/960154 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=351 --- scripts-systemd-upgrade-from-pre-210.sh | 40 ++++++++++++++----------- systemd.changes | 16 ++++++++++ 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/scripts-systemd-upgrade-from-pre-210.sh index 8a168915..2f5e53ff 100644 --- a/scripts-systemd-upgrade-from-pre-210.sh +++ b/scripts-systemd-upgrade-from-pre-210.sh @@ -1,30 +1,34 @@ #! /bin/bash # -# This script is supposed to be executed from the %post section. It -# contains all hacks needed to update a system which was running -# systemd < v210. This also includes systems migrating from SysV. +# This script is supposed to be executed from the %post section. It contains all +# hacks needed to update a system which was running systemd < v210. This also +# includes systems migrating from SysV. +# +# All hacks can potentially break the admin settings since they work in /etc... # -# All hacks can potentially break the admin settings since they work -# in /etc... -# Try to read default runlevel from the old inittab if it exists. If -# it fails fallback to runlevel 3 which should still be better than -# the rescue shell. # -# Note: /etc/inittab was part of the aaa_base package which can be -# upgraded before systemd is. Therefore this file is likely to be -# missing. -if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then - runlevel=$(sed -n -r "s/^id:([[:digit:]]):initdefault:/\1/p" /etc/inittab) - : ${runlevel:=3} - echo "Initializing default.target to runlevel${runlevel}.target" - ln -s /usr/lib/systemd/system/runlevel${runlevel}.target /etc/systemd/system/default.target +# During migration from sysvinit to systemd, we used to set the systemd default +# target to one of the 'runlevel*.target' after reading the default runlevel +# from /etc/inittab. We don't do that anymore because in most cases using the +# graphical.target target, which is the default, will do the right +# thing. Moreover the runlevel targets are considered as deprecated, so we +# convert them into "true" systemd targets instead here. +# +if target=$(readlink /etc/systemd/system/default.target); then + target=$(basename $target) + case "$target" in + runlevel?.target) + echo "Default systemd target is '$target' but use of runlevels is deprecated" + systemctl --no-reload set-default $target + esac fi -# migrate any symlink which may refer to the old path +# +# Migrate any symlink which may refer to the old path. +# for f in $(find /etc/systemd/system -type l -xtype l); do new_target="/usr$(readlink $f)" [ -f "$new_target" ] && ln -s -f $new_target $f done - diff --git a/systemd.changes b/systemd.changes index eb4b4324..7c998920 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Mar 8 07:41:41 UTC 2022 - Franck Bui + +- Fix the default target when it's been incorrectly set to one of the runlevel + targets (bsc#1196567) + + The script 'upgrade-from-pre-210.sh' used to initialize the default target + during migration from sysvinit to systemd. However it created symlinks to + runlevel targets, which are deprecated and might be missing when + systemd-sysvcompat package is not installed. If such symlinks are found the + script now renames them to point to 'true' systemd target units. + +- When migrating from sysvinit to systemd (it probably won't happen anymore), + let's use the default systemd target, which is the graphical.target one. In + most cases it will do the right thing anyway. + ------------------------------------------------------------------- Thu Feb 24 13:23:35 UTC 2022 - Franck Bui From fdc392bf334c660121ce9b87d26a8c4ff7cabdbc8c96360fe47ec6727fa98e5b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Mar 2022 12:30:56 +0000 Subject: [PATCH 686/991] Accepting request 962139 from home:gmbr3:Active - Update Supplements to new format in baselibs.conf - Fix libsystemd-shared exclusion in baselibs.conf - Exclude new cryptsetup libraries in baselibs.conf OBS-URL: https://build.opensuse.org/request/show/962139 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1262 --- baselibs.conf | 5 +++-- systemd.changes | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index 4e056067..d8badad8 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,9 +2,10 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "packageand(systemd:pam-)" + supplements "(systemd and pam-)" -/lib/systemd/system/ - -/usr/lib/systemd/libsystemd-shared.*\.so + -/usr/lib/systemd + -/usr/lib/cryptsetup post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/systemd.changes b/systemd.changes index e6179a8f..afdb38b5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sat Mar 12 12:57:26 UTC 2022 - Callum Farmer + +- Update Supplements to new format in baselibs.conf +- Fix libsystemd-shared exclusion in baselibs.conf +- Exclude new cryptsetup libraries in baselibs.conf + ------------------------------------------------------------------- Tue Mar 8 19:08:03 UTC 2022 - Franck Bui From f3f6bb3f47f255986742e118ab78bd7723084514de3b0b40b0fb10f611b6d18d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Mar 2022 20:46:20 +0000 Subject: [PATCH 687/991] - Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd 78c2766689 journal-file: explicitly handle file systems that do not support hole punching 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before d3fbd20628 journal: various fixes to journal_file_read_object() 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES 27746408e2 journal: Truncate file instead of punching hole in final object 59b6130030 shared: Ensure COPY_HOLES copies trailing holes ac9ccba73f journal: stat journal file after truncating 0257283444 journal: Copy holes when archiving BTRFS journal files 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1263 --- systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz | 3 --- systemd-v250.3+suse.33.gca89b1d1fd.tar.xz | 3 +++ systemd.changes | 20 ++++++++++++++++++++ systemd.spec | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) delete mode 100644 systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz create mode 100644 systemd-v250.3+suse.33.gca89b1d1fd.tar.xz diff --git a/systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz b/systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz deleted file mode 100644 index b14b351e..00000000 --- a/systemd-v250.3+suse.18.gdbd8bd2b9f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:71bed90f579c06f96c9e9e1324d247ab5bf5033f9aa60955019835e128fcb240 -size 7620048 diff --git a/systemd-v250.3+suse.33.gca89b1d1fd.tar.xz b/systemd-v250.3+suse.33.gca89b1d1fd.tar.xz new file mode 100644 index 00000000..9fb04db0 --- /dev/null +++ b/systemd-v250.3+suse.33.gca89b1d1fd.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca66c993e98e7aeb08e0c6efaedc47e1bd34d2f717f027ae9c0ae5c69ff62b1c +size 7620896 diff --git a/systemd.changes b/systemd.changes index afdb38b5..fb26d639 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Mar 16 20:36:36 UTC 2022 - Franck Bui + +- Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a + + 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set + d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd + 78c2766689 journal-file: explicitly handle file systems that do not support hole punching + 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() + c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before + d3fbd20628 journal: various fixes to journal_file_read_object() + 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES + 27746408e2 journal: Truncate file instead of punching hole in final object + 59b6130030 shared: Ensure COPY_HOLES copies trailing holes + ac9ccba73f journal: stat journal file after truncating + 0257283444 journal: Copy holes when archiving BTRFS journal files + 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() + 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() + af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) + ------------------------------------------------------------------- Sat Mar 12 12:57:26 UTC 2022 - Callum Farmer diff --git a/systemd.spec b/systemd.spec index a2247ac1..02740f21 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.18.gdbd8bd2b9f +%define suse_version +suse.33.gca89b1d1fd %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 29d68999841f01db20973f03b6c79d2809894532c7444922d8f42958836e381f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Mar 2022 21:35:12 +0000 Subject: [PATCH 688/991] x- Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1264 --- files.devel | 1 + systemd-v250.3+suse.33.gca89b1d1fd.tar.xz | 3 --- systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 5 files changed, 14 insertions(+), 5 deletions(-) delete mode 100644 systemd-v250.3+suse.33.gca89b1d1fd.tar.xz create mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/files.devel b/files.devel index 5cf81c92..7cd0b082 100644 --- a/files.devel +++ b/files.devel @@ -55,6 +55,7 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz diff --git a/systemd-v250.3+suse.33.gca89b1d1fd.tar.xz b/systemd-v250.3+suse.33.gca89b1d1fd.tar.xz deleted file mode 100644 index 9fb04db0..00000000 --- a/systemd-v250.3+suse.33.gca89b1d1fd.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca66c993e98e7aeb08e0c6efaedc47e1bd34d2f717f027ae9c0ae5c69ff62b1c -size 7620896 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz new file mode 100644 index 00000000..d2bee6fe --- /dev/null +++ b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 +size 7626056 diff --git a/systemd.changes b/systemd.changes index fb26d639..804d36bf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Mar 16 20:50:35 UTC 2022 - Franck Bui + +- Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 + ------------------------------------------------------------------- Wed Mar 16 20:36:36 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 02740f21..4d5b7db2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.33.gca89b1d1fd +%define suse_version +suse.35.g8ef8dfd540 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -71,7 +71,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.3 +Version: 250.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From ecbd67ef232d9333934d45d7b82b8fb31223794a47273e4f7b906dfee848d193 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Mar 2022 10:43:43 +0000 Subject: [PATCH 689/991] - Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch A temporary workaround until bsc#1197178 is resolved. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1265 --- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 +++++++++++++++++++ systemd.changes | 7 ++ systemd.spec | 3 + 3 files changed, 100 insertions(+) create mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch new file mode 100644 index 00000000..107b6553 --- /dev/null +++ b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -0,0 +1,90 @@ +From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 17 Mar 2022 11:35:33 +0100 +Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" + +This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. +--- + units/console-getty.service.in | 4 +--- + units/container-getty@.service.in | 4 +--- + units/getty@.service.in | 4 +--- + units/serial-getty@.service.in | 4 +--- + 4 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/units/console-getty.service.in b/units/console-getty.service.in +index 73871d6f50..bb67541dce 100644 +--- a/units/console-getty.service.in ++++ b/units/console-getty.service.in +@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM + Type=idle + Restart=always + UtmpIdentifier=cons +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/console + TTYReset=yes + TTYVHangup=yes +diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in +index a6e3f94e2a..ed1eb7bde1 100644 +--- a/units/container-getty@.service.in ++++ b/units/container-getty@.service.in +@@ -28,13 +28,11 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=pts/%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/pts/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/getty@.service.in b/units/getty@.service.in +index 21d66f9367..78deb7cffe 100644 +--- a/units/getty@.service.in ++++ b/units/getty@.service.in +@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in +index 2433124c55..bb7af3105d 100644 +--- a/units/serial-getty@.service.in ++++ b/units/serial-getty@.service.in +@@ -33,12 +33,10 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM + Type=idle + Restart=always + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +-- +2.34.1 + diff --git a/systemd.changes b/systemd.changes index 804d36bf..82a330ca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 17 10:38:16 UTC 2022 - Franck Bui + +- Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + A temporary workaround until bsc#1197178 is resolved. + ------------------------------------------------------------------- Wed Mar 16 20:50:35 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4d5b7db2..c1daf61f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -222,6 +222,9 @@ Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +# Temporary workaround until bsc#1197178 is addressed. +Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git # repository. But in very few cases, some stuff might be broken in From e8aa5c69c39588153ddd42485bce5b3a15b33e0f462227015ffbc1f12f5f4d10 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 18 Mar 2022 15:41:17 +0000 Subject: [PATCH 690/991] Accepting request 962458 from Base:System - Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch A temporary workaround until bsc#1197178 is resolved. - Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 - Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd 78c2766689 journal-file: explicitly handle file systems that do not support hole punching 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before d3fbd20628 journal: various fixes to journal_file_read_object() 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES 27746408e2 journal: Truncate file instead of punching hole in final object 59b6130030 shared: Ensure COPY_HOLES copies trailing holes ac9ccba73f journal: stat journal file after truncating 0257283444 journal: Copy holes when archiving BTRFS journal files 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) - Update Supplements to new format in baselibs.conf - Fix libsystemd-shared exclusion in baselibs.conf - Exclude new cryptsetup libraries in baselibs.conf - systemd.spec: minor simplification by assuming that %{bootstrap} is always defined. OBS-URL: https://build.opensuse.org/request/show/962458 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=352 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ---- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 +++++++++++ baselibs.conf | 5 +- files.container | 7 +- files.devel | 7 +- files.network | 9 ++ files.systemd | 103 ++++++++++--- files.udev | 9 +- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 - systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 + systemd.changes | 70 +++++++++ systemd.spec | 58 ++++--- 14 files changed, 383 insertions(+), 162 deletions(-) delete mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch create mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch delete mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz create mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bf5a21d2..bcd96141 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 +From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 ++++++++++-- - src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 195 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 +++++++++-- + src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 197 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index d0ac1b2660..cb453fa50d 100644 +index 1e1967d7ea..eb81732dfa 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -430,6 +430,7 @@ int config_parse( +@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index d0ac1b2660..cb453fa50d 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -442,6 +443,12 @@ static int config_parse_many_files( - char **fn; - int r; - +@@ -481,6 +482,12 @@ static int config_parse_many_files( + stats_by_path = hashmap_new(&path_hash_ops_free_free); + if (!stats_by_path) + return -ENOMEM; ++ } ++ + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); + if (r < 0) + return r; -+ } -+ + } + /* First read the first found main config file. */ - STRV_FOREACH(fn, (char**) conf_files) { - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); -@@ -464,6 +471,28 @@ static int config_parse_many_files( +@@ -521,6 +528,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index d0ac1b2660..cb453fa50d 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -475,15 +504,19 @@ int config_parse_many_nulstr( +@@ -532,15 +561,19 @@ int config_parse_many_nulstr( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index d0ac1b2660..cb453fa50d 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_mtime); + ret_stats_by_path); } -@@ -499,8 +532,8 @@ int config_parse_many( +@@ -556,8 +589,8 @@ int config_parse_many( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index d0ac1b2660..cb453fa50d 100644 const char *suffix; int r; -@@ -513,7 +546,12 @@ int config_parse_many( +@@ -570,7 +603,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_mtime); ++ sections, lookup, table, flags, userdata, ret_stats_by_path); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 5da864347e..77d9f28a79 100644 +index e61932ab16..de408272f0 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index 5da864347e..77d9f28a79 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tmpfile-util.h" -@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { - } + #include "tests.h" +@@ -391,4 +394,155 @@ TEST(config_parse) { + test_config_parse_one(i, config_file[i]); } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index 5da864347e..77d9f28a79 100644 + } +} + -+static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,67 +281,61 @@ index 5da864347e..77d9f28a79 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many(bool nulstr) { ++static void test_config_parse_many_nulstr(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + - int main(int argc, char **argv) { - unsigned i; - -@@ -407,5 +556,8 @@ int main(int argc, char **argv) { - for (i = 0; i < ELEMENTSOF(config_file); i++) - test_config_parse(i, config_file[i]); - -+ test_config_parse_many(true); -+ test_config_parse_many(false); ++TEST(config_parse_many) { ++ test_config_parse_many_nulstr(true); ++ test_config_parse_many_nulstr(false); ++} + - return 0; - } + DEFINE_TEST_MAIN(LOG_INFO); -- -2.26.2 +2.34.1 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 8cdd1ce8..00e1cb09 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 +From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index 17e9ead9c1..7b926f9f91 100644 +index a9bf28f6d9..739fd84d2c 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -160,6 +160,8 @@ units = [ +@@ -165,6 +165,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index 17e9ead9c1..7b926f9f91 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ] + ['systemd-oomd.socket', 'ENABLE_OOMD'], diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.26.2 +2.34.1 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch deleted file mode 100644 index cb8f69a8..00000000 --- a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 -From: Pawel Wieczorkiewicz -Date: Tue, 2 Jun 2015 13:33:24 +0000 -Subject: [PATCH 07/11] networkd: make network.service an alias of - systemd-networkd.service - -NetworkManager and wicked does this already. This is needed by yast2 -and other parts of the system. - -[fixes boo#933092] ---- - units/systemd-networkd.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in -index ffa45ba049..6a5d0dea3c 100644 ---- a/units/systemd-networkd.service.in -+++ b/units/systemd-networkd.service.in -@@ -53,6 +53,7 @@ User=systemd-network - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket - Alias=dbus-org.freedesktop.network1.service - --- -2.26.2 - diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch new file mode 100644 index 00000000..107b6553 --- /dev/null +++ b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -0,0 +1,90 @@ +From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 17 Mar 2022 11:35:33 +0100 +Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" + +This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. +--- + units/console-getty.service.in | 4 +--- + units/container-getty@.service.in | 4 +--- + units/getty@.service.in | 4 +--- + units/serial-getty@.service.in | 4 +--- + 4 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/units/console-getty.service.in b/units/console-getty.service.in +index 73871d6f50..bb67541dce 100644 +--- a/units/console-getty.service.in ++++ b/units/console-getty.service.in +@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM + Type=idle + Restart=always + UtmpIdentifier=cons +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/console + TTYReset=yes + TTYVHangup=yes +diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in +index a6e3f94e2a..ed1eb7bde1 100644 +--- a/units/container-getty@.service.in ++++ b/units/container-getty@.service.in +@@ -28,13 +28,11 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=pts/%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/pts/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/getty@.service.in b/units/getty@.service.in +index 21d66f9367..78deb7cffe 100644 +--- a/units/getty@.service.in ++++ b/units/getty@.service.in +@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in +index 2433124c55..bb7af3105d 100644 +--- a/units/serial-getty@.service.in ++++ b/units/serial-getty@.service.in +@@ -33,12 +33,10 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM + Type=idle + Restart=always + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +-- +2.34.1 + diff --git a/baselibs.conf b/baselibs.conf index 4e056067..d8badad8 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,9 +2,10 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "packageand(systemd:pam-)" + supplements "(systemd and pam-)" -/lib/systemd/system/ - -/usr/lib/systemd/libsystemd-shared.*\.so + -/usr/lib/systemd + -/usr/lib/cryptsetup post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/files.container b/files.container index faac2676..cae9352f 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz @@ -17,6 +17,9 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -40,6 +43,8 @@ %endif %if %{with importd} +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index e551dc7f..7cd0b082 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -55,6 +55,7 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz @@ -84,6 +85,8 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz +%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -426,6 +429,7 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -495,6 +499,7 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 4118d63d..9e3f698c 100644 --- a/files.network +++ b/files.network @@ -7,6 +7,10 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -15,11 +19,13 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz +%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -40,6 +46,9 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index 8f0f173d..b919c2af 100644 --- a/files.systemd +++ b/files.systemd @@ -8,11 +8,12 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -20,14 +21,15 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} +%if ! %{bootstrap} +%dir %{_libdir}/cryptsetup +%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -82,6 +84,8 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -113,7 +117,8 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop -%if ! 0%{?bootstrap} +%{_bindir}/systemd-creds +%if ! %{bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -136,7 +141,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -160,6 +165,29 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif +# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 +%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -181,7 +209,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -205,7 +233,6 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -220,6 +247,11 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%endif +%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -235,6 +267,7 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz +%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -250,6 +283,7 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz +%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -258,8 +292,10 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz +%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz +%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -323,8 +359,12 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} +%{_mandir}/man7/linuxaa64.efi.stub.7.gz +%{_mandir}/man7/linuxia32.efi.stub.7.gz +%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz +%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -383,6 +423,9 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz +%{_mandir}/man8/systemd-integritysetup-generator.8.gz +%{_mandir}/man8/systemd-integritysetup.8.gz +%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -455,7 +498,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.d/00-entry-directory.install +%{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -472,7 +515,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-249.so +%{_systemd_util_dir}/libsystemd-shared-250.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -486,13 +529,16 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-integritysetup +%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -516,7 +562,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -548,7 +594,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -556,9 +602,12 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-integritysetup-generator +%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -586,7 +635,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -602,6 +651,7 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target +%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -615,7 +665,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -624,6 +674,10 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target +%if ! %{bootstrap} +%{_unitdir}/integritysetup-pre.target +%{_unitdir}/integritysetup.target +%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -646,12 +700,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -675,11 +729,14 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/integritysetup.target +%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -703,11 +760,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -725,6 +782,7 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -784,10 +842,11 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 4f75bcc9..52a309e6 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -70,6 +70,8 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb +%{_udevhwdbdir}/70-analyzers.hwdb +%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -92,6 +94,7 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules +%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz deleted file mode 100644 index fdcaf7f0..00000000 --- a/systemd-v249.10+suse.86.g0bb1977021.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 -size 7281992 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz new file mode 100644 index 00000000..d2bee6fe --- /dev/null +++ b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 +size 7626056 diff --git a/systemd.changes b/systemd.changes index 7c998920..82a330ca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,73 @@ +------------------------------------------------------------------- +Thu Mar 17 10:38:16 UTC 2022 - Franck Bui + +- Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + A temporary workaround until bsc#1197178 is resolved. + +------------------------------------------------------------------- +Wed Mar 16 20:50:35 UTC 2022 - Franck Bui + +- Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 + +------------------------------------------------------------------- +Wed Mar 16 20:36:36 UTC 2022 - Franck Bui + +- Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a + + 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set + d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd + 78c2766689 journal-file: explicitly handle file systems that do not support hole punching + 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() + c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before + d3fbd20628 journal: various fixes to journal_file_read_object() + 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES + 27746408e2 journal: Truncate file instead of punching hole in final object + 59b6130030 shared: Ensure COPY_HOLES copies trailing holes + ac9ccba73f journal: stat journal file after truncating + 0257283444 journal: Copy holes when archiving BTRFS journal files + 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() + 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() + af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) + +------------------------------------------------------------------- +Sat Mar 12 12:57:26 UTC 2022 - Callum Farmer + +- Update Supplements to new format in baselibs.conf +- Fix libsystemd-shared exclusion in baselibs.conf +- Exclude new cryptsetup libraries in baselibs.conf + +------------------------------------------------------------------- +Tue Mar 8 19:08:03 UTC 2022 - Franck Bui + +- systemd.spec: minor simplification by assuming that %{bootstrap} is always + defined. + +------------------------------------------------------------------- +Tue Mar 8 17:50:57 UTC 2022 - Franck Bui + +- Make sure to create 'systemd-coredump' system user when systemd-coredump is + installed (follow-up for the split of the sysusers config files). + +------------------------------------------------------------------- +Tue Mar 8 09:41:42 UTC 2022 - Franck Bui + +- Upgrade to v250.3 (commit dbd8bd2b9fd827ca89ed18034b60703c95798e01) + + See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for + details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + +- Dropped 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + + The alias makes little sense as soon as multiple network managers are used in + parallel. + ------------------------------------------------------------------- Tue Mar 8 07:41:41 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 31ea93ca..c1daf61f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.86.g0bb1977021 +%define suse_version +suse.35.g8ef8dfd540 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -37,7 +37,7 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if 0%{?bootstrap} +%if %{bootstrap} %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -71,12 +71,12 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.10 +Version: 250.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! 0%{?bootstrap} +%if ! %{bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -132,7 +132,7 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 BuildRequires: gnu-efi %endif -%if 0%{?bootstrap} +%if %{bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -215,12 +215,16 @@ Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +%if %{with sysvcompat} Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +%endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +# Temporary workaround until bsc#1197178 is addressed. +Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git # repository. But in very few cases, some stuff might be broken in @@ -241,7 +245,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -259,7 +263,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if 0%{?bootstrap} +%if %{bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -292,7 +296,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -338,7 +342,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -353,7 +357,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -387,7 +391,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -458,7 +462,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -625,7 +629,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %lang_package %endif @@ -670,7 +674,7 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if 0%{?bootstrap} +%if %{bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ @@ -690,6 +694,7 @@ Have fun with these services at your own risk. \ -Defi=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ + -Dsbat-distro= \ \ -Dresolve=%{when resolved} \ -Ddns-servers='' \ @@ -913,7 +918,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %find_lang systemd %endif @@ -942,7 +947,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! 0%{?bootstrap} +%if ! %{bootstrap} pam-config --add --systemd || : %endif @@ -1125,7 +1130,12 @@ fi %ldconfig %endif -%if ! 0%{?bootstrap} +%if %{with coredump} +%post coredump +%sysusers_create systemd-coredump.conf +%endif + +%if ! %{bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1270,13 +1280,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.32.0 +%{_libdir}/libsystemd.so.0.33.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.2 +%{_libdir}/libudev.so.1.7.3 %if %{with coredump} %files coredump @@ -1289,14 +1299,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %files lang -f systemd.lang %files -n nss-myhostname @@ -1383,6 +1393,10 @@ fi %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service %{_pam_moduledir}/pam_systemd_home.so +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From 65d268d7746af2f050784a6116be287626fe147f6c000afaa4bee50b48b82408 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 19 Mar 2022 10:56:42 +0000 Subject: [PATCH 691/991] https://bugzilla.opensuse.org/show_bug.cgi?id=1197309 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=353 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ++++ ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 ----------- baselibs.conf | 5 +- files.container | 7 +- files.devel | 7 +- files.network | 9 -- files.systemd | 103 +++---------- files.udev | 9 +- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 + systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 - systemd.changes | 70 --------- systemd.spec | 58 +++---- 14 files changed, 162 insertions(+), 383 deletions(-) create mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch delete mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch create mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz delete mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bcd96141..bf5a21d2 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 +From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 +++++++++-- - src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 197 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 ++++++++++-- + src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 1e1967d7ea..eb81732dfa 100644 +index d0ac1b2660..cb453fa50d 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -430,6 +430,7 @@ int config_parse( static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index 1e1967d7ea..eb81732dfa 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -481,6 +482,12 @@ static int config_parse_many_files( - stats_by_path = hashmap_new(&path_hash_ops_free_free); - if (!stats_by_path) - return -ENOMEM; -+ } -+ +@@ -442,6 +443,12 @@ static int config_parse_many_files( + char **fn; + int r; + + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); + if (r < 0) + return r; - } - ++ } ++ /* First read the first found main config file. */ -@@ -521,6 +528,28 @@ static int config_parse_many_files( + STRV_FOREACH(fn, (char**) conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); +@@ -464,6 +471,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index 1e1967d7ea..eb81732dfa 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -532,15 +561,19 @@ int config_parse_many_nulstr( +@@ -475,15 +504,19 @@ int config_parse_many_nulstr( void *userdata, - Hashmap **ret_stats_by_path) { + usec_t *ret_mtime) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index 1e1967d7ea..eb81732dfa 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_stats_by_path); + ret_mtime); } -@@ -556,8 +589,8 @@ int config_parse_many( +@@ -499,8 +532,8 @@ int config_parse_many( void *userdata, - Hashmap **ret_stats_by_path) { + usec_t *ret_mtime) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index 1e1967d7ea..eb81732dfa 100644 const char *suffix; int r; -@@ -570,7 +603,12 @@ int config_parse_many( +@@ -513,7 +546,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_stats_by_path); ++ sections, lookup, table, flags, userdata, ret_mtime); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..de408272f0 100644 +index 5da864347e..77d9f28a79 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index e61932ab16..de408272f0 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tests.h" -@@ -391,4 +394,155 @@ TEST(config_parse) { - test_config_parse_one(i, config_file[i]); + #include "tmpfile-util.h" +@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { + } } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index e61932ab16..de408272f0 100644 + } +} + -+static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,61 +281,67 @@ index e61932ab16..de408272f0 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many_nulstr(bool nulstr) { ++static void test_config_parse_many(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + -+TEST(config_parse_many) { -+ test_config_parse_many_nulstr(true); -+ test_config_parse_many_nulstr(false); -+} + int main(int argc, char **argv) { + unsigned i; + +@@ -407,5 +556,8 @@ int main(int argc, char **argv) { + for (i = 0; i < ELEMENTSOF(config_file); i++) + test_config_parse(i, config_file[i]); + ++ test_config_parse_many(true); ++ test_config_parse_many(false); + - DEFINE_TEST_MAIN(LOG_INFO); + return 0; + } -- -2.34.1 +2.26.2 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 00e1cb09..8cdd1ce8 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 +From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index a9bf28f6d9..739fd84d2c 100644 +index 17e9ead9c1..7b926f9f91 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -165,6 +165,8 @@ units = [ +@@ -160,6 +160,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index a9bf28f6d9..739fd84d2c 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ['systemd-oomd.socket', 'ENABLE_OOMD'], + ] diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.34.1 +2.26.2 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch new file mode 100644 index 00000000..cb8f69a8 --- /dev/null +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -0,0 +1,29 @@ +From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 +From: Pawel Wieczorkiewicz +Date: Tue, 2 Jun 2015 13:33:24 +0000 +Subject: [PATCH 07/11] networkd: make network.service an alias of + systemd-networkd.service + +NetworkManager and wicked does this already. This is needed by yast2 +and other parts of the system. + +[fixes boo#933092] +--- + units/systemd-networkd.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in +index ffa45ba049..6a5d0dea3c 100644 +--- a/units/systemd-networkd.service.in ++++ b/units/systemd-networkd.service.in +@@ -53,6 +53,7 @@ User=systemd-network + + [Install] + WantedBy=multi-user.target ++Alias=network.service + Also=systemd-networkd.socket + Alias=dbus-org.freedesktop.network1.service + +-- +2.26.2 + diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch deleted file mode 100644 index 107b6553..00000000 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" - -This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. ---- - units/console-getty.service.in | 4 +--- - units/container-getty@.service.in | 4 +--- - units/getty@.service.in | 4 +--- - units/serial-getty@.service.in | 4 +--- - 4 files changed, 4 insertions(+), 12 deletions(-) - -diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 73871d6f50..bb67541dce 100644 ---- a/units/console-getty.service.in -+++ b/units/console-getty.service.in -@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM - Type=idle - Restart=always - UtmpIdentifier=cons --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/console - TTYReset=yes - TTYVHangup=yes -diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index a6e3f94e2a..ed1eb7bde1 100644 ---- a/units/container-getty@.service.in -+++ b/units/container-getty@.service.in -@@ -28,13 +28,11 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=pts/%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/pts/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/getty@.service.in b/units/getty@.service.in -index 21d66f9367..78deb7cffe 100644 ---- a/units/getty@.service.in -+++ b/units/getty@.service.in -@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 2433124c55..bb7af3105d 100644 ---- a/units/serial-getty@.service.in -+++ b/units/serial-getty@.service.in -@@ -33,12 +33,10 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes --- -2.34.1 - diff --git a/baselibs.conf b/baselibs.conf index d8badad8..4e056067 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,10 +2,9 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "(systemd and pam-)" + supplements "packageand(systemd:pam-)" -/lib/systemd/system/ - -/usr/lib/systemd - -/usr/lib/cryptsetup + -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/files.container b/files.container index cae9352f..faac2676 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz @@ -17,9 +17,6 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -43,8 +40,6 @@ %endif %if %{with importd} -%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index 7cd0b082..e551dc7f 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -55,7 +55,6 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz -%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz @@ -85,8 +84,6 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz -%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz -%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -429,7 +426,6 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz -%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -499,7 +495,6 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz -%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 9e3f698c..4118d63d 100644 --- a/files.network +++ b/files.network @@ -7,10 +7,6 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -19,13 +15,11 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz -%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz -%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -46,9 +40,6 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index b919c2af..8f0f173d 100644 --- a/files.systemd +++ b/files.systemd @@ -8,12 +8,11 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -21,15 +20,14 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} -%if ! %{bootstrap} -%dir %{_libdir}/cryptsetup -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -84,8 +82,6 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -117,8 +113,7 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop -%{_bindir}/systemd-creds -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -141,7 +136,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -165,29 +160,6 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif -# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 -%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -209,7 +181,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -233,6 +205,7 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -247,11 +220,6 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so -%endif -%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -267,7 +235,6 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz -%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -283,7 +250,6 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz -%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -292,10 +258,8 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz -%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz -%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -359,12 +323,8 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} -%{_mandir}/man7/linuxaa64.efi.stub.7.gz -%{_mandir}/man7/linuxia32.efi.stub.7.gz -%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz -%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -423,9 +383,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-integritysetup-generator.8.gz -%{_mandir}/man8/systemd-integritysetup.8.gz -%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -498,7 +455,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -515,7 +472,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-250.so +%{_systemd_util_dir}/libsystemd-shared-249.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -529,16 +486,13 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-integritysetup -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -562,7 +516,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -594,7 +548,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -602,12 +556,9 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-integritysetup-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -635,7 +586,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -651,7 +602,6 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target -%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -665,7 +615,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -674,10 +624,6 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target -%if ! %{bootstrap} -%{_unitdir}/integritysetup-pre.target -%{_unitdir}/integritysetup.target -%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -700,12 +646,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -729,14 +675,11 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/integritysetup.target -%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -760,11 +703,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -782,7 +725,6 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service -%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -842,11 +784,10 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 52a309e6..4f75bcc9 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -70,8 +70,6 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb -%{_udevhwdbdir}/70-analyzers.hwdb -%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -94,7 +92,6 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules -%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz new file mode 100644 index 00000000..fdcaf7f0 --- /dev/null +++ b/systemd-v249.10+suse.86.g0bb1977021.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 +size 7281992 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz deleted file mode 100644 index d2bee6fe..00000000 --- a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 -size 7626056 diff --git a/systemd.changes b/systemd.changes index 82a330ca..7c998920 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,73 +1,3 @@ -------------------------------------------------------------------- -Thu Mar 17 10:38:16 UTC 2022 - Franck Bui - -- Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch - - A temporary workaround until bsc#1197178 is resolved. - -------------------------------------------------------------------- -Wed Mar 16 20:50:35 UTC 2022 - Franck Bui - -- Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 - -------------------------------------------------------------------- -Wed Mar 16 20:36:36 UTC 2022 - Franck Bui - -- Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a - - 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set - d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd - 78c2766689 journal-file: explicitly handle file systems that do not support hole punching - 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() - c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before - d3fbd20628 journal: various fixes to journal_file_read_object() - 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES - 27746408e2 journal: Truncate file instead of punching hole in final object - 59b6130030 shared: Ensure COPY_HOLES copies trailing holes - ac9ccba73f journal: stat journal file after truncating - 0257283444 journal: Copy holes when archiving BTRFS journal files - 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() - 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() - af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) - -------------------------------------------------------------------- -Sat Mar 12 12:57:26 UTC 2022 - Callum Farmer - -- Update Supplements to new format in baselibs.conf -- Fix libsystemd-shared exclusion in baselibs.conf -- Exclude new cryptsetup libraries in baselibs.conf - -------------------------------------------------------------------- -Tue Mar 8 19:08:03 UTC 2022 - Franck Bui - -- systemd.spec: minor simplification by assuming that %{bootstrap} is always - defined. - -------------------------------------------------------------------- -Tue Mar 8 17:50:57 UTC 2022 - Franck Bui - -- Make sure to create 'systemd-coredump' system user when systemd-coredump is - installed (follow-up for the split of the sysusers config files). - -------------------------------------------------------------------- -Tue Mar 8 09:41:42 UTC 2022 - Franck Bui - -- Upgrade to v250.3 (commit dbd8bd2b9fd827ca89ed18034b60703c95798e01) - - See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for - details. - - * Rebased 0001-conf-parser-introduce-early-drop-ins.patch - 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch - -- Dropped 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch - - The alias makes little sense as soon as multiple network managers are used in - parallel. - ------------------------------------------------------------------- Tue Mar 8 07:41:41 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c1daf61f..31ea93ca 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.35.g8ef8dfd540 +%define suse_version +suse.86.g0bb1977021 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -37,7 +37,7 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if %{bootstrap} +%if 0%{?bootstrap} %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -71,12 +71,12 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.4 +Version: 249.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! %{bootstrap} +%if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -132,7 +132,7 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 BuildRequires: gnu-efi %endif -%if %{bootstrap} +%if 0%{?bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -215,16 +215,12 @@ Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -%if %{with sysvcompat} +Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -%endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -# Temporary workaround until bsc#1197178 is addressed. -Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch - # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git # repository. But in very few cases, some stuff might be broken in @@ -245,7 +241,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -263,7 +259,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if %{bootstrap} +%if 0%{?bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -296,7 +292,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -342,7 +338,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -357,7 +353,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -391,7 +387,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -462,7 +458,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -629,7 +625,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %lang_package %endif @@ -674,7 +670,7 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if %{bootstrap} +%if 0%{?bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ @@ -694,7 +690,6 @@ Have fun with these services at your own risk. \ -Defi=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ - -Dsbat-distro= \ \ -Dresolve=%{when resolved} \ -Ddns-servers='' \ @@ -918,7 +913,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %find_lang systemd %endif @@ -947,7 +942,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! %{bootstrap} +%if ! 0%{?bootstrap} pam-config --add --systemd || : %endif @@ -1130,12 +1125,7 @@ fi %ldconfig %endif -%if %{with coredump} -%post coredump -%sysusers_create systemd-coredump.conf -%endif - -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1280,13 +1270,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.33.0 +%{_libdir}/libsystemd.so.0.32.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.3 +%{_libdir}/libudev.so.1.7.2 %if %{with coredump} %files coredump @@ -1299,14 +1289,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %files lang -f systemd.lang %files -n nss-myhostname @@ -1393,10 +1383,6 @@ fi %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service %{_pam_moduledir}/pam_systemd_home.so -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From e08646db8585ec33b0f65144adce650e51516a2886eb66fab43f44403fd49885 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 19 Mar 2022 10:56:42 +0000 Subject: [PATCH 692/991] https://bugzilla.opensuse.org/show_bug.cgi?id=1197309 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=353 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ++++ ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 ----------- baselibs.conf | 5 +- files.container | 7 +- files.devel | 7 +- files.network | 9 -- files.systemd | 103 +++---------- files.udev | 9 +- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 + systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 - systemd.changes | 70 --------- systemd.spec | 58 +++---- 14 files changed, 162 insertions(+), 383 deletions(-) create mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch delete mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch create mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz delete mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bcd96141..bf5a21d2 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 +From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 +++++++++-- - src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 197 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 ++++++++++-- + src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 1e1967d7ea..eb81732dfa 100644 +index d0ac1b2660..cb453fa50d 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -430,6 +430,7 @@ int config_parse( static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index 1e1967d7ea..eb81732dfa 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -481,6 +482,12 @@ static int config_parse_many_files( - stats_by_path = hashmap_new(&path_hash_ops_free_free); - if (!stats_by_path) - return -ENOMEM; -+ } -+ +@@ -442,6 +443,12 @@ static int config_parse_many_files( + char **fn; + int r; + + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); + if (r < 0) + return r; - } - ++ } ++ /* First read the first found main config file. */ -@@ -521,6 +528,28 @@ static int config_parse_many_files( + STRV_FOREACH(fn, (char**) conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); +@@ -464,6 +471,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index 1e1967d7ea..eb81732dfa 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -532,15 +561,19 @@ int config_parse_many_nulstr( +@@ -475,15 +504,19 @@ int config_parse_many_nulstr( void *userdata, - Hashmap **ret_stats_by_path) { + usec_t *ret_mtime) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index 1e1967d7ea..eb81732dfa 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_stats_by_path); + ret_mtime); } -@@ -556,8 +589,8 @@ int config_parse_many( +@@ -499,8 +532,8 @@ int config_parse_many( void *userdata, - Hashmap **ret_stats_by_path) { + usec_t *ret_mtime) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index 1e1967d7ea..eb81732dfa 100644 const char *suffix; int r; -@@ -570,7 +603,12 @@ int config_parse_many( +@@ -513,7 +546,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_stats_by_path); ++ sections, lookup, table, flags, userdata, ret_mtime); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..de408272f0 100644 +index 5da864347e..77d9f28a79 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index e61932ab16..de408272f0 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tests.h" -@@ -391,4 +394,155 @@ TEST(config_parse) { - test_config_parse_one(i, config_file[i]); + #include "tmpfile-util.h" +@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { + } } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index e61932ab16..de408272f0 100644 + } +} + -+static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,61 +281,67 @@ index e61932ab16..de408272f0 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many_nulstr(bool nulstr) { ++static void test_config_parse_many(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + -+TEST(config_parse_many) { -+ test_config_parse_many_nulstr(true); -+ test_config_parse_many_nulstr(false); -+} + int main(int argc, char **argv) { + unsigned i; + +@@ -407,5 +556,8 @@ int main(int argc, char **argv) { + for (i = 0; i < ELEMENTSOF(config_file); i++) + test_config_parse(i, config_file[i]); + ++ test_config_parse_many(true); ++ test_config_parse_many(false); + - DEFINE_TEST_MAIN(LOG_INFO); + return 0; + } -- -2.34.1 +2.26.2 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 00e1cb09..8cdd1ce8 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 +From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index a9bf28f6d9..739fd84d2c 100644 +index 17e9ead9c1..7b926f9f91 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -165,6 +165,8 @@ units = [ +@@ -160,6 +160,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index a9bf28f6d9..739fd84d2c 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ['systemd-oomd.socket', 'ENABLE_OOMD'], + ] diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.34.1 +2.26.2 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch new file mode 100644 index 00000000..cb8f69a8 --- /dev/null +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -0,0 +1,29 @@ +From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 +From: Pawel Wieczorkiewicz +Date: Tue, 2 Jun 2015 13:33:24 +0000 +Subject: [PATCH 07/11] networkd: make network.service an alias of + systemd-networkd.service + +NetworkManager and wicked does this already. This is needed by yast2 +and other parts of the system. + +[fixes boo#933092] +--- + units/systemd-networkd.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in +index ffa45ba049..6a5d0dea3c 100644 +--- a/units/systemd-networkd.service.in ++++ b/units/systemd-networkd.service.in +@@ -53,6 +53,7 @@ User=systemd-network + + [Install] + WantedBy=multi-user.target ++Alias=network.service + Also=systemd-networkd.socket + Alias=dbus-org.freedesktop.network1.service + +-- +2.26.2 + diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch deleted file mode 100644 index 107b6553..00000000 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" - -This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. ---- - units/console-getty.service.in | 4 +--- - units/container-getty@.service.in | 4 +--- - units/getty@.service.in | 4 +--- - units/serial-getty@.service.in | 4 +--- - 4 files changed, 4 insertions(+), 12 deletions(-) - -diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 73871d6f50..bb67541dce 100644 ---- a/units/console-getty.service.in -+++ b/units/console-getty.service.in -@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM - Type=idle - Restart=always - UtmpIdentifier=cons --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/console - TTYReset=yes - TTYVHangup=yes -diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index a6e3f94e2a..ed1eb7bde1 100644 ---- a/units/container-getty@.service.in -+++ b/units/container-getty@.service.in -@@ -28,13 +28,11 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=pts/%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/pts/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/getty@.service.in b/units/getty@.service.in -index 21d66f9367..78deb7cffe 100644 ---- a/units/getty@.service.in -+++ b/units/getty@.service.in -@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 2433124c55..bb7af3105d 100644 ---- a/units/serial-getty@.service.in -+++ b/units/serial-getty@.service.in -@@ -33,12 +33,10 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes --- -2.34.1 - diff --git a/baselibs.conf b/baselibs.conf index d8badad8..4e056067 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,10 +2,9 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "(systemd and pam-)" + supplements "packageand(systemd:pam-)" -/lib/systemd/system/ - -/usr/lib/systemd - -/usr/lib/cryptsetup + -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/files.container b/files.container index cae9352f..faac2676 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz @@ -17,9 +17,6 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -43,8 +40,6 @@ %endif %if %{with importd} -%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index 7cd0b082..e551dc7f 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -55,7 +55,6 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz -%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz @@ -85,8 +84,6 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz -%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz -%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -429,7 +426,6 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz -%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -499,7 +495,6 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz -%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 9e3f698c..4118d63d 100644 --- a/files.network +++ b/files.network @@ -7,10 +7,6 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -19,13 +15,11 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz -%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz -%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -46,9 +40,6 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index b919c2af..8f0f173d 100644 --- a/files.systemd +++ b/files.systemd @@ -8,12 +8,11 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -21,15 +20,14 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} -%if ! %{bootstrap} -%dir %{_libdir}/cryptsetup -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -84,8 +82,6 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -117,8 +113,7 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop -%{_bindir}/systemd-creds -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -141,7 +136,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -165,29 +160,6 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif -# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 -%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -209,7 +181,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -233,6 +205,7 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -247,11 +220,6 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so -%endif -%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -267,7 +235,6 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz -%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -283,7 +250,6 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz -%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -292,10 +258,8 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz -%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz -%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -359,12 +323,8 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} -%{_mandir}/man7/linuxaa64.efi.stub.7.gz -%{_mandir}/man7/linuxia32.efi.stub.7.gz -%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz -%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -423,9 +383,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-integritysetup-generator.8.gz -%{_mandir}/man8/systemd-integritysetup.8.gz -%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -498,7 +455,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -515,7 +472,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-250.so +%{_systemd_util_dir}/libsystemd-shared-249.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -529,16 +486,13 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-integritysetup -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -562,7 +516,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -594,7 +548,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -602,12 +556,9 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-integritysetup-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -635,7 +586,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -651,7 +602,6 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target -%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -665,7 +615,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -674,10 +624,6 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target -%if ! %{bootstrap} -%{_unitdir}/integritysetup-pre.target -%{_unitdir}/integritysetup.target -%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -700,12 +646,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -729,14 +675,11 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/integritysetup.target -%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -760,11 +703,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -782,7 +725,6 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service -%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -842,11 +784,10 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 52a309e6..4f75bcc9 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -70,8 +70,6 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb -%{_udevhwdbdir}/70-analyzers.hwdb -%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -94,7 +92,6 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules -%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz new file mode 100644 index 00000000..fdcaf7f0 --- /dev/null +++ b/systemd-v249.10+suse.86.g0bb1977021.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 +size 7281992 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz deleted file mode 100644 index d2bee6fe..00000000 --- a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 -size 7626056 diff --git a/systemd.changes b/systemd.changes index 82a330ca..7c998920 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,73 +1,3 @@ -------------------------------------------------------------------- -Thu Mar 17 10:38:16 UTC 2022 - Franck Bui - -- Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch - - A temporary workaround until bsc#1197178 is resolved. - -------------------------------------------------------------------- -Wed Mar 16 20:50:35 UTC 2022 - Franck Bui - -- Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) - - For a complete list of changes, visit: - https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 - -------------------------------------------------------------------- -Wed Mar 16 20:36:36 UTC 2022 - Franck Bui - -- Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a - - 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set - d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd - 78c2766689 journal-file: explicitly handle file systems that do not support hole punching - 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() - c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before - d3fbd20628 journal: various fixes to journal_file_read_object() - 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES - 27746408e2 journal: Truncate file instead of punching hole in final object - 59b6130030 shared: Ensure COPY_HOLES copies trailing holes - ac9ccba73f journal: stat journal file after truncating - 0257283444 journal: Copy holes when archiving BTRFS journal files - 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() - 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() - af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) - -------------------------------------------------------------------- -Sat Mar 12 12:57:26 UTC 2022 - Callum Farmer - -- Update Supplements to new format in baselibs.conf -- Fix libsystemd-shared exclusion in baselibs.conf -- Exclude new cryptsetup libraries in baselibs.conf - -------------------------------------------------------------------- -Tue Mar 8 19:08:03 UTC 2022 - Franck Bui - -- systemd.spec: minor simplification by assuming that %{bootstrap} is always - defined. - -------------------------------------------------------------------- -Tue Mar 8 17:50:57 UTC 2022 - Franck Bui - -- Make sure to create 'systemd-coredump' system user when systemd-coredump is - installed (follow-up for the split of the sysusers config files). - -------------------------------------------------------------------- -Tue Mar 8 09:41:42 UTC 2022 - Franck Bui - -- Upgrade to v250.3 (commit dbd8bd2b9fd827ca89ed18034b60703c95798e01) - - See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for - details. - - * Rebased 0001-conf-parser-introduce-early-drop-ins.patch - 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch - -- Dropped 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch - - The alias makes little sense as soon as multiple network managers are used in - parallel. - ------------------------------------------------------------------- Tue Mar 8 07:41:41 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c1daf61f..31ea93ca 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.35.g8ef8dfd540 +%define suse_version +suse.86.g0bb1977021 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -37,7 +37,7 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if %{bootstrap} +%if 0%{?bootstrap} %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -71,12 +71,12 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.4 +Version: 249.10 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! %{bootstrap} +%if ! 0%{?bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -132,7 +132,7 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 BuildRequires: gnu-efi %endif -%if %{bootstrap} +%if 0%{?bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -215,16 +215,12 @@ Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -%if %{with sysvcompat} +Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch -%endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -# Temporary workaround until bsc#1197178 is addressed. -Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch - # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git # repository. But in very few cases, some stuff might be broken in @@ -245,7 +241,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -263,7 +259,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if %{bootstrap} +%if 0%{?bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -296,7 +292,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -342,7 +338,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -357,7 +353,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -391,7 +387,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if %{bootstrap} +%if 0%{?bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -462,7 +458,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -629,7 +625,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %lang_package %endif @@ -674,7 +670,7 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if %{bootstrap} +%if 0%{?bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ @@ -694,7 +690,6 @@ Have fun with these services at your own risk. \ -Defi=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ - -Dsbat-distro= \ \ -Dresolve=%{when resolved} \ -Ddns-servers='' \ @@ -918,7 +913,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %find_lang systemd %endif @@ -947,7 +942,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! %{bootstrap} +%if ! 0%{?bootstrap} pam-config --add --systemd || : %endif @@ -1130,12 +1125,7 @@ fi %ldconfig %endif -%if %{with coredump} -%post coredump -%sysusers_create systemd-coredump.conf -%endif - -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1280,13 +1270,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.33.0 +%{_libdir}/libsystemd.so.0.32.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.3 +%{_libdir}/libudev.so.1.7.2 %if %{with coredump} %files coredump @@ -1299,14 +1289,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %files lang -f systemd.lang %files -n nss-myhostname @@ -1393,10 +1383,6 @@ fi %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service %{_pam_moduledir}/pam_systemd_home.so -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From 9c792eff33277dcbb29a26afd85cf9756805cd298ad266b027b7fa66312e1e7e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 23 Mar 2022 15:18:40 +0000 Subject: [PATCH 693/991] - spec: cope with %{_modprobedir} being /lib/modprobe.d on SLE OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1266 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ++++ ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 ----------- baselibs.conf | 5 +- files.container | 7 +- files.devel | 7 +- files.network | 9 -- files.systemd | 103 +++---------- files.udev | 9 +- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 + systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 - systemd.changes | 5 + systemd.spec | 5 + 14 files changed, 150 insertions(+), 277 deletions(-) create mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch delete mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch create mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz delete mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bcd96141..bf5a21d2 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 +From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 +++++++++-- - src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 197 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 ++++++++++-- + src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 1e1967d7ea..eb81732dfa 100644 +index d0ac1b2660..cb453fa50d 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -430,6 +430,7 @@ int config_parse( static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index 1e1967d7ea..eb81732dfa 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -481,6 +482,12 @@ static int config_parse_many_files( - stats_by_path = hashmap_new(&path_hash_ops_free_free); - if (!stats_by_path) - return -ENOMEM; -+ } -+ +@@ -442,6 +443,12 @@ static int config_parse_many_files( + char **fn; + int r; + + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); + if (r < 0) + return r; - } - ++ } ++ /* First read the first found main config file. */ -@@ -521,6 +528,28 @@ static int config_parse_many_files( + STRV_FOREACH(fn, (char**) conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); +@@ -464,6 +471,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index 1e1967d7ea..eb81732dfa 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -532,15 +561,19 @@ int config_parse_many_nulstr( +@@ -475,15 +504,19 @@ int config_parse_many_nulstr( void *userdata, - Hashmap **ret_stats_by_path) { + usec_t *ret_mtime) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index 1e1967d7ea..eb81732dfa 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_stats_by_path); + ret_mtime); } -@@ -556,8 +589,8 @@ int config_parse_many( +@@ -499,8 +532,8 @@ int config_parse_many( void *userdata, - Hashmap **ret_stats_by_path) { + usec_t *ret_mtime) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index 1e1967d7ea..eb81732dfa 100644 const char *suffix; int r; -@@ -570,7 +603,12 @@ int config_parse_many( +@@ -513,7 +546,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_stats_by_path); ++ sections, lookup, table, flags, userdata, ret_mtime); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..de408272f0 100644 +index 5da864347e..77d9f28a79 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index e61932ab16..de408272f0 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tests.h" -@@ -391,4 +394,155 @@ TEST(config_parse) { - test_config_parse_one(i, config_file[i]); + #include "tmpfile-util.h" +@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { + } } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index e61932ab16..de408272f0 100644 + } +} + -+static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,61 +281,67 @@ index e61932ab16..de408272f0 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many_nulstr(bool nulstr) { ++static void test_config_parse_many(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + -+TEST(config_parse_many) { -+ test_config_parse_many_nulstr(true); -+ test_config_parse_many_nulstr(false); -+} + int main(int argc, char **argv) { + unsigned i; + +@@ -407,5 +556,8 @@ int main(int argc, char **argv) { + for (i = 0; i < ELEMENTSOF(config_file); i++) + test_config_parse(i, config_file[i]); + ++ test_config_parse_many(true); ++ test_config_parse_many(false); + - DEFINE_TEST_MAIN(LOG_INFO); + return 0; + } -- -2.34.1 +2.26.2 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 00e1cb09..8cdd1ce8 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 +From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index a9bf28f6d9..739fd84d2c 100644 +index 17e9ead9c1..7b926f9f91 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -165,6 +165,8 @@ units = [ +@@ -160,6 +160,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index a9bf28f6d9..739fd84d2c 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ['systemd-oomd.socket', 'ENABLE_OOMD'], + ] diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.34.1 +2.26.2 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch new file mode 100644 index 00000000..cb8f69a8 --- /dev/null +++ b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch @@ -0,0 +1,29 @@ +From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 +From: Pawel Wieczorkiewicz +Date: Tue, 2 Jun 2015 13:33:24 +0000 +Subject: [PATCH 07/11] networkd: make network.service an alias of + systemd-networkd.service + +NetworkManager and wicked does this already. This is needed by yast2 +and other parts of the system. + +[fixes boo#933092] +--- + units/systemd-networkd.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in +index ffa45ba049..6a5d0dea3c 100644 +--- a/units/systemd-networkd.service.in ++++ b/units/systemd-networkd.service.in +@@ -53,6 +53,7 @@ User=systemd-network + + [Install] + WantedBy=multi-user.target ++Alias=network.service + Also=systemd-networkd.socket + Alias=dbus-org.freedesktop.network1.service + +-- +2.26.2 + diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch deleted file mode 100644 index 107b6553..00000000 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" - -This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. ---- - units/console-getty.service.in | 4 +--- - units/container-getty@.service.in | 4 +--- - units/getty@.service.in | 4 +--- - units/serial-getty@.service.in | 4 +--- - 4 files changed, 4 insertions(+), 12 deletions(-) - -diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 73871d6f50..bb67541dce 100644 ---- a/units/console-getty.service.in -+++ b/units/console-getty.service.in -@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM - Type=idle - Restart=always - UtmpIdentifier=cons --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/console - TTYReset=yes - TTYVHangup=yes -diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index a6e3f94e2a..ed1eb7bde1 100644 ---- a/units/container-getty@.service.in -+++ b/units/container-getty@.service.in -@@ -28,13 +28,11 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=pts/%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/pts/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/getty@.service.in b/units/getty@.service.in -index 21d66f9367..78deb7cffe 100644 ---- a/units/getty@.service.in -+++ b/units/getty@.service.in -@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 2433124c55..bb7af3105d 100644 ---- a/units/serial-getty@.service.in -+++ b/units/serial-getty@.service.in -@@ -33,12 +33,10 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes --- -2.34.1 - diff --git a/baselibs.conf b/baselibs.conf index d8badad8..4e056067 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,10 +2,9 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "(systemd and pam-)" + supplements "packageand(systemd:pam-)" -/lib/systemd/system/ - -/usr/lib/systemd - -/usr/lib/cryptsetup + -/usr/lib/systemd/libsystemd-shared.*\.so post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/files.container b/files.container index cae9352f..faac2676 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz @@ -17,9 +17,6 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -43,8 +40,6 @@ %endif %if %{with importd} -%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index 7cd0b082..e551dc7f 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -55,7 +55,6 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz -%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz @@ -85,8 +84,6 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz -%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz -%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -429,7 +426,6 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz -%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -499,7 +495,6 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz -%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 9e3f698c..4118d63d 100644 --- a/files.network +++ b/files.network @@ -7,10 +7,6 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -19,13 +15,11 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz -%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz -%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -46,9 +40,6 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index b919c2af..8f0f173d 100644 --- a/files.systemd +++ b/files.systemd @@ -8,12 +8,11 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -21,15 +20,14 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} -%if ! %{bootstrap} -%dir %{_libdir}/cryptsetup -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -84,8 +82,6 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -117,8 +113,7 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop -%{_bindir}/systemd-creds -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -141,7 +136,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -165,29 +160,6 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif -# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 -%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -209,7 +181,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -233,6 +205,7 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -247,11 +220,6 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so -%endif -%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -267,7 +235,6 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz -%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -283,7 +250,6 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz -%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -292,10 +258,8 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz -%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz -%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -359,12 +323,8 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} -%{_mandir}/man7/linuxaa64.efi.stub.7.gz -%{_mandir}/man7/linuxia32.efi.stub.7.gz -%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz -%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -423,9 +383,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-integritysetup-generator.8.gz -%{_mandir}/man8/systemd-integritysetup.8.gz -%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -498,7 +455,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -515,7 +472,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-250.so +%{_systemd_util_dir}/libsystemd-shared-249.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -529,16 +486,13 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-integritysetup -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -562,7 +516,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -594,7 +548,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -602,12 +556,9 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-integritysetup-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -635,7 +586,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -651,7 +602,6 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target -%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -665,7 +615,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -674,10 +624,6 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target -%if ! %{bootstrap} -%{_unitdir}/integritysetup-pre.target -%{_unitdir}/integritysetup.target -%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -700,12 +646,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -729,14 +675,11 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/integritysetup.target -%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -760,11 +703,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -782,7 +725,6 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service -%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -842,11 +784,10 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 52a309e6..4f75bcc9 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! %{bootstrap} +%if ! 0%{?bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -70,8 +70,6 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb -%{_udevhwdbdir}/70-analyzers.hwdb -%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -94,7 +92,6 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules -%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz new file mode 100644 index 00000000..fdcaf7f0 --- /dev/null +++ b/systemd-v249.10+suse.86.g0bb1977021.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 +size 7281992 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz deleted file mode 100644 index d2bee6fe..00000000 --- a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 -size 7626056 diff --git a/systemd.changes b/systemd.changes index 82a330ca..e8567d8a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Mar 23 15:17:40 UTC 2022 - Franck Bui + +- spec: cope with %{_modprobedir} being /lib/modprobe.d on SLE + ------------------------------------------------------------------- Thu Mar 17 10:38:16 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c1daf61f..464b6839 100644 --- a/systemd.spec +++ b/systemd.spec @@ -764,6 +764,11 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} +# kmod keeps insisting on using /lib on SLE. +if [ "%{_modprobedir}" != /usr/lib/modprobe.d ]; then + mv %{buildroot}/usr/lib/modprobe.d %{buildroot}%{_modprobedir} +fi + # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path From 98421d83470a30b206e5c9dce39f7dc7989d806a6d0ce4a9cf3bfff3f07fb1a7 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 28 Mar 2022 14:58:41 +0000 Subject: [PATCH 694/991] Accepting request 964674 from Base:System - spec: cope with %{_modprobedir} being /lib/modprobe.d on SLE - Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch A temporary workaround until bsc#1197178 is resolved. - Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 - Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd 78c2766689 journal-file: explicitly handle file systems that do not support hole punching 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before d3fbd20628 journal: various fixes to journal_file_read_object() 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES 27746408e2 journal: Truncate file instead of punching hole in final object 59b6130030 shared: Ensure COPY_HOLES copies trailing holes ac9ccba73f journal: stat journal file after truncating 0257283444 journal: Copy holes when archiving BTRFS journal files 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) - Update Supplements to new format in baselibs.conf - Fix libsystemd-shared exclusion in baselibs.conf - Exclude new cryptsetup libraries in baselibs.conf - systemd.spec: minor simplification by assuming that %{bootstrap} is always OBS-URL: https://build.opensuse.org/request/show/964674 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=354 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ---- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 +++++++++++ baselibs.conf | 5 +- files.container | 7 +- files.devel | 7 +- files.network | 9 ++ files.systemd | 103 ++++++++++--- files.udev | 9 +- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 - systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 + systemd.changes | 75 +++++++++ systemd.spec | 63 +++++--- 14 files changed, 393 insertions(+), 162 deletions(-) delete mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch create mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch delete mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz create mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bf5a21d2..bcd96141 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 +From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 ++++++++++-- - src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 195 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 +++++++++-- + src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 197 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index d0ac1b2660..cb453fa50d 100644 +index 1e1967d7ea..eb81732dfa 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -430,6 +430,7 @@ int config_parse( +@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index d0ac1b2660..cb453fa50d 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -442,6 +443,12 @@ static int config_parse_many_files( - char **fn; - int r; - +@@ -481,6 +482,12 @@ static int config_parse_many_files( + stats_by_path = hashmap_new(&path_hash_ops_free_free); + if (!stats_by_path) + return -ENOMEM; ++ } ++ + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); + if (r < 0) + return r; -+ } -+ + } + /* First read the first found main config file. */ - STRV_FOREACH(fn, (char**) conf_files) { - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); -@@ -464,6 +471,28 @@ static int config_parse_many_files( +@@ -521,6 +528,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index d0ac1b2660..cb453fa50d 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -475,15 +504,19 @@ int config_parse_many_nulstr( +@@ -532,15 +561,19 @@ int config_parse_many_nulstr( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index d0ac1b2660..cb453fa50d 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_mtime); + ret_stats_by_path); } -@@ -499,8 +532,8 @@ int config_parse_many( +@@ -556,8 +589,8 @@ int config_parse_many( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index d0ac1b2660..cb453fa50d 100644 const char *suffix; int r; -@@ -513,7 +546,12 @@ int config_parse_many( +@@ -570,7 +603,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_mtime); ++ sections, lookup, table, flags, userdata, ret_stats_by_path); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 5da864347e..77d9f28a79 100644 +index e61932ab16..de408272f0 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index 5da864347e..77d9f28a79 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tmpfile-util.h" -@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { - } + #include "tests.h" +@@ -391,4 +394,155 @@ TEST(config_parse) { + test_config_parse_one(i, config_file[i]); } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index 5da864347e..77d9f28a79 100644 + } +} + -+static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,67 +281,61 @@ index 5da864347e..77d9f28a79 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many(bool nulstr) { ++static void test_config_parse_many_nulstr(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + - int main(int argc, char **argv) { - unsigned i; - -@@ -407,5 +556,8 @@ int main(int argc, char **argv) { - for (i = 0; i < ELEMENTSOF(config_file); i++) - test_config_parse(i, config_file[i]); - -+ test_config_parse_many(true); -+ test_config_parse_many(false); ++TEST(config_parse_many) { ++ test_config_parse_many_nulstr(true); ++ test_config_parse_many_nulstr(false); ++} + - return 0; - } + DEFINE_TEST_MAIN(LOG_INFO); -- -2.26.2 +2.34.1 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 8cdd1ce8..00e1cb09 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 +From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index 17e9ead9c1..7b926f9f91 100644 +index a9bf28f6d9..739fd84d2c 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -160,6 +160,8 @@ units = [ +@@ -165,6 +165,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index 17e9ead9c1..7b926f9f91 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ] + ['systemd-oomd.socket', 'ENABLE_OOMD'], diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.26.2 +2.34.1 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch deleted file mode 100644 index cb8f69a8..00000000 --- a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 -From: Pawel Wieczorkiewicz -Date: Tue, 2 Jun 2015 13:33:24 +0000 -Subject: [PATCH 07/11] networkd: make network.service an alias of - systemd-networkd.service - -NetworkManager and wicked does this already. This is needed by yast2 -and other parts of the system. - -[fixes boo#933092] ---- - units/systemd-networkd.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in -index ffa45ba049..6a5d0dea3c 100644 ---- a/units/systemd-networkd.service.in -+++ b/units/systemd-networkd.service.in -@@ -53,6 +53,7 @@ User=systemd-network - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket - Alias=dbus-org.freedesktop.network1.service - --- -2.26.2 - diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch new file mode 100644 index 00000000..107b6553 --- /dev/null +++ b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -0,0 +1,90 @@ +From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 17 Mar 2022 11:35:33 +0100 +Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" + +This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. +--- + units/console-getty.service.in | 4 +--- + units/container-getty@.service.in | 4 +--- + units/getty@.service.in | 4 +--- + units/serial-getty@.service.in | 4 +--- + 4 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/units/console-getty.service.in b/units/console-getty.service.in +index 73871d6f50..bb67541dce 100644 +--- a/units/console-getty.service.in ++++ b/units/console-getty.service.in +@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM + Type=idle + Restart=always + UtmpIdentifier=cons +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/console + TTYReset=yes + TTYVHangup=yes +diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in +index a6e3f94e2a..ed1eb7bde1 100644 +--- a/units/container-getty@.service.in ++++ b/units/container-getty@.service.in +@@ -28,13 +28,11 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=pts/%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/pts/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/getty@.service.in b/units/getty@.service.in +index 21d66f9367..78deb7cffe 100644 +--- a/units/getty@.service.in ++++ b/units/getty@.service.in +@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in +index 2433124c55..bb7af3105d 100644 +--- a/units/serial-getty@.service.in ++++ b/units/serial-getty@.service.in +@@ -33,12 +33,10 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM + Type=idle + Restart=always + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +-- +2.34.1 + diff --git a/baselibs.conf b/baselibs.conf index 4e056067..d8badad8 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,9 +2,10 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "packageand(systemd:pam-)" + supplements "(systemd and pam-)" -/lib/systemd/system/ - -/usr/lib/systemd/libsystemd-shared.*\.so + -/usr/lib/systemd + -/usr/lib/cryptsetup post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/files.container b/files.container index faac2676..cae9352f 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz @@ -17,6 +17,9 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -40,6 +43,8 @@ %endif %if %{with importd} +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index e551dc7f..7cd0b082 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -55,6 +55,7 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz @@ -84,6 +85,8 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz +%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -426,6 +429,7 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -495,6 +499,7 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 4118d63d..9e3f698c 100644 --- a/files.network +++ b/files.network @@ -7,6 +7,10 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -15,11 +19,13 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz +%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -40,6 +46,9 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index 8f0f173d..b919c2af 100644 --- a/files.systemd +++ b/files.systemd @@ -8,11 +8,12 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -20,14 +21,15 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} +%if ! %{bootstrap} +%dir %{_libdir}/cryptsetup +%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -82,6 +84,8 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -113,7 +117,8 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop -%if ! 0%{?bootstrap} +%{_bindir}/systemd-creds +%if ! %{bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -136,7 +141,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -160,6 +165,29 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif +# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 +%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -181,7 +209,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -205,7 +233,6 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -220,6 +247,11 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%endif +%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -235,6 +267,7 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz +%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -250,6 +283,7 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz +%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -258,8 +292,10 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz +%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz +%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -323,8 +359,12 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} +%{_mandir}/man7/linuxaa64.efi.stub.7.gz +%{_mandir}/man7/linuxia32.efi.stub.7.gz +%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz +%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -383,6 +423,9 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz +%{_mandir}/man8/systemd-integritysetup-generator.8.gz +%{_mandir}/man8/systemd-integritysetup.8.gz +%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -455,7 +498,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.d/00-entry-directory.install +%{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -472,7 +515,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-249.so +%{_systemd_util_dir}/libsystemd-shared-250.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -486,13 +529,16 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-integritysetup +%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -516,7 +562,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -548,7 +594,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -556,9 +602,12 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-integritysetup-generator +%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -586,7 +635,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -602,6 +651,7 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target +%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -615,7 +665,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -624,6 +674,10 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target +%if ! %{bootstrap} +%{_unitdir}/integritysetup-pre.target +%{_unitdir}/integritysetup.target +%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -646,12 +700,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -675,11 +729,14 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/integritysetup.target +%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -703,11 +760,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -725,6 +782,7 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -784,10 +842,11 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 4f75bcc9..52a309e6 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -70,6 +70,8 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb +%{_udevhwdbdir}/70-analyzers.hwdb +%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -92,6 +94,7 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules +%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz deleted file mode 100644 index fdcaf7f0..00000000 --- a/systemd-v249.10+suse.86.g0bb1977021.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 -size 7281992 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz new file mode 100644 index 00000000..d2bee6fe --- /dev/null +++ b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 +size 7626056 diff --git a/systemd.changes b/systemd.changes index 7c998920..e8567d8a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,78 @@ +------------------------------------------------------------------- +Wed Mar 23 15:17:40 UTC 2022 - Franck Bui + +- spec: cope with %{_modprobedir} being /lib/modprobe.d on SLE + +------------------------------------------------------------------- +Thu Mar 17 10:38:16 UTC 2022 - Franck Bui + +- Add 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + A temporary workaround until bsc#1197178 is resolved. + +------------------------------------------------------------------- +Wed Mar 16 20:50:35 UTC 2022 - Franck Bui + +- Import commit 8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 (merge of v250.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a...8ef8dfd5401ba18caec59e54a05af9f2e0d7ac65 + +------------------------------------------------------------------- +Wed Mar 16 20:36:36 UTC 2022 - Franck Bui + +- Import commit ca89b1d1fd1ae86cc1e763d2d01ec2806f3a4d3a + + 37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set + d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd + 78c2766689 journal-file: explicitly handle file systems that do not support hole punching + 7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes() + c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before + d3fbd20628 journal: various fixes to journal_file_read_object() + 5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES + 27746408e2 journal: Truncate file instead of punching hole in final object + 59b6130030 shared: Ensure COPY_HOLES copies trailing holes + ac9ccba73f journal: stat journal file after truncating + 0257283444 journal: Copy holes when archiving BTRFS journal files + 26c2a9952d shared: Copy holes in sparse files in copy_bytes_full() + 6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full() + af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529) + +------------------------------------------------------------------- +Sat Mar 12 12:57:26 UTC 2022 - Callum Farmer + +- Update Supplements to new format in baselibs.conf +- Fix libsystemd-shared exclusion in baselibs.conf +- Exclude new cryptsetup libraries in baselibs.conf + +------------------------------------------------------------------- +Tue Mar 8 19:08:03 UTC 2022 - Franck Bui + +- systemd.spec: minor simplification by assuming that %{bootstrap} is always + defined. + +------------------------------------------------------------------- +Tue Mar 8 17:50:57 UTC 2022 - Franck Bui + +- Make sure to create 'systemd-coredump' system user when systemd-coredump is + installed (follow-up for the split of the sysusers config files). + +------------------------------------------------------------------- +Tue Mar 8 09:41:42 UTC 2022 - Franck Bui + +- Upgrade to v250.3 (commit dbd8bd2b9fd827ca89ed18034b60703c95798e01) + + See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for + details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch + +- Dropped 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch + + The alias makes little sense as soon as multiple network managers are used in + parallel. + ------------------------------------------------------------------- Tue Mar 8 07:41:41 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 31ea93ca..464b6839 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ %endif %define min_kernel_version 4.5 -%define suse_version +suse.86.g0bb1977021 +%define suse_version +suse.35.g8ef8dfd540 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -37,7 +37,7 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if 0%{?bootstrap} +%if %{bootstrap} %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -71,12 +71,12 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 249.10 +Version: 250.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! 0%{?bootstrap} +%if ! %{bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -132,7 +132,7 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 BuildRequires: gnu-efi %endif -%if 0%{?bootstrap} +%if %{bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -215,12 +215,16 @@ Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch -Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +%if %{with sysvcompat} Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +%endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +# Temporary workaround until bsc#1197178 is addressed. +Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git # repository. But in very few cases, some stuff might be broken in @@ -241,7 +245,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -259,7 +263,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if 0%{?bootstrap} +%if %{bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -292,7 +296,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -338,7 +342,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -353,7 +357,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -387,7 +391,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if 0%{?bootstrap} +%if %{bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -458,7 +462,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -625,7 +629,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %lang_package %endif @@ -670,7 +674,7 @@ Have fun with these services at your own risk. -Dima=false \ -Delfutils=auto \ -Doomd=false \ -%if 0%{?bootstrap} +%if %{bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ @@ -690,6 +694,7 @@ Have fun with these services at your own risk. \ -Defi=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ + -Dsbat-distro= \ \ -Dresolve=%{when resolved} \ -Ddns-servers='' \ @@ -759,6 +764,11 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} +# kmod keeps insisting on using /lib on SLE. +if [ "%{_modprobedir}" != /usr/lib/modprobe.d ]; then + mv %{buildroot}/usr/lib/modprobe.d %{buildroot}%{_modprobedir} +fi + # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -913,7 +923,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %find_lang systemd %endif @@ -942,7 +952,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! 0%{?bootstrap} +%if ! %{bootstrap} pam-config --add --systemd || : %endif @@ -1125,7 +1135,12 @@ fi %ldconfig %endif -%if ! 0%{?bootstrap} +%if %{with coredump} +%post coredump +%sysusers_create systemd-coredump.conf +%endif + +%if ! %{bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1270,13 +1285,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.32.0 +%{_libdir}/libsystemd.so.0.33.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.2 +%{_libdir}/libudev.so.1.7.3 %if %{with coredump} %files coredump @@ -1289,14 +1304,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %files lang -f systemd.lang %files -n nss-myhostname @@ -1383,6 +1398,10 @@ fi %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-homed-activate.service %{_pam_moduledir}/pam_systemd_home.so +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy From 47ed0ef4269b0418ed55708e6758f3aa720e981ddb47cf5ed19a909d7de5f86f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 28 Mar 2022 19:03:59 +0000 Subject: [PATCH 695/991] - spec: enable 'efi' support regardless of whether sd_boot is enabled or not We should support EFI systems even if systemd-boot is not enabled. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1267 --- ...conf-parser-introduce-early-drop-ins.patch | 142 +++++++++--------- ...and-var-lock-bind-mount-if-they-aren.patch | 10 +- ...twork.service-an-alias-of-systemd-ne.patch | 29 ---- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 +++++++++++ baselibs.conf | 5 +- files.container | 7 +- files.devel | 7 +- files.network | 9 ++ files.systemd | 103 ++++++++++--- files.udev | 9 +- systemd-v249.10+suse.86.g0bb1977021.tar.xz | 3 - systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 + systemd.changes | 7 + systemd.spec | 4 +- 14 files changed, 287 insertions(+), 141 deletions(-) delete mode 100644 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch create mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch delete mode 100644 systemd-v249.10+suse.86.g0bb1977021.tar.xz create mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bf5a21d2..bcd96141 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 4ff82a9455d7b6672e79f2938728a3a8299c3158 Mon Sep 17 00:00:00 2001 +From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 ++++++++++-- - src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 195 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 48 +++++++++-- + src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 197 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index d0ac1b2660..cb453fa50d 100644 +index 1e1967d7ea..eb81732dfa 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -430,6 +430,7 @@ int config_parse( +@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, static int config_parse_many_files( const char* const* conf_files, @@ -77,20 +77,20 @@ index d0ac1b2660..cb453fa50d 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -442,6 +443,12 @@ static int config_parse_many_files( - char **fn; - int r; - +@@ -481,6 +482,12 @@ static int config_parse_many_files( + stats_by_path = hashmap_new(&path_hash_ops_free_free); + if (!stats_by_path) + return -ENOMEM; ++ } ++ + STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); ++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); + if (r < 0) + return r; -+ } -+ + } + /* First read the first found main config file. */ - STRV_FOREACH(fn, (char**) conf_files) { - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime); -@@ -464,6 +471,28 @@ static int config_parse_many_files( +@@ -521,6 +528,28 @@ static int config_parse_many_files( return 0; } @@ -119,9 +119,9 @@ index d0ac1b2660..cb453fa50d 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -475,15 +504,19 @@ int config_parse_many_nulstr( +@@ -532,15 +561,19 @@ int config_parse_many_nulstr( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { - _cleanup_strv_free_ char **files = NULL; + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; @@ -139,12 +139,12 @@ index d0ac1b2660..cb453fa50d 100644 + + return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, + sections, lookup, table, flags, userdata, - ret_mtime); + ret_stats_by_path); } -@@ -499,8 +532,8 @@ int config_parse_many( +@@ -556,8 +589,8 @@ int config_parse_many( void *userdata, - usec_t *ret_mtime) { + Hashmap **ret_stats_by_path) { + _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **dropin_dirs = NULL; @@ -152,22 +152,22 @@ index d0ac1b2660..cb453fa50d 100644 const char *suffix; int r; -@@ -513,7 +546,12 @@ int config_parse_many( +@@ -570,7 +603,12 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime); +- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); + r = config_parse_split_conf_files(files, &early_files, &late_files); + if (r < 0) + return r; + + return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_mtime); ++ sections, lookup, table, flags, userdata, ret_stats_by_path); } #define DEFINE_PARSER(type, vartype, conv_func) \ diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 5da864347e..77d9f28a79 100644 +index e61932ab16..de408272f0 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -179,9 +179,9 @@ index 5da864347e..77d9f28a79 100644 +#include "rm-rf.h" #include "string-util.h" #include "strv.h" - #include "tmpfile-util.h" -@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) { - } + #include "tests.h" +@@ -391,4 +394,155 @@ TEST(config_parse) { + test_config_parse_one(i, config_file[i]); } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { @@ -228,8 +228,8 @@ index 5da864347e..77d9f28a79 100644 + } +} + -+static void test_config_parse_many_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, ++ const char *name, const char *early, const char *late) { + + _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; @@ -281,67 +281,61 @@ index 5da864347e..77d9f28a79 100644 + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many(bool nulstr) { ++static void test_config_parse_many_nulstr(bool nulstr) { + log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); + -+ test_config_parse_many_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/main.conf", NULL, ++ "dir/main.conf", NULL, NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); + -+ test_config_parse_many_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); ++ test_config_parse_many_nulstr_one(nulstr, ++ "dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", ++ "dir2/10-foo.conf"), ++ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); +} + - int main(int argc, char **argv) { - unsigned i; - -@@ -407,5 +556,8 @@ int main(int argc, char **argv) { - for (i = 0; i < ELEMENTSOF(config_file); i++) - test_config_parse(i, config_file[i]); - -+ test_config_parse_many(true); -+ test_config_parse_many(false); ++TEST(config_parse_many) { ++ test_config_parse_many_nulstr(true); ++ test_config_parse_many_nulstr(false); ++} + - return 0; - } + DEFINE_TEST_MAIN(LOG_INFO); -- -2.26.2 +2.34.1 diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch index 8cdd1ce8..00e1cb09 100644 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch @@ -1,4 +1,4 @@ -From e78660b66efc6ab28b655ca584315504b76cb4dc Mon Sep 17 00:00:00 2001 +From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they @@ -13,10 +13,10 @@ Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they create mode 100644 units/var-run.mount diff --git a/units/meson.build b/units/meson.build -index 17e9ead9c1..7b926f9f91 100644 +index a9bf28f6d9..739fd84d2c 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -160,6 +160,8 @@ units = [ +@@ -165,6 +165,8 @@ units = [ ['umount.target', ''], ['usb-gadget.target', ''], ['user.slice', ''], @@ -24,7 +24,7 @@ index 17e9ead9c1..7b926f9f91 100644 + ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], ['var-lib-machines.mount', 'ENABLE_MACHINED', 'remote-fs.target.wants/ machines.target.wants/'], - ] + ['systemd-oomd.socket', 'ENABLE_OOMD'], diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000000..07277adac3 @@ -76,5 +76,5 @@ index 0000000000..ab4da424c9 +Type=bind +Options=bind -- -2.26.2 +2.34.1 diff --git a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch b/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch deleted file mode 100644 index cb8f69a8..00000000 --- a/0007-networkd-make-network.service-an-alias-of-systemd-ne.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 533a1b6996c3d99cf27ae05f0cd8131dcd9bbf30 Mon Sep 17 00:00:00 2001 -From: Pawel Wieczorkiewicz -Date: Tue, 2 Jun 2015 13:33:24 +0000 -Subject: [PATCH 07/11] networkd: make network.service an alias of - systemd-networkd.service - -NetworkManager and wicked does this already. This is needed by yast2 -and other parts of the system. - -[fixes boo#933092] ---- - units/systemd-networkd.service.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/units/systemd-networkd.service.in b/units/systemd-networkd.service.in -index ffa45ba049..6a5d0dea3c 100644 ---- a/units/systemd-networkd.service.in -+++ b/units/systemd-networkd.service.in -@@ -53,6 +53,7 @@ User=systemd-network - - [Install] - WantedBy=multi-user.target -+Alias=network.service - Also=systemd-networkd.socket - Alias=dbus-org.freedesktop.network1.service - --- -2.26.2 - diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch new file mode 100644 index 00000000..107b6553 --- /dev/null +++ b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -0,0 +1,90 @@ +From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 17 Mar 2022 11:35:33 +0100 +Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" + +This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. +--- + units/console-getty.service.in | 4 +--- + units/container-getty@.service.in | 4 +--- + units/getty@.service.in | 4 +--- + units/serial-getty@.service.in | 4 +--- + 4 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/units/console-getty.service.in b/units/console-getty.service.in +index 73871d6f50..bb67541dce 100644 +--- a/units/console-getty.service.in ++++ b/units/console-getty.service.in +@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM + Type=idle + Restart=always + UtmpIdentifier=cons +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/console + TTYReset=yes + TTYVHangup=yes +diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in +index a6e3f94e2a..ed1eb7bde1 100644 +--- a/units/container-getty@.service.in ++++ b/units/container-getty@.service.in +@@ -28,13 +28,11 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=pts/%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/pts/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/getty@.service.in b/units/getty@.service.in +index 21d66f9367..78deb7cffe 100644 +--- a/units/getty@.service.in ++++ b/units/getty@.service.in +@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM + Type=idle + Restart=always + RestartSec=0 + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in +index 2433124c55..bb7af3105d 100644 +--- a/units/serial-getty@.service.in ++++ b/units/serial-getty@.service.in +@@ -33,12 +33,10 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM + Type=idle + Restart=always + UtmpIdentifier=%I +-StandardInput=tty +-StandardOutput=tty + TTYPath=/dev/%I + TTYReset=yes + TTYVHangup=yes +-- +2.34.1 + diff --git a/baselibs.conf b/baselibs.conf index 4e056067..d8badad8 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -2,9 +2,10 @@ # https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart # systemd - supplements "packageand(systemd:pam-)" + supplements "(systemd and pam-)" -/lib/systemd/system/ - -/usr/lib/systemd/libsystemd-shared.*\.so + -/usr/lib/systemd + -/usr/lib/cryptsetup post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/files.container b/files.container index faac2676..cae9352f 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz @@ -17,6 +17,9 @@ %dir %{_unitdir}/machines.target.wants %{_bindir}/machinectl %{_datadir}/bash-completion/completions/machinectl +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy @@ -40,6 +43,8 @@ %endif %if %{with importd} +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy diff --git a/files.devel b/files.devel index e551dc7f..7cd0b082 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -55,6 +55,7 @@ %{_mandir}/man3/SD_BUS_PROPERTY.3.gz %{_mandir}/man3/SD_BUS_SIGNAL.3.gz %{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz %{_mandir}/man3/SD_BUS_VTABLE_END.3.gz %{_mandir}/man3/SD_BUS_VTABLE_START.3.gz %{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz @@ -84,6 +85,8 @@ %{_mandir}/man3/SD_ID128_MAKE_STR.3.gz %{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz %{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz +%{_mandir}/man3/SD_ID128_TO_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz @@ -426,6 +429,7 @@ %{_mandir}/man3/sd_event_add_defer.3.gz %{_mandir}/man3/sd_event_add_exit.3.gz %{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz @@ -495,6 +499,7 @@ %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz %{_mandir}/man3/sd_event_source_set_time.3.gz %{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz %{_mandir}/man3/sd_event_source_set_time_relative.3.gz diff --git a/files.network b/files.network index 4118d63d..9e3f698c 100644 --- a/files.network +++ b/files.network @@ -7,6 +7,10 @@ %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy @@ -15,11 +19,13 @@ %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.network1.5.gz %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz +%{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network @@ -40,6 +46,9 @@ %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl %{_datadir}/bash-completion/completions/systemd-resolve +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy diff --git a/files.systemd b/files.systemd index 8f0f173d..b919c2af 100644 --- a/files.systemd +++ b/files.systemd @@ -8,11 +8,12 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services %dir %{_datadir}/dbus-1/system.d @@ -20,14 +21,15 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif -%dir %{xinitconfdir} -%dir %{xinitconfdir}/xinitrc.d %dir %{_environmentdir} %dir %{_journalcatalogdir} +%if ! %{bootstrap} +%dir %{_libdir}/cryptsetup +%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -82,6 +84,8 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{xinitconfdir} +%dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README %doc %{_sysctldir}/README %doc %{_sysusersdir}/README @@ -113,7 +117,8 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop -%if ! 0%{?bootstrap} +%{_bindir}/systemd-creds +%if ! %{bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-delta @@ -136,7 +141,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/bash-completion/completions/bootctl %endif @@ -160,6 +165,29 @@ %{_datadir}/bash-completion/completions/systemd-run %{_datadir}/bash-completion/completions/timedatectl %endif +# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 +%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service @@ -181,7 +209,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %if %{with sd_boot} %{_datadir}/zsh/site-functions/_bootctl %endif @@ -205,7 +233,6 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog @@ -220,6 +247,11 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%endif +%if ! 0%{bootstrap} %if %{with sd_boot} %{_mandir}/man1/bootctl.1.gz %endif @@ -235,6 +267,7 @@ %{_mandir}/man1/systemd-cat.1.gz %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz +%{_mandir}/man1/systemd-creds.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz @@ -250,6 +283,7 @@ %{_mandir}/man1/systemd-path.1.gz %{_mandir}/man1/systemd-run.1.gz %{_mandir}/man1/systemd-socket-activate.1.gz +%{_mandir}/man1/systemd-stdio-bridge.1.gz %{_mandir}/man1/systemd-tty-ask-password-agent.1.gz %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz @@ -258,8 +292,10 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz +%{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz +%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz @@ -323,8 +359,12 @@ %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz %if %{with sd_boot} +%{_mandir}/man7/linuxaa64.efi.stub.7.gz +%{_mandir}/man7/linuxia32.efi.stub.7.gz +%{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz +%{_mandir}/man7/systemd-stub.7.gz %endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz @@ -383,6 +423,9 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz +%{_mandir}/man8/systemd-integritysetup-generator.8.gz +%{_mandir}/man8/systemd-integritysetup.8.gz +%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -455,7 +498,7 @@ %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.d/00-entry-directory.install +%{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt @@ -472,7 +515,7 @@ %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %endif -%{_systemd_util_dir}/libsystemd-shared-249.so +%{_systemd_util_dir}/libsystemd-shared-250.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -486,13 +529,16 @@ %endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-integritysetup +%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -516,7 +562,7 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root @@ -548,7 +594,7 @@ %if %{with sd_boot} %{_systemdgeneratordir}/systemd-bless-boot-generator %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-debug-generator @@ -556,9 +602,12 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-integritysetup-generator +%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_sysusersdir}/systemd-journal.conf @@ -586,7 +635,7 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %endif @@ -602,6 +651,7 @@ %{_unitdir}/emergency.service %{_unitdir}/emergency.target %{_unitdir}/exit.target +%{_unitdir}/factory-reset.target %{_unitdir}/final.target %{_unitdir}/first-boot-complete.target %{_unitdir}/getty-pre.target @@ -615,7 +665,7 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -624,6 +674,10 @@ %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target +%if ! %{bootstrap} +%{_unitdir}/integritysetup-pre.target +%{_unitdir}/integritysetup.target +%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -646,12 +700,12 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-cryptsetup.target %endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/remote-veritysetup.target %endif %{_unitdir}/rescue.service @@ -675,11 +729,14 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/integritysetup.target +%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -703,11 +760,11 @@ %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %endif %{_unitdir}/syslog.socket -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/system-update-cleanup.service @@ -725,6 +782,7 @@ %{_unitdir}/systemd-boot-check-no-failures.service %if %{with sd_boot} %{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-update.service %endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service @@ -784,10 +842,11 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif +%{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl /sbin/halt diff --git a/files.udev b/files.udev index 4f75bcc9..52a309e6 100644 --- a/files.udev +++ b/files.udev @@ -14,14 +14,14 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! 0%{?bootstrap} +%if ! %{bootstrap} %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -70,6 +70,8 @@ %{_udevhwdbdir}/60-keyboard.hwdb %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb +%{_udevhwdbdir}/70-analyzers.hwdb +%{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb @@ -92,6 +94,7 @@ %{_udevrulesdir}/60-serial.rules %{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules +%{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips %{_udevrulesdir}/70-memory.rules diff --git a/systemd-v249.10+suse.86.g0bb1977021.tar.xz b/systemd-v249.10+suse.86.g0bb1977021.tar.xz deleted file mode 100644 index fdcaf7f0..00000000 --- a/systemd-v249.10+suse.86.g0bb1977021.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:325535487567c463664a7e4b54fc31f0a7dff95f49812b89ac7cd1c5c9f82812 -size 7281992 diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz new file mode 100644 index 00000000..d2bee6fe --- /dev/null +++ b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 +size 7626056 diff --git a/systemd.changes b/systemd.changes index e8567d8a..06dfd7aa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 28 17:02:04 UTC 2022 - Franck Bui + +- spec: enable 'efi' support regardless of whether sd_boot is enabled or not + + We should support EFI systems even if systemd-boot is not enabled. + ------------------------------------------------------------------- Wed Mar 23 15:17:40 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 464b6839..53805e43 100644 --- a/systemd.spec +++ b/systemd.spec @@ -675,12 +675,15 @@ Have fun with these services at your own risk. -Delfutils=auto \ -Doomd=false \ %if %{bootstrap} + -Defi=false \ -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ -Dnss-myhostname=false \ -Dnss-systemd=false \ %else + -Defi=true \ + -Dtpm=true \ -Dtpm2=true \ -Dman=true \ -Dhtml=true \ @@ -692,7 +695,6 @@ Have fun with these services at your own risk. -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ \ - -Defi=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ -Dsbat-distro= \ \ From 3c809e7c638b62b9da744224d1523424c4c1255009a0931f43027f8a5d6b3f04 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 29 Mar 2022 09:34:07 +0000 Subject: [PATCH 696/991] - Move systemd-boot and all components managing (secure) UEFI boot into udev sub-package: they may deserve a dedicated sub-package in the future but for now move them to udev so they aren't installed in systemd based containers. - Move a bunch of components operating on (mainly block) devices into udev as without udev they're most likely useless. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1268 --- files.systemd | 178 ------------------------------------------------ files.udev | 117 +++++++++++++++++++++++++++++++ files.uefi-boot | 34 +++++++++ systemd.changes | 10 +++ systemd.spec | 55 ++++++++------- 5 files changed, 192 insertions(+), 202 deletions(-) create mode 100644 files.uefi-boot diff --git a/files.systemd b/files.systemd index b919c2af..044ab793 100644 --- a/files.systemd +++ b/files.systemd @@ -27,18 +27,11 @@ %endif %dir %{_environmentdir} %dir %{_journalcatalogdir} -%if ! %{bootstrap} -%dir %{_libdir}/cryptsetup -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} -%dir %{_modulesloaddir} -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/binfmt.d -%dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system @@ -49,10 +42,6 @@ %dir %{_systemd_system_env_generator_dir} %dir %{_systemd_user_env_generator_dir} %dir %{_systemd_util_dir} -%if %{with sd_boot} -%dir %{_systemd_util_dir}/boot -%dir %{_systemd_util_dir}/boot/efi -%endif %dir %{_systemd_util_dir}/ntp-units.d %dir %{_systemd_util_dir}/scripts %dir %{_systemd_util_dir}/system-preset @@ -97,18 +86,13 @@ %ghost %config(noreplace) %{_sysconfdir}/machine-info %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal -%ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/i18n-migrated %license LICENSE.GPL2 %license LICENSE.LGPL2.1 -%if %{with sd_boot} -%{_bindir}/bootctl -%endif %{_bindir}/busctl %{_bindir}/hostnamectl %{_bindir}/journalctl -%{_bindir}/kernel-install %{_bindir}/localectl %{_bindir}/loginctl %{_bindir}/systemctl @@ -118,9 +102,6 @@ %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-creds -%if ! %{bootstrap} -%{_bindir}/systemd-cryptenroll -%endif %{_bindir}/systemd-delta %{_bindir}/systemd-detect-virt %{_bindir}/systemd-dissect @@ -142,14 +123,10 @@ %{_bindir}/systemd-umount %{_bindir}/timedatectl %if ! %{bootstrap} -%if %{with sd_boot} -%{_datadir}/bash-completion/completions/bootctl -%endif %{_datadir}/bash-completion/completions/busctl %{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl %{_datadir}/bash-completion/completions/journalctl -%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/localectl %{_datadir}/bash-completion/completions/loginctl %{_datadir}/bash-completion/completions/portablectl @@ -210,14 +187,10 @@ %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map %if ! %{bootstrap} -%if %{with sd_boot} -%{_datadir}/zsh/site-functions/_bootctl -%endif %{_datadir}/zsh/site-functions/_busctl %{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl %{_datadir}/zsh/site-functions/_journalctl -%{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_localectl %{_datadir}/zsh/site-functions/_loginctl %{_datadir}/zsh/site-functions/_sd_hosts_or_user_at_host @@ -247,14 +220,6 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so -%endif -%if ! 0%{bootstrap} -%if %{with sd_boot} -%{_mandir}/man1/bootctl.1.gz -%endif %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz @@ -268,7 +233,6 @@ %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz %{_mandir}/man1/systemd-creds.1.gz -%{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz %{_mandir}/man1/systemd-dissect.1.gz @@ -289,26 +253,20 @@ %{_mandir}/man1/systemd.1.gz %{_mandir}/man1/timedatectl.1.gz %{_mandir}/man5/binfmt.d.5.gz -%{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz %{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz -%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz -%if %{with sd_boot} -%{_mandir}/man5/loader.conf.5.gz -%endif %{_mandir}/man5/locale.conf.5.gz %{_mandir}/man5/localtime.5.gz %{_mandir}/man5/logind.conf.5.gz %{_mandir}/man5/logind.conf.d.5.gz %{_mandir}/man5/machine-id.5.gz %{_mandir}/man5/machine-info.5.gz -%{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/org.freedesktop.LogControl1.5.gz %{_mandir}/man5/org.freedesktop.hostname1.5.gz %{_mandir}/man5/org.freedesktop.locale1.5.gz @@ -353,19 +311,10 @@ %{_mandir}/man5/user.conf.d.5.gz %{_mandir}/man5/user@.service.5.gz %{_mandir}/man5/vconsole.conf.5.gz -%{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/bootup.7.gz %{_mandir}/man7/daemon.7.gz %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz -%if %{with sd_boot} -%{_mandir}/man7/linuxaa64.efi.stub.7.gz -%{_mandir}/man7/linuxia32.efi.stub.7.gz -%{_mandir}/man7/linuxx64.efi.stub.7.gz -%{_mandir}/man7/sd-boot.7.gz -%{_mandir}/man7/systemd-boot.7.gz -%{_mandir}/man7/systemd-stub.7.gz -%endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz %{_mandir}/man7/systemd.generator.7.gz @@ -378,7 +327,6 @@ %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz %{_mandir}/man8/halt.8.gz -%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/pam_systemd.8.gz %{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/rc-local.service.8.gz @@ -388,33 +336,16 @@ %{_mandir}/man8/systemd-ask-password-console.service.8.gz %{_mandir}/man8/systemd-ask-password-wall.path.8.gz %{_mandir}/man8/systemd-ask-password-wall.service.8.gz -%{_mandir}/man8/systemd-backlight.8.gz -%{_mandir}/man8/systemd-backlight@.service.8.gz %{_mandir}/man8/systemd-binfmt.8.gz %{_mandir}/man8/systemd-binfmt.service.8.gz -%if %{with sd_boot} -%{_mandir}/man8/systemd-bless-boot-generator.8.gz -%{_mandir}/man8/systemd-bless-boot.8.gz -%{_mandir}/man8/systemd-bless-boot.service.8.gz -%endif %{_mandir}/man8/systemd-boot-check-no-failures.8.gz %{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz -%if %{with sd_boot} -%{_mandir}/man8/systemd-boot-system-token.service.8.gz -%endif -%{_mandir}/man8/systemd-cryptsetup-generator.8.gz -%{_mandir}/man8/systemd-cryptsetup.8.gz -%{_mandir}/man8/systemd-cryptsetup@.service.8.gz %{_mandir}/man8/systemd-debug-generator.8.gz %{_mandir}/man8/systemd-environment-d-generator.8.gz %{_mandir}/man8/systemd-fsck-root.service.8.gz %{_mandir}/man8/systemd-fsck.8.gz %{_mandir}/man8/systemd-fsck@.service.8.gz -%{_mandir}/man8/systemd-fstab-generator.8.gz %{_mandir}/man8/systemd-getty-generator.8.gz -%{_mandir}/man8/systemd-gpt-auto-generator.8.gz -%{_mandir}/man8/systemd-growfs.8.gz -%{_mandir}/man8/systemd-growfs@.service.8.gz %{_mandir}/man8/systemd-halt.service.8.gz %{_mandir}/man8/systemd-hibernate-resume-generator.8.gz %{_mandir}/man8/systemd-hibernate-resume.8.gz @@ -423,9 +354,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-integritysetup-generator.8.gz -%{_mandir}/man8/systemd-integritysetup.8.gz -%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -440,11 +368,7 @@ %{_mandir}/man8/systemd-logind.8.gz %{_mandir}/man8/systemd-logind.service.8.gz %{_mandir}/man8/systemd-machine-id-commit.service.8.gz -%{_mandir}/man8/systemd-makefs.8.gz -%{_mandir}/man8/systemd-makefs@.service.8.gz %{_mandir}/man8/systemd-mkswap@.service.8.gz -%{_mandir}/man8/systemd-modules-load.8.gz -%{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-poweroff.service.8.gz %{_mandir}/man8/systemd-quotacheck.8.gz %{_mandir}/man8/systemd-quotacheck.service.8.gz @@ -453,9 +377,6 @@ %{_mandir}/man8/systemd-reboot.service.8.gz %{_mandir}/man8/systemd-remount-fs.8.gz %{_mandir}/man8/systemd-remount-fs.service.8.gz -%{_mandir}/man8/systemd-rfkill.8.gz -%{_mandir}/man8/systemd-rfkill.service.8.gz -%{_mandir}/man8/systemd-rfkill.socket.8.gz %{_mandir}/man8/systemd-run-generator.8.gz %{_mandir}/man8/systemd-shutdown.8.gz %{_mandir}/man8/systemd-sleep.8.gz @@ -477,7 +398,6 @@ %{_mandir}/man8/systemd-timesyncd.service.8.gz %{_mandir}/man8/systemd-tmpfiles-clean.service.8.gz %{_mandir}/man8/systemd-tmpfiles-clean.timer.8.gz -%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz %{_mandir}/man8/systemd-tmpfiles-setup.service.8.gz %{_mandir}/man8/systemd-tmpfiles.8.gz %{_mandir}/man8/systemd-update-done.8.gz @@ -488,19 +408,11 @@ %{_mandir}/man8/systemd-user-sessions.service.8.gz %{_mandir}/man8/systemd-vconsole-setup.8.gz %{_mandir}/man8/systemd-vconsole-setup.service.8.gz -%{_mandir}/man8/systemd-veritysetup-generator.8.gz -%{_mandir}/man8/systemd-veritysetup.8.gz -%{_mandir}/man8/systemd-veritysetup@.service.8.gz -%{_mandir}/man8/systemd-volatile-root.8.gz -%{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/systemd-xdg-autostart-generator.8.gz %endif %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.conf -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt %{_sbindir}/init %{_sbindir}/poweroff @@ -509,12 +421,6 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%if %{with sd_boot} -# These are part of the very few exceptions where glob pattern is allowd. -%{_systemd_util_dir}/boot/efi/linux*.efi.stub -%{_systemd_util_dir}/boot/efi/linux*.elf.stub -%{_systemd_util_dir}/boot/efi/systemd-boot*.efi -%endif %{_systemd_util_dir}/libsystemd-shared-250.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh @@ -522,33 +428,19 @@ %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-ac-power -%{_systemd_util_dir}/systemd-backlight %{_systemd_util_dir}/systemd-binfmt -%if %{with sd_boot} -%{_systemd_util_dir}/systemd-bless-boot -%endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-cryptsetup -%endif %{_systemd_util_dir}/systemd-fsck -%{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-integritysetup -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind -%{_systemd_util_dir}/systemd-makefs -%{_systemd_util_dir}/systemd-modules-load %{_systemd_util_dir}/systemd-quotacheck %{_systemd_util_dir}/systemd-random-seed %{_systemd_util_dir}/systemd-remount-fs %{_systemd_util_dir}/systemd-reply-password -%{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-shutdown %{_systemd_util_dir}/systemd-sleep %{_systemd_util_dir}/systemd-socket-proxyd @@ -562,10 +454,6 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-veritysetup -%endif -%{_systemd_util_dir}/systemd-volatile-root %{_systemd_util_dir}/systemd-xdg-autostart-condition %{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator %{_systemd_util_dir}/user-preset/90-systemd.preset @@ -591,25 +479,11 @@ %{_systemd_util_dir}/user/systemd-tmpfiles-setup.service %{_systemd_util_dir}/user/timers.target %{_systemd_util_dir}/user/xdg-desktop-autostart.target -%if %{with sd_boot} -%{_systemdgeneratordir}/systemd-bless-boot-generator -%endif -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-cryptsetup-generator -%endif %{_systemdgeneratordir}/systemd-debug-generator -%{_systemdgeneratordir}/systemd-fstab-generator %{_systemdgeneratordir}/systemd-getty-generator -%{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-integritysetup-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-veritysetup-generator -%endif %{_sysusersdir}/systemd-journal.conf %if %{with networkd} # Yes, systemd-network.conf really belongs here, see @@ -635,10 +509,6 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! %{bootstrap} -%{_unitdir}/cryptsetup-pre.target -%{_unitdir}/cryptsetup.target -%endif %{_unitdir}/ctrl-alt-del.target %{_unitdir}/dbus-org.freedesktop.hostname1.service %{_unitdir}/dbus-org.freedesktop.locale1.service @@ -665,19 +535,11 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! %{bootstrap} -%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target -%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target -%endif %{_unitdir}/initrd-root-fs.target %{_unitdir}/initrd-switch-root.service %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target -%if ! %{bootstrap} -%{_unitdir}/integritysetup-pre.target -%{_unitdir}/integritysetup.target -%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -700,14 +562,8 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! %{bootstrap} -%{_unitdir}/remote-cryptsetup.target -%endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! %{bootstrap} -%{_unitdir}/remote-veritysetup.target -%endif %{_unitdir}/rescue.service %{_unitdir}/rescue.target %{_unitdir}/rpcbind.target @@ -729,14 +585,8 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/cryptsetup.target -%endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/integritysetup.target -%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -744,29 +594,18 @@ %{_unitdir}/sysinit.target.wants/sys-kernel-tracing.mount %{_unitdir}/sysinit.target.wants/systemd-ask-password-console.path %{_unitdir}/sysinit.target.wants/systemd-binfmt.service -%if %{with sd_boot} -%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service -%endif %{_unitdir}/sysinit.target.wants/systemd-firstboot.service %{_unitdir}/sysinit.target.wants/systemd-journal-catalog-update.service %{_unitdir}/sysinit.target.wants/systemd-journal-flush.service %{_unitdir}/sysinit.target.wants/systemd-journald.service %{_unitdir}/sysinit.target.wants/systemd-machine-id-commit.service -%{_unitdir}/sysinit.target.wants/systemd-modules-load.service %{_unitdir}/sysinit.target.wants/systemd-random-seed.service %{_unitdir}/sysinit.target.wants/systemd-sysctl.service %{_unitdir}/sysinit.target.wants/systemd-sysusers.service -%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/veritysetup.target -%endif %{_unitdir}/syslog.socket -%if ! %{bootstrap} -%{_unitdir}/system-systemd\x2dcryptsetup.slice -%endif %{_unitdir}/system-update-cleanup.service %{_unitdir}/system-update-pre.target %{_unitdir}/system-update.target @@ -774,16 +613,8 @@ %{_unitdir}/systemd-ask-password-console.service %{_unitdir}/systemd-ask-password-wall.path %{_unitdir}/systemd-ask-password-wall.service -%{_unitdir}/systemd-backlight@.service %{_unitdir}/systemd-binfmt.service -%if %{with sd_boot} -%{_unitdir}/systemd-bless-boot.service -%endif %{_unitdir}/systemd-boot-check-no-failures.service -%if %{with sd_boot} -%{_unitdir}/systemd-boot-system-token.service -%{_unitdir}/systemd-boot-update.service -%endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service %{_unitdir}/systemd-fsck-root.service @@ -805,14 +636,11 @@ %{_unitdir}/systemd-localed.service %{_unitdir}/systemd-logind.service %{_unitdir}/systemd-machine-id-commit.service -%{_unitdir}/systemd-modules-load.service %{_unitdir}/systemd-poweroff.service %{_unitdir}/systemd-quotacheck.service %{_unitdir}/systemd-random-seed.service %{_unitdir}/systemd-reboot.service %{_unitdir}/systemd-remount-fs.service -%{_unitdir}/systemd-rfkill.service -%{_unitdir}/systemd-rfkill.socket %{_unitdir}/systemd-suspend-then-hibernate.service %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service @@ -823,13 +651,11 @@ %{_unitdir}/systemd-timesyncd.service %{_unitdir}/systemd-tmpfiles-clean.service %{_unitdir}/systemd-tmpfiles-clean.timer -%{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service %{_unitdir}/systemd-vconsole-setup.service -%{_unitdir}/systemd-volatile-root.service %{_unitdir}/time-set.target %{_unitdir}/time-sync.target %{_unitdir}/timers.target @@ -842,10 +668,6 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! %{bootstrap} -%{_unitdir}/veritysetup-pre.target -%{_unitdir}/veritysetup.target -%endif %{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl diff --git a/files.udev b/files.udev index 52a309e6..389f9592 100644 --- a/files.udev +++ b/files.udev @@ -2,7 +2,16 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %config(noreplace) %{_sysconfdir}/udev/udev.conf +%if ! %{bootstrap} +%dir %{_libdir}/cryptsetup +%dir %{_modulesloaddir} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%endif %dir %{_prefix}/lib/udev +%if ! %{bootstrap} +%dir %{_sysconfdir}/modules-load.d +%endif %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network @@ -12,28 +21,72 @@ %doc %{_udevrulesdir}/README %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%ghost %{_localstatedir}/lib/systemd/backlight +%if ! %{bootstrap} +%{_bindir}/kernel-install +%{_bindir}/systemd-cryptenroll +%endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if ! %{bootstrap} +%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc %if ! %{bootstrap} +%{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm %endif %if ! %{bootstrap} +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%{_mandir}/man1/systemd-cryptenroll.1.gz +%{_mandir}/man5/crypttab.5.gz +%{_mandir}/man5/integritytab.5.gz +%{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/udev.conf.5.gz +%{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz +%{_mandir}/man8/kernel-install.8.gz +%{_mandir}/man8/systemd-backlight.8.gz +%{_mandir}/man8/systemd-backlight@.service.8.gz +%{_mandir}/man8/systemd-cryptsetup-generator.8.gz +%{_mandir}/man8/systemd-cryptsetup.8.gz +%{_mandir}/man8/systemd-cryptsetup@.service.8.gz +%{_mandir}/man8/systemd-fstab-generator.8.gz +%{_mandir}/man8/systemd-gpt-auto-generator.8.gz +%{_mandir}/man8/systemd-growfs.8.gz +%{_mandir}/man8/systemd-growfs@.service.8.gz %{_mandir}/man8/systemd-hwdb.8.gz +%{_mandir}/man8/systemd-integritysetup-generator.8.gz +%{_mandir}/man8/systemd-integritysetup.8.gz +%{_mandir}/man8/systemd-integritysetup@.service.8.gz +%{_mandir}/man8/systemd-makefs.8.gz +%{_mandir}/man8/systemd-makefs@.service.8.gz +%{_mandir}/man8/systemd-modules-load.8.gz +%{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-network-generator.8.gz %{_mandir}/man8/systemd-network-generator.service.8.gz +%{_mandir}/man8/systemd-rfkill.8.gz +%{_mandir}/man8/systemd-rfkill.service.8.gz +%{_mandir}/man8/systemd-rfkill.socket.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz %{_mandir}/man8/systemd-udev-settle.service.8.gz %{_mandir}/man8/systemd-udevd-control.socket.8.gz %{_mandir}/man8/systemd-udevd-kernel.socket.8.gz %{_mandir}/man8/systemd-udevd.8.gz %{_mandir}/man8/systemd-udevd.service.8.gz +%{_mandir}/man8/systemd-veritysetup-generator.8.gz +%{_mandir}/man8/systemd-veritysetup.8.gz +%{_mandir}/man8/systemd-veritysetup@.service.8.gz +%{_mandir}/man8/systemd-volatile-root.8.gz +%{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/udevadm.8.gz +%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install %endif %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id @@ -47,8 +100,34 @@ %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link +%{_systemd_util_dir}/systemd-backlight +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-cryptsetup +%endif +%{_systemd_util_dir}/systemd-growfs +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-integritysetup +%endif +%{_systemd_util_dir}/systemd-makefs +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-modules-load +%endif %{_systemd_util_dir}/systemd-network-generator +%{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-udevd +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-veritysetup +%endif +%{_systemd_util_dir}/systemd-volatile-root +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-cryptsetup-generator +%endif +%{_systemdgeneratordir}/systemd-fstab-generator +%{_systemdgeneratordir}/systemd-gpt-auto-generator +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-integritysetup-generator +%{_systemdgeneratordir}/systemd-veritysetup-generator +%endif %{_tmpfilesdir}/static-nodes-permissions.conf %{_udevhwdbdir}/20-OUI.hwdb %{_udevhwdbdir}/20-acpi-vendor.hwdb @@ -105,25 +184,63 @@ %{_udevrulesdir}/75-net-description.rules %{_udevrulesdir}/75-probe_mtd.rules %{_udevrulesdir}/78-sound-card.rules +%if ! %{bootstrap} %{_udevrulesdir}/80-drivers.rules +%endif %{_udevrulesdir}/80-net-setup-link.rules %{_udevrulesdir}/81-net-dhcp.rules %{_udevrulesdir}/90-vconsole.rules +%if ! %{bootstrap} +%{_unitdir}/cryptsetup-pre.target +%{_unitdir}/cryptsetup.target +%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target +%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target +%endif %{_unitdir}/initrd-udevadm-cleanup-db.service +%if ! %{bootstrap} +%{_unitdir}/integritysetup-pre.target +%{_unitdir}/integritysetup.target %{_unitdir}/kmod-static-nodes.service +%{_unitdir}/remote-cryptsetup.target +%{_unitdir}/remote-veritysetup.target +%endif %{_unitdir}/sockets.target.wants/systemd-udevd-control.socket %{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/cryptsetup.target +%{_unitdir}/sysinit.target.wants/integritysetup.target %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%endif %{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/systemd-modules-load.service +%endif +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service %{_unitdir}/sysinit.target.wants/systemd-udevd.service +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/veritysetup.target +%{_unitdir}/system-systemd\x2dcryptsetup.slice +%endif +%{_unitdir}/systemd-backlight@.service %{_unitdir}/systemd-hwdb-update.service +%if ! %{bootstrap} +%{_unitdir}/systemd-modules-load.service +%endif %{_unitdir}/systemd-network-generator.service +%{_unitdir}/systemd-rfkill.service +%{_unitdir}/systemd-rfkill.socket +%{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-udev-settle.service %{_unitdir}/systemd-udev-trigger.service %{_unitdir}/systemd-udevd-control.socket %{_unitdir}/systemd-udevd-kernel.socket %{_unitdir}/systemd-udevd.service +%{_unitdir}/systemd-volatile-root.service +%if ! %{bootstrap} +%{_unitdir}/veritysetup-pre.target +%{_unitdir}/veritysetup.target +%endif %if %{with split_usr} /sbin/udevadm %endif diff --git a/files.uefi-boot b/files.uefi-boot new file mode 100644 index 00000000..ebb3ff29 --- /dev/null +++ b/files.uefi-boot @@ -0,0 +1,34 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%if %{with sd_boot} +%dir %{_systemd_util_dir}/boot +%dir %{_systemd_util_dir}/boot/efi +%{_bindir}/bootctl +%if ! %{bootstrap} +%{_datadir}/bash-completion/completions/bootctl +%{_datadir}/zsh/site-functions/_bootctl +%{_mandir}/man1/bootctl.1.gz +%{_mandir}/man5/loader.conf.5.gz +%{_mandir}/man7/linuxaa64.efi.stub.7.gz +%{_mandir}/man7/linuxia32.efi.stub.7.gz +%{_mandir}/man7/linuxx64.efi.stub.7.gz +%{_mandir}/man7/sd-boot.7.gz +%{_mandir}/man7/systemd-boot.7.gz +%{_mandir}/man7/systemd-stub.7.gz +%{_mandir}/man8/systemd-bless-boot-generator.8.gz +%{_mandir}/man8/systemd-bless-boot.8.gz +%{_mandir}/man8/systemd-bless-boot.service.8.gz +%{_mandir}/man8/systemd-boot-system-token.service.8.gz +%endif +# These are part of the very few exceptions where glob pattern is allowd. +%{_systemd_util_dir}/boot/efi/linux*.efi.stub +%{_systemd_util_dir}/boot/efi/linux*.elf.stub +%{_systemd_util_dir}/boot/efi/systemd-boot*.efi +%{_systemd_util_dir}/systemd-bless-boot +%{_systemdgeneratordir}/systemd-bless-boot-generator +%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service +%{_unitdir}/systemd-bless-boot.service +%{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-update.service +%endif diff --git a/systemd.changes b/systemd.changes index 06dfd7aa..5c3597e8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Mar 28 18:36:39 UTC 2022 - Franck Bui + +- Move systemd-boot and all components managing (secure) UEFI boot into udev + sub-package: they may deserve a dedicated sub-package in the future but for + now move them to udev so they aren't installed in systemd based containers. + +- Move a bunch of components operating on (mainly block) devices into udev as + without udev they're most likely useless. + ------------------------------------------------------------------- Mon Mar 28 17:02:04 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 53805e43..f097922a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,9 +87,7 @@ BuildRequires: polkit BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) -BuildRequires: pkgconfig(libfido2) BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) @@ -97,9 +95,6 @@ BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) -BuildRequires: pkgconfig(tss2-esys) -BuildRequires: pkgconfig(tss2-mu) -BuildRequires: pkgconfig(tss2-rc) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif @@ -117,20 +112,7 @@ BuildRequires: python3-jinja2 BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 -%if %{with importd} -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(zlib) -%endif -%if %{with journal_remote} -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 -%endif -%if %{with sd_boot} -BuildRequires: gnu-efi -%endif %if %{bootstrap} #!BuildIgnore: dbus-1 @@ -156,11 +138,6 @@ Requires: util-linux >= 2.27.1 Requires: group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl Recommends: libpcre2-8-0 -# ditto but dlopen()ed by systemd-cryptenroll -Recommends: libfido2 -Recommends: libtss2-esys0 -Recommends: libtss2-mu0 -Recommends: libtss2-rc0 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -201,6 +178,7 @@ Source202: files.container Source203: files.network Source204: files.devel Source205: files.sysvcompat +Source206: files.uefi-boot # # All changes backported from upstream are tracked by the git repository, which @@ -328,6 +306,9 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +%if %{with sd_boot} +BuildRequires: gnu-efi +%endif Requires: %{name} = %{version}-%{release} %systemd_requires Requires: filesystem @@ -337,6 +318,22 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils +%if ! %{bootstrap} +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libkmod) >= 15 +# Enable fido2 and tpm supports in systemd-cryptsetup, systemd-enroll. However +# these tools are not linked against the libs directly but instead are +# dlopen()ed at runtime to avoid hard dependencies. Hence the use of soft +# dependencies. +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) +Recommends: libfido2 +Recommends: libtss2-esys0 +Recommends: libtss2-mu0 +Recommends: libtss2-rc0 +%endif Conflicts: ConsoleKit < 0.4.1 Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 @@ -385,6 +382,11 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later +%if %{with importd} +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(zlib) +%endif Requires: %{name} = %{version}-%{release} %systemd_requires Obsoletes: nss-mymachines < %{version}-%{release} @@ -494,6 +496,8 @@ To activate this NSS module, you will need to include it in %package journal-remote Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 Requires: %{name} = %{version}-%{release} %systemd_requires @@ -695,6 +699,7 @@ Have fun with these services at your own risk. -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ \ + -Dkernel-install=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ -Dsbat-distro= \ \ @@ -996,7 +1001,6 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-cryptsetup.target %systemd_post getty@.service %systemd_post machines.target %systemd_post remote-fs.target @@ -1075,6 +1079,8 @@ fi %regenerate_initrd_post %udev_hwdb_update +%systemd_post remote-cryptsetup.target + # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : @@ -1257,6 +1263,7 @@ fi %files -n udev%{?mini} %defattr(-,root,root) %include %{SOURCE201} +%include %{SOURCE206} %files container %defattr(-,root,root) From 742e4740f8103872795ca47f8d4ce201826c7ba4e2ad11642d25691eda9b6449 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 31 Mar 2022 08:26:50 +0000 Subject: [PATCH 697/991] fix previous commit: kernel-install needs to be installed only when sd_boot is enabled OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1269 --- files.udev | 9 --------- files.uefi-boot | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/files.udev b/files.udev index 389f9592..c3e2473c 100644 --- a/files.udev +++ b/files.udev @@ -5,8 +5,6 @@ %if ! %{bootstrap} %dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d %endif %dir %{_prefix}/lib/udev %if ! %{bootstrap} @@ -23,18 +21,15 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_localstatedir}/lib/systemd/backlight %if ! %{bootstrap} -%{_bindir}/kernel-install %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if ! %{bootstrap} -%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc %if ! %{bootstrap} -%{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm %endif %if ! %{bootstrap} @@ -49,7 +44,6 @@ %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz -%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-backlight.8.gz %{_mandir}/man8/systemd-backlight@.service.8.gz %{_mandir}/man8/systemd-cryptsetup-generator.8.gz @@ -84,9 +78,6 @@ %{_mandir}/man8/systemd-volatile-root.8.gz %{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/udevadm.8.gz -%{_prefix}/lib/kernel/install.conf -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install %endif %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id diff --git a/files.uefi-boot b/files.uefi-boot index ebb3ff29..49bcdfec 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -2,12 +2,17 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %if %{with sd_boot} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d %dir %{_systemd_util_dir}/boot %dir %{_systemd_util_dir}/boot/efi %{_bindir}/bootctl +%{_bindir}/kernel-install %if ! %{bootstrap} %{_datadir}/bash-completion/completions/bootctl +%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/zsh/site-functions/_bootctl +%{_datadir}/zsh/site-functions/_kernel-install %{_mandir}/man1/bootctl.1.gz %{_mandir}/man5/loader.conf.5.gz %{_mandir}/man7/linuxaa64.efi.stub.7.gz @@ -16,11 +21,15 @@ %{_mandir}/man7/sd-boot.7.gz %{_mandir}/man7/systemd-boot.7.gz %{_mandir}/man7/systemd-stub.7.gz +%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-bless-boot-generator.8.gz %{_mandir}/man8/systemd-bless-boot.8.gz %{_mandir}/man8/systemd-bless-boot.service.8.gz %{_mandir}/man8/systemd-boot-system-token.service.8.gz %endif +%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install # These are part of the very few exceptions where glob pattern is allowd. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub From 96e06c7aaf6b0faa8a12515380c0667ff86ba13914418044137c53807e4d2a74 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 31 Mar 2022 11:23:51 +0000 Subject: [PATCH 698/991] - Add 0001-meson-build-kernel-install-man-page-when-necessary.patch Submitted to upstream: https://github.com/systemd/systemd/pull/22918 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1270 --- ...rnel-install-man-page-when-necessary.patch | 90 +++++++++++++++++++ systemd.changes | 7 ++ systemd.spec | 1 + 3 files changed, 98 insertions(+) create mode 100644 0001-meson-build-kernel-install-man-page-when-necessary.patch diff --git a/0001-meson-build-kernel-install-man-page-when-necessary.patch b/0001-meson-build-kernel-install-man-page-when-necessary.patch new file mode 100644 index 00000000..8e601854 --- /dev/null +++ b/0001-meson-build-kernel-install-man-page-when-necessary.patch @@ -0,0 +1,90 @@ +From fecffebc9a0f4e2309e9d8d561c0b0c4b6678b0b Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 31 Mar 2022 11:17:10 +0200 +Subject: [PATCH 1/1] meson: build kernel-install man page when necessary + +--- + man/rules/meson.build | 2 +- + meson.build | 5 ++++- + shell-completion/bash/meson.build | 2 +- + shell-completion/zsh/meson.build | 2 +- + src/kernel-install/meson.build | 2 -- + 5 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/man/rules/meson.build b/man/rules/meson.build +index aaa69d3038..f10abdaf0d 100644 +--- a/man/rules/meson.build ++++ b/man/rules/meson.build +@@ -30,7 +30,7 @@ manpages = [ + ['journalctl', '1', [], ''], + ['journald.conf', '5', ['journald.conf.d', 'journald@.conf'], ''], + ['kernel-command-line', '7', [], ''], +- ['kernel-install', '8', [], ''], ++ ['kernel-install', '8', [], 'ENABLE_KERNEL_INSTALL'], + ['libudev', '3', [], ''], + ['loader.conf', '5', [], 'HAVE_GNU_EFI'], + ['locale.conf', '5', [], ''], +diff --git a/meson.build b/meson.build +index e68791b8b4..311895db5e 100644 +--- a/meson.build ++++ b/meson.build +@@ -1675,6 +1675,9 @@ else + endif + conf.set10('ENABLE_IMPORTD', have) + ++want_kernel_install = get_option('kernel-install') ++conf.set10('ENABLE_KERNEL_INSTALL', want_kernel_install) ++ + want_homed = get_option('homed') + if want_homed != 'false' + have = (conf.get('HAVE_OPENSSL') == 1 and +@@ -4143,7 +4146,7 @@ foreach tuple : [ + ['hwdb'], + ['importd'], + ['initrd'], +- ['kernel-install', get_option('kernel-install')], ++ ['kernel-install'], + ['localed'], + ['logind'], + ['machined'], +diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build +index 963a11b6ce..ae6a61e555 100644 +--- a/shell-completion/bash/meson.build ++++ b/shell-completion/bash/meson.build +@@ -31,7 +31,7 @@ items = [['busctl', ''], + ['systemd-path', ''], + ['systemd-run', ''], + ['udevadm', ''], +- ['kernel-install', ''], ++ ['kernel-install', 'ENABLE_KERNEL_INSTALL'], + ['bootctl', 'HAVE_GNU_EFI'], + ['coredumpctl', 'ENABLE_COREDUMP'], + ['homectl', 'ENABLE_HOMED'], +diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build +index 6dca9dd595..bac531798c 100644 +--- a/shell-completion/zsh/meson.build ++++ b/shell-completion/zsh/meson.build +@@ -22,7 +22,7 @@ items = [['_busctl', ''], + ['_systemd-path', ''], + ['_systemd-run', ''], + ['_udevadm', ''], +- ['_kernel-install', ''], ++ ['_kernel-install', 'ENABLE_KERNEL_INSTALL'], + ['_sd_hosts_or_user_at_host', ''], + ['_sd_outputmodes', ''], + ['_sd_unit_files', ''], +diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build +index 508058f1cf..abc3520b62 100644 +--- a/src/kernel-install/meson.build ++++ b/src/kernel-install/meson.build +@@ -1,7 +1,5 @@ + # SPDX-License-Identifier: LGPL-2.1-or-later + +-want_kernel_install = get_option('kernel-install') +- + if want_kernel_install + install_data('kernel-install', + install_mode : 'rwxr-xr-x', +-- +2.34.1 + diff --git a/systemd.changes b/systemd.changes index 5c3597e8..f2895641 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 31 11:22:12 UTC 2022 - Franck Bui + +- Add 0001-meson-build-kernel-install-man-page-when-necessary.patch + + Submitted to upstream: https://github.com/systemd/systemd/pull/22918 + ------------------------------------------------------------------- Mon Mar 28 18:36:39 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f097922a..a8697086 100644 --- a/systemd.spec +++ b/systemd.spec @@ -209,6 +209,7 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch6000: 0001-meson-build-kernel-install-man-page-when-necessary.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 2daca1146386ae95fc4126cd3883abf1e06bdcba0a184eb0ecb967d2b1226de9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 31 Mar 2022 12:04:43 +0000 Subject: [PATCH 699/991] - Temporarily disable 'libcryptsetup plugins until dracut 056 is merged in Factory OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1271 --- files.udev | 8 ++++---- systemd.changes | 6 ++++++ systemd.spec | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/files.udev b/files.udev index c3e2473c..273dd04f 100644 --- a/files.udev +++ b/files.udev @@ -3,7 +3,7 @@ # %config(noreplace) %{_sysconfdir}/udev/udev.conf %if ! %{bootstrap} -%dir %{_libdir}/cryptsetup +# %%dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} %endif %dir %{_prefix}/lib/udev @@ -33,9 +33,9 @@ %{_datadir}/zsh/site-functions/_udevadm %endif %if ! %{bootstrap} -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz diff --git a/systemd.changes b/systemd.changes index f2895641..05c8d8ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Mar 31 12:03:19 UTC 2022 - Franck Bui + +- Temporarily disable 'libcryptsetup plugins until dracut 056 is merged in + Factory + ------------------------------------------------------------------- Thu Mar 31 11:22:12 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a8697086..355fa44a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -693,6 +693,7 @@ Have fun with these services at your own risk. -Dman=true \ -Dhtml=true \ %endif + -Dlibcryptsetup-plugins=false \ -Dcoredump=%{when coredump} \ -Dimportd=%{when importd} \ -Dmachined=%{when machined} \ From 2f014da78dd25e39c6cc75eefa8ac06c79f36017bad02943dcdb94bf9544151b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 4 Apr 2022 08:50:14 +0000 Subject: [PATCH 700/991] - spec: make sure /lib exists when installing conf files in /lib/modprobe.d OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1272 --- systemd.changes | 5 +++++ systemd.spec | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 05c8d8ec..e1613405 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 4 08:49:40 UTC 2022 - Franck Bui + +- spec: make sure /lib exists when installing conf files in /lib/modprobe.d + ------------------------------------------------------------------- Thu Mar 31 12:03:19 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 355fa44a..1ebe1ef5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -774,8 +774,9 @@ rm -f %{buildroot}/etc/systemd/system/default.target install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} # kmod keeps insisting on using /lib on SLE. -if [ "%{_modprobedir}" != /usr/lib/modprobe.d ]; then - mv %{buildroot}/usr/lib/modprobe.d %{buildroot}%{_modprobedir} +if [ "$(realpath %{_modprobedir})" != /usr/lib/modprobe.d ]; then + mkdir -p %{buildroot}%{_modprobedir} + mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ fi # don't enable wall ask password service, it spams every console (bnc#747783) From 23f39dbffdcb8980d077841d719b202d6d6b08ffe01a88eb838f23565a8f982f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 4 Apr 2022 11:51:23 +0000 Subject: [PATCH 701/991] - spec: define %bootstrap with %bcond_with so it can be used with %when. Also re-order the meson options a bit. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1273 --- files.container | 2 +- files.devel | 2 +- files.systemd | 10 ++--- files.udev | 40 ++++++++--------- files.uefi-boot | 2 +- systemd.changes | 6 +++ systemd.spec | 111 ++++++++++++++++++++++++------------------------ 7 files changed, 90 insertions(+), 83 deletions(-) diff --git a/files.container b/files.container index cae9352f..181cd26c 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz diff --git a/files.devel b/files.devel index 7cd0b082..c1a2301c 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! %{bootstrap} +%if %{without bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz diff --git a/files.systemd b/files.systemd index 044ab793..c9531766 100644 --- a/files.systemd +++ b/files.systemd @@ -8,7 +8,7 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! %{bootstrap} +%if %{without bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif @@ -21,7 +21,7 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! %{bootstrap} +%if %{without bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif @@ -122,7 +122,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/busctl %{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl @@ -186,7 +186,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/zsh/site-functions/_busctl %{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl @@ -219,7 +219,7 @@ %{_journalcatalogdir}/systemd.ru.catalog %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog -%if ! 0%{bootstrap} +%if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz diff --git a/files.udev b/files.udev index 273dd04f..cad13c0c 100644 --- a/files.udev +++ b/files.udev @@ -2,12 +2,12 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! %{bootstrap} +%if %{without bootstrap} # %%dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} %endif %dir %{_prefix}/lib/udev -%if ! %{bootstrap} +%if %{without bootstrap} %dir %{_sysconfdir}/modules-load.d %endif %dir %{_sysconfdir}/udev @@ -20,19 +20,19 @@ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_localstatedir}/lib/systemd/backlight -%if ! %{bootstrap} +%if %{without bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! %{bootstrap} +%if %{without bootstrap} # %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so # %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so # %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so @@ -92,30 +92,30 @@ %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link %{_systemd_util_dir}/systemd-backlight -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-growfs -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-integritysetup %endif %{_systemd_util_dir}/systemd-makefs -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-modules-load %endif %{_systemd_util_dir}/systemd-network-generator %{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-udevd -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-fstab-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemdgeneratordir}/systemd-integritysetup-generator %{_systemdgeneratordir}/systemd-veritysetup-generator %endif @@ -175,20 +175,20 @@ %{_udevrulesdir}/75-net-description.rules %{_udevrulesdir}/75-probe_mtd.rules %{_udevrulesdir}/78-sound-card.rules -%if ! %{bootstrap} +%if %{without bootstrap} %{_udevrulesdir}/80-drivers.rules %endif %{_udevrulesdir}/80-net-setup-link.rules %{_udevrulesdir}/81-net-dhcp.rules %{_udevrulesdir}/90-vconsole.rules -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif %{_unitdir}/initrd-udevadm-cleanup-db.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/integritysetup-pre.target %{_unitdir}/integritysetup.target %{_unitdir}/kmod-static-nodes.service @@ -197,25 +197,25 @@ %endif %{_unitdir}/sockets.target.wants/systemd-udevd-control.socket %{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %{_unitdir}/sysinit.target.wants/integritysetup.target %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service %endif %{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/sysinit.target.wants/systemd-modules-load.service %endif %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service %{_unitdir}/sysinit.target.wants/systemd-udevd.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/systemd-backlight@.service %{_unitdir}/systemd-hwdb-update.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/systemd-modules-load.service %endif %{_unitdir}/systemd-network-generator.service @@ -228,7 +228,7 @@ %{_unitdir}/systemd-udevd-kernel.socket %{_unitdir}/systemd-udevd.service %{_unitdir}/systemd-volatile-root.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif diff --git a/files.uefi-boot b/files.uefi-boot index 49bcdfec..70e46b69 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -8,7 +8,7 @@ %dir %{_systemd_util_dir}/boot/efi %{_bindir}/bootctl %{_bindir}/kernel-install -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/bootctl %{_datadir}/bash-completion/completions/kernel-install %{_datadir}/zsh/site-functions/_bootctl diff --git a/systemd.changes b/systemd.changes index e1613405..5bf4b55e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 4 11:40:30 UTC 2022 - Franck Bui + +- spec: define %bootstrap with %bcond_with so it can be used with %when. Also + re-order the meson options a bit. + ------------------------------------------------------------------- Mon Apr 4 08:49:40 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1ebe1ef5..1e8a6dca 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,14 +18,6 @@ %global flavor @BUILD_FLAVOR@%{nil} -%if "%{flavor}" == "mini" -%define bootstrap 1 -%define mini -mini -%else -%define bootstrap 0 -%define mini %nil -%endif - %define min_kernel_version 4.5 %define suse_version +suse.35.g8ef8dfd540 %define _testsuitedir /usr/lib/systemd/tests @@ -37,7 +29,13 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if %{bootstrap} +%define __when_not_1() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:true}} +%define __when_not_2() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:%{2}}} +%define when_not() %{expand:%%__when_not_%# %{*}} + +%if "%{flavor}" == "mini" +%define mini -mini +%bcond_without bootstrap %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -50,6 +48,8 @@ %bcond_with experimental %bcond_with testsuite %else +%define mini %nil +%bcond_with bootstrap %bcond_without coredump %bcond_without importd %bcond_without journal_remote @@ -76,7 +76,7 @@ Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! %{bootstrap} +%if %{without bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -114,7 +114,7 @@ BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libpci) >= 3 -%if %{bootstrap} +%if %{with bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -224,7 +224,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if %{with bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -242,7 +242,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if %{bootstrap} +%if %{with bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -275,7 +275,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if %{with bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -319,7 +319,7 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils -%if ! %{bootstrap} +%if %{without bootstrap} BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libkmod) >= 15 # Enable fido2 and tpm supports in systemd-cryptsetup, systemd-enroll. However @@ -340,7 +340,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if %{bootstrap} +%if %{with bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -355,7 +355,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if %{bootstrap} +%if %{with bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -394,7 +394,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if %{bootstrap} +%if %{with bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -465,7 +465,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! %{bootstrap} +%if %{without bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -634,7 +634,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! %{bootstrap} +%if %{without bootstrap} %lang_package %endif @@ -655,64 +655,65 @@ Have fun with these services at your own risk. -Dsystem-gid-max=499 \ -Dadm-group=false \ -Dwheel-group=false \ - -Dgshadow=false \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ - -Dldconfig=false \ -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{xinitconfdir}/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ +%if %{with bootstrap} + -Dbashcompletiondir=no \ + -Dzshcompletiondir=no \ +%endif %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ %endif -Drc-local=/etc/init.d/boot.local \ -Dcreate-log-dirs=false \ - -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ - -Dseccomp=auto \ - -Dselinux=auto \ - -Dapparmor=auto \ - -Dsmack=false \ + \ + -Dbump-proc-sys-fs-nr-open=false \ + -Dgshadow=false \ -Dima=false \ - -Delfutils=auto \ - -Doomd=false \ -%if %{bootstrap} - -Defi=false \ - -Dbashcompletiondir=no \ - -Dzshcompletiondir=no \ - -Dtranslations=false \ - -Dnss-myhostname=false \ - -Dnss-systemd=false \ -%else - -Defi=true \ - -Dtpm=true \ - -Dtpm2=true \ - -Dman=true \ - -Dhtml=true \ -%endif + -Dldconfig=false \ -Dlibcryptsetup-plugins=false \ + -Doomd=false \ + -Dsmack=false \ + \ + -Dapparmor=%{when_not bootstrap} \ + -Defi=%{when_not bootstrap} \ + -Delfutils=%{when_not bootstrap} \ + -Dhtml=%{when_not bootstrap} \ + -Dman=%{when_not bootstrap} \ + -Dnss-myhostname=%{when_not bootstrap} \ + -Dnss-systemd=%{when_not bootstrap} \ + -Dseccomp=%{when_not bootstrap} \ + -Dselinux=%{when_not bootstrap} \ + -Dtpm=%{when_not bootstrap} \ + -Dtpm2=%{when_not bootstrap} \ + -Dtranslations=%{when_not bootstrap} \ + \ -Dcoredump=%{when coredump} \ -Dimportd=%{when importd} \ -Dmachined=%{when machined} \ -Dnetworkd=%{when networkd} \ -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ - \ - -Dkernel-install=%{when sd_boot} \ + \ -Dgnu-efi=%{when sd_boot} \ + -Dkernel-install=%{when sd_boot} \ -Dsbat-distro= \ - \ - -Dresolve=%{when resolved} \ - -Ddns-servers='' \ + \ -Ddefault-dnssec=no \ + -Ddns-servers='' \ -Ddns-over-tls=%{when resolved openssl} \ - \ + -Dresolve=%{when resolved} \ + \ + -Dhomed=%{when experimental} \ -Dpstore=%{when experimental} \ -Drepart=%{when experimental} \ - -Dhomed=%{when experimental} \ -Duserdb=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ @@ -933,7 +934,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! %{bootstrap} +%if %{without bootstrap} %find_lang systemd %endif @@ -962,7 +963,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! %{bootstrap} +%if %{without bootstrap} pam-config --add --systemd || : %endif @@ -1151,7 +1152,7 @@ fi %sysusers_create systemd-coredump.conf %endif -%if ! %{bootstrap} +%if %{without bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1316,14 +1317,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! %{bootstrap} +%if %{without bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! %{bootstrap} +%if %{without bootstrap} %files lang -f systemd.lang %files -n nss-myhostname From 9cdcd2bbdc03724867b5472fa15276170d8150c4be50dd68a29d99921eb26d7c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 5 Apr 2022 17:57:49 +0000 Subject: [PATCH 702/991] Accepting request 966218 from Base:System - Temporarily disable 'libcryptsetup plugins until dracut 056 is merged in Factory - Add 0001-meson-build-kernel-install-man-page-when-necessary.patch Submitted to upstream: https://github.com/systemd/systemd/pull/22918 - Move systemd-boot and all components managing (secure) UEFI boot into udev sub-package: they may deserve a dedicated sub-package in the future but for now move them to udev so they aren't installed in systemd based containers. - Move a bunch of components operating on (mainly block) devices into udev as without udev they're most likely useless. - spec: enable 'efi' support regardless of whether sd_boot is enabled or not We should support EFI systems even if systemd-boot is not enabled. OBS-URL: https://build.opensuse.org/request/show/966218 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=355 --- ...rnel-install-man-page-when-necessary.patch | 90 +++++++++ files.systemd | 178 ------------------ files.udev | 108 +++++++++++ files.uefi-boot | 43 +++++ systemd.changes | 30 +++ systemd.spec | 61 +++--- 6 files changed, 307 insertions(+), 203 deletions(-) create mode 100644 0001-meson-build-kernel-install-man-page-when-necessary.patch create mode 100644 files.uefi-boot diff --git a/0001-meson-build-kernel-install-man-page-when-necessary.patch b/0001-meson-build-kernel-install-man-page-when-necessary.patch new file mode 100644 index 00000000..8e601854 --- /dev/null +++ b/0001-meson-build-kernel-install-man-page-when-necessary.patch @@ -0,0 +1,90 @@ +From fecffebc9a0f4e2309e9d8d561c0b0c4b6678b0b Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 31 Mar 2022 11:17:10 +0200 +Subject: [PATCH 1/1] meson: build kernel-install man page when necessary + +--- + man/rules/meson.build | 2 +- + meson.build | 5 ++++- + shell-completion/bash/meson.build | 2 +- + shell-completion/zsh/meson.build | 2 +- + src/kernel-install/meson.build | 2 -- + 5 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/man/rules/meson.build b/man/rules/meson.build +index aaa69d3038..f10abdaf0d 100644 +--- a/man/rules/meson.build ++++ b/man/rules/meson.build +@@ -30,7 +30,7 @@ manpages = [ + ['journalctl', '1', [], ''], + ['journald.conf', '5', ['journald.conf.d', 'journald@.conf'], ''], + ['kernel-command-line', '7', [], ''], +- ['kernel-install', '8', [], ''], ++ ['kernel-install', '8', [], 'ENABLE_KERNEL_INSTALL'], + ['libudev', '3', [], ''], + ['loader.conf', '5', [], 'HAVE_GNU_EFI'], + ['locale.conf', '5', [], ''], +diff --git a/meson.build b/meson.build +index e68791b8b4..311895db5e 100644 +--- a/meson.build ++++ b/meson.build +@@ -1675,6 +1675,9 @@ else + endif + conf.set10('ENABLE_IMPORTD', have) + ++want_kernel_install = get_option('kernel-install') ++conf.set10('ENABLE_KERNEL_INSTALL', want_kernel_install) ++ + want_homed = get_option('homed') + if want_homed != 'false' + have = (conf.get('HAVE_OPENSSL') == 1 and +@@ -4143,7 +4146,7 @@ foreach tuple : [ + ['hwdb'], + ['importd'], + ['initrd'], +- ['kernel-install', get_option('kernel-install')], ++ ['kernel-install'], + ['localed'], + ['logind'], + ['machined'], +diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build +index 963a11b6ce..ae6a61e555 100644 +--- a/shell-completion/bash/meson.build ++++ b/shell-completion/bash/meson.build +@@ -31,7 +31,7 @@ items = [['busctl', ''], + ['systemd-path', ''], + ['systemd-run', ''], + ['udevadm', ''], +- ['kernel-install', ''], ++ ['kernel-install', 'ENABLE_KERNEL_INSTALL'], + ['bootctl', 'HAVE_GNU_EFI'], + ['coredumpctl', 'ENABLE_COREDUMP'], + ['homectl', 'ENABLE_HOMED'], +diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build +index 6dca9dd595..bac531798c 100644 +--- a/shell-completion/zsh/meson.build ++++ b/shell-completion/zsh/meson.build +@@ -22,7 +22,7 @@ items = [['_busctl', ''], + ['_systemd-path', ''], + ['_systemd-run', ''], + ['_udevadm', ''], +- ['_kernel-install', ''], ++ ['_kernel-install', 'ENABLE_KERNEL_INSTALL'], + ['_sd_hosts_or_user_at_host', ''], + ['_sd_outputmodes', ''], + ['_sd_unit_files', ''], +diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build +index 508058f1cf..abc3520b62 100644 +--- a/src/kernel-install/meson.build ++++ b/src/kernel-install/meson.build +@@ -1,7 +1,5 @@ + # SPDX-License-Identifier: LGPL-2.1-or-later + +-want_kernel_install = get_option('kernel-install') +- + if want_kernel_install + install_data('kernel-install', + install_mode : 'rwxr-xr-x', +-- +2.34.1 + diff --git a/files.systemd b/files.systemd index b919c2af..044ab793 100644 --- a/files.systemd +++ b/files.systemd @@ -27,18 +27,11 @@ %endif %dir %{_environmentdir} %dir %{_journalcatalogdir} -%if ! %{bootstrap} -%dir %{_libdir}/cryptsetup -%endif %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} -%dir %{_modulesloaddir} -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/binfmt.d -%dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd %dir %{_sysconfdir}/systemd/system @@ -49,10 +42,6 @@ %dir %{_systemd_system_env_generator_dir} %dir %{_systemd_user_env_generator_dir} %dir %{_systemd_util_dir} -%if %{with sd_boot} -%dir %{_systemd_util_dir}/boot -%dir %{_systemd_util_dir}/boot/efi -%endif %dir %{_systemd_util_dir}/ntp-units.d %dir %{_systemd_util_dir}/scripts %dir %{_systemd_util_dir}/system-preset @@ -97,18 +86,13 @@ %ghost %config(noreplace) %{_sysconfdir}/machine-info %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal -%ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/i18n-migrated %license LICENSE.GPL2 %license LICENSE.LGPL2.1 -%if %{with sd_boot} -%{_bindir}/bootctl -%endif %{_bindir}/busctl %{_bindir}/hostnamectl %{_bindir}/journalctl -%{_bindir}/kernel-install %{_bindir}/localectl %{_bindir}/loginctl %{_bindir}/systemctl @@ -118,9 +102,6 @@ %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-creds -%if ! %{bootstrap} -%{_bindir}/systemd-cryptenroll -%endif %{_bindir}/systemd-delta %{_bindir}/systemd-detect-virt %{_bindir}/systemd-dissect @@ -142,14 +123,10 @@ %{_bindir}/systemd-umount %{_bindir}/timedatectl %if ! %{bootstrap} -%if %{with sd_boot} -%{_datadir}/bash-completion/completions/bootctl -%endif %{_datadir}/bash-completion/completions/busctl %{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl %{_datadir}/bash-completion/completions/journalctl -%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/localectl %{_datadir}/bash-completion/completions/loginctl %{_datadir}/bash-completion/completions/portablectl @@ -210,14 +187,10 @@ %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map %if ! %{bootstrap} -%if %{with sd_boot} -%{_datadir}/zsh/site-functions/_bootctl -%endif %{_datadir}/zsh/site-functions/_busctl %{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl %{_datadir}/zsh/site-functions/_journalctl -%{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_localectl %{_datadir}/zsh/site-functions/_loginctl %{_datadir}/zsh/site-functions/_sd_hosts_or_user_at_host @@ -247,14 +220,6 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if ! 0%{bootstrap} -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so -%endif -%if ! 0%{bootstrap} -%if %{with sd_boot} -%{_mandir}/man1/bootctl.1.gz -%endif %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz @@ -268,7 +233,6 @@ %{_mandir}/man1/systemd-cgls.1.gz %{_mandir}/man1/systemd-cgtop.1.gz %{_mandir}/man1/systemd-creds.1.gz -%{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man1/systemd-delta.1.gz %{_mandir}/man1/systemd-detect-virt.1.gz %{_mandir}/man1/systemd-dissect.1.gz @@ -289,26 +253,20 @@ %{_mandir}/man1/systemd.1.gz %{_mandir}/man1/timedatectl.1.gz %{_mandir}/man5/binfmt.d.5.gz -%{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz %{_mandir}/man5/extension-release.5.gz %{_mandir}/man5/hostname.5.gz %{_mandir}/man5/initrd-release.5.gz -%{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/journald.conf.5.gz %{_mandir}/man5/journald.conf.d.5.gz %{_mandir}/man5/journald@.conf.5.gz -%if %{with sd_boot} -%{_mandir}/man5/loader.conf.5.gz -%endif %{_mandir}/man5/locale.conf.5.gz %{_mandir}/man5/localtime.5.gz %{_mandir}/man5/logind.conf.5.gz %{_mandir}/man5/logind.conf.d.5.gz %{_mandir}/man5/machine-id.5.gz %{_mandir}/man5/machine-info.5.gz -%{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/org.freedesktop.LogControl1.5.gz %{_mandir}/man5/org.freedesktop.hostname1.5.gz %{_mandir}/man5/org.freedesktop.locale1.5.gz @@ -353,19 +311,10 @@ %{_mandir}/man5/user.conf.d.5.gz %{_mandir}/man5/user@.service.5.gz %{_mandir}/man5/vconsole.conf.5.gz -%{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/bootup.7.gz %{_mandir}/man7/daemon.7.gz %{_mandir}/man7/file-hierarchy.7.gz %{_mandir}/man7/kernel-command-line.7.gz -%if %{with sd_boot} -%{_mandir}/man7/linuxaa64.efi.stub.7.gz -%{_mandir}/man7/linuxia32.efi.stub.7.gz -%{_mandir}/man7/linuxx64.efi.stub.7.gz -%{_mandir}/man7/sd-boot.7.gz -%{_mandir}/man7/systemd-boot.7.gz -%{_mandir}/man7/systemd-stub.7.gz -%endif %{_mandir}/man7/systemd.directives.7.gz %{_mandir}/man7/systemd.environment-generator.7.gz %{_mandir}/man7/systemd.generator.7.gz @@ -378,7 +327,6 @@ %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz %{_mandir}/man8/halt.8.gz -%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/pam_systemd.8.gz %{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/rc-local.service.8.gz @@ -388,33 +336,16 @@ %{_mandir}/man8/systemd-ask-password-console.service.8.gz %{_mandir}/man8/systemd-ask-password-wall.path.8.gz %{_mandir}/man8/systemd-ask-password-wall.service.8.gz -%{_mandir}/man8/systemd-backlight.8.gz -%{_mandir}/man8/systemd-backlight@.service.8.gz %{_mandir}/man8/systemd-binfmt.8.gz %{_mandir}/man8/systemd-binfmt.service.8.gz -%if %{with sd_boot} -%{_mandir}/man8/systemd-bless-boot-generator.8.gz -%{_mandir}/man8/systemd-bless-boot.8.gz -%{_mandir}/man8/systemd-bless-boot.service.8.gz -%endif %{_mandir}/man8/systemd-boot-check-no-failures.8.gz %{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz -%if %{with sd_boot} -%{_mandir}/man8/systemd-boot-system-token.service.8.gz -%endif -%{_mandir}/man8/systemd-cryptsetup-generator.8.gz -%{_mandir}/man8/systemd-cryptsetup.8.gz -%{_mandir}/man8/systemd-cryptsetup@.service.8.gz %{_mandir}/man8/systemd-debug-generator.8.gz %{_mandir}/man8/systemd-environment-d-generator.8.gz %{_mandir}/man8/systemd-fsck-root.service.8.gz %{_mandir}/man8/systemd-fsck.8.gz %{_mandir}/man8/systemd-fsck@.service.8.gz -%{_mandir}/man8/systemd-fstab-generator.8.gz %{_mandir}/man8/systemd-getty-generator.8.gz -%{_mandir}/man8/systemd-gpt-auto-generator.8.gz -%{_mandir}/man8/systemd-growfs.8.gz -%{_mandir}/man8/systemd-growfs@.service.8.gz %{_mandir}/man8/systemd-halt.service.8.gz %{_mandir}/man8/systemd-hibernate-resume-generator.8.gz %{_mandir}/man8/systemd-hibernate-resume.8.gz @@ -423,9 +354,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-integritysetup-generator.8.gz -%{_mandir}/man8/systemd-integritysetup.8.gz -%{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -440,11 +368,7 @@ %{_mandir}/man8/systemd-logind.8.gz %{_mandir}/man8/systemd-logind.service.8.gz %{_mandir}/man8/systemd-machine-id-commit.service.8.gz -%{_mandir}/man8/systemd-makefs.8.gz -%{_mandir}/man8/systemd-makefs@.service.8.gz %{_mandir}/man8/systemd-mkswap@.service.8.gz -%{_mandir}/man8/systemd-modules-load.8.gz -%{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-poweroff.service.8.gz %{_mandir}/man8/systemd-quotacheck.8.gz %{_mandir}/man8/systemd-quotacheck.service.8.gz @@ -453,9 +377,6 @@ %{_mandir}/man8/systemd-reboot.service.8.gz %{_mandir}/man8/systemd-remount-fs.8.gz %{_mandir}/man8/systemd-remount-fs.service.8.gz -%{_mandir}/man8/systemd-rfkill.8.gz -%{_mandir}/man8/systemd-rfkill.service.8.gz -%{_mandir}/man8/systemd-rfkill.socket.8.gz %{_mandir}/man8/systemd-run-generator.8.gz %{_mandir}/man8/systemd-shutdown.8.gz %{_mandir}/man8/systemd-sleep.8.gz @@ -477,7 +398,6 @@ %{_mandir}/man8/systemd-timesyncd.service.8.gz %{_mandir}/man8/systemd-tmpfiles-clean.service.8.gz %{_mandir}/man8/systemd-tmpfiles-clean.timer.8.gz -%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz %{_mandir}/man8/systemd-tmpfiles-setup.service.8.gz %{_mandir}/man8/systemd-tmpfiles.8.gz %{_mandir}/man8/systemd-update-done.8.gz @@ -488,19 +408,11 @@ %{_mandir}/man8/systemd-user-sessions.service.8.gz %{_mandir}/man8/systemd-vconsole-setup.8.gz %{_mandir}/man8/systemd-vconsole-setup.service.8.gz -%{_mandir}/man8/systemd-veritysetup-generator.8.gz -%{_mandir}/man8/systemd-veritysetup.8.gz -%{_mandir}/man8/systemd-veritysetup@.service.8.gz -%{_mandir}/man8/systemd-volatile-root.8.gz -%{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/systemd-xdg-autostart-generator.8.gz %endif %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so %{_pam_vendordir}/systemd-user -%{_prefix}/lib/kernel/install.conf -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install %{_sbindir}/halt %{_sbindir}/init %{_sbindir}/poweroff @@ -509,12 +421,6 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%if %{with sd_boot} -# These are part of the very few exceptions where glob pattern is allowd. -%{_systemd_util_dir}/boot/efi/linux*.efi.stub -%{_systemd_util_dir}/boot/efi/linux*.elf.stub -%{_systemd_util_dir}/boot/efi/systemd-boot*.efi -%endif %{_systemd_util_dir}/libsystemd-shared-250.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh @@ -522,33 +428,19 @@ %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-ac-power -%{_systemd_util_dir}/systemd-backlight %{_systemd_util_dir}/systemd-binfmt -%if %{with sd_boot} -%{_systemd_util_dir}/systemd-bless-boot -%endif %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-cryptsetup -%endif %{_systemd_util_dir}/systemd-fsck -%{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-integritysetup -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind -%{_systemd_util_dir}/systemd-makefs -%{_systemd_util_dir}/systemd-modules-load %{_systemd_util_dir}/systemd-quotacheck %{_systemd_util_dir}/systemd-random-seed %{_systemd_util_dir}/systemd-remount-fs %{_systemd_util_dir}/systemd-reply-password -%{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-shutdown %{_systemd_util_dir}/systemd-sleep %{_systemd_util_dir}/systemd-socket-proxyd @@ -562,10 +454,6 @@ %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %{_systemd_util_dir}/systemd-vconsole-setup -%if ! %{bootstrap} -%{_systemd_util_dir}/systemd-veritysetup -%endif -%{_systemd_util_dir}/systemd-volatile-root %{_systemd_util_dir}/systemd-xdg-autostart-condition %{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator %{_systemd_util_dir}/user-preset/90-systemd.preset @@ -591,25 +479,11 @@ %{_systemd_util_dir}/user/systemd-tmpfiles-setup.service %{_systemd_util_dir}/user/timers.target %{_systemd_util_dir}/user/xdg-desktop-autostart.target -%if %{with sd_boot} -%{_systemdgeneratordir}/systemd-bless-boot-generator -%endif -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-cryptsetup-generator -%endif %{_systemdgeneratordir}/systemd-debug-generator -%{_systemdgeneratordir}/systemd-fstab-generator %{_systemdgeneratordir}/systemd-getty-generator -%{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-integritysetup-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if ! %{bootstrap} -%{_systemdgeneratordir}/systemd-veritysetup-generator -%endif %{_sysusersdir}/systemd-journal.conf %if %{with networkd} # Yes, systemd-network.conf really belongs here, see @@ -635,10 +509,6 @@ %{_unitdir}/boot-complete.target %{_unitdir}/console-getty.service %{_unitdir}/container-getty@.service -%if ! %{bootstrap} -%{_unitdir}/cryptsetup-pre.target -%{_unitdir}/cryptsetup.target -%endif %{_unitdir}/ctrl-alt-del.target %{_unitdir}/dbus-org.freedesktop.hostname1.service %{_unitdir}/dbus-org.freedesktop.locale1.service @@ -665,19 +535,11 @@ %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service %{_unitdir}/initrd-root-device.target -%if ! %{bootstrap} -%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target -%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target -%endif %{_unitdir}/initrd-root-fs.target %{_unitdir}/initrd-switch-root.service %{_unitdir}/initrd-switch-root.target %{_unitdir}/initrd-usr-fs.target %{_unitdir}/initrd.target -%if ! %{bootstrap} -%{_unitdir}/integritysetup-pre.target -%{_unitdir}/integritysetup.target -%endif %{_unitdir}/kexec.target %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target @@ -700,14 +562,8 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service %{_unitdir}/reboot.target -%if ! %{bootstrap} -%{_unitdir}/remote-cryptsetup.target -%endif %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target -%if ! %{bootstrap} -%{_unitdir}/remote-veritysetup.target -%endif %{_unitdir}/rescue.service %{_unitdir}/rescue.target %{_unitdir}/rpcbind.target @@ -729,14 +585,8 @@ %{_unitdir}/sys-kernel-debug.mount %{_unitdir}/sys-kernel-tracing.mount %{_unitdir}/sysinit.target -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/cryptsetup.target -%endif %{_unitdir}/sysinit.target.wants/dev-hugepages.mount %{_unitdir}/sysinit.target.wants/dev-mqueue.mount -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/integritysetup.target -%endif %{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount %{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount %{_unitdir}/sysinit.target.wants/sys-kernel-config.mount @@ -744,29 +594,18 @@ %{_unitdir}/sysinit.target.wants/sys-kernel-tracing.mount %{_unitdir}/sysinit.target.wants/systemd-ask-password-console.path %{_unitdir}/sysinit.target.wants/systemd-binfmt.service -%if %{with sd_boot} -%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service -%endif %{_unitdir}/sysinit.target.wants/systemd-firstboot.service %{_unitdir}/sysinit.target.wants/systemd-journal-catalog-update.service %{_unitdir}/sysinit.target.wants/systemd-journal-flush.service %{_unitdir}/sysinit.target.wants/systemd-journald.service %{_unitdir}/sysinit.target.wants/systemd-machine-id-commit.service -%{_unitdir}/sysinit.target.wants/systemd-modules-load.service %{_unitdir}/sysinit.target.wants/systemd-random-seed.service %{_unitdir}/sysinit.target.wants/systemd-sysctl.service %{_unitdir}/sysinit.target.wants/systemd-sysusers.service -%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service -%if ! %{bootstrap} -%{_unitdir}/sysinit.target.wants/veritysetup.target -%endif %{_unitdir}/syslog.socket -%if ! %{bootstrap} -%{_unitdir}/system-systemd\x2dcryptsetup.slice -%endif %{_unitdir}/system-update-cleanup.service %{_unitdir}/system-update-pre.target %{_unitdir}/system-update.target @@ -774,16 +613,8 @@ %{_unitdir}/systemd-ask-password-console.service %{_unitdir}/systemd-ask-password-wall.path %{_unitdir}/systemd-ask-password-wall.service -%{_unitdir}/systemd-backlight@.service %{_unitdir}/systemd-binfmt.service -%if %{with sd_boot} -%{_unitdir}/systemd-bless-boot.service -%endif %{_unitdir}/systemd-boot-check-no-failures.service -%if %{with sd_boot} -%{_unitdir}/systemd-boot-system-token.service -%{_unitdir}/systemd-boot-update.service -%endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-firstboot.service %{_unitdir}/systemd-fsck-root.service @@ -805,14 +636,11 @@ %{_unitdir}/systemd-localed.service %{_unitdir}/systemd-logind.service %{_unitdir}/systemd-machine-id-commit.service -%{_unitdir}/systemd-modules-load.service %{_unitdir}/systemd-poweroff.service %{_unitdir}/systemd-quotacheck.service %{_unitdir}/systemd-random-seed.service %{_unitdir}/systemd-reboot.service %{_unitdir}/systemd-remount-fs.service -%{_unitdir}/systemd-rfkill.service -%{_unitdir}/systemd-rfkill.socket %{_unitdir}/systemd-suspend-then-hibernate.service %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service @@ -823,13 +651,11 @@ %{_unitdir}/systemd-timesyncd.service %{_unitdir}/systemd-tmpfiles-clean.service %{_unitdir}/systemd-tmpfiles-clean.timer -%{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service %{_unitdir}/systemd-vconsole-setup.service -%{_unitdir}/systemd-volatile-root.service %{_unitdir}/time-set.target %{_unitdir}/time-sync.target %{_unitdir}/timers.target @@ -842,10 +668,6 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if ! %{bootstrap} -%{_unitdir}/veritysetup-pre.target -%{_unitdir}/veritysetup.target -%endif %{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl diff --git a/files.udev b/files.udev index 52a309e6..273dd04f 100644 --- a/files.udev +++ b/files.udev @@ -2,7 +2,14 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %config(noreplace) %{_sysconfdir}/udev/udev.conf +%if ! %{bootstrap} +# %%dir %{_libdir}/cryptsetup +%dir %{_modulesloaddir} +%endif %dir %{_prefix}/lib/udev +%if ! %{bootstrap} +%dir %{_sysconfdir}/modules-load.d +%endif %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network @@ -12,6 +19,10 @@ %doc %{_udevrulesdir}/README %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%ghost %{_localstatedir}/lib/systemd/backlight +%if ! %{bootstrap} +%{_bindir}/systemd-cryptenroll +%endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if ! %{bootstrap} @@ -22,17 +33,50 @@ %{_datadir}/zsh/site-functions/_udevadm %endif %if ! %{bootstrap} +# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%{_mandir}/man1/systemd-cryptenroll.1.gz +%{_mandir}/man5/crypttab.5.gz +%{_mandir}/man5/integritytab.5.gz +%{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/udev.conf.5.gz +%{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz +%{_mandir}/man8/systemd-backlight.8.gz +%{_mandir}/man8/systemd-backlight@.service.8.gz +%{_mandir}/man8/systemd-cryptsetup-generator.8.gz +%{_mandir}/man8/systemd-cryptsetup.8.gz +%{_mandir}/man8/systemd-cryptsetup@.service.8.gz +%{_mandir}/man8/systemd-fstab-generator.8.gz +%{_mandir}/man8/systemd-gpt-auto-generator.8.gz +%{_mandir}/man8/systemd-growfs.8.gz +%{_mandir}/man8/systemd-growfs@.service.8.gz %{_mandir}/man8/systemd-hwdb.8.gz +%{_mandir}/man8/systemd-integritysetup-generator.8.gz +%{_mandir}/man8/systemd-integritysetup.8.gz +%{_mandir}/man8/systemd-integritysetup@.service.8.gz +%{_mandir}/man8/systemd-makefs.8.gz +%{_mandir}/man8/systemd-makefs@.service.8.gz +%{_mandir}/man8/systemd-modules-load.8.gz +%{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-network-generator.8.gz %{_mandir}/man8/systemd-network-generator.service.8.gz +%{_mandir}/man8/systemd-rfkill.8.gz +%{_mandir}/man8/systemd-rfkill.service.8.gz +%{_mandir}/man8/systemd-rfkill.socket.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz %{_mandir}/man8/systemd-udev-settle.service.8.gz %{_mandir}/man8/systemd-udevd-control.socket.8.gz %{_mandir}/man8/systemd-udevd-kernel.socket.8.gz %{_mandir}/man8/systemd-udevd.8.gz %{_mandir}/man8/systemd-udevd.service.8.gz +%{_mandir}/man8/systemd-veritysetup-generator.8.gz +%{_mandir}/man8/systemd-veritysetup.8.gz +%{_mandir}/man8/systemd-veritysetup@.service.8.gz +%{_mandir}/man8/systemd-volatile-root.8.gz +%{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/udevadm.8.gz %endif %{_prefix}/lib/udev/ata_id @@ -47,8 +91,34 @@ %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link +%{_systemd_util_dir}/systemd-backlight +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-cryptsetup +%endif +%{_systemd_util_dir}/systemd-growfs +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-integritysetup +%endif +%{_systemd_util_dir}/systemd-makefs +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-modules-load +%endif %{_systemd_util_dir}/systemd-network-generator +%{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-udevd +%if ! %{bootstrap} +%{_systemd_util_dir}/systemd-veritysetup +%endif +%{_systemd_util_dir}/systemd-volatile-root +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-cryptsetup-generator +%endif +%{_systemdgeneratordir}/systemd-fstab-generator +%{_systemdgeneratordir}/systemd-gpt-auto-generator +%if ! %{bootstrap} +%{_systemdgeneratordir}/systemd-integritysetup-generator +%{_systemdgeneratordir}/systemd-veritysetup-generator +%endif %{_tmpfilesdir}/static-nodes-permissions.conf %{_udevhwdbdir}/20-OUI.hwdb %{_udevhwdbdir}/20-acpi-vendor.hwdb @@ -105,25 +175,63 @@ %{_udevrulesdir}/75-net-description.rules %{_udevrulesdir}/75-probe_mtd.rules %{_udevrulesdir}/78-sound-card.rules +%if ! %{bootstrap} %{_udevrulesdir}/80-drivers.rules +%endif %{_udevrulesdir}/80-net-setup-link.rules %{_udevrulesdir}/81-net-dhcp.rules %{_udevrulesdir}/90-vconsole.rules +%if ! %{bootstrap} +%{_unitdir}/cryptsetup-pre.target +%{_unitdir}/cryptsetup.target +%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target +%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target +%endif %{_unitdir}/initrd-udevadm-cleanup-db.service +%if ! %{bootstrap} +%{_unitdir}/integritysetup-pre.target +%{_unitdir}/integritysetup.target %{_unitdir}/kmod-static-nodes.service +%{_unitdir}/remote-cryptsetup.target +%{_unitdir}/remote-veritysetup.target +%endif %{_unitdir}/sockets.target.wants/systemd-udevd-control.socket %{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/cryptsetup.target +%{_unitdir}/sysinit.target.wants/integritysetup.target %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service +%endif %{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/systemd-modules-load.service +%endif +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service %{_unitdir}/sysinit.target.wants/systemd-udevd.service +%if ! %{bootstrap} +%{_unitdir}/sysinit.target.wants/veritysetup.target +%{_unitdir}/system-systemd\x2dcryptsetup.slice +%endif +%{_unitdir}/systemd-backlight@.service %{_unitdir}/systemd-hwdb-update.service +%if ! %{bootstrap} +%{_unitdir}/systemd-modules-load.service +%endif %{_unitdir}/systemd-network-generator.service +%{_unitdir}/systemd-rfkill.service +%{_unitdir}/systemd-rfkill.socket +%{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-udev-settle.service %{_unitdir}/systemd-udev-trigger.service %{_unitdir}/systemd-udevd-control.socket %{_unitdir}/systemd-udevd-kernel.socket %{_unitdir}/systemd-udevd.service +%{_unitdir}/systemd-volatile-root.service +%if ! %{bootstrap} +%{_unitdir}/veritysetup-pre.target +%{_unitdir}/veritysetup.target +%endif %if %{with split_usr} /sbin/udevadm %endif diff --git a/files.uefi-boot b/files.uefi-boot new file mode 100644 index 00000000..49bcdfec --- /dev/null +++ b/files.uefi-boot @@ -0,0 +1,43 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%if %{with sd_boot} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%dir %{_systemd_util_dir}/boot +%dir %{_systemd_util_dir}/boot/efi +%{_bindir}/bootctl +%{_bindir}/kernel-install +%if ! %{bootstrap} +%{_datadir}/bash-completion/completions/bootctl +%{_datadir}/bash-completion/completions/kernel-install +%{_datadir}/zsh/site-functions/_bootctl +%{_datadir}/zsh/site-functions/_kernel-install +%{_mandir}/man1/bootctl.1.gz +%{_mandir}/man5/loader.conf.5.gz +%{_mandir}/man7/linuxaa64.efi.stub.7.gz +%{_mandir}/man7/linuxia32.efi.stub.7.gz +%{_mandir}/man7/linuxx64.efi.stub.7.gz +%{_mandir}/man7/sd-boot.7.gz +%{_mandir}/man7/systemd-boot.7.gz +%{_mandir}/man7/systemd-stub.7.gz +%{_mandir}/man8/kernel-install.8.gz +%{_mandir}/man8/systemd-bless-boot-generator.8.gz +%{_mandir}/man8/systemd-bless-boot.8.gz +%{_mandir}/man8/systemd-bless-boot.service.8.gz +%{_mandir}/man8/systemd-boot-system-token.service.8.gz +%endif +%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +# These are part of the very few exceptions where glob pattern is allowd. +%{_systemd_util_dir}/boot/efi/linux*.efi.stub +%{_systemd_util_dir}/boot/efi/linux*.elf.stub +%{_systemd_util_dir}/boot/efi/systemd-boot*.efi +%{_systemd_util_dir}/systemd-bless-boot +%{_systemdgeneratordir}/systemd-bless-boot-generator +%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service +%{_unitdir}/systemd-bless-boot.service +%{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-update.service +%endif diff --git a/systemd.changes b/systemd.changes index e8567d8a..05c8d8ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Thu Mar 31 12:03:19 UTC 2022 - Franck Bui + +- Temporarily disable 'libcryptsetup plugins until dracut 056 is merged in + Factory + +------------------------------------------------------------------- +Thu Mar 31 11:22:12 UTC 2022 - Franck Bui + +- Add 0001-meson-build-kernel-install-man-page-when-necessary.patch + + Submitted to upstream: https://github.com/systemd/systemd/pull/22918 + +------------------------------------------------------------------- +Mon Mar 28 18:36:39 UTC 2022 - Franck Bui + +- Move systemd-boot and all components managing (secure) UEFI boot into udev + sub-package: they may deserve a dedicated sub-package in the future but for + now move them to udev so they aren't installed in systemd based containers. + +- Move a bunch of components operating on (mainly block) devices into udev as + without udev they're most likely useless. + +------------------------------------------------------------------- +Mon Mar 28 17:02:04 UTC 2022 - Franck Bui + +- spec: enable 'efi' support regardless of whether sd_boot is enabled or not + + We should support EFI systems even if systemd-boot is not enabled. + ------------------------------------------------------------------- Wed Mar 23 15:17:40 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 464b6839..355fa44a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -87,9 +87,7 @@ BuildRequires: polkit BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) -BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libdw) -BuildRequires: pkgconfig(libfido2) BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) @@ -97,9 +95,6 @@ BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) -BuildRequires: pkgconfig(tss2-esys) -BuildRequires: pkgconfig(tss2-mu) -BuildRequires: pkgconfig(tss2-rc) %ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) >= 2.3.1 %endif @@ -117,20 +112,7 @@ BuildRequires: python3-jinja2 BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(libpci) >= 3 -%if %{with importd} -BuildRequires: pkgconfig(bzip2) -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(zlib) -%endif -%if %{with journal_remote} -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 -%endif -%if %{with sd_boot} -BuildRequires: gnu-efi -%endif %if %{bootstrap} #!BuildIgnore: dbus-1 @@ -156,11 +138,6 @@ Requires: util-linux >= 2.27.1 Requires: group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl Recommends: libpcre2-8-0 -# ditto but dlopen()ed by systemd-cryptenroll -Recommends: libfido2 -Recommends: libtss2-esys0 -Recommends: libtss2-mu0 -Recommends: libtss2-rc0 Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -201,6 +178,7 @@ Source202: files.container Source203: files.network Source204: files.devel Source205: files.sysvcompat +Source206: files.uefi-boot # # All changes backported from upstream are tracked by the git repository, which @@ -231,6 +209,7 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. +Patch6000: 0001-meson-build-kernel-install-man-page-when-necessary.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -328,6 +307,9 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +%if %{with sd_boot} +BuildRequires: gnu-efi +%endif Requires: %{name} = %{version}-%{release} %systemd_requires Requires: filesystem @@ -337,6 +319,22 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils +%if ! %{bootstrap} +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 +BuildRequires: pkgconfig(libkmod) >= 15 +# Enable fido2 and tpm supports in systemd-cryptsetup, systemd-enroll. However +# these tools are not linked against the libs directly but instead are +# dlopen()ed at runtime to avoid hard dependencies. Hence the use of soft +# dependencies. +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) +Recommends: libfido2 +Recommends: libtss2-esys0 +Recommends: libtss2-mu0 +Recommends: libtss2-rc0 +%endif Conflicts: ConsoleKit < 0.4.1 Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 @@ -385,6 +383,11 @@ This package contains systemd-coredump, coredumpctl. %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later +%if %{with importd} +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(zlib) +%endif Requires: %{name} = %{version}-%{release} %systemd_requires Obsoletes: nss-mymachines < %{version}-%{release} @@ -494,6 +497,8 @@ To activate this NSS module, you will need to include it in %package journal-remote Summary: Gateway for serving journal events over the network using HTTP License: LGPL-2.1-or-later +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 Requires: %{name} = %{version}-%{release} %systemd_requires @@ -675,16 +680,20 @@ Have fun with these services at your own risk. -Delfutils=auto \ -Doomd=false \ %if %{bootstrap} + -Defi=false \ -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ -Dtranslations=false \ -Dnss-myhostname=false \ -Dnss-systemd=false \ %else + -Defi=true \ + -Dtpm=true \ -Dtpm2=true \ -Dman=true \ -Dhtml=true \ %endif + -Dlibcryptsetup-plugins=false \ -Dcoredump=%{when coredump} \ -Dimportd=%{when importd} \ -Dmachined=%{when machined} \ @@ -692,7 +701,7 @@ Have fun with these services at your own risk. -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ \ - -Defi=%{when sd_boot} \ + -Dkernel-install=%{when sd_boot} \ -Dgnu-efi=%{when sd_boot} \ -Dsbat-distro= \ \ @@ -994,7 +1003,6 @@ fi # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -%systemd_post remote-cryptsetup.target %systemd_post getty@.service %systemd_post machines.target %systemd_post remote-fs.target @@ -1073,6 +1081,8 @@ fi %regenerate_initrd_post %udev_hwdb_update +%systemd_post remote-cryptsetup.target + # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : @@ -1255,6 +1265,7 @@ fi %files -n udev%{?mini} %defattr(-,root,root) %include %{SOURCE201} +%include %{SOURCE206} %files container %defattr(-,root,root) From e20e05452856027a7900ee10f38dd202aace111a6f30cf3735e5e73a09d1194d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 6 Apr 2022 10:14:30 +0000 Subject: [PATCH 703/991] - Import commit e43a1b018899266b764ab81afb9c30fb417675c6 1c229f8fc1 cryptsetup: fall back to traditional unlocking if any TPM2 operation fails 8881f21539 cryptsetup: fix typo 5882148902 journald: make use of CLAMP() in cache_space_refresh() 6ee0601f73 journald: make sure journal_file_open() doesn't leave a corrupted file around after failing (bsc#1198114) fe928f3d49 fs-util: make sure openat_report_new() initializes return param also on shortcut 3881af1806 fs-util: fix typos in comments 96060b73ba journal-file: port journal_file_open() to openat_report_new() 611d9955bb fs-util: add openat_report_new() wrapper around openat() f16edb41d4 network: ignore all errors in loading .network files (bsc#1197968) 5422730a7b meson: build kernel-install man page when necessary 45c627cfc2 build: include status of TPM2 in the feature string show by --version - Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch It's been merged in the SUSE git repo. This includes the following bug fixes: - upstream commit 34357545590d4791d1acbbeb07ae8f7636e187cb (bsc#1198093) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1274 --- ...rnel-install-man-page-when-necessary.patch | 90 ------------------- systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 - systemd-v250.4+suse.47.ge43a1b0188.tar.xz | 3 + systemd.changes | 25 ++++++ systemd.spec | 3 +- 5 files changed, 29 insertions(+), 95 deletions(-) delete mode 100644 0001-meson-build-kernel-install-man-page-when-necessary.patch delete mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz create mode 100644 systemd-v250.4+suse.47.ge43a1b0188.tar.xz diff --git a/0001-meson-build-kernel-install-man-page-when-necessary.patch b/0001-meson-build-kernel-install-man-page-when-necessary.patch deleted file mode 100644 index 8e601854..00000000 --- a/0001-meson-build-kernel-install-man-page-when-necessary.patch +++ /dev/null @@ -1,90 +0,0 @@ -From fecffebc9a0f4e2309e9d8d561c0b0c4b6678b0b Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 31 Mar 2022 11:17:10 +0200 -Subject: [PATCH 1/1] meson: build kernel-install man page when necessary - ---- - man/rules/meson.build | 2 +- - meson.build | 5 ++++- - shell-completion/bash/meson.build | 2 +- - shell-completion/zsh/meson.build | 2 +- - src/kernel-install/meson.build | 2 -- - 5 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/man/rules/meson.build b/man/rules/meson.build -index aaa69d3038..f10abdaf0d 100644 ---- a/man/rules/meson.build -+++ b/man/rules/meson.build -@@ -30,7 +30,7 @@ manpages = [ - ['journalctl', '1', [], ''], - ['journald.conf', '5', ['journald.conf.d', 'journald@.conf'], ''], - ['kernel-command-line', '7', [], ''], -- ['kernel-install', '8', [], ''], -+ ['kernel-install', '8', [], 'ENABLE_KERNEL_INSTALL'], - ['libudev', '3', [], ''], - ['loader.conf', '5', [], 'HAVE_GNU_EFI'], - ['locale.conf', '5', [], ''], -diff --git a/meson.build b/meson.build -index e68791b8b4..311895db5e 100644 ---- a/meson.build -+++ b/meson.build -@@ -1675,6 +1675,9 @@ else - endif - conf.set10('ENABLE_IMPORTD', have) - -+want_kernel_install = get_option('kernel-install') -+conf.set10('ENABLE_KERNEL_INSTALL', want_kernel_install) -+ - want_homed = get_option('homed') - if want_homed != 'false' - have = (conf.get('HAVE_OPENSSL') == 1 and -@@ -4143,7 +4146,7 @@ foreach tuple : [ - ['hwdb'], - ['importd'], - ['initrd'], -- ['kernel-install', get_option('kernel-install')], -+ ['kernel-install'], - ['localed'], - ['logind'], - ['machined'], -diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build -index 963a11b6ce..ae6a61e555 100644 ---- a/shell-completion/bash/meson.build -+++ b/shell-completion/bash/meson.build -@@ -31,7 +31,7 @@ items = [['busctl', ''], - ['systemd-path', ''], - ['systemd-run', ''], - ['udevadm', ''], -- ['kernel-install', ''], -+ ['kernel-install', 'ENABLE_KERNEL_INSTALL'], - ['bootctl', 'HAVE_GNU_EFI'], - ['coredumpctl', 'ENABLE_COREDUMP'], - ['homectl', 'ENABLE_HOMED'], -diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build -index 6dca9dd595..bac531798c 100644 ---- a/shell-completion/zsh/meson.build -+++ b/shell-completion/zsh/meson.build -@@ -22,7 +22,7 @@ items = [['_busctl', ''], - ['_systemd-path', ''], - ['_systemd-run', ''], - ['_udevadm', ''], -- ['_kernel-install', ''], -+ ['_kernel-install', 'ENABLE_KERNEL_INSTALL'], - ['_sd_hosts_or_user_at_host', ''], - ['_sd_outputmodes', ''], - ['_sd_unit_files', ''], -diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build -index 508058f1cf..abc3520b62 100644 ---- a/src/kernel-install/meson.build -+++ b/src/kernel-install/meson.build -@@ -1,7 +1,5 @@ - # SPDX-License-Identifier: LGPL-2.1-or-later - --want_kernel_install = get_option('kernel-install') -- - if want_kernel_install - install_data('kernel-install', - install_mode : 'rwxr-xr-x', --- -2.34.1 - diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz deleted file mode 100644 index d2bee6fe..00000000 --- a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 -size 7626056 diff --git a/systemd-v250.4+suse.47.ge43a1b0188.tar.xz b/systemd-v250.4+suse.47.ge43a1b0188.tar.xz new file mode 100644 index 00000000..982a5ee2 --- /dev/null +++ b/systemd-v250.4+suse.47.ge43a1b0188.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6633132c53177f605c5744b6cc412c823e32249545ffd0520ac56ef33c270d9c +size 7626800 diff --git a/systemd.changes b/systemd.changes index 5bf4b55e..870cfb44 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Apr 6 09:55:10 UTC 2022 - Franck Bui + +- Import commit e43a1b018899266b764ab81afb9c30fb417675c6 + + 1c229f8fc1 cryptsetup: fall back to traditional unlocking if any TPM2 operation fails + 8881f21539 cryptsetup: fix typo + 5882148902 journald: make use of CLAMP() in cache_space_refresh() + 6ee0601f73 journald: make sure journal_file_open() doesn't leave a corrupted file around after failing (bsc#1198114) + fe928f3d49 fs-util: make sure openat_report_new() initializes return param also on shortcut + 3881af1806 fs-util: fix typos in comments + 96060b73ba journal-file: port journal_file_open() to openat_report_new() + 611d9955bb fs-util: add openat_report_new() wrapper around openat() + f16edb41d4 network: ignore all errors in loading .network files (bsc#1197968) + 5422730a7b meson: build kernel-install man page when necessary + 45c627cfc2 build: include status of TPM2 in the feature string show by --version + +- Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch + + It's been merged in the SUSE git repo. + ------------------------------------------------------------------- Mon Apr 4 11:40:30 UTC 2022 - Franck Bui @@ -106,6 +127,10 @@ Tue Mar 8 09:41:42 UTC 2022 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for details. + This includes the following bug fixes: + + - upstream commit 34357545590d4791d1acbbeb07ae8f7636e187cb (bsc#1198093) + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch diff --git a/systemd.spec b/systemd.spec index 1e8a6dca..de7564f1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.35.g8ef8dfd540 +%define suse_version +suse.47.ge43a1b0188 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -209,7 +209,6 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch6000: 0001-meson-build-kernel-install-man-page-when-necessary.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 770c459ef32717b3770adff613845463bbe05d2e8202dbbd004a2045a19212f5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 7 Apr 2022 19:33:15 +0000 Subject: [PATCH 704/991] - Move coredumpctl completion files into systemd-coredump sub-package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1275 --- files.systemd | 2 -- systemd.changes | 5 +++++ systemd.spec | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/files.systemd b/files.systemd index c9531766..8e3481a9 100644 --- a/files.systemd +++ b/files.systemd @@ -124,7 +124,6 @@ %{_bindir}/timedatectl %if %{without bootstrap} %{_datadir}/bash-completion/completions/busctl -%{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl %{_datadir}/bash-completion/completions/journalctl %{_datadir}/bash-completion/completions/localectl @@ -188,7 +187,6 @@ %{_datadir}/systemd/language-fallback-map %if %{without bootstrap} %{_datadir}/zsh/site-functions/_busctl -%{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl %{_datadir}/zsh/site-functions/_journalctl %{_datadir}/zsh/site-functions/_localectl diff --git a/systemd.changes b/systemd.changes index 870cfb44..9c27984a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 7 19:27:11 UTC 2022 - Franck Bui + +- Move coredumpctl completion files into systemd-coredump sub-package. + ------------------------------------------------------------------- Wed Apr 6 09:55:10 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index de7564f1..745280cc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1317,6 +1317,8 @@ fi %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump %if %{without bootstrap} +%{_datadir}/bash-completion/completions/coredumpctl +%{_datadir}/zsh/site-functions/_coredumpctl %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* From 303f28f4c1f1a2c72c9fdcdc5c8616d0eaf6343061195f03447ff508beae4c5b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 7 Apr 2022 22:27:23 +0000 Subject: [PATCH 705/991] Accepting request 967294 from Base:System - Import commit e43a1b018899266b764ab81afb9c30fb417675c6 1c229f8fc1 cryptsetup: fall back to traditional unlocking if any TPM2 operation fails 8881f21539 cryptsetup: fix typo 5882148902 journald: make use of CLAMP() in cache_space_refresh() 6ee0601f73 journald: make sure journal_file_open() doesn't leave a corrupted file around after failing (bsc#1198114) fe928f3d49 fs-util: make sure openat_report_new() initializes return param also on shortcut 3881af1806 fs-util: fix typos in comments 96060b73ba journal-file: port journal_file_open() to openat_report_new() 611d9955bb fs-util: add openat_report_new() wrapper around openat() f16edb41d4 network: ignore all errors in loading .network files (bsc#1197968) 5422730a7b meson: build kernel-install man page when necessary 45c627cfc2 build: include status of TPM2 in the feature string show by --version - Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch It's been merged in the SUSE git repo. - spec: define %bootstrap with %bcond_with so it can be used with %when. Also re-order the meson options a bit. - spec: make sure /lib exists when installing conf files in /lib/modprobe.d This includes the following bug fixes: - upstream commit 34357545590d4791d1acbbeb07ae8f7636e187cb (bsc#1198093) OBS-URL: https://build.opensuse.org/request/show/967294 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=356 --- ...rnel-install-man-page-when-necessary.patch | 90 ------------- files.container | 2 +- files.devel | 2 +- files.systemd | 10 +- files.udev | 40 +++--- files.uefi-boot | 2 +- systemd-v250.4+suse.35.g8ef8dfd540.tar.xz | 3 - systemd-v250.4+suse.47.ge43a1b0188.tar.xz | 3 + systemd.changes | 36 ++++++ systemd.spec | 119 +++++++++--------- 10 files changed, 127 insertions(+), 180 deletions(-) delete mode 100644 0001-meson-build-kernel-install-man-page-when-necessary.patch delete mode 100644 systemd-v250.4+suse.35.g8ef8dfd540.tar.xz create mode 100644 systemd-v250.4+suse.47.ge43a1b0188.tar.xz diff --git a/0001-meson-build-kernel-install-man-page-when-necessary.patch b/0001-meson-build-kernel-install-man-page-when-necessary.patch deleted file mode 100644 index 8e601854..00000000 --- a/0001-meson-build-kernel-install-man-page-when-necessary.patch +++ /dev/null @@ -1,90 +0,0 @@ -From fecffebc9a0f4e2309e9d8d561c0b0c4b6678b0b Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 31 Mar 2022 11:17:10 +0200 -Subject: [PATCH 1/1] meson: build kernel-install man page when necessary - ---- - man/rules/meson.build | 2 +- - meson.build | 5 ++++- - shell-completion/bash/meson.build | 2 +- - shell-completion/zsh/meson.build | 2 +- - src/kernel-install/meson.build | 2 -- - 5 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/man/rules/meson.build b/man/rules/meson.build -index aaa69d3038..f10abdaf0d 100644 ---- a/man/rules/meson.build -+++ b/man/rules/meson.build -@@ -30,7 +30,7 @@ manpages = [ - ['journalctl', '1', [], ''], - ['journald.conf', '5', ['journald.conf.d', 'journald@.conf'], ''], - ['kernel-command-line', '7', [], ''], -- ['kernel-install', '8', [], ''], -+ ['kernel-install', '8', [], 'ENABLE_KERNEL_INSTALL'], - ['libudev', '3', [], ''], - ['loader.conf', '5', [], 'HAVE_GNU_EFI'], - ['locale.conf', '5', [], ''], -diff --git a/meson.build b/meson.build -index e68791b8b4..311895db5e 100644 ---- a/meson.build -+++ b/meson.build -@@ -1675,6 +1675,9 @@ else - endif - conf.set10('ENABLE_IMPORTD', have) - -+want_kernel_install = get_option('kernel-install') -+conf.set10('ENABLE_KERNEL_INSTALL', want_kernel_install) -+ - want_homed = get_option('homed') - if want_homed != 'false' - have = (conf.get('HAVE_OPENSSL') == 1 and -@@ -4143,7 +4146,7 @@ foreach tuple : [ - ['hwdb'], - ['importd'], - ['initrd'], -- ['kernel-install', get_option('kernel-install')], -+ ['kernel-install'], - ['localed'], - ['logind'], - ['machined'], -diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build -index 963a11b6ce..ae6a61e555 100644 ---- a/shell-completion/bash/meson.build -+++ b/shell-completion/bash/meson.build -@@ -31,7 +31,7 @@ items = [['busctl', ''], - ['systemd-path', ''], - ['systemd-run', ''], - ['udevadm', ''], -- ['kernel-install', ''], -+ ['kernel-install', 'ENABLE_KERNEL_INSTALL'], - ['bootctl', 'HAVE_GNU_EFI'], - ['coredumpctl', 'ENABLE_COREDUMP'], - ['homectl', 'ENABLE_HOMED'], -diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build -index 6dca9dd595..bac531798c 100644 ---- a/shell-completion/zsh/meson.build -+++ b/shell-completion/zsh/meson.build -@@ -22,7 +22,7 @@ items = [['_busctl', ''], - ['_systemd-path', ''], - ['_systemd-run', ''], - ['_udevadm', ''], -- ['_kernel-install', ''], -+ ['_kernel-install', 'ENABLE_KERNEL_INSTALL'], - ['_sd_hosts_or_user_at_host', ''], - ['_sd_outputmodes', ''], - ['_sd_unit_files', ''], -diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build -index 508058f1cf..abc3520b62 100644 ---- a/src/kernel-install/meson.build -+++ b/src/kernel-install/meson.build -@@ -1,7 +1,5 @@ - # SPDX-License-Identifier: LGPL-2.1-or-later - --want_kernel_install = get_option('kernel-install') -- - if want_kernel_install - install_data('kernel-install', - install_mode : 'rwxr-xr-x', --- -2.34.1 - diff --git a/files.container b/files.container index cae9352f..181cd26c 100644 --- a/files.container +++ b/files.container @@ -3,7 +3,7 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn %{_mandir}/man1/systemd-nspawn.1.gz diff --git a/files.devel b/files.devel index 7cd0b082..c1a2301c 100644 --- a/files.devel +++ b/files.devel @@ -7,7 +7,7 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if ! %{bootstrap} +%if %{without bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz diff --git a/files.systemd b/files.systemd index 044ab793..c9531766 100644 --- a/files.systemd +++ b/files.systemd @@ -8,7 +8,7 @@ %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} -%if ! %{bootstrap} +%if %{without bootstrap} %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %endif @@ -21,7 +21,7 @@ %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions %dir %{_datadir}/systemd -%if ! %{bootstrap} +%if %{without bootstrap} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %endif @@ -122,7 +122,7 @@ %{_bindir}/systemd-tty-ask-password-agent %{_bindir}/systemd-umount %{_bindir}/timedatectl -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/busctl %{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl @@ -186,7 +186,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/zsh/site-functions/_busctl %{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl @@ -219,7 +219,7 @@ %{_journalcatalogdir}/systemd.ru.catalog %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog -%if ! 0%{bootstrap} +%if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz diff --git a/files.udev b/files.udev index 273dd04f..cad13c0c 100644 --- a/files.udev +++ b/files.udev @@ -2,12 +2,12 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %config(noreplace) %{_sysconfdir}/udev/udev.conf -%if ! %{bootstrap} +%if %{without bootstrap} # %%dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} %endif %dir %{_prefix}/lib/udev -%if ! %{bootstrap} +%if %{without bootstrap} %dir %{_sysconfdir}/modules-load.d %endif %dir %{_sysconfdir}/udev @@ -20,19 +20,19 @@ %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_localstatedir}/lib/systemd/backlight -%if ! %{bootstrap} +%if %{without bootstrap} %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/zsh/site-functions/_udevadm %endif -%if ! %{bootstrap} +%if %{without bootstrap} # %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so # %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so # %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so @@ -92,30 +92,30 @@ %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link %{_systemd_util_dir}/systemd-backlight -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-growfs -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-integritysetup %endif %{_systemd_util_dir}/systemd-makefs -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-modules-load %endif %{_systemd_util_dir}/systemd-network-generator %{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-udevd -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif %{_systemdgeneratordir}/systemd-fstab-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator -%if ! %{bootstrap} +%if %{without bootstrap} %{_systemdgeneratordir}/systemd-integritysetup-generator %{_systemdgeneratordir}/systemd-veritysetup-generator %endif @@ -175,20 +175,20 @@ %{_udevrulesdir}/75-net-description.rules %{_udevrulesdir}/75-probe_mtd.rules %{_udevrulesdir}/78-sound-card.rules -%if ! %{bootstrap} +%if %{without bootstrap} %{_udevrulesdir}/80-drivers.rules %endif %{_udevrulesdir}/80-net-setup-link.rules %{_udevrulesdir}/81-net-dhcp.rules %{_udevrulesdir}/90-vconsole.rules -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif %{_unitdir}/initrd-udevadm-cleanup-db.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/integritysetup-pre.target %{_unitdir}/integritysetup.target %{_unitdir}/kmod-static-nodes.service @@ -197,25 +197,25 @@ %endif %{_unitdir}/sockets.target.wants/systemd-udevd-control.socket %{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %{_unitdir}/sysinit.target.wants/integritysetup.target %{_unitdir}/sysinit.target.wants/kmod-static-nodes.service %endif %{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/sysinit.target.wants/systemd-modules-load.service %endif %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service %{_unitdir}/sysinit.target.wants/systemd-udevd.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/systemd-backlight@.service %{_unitdir}/systemd-hwdb-update.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/systemd-modules-load.service %endif %{_unitdir}/systemd-network-generator.service @@ -228,7 +228,7 @@ %{_unitdir}/systemd-udevd-kernel.socket %{_unitdir}/systemd-udevd.service %{_unitdir}/systemd-volatile-root.service -%if ! %{bootstrap} +%if %{without bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif diff --git a/files.uefi-boot b/files.uefi-boot index 49bcdfec..70e46b69 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -8,7 +8,7 @@ %dir %{_systemd_util_dir}/boot/efi %{_bindir}/bootctl %{_bindir}/kernel-install -%if ! %{bootstrap} +%if %{without bootstrap} %{_datadir}/bash-completion/completions/bootctl %{_datadir}/bash-completion/completions/kernel-install %{_datadir}/zsh/site-functions/_bootctl diff --git a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz b/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz deleted file mode 100644 index d2bee6fe..00000000 --- a/systemd-v250.4+suse.35.g8ef8dfd540.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed75c74660149af8a8fe454169f9cd295aa329c2638d2de8474d8eed869112d5 -size 7626056 diff --git a/systemd-v250.4+suse.47.ge43a1b0188.tar.xz b/systemd-v250.4+suse.47.ge43a1b0188.tar.xz new file mode 100644 index 00000000..982a5ee2 --- /dev/null +++ b/systemd-v250.4+suse.47.ge43a1b0188.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6633132c53177f605c5744b6cc412c823e32249545ffd0520ac56ef33c270d9c +size 7626800 diff --git a/systemd.changes b/systemd.changes index 05c8d8ec..870cfb44 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Wed Apr 6 09:55:10 UTC 2022 - Franck Bui + +- Import commit e43a1b018899266b764ab81afb9c30fb417675c6 + + 1c229f8fc1 cryptsetup: fall back to traditional unlocking if any TPM2 operation fails + 8881f21539 cryptsetup: fix typo + 5882148902 journald: make use of CLAMP() in cache_space_refresh() + 6ee0601f73 journald: make sure journal_file_open() doesn't leave a corrupted file around after failing (bsc#1198114) + fe928f3d49 fs-util: make sure openat_report_new() initializes return param also on shortcut + 3881af1806 fs-util: fix typos in comments + 96060b73ba journal-file: port journal_file_open() to openat_report_new() + 611d9955bb fs-util: add openat_report_new() wrapper around openat() + f16edb41d4 network: ignore all errors in loading .network files (bsc#1197968) + 5422730a7b meson: build kernel-install man page when necessary + 45c627cfc2 build: include status of TPM2 in the feature string show by --version + +- Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch + + It's been merged in the SUSE git repo. + +------------------------------------------------------------------- +Mon Apr 4 11:40:30 UTC 2022 - Franck Bui + +- spec: define %bootstrap with %bcond_with so it can be used with %when. Also + re-order the meson options a bit. + +------------------------------------------------------------------- +Mon Apr 4 08:49:40 UTC 2022 - Franck Bui + +- spec: make sure /lib exists when installing conf files in /lib/modprobe.d + ------------------------------------------------------------------- Thu Mar 31 12:03:19 UTC 2022 - Franck Bui @@ -95,6 +127,10 @@ Tue Mar 8 09:41:42 UTC 2022 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v250/NEWS for details. + This includes the following bug fixes: + + - upstream commit 34357545590d4791d1acbbeb07ae8f7636e187cb (bsc#1198093) + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch diff --git a/systemd.spec b/systemd.spec index 355fa44a..de7564f1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,16 +18,8 @@ %global flavor @BUILD_FLAVOR@%{nil} -%if "%{flavor}" == "mini" -%define bootstrap 1 -%define mini -mini -%else -%define bootstrap 0 -%define mini %nil -%endif - %define min_kernel_version 4.5 -%define suse_version +suse.35.g8ef8dfd540 +%define suse_version +suse.47.ge43a1b0188 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -37,7 +29,13 @@ %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} -%if %{bootstrap} +%define __when_not_1() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:true}} +%define __when_not_2() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:%{2}}} +%define when_not() %{expand:%%__when_not_%# %{*}} + +%if "%{flavor}" == "mini" +%define mini -mini +%bcond_without bootstrap %bcond_with coredump %bcond_with importd %bcond_with journal_remote @@ -50,6 +48,8 @@ %bcond_with experimental %bcond_with testsuite %else +%define mini %nil +%bcond_with bootstrap %bcond_without coredump %bcond_without importd %bcond_without journal_remote @@ -76,7 +76,7 @@ Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if ! %{bootstrap} +%if %{without bootstrap} BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -114,7 +114,7 @@ BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 BuildRequires: pkgconfig(libpci) >= 3 -%if %{bootstrap} +%if %{with bootstrap} #!BuildIgnore: dbus-1 Provides: systemd = %{version}-%{release} Conflicts: systemd @@ -209,7 +209,6 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # upstream and need an urgent fix. Even in this case, the patches are # temporary and should be removed as soon as a fix is merged by # upstream. -Patch6000: 0001-meson-build-kernel-install-man-page-when-necessary.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -224,7 +223,7 @@ drop-in replacement for sysvinit. %package doc Summary: HTML documentation for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if %{with bootstrap} Conflicts: systemd-doc Requires: this-is-only-for-build-envs %else @@ -242,7 +241,7 @@ Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} -%if %{bootstrap} +%if %{with bootstrap} Provides: systemd-devel = %{version}-%{release} Conflicts: systemd-devel Provides: libudev-devel = %{version}-%{release} @@ -275,7 +274,7 @@ Please note that the content of this package is considered as deprecated. %package -n libsystemd0%{?mini} Summary: Component library for systemd License: LGPL-2.1-or-later -%if %{bootstrap} +%if %{with bootstrap} Conflicts: kiwi Conflicts: libsystemd0 Provides: libsystemd0 = %{version}-%{release} @@ -319,7 +318,7 @@ Requires: group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils -%if ! %{bootstrap} +%if %{without bootstrap} BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libkmod) >= 15 # Enable fido2 and tpm supports in systemd-cryptsetup, systemd-enroll. However @@ -340,7 +339,7 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -%if %{bootstrap} +%if %{with bootstrap} Conflicts: udev Provides: udev = %{version}-%{release} %endif @@ -355,7 +354,7 @@ call tools to initialize a device, or load needed kernel modules. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later -%if %{bootstrap} +%if %{with bootstrap} Conflicts: kiwi Conflicts: libudev1 Provides: libudev1 = %{version}-%{release} @@ -394,7 +393,7 @@ Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn -%if %{bootstrap} +%if %{with bootstrap} Conflicts: systemd-container Provides: systemd-container = %{version}-%{release} %endif @@ -465,7 +464,7 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if ! %{bootstrap} +%if %{without bootstrap} %package -n nss-systemd Summary: Plugin for local virtual host name resolution License: LGPL-2.1-or-later @@ -634,7 +633,7 @@ The package contains: homed, pstore, repart, userdbd. Have fun with these services at your own risk. %endif -%if ! %{bootstrap} +%if %{without bootstrap} %lang_package %endif @@ -655,64 +654,65 @@ Have fun with these services at your own risk. -Dsystem-gid-max=499 \ -Dadm-group=false \ -Dwheel-group=false \ - -Dgshadow=false \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ - -Dldconfig=false \ -Dpamconfdir=no \ -Dpamlibdir=%{_pam_moduledir} \ -Dxinitrcdir=%{xinitconfdir}/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ +%if %{with bootstrap} + -Dbashcompletiondir=no \ + -Dzshcompletiondir=no \ +%endif %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ %endif -Drc-local=/etc/init.d/boot.local \ -Dcreate-log-dirs=false \ - -Dbump-proc-sys-fs-nr-open=false \ -Ddebug-shell=/bin/bash \ - -Dseccomp=auto \ - -Dselinux=auto \ - -Dapparmor=auto \ - -Dsmack=false \ + \ + -Dbump-proc-sys-fs-nr-open=false \ + -Dgshadow=false \ -Dima=false \ - -Delfutils=auto \ - -Doomd=false \ -%if %{bootstrap} - -Defi=false \ - -Dbashcompletiondir=no \ - -Dzshcompletiondir=no \ - -Dtranslations=false \ - -Dnss-myhostname=false \ - -Dnss-systemd=false \ -%else - -Defi=true \ - -Dtpm=true \ - -Dtpm2=true \ - -Dman=true \ - -Dhtml=true \ -%endif + -Dldconfig=false \ -Dlibcryptsetup-plugins=false \ + -Doomd=false \ + -Dsmack=false \ + \ + -Dapparmor=%{when_not bootstrap} \ + -Defi=%{when_not bootstrap} \ + -Delfutils=%{when_not bootstrap} \ + -Dhtml=%{when_not bootstrap} \ + -Dman=%{when_not bootstrap} \ + -Dnss-myhostname=%{when_not bootstrap} \ + -Dnss-systemd=%{when_not bootstrap} \ + -Dseccomp=%{when_not bootstrap} \ + -Dselinux=%{when_not bootstrap} \ + -Dtpm=%{when_not bootstrap} \ + -Dtpm2=%{when_not bootstrap} \ + -Dtranslations=%{when_not bootstrap} \ + \ -Dcoredump=%{when coredump} \ -Dimportd=%{when importd} \ -Dmachined=%{when machined} \ -Dnetworkd=%{when networkd} \ -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ - \ - -Dkernel-install=%{when sd_boot} \ + \ -Dgnu-efi=%{when sd_boot} \ + -Dkernel-install=%{when sd_boot} \ -Dsbat-distro= \ - \ - -Dresolve=%{when resolved} \ - -Ddns-servers='' \ + \ -Ddefault-dnssec=no \ + -Ddns-servers='' \ -Ddns-over-tls=%{when resolved openssl} \ - \ + -Dresolve=%{when resolved} \ + \ + -Dhomed=%{when experimental} \ -Dpstore=%{when experimental} \ -Drepart=%{when experimental} \ - -Dhomed=%{when experimental} \ -Duserdb=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ @@ -774,8 +774,9 @@ rm -f %{buildroot}/etc/systemd/system/default.target install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} # kmod keeps insisting on using /lib on SLE. -if [ "%{_modprobedir}" != /usr/lib/modprobe.d ]; then - mv %{buildroot}/usr/lib/modprobe.d %{buildroot}%{_modprobedir} +if [ "$(realpath %{_modprobedir})" != /usr/lib/modprobe.d ]; then + mkdir -p %{buildroot}%{_modprobedir} + mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ fi # don't enable wall ask password service, it spams every console (bnc#747783) @@ -932,7 +933,7 @@ rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %endif -%if ! %{bootstrap} +%if %{without bootstrap} %find_lang systemd %endif @@ -961,7 +962,7 @@ if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then chmod 444 %{_sysconfdir}/machine-id fi -%if ! %{bootstrap} +%if %{without bootstrap} pam-config --add --systemd || : %endif @@ -1150,7 +1151,7 @@ fi %sysusers_create systemd-coredump.conf %endif -%if ! %{bootstrap} +%if %{without bootstrap} %ldconfig_scriptlets -n nss-myhostname %ldconfig_scriptlets -n nss-systemd %endif @@ -1315,14 +1316,14 @@ fi %{_sysusersdir}/systemd-coredump.conf %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump -%if ! %{bootstrap} +%if %{without bootstrap} %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif %endif -%if ! %{bootstrap} +%if %{without bootstrap} %files lang -f systemd.lang %files -n nss-myhostname From 65352a537b88de76cae14500a19dcd86dc1b1d4d0da812c179ce32d01712386a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 11 Apr 2022 07:55:36 +0000 Subject: [PATCH 706/991] Accepting request 968042 from home:Andreas_Schwab:Factory - libseccomp is needed everywhere OBS-URL: https://build.opensuse.org/request/show/968042 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1276 --- systemd.changes | 5 +++++ systemd.spec | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 9c27984a..c0e088c1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Apr 9 12:54:30 UTC 2022 - Andreas Schwab + +- libseccomp is needed everywhere + ------------------------------------------------------------------- Thu Apr 7 19:27:11 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 745280cc..b4d79803 100644 --- a/systemd.spec +++ b/systemd.spec @@ -93,11 +93,9 @@ BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif %endif BuildRequires: fdupes BuildRequires: gperf From 35f5ab4e2b5a85b4f4016a649c0bb1736febbab7db0975b632cb01726a0d000b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Apr 2022 09:09:31 +0000 Subject: [PATCH 707/991] - Import commit 736db5a59f1ab1317ef64ec6e7dc394250178146 98bc28d824 tmpfiles: constify item_compatible() parameters 3faf1a2648 test: adapt install_pam() for openSUSE b7ca34fa28 test: add test checking tmpfiles conf file precedence 2713693d93 test tmpfiles: add a test for 'w+' ce2cbefe38 tmpfiles.d: only 'w+' can have multiple lines for the same path (bsc#1198090) 769f5a0cbe Support -D_FORTIFY_SOURCE=3 by using __builtin_dynamic_object_size. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1277 --- systemd-v250.4+suse.47.ge43a1b0188.tar.xz | 3 --- systemd-v250.4+suse.54.g736db5a59f.tar.xz | 3 +++ systemd.changes | 12 ++++++++++++ systemd.spec | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) delete mode 100644 systemd-v250.4+suse.47.ge43a1b0188.tar.xz create mode 100644 systemd-v250.4+suse.54.g736db5a59f.tar.xz diff --git a/systemd-v250.4+suse.47.ge43a1b0188.tar.xz b/systemd-v250.4+suse.47.ge43a1b0188.tar.xz deleted file mode 100644 index 982a5ee2..00000000 --- a/systemd-v250.4+suse.47.ge43a1b0188.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6633132c53177f605c5744b6cc412c823e32249545ffd0520ac56ef33c270d9c -size 7626800 diff --git a/systemd-v250.4+suse.54.g736db5a59f.tar.xz b/systemd-v250.4+suse.54.g736db5a59f.tar.xz new file mode 100644 index 00000000..37bc7a4f --- /dev/null +++ b/systemd-v250.4+suse.54.g736db5a59f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61dfe5c41409547e9e358593b0187e63955ec6229dd04f78e7e7398289a40350 +size 7626844 diff --git a/systemd.changes b/systemd.changes index c0e088c1..fa5c3ae0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Apr 19 07:30:31 UTC 2022 - Franck Bui + +- Import commit 736db5a59f1ab1317ef64ec6e7dc394250178146 + + 98bc28d824 tmpfiles: constify item_compatible() parameters + 3faf1a2648 test: adapt install_pam() for openSUSE + b7ca34fa28 test: add test checking tmpfiles conf file precedence + 2713693d93 test tmpfiles: add a test for 'w+' + ce2cbefe38 tmpfiles.d: only 'w+' can have multiple lines for the same path (bsc#1198090) + 769f5a0cbe Support -D_FORTIFY_SOURCE=3 by using __builtin_dynamic_object_size. + ------------------------------------------------------------------- Sat Apr 9 12:54:30 UTC 2022 - Andreas Schwab diff --git a/systemd.spec b/systemd.spec index b4d79803..dd3ed7a4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.47.ge43a1b0188 +%define suse_version +suse.54.g736db5a59f %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 6d7a87b727311c2e1264b2678a524509974bd984cad8af61c03b305c4637f9b9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Apr 2022 11:26:19 +0000 Subject: [PATCH 708/991] - Drop 0011-core-disable-session-keyring-per-system-sevice-entir.patch Since bsc#1081947 has been addressed, we can attempt to re-enable private session kernel keyring for each system service hence each service gets a session keyring that is specific to the service. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1278 --- ...sion-keyring-per-system-sevice-entir.patch | 45 ------------------- systemd.changes | 9 ++++ systemd.spec | 1 - 3 files changed, 9 insertions(+), 46 deletions(-) delete mode 100644 0011-core-disable-session-keyring-per-system-sevice-entir.patch diff --git a/0011-core-disable-session-keyring-per-system-sevice-entir.patch b/0011-core-disable-session-keyring-per-system-sevice-entir.patch deleted file mode 100644 index 9d5bad80..00000000 --- a/0011-core-disable-session-keyring-per-system-sevice-entir.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 67f3fa5aa2781d42c809da9303f81b28544824d8 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 6 Jul 2017 15:48:10 +0200 -Subject: [PATCH 10/11] core: disable session keyring per system sevice - entirely for now - -Until PAM module "pam_keyinit" is fully integrated in SUSE's PAM stack, this -feature has to be disabled. - -openSUSE is still not ready for enabling the keyring stuff (see -bsc#1081947). Some services got fixed (sshd, getty@.service) but some still -haven't (xdm, login, ...) - -So leave it disabled again otherwise different users might end up using the -same session keyring - the one created for the service used for logging in -(sshd, getty@.service, xdm, etc...) - -The integration of pam_keyinit is tracked here: -https://bugzilla.opensuse.org/show_bug.cgi?id=1081947 - -See also: -https://github.com/systemd/systemd/pull/6286 - -[fbui: fixes boo#1045886] ---- - src/core/execute.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/core/execute.c b/src/core/execute.c -index 2a337b55a2..b5a1a3b6e5 100644 ---- a/src/core/execute.c -+++ b/src/core/execute.c -@@ -3356,6 +3356,9 @@ static int setup_keyring( - assert(context); - assert(p); - -+ /* SUSE: pam_keyinit is still not fully integrated to SUSE's PAM stack... */ -+ return 0; -+ - /* Let's set up a new per-service "session" kernel keyring for each system service. This has the benefit that - * each service runs with its own keyring shared among all processes of the service, but with no hook-up beyond - * that scope, and in particular no link to the per-UID keyring. If we don't do this the keyring will be --- -2.26.2 - diff --git a/systemd.changes b/systemd.changes index fa5c3ae0..95301ad7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Apr 19 11:17:03 UTC 2022 - Franck Bui + +- Drop 0011-core-disable-session-keyring-per-system-sevice-entir.patch + + Since bsc#1081947 has been addressed, we can attempt to re-enable private + session kernel keyring for each system service hence each service gets a + session keyring that is specific to the service. + ------------------------------------------------------------------- Tue Apr 19 07:30:31 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dd3ed7a4..4bcf3412 100644 --- a/systemd.spec +++ b/systemd.spec @@ -195,7 +195,6 @@ Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch -Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Temporary workaround until bsc#1197178 is addressed. From 3a71e5f4e37870a6b666ada69a610452007e255f028389cb73ab67e1a28c4e90 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 20 Apr 2022 08:23:46 +0000 Subject: [PATCH 709/991] Accepting request 971002 from home:lnussel:branches:Base:System - spec: sign the systemd-boot efi binary (boo#1198586) OBS-URL: https://build.opensuse.org/request/show/971002 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1279 --- systemd.changes | 5 +++++ systemd.spec | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/systemd.changes b/systemd.changes index 95301ad7..bd67d985 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 20 07:59:23 UTC 2022 - Ludwig Nussel + +- spec: sign the systemd-boot efi binary (boo#1198586) + ------------------------------------------------------------------- Tue Apr 19 11:17:03 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4bcf3412..f9ed16fa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -305,6 +305,7 @@ License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html %if %{with sd_boot} BuildRequires: gnu-efi +BuildRequires: pesign-obs-integration %endif Requires: %{name} = %{version}-%{release} %systemd_requires @@ -720,6 +721,12 @@ Have fun with these services at your own risk. %install %meson_install +%if %{with sd_boot} +%ifarch x86_64 +export BRP_PESIGN_FILES="/usr/lib/systemd/boot/efi/systemd-bootx64.efi" +%endif +%endif + # Don't ship resolvconf symlink for now as it conflicts with the # binary shipped by openresolv and provides limited compatibility # only From 5c2e02040ab7fb5a995b480e7a1db3fc5e67b7d451d92beaae176156197098c0 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 22 Apr 2022 19:53:02 +0000 Subject: [PATCH 710/991] Accepting request 971023 from Base:System OBS-URL: https://build.opensuse.org/request/show/971023 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=357 --- ...sion-keyring-per-system-sevice-entir.patch | 45 ------------------- files.systemd | 2 - systemd-v250.4+suse.47.ge43a1b0188.tar.xz | 3 -- systemd-v250.4+suse.54.g736db5a59f.tar.xz | 3 ++ systemd.changes | 36 +++++++++++++++ systemd.spec | 16 ++++--- 6 files changed, 50 insertions(+), 55 deletions(-) delete mode 100644 0011-core-disable-session-keyring-per-system-sevice-entir.patch delete mode 100644 systemd-v250.4+suse.47.ge43a1b0188.tar.xz create mode 100644 systemd-v250.4+suse.54.g736db5a59f.tar.xz diff --git a/0011-core-disable-session-keyring-per-system-sevice-entir.patch b/0011-core-disable-session-keyring-per-system-sevice-entir.patch deleted file mode 100644 index 9d5bad80..00000000 --- a/0011-core-disable-session-keyring-per-system-sevice-entir.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 67f3fa5aa2781d42c809da9303f81b28544824d8 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 6 Jul 2017 15:48:10 +0200 -Subject: [PATCH 10/11] core: disable session keyring per system sevice - entirely for now - -Until PAM module "pam_keyinit" is fully integrated in SUSE's PAM stack, this -feature has to be disabled. - -openSUSE is still not ready for enabling the keyring stuff (see -bsc#1081947). Some services got fixed (sshd, getty@.service) but some still -haven't (xdm, login, ...) - -So leave it disabled again otherwise different users might end up using the -same session keyring - the one created for the service used for logging in -(sshd, getty@.service, xdm, etc...) - -The integration of pam_keyinit is tracked here: -https://bugzilla.opensuse.org/show_bug.cgi?id=1081947 - -See also: -https://github.com/systemd/systemd/pull/6286 - -[fbui: fixes boo#1045886] ---- - src/core/execute.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/core/execute.c b/src/core/execute.c -index 2a337b55a2..b5a1a3b6e5 100644 ---- a/src/core/execute.c -+++ b/src/core/execute.c -@@ -3356,6 +3356,9 @@ static int setup_keyring( - assert(context); - assert(p); - -+ /* SUSE: pam_keyinit is still not fully integrated to SUSE's PAM stack... */ -+ return 0; -+ - /* Let's set up a new per-service "session" kernel keyring for each system service. This has the benefit that - * each service runs with its own keyring shared among all processes of the service, but with no hook-up beyond - * that scope, and in particular no link to the per-UID keyring. If we don't do this the keyring will be --- -2.26.2 - diff --git a/files.systemd b/files.systemd index c9531766..8e3481a9 100644 --- a/files.systemd +++ b/files.systemd @@ -124,7 +124,6 @@ %{_bindir}/timedatectl %if %{without bootstrap} %{_datadir}/bash-completion/completions/busctl -%{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl %{_datadir}/bash-completion/completions/journalctl %{_datadir}/bash-completion/completions/localectl @@ -188,7 +187,6 @@ %{_datadir}/systemd/language-fallback-map %if %{without bootstrap} %{_datadir}/zsh/site-functions/_busctl -%{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl %{_datadir}/zsh/site-functions/_journalctl %{_datadir}/zsh/site-functions/_localectl diff --git a/systemd-v250.4+suse.47.ge43a1b0188.tar.xz b/systemd-v250.4+suse.47.ge43a1b0188.tar.xz deleted file mode 100644 index 982a5ee2..00000000 --- a/systemd-v250.4+suse.47.ge43a1b0188.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6633132c53177f605c5744b6cc412c823e32249545ffd0520ac56ef33c270d9c -size 7626800 diff --git a/systemd-v250.4+suse.54.g736db5a59f.tar.xz b/systemd-v250.4+suse.54.g736db5a59f.tar.xz new file mode 100644 index 00000000..37bc7a4f --- /dev/null +++ b/systemd-v250.4+suse.54.g736db5a59f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61dfe5c41409547e9e358593b0187e63955ec6229dd04f78e7e7398289a40350 +size 7626844 diff --git a/systemd.changes b/systemd.changes index 870cfb44..bd67d985 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Wed Apr 20 07:59:23 UTC 2022 - Ludwig Nussel + +- spec: sign the systemd-boot efi binary (boo#1198586) + +------------------------------------------------------------------- +Tue Apr 19 11:17:03 UTC 2022 - Franck Bui + +- Drop 0011-core-disable-session-keyring-per-system-sevice-entir.patch + + Since bsc#1081947 has been addressed, we can attempt to re-enable private + session kernel keyring for each system service hence each service gets a + session keyring that is specific to the service. + +------------------------------------------------------------------- +Tue Apr 19 07:30:31 UTC 2022 - Franck Bui + +- Import commit 736db5a59f1ab1317ef64ec6e7dc394250178146 + + 98bc28d824 tmpfiles: constify item_compatible() parameters + 3faf1a2648 test: adapt install_pam() for openSUSE + b7ca34fa28 test: add test checking tmpfiles conf file precedence + 2713693d93 test tmpfiles: add a test for 'w+' + ce2cbefe38 tmpfiles.d: only 'w+' can have multiple lines for the same path (bsc#1198090) + 769f5a0cbe Support -D_FORTIFY_SOURCE=3 by using __builtin_dynamic_object_size. + +------------------------------------------------------------------- +Sat Apr 9 12:54:30 UTC 2022 - Andreas Schwab + +- libseccomp is needed everywhere + +------------------------------------------------------------------- +Thu Apr 7 19:27:11 UTC 2022 - Franck Bui + +- Move coredumpctl completion files into systemd-coredump sub-package. + ------------------------------------------------------------------- Wed Apr 6 09:55:10 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index de7564f1..f9ed16fa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.47.ge43a1b0188 +%define suse_version +suse.54.g736db5a59f %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -93,11 +93,9 @@ BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libseccomp) >= 2.3.1 BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libzstd) -%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x -BuildRequires: pkgconfig(libseccomp) >= 2.3.1 -%endif %endif BuildRequires: fdupes BuildRequires: gperf @@ -197,7 +195,6 @@ Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif Patch10: 0001-conf-parser-introduce-early-drop-ins.patch -Patch11: 0011-core-disable-session-keyring-per-system-sevice-entir.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Temporary workaround until bsc#1197178 is addressed. @@ -308,6 +305,7 @@ License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html %if %{with sd_boot} BuildRequires: gnu-efi +BuildRequires: pesign-obs-integration %endif Requires: %{name} = %{version}-%{release} %systemd_requires @@ -723,6 +721,12 @@ Have fun with these services at your own risk. %install %meson_install +%if %{with sd_boot} +%ifarch x86_64 +export BRP_PESIGN_FILES="/usr/lib/systemd/boot/efi/systemd-bootx64.efi" +%endif +%endif + # Don't ship resolvconf symlink for now as it conflicts with the # binary shipped by openresolv and provides limited compatibility # only @@ -1317,6 +1321,8 @@ fi %config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump %if %{without bootstrap} +%{_datadir}/bash-completion/completions/coredumpctl +%{_datadir}/zsh/site-functions/_coredumpctl %{_mandir}/man1/coredumpctl* %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* From 321b6756a8e54ef4c32122b8e6c67b4c2ee6883e8718bd03443cf7b13d4e09a4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 29 Apr 2022 15:36:28 +0000 Subject: [PATCH 711/991] - Call pam_loginuid when creating user@.service (bsc#1198507) It's a backport of upstream commit 1000522a60ceade446773c67031b47a566d4a70d. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1280 --- systemd-user | 1 + systemd.changes | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/systemd-user b/systemd-user index 066515cd..2e1fb802 100644 --- a/systemd-user +++ b/systemd-user @@ -20,4 +20,5 @@ account include common-account session required pam_selinux.so close session required pam_selinux.so nottys open +session required pam_loginuid.so session include common-session diff --git a/systemd.changes b/systemd.changes index bd67d985..a8b96ec7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Apr 29 12:37:00 UTC 2022 - Franck Bui + +- Call pam_loginuid when creating user@.service (bsc#1198507) + + It's a backport of upstream commit 1000522a60ceade446773c67031b47a566d4a70d. + ------------------------------------------------------------------- Wed Apr 20 07:59:23 UTC 2022 - Ludwig Nussel From 9af5a12a0fc4ff6191a8201180f955cfe01024755ec0931cd3df25619b256cf3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 6 May 2022 14:54:56 +0000 Subject: [PATCH 712/991] - Import commit 0d950479e58dd3af007eb3780d600a5446aac519 (merge of v250.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/736db5a59f1ab1317ef64ec6e7dc394250178146...0d950479e58dd3af007eb3780d600a5446aac519 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1281 --- files.udev | 1 + systemd-v250.4+suse.54.g736db5a59f.tar.xz | 3 --- systemd-v250.5+suse.56.g0d950479e5.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 5 +++-- 5 files changed, 15 insertions(+), 5 deletions(-) delete mode 100644 systemd-v250.4+suse.54.g736db5a59f.tar.xz create mode 100644 systemd-v250.5+suse.56.g0d950479e5.tar.xz diff --git a/files.udev b/files.udev index cad13c0c..5e9aa154 100644 --- a/files.udev +++ b/files.udev @@ -141,6 +141,7 @@ %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb %{_udevhwdbdir}/70-analyzers.hwdb +%{_udevhwdbdir}/70-av-production.hwdb %{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb diff --git a/systemd-v250.4+suse.54.g736db5a59f.tar.xz b/systemd-v250.4+suse.54.g736db5a59f.tar.xz deleted file mode 100644 index 37bc7a4f..00000000 --- a/systemd-v250.4+suse.54.g736db5a59f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61dfe5c41409547e9e358593b0187e63955ec6229dd04f78e7e7398289a40350 -size 7626844 diff --git a/systemd-v250.5+suse.56.g0d950479e5.tar.xz b/systemd-v250.5+suse.56.g0d950479e5.tar.xz new file mode 100644 index 00000000..483b8357 --- /dev/null +++ b/systemd-v250.5+suse.56.g0d950479e5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a5457eea796a3d988c72490f6a265620849a2baeca7a86e6b37fc4a18dfdf70 +size 7676372 diff --git a/systemd.changes b/systemd.changes index a8b96ec7..b7776e80 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri May 6 12:44:36 UTC 2022 - Franck Bui + +- Import commit 0d950479e58dd3af007eb3780d600a5446aac519 (merge of v250.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/736db5a59f1ab1317ef64ec6e7dc394250178146...0d950479e58dd3af007eb3780d600a5446aac519 + ------------------------------------------------------------------- Fri Apr 29 12:37:00 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f9ed16fa..608d1fd7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,8 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.54.g736db5a59f +%define suse_version +suse.56.g0d950479e5 + %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -71,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.4 +Version: 250.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 3aa5a63e32ce0deb59d55ee29fc710e8e632a6b0d0688da4b5fda89c421d2a2a Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sat, 7 May 2022 12:19:38 +0000 Subject: [PATCH 713/991] OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1282 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 608d1fd7..8ad0972e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package systemd # # Copyright (c) 2022 SUSE LLC # From 3b90df43535fb715839547dd38ffa64a1af5dbfc7c6d1b632f799666d8bb8652 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 10 May 2022 13:11:21 +0000 Subject: [PATCH 714/991] Accepting request 975732 from Base:System - Import commit 0d950479e58dd3af007eb3780d600a5446aac519 (merge of v250.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/736db5a59f1ab1317ef64ec6e7dc394250178146...0d950479e58dd3af007eb3780d600a5446aac519 - Call pam_loginuid when creating user@.service (bsc#1198507) It's a backport of upstream commit 1000522a60ceade446773c67031b47a566d4a70d. OBS-URL: https://build.opensuse.org/request/show/975732 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=358 --- files.udev | 1 + systemd-user | 1 + systemd-v250.4+suse.54.g736db5a59f.tar.xz | 3 --- systemd-v250.5+suse.56.g0d950479e5.tar.xz | 3 +++ systemd.changes | 15 +++++++++++++++ systemd.spec | 7 ++++--- 6 files changed, 24 insertions(+), 6 deletions(-) delete mode 100644 systemd-v250.4+suse.54.g736db5a59f.tar.xz create mode 100644 systemd-v250.5+suse.56.g0d950479e5.tar.xz diff --git a/files.udev b/files.udev index cad13c0c..5e9aa154 100644 --- a/files.udev +++ b/files.udev @@ -141,6 +141,7 @@ %{_udevhwdbdir}/60-seat.hwdb %{_udevhwdbdir}/60-sensor.hwdb %{_udevhwdbdir}/70-analyzers.hwdb +%{_udevhwdbdir}/70-av-production.hwdb %{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb diff --git a/systemd-user b/systemd-user index 066515cd..2e1fb802 100644 --- a/systemd-user +++ b/systemd-user @@ -20,4 +20,5 @@ account include common-account session required pam_selinux.so close session required pam_selinux.so nottys open +session required pam_loginuid.so session include common-session diff --git a/systemd-v250.4+suse.54.g736db5a59f.tar.xz b/systemd-v250.4+suse.54.g736db5a59f.tar.xz deleted file mode 100644 index 37bc7a4f..00000000 --- a/systemd-v250.4+suse.54.g736db5a59f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61dfe5c41409547e9e358593b0187e63955ec6229dd04f78e7e7398289a40350 -size 7626844 diff --git a/systemd-v250.5+suse.56.g0d950479e5.tar.xz b/systemd-v250.5+suse.56.g0d950479e5.tar.xz new file mode 100644 index 00000000..483b8357 --- /dev/null +++ b/systemd-v250.5+suse.56.g0d950479e5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a5457eea796a3d988c72490f6a265620849a2baeca7a86e6b37fc4a18dfdf70 +size 7676372 diff --git a/systemd.changes b/systemd.changes index bd67d985..b7776e80 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri May 6 12:44:36 UTC 2022 - Franck Bui + +- Import commit 0d950479e58dd3af007eb3780d600a5446aac519 (merge of v250.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/736db5a59f1ab1317ef64ec6e7dc394250178146...0d950479e58dd3af007eb3780d600a5446aac519 + +------------------------------------------------------------------- +Fri Apr 29 12:37:00 UTC 2022 - Franck Bui + +- Call pam_loginuid when creating user@.service (bsc#1198507) + + It's a backport of upstream commit 1000522a60ceade446773c67031b47a566d4a70d. + ------------------------------------------------------------------- Wed Apr 20 07:59:23 UTC 2022 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index f9ed16fa..8ad0972e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package systemd # # Copyright (c) 2022 SUSE LLC # @@ -19,7 +19,8 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.54.g736db5a59f +%define suse_version +suse.56.g0d950479e5 + %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -71,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.4 +Version: 250.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 9206cade8ba2889031e4c786b81709b1e71d0d7daec82b96cbe667da05e787a0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 23 May 2022 08:16:22 +0000 Subject: [PATCH 715/991] Accepting request 976995 from home:jengelh:branches:Base:System - Update rpmlintrc for shlib-policy-name-error/multibuild case. OBS-URL: https://build.opensuse.org/request/show/976995 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1283 --- systemd-rpmlintrc | 3 +++ systemd.changes | 5 +++++ systemd.spec | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 86edf488..d381b82f 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -9,3 +9,6 @@ addFilter(".*files-duplicate /usr/lib/systemd/.*") addFilter(".*files-duplicated-waste.*") addFilter(".*explicit-lib-dependency .*") addFilter(".*tmpfile-not-in-filelist .*") + +# shlib policy does not cover multibuilds +addFilter("libsystemd0-mini.x86_64: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") diff --git a/systemd.changes b/systemd.changes index b7776e80..a8ccb709 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 13 08:55:55 UTC 2022 - Jan Engelhardt + +- Update rpmlintrc for shlib-policy-name-error/multibuild case. + ------------------------------------------------------------------- Fri May 6 12:44:36 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8ad0972e..608d1fd7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd +# spec file # # Copyright (c) 2022 SUSE LLC # From 1e531132086628dc9eb79158e1952b95006995aa4b4e9c33f785ad741a700aa0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 31 May 2022 13:29:05 +0000 Subject: [PATCH 716/991] - Import commit 4dbc543953eabd4c578da67ce6e2970d6f96c406 (merge of v250.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/0d950479e58dd3af007eb3780d600a5446aac519...4dbc543953eabd4c578da67ce6e2970d6f96c406 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1284 --- systemd-v250.5+suse.56.g0d950479e5.tar.xz | 3 --- systemd-v250.6+suse.58.g4dbc543953.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v250.5+suse.56.g0d950479e5.tar.xz create mode 100644 systemd-v250.6+suse.58.g4dbc543953.tar.xz diff --git a/systemd-v250.5+suse.56.g0d950479e5.tar.xz b/systemd-v250.5+suse.56.g0d950479e5.tar.xz deleted file mode 100644 index 483b8357..00000000 --- a/systemd-v250.5+suse.56.g0d950479e5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a5457eea796a3d988c72490f6a265620849a2baeca7a86e6b37fc4a18dfdf70 -size 7676372 diff --git a/systemd-v250.6+suse.58.g4dbc543953.tar.xz b/systemd-v250.6+suse.58.g4dbc543953.tar.xz new file mode 100644 index 00000000..8d9d9222 --- /dev/null +++ b/systemd-v250.6+suse.58.g4dbc543953.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c00bf0607ca3a8ad8d001808741277c600db2c446bb58ce347e445dec2ff20e +size 7677168 diff --git a/systemd.changes b/systemd.changes index a8ccb709..ba9c7421 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 31 13:26:38 UTC 2022 - Franck Bui + +- Import commit 4dbc543953eabd4c578da67ce6e2970d6f96c406 (merge of v250.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/0d950479e58dd3af007eb3780d600a5446aac519...4dbc543953eabd4c578da67ce6e2970d6f96c406 + ------------------------------------------------------------------- Fri May 13 08:55:55 UTC 2022 - Jan Engelhardt diff --git a/systemd.spec b/systemd.spec index 608d1fd7..e7d0df84 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.56.g0d950479e5 +%define suse_version +suse.58.g4dbc543953 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.5 +Version: 250.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 5491fccb05c5bc71a09a4b9b209b0741ff864e6bbacbbb2f5b0652fd82b54c6a Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 31 May 2022 13:46:56 +0000 Subject: [PATCH 717/991] Accepting request 979799 from Base:System - Update rpmlintrc for shlib-policy-name-error/multibuild case. OBS-URL: https://build.opensuse.org/request/show/979799 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=359 --- systemd-rpmlintrc | 3 +++ systemd.changes | 5 +++++ systemd.spec | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 86edf488..d381b82f 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -9,3 +9,6 @@ addFilter(".*files-duplicate /usr/lib/systemd/.*") addFilter(".*files-duplicated-waste.*") addFilter(".*explicit-lib-dependency .*") addFilter(".*tmpfile-not-in-filelist .*") + +# shlib policy does not cover multibuilds +addFilter("libsystemd0-mini.x86_64: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") diff --git a/systemd.changes b/systemd.changes index b7776e80..a8ccb709 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 13 08:55:55 UTC 2022 - Jan Engelhardt + +- Update rpmlintrc for shlib-policy-name-error/multibuild case. + ------------------------------------------------------------------- Fri May 6 12:44:36 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8ad0972e..608d1fd7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd +# spec file # # Copyright (c) 2022 SUSE LLC # From 2dec39947457567836fa219615d5b6a8961826064723bf9db14e50eb812fe30c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 1 Jun 2022 15:34:18 +0000 Subject: [PATCH 718/991] Accepting request 980104 from Base:System - Import commit 4dbc543953eabd4c578da67ce6e2970d6f96c406 (merge of v250.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/0d950479e58dd3af007eb3780d600a5446aac519...4dbc543953eabd4c578da67ce6e2970d6f96c406 OBS-URL: https://build.opensuse.org/request/show/980104 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=360 --- systemd-v250.5+suse.56.g0d950479e5.tar.xz | 3 --- systemd-v250.6+suse.58.g4dbc543953.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v250.5+suse.56.g0d950479e5.tar.xz create mode 100644 systemd-v250.6+suse.58.g4dbc543953.tar.xz diff --git a/systemd-v250.5+suse.56.g0d950479e5.tar.xz b/systemd-v250.5+suse.56.g0d950479e5.tar.xz deleted file mode 100644 index 483b8357..00000000 --- a/systemd-v250.5+suse.56.g0d950479e5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a5457eea796a3d988c72490f6a265620849a2baeca7a86e6b37fc4a18dfdf70 -size 7676372 diff --git a/systemd-v250.6+suse.58.g4dbc543953.tar.xz b/systemd-v250.6+suse.58.g4dbc543953.tar.xz new file mode 100644 index 00000000..8d9d9222 --- /dev/null +++ b/systemd-v250.6+suse.58.g4dbc543953.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c00bf0607ca3a8ad8d001808741277c600db2c446bb58ce347e445dec2ff20e +size 7677168 diff --git a/systemd.changes b/systemd.changes index a8ccb709..ba9c7421 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 31 13:26:38 UTC 2022 - Franck Bui + +- Import commit 4dbc543953eabd4c578da67ce6e2970d6f96c406 (merge of v250.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/0d950479e58dd3af007eb3780d600a5446aac519...4dbc543953eabd4c578da67ce6e2970d6f96c406 + ------------------------------------------------------------------- Fri May 13 08:55:55 UTC 2022 - Jan Engelhardt diff --git a/systemd.spec b/systemd.spec index 608d1fd7..e7d0df84 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.56.g0d950479e5 +%define suse_version +suse.58.g4dbc543953 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.5 +Version: 250.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 7d0bdd9a7ac6715c493be6ecdb87fb007dff58a65ef0726f986a8b331eb3871f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 7 Jun 2022 18:24:43 +0000 Subject: [PATCH 719/991] - Upgrade to v251.2 (commit 949d6bb7201dd48167ee9716ed6278764d1f4c0f) See https://github.com/openSUSE/systemd/blob/SUSE/v251/NEWS for details. - Rebased 0001-conf-parser-introduce-early-drop-ins.patch - systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN relying on this module. - sysusers.d/systemd-network.conf has been moved to systemd-network sub-package since the tmpfiles configuration snippets for networkd has also been moved to this sub-package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1285 --- ...conf-parser-introduce-early-drop-ins.patch | 78 +++++++++++-------- files.devel | 18 +++++ files.network | 5 ++ files.systemd | 24 ++++-- files.udev | 1 + files.uefi-boot | 1 + systemd-v250.6+suse.58.g4dbc543953.tar.xz | 3 - systemd-v251.2+suse.18.g949d6bb720.tar.xz | 3 + systemd.changes | 17 ++++ systemd.spec | 13 ++-- 10 files changed, 117 insertions(+), 46 deletions(-) delete mode 100644 systemd-v250.6+suse.58.g4dbc543953.tar.xz create mode 100644 systemd-v251.2+suse.18.g949d6bb720.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bcd96141..a63fa0f3 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 +From a1c88ab7f5e5ad127833168bbb38340d1b582a88 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 +++++++++-- - src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 197 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 54 +++++++++++- + src/test/test-conf-parser.c | 163 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 213 insertions(+), 4 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 1e1967d7ea..eb81732dfa 100644 +index 6bd3ab38db..1722b90ca0 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -478,6 +478,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, static int config_parse_many_files( const char* const* conf_files, @@ -77,25 +77,32 @@ index 1e1967d7ea..eb81732dfa 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -481,6 +482,12 @@ static int config_parse_many_files( - stats_by_path = hashmap_new(&path_hash_ops_free_free); - if (!stats_by_path) +@@ -496,6 +497,20 @@ static int config_parse_many_files( return -ENOMEM; -+ } -+ + } + + STRV_FOREACH(fn, early_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); + if (r < 0) + return r; - } - ++ if (r == 0) ++ continue; ++ ++ if (ret_stats_by_path) { ++ r = hashmap_put_stats_by_path(&stats_by_path, *fn, &st); ++ if (r < 0) ++ return r; ++ } ++ } ++ /* First read the first found main config file. */ -@@ -521,6 +528,28 @@ static int config_parse_many_files( + STRV_FOREACH(fn, conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); +@@ -534,6 +549,27 @@ static int config_parse_many_files( return 0; } +static int config_parse_split_conf_files(char **files, char ***early_files, char ***late_files) { -+ char **f; + + assert(files); + assert(early_files); @@ -119,7 +126,7 @@ index 1e1967d7ea..eb81732dfa 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -532,15 +561,19 @@ int config_parse_many_nulstr( +@@ -545,15 +581,19 @@ int config_parse_many_nulstr( void *userdata, Hashmap **ret_stats_by_path) { @@ -142,17 +149,15 @@ index 1e1967d7ea..eb81732dfa 100644 ret_stats_by_path); } -@@ -556,8 +589,8 @@ int config_parse_many( +@@ -590,6 +630,7 @@ int config_parse_many( void *userdata, Hashmap **ret_stats_by_path) { -+ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; - _cleanup_strv_free_ char **dropin_dirs = NULL; -- _cleanup_strv_free_ char **files = NULL; - const char *suffix; ++ _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL; + _cleanup_strv_free_ char **files = NULL; int r; -@@ -570,7 +603,12 @@ int config_parse_many( +@@ -602,7 +643,12 @@ int config_parse_many( if (r < 0) return r; @@ -165,9 +170,9 @@ index 1e1967d7ea..eb81732dfa 100644 + sections, lookup, table, flags, userdata, ret_stats_by_path); } - #define DEFINE_PARSER(type, vartype, conv_func) \ + static int config_get_stats_by_path_one( diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..de408272f0 100644 +index e61932ab16..5a5c0d73ff 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -180,12 +185,11 @@ index e61932ab16..de408272f0 100644 #include "string-util.h" #include "strv.h" #include "tests.h" -@@ -391,4 +394,155 @@ TEST(config_parse) { +@@ -391,4 +394,164 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { -+ char **path; + + /* If 'is_main' is true then 'conf_files' should only contain an entry + * for the main conf file. */ @@ -264,8 +268,12 @@ index e61932ab16..de408272f0 100644 + NULL, + NULL); + } else { ++ /* sigh... since commit bdb2d3c6889408c7f26c2eeddbe9021ac53f962c, ++ * 'conf_file_dirs' parameter can't be NULL. */ ++ + r = config_parse_many(STRV_MAKE_CONST(conf_file), -+ (const char * const*) conf_dirs, "", ++ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY), ++ "", + "Section\0", + config_item_table_lookup, items, + CONFIG_PARSE_WARN, @@ -274,9 +282,15 @@ index e61932ab16..de408272f0 100644 + } + + assert_se(r == 0); -+ assert_se((!name && !parsed_name) || streq(name, parsed_name)); -+ assert_se((!late && !parsed_late) || streq(late, parsed_late)); -+ assert_se((!early && !parsed_early) || streq(early, parsed_early)); ++ ++ assert_se((!!name == !!parsed_name)); ++ assert_se(!name || streq(name, parsed_name)); ++ ++ assert_se((!!late == !!parsed_late)); ++ assert_se(!late || streq(late, parsed_late)); ++ ++ assert_se((!!early == !!parsed_early)); ++ assert_se(!early || streq(early, parsed_early)); + + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} @@ -337,5 +351,5 @@ index e61932ab16..de408272f0 100644 + DEFINE_TEST_MAIN(LOG_INFO); -- -2.34.1 +2.35.3 diff --git a/files.devel b/files.devel index c1a2301c..fde7b6f7 100644 --- a/files.devel +++ b/files.devel @@ -87,7 +87,9 @@ %{_mandir}/man3/SD_ID128_NULL.3.gz %{_mandir}/man3/SD_ID128_STRING_MAX.3.gz %{_mandir}/man3/SD_ID128_TO_STRING.3.gz +%{_mandir}/man3/SD_ID128_TO_UUID_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz +%{_mandir}/man3/SD_ID128_UUID_STRING_MAX.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz %{_mandir}/man3/SD_JOURNAL_APPEND.3.gz @@ -112,6 +114,7 @@ %{_mandir}/man3/sd-bus-errors.3.gz %{_mandir}/man3/sd-bus.3.gz %{_mandir}/man3/sd-daemon.3.gz +%{_mandir}/man3/sd-device.3.gz %{_mandir}/man3/sd-event.3.gz %{_mandir}/man3/sd-hwdb.3.gz %{_mandir}/man3/sd-id128.3.gz @@ -423,6 +426,20 @@ %{_mandir}/man3/sd_bus_unref.3.gz %{_mandir}/man3/sd_bus_unrefp.3.gz %{_mandir}/man3/sd_bus_wait.3.gz +%{_mandir}/man3/sd_device_get_devname.3.gz +%{_mandir}/man3/sd_device_get_devnum.3.gz +%{_mandir}/man3/sd_device_get_devpath.3.gz +%{_mandir}/man3/sd_device_get_devtype.3.gz +%{_mandir}/man3/sd_device_get_diskseq.3.gz +%{_mandir}/man3/sd_device_get_driver.3.gz +%{_mandir}/man3/sd_device_get_ifindex.3.gz +%{_mandir}/man3/sd_device_get_subsystem.3.gz +%{_mandir}/man3/sd_device_get_sysname.3.gz +%{_mandir}/man3/sd_device_get_sysnum.3.gz +%{_mandir}/man3/sd_device_get_syspath.3.gz +%{_mandir}/man3/sd_device_ref.3.gz +%{_mandir}/man3/sd_device_unref.3.gz +%{_mandir}/man3/sd_device_unrefp.3.gz %{_mandir}/man3/sd_event.3.gz %{_mandir}/man3/sd_event_add_child.3.gz %{_mandir}/man3/sd_event_add_child_pidfd.3.gz @@ -535,6 +552,7 @@ %{_mandir}/man3/sd_id128_randomize.3.gz %{_mandir}/man3/sd_id128_t.3.gz %{_mandir}/man3/sd_id128_to_string.3.gz +%{_mandir}/man3/sd_id128_to_uuid_string.3.gz %{_mandir}/man3/sd_is_fifo.3.gz %{_mandir}/man3/sd_is_mq.3.gz %{_mandir}/man3/sd_is_socket.3.gz diff --git a/files.network b/files.network index 9e3f698c..d3c3715c 100644 --- a/files.network +++ b/files.network @@ -23,19 +23,24 @@ %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz +%{_mandir}/man8/systemd-networkd-wait-online@.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz %{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network +%{_systemd_util_dir}/network/80-ethernet.network.example %{_systemd_util_dir}/network/80-vm-vt.network %{_systemd_util_dir}/network/80-wifi-adhoc.network %{_systemd_util_dir}/network/80-wifi-ap.network.example %{_systemd_util_dir}/network/80-wifi-station.network.example %{_systemd_util_dir}/systemd-networkd %{_systemd_util_dir}/systemd-networkd-wait-online +%{_sysusersdir}/systemd-network.conf +%{_tmpfilesdir}/systemd-network.conf %{_unitdir}/systemd-networkd-wait-online.service +%{_unitdir}/systemd-networkd-wait-online@.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %endif diff --git a/files.systemd b/files.systemd index 8e3481a9..482666b7 100644 --- a/files.systemd +++ b/files.systemd @@ -183,6 +183,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map %if %{without bootstrap} @@ -301,6 +302,7 @@ %{_mandir}/man5/systemd.target.5.gz %{_mandir}/man5/systemd.timer.5.gz %{_mandir}/man5/systemd.unit.5.gz +%{_mandir}/man5/sysupdate.d.5.gz %{_mandir}/man5/sysusers.d.5.gz %{_mandir}/man5/timesyncd.conf.5.gz %{_mandir}/man5/timesyncd.conf.d.5.gz @@ -386,6 +388,11 @@ %{_mandir}/man8/systemd-sysext.8.gz %{_mandir}/man8/systemd-sysext.service.8.gz %{_mandir}/man8/systemd-system-update-generator.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz +%{_mandir}/man8/systemd-sysupdate.8.gz +%{_mandir}/man8/systemd-sysupdate.service.8.gz +%{_mandir}/man8/systemd-sysupdate.timer.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz @@ -419,7 +426,8 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%{_systemd_util_dir}/libsystemd-shared-250.so +%{_systemd_util_dir}/libsystemd-core-251.so +%{_systemd_util_dir}/libsystemd-shared-251.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -444,6 +452,9 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl +%if %{without bootstrap} +%{_systemd_util_dir}/systemd-sysupdate +%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -483,11 +494,6 @@ %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator %{_sysusersdir}/systemd-journal.conf -%if %{with networkd} -# Yes, systemd-network.conf really belongs here, see -# https://github.com/systemd/systemd/pull/22416#issuecomment-1029828592 -%{_sysusersdir}/systemd-network.conf -%endif %{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/suse.conf @@ -643,6 +649,12 @@ %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service +%if %{without bootstrap} +%{_unitdir}/systemd-sysupdate-reboot.service +%{_unitdir}/systemd-sysupdate-reboot.timer +%{_unitdir}/systemd-sysupdate.service +%{_unitdir}/systemd-sysupdate.timer +%endif %{_unitdir}/systemd-sysusers.service %{_unitdir}/systemd-time-wait-sync.service %{_unitdir}/systemd-timedated.service diff --git a/files.udev b/files.udev index 5e9aa154..4445eb81 100644 --- a/files.udev +++ b/files.udev @@ -145,6 +145,7 @@ %{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb +%{_udevhwdbdir}/70-pda.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb %{_udevhwdbdir}/70-touchpad.hwdb %{_udevhwdbdir}/80-ieee1394-unit-function.hwdb diff --git a/files.uefi-boot b/files.uefi-boot index 70e46b69..a50867c4 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -19,6 +19,7 @@ %{_mandir}/man7/linuxia32.efi.stub.7.gz %{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz +%{_mandir}/man7/sd-stub.7.gz %{_mandir}/man7/systemd-boot.7.gz %{_mandir}/man7/systemd-stub.7.gz %{_mandir}/man8/kernel-install.8.gz diff --git a/systemd-v250.6+suse.58.g4dbc543953.tar.xz b/systemd-v250.6+suse.58.g4dbc543953.tar.xz deleted file mode 100644 index 8d9d9222..00000000 --- a/systemd-v250.6+suse.58.g4dbc543953.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c00bf0607ca3a8ad8d001808741277c600db2c446bb58ce347e445dec2ff20e -size 7677168 diff --git a/systemd-v251.2+suse.18.g949d6bb720.tar.xz b/systemd-v251.2+suse.18.g949d6bb720.tar.xz new file mode 100644 index 00000000..93f43b77 --- /dev/null +++ b/systemd-v251.2+suse.18.g949d6bb720.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38c4d708dd28c097d2bd7cbe39a3683d19b141b5795d97b8e200e16ce2213e31 +size 7827148 diff --git a/systemd.changes b/systemd.changes index ba9c7421..8ec4a994 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Jun 1 07:20:05 UTC 2022 - Franck Bui + +- Upgrade to v251.2 (commit 949d6bb7201dd48167ee9716ed6278764d1f4c0f) + + See https://github.com/openSUSE/systemd/blob/SUSE/v251/NEWS for + details. + + - Rebased 0001-conf-parser-introduce-early-drop-ins.patch + + - systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN + relying on this module. + + - sysusers.d/systemd-network.conf has been moved to systemd-network + sub-package since the tmpfiles configuration snippets for networkd has also + been moved to this sub-package. + ------------------------------------------------------------------- Tue May 31 13:26:38 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e7d0df84..de5a0f78 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.58.g4dbc543953 +%define suse_version +suse.18.g949d6bb720 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.6 +Version: 251.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -547,6 +547,7 @@ Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: netcat +Requires: python3-pexpect Requires: qemu-kvm Requires: quota Requires: socat @@ -689,6 +690,7 @@ Have fun with these services at your own risk. -Dnss-systemd=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ -Dselinux=%{when_not bootstrap} \ + -Dsysupdate=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ @@ -975,7 +977,6 @@ pam-config --add --systemd || : # in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. %sysusers_create systemd-journal.conf -%sysusers_create systemd-network.conf %sysusers_create systemd-timesync.conf [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : @@ -1197,6 +1198,8 @@ fi %post network %if %{with networkd} +%sysusers_create systemd-network.conf +%tmpfiles_create systemd-network.conf %service_add_post systemd-networkd.service %service_add_post systemd-networkd-wait-online.service %endif @@ -1302,13 +1305,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.33.0 +%{_libdir}/libsystemd.so.0.34.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.3 +%{_libdir}/libudev.so.1.7.4 %if %{with coredump} %files coredump From a91a87af78f815b4c659199456a4b788f1d4f9d0f4de4176d52c7fa7b5143985 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Jun 2022 10:19:13 +0000 Subject: [PATCH 720/991] - Import commit e9fc337d97539fcab23078ab3e06f6b2ce3a3c8d ca0b29521f sha256: fix compilation on efi-ia32 1bbbac6a7e test: enable virtio-rng device for QEMU guests OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1286 --- systemd-v251.2+suse.18.g949d6bb720.tar.xz | 3 --- systemd-v251.2+suse.21.ge9fc337d97.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) delete mode 100644 systemd-v251.2+suse.18.g949d6bb720.tar.xz create mode 100644 systemd-v251.2+suse.21.ge9fc337d97.tar.xz diff --git a/systemd-v251.2+suse.18.g949d6bb720.tar.xz b/systemd-v251.2+suse.18.g949d6bb720.tar.xz deleted file mode 100644 index 93f43b77..00000000 --- a/systemd-v251.2+suse.18.g949d6bb720.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:38c4d708dd28c097d2bd7cbe39a3683d19b141b5795d97b8e200e16ce2213e31 -size 7827148 diff --git a/systemd-v251.2+suse.21.ge9fc337d97.tar.xz b/systemd-v251.2+suse.21.ge9fc337d97.tar.xz new file mode 100644 index 00000000..9edde956 --- /dev/null +++ b/systemd-v251.2+suse.21.ge9fc337d97.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6b345714da705a4dd420ae4ebec9192b009d5d00c0186b7300894f961d3495c +size 7827816 diff --git a/systemd.changes b/systemd.changes index 8ec4a994..1aba4d6a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jun 8 10:11:12 UTC 2022 - Franck Bui + +- Import commit e9fc337d97539fcab23078ab3e06f6b2ce3a3c8d + + ca0b29521f sha256: fix compilation on efi-ia32 + 1bbbac6a7e test: enable virtio-rng device for QEMU guests + ------------------------------------------------------------------- Wed Jun 1 07:20:05 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index de5a0f78..458649e6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.18.g949d6bb720 +%define suse_version +suse.21.ge9fc337d97 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 9e50a85b6184d81ec2c2c3d1234ad777fb4119d3858e7920df9882cbe23fb4a8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 9 Jun 2022 07:29:11 +0000 Subject: [PATCH 721/991] update the change logs to mention some bsc references OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1287 --- systemd.changes | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 1aba4d6a..c53dd854 100644 --- a/systemd.changes +++ b/systemd.changes @@ -14,12 +14,16 @@ Wed Jun 1 07:20:05 UTC 2022 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v251/NEWS for details. - - Rebased 0001-conf-parser-introduce-early-drop-ins.patch + This includes the following bug fixes: - - systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN + - upstream commit e6b169418369abbc88c8f622e02e1d704a23d4ef (bsc#1137373 bsc#1181658 bsc#1194708 bsc#1195157 bsc#1197570) + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + + * systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN relying on this module. - - sysusers.d/systemd-network.conf has been moved to systemd-network + * sysusers.d/systemd-network.conf has been moved to systemd-network sub-package since the tmpfiles configuration snippets for networkd has also been moved to this sub-package. @@ -1090,6 +1094,7 @@ Mon Apr 26 16:25:38 UTC 2021 - Franck Bui - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) + - upstream commit 30927a24848c4d727f7619cc74b878f098cdd724 (bsc#1200170) - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of From 637820eccd796027569097ce4fc4657c3b207f79db5c87e15294a6349cf73e51 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 15 Jun 2022 12:35:14 +0000 Subject: [PATCH 722/991] Accepting request 982793 from home:lnussel:branches:Base:System - spec: add sbat (boo#1198589) OBS-URL: https://build.opensuse.org/request/show/982793 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1288 --- systemd.changes | 5 +++++ systemd.spec | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index c53dd854..7ca5fb87 100644 --- a/systemd.changes +++ b/systemd.changes @@ -55,6 +55,11 @@ Fri Apr 29 12:37:00 UTC 2022 - Franck Bui It's a backport of upstream commit 1000522a60ceade446773c67031b47a566d4a70d. +------------------------------------------------------------------- +Wed Apr 20 08:25:27 UTC 2022 - Ludwig Nussel + +- spec: add sbat (boo#1198589) + ------------------------------------------------------------------- Wed Apr 20 07:59:23 UTC 2022 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 458649e6..12703af0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -704,7 +704,13 @@ Have fun with these services at your own risk. \ -Dgnu-efi=%{when sd_boot} \ -Dkernel-install=%{when sd_boot} \ - -Dsbat-distro= \ + \ + -Dsbat-distro="%{?sbat_distro}" \ + -Dsbat-distro-summary="%{?sbat_distro_summary}" \ + -Dsbat-distro-url="%{?sbat_distro_url}" \ + \ + -Dsbat-distro-pkgname="%{name}" \ + -Dsbat-distro-version="%{version}-%{release}" \ \ -Ddefault-dnssec=no \ -Ddns-servers='' \ @@ -1001,8 +1007,8 @@ systemctl daemon-reexec || : # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : if [ "$1" -eq 1 ]; then - # Persistent journal is the default - mkdir -p %{_localstatedir}/log/journal + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal fi %journal_catalog_update @@ -1081,7 +1087,7 @@ fi # old systems, the file doesn't exist. This is equivalent to # generation #1, which enables the creation of all compat symlinks. if [ $1 -eq 1 ]; then - echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation + echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi %post -n udev%{?mini} From be46e917567a63e7617d443f480f2e000798eb3596db44c941440e18bc264f49 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 21 Jun 2022 13:19:55 +0000 Subject: [PATCH 723/991] - spec: %suse_version rpm macro is already reserved and has a special meaning in openSUSE distros so rename it to %archive_version instead. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1289 --- systemd.changes | 6 ++++++ systemd.spec | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index 7ca5fb87..0f88a51e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 21 13:15:12 UTC 2022 - Franck Bui + +- spec: %suse_version rpm macro is already reserved and has a special meaning in + openSUSE distros so rename it to %archive_version instead. + ------------------------------------------------------------------- Wed Jun 8 10:11:12 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 12703af0..06a5e46f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.21.ge9fc337d97 +%define archive_version +suse.21.ge9fc337d97 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -156,7 +156,7 @@ Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Obsoletes: systemd-analyze < 201 -Source0: systemd-v%{version}%{suse_version}.tar.xz +Source0: systemd-v%{version}%{archive_version}.tar.xz Source1: systemd-rpmlintrc Source2: systemd-user %if %{with sysvcompat} @@ -638,12 +638,12 @@ Have fun with these services at your own risk. %endif %prep -%autosetup -p1 -n systemd-v%{version}%{suse_version} +%autosetup -p1 -n systemd-v%{version}%{archive_version} %build %meson \ -Dmode=release \ - -Dversion-tag=%{version}%{suse_version} \ + -Dversion-tag=%{version}%{archive_version} \ -Ddocdir=%{_docdir}/systemd \ %if %{with split_usr} -Drootprefix=/usr \ From 206a32029e93b5be5ffbaa622d7ab55ee1cbcf9f0c79feddefdef7447e11d511 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 21 Jun 2022 13:21:51 +0000 Subject: [PATCH 724/991] - Adjust rpmlintrc for shlib-policy-name-error/multibuild case so that it's not only for x86_64. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1290 --- systemd-rpmlintrc | 2 +- systemd.changes | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index d381b82f..717dd254 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -11,4 +11,4 @@ addFilter(".*explicit-lib-dependency .*") addFilter(".*tmpfile-not-in-filelist .*") # shlib policy does not cover multibuilds -addFilter("libsystemd0-mini.x86_64: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") +addFilter("libsystemd0-mini\..*: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") diff --git a/systemd.changes b/systemd.changes index 0f88a51e..fd7e58d9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 21 13:20:39 UTC 2022 - Franck Bui + +- Adjust rpmlintrc for shlib-policy-name-error/multibuild case so that it's not + only for x86_64. + ------------------------------------------------------------------- Tue Jun 21 13:15:12 UTC 2022 - Franck Bui From 1f1a517f253435d2cdc62a018499fa84cc8e263a92f39874dad1eb6aa0e3a527 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 21 Jun 2022 14:13:40 +0000 Subject: [PATCH 725/991] - pstore is no more considered as an experimental feature: move it to udev package (bsc#1197802) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1291 --- files.udev | 8 ++++++++ systemd.changes | 6 ++++++ systemd.spec | 28 +++++++++++++++------------- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/files.udev b/files.udev index 4445eb81..b0034758 100644 --- a/files.udev +++ b/files.udev @@ -1,6 +1,7 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # +%config(noreplace) %{_sysconfdir}/systemd/pstore.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} # %%dir %{_libdir}/cryptsetup @@ -40,6 +41,8 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/modules-load.d.5.gz +%{_mandir}/man5/pstore.conf.5.gz +%{_mandir}/man5/pstore.conf.d.5.gz %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz @@ -63,6 +66,8 @@ %{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-network-generator.8.gz %{_mandir}/man8/systemd-network-generator.service.8.gz +%{_mandir}/man8/systemd-pstore.8.gz +%{_mandir}/man8/systemd-pstore.service.8.gz %{_mandir}/man8/systemd-rfkill.8.gz %{_mandir}/man8/systemd-rfkill.service.8.gz %{_mandir}/man8/systemd-rfkill.socket.8.gz @@ -104,6 +109,7 @@ %{_systemd_util_dir}/systemd-modules-load %endif %{_systemd_util_dir}/systemd-network-generator +%{_systemd_util_dir}/systemd-pstore %{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-udevd %if %{without bootstrap} @@ -120,6 +126,7 @@ %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_tmpfilesdir}/static-nodes-permissions.conf +%{_tmpfilesdir}/systemd-pstore.conf %{_udevhwdbdir}/20-OUI.hwdb %{_udevhwdbdir}/20-acpi-vendor.hwdb %{_udevhwdbdir}/20-bluetooth-vendor-product.hwdb @@ -221,6 +228,7 @@ %{_unitdir}/systemd-modules-load.service %endif %{_unitdir}/systemd-network-generator.service +%{_unitdir}/systemd-pstore.service %{_unitdir}/systemd-rfkill.service %{_unitdir}/systemd-rfkill.socket %{_unitdir}/systemd-tmpfiles-setup-dev.service diff --git a/systemd.changes b/systemd.changes index fd7e58d9..25f7c3d3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 21 14:09:51 UTC 2022 - Franck Bui + +- pstore is no more considered as an experimental feature: move it to udev + package (bsc#1197802) + ------------------------------------------------------------------- Tue Jun 21 13:20:39 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 06a5e46f..cfd91bc8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -628,7 +628,7 @@ Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -The package contains: homed, pstore, repart, userdbd. +The package contains: homed, repart, userdbd. Have fun with these services at your own risk. %endif @@ -681,6 +681,8 @@ Have fun with these services at your own risk. -Doomd=false \ -Dsmack=false \ \ + -Dpstore=true \ + \ -Dapparmor=%{when_not bootstrap} \ -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ @@ -718,7 +720,6 @@ Have fun with these services at your own risk. -Dresolve=%{when resolved} \ \ -Dhomed=%{when experimental} \ - -Dpstore=%{when experimental} \ -Drepart=%{when experimental} \ -Duserdb=%{when experimental} \ \ @@ -1082,6 +1083,9 @@ fi # Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} +%systemd_pre remote-cryptsetup.target +%systemd_pre systemd-pstore.service + # New installations uses the last compat symlink generation number # (currently at 2), which basically disables all compat symlinks. On # old systems, the file doesn't exist. This is equivalent to @@ -1094,7 +1098,10 @@ fi %regenerate_initrd_post %udev_hwdb_update +%tmpfiles_create systemd-pstore.conf + %systemd_post remote-cryptsetup.target +%systemd_post systemd-pstore.service # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ @@ -1104,6 +1111,10 @@ sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2" rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules +%preun -n udev%{?mini} +%systemd_preun systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_preun systemd-pstore.service + %postun -n udev%{?mini} %regenerate_initrd_post @@ -1120,7 +1131,8 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules # Note that when systemd-udevd is restarted, there will always be a short time # frame where no socket will be listening to the events sent by the kernel, no # matter if the socket unit is restarted in first or not. -%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_postun systemd-pstore.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -1252,23 +1264,18 @@ fi %if %{with experimental} %pre experimental -%service_add_pre systemd-pstore.service %service_add_pre systemd-userdbd.service systemd-userdbd.socket %service_add_pre systemd-homed.service %post experimental -%tmpfiles_create systemd-pstore.conf -%service_add_post systemd-pstore.service %service_add_post systemd-userdbd.service systemd-userdbd.socket %service_add_post systemd-homed.service %preun experimental -%service_del_preun systemd-pstore.service %service_del_preun systemd-userdbd.service systemd-userdbd.socket %service_del_preun systemd-homed.service %postun experimental -%service_del_postun systemd-pstore.service %service_del_postun systemd-userdbd.service systemd-userdbd.socket %service_del_postun systemd-homed.service %endif @@ -1402,11 +1409,6 @@ fi %if %{with experimental} %files experimental %defattr(-,root,root) -%config(noreplace) %{_sysconfdir}/systemd/pstore.conf -%{_prefix}/lib/systemd/systemd-pstore -%{_unitdir}/systemd-pstore.service -%{_tmpfilesdir}/systemd-pstore.conf -%{_mandir}/man*/*pstore* %{_bindir}/systemd-repart %{_unitdir}/systemd-repart.service %{_mandir}/man*/*repart* From 6904556372953e86d31af6f17968805b167d0fe391896ea6a35a02daf731b0ff Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 8 Jul 2022 16:30:45 +0000 Subject: [PATCH 726/991] - Import commit 69abca7794ed06d823bc0a9bb55daf822adcc632 f29b146685 pstore: Run after modules are loaded OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1292 --- systemd-v251.2+suse.21.ge9fc337d97.tar.xz | 3 --- systemd-v251.2+suse.23.g69abca7794.tar.xz | 3 +++ systemd.changes | 7 +++++++ systemd.spec | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) delete mode 100644 systemd-v251.2+suse.21.ge9fc337d97.tar.xz create mode 100644 systemd-v251.2+suse.23.g69abca7794.tar.xz diff --git a/systemd-v251.2+suse.21.ge9fc337d97.tar.xz b/systemd-v251.2+suse.21.ge9fc337d97.tar.xz deleted file mode 100644 index 9edde956..00000000 --- a/systemd-v251.2+suse.21.ge9fc337d97.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6b345714da705a4dd420ae4ebec9192b009d5d00c0186b7300894f961d3495c -size 7827816 diff --git a/systemd-v251.2+suse.23.g69abca7794.tar.xz b/systemd-v251.2+suse.23.g69abca7794.tar.xz new file mode 100644 index 00000000..37eee6f9 --- /dev/null +++ b/systemd-v251.2+suse.23.g69abca7794.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ed90d3007f0452fc774e2b47773bb8b26587527f0c358ff855f828f646d25e5 +size 7828384 diff --git a/systemd.changes b/systemd.changes index 25f7c3d3..61345b71 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jun 21 14:24:43 UTC 2022 - Franck Bui + +- Import commit 69abca7794ed06d823bc0a9bb55daf822adcc632 + + f29b146685 pstore: Run after modules are loaded + ------------------------------------------------------------------- Tue Jun 21 14:09:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cfd91bc8..c777aec1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.21.ge9fc337d97 +%define archive_version +suse.23.g69abca7794 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From ac3a4814a551eac0434725717337f5700dbd58f81c0935b7ccbba31c28a643ea Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 8 Jul 2022 18:43:30 +0000 Subject: [PATCH 727/991] - Make {/etc,/usr/lib}/systemd/network owned by both udev and systemd-network (bsc#1201276) This configuration files put in these directories are read by both udevd and systemd-networkd. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1293 --- files.udev | 1 + systemd.changes | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/files.udev b/files.udev index b0034758..0b7e58fe 100644 --- a/files.udev +++ b/files.udev @@ -11,6 +11,7 @@ %if %{without bootstrap} %dir %{_sysconfdir}/modules-load.d %endif +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network diff --git a/systemd.changes b/systemd.changes index 61345b71..99805b7f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jul 8 16:39:07 UTC 2022 - Franck Bui + +- Make {/etc,/usr/lib}/systemd/network owned by both udev and systemd-network (bsc#1201276) + + This configuration files put in these directories are read by both udevd and + systemd-networkd. + ------------------------------------------------------------------- Tue Jun 21 14:24:43 UTC 2022 - Franck Bui From 49cdefb529ffcc9b2c9e68a5fa81bbc976fbd2eed8c7516b602c28cc514ac4d3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 12 Jul 2022 18:43:33 +0000 Subject: [PATCH 728/991] - systemd.spec: add files.experimental OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1294 --- files.experimental | 40 ++++++++++++++++++++++++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 33 ++------------------------------- 3 files changed, 47 insertions(+), 31 deletions(-) create mode 100644 files.experimental diff --git a/files.experimental b/files.experimental new file mode 100644 index 00000000..b007b4c7 --- /dev/null +++ b/files.experimental @@ -0,0 +1,40 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/homed.conf +%{_bindir}/homectl +%{_bindir}/systemd-repart +%{_bindir}/userdbctl +%{_datadir}/bash-completion/completions/homectl +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_mandir}/man1/homectl.1.gz +%{_mandir}/man1/userdbctl.1.gz +%{_mandir}/man5/homed.conf.5.gz +%{_mandir}/man5/homed.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.home1.5.gz +%{_mandir}/man5/repart.d.5.gz +%{_mandir}/man8/pam_systemd_home.8.gz +%{_mandir}/man8/systemd-homed.8.gz +%{_mandir}/man8/systemd-homed.service.8.gz +%{_mandir}/man8/systemd-repart.8.gz +%{_mandir}/man8/systemd-repart.service.8.gz +%{_mandir}/man8/systemd-userdbd.8.gz +%{_mandir}/man8/systemd-userdbd.service.8.gz +%{_pam_moduledir}/pam_systemd_home.so +%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service +%{_systemd_util_dir}/systemd-homed +%{_systemd_util_dir}/systemd-homework +%{_systemd_util_dir}/systemd-userdbd +%{_systemd_util_dir}/systemd-userwork +%{_unitdir}/systemd-homed-activate.service +%{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-repart.service +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket diff --git a/systemd.changes b/systemd.changes index 99805b7f..22e6f3ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 12 14:41:48 UTC 2022 - Franck Bui + +- systemd.spec: add files.experimental + ------------------------------------------------------------------- Fri Jul 8 16:39:07 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c777aec1..0510c7e9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -178,6 +178,7 @@ Source203: files.network Source204: files.devel Source205: files.sysvcompat Source206: files.uefi-boot +Source207: files.experimental # # All changes backported from upstream are tracked by the git repository, which @@ -1409,37 +1410,7 @@ fi %if %{with experimental} %files experimental %defattr(-,root,root) -%{_bindir}/systemd-repart -%{_unitdir}/systemd-repart.service -%{_mandir}/man*/*repart* -%{_bindir}/userdbctl -%{_prefix}/lib/systemd/systemd-userwork -%{_prefix}/lib/systemd/systemd-userdbd -%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service -%{_unitdir}/systemd-userdbd.service -%{_unitdir}/systemd-userdbd.socket -%{_mandir}/man*/userdbctl* -%{_mandir}/man*/systemd-userdbd* -%config(noreplace) %{_sysconfdir}/systemd/homed.conf -%{_bindir}/homectl -%{_prefix}/lib/systemd/systemd-homed -%{_prefix}/lib/systemd/systemd-homework -%{_unitdir}/systemd-homed.service -%{_unitdir}/systemd-homed-activate.service -%{_pam_moduledir}/pam_systemd_home.so -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml -%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf -%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy -%{_datadir}/bash-completion/completions/homectl -%{_mandir}/man*/*homectl* -%{_mandir}/man*/*homed* -%{_mandir}/man*/org.freedesktop.home1* -%{_mandir}/man*/pam_systemd_home* +%include %{SOURCE207} %endif %changelog From 444d3c0a79237f0f1eacb0a66c48c7d705923b45af37bad54139488a80615f64 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 13 Jul 2022 12:55:53 +0000 Subject: [PATCH 729/991] Accepting request 985448 from Base:System Speaking with Dimstar, it should be safe doing one more SR which will be needed in Staging:I where we need rpmlintrc adjustement. OBS-URL: https://build.opensuse.org/request/show/985448 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=361 --- ...conf-parser-introduce-early-drop-ins.patch | 78 +++++++++++-------- files.devel | 18 +++++ files.network | 5 ++ files.systemd | 24 ++++-- files.udev | 9 +++ files.uefi-boot | 1 + systemd-rpmlintrc | 2 +- systemd-v250.6+suse.58.g4dbc543953.tar.xz | 3 - systemd-v251.2+suse.21.ge9fc337d97.tar.xz | 3 + systemd.changes | 53 +++++++++++++ systemd.spec | 61 +++++++++------ 11 files changed, 190 insertions(+), 67 deletions(-) delete mode 100644 systemd-v250.6+suse.58.g4dbc543953.tar.xz create mode 100644 systemd-v251.2+suse.21.ge9fc337d97.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index bcd96141..a63fa0f3 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001 +From a1c88ab7f5e5ad127833168bbb38340d1b582a88 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 48 +++++++++-- - src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 197 insertions(+), 5 deletions(-) + src/shared/conf-parser.c | 54 +++++++++++- + src/test/test-conf-parser.c | 163 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 213 insertions(+), 4 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 1e1967d7ea..eb81732dfa 100644 +index 6bd3ab38db..1722b90ca0 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -478,6 +478,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, static int config_parse_many_files( const char* const* conf_files, @@ -77,25 +77,32 @@ index 1e1967d7ea..eb81732dfa 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -481,6 +482,12 @@ static int config_parse_many_files( - stats_by_path = hashmap_new(&path_hash_ops_free_free); - if (!stats_by_path) +@@ -496,6 +497,20 @@ static int config_parse_many_files( return -ENOMEM; -+ } -+ + } + + STRV_FOREACH(fn, early_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); + if (r < 0) + return r; - } - ++ if (r == 0) ++ continue; ++ ++ if (ret_stats_by_path) { ++ r = hashmap_put_stats_by_path(&stats_by_path, *fn, &st); ++ if (r < 0) ++ return r; ++ } ++ } ++ /* First read the first found main config file. */ -@@ -521,6 +528,28 @@ static int config_parse_many_files( + STRV_FOREACH(fn, conf_files) { + r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); +@@ -534,6 +549,27 @@ static int config_parse_many_files( return 0; } +static int config_parse_split_conf_files(char **files, char ***early_files, char ***late_files) { -+ char **f; + + assert(files); + assert(early_files); @@ -119,7 +126,7 @@ index 1e1967d7ea..eb81732dfa 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -532,15 +561,19 @@ int config_parse_many_nulstr( +@@ -545,15 +581,19 @@ int config_parse_many_nulstr( void *userdata, Hashmap **ret_stats_by_path) { @@ -142,17 +149,15 @@ index 1e1967d7ea..eb81732dfa 100644 ret_stats_by_path); } -@@ -556,8 +589,8 @@ int config_parse_many( +@@ -590,6 +630,7 @@ int config_parse_many( void *userdata, Hashmap **ret_stats_by_path) { -+ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; - _cleanup_strv_free_ char **dropin_dirs = NULL; -- _cleanup_strv_free_ char **files = NULL; - const char *suffix; ++ _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL; + _cleanup_strv_free_ char **files = NULL; int r; -@@ -570,7 +603,12 @@ int config_parse_many( +@@ -602,7 +643,12 @@ int config_parse_many( if (r < 0) return r; @@ -165,9 +170,9 @@ index 1e1967d7ea..eb81732dfa 100644 + sections, lookup, table, flags, userdata, ret_stats_by_path); } - #define DEFINE_PARSER(type, vartype, conv_func) \ + static int config_get_stats_by_path_one( diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..de408272f0 100644 +index e61932ab16..5a5c0d73ff 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -180,12 +185,11 @@ index e61932ab16..de408272f0 100644 #include "string-util.h" #include "strv.h" #include "tests.h" -@@ -391,4 +394,155 @@ TEST(config_parse) { +@@ -391,4 +394,164 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } +static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { -+ char **path; + + /* If 'is_main' is true then 'conf_files' should only contain an entry + * for the main conf file. */ @@ -264,8 +268,12 @@ index e61932ab16..de408272f0 100644 + NULL, + NULL); + } else { ++ /* sigh... since commit bdb2d3c6889408c7f26c2eeddbe9021ac53f962c, ++ * 'conf_file_dirs' parameter can't be NULL. */ ++ + r = config_parse_many(STRV_MAKE_CONST(conf_file), -+ (const char * const*) conf_dirs, "", ++ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY), ++ "", + "Section\0", + config_item_table_lookup, items, + CONFIG_PARSE_WARN, @@ -274,9 +282,15 @@ index e61932ab16..de408272f0 100644 + } + + assert_se(r == 0); -+ assert_se((!name && !parsed_name) || streq(name, parsed_name)); -+ assert_se((!late && !parsed_late) || streq(late, parsed_late)); -+ assert_se((!early && !parsed_early) || streq(early, parsed_early)); ++ ++ assert_se((!!name == !!parsed_name)); ++ assert_se(!name || streq(name, parsed_name)); ++ ++ assert_se((!!late == !!parsed_late)); ++ assert_se(!late || streq(late, parsed_late)); ++ ++ assert_se((!!early == !!parsed_early)); ++ assert_se(!early || streq(early, parsed_early)); + + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} @@ -337,5 +351,5 @@ index e61932ab16..de408272f0 100644 + DEFINE_TEST_MAIN(LOG_INFO); -- -2.34.1 +2.35.3 diff --git a/files.devel b/files.devel index c1a2301c..fde7b6f7 100644 --- a/files.devel +++ b/files.devel @@ -87,7 +87,9 @@ %{_mandir}/man3/SD_ID128_NULL.3.gz %{_mandir}/man3/SD_ID128_STRING_MAX.3.gz %{_mandir}/man3/SD_ID128_TO_STRING.3.gz +%{_mandir}/man3/SD_ID128_TO_UUID_STRING.3.gz %{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz +%{_mandir}/man3/SD_ID128_UUID_STRING_MAX.3.gz %{_mandir}/man3/SD_INFO.3.gz %{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz %{_mandir}/man3/SD_JOURNAL_APPEND.3.gz @@ -112,6 +114,7 @@ %{_mandir}/man3/sd-bus-errors.3.gz %{_mandir}/man3/sd-bus.3.gz %{_mandir}/man3/sd-daemon.3.gz +%{_mandir}/man3/sd-device.3.gz %{_mandir}/man3/sd-event.3.gz %{_mandir}/man3/sd-hwdb.3.gz %{_mandir}/man3/sd-id128.3.gz @@ -423,6 +426,20 @@ %{_mandir}/man3/sd_bus_unref.3.gz %{_mandir}/man3/sd_bus_unrefp.3.gz %{_mandir}/man3/sd_bus_wait.3.gz +%{_mandir}/man3/sd_device_get_devname.3.gz +%{_mandir}/man3/sd_device_get_devnum.3.gz +%{_mandir}/man3/sd_device_get_devpath.3.gz +%{_mandir}/man3/sd_device_get_devtype.3.gz +%{_mandir}/man3/sd_device_get_diskseq.3.gz +%{_mandir}/man3/sd_device_get_driver.3.gz +%{_mandir}/man3/sd_device_get_ifindex.3.gz +%{_mandir}/man3/sd_device_get_subsystem.3.gz +%{_mandir}/man3/sd_device_get_sysname.3.gz +%{_mandir}/man3/sd_device_get_sysnum.3.gz +%{_mandir}/man3/sd_device_get_syspath.3.gz +%{_mandir}/man3/sd_device_ref.3.gz +%{_mandir}/man3/sd_device_unref.3.gz +%{_mandir}/man3/sd_device_unrefp.3.gz %{_mandir}/man3/sd_event.3.gz %{_mandir}/man3/sd_event_add_child.3.gz %{_mandir}/man3/sd_event_add_child_pidfd.3.gz @@ -535,6 +552,7 @@ %{_mandir}/man3/sd_id128_randomize.3.gz %{_mandir}/man3/sd_id128_t.3.gz %{_mandir}/man3/sd_id128_to_string.3.gz +%{_mandir}/man3/sd_id128_to_uuid_string.3.gz %{_mandir}/man3/sd_is_fifo.3.gz %{_mandir}/man3/sd_is_mq.3.gz %{_mandir}/man3/sd_is_socket.3.gz diff --git a/files.network b/files.network index 9e3f698c..d3c3715c 100644 --- a/files.network +++ b/files.network @@ -23,19 +23,24 @@ %{_mandir}/man5/systemd.network.5.gz %{_mandir}/man8/systemd-networkd-wait-online.8.gz %{_mandir}/man8/systemd-networkd-wait-online.service.8.gz +%{_mandir}/man8/systemd-networkd-wait-online@.service.8.gz %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz %{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network +%{_systemd_util_dir}/network/80-ethernet.network.example %{_systemd_util_dir}/network/80-vm-vt.network %{_systemd_util_dir}/network/80-wifi-adhoc.network %{_systemd_util_dir}/network/80-wifi-ap.network.example %{_systemd_util_dir}/network/80-wifi-station.network.example %{_systemd_util_dir}/systemd-networkd %{_systemd_util_dir}/systemd-networkd-wait-online +%{_sysusersdir}/systemd-network.conf +%{_tmpfilesdir}/systemd-network.conf %{_unitdir}/systemd-networkd-wait-online.service +%{_unitdir}/systemd-networkd-wait-online@.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %endif diff --git a/files.systemd b/files.systemd index 8e3481a9..482666b7 100644 --- a/files.systemd +++ b/files.systemd @@ -183,6 +183,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map %if %{without bootstrap} @@ -301,6 +302,7 @@ %{_mandir}/man5/systemd.target.5.gz %{_mandir}/man5/systemd.timer.5.gz %{_mandir}/man5/systemd.unit.5.gz +%{_mandir}/man5/sysupdate.d.5.gz %{_mandir}/man5/sysusers.d.5.gz %{_mandir}/man5/timesyncd.conf.5.gz %{_mandir}/man5/timesyncd.conf.d.5.gz @@ -386,6 +388,11 @@ %{_mandir}/man8/systemd-sysext.8.gz %{_mandir}/man8/systemd-sysext.service.8.gz %{_mandir}/man8/systemd-system-update-generator.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz +%{_mandir}/man8/systemd-sysupdate.8.gz +%{_mandir}/man8/systemd-sysupdate.service.8.gz +%{_mandir}/man8/systemd-sysupdate.timer.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz @@ -419,7 +426,8 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%{_systemd_util_dir}/libsystemd-shared-250.so +%{_systemd_util_dir}/libsystemd-core-251.so +%{_systemd_util_dir}/libsystemd-shared-251.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -444,6 +452,9 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl +%if %{without bootstrap} +%{_systemd_util_dir}/systemd-sysupdate +%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -483,11 +494,6 @@ %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator %{_sysusersdir}/systemd-journal.conf -%if %{with networkd} -# Yes, systemd-network.conf really belongs here, see -# https://github.com/systemd/systemd/pull/22416#issuecomment-1029828592 -%{_sysusersdir}/systemd-network.conf -%endif %{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/suse.conf @@ -643,6 +649,12 @@ %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service +%if %{without bootstrap} +%{_unitdir}/systemd-sysupdate-reboot.service +%{_unitdir}/systemd-sysupdate-reboot.timer +%{_unitdir}/systemd-sysupdate.service +%{_unitdir}/systemd-sysupdate.timer +%endif %{_unitdir}/systemd-sysusers.service %{_unitdir}/systemd-time-wait-sync.service %{_unitdir}/systemd-timedated.service diff --git a/files.udev b/files.udev index 5e9aa154..b0034758 100644 --- a/files.udev +++ b/files.udev @@ -1,6 +1,7 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # +%config(noreplace) %{_sysconfdir}/systemd/pstore.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} # %%dir %{_libdir}/cryptsetup @@ -40,6 +41,8 @@ %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz %{_mandir}/man5/modules-load.d.5.gz +%{_mandir}/man5/pstore.conf.5.gz +%{_mandir}/man5/pstore.conf.d.5.gz %{_mandir}/man5/udev.conf.5.gz %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz @@ -63,6 +66,8 @@ %{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-network-generator.8.gz %{_mandir}/man8/systemd-network-generator.service.8.gz +%{_mandir}/man8/systemd-pstore.8.gz +%{_mandir}/man8/systemd-pstore.service.8.gz %{_mandir}/man8/systemd-rfkill.8.gz %{_mandir}/man8/systemd-rfkill.service.8.gz %{_mandir}/man8/systemd-rfkill.socket.8.gz @@ -104,6 +109,7 @@ %{_systemd_util_dir}/systemd-modules-load %endif %{_systemd_util_dir}/systemd-network-generator +%{_systemd_util_dir}/systemd-pstore %{_systemd_util_dir}/systemd-rfkill %{_systemd_util_dir}/systemd-udevd %if %{without bootstrap} @@ -120,6 +126,7 @@ %{_systemdgeneratordir}/systemd-veritysetup-generator %endif %{_tmpfilesdir}/static-nodes-permissions.conf +%{_tmpfilesdir}/systemd-pstore.conf %{_udevhwdbdir}/20-OUI.hwdb %{_udevhwdbdir}/20-acpi-vendor.hwdb %{_udevhwdbdir}/20-bluetooth-vendor-product.hwdb @@ -145,6 +152,7 @@ %{_udevhwdbdir}/70-cameras.hwdb %{_udevhwdbdir}/70-joystick.hwdb %{_udevhwdbdir}/70-mouse.hwdb +%{_udevhwdbdir}/70-pda.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb %{_udevhwdbdir}/70-touchpad.hwdb %{_udevhwdbdir}/80-ieee1394-unit-function.hwdb @@ -220,6 +228,7 @@ %{_unitdir}/systemd-modules-load.service %endif %{_unitdir}/systemd-network-generator.service +%{_unitdir}/systemd-pstore.service %{_unitdir}/systemd-rfkill.service %{_unitdir}/systemd-rfkill.socket %{_unitdir}/systemd-tmpfiles-setup-dev.service diff --git a/files.uefi-boot b/files.uefi-boot index 70e46b69..a50867c4 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -19,6 +19,7 @@ %{_mandir}/man7/linuxia32.efi.stub.7.gz %{_mandir}/man7/linuxx64.efi.stub.7.gz %{_mandir}/man7/sd-boot.7.gz +%{_mandir}/man7/sd-stub.7.gz %{_mandir}/man7/systemd-boot.7.gz %{_mandir}/man7/systemd-stub.7.gz %{_mandir}/man8/kernel-install.8.gz diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index d381b82f..717dd254 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -11,4 +11,4 @@ addFilter(".*explicit-lib-dependency .*") addFilter(".*tmpfile-not-in-filelist .*") # shlib policy does not cover multibuilds -addFilter("libsystemd0-mini.x86_64: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") +addFilter("libsystemd0-mini\..*: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") diff --git a/systemd-v250.6+suse.58.g4dbc543953.tar.xz b/systemd-v250.6+suse.58.g4dbc543953.tar.xz deleted file mode 100644 index 8d9d9222..00000000 --- a/systemd-v250.6+suse.58.g4dbc543953.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c00bf0607ca3a8ad8d001808741277c600db2c446bb58ce347e445dec2ff20e -size 7677168 diff --git a/systemd-v251.2+suse.21.ge9fc337d97.tar.xz b/systemd-v251.2+suse.21.ge9fc337d97.tar.xz new file mode 100644 index 00000000..9edde956 --- /dev/null +++ b/systemd-v251.2+suse.21.ge9fc337d97.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6b345714da705a4dd420ae4ebec9192b009d5d00c0186b7300894f961d3495c +size 7827816 diff --git a/systemd.changes b/systemd.changes index ba9c7421..25f7c3d3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,50 @@ +------------------------------------------------------------------- +Tue Jun 21 14:09:51 UTC 2022 - Franck Bui + +- pstore is no more considered as an experimental feature: move it to udev + package (bsc#1197802) + +------------------------------------------------------------------- +Tue Jun 21 13:20:39 UTC 2022 - Franck Bui + +- Adjust rpmlintrc for shlib-policy-name-error/multibuild case so that it's not + only for x86_64. + +------------------------------------------------------------------- +Tue Jun 21 13:15:12 UTC 2022 - Franck Bui + +- spec: %suse_version rpm macro is already reserved and has a special meaning in + openSUSE distros so rename it to %archive_version instead. + +------------------------------------------------------------------- +Wed Jun 8 10:11:12 UTC 2022 - Franck Bui + +- Import commit e9fc337d97539fcab23078ab3e06f6b2ce3a3c8d + + ca0b29521f sha256: fix compilation on efi-ia32 + 1bbbac6a7e test: enable virtio-rng device for QEMU guests + +------------------------------------------------------------------- +Wed Jun 1 07:20:05 UTC 2022 - Franck Bui + +- Upgrade to v251.2 (commit 949d6bb7201dd48167ee9716ed6278764d1f4c0f) + + See https://github.com/openSUSE/systemd/blob/SUSE/v251/NEWS for + details. + + This includes the following bug fixes: + + - upstream commit e6b169418369abbc88c8f622e02e1d704a23d4ef (bsc#1137373 bsc#1181658 bsc#1194708 bsc#1195157 bsc#1197570) + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + + * systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN + relying on this module. + + * sysusers.d/systemd-network.conf has been moved to systemd-network + sub-package since the tmpfiles configuration snippets for networkd has also + been moved to this sub-package. + ------------------------------------------------------------------- Tue May 31 13:26:38 UTC 2022 - Franck Bui @@ -26,6 +73,11 @@ Fri Apr 29 12:37:00 UTC 2022 - Franck Bui It's a backport of upstream commit 1000522a60ceade446773c67031b47a566d4a70d. +------------------------------------------------------------------- +Wed Apr 20 08:25:27 UTC 2022 - Ludwig Nussel + +- spec: add sbat (boo#1198589) + ------------------------------------------------------------------- Wed Apr 20 07:59:23 UTC 2022 - Ludwig Nussel @@ -1065,6 +1117,7 @@ Mon Apr 26 16:25:38 UTC 2021 - Franck Bui - upstream commit 4327574fc1093513badc2177f71cede2fc88c13c (bsc#1166028) - upstream commit 3573e032f26724949e86626eace058d006b8bf70 (bsc#1186411) + - upstream commit 30927a24848c4d727f7619cc74b878f098cdd724 (bsc#1200170) - A couple runtime dependencies on libraries are now tracked manually (with Recommends:) due to the fact that some symbols of diff --git a/systemd.spec b/systemd.spec index e7d0df84..cfd91bc8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define suse_version +suse.58.g4dbc543953 +%define archive_version +suse.21.ge9fc337d97 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 250.6 +Version: 251.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -156,7 +156,7 @@ Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 Obsoletes: systemd-analyze < 201 -Source0: systemd-v%{version}%{suse_version}.tar.xz +Source0: systemd-v%{version}%{archive_version}.tar.xz Source1: systemd-rpmlintrc Source2: systemd-user %if %{with sysvcompat} @@ -547,6 +547,7 @@ Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: netcat +Requires: python3-pexpect Requires: qemu-kvm Requires: quota Requires: socat @@ -627,7 +628,7 @@ Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -The package contains: homed, pstore, repart, userdbd. +The package contains: homed, repart, userdbd. Have fun with these services at your own risk. %endif @@ -637,12 +638,12 @@ Have fun with these services at your own risk. %endif %prep -%autosetup -p1 -n systemd-v%{version}%{suse_version} +%autosetup -p1 -n systemd-v%{version}%{archive_version} %build %meson \ -Dmode=release \ - -Dversion-tag=%{version}%{suse_version} \ + -Dversion-tag=%{version}%{archive_version} \ -Ddocdir=%{_docdir}/systemd \ %if %{with split_usr} -Drootprefix=/usr \ @@ -680,6 +681,8 @@ Have fun with these services at your own risk. -Doomd=false \ -Dsmack=false \ \ + -Dpstore=true \ + \ -Dapparmor=%{when_not bootstrap} \ -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ @@ -689,6 +692,7 @@ Have fun with these services at your own risk. -Dnss-systemd=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ -Dselinux=%{when_not bootstrap} \ + -Dsysupdate=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ @@ -702,7 +706,13 @@ Have fun with these services at your own risk. \ -Dgnu-efi=%{when sd_boot} \ -Dkernel-install=%{when sd_boot} \ - -Dsbat-distro= \ + \ + -Dsbat-distro="%{?sbat_distro}" \ + -Dsbat-distro-summary="%{?sbat_distro_summary}" \ + -Dsbat-distro-url="%{?sbat_distro_url}" \ + \ + -Dsbat-distro-pkgname="%{name}" \ + -Dsbat-distro-version="%{version}-%{release}" \ \ -Ddefault-dnssec=no \ -Ddns-servers='' \ @@ -710,7 +720,6 @@ Have fun with these services at your own risk. -Dresolve=%{when resolved} \ \ -Dhomed=%{when experimental} \ - -Dpstore=%{when experimental} \ -Drepart=%{when experimental} \ -Duserdb=%{when experimental} \ \ @@ -975,7 +984,6 @@ pam-config --add --systemd || : # in %%post. However this shouldn't be an issue since all files the # main package ships are owned by root. %sysusers_create systemd-journal.conf -%sysusers_create systemd-network.conf %sysusers_create systemd-timesync.conf [ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : @@ -1000,8 +1008,8 @@ systemctl daemon-reexec || : # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : if [ "$1" -eq 1 ]; then - # Persistent journal is the default - mkdir -p %{_localstatedir}/log/journal + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal fi %journal_catalog_update @@ -1075,19 +1083,25 @@ fi # Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} +%systemd_pre remote-cryptsetup.target +%systemd_pre systemd-pstore.service + # New installations uses the last compat symlink generation number # (currently at 2), which basically disables all compat symlinks. On # old systems, the file doesn't exist. This is equivalent to # generation #1, which enables the creation of all compat symlinks. if [ $1 -eq 1 ]; then - echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation + echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi %post -n udev%{?mini} %regenerate_initrd_post %udev_hwdb_update +%tmpfiles_create systemd-pstore.conf + %systemd_post remote-cryptsetup.target +%systemd_post systemd-pstore.service # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ @@ -1097,6 +1111,10 @@ sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2" rm -f /etc/sysconfig/udev rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules +%preun -n udev%{?mini} +%systemd_preun systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_preun systemd-pstore.service + %postun -n udev%{?mini} %regenerate_initrd_post @@ -1113,7 +1131,8 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules # Note that when systemd-udevd is restarted, there will always be a short time # frame where no socket will be listening to the events sent by the kernel, no # matter if the socket unit is restarted in first or not. -%service_del_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_postun systemd-pstore.service %posttrans -n udev%{?mini} %regenerate_initrd_posttrans @@ -1197,6 +1216,8 @@ fi %post network %if %{with networkd} +%sysusers_create systemd-network.conf +%tmpfiles_create systemd-network.conf %service_add_post systemd-networkd.service %service_add_post systemd-networkd-wait-online.service %endif @@ -1243,23 +1264,18 @@ fi %if %{with experimental} %pre experimental -%service_add_pre systemd-pstore.service %service_add_pre systemd-userdbd.service systemd-userdbd.socket %service_add_pre systemd-homed.service %post experimental -%tmpfiles_create systemd-pstore.conf -%service_add_post systemd-pstore.service %service_add_post systemd-userdbd.service systemd-userdbd.socket %service_add_post systemd-homed.service %preun experimental -%service_del_preun systemd-pstore.service %service_del_preun systemd-userdbd.service systemd-userdbd.socket %service_del_preun systemd-homed.service %postun experimental -%service_del_postun systemd-pstore.service %service_del_postun systemd-userdbd.service systemd-userdbd.socket %service_del_postun systemd-homed.service %endif @@ -1302,13 +1318,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.33.0 +%{_libdir}/libsystemd.so.0.34.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.3 +%{_libdir}/libudev.so.1.7.4 %if %{with coredump} %files coredump @@ -1393,11 +1409,6 @@ fi %if %{with experimental} %files experimental %defattr(-,root,root) -%config(noreplace) %{_sysconfdir}/systemd/pstore.conf -%{_prefix}/lib/systemd/systemd-pstore -%{_unitdir}/systemd-pstore.service -%{_tmpfilesdir}/systemd-pstore.conf -%{_mandir}/man*/*pstore* %{_bindir}/systemd-repart %{_unitdir}/systemd-repart.service %{_mandir}/man*/*repart* From de7f0bab9e3c9c23c794d5de7a27ba0864abeaaef92831611b736a2165db7745 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Jul 2022 16:35:38 +0000 Subject: [PATCH 730/991] - When systemd-container is installed install tar/gpg too So `machinectl import-tar` always works flawlessly. systemd-container already is an optional package and both tar and gpg are rather basic anyway so no harm should be done by requiring them. - Move the systemd sysupdate stuff from the main package to the experimental sub-package while it's still time. The method used (currently) for updating openSUSE distro is rpm, not systemd-sysupdate. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1295 --- files.experimental | 11 +++++++++++ files.systemd | 15 --------------- systemd.changes | 13 +++++++++++++ systemd.spec | 5 ++++- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/files.experimental b/files.experimental index b007b4c7..1649dfeb 100644 --- a/files.experimental +++ b/files.experimental @@ -19,11 +19,17 @@ %{_mandir}/man5/homed.conf.d.5.gz %{_mandir}/man5/org.freedesktop.home1.5.gz %{_mandir}/man5/repart.d.5.gz +%{_mandir}/man5/sysupdate.d.5.gz %{_mandir}/man8/pam_systemd_home.8.gz %{_mandir}/man8/systemd-homed.8.gz %{_mandir}/man8/systemd-homed.service.8.gz %{_mandir}/man8/systemd-repart.8.gz %{_mandir}/man8/systemd-repart.service.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz +%{_mandir}/man8/systemd-sysupdate.8.gz +%{_mandir}/man8/systemd-sysupdate.service.8.gz +%{_mandir}/man8/systemd-sysupdate.timer.8.gz %{_mandir}/man8/systemd-userdbd.8.gz %{_mandir}/man8/systemd-userdbd.service.8.gz %{_pam_moduledir}/pam_systemd_home.so @@ -31,10 +37,15 @@ %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-homed %{_systemd_util_dir}/systemd-homework +%{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork %{_unitdir}/systemd-homed-activate.service %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-repart.service +%{_unitdir}/systemd-sysupdate-reboot.service +%{_unitdir}/systemd-sysupdate-reboot.timer +%{_unitdir}/systemd-sysupdate.service +%{_unitdir}/systemd-sysupdate.timer %{_unitdir}/systemd-userdbd.service %{_unitdir}/systemd-userdbd.socket diff --git a/files.systemd b/files.systemd index 482666b7..12ce6683 100644 --- a/files.systemd +++ b/files.systemd @@ -302,7 +302,6 @@ %{_mandir}/man5/systemd.target.5.gz %{_mandir}/man5/systemd.timer.5.gz %{_mandir}/man5/systemd.unit.5.gz -%{_mandir}/man5/sysupdate.d.5.gz %{_mandir}/man5/sysusers.d.5.gz %{_mandir}/man5/timesyncd.conf.5.gz %{_mandir}/man5/timesyncd.conf.d.5.gz @@ -388,11 +387,6 @@ %{_mandir}/man8/systemd-sysext.8.gz %{_mandir}/man8/systemd-sysext.service.8.gz %{_mandir}/man8/systemd-system-update-generator.8.gz -%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz -%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz -%{_mandir}/man8/systemd-sysupdate.8.gz -%{_mandir}/man8/systemd-sysupdate.service.8.gz -%{_mandir}/man8/systemd-sysupdate.timer.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz @@ -452,9 +446,6 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl -%if %{without bootstrap} -%{_systemd_util_dir}/systemd-sysupdate -%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -649,12 +640,6 @@ %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service -%if %{without bootstrap} -%{_unitdir}/systemd-sysupdate-reboot.service -%{_unitdir}/systemd-sysupdate-reboot.timer -%{_unitdir}/systemd-sysupdate.service -%{_unitdir}/systemd-sysupdate.timer -%endif %{_unitdir}/systemd-sysusers.service %{_unitdir}/systemd-time-wait-sync.service %{_unitdir}/systemd-timedated.service diff --git a/systemd.changes b/systemd.changes index 22e6f3ec..03ffb723 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Jul 18 15:54:51 UTC 2022 - Franck Bui + +- When systemd-container is installed install tar/gpg too + + So `machinectl import-tar` always works flawlessly. systemd-container already + is an optional package and both tar and gpg are rather basic anyway so no harm + should be done by requiring them. + +- Move the systemd sysupdate stuff from the main package to the experimental + sub-package while it's still time. The method used (currently) for updating + openSUSE distro is rpm, not systemd-sysupdate. + ------------------------------------------------------------------- Tue Jul 12 14:41:48 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0510c7e9..3f2d83c7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -388,6 +388,9 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(zlib) %endif Requires: %{name} = %{version}-%{release} +# import-tar needs tar and gpg +Requires: /usr/bin/tar +Requires: /usr/bin/gpg %systemd_requires Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} @@ -693,7 +696,6 @@ Have fun with these services at your own risk. -Dnss-systemd=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ -Dselinux=%{when_not bootstrap} \ - -Dsysupdate=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ @@ -722,6 +724,7 @@ Have fun with these services at your own risk. \ -Dhomed=%{when experimental} \ -Drepart=%{when experimental} \ + -Dsysupdate=%{when experimental} \ -Duserdb=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ From 729b03caeae7918a853a59776e1801928f13cd39b9c98e24e60239b5887401ba Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Jul 2022 08:59:20 +0000 Subject: [PATCH 731/991] - Enable bpf framework OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1296 --- systemd.changes | 5 +++++ systemd.spec | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/systemd.changes b/systemd.changes index 03ffb723..fd3d831d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 19 08:58:21 UTC 2022 - Franck Bui + +- Enable bpf framework + ------------------------------------------------------------------- Mon Jul 18 15:54:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3f2d83c7..22f3bc90 100644 --- a/systemd.spec +++ b/systemd.spec @@ -78,6 +78,8 @@ Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{without bootstrap} +BuildRequires: bpftool +BuildRequires: clang BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -88,6 +90,7 @@ BuildRequires: polkit BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) +BuildRequires: pkgconfig(libbpf) BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) @@ -137,6 +140,8 @@ Requires: util-linux >= 2.27.1 Requires: group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl Recommends: libpcre2-8-0 +Recommends: libbpf0 + Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -688,6 +693,7 @@ Have fun with these services at your own risk. -Dpstore=true \ \ -Dapparmor=%{when_not bootstrap} \ + -Dbpf-framework=%{when_not bootstrap} \ -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ From 934b0e481676534bde093046c0453e86ef780737da43d4fb39720298b7b745ab Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Jul 2022 11:25:58 +0000 Subject: [PATCH 732/991] - Import commit 32912879062bb1595d8498b6f9c77d5acd1dc66a 111b96ca86 logind: don't delay login for root even if systemd-user-sessions.service is not activated yet (bsc#1195059) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1297 --- files.systemd | 4 ++++ systemd-v251.2+suse.23.g69abca7794.tar.xz | 3 --- systemd-v251.2+suse.25.g3291287906.tar.xz | 3 +++ systemd.changes | 7 +++++++ systemd.spec | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) delete mode 100644 systemd-v251.2+suse.23.g69abca7794.tar.xz create mode 100644 systemd-v251.2+suse.25.g3291287906.tar.xz diff --git a/files.systemd b/files.systemd index 12ce6683..a245c56f 100644 --- a/files.systemd +++ b/files.systemd @@ -73,6 +73,8 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{_unitdir}/user@.service.d +%dir %{_unitdir}/user@0.service.d %dir %{xinitconfdir} %dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README @@ -663,6 +665,8 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service +%{_unitdir}/user@.service.d/10-login-barrier.conf +%{_unitdir}/user@0.service.d/10-login-barrier.conf %{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl diff --git a/systemd-v251.2+suse.23.g69abca7794.tar.xz b/systemd-v251.2+suse.23.g69abca7794.tar.xz deleted file mode 100644 index 37eee6f9..00000000 --- a/systemd-v251.2+suse.23.g69abca7794.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ed90d3007f0452fc774e2b47773bb8b26587527f0c358ff855f828f646d25e5 -size 7828384 diff --git a/systemd-v251.2+suse.25.g3291287906.tar.xz b/systemd-v251.2+suse.25.g3291287906.tar.xz new file mode 100644 index 00000000..f9f79c10 --- /dev/null +++ b/systemd-v251.2+suse.25.g3291287906.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e953bd5df8c946914d5d2c9d708d09d99d1f59f49a59c74fca11673d7f0d5b52 +size 7828568 diff --git a/systemd.changes b/systemd.changes index fd3d831d..86c9652d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jul 19 10:18:03 UTC 2022 - Franck Bui + +- Import commit 32912879062bb1595d8498b6f9c77d5acd1dc66a + + 111b96ca86 logind: don't delay login for root even if systemd-user-sessions.service is not activated yet (bsc#1195059) + ------------------------------------------------------------------- Tue Jul 19 08:58:21 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 22f3bc90..f814ffb7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.23.g69abca7794 +%define archive_version +suse.25.g3291287906 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 0f44c51ec75969d19546dfb48af7585c7d71eb9e6b9b6addfd2961ad2d11056d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Jul 2022 11:35:56 +0000 Subject: [PATCH 733/991] - Import commit 8cd784e9250b38d20d8e14fccbfb211010283c79 (merge of v251.3) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/32912879062bb1595d8498b6f9c77d5acd1dc66a...8cd784e9250b38d20d8e14fccbfb211010283c79 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1298 --- systemd-v251.2+suse.25.g3291287906.tar.xz | 3 --- systemd-v251.3+suse.27.g8cd784e925.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v251.2+suse.25.g3291287906.tar.xz create mode 100644 systemd-v251.3+suse.27.g8cd784e925.tar.xz diff --git a/systemd-v251.2+suse.25.g3291287906.tar.xz b/systemd-v251.2+suse.25.g3291287906.tar.xz deleted file mode 100644 index f9f79c10..00000000 --- a/systemd-v251.2+suse.25.g3291287906.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e953bd5df8c946914d5d2c9d708d09d99d1f59f49a59c74fca11673d7f0d5b52 -size 7828568 diff --git a/systemd-v251.3+suse.27.g8cd784e925.tar.xz b/systemd-v251.3+suse.27.g8cd784e925.tar.xz new file mode 100644 index 00000000..0af4209c --- /dev/null +++ b/systemd-v251.3+suse.27.g8cd784e925.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b85c656fb5c904dced2f5add19bcd3ad463fd766ae1e435697fe4da321d721c +size 7829628 diff --git a/systemd.changes b/systemd.changes index 86c9652d..b3e2c89e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jul 19 11:32:25 UTC 2022 - Franck Bui + +- Import commit 8cd784e9250b38d20d8e14fccbfb211010283c79 (merge of v251.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/32912879062bb1595d8498b6f9c77d5acd1dc66a...8cd784e9250b38d20d8e14fccbfb211010283c79 + ------------------------------------------------------------------- Tue Jul 19 10:18:03 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f814ffb7..bbaf9648 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.25.g3291287906 +%define archive_version +suse.27.g8cd784e925 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.2 +Version: 251.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 3afc4cd3df5e65e8a4e47610bd797b0dab1fd9c80fec17e52a7e43f6bd9d2450 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Jul 2022 12:27:38 +0000 Subject: [PATCH 734/991] - Enable oomd (bsc#1200456) It's part of the experimental sub-package for now. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1299 --- files.experimental | 17 +++++++++++++++++ systemd.changes | 7 +++++++ systemd.spec | 4 ++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/files.experimental b/files.experimental index 1649dfeb..ea0da120 100644 --- a/files.experimental +++ b/files.experimental @@ -2,27 +2,40 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %config(noreplace) %{_sysconfdir}/systemd/homed.conf +%config(noreplace) %{_sysconfdir}/systemd/oomd.conf %{_bindir}/homectl +%{_bindir}/oomctl %{_bindir}/systemd-repart %{_bindir}/userdbctl %{_datadir}/bash-completion/completions/homectl +%{_datadir}/bash-completion/completions/oomctl %{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.oom1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.oom1.service %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.oom1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_datadir}/zsh/site-functions/_oomctl %{_mandir}/man1/homectl.1.gz +%{_mandir}/man1/oomctl.1.gz %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz +%{_mandir}/man5/oomd.conf.5.gz +%{_mandir}/man5/oomd.conf.d.5.gz %{_mandir}/man5/org.freedesktop.home1.5.gz +%{_mandir}/man5/org.freedesktop.oom1.5.gz %{_mandir}/man5/repart.d.5.gz %{_mandir}/man5/sysupdate.d.5.gz %{_mandir}/man8/pam_systemd_home.8.gz %{_mandir}/man8/systemd-homed.8.gz %{_mandir}/man8/systemd-homed.service.8.gz +%{_mandir}/man8/systemd-oomd.8.gz +%{_mandir}/man8/systemd-oomd.service.8.gz %{_mandir}/man8/systemd-repart.8.gz %{_mandir}/man8/systemd-repart.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz @@ -37,11 +50,15 @@ %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-homed %{_systemd_util_dir}/systemd-homework +%{_systemd_util_dir}/systemd-oomd %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork +%{_sysusersdir}/systemd-oom.conf %{_unitdir}/systemd-homed-activate.service %{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-oomd.service +%{_unitdir}/systemd-oomd.socket %{_unitdir}/systemd-repart.service %{_unitdir}/systemd-sysupdate-reboot.service %{_unitdir}/systemd-sysupdate-reboot.timer diff --git a/systemd.changes b/systemd.changes index b3e2c89e..21af42cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jul 19 12:18:35 UTC 2022 - Franck Bui + +- Enable oomd (bsc#1200456) + + It's part of the experimental sub-package for now. + ------------------------------------------------------------------- Tue Jul 19 11:32:25 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bbaf9648..29a51bf2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -637,7 +637,7 @@ Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -The package contains: homed, repart, userdbd. +The package contains: homed, repart, userdbd, oomd. Have fun with these services at your own risk. %endif @@ -687,7 +687,6 @@ Have fun with these services at your own risk. -Dima=false \ -Dldconfig=false \ -Dlibcryptsetup-plugins=false \ - -Doomd=false \ -Dsmack=false \ \ -Dpstore=true \ @@ -729,6 +728,7 @@ Have fun with these services at your own risk. -Dresolve=%{when resolved} \ \ -Dhomed=%{when experimental} \ + -Doomd=%{when experimental} \ -Drepart=%{when experimental} \ -Dsysupdate=%{when experimental} \ -Duserdb=%{when experimental} \ From 127267652ea75a684d6215f7a5cc929deb4dd8b679ad210783bb9ce22779fc90 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Jul 2022 12:36:24 +0000 Subject: [PATCH 735/991] - Don't try to apply presets to any services shipped by the experimental sub-package Experimental services will never be enabled by default. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1300 --- systemd.changes | 7 +++++++ systemd.spec | 18 ------------------ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/systemd.changes b/systemd.changes index 21af42cb..2ebea12e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jul 19 12:31:24 UTC 2022 - Franck Bui + +- Don't try to apply presets to any services shipped by the experimental sub-package + + Experimental services will never be enabled by default. + ------------------------------------------------------------------- Tue Jul 19 12:18:35 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 29a51bf2..ffa94bde 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1272,24 +1272,6 @@ fi %service_del_postun systemd-portabled.service %endif -%if %{with experimental} -%pre experimental -%service_add_pre systemd-userdbd.service systemd-userdbd.socket -%service_add_pre systemd-homed.service - -%post experimental -%service_add_post systemd-userdbd.service systemd-userdbd.socket -%service_add_post systemd-homed.service - -%preun experimental -%service_del_preun systemd-userdbd.service systemd-userdbd.socket -%service_del_preun systemd-homed.service - -%postun experimental -%service_del_postun systemd-userdbd.service systemd-userdbd.socket -%service_del_postun systemd-homed.service -%endif - %files %defattr(-,root,root) %include %{SOURCE200} From ad55fe6b211254134840bb01c4f4229ba0a4df014e74a150cbdbed3810b0e94e Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Mon, 15 Aug 2022 11:44:59 +0000 Subject: [PATCH 736/991] Add 1001-statx.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1301 --- 1001-statx.patch | 151 +++++++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 10 ++++ systemd.spec | 1 + 3 files changed, 162 insertions(+) create mode 100644 1001-statx.patch diff --git a/1001-statx.patch b/1001-statx.patch new file mode 100644 index 00000000..2fc69867 --- /dev/null +++ b/1001-statx.patch @@ -0,0 +1,151 @@ +From 3657d3a01c7e25ff86d7a4642065b367c4ff7484 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Sat, 23 Jul 2022 10:38:49 +0000 +Subject: [PATCH] glibc: Remove #include to resolve + fsconfig_command/mount_attr conflict with glibc 2.36 + +--- + meson.build | 13 ++++++++++++- + src/basic/fd-util.c | 2 ++ + src/core/namespace.c | 2 ++ + src/shared/mount-util.c | 2 ++ + 4 files changed, 18 insertions(+), 1 deletion(-) + +diff --git meson.build meson.build +index 61073d4ead..4315914a2e 100644 +--- a/meson.build ++++ b/meson.build +@@ -511,7 +511,6 @@ decl_headers = ''' + #include + #include + #include +-#include + ''' + + foreach decl : ['char16_t', +@@ -523,6 +522,17 @@ foreach decl : ['char16_t', + # We get -1 if the size cannot be determined + have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0 + ++ if decl == 'struct mount_attr' ++ if have ++ want_linux_fs_h = false ++ else ++ have = cc.sizeof(decl, ++ prefix : decl_headers + '#include ', ++ args : '-D_GNU_SOURCE') > 0 ++ want_linux_fs_h = have ++ endif ++ endif ++ + if decl == 'struct statx' + if have + want_linux_stat_h = false +@@ -538,6 +548,7 @@ foreach decl : ['char16_t', + endforeach + + conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h) ++conf.set10('WANT_LINUX_FS_H', want_linux_fs_h) + + foreach ident : ['secure_getenv', '__secure_getenv'] + conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident)) +diff --git src/basic/fd-util.c src/basic/fd-util.c +index 6c1de92a26..00591d6c2d 100644 +--- a/src/basic/fd-util.c ++++ b/src/basic/fd-util.c +@@ -3,7 +3,9 @@ + #include + #include + #include ++#if WANT_LINUX_FS_H + #include ++#endif + #include + #include + #include +diff --git src/core/namespace.c src/core/namespace.c +index 41457ea816..016afe4d9e 100644 +--- a/src/core/namespace.c ++++ b/src/core/namespace.c +@@ -7,7 +7,9 @@ + #include + #include + #include ++#if WANT_LINUX_FS_H + #include ++#endif + + #include "alloc-util.h" + #include "base-filesystem.h" +diff --git src/shared/mount-util.c src/shared/mount-util.c +index 8cf16affcb..a119a7c3c1 100644 +--- a/src/shared/mount-util.c ++++ b/src/shared/mount-util.c +@@ -7,7 +7,9 @@ + #include + #include + #include ++#if WANT_LINUX_FS_H + #include ++#endif + + #include "alloc-util.h" + #include "chase-symlinks.h" +-- +2.35.3 + +Hmmm ... commit 3657d3a01c7e25ff86d7a4642065b367c4ff7484 is not enough + +--- systemd-v251.3+suse.27.g8cd784e925/src/basic/chattr-util.h ++++ systemd-v251.3+suse.27.g8cd784e925/src/basic/chattr-util.h 2022-08-15 10:36:27.022215514 +0000 +@@ -1,7 +1,8 @@ + /* SPDX-License-Identifier: LGPL-2.1-or-later */ + #pragma once + ++#define _LINUX_MOUNT_H + #include + #include + #include + +--- systemd-v251.3+suse.27.g8cd784e925/src/home/homework.h ++++ systemd-v251.3+suse.27.g8cd784e925/src/home/homework.h 2022-08-15 10:46:08.835534459 +0000 +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1-or-later */ + #pragma once + ++#define _LINUX_MOUNT_H + #include ++#include + #include + + #include "sd-id128.h" +--- systemd-v251.3+suse.27.g8cd784e925/src/home/homework-mount.c ++++ systemd-v251.3+suse.27.g8cd784e925/src/home/homework-mount.c 2022-08-15 10:48:58.804414702 +0000 +@@ -2,6 +2,7 @@ + + #include + #include ++#define _LINUX_MOUNT_H + #include + + #include "alloc-util.h" +--- systemd-v251.3+suse.27.g8cd784e925/src/home/homework-fscrypt.c ++++ systemd-v251.3+suse.27.g8cd784e925/src/home/homework-fscrypt.c 2022-08-15 10:52:29.452548623 +0000 +@@ -1,5 +1,7 @@ + /* SPDX-License-Identifier: LGPL-2.1-or-later */ + ++#include ++#define _LINUX_MOUNT_H + #include + #include + #include +--- systemd-v251.3+suse.27.g8cd784e925/src/home/homed-manager.c ++++ systemd-v251.3+suse.27.g8cd784e925/src/home/homed-manager.c 2022-08-15 10:54:20.750506089 +0000 +@@ -1,6 +1,7 @@ + /* SPDX-License-Identifier: LGPL-2.1-or-later */ + + #include ++#define _LINUX_MOUNT_H + #include + #include + #include diff --git a/systemd.changes b/systemd.changes index 2ebea12e..05d67dca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Aug 15 10:25:34 UTC 2022 - Dr. Werner Fink + +- Add patch 1001-statx.patch based on commit 3657d3a0 + * to resolve conflicts with glibc 2.36 with + * add dirty hack to get in src/basic/chattr-util.h, + src/home/homework.h, src/home/homework-fscrypt.c, + src/home/homed-manager.c, and src/home/homework-mount.c as well + to avoid that does include + ------------------------------------------------------------------- Tue Jul 19 12:31:24 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ffa94bde..671c9a5c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -206,6 +206,7 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Temporary workaround until bsc#1197178 is addressed. Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +Patch1001: 1001-statx.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git From 35f444399363e729fa97a5a7e47f5b238dc78d5606372037da24fc49653eb051 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 16 Aug 2022 16:17:07 +0000 Subject: [PATCH 737/991] - Import commit 532faa39ebaa6f56e493cc938a91a40df082b74f (merge of v251.4) It includes the following fixes: - 739d7130cb home: drop conflicted headers (bsc#1202221) - fe0c12178 glibc: Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 (bsc#1202221) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8cd784e9250b38d20d8e14fccbfb211010283c79...532faa39ebaa6f56e493cc938a91a40df082b74f OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1302 --- 1001-statx.patch | 151 ---------------------- systemd-v251.3+suse.27.g8cd784e925.tar.xz | 3 - systemd-v251.4+suse.29.g532faa39eb.tar.xz | 3 + systemd.changes | 15 +++ systemd.spec | 5 +- 5 files changed, 20 insertions(+), 157 deletions(-) delete mode 100644 1001-statx.patch delete mode 100644 systemd-v251.3+suse.27.g8cd784e925.tar.xz create mode 100644 systemd-v251.4+suse.29.g532faa39eb.tar.xz diff --git a/1001-statx.patch b/1001-statx.patch deleted file mode 100644 index 2fc69867..00000000 --- a/1001-statx.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 3657d3a01c7e25ff86d7a4642065b367c4ff7484 Mon Sep 17 00:00:00 2001 -From: Rudi Heitbaum -Date: Sat, 23 Jul 2022 10:38:49 +0000 -Subject: [PATCH] glibc: Remove #include to resolve - fsconfig_command/mount_attr conflict with glibc 2.36 - ---- - meson.build | 13 ++++++++++++- - src/basic/fd-util.c | 2 ++ - src/core/namespace.c | 2 ++ - src/shared/mount-util.c | 2 ++ - 4 files changed, 18 insertions(+), 1 deletion(-) - -diff --git meson.build meson.build -index 61073d4ead..4315914a2e 100644 ---- a/meson.build -+++ b/meson.build -@@ -511,7 +511,6 @@ decl_headers = ''' - #include - #include - #include --#include - ''' - - foreach decl : ['char16_t', -@@ -523,6 +522,17 @@ foreach decl : ['char16_t', - # We get -1 if the size cannot be determined - have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0 - -+ if decl == 'struct mount_attr' -+ if have -+ want_linux_fs_h = false -+ else -+ have = cc.sizeof(decl, -+ prefix : decl_headers + '#include ', -+ args : '-D_GNU_SOURCE') > 0 -+ want_linux_fs_h = have -+ endif -+ endif -+ - if decl == 'struct statx' - if have - want_linux_stat_h = false -@@ -538,6 +548,7 @@ foreach decl : ['char16_t', - endforeach - - conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h) -+conf.set10('WANT_LINUX_FS_H', want_linux_fs_h) - - foreach ident : ['secure_getenv', '__secure_getenv'] - conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident)) -diff --git src/basic/fd-util.c src/basic/fd-util.c -index 6c1de92a26..00591d6c2d 100644 ---- a/src/basic/fd-util.c -+++ b/src/basic/fd-util.c -@@ -3,7 +3,9 @@ - #include - #include - #include -+#if WANT_LINUX_FS_H - #include -+#endif - #include - #include - #include -diff --git src/core/namespace.c src/core/namespace.c -index 41457ea816..016afe4d9e 100644 ---- a/src/core/namespace.c -+++ b/src/core/namespace.c -@@ -7,7 +7,9 @@ - #include - #include - #include -+#if WANT_LINUX_FS_H - #include -+#endif - - #include "alloc-util.h" - #include "base-filesystem.h" -diff --git src/shared/mount-util.c src/shared/mount-util.c -index 8cf16affcb..a119a7c3c1 100644 ---- a/src/shared/mount-util.c -+++ b/src/shared/mount-util.c -@@ -7,7 +7,9 @@ - #include - #include - #include -+#if WANT_LINUX_FS_H - #include -+#endif - - #include "alloc-util.h" - #include "chase-symlinks.h" --- -2.35.3 - -Hmmm ... commit 3657d3a01c7e25ff86d7a4642065b367c4ff7484 is not enough - ---- systemd-v251.3+suse.27.g8cd784e925/src/basic/chattr-util.h -+++ systemd-v251.3+suse.27.g8cd784e925/src/basic/chattr-util.h 2022-08-15 10:36:27.022215514 +0000 -@@ -1,7 +1,8 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - #pragma once - -+#define _LINUX_MOUNT_H - #include - #include - #include - ---- systemd-v251.3+suse.27.g8cd784e925/src/home/homework.h -+++ systemd-v251.3+suse.27.g8cd784e925/src/home/homework.h 2022-08-15 10:46:08.835534459 +0000 -@@ -1,7 +1,9 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - #pragma once - -+#define _LINUX_MOUNT_H - #include -+#include - #include - - #include "sd-id128.h" ---- systemd-v251.3+suse.27.g8cd784e925/src/home/homework-mount.c -+++ systemd-v251.3+suse.27.g8cd784e925/src/home/homework-mount.c 2022-08-15 10:48:58.804414702 +0000 -@@ -2,6 +2,7 @@ - - #include - #include -+#define _LINUX_MOUNT_H - #include - - #include "alloc-util.h" ---- systemd-v251.3+suse.27.g8cd784e925/src/home/homework-fscrypt.c -+++ systemd-v251.3+suse.27.g8cd784e925/src/home/homework-fscrypt.c 2022-08-15 10:52:29.452548623 +0000 -@@ -1,5 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - -+#include -+#define _LINUX_MOUNT_H - #include - #include - #include ---- systemd-v251.3+suse.27.g8cd784e925/src/home/homed-manager.c -+++ systemd-v251.3+suse.27.g8cd784e925/src/home/homed-manager.c 2022-08-15 10:54:20.750506089 +0000 -@@ -1,6 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include -+#define _LINUX_MOUNT_H - #include - #include - #include diff --git a/systemd-v251.3+suse.27.g8cd784e925.tar.xz b/systemd-v251.3+suse.27.g8cd784e925.tar.xz deleted file mode 100644 index 0af4209c..00000000 --- a/systemd-v251.3+suse.27.g8cd784e925.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b85c656fb5c904dced2f5add19bcd3ad463fd766ae1e435697fe4da321d721c -size 7829628 diff --git a/systemd-v251.4+suse.29.g532faa39eb.tar.xz b/systemd-v251.4+suse.29.g532faa39eb.tar.xz new file mode 100644 index 00000000..84e72c3e --- /dev/null +++ b/systemd-v251.4+suse.29.g532faa39eb.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:664d40000001006998ad05c7aa90093ee6f997f8d04fb0414dcecddf0670e583 +size 7831508 diff --git a/systemd.changes b/systemd.changes index 05d67dca..d4d59584 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Aug 16 15:55:26 UTC 2022 - Franck Bui + +- Import commit 532faa39ebaa6f56e493cc938a91a40df082b74f (merge of v251.4) + + It includes the following fixes: + + - 739d7130cb home: drop conflicted headers (bsc#1202221) + - fe0c12178 glibc: Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 (bsc#1202221) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8cd784e9250b38d20d8e14fccbfb211010283c79...532faa39ebaa6f56e493cc938a91a40df082b74f + +- Drop 1001-statx.patch, it's no more needed. + ------------------------------------------------------------------- Mon Aug 15 10:25:34 UTC 2022 - Dr. Werner Fink diff --git a/systemd.spec b/systemd.spec index 671c9a5c..bc831ba8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.27.g8cd784e925 +%define archive_version +suse.29.g532faa39eb %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.3 +Version: 251.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -206,7 +206,6 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Temporary workaround until bsc#1197178 is addressed. Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch -Patch1001: 1001-statx.patch # Patches listed below are put in quarantine. Normally all changes # must go to upstream first and then are cherry-picked in the SUSE git From 7e306f4f894b2f8a6259635f09dc7e2e8bbfd0ddd6532c5379b2f4875d02b1b3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 18 Aug 2022 07:02:18 +0000 Subject: [PATCH 738/991] Revert "Don't try to apply presets to any services shipped by the experimental sub-package" OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1303 --- systemd.changes | 7 ------- systemd.spec | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/systemd.changes b/systemd.changes index d4d59584..353471f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -23,13 +23,6 @@ Mon Aug 15 10:25:34 UTC 2022 - Dr. Werner Fink src/home/homed-manager.c, and src/home/homework-mount.c as well to avoid that does include -------------------------------------------------------------------- -Tue Jul 19 12:31:24 UTC 2022 - Franck Bui - -- Don't try to apply presets to any services shipped by the experimental sub-package - - Experimental services will never be enabled by default. - ------------------------------------------------------------------- Tue Jul 19 12:18:35 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bc831ba8..434c88a2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1272,6 +1272,28 @@ fi %service_del_postun systemd-portabled.service %endif +%if %{with experimental} +%pre experimental +%service_add_pre systemd-homed.service +%service_add_pre systemd-oomd.service systemd-oomd.socket +%service_add_pre systemd-userdbd.service systemd-userdbd.socket + +%post experimental +%service_add_post systemd-homed.service +%service_add_post systemd-oomd.service systemd-oomd.socket +%service_add_post systemd-userdbd.service systemd-userdbd.socket + +%preun experimental +%service_del_preun systemd-homed.service +%service_del_preun systemd-oomd.service systemd-oomd.socket +%service_del_preun systemd-userdbd.service systemd-userdbd.socket + +%postun experimental +%service_del_postun systemd-homed.service +%service_del_postun systemd-oomd.service systemd-oomd.socket +%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%endif + %files %defattr(-,root,root) %include %{SOURCE200} From d1c209b23b7921740e4deec140ba9ba4604ef925b361404e11161ffcfba1acd3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 18 Aug 2022 09:29:25 +0000 Subject: [PATCH 739/991] Add reference to bsc#1201766 in the changelogs OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1304 --- systemd.changes | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 353471f7..fe438c37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -6,7 +6,8 @@ Tue Aug 16 15:55:26 UTC 2022 - Franck Bui It includes the following fixes: - 739d7130cb home: drop conflicted headers (bsc#1202221) - - fe0c12178 glibc: Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 (bsc#1202221) + - 8fe0c12178 glibc: Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 (bsc#1202221) + - 0c5b7ee318 udev: allow to execute longer command line (bsc#1201766) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8cd784e9250b38d20d8e14fccbfb211010283c79...532faa39ebaa6f56e493cc938a91a40df082b74f From 5ef5a26c4dd4a9bff5d6b50bd9aefabe87b8df71e6c65fd6516db24b5351f2fc Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 18 Aug 2022 12:51:19 +0000 Subject: [PATCH 740/991] Add creation of systemd-oom user (it was forgotten previously) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1305 --- systemd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.spec b/systemd.spec index 434c88a2..eea6b0ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1279,6 +1279,7 @@ fi %service_add_pre systemd-userdbd.service systemd-userdbd.socket %post experimental +%sysusers_create systemd-oom.conf %service_add_post systemd-homed.service %service_add_post systemd-oomd.service systemd-oomd.socket %service_add_post systemd-userdbd.service systemd-userdbd.socket From 65ac557c9c5444469cfee16e71d220cf7a3f1b4e5351906844adff5c33750a2d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 20 Aug 2022 18:28:06 +0000 Subject: [PATCH 741/991] Accepting request 997974 from Base:System - Import commit 532faa39ebaa6f56e493cc938a91a40df082b74f (merge of v251.4) It includes the following fixes: - 739d7130cb home: drop conflicted headers (bsc#1202221) - 8fe0c12178 glibc: Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 (bsc#1202221) - 0c5b7ee318 udev: allow to execute longer command line (bsc#1201766) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8cd784e9250b38d20d8e14fccbfb211010283c79...532faa39ebaa6f56e493cc938a91a40df082b74f - Drop 1001-statx.patch, it's no more needed. - Add patch 1001-statx.patch based on commit 3657d3a0 * to resolve conflicts with glibc 2.36 with * add dirty hack to get in src/basic/chattr-util.h, src/home/homework.h, src/home/homework-fscrypt.c, src/home/homed-manager.c, and src/home/homework-mount.c as well to avoid that does include - Enable oomd (bsc#1200456) It's part of the experimental sub-package for now. - Import commit 8cd784e9250b38d20d8e14fccbfb211010283c79 (merge of v251.3) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/32912879062bb1595d8498b6f9c77d5acd1dc66a...8cd784e9250b38d20d8e14fccbfb211010283c79 - Import commit 32912879062bb1595d8498b6f9c77d5acd1dc66a 111b96ca86 logind: don't delay login for root even if systemd-user-sessions.service is not activated yet (bsc#1195059) - Enable bpf framework - When systemd-container is installed install tar/gpg too So `machinectl import-tar` always works flawlessly. systemd-container already OBS-URL: https://build.opensuse.org/request/show/997974 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=362 --- files.experimental | 68 ++++++++++++++++++ files.systemd | 19 ++--- files.udev | 1 + systemd-v251.2+suse.21.ge9fc337d97.tar.xz | 3 - systemd-v251.4+suse.29.g532faa39eb.tar.xz | 3 + systemd.changes | 86 +++++++++++++++++++++++ systemd.spec | 65 +++++++---------- 7 files changed, 187 insertions(+), 58 deletions(-) create mode 100644 files.experimental delete mode 100644 systemd-v251.2+suse.21.ge9fc337d97.tar.xz create mode 100644 systemd-v251.4+suse.29.g532faa39eb.tar.xz diff --git a/files.experimental b/files.experimental new file mode 100644 index 00000000..ea0da120 --- /dev/null +++ b/files.experimental @@ -0,0 +1,68 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/homed.conf +%config(noreplace) %{_sysconfdir}/systemd/oomd.conf +%{_bindir}/homectl +%{_bindir}/oomctl +%{_bindir}/systemd-repart +%{_bindir}/userdbctl +%{_datadir}/bash-completion/completions/homectl +%{_datadir}/bash-completion/completions/oomctl +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.oom1.Manager.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.oom1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.oom1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_datadir}/zsh/site-functions/_oomctl +%{_mandir}/man1/homectl.1.gz +%{_mandir}/man1/oomctl.1.gz +%{_mandir}/man1/userdbctl.1.gz +%{_mandir}/man5/homed.conf.5.gz +%{_mandir}/man5/homed.conf.d.5.gz +%{_mandir}/man5/oomd.conf.5.gz +%{_mandir}/man5/oomd.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.home1.5.gz +%{_mandir}/man5/org.freedesktop.oom1.5.gz +%{_mandir}/man5/repart.d.5.gz +%{_mandir}/man5/sysupdate.d.5.gz +%{_mandir}/man8/pam_systemd_home.8.gz +%{_mandir}/man8/systemd-homed.8.gz +%{_mandir}/man8/systemd-homed.service.8.gz +%{_mandir}/man8/systemd-oomd.8.gz +%{_mandir}/man8/systemd-oomd.service.8.gz +%{_mandir}/man8/systemd-repart.8.gz +%{_mandir}/man8/systemd-repart.service.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz +%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz +%{_mandir}/man8/systemd-sysupdate.8.gz +%{_mandir}/man8/systemd-sysupdate.service.8.gz +%{_mandir}/man8/systemd-sysupdate.timer.8.gz +%{_mandir}/man8/systemd-userdbd.8.gz +%{_mandir}/man8/systemd-userdbd.service.8.gz +%{_pam_moduledir}/pam_systemd_home.so +%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service +%{_systemd_util_dir}/systemd-homed +%{_systemd_util_dir}/systemd-homework +%{_systemd_util_dir}/systemd-oomd +%{_systemd_util_dir}/systemd-sysupdate +%{_systemd_util_dir}/systemd-userdbd +%{_systemd_util_dir}/systemd-userwork +%{_sysusersdir}/systemd-oom.conf +%{_unitdir}/systemd-homed-activate.service +%{_unitdir}/systemd-homed.service +%{_unitdir}/systemd-oomd.service +%{_unitdir}/systemd-oomd.socket +%{_unitdir}/systemd-repart.service +%{_unitdir}/systemd-sysupdate-reboot.service +%{_unitdir}/systemd-sysupdate-reboot.timer +%{_unitdir}/systemd-sysupdate.service +%{_unitdir}/systemd-sysupdate.timer +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket diff --git a/files.systemd b/files.systemd index 482666b7..a245c56f 100644 --- a/files.systemd +++ b/files.systemd @@ -73,6 +73,8 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{_unitdir}/user@.service.d +%dir %{_unitdir}/user@0.service.d %dir %{xinitconfdir} %dir %{xinitconfdir}/xinitrc.d %doc %{_modprobedir}/README @@ -302,7 +304,6 @@ %{_mandir}/man5/systemd.target.5.gz %{_mandir}/man5/systemd.timer.5.gz %{_mandir}/man5/systemd.unit.5.gz -%{_mandir}/man5/sysupdate.d.5.gz %{_mandir}/man5/sysusers.d.5.gz %{_mandir}/man5/timesyncd.conf.5.gz %{_mandir}/man5/timesyncd.conf.d.5.gz @@ -388,11 +389,6 @@ %{_mandir}/man8/systemd-sysext.8.gz %{_mandir}/man8/systemd-sysext.service.8.gz %{_mandir}/man8/systemd-system-update-generator.8.gz -%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz -%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz -%{_mandir}/man8/systemd-sysupdate.8.gz -%{_mandir}/man8/systemd-sysupdate.service.8.gz -%{_mandir}/man8/systemd-sysupdate.timer.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz @@ -452,9 +448,6 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl -%if %{without bootstrap} -%{_systemd_util_dir}/systemd-sysupdate -%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -649,12 +642,6 @@ %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service -%if %{without bootstrap} -%{_unitdir}/systemd-sysupdate-reboot.service -%{_unitdir}/systemd-sysupdate-reboot.timer -%{_unitdir}/systemd-sysupdate.service -%{_unitdir}/systemd-sysupdate.timer -%endif %{_unitdir}/systemd-sysusers.service %{_unitdir}/systemd-time-wait-sync.service %{_unitdir}/systemd-timedated.service @@ -678,6 +665,8 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service +%{_unitdir}/user@.service.d/10-login-barrier.conf +%{_unitdir}/user@0.service.d/10-login-barrier.conf %{xinitconfdir}/xinitrc.d/50-systemd-user.sh %if %{with split_usr} /bin/systemctl diff --git a/files.udev b/files.udev index b0034758..0b7e58fe 100644 --- a/files.udev +++ b/files.udev @@ -11,6 +11,7 @@ %if %{without bootstrap} %dir %{_sysconfdir}/modules-load.d %endif +%dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network diff --git a/systemd-v251.2+suse.21.ge9fc337d97.tar.xz b/systemd-v251.2+suse.21.ge9fc337d97.tar.xz deleted file mode 100644 index 9edde956..00000000 --- a/systemd-v251.2+suse.21.ge9fc337d97.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6b345714da705a4dd420ae4ebec9192b009d5d00c0186b7300894f961d3495c -size 7827816 diff --git a/systemd-v251.4+suse.29.g532faa39eb.tar.xz b/systemd-v251.4+suse.29.g532faa39eb.tar.xz new file mode 100644 index 00000000..84e72c3e --- /dev/null +++ b/systemd-v251.4+suse.29.g532faa39eb.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:664d40000001006998ad05c7aa90093ee6f997f8d04fb0414dcecddf0670e583 +size 7831508 diff --git a/systemd.changes b/systemd.changes index 25f7c3d3..fe438c37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,89 @@ +------------------------------------------------------------------- +Tue Aug 16 15:55:26 UTC 2022 - Franck Bui + +- Import commit 532faa39ebaa6f56e493cc938a91a40df082b74f (merge of v251.4) + + It includes the following fixes: + + - 739d7130cb home: drop conflicted headers (bsc#1202221) + - 8fe0c12178 glibc: Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 (bsc#1202221) + - 0c5b7ee318 udev: allow to execute longer command line (bsc#1201766) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8cd784e9250b38d20d8e14fccbfb211010283c79...532faa39ebaa6f56e493cc938a91a40df082b74f + +- Drop 1001-statx.patch, it's no more needed. + +------------------------------------------------------------------- +Mon Aug 15 10:25:34 UTC 2022 - Dr. Werner Fink + +- Add patch 1001-statx.patch based on commit 3657d3a0 + * to resolve conflicts with glibc 2.36 with + * add dirty hack to get in src/basic/chattr-util.h, + src/home/homework.h, src/home/homework-fscrypt.c, + src/home/homed-manager.c, and src/home/homework-mount.c as well + to avoid that does include + +------------------------------------------------------------------- +Tue Jul 19 12:18:35 UTC 2022 - Franck Bui + +- Enable oomd (bsc#1200456) + + It's part of the experimental sub-package for now. + +------------------------------------------------------------------- +Tue Jul 19 11:32:25 UTC 2022 - Franck Bui + +- Import commit 8cd784e9250b38d20d8e14fccbfb211010283c79 (merge of v251.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/32912879062bb1595d8498b6f9c77d5acd1dc66a...8cd784e9250b38d20d8e14fccbfb211010283c79 + +------------------------------------------------------------------- +Tue Jul 19 10:18:03 UTC 2022 - Franck Bui + +- Import commit 32912879062bb1595d8498b6f9c77d5acd1dc66a + + 111b96ca86 logind: don't delay login for root even if systemd-user-sessions.service is not activated yet (bsc#1195059) + +------------------------------------------------------------------- +Tue Jul 19 08:58:21 UTC 2022 - Franck Bui + +- Enable bpf framework + +------------------------------------------------------------------- +Mon Jul 18 15:54:51 UTC 2022 - Franck Bui + +- When systemd-container is installed install tar/gpg too + + So `machinectl import-tar` always works flawlessly. systemd-container already + is an optional package and both tar and gpg are rather basic anyway so no harm + should be done by requiring them. + +- Move the systemd sysupdate stuff from the main package to the experimental + sub-package while it's still time. The method used (currently) for updating + openSUSE distro is rpm, not systemd-sysupdate. + +------------------------------------------------------------------- +Tue Jul 12 14:41:48 UTC 2022 - Franck Bui + +- systemd.spec: add files.experimental + +------------------------------------------------------------------- +Fri Jul 8 16:39:07 UTC 2022 - Franck Bui + +- Make {/etc,/usr/lib}/systemd/network owned by both udev and systemd-network (bsc#1201276) + + This configuration files put in these directories are read by both udevd and + systemd-networkd. + +------------------------------------------------------------------- +Tue Jun 21 14:24:43 UTC 2022 - Franck Bui + +- Import commit 69abca7794ed06d823bc0a9bb55daf822adcc632 + + f29b146685 pstore: Run after modules are loaded + ------------------------------------------------------------------- Tue Jun 21 14:09:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cfd91bc8..eea6b0ff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.21.ge9fc337d97 +%define archive_version +suse.29.g532faa39eb %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,12 +72,14 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.2 +Version: 251.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{without bootstrap} +BuildRequires: bpftool +BuildRequires: clang BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd BuildRequires: libapparmor-devel @@ -88,6 +90,7 @@ BuildRequires: polkit BuildRequires: python3-base BuildRequires: python3-lxml BuildRequires: pkgconfig(audit) +BuildRequires: pkgconfig(libbpf) BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(libiptc) BuildRequires: pkgconfig(liblz4) @@ -137,6 +140,8 @@ Requires: util-linux >= 2.27.1 Requires: group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl Recommends: libpcre2-8-0 +Recommends: libbpf0 + Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding @@ -178,6 +183,7 @@ Source203: files.network Source204: files.devel Source205: files.sysvcompat Source206: files.uefi-boot +Source207: files.experimental # # All changes backported from upstream are tracked by the git repository, which @@ -387,6 +393,9 @@ BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(zlib) %endif Requires: %{name} = %{version}-%{release} +# import-tar needs tar and gpg +Requires: /usr/bin/tar +Requires: /usr/bin/gpg %systemd_requires Obsoletes: nss-mymachines < %{version}-%{release} Provides: nss-mymachines = %{version}-%{release} @@ -628,7 +637,7 @@ Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -The package contains: homed, repart, userdbd. +The package contains: homed, repart, userdbd, oomd. Have fun with these services at your own risk. %endif @@ -678,12 +687,12 @@ Have fun with these services at your own risk. -Dima=false \ -Dldconfig=false \ -Dlibcryptsetup-plugins=false \ - -Doomd=false \ -Dsmack=false \ \ -Dpstore=true \ \ -Dapparmor=%{when_not bootstrap} \ + -Dbpf-framework=%{when_not bootstrap} \ -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ @@ -692,7 +701,6 @@ Have fun with these services at your own risk. -Dnss-systemd=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ -Dselinux=%{when_not bootstrap} \ - -Dsysupdate=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ @@ -720,7 +728,9 @@ Have fun with these services at your own risk. -Dresolve=%{when resolved} \ \ -Dhomed=%{when experimental} \ + -Doomd=%{when experimental} \ -Drepart=%{when experimental} \ + -Dsysupdate=%{when experimental} \ -Duserdb=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ @@ -1264,20 +1274,25 @@ fi %if %{with experimental} %pre experimental -%service_add_pre systemd-userdbd.service systemd-userdbd.socket %service_add_pre systemd-homed.service +%service_add_pre systemd-oomd.service systemd-oomd.socket +%service_add_pre systemd-userdbd.service systemd-userdbd.socket %post experimental -%service_add_post systemd-userdbd.service systemd-userdbd.socket +%sysusers_create systemd-oom.conf %service_add_post systemd-homed.service +%service_add_post systemd-oomd.service systemd-oomd.socket +%service_add_post systemd-userdbd.service systemd-userdbd.socket %preun experimental -%service_del_preun systemd-userdbd.service systemd-userdbd.socket %service_del_preun systemd-homed.service +%service_del_preun systemd-oomd.service systemd-oomd.socket +%service_del_preun systemd-userdbd.service systemd-userdbd.socket %postun experimental -%service_del_postun systemd-userdbd.service systemd-userdbd.socket %service_del_postun systemd-homed.service +%service_del_postun systemd-oomd.service systemd-oomd.socket +%service_del_postun systemd-userdbd.service systemd-userdbd.socket %endif %files @@ -1409,37 +1424,7 @@ fi %if %{with experimental} %files experimental %defattr(-,root,root) -%{_bindir}/systemd-repart -%{_unitdir}/systemd-repart.service -%{_mandir}/man*/*repart* -%{_bindir}/userdbctl -%{_prefix}/lib/systemd/systemd-userwork -%{_prefix}/lib/systemd/systemd-userdbd -%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service -%{_unitdir}/systemd-userdbd.service -%{_unitdir}/systemd-userdbd.socket -%{_mandir}/man*/userdbctl* -%{_mandir}/man*/systemd-userdbd* -%config(noreplace) %{_sysconfdir}/systemd/homed.conf -%{_bindir}/homectl -%{_prefix}/lib/systemd/systemd-homed -%{_prefix}/lib/systemd/systemd-homework -%{_unitdir}/systemd-homed.service -%{_unitdir}/systemd-homed-activate.service -%{_pam_moduledir}/pam_systemd_home.so -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml -%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf -%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy -%{_datadir}/bash-completion/completions/homectl -%{_mandir}/man*/*homectl* -%{_mandir}/man*/*homed* -%{_mandir}/man*/org.freedesktop.home1* -%{_mandir}/man*/pam_systemd_home* +%include %{SOURCE207} %endif %changelog From 9a5be6c08579769fa21d0add3f813bb3a73a93efc79271b19e20cb750dbf64a2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 29 Aug 2022 08:11:19 +0000 Subject: [PATCH 742/991] Accepting request 999867 from home:bmwiedemann:reproducible Let systemd trust the RTC for 30y instead of 15 (bsc#1202356) to allow for our systems to be used in edge locations without systemd updates for a long time OBS-URL: https://build.opensuse.org/request/show/999867 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1306 --- systemd.changes | 7 +++++++ systemd.spec | 1 + 2 files changed, 8 insertions(+) diff --git a/systemd.changes b/systemd.changes index fe438c37..9606652a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Aug 29 08:00:09 UTC 2022 - Bernhard Wiedemann + +- Let systemd trust the RTC for 30y instead of 15 (bsc#1202356) + to allow for our systems to be used in edge locations + without systemd updates for a long time + ------------------------------------------------------------------- Tue Aug 16 15:55:26 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index eea6b0ff..98fb983e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -661,6 +661,7 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dclock-valid-range-usec-max=946728000000000 \ -Dadm-group=false \ -Dwheel-group=false \ -Ddefault-hierarchy=unified \ From fed8c6ba7d9a547141cda7a7db5da3e99b9da06509eb27fe0ac3478aa71aaa95 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 29 Aug 2022 08:14:55 +0000 Subject: [PATCH 743/991] - Let systemd trust the RTC for 30 years after the last update instead of 15 (bsc#1202356) To allow for our systems to be used in edge locations without systemd updates for a long time. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1307 --- systemd.changes | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 9606652a..c011ce02 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,9 +1,10 @@ ------------------------------------------------------------------- Mon Aug 29 08:00:09 UTC 2022 - Bernhard Wiedemann -- Let systemd trust the RTC for 30y instead of 15 (bsc#1202356) - to allow for our systems to be used in edge locations - without systemd updates for a long time +- Let systemd trust the RTC for 30 years after the last update instead of 15 (bsc#1202356) + + To allow for our systems to be used in edge locations without systemd updates + for a long time. ------------------------------------------------------------------- Tue Aug 16 15:55:26 UTC 2022 - Franck Bui From 2d029247ee7d1f9804aaae6d37e522b9f1737aac2b900a89cec27ca5c22047c2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 5 Sep 2022 06:57:58 +0000 Subject: [PATCH 744/991] - rc-local.service.8 belongs to the systemd-sysvcompat sub-package (bsc#1203053) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1308 --- files.systemd | 1 - files.sysvcompat | 1 + systemd.changes | 5 +++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/files.systemd b/files.systemd index a245c56f..a149243f 100644 --- a/files.systemd +++ b/files.systemd @@ -330,7 +330,6 @@ %{_mandir}/man8/halt.8.gz %{_mandir}/man8/pam_systemd.8.gz %{_mandir}/man8/poweroff.8.gz -%{_mandir}/man8/rc-local.service.8.gz %{_mandir}/man8/reboot.8.gz %{_mandir}/man8/shutdown.8.gz %{_mandir}/man8/systemd-ask-password-console.path.8.gz diff --git a/files.sysvcompat b/files.sysvcompat index 49e50a81..786a9b3c 100644 --- a/files.sysvcompat +++ b/files.sysvcompat @@ -6,6 +6,7 @@ %dir %{_unitdir}/runlevel3.target.wants %dir %{_unitdir}/runlevel4.target.wants %dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/rc-local.service.8.gz %{_mandir}/man8/runlevel.8.gz %{_mandir}/man8/systemd-initctl.8.gz %{_mandir}/man8/systemd-initctl.service.8.gz diff --git a/systemd.changes b/systemd.changes index c011ce02..c1d25240 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Sep 5 06:56:51 UTC 2022 - Franck Bui + +- rc-local.service.8 belongs to the systemd-sysvcompat sub-package (bsc#1203053) + ------------------------------------------------------------------- Mon Aug 29 08:00:09 UTC 2022 - Bernhard Wiedemann From 1db434c868ab56201f86d1fd2bc992001f8c3698e054e597b49b49bc1b54792e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 12 Sep 2022 07:35:44 +0000 Subject: [PATCH 745/991] Accepting request 1001304 from home:fawz:branches:Base:System - Enable building and include libcryptsetup-plugins provided by systemd Now that dracut 057 has been released we can enable building libcryptsetup plugins. These can be used by cryptsetup to extend functionality including fido2, pkcs11 and tpm2 support. OBS-URL: https://build.opensuse.org/request/show/1001304 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1309 --- files.udev | 6 +++--- systemd.changes | 9 +++++++++ systemd.spec | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/files.udev b/files.udev index 0b7e58fe..51ad61b8 100644 --- a/files.udev +++ b/files.udev @@ -35,9 +35,9 @@ %{_datadir}/zsh/site-functions/_udevadm %endif %if %{without bootstrap} -# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz diff --git a/systemd.changes b/systemd.changes index c1d25240..64113e4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -3,6 +3,15 @@ Mon Sep 5 06:56:51 UTC 2022 - Franck Bui - rc-local.service.8 belongs to the systemd-sysvcompat sub-package (bsc#1203053) +------------------------------------------------------------------- +Fri Sep 2 20:17:01 UTC 2022 - Bob Haley + +- Enable building and include libcryptsetup-plugins provided by systemd + + Now that dracut 057 has been released we can enable building libcryptsetup + plugins. These can be used by cryptsetup to extend functionality including + fido2, pkcs11 and tpm2 support. + ------------------------------------------------------------------- Mon Aug 29 08:00:09 UTC 2022 - Bernhard Wiedemann diff --git a/systemd.spec b/systemd.spec index 98fb983e..0922fd48 100644 --- a/systemd.spec +++ b/systemd.spec @@ -687,7 +687,6 @@ Have fun with these services at your own risk. -Dgshadow=false \ -Dima=false \ -Dldconfig=false \ - -Dlibcryptsetup-plugins=false \ -Dsmack=false \ \ -Dpstore=true \ @@ -697,6 +696,7 @@ Have fun with these services at your own risk. -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ + -Dlibcryptsetup-plugins=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ -Dnss-myhostname=%{when_not bootstrap} \ -Dnss-systemd=%{when_not bootstrap} \ From 6767078e0672fb4c4cd6681f11798b8d9711363a471fefc7efb7bc22fdf7aee6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 12 Sep 2022 07:39:26 +0000 Subject: [PATCH 746/991] fix listing of libcryptsetup-plugins files in files.udev OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1310 --- files.udev | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/files.udev b/files.udev index 51ad61b8..0377d227 100644 --- a/files.udev +++ b/files.udev @@ -35,9 +35,9 @@ %{_datadir}/zsh/site-functions/_udevadm %endif %if %{without bootstrap} -%%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -%%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -%%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz From 533ed70a2fa95c7b380afba125d541f45336842120a9a4da6be3b4ebc5db54b7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 12 Sep 2022 09:17:16 +0000 Subject: [PATCH 747/991] also uncomment %{_libdir}/cryptsetup in files.udev OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1311 --- files.udev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files.udev b/files.udev index 0377d227..daf66aa9 100644 --- a/files.udev +++ b/files.udev @@ -4,7 +4,7 @@ %config(noreplace) %{_sysconfdir}/systemd/pstore.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} -# %%dir %{_libdir}/cryptsetup +%dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} %endif %dir %{_prefix}/lib/udev From 9277d8b3498b66ea97f038f99d6c3524581e8de1a83654eabea24fd39dfdbb50 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Sep 2022 13:07:51 +0000 Subject: [PATCH 748/991] Accepting request 1002990 from Base:System - rc-local.service.8 belongs to the systemd-sysvcompat sub-package (bsc#1203053) - Enable building and include libcryptsetup-plugins provided by systemd Now that dracut 057 has been released we can enable building libcryptsetup plugins. These can be used by cryptsetup to extend functionality including fido2, pkcs11 and tpm2 support. - Let systemd trust the RTC for 30 years after the last update instead of 15 (bsc#1202356) To allow for our systems to be used in edge locations without systemd updates for a long time. OBS-URL: https://build.opensuse.org/request/show/1002990 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=363 --- files.systemd | 1 - files.sysvcompat | 1 + files.udev | 8 ++++---- systemd.changes | 22 ++++++++++++++++++++++ systemd.spec | 3 ++- 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/files.systemd b/files.systemd index a245c56f..a149243f 100644 --- a/files.systemd +++ b/files.systemd @@ -330,7 +330,6 @@ %{_mandir}/man8/halt.8.gz %{_mandir}/man8/pam_systemd.8.gz %{_mandir}/man8/poweroff.8.gz -%{_mandir}/man8/rc-local.service.8.gz %{_mandir}/man8/reboot.8.gz %{_mandir}/man8/shutdown.8.gz %{_mandir}/man8/systemd-ask-password-console.path.8.gz diff --git a/files.sysvcompat b/files.sysvcompat index 49e50a81..786a9b3c 100644 --- a/files.sysvcompat +++ b/files.sysvcompat @@ -6,6 +6,7 @@ %dir %{_unitdir}/runlevel3.target.wants %dir %{_unitdir}/runlevel4.target.wants %dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/rc-local.service.8.gz %{_mandir}/man8/runlevel.8.gz %{_mandir}/man8/systemd-initctl.8.gz %{_mandir}/man8/systemd-initctl.service.8.gz diff --git a/files.udev b/files.udev index 0b7e58fe..daf66aa9 100644 --- a/files.udev +++ b/files.udev @@ -4,7 +4,7 @@ %config(noreplace) %{_sysconfdir}/systemd/pstore.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} -# %%dir %{_libdir}/cryptsetup +%dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} %endif %dir %{_prefix}/lib/udev @@ -35,9 +35,9 @@ %{_datadir}/zsh/site-functions/_udevadm %endif %if %{without bootstrap} -# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so -# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so -# %%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so +%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz diff --git a/systemd.changes b/systemd.changes index fe438c37..64113e4f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Sep 5 06:56:51 UTC 2022 - Franck Bui + +- rc-local.service.8 belongs to the systemd-sysvcompat sub-package (bsc#1203053) + +------------------------------------------------------------------- +Fri Sep 2 20:17:01 UTC 2022 - Bob Haley + +- Enable building and include libcryptsetup-plugins provided by systemd + + Now that dracut 057 has been released we can enable building libcryptsetup + plugins. These can be used by cryptsetup to extend functionality including + fido2, pkcs11 and tpm2 support. + +------------------------------------------------------------------- +Mon Aug 29 08:00:09 UTC 2022 - Bernhard Wiedemann + +- Let systemd trust the RTC for 30 years after the last update instead of 15 (bsc#1202356) + + To allow for our systems to be used in edge locations without systemd updates + for a long time. + ------------------------------------------------------------------- Tue Aug 16 15:55:26 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index eea6b0ff..0922fd48 100644 --- a/systemd.spec +++ b/systemd.spec @@ -661,6 +661,7 @@ Have fun with these services at your own risk. -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ + -Dclock-valid-range-usec-max=946728000000000 \ -Dadm-group=false \ -Dwheel-group=false \ -Ddefault-hierarchy=unified \ @@ -686,7 +687,6 @@ Have fun with these services at your own risk. -Dgshadow=false \ -Dima=false \ -Dldconfig=false \ - -Dlibcryptsetup-plugins=false \ -Dsmack=false \ \ -Dpstore=true \ @@ -696,6 +696,7 @@ Have fun with these services at your own risk. -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ + -Dlibcryptsetup-plugins=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ -Dnss-myhostname=%{when_not bootstrap} \ -Dnss-systemd=%{when_not bootstrap} \ From 713f9ebffae9e6ac13605f1a53e0a6fa07ccc9977cf62c4c9841260fca4777e6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Sep 2022 15:09:28 +0000 Subject: [PATCH 749/991] - Give the instructions to create a home directory with systemd-homed in the description of the systemd-experimental sub-package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1312 --- systemd.changes | 6 ++++++ systemd.spec | 40 +++++++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/systemd.changes b/systemd.changes index 64113e4f..a34ee7e9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Sep 20 15:07:58 UTC 2022 - Franck Bui + +- Give the instructions to create a home directory with systemd-homed in the + description of the systemd-experimental sub-package + ------------------------------------------------------------------- Mon Sep 5 06:56:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0922fd48..3ecf99c3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -623,23 +623,37 @@ BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(openssl) %description experimental -This package contains optional extra services that are considered as -previews and are provided so users can do early experiments with the -new features or technologies without waiting for them to be fully -supported by either upstream and openSUSE. +This package contains optional extra services that are considered as previews +and are provided so users can do early experiments with the new features or +technologies without waiting for them to be fully supported by either upstream +and openSUSE. -Please note that all services should be considered in development -phase and as such their behaviors details, unit files, option names, -etc... are subject to change without the usual backwards-compatibility -promises. +Please note that all services should be considered in development phase and as +such their behaviors details, unit files, option names, etc... are subject to +change without the usual backwards-compatibility promises. -Components that turn out to be stable and considered as fully -supported will be merged into the main package or moved into a -dedicated package. +Components that turn out to be stable and considered as fully supported will be +merged into the main package or moved into a dedicated package. -The package contains: homed, repart, userdbd, oomd. +Currently this package contains: homed, repart, userdbd, oomd. -Have fun with these services at your own risk. +In case you want to create a user with systemd-homed quickly, here are the steps +you can follow: + + - Make sure the nss-systemd package is installed and added into + /etc/nsswitch.conf, see nss-systemd(8) man page for details + + - Integrate pam_systemd_home.so in your PAM stack. You can do that either by + following the instructions in pam_systemd_home(8) man page or by executing + `pam-config --add --systemd_home` command + + - Enable and start systemd-homed with `systemctl enable --now systemd-homed` + + - Create a user with `homectl create ` + + - Verify the previous steps with `getent passwd ` + +Have fun (at your own risk). %endif %if %{without bootstrap} From a0873f187151931d31377f49c8db36e7dc1bb586b59b1a020c3607e718c97f6a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Sep 2022 07:49:53 +0000 Subject: [PATCH 750/991] - Move nss-systemd and nss-myhostname NSS modules into the main package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1313 --- baselibs.conf | 1 - files.systemd | 6 +++++ systemd.changes | 5 ++++ systemd.spec | 61 +++++++++---------------------------------------- 4 files changed, 22 insertions(+), 51 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index d8badad8..d277a558 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -9,4 +9,3 @@ systemd post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 -nss-myhostname diff --git a/files.systemd b/files.systemd index a149243f..d9360a4e 100644 --- a/files.systemd +++ b/files.systemd @@ -221,6 +221,8 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if %{without bootstrap} +%{_libdir}/libnss_myhostname.so.2 +%{_libdir}/libnss_systemd.so.2 %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz @@ -328,6 +330,10 @@ %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz %{_mandir}/man8/halt.8.gz +%{_mandir}/man8/libnss_myhostname.so.2.8.gz +%{_mandir}/man8/libnss_systemd.so.2.8.gz +%{_mandir}/man8/nss-myhostname.8.gz +%{_mandir}/man8/nss-systemd.8.gz %{_mandir}/man8/pam_systemd.8.gz %{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/reboot.8.gz diff --git a/systemd.changes b/systemd.changes index a34ee7e9..19ae5796 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Sep 21 07:48:58 UTC 2022 - Franck Bui + +- Move nss-systemd and nss-myhostname NSS modules into the main package + ------------------------------------------------------------------- Tue Sep 20 15:07:58 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3ecf99c3..976552b8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -153,6 +153,10 @@ Provides: sbin_init Provides: sysvinit:/sbin/init Conflicts: sbin_init Conflicts: sysvinit +Obsoletes: nss-systemd < %{version}-%{release} +Provides: nss-systemd = %{version}-%{release} +Obsoletes: nss-myhostname < %{version}-%{release} +Provides: nss-myhostname = %{version}-%{release} Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-sysvinit = %{version}-%{release} @@ -472,34 +476,6 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if %{without bootstrap} -%package -n nss-systemd -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-systemd -This package contains a plugin for the Name Service Switch (NSS), -which enables resolution of all dynamically allocated service -users. (See the DynamicUser= setting in unit files.) - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. - -%package -n nss-myhostname -Summary: Plugin for local system host name resolution -License: LGPL-2.1-or-later - -%description -n nss-myhostname -This package contains a plug-in module for the Name Service Switch -(NSS), primarly providing hostname resolution for the locally -configured system hostname as returned by gethostname(2). For example, -it resolves the local hostname to locally configured IP addresses, as -well as "localhost" to 127.0.0.1/::1. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. -%endif - %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP @@ -1003,6 +979,8 @@ fi %if %{without bootstrap} pam-config --add --systemd || : +# Run ldconfig for nss-systemd and nss-myhostname NSS modules. +%ldconfig %endif # systemd-sysusers is not available in %pre so this needs to be done @@ -1022,7 +1000,7 @@ systemctl daemon-reexec || : # only understood by the latest version of the user manager and the # user service is started before the user manager get reexecuted. But # this case is very unlikely especially since we don't restart any -# user service for now on. +# user service for now. # # Before doing this, we unfortunately have to wait until users will # reexec their user manager (by either rebooting or restarting their @@ -1162,11 +1140,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%post -n libudev%{?mini}1 -p /sbin/ldconfig -%post -n libsystemd0%{?mini} -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p %ldconfig +%post -n libsystemd0%{?mini} -p %ldconfig -%postun -n libudev%{?mini}1 -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%postun -n libudev%{?mini}1 -p %ldconfig +%postun -n libsystemd0%{?mini} -p %ldconfig %post container %tmpfiles_create systemd-nspawn.conf @@ -1200,11 +1178,6 @@ fi %sysusers_create systemd-coredump.conf %endif -%if %{without bootstrap} -%ldconfig_scriptlets -n nss-myhostname -%ldconfig_scriptlets -n nss-systemd -%endif - %if %{with journal_remote} %pre journal-remote %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service @@ -1378,18 +1351,6 @@ fi %if %{without bootstrap} %files lang -f systemd.lang - -%files -n nss-myhostname -%defattr(-, root, root) -%{_libdir}/*nss_myhostname* -%{_mandir}/man8/libnss_myhostname.* -%{_mandir}/man8/nss-myhostname.* - -%files -n nss-systemd -%defattr(-, root, root) -%{_libdir}/libnss_systemd.so* -%{_mandir}/man8/libnss_systemd.so.* -%{_mandir}/man8/nss-systemd.* %endif %if %{with journal_remote} From 1fdf4c261e304ffc93c81ccd7f04e5523efdc4f0f57c75ed28105e77629cbee2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Sep 2022 09:24:59 +0000 Subject: [PATCH 751/991] - Drop the old band aid used during the breakage introduced by the switch of /tmp to tmpfs This was done to address the regression reported in boo#1175779 but shouldn't be necessary anymore since the (few) affected users should have updated systemd during the last 2 years. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1314 --- systemd.changes | 10 ++++++++++ systemd.spec | 40 +++++++++++----------------------------- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/systemd.changes b/systemd.changes index 19ae5796..cb7d59cf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Sep 21 09:18:34 UTC 2022 - Franck Bui + +- Drop the old band aid used during the breakage introduced by the switch of + /tmp to tmpfs + + This was done to address the regression reported in boo#1175779 but shouldn't + be necessary anymore since the (few) affected users should have updated + systemd during the last 2 years. + ------------------------------------------------------------------- Wed Sep 21 07:48:58 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 976552b8..436dac92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -887,23 +887,21 @@ echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # The tmpfiles dealing with the generic paths is pretty messy # currently because: # -# 1. filesystem package wants to define the generic paths and some of -# them conflict with the definition given by systemd in var.conf, -# see bsc#1078466. +# 1. filesystem package wants to define the generic paths and some of them +# conflict with the definition given by systemd in var.conf, see +# bsc#1078466. # -# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros -# (fate#314974) which conflict with tmp.conf. +# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros (fate#314974) +# which conflict with tmp.conf. # -# 3. There're also legacy.conf which defines various legacy paths -# which either don't match the SUSE defaults or don't look needed -# at all. +# 3. There're also legacy.conf which defines various legacy paths which either +# don't match the SUSE defaults or don't look needed at all. # -# 4. And to finish, we don't want the part in etc.conf which imports -# default upstream files in empty /etc, see below. +# 4. We don't want the part in etc.conf which imports default upstream files in +# empty /etc, see below. # -# To keep things simple, we remove all these tmpfiles config files but -# still keep the remaining paths that still don't have a better home -# in suse.conf. +# To keep things simple, we remove all these tmpfiles config files but still +# keep the remaining paths that still don't have a better home in suse.conf. rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf @@ -1063,22 +1061,6 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : -# During the migration to tmpfs for /tmp, a bug was introduced that -# affected users using tmpfs for /tmp and happened during the _second_ -# update following the one that introduced tmpfs on /tmp. It consisted -# in creating a dangling symlink /etc/systemd/system/tmp.mount -# pointing to the old copy that previous versions shipped in -# /usr/share/systemd, which doesn't exist anymore. So we migrate the -# link to the new location. -# -# Users have been exposed to this bug during a short period of time as -# it was present only in one release and was fixed shortly after by -# the next update. So we can assume that it's safe to drop it in 6 -# months (ie March 2021). -if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then - ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount -fi - %postun # daemon-reload is implied by %%systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service From 05bd7fe51d003c14299b4bb9b9afe56081b8df0590806919ad3f6695b69233b9 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 22 Sep 2022 12:49:16 +0000 Subject: [PATCH 752/991] Accepting request 1005162 from Base:System - Drop the old band aid used during the breakage introduced by the switch of /tmp to tmpfs This was done to address the regression reported in boo#1175779 but shouldn't be necessary anymore since the (few) affected users should have updated systemd during the last 2 years. - Move nss-systemd and nss-myhostname NSS modules into the main package - Give the instructions to create a home directory with systemd-homed in the description of the systemd-experimental sub-package OBS-URL: https://build.opensuse.org/request/show/1005162 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=364 --- baselibs.conf | 1 - files.systemd | 6 +++ systemd.changes | 21 ++++++++ systemd.spec | 141 +++++++++++++++++------------------------------- 4 files changed, 76 insertions(+), 93 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index d8badad8..d277a558 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -9,4 +9,3 @@ systemd post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 -nss-myhostname diff --git a/files.systemd b/files.systemd index a149243f..d9360a4e 100644 --- a/files.systemd +++ b/files.systemd @@ -221,6 +221,8 @@ %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if %{without bootstrap} +%{_libdir}/libnss_myhostname.so.2 +%{_libdir}/libnss_systemd.so.2 %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz @@ -328,6 +330,10 @@ %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz %{_mandir}/man8/halt.8.gz +%{_mandir}/man8/libnss_myhostname.so.2.8.gz +%{_mandir}/man8/libnss_systemd.so.2.8.gz +%{_mandir}/man8/nss-myhostname.8.gz +%{_mandir}/man8/nss-systemd.8.gz %{_mandir}/man8/pam_systemd.8.gz %{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/reboot.8.gz diff --git a/systemd.changes b/systemd.changes index 64113e4f..cb7d59cf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Sep 21 09:18:34 UTC 2022 - Franck Bui + +- Drop the old band aid used during the breakage introduced by the switch of + /tmp to tmpfs + + This was done to address the regression reported in boo#1175779 but shouldn't + be necessary anymore since the (few) affected users should have updated + systemd during the last 2 years. + +------------------------------------------------------------------- +Wed Sep 21 07:48:58 UTC 2022 - Franck Bui + +- Move nss-systemd and nss-myhostname NSS modules into the main package + +------------------------------------------------------------------- +Tue Sep 20 15:07:58 UTC 2022 - Franck Bui + +- Give the instructions to create a home directory with systemd-homed in the + description of the systemd-experimental sub-package + ------------------------------------------------------------------- Mon Sep 5 06:56:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0922fd48..436dac92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -153,6 +153,10 @@ Provides: sbin_init Provides: sysvinit:/sbin/init Conflicts: sbin_init Conflicts: sysvinit +Obsoletes: nss-systemd < %{version}-%{release} +Provides: nss-systemd = %{version}-%{release} +Obsoletes: nss-myhostname < %{version}-%{release} +Provides: nss-myhostname = %{version}-%{release} Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-sysvinit = %{version}-%{release} @@ -472,34 +476,6 @@ http://0pointer.net/blog/walkthrough-for-portable-services.html https://systemd.io/PORTABLE_SERVICES %endif -%if %{without bootstrap} -%package -n nss-systemd -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-systemd -This package contains a plugin for the Name Service Switch (NSS), -which enables resolution of all dynamically allocated service -users. (See the DynamicUser= setting in unit files.) - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-systemd(8) manpage for more details. - -%package -n nss-myhostname -Summary: Plugin for local system host name resolution -License: LGPL-2.1-or-later - -%description -n nss-myhostname -This package contains a plug-in module for the Name Service Switch -(NSS), primarly providing hostname resolution for the locally -configured system hostname as returned by gethostname(2). For example, -it resolves the local hostname to locally configured IP addresses, as -well as "localhost" to 127.0.0.1/::1. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-hostname(8) manpage for more details. -%endif - %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP @@ -623,23 +599,37 @@ BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(openssl) %description experimental -This package contains optional extra services that are considered as -previews and are provided so users can do early experiments with the -new features or technologies without waiting for them to be fully -supported by either upstream and openSUSE. +This package contains optional extra services that are considered as previews +and are provided so users can do early experiments with the new features or +technologies without waiting for them to be fully supported by either upstream +and openSUSE. -Please note that all services should be considered in development -phase and as such their behaviors details, unit files, option names, -etc... are subject to change without the usual backwards-compatibility -promises. +Please note that all services should be considered in development phase and as +such their behaviors details, unit files, option names, etc... are subject to +change without the usual backwards-compatibility promises. -Components that turn out to be stable and considered as fully -supported will be merged into the main package or moved into a -dedicated package. +Components that turn out to be stable and considered as fully supported will be +merged into the main package or moved into a dedicated package. -The package contains: homed, repart, userdbd, oomd. +Currently this package contains: homed, repart, userdbd, oomd. -Have fun with these services at your own risk. +In case you want to create a user with systemd-homed quickly, here are the steps +you can follow: + + - Make sure the nss-systemd package is installed and added into + /etc/nsswitch.conf, see nss-systemd(8) man page for details + + - Integrate pam_systemd_home.so in your PAM stack. You can do that either by + following the instructions in pam_systemd_home(8) man page or by executing + `pam-config --add --systemd_home` command + + - Enable and start systemd-homed with `systemctl enable --now systemd-homed` + + - Create a user with `homectl create ` + + - Verify the previous steps with `getent passwd ` + +Have fun (at your own risk). %endif %if %{without bootstrap} @@ -897,23 +887,21 @@ echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset # The tmpfiles dealing with the generic paths is pretty messy # currently because: # -# 1. filesystem package wants to define the generic paths and some of -# them conflict with the definition given by systemd in var.conf, -# see bsc#1078466. +# 1. filesystem package wants to define the generic paths and some of them +# conflict with the definition given by systemd in var.conf, see +# bsc#1078466. # -# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros -# (fate#314974) which conflict with tmp.conf. +# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros (fate#314974) +# which conflict with tmp.conf. # -# 3. There're also legacy.conf which defines various legacy paths -# which either don't match the SUSE defaults or don't look needed -# at all. +# 3. There're also legacy.conf which defines various legacy paths which either +# don't match the SUSE defaults or don't look needed at all. # -# 4. And to finish, we don't want the part in etc.conf which imports -# default upstream files in empty /etc, see below. +# 4. We don't want the part in etc.conf which imports default upstream files in +# empty /etc, see below. # -# To keep things simple, we remove all these tmpfiles config files but -# still keep the remaining paths that still don't have a better home -# in suse.conf. +# To keep things simple, we remove all these tmpfiles config files but still +# keep the remaining paths that still don't have a better home in suse.conf. rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf @@ -989,6 +977,8 @@ fi %if %{without bootstrap} pam-config --add --systemd || : +# Run ldconfig for nss-systemd and nss-myhostname NSS modules. +%ldconfig %endif # systemd-sysusers is not available in %pre so this needs to be done @@ -1008,7 +998,7 @@ systemctl daemon-reexec || : # only understood by the latest version of the user manager and the # user service is started before the user manager get reexecuted. But # this case is very unlikely especially since we don't restart any -# user service for now on. +# user service for now. # # Before doing this, we unfortunately have to wait until users will # reexec their user manager (by either rebooting or restarting their @@ -1071,22 +1061,6 @@ fi # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : -# During the migration to tmpfs for /tmp, a bug was introduced that -# affected users using tmpfs for /tmp and happened during the _second_ -# update following the one that introduced tmpfs on /tmp. It consisted -# in creating a dangling symlink /etc/systemd/system/tmp.mount -# pointing to the old copy that previous versions shipped in -# /usr/share/systemd, which doesn't exist anymore. So we migrate the -# link to the new location. -# -# Users have been exposed to this bug during a short period of time as -# it was present only in one release and was fixed shortly after by -# the next update. So we can assume that it's safe to drop it in 6 -# months (ie March 2021). -if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/systemd/tmp.mount" ] ; then - ln -sf %{_unitdir}/tmp.mount %{_sysconfdir}/systemd/system/tmp.mount -fi - %postun # daemon-reload is implied by %%systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service @@ -1148,11 +1122,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%post -n libudev%{?mini}1 -p /sbin/ldconfig -%post -n libsystemd0%{?mini} -p /sbin/ldconfig +%post -n libudev%{?mini}1 -p %ldconfig +%post -n libsystemd0%{?mini} -p %ldconfig -%postun -n libudev%{?mini}1 -p /sbin/ldconfig -%postun -n libsystemd0%{?mini} -p /sbin/ldconfig +%postun -n libudev%{?mini}1 -p %ldconfig +%postun -n libsystemd0%{?mini} -p %ldconfig %post container %tmpfiles_create systemd-nspawn.conf @@ -1186,11 +1160,6 @@ fi %sysusers_create systemd-coredump.conf %endif -%if %{without bootstrap} -%ldconfig_scriptlets -n nss-myhostname -%ldconfig_scriptlets -n nss-systemd -%endif - %if %{with journal_remote} %pre journal-remote %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service @@ -1364,18 +1333,6 @@ fi %if %{without bootstrap} %files lang -f systemd.lang - -%files -n nss-myhostname -%defattr(-, root, root) -%{_libdir}/*nss_myhostname* -%{_mandir}/man8/libnss_myhostname.* -%{_mandir}/man8/nss-myhostname.* - -%files -n nss-systemd -%defattr(-, root, root) -%{_libdir}/libnss_systemd.so* -%{_mandir}/man8/libnss_systemd.so.* -%{_mandir}/man8/nss-systemd.* %endif %if %{with journal_remote} From e71654912dbcf21cd346b7d1218ecbc57a6876838e0700634086f2e48f421ba5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 4 Oct 2022 08:58:28 +0000 Subject: [PATCH 753/991] - Import commit 07aa29e3942fb46b0aed5405c88e8d3179ca958f (merge of v251.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/532faa39ebaa6f56e493cc938a91a40df082b74f...07aa29e3942fb46b0aed5405c88e8d3179ca958f OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1315 --- systemd-v251.4+suse.29.g532faa39eb.tar.xz | 3 --- systemd-v251.5+suse.31.g07aa29e394.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v251.4+suse.29.g532faa39eb.tar.xz create mode 100644 systemd-v251.5+suse.31.g07aa29e394.tar.xz diff --git a/systemd-v251.4+suse.29.g532faa39eb.tar.xz b/systemd-v251.4+suse.29.g532faa39eb.tar.xz deleted file mode 100644 index 84e72c3e..00000000 --- a/systemd-v251.4+suse.29.g532faa39eb.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:664d40000001006998ad05c7aa90093ee6f997f8d04fb0414dcecddf0670e583 -size 7831508 diff --git a/systemd-v251.5+suse.31.g07aa29e394.tar.xz b/systemd-v251.5+suse.31.g07aa29e394.tar.xz new file mode 100644 index 00000000..adadfbe3 --- /dev/null +++ b/systemd-v251.5+suse.31.g07aa29e394.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae6e8e70daf4297f4324f0a7776ed155f991dbfc29764443868f0f1edc727c1 +size 7835336 diff --git a/systemd.changes b/systemd.changes index cb7d59cf..fc992954 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Oct 4 08:51:48 UTC 2022 - Franck Bui + +- Import commit 07aa29e3942fb46b0aed5405c88e8d3179ca958f (merge of v251.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/532faa39ebaa6f56e493cc938a91a40df082b74f...07aa29e3942fb46b0aed5405c88e8d3179ca958f + ------------------------------------------------------------------- Wed Sep 21 09:18:34 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 436dac92..7c1240f5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.29.g532faa39eb +%define archive_version +suse.31.g07aa29e394 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.4 +Version: 251.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 31bf16d4f38b458baf01ae36aaae6dbdec0766dd193139b262b4e3b7e4a9735c Mon Sep 17 00:00:00 2001 From: Richard Brown Date: Fri, 7 Oct 2022 23:22:40 +0000 Subject: [PATCH 754/991] Accepting request 1007837 from Base:System - Import commit 07aa29e3942fb46b0aed5405c88e8d3179ca958f (merge of v251.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/532faa39ebaa6f56e493cc938a91a40df082b74f...07aa29e3942fb46b0aed5405c88e8d3179ca958f OBS-URL: https://build.opensuse.org/request/show/1007837 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=365 --- systemd-v251.4+suse.29.g532faa39eb.tar.xz | 3 --- systemd-v251.5+suse.31.g07aa29e394.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v251.4+suse.29.g532faa39eb.tar.xz create mode 100644 systemd-v251.5+suse.31.g07aa29e394.tar.xz diff --git a/systemd-v251.4+suse.29.g532faa39eb.tar.xz b/systemd-v251.4+suse.29.g532faa39eb.tar.xz deleted file mode 100644 index 84e72c3e..00000000 --- a/systemd-v251.4+suse.29.g532faa39eb.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:664d40000001006998ad05c7aa90093ee6f997f8d04fb0414dcecddf0670e583 -size 7831508 diff --git a/systemd-v251.5+suse.31.g07aa29e394.tar.xz b/systemd-v251.5+suse.31.g07aa29e394.tar.xz new file mode 100644 index 00000000..adadfbe3 --- /dev/null +++ b/systemd-v251.5+suse.31.g07aa29e394.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae6e8e70daf4297f4324f0a7776ed155f991dbfc29764443868f0f1edc727c1 +size 7835336 diff --git a/systemd.changes b/systemd.changes index cb7d59cf..fc992954 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Oct 4 08:51:48 UTC 2022 - Franck Bui + +- Import commit 07aa29e3942fb46b0aed5405c88e8d3179ca958f (merge of v251.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/532faa39ebaa6f56e493cc938a91a40df082b74f...07aa29e3942fb46b0aed5405c88e8d3179ca958f + ------------------------------------------------------------------- Wed Sep 21 09:18:34 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 436dac92..7c1240f5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.29.g532faa39eb +%define archive_version +suse.31.g07aa29e394 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.4 +Version: 251.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From bfc64db98e146cdbb7c6c25ae7988459d8b6398bd5dd12a9eb021c03832fe7d9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 13 Oct 2022 07:45:15 +0000 Subject: [PATCH 755/991] Accepting request 1010314 from home:dirkmueller:Factory - avoid expanding of macro in comment which leads to an error on installation OBS-URL: https://build.opensuse.org/request/show/1010314 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1316 --- systemd.changes | 6 ++++++ systemd.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index fc992954..35f322a6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Oct 12 18:35:47 UTC 2022 - Dirk Müller + +- avoid expanding of macro in comment which leads to an error + on installation + ------------------------------------------------------------------- Tue Oct 4 08:51:48 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 7c1240f5..7fee794f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1062,7 +1062,7 @@ fi %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun -# daemon-reload is implied by %%systemd_postun_with_restart +# daemon-reload is implied by systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) From 7d1ef01b92f56ce8daa3b8adbca9981e0c9b1cb37b33143916a1b01e16ceb448 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 13 Oct 2022 07:48:02 +0000 Subject: [PATCH 756/991] previous change is a workaround for bsc#1203847, mention it in the .changes file OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1317 --- systemd.changes | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 35f322a6..969c12d1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,8 +1,8 @@ ------------------------------------------------------------------- Wed Oct 12 18:35:47 UTC 2022 - Dirk Müller -- avoid expanding of macro in comment which leads to an error - on installation +- Avoid expanding of macro in comment which leads to an error on installation + (workaround for bsc#1203847) ------------------------------------------------------------------- Tue Oct 4 08:51:48 UTC 2022 - Franck Bui From 7e9a47a630c84f6f3df106c19ba2be7ffbbda68ca31e56b8269d3b2c8f70dd5b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 Oct 2022 14:06:35 +0000 Subject: [PATCH 757/991] - Don't create /var/lib/systemd/random-seed in %post (bsc#1181458) To make sure that the same seed is not replicated when installing from a 'golden' image. For regular installations the random seed file is initialized by the installer itself (bsc#1174964). Even if it didn't, the random seed file would be created on first boot anyway. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1318 --- systemd.changes | 12 ++++++++++++ systemd.spec | 3 --- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 969c12d1..7dc89989 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Oct 19 07:23:51 UTC 2022 - Franck Bui + +- Don't create /var/lib/systemd/random-seed in %post (bsc#1181458) + + To make sure that the same seed is not replicated when installing from a + 'golden' image. + + For regular installations the random seed file is initialized by the installer + itself (bsc#1174964). Even if it didn't, the random seed file would be created + on first boot anyway. + ------------------------------------------------------------------- Wed Oct 12 18:35:47 UTC 2022 - Dirk Müller diff --git a/systemd.spec b/systemd.spec index 7fee794f..0606f5b3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -987,9 +987,6 @@ pam-config --add --systemd || : %sysusers_create systemd-journal.conf %sysusers_create systemd-timesync.conf -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -/usr/lib/systemd/systemd-random-seed save || : - systemctl daemon-reexec || : # Reexecute user manager instances (if any). It is asynchronous but it From d04fc1967b596049e981497695905fb8a20ebbad85395fdddd57820705fb184f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 21 Oct 2022 09:30:18 +0000 Subject: [PATCH 758/991] - Import commit f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 (merge of v251.6) Beside the merge of v251.6, it also includes the following backport: - 07aaa898bd pstore: do not try to load all known pstore modules For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/07aa29e3942fb46b0aed5405c88e8d3179ca958f...f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1319 --- systemd-v251.5+suse.31.g07aa29e394.tar.xz | 3 --- systemd-v251.6+suse.34.gf78bba8d03.tar.xz | 3 +++ systemd.changes | 13 +++++++++++++ systemd.spec | 4 ++-- 4 files changed, 18 insertions(+), 5 deletions(-) delete mode 100644 systemd-v251.5+suse.31.g07aa29e394.tar.xz create mode 100644 systemd-v251.6+suse.34.gf78bba8d03.tar.xz diff --git a/systemd-v251.5+suse.31.g07aa29e394.tar.xz b/systemd-v251.5+suse.31.g07aa29e394.tar.xz deleted file mode 100644 index adadfbe3..00000000 --- a/systemd-v251.5+suse.31.g07aa29e394.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ae6e8e70daf4297f4324f0a7776ed155f991dbfc29764443868f0f1edc727c1 -size 7835336 diff --git a/systemd-v251.6+suse.34.gf78bba8d03.tar.xz b/systemd-v251.6+suse.34.gf78bba8d03.tar.xz new file mode 100644 index 00000000..64986137 --- /dev/null +++ b/systemd-v251.6+suse.34.gf78bba8d03.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f820714e952b74f90cdfff0df2de83e6e415bfc3f9f45b8225168912571465c +size 7837344 diff --git a/systemd.changes b/systemd.changes index 7dc89989..524f4e38 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Oct 21 09:07:05 UTC 2022 - Franck Bui + +- Import commit f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 (merge of v251.6) + + Beside the merge of v251.6, it also includes the following backport: + + - 07aaa898bd pstore: do not try to load all known pstore modules + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/07aa29e3942fb46b0aed5405c88e8d3179ca958f...f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 + + ------------------------------------------------------------------- Wed Oct 19 07:23:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0606f5b3..d3a673c4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.31.g07aa29e394 +%define archive_version +suse.34.gf78bba8d03 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.5 +Version: 251.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 371ec6bcf0362a08dc6e9436ff50035e7ccb30f0c1a5149ef6a3ddafc9dcbe3f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 22 Oct 2022 12:12:42 +0000 Subject: [PATCH 759/991] Accepting request 1030349 from Base:System - Import commit f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 (merge of v251.6) Beside the merge of v251.6, it also includes the following backport: - 07aaa898bd pstore: do not try to load all known pstore modules For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/07aa29e3942fb46b0aed5405c88e8d3179ca958f...f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 - Don't create /var/lib/systemd/random-seed in %post (bsc#1181458) To make sure that the same seed is not replicated when installing from a 'golden' image. For regular installations the random seed file is initialized by the installer itself (bsc#1174964). Even if it didn't, the random seed file would be created on first boot anyway. - Avoid expanding of macro in comment which leads to an error on installation (workaround for bsc#1203847) OBS-URL: https://build.opensuse.org/request/show/1030349 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=366 --- systemd-v251.5+suse.31.g07aa29e394.tar.xz | 3 --- systemd-v251.6+suse.34.gf78bba8d03.tar.xz | 3 +++ systemd.changes | 31 +++++++++++++++++++++++ systemd.spec | 9 +++---- 4 files changed, 37 insertions(+), 9 deletions(-) delete mode 100644 systemd-v251.5+suse.31.g07aa29e394.tar.xz create mode 100644 systemd-v251.6+suse.34.gf78bba8d03.tar.xz diff --git a/systemd-v251.5+suse.31.g07aa29e394.tar.xz b/systemd-v251.5+suse.31.g07aa29e394.tar.xz deleted file mode 100644 index adadfbe3..00000000 --- a/systemd-v251.5+suse.31.g07aa29e394.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ae6e8e70daf4297f4324f0a7776ed155f991dbfc29764443868f0f1edc727c1 -size 7835336 diff --git a/systemd-v251.6+suse.34.gf78bba8d03.tar.xz b/systemd-v251.6+suse.34.gf78bba8d03.tar.xz new file mode 100644 index 00000000..64986137 --- /dev/null +++ b/systemd-v251.6+suse.34.gf78bba8d03.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f820714e952b74f90cdfff0df2de83e6e415bfc3f9f45b8225168912571465c +size 7837344 diff --git a/systemd.changes b/systemd.changes index fc992954..524f4e38 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Oct 21 09:07:05 UTC 2022 - Franck Bui + +- Import commit f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 (merge of v251.6) + + Beside the merge of v251.6, it also includes the following backport: + + - 07aaa898bd pstore: do not try to load all known pstore modules + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/07aa29e3942fb46b0aed5405c88e8d3179ca958f...f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 + + +------------------------------------------------------------------- +Wed Oct 19 07:23:51 UTC 2022 - Franck Bui + +- Don't create /var/lib/systemd/random-seed in %post (bsc#1181458) + + To make sure that the same seed is not replicated when installing from a + 'golden' image. + + For regular installations the random seed file is initialized by the installer + itself (bsc#1174964). Even if it didn't, the random seed file would be created + on first boot anyway. + +------------------------------------------------------------------- +Wed Oct 12 18:35:47 UTC 2022 - Dirk Müller + +- Avoid expanding of macro in comment which leads to an error on installation + (workaround for bsc#1203847) + ------------------------------------------------------------------- Tue Oct 4 08:51:48 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 7c1240f5..d3a673c4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.31.g07aa29e394 +%define archive_version +suse.34.gf78bba8d03 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.5 +Version: 251.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -987,9 +987,6 @@ pam-config --add --systemd || : %sysusers_create systemd-journal.conf %sysusers_create systemd-timesync.conf -[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || : -/usr/lib/systemd/systemd-random-seed save || : - systemctl daemon-reexec || : # Reexecute user manager instances (if any). It is asynchronous but it @@ -1062,7 +1059,7 @@ fi %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun -# daemon-reload is implied by %%systemd_postun_with_restart +# daemon-reload is implied by systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) From 5fd8886539a9141e7a4e3688a6bd21fd9dac22ba10f239dde29e4b9ad024cb98 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 25 Oct 2022 07:13:51 +0000 Subject: [PATCH 760/991] - specfile: reindent comments OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1320 --- systemd.changes | 5 ++ systemd.spec | 197 +++++++++++++++++++++++------------------------- 2 files changed, 99 insertions(+), 103 deletions(-) diff --git a/systemd.changes b/systemd.changes index 524f4e38..fde3e09f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Oct 25 07:12:11 UTC 2022 - Franck Bui + +- specfile: reindent comments + ------------------------------------------------------------------- Fri Oct 21 09:07:05 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d3a673c4..78665e89 100644 --- a/systemd.spec +++ b/systemd.spec @@ -109,8 +109,8 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: meson >= 0.43 BuildRequires: pam-devel BuildRequires: python3-jinja2 -# regenerate_initrd_post macro is expanded during build, hence this -# BR. Also this macro was introduced since version 12.4. +# regenerate_initrd_post macro is expanded during build, hence this BR. Also +# this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 @@ -504,10 +504,9 @@ Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools -# The following deps on libs are for test-dlopen-so whereas the -# pkgconfig ones are used by test-funtions to find the libs on the -# host and install them in the image, see install_missing_libraries() -# for details. +# The following deps on libs are for test-dlopen-so whereas the pkgconfig ones +# are used by test-funtions to find the libs on the host and install them in the +# image, see install_missing_libraries() for details. %if %{with resolved} Requires: libidn2 Requires: pkgconfig(libidn2) @@ -738,9 +737,8 @@ export BRP_PESIGN_FILES="/usr/lib/systemd/boot/efi/systemd-bootx64.efi" %endif %endif -# Don't ship resolvconf symlink for now as it conflicts with the -# binary shipped by openresolv and provides limited compatibility -# only +# Don't ship resolvconf symlink for now as it conflicts with the binary shipped +# by openresolv and provides limited compatibility only. %if %{with resolved} rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* @@ -754,8 +752,8 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the -# "scripts-{systemd/udev}" prefix which is used because osc doesn't -# allow directories in the workspace... +# "scripts-{systemd/udev}" prefix which is used because osc doesn't allow +# directories in the workspace... %if %{with machined} install -m0755 -D %{SOURCE100} %{buildroot}%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh %endif @@ -794,23 +792,23 @@ if [ "$(realpath %{_modprobedir})" != /usr/lib/modprobe.d ]; then mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ fi -# don't enable wall ask password service, it spams every console (bnc#747783) +# Don't enable wall ask password service, it spams every console (bnc#747783). rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# do not ship sysctl defaults in systemd package, will be part of -# aaa_base (in procps for now) +# do not ship sysctl defaults in systemd package, will be part of aaa_base (in +# procps for now). rm -f %{buildroot}%{_sysctldir}/50-default.conf rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf -# Make sure systemd-network polkit rules file starts with a suitable -# number prefix so it takes precedence over our polkit-default-privs. +# Make sure systemd-network polkit rules file starts with a suitable number +# prefix so it takes precedence over our polkit-default-privs. %if %{with networkd} mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif -# since v207 /etc/sysctl.conf is no longer parsed (commit -# 04bf3c1a60d82791), however backward compatibility is provided by +# Since v207 /etc/sysctl.conf is no longer parsed (commit 04bf3c1a60d82791), +# however backward compatibility is provided by # /usr/lib/sysctl.d/99-sysctl.conf. ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf @@ -818,27 +816,26 @@ ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf # SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf -# Remove README file in init.d as (SUSE) rpm requires executable files -# in this directory... oh well. +# Remove README file in init.d as (SUSE) rpm requires executable files in this +# directory... oh well. rm -f %{buildroot}/etc/init.d/README -# This dir must be owned (and thus created) by systemd otherwise the -# build system will complain. This is odd since we simply own a ghost -# file in it... +# This dir must be owned (and thus created) by systemd otherwise the build +# system will complain. This is odd since we simply own a ghost file in it... mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -# Make sure directories in /var exist +# Make sure directories in /var exist. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -# Make sure the NTP units dir exists +# Make sure the NTP units dir exists. mkdir -p %{buildroot}%{_ntpunitsdir} -# Make sure the shutdown/sleep drop-in dirs exist +# Make sure the shutdown/sleep drop-in dirs exist. mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ -# Make sure these directories are properly owned +# Make sure these directories are properly owned. mkdir -p %{buildroot}%{_unitdir}/basic.target.wants mkdir -p %{buildroot}%{_unitdir}/default.target.wants mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants @@ -861,7 +858,7 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# ensure after.local wrapper is called +# Ensure after.local wrapper is called. install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ @@ -878,8 +875,8 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} -# Make sure to disable all services by default. The Suse branding -# presets package takes care of defining the right policies. +# Make sure to disable all services by default. The Suse branding presets +# package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset @@ -925,21 +922,21 @@ if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map fi -# kbd-model-map.legacy is used to provide mapping for legacy keymaps, -# which may still be used by yast. +# kbd-model-map.legacy is used to provide mapping for legacy keymaps, which may +# still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Don't ship systemd-journald-audit.socket as there's no other way for -# us to prevent journald from recording audit messages in the journal -# by default (bsc#1109252). +# Don't ship systemd-journald-audit.socket as there's no other way for us to +# prevent journald from recording audit messages in the journal by default +# (bsc#1109252). rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ # When the tests are installed, the effective testdata directory is in -# %{_testsuitedir}, the other one, which is actually a symlink, is -# only useful when the tests are run directly from the source. +# %{_testsuitedir}, the other one, which is actually a symlink, is only useful +# when the tests are run directly from the source. rm %{buildroot}%{_testsuitedir}/test/testdata # kbd-model-map became a dangling symlink, drop it. rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map @@ -950,26 +947,24 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %find_lang systemd %endif -# Build of installation images uses a hard coded list of packages with -# a %%pre that needs to be run during the build. systemd is one of them -# so keep the section even if it's empty. +# Build of installation images uses a hard coded list of packages with a %%pre +# that needs to be run during the build. systemd is one of them so keep the +# section even if it's empty. %pre : %post -# Make /etc/machine-id an empty file during package installation. On -# the first boot, machine-id is initialized and either committed (if -# /etc/ is writable) or the system/image runs with a transient machine -# ID, that changes on each boot (if the image is read-only). This is -# especially important for appliance builds to avoid an identical -# machine ID in all images. +# Make /etc/machine-id an empty file during package installation. On the first +# boot, machine-id is initialized and either committed (if /etc/ is writable) or +# the system/image runs with a transient machine ID, that changes on each boot +# (if the image is read-only). This is especially important for appliance builds +# to avoid an identical machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id chmod 444 %{_sysconfdir}/machine-id fi -# /etc/machine-id might have been created writeable incorrectly -# (boo#1092269). +# /etc/machine-id might have been created writeable incorrectly (boo#1092269). if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." chmod 444 %{_sysconfdir}/machine-id @@ -981,27 +976,25 @@ pam-config --add --systemd || : %ldconfig %endif -# systemd-sysusers is not available in %pre so this needs to be done -# in %%post. However this shouldn't be an issue since all files the -# main package ships are owned by root. +# systemd-sysusers is not available in %pre so this needs to be done in +# %%post. However this shouldn't be an issue since all files the main package +# ships are owned by root. %sysusers_create systemd-journal.conf %sysusers_create systemd-timesync.conf systemctl daemon-reexec || : -# Reexecute user manager instances (if any). It is asynchronous but it -# shouldn't be a problem in practice: a problem would arise only if -# the new version of a user service has a brand new option that is -# only understood by the latest version of the user manager and the -# user service is started before the user manager get reexecuted. But -# this case is very unlikely especially since we don't restart any -# user service for now. +# Reexecute user manager instances (if any). It is asynchronous but it shouldn't +# be a problem in practice: a problem would arise only if the new version of a +# user service has a brand new option that is only understood by the latest +# version of the user manager and the user service is started before the user +# manager get reexecuted. But this case is very unlikely especially since we +# don't restart any user service for now. # -# Before doing this, we unfortunately have to wait until users will -# reexec their user manager (by either rebooting or restarting their -# session) to a version that supports SIGRTMIN+25 otherwise sending -# the signal to an old version will kill the manager which means -# tearing down the user session. +# Before doing this, we unfortunately have to wait until users will reexec their +# user manager (by either rebooting or restarting their session) to a version +# that supports SIGRTMIN+25 otherwise sending the signal to an old version will +# kill the manager which means tearing down the user session. # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : @@ -1020,9 +1013,9 @@ fi %systemd_post remote-fs.target %systemd_post systemd-timesyncd.service -# v228 wrongly set world writable suid root permissions on timestamp -# files used by permanent timers. Fix the timestamps that might have -# been created by the affected versions of systemd (bsc#1020601). +# v228 wrongly set world writable suid root permissions on timestamp files used +# by permanent timers. Fix the timestamps that might have been created by the +# affected versions of systemd (bsc#1020601). for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done @@ -1032,12 +1025,12 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done -# Due to the fact that DynamicUser= was turned ON during v235 and then -# switched back to off in v240, /var/lib/systemd/timesync might be a -# symlink pointing to /var/lib/private/systemd/timesync, which is -# inaccessible for systemd-timesync user as /var/lib/private is 0700 -# root:root, see https://github.com/systemd/systemd/issues/11329 for -# details. Note: only TW users might be affected by this bug. +# Due to the fact that DynamicUser= was turned ON during v235 and then switched +# back to off in v240, /var/lib/systemd/timesync might be a symlink pointing to +# /var/lib/private/systemd/timesync, which is inaccessible for systemd-timesync +# user as /var/lib/private is 0700 root:root, see +# https://github.com/systemd/systemd/issues/11329 for details. Note: only TW +# users might be affected by this bug. if [ -L %{_localstatedir}/lib/systemd/timesync ]; then rm %{_localstatedir}/lib/systemd/timesync mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync @@ -1046,14 +1039,13 @@ fi # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Migrate old i18n settings previously configured in /etc/sysconfig to -# the new locations used by systemd (/etc/locale.conf, -# /etc/vconsole.conf, ...). Recent versions of systemd parse the new -# locations only. +# Migrate old i18n settings previously configured in /etc/sysconfig to the new +# locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent +# versions of systemd parse the new locations only. # -# This is needed both at package updates and package installations -# because we might be upgrading from a system which was running SysV -# init (systemd package is being installed). +# This is needed both at package updates and package installations because we +# might be upgrading from a system which was running SysV init (systemd package +# is being installed). # # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : @@ -1068,10 +1060,10 @@ fi %systemd_pre remote-cryptsetup.target %systemd_pre systemd-pstore.service -# New installations uses the last compat symlink generation number -# (currently at 2), which basically disables all compat symlinks. On -# old systems, the file doesn't exist. This is equivalent to -# generation #1, which enables the creation of all compat symlinks. +# New installations uses the last compat symlink generation number (currently at +# 2), which basically disables all compat symlinks. On old systems, the file +# doesn't exist. This is equivalent to generation #1, which enables the creation +# of all compat symlinks. if [ $1 -eq 1 ]; then echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi @@ -1100,15 +1092,16 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -# The order of the units being restarted is important here because there's currently no -# way to queue multiple jobs into a single transaction atomically. Therefore systemctl -# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for -# the sockets are being handled first then starting them again will fail as the service -# is still active hence the sockets held by udevd. However if the restart job for udevd -# is handled first, there should be enough time to queue the socket jobs before the stop -# job for udevd is processed. Hence PID1 will automatically sort the restart jobs -# correctly by stopping the service then the sockets and then by starting the sockets and -# the unit. +# The order of the units being restarted is important here because there's +# currently no way to queue multiple jobs into a single transaction +# atomically. Therefore systemctl will create 3 restart jobs that can be handled +# by PID1 separately and if the jobs for the sockets are being handled first +# then starting them again will fail as the service is still active hence the +# sockets held by udevd. However if the restart job for udevd is handled first, +# there should be enough time to queue the socket jobs before the stop job for +# udevd is processed. Hence PID1 will automatically sort the restart jobs +# correctly by stopping the service then the sockets and then by starting the +# sockets and the unit. # # Note that when systemd-udevd is restarted, there will always be a short time # frame where no socket will be listening to the events sent by the kernel, no @@ -1130,21 +1123,19 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %if %{with machined} %ldconfig if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. + # Convert /var/lib/machines subvolume to make it suitable for rollbacks, + # if needed. See bsc#992573. The installer has been fixed to create it + # at installation time. # # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. + # (TW/Factory) where previous versions had already created the subvolume + # at the wrong place (via tmpfiles for example) and user started to + # populate and use it. In this case we'll let the user fix it manually. # # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. + # v210 to v228 when we added this workaround. Note that the subvolume is + # still created at the wrong place due to the call to tmpfiles_create + # macro previously however it's empty so there shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi From 132f2786a0a5433352058befbdebc866ab14930aad1e9c5bd35362a1579d1772 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 25 Oct 2022 07:42:40 +0000 Subject: [PATCH 761/991] - Import commit c212388f7de8d22a3f7c22b19553548ccc0cdd15 (merge of v251.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/f78bba8d037cc26c09bbdd167625b2d7fe1f5a30...c212388f7de8d22a3f7c22b19553548ccc0cdd15 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1321 --- systemd-v251.6+suse.34.gf78bba8d03.tar.xz | 3 --- systemd-v251.7+suse.36.gc212388f7d.tar.xz | 3 +++ systemd.changes | 9 ++++++++- systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) delete mode 100644 systemd-v251.6+suse.34.gf78bba8d03.tar.xz create mode 100644 systemd-v251.7+suse.36.gc212388f7d.tar.xz diff --git a/systemd-v251.6+suse.34.gf78bba8d03.tar.xz b/systemd-v251.6+suse.34.gf78bba8d03.tar.xz deleted file mode 100644 index 64986137..00000000 --- a/systemd-v251.6+suse.34.gf78bba8d03.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f820714e952b74f90cdfff0df2de83e6e415bfc3f9f45b8225168912571465c -size 7837344 diff --git a/systemd-v251.7+suse.36.gc212388f7d.tar.xz b/systemd-v251.7+suse.36.gc212388f7d.tar.xz new file mode 100644 index 00000000..0045d70f --- /dev/null +++ b/systemd-v251.7+suse.36.gc212388f7d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8117034a438ce90af5534a3bd40736b29823c71936c061db831a919ca9c17663 +size 7839088 diff --git a/systemd.changes b/systemd.changes index fde3e09f..7db52fbc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Oct 25 07:19:15 UTC 2022 - Franck Bui + +- Import commit c212388f7de8d22a3f7c22b19553548ccc0cdd15 (merge of v251.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/f78bba8d037cc26c09bbdd167625b2d7fe1f5a30...c212388f7de8d22a3f7c22b19553548ccc0cdd15 + ------------------------------------------------------------------- Tue Oct 25 07:12:11 UTC 2022 - Franck Bui @@ -15,7 +23,6 @@ Fri Oct 21 09:07:05 UTC 2022 - Franck Bui For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/07aa29e3942fb46b0aed5405c88e8d3179ca958f...f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 - ------------------------------------------------------------------- Wed Oct 19 07:23:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 78665e89..ce9046de 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.34.gf78bba8d03 +%define archive_version +suse.36.gc212388f7d %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.6 +Version: 251.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From bf1d5bd8bef8facf47db316d178242a89b8b5c058a62100066d3b6f521e5642f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 27 Oct 2022 11:53:27 +0000 Subject: [PATCH 762/991] Accepting request 1031048 from Base:System - Import commit c212388f7de8d22a3f7c22b19553548ccc0cdd15 (merge of v251.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/f78bba8d037cc26c09bbdd167625b2d7fe1f5a30...c212388f7de8d22a3f7c22b19553548ccc0cdd15 - specfile: reindent comments OBS-URL: https://build.opensuse.org/request/show/1031048 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=367 --- systemd-v251.6+suse.34.gf78bba8d03.tar.xz | 3 - systemd-v251.7+suse.36.gc212388f7d.tar.xz | 3 + systemd.changes | 14 +- systemd.spec | 201 +++++++++++----------- 4 files changed, 112 insertions(+), 109 deletions(-) delete mode 100644 systemd-v251.6+suse.34.gf78bba8d03.tar.xz create mode 100644 systemd-v251.7+suse.36.gc212388f7d.tar.xz diff --git a/systemd-v251.6+suse.34.gf78bba8d03.tar.xz b/systemd-v251.6+suse.34.gf78bba8d03.tar.xz deleted file mode 100644 index 64986137..00000000 --- a/systemd-v251.6+suse.34.gf78bba8d03.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f820714e952b74f90cdfff0df2de83e6e415bfc3f9f45b8225168912571465c -size 7837344 diff --git a/systemd-v251.7+suse.36.gc212388f7d.tar.xz b/systemd-v251.7+suse.36.gc212388f7d.tar.xz new file mode 100644 index 00000000..0045d70f --- /dev/null +++ b/systemd-v251.7+suse.36.gc212388f7d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8117034a438ce90af5534a3bd40736b29823c71936c061db831a919ca9c17663 +size 7839088 diff --git a/systemd.changes b/systemd.changes index 524f4e38..7db52fbc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Oct 25 07:19:15 UTC 2022 - Franck Bui + +- Import commit c212388f7de8d22a3f7c22b19553548ccc0cdd15 (merge of v251.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/f78bba8d037cc26c09bbdd167625b2d7fe1f5a30...c212388f7de8d22a3f7c22b19553548ccc0cdd15 + +------------------------------------------------------------------- +Tue Oct 25 07:12:11 UTC 2022 - Franck Bui + +- specfile: reindent comments + ------------------------------------------------------------------- Fri Oct 21 09:07:05 UTC 2022 - Franck Bui @@ -10,7 +23,6 @@ Fri Oct 21 09:07:05 UTC 2022 - Franck Bui For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/07aa29e3942fb46b0aed5405c88e8d3179ca958f...f78bba8d037cc26c09bbdd167625b2d7fe1f5a30 - ------------------------------------------------------------------- Wed Oct 19 07:23:51 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d3a673c4..ce9046de 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.34.gf78bba8d03 +%define archive_version +suse.36.gc212388f7d %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.6 +Version: 251.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -109,8 +109,8 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: meson >= 0.43 BuildRequires: pam-devel BuildRequires: python3-jinja2 -# regenerate_initrd_post macro is expanded during build, hence this -# BR. Also this macro was introduced since version 12.4. +# regenerate_initrd_post macro is expanded during build, hence this BR. Also +# this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 @@ -504,10 +504,9 @@ Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools -# The following deps on libs are for test-dlopen-so whereas the -# pkgconfig ones are used by test-funtions to find the libs on the -# host and install them in the image, see install_missing_libraries() -# for details. +# The following deps on libs are for test-dlopen-so whereas the pkgconfig ones +# are used by test-funtions to find the libs on the host and install them in the +# image, see install_missing_libraries() for details. %if %{with resolved} Requires: libidn2 Requires: pkgconfig(libidn2) @@ -738,9 +737,8 @@ export BRP_PESIGN_FILES="/usr/lib/systemd/boot/efi/systemd-bootx64.efi" %endif %endif -# Don't ship resolvconf symlink for now as it conflicts with the -# binary shipped by openresolv and provides limited compatibility -# only +# Don't ship resolvconf symlink for now as it conflicts with the binary shipped +# by openresolv and provides limited compatibility only. %if %{with resolved} rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* @@ -754,8 +752,8 @@ mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn # Package the scripts used to fix all packaging issues. Also drop the -# "scripts-{systemd/udev}" prefix which is used because osc doesn't -# allow directories in the workspace... +# "scripts-{systemd/udev}" prefix which is used because osc doesn't allow +# directories in the workspace... %if %{with machined} install -m0755 -D %{SOURCE100} %{buildroot}%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh %endif @@ -794,23 +792,23 @@ if [ "$(realpath %{_modprobedir})" != /usr/lib/modprobe.d ]; then mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ fi -# don't enable wall ask password service, it spams every console (bnc#747783) +# Don't enable wall ask password service, it spams every console (bnc#747783). rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# do not ship sysctl defaults in systemd package, will be part of -# aaa_base (in procps for now) +# do not ship sysctl defaults in systemd package, will be part of aaa_base (in +# procps for now). rm -f %{buildroot}%{_sysctldir}/50-default.conf rm -f %{buildroot}%{_sysctldir}/50-pid-max.conf -# Make sure systemd-network polkit rules file starts with a suitable -# number prefix so it takes precedence over our polkit-default-privs. +# Make sure systemd-network polkit rules file starts with a suitable number +# prefix so it takes precedence over our polkit-default-privs. %if %{with networkd} mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ %{buildroot}%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %endif -# since v207 /etc/sysctl.conf is no longer parsed (commit -# 04bf3c1a60d82791), however backward compatibility is provided by +# Since v207 /etc/sysctl.conf is no longer parsed (commit 04bf3c1a60d82791), +# however backward compatibility is provided by # /usr/lib/sysctl.d/99-sysctl.conf. ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf @@ -818,27 +816,26 @@ ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf # SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf -# Remove README file in init.d as (SUSE) rpm requires executable files -# in this directory... oh well. +# Remove README file in init.d as (SUSE) rpm requires executable files in this +# directory... oh well. rm -f %{buildroot}/etc/init.d/README -# This dir must be owned (and thus created) by systemd otherwise the -# build system will complain. This is odd since we simply own a ghost -# file in it... +# This dir must be owned (and thus created) by systemd otherwise the build +# system will complain. This is odd since we simply own a ghost file in it... mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d -# Make sure directories in /var exist +# Make sure directories in /var exist. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog -# Make sure the NTP units dir exists +# Make sure the NTP units dir exists. mkdir -p %{buildroot}%{_ntpunitsdir} -# Make sure the shutdown/sleep drop-in dirs exist +# Make sure the shutdown/sleep drop-in dirs exist. mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ -# Make sure these directories are properly owned +# Make sure these directories are properly owned. mkdir -p %{buildroot}%{_unitdir}/basic.target.wants mkdir -p %{buildroot}%{_unitdir}/default.target.wants mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants @@ -861,7 +858,7 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# ensure after.local wrapper is called +# Ensure after.local wrapper is called. install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ @@ -878,8 +875,8 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} -# Make sure to disable all services by default. The Suse branding -# presets package takes care of defining the right policies. +# Make sure to disable all services by default. The Suse branding presets +# package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset @@ -925,21 +922,21 @@ if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map fi -# kbd-model-map.legacy is used to provide mapping for legacy keymaps, -# which may still be used by yast. +# kbd-model-map.legacy is used to provide mapping for legacy keymaps, which may +# still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Don't ship systemd-journald-audit.socket as there's no other way for -# us to prevent journald from recording audit messages in the journal -# by default (bsc#1109252). +# Don't ship systemd-journald-audit.socket as there's no other way for us to +# prevent journald from recording audit messages in the journal by default +# (bsc#1109252). rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} cp -a test %{buildroot}%{_testsuitedir}/ # When the tests are installed, the effective testdata directory is in -# %{_testsuitedir}, the other one, which is actually a symlink, is -# only useful when the tests are run directly from the source. +# %{_testsuitedir}, the other one, which is actually a symlink, is only useful +# when the tests are run directly from the source. rm %{buildroot}%{_testsuitedir}/test/testdata # kbd-model-map became a dangling symlink, drop it. rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map @@ -950,26 +947,24 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %find_lang systemd %endif -# Build of installation images uses a hard coded list of packages with -# a %%pre that needs to be run during the build. systemd is one of them -# so keep the section even if it's empty. +# Build of installation images uses a hard coded list of packages with a %%pre +# that needs to be run during the build. systemd is one of them so keep the +# section even if it's empty. %pre : %post -# Make /etc/machine-id an empty file during package installation. On -# the first boot, machine-id is initialized and either committed (if -# /etc/ is writable) or the system/image runs with a transient machine -# ID, that changes on each boot (if the image is read-only). This is -# especially important for appliance builds to avoid an identical -# machine ID in all images. +# Make /etc/machine-id an empty file during package installation. On the first +# boot, machine-id is initialized and either committed (if /etc/ is writable) or +# the system/image runs with a transient machine ID, that changes on each boot +# (if the image is read-only). This is especially important for appliance builds +# to avoid an identical machine ID in all images. if [ $1 -eq 1 ]; then touch %{_sysconfdir}/machine-id chmod 444 %{_sysconfdir}/machine-id fi -# /etc/machine-id might have been created writeable incorrectly -# (boo#1092269). +# /etc/machine-id might have been created writeable incorrectly (boo#1092269). if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." chmod 444 %{_sysconfdir}/machine-id @@ -981,27 +976,25 @@ pam-config --add --systemd || : %ldconfig %endif -# systemd-sysusers is not available in %pre so this needs to be done -# in %%post. However this shouldn't be an issue since all files the -# main package ships are owned by root. +# systemd-sysusers is not available in %pre so this needs to be done in +# %%post. However this shouldn't be an issue since all files the main package +# ships are owned by root. %sysusers_create systemd-journal.conf %sysusers_create systemd-timesync.conf systemctl daemon-reexec || : -# Reexecute user manager instances (if any). It is asynchronous but it -# shouldn't be a problem in practice: a problem would arise only if -# the new version of a user service has a brand new option that is -# only understood by the latest version of the user manager and the -# user service is started before the user manager get reexecuted. But -# this case is very unlikely especially since we don't restart any -# user service for now. +# Reexecute user manager instances (if any). It is asynchronous but it shouldn't +# be a problem in practice: a problem would arise only if the new version of a +# user service has a brand new option that is only understood by the latest +# version of the user manager and the user service is started before the user +# manager get reexecuted. But this case is very unlikely especially since we +# don't restart any user service for now. # -# Before doing this, we unfortunately have to wait until users will -# reexec their user manager (by either rebooting or restarting their -# session) to a version that supports SIGRTMIN+25 otherwise sending -# the signal to an old version will kill the manager which means -# tearing down the user session. +# Before doing this, we unfortunately have to wait until users will reexec their +# user manager (by either rebooting or restarting their session) to a version +# that supports SIGRTMIN+25 otherwise sending the signal to an old version will +# kill the manager which means tearing down the user session. # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : @@ -1020,9 +1013,9 @@ fi %systemd_post remote-fs.target %systemd_post systemd-timesyncd.service -# v228 wrongly set world writable suid root permissions on timestamp -# files used by permanent timers. Fix the timestamps that might have -# been created by the affected versions of systemd (bsc#1020601). +# v228 wrongly set world writable suid root permissions on timestamp files used +# by permanent timers. Fix the timestamps that might have been created by the +# affected versions of systemd (bsc#1020601). for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do chmod 0644 $stamp done @@ -1032,12 +1025,12 @@ for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do chmod 0644 $username done -# Due to the fact that DynamicUser= was turned ON during v235 and then -# switched back to off in v240, /var/lib/systemd/timesync might be a -# symlink pointing to /var/lib/private/systemd/timesync, which is -# inaccessible for systemd-timesync user as /var/lib/private is 0700 -# root:root, see https://github.com/systemd/systemd/issues/11329 for -# details. Note: only TW users might be affected by this bug. +# Due to the fact that DynamicUser= was turned ON during v235 and then switched +# back to off in v240, /var/lib/systemd/timesync might be a symlink pointing to +# /var/lib/private/systemd/timesync, which is inaccessible for systemd-timesync +# user as /var/lib/private is 0700 root:root, see +# https://github.com/systemd/systemd/issues/11329 for details. Note: only TW +# users might be affected by this bug. if [ -L %{_localstatedir}/lib/systemd/timesync ]; then rm %{_localstatedir}/lib/systemd/timesync mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync @@ -1046,14 +1039,13 @@ fi # This includes all hacks needed when upgrading from SysV. %{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : -# Migrate old i18n settings previously configured in /etc/sysconfig to -# the new locations used by systemd (/etc/locale.conf, -# /etc/vconsole.conf, ...). Recent versions of systemd parse the new -# locations only. +# Migrate old i18n settings previously configured in /etc/sysconfig to the new +# locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent +# versions of systemd parse the new locations only. # -# This is needed both at package updates and package installations -# because we might be upgrading from a system which was running SysV -# init (systemd package is being installed). +# This is needed both at package updates and package installations because we +# might be upgrading from a system which was running SysV init (systemd package +# is being installed). # # It's run only once. %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : @@ -1068,10 +1060,10 @@ fi %systemd_pre remote-cryptsetup.target %systemd_pre systemd-pstore.service -# New installations uses the last compat symlink generation number -# (currently at 2), which basically disables all compat symlinks. On -# old systems, the file doesn't exist. This is equivalent to -# generation #1, which enables the creation of all compat symlinks. +# New installations uses the last compat symlink generation number (currently at +# 2), which basically disables all compat symlinks. On old systems, the file +# doesn't exist. This is equivalent to generation #1, which enables the creation +# of all compat symlinks. if [ $1 -eq 1 ]; then echo "COMPAT_SYMLINK_GENERATION=2" >/usr/lib/udev/compat-symlink-generation fi @@ -1100,15 +1092,16 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n udev%{?mini} %regenerate_initrd_post -# The order of the units being restarted is important here because there's currently no -# way to queue multiple jobs into a single transaction atomically. Therefore systemctl -# will create 3 restart jobs that can be handled by PID1 separately and if the jobs for -# the sockets are being handled first then starting them again will fail as the service -# is still active hence the sockets held by udevd. However if the restart job for udevd -# is handled first, there should be enough time to queue the socket jobs before the stop -# job for udevd is processed. Hence PID1 will automatically sort the restart jobs -# correctly by stopping the service then the sockets and then by starting the sockets and -# the unit. +# The order of the units being restarted is important here because there's +# currently no way to queue multiple jobs into a single transaction +# atomically. Therefore systemctl will create 3 restart jobs that can be handled +# by PID1 separately and if the jobs for the sockets are being handled first +# then starting them again will fail as the service is still active hence the +# sockets held by udevd. However if the restart job for udevd is handled first, +# there should be enough time to queue the socket jobs before the stop job for +# udevd is processed. Hence PID1 will automatically sort the restart jobs +# correctly by stopping the service then the sockets and then by starting the +# sockets and the unit. # # Note that when systemd-udevd is restarted, there will always be a short time # frame where no socket will be listening to the events sent by the kernel, no @@ -1130,21 +1123,19 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %if %{with machined} %ldconfig if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for - # rollbacks, if needed. See bsc#992573. The installer has been fixed - # to create it at installation time. + # Convert /var/lib/machines subvolume to make it suitable for rollbacks, + # if needed. See bsc#992573. The installer has been fixed to create it + # at installation time. # # The convertion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the - # subvolume at the wrong place (via tmpfiles for example) and user - # started to populate and use it. In this case we'll let the user fix - # it manually. + # (TW/Factory) where previous versions had already created the subvolume + # at the wrong place (via tmpfiles for example) and user started to + # populate and use it. In this case we'll let the user fix it manually. # # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume - # is still created at the wrong place due to the call to - # tmpfiles_create macro previously however it's empty so there - # shouldn't be any issues. + # v210 to v228 when we added this workaround. Note that the subvolume is + # still created at the wrong place due to the call to tmpfiles_create + # macro previously however it's empty so there shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi From 133dde32cf2703460e422cae1bc52347482f78e14371a8b8d238cab25c41bf23 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 8 Nov 2022 16:55:14 +0000 Subject: [PATCH 763/991] - Import commit 9cdd78585069b133bebcd479f3a204057ad25d76 (merge of v251.8) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c212388f7de8d22a3f7c22b19553548ccc0cdd15...9cdd78585069b133bebcd479f3a204057ad25d76 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1322 --- systemd-v251.7+suse.36.gc212388f7d.tar.xz | 3 --- systemd-v251.8+suse.38.g9cdd785850.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 9 +++++++-- 4 files changed, 18 insertions(+), 5 deletions(-) delete mode 100644 systemd-v251.7+suse.36.gc212388f7d.tar.xz create mode 100644 systemd-v251.8+suse.38.g9cdd785850.tar.xz diff --git a/systemd-v251.7+suse.36.gc212388f7d.tar.xz b/systemd-v251.7+suse.36.gc212388f7d.tar.xz deleted file mode 100644 index 0045d70f..00000000 --- a/systemd-v251.7+suse.36.gc212388f7d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8117034a438ce90af5534a3bd40736b29823c71936c061db831a919ca9c17663 -size 7839088 diff --git a/systemd-v251.8+suse.38.g9cdd785850.tar.xz b/systemd-v251.8+suse.38.g9cdd785850.tar.xz new file mode 100644 index 00000000..c6e92a6a --- /dev/null +++ b/systemd-v251.8+suse.38.g9cdd785850.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21e408a70aef50bbba4a5e39b1c728a7ef48105d226f516b51d36a18cc24d0f +size 7844584 diff --git a/systemd.changes b/systemd.changes index 7db52fbc..73e866a8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Nov 8 16:33:26 UTC 2022 - Franck Bui + +- Import commit 9cdd78585069b133bebcd479f3a204057ad25d76 (merge of v251.8) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c212388f7de8d22a3f7c22b19553548ccc0cdd15...9cdd78585069b133bebcd479f3a204057ad25d76 + ------------------------------------------------------------------- Tue Oct 25 07:19:15 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ce9046de..4c912853 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.36.gc212388f7d +%define archive_version +suse.38.g9cdd785850 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.7 +Version: 251.8 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -639,6 +639,11 @@ Have fun (at your own risk). %autosetup -p1 -n systemd-v%{version}%{archive_version} %build +# Disable _FORTIFY_SOURCE=3 as it get confused by the use of +# malloc_usable_size() (bsc#1200819). There used to be a workaround but it was +# reverted, see 2cfb790391958ada34284290af1f9ab863a515c7 for the details. +export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" + %meson \ -Dmode=release \ -Dversion-tag=%{version}%{archive_version} \ From 7b7e52e4d200868cc6e3cdd35279c3777b1464b5e237b39a7f769bc0da8144ae Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 10 Nov 2022 13:21:14 +0000 Subject: [PATCH 764/991] Accepting request 1034593 from Base:System - Import commit 9cdd78585069b133bebcd479f3a204057ad25d76 (merge of v251.8) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c212388f7de8d22a3f7c22b19553548ccc0cdd15...9cdd78585069b133bebcd479f3a204057ad25d76 OBS-URL: https://build.opensuse.org/request/show/1034593 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=368 --- systemd-v251.7+suse.36.gc212388f7d.tar.xz | 3 --- systemd-v251.8+suse.38.g9cdd785850.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 9 +++++++-- 4 files changed, 18 insertions(+), 5 deletions(-) delete mode 100644 systemd-v251.7+suse.36.gc212388f7d.tar.xz create mode 100644 systemd-v251.8+suse.38.g9cdd785850.tar.xz diff --git a/systemd-v251.7+suse.36.gc212388f7d.tar.xz b/systemd-v251.7+suse.36.gc212388f7d.tar.xz deleted file mode 100644 index 0045d70f..00000000 --- a/systemd-v251.7+suse.36.gc212388f7d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8117034a438ce90af5534a3bd40736b29823c71936c061db831a919ca9c17663 -size 7839088 diff --git a/systemd-v251.8+suse.38.g9cdd785850.tar.xz b/systemd-v251.8+suse.38.g9cdd785850.tar.xz new file mode 100644 index 00000000..c6e92a6a --- /dev/null +++ b/systemd-v251.8+suse.38.g9cdd785850.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21e408a70aef50bbba4a5e39b1c728a7ef48105d226f516b51d36a18cc24d0f +size 7844584 diff --git a/systemd.changes b/systemd.changes index 7db52fbc..73e866a8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Nov 8 16:33:26 UTC 2022 - Franck Bui + +- Import commit 9cdd78585069b133bebcd479f3a204057ad25d76 (merge of v251.8) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/c212388f7de8d22a3f7c22b19553548ccc0cdd15...9cdd78585069b133bebcd479f3a204057ad25d76 + ------------------------------------------------------------------- Tue Oct 25 07:19:15 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ce9046de..4c912853 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.36.gc212388f7d +%define archive_version +suse.38.g9cdd785850 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.7 +Version: 251.8 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -639,6 +639,11 @@ Have fun (at your own risk). %autosetup -p1 -n systemd-v%{version}%{archive_version} %build +# Disable _FORTIFY_SOURCE=3 as it get confused by the use of +# malloc_usable_size() (bsc#1200819). There used to be a workaround but it was +# reverted, see 2cfb790391958ada34284290af1f9ab863a515c7 for the details. +export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" + %meson \ -Dmode=release \ -Dversion-tag=%{version}%{archive_version} \ From 1b440da1e731619baa872971db3de8d43c7da27e54d7d0a27a89da978f3d97f1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Nov 2022 11:30:28 +0000 Subject: [PATCH 765/991] - Upgrade to v252.1 (commit 64dc546913525e33e734500055a62ed0e963c227) See https://github.com/openSUSE/systemd/blob/SUSE/v252/NEWS for details. * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch * The new tools systemd-measure and systemd-pcrphase have been added to the experimental sub-package for now. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1323 --- ...conf-parser-introduce-early-drop-ins.patch | 58 ++++++++++--------- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 30 +++++----- files.devel | 6 ++ files.experimental | 13 +++++ files.systemd | 12 +++- systemd-v251.8+suse.38.g9cdd785850.tar.xz | 3 - systemd-v252.1+suse.21.g64dc546913.tar.xz | 3 + systemd.changes | 13 +++++ systemd.spec | 16 ++--- 9 files changed, 101 insertions(+), 53 deletions(-) delete mode 100644 systemd-v251.8+suse.38.g9cdd785850.tar.xz create mode 100644 systemd-v252.1+suse.21.g64dc546913.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index a63fa0f3..0d06f860 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From a1c88ab7f5e5ad127833168bbb38340d1b582a88 Mon Sep 17 00:00:00 2001 +From 288be40eb94ddc1d549a98556baea71d20df224f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/8] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 54 +++++++++++- - src/test/test-conf-parser.c | 163 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 213 insertions(+), 4 deletions(-) + src/shared/conf-parser.c | 55 ++++++++++-- + src/test/test-conf-parser.c | 164 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 214 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 6bd3ab38db..1722b90ca0 100644 +index 5cb41a39da..86dc1c95f6 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -478,6 +478,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -478,6 +478,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s static int config_parse_many_files( const char* const* conf_files, @@ -149,30 +149,35 @@ index 6bd3ab38db..1722b90ca0 100644 ret_stats_by_path); } -@@ -590,6 +630,7 @@ int config_parse_many( - void *userdata, - Hashmap **ret_stats_by_path) { +@@ -591,6 +631,7 @@ int config_parse_many( + Hashmap **ret_stats_by_path, + char ***ret_dropin_files) { + _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **files = NULL; int r; -@@ -602,7 +643,12 @@ int config_parse_many( +@@ -603,12 +644,16 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); +- r = config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); + r = config_parse_split_conf_files(files, &early_files, &late_files); -+ if (r < 0) -+ return r; -+ -+ return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_stats_by_path); - } + if (r < 0) + return r; - static int config_get_stats_by_path_one( ++ r = config_parse_many_files(conf_files, early_files, late_files, ++ sections, lookup, table, flags, userdata, ret_stats_by_path); ++ ++ + if (ret_dropin_files) +- *ret_dropin_files = TAKE_PTR(files); ++ *ret_dropin_files = TAKE_PTR(late_files); + + return 0; + } diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..5a5c0d73ff 100644 +index 8c27dcac3f..745e4a127a 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -185,7 +190,7 @@ index e61932ab16..5a5c0d73ff 100644 #include "string-util.h" #include "strv.h" #include "tests.h" -@@ -391,4 +394,164 @@ TEST(config_parse) { +@@ -391,4 +394,165 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } @@ -219,10 +224,10 @@ index e61932ab16..5a5c0d73ff 100644 + *path); + + if (ret_conf_dirs) { -+ char *d; ++ _cleanup_free_ char *d = NULL; + -+ assert_se((d = dirname_malloc(abspath))); -+ assert_se(strv_push(ret_conf_dirs, d) == 0); ++ assert_se(path_extract_directory(abspath, &d) >= 0); ++ assert_se(strv_consume(ret_conf_dirs, TAKE_PTR(d)) == 0); + } + } + @@ -277,8 +282,9 @@ index e61932ab16..5a5c0d73ff 100644 + "Section\0", + config_item_table_lookup, items, + CONFIG_PARSE_WARN, -+ NULL, -+ NULL); ++ NULL, /* userdata= */ ++ NULL, /* ret_stats_by_path= */ ++ NULL); /* ret_dropin_files= */ + } + + assert_se(r == 0); diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch index 107b6553..9100a4e9 100644 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -1,7 +1,7 @@ -From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 +From 9e41b33e4e0d0fcc1dba654b485d6f5238e71ea8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" +Subject: [PATCH 8/8] Revert "getty: Pass tty to use by agetty via stdin" This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. --- @@ -12,13 +12,13 @@ This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 73871d6f50..bb67541dce 100644 +index 606b7dbe16..54fd7c292d 100644 --- a/units/console-getty.service.in +++ b/units/console-getty.service.in -@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. +@@ -22,12 +22,10 @@ ConditionPathExists=/dev/console + [Service] + # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), + # followed by '--' for safety, and then the entered username. -ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM +ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM Type=idle @@ -30,15 +30,15 @@ index 73871d6f50..bb67541dce 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index a6e3f94e2a..ed1eb7bde1 100644 +index 8d7e20d5ec..5dc75f769e 100644 --- a/units/container-getty@.service.in +++ b/units/container-getty@.service.in -@@ -28,13 +28,11 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM +@@ -27,13 +27,11 @@ Before=rescue.service + [Service] + # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), + # followed by '--' for safety, and then the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear pts/%I $TERM Type=idle Restart=always RestartSec=0 @@ -86,5 +86,5 @@ index 2433124c55..bb7af3105d 100644 TTYReset=yes TTYVHangup=yes -- -2.34.1 +2.35.3 diff --git a/files.devel b/files.devel index fde7b6f7..2bd1c670 100644 --- a/files.devel +++ b/files.devel @@ -76,6 +76,7 @@ %{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz %{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz %{_mandir}/man3/SD_EVENT_RUNNING.3.gz +%{_mandir}/man3/SD_EVENT_SIGNAL_PROCMASK.3.gz %{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz %{_mandir}/man3/SD_ID128_ALLF.3.gz %{_mandir}/man3/SD_ID128_CONST_STR.3.gz @@ -215,6 +216,7 @@ %{_mandir}/man3/sd_bus_error_set_errnof.3.gz %{_mandir}/man3/sd_bus_error_set_errnofv.3.gz %{_mandir}/man3/sd_bus_error_setf.3.gz +%{_mandir}/man3/sd_bus_error_setfv.3.gz %{_mandir}/man3/sd_bus_flush.3.gz %{_mandir}/man3/sd_bus_flush_close_unref.3.gz %{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz @@ -316,6 +318,7 @@ %{_mandir}/man3/sd_bus_message_read_array.3.gz %{_mandir}/man3/sd_bus_message_read_basic.3.gz %{_mandir}/man3/sd_bus_message_read_strv.3.gz +%{_mandir}/man3/sd_bus_message_read_strv_extend.3.gz %{_mandir}/man3/sd_bus_message_readv.3.gz %{_mandir}/man3/sd_bus_message_ref.3.gz %{_mandir}/man3/sd_bus_message_rewind.3.gz @@ -472,6 +475,7 @@ %{_mandir}/man3/sd_event_prepare.3.gz %{_mandir}/man3/sd_event_ref.3.gz %{_mandir}/man3/sd_event_run.3.gz +%{_mandir}/man3/sd_event_set_signal_exit.3.gz %{_mandir}/man3/sd_event_set_watchdog.3.gz %{_mandir}/man3/sd_event_signal_handler_t.3.gz %{_mandir}/man3/sd_event_source.3.gz @@ -534,6 +538,7 @@ %{_mandir}/man3/sd_hwdb_enumerate.3.gz %{_mandir}/man3/sd_hwdb_get.3.gz %{_mandir}/man3/sd_hwdb_new.3.gz +%{_mandir}/man3/sd_hwdb_new_from_path.3.gz %{_mandir}/man3/sd_hwdb_ref.3.gz %{_mandir}/man3/sd_hwdb_seek.3.gz %{_mandir}/man3/sd_hwdb_unref.3.gz @@ -550,6 +555,7 @@ %{_mandir}/man3/sd_id128_is_allf.3.gz %{_mandir}/man3/sd_id128_is_null.3.gz %{_mandir}/man3/sd_id128_randomize.3.gz +%{_mandir}/man3/sd_id128_string_equal.3.gz %{_mandir}/man3/sd_id128_t.3.gz %{_mandir}/man3/sd_id128_to_string.3.gz %{_mandir}/man3/sd_id128_to_uuid_string.3.gz diff --git a/files.experimental b/files.experimental index ea0da120..d740e5db 100644 --- a/files.experimental +++ b/files.experimental @@ -22,6 +22,7 @@ %{_datadir}/zsh/site-functions/_oomctl %{_mandir}/man1/homectl.1.gz %{_mandir}/man1/oomctl.1.gz +%{_mandir}/man1/systemd-measure.1.gz %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz @@ -36,6 +37,10 @@ %{_mandir}/man8/systemd-homed.service.8.gz %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz +%{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz +%{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz +%{_mandir}/man8/systemd-pcrphase.8.gz +%{_mandir}/man8/systemd-pcrphase.service.8.gz %{_mandir}/man8/systemd-repart.8.gz %{_mandir}/man8/systemd-repart.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz @@ -50,15 +55,23 @@ %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-homed %{_systemd_util_dir}/systemd-homework +%{_systemd_util_dir}/systemd-measure %{_systemd_util_dir}/systemd-oomd +%{_systemd_util_dir}/systemd-pcrphase %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork %{_sysusersdir}/systemd-oom.conf +%{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service +%{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service +%{_unitdir}/sysinit.target.wants/systemd-pcrphase.service %{_unitdir}/systemd-homed-activate.service %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket +%{_unitdir}/systemd-pcrphase-initrd.service +%{_unitdir}/systemd-pcrphase-sysinit.service +%{_unitdir}/systemd-pcrphase.service %{_unitdir}/systemd-repart.service %{_unitdir}/systemd-sysupdate-reboot.service %{_unitdir}/systemd-sysupdate-reboot.timer diff --git a/files.systemd b/files.systemd index d9360a4e..d22e13a6 100644 --- a/files.systemd +++ b/files.systemd @@ -27,6 +27,7 @@ %endif %dir %{_environmentdir} %dir %{_journalcatalogdir} +%dir %{_libdir}/systemd %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -62,6 +63,7 @@ %dir %{_unitdir}/halt.target.wants %dir %{_unitdir}/initrd-root-device.target.wants %dir %{_unitdir}/initrd-root-fs.target.wants +%dir %{_unitdir}/initrd.target.wants %dir %{_unitdir}/kexec.target.wants %dir %{_unitdir}/local-fs.target.wants %dir %{_unitdir}/multi-user.target.wants @@ -136,6 +138,7 @@ %{_datadir}/bash-completion/completions/systemd-cat %{_datadir}/bash-completion/completions/systemd-cgls %{_datadir}/bash-completion/completions/systemd-cgtop +%{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt %{_datadir}/bash-completion/completions/systemd-id128 @@ -223,6 +226,10 @@ %if %{without bootstrap} %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 +%endif +%{_libdir}/systemd/libsystemd-core-252.so +%{_libdir}/systemd/libsystemd-shared-252.so +%if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz @@ -327,6 +334,7 @@ %{_mandir}/man7/systemd.offline-updates.7.gz %{_mandir}/man7/systemd.special.7.gz %{_mandir}/man7/systemd.syntax.7.gz +%{_mandir}/man7/systemd.system-credentials.7.gz %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz %{_mandir}/man8/halt.8.gz @@ -427,8 +435,6 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%{_systemd_util_dir}/libsystemd-core-251.so -%{_systemd_util_dir}/libsystemd-shared-251.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -453,6 +459,7 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl +%{_systemd_util_dir}/systemd-sysroot-fstab-check %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -494,6 +501,7 @@ %{_sysusersdir}/systemd-journal.conf %{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf +%{_tmpfilesdir}/provision.conf %{_tmpfilesdir}/suse.conf %{_tmpfilesdir}/systemd-nologin.conf %{_tmpfilesdir}/systemd-tmp.conf diff --git a/systemd-v251.8+suse.38.g9cdd785850.tar.xz b/systemd-v251.8+suse.38.g9cdd785850.tar.xz deleted file mode 100644 index c6e92a6a..00000000 --- a/systemd-v251.8+suse.38.g9cdd785850.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e21e408a70aef50bbba4a5e39b1c728a7ef48105d226f516b51d36a18cc24d0f -size 7844584 diff --git a/systemd-v252.1+suse.21.g64dc546913.tar.xz b/systemd-v252.1+suse.21.g64dc546913.tar.xz new file mode 100644 index 00000000..53405b75 --- /dev/null +++ b/systemd-v252.1+suse.21.g64dc546913.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61e92987f1ac3c83d3b3be029497159b683c84869e259d904d0422c4691432e9 +size 8034368 diff --git a/systemd.changes b/systemd.changes index 73e866a8..044a9b1a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Nov 14 11:15:06 UTC 2022 - Franck Bui + +- Upgrade to v252.1 (commit 64dc546913525e33e734500055a62ed0e963c227) + + See https://github.com/openSUSE/systemd/blob/SUSE/v252/NEWS for details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + * The new tools systemd-measure and systemd-pcrphase have been added to the + experimental sub-package for now. + ------------------------------------------------------------------- Tue Nov 8 16:33:26 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4c912853..b2f821df 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.38.g9cdd785850 +%define archive_version +suse.21.g64dc546913 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.8 +Version: 252.1 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -523,6 +523,7 @@ Requires: binutils Requires: busybox-static Requires: cryptsetup Requires: dosfstools +Requires: jq Requires: libcap-progs Requires: libfido2 Requires: libtss2-esys0 @@ -570,10 +571,10 @@ Run the following python script to run all unit tests at once: $ %{_testsuitedir}/run-unit-tests.py To run the full extended testsuite do the following: -$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh +$ NO_BUILD=1 TEST_NESTED_VM=1 %{_testsuitedir}/test/run-integration-tests.sh Or to run one specific integration test: -$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run +$ NO_BUILD=1 TEST_NESTED_VM=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run For more details on the available options to run the extended testsuite, please refer to %{_testsuitedir}/test/README.testsuite. @@ -610,7 +611,8 @@ change without the usual backwards-compatibility promises. Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -Currently this package contains: homed, repart, userdbd, oomd. +Currently this package contains: homed, repart, userdbd, oomd, measure and +pcrphase. In case you want to create a user with systemd-homed quickly, here are the steps you can follow: @@ -1296,13 +1298,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.34.0 +%{_libdir}/libsystemd.so.0.35.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.4 +%{_libdir}/libudev.so.1.7.5 %if %{with coredump} %files coredump From ade4d21a72070c5429654b8e0d954ba6d2e88427cf16459360f5425a8d6ca109 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 14 Nov 2022 13:33:04 +0000 Subject: [PATCH 766/991] fix build of mini flavor OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1324 --- files.experimental | 1 + files.systemd | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/files.experimental b/files.experimental index d740e5db..a1653531 100644 --- a/files.experimental +++ b/files.experimental @@ -3,6 +3,7 @@ # %config(noreplace) %{_sysconfdir}/systemd/homed.conf %config(noreplace) %{_sysconfdir}/systemd/oomd.conf +%dir %{_unitdir}/initrd.target.wants %{_bindir}/homectl %{_bindir}/oomctl %{_bindir}/systemd-repart diff --git a/files.systemd b/files.systemd index d22e13a6..e4b0d920 100644 --- a/files.systemd +++ b/files.systemd @@ -63,7 +63,6 @@ %dir %{_unitdir}/halt.target.wants %dir %{_unitdir}/initrd-root-device.target.wants %dir %{_unitdir}/initrd-root-fs.target.wants -%dir %{_unitdir}/initrd.target.wants %dir %{_unitdir}/kexec.target.wants %dir %{_unitdir}/local-fs.target.wants %dir %{_unitdir}/multi-user.target.wants From 518d9b73f4afdb3f086385872616aa955bc43c9700817e50a16c857393396235 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 15 Nov 2022 08:31:18 +0000 Subject: [PATCH 767/991] Add temporarly 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch until this patch is mainstreamed. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1325 --- ...st-kernel-install-only-when-Dkernel-.patch | 29 +++++++++++++++++++ systemd.changes | 4 +++ systemd.spec | 14 ++++----- 3 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch diff --git a/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch b/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch new file mode 100644 index 00000000..3217bafa --- /dev/null +++ b/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch @@ -0,0 +1,29 @@ +From c34a72017fe66998f7bd40b5e90d27accd69376c Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 15 Nov 2022 09:04:42 +0100 +Subject: [PATCH 6000/6000] meson: install test-kernel-install only when + -Dkernel-install=true + +This patch fixes the following build failure: + + meson.build:3853:8: ERROR: Unknown variable "test_kernel_install_sh". +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 00daeac1b6..0fd0129820 100644 +--- a/meson.build ++++ b/meson.build +@@ -3968,7 +3968,7 @@ exe = custom_target( + install_dir : bindir) + public_programs += exe + +-if want_tests != 'false' ++if want_tests != 'false' and want_kernel_install + test('test-kernel-install', + test_kernel_install_sh, + args : [exe.full_path(), loaderentry_install]) +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 044a9b1a..29d0fb98 100644 --- a/systemd.changes +++ b/systemd.changes @@ -11,6 +11,10 @@ Mon Nov 14 11:15:06 UTC 2022 - Franck Bui * The new tools systemd-measure and systemd-pcrphase have been added to the experimental sub-package for now. + * Add temporarly + 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch until this + patch is mainstreamed. + ------------------------------------------------------------------- Tue Nov 8 16:33:26 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b2f821df..e44bd068 100644 --- a/systemd.spec +++ b/systemd.spec @@ -106,7 +106,7 @@ BuildRequires: gperf BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: meson >= 0.43 +BuildRequires: meson >= 0.53.2 BuildRequires: pam-devel BuildRequires: python3-jinja2 # regenerate_initrd_post macro is expanded during build, hence this BR. Also @@ -211,12 +211,12 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Temporary workaround until bsc#1197178 is addressed. Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch -# Patches listed below are put in quarantine. Normally all changes -# must go to upstream first and then are cherry-picked in the SUSE git -# repository. But in very few cases, some stuff might be broken in -# upstream and need an urgent fix. Even in this case, the patches are -# temporary and should be removed as soon as a fix is merged by -# upstream. +# Patches listed below are put in quarantine. Normally all changes must go to +# upstream first and then are cherry-picked in the SUSE git repository. But for +# very few cases, some stuff might be broken in upstream and need to be fixed +# quickly. But even in these cases, the patches are temporary and should be +# removed as soon as a fix is merged by upstream. +Patch6000: 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 01bb6005e26d09781d59985e3d7ad07bf690f4db4c9e3bab38a74fe897991d6a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 15 Nov 2022 09:34:37 +0000 Subject: [PATCH 768/991] fix build on s390x where sd_boot=false OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1326 --- files.experimental | 14 ++++++++++++++ systemd.spec | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/files.experimental b/files.experimental index a1653531..6bc23ede 100644 --- a/files.experimental +++ b/files.experimental @@ -3,7 +3,9 @@ # %config(noreplace) %{_sysconfdir}/systemd/homed.conf %config(noreplace) %{_sysconfdir}/systemd/oomd.conf +%if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants +%endif %{_bindir}/homectl %{_bindir}/oomctl %{_bindir}/systemd-repart @@ -23,7 +25,9 @@ %{_datadir}/zsh/site-functions/_oomctl %{_mandir}/man1/homectl.1.gz %{_mandir}/man1/oomctl.1.gz +%if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz +%endif %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz @@ -38,10 +42,12 @@ %{_mandir}/man8/systemd-homed.service.8.gz %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz +%if %{with sd_boot} %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz %{_mandir}/man8/systemd-pcrphase.8.gz %{_mandir}/man8/systemd-pcrphase.service.8.gz +%endif %{_mandir}/man8/systemd-repart.8.gz %{_mandir}/man8/systemd-repart.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz @@ -56,23 +62,31 @@ %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-homed %{_systemd_util_dir}/systemd-homework +%if %{with sd_boot} %{_systemd_util_dir}/systemd-measure +%endif %{_systemd_util_dir}/systemd-oomd +%if %{with sd_boot} %{_systemd_util_dir}/systemd-pcrphase +%endif %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork %{_sysusersdir}/systemd-oom.conf +%if %{with sd_boot} %{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase.service +%endif %{_unitdir}/systemd-homed-activate.service %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket +%if %{with sd_boot} %{_unitdir}/systemd-pcrphase-initrd.service %{_unitdir}/systemd-pcrphase-sysinit.service %{_unitdir}/systemd-pcrphase.service +%endif %{_unitdir}/systemd-repart.service %{_unitdir}/systemd-sysupdate-reboot.service %{_unitdir}/systemd-sysupdate-reboot.timer diff --git a/systemd.spec b/systemd.spec index e44bd068..3c033c27 100644 --- a/systemd.spec +++ b/systemd.spec @@ -59,7 +59,7 @@ %bcond_without portabled %bcond_without resolved %ifarch %{ix86} x86_64 aarch64 -%bcond_without sd_boot +%bcond_with sd_boot %else %bcond_with sd_boot %endif From 2ae1dfaaae695e10a6ae4cdc322323178f7a30357ddb9cfe40d6c7f68388c4da Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 17 Nov 2022 16:23:33 +0000 Subject: [PATCH 769/991] Accepting request 1036151 from Base:System - Upgrade to v252.1 (commit 64dc546913525e33e734500055a62ed0e963c227) See https://github.com/openSUSE/systemd/blob/SUSE/v252/NEWS for details. * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch * The new tools systemd-measure and systemd-pcrphase have been added to the experimental sub-package for now. * Add temporarly 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch until this patch is mainstreamed. OBS-URL: https://build.opensuse.org/request/show/1036151 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=369 --- ...conf-parser-introduce-early-drop-ins.patch | 58 ++++++++++--------- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 30 +++++----- ...st-kernel-install-only-when-Dkernel-.patch | 29 ++++++++++ files.devel | 6 ++ files.experimental | 28 +++++++++ files.systemd | 11 +++- systemd-v251.8+suse.38.g9cdd785850.tar.xz | 3 - systemd-v252.1+suse.21.g64dc546913.tar.xz | 3 + systemd.changes | 17 ++++++ systemd.spec | 32 +++++----- 10 files changed, 156 insertions(+), 61 deletions(-) create mode 100644 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch delete mode 100644 systemd-v251.8+suse.38.g9cdd785850.tar.xz create mode 100644 systemd-v252.1+suse.21.g64dc546913.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index a63fa0f3..0d06f860 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From a1c88ab7f5e5ad127833168bbb38340d1b582a88 Mon Sep 17 00:00:00 2001 +From 288be40eb94ddc1d549a98556baea71d20df224f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/8] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -61,15 +61,15 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 54 +++++++++++- - src/test/test-conf-parser.c | 163 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 213 insertions(+), 4 deletions(-) + src/shared/conf-parser.c | 55 ++++++++++-- + src/test/test-conf-parser.c | 164 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 214 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 6bd3ab38db..1722b90ca0 100644 +index 5cb41a39da..86dc1c95f6 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -478,6 +478,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, +@@ -478,6 +478,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s static int config_parse_many_files( const char* const* conf_files, @@ -149,30 +149,35 @@ index 6bd3ab38db..1722b90ca0 100644 ret_stats_by_path); } -@@ -590,6 +630,7 @@ int config_parse_many( - void *userdata, - Hashmap **ret_stats_by_path) { +@@ -591,6 +631,7 @@ int config_parse_many( + Hashmap **ret_stats_by_path, + char ***ret_dropin_files) { + _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL; _cleanup_strv_free_ char **files = NULL; int r; -@@ -602,7 +643,12 @@ int config_parse_many( +@@ -603,12 +644,16 @@ int config_parse_many( if (r < 0) return r; -- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); +- r = config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); + r = config_parse_split_conf_files(files, &early_files, &late_files); -+ if (r < 0) -+ return r; -+ -+ return config_parse_many_files(conf_files, early_files, late_files, -+ sections, lookup, table, flags, userdata, ret_stats_by_path); - } + if (r < 0) + return r; - static int config_get_stats_by_path_one( ++ r = config_parse_many_files(conf_files, early_files, late_files, ++ sections, lookup, table, flags, userdata, ret_stats_by_path); ++ ++ + if (ret_dropin_files) +- *ret_dropin_files = TAKE_PTR(files); ++ *ret_dropin_files = TAKE_PTR(late_files); + + return 0; + } diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index e61932ab16..5a5c0d73ff 100644 +index 8c27dcac3f..745e4a127a 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,6 +5,9 @@ @@ -185,7 +190,7 @@ index e61932ab16..5a5c0d73ff 100644 #include "string-util.h" #include "strv.h" #include "tests.h" -@@ -391,4 +394,164 @@ TEST(config_parse) { +@@ -391,4 +394,165 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } @@ -219,10 +224,10 @@ index e61932ab16..5a5c0d73ff 100644 + *path); + + if (ret_conf_dirs) { -+ char *d; ++ _cleanup_free_ char *d = NULL; + -+ assert_se((d = dirname_malloc(abspath))); -+ assert_se(strv_push(ret_conf_dirs, d) == 0); ++ assert_se(path_extract_directory(abspath, &d) >= 0); ++ assert_se(strv_consume(ret_conf_dirs, TAKE_PTR(d)) == 0); + } + } + @@ -277,8 +282,9 @@ index e61932ab16..5a5c0d73ff 100644 + "Section\0", + config_item_table_lookup, items, + CONFIG_PARSE_WARN, -+ NULL, -+ NULL); ++ NULL, /* userdata= */ ++ NULL, /* ret_stats_by_path= */ ++ NULL); /* ret_dropin_files= */ + } + + assert_se(r == 0); diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch index 107b6553..9100a4e9 100644 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -1,7 +1,7 @@ -From 8f2cc8089304b769c25f871f28503fa1af7a468f Mon Sep 17 00:00:00 2001 +From 9e41b33e4e0d0fcc1dba654b485d6f5238e71ea8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 1/1] Revert "getty: Pass tty to use by agetty via stdin" +Subject: [PATCH 8/8] Revert "getty: Pass tty to use by agetty via stdin" This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. --- @@ -12,13 +12,13 @@ This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 73871d6f50..bb67541dce 100644 +index 606b7dbe16..54fd7c292d 100644 --- a/units/console-getty.service.in +++ b/units/console-getty.service.in -@@ -23,12 +23,10 @@ ConditionPathExists=/dev/console - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. +@@ -22,12 +22,10 @@ ConditionPathExists=/dev/console + [Service] + # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), + # followed by '--' for safety, and then the entered username. -ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM +ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM Type=idle @@ -30,15 +30,15 @@ index 73871d6f50..bb67541dce 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index a6e3f94e2a..ed1eb7bde1 100644 +index 8d7e20d5ec..5dc75f769e 100644 --- a/units/container-getty@.service.in +++ b/units/container-getty@.service.in -@@ -28,13 +28,11 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM +@@ -27,13 +27,11 @@ Before=rescue.service + [Service] + # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), + # followed by '--' for safety, and then the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM ++ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear pts/%I $TERM Type=idle Restart=always RestartSec=0 @@ -86,5 +86,5 @@ index 2433124c55..bb7af3105d 100644 TTYReset=yes TTYVHangup=yes -- -2.34.1 +2.35.3 diff --git a/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch b/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch new file mode 100644 index 00000000..3217bafa --- /dev/null +++ b/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch @@ -0,0 +1,29 @@ +From c34a72017fe66998f7bd40b5e90d27accd69376c Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 15 Nov 2022 09:04:42 +0100 +Subject: [PATCH 6000/6000] meson: install test-kernel-install only when + -Dkernel-install=true + +This patch fixes the following build failure: + + meson.build:3853:8: ERROR: Unknown variable "test_kernel_install_sh". +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 00daeac1b6..0fd0129820 100644 +--- a/meson.build ++++ b/meson.build +@@ -3968,7 +3968,7 @@ exe = custom_target( + install_dir : bindir) + public_programs += exe + +-if want_tests != 'false' ++if want_tests != 'false' and want_kernel_install + test('test-kernel-install', + test_kernel_install_sh, + args : [exe.full_path(), loaderentry_install]) +-- +2.35.3 + diff --git a/files.devel b/files.devel index fde7b6f7..2bd1c670 100644 --- a/files.devel +++ b/files.devel @@ -76,6 +76,7 @@ %{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz %{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz %{_mandir}/man3/SD_EVENT_RUNNING.3.gz +%{_mandir}/man3/SD_EVENT_SIGNAL_PROCMASK.3.gz %{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz %{_mandir}/man3/SD_ID128_ALLF.3.gz %{_mandir}/man3/SD_ID128_CONST_STR.3.gz @@ -215,6 +216,7 @@ %{_mandir}/man3/sd_bus_error_set_errnof.3.gz %{_mandir}/man3/sd_bus_error_set_errnofv.3.gz %{_mandir}/man3/sd_bus_error_setf.3.gz +%{_mandir}/man3/sd_bus_error_setfv.3.gz %{_mandir}/man3/sd_bus_flush.3.gz %{_mandir}/man3/sd_bus_flush_close_unref.3.gz %{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz @@ -316,6 +318,7 @@ %{_mandir}/man3/sd_bus_message_read_array.3.gz %{_mandir}/man3/sd_bus_message_read_basic.3.gz %{_mandir}/man3/sd_bus_message_read_strv.3.gz +%{_mandir}/man3/sd_bus_message_read_strv_extend.3.gz %{_mandir}/man3/sd_bus_message_readv.3.gz %{_mandir}/man3/sd_bus_message_ref.3.gz %{_mandir}/man3/sd_bus_message_rewind.3.gz @@ -472,6 +475,7 @@ %{_mandir}/man3/sd_event_prepare.3.gz %{_mandir}/man3/sd_event_ref.3.gz %{_mandir}/man3/sd_event_run.3.gz +%{_mandir}/man3/sd_event_set_signal_exit.3.gz %{_mandir}/man3/sd_event_set_watchdog.3.gz %{_mandir}/man3/sd_event_signal_handler_t.3.gz %{_mandir}/man3/sd_event_source.3.gz @@ -534,6 +538,7 @@ %{_mandir}/man3/sd_hwdb_enumerate.3.gz %{_mandir}/man3/sd_hwdb_get.3.gz %{_mandir}/man3/sd_hwdb_new.3.gz +%{_mandir}/man3/sd_hwdb_new_from_path.3.gz %{_mandir}/man3/sd_hwdb_ref.3.gz %{_mandir}/man3/sd_hwdb_seek.3.gz %{_mandir}/man3/sd_hwdb_unref.3.gz @@ -550,6 +555,7 @@ %{_mandir}/man3/sd_id128_is_allf.3.gz %{_mandir}/man3/sd_id128_is_null.3.gz %{_mandir}/man3/sd_id128_randomize.3.gz +%{_mandir}/man3/sd_id128_string_equal.3.gz %{_mandir}/man3/sd_id128_t.3.gz %{_mandir}/man3/sd_id128_to_string.3.gz %{_mandir}/man3/sd_id128_to_uuid_string.3.gz diff --git a/files.experimental b/files.experimental index ea0da120..6bc23ede 100644 --- a/files.experimental +++ b/files.experimental @@ -3,6 +3,9 @@ # %config(noreplace) %{_sysconfdir}/systemd/homed.conf %config(noreplace) %{_sysconfdir}/systemd/oomd.conf +%if %{with sd_boot} +%dir %{_unitdir}/initrd.target.wants +%endif %{_bindir}/homectl %{_bindir}/oomctl %{_bindir}/systemd-repart @@ -22,6 +25,9 @@ %{_datadir}/zsh/site-functions/_oomctl %{_mandir}/man1/homectl.1.gz %{_mandir}/man1/oomctl.1.gz +%if %{with sd_boot} +%{_mandir}/man1/systemd-measure.1.gz +%endif %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz @@ -36,6 +42,12 @@ %{_mandir}/man8/systemd-homed.service.8.gz %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz +%if %{with sd_boot} +%{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz +%{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz +%{_mandir}/man8/systemd-pcrphase.8.gz +%{_mandir}/man8/systemd-pcrphase.service.8.gz +%endif %{_mandir}/man8/systemd-repart.8.gz %{_mandir}/man8/systemd-repart.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz @@ -50,15 +62,31 @@ %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-homed %{_systemd_util_dir}/systemd-homework +%if %{with sd_boot} +%{_systemd_util_dir}/systemd-measure +%endif %{_systemd_util_dir}/systemd-oomd +%if %{with sd_boot} +%{_systemd_util_dir}/systemd-pcrphase +%endif %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork %{_sysusersdir}/systemd-oom.conf +%if %{with sd_boot} +%{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service +%{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service +%{_unitdir}/sysinit.target.wants/systemd-pcrphase.service +%endif %{_unitdir}/systemd-homed-activate.service %{_unitdir}/systemd-homed.service %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket +%if %{with sd_boot} +%{_unitdir}/systemd-pcrphase-initrd.service +%{_unitdir}/systemd-pcrphase-sysinit.service +%{_unitdir}/systemd-pcrphase.service +%endif %{_unitdir}/systemd-repart.service %{_unitdir}/systemd-sysupdate-reboot.service %{_unitdir}/systemd-sysupdate-reboot.timer diff --git a/files.systemd b/files.systemd index d9360a4e..e4b0d920 100644 --- a/files.systemd +++ b/files.systemd @@ -27,6 +27,7 @@ %endif %dir %{_environmentdir} %dir %{_journalcatalogdir} +%dir %{_libdir}/systemd %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog %dir %{_modprobedir} @@ -136,6 +137,7 @@ %{_datadir}/bash-completion/completions/systemd-cat %{_datadir}/bash-completion/completions/systemd-cgls %{_datadir}/bash-completion/completions/systemd-cgtop +%{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt %{_datadir}/bash-completion/completions/systemd-id128 @@ -223,6 +225,10 @@ %if %{without bootstrap} %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 +%endif +%{_libdir}/systemd/libsystemd-core-252.so +%{_libdir}/systemd/libsystemd-shared-252.so +%if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz @@ -327,6 +333,7 @@ %{_mandir}/man7/systemd.offline-updates.7.gz %{_mandir}/man7/systemd.special.7.gz %{_mandir}/man7/systemd.syntax.7.gz +%{_mandir}/man7/systemd.system-credentials.7.gz %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz %{_mandir}/man8/halt.8.gz @@ -427,8 +434,6 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%{_systemd_util_dir}/libsystemd-core-251.so -%{_systemd_util_dir}/libsystemd-shared-251.so %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh @@ -453,6 +458,7 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl +%{_systemd_util_dir}/systemd-sysroot-fstab-check %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -494,6 +500,7 @@ %{_sysusersdir}/systemd-journal.conf %{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/journal-nocow.conf +%{_tmpfilesdir}/provision.conf %{_tmpfilesdir}/suse.conf %{_tmpfilesdir}/systemd-nologin.conf %{_tmpfilesdir}/systemd-tmp.conf diff --git a/systemd-v251.8+suse.38.g9cdd785850.tar.xz b/systemd-v251.8+suse.38.g9cdd785850.tar.xz deleted file mode 100644 index c6e92a6a..00000000 --- a/systemd-v251.8+suse.38.g9cdd785850.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e21e408a70aef50bbba4a5e39b1c728a7ef48105d226f516b51d36a18cc24d0f -size 7844584 diff --git a/systemd-v252.1+suse.21.g64dc546913.tar.xz b/systemd-v252.1+suse.21.g64dc546913.tar.xz new file mode 100644 index 00000000..53405b75 --- /dev/null +++ b/systemd-v252.1+suse.21.g64dc546913.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61e92987f1ac3c83d3b3be029497159b683c84869e259d904d0422c4691432e9 +size 8034368 diff --git a/systemd.changes b/systemd.changes index 73e866a8..29d0fb98 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Nov 14 11:15:06 UTC 2022 - Franck Bui + +- Upgrade to v252.1 (commit 64dc546913525e33e734500055a62ed0e963c227) + + See https://github.com/openSUSE/systemd/blob/SUSE/v252/NEWS for details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + * The new tools systemd-measure and systemd-pcrphase have been added to the + experimental sub-package for now. + + * Add temporarly + 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch until this + patch is mainstreamed. + ------------------------------------------------------------------- Tue Nov 8 16:33:26 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4c912853..3c033c27 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.38.g9cdd785850 +%define archive_version +suse.21.g64dc546913 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -59,7 +59,7 @@ %bcond_without portabled %bcond_without resolved %ifarch %{ix86} x86_64 aarch64 -%bcond_without sd_boot +%bcond_with sd_boot %else %bcond_with sd_boot %endif @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 251.8 +Version: 252.1 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -106,7 +106,7 @@ BuildRequires: gperf BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 -BuildRequires: meson >= 0.43 +BuildRequires: meson >= 0.53.2 BuildRequires: pam-devel BuildRequires: python3-jinja2 # regenerate_initrd_post macro is expanded during build, hence this BR. Also @@ -211,12 +211,12 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Temporary workaround until bsc#1197178 is addressed. Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch -# Patches listed below are put in quarantine. Normally all changes -# must go to upstream first and then are cherry-picked in the SUSE git -# repository. But in very few cases, some stuff might be broken in -# upstream and need an urgent fix. Even in this case, the patches are -# temporary and should be removed as soon as a fix is merged by -# upstream. +# Patches listed below are put in quarantine. Normally all changes must go to +# upstream first and then are cherry-picked in the SUSE git repository. But for +# very few cases, some stuff might be broken in upstream and need to be fixed +# quickly. But even in these cases, the patches are temporary and should be +# removed as soon as a fix is merged by upstream. +Patch6000: 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -523,6 +523,7 @@ Requires: binutils Requires: busybox-static Requires: cryptsetup Requires: dosfstools +Requires: jq Requires: libcap-progs Requires: libfido2 Requires: libtss2-esys0 @@ -570,10 +571,10 @@ Run the following python script to run all unit tests at once: $ %{_testsuitedir}/run-unit-tests.py To run the full extended testsuite do the following: -$ NO_BUILD=1 %{_testsuitedir}/test/run-integration-tests.sh +$ NO_BUILD=1 TEST_NESTED_VM=1 %{_testsuitedir}/test/run-integration-tests.sh Or to run one specific integration test: -$ NO_BUILD=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run +$ NO_BUILD=1 TEST_NESTED_VM=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run For more details on the available options to run the extended testsuite, please refer to %{_testsuitedir}/test/README.testsuite. @@ -610,7 +611,8 @@ change without the usual backwards-compatibility promises. Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -Currently this package contains: homed, repart, userdbd, oomd. +Currently this package contains: homed, repart, userdbd, oomd, measure and +pcrphase. In case you want to create a user with systemd-homed quickly, here are the steps you can follow: @@ -1296,13 +1298,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.34.0 +%{_libdir}/libsystemd.so.0.35.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.4 +%{_libdir}/libudev.so.1.7.5 %if %{with coredump} %files coredump From b420559c6ea1fc105e7ce054d950ce42acdf0f56a0eef9e5799cae189af3bb40 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Nov 2022 21:09:00 +0000 Subject: [PATCH 770/991] fix previous commit and reenable sd_boot on regular builds OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1327 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 3c033c27..e44bd068 100644 --- a/systemd.spec +++ b/systemd.spec @@ -59,7 +59,7 @@ %bcond_without portabled %bcond_without resolved %ifarch %{ix86} x86_64 aarch64 -%bcond_with sd_boot +%bcond_without sd_boot %else %bcond_with sd_boot %endif From 0640fcf7d4643673a4dc249b43e3fd9482dd2f5cc9fd1d085dc7e4f15ef8c235 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Nov 2022 08:08:45 +0000 Subject: [PATCH 771/991] - Reenable build of sd_boot, it was mistakenly disabled during the integration of v252. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1328 --- systemd.changes | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/systemd.changes b/systemd.changes index 29d0fb98..f6fbb553 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Nov 18 08:07:33 UTC 2022 - Franck Bui + +- Reenable build of sd_boot, it was mistakenly disabled during the integration + of v252. + ------------------------------------------------------------------- Mon Nov 14 11:15:06 UTC 2022 - Franck Bui From 709924c9fa77efaefff275c418489f0bab65cc6c0c0764daa76b69898f985ee8 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 19 Nov 2022 17:08:44 +0000 Subject: [PATCH 772/991] Accepting request 1036605 from Base:System - Reenable build of sd_boot, it was mistakenly disabled during the integration of v252. OBS-URL: https://build.opensuse.org/request/show/1036605 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=370 --- systemd.changes | 6 ++++++ systemd.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 29d0fb98..f6fbb553 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Nov 18 08:07:33 UTC 2022 - Franck Bui + +- Reenable build of sd_boot, it was mistakenly disabled during the integration + of v252. + ------------------------------------------------------------------- Mon Nov 14 11:15:06 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3c033c27..e44bd068 100644 --- a/systemd.spec +++ b/systemd.spec @@ -59,7 +59,7 @@ %bcond_without portabled %bcond_without resolved %ifarch %{ix86} x86_64 aarch64 -%bcond_with sd_boot +%bcond_without sd_boot %else %bcond_with sd_boot %endif From 639daba3928542d89d19514323a0322d08b62d54e2746c8777d440b07df9c027 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Nov 2022 14:51:55 +0000 Subject: [PATCH 773/991] - Import commit 3bd3e4e6c1efe0d6df776107efde47e15e58fe96 d28e81d65c test: fix the default timeout values described in README.testsuite d921c83f53 meson: install test-kernel-install only when -Dkernel-install=true c3b6c4b584 tests: update install_suse_systemd() 3c77335b19 tests: install dmi-sysfs module on openSUSE df632130cd tests: install systemd-resolved on openSUSE - Add 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch until upstream issue #25468 is fixed. - Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch, the patch has been merged in the SUSE git repo. This includes the following bug fixes: - upstream commit 67c3e1f63a5221b47a8fea85ae421671f29f3b7e (bsc#1200723) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1329 --- ...whenever-creating-an-inode-immediate.patch | 474 ++++++++++++++++++ ...st-kernel-install-only-when-Dkernel-.patch | 29 -- systemd-v252.1+suse.21.g64dc546913.tar.xz | 3 - systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz | 3 + systemd.changes | 21 + systemd.spec | 4 +- 6 files changed, 500 insertions(+), 34 deletions(-) create mode 100644 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch delete mode 100644 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch delete mode 100644 systemd-v252.1+suse.21.g64dc546913.tar.xz create mode 100644 systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz diff --git a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch new file mode 100644 index 00000000..209ed181 --- /dev/null +++ b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch @@ -0,0 +1,474 @@ +From 9420aaad2680981323b0786c479b14891444f5cb Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 22 Nov 2022 14:45:56 +0100 +Subject: [PATCH 6000/6000] Revert "tmpfiles: whenever creating an inode, + immediately O_PATH open it to pin it" + +This reverts commit 8f6fb95cd069884f4ce0a24eb20efc821ae3bc5e. +--- + src/tmpfiles/tmpfiles.c | 283 +++++++++++++++++----------------------- + 1 file changed, 118 insertions(+), 165 deletions(-) + +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 784b895577..2c44856c3a 100644 +--- a/src/tmpfiles/tmpfiles.c ++++ b/src/tmpfiles/tmpfiles.c +@@ -31,7 +31,6 @@ + #include "dirent-util.h" + #include "dissect-image.h" + #include "env-util.h" +-#include "errno-util.h" + #include "escape.h" + #include "fd-util.h" + #include "fileio.h" +@@ -1515,9 +1514,11 @@ static int create_file(Item *i, const char *path) { + st = &stbuf; + creation = CREATION_EXISTING; + } else { +- r = write_argument_data(i, fd, path); +- if (r < 0) +- return r; ++ if (item_binary_argument(i)) { ++ r = write_argument_data(i, fd, path); ++ if (r < 0) ++ return r; ++ } + + creation = CREATION_NORMAL; + } +@@ -1617,7 +1618,6 @@ static int truncate_file(Item *i, const char *path) { + static int copy_files(Item *i) { + _cleanup_close_ int dfd = -1, fd = -1; + _cleanup_free_ char *bn = NULL; +- struct stat st, a; + int r; + + log_debug("Copying tree \"%s\" to \"%s\".", i->argument, i->path); +@@ -1637,40 +1637,46 @@ static int copy_files(Item *i) { + i->uid_set ? i->uid : UID_INVALID, + i->gid_set ? i->gid : GID_INVALID, + COPY_REFLINK | COPY_MERGE_EMPTY | COPY_MAC_CREATE | COPY_HARDLINKS); ++ if (r < 0) { ++ struct stat a, b; + +- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) { +- if (r < 0) /* Look at original error first */ +- return log_error_errno(r, "Failed to copy files to %s: %m", i->path); ++ /* If the target already exists on read-only filesystems, trying ++ * to create the target will not fail with EEXIST but with ++ * EROFS. */ ++ if (r == -EROFS && faccessat(dfd, bn, F_OK, AT_SYMLINK_NOFOLLOW) == 0) ++ r = -EEXIST; + +- return log_error_errno(errno, "Failed to openat(%s): %m", i->path); +- } ++ if (r != -EEXIST) ++ return log_error_errno(r, "Failed to copy files to %s: %m", i->path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ if (stat(i->argument, &a) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", i->argument); + +- if (stat(i->argument, &a) < 0) +- return log_error_errno(errno, "Failed to stat(%s): %m", i->argument); ++ if (fstatat(dfd, bn, &b, AT_SYMLINK_NOFOLLOW) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", i->path); + +- if (((st.st_mode ^ a.st_mode) & S_IFMT) != 0) { +- log_debug("Can't copy to %s, file exists already and is of different type", i->path); +- return 0; ++ if ((a.st_mode ^ b.st_mode) & S_IFMT) { ++ log_debug("Can't copy to %s, file exists already and is of different type", i->path); ++ return 0; ++ } + } + +- return fd_set_perms(i, fd, i->path, &st, _CREATION_MODE_INVALID); ++ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); ++ ++ return fd_set_perms(i, fd, i->path, /* st = */ NULL, _CREATION_MODE_INVALID); + } + + static int create_directory_or_subvolume( + const char *path, + mode_t mode, + bool subvol, +- struct stat *ret_st, + CreationMode *ret_creation) { + + _cleanup_free_ char *bn = NULL; + _cleanup_close_ int pfd = -1; +- CreationMode creation; +- struct stat st; ++ CreationMode c; + int r, fd; + + assert(path); +@@ -1690,7 +1696,7 @@ static int create_directory_or_subvolume( + log_warning_errno(r, "Cannot parse value of $SYSTEMD_TMPFILES_FORCE_SUBVOL, ignoring."); + r = btrfs_is_subvol(empty_to_root(arg_root)) > 0; + } +- if (r == 0) ++ if (!r) + /* Don't create a subvolume unless the root directory is one, too. We do this under + * the assumption that if the root directory is just a plain directory (i.e. very + * light-weight), we shouldn't try to split it up into subvolumes (i.e. more +@@ -1706,36 +1712,37 @@ static int create_directory_or_subvolume( + } else + r = 0; + +- if (!subvol || ERRNO_IS_NOT_SUPPORTED(r)) ++ if (!subvol || r == -ENOTTY) + RUN_WITH_UMASK(0000) + r = mkdirat_label(pfd, bn, mode); + +- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; +- +- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY|O_PATH); +- if (fd < 0) { +- /* We couldn't open it because it is not actually a directory? */ +- if (errno == ENOTDIR) +- return log_error_errno(SYNTHETIC_ERRNO(EEXIST), "\"%s\" already exists and is not a directory.", path); ++ if (r < 0) { ++ int k; + +- /* Then look at the original error */ +- if (r < 0) ++ if (!IN_SET(r, -EEXIST, -EROFS)) + return log_error_errno(r, "Failed to create directory or subvolume \"%s\": %m", path); + +- return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); +- } ++ k = is_dir_full(pfd, bn, /* follow= */ false); ++ if (k == -ENOENT && r == -EROFS) ++ return log_error_errno(r, "%s does not exist and cannot be created as the file system is read-only.", path); ++ if (k < 0) ++ return log_error_errno(k, "Failed to check if %s exists: %m", path); ++ if (!k) ++ return log_warning_errno(SYNTHETIC_ERRNO(EEXIST), ++ "\"%s\" already exists and is not a directory.", path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", path); ++ c = CREATION_EXISTING; ++ } else ++ c = CREATION_NORMAL; + +- assert(S_ISDIR(st.st_mode)); /* we used O_DIRECTORY above */ ++ log_debug("%s directory \"%s\".", creation_mode_verb_to_string(c), path); + +- log_debug("%s directory \"%s\".", creation_mode_verb_to_string(creation), path); ++ fd = openat(pfd, bn, O_NOCTTY|O_CLOEXEC|O_DIRECTORY); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to open directory '%s': %m", bn); + +- if (ret_st) +- *ret_st = st; + if (ret_creation) +- *ret_creation = creation; ++ *ret_creation = c; + + return fd; + } +@@ -1743,30 +1750,28 @@ static int create_directory_or_subvolume( + static int create_directory(Item *i, const char *path) { + _cleanup_close_ int fd = -1; + CreationMode creation; +- struct stat st; + + assert(i); + assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); + +- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &creation); + if (fd == -EEXIST) + return 0; + if (fd < 0) + return fd; + +- return fd_set_perms(i, fd, path, &st, creation); ++ return fd_set_perms(i, fd, path, /* st= */ NULL, creation); + } + + static int create_subvolume(Item *i, const char *path) { + _cleanup_close_ int fd = -1; + CreationMode creation; +- struct stat st; + int r, q = 0; + + assert(i); + assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); + +- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &creation); + if (fd == -EEXIST) + return 0; + if (fd < 0) +@@ -1789,7 +1794,7 @@ static int create_subvolume(Item *i, const char *path) { + log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); + } + +- r = fd_set_perms(i, fd, path, &st, creation); ++ r = fd_set_perms(i, fd, path, /* st= */ NULL, creation); + if (q < 0) /* prefer the quota change error from above */ + return q; + +@@ -1830,11 +1835,9 @@ static int create_device(Item *i, mode_t file_type) { + _cleanup_close_ int dfd = -1, fd = -1; + _cleanup_free_ char *bn = NULL; + CreationMode creation; +- struct stat st; + int r; + + assert(i); +- assert(IN_SET(i->type, CREATE_BLOCK_DEVICE, CREATE_CHAR_DEVICE)); + assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); + + r = path_extract_filename(i->path, &bn); +@@ -1854,166 +1857,116 @@ static int create_device(Item *i, mode_t file_type) { + r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); + mac_selinux_create_file_clear(); + } +- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; +- +- /* Try to open the inode via O_PATH, regardless if we could create it or not. Maybe everything is in +- * order anyway and we hence can ignore the error to create the device node */ +- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) { +- /* OK, so opening the inode failed, let's look at the original error then. */ + +- if (r < 0) { +- if (ERRNO_IS_PRIVILEGE(r)) +- goto handle_privilege; ++ if (r < 0) { ++ struct stat st; + +- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); ++ if (r == -EPERM) { ++ log_debug_errno(r, ++ "We lack permissions, possibly because of cgroup configuration; " ++ "skipping creation of device node %s.", i->path); ++ return 0; + } + +- return log_error_errno(errno, "Failed to open device node '%s' we just created: %m", i->path); +- } ++ if (r != -EEXIST) ++ return log_error_errno(r, "Failed to create device node %s: %m", i->path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ if (fstatat(dfd, bn, &st, 0) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", i->path); + +- if (((st.st_mode ^ file_type) & S_IFMT) != 0) { ++ if ((st.st_mode & S_IFMT) != file_type) { + +- if (i->append_or_force) { +- fd = safe_close(fd); ++ if (i->append_or_force) { + +- RUN_WITH_UMASK(0000) { +- mac_selinux_create_file_prepare(i->path, file_type); +- r = mknodat_atomic(dfd, bn, i->mode | file_type, i->major_minor); +- mac_selinux_create_file_clear(); +- } +- if (ERRNO_IS_PRIVILEGE(r)) +- goto handle_privilege; +- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { +- r = rm_rf_child(dfd, bn, REMOVE_PHYSICAL); +- if (r < 0) +- return log_error_errno(r, "rm -rf %s failed: %m", i->path); ++ RUN_WITH_UMASK(0000) { ++ mac_selinux_create_file_prepare(i->path, file_type); ++ /* FIXME: need to introduce mknodat_atomic() */ ++ r = mknod_atomic(i->path, i->mode | file_type, i->major_minor); ++ mac_selinux_create_file_clear(); ++ } + +- mac_selinux_create_file_prepare(i->path, file_type); +- r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); +- mac_selinux_create_file_clear(); ++ if (r < 0) ++ return log_error_errno(r, "Failed to create device node \"%s\": %m", i->path); ++ creation = CREATION_FORCE; ++ } else { ++ log_warning("\"%s\" already exists is not a device node.", i->path); ++ return 0; + } +- if (r < 0) +- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); +- +- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) +- return log_error_errno(errno, "Failed to open device node we just created '%s': %m", i->path); +- +- /* Validate type before change ownership below */ +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); +- +- if (((st.st_mode ^ file_type) & S_IFMT) != 0) +- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "Device node we just created is not a device node, refusing."); +- +- creation = CREATION_FORCE; +- } else { +- log_warning("\"%s\" already exists and is not a device node.", i->path); +- return 0; +- } +- } ++ } else ++ creation = CREATION_EXISTING; ++ } else ++ creation = CREATION_NORMAL; + + log_debug("%s %s device node \"%s\" %u:%u.", + creation_mode_verb_to_string(creation), + i->type == CREATE_BLOCK_DEVICE ? "block" : "char", + i->path, major(i->mode), minor(i->mode)); + +- return fd_set_perms(i, fd, i->path, &st, creation); ++ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); + +-handle_privilege: +- log_debug_errno(r, +- "We lack permissions, possibly because of cgroup configuration; " +- "skipping creation of device node '%s'.", i->path); +- return 0; ++ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); + } + +-static int create_fifo(Item *i) { ++static int create_fifo(Item *i, const char *path) { + _cleanup_close_ int pfd = -1, fd = -1; + _cleanup_free_ char *bn = NULL; + CreationMode creation; + struct stat st; + int r; + +- assert(i); +- assert(i->type == CREATE_FIFO); +- + r = path_extract_filename(i->path, &bn); + if (r < 0) +- return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); ++ return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); + if (r == O_DIRECTORY) +- return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); ++ return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", path); + +- pfd = path_open_parent_safe(i->path); ++ pfd = path_open_parent_safe(path); + if (pfd < 0) + return pfd; + + RUN_WITH_UMASK(0000) { +- mac_selinux_create_file_prepare(i->path, S_IFIFO); ++ mac_selinux_create_file_prepare(path, S_IFIFO); + r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); + mac_selinux_create_file_clear(); + } + +- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; +- +- /* Open the inode via O_PATH, regardless if we managed to create it or not. Maybe it is is already the FIFO we want */ +- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) { +- if (r < 0) +- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); /* original error! */ +- +- return log_error_errno(errno, "Failed to open FIFO we just created %s: %m", i->path); +- } ++ if (r < 0) { ++ if (r != -EEXIST) ++ return log_error_errno(r, "Failed to create fifo %s: %m", path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ if (fstatat(pfd, bn, &st, AT_SYMLINK_NOFOLLOW) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", path); + +- if (!S_ISFIFO(st.st_mode)) { ++ if (!S_ISFIFO(st.st_mode)) { + +- if (i->append_or_force) { +- fd = safe_close(fd); ++ if (i->append_or_force) { ++ RUN_WITH_UMASK(0000) { ++ mac_selinux_create_file_prepare(path, S_IFIFO); ++ r = mkfifoat_atomic(pfd, bn, i->mode); ++ mac_selinux_create_file_clear(); ++ } + +- RUN_WITH_UMASK(0000) { +- mac_selinux_create_file_prepare(i->path, S_IFIFO); +- r = mkfifoat_atomic(pfd, bn, i->mode); +- mac_selinux_create_file_clear(); +- } +- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { +- r = rm_rf_child(pfd, bn, REMOVE_PHYSICAL); + if (r < 0) +- return log_error_errno(r, "rm -rf %s failed: %m", i->path); +- +- mac_selinux_create_file_prepare(i->path, S_IFIFO); +- r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); +- mac_selinux_create_file_clear(); ++ return log_error_errno(r, "Failed to create fifo %s: %m", path); ++ creation = CREATION_FORCE; ++ } else { ++ log_warning("\"%s\" already exists and is not a fifo.", path); ++ return 0; + } +- if (r < 0) +- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); +- +- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) +- return log_error_errno(errno, "Failed to open FIFO we just created '%s': %m", i->path); +- +- /* Validate type before change ownership below */ +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ } else ++ creation = CREATION_EXISTING; ++ } else ++ creation = CREATION_NORMAL; + +- if (!S_ISFIFO(st.st_mode)) +- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "FIFO inode we just created is not a FIFO, refusing."); ++ log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), path); + +- creation = CREATION_FORCE; +- } else { +- log_warning("\"%s\" already exists and is not a FIFO.", i->path); +- return 0; +- } +- } +- +- log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), i->path); ++ fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to openat(%s): %m", path); + +- return fd_set_perms(i, fd, i->path, &st, creation); ++ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); + } + + static int create_symlink(Item *i) { +@@ -2482,7 +2435,7 @@ static int create_item(Item *i) { + if (r < 0) + return r; + +- r = create_fifo(i); ++ r = create_fifo(i, i->path); + if (r < 0) + return r; + break; +-- +2.35.3 + diff --git a/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch b/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch deleted file mode 100644 index 3217bafa..00000000 --- a/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c34a72017fe66998f7bd40b5e90d27accd69376c Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 15 Nov 2022 09:04:42 +0100 -Subject: [PATCH 6000/6000] meson: install test-kernel-install only when - -Dkernel-install=true - -This patch fixes the following build failure: - - meson.build:3853:8: ERROR: Unknown variable "test_kernel_install_sh". ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 00daeac1b6..0fd0129820 100644 ---- a/meson.build -+++ b/meson.build -@@ -3968,7 +3968,7 @@ exe = custom_target( - install_dir : bindir) - public_programs += exe - --if want_tests != 'false' -+if want_tests != 'false' and want_kernel_install - test('test-kernel-install', - test_kernel_install_sh, - args : [exe.full_path(), loaderentry_install]) --- -2.35.3 - diff --git a/systemd-v252.1+suse.21.g64dc546913.tar.xz b/systemd-v252.1+suse.21.g64dc546913.tar.xz deleted file mode 100644 index 53405b75..00000000 --- a/systemd-v252.1+suse.21.g64dc546913.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61e92987f1ac3c83d3b3be029497159b683c84869e259d904d0422c4691432e9 -size 8034368 diff --git a/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz b/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz new file mode 100644 index 00000000..b2fb19b4 --- /dev/null +++ b/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f361fb4824b21acec02b87b4c209b1a5ad864dff7753baf575ee358d12022d43 +size 8035180 diff --git a/systemd.changes b/systemd.changes index f6fbb553..2a7cc1b4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Nov 22 13:52:07 UTC 2022 - Franck Bui + +- Import commit 3bd3e4e6c1efe0d6df776107efde47e15e58fe96 + + d28e81d65c test: fix the default timeout values described in README.testsuite + d921c83f53 meson: install test-kernel-install only when -Dkernel-install=true + c3b6c4b584 tests: update install_suse_systemd() + 3c77335b19 tests: install dmi-sysfs module on openSUSE + df632130cd tests: install systemd-resolved on openSUSE + +- Add 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch until + upstream issue #25468 is fixed. + +- Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch, the patch + has been merged in the SUSE git repo. + ------------------------------------------------------------------- Fri Nov 18 08:07:33 UTC 2022 - Franck Bui @@ -11,6 +28,10 @@ Mon Nov 14 11:15:06 UTC 2022 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v252/NEWS for details. + This includes the following bug fixes: + + - upstream commit 67c3e1f63a5221b47a8fea85ae421671f29f3b7e (bsc#1200723) + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch diff --git a/systemd.spec b/systemd.spec index e44bd068..909d0ecd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.21.g64dc546913 +%define archive_version +suse.27.g3bd3e4e6c1 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -216,7 +216,7 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch6000: 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch +Patch6000: 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch %description Systemd is a system and service manager, compatible with SysV and LSB From cf1b8a4f339f942b68489a9463e0480b283303a804a758d2a11fbbaf5a22ddf3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 24 Nov 2022 13:40:51 +0000 Subject: [PATCH 774/991] Fix the name of the patch, which was supposed to be dropped in the changelog during the merge of v252.1 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1330 --- systemd.changes | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 2a7cc1b4..4f36b706 100644 --- a/systemd.changes +++ b/systemd.changes @@ -12,8 +12,8 @@ Tue Nov 22 13:52:07 UTC 2022 - Franck Bui - Add 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch until upstream issue #25468 is fixed. -- Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch, the patch - has been merged in the SUSE git repo. +- Drop 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch, the + patch has been merged in the SUSE git repo. ------------------------------------------------------------------- Fri Nov 18 08:07:33 UTC 2022 - Franck Bui From 2eea2ae3cc3ae79a62bdfc0f37f01edc8b14a24b675107096200c8b1f60a9b24 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 25 Nov 2022 12:11:28 +0000 Subject: [PATCH 775/991] Accepting request 1037909 from Base:System - Import commit 3bd3e4e6c1efe0d6df776107efde47e15e58fe96 d28e81d65c test: fix the default timeout values described in README.testsuite d921c83f53 meson: install test-kernel-install only when -Dkernel-install=true c3b6c4b584 tests: update install_suse_systemd() 3c77335b19 tests: install dmi-sysfs module on openSUSE df632130cd tests: install systemd-resolved on openSUSE - Add 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch until upstream issue #25468 is fixed. - Drop 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch, the patch has been merged in the SUSE git repo. This includes the following bug fixes: - upstream commit 67c3e1f63a5221b47a8fea85ae421671f29f3b7e (bsc#1200723) OBS-URL: https://build.opensuse.org/request/show/1037909 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=371 --- ...whenever-creating-an-inode-immediate.patch | 474 ++++++++++++++++++ ...st-kernel-install-only-when-Dkernel-.patch | 29 -- systemd-v252.1+suse.21.g64dc546913.tar.xz | 3 - systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz | 3 + systemd.changes | 21 + systemd.spec | 4 +- 6 files changed, 500 insertions(+), 34 deletions(-) create mode 100644 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch delete mode 100644 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch delete mode 100644 systemd-v252.1+suse.21.g64dc546913.tar.xz create mode 100644 systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz diff --git a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch new file mode 100644 index 00000000..209ed181 --- /dev/null +++ b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch @@ -0,0 +1,474 @@ +From 9420aaad2680981323b0786c479b14891444f5cb Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Tue, 22 Nov 2022 14:45:56 +0100 +Subject: [PATCH 6000/6000] Revert "tmpfiles: whenever creating an inode, + immediately O_PATH open it to pin it" + +This reverts commit 8f6fb95cd069884f4ce0a24eb20efc821ae3bc5e. +--- + src/tmpfiles/tmpfiles.c | 283 +++++++++++++++++----------------------- + 1 file changed, 118 insertions(+), 165 deletions(-) + +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 784b895577..2c44856c3a 100644 +--- a/src/tmpfiles/tmpfiles.c ++++ b/src/tmpfiles/tmpfiles.c +@@ -31,7 +31,6 @@ + #include "dirent-util.h" + #include "dissect-image.h" + #include "env-util.h" +-#include "errno-util.h" + #include "escape.h" + #include "fd-util.h" + #include "fileio.h" +@@ -1515,9 +1514,11 @@ static int create_file(Item *i, const char *path) { + st = &stbuf; + creation = CREATION_EXISTING; + } else { +- r = write_argument_data(i, fd, path); +- if (r < 0) +- return r; ++ if (item_binary_argument(i)) { ++ r = write_argument_data(i, fd, path); ++ if (r < 0) ++ return r; ++ } + + creation = CREATION_NORMAL; + } +@@ -1617,7 +1618,6 @@ static int truncate_file(Item *i, const char *path) { + static int copy_files(Item *i) { + _cleanup_close_ int dfd = -1, fd = -1; + _cleanup_free_ char *bn = NULL; +- struct stat st, a; + int r; + + log_debug("Copying tree \"%s\" to \"%s\".", i->argument, i->path); +@@ -1637,40 +1637,46 @@ static int copy_files(Item *i) { + i->uid_set ? i->uid : UID_INVALID, + i->gid_set ? i->gid : GID_INVALID, + COPY_REFLINK | COPY_MERGE_EMPTY | COPY_MAC_CREATE | COPY_HARDLINKS); ++ if (r < 0) { ++ struct stat a, b; + +- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) { +- if (r < 0) /* Look at original error first */ +- return log_error_errno(r, "Failed to copy files to %s: %m", i->path); ++ /* If the target already exists on read-only filesystems, trying ++ * to create the target will not fail with EEXIST but with ++ * EROFS. */ ++ if (r == -EROFS && faccessat(dfd, bn, F_OK, AT_SYMLINK_NOFOLLOW) == 0) ++ r = -EEXIST; + +- return log_error_errno(errno, "Failed to openat(%s): %m", i->path); +- } ++ if (r != -EEXIST) ++ return log_error_errno(r, "Failed to copy files to %s: %m", i->path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ if (stat(i->argument, &a) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", i->argument); + +- if (stat(i->argument, &a) < 0) +- return log_error_errno(errno, "Failed to stat(%s): %m", i->argument); ++ if (fstatat(dfd, bn, &b, AT_SYMLINK_NOFOLLOW) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", i->path); + +- if (((st.st_mode ^ a.st_mode) & S_IFMT) != 0) { +- log_debug("Can't copy to %s, file exists already and is of different type", i->path); +- return 0; ++ if ((a.st_mode ^ b.st_mode) & S_IFMT) { ++ log_debug("Can't copy to %s, file exists already and is of different type", i->path); ++ return 0; ++ } + } + +- return fd_set_perms(i, fd, i->path, &st, _CREATION_MODE_INVALID); ++ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); ++ ++ return fd_set_perms(i, fd, i->path, /* st = */ NULL, _CREATION_MODE_INVALID); + } + + static int create_directory_or_subvolume( + const char *path, + mode_t mode, + bool subvol, +- struct stat *ret_st, + CreationMode *ret_creation) { + + _cleanup_free_ char *bn = NULL; + _cleanup_close_ int pfd = -1; +- CreationMode creation; +- struct stat st; ++ CreationMode c; + int r, fd; + + assert(path); +@@ -1690,7 +1696,7 @@ static int create_directory_or_subvolume( + log_warning_errno(r, "Cannot parse value of $SYSTEMD_TMPFILES_FORCE_SUBVOL, ignoring."); + r = btrfs_is_subvol(empty_to_root(arg_root)) > 0; + } +- if (r == 0) ++ if (!r) + /* Don't create a subvolume unless the root directory is one, too. We do this under + * the assumption that if the root directory is just a plain directory (i.e. very + * light-weight), we shouldn't try to split it up into subvolumes (i.e. more +@@ -1706,36 +1712,37 @@ static int create_directory_or_subvolume( + } else + r = 0; + +- if (!subvol || ERRNO_IS_NOT_SUPPORTED(r)) ++ if (!subvol || r == -ENOTTY) + RUN_WITH_UMASK(0000) + r = mkdirat_label(pfd, bn, mode); + +- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; +- +- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY|O_PATH); +- if (fd < 0) { +- /* We couldn't open it because it is not actually a directory? */ +- if (errno == ENOTDIR) +- return log_error_errno(SYNTHETIC_ERRNO(EEXIST), "\"%s\" already exists and is not a directory.", path); ++ if (r < 0) { ++ int k; + +- /* Then look at the original error */ +- if (r < 0) ++ if (!IN_SET(r, -EEXIST, -EROFS)) + return log_error_errno(r, "Failed to create directory or subvolume \"%s\": %m", path); + +- return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); +- } ++ k = is_dir_full(pfd, bn, /* follow= */ false); ++ if (k == -ENOENT && r == -EROFS) ++ return log_error_errno(r, "%s does not exist and cannot be created as the file system is read-only.", path); ++ if (k < 0) ++ return log_error_errno(k, "Failed to check if %s exists: %m", path); ++ if (!k) ++ return log_warning_errno(SYNTHETIC_ERRNO(EEXIST), ++ "\"%s\" already exists and is not a directory.", path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", path); ++ c = CREATION_EXISTING; ++ } else ++ c = CREATION_NORMAL; + +- assert(S_ISDIR(st.st_mode)); /* we used O_DIRECTORY above */ ++ log_debug("%s directory \"%s\".", creation_mode_verb_to_string(c), path); + +- log_debug("%s directory \"%s\".", creation_mode_verb_to_string(creation), path); ++ fd = openat(pfd, bn, O_NOCTTY|O_CLOEXEC|O_DIRECTORY); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to open directory '%s': %m", bn); + +- if (ret_st) +- *ret_st = st; + if (ret_creation) +- *ret_creation = creation; ++ *ret_creation = c; + + return fd; + } +@@ -1743,30 +1750,28 @@ static int create_directory_or_subvolume( + static int create_directory(Item *i, const char *path) { + _cleanup_close_ int fd = -1; + CreationMode creation; +- struct stat st; + + assert(i); + assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); + +- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &creation); + if (fd == -EEXIST) + return 0; + if (fd < 0) + return fd; + +- return fd_set_perms(i, fd, path, &st, creation); ++ return fd_set_perms(i, fd, path, /* st= */ NULL, creation); + } + + static int create_subvolume(Item *i, const char *path) { + _cleanup_close_ int fd = -1; + CreationMode creation; +- struct stat st; + int r, q = 0; + + assert(i); + assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); + +- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &creation); + if (fd == -EEXIST) + return 0; + if (fd < 0) +@@ -1789,7 +1794,7 @@ static int create_subvolume(Item *i, const char *path) { + log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); + } + +- r = fd_set_perms(i, fd, path, &st, creation); ++ r = fd_set_perms(i, fd, path, /* st= */ NULL, creation); + if (q < 0) /* prefer the quota change error from above */ + return q; + +@@ -1830,11 +1835,9 @@ static int create_device(Item *i, mode_t file_type) { + _cleanup_close_ int dfd = -1, fd = -1; + _cleanup_free_ char *bn = NULL; + CreationMode creation; +- struct stat st; + int r; + + assert(i); +- assert(IN_SET(i->type, CREATE_BLOCK_DEVICE, CREATE_CHAR_DEVICE)); + assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); + + r = path_extract_filename(i->path, &bn); +@@ -1854,166 +1857,116 @@ static int create_device(Item *i, mode_t file_type) { + r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); + mac_selinux_create_file_clear(); + } +- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; +- +- /* Try to open the inode via O_PATH, regardless if we could create it or not. Maybe everything is in +- * order anyway and we hence can ignore the error to create the device node */ +- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) { +- /* OK, so opening the inode failed, let's look at the original error then. */ + +- if (r < 0) { +- if (ERRNO_IS_PRIVILEGE(r)) +- goto handle_privilege; ++ if (r < 0) { ++ struct stat st; + +- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); ++ if (r == -EPERM) { ++ log_debug_errno(r, ++ "We lack permissions, possibly because of cgroup configuration; " ++ "skipping creation of device node %s.", i->path); ++ return 0; + } + +- return log_error_errno(errno, "Failed to open device node '%s' we just created: %m", i->path); +- } ++ if (r != -EEXIST) ++ return log_error_errno(r, "Failed to create device node %s: %m", i->path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ if (fstatat(dfd, bn, &st, 0) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", i->path); + +- if (((st.st_mode ^ file_type) & S_IFMT) != 0) { ++ if ((st.st_mode & S_IFMT) != file_type) { + +- if (i->append_or_force) { +- fd = safe_close(fd); ++ if (i->append_or_force) { + +- RUN_WITH_UMASK(0000) { +- mac_selinux_create_file_prepare(i->path, file_type); +- r = mknodat_atomic(dfd, bn, i->mode | file_type, i->major_minor); +- mac_selinux_create_file_clear(); +- } +- if (ERRNO_IS_PRIVILEGE(r)) +- goto handle_privilege; +- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { +- r = rm_rf_child(dfd, bn, REMOVE_PHYSICAL); +- if (r < 0) +- return log_error_errno(r, "rm -rf %s failed: %m", i->path); ++ RUN_WITH_UMASK(0000) { ++ mac_selinux_create_file_prepare(i->path, file_type); ++ /* FIXME: need to introduce mknodat_atomic() */ ++ r = mknod_atomic(i->path, i->mode | file_type, i->major_minor); ++ mac_selinux_create_file_clear(); ++ } + +- mac_selinux_create_file_prepare(i->path, file_type); +- r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); +- mac_selinux_create_file_clear(); ++ if (r < 0) ++ return log_error_errno(r, "Failed to create device node \"%s\": %m", i->path); ++ creation = CREATION_FORCE; ++ } else { ++ log_warning("\"%s\" already exists is not a device node.", i->path); ++ return 0; + } +- if (r < 0) +- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); +- +- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) +- return log_error_errno(errno, "Failed to open device node we just created '%s': %m", i->path); +- +- /* Validate type before change ownership below */ +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); +- +- if (((st.st_mode ^ file_type) & S_IFMT) != 0) +- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "Device node we just created is not a device node, refusing."); +- +- creation = CREATION_FORCE; +- } else { +- log_warning("\"%s\" already exists and is not a device node.", i->path); +- return 0; +- } +- } ++ } else ++ creation = CREATION_EXISTING; ++ } else ++ creation = CREATION_NORMAL; + + log_debug("%s %s device node \"%s\" %u:%u.", + creation_mode_verb_to_string(creation), + i->type == CREATE_BLOCK_DEVICE ? "block" : "char", + i->path, major(i->mode), minor(i->mode)); + +- return fd_set_perms(i, fd, i->path, &st, creation); ++ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); + +-handle_privilege: +- log_debug_errno(r, +- "We lack permissions, possibly because of cgroup configuration; " +- "skipping creation of device node '%s'.", i->path); +- return 0; ++ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); + } + +-static int create_fifo(Item *i) { ++static int create_fifo(Item *i, const char *path) { + _cleanup_close_ int pfd = -1, fd = -1; + _cleanup_free_ char *bn = NULL; + CreationMode creation; + struct stat st; + int r; + +- assert(i); +- assert(i->type == CREATE_FIFO); +- + r = path_extract_filename(i->path, &bn); + if (r < 0) +- return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); ++ return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); + if (r == O_DIRECTORY) +- return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); ++ return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", path); + +- pfd = path_open_parent_safe(i->path); ++ pfd = path_open_parent_safe(path); + if (pfd < 0) + return pfd; + + RUN_WITH_UMASK(0000) { +- mac_selinux_create_file_prepare(i->path, S_IFIFO); ++ mac_selinux_create_file_prepare(path, S_IFIFO); + r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); + mac_selinux_create_file_clear(); + } + +- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; +- +- /* Open the inode via O_PATH, regardless if we managed to create it or not. Maybe it is is already the FIFO we want */ +- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) { +- if (r < 0) +- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); /* original error! */ +- +- return log_error_errno(errno, "Failed to open FIFO we just created %s: %m", i->path); +- } ++ if (r < 0) { ++ if (r != -EEXIST) ++ return log_error_errno(r, "Failed to create fifo %s: %m", path); + +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ if (fstatat(pfd, bn, &st, AT_SYMLINK_NOFOLLOW) < 0) ++ return log_error_errno(errno, "stat(%s) failed: %m", path); + +- if (!S_ISFIFO(st.st_mode)) { ++ if (!S_ISFIFO(st.st_mode)) { + +- if (i->append_or_force) { +- fd = safe_close(fd); ++ if (i->append_or_force) { ++ RUN_WITH_UMASK(0000) { ++ mac_selinux_create_file_prepare(path, S_IFIFO); ++ r = mkfifoat_atomic(pfd, bn, i->mode); ++ mac_selinux_create_file_clear(); ++ } + +- RUN_WITH_UMASK(0000) { +- mac_selinux_create_file_prepare(i->path, S_IFIFO); +- r = mkfifoat_atomic(pfd, bn, i->mode); +- mac_selinux_create_file_clear(); +- } +- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { +- r = rm_rf_child(pfd, bn, REMOVE_PHYSICAL); + if (r < 0) +- return log_error_errno(r, "rm -rf %s failed: %m", i->path); +- +- mac_selinux_create_file_prepare(i->path, S_IFIFO); +- r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); +- mac_selinux_create_file_clear(); ++ return log_error_errno(r, "Failed to create fifo %s: %m", path); ++ creation = CREATION_FORCE; ++ } else { ++ log_warning("\"%s\" already exists and is not a fifo.", path); ++ return 0; + } +- if (r < 0) +- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); +- +- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); +- if (fd < 0) +- return log_error_errno(errno, "Failed to open FIFO we just created '%s': %m", i->path); +- +- /* Validate type before change ownership below */ +- if (fstat(fd, &st) < 0) +- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); ++ } else ++ creation = CREATION_EXISTING; ++ } else ++ creation = CREATION_NORMAL; + +- if (!S_ISFIFO(st.st_mode)) +- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "FIFO inode we just created is not a FIFO, refusing."); ++ log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), path); + +- creation = CREATION_FORCE; +- } else { +- log_warning("\"%s\" already exists and is not a FIFO.", i->path); +- return 0; +- } +- } +- +- log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), i->path); ++ fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); ++ if (fd < 0) ++ return log_error_errno(errno, "Failed to openat(%s): %m", path); + +- return fd_set_perms(i, fd, i->path, &st, creation); ++ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); + } + + static int create_symlink(Item *i) { +@@ -2482,7 +2435,7 @@ static int create_item(Item *i) { + if (r < 0) + return r; + +- r = create_fifo(i); ++ r = create_fifo(i, i->path); + if (r < 0) + return r; + break; +-- +2.35.3 + diff --git a/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch b/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch deleted file mode 100644 index 3217bafa..00000000 --- a/6000-meson-install-test-kernel-install-only-when-Dkernel-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c34a72017fe66998f7bd40b5e90d27accd69376c Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 15 Nov 2022 09:04:42 +0100 -Subject: [PATCH 6000/6000] meson: install test-kernel-install only when - -Dkernel-install=true - -This patch fixes the following build failure: - - meson.build:3853:8: ERROR: Unknown variable "test_kernel_install_sh". ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 00daeac1b6..0fd0129820 100644 ---- a/meson.build -+++ b/meson.build -@@ -3968,7 +3968,7 @@ exe = custom_target( - install_dir : bindir) - public_programs += exe - --if want_tests != 'false' -+if want_tests != 'false' and want_kernel_install - test('test-kernel-install', - test_kernel_install_sh, - args : [exe.full_path(), loaderentry_install]) --- -2.35.3 - diff --git a/systemd-v252.1+suse.21.g64dc546913.tar.xz b/systemd-v252.1+suse.21.g64dc546913.tar.xz deleted file mode 100644 index 53405b75..00000000 --- a/systemd-v252.1+suse.21.g64dc546913.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61e92987f1ac3c83d3b3be029497159b683c84869e259d904d0422c4691432e9 -size 8034368 diff --git a/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz b/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz new file mode 100644 index 00000000..b2fb19b4 --- /dev/null +++ b/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f361fb4824b21acec02b87b4c209b1a5ad864dff7753baf575ee358d12022d43 +size 8035180 diff --git a/systemd.changes b/systemd.changes index f6fbb553..4f36b706 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Nov 22 13:52:07 UTC 2022 - Franck Bui + +- Import commit 3bd3e4e6c1efe0d6df776107efde47e15e58fe96 + + d28e81d65c test: fix the default timeout values described in README.testsuite + d921c83f53 meson: install test-kernel-install only when -Dkernel-install=true + c3b6c4b584 tests: update install_suse_systemd() + 3c77335b19 tests: install dmi-sysfs module on openSUSE + df632130cd tests: install systemd-resolved on openSUSE + +- Add 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch until + upstream issue #25468 is fixed. + +- Drop 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch, the + patch has been merged in the SUSE git repo. + ------------------------------------------------------------------- Fri Nov 18 08:07:33 UTC 2022 - Franck Bui @@ -11,6 +28,10 @@ Mon Nov 14 11:15:06 UTC 2022 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v252/NEWS for details. + This includes the following bug fixes: + + - upstream commit 67c3e1f63a5221b47a8fea85ae421671f29f3b7e (bsc#1200723) + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch diff --git a/systemd.spec b/systemd.spec index e44bd068..909d0ecd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.21.g64dc546913 +%define archive_version +suse.27.g3bd3e4e6c1 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -216,7 +216,7 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch6000: 6000-meson-install-test-kernel-install-only-when-Dkernel-.patch +Patch6000: 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 5f2746d0b40af0cdfa53d0d66cd4e2609b822bef895e78bbe1fdc861098cc53f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 28 Nov 2022 08:47:58 +0000 Subject: [PATCH 776/991] - Import commit e7e931b07edd786dc6ca1dae6c23ff7b785f8efd (merge of v252.2) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/64dc546913525e33e734500055a62ed0e963c227...e7e931b07edd786dc6ca1dae6c23ff7b785f8efd - Rebase 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1331 --- ...whenever-creating-an-inode-immediate.patch | 45 ++++++++++--------- systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz | 3 -- systemd-v252.2+suse.29.ge7e931b07e.tar.xz | 3 ++ systemd.changes | 10 +++++ systemd.spec | 4 +- 5 files changed, 40 insertions(+), 25 deletions(-) delete mode 100644 systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz create mode 100644 systemd-v252.2+suse.29.ge7e931b07e.tar.xz diff --git a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch index 209ed181..cdc9200e 100644 --- a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch +++ b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch @@ -1,4 +1,4 @@ -From 9420aaad2680981323b0786c479b14891444f5cb Mon Sep 17 00:00:00 2001 +From 3aabdad41fecf8004a1e0e4ca4bfc7b2f935404c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Nov 2022 14:45:56 +0100 Subject: [PATCH 6000/6000] Revert "tmpfiles: whenever creating an inode, @@ -10,7 +10,7 @@ This reverts commit 8f6fb95cd069884f4ce0a24eb20efc821ae3bc5e. 1 file changed, 118 insertions(+), 165 deletions(-) diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 784b895577..2c44856c3a 100644 +index 18bb75715b..9c2740f6ce 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -31,7 +31,6 @@ @@ -21,7 +21,7 @@ index 784b895577..2c44856c3a 100644 #include "escape.h" #include "fd-util.h" #include "fileio.h" -@@ -1515,9 +1514,11 @@ static int create_file(Item *i, const char *path) { +@@ -1527,9 +1526,11 @@ static int create_file(Item *i, const char *path) { st = &stbuf; creation = CREATION_EXISTING; } else { @@ -36,7 +36,7 @@ index 784b895577..2c44856c3a 100644 creation = CREATION_NORMAL; } -@@ -1617,7 +1618,6 @@ static int truncate_file(Item *i, const char *path) { +@@ -1629,7 +1630,6 @@ static int truncate_file(Item *i, const char *path) { static int copy_files(Item *i) { _cleanup_close_ int dfd = -1, fd = -1; _cleanup_free_ char *bn = NULL; @@ -44,7 +44,7 @@ index 784b895577..2c44856c3a 100644 int r; log_debug("Copying tree \"%s\" to \"%s\".", i->argument, i->path); -@@ -1637,40 +1637,46 @@ static int copy_files(Item *i) { +@@ -1649,27 +1649,35 @@ static int copy_files(Item *i) { i->uid_set ? i->uid : UID_INVALID, i->gid_set ? i->gid : GID_INVALID, COPY_REFLINK | COPY_MERGE_EMPTY | COPY_MAC_CREATE | COPY_HARDLINKS); @@ -94,9 +94,10 @@ index 784b895577..2c44856c3a 100644 } static int create_directory_or_subvolume( - const char *path, +@@ -1677,13 +1685,11 @@ static int create_directory_or_subvolume( mode_t mode, bool subvol, + bool allow_failure, - struct stat *ret_st, CreationMode *ret_creation) { @@ -108,7 +109,7 @@ index 784b895577..2c44856c3a 100644 int r, fd; assert(path); -@@ -1690,7 +1696,7 @@ static int create_directory_or_subvolume( +@@ -1703,7 +1709,7 @@ static int create_directory_or_subvolume( log_warning_errno(r, "Cannot parse value of $SYSTEMD_TMPFILES_FORCE_SUBVOL, ignoring."); r = btrfs_is_subvol(empty_to_root(arg_root)) > 0; } @@ -117,7 +118,7 @@ index 784b895577..2c44856c3a 100644 /* Don't create a subvolume unless the root directory is one, too. We do this under * the assumption that if the root directory is just a plain directory (i.e. very * light-weight), we shouldn't try to split it up into subvolumes (i.e. more -@@ -1706,36 +1712,37 @@ static int create_directory_or_subvolume( +@@ -1719,40 +1725,41 @@ static int create_directory_or_subvolume( } else r = 0; @@ -139,7 +140,11 @@ index 784b895577..2c44856c3a 100644 - /* Then look at the original error */ - if (r < 0) + if (!IN_SET(r, -EEXIST, -EROFS)) - return log_error_errno(r, "Failed to create directory or subvolume \"%s\": %m", path); + return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, + r, + "Failed to create directory or subvolume \"%s\"%s: %m", + path, + allow_failure ? ", ignoring" : ""); - return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); - } @@ -174,7 +179,7 @@ index 784b895577..2c44856c3a 100644 return fd; } -@@ -1743,30 +1750,28 @@ static int create_directory_or_subvolume( +@@ -1760,30 +1767,28 @@ static int create_directory_or_subvolume( static int create_directory(Item *i, const char *path) { _cleanup_close_ int fd = -1; CreationMode creation; @@ -183,8 +188,8 @@ index 784b895577..2c44856c3a 100644 assert(i); assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); -- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &creation); +- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &creation); if (fd == -EEXIST) return 0; if (fd < 0) @@ -203,12 +208,12 @@ index 784b895577..2c44856c3a 100644 assert(i); assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); -- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &creation); +- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &creation); if (fd == -EEXIST) return 0; if (fd < 0) -@@ -1789,7 +1794,7 @@ static int create_subvolume(Item *i, const char *path) { +@@ -1806,7 +1811,7 @@ static int create_subvolume(Item *i, const char *path) { log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); } @@ -217,7 +222,7 @@ index 784b895577..2c44856c3a 100644 if (q < 0) /* prefer the quota change error from above */ return q; -@@ -1830,11 +1835,9 @@ static int create_device(Item *i, mode_t file_type) { +@@ -1847,11 +1852,9 @@ static int create_device(Item *i, mode_t file_type) { _cleanup_close_ int dfd = -1, fd = -1; _cleanup_free_ char *bn = NULL; CreationMode creation; @@ -229,7 +234,7 @@ index 784b895577..2c44856c3a 100644 assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); r = path_extract_filename(i->path, &bn); -@@ -1854,166 +1857,116 @@ static int create_device(Item *i, mode_t file_type) { +@@ -1871,166 +1874,116 @@ static int create_device(Item *i, mode_t file_type) { r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); mac_selinux_create_file_clear(); } @@ -362,8 +367,8 @@ index 784b895577..2c44856c3a 100644 - return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); + return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", path); -- pfd = path_open_parent_safe(i->path); -+ pfd = path_open_parent_safe(path); +- pfd = path_open_parent_safe(i->path, i->allow_failure); ++ pfd = path_open_parent_safe(path, i->allow_failure); if (pfd < 0) return pfd; @@ -460,7 +465,7 @@ index 784b895577..2c44856c3a 100644 } static int create_symlink(Item *i) { -@@ -2482,7 +2435,7 @@ static int create_item(Item *i) { +@@ -2499,7 +2452,7 @@ static int create_item(Item *i) { if (r < 0) return r; diff --git a/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz b/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz deleted file mode 100644 index b2fb19b4..00000000 --- a/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f361fb4824b21acec02b87b4c209b1a5ad864dff7753baf575ee358d12022d43 -size 8035180 diff --git a/systemd-v252.2+suse.29.ge7e931b07e.tar.xz b/systemd-v252.2+suse.29.ge7e931b07e.tar.xz new file mode 100644 index 00000000..e67235d2 --- /dev/null +++ b/systemd-v252.2+suse.29.ge7e931b07e.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:981382ec6df9b609d8ecd5cb7e570064567840e1f618c205df9d0fc67d803dca +size 8035936 diff --git a/systemd.changes b/systemd.changes index 4f36b706..02b7de36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Nov 25 16:37:18 UTC 2022 - Franck Bui + +- Import commit e7e931b07edd786dc6ca1dae6c23ff7b785f8efd (merge of v252.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/64dc546913525e33e734500055a62ed0e963c227...e7e931b07edd786dc6ca1dae6c23ff7b785f8efd + +- Rebase 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch + ------------------------------------------------------------------- Tue Nov 22 13:52:07 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 909d0ecd..a6fc152c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.27.g3bd3e4e6c1 +%define archive_version +suse.29.ge7e931b07e %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.1 +Version: 252.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 52490fab54df7612f5c25157970d4be3342a0bacf1e89019882b40f80508e97f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 29 Nov 2022 09:52:27 +0000 Subject: [PATCH 777/991] Accepting request 1038709 from Base:System - Import commit e7e931b07edd786dc6ca1dae6c23ff7b785f8efd (merge of v252.2) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/64dc546913525e33e734500055a62ed0e963c227...e7e931b07edd786dc6ca1dae6c23ff7b785f8efd - Rebase 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch OBS-URL: https://build.opensuse.org/request/show/1038709 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=372 --- ...whenever-creating-an-inode-immediate.patch | 45 ++++++++++--------- systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz | 3 -- systemd-v252.2+suse.29.ge7e931b07e.tar.xz | 3 ++ systemd.changes | 10 +++++ systemd.spec | 4 +- 5 files changed, 40 insertions(+), 25 deletions(-) delete mode 100644 systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz create mode 100644 systemd-v252.2+suse.29.ge7e931b07e.tar.xz diff --git a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch index 209ed181..cdc9200e 100644 --- a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch +++ b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch @@ -1,4 +1,4 @@ -From 9420aaad2680981323b0786c479b14891444f5cb Mon Sep 17 00:00:00 2001 +From 3aabdad41fecf8004a1e0e4ca4bfc7b2f935404c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Nov 2022 14:45:56 +0100 Subject: [PATCH 6000/6000] Revert "tmpfiles: whenever creating an inode, @@ -10,7 +10,7 @@ This reverts commit 8f6fb95cd069884f4ce0a24eb20efc821ae3bc5e. 1 file changed, 118 insertions(+), 165 deletions(-) diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 784b895577..2c44856c3a 100644 +index 18bb75715b..9c2740f6ce 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -31,7 +31,6 @@ @@ -21,7 +21,7 @@ index 784b895577..2c44856c3a 100644 #include "escape.h" #include "fd-util.h" #include "fileio.h" -@@ -1515,9 +1514,11 @@ static int create_file(Item *i, const char *path) { +@@ -1527,9 +1526,11 @@ static int create_file(Item *i, const char *path) { st = &stbuf; creation = CREATION_EXISTING; } else { @@ -36,7 +36,7 @@ index 784b895577..2c44856c3a 100644 creation = CREATION_NORMAL; } -@@ -1617,7 +1618,6 @@ static int truncate_file(Item *i, const char *path) { +@@ -1629,7 +1630,6 @@ static int truncate_file(Item *i, const char *path) { static int copy_files(Item *i) { _cleanup_close_ int dfd = -1, fd = -1; _cleanup_free_ char *bn = NULL; @@ -44,7 +44,7 @@ index 784b895577..2c44856c3a 100644 int r; log_debug("Copying tree \"%s\" to \"%s\".", i->argument, i->path); -@@ -1637,40 +1637,46 @@ static int copy_files(Item *i) { +@@ -1649,27 +1649,35 @@ static int copy_files(Item *i) { i->uid_set ? i->uid : UID_INVALID, i->gid_set ? i->gid : GID_INVALID, COPY_REFLINK | COPY_MERGE_EMPTY | COPY_MAC_CREATE | COPY_HARDLINKS); @@ -94,9 +94,10 @@ index 784b895577..2c44856c3a 100644 } static int create_directory_or_subvolume( - const char *path, +@@ -1677,13 +1685,11 @@ static int create_directory_or_subvolume( mode_t mode, bool subvol, + bool allow_failure, - struct stat *ret_st, CreationMode *ret_creation) { @@ -108,7 +109,7 @@ index 784b895577..2c44856c3a 100644 int r, fd; assert(path); -@@ -1690,7 +1696,7 @@ static int create_directory_or_subvolume( +@@ -1703,7 +1709,7 @@ static int create_directory_or_subvolume( log_warning_errno(r, "Cannot parse value of $SYSTEMD_TMPFILES_FORCE_SUBVOL, ignoring."); r = btrfs_is_subvol(empty_to_root(arg_root)) > 0; } @@ -117,7 +118,7 @@ index 784b895577..2c44856c3a 100644 /* Don't create a subvolume unless the root directory is one, too. We do this under * the assumption that if the root directory is just a plain directory (i.e. very * light-weight), we shouldn't try to split it up into subvolumes (i.e. more -@@ -1706,36 +1712,37 @@ static int create_directory_or_subvolume( +@@ -1719,40 +1725,41 @@ static int create_directory_or_subvolume( } else r = 0; @@ -139,7 +140,11 @@ index 784b895577..2c44856c3a 100644 - /* Then look at the original error */ - if (r < 0) + if (!IN_SET(r, -EEXIST, -EROFS)) - return log_error_errno(r, "Failed to create directory or subvolume \"%s\": %m", path); + return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, + r, + "Failed to create directory or subvolume \"%s\"%s: %m", + path, + allow_failure ? ", ignoring" : ""); - return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); - } @@ -174,7 +179,7 @@ index 784b895577..2c44856c3a 100644 return fd; } -@@ -1743,30 +1750,28 @@ static int create_directory_or_subvolume( +@@ -1760,30 +1767,28 @@ static int create_directory_or_subvolume( static int create_directory(Item *i, const char *path) { _cleanup_close_ int fd = -1; CreationMode creation; @@ -183,8 +188,8 @@ index 784b895577..2c44856c3a 100644 assert(i); assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); -- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, &creation); +- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &creation); if (fd == -EEXIST) return 0; if (fd < 0) @@ -203,12 +208,12 @@ index 784b895577..2c44856c3a 100644 assert(i); assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); -- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, &creation); +- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &st, &creation); ++ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &creation); if (fd == -EEXIST) return 0; if (fd < 0) -@@ -1789,7 +1794,7 @@ static int create_subvolume(Item *i, const char *path) { +@@ -1806,7 +1811,7 @@ static int create_subvolume(Item *i, const char *path) { log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); } @@ -217,7 +222,7 @@ index 784b895577..2c44856c3a 100644 if (q < 0) /* prefer the quota change error from above */ return q; -@@ -1830,11 +1835,9 @@ static int create_device(Item *i, mode_t file_type) { +@@ -1847,11 +1852,9 @@ static int create_device(Item *i, mode_t file_type) { _cleanup_close_ int dfd = -1, fd = -1; _cleanup_free_ char *bn = NULL; CreationMode creation; @@ -229,7 +234,7 @@ index 784b895577..2c44856c3a 100644 assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); r = path_extract_filename(i->path, &bn); -@@ -1854,166 +1857,116 @@ static int create_device(Item *i, mode_t file_type) { +@@ -1871,166 +1874,116 @@ static int create_device(Item *i, mode_t file_type) { r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); mac_selinux_create_file_clear(); } @@ -362,8 +367,8 @@ index 784b895577..2c44856c3a 100644 - return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); + return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", path); -- pfd = path_open_parent_safe(i->path); -+ pfd = path_open_parent_safe(path); +- pfd = path_open_parent_safe(i->path, i->allow_failure); ++ pfd = path_open_parent_safe(path, i->allow_failure); if (pfd < 0) return pfd; @@ -460,7 +465,7 @@ index 784b895577..2c44856c3a 100644 } static int create_symlink(Item *i) { -@@ -2482,7 +2435,7 @@ static int create_item(Item *i) { +@@ -2499,7 +2452,7 @@ static int create_item(Item *i) { if (r < 0) return r; diff --git a/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz b/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz deleted file mode 100644 index b2fb19b4..00000000 --- a/systemd-v252.1+suse.27.g3bd3e4e6c1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f361fb4824b21acec02b87b4c209b1a5ad864dff7753baf575ee358d12022d43 -size 8035180 diff --git a/systemd-v252.2+suse.29.ge7e931b07e.tar.xz b/systemd-v252.2+suse.29.ge7e931b07e.tar.xz new file mode 100644 index 00000000..e67235d2 --- /dev/null +++ b/systemd-v252.2+suse.29.ge7e931b07e.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:981382ec6df9b609d8ecd5cb7e570064567840e1f618c205df9d0fc67d803dca +size 8035936 diff --git a/systemd.changes b/systemd.changes index 4f36b706..02b7de36 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Nov 25 16:37:18 UTC 2022 - Franck Bui + +- Import commit e7e931b07edd786dc6ca1dae6c23ff7b785f8efd (merge of v252.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/64dc546913525e33e734500055a62ed0e963c227...e7e931b07edd786dc6ca1dae6c23ff7b785f8efd + +- Rebase 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch + ------------------------------------------------------------------- Tue Nov 22 13:52:07 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 909d0ecd..a6fc152c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.27.g3bd3e4e6c1 +%define archive_version +suse.29.ge7e931b07e %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.1 +Version: 252.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 593c7fc59d2b55c5dd3ba2496e6f0792f9270dd6c546f24992b819535998b8ee Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 2 Dec 2022 14:11:46 +0000 Subject: [PATCH 778/991] - Don't ship symlink /usr/lib/environment.d/99-environment.conf anymore. /etc/environment is owned and parsed (among other config files) by pam_env(8), which is included by 'systemd-user' PAM service anyway. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1332 --- files.systemd | 1 - systemd.changes | 7 +++++++ systemd.spec | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/files.systemd b/files.systemd index e4b0d920..36178f84 100644 --- a/files.systemd +++ b/files.systemd @@ -209,7 +209,6 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog %{_journalcatalogdir}/systemd.bg.catalog diff --git a/systemd.changes b/systemd.changes index 02b7de36..c29812f8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Dec 2 14:06:08 UTC 2022 - Franck Bui + +- Don't ship symlink /usr/lib/environment.d/99-environment.conf + anymore. /etc/environment is owned and parsed (among other config files) by + pam_env(8), which is included by 'systemd-user' PAM service anyway. + ------------------------------------------------------------------- Fri Nov 25 16:37:18 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a6fc152c..ca60b72b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -823,6 +823,11 @@ ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf # SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf +# systemd-user PAM module relies on pam_env(8) to import the environment defined +# in /etc/environment (which is part of the environment configuration files of +# pam_env(8) anyways). +rm -f %{buildroot}%{_environmentdir}/99-environment.conf + # Remove README file in init.d as (SUSE) rpm requires executable files in this # directory... oh well. rm -f %{buildroot}/etc/init.d/README From 6b65722cc18ba797a85482108ec08e99bb7a8f1a839e6f7e0d738706cdce5cdf Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 6 Dec 2022 13:22:42 +0000 Subject: [PATCH 779/991] Accepting request 1040361 from Base:System - Don't ship symlink /usr/lib/environment.d/99-environment.conf anymore. /etc/environment is owned and parsed (among other config files) by pam_env(8), which is included by 'systemd-user' PAM service anyway. OBS-URL: https://build.opensuse.org/request/show/1040361 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=373 --- files.systemd | 1 - systemd.changes | 7 +++++++ systemd.spec | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/files.systemd b/files.systemd index e4b0d920..36178f84 100644 --- a/files.systemd +++ b/files.systemd @@ -209,7 +209,6 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{_environmentdir}/99-environment.conf %{_journalcatalogdir}/systemd.be.catalog %{_journalcatalogdir}/systemd.be@latin.catalog %{_journalcatalogdir}/systemd.bg.catalog diff --git a/systemd.changes b/systemd.changes index 02b7de36..c29812f8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Dec 2 14:06:08 UTC 2022 - Franck Bui + +- Don't ship symlink /usr/lib/environment.d/99-environment.conf + anymore. /etc/environment is owned and parsed (among other config files) by + pam_env(8), which is included by 'systemd-user' PAM service anyway. + ------------------------------------------------------------------- Fri Nov 25 16:37:18 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a6fc152c..ca60b72b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -823,6 +823,11 @@ ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf # SUSE (bsc#1006978). rm -f %{buildroot}%{_sysusersdir}/basic.conf +# systemd-user PAM module relies on pam_env(8) to import the environment defined +# in /etc/environment (which is part of the environment configuration files of +# pam_env(8) anyways). +rm -f %{buildroot}%{_environmentdir}/99-environment.conf + # Remove README file in init.d as (SUSE) rpm requires executable files in this # directory... oh well. rm -f %{buildroot}/etc/init.d/README From 53e91c8dcd718980a39a1a0b0f0e55f98c43489a872b88ef847b3d887e1976d2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Dec 2022 08:02:50 +0000 Subject: [PATCH 780/991] - Import commit 82898a14f5b0a965ba9c1efc1913fcdf29d446a8 (merge of v252.3) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e7e931b07edd786dc6ca1dae6c23ff7b785f8efd...82898a14f5b0a965ba9c1efc1913fcdf29d446a8 Additionally, it also includes the following backports: - 17b2f9f196 utmp-wtmp: fix error in case isatty() fails - 8d5c487c87 sd-bus: handle -EINTR return from bus_poll() (bsc#1201982) - 2dd217c8b5 tree-wide: modernizations with RET_NERRNO() OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1333 --- systemd-v252.2+suse.29.ge7e931b07e.tar.xz | 3 --- systemd-v252.3+suse.35.g82898a14f5.tar.xz | 3 +++ systemd.changes | 14 ++++++++++++++ systemd.spec | 4 ++-- 4 files changed, 19 insertions(+), 5 deletions(-) delete mode 100644 systemd-v252.2+suse.29.ge7e931b07e.tar.xz create mode 100644 systemd-v252.3+suse.35.g82898a14f5.tar.xz diff --git a/systemd-v252.2+suse.29.ge7e931b07e.tar.xz b/systemd-v252.2+suse.29.ge7e931b07e.tar.xz deleted file mode 100644 index e67235d2..00000000 --- a/systemd-v252.2+suse.29.ge7e931b07e.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:981382ec6df9b609d8ecd5cb7e570064567840e1f618c205df9d0fc67d803dca -size 8035936 diff --git a/systemd-v252.3+suse.35.g82898a14f5.tar.xz b/systemd-v252.3+suse.35.g82898a14f5.tar.xz new file mode 100644 index 00000000..908992ee --- /dev/null +++ b/systemd-v252.3+suse.35.g82898a14f5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f28cbc4f37c8a9fb7e5adbae8b8f6112fa405f69a33f6523ab017eb7895a09e9 +size 8041076 diff --git a/systemd.changes b/systemd.changes index c29812f8..36a93d94 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri Dec 9 07:41:04 UTC 2022 - Franck Bui + +- Import commit 82898a14f5b0a965ba9c1efc1913fcdf29d446a8 (merge of v252.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e7e931b07edd786dc6ca1dae6c23ff7b785f8efd...82898a14f5b0a965ba9c1efc1913fcdf29d446a8 + + Additionally, it also includes the following backports: + + - 17b2f9f196 utmp-wtmp: fix error in case isatty() fails + - 8d5c487c87 sd-bus: handle -EINTR return from bus_poll() (bsc#1201982) + - 2dd217c8b5 tree-wide: modernizations with RET_NERRNO() + ------------------------------------------------------------------- Fri Dec 2 14:06:08 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ca60b72b..855d8d17 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.29.ge7e931b07e +%define archive_version +suse.35.g82898a14f5 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.2 +Version: 252.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 409caf911b3ec81446d87028906ae0b7273cb1c55a9addab2d1923ccbdc9de52 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Dec 2022 08:42:43 +0000 Subject: [PATCH 781/991] - Import commit bf3fef99886bd977a1c7a51d20087bc8977fff44 6372fb0cc4 btrfs-util: convert O_PATH if necessary, in btrfs quota call (bsc#1205560) 12e68eb0e5 blockdev-util: move O_PATH fd conversion into btrfs_get_block_device_fd() to shorten things bb2bafdc9d btrfs-util: convert to fd_reopen_condition() 1323232948 fd-util: add new helper fd_reopen_conditional() - Drop 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch It's no more needed as a fix for bsc#1205560 has been queued, see above. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1334 --- ...whenever-creating-an-inode-immediate.patch | 479 ------------------ systemd-v252.3+suse.35.g82898a14f5.tar.xz | 3 - systemd-v252.3+suse.40.gbf3fef9988.tar.xz | 3 + systemd.changes | 14 + systemd.spec | 3 +- 5 files changed, 18 insertions(+), 484 deletions(-) delete mode 100644 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch delete mode 100644 systemd-v252.3+suse.35.g82898a14f5.tar.xz create mode 100644 systemd-v252.3+suse.40.gbf3fef9988.tar.xz diff --git a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch deleted file mode 100644 index cdc9200e..00000000 --- a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch +++ /dev/null @@ -1,479 +0,0 @@ -From 3aabdad41fecf8004a1e0e4ca4bfc7b2f935404c Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 22 Nov 2022 14:45:56 +0100 -Subject: [PATCH 6000/6000] Revert "tmpfiles: whenever creating an inode, - immediately O_PATH open it to pin it" - -This reverts commit 8f6fb95cd069884f4ce0a24eb20efc821ae3bc5e. ---- - src/tmpfiles/tmpfiles.c | 283 +++++++++++++++++----------------------- - 1 file changed, 118 insertions(+), 165 deletions(-) - -diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 18bb75715b..9c2740f6ce 100644 ---- a/src/tmpfiles/tmpfiles.c -+++ b/src/tmpfiles/tmpfiles.c -@@ -31,7 +31,6 @@ - #include "dirent-util.h" - #include "dissect-image.h" - #include "env-util.h" --#include "errno-util.h" - #include "escape.h" - #include "fd-util.h" - #include "fileio.h" -@@ -1527,9 +1526,11 @@ static int create_file(Item *i, const char *path) { - st = &stbuf; - creation = CREATION_EXISTING; - } else { -- r = write_argument_data(i, fd, path); -- if (r < 0) -- return r; -+ if (item_binary_argument(i)) { -+ r = write_argument_data(i, fd, path); -+ if (r < 0) -+ return r; -+ } - - creation = CREATION_NORMAL; - } -@@ -1629,7 +1630,6 @@ static int truncate_file(Item *i, const char *path) { - static int copy_files(Item *i) { - _cleanup_close_ int dfd = -1, fd = -1; - _cleanup_free_ char *bn = NULL; -- struct stat st, a; - int r; - - log_debug("Copying tree \"%s\" to \"%s\".", i->argument, i->path); -@@ -1649,27 +1649,35 @@ static int copy_files(Item *i) { - i->uid_set ? i->uid : UID_INVALID, - i->gid_set ? i->gid : GID_INVALID, - COPY_REFLINK | COPY_MERGE_EMPTY | COPY_MAC_CREATE | COPY_HARDLINKS); -+ if (r < 0) { -+ struct stat a, b; - -- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) { -- if (r < 0) /* Look at original error first */ -- return log_error_errno(r, "Failed to copy files to %s: %m", i->path); -+ /* If the target already exists on read-only filesystems, trying -+ * to create the target will not fail with EEXIST but with -+ * EROFS. */ -+ if (r == -EROFS && faccessat(dfd, bn, F_OK, AT_SYMLINK_NOFOLLOW) == 0) -+ r = -EEXIST; - -- return log_error_errno(errno, "Failed to openat(%s): %m", i->path); -- } -+ if (r != -EEXIST) -+ return log_error_errno(r, "Failed to copy files to %s: %m", i->path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ if (stat(i->argument, &a) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", i->argument); - -- if (stat(i->argument, &a) < 0) -- return log_error_errno(errno, "Failed to stat(%s): %m", i->argument); -+ if (fstatat(dfd, bn, &b, AT_SYMLINK_NOFOLLOW) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", i->path); - -- if (((st.st_mode ^ a.st_mode) & S_IFMT) != 0) { -- log_debug("Can't copy to %s, file exists already and is of different type", i->path); -- return 0; -+ if ((a.st_mode ^ b.st_mode) & S_IFMT) { -+ log_debug("Can't copy to %s, file exists already and is of different type", i->path); -+ return 0; -+ } - } - -- return fd_set_perms(i, fd, i->path, &st, _CREATION_MODE_INVALID); -+ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); -+ -+ return fd_set_perms(i, fd, i->path, /* st = */ NULL, _CREATION_MODE_INVALID); - } - - static int create_directory_or_subvolume( -@@ -1677,13 +1685,11 @@ static int create_directory_or_subvolume( - mode_t mode, - bool subvol, - bool allow_failure, -- struct stat *ret_st, - CreationMode *ret_creation) { - - _cleanup_free_ char *bn = NULL; - _cleanup_close_ int pfd = -1; -- CreationMode creation; -- struct stat st; -+ CreationMode c; - int r, fd; - - assert(path); -@@ -1703,7 +1709,7 @@ static int create_directory_or_subvolume( - log_warning_errno(r, "Cannot parse value of $SYSTEMD_TMPFILES_FORCE_SUBVOL, ignoring."); - r = btrfs_is_subvol(empty_to_root(arg_root)) > 0; - } -- if (r == 0) -+ if (!r) - /* Don't create a subvolume unless the root directory is one, too. We do this under - * the assumption that if the root directory is just a plain directory (i.e. very - * light-weight), we shouldn't try to split it up into subvolumes (i.e. more -@@ -1719,40 +1725,41 @@ static int create_directory_or_subvolume( - } else - r = 0; - -- if (!subvol || ERRNO_IS_NOT_SUPPORTED(r)) -+ if (!subvol || r == -ENOTTY) - RUN_WITH_UMASK(0000) - r = mkdirat_label(pfd, bn, mode); - -- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; -- -- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY|O_PATH); -- if (fd < 0) { -- /* We couldn't open it because it is not actually a directory? */ -- if (errno == ENOTDIR) -- return log_error_errno(SYNTHETIC_ERRNO(EEXIST), "\"%s\" already exists and is not a directory.", path); -+ if (r < 0) { -+ int k; - -- /* Then look at the original error */ -- if (r < 0) -+ if (!IN_SET(r, -EEXIST, -EROFS)) - return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, - r, - "Failed to create directory or subvolume \"%s\"%s: %m", - path, - allow_failure ? ", ignoring" : ""); - -- return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); -- } -+ k = is_dir_full(pfd, bn, /* follow= */ false); -+ if (k == -ENOENT && r == -EROFS) -+ return log_error_errno(r, "%s does not exist and cannot be created as the file system is read-only.", path); -+ if (k < 0) -+ return log_error_errno(k, "Failed to check if %s exists: %m", path); -+ if (!k) -+ return log_warning_errno(SYNTHETIC_ERRNO(EEXIST), -+ "\"%s\" already exists and is not a directory.", path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", path); -+ c = CREATION_EXISTING; -+ } else -+ c = CREATION_NORMAL; - -- assert(S_ISDIR(st.st_mode)); /* we used O_DIRECTORY above */ -+ log_debug("%s directory \"%s\".", creation_mode_verb_to_string(c), path); - -- log_debug("%s directory \"%s\".", creation_mode_verb_to_string(creation), path); -+ fd = openat(pfd, bn, O_NOCTTY|O_CLOEXEC|O_DIRECTORY); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to open directory '%s': %m", bn); - -- if (ret_st) -- *ret_st = st; - if (ret_creation) -- *ret_creation = creation; -+ *ret_creation = c; - - return fd; - } -@@ -1760,30 +1767,28 @@ static int create_directory_or_subvolume( - static int create_directory(Item *i, const char *path) { - _cleanup_close_ int fd = -1; - CreationMode creation; -- struct stat st; - - assert(i); - assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); - -- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &creation); - if (fd == -EEXIST) - return 0; - if (fd < 0) - return fd; - -- return fd_set_perms(i, fd, path, &st, creation); -+ return fd_set_perms(i, fd, path, /* st= */ NULL, creation); - } - - static int create_subvolume(Item *i, const char *path) { - _cleanup_close_ int fd = -1; - CreationMode creation; -- struct stat st; - int r, q = 0; - - assert(i); - assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); - -- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &creation); - if (fd == -EEXIST) - return 0; - if (fd < 0) -@@ -1806,7 +1811,7 @@ static int create_subvolume(Item *i, const char *path) { - log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); - } - -- r = fd_set_perms(i, fd, path, &st, creation); -+ r = fd_set_perms(i, fd, path, /* st= */ NULL, creation); - if (q < 0) /* prefer the quota change error from above */ - return q; - -@@ -1847,11 +1852,9 @@ static int create_device(Item *i, mode_t file_type) { - _cleanup_close_ int dfd = -1, fd = -1; - _cleanup_free_ char *bn = NULL; - CreationMode creation; -- struct stat st; - int r; - - assert(i); -- assert(IN_SET(i->type, CREATE_BLOCK_DEVICE, CREATE_CHAR_DEVICE)); - assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); - - r = path_extract_filename(i->path, &bn); -@@ -1871,166 +1874,116 @@ static int create_device(Item *i, mode_t file_type) { - r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); - mac_selinux_create_file_clear(); - } -- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; -- -- /* Try to open the inode via O_PATH, regardless if we could create it or not. Maybe everything is in -- * order anyway and we hence can ignore the error to create the device node */ -- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) { -- /* OK, so opening the inode failed, let's look at the original error then. */ - -- if (r < 0) { -- if (ERRNO_IS_PRIVILEGE(r)) -- goto handle_privilege; -+ if (r < 0) { -+ struct stat st; - -- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); -+ if (r == -EPERM) { -+ log_debug_errno(r, -+ "We lack permissions, possibly because of cgroup configuration; " -+ "skipping creation of device node %s.", i->path); -+ return 0; - } - -- return log_error_errno(errno, "Failed to open device node '%s' we just created: %m", i->path); -- } -+ if (r != -EEXIST) -+ return log_error_errno(r, "Failed to create device node %s: %m", i->path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ if (fstatat(dfd, bn, &st, 0) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", i->path); - -- if (((st.st_mode ^ file_type) & S_IFMT) != 0) { -+ if ((st.st_mode & S_IFMT) != file_type) { - -- if (i->append_or_force) { -- fd = safe_close(fd); -+ if (i->append_or_force) { - -- RUN_WITH_UMASK(0000) { -- mac_selinux_create_file_prepare(i->path, file_type); -- r = mknodat_atomic(dfd, bn, i->mode | file_type, i->major_minor); -- mac_selinux_create_file_clear(); -- } -- if (ERRNO_IS_PRIVILEGE(r)) -- goto handle_privilege; -- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { -- r = rm_rf_child(dfd, bn, REMOVE_PHYSICAL); -- if (r < 0) -- return log_error_errno(r, "rm -rf %s failed: %m", i->path); -+ RUN_WITH_UMASK(0000) { -+ mac_selinux_create_file_prepare(i->path, file_type); -+ /* FIXME: need to introduce mknodat_atomic() */ -+ r = mknod_atomic(i->path, i->mode | file_type, i->major_minor); -+ mac_selinux_create_file_clear(); -+ } - -- mac_selinux_create_file_prepare(i->path, file_type); -- r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); -- mac_selinux_create_file_clear(); -+ if (r < 0) -+ return log_error_errno(r, "Failed to create device node \"%s\": %m", i->path); -+ creation = CREATION_FORCE; -+ } else { -+ log_warning("\"%s\" already exists is not a device node.", i->path); -+ return 0; - } -- if (r < 0) -- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); -- -- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) -- return log_error_errno(errno, "Failed to open device node we just created '%s': %m", i->path); -- -- /* Validate type before change ownership below */ -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -- -- if (((st.st_mode ^ file_type) & S_IFMT) != 0) -- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "Device node we just created is not a device node, refusing."); -- -- creation = CREATION_FORCE; -- } else { -- log_warning("\"%s\" already exists and is not a device node.", i->path); -- return 0; -- } -- } -+ } else -+ creation = CREATION_EXISTING; -+ } else -+ creation = CREATION_NORMAL; - - log_debug("%s %s device node \"%s\" %u:%u.", - creation_mode_verb_to_string(creation), - i->type == CREATE_BLOCK_DEVICE ? "block" : "char", - i->path, major(i->mode), minor(i->mode)); - -- return fd_set_perms(i, fd, i->path, &st, creation); -+ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); - --handle_privilege: -- log_debug_errno(r, -- "We lack permissions, possibly because of cgroup configuration; " -- "skipping creation of device node '%s'.", i->path); -- return 0; -+ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); - } - --static int create_fifo(Item *i) { -+static int create_fifo(Item *i, const char *path) { - _cleanup_close_ int pfd = -1, fd = -1; - _cleanup_free_ char *bn = NULL; - CreationMode creation; - struct stat st; - int r; - -- assert(i); -- assert(i->type == CREATE_FIFO); -- - r = path_extract_filename(i->path, &bn); - if (r < 0) -- return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); -+ return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); - if (r == O_DIRECTORY) -- return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); -+ return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", path); - -- pfd = path_open_parent_safe(i->path, i->allow_failure); -+ pfd = path_open_parent_safe(path, i->allow_failure); - if (pfd < 0) - return pfd; - - RUN_WITH_UMASK(0000) { -- mac_selinux_create_file_prepare(i->path, S_IFIFO); -+ mac_selinux_create_file_prepare(path, S_IFIFO); - r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); - mac_selinux_create_file_clear(); - } - -- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; -- -- /* Open the inode via O_PATH, regardless if we managed to create it or not. Maybe it is is already the FIFO we want */ -- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) { -- if (r < 0) -- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); /* original error! */ -- -- return log_error_errno(errno, "Failed to open FIFO we just created %s: %m", i->path); -- } -+ if (r < 0) { -+ if (r != -EEXIST) -+ return log_error_errno(r, "Failed to create fifo %s: %m", path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ if (fstatat(pfd, bn, &st, AT_SYMLINK_NOFOLLOW) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", path); - -- if (!S_ISFIFO(st.st_mode)) { -+ if (!S_ISFIFO(st.st_mode)) { - -- if (i->append_or_force) { -- fd = safe_close(fd); -+ if (i->append_or_force) { -+ RUN_WITH_UMASK(0000) { -+ mac_selinux_create_file_prepare(path, S_IFIFO); -+ r = mkfifoat_atomic(pfd, bn, i->mode); -+ mac_selinux_create_file_clear(); -+ } - -- RUN_WITH_UMASK(0000) { -- mac_selinux_create_file_prepare(i->path, S_IFIFO); -- r = mkfifoat_atomic(pfd, bn, i->mode); -- mac_selinux_create_file_clear(); -- } -- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { -- r = rm_rf_child(pfd, bn, REMOVE_PHYSICAL); - if (r < 0) -- return log_error_errno(r, "rm -rf %s failed: %m", i->path); -- -- mac_selinux_create_file_prepare(i->path, S_IFIFO); -- r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); -- mac_selinux_create_file_clear(); -+ return log_error_errno(r, "Failed to create fifo %s: %m", path); -+ creation = CREATION_FORCE; -+ } else { -+ log_warning("\"%s\" already exists and is not a fifo.", path); -+ return 0; - } -- if (r < 0) -- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); -- -- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) -- return log_error_errno(errno, "Failed to open FIFO we just created '%s': %m", i->path); -- -- /* Validate type before change ownership below */ -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ } else -+ creation = CREATION_EXISTING; -+ } else -+ creation = CREATION_NORMAL; - -- if (!S_ISFIFO(st.st_mode)) -- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "FIFO inode we just created is not a FIFO, refusing."); -+ log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), path); - -- creation = CREATION_FORCE; -- } else { -- log_warning("\"%s\" already exists and is not a FIFO.", i->path); -- return 0; -- } -- } -- -- log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), i->path); -+ fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to openat(%s): %m", path); - -- return fd_set_perms(i, fd, i->path, &st, creation); -+ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); - } - - static int create_symlink(Item *i) { -@@ -2499,7 +2452,7 @@ static int create_item(Item *i) { - if (r < 0) - return r; - -- r = create_fifo(i); -+ r = create_fifo(i, i->path); - if (r < 0) - return r; - break; --- -2.35.3 - diff --git a/systemd-v252.3+suse.35.g82898a14f5.tar.xz b/systemd-v252.3+suse.35.g82898a14f5.tar.xz deleted file mode 100644 index 908992ee..00000000 --- a/systemd-v252.3+suse.35.g82898a14f5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f28cbc4f37c8a9fb7e5adbae8b8f6112fa405f69a33f6523ab017eb7895a09e9 -size 8041076 diff --git a/systemd-v252.3+suse.40.gbf3fef9988.tar.xz b/systemd-v252.3+suse.40.gbf3fef9988.tar.xz new file mode 100644 index 00000000..a630a377 --- /dev/null +++ b/systemd-v252.3+suse.40.gbf3fef9988.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4274c52c308874f73756af1fe91d0cf35ab72112f6ba593399398eddd17cc0c4 +size 8040380 diff --git a/systemd.changes b/systemd.changes index 36a93d94..596e173a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri Dec 9 08:28:50 UTC 2022 - Franck Bui + +- Import commit bf3fef99886bd977a1c7a51d20087bc8977fff44 + + 6372fb0cc4 btrfs-util: convert O_PATH if necessary, in btrfs quota call (bsc#1205560) + 12e68eb0e5 blockdev-util: move O_PATH fd conversion into btrfs_get_block_device_fd() to shorten things + bb2bafdc9d btrfs-util: convert to fd_reopen_condition() + 1323232948 fd-util: add new helper fd_reopen_conditional() + +- Drop 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch + + It's no more needed as a fix for bsc#1205560 has been queued, see above. + ------------------------------------------------------------------- Fri Dec 9 07:41:04 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 855d8d17..ad7989d5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.35.g82898a14f5 +%define archive_version +suse.40.gbf3fef9988 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -216,7 +216,6 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch6000: 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch %description Systemd is a system and service manager, compatible with SysV and LSB From a8691e9d39d8164c06ff867d01d48ee156418a49d4b93cc1af8afbd1e91db216 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 9 Dec 2022 08:59:00 +0000 Subject: [PATCH 782/991] document that bsc#1204944 has been fixed during the merge of v252.3 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1335 --- systemd.changes | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/systemd.changes b/systemd.changes index 596e173a..c887dc75 100644 --- a/systemd.changes +++ b/systemd.changes @@ -17,6 +17,10 @@ Fri Dec 9 07:41:04 UTC 2022 - Franck Bui - Import commit 82898a14f5b0a965ba9c1efc1913fcdf29d446a8 (merge of v252.3) + It includes the following fixes: + + 9410eb20eb cryptsetup: retry TPM2 unseal operation if it fails with TPM2_RC_PCR_CHANGED (bsc#1204944) + For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e7e931b07edd786dc6ca1dae6c23ff7b785f8efd...82898a14f5b0a965ba9c1efc1913fcdf29d446a8 From 8f8565794534c8e0a5c471e5e250abbb12c9f122a066555f95dbd9f0ce9b3dba Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 10 Dec 2022 20:17:36 +0000 Subject: [PATCH 783/991] Accepting request 1041834 from Base:System - Import commit bf3fef99886bd977a1c7a51d20087bc8977fff44 6372fb0cc4 btrfs-util: convert O_PATH if necessary, in btrfs quota call (bsc#1205560) 12e68eb0e5 blockdev-util: move O_PATH fd conversion into btrfs_get_block_device_fd() to shorten things bb2bafdc9d btrfs-util: convert to fd_reopen_condition() 1323232948 fd-util: add new helper fd_reopen_conditional() - Drop 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch It's no more needed as a fix for bsc#1205560 has been queued, see above. - Import commit 82898a14f5b0a965ba9c1efc1913fcdf29d446a8 (merge of v252.3) It includes the following fixes: 9410eb20eb cryptsetup: retry TPM2 unseal operation if it fails with TPM2_RC_PCR_CHANGED (bsc#1204944) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/e7e931b07edd786dc6ca1dae6c23ff7b785f8efd...82898a14f5b0a965ba9c1efc1913fcdf29d446a8 Additionally, it also includes the following backports: - 17b2f9f196 utmp-wtmp: fix error in case isatty() fails - 8d5c487c87 sd-bus: handle -EINTR return from bus_poll() (bsc#1201982) - 2dd217c8b5 tree-wide: modernizations with RET_NERRNO() OBS-URL: https://build.opensuse.org/request/show/1041834 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=374 --- ...whenever-creating-an-inode-immediate.patch | 479 ------------------ systemd-v252.2+suse.29.ge7e931b07e.tar.xz | 3 - systemd-v252.3+suse.40.gbf3fef9988.tar.xz | 3 + systemd.changes | 32 ++ systemd.spec | 5 +- 5 files changed, 37 insertions(+), 485 deletions(-) delete mode 100644 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch delete mode 100644 systemd-v252.2+suse.29.ge7e931b07e.tar.xz create mode 100644 systemd-v252.3+suse.40.gbf3fef9988.tar.xz diff --git a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch b/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch deleted file mode 100644 index cdc9200e..00000000 --- a/6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch +++ /dev/null @@ -1,479 +0,0 @@ -From 3aabdad41fecf8004a1e0e4ca4bfc7b2f935404c Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Tue, 22 Nov 2022 14:45:56 +0100 -Subject: [PATCH 6000/6000] Revert "tmpfiles: whenever creating an inode, - immediately O_PATH open it to pin it" - -This reverts commit 8f6fb95cd069884f4ce0a24eb20efc821ae3bc5e. ---- - src/tmpfiles/tmpfiles.c | 283 +++++++++++++++++----------------------- - 1 file changed, 118 insertions(+), 165 deletions(-) - -diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 18bb75715b..9c2740f6ce 100644 ---- a/src/tmpfiles/tmpfiles.c -+++ b/src/tmpfiles/tmpfiles.c -@@ -31,7 +31,6 @@ - #include "dirent-util.h" - #include "dissect-image.h" - #include "env-util.h" --#include "errno-util.h" - #include "escape.h" - #include "fd-util.h" - #include "fileio.h" -@@ -1527,9 +1526,11 @@ static int create_file(Item *i, const char *path) { - st = &stbuf; - creation = CREATION_EXISTING; - } else { -- r = write_argument_data(i, fd, path); -- if (r < 0) -- return r; -+ if (item_binary_argument(i)) { -+ r = write_argument_data(i, fd, path); -+ if (r < 0) -+ return r; -+ } - - creation = CREATION_NORMAL; - } -@@ -1629,7 +1630,6 @@ static int truncate_file(Item *i, const char *path) { - static int copy_files(Item *i) { - _cleanup_close_ int dfd = -1, fd = -1; - _cleanup_free_ char *bn = NULL; -- struct stat st, a; - int r; - - log_debug("Copying tree \"%s\" to \"%s\".", i->argument, i->path); -@@ -1649,27 +1649,35 @@ static int copy_files(Item *i) { - i->uid_set ? i->uid : UID_INVALID, - i->gid_set ? i->gid : GID_INVALID, - COPY_REFLINK | COPY_MERGE_EMPTY | COPY_MAC_CREATE | COPY_HARDLINKS); -+ if (r < 0) { -+ struct stat a, b; - -- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) { -- if (r < 0) /* Look at original error first */ -- return log_error_errno(r, "Failed to copy files to %s: %m", i->path); -+ /* If the target already exists on read-only filesystems, trying -+ * to create the target will not fail with EEXIST but with -+ * EROFS. */ -+ if (r == -EROFS && faccessat(dfd, bn, F_OK, AT_SYMLINK_NOFOLLOW) == 0) -+ r = -EEXIST; - -- return log_error_errno(errno, "Failed to openat(%s): %m", i->path); -- } -+ if (r != -EEXIST) -+ return log_error_errno(r, "Failed to copy files to %s: %m", i->path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ if (stat(i->argument, &a) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", i->argument); - -- if (stat(i->argument, &a) < 0) -- return log_error_errno(errno, "Failed to stat(%s): %m", i->argument); -+ if (fstatat(dfd, bn, &b, AT_SYMLINK_NOFOLLOW) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", i->path); - -- if (((st.st_mode ^ a.st_mode) & S_IFMT) != 0) { -- log_debug("Can't copy to %s, file exists already and is of different type", i->path); -- return 0; -+ if ((a.st_mode ^ b.st_mode) & S_IFMT) { -+ log_debug("Can't copy to %s, file exists already and is of different type", i->path); -+ return 0; -+ } - } - -- return fd_set_perms(i, fd, i->path, &st, _CREATION_MODE_INVALID); -+ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); -+ -+ return fd_set_perms(i, fd, i->path, /* st = */ NULL, _CREATION_MODE_INVALID); - } - - static int create_directory_or_subvolume( -@@ -1677,13 +1685,11 @@ static int create_directory_or_subvolume( - mode_t mode, - bool subvol, - bool allow_failure, -- struct stat *ret_st, - CreationMode *ret_creation) { - - _cleanup_free_ char *bn = NULL; - _cleanup_close_ int pfd = -1; -- CreationMode creation; -- struct stat st; -+ CreationMode c; - int r, fd; - - assert(path); -@@ -1703,7 +1709,7 @@ static int create_directory_or_subvolume( - log_warning_errno(r, "Cannot parse value of $SYSTEMD_TMPFILES_FORCE_SUBVOL, ignoring."); - r = btrfs_is_subvol(empty_to_root(arg_root)) > 0; - } -- if (r == 0) -+ if (!r) - /* Don't create a subvolume unless the root directory is one, too. We do this under - * the assumption that if the root directory is just a plain directory (i.e. very - * light-weight), we shouldn't try to split it up into subvolumes (i.e. more -@@ -1719,40 +1725,41 @@ static int create_directory_or_subvolume( - } else - r = 0; - -- if (!subvol || ERRNO_IS_NOT_SUPPORTED(r)) -+ if (!subvol || r == -ENOTTY) - RUN_WITH_UMASK(0000) - r = mkdirat_label(pfd, bn, mode); - -- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; -- -- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY|O_PATH); -- if (fd < 0) { -- /* We couldn't open it because it is not actually a directory? */ -- if (errno == ENOTDIR) -- return log_error_errno(SYNTHETIC_ERRNO(EEXIST), "\"%s\" already exists and is not a directory.", path); -+ if (r < 0) { -+ int k; - -- /* Then look at the original error */ -- if (r < 0) -+ if (!IN_SET(r, -EEXIST, -EROFS)) - return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, - r, - "Failed to create directory or subvolume \"%s\"%s: %m", - path, - allow_failure ? ", ignoring" : ""); - -- return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); -- } -+ k = is_dir_full(pfd, bn, /* follow= */ false); -+ if (k == -ENOENT && r == -EROFS) -+ return log_error_errno(r, "%s does not exist and cannot be created as the file system is read-only.", path); -+ if (k < 0) -+ return log_error_errno(k, "Failed to check if %s exists: %m", path); -+ if (!k) -+ return log_warning_errno(SYNTHETIC_ERRNO(EEXIST), -+ "\"%s\" already exists and is not a directory.", path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", path); -+ c = CREATION_EXISTING; -+ } else -+ c = CREATION_NORMAL; - -- assert(S_ISDIR(st.st_mode)); /* we used O_DIRECTORY above */ -+ log_debug("%s directory \"%s\".", creation_mode_verb_to_string(c), path); - -- log_debug("%s directory \"%s\".", creation_mode_verb_to_string(creation), path); -+ fd = openat(pfd, bn, O_NOCTTY|O_CLOEXEC|O_DIRECTORY); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to open directory '%s': %m", bn); - -- if (ret_st) -- *ret_st = st; - if (ret_creation) -- *ret_creation = creation; -+ *ret_creation = c; - - return fd; - } -@@ -1760,30 +1767,28 @@ static int create_directory_or_subvolume( - static int create_directory(Item *i, const char *path) { - _cleanup_close_ int fd = -1; - CreationMode creation; -- struct stat st; - - assert(i); - assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); - -- fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol= */ false, i->allow_failure, &creation); - if (fd == -EEXIST) - return 0; - if (fd < 0) - return fd; - -- return fd_set_perms(i, fd, path, &st, creation); -+ return fd_set_perms(i, fd, path, /* st= */ NULL, creation); - } - - static int create_subvolume(Item *i, const char *path) { - _cleanup_close_ int fd = -1; - CreationMode creation; -- struct stat st; - int r, q = 0; - - assert(i); - assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); - -- fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &st, &creation); -+ fd = create_directory_or_subvolume(path, i->mode, /* subvol = */ true, i->allow_failure, &creation); - if (fd == -EEXIST) - return 0; - if (fd < 0) -@@ -1806,7 +1811,7 @@ static int create_subvolume(Item *i, const char *path) { - log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); - } - -- r = fd_set_perms(i, fd, path, &st, creation); -+ r = fd_set_perms(i, fd, path, /* st= */ NULL, creation); - if (q < 0) /* prefer the quota change error from above */ - return q; - -@@ -1847,11 +1852,9 @@ static int create_device(Item *i, mode_t file_type) { - _cleanup_close_ int dfd = -1, fd = -1; - _cleanup_free_ char *bn = NULL; - CreationMode creation; -- struct stat st; - int r; - - assert(i); -- assert(IN_SET(i->type, CREATE_BLOCK_DEVICE, CREATE_CHAR_DEVICE)); - assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); - - r = path_extract_filename(i->path, &bn); -@@ -1871,166 +1874,116 @@ static int create_device(Item *i, mode_t file_type) { - r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); - mac_selinux_create_file_clear(); - } -- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; -- -- /* Try to open the inode via O_PATH, regardless if we could create it or not. Maybe everything is in -- * order anyway and we hence can ignore the error to create the device node */ -- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) { -- /* OK, so opening the inode failed, let's look at the original error then. */ - -- if (r < 0) { -- if (ERRNO_IS_PRIVILEGE(r)) -- goto handle_privilege; -+ if (r < 0) { -+ struct stat st; - -- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); -+ if (r == -EPERM) { -+ log_debug_errno(r, -+ "We lack permissions, possibly because of cgroup configuration; " -+ "skipping creation of device node %s.", i->path); -+ return 0; - } - -- return log_error_errno(errno, "Failed to open device node '%s' we just created: %m", i->path); -- } -+ if (r != -EEXIST) -+ return log_error_errno(r, "Failed to create device node %s: %m", i->path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ if (fstatat(dfd, bn, &st, 0) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", i->path); - -- if (((st.st_mode ^ file_type) & S_IFMT) != 0) { -+ if ((st.st_mode & S_IFMT) != file_type) { - -- if (i->append_or_force) { -- fd = safe_close(fd); -+ if (i->append_or_force) { - -- RUN_WITH_UMASK(0000) { -- mac_selinux_create_file_prepare(i->path, file_type); -- r = mknodat_atomic(dfd, bn, i->mode | file_type, i->major_minor); -- mac_selinux_create_file_clear(); -- } -- if (ERRNO_IS_PRIVILEGE(r)) -- goto handle_privilege; -- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { -- r = rm_rf_child(dfd, bn, REMOVE_PHYSICAL); -- if (r < 0) -- return log_error_errno(r, "rm -rf %s failed: %m", i->path); -+ RUN_WITH_UMASK(0000) { -+ mac_selinux_create_file_prepare(i->path, file_type); -+ /* FIXME: need to introduce mknodat_atomic() */ -+ r = mknod_atomic(i->path, i->mode | file_type, i->major_minor); -+ mac_selinux_create_file_clear(); -+ } - -- mac_selinux_create_file_prepare(i->path, file_type); -- r = RET_NERRNO(mknodat(dfd, bn, i->mode | file_type, i->major_minor)); -- mac_selinux_create_file_clear(); -+ if (r < 0) -+ return log_error_errno(r, "Failed to create device node \"%s\": %m", i->path); -+ creation = CREATION_FORCE; -+ } else { -+ log_warning("\"%s\" already exists is not a device node.", i->path); -+ return 0; - } -- if (r < 0) -- return log_error_errno(r, "Failed to create device node '%s': %m", i->path); -- -- fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) -- return log_error_errno(errno, "Failed to open device node we just created '%s': %m", i->path); -- -- /* Validate type before change ownership below */ -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -- -- if (((st.st_mode ^ file_type) & S_IFMT) != 0) -- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "Device node we just created is not a device node, refusing."); -- -- creation = CREATION_FORCE; -- } else { -- log_warning("\"%s\" already exists and is not a device node.", i->path); -- return 0; -- } -- } -+ } else -+ creation = CREATION_EXISTING; -+ } else -+ creation = CREATION_NORMAL; - - log_debug("%s %s device node \"%s\" %u:%u.", - creation_mode_verb_to_string(creation), - i->type == CREATE_BLOCK_DEVICE ? "block" : "char", - i->path, major(i->mode), minor(i->mode)); - -- return fd_set_perms(i, fd, i->path, &st, creation); -+ fd = openat(dfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to openat(%s): %m", i->path); - --handle_privilege: -- log_debug_errno(r, -- "We lack permissions, possibly because of cgroup configuration; " -- "skipping creation of device node '%s'.", i->path); -- return 0; -+ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); - } - --static int create_fifo(Item *i) { -+static int create_fifo(Item *i, const char *path) { - _cleanup_close_ int pfd = -1, fd = -1; - _cleanup_free_ char *bn = NULL; - CreationMode creation; - struct stat st; - int r; - -- assert(i); -- assert(i->type == CREATE_FIFO); -- - r = path_extract_filename(i->path, &bn); - if (r < 0) -- return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); -+ return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); - if (r == O_DIRECTORY) -- return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); -+ return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", path); - -- pfd = path_open_parent_safe(i->path, i->allow_failure); -+ pfd = path_open_parent_safe(path, i->allow_failure); - if (pfd < 0) - return pfd; - - RUN_WITH_UMASK(0000) { -- mac_selinux_create_file_prepare(i->path, S_IFIFO); -+ mac_selinux_create_file_prepare(path, S_IFIFO); - r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); - mac_selinux_create_file_clear(); - } - -- creation = r >= 0 ? CREATION_NORMAL : CREATION_EXISTING; -- -- /* Open the inode via O_PATH, regardless if we managed to create it or not. Maybe it is is already the FIFO we want */ -- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) { -- if (r < 0) -- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); /* original error! */ -- -- return log_error_errno(errno, "Failed to open FIFO we just created %s: %m", i->path); -- } -+ if (r < 0) { -+ if (r != -EEXIST) -+ return log_error_errno(r, "Failed to create fifo %s: %m", path); - -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ if (fstatat(pfd, bn, &st, AT_SYMLINK_NOFOLLOW) < 0) -+ return log_error_errno(errno, "stat(%s) failed: %m", path); - -- if (!S_ISFIFO(st.st_mode)) { -+ if (!S_ISFIFO(st.st_mode)) { - -- if (i->append_or_force) { -- fd = safe_close(fd); -+ if (i->append_or_force) { -+ RUN_WITH_UMASK(0000) { -+ mac_selinux_create_file_prepare(path, S_IFIFO); -+ r = mkfifoat_atomic(pfd, bn, i->mode); -+ mac_selinux_create_file_clear(); -+ } - -- RUN_WITH_UMASK(0000) { -- mac_selinux_create_file_prepare(i->path, S_IFIFO); -- r = mkfifoat_atomic(pfd, bn, i->mode); -- mac_selinux_create_file_clear(); -- } -- if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { -- r = rm_rf_child(pfd, bn, REMOVE_PHYSICAL); - if (r < 0) -- return log_error_errno(r, "rm -rf %s failed: %m", i->path); -- -- mac_selinux_create_file_prepare(i->path, S_IFIFO); -- r = RET_NERRNO(mkfifoat(pfd, bn, i->mode)); -- mac_selinux_create_file_clear(); -+ return log_error_errno(r, "Failed to create fifo %s: %m", path); -+ creation = CREATION_FORCE; -+ } else { -+ log_warning("\"%s\" already exists and is not a fifo.", path); -+ return 0; - } -- if (r < 0) -- return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); -- -- fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -- if (fd < 0) -- return log_error_errno(errno, "Failed to open FIFO we just created '%s': %m", i->path); -- -- /* Validate type before change ownership below */ -- if (fstat(fd, &st) < 0) -- return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); -+ } else -+ creation = CREATION_EXISTING; -+ } else -+ creation = CREATION_NORMAL; - -- if (!S_ISFIFO(st.st_mode)) -- return log_error_errno(SYNTHETIC_ERRNO(EBADF), "FIFO inode we just created is not a FIFO, refusing."); -+ log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), path); - -- creation = CREATION_FORCE; -- } else { -- log_warning("\"%s\" already exists and is not a FIFO.", i->path); -- return 0; -- } -- } -- -- log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), i->path); -+ fd = openat(pfd, bn, O_NOFOLLOW|O_CLOEXEC|O_PATH); -+ if (fd < 0) -+ return log_error_errno(errno, "Failed to openat(%s): %m", path); - -- return fd_set_perms(i, fd, i->path, &st, creation); -+ return fd_set_perms(i, fd, i->path, /* st = */ NULL, creation); - } - - static int create_symlink(Item *i) { -@@ -2499,7 +2452,7 @@ static int create_item(Item *i) { - if (r < 0) - return r; - -- r = create_fifo(i); -+ r = create_fifo(i, i->path); - if (r < 0) - return r; - break; --- -2.35.3 - diff --git a/systemd-v252.2+suse.29.ge7e931b07e.tar.xz b/systemd-v252.2+suse.29.ge7e931b07e.tar.xz deleted file mode 100644 index e67235d2..00000000 --- a/systemd-v252.2+suse.29.ge7e931b07e.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:981382ec6df9b609d8ecd5cb7e570064567840e1f618c205df9d0fc67d803dca -size 8035936 diff --git a/systemd-v252.3+suse.40.gbf3fef9988.tar.xz b/systemd-v252.3+suse.40.gbf3fef9988.tar.xz new file mode 100644 index 00000000..a630a377 --- /dev/null +++ b/systemd-v252.3+suse.40.gbf3fef9988.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4274c52c308874f73756af1fe91d0cf35ab72112f6ba593399398eddd17cc0c4 +size 8040380 diff --git a/systemd.changes b/systemd.changes index c29812f8..c887dc75 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Fri Dec 9 08:28:50 UTC 2022 - Franck Bui + +- Import commit bf3fef99886bd977a1c7a51d20087bc8977fff44 + + 6372fb0cc4 btrfs-util: convert O_PATH if necessary, in btrfs quota call (bsc#1205560) + 12e68eb0e5 blockdev-util: move O_PATH fd conversion into btrfs_get_block_device_fd() to shorten things + bb2bafdc9d btrfs-util: convert to fd_reopen_condition() + 1323232948 fd-util: add new helper fd_reopen_conditional() + +- Drop 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch + + It's no more needed as a fix for bsc#1205560 has been queued, see above. + +------------------------------------------------------------------- +Fri Dec 9 07:41:04 UTC 2022 - Franck Bui + +- Import commit 82898a14f5b0a965ba9c1efc1913fcdf29d446a8 (merge of v252.3) + + It includes the following fixes: + + 9410eb20eb cryptsetup: retry TPM2 unseal operation if it fails with TPM2_RC_PCR_CHANGED (bsc#1204944) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e7e931b07edd786dc6ca1dae6c23ff7b785f8efd...82898a14f5b0a965ba9c1efc1913fcdf29d446a8 + + Additionally, it also includes the following backports: + + - 17b2f9f196 utmp-wtmp: fix error in case isatty() fails + - 8d5c487c87 sd-bus: handle -EINTR return from bus_poll() (bsc#1201982) + - 2dd217c8b5 tree-wide: modernizations with RET_NERRNO() + ------------------------------------------------------------------- Fri Dec 2 14:06:08 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ca60b72b..ad7989d5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.29.ge7e931b07e +%define archive_version +suse.40.gbf3fef9988 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.2 +Version: 252.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -216,7 +216,6 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch6000: 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 24db00394f7e255c6c4c108da8f4246878dbd5d2b451e7c26034624213f576e1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Dec 2022 07:23:19 +0000 Subject: [PATCH 784/991] - Fix systemd-coredump to not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) Add 5000-coredump-Fix-format-string-type-mismatch.patch Add 5001-coredump-drop-an-unused-variable.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1336 --- 5000-coredump-adjust-whitespace.patch | 101 +++++ ...allow-user-to-access-coredumps-with-.patch | 385 ++++++++++++++++++ systemd.changes | 9 + systemd.spec | 2 + 4 files changed, 497 insertions(+) create mode 100644 5000-coredump-adjust-whitespace.patch create mode 100644 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch diff --git a/5000-coredump-adjust-whitespace.patch b/5000-coredump-adjust-whitespace.patch new file mode 100644 index 00000000..ab21a57e --- /dev/null +++ b/5000-coredump-adjust-whitespace.patch @@ -0,0 +1,101 @@ +From 2f427f96135fbf3743eb58cfa9216fb605f0891d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 29 Nov 2022 09:00:16 +0100 +Subject: [PATCH 5000/5001] coredump: adjust whitespace + +--- + src/coredump/coredump.c | 56 ++++++++++++++++++++--------------------- + 1 file changed, 28 insertions(+), 28 deletions(-) + +diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c +index 98e7492811..7a181bdeeb 100644 +--- a/src/coredump/coredump.c ++++ b/src/coredump/coredump.c +@@ -110,16 +110,16 @@ enum { + }; + + static const char * const meta_field_names[_META_MAX] = { +- [META_ARGV_PID] = "COREDUMP_PID=", +- [META_ARGV_UID] = "COREDUMP_UID=", +- [META_ARGV_GID] = "COREDUMP_GID=", +- [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", +- [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", +- [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", +- [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", +- [META_COMM] = "COREDUMP_COMM=", +- [META_EXE] = "COREDUMP_EXE=", +- [META_UNIT] = "COREDUMP_UNIT=", ++ [META_ARGV_PID] = "COREDUMP_PID=", ++ [META_ARGV_UID] = "COREDUMP_UID=", ++ [META_ARGV_GID] = "COREDUMP_GID=", ++ [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", ++ [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", ++ [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", ++ [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", ++ [META_COMM] = "COREDUMP_COMM=", ++ [META_EXE] = "COREDUMP_EXE=", ++ [META_UNIT] = "COREDUMP_UNIT=", + }; + + typedef struct Context { +@@ -138,9 +138,9 @@ typedef enum CoredumpStorage { + } CoredumpStorage; + + static const char* const coredump_storage_table[_COREDUMP_STORAGE_MAX] = { +- [COREDUMP_STORAGE_NONE] = "none", ++ [COREDUMP_STORAGE_NONE] = "none", + [COREDUMP_STORAGE_EXTERNAL] = "external", +- [COREDUMP_STORAGE_JOURNAL] = "journal", ++ [COREDUMP_STORAGE_JOURNAL] = "journal", + }; + + DEFINE_PRIVATE_STRING_TABLE_LOOKUP(coredump_storage, CoredumpStorage); +@@ -156,13 +156,13 @@ static uint64_t arg_max_use = UINT64_MAX; + + static int parse_config(void) { + static const ConfigTableItem items[] = { +- { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, +- { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, +- { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, +- { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, +- { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, +- { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, +- { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, ++ { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, ++ { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, ++ { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, ++ { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, ++ { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, ++ { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, ++ { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, + {} + }; + +@@ -208,15 +208,15 @@ static int fix_acl(int fd, uid_t uid) { + static int fix_xattr(int fd, const Context *context) { + + static const char * const xattrs[_META_MAX] = { +- [META_ARGV_PID] = "user.coredump.pid", +- [META_ARGV_UID] = "user.coredump.uid", +- [META_ARGV_GID] = "user.coredump.gid", +- [META_ARGV_SIGNAL] = "user.coredump.signal", +- [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", +- [META_ARGV_RLIMIT] = "user.coredump.rlimit", +- [META_ARGV_HOSTNAME] = "user.coredump.hostname", +- [META_COMM] = "user.coredump.comm", +- [META_EXE] = "user.coredump.exe", ++ [META_ARGV_PID] = "user.coredump.pid", ++ [META_ARGV_UID] = "user.coredump.uid", ++ [META_ARGV_GID] = "user.coredump.gid", ++ [META_ARGV_SIGNAL] = "user.coredump.signal", ++ [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", ++ [META_ARGV_RLIMIT] = "user.coredump.rlimit", ++ [META_ARGV_HOSTNAME] = "user.coredump.hostname", ++ [META_COMM] = "user.coredump.comm", ++ [META_EXE] = "user.coredump.exe", + }; + + int r = 0; +-- +2.35.3 + diff --git a/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch b/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch new file mode 100644 index 00000000..aedc307c --- /dev/null +++ b/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch @@ -0,0 +1,385 @@ +From 87cad85ebec62e63893df46ff78becf82e984bee Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 28 Nov 2022 12:12:55 +0100 +Subject: [PATCH 5001/5001] coredump: do not allow user to access coredumps + with changed uid/gid/capabilities + +When the user starts a program which elevates its permissions via setuid, +setgid, or capabilities set on the file, it may access additional information +which would then be visible in the coredump. We shouldn't make the the coredump +visible to the user in such cases. + +Reported-by: Matthias Gerstner + +This reads the /proc//auxv file and attaches it to the process metadata as +PROC_AUXV. Before the coredump is submitted, it is parsed and if either +at_secure was set (which the kernel will do for processes that are setuid, +setgid, or setcap), or if the effective uid/gid don't match uid/gid, the file +is not made accessible to the user. If we can't access this data, we assume the +file should not be made accessible either. In principle we could also access +the auxv data from a note in the core file, but that is much more complex and +it seems better to use the stand-alone file that is provided by the kernel. + +Attaching auxv is both convient for this patch (because this way it's passed +between the stages along with other fields), but I think it makes sense to save +it in general. + +We use the information early in the core file to figure out if the program was +32-bit or 64-bit and its endianness. This way we don't need heuristics to guess +whether the format of the auxv structure. This test might reject some cases on +fringe architecutes. But the impact would be limited: we just won't grant the +user permissions to view the coredump file. If people report that we're missing +some cases, we can always enhance this to support more architectures. + +I tested auxv parsing on amd64, 32-bit program on amd64, arm64, arm32, and +ppc64el, but not the whole coredump handling. + +[fbui: fixes bsc#1205000] +[fbui: fixes CVE-2022-4415] +--- + src/basic/io-util.h | 9 ++ + src/coredump/coredump.c | 196 +++++++++++++++++++++++++++++++++++++--- + 2 files changed, 192 insertions(+), 13 deletions(-) + +diff --git a/src/basic/io-util.h b/src/basic/io-util.h +index 39728e06bc..3afb134266 100644 +--- a/src/basic/io-util.h ++++ b/src/basic/io-util.h +@@ -91,7 +91,16 @@ struct iovec_wrapper *iovw_new(void); + struct iovec_wrapper *iovw_free(struct iovec_wrapper *iovw); + struct iovec_wrapper *iovw_free_free(struct iovec_wrapper *iovw); + void iovw_free_contents(struct iovec_wrapper *iovw, bool free_vectors); ++ + int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len); ++static inline int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) { ++ /* Move data into iovw or free on error */ ++ int r = iovw_put(iovw, data, len); ++ if (r < 0) ++ free(data); ++ return r; ++} ++ + int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const char *value); + int iovw_put_string_field_free(struct iovec_wrapper *iovw, const char *field, char *value); + void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new); +diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c +index 7a181bdeeb..ea3d8c415a 100644 +--- a/src/coredump/coredump.c ++++ b/src/coredump/coredump.c +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -106,6 +107,7 @@ enum { + + META_EXE = _META_MANDATORY_MAX, + META_UNIT, ++ META_PROC_AUXV, + _META_MAX + }; + +@@ -120,10 +122,12 @@ static const char * const meta_field_names[_META_MAX] = { + [META_COMM] = "COREDUMP_COMM=", + [META_EXE] = "COREDUMP_EXE=", + [META_UNIT] = "COREDUMP_UNIT=", ++ [META_PROC_AUXV] = "COREDUMP_PROC_AUXV=", + }; + + typedef struct Context { + const char *meta[_META_MAX]; ++ size_t meta_size[_META_MAX]; + pid_t pid; + bool is_pid1; + bool is_journald; +@@ -185,13 +189,16 @@ static uint64_t storage_size_max(void) { + return 0; + } + +-static int fix_acl(int fd, uid_t uid) { ++static int fix_acl(int fd, uid_t uid, bool allow_user) { ++ assert(fd >= 0); ++ assert(uid_is_valid(uid)); + + #if HAVE_ACL + int r; + +- assert(fd >= 0); +- assert(uid_is_valid(uid)); ++ /* We don't allow users to read coredumps if the uid or capabilities were changed. */ ++ if (!allow_user) ++ return 0; + + if (uid_is_system(uid) || uid_is_dynamic(uid) || uid == UID_NOBODY) + return 0; +@@ -251,7 +258,8 @@ static int fix_permissions( + const char *filename, + const char *target, + const Context *context, +- uid_t uid) { ++ uid_t uid, ++ bool allow_user) { + + int r; + +@@ -261,7 +269,7 @@ static int fix_permissions( + + /* Ignore errors on these */ + (void) fchmod(fd, 0640); +- (void) fix_acl(fd, uid); ++ (void) fix_acl(fd, uid, allow_user); + (void) fix_xattr(fd, context); + + r = fsync_full(fd); +@@ -331,6 +339,153 @@ static int make_filename(const Context *context, char **ret) { + return 0; + } + ++static int parse_auxv64( ++ const uint64_t *auxv, ++ size_t size_bytes, ++ int *at_secure, ++ uid_t *uid, ++ uid_t *euid, ++ gid_t *gid, ++ gid_t *egid) { ++ ++ assert(auxv || size_bytes == 0); ++ ++ if (size_bytes % (2 * sizeof(uint64_t)) != 0) ++ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); ++ ++ size_t words = size_bytes / sizeof(uint64_t); ++ ++ /* Note that we set output variables even on error. */ ++ ++ for (size_t i = 0; i + 1 < words; i += 2) ++ switch (auxv[i]) { ++ case AT_SECURE: ++ *at_secure = auxv[i + 1] != 0; ++ break; ++ case AT_UID: ++ *uid = auxv[i + 1]; ++ break; ++ case AT_EUID: ++ *euid = auxv[i + 1]; ++ break; ++ case AT_GID: ++ *gid = auxv[i + 1]; ++ break; ++ case AT_EGID: ++ *egid = auxv[i + 1]; ++ break; ++ case AT_NULL: ++ if (auxv[i + 1] != 0) ++ goto error; ++ return 0; ++ } ++ error: ++ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), ++ "AT_NULL terminator not found, cannot parse auxv structure."); ++} ++ ++static int parse_auxv32( ++ const uint32_t *auxv, ++ size_t size_bytes, ++ int *at_secure, ++ uid_t *uid, ++ uid_t *euid, ++ gid_t *gid, ++ gid_t *egid) { ++ ++ assert(auxv || size_bytes == 0); ++ ++ size_t words = size_bytes / sizeof(uint32_t); ++ ++ if (size_bytes % (2 * sizeof(uint32_t)) != 0) ++ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); ++ ++ /* Note that we set output variables even on error. */ ++ ++ for (size_t i = 0; i + 1 < words; i += 2) ++ switch (auxv[i]) { ++ case AT_SECURE: ++ *at_secure = auxv[i + 1] != 0; ++ break; ++ case AT_UID: ++ *uid = auxv[i + 1]; ++ break; ++ case AT_EUID: ++ *euid = auxv[i + 1]; ++ break; ++ case AT_GID: ++ *gid = auxv[i + 1]; ++ break; ++ case AT_EGID: ++ *egid = auxv[i + 1]; ++ break; ++ case AT_NULL: ++ if (auxv[i + 1] != 0) ++ goto error; ++ return 0; ++ } ++ error: ++ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), ++ "AT_NULL terminator not found, cannot parse auxv structure."); ++} ++ ++static int grant_user_access(int core_fd, const Context *context) { ++ int at_secure = -1; ++ uid_t uid = UID_INVALID, euid = UID_INVALID; ++ uid_t gid = GID_INVALID, egid = GID_INVALID; ++ int r; ++ ++ assert(core_fd >= 0); ++ assert(context); ++ ++ if (!context->meta[META_PROC_AUXV]) ++ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), "No auxv data, not adjusting permissions."); ++ ++ uint8_t elf[EI_NIDENT]; ++ errno = 0; ++ if (pread(core_fd, &elf, sizeof(elf), 0) != sizeof(elf)) ++ return log_warning_errno(errno_or_else(EIO), ++ "Failed to pread from coredump fd: %s", STRERROR_OR_EOF(errno)); ++ ++ if (elf[EI_MAG0] != ELFMAG0 || ++ elf[EI_MAG1] != ELFMAG1 || ++ elf[EI_MAG2] != ELFMAG2 || ++ elf[EI_MAG3] != ELFMAG3 || ++ elf[EI_VERSION] != EV_CURRENT) ++ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), ++ "Core file does not have ELF header, not adjusting permissions."); ++ if (!IN_SET(elf[EI_CLASS], ELFCLASS32, ELFCLASS64) || ++ !IN_SET(elf[EI_DATA], ELFDATA2LSB, ELFDATA2MSB)) ++ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), ++ "Core file has strange ELF class, not adjusting permissions."); ++ ++ if ((elf[EI_DATA] == ELFDATA2LSB) != (__BYTE_ORDER == __LITTLE_ENDIAN)) ++ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), ++ "Core file has non-native endianness, not adjusting permissions."); ++ ++ if (elf[EI_CLASS] == ELFCLASS64) ++ r = parse_auxv64((const uint64_t*) context->meta[META_PROC_AUXV], ++ context->meta_size[META_PROC_AUXV], ++ &at_secure, &uid, &euid, &gid, &egid); ++ else ++ r = parse_auxv32((const uint32_t*) context->meta[META_PROC_AUXV], ++ context->meta_size[META_PROC_AUXV], ++ &at_secure, &uid, &euid, &gid, &egid); ++ if (r < 0) ++ return r; ++ ++ /* We allow access if we got all the data and at_secure is not set and ++ * the uid/gid matches euid/egid. */ ++ bool ret = ++ at_secure == 0 && ++ uid != UID_INVALID && euid != UID_INVALID && uid == euid && ++ gid != GID_INVALID && egid != GID_INVALID && gid == egid; ++ log_debug("Will %s access (uid="UID_FMT " euid="UID_FMT " gid="GID_FMT " egid="GID_FMT " at_secure=%s)", ++ ret ? "permit" : "restrict", ++ uid, euid, gid, egid, yes_no(at_secure)); ++ return ret; ++} ++ + static int save_external_coredump( + const Context *context, + int input_fd, +@@ -453,6 +608,8 @@ static int save_external_coredump( + context->meta[META_ARGV_PID], context->meta[META_COMM]); + truncated = r == 1; + ++ bool allow_user = grant_user_access(fd, context) > 0; ++ + #if HAVE_COMPRESSION + if (arg_compress) { + _cleanup_(unlink_and_freep) char *tmp_compressed = NULL; +@@ -490,7 +647,7 @@ static int save_external_coredump( + uncompressed_size += partial_uncompressed_size; + } + +- r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid); ++ r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid, allow_user); + if (r < 0) + return r; + +@@ -517,7 +674,7 @@ static int save_external_coredump( + "SIZE_LIMIT=%"PRIu64, max_size, + "MESSAGE_ID=" SD_MESSAGE_TRUNCATED_CORE_STR); + +- r = fix_permissions(fd, tmp, fn, context, uid); ++ r = fix_permissions(fd, tmp, fn, context, uid, allow_user); + if (r < 0) + return log_error_errno(r, "Failed to fix permissions and finalize coredump %s into %s: %m", coredump_tmpfile_name(tmp), fn); + +@@ -765,7 +922,7 @@ static int change_uid_gid(const Context *context) { + } + + static int submit_coredump( +- Context *context, ++ const Context *context, + struct iovec_wrapper *iovw, + int input_fd) { + +@@ -944,16 +1101,15 @@ static int save_context(Context *context, const struct iovec_wrapper *iovw) { + struct iovec *iovec = iovw->iovec + n; + + for (size_t i = 0; i < ELEMENTSOF(meta_field_names); i++) { +- char *p; +- + /* Note that these strings are NUL terminated, because we made sure that a + * trailing NUL byte is in the buffer, though not included in the iov_len + * count (see process_socket() and gather_pid_metadata_*()) */ + assert(((char*) iovec->iov_base)[iovec->iov_len] == 0); + +- p = startswith(iovec->iov_base, meta_field_names[i]); ++ const char *p = startswith(iovec->iov_base, meta_field_names[i]); + if (p) { + context->meta[i] = p; ++ context->meta_size[i] = iovec->iov_len - strlen(meta_field_names[i]); + break; + } + } +@@ -1190,6 +1346,7 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { + uid_t owner_uid; + pid_t pid; + char *t; ++ size_t size; + const char *p; + int r; + +@@ -1254,13 +1411,26 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { + (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_LIMITS=", t); + + p = procfs_file_alloca(pid, "cgroup"); +- if (read_full_virtual_file(p, &t, NULL) >=0) ++ if (read_full_virtual_file(p, &t, NULL) >= 0) + (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_CGROUP=", t); + + p = procfs_file_alloca(pid, "mountinfo"); +- if (read_full_virtual_file(p, &t, NULL) >=0) ++ if (read_full_virtual_file(p, &t, NULL) >= 0) + (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_MOUNTINFO=", t); + ++ /* We attach /proc/auxv here. ELF coredumps also contain a note for this (NT_AUXV), see elf(5). */ ++ p = procfs_file_alloca(pid, "auxv"); ++ if (read_full_virtual_file(p, &t, &size) >= 0) { ++ char *buf = malloc(strlen("COREDUMP_PROC_AUXV=") + size + 1); ++ if (buf) { ++ /* Add a dummy terminator to make save_context() happy. */ ++ *((uint8_t*) mempcpy(stpcpy(buf, "COREDUMP_PROC_AUXV="), t, size)) = '\0'; ++ (void) iovw_consume(iovw, buf, size + strlen("COREDUMP_PROC_AUXV=")); ++ } ++ ++ free(t); ++ } ++ + if (get_process_cwd(pid, &t) >= 0) + (void) iovw_put_string_field_free(iovw, "COREDUMP_CWD=", t); + +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index c887dc75..b5deb56f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Dec 19 07:50:15 UTC 2022 - Franck Bui + +- Fix systemd-coredump to not allow user to access coredumps with changed + uid/gid/capabilities (bsc#1205000 CVE-2022-4415) + + Add 5000-coredump-Fix-format-string-type-mismatch.patch + Add 5001-coredump-drop-an-unused-variable.patch + ------------------------------------------------------------------- Fri Dec 9 08:28:50 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ad7989d5..4037f598 100644 --- a/systemd.spec +++ b/systemd.spec @@ -216,6 +216,8 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. +Patch5000: 5000-coredump-adjust-whitespace.patch +Patch5001: 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 737361c43e4856f57666a3bc7a8fdb424f2c0432e9b30263cbc5f32cbf1b937e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Dec 2022 08:18:07 +0000 Subject: [PATCH 785/991] Fix previous patch names: the wrong ones were imported when I blindly copied and pasted the changelog entry from SP4 :-/ Add 5000-coredump-adjust-whitespace.patch Add 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1337 --- systemd.changes | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index b5deb56f..7d06424f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -4,8 +4,8 @@ Mon Dec 19 07:50:15 UTC 2022 - Franck Bui - Fix systemd-coredump to not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) - Add 5000-coredump-Fix-format-string-type-mismatch.patch - Add 5001-coredump-drop-an-unused-variable.patch + Add 5000-coredump-adjust-whitespace.patch + Add 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch ------------------------------------------------------------------- Fri Dec 9 08:28:50 UTC 2022 - Franck Bui From 594c8f4a91f102a4078551b32a4628d6ec6127f9e0ddf4f82f55cf551593725c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 20 Dec 2022 19:20:12 +0000 Subject: [PATCH 786/991] Accepting request 1043872 from Base:System - Fix systemd-coredump to not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) Add 5000-coredump-adjust-whitespace.patch Add 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch OBS-URL: https://build.opensuse.org/request/show/1043872 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=375 --- 5000-coredump-adjust-whitespace.patch | 101 +++++ ...allow-user-to-access-coredumps-with-.patch | 385 ++++++++++++++++++ systemd.changes | 9 + systemd.spec | 2 + 4 files changed, 497 insertions(+) create mode 100644 5000-coredump-adjust-whitespace.patch create mode 100644 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch diff --git a/5000-coredump-adjust-whitespace.patch b/5000-coredump-adjust-whitespace.patch new file mode 100644 index 00000000..ab21a57e --- /dev/null +++ b/5000-coredump-adjust-whitespace.patch @@ -0,0 +1,101 @@ +From 2f427f96135fbf3743eb58cfa9216fb605f0891d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 29 Nov 2022 09:00:16 +0100 +Subject: [PATCH 5000/5001] coredump: adjust whitespace + +--- + src/coredump/coredump.c | 56 ++++++++++++++++++++--------------------- + 1 file changed, 28 insertions(+), 28 deletions(-) + +diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c +index 98e7492811..7a181bdeeb 100644 +--- a/src/coredump/coredump.c ++++ b/src/coredump/coredump.c +@@ -110,16 +110,16 @@ enum { + }; + + static const char * const meta_field_names[_META_MAX] = { +- [META_ARGV_PID] = "COREDUMP_PID=", +- [META_ARGV_UID] = "COREDUMP_UID=", +- [META_ARGV_GID] = "COREDUMP_GID=", +- [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", +- [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", +- [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", +- [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", +- [META_COMM] = "COREDUMP_COMM=", +- [META_EXE] = "COREDUMP_EXE=", +- [META_UNIT] = "COREDUMP_UNIT=", ++ [META_ARGV_PID] = "COREDUMP_PID=", ++ [META_ARGV_UID] = "COREDUMP_UID=", ++ [META_ARGV_GID] = "COREDUMP_GID=", ++ [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", ++ [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", ++ [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", ++ [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", ++ [META_COMM] = "COREDUMP_COMM=", ++ [META_EXE] = "COREDUMP_EXE=", ++ [META_UNIT] = "COREDUMP_UNIT=", + }; + + typedef struct Context { +@@ -138,9 +138,9 @@ typedef enum CoredumpStorage { + } CoredumpStorage; + + static const char* const coredump_storage_table[_COREDUMP_STORAGE_MAX] = { +- [COREDUMP_STORAGE_NONE] = "none", ++ [COREDUMP_STORAGE_NONE] = "none", + [COREDUMP_STORAGE_EXTERNAL] = "external", +- [COREDUMP_STORAGE_JOURNAL] = "journal", ++ [COREDUMP_STORAGE_JOURNAL] = "journal", + }; + + DEFINE_PRIVATE_STRING_TABLE_LOOKUP(coredump_storage, CoredumpStorage); +@@ -156,13 +156,13 @@ static uint64_t arg_max_use = UINT64_MAX; + + static int parse_config(void) { + static const ConfigTableItem items[] = { +- { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, +- { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, +- { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, +- { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, +- { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, +- { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, +- { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, ++ { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, ++ { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, ++ { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, ++ { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, ++ { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, ++ { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, ++ { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, + {} + }; + +@@ -208,15 +208,15 @@ static int fix_acl(int fd, uid_t uid) { + static int fix_xattr(int fd, const Context *context) { + + static const char * const xattrs[_META_MAX] = { +- [META_ARGV_PID] = "user.coredump.pid", +- [META_ARGV_UID] = "user.coredump.uid", +- [META_ARGV_GID] = "user.coredump.gid", +- [META_ARGV_SIGNAL] = "user.coredump.signal", +- [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", +- [META_ARGV_RLIMIT] = "user.coredump.rlimit", +- [META_ARGV_HOSTNAME] = "user.coredump.hostname", +- [META_COMM] = "user.coredump.comm", +- [META_EXE] = "user.coredump.exe", ++ [META_ARGV_PID] = "user.coredump.pid", ++ [META_ARGV_UID] = "user.coredump.uid", ++ [META_ARGV_GID] = "user.coredump.gid", ++ [META_ARGV_SIGNAL] = "user.coredump.signal", ++ [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", ++ [META_ARGV_RLIMIT] = "user.coredump.rlimit", ++ [META_ARGV_HOSTNAME] = "user.coredump.hostname", ++ [META_COMM] = "user.coredump.comm", ++ [META_EXE] = "user.coredump.exe", + }; + + int r = 0; +-- +2.35.3 + diff --git a/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch b/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch new file mode 100644 index 00000000..aedc307c --- /dev/null +++ b/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch @@ -0,0 +1,385 @@ +From 87cad85ebec62e63893df46ff78becf82e984bee Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 28 Nov 2022 12:12:55 +0100 +Subject: [PATCH 5001/5001] coredump: do not allow user to access coredumps + with changed uid/gid/capabilities + +When the user starts a program which elevates its permissions via setuid, +setgid, or capabilities set on the file, it may access additional information +which would then be visible in the coredump. We shouldn't make the the coredump +visible to the user in such cases. + +Reported-by: Matthias Gerstner + +This reads the /proc//auxv file and attaches it to the process metadata as +PROC_AUXV. Before the coredump is submitted, it is parsed and if either +at_secure was set (which the kernel will do for processes that are setuid, +setgid, or setcap), or if the effective uid/gid don't match uid/gid, the file +is not made accessible to the user. If we can't access this data, we assume the +file should not be made accessible either. In principle we could also access +the auxv data from a note in the core file, but that is much more complex and +it seems better to use the stand-alone file that is provided by the kernel. + +Attaching auxv is both convient for this patch (because this way it's passed +between the stages along with other fields), but I think it makes sense to save +it in general. + +We use the information early in the core file to figure out if the program was +32-bit or 64-bit and its endianness. This way we don't need heuristics to guess +whether the format of the auxv structure. This test might reject some cases on +fringe architecutes. But the impact would be limited: we just won't grant the +user permissions to view the coredump file. If people report that we're missing +some cases, we can always enhance this to support more architectures. + +I tested auxv parsing on amd64, 32-bit program on amd64, arm64, arm32, and +ppc64el, but not the whole coredump handling. + +[fbui: fixes bsc#1205000] +[fbui: fixes CVE-2022-4415] +--- + src/basic/io-util.h | 9 ++ + src/coredump/coredump.c | 196 +++++++++++++++++++++++++++++++++++++--- + 2 files changed, 192 insertions(+), 13 deletions(-) + +diff --git a/src/basic/io-util.h b/src/basic/io-util.h +index 39728e06bc..3afb134266 100644 +--- a/src/basic/io-util.h ++++ b/src/basic/io-util.h +@@ -91,7 +91,16 @@ struct iovec_wrapper *iovw_new(void); + struct iovec_wrapper *iovw_free(struct iovec_wrapper *iovw); + struct iovec_wrapper *iovw_free_free(struct iovec_wrapper *iovw); + void iovw_free_contents(struct iovec_wrapper *iovw, bool free_vectors); ++ + int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len); ++static inline int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) { ++ /* Move data into iovw or free on error */ ++ int r = iovw_put(iovw, data, len); ++ if (r < 0) ++ free(data); ++ return r; ++} ++ + int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const char *value); + int iovw_put_string_field_free(struct iovec_wrapper *iovw, const char *field, char *value); + void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new); +diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c +index 7a181bdeeb..ea3d8c415a 100644 +--- a/src/coredump/coredump.c ++++ b/src/coredump/coredump.c +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -106,6 +107,7 @@ enum { + + META_EXE = _META_MANDATORY_MAX, + META_UNIT, ++ META_PROC_AUXV, + _META_MAX + }; + +@@ -120,10 +122,12 @@ static const char * const meta_field_names[_META_MAX] = { + [META_COMM] = "COREDUMP_COMM=", + [META_EXE] = "COREDUMP_EXE=", + [META_UNIT] = "COREDUMP_UNIT=", ++ [META_PROC_AUXV] = "COREDUMP_PROC_AUXV=", + }; + + typedef struct Context { + const char *meta[_META_MAX]; ++ size_t meta_size[_META_MAX]; + pid_t pid; + bool is_pid1; + bool is_journald; +@@ -185,13 +189,16 @@ static uint64_t storage_size_max(void) { + return 0; + } + +-static int fix_acl(int fd, uid_t uid) { ++static int fix_acl(int fd, uid_t uid, bool allow_user) { ++ assert(fd >= 0); ++ assert(uid_is_valid(uid)); + + #if HAVE_ACL + int r; + +- assert(fd >= 0); +- assert(uid_is_valid(uid)); ++ /* We don't allow users to read coredumps if the uid or capabilities were changed. */ ++ if (!allow_user) ++ return 0; + + if (uid_is_system(uid) || uid_is_dynamic(uid) || uid == UID_NOBODY) + return 0; +@@ -251,7 +258,8 @@ static int fix_permissions( + const char *filename, + const char *target, + const Context *context, +- uid_t uid) { ++ uid_t uid, ++ bool allow_user) { + + int r; + +@@ -261,7 +269,7 @@ static int fix_permissions( + + /* Ignore errors on these */ + (void) fchmod(fd, 0640); +- (void) fix_acl(fd, uid); ++ (void) fix_acl(fd, uid, allow_user); + (void) fix_xattr(fd, context); + + r = fsync_full(fd); +@@ -331,6 +339,153 @@ static int make_filename(const Context *context, char **ret) { + return 0; + } + ++static int parse_auxv64( ++ const uint64_t *auxv, ++ size_t size_bytes, ++ int *at_secure, ++ uid_t *uid, ++ uid_t *euid, ++ gid_t *gid, ++ gid_t *egid) { ++ ++ assert(auxv || size_bytes == 0); ++ ++ if (size_bytes % (2 * sizeof(uint64_t)) != 0) ++ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); ++ ++ size_t words = size_bytes / sizeof(uint64_t); ++ ++ /* Note that we set output variables even on error. */ ++ ++ for (size_t i = 0; i + 1 < words; i += 2) ++ switch (auxv[i]) { ++ case AT_SECURE: ++ *at_secure = auxv[i + 1] != 0; ++ break; ++ case AT_UID: ++ *uid = auxv[i + 1]; ++ break; ++ case AT_EUID: ++ *euid = auxv[i + 1]; ++ break; ++ case AT_GID: ++ *gid = auxv[i + 1]; ++ break; ++ case AT_EGID: ++ *egid = auxv[i + 1]; ++ break; ++ case AT_NULL: ++ if (auxv[i + 1] != 0) ++ goto error; ++ return 0; ++ } ++ error: ++ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), ++ "AT_NULL terminator not found, cannot parse auxv structure."); ++} ++ ++static int parse_auxv32( ++ const uint32_t *auxv, ++ size_t size_bytes, ++ int *at_secure, ++ uid_t *uid, ++ uid_t *euid, ++ gid_t *gid, ++ gid_t *egid) { ++ ++ assert(auxv || size_bytes == 0); ++ ++ size_t words = size_bytes / sizeof(uint32_t); ++ ++ if (size_bytes % (2 * sizeof(uint32_t)) != 0) ++ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); ++ ++ /* Note that we set output variables even on error. */ ++ ++ for (size_t i = 0; i + 1 < words; i += 2) ++ switch (auxv[i]) { ++ case AT_SECURE: ++ *at_secure = auxv[i + 1] != 0; ++ break; ++ case AT_UID: ++ *uid = auxv[i + 1]; ++ break; ++ case AT_EUID: ++ *euid = auxv[i + 1]; ++ break; ++ case AT_GID: ++ *gid = auxv[i + 1]; ++ break; ++ case AT_EGID: ++ *egid = auxv[i + 1]; ++ break; ++ case AT_NULL: ++ if (auxv[i + 1] != 0) ++ goto error; ++ return 0; ++ } ++ error: ++ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), ++ "AT_NULL terminator not found, cannot parse auxv structure."); ++} ++ ++static int grant_user_access(int core_fd, const Context *context) { ++ int at_secure = -1; ++ uid_t uid = UID_INVALID, euid = UID_INVALID; ++ uid_t gid = GID_INVALID, egid = GID_INVALID; ++ int r; ++ ++ assert(core_fd >= 0); ++ assert(context); ++ ++ if (!context->meta[META_PROC_AUXV]) ++ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), "No auxv data, not adjusting permissions."); ++ ++ uint8_t elf[EI_NIDENT]; ++ errno = 0; ++ if (pread(core_fd, &elf, sizeof(elf), 0) != sizeof(elf)) ++ return log_warning_errno(errno_or_else(EIO), ++ "Failed to pread from coredump fd: %s", STRERROR_OR_EOF(errno)); ++ ++ if (elf[EI_MAG0] != ELFMAG0 || ++ elf[EI_MAG1] != ELFMAG1 || ++ elf[EI_MAG2] != ELFMAG2 || ++ elf[EI_MAG3] != ELFMAG3 || ++ elf[EI_VERSION] != EV_CURRENT) ++ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), ++ "Core file does not have ELF header, not adjusting permissions."); ++ if (!IN_SET(elf[EI_CLASS], ELFCLASS32, ELFCLASS64) || ++ !IN_SET(elf[EI_DATA], ELFDATA2LSB, ELFDATA2MSB)) ++ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), ++ "Core file has strange ELF class, not adjusting permissions."); ++ ++ if ((elf[EI_DATA] == ELFDATA2LSB) != (__BYTE_ORDER == __LITTLE_ENDIAN)) ++ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), ++ "Core file has non-native endianness, not adjusting permissions."); ++ ++ if (elf[EI_CLASS] == ELFCLASS64) ++ r = parse_auxv64((const uint64_t*) context->meta[META_PROC_AUXV], ++ context->meta_size[META_PROC_AUXV], ++ &at_secure, &uid, &euid, &gid, &egid); ++ else ++ r = parse_auxv32((const uint32_t*) context->meta[META_PROC_AUXV], ++ context->meta_size[META_PROC_AUXV], ++ &at_secure, &uid, &euid, &gid, &egid); ++ if (r < 0) ++ return r; ++ ++ /* We allow access if we got all the data and at_secure is not set and ++ * the uid/gid matches euid/egid. */ ++ bool ret = ++ at_secure == 0 && ++ uid != UID_INVALID && euid != UID_INVALID && uid == euid && ++ gid != GID_INVALID && egid != GID_INVALID && gid == egid; ++ log_debug("Will %s access (uid="UID_FMT " euid="UID_FMT " gid="GID_FMT " egid="GID_FMT " at_secure=%s)", ++ ret ? "permit" : "restrict", ++ uid, euid, gid, egid, yes_no(at_secure)); ++ return ret; ++} ++ + static int save_external_coredump( + const Context *context, + int input_fd, +@@ -453,6 +608,8 @@ static int save_external_coredump( + context->meta[META_ARGV_PID], context->meta[META_COMM]); + truncated = r == 1; + ++ bool allow_user = grant_user_access(fd, context) > 0; ++ + #if HAVE_COMPRESSION + if (arg_compress) { + _cleanup_(unlink_and_freep) char *tmp_compressed = NULL; +@@ -490,7 +647,7 @@ static int save_external_coredump( + uncompressed_size += partial_uncompressed_size; + } + +- r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid); ++ r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid, allow_user); + if (r < 0) + return r; + +@@ -517,7 +674,7 @@ static int save_external_coredump( + "SIZE_LIMIT=%"PRIu64, max_size, + "MESSAGE_ID=" SD_MESSAGE_TRUNCATED_CORE_STR); + +- r = fix_permissions(fd, tmp, fn, context, uid); ++ r = fix_permissions(fd, tmp, fn, context, uid, allow_user); + if (r < 0) + return log_error_errno(r, "Failed to fix permissions and finalize coredump %s into %s: %m", coredump_tmpfile_name(tmp), fn); + +@@ -765,7 +922,7 @@ static int change_uid_gid(const Context *context) { + } + + static int submit_coredump( +- Context *context, ++ const Context *context, + struct iovec_wrapper *iovw, + int input_fd) { + +@@ -944,16 +1101,15 @@ static int save_context(Context *context, const struct iovec_wrapper *iovw) { + struct iovec *iovec = iovw->iovec + n; + + for (size_t i = 0; i < ELEMENTSOF(meta_field_names); i++) { +- char *p; +- + /* Note that these strings are NUL terminated, because we made sure that a + * trailing NUL byte is in the buffer, though not included in the iov_len + * count (see process_socket() and gather_pid_metadata_*()) */ + assert(((char*) iovec->iov_base)[iovec->iov_len] == 0); + +- p = startswith(iovec->iov_base, meta_field_names[i]); ++ const char *p = startswith(iovec->iov_base, meta_field_names[i]); + if (p) { + context->meta[i] = p; ++ context->meta_size[i] = iovec->iov_len - strlen(meta_field_names[i]); + break; + } + } +@@ -1190,6 +1346,7 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { + uid_t owner_uid; + pid_t pid; + char *t; ++ size_t size; + const char *p; + int r; + +@@ -1254,13 +1411,26 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { + (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_LIMITS=", t); + + p = procfs_file_alloca(pid, "cgroup"); +- if (read_full_virtual_file(p, &t, NULL) >=0) ++ if (read_full_virtual_file(p, &t, NULL) >= 0) + (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_CGROUP=", t); + + p = procfs_file_alloca(pid, "mountinfo"); +- if (read_full_virtual_file(p, &t, NULL) >=0) ++ if (read_full_virtual_file(p, &t, NULL) >= 0) + (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_MOUNTINFO=", t); + ++ /* We attach /proc/auxv here. ELF coredumps also contain a note for this (NT_AUXV), see elf(5). */ ++ p = procfs_file_alloca(pid, "auxv"); ++ if (read_full_virtual_file(p, &t, &size) >= 0) { ++ char *buf = malloc(strlen("COREDUMP_PROC_AUXV=") + size + 1); ++ if (buf) { ++ /* Add a dummy terminator to make save_context() happy. */ ++ *((uint8_t*) mempcpy(stpcpy(buf, "COREDUMP_PROC_AUXV="), t, size)) = '\0'; ++ (void) iovw_consume(iovw, buf, size + strlen("COREDUMP_PROC_AUXV=")); ++ } ++ ++ free(t); ++ } ++ + if (get_process_cwd(pid, &t) >= 0) + (void) iovw_put_string_field_free(iovw, "COREDUMP_CWD=", t); + +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index c887dc75..7d06424f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Dec 19 07:50:15 UTC 2022 - Franck Bui + +- Fix systemd-coredump to not allow user to access coredumps with changed + uid/gid/capabilities (bsc#1205000 CVE-2022-4415) + + Add 5000-coredump-adjust-whitespace.patch + Add 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch + ------------------------------------------------------------------- Fri Dec 9 08:28:50 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ad7989d5..4037f598 100644 --- a/systemd.spec +++ b/systemd.spec @@ -216,6 +216,8 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. +Patch5000: 5000-coredump-adjust-whitespace.patch +Patch5001: 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From eb82755104f0ccaad31c400765153273cdb310d4545c5bf19b8d217c2c199a70 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Dec 2022 15:33:47 +0000 Subject: [PATCH 787/991] - Import commit 5a506d73bde7ba9261985f8e9ce084044a519432 (merge of v252.4) It includes the following fixes: 9b75a3d050 coredump: do not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/bf3fef99886bd977a1c7a51d20087bc8977fff44...5a506d73bde7ba9261985f8e9ce084044a519432 Additionally, it also includes the following backports: - 20ca3155c5 localed: reload PID1 configuration after modifying /etc/locale.conf - 3538c202fd test: update TEST-73-LOCALE to define several locale settings in initial PID1 environment - Drop 5000-coredump-adjust-whitespace.patch 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch They are part of v252.4. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1338 --- 5000-coredump-adjust-whitespace.patch | 101 ----- ...allow-user-to-access-coredumps-with-.patch | 385 ------------------ systemd-v252.3+suse.40.gbf3fef9988.tar.xz | 3 - systemd-v252.4+suse.44.g5a506d73bd.tar.xz | 3 + systemd.changes | 22 + systemd.spec | 6 +- 6 files changed, 27 insertions(+), 493 deletions(-) delete mode 100644 5000-coredump-adjust-whitespace.patch delete mode 100644 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch delete mode 100644 systemd-v252.3+suse.40.gbf3fef9988.tar.xz create mode 100644 systemd-v252.4+suse.44.g5a506d73bd.tar.xz diff --git a/5000-coredump-adjust-whitespace.patch b/5000-coredump-adjust-whitespace.patch deleted file mode 100644 index ab21a57e..00000000 --- a/5000-coredump-adjust-whitespace.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 2f427f96135fbf3743eb58cfa9216fb605f0891d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 29 Nov 2022 09:00:16 +0100 -Subject: [PATCH 5000/5001] coredump: adjust whitespace - ---- - src/coredump/coredump.c | 56 ++++++++++++++++++++--------------------- - 1 file changed, 28 insertions(+), 28 deletions(-) - -diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c -index 98e7492811..7a181bdeeb 100644 ---- a/src/coredump/coredump.c -+++ b/src/coredump/coredump.c -@@ -110,16 +110,16 @@ enum { - }; - - static const char * const meta_field_names[_META_MAX] = { -- [META_ARGV_PID] = "COREDUMP_PID=", -- [META_ARGV_UID] = "COREDUMP_UID=", -- [META_ARGV_GID] = "COREDUMP_GID=", -- [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", -- [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", -- [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", -- [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", -- [META_COMM] = "COREDUMP_COMM=", -- [META_EXE] = "COREDUMP_EXE=", -- [META_UNIT] = "COREDUMP_UNIT=", -+ [META_ARGV_PID] = "COREDUMP_PID=", -+ [META_ARGV_UID] = "COREDUMP_UID=", -+ [META_ARGV_GID] = "COREDUMP_GID=", -+ [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", -+ [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", -+ [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", -+ [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", -+ [META_COMM] = "COREDUMP_COMM=", -+ [META_EXE] = "COREDUMP_EXE=", -+ [META_UNIT] = "COREDUMP_UNIT=", - }; - - typedef struct Context { -@@ -138,9 +138,9 @@ typedef enum CoredumpStorage { - } CoredumpStorage; - - static const char* const coredump_storage_table[_COREDUMP_STORAGE_MAX] = { -- [COREDUMP_STORAGE_NONE] = "none", -+ [COREDUMP_STORAGE_NONE] = "none", - [COREDUMP_STORAGE_EXTERNAL] = "external", -- [COREDUMP_STORAGE_JOURNAL] = "journal", -+ [COREDUMP_STORAGE_JOURNAL] = "journal", - }; - - DEFINE_PRIVATE_STRING_TABLE_LOOKUP(coredump_storage, CoredumpStorage); -@@ -156,13 +156,13 @@ static uint64_t arg_max_use = UINT64_MAX; - - static int parse_config(void) { - static const ConfigTableItem items[] = { -- { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, -- { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, -- { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, -- { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, -- { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, -- { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, -- { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, -+ { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, -+ { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, -+ { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, -+ { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, -+ { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, -+ { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, -+ { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, - {} - }; - -@@ -208,15 +208,15 @@ static int fix_acl(int fd, uid_t uid) { - static int fix_xattr(int fd, const Context *context) { - - static const char * const xattrs[_META_MAX] = { -- [META_ARGV_PID] = "user.coredump.pid", -- [META_ARGV_UID] = "user.coredump.uid", -- [META_ARGV_GID] = "user.coredump.gid", -- [META_ARGV_SIGNAL] = "user.coredump.signal", -- [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", -- [META_ARGV_RLIMIT] = "user.coredump.rlimit", -- [META_ARGV_HOSTNAME] = "user.coredump.hostname", -- [META_COMM] = "user.coredump.comm", -- [META_EXE] = "user.coredump.exe", -+ [META_ARGV_PID] = "user.coredump.pid", -+ [META_ARGV_UID] = "user.coredump.uid", -+ [META_ARGV_GID] = "user.coredump.gid", -+ [META_ARGV_SIGNAL] = "user.coredump.signal", -+ [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", -+ [META_ARGV_RLIMIT] = "user.coredump.rlimit", -+ [META_ARGV_HOSTNAME] = "user.coredump.hostname", -+ [META_COMM] = "user.coredump.comm", -+ [META_EXE] = "user.coredump.exe", - }; - - int r = 0; --- -2.35.3 - diff --git a/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch b/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch deleted file mode 100644 index aedc307c..00000000 --- a/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch +++ /dev/null @@ -1,385 +0,0 @@ -From 87cad85ebec62e63893df46ff78becf82e984bee Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 28 Nov 2022 12:12:55 +0100 -Subject: [PATCH 5001/5001] coredump: do not allow user to access coredumps - with changed uid/gid/capabilities - -When the user starts a program which elevates its permissions via setuid, -setgid, or capabilities set on the file, it may access additional information -which would then be visible in the coredump. We shouldn't make the the coredump -visible to the user in such cases. - -Reported-by: Matthias Gerstner - -This reads the /proc//auxv file and attaches it to the process metadata as -PROC_AUXV. Before the coredump is submitted, it is parsed and if either -at_secure was set (which the kernel will do for processes that are setuid, -setgid, or setcap), or if the effective uid/gid don't match uid/gid, the file -is not made accessible to the user. If we can't access this data, we assume the -file should not be made accessible either. In principle we could also access -the auxv data from a note in the core file, but that is much more complex and -it seems better to use the stand-alone file that is provided by the kernel. - -Attaching auxv is both convient for this patch (because this way it's passed -between the stages along with other fields), but I think it makes sense to save -it in general. - -We use the information early in the core file to figure out if the program was -32-bit or 64-bit and its endianness. This way we don't need heuristics to guess -whether the format of the auxv structure. This test might reject some cases on -fringe architecutes. But the impact would be limited: we just won't grant the -user permissions to view the coredump file. If people report that we're missing -some cases, we can always enhance this to support more architectures. - -I tested auxv parsing on amd64, 32-bit program on amd64, arm64, arm32, and -ppc64el, but not the whole coredump handling. - -[fbui: fixes bsc#1205000] -[fbui: fixes CVE-2022-4415] ---- - src/basic/io-util.h | 9 ++ - src/coredump/coredump.c | 196 +++++++++++++++++++++++++++++++++++++--- - 2 files changed, 192 insertions(+), 13 deletions(-) - -diff --git a/src/basic/io-util.h b/src/basic/io-util.h -index 39728e06bc..3afb134266 100644 ---- a/src/basic/io-util.h -+++ b/src/basic/io-util.h -@@ -91,7 +91,16 @@ struct iovec_wrapper *iovw_new(void); - struct iovec_wrapper *iovw_free(struct iovec_wrapper *iovw); - struct iovec_wrapper *iovw_free_free(struct iovec_wrapper *iovw); - void iovw_free_contents(struct iovec_wrapper *iovw, bool free_vectors); -+ - int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len); -+static inline int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) { -+ /* Move data into iovw or free on error */ -+ int r = iovw_put(iovw, data, len); -+ if (r < 0) -+ free(data); -+ return r; -+} -+ - int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const char *value); - int iovw_put_string_field_free(struct iovec_wrapper *iovw, const char *field, char *value); - void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new); -diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c -index 7a181bdeeb..ea3d8c415a 100644 ---- a/src/coredump/coredump.c -+++ b/src/coredump/coredump.c -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -106,6 +107,7 @@ enum { - - META_EXE = _META_MANDATORY_MAX, - META_UNIT, -+ META_PROC_AUXV, - _META_MAX - }; - -@@ -120,10 +122,12 @@ static const char * const meta_field_names[_META_MAX] = { - [META_COMM] = "COREDUMP_COMM=", - [META_EXE] = "COREDUMP_EXE=", - [META_UNIT] = "COREDUMP_UNIT=", -+ [META_PROC_AUXV] = "COREDUMP_PROC_AUXV=", - }; - - typedef struct Context { - const char *meta[_META_MAX]; -+ size_t meta_size[_META_MAX]; - pid_t pid; - bool is_pid1; - bool is_journald; -@@ -185,13 +189,16 @@ static uint64_t storage_size_max(void) { - return 0; - } - --static int fix_acl(int fd, uid_t uid) { -+static int fix_acl(int fd, uid_t uid, bool allow_user) { -+ assert(fd >= 0); -+ assert(uid_is_valid(uid)); - - #if HAVE_ACL - int r; - -- assert(fd >= 0); -- assert(uid_is_valid(uid)); -+ /* We don't allow users to read coredumps if the uid or capabilities were changed. */ -+ if (!allow_user) -+ return 0; - - if (uid_is_system(uid) || uid_is_dynamic(uid) || uid == UID_NOBODY) - return 0; -@@ -251,7 +258,8 @@ static int fix_permissions( - const char *filename, - const char *target, - const Context *context, -- uid_t uid) { -+ uid_t uid, -+ bool allow_user) { - - int r; - -@@ -261,7 +269,7 @@ static int fix_permissions( - - /* Ignore errors on these */ - (void) fchmod(fd, 0640); -- (void) fix_acl(fd, uid); -+ (void) fix_acl(fd, uid, allow_user); - (void) fix_xattr(fd, context); - - r = fsync_full(fd); -@@ -331,6 +339,153 @@ static int make_filename(const Context *context, char **ret) { - return 0; - } - -+static int parse_auxv64( -+ const uint64_t *auxv, -+ size_t size_bytes, -+ int *at_secure, -+ uid_t *uid, -+ uid_t *euid, -+ gid_t *gid, -+ gid_t *egid) { -+ -+ assert(auxv || size_bytes == 0); -+ -+ if (size_bytes % (2 * sizeof(uint64_t)) != 0) -+ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); -+ -+ size_t words = size_bytes / sizeof(uint64_t); -+ -+ /* Note that we set output variables even on error. */ -+ -+ for (size_t i = 0; i + 1 < words; i += 2) -+ switch (auxv[i]) { -+ case AT_SECURE: -+ *at_secure = auxv[i + 1] != 0; -+ break; -+ case AT_UID: -+ *uid = auxv[i + 1]; -+ break; -+ case AT_EUID: -+ *euid = auxv[i + 1]; -+ break; -+ case AT_GID: -+ *gid = auxv[i + 1]; -+ break; -+ case AT_EGID: -+ *egid = auxv[i + 1]; -+ break; -+ case AT_NULL: -+ if (auxv[i + 1] != 0) -+ goto error; -+ return 0; -+ } -+ error: -+ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), -+ "AT_NULL terminator not found, cannot parse auxv structure."); -+} -+ -+static int parse_auxv32( -+ const uint32_t *auxv, -+ size_t size_bytes, -+ int *at_secure, -+ uid_t *uid, -+ uid_t *euid, -+ gid_t *gid, -+ gid_t *egid) { -+ -+ assert(auxv || size_bytes == 0); -+ -+ size_t words = size_bytes / sizeof(uint32_t); -+ -+ if (size_bytes % (2 * sizeof(uint32_t)) != 0) -+ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); -+ -+ /* Note that we set output variables even on error. */ -+ -+ for (size_t i = 0; i + 1 < words; i += 2) -+ switch (auxv[i]) { -+ case AT_SECURE: -+ *at_secure = auxv[i + 1] != 0; -+ break; -+ case AT_UID: -+ *uid = auxv[i + 1]; -+ break; -+ case AT_EUID: -+ *euid = auxv[i + 1]; -+ break; -+ case AT_GID: -+ *gid = auxv[i + 1]; -+ break; -+ case AT_EGID: -+ *egid = auxv[i + 1]; -+ break; -+ case AT_NULL: -+ if (auxv[i + 1] != 0) -+ goto error; -+ return 0; -+ } -+ error: -+ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), -+ "AT_NULL terminator not found, cannot parse auxv structure."); -+} -+ -+static int grant_user_access(int core_fd, const Context *context) { -+ int at_secure = -1; -+ uid_t uid = UID_INVALID, euid = UID_INVALID; -+ uid_t gid = GID_INVALID, egid = GID_INVALID; -+ int r; -+ -+ assert(core_fd >= 0); -+ assert(context); -+ -+ if (!context->meta[META_PROC_AUXV]) -+ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), "No auxv data, not adjusting permissions."); -+ -+ uint8_t elf[EI_NIDENT]; -+ errno = 0; -+ if (pread(core_fd, &elf, sizeof(elf), 0) != sizeof(elf)) -+ return log_warning_errno(errno_or_else(EIO), -+ "Failed to pread from coredump fd: %s", STRERROR_OR_EOF(errno)); -+ -+ if (elf[EI_MAG0] != ELFMAG0 || -+ elf[EI_MAG1] != ELFMAG1 || -+ elf[EI_MAG2] != ELFMAG2 || -+ elf[EI_MAG3] != ELFMAG3 || -+ elf[EI_VERSION] != EV_CURRENT) -+ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), -+ "Core file does not have ELF header, not adjusting permissions."); -+ if (!IN_SET(elf[EI_CLASS], ELFCLASS32, ELFCLASS64) || -+ !IN_SET(elf[EI_DATA], ELFDATA2LSB, ELFDATA2MSB)) -+ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), -+ "Core file has strange ELF class, not adjusting permissions."); -+ -+ if ((elf[EI_DATA] == ELFDATA2LSB) != (__BYTE_ORDER == __LITTLE_ENDIAN)) -+ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), -+ "Core file has non-native endianness, not adjusting permissions."); -+ -+ if (elf[EI_CLASS] == ELFCLASS64) -+ r = parse_auxv64((const uint64_t*) context->meta[META_PROC_AUXV], -+ context->meta_size[META_PROC_AUXV], -+ &at_secure, &uid, &euid, &gid, &egid); -+ else -+ r = parse_auxv32((const uint32_t*) context->meta[META_PROC_AUXV], -+ context->meta_size[META_PROC_AUXV], -+ &at_secure, &uid, &euid, &gid, &egid); -+ if (r < 0) -+ return r; -+ -+ /* We allow access if we got all the data and at_secure is not set and -+ * the uid/gid matches euid/egid. */ -+ bool ret = -+ at_secure == 0 && -+ uid != UID_INVALID && euid != UID_INVALID && uid == euid && -+ gid != GID_INVALID && egid != GID_INVALID && gid == egid; -+ log_debug("Will %s access (uid="UID_FMT " euid="UID_FMT " gid="GID_FMT " egid="GID_FMT " at_secure=%s)", -+ ret ? "permit" : "restrict", -+ uid, euid, gid, egid, yes_no(at_secure)); -+ return ret; -+} -+ - static int save_external_coredump( - const Context *context, - int input_fd, -@@ -453,6 +608,8 @@ static int save_external_coredump( - context->meta[META_ARGV_PID], context->meta[META_COMM]); - truncated = r == 1; - -+ bool allow_user = grant_user_access(fd, context) > 0; -+ - #if HAVE_COMPRESSION - if (arg_compress) { - _cleanup_(unlink_and_freep) char *tmp_compressed = NULL; -@@ -490,7 +647,7 @@ static int save_external_coredump( - uncompressed_size += partial_uncompressed_size; - } - -- r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid); -+ r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid, allow_user); - if (r < 0) - return r; - -@@ -517,7 +674,7 @@ static int save_external_coredump( - "SIZE_LIMIT=%"PRIu64, max_size, - "MESSAGE_ID=" SD_MESSAGE_TRUNCATED_CORE_STR); - -- r = fix_permissions(fd, tmp, fn, context, uid); -+ r = fix_permissions(fd, tmp, fn, context, uid, allow_user); - if (r < 0) - return log_error_errno(r, "Failed to fix permissions and finalize coredump %s into %s: %m", coredump_tmpfile_name(tmp), fn); - -@@ -765,7 +922,7 @@ static int change_uid_gid(const Context *context) { - } - - static int submit_coredump( -- Context *context, -+ const Context *context, - struct iovec_wrapper *iovw, - int input_fd) { - -@@ -944,16 +1101,15 @@ static int save_context(Context *context, const struct iovec_wrapper *iovw) { - struct iovec *iovec = iovw->iovec + n; - - for (size_t i = 0; i < ELEMENTSOF(meta_field_names); i++) { -- char *p; -- - /* Note that these strings are NUL terminated, because we made sure that a - * trailing NUL byte is in the buffer, though not included in the iov_len - * count (see process_socket() and gather_pid_metadata_*()) */ - assert(((char*) iovec->iov_base)[iovec->iov_len] == 0); - -- p = startswith(iovec->iov_base, meta_field_names[i]); -+ const char *p = startswith(iovec->iov_base, meta_field_names[i]); - if (p) { - context->meta[i] = p; -+ context->meta_size[i] = iovec->iov_len - strlen(meta_field_names[i]); - break; - } - } -@@ -1190,6 +1346,7 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { - uid_t owner_uid; - pid_t pid; - char *t; -+ size_t size; - const char *p; - int r; - -@@ -1254,13 +1411,26 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { - (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_LIMITS=", t); - - p = procfs_file_alloca(pid, "cgroup"); -- if (read_full_virtual_file(p, &t, NULL) >=0) -+ if (read_full_virtual_file(p, &t, NULL) >= 0) - (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_CGROUP=", t); - - p = procfs_file_alloca(pid, "mountinfo"); -- if (read_full_virtual_file(p, &t, NULL) >=0) -+ if (read_full_virtual_file(p, &t, NULL) >= 0) - (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_MOUNTINFO=", t); - -+ /* We attach /proc/auxv here. ELF coredumps also contain a note for this (NT_AUXV), see elf(5). */ -+ p = procfs_file_alloca(pid, "auxv"); -+ if (read_full_virtual_file(p, &t, &size) >= 0) { -+ char *buf = malloc(strlen("COREDUMP_PROC_AUXV=") + size + 1); -+ if (buf) { -+ /* Add a dummy terminator to make save_context() happy. */ -+ *((uint8_t*) mempcpy(stpcpy(buf, "COREDUMP_PROC_AUXV="), t, size)) = '\0'; -+ (void) iovw_consume(iovw, buf, size + strlen("COREDUMP_PROC_AUXV=")); -+ } -+ -+ free(t); -+ } -+ - if (get_process_cwd(pid, &t) >= 0) - (void) iovw_put_string_field_free(iovw, "COREDUMP_CWD=", t); - --- -2.35.3 - diff --git a/systemd-v252.3+suse.40.gbf3fef9988.tar.xz b/systemd-v252.3+suse.40.gbf3fef9988.tar.xz deleted file mode 100644 index a630a377..00000000 --- a/systemd-v252.3+suse.40.gbf3fef9988.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4274c52c308874f73756af1fe91d0cf35ab72112f6ba593399398eddd17cc0c4 -size 8040380 diff --git a/systemd-v252.4+suse.44.g5a506d73bd.tar.xz b/systemd-v252.4+suse.44.g5a506d73bd.tar.xz new file mode 100644 index 00000000..0421d76b --- /dev/null +++ b/systemd-v252.4+suse.44.g5a506d73bd.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c897cd9b3d3b7ba9fdb5600ddb2f9aff285abc479f190bbbdcec8ca37c95b8b +size 8042788 diff --git a/systemd.changes b/systemd.changes index 7d06424f..564a5a19 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Wed Dec 21 07:31:38 UTC 2022 - Franck Bui + +- Import commit 5a506d73bde7ba9261985f8e9ce084044a519432 (merge of v252.4) + + It includes the following fixes: + + 9b75a3d050 coredump: do not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/bf3fef99886bd977a1c7a51d20087bc8977fff44...5a506d73bde7ba9261985f8e9ce084044a519432 + + Additionally, it also includes the following backports: + + - 20ca3155c5 localed: reload PID1 configuration after modifying /etc/locale.conf + - 3538c202fd test: update TEST-73-LOCALE to define several locale settings in initial PID1 environment + +- Drop 5000-coredump-adjust-whitespace.patch + 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch + + They are part of v252.4. + ------------------------------------------------------------------- Mon Dec 19 07:50:15 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4037f598..6f3b93b7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.40.gbf3fef9988 +%define archive_version +suse.44.g5a506d73bd %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.3 +Version: 252.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -216,8 +216,6 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch5000: 5000-coredump-adjust-whitespace.patch -Patch5001: 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 13d51971ecbfbb1e6ee39b45d6480780fc204c3d1a3ed208244acab6d52f308a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 6 Jan 2023 10:11:58 +0000 Subject: [PATCH 788/991] - Add 5000-rules-add-missing-line-continuation.patch until commit de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 is backported to the v252 stable tree. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1339 --- ...-rules-add-missing-line-continuation.patch | 28 +++++++++++++++++++ systemd.changes | 7 +++++ systemd.spec | 3 +- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 5000-rules-add-missing-line-continuation.patch diff --git a/5000-rules-add-missing-line-continuation.patch b/5000-rules-add-missing-line-continuation.patch new file mode 100644 index 00000000..a0cfa7dd --- /dev/null +++ b/5000-rules-add-missing-line-continuation.patch @@ -0,0 +1,28 @@ +From de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Wed, 21 Dec 2022 17:32:56 +0900 +Subject: [PATCH 5000/5000] rules: add missing line continuation + +Fixes a bug introduced by 953c928c24455744d5534679998d129b947a5e04. + +Fixes #25811. +--- + rules.d/60-evdev.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rules.d/60-evdev.rules b/rules.d/60-evdev.rules +index 15483101e7..c97cdecb58 100644 +--- a/rules.d/60-evdev.rules ++++ b/rules.d/60-evdev.rules +@@ -6,7 +6,7 @@ KERNEL!="event*", GOTO="evdev_end" + # Execute the match patterns below, from least-to-most specific. + + # Device matching the modalias string (bustype, vendor, product, version, other properties) +-IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", ++IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", \ + ENV{.HAVE_HWDB_PROPERTIES}="1" + + # AT keyboard matching by the machine's DMI data +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 564a5a19..cd0000d2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Jan 6 10:10:37 UTC 2023 - Franck Bui + +- Add 5000-rules-add-missing-line-continuation.patch until commit + de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 is backported to the v252 stable + tree. + ------------------------------------------------------------------- Wed Dec 21 07:31:38 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6f3b93b7..71f0d042 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -216,6 +216,7 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. +Patch5000: 5000-rules-add-missing-line-continuation.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 59b703ed3989179735bf9b190c080a09ceb455dd0725111114b467388a92a73f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 7 Jan 2023 16:16:19 +0000 Subject: [PATCH 789/991] Accepting request 1056400 from Base:System - Add 5000-rules-add-missing-line-continuation.patch until commit de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 is backported to the v252 stable tree. - Import commit 5a506d73bde7ba9261985f8e9ce084044a519432 (merge of v252.4) It includes the following fixes: 9b75a3d050 coredump: do not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/bf3fef99886bd977a1c7a51d20087bc8977fff44...5a506d73bde7ba9261985f8e9ce084044a519432 Additionally, it also includes the following backports: - 20ca3155c5 localed: reload PID1 configuration after modifying /etc/locale.conf - 3538c202fd test: update TEST-73-LOCALE to define several locale settings in initial PID1 environment - Drop 5000-coredump-adjust-whitespace.patch 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch They are part of v252.4. OBS-URL: https://build.opensuse.org/request/show/1056400 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=376 --- 5000-coredump-adjust-whitespace.patch | 101 ----- ...-rules-add-missing-line-continuation.patch | 28 ++ ...allow-user-to-access-coredumps-with-.patch | 385 ------------------ systemd-v252.3+suse.40.gbf3fef9988.tar.xz | 3 - systemd-v252.4+suse.44.g5a506d73bd.tar.xz | 3 + systemd.changes | 29 ++ systemd.spec | 9 +- 7 files changed, 64 insertions(+), 494 deletions(-) delete mode 100644 5000-coredump-adjust-whitespace.patch create mode 100644 5000-rules-add-missing-line-continuation.patch delete mode 100644 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch delete mode 100644 systemd-v252.3+suse.40.gbf3fef9988.tar.xz create mode 100644 systemd-v252.4+suse.44.g5a506d73bd.tar.xz diff --git a/5000-coredump-adjust-whitespace.patch b/5000-coredump-adjust-whitespace.patch deleted file mode 100644 index ab21a57e..00000000 --- a/5000-coredump-adjust-whitespace.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 2f427f96135fbf3743eb58cfa9216fb605f0891d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 29 Nov 2022 09:00:16 +0100 -Subject: [PATCH 5000/5001] coredump: adjust whitespace - ---- - src/coredump/coredump.c | 56 ++++++++++++++++++++--------------------- - 1 file changed, 28 insertions(+), 28 deletions(-) - -diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c -index 98e7492811..7a181bdeeb 100644 ---- a/src/coredump/coredump.c -+++ b/src/coredump/coredump.c -@@ -110,16 +110,16 @@ enum { - }; - - static const char * const meta_field_names[_META_MAX] = { -- [META_ARGV_PID] = "COREDUMP_PID=", -- [META_ARGV_UID] = "COREDUMP_UID=", -- [META_ARGV_GID] = "COREDUMP_GID=", -- [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", -- [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", -- [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", -- [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", -- [META_COMM] = "COREDUMP_COMM=", -- [META_EXE] = "COREDUMP_EXE=", -- [META_UNIT] = "COREDUMP_UNIT=", -+ [META_ARGV_PID] = "COREDUMP_PID=", -+ [META_ARGV_UID] = "COREDUMP_UID=", -+ [META_ARGV_GID] = "COREDUMP_GID=", -+ [META_ARGV_SIGNAL] = "COREDUMP_SIGNAL=", -+ [META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=", -+ [META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=", -+ [META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=", -+ [META_COMM] = "COREDUMP_COMM=", -+ [META_EXE] = "COREDUMP_EXE=", -+ [META_UNIT] = "COREDUMP_UNIT=", - }; - - typedef struct Context { -@@ -138,9 +138,9 @@ typedef enum CoredumpStorage { - } CoredumpStorage; - - static const char* const coredump_storage_table[_COREDUMP_STORAGE_MAX] = { -- [COREDUMP_STORAGE_NONE] = "none", -+ [COREDUMP_STORAGE_NONE] = "none", - [COREDUMP_STORAGE_EXTERNAL] = "external", -- [COREDUMP_STORAGE_JOURNAL] = "journal", -+ [COREDUMP_STORAGE_JOURNAL] = "journal", - }; - - DEFINE_PRIVATE_STRING_TABLE_LOOKUP(coredump_storage, CoredumpStorage); -@@ -156,13 +156,13 @@ static uint64_t arg_max_use = UINT64_MAX; - - static int parse_config(void) { - static const ConfigTableItem items[] = { -- { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, -- { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, -- { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, -- { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, -- { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, -- { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, -- { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, -+ { "Coredump", "Storage", config_parse_coredump_storage, 0, &arg_storage }, -+ { "Coredump", "Compress", config_parse_bool, 0, &arg_compress }, -+ { "Coredump", "ProcessSizeMax", config_parse_iec_uint64, 0, &arg_process_size_max }, -+ { "Coredump", "ExternalSizeMax", config_parse_iec_uint64_infinity, 0, &arg_external_size_max }, -+ { "Coredump", "JournalSizeMax", config_parse_iec_size, 0, &arg_journal_size_max }, -+ { "Coredump", "KeepFree", config_parse_iec_uint64, 0, &arg_keep_free }, -+ { "Coredump", "MaxUse", config_parse_iec_uint64, 0, &arg_max_use }, - {} - }; - -@@ -208,15 +208,15 @@ static int fix_acl(int fd, uid_t uid) { - static int fix_xattr(int fd, const Context *context) { - - static const char * const xattrs[_META_MAX] = { -- [META_ARGV_PID] = "user.coredump.pid", -- [META_ARGV_UID] = "user.coredump.uid", -- [META_ARGV_GID] = "user.coredump.gid", -- [META_ARGV_SIGNAL] = "user.coredump.signal", -- [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", -- [META_ARGV_RLIMIT] = "user.coredump.rlimit", -- [META_ARGV_HOSTNAME] = "user.coredump.hostname", -- [META_COMM] = "user.coredump.comm", -- [META_EXE] = "user.coredump.exe", -+ [META_ARGV_PID] = "user.coredump.pid", -+ [META_ARGV_UID] = "user.coredump.uid", -+ [META_ARGV_GID] = "user.coredump.gid", -+ [META_ARGV_SIGNAL] = "user.coredump.signal", -+ [META_ARGV_TIMESTAMP] = "user.coredump.timestamp", -+ [META_ARGV_RLIMIT] = "user.coredump.rlimit", -+ [META_ARGV_HOSTNAME] = "user.coredump.hostname", -+ [META_COMM] = "user.coredump.comm", -+ [META_EXE] = "user.coredump.exe", - }; - - int r = 0; --- -2.35.3 - diff --git a/5000-rules-add-missing-line-continuation.patch b/5000-rules-add-missing-line-continuation.patch new file mode 100644 index 00000000..a0cfa7dd --- /dev/null +++ b/5000-rules-add-missing-line-continuation.patch @@ -0,0 +1,28 @@ +From de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Wed, 21 Dec 2022 17:32:56 +0900 +Subject: [PATCH 5000/5000] rules: add missing line continuation + +Fixes a bug introduced by 953c928c24455744d5534679998d129b947a5e04. + +Fixes #25811. +--- + rules.d/60-evdev.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rules.d/60-evdev.rules b/rules.d/60-evdev.rules +index 15483101e7..c97cdecb58 100644 +--- a/rules.d/60-evdev.rules ++++ b/rules.d/60-evdev.rules +@@ -6,7 +6,7 @@ KERNEL!="event*", GOTO="evdev_end" + # Execute the match patterns below, from least-to-most specific. + + # Device matching the modalias string (bustype, vendor, product, version, other properties) +-IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", ++IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", \ + ENV{.HAVE_HWDB_PROPERTIES}="1" + + # AT keyboard matching by the machine's DMI data +-- +2.35.3 + diff --git a/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch b/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch deleted file mode 100644 index aedc307c..00000000 --- a/5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch +++ /dev/null @@ -1,385 +0,0 @@ -From 87cad85ebec62e63893df46ff78becf82e984bee Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 28 Nov 2022 12:12:55 +0100 -Subject: [PATCH 5001/5001] coredump: do not allow user to access coredumps - with changed uid/gid/capabilities - -When the user starts a program which elevates its permissions via setuid, -setgid, or capabilities set on the file, it may access additional information -which would then be visible in the coredump. We shouldn't make the the coredump -visible to the user in such cases. - -Reported-by: Matthias Gerstner - -This reads the /proc//auxv file and attaches it to the process metadata as -PROC_AUXV. Before the coredump is submitted, it is parsed and if either -at_secure was set (which the kernel will do for processes that are setuid, -setgid, or setcap), or if the effective uid/gid don't match uid/gid, the file -is not made accessible to the user. If we can't access this data, we assume the -file should not be made accessible either. In principle we could also access -the auxv data from a note in the core file, but that is much more complex and -it seems better to use the stand-alone file that is provided by the kernel. - -Attaching auxv is both convient for this patch (because this way it's passed -between the stages along with other fields), but I think it makes sense to save -it in general. - -We use the information early in the core file to figure out if the program was -32-bit or 64-bit and its endianness. This way we don't need heuristics to guess -whether the format of the auxv structure. This test might reject some cases on -fringe architecutes. But the impact would be limited: we just won't grant the -user permissions to view the coredump file. If people report that we're missing -some cases, we can always enhance this to support more architectures. - -I tested auxv parsing on amd64, 32-bit program on amd64, arm64, arm32, and -ppc64el, but not the whole coredump handling. - -[fbui: fixes bsc#1205000] -[fbui: fixes CVE-2022-4415] ---- - src/basic/io-util.h | 9 ++ - src/coredump/coredump.c | 196 +++++++++++++++++++++++++++++++++++++--- - 2 files changed, 192 insertions(+), 13 deletions(-) - -diff --git a/src/basic/io-util.h b/src/basic/io-util.h -index 39728e06bc..3afb134266 100644 ---- a/src/basic/io-util.h -+++ b/src/basic/io-util.h -@@ -91,7 +91,16 @@ struct iovec_wrapper *iovw_new(void); - struct iovec_wrapper *iovw_free(struct iovec_wrapper *iovw); - struct iovec_wrapper *iovw_free_free(struct iovec_wrapper *iovw); - void iovw_free_contents(struct iovec_wrapper *iovw, bool free_vectors); -+ - int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len); -+static inline int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) { -+ /* Move data into iovw or free on error */ -+ int r = iovw_put(iovw, data, len); -+ if (r < 0) -+ free(data); -+ return r; -+} -+ - int iovw_put_string_field(struct iovec_wrapper *iovw, const char *field, const char *value); - int iovw_put_string_field_free(struct iovec_wrapper *iovw, const char *field, char *value); - void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new); -diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c -index 7a181bdeeb..ea3d8c415a 100644 ---- a/src/coredump/coredump.c -+++ b/src/coredump/coredump.c -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -106,6 +107,7 @@ enum { - - META_EXE = _META_MANDATORY_MAX, - META_UNIT, -+ META_PROC_AUXV, - _META_MAX - }; - -@@ -120,10 +122,12 @@ static const char * const meta_field_names[_META_MAX] = { - [META_COMM] = "COREDUMP_COMM=", - [META_EXE] = "COREDUMP_EXE=", - [META_UNIT] = "COREDUMP_UNIT=", -+ [META_PROC_AUXV] = "COREDUMP_PROC_AUXV=", - }; - - typedef struct Context { - const char *meta[_META_MAX]; -+ size_t meta_size[_META_MAX]; - pid_t pid; - bool is_pid1; - bool is_journald; -@@ -185,13 +189,16 @@ static uint64_t storage_size_max(void) { - return 0; - } - --static int fix_acl(int fd, uid_t uid) { -+static int fix_acl(int fd, uid_t uid, bool allow_user) { -+ assert(fd >= 0); -+ assert(uid_is_valid(uid)); - - #if HAVE_ACL - int r; - -- assert(fd >= 0); -- assert(uid_is_valid(uid)); -+ /* We don't allow users to read coredumps if the uid or capabilities were changed. */ -+ if (!allow_user) -+ return 0; - - if (uid_is_system(uid) || uid_is_dynamic(uid) || uid == UID_NOBODY) - return 0; -@@ -251,7 +258,8 @@ static int fix_permissions( - const char *filename, - const char *target, - const Context *context, -- uid_t uid) { -+ uid_t uid, -+ bool allow_user) { - - int r; - -@@ -261,7 +269,7 @@ static int fix_permissions( - - /* Ignore errors on these */ - (void) fchmod(fd, 0640); -- (void) fix_acl(fd, uid); -+ (void) fix_acl(fd, uid, allow_user); - (void) fix_xattr(fd, context); - - r = fsync_full(fd); -@@ -331,6 +339,153 @@ static int make_filename(const Context *context, char **ret) { - return 0; - } - -+static int parse_auxv64( -+ const uint64_t *auxv, -+ size_t size_bytes, -+ int *at_secure, -+ uid_t *uid, -+ uid_t *euid, -+ gid_t *gid, -+ gid_t *egid) { -+ -+ assert(auxv || size_bytes == 0); -+ -+ if (size_bytes % (2 * sizeof(uint64_t)) != 0) -+ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); -+ -+ size_t words = size_bytes / sizeof(uint64_t); -+ -+ /* Note that we set output variables even on error. */ -+ -+ for (size_t i = 0; i + 1 < words; i += 2) -+ switch (auxv[i]) { -+ case AT_SECURE: -+ *at_secure = auxv[i + 1] != 0; -+ break; -+ case AT_UID: -+ *uid = auxv[i + 1]; -+ break; -+ case AT_EUID: -+ *euid = auxv[i + 1]; -+ break; -+ case AT_GID: -+ *gid = auxv[i + 1]; -+ break; -+ case AT_EGID: -+ *egid = auxv[i + 1]; -+ break; -+ case AT_NULL: -+ if (auxv[i + 1] != 0) -+ goto error; -+ return 0; -+ } -+ error: -+ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), -+ "AT_NULL terminator not found, cannot parse auxv structure."); -+} -+ -+static int parse_auxv32( -+ const uint32_t *auxv, -+ size_t size_bytes, -+ int *at_secure, -+ uid_t *uid, -+ uid_t *euid, -+ gid_t *gid, -+ gid_t *egid) { -+ -+ assert(auxv || size_bytes == 0); -+ -+ size_t words = size_bytes / sizeof(uint32_t); -+ -+ if (size_bytes % (2 * sizeof(uint32_t)) != 0) -+ return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Incomplete auxv structure (%zu bytes).", size_bytes); -+ -+ /* Note that we set output variables even on error. */ -+ -+ for (size_t i = 0; i + 1 < words; i += 2) -+ switch (auxv[i]) { -+ case AT_SECURE: -+ *at_secure = auxv[i + 1] != 0; -+ break; -+ case AT_UID: -+ *uid = auxv[i + 1]; -+ break; -+ case AT_EUID: -+ *euid = auxv[i + 1]; -+ break; -+ case AT_GID: -+ *gid = auxv[i + 1]; -+ break; -+ case AT_EGID: -+ *egid = auxv[i + 1]; -+ break; -+ case AT_NULL: -+ if (auxv[i + 1] != 0) -+ goto error; -+ return 0; -+ } -+ error: -+ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), -+ "AT_NULL terminator not found, cannot parse auxv structure."); -+} -+ -+static int grant_user_access(int core_fd, const Context *context) { -+ int at_secure = -1; -+ uid_t uid = UID_INVALID, euid = UID_INVALID; -+ uid_t gid = GID_INVALID, egid = GID_INVALID; -+ int r; -+ -+ assert(core_fd >= 0); -+ assert(context); -+ -+ if (!context->meta[META_PROC_AUXV]) -+ return log_warning_errno(SYNTHETIC_ERRNO(ENODATA), "No auxv data, not adjusting permissions."); -+ -+ uint8_t elf[EI_NIDENT]; -+ errno = 0; -+ if (pread(core_fd, &elf, sizeof(elf), 0) != sizeof(elf)) -+ return log_warning_errno(errno_or_else(EIO), -+ "Failed to pread from coredump fd: %s", STRERROR_OR_EOF(errno)); -+ -+ if (elf[EI_MAG0] != ELFMAG0 || -+ elf[EI_MAG1] != ELFMAG1 || -+ elf[EI_MAG2] != ELFMAG2 || -+ elf[EI_MAG3] != ELFMAG3 || -+ elf[EI_VERSION] != EV_CURRENT) -+ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), -+ "Core file does not have ELF header, not adjusting permissions."); -+ if (!IN_SET(elf[EI_CLASS], ELFCLASS32, ELFCLASS64) || -+ !IN_SET(elf[EI_DATA], ELFDATA2LSB, ELFDATA2MSB)) -+ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), -+ "Core file has strange ELF class, not adjusting permissions."); -+ -+ if ((elf[EI_DATA] == ELFDATA2LSB) != (__BYTE_ORDER == __LITTLE_ENDIAN)) -+ return log_info_errno(SYNTHETIC_ERRNO(EUCLEAN), -+ "Core file has non-native endianness, not adjusting permissions."); -+ -+ if (elf[EI_CLASS] == ELFCLASS64) -+ r = parse_auxv64((const uint64_t*) context->meta[META_PROC_AUXV], -+ context->meta_size[META_PROC_AUXV], -+ &at_secure, &uid, &euid, &gid, &egid); -+ else -+ r = parse_auxv32((const uint32_t*) context->meta[META_PROC_AUXV], -+ context->meta_size[META_PROC_AUXV], -+ &at_secure, &uid, &euid, &gid, &egid); -+ if (r < 0) -+ return r; -+ -+ /* We allow access if we got all the data and at_secure is not set and -+ * the uid/gid matches euid/egid. */ -+ bool ret = -+ at_secure == 0 && -+ uid != UID_INVALID && euid != UID_INVALID && uid == euid && -+ gid != GID_INVALID && egid != GID_INVALID && gid == egid; -+ log_debug("Will %s access (uid="UID_FMT " euid="UID_FMT " gid="GID_FMT " egid="GID_FMT " at_secure=%s)", -+ ret ? "permit" : "restrict", -+ uid, euid, gid, egid, yes_no(at_secure)); -+ return ret; -+} -+ - static int save_external_coredump( - const Context *context, - int input_fd, -@@ -453,6 +608,8 @@ static int save_external_coredump( - context->meta[META_ARGV_PID], context->meta[META_COMM]); - truncated = r == 1; - -+ bool allow_user = grant_user_access(fd, context) > 0; -+ - #if HAVE_COMPRESSION - if (arg_compress) { - _cleanup_(unlink_and_freep) char *tmp_compressed = NULL; -@@ -490,7 +647,7 @@ static int save_external_coredump( - uncompressed_size += partial_uncompressed_size; - } - -- r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid); -+ r = fix_permissions(fd_compressed, tmp_compressed, fn_compressed, context, uid, allow_user); - if (r < 0) - return r; - -@@ -517,7 +674,7 @@ static int save_external_coredump( - "SIZE_LIMIT=%"PRIu64, max_size, - "MESSAGE_ID=" SD_MESSAGE_TRUNCATED_CORE_STR); - -- r = fix_permissions(fd, tmp, fn, context, uid); -+ r = fix_permissions(fd, tmp, fn, context, uid, allow_user); - if (r < 0) - return log_error_errno(r, "Failed to fix permissions and finalize coredump %s into %s: %m", coredump_tmpfile_name(tmp), fn); - -@@ -765,7 +922,7 @@ static int change_uid_gid(const Context *context) { - } - - static int submit_coredump( -- Context *context, -+ const Context *context, - struct iovec_wrapper *iovw, - int input_fd) { - -@@ -944,16 +1101,15 @@ static int save_context(Context *context, const struct iovec_wrapper *iovw) { - struct iovec *iovec = iovw->iovec + n; - - for (size_t i = 0; i < ELEMENTSOF(meta_field_names); i++) { -- char *p; -- - /* Note that these strings are NUL terminated, because we made sure that a - * trailing NUL byte is in the buffer, though not included in the iov_len - * count (see process_socket() and gather_pid_metadata_*()) */ - assert(((char*) iovec->iov_base)[iovec->iov_len] == 0); - -- p = startswith(iovec->iov_base, meta_field_names[i]); -+ const char *p = startswith(iovec->iov_base, meta_field_names[i]); - if (p) { - context->meta[i] = p; -+ context->meta_size[i] = iovec->iov_len - strlen(meta_field_names[i]); - break; - } - } -@@ -1190,6 +1346,7 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { - uid_t owner_uid; - pid_t pid; - char *t; -+ size_t size; - const char *p; - int r; - -@@ -1254,13 +1411,26 @@ static int gather_pid_metadata(struct iovec_wrapper *iovw, Context *context) { - (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_LIMITS=", t); - - p = procfs_file_alloca(pid, "cgroup"); -- if (read_full_virtual_file(p, &t, NULL) >=0) -+ if (read_full_virtual_file(p, &t, NULL) >= 0) - (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_CGROUP=", t); - - p = procfs_file_alloca(pid, "mountinfo"); -- if (read_full_virtual_file(p, &t, NULL) >=0) -+ if (read_full_virtual_file(p, &t, NULL) >= 0) - (void) iovw_put_string_field_free(iovw, "COREDUMP_PROC_MOUNTINFO=", t); - -+ /* We attach /proc/auxv here. ELF coredumps also contain a note for this (NT_AUXV), see elf(5). */ -+ p = procfs_file_alloca(pid, "auxv"); -+ if (read_full_virtual_file(p, &t, &size) >= 0) { -+ char *buf = malloc(strlen("COREDUMP_PROC_AUXV=") + size + 1); -+ if (buf) { -+ /* Add a dummy terminator to make save_context() happy. */ -+ *((uint8_t*) mempcpy(stpcpy(buf, "COREDUMP_PROC_AUXV="), t, size)) = '\0'; -+ (void) iovw_consume(iovw, buf, size + strlen("COREDUMP_PROC_AUXV=")); -+ } -+ -+ free(t); -+ } -+ - if (get_process_cwd(pid, &t) >= 0) - (void) iovw_put_string_field_free(iovw, "COREDUMP_CWD=", t); - --- -2.35.3 - diff --git a/systemd-v252.3+suse.40.gbf3fef9988.tar.xz b/systemd-v252.3+suse.40.gbf3fef9988.tar.xz deleted file mode 100644 index a630a377..00000000 --- a/systemd-v252.3+suse.40.gbf3fef9988.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4274c52c308874f73756af1fe91d0cf35ab72112f6ba593399398eddd17cc0c4 -size 8040380 diff --git a/systemd-v252.4+suse.44.g5a506d73bd.tar.xz b/systemd-v252.4+suse.44.g5a506d73bd.tar.xz new file mode 100644 index 00000000..0421d76b --- /dev/null +++ b/systemd-v252.4+suse.44.g5a506d73bd.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c897cd9b3d3b7ba9fdb5600ddb2f9aff285abc479f190bbbdcec8ca37c95b8b +size 8042788 diff --git a/systemd.changes b/systemd.changes index 7d06424f..cd0000d2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Fri Jan 6 10:10:37 UTC 2023 - Franck Bui + +- Add 5000-rules-add-missing-line-continuation.patch until commit + de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 is backported to the v252 stable + tree. + +------------------------------------------------------------------- +Wed Dec 21 07:31:38 UTC 2022 - Franck Bui + +- Import commit 5a506d73bde7ba9261985f8e9ce084044a519432 (merge of v252.4) + + It includes the following fixes: + + 9b75a3d050 coredump: do not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/bf3fef99886bd977a1c7a51d20087bc8977fff44...5a506d73bde7ba9261985f8e9ce084044a519432 + + Additionally, it also includes the following backports: + + - 20ca3155c5 localed: reload PID1 configuration after modifying /etc/locale.conf + - 3538c202fd test: update TEST-73-LOCALE to define several locale settings in initial PID1 environment + +- Drop 5000-coredump-adjust-whitespace.patch + 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch + + They are part of v252.4. + ------------------------------------------------------------------- Mon Dec 19 07:50:15 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4037f598..71f0d042 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.40.gbf3fef9988 +%define archive_version +suse.44.g5a506d73bd %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.3 +Version: 252.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -216,8 +216,7 @@ Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch5000: 5000-coredump-adjust-whitespace.patch -Patch5001: 5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch +Patch5000: 5000-rules-add-missing-line-continuation.patch %description Systemd is a system and service manager, compatible with SysV and LSB From e917284dffdf40bf8f19214eb8147685a7c06600b06ff4951d396a94bb1df836 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 23 Jan 2023 10:49:38 +0000 Subject: [PATCH 790/991] - Make sure we apply the presets on units shipped by systemd package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1340 --- systemd.changes | 5 +++ systemd.spec | 103 ++++++++++++++++++++++++++---------------------- 2 files changed, 61 insertions(+), 47 deletions(-) diff --git a/systemd.changes b/systemd.changes index cd0000d2..e1d45cbf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jan 23 10:48:30 UTC 2023 - Franck Bui + +- Make sure we apply the presets on units shipped by systemd package + ------------------------------------------------------------------- Fri Jan 6 10:10:37 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 71f0d042..c95d969b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -959,11 +959,16 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %find_lang systemd %endif -# Build of installation images uses a hard coded list of packages with a %%pre -# that needs to be run during the build. systemd is one of them so keep the -# section even if it's empty. +# Don't drop %%pre section even if it becomes empty: the build process of +# installation images uses a hardcoded list of packages with a %%pre that needs +# to be run during the build and complains if it can't find one. %pre -: +# Units listed below can be enabled at installation according to their preset +# setting. +%systemd_pre machines.target +%systemd_pre remote-fs.target +%systemd_pre getty@.service +%systemd_pre systemd-timesyncd.service %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1018,11 +1023,11 @@ fi %journal_catalog_update %tmpfiles_create -# Create default config in /etc at first install. -# Later package updates should not overwrite these settings. -%systemd_post getty@.service +# Units listed below can be enabled at installation accoding to their preset +# setting. %systemd_post machines.target %systemd_post remote-fs.target +%systemd_post getty@.service %systemd_post systemd-timesyncd.service # v228 wrongly set world writable suid root permissions on timestamp files used @@ -1069,6 +1074,8 @@ fi # Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} +# Units listed below can be enabled at installation accoding to their preset +# setting. %systemd_pre remote-cryptsetup.target %systemd_pre systemd-pstore.service @@ -1086,6 +1093,8 @@ fi %tmpfiles_create systemd-pstore.conf +# Units listed below can be enabled at installation accoding to their preset +# setting. %systemd_post remote-cryptsetup.target %systemd_post systemd-pstore.service @@ -1162,107 +1171,107 @@ fi %if %{with journal_remote} %pre journal-remote -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service -%service_add_pre systemd-journal-upload.service +%systemd_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_pre systemd-journal-remote.socket systemd-journal-remote.service +%systemd_pre systemd-journal-upload.service %post journal-remote # Assume that all files shipped by systemd-journal-remove are owned by root. %sysusers_create systemd-remote.conf -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_post systemd-journal-remote.socket systemd-journal-remote.service -%service_add_post systemd-journal-upload.service +%systemd_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_post systemd-journal-remote.socket systemd-journal-remote.service +%systemd_post systemd-journal-upload.service %preun journal-remote -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_preun systemd-journal-upload.service +%systemd_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_preun systemd-journal-remote.socket systemd-journal-remote.service +%systemd_preun systemd-journal-upload.service %postun journal-remote -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_postun systemd-journal-upload.service +%systemd_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_postun systemd-journal-remote.socket systemd-journal-remote.service +%systemd_postun systemd-journal-upload.service %endif %if %{with networkd} || %{with resolved} %pre network %if %{with networkd} -%service_add_pre systemd-networkd.service -%service_add_pre systemd-networkd-wait-online.service +%systemd_pre systemd-networkd.service +%systemd_pre systemd-networkd-wait-online.service %endif %if %{with resolved} -%service_add_pre systemd-resolved.service +%systemd_pre systemd-resolved.service %endif %post network %if %{with networkd} %sysusers_create systemd-network.conf %tmpfiles_create systemd-network.conf -%service_add_post systemd-networkd.service -%service_add_post systemd-networkd-wait-online.service +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} %ldconfig %sysusers_create systemd-resolve.conf -%service_add_post systemd-resolved.service +%systemd_post systemd-resolved.service %endif %preun network %if %{with networkd} -%service_del_preun systemd-networkd.service -%service_del_preun systemd-networkd-wait-online.service +%systemd_preun systemd-networkd.service +%systemd_preun systemd-networkd-wait-online.service %endif %if %{with resolved} -%service_del_preun systemd-resolved.service +%systemd_preun systemd-resolved.service %endif %postun network %if %{with networkd} -%service_del_postun systemd-networkd.service -%service_del_postun systemd-networkd-wait-online.service +%systemd_postun systemd-networkd.service +%systemd_postun systemd-networkd-wait-online.service %endif %if %{with resolved} %ldconfig -%service_del_postun systemd-resolved.service +%systemd_postun systemd-resolved.service %endif %endif %if %{with portabled} %pre portable -%service_add_pre systemd-portabled.service +%systemd_pre systemd-portabled.service %post portable %tmpfiles_create portables.conf -%service_add_post systemd-portabled.service +%systemd_post systemd-portabled.service %preun portable -%service_del_preun systemd-portabled.service +%systemd_preun systemd-portabled.service %postun portable -%service_del_postun systemd-portabled.service +%systemd_postun systemd-portabled.service %endif %if %{with experimental} %pre experimental -%service_add_pre systemd-homed.service -%service_add_pre systemd-oomd.service systemd-oomd.socket -%service_add_pre systemd-userdbd.service systemd-userdbd.socket +%systemd_pre systemd-homed.service +%systemd_pre systemd-oomd.service systemd-oomd.socket +%systemd_pre systemd-userdbd.service systemd-userdbd.socket %post experimental %sysusers_create systemd-oom.conf -%service_add_post systemd-homed.service -%service_add_post systemd-oomd.service systemd-oomd.socket -%service_add_post systemd-userdbd.service systemd-userdbd.socket +%systemd_post systemd-homed.service +%systemd_post systemd-oomd.service systemd-oomd.socket +%systemd_post systemd-userdbd.service systemd-userdbd.socket %preun experimental -%service_del_preun systemd-homed.service -%service_del_preun systemd-oomd.service systemd-oomd.socket -%service_del_preun systemd-userdbd.service systemd-userdbd.socket +%systemd_preun systemd-homed.service +%systemd_preun systemd-oomd.service systemd-oomd.socket +%systemd_preun systemd-userdbd.service systemd-userdbd.socket %postun experimental -%service_del_postun systemd-homed.service -%service_del_postun systemd-oomd.service systemd-oomd.socket -%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%systemd_postun systemd-homed.service +%systemd_postun systemd-oomd.service systemd-oomd.socket +%systemd_postun systemd-userdbd.service systemd-userdbd.socket %endif %files From b595a7728456fca0a43942bea849dc6335d995cb58e1fc9cef0fc2450f37295e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 24 Jan 2023 13:21:01 +0000 Subject: [PATCH 791/991] - Drop 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch It's no more necessary since util-linux 2.38 has been released in Factory. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1341 --- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 ------------------- systemd.changes | 7 ++ systemd.spec | 3 - 3 files changed, 7 insertions(+), 93 deletions(-) delete mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch deleted file mode 100644 index 9100a4e9..00000000 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9e41b33e4e0d0fcc1dba654b485d6f5238e71ea8 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 8/8] Revert "getty: Pass tty to use by agetty via stdin" - -This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. ---- - units/console-getty.service.in | 4 +--- - units/container-getty@.service.in | 4 +--- - units/getty@.service.in | 4 +--- - units/serial-getty@.service.in | 4 +--- - 4 files changed, 4 insertions(+), 12 deletions(-) - -diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 606b7dbe16..54fd7c292d 100644 ---- a/units/console-getty.service.in -+++ b/units/console-getty.service.in -@@ -22,12 +22,10 @@ ConditionPathExists=/dev/console - [Service] - # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), - # followed by '--' for safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM - Type=idle - Restart=always - UtmpIdentifier=cons --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/console - TTYReset=yes - TTYVHangup=yes -diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index 8d7e20d5ec..5dc75f769e 100644 ---- a/units/container-getty@.service.in -+++ b/units/container-getty@.service.in -@@ -27,13 +27,11 @@ Before=rescue.service - [Service] - # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), - # followed by '--' for safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear pts/%I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=pts/%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/pts/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/getty@.service.in b/units/getty@.service.in -index 21d66f9367..78deb7cffe 100644 ---- a/units/getty@.service.in -+++ b/units/getty@.service.in -@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 2433124c55..bb7af3105d 100644 ---- a/units/serial-getty@.service.in -+++ b/units/serial-getty@.service.in -@@ -33,12 +33,10 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes --- -2.35.3 - diff --git a/systemd.changes b/systemd.changes index e1d45cbf..7940f4e3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jan 24 13:19:01 UTC 2023 - Franck Bui + +- Drop 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + It's no more necessary since util-linux 2.38 has been released in Factory. + ------------------------------------------------------------------- Mon Jan 23 10:48:30 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c95d969b..cdcc6532 100644 --- a/systemd.spec +++ b/systemd.spec @@ -208,9 +208,6 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -# Temporary workaround until bsc#1197178 is addressed. -Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch - # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for # very few cases, some stuff might be broken in upstream and need to be fixed From 54c156c423b7f16ef7eaaad3e66e74908529455e8c6ebbc05d0ca5b45ea7fbbd Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 25 Jan 2023 16:42:40 +0000 Subject: [PATCH 792/991] Accepting request 1060655 from Base:System - Drop 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch It's no more necessary since util-linux 2.38 has been released in Factory. - Make sure we apply the presets on units shipped by systemd package OBS-URL: https://build.opensuse.org/request/show/1060655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=377 --- ...-Pass-tty-to-use-by-agetty-via-stdin.patch | 90 --------------- systemd.changes | 12 ++ systemd.spec | 106 +++++++++--------- 3 files changed, 68 insertions(+), 140 deletions(-) delete mode 100644 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch diff --git a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch deleted file mode 100644 index 9100a4e9..00000000 --- a/1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9e41b33e4e0d0fcc1dba654b485d6f5238e71ea8 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 17 Mar 2022 11:35:33 +0100 -Subject: [PATCH 8/8] Revert "getty: Pass tty to use by agetty via stdin" - -This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. ---- - units/console-getty.service.in | 4 +--- - units/container-getty@.service.in | 4 +--- - units/getty@.service.in | 4 +--- - units/serial-getty@.service.in | 4 +--- - 4 files changed, 4 insertions(+), 12 deletions(-) - -diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 606b7dbe16..54fd7c292d 100644 ---- a/units/console-getty.service.in -+++ b/units/console-getty.service.in -@@ -22,12 +22,10 @@ ConditionPathExists=/dev/console - [Service] - # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), - # followed by '--' for safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud - 115200,38400,9600 $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM - Type=idle - Restart=always - UtmpIdentifier=cons --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/console - TTYReset=yes - TTYVHangup=yes -diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index 8d7e20d5ec..5dc75f769e 100644 ---- a/units/container-getty@.service.in -+++ b/units/container-getty@.service.in -@@ -27,13 +27,11 @@ Before=rescue.service - [Service] - # The '-o' option value tells agetty to replace 'login' arguments with an option to preserve environment (-p), - # followed by '--' for safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear pts/%I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=pts/%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/pts/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/getty@.service.in b/units/getty@.service.in -index 21d66f9367..78deb7cffe 100644 ---- a/units/getty@.service.in -+++ b/units/getty@.service.in -@@ -38,13 +38,11 @@ ConditionPathExists=/dev/tty0 - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes -diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 2433124c55..bb7af3105d 100644 ---- a/units/serial-getty@.service.in -+++ b/units/serial-getty@.service.in -@@ -33,12 +33,10 @@ Before=rescue.service - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM -+ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I --StandardInput=tty --StandardOutput=tty - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes --- -2.35.3 - diff --git a/systemd.changes b/systemd.changes index cd0000d2..7940f4e3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Jan 24 13:19:01 UTC 2023 - Franck Bui + +- Drop 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch + + It's no more necessary since util-linux 2.38 has been released in Factory. + +------------------------------------------------------------------- +Mon Jan 23 10:48:30 UTC 2023 - Franck Bui + +- Make sure we apply the presets on units shipped by systemd package + ------------------------------------------------------------------- Fri Jan 6 10:10:37 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 71f0d042..cdcc6532 100644 --- a/systemd.spec +++ b/systemd.spec @@ -208,9 +208,6 @@ Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch10: 0001-conf-parser-introduce-early-drop-ins.patch Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch -# Temporary workaround until bsc#1197178 is addressed. -Patch1000: 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch - # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for # very few cases, some stuff might be broken in upstream and need to be fixed @@ -959,11 +956,16 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %find_lang systemd %endif -# Build of installation images uses a hard coded list of packages with a %%pre -# that needs to be run during the build. systemd is one of them so keep the -# section even if it's empty. +# Don't drop %%pre section even if it becomes empty: the build process of +# installation images uses a hardcoded list of packages with a %%pre that needs +# to be run during the build and complains if it can't find one. %pre -: +# Units listed below can be enabled at installation according to their preset +# setting. +%systemd_pre machines.target +%systemd_pre remote-fs.target +%systemd_pre getty@.service +%systemd_pre systemd-timesyncd.service %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1018,11 +1020,11 @@ fi %journal_catalog_update %tmpfiles_create -# Create default config in /etc at first install. -# Later package updates should not overwrite these settings. -%systemd_post getty@.service +# Units listed below can be enabled at installation accoding to their preset +# setting. %systemd_post machines.target %systemd_post remote-fs.target +%systemd_post getty@.service %systemd_post systemd-timesyncd.service # v228 wrongly set world writable suid root permissions on timestamp files used @@ -1069,6 +1071,8 @@ fi # Avoid restarting logind until fixed upstream (issue #1163) %pre -n udev%{?mini} +# Units listed below can be enabled at installation accoding to their preset +# setting. %systemd_pre remote-cryptsetup.target %systemd_pre systemd-pstore.service @@ -1086,6 +1090,8 @@ fi %tmpfiles_create systemd-pstore.conf +# Units listed below can be enabled at installation accoding to their preset +# setting. %systemd_post remote-cryptsetup.target %systemd_post systemd-pstore.service @@ -1162,107 +1168,107 @@ fi %if %{with journal_remote} %pre journal-remote -%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_pre systemd-journal-remote.socket systemd-journal-remote.service -%service_add_pre systemd-journal-upload.service +%systemd_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_pre systemd-journal-remote.socket systemd-journal-remote.service +%systemd_pre systemd-journal-upload.service %post journal-remote # Assume that all files shipped by systemd-journal-remove are owned by root. %sysusers_create systemd-remote.conf -%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_add_post systemd-journal-remote.socket systemd-journal-remote.service -%service_add_post systemd-journal-upload.service +%systemd_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_post systemd-journal-remote.socket systemd-journal-remote.service +%systemd_post systemd-journal-upload.service %preun journal-remote -%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_preun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_preun systemd-journal-upload.service +%systemd_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_preun systemd-journal-remote.socket systemd-journal-remote.service +%systemd_preun systemd-journal-upload.service %postun journal-remote -%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%service_del_postun systemd-journal-remote.socket systemd-journal-remote.service -%service_del_postun systemd-journal-upload.service +%systemd_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +%systemd_postun systemd-journal-remote.socket systemd-journal-remote.service +%systemd_postun systemd-journal-upload.service %endif %if %{with networkd} || %{with resolved} %pre network %if %{with networkd} -%service_add_pre systemd-networkd.service -%service_add_pre systemd-networkd-wait-online.service +%systemd_pre systemd-networkd.service +%systemd_pre systemd-networkd-wait-online.service %endif %if %{with resolved} -%service_add_pre systemd-resolved.service +%systemd_pre systemd-resolved.service %endif %post network %if %{with networkd} %sysusers_create systemd-network.conf %tmpfiles_create systemd-network.conf -%service_add_post systemd-networkd.service -%service_add_post systemd-networkd-wait-online.service +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} %ldconfig %sysusers_create systemd-resolve.conf -%service_add_post systemd-resolved.service +%systemd_post systemd-resolved.service %endif %preun network %if %{with networkd} -%service_del_preun systemd-networkd.service -%service_del_preun systemd-networkd-wait-online.service +%systemd_preun systemd-networkd.service +%systemd_preun systemd-networkd-wait-online.service %endif %if %{with resolved} -%service_del_preun systemd-resolved.service +%systemd_preun systemd-resolved.service %endif %postun network %if %{with networkd} -%service_del_postun systemd-networkd.service -%service_del_postun systemd-networkd-wait-online.service +%systemd_postun systemd-networkd.service +%systemd_postun systemd-networkd-wait-online.service %endif %if %{with resolved} %ldconfig -%service_del_postun systemd-resolved.service +%systemd_postun systemd-resolved.service %endif %endif %if %{with portabled} %pre portable -%service_add_pre systemd-portabled.service +%systemd_pre systemd-portabled.service %post portable %tmpfiles_create portables.conf -%service_add_post systemd-portabled.service +%systemd_post systemd-portabled.service %preun portable -%service_del_preun systemd-portabled.service +%systemd_preun systemd-portabled.service %postun portable -%service_del_postun systemd-portabled.service +%systemd_postun systemd-portabled.service %endif %if %{with experimental} %pre experimental -%service_add_pre systemd-homed.service -%service_add_pre systemd-oomd.service systemd-oomd.socket -%service_add_pre systemd-userdbd.service systemd-userdbd.socket +%systemd_pre systemd-homed.service +%systemd_pre systemd-oomd.service systemd-oomd.socket +%systemd_pre systemd-userdbd.service systemd-userdbd.socket %post experimental %sysusers_create systemd-oom.conf -%service_add_post systemd-homed.service -%service_add_post systemd-oomd.service systemd-oomd.socket -%service_add_post systemd-userdbd.service systemd-userdbd.socket +%systemd_post systemd-homed.service +%systemd_post systemd-oomd.service systemd-oomd.socket +%systemd_post systemd-userdbd.service systemd-userdbd.socket %preun experimental -%service_del_preun systemd-homed.service -%service_del_preun systemd-oomd.service systemd-oomd.socket -%service_del_preun systemd-userdbd.service systemd-userdbd.socket +%systemd_preun systemd-homed.service +%systemd_preun systemd-oomd.service systemd-oomd.socket +%systemd_preun systemd-userdbd.service systemd-userdbd.socket %postun experimental -%service_del_postun systemd-homed.service -%service_del_postun systemd-oomd.service systemd-oomd.socket -%service_del_postun systemd-userdbd.service systemd-userdbd.socket +%systemd_postun systemd-homed.service +%systemd_postun systemd-oomd.service systemd-oomd.socket +%systemd_postun systemd-userdbd.service systemd-userdbd.socket %endif %files From b63082744427cee5123c19c257a4696a622b2240dffd596504ffc41faf7107b9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 Jan 2023 14:06:46 +0000 Subject: [PATCH 793/991] - machines.target belongs to systemd-container, do its init/cleanup steps from the scriptlets of this sub-package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1342 --- systemd.changes | 6 ++++++ systemd.spec | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 7940f4e3..b2f7f6a2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jan 26 14:02:11 UTC 2023 - Franck Bui + +- machines.target belongs to systemd-container, do its init/cleanup steps from + the scriptlets of this sub-package. + ------------------------------------------------------------------- Tue Jan 24 13:19:01 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cdcc6532..a4f334c9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -962,7 +962,6 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %pre # Units listed below can be enabled at installation according to their preset # setting. -%systemd_pre machines.target %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service @@ -1022,7 +1021,6 @@ fi # Units listed below can be enabled at installation accoding to their preset # setting. -%systemd_post machines.target %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-timesyncd.service @@ -1136,7 +1134,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n libudev%{?mini}1 -p %ldconfig %postun -n libsystemd0%{?mini} -p %ldconfig +%pre container +%systemd_pre machines.target + %post container +%systemd_post machines.target %tmpfiles_create systemd-nspawn.conf %if %{with machined} %ldconfig @@ -1157,7 +1159,11 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%preun container +%systemd_preun machines.target + %postun container +%systemd_postun machines.target %ldconfig %endif From 97cb083365e249201a2d55221c3ced81cda471ebde445a24cbb9be1c5fec695e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 Jan 2023 16:14:53 +0000 Subject: [PATCH 794/991] - systemd-testsuite: move the integration tests in a dedicated sub directory. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1343 --- systemd.changes | 5 +++++ systemd.spec | 40 ++++++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/systemd.changes b/systemd.changes index b2f7f6a2..c942a69c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 26 16:13:43 UTC 2023 - Franck Bui + +- systemd-testsuite: move the integration tests in a dedicated sub directory. + ------------------------------------------------------------------- Thu Jan 26 14:02:11 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a4f334c9..5fcfa9cf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -557,24 +557,24 @@ Requires: systemd-portable Requires: xz %description testsuite -This package contains the unit tests as well as the extended -testsuite. The unit tests are used to check various internal functions -used by systemd whereas the extended testsuite is used to test various -functionalities of systemd and all its components. +This package contains the unit tests as well as the extended testsuite. The unit +tests are used to check various internal functions used by systemd whereas the +extended testsuite is used to test various functionalities of systemd and all +its components. -Note that the extended testsuite only works with UID=0. +Note that you need root privileges to run the extended testsuite. Run the following python script to run all unit tests at once: $ %{_testsuitedir}/run-unit-tests.py To run the full extended testsuite do the following: -$ NO_BUILD=1 TEST_NESTED_VM=1 %{_testsuitedir}/test/run-integration-tests.sh +$ NO_BUILD=1 TEST_NESTED_VM=1 %{_testsuitedir}/integration-tests/run-integration-tests.sh Or to run one specific integration test: -$ NO_BUILD=1 TEST_NESTED_VM=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run +$ NO_BUILD=1 TEST_NESTED_VM=1 make -C %{_testsuitedir}/integration-tests/TEST-01-BASIC clean setup run -For more details on the available options to run the extended -testsuite, please refer to %{_testsuitedir}/test/README.testsuite. +For more details on the available options to run the extended testsuite, please +refer to %{_testsuitedir}/integration-tests/README.testsuite. %endif %if %{with experimental} @@ -942,14 +942,18 @@ rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} -cp -a test %{buildroot}%{_testsuitedir}/ -# When the tests are installed, the effective testdata directory is in -# %{_testsuitedir}, the other one, which is actually a symlink, is only useful -# when the tests are run directly from the source. -rm %{buildroot}%{_testsuitedir}/test/testdata -# kbd-model-map became a dangling symlink, drop it. -rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map -find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; +# -Dinstall_test took care of installing the unit tests only (those in +# src/tests) and testdata directory. Here we copy the integration tests +# including also all related scripts used to prepare and run the integration +# tests in dedicated VMs. During the copy, all symlinks are replaced by the +# files they point to making sure we won't try to embed dangling symlinks. +mkdir -p %{buildroot}%{_testsuitedir}/integration-tests +tar -cO \ + --dereference \ + --exclude=testdata \ + --exclude-vcs \ + --exclude-vcs-ignores \ + -C test/ . | tar -xC %{buildroot}%{_testsuitedir}/integration-tests %endif %if %{without bootstrap} @@ -1387,7 +1391,7 @@ fi %if %{with testsuite} %files testsuite %defattr(-,root,root) -%doc %{_testsuitedir}/test/README.testsuite +%doc %{_testsuitedir}/integration-tests/README.testsuite %{_testsuitedir} %endif From ca2fd68d4a09c26a9889d536ffcc101aeacf948009a26aaa1ee140fbb1c2bd99 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 26 Jan 2023 16:32:16 +0000 Subject: [PATCH 795/991] - Move the bash completion support for systemd-cryptenroll in udev. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1344 --- files.systemd | 1 - files.udev | 1 + systemd.changes | 5 +++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/files.systemd b/files.systemd index 36178f84..1bc8da22 100644 --- a/files.systemd +++ b/files.systemd @@ -137,7 +137,6 @@ %{_datadir}/bash-completion/completions/systemd-cat %{_datadir}/bash-completion/completions/systemd-cgls %{_datadir}/bash-completion/completions/systemd-cgtop -%{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt %{_datadir}/bash-completion/completions/systemd-id128 diff --git a/files.udev b/files.udev index daf66aa9..94571214 100644 --- a/files.udev +++ b/files.udev @@ -28,6 +28,7 @@ %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if %{without bootstrap} +%{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc diff --git a/systemd.changes b/systemd.changes index c942a69c..57fcca80 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 26 16:30:41 UTC 2023 - Franck Bui + +- Move the bash completion support for systemd-cryptenroll in udev. + ------------------------------------------------------------------- Thu Jan 26 16:13:43 UTC 2023 - Franck Bui From 976930de58e1d7c25a73c856e0e19b738dcbe372f8dd39d00b8fd68683e5635f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 30 Jan 2023 08:42:28 +0000 Subject: [PATCH 796/991] - Import commit d87834a33444b7163e741e1089e82b44af663808 (merge of v252.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/5a506d73bde7ba9261985f8e9ce084044a519432...d87834a33444b7163e741e1089e82b44af663808 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1345 --- systemd-v252.4+suse.44.g5a506d73bd.tar.xz | 3 --- systemd-v252.5+suse.46.gd87834a334.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v252.4+suse.44.g5a506d73bd.tar.xz create mode 100644 systemd-v252.5+suse.46.gd87834a334.tar.xz diff --git a/systemd-v252.4+suse.44.g5a506d73bd.tar.xz b/systemd-v252.4+suse.44.g5a506d73bd.tar.xz deleted file mode 100644 index 0421d76b..00000000 --- a/systemd-v252.4+suse.44.g5a506d73bd.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c897cd9b3d3b7ba9fdb5600ddb2f9aff285abc479f190bbbdcec8ca37c95b8b -size 8042788 diff --git a/systemd-v252.5+suse.46.gd87834a334.tar.xz b/systemd-v252.5+suse.46.gd87834a334.tar.xz new file mode 100644 index 00000000..8fe341c2 --- /dev/null +++ b/systemd-v252.5+suse.46.gd87834a334.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb506e9ea2783c8dff075ecfd6d253fd397d2bd017f928903aff0cd6f272c9e1 +size 8050412 diff --git a/systemd.changes b/systemd.changes index 57fcca80..c99d8994 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jan 30 08:39:24 UTC 2023 - Franck Bui + +- Import commit d87834a33444b7163e741e1089e82b44af663808 (merge of v252.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/5a506d73bde7ba9261985f8e9ce084044a519432...d87834a33444b7163e741e1089e82b44af663808 + ------------------------------------------------------------------- Thu Jan 26 16:30:41 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5fcfa9cf..f3627169 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.44.g5a506d73bd +%define archive_version +suse.46.gd87834a334 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.4 +Version: 252.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 688f3b3091ce2e81c9683d741561df810d4e493965bad19752f01e7c6aecd166 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 31 Jan 2023 15:08:28 +0000 Subject: [PATCH 797/991] Accepting request 1062012 from Base:System - Import commit d87834a33444b7163e741e1089e82b44af663808 (merge of v252.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/5a506d73bde7ba9261985f8e9ce084044a519432...d87834a33444b7163e741e1089e82b44af663808 - Move the bash completion support for systemd-cryptenroll in udev. - systemd-testsuite: move the integration tests in a dedicated sub directory. - machines.target belongs to systemd-container, do its init/cleanup steps from the scriptlets of this sub-package. OBS-URL: https://build.opensuse.org/request/show/1062012 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=378 --- files.systemd | 1 - files.udev | 1 + systemd-v252.4+suse.44.g5a506d73bd.tar.xz | 3 -- systemd-v252.5+suse.46.gd87834a334.tar.xz | 3 ++ systemd.changes | 24 ++++++++++ systemd.spec | 54 ++++++++++++++--------- 6 files changed, 60 insertions(+), 26 deletions(-) delete mode 100644 systemd-v252.4+suse.44.g5a506d73bd.tar.xz create mode 100644 systemd-v252.5+suse.46.gd87834a334.tar.xz diff --git a/files.systemd b/files.systemd index 36178f84..1bc8da22 100644 --- a/files.systemd +++ b/files.systemd @@ -137,7 +137,6 @@ %{_datadir}/bash-completion/completions/systemd-cat %{_datadir}/bash-completion/completions/systemd-cgls %{_datadir}/bash-completion/completions/systemd-cgtop -%{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt %{_datadir}/bash-completion/completions/systemd-id128 diff --git a/files.udev b/files.udev index daf66aa9..94571214 100644 --- a/files.udev +++ b/files.udev @@ -28,6 +28,7 @@ %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if %{without bootstrap} +%{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc diff --git a/systemd-v252.4+suse.44.g5a506d73bd.tar.xz b/systemd-v252.4+suse.44.g5a506d73bd.tar.xz deleted file mode 100644 index 0421d76b..00000000 --- a/systemd-v252.4+suse.44.g5a506d73bd.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c897cd9b3d3b7ba9fdb5600ddb2f9aff285abc479f190bbbdcec8ca37c95b8b -size 8042788 diff --git a/systemd-v252.5+suse.46.gd87834a334.tar.xz b/systemd-v252.5+suse.46.gd87834a334.tar.xz new file mode 100644 index 00000000..8fe341c2 --- /dev/null +++ b/systemd-v252.5+suse.46.gd87834a334.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb506e9ea2783c8dff075ecfd6d253fd397d2bd017f928903aff0cd6f272c9e1 +size 8050412 diff --git a/systemd.changes b/systemd.changes index 7940f4e3..c99d8994 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Jan 30 08:39:24 UTC 2023 - Franck Bui + +- Import commit d87834a33444b7163e741e1089e82b44af663808 (merge of v252.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/5a506d73bde7ba9261985f8e9ce084044a519432...d87834a33444b7163e741e1089e82b44af663808 + +------------------------------------------------------------------- +Thu Jan 26 16:30:41 UTC 2023 - Franck Bui + +- Move the bash completion support for systemd-cryptenroll in udev. + +------------------------------------------------------------------- +Thu Jan 26 16:13:43 UTC 2023 - Franck Bui + +- systemd-testsuite: move the integration tests in a dedicated sub directory. + +------------------------------------------------------------------- +Thu Jan 26 14:02:11 UTC 2023 - Franck Bui + +- machines.target belongs to systemd-container, do its init/cleanup steps from + the scriptlets of this sub-package. + ------------------------------------------------------------------- Tue Jan 24 13:19:01 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index cdcc6532..f3627169 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.44.g5a506d73bd +%define archive_version +suse.46.gd87834a334 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.4 +Version: 252.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -557,24 +557,24 @@ Requires: systemd-portable Requires: xz %description testsuite -This package contains the unit tests as well as the extended -testsuite. The unit tests are used to check various internal functions -used by systemd whereas the extended testsuite is used to test various -functionalities of systemd and all its components. +This package contains the unit tests as well as the extended testsuite. The unit +tests are used to check various internal functions used by systemd whereas the +extended testsuite is used to test various functionalities of systemd and all +its components. -Note that the extended testsuite only works with UID=0. +Note that you need root privileges to run the extended testsuite. Run the following python script to run all unit tests at once: $ %{_testsuitedir}/run-unit-tests.py To run the full extended testsuite do the following: -$ NO_BUILD=1 TEST_NESTED_VM=1 %{_testsuitedir}/test/run-integration-tests.sh +$ NO_BUILD=1 TEST_NESTED_VM=1 %{_testsuitedir}/integration-tests/run-integration-tests.sh Or to run one specific integration test: -$ NO_BUILD=1 TEST_NESTED_VM=1 make -C %{_testsuitedir}/test/TEST-01-BASIC clean setup run +$ NO_BUILD=1 TEST_NESTED_VM=1 make -C %{_testsuitedir}/integration-tests/TEST-01-BASIC clean setup run -For more details on the available options to run the extended -testsuite, please refer to %{_testsuitedir}/test/README.testsuite. +For more details on the available options to run the extended testsuite, please +refer to %{_testsuitedir}/integration-tests/README.testsuite. %endif %if %{with experimental} @@ -942,14 +942,18 @@ rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket %if %{with testsuite} -cp -a test %{buildroot}%{_testsuitedir}/ -# When the tests are installed, the effective testdata directory is in -# %{_testsuitedir}, the other one, which is actually a symlink, is only useful -# when the tests are run directly from the source. -rm %{buildroot}%{_testsuitedir}/test/testdata -# kbd-model-map became a dangling symlink, drop it. -rm %{buildroot}%{_testsuitedir}/test/test-keymap-util/kbd-model-map -find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; +# -Dinstall_test took care of installing the unit tests only (those in +# src/tests) and testdata directory. Here we copy the integration tests +# including also all related scripts used to prepare and run the integration +# tests in dedicated VMs. During the copy, all symlinks are replaced by the +# files they point to making sure we won't try to embed dangling symlinks. +mkdir -p %{buildroot}%{_testsuitedir}/integration-tests +tar -cO \ + --dereference \ + --exclude=testdata \ + --exclude-vcs \ + --exclude-vcs-ignores \ + -C test/ . | tar -xC %{buildroot}%{_testsuitedir}/integration-tests %endif %if %{without bootstrap} @@ -962,7 +966,6 @@ find %{buildroot}%{_testsuitedir}/ -name .git\* -exec rm -fr {} \; %pre # Units listed below can be enabled at installation according to their preset # setting. -%systemd_pre machines.target %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service @@ -1022,7 +1025,6 @@ fi # Units listed below can be enabled at installation accoding to their preset # setting. -%systemd_post machines.target %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-timesyncd.service @@ -1136,7 +1138,11 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n libudev%{?mini}1 -p %ldconfig %postun -n libsystemd0%{?mini} -p %ldconfig +%pre container +%systemd_pre machines.target + %post container +%systemd_post machines.target %tmpfiles_create systemd-nspawn.conf %if %{with machined} %ldconfig @@ -1157,7 +1163,11 @@ if [ $1 -gt 1 ]; then %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : fi +%preun container +%systemd_preun machines.target + %postun container +%systemd_postun machines.target %ldconfig %endif @@ -1381,7 +1391,7 @@ fi %if %{with testsuite} %files testsuite %defattr(-,root,root) -%doc %{_testsuitedir}/test/README.testsuite +%doc %{_testsuitedir}/integration-tests/README.testsuite %{_testsuitedir} %endif From 4b5dfd9d8c60056814491bc87cd6f09df3c6cdcb4661249a95bd1c8e1adfb208 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 7 Feb 2023 08:56:44 +0000 Subject: [PATCH 798/991] - Conditionalize the use of /lib/modprobe.d only on systems with split usr support enabled (i.e. SLE). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1346 --- systemd.changes | 6 ++++++ systemd.spec | 10 ++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/systemd.changes b/systemd.changes index c99d8994..ad21e72b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Feb 7 08:44:32 UTC 2023 - Franck Bui + +- Conditionalize the use of /lib/modprobe.d only on systems with split usr + support enabled (i.e. SLE). + ------------------------------------------------------------------- Mon Jan 30 08:39:24 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f3627169..2d222902 100644 --- a/systemd.spec +++ b/systemd.spec @@ -780,6 +780,10 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif + +# kmod keeps insisting on using /lib/modprobe.d only. +mkdir -p %{buildroot}%{_modprobedir} +mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ %endif # Make sure we don't ship static enablement symlinks in /etc during @@ -790,12 +794,6 @@ rm -f %{buildroot}/etc/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} -# kmod keeps insisting on using /lib on SLE. -if [ "$(realpath %{_modprobedir})" != /usr/lib/modprobe.d ]; then - mkdir -p %{buildroot}%{_modprobedir} - mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ -fi - # Don't enable wall ask password service, it spams every console (bnc#747783). rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path From 9e5d507fa83edd3af02630b32dba0917ae312fd450bc5ade788e5773b38299c8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 17 Feb 2023 11:11:32 +0000 Subject: [PATCH 799/991] - Drop build requirement on libpci, it's not more needed since udev hwdb was introduced 11 years ago. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1347 --- files.uefi-boot | 2 +- systemd.changes | 6 ++++++ systemd.spec | 4 +--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/files.uefi-boot b/files.uefi-boot index a50867c4..75c3d0c4 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -31,7 +31,7 @@ %{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install -# These are part of the very few exceptions where glob pattern is allowd. +# These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi diff --git a/systemd.changes b/systemd.changes index ad21e72b..d7f141cb 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Feb 17 11:06:41 UTC 2023 - Franck Bui + +- Drop build requirement on libpci, it's not more needed since udev hwdb was + introduced 11 years ago. + ------------------------------------------------------------------- Tue Feb 7 08:44:32 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2d222902..e79695e4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -114,7 +114,6 @@ BuildRequires: python3-jinja2 BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libpci) >= 3 %if %{with bootstrap} #!BuildIgnore: dbus-1 @@ -749,7 +748,7 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif %if %{with sysvcompat} -install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install +install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network @@ -780,7 +779,6 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif - # kmod keeps insisting on using /lib/modprobe.d only. mkdir -p %{buildroot}%{_modprobedir} mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ From 6165131ad325a80763e900741446983f321986dbb02a929189ece4ff9c72372d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 27 Feb 2023 14:53:36 +0000 Subject: [PATCH 800/991] - Import commit 8e0a8094b8bbc442d262795b85ac57a37264c5fe (merge of v252.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/d87834a33444b7163e741e1089e82b44af663808...8e0a8094b8bbc442d262795b85ac57a37264c5fe - Drop 5000-rules-add-missing-line-continuation.patch, it's part of v252.6. - aaa_base has stop providing /etc/sysctl.conf, cope with this change so the compat symlink we provide is not dangling during the build. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1348 --- ...-rules-add-missing-line-continuation.patch | 28 ------------------- files.network | 1 + files.systemd | 8 ++++++ files.udev | 1 + systemd-v252.5+suse.46.gd87834a334.tar.xz | 3 -- systemd-v252.6+suse.48.g8e0a8094b8.tar.xz | 3 ++ systemd.changes | 13 +++++++++ systemd.spec | 17 ++++++----- 8 files changed, 34 insertions(+), 40 deletions(-) delete mode 100644 5000-rules-add-missing-line-continuation.patch delete mode 100644 systemd-v252.5+suse.46.gd87834a334.tar.xz create mode 100644 systemd-v252.6+suse.48.g8e0a8094b8.tar.xz diff --git a/5000-rules-add-missing-line-continuation.patch b/5000-rules-add-missing-line-continuation.patch deleted file mode 100644 index a0cfa7dd..00000000 --- a/5000-rules-add-missing-line-continuation.patch +++ /dev/null @@ -1,28 +0,0 @@ -From de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Wed, 21 Dec 2022 17:32:56 +0900 -Subject: [PATCH 5000/5000] rules: add missing line continuation - -Fixes a bug introduced by 953c928c24455744d5534679998d129b947a5e04. - -Fixes #25811. ---- - rules.d/60-evdev.rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rules.d/60-evdev.rules b/rules.d/60-evdev.rules -index 15483101e7..c97cdecb58 100644 ---- a/rules.d/60-evdev.rules -+++ b/rules.d/60-evdev.rules -@@ -6,7 +6,7 @@ KERNEL!="event*", GOTO="evdev_end" - # Execute the match patterns below, from least-to-most specific. - - # Device matching the modalias string (bustype, vendor, product, version, other properties) --IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", -+IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", \ - ENV{.HAVE_HWDB_PROPERTIES}="1" - - # AT keyboard matching by the machine's DMI data --- -2.35.3 - diff --git a/files.network b/files.network index d3c3715c..e1588c4b 100644 --- a/files.network +++ b/files.network @@ -28,6 +28,7 @@ %{_mandir}/man8/systemd-networkd.service.8.gz %{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network +%{_systemd_util_dir}/network/80-container-vb.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network %{_systemd_util_dir}/network/80-ethernet.network.example diff --git a/files.systemd b/files.systemd index 1bc8da22..b7b53f15 100644 --- a/files.systemd +++ b/files.systemd @@ -82,6 +82,7 @@ %doc %{_sysctldir}/README %doc %{_sysusersdir}/README %doc %{_tmpfilesdir}/README +%exclude %{_sysconfdir}/sysctl.conf %ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -139,9 +140,11 @@ %{_datadir}/bash-completion/completions/systemd-cgtop %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt +%{_datadir}/bash-completion/completions/systemd-dissect %{_datadir}/bash-completion/completions/systemd-id128 %{_datadir}/bash-completion/completions/systemd-path %{_datadir}/bash-completion/completions/systemd-run +%{_datadir}/bash-completion/completions/systemd-sysext %{_datadir}/bash-completion/completions/timedatectl %endif # dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 @@ -212,12 +215,17 @@ %{_journalcatalogdir}/systemd.be@latin.catalog %{_journalcatalogdir}/systemd.bg.catalog %{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.da.catalog %{_journalcatalogdir}/systemd.de.catalog %{_journalcatalogdir}/systemd.fr.catalog +%{_journalcatalogdir}/systemd.hr.catalog +%{_journalcatalogdir}/systemd.hu.catalog %{_journalcatalogdir}/systemd.it.catalog +%{_journalcatalogdir}/systemd.ko.catalog %{_journalcatalogdir}/systemd.pl.catalog %{_journalcatalogdir}/systemd.pt_BR.catalog %{_journalcatalogdir}/systemd.ru.catalog +%{_journalcatalogdir}/systemd.sr.catalog %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if %{without bootstrap} diff --git a/files.udev b/files.udev index 94571214..1ea1a437 100644 --- a/files.udev +++ b/files.udev @@ -165,6 +165,7 @@ %{_udevrulesdir}/60-drm.rules %{_udevrulesdir}/60-evdev.rules %{_udevrulesdir}/60-fido-id.rules +%{_udevrulesdir}/60-infiniband.rules %{_udevrulesdir}/60-input-id.rules %{_udevrulesdir}/60-persistent-alsa.rules %{_udevrulesdir}/60-persistent-input.rules diff --git a/systemd-v252.5+suse.46.gd87834a334.tar.xz b/systemd-v252.5+suse.46.gd87834a334.tar.xz deleted file mode 100644 index 8fe341c2..00000000 --- a/systemd-v252.5+suse.46.gd87834a334.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb506e9ea2783c8dff075ecfd6d253fd397d2bd017f928903aff0cd6f272c9e1 -size 8050412 diff --git a/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz b/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz new file mode 100644 index 00000000..a2f346c8 --- /dev/null +++ b/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58501d3c453cc1c3363dd0263190d9514b34b4392f1ecaa32e9f7a2c715fa8d9 +size 8090264 diff --git a/systemd.changes b/systemd.changes index d7f141cb..804dcfce 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Feb 27 08:43:27 UTC 2023 - Franck Bui + +- Import commit 8e0a8094b8bbc442d262795b85ac57a37264c5fe (merge of v252.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/d87834a33444b7163e741e1089e82b44af663808...8e0a8094b8bbc442d262795b85ac57a37264c5fe + +- Drop 5000-rules-add-missing-line-continuation.patch, it's part of v252.6. + +- aaa_base has stop providing /etc/sysctl.conf, cope with this change so the + compat symlink we provide is not dangling during the build. + ------------------------------------------------------------------- Fri Feb 17 11:06:41 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e79695e4..6d1c9c40 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.46.gd87834a334 +%define archive_version +suse.48.g8e0a8094b8 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.5 +Version: 252.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -212,7 +212,6 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch5000: 5000-rules-add-missing-line-continuation.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -786,8 +785,8 @@ mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. -rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} -rm -f %{buildroot}/etc/systemd/system/default.target +rm -rf %{buildroot}%{_sysconfdir}/systemd/system/*.target.{requires,wants} +rm -f %{buildroot}%{_sysconfdir}/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} @@ -808,9 +807,9 @@ mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ %endif # Since v207 /etc/sysctl.conf is no longer parsed (commit 04bf3c1a60d82791), -# however backward compatibility is provided by -# /usr/lib/sysctl.d/99-sysctl.conf. +# however backward compatibility is provided by the following symlink. ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf +touch %{buildroot}%{_sysconfdir}/sysctl.conf # The definitions of the basic users/groups are given by system-user package on # SUSE (bsc#1006978). @@ -823,7 +822,7 @@ rm -f %{buildroot}%{_environmentdir}/99-environment.conf # Remove README file in init.d as (SUSE) rpm requires executable files in this # directory... oh well. -rm -f %{buildroot}/etc/init.d/README +rm -f %{buildroot}%{_sysconfdir}/init.d/README # This dir must be owned (and thus created) by systemd otherwise the build # system will complain. This is odd since we simply own a ghost file in it... @@ -880,7 +879,7 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} -# Make sure to disable all services by default. The Suse branding presets +# Make sure to disable all services by default. The SUSE branding presets # package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset From fd6fe43968aa84c77b7e846ce90ca65f14c9ded49ae56799117d75688fc52970 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 28 Feb 2023 08:09:56 +0000 Subject: [PATCH 801/991] Accepting request 1068086 from home:zhonglidong:branches:Base:System - Fix return non-zero value when disabling SysVinit service(bsc#1208432) OBS-URL: https://build.opensuse.org/request/show/1068086 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1349 --- systemd-sysv-install | 4 ++-- systemd.changes | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/systemd-sysv-install b/systemd-sysv-install index cffe4c8f..d7900159 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -93,10 +93,10 @@ enable_initscript() { disable_initscript() { for symlink in rc*.d/[SK]*; do - [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && { + if [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ]; then info "rm $(pwd)/$symlink" rm $symlink - } + fi done } diff --git a/systemd.changes b/systemd.changes index 804dcfce..bffdd096 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Feb 28 02:58:20 UTC 2023 - Lidong Zhong + +- Fix return non-zero value when disabling SysVinit service(bsc#1208432) + ------------------------------------------------------------------- Mon Feb 27 08:43:27 UTC 2023 - Franck Bui From 041bd1170de724686a2ad4713a81ce54df6837bf89e8648b680b7be84535ab3a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 28 Feb 2023 15:53:20 +0000 Subject: [PATCH 802/991] Accepting request 1067366 from home:gmbr3:Active - Correct BR from python3-jinja2 to python3-Jinja2, fixes dependency resolving on older distros OBS-URL: https://build.opensuse.org/request/show/1067366 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1350 --- systemd.changes | 6 ++++++ systemd.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index bffdd096..af813ebc 100644 --- a/systemd.changes +++ b/systemd.changes @@ -16,6 +16,12 @@ Mon Feb 27 08:43:27 UTC 2023 - Franck Bui - aaa_base has stop providing /etc/sysctl.conf, cope with this change so the compat symlink we provide is not dangling during the build. +------------------------------------------------------------------- +Thu Feb 23 11:52:48 UTC 2023 - Callum Farmer + +- Correct BR from python3-jinja2 to python3-Jinja2, fixes + dependency resolving on older distros + ------------------------------------------------------------------- Fri Feb 17 11:06:41 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6d1c9c40..8f25c54e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -108,7 +108,7 @@ BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 BuildRequires: meson >= 0.53.2 BuildRequires: pam-devel -BuildRequires: python3-jinja2 +BuildRequires: python3-Jinja2 # regenerate_initrd_post macro is expanded during build, hence this BR. Also # this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 From c34d91ebee1e261347d0e8cd989f5dbe3747b0aef08c87ce0eaf0b7d2fa69a4a Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 2 Mar 2023 22:02:53 +0000 Subject: [PATCH 803/991] Accepting request 1068038 from Base:System - Import commit 8e0a8094b8bbc442d262795b85ac57a37264c5fe (merge of v252.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/d87834a33444b7163e741e1089e82b44af663808...8e0a8094b8bbc442d262795b85ac57a37264c5fe - Drop 5000-rules-add-missing-line-continuation.patch, it's part of v252.6. - aaa_base has stop providing /etc/sysctl.conf, cope with this change so the compat symlink we provide is not dangling during the build. - Drop build requirement on libpci, it's not more needed since udev hwdb was introduced 11 years ago. - Conditionalize the use of /lib/modprobe.d only on systems with split usr support enabled (i.e. SLE). OBS-URL: https://build.opensuse.org/request/show/1068038 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=379 --- ...-rules-add-missing-line-continuation.patch | 28 ------------------ files.network | 1 + files.systemd | 8 +++++ files.udev | 1 + files.uefi-boot | 2 +- systemd-v252.5+suse.46.gd87834a334.tar.xz | 3 -- systemd-v252.6+suse.48.g8e0a8094b8.tar.xz | 3 ++ systemd.changes | 25 ++++++++++++++++ systemd.spec | 29 ++++++++----------- 9 files changed, 51 insertions(+), 49 deletions(-) delete mode 100644 5000-rules-add-missing-line-continuation.patch delete mode 100644 systemd-v252.5+suse.46.gd87834a334.tar.xz create mode 100644 systemd-v252.6+suse.48.g8e0a8094b8.tar.xz diff --git a/5000-rules-add-missing-line-continuation.patch b/5000-rules-add-missing-line-continuation.patch deleted file mode 100644 index a0cfa7dd..00000000 --- a/5000-rules-add-missing-line-continuation.patch +++ /dev/null @@ -1,28 +0,0 @@ -From de8409ac43f6e4596de4cecce8dbbb5f1f2a18b1 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Wed, 21 Dec 2022 17:32:56 +0900 -Subject: [PATCH 5000/5000] rules: add missing line continuation - -Fixes a bug introduced by 953c928c24455744d5534679998d129b947a5e04. - -Fixes #25811. ---- - rules.d/60-evdev.rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rules.d/60-evdev.rules b/rules.d/60-evdev.rules -index 15483101e7..c97cdecb58 100644 ---- a/rules.d/60-evdev.rules -+++ b/rules.d/60-evdev.rules -@@ -6,7 +6,7 @@ KERNEL!="event*", GOTO="evdev_end" - # Execute the match patterns below, from least-to-most specific. - - # Device matching the modalias string (bustype, vendor, product, version, other properties) --IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", -+IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", \ - ENV{.HAVE_HWDB_PROPERTIES}="1" - - # AT keyboard matching by the machine's DMI data --- -2.35.3 - diff --git a/files.network b/files.network index d3c3715c..e1588c4b 100644 --- a/files.network +++ b/files.network @@ -28,6 +28,7 @@ %{_mandir}/man8/systemd-networkd.service.8.gz %{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-container-host0.network +%{_systemd_util_dir}/network/80-container-vb.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network %{_systemd_util_dir}/network/80-ethernet.network.example diff --git a/files.systemd b/files.systemd index 1bc8da22..b7b53f15 100644 --- a/files.systemd +++ b/files.systemd @@ -82,6 +82,7 @@ %doc %{_sysctldir}/README %doc %{_sysusersdir}/README %doc %{_tmpfilesdir}/README +%exclude %{_sysconfdir}/sysctl.conf %ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf @@ -139,9 +140,11 @@ %{_datadir}/bash-completion/completions/systemd-cgtop %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt +%{_datadir}/bash-completion/completions/systemd-dissect %{_datadir}/bash-completion/completions/systemd-id128 %{_datadir}/bash-completion/completions/systemd-path %{_datadir}/bash-completion/completions/systemd-run +%{_datadir}/bash-completion/completions/systemd-sysext %{_datadir}/bash-completion/completions/timedatectl %endif # dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294 @@ -212,12 +215,17 @@ %{_journalcatalogdir}/systemd.be@latin.catalog %{_journalcatalogdir}/systemd.bg.catalog %{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.da.catalog %{_journalcatalogdir}/systemd.de.catalog %{_journalcatalogdir}/systemd.fr.catalog +%{_journalcatalogdir}/systemd.hr.catalog +%{_journalcatalogdir}/systemd.hu.catalog %{_journalcatalogdir}/systemd.it.catalog +%{_journalcatalogdir}/systemd.ko.catalog %{_journalcatalogdir}/systemd.pl.catalog %{_journalcatalogdir}/systemd.pt_BR.catalog %{_journalcatalogdir}/systemd.ru.catalog +%{_journalcatalogdir}/systemd.sr.catalog %{_journalcatalogdir}/systemd.zh_CN.catalog %{_journalcatalogdir}/systemd.zh_TW.catalog %if %{without bootstrap} diff --git a/files.udev b/files.udev index 94571214..1ea1a437 100644 --- a/files.udev +++ b/files.udev @@ -165,6 +165,7 @@ %{_udevrulesdir}/60-drm.rules %{_udevrulesdir}/60-evdev.rules %{_udevrulesdir}/60-fido-id.rules +%{_udevrulesdir}/60-infiniband.rules %{_udevrulesdir}/60-input-id.rules %{_udevrulesdir}/60-persistent-alsa.rules %{_udevrulesdir}/60-persistent-input.rules diff --git a/files.uefi-boot b/files.uefi-boot index a50867c4..75c3d0c4 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -31,7 +31,7 @@ %{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install -# These are part of the very few exceptions where glob pattern is allowd. +# These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi diff --git a/systemd-v252.5+suse.46.gd87834a334.tar.xz b/systemd-v252.5+suse.46.gd87834a334.tar.xz deleted file mode 100644 index 8fe341c2..00000000 --- a/systemd-v252.5+suse.46.gd87834a334.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb506e9ea2783c8dff075ecfd6d253fd397d2bd017f928903aff0cd6f272c9e1 -size 8050412 diff --git a/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz b/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz new file mode 100644 index 00000000..a2f346c8 --- /dev/null +++ b/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58501d3c453cc1c3363dd0263190d9514b34b4392f1ecaa32e9f7a2c715fa8d9 +size 8090264 diff --git a/systemd.changes b/systemd.changes index c99d8994..804dcfce 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Mon Feb 27 08:43:27 UTC 2023 - Franck Bui + +- Import commit 8e0a8094b8bbc442d262795b85ac57a37264c5fe (merge of v252.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/d87834a33444b7163e741e1089e82b44af663808...8e0a8094b8bbc442d262795b85ac57a37264c5fe + +- Drop 5000-rules-add-missing-line-continuation.patch, it's part of v252.6. + +- aaa_base has stop providing /etc/sysctl.conf, cope with this change so the + compat symlink we provide is not dangling during the build. + +------------------------------------------------------------------- +Fri Feb 17 11:06:41 UTC 2023 - Franck Bui + +- Drop build requirement on libpci, it's not more needed since udev hwdb was + introduced 11 years ago. + +------------------------------------------------------------------- +Tue Feb 7 08:44:32 UTC 2023 - Franck Bui + +- Conditionalize the use of /lib/modprobe.d only on systems with split usr + support enabled (i.e. SLE). + ------------------------------------------------------------------- Mon Jan 30 08:39:24 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f3627169..6d1c9c40 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.46.gd87834a334 +%define archive_version +suse.48.g8e0a8094b8 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.5 +Version: 252.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -114,7 +114,6 @@ BuildRequires: python3-jinja2 BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 -BuildRequires: pkgconfig(libpci) >= 3 %if %{with bootstrap} #!BuildIgnore: dbus-1 @@ -213,7 +212,6 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # very few cases, some stuff might be broken in upstream and need to be fixed # quickly. But even in these cases, the patches are temporary and should be # removed as soon as a fix is merged by upstream. -Patch5000: 5000-rules-add-missing-line-continuation.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -749,7 +747,7 @@ rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif %if %{with sysvcompat} -install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install +install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network @@ -780,22 +778,19 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel %endif +# kmod keeps insisting on using /lib/modprobe.d only. +mkdir -p %{buildroot}%{_modprobedir} +mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ %endif # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. -rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants} -rm -f %{buildroot}/etc/systemd/system/default.target +rm -rf %{buildroot}%{_sysconfdir}/systemd/system/*.target.{requires,wants} +rm -f %{buildroot}%{_sysconfdir}/systemd/system/default.target # Replace upstream systemd-user with the openSUSE one. install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} -# kmod keeps insisting on using /lib on SLE. -if [ "$(realpath %{_modprobedir})" != /usr/lib/modprobe.d ]; then - mkdir -p %{buildroot}%{_modprobedir} - mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ -fi - # Don't enable wall ask password service, it spams every console (bnc#747783). rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path @@ -812,9 +807,9 @@ mv %{buildroot}%{_datadir}/polkit-1/rules.d/systemd-networkd.rules \ %endif # Since v207 /etc/sysctl.conf is no longer parsed (commit 04bf3c1a60d82791), -# however backward compatibility is provided by -# /usr/lib/sysctl.d/99-sysctl.conf. +# however backward compatibility is provided by the following symlink. ln -s ../../../etc/sysctl.conf %{buildroot}%{_sysctldir}/99-sysctl.conf +touch %{buildroot}%{_sysconfdir}/sysctl.conf # The definitions of the basic users/groups are given by system-user package on # SUSE (bsc#1006978). @@ -827,7 +822,7 @@ rm -f %{buildroot}%{_environmentdir}/99-environment.conf # Remove README file in init.d as (SUSE) rpm requires executable files in this # directory... oh well. -rm -f %{buildroot}/etc/init.d/README +rm -f %{buildroot}%{_sysconfdir}/init.d/README # This dir must be owned (and thus created) by systemd otherwise the build # system will complain. This is odd since we simply own a ghost file in it... @@ -884,7 +879,7 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} -# Make sure to disable all services by default. The Suse branding presets +# Make sure to disable all services by default. The SUSE branding presets # package takes care of defining the right policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset From 32cbf3c6e6f1a7987dfde84edafc4865a112fb93e7cd3d98c5ea93c1eec73b0b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 6 Mar 2023 08:50:22 +0000 Subject: [PATCH 804/991] - Import commit d447802feee7752cd1756f8fa86ce2a6314ba24f (merge of v252.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8e0a8094b8bbc442d262795b85ac57a37264c5fe...d447802feee7752cd1756f8fa86ce2a6314ba24f OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1351 --- systemd-v252.6+suse.48.g8e0a8094b8.tar.xz | 3 --- systemd-v252.7+suse.50.gd447802fee.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 6 +++--- 4 files changed, 14 insertions(+), 6 deletions(-) delete mode 100644 systemd-v252.6+suse.48.g8e0a8094b8.tar.xz create mode 100644 systemd-v252.7+suse.50.gd447802fee.tar.xz diff --git a/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz b/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz deleted file mode 100644 index a2f346c8..00000000 --- a/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58501d3c453cc1c3363dd0263190d9514b34b4392f1ecaa32e9f7a2c715fa8d9 -size 8090264 diff --git a/systemd-v252.7+suse.50.gd447802fee.tar.xz b/systemd-v252.7+suse.50.gd447802fee.tar.xz new file mode 100644 index 00000000..0a07938e --- /dev/null +++ b/systemd-v252.7+suse.50.gd447802fee.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9f697fdbb194da090ef87f472c1c6d05d16cfa49b3b668648ea6d3c8f177d2 +size 8089304 diff --git a/systemd.changes b/systemd.changes index af813ebc..897181a9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Mar 6 08:40:35 UTC 2023 - Franck Bui + +- Import commit d447802feee7752cd1756f8fa86ce2a6314ba24f (merge of v252.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8e0a8094b8bbc442d262795b85ac57a37264c5fe...d447802feee7752cd1756f8fa86ce2a6314ba24f + ------------------------------------------------------------------- Tue Feb 28 02:58:20 UTC 2023 - Lidong Zhong diff --git a/systemd.spec b/systemd.spec index 8f25c54e..75d654a5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.48.g8e0a8094b8 +%define archive_version +suse.50.gd447802fee %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.6 +Version: 252.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -596,7 +596,7 @@ BuildRequires: pkgconfig(openssl) %description experimental This package contains optional extra services that are considered as previews and are provided so users can do early experiments with the new features or -technologies without waiting for them to be fully supported by either upstream +technologies without waiting for them to be fully supported by both upstream and openSUSE. Please note that all services should be considered in development phase and as From 61822162ec884efe374ad081b94dc81d3542daa2b927a4dbff7b2019f599b1fe Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 7 Mar 2023 15:48:32 +0000 Subject: [PATCH 805/991] Accepting request 1069558 from Base:System - Import commit d447802feee7752cd1756f8fa86ce2a6314ba24f (merge of v252.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8e0a8094b8bbc442d262795b85ac57a37264c5fe...d447802feee7752cd1756f8fa86ce2a6314ba24f - Fix return non-zero value when disabling SysVinit service(bsc#1208432) - Correct BR from python3-jinja2 to python3-Jinja2, fixes dependency resolving on older distros OBS-URL: https://build.opensuse.org/request/show/1069558 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=380 --- systemd-sysv-install | 4 ++-- systemd-v252.6+suse.48.g8e0a8094b8.tar.xz | 3 --- systemd-v252.7+suse.50.gd447802fee.tar.xz | 3 +++ systemd.changes | 19 +++++++++++++++++++ systemd.spec | 8 ++++---- 5 files changed, 28 insertions(+), 9 deletions(-) delete mode 100644 systemd-v252.6+suse.48.g8e0a8094b8.tar.xz create mode 100644 systemd-v252.7+suse.50.gd447802fee.tar.xz diff --git a/systemd-sysv-install b/systemd-sysv-install index cffe4c8f..d7900159 100644 --- a/systemd-sysv-install +++ b/systemd-sysv-install @@ -93,10 +93,10 @@ enable_initscript() { disable_initscript() { for symlink in rc*.d/[SK]*; do - [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && { + if [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ]; then info "rm $(pwd)/$symlink" rm $symlink - } + fi done } diff --git a/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz b/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz deleted file mode 100644 index a2f346c8..00000000 --- a/systemd-v252.6+suse.48.g8e0a8094b8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58501d3c453cc1c3363dd0263190d9514b34b4392f1ecaa32e9f7a2c715fa8d9 -size 8090264 diff --git a/systemd-v252.7+suse.50.gd447802fee.tar.xz b/systemd-v252.7+suse.50.gd447802fee.tar.xz new file mode 100644 index 00000000..0a07938e --- /dev/null +++ b/systemd-v252.7+suse.50.gd447802fee.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9f697fdbb194da090ef87f472c1c6d05d16cfa49b3b668648ea6d3c8f177d2 +size 8089304 diff --git a/systemd.changes b/systemd.changes index 804dcfce..897181a9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Mar 6 08:40:35 UTC 2023 - Franck Bui + +- Import commit d447802feee7752cd1756f8fa86ce2a6314ba24f (merge of v252.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8e0a8094b8bbc442d262795b85ac57a37264c5fe...d447802feee7752cd1756f8fa86ce2a6314ba24f + +------------------------------------------------------------------- +Tue Feb 28 02:58:20 UTC 2023 - Lidong Zhong + +- Fix return non-zero value when disabling SysVinit service(bsc#1208432) + ------------------------------------------------------------------- Mon Feb 27 08:43:27 UTC 2023 - Franck Bui @@ -11,6 +24,12 @@ Mon Feb 27 08:43:27 UTC 2023 - Franck Bui - aaa_base has stop providing /etc/sysctl.conf, cope with this change so the compat symlink we provide is not dangling during the build. +------------------------------------------------------------------- +Thu Feb 23 11:52:48 UTC 2023 - Callum Farmer + +- Correct BR from python3-jinja2 to python3-Jinja2, fixes + dependency resolving on older distros + ------------------------------------------------------------------- Fri Feb 17 11:06:41 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6d1c9c40..75d654a5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.48.g8e0a8094b8 +%define archive_version +suse.50.gd447802fee %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.6 +Version: 252.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -108,7 +108,7 @@ BuildRequires: libcap-devel BuildRequires: libmount-devel >= 2.27.1 BuildRequires: meson >= 0.53.2 BuildRequires: pam-devel -BuildRequires: python3-jinja2 +BuildRequires: python3-Jinja2 # regenerate_initrd_post macro is expanded during build, hence this BR. Also # this macro was introduced since version 12.4. BuildRequires: suse-module-tools >= 12.4 @@ -596,7 +596,7 @@ BuildRequires: pkgconfig(openssl) %description experimental This package contains optional extra services that are considered as previews and are provided so users can do early experiments with the new features or -technologies without waiting for them to be fully supported by either upstream +technologies without waiting for them to be fully supported by both upstream and openSUSE. Please note that all services should be considered in development phase and as From 9f218d0eedb2afd8c14681a1b73ea92e862834662620d0780a7a24319b8fbf32 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Mar 2023 13:07:15 +0000 Subject: [PATCH 806/991] - Upgrade to v253.1 (commit 6c327d74aa0d350482e82a247d7018559699798d) See https://github.com/openSUSE/systemd/blob/SUSE/v253/NEWS for details. * Rebased 0001-conf-parser-introduce-early-drop-ins.patch * Ship systemd-journald-audit.socket again: it can now be disabled via the usual "systemctl disable" mechanism to stop collection of audit messages. Note that it's handled by the preset logic, which turns it off by default. * TEST_06_SELINUX needs selinux-policy-devel. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1352 --- ...conf-parser-introduce-early-drop-ins.patch | 32 ++++++++++--------- files.devel | 14 ++++++++ files.experimental | 6 ++++ files.systemd | 9 ++++-- files.udev | 4 +-- files.uefi-boot | 7 ++-- systemd-v252.7+suse.50.gd447802fee.tar.xz | 3 -- systemd-v253.1.tar.xz | 3 ++ systemd.changes | 16 ++++++++++ systemd.spec | 21 ++++++------ 10 files changed, 77 insertions(+), 38 deletions(-) delete mode 100644 systemd-v252.7+suse.50.gd447802fee.tar.xz create mode 100644 systemd-v253.1.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 0d06f860..47f4da7c 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 288be40eb94ddc1d549a98556baea71d20df224f Mon Sep 17 00:00:00 2001 +From 77391d9baf86f10daf210ccf5527e0155a33fc73 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/8] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -62,14 +62,14 @@ drop this feature at any time. Fixes: #2121 --- src/shared/conf-parser.c | 55 ++++++++++-- - src/test/test-conf-parser.c | 164 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 214 insertions(+), 5 deletions(-) + src/test/test-conf-parser.c | 166 +++++++++++++++++++++++++++++++++++- + 2 files changed, 215 insertions(+), 6 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 5cb41a39da..86dc1c95f6 100644 +index 29051ca0e3..72935030ea 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -478,6 +478,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s +@@ -477,6 +477,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s static int config_parse_many_files( const char* const* conf_files, @@ -77,7 +77,7 @@ index 5cb41a39da..86dc1c95f6 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -496,6 +497,20 @@ static int config_parse_many_files( +@@ -495,6 +496,20 @@ static int config_parse_many_files( return -ENOMEM; } @@ -98,7 +98,7 @@ index 5cb41a39da..86dc1c95f6 100644 /* First read the first found main config file. */ STRV_FOREACH(fn, conf_files) { r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); -@@ -534,6 +549,27 @@ static int config_parse_many_files( +@@ -533,6 +548,27 @@ static int config_parse_many_files( return 0; } @@ -126,7 +126,7 @@ index 5cb41a39da..86dc1c95f6 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -545,15 +581,19 @@ int config_parse_many_nulstr( +@@ -544,15 +580,19 @@ int config_parse_many_nulstr( void *userdata, Hashmap **ret_stats_by_path) { @@ -149,7 +149,7 @@ index 5cb41a39da..86dc1c95f6 100644 ret_stats_by_path); } -@@ -591,6 +631,7 @@ int config_parse_many( +@@ -590,6 +630,7 @@ int config_parse_many( Hashmap **ret_stats_by_path, char ***ret_dropin_files) { @@ -157,7 +157,7 @@ index 5cb41a39da..86dc1c95f6 100644 _cleanup_strv_free_ char **files = NULL; int r; -@@ -603,12 +644,16 @@ int config_parse_many( +@@ -602,12 +643,16 @@ int config_parse_many( if (r < 0) return r; @@ -177,20 +177,22 @@ index 5cb41a39da..86dc1c95f6 100644 return 0; } diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 8c27dcac3f..745e4a127a 100644 +index 0acb4131b5..96a52e759f 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c -@@ -5,6 +5,9 @@ +@@ -5,7 +5,10 @@ #include "fs-util.h" #include "log.h" #include "macro.h" +-#include "string-util.h" +#include "mkdir.h" ++#include "nulstr-util.h" +#include "path-util.h" +#include "rm-rf.h" - #include "string-util.h" #include "strv.h" #include "tests.h" -@@ -391,4 +394,165 @@ TEST(config_parse) { + #include "tmpfile-util.h" +@@ -390,4 +393,165 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } diff --git a/files.devel b/files.devel index 2bd1c670..92d31309 100644 --- a/files.devel +++ b/files.devel @@ -197,6 +197,8 @@ %{_mandir}/man3/sd_bus_emit_properties_changed.3.gz %{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz %{_mandir}/man3/sd_bus_emit_signal.3.gz +%{_mandir}/man3/sd_bus_emit_signal_to.3.gz +%{_mandir}/man3/sd_bus_emit_signal_tov.3.gz %{_mandir}/man3/sd_bus_emit_signalv.3.gz %{_mandir}/man3/sd_bus_enqueue_for_read.3.gz %{_mandir}/man3/sd_bus_error.3.gz @@ -312,6 +314,7 @@ %{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz %{_mandir}/man3/sd_bus_message_new_method_return.3.gz %{_mandir}/man3/sd_bus_message_new_signal.3.gz +%{_mandir}/man3/sd_bus_message_new_signal_to.3.gz %{_mandir}/man3/sd_bus_message_open_container.3.gz %{_mandir}/man3/sd_bus_message_peek_type.3.gz %{_mandir}/man3/sd_bus_message_read.3.gz @@ -663,6 +666,14 @@ %{_mandir}/man3/sd_pid_notify.3.gz %{_mandir}/man3/sd_pid_notify_with_fds.3.gz %{_mandir}/man3/sd_pid_notifyf.3.gz +%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz +%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz +%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz +%{_mandir}/man3/sd_pidfd_get_session.3.gz +%{_mandir}/man3/sd_pidfd_get_slice.3.gz +%{_mandir}/man3/sd_pidfd_get_unit.3.gz +%{_mandir}/man3/sd_pidfd_get_user_slice.3.gz +%{_mandir}/man3/sd_pidfd_get_user_unit.3.gz %{_mandir}/man3/sd_seat_can_graphical.3.gz %{_mandir}/man3/sd_seat_can_tty.3.gz %{_mandir}/man3/sd_seat_get_active.3.gz @@ -755,4 +766,7 @@ %{_mandir}/man3/udev_new.3.gz %{_mandir}/man3/udev_ref.3.gz %{_mandir}/man3/udev_unref.3.gz +%{_mandir}/man8/systemd-pcrfs-root.service.8.gz +%{_mandir}/man8/systemd-pcrfs@.service.8.gz +%{_mandir}/man8/systemd-pcrmachine.service.8.gz %endif diff --git a/files.experimental b/files.experimental index 6bc23ede..fbfa000c 100644 --- a/files.experimental +++ b/files.experimental @@ -28,6 +28,7 @@ %if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz %endif +%{_mandir}/man1/ukify.1.gz %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz @@ -72,9 +73,11 @@ %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork +%{_systemd_util_dir}/ukify %{_sysusersdir}/systemd-oom.conf %if %{with sd_boot} %{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service +%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase.service %endif @@ -83,6 +86,9 @@ %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket %if %{with sd_boot} +%{_unitdir}/systemd-pcrfs-root.service +%{_unitdir}/systemd-pcrfs@.service +%{_unitdir}/systemd-pcrmachine.service %{_unitdir}/systemd-pcrphase-initrd.service %{_unitdir}/systemd-pcrphase-sysinit.service %{_unitdir}/systemd-pcrphase.service diff --git a/files.systemd b/files.systemd index b7b53f15..6d2276f1 100644 --- a/files.systemd +++ b/files.systemd @@ -100,6 +100,7 @@ %{_bindir}/localectl %{_bindir}/loginctl %{_bindir}/systemctl +%{_bindir}/systemd-ac-power %{_bindir}/systemd-analyze %{_bindir}/systemd-ask-password %{_bindir}/systemd-cat @@ -232,8 +233,8 @@ %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif -%{_libdir}/systemd/libsystemd-core-252.so -%{_libdir}/systemd/libsystemd-shared-252.so +%{_libdir}/systemd/libsystemd-core-253.so +%{_libdir}/systemd/libsystemd-shared-253.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz @@ -242,6 +243,7 @@ %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz %{_mandir}/man1/systemctl.1.gz +%{_mandir}/man1/systemd-ac-power.1.gz %{_mandir}/man1/systemd-analyze.1.gz %{_mandir}/man1/systemd-ask-password.1.gz %{_mandir}/man1/systemd-cat.1.gz @@ -445,7 +447,6 @@ %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd -%{_systemd_util_dir}/systemd-ac-power %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent @@ -505,6 +506,7 @@ %{_systemdgeneratordir}/systemd-system-update-generator %{_sysusersdir}/systemd-journal.conf %{_sysusersdir}/systemd-timesync.conf +%{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/provision.conf %{_tmpfilesdir}/suse.conf @@ -641,6 +643,7 @@ %{_unitdir}/systemd-hybrid-sleep.service %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service +%{_unitdir}/systemd-journald-audit.socket %{_unitdir}/systemd-journald-dev-log.socket %{_unitdir}/systemd-journald-varlink@.socket %{_unitdir}/systemd-journald.service diff --git a/files.udev b/files.udev index 1ea1a437..a793d096 100644 --- a/files.udev +++ b/files.udev @@ -94,7 +94,6 @@ %endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link @@ -174,7 +173,6 @@ %{_udevrulesdir}/60-persistent-v4l.rules %{_udevrulesdir}/60-sensor.rules %{_udevrulesdir}/60-serial.rules -%{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules %{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules @@ -226,6 +224,8 @@ %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/systemd-backlight@.service +%{_unitdir}/systemd-growfs-root.service +%{_unitdir}/systemd-growfs@.service %{_unitdir}/systemd-hwdb-update.service %if %{without bootstrap} %{_unitdir}/systemd-modules-load.service diff --git a/files.uefi-boot b/files.uefi-boot index 75c3d0c4..7c50c27a 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -26,19 +26,20 @@ %{_mandir}/man8/systemd-bless-boot-generator.8.gz %{_mandir}/man8/systemd-bless-boot.8.gz %{_mandir}/man8/systemd-bless-boot.service.8.gz -%{_mandir}/man8/systemd-boot-system-token.service.8.gz +%{_mandir}/man8/systemd-boot-random-seed.service.8.gz %endif %{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_prefix}/lib/kernel/install.d/90-uki-copy.install # These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %{_systemd_util_dir}/systemd-bless-boot %{_systemdgeneratordir}/systemd-bless-boot-generator -%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service +%{_unitdir}/sysinit.target.wants/systemd-boot-random-seed.service %{_unitdir}/systemd-bless-boot.service -%{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-random-seed.service %{_unitdir}/systemd-boot-update.service %endif diff --git a/systemd-v252.7+suse.50.gd447802fee.tar.xz b/systemd-v252.7+suse.50.gd447802fee.tar.xz deleted file mode 100644 index 0a07938e..00000000 --- a/systemd-v252.7+suse.50.gd447802fee.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd9f697fdbb194da090ef87f472c1c6d05d16cfa49b3b668648ea6d3c8f177d2 -size 8089304 diff --git a/systemd-v253.1.tar.xz b/systemd-v253.1.tar.xz new file mode 100644 index 00000000..18ac8b19 --- /dev/null +++ b/systemd-v253.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84aad84973ab74246f5eff59641a5570c3a0bb6fce66402a4644212d71f38d07 +size 8205144 diff --git a/systemd.changes b/systemd.changes index 897181a9..44418ba8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Mar 6 10:08:33 UTC 2023 - Franck Bui + +- Upgrade to v253.1 (commit 6c327d74aa0d350482e82a247d7018559699798d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v253/NEWS for details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + + * Ship systemd-journald-audit.socket again: it can now be disabled via the + usual "systemctl disable" mechanism to stop collection of audit + messages. Note that it's handled by the preset logic, which turns it off by + default. + + * TEST_06_SELINUX needs selinux-policy-devel. + ------------------------------------------------------------------- Mon Mar 6 08:40:35 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 75d654a5..8a445b56 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.50.gd447802fee +%define archive_version %nil %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.7 +Version: 253.1 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -530,6 +530,7 @@ Requires: netcat Requires: python3-pexpect Requires: qemu-kvm Requires: quota +Requires: selinux-policy-devel Requires: socat Requires: squashfs Requires: systemd-container @@ -885,8 +886,8 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset -# The tmpfiles dealing with the generic paths is pretty messy -# currently because: +# The current situation with tmpfiles snippets dealing with the generic paths is +# pretty messy currently because: # # 1. filesystem package wants to define the generic paths and some of them # conflict with the definition given by systemd in var.conf, see @@ -930,12 +931,6 @@ fi # still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Don't ship systemd-journald-audit.socket as there's no other way for us to -# prevent journald from recording audit messages in the journal by default -# (bsc#1109252). -rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket -rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket - %if %{with testsuite} # -Dinstall_test took care of installing the unit tests only (those in # src/tests) and testdata directory. Here we copy the integration tests @@ -964,6 +959,7 @@ tar -cO \ %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service +%systemd_pre systemd-journald-audit.socket %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1023,6 +1019,7 @@ fi %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-timesyncd.service +%systemd_post systemd-journald-audit.socket # v228 wrongly set world writable suid root permissions on timestamp files used # by permanent timers. Fix the timestamps that might have been created by the @@ -1314,13 +1311,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.35.0 +%{_libdir}/libsystemd.so.0.36.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.5 +%{_libdir}/libudev.so.1.7.6 %if %{with coredump} %files coredump From c0539b4c8c92fd05740df9d6fb0916503e104047fec5441571cfc15ae5cdcca6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Mar 2023 14:01:42 +0000 Subject: [PATCH 807/991] move man pages for systemd-pcrfs-root-* in the exp package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1353 --- files.devel | 3 --- files.experimental | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/files.devel b/files.devel index 92d31309..f9248ea5 100644 --- a/files.devel +++ b/files.devel @@ -766,7 +766,4 @@ %{_mandir}/man3/udev_new.3.gz %{_mandir}/man3/udev_ref.3.gz %{_mandir}/man3/udev_unref.3.gz -%{_mandir}/man8/systemd-pcrfs-root.service.8.gz -%{_mandir}/man8/systemd-pcrfs@.service.8.gz -%{_mandir}/man8/systemd-pcrmachine.service.8.gz %endif diff --git a/files.experimental b/files.experimental index fbfa000c..bebb26f5 100644 --- a/files.experimental +++ b/files.experimental @@ -44,6 +44,9 @@ %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz %if %{with sd_boot} +%{_mandir}/man8/systemd-pcrfs-root.service.8.gz +%{_mandir}/man8/systemd-pcrfs@.service.8.gz +%{_mandir}/man8/systemd-pcrmachine.service.8.gz %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz %{_mandir}/man8/systemd-pcrphase.8.gz From 9658c00d9972ae334e9be4db3113349c9d090a1e2d73a25542fdc87a36ffaac0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 8 Mar 2023 16:50:43 +0000 Subject: [PATCH 808/991] ukify is only shipped when gnu-efi=true OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1354 --- files.experimental | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/files.experimental b/files.experimental index bebb26f5..0cea03ba 100644 --- a/files.experimental +++ b/files.experimental @@ -27,8 +27,8 @@ %{_mandir}/man1/oomctl.1.gz %if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz -%endif %{_mandir}/man1/ukify.1.gz +%endif %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz @@ -76,7 +76,9 @@ %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork +%if %{with sd_boot} %{_systemd_util_dir}/ukify +%endif %{_sysusersdir}/systemd-oom.conf %if %{with sd_boot} %{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service From 14dffbd0a01e3a9b37f57880ef51a501e6d7bafcdfd83ebe6b65dad8454ffc54 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 9 Mar 2023 10:39:10 +0000 Subject: [PATCH 809/991] - Add 5000-core-manager-run-generators-directly-when-we-are-in-.patch, a temporary workaround until https://github.com/dracutdevs/dracut/issues/2211 is fixed in dracut. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1355 --- ...-generators-directly-when-we-are-in-.patch | 34 +++++++++++++++++++ systemd.changes | 7 ++++ systemd.spec | 7 ++-- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 5000-core-manager-run-generators-directly-when-we-are-in-.patch diff --git a/5000-core-manager-run-generators-directly-when-we-are-in-.patch b/5000-core-manager-run-generators-directly-when-we-are-in-.patch new file mode 100644 index 00000000..20c0b682 --- /dev/null +++ b/5000-core-manager-run-generators-directly-when-we-are-in-.patch @@ -0,0 +1,34 @@ +From 9d0f728f65e6c3ad586e276c1ed3c2cd8cc944be Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Mon, 20 Feb 2023 12:00:30 +0900 +Subject: [PATCH 5000/5000] core/manager: run generators directly when we are + in initrd + +Some initrd system write files at ourside of /run, /etc, or other +allowed places. This is a kind of workaround, but in most cases, such +sandboxing is not necessary as the filesystem is on ramfs when we are in +initrd. + +Fixes #26488. +--- + src/core/manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 380a4e30d7..6135205761 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -3822,8 +3822,8 @@ static int manager_run_generators(Manager *m) { + /* If we are the system manager, we fork and invoke the generators in a sanitized mount namespace. If + * we are the user manager, let's just execute the generators directly. We might not have the + * necessary privileges, and the system manager has already mounted /tmp/ and everything else for us. +- */ +- if (MANAGER_IS_USER(m)) { ++ * If we are in initrd, let's also execute the generators directly, as we are in ramfs. */ ++ if (MANAGER_IS_USER(m) || in_initrd()) { + r = manager_execute_generators(m, paths, /* remount_ro= */ false); + goto finish; + } +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 44418ba8..c87c37ca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 9 10:38:10 UTC 2023 - Franck Bui + +- Add 5000-core-manager-run-generators-directly-when-we-are-in-.patch, a + temporary workaround until https://github.com/dracutdevs/dracut/issues/2211 is + fixed in dracut. + ------------------------------------------------------------------- Mon Mar 6 10:08:33 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8a445b56..a4b18fcc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -209,9 +209,10 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for -# very few cases, some stuff might be broken in upstream and need to be fixed -# quickly. But even in these cases, the patches are temporary and should be -# removed as soon as a fix is merged by upstream. +# very few cases, some stuff might be broken in upstream and need to be fixed or +# worked around quickly. In these cases, the patches are added temporarily and +# will be removed as soon as a proper fix will be merged by upstream. +Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From ef2db1da9c6362ccdd9e748696644ad6b91bd611aaeb33f74b2c3d3a2689a3e6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 13 Mar 2023 17:13:34 +0000 Subject: [PATCH 810/991] - swtpm and tpm2.0-tools are needed by TEST-70-TPM2 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1356 --- systemd.changes | 5 +++++ systemd.spec | 3 +++ 2 files changed, 8 insertions(+) diff --git a/systemd.changes b/systemd.changes index c87c37ca..b7173b74 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 13 17:12:14 UTC 2023 - Franck Bui + +- swtpm and tpm2.0-tools are needed by TEST-70-TPM2 + ------------------------------------------------------------------- Thu Mar 9 10:38:10 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a4b18fcc..1b5dd94f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -500,6 +500,9 @@ Recommends: python3 Recommends: python3-colorama # Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped) Recommends: dosfstools +# Optional deps needed by TEST-70-TPM2 (otherwise skipped) +Recommends: swtpm +Recommends: tpm2.0-tools # The following deps on libs are for test-dlopen-so whereas the pkgconfig ones # are used by test-funtions to find the libs on the host and install them in the # image, see install_missing_libraries() for details. From 304994333280b9d2135b794db4d5a2823ab1b5e27e224630fac37bdeed681bf4 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 14 Mar 2023 17:15:29 +0000 Subject: [PATCH 811/991] Accepting request 1070393 from Base:System - Add 5000-core-manager-run-generators-directly-when-we-are-in-.patch, a temporary workaround until https://github.com/dracutdevs/dracut/issues/2211 is fixed in dracut. - Upgrade to v253.1 (commit 6c327d74aa0d350482e82a247d7018559699798d) See https://github.com/openSUSE/systemd/blob/SUSE/v253/NEWS for details. * Rebased 0001-conf-parser-introduce-early-drop-ins.patch * Ship systemd-journald-audit.socket again: it can now be disabled via the usual "systemctl disable" mechanism to stop collection of audit messages. Note that it's handled by the preset logic, which turns it off by default. * TEST_06_SELINUX needs selinux-policy-devel. OBS-URL: https://build.opensuse.org/request/show/1070393 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=381 --- ...conf-parser-introduce-early-drop-ins.patch | 32 +++++++++-------- ...-generators-directly-when-we-are-in-.patch | 34 +++++++++++++++++++ files.devel | 11 ++++++ files.experimental | 11 ++++++ files.systemd | 9 +++-- files.udev | 4 +-- files.uefi-boot | 7 ++-- systemd-v252.7+suse.50.gd447802fee.tar.xz | 3 -- systemd-v253.1.tar.xz | 3 ++ systemd.changes | 23 +++++++++++++ systemd.spec | 28 +++++++-------- 11 files changed, 124 insertions(+), 41 deletions(-) create mode 100644 5000-core-manager-run-generators-directly-when-we-are-in-.patch delete mode 100644 systemd-v252.7+suse.50.gd447802fee.tar.xz create mode 100644 systemd-v253.1.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 0d06f860..47f4da7c 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 288be40eb94ddc1d549a98556baea71d20df224f Mon Sep 17 00:00:00 2001 +From 77391d9baf86f10daf210ccf5527e0155a33fc73 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/8] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -62,14 +62,14 @@ drop this feature at any time. Fixes: #2121 --- src/shared/conf-parser.c | 55 ++++++++++-- - src/test/test-conf-parser.c | 164 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 214 insertions(+), 5 deletions(-) + src/test/test-conf-parser.c | 166 +++++++++++++++++++++++++++++++++++- + 2 files changed, 215 insertions(+), 6 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 5cb41a39da..86dc1c95f6 100644 +index 29051ca0e3..72935030ea 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -478,6 +478,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s +@@ -477,6 +477,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s static int config_parse_many_files( const char* const* conf_files, @@ -77,7 +77,7 @@ index 5cb41a39da..86dc1c95f6 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -496,6 +497,20 @@ static int config_parse_many_files( +@@ -495,6 +496,20 @@ static int config_parse_many_files( return -ENOMEM; } @@ -98,7 +98,7 @@ index 5cb41a39da..86dc1c95f6 100644 /* First read the first found main config file. */ STRV_FOREACH(fn, conf_files) { r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); -@@ -534,6 +549,27 @@ static int config_parse_many_files( +@@ -533,6 +548,27 @@ static int config_parse_many_files( return 0; } @@ -126,7 +126,7 @@ index 5cb41a39da..86dc1c95f6 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -545,15 +581,19 @@ int config_parse_many_nulstr( +@@ -544,15 +580,19 @@ int config_parse_many_nulstr( void *userdata, Hashmap **ret_stats_by_path) { @@ -149,7 +149,7 @@ index 5cb41a39da..86dc1c95f6 100644 ret_stats_by_path); } -@@ -591,6 +631,7 @@ int config_parse_many( +@@ -590,6 +630,7 @@ int config_parse_many( Hashmap **ret_stats_by_path, char ***ret_dropin_files) { @@ -157,7 +157,7 @@ index 5cb41a39da..86dc1c95f6 100644 _cleanup_strv_free_ char **files = NULL; int r; -@@ -603,12 +644,16 @@ int config_parse_many( +@@ -602,12 +643,16 @@ int config_parse_many( if (r < 0) return r; @@ -177,20 +177,22 @@ index 5cb41a39da..86dc1c95f6 100644 return 0; } diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 8c27dcac3f..745e4a127a 100644 +index 0acb4131b5..96a52e759f 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c -@@ -5,6 +5,9 @@ +@@ -5,7 +5,10 @@ #include "fs-util.h" #include "log.h" #include "macro.h" +-#include "string-util.h" +#include "mkdir.h" ++#include "nulstr-util.h" +#include "path-util.h" +#include "rm-rf.h" - #include "string-util.h" #include "strv.h" #include "tests.h" -@@ -391,4 +394,165 @@ TEST(config_parse) { + #include "tmpfile-util.h" +@@ -390,4 +393,165 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } diff --git a/5000-core-manager-run-generators-directly-when-we-are-in-.patch b/5000-core-manager-run-generators-directly-when-we-are-in-.patch new file mode 100644 index 00000000..20c0b682 --- /dev/null +++ b/5000-core-manager-run-generators-directly-when-we-are-in-.patch @@ -0,0 +1,34 @@ +From 9d0f728f65e6c3ad586e276c1ed3c2cd8cc944be Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Mon, 20 Feb 2023 12:00:30 +0900 +Subject: [PATCH 5000/5000] core/manager: run generators directly when we are + in initrd + +Some initrd system write files at ourside of /run, /etc, or other +allowed places. This is a kind of workaround, but in most cases, such +sandboxing is not necessary as the filesystem is on ramfs when we are in +initrd. + +Fixes #26488. +--- + src/core/manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 380a4e30d7..6135205761 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -3822,8 +3822,8 @@ static int manager_run_generators(Manager *m) { + /* If we are the system manager, we fork and invoke the generators in a sanitized mount namespace. If + * we are the user manager, let's just execute the generators directly. We might not have the + * necessary privileges, and the system manager has already mounted /tmp/ and everything else for us. +- */ +- if (MANAGER_IS_USER(m)) { ++ * If we are in initrd, let's also execute the generators directly, as we are in ramfs. */ ++ if (MANAGER_IS_USER(m) || in_initrd()) { + r = manager_execute_generators(m, paths, /* remount_ro= */ false); + goto finish; + } +-- +2.35.3 + diff --git a/files.devel b/files.devel index 2bd1c670..f9248ea5 100644 --- a/files.devel +++ b/files.devel @@ -197,6 +197,8 @@ %{_mandir}/man3/sd_bus_emit_properties_changed.3.gz %{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz %{_mandir}/man3/sd_bus_emit_signal.3.gz +%{_mandir}/man3/sd_bus_emit_signal_to.3.gz +%{_mandir}/man3/sd_bus_emit_signal_tov.3.gz %{_mandir}/man3/sd_bus_emit_signalv.3.gz %{_mandir}/man3/sd_bus_enqueue_for_read.3.gz %{_mandir}/man3/sd_bus_error.3.gz @@ -312,6 +314,7 @@ %{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz %{_mandir}/man3/sd_bus_message_new_method_return.3.gz %{_mandir}/man3/sd_bus_message_new_signal.3.gz +%{_mandir}/man3/sd_bus_message_new_signal_to.3.gz %{_mandir}/man3/sd_bus_message_open_container.3.gz %{_mandir}/man3/sd_bus_message_peek_type.3.gz %{_mandir}/man3/sd_bus_message_read.3.gz @@ -663,6 +666,14 @@ %{_mandir}/man3/sd_pid_notify.3.gz %{_mandir}/man3/sd_pid_notify_with_fds.3.gz %{_mandir}/man3/sd_pid_notifyf.3.gz +%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz +%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz +%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz +%{_mandir}/man3/sd_pidfd_get_session.3.gz +%{_mandir}/man3/sd_pidfd_get_slice.3.gz +%{_mandir}/man3/sd_pidfd_get_unit.3.gz +%{_mandir}/man3/sd_pidfd_get_user_slice.3.gz +%{_mandir}/man3/sd_pidfd_get_user_unit.3.gz %{_mandir}/man3/sd_seat_can_graphical.3.gz %{_mandir}/man3/sd_seat_can_tty.3.gz %{_mandir}/man3/sd_seat_get_active.3.gz diff --git a/files.experimental b/files.experimental index 6bc23ede..0cea03ba 100644 --- a/files.experimental +++ b/files.experimental @@ -27,6 +27,7 @@ %{_mandir}/man1/oomctl.1.gz %if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz +%{_mandir}/man1/ukify.1.gz %endif %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz @@ -43,6 +44,9 @@ %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz %if %{with sd_boot} +%{_mandir}/man8/systemd-pcrfs-root.service.8.gz +%{_mandir}/man8/systemd-pcrfs@.service.8.gz +%{_mandir}/man8/systemd-pcrmachine.service.8.gz %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz %{_mandir}/man8/systemd-pcrphase.8.gz @@ -72,9 +76,13 @@ %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork +%if %{with sd_boot} +%{_systemd_util_dir}/ukify +%endif %{_sysusersdir}/systemd-oom.conf %if %{with sd_boot} %{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service +%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase.service %endif @@ -83,6 +91,9 @@ %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket %if %{with sd_boot} +%{_unitdir}/systemd-pcrfs-root.service +%{_unitdir}/systemd-pcrfs@.service +%{_unitdir}/systemd-pcrmachine.service %{_unitdir}/systemd-pcrphase-initrd.service %{_unitdir}/systemd-pcrphase-sysinit.service %{_unitdir}/systemd-pcrphase.service diff --git a/files.systemd b/files.systemd index b7b53f15..6d2276f1 100644 --- a/files.systemd +++ b/files.systemd @@ -100,6 +100,7 @@ %{_bindir}/localectl %{_bindir}/loginctl %{_bindir}/systemctl +%{_bindir}/systemd-ac-power %{_bindir}/systemd-analyze %{_bindir}/systemd-ask-password %{_bindir}/systemd-cat @@ -232,8 +233,8 @@ %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif -%{_libdir}/systemd/libsystemd-core-252.so -%{_libdir}/systemd/libsystemd-shared-252.so +%{_libdir}/systemd/libsystemd-core-253.so +%{_libdir}/systemd/libsystemd-shared-253.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz @@ -242,6 +243,7 @@ %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz %{_mandir}/man1/systemctl.1.gz +%{_mandir}/man1/systemd-ac-power.1.gz %{_mandir}/man1/systemd-analyze.1.gz %{_mandir}/man1/systemd-ask-password.1.gz %{_mandir}/man1/systemd-cat.1.gz @@ -445,7 +447,6 @@ %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd -%{_systemd_util_dir}/systemd-ac-power %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent @@ -505,6 +506,7 @@ %{_systemdgeneratordir}/systemd-system-update-generator %{_sysusersdir}/systemd-journal.conf %{_sysusersdir}/systemd-timesync.conf +%{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/provision.conf %{_tmpfilesdir}/suse.conf @@ -641,6 +643,7 @@ %{_unitdir}/systemd-hybrid-sleep.service %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service +%{_unitdir}/systemd-journald-audit.socket %{_unitdir}/systemd-journald-dev-log.socket %{_unitdir}/systemd-journald-varlink@.socket %{_unitdir}/systemd-journald.service diff --git a/files.udev b/files.udev index 1ea1a437..a793d096 100644 --- a/files.udev +++ b/files.udev @@ -94,7 +94,6 @@ %endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe -%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link @@ -174,7 +173,6 @@ %{_udevrulesdir}/60-persistent-v4l.rules %{_udevrulesdir}/60-sensor.rules %{_udevrulesdir}/60-serial.rules -%{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules %{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules @@ -226,6 +224,8 @@ %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/systemd-backlight@.service +%{_unitdir}/systemd-growfs-root.service +%{_unitdir}/systemd-growfs@.service %{_unitdir}/systemd-hwdb-update.service %if %{without bootstrap} %{_unitdir}/systemd-modules-load.service diff --git a/files.uefi-boot b/files.uefi-boot index 75c3d0c4..7c50c27a 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -26,19 +26,20 @@ %{_mandir}/man8/systemd-bless-boot-generator.8.gz %{_mandir}/man8/systemd-bless-boot.8.gz %{_mandir}/man8/systemd-bless-boot.service.8.gz -%{_mandir}/man8/systemd-boot-system-token.service.8.gz +%{_mandir}/man8/systemd-boot-random-seed.service.8.gz %endif %{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_prefix}/lib/kernel/install.d/90-uki-copy.install # These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %{_systemd_util_dir}/systemd-bless-boot %{_systemdgeneratordir}/systemd-bless-boot-generator -%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service +%{_unitdir}/sysinit.target.wants/systemd-boot-random-seed.service %{_unitdir}/systemd-bless-boot.service -%{_unitdir}/systemd-boot-system-token.service +%{_unitdir}/systemd-boot-random-seed.service %{_unitdir}/systemd-boot-update.service %endif diff --git a/systemd-v252.7+suse.50.gd447802fee.tar.xz b/systemd-v252.7+suse.50.gd447802fee.tar.xz deleted file mode 100644 index 0a07938e..00000000 --- a/systemd-v252.7+suse.50.gd447802fee.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd9f697fdbb194da090ef87f472c1c6d05d16cfa49b3b668648ea6d3c8f177d2 -size 8089304 diff --git a/systemd-v253.1.tar.xz b/systemd-v253.1.tar.xz new file mode 100644 index 00000000..18ac8b19 --- /dev/null +++ b/systemd-v253.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84aad84973ab74246f5eff59641a5570c3a0bb6fce66402a4644212d71f38d07 +size 8205144 diff --git a/systemd.changes b/systemd.changes index 897181a9..c87c37ca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Thu Mar 9 10:38:10 UTC 2023 - Franck Bui + +- Add 5000-core-manager-run-generators-directly-when-we-are-in-.patch, a + temporary workaround until https://github.com/dracutdevs/dracut/issues/2211 is + fixed in dracut. + +------------------------------------------------------------------- +Mon Mar 6 10:08:33 UTC 2023 - Franck Bui + +- Upgrade to v253.1 (commit 6c327d74aa0d350482e82a247d7018559699798d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v253/NEWS for details. + + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch + + * Ship systemd-journald-audit.socket again: it can now be disabled via the + usual "systemctl disable" mechanism to stop collection of audit + messages. Note that it's handled by the preset logic, which turns it off by + default. + + * TEST_06_SELINUX needs selinux-policy-devel. + ------------------------------------------------------------------- Mon Mar 6 08:40:35 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 75d654a5..a4b18fcc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.50.gd447802fee +%define archive_version %nil %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 252.7 +Version: 253.1 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -209,9 +209,10 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for -# very few cases, some stuff might be broken in upstream and need to be fixed -# quickly. But even in these cases, the patches are temporary and should be -# removed as soon as a fix is merged by upstream. +# very few cases, some stuff might be broken in upstream and need to be fixed or +# worked around quickly. In these cases, the patches are added temporarily and +# will be removed as soon as a proper fix will be merged by upstream. +Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -530,6 +531,7 @@ Requires: netcat Requires: python3-pexpect Requires: qemu-kvm Requires: quota +Requires: selinux-policy-devel Requires: socat Requires: squashfs Requires: systemd-container @@ -885,8 +887,8 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset -# The tmpfiles dealing with the generic paths is pretty messy -# currently because: +# The current situation with tmpfiles snippets dealing with the generic paths is +# pretty messy currently because: # # 1. filesystem package wants to define the generic paths and some of them # conflict with the definition given by systemd in var.conf, see @@ -930,12 +932,6 @@ fi # still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -# Don't ship systemd-journald-audit.socket as there's no other way for us to -# prevent journald from recording audit messages in the journal by default -# (bsc#1109252). -rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket -rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket - %if %{with testsuite} # -Dinstall_test took care of installing the unit tests only (those in # src/tests) and testdata directory. Here we copy the integration tests @@ -964,6 +960,7 @@ tar -cO \ %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service +%systemd_pre systemd-journald-audit.socket %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1023,6 +1020,7 @@ fi %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-timesyncd.service +%systemd_post systemd-journald-audit.socket # v228 wrongly set world writable suid root permissions on timestamp files used # by permanent timers. Fix the timestamps that might have been created by the @@ -1314,13 +1312,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.35.0 +%{_libdir}/libsystemd.so.0.36.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.5 +%{_libdir}/libudev.so.1.7.6 %if %{with coredump} %files coredump From ba02eef87f4ee6df0dc118b22a642720bda50e6e093c2dbaf7b40705619be5a4 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 15 Mar 2023 17:53:31 +0000 Subject: [PATCH 812/991] Accepting request 1072108 from openSUSE:Factory https://bugzilla.opensuse.org/show_bug.cgi?id=1209305 OBS-URL: https://build.opensuse.org/request/show/1072108 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=382 --- ...conf-parser-introduce-early-drop-ins.patch | 32 ++++++++--------- ...-generators-directly-when-we-are-in-.patch | 34 ------------------- files.devel | 11 ------ files.experimental | 11 ------ files.systemd | 9 ++--- files.udev | 4 +-- files.uefi-boot | 7 ++-- systemd-v252.7+suse.50.gd447802fee.tar.xz | 3 ++ systemd-v253.1.tar.xz | 3 -- systemd.changes | 23 ------------- systemd.spec | 28 ++++++++------- 11 files changed, 41 insertions(+), 124 deletions(-) delete mode 100644 5000-core-manager-run-generators-directly-when-we-are-in-.patch create mode 100644 systemd-v252.7+suse.50.gd447802fee.tar.xz delete mode 100644 systemd-v253.1.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 47f4da7c..0d06f860 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,7 +1,7 @@ -From 77391d9baf86f10daf210ccf5527e0155a33fc73 Mon Sep 17 00:00:00 2001 +From 288be40eb94ddc1d549a98556baea71d20df224f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins +Subject: [PATCH 1/8] conf-parser: introduce 'early' drop-ins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -62,14 +62,14 @@ drop this feature at any time. Fixes: #2121 --- src/shared/conf-parser.c | 55 ++++++++++-- - src/test/test-conf-parser.c | 166 +++++++++++++++++++++++++++++++++++- - 2 files changed, 215 insertions(+), 6 deletions(-) + src/test/test-conf-parser.c | 164 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 214 insertions(+), 5 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 29051ca0e3..72935030ea 100644 +index 5cb41a39da..86dc1c95f6 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c -@@ -477,6 +477,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s +@@ -478,6 +478,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s static int config_parse_many_files( const char* const* conf_files, @@ -77,7 +77,7 @@ index 29051ca0e3..72935030ea 100644 char **files, const char *sections, ConfigItemLookup lookup, -@@ -495,6 +496,20 @@ static int config_parse_many_files( +@@ -496,6 +497,20 @@ static int config_parse_many_files( return -ENOMEM; } @@ -98,7 +98,7 @@ index 29051ca0e3..72935030ea 100644 /* First read the first found main config file. */ STRV_FOREACH(fn, conf_files) { r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); -@@ -533,6 +548,27 @@ static int config_parse_many_files( +@@ -534,6 +549,27 @@ static int config_parse_many_files( return 0; } @@ -126,7 +126,7 @@ index 29051ca0e3..72935030ea 100644 /* Parse each config file in the directories specified as nulstr. */ int config_parse_many_nulstr( const char *conf_file, -@@ -544,15 +580,19 @@ int config_parse_many_nulstr( +@@ -545,15 +581,19 @@ int config_parse_many_nulstr( void *userdata, Hashmap **ret_stats_by_path) { @@ -149,7 +149,7 @@ index 29051ca0e3..72935030ea 100644 ret_stats_by_path); } -@@ -590,6 +630,7 @@ int config_parse_many( +@@ -591,6 +631,7 @@ int config_parse_many( Hashmap **ret_stats_by_path, char ***ret_dropin_files) { @@ -157,7 +157,7 @@ index 29051ca0e3..72935030ea 100644 _cleanup_strv_free_ char **files = NULL; int r; -@@ -602,12 +643,16 @@ int config_parse_many( +@@ -603,12 +644,16 @@ int config_parse_many( if (r < 0) return r; @@ -177,22 +177,20 @@ index 29051ca0e3..72935030ea 100644 return 0; } diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 0acb4131b5..96a52e759f 100644 +index 8c27dcac3f..745e4a127a 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c -@@ -5,7 +5,10 @@ +@@ -5,6 +5,9 @@ #include "fs-util.h" #include "log.h" #include "macro.h" --#include "string-util.h" +#include "mkdir.h" -+#include "nulstr-util.h" +#include "path-util.h" +#include "rm-rf.h" + #include "string-util.h" #include "strv.h" #include "tests.h" - #include "tmpfile-util.h" -@@ -390,4 +393,165 @@ TEST(config_parse) { +@@ -391,4 +394,165 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } diff --git a/5000-core-manager-run-generators-directly-when-we-are-in-.patch b/5000-core-manager-run-generators-directly-when-we-are-in-.patch deleted file mode 100644 index 20c0b682..00000000 --- a/5000-core-manager-run-generators-directly-when-we-are-in-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9d0f728f65e6c3ad586e276c1ed3c2cd8cc944be Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Mon, 20 Feb 2023 12:00:30 +0900 -Subject: [PATCH 5000/5000] core/manager: run generators directly when we are - in initrd - -Some initrd system write files at ourside of /run, /etc, or other -allowed places. This is a kind of workaround, but in most cases, such -sandboxing is not necessary as the filesystem is on ramfs when we are in -initrd. - -Fixes #26488. ---- - src/core/manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 380a4e30d7..6135205761 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -3822,8 +3822,8 @@ static int manager_run_generators(Manager *m) { - /* If we are the system manager, we fork and invoke the generators in a sanitized mount namespace. If - * we are the user manager, let's just execute the generators directly. We might not have the - * necessary privileges, and the system manager has already mounted /tmp/ and everything else for us. -- */ -- if (MANAGER_IS_USER(m)) { -+ * If we are in initrd, let's also execute the generators directly, as we are in ramfs. */ -+ if (MANAGER_IS_USER(m) || in_initrd()) { - r = manager_execute_generators(m, paths, /* remount_ro= */ false); - goto finish; - } --- -2.35.3 - diff --git a/files.devel b/files.devel index f9248ea5..2bd1c670 100644 --- a/files.devel +++ b/files.devel @@ -197,8 +197,6 @@ %{_mandir}/man3/sd_bus_emit_properties_changed.3.gz %{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz %{_mandir}/man3/sd_bus_emit_signal.3.gz -%{_mandir}/man3/sd_bus_emit_signal_to.3.gz -%{_mandir}/man3/sd_bus_emit_signal_tov.3.gz %{_mandir}/man3/sd_bus_emit_signalv.3.gz %{_mandir}/man3/sd_bus_enqueue_for_read.3.gz %{_mandir}/man3/sd_bus_error.3.gz @@ -314,7 +312,6 @@ %{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz %{_mandir}/man3/sd_bus_message_new_method_return.3.gz %{_mandir}/man3/sd_bus_message_new_signal.3.gz -%{_mandir}/man3/sd_bus_message_new_signal_to.3.gz %{_mandir}/man3/sd_bus_message_open_container.3.gz %{_mandir}/man3/sd_bus_message_peek_type.3.gz %{_mandir}/man3/sd_bus_message_read.3.gz @@ -666,14 +663,6 @@ %{_mandir}/man3/sd_pid_notify.3.gz %{_mandir}/man3/sd_pid_notify_with_fds.3.gz %{_mandir}/man3/sd_pid_notifyf.3.gz -%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz -%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz -%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz -%{_mandir}/man3/sd_pidfd_get_session.3.gz -%{_mandir}/man3/sd_pidfd_get_slice.3.gz -%{_mandir}/man3/sd_pidfd_get_unit.3.gz -%{_mandir}/man3/sd_pidfd_get_user_slice.3.gz -%{_mandir}/man3/sd_pidfd_get_user_unit.3.gz %{_mandir}/man3/sd_seat_can_graphical.3.gz %{_mandir}/man3/sd_seat_can_tty.3.gz %{_mandir}/man3/sd_seat_get_active.3.gz diff --git a/files.experimental b/files.experimental index 0cea03ba..6bc23ede 100644 --- a/files.experimental +++ b/files.experimental @@ -27,7 +27,6 @@ %{_mandir}/man1/oomctl.1.gz %if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz -%{_mandir}/man1/ukify.1.gz %endif %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz @@ -44,9 +43,6 @@ %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz %if %{with sd_boot} -%{_mandir}/man8/systemd-pcrfs-root.service.8.gz -%{_mandir}/man8/systemd-pcrfs@.service.8.gz -%{_mandir}/man8/systemd-pcrmachine.service.8.gz %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz %{_mandir}/man8/systemd-pcrphase.8.gz @@ -76,13 +72,9 @@ %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork -%if %{with sd_boot} -%{_systemd_util_dir}/ukify -%endif %{_sysusersdir}/systemd-oom.conf %if %{with sd_boot} %{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service -%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase.service %endif @@ -91,9 +83,6 @@ %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket %if %{with sd_boot} -%{_unitdir}/systemd-pcrfs-root.service -%{_unitdir}/systemd-pcrfs@.service -%{_unitdir}/systemd-pcrmachine.service %{_unitdir}/systemd-pcrphase-initrd.service %{_unitdir}/systemd-pcrphase-sysinit.service %{_unitdir}/systemd-pcrphase.service diff --git a/files.systemd b/files.systemd index 6d2276f1..b7b53f15 100644 --- a/files.systemd +++ b/files.systemd @@ -100,7 +100,6 @@ %{_bindir}/localectl %{_bindir}/loginctl %{_bindir}/systemctl -%{_bindir}/systemd-ac-power %{_bindir}/systemd-analyze %{_bindir}/systemd-ask-password %{_bindir}/systemd-cat @@ -233,8 +232,8 @@ %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif -%{_libdir}/systemd/libsystemd-core-253.so -%{_libdir}/systemd/libsystemd-shared-253.so +%{_libdir}/systemd/libsystemd-core-252.so +%{_libdir}/systemd/libsystemd-shared-252.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz @@ -243,7 +242,6 @@ %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz %{_mandir}/man1/systemctl.1.gz -%{_mandir}/man1/systemd-ac-power.1.gz %{_mandir}/man1/systemd-analyze.1.gz %{_mandir}/man1/systemd-ask-password.1.gz %{_mandir}/man1/systemd-cat.1.gz @@ -447,6 +445,7 @@ %{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd +%{_systemd_util_dir}/systemd-ac-power %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent @@ -506,7 +505,6 @@ %{_systemdgeneratordir}/systemd-system-update-generator %{_sysusersdir}/systemd-journal.conf %{_sysusersdir}/systemd-timesync.conf -%{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/provision.conf %{_tmpfilesdir}/suse.conf @@ -643,7 +641,6 @@ %{_unitdir}/systemd-hybrid-sleep.service %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service -%{_unitdir}/systemd-journald-audit.socket %{_unitdir}/systemd-journald-dev-log.socket %{_unitdir}/systemd-journald-varlink@.socket %{_unitdir}/systemd-journald.service diff --git a/files.udev b/files.udev index a793d096..1ea1a437 100644 --- a/files.udev +++ b/files.udev @@ -94,6 +94,7 @@ %endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/mtd_probe +%{_prefix}/lib/udev/path_id_compat %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link @@ -173,6 +174,7 @@ %{_udevrulesdir}/60-persistent-v4l.rules %{_udevrulesdir}/60-sensor.rules %{_udevrulesdir}/60-serial.rules +%{_udevrulesdir}/61-persistent-storage-compat.rules %{_udevrulesdir}/64-btrfs.rules %{_udevrulesdir}/70-camera.rules %{_udevrulesdir}/70-joystick.rules @@ -224,8 +226,6 @@ %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/systemd-backlight@.service -%{_unitdir}/systemd-growfs-root.service -%{_unitdir}/systemd-growfs@.service %{_unitdir}/systemd-hwdb-update.service %if %{without bootstrap} %{_unitdir}/systemd-modules-load.service diff --git a/files.uefi-boot b/files.uefi-boot index 7c50c27a..75c3d0c4 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -26,20 +26,19 @@ %{_mandir}/man8/systemd-bless-boot-generator.8.gz %{_mandir}/man8/systemd-bless-boot.8.gz %{_mandir}/man8/systemd-bless-boot.service.8.gz -%{_mandir}/man8/systemd-boot-random-seed.service.8.gz +%{_mandir}/man8/systemd-boot-system-token.service.8.gz %endif %{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install -%{_prefix}/lib/kernel/install.d/90-uki-copy.install # These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %{_systemd_util_dir}/systemd-bless-boot %{_systemdgeneratordir}/systemd-bless-boot-generator -%{_unitdir}/sysinit.target.wants/systemd-boot-random-seed.service +%{_unitdir}/sysinit.target.wants/systemd-boot-system-token.service %{_unitdir}/systemd-bless-boot.service -%{_unitdir}/systemd-boot-random-seed.service +%{_unitdir}/systemd-boot-system-token.service %{_unitdir}/systemd-boot-update.service %endif diff --git a/systemd-v252.7+suse.50.gd447802fee.tar.xz b/systemd-v252.7+suse.50.gd447802fee.tar.xz new file mode 100644 index 00000000..0a07938e --- /dev/null +++ b/systemd-v252.7+suse.50.gd447802fee.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9f697fdbb194da090ef87f472c1c6d05d16cfa49b3b668648ea6d3c8f177d2 +size 8089304 diff --git a/systemd-v253.1.tar.xz b/systemd-v253.1.tar.xz deleted file mode 100644 index 18ac8b19..00000000 --- a/systemd-v253.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84aad84973ab74246f5eff59641a5570c3a0bb6fce66402a4644212d71f38d07 -size 8205144 diff --git a/systemd.changes b/systemd.changes index c87c37ca..897181a9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,26 +1,3 @@ -------------------------------------------------------------------- -Thu Mar 9 10:38:10 UTC 2023 - Franck Bui - -- Add 5000-core-manager-run-generators-directly-when-we-are-in-.patch, a - temporary workaround until https://github.com/dracutdevs/dracut/issues/2211 is - fixed in dracut. - -------------------------------------------------------------------- -Mon Mar 6 10:08:33 UTC 2023 - Franck Bui - -- Upgrade to v253.1 (commit 6c327d74aa0d350482e82a247d7018559699798d) - - See https://github.com/openSUSE/systemd/blob/SUSE/v253/NEWS for details. - - * Rebased 0001-conf-parser-introduce-early-drop-ins.patch - - * Ship systemd-journald-audit.socket again: it can now be disabled via the - usual "systemctl disable" mechanism to stop collection of audit - messages. Note that it's handled by the preset logic, which turns it off by - default. - - * TEST_06_SELINUX needs selinux-policy-devel. - ------------------------------------------------------------------- Mon Mar 6 08:40:35 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a4b18fcc..75d654a5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version %nil +%define archive_version +suse.50.gd447802fee %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.1 +Version: 252.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -209,10 +209,9 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for -# very few cases, some stuff might be broken in upstream and need to be fixed or -# worked around quickly. In these cases, the patches are added temporarily and -# will be removed as soon as a proper fix will be merged by upstream. -Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch +# very few cases, some stuff might be broken in upstream and need to be fixed +# quickly. But even in these cases, the patches are temporary and should be +# removed as soon as a fix is merged by upstream. %description Systemd is a system and service manager, compatible with SysV and LSB @@ -531,7 +530,6 @@ Requires: netcat Requires: python3-pexpect Requires: qemu-kvm Requires: quota -Requires: selinux-policy-devel Requires: socat Requires: squashfs Requires: systemd-container @@ -887,8 +885,8 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset -# The current situation with tmpfiles snippets dealing with the generic paths is -# pretty messy currently because: +# The tmpfiles dealing with the generic paths is pretty messy +# currently because: # # 1. filesystem package wants to define the generic paths and some of them # conflict with the definition given by systemd in var.conf, see @@ -932,6 +930,12 @@ fi # still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +# Don't ship systemd-journald-audit.socket as there's no other way for us to +# prevent journald from recording audit messages in the journal by default +# (bsc#1109252). +rm -f %{buildroot}%{_unitdir}/systemd-journald-audit.socket +rm -f %{buildroot}%{_unitdir}/sockets.target.wants/systemd-journald-audit.socket + %if %{with testsuite} # -Dinstall_test took care of installing the unit tests only (those in # src/tests) and testdata directory. Here we copy the integration tests @@ -960,7 +964,6 @@ tar -cO \ %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service -%systemd_pre systemd-journald-audit.socket %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1020,7 +1023,6 @@ fi %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-timesyncd.service -%systemd_post systemd-journald-audit.socket # v228 wrongly set world writable suid root permissions on timestamp files used # by permanent timers. Fix the timestamps that might have been created by the @@ -1312,13 +1314,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.36.0 +%{_libdir}/libsystemd.so.0.35.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.6 +%{_libdir}/libudev.so.1.7.5 %if %{with coredump} %files coredump From 5e40dcaa5e3b3e667252973d4ea01599ecd193b7d6f85af044166a58bfe76d35 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 16 Mar 2023 07:28:34 +0000 Subject: [PATCH 813/991] - testsuite: mtools is required by TEST-58-REPART OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1357 --- systemd.changes | 7 ++++++- systemd.spec | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index b7173b74..c0fc48a1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7 +1,12 @@ +------------------------------------------------------------------- +Mon Mar 13 18:50:39 UTC 2023 - Franck Bui + +- testsuite: mtools is required by TEST-58-REPART + ------------------------------------------------------------------- Mon Mar 13 17:12:14 UTC 2023 - Franck Bui -- swtpm and tpm2.0-tools are needed by TEST-70-TPM2 +- testsuite: swtpm and tpm2.0-tools are needed by TEST-70-TPM2 ------------------------------------------------------------------- Thu Mar 9 10:38:10 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1b5dd94f..010b44e6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -530,6 +530,7 @@ Requires: libtss2-mu0 Requires: libtss2-rc0 Requires: lz4 Requires: make +Requires: mtools Requires: netcat Requires: python3-pexpect Requires: qemu-kvm From 53f4c09eaaa8eb8fdf69eceb2327f7ecd536e968c7af738231cd014599095252 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 16 Mar 2023 07:30:09 +0000 Subject: [PATCH 814/991] - Add 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch until https://github.com/systemd/systemd/issues/26839 is fixed properly. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1358 --- ...pagate-stop-too-if-restart-is-issued.patch | 75 +++++++++++++++++++ systemd.changes | 6 ++ systemd.spec | 1 + 3 files changed, 82 insertions(+) create mode 100644 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch diff --git a/5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch b/5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch new file mode 100644 index 00000000..c52ef775 --- /dev/null +++ b/5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch @@ -0,0 +1,75 @@ +From 7e094b534978a8c5e980271a00ebccdba98ae6f7 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 15 Mar 2023 19:48:52 +0100 +Subject: [PATCH 5001/5001] Revert "core: propagate stop too if restart is + issued" + +This reverts commit 017a7ba4f406adcf69d6b3ec15b9f2d9ed5ad853. + +Until https://github.com/systemd/systemd/issues/26839 is properly fixed. +--- + src/core/transaction.c | 42 +++++++++++++++--------------------------- + 1 file changed, 15 insertions(+), 27 deletions(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index a6fd184e33..9689d5faab 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -1047,39 +1047,27 @@ int transaction_add_job_and_dependencies( + } + + if (IN_SET(type, JOB_STOP, JOB_RESTART)) { +- _cleanup_set_free_ Set *propagated_restart = NULL; ++ UnitDependencyAtom atom; ++ JobType ptype; ++ + /* We propagate STOP as STOP, but RESTART only as TRY_RESTART, in order not to start + * dependencies that are not around. */ ++ if (type == JOB_RESTART) { ++ atom = UNIT_ATOM_PROPAGATE_RESTART; ++ ptype = JOB_TRY_RESTART; ++ } else { ++ ptype = JOB_STOP; ++ atom = UNIT_ATOM_PROPAGATE_STOP; ++ } + +- if (type == JOB_RESTART) +- UNIT_FOREACH_DEPENDENCY(dep, ret->unit, UNIT_ATOM_PROPAGATE_RESTART) { +- JobType nt; +- +- r = set_ensure_put(&propagated_restart, NULL, dep); +- if (r < 0) +- return r; +- +- nt = job_type_collapse(JOB_TRY_RESTART, dep); +- if (nt == JOB_NOP) +- continue; +- +- r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, false, false, ignore_order, e); +- if (r < 0) { +- if (r != -EBADR) /* job type not applicable */ +- return r; +- +- sd_bus_error_free(e); +- } +- } ++ UNIT_FOREACH_DEPENDENCY(dep, ret->unit, atom) { ++ JobType nt; + +- /* The 'stop' part of a restart job is also propagated to +- * units with UNIT_ATOM_PROPAGATE_STOP */ +- UNIT_FOREACH_DEPENDENCY(dep, ret->unit, UNIT_ATOM_PROPAGATE_STOP) { +- /* Units experienced restart propagation are skipped */ +- if (set_contains(propagated_restart, dep)) ++ nt = job_type_collapse(ptype, dep); ++ if (nt == JOB_NOP) + continue; + +- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, false, false, ignore_order, e); ++ r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) /* job type not applicable */ + return r; +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index c0fc48a1..34625468 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Mar 16 07:29:24 UTC 2023 - Franck Bui + +- Add 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch until + https://github.com/systemd/systemd/issues/26839 is fixed properly. + ------------------------------------------------------------------- Mon Mar 13 18:50:39 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 010b44e6..ed2af57e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -213,6 +213,7 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # worked around quickly. In these cases, the patches are added temporarily and # will be removed as soon as a proper fix will be merged by upstream. Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch +Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch %description Systemd is a system and service manager, compatible with SysV and LSB From a84752c1af77add1d3442ea3cea076bf396b9e31e0df403749a0bb8725c22b45 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 16 Mar 2023 07:35:14 +0000 Subject: [PATCH 815/991] - Add 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch (bsc#1209305) Added temporarily until it's merged in either the stable v253 branch or in the SUSE git repo. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1359 --- ...citly-cast-the-constants-to-uint64_t.patch | 46 +++++++++++++++++++ systemd.changes | 8 ++++ systemd.spec | 1 + 3 files changed, 55 insertions(+) create mode 100644 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch diff --git a/5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch b/5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch new file mode 100644 index 00000000..b36b3f96 --- /dev/null +++ b/5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch @@ -0,0 +1,46 @@ +From 1d88ce4c9ca16b95d6c29d107f26265ffc7d4379 Mon Sep 17 00:00:00 2001 +From: Frantisek Sumsal +Date: Fri, 3 Mar 2023 12:17:27 +0100 +Subject: [PATCH 5002/5002] systemctl: explicitly cast the constants to + uint64_t + +Otherwise under certain conditions `va_arg()` might get garbage instead +of the expected value, i.e.: + +$ sudo build-o0/systemctl disable asdfasfaf +sd_bus_message_appendv: Got uint64_t: 0 +Failed to disable unit: Unit file asdfasfaf.service does not exist. + +$ sudo build-o1/systemctl disable asdfasfaf +sd_bus_message_appendv: Got uint64_t: 7954875719681572864 +Failed to disable unit: Invalid argument + +(reproduced on an armv7hl machine) + +Resolves: #26568 +Follow-up to: bf1bea43f15 +Related issue: https://github.com/systemd/systemd/pull/14470#discussion_r362893735 + +(cherry picked from commit c63bfd0884cf20e48befbee49d41f667660a8802) + +[fbui: fixes bsc#1209305] +--- + src/systemctl/systemctl-enable.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/systemctl/systemctl-enable.c b/src/systemctl/systemctl-enable.c +index 86d9f602fa..f94a286122 100644 +--- a/src/systemctl/systemctl-enable.c ++++ b/src/systemctl/systemctl-enable.c +@@ -211,7 +211,7 @@ int verb_enable(int argc, char *argv[], void *userdata) { + + if (send_runtime) { + if (streq(method, "DisableUnitFilesWithFlagsAndInstallInfo")) +- r = sd_bus_message_append(m, "t", arg_runtime ? UNIT_FILE_RUNTIME : 0); ++ r = sd_bus_message_append(m, "t", arg_runtime ? (uint64_t) UNIT_FILE_RUNTIME : UINT64_C(0)); + else + r = sd_bus_message_append(m, "b", arg_runtime); + if (r < 0) +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 34625468..10d34daa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Mar 16 07:33:21 UTC 2023 - Franck Bui + +- Add 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch (bsc#1209305) + + Added temporarily until it's merged in either the stable v253 branch or in the + SUSE git repo. + ------------------------------------------------------------------- Thu Mar 16 07:29:24 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ed2af57e..a234cc12 100644 --- a/systemd.spec +++ b/systemd.spec @@ -214,6 +214,7 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # will be removed as soon as a proper fix will be merged by upstream. Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch +Patch5002: 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 41d9804ed9326f5b326b3b62e5715cc4d7f69ef79ce49940e3b1e8f5ea194740 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 20 Mar 2023 08:20:36 +0000 Subject: [PATCH 816/991] Accepting request 1073043 from home:aplanas:branches:Base:System - Enable that systemd can load the IMA policy from /etc/ima/ima-policy. This is used to complement dracut-ima when using SELinux, as the SELinux policy should not be loaded in the initrd (https://github.com/openSUSE/microos-tools/pull/14) OBS-URL: https://build.opensuse.org/request/show/1073043 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1360 --- systemd.changes | 8 ++++++++ systemd.spec | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 10d34daa..5f65d117 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Mar 20 07:48:49 UTC 2023 - Alberto Planas Dominguez + +- Enable that systemd can load the IMA policy from + /etc/ima/ima-policy. This is used to complement dracut-ima when + using SELinux, as the SELinux policy should not be loaded in the + initrd (https://github.com/openSUSE/microos-tools/pull/14) + ------------------------------------------------------------------- Thu Mar 16 07:33:21 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a234cc12..121afe13 100644 --- a/systemd.spec +++ b/systemd.spec @@ -684,7 +684,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" \ -Dbump-proc-sys-fs-nr-open=false \ -Dgshadow=false \ - -Dima=false \ -Dldconfig=false \ -Dsmack=false \ \ @@ -695,6 +694,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ + -Dima=%{when_not bootstrap} \ -Dlibcryptsetup-plugins=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ -Dnss-myhostname=%{when_not bootstrap} \ From 150b109953578bb598fabbaadfa20bf099cdfb30039b02a0b9d9499601bc2a84 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 20 Mar 2023 08:37:06 +0000 Subject: [PATCH 817/991] - Drop 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch These obsolete symlinks were kept because several years ago VLC was still relying on some of them. However it's been a long a time ago that it's been fixed and cdrom or similar devices are discovered in a better way. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1361 --- ...ult-symlinks-for-primary-cd_dvd-driv.patch | 29 ------------------- systemd.changes | 9 ++++++ systemd.spec | 1 - 3 files changed, 9 insertions(+), 30 deletions(-) delete mode 100644 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch diff --git a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch b/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch deleted file mode 100644 index c8b7f70a..00000000 --- a/0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ae4741127dc0ae575d13b8a7b201207da6167517 Mon Sep 17 00:00:00 2001 -From: Robert Milasan -Date: Sat, 12 Jul 2014 14:20:36 +0200 -Subject: [PATCH 05/11] udev: create default symlinks for primary cd_dvd drive - -Imported from SLE12-SP1, commit 4f8bacfbffd7049608b5076. - -[rmilasan: fixes bnc#783054] ---- - rules.d/60-cdrom_id.rules | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/rules.d/60-cdrom_id.rules b/rules.d/60-cdrom_id.rules -index 288f8ce2f9..578c77441c 100644 ---- a/rules.d/60-cdrom_id.rules -+++ b/rules.d/60-cdrom_id.rules -@@ -25,5 +25,9 @@ IMPORT{program}="cdrom_id --lock-media $devnode" - ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" - - KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" -+KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" - - LABEL="cdrom_end" --- -2.26.2 - diff --git a/systemd.changes b/systemd.changes index 5f65d117..c252e361 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Mar 20 08:32:49 UTC 2023 - Franck Bui + +- Drop 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch + + These obsolete symlinks were kept because several years ago VLC was still + relying on some of them. However it's been a long a time ago that it's been + fixed and cdrom or similar devices are discovered in a better way. + ------------------------------------------------------------------- Mon Mar 20 07:48:49 UTC 2023 - Alberto Planas Dominguez diff --git a/systemd.spec b/systemd.spec index 121afe13..216528ec 100644 --- a/systemd.spec +++ b/systemd.spec @@ -200,7 +200,6 @@ Source207: files.experimental Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch -Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch %if %{with sysvcompat} Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif From ee03dfee498ab488f804cdbd274bf38b2b8b52a05f5058402aab1a4b14d4abc7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 21 Mar 2023 15:38:07 +0000 Subject: [PATCH 818/991] Accepting request 1073579 from home:vlefebvre:branches:Base:System Add requires to pefile module python for the ukify tool on systemd-experimental OBS-URL: https://build.opensuse.org/request/show/1073579 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1362 --- systemd.changes | 6 ++++++ systemd.spec | 1 + 2 files changed, 7 insertions(+) diff --git a/systemd.changes b/systemd.changes index c252e361..ebaa360b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 21 09:31:46 UTC 2023 - Valentin Lefebvre + +- Add python3-pefile as requires for experimental, needed for the + ukify tool. + ------------------------------------------------------------------- Mon Mar 20 08:32:49 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 216528ec..cb71f32b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -587,6 +587,7 @@ refer to %{_testsuitedir}/integration-tests/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +Requires: python3-pefile %systemd_requires # These Recommends because some symbols of these libs are dlopen()ed by home stuff Recommends: libfido2 From 024ec91297e82be55c2de8062f2c349b901c405551064f5b946d3493d73cb3c3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 23 Mar 2023 08:13:40 +0000 Subject: [PATCH 819/991] - Import commit d914e29c33c0248226a01112a3e03181ef17b06b d914e29c33 Revert "hwdb: fix swapped buttons for Logitech Lift left" (bsc#1209618) 8360811d23 udev-rules: fix nvme symlink creation on namespace changes (bsc#1207410) b77c13a130 systemctl: explicitly cast the constants to uint64_t (bsc#1209305) 51011f280d test: assume run-unit-tests.py and unit tests are installed in the same directory d86e346f6b tests: don't use absolute paths when installing binaries in TEST-58-REPART 97e886c1f4 tests: fix inverted condition in testsuite-58.sh - Drop 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch, it's been merged in 'SUSE/v253', see above. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1363 --- ...citly-cast-the-constants-to-uint64_t.patch | 46 ------------------- systemd-v253.1+suse.6.gd914e29c33.tar.xz | 3 ++ systemd-v253.1.tar.xz | 3 -- systemd.changes | 15 ++++++ systemd.spec | 8 ++-- 5 files changed, 22 insertions(+), 53 deletions(-) delete mode 100644 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch create mode 100644 systemd-v253.1+suse.6.gd914e29c33.tar.xz delete mode 100644 systemd-v253.1.tar.xz diff --git a/5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch b/5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch deleted file mode 100644 index b36b3f96..00000000 --- a/5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1d88ce4c9ca16b95d6c29d107f26265ffc7d4379 Mon Sep 17 00:00:00 2001 -From: Frantisek Sumsal -Date: Fri, 3 Mar 2023 12:17:27 +0100 -Subject: [PATCH 5002/5002] systemctl: explicitly cast the constants to - uint64_t - -Otherwise under certain conditions `va_arg()` might get garbage instead -of the expected value, i.e.: - -$ sudo build-o0/systemctl disable asdfasfaf -sd_bus_message_appendv: Got uint64_t: 0 -Failed to disable unit: Unit file asdfasfaf.service does not exist. - -$ sudo build-o1/systemctl disable asdfasfaf -sd_bus_message_appendv: Got uint64_t: 7954875719681572864 -Failed to disable unit: Invalid argument - -(reproduced on an armv7hl machine) - -Resolves: #26568 -Follow-up to: bf1bea43f15 -Related issue: https://github.com/systemd/systemd/pull/14470#discussion_r362893735 - -(cherry picked from commit c63bfd0884cf20e48befbee49d41f667660a8802) - -[fbui: fixes bsc#1209305] ---- - src/systemctl/systemctl-enable.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/systemctl/systemctl-enable.c b/src/systemctl/systemctl-enable.c -index 86d9f602fa..f94a286122 100644 ---- a/src/systemctl/systemctl-enable.c -+++ b/src/systemctl/systemctl-enable.c -@@ -211,7 +211,7 @@ int verb_enable(int argc, char *argv[], void *userdata) { - - if (send_runtime) { - if (streq(method, "DisableUnitFilesWithFlagsAndInstallInfo")) -- r = sd_bus_message_append(m, "t", arg_runtime ? UNIT_FILE_RUNTIME : 0); -+ r = sd_bus_message_append(m, "t", arg_runtime ? (uint64_t) UNIT_FILE_RUNTIME : UINT64_C(0)); - else - r = sd_bus_message_append(m, "b", arg_runtime); - if (r < 0) --- -2.35.3 - diff --git a/systemd-v253.1+suse.6.gd914e29c33.tar.xz b/systemd-v253.1+suse.6.gd914e29c33.tar.xz new file mode 100644 index 00000000..3499edab --- /dev/null +++ b/systemd-v253.1+suse.6.gd914e29c33.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79ae68b276a576457d6036e830dd95d377dcaacc716056c1d66633e65f10709a +size 8202064 diff --git a/systemd-v253.1.tar.xz b/systemd-v253.1.tar.xz deleted file mode 100644 index 18ac8b19..00000000 --- a/systemd-v253.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84aad84973ab74246f5eff59641a5570c3a0bb6fce66402a4644212d71f38d07 -size 8205144 diff --git a/systemd.changes b/systemd.changes index ebaa360b..17bc1df5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Mar 23 07:07:34 UTC 2023 - Franck Bui + +- Import commit d914e29c33c0248226a01112a3e03181ef17b06b + + d914e29c33 Revert "hwdb: fix swapped buttons for Logitech Lift left" (bsc#1209618) + 8360811d23 udev-rules: fix nvme symlink creation on namespace changes (bsc#1207410) + b77c13a130 systemctl: explicitly cast the constants to uint64_t (bsc#1209305) + 51011f280d test: assume run-unit-tests.py and unit tests are installed in the same directory + d86e346f6b tests: don't use absolute paths when installing binaries in TEST-58-REPART + 97e886c1f4 tests: fix inverted condition in testsuite-58.sh + +- Drop 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch, it's been + merged in 'SUSE/v253', see above. + ------------------------------------------------------------------- Tue Mar 21 09:31:46 UTC 2023 - Valentin Lefebvre diff --git a/systemd.spec b/systemd.spec index cb71f32b..b69ba771 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version %nil +%define archive_version +suse.6.gd914e29c33 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -213,7 +213,6 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # will be removed as soon as a proper fix will be merged by upstream. Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch -Patch5002: 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -587,6 +586,7 @@ refer to %{_testsuitedir}/integration-tests/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} +# Needed by ukify Requires: python3-pefile %systemd_requires # These Recommends because some symbols of these libs are dlopen()ed by home stuff @@ -614,8 +614,8 @@ change without the usual backwards-compatibility promises. Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -Currently this package contains: homed, repart, userdbd, oomd, measure and -pcrphase. +Currently this package contains: homed, repart, userdbd, oomd, measure, +pcrphase and ukify. In case you want to create a user with systemd-homed quickly, here are the steps you can follow: From a95b5f34c25a25236f227f0e12483dfa2a9ee7970e445e9496f098dded17fa95 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 28 Mar 2023 16:14:46 +0000 Subject: [PATCH 820/991] - Import commit 8b01686dd20124efc300d21ef38d85c1f75c372f 8b01686dd2 test: don't export $TOOLS_DIR 7a56b1b2f0 test: clean up $STATEDIR too 324bb19eb8 test: $STATEDIR should not point to /usr/lib/systemd/tests when NO_BUILD=1 2251735482 test: install symlinks with valid targets on SUSE and Debian c30905a269 test: on openSUSE install the collection of unit test binaries in the target only for TEST-02-UNITTESTS 797ced15d8 meson: make sure the unit test scripts find testdata/ even if they are not installed in the same directory 04dc5b44b7 meson: define testdata_dir globally 69643c6c96 test: install unit tests in a dedicated subdirectory below '$testsdir' OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1364 --- systemd-v253.1+suse.14.g8b01686dd2.tar.xz | 3 +++ systemd-v253.1+suse.6.gd914e29c33.tar.xz | 3 --- systemd.changes | 14 ++++++++++++++ systemd.spec | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 systemd-v253.1+suse.14.g8b01686dd2.tar.xz delete mode 100644 systemd-v253.1+suse.6.gd914e29c33.tar.xz diff --git a/systemd-v253.1+suse.14.g8b01686dd2.tar.xz b/systemd-v253.1+suse.14.g8b01686dd2.tar.xz new file mode 100644 index 00000000..a9fad76e --- /dev/null +++ b/systemd-v253.1+suse.14.g8b01686dd2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebbf20d2d10f6bced7a3a001b5ed122a52a5732ff36e1e48fb2cb69cb747b0bd +size 8202120 diff --git a/systemd-v253.1+suse.6.gd914e29c33.tar.xz b/systemd-v253.1+suse.6.gd914e29c33.tar.xz deleted file mode 100644 index 3499edab..00000000 --- a/systemd-v253.1+suse.6.gd914e29c33.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79ae68b276a576457d6036e830dd95d377dcaacc716056c1d66633e65f10709a -size 8202064 diff --git a/systemd.changes b/systemd.changes index 17bc1df5..6c641cd6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Mar 28 16:01:58 UTC 2023 - Franck Bui + +- Import commit 8b01686dd20124efc300d21ef38d85c1f75c372f + + 8b01686dd2 test: don't export $TOOLS_DIR + 7a56b1b2f0 test: clean up $STATEDIR too + 324bb19eb8 test: $STATEDIR should not point to /usr/lib/systemd/tests when NO_BUILD=1 + 2251735482 test: install symlinks with valid targets on SUSE and Debian + c30905a269 test: on openSUSE install the collection of unit test binaries in the target only for TEST-02-UNITTESTS + 797ced15d8 meson: make sure the unit test scripts find testdata/ even if they are not installed in the same directory + 04dc5b44b7 meson: define testdata_dir globally + 69643c6c96 test: install unit tests in a dedicated subdirectory below '$testsdir' + ------------------------------------------------------------------- Thu Mar 23 07:07:34 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b69ba771..a74f9bc7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.6.gd914e29c33 +%define archive_version +suse.14.g8b01686dd2 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 77c37392a4c37589312967e7a13605bccc2d8f53c43c453dfb8480210b5a309d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 31 Mar 2023 13:08:07 +0000 Subject: [PATCH 821/991] - Include pam_keyinit.so in our systemd-user PAM service (bsc#1209741) That way "systemd --user" instances get their own session keyring instead of the user default session keyring. For some reasons cifscreds refuses to work with the latter. That's what is expected for every PAM session anyway. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1365 --- systemd-user | 1 + systemd.changes | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/systemd-user b/systemd-user index 2e1fb802..6a91d1e5 100644 --- a/systemd-user +++ b/systemd-user @@ -21,4 +21,5 @@ account include common-account session required pam_selinux.so close session required pam_selinux.so nottys open session required pam_loginuid.so +session optional pam_keyinit.so force revoke session include common-session diff --git a/systemd.changes b/systemd.changes index 6c641cd6..27b768ca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Mar 31 12:55:21 UTC 2023 - Franck Bui + +- Include pam_keyinit.so in our systemd-user PAM service (bsc#1209741) + + That way "systemd --user" instances get their own session keyring instead of + the user default session keyring. For some reasons cifscreds refuses to work + with the latter. That's what is expected for every PAM session anyway. + ------------------------------------------------------------------- Tue Mar 28 16:01:58 UTC 2023 - Franck Bui From ddd1e277bdede951dac8323d0cfab3b680f3ce65115ff4eb3e71b37ec3132ceb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 31 Mar 2023 15:15:32 +0000 Subject: [PATCH 822/991] - Import commit b63f58661b08037d8cb04ed97b5e39d9bf415fdc (merge of v253.2) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/8b01686dd20124efc300d21ef38d85c1f75c372f...b63f58661b08037d8cb04ed97b5e39d9bf415fdc - Move systemd-fsck stuff to udev sub-package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1366 --- files.systemd | 7 ------- files.udev | 9 +++++++++ systemd-v253.1+suse.14.g8b01686dd2.tar.xz | 3 --- systemd-v253.2+suse.15.gb63f58661b.tar.xz | 3 +++ systemd.changes | 10 ++++++++++ systemd.spec | 4 ++-- 6 files changed, 24 insertions(+), 12 deletions(-) delete mode 100644 systemd-v253.1+suse.14.g8b01686dd2.tar.xz create mode 100644 systemd-v253.2+suse.15.gb63f58661b.tar.xz diff --git a/files.systemd b/files.systemd index 6d2276f1..e2be4037 100644 --- a/files.systemd +++ b/files.systemd @@ -363,9 +363,6 @@ %{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz %{_mandir}/man8/systemd-debug-generator.8.gz %{_mandir}/man8/systemd-environment-d-generator.8.gz -%{_mandir}/man8/systemd-fsck-root.service.8.gz -%{_mandir}/man8/systemd-fsck.8.gz -%{_mandir}/man8/systemd-fsck@.service.8.gz %{_mandir}/man8/systemd-getty-generator.8.gz %{_mandir}/man8/systemd-halt.service.8.gz %{_mandir}/man8/systemd-hibernate-resume-generator.8.gz @@ -450,7 +447,6 @@ %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed %{_systemd_util_dir}/systemd-journald @@ -633,9 +629,6 @@ %{_unitdir}/systemd-binfmt.service %{_unitdir}/systemd-boot-check-no-failures.service %{_unitdir}/systemd-exit.service -%{_unitdir}/systemd-firstboot.service -%{_unitdir}/systemd-fsck-root.service -%{_unitdir}/systemd-fsck@.service %{_unitdir}/systemd-halt.service %{_unitdir}/systemd-hibernate-resume@.service %{_unitdir}/systemd-hibernate.service diff --git a/files.udev b/files.udev index a793d096..ed8b2918 100644 --- a/files.udev +++ b/files.udev @@ -54,8 +54,13 @@ %{_mandir}/man8/systemd-cryptsetup-generator.8.gz %{_mandir}/man8/systemd-cryptsetup.8.gz %{_mandir}/man8/systemd-cryptsetup@.service.8.gz +%{_mandir}/man8/systemd-fsck-root.service.8.gz +%{_mandir}/man8/systemd-fsck-usr.service.8.gz +%{_mandir}/man8/systemd-fsck.8.gz +%{_mandir}/man8/systemd-fsck@.service.8.gz %{_mandir}/man8/systemd-fstab-generator.8.gz %{_mandir}/man8/systemd-gpt-auto-generator.8.gz +%{_mandir}/man8/systemd-growfs-root.service.8.gz %{_mandir}/man8/systemd-growfs.8.gz %{_mandir}/man8/systemd-growfs@.service.8.gz %{_mandir}/man8/systemd-hwdb.8.gz @@ -101,6 +106,7 @@ %if %{without bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif +%{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs %if %{without bootstrap} %{_systemd_util_dir}/systemd-integritysetup @@ -224,6 +230,9 @@ %{_unitdir}/system-systemd\x2dcryptsetup.slice %endif %{_unitdir}/systemd-backlight@.service +%{_unitdir}/systemd-firstboot.service +%{_unitdir}/systemd-fsck-root.service +%{_unitdir}/systemd-fsck@.service %{_unitdir}/systemd-growfs-root.service %{_unitdir}/systemd-growfs@.service %{_unitdir}/systemd-hwdb-update.service diff --git a/systemd-v253.1+suse.14.g8b01686dd2.tar.xz b/systemd-v253.1+suse.14.g8b01686dd2.tar.xz deleted file mode 100644 index a9fad76e..00000000 --- a/systemd-v253.1+suse.14.g8b01686dd2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebbf20d2d10f6bced7a3a001b5ed122a52a5732ff36e1e48fb2cb69cb747b0bd -size 8202120 diff --git a/systemd-v253.2+suse.15.gb63f58661b.tar.xz b/systemd-v253.2+suse.15.gb63f58661b.tar.xz new file mode 100644 index 00000000..85aba6bf --- /dev/null +++ b/systemd-v253.2+suse.15.gb63f58661b.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cf4c490eb720a0148eda7af657ccea4fc355eec2b7986727e5efc3e158d792b +size 8205900 diff --git a/systemd.changes b/systemd.changes index 27b768ca..2105e60a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Mar 31 14:41:49 UTC 2023 - Franck Bui + +- Import commit b63f58661b08037d8cb04ed97b5e39d9bf415fdc (merge of v253.2) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/8b01686dd20124efc300d21ef38d85c1f75c372f...b63f58661b08037d8cb04ed97b5e39d9bf415fdc + +- Move systemd-fsck stuff to udev sub-package. + ------------------------------------------------------------------- Fri Mar 31 12:55:21 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a74f9bc7..dde8a250 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.14.g8b01686dd2 +%define archive_version +suse.15.gb63f58661b %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.1 +Version: 253.2 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 678bd7c8e45abd7c467b367e61f708911169fa0ba5d31876aeae2915de247014 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 3 Apr 2023 09:21:41 +0000 Subject: [PATCH 823/991] - systemd.spec: add files.coredump OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1367 --- files.coredump | 22 ++++++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 21 ++++----------------- 3 files changed, 31 insertions(+), 17 deletions(-) create mode 100644 files.coredump diff --git a/files.coredump b/files.coredump new file mode 100644 index 00000000..32b62d7e --- /dev/null +++ b/files.coredump @@ -0,0 +1,22 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/coredump.conf +%dir %{_localstatedir}/lib/systemd/coredump +%{_bindir}/coredumpctl +%if %{without bootstrap} +%{_datadir}/bash-completion/completions/coredumpctl +%{_datadir}/zsh/site-functions/_coredumpctl +%{_mandir}/man1/coredumpctl.1.gz +%{_mandir}/man5/coredump.conf.5.gz +%{_mandir}/man5/coredump.conf.d.5.gz +%{_mandir}/man8/systemd-coredump.8.gz +%{_mandir}/man8/systemd-coredump.socket.8.gz +%{_mandir}/man8/systemd-coredump@.service.8.gz +%endif +%{_sysctldir}/50-coredump.conf +%{_systemd_util_dir}/systemd-coredump +%{_sysusersdir}/systemd-coredump.conf +%{_unitdir}/sockets.target.wants/systemd-coredump.socket +%{_unitdir}/systemd-coredump.socket +%{_unitdir}/systemd-coredump@.service diff --git a/systemd.changes b/systemd.changes index 2105e60a..5a22e741 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 3 09:20:59 UTC 2023 - Franck Bui + +- systemd.spec: add files.coredump + ------------------------------------------------------------------- Fri Mar 31 14:41:49 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dde8a250..204dbb85 100644 --- a/systemd.spec +++ b/systemd.spec @@ -187,6 +187,7 @@ Source204: files.devel Source205: files.sysvcompat Source206: files.uefi-boot Source207: files.experimental +Source208: files.coredump # # All changes backported from upstream are tracked by the git repository, which @@ -381,7 +382,7 @@ Provides: systemd:%{_bindir}/coredumpctl %description coredump Systemd tools to store and manage coredumps. -This package contains systemd-coredump, coredumpctl. +Visit https://systemd.io/COREDUMP for more details. %endif %package container @@ -1188,7 +1189,7 @@ fi %systemd_post systemd-journal-remote.socket systemd-journal-remote.service %systemd_post systemd-journal-upload.service -%preun journal-remote +%preun journal-remote %systemd_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %systemd_preun systemd-journal-remote.socket systemd-journal-remote.service %systemd_preun systemd-journal-upload.service @@ -1329,21 +1330,7 @@ fi %if %{with coredump} %files coredump %defattr(-,root,root) -%{_bindir}/coredumpctl -%{_prefix}/lib/systemd/systemd-coredump -%{_unitdir}/systemd-coredump* -%{_unitdir}/sockets.target.wants/systemd-coredump.socket -%{_sysctldir}/50-coredump.conf -%{_sysusersdir}/systemd-coredump.conf -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf -%dir %{_localstatedir}/lib/systemd/coredump -%if %{without bootstrap} -%{_datadir}/bash-completion/completions/coredumpctl -%{_datadir}/zsh/site-functions/_coredumpctl -%{_mandir}/man1/coredumpctl* -%{_mandir}/man5/coredump.conf* -%{_mandir}/man8/systemd-coredump* -%endif +%include %{SOURCE208} %endif %if %{without bootstrap} From d46d22ae3edcbd61b83161706d4297f7297a85f9aa30af2b1453c9dcf4db350c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 3 Apr 2023 09:38:08 +0000 Subject: [PATCH 824/991] - Import commit 03cfbe767327d01d5a71131d91bf06fdc0047ca1 03cfbe7673 test: use setpriv instead of su for user switch from root 857843834c test: wrap mkfs.*/mksquashfs/mkswap binaries when running w/ ASan be7388f8c5 test: do not remove state directory on failure 1b2885bd16 test: fix regexp in testsuite-74.mount.sh 41142f8013 test: drop extraneous bracket in testsuite-74.mount.sh OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1368 --- systemd-v253.2+suse.15.gb63f58661b.tar.xz | 3 --- systemd-v253.2+suse.20.g03cfbe7673.tar.xz | 3 +++ systemd.changes | 11 +++++++++++ systemd.spec | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) delete mode 100644 systemd-v253.2+suse.15.gb63f58661b.tar.xz create mode 100644 systemd-v253.2+suse.20.g03cfbe7673.tar.xz diff --git a/systemd-v253.2+suse.15.gb63f58661b.tar.xz b/systemd-v253.2+suse.15.gb63f58661b.tar.xz deleted file mode 100644 index 85aba6bf..00000000 --- a/systemd-v253.2+suse.15.gb63f58661b.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cf4c490eb720a0148eda7af657ccea4fc355eec2b7986727e5efc3e158d792b -size 8205900 diff --git a/systemd-v253.2+suse.20.g03cfbe7673.tar.xz b/systemd-v253.2+suse.20.g03cfbe7673.tar.xz new file mode 100644 index 00000000..2acb1f54 --- /dev/null +++ b/systemd-v253.2+suse.20.g03cfbe7673.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c4d378e16528a3ee1b5e13568e57f7edc71686fe10072bac63f2b600228155a +size 8205740 diff --git a/systemd.changes b/systemd.changes index 5a22e741..0ca37f7f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Apr 3 09:36:03 UTC 2023 - Franck Bui + +- Import commit 03cfbe767327d01d5a71131d91bf06fdc0047ca1 + + 03cfbe7673 test: use setpriv instead of su for user switch from root + 857843834c test: wrap mkfs.*/mksquashfs/mkswap binaries when running w/ ASan + be7388f8c5 test: do not remove state directory on failure + 1b2885bd16 test: fix regexp in testsuite-74.mount.sh + 41142f8013 test: drop extraneous bracket in testsuite-74.mount.sh + ------------------------------------------------------------------- Mon Apr 3 09:20:59 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 204dbb85..3b65f598 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.15.gb63f58661b +%define archive_version +suse.20.g03cfbe7673 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From ea462c25a181ee6f8bbc6c655d9731958ea60b688814b7abc24c0d3280aa9e37 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 5 Apr 2023 07:45:22 +0000 Subject: [PATCH 825/991] - Import commit 66f3a8a47d5bf6aea3f6fb181c01550a1a54406e (merge of v253.3) This merge also includes the following fix, which is not part of the stable release: d2413cec02 test/test-functions: fix typo in install_suse_systemd() For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/03cfbe767327d01d5a71131d91bf06fdc0047ca1...66f3a8a47d5bf6aea3f6fb181c01550a1a54406e OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1369 --- systemd-v253.2+suse.20.g03cfbe7673.tar.xz | 3 --- systemd-v253.3+suse.22.g66f3a8a47d.tar.xz | 3 +++ systemd.changes | 14 ++++++++++++++ systemd.spec | 4 ++-- 4 files changed, 19 insertions(+), 5 deletions(-) delete mode 100644 systemd-v253.2+suse.20.g03cfbe7673.tar.xz create mode 100644 systemd-v253.3+suse.22.g66f3a8a47d.tar.xz diff --git a/systemd-v253.2+suse.20.g03cfbe7673.tar.xz b/systemd-v253.2+suse.20.g03cfbe7673.tar.xz deleted file mode 100644 index 2acb1f54..00000000 --- a/systemd-v253.2+suse.20.g03cfbe7673.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c4d378e16528a3ee1b5e13568e57f7edc71686fe10072bac63f2b600228155a -size 8205740 diff --git a/systemd-v253.3+suse.22.g66f3a8a47d.tar.xz b/systemd-v253.3+suse.22.g66f3a8a47d.tar.xz new file mode 100644 index 00000000..27f4e3fe --- /dev/null +++ b/systemd-v253.3+suse.22.g66f3a8a47d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5e09e6e9eb4c0b383578dad276f56c174eacd2d7752e0f545db6d2480d627d0 +size 8205724 diff --git a/systemd.changes b/systemd.changes index 0ca37f7f..9a37bdd7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Apr 5 07:32:41 UTC 2023 - Franck Bui + +- Import commit 66f3a8a47d5bf6aea3f6fb181c01550a1a54406e (merge of v253.3) + + This merge also includes the following fix, which is not part of the stable + release: + + d2413cec02 test/test-functions: fix typo in install_suse_systemd() + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/03cfbe767327d01d5a71131d91bf06fdc0047ca1...66f3a8a47d5bf6aea3f6fb181c01550a1a54406e + + ------------------------------------------------------------------- Mon Apr 3 09:36:03 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3b65f598..4071773e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.20.g03cfbe7673 +%define archive_version +suse.22.g66f3a8a47d %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -72,7 +72,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.2 +Version: 253.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From f8d6cffd89d80f76aa341aacf8872026db0b627ada9da3c061ccf4416d82d824 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 5 Apr 2023 08:22:16 +0000 Subject: [PATCH 826/991] - testsuite: TEST-75-RESOLVED needs knot DNS server OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1370 --- systemd.changes | 5 +++++ systemd.spec | 2 ++ 2 files changed, 7 insertions(+) diff --git a/systemd.changes b/systemd.changes index 9a37bdd7..7fd9db14 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 5 08:20:53 UTC 2023 - Franck Bui + +- testsuite: TEST-75-RESOLVED needs knot DNS server + ------------------------------------------------------------------- Wed Apr 5 07:32:41 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4071773e..e74fb0a3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -508,6 +508,8 @@ Recommends: tpm2.0-tools # are used by test-funtions to find the libs on the host and install them in the # image, see install_missing_libraries() for details. %if %{with resolved} +# Optional dep for knot needed by TEST-75-RESOLVED +Recommends: knot Requires: libidn2 Requires: pkgconfig(libidn2) %endif From b8aa6ef04068eceb1477444007ee4a22a64fcf68117df0d6eba45327ddef5918 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 14 Apr 2023 07:58:47 +0000 Subject: [PATCH 827/991] Accepting request 1078596 from home:kukuk:branches:Base:System - tmpfiles-suse.conf (jsc#PED-3144): - Remove lastlog entry, replaced by lastlog2 - Remove btmp entry, not Y2038 safe OBS-URL: https://build.opensuse.org/request/show/1078596 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1371 --- systemd.changes | 7 +++++++ tmpfiles-suse.conf | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 7fd9db14..533ec0c9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Apr 12 08:45:10 UTC 2023 - Thorsten Kukuk + +- tmpfiles-suse.conf (jsc#PED-3144): + - Remove lastlog entry, replaced by lastlog2 + - Remove btmp entry, not Y2038 safe + ------------------------------------------------------------------- Wed Apr 5 08:20:53 UTC 2023 - Franck Bui diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 885e852c..90da5b70 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -11,5 +11,3 @@ d /run/lock 0775 root lock - # FIXME: Should these one be moved to shadow ? f /var/log/wtmp 0664 root utmp - -f /var/log/btmp 0660 root utmp - -f /var/log/lastlog 0664 root utmp - From 7a2de10757181a823e531c71a1c999549046ff7c708f980b2ca1420cea1c2255 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Apr 2023 10:20:50 +0000 Subject: [PATCH 828/991] Accepting request 1080107 from home:mvidner:branches:Base:System - kbd-model-map.legacy: drop some entries no longer needed by YaST (related to bsc#1194609) OBS-URL: https://build.opensuse.org/request/show/1080107 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1372 --- kbd-model-map.legacy | 14 +++++++------- systemd.changes | 6 ++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index 5ddbd8d6..003ca5e4 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -1,11 +1,11 @@ # Additional layouts offered by YaST -Pl02 pl pc105 - terminate:ctrl_alt_bksp +# arabic and ir (Iran) have never had a console layout, +# they are symlinks to 'us', but they are needed as YaST +# uses the console layout as a primary key for picking +# the X11 layout arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle -cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp -cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle -es-cp850 es pc105 - terminate:ctrl_alt_bksp ir ir pc105 - terminate:ctrl_alt_bksp -korean kr pc105 - terminate:ctrl_alt_bksp -lt.std lt pc105 std terminate:ctrl_alt_bksp -no-latin1 no pc105 - terminate:ctrl_alt_bksp +# ruwin_alt-UTF-8 is needed because the X11 russian layouts +# contain no Latin letters and therefore +# the X->console conversion omits Russian entirely ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll diff --git a/systemd.changes b/systemd.changes index 533ec0c9..785d7638 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Apr 18 09:09:26 UTC 2023 - Martin Vidner + +- kbd-model-map.legacy: drop some entries no longer needed + by YaST (related to bsc#1194609) + ------------------------------------------------------------------- Wed Apr 12 08:45:10 UTC 2023 - Thorsten Kukuk From a15f299e4ec4cf57a7b12d49e32dac7a21f33a721644ebf166628b65eef70b64 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 Apr 2023 06:18:00 +0000 Subject: [PATCH 829/991] Accepting request 1080373 from home:lnussel:branches:Base:System - add some green to systemd-boot menu OBS-URL: https://build.opensuse.org/request/show/1080373 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1373 --- systemd.changes | 5 +++++ systemd.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/systemd.changes b/systemd.changes index 785d7638..5dffa0f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 19 15:14:13 UTC 2023 - Ludwig Nussel + +- add some green to systemd-boot menu + ------------------------------------------------------------------- Tue Apr 18 09:09:26 UTC 2023 - Martin Vidner diff --git a/systemd.spec b/systemd.spec index e74fb0a3..ef65a499 100644 --- a/systemd.spec +++ b/systemd.spec @@ -716,6 +716,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dremote=%{when journal_remote} \ \ -Dgnu-efi=%{when sd_boot} \ + -Defi-color-highlight="black,green" \ -Dkernel-install=%{when sd_boot} \ \ -Dsbat-distro="%{?sbat_distro}" \ From fa67ecf8d6a36ad8a664eb4ed1fa3b16150fe1bdc8583c5fdb2e2fe8195c28f1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 20 Apr 2023 12:59:09 +0000 Subject: [PATCH 830/991] update comments in kbd-model-map.legacy OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1374 --- kbd-model-map.legacy | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index 003ca5e4..ce83e301 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -1,11 +1,12 @@ -# Additional layouts offered by YaST -# arabic and ir (Iran) have never had a console layout, -# they are symlinks to 'us', but they are needed as YaST -# uses the console layout as a primary key for picking -# the X11 layout +# Additional layouts offered by YaST arabic and ir (Iran) have never had a +# console layout, they are symlinks to 'us', but they are needed as YaST uses +# the console layout as a primary key for picking the X11 layout + arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ir ir pc105 - terminate:ctrl_alt_bksp -# ruwin_alt-UTF-8 is needed because the X11 russian layouts -# contain no Latin letters and therefore -# the X->console conversion omits Russian entirely + +# FIXME: ruwin_alt-UTF-8 is not needed as the legacy "ru" keymap +# (/usr/share/kbd/keymaps/i386/qwerty/ru.map.gz) is a dual layout and contains +# the Latin letters. Keep it until YaST is updated. + ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll From 77c0aa7ebcd780e45e3bddc0ddb11e6d847f6f7036726b56249aa31f564a10ae Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 27 Apr 2023 09:05:16 +0000 Subject: [PATCH 831/991] - kbd-model-map.legacy: 'arabic' vc keymap has been renamed 'ara' (bsc#1210702) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1375 --- kbd-model-map.legacy | 2 +- systemd.changes | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index ce83e301..5c27c48c 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -2,7 +2,7 @@ # console layout, they are symlinks to 'us', but they are needed as YaST uses # the console layout as a primary key for picking the X11 layout -arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle +ara ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ir ir pc105 - terminate:ctrl_alt_bksp # FIXME: ruwin_alt-UTF-8 is not needed as the legacy "ru" keymap diff --git a/systemd.changes b/systemd.changes index 5dffa0f7..7f3a9fae 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Apr 27 07:58:58 UTC 2023 - Franck Bui + +- kbd-model-map.legacy: 'arabic' vc keymap has been renamed 'ara' (bsc#1210702) + ------------------------------------------------------------------- Wed Apr 19 15:14:13 UTC 2023 - Ludwig Nussel From 958f5e240cff19611641aa767fd6250ec24dd600effed56f9840b10f4a40b50d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 27 Apr 2023 16:27:42 +0000 Subject: [PATCH 832/991] - systemd.spec: don't call %systemd_{pre,post} on units shipped by the main package since they don't have any effect during installation (systemctl is not yet installed when %pre script is executed). This is actually the reason why it's handled by the %%posttrans scripts of systemd-presets-common-SUSE. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1376 --- systemd.changes | 8 ++++++++ systemd.spec | 19 ++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/systemd.changes b/systemd.changes index 7f3a9fae..5490e70d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Apr 27 16:15:57 UTC 2023 - Franck Bui + +- systemd.spec: don't call %systemd_{pre,post} on units shipped by the main + package since they don't have any effect during installation (systemctl is not + yet installed when %pre script is executed). This is actually the reason why + it's handled by the %%posttrans scripts of systemd-presets-common-SUSE. + ------------------------------------------------------------------- Thu Apr 27 07:58:58 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ef65a499..29e9f363 100644 --- a/systemd.spec +++ b/systemd.spec @@ -964,13 +964,13 @@ tar -cO \ # Don't drop %%pre section even if it becomes empty: the build process of # installation images uses a hardcoded list of packages with a %%pre that needs # to be run during the build and complains if it can't find one. +# +# Note: presets for units shipped by the main package are applied by %%posttrans +# scripts of systemd-presets-common-SUSE. Hence we don't need to bother running +# %%systemd_{pre,post} on them, which is fortunate since the helper script the +# systemd rpm macros rely on is not yet installed. %pre -# Units listed below can be enabled at installation according to their preset -# setting. -%systemd_pre remote-fs.target -%systemd_pre getty@.service -%systemd_pre systemd-timesyncd.service -%systemd_pre systemd-journald-audit.socket +: %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1025,13 +1025,6 @@ fi %journal_catalog_update %tmpfiles_create -# Units listed below can be enabled at installation accoding to their preset -# setting. -%systemd_post remote-fs.target -%systemd_post getty@.service -%systemd_post systemd-timesyncd.service -%systemd_post systemd-journald-audit.socket - # v228 wrongly set world writable suid root permissions on timestamp files used # by permanent timers. Fix the timestamps that might have been created by the # affected versions of systemd (bsc#1020601). From 5df529a77e243de1becdc142f372b1857ab2ef2ffb57d8c896d4dca038c1c6e1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Apr 2023 10:44:50 +0000 Subject: [PATCH 833/991] - Re-add back 'arabic' keymap mapping as YaST needs more time than expected to cope with this change. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1377 --- kbd-model-map.legacy | 1 + systemd.changes | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index 5c27c48c..a3b6d9d7 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -2,6 +2,7 @@ # console layout, they are symlinks to 'us', but they are needed as YaST uses # the console layout as a primary key for picking the X11 layout +arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ara ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ir ir pc105 - terminate:ctrl_alt_bksp diff --git a/systemd.changes b/systemd.changes index 5490e70d..6fd273e3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 28 10:43:02 UTC 2023 - Franck Bui + +- Re-add back 'arabic' keymap mapping as YaST needs more time than expected to + cope with this change. + ------------------------------------------------------------------- Thu Apr 27 16:15:57 UTC 2023 - Franck Bui From 1a72578ed08072f40ef23a24a787277f7289c1fbb2a351e26b9f176e3475fbe8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 2 May 2023 11:23:49 +0000 Subject: [PATCH 834/991] - Revert changes that dropped calls to %systemd_{pre,post} in the main package Until we switch to filetriggers these calls are needed when a new version of systemd introduced a new config file during an update. - We also introduce a new build conditional "%filetriggers" to identify easily which parts of the code will become obsolete when we'll switch to file triggers (WIP). This is important as this is unlikely to happen on SLE. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1378 --- systemd.changes | 12 ++++++++++++ systemd.spec | 40 ++++++++++++++++++++++++++++++---------- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/systemd.changes b/systemd.changes index 6fd273e3..16ab984f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue May 2 10:34:43 UTC 2023 - Franck Bui + +- Revert changes that dropped calls to %systemd_{pre,post} in the main package + + Until we switch to filetriggers these calls are needed when a new version of + systemd introduced a new config file during an update. + +- We also introduce a new build conditional "%filetriggers" to identify easily + which parts of the code will become obsolete when we'll switch to file + triggers (WIP). This is important as this is unlikely to happen on SLE. + ------------------------------------------------------------------- Fri Apr 28 10:43:02 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 29e9f363..444ccc7d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -68,6 +68,7 @@ %bcond_without testsuite %endif # Kept to ease migrations toward SLE +%bcond_with filetriggers %bcond_with split_usr Name: systemd%{?mini} @@ -970,7 +971,17 @@ tar -cO \ # %%systemd_{pre,post} on them, which is fortunate since the helper script the # systemd rpm macros rely on is not yet installed. %pre -: +%if %{without filetriggers} +if [ $1 -gt 1 ]; then + # We keep these just in case we're upgrading from an old version that + # was missing these units. During package installation, these macros are + # NOPs for systemd anyways. + %systemd_pre remote-fs.target + %systemd_pre getty@.service + %systemd_pre systemd-timesyncd.service + %systemd_pre systemd-journald-audit.socket +fi +%endif %post # Make /etc/machine-id an empty file during package installation. On the first @@ -995,12 +1006,6 @@ pam-config --add --systemd || : %ldconfig %endif -# systemd-sysusers is not available in %pre so this needs to be done in -# %%post. However this shouldn't be an issue since all files the main package -# ships are owned by root. -%sysusers_create systemd-journal.conf -%sysusers_create systemd-timesync.conf - systemctl daemon-reexec || : # Reexecute user manager instances (if any). It is asynchronous but it shouldn't @@ -1017,13 +1022,28 @@ systemctl daemon-reexec || : # # systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : -if [ "$1" -eq 1 ]; then +if [ $1 -eq 1 ]; then # Persistent journal is the default mkdir -p %{_localstatedir}/log/journal fi -%journal_catalog_update -%tmpfiles_create +%if %{without filetriggers} +# During package installation, the followings are for config files shipped by +# packages that got installed before systemd and by the systemd main package +# itself. During update they deal with files that could have been introduced by +# new versions of systemd. +systemd-sysusers || : +systemd-tmpfiles --create || : +journalctl --update-catalog || : + +if [ $1 -gt 1 ]; then + # Same comment as the one for the %%systemd_pre() calls in %%pre. + %systemd_post remote-fs.target + %systemd_post getty@.service + %systemd_post systemd-timesyncd.service + %systemd_post systemd-journald-audit.socket +fi +%endif # v228 wrongly set world writable suid root permissions on timestamp files used # by permanent timers. Fix the timestamps that might have been created by the From 56582eb002d3ab43259cd69606b15b574b9fd304a829607f2e579189879cb963 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 2 May 2023 11:39:35 +0000 Subject: [PATCH 835/991] Update comments OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1379 --- systemd.spec | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/systemd.spec b/systemd.spec index 444ccc7d..c0b58b91 100644 --- a/systemd.spec +++ b/systemd.spec @@ -965,17 +965,13 @@ tar -cO \ # Don't drop %%pre section even if it becomes empty: the build process of # installation images uses a hardcoded list of packages with a %%pre that needs # to be run during the build and complains if it can't find one. -# -# Note: presets for units shipped by the main package are applied by %%posttrans -# scripts of systemd-presets-common-SUSE. Hence we don't need to bother running -# %%systemd_{pre,post} on them, which is fortunate since the helper script the -# systemd rpm macros rely on is not yet installed. %pre %if %{without filetriggers} if [ $1 -gt 1 ]; then # We keep these just in case we're upgrading from an old version that # was missing these units. During package installation, these macros are - # NOPs for systemd anyways. + # NOPs for systemd anyways (the branding preset package takes care of + # applying the presets in its %%posttrans in this case). %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service From 2f6697b33012cbf21110f513ce281819e8340df2224c943572d195bc8b9196e7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 2 May 2023 12:00:37 +0000 Subject: [PATCH 836/991] fix weird build error... OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1380 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index c0b58b91..fbe0ebdf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1033,7 +1033,7 @@ systemd-tmpfiles --create || : journalctl --update-catalog || : if [ $1 -gt 1 ]; then - # Same comment as the one for the %%systemd_pre() calls in %%pre. + # See comments for %%systemd_pre in %%pre. %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-timesyncd.service From e6812965325131ee56e19c7741d018aea824363fc2723084757c5369d672f3d1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 2 May 2023 12:14:31 +0000 Subject: [PATCH 837/991] systemd_post/pre should be called in any cases (regardless of file triggers) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1381 --- systemd.spec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/systemd.spec b/systemd.spec index fbe0ebdf..1b971cd7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -966,18 +966,16 @@ tar -cO \ # installation images uses a hardcoded list of packages with a %%pre that needs # to be run during the build and complains if it can't find one. %pre -%if %{without filetriggers} if [ $1 -gt 1 ]; then # We keep these just in case we're upgrading from an old version that - # was missing these units. During package installation, these macros are - # NOPs for systemd anyways (the branding preset package takes care of - # applying the presets in its %%posttrans in this case). + # was missing one of these units. During package installation, these + # macros are NOPs for the main package (the branding preset package + # takes care of applying the presets in its %%posttrans in this case). %systemd_pre remote-fs.target %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service %systemd_pre systemd-journald-audit.socket fi -%endif %post # Make /etc/machine-id an empty file during package installation. On the first @@ -1031,6 +1029,7 @@ fi systemd-sysusers || : systemd-tmpfiles --create || : journalctl --update-catalog || : +%endif if [ $1 -gt 1 ]; then # See comments for %%systemd_pre in %%pre. @@ -1039,7 +1038,6 @@ if [ $1 -gt 1 ]; then %systemd_post systemd-timesyncd.service %systemd_post systemd-journald-audit.socket fi -%endif # v228 wrongly set world writable suid root permissions on timestamp files used # by permanent timers. Fix the timestamps that might have been created by the From f3a1dd8bfadbc84a71c0a5dc3731719cf2fe81c75b44e18237141850196cc5ed Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 3 May 2023 06:34:19 +0000 Subject: [PATCH 838/991] - Import commit 3ce9610975b5239a21c0c886cb893bb172966de7 3ce9610975 test: dont use anchor char '$' to match a part of a string 03ede3eaa2 locale: when no xvariant match select the entry with an empty xvariant f08017efd5 locale: convert generated vconsole keymap to x11 layout automatically e8cf56459b localed-util: make use of strdupcspn() 821c684440 test: use kbd-mode-map we ship in TEST-73-LOCALE - Mapping for converted keymaps is not needed anymore since their conversion to their x11 layout counterpart is now done automatically by localed (commit f08017efd5). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1382 --- systemd-v253.3+suse.22.g66f3a8a47d.tar.xz | 3 --- systemd-v253.3+suse.27.g3ce9610975.tar.xz | 3 +++ systemd.changes | 15 +++++++++++++++ systemd.spec | 16 +--------------- 4 files changed, 19 insertions(+), 18 deletions(-) delete mode 100644 systemd-v253.3+suse.22.g66f3a8a47d.tar.xz create mode 100644 systemd-v253.3+suse.27.g3ce9610975.tar.xz diff --git a/systemd-v253.3+suse.22.g66f3a8a47d.tar.xz b/systemd-v253.3+suse.22.g66f3a8a47d.tar.xz deleted file mode 100644 index 27f4e3fe..00000000 --- a/systemd-v253.3+suse.22.g66f3a8a47d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c5e09e6e9eb4c0b383578dad276f56c174eacd2d7752e0f545db6d2480d627d0 -size 8205724 diff --git a/systemd-v253.3+suse.27.g3ce9610975.tar.xz b/systemd-v253.3+suse.27.g3ce9610975.tar.xz new file mode 100644 index 00000000..8a7621d8 --- /dev/null +++ b/systemd-v253.3+suse.27.g3ce9610975.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3f34496d7ed206b908455ec3c1a3794e94fe25ade2e06814e416744231446f2 +size 8207228 diff --git a/systemd.changes b/systemd.changes index 16ab984f..eaa530d0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed May 3 06:20:28 UTC 2023 - Franck Bui + +- Import commit 3ce9610975b5239a21c0c886cb893bb172966de7 + + 3ce9610975 test: dont use anchor char '$' to match a part of a string + 03ede3eaa2 locale: when no xvariant match select the entry with an empty xvariant + f08017efd5 locale: convert generated vconsole keymap to x11 layout automatically + e8cf56459b localed-util: make use of strdupcspn() + 821c684440 test: use kbd-mode-map we ship in TEST-73-LOCALE + +- Mapping for converted keymaps is not needed anymore since their conversion to + their x11 layout counterpart is now done automatically by localed (commit + f08017efd5). + ------------------------------------------------------------------- Tue May 2 10:34:43 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1b971cd7..9e050f26 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.22.g66f3a8a47d +%define archive_version +suse.27.g3ce9610975 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -925,20 +925,6 @@ install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf # consume those configs (like glibc or pam), see bsc#1170146. rm -fr %{buildroot}%{_datadir}/factory/* -# Add entries for xkeyboard-config converted keymaps; mappings, which -# already exist in original systemd mapping table are being ignored -# though, i.e. not overwritten; needed as long as YaST uses console -# keymaps internally and calls localectl to convert from vconsole to -# X11 keymaps. Ideally YaST should switch to X11 layout names (the -# mapping table wouldn't be needed since each X11 keymap has a -# generated xkbd keymap) and let localectl initialize -# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf -# (FATE#319454). -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -fi - # kbd-model-map.legacy is used to provide mapping for legacy keymaps, which may # still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map From 3929c646ed80323698b09bb5ded41f9522f9f34025560ab94054ab96b2c27173 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 3 May 2023 07:31:31 +0000 Subject: [PATCH 839/991] - Import commit 25aec157888f7aa9a36726962fcbbf2c74ead440 (merge of v253.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/3ce9610975b5239a21c0c886cb893bb172966de7...25aec157888f7aa9a36726962fcbbf2c74ead440 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1383 --- systemd-v253.3+suse.27.g3ce9610975.tar.xz | 3 --- systemd-v253.4+suse.28.g25aec15788.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v253.3+suse.27.g3ce9610975.tar.xz create mode 100644 systemd-v253.4+suse.28.g25aec15788.tar.xz diff --git a/systemd-v253.3+suse.27.g3ce9610975.tar.xz b/systemd-v253.3+suse.27.g3ce9610975.tar.xz deleted file mode 100644 index 8a7621d8..00000000 --- a/systemd-v253.3+suse.27.g3ce9610975.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3f34496d7ed206b908455ec3c1a3794e94fe25ade2e06814e416744231446f2 -size 8207228 diff --git a/systemd-v253.4+suse.28.g25aec15788.tar.xz b/systemd-v253.4+suse.28.g25aec15788.tar.xz new file mode 100644 index 00000000..6f770326 --- /dev/null +++ b/systemd-v253.4+suse.28.g25aec15788.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b619c2dbcc175b630519a1e84553f744ae003b49b031c83ee4cdbfd9226701fe +size 8216304 diff --git a/systemd.changes b/systemd.changes index eaa530d0..c6a652fa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed May 3 06:34:54 UTC 2023 - Franck Bui + +- Import commit 25aec157888f7aa9a36726962fcbbf2c74ead440 (merge of v253.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/3ce9610975b5239a21c0c886cb893bb172966de7...25aec157888f7aa9a36726962fcbbf2c74ead440 + ------------------------------------------------------------------- Wed May 3 06:20:28 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9e050f26..363cfb97 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.27.g3ce9610975 +%define archive_version +suse.28.g25aec15788 %define _testsuitedir /usr/lib/systemd/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -73,7 +73,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.3 +Version: 253.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From d6badd1a2e74334da4677f8111dcd97c610140f7118a9f3e5f7bff3f06d486cf Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 4 May 2023 09:05:47 +0000 Subject: [PATCH 840/991] - kbd-model-map.legacy: drop entry for 'ruwin_alt-UTF-8' as yast doesn't rely on it anymore, see https://github.com/yast/yast-country/pull/307 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1384 --- kbd-model-map.legacy | 6 ------ systemd.changes | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kbd-model-map.legacy b/kbd-model-map.legacy index a3b6d9d7..69326298 100644 --- a/kbd-model-map.legacy +++ b/kbd-model-map.legacy @@ -5,9 +5,3 @@ arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ara ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle ir ir pc105 - terminate:ctrl_alt_bksp - -# FIXME: ruwin_alt-UTF-8 is not needed as the legacy "ru" keymap -# (/usr/share/kbd/keymaps/i386/qwerty/ru.map.gz) is a dual layout and contains -# the Latin letters. Keep it until YaST is updated. - -ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll diff --git a/systemd.changes b/systemd.changes index c6a652fa..bc46bcfe 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu May 4 08:40:15 UTC 2023 - Franck Bui + +- kbd-model-map.legacy: drop entry for 'ruwin_alt-UTF-8' as yast doesn't rely on + it anymore, see https://github.com/yast/yast-country/pull/307 + ------------------------------------------------------------------- Wed May 3 06:34:54 UTC 2023 - Franck Bui From 932bbabfac075f79f03a9890863489a10144f90579bdeca4d2e1c0101b803a69 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 4 May 2023 10:06:44 +0000 Subject: [PATCH 841/991] - Make use of %_systemd_util_dir in the spec file. - Rename the SUSE specific scripts used to fix up the system where systemd is installed on. Also rename the directory where these scripts are stored. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1385 --- files.container | 2 +- files.systemd | 6 +-- ... fixlet-container-machines-btrfs-subvol.sh | 0 ...18n.sh => fixlet-migrate-sysconfig-i18n.sh | 0 ...-210.sh => fixlet-upgrade-from-sysvinit.sh | 0 systemd.changes | 8 ++++ systemd.spec | 43 +++++++++---------- 7 files changed, 33 insertions(+), 26 deletions(-) rename scripts-systemd-fix-machines-btrfs-subvol.sh => fixlet-container-machines-btrfs-subvol.sh (100%) rename scripts-systemd-migrate-sysconfig-i18n.sh => fixlet-migrate-sysconfig-i18n.sh (100%) rename scripts-systemd-upgrade-from-pre-210.sh => fixlet-upgrade-from-sysvinit.sh (100%) diff --git a/files.container b/files.container index 181cd26c..a5445635 100644 --- a/files.container +++ b/files.container @@ -30,7 +30,7 @@ %{_mandir}/man5/org.freedesktop.machine1.5.gz %{_mandir}/man8/systemd-machined.8.gz %{_mandir}/man8/systemd-machined.service.8.gz -%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh +%{_systemd_util_dir}/rpm/fixlet-container-machines-btrfs-subvol.sh %{_systemd_util_dir}/systemd-machined %{_tmpfilesdir}/systemd-nspawn.conf %{_unitdir}/dbus-org.freedesktop.machine1.service diff --git a/files.systemd b/files.systemd index e2be4037..95f44378 100644 --- a/files.systemd +++ b/files.systemd @@ -44,7 +44,7 @@ %dir %{_systemd_user_env_generator_dir} %dir %{_systemd_util_dir} %dir %{_systemd_util_dir}/ntp-units.d -%dir %{_systemd_util_dir}/scripts +%dir %{_systemd_util_dir}/rpm %dir %{_systemd_util_dir}/system-preset %dir %{_systemd_util_dir}/system-shutdown %dir %{_systemd_util_dir}/system-sleep @@ -440,8 +440,8 @@ %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list -%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh -%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh +%{_systemd_util_dir}/rpm/fixlet-migrate-sysconfig-i18n.sh +%{_systemd_util_dir}/rpm/fixlet-upgrade-from-sysvinit.sh %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-binfmt diff --git a/scripts-systemd-fix-machines-btrfs-subvol.sh b/fixlet-container-machines-btrfs-subvol.sh similarity index 100% rename from scripts-systemd-fix-machines-btrfs-subvol.sh rename to fixlet-container-machines-btrfs-subvol.sh diff --git a/scripts-systemd-migrate-sysconfig-i18n.sh b/fixlet-migrate-sysconfig-i18n.sh similarity index 100% rename from scripts-systemd-migrate-sysconfig-i18n.sh rename to fixlet-migrate-sysconfig-i18n.sh diff --git a/scripts-systemd-upgrade-from-pre-210.sh b/fixlet-upgrade-from-sysvinit.sh similarity index 100% rename from scripts-systemd-upgrade-from-pre-210.sh rename to fixlet-upgrade-from-sysvinit.sh diff --git a/systemd.changes b/systemd.changes index bc46bcfe..70f67463 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu May 4 09:32:44 UTC 2023 - Franck Bui + +- Make use of %_systemd_util_dir in the spec file. + +- Rename the SUSE specific scripts used to fix up the system where systemd is + installed on. Also rename the directory where these scripts are stored. + ------------------------------------------------------------------- Thu May 4 08:40:15 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 363cfb97..0e843727 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ %define min_kernel_version 4.5 %define archive_version +suse.28.g25aec15788 -%define _testsuitedir /usr/lib/systemd/tests +%define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit # Similar to %%with but returns true/false. The 'true' value can be redefined @@ -176,9 +176,9 @@ Source6: baselibs.conf Source11: after-local.service Source14: kbd-model-map.legacy -Source100: scripts-systemd-fix-machines-btrfs-subvol.sh -Source101: scripts-systemd-upgrade-from-pre-210.sh -Source102: scripts-systemd-migrate-sysconfig-i18n.sh +Source100: fixlet-container-machines-btrfs-subvol.sh +Source101: fixlet-upgrade-from-sysvinit.sh +Source102: fixlet-migrate-sysconfig-i18n.sh Source200: files.systemd Source201: files.udev @@ -748,7 +748,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" %if %{with sd_boot} %ifarch x86_64 -export BRP_PESIGN_FILES="/usr/lib/systemd/boot/efi/systemd-bootx64.efi" +export BRP_PESIGN_FILES="%{_systemd_util_dir}/boot/efi/systemd-bootx64.efi" %endif %endif @@ -766,14 +766,13 @@ install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-inst mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn -# Package the scripts used to fix all packaging issues. Also drop the -# "scripts-{systemd/udev}" prefix which is used because osc doesn't allow -# directories in the workspace... +# Install the fixlets +mkdir -p %{buildroot}%{_systemd_util_dir}/rpm %if %{with machined} -install -m0755 -D %{SOURCE100} %{buildroot}%{_systemd_util_dir}/scripts/fix-machines-btrfs-subvol.sh +install -m0755 %{SOURCE100} %{buildroot}%{_systemd_util_dir}/rpm/ %endif -install -m0755 -D %{SOURCE101} %{buildroot}%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh -install -m0755 -D %{SOURCE102} %{buildroot}%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh +install -m0755 %{SOURCE101} %{buildroot}%{_systemd_util_dir}/rpm/ +install -m0755 %{SOURCE102} %{buildroot}%{_systemd_util_dir}/rpm/ %if %{with split_usr} mkdir -p %{buildroot}/{bin,sbin} @@ -849,8 +848,8 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ +mkdir -p %{buildroot}%{_systemd_util_dir}/system-shutdown/ +mkdir -p %{buildroot}%{_systemd_util_dir}/system-sleep/ # Make sure these directories are properly owned. mkdir -p %{buildroot}%{_unitdir}/basic.target.wants @@ -1049,7 +1048,7 @@ if [ -L %{_localstatedir}/lib/systemd/timesync ]; then fi # This includes all hacks needed when upgrading from SysV. -%{_prefix}/lib/systemd/scripts/upgrade-from-pre-210.sh || : +%{_systemd_util_dir}/rpm/fixlet-upgrade-from-sysvinit.sh || : # Migrate old i18n settings previously configured in /etc/sysconfig to the new # locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent @@ -1060,7 +1059,7 @@ fi # is being installed). # # It's run only once. -%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : +%{_systemd_util_dir}/rpm/fixlet-migrate-sysconfig-i18n.sh || : %postun # daemon-reload is implied by systemd_postun_with_restart @@ -1147,7 +1146,7 @@ if [ $1 -gt 1 ]; then # if needed. See bsc#992573. The installer has been fixed to create it # at installation time. # - # The convertion might only be problematic for openSUSE distros + # The conversion might only be problematic for openSUSE distros # (TW/Factory) where previous versions had already created the subvolume # at the wrong place (via tmpfiles for example) and user started to # populate and use it. In this case we'll let the user fix it manually. @@ -1156,7 +1155,7 @@ if [ $1 -gt 1 ]; then # v210 to v228 when we added this workaround. Note that the subvolume is # still created at the wrong place due to the call to tmpfiles_create # macro previously however it's empty so there shouldn't be any issues. - %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + %{_systemd_util_dir}/rpm/fixlet-container-machines-btrfs-subvol.sh || : fi %preun container @@ -1341,9 +1340,9 @@ fi %{_unitdir}/systemd-journal-gatewayd.* %{_unitdir}/systemd-journal-remote.* %{_unitdir}/systemd-journal-upload.* -%{_prefix}/lib/systemd/systemd-journal-gatewayd -%{_prefix}/lib/systemd/systemd-journal-remote -%{_prefix}/lib/systemd/systemd-journal-upload +%{_systemd_util_dir}/systemd-journal-gatewayd +%{_systemd_util_dir}/systemd-journal-remote +%{_systemd_util_dir}/systemd-journal-upload %{_sysusersdir}/systemd-remote.conf %{_mandir}/man5/journal-remote.conf* %{_mandir}/man5/journal-upload.conf* @@ -1358,8 +1357,8 @@ fi %files portable %defattr(-,root,root) %{_bindir}/portablectl -%{_prefix}/lib/systemd/systemd-portabled -%{_prefix}/lib/systemd/portable +%{_systemd_util_dir}/systemd-portabled +%{_systemd_util_dir}/portable %{_unitdir}/systemd-portabled.service %{_unitdir}/dbus-org.freedesktop.portable1.service %{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf From 8fe894317981ff539f8c31fce14f661e819e9c3b75202197fce818c441de6e0d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 5 May 2023 13:03:20 +0000 Subject: [PATCH 842/991] - Rather than having one script per fix, use a single script (or "fixlet") per (sub) package that contains all the fixups relative to a (sub) package. This has the advantage to limit the number of scripts but more importantly it will ease the sharing of the spec file between TW and SLE. We should also be able to compare the fixlets of two distros even if the spec files have diverged. Note that all the fixups are run just once now. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1386 --- files.container | 2 +- files.systemd | 5 +- fixlet-container-machines-btrfs-subvol.sh | 139 ----------------- fixlet-container-post.sh | 146 ++++++++++++++++++ ...ysconfig-i18n.sh => fixlet-systemd-post.sh | 104 +++++++++++-- fixlet-upgrade-from-sysvinit.sh | 34 ---- systemd.changes | 11 ++ systemd.spec | 59 +++---- 8 files changed, 270 insertions(+), 230 deletions(-) delete mode 100644 fixlet-container-machines-btrfs-subvol.sh create mode 100644 fixlet-container-post.sh rename fixlet-migrate-sysconfig-i18n.sh => fixlet-systemd-post.sh (55%) delete mode 100644 fixlet-upgrade-from-sysvinit.sh diff --git a/files.container b/files.container index a5445635..a8371899 100644 --- a/files.container +++ b/files.container @@ -30,7 +30,7 @@ %{_mandir}/man5/org.freedesktop.machine1.5.gz %{_mandir}/man8/systemd-machined.8.gz %{_mandir}/man8/systemd-machined.service.8.gz -%{_systemd_util_dir}/rpm/fixlet-container-machines-btrfs-subvol.sh +%{_systemd_util_dir}/rpm/fixlet-container-post.sh %{_systemd_util_dir}/systemd-machined %{_tmpfilesdir}/systemd-nspawn.conf %{_unitdir}/dbus-org.freedesktop.machine1.service diff --git a/files.systemd b/files.systemd index 95f44378..a53901b8 100644 --- a/files.systemd +++ b/files.systemd @@ -30,6 +30,7 @@ %dir %{_libdir}/systemd %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog +%dir %{_localstatedir}/lib/systemd/rpm %dir %{_modprobedir} %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/binfmt.d @@ -91,7 +92,6 @@ %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal %ghost %{_localstatedir}/lib/systemd/catalog/database -%ghost %{_localstatedir}/lib/systemd/i18n-migrated %license LICENSE.GPL2 %license LICENSE.LGPL2.1 %{_bindir}/busctl @@ -440,8 +440,7 @@ %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list -%{_systemd_util_dir}/rpm/fixlet-migrate-sysconfig-i18n.sh -%{_systemd_util_dir}/rpm/fixlet-upgrade-from-sysvinit.sh +%{_systemd_util_dir}/rpm/fixlet-systemd-post.sh %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-binfmt diff --git a/fixlet-container-machines-btrfs-subvol.sh b/fixlet-container-machines-btrfs-subvol.sh deleted file mode 100644 index 6ff4f688..00000000 --- a/fixlet-container-machines-btrfs-subvol.sh +++ /dev/null @@ -1,139 +0,0 @@ -#! /bin/bash -# -# This is used to initially create /var/lib/machines subvolume in case -# the system we're running on is using BTRFS with the specific layout -# used by snapper to perform snapshots, rollbacks, etc... -# -# Unfortunately some distros (TW) already shipped versions with -# systemd creating a plain subvolume which breaks snapper. -# -# If /var/lib/machines is already populated then it's going to be -# pretty ugly to convert the old subvolume into a new one specially -# since it can be in use. -# -# Hopefully not a lot of users are using machinectl to import -# container/VM images. So in most of the cases this directory should -# be empty and we can then simple delete the subvolume and create a -# new one respecting the snapper layout. -# -# In the rare case where /var/lib/machines is populated, we will warn -# the user and let him fix it manually. -# -# In order to avoid ugly dependencies added in systemd package, this -# script should only be called during package updates when -# mksubvolume(8) is available. During installation, /var/lib/machines -# is supposed to be created by the installer now. -# -# See bsc#992573 -# - -warn() { - echo >&2 "warning: $@" -} - -is_btrfs_subvolume() { - # On btrfs subvolumes always have the inode 256 - test $(stat --format=%i "$1") -eq 256 -} - -# This assumes the directory/subvol is emptied by the caller. -rm_subvolume_or_directory() { - is_btrfs_subvolume "$1" && { - btrfs subvolume delete "$1" - return - } - rmdir "$1" -} - -on_exit() { - # Simply print a common error message in case something went - # wrong. - if test $? -ne 0; then - warn "Please fix /var/lib/machines manually." - # FIXME: point to a documentation explaining how to do - # that. - exit 1 - fi -} - -# -# If there's already an entry in fstab for /var/lib/machines, it -# means that: -# -# - the installer initialized /var/lib/machines correctly (default) -# - we already fixed it -# - the sysadmin added it manually -# -# In any cases we should exit. -# -# Note: we can't simply check if /var/lib/machines has been mounted -# because an update through a chroot might be in progress (see -# bsc#1030290). -# -if mount --fake /var/lib/machines 2>/dev/null; then - exit -fi - -# -# If there is already an entry in fstab for /var, it means that: -# -# - the system has a seperate /var subvolume (default from Feb 2018) -# - the system has a seperate /var partition -# -# In any case we should exit -# -if mount --fake /var 2>/dev/null; then - exit -fi - -# -# If something is already mounted don't try to fix anything, it's been -# done manually by the sysadmin. -# -if mountpoint -q /var/lib/machines; then - exit -fi - -# -# Let's try to figure out if the current filesystem uses a Snapper -# BTRFS specific layout. Note that TW uses a different layout than -# SLE... -# -# FIXME: not sure if it's correct, reliable or optimal. -# -case $(findmnt -nr -t btrfs -o FSROOT / 2>/dev/null) in -*.snapshots/*/snapshot*) - ;; -*) - exit 0 -esac - -trap on_exit EXIT - -if test -d /var/lib/machines; then - # - # Ok, we're on a system supporting rollbacks and - # /var/lib/machines is not a subvolume remotely mounted so it - # cannot be suitable for systems supporting rollback. Fix it. - # - echo "Making /var/lib/machines suitable for rollbacks..." - - type mksubvolume >/dev/null 2>&1 || { - warn "mksubvolume(8) is not installed, aborting." - exit 1 - } - test "$(ls -A /var/lib/machines/)" && { - warn "/var/lib/machines is not empty, aborting." - exit 1 - } - - echo "Deleting empty /var/lib/machines directory/subvolume" - rm_subvolume_or_directory /var/lib/machines || { - warn "fail to delete /var/lib/machines" - exit 1 - } -fi - -# At this point /var/lib/machines shouldn't exist. -echo "Creating /var/lib/machines subvolume suitable for rollbacks." -mksubvolume /var/lib/machines diff --git a/fixlet-container-post.sh b/fixlet-container-post.sh new file mode 100644 index 00000000..a61b0724 --- /dev/null +++ b/fixlet-container-post.sh @@ -0,0 +1,146 @@ +#! /bin/bash +# +# This script contains all the fixups run when systemd-container package is +# installed or updated. +# + +warn() { + echo >&2 "warning: $@" +} + +is_btrfs_subvolume() { + # On btrfs subvolumes always have the inode 256 + test $(stat --format=%i "$1") -eq 256 +} + +# This assumes the directory/subvol is emptied by the caller. +rm_subvolume_or_directory() { + is_btrfs_subvolume "$1" && { + btrfs subvolume delete "$1" + return + } + rmdir "$1" +} + +# On systems using BTRFS, convert /var/lib/machines into a subvolume suitable +# for snapper to perform snapshots, rollbacks.. in case it was not properly set +# up, see bsc#992573. The installer has been fixed to properly initialize it at +# installation time. +# +# The conversion might only be problematic for openSUSE distros (TW/Factory) +# where the subvolume was created at the wrong place (via tmpfiles for example) +# and it got populated before we had time to fix it. In this case we'll let the +# user fix it manually. +# +# On SLE12 this subvolume was only introduced during the upgrade from v210 to +# v228 (ie SLE12-SP[01] -> SLE12-SP2+ when we added this workaround hence no +# user should had time to populate it. Note that the subvolume is still created +# at the wrong place due to the call to tmpfiles_create macro in the %post +# section however it's empty so again we shouldn't face any issue to convert it. +# +# In order to avoid ugly dependencies added in systemd package, this function +# should only be called during package updates when mksubvolume(8) is +# available. During installation, /var/lib/machines is supposed to be created by +# the installer now. +# +# See bsc#992573 +# +fix_machines_subvol() { + local tagfile=/var/lib/systemd/rpm/container-machines_subvol + + if [ -e $tagfile ]; then + return 0 + fi + touch $tagfile + + # + # If there's already an entry in fstab for /var/lib/machines, it + # means that: + # + # - the installer initialized /var/lib/machines correctly (default) + # - we already fixed it + # - the sysadmin added it manually + # + # In any cases we should return. + # + # Note: we can't simply check if /var/lib/machines has been mounted + # because an update through a chroot might be in progress (see + # bsc#1030290). + # + if mount --fake /var/lib/machines 2>/dev/null; then + return + fi + + # + # If there is already an entry in fstab for /var, it means that: + # + # - the system has a seperate /var subvolume (default from Feb 2018) + # - the system has a seperate /var partition + # + # In any case we should return. + # + if mount --fake /var 2>/dev/null; then + return + fi + + # + # If something is already mounted don't try to fix anything, it's been + # done manually by the sysadmin. + # + if mountpoint -q /var/lib/machines; then + return + fi + + # + # Let's try to figure out if the current filesystem uses a Snapper + # BTRFS specific layout. Note that TW uses a different layout than + # SLE... + # + # FIXME: not sure if it's correct, reliable or optimal. + # + case $(findmnt -nr -t btrfs -o FSROOT / 2>/dev/null) in + *.snapshots/*/snapshot*) + ;; + *) + return 0 + esac + + if test -d /var/lib/machines; then + # + # Ok, we're on a system supporting rollbacks and + # /var/lib/machines is not a subvolume remotely mounted so it + # cannot be suitable for systems supporting rollback. Fix it. + # + echo "Making /var/lib/machines suitable for rollbacks..." + + type mksubvolume >/dev/null 2>&1 || { + warn "mksubvolume(8) is not installed, aborting." + return 1 + } + test "$(ls -A /var/lib/machines/)" && { + warn "/var/lib/machines is not empty, aborting." + return 1 + } + + echo "Deleting empty /var/lib/machines directory/subvolume" + rm_subvolume_or_directory /var/lib/machines || { + warn "fail to delete /var/lib/machines" + return 1 + } + fi + + # At this point /var/lib/machines shouldn't exist. + echo "Creating /var/lib/machines subvolume suitable for rollbacks." + mksubvolume /var/lib/machines +} + +r=0 +if [ $1 -gt 1 ]; then + # During upgrade + fix_machines_subvol || { + warn "Please fix /var/lib/machines manually." + r=1 + } +fi + +exit $r diff --git a/fixlet-migrate-sysconfig-i18n.sh b/fixlet-systemd-post.sh similarity index 55% rename from fixlet-migrate-sysconfig-i18n.sh rename to fixlet-systemd-post.sh index 432e9e74..185a5167 100644 --- a/fixlet-migrate-sysconfig-i18n.sh +++ b/fixlet-systemd-post.sh @@ -1,4 +1,8 @@ #! /bin/bash +# +# This script contains all the fixups run when systemd package is installed or +# updated. +# # /etc/sysconfig/console | /etc/vconsole.conf # -------------------------+--------------------- @@ -76,13 +80,12 @@ migrate_keyboard () { # According to # https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_suse_l10n.html, -# variables in /etc/sysconfig/language are supposed to be passed to -# the users' shell *only*. However it seems that there has been some -# confusion and they ended up configuring the system-wide locale as -# well. The logic followed by systemd was implemented in commit -# 01c4b6f4f0d951d17f6873f68156ecd7763429c6, which was reverted. The -# code below follows the same logic to migrate content of -# /etc/sysconfig/language into locale.conf. +# variables in /etc/sysconfig/language are supposed to be passed to the users' +# shell *only*. However it seems that there has been some confusion and they +# ended up configuring the system-wide locale as well. The logic followed by +# systemd was implemented in commit 01c4b6f4f0d951d17f6873f68156ecd7763429c6, +# which was reverted. The code below follows the same logic to migrate content +# of /etc/sysconfig/language into locale.conf. migrate_language () { local lang= local migrated=false @@ -128,18 +131,89 @@ migrate_language () { fi } +# Migrate old i18n settings previously configured in /etc/sysconfig to the new +# locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent +# versions of systemd parse the new locations only. +# +# This is needed both at package updates and package installations because we +# might be upgrading from a system which was running SysV init (systemd package +# is being installed). +# +# It's run only once. +migrate_sysconfig_i18n() { + local tagfile=/var/lib/systemd/rpm/systemd-i18n_migrated + local -i rv=0 -# The marker could have been incorrectly put in /usr/lib. In this case -# move it to its new place. -mv /usr/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done \ - /var/lib/systemd/i18n-migrated &>/dev/null + if [ -e $tagfile ]; then + return 0 + fi -if ! test -e /var/lib/systemd/i18n-migrated; then - declare -i rv=0 + # The marker could have been incorrectly put in /usr/lib. + mv /usr/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done $tagfile &>/dev/null + # The tag files have been moved to /var/lib/systemd/rpm later. + mv /var/lib/systemd/i18n-migrated $tagfile &>/dev/null + + if [ -e $tagfile ]; then + return 0 + fi + touch $tagfile migrate_locale; rv+=$? migrate_keyboard; rv+=$? migrate_language; rv+=$? - test $rv -eq 0 && touch /var/lib/systemd/i18n-migrated -fi + return $rv +} + +# +# This function is supposed to be called from the %post section of the main +# package. It contains all the fixups needed when the system was running a +# version of systemd older than v210. +# +# All hacks can potentially break the admin settings since they work in /etc. +# +fix_pre_210() { + local tagfile=/var/lib/systemd/rpm/systemd-pre_210_fixed + + if [ -e $tagfile ]; then + return 0 + fi + touch $tagfile + + # + # During migration from sysvinit to systemd, we used to set the systemd + # default target to one of the 'runlevel*.target' after reading the + # default runlevel from /etc/inittab. We don't do that anymore because + # in most cases using the graphical.target target, which is the default, + # will do the right thing. Moreover the runlevel targets are considered + # as deprecated, so we convert them into "true" systemd targets instead + # here. + # + if target=$(readlink /etc/systemd/system/default.target); then + target=$(basename $target) + case "$target" in + runlevel?.target) + echo "Default target is '$target' but use of runlevels is deprecated, converting" + systemctl --no-reload set-default $target + esac + fi + + # + # Migrate any symlink which may refer to the old path (ie /lib/systemd). + # + for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f "$new_target" "$f" + done +} + +r=0 +fix_pre_210 || { + r=1 +} +migrate_sysconfig_i18n || { + echo >&2 "Failed to migrate i18n settings from /etc/sysconfig, continuing..." + r=1 +} + +exit $r diff --git a/fixlet-upgrade-from-sysvinit.sh b/fixlet-upgrade-from-sysvinit.sh deleted file mode 100644 index 2f5e53ff..00000000 --- a/fixlet-upgrade-from-sysvinit.sh +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/bash - -# -# This script is supposed to be executed from the %post section. It contains all -# hacks needed to update a system which was running systemd < v210. This also -# includes systems migrating from SysV. -# -# All hacks can potentially break the admin settings since they work in /etc... -# - -# -# During migration from sysvinit to systemd, we used to set the systemd default -# target to one of the 'runlevel*.target' after reading the default runlevel -# from /etc/inittab. We don't do that anymore because in most cases using the -# graphical.target target, which is the default, will do the right -# thing. Moreover the runlevel targets are considered as deprecated, so we -# convert them into "true" systemd targets instead here. -# -if target=$(readlink /etc/systemd/system/default.target); then - target=$(basename $target) - case "$target" in - runlevel?.target) - echo "Default systemd target is '$target' but use of runlevels is deprecated" - systemctl --no-reload set-default $target - esac -fi - -# -# Migrate any symlink which may refer to the old path. -# -for f in $(find /etc/systemd/system -type l -xtype l); do - new_target="/usr$(readlink $f)" - [ -f "$new_target" ] && ln -s -f $new_target $f -done diff --git a/systemd.changes b/systemd.changes index 70f67463..942dbe2b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu May 4 15:20:49 UTC 2023 - Franck Bui + +- Rather than having one script per fix, use a single script (or "fixlet") per + (sub) package that contains all the fixups relative to a (sub) package. This + has the advantage to limit the number of scripts but more importantly it will + ease the sharing of the spec file between TW and SLE. We should also be able + to compare the fixlets of two distros even if the spec files have diverged. + + Note that all the fixups are run just once now. + ------------------------------------------------------------------- Thu May 4 09:32:44 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0e843727..b0267ef6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -176,9 +176,8 @@ Source6: baselibs.conf Source11: after-local.service Source14: kbd-model-map.legacy -Source100: fixlet-container-machines-btrfs-subvol.sh -Source101: fixlet-upgrade-from-sysvinit.sh -Source102: fixlet-migrate-sysconfig-i18n.sh +Source100: fixlet-container-post.sh +Source101: fixlet-systemd-post.sh Source200: files.systemd Source201: files.udev @@ -772,7 +771,6 @@ mkdir -p %{buildroot}%{_systemd_util_dir}/rpm install -m0755 %{SOURCE100} %{buildroot}%{_systemd_util_dir}/rpm/ %endif install -m0755 %{SOURCE101} %{buildroot}%{_systemd_util_dir}/rpm/ -install -m0755 %{SOURCE102} %{buildroot}%{_systemd_util_dir}/rpm/ %if %{with split_usr} mkdir -p %{buildroot}/{bin,sbin} @@ -843,6 +841,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d # Make sure directories in /var exist. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/rpm # Make sure the NTP units dir exists. mkdir -p %{buildroot}%{_ntpunitsdir} @@ -887,7 +886,6 @@ touch %{buildroot}%{_sysconfdir}/vconsole.conf touch %{buildroot}%{_sysconfdir}/locale.conf touch %{buildroot}%{_sysconfdir}/machine-info touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database -touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -1047,19 +1045,9 @@ if [ -L %{_localstatedir}/lib/systemd/timesync ]; then mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync fi -# This includes all hacks needed when upgrading from SysV. -%{_systemd_util_dir}/rpm/fixlet-upgrade-from-sysvinit.sh || : - -# Migrate old i18n settings previously configured in /etc/sysconfig to the new -# locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent -# versions of systemd parse the new locations only. -# -# This is needed both at package updates and package installations because we -# might be upgrading from a system which was running SysV init (systemd package -# is being installed). -# -# It's run only once. -%{_systemd_util_dir}/rpm/fixlet-migrate-sysconfig-i18n.sh || : +# Run the hacks/fixups to clean up old garbages left by (very) old versions of +# systemd. +%{_systemd_util_dir}/rpm/fixlet-systemd-post.sh $1 || : %postun # daemon-reload is implied by systemd_postun_with_restart @@ -1133,30 +1121,17 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n libudev%{?mini}1 -p %ldconfig %postun -n libsystemd0%{?mini} -p %ldconfig -%pre container -%systemd_pre machines.target - %post container -%systemd_post machines.target %tmpfiles_create systemd-nspawn.conf %if %{with machined} +%systemd_post machines.target %ldconfig -if [ $1 -gt 1 ]; then - # Convert /var/lib/machines subvolume to make it suitable for rollbacks, - # if needed. See bsc#992573. The installer has been fixed to create it - # at installation time. - # - # The conversion might only be problematic for openSUSE distros - # (TW/Factory) where previous versions had already created the subvolume - # at the wrong place (via tmpfiles for example) and user started to - # populate and use it. In this case we'll let the user fix it manually. - # - # For SLE12 this subvolume was only introduced during the upgrade from - # v210 to v228 when we added this workaround. Note that the subvolume is - # still created at the wrong place due to the call to tmpfiles_create - # macro previously however it's empty so there shouldn't be any issues. - %{_systemd_util_dir}/rpm/fixlet-container-machines-btrfs-subvol.sh || : -fi +%endif +%{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || : + +%if %{with machined} +%pre container +%systemd_pre machines.target %preun container %systemd_preun machines.target @@ -1166,6 +1141,14 @@ fi %ldconfig %endif +%post container +%tmpfiles_create systemd-nspawn.conf +%if %{with machined} +%systemd_post machines.target +%ldconfig +%endif +%{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || : + %if %{with coredump} %post coredump %sysusers_create systemd-coredump.conf From 48d1d3188b0250ac8a48c2fdb3696e47fa8a02f5eb18e6b8e90d83676e190667 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 5 May 2023 13:08:35 +0000 Subject: [PATCH 843/991] Revert commit r1382 temporarily until bsc#1211104 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1387 --- systemd.changes | 4 ---- systemd.spec | 12 ++++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index 942dbe2b..7818ebfa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -42,10 +42,6 @@ Wed May 3 06:20:28 UTC 2023 - Franck Bui e8cf56459b localed-util: make use of strdupcspn() 821c684440 test: use kbd-mode-map we ship in TEST-73-LOCALE -- Mapping for converted keymaps is not needed anymore since their conversion to - their x11 layout counterpart is now done automatically by localed (commit - f08017efd5). - ------------------------------------------------------------------- Tue May 2 10:34:43 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b0267ef6..e744c648 100644 --- a/systemd.spec +++ b/systemd.spec @@ -922,6 +922,18 @@ install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf # consume those configs (like glibc or pam), see bsc#1170146. rm -fr %{buildroot}%{_datadir}/factory/* +# Add entries for xkeyboard-config converted keymaps; mappings, which already +# exist in original systemd mapping table are being ignored though, i.e. not +# overwritten; needed as long as YaST uses console keymaps internally and calls +# localectl to convert from vconsole to X11 keymaps. Ideally YaST should switch +# to X11 layout names (the mapping table wouldn't be needed since each X11 +# keymap has a generated xkbd keymap) and let localectl initialize +# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf (FATE#319454). +if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then + cat /usr/share/systemd/kbd-model-map.xkb-generated \ + >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map +fi + # kbd-model-map.legacy is used to provide mapping for legacy keymaps, which may # still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map From 75c2b43fcc0dbea01a3cc666b6585ac6362256e4bbb16e0d950985c644960aef Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 5 May 2023 16:43:41 +0000 Subject: [PATCH 844/991] fix duplicate %post container OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1388 --- systemd.spec | 8 -------- 1 file changed, 8 deletions(-) diff --git a/systemd.spec b/systemd.spec index e744c648..80b5f468 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1133,14 +1133,6 @@ rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules %postun -n libudev%{?mini}1 -p %ldconfig %postun -n libsystemd0%{?mini} -p %ldconfig -%post container -%tmpfiles_create systemd-nspawn.conf -%if %{with machined} -%systemd_post machines.target -%ldconfig -%endif -%{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || : - %if %{with machined} %pre container %systemd_pre machines.target From 5ee918984164d5e50dae4da3b4d95cd8d18962c78d19c2540797e9780a16c077 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 9 May 2023 12:43:50 +0000 Subject: [PATCH 845/991] - Drop an old fix for the persistent net rules (only needed on SLE). Factory (fortunately) dropped the persistent net rule generator long time ago. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1389 --- systemd.changes | 6 ++++++ systemd.spec | 12 ------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/systemd.changes b/systemd.changes index 7818ebfa..9b62d34d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 9 12:37:31 UTC 2023 - Franck Bui + +- Drop an old fix for the persistent net rules (only needed on SLE). Factory + (fortunately) dropped the persistent net rule generator long time ago. + ------------------------------------------------------------------- Thu May 4 15:20:49 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 80b5f468..7d8f15a9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1084,22 +1084,10 @@ fi %post -n udev%{?mini} %regenerate_initrd_post %udev_hwdb_update - %tmpfiles_create systemd-pstore.conf - -# Units listed below can be enabled at installation accoding to their preset -# setting. %systemd_post remote-cryptsetup.target %systemd_post systemd-pstore.service -# add KERNEL name match to existing persistent net rules -sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ - /etc/udev/rules.d/70-persistent-net.rules 2>/dev/null || : - -# cleanup old stuff -rm -f /etc/sysconfig/udev -rm -f /etc/udev/rules.d/{20,55,65}-cdrom.rules - %preun -n udev%{?mini} %systemd_preun systemd-udevd.service systemd-udevd-{control,kernel}.socket %systemd_preun systemd-pstore.service From 7491f913ddc0a887fe6688f277d2d049b1d98ed395c6368237b59c2c8724ff13 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 9 May 2023 14:01:32 +0000 Subject: [PATCH 846/991] - Provide (Lua-based) file triggers and adapt systemd.spec accordingly (boo#1133764) More specifically, file triggers handle automatically installations or updates of files for sysusers, tmpfiles, hwdb, journal catalog, udev rules, sysctl and binfmt. Therefore it makes a bunch of systemd rpm macros (such as %udev_hwdb_update, %udev_rules_update, %journal_catalog_update, %tmpfiles_create, %sysusers_create and so on) not needed anymore. However before considering simplifying your spec files beware that these changes are not available in SLE yet and will probably never reach the current releases (latest one being SLE15-SP5 as of this writing). Macros dealing with unit restart/enabling (such as %systemd_pre, %service_add_pre, %service_del_postun, ...) are still needed though. However reloading of systemd instances (and thus restarting of units) are delayed until the very end of the package install/update transaction and is now done only once. Nevertheless to fully take advantage of file triggers, users have to activate a specific zypper transaction backend which is still considered as experimental, see bsc#1041742 for details. - Provide a (slighlty) customized version of systemd-update-helper. Some of the systemd rpm macros rely now on the helper and delegate their work to it. Hence we don't need to rebuild all packages anymore when the content of the rpm macros must be updated/fixed. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1390 --- files.systemd | 1 + systemd-update-helper | 163 ++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 31 ++++++++ systemd.spec | 19 ++++- triggers.systemd | 126 ++++++++++++++++++++++++++++++++ 5 files changed, 338 insertions(+), 2 deletions(-) create mode 100644 systemd-update-helper create mode 100644 triggers.systemd diff --git a/files.systemd b/files.systemd index a53901b8..c49c7460 100644 --- a/files.systemd +++ b/files.systemd @@ -465,6 +465,7 @@ %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd %{_systemd_util_dir}/systemd-update-done +%{_systemd_util_dir}/systemd-update-helper %{_systemd_util_dir}/systemd-update-utmp %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions diff --git a/systemd-update-helper b/systemd-update-helper new file mode 100644 index 00000000..3cc7909b --- /dev/null +++ b/systemd-update-helper @@ -0,0 +1,163 @@ +#!/usr/bin/env bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# SPDX-License-Identifier: LGPL-2.1-or-later +# +# This helper is aimed at being used by the systemd rpm macros only. +# +set -eu +set -o pipefail + +command="${1:?}" +shift + +command -v systemctl >/dev/null || exit 0 + +case "$command" in + mark-install-system-units) + mkdir -p /run/systemd/rpm/needs-preset + + for unit in "$@" ; do + if [ ! -e /usr/lib/systemd/system/"$unit" ]; then + touch /run/systemd/rpm/needs-preset/"$unit" + fi + done + ;; + + install-system-units) + units=() + + for unit in "$@" ; do + if [ -e /run/systemd/rpm/needs-preset/"$unit" ]; then + rm /run/systemd/rpm/needs-preset/"$unit" + units+=("$unit") + fi + done + + [ ${#units[*]} -gt 0 ] && + systemctl --no-reload preset "${units[@]}" + ;; + + mark-install-user-units) + mkdir -p /run/systemd/rpm/needs-user-preset + + for unit in "$@" ; do + if [ ! -e /usr/lib/systemd/user/"$unit" ]; then + touch /run/systemd/rpm/needs-user-preset/"$unit" + fi + done + ;; + + install-user-units) + units=() + + for unit in "$@" ; do + if [ -e /run/systemd/rpm/needs-user-preset/"$unit" ]; then + rm /run/systemd/rpm/needs-user-preset/"$unit" + units+=("$unit") + fi + done + + [ ${#units[*]} -gt 0 ] && + systemctl --no-reload preset --global "$@" || : + ;; + + remove-system-units) + if [ -d /run/systemd/system ]; then + systemctl --no-reload disable --now --no-warn "$@" + else + systemctl --no-reload disable --no-warn "$@" + fi + ;; + + remove-user-units) + systemctl --global disable --no-warn "$@" + + [ -d /run/systemd/system ] || exit 0 + + users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') + for user in $users; do + SYSTEMD_BUS_TIMEOUT=15s \ + systemctl --user -M "$user@" disable --now --no-warn "$@" & + done + wait + ;; + + mark-restart-system-units) + [ -d /run/systemd/system ] || exit 0 + + for unit in "$@"; do + systemctl set-property "$unit" Markers=+needs-restart & + done + wait + ;; + + mark-restart-user-units) + [ -d /run/systemd/system ] || exit 0 + + users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') + for user in $users; do + for unit in "$@"; do + SYSTEMD_BUS_TIMEOUT=15s \ + systemctl --user -M "$user@" set-property "$unit" Markers=+needs-restart & + done + done + wait + ;; + + system-reload-restart|system-reload|system-restart) + if [ -n "$*" ]; then + echo >&2 "Unexpected arguments for '$command': $*" + exit 2 + fi + + [ -d /run/systemd/system ] || exit 0 + + if [[ "$command" =~ reload ]]; then + systemctl daemon-reload + fi + + if [[ "$command" =~ restart ]]; then + systemctl reload-or-restart --marked + fi + ;; + + user-reload-restart|user-reload|user-restart|user-reexec) + if [ -n "$*" ]; then + echo >&2 "Unexpected arguments for '$command': $*" + exit 2 + fi + + [ -d /run/systemd/system ] || exit 0 + + users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') + + if [[ "$command" =~ reexec ]]; then + for user in $users; do + SYSTEMD_BUS_TIMEOUT=15s \ + systemctl --user -M "$user@" daemon-reexec & + done + wait + fi + + if [[ "$command" =~ reload ]]; then + for user in $users; do + SYSTEMD_BUS_TIMEOUT=15s \ + systemctl --user -M "$user@" daemon-reload & + done + wait + fi + + if [[ "$command" =~ restart ]]; then + for user in $users; do + SYSTEMD_BUS_TIMEOUT=15s \ + systemctl --user -M "$user@" reload-or-restart --marked & + done + wait + fi + ;; + + *) + echo >&2 "Unknown verb '$command'" + exit 3 + ;; +esac diff --git a/systemd.changes b/systemd.changes index 9b62d34d..3d4edde1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Tue May 9 13:59:56 UTC 2023 - Franck Bui + +- Provide (Lua-based) file triggers and adapt systemd.spec accordingly (boo#1133764) + + More specifically, file triggers handle automatically installations or updates + of files for sysusers, tmpfiles, hwdb, journal catalog, udev rules, sysctl and + binfmt. + + Therefore it makes a bunch of systemd rpm macros (such as %udev_hwdb_update, + %udev_rules_update, %journal_catalog_update, %tmpfiles_create, + %sysusers_create and so on) not needed anymore. However before considering + simplifying your spec files beware that these changes are not available in SLE + yet and will probably never reach the current releases (latest one being + SLE15-SP5 as of this writing). + + Macros dealing with unit restart/enabling (such as %systemd_pre, + %service_add_pre, %service_del_postun, ...) are still needed though. However + reloading of systemd instances (and thus restarting of units) are delayed + until the very end of the package install/update transaction and is now done + only once. + + Nevertheless to fully take advantage of file triggers, users have to activate + a specific zypper transaction backend which is still considered as + experimental, see bsc#1041742 for details. + +- Provide a (slighlty) customized version of systemd-update-helper. Some of the + systemd rpm macros rely now on the helper and delegate their work to it. Hence + we don't need to rebuild all packages anymore when the content of the rpm + macros must be updated/fixed. + ------------------------------------------------------------------- Tue May 9 12:37:31 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 7d8f15a9..d8a69e1e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -68,7 +68,7 @@ %bcond_without testsuite %endif # Kept to ease migrations toward SLE -%bcond_with filetriggers +%bcond_without filetriggers %bcond_with split_usr Name: systemd%{?mini} @@ -168,11 +168,13 @@ Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{archive_version}.tar.xz Source1: systemd-rpmlintrc Source2: systemd-user +Source3: systemd-update-helper %if %{with sysvcompat} Source4: systemd-sysv-install %endif Source5: tmpfiles-suse.conf Source6: baselibs.conf +Source7: triggers.systemd Source11: after-local.service Source14: kbd-model-map.legacy @@ -758,6 +760,7 @@ rm %{buildroot}%{_sbindir}/resolvconf rm %{buildroot}%{_mandir}/man1/resolvconf.1* %endif +install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-update-helper %if %{with sysvcompat} install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif @@ -1062,7 +1065,6 @@ fi %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh $1 || : %postun -# daemon-reload is implied by systemd_postun_with_restart %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service # Avoid restarting logind until fixed upstream (issue #1163) @@ -1083,8 +1085,10 @@ fi %post -n udev%{?mini} %regenerate_initrd_post +%if %{without filetriggers} %udev_hwdb_update %tmpfiles_create systemd-pstore.conf +%endif %systemd_post remote-cryptsetup.target %systemd_post systemd-pstore.service @@ -1134,7 +1138,9 @@ fi %endif %post container +%if %{without filetriggers} %tmpfiles_create systemd-nspawn.conf +%endif %if %{with machined} %systemd_post machines.target %ldconfig @@ -1182,8 +1188,10 @@ fi %post network %if %{with networkd} +%if %{without filetriggers} %sysusers_create systemd-network.conf %tmpfiles_create systemd-network.conf +%endif %systemd_post systemd-networkd.service %systemd_post systemd-networkd-wait-online.service %endif @@ -1218,7 +1226,9 @@ fi %systemd_pre systemd-portabled.service %post portable +%if %{without filetriggers} %tmpfiles_create portables.conf +%endif %systemd_post systemd-portabled.service %preun portable @@ -1251,6 +1261,11 @@ fi %systemd_postun systemd-userdbd.service systemd-userdbd.socket %endif +# File trigger definitions +%if %{without filetriggers} +%include %{SOURCE7} +%endif + %files %defattr(-,root,root) %include %{SOURCE200} diff --git a/triggers.systemd b/triggers.systemd new file mode 100644 index 00000000..0aeea905 --- /dev/null +++ b/triggers.systemd @@ -0,0 +1,126 @@ +# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ +# SPDX-License-Identifier: LGPL-2.1-or-later +# +# This file is part of systemd. +# Copyright © 2018 Neal Gompa + +# The contents of this are an example to be copied into systemd.spec. +# +# Minimum rpm version supported: 4.14.0 + +%transfiletriggerin -P 900900 -p -- /usr/lib/systemd/system /etc/systemd/system +-- This script will run after any package is initially installed or +-- upgraded. We care about the case where a package is initially +-- installed, because other cases are covered by the *un scriptlets, +-- so sometimes we will reload needlessly. +pid = posix.fork() +if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-reload-restart")) +elseif pid > 0 then + posix.wait(pid) +end + +%transfiletriggerin -P 900899 -p -- /usr/lib/systemd/user /etc/systemd/user +pid = posix.fork() +if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-reload-restart")) +elseif pid > 0 then + posix.wait(pid) +end + +%transfiletriggerpostun -P 1000100 -p -- /usr/lib/systemd/system /etc/systemd/system +-- On removal, we need to run daemon-reload after any units have been +-- removed. +-- On upgrade, we need to run daemon-reload after any new unit files +-- have been installed, but before %postun scripts in packages get +-- executed. +pid = posix.fork() +if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-reload")) +elseif pid > 0 then + posix.wait(pid) +end + +%transfiletriggerpostun -P 1000100 -p -- /usr/lib/systemd/system /etc/systemd/system +-- Execute daemon-reload in user managers. +pid = posix.fork() +if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-reload")) +elseif pid > 0 then + posix.wait(pid) +end + +%transfiletriggerpostun -P 10000 -p -- /usr/lib/systemd/system /etc/systemd/system +-- We restart remaining system services that should be restarted here. +pid = posix.fork() +if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-restart")) +elseif pid > 0 then + posix.wait(pid) +end + +%transfiletriggerpostun -P 9999 -p -- /usr/lib/systemd/user /etc/systemd/user +-- We restart remaining user services that should be restarted here. +pid = posix.fork() +if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-restart")) +elseif pid > 0 then + posix.wait(pid) +end + +%transfiletriggerin -P 100700 -p -- /usr/lib/sysusers.d +-- This script will process files installed in /usr/lib/sysusers.d to create +-- specified users automatically. The priority is set such that it +-- will run before the tmpfiles file trigger. +assert(rpm.execute("systemd-sysusers")) + +%if %{without bootstrap} +%transfiletriggerin -P 1000700 -n udev -p -- /usr/lib/udev/hwdb.d +-- This script will automatically invoke hwdb update if files have been +-- installed or updated in /usr/lib/udev/hwdb.d. +assert(rpm.execute("systemd-hwdb", "update")) +%endif + +%transfiletriggerin -P 1000700 -p -- /usr/lib/systemd/catalog +-- This script will automatically invoke journal catalog update if files +-- have been installed or updated in /usr/lib/systemd/catalog. +assert(rpm.execute("journalctl", "--update-catalog")) + +%transfiletriggerin -P 1000700 -p -- /usr/lib/binfmt.d +-- This script will automatically apply binfmt rules if files have been +-- installed or updated in /usr/lib/binfmt.d. +if posix.access("/run/systemd/system") then + pid = posix.fork() + if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-binfmt")) + elseif pid > 0 then + posix.wait(pid) + end +end + +%transfiletriggerin -P 1000600 -p -- /usr/lib/tmpfiles.d +-- This script will process files installed in /usr/lib/tmpfiles.d to create +-- tmpfiles automatically. The priority is set such that it will run +-- after the sysusers file trigger, but before any other triggers. +assert(rpm.execute("systemd-tmpfiles", "--create")) + +%if %{without bootstrap} +%transfiletriggerin -P 1000600 -n udev -p -- /usr/lib/udev/rules.d +-- This script will automatically update udev with new rules if files +-- have been installed or updated in /usr/lib/udev/rules.d. +if posix.access("/run/udev/control") then + assert(rpm.execute("udevadm", "control", "--reload")) +end +%endif + +%transfiletriggerin -P 1000500 -p -- /usr/lib/sysctl.d +-- This script will automatically apply sysctl rules if files have been +-- installed or updated in /usr/lib/sysctl.d. +if posix.access("/run/systemd/system") then + pid = posix.fork() + if pid == 0 then + assert(posix.exec("/usr/lib/systemd/systemd-sysctl")) + elseif pid > 0 then + posix.wait(pid) + end +end From 4f8a2eddf87d38185fc3aebec329eb7cc6ee664ad4bc4e169bc4c77ee1cd60d8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 9 May 2023 14:28:15 +0000 Subject: [PATCH 847/991] - Move more packaging fixups in the fixlet script. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1391 --- fixlet-systemd-post.sh | 63 +++++++++++++++++++++++++++++++++++++----- systemd.changes | 5 ++++ systemd.spec | 29 ------------------- 3 files changed, 61 insertions(+), 36 deletions(-) diff --git a/fixlet-systemd-post.sh b/fixlet-systemd-post.sh index 185a5167..bfccf634 100644 --- a/fixlet-systemd-post.sh +++ b/fixlet-systemd-post.sh @@ -162,6 +162,10 @@ migrate_sysconfig_i18n() { migrate_keyboard; rv+=$? migrate_language; rv+=$? + if [ $rv -gt 0 ]; then + echo >&2 "Failed to migrate i18n settings from /etc/sysconfig, ignoring." + fi + return $rv } @@ -207,13 +211,58 @@ fix_pre_210() { done } -r=0 -fix_pre_210 || { - r=1 -} -migrate_sysconfig_i18n || { - echo >&2 "Failed to migrate i18n settings from /etc/sysconfig, continuing..." - r=1 +# +# /etc/machine-id might have been created writeable incorrectly (boo#1092269). +# +# Note: run at each package update. +# +fix_machine_id_perms() { + if [ "$(stat -c%a /etc/machine-id)" != 444 ]; then + echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." + chmod 444 /etc/machine-id + fi } +# +# v228 wrongly set world writable suid root permissions on timestamp files used +# by permanent timers. Fix the timestamps that might have been created by the +# affected versions of systemd (bsc#1020601). +# +# Note: run at each package update. +# +fix_bsc_1020601() { + for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do + chmod 0644 $stamp + done + + # Same for user lingering created by logind. + for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do + chmod 0644 $username + done +} + +# +# Due to the fact that DynamicUser= was turned ON during v235 and then switched +# back to off in v240, /var/lib/systemd/timesync might be a symlink pointing to +# /var/lib/private/systemd/timesync, which is inaccessible for systemd-timesync +# user as /var/lib/private is 0700 root:root, see +# https://github.com/systemd/systemd/issues/11329 for details. +# +# Note: only TW might be affected by this bug. +# Note: run at each package update. +# +fix_issue_11329() { + if [ -L %{_localstatedir}/lib/systemd/timesync ]; then + rm %{_localstatedir}/lib/systemd/timesync + mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync + fi +} + +r=0 +fix_machine_id_perms || r=1 +fix_pre_210 || r=1 +migrate_sysconfig_i18n || r=1 +fix_bsc_1020601 || r=1 +fix_issue_11329 || r=1 + exit $r diff --git a/systemd.changes b/systemd.changes index 3d4edde1..37a133b8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue May 9 14:25:04 UTC 2023 - Franck Bui + +- Move more packaging fixups in the fixlet script. + ------------------------------------------------------------------- Tue May 9 13:59:56 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d8a69e1e..167dcf51 100644 --- a/systemd.spec +++ b/systemd.spec @@ -986,12 +986,6 @@ if [ $1 -eq 1 ]; then chmod 444 %{_sysconfdir}/machine-id fi -# /etc/machine-id might have been created writeable incorrectly (boo#1092269). -if [ "$(stat -c%a %{_sysconfdir}/machine-id)" != 444 ]; then - echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..." - chmod 444 %{_sysconfdir}/machine-id -fi - %if %{without bootstrap} pam-config --add --systemd || : # Run ldconfig for nss-systemd and nss-myhostname NSS modules. @@ -1037,29 +1031,6 @@ if [ $1 -gt 1 ]; then %systemd_post systemd-journald-audit.socket fi -# v228 wrongly set world writable suid root permissions on timestamp files used -# by permanent timers. Fix the timestamps that might have been created by the -# affected versions of systemd (bsc#1020601). -for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do - chmod 0644 $stamp -done - -# Same for user lingering created by logind. -for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do - chmod 0644 $username -done - -# Due to the fact that DynamicUser= was turned ON during v235 and then switched -# back to off in v240, /var/lib/systemd/timesync might be a symlink pointing to -# /var/lib/private/systemd/timesync, which is inaccessible for systemd-timesync -# user as /var/lib/private is 0700 root:root, see -# https://github.com/systemd/systemd/issues/11329 for details. Note: only TW -# users might be affected by this bug. -if [ -L %{_localstatedir}/lib/systemd/timesync ]; then - rm %{_localstatedir}/lib/systemd/timesync - mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync -fi - # Run the hacks/fixups to clean up old garbages left by (very) old versions of # systemd. %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh $1 || : From fdc1c67320c9821b60891fd5d4a7cea2991b548a2b1c8e04bc342f0c3581f588 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 23 May 2023 08:03:15 +0000 Subject: [PATCH 848/991] really enable file trigger (sigh) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1392 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 167dcf51..2dc5ad78 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1233,7 +1233,7 @@ fi %endif # File trigger definitions -%if %{without filetriggers} +%if %{with filetriggers} %include %{SOURCE7} %endif From 51ccc3bb3e1013ef95a683c25b161d533b5774b4a5eb0a376599d3a7072a788e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 1 Jun 2023 15:56:32 +0000 Subject: [PATCH 849/991] - Reexecute user managers on package updates. For now we send signal to user instances to trigger their reexecution. It's asynchronous but it shouldn't cause any problem in practice and it's probably safer than triggering reexecution with "systemctl --user -M 1000@ daemon-reexec" command. The latter command creates a new PAM session behind the scene bringing with it the known issue (upstream issue #8598) with "(sd-pam)" helper process when the PAM session is being closed. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1393 --- systemd-update-helper | 27 ++++++++++++++++++--------- systemd.changes | 12 ++++++++++++ systemd.spec | 35 +++++++++++------------------------ triggers.systemd | 2 +- 4 files changed, 42 insertions(+), 34 deletions(-) diff --git a/systemd-update-helper b/systemd-update-helper index 3cc7909b..f48b6d58 100644 --- a/systemd-update-helper +++ b/systemd-update-helper @@ -121,7 +121,24 @@ case "$command" in fi ;; - user-reload-restart|user-reload|user-restart|user-reexec) + user-reexec) + if [ -n "$*" ]; then + echo >&2 "Unexpected arguments for '$command': $*" + exit 2 + fi + + [ -d /run/systemd/system ] || exit 0 + + # Reexecute user manager instances (if any). It is asynchronous but it + # shouldn't be a problem in practice because systemd main package is not + # shipping any user services currently. A problem would arise only if a + # new version of a user service relied on an option that would be only + # understood by the latest version of the user manager and the user unit + # would be restarted before the user manager get reexecuted. + systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" + ;; + + user-reload-restart|user-reload|user-restart) if [ -n "$*" ]; then echo >&2 "Unexpected arguments for '$command': $*" exit 2 @@ -131,14 +148,6 @@ case "$command" in users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') - if [[ "$command" =~ reexec ]]; then - for user in $users; do - SYSTEMD_BUS_TIMEOUT=15s \ - systemctl --user -M "$user@" daemon-reexec & - done - wait - fi - if [[ "$command" =~ reload ]]; then for user in $users; do SYSTEMD_BUS_TIMEOUT=15s \ diff --git a/systemd.changes b/systemd.changes index 37a133b8..8585e7d1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Jun 1 15:21:54 UTC 2023 - Franck Bui + +- Reexecute user managers on package updates. + + For now we send signal to user instances to trigger their reexecution. It's + asynchronous but it shouldn't cause any problem in practice and it's probably + safer than triggering reexecution with "systemctl --user -M 1000@ + daemon-reexec" command. The latter command creates a new PAM session behind + the scene bringing with it the known issue (upstream issue #8598) with + "(sd-pam)" helper process when the PAM session is being closed. + ------------------------------------------------------------------- Tue May 9 14:25:04 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2dc5ad78..256e6960 100644 --- a/systemd.spec +++ b/systemd.spec @@ -976,14 +976,18 @@ if [ $1 -gt 1 ]; then fi %post -# Make /etc/machine-id an empty file during package installation. On the first -# boot, machine-id is initialized and either committed (if /etc/ is writable) or -# the system/image runs with a transient machine ID, that changes on each boot -# (if the image is read-only). This is especially important for appliance builds -# to avoid an identical machine ID in all images. if [ $1 -eq 1 ]; then + # Make /etc/machine-id an empty file during package installation. On the + # first boot, machine-id is initialized and either committed (if /etc/ + # is writable) or the system/image runs with a transient machine ID, + # that changes on each boot (if the image is read-only). This is + # important for appliance builds to avoid an identical machine ID in all + # images. touch %{_sysconfdir}/machine-id chmod 444 %{_sysconfdir}/machine-id + + # Persistent journal is the default + mkdir -p %{_localstatedir}/log/journal fi %if %{without bootstrap} @@ -993,25 +997,8 @@ pam-config --add --systemd || : %endif systemctl daemon-reexec || : - -# Reexecute user manager instances (if any). It is asynchronous but it shouldn't -# be a problem in practice: a problem would arise only if the new version of a -# user service has a brand new option that is only understood by the latest -# version of the user manager and the user service is started before the user -# manager get reexecuted. But this case is very unlikely especially since we -# don't restart any user service for now. -# -# Before doing this, we unfortunately have to wait until users will reexec their -# user manager (by either rebooting or restarting their session) to a version -# that supports SIGRTMIN+25 otherwise sending the signal to an old version will -# kill the manager which means tearing down the user session. -# -# systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service" || : - -if [ $1 -eq 1 ]; then - # Persistent journal is the default - mkdir -p %{_localstatedir}/log/journal -fi +# Reexecute the user managers (if any) +%{_systemd_util_dir}/systemd-update-helper user-reexec || : %if %{without filetriggers} # During package installation, the followings are for config files shipped by diff --git a/triggers.systemd b/triggers.systemd index 0aeea905..1c13a31e 100644 --- a/triggers.systemd +++ b/triggers.systemd @@ -1,4 +1,4 @@ -# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ +# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- # SPDX-License-Identifier: LGPL-2.1-or-later # # This file is part of systemd. From fc3530d75c45465ed8049573a2647e8245fc0fa004497fafcda75af8f554008c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 1 Jun 2023 16:07:57 +0000 Subject: [PATCH 850/991] - Import commit 07bb12a282b0ea378850934c4a76008b448b8bad (merge of v253.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/25aec157888f7aa9a36726962fcbbf2c74ead440...07bb12a282b0ea378850934c4a76008b448b8bad OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1394 --- systemd-v253.4+suse.28.g25aec15788.tar.xz | 3 --- systemd-v253.5+suse.29.g07bb12a282.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v253.4+suse.28.g25aec15788.tar.xz create mode 100644 systemd-v253.5+suse.29.g07bb12a282.tar.xz diff --git a/systemd-v253.4+suse.28.g25aec15788.tar.xz b/systemd-v253.4+suse.28.g25aec15788.tar.xz deleted file mode 100644 index 6f770326..00000000 --- a/systemd-v253.4+suse.28.g25aec15788.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b619c2dbcc175b630519a1e84553f744ae003b49b031c83ee4cdbfd9226701fe -size 8216304 diff --git a/systemd-v253.5+suse.29.g07bb12a282.tar.xz b/systemd-v253.5+suse.29.g07bb12a282.tar.xz new file mode 100644 index 00000000..f3a89298 --- /dev/null +++ b/systemd-v253.5+suse.29.g07bb12a282.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c46ef61c3b92f4a83c203bf5961c1d6ca50fddbd8d97c59060feae0f04dc24ee +size 8218940 diff --git a/systemd.changes b/systemd.changes index 8585e7d1..c0c5f82e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jun 1 15:58:24 UTC 2023 - Franck Bui + +- Import commit 07bb12a282b0ea378850934c4a76008b448b8bad (merge of v253.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/25aec157888f7aa9a36726962fcbbf2c74ead440...07bb12a282b0ea378850934c4a76008b448b8bad + ------------------------------------------------------------------- Thu Jun 1 15:21:54 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 256e6960..dc1958ec 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.28.g25aec15788 +%define archive_version +suse.29.g07bb12a282 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -73,7 +73,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.4 +Version: 253.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 3dede0e3d99563a608ac175d92023110b2ae6a2d62f7d1404840e8fb326dde97 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 16 Jun 2023 14:42:32 +0000 Subject: [PATCH 851/991] - Make sure to skip the call to systemd-tmpfile in the file-triggers when running on transaction systems OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1395 --- systemd.changes | 6 ++++++ triggers.systemd | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index c0c5f82e..5aa4e43c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jun 16 14:38:33 UTC 2023 - Franck Bui + +- Make sure to skip the call to systemd-tmpfile in the file-triggers when + running on transaction systems + ------------------------------------------------------------------- Thu Jun 1 15:58:24 UTC 2023 - Franck Bui diff --git a/triggers.systemd b/triggers.systemd index 1c13a31e..7792e8ac 100644 --- a/triggers.systemd +++ b/triggers.systemd @@ -102,7 +102,9 @@ end -- This script will process files installed in /usr/lib/tmpfiles.d to create -- tmpfiles automatically. The priority is set such that it will run -- after the sysusers file trigger, but before any other triggers. -assert(rpm.execute("systemd-tmpfiles", "--create")) +if os.getenv("TRANSACTIONAL_UPDATE") == nil then + assert(rpm.execute("systemd-tmpfiles", "--create")) +endf %if %{without bootstrap} %transfiletriggerin -P 1000600 -n udev -p -- /usr/lib/udev/rules.d From f450a5fd76b5382aaf409ec156e93f84d4b3ffe3593d574ce2024fd25895a98a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jun 2023 11:04:49 +0000 Subject: [PATCH 852/991] - Temporarily add 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch until it's backported to the next stable release See https://github.com/systemd/systemd/pull/28000 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1396 --- ...ice-when-resetting-PID-also-reset-kn.patch | 41 +++++++++++++++++++ systemd.changes | 9 ++++ systemd.spec | 1 + 3 files changed, 51 insertions(+) create mode 100644 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch diff --git a/5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch b/5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch new file mode 100644 index 00000000..aedd52d9 --- /dev/null +++ b/5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch @@ -0,0 +1,41 @@ +From 996b00ede87d6a870332e63974a7d4def3c2f1b0 Mon Sep 17 00:00:00 2001 +From: msizanoen +Date: Mon, 12 Jun 2023 10:30:12 +0700 +Subject: [PATCH 5002/5002] Revert "core/service: when resetting PID also reset + known flag" + +This reverts commit ff32060f2ed37b68dc26256b05e2e69013b0ecfe. + +This change is incorrect as we don't want to mark the PID as invalid but +only mark it as dead. + +The change in question also breaks user level socket activation for +`podman.service` as the termination of the main `podman system service` +process is not properly handled, causing any application accessing the +socket to hang. + +This is because the user-level `podman.service` unit also hosts two +non-main processes: `rootlessport` and `rootlessport-child` which causes +the `cgroup_good` check to still succeed. + +The original submitter of this commit is recommended to find another +more correct way to fix the cgroupsv1 issue on CentOS 8. +--- + src/core/service.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/core/service.c b/src/core/service.c +index 171e091dff..cecdd3bf50 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -3752,7 +3752,6 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { + return; + + s->main_pid = 0; +- s->main_pid_known = false; + exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status); + + if (s->main_command) { +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 5aa4e43c..d0349f42 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jun 20 07:05:34 UTC 2023 - Franck Bui + +- Temporarily add + 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch until it's + backported to the next stable release + + See https://github.com/systemd/systemd/pull/28000 + ------------------------------------------------------------------- Fri Jun 16 14:38:33 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dc1958ec..8d878b4b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -216,6 +216,7 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # will be removed as soon as a proper fix will be merged by upstream. Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch +Patch5002: 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 6bdc7a067a11f91daeda84ba6d00bcc8e7c55d7397685c8ee4f59991505f2d41 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Jun 2023 15:55:18 +0000 Subject: [PATCH 853/991] - file-triggers: skip the call to systemd-tmpfiles in chroot too. That way we ensure that packages that really need the tmpfiles in advance to use the right API which is %tmpfiles_create_package. - file-triggers: to be consistent with what we already does with tmpfiles, we skip the call to systemd-sysusers and delay system user creations until the next reboot. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1397 --- systemd.changes | 19 +++++++++++++++++-- triggers.systemd | 8 ++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index d0349f42..6e86b09a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jun 20 15:46:04 UTC 2023 - Franck Bui + +- file-triggers: skip the call to systemd-tmpfiles in chroot too. That way we + ensure that packages that really need the tmpfiles in advance to use the right + API which is %tmpfiles_create_package. + +- file-triggers: to be consistent with what we already does with tmpfiles, we + skip the call to systemd-sysusers and delay system user creations until the + next reboot. + ------------------------------------------------------------------- Tue Jun 20 07:05:34 UTC 2023 - Franck Bui @@ -10,8 +21,12 @@ Tue Jun 20 07:05:34 UTC 2023 - Franck Bui ------------------------------------------------------------------- Fri Jun 16 14:38:33 UTC 2023 - Franck Bui -- Make sure to skip the call to systemd-tmpfile in the file-triggers when - running on transaction systems +- file-triggers: make sure to skip the call to systemd-tmpfile in the + file-triggers when running on transaction systems (bsc#1212449) + + systemd-tmpfiles usually modifies paths that are not supposed to change during + transactional updates (e.g. /var, /run). On transaction systems changes will + happen on the next reboot. ------------------------------------------------------------------- Thu Jun 1 15:58:24 UTC 2023 - Franck Bui diff --git a/triggers.systemd b/triggers.systemd index 7792e8ac..74621f94 100644 --- a/triggers.systemd +++ b/triggers.systemd @@ -72,7 +72,10 @@ end -- This script will process files installed in /usr/lib/sysusers.d to create -- specified users automatically. The priority is set such that it -- will run before the tmpfiles file trigger. -assert(rpm.execute("systemd-sysusers")) +-- Note: /run is never mounted during transactional updates. +if posix.access("/run/systemd/system") then + assert(rpm.execute("systemd-sysusers")) +end %if %{without bootstrap} %transfiletriggerin -P 1000700 -n udev -p -- /usr/lib/udev/hwdb.d @@ -102,7 +105,8 @@ end -- This script will process files installed in /usr/lib/tmpfiles.d to create -- tmpfiles automatically. The priority is set such that it will run -- after the sysusers file trigger, but before any other triggers. -if os.getenv("TRANSACTIONAL_UPDATE") == nil then +-- Note: /run is never mounted during transactional updates. +if posix.access("/run/systemd/system") then assert(rpm.execute("systemd-tmpfiles", "--create")) endf From d1bee00c93c5e04d5aee782b135faaefc6eaddb85a3bf8d3d5cedc48d0f68152 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Jun 2023 09:32:38 +0000 Subject: [PATCH 854/991] - file-triggers: fix lua trigger priority for sysusers (bsc#1212376) A single digit in the priority used for sysusers got dropped somehow and upstream commit cd621954ed643c6ee0d869132293e26056a48826 forgot to restore it in the lua implementation. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1398 --- systemd.changes | 9 +++++++++ triggers.systemd | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 6e86b09a..546b3bd4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jun 21 09:28:29 UTC 2023 - Franck Bui + +- file-triggers: fix lua trigger priority for sysusers (bsc#1212376) + + A single digit in the priority used for sysusers got dropped somehow and + upstream commit cd621954ed643c6ee0d869132293e26056a48826 forgot to restore it + in the lua implementation. + ------------------------------------------------------------------- Tue Jun 20 15:46:04 UTC 2023 - Franck Bui diff --git a/triggers.systemd b/triggers.systemd index 74621f94..5a0e6c16 100644 --- a/triggers.systemd +++ b/triggers.systemd @@ -68,7 +68,7 @@ elseif pid > 0 then posix.wait(pid) end -%transfiletriggerin -P 100700 -p -- /usr/lib/sysusers.d +%transfiletriggerin -P 1000700 -p -- /usr/lib/sysusers.d -- This script will process files installed in /usr/lib/sysusers.d to create -- specified users automatically. The priority is set such that it -- will run before the tmpfiles file trigger. From 9cfbe73b24c9fa8062b4b28656e011c7fa92dbd36e7894164d5b5b02d7020d4b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Jun 2023 10:33:46 +0000 Subject: [PATCH 855/991] - Make sure to pre-install the groups systemd and udev rely on. This is needed when the tmpfiles are run at package installation time (i.e. when file-triggers are disabled). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1399 --- systemd.changes | 7 +++++++ systemd.spec | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 546b3bd4..610c1964 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jun 21 10:30:58 UTC 2023 - Franck Bui + +- Make sure to pre-install the groups systemd and udev rely on. This is needed + when the tmpfiles are run at package installation time (i.e. when + file-triggers are disabled). + ------------------------------------------------------------------- Wed Jun 21 09:28:29 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8d878b4b..2a8e6ce4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -68,7 +68,7 @@ %bcond_without testsuite %endif # Kept to ease migrations toward SLE -%bcond_without filetriggers +%bcond_with filetriggers %bcond_with split_usr Name: systemd%{?mini} @@ -137,7 +137,7 @@ Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding Requires: util-linux >= 2.27.1 -Requires: group(lock) +Requires(pre): group(lock) # This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl Recommends: libpcre2-8-0 Recommends: libbpf0 @@ -323,7 +323,7 @@ Requires: %{name} = %{version}-%{release} Requires: filesystem Requires: kmod Requires: system-group-hardware -Requires: group(kvm) +Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils From 7cf9a2fc29b199aa22e0d2e97f7e67871379dac2a48d165f5d3db4398e386d3c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Jun 2023 11:30:56 +0000 Subject: [PATCH 856/991] re-enable file-triggers which was mistakenly disabled by the previous commit OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1400 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 2a8e6ce4..51278d5d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -68,7 +68,7 @@ %bcond_without testsuite %endif # Kept to ease migrations toward SLE -%bcond_with filetriggers +%bcond_without filetriggers %bcond_with split_usr Name: systemd%{?mini} From 71b2d07e917ceb593b43058386d20ed6848eb6e95f8e853c1d8508e960f5e6a7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Jun 2023 11:34:13 +0000 Subject: [PATCH 857/991] fixlet-container-post.sh and systemd-nspawn.conf are only shipped when machined is enabled OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1401 --- systemd.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.spec b/systemd.spec index 51278d5d..e5e52419 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1097,14 +1097,14 @@ fi %endif %post container +%if %{with machined} %if %{without filetriggers} %tmpfiles_create systemd-nspawn.conf %endif -%if %{with machined} %systemd_post machines.target %ldconfig -%endif %{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || : +%endif %if %{with coredump} %post coredump From bf15b6e6e6cbe074e3e647cad3f7800947ffa1660e0f7dee79c8316bf856b396 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Jun 2023 12:38:22 +0000 Subject: [PATCH 858/991] when the tmpfiles are run at package installation time. Theoretically with only "Requires(pre): group()", rpm is allowed to drop the group at the end of the package installations hence let's keep "Requires: group()" dep. Note: this is also needed when (post)file-triggers are enabled due to the current limitation of the default libzypp transaction backend. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1402 --- systemd.changes | 8 ++++++-- systemd.spec | 13 +++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/systemd.changes b/systemd.changes index 610c1964..23682c86 100644 --- a/systemd.changes +++ b/systemd.changes @@ -2,8 +2,12 @@ Wed Jun 21 10:30:58 UTC 2023 - Franck Bui - Make sure to pre-install the groups systemd and udev rely on. This is needed - when the tmpfiles are run at package installation time (i.e. when - file-triggers are disabled). + when the tmpfiles are run at package installation time. Theoretically with + only "Requires(pre): group()", rpm is allowed to drop the group at the end of + the package installations hence let's keep "Requires: group()" dep. + + Note: this is also needed when (post)file-triggers are enabled due to the + current limitation of the default libzypp transaction backend. ------------------------------------------------------------------- Wed Jun 21 09:28:29 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e5e52419..7aeb2d5f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -137,15 +137,17 @@ Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding Requires: util-linux >= 2.27.1 +Requires: group(lock) +# The next dependency is also needed with file-triggers enabled due to the way +# the libzypp default transaction backend works. Requires(pre): group(lock) -# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl -Recommends: libpcre2-8-0 -Recommends: libbpf0 - Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 +# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl +Recommends: libpcre2-8-0 +Recommends: libbpf0 %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 @@ -323,6 +325,9 @@ Requires: %{name} = %{version}-%{release} Requires: filesystem Requires: kmod Requires: system-group-hardware +Requires: group(kvm) +# The next dependency is also needed with file-triggers enabled due to the way +# the libzypp default transaction backend works. Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils From 2fd40c132762a9f204bb79d3cd809d1b2496c2e6c5d3679639e3d49378c96d4d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 21 Jun 2023 12:57:45 +0000 Subject: [PATCH 859/991] fix a sentence in systemd.changes OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1403 --- systemd.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 23682c86..69e7e057 100644 --- a/systemd.changes +++ b/systemd.changes @@ -22,7 +22,7 @@ Wed Jun 21 09:28:29 UTC 2023 - Franck Bui Tue Jun 20 15:46:04 UTC 2023 - Franck Bui - file-triggers: skip the call to systemd-tmpfiles in chroot too. That way we - ensure that packages that really need the tmpfiles in advance to use the right + ensure that packages that really need the tmpfiles in advance use the right API which is %tmpfiles_create_package. - file-triggers: to be consistent with what we already does with tmpfiles, we From 1dd6f1594310c103db2b18eea72869d02de8d7ed0cc9c114c6fa88c66fdb4f70 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 26 Jun 2023 14:28:56 +0000 Subject: [PATCH 860/991] - file-triggers: fix a typo that sneaked in the script dealing with tmpfiles (bsc#1212733) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1404 --- systemd.changes | 6 ++++++ triggers.systemd | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 69e7e057..f491cadd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jun 26 14:26:28 UTC 2023 - Franck Bui + +- file-triggers: fix a typo that sneaked in the script dealing with tmpfiles + (bsc#1212733) + ------------------------------------------------------------------- Wed Jun 21 10:30:58 UTC 2023 - Franck Bui diff --git a/triggers.systemd b/triggers.systemd index 5a0e6c16..3d1095e5 100644 --- a/triggers.systemd +++ b/triggers.systemd @@ -108,7 +108,7 @@ end -- Note: /run is never mounted during transactional updates. if posix.access("/run/systemd/system") then assert(rpm.execute("systemd-tmpfiles", "--create")) -endf +end %if %{without bootstrap} %transfiletriggerin -P 1000600 -n udev -p -- /usr/lib/udev/rules.d From 781b64a6ba447d3490b959e2d72578920cbd3adc9d1376ca3c2e0daf11c5c710 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 27 Jun 2023 13:08:31 +0000 Subject: [PATCH 861/991] - Change the group owner of /run/lock from "lock" to "root" (bsc#1212674) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1405 --- systemd.changes | 5 +++++ systemd.spec | 4 ---- tmpfiles-suse.conf | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/systemd.changes b/systemd.changes index f491cadd..f08f4ae0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jun 27 13:02:40 UTC 2023 - Franck Bui + +- Change the group owner of /run/lock from "lock" to "root" (bsc#1212674) + ------------------------------------------------------------------- Mon Jun 26 14:26:28 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 7aeb2d5f..59bfa038 100644 --- a/systemd.spec +++ b/systemd.spec @@ -137,10 +137,6 @@ Requires: netcfg >= 11.5 Requires: systemd-default-settings-branding Requires: systemd-presets-branding Requires: util-linux >= 2.27.1 -Requires: group(lock) -# The next dependency is also needed with file-triggers enabled due to the way -# the libzypp default transaction backend works. -Requires(pre): group(lock) Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 90da5b70..a199e980 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -7,7 +7,7 @@ L+ /etc/mtab - - - - ../proc/self/mounts # FIXME: Might be moved to lockded. -d /run/lock 0775 root lock - +d /run/lock 0775 root root - -# FIXME: Should these one be moved to shadow ? +# FIXME: Move to shadow ? f /var/log/wtmp 0664 root utmp - From 1807b846d52e1061a35314f467922a3303efab48d5e09763d780123a903f24e6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 27 Jun 2023 15:07:34 +0000 Subject: [PATCH 862/991] Clarify some entries in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1406 --- systemd.changes | 13 ++++++++----- tmpfiles-suse.conf | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/systemd.changes b/systemd.changes index f08f4ae0..fb4b065b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -3,6 +3,10 @@ Tue Jun 27 13:02:40 UTC 2023 - Franck Bui - Change the group owner of /run/lock from "lock" to "root" (bsc#1212674) + This allows to drop the dependency "Requires: group(lock)" that was introduced + previously to make sure that the "lock" group will be kept around. This + dependency introduced a dependency cycle. + ------------------------------------------------------------------- Mon Jun 26 14:26:28 UTC 2023 - Franck Bui @@ -12,12 +16,11 @@ Mon Jun 26 14:26:28 UTC 2023 - Franck Bui ------------------------------------------------------------------- Wed Jun 21 10:30:58 UTC 2023 - Franck Bui -- Make sure to pre-install the groups systemd and udev rely on. This is needed - when the tmpfiles are run at package installation time. Theoretically with - only "Requires(pre): group()", rpm is allowed to drop the group at the end of - the package installations hence let's keep "Requires: group()" dep. +- Make sure to keep the groups systemd and udev rely on installed. Theoretically + with only "Requires(pre): group(x)", rpm is allowed to drop group 'x' at the + end of the package installations. - Note: this is also needed when (post)file-triggers are enabled due to the + Note: this is also needed when (trans)file-triggers are enabled due to the current limitation of the default libzypp transaction backend. ------------------------------------------------------------------- diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index a199e980..74acc896 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -6,7 +6,7 @@ # Legacy symlink. Maybe should be owned by util-linux ? L+ /etc/mtab - - - - ../proc/self/mounts -# FIXME: Might be moved to lockded. +# FIXME: move to filesystem ? d /run/lock 0775 root root - # FIXME: Move to shadow ? From 74b6393ed73774f45def5e912e38c46ca3188923f29692159a4a67da44b1e92d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 3 Jul 2023 15:17:58 +0000 Subject: [PATCH 863/991] - Split off sd-boot into separate "systemd-boot" subpackage OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1407 --- files.udev | 10 ++++++++++ files.uefi-boot | 12 ------------ systemd.changes | 5 +++++ systemd.spec | 37 ++++++++++++++++++++++++++++++++----- 4 files changed, 47 insertions(+), 17 deletions(-) diff --git a/files.udev b/files.udev index ed8b2918..6c8c3cc8 100644 --- a/files.udev +++ b/files.udev @@ -6,6 +6,8 @@ %if %{without bootstrap} %dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d %endif %dir %{_prefix}/lib/udev %if %{without bootstrap} @@ -23,16 +25,19 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_localstatedir}/lib/systemd/backlight %if %{without bootstrap} +%{_bindir}/kernel-install %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if %{without bootstrap} +%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc %if %{without bootstrap} +%{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm %endif %if %{without bootstrap} @@ -49,6 +54,7 @@ %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz +%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-backlight.8.gz %{_mandir}/man8/systemd-backlight@.service.8.gz %{_mandir}/man8/systemd-cryptsetup-generator.8.gz @@ -90,6 +96,10 @@ %{_mandir}/man8/systemd-volatile-root.8.gz %{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/udevadm.8.gz +%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_prefix}/lib/kernel/install.d/90-uki-copy.install %endif %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id diff --git a/files.uefi-boot b/files.uefi-boot index 7c50c27a..5c23e18b 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -1,18 +1,12 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%if %{with sd_boot} -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d %dir %{_systemd_util_dir}/boot %dir %{_systemd_util_dir}/boot/efi %{_bindir}/bootctl -%{_bindir}/kernel-install %if %{without bootstrap} %{_datadir}/bash-completion/completions/bootctl -%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/zsh/site-functions/_bootctl -%{_datadir}/zsh/site-functions/_kernel-install %{_mandir}/man1/bootctl.1.gz %{_mandir}/man5/loader.conf.5.gz %{_mandir}/man7/linuxaa64.efi.stub.7.gz @@ -22,16 +16,11 @@ %{_mandir}/man7/sd-stub.7.gz %{_mandir}/man7/systemd-boot.7.gz %{_mandir}/man7/systemd-stub.7.gz -%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-bless-boot-generator.8.gz %{_mandir}/man8/systemd-bless-boot.8.gz %{_mandir}/man8/systemd-bless-boot.service.8.gz %{_mandir}/man8/systemd-boot-random-seed.service.8.gz %endif -%{_prefix}/lib/kernel/install.conf -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%{_prefix}/lib/kernel/install.d/90-uki-copy.install # These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub @@ -42,4 +31,3 @@ %{_unitdir}/systemd-bless-boot.service %{_unitdir}/systemd-boot-random-seed.service %{_unitdir}/systemd-boot-update.service -%endif diff --git a/systemd.changes b/systemd.changes index fb4b065b..3b59dd5a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 3 15:16:38 UTC 2023 - Franck Bui + +- Split off sd-boot into separate "systemd-boot" subpackage + ------------------------------------------------------------------- Tue Jun 27 13:02:40 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 59bfa038..94de7e92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -312,10 +312,6 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -%if %{with sd_boot} -BuildRequires: gnu-efi -BuildRequires: pesign-obs-integration -%endif Requires: %{name} = %{version}-%{release} %systemd_requires Requires: filesystem @@ -389,6 +385,32 @@ Systemd tools to store and manage coredumps. Visit https://systemd.io/COREDUMP for more details. %endif +%if %{with sd_boot} +%package boot +Summary: A simple UEFI boot manager +License: LGPL-2.1-or-later +BuildRequires: gnu-efi +BuildRequires: pesign-obs-integration + +%description boot +This package provides systemd-boot (short: sd-boot), which is a simple UEFI boot +manager. It provides a textual menu to select the entry to boot and an editor +for the kernel command line. systemd-boot supports systems with UEFI firmware +only. + +This package also contains bootctl(1) and services to manage boot loaders that +implement the Boot Loader Specification[1] and the Boot Loader Interface[2] on +EFI systems, such as systemd-boot. + +Note that systemd-boot is not fully integrated in openSUSE distributions yet +hence its installation requires special care and manual steps when used on +systems supporting secure boot or snapshots. For more details, visit: +https://en.opensuse.org/Systemd-boot + +[1] https://uapi-group.org/specifications/specs/boot_loader_specification/ +[2] https://systemd.io/BOOT_LOADER_INTERFACE/ +%endif + %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later @@ -702,6 +724,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ -Dima=%{when_not bootstrap} \ + -Dkernel-install=%{when_not bootstrap} \ -Dlibcryptsetup-plugins=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ -Dnss-myhostname=%{when_not bootstrap} \ @@ -721,7 +744,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" \ -Dgnu-efi=%{when sd_boot} \ -Defi-color-highlight="black,green" \ - -Dkernel-install=%{when sd_boot} \ \ -Dsbat-distro="%{?sbat_distro}" \ -Dsbat-distro-summary="%{?sbat_distro_summary}" \ @@ -1233,7 +1255,12 @@ fi %files -n udev%{?mini} %defattr(-,root,root) %include %{SOURCE201} + +%if %{with sd_boot} +%files boot +%defattr(-,root,root) %include %{SOURCE206} +%endif %files container %defattr(-,root,root) From 78595742b466c4afe00604de454a23aa1c6289bc405fa5bd84886d8d1acdac74 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 11 Jul 2023 13:20:20 +0000 Subject: [PATCH 864/991] - Move a bunch of files from systemd to udev. These are pretty useless without block devices. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1408 --- files.systemd | 59 ----------------------------------------------- files.udev | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 6 +++++ systemd.spec | 1 + 4 files changed, 68 insertions(+), 59 deletions(-) diff --git a/files.systemd b/files.systemd index c49c7460..ec052ed4 100644 --- a/files.systemd +++ b/files.systemd @@ -3,9 +3,7 @@ # %config(noreplace) %{_sysconfdir}/systemd/journald.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/sleep.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} %if %{without bootstrap} @@ -48,7 +46,6 @@ %dir %{_systemd_util_dir}/rpm %dir %{_systemd_util_dir}/system-preset %dir %{_systemd_util_dir}/system-shutdown -%dir %{_systemd_util_dir}/system-sleep %dir %{_systemd_util_dir}/user %dir %{_systemd_util_dir}/user-generators %dir %{_systemd_util_dir}/user-preset @@ -85,11 +82,9 @@ %doc %{_tmpfilesdir}/README %exclude %{_sysconfdir}/sysctl.conf %ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id -%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf %ghost %config(noreplace) %{_sysconfdir}/locale.conf %ghost %config(noreplace) %{_sysconfdir}/machine-info -%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal %ghost %{_localstatedir}/lib/systemd/catalog/database %license LICENSE.GPL2 @@ -177,20 +172,17 @@ %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service -%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf -%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %{_datadir}/pkgconfig/systemd.pc %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy -%{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy %{_datadir}/systemd/kbd-model-map %{_datadir}/systemd/language-fallback-map %if %{without bootstrap} @@ -292,10 +284,8 @@ %{_mandir}/man5/org.freedesktop.systemd1.5.gz %{_mandir}/man5/org.freedesktop.timedate1.5.gz %{_mandir}/man5/os-release.5.gz -%{_mandir}/man5/sleep.conf.d.5.gz %{_mandir}/man5/sysctl.d.5.gz %{_mandir}/man5/system.conf.d.5.gz -%{_mandir}/man5/systemd-sleep.conf.5.gz %{_mandir}/man5/systemd-system.conf.5.gz %{_mandir}/man5/systemd-user-runtime-dir.5.gz %{_mandir}/man5/systemd-user.conf.5.gz @@ -321,13 +311,10 @@ %{_mandir}/man5/systemd.timer.5.gz %{_mandir}/man5/systemd.unit.5.gz %{_mandir}/man5/sysusers.d.5.gz -%{_mandir}/man5/timesyncd.conf.5.gz -%{_mandir}/man5/timesyncd.conf.d.5.gz %{_mandir}/man5/tmpfiles.d.5.gz %{_mandir}/man5/user-runtime-dir@.service.5.gz %{_mandir}/man5/user.conf.d.5.gz %{_mandir}/man5/user@.service.5.gz -%{_mandir}/man5/vconsole.conf.5.gz %{_mandir}/man7/bootup.7.gz %{_mandir}/man7/daemon.7.gz %{_mandir}/man7/file-hierarchy.7.gz @@ -365,13 +352,8 @@ %{_mandir}/man8/systemd-environment-d-generator.8.gz %{_mandir}/man8/systemd-getty-generator.8.gz %{_mandir}/man8/systemd-halt.service.8.gz -%{_mandir}/man8/systemd-hibernate-resume-generator.8.gz -%{_mandir}/man8/systemd-hibernate-resume.8.gz -%{_mandir}/man8/systemd-hibernate-resume@.service.8.gz -%{_mandir}/man8/systemd-hibernate.service.8.gz %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz -%{_mandir}/man8/systemd-hybrid-sleep.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -386,21 +368,11 @@ %{_mandir}/man8/systemd-logind.8.gz %{_mandir}/man8/systemd-logind.service.8.gz %{_mandir}/man8/systemd-machine-id-commit.service.8.gz -%{_mandir}/man8/systemd-mkswap@.service.8.gz %{_mandir}/man8/systemd-poweroff.service.8.gz -%{_mandir}/man8/systemd-quotacheck.8.gz -%{_mandir}/man8/systemd-quotacheck.service.8.gz -%{_mandir}/man8/systemd-random-seed.8.gz -%{_mandir}/man8/systemd-random-seed.service.8.gz %{_mandir}/man8/systemd-reboot.service.8.gz -%{_mandir}/man8/systemd-remount-fs.8.gz -%{_mandir}/man8/systemd-remount-fs.service.8.gz %{_mandir}/man8/systemd-run-generator.8.gz %{_mandir}/man8/systemd-shutdown.8.gz -%{_mandir}/man8/systemd-sleep.8.gz %{_mandir}/man8/systemd-socket-proxyd.8.gz -%{_mandir}/man8/systemd-suspend-then-hibernate.service.8.gz -%{_mandir}/man8/systemd-suspend.service.8.gz %{_mandir}/man8/systemd-sysctl.8.gz %{_mandir}/man8/systemd-sysctl.service.8.gz %{_mandir}/man8/systemd-sysext.8.gz @@ -412,8 +384,6 @@ %{_mandir}/man8/systemd-time-wait-sync.service.8.gz %{_mandir}/man8/systemd-timedated.8.gz %{_mandir}/man8/systemd-timedated.service.8.gz -%{_mandir}/man8/systemd-timesyncd.8.gz -%{_mandir}/man8/systemd-timesyncd.service.8.gz %{_mandir}/man8/systemd-tmpfiles-clean.service.8.gz %{_mandir}/man8/systemd-tmpfiles-clean.timer.8.gz %{_mandir}/man8/systemd-tmpfiles-setup.service.8.gz @@ -424,8 +394,6 @@ %{_mandir}/man8/systemd-update-utmp.service.8.gz %{_mandir}/man8/systemd-user-sessions.8.gz %{_mandir}/man8/systemd-user-sessions.service.8.gz -%{_mandir}/man8/systemd-vconsole-setup.8.gz -%{_mandir}/man8/systemd-vconsole-setup.service.8.gz %{_mandir}/man8/systemd-xdg-autostart-generator.8.gz %endif %{_modprobedir}/systemd.conf @@ -439,37 +407,29 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator -%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh %{_systemd_util_dir}/system-preset/99-default.preset %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent -%{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind -%{_systemd_util_dir}/systemd-quotacheck -%{_systemd_util_dir}/systemd-random-seed -%{_systemd_util_dir}/systemd-remount-fs %{_systemd_util_dir}/systemd-reply-password %{_systemd_util_dir}/systemd-shutdown -%{_systemd_util_dir}/systemd-sleep %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl %{_systemd_util_dir}/systemd-sysroot-fstab-check %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated -%{_systemd_util_dir}/systemd-timesyncd %{_systemd_util_dir}/systemd-update-done %{_systemd_util_dir}/systemd-update-helper %{_systemd_util_dir}/systemd-update-utmp %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions -%{_systemd_util_dir}/systemd-vconsole-setup %{_systemd_util_dir}/systemd-xdg-autostart-condition %{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator %{_systemd_util_dir}/user-preset/90-systemd.preset @@ -497,11 +457,9 @@ %{_systemd_util_dir}/user/xdg-desktop-autostart.target %{_systemdgeneratordir}/systemd-debug-generator %{_systemdgeneratordir}/systemd-getty-generator -%{_systemdgeneratordir}/systemd-hibernate-resume-generator %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator %{_sysusersdir}/systemd-journal.conf -%{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/provision.conf @@ -542,8 +500,6 @@ %{_unitdir}/getty@.service %{_unitdir}/graphical.target %{_unitdir}/halt.target -%{_unitdir}/hibernate.target -%{_unitdir}/hybrid-sleep.target %{_unitdir}/initrd-cleanup.service %{_unitdir}/initrd-fs.target %{_unitdir}/initrd-parse-etc.service @@ -583,15 +539,12 @@ %{_unitdir}/serial-getty@.service %{_unitdir}/shutdown.target %{_unitdir}/sigpwr.target -%{_unitdir}/sleep.target %{_unitdir}/slices.target %{_unitdir}/smartcard.target %{_unitdir}/sockets.target %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket %{_unitdir}/sound.target -%{_unitdir}/suspend-then-hibernate.target -%{_unitdir}/suspend.target %{_unitdir}/swap.target %{_unitdir}/sys-fs-fuse-connections.mount %{_unitdir}/sys-kernel-config.mount @@ -612,7 +565,6 @@ %{_unitdir}/sysinit.target.wants/systemd-journal-flush.service %{_unitdir}/sysinit.target.wants/systemd-journald.service %{_unitdir}/sysinit.target.wants/systemd-machine-id-commit.service -%{_unitdir}/sysinit.target.wants/systemd-random-seed.service %{_unitdir}/sysinit.target.wants/systemd-sysctl.service %{_unitdir}/sysinit.target.wants/systemd-sysusers.service %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service @@ -630,10 +582,7 @@ %{_unitdir}/systemd-boot-check-no-failures.service %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-halt.service -%{_unitdir}/systemd-hibernate-resume@.service -%{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hostnamed.service -%{_unitdir}/systemd-hybrid-sleep.service %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service %{_unitdir}/systemd-journald-audit.socket @@ -648,25 +597,17 @@ %{_unitdir}/systemd-logind.service %{_unitdir}/systemd-machine-id-commit.service %{_unitdir}/systemd-poweroff.service -%{_unitdir}/systemd-quotacheck.service -%{_unitdir}/systemd-random-seed.service -%{_unitdir}/systemd-reboot.service -%{_unitdir}/systemd-remount-fs.service -%{_unitdir}/systemd-suspend-then-hibernate.service -%{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service %{_unitdir}/systemd-sysusers.service %{_unitdir}/systemd-time-wait-sync.service %{_unitdir}/systemd-timedated.service -%{_unitdir}/systemd-timesyncd.service %{_unitdir}/systemd-tmpfiles-clean.service %{_unitdir}/systemd-tmpfiles-clean.timer %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service -%{_unitdir}/systemd-vconsole-setup.service %{_unitdir}/time-set.target %{_unitdir}/time-sync.target %{_unitdir}/timers.target diff --git a/files.udev b/files.udev index 6c8c3cc8..ad56d052 100644 --- a/files.udev +++ b/files.udev @@ -2,6 +2,8 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %config(noreplace) %{_sysconfdir}/systemd/pstore.conf +%config(noreplace) %{_sysconfdir}/systemd/sleep.conf +%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} %dir %{_libdir}/cryptsetup @@ -17,12 +19,15 @@ %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network +%dir %{_systemd_util_dir}/system-sleep %dir %{_udevhwdbdir} %dir %{_udevrulesdir} %doc %{_udevhwdbdir}/README %doc %{_udevrulesdir}/README +%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation +%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %{_localstatedir}/lib/systemd/backlight %if %{without bootstrap} %{_bindir}/kernel-install @@ -35,7 +40,10 @@ %{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/udevadm %endif +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %{_datadir}/pkgconfig/udev.pc +%{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy %if %{without bootstrap} %{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm @@ -50,7 +58,12 @@ %{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/pstore.conf.5.gz %{_mandir}/man5/pstore.conf.d.5.gz +%{_mandir}/man5/sleep.conf.d.5.gz +%{_mandir}/man5/systemd-sleep.conf.5.gz +%{_mandir}/man5/timesyncd.conf.5.gz +%{_mandir}/man5/timesyncd.conf.d.5.gz %{_mandir}/man5/udev.conf.5.gz +%{_mandir}/man5/vconsole.conf.5.gz %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz @@ -69,27 +82,46 @@ %{_mandir}/man8/systemd-growfs-root.service.8.gz %{_mandir}/man8/systemd-growfs.8.gz %{_mandir}/man8/systemd-growfs@.service.8.gz +%{_mandir}/man8/systemd-hibernate-resume-generator.8.gz +%{_mandir}/man8/systemd-hibernate-resume.8.gz +%{_mandir}/man8/systemd-hibernate-resume@.service.8.gz +%{_mandir}/man8/systemd-hibernate.service.8.gz %{_mandir}/man8/systemd-hwdb.8.gz +%{_mandir}/man8/systemd-hybrid-sleep.service.8.gz %{_mandir}/man8/systemd-integritysetup-generator.8.gz %{_mandir}/man8/systemd-integritysetup.8.gz %{_mandir}/man8/systemd-integritysetup@.service.8.gz %{_mandir}/man8/systemd-makefs.8.gz %{_mandir}/man8/systemd-makefs@.service.8.gz +%{_mandir}/man8/systemd-mkswap@.service.8.gz %{_mandir}/man8/systemd-modules-load.8.gz %{_mandir}/man8/systemd-modules-load.service.8.gz %{_mandir}/man8/systemd-network-generator.8.gz %{_mandir}/man8/systemd-network-generator.service.8.gz %{_mandir}/man8/systemd-pstore.8.gz %{_mandir}/man8/systemd-pstore.service.8.gz +%{_mandir}/man8/systemd-quotacheck.8.gz +%{_mandir}/man8/systemd-quotacheck.service.8.gz +%{_mandir}/man8/systemd-random-seed.8.gz +%{_mandir}/man8/systemd-random-seed.service.8.gz +%{_mandir}/man8/systemd-remount-fs.8.gz +%{_mandir}/man8/systemd-remount-fs.service.8.gz %{_mandir}/man8/systemd-rfkill.8.gz %{_mandir}/man8/systemd-rfkill.service.8.gz %{_mandir}/man8/systemd-rfkill.socket.8.gz +%{_mandir}/man8/systemd-sleep.8.gz +%{_mandir}/man8/systemd-suspend-then-hibernate.service.8.gz +%{_mandir}/man8/systemd-suspend.service.8.gz +%{_mandir}/man8/systemd-timesyncd.8.gz +%{_mandir}/man8/systemd-timesyncd.service.8.gz %{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz %{_mandir}/man8/systemd-udev-settle.service.8.gz %{_mandir}/man8/systemd-udevd-control.socket.8.gz %{_mandir}/man8/systemd-udevd-kernel.socket.8.gz %{_mandir}/man8/systemd-udevd.8.gz %{_mandir}/man8/systemd-udevd.service.8.gz +%{_mandir}/man8/systemd-vconsole-setup.8.gz +%{_mandir}/man8/systemd-vconsole-setup.service.8.gz %{_mandir}/man8/systemd-veritysetup-generator.8.gz %{_mandir}/man8/systemd-veritysetup.8.gz %{_mandir}/man8/systemd-veritysetup@.service.8.gz @@ -112,12 +144,14 @@ %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link +%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/systemd-backlight %if %{without bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif %{_systemd_util_dir}/systemd-fsck %{_systemd_util_dir}/systemd-growfs +%{_systemd_util_dir}/systemd-hibernate-resume %if %{without bootstrap} %{_systemd_util_dir}/systemd-integritysetup %endif @@ -127,8 +161,14 @@ %endif %{_systemd_util_dir}/systemd-network-generator %{_systemd_util_dir}/systemd-pstore +%{_systemd_util_dir}/systemd-quotacheck +%{_systemd_util_dir}/systemd-random-seed +%{_systemd_util_dir}/systemd-remount-fs %{_systemd_util_dir}/systemd-rfkill +%{_systemd_util_dir}/systemd-sleep +%{_systemd_util_dir}/systemd-timesyncd %{_systemd_util_dir}/systemd-udevd +%{_systemd_util_dir}/systemd-vconsole-setup %if %{without bootstrap} %{_systemd_util_dir}/systemd-veritysetup %endif @@ -138,10 +178,12 @@ %endif %{_systemdgeneratordir}/systemd-fstab-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator +%{_systemdgeneratordir}/systemd-hibernate-resume-generator %if %{without bootstrap} %{_systemdgeneratordir}/systemd-integritysetup-generator %{_systemdgeneratordir}/systemd-veritysetup-generator %endif +%{_sysusersdir}/systemd-timesync.conf %{_tmpfilesdir}/static-nodes-permissions.conf %{_tmpfilesdir}/systemd-pstore.conf %{_udevhwdbdir}/20-OUI.hwdb @@ -210,6 +252,10 @@ %if %{without bootstrap} %{_unitdir}/cryptsetup-pre.target %{_unitdir}/cryptsetup.target +%endif +%{_unitdir}/hibernate.target +%{_unitdir}/hybrid-sleep.target +%if %{without bootstrap} %{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif @@ -221,8 +267,11 @@ %{_unitdir}/remote-cryptsetup.target %{_unitdir}/remote-veritysetup.target %endif +%{_unitdir}/sleep.target %{_unitdir}/sockets.target.wants/systemd-udevd-control.socket %{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket +%{_unitdir}/suspend-then-hibernate.target +%{_unitdir}/suspend.target %if %{without bootstrap} %{_unitdir}/sysinit.target.wants/cryptsetup.target %{_unitdir}/sysinit.target.wants/integritysetup.target @@ -232,6 +281,7 @@ %if %{without bootstrap} %{_unitdir}/sysinit.target.wants/systemd-modules-load.service %endif +%{_unitdir}/sysinit.target.wants/systemd-random-seed.service %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service %{_unitdir}/sysinit.target.wants/systemd-udevd.service @@ -245,20 +295,31 @@ %{_unitdir}/systemd-fsck@.service %{_unitdir}/systemd-growfs-root.service %{_unitdir}/systemd-growfs@.service +%{_unitdir}/systemd-hibernate-resume@.service +%{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hwdb-update.service +%{_unitdir}/systemd-hybrid-sleep.service %if %{without bootstrap} %{_unitdir}/systemd-modules-load.service %endif %{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-pstore.service +%{_unitdir}/systemd-quotacheck.service +%{_unitdir}/systemd-random-seed.service +%{_unitdir}/systemd-reboot.service +%{_unitdir}/systemd-remount-fs.service %{_unitdir}/systemd-rfkill.service %{_unitdir}/systemd-rfkill.socket +%{_unitdir}/systemd-suspend-then-hibernate.service +%{_unitdir}/systemd-suspend.service +%{_unitdir}/systemd-timesyncd.service %{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-udev-settle.service %{_unitdir}/systemd-udev-trigger.service %{_unitdir}/systemd-udevd-control.socket %{_unitdir}/systemd-udevd-kernel.socket %{_unitdir}/systemd-udevd.service +%{_unitdir}/systemd-vconsole-setup.service %{_unitdir}/systemd-volatile-root.service %if %{without bootstrap} %{_unitdir}/veritysetup-pre.target diff --git a/systemd.changes b/systemd.changes index 3b59dd5a..b88a3076 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jul 11 12:56:59 UTC 2023 - Franck Bui + +- Move a bunch of files from systemd to udev. These are pretty useless without + block devices. + ------------------------------------------------------------------- Mon Jul 3 15:16:38 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 94de7e92..e8f10cd8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1070,6 +1070,7 @@ fi %if %{without filetriggers} %udev_hwdb_update %tmpfiles_create systemd-pstore.conf +%sysusers_create systemd-timesync.conf %endif %systemd_post remote-cryptsetup.target %systemd_post systemd-pstore.service From 4da1dd384395c2df50b2933cdb3efa753181c639dc7ed0e50b2452ef35679d15 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 11 Jul 2023 13:51:36 +0000 Subject: [PATCH 865/991] - Import commit 6458c066547eaadf0e9709e441ea36ad03faa860 (merge of v253.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/07bb12a282b0ea378850934c4a76008b448b8bad...6458c066547eaadf0e9709e441ea36ad03faa860 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1409 --- ...ice-when-resetting-PID-also-reset-kn.patch | 41 ------------------- files.udev | 1 + systemd-v253.5+suse.29.g07bb12a282.tar.xz | 3 -- systemd-v253.6+suse.30.g6458c06654.tar.xz | 3 ++ systemd.changes | 8 ++++ systemd.spec | 5 +-- 6 files changed, 14 insertions(+), 47 deletions(-) delete mode 100644 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch delete mode 100644 systemd-v253.5+suse.29.g07bb12a282.tar.xz create mode 100644 systemd-v253.6+suse.30.g6458c06654.tar.xz diff --git a/5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch b/5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch deleted file mode 100644 index aedd52d9..00000000 --- a/5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 996b00ede87d6a870332e63974a7d4def3c2f1b0 Mon Sep 17 00:00:00 2001 -From: msizanoen -Date: Mon, 12 Jun 2023 10:30:12 +0700 -Subject: [PATCH 5002/5002] Revert "core/service: when resetting PID also reset - known flag" - -This reverts commit ff32060f2ed37b68dc26256b05e2e69013b0ecfe. - -This change is incorrect as we don't want to mark the PID as invalid but -only mark it as dead. - -The change in question also breaks user level socket activation for -`podman.service` as the termination of the main `podman system service` -process is not properly handled, causing any application accessing the -socket to hang. - -This is because the user-level `podman.service` unit also hosts two -non-main processes: `rootlessport` and `rootlessport-child` which causes -the `cgroup_good` check to still succeed. - -The original submitter of this commit is recommended to find another -more correct way to fix the cgroupsv1 issue on CentOS 8. ---- - src/core/service.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/core/service.c b/src/core/service.c -index 171e091dff..cecdd3bf50 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -3752,7 +3752,6 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { - return; - - s->main_pid = 0; -- s->main_pid_known = false; - exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status); - - if (s->main_command) { --- -2.35.3 - diff --git a/files.udev b/files.udev index ad56d052..03e95f49 100644 --- a/files.udev +++ b/files.udev @@ -213,6 +213,7 @@ %{_udevhwdbdir}/70-mouse.hwdb %{_udevhwdbdir}/70-pda.hwdb %{_udevhwdbdir}/70-pointingstick.hwdb +%{_udevhwdbdir}/70-sound-card.hwdb %{_udevhwdbdir}/70-touchpad.hwdb %{_udevhwdbdir}/80-ieee1394-unit-function.hwdb %{_udevrulesdir}/50-udev-default.rules diff --git a/systemd-v253.5+suse.29.g07bb12a282.tar.xz b/systemd-v253.5+suse.29.g07bb12a282.tar.xz deleted file mode 100644 index f3a89298..00000000 --- a/systemd-v253.5+suse.29.g07bb12a282.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c46ef61c3b92f4a83c203bf5961c1d6ca50fddbd8d97c59060feae0f04dc24ee -size 8218940 diff --git a/systemd-v253.6+suse.30.g6458c06654.tar.xz b/systemd-v253.6+suse.30.g6458c06654.tar.xz new file mode 100644 index 00000000..f15e1646 --- /dev/null +++ b/systemd-v253.6+suse.30.g6458c06654.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62818a190a6d47eaf50cecbcc1683879933265f6bd3d1b5c6f9e7d36a5660097 +size 8256000 diff --git a/systemd.changes b/systemd.changes index b88a3076..28228450 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jul 11 13:32:04 UTC 2023 - Franck Bui + +- Import commit 6458c066547eaadf0e9709e441ea36ad03faa860 (merge of v253.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/07bb12a282b0ea378850934c4a76008b448b8bad...6458c066547eaadf0e9709e441ea36ad03faa860 + ------------------------------------------------------------------- Tue Jul 11 12:56:59 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e8f10cd8..c821f022 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.29.g07bb12a282 +%define archive_version +suse.30.g6458c06654 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -73,7 +73,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.5 +Version: 253.6 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -214,7 +214,6 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # will be removed as soon as a proper fix will be merged by upstream. Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch -Patch5002: 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 8964970f9254943aef65c6f5037606835794f8ae1c1fc4593cf67f920a657af9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 11 Jul 2023 16:38:41 +0000 Subject: [PATCH 866/991] reference bsc#1212434 in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1410 --- systemd.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.changes b/systemd.changes index 28228450..1ed94c66 100644 --- a/systemd.changes +++ b/systemd.changes @@ -825,6 +825,7 @@ Wed Jun 1 07:20:05 UTC 2022 - Franck Bui This includes the following bug fixes: - upstream commit e6b169418369abbc88c8f622e02e1d704a23d4ef (bsc#1137373 bsc#1181658 bsc#1194708 bsc#1195157 bsc#1197570) + - upstream commit 3a3b022d2cc112803ea7b9beea98bbcad110368a (bsc#1212434) * Rebased 0001-conf-parser-introduce-early-drop-ins.patch From 0eb8a02c5a6272c0af0b702ecf001be6598df2fe1a86a96f69f1c8e9aa4e73e4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 13 Jul 2023 08:53:07 +0000 Subject: [PATCH 867/991] document the removal of 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1411 --- systemd.changes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/systemd.changes b/systemd.changes index 1ed94c66..b1cb0814 100644 --- a/systemd.changes +++ b/systemd.changes @@ -6,6 +6,9 @@ Tue Jul 11 13:32:04 UTC 2023 - Franck Bui For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/07bb12a282b0ea378850934c4a76008b448b8bad...6458c066547eaadf0e9709e441ea36ad03faa860 +- Drop 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch, it's + been backported to v253.6. + ------------------------------------------------------------------- Tue Jul 11 12:56:59 UTC 2023 - Franck Bui From 4e51cc5e2f77d2dcc02c53d563930d2f95766949d9f862238f76f9a7e7c0790c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jul 2023 08:57:49 +0000 Subject: [PATCH 868/991] - Import commit 2dac0aff9ced1eca0cd11c24e264b33095ee5a5e (merge of v253.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/6458c066547eaadf0e9709e441ea36ad03faa860...2dac0aff9ced1eca0cd11c24e264b33095ee5a5e OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1412 --- systemd-v253.6+suse.30.g6458c06654.tar.xz | 3 --- systemd-v253.7+suse.31.g2dac0aff9c.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v253.6+suse.30.g6458c06654.tar.xz create mode 100644 systemd-v253.7+suse.31.g2dac0aff9c.tar.xz diff --git a/systemd-v253.6+suse.30.g6458c06654.tar.xz b/systemd-v253.6+suse.30.g6458c06654.tar.xz deleted file mode 100644 index f15e1646..00000000 --- a/systemd-v253.6+suse.30.g6458c06654.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:62818a190a6d47eaf50cecbcc1683879933265f6bd3d1b5c6f9e7d36a5660097 -size 8256000 diff --git a/systemd-v253.7+suse.31.g2dac0aff9c.tar.xz b/systemd-v253.7+suse.31.g2dac0aff9c.tar.xz new file mode 100644 index 00000000..49a57fdf --- /dev/null +++ b/systemd-v253.7+suse.31.g2dac0aff9c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f47ae5f0e4f04e059091c9099e9e8ab1bc531fa18ee8fc40347b0ee6eee98eb6 +size 8279192 diff --git a/systemd.changes b/systemd.changes index b1cb0814..2989c218 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jul 18 08:54:44 UTC 2023 - Franck Bui + +- Import commit 2dac0aff9ced1eca0cd11c24e264b33095ee5a5e (merge of v253.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/6458c066547eaadf0e9709e441ea36ad03faa860...2dac0aff9ced1eca0cd11c24e264b33095ee5a5e + ------------------------------------------------------------------- Tue Jul 11 13:32:04 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c821f022..78a43905 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.30.g6458c06654 +%define archive_version +suse.31.g2dac0aff9c %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -73,7 +73,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.6 +Version: 253.7 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 76eeee691b738c9021a72bc1efe3158f9df9007de1f2e1c26b749ca00a922d37 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 24 Jul 2023 14:38:08 +0000 Subject: [PATCH 869/991] - systemd-userdb is no more considered as experimental (jsc#PED-2668) As such it's been moved to the main package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1413 --- files.experimental | 7 ------- files.systemd | 11 +++++++++++ systemd.changes | 7 +++++++ systemd.spec | 13 ++++++------- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/files.experimental b/files.experimental index 0cea03ba..728a5c86 100644 --- a/files.experimental +++ b/files.experimental @@ -9,7 +9,6 @@ %{_bindir}/homectl %{_bindir}/oomctl %{_bindir}/systemd-repart -%{_bindir}/userdbctl %{_datadir}/bash-completion/completions/homectl %{_datadir}/bash-completion/completions/oomctl %{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml @@ -29,7 +28,6 @@ %{_mandir}/man1/systemd-measure.1.gz %{_mandir}/man1/ukify.1.gz %endif -%{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/homed.conf.5.gz %{_mandir}/man5/homed.conf.d.5.gz %{_mandir}/man5/oomd.conf.5.gz @@ -59,8 +57,6 @@ %{_mandir}/man8/systemd-sysupdate.8.gz %{_mandir}/man8/systemd-sysupdate.service.8.gz %{_mandir}/man8/systemd-sysupdate.timer.8.gz -%{_mandir}/man8/systemd-userdbd.8.gz -%{_mandir}/man8/systemd-userdbd.service.8.gz %{_pam_moduledir}/pam_systemd_home.so %{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service @@ -74,7 +70,6 @@ %{_systemd_util_dir}/systemd-pcrphase %endif %{_systemd_util_dir}/systemd-sysupdate -%{_systemd_util_dir}/systemd-userdbd %{_systemd_util_dir}/systemd-userwork %if %{with sd_boot} %{_systemd_util_dir}/ukify @@ -103,5 +98,3 @@ %{_unitdir}/systemd-sysupdate-reboot.timer %{_unitdir}/systemd-sysupdate.service %{_unitdir}/systemd-sysupdate.timer -%{_unitdir}/systemd-userdbd.service -%{_unitdir}/systemd-userdbd.socket diff --git a/files.systemd b/files.systemd index ec052ed4..a400ca8d 100644 --- a/files.systemd +++ b/files.systemd @@ -123,6 +123,7 @@ %{_bindir}/systemd-umount %{_bindir}/timedatectl %if %{without bootstrap} +%{_bindir}/userdbctl %{_datadir}/bash-completion/completions/busctl %{_datadir}/bash-completion/completions/hostnamectl %{_datadir}/bash-completion/completions/journalctl @@ -261,6 +262,7 @@ %{_mandir}/man1/systemd-umount.1.gz %{_mandir}/man1/systemd.1.gz %{_mandir}/man1/timedatectl.1.gz +%{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/binfmt.d.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz @@ -394,6 +396,8 @@ %{_mandir}/man8/systemd-update-utmp.service.8.gz %{_mandir}/man8/systemd-user-sessions.8.gz %{_mandir}/man8/systemd-user-sessions.service.8.gz +%{_mandir}/man8/systemd-userdbd.8.gz +%{_mandir}/man8/systemd-userdbd.service.8.gz %{_mandir}/man8/systemd-xdg-autostart-generator.8.gz %endif %{_modprobedir}/systemd.conf @@ -430,6 +434,9 @@ %{_systemd_util_dir}/systemd-update-utmp %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions +%if %{without bootstrap} +%{_systemd_util_dir}/systemd-userdbd +%endif %{_systemd_util_dir}/systemd-xdg-autostart-condition %{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator %{_systemd_util_dir}/user-preset/90-systemd.preset @@ -608,6 +615,10 @@ %{_unitdir}/systemd-update-done.service %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service +%if %{without bootstrap} +%{_unitdir}/systemd-userdbd.service +%{_unitdir}/systemd-userdbd.socket +%endif %{_unitdir}/time-set.target %{_unitdir}/time-sync.target %{_unitdir}/timers.target diff --git a/systemd.changes b/systemd.changes index 2989c218..bb74fbaf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Jul 24 14:29:35 UTC 2023 - Franck Bui + +- systemd-userdb is no more considered as experimental (jsc#PED-2668) + + As such it's been moved to the main package. + ------------------------------------------------------------------- Tue Jul 18 08:54:44 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 78a43905..ece961e1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -642,7 +642,7 @@ change without the usual backwards-compatibility promises. Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -Currently this package contains: homed, repart, userdbd, oomd, measure, +Currently this package contains: homed, repart, oomd, measure, pcrphase and ukify. In case you want to create a user with systemd-homed quickly, here are the steps @@ -733,6 +733,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ + -Duserdb=%{when_not bootstrap} \ \ -Dcoredump=%{when coredump} \ -Dimportd=%{when importd} \ @@ -760,7 +761,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Doomd=%{when experimental} \ -Drepart=%{when experimental} \ -Dsysupdate=%{when experimental} \ - -Duserdb=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ -Dinstall-tests=%{when testsuite} @@ -996,6 +996,7 @@ if [ $1 -gt 1 ]; then %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service %systemd_pre systemd-journald-audit.socket + %systemd_pre systemd-userdbd.socket fi %post @@ -1039,6 +1040,7 @@ if [ $1 -gt 1 ]; then %systemd_post getty@.service %systemd_post systemd-timesyncd.service %systemd_post systemd-journald-audit.socket + %systemd_post systemd-userdbd.socket fi # Run the hacks/fixups to clean up old garbages left by (very) old versions of @@ -1046,9 +1048,10 @@ fi %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh $1 || : %postun +# Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service %systemd_postun_with_restart systemd-timesyncd.service -# Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-userdbd.service %pre -n udev%{?mini} # Units listed below can be enabled at installation accoding to their preset @@ -1224,23 +1227,19 @@ fi %pre experimental %systemd_pre systemd-homed.service %systemd_pre systemd-oomd.service systemd-oomd.socket -%systemd_pre systemd-userdbd.service systemd-userdbd.socket %post experimental %sysusers_create systemd-oom.conf %systemd_post systemd-homed.service %systemd_post systemd-oomd.service systemd-oomd.socket -%systemd_post systemd-userdbd.service systemd-userdbd.socket %preun experimental %systemd_preun systemd-homed.service %systemd_preun systemd-oomd.service systemd-oomd.socket -%systemd_preun systemd-userdbd.service systemd-userdbd.socket %postun experimental %systemd_postun systemd-homed.service %systemd_postun systemd-oomd.service systemd-oomd.socket -%systemd_postun systemd-userdbd.service systemd-userdbd.socket %endif # File trigger definitions From c88822f78b67467b93e6e76f67792ca9dd36acb164590c16474e00677aed2db4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 25 Jul 2023 06:35:14 +0000 Subject: [PATCH 870/991] - systemd-homed is no more considered as experimental It's been moved to its own dedicated sub-package "systemd-homed". OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1414 --- files.experimental | 20 --------- files.homed | 23 ++++++++++ systemd.changes | 7 +++ systemd.spec | 105 +++++++++++++++++++++++++++++++-------------- 4 files changed, 102 insertions(+), 53 deletions(-) create mode 100644 files.homed diff --git a/files.experimental b/files.experimental index 728a5c86..5a5df8ef 100644 --- a/files.experimental +++ b/files.experimental @@ -1,44 +1,29 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/homed.conf %config(noreplace) %{_sysconfdir}/systemd/oomd.conf %if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants %endif -%{_bindir}/homectl %{_bindir}/oomctl %{_bindir}/systemd-repart -%{_datadir}/bash-completion/completions/homectl %{_datadir}/bash-completion/completions/oomctl -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml -%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.oom1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml -%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service %{_datadir}/dbus-1/system-services/org.freedesktop.oom1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.oom1.conf -%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy %{_datadir}/zsh/site-functions/_oomctl -%{_mandir}/man1/homectl.1.gz %{_mandir}/man1/oomctl.1.gz %if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz %{_mandir}/man1/ukify.1.gz %endif -%{_mandir}/man5/homed.conf.5.gz -%{_mandir}/man5/homed.conf.d.5.gz %{_mandir}/man5/oomd.conf.5.gz %{_mandir}/man5/oomd.conf.d.5.gz -%{_mandir}/man5/org.freedesktop.home1.5.gz %{_mandir}/man5/org.freedesktop.oom1.5.gz %{_mandir}/man5/repart.d.5.gz %{_mandir}/man5/sysupdate.d.5.gz -%{_mandir}/man8/pam_systemd_home.8.gz -%{_mandir}/man8/systemd-homed.8.gz -%{_mandir}/man8/systemd-homed.service.8.gz %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz %if %{with sd_boot} @@ -57,11 +42,8 @@ %{_mandir}/man8/systemd-sysupdate.8.gz %{_mandir}/man8/systemd-sysupdate.service.8.gz %{_mandir}/man8/systemd-sysupdate.timer.8.gz -%{_pam_moduledir}/pam_systemd_home.so %{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service -%{_systemd_util_dir}/systemd-homed -%{_systemd_util_dir}/systemd-homework %if %{with sd_boot} %{_systemd_util_dir}/systemd-measure %endif @@ -81,8 +63,6 @@ %{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service %{_unitdir}/sysinit.target.wants/systemd-pcrphase.service %endif -%{_unitdir}/systemd-homed-activate.service -%{_unitdir}/systemd-homed.service %{_unitdir}/systemd-oomd.service %{_unitdir}/systemd-oomd.socket %if %{with sd_boot} diff --git a/files.homed b/files.homed new file mode 100644 index 00000000..93a0b8a1 --- /dev/null +++ b/files.homed @@ -0,0 +1,23 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/homed.conf +%{_bindir}/homectl +%{_datadir}/bash-completion/completions/homectl +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml +%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy +%{_mandir}/man1/homectl.1.gz +%{_mandir}/man5/homed.conf.5.gz +%{_mandir}/man5/homed.conf.d.5.gz +%{_mandir}/man5/org.freedesktop.home1.5.gz +%{_mandir}/man8/pam_systemd_home.8.gz +%{_mandir}/man8/systemd-homed.8.gz +%{_mandir}/man8/systemd-homed.service.8.gz +%{_pam_moduledir}/pam_systemd_home.so +%{_systemd_util_dir}/systemd-homed +%{_systemd_util_dir}/systemd-homework +%{_unitdir}/systemd-homed-activate.service +%{_unitdir}/systemd-homed.service diff --git a/systemd.changes b/systemd.changes index bb74fbaf..834553fa 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jul 25 06:30:55 UTC 2023 - Franck Bui + +- systemd-homed is no more considered as experimental + + It's been moved to its own dedicated sub-package "systemd-homed". + ------------------------------------------------------------------- Mon Jul 24 14:29:35 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ece961e1..5f59a7a7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -38,6 +38,7 @@ %define mini -mini %bcond_without bootstrap %bcond_with coredump +%bcond_with homed %bcond_with importd %bcond_with journal_remote %bcond_with machined @@ -52,6 +53,7 @@ %define mini %nil %bcond_with bootstrap %bcond_without coredump +%bcond_without homed %bcond_without importd %bcond_without journal_remote %bcond_without machined @@ -188,6 +190,7 @@ Source205: files.sysvcompat Source206: files.uefi-boot Source207: files.experimental Source208: files.coredump +Source209: files.homed # # All changes backported from upstream are tracked by the git repository, which @@ -480,6 +483,43 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-resolve(8) manpage for more details. %endif +%if %{with homed} +%package homed +Summary: Home Area/User Account Manager +License: LGPL-2.1-or-later +Requires: %{name} = %{version}-%{release} +%systemd_requires +BuildRequires: pkgconfig(fdisk) +BuildRequires: pkgconfig(libcryptsetup) +BuildRequires: pkgconfig(libfido2) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(pwquality) +# These Recommends because some symbols of these libs are dlopen()ed by homed +Recommends: libfido2 +Recommends: libpwquality1 +Recommends: libqrencode4 + +%description homed +This package contains systemd-homed.service, a system service that manages home +directories of users. The home directories managed are self-contained, and thus +include the user's full metadata record in the home's data storage itself, +making them easy to migrate between machines; the user account and home +directory becoming the same concept. + +This package also includes homectl(1), a tool to interact with systemd-homed and +PAM module to automatically mount home directories on user login. + +See homectl(1) man page for instructions to create a new user account. + +A description of the various storage mechanisms implemented by systemd-homed can +be found at https://systemd.io/HOME_DIRECTORY/. + +Note that nss-systemd has still not been integrated into nsswitch and therefore +needs to be added manually into /etc/nsswitch.conf, see nss-systemd(8) man page +for an example on how to do that. +%endif + %if %{with portabled} %package portable Summary: Systemd tools for portable services @@ -488,9 +528,8 @@ Requires: %{name} = %{version}-%{release} %systemd_requires %description portable -Systemd tools to manage portable services. The feature is still -considered experimental so the package might change or vanish. -Use at own risk. +Systemd tools to manage portable services. The feature is still considered +experimental so the package might change or vanish. Use at own risk. More information can be found online: @@ -617,17 +656,8 @@ Requires: %{name} = %{version}-%{release} # Needed by ukify Requires: python3-pefile %systemd_requires -# These Recommends because some symbols of these libs are dlopen()ed by home stuff -Recommends: libfido2 -Recommends: libpwquality1 -Recommends: libqrencode4 -# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff -BuildRequires: pkgconfig(libfido2) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(pwquality) -# fdisk and openssl are build requirements for home stuff and repart +# fdisk is a build requirement for repart BuildRequires: pkgconfig(fdisk) -BuildRequires: pkgconfig(openssl) %description experimental This package contains optional extra services that are considered as previews @@ -642,24 +672,7 @@ change without the usual backwards-compatibility promises. Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -Currently this package contains: homed, repart, oomd, measure, -pcrphase and ukify. - -In case you want to create a user with systemd-homed quickly, here are the steps -you can follow: - - - Make sure the nss-systemd package is installed and added into - /etc/nsswitch.conf, see nss-systemd(8) man page for details - - - Integrate pam_systemd_home.so in your PAM stack. You can do that either by - following the instructions in pam_systemd_home(8) man page or by executing - `pam-config --add --systemd_home` command - - - Enable and start systemd-homed with `systemctl enable --now systemd-homed` - - - Create a user with `homectl create ` - - - Verify the previous steps with `getent passwd ` +Currently this package contains: repart, oomd, measure, pcrphase and ukify. Have fun (at your own risk). %endif @@ -736,6 +749,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Duserdb=%{when_not bootstrap} \ \ -Dcoredump=%{when coredump} \ + -Dhomed=%{when homed} \ -Dimportd=%{when importd} \ -Dmachined=%{when machined} \ -Dnetworkd=%{when networkd} \ @@ -757,7 +771,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Ddns-over-tls=%{when resolved openssl} \ -Dresolve=%{when resolved} \ \ - -Dhomed=%{when experimental} \ -Doomd=%{when experimental} \ -Drepart=%{when experimental} \ -Dsysupdate=%{when experimental} \ @@ -1206,6 +1219,26 @@ fi %endif %endif +%if %{with homed} +%pre homed +%systemd_pre systemd-homed.service + +%post homed +if [ $1 -eq 1 ]; then + pam-config --add --systemd-homed || : +fi +%systemd_post systemd-homed.service + +%preun homed +%systemd_preun systemd-homed.service +if [ $1 -eq 0 ]; then + pam-config --delete --systemd-homed || : +fi + +%postun homed +%systemd_postun_with_restart systemd-homed.service +%endif + %if %{with portabled} %pre portable %systemd_pre systemd-portabled.service @@ -1220,7 +1253,7 @@ fi %systemd_preun systemd-portabled.service %postun portable -%systemd_postun systemd-portabled.service +%systemd_postun_with_restart systemd-portabled.service %endif %if %{with experimental} @@ -1329,6 +1362,12 @@ fi %ghost %dir %{_localstatedir}/log/journal/remote %endif +%if %{with homed} +%files homed +%defattr(-,root,root) +%include %{SOURCE209} +%endif + %if %{with portabled} %files portable %defattr(-,root,root) From 5ae79415a293f4709b6041de68bc0d52e68cfa9e6ddcb33465542f2e19007109 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 25 Jul 2023 14:19:41 +0000 Subject: [PATCH 871/991] Reference bsc#1213575 in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1415 --- systemd.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 834553fa..4a99c44b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -850,7 +850,7 @@ Wed Jun 1 07:20:05 UTC 2022 - Franck Bui This includes the following bug fixes: - upstream commit e6b169418369abbc88c8f622e02e1d704a23d4ef (bsc#1137373 bsc#1181658 bsc#1194708 bsc#1195157 bsc#1197570) - - upstream commit 3a3b022d2cc112803ea7b9beea98bbcad110368a (bsc#1212434) + - upstream commit 3a3b022d2cc112803ea7b9beea98bbcad110368a (bsc#1212434 bsc#1213575) * Rebased 0001-conf-parser-introduce-early-drop-ins.patch From 367e962d5faf4e19a79e3238cab8fefb3ed22b598223297e0936850d17568b58 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 28 Jul 2023 14:57:10 +0000 Subject: [PATCH 872/991] - Drop 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch /etc/hostname is supposed to contain the static host name of the system. This patch was used to work around cases where users incorrectly save the FQDN instead. However this is incorrect and not consistent with what systemd-hostnamed does and what other distributions do. Also assuming that /etc/hostname will contain the system host name only removes any ambiguities since the host name can contain a period. /etc/hosts is usually where one sets the domain name by aliasing the host name to the FQDN. Note that the installer used to save the FQDN in /etc/hostname but this has been fixed since several years now (bsc#972463). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1416 --- ...-part-from-etc-hostname-when-setting.patch | 39 ------------------- systemd.changes | 18 +++++++++ systemd.spec | 9 ++--- 3 files changed, 22 insertions(+), 44 deletions(-) delete mode 100644 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch diff --git a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch b/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch deleted file mode 100644 index f7d958c4..00000000 --- a/0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c6ed74889adade0287ee609150611544d8d5c6d2 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Tue, 28 May 2013 15:17:35 +0200 -Subject: [PATCH 04/11] strip the domain part from /etc/hostname when setting - system host name - -[fbui: fixes bnc#820213] -[fbui: forwardported from bfd2462b8ddec591d953841ab22bb30bdc6f9085] -[fbui: adjust context and make sure that strip of the domain name is - only done when setting the system host name. Therefore it's - still possible to pass an FQDN to hostnamectl] -[fbui: I'm still not sure that it was the right thing to do. Other - possibility was to fix the installer to create a correct - /etc/hostname file. Need to investigate...] ---- - src/shared/hostname-setup.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/shared/hostname-setup.c b/src/shared/hostname-setup.c -index 511aa7d031..351d0e761d 100644 ---- a/src/shared/hostname-setup.c -+++ b/src/shared/hostname-setup.c -@@ -189,6 +189,13 @@ int hostname_setup(bool really) { - else - log_warning_errno(r, "Failed to read configured hostname: %m"); - } else { -+ char *domain; -+ -+ /* SUSE: strip the domain name */ -+ domain = strchr(b, '.'); -+ if (domain) -+ *domain = '\0'; -+ - hn = b; - source = HOSTNAME_STATIC; - } --- -2.26.2 - diff --git a/systemd.changes b/systemd.changes index 4a99c44b..646d4994 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Fri Jul 28 14:40:48 UTC 2023 - Franck Bui + +- Drop 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch + + /etc/hostname is supposed to contain the static host name of the system. This + patch was used to work around cases where users incorrectly save the FQDN + instead. However this is incorrect and not consistent with what + systemd-hostnamed does and what other distributions do. Also assuming that + /etc/hostname will contain the system host name only removes any ambiguities + since the host name can contain a period. + + /etc/hosts is usually where one sets the domain name by aliasing the host name + to the FQDN. + + Note that the installer used to save the FQDN in /etc/hostname but this has + been fixed since several years now (bsc#972463). + ------------------------------------------------------------------- Tue Jul 25 06:30:55 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 5f59a7a7..a25d7ecd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -202,13 +202,12 @@ Source209: files.homed # get rid of one of them ! # Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch -Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch -Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch +Patch2: 0001-conf-parser-introduce-early-drop-ins.patch +Patch3: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch %if %{with sysvcompat} -Patch8: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +Patch4: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif -Patch10: 0001-conf-parser-introduce-early-drop-ins.patch -Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for From 4ee6d80b89e9c38890451b4b0b4b5897c9e68082334b9acd750e40eabcadbb7a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 7 Aug 2023 08:07:39 +0000 Subject: [PATCH 873/991] make systemd-testsuite pull the new subpackage systemd-homed in OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1417 --- systemd.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/systemd.spec b/systemd.spec index a25d7ecd..1ac2dfce 100644 --- a/systemd.spec +++ b/systemd.spec @@ -615,6 +615,9 @@ Requires: systemd-coredump %if %{with experimental} Requires: systemd-experimental %endif +%if %{with homed} +Requires: systemd-homed +%endif %if %{with journal_remote} Requires: systemd-journal-remote %endif From c41b3fd909570943ac82163e3ff130f90addd806b77e1f47fa708d1251cd3b85 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 11 Aug 2023 08:48:02 +0000 Subject: [PATCH 874/991] - Import commit fcdb2dd2c921db3c6b7c28465dbda314f4469d17 (merge of v253.8) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/2dac0aff9ced1eca0cd11c24e264b33095ee5a5e...fcdb2dd2c921db3c6b7c28465dbda314f4469d17 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1418 --- systemd-v253.7+suse.31.g2dac0aff9c.tar.xz | 3 --- systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v253.7+suse.31.g2dac0aff9c.tar.xz create mode 100644 systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz diff --git a/systemd-v253.7+suse.31.g2dac0aff9c.tar.xz b/systemd-v253.7+suse.31.g2dac0aff9c.tar.xz deleted file mode 100644 index 49a57fdf..00000000 --- a/systemd-v253.7+suse.31.g2dac0aff9c.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f47ae5f0e4f04e059091c9099e9e8ab1bc531fa18ee8fc40347b0ee6eee98eb6 -size 8279192 diff --git a/systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz b/systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz new file mode 100644 index 00000000..8934d10b --- /dev/null +++ b/systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f98d7387f9ec510d76d955a6353a5033ca8102d624dbd0dbc0b0831743f09ce +size 8282492 diff --git a/systemd.changes b/systemd.changes index 646d4994..b5c083f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Aug 11 08:31:12 UTC 2023 - Franck Bui + +- Import commit fcdb2dd2c921db3c6b7c28465dbda314f4469d17 (merge of v253.8) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/2dac0aff9ced1eca0cd11c24e264b33095ee5a5e...fcdb2dd2c921db3c6b7c28465dbda314f4469d17 + ------------------------------------------------------------------- Fri Jul 28 14:40:48 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1ac2dfce..c832a68a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.31.g2dac0aff9c +%define archive_version +suse.32.gfcdb2dd2c9 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -75,7 +75,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.7 +Version: 253.8 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 1fa6c3fc5b6f400a8794fa264e467985f357d4f55f9e1a3a8bba8f8c5bc797df Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 11 Aug 2023 08:51:00 +0000 Subject: [PATCH 875/991] update the description of the udev sub-package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1419 --- systemd.spec | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/systemd.spec b/systemd.spec index c832a68a..3dd058bc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -352,11 +352,23 @@ Provides: udev = %{version}-%{release} %endif %description -n udev%{?mini} -Udev creates and removes device nodes in /dev for devices discovered or -removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in %{_udevrulesdir}/. Matching -rules may name a device node, create additional symlinks to the node, -call tools to initialize a device, or load needed kernel modules. +This package provides systemd-udevd. The udev daemon receives device uevents +directly from the kernel whenever it adds or removes a device from the system in +/dev, or it changes its state. When udev receives a device event, it matches its +configured set of rules, located in %{_udevrulesdir}/, against various device +attributes to identify the device. Rules that match may adjust device node +permissions, create meaningful symlink names or provide additional device +information to be stored in the udev database. + +The udev daemon may also rename network interfaces and perform various network +device configurations, see systemd.link(5) for more details. + +This package also provides various tools and services that operate on devices +exclusively. For example it contains systemd-cryptsetup to manage encrypted +block devices as well as systemd-growfs to instruct the kernel to grow the +mounted filesystem to full size of the underlying block device. + +This package shouldn't be necessary in containers. %package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information From f9d0cf843b3b10ac533dfa0ed4eea83ea7f8122a352aa562fa844b69de022135 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Aug 2023 10:29:27 +0000 Subject: [PATCH 876/991] - Upgrade to v254.1 (commit 208a21833b6953a2517a6c3f8f4849c6664b01be) See https://github.com/openSUSE/systemd/blob/SUSE/v254/NEWS for details. This includes the following bug fixes: - upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1203141) - upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340) - upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606) - upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185) * Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix for https://github.com/systemd/systemd/issues/26839 has been integrated in v254. * Drop 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch, it's part of v254. * Drop 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch, it's no more needed these days. * Rebase 0001-conf-parser-introduce-early-drop-ins.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1420 --- ...conf-parser-introduce-early-drop-ins.patch | 208 ++++++++---------- ...and-var-lock-bind-mount-if-they-aren.patch | 80 ------- ...pagate-stop-too-if-restart-is-issued.patch | 75 ------- files.devel | 19 ++ files.experimental | 3 + files.systemd | 14 +- files.sysvcompat | 4 - files.udev | 16 +- files.uefi-boot | 2 +- systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz | 3 - systemd-v254.1.tar.xz | 3 + systemd.changes | 26 +++ systemd.spec | 16 +- 13 files changed, 172 insertions(+), 297 deletions(-) delete mode 100644 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch delete mode 100644 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch delete mode 100644 systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz create mode 100644 systemd-v254.1.tar.xz diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 47f4da7c..2c13df9a 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -1,4 +1,4 @@ -From 77391d9baf86f10daf210ccf5527e0155a33fc73 Mon Sep 17 00:00:00 2001 +From 503da4e49107f6c20e3fce05506f8b107894a5af Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Jan 2021 14:57:08 +0100 Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins @@ -61,12 +61,12 @@ drop this feature at any time. Fixes: #2121 --- - src/shared/conf-parser.c | 55 ++++++++++-- - src/test/test-conf-parser.c | 166 +++++++++++++++++++++++++++++++++++- - 2 files changed, 215 insertions(+), 6 deletions(-) + src/shared/conf-parser.c | 56 ++++++++++++++-- + src/test/test-conf-parser.c | 125 +++++++++++++++++++++++++++++++++++- + 2 files changed, 175 insertions(+), 6 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index 29051ca0e3..72935030ea 100644 +index ec4b53b2e8..982172dfa0 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c @@ -477,6 +477,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s @@ -123,61 +123,68 @@ index 29051ca0e3..72935030ea 100644 + return 0; +} + - /* Parse each config file in the directories specified as nulstr. */ - int config_parse_many_nulstr( - const char *conf_file, -@@ -544,15 +580,19 @@ int config_parse_many_nulstr( - void *userdata, - Hashmap **ret_stats_by_path) { + /* Parse one main config file located in /etc/systemd and its drop-ins, which is what all systemd daemons + * do. */ + int config_parse_config_file( +@@ -543,7 +579,8 @@ int config_parse_config_file( + ConfigParseFlags flags, + void *userdata) { -- _cleanup_strv_free_ char **files = NULL; -+ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL; +- _cleanup_strv_free_ char **dropins = NULL, **dropin_dirs = NULL; ++ _cleanup_strv_free_ char **dropins = NULL, **early_dropins = NULL, **dropin_dirs = NULL; ++ _cleanup_strv_free_ char **files = NULL; + char **conf_paths = CONF_PATHS_STRV(""); int r; - r = conf_files_list_nulstr(&files, ".conf", NULL, 0, conf_file_dirs); - if (r < 0) - return r; +@@ -571,13 +608,17 @@ int config_parse_config_file( + dropin_dirs[i++] = d; + } -- return config_parse_many_files(STRV_MAKE_CONST(conf_file), -- files, sections, lookup, table, flags, userdata, -+ r = config_parse_split_conf_files(files, &early_files, &late_files); +- r = conf_files_list_strv(&dropins, ".conf", NULL, 0, (const char**) dropin_dirs); ++ r = conf_files_list_strv(&files, ".conf", NULL, 0, (const char**) dropin_dirs); + if (r < 0) + return r; + -+ return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files, -+ sections, lookup, table, flags, userdata, - ret_stats_by_path); ++ r = config_parse_split_conf_files(files, &early_dropins, &dropins); + if (r < 0) + return r; + + const char *sysconf_file = strjoina(PKGSYSCONFDIR, "/", conf_file); + +- return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), dropins, ++ return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), early_dropins, dropins, + sections, lookup, table, flags, userdata, NULL); } -@@ -590,6 +630,7 @@ int config_parse_many( +@@ -595,6 +636,7 @@ int config_parse_many( Hashmap **ret_stats_by_path, char ***ret_dropin_files) { -+ _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL; ++ _cleanup_strv_free_ char **early_dropins = NULL, **dropins = NULL; _cleanup_strv_free_ char **files = NULL; int r; -@@ -602,12 +643,16 @@ int config_parse_many( +@@ -607,12 +649,16 @@ int config_parse_many( if (r < 0) return r; - r = config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); -+ r = config_parse_split_conf_files(files, &early_files, &late_files); ++ r = config_parse_split_conf_files(files, &early_dropins, &dropins); if (r < 0) return r; -+ r = config_parse_many_files(conf_files, early_files, late_files, ++ r = config_parse_many_files(conf_files, early_dropins, dropins, + sections, lookup, table, flags, userdata, ret_stats_by_path); + + if (ret_dropin_files) - *ret_dropin_files = TAKE_PTR(files); -+ *ret_dropin_files = TAKE_PTR(late_files); ++ *ret_dropin_files = TAKE_PTR(dropins); return 0; } diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 0acb4131b5..96a52e759f 100644 +index 0acb4131b5..88f8ff11be 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -5,7 +5,10 @@ @@ -192,16 +199,11 @@ index 0acb4131b5..96a52e759f 100644 #include "strv.h" #include "tests.h" #include "tmpfile-util.h" -@@ -390,4 +393,165 @@ TEST(config_parse) { +@@ -390,4 +393,124 @@ TEST(config_parse) { test_config_parse_one(i, config_file[i]); } -+static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) { -+ -+ /* If 'is_main' is true then 'conf_files' should only contain an entry -+ * for the main conf file. */ -+ if (is_main) -+ assert_se(strv_length(conf_files) <= 1); ++static void setup_conf_files(const char *root, char **conf_files, char ***ret_conf_dirs) { + + STRV_FOREACH(path, conf_files) { + _cleanup_free_ char *abspath = NULL; @@ -219,12 +221,6 @@ index 0acb4131b5..96a52e759f 100644 + "name=%s\n", + *path); + -+ if (!is_main) -+ fprintf(f, -+ "%s=%s\n", -+ startswith(basename(*path), "__") ? "early" : "late", -+ *path); -+ + if (ret_conf_dirs) { + _cleanup_free_ char *d = NULL; + @@ -239,122 +235,92 @@ index 0acb4131b5..96a52e759f 100644 + } +} + -+static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files, -+ const char *name, const char *early, const char *late) { ++static void test_config_parse_many_one(const char *main, char **dropins, const char *expected) { + -+ _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL; + _cleanup_strv_free_ char **conf_dirs = NULL; -+ _cleanup_free_ char *conf_dirs_nulstr = NULL; ++ _cleanup_free_ char *parsed = NULL; + char *conf_file; + char *tmp_dir; -+ size_t size; + int r; + + const ConfigTableItem items[] = { -+ { "Section", "name", config_parse_string, 0, &parsed_name}, -+ { "Section", "late", config_parse_string, 0, &parsed_late}, -+ { "Section", "early", config_parse_string, 0, &parsed_early}, ++ { "Section", "Field", config_parse_string, 0, &parsed}, + }; + + tmp_dir = strdupa("/tmp/test-conf-parser-XXXXXX"); + assert_se(mkdtemp(tmp_dir)); + -+ setup_conf_files(tmp_dir, true, STRV_MAKE(main), NULL); -+ setup_conf_files(tmp_dir, false, conf_files, &conf_dirs); ++ setup_conf_files(tmp_dir, STRV_MAKE(main), NULL); ++ setup_conf_files(tmp_dir, dropins, &conf_dirs); + + conf_file = main ? strjoina(tmp_dir, "/", main) : NULL; + -+ if (nulstr) { -+ r = strv_make_nulstr(conf_dirs, &conf_dirs_nulstr, &size); -+ assert_se(r == 0); ++ /* Since commit bdb2d3c6889408c7, 'conf_file_dirs' can't be NULL anymore. */ + -+ r = config_parse_many_nulstr(conf_file, conf_dirs_nulstr, -+ "Section\0", -+ config_item_table_lookup, items, -+ CONFIG_PARSE_WARN, -+ NULL, -+ NULL); -+ } else { -+ /* sigh... since commit bdb2d3c6889408c7f26c2eeddbe9021ac53f962c, -+ * 'conf_file_dirs' parameter can't be NULL. */ -+ -+ r = config_parse_many(STRV_MAKE_CONST(conf_file), -+ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY), -+ "", -+ "Section\0", -+ config_item_table_lookup, items, -+ CONFIG_PARSE_WARN, -+ NULL, /* userdata= */ -+ NULL, /* ret_stats_by_path= */ -+ NULL); /* ret_dropin_files= */ -+ } ++ r = config_parse_many(STRV_MAKE_CONST(conf_file), ++ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY), ++ /* dropin_dirname= */ "", ++ /* root= */ NULL, ++ "Section\0", ++ config_item_table_lookup, ++ items, ++ CONFIG_PARSE_WARN, ++ /* userdata= */ NULL, ++ /* ret_stats_by_path= */ NULL, ++ /* ret_dropin_files= */ NULL); + + assert_se(r == 0); + -+ assert_se((!!name == !!parsed_name)); -+ assert_se(!name || streq(name, parsed_name)); -+ -+ assert_se((!!late == !!parsed_late)); -+ assert_se(!late || streq(late, parsed_late)); -+ -+ assert_se((!!early == !!parsed_early)); -+ assert_se(!early || streq(early, parsed_early)); ++ assert_se((!!expected == !!parsed)); ++ assert_se(!expected || streq(expected, parsed)); + + assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); +} + -+static void test_config_parse_many_nulstr(bool nulstr) { -+ log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : ""); ++TEST(config_parse_many) { ++ log_info("== %s ==", __func__); + -+ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL); ++ test_config_parse_many_one(/* main= */ NULL, ++ /* dropins */ NULL, ++ /* expected_name= */ NULL); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/main.conf", NULL, -+ "dir/main.conf", NULL, NULL); ++ test_config_parse_many_one("dir/main.conf", NULL, "dir/main.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(NULL, ++ STRV_MAKE("dir1/50-foo.conf"), ++ "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL); ++ test_config_parse_many_one(NULL, ++ STRV_MAKE("dir1/__50-foo.conf"), ++ "dir1/__50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf"); ++ test_config_parse_many_one(NULL, ++ STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), ++ "dir1/50-bar.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf"); ++ test_config_parse_many_one(NULL, ++ STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), ++ "dir1/50-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one(NULL, ++ STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), ++ "dir1/10-foo.conf"); + + /* Early conf files should never override the main one whatever their + * priority/location. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL); ++ test_config_parse_many_one("dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), ++ "dir/10-main.conf"); + + /* Late conf files always take precendence over the early conf files + * and the main one. */ -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf"); ++ test_config_parse_many_one("dir/50-main.conf", ++ STRV_MAKE("dir1/10-foo.conf"), ++ "dir1/10-foo.conf"); + -+ test_config_parse_many_nulstr_one(nulstr, -+ "dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", -+ "dir2/10-foo.conf"), -+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"); -+} -+ -+TEST(config_parse_many) { -+ test_config_parse_many_nulstr(true); -+ test_config_parse_many_nulstr(false); ++ test_config_parse_many_one("dir/10-main.conf", ++ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"), ++ "dir2/10-foo.conf"); +} + DEFINE_TEST_MAIN(LOG_INFO); diff --git a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch b/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch deleted file mode 100644 index 00e1cb09..00000000 --- a/0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 29 Oct 2012 13:01:20 +0000 -Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they - aren't symlink - ---- - units/meson.build | 2 ++ - units/var-lock.mount | 19 +++++++++++++++++++ - units/var-run.mount | 19 +++++++++++++++++++ - 3 files changed, 40 insertions(+) - create mode 100644 units/var-lock.mount - create mode 100644 units/var-run.mount - -diff --git a/units/meson.build b/units/meson.build -index a9bf28f6d9..739fd84d2c 100644 ---- a/units/meson.build -+++ b/units/meson.build -@@ -165,6 +165,8 @@ units = [ - ['umount.target', ''], - ['usb-gadget.target', ''], - ['user.slice', ''], -+ ['var-run.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], -+ ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'], - ['var-lib-machines.mount', 'ENABLE_MACHINED', - 'remote-fs.target.wants/ machines.target.wants/'], - ['systemd-oomd.socket', 'ENABLE_OOMD'], -diff --git a/units/var-lock.mount b/units/var-lock.mount -new file mode 100644 -index 0000000000..07277adac3 ---- /dev/null -+++ b/units/var-lock.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Lock Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/lock -+ConditionPathIsSymbolicLink=!/var/lock -+ -+[Mount] -+What=/run/lock -+Where=/var/lock -+Type=bind -+Options=bind -diff --git a/units/var-run.mount b/units/var-run.mount -new file mode 100644 -index 0000000000..ab4da424c9 ---- /dev/null -+++ b/units/var-run.mount -@@ -0,0 +1,19 @@ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+[Unit] -+Description=Runtime Directory -+Before=local-fs.target -+# skip mounting if the directory does not exist or is a symlink -+ConditionPathIsDirectory=/var/run -+ConditionPathIsSymbolicLink=!/var/run -+ -+[Mount] -+What=/run -+Where=/var/run -+Type=bind -+Options=bind --- -2.34.1 - diff --git a/5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch b/5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch deleted file mode 100644 index c52ef775..00000000 --- a/5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 7e094b534978a8c5e980271a00ebccdba98ae6f7 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Wed, 15 Mar 2023 19:48:52 +0100 -Subject: [PATCH 5001/5001] Revert "core: propagate stop too if restart is - issued" - -This reverts commit 017a7ba4f406adcf69d6b3ec15b9f2d9ed5ad853. - -Until https://github.com/systemd/systemd/issues/26839 is properly fixed. ---- - src/core/transaction.c | 42 +++++++++++++++--------------------------- - 1 file changed, 15 insertions(+), 27 deletions(-) - -diff --git a/src/core/transaction.c b/src/core/transaction.c -index a6fd184e33..9689d5faab 100644 ---- a/src/core/transaction.c -+++ b/src/core/transaction.c -@@ -1047,39 +1047,27 @@ int transaction_add_job_and_dependencies( - } - - if (IN_SET(type, JOB_STOP, JOB_RESTART)) { -- _cleanup_set_free_ Set *propagated_restart = NULL; -+ UnitDependencyAtom atom; -+ JobType ptype; -+ - /* We propagate STOP as STOP, but RESTART only as TRY_RESTART, in order not to start - * dependencies that are not around. */ -+ if (type == JOB_RESTART) { -+ atom = UNIT_ATOM_PROPAGATE_RESTART; -+ ptype = JOB_TRY_RESTART; -+ } else { -+ ptype = JOB_STOP; -+ atom = UNIT_ATOM_PROPAGATE_STOP; -+ } - -- if (type == JOB_RESTART) -- UNIT_FOREACH_DEPENDENCY(dep, ret->unit, UNIT_ATOM_PROPAGATE_RESTART) { -- JobType nt; -- -- r = set_ensure_put(&propagated_restart, NULL, dep); -- if (r < 0) -- return r; -- -- nt = job_type_collapse(JOB_TRY_RESTART, dep); -- if (nt == JOB_NOP) -- continue; -- -- r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, false, false, ignore_order, e); -- if (r < 0) { -- if (r != -EBADR) /* job type not applicable */ -- return r; -- -- sd_bus_error_free(e); -- } -- } -+ UNIT_FOREACH_DEPENDENCY(dep, ret->unit, atom) { -+ JobType nt; - -- /* The 'stop' part of a restart job is also propagated to -- * units with UNIT_ATOM_PROPAGATE_STOP */ -- UNIT_FOREACH_DEPENDENCY(dep, ret->unit, UNIT_ATOM_PROPAGATE_STOP) { -- /* Units experienced restart propagation are skipped */ -- if (set_contains(propagated_restart, dep)) -+ nt = job_type_collapse(ptype, dep); -+ if (nt == JOB_NOP) - continue; - -- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, false, false, ignore_order, e); -+ r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, false, false, ignore_order, e); - if (r < 0) { - if (r != -EBADR) /* job type not applicable */ - return r; --- -2.35.3 - diff --git a/files.devel b/files.devel index f9248ea5..bffa68d6 100644 --- a/files.devel +++ b/files.devel @@ -21,6 +21,7 @@ %{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz %{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz %{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_FILE_CONTENT.3.gz %{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz %{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz %{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz @@ -35,8 +36,11 @@ %{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz %{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz %{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz +%{_mandir}/man3/SD_BUS_ERROR_OBJECT_PATH_IN_USE.3.gz %{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN.3.gz %{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_TIMED_OUT.3.gz %{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz %{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz %{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz @@ -108,9 +112,11 @@ %{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz %{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz %{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz +%{_mandir}/man3/SD_JOURNAL_TAKE_DIRECTORY_FD.3.gz %{_mandir}/man3/SD_LISTEN_FDS_START.3.gz %{_mandir}/man3/SD_NOTICE.3.gz %{_mandir}/man3/SD_WARNING.3.gz +%{_mandir}/man3/libsystemd.3.gz %{_mandir}/man3/libudev.3.gz %{_mandir}/man3/sd-bus-errors.3.gz %{_mandir}/man3/sd-bus.3.gz @@ -454,6 +460,7 @@ %{_mandir}/man3/sd_event_add_inotify.3.gz %{_mandir}/man3/sd_event_add_inotify_fd.3.gz %{_mandir}/man3/sd_event_add_io.3.gz +%{_mandir}/man3/sd_event_add_memory_pressure.3.gz %{_mandir}/man3/sd_event_add_post.3.gz %{_mandir}/man3/sd_event_add_signal.3.gz %{_mandir}/man3/sd_event_add_time.3.gz @@ -508,6 +515,7 @@ %{_mandir}/man3/sd_event_source_get_time_clock.3.gz %{_mandir}/man3/sd_event_source_get_userdata.3.gz %{_mandir}/man3/sd_event_source_is_ratelimited.3.gz +%{_mandir}/man3/sd_event_source_leave_ratelimit.3.gz %{_mandir}/man3/sd_event_source_ref.3.gz %{_mandir}/man3/sd_event_source_send_child_signal.3.gz %{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz @@ -520,6 +528,8 @@ %{_mandir}/man3/sd_event_source_set_io_events.3.gz %{_mandir}/man3/sd_event_source_set_io_fd.3.gz %{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_set_memory_pressure_period.3.gz +%{_mandir}/man3/sd_event_source_set_memory_pressure_type.3.gz %{_mandir}/man3/sd_event_source_set_prepare.3.gz %{_mandir}/man3/sd_event_source_set_priority.3.gz %{_mandir}/man3/sd_event_source_set_ratelimit.3.gz @@ -531,6 +541,7 @@ %{_mandir}/man3/sd_event_source_unref.3.gz %{_mandir}/man3/sd_event_source_unrefp.3.gz %{_mandir}/man3/sd_event_time_handler_t.3.gz +%{_mandir}/man3/sd_event_trim_memory.3.gz %{_mandir}/man3/sd_event_unref.3.gz %{_mandir}/man3/sd_event_unrefp.3.gz %{_mandir}/man3/sd_event_wait.3.gz @@ -591,6 +602,7 @@ %{_mandir}/man3/sd_journal_get_fd.3.gz %{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz %{_mandir}/man3/sd_journal_get_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_seqnum.3.gz %{_mandir}/man3/sd_journal_get_timeout.3.gz %{_mandir}/man3/sd_journal_get_usage.3.gz %{_mandir}/man3/sd_journal_has_persistent_files.3.gz @@ -627,6 +639,7 @@ %{_mandir}/man3/sd_journal_sendv.3.gz %{_mandir}/man3/sd_journal_sendv_with_location.3.gz %{_mandir}/man3/sd_journal_set_data_threshold.3.gz +%{_mandir}/man3/sd_journal_step_one.3.gz %{_mandir}/man3/sd_journal_stream_fd.3.gz %{_mandir}/man3/sd_journal_test_cursor.3.gz %{_mandir}/man3/sd_journal_wait.3.gz @@ -664,8 +677,10 @@ %{_mandir}/man3/sd_pid_get_user_slice.3.gz %{_mandir}/man3/sd_pid_get_user_unit.3.gz %{_mandir}/man3/sd_pid_notify.3.gz +%{_mandir}/man3/sd_pid_notify_barrier.3.gz %{_mandir}/man3/sd_pid_notify_with_fds.3.gz %{_mandir}/man3/sd_pid_notifyf.3.gz +%{_mandir}/man3/sd_pid_notifyf_with_fds.3.gz %{_mandir}/man3/sd_pidfd_get_cgroup.3.gz %{_mandir}/man3/sd_pidfd_get_machine_name.3.gz %{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz @@ -681,18 +696,22 @@ %{_mandir}/man3/sd_session_get_class.3.gz %{_mandir}/man3/sd_session_get_desktop.3.gz %{_mandir}/man3/sd_session_get_display.3.gz +%{_mandir}/man3/sd_session_get_leader.3.gz %{_mandir}/man3/sd_session_get_remote_host.3.gz %{_mandir}/man3/sd_session_get_remote_user.3.gz %{_mandir}/man3/sd_session_get_seat.3.gz %{_mandir}/man3/sd_session_get_service.3.gz +%{_mandir}/man3/sd_session_get_start_time.3.gz %{_mandir}/man3/sd_session_get_state.3.gz %{_mandir}/man3/sd_session_get_tty.3.gz %{_mandir}/man3/sd_session_get_type.3.gz %{_mandir}/man3/sd_session_get_uid.3.gz +%{_mandir}/man3/sd_session_get_username.3.gz %{_mandir}/man3/sd_session_get_vt.3.gz %{_mandir}/man3/sd_session_is_active.3.gz %{_mandir}/man3/sd_session_is_remote.3.gz %{_mandir}/man3/sd_uid_get_display.3.gz +%{_mandir}/man3/sd_uid_get_login_time.3.gz %{_mandir}/man3/sd_uid_get_seats.3.gz %{_mandir}/man3/sd_uid_get_sessions.3.gz %{_mandir}/man3/sd_uid_get_state.3.gz diff --git a/files.experimental b/files.experimental index 5a5df8ef..7b2439b9 100644 --- a/files.experimental +++ b/files.experimental @@ -42,6 +42,9 @@ %{_mandir}/man8/systemd-sysupdate.8.gz %{_mandir}/man8/systemd-sysupdate.service.8.gz %{_mandir}/man8/systemd-sysupdate.timer.8.gz +%if %{with sd_boot} +%{_prefix}/lib/kernel/install.d/60-ukify.install +%endif %{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %if %{with sd_boot} diff --git a/files.systemd b/files.systemd index a400ca8d..ec147196 100644 --- a/files.systemd +++ b/files.systemd @@ -101,6 +101,7 @@ %{_bindir}/systemd-cat %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop +%{_bindir}/systemd-confext %{_bindir}/systemd-creds %{_bindir}/systemd-delta %{_bindir}/systemd-detect-virt @@ -226,8 +227,8 @@ %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif -%{_libdir}/systemd/libsystemd-core-253.so -%{_libdir}/systemd/libsystemd-shared-253.so +%{_libdir}/systemd/libsystemd-core-254.so +%{_libdir}/systemd/libsystemd-shared-254.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz @@ -235,6 +236,7 @@ %{_mandir}/man1/journalctl.1.gz %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz +%{_mandir}/man1/mount.ddi.1.gz %{_mandir}/man1/systemctl.1.gz %{_mandir}/man1/systemd-ac-power.1.gz %{_mandir}/man1/systemd-analyze.1.gz @@ -350,10 +352,13 @@ %{_mandir}/man8/systemd-binfmt.service.8.gz %{_mandir}/man8/systemd-boot-check-no-failures.8.gz %{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz +%{_mandir}/man8/systemd-confext.8.gz +%{_mandir}/man8/systemd-confext.service.8.gz %{_mandir}/man8/systemd-debug-generator.8.gz %{_mandir}/man8/systemd-environment-d-generator.8.gz %{_mandir}/man8/systemd-getty-generator.8.gz %{_mandir}/man8/systemd-halt.service.8.gz +%{_mandir}/man8/systemd-hibernate-resume.service.8.gz %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz @@ -375,6 +380,7 @@ %{_mandir}/man8/systemd-run-generator.8.gz %{_mandir}/man8/systemd-shutdown.8.gz %{_mandir}/man8/systemd-socket-proxyd.8.gz +%{_mandir}/man8/systemd-soft-reboot.service.8.gz %{_mandir}/man8/systemd-sysctl.8.gz %{_mandir}/man8/systemd-sysctl.service.8.gz %{_mandir}/man8/systemd-sysext.8.gz @@ -405,6 +411,7 @@ %{_pam_vendordir}/systemd-user %{_sbindir}/halt %{_sbindir}/init +%{_sbindir}/mount.ddi %{_sbindir}/poweroff %{_sbindir}/reboot %{_sbindir}/shutdown @@ -551,6 +558,7 @@ %{_unitdir}/sockets.target %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket +%{_unitdir}/soft-reboot.target %{_unitdir}/sound.target %{_unitdir}/swap.target %{_unitdir}/sys-fs-fuse-connections.mount @@ -587,6 +595,7 @@ %{_unitdir}/systemd-ask-password-wall.service %{_unitdir}/systemd-binfmt.service %{_unitdir}/systemd-boot-check-no-failures.service +%{_unitdir}/systemd-confext.service %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-halt.service %{_unitdir}/systemd-hostnamed.service @@ -604,6 +613,7 @@ %{_unitdir}/systemd-logind.service %{_unitdir}/systemd-machine-id-commit.service %{_unitdir}/systemd-poweroff.service +%{_unitdir}/systemd-soft-reboot.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service %{_unitdir}/systemd-sysusers.service diff --git a/files.sysvcompat b/files.sysvcompat index 786a9b3c..6ce72cf6 100644 --- a/files.sysvcompat +++ b/files.sysvcompat @@ -22,8 +22,6 @@ %{_systemdgeneratordir}/systemd-rc-local-generator %{_systemdgeneratordir}/systemd-sysv-generator %{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service -%{_unitdir}/local-fs.target.wants/var-lock.mount -%{_unitdir}/local-fs.target.wants/var-run.mount %{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service %{_unitdir}/rc-local.service %{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service @@ -38,8 +36,6 @@ %{_unitdir}/systemd-initctl.service %{_unitdir}/systemd-initctl.socket %{_unitdir}/systemd-update-utmp-runlevel.service -%{_unitdir}/var-lock.mount -%{_unitdir}/var-run.mount %if %{with split_usr} /sbin/runlevel /sbin/telinit diff --git a/files.udev b/files.udev index 03e95f49..22ec47da 100644 --- a/files.udev +++ b/files.udev @@ -4,6 +4,7 @@ %config(noreplace) %{_sysconfdir}/systemd/pstore.conf %config(noreplace) %{_sysconfdir}/systemd/sleep.conf %config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf +%config(noreplace) %{_sysconfdir}/udev/iocost.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} %dir %{_libdir}/cryptsetup @@ -22,6 +23,7 @@ %dir %{_systemd_util_dir}/system-sleep %dir %{_udevhwdbdir} %dir %{_udevrulesdir} +%dir %{_unitdir}/initrd.target.wants %doc %{_udevhwdbdir}/README %doc %{_udevrulesdir}/README %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed @@ -55,6 +57,7 @@ %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz +%{_mandir}/man5/iocost.conf.5.gz %{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/pstore.conf.5.gz %{_mandir}/man5/pstore.conf.d.5.gz @@ -66,10 +69,14 @@ %{_mandir}/man5/vconsole.conf.5.gz %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz +%{_mandir}/man7/smbios-type-11.7.gz +%{_mandir}/man7/systemd.image-policy.7.gz %{_mandir}/man7/udev.7.gz %{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-backlight.8.gz %{_mandir}/man8/systemd-backlight@.service.8.gz +%{_mandir}/man8/systemd-battery-check.8.gz +%{_mandir}/man8/systemd-battery-check.service.8.gz %{_mandir}/man8/systemd-cryptsetup-generator.8.gz %{_mandir}/man8/systemd-cryptsetup.8.gz %{_mandir}/man8/systemd-cryptsetup@.service.8.gz @@ -84,7 +91,6 @@ %{_mandir}/man8/systemd-growfs@.service.8.gz %{_mandir}/man8/systemd-hibernate-resume-generator.8.gz %{_mandir}/man8/systemd-hibernate-resume.8.gz -%{_mandir}/man8/systemd-hibernate-resume@.service.8.gz %{_mandir}/man8/systemd-hibernate.service.8.gz %{_mandir}/man8/systemd-hwdb.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz @@ -140,12 +146,14 @@ %{_prefix}/lib/udev/dmi_memory_id %endif %{_prefix}/lib/udev/fido_id +%{_prefix}/lib/udev/iocost %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/systemd-backlight +%{_systemd_util_dir}/systemd-battery-check %if %{without bootstrap} %{_systemd_util_dir}/systemd-cryptsetup %endif @@ -220,6 +228,7 @@ %{_udevrulesdir}/60-autosuspend.rules %{_udevrulesdir}/60-block.rules %{_udevrulesdir}/60-cdrom_id.rules +%{_udevrulesdir}/60-dmi-id.rules %{_udevrulesdir}/60-drm.rules %{_udevrulesdir}/60-evdev.rules %{_udevrulesdir}/60-fido-id.rules @@ -249,6 +258,7 @@ %endif %{_udevrulesdir}/80-net-setup-link.rules %{_udevrulesdir}/81-net-dhcp.rules +%{_udevrulesdir}/90-iocost.rules %{_udevrulesdir}/90-vconsole.rules %if %{without bootstrap} %{_unitdir}/cryptsetup-pre.target @@ -261,6 +271,7 @@ %{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target %endif %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/initrd.target.wants/systemd-battery-check.service %if %{without bootstrap} %{_unitdir}/integritysetup-pre.target %{_unitdir}/integritysetup.target @@ -289,14 +300,15 @@ %if %{without bootstrap} %{_unitdir}/sysinit.target.wants/veritysetup.target %{_unitdir}/system-systemd\x2dcryptsetup.slice +%{_unitdir}/system-systemd\x2dveritysetup.slice %endif %{_unitdir}/systemd-backlight@.service +%{_unitdir}/systemd-battery-check.service %{_unitdir}/systemd-firstboot.service %{_unitdir}/systemd-fsck-root.service %{_unitdir}/systemd-fsck@.service %{_unitdir}/systemd-growfs-root.service %{_unitdir}/systemd-growfs@.service -%{_unitdir}/systemd-hibernate-resume@.service %{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hwdb-update.service %{_unitdir}/systemd-hybrid-sleep.service diff --git a/files.uefi-boot b/files.uefi-boot index 5c23e18b..5712f17f 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -22,8 +22,8 @@ %{_mandir}/man8/systemd-boot-random-seed.service.8.gz %endif # These are the few exceptions where glob pattern is allowed. +%{_systemd_util_dir}/boot/efi/addon*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.efi.stub -%{_systemd_util_dir}/boot/efi/linux*.elf.stub %{_systemd_util_dir}/boot/efi/systemd-boot*.efi %{_systemd_util_dir}/systemd-bless-boot %{_systemdgeneratordir}/systemd-bless-boot-generator diff --git a/systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz b/systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz deleted file mode 100644 index 8934d10b..00000000 --- a/systemd-v253.8+suse.32.gfcdb2dd2c9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f98d7387f9ec510d76d955a6353a5033ca8102d624dbd0dbc0b0831743f09ce -size 8282492 diff --git a/systemd-v254.1.tar.xz b/systemd-v254.1.tar.xz new file mode 100644 index 00000000..c2fdfc8c --- /dev/null +++ b/systemd-v254.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f946c3057a8eb2c31ec71ead9d526ec3ce90460fc397b1e84316f99380f148 +size 10345996 diff --git a/systemd.changes b/systemd.changes index b5c083f7..a7ccad3f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Wed Aug 16 08:48:58 UTC 2023 - Franck Bui + +- Upgrade to v254.1 (commit 208a21833b6953a2517a6c3f8f4849c6664b01be) + + See https://github.com/openSUSE/systemd/blob/SUSE/v254/NEWS for details. + + This includes the following bug fixes: + + - upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1203141) + - upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340) + - upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606) + - upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185) + + * Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix + for https://github.com/systemd/systemd/issues/26839 has been integrated in + v254. + + * Drop 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch, it's + part of v254. + + * Drop 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch, it's + no more needed these days. + + * Rebase 0001-conf-parser-introduce-early-drop-ins.patch + ------------------------------------------------------------------- Fri Aug 11 08:31:12 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3dd058bc..0afed150 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.32.gfcdb2dd2c9 +%define archive_version %{nil} %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -75,7 +75,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 253.8 +Version: 254.1 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -196,12 +196,11 @@ Source209: files.homed # All changes backported from upstream are tracked by the git repository, which # can be found at: https://github.com/openSUSE/systemd. # -# Patches listed below are openSUSE specific and should be kept at its +# Patches listed below are openSUSE specific ones and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes they are # only relevant for SUSE distros. Special rewards for those who will manage to # get rid of one of them ! # -Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch Patch2: 0001-conf-parser-introduce-early-drop-ins.patch Patch3: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch %if %{with sysvcompat} @@ -215,7 +214,6 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # worked around quickly. In these cases, the patches are added temporarily and # will be removed as soon as a proper fix will be merged by upstream. Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch -Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -402,8 +400,8 @@ Visit https://systemd.io/COREDUMP for more details. %package boot Summary: A simple UEFI boot manager License: LGPL-2.1-or-later -BuildRequires: gnu-efi BuildRequires: pesign-obs-integration +BuildRequires: python3-pyelftools %description boot This package provides systemd-boot (short: sd-boot), which is a simple UEFI boot @@ -770,7 +768,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ \ - -Dgnu-efi=%{when sd_boot} \ + -Dbootloader=%{when sd_boot} \ -Defi-color-highlight="black,green" \ \ -Dsbat-distro="%{?sbat_distro}" \ @@ -1337,13 +1335,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.36.0 +%{_libdir}/libsystemd.so.0.37.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.6 +%{_libdir}/libudev.so.1.7.7 %if %{with coredump} %files coredump From f77f1ad6958aed53d049519af5c513104554ff53e135796351687db467d88145 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Aug 2023 10:41:44 +0000 Subject: [PATCH 877/991] - Import commmit 1f73719d67b9300c6bb75232d695d03410991098 1f73719d67 test-mountpoint-util: /root might be mounted a391ba4a8f test: testsuite-35.sh needs manual/test-session-properties to be installed on SUSE OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1421 --- systemd-v254.1+suse.2.g1f73719d67.tar.xz | 3 +++ systemd-v254.1.tar.xz | 3 --- systemd.changes | 8 ++++++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 systemd-v254.1+suse.2.g1f73719d67.tar.xz delete mode 100644 systemd-v254.1.tar.xz diff --git a/systemd-v254.1+suse.2.g1f73719d67.tar.xz b/systemd-v254.1+suse.2.g1f73719d67.tar.xz new file mode 100644 index 00000000..5dc85684 --- /dev/null +++ b/systemd-v254.1+suse.2.g1f73719d67.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c57ced1a4a6a4fef63f4f480120e2f30f6eee742434d806eae40cce7356d7b +size 10343428 diff --git a/systemd-v254.1.tar.xz b/systemd-v254.1.tar.xz deleted file mode 100644 index c2fdfc8c..00000000 --- a/systemd-v254.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:48f946c3057a8eb2c31ec71ead9d526ec3ce90460fc397b1e84316f99380f148 -size 10345996 diff --git a/systemd.changes b/systemd.changes index a7ccad3f..6279213c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Aug 16 10:29:45 UTC 2023 - Franck Bui + +- Import commmit 1f73719d67b9300c6bb75232d695d03410991098 + + 1f73719d67 test-mountpoint-util: /root might be mounted + a391ba4a8f test: testsuite-35.sh needs manual/test-session-properties to be installed on SUSE + ------------------------------------------------------------------- Wed Aug 16 08:48:58 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 0afed150..6fa2033b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version %{nil} +%define archive_version +suse.2.g1f73719d67 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 8a604abdb47e806111c06584a83b70e31a53a731f8c3a38e70b406a5181c2412 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 16 Aug 2023 17:01:33 +0000 Subject: [PATCH 878/991] - systemd.spec: add journal translations to lang package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1422 --- files.lang | 19 +++++++++++++++++++ files.systemd | 16 ---------------- systemd.changes | 5 +++++ systemd.spec | 10 +++------- 4 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 files.lang diff --git a/files.lang b/files.lang new file mode 100644 index 00000000..1b023f81 --- /dev/null +++ b/files.lang @@ -0,0 +1,19 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%lang(be) %{_journalcatalogdir}/systemd.be.catalog +%lang(be@latin) %{_journalcatalogdir}/systemd.be@latin.catalog +%lang(bg) %{_journalcatalogdir}/systemd.bg.catalog +%lang(da) %{_journalcatalogdir}/systemd.da.catalog +%lang(de) %{_journalcatalogdir}/systemd.de.catalog +%lang(fr) %{_journalcatalogdir}/systemd.fr.catalog +%lang(hr) %{_journalcatalogdir}/systemd.hr.catalog +%lang(hu) %{_journalcatalogdir}/systemd.hu.catalog +%lang(it) %{_journalcatalogdir}/systemd.it.catalog +%lang(ko) %{_journalcatalogdir}/systemd.ko.catalog +%lang(pl) %{_journalcatalogdir}/systemd.pl.catalog +%lang(pt_BR) %{_journalcatalogdir}/systemd.pt_BR.catalog +%lang(ru) %{_journalcatalogdir}/systemd.ru.catalog +%lang(sr) %{_journalcatalogdir}/systemd.sr.catalog +%lang(zh_CN) %{_journalcatalogdir}/systemd.zh_CN.catalog +%lang(zh_TW) %{_journalcatalogdir}/systemd.zh_TW.catalog diff --git a/files.systemd b/files.systemd index ec147196..f731b1eb 100644 --- a/files.systemd +++ b/files.systemd @@ -206,23 +206,7 @@ %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl %endif -%{_journalcatalogdir}/systemd.be.catalog -%{_journalcatalogdir}/systemd.be@latin.catalog -%{_journalcatalogdir}/systemd.bg.catalog %{_journalcatalogdir}/systemd.catalog -%{_journalcatalogdir}/systemd.da.catalog -%{_journalcatalogdir}/systemd.de.catalog -%{_journalcatalogdir}/systemd.fr.catalog -%{_journalcatalogdir}/systemd.hr.catalog -%{_journalcatalogdir}/systemd.hu.catalog -%{_journalcatalogdir}/systemd.it.catalog -%{_journalcatalogdir}/systemd.ko.catalog -%{_journalcatalogdir}/systemd.pl.catalog -%{_journalcatalogdir}/systemd.pt_BR.catalog -%{_journalcatalogdir}/systemd.ru.catalog -%{_journalcatalogdir}/systemd.sr.catalog -%{_journalcatalogdir}/systemd.zh_CN.catalog -%{_journalcatalogdir}/systemd.zh_TW.catalog %if %{without bootstrap} %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 diff --git a/systemd.changes b/systemd.changes index 6279213c..2aef66bf 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Aug 16 16:51:01 UTC 2023 - Ludwig Nussel + +- systemd.spec: add journal translations to lang package + ------------------------------------------------------------------- Wed Aug 16 10:29:45 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6fa2033b..831a7fbc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -191,6 +191,7 @@ Source206: files.uefi-boot Source207: files.experimental Source208: files.coredump Source209: files.homed +Source210: files.lang # # All changes backported from upstream are tracked by the git repository, which @@ -689,9 +690,7 @@ Currently this package contains: repart, oomd, measure, pcrphase and ukify. Have fun (at your own risk). %endif -%if %{without bootstrap} %lang_package -%endif %prep %autosetup -p1 -n systemd-v%{version}%{archive_version} @@ -723,6 +722,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dxinitrcdir=%{xinitconfdir}/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ + -Dtranslations=true \ %if %{with bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ @@ -757,7 +757,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dselinux=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ - -Dtranslations=%{when_not bootstrap} \ -Duserdb=%{when_not bootstrap} \ \ -Dcoredump=%{when coredump} \ @@ -1004,9 +1003,7 @@ tar -cO \ -C test/ . | tar -xC %{buildroot}%{_testsuitedir}/integration-tests %endif -%if %{without bootstrap} %find_lang systemd -%endif # Don't drop %%pre section even if it becomes empty: the build process of # installation images uses a hardcoded list of packages with a %%pre that needs @@ -1349,9 +1346,8 @@ fi %include %{SOURCE208} %endif -%if %{without bootstrap} %files lang -f systemd.lang -%endif +%include %{SOURCE210} %if %{with journal_remote} %files journal-remote From 590e93775aefc6f815e5d36beb8dde1327cf4a076e4ed40dba284429e91a4032 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Aug 2023 09:06:45 +0000 Subject: [PATCH 879/991] Accepting request 1104340 from home:jsegitz:branches:Base:System - Recommend selinux-policy-devel instead of requiring it in line with other tests. Add Recommends for selinux-policy-targeted as this is also required to run the test (in general any SELinux policy should do) OBS-URL: https://build.opensuse.org/request/show/1104340 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1423 --- systemd.changes | 8 ++++++++ systemd.spec | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 2aef66bf..4ad4bb9b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Aug 17 09:01:36 UTC 2023 - Johannes Segitz + +- Recommend selinux-policy-devel instead of requiring it in line with + other tests. Add Recommends for selinux-policy-targeted as this is + also required to run the test (in general any SELinux policy should + do) + ------------------------------------------------------------------- Wed Aug 16 16:51:01 UTC 2023 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 831a7fbc..47d8380c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -584,6 +584,9 @@ Recommends: tpm2.0-tools %if %{with resolved} # Optional dep for knot needed by TEST-75-RESOLVED Recommends: knot +# Optional deps needed by TEST-06-SELINUX (otherwise skipped) +Recommends: selinux-policy-devel +Recommends: selinux-policy-targeted Requires: libidn2 Requires: pkgconfig(libidn2) %endif @@ -612,7 +615,6 @@ Requires: netcat Requires: python3-pexpect Requires: qemu-kvm Requires: quota -Requires: selinux-policy-devel Requires: socat Requires: squashfs Requires: systemd-container From 0aa9a9c3128feade105dc0cd72c86e97aaef1fee4762357f061d341c8092fccb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Aug 2023 09:11:10 +0000 Subject: [PATCH 880/991] reorder some comments for the testsuite (probably screwed up by the script called when commiting change :() OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1424 --- systemd.changes | 7 +++---- systemd.spec | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/systemd.changes b/systemd.changes index 4ad4bb9b..d6eae517 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,10 +1,9 @@ ------------------------------------------------------------------- Thu Aug 17 09:01:36 UTC 2023 - Johannes Segitz -- Recommend selinux-policy-devel instead of requiring it in line with - other tests. Add Recommends for selinux-policy-targeted as this is - also required to run the test (in general any SELinux policy should - do) +- testsuite: Recommend selinux-policy-devel instead of requiring it in line with + other tests. Add Recommends for selinux-policy-targeted as this is also + required to run the test (in general any SELinux policy should do) ------------------------------------------------------------------- Wed Aug 16 16:51:01 UTC 2023 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 47d8380c..dad3b922 100644 --- a/systemd.spec +++ b/systemd.spec @@ -569,7 +569,6 @@ systemd-journal-remote, and systemd-journal-upload. %if %{with testsuite} %package testsuite Summary: Testsuite for systemd -# Unit tests dependencies License: LGPL-2.1-or-later Recommends: python3 Recommends: python3-colorama @@ -578,15 +577,15 @@ Recommends: dosfstools # Optional deps needed by TEST-70-TPM2 (otherwise skipped) Recommends: swtpm Recommends: tpm2.0-tools -# The following deps on libs are for test-dlopen-so whereas the pkgconfig ones -# are used by test-funtions to find the libs on the host and install them in the -# image, see install_missing_libraries() for details. %if %{with resolved} # Optional dep for knot needed by TEST-75-RESOLVED Recommends: knot # Optional deps needed by TEST-06-SELINUX (otherwise skipped) Recommends: selinux-policy-devel Recommends: selinux-policy-targeted +# The following deps on libs are for test-dlopen-so whereas the pkgconfig ones +# are used by test-funtions to find the libs on the host and install them in the +# image, see install_missing_libraries() for details. Requires: libidn2 Requires: pkgconfig(libidn2) %endif From 3e9eed63ebf83edfca87f096206c6f156181d47dc05a5a3d9f3bc4d97ce3159d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 17 Aug 2023 12:39:01 +0000 Subject: [PATCH 881/991] fix a regression in unit test in 0001-conf-parser-introduce-early-drop-ins.patch introduced during the merge of v254 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1425 --- 0001-conf-parser-introduce-early-drop-ins.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch index 2c13df9a..3a2a0c2f 100644 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ b/0001-conf-parser-introduce-early-drop-ins.patch @@ -218,7 +218,7 @@ index 0acb4131b5..88f8ff11be 100644 + assert_se(f); + fprintf(f, + "[Section]\n" -+ "name=%s\n", ++ "Field=%s\n", + *path); + + if (ret_conf_dirs) { From 1d4102b7065e884abfcd0d619f49e499cfe916bf938dd8269ea88f0f1cde48a4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Aug 2023 06:31:58 +0000 Subject: [PATCH 882/991] - Fix incorrect option name when calling pam-config for systemd-homed OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1426 --- systemd.changes | 5 +++++ systemd.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index d6eae517..05c92a54 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Aug 18 06:24:11 UTC 2023 - Franck Bui + +- Fix incorrect option name when calling pam-config for systemd-homed + ------------------------------------------------------------------- Thu Aug 17 09:01:36 UTC 2023 - Johannes Segitz diff --git a/systemd.spec b/systemd.spec index dad3b922..2e1295e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1235,14 +1235,14 @@ fi %post homed if [ $1 -eq 1 ]; then - pam-config --add --systemd-homed || : + pam-config --add --systemd_home || : fi %systemd_post systemd-homed.service %preun homed %systemd_preun systemd-homed.service if [ $1 -eq 0 ]; then - pam-config --delete --systemd-homed || : + pam-config --delete --systemd_home || : fi %postun homed From dcfd884160dc436b648e1da9bb88ce3407f8679735468b49c4ae38685aacc0a5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Aug 2023 12:53:51 +0000 Subject: [PATCH 883/991] don't build systemd-lang for the mini flavor OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1427 --- files.systemd | 2 -- systemd.spec | 10 +++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/files.systemd b/files.systemd index f731b1eb..1a25d9ad 100644 --- a/files.systemd +++ b/files.systemd @@ -205,9 +205,7 @@ %{_datadir}/zsh/site-functions/_systemd-run %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl -%endif %{_journalcatalogdir}/systemd.catalog -%if %{without bootstrap} %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif diff --git a/systemd.spec b/systemd.spec index 2e1295e2..396d876f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -691,7 +691,9 @@ Currently this package contains: repart, oomd, measure, pcrphase and ukify. Have fun (at your own risk). %endif +%if %{without bootstrap} %lang_package +%endif %prep %autosetup -p1 -n systemd-v%{version}%{archive_version} @@ -723,7 +725,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dxinitrcdir=%{xinitconfdir}/xinitrc.d \ -Drpmmacrosdir=no \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ - -Dtranslations=true \ %if %{with bootstrap} -Dbashcompletiondir=no \ -Dzshcompletiondir=no \ @@ -758,6 +759,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dselinux=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ + -Dtranslations=%{when_not bootstrap} \ -Duserdb=%{when_not bootstrap} \ \ -Dcoredump=%{when coredump} \ @@ -1004,7 +1006,11 @@ tar -cO \ -C test/ . | tar -xC %{buildroot}%{_testsuitedir}/integration-tests %endif +%if %{without bootstrap} %find_lang systemd +%else +rm -f %{buildroot}%{_journalcatalogdir}/* +%endif # Don't drop %%pre section even if it becomes empty: the build process of # installation images uses a hardcoded list of packages with a %%pre that needs @@ -1347,8 +1353,10 @@ fi %include %{SOURCE208} %endif +%if %{without bootstrap} %files lang -f systemd.lang %include %{SOURCE210} +%endif %if %{with journal_remote} %files journal-remote From 666f072db79c5b066a0229d1e2486a817a09cc819cdfe325a2490574108f33aa Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Aug 2023 13:20:40 +0000 Subject: [PATCH 884/991] - Don't build systemd-doc with the mini flavor OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1428 --- systemd.changes | 5 +++++ systemd.spec | 32 ++++++++++++++------------------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/systemd.changes b/systemd.changes index 05c92a54..20343c25 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Aug 18 13:19:39 UTC 2023 - Franck Bui + +- Don't build systemd-doc with the mini flavor + ------------------------------------------------------------------- Fri Aug 18 06:24:11 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 396d876f..1a5109bc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -226,19 +226,6 @@ maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. -%package doc -Summary: HTML documentation for systemd -License: LGPL-2.1-or-later -%if %{with bootstrap} -Conflicts: systemd-doc -Requires: this-is-only-for-build-envs -%else -Supplements: (systemd and patterns-base-documentation) -%endif - -%description doc -The HTML documentation for systemd. - %package devel Summary: Development files for libsystemd and libudev License: LGPL-2.1-or-later @@ -693,6 +680,14 @@ Have fun (at your own risk). %if %{without bootstrap} %lang_package + +%package doc +Summary: HTML documentation for systemd +License: LGPL-2.1-or-later +Supplements: (systemd and patterns-base-documentation) + +%description doc +The HTML documentation for systemd. %endif %prep @@ -1009,7 +1004,8 @@ tar -cO \ %if %{without bootstrap} %find_lang systemd %else -rm -f %{buildroot}%{_journalcatalogdir}/* +rm -f %{buildroot}%{_journalcatalogdir}/* +rm -fr %{buildroot}%{_docdir}/systemd %endif # Don't drop %%pre section even if it becomes empty: the build process of @@ -1320,10 +1316,6 @@ fi %include %{SOURCE203} %endif -%files doc -%defattr(-,root,root,-) -%{_docdir}/systemd/ - %files devel %defattr(-,root,root,-) %license LICENSE.LGPL2.1 @@ -1356,6 +1348,10 @@ fi %if %{without bootstrap} %files lang -f systemd.lang %include %{SOURCE210} + +%files doc +%defattr(-,root,root,-) +%{_docdir}/systemd/ %endif %if %{with journal_remote} From 63944e4517a4ac06fd83927fdce854ad3724ff749df78ccb8d6902e998011d47 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Aug 2023 13:23:39 +0000 Subject: [PATCH 885/991] Accepting request 1104676 from home:dimstar:Factory - Explicitly require group(lp) by udev: this used to be provided by system-group-hardware, but with the introduction of system-user-lp (and systemd-users auto-generating groups) is now actually provided by system-user-lp. Latest versions of system-group-hardware clean this up and no longer also provide this group. OBS-URL: https://build.opensuse.org/request/show/1104676 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1429 --- systemd.changes | 10 ++++++++++ systemd.spec | 1 + 2 files changed, 11 insertions(+) diff --git a/systemd.changes b/systemd.changes index 20343c25..348f841a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -3,6 +3,16 @@ Fri Aug 18 13:19:39 UTC 2023 - Franck Bui - Don't build systemd-doc with the mini flavor +------------------------------------------------------------------- +Fri Aug 18 10:06:37 UTC 2023 - Dominique Leuenberger + +- Explicitly require group(lp) by udev: this used to be provided by + system-group-hardware, but with the introduction of + system-user-lp (and systemd-users auto-generating groups) is now + actually provided by system-user-lp. Latest versions of + system-group-hardware clean this up and no longer also provide + this group. + ------------------------------------------------------------------- Fri Aug 18 06:24:11 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1a5109bc..8e618049 100644 --- a/systemd.spec +++ b/systemd.spec @@ -305,6 +305,7 @@ Requires: filesystem Requires: kmod Requires: system-group-hardware Requires: group(kvm) +Requires: group(lp) # The next dependency is also needed with file-triggers enabled due to the way # the libzypp default transaction backend works. Requires(pre): group(kvm) From 02e4feb2694e7eed56f71240dde4b1ccf0a20edc4ca6e884aee963da1d5b0ec5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 18 Aug 2023 13:40:15 +0000 Subject: [PATCH 886/991] fix build warnings: "File listed twice: ..." OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1430 --- files.systemd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/files.systemd b/files.systemd index 1a25d9ad..8be3d610 100644 --- a/files.systemd +++ b/files.systemd @@ -47,7 +47,6 @@ %dir %{_systemd_util_dir}/system-preset %dir %{_systemd_util_dir}/system-shutdown %dir %{_systemd_util_dir}/user -%dir %{_systemd_util_dir}/user-generators %dir %{_systemd_util_dir}/user-preset %dir %{_systemdgeneratordir} %dir %{_systemdusergeneratordir} @@ -72,6 +71,7 @@ %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/timers.target.wants +%dir %{_unitdir}/user-.slice.d %dir %{_unitdir}/user@.service.d %dir %{_unitdir}/user@0.service.d %dir %{xinitconfdir} @@ -427,7 +427,6 @@ %{_systemd_util_dir}/systemd-userdbd %endif %{_systemd_util_dir}/systemd-xdg-autostart-condition -%{_systemd_util_dir}/user-generators/systemd-xdg-autostart-generator %{_systemd_util_dir}/user-preset/90-systemd.preset %{_systemd_util_dir}/user-preset/99-default.preset %{_systemd_util_dir}/user/app.slice @@ -455,6 +454,7 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator +%{_systemdusergeneratordir}/systemd-xdg-autostart-generator %{_sysusersdir}/systemd-journal.conf %{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf @@ -618,7 +618,6 @@ %{_unitdir}/tmp.mount %{_unitdir}/umount.target %{_unitdir}/usb-gadget.target -%{_unitdir}/user-.slice.d %{_unitdir}/user-.slice.d/10-defaults.conf %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice From c702f266c09d6a04ed43dee6ca696a32ea6773206f2ab07b9b4af9fb5b3c8fe0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 22 Aug 2023 12:54:28 +0000 Subject: [PATCH 887/991] document bsc#1211725 in the changelogs OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1431 --- systemd.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.changes b/systemd.changes index 348f841a..c661f0d8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -51,6 +51,7 @@ Wed Aug 16 08:48:58 UTC 2023 - Franck Bui - upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340) - upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606) - upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185) + - upstream commit 000680a68dbdb07d77807868df0b4f978180e4cd (bsc#1211725) * Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix for https://github.com/systemd/systemd/issues/26839 has been integrated in From e23c2b5f22cafaf3c86efc529ac4099d08ea4c75268e93c03edec253fe420fa5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 24 Aug 2023 10:50:22 +0000 Subject: [PATCH 888/991] - systemd.spec: don't use build conditionals (%bcond_with/%bcond_without) with the mini flavor to make sure that all the features remain disabled for this flavor regardless of what is enabled in the prjconf. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1432 --- systemd.changes | 7 +++++++ systemd.spec | 23 ++++++----------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/systemd.changes b/systemd.changes index c661f0d8..5af909d7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Aug 24 10:42:20 UTC 2023 - Franck Bui + +- systemd.spec: don't use build conditionals (%bcond_with/%bcond_without) with + the mini flavor to make sure that all the features remain disabled for this + flavor regardless of what is enabled in the prjconf. + ------------------------------------------------------------------- Fri Aug 18 13:19:39 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8e618049..b96bd85b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -35,23 +35,10 @@ %define when_not() %{expand:%%__when_not_%# %{*}} %if "%{flavor}" == "mini" -%define mini -mini -%bcond_without bootstrap -%bcond_with coredump -%bcond_with homed -%bcond_with importd -%bcond_with journal_remote -%bcond_with machined -%bcond_with networkd -%bcond_with portabled -%bcond_with resolved -%bcond_with sd_boot -%bcond_with sysvcompat -%bcond_with experimental -%bcond_with testsuite +%global mini -mini +%global with_bootstrap 1 %else -%define mini %nil -%bcond_with bootstrap +%global mini %nil %bcond_without coredump %bcond_without homed %bcond_without importd @@ -69,7 +56,9 @@ %bcond_without experimental %bcond_without testsuite %endif -# Kept to ease migrations toward SLE + +# The following features are kept to ease migrations toward SLE. Their default +# value is independent of the build flavor. %bcond_without filetriggers %bcond_with split_usr From d48ca6ce6d41cd2e16980a1f2543d3edd36ab284834b46f3634e8d6f9eb5d882 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 24 Aug 2023 13:26:27 +0000 Subject: [PATCH 889/991] Accepting request 1105855 from home:kukuk:no-utmp - Make utmp support per project configureable [jsc#PED-3144] - Make apparmor and selinux per project configureable [jsc#PED-2736] OBS-URL: https://build.opensuse.org/request/show/1105855 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1433 --- files.systemd | 8 ++++++++ files.sysvcompat | 8 ++++++++ systemd.changes | 6 ++++++ systemd.spec | 14 ++++++++++++-- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/files.systemd b/files.systemd index 8be3d610..56241dc4 100644 --- a/files.systemd +++ b/files.systemd @@ -380,8 +380,10 @@ %{_mandir}/man8/systemd-tmpfiles.8.gz %{_mandir}/man8/systemd-update-done.8.gz %{_mandir}/man8/systemd-update-done.service.8.gz +%if %{with utmp} %{_mandir}/man8/systemd-update-utmp.8.gz %{_mandir}/man8/systemd-update-utmp.service.8.gz +%endif %{_mandir}/man8/systemd-user-sessions.8.gz %{_mandir}/man8/systemd-user-sessions.service.8.gz %{_mandir}/man8/systemd-userdbd.8.gz @@ -420,7 +422,9 @@ %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-update-done %{_systemd_util_dir}/systemd-update-helper +%if %{with utmp} %{_systemd_util_dir}/systemd-update-utmp +%endif %{_systemd_util_dir}/systemd-user-runtime-dir %{_systemd_util_dir}/systemd-user-sessions %if %{without bootstrap} @@ -566,7 +570,9 @@ %{_unitdir}/sysinit.target.wants/systemd-sysusers.service %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service %{_unitdir}/sysinit.target.wants/systemd-update-done.service +%if %{with utmp} %{_unitdir}/sysinit.target.wants/systemd-update-utmp.service +%endif %{_unitdir}/syslog.socket %{_unitdir}/system-update-cleanup.service %{_unitdir}/system-update-pre.target @@ -605,7 +611,9 @@ %{_unitdir}/systemd-tmpfiles-clean.timer %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service +%if %{with utmp} %{_unitdir}/systemd-update-utmp.service +%endif %{_unitdir}/systemd-user-sessions.service %if %{without bootstrap} %{_unitdir}/systemd-userdbd.service diff --git a/files.sysvcompat b/files.sysvcompat index 6ce72cf6..70277b64 100644 --- a/files.sysvcompat +++ b/files.sysvcompat @@ -13,7 +13,9 @@ %{_mandir}/man8/systemd-initctl.socket.8.gz %{_mandir}/man8/systemd-rc-local-generator.8.gz %{_mandir}/man8/systemd-sysv-generator.8.gz +%if %{with utmp} %{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%endif %{_mandir}/man8/telinit.8.gz %{_sbindir}/runlevel %{_sbindir}/telinit @@ -21,10 +23,14 @@ %{_systemd_util_dir}/systemd-sysv-install %{_systemdgeneratordir}/systemd-rc-local-generator %{_systemdgeneratordir}/systemd-sysv-generator +%if %{with utmp} %{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service %{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%endif %{_unitdir}/rc-local.service +%if %{with utmp} %{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%endif %{_unitdir}/runlevel0.target %{_unitdir}/runlevel1.target %{_unitdir}/runlevel2.target @@ -35,7 +41,9 @@ %{_unitdir}/sockets.target.wants/systemd-initctl.socket %{_unitdir}/systemd-initctl.service %{_unitdir}/systemd-initctl.socket +%if %{with utmp} %{_unitdir}/systemd-update-utmp-runlevel.service +%endif %if %{with split_usr} /sbin/runlevel /sbin/telinit diff --git a/systemd.changes b/systemd.changes index 5af909d7..2d614e26 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 24 11:32:52 UTC 2023 - Thorsten Kukuk + +- Make utmp support per project configureable [jsc#PED-3144] +- Make apparmor and selinux per project configureable [jsc#PED-2736] + ------------------------------------------------------------------- Thu Aug 24 10:42:20 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b96bd85b..a0155b79 100644 --- a/systemd.spec +++ b/systemd.spec @@ -39,6 +39,7 @@ %global with_bootstrap 1 %else %global mini %nil +%bcond_without apparmor %bcond_without coredump %bcond_without homed %bcond_without importd @@ -52,9 +53,11 @@ %else %bcond_with sd_boot %endif +%bcond_without selinux %bcond_without sysvcompat %bcond_without experimental %bcond_without testsuite +%bcond_without utmp %endif # The following features are kept to ease migrations toward SLE. Their default @@ -74,7 +77,9 @@ BuildRequires: bpftool BuildRequires: clang BuildRequires: docbook-xsl-stylesheets BuildRequires: kbd +%if %{with apparmor} BuildRequires: libapparmor-devel +%endif BuildRequires: libgcrypt-devel BuildRequires: libxslt-tools BuildRequires: polkit @@ -90,7 +95,9 @@ BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre2-8) BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libseccomp) >= 2.3.1 +%if %{with selinux} BuildRequires: pkgconfig(libselinux) >= 2.1.9 +%endif BuildRequires: pkgconfig(libzstd) %endif BuildRequires: fdupes @@ -557,9 +564,11 @@ Recommends: tpm2.0-tools %if %{with resolved} # Optional dep for knot needed by TEST-75-RESOLVED Recommends: knot +%if %{with selinux} # Optional deps needed by TEST-06-SELINUX (otherwise skipped) Recommends: selinux-policy-devel Recommends: selinux-policy-targeted +%endif # The following deps on libs are for test-dlopen-so whereas the pkgconfig ones # are used by test-funtions to find the libs on the host and install them in the # image, see install_missing_libraries() for details. @@ -703,6 +712,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dclock-valid-range-usec-max=946728000000000 \ -Dadm-group=false \ -Dwheel-group=false \ + -Dutmp=%{when utmp} \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Dpamconfdir=no \ @@ -729,7 +739,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" \ -Dpstore=true \ \ - -Dapparmor=%{when_not bootstrap} \ + -Dapparmor=%{when apparmor} \ -Dbpf-framework=%{when_not bootstrap} \ -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ @@ -741,7 +751,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dnss-myhostname=%{when_not bootstrap} \ -Dnss-systemd=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ - -Dselinux=%{when_not bootstrap} \ + -Dselinux=%{when selinux} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ From 7305ef9b6b6503ff001da5d56a67b9ea4fa6be5505552e3e9d27395d5426c8e3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 11 Sep 2023 08:44:08 +0000 Subject: [PATCH 890/991] - Import commit b6b4e5a8a82d1f13f265a4ef170f2d13be82789a (merge of v254.3) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/1f73719d67b9300c6bb75232d695d03410991098...b6b4e5a8a82d1f13f265a4ef170f2d13be82789a OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1434 --- files.udev | 7 ++++--- systemd-v254.1+suse.2.g1f73719d67.tar.xz | 3 --- systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 5 files changed, 17 insertions(+), 8 deletions(-) delete mode 100644 systemd-v254.1+suse.2.g1f73719d67.tar.xz create mode 100644 systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz diff --git a/files.udev b/files.udev index 22ec47da..c338889b 100644 --- a/files.udev +++ b/files.udev @@ -49,8 +49,6 @@ %if %{without bootstrap} %{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm -%endif -%if %{without bootstrap} %{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so %{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so %{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so @@ -120,6 +118,7 @@ %{_mandir}/man8/systemd-suspend.service.8.gz %{_mandir}/man8/systemd-timesyncd.8.gz %{_mandir}/man8/systemd-timesyncd.service.8.gz +%{_mandir}/man8/systemd-tmpfiles-setup-dev-early.service.8.gz %{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz %{_mandir}/man8/systemd-udev-settle.service.8.gz %{_mandir}/man8/systemd-udevd-control.socket.8.gz @@ -141,8 +140,8 @@ %endif %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id -# dmi_memory_id is only relevant on arches with DMI %ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips +# dmi_memory_id is only relevant on arches with DMI %{_prefix}/lib/udev/dmi_memory_id %endif %{_prefix}/lib/udev/fido_id @@ -294,6 +293,7 @@ %{_unitdir}/sysinit.target.wants/systemd-modules-load.service %endif %{_unitdir}/sysinit.target.wants/systemd-random-seed.service +%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev-early.service %{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service %{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service %{_unitdir}/sysinit.target.wants/systemd-udevd.service @@ -326,6 +326,7 @@ %{_unitdir}/systemd-suspend-then-hibernate.service %{_unitdir}/systemd-suspend.service %{_unitdir}/systemd-timesyncd.service +%{_unitdir}/systemd-tmpfiles-setup-dev-early.service %{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-udev-settle.service %{_unitdir}/systemd-udev-trigger.service diff --git a/systemd-v254.1+suse.2.g1f73719d67.tar.xz b/systemd-v254.1+suse.2.g1f73719d67.tar.xz deleted file mode 100644 index 5dc85684..00000000 --- a/systemd-v254.1+suse.2.g1f73719d67.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2c57ced1a4a6a4fef63f4f480120e2f30f6eee742434d806eae40cce7356d7b -size 10343428 diff --git a/systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz b/systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz new file mode 100644 index 00000000..d4c7338b --- /dev/null +++ b/systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:780d94cd8f016ecd2031214ab41b8cd7d45535eba4f8806c2f2897850f7707dd +size 10346864 diff --git a/systemd.changes b/systemd.changes index 2d614e26..10da63ff 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Sep 11 07:54:35 UTC 2023 - Franck Bui + +- Import commit b6b4e5a8a82d1f13f265a4ef170f2d13be82789a (merge of v254.3) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/1f73719d67b9300c6bb75232d695d03410991098...b6b4e5a8a82d1f13f265a4ef170f2d13be82789a + ------------------------------------------------------------------- Thu Aug 24 11:32:52 UTC 2023 - Thorsten Kukuk diff --git a/systemd.spec b/systemd.spec index a0155b79..3c53266b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.2.g1f73719d67 +%define archive_version +suse.3.gb6b4e5a8a8 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -67,7 +67,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 254.1 +Version: 254.3 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 7168f25ef303bdbc78a3dcd3ad943f4a36d628ea07ee21275b518b560a23abf9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 12 Sep 2023 18:29:08 +0000 Subject: [PATCH 891/991] - fixlet-systemd-post.sh: fix invalid use of rpm macro %{_localstatedir} OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1435 --- fixlet-systemd-post.sh | 6 +++--- systemd.changes | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/fixlet-systemd-post.sh b/fixlet-systemd-post.sh index bfccf634..7a111937 100644 --- a/fixlet-systemd-post.sh +++ b/fixlet-systemd-post.sh @@ -252,9 +252,9 @@ fix_bsc_1020601() { # Note: run at each package update. # fix_issue_11329() { - if [ -L %{_localstatedir}/lib/systemd/timesync ]; then - rm %{_localstatedir}/lib/systemd/timesync - mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync + if [ -L /var/lib/systemd/timesync ]; then + rm /var/lib/systemd/timesync + mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync fi } diff --git a/systemd.changes b/systemd.changes index 10da63ff..752e342a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Sep 12 18:28:07 UTC 2023 - Franck Bui + +- fixlet-systemd-post.sh: fix invalid use of rpm macro %{_localstatedir} + ------------------------------------------------------------------- Mon Sep 11 07:54:35 UTC 2023 - Franck Bui From aa65ba49c24ae523bf3a3dcf4a7e9dabc45f3b6a45ab8f32dfac94fe57c75760 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 12 Sep 2023 18:35:09 +0000 Subject: [PATCH 892/991] only set build option rc-local= when necessary (ie 'sysvcompt' is enabled) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1436 --- systemd.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 3c53266b..da681338 100644 --- a/systemd.spec +++ b/systemd.spec @@ -727,8 +727,9 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" %if %{without sysvcompat} -Dsysvinit-path= \ -Dsysvrcnd-path= \ -%endif +%else -Drc-local=/etc/init.d/boot.local \ +%endif -Dcreate-log-dirs=false \ -Ddebug-shell=/bin/bash \ \ From e54cd54d7384ba26b127aaab3ba9b29af5a11eefe8a0f926791093c52ebc65ed Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 12 Sep 2023 19:31:58 +0000 Subject: [PATCH 893/991] - Don't ship after-local.service anymore. This was mostly a hack for people wanting to execute any random things once the boot was finished. We shouldn't encourage such practice and it actually conflicts with the sysv-generator which believes that /etc/init.d/after.local is SysV init script that needs to be converted into a native unit file. We still install a copy of this service in /etc if the user is relying on it, for backward compatibility. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1437 --- after-local.service | 17 ----------------- files.systemd | 2 -- fixlet-systemd-post.sh | 21 ++++++++++++++++++++- systemd.changes | 12 ++++++++++++ systemd.spec | 7 +------ 5 files changed, 33 insertions(+), 26 deletions(-) delete mode 100644 after-local.service diff --git a/after-local.service b/after-local.service deleted file mode 100644 index 500c2370..00000000 --- a/after-local.service +++ /dev/null @@ -1,17 +0,0 @@ -# This file is part of systemd. -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -[Unit] -Description=/etc/init.d/after.local Compatibility -ConditionFileIsExecutable=/etc/init.d/after.local -After=getty.target - -[Service] -Type=idle -ExecStart=/etc/init.d/after.local -TimeoutSec=0 -RemainAfterExit=yes diff --git a/files.systemd b/files.systemd index 56241dc4..537a3980 100644 --- a/files.systemd +++ b/files.systemd @@ -472,7 +472,6 @@ %{_udevrulesdir}/71-seat.rules %{_udevrulesdir}/73-seat-late.rules %{_udevrulesdir}/99-systemd.rules -%{_unitdir}/after-local.service %{_unitdir}/autovt@.service %{_unitdir}/basic.target %{_unitdir}/blockdev@.target @@ -515,7 +514,6 @@ %{_unitdir}/local-fs.target.wants/tmp.mount %{_unitdir}/modprobe@.service %{_unitdir}/multi-user.target -%{_unitdir}/multi-user.target.wants/after-local.service %{_unitdir}/multi-user.target.wants/getty.target %{_unitdir}/multi-user.target.wants/systemd-logind.service %{_unitdir}/multi-user.target.wants/systemd-user-sessions.service diff --git a/fixlet-systemd-post.sh b/fixlet-systemd-post.sh index 7a111937..1ddb654d 100644 --- a/fixlet-systemd-post.sh +++ b/fixlet-systemd-post.sh @@ -131,6 +131,7 @@ migrate_language () { fi } +# # Migrate old i18n settings previously configured in /etc/sysconfig to the new # locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent # versions of systemd parse the new locations only. @@ -139,7 +140,8 @@ migrate_language () { # might be upgrading from a system which was running SysV init (systemd package # is being installed). # -# It's run only once. +# Note: run only once. +# migrate_sysconfig_i18n() { local tagfile=/var/lib/systemd/rpm/systemd-i18n_migrated local -i rv=0 @@ -258,11 +260,28 @@ fix_issue_11329() { fi } +# +# We don't ship after-local.service anymore however as a courtesy we install a +# copy in /etc for users who are relying on it. +# +# Note: should run only once since it is conditionalized on the presence of +# %{_unitdir}/after-local.service +# +drop_after_local_support() { + if [ -x /etc/init.d/after.local ] && + [ -f /usr/lib/systemd/system/after-local.service ]; then + echo "after-local.service is no more provided by systemd but a copy has been installed in /etc" + cp /usr/lib/systemd/system/after-local.service /etc/systemd/system/ + ln -s ../after-local.service /etc/systemd/system/multi-user.target.wants/after-local.service + fi +} + r=0 fix_machine_id_perms || r=1 fix_pre_210 || r=1 migrate_sysconfig_i18n || r=1 fix_bsc_1020601 || r=1 fix_issue_11329 || r=1 +drop_after_local_support || r=1 exit $r diff --git a/systemd.changes b/systemd.changes index 752e342a..d156a94e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Sep 12 19:24:02 UTC 2023 - Franck Bui + +- Don't ship after-local.service anymore. This was mostly a hack for people + wanting to execute any random things once the boot was finished. We shouldn't + encourage such practice and it actually conflicts with the sysv-generator + which believes that /etc/init.d/after.local is SysV init script that needs to + be converted into a native unit file. + + We still install a copy of this service in /etc if the user is relying on + it, for backward compatibility. + ------------------------------------------------------------------- Tue Sep 12 18:28:07 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index da681338..78677eb4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -171,7 +171,6 @@ Source4: systemd-sysv-install Source5: tmpfiles-suse.conf Source6: baselibs.conf Source7: triggers.systemd -Source11: after-local.service Source14: kbd-model-map.legacy Source100: fixlet-container-post.sh @@ -922,10 +921,6 @@ mkdir -p %{buildroot}%{_userpresetdir} mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} -# Ensure after.local wrapper is called. -install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ -ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ - # ghost directories with default permissions. mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight @@ -1069,7 +1064,7 @@ if [ $1 -gt 1 ]; then %systemd_post systemd-userdbd.socket fi -# Run the hacks/fixups to clean up old garbages left by (very) old versions of +# Run the hacks/fixups to clean up the old stuff left by (very) old versions of # systemd. %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh $1 || : From d9c717c4a9de7e76cc35d7e856d4520ecd2bb0f94748f8f1a7b24b9c68ee7cd1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 14 Sep 2023 06:36:30 +0000 Subject: [PATCH 894/991] - systemd.spec: %regenerate_initrd_post is only used by udev sub-package hence move the build requirement pulling this macro in in the list of udev BRs. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1438 --- systemd.changes | 6 ++++++ systemd.spec | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index d156a94e..1375f760 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Sep 14 06:33:05 UTC 2023 - Franck Bui + +- systemd.spec: %regenerate_initrd_post is only used by udev sub-package hence + move the build requirement pulling this macro in in the list of udev BRs. + ------------------------------------------------------------------- Tue Sep 12 19:24:02 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 78677eb4..31a46215 100644 --- a/systemd.spec +++ b/systemd.spec @@ -108,9 +108,6 @@ BuildRequires: libmount-devel >= 2.27.1 BuildRequires: meson >= 0.53.2 BuildRequires: pam-devel BuildRequires: python3-Jinja2 -# regenerate_initrd_post macro is expanded during build, hence this BR. Also -# this macro was introduced since version 12.4. -BuildRequires: suse-module-tools >= 12.4 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 @@ -307,6 +304,8 @@ Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils Requires(postun):coreutils +# 'regenerate_initrd_post' macro is expanded during build, hence this BR. +BuildRequires: suse-module-tools %if %{without bootstrap} BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libkmod) >= 15 From d4061baee860355f02605913c46e4f17e9645ba3522c35c158ab1105537abb31 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 14 Sep 2023 12:40:59 +0000 Subject: [PATCH 895/991] explicitely enable/disable ukify OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1439 --- systemd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.spec b/systemd.spec index 31a46215..57b5b060 100644 --- a/systemd.spec +++ b/systemd.spec @@ -782,6 +782,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Doomd=%{when experimental} \ -Drepart=%{when experimental} \ -Dsysupdate=%{when experimental} \ + -Dukify=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ -Dinstall-tests=%{when testsuite} From 8acfd11dde9a49e0a1e29a0afa32e25c65299968b3ad86bd92111e6372302cda Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Sep 2023 08:36:42 +0000 Subject: [PATCH 896/991] reword one comment OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1440 --- systemd.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.spec b/systemd.spec index 57b5b060..46843d60 100644 --- a/systemd.spec +++ b/systemd.spec @@ -933,8 +933,8 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database %fdupes -s %{buildroot}%{_mandir} -# Make sure to disable all services by default. The SUSE branding presets -# package takes care of defining the right policies. +# Make sure to disable all services by default. The branding presets package +# takes care of defining the SUSE policies. rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset From 7cfb2ae59ec2f4eb4da8d1006474bc474d270b446a38f1c9801f7bf7207b19e6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Sep 2023 14:28:05 +0000 Subject: [PATCH 897/991] - systemd.spec: when enabling units prefer enabling service units over socket ones for socket activable services. The services shipped by systemd automatically redirect the enablement request to the socket unit. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1441 --- systemd.changes | 7 +++++++ systemd.spec | 22 +++++++++++----------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/systemd.changes b/systemd.changes index 1375f760..0b369f59 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Sep 22 14:23:38 UTC 2023 - Franck Bui + +- systemd.spec: when enabling units prefer enabling service units over socket + ones for socket activable services. The services shipped by systemd + automatically redirect the enablement request to the socket unit. + ------------------------------------------------------------------- Thu Sep 14 06:33:05 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 46843d60..07fe64f0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1017,7 +1017,7 @@ if [ $1 -gt 1 ]; then %systemd_pre getty@.service %systemd_pre systemd-timesyncd.service %systemd_pre systemd-journald-audit.socket - %systemd_pre systemd-userdbd.socket + %systemd_pre systemd-userdbd.service fi %post @@ -1061,7 +1061,7 @@ if [ $1 -gt 1 ]; then %systemd_post getty@.service %systemd_post systemd-timesyncd.service %systemd_post systemd-journald-audit.socket - %systemd_post systemd-userdbd.socket + %systemd_post systemd-userdbd.service fi # Run the hacks/fixups to clean up the old stuff left by (very) old versions of @@ -1160,26 +1160,26 @@ fi %if %{with journal_remote} %pre journal-remote -%systemd_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%systemd_pre systemd-journal-remote.socket systemd-journal-remote.service +%systemd_pre systemd-journal-gatewayd.service +%systemd_pre systemd-journal-remote.service %systemd_pre systemd-journal-upload.service %post journal-remote # Assume that all files shipped by systemd-journal-remove are owned by root. %sysusers_create systemd-remote.conf -%systemd_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%systemd_post systemd-journal-remote.socket systemd-journal-remote.service +%systemd_post systemd-journal-gatewayd.service +%systemd_post systemd-journal-remote.service %systemd_post systemd-journal-upload.service %preun journal-remote -%systemd_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%systemd_preun systemd-journal-remote.socket systemd-journal-remote.service +%systemd_preun systemd-journal-gatewayd.service +%systemd_preun systemd-journal-remote.service %systemd_preun systemd-journal-upload.service %postun journal-remote -%systemd_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service -%systemd_postun systemd-journal-remote.socket systemd-journal-remote.service -%systemd_postun systemd-journal-upload.service +%systemd_postun_with_restart systemd-journal-gatewayd.service +%systemd_postun_with_restart systemd-journal-remote.service +%systemd_postun_with_restart systemd-journal-upload.service %endif %if %{with networkd} || %{with resolved} From 4553b1a7f34695352a1de326bfef624987428e69d0e1cb70a593b464fe140732 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Sep 2023 14:43:05 +0000 Subject: [PATCH 898/991] timesyncd is shipped in udev, move the related calls to %systemd_* in the udev scriptlets OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1442 --- systemd.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/systemd.spec b/systemd.spec index 07fe64f0..629325a2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1015,7 +1015,6 @@ if [ $1 -gt 1 ]; then # takes care of applying the presets in its %%posttrans in this case). %systemd_pre remote-fs.target %systemd_pre getty@.service - %systemd_pre systemd-timesyncd.service %systemd_pre systemd-journald-audit.socket %systemd_pre systemd-userdbd.service fi @@ -1059,7 +1058,6 @@ if [ $1 -gt 1 ]; then # See comments for %%systemd_pre in %%pre. %systemd_post remote-fs.target %systemd_post getty@.service - %systemd_post systemd-timesyncd.service %systemd_post systemd-journald-audit.socket %systemd_post systemd-userdbd.service fi @@ -1071,7 +1069,6 @@ fi %postun # Avoid restarting logind until fixed upstream (issue #1163) %systemd_postun_with_restart systemd-journald.service -%systemd_postun_with_restart systemd-timesyncd.service %systemd_postun_with_restart systemd-userdbd.service %pre -n udev%{?mini} @@ -1079,6 +1076,7 @@ fi # setting. %systemd_pre remote-cryptsetup.target %systemd_pre systemd-pstore.service +%systemd_pre systemd-timesyncd.service # New installations uses the last compat symlink generation number (currently at # 2), which basically disables all compat symlinks. On old systems, the file @@ -1097,6 +1095,7 @@ fi %endif %systemd_post remote-cryptsetup.target %systemd_post systemd-pstore.service +%systemd_post systemd-timesyncd.service %preun -n udev%{?mini} %systemd_preun systemd-udevd.service systemd-udevd-{control,kernel}.socket @@ -1120,6 +1119,7 @@ fi # frame where no socket will be listening to the events sent by the kernel, no # matter if the socket unit is restarted in first or not. %systemd_postun_with_restart systemd-udevd.service systemd-udevd-{control,kernel}.socket +%systemd_postun_with_restart systemd-timesyncd.service %systemd_postun systemd-pstore.service %posttrans -n udev%{?mini} From c92f800b3c6660e7137c0941b94409f412e113b95b15ef61fe3904c30f6c59d4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Sep 2023 14:46:21 +0000 Subject: [PATCH 899/991] add missing '%systemd_preun systemd-timesyncd.service' OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1443 --- systemd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.spec b/systemd.spec index 629325a2..85967108 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1100,6 +1100,7 @@ fi %preun -n udev%{?mini} %systemd_preun systemd-udevd.service systemd-udevd-{control,kernel}.socket %systemd_preun systemd-pstore.service +%systemd_preun systemd-timesyncd.service %postun -n udev%{?mini} %regenerate_initrd_post From bac4d989f28dc4b79466ccab7b4243fb0d1538a9d834a71493e1c29defb4035f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Sep 2023 15:05:44 +0000 Subject: [PATCH 900/991] - systemd.spec: during package updates, restart localed, timedated and hostnamed if they're running. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1444 --- systemd.changes | 6 ++++++ systemd.spec | 3 +++ 2 files changed, 9 insertions(+) diff --git a/systemd.changes b/systemd.changes index 0b369f59..d44953c0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 22 15:04:54 UTC 2023 - Franck Bui + +- systemd.spec: during package updates, restart localed, timedated and hostnamed + if they're running. + ------------------------------------------------------------------- Fri Sep 22 14:23:38 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 85967108..ba707727 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1068,7 +1068,10 @@ fi %postun # Avoid restarting logind until fixed upstream (issue #1163) +%systemd_postun_with_restart systemd-hostnamed.service %systemd_postun_with_restart systemd-journald.service +%systemd_postun_with_restart systemd-localed.service +%systemd_postun_with_restart systemd-timedated.service %systemd_postun_with_restart systemd-userdbd.service %pre -n udev%{?mini} From 0545884627868c52dd9c825279bfb20354285fd3636594cf2e3e03d39a169808 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Sep 2023 15:25:11 +0000 Subject: [PATCH 901/991] for consistency with the other sub-packages, always run %systemd_{pre,post} for the main package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1445 --- systemd.spec | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/systemd.spec b/systemd.spec index ba707727..652e70df 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1008,16 +1008,15 @@ rm -fr %{buildroot}%{_docdir}/systemd # installation images uses a hardcoded list of packages with a %%pre that needs # to be run during the build and complains if it can't find one. %pre -if [ $1 -gt 1 ]; then - # We keep these just in case we're upgrading from an old version that - # was missing one of these units. During package installation, these - # macros are NOPs for the main package (the branding preset package - # takes care of applying the presets in its %%posttrans in this case). - %systemd_pre remote-fs.target - %systemd_pre getty@.service - %systemd_pre systemd-journald-audit.socket - %systemd_pre systemd-userdbd.service -fi +# We don't really need to enable these units explicitely since during +# installation `systemctl preset-all` is executed at the end of the install +# transaction by the branding preset package. However it might be needed when +# upgrading from a previous version of systemd that didn't ship one of these +# units. +%systemd_pre remote-fs.target +%systemd_pre getty@.service +%systemd_pre systemd-journald-audit.socket +%systemd_pre systemd-userdbd.service %post if [ $1 -eq 1 ]; then @@ -1054,13 +1053,11 @@ systemd-tmpfiles --create || : journalctl --update-catalog || : %endif -if [ $1 -gt 1 ]; then - # See comments for %%systemd_pre in %%pre. - %systemd_post remote-fs.target - %systemd_post getty@.service - %systemd_post systemd-journald-audit.socket - %systemd_post systemd-userdbd.service -fi +# See the comment in %%pre about why we need to call %%systemd_pre. +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-journald-audit.socket +%systemd_post systemd-userdbd.service # Run the hacks/fixups to clean up the old stuff left by (very) old versions of # systemd. From f6340004a380c3c1b34e1e6155bed89ee8dda0f4ae300a3fee539b0e52cdb280 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 25 Sep 2023 08:30:24 +0000 Subject: [PATCH 902/991] - Import commit 6ed5b11298005e07509832881a0c5ff1a80bf225 (merge of v254.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/b6b4e5a8a82d1f13f265a4ef170f2d13be82789a...6ed5b11298005e07509832881a0c5ff1a80bf225 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1446 --- systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz | 3 --- systemd-v254.4+suse.4.g6ed5b11298.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz create mode 100644 systemd-v254.4+suse.4.g6ed5b11298.tar.xz diff --git a/systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz b/systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz deleted file mode 100644 index d4c7338b..00000000 --- a/systemd-v254.3+suse.3.gb6b4e5a8a8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:780d94cd8f016ecd2031214ab41b8cd7d45535eba4f8806c2f2897850f7707dd -size 10346864 diff --git a/systemd-v254.4+suse.4.g6ed5b11298.tar.xz b/systemd-v254.4+suse.4.g6ed5b11298.tar.xz new file mode 100644 index 00000000..54821305 --- /dev/null +++ b/systemd-v254.4+suse.4.g6ed5b11298.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9911fb661f392743160bbfceb70cca5961f6749f219564cf2079ac93a9a19cbd +size 10348540 diff --git a/systemd.changes b/systemd.changes index d44953c0..c6ecaa33 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Sep 25 08:05:21 UTC 2023 - Franck Bui + +- Import commit 6ed5b11298005e07509832881a0c5ff1a80bf225 (merge of v254.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b6b4e5a8a82d1f13f265a4ef170f2d13be82789a...6ed5b11298005e07509832881a0c5ff1a80bf225 + ------------------------------------------------------------------- Fri Sep 22 15:04:54 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 652e70df..1e670cb8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.3.gb6b4e5a8a8 +%define archive_version +suse.4.g6ed5b11298 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -67,7 +67,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 254.3 +Version: 254.4 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 425b7c38bbad82c8edc34b95493185b5a26108b535eb3026681fb75d604c4598 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 27 Sep 2023 09:24:14 +0000 Subject: [PATCH 903/991] - systemd.spec: add `%tmpfiles_create systemd-resolve` It's only needed by SLE distros since systemd packages rely on transtriggerfiles in Factory. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1447 --- systemd.changes | 8 ++++++++ systemd.spec | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index c6ecaa33..0dcf172a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Sep 27 07:31:06 UTC 2023 - Franck Bui + +- systemd.spec: add `%tmpfiles_create systemd-resolve` + + It's only needed by SLE distros since systemd packages rely on + transtriggerfiles in Factory. + ------------------------------------------------------------------- Mon Sep 25 08:05:21 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1e670cb8..4577683f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -440,7 +440,7 @@ see nss-mymachines(8) manpage for more details. %if %{with networkd} || %{with resolved} %package network -Summary: systemd network and Network Name Resolution managers +Summary: Systemd Network And Network Name Resolution Managers License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -1204,7 +1204,10 @@ fi %endif %if %{with resolved} %ldconfig +%if %{without filetriggers} %sysusers_create systemd-resolve.conf +%tmpfiles_create systemd-resolve.conf +%endif %systemd_post systemd-resolved.service %endif From 885d7925a8cafc57907d6805d16471e56d1efc90d474a271a53b4c7565cf3ffd Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 27 Sep 2023 10:02:08 +0000 Subject: [PATCH 904/991] - systemd.spec: switch to %ldconfig_scriptlets OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1448 --- systemd.changes | 5 +++++ systemd.spec | 11 ++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/systemd.changes b/systemd.changes index 0dcf172a..5393e48b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Sep 27 09:52:33 UTC 2023 - Franck Bui + +- systemd.spec: switch to %ldconfig_scriptlets + ------------------------------------------------------------------- Wed Sep 27 07:31:06 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4577683f..40deaf40 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1126,11 +1126,8 @@ fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%post -n libudev%{?mini}1 -p %ldconfig -%post -n libsystemd0%{?mini} -p %ldconfig - -%postun -n libudev%{?mini}1 -p %ldconfig -%postun -n libsystemd0%{?mini} -p %ldconfig +%ldconfig_scriptlets -n libsystemd0%{?mini} +%ldconfig_scriptlets -n libudev%{?mini}1 %if %{with machined} %pre container @@ -1140,17 +1137,17 @@ fi %systemd_preun machines.target %postun container -%systemd_postun machines.target %ldconfig +%systemd_postun machines.target %endif %post container %if %{with machined} +%ldconfig %if %{without filetriggers} %tmpfiles_create systemd-nspawn.conf %endif %systemd_post machines.target -%ldconfig %{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || : %endif From f3560138dfeddb3408fb97a26eba2a16296b7c75b578587cc38cb43c7a4918c1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 27 Sep 2023 10:15:58 +0000 Subject: [PATCH 905/991] - Make sure to call %sysusers_create only when transfiletrigger is disabled. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1449 --- systemd.changes | 5 +++++ systemd.spec | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/systemd.changes b/systemd.changes index 5393e48b..b1d2364e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Sep 27 10:12:48 UTC 2023 - Franck Bui + +- Make sure to call %sysusers_create only when transfiletrigger is disabled. + ------------------------------------------------------------------- Wed Sep 27 09:52:33 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 40deaf40..a0b1375f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1153,8 +1153,10 @@ fi %if %{with coredump} %post coredump +%if %{without filetriggers} %sysusers_create systemd-coredump.conf %endif +%endif %if %{with journal_remote} %pre journal-remote @@ -1164,7 +1166,9 @@ fi %post journal-remote # Assume that all files shipped by systemd-journal-remove are owned by root. +%if %{without filetriggers} %sysusers_create systemd-remote.conf +%endif %systemd_post systemd-journal-gatewayd.service %systemd_post systemd-journal-remote.service %systemd_post systemd-journal-upload.service @@ -1271,7 +1275,9 @@ fi %systemd_pre systemd-oomd.service systemd-oomd.socket %post experimental +%if %{without filetriggers} %sysusers_create systemd-oom.conf +%endif %systemd_post systemd-homed.service %systemd_post systemd-oomd.service systemd-oomd.socket From 478cb79ec55080221d58399d36052cc5a88b299c1cdd78bb4aad06add3f079f1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 27 Sep 2023 13:16:32 +0000 Subject: [PATCH 906/991] - Import commit 9674bb256205e6c643feadbcccfd1ee8feeee684 (merge of v254.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/6ed5b11298005e07509832881a0c5ff1a80bf225...9674bb256205e6c643feadbcccfd1ee8feeee684 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1450 --- systemd-v254.4+suse.4.g6ed5b11298.tar.xz | 3 --- systemd-v254.5+suse.5.g9674bb2562.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v254.4+suse.4.g6ed5b11298.tar.xz create mode 100644 systemd-v254.5+suse.5.g9674bb2562.tar.xz diff --git a/systemd-v254.4+suse.4.g6ed5b11298.tar.xz b/systemd-v254.4+suse.4.g6ed5b11298.tar.xz deleted file mode 100644 index 54821305..00000000 --- a/systemd-v254.4+suse.4.g6ed5b11298.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9911fb661f392743160bbfceb70cca5961f6749f219564cf2079ac93a9a19cbd -size 10348540 diff --git a/systemd-v254.5+suse.5.g9674bb2562.tar.xz b/systemd-v254.5+suse.5.g9674bb2562.tar.xz new file mode 100644 index 00000000..6a9199d1 --- /dev/null +++ b/systemd-v254.5+suse.5.g9674bb2562.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dc2d8ed7ea59d5ab5a8e0662d9a0848f41b4235ac5da3728ecce64834299986 +size 10349392 diff --git a/systemd.changes b/systemd.changes index b1d2364e..19bb94ca 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Sep 27 13:14:12 UTC 2023 - Franck Bui + +- Import commit 9674bb256205e6c643feadbcccfd1ee8feeee684 (merge of v254.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/6ed5b11298005e07509832881a0c5ff1a80bf225...9674bb256205e6c643feadbcccfd1ee8feeee684 + ------------------------------------------------------------------- Wed Sep 27 10:12:48 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a0b1375f..30bf9a8a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.4.g6ed5b11298 +%define archive_version +suse.5.g9674bb2562 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -67,7 +67,7 @@ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 254.4 +Version: 254.5 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From df4bf73ed05ecef93a6ec798820fa9497b60630d8c3652dd5f21055c70d739d9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 27 Sep 2023 14:56:42 +0000 Subject: [PATCH 907/991] ukify is disabled when -Dbootloader=no OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1451 --- systemd.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/systemd.spec b/systemd.spec index 30bf9a8a..92faf618 100644 --- a/systemd.spec +++ b/systemd.spec @@ -782,7 +782,11 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Doomd=%{when experimental} \ -Drepart=%{when experimental} \ -Dsysupdate=%{when experimental} \ +%if %{with sd_boot} -Dukify=%{when experimental} \ +%else + -Dukify=no \ +%endif \ -Dtests=%{when testsuite unsafe} \ -Dinstall-tests=%{when testsuite} From f64fb68f1901b688a51155741d095c1dfc46f6ebb3154ca2b6cd36e943a7d326 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 27 Sep 2023 15:05:09 +0000 Subject: [PATCH 908/991] replace -Dukify=no with -Dukify=false OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1452 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 92faf618..1fda0289 100644 --- a/systemd.spec +++ b/systemd.spec @@ -785,7 +785,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" %if %{with sd_boot} -Dukify=%{when experimental} \ %else - -Dukify=no \ + -Dukify=false \ %endif \ -Dtests=%{when testsuite unsafe} \ From eea67bab1442797d3f3b0f8cf9efde2dab197bcc4650c230b105a6c3210eee81 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 29 Sep 2023 06:37:16 +0000 Subject: [PATCH 909/991] document bsc#1215241 in systemd.changes OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1453 --- systemd.changes | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/systemd.changes b/systemd.changes index 19bb94ca..450f0805 100644 --- a/systemd.changes +++ b/systemd.changes @@ -589,6 +589,10 @@ Mon Mar 6 10:08:33 UTC 2023 - Franck Bui See https://github.com/openSUSE/systemd/blob/SUSE/v253/NEWS for details. + This includes the following bug fixes: + + - upstream commit 3022916b4d2483452c3ddbbac9ee7c4372b1cb46 (bsc#1215241) + * Rebased 0001-conf-parser-introduce-early-drop-ins.patch * Ship systemd-journald-audit.socket again: it can now be disabled via the From a7fb681d2b89aa87cc82a4f15c570046eb36a62ed1e2c434903ff5458ea5798e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Oct 2023 09:03:05 +0000 Subject: [PATCH 910/991] - Drop 5000-core-manager-run-generators-directly-when-we-are-in-.patch Since dracut-059+suse.447.g9d1fc722, this workaround is not needed anymore. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1454 --- ...-generators-directly-when-we-are-in-.patch | 34 ------------------- systemd.changes | 7 ++++ systemd.spec | 1 - 3 files changed, 7 insertions(+), 35 deletions(-) delete mode 100644 5000-core-manager-run-generators-directly-when-we-are-in-.patch diff --git a/5000-core-manager-run-generators-directly-when-we-are-in-.patch b/5000-core-manager-run-generators-directly-when-we-are-in-.patch deleted file mode 100644 index 20c0b682..00000000 --- a/5000-core-manager-run-generators-directly-when-we-are-in-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9d0f728f65e6c3ad586e276c1ed3c2cd8cc944be Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Mon, 20 Feb 2023 12:00:30 +0900 -Subject: [PATCH 5000/5000] core/manager: run generators directly when we are - in initrd - -Some initrd system write files at ourside of /run, /etc, or other -allowed places. This is a kind of workaround, but in most cases, such -sandboxing is not necessary as the filesystem is on ramfs when we are in -initrd. - -Fixes #26488. ---- - src/core/manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 380a4e30d7..6135205761 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -3822,8 +3822,8 @@ static int manager_run_generators(Manager *m) { - /* If we are the system manager, we fork and invoke the generators in a sanitized mount namespace. If - * we are the user manager, let's just execute the generators directly. We might not have the - * necessary privileges, and the system manager has already mounted /tmp/ and everything else for us. -- */ -- if (MANAGER_IS_USER(m)) { -+ * If we are in initrd, let's also execute the generators directly, as we are in ramfs. */ -+ if (MANAGER_IS_USER(m) || in_initrd()) { - r = manager_execute_generators(m, paths, /* remount_ro= */ false); - goto finish; - } --- -2.35.3 - diff --git a/systemd.changes b/systemd.changes index 450f0805..51101b98 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Oct 4 09:00:32 UTC 2023 - Franck Bui + +- Drop 5000-core-manager-run-generators-directly-when-we-are-in-.patch + + Since dracut-059+suse.447.g9d1fc722, this workaround is not needed anymore. + ------------------------------------------------------------------- Wed Sep 27 13:14:12 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1fda0289..dd65ca2a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -206,7 +206,6 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # very few cases, some stuff might be broken in upstream and need to be fixed or # worked around quickly. In these cases, the patches are added temporarily and # will be removed as soon as a proper fix will be merged by upstream. -Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 5cac7fa73584ee02c987d7c2415e7d4579624afcd2412bef78538f3a30fc3b55 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Oct 2023 10:36:20 +0000 Subject: [PATCH 911/991] Rename libudev-mini1 into libudev1-mini for consistency with libsystemd0-mini OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1455 --- systemd.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/systemd.spec b/systemd.spec index dd65ca2a..fdf8a7d2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -221,7 +221,7 @@ drop-in replacement for sysvinit. Summary: Development files for libsystemd and libudev License: LGPL-2.1-or-later Requires: libsystemd0%{?mini} = %{version}-%{release} -Requires: libudev%{?mini}1 = %{version}-%{release} +Requires: libudev1%{?mini} = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} @@ -350,7 +350,7 @@ mounted filesystem to full size of the underlying block device. This package shouldn't be necessary in containers. -%package -n libudev%{?mini}1 +%package -n libudev1%{?mini} Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later %if %{with bootstrap} @@ -360,7 +360,7 @@ Provides: libudev1 = %{version}-%{release} Requires: this-is-only-for-build-envs %endif -%description -n libudev%{?mini}1 +%description -n libudev1%{?mini} This package contains the dynamic library libudev, which provides access to udev device information @@ -1130,7 +1130,7 @@ fi %regenerate_initrd_posttrans %ldconfig_scriptlets -n libsystemd0%{?mini} -%ldconfig_scriptlets -n libudev%{?mini}1 +%ldconfig_scriptlets -n libudev1%{?mini} %if %{with machined} %pre container @@ -1339,7 +1339,7 @@ fi %{_libdir}/libsystemd.so.0 %{_libdir}/libsystemd.so.0.37.0 -%files -n libudev%{?mini}1 +%files -n libudev1%{?mini} %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 From f6b76a3a2ad1798c7e46a175be4eb2062da2ea9d32b4dd97d78d3498ac0717fc Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 4 Oct 2023 14:25:23 +0000 Subject: [PATCH 912/991] systemd-rpmlintrc: don't consider NSS plugins as shared libs OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1456 --- systemd-rpmlintrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 717dd254..848c01ec 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -12,3 +12,8 @@ addFilter(".*tmpfile-not-in-filelist .*") # shlib policy does not cover multibuilds addFilter("libsystemd0-mini\..*: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") +addFilter("libudev1-mini\..*: E: shlib-policy-name-error SONAME: libudev1") + +# These are NSS plugins and are not really subject to shlib policy. +addFilter("systemd-container\..*: E: shlib-policy-name-error .* libnss_mymachines") +addFilter("systemd-network\..*: E: shlib-policy-name-error .* libnss_resolve") From 4b4dee5b9a68799aebb5d54f093bb4c9ebac1b74b49d222b13055c250efee96d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 5 Oct 2023 06:41:50 +0000 Subject: [PATCH 913/991] fix rpmlint error due to the previous rename of libudev mini package OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1457 --- systemd-rpmlintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 848c01ec..6f07aeb3 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -12,7 +12,7 @@ addFilter(".*tmpfile-not-in-filelist .*") # shlib policy does not cover multibuilds addFilter("libsystemd0-mini\..*: E: shlib-policy-name-error SONAME: libsystemd.so.0.*") -addFilter("libudev1-mini\..*: E: shlib-policy-name-error SONAME: libudev1") +addFilter("libudev.*-mini\..*: E: shlib-policy-name-error SONAME: libudev.*") # These are NSS plugins and are not really subject to shlib policy. addFilter("systemd-container\..*: E: shlib-policy-name-error .* libnss_mymachines") From a9a04c61d4fcf4e619e9cd48bc47e6a2a050bae86fb420569cfaa185007994b5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 5 Oct 2023 09:08:59 +0000 Subject: [PATCH 914/991] Revert "Rename libudev-mini1 into libudev1-mini for consistency with libsystemd0-mini" The name "libudev-mini1" is hardcoded in multiple OBS project configs. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1458 --- systemd.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/systemd.spec b/systemd.spec index fdf8a7d2..dd65ca2a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -221,7 +221,7 @@ drop-in replacement for sysvinit. Summary: Development files for libsystemd and libudev License: LGPL-2.1-or-later Requires: libsystemd0%{?mini} = %{version}-%{release} -Requires: libudev1%{?mini} = %{version}-%{release} +Requires: libudev%{?mini}1 = %{version}-%{release} Requires: systemd-rpm-macros Provides: libudev%{?mini}-devel = %{version}-%{release} Obsoletes: libudev%{?mini}-devel < %{version}-%{release} @@ -350,7 +350,7 @@ mounted filesystem to full size of the underlying block device. This package shouldn't be necessary in containers. -%package -n libudev1%{?mini} +%package -n libudev%{?mini}1 Summary: Dynamic library to access udev device information License: LGPL-2.1-or-later %if %{with bootstrap} @@ -360,7 +360,7 @@ Provides: libudev1 = %{version}-%{release} Requires: this-is-only-for-build-envs %endif -%description -n libudev1%{?mini} +%description -n libudev%{?mini}1 This package contains the dynamic library libudev, which provides access to udev device information @@ -1130,7 +1130,7 @@ fi %regenerate_initrd_posttrans %ldconfig_scriptlets -n libsystemd0%{?mini} -%ldconfig_scriptlets -n libudev1%{?mini} +%ldconfig_scriptlets -n libudev%{?mini}1 %if %{with machined} %pre container @@ -1339,7 +1339,7 @@ fi %{_libdir}/libsystemd.so.0 %{_libdir}/libsystemd.so.0.37.0 -%files -n libudev1%{?mini} +%files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 From cd6da999b026230968bf1dcab72160485e4ec425a3a13a37329f95d348d10f26 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 5 Oct 2023 15:07:08 +0000 Subject: [PATCH 915/991] - rpmlintrc: allow systemd-network and systemd-container sub-packages to ship shared libs. These are actually NSS plugins and are not really subject to shlib policy. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1459 --- systemd.changes | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/systemd.changes b/systemd.changes index 51101b98..2403066f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 5 15:04:50 UTC 2023 - Franck Bui + +- rpmlintrc: allow systemd-network and systemd-container sub-packages to ship + shared libs. These are actually NSS plugins and are not really subject to + shlib policy. + ------------------------------------------------------------------- Wed Oct 4 09:00:32 UTC 2023 - Franck Bui From b4278439c59ab31ba43a28c37bd6eaaa67ac43f63c6b220f30af3f9db1d16265 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 13 Oct 2023 09:36:13 +0000 Subject: [PATCH 916/991] - tmpfiles-suse.conf: drop entries for /run/lock and /var/log/wtmp /run/lock is now defined by filesystem package and wtmp has been replaced by wtmpdb on TW. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1460 --- files.systemd | 2 +- systemd.changes | 8 ++++++++ systemd.spec | 24 +++++------------------- tmpfiles-suse.conf | 6 ------ 4 files changed, 14 insertions(+), 26 deletions(-) diff --git a/files.systemd b/files.systemd index 537a3980..ec5e7abc 100644 --- a/files.systemd +++ b/files.systemd @@ -463,8 +463,8 @@ %{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf %{_tmpfilesdir}/provision.conf -%{_tmpfilesdir}/suse.conf %{_tmpfilesdir}/systemd-nologin.conf +%{_tmpfilesdir}/systemd-suse.conf %{_tmpfilesdir}/systemd-tmp.conf %{_tmpfilesdir}/systemd.conf %{_tmpfilesdir}/x11.conf diff --git a/systemd.changes b/systemd.changes index 2403066f..8b708544 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Oct 13 09:28:23 UTC 2023 - Franck Bui + +- tmpfiles-suse.conf: drop entries for /run/lock and /var/log/wtmp + + /run/lock is now defined by filesystem package and wtmp has been replaced by + wtmpdb on TW. + ------------------------------------------------------------------- Thu Oct 5 15:04:50 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dd65ca2a..c1690bcb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -942,26 +942,12 @@ rm -f %{buildroot}%{_presetdir}/*.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset echo 'disable *' >%{buildroot}%{_userpresetdir}/99-default.preset -# The current situation with tmpfiles snippets dealing with the generic paths is -# pretty messy currently because: -# -# 1. filesystem package wants to define the generic paths and some of them -# conflict with the definition given by systemd in var.conf, see -# bsc#1078466. -# -# 2. /tmp and /var/tmp are not cleaned by default on SUSE distros (fate#314974) -# which conflict with tmp.conf. -# -# 3. There're also legacy.conf which defines various legacy paths which either -# don't match the SUSE defaults or don't look needed at all. -# -# 4. We don't want the part in etc.conf which imports default upstream files in -# empty /etc, see below. -# -# To keep things simple, we remove all these tmpfiles config files but still -# keep the remaining paths that still don't have a better home in suse.conf. +# Most of the entries for the generic paths are defined by filesystem package as +# the definitions used by SUSE distros diverged from the ones defined by +# systemd. For lack of a better place some (deprecated) paths are still shipped +# along with the systemd package. rm -f %{buildroot}%{_tmpfilesdir}/{etc,home,legacy,tmp,var}.conf -install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/suse.conf +install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/systemd-suse.conf # The content of the files shipped by systemd doesn't match the # defaults used by SUSE. Don't ship those files but leave the decision diff --git a/tmpfiles-suse.conf b/tmpfiles-suse.conf index 74acc896..a39c8380 100644 --- a/tmpfiles-suse.conf +++ b/tmpfiles-suse.conf @@ -5,9 +5,3 @@ # Legacy symlink. Maybe should be owned by util-linux ? L+ /etc/mtab - - - - ../proc/self/mounts - -# FIXME: move to filesystem ? -d /run/lock 0775 root root - - -# FIXME: Move to shadow ? -f /var/log/wtmp 0664 root utmp - From 98ac13b656daaefb7b799ef2dea0785bb1bb24b87d728b2c4de593ac4232f29b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 13 Oct 2023 11:28:05 +0000 Subject: [PATCH 917/991] - Don't include entries listed in kbd-model-map.xkb-generated (provided by kbd package) in kbd-model-map anymore. Yast, the only user of these entries, directly parses kbd-model-map.xkb-generated now (bsc#1211104). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1461 --- systemd.changes | 7 +++++++ systemd.spec | 13 ------------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/systemd.changes b/systemd.changes index 8b708544..a2f69f8e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Oct 13 09:38:37 UTC 2023 - Franck Bui + +- Don't include entries listed in kbd-model-map.xkb-generated (provided by kbd + package) in kbd-model-map anymore. Yast, the only user of these entries, + directly parses kbd-model-map.xkb-generated now (bsc#1211104). + ------------------------------------------------------------------- Fri Oct 13 09:28:23 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c1690bcb..2fc49453 100644 --- a/systemd.spec +++ b/systemd.spec @@ -76,7 +76,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bpftool BuildRequires: clang BuildRequires: docbook-xsl-stylesheets -BuildRequires: kbd %if %{with apparmor} BuildRequires: libapparmor-devel %endif @@ -955,18 +954,6 @@ install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/systemd-suse.conf # consume those configs (like glibc or pam), see bsc#1170146. rm -fr %{buildroot}%{_datadir}/factory/* -# Add entries for xkeyboard-config converted keymaps; mappings, which already -# exist in original systemd mapping table are being ignored though, i.e. not -# overwritten; needed as long as YaST uses console keymaps internally and calls -# localectl to convert from vconsole to X11 keymaps. Ideally YaST should switch -# to X11 layout names (the mapping table wouldn't be needed since each X11 -# keymap has a generated xkbd keymap) and let localectl initialize -# /etc/vconsole.conf and /etc/X11/xorg.conf.d/00-keyboard.conf (FATE#319454). -if [ -f /usr/share/systemd/kbd-model-map.xkb-generated ]; then - cat /usr/share/systemd/kbd-model-map.xkb-generated \ - >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map -fi - # kbd-model-map.legacy is used to provide mapping for legacy keymaps, which may # still be used by yast. cat %{SOURCE14} >>%{buildroot}%{_datarootdir}/systemd/kbd-model-map From aafec26f96e821f2e40488b99393928f7138d75e76925e96e1752a06dc9b12f0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 18 Oct 2023 08:34:32 +0000 Subject: [PATCH 918/991] - systemd.spec: disable transfiletriggers Unforunately bsc#1041742 has been re-opened so it's again not safe to rely on transfiletriggers until rpm-4.19 is released. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1462 --- systemd.changes | 8 ++++++++ systemd.spec | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index a2f69f8e..74504ff5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Oct 18 08:10:01 UTC 2023 - Franck Bui + +- systemd.spec: disable transfiletriggers + + Unforunately bsc#1041742 has been re-opened so it's again not safe to rely on + transfiletriggers until rpm-4.19 is released. + ------------------------------------------------------------------- Fri Oct 13 09:38:37 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 2fc49453..569fb095 100644 --- a/systemd.spec +++ b/systemd.spec @@ -62,7 +62,7 @@ # The following features are kept to ease migrations toward SLE. Their default # value is independent of the build flavor. -%bcond_without filetriggers +%bcond_with filetriggers %bcond_with split_usr Name: systemd%{?mini} From b6e4bbd6d8dc052fa990963b7d446246d359cde3799149ad508a3ad13751588e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 19 Oct 2023 12:14:32 +0000 Subject: [PATCH 919/991] - systemd.spec: add files.portable and files.journal-remote OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1463 --- files.journal-remote | 29 +++++++++++++++++++++++++++++ files.portable | 15 +++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 31 ++++--------------------------- 4 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 files.journal-remote create mode 100644 files.portable diff --git a/files.journal-remote b/files.journal-remote new file mode 100644 index 00000000..9db81f68 --- /dev/null +++ b/files.journal-remote @@ -0,0 +1,29 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf +%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf +%ghost %dir %{_localstatedir}/log/journal/remote +%{_datadir}/systemd/gatewayd +%{_datadir}/systemd/gatewayd/browse.html +%{_mandir}/man5/journal-remote.conf.5.gz +%{_mandir}/man5/journal-remote.conf.d.5.gz +%{_mandir}/man5/journal-upload.conf.5.gz +%{_mandir}/man5/journal-upload.conf.d.5.gz +%{_mandir}/man8/systemd-journal-gatewayd.8.gz +%{_mandir}/man8/systemd-journal-gatewayd.service.8.gz +%{_mandir}/man8/systemd-journal-gatewayd.socket.8.gz +%{_mandir}/man8/systemd-journal-remote.8.gz +%{_mandir}/man8/systemd-journal-remote.service.8.gz +%{_mandir}/man8/systemd-journal-remote.socket.8.gz +%{_mandir}/man8/systemd-journal-upload.8.gz +%{_mandir}/man8/systemd-journal-upload.service.8.gz +%{_systemd_util_dir}/systemd-journal-gatewayd +%{_systemd_util_dir}/systemd-journal-remote +%{_systemd_util_dir}/systemd-journal-upload +%{_sysusersdir}/systemd-remote.conf +%{_unitdir}/systemd-journal-gatewayd.service +%{_unitdir}/systemd-journal-gatewayd.socket +%{_unitdir}/systemd-journal-remote.service +%{_unitdir}/systemd-journal-remote.socket +%{_unitdir}/systemd-journal-upload.service diff --git a/files.portable b/files.portable new file mode 100644 index 00000000..d96d9161 --- /dev/null +++ b/files.portable @@ -0,0 +1,15 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%{_bindir}/portablectl +%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service +%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf +%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%{_mandir}/man1/portablectl.1.gz +%{_mandir}/man8/systemd-portabled.8.gz +%{_mandir}/man8/systemd-portabled.service.8.gz +%{_systemd_util_dir}/portable +%{_systemd_util_dir}/systemd-portabled +%{_tmpfilesdir}/portables.conf +%{_unitdir}/dbus-org.freedesktop.portable1.service +%{_unitdir}/systemd-portabled.service diff --git a/systemd.changes b/systemd.changes index 74504ff5..fe09321b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Oct 19 12:13:51 UTC 2023 - Franck Bui + +- systemd.spec: add files.portable and files.journal-remote + ------------------------------------------------------------------- Wed Oct 18 08:10:01 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 569fb095..6a9ccece 100644 --- a/systemd.spec +++ b/systemd.spec @@ -183,6 +183,8 @@ Source207: files.experimental Source208: files.coredump Source209: files.homed Source210: files.lang +Source211: files.journal-remote +Source212: files.portable # # All changes backported from upstream are tracked by the git repository, which @@ -1336,22 +1338,7 @@ fi %if %{with journal_remote} %files journal-remote %defattr(-, root, root) -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_unitdir}/systemd-journal-gatewayd.* -%{_unitdir}/systemd-journal-remote.* -%{_unitdir}/systemd-journal-upload.* -%{_systemd_util_dir}/systemd-journal-gatewayd -%{_systemd_util_dir}/systemd-journal-remote -%{_systemd_util_dir}/systemd-journal-upload -%{_sysusersdir}/systemd-remote.conf -%{_mandir}/man5/journal-remote.conf* -%{_mandir}/man5/journal-upload.conf* -%{_mandir}/man8/systemd-journal-gatewayd.* -%{_mandir}/man8/systemd-journal-remote.* -%{_mandir}/man8/systemd-journal-upload.* -%{_datadir}/systemd/gatewayd -%ghost %dir %{_localstatedir}/log/journal/remote +%include %{SOURCE211} %endif %if %{with homed} @@ -1363,17 +1350,7 @@ fi %if %{with portabled} %files portable %defattr(-,root,root) -%{_bindir}/portablectl -%{_systemd_util_dir}/systemd-portabled -%{_systemd_util_dir}/portable -%{_unitdir}/systemd-portabled.service -%{_unitdir}/dbus-org.freedesktop.portable1.service -%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf -%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service -%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy -%{_tmpfilesdir}/portables.conf -%{_mandir}/man*/portablectl* -%{_mandir}/man*/systemd-portabled* +%include %{SOURCE212} %endif %if %{with testsuite} From cf83dc34c6cc4a7bb39e738a217292bb03587b3da3f3c744171ca6515efa8fc4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 19 Oct 2023 14:27:22 +0000 Subject: [PATCH 920/991] - Ship the main configuration files in /usr/lib/ Besides the fact that shipping files in /etc is not recommended anymore, this change will hopefully encourage users to customize the defaults via the mean of drop-ins hence removing the risk of conflicts with downstream customization. In contrary, shipping empty directories *.conf.d/ in /etc is not a concern and should suggest users to create drop-ins (bsc#1207056). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1464 --- files.coredump | 3 +- files.experimental | 3 +- files.homed | 2 +- files.journal-remote | 6 ++-- files.network | 6 ++-- files.systemd | 12 +++++--- files.udev | 12 +++++--- systemd.changes | 13 ++++++++ systemd.spec | 72 ++++++++++++++++++++++++++++++++++++++++++-- 9 files changed, 112 insertions(+), 17 deletions(-) diff --git a/files.coredump b/files.coredump index 32b62d7e..f78f2f1b 100644 --- a/files.coredump +++ b/files.coredump @@ -1,8 +1,8 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/coredump.conf %dir %{_localstatedir}/lib/systemd/coredump +%dir %{_sysconfdir}/systemd/coredump.conf.d %{_bindir}/coredumpctl %if %{without bootstrap} %{_datadir}/bash-completion/completions/coredumpctl @@ -15,6 +15,7 @@ %{_mandir}/man8/systemd-coredump@.service.8.gz %endif %{_sysctldir}/50-coredump.conf +%{_systemd_util_dir}/coredump.conf %{_systemd_util_dir}/systemd-coredump %{_sysusersdir}/systemd-coredump.conf %{_unitdir}/sockets.target.wants/systemd-coredump.socket diff --git a/files.experimental b/files.experimental index 7b2439b9..73303174 100644 --- a/files.experimental +++ b/files.experimental @@ -1,7 +1,7 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/oomd.conf +%dir %{_sysconfdir}/systemd/oomd.conf.d %if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants %endif @@ -45,6 +45,7 @@ %if %{with sd_boot} %{_prefix}/lib/kernel/install.d/60-ukify.install %endif +%{_systemd_util_dir}/oomd.conf %{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %if %{with sd_boot} diff --git a/files.homed b/files.homed index 93a0b8a1..04605934 100644 --- a/files.homed +++ b/files.homed @@ -1,7 +1,6 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/homed.conf %{_bindir}/homectl %{_datadir}/bash-completion/completions/homectl %{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml @@ -17,6 +16,7 @@ %{_mandir}/man8/systemd-homed.8.gz %{_mandir}/man8/systemd-homed.service.8.gz %{_pam_moduledir}/pam_systemd_home.so +%{_systemd_util_dir}/homed.conf %{_systemd_util_dir}/systemd-homed %{_systemd_util_dir}/systemd-homework %{_unitdir}/systemd-homed-activate.service diff --git a/files.journal-remote b/files.journal-remote index 9db81f68..1acfe411 100644 --- a/files.journal-remote +++ b/files.journal-remote @@ -1,8 +1,8 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf -%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf +%dir %{_sysconfdir}/systemd/journal-remote.conf.d +%dir %{_sysconfdir}/systemd/journal-upload.conf.d %ghost %dir %{_localstatedir}/log/journal/remote %{_datadir}/systemd/gatewayd %{_datadir}/systemd/gatewayd/browse.html @@ -18,6 +18,8 @@ %{_mandir}/man8/systemd-journal-remote.socket.8.gz %{_mandir}/man8/systemd-journal-upload.8.gz %{_mandir}/man8/systemd-journal-upload.service.8.gz +%{_systemd_util_dir}/journal-remote.conf +%{_systemd_util_dir}/journal-upload.conf %{_systemd_util_dir}/systemd-journal-gatewayd %{_systemd_util_dir}/systemd-journal-remote %{_systemd_util_dir}/systemd-journal-upload diff --git a/files.network b/files.network index e1588c4b..e28d4826 100644 --- a/files.network +++ b/files.network @@ -2,8 +2,8 @@ # Please keep the list sorted (with `LC_ALL=C sort`). # %if %{with networkd} -%config(noreplace) %{_sysconfdir}/systemd/networkd.conf %dir %{_sysconfdir}/systemd/network +%dir %{_sysconfdir}/systemd/networkd.conf.d %dir %{_systemd_util_dir}/network %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl @@ -36,6 +36,7 @@ %{_systemd_util_dir}/network/80-wifi-adhoc.network %{_systemd_util_dir}/network/80-wifi-ap.network.example %{_systemd_util_dir}/network/80-wifi-station.network.example +%{_systemd_util_dir}/networkd.conf %{_systemd_util_dir}/systemd-networkd %{_systemd_util_dir}/systemd-networkd-wait-online %{_sysusersdir}/systemd-network.conf @@ -47,7 +48,7 @@ %endif %if %{with resolved} -%config(noreplace) %{_sysconfdir}/systemd/resolved.conf +%dir %{_sysconfdir}/systemd/resolved.conf.d %{_bindir}/resolvectl %{_bindir}/systemd-resolve %{_datadir}/bash-completion/completions/resolvectl @@ -69,6 +70,7 @@ %{_mandir}/man8/systemd-resolved.8.gz %{_mandir}/man8/systemd-resolved.service.8.gz %{_systemd_util_dir}/resolv.conf +%{_systemd_util_dir}/resolved.conf %{_systemd_util_dir}/systemd-resolved %{_sysusersdir}/systemd-resolve.conf %{_tmpfilesdir}/systemd-resolve.conf diff --git a/files.systemd b/files.systemd index ec5e7abc..a4b3bcf2 100644 --- a/files.systemd +++ b/files.systemd @@ -1,10 +1,6 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/journald.conf -%config(noreplace) %{_sysconfdir}/systemd/logind.conf -%config(noreplace) %{_sysconfdir}/systemd/system.conf -%config(noreplace) %{_sysconfdir}/systemd/user.conf %dir %{_binfmtdir} %if %{without bootstrap} %dir %{_datadir}/bash-completion @@ -34,8 +30,12 @@ %dir %{_sysconfdir}/binfmt.d %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/journald.conf.d +%dir %{_sysconfdir}/systemd/logind.conf.d %dir %{_sysconfdir}/systemd/system +%dir %{_sysconfdir}/systemd/system.conf.d %dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/systemd/user.confd.d %dir %{_sysconfdir}/tmpfiles.d %dir %{_sysconfdir}/xdg/systemd %dir %{_sysctldir} @@ -402,8 +402,11 @@ %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator +%{_systemd_util_dir}/journald.conf +%{_systemd_util_dir}/logind.conf %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh %{_systemd_util_dir}/system-preset/99-default.preset +%{_systemd_util_dir}/system.conf %{_systemd_util_dir}/systemd %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures @@ -433,6 +436,7 @@ %{_systemd_util_dir}/systemd-xdg-autostart-condition %{_systemd_util_dir}/user-preset/90-systemd.preset %{_systemd_util_dir}/user-preset/99-default.preset +%{_systemd_util_dir}/user.conf %{_systemd_util_dir}/user/app.slice %{_systemd_util_dir}/user/background.slice %{_systemd_util_dir}/user/basic.target diff --git a/files.udev b/files.udev index c338889b..c32bbb71 100644 --- a/files.udev +++ b/files.udev @@ -1,10 +1,6 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%config(noreplace) %{_sysconfdir}/systemd/pstore.conf -%config(noreplace) %{_sysconfdir}/systemd/sleep.conf -%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf -%config(noreplace) %{_sysconfdir}/udev/iocost.conf %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} %dir %{_libdir}/cryptsetup @@ -17,7 +13,11 @@ %dir %{_sysconfdir}/modules-load.d %endif %dir %{_sysconfdir}/systemd/network +%dir %{_sysconfdir}/systemd/pstore.conf.d +%dir %{_sysconfdir}/systemd/sleep.conf.d +%dir %{_sysconfdir}/systemd/timesyncd.conf.d %dir %{_sysconfdir}/udev +%dir %{_sysconfdir}/udev/iocost.conf.d %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network %dir %{_systemd_util_dir}/system-sleep @@ -146,11 +146,14 @@ %endif %{_prefix}/lib/udev/fido_id %{_prefix}/lib/udev/iocost +%{_prefix}/lib/udev/iocost.conf %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_systemd_util_dir}/network/99-default.link %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list +%{_systemd_util_dir}/pstore.conf +%{_systemd_util_dir}/sleep.conf %{_systemd_util_dir}/systemd-backlight %{_systemd_util_dir}/systemd-battery-check %if %{without bootstrap} @@ -180,6 +183,7 @@ %{_systemd_util_dir}/systemd-veritysetup %endif %{_systemd_util_dir}/systemd-volatile-root +%{_systemd_util_dir}/timesyncd.conf %if %{without bootstrap} %{_systemdgeneratordir}/systemd-cryptsetup-generator %endif diff --git a/systemd.changes b/systemd.changes index fe09321b..bd206e71 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Oct 19 13:25:01 UTC 2023 - Franck Bui + +- Ship the main configuration files in /usr/lib/ + + Besides the fact that shipping files in /etc is not recommended anymore, this + change will hopefully encourage users to customize the defaults via the mean + of drop-ins hence removing the risk of conflicts with downstream + customization. + + In contrary, shipping empty directories *.conf.d/ in /etc is not a concern and + should suggest users to create drop-ins (bsc#1207056). + ------------------------------------------------------------------- Thu Oct 19 12:13:51 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6a9ccece..e1f50903 100644 --- a/systemd.spec +++ b/systemd.spec @@ -65,6 +65,20 @@ %bcond_with filetriggers %bcond_with split_usr +# We stopped shipping main config files in /etc but we have to restore any +# config files that might have been backed up by rpm during the migration of the +# main config files from /etc to /usr. This needs to be done in %%posttrans +# because the .rpmsave files are created when the *old* package version is +# removed. This is not needed by ALP and will be dropped from Factory near the +# end of 2024. +%define restore_rpmsave() \ +if [ -e %{_sysconfdir}/%{1}.rpmsave ] && [ ! -e %{_sysconfdir}/%{1} ]; then \ + echo >&2 "Restoring %{_sysconfdir}/%1. Please consider moving your customizations in a drop-in instead." \ + echo >&2 "For more details, visit https://en.opensuse.org/Systemd#Configuration." \ + mv -v %{_sysconfdir}/%{1}.rpmsave %{_sysconfdir}/%{1} || : \ +fi \ +%{nil} + Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd Version: 254.5 @@ -814,8 +828,18 @@ install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-update-he install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif -mkdir -p % %{buildroot}%{_sysconfdir}/systemd/network -mkdir -p % %{buildroot}%{_sysconfdir}/systemd/nspawn +# For some reasons, upstream refuses to add a new build option (see pr#29244) +# for customizing the installation path of main config files. However we want to +# store them in /usr/lib so we don't encourage users to modify them while they +# still can serve as templates. +for f in %{buildroot}%{_sysconfdir}/systemd/*.conf; do + mv $f %{buildroot}%{_systemd_util_dir}/ +done +for f in %{buildroot}%{_sysconfdir}/udev/*.conf; do + # Drop-ins are currently not supported by udevd. + [ $(basename $f) = "udev.conf" ] && continue + mv $f %{buildroot}%{_prefix}/lib/udev/ +done # Install the fixlets mkdir -p %{buildroot}%{_systemd_util_dir}/rpm @@ -886,6 +910,26 @@ rm -f %{buildroot}%{_environmentdir}/99-environment.conf # directory... oh well. rm -f %{buildroot}%{_sysconfdir}/init.d/README +# Create *.conf.d/ directories to encourage users to create drop-ins when they +# need to customize some setting defaults. +mkdir -p %{buildroot}%{_sysconfdir}/systemd/coredump.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/journald.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/journal-remote.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/logind.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/networkd.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/oomd.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/pstore.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/resolved.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/sleep.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/system.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/timesyncd.conf.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/user.confd.d +mkdir -p %{buildroot}%{_sysconfdir}/udev/iocost.conf.d + +mkdir -p %{buildroot}%{_sysconfdir}/systemd/network +mkdir -p %{buildroot}%{_sysconfdir}/systemd/nspawn + # This dir must be owned (and thus created) by systemd otherwise the build # system will complain. This is odd since we simply own a ghost file in it... mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d @@ -1049,6 +1093,12 @@ journalctl --update-catalog || : %systemd_postun_with_restart systemd-timedated.service %systemd_postun_with_restart systemd-userdbd.service +%posttrans +%restore_rpmsave systemd/journald.conf +%restore_rpmsave systemd/logind.conf +%restore_rpmsave systemd/system.conf +%restore_rpmsave systemd/user.conf + %pre -n udev%{?mini} # Units listed below can be enabled at installation accoding to their preset # setting. @@ -1103,6 +1153,10 @@ fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans +%restore_rpmsave systemd/pstore.conf +%restore_rpmsave systemd/sleep.conf +%restore_rpmsave systemd/timesyncd.conf +%restore_rpmsave udev/iocost.conf %ldconfig_scriptlets -n libsystemd0%{?mini} %ldconfig_scriptlets -n libudev%{?mini}1 @@ -1133,6 +1187,9 @@ fi %post coredump %if %{without filetriggers} %sysusers_create systemd-coredump.conf + +%posttrans coredump +%restore_rpmsave systemd/coredump.conf %endif %endif @@ -1160,6 +1217,10 @@ fi %systemd_postun_with_restart systemd-journal-gatewayd.service %systemd_postun_with_restart systemd-journal-remote.service %systemd_postun_with_restart systemd-journal-upload.service + +%posttrans journal-remote +%restore_rpmsave systemd/journal-remote.conf +%restore_rpmsave systemd/journal-upload.conf %endif %if %{with networkd} || %{with resolved} @@ -1208,6 +1269,10 @@ fi %ldconfig %systemd_postun systemd-resolved.service %endif + +%posttrans network +%restore_rpmsave systemd/networkd.conf +%restore_rpmsave systemd/resolved.conf %endif %if %{with homed} @@ -1266,6 +1331,9 @@ fi %postun experimental %systemd_postun systemd-homed.service %systemd_postun systemd-oomd.service systemd-oomd.socket + +%posttrans experimental +%restore_rpmsave systemd/oomd.conf %endif # File trigger definitions From 9862047040a1c13eef6619b7e52b7d9448a931c06c10a25bd6bd35b9bc50a07c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 20 Oct 2023 08:11:45 +0000 Subject: [PATCH 921/991] - Drop 0001-conf-parser-introduce-early-drop-ins.patch The usage of drop-ins is now the official way for configuring systemd and its various daemons on Factory/ALP. See: https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/KWRBTAVQ6MGHVAHKDZZ6GIRX4RMHKHQ6/ OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1465 --- ...conf-parser-introduce-early-drop-ins.patch | 329 ------------------ systemd.changes | 10 + systemd.spec | 1 - 3 files changed, 10 insertions(+), 330 deletions(-) delete mode 100644 0001-conf-parser-introduce-early-drop-ins.patch diff --git a/0001-conf-parser-introduce-early-drop-ins.patch b/0001-conf-parser-introduce-early-drop-ins.patch deleted file mode 100644 index 3a2a0c2f..00000000 --- a/0001-conf-parser-introduce-early-drop-ins.patch +++ /dev/null @@ -1,329 +0,0 @@ -From 503da4e49107f6c20e3fce05506f8b107894a5af Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Fri, 22 Jan 2021 14:57:08 +0100 -Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As formerly known as "downstream conf file drop-ins should never override main -user conf file". - -Previously all drop-ins, including those shipped by downstream, shipped in -/usr, could override user's main configuration file (located in /etc) because -the main file was always parsed first. - -This was problematic for downstreams because their customization should never -override the users one in general. Therefore the only way to make this logic -usable was by teaching users to never use the main conf files and to put all -theirs settings in drop-ins with a higher priority than the one downsteam would -use. However customizing the defaults through the main conf file is something -very well established since a long time hence this is not something -conceivable. - -This patch reworks the way we parse configuration files by introducing "early" -conf files (idea from Zbigniew Jędrzejewski-Szmek), which always have a -priority lower than the main config file and hence other conf file drop-ins -too. - -Early conf files can be located in any locations where regular conf snippets -can be installed and are sorted between them using the same sorting rules that -apply to other conf files. A conf file is considered as an early one if its -filename is prefixed with "__" (double underscore). - -Hence for example, drop-in "/usr/lib/systemd/logind.conf.d/__99-foo.conf" will -always be parsed before: - - /etc/systemd/logind.conf - /etc/systemd/logind.conf.d/00-foo.conf - /usr/lib/systemd/logind.conf.d/00-foo.conf - -This change isn't backwards-compatible, but the '__' prefix is something that -is unlikely used. Hence the risk should be very low. - -Unfortunately upstream is not seing this problem as a serious one and accept -that vendors' configuration files can take precedence over the main -configuration files (placed in /etc). See the following links for the -related discussions: - - https://github.com/systemd/systemd/issues/2121 (initial issue report) - https://github.com/systemd/systemd/pull/17161 (first attempt to solve this issue) - https://github.com/systemd/systemd/pull/18347 (introduction of early drop-in) - -Since SUSE heavily relies on drop-ins to customize some of the upstream default -settings, there was no other choice than to diverge from upstream in this -regard. - -But it should be noted that these early drop-ins are strictly reserved for SUSE -own purpose only. IOW users should never use them and early drop-ins should -never be created in /etc but only in /usr. We reserve the right to change or -drop this feature at any time. - -Fixes: #2121 ---- - src/shared/conf-parser.c | 56 ++++++++++++++-- - src/test/test-conf-parser.c | 125 +++++++++++++++++++++++++++++++++++- - 2 files changed, 175 insertions(+), 6 deletions(-) - -diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index ec4b53b2e8..982172dfa0 100644 ---- a/src/shared/conf-parser.c -+++ b/src/shared/conf-parser.c -@@ -477,6 +477,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s - - static int config_parse_many_files( - const char* const* conf_files, -+ char **early_files, - char **files, - const char *sections, - ConfigItemLookup lookup, -@@ -495,6 +496,20 @@ static int config_parse_many_files( - return -ENOMEM; - } - -+ STRV_FOREACH(fn, early_files) { -+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); -+ if (r < 0) -+ return r; -+ if (r == 0) -+ continue; -+ -+ if (ret_stats_by_path) { -+ r = hashmap_put_stats_by_path(&stats_by_path, *fn, &st); -+ if (r < 0) -+ return r; -+ } -+ } -+ - /* First read the first found main config file. */ - STRV_FOREACH(fn, conf_files) { - r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st); -@@ -533,6 +548,27 @@ static int config_parse_many_files( - return 0; - } - -+static int config_parse_split_conf_files(char **files, char ***early_files, char ***late_files) { -+ -+ assert(files); -+ assert(early_files); -+ assert(late_files); -+ -+ STRV_FOREACH(f, files) { -+ char ***s, *p; -+ -+ p = strdup(*f); -+ if (!p) -+ return log_oom(); -+ -+ s = startswith(basename(*f), "__") ? early_files : late_files; -+ if (strv_push(s, p) < 0) -+ return log_oom(); -+ } -+ -+ return 0; -+} -+ - /* Parse one main config file located in /etc/systemd and its drop-ins, which is what all systemd daemons - * do. */ - int config_parse_config_file( -@@ -543,7 +579,8 @@ int config_parse_config_file( - ConfigParseFlags flags, - void *userdata) { - -- _cleanup_strv_free_ char **dropins = NULL, **dropin_dirs = NULL; -+ _cleanup_strv_free_ char **dropins = NULL, **early_dropins = NULL, **dropin_dirs = NULL; -+ _cleanup_strv_free_ char **files = NULL; - char **conf_paths = CONF_PATHS_STRV(""); - int r; - -@@ -571,13 +608,17 @@ int config_parse_config_file( - dropin_dirs[i++] = d; - } - -- r = conf_files_list_strv(&dropins, ".conf", NULL, 0, (const char**) dropin_dirs); -+ r = conf_files_list_strv(&files, ".conf", NULL, 0, (const char**) dropin_dirs); -+ if (r < 0) -+ return r; -+ -+ r = config_parse_split_conf_files(files, &early_dropins, &dropins); - if (r < 0) - return r; - - const char *sysconf_file = strjoina(PKGSYSCONFDIR, "/", conf_file); - -- return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), dropins, -+ return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), early_dropins, dropins, - sections, lookup, table, flags, userdata, NULL); - } - -@@ -595,6 +636,7 @@ int config_parse_many( - Hashmap **ret_stats_by_path, - char ***ret_dropin_files) { - -+ _cleanup_strv_free_ char **early_dropins = NULL, **dropins = NULL; - _cleanup_strv_free_ char **files = NULL; - int r; - -@@ -607,12 +649,16 @@ int config_parse_many( - if (r < 0) - return r; - -- r = config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path); -+ r = config_parse_split_conf_files(files, &early_dropins, &dropins); - if (r < 0) - return r; - -+ r = config_parse_many_files(conf_files, early_dropins, dropins, -+ sections, lookup, table, flags, userdata, ret_stats_by_path); -+ -+ - if (ret_dropin_files) -- *ret_dropin_files = TAKE_PTR(files); -+ *ret_dropin_files = TAKE_PTR(dropins); - - return 0; - } -diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c -index 0acb4131b5..88f8ff11be 100644 ---- a/src/test/test-conf-parser.c -+++ b/src/test/test-conf-parser.c -@@ -5,7 +5,10 @@ - #include "fs-util.h" - #include "log.h" - #include "macro.h" --#include "string-util.h" -+#include "mkdir.h" -+#include "nulstr-util.h" -+#include "path-util.h" -+#include "rm-rf.h" - #include "strv.h" - #include "tests.h" - #include "tmpfile-util.h" -@@ -390,4 +393,124 @@ TEST(config_parse) { - test_config_parse_one(i, config_file[i]); - } - -+static void setup_conf_files(const char *root, char **conf_files, char ***ret_conf_dirs) { -+ -+ STRV_FOREACH(path, conf_files) { -+ _cleanup_free_ char *abspath = NULL; -+ _cleanup_fclose_ FILE *f = NULL; -+ -+ abspath = path_join(root, *path); -+ assert_se(abspath); -+ -+ (void) mkdir_parents(abspath, 0755); -+ -+ f = fopen(abspath, "w"); -+ assert_se(f); -+ fprintf(f, -+ "[Section]\n" -+ "Field=%s\n", -+ *path); -+ -+ if (ret_conf_dirs) { -+ _cleanup_free_ char *d = NULL; -+ -+ assert_se(path_extract_directory(abspath, &d) >= 0); -+ assert_se(strv_consume(ret_conf_dirs, TAKE_PTR(d)) == 0); -+ } -+ } -+ -+ if (ret_conf_dirs) { -+ strv_uniq(*ret_conf_dirs); -+ strv_sort(*ret_conf_dirs); -+ } -+} -+ -+static void test_config_parse_many_one(const char *main, char **dropins, const char *expected) { -+ -+ _cleanup_strv_free_ char **conf_dirs = NULL; -+ _cleanup_free_ char *parsed = NULL; -+ char *conf_file; -+ char *tmp_dir; -+ int r; -+ -+ const ConfigTableItem items[] = { -+ { "Section", "Field", config_parse_string, 0, &parsed}, -+ }; -+ -+ tmp_dir = strdupa("/tmp/test-conf-parser-XXXXXX"); -+ assert_se(mkdtemp(tmp_dir)); -+ -+ setup_conf_files(tmp_dir, STRV_MAKE(main), NULL); -+ setup_conf_files(tmp_dir, dropins, &conf_dirs); -+ -+ conf_file = main ? strjoina(tmp_dir, "/", main) : NULL; -+ -+ /* Since commit bdb2d3c6889408c7, 'conf_file_dirs' can't be NULL anymore. */ -+ -+ r = config_parse_many(STRV_MAKE_CONST(conf_file), -+ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY), -+ /* dropin_dirname= */ "", -+ /* root= */ NULL, -+ "Section\0", -+ config_item_table_lookup, -+ items, -+ CONFIG_PARSE_WARN, -+ /* userdata= */ NULL, -+ /* ret_stats_by_path= */ NULL, -+ /* ret_dropin_files= */ NULL); -+ -+ assert_se(r == 0); -+ -+ assert_se((!!expected == !!parsed)); -+ assert_se(!expected || streq(expected, parsed)); -+ -+ assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0); -+} -+ -+TEST(config_parse_many) { -+ log_info("== %s ==", __func__); -+ -+ test_config_parse_many_one(/* main= */ NULL, -+ /* dropins */ NULL, -+ /* expected_name= */ NULL); -+ -+ test_config_parse_many_one("dir/main.conf", NULL, "dir/main.conf"); -+ -+ test_config_parse_many_one(NULL, -+ STRV_MAKE("dir1/50-foo.conf"), -+ "dir1/50-foo.conf"); -+ -+ test_config_parse_many_one(NULL, -+ STRV_MAKE("dir1/__50-foo.conf"), -+ "dir1/__50-foo.conf"); -+ -+ test_config_parse_many_one(NULL, -+ STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"), -+ "dir1/50-bar.conf"); -+ -+ test_config_parse_many_one(NULL, -+ STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"), -+ "dir1/50-foo.conf"); -+ -+ test_config_parse_many_one(NULL, -+ STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"), -+ "dir1/10-foo.conf"); -+ -+ /* Early conf files should never override the main one whatever their -+ * priority/location. */ -+ test_config_parse_many_one("dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"), -+ "dir/10-main.conf"); -+ -+ /* Late conf files always take precendence over the early conf files -+ * and the main one. */ -+ test_config_parse_many_one("dir/50-main.conf", -+ STRV_MAKE("dir1/10-foo.conf"), -+ "dir1/10-foo.conf"); -+ -+ test_config_parse_many_one("dir/10-main.conf", -+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"), -+ "dir2/10-foo.conf"); -+} -+ - DEFINE_TEST_MAIN(LOG_INFO); --- -2.35.3 - diff --git a/systemd.changes b/systemd.changes index bd206e71..7806cf4d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Oct 20 08:09:19 UTC 2023 - Franck Bui + +- Drop 0001-conf-parser-introduce-early-drop-ins.patch + + The usage of drop-ins is now the official way for configuring systemd and its + various daemons on Factory/ALP. + + See: https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/KWRBTAVQ6MGHVAHKDZZ6GIRX4RMHKHQ6/ + ------------------------------------------------------------------- Thu Oct 19 13:25:01 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e1f50903..32b40af2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -209,7 +209,6 @@ Source212: files.portable # only relevant for SUSE distros. Special rewards for those who will manage to # get rid of one of them ! # -Patch2: 0001-conf-parser-introduce-early-drop-ins.patch Patch3: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch %if %{with sysvcompat} Patch4: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch From 529c292cebbbc859fa40a96cfeea5afdd132ea61fc01838454fbb33e61acd9ec Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 20 Oct 2023 09:38:40 +0000 Subject: [PATCH 922/991] Document some old bsc/PED numbers in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1466 --- systemd.changes | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 7806cf4d..7f946992 100644 --- a/systemd.changes +++ b/systemd.changes @@ -203,11 +203,12 @@ Wed Aug 16 08:48:58 UTC 2023 - Franck Bui This includes the following bug fixes: - - upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1203141) + - upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1181192 bsc#1184238 bsc#1184254 bsc#1184859 bsc#1185828 bsc#1203141) - upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340) - upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606) - upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185) - upstream commit 000680a68dbdb07d77807868df0b4f978180e4cd (bsc#1211725) + - upstream commit 2067a7ec7f4c8a353b8e2ece15a6a997e50808b0 (bsc#1211576) * Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix for https://github.com/systemd/systemd/issues/26839 has been integrated in @@ -867,6 +868,8 @@ Mon Nov 14 11:15:06 UTC 2022 - Franck Bui This includes the following bug fixes: - upstream commit 67c3e1f63a5221b47a8fea85ae421671f29f3b7e (bsc#1200723) + - upstream commit 9102c625a673a3246d7e73d8737f3494446bad4e (bsc#1204968 CVE-2022-3821) + - upstream commit efbd4b3ca84c0426b6ff98d6352f82f3b7c090b2 (bsc#1213873) * Rebased 0001-conf-parser-introduce-early-drop-ins.patch 1000-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -1070,7 +1073,7 @@ Tue Jun 21 14:24:43 UTC 2022 - Franck Bui Tue Jun 21 14:09:51 UTC 2022 - Franck Bui - pstore is no more considered as an experimental feature: move it to udev - package (bsc#1197802) + package (bsc#1197802 jsc#PED-2663) ------------------------------------------------------------------- Tue Jun 21 13:20:39 UTC 2022 - Franck Bui @@ -1104,6 +1107,8 @@ Wed Jun 1 07:20:05 UTC 2022 - Franck Bui - upstream commit e6b169418369abbc88c8f622e02e1d704a23d4ef (bsc#1137373 bsc#1181658 bsc#1194708 bsc#1195157 bsc#1197570) - upstream commit 3a3b022d2cc112803ea7b9beea98bbcad110368a (bsc#1212434 bsc#1213575) + - upstream commit e92a3d8fa3c554f807ddbcd7fc00821868fd8a62 (bsc#1195529) + - upstream commit 1d0727e76fd5e9a07cc9991ec9a10ea1d78a99c7 (bsc#1208194) * Rebased 0001-conf-parser-introduce-early-drop-ins.patch @@ -1383,6 +1388,11 @@ Thu Feb 17 18:30:12 UTC 2022 - Franck Bui And let's finish reducing the support of SysV init scripts to its minimum. +------------------------------------------------------------------- +Thu Feb 17 11:14:10 UTC 2022 - Franck Bui + +- Don't rely on %{_distconfdir}, it's broken on SLE (bsc#1195998) + ------------------------------------------------------------------- Mon Feb 14 15:11:04 UTC 2022 - Franck Bui @@ -3338,7 +3348,7 @@ Tue Sep 3 15:10:10 UTC 2019 - Franck Bui ------------------------------------------------------------------- Wed Aug 14 14:25:43 UTC 2019 - Ludwig Nussel -- enable systemd-portabled +- Enable systemd-portabled (jsc#SLE-21695) ------------------------------------------------------------------- Wed Jul 31 14:38:13 UTC 2019 - Franck Bui From f755f2c0ce3b91ed88d6a1ac0dda96cb008cb2e0042e7880bc88a30f06c1b8f4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 20 Oct 2023 12:40:40 +0000 Subject: [PATCH 923/991] Document bsc#1191502 in .changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1467 --- systemd.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.changes b/systemd.changes index 7f946992..69848df0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1109,6 +1109,7 @@ Wed Jun 1 07:20:05 UTC 2022 - Franck Bui - upstream commit 3a3b022d2cc112803ea7b9beea98bbcad110368a (bsc#1212434 bsc#1213575) - upstream commit e92a3d8fa3c554f807ddbcd7fc00821868fd8a62 (bsc#1195529) - upstream commit 1d0727e76fd5e9a07cc9991ec9a10ea1d78a99c7 (bsc#1208194) + - upstream commit 55fabe92e2efb1a907d4c3c93dc63b96ff5b6860 (bsc#1191502) * Rebased 0001-conf-parser-introduce-early-drop-ins.patch From 3a5939378dacbbf92b42a88123a488a74b968031927e2565da22346fefa40d09 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 24 Oct 2023 14:08:54 +0000 Subject: [PATCH 924/991] Revert "systemd.spec: disable transfiletriggers" (rev 1462) transfiletriggers is actually only broken with 'rpm --root'. This shouldn't affect you since --root applies only to installations. In this case the services needn't to be restarted and the tmpfiles stuff can wait until the firstboot. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1468 --- systemd.changes | 8 -------- systemd.spec | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/systemd.changes b/systemd.changes index 69848df0..654cccc0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -26,14 +26,6 @@ Thu Oct 19 12:13:51 UTC 2023 - Franck Bui - systemd.spec: add files.portable and files.journal-remote -------------------------------------------------------------------- -Wed Oct 18 08:10:01 UTC 2023 - Franck Bui - -- systemd.spec: disable transfiletriggers - - Unforunately bsc#1041742 has been re-opened so it's again not safe to rely on - transfiletriggers until rpm-4.19 is released. - ------------------------------------------------------------------- Fri Oct 13 09:38:37 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 32b40af2..e791a4c2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -62,7 +62,7 @@ # The following features are kept to ease migrations toward SLE. Their default # value is independent of the build flavor. -%bcond_with filetriggers +%bcond_without filetriggers %bcond_with split_usr # We stopped shipping main config files in /etc but we have to restore any From 0bd2d8187243245dde35ba70a4c096685c18166874a48680fe3f166a1691d48b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 24 Oct 2023 14:29:00 +0000 Subject: [PATCH 925/991] - Import commit b53f364c264cd598d4210b64285a55d362b47b89 b53f364c26 test: install af_packet kernel module on openSUSE 86b7521a3c shared/wall: use logind if build without utmp support 65aac5858f errno-util: allow ERRNO_IS_* to accept types wider than int 8f93b89db4 basic/errno-util: add wrappers which only accept negative errno 1b815b3e76 Introduce RET_GATHER and use it in src/shared/ OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1469 --- systemd-v254.5+suse.10.gb53f364c26.tar.xz | 3 +++ systemd-v254.5+suse.5.g9674bb2562.tar.xz | 3 --- systemd.changes | 11 +++++++++++ systemd.spec | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 systemd-v254.5+suse.10.gb53f364c26.tar.xz delete mode 100644 systemd-v254.5+suse.5.g9674bb2562.tar.xz diff --git a/systemd-v254.5+suse.10.gb53f364c26.tar.xz b/systemd-v254.5+suse.10.gb53f364c26.tar.xz new file mode 100644 index 00000000..a7271ec4 --- /dev/null +++ b/systemd-v254.5+suse.10.gb53f364c26.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec66792689d2f375003dbdf4328f90f633f9ac9a61e39fa5067bb976b9da75ca +size 10350532 diff --git a/systemd-v254.5+suse.5.g9674bb2562.tar.xz b/systemd-v254.5+suse.5.g9674bb2562.tar.xz deleted file mode 100644 index 6a9199d1..00000000 --- a/systemd-v254.5+suse.5.g9674bb2562.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9dc2d8ed7ea59d5ab5a8e0662d9a0848f41b4235ac5da3728ecce64834299986 -size 10349392 diff --git a/systemd.changes b/systemd.changes index 654cccc0..b56ee7ff 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Oct 24 14:15:25 UTC 2023 - Franck Bui + +- Import commit b53f364c264cd598d4210b64285a55d362b47b89 + + b53f364c26 test: install af_packet kernel module on openSUSE + 86b7521a3c shared/wall: use logind if build without utmp support + 65aac5858f errno-util: allow ERRNO_IS_* to accept types wider than int + 8f93b89db4 basic/errno-util: add wrappers which only accept negative errno + 1b815b3e76 Introduce RET_GATHER and use it in src/shared/ + ------------------------------------------------------------------- Fri Oct 20 08:09:19 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index e791a4c2..37dd3bdd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define min_kernel_version 4.5 -%define archive_version +suse.5.g9674bb2562 +%define archive_version +suse.10.gb53f364c26 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 672b7ea23ffdfa6823f122f0a4d728cbaccb02560a2ee8850beb83239501ca4e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 25 Oct 2023 07:50:55 +0000 Subject: [PATCH 926/991] Drop min_kernel_version rpm variable. It's outdated and not used anyways. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1470 --- systemd.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 37dd3bdd..52891c23 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,7 +18,6 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define min_kernel_version 4.5 %define archive_version +suse.10.gb53f364c26 %define _testsuitedir %{_systemd_util_dir}/tests From 3f63653d10353e0e603c72ccc8613ab0c5d60010d32bafce453971ff7cf8723b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 30 Oct 2023 09:18:31 +0000 Subject: [PATCH 927/991] - Fix typo in /etc/systemd/user.confd.d (bsc#1216676) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1471 --- files.systemd | 2 +- systemd.changes | 5 +++++ systemd.spec | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/files.systemd b/files.systemd index a4b3bcf2..f86d254a 100644 --- a/files.systemd +++ b/files.systemd @@ -35,7 +35,7 @@ %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/system.conf.d %dir %{_sysconfdir}/systemd/user -%dir %{_sysconfdir}/systemd/user.confd.d +%dir %{_sysconfdir}/systemd/user.conf.d %dir %{_sysconfdir}/tmpfiles.d %dir %{_sysconfdir}/xdg/systemd %dir %{_sysctldir} diff --git a/systemd.changes b/systemd.changes index b56ee7ff..af22b84d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 30 09:11:16 UTC 2023 - Franck Bui + +- Fix typo in /etc/systemd/user.confd.d (bsc#1216676) + ------------------------------------------------------------------- Tue Oct 24 14:15:25 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 52891c23..424a613f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -922,7 +922,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/systemd/resolved.conf.d mkdir -p %{buildroot}%{_sysconfdir}/systemd/sleep.conf.d mkdir -p %{buildroot}%{_sysconfdir}/systemd/system.conf.d mkdir -p %{buildroot}%{_sysconfdir}/systemd/timesyncd.conf.d -mkdir -p %{buildroot}%{_sysconfdir}/systemd/user.confd.d +mkdir -p %{buildroot}%{_sysconfdir}/systemd/user.conf.d mkdir -p %{buildroot}%{_sysconfdir}/udev/iocost.conf.d mkdir -p %{buildroot}%{_sysconfdir}/systemd/network From c580e8dd34e822283247b6d21a99b97586020ee3013b60da39fb2334decd3706 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 2 Nov 2023 09:29:16 +0000 Subject: [PATCH 928/991] - Disable utmp support The announcement can be found at: https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/MYIWGQEE54VJDBYXMQCEY7XKEAIUFLAU/ The user visible consequence of it is that /run/utmp file is no more created. systemd itself doesn't depend on utmp anymore since "shared/wall: use logind if build without utmp support" has been backported. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1472 --- systemd.changes | 13 +++++++++++++ systemd.spec | 3 +-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index af22b84d..09e1b435 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Nov 2 08:56:57 UTC 2023 - Franck Bui + +- Disable utmp support + + The announcement can be found at: + https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/MYIWGQEE54VJDBYXMQCEY7XKEAIUFLAU/ + + The user visible consequence of it is that /run/utmp file is no more created. + + systemd itself doesn't depend on utmp anymore since "shared/wall: use logind + if build without utmp support" has been backported. + ------------------------------------------------------------------- Mon Oct 30 09:11:16 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 424a613f..f6cd92d7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -56,7 +56,6 @@ %bcond_without sysvcompat %bcond_without experimental %bcond_without testsuite -%bcond_without utmp %endif # The following features are kept to ease migrations toward SLE. Their default @@ -722,7 +721,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dclock-valid-range-usec-max=946728000000000 \ -Dadm-group=false \ -Dwheel-group=false \ - -Dutmp=%{when utmp} \ + -Dutmp=false \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ -Dpamconfdir=no \ From 084616540d12c111f8876c1e104f062851caa04db255e014257bb32add583322 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 1 Dec 2023 08:01:25 +0000 Subject: [PATCH 929/991] Accepting request 1128161 from home:wfrisch:branches:Base:System - udev: Tighten permissions for DRM render nodes (bsc#1217118). Note that this implicitly enables `uaccess`, so any logged-in user still gets access regardless of group membership. Some use cases, e.g. remote access via ssh, might require you to add the desired user to the `render` group. OBS-URL: https://build.opensuse.org/request/show/1128161 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1473 --- systemd.changes | 8 ++++++++ systemd.spec | 1 + 2 files changed, 9 insertions(+) diff --git a/systemd.changes b/systemd.changes index 09e1b435..bdc55237 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Nov 21 13:57:52 UTC 2023 - Wolfgang Frisch + +- udev: Tighten permissions for DRM render nodes (bsc#1217118). Note that this + implicitly enables `uaccess`, so any logged-in user still gets access + regardless of group membership. Some use cases, e.g. remote access via ssh, + might require you to add the desired user to the `render` group. + ------------------------------------------------------------------- Thu Nov 2 08:56:57 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f6cd92d7..676f4bb8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -721,6 +721,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dclock-valid-range-usec-max=946728000000000 \ -Dadm-group=false \ -Dwheel-group=false \ + -Dgroup-render-mode=0660 \ -Dutmp=false \ -Ddefault-hierarchy=unified \ -Ddefault-kill-user-processes=false \ From 308fc247b0a6231a786d8e2497ada7ecdedf76601379490fae25daf4c937ed8a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 1 Dec 2023 08:07:48 +0000 Subject: [PATCH 930/991] Append a link of the announcement of the previous change on the factory mailing list OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1474 --- systemd.changes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/systemd.changes b/systemd.changes index bdc55237..d8bea7d0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -6,6 +6,9 @@ Tue Nov 21 13:57:52 UTC 2023 - Wolfgang Frisch regardless of group membership. Some use cases, e.g. remote access via ssh, might require you to add the desired user to the `render` group. + See: + https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3S3HAWVODHC2FQI4E76IFGCSRVRJ63KG/ + ------------------------------------------------------------------- Thu Nov 2 08:56:57 UTC 2023 - Franck Bui From 1a52d97f5cd6576f6179504e27f7e4dbb5665453e7ba1c4c98bad4c29ce4ecb0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 12 Dec 2023 07:46:24 +0000 Subject: [PATCH 931/991] - Import commit ce08cd5f66e1a661c2b9ed764ad7036decd76503 ce08cd5f66 man/standard-conf: directory paths should end with '/' 8324cbfde7 config files: update their header to reflect that they can be installed in /usr bc36846ad2 Reflect the fact that main config files can be installed in /usr e304a11f33 config files: more recommendations of `systemd-analyze cat-config` c45cecf279 meson: add build option for install path of main config files cc61b052c6 vconsole-setup: use a consistent log level when setfont fails with EX_OSERR (bsc#1212970) 4fe3653dab tmpfiles: ignore EINVAL with --graceful (bsc#1216628) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1475 --- systemd-v254.5+suse.10.gb53f364c26.tar.xz | 3 --- systemd-v254.5+suse.17.gce08cd5f66.tar.xz | 3 +++ systemd.changes | 13 +++++++++++++ systemd.spec | 17 ++++------------- 4 files changed, 20 insertions(+), 16 deletions(-) delete mode 100644 systemd-v254.5+suse.10.gb53f364c26.tar.xz create mode 100644 systemd-v254.5+suse.17.gce08cd5f66.tar.xz diff --git a/systemd-v254.5+suse.10.gb53f364c26.tar.xz b/systemd-v254.5+suse.10.gb53f364c26.tar.xz deleted file mode 100644 index a7271ec4..00000000 --- a/systemd-v254.5+suse.10.gb53f364c26.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec66792689d2f375003dbdf4328f90f633f9ac9a61e39fa5067bb976b9da75ca -size 10350532 diff --git a/systemd-v254.5+suse.17.gce08cd5f66.tar.xz b/systemd-v254.5+suse.17.gce08cd5f66.tar.xz new file mode 100644 index 00000000..ed22265e --- /dev/null +++ b/systemd-v254.5+suse.17.gce08cd5f66.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85fcae5c382ca7b6a635a103888097b96c1436c165206a342e6713aa482c84f4 +size 10351072 diff --git a/systemd.changes b/systemd.changes index d8bea7d0..8cff68c7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Dec 12 07:43:35 UTC 2023 - Franck Bui + +- Import commit ce08cd5f66e1a661c2b9ed764ad7036decd76503 + + ce08cd5f66 man/standard-conf: directory paths should end with '/' + 8324cbfde7 config files: update their header to reflect that they can be installed in /usr + bc36846ad2 Reflect the fact that main config files can be installed in /usr + e304a11f33 config files: more recommendations of `systemd-analyze cat-config` + c45cecf279 meson: add build option for install path of main config files + cc61b052c6 vconsole-setup: use a consistent log level when setfont fails with EX_OSERR (bsc#1212970) + 4fe3653dab tmpfiles: ignore EINVAL with --graceful (bsc#1216628) + ------------------------------------------------------------------- Tue Nov 21 13:57:52 UTC 2023 - Wolfgang Frisch diff --git a/systemd.spec b/systemd.spec index 676f4bb8..79fc97c9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,7 +18,7 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.10.gb53f364c26 +%define archive_version +suse.17.gce08cd5f66 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -715,6 +715,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Drootprefix=/usr \ -Dsplit-usr=true \ %endif + -Dconfigfiledir=/usr/lib \ -Dsplit-bin=true \ -Dsystem-uid-max=499 \ -Dsystem-gid-max=499 \ @@ -826,18 +827,8 @@ install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-update-he install -m0755 -D %{SOURCE4} %{buildroot}/%{_systemd_util_dir}/systemd-sysv-install %endif -# For some reasons, upstream refuses to add a new build option (see pr#29244) -# for customizing the installation path of main config files. However we want to -# store them in /usr/lib so we don't encourage users to modify them while they -# still can serve as templates. -for f in %{buildroot}%{_sysconfdir}/systemd/*.conf; do - mv $f %{buildroot}%{_systemd_util_dir}/ -done -for f in %{buildroot}%{_sysconfdir}/udev/*.conf; do - # Drop-ins are currently not supported by udevd. - [ $(basename $f) = "udev.conf" ] && continue - mv $f %{buildroot}%{_prefix}/lib/udev/ -done +# Drop-ins are currently not supported by udev. +mv %{buildroot}%{_prefix}/lib/udev/udev.conf %{buildroot}%{_sysconfdir}/udev/ # Install the fixlets mkdir -p %{buildroot}%{_systemd_util_dir}/rpm From a0d495d7cbe481390f88117c1a3aac71f97f89382c4e9c400a8b7e9a6f437039 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 12 Dec 2023 08:43:35 +0000 Subject: [PATCH 932/991] - Explicitely provide 'group(systemd-journal)' from the main package (bsc#1217852) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1476 --- systemd.changes | 5 +++++ systemd.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/systemd.changes b/systemd.changes index 8cff68c7..d6e66c4a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 12 08:02:52 UTC 2023 - Franck Bui + +- Explicitely provide 'group(systemd-journal)' from the main package (bsc#1217852) + ------------------------------------------------------------------- Tue Dec 12 07:43:35 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 79fc97c9..8f7abf82 100644 --- a/systemd.spec +++ b/systemd.spec @@ -151,6 +151,7 @@ Requires(post): pam-config >= 0.79-5 Recommends: libpcre2-8-0 Recommends: libbpf0 %endif +Provides: group(systemd-journal) Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Provides: sbin_init From c1dc7ece68fe661f666295c33979bdb5b3d1b1e99e0aeec795b9695494793bab Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 20 Dec 2023 12:50:37 +0000 Subject: [PATCH 933/991] - Import commit 071ac409a0564863657d8f8a5a35e6a4f914695f 071ac409a0 rules: set up tty permissions and group for /dev/hvc* nodes f693b3ed8a vconsole-setup: remember the correct error value when open_terminal() fails 963d838bad vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully (bsc#1215282) 6f53f71d2d vconsole-setup: simplify error handling OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1477 --- systemd-v254.5+suse.17.gce08cd5f66.tar.xz | 3 --- systemd-v254.5+suse.21.g071ac409a0.tar.xz | 3 +++ systemd.changes | 10 ++++++++++ systemd.spec | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) delete mode 100644 systemd-v254.5+suse.17.gce08cd5f66.tar.xz create mode 100644 systemd-v254.5+suse.21.g071ac409a0.tar.xz diff --git a/systemd-v254.5+suse.17.gce08cd5f66.tar.xz b/systemd-v254.5+suse.17.gce08cd5f66.tar.xz deleted file mode 100644 index ed22265e..00000000 --- a/systemd-v254.5+suse.17.gce08cd5f66.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85fcae5c382ca7b6a635a103888097b96c1436c165206a342e6713aa482c84f4 -size 10351072 diff --git a/systemd-v254.5+suse.21.g071ac409a0.tar.xz b/systemd-v254.5+suse.21.g071ac409a0.tar.xz new file mode 100644 index 00000000..d42f86a8 --- /dev/null +++ b/systemd-v254.5+suse.21.g071ac409a0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5a0cb1989c2850c7087d2f1c00051878e26505a71ffe3287e27011b81023c8 +size 10352172 diff --git a/systemd.changes b/systemd.changes index d6e66c4a..fa6380e7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Dec 20 12:40:55 UTC 2023 - Franck Bui + +- Import commit 071ac409a0564863657d8f8a5a35e6a4f914695f + + 071ac409a0 rules: set up tty permissions and group for /dev/hvc* nodes + f693b3ed8a vconsole-setup: remember the correct error value when open_terminal() fails + 963d838bad vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully (bsc#1215282) + 6f53f71d2d vconsole-setup: simplify error handling + ------------------------------------------------------------------- Tue Dec 12 08:02:52 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8f7abf82..606d88df 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,7 +18,7 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.17.gce08cd5f66 +%define archive_version +suse.21.g071ac409a0 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 7beaf185f7792e28e819ddc751cdebbcf1cbd47577f354ab24b2fd384793202f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 20 Dec 2023 12:58:01 +0000 Subject: [PATCH 934/991] Accepting request 1134210 from home:dimstar:Factory - udev: only require kmod in the full flavor. udev-mini is only used inside OBS in a strictly defined setup and udev will never have to load device drivers there. This should allow us to remove system-module-tools from almost all buildroots. OBS-URL: https://build.opensuse.org/request/show/1134210 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1478 --- systemd.changes | 7 +++++++ systemd.spec | 2 ++ 2 files changed, 9 insertions(+) diff --git a/systemd.changes b/systemd.changes index fa6380e7..143ed472 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Dec 20 12:49:09 UTC 2023 - Dominique Leuenberger + +- udev: only require kmod in the full flavor. udev-mini is only + used inside OBS in a strictly defined setup and udev will never + have to load device drivers there. + ------------------------------------------------------------------- Wed Dec 20 12:40:55 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 606d88df..daba32a2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -306,7 +306,9 @@ URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: %{name} = %{version}-%{release} %systemd_requires Requires: filesystem +%if %{without bootstrap} Requires: kmod +%endif Requires: system-group-hardware Requires: group(kvm) Requires: group(lp) From 8da357a7ed88a61bec9790f56cefd8882e90dccd1a15a36f67afbdfe6df3a7ab Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 21 Dec 2023 08:24:37 +0000 Subject: [PATCH 935/991] disable kmod support for the mini flavor, this complements the previous change OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1479 --- systemd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/systemd.spec b/systemd.spec index daba32a2..efdc4ba1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -761,6 +761,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dhtml=%{when_not bootstrap} \ -Dima=%{when_not bootstrap} \ -Dkernel-install=%{when_not bootstrap} \ + -Dkmod=%{when_not bootstrap} \ -Dlibcryptsetup-plugins=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ -Dnss-myhostname=%{when_not bootstrap} \ From a52c2fed3d1175cab429c0dac4052d3dff322bdf172bc792f5d6ae82b369d404 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 21 Dec 2023 10:22:01 +0000 Subject: [PATCH 936/991] document bsc#1218137 in the changelogs OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1480 --- systemd.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 143ed472..3280cf7d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -10,7 +10,7 @@ Wed Dec 20 12:40:55 UTC 2023 - Franck Bui - Import commit 071ac409a0564863657d8f8a5a35e6a4f914695f - 071ac409a0 rules: set up tty permissions and group for /dev/hvc* nodes + 071ac409a0 rules: set up tty permissions and group for /dev/hvc* nodes (bsc#1218137) f693b3ed8a vconsole-setup: remember the correct error value when open_terminal() fails 963d838bad vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully (bsc#1215282) 6f53f71d2d vconsole-setup: simplify error handling From c2a41999854eb737c81aca48bea5393fbceca3d293cc86f047a237c730e91779 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Dec 2023 10:27:31 +0000 Subject: [PATCH 937/991] Accepting request 1134609 from home:dimstar:Factory - udev(-mini)?: ensure %_modulesloaddir exists and is owned properly. Allows other packages to install modules without worry of the parent directory. We do not ensure /etc/modules-load.d exists in the -mini flavor, as that directory is not meant to be used by packages. OBS-URL: https://build.opensuse.org/request/show/1134609 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1481 --- files.udev | 2 ++ systemd.changes | 9 +++++++++ systemd.spec | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/files.udev b/files.udev index c32bbb71..1f8a39cf 100644 --- a/files.udev +++ b/files.udev @@ -4,7 +4,9 @@ %config(noreplace) %{_sysconfdir}/udev/udev.conf %if %{without bootstrap} %dir %{_libdir}/cryptsetup +%endif %dir %{_modulesloaddir} +%if %{without bootstrap} %dir %{_prefix}/lib/kernel %dir %{_prefix}/lib/kernel/install.d %endif diff --git a/systemd.changes b/systemd.changes index 3280cf7d..d0b5fe54 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Dec 21 10:11:53 UTC 2023 - Dominique Leuenberger + +- udev(-mini)?: ensure %_modulesloaddir exists and is owned + properly. Allows other packages to install modules without worry + of the parent directory. We do not ensure /etc/modules-load.d + exists in the -mini flavor, as that directory is not meant to be + used by packages. + ------------------------------------------------------------------- Wed Dec 20 12:49:09 UTC 2023 - Dominique Leuenberger diff --git a/systemd.spec b/systemd.spec index efdc4ba1..07e641b9 100644 --- a/systemd.spec +++ b/systemd.spec @@ -862,6 +862,10 @@ mkdir -p %{buildroot}%{_modprobedir} mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ %endif +# Make sure /usr/lib/modules-load.d exists in udev(-mini)?, so other +# packages can install modules without worry +mkdir -p %{buildroot}%{_modulesloaddir} + # Make sure we don't ship static enablement symlinks in /etc during # installation, presets should be honoured instead. rm -rf %{buildroot}%{_sysconfdir}/systemd/system/*.target.{requires,wants} From 31bc789b24fb4c68480f3590da6baec6733e25a2a73f337112a1192935c9b906 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 12 Jan 2024 09:56:05 +0000 Subject: [PATCH 938/991] - Import commit 67a5ac1043417d900bf417a884372ae14a96ef69 (merge of v254.8) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/071ac409a0564863657d8f8a5a35e6a4f914695f...67a5ac1043417d900bf417a884372ae14a96ef69 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1482 --- systemd-v254.5+suse.21.g071ac409a0.tar.xz | 3 --- systemd-v254.8+suse.22.g67a5ac1043.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 6 +++--- 4 files changed, 14 insertions(+), 6 deletions(-) delete mode 100644 systemd-v254.5+suse.21.g071ac409a0.tar.xz create mode 100644 systemd-v254.8+suse.22.g67a5ac1043.tar.xz diff --git a/systemd-v254.5+suse.21.g071ac409a0.tar.xz b/systemd-v254.5+suse.21.g071ac409a0.tar.xz deleted file mode 100644 index d42f86a8..00000000 --- a/systemd-v254.5+suse.21.g071ac409a0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b5a0cb1989c2850c7087d2f1c00051878e26505a71ffe3287e27011b81023c8 -size 10352172 diff --git a/systemd-v254.8+suse.22.g67a5ac1043.tar.xz b/systemd-v254.8+suse.22.g67a5ac1043.tar.xz new file mode 100644 index 00000000..1e72540b --- /dev/null +++ b/systemd-v254.8+suse.22.g67a5ac1043.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bedcb8262cd6cccbd2d16aff5466c8e98c92ae5108e65f8fb88dcc47a0f8d93 +size 10403896 diff --git a/systemd.changes b/systemd.changes index d0b5fe54..da9da129 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Jan 12 09:34:14 UTC 2024 - Franck Bui + +- Import commit 67a5ac1043417d900bf417a884372ae14a96ef69 (merge of v254.8) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/071ac409a0564863657d8f8a5a35e6a4f914695f...67a5ac1043417d900bf417a884372ae14a96ef69 + ------------------------------------------------------------------- Thu Dec 21 10:11:53 UTC 2023 - Dominique Leuenberger diff --git a/systemd.spec b/systemd.spec index 07e641b9..1255bb8f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.21.g071ac409a0 +%define archive_version +suse.22.g67a5ac1043 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -79,7 +79,7 @@ fi \ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 254.5 +Version: 254.8 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From b8562e417751467ba7d4373c8832f888929bae4e9b4e0eab34ef502aab23b040 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 12 Jan 2024 10:19:47 +0000 Subject: [PATCH 939/991] - Add 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch It seems that systemd upstream has a dubious way to fix broken code these days... let's revert these hacks until a final decision is taken to solve https://github.com/systemd/systemd/issues/28141. See also https://github.com/systemd/systemd/pull/30075. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1483 --- ...te-devlink-with-the-newer-device-nod.patch | 37 +++++++++++++++++++ ...rt-workarounds-for-issues-caused-by-.patch | 36 ++++++++++++++++++ systemd.changes | 11 ++++++ systemd.spec | 2 + 4 files changed, 86 insertions(+) create mode 100644 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch create mode 100644 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch diff --git a/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch b/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch new file mode 100644 index 00000000..691f628a --- /dev/null +++ b/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch @@ -0,0 +1,37 @@ +From 323274d5e7545013b09c280254879dcbf1430fbf Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 12 Jan 2024 10:54:57 +0100 +Subject: [PATCH 5001/5002] Revert "udev: update devlink with the newer device + node even when priority is equivalent" + +This reverts commit 277cb24ffb7a520f640eb36d11340f11bf0c7c4f. +--- + src/udev/udev-node.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c +index 74a70185bc..75845413cf 100644 +--- a/src/udev/udev-node.c ++++ b/src/udev/udev-node.c +@@ -468,13 +468,13 @@ static int link_update(sd_device *dev, const char *slink, bool add) { + /* The devlink priority is downgraded. Another device may have a higher + * priority now. Let's find the device node with the highest priority. */ + } else { +- if (current_prio > prio) +- /* The devlink with a higher priority already exists and is owned by +- * another device. Hence, it is not necessary to recreate it. */ ++ if (current_prio >= prio) ++ /* The devlink with equal or higher priority already exists and is ++ * owned by another device. Hence, it is not necessary to recreate it. */ + return 0; + +- /* This device has the equal or a higher priority than the current. Let's +- * create the devlink to our device node. */ ++ /* This device has a higher priority than the current. Let's create the ++ * devlink to our device node. */ + return node_symlink(dev, NULL, slink); + } + +-- +2.35.3 + diff --git a/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch b/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch new file mode 100644 index 00000000..37e58f64 --- /dev/null +++ b/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch @@ -0,0 +1,36 @@ +From 65b0ae29194a335dc2cc1410d57acf7307251791 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 12 Jan 2024 10:55:17 +0100 +Subject: [PATCH 5002/5002] Revert "udev: revert workarounds for issues caused + by the devlink creation optimization" + +This reverts commit b8fa62589271a0a7552c6eb02e6beac3ca759ba7. +--- + rules.d/60-persistent-storage.rules.in | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/rules.d/60-persistent-storage.rules.in b/rules.d/60-persistent-storage.rules.in +index 835263f3cb..d5e0f5f705 100644 +--- a/rules.d/60-persistent-storage.rules.in ++++ b/rules.d/60-persistent-storage.rules.in +@@ -134,6 +134,17 @@ KERNEL!="sr*|mmcblk[0-9]boot[0-9]", IMPORT{builtin}="blkid" + LABEL="persistent_storage_blkid_probe_end" + {% endif %} + ++# Decrease devlink priority for whole disk of ISO hybrid images, and make the ++# priority for partitions in the image relatively higher. This is for the case ++# that a disk and one of its partition have the same label or so. ++# See issue #28468. ++ENV{ID_FS_TYPE}=="iso9660", ENV{DEVTYPE}=="disk", OPTIONS+="link_priority=-10" ++ ++# Decrease devlink priority for encrypted partitions, and make the priority for ++# decrypted DM devices relatively higher. This is for the case that an encrypted ++# partition and its decrypted DM device have the same label. ++ENV{ID_FS_USAGE}=="crypto", OPTIONS+="link_priority=-10" ++ + # by-label/by-uuid links (filesystem metadata) + ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" + ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index da9da129..40bd609f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Jan 12 10:12:15 UTC 2024 - Franck Bui + +- Add 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch + 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch + + It seems that systemd upstream has a dubious way to fix broken code these + days... let's revert these hacks until a final decision is taken to solve + https://github.com/systemd/systemd/issues/28141. See also + https://github.com/systemd/systemd/pull/30075. + ------------------------------------------------------------------- Fri Jan 12 09:34:14 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 1255bb8f..3d98cedc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -219,6 +219,8 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # very few cases, some stuff might be broken in upstream and need to be fixed or # worked around quickly. In these cases, the patches are added temporarily and # will be removed as soon as a proper fix will be merged by upstream. +Patch5001: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch +Patch5002: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 47702788c78f968b0149750e0a15d6b4537b6028e2a7c573fc31904966f47a39 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 22 Jan 2024 07:44:07 +0000 Subject: [PATCH 940/991] Accepting request 1140337 from home:gcomes.obs - remove pam-config call from post scriptlet of systemd-32bit * the full package already does that OBS-URL: https://build.opensuse.org/request/show/1140337 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1484 --- baselibs.conf | 1 - systemd.changes | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/baselibs.conf b/baselibs.conf index d277a558..256766db 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -6,6 +6,5 @@ systemd -/lib/systemd/system/ -/usr/lib/systemd -/usr/lib/cryptsetup - post "%{_sbindir}/pam-config -a --systemd || :" libsystemd0 libudev1 diff --git a/systemd.changes b/systemd.changes index 40bd609f..981737d5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Jan 20 20:42:06 UTC 2024 - Giacomo Comes + +- remove pam-config call from post scriptlet of systemd-32bit + * the full package already does that + ------------------------------------------------------------------- Fri Jan 12 10:12:15 UTC 2024 - Franck Bui From ebea3f9a926566c1e842102964c3ebb3e57fafd98def29b23bfa65d12a14ab5c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 23 Jan 2024 13:52:53 +0000 Subject: [PATCH 941/991] - Add patches that implement [jsc#PED-5659] 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch 5005-bus-print-properties-prettify-more-unset-properties.patch 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch 5008-test-Add-effective-cgroup-limits-testing.patch 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch 5010-cgroup-Rename-effective-limits-internal-table.patch They are temporarily put in quarantine to get broader testing but should be eventually moved to the git repo. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1485 --- ...TasksMax-structure-to-CGroupTasksMax.patch | 283 ++++++++ ...ties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch | 31 + ...rties-prettify-more-unset-properties.patch | 38 ++ ...tiveMemoryMax-EffectiveMemoryHigh-an.patch | 607 ++++++++++++++++++ ...mit-test-to-subtest-of-generic-limit.patch | 97 +++ ...-Add-effective-cgroup-limits-testing.patch | 111 ++++ ...effective-limits-with-global-resourc.patch | 56 ++ ...name-effective-limits-internal-table.patch | 64 ++ systemd.changes | 17 + systemd.spec | 9 + 10 files changed, 1313 insertions(+) create mode 100644 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch create mode 100644 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch create mode 100644 5005-bus-print-properties-prettify-more-unset-properties.patch create mode 100644 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch create mode 100644 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch create mode 100644 5008-test-Add-effective-cgroup-limits-testing.patch create mode 100644 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch create mode 100644 5010-cgroup-Rename-effective-limits-internal-table.patch diff --git a/5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch b/5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch new file mode 100644 index 00000000..f3ca94ab --- /dev/null +++ b/5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch @@ -0,0 +1,283 @@ +From 14146f22cdcb6ecbf7d0f46a34843837a21aa118 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 23 Jan 2024 11:30:14 +0100 +Subject: [PATCH 5003/5011] cgroup: rename TasksMax structure to CGroupTasksMax + +Almost all our enums/structs/funcs carry the CGroup prefix if they are +defined in cgroup.h, TasksMax so far does not, even though it is +exclusively used in cgroup context. + +Change that. + +(cherry picked from commit 94f0b13b1623c083ece9c0381bd1e65500dc1363) + +[mkoutny: Adjust for missing struct UnitDefaults + contexts] +--- + src/core/cgroup.c | 16 ++++++++-------- + src/core/cgroup.h | 12 ++++++------ + src/core/dbus-cgroup.c | 10 +++++----- + src/core/load-fragment.c | 10 +++++----- + src/core/main.c | 4 ++-- + src/core/manager.c | 2 +- + src/core/manager.h | 2 +- + src/test/test-cgroup-mask.c | 2 +- + 8 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 8a3059b042..5b7205a92e 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -51,7 +51,7 @@ + * out specific attributes from us. */ + #define LOG_LEVEL_CGROUP_WRITE(r) (IN_SET(abs(r), ENOENT, EROFS, EACCES, EPERM) ? LOG_DEBUG : LOG_WARNING) + +-uint64_t tasks_max_resolve(const TasksMax *tasks_max) { ++uint64_t cgroup_tasks_max_resolve(const CGroupTasksMax *tasks_max) { + if (tasks_max->scale == 0) + return tasks_max->value; + +@@ -170,7 +170,7 @@ void cgroup_context_init(CGroupContext *c) { + .blockio_weight = CGROUP_BLKIO_WEIGHT_INVALID, + .startup_blockio_weight = CGROUP_BLKIO_WEIGHT_INVALID, + +- .tasks_max = TASKS_MAX_UNSET, ++ .tasks_max = CGROUP_TASKS_MAX_UNSET, + + .moom_swap = MANAGED_OOM_AUTO, + .moom_mem_pressure = MANAGED_OOM_AUTO, +@@ -562,7 +562,7 @@ void cgroup_context_dump(Unit *u, FILE* f, const char *prefix) { + prefix, c->memory_zswap_max, format_cgroup_memory_limit_comparison(cdj, sizeof(cdj), u, "MemoryZSwapMax"), + prefix, c->startup_memory_zswap_max, format_cgroup_memory_limit_comparison(cdk, sizeof(cdk), u, "StartupMemoryZSwapMax"), + prefix, c->memory_limit, +- prefix, tasks_max_resolve(&c->tasks_max), ++ prefix, cgroup_tasks_max_resolve(&c->tasks_max), + prefix, cgroup_device_policy_to_string(c->device_policy), + prefix, strempty(disable_controllers_str), + prefix, delegate_str, +@@ -1760,9 +1760,9 @@ static void cgroup_context_apply( + * which is desirable so that there's an official way to release control of the sysctl from + * systemd: set the limit to unbounded and reload. */ + +- if (tasks_max_isset(&c->tasks_max)) { ++ if (cgroup_tasks_max_isset(&c->tasks_max)) { + u->manager->sysctl_pid_max_changed = true; +- r = procfs_tasks_set_limit(tasks_max_resolve(&c->tasks_max)); ++ r = procfs_tasks_set_limit(cgroup_tasks_max_resolve(&c->tasks_max)); + } else if (u->manager->sysctl_pid_max_changed) + r = procfs_tasks_set_limit(TASKS_MAX); + else +@@ -1775,10 +1775,10 @@ static void cgroup_context_apply( + /* The attribute itself is not available on the host root cgroup, and in the container case we want to + * leave it for the container manager. */ + if (!is_local_root) { +- if (tasks_max_isset(&c->tasks_max)) { ++ if (cgroup_tasks_max_isset(&c->tasks_max)) { + char buf[DECIMAL_STR_MAX(uint64_t) + 1]; + +- xsprintf(buf, "%" PRIu64 "\n", tasks_max_resolve(&c->tasks_max)); ++ xsprintf(buf, "%" PRIu64 "\n", cgroup_tasks_max_resolve(&c->tasks_max)); + (void) set_attribute_and_warn(u, "pids", "pids.max", buf); + } else + (void) set_attribute_and_warn(u, "pids", "pids.max", "max\n"); +@@ -1894,7 +1894,7 @@ static CGroupMask unit_get_cgroup_mask(Unit *u) { + mask |= CGROUP_MASK_DEVICES | CGROUP_MASK_BPF_DEVICES; + + if (c->tasks_accounting || +- tasks_max_isset(&c->tasks_max)) ++ cgroup_tasks_max_isset(&c->tasks_max)) + mask |= CGROUP_MASK_PIDS; + + return CGROUP_MASK_EXTEND_JOINED(mask); +diff --git a/src/core/cgroup.h b/src/core/cgroup.h +index 9f1963b3f2..486957b545 100644 +--- a/src/core/cgroup.h ++++ b/src/core/cgroup.h +@@ -9,20 +9,20 @@ + #include "list.h" + #include "time-util.h" + +-typedef struct TasksMax { ++typedef struct CGroupTasksMax { + /* If scale == 0, just use value; otherwise, value / scale. + * See tasks_max_resolve(). */ + uint64_t value; + uint64_t scale; +-} TasksMax; ++} CGroupTasksMax; + +-#define TASKS_MAX_UNSET ((TasksMax) { .value = UINT64_MAX, .scale = 0 }) ++#define CGROUP_TASKS_MAX_UNSET ((CGroupTasksMax) { .value = UINT64_MAX, .scale = 0 }) + +-static inline bool tasks_max_isset(const TasksMax *tasks_max) { ++static inline bool cgroup_tasks_max_isset(const CGroupTasksMax *tasks_max) { + return tasks_max->value != UINT64_MAX || tasks_max->scale != 0; + } + +-uint64_t tasks_max_resolve(const TasksMax *tasks_max); ++uint64_t cgroup_tasks_max_resolve(const CGroupTasksMax *tasks_max); + + typedef struct CGroupContext CGroupContext; + typedef struct CGroupDeviceAllow CGroupDeviceAllow; +@@ -210,7 +210,7 @@ struct CGroupContext { + LIST_HEAD(CGroupSocketBindItem, socket_bind_deny); + + /* Common */ +- TasksMax tasks_max; ++ CGroupTasksMax tasks_max; + + /* Settings for systemd-oomd */ + ManagedOOMMode moom_swap; +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c +index 5347525844..3c35673779 100644 +--- a/src/core/dbus-cgroup.c ++++ b/src/core/dbus-cgroup.c +@@ -25,7 +25,7 @@ + #include "percent-util.h" + #include "socket-util.h" + +-BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve); ++BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); + BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_cgroup_pressure_watch, cgroup_pressure_watch, CGroupPressureWatch); + + static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy); +@@ -994,7 +994,7 @@ static int bus_cgroup_set_cpu_weight( + static int bus_cgroup_set_tasks_max( + Unit *u, + const char *name, +- TasksMax *p, ++ CGroupTasksMax *p, + sd_bus_message *message, + UnitWriteFlags flags, + sd_bus_error *error) { +@@ -1013,7 +1013,7 @@ static int bus_cgroup_set_tasks_max( + "Value specified in %s is out of range", name); + + if (!UNIT_WRITE_FLAGS_NOOP(flags)) { +- *p = (TasksMax) { .value = v, .scale = 0 }; /* When .scale==0, .value is the absolute value */ ++ *p = (CGroupTasksMax) { .value = v, .scale = 0 }; /* When .scale==0, .value is the absolute value */ + unit_invalidate_cgroup(u, CGROUP_MASK_PIDS); + + if (v == CGROUP_LIMIT_MAX) +@@ -1030,7 +1030,7 @@ static int bus_cgroup_set_tasks_max( + static int bus_cgroup_set_tasks_max_scale( + Unit *u, + const char *name, +- TasksMax *p, ++ CGroupTasksMax *p, + sd_bus_message *message, + UnitWriteFlags flags, + sd_bus_error *error) { +@@ -1049,7 +1049,7 @@ static int bus_cgroup_set_tasks_max_scale( + "Value specified in %s is out of range", name); + + if (!UNIT_WRITE_FLAGS_NOOP(flags)) { +- *p = (TasksMax) { v, UINT32_MAX }; /* .scale is not 0, so this is interpreted as v/UINT32_MAX. */ ++ *p = (CGroupTasksMax) { v, UINT32_MAX }; /* .scale is not 0, so this is interpreted as v/UINT32_MAX. */ + unit_invalidate_cgroup(u, CGROUP_MASK_PIDS); + + uint32_t scaled = DIV_ROUND_UP((uint64_t) v * 100U, (uint64_t) UINT32_MAX); +diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c +index 86235fa5b6..18ba95a6c5 100644 +--- a/src/core/load-fragment.c ++++ b/src/core/load-fragment.c +@@ -3934,23 +3934,23 @@ int config_parse_tasks_max( + void *userdata) { + + const Unit *u = userdata; +- TasksMax *tasks_max = data; ++ CGroupTasksMax *tasks_max = data; + uint64_t v; + int r; + + if (isempty(rvalue)) { +- *tasks_max = u ? u->manager->default_tasks_max : TASKS_MAX_UNSET; ++ *tasks_max = u ? u->manager->default_tasks_max : CGROUP_TASKS_MAX_UNSET; + return 0; + } + + if (streq(rvalue, "infinity")) { +- *tasks_max = TASKS_MAX_UNSET; ++ *tasks_max = CGROUP_TASKS_MAX_UNSET; + return 0; + } + + r = parse_permyriad(rvalue); + if (r >= 0) +- *tasks_max = (TasksMax) { r, 10000U }; /* r‱ */ ++ *tasks_max = (CGroupTasksMax) { r, 10000U }; /* r‱ */ + else { + r = safe_atou64(rvalue, &v); + if (r < 0) { +@@ -3963,7 +3963,7 @@ int config_parse_tasks_max( + return 0; + } + +- *tasks_max = (TasksMax) { v }; ++ *tasks_max = (CGroupTasksMax) { v }; + } + + return 0; +diff --git a/src/core/main.c b/src/core/main.c +index 14aa1f00c0..efe75d96b3 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -106,7 +106,7 @@ + #include + #endif + +-#define DEFAULT_TASKS_MAX ((TasksMax) { 15U, 100U }) /* 15% */ ++#define DEFAULT_TASKS_MAX ((CGroupTasksMax) { 15U, 100U }) /* 15% */ + + static enum { + ACTION_RUN, +@@ -166,7 +166,7 @@ static bool arg_default_ip_accounting; + static bool arg_default_blockio_accounting; + static bool arg_default_memory_accounting; + static bool arg_default_tasks_accounting; +-static TasksMax arg_default_tasks_max; ++static CGroupTasksMax arg_default_tasks_max; + static usec_t arg_default_memory_pressure_threshold_usec; + static CGroupPressureWatch arg_default_memory_pressure_watch; + static sd_id128_t arg_machine_id; +diff --git a/src/core/manager.c b/src/core/manager.c +index 2ccb753888..5f4522392d 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -840,7 +840,7 @@ int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags, + .default_timer_accuracy_usec = USEC_PER_MINUTE, + .default_memory_accounting = MEMORY_ACCOUNTING_DEFAULT, + .default_tasks_accounting = true, +- .default_tasks_max = TASKS_MAX_UNSET, ++ .default_tasks_max = CGROUP_TASKS_MAX_UNSET, + .default_timeout_start_usec = manager_default_timeout(runtime_scope), + .default_timeout_stop_usec = manager_default_timeout(runtime_scope), + .default_restart_usec = DEFAULT_RESTART_USEC, +diff --git a/src/core/manager.h b/src/core/manager.h +index a6c87dc852..e4b2393d06 100644 +--- a/src/core/manager.h ++++ b/src/core/manager.h +@@ -375,7 +375,7 @@ struct Manager { + bool default_tasks_accounting; + bool default_ip_accounting; + +- TasksMax default_tasks_max; ++ CGroupTasksMax default_tasks_max; + usec_t default_timer_accuracy_usec; + + OOMPolicy default_oom_policy; +diff --git a/src/test/test-cgroup-mask.c b/src/test/test-cgroup-mask.c +index c0bf585963..35b2599e86 100644 +--- a/src/test/test-cgroup-mask.c ++++ b/src/test/test-cgroup-mask.c +@@ -58,7 +58,7 @@ TEST_RET(cgroup_mask, .sd_booted = true) { + m->default_blockio_accounting = + m->default_io_accounting = + m->default_tasks_accounting = false; +- m->default_tasks_max = TASKS_MAX_UNSET; ++ m->default_tasks_max = CGROUP_TASKS_MAX_UNSET; + + assert_se(manager_startup(m, NULL, NULL, NULL) >= 0); + +-- +2.35.3 + diff --git a/5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch b/5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch new file mode 100644 index 00000000..ed0b3971 --- /dev/null +++ b/5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch @@ -0,0 +1,31 @@ +From c44ecd40ed4b4221dd9f03f5c2090d994889064c Mon Sep 17 00:00:00 2001 +From: Mike Yuan +Date: Tue, 23 Jan 2024 11:30:15 +0100 +Subject: [PATCH 5004/5011] bus-print-properties: ignore CGROUP_LIMIT_MAX for + Memory*{Current, Peak} + +MemoryCurrent and MemoryAvailable are shown as "[not set]" when UINT64_MAX +(unset). Let's do the same for the newly-added Memory*{Current,Peak} properties. + +(cherry picked from commit 3f362012ce0034dc14d3c1a1c2a3a64a11efa9da) + +[mkoutny: Drop MemoryPeak=] +--- + src/shared/bus-print-properties.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c +index db41ad2495..46724c98fa 100644 +--- a/src/shared/bus-print-properties.c ++++ b/src/shared/bus-print-properties.c +@@ -158,6 +158,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b + (STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) || + (STR_IN_SET(name, "BlockIOWeight", "StartupBlockIOWeight") && u == CGROUP_BLKIO_WEIGHT_INVALID) || + (STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == UINT64_MAX) || ++ (startswith(name, "Memory") && ENDSWITH_SET(name, "Current") && u == CGROUP_LIMIT_MAX) || + (endswith(name, "NSec") && u == UINT64_MAX)) + + bus_print_property_value(name, expected_value, flags, "[not set]"); +-- +2.35.3 + diff --git a/5005-bus-print-properties-prettify-more-unset-properties.patch b/5005-bus-print-properties-prettify-more-unset-properties.patch new file mode 100644 index 00000000..ebc9eb1f --- /dev/null +++ b/5005-bus-print-properties-prettify-more-unset-properties.patch @@ -0,0 +1,38 @@ +From 278ef74e90a13821fc2209eb09de768035e14478 Mon Sep 17 00:00:00 2001 +From: Mike Yuan +Date: Tue, 23 Jan 2024 11:30:16 +0100 +Subject: [PATCH 5005/5011] bus-print-properties: prettify more unset + properties + +(cherry picked from commit bfb6b1214a8da947cb82fed2eec3d7f2b1c6175f) + +[mkoutny: Handle MemoryAvailable= separately.] +--- + src/shared/bus-print-properties.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c +index 46724c98fa..f74d8994ad 100644 +--- a/src/shared/bus-print-properties.c ++++ b/src/shared/bus-print-properties.c +@@ -157,13 +157,15 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b + else if ((STR_IN_SET(name, "CPUWeight", "StartupCPUWeight", "IOWeight", "StartupIOWeight") && u == CGROUP_WEIGHT_INVALID) || + (STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) || + (STR_IN_SET(name, "BlockIOWeight", "StartupBlockIOWeight") && u == CGROUP_BLKIO_WEIGHT_INVALID) || +- (STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == UINT64_MAX) || ++ (STR_IN_SET(name, "MemoryCurrent", "MemoryAvailable", "TasksCurrent") && u == UINT64_MAX) || + (startswith(name, "Memory") && ENDSWITH_SET(name, "Current") && u == CGROUP_LIMIT_MAX) || ++ (startswith(name, "IO") && ENDSWITH_SET(name, "Bytes", "Operations") && u == UINT64_MAX) || + (endswith(name, "NSec") && u == UINT64_MAX)) + + bus_print_property_value(name, expected_value, flags, "[not set]"); + +- else if ((STR_IN_SET(name, "DefaultMemoryLow", "DefaultMemoryMin", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit", "MemoryAvailable") && u == CGROUP_LIMIT_MAX) || ++ else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") && ++ u == CGROUP_LIMIT_MAX) || + (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == UINT64_MAX) || + (startswith(name, "Limit") && u == UINT64_MAX) || + (startswith(name, "DefaultLimit") && u == UINT64_MAX)) +-- +2.35.3 + diff --git a/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch b/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch new file mode 100644 index 00000000..a3d7e4a5 --- /dev/null +++ b/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch @@ -0,0 +1,607 @@ +From 9c86b2c20823dce7f8303648f7e8a8d76342d1d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Koutn=C3=BD?= +Date: Tue, 23 Jan 2024 11:30:17 +0100 +Subject: [PATCH 5006/5011] cgroup: Add EffectiveMemoryMax=, + EffectiveMemoryHigh= and EffectiveTasksMax= properties + +Users become perplexed when they run their workload in a unit with no +explicit limits configured (moreover, listing the limit property would +even show it's infinity) but they experience unexpected resource +limitation. + +The memory and pid limits come as the most visible, therefore add new +unit read-only properties: +- EffectiveMemoryMax=, +- EffectiveMemoryHigh=, +- EffectiveTasksMax=. + +These properties represent the most stringent limit systemd is aware of +for the given unit -- and that is typically(*) the effective value. + +Implement the properties by simply traversing all parents in the +leaf-slice tree and picking the minimum value. Note that effective +limits are thus defined even for units that don't enable explicit +accounting (because of the hierarchy). + +(*) The evasive case is when systemd runs in a cgroupns and cannot +reason about outer setup. Complete solution would need kernel support. + +(cherry picked from commit 4fb0d2dc140c9a2c01c236d2a8dc09a44157e896) + +[mkoutny: adjust context, drop unapplicable XML] +[mkoutny: fixes jsc#PED-5659] +--- + man/org.freedesktop.systemd1.xml | 108 ++++++++++++++++++++++++++++++ + man/systemd.resource-control.xml | 11 ++- + src/core/cgroup.c | 48 +++++++++++++ + src/core/cgroup.h | 13 ++++ + src/core/dbus-unit.c | 25 +++++++ + src/shared/bus-print-properties.c | 6 +- + 6 files changed, 206 insertions(+), 5 deletions(-) + +diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml +index 2e357539fb..02db33626d 100644 +--- a/man/org.freedesktop.systemd1.xml ++++ b/man/org.freedesktop.systemd1.xml +@@ -2716,6 +2716,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t MemoryAvailable = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryHigh = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t CPUUsageNSec = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly ay EffectiveCPUs = [...]; +@@ -2724,6 +2728,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t TasksCurrent = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveTasksMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressBytes = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressPackets = ...; +@@ -3335,6 +3341,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { + + + ++ ++ ++ ++ + + + +@@ -3343,6 +3353,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { + + + ++ ++ + + + +@@ -3963,6 +3975,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { + + + ++ ++ ++ ++ + + + +@@ -3971,6 +3987,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { + + + ++ ++ + + + +@@ -4748,6 +4766,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t MemoryAvailable = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryHigh = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t CPUUsageNSec = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly ay EffectiveCPUs = [...]; +@@ -4756,6 +4778,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t TasksCurrent = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveTasksMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressBytes = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressPackets = ...; +@@ -5377,6 +5401,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { + + + ++ ++ ++ ++ + + + +@@ -5385,6 +5413,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { + + + ++ ++ + + + +@@ -5983,6 +6013,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { + + + ++ ++ ++ ++ + + + +@@ -5991,6 +6025,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { + + + ++ ++ + + + +@@ -6643,6 +6679,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t MemoryAvailable = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryHigh = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t CPUUsageNSec = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly ay EffectiveCPUs = [...]; +@@ -6651,6 +6691,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t TasksCurrent = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveTasksMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressBytes = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressPackets = ...; +@@ -7200,6 +7242,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { + + + ++ ++ ++ ++ + + + +@@ -7208,6 +7254,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { + + + ++ ++ + + + +@@ -7724,6 +7772,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { + + + ++ ++ ++ ++ + + + +@@ -7732,6 +7784,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { + + + ++ ++ + + + +@@ -8511,6 +8565,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t MemoryAvailable = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryHigh = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t CPUUsageNSec = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly ay EffectiveCPUs = [...]; +@@ -8519,6 +8577,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t TasksCurrent = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveTasksMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressBytes = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressPackets = ...; +@@ -9054,6 +9114,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { + + + ++ ++ ++ ++ + + + +@@ -9062,6 +9126,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { + + + ++ ++ + + + +@@ -9564,6 +9630,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { + + + ++ ++ ++ ++ + + + +@@ -9572,6 +9642,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { + + + ++ ++ + + + +@@ -10210,6 +10282,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t MemoryAvailable = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryHigh = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t CPUUsageNSec = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly ay EffectiveCPUs = [...]; +@@ -10218,6 +10294,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t TasksCurrent = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveTasksMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressBytes = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressPackets = ...; +@@ -10381,6 +10459,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { + + + ++ ++ ++ ++ + + + +@@ -10389,6 +10471,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { + + + ++ ++ + + + +@@ -10557,6 +10641,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { + + + ++ ++ ++ ++ + + + +@@ -10565,6 +10653,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { + + + ++ ++ + + + +@@ -10759,6 +10849,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t MemoryAvailable = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveMemoryHigh = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t CPUUsageNSec = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly ay EffectiveCPUs = [...]; +@@ -10767,6 +10861,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t TasksCurrent = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") ++ readonly t EffectiveTasksMax = ...; ++ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressBytes = ...; + @org.freedesktop.DBus.Property.EmitsChangedSignal("false") + readonly t IPIngressPackets = ...; +@@ -10950,6 +11046,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { + + + ++ ++ ++ ++ + + + +@@ -10958,6 +11058,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { + + + ++ ++ + + + +@@ -11156,6 +11258,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { + + + ++ ++ ++ ++ + + + +@@ -11164,6 +11270,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { + + + ++ ++ + + + +diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml +index 3c17efbe16..5b7900af87 100644 +--- a/man/systemd.resource-control.xml ++++ b/man/systemd.resource-control.xml +@@ -392,7 +392,9 @@ CPUWeight=20 DisableControllers=cpu / \ + system. If assigned the + special value infinity, no memory throttling is applied. This controls the + memory.high control group attribute. For details about this control group attribute, see +- Memory Interface Files. ++ Memory Interface Files. ++ The effective configuration is reported as EffectiveMemoryHigh= ++ (see also EffectiveMemoryMax=). + + While StartupMemoryHigh= applies to the startup and shutdown phases of the system, + MemoryHigh= applies to normal runtime of the system, and if the former is not set also to +@@ -418,7 +420,9 @@ CPUWeight=20 DisableControllers=cpu / \ + percentage value may be specified, which is taken relative to the installed physical memory on the system. If + assigned the special value infinity, no memory limit is applied. This controls the + memory.max control group attribute. For details about this control group attribute, see +- Memory Interface Files. ++ Memory Interface Files. ++ The effective configuration is reported as EffectiveMemoryMax= (the value is ++ the most stringent limit of the unit and parent slices). + + While StartupMemoryMax= applies to the startup and shutdown phases of the system, + MemoryMax= applies to normal runtime of the system, and if the former is not set also to +@@ -534,7 +538,8 @@ CPUWeight=20 DisableControllers=cpu / \ + limit is applied. This controls the pids.max control group attribute. For + details about this control group attribute, the + pids controller +- . ++ . ++ The effective configuration is reported as EffectiveTasksMax=. + + The system default for this setting may be controlled with + DefaultTasksMax= in +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 5b7205a92e..0842036559 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -4000,6 +4000,46 @@ int unit_get_ip_accounting( + return r; + } + ++static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) { ++ CGroupContext *cc; ++ ++ assert(u); ++ assert(UNIT_HAS_CGROUP_CONTEXT(u)); ++ ++ cc = unit_get_cgroup_context(u); ++ switch (type) { ++ /* Note: on legacy/hybrid hierarchies memory_max stays CGROUP_LIMIT_MAX unless configured ++ * explicitly. Effective value of MemoryLimit= (cgroup v1) is not implemented. */ ++ case CGROUP_LIMIT_MEMORY_MAX: ++ return cc->memory_max; ++ case CGROUP_LIMIT_MEMORY_HIGH: ++ return cc->memory_high; ++ case CGROUP_LIMIT_TASKS_MAX: ++ return cgroup_tasks_max_resolve(&cc->tasks_max); ++ default: ++ assert_not_reached(); ++ } ++} ++ ++int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret) { ++ uint64_t infimum; ++ ++ assert(u); ++ assert(ret); ++ assert(type >= 0); ++ assert(type < _CGROUP_LIMIT_TYPE_MAX); ++ ++ if (!UNIT_HAS_CGROUP_CONTEXT(u)) ++ return -EINVAL; ++ ++ infimum = unit_get_effective_limit_one(u, type); ++ for (Unit *slice = UNIT_GET_SLICE(u); slice; slice = UNIT_GET_SLICE(slice)) ++ infimum = MIN(infimum, unit_get_effective_limit_one(slice, type)); ++ ++ *ret = infimum; ++ return 0; ++} ++ + static int unit_get_io_accounting_raw(Unit *u, uint64_t ret[static _CGROUP_IO_ACCOUNTING_METRIC_MAX]) { + static const char *const field_names[_CGROUP_IO_ACCOUNTING_METRIC_MAX] = { + [CGROUP_IO_READ_BYTES] = "rbytes=", +@@ -4418,3 +4458,11 @@ static const char* const cgroup_pressure_watch_table[_CGROUP_PRESSURE_WATCH_MAX] + }; + + DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(cgroup_pressure_watch, CGroupPressureWatch, CGROUP_PRESSURE_WATCH_ON); ++ ++static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { ++ [CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax", ++ [CGROUP_LIMIT_MEMORY_HIGH] = "EffectiveMemoryHigh", ++ [CGROUP_LIMIT_TASKS_MAX] = "EffectiveTasksMax", ++}; ++ ++DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType); +diff --git a/src/core/cgroup.h b/src/core/cgroup.h +index 486957b545..a19a2fffa3 100644 +--- a/src/core/cgroup.h ++++ b/src/core/cgroup.h +@@ -245,6 +245,15 @@ typedef enum CGroupIOAccountingMetric { + _CGROUP_IO_ACCOUNTING_METRIC_INVALID = -EINVAL, + } CGroupIOAccountingMetric; + ++/* Used for limits whose value sets have infimum */ ++typedef enum CGroupLimitType { ++ CGROUP_LIMIT_MEMORY_MAX, ++ CGROUP_LIMIT_MEMORY_HIGH, ++ CGROUP_LIMIT_TASKS_MAX, ++ _CGROUP_LIMIT_TYPE_MAX, ++ _CGROUP_LIMIT_INVALID = -EINVAL, ++} CGroupLimitType; ++ + typedef struct Unit Unit; + typedef struct Manager Manager; + +@@ -337,6 +346,7 @@ int unit_get_tasks_current(Unit *u, uint64_t *ret); + int unit_get_cpu_usage(Unit *u, nsec_t *ret); + int unit_get_io_accounting(Unit *u, CGroupIOAccountingMetric metric, bool allow_cache, uint64_t *ret); + int unit_get_ip_accounting(Unit *u, CGroupIPAccountingMetric metric, uint64_t *ret); ++int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret); + + int unit_reset_cpu_accounting(Unit *u); + int unit_reset_ip_accounting(Unit *u); +@@ -378,3 +388,6 @@ FreezerAction freezer_action_from_string(const char *s) _pure_; + + const char* cgroup_pressure_watch_to_string(CGroupPressureWatch a) _const_; + CGroupPressureWatch cgroup_pressure_watch_from_string(const char *s) _pure_; ++ ++const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_; ++CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_; +diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c +index ed376cec87..b4509a990e 100644 +--- a/src/core/dbus-unit.c ++++ b/src/core/dbus-unit.c +@@ -1438,6 +1438,28 @@ static int property_get_io_counter( + return sd_bus_message_append(reply, "t", value); + } + ++static int property_get_effective_limit( ++ sd_bus *bus, ++ const char *path, ++ const char *interface, ++ const char *property, ++ sd_bus_message *reply, ++ void *userdata, ++ sd_bus_error *error) { ++ ++ uint64_t value = CGROUP_LIMIT_MAX; ++ Unit *u = ASSERT_PTR(userdata); ++ ssize_t type; ++ ++ assert(bus); ++ assert(reply); ++ assert(property); ++ ++ assert_se((type = cgroup_limit_type_from_string(property)) >= 0); ++ (void) unit_get_effective_limit(u, type, &value); ++ return sd_bus_message_append(reply, "t", value); ++} ++ + int bus_unit_method_attach_processes(sd_bus_message *message, void *userdata, sd_bus_error *error) { + + _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; +@@ -1557,10 +1579,13 @@ const sd_bus_vtable bus_unit_cgroup_vtable[] = { + SD_BUS_PROPERTY("ControlGroupId", "t", NULL, offsetof(Unit, cgroup_id), 0), + SD_BUS_PROPERTY("MemoryCurrent", "t", property_get_current_memory, 0, 0), + SD_BUS_PROPERTY("MemoryAvailable", "t", property_get_available_memory, 0, 0), ++ SD_BUS_PROPERTY("EffectiveMemoryMax", "t", property_get_effective_limit, 0, 0), ++ SD_BUS_PROPERTY("EffectiveMemoryHigh", "t", property_get_effective_limit, 0, 0), + SD_BUS_PROPERTY("CPUUsageNSec", "t", property_get_cpu_usage, 0, 0), + SD_BUS_PROPERTY("EffectiveCPUs", "ay", property_get_cpuset_cpus, 0, 0), + SD_BUS_PROPERTY("EffectiveMemoryNodes", "ay", property_get_cpuset_mems, 0, 0), + SD_BUS_PROPERTY("TasksCurrent", "t", property_get_current_tasks, 0, 0), ++ SD_BUS_PROPERTY("EffectiveTasksMax", "t", property_get_effective_limit, 0, 0), + SD_BUS_PROPERTY("IPIngressBytes", "t", property_get_ip_counter, 0, 0), + SD_BUS_PROPERTY("IPIngressPackets", "t", property_get_ip_counter, 0, 0), + SD_BUS_PROPERTY("IPEgressBytes", "t", property_get_ip_counter, 0, 0), +diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c +index f74d8994ad..62bbc598bb 100644 +--- a/src/shared/bus-print-properties.c ++++ b/src/shared/bus-print-properties.c +@@ -164,9 +164,11 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b + + bus_print_property_value(name, expected_value, flags, "[not set]"); + +- else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") && ++ else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", ++ "MemoryHigh", "MemoryMax", ++ "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") && + u == CGROUP_LIMIT_MAX) || +- (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == UINT64_MAX) || ++ (endswith(name, "TasksMax") && u == UINT64_MAX) || + (startswith(name, "Limit") && u == UINT64_MAX) || + (startswith(name, "DefaultLimit") && u == UINT64_MAX)) + +-- +2.35.3 + diff --git a/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch b/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch new file mode 100644 index 00000000..ece5242a --- /dev/null +++ b/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch @@ -0,0 +1,97 @@ +From 46451a18828473edaf7e9873a084f26f0c827a3d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Koutn=C3=BD?= +Date: Tue, 23 Jan 2024 11:30:18 +0100 +Subject: [PATCH 5007/5011] test: Convert rlimit test to subtest of generic + limit testing + +No functional change intended. Preparation for new tests. + +(cherry picked from commit 834ca54624ae1d61ec4fcf3a63b10271c38c4860) + +[mkoutny: fixes jsc#PED-5659] +--- + test/units/testsuite-05.rlimit.sh | 25 +++++++++++++++++++++++++ + test/units/testsuite-05.service | 2 +- + test/units/testsuite-05.sh | 22 +++------------------- + 3 files changed, 29 insertions(+), 20 deletions(-) + create mode 100755 test/units/testsuite-05.rlimit.sh + +diff --git a/test/units/testsuite-05.rlimit.sh b/test/units/testsuite-05.rlimit.sh +new file mode 100755 +index 0000000000..bbf3adbe65 +--- /dev/null ++++ b/test/units/testsuite-05.rlimit.sh +@@ -0,0 +1,25 @@ ++#!/usr/bin/env bash ++# SPDX-License-Identifier: LGPL-2.1-or-later ++set -eux ++set -o pipefail ++ ++P=/run/systemd/system.conf.d ++mkdir $P ++ ++cat >$P/rlimits.conf <$P/rlimits.conf < +Date: Tue, 23 Jan 2024 11:30:19 +0100 +Subject: [PATCH 5008/5011] test: Add effective cgroup limits testing + +(cherry picked from commit ce35bb95c7b6fe9a48d2b8628bd690279b17fffa) + +[mkoutny: fixes jsc#PED-5659] +--- + test/units/testsuite-05.effective-limit.sh | 68 ++++++++++++++++++++++ + test/units/util.sh | 9 +++ + 2 files changed, 77 insertions(+) + create mode 100755 test/units/testsuite-05.effective-limit.sh + +diff --git a/test/units/testsuite-05.effective-limit.sh b/test/units/testsuite-05.effective-limit.sh +new file mode 100755 +index 0000000000..3ff8e83140 +--- /dev/null ++++ b/test/units/testsuite-05.effective-limit.sh +@@ -0,0 +1,68 @@ ++#!/usr/bin/env bash ++# SPDX-License-Identifier: LGPL-2.1-or-later ++set -eux ++set -o pipefail ++ ++# shellcheck source=test/units/util.sh ++. "$(dirname "$0")"/util.sh ++ ++pre=test05 ++cat >/run/systemd/system/"$pre"alpha.slice </run/systemd/system/"$pre"alpha-beta.slice </run/systemd/system/"$pre"alpha-beta-gamma.slice < '$2'" >&2 ++ exit 1 ++ fi ++)} ++ + assert_in() {( + set +ex + +-- +2.35.3 + diff --git a/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch b/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch new file mode 100644 index 00000000..889ab52b --- /dev/null +++ b/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch @@ -0,0 +1,56 @@ +From edfd70ab2c5490131fcf5a4348e31c19251d3479 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Koutn=C3=BD?= +Date: Tue, 23 Jan 2024 11:30:20 +0100 +Subject: [PATCH 5009/5011] cgroup: Restrict effective limits with global + resource provision + +Global resource (whole system or root cg's (e.g. in a container)) is +also a well-defined limit for memory and tasks, take it into account +when calculating effective limits. + +(cherry picked from commit 93f8e88d23bd383b5134f32c1e2ee315ac3a38c8) + +[mkoutny: fixes jsc#PED-5659] +--- + man/systemd.resource-control.xml | 2 +- + src/core/cgroup.c | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml +index 5b7900af87..ded4722e7a 100644 +--- a/man/systemd.resource-control.xml ++++ b/man/systemd.resource-control.xml +@@ -422,7 +422,7 @@ CPUWeight=20 DisableControllers=cpu / \ + memory.max control group attribute. For details about this control group attribute, see + Memory Interface Files. + The effective configuration is reported as EffectiveMemoryMax= (the value is +- the most stringent limit of the unit and parent slices). ++ the most stringent limit of the unit and parent slices and it is capped by physical memory). + + While StartupMemoryMax= applies to the startup and shutdown phases of the system, + MemoryMax= applies to normal runtime of the system, and if the former is not set also to +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 0842036559..a53d90486c 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -4006,6 +4006,17 @@ static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) { + assert(u); + assert(UNIT_HAS_CGROUP_CONTEXT(u)); + ++ if (unit_has_name(u, SPECIAL_ROOT_SLICE)) ++ switch (type) { ++ case CGROUP_LIMIT_MEMORY_MAX: ++ case CGROUP_LIMIT_MEMORY_HIGH: ++ return physical_memory(); ++ case CGROUP_LIMIT_TASKS_MAX: ++ return system_tasks_max(); ++ default: ++ assert_not_reached(); ++ } ++ + cc = unit_get_cgroup_context(u); + switch (type) { + /* Note: on legacy/hybrid hierarchies memory_max stays CGROUP_LIMIT_MAX unless configured +-- +2.35.3 + diff --git a/5010-cgroup-Rename-effective-limits-internal-table.patch b/5010-cgroup-Rename-effective-limits-internal-table.patch new file mode 100644 index 00000000..2342136a --- /dev/null +++ b/5010-cgroup-Rename-effective-limits-internal-table.patch @@ -0,0 +1,64 @@ +From 0c3448f0e341e3e1f23722e4275c4fdd4062d280 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20Koutn=C3=BD?= +Date: Tue, 23 Jan 2024 11:30:21 +0100 +Subject: [PATCH 5010/5011] cgroup: Rename effective limits internal table + +Post-merge fixup of commit 4fb0d2dc14 ("cgroup: Add EffectiveMemoryMax=, +EffectiveMemoryHigh= and EffectiveTasksMax= properties"), no functional +change intended. + +(cherry picked from commit 8ad614890bba66b5f6b590d6a3e1b8b04a920126) + +[mkoutny: adjust context] +[mkoutny: fixes jsc#PED-5659] +--- + src/core/cgroup.c | 4 ++-- + src/core/cgroup.h | 4 ++-- + src/core/dbus-unit.c | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index a53d90486c..2d8d61a26d 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -4470,10 +4470,10 @@ static const char* const cgroup_pressure_watch_table[_CGROUP_PRESSURE_WATCH_MAX] + + DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(cgroup_pressure_watch, CGroupPressureWatch, CGROUP_PRESSURE_WATCH_ON); + +-static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { ++static const char *const cgroup_effective_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { + [CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax", + [CGROUP_LIMIT_MEMORY_HIGH] = "EffectiveMemoryHigh", + [CGROUP_LIMIT_TASKS_MAX] = "EffectiveTasksMax", + }; + +-DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType); ++DEFINE_STRING_TABLE_LOOKUP(cgroup_effective_limit_type, CGroupLimitType); +diff --git a/src/core/cgroup.h b/src/core/cgroup.h +index a19a2fffa3..9ff650abcf 100644 +--- a/src/core/cgroup.h ++++ b/src/core/cgroup.h +@@ -389,5 +389,5 @@ FreezerAction freezer_action_from_string(const char *s) _pure_; + const char* cgroup_pressure_watch_to_string(CGroupPressureWatch a) _const_; + CGroupPressureWatch cgroup_pressure_watch_from_string(const char *s) _pure_; + +-const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_; +-CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_; ++const char* cgroup_effective_limit_type_to_string(CGroupLimitType m) _const_; ++CGroupLimitType cgroup_effective_limit_type_from_string(const char *s) _pure_; +diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c +index b4509a990e..da22e8f524 100644 +--- a/src/core/dbus-unit.c ++++ b/src/core/dbus-unit.c +@@ -1455,7 +1455,7 @@ static int property_get_effective_limit( + assert(reply); + assert(property); + +- assert_se((type = cgroup_limit_type_from_string(property)) >= 0); ++ assert_se((type = cgroup_effective_limit_type_from_string(property)) >= 0); + (void) unit_get_effective_limit(u, type, &value); + return sd_bus_message_append(reply, "t", value); + } +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 981737d5..7b532c61 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Jan 23 13:44:21 UTC 2024 - Franck Bui + +- Add patches that implement [jsc#PED-5659] + + 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch + 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch + 5005-bus-print-properties-prettify-more-unset-properties.patch + 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch + 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch + 5008-test-Add-effective-cgroup-limits-testing.patch + 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch + 5010-cgroup-Rename-effective-limits-internal-table.patch + + They are temporarily put in quarantine to get broader testing but should be + eventually moved to the git repo. + ------------------------------------------------------------------- Sat Jan 20 20:42:06 UTC 2024 - Giacomo Comes diff --git a/systemd.spec b/systemd.spec index 3d98cedc..8d1621ef 100644 --- a/systemd.spec +++ b/systemd.spec @@ -221,6 +221,15 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # will be removed as soon as a proper fix will be merged by upstream. Patch5001: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch Patch5002: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch +# jsc#PED-5659 +Patch5003: 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch +Patch5004: 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch +Patch5005: 5005-bus-print-properties-prettify-more-unset-properties.patch +Patch5006: 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch +Patch5007: 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch +Patch5008: 5008-test-Add-effective-cgroup-limits-testing.patch +Patch5009: 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch +Patch5010: 5010-cgroup-Rename-effective-limits-internal-table.patch %description Systemd is a system and service manager, compatible with SysV and LSB From 97fa9741240a9d4708b00ab974b450bada260a0cd5e2ede0de7bbcb4e1b0a431 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 5 Feb 2024 13:57:41 +0000 Subject: [PATCH 942/991] reference bsc#1218297 in the changelog OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1486 --- systemd.changes | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/systemd.changes b/systemd.changes index 7b532c61..a4e9362a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -37,6 +37,10 @@ Fri Jan 12 09:34:14 UTC 2024 - Franck Bui - Import commit 67a5ac1043417d900bf417a884372ae14a96ef69 (merge of v254.8) + It includes the following fix: + + 029272750f resolved: actually check authenticated flag of SOA transaction (bsc#1218297 CVE-2023-7008) + For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/071ac409a0564863657d8f8a5a35e6a4f914695f...67a5ac1043417d900bf417a884372ae14a96ef69 From 9d3e868cc9b6fdc7905752edb67b44977eb1e1797be5ef84c87d65dd95aa4dc5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 6 Feb 2024 13:32:34 +0000 Subject: [PATCH 943/991] - Move systemd-reboot.service from udev to the main package as this service is useful in containers. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1487 --- files.systemd | 1 + files.udev | 1 - systemd.changes | 6 ++++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/files.systemd b/files.systemd index f86d254a..ba740265 100644 --- a/files.systemd +++ b/files.systemd @@ -603,6 +603,7 @@ %{_unitdir}/systemd-logind.service %{_unitdir}/systemd-machine-id-commit.service %{_unitdir}/systemd-poweroff.service +%{_unitdir}/systemd-reboot.service %{_unitdir}/systemd-soft-reboot.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service diff --git a/files.udev b/files.udev index 1f8a39cf..54fc044c 100644 --- a/files.udev +++ b/files.udev @@ -325,7 +325,6 @@ %{_unitdir}/systemd-pstore.service %{_unitdir}/systemd-quotacheck.service %{_unitdir}/systemd-random-seed.service -%{_unitdir}/systemd-reboot.service %{_unitdir}/systemd-remount-fs.service %{_unitdir}/systemd-rfkill.service %{_unitdir}/systemd-rfkill.socket diff --git a/systemd.changes b/systemd.changes index a4e9362a..52da74a0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Feb 6 13:31:09 UTC 2024 - Franck Bui + +- Move systemd-reboot.service from udev to the main package as this service is + useful in containers. + ------------------------------------------------------------------- Tue Jan 23 13:44:21 UTC 2024 - Franck Bui From 38b23cf1842daa0ff50cc203756397960caa87096b510c710e9a7cc10a868ae9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 7 Feb 2024 13:27:55 +0000 Subject: [PATCH 944/991] - Drop python3-pefile dependency from the experimental package. MicroOs is fond of the experimental stuff but OTOH it doesn't ship python3. Let's drop the dependency for now, users of ukify are invited to install python3-pe manually. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1488 --- systemd.changes | 7 +++++++ systemd.spec | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 52da74a0..08e85a9b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Feb 6 14:48:27 UTC 2024 - Franck Bui + +- Drop python3-pefile dependency from the experimental package. MicroOs is fond + of the experimental stuff but OTOH it doesn't ship python3. Let's drop the + dependency for now, users of ukify are invited to install python3-pe manually. + ------------------------------------------------------------------- Tue Feb 6 13:31:09 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 8d1621ef..74c76cf8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -676,8 +676,6 @@ refer to %{_testsuitedir}/integration-tests/README.testsuite. Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} -# Needed by ukify -Requires: python3-pefile %systemd_requires # fdisk is a build requirement for repart BuildRequires: pkgconfig(fdisk) From 4925638df7511dc291c05590d8f6a361c1c4ba0f071edd4f03d33c9579dab6f6 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 13 Feb 2024 14:43:36 +0000 Subject: [PATCH 945/991] - Update the version of libbpf dlopened by systemd (weak dependency) (bsc#1219440) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1489 --- systemd.changes | 5 +++++ systemd.spec | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index 08e85a9b..84de9e01 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Feb 13 14:37:28 UTC 2024 - Franck Bui + +- Update the version of libbpf dlopened by systemd (weak dependency) (bsc#1219440) + ------------------------------------------------------------------- Tue Feb 6 14:48:27 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 74c76cf8..ff6c56d2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -147,9 +147,10 @@ Requires(post): coreutils Requires(post): findutils Requires(post): systemd-presets-branding Requires(post): pam-config >= 0.79-5 -# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl +# These weak dependencies because some features are optional and enabled at +# runtime with the presence of the relevant libs. Recommends: libpcre2-8-0 -Recommends: libbpf0 +Recommends: libbpf1 %endif Provides: group(systemd-journal) Conflicts: filesystem < 11.5 From d45596786fff777e76b76e21d13cd1c10e002687f8a2ec5fcb97535c7eca7fe7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 14 Feb 2024 08:07:41 +0000 Subject: [PATCH 946/991] - Import commit fa94ab006d09686cef121aaa3baa10cf5ca95e19 (merge of v254.9) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/67a5ac1043417d900bf417a884372ae14a96ef69...fa94ab006d09686cef121aaa3baa10cf5ca95e19 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1490 --- systemd-v254.8+suse.22.g67a5ac1043.tar.xz | 3 --- systemd-v254.9+suse.23.gfa94ab006d.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v254.8+suse.22.g67a5ac1043.tar.xz create mode 100644 systemd-v254.9+suse.23.gfa94ab006d.tar.xz diff --git a/systemd-v254.8+suse.22.g67a5ac1043.tar.xz b/systemd-v254.8+suse.22.g67a5ac1043.tar.xz deleted file mode 100644 index 1e72540b..00000000 --- a/systemd-v254.8+suse.22.g67a5ac1043.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7bedcb8262cd6cccbd2d16aff5466c8e98c92ae5108e65f8fb88dcc47a0f8d93 -size 10403896 diff --git a/systemd-v254.9+suse.23.gfa94ab006d.tar.xz b/systemd-v254.9+suse.23.gfa94ab006d.tar.xz new file mode 100644 index 00000000..862054ab --- /dev/null +++ b/systemd-v254.9+suse.23.gfa94ab006d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0da57148d7984a29756972448d169db13b6819f70fc4bf1ce9cfbef5a69ae024 +size 10406528 diff --git a/systemd.changes b/systemd.changes index 84de9e01..52875085 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Feb 14 07:40:08 UTC 2024 - Franck Bui + +- Import commit fa94ab006d09686cef121aaa3baa10cf5ca95e19 (merge of v254.9) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/67a5ac1043417d900bf417a884372ae14a96ef69...fa94ab006d09686cef121aaa3baa10cf5ca95e19 + ------------------------------------------------------------------- Tue Feb 13 14:37:28 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ff6c56d2..c5cecddf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,7 +18,7 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.22.g67a5ac1043 +%define archive_version +suse.23.gfa94ab006d %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -79,7 +79,7 @@ fi \ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 254.8 +Version: 254.9 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later From 648decfc0c945920afb4146688828e28b594ad9f59cd8e08c4e650322157f4ee Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 14 Feb 2024 09:39:26 +0000 Subject: [PATCH 947/991] - Import commit fbf9f32eb774ba6ec54e0d5d53b36baaf3e6b146 fbf9f32eb7 test/test-shutdown.py: optionally display the test I/Os in a dedicated log file cd012774df test-69: send SIGTERM to ask systemd-nspawn to properly stop the container d883b83244 man: Document ranges for distributions config files and local config files OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1491 --- systemd-v254.9+suse.23.gfa94ab006d.tar.xz | 3 --- systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz | 3 +++ systemd.changes | 9 +++++++++ systemd.spec | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) delete mode 100644 systemd-v254.9+suse.23.gfa94ab006d.tar.xz create mode 100644 systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz diff --git a/systemd-v254.9+suse.23.gfa94ab006d.tar.xz b/systemd-v254.9+suse.23.gfa94ab006d.tar.xz deleted file mode 100644 index 862054ab..00000000 --- a/systemd-v254.9+suse.23.gfa94ab006d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0da57148d7984a29756972448d169db13b6819f70fc4bf1ce9cfbef5a69ae024 -size 10406528 diff --git a/systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz b/systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz new file mode 100644 index 00000000..437bf047 --- /dev/null +++ b/systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff1d20fb5e5b20a96dd72e121055e3d55563fb15714a9a0be451f98ac14ff75e +size 10405520 diff --git a/systemd.changes b/systemd.changes index 52875085..d9da4c76 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Feb 14 08:16:32 UTC 2024 - Franck Bui + +- Import commit fbf9f32eb774ba6ec54e0d5d53b36baaf3e6b146 + + fbf9f32eb7 test/test-shutdown.py: optionally display the test I/Os in a dedicated log file + cd012774df test-69: send SIGTERM to ask systemd-nspawn to properly stop the container + d883b83244 man: Document ranges for distributions config files and local config files + ------------------------------------------------------------------- Wed Feb 14 07:40:08 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c5cecddf..af4b29b6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,7 +18,7 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.23.gfa94ab006d +%define archive_version +suse.26.gfbf9f32eb7 %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From 796f5535eefc03e1edbb18a7bc0dcb9c2c102d3c421cd4f02b934e928ee73bbe Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 19 Feb 2024 08:29:19 +0000 Subject: [PATCH 948/991] - systemd-testsuite: depend on "qemu" instead of "qemu-kvm", the latter is obsolete. (bsc#1218684) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1492 --- systemd.changes | 6 ++++++ systemd.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index d9da4c76..a4a9c724 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Feb 19 08:27:42 UTC 2024 - Franck Bui + +- systemd-testsuite: depend on "qemu" instead of "qemu-kvm", the latter is + obsolete. (bsc#1218684) + ------------------------------------------------------------------- Wed Feb 14 08:16:32 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index af4b29b6..6dc1abfa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -622,7 +622,7 @@ Requires: make Requires: mtools Requires: netcat Requires: python3-pexpect -Requires: qemu-kvm +Requires: qemu Requires: quota Requires: socat Requires: squashfs From 808df0e80db810078d57373bab520a678dab7eda22f7d5fb6f1ec65dd9452ad1 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 19 Feb 2024 09:13:14 +0000 Subject: [PATCH 949/991] - Import commit 53e2aaaf9d69fb1c8f6ae2c9f8a99b02d70d318f 53e2aaaf9d vconsole-setup: don't fail if the only found vc is already used by plymouth (bsc#1218618) 22c4878430 vconsole-setup: port to main-func.h boilerplate OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1493 --- systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz | 3 --- systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) delete mode 100644 systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz create mode 100644 systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz diff --git a/systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz b/systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz deleted file mode 100644 index 437bf047..00000000 --- a/systemd-v254.9+suse.26.gfbf9f32eb7.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff1d20fb5e5b20a96dd72e121055e3d55563fb15714a9a0be451f98ac14ff75e -size 10405520 diff --git a/systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz b/systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz new file mode 100644 index 00000000..48a9e1c4 --- /dev/null +++ b/systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0923da810cbcc9246fec9bab9be46d497511a5117e001e3b7c570df9dd5c1cc2 +size 10409356 diff --git a/systemd.changes b/systemd.changes index a4a9c724..28630f23 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Feb 19 08:53:31 UTC 2024 - Franck Bui + +- Import commit 53e2aaaf9d69fb1c8f6ae2c9f8a99b02d70d318f + + 53e2aaaf9d vconsole-setup: don't fail if the only found vc is already used by plymouth (bsc#1218618) + 22c4878430 vconsole-setup: port to main-func.h boilerplate + ------------------------------------------------------------------- Mon Feb 19 08:27:42 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6dc1abfa..4d4d15b5 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,7 +18,7 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.26.gfbf9f32eb7 +%define archive_version +suse.28.g53e2aaaf9d %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit From de9857c4a951af478d540ec0cba761d3c9f951e843d3abf8f8b0230be8cc5ef7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 20 Feb 2024 14:38:41 +0000 Subject: [PATCH 950/991] Accepting request 1148086 from home:daandemeyer:branches:Base:System - Add a new %upstream macro to support building from upstream sources. This will allow upstream to build systemd rpms using the opensuse systemd packaging specs. These rpms will be built and used in upstream's mkosi based hacking and testing environment to test changes and in the future to run integration tests as well. By building the rpms using the opensuse packaging specs, the idea is to catch more issues ahead of time as the mkosi environment will behave more like a regular opensuse system. - Add new %version_override and %version_release macros to allow overriding the version and release of the rpm respectively. OBS-URL: https://build.opensuse.org/request/show/1148086 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1494 --- files.experimental | 8 ++++++++ files.network | 4 ++++ files.systemd | 4 ++-- systemd.changes | 13 +++++++++++++ systemd.spec | 40 ++++++++++++++++++++++++++++++++++------ 5 files changed, 61 insertions(+), 8 deletions(-) diff --git a/files.experimental b/files.experimental index 73303174..aa23c6ac 100644 --- a/files.experimental +++ b/files.experimental @@ -32,7 +32,11 @@ %{_mandir}/man8/systemd-pcrmachine.service.8.gz %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz +%if %{with upstream} +%{_mandir}/man8/systemd-pcrextend.8.gz +%else %{_mandir}/man8/systemd-pcrphase.8.gz +%endif %{_mandir}/man8/systemd-pcrphase.service.8.gz %endif %{_mandir}/man8/systemd-repart.8.gz @@ -53,8 +57,12 @@ %endif %{_systemd_util_dir}/systemd-oomd %if %{with sd_boot} +%if %{with upstream} +%{_systemd_util_dir}/systemd-pcrextend +%else %{_systemd_util_dir}/systemd-pcrphase %endif +%endif %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userwork %if %{with sd_boot} diff --git a/files.network b/files.network index e28d4826..60867129 100644 --- a/files.network +++ b/files.network @@ -31,7 +31,11 @@ %{_systemd_util_dir}/network/80-container-vb.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network +%if %{with upstream} +%{_systemd_util_dir}/network/89-ethernet.network.example +%else %{_systemd_util_dir}/network/80-ethernet.network.example +%endif %{_systemd_util_dir}/network/80-vm-vt.network %{_systemd_util_dir}/network/80-wifi-adhoc.network %{_systemd_util_dir}/network/80-wifi-ap.network.example diff --git a/files.systemd b/files.systemd index ba740265..4838f6ba 100644 --- a/files.systemd +++ b/files.systemd @@ -209,8 +209,8 @@ %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif -%{_libdir}/systemd/libsystemd-core-254.so -%{_libdir}/systemd/libsystemd-shared-254.so +%{_libdir}/systemd/libsystemd-core-*.so +%{_libdir}/systemd/libsystemd-shared-*.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz diff --git a/systemd.changes b/systemd.changes index 28630f23..ac25d2f5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Feb 20 12:22:42 UTC 2024 - Daan De Meyer + +- Add a new %upstream macro to support building from upstream sources. This + will allow upstream to build systemd rpms using the opensuse systemd packaging + specs. These rpms will be built and used in upstream's mkosi based hacking and + testing environment to test changes and in the future to run integration tests + as well. By building the rpms using the opensuse packaging specs, the idea is + to catch more issues ahead of time as the mkosi environment will behave more + like a regular opensuse system. +- Add new %version_override and %version_release macros to allow overriding the + version and release of the rpm respectively. + ------------------------------------------------------------------- Mon Feb 19 08:53:31 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 4d4d15b5..488154d0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -20,6 +20,17 @@ %define archive_version +suse.28.g53e2aaaf9d +%if 0%{?version_override} +%define systemd_major %version_override +%define systemd_minor %{nil} +%else +%define systemd_major 254 +%define systemd_minor 1 +%endif + +%define systemd_version %{systemd_major}%{?systemd_minor:.%{systemd_minor}} +%define systemd_release %{?release_override}%{!?release_override:0} + %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -58,6 +69,8 @@ %bcond_without testsuite %endif +%bcond_with upstream + # The following features are kept to ease migrations toward SLE. Their default # value is independent of the build flavor. %bcond_without filetriggers @@ -79,8 +92,10 @@ fi \ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 254.9 -Release: 0 +# Allow users to specify the version and release when building the rpm by +# setting the %version_override and %release_override macros. +Version: %systemd_version +Release: %systemd_release Summary: A System and Session Manager License: LGPL-2.1-or-later BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -215,6 +230,8 @@ Patch4: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif +%if %{without upstream} + # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for # very few cases, some stuff might be broken in upstream and need to be fixed or @@ -232,6 +249,8 @@ Patch5008: 5008-test-Add-effective-cgroup-limits-testing.patch Patch5009: 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch Patch5010: 5010-cgroup-Rename-effective-limits-internal-table.patch +%endif + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -357,6 +376,15 @@ Conflicts: util-linux < 2.16 Conflicts: udev Provides: udev = %{version}-%{release} %endif +%if %{with upstream} +BuildRequires: pkgconfig(xencontrol) +BuildRequires: pkgconfig(libarchive) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(dbus-1) +Recommends: libarchive13 +Recommends: libxkbcommon0 +%endif %description -n udev%{?mini} This package provides systemd-udevd. The udev daemon receives device uevents @@ -722,7 +750,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" %meson \ -Dmode=release \ - -Dversion-tag=%{version}%{archive_version} \ + -Dversion-tag=%{version}%[%{without upstream}?"%{archive_version}":""] \ -Ddocdir=%{_docdir}/systemd \ %if %{with split_usr} -Drootprefix=/usr \ @@ -799,7 +827,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dsbat-distro-url="%{?sbat_distro_url}" \ \ -Dsbat-distro-pkgname="%{name}" \ - -Dsbat-distro-version="%{version}-%{release}" \ + -Dsbat-distro-version="%{version}%[%{without upstream}?"-%{release}":""]" \ \ -Ddefault-dnssec=no \ -Ddns-servers='' \ @@ -1387,13 +1415,13 @@ fi %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 -%{_libdir}/libsystemd.so.0.37.0 +%{_libdir}/libsystemd.so.0.*.0 %files -n libudev%{?mini}1 %defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 -%{_libdir}/libudev.so.1.7.7 +%{_libdir}/libudev.so.1.7.* %if %{with coredump} %files coredump From 60821ed2c5443e1fff86c7fb080ad5ac5928faf33fd79484ccd548a8a7b10425 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 22 Feb 2024 10:10:39 +0000 Subject: [PATCH 951/991] - Import commit 31f1148f75a1155d3eb37fd1a450096d669ec65b 31f1148f75 seccomp: include `fchmodat2` in `@file-system` (bsc#1219766) 001f349c57 service: Demote log level of NotifyAccess= messages to debug (bsc#1210113 jsc#PED-6214) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1495 --- systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz | 3 --- systemd-v254.9+suse.30.g31f1148f75.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 14 +++++++------- 4 files changed, 18 insertions(+), 10 deletions(-) delete mode 100644 systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz create mode 100644 systemd-v254.9+suse.30.g31f1148f75.tar.xz diff --git a/systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz b/systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz deleted file mode 100644 index 48a9e1c4..00000000 --- a/systemd-v254.9+suse.28.g53e2aaaf9d.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0923da810cbcc9246fec9bab9be46d497511a5117e001e3b7c570df9dd5c1cc2 -size 10409356 diff --git a/systemd-v254.9+suse.30.g31f1148f75.tar.xz b/systemd-v254.9+suse.30.g31f1148f75.tar.xz new file mode 100644 index 00000000..20d19563 --- /dev/null +++ b/systemd-v254.9+suse.30.g31f1148f75.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67af3a7f3c6bd95e677f8bbae803429f8f1b1a7e282d31645620f7740556f29f +size 10407004 diff --git a/systemd.changes b/systemd.changes index ac25d2f5..8f2452b3 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Feb 22 09:47:41 UTC 2024 - Franck Bui + +- Import commit 31f1148f75a1155d3eb37fd1a450096d669ec65b + + 31f1148f75 seccomp: include `fchmodat2` in `@file-system` (bsc#1219766) + 001f349c57 service: Demote log level of NotifyAccess= messages to debug (bsc#1210113 jsc#PED-6214) + ------------------------------------------------------------------- Tue Feb 20 12:22:42 UTC 2024 - Daan De Meyer diff --git a/systemd.spec b/systemd.spec index 488154d0..bfd83789 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,14 +18,14 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.28.g53e2aaaf9d +%define archive_version +suse.30.g31f1148f75 %if 0%{?version_override} %define systemd_major %version_override %define systemd_minor %{nil} %else %define systemd_major 254 -%define systemd_minor 1 +%define systemd_minor 9 %endif %define systemd_version %{systemd_major}%{?systemd_minor:.%{systemd_minor}} @@ -93,7 +93,7 @@ fi \ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd # Allow users to specify the version and release when building the rpm by -# setting the %version_override and %release_override macros. +# setting the %%version_override and %%release_override macros. Version: %systemd_version Release: %systemd_release Summary: A System and Session Manager @@ -377,11 +377,11 @@ Conflicts: udev Provides: udev = %{version}-%{release} %endif %if %{with upstream} -BuildRequires: pkgconfig(xencontrol) -BuildRequires: pkgconfig(libarchive) -BuildRequires: pkgconfig(xkbcommon) -BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(libarchive) +BuildRequires: pkgconfig(xencontrol) +BuildRequires: pkgconfig(xkbcommon) Recommends: libarchive13 Recommends: libxkbcommon0 %endif From cf25628836d345ba4f46563d23ac1cbec95e6ff969b6333e8324decc20d6aa63 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 23 Feb 2024 08:10:09 +0000 Subject: [PATCH 952/991] - When building systemd rpms in place (i.e. rpmbuild --build-in-place), the version of systemd is now retrieved from the file "meson.version" by default. This file is supposed to contain a string that described the full version of the systemd project. - Overriding of %systemd_version/%systemd_release is now limited to builds of rpms in place cases. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1496 --- files.systemd | 4 ++-- systemd.changes | 12 ++++++++++++ systemd.spec | 24 ++++++++++++------------ 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/files.systemd b/files.systemd index 4838f6ba..361e6afc 100644 --- a/files.systemd +++ b/files.systemd @@ -209,8 +209,8 @@ %{_libdir}/libnss_myhostname.so.2 %{_libdir}/libnss_systemd.so.2 %endif -%{_libdir}/systemd/libsystemd-core-*.so -%{_libdir}/systemd/libsystemd-shared-*.so +%{_libdir}/systemd/libsystemd-core-%{systemd_major}.so +%{_libdir}/systemd/libsystemd-shared-%{systemd_major}.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz diff --git a/systemd.changes b/systemd.changes index 8f2452b3..8163e39c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Feb 23 07:51:50 UTC 2024 - Franck Bui + +- When building systemd rpms in place (i.e. rpmbuild --build-in-place), the + version of systemd is now retrieved from the file "meson.version" by + default. This file is supposed to contain a string that described the full + version of the systemd project. + +- Overriding of %systemd_version/%systemd_release is now limited to builds of + rpms in place cases. + ------------------------------------------------------------------- Thu Feb 22 09:47:41 UTC 2024 - Franck Bui @@ -16,6 +27,7 @@ Tue Feb 20 12:22:42 UTC 2024 - Daan De Meyer as well. By building the rpms using the opensuse packaging specs, the idea is to catch more issues ahead of time as the mkosi environment will behave more like a regular opensuse system. + - Add new %version_override and %version_release macros to allow overriding the version and release of the rpm respectively. diff --git a/systemd.spec b/systemd.spec index bfd83789..ed46d348 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,18 +18,20 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.30.g31f1148f75 +%define systemd_version 254.9 +%define systemd_release 0 +%define archive_version +suse.30.g31f1148f75 -%if 0%{?version_override} -%define systemd_major %version_override -%define systemd_minor %{nil} -%else -%define systemd_major 254 -%define systemd_minor 9 +%if 0%{?_build_in_place} +# Allow users to specify the version and the release when building the rpm in +# place. When not provided we look for the version in meson.version (introduced +# in v256). +%define systemd_version %{?version_override}%{!?version_override:%(cat meson.version)} +%define systemd_release %{?release_override}%{!?release_override:0} +%define archive_version %{nil} %endif -%define systemd_version %{systemd_major}%{?systemd_minor:.%{systemd_minor}} -%define systemd_release %{?release_override}%{!?release_override:0} +%define systemd_major %{sub %systemd_version 1 3} %define _testsuitedir %{_systemd_util_dir}/tests %define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit @@ -92,8 +94,6 @@ fi \ Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd -# Allow users to specify the version and release when building the rpm by -# setting the %%version_override and %%release_override macros. Version: %systemd_version Release: %systemd_release Summary: A System and Session Manager @@ -750,7 +750,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" %meson \ -Dmode=release \ - -Dversion-tag=%{version}%[%{without upstream}?"%{archive_version}":""] \ + -Dversion-tag=%{version}%{archive_version} \ -Ddocdir=%{_docdir}/systemd \ %if %{with split_usr} -Drootprefix=/usr \ From 94f1d69402a439a5a44c266497254a82e7744043e557c785f783c02493b5e3d7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 23 Feb 2024 16:24:26 +0000 Subject: [PATCH 953/991] - Upgrade to v255.3 (commit 96edf7ad1866172b994cafb4df49e27d68ce8e87) See https://github.com/openSUSE/systemd/blob/SUSE/v255/NEWS for details. - This includes the following bug fixes: - commit 6e10405aa25fe5e76b740d9ec59730e3f4470c7a (bsc#1219766) - The following patches have been rebased: - 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch - 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch - 0009-pid1-handle-console-specificities-weirdness-for-s390.patch - 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch - 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch - The following patches have been removed since they're part of v255: - 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch - 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch - 5005-bus-print-properties-prettify-more-unset-properties.patch - systemd-boot has been added to the list of the dependencies of the systemd-testsuite package as the installation of the bootloader is now tested. - the following patches have been backported on top of v255.3: 96edf7ad18 service: Demote log level of NotifyAccess= messages to debug (bsc#1210113 jsc#PED-6214) fdde7f26d6 vconsole-setup: don't fail if the only found vc is already used by plymouth (bsc#1218618) f96c587d41 rules: set up tty permissions and group for /dev/hvc* nodes (bsc#1218137) 63a41b8899 vconsole-setup: remember the correct error value when open_terminal() fails f51a2e038c vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully (bsc#1215282) 15025a04c4 test: make sure to install the filesystem package in the test image on SUSE 06fecfb635 test: make sure that sd-boot is installed before testing bootctl 1e8788ea68 test: install systemd-boot in openSUSE test images 6e2875ad43 test/test-shutdown.py: optionally display the test I/Os in a dedicated log file 4be1a801b4 test-69: send SIGTERM to ask systemd-nspawn to properly stop the container 7bdab7b7c7 man: Document ranges for distributions config files and local config files 3f12a6c22f test: systemd-update-utmp is optional OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1497 --- ...ering-startup-for-etc-init.d-boot.lo.patch | 9 +- ...ranslate-Required-Start-into-a-Wants.patch | 10 +- ...ole-specificities-weirdness-for-s390.patch | 11 +- ...te-devlink-with-the-newer-device-nod.patch | 6 +- ...rt-workarounds-for-issues-caused-by-.patch | 4 +- ...TasksMax-structure-to-CGroupTasksMax.patch | 283 ------------------ ...ties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch | 31 -- ...rties-prettify-more-unset-properties.patch | 38 --- ...tiveMemoryMax-EffectiveMemoryHigh-an.patch | 217 +++++++++----- ...mit-test-to-subtest-of-generic-limit.patch | 6 +- ...-Add-effective-cgroup-limits-testing.patch | 10 +- ...effective-limits-with-global-resourc.patch | 14 +- ...name-effective-limits-internal-table.patch | 28 +- files.devel | 1 + files.experimental | 101 ++++++- files.network | 9 +- files.systemd | 7 + files.udev | 7 + files.uefi-boot | 4 - systemd-v254.9+suse.30.g31f1148f75.tar.xz | 3 - systemd-v255.3+suse.15.g96edf7ad18.tar.xz | 3 + systemd.changes | 50 ++++ systemd.spec | 47 ++- 23 files changed, 389 insertions(+), 510 deletions(-) delete mode 100644 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch delete mode 100644 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch delete mode 100644 5005-bus-print-properties-prettify-more-unset-properties.patch delete mode 100644 systemd-v254.9+suse.30.g31f1148f75.tar.xz create mode 100644 systemd-v255.3+suse.15.g96edf7ad18.tar.xz diff --git a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch index 47bb74af..7de98b00 100644 --- a/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +++ b/0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch @@ -1,8 +1,7 @@ -From ddf3a821b51fbd3064914eb00a03bbecce9ee361 Mon Sep 17 00:00:00 2001 +From e1562e145272efea60275ffe8e7edeb65224ab8d Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 25 Mar 2014 13:08:56 +0000 -Subject: [PATCH 03/11] rc-local: fix ordering startup for - /etc/init.d/boot.local +Subject: [PATCH] rc-local: fix ordering startup for /etc/init.d/boot.local [tblume: fixes bnc#869142] --- @@ -10,7 +9,7 @@ Subject: [PATCH 03/11] rc-local: fix ordering startup for 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/rc-local.service.in b/units/rc-local.service.in -index 55e83dfe00..8b20f8d1af 100644 +index 6fb0838cdb..768f720032 100644 --- a/units/rc-local.service.in +++ b/units/rc-local.service.in @@ -13,7 +13,7 @@ @@ -23,5 +22,5 @@ index 55e83dfe00..8b20f8d1af 100644 [Service] Type=forking -- -2.26.2 +2.35.3 diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch index 001c0a6c..ee4e6154 100644 --- a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -1,7 +1,7 @@ -From 9e6a1f4b085b29abaf90ecd05859537b837b39fe Mon Sep 17 00:00:00 2001 +From 2c821a6c31ce3e2af53274b26fc34648933f6574 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 4 May 2016 17:40:04 +0200 -Subject: [PATCH 8/8] sysv-generator: translate "Required-Start" into a "Wants" +Subject: [PATCH] sysv-generator: translate "Required-Start" into a "Wants" dependency 'Required-Start:' used to be supported by insserv but this functionality was @@ -19,10 +19,10 @@ see the comments in bsc#857204. 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index bf23c48662..c6e1953839 100644 +index 4485e2e368..e0833a7179 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c -@@ -409,8 +409,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text +@@ -412,8 +412,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text return log_oom(); r = strv_extend(&s->wants, m); @@ -38,5 +38,5 @@ index bf23c48662..c6e1953839 100644 return log_oom(); } -- -2.31.1 +2.35.3 diff --git a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch index 14354b18..e05368d2 100644 --- a/0009-pid1-handle-console-specificities-weirdness-for-s390.patch +++ b/0009-pid1-handle-console-specificities-weirdness-for-s390.patch @@ -1,8 +1,7 @@ -From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001 +From 745ab2ac0f5424b0c04d9c38234bb9babcbd90ef Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 10 Jun 2016 15:19:57 +0200 -Subject: [PATCH 09/11] pid1: handle console specificities/weirdness for s390 - arch +Subject: [PATCH] pid1: handle console specificities/weirdness for s390 arch The 3270 console on S/390 can do color but not the 3215 console. @@ -30,10 +29,10 @@ whose $subject is "[PATCH] support conmode setting on command line". 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c -index d769423d6e..1a65391146 100644 +index 3355b749cc..e96b053217 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c -@@ -779,7 +779,20 @@ bool tty_is_vc_resolve(const char *tty) { +@@ -784,7 +784,20 @@ bool tty_is_vc_resolve(const char *tty) { } const char *default_term_for_tty(const char *tty) { @@ -56,5 +55,5 @@ index d769423d6e..1a65391146 100644 int fd_columns(int fd) { -- -2.26.2 +2.35.3 diff --git a/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch b/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch index 691f628a..a09867ee 100644 --- a/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch +++ b/5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch @@ -1,4 +1,4 @@ -From 323274d5e7545013b09c280254879dcbf1430fbf Mon Sep 17 00:00:00 2001 +From d624ceb7f2e6e286cf876f2ff9bf90532166c7f9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 12 Jan 2024 10:54:57 +0100 Subject: [PATCH 5001/5002] Revert "udev: update devlink with the newer device @@ -10,10 +10,10 @@ This reverts commit 277cb24ffb7a520f640eb36d11340f11bf0c7c4f. 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c -index 74a70185bc..75845413cf 100644 +index e12c26ce5a..6ba38087dc 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c -@@ -468,13 +468,13 @@ static int link_update(sd_device *dev, const char *slink, bool add) { +@@ -467,13 +467,13 @@ static int link_update(sd_device *dev, const char *slink, bool add) { /* The devlink priority is downgraded. Another device may have a higher * priority now. Let's find the device node with the highest priority. */ } else { diff --git a/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch b/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch index 37e58f64..da408365 100644 --- a/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch +++ b/5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch @@ -1,4 +1,4 @@ -From 65b0ae29194a335dc2cc1410d57acf7307251791 Mon Sep 17 00:00:00 2001 +From 1861e68a986c39cfec3c7fe8a348d331d93800d7 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 12 Jan 2024 10:55:17 +0100 Subject: [PATCH 5002/5002] Revert "udev: revert workarounds for issues caused @@ -10,7 +10,7 @@ This reverts commit b8fa62589271a0a7552c6eb02e6beac3ca759ba7. 1 file changed, 11 insertions(+) diff --git a/rules.d/60-persistent-storage.rules.in b/rules.d/60-persistent-storage.rules.in -index 835263f3cb..d5e0f5f705 100644 +index 6787430208..39a6555045 100644 --- a/rules.d/60-persistent-storage.rules.in +++ b/rules.d/60-persistent-storage.rules.in @@ -134,6 +134,17 @@ KERNEL!="sr*|mmcblk[0-9]boot[0-9]", IMPORT{builtin}="blkid" diff --git a/5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch b/5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch deleted file mode 100644 index f3ca94ab..00000000 --- a/5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch +++ /dev/null @@ -1,283 +0,0 @@ -From 14146f22cdcb6ecbf7d0f46a34843837a21aa118 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 23 Jan 2024 11:30:14 +0100 -Subject: [PATCH 5003/5011] cgroup: rename TasksMax structure to CGroupTasksMax - -Almost all our enums/structs/funcs carry the CGroup prefix if they are -defined in cgroup.h, TasksMax so far does not, even though it is -exclusively used in cgroup context. - -Change that. - -(cherry picked from commit 94f0b13b1623c083ece9c0381bd1e65500dc1363) - -[mkoutny: Adjust for missing struct UnitDefaults + contexts] ---- - src/core/cgroup.c | 16 ++++++++-------- - src/core/cgroup.h | 12 ++++++------ - src/core/dbus-cgroup.c | 10 +++++----- - src/core/load-fragment.c | 10 +++++----- - src/core/main.c | 4 ++-- - src/core/manager.c | 2 +- - src/core/manager.h | 2 +- - src/test/test-cgroup-mask.c | 2 +- - 8 files changed, 29 insertions(+), 29 deletions(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 8a3059b042..5b7205a92e 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -51,7 +51,7 @@ - * out specific attributes from us. */ - #define LOG_LEVEL_CGROUP_WRITE(r) (IN_SET(abs(r), ENOENT, EROFS, EACCES, EPERM) ? LOG_DEBUG : LOG_WARNING) - --uint64_t tasks_max_resolve(const TasksMax *tasks_max) { -+uint64_t cgroup_tasks_max_resolve(const CGroupTasksMax *tasks_max) { - if (tasks_max->scale == 0) - return tasks_max->value; - -@@ -170,7 +170,7 @@ void cgroup_context_init(CGroupContext *c) { - .blockio_weight = CGROUP_BLKIO_WEIGHT_INVALID, - .startup_blockio_weight = CGROUP_BLKIO_WEIGHT_INVALID, - -- .tasks_max = TASKS_MAX_UNSET, -+ .tasks_max = CGROUP_TASKS_MAX_UNSET, - - .moom_swap = MANAGED_OOM_AUTO, - .moom_mem_pressure = MANAGED_OOM_AUTO, -@@ -562,7 +562,7 @@ void cgroup_context_dump(Unit *u, FILE* f, const char *prefix) { - prefix, c->memory_zswap_max, format_cgroup_memory_limit_comparison(cdj, sizeof(cdj), u, "MemoryZSwapMax"), - prefix, c->startup_memory_zswap_max, format_cgroup_memory_limit_comparison(cdk, sizeof(cdk), u, "StartupMemoryZSwapMax"), - prefix, c->memory_limit, -- prefix, tasks_max_resolve(&c->tasks_max), -+ prefix, cgroup_tasks_max_resolve(&c->tasks_max), - prefix, cgroup_device_policy_to_string(c->device_policy), - prefix, strempty(disable_controllers_str), - prefix, delegate_str, -@@ -1760,9 +1760,9 @@ static void cgroup_context_apply( - * which is desirable so that there's an official way to release control of the sysctl from - * systemd: set the limit to unbounded and reload. */ - -- if (tasks_max_isset(&c->tasks_max)) { -+ if (cgroup_tasks_max_isset(&c->tasks_max)) { - u->manager->sysctl_pid_max_changed = true; -- r = procfs_tasks_set_limit(tasks_max_resolve(&c->tasks_max)); -+ r = procfs_tasks_set_limit(cgroup_tasks_max_resolve(&c->tasks_max)); - } else if (u->manager->sysctl_pid_max_changed) - r = procfs_tasks_set_limit(TASKS_MAX); - else -@@ -1775,10 +1775,10 @@ static void cgroup_context_apply( - /* The attribute itself is not available on the host root cgroup, and in the container case we want to - * leave it for the container manager. */ - if (!is_local_root) { -- if (tasks_max_isset(&c->tasks_max)) { -+ if (cgroup_tasks_max_isset(&c->tasks_max)) { - char buf[DECIMAL_STR_MAX(uint64_t) + 1]; - -- xsprintf(buf, "%" PRIu64 "\n", tasks_max_resolve(&c->tasks_max)); -+ xsprintf(buf, "%" PRIu64 "\n", cgroup_tasks_max_resolve(&c->tasks_max)); - (void) set_attribute_and_warn(u, "pids", "pids.max", buf); - } else - (void) set_attribute_and_warn(u, "pids", "pids.max", "max\n"); -@@ -1894,7 +1894,7 @@ static CGroupMask unit_get_cgroup_mask(Unit *u) { - mask |= CGROUP_MASK_DEVICES | CGROUP_MASK_BPF_DEVICES; - - if (c->tasks_accounting || -- tasks_max_isset(&c->tasks_max)) -+ cgroup_tasks_max_isset(&c->tasks_max)) - mask |= CGROUP_MASK_PIDS; - - return CGROUP_MASK_EXTEND_JOINED(mask); -diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index 9f1963b3f2..486957b545 100644 ---- a/src/core/cgroup.h -+++ b/src/core/cgroup.h -@@ -9,20 +9,20 @@ - #include "list.h" - #include "time-util.h" - --typedef struct TasksMax { -+typedef struct CGroupTasksMax { - /* If scale == 0, just use value; otherwise, value / scale. - * See tasks_max_resolve(). */ - uint64_t value; - uint64_t scale; --} TasksMax; -+} CGroupTasksMax; - --#define TASKS_MAX_UNSET ((TasksMax) { .value = UINT64_MAX, .scale = 0 }) -+#define CGROUP_TASKS_MAX_UNSET ((CGroupTasksMax) { .value = UINT64_MAX, .scale = 0 }) - --static inline bool tasks_max_isset(const TasksMax *tasks_max) { -+static inline bool cgroup_tasks_max_isset(const CGroupTasksMax *tasks_max) { - return tasks_max->value != UINT64_MAX || tasks_max->scale != 0; - } - --uint64_t tasks_max_resolve(const TasksMax *tasks_max); -+uint64_t cgroup_tasks_max_resolve(const CGroupTasksMax *tasks_max); - - typedef struct CGroupContext CGroupContext; - typedef struct CGroupDeviceAllow CGroupDeviceAllow; -@@ -210,7 +210,7 @@ struct CGroupContext { - LIST_HEAD(CGroupSocketBindItem, socket_bind_deny); - - /* Common */ -- TasksMax tasks_max; -+ CGroupTasksMax tasks_max; - - /* Settings for systemd-oomd */ - ManagedOOMMode moom_swap; -diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c -index 5347525844..3c35673779 100644 ---- a/src/core/dbus-cgroup.c -+++ b/src/core/dbus-cgroup.c -@@ -25,7 +25,7 @@ - #include "percent-util.h" - #include "socket-util.h" - --BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve); -+BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); - BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_cgroup_pressure_watch, cgroup_pressure_watch, CGroupPressureWatch); - - static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy); -@@ -994,7 +994,7 @@ static int bus_cgroup_set_cpu_weight( - static int bus_cgroup_set_tasks_max( - Unit *u, - const char *name, -- TasksMax *p, -+ CGroupTasksMax *p, - sd_bus_message *message, - UnitWriteFlags flags, - sd_bus_error *error) { -@@ -1013,7 +1013,7 @@ static int bus_cgroup_set_tasks_max( - "Value specified in %s is out of range", name); - - if (!UNIT_WRITE_FLAGS_NOOP(flags)) { -- *p = (TasksMax) { .value = v, .scale = 0 }; /* When .scale==0, .value is the absolute value */ -+ *p = (CGroupTasksMax) { .value = v, .scale = 0 }; /* When .scale==0, .value is the absolute value */ - unit_invalidate_cgroup(u, CGROUP_MASK_PIDS); - - if (v == CGROUP_LIMIT_MAX) -@@ -1030,7 +1030,7 @@ static int bus_cgroup_set_tasks_max( - static int bus_cgroup_set_tasks_max_scale( - Unit *u, - const char *name, -- TasksMax *p, -+ CGroupTasksMax *p, - sd_bus_message *message, - UnitWriteFlags flags, - sd_bus_error *error) { -@@ -1049,7 +1049,7 @@ static int bus_cgroup_set_tasks_max_scale( - "Value specified in %s is out of range", name); - - if (!UNIT_WRITE_FLAGS_NOOP(flags)) { -- *p = (TasksMax) { v, UINT32_MAX }; /* .scale is not 0, so this is interpreted as v/UINT32_MAX. */ -+ *p = (CGroupTasksMax) { v, UINT32_MAX }; /* .scale is not 0, so this is interpreted as v/UINT32_MAX. */ - unit_invalidate_cgroup(u, CGROUP_MASK_PIDS); - - uint32_t scaled = DIV_ROUND_UP((uint64_t) v * 100U, (uint64_t) UINT32_MAX); -diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c -index 86235fa5b6..18ba95a6c5 100644 ---- a/src/core/load-fragment.c -+++ b/src/core/load-fragment.c -@@ -3934,23 +3934,23 @@ int config_parse_tasks_max( - void *userdata) { - - const Unit *u = userdata; -- TasksMax *tasks_max = data; -+ CGroupTasksMax *tasks_max = data; - uint64_t v; - int r; - - if (isempty(rvalue)) { -- *tasks_max = u ? u->manager->default_tasks_max : TASKS_MAX_UNSET; -+ *tasks_max = u ? u->manager->default_tasks_max : CGROUP_TASKS_MAX_UNSET; - return 0; - } - - if (streq(rvalue, "infinity")) { -- *tasks_max = TASKS_MAX_UNSET; -+ *tasks_max = CGROUP_TASKS_MAX_UNSET; - return 0; - } - - r = parse_permyriad(rvalue); - if (r >= 0) -- *tasks_max = (TasksMax) { r, 10000U }; /* r‱ */ -+ *tasks_max = (CGroupTasksMax) { r, 10000U }; /* r‱ */ - else { - r = safe_atou64(rvalue, &v); - if (r < 0) { -@@ -3963,7 +3963,7 @@ int config_parse_tasks_max( - return 0; - } - -- *tasks_max = (TasksMax) { v }; -+ *tasks_max = (CGroupTasksMax) { v }; - } - - return 0; -diff --git a/src/core/main.c b/src/core/main.c -index 14aa1f00c0..efe75d96b3 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -106,7 +106,7 @@ - #include - #endif - --#define DEFAULT_TASKS_MAX ((TasksMax) { 15U, 100U }) /* 15% */ -+#define DEFAULT_TASKS_MAX ((CGroupTasksMax) { 15U, 100U }) /* 15% */ - - static enum { - ACTION_RUN, -@@ -166,7 +166,7 @@ static bool arg_default_ip_accounting; - static bool arg_default_blockio_accounting; - static bool arg_default_memory_accounting; - static bool arg_default_tasks_accounting; --static TasksMax arg_default_tasks_max; -+static CGroupTasksMax arg_default_tasks_max; - static usec_t arg_default_memory_pressure_threshold_usec; - static CGroupPressureWatch arg_default_memory_pressure_watch; - static sd_id128_t arg_machine_id; -diff --git a/src/core/manager.c b/src/core/manager.c -index 2ccb753888..5f4522392d 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -840,7 +840,7 @@ int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags, - .default_timer_accuracy_usec = USEC_PER_MINUTE, - .default_memory_accounting = MEMORY_ACCOUNTING_DEFAULT, - .default_tasks_accounting = true, -- .default_tasks_max = TASKS_MAX_UNSET, -+ .default_tasks_max = CGROUP_TASKS_MAX_UNSET, - .default_timeout_start_usec = manager_default_timeout(runtime_scope), - .default_timeout_stop_usec = manager_default_timeout(runtime_scope), - .default_restart_usec = DEFAULT_RESTART_USEC, -diff --git a/src/core/manager.h b/src/core/manager.h -index a6c87dc852..e4b2393d06 100644 ---- a/src/core/manager.h -+++ b/src/core/manager.h -@@ -375,7 +375,7 @@ struct Manager { - bool default_tasks_accounting; - bool default_ip_accounting; - -- TasksMax default_tasks_max; -+ CGroupTasksMax default_tasks_max; - usec_t default_timer_accuracy_usec; - - OOMPolicy default_oom_policy; -diff --git a/src/test/test-cgroup-mask.c b/src/test/test-cgroup-mask.c -index c0bf585963..35b2599e86 100644 ---- a/src/test/test-cgroup-mask.c -+++ b/src/test/test-cgroup-mask.c -@@ -58,7 +58,7 @@ TEST_RET(cgroup_mask, .sd_booted = true) { - m->default_blockio_accounting = - m->default_io_accounting = - m->default_tasks_accounting = false; -- m->default_tasks_max = TASKS_MAX_UNSET; -+ m->default_tasks_max = CGROUP_TASKS_MAX_UNSET; - - assert_se(manager_startup(m, NULL, NULL, NULL) >= 0); - --- -2.35.3 - diff --git a/5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch b/5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch deleted file mode 100644 index ed0b3971..00000000 --- a/5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c44ecd40ed4b4221dd9f03f5c2090d994889064c Mon Sep 17 00:00:00 2001 -From: Mike Yuan -Date: Tue, 23 Jan 2024 11:30:15 +0100 -Subject: [PATCH 5004/5011] bus-print-properties: ignore CGROUP_LIMIT_MAX for - Memory*{Current, Peak} - -MemoryCurrent and MemoryAvailable are shown as "[not set]" when UINT64_MAX -(unset). Let's do the same for the newly-added Memory*{Current,Peak} properties. - -(cherry picked from commit 3f362012ce0034dc14d3c1a1c2a3a64a11efa9da) - -[mkoutny: Drop MemoryPeak=] ---- - src/shared/bus-print-properties.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c -index db41ad2495..46724c98fa 100644 ---- a/src/shared/bus-print-properties.c -+++ b/src/shared/bus-print-properties.c -@@ -158,6 +158,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b - (STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) || - (STR_IN_SET(name, "BlockIOWeight", "StartupBlockIOWeight") && u == CGROUP_BLKIO_WEIGHT_INVALID) || - (STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == UINT64_MAX) || -+ (startswith(name, "Memory") && ENDSWITH_SET(name, "Current") && u == CGROUP_LIMIT_MAX) || - (endswith(name, "NSec") && u == UINT64_MAX)) - - bus_print_property_value(name, expected_value, flags, "[not set]"); --- -2.35.3 - diff --git a/5005-bus-print-properties-prettify-more-unset-properties.patch b/5005-bus-print-properties-prettify-more-unset-properties.patch deleted file mode 100644 index ebc9eb1f..00000000 --- a/5005-bus-print-properties-prettify-more-unset-properties.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 278ef74e90a13821fc2209eb09de768035e14478 Mon Sep 17 00:00:00 2001 -From: Mike Yuan -Date: Tue, 23 Jan 2024 11:30:16 +0100 -Subject: [PATCH 5005/5011] bus-print-properties: prettify more unset - properties - -(cherry picked from commit bfb6b1214a8da947cb82fed2eec3d7f2b1c6175f) - -[mkoutny: Handle MemoryAvailable= separately.] ---- - src/shared/bus-print-properties.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c -index 46724c98fa..f74d8994ad 100644 ---- a/src/shared/bus-print-properties.c -+++ b/src/shared/bus-print-properties.c -@@ -157,13 +157,15 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b - else if ((STR_IN_SET(name, "CPUWeight", "StartupCPUWeight", "IOWeight", "StartupIOWeight") && u == CGROUP_WEIGHT_INVALID) || - (STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) || - (STR_IN_SET(name, "BlockIOWeight", "StartupBlockIOWeight") && u == CGROUP_BLKIO_WEIGHT_INVALID) || -- (STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == UINT64_MAX) || -+ (STR_IN_SET(name, "MemoryCurrent", "MemoryAvailable", "TasksCurrent") && u == UINT64_MAX) || - (startswith(name, "Memory") && ENDSWITH_SET(name, "Current") && u == CGROUP_LIMIT_MAX) || -+ (startswith(name, "IO") && ENDSWITH_SET(name, "Bytes", "Operations") && u == UINT64_MAX) || - (endswith(name, "NSec") && u == UINT64_MAX)) - - bus_print_property_value(name, expected_value, flags, "[not set]"); - -- else if ((STR_IN_SET(name, "DefaultMemoryLow", "DefaultMemoryMin", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit", "MemoryAvailable") && u == CGROUP_LIMIT_MAX) || -+ else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") && -+ u == CGROUP_LIMIT_MAX) || - (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == UINT64_MAX) || - (startswith(name, "Limit") && u == UINT64_MAX) || - (startswith(name, "DefaultLimit") && u == UINT64_MAX)) --- -2.35.3 - diff --git a/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch b/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch index a3d7e4a5..717746c2 100644 --- a/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch +++ b/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch @@ -1,7 +1,7 @@ -From 9c86b2c20823dce7f8303648f7e8a8d76342d1d0 Mon Sep 17 00:00:00 2001 +From 840527985f03a4327fc0fe78e45d889742601698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Tue, 23 Jan 2024 11:30:17 +0100 -Subject: [PATCH 5006/5011] cgroup: Add EffectiveMemoryMax=, +Date: Fri, 11 Aug 2023 13:51:20 +0200 +Subject: [PATCH 5006/5010] cgroup: Add EffectiveMemoryMax=, EffectiveMemoryHigh= and EffectiveTasksMax= properties Users become perplexed when they run their workload in a unit with no @@ -28,22 +28,21 @@ reason about outer setup. Complete solution would need kernel support. (cherry picked from commit 4fb0d2dc140c9a2c01c236d2a8dc09a44157e896) -[mkoutny: adjust context, drop unapplicable XML] [mkoutny: fixes jsc#PED-5659] --- - man/org.freedesktop.systemd1.xml | 108 ++++++++++++++++++++++++++++++ + man/org.freedesktop.systemd1.xml | 126 ++++++++++++++++++++++++++++++ man/systemd.resource-control.xml | 11 ++- - src/core/cgroup.c | 48 +++++++++++++ - src/core/cgroup.h | 13 ++++ - src/core/dbus-unit.c | 25 +++++++ + src/core/cgroup.c | 48 ++++++++++++ + src/core/cgroup.h | 13 +++ + src/core/dbus-unit.c | 25 ++++++ src/shared/bus-print-properties.c | 6 +- - 6 files changed, 206 insertions(+), 5 deletions(-) + 6 files changed, 224 insertions(+), 5 deletions(-) diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml -index 2e357539fb..02db33626d 100644 +index a1bcbba02f..59733c0039 100644 --- a/man/org.freedesktop.systemd1.xml +++ b/man/org.freedesktop.systemd1.xml -@@ -2716,6 +2716,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { +@@ -2786,6 +2786,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t MemoryAvailable = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -54,7 +53,7 @@ index 2e357539fb..02db33626d 100644 readonly t CPUUsageNSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly ay EffectiveCPUs = [...]; -@@ -2724,6 +2728,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { +@@ -2794,6 +2798,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t TasksCurrent = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -63,9 +62,9 @@ index 2e357539fb..02db33626d 100644 readonly t IPIngressBytes = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t IPIngressPackets = ...; -@@ -3335,6 +3341,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { +@@ -3419,6 +3425,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - + + + @@ -74,7 +73,7 @@ index 2e357539fb..02db33626d 100644 -@@ -3343,6 +3353,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { +@@ -3427,6 +3437,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { @@ -83,7 +82,7 @@ index 2e357539fb..02db33626d 100644 -@@ -3963,6 +3975,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { +@@ -4061,6 +4073,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { @@ -94,7 +93,7 @@ index 2e357539fb..02db33626d 100644 -@@ -3971,6 +3987,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { +@@ -4069,6 +4085,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { @@ -103,7 +102,7 @@ index 2e357539fb..02db33626d 100644 -@@ -4748,6 +4766,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { +@@ -4865,6 +4883,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t MemoryAvailable = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -114,7 +113,7 @@ index 2e357539fb..02db33626d 100644 readonly t CPUUsageNSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly ay EffectiveCPUs = [...]; -@@ -4756,6 +4778,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { +@@ -4873,6 +4895,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t TasksCurrent = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -123,9 +122,9 @@ index 2e357539fb..02db33626d 100644 readonly t IPIngressBytes = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t IPIngressPackets = ...; -@@ -5377,6 +5401,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { +@@ -5508,6 +5532,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - + + + @@ -134,7 +133,7 @@ index 2e357539fb..02db33626d 100644 -@@ -5385,6 +5413,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { +@@ -5516,6 +5544,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { @@ -143,7 +142,7 @@ index 2e357539fb..02db33626d 100644 -@@ -5983,6 +6013,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { +@@ -6132,6 +6162,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { @@ -154,7 +153,7 @@ index 2e357539fb..02db33626d 100644 -@@ -5991,6 +6025,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { +@@ -6140,6 +6174,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { @@ -163,7 +162,7 @@ index 2e357539fb..02db33626d 100644 -@@ -6643,6 +6679,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { +@@ -6810,6 +6846,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t MemoryAvailable = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -174,7 +173,7 @@ index 2e357539fb..02db33626d 100644 readonly t CPUUsageNSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly ay EffectiveCPUs = [...]; -@@ -6651,6 +6691,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { +@@ -6818,6 +6858,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t TasksCurrent = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -183,9 +182,9 @@ index 2e357539fb..02db33626d 100644 readonly t IPIngressBytes = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t IPIngressPackets = ...; -@@ -7200,6 +7242,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { +@@ -7381,6 +7423,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { - + + + @@ -194,7 +193,7 @@ index 2e357539fb..02db33626d 100644 -@@ -7208,6 +7254,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { +@@ -7389,6 +7435,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { @@ -203,7 +202,7 @@ index 2e357539fb..02db33626d 100644 -@@ -7724,6 +7772,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { +@@ -7919,6 +7967,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { @@ -214,7 +213,7 @@ index 2e357539fb..02db33626d 100644 -@@ -7732,6 +7784,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { +@@ -7927,6 +7979,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { @@ -223,7 +222,7 @@ index 2e357539fb..02db33626d 100644 -@@ -8511,6 +8565,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { +@@ -8720,6 +8774,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t MemoryAvailable = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -234,7 +233,7 @@ index 2e357539fb..02db33626d 100644 readonly t CPUUsageNSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly ay EffectiveCPUs = [...]; -@@ -8519,6 +8577,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { +@@ -8728,6 +8786,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t TasksCurrent = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -243,9 +242,9 @@ index 2e357539fb..02db33626d 100644 readonly t IPIngressBytes = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t IPIngressPackets = ...; -@@ -9054,6 +9114,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { +@@ -9277,6 +9337,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - + + + @@ -254,7 +253,7 @@ index 2e357539fb..02db33626d 100644 -@@ -9062,6 +9126,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { +@@ -9285,6 +9349,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { @@ -263,7 +262,7 @@ index 2e357539fb..02db33626d 100644 -@@ -9564,6 +9630,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { +@@ -9801,6 +9867,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { @@ -274,7 +273,7 @@ index 2e357539fb..02db33626d 100644 -@@ -9572,6 +9642,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { +@@ -9809,6 +9879,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { @@ -283,7 +282,7 @@ index 2e357539fb..02db33626d 100644 -@@ -10210,6 +10282,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { +@@ -10461,6 +10533,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t MemoryAvailable = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -294,7 +293,7 @@ index 2e357539fb..02db33626d 100644 readonly t CPUUsageNSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly ay EffectiveCPUs = [...]; -@@ -10218,6 +10294,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { +@@ -10469,6 +10545,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t TasksCurrent = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -303,9 +302,9 @@ index 2e357539fb..02db33626d 100644 readonly t IPIngressBytes = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t IPIngressPackets = ...; -@@ -10381,6 +10459,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { +@@ -10644,6 +10722,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - + + + @@ -314,7 +313,7 @@ index 2e357539fb..02db33626d 100644 -@@ -10389,6 +10471,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { +@@ -10652,6 +10734,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { @@ -323,7 +322,7 @@ index 2e357539fb..02db33626d 100644 -@@ -10557,6 +10641,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { +@@ -10832,6 +10916,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { @@ -334,7 +333,7 @@ index 2e357539fb..02db33626d 100644 -@@ -10565,6 +10653,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { +@@ -10840,6 +10928,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { @@ -343,7 +342,7 @@ index 2e357539fb..02db33626d 100644 -@@ -10759,6 +10849,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { +@@ -11046,6 +11136,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t MemoryAvailable = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -354,7 +353,7 @@ index 2e357539fb..02db33626d 100644 readonly t CPUUsageNSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly ay EffectiveCPUs = [...]; -@@ -10767,6 +10861,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { +@@ -11054,6 +11148,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t TasksCurrent = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @@ -363,9 +362,9 @@ index 2e357539fb..02db33626d 100644 readonly t IPIngressBytes = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t IPIngressPackets = ...; -@@ -10950,6 +11046,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { +@@ -11249,6 +11345,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - + + + @@ -374,7 +373,7 @@ index 2e357539fb..02db33626d 100644 -@@ -10958,6 +11058,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { +@@ -11257,6 +11357,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { @@ -383,7 +382,7 @@ index 2e357539fb..02db33626d 100644 -@@ -11156,6 +11258,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { +@@ -11467,6 +11569,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { @@ -394,7 +393,7 @@ index 2e357539fb..02db33626d 100644 -@@ -11164,6 +11270,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { +@@ -11475,6 +11581,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { @@ -403,11 +402,71 @@ index 2e357539fb..02db33626d 100644 +@@ -11866,6 +11974,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ + MemorySwapCurrent, + MemorySwapPeak, and + MemoryZSwapCurrent were added in version 255. ++ EffectiveMemoryHigh, ++ EffectiveMemoryMax, ++ EffectiveTasksMax were added in version 256. + + + Socket Unit Objects +@@ -11897,6 +12008,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ + MemorySwapCurrent, + MemorySwapPeak, and + MemoryZSwapCurrent were added in version 255. ++ EffectiveMemoryHigh, ++ EffectiveMemoryMax, ++ EffectiveTasksMax were added in version 256. + + + Mount Unit Objects +@@ -11926,6 +12040,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ + MemorySwapCurrent, + MemorySwapPeak, and + MemoryZSwapCurrent were added in version 255. ++ EffectiveMemoryHigh, ++ EffectiveMemoryMax, ++ EffectiveTasksMax were added in version 256. + + + Swap Unit Objects +@@ -11955,6 +12072,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ + MemorySwapCurrent, + MemorySwapPeak, and + MemoryZSwapCurrent were added in version 255. ++ EffectiveMemoryHigh, ++ EffectiveMemoryMax, ++ EffectiveTasksMax were added in version 256. + + + Slice Unit Objects +@@ -11975,6 +12095,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ + MemorySwapCurrent, + MemorySwapPeak, and + MemoryZSwapCurrent were added in version 255. ++ EffectiveMemoryHigh, ++ EffectiveMemoryMax, ++ EffectiveTasksMax were added in version 256. + + + Scope Unit Objects +@@ -11996,6 +12119,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ + MemorySwapCurrent, + MemorySwapPeak, and + MemoryZSwapCurrent were added in version 255. ++ EffectiveMemoryHigh, ++ EffectiveMemoryMax, ++ EffectiveTasksMax were added in version 256. + + + Job Objects diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml -index 3c17efbe16..5b7900af87 100644 +index 42f265c950..bd8b6a5719 100644 --- a/man/systemd.resource-control.xml +++ b/man/systemd.resource-control.xml -@@ -392,7 +392,9 @@ CPUWeight=20 DisableControllers=cpu / \ +@@ -406,7 +406,9 @@ CPUWeight=20 DisableControllers=cpu / \ system. If assigned the special value infinity, no memory throttling is applied. This controls the memory.high control group attribute. For details about this control group attribute, see @@ -418,7 +477,7 @@ index 3c17efbe16..5b7900af87 100644 While StartupMemoryHigh= applies to the startup and shutdown phases of the system, MemoryHigh= applies to normal runtime of the system, and if the former is not set also to -@@ -418,7 +420,9 @@ CPUWeight=20 DisableControllers=cpu / \ +@@ -434,7 +436,9 @@ CPUWeight=20 DisableControllers=cpu / \ percentage value may be specified, which is taken relative to the installed physical memory on the system. If assigned the special value infinity, no memory limit is applied. This controls the memory.max control group attribute. For details about this control group attribute, see @@ -429,7 +488,7 @@ index 3c17efbe16..5b7900af87 100644 While StartupMemoryMax= applies to the startup and shutdown phases of the system, MemoryMax= applies to normal runtime of the system, and if the former is not set also to -@@ -534,7 +538,8 @@ CPUWeight=20 DisableControllers=cpu / \ +@@ -560,7 +564,8 @@ CPUWeight=20 DisableControllers=cpu / \ limit is applied. This controls the pids.max control group attribute. For details about this control group attribute, the pids controller @@ -440,10 +499,10 @@ index 3c17efbe16..5b7900af87 100644 The system default for this setting may be controlled with DefaultTasksMax= in diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 5b7205a92e..0842036559 100644 +index 61ac4df1a6..78ca67216a 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c -@@ -4000,6 +4000,46 @@ int unit_get_ip_accounting( +@@ -4243,6 +4243,46 @@ int unit_get_ip_accounting( return r; } @@ -490,10 +549,10 @@ index 5b7205a92e..0842036559 100644 static int unit_get_io_accounting_raw(Unit *u, uint64_t ret[static _CGROUP_IO_ACCOUNTING_METRIC_MAX]) { static const char *const field_names[_CGROUP_IO_ACCOUNTING_METRIC_MAX] = { [CGROUP_IO_READ_BYTES] = "rbytes=", -@@ -4418,3 +4458,11 @@ static const char* const cgroup_pressure_watch_table[_CGROUP_PRESSURE_WATCH_MAX] +@@ -4663,3 +4703,11 @@ static const char* const cgroup_memory_accounting_metric_table[_CGROUP_MEMORY_AC }; - DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(cgroup_pressure_watch, CGroupPressureWatch, CGROUP_PRESSURE_WATCH_ON); + DEFINE_STRING_TABLE_LOOKUP(cgroup_memory_accounting_metric, CGroupMemoryAccountingMetric); + +static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { + [CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax", @@ -503,12 +562,12 @@ index 5b7205a92e..0842036559 100644 + +DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType); diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index 486957b545..a19a2fffa3 100644 +index f1b674b4b7..54bce91ea1 100644 --- a/src/core/cgroup.h +++ b/src/core/cgroup.h -@@ -245,6 +245,15 @@ typedef enum CGroupIOAccountingMetric { - _CGROUP_IO_ACCOUNTING_METRIC_INVALID = -EINVAL, - } CGroupIOAccountingMetric; +@@ -276,6 +276,15 @@ typedef enum CGroupMemoryAccountingMetric { + _CGROUP_MEMORY_ACCOUNTING_METRIC_INVALID = -EINVAL, + } CGroupMemoryAccountingMetric; +/* Used for limits whose value sets have infimum */ +typedef enum CGroupLimitType { @@ -521,27 +580,29 @@ index 486957b545..a19a2fffa3 100644 + typedef struct Unit Unit; typedef struct Manager Manager; - -@@ -337,6 +346,7 @@ int unit_get_tasks_current(Unit *u, uint64_t *ret); + typedef enum ManagerState ManagerState; +@@ -374,6 +383,7 @@ int unit_get_tasks_current(Unit *u, uint64_t *ret); int unit_get_cpu_usage(Unit *u, nsec_t *ret); int unit_get_io_accounting(Unit *u, CGroupIOAccountingMetric metric, bool allow_cache, uint64_t *ret); int unit_get_ip_accounting(Unit *u, CGroupIPAccountingMetric metric, uint64_t *ret); +int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret); int unit_reset_cpu_accounting(Unit *u); - int unit_reset_ip_accounting(Unit *u); -@@ -378,3 +388,6 @@ FreezerAction freezer_action_from_string(const char *s) _pure_; + void unit_reset_memory_accounting_last(Unit *u); +@@ -425,5 +435,8 @@ CGroupIPAccountingMetric cgroup_ip_accounting_metric_from_string(const char *s) + const char* cgroup_io_accounting_metric_to_string(CGroupIOAccountingMetric m) _const_; + CGroupIOAccountingMetric cgroup_io_accounting_metric_from_string(const char *s) _pure_; - const char* cgroup_pressure_watch_to_string(CGroupPressureWatch a) _const_; - CGroupPressureWatch cgroup_pressure_watch_from_string(const char *s) _pure_; -+ +const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_; +CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_; ++ + const char* cgroup_memory_accounting_metric_to_string(CGroupMemoryAccountingMetric m) _const_; + CGroupMemoryAccountingMetric cgroup_memory_accounting_metric_from_string(const char *s) _pure_; diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c -index ed376cec87..b4509a990e 100644 +index 1a037b7035..ac6add4700 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c -@@ -1438,6 +1438,28 @@ static int property_get_io_counter( +@@ -1441,6 +1441,28 @@ static int property_get_io_counter( return sd_bus_message_append(reply, "t", value); } @@ -568,11 +629,11 @@ index ed376cec87..b4509a990e 100644 +} + int bus_unit_method_attach_processes(sd_bus_message *message, void *userdata, sd_bus_error *error) { - _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; -@@ -1557,10 +1579,13 @@ const sd_bus_vtable bus_unit_cgroup_vtable[] = { - SD_BUS_PROPERTY("ControlGroupId", "t", NULL, offsetof(Unit, cgroup_id), 0), - SD_BUS_PROPERTY("MemoryCurrent", "t", property_get_current_memory, 0, 0), + _cleanup_set_free_ Set *pids = NULL; +@@ -1562,10 +1584,13 @@ const sd_bus_vtable bus_unit_cgroup_vtable[] = { + SD_BUS_PROPERTY("MemorySwapPeak", "t", property_get_memory_accounting, 0, 0), + SD_BUS_PROPERTY("MemoryZSwapCurrent", "t", property_get_memory_accounting, 0, 0), SD_BUS_PROPERTY("MemoryAvailable", "t", property_get_available_memory, 0, 0), + SD_BUS_PROPERTY("EffectiveMemoryMax", "t", property_get_effective_limit, 0, 0), + SD_BUS_PROPERTY("EffectiveMemoryHigh", "t", property_get_effective_limit, 0, 0), @@ -585,7 +646,7 @@ index ed376cec87..b4509a990e 100644 SD_BUS_PROPERTY("IPIngressPackets", "t", property_get_ip_counter, 0, 0), SD_BUS_PROPERTY("IPEgressBytes", "t", property_get_ip_counter, 0, 0), diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c -index f74d8994ad..62bbc598bb 100644 +index 6704e1ef3d..99b1cc7c70 100644 --- a/src/shared/bus-print-properties.c +++ b/src/shared/bus-print-properties.c @@ -164,9 +164,11 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b diff --git a/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch b/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch index ece5242a..983b9d32 100644 --- a/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch +++ b/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch @@ -1,7 +1,7 @@ -From 46451a18828473edaf7e9873a084f26f0c827a3d Mon Sep 17 00:00:00 2001 +From 207784eeaab0c274dc087056f20523d7c10939fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Tue, 23 Jan 2024 11:30:18 +0100 -Subject: [PATCH 5007/5011] test: Convert rlimit test to subtest of generic +Date: Wed, 9 Aug 2023 22:42:36 +0200 +Subject: [PATCH 5007/5010] test: Convert rlimit test to subtest of generic limit testing No functional change intended. Preparation for new tests. diff --git a/5008-test-Add-effective-cgroup-limits-testing.patch b/5008-test-Add-effective-cgroup-limits-testing.patch index 7df8f4e6..cb528f39 100644 --- a/5008-test-Add-effective-cgroup-limits-testing.patch +++ b/5008-test-Add-effective-cgroup-limits-testing.patch @@ -1,7 +1,7 @@ -From d0c92dae23e409f6a29f70f039455c08610c943f Mon Sep 17 00:00:00 2001 +From 10d8f042c0bf685d41b95d7151214999a8ff68c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Tue, 23 Jan 2024 11:30:19 +0100 -Subject: [PATCH 5008/5011] test: Add effective cgroup limits testing +Date: Wed, 9 Aug 2023 22:43:31 +0200 +Subject: [PATCH 5008/5010] test: Add effective cgroup limits testing (cherry picked from commit ce35bb95c7b6fe9a48d2b8628bd690279b17fffa) @@ -87,10 +87,10 @@ index 0000000000..3ff8e83140 + +rm -f /run/systemd/system/"$pre"* || : diff --git a/test/units/util.sh b/test/units/util.sh -index 932fe1e603..7af98bb45e 100755 +index b5ed73237c..567cda2845 100755 --- a/test/units/util.sh +++ b/test/units/util.sh -@@ -26,6 +26,15 @@ assert_eq() {( +@@ -28,6 +28,15 @@ assert_eq() {( fi )} diff --git a/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch b/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch index 889ab52b..6ea10d2c 100644 --- a/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch +++ b/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch @@ -1,7 +1,7 @@ -From edfd70ab2c5490131fcf5a4348e31c19251d3479 Mon Sep 17 00:00:00 2001 +From 355275a7708d09f7be27ea239478cb3c6defbb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Tue, 23 Jan 2024 11:30:20 +0100 -Subject: [PATCH 5009/5011] cgroup: Restrict effective limits with global +Date: Mon, 14 Aug 2023 19:59:57 +0200 +Subject: [PATCH 5009/5010] cgroup: Restrict effective limits with global resource provision Global resource (whole system or root cg's (e.g. in a container)) is @@ -17,10 +17,10 @@ when calculating effective limits. 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml -index 5b7900af87..ded4722e7a 100644 +index bd8b6a5719..c2aa5b57e8 100644 --- a/man/systemd.resource-control.xml +++ b/man/systemd.resource-control.xml -@@ -422,7 +422,7 @@ CPUWeight=20 DisableControllers=cpu / \ +@@ -438,7 +438,7 @@ CPUWeight=20 DisableControllers=cpu / \ memory.max control group attribute. For details about this control group attribute, see Memory Interface Files. The effective configuration is reported as EffectiveMemoryMax= (the value is @@ -30,10 +30,10 @@ index 5b7900af87..ded4722e7a 100644 While StartupMemoryMax= applies to the startup and shutdown phases of the system, MemoryMax= applies to normal runtime of the system, and if the former is not set also to diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 0842036559..a53d90486c 100644 +index 78ca67216a..285fa200d6 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c -@@ -4006,6 +4006,17 @@ static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) { +@@ -4249,6 +4249,17 @@ static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) { assert(u); assert(UNIT_HAS_CGROUP_CONTEXT(u)); diff --git a/5010-cgroup-Rename-effective-limits-internal-table.patch b/5010-cgroup-Rename-effective-limits-internal-table.patch index 2342136a..d4bcc774 100644 --- a/5010-cgroup-Rename-effective-limits-internal-table.patch +++ b/5010-cgroup-Rename-effective-limits-internal-table.patch @@ -1,7 +1,7 @@ -From 0c3448f0e341e3e1f23722e4275c4fdd4062d280 Mon Sep 17 00:00:00 2001 +From ae7d09f074e554a241ba66a2dee2a0cb4b3a0162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Tue, 23 Jan 2024 11:30:21 +0100 -Subject: [PATCH 5010/5011] cgroup: Rename effective limits internal table +Date: Mon, 22 Jan 2024 16:58:18 +0100 +Subject: [PATCH 5010/5010] cgroup: Rename effective limits internal table Post-merge fixup of commit 4fb0d2dc14 ("cgroup: Add EffectiveMemoryMax=, EffectiveMemoryHigh= and EffectiveTasksMax= properties"), no functional @@ -9,7 +9,6 @@ change intended. (cherry picked from commit 8ad614890bba66b5f6b590d6a3e1b8b04a920126) -[mkoutny: adjust context] [mkoutny: fixes jsc#PED-5659] --- src/core/cgroup.c | 4 ++-- @@ -18,12 +17,12 @@ change intended. 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index a53d90486c..2d8d61a26d 100644 +index 285fa200d6..0c30aefe80 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c -@@ -4470,10 +4470,10 @@ static const char* const cgroup_pressure_watch_table[_CGROUP_PRESSURE_WATCH_MAX] +@@ -4715,10 +4715,10 @@ static const char* const cgroup_memory_accounting_metric_table[_CGROUP_MEMORY_AC - DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(cgroup_pressure_watch, CGroupPressureWatch, CGROUP_PRESSURE_WATCH_ON); + DEFINE_STRING_TABLE_LOOKUP(cgroup_memory_accounting_metric, CGroupMemoryAccountingMetric); -static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { +static const char *const cgroup_effective_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { @@ -35,22 +34,25 @@ index a53d90486c..2d8d61a26d 100644 -DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType); +DEFINE_STRING_TABLE_LOOKUP(cgroup_effective_limit_type, CGroupLimitType); diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index a19a2fffa3..9ff650abcf 100644 +index 54bce91ea1..6e3d05b7d2 100644 --- a/src/core/cgroup.h +++ b/src/core/cgroup.h -@@ -389,5 +389,5 @@ FreezerAction freezer_action_from_string(const char *s) _pure_; - const char* cgroup_pressure_watch_to_string(CGroupPressureWatch a) _const_; - CGroupPressureWatch cgroup_pressure_watch_from_string(const char *s) _pure_; +@@ -435,8 +435,8 @@ CGroupIPAccountingMetric cgroup_ip_accounting_metric_from_string(const char *s) + const char* cgroup_io_accounting_metric_to_string(CGroupIOAccountingMetric m) _const_; + CGroupIOAccountingMetric cgroup_io_accounting_metric_from_string(const char *s) _pure_; -const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_; -CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_; +const char* cgroup_effective_limit_type_to_string(CGroupLimitType m) _const_; +CGroupLimitType cgroup_effective_limit_type_from_string(const char *s) _pure_; + + const char* cgroup_memory_accounting_metric_to_string(CGroupMemoryAccountingMetric m) _const_; + CGroupMemoryAccountingMetric cgroup_memory_accounting_metric_from_string(const char *s) _pure_; diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c -index b4509a990e..da22e8f524 100644 +index ac6add4700..bb19831814 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c -@@ -1455,7 +1455,7 @@ static int property_get_effective_limit( +@@ -1458,7 +1458,7 @@ static int property_get_effective_limit( assert(reply); assert(property); diff --git a/files.devel b/files.devel index bffa68d6..304b8508 100644 --- a/files.devel +++ b/files.devel @@ -558,6 +558,7 @@ %{_mandir}/man3/sd_hwdb_unref.3.gz %{_mandir}/man3/sd_id128_equal.3.gz %{_mandir}/man3/sd_id128_from_string.3.gz +%{_mandir}/man3/sd_id128_get_app_specific.3.gz %{_mandir}/man3/sd_id128_get_boot.3.gz %{_mandir}/man3/sd_id128_get_boot_app_specific.3.gz %{_mandir}/man3/sd_id128_get_invocation.3.gz diff --git a/files.experimental b/files.experimental index aa23c6ac..c2805885 100644 --- a/files.experimental +++ b/files.experimental @@ -15,8 +15,8 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.oom1.conf %{_datadir}/zsh/site-functions/_oomctl %{_mandir}/man1/oomctl.1.gz -%if %{with sd_boot} %{_mandir}/man1/systemd-measure.1.gz +%if %{with sd_boot} %{_mandir}/man1/ukify.1.gz %endif %{_mandir}/man5/oomd.conf.5.gz @@ -27,16 +27,12 @@ %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz %if %{with sd_boot} +%{_mandir}/man8/systemd-pcrextend.8.gz %{_mandir}/man8/systemd-pcrfs-root.service.8.gz %{_mandir}/man8/systemd-pcrfs@.service.8.gz %{_mandir}/man8/systemd-pcrmachine.service.8.gz %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz -%if %{with upstream} -%{_mandir}/man8/systemd-pcrextend.8.gz -%else -%{_mandir}/man8/systemd-pcrphase.8.gz -%endif %{_mandir}/man8/systemd-pcrphase.service.8.gz %endif %{_mandir}/man8/systemd-repart.8.gz @@ -52,21 +48,16 @@ %{_systemd_util_dir}/oomd.conf %{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service %{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service -%if %{with sd_boot} %{_systemd_util_dir}/systemd-measure -%endif %{_systemd_util_dir}/systemd-oomd %if %{with sd_boot} -%if %{with upstream} %{_systemd_util_dir}/systemd-pcrextend -%else -%{_systemd_util_dir}/systemd-pcrphase -%endif %endif %{_systemd_util_dir}/systemd-sysupdate %{_systemd_util_dir}/systemd-userwork %if %{with sd_boot} %{_systemd_util_dir}/ukify +%{_bindir}/ukify %endif %{_sysusersdir}/systemd-oom.conf %if %{with sd_boot} @@ -90,3 +81,89 @@ %{_unitdir}/systemd-sysupdate-reboot.timer %{_unitdir}/systemd-sysupdate.service %{_unitdir}/systemd-sysupdate.timer + +%{_prefix}/lib/pcrlock.d/350-action-efi-application.pcrlock +%{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d/300-0x00000000.pcrlock +%{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d/600-0xffffffff.pcrlock +%{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d/300-0x00000000.pcrlock +%{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d/600-0xffffffff.pcrlock +%{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d/300-present.pcrlock +%{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d/600-absent.pcrlock +%{_prefix}/lib/pcrlock.d/750-enter-initrd.pcrlock +%{_prefix}/lib/pcrlock.d/800-leave-initrd.pcrlock +%{_prefix}/lib/pcrlock.d/850-sysinit.pcrlock +%{_prefix}/lib/pcrlock.d/900-ready.pcrlock +%{_prefix}/lib/pcrlock.d/950-shutdown.pcrlock +%{_prefix}/lib/pcrlock.d/990-final.pcrlock +%{_mandir}/man5/systemd.pcrlock.5.gz +%{_mandir}/man5/systemd.pcrlock.d.5.gz +%{_mandir}/man8/systemd-pcrlock-file-system.service.8.gz +%{_mandir}/man8/systemd-pcrlock-firmware-code.service.8.gz +%{_mandir}/man8/systemd-pcrlock-firmware-config.service.8.gz +%{_mandir}/man8/systemd-pcrlock-machine-id.service.8.gz +%{_mandir}/man8/systemd-pcrlock-make-policy.service.8.gz +%{_mandir}/man8/systemd-pcrlock-secureboot-authority.service.8.gz +%{_mandir}/man8/systemd-pcrlock-secureboot-policy.service.8.gz +%{_mandir}/man8/systemd-pcrlock.8.gz +%if %{with sd_boot} +%{_unitdir}/systemd-pcrextend.socket +%{_unitdir}/systemd-pcrextend@.service +%{_unitdir}/sockets.target.wants/systemd-pcrextend.socket +%{_unitdir}/systemd-pcrlock-file-system.service +%{_unitdir}/systemd-pcrlock-firmware-code.service +%{_unitdir}/systemd-pcrlock-firmware-config.service +%{_unitdir}/systemd-pcrlock-machine-id.service +%{_unitdir}/systemd-pcrlock-make-policy.service +%{_unitdir}/systemd-pcrlock-secureboot-authority.service +%{_unitdir}/systemd-pcrlock-secureboot-policy.service +%endif +%{_systemd_util_dir}/systemd-pcrlock + +%{_systemd_util_dir}/repart/definitions/confext.repart.d/10-root.conf +%{_systemd_util_dir}/repart/definitions/confext.repart.d/20-root-verity.conf +%{_systemd_util_dir}/repart/definitions/confext.repart.d/30-root-verity-sig.conf +%{_systemd_util_dir}/repart/definitions/portable.repart.d/10-root.conf +%{_systemd_util_dir}/repart/definitions/portable.repart.d/20-root-verity.conf +%{_systemd_util_dir}/repart/definitions/portable.repart.d/30-root-verity-sig.conf +%{_systemd_util_dir}/repart/definitions/sysext.repart.d/10-root.conf +%{_systemd_util_dir}/repart/definitions/sysext.repart.d/20-root-verity.conf +%{_systemd_util_dir}/repart/definitions/sysext.repart.d/30-root-verity-sig.conf + +%{_mandir}/man8/systemd-storagetm.8.gz +%{_mandir}/man8/systemd-storagetm.service.8.gz +%{_unitdir}/systemd-storagetm.service +%{_unitdir}/storage-target-mode.target +%{_systemd_util_dir}/systemd-storagetm + +%{_unitdir}/initrd.target.wants/systemd-bsod.service +%{_systemd_util_dir}/systemd-bsod +%{_unitdir}/systemd-bsod.service +%{_mandir}/man8/systemd-bsod.8.gz +%{_mandir}/man8/systemd-bsod.service.8.gz + +%{_bindir}/varlinkctl +%{_mandir}/man1/varlinkctl.1.gz + +%{_bindir}/systemd-vmspawn +%{_mandir}/man1/systemd-vmspawn.1.gz + +%dir %{_prefix}/lib/pcrlock.d +%dir %{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d +%dir %{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d +%dir %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d +%dir %{_systemd_util_dir}/repart +%dir %{_systemd_util_dir}/repart/definitions +%dir %{_systemd_util_dir}/repart/definitions/confext.repart.d +%dir %{_systemd_util_dir}/repart/definitions/portable.repart.d +%dir %{_systemd_util_dir}/repart/definitions/sysext.repart.d + +%if %{with sd_boot} +%{_unitdir}/sysinit.target.wants/systemd-tpm2-setup-early.service +%{_unitdir}/sysinit.target.wants/systemd-tpm2-setup.service +%{_unitdir}/systemd-tpm2-setup-early.service +%{_unitdir}/systemd-tpm2-setup.service +%{_systemd_util_dir}/systemd-tpm2-setup +%{_mandir}/man8/systemd-tpm2-setup-early.service.8.gz +%{_mandir}/man8/systemd-tpm2-setup.8.gz +%{_mandir}/man8/systemd-tpm2-setup.service.8.gz +%endif diff --git a/files.network b/files.network index 60867129..c1b17155 100644 --- a/files.network +++ b/files.network @@ -8,6 +8,8 @@ %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl %{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPv4Client.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPv6Client.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml @@ -27,19 +29,16 @@ %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz %{_systemd_util_dir}/network/80-6rd-tunnel.network +%{_systemd_util_dir}/network/80-auto-link-local.network.example %{_systemd_util_dir}/network/80-container-host0.network %{_systemd_util_dir}/network/80-container-vb.network %{_systemd_util_dir}/network/80-container-ve.network %{_systemd_util_dir}/network/80-container-vz.network -%if %{with upstream} -%{_systemd_util_dir}/network/89-ethernet.network.example -%else -%{_systemd_util_dir}/network/80-ethernet.network.example -%endif %{_systemd_util_dir}/network/80-vm-vt.network %{_systemd_util_dir}/network/80-wifi-adhoc.network %{_systemd_util_dir}/network/80-wifi-ap.network.example %{_systemd_util_dir}/network/80-wifi-station.network.example +%{_systemd_util_dir}/network/89-ethernet.network.example %{_systemd_util_dir}/networkd.conf %{_systemd_util_dir}/systemd-networkd %{_systemd_util_dir}/systemd-networkd-wait-online diff --git a/files.systemd b/files.systemd index 361e6afc..1516dd6f 100644 --- a/files.systemd +++ b/files.systemd @@ -1,6 +1,7 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # + %dir %{_binfmtdir} %if %{without bootstrap} %dir %{_datadir}/bash-completion @@ -323,6 +324,7 @@ %{_mandir}/man8/nss-myhostname.8.gz %{_mandir}/man8/nss-systemd.8.gz %{_mandir}/man8/pam_systemd.8.gz +%{_mandir}/man8/pam_systemd_loadkey.8.gz %{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/reboot.8.gz %{_mandir}/man8/shutdown.8.gz @@ -392,6 +394,7 @@ %endif %{_modprobedir}/systemd.conf %{_pam_moduledir}/pam_systemd.so +%{_pam_moduledir}/pam_systemd_loadkey.so %{_pam_vendordir}/systemd-user %{_sbindir}/halt %{_sbindir}/init @@ -411,6 +414,7 @@ %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent +%{_systemd_util_dir}/systemd-executor %{_systemd_util_dir}/systemd-hostnamed %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed @@ -546,6 +550,7 @@ %{_unitdir}/sockets.target %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket +%{_unitdir}/sockets.target.wants/systemd-sysext.socket %{_unitdir}/soft-reboot.target %{_unitdir}/sound.target %{_unitdir}/swap.target @@ -607,6 +612,8 @@ %{_unitdir}/systemd-soft-reboot.service %{_unitdir}/systemd-sysctl.service %{_unitdir}/systemd-sysext.service +%{_unitdir}/systemd-sysext.socket +%{_unitdir}/systemd-sysext@.service %{_unitdir}/systemd-sysusers.service %{_unitdir}/systemd-time-wait-sync.service %{_unitdir}/systemd-timedated.service diff --git a/files.udev b/files.udev index 54fc044c..e40877a5 100644 --- a/files.udev +++ b/files.udev @@ -33,13 +33,16 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %{_localstatedir}/lib/systemd/backlight +%{_bindir}/bootctl %if %{without bootstrap} %{_bindir}/kernel-install %{_bindir}/systemd-cryptenroll +%{_bindir}/systemd-cryptsetup %endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if %{without bootstrap} +%{_datadir}/bash-completion/completions/bootctl %{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/udevadm @@ -49,11 +52,13 @@ %{_datadir}/pkgconfig/udev.pc %{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy %if %{without bootstrap} +%{_datadir}/zsh/site-functions/_bootctl %{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm %{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so %{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so %{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%{_mandir}/man1/bootctl.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz %{_mandir}/man5/integritytab.5.gz @@ -241,6 +246,7 @@ %{_udevrulesdir}/60-input-id.rules %{_udevrulesdir}/60-persistent-alsa.rules %{_udevrulesdir}/60-persistent-input.rules +%{_udevrulesdir}/60-persistent-storage-mtd.rules %{_udevrulesdir}/60-persistent-storage-tape.rules %{_udevrulesdir}/60-persistent-storage.rules %{_udevrulesdir}/60-persistent-v4l.rules @@ -315,6 +321,7 @@ %{_unitdir}/systemd-fsck@.service %{_unitdir}/systemd-growfs-root.service %{_unitdir}/systemd-growfs@.service +%{_unitdir}/systemd-hibernate-resume.service %{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hwdb-update.service %{_unitdir}/systemd-hybrid-sleep.service diff --git a/files.uefi-boot b/files.uefi-boot index 5712f17f..494e0d5e 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -3,11 +3,7 @@ # %dir %{_systemd_util_dir}/boot %dir %{_systemd_util_dir}/boot/efi -%{_bindir}/bootctl %if %{without bootstrap} -%{_datadir}/bash-completion/completions/bootctl -%{_datadir}/zsh/site-functions/_bootctl -%{_mandir}/man1/bootctl.1.gz %{_mandir}/man5/loader.conf.5.gz %{_mandir}/man7/linuxaa64.efi.stub.7.gz %{_mandir}/man7/linuxia32.efi.stub.7.gz diff --git a/systemd-v254.9+suse.30.g31f1148f75.tar.xz b/systemd-v254.9+suse.30.g31f1148f75.tar.xz deleted file mode 100644 index 20d19563..00000000 --- a/systemd-v254.9+suse.30.g31f1148f75.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:67af3a7f3c6bd95e677f8bbae803429f8f1b1a7e282d31645620f7740556f29f -size 10407004 diff --git a/systemd-v255.3+suse.15.g96edf7ad18.tar.xz b/systemd-v255.3+suse.15.g96edf7ad18.tar.xz new file mode 100644 index 00000000..1bc16d0e --- /dev/null +++ b/systemd-v255.3+suse.15.g96edf7ad18.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cd4797c9008052e3b188451be89f7196072475c971d1619cb880280336c2761 +size 10712448 diff --git a/systemd.changes b/systemd.changes index 8163e39c..9117c91e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,53 @@ +------------------------------------------------------------------- +Fri Feb 23 09:09:57 UTC 2024 - Franck Bui + +- Upgrade to v255.3 (commit 96edf7ad1866172b994cafb4df49e27d68ce8e87) + + See https://github.com/openSUSE/systemd/blob/SUSE/v255/NEWS for details. + + - This includes the following bug fixes: + + - commit 6e10405aa25fe5e76b740d9ec59730e3f4470c7a (bsc#1219766) + + - The following patches have been rebased: + + - 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch + - 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch + - 0009-pid1-handle-console-specificities-weirdness-for-s390.patch + - 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch + - 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch + + - The following patches have been removed since they're part of v255: + + - 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch + - 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch + - 5005-bus-print-properties-prettify-more-unset-properties.patch + + - systemd-boot has been added to the list of the dependencies of the + systemd-testsuite package as the installation of the bootloader is now + tested. + + - the following patches have been backported on top of v255.3: + + 96edf7ad18 service: Demote log level of NotifyAccess= messages to debug (bsc#1210113 jsc#PED-6214) + fdde7f26d6 vconsole-setup: don't fail if the only found vc is already used by plymouth (bsc#1218618) + f96c587d41 rules: set up tty permissions and group for /dev/hvc* nodes (bsc#1218137) + 63a41b8899 vconsole-setup: remember the correct error value when open_terminal() fails + f51a2e038c vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully (bsc#1215282) + 15025a04c4 test: make sure to install the filesystem package in the test image on SUSE + 06fecfb635 test: make sure that sd-boot is installed before testing bootctl + 1e8788ea68 test: install systemd-boot in openSUSE test images + 6e2875ad43 test/test-shutdown.py: optionally display the test I/Os in a dedicated log file + 4be1a801b4 test-69: send SIGTERM to ask systemd-nspawn to properly stop the container + 7bdab7b7c7 man: Document ranges for distributions config files and local config files + 3f12a6c22f test: systemd-update-utmp is optional + 1911c7fd95 man: conditionalize sd-pcrlock and sd-measure on the same variable as their binaries + 352f76f734 man: always install bootctl + b48a18c464 meson: fix installation of html doc aliases + +- bootctl has been moved to the udev package since some of its commands work on + non UEFI systems too. + ------------------------------------------------------------------- Fri Feb 23 07:51:50 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ed46d348..307171a3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,9 +18,9 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define systemd_version 254.9 +%define systemd_version 255.3 %define systemd_release 0 -%define archive_version +suse.30.g31f1148f75 +%define archive_version +suse.15.g96edf7ad18 %if 0%{?_build_in_place} # Allow users to specify the version and the release when building the rpm in @@ -240,9 +240,6 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch Patch5001: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch Patch5002: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch # jsc#PED-5659 -Patch5003: 5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch -Patch5004: 5004-bus-print-properties-ignore-CGROUP_LIMIT_MAX-for-Mem.patch -Patch5005: 5005-bus-print-properties-prettify-more-unset-properties.patch Patch5006: 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch Patch5007: 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch Patch5008: 5008-test-Add-effective-cgroup-limits-testing.patch @@ -638,6 +635,7 @@ Requires: attr Requires: binutils Requires: busybox-static Requires: cryptsetup +Requires: dhcp-client Requires: dosfstools Requires: jq Requires: libcap-progs @@ -648,6 +646,7 @@ Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: mtools +Requires: net-tools-deprecated Requires: netcat Requires: python3-pexpect Requires: qemu @@ -659,6 +658,9 @@ Requires: pkgconfig(libfido2) Requires: pkgconfig(tss2-esys) Requires: pkgconfig(tss2-mu) Requires: pkgconfig(tss2-rc) +%if %{with sd_boot} +Requires: systemd-boot +%endif %if %{with coredump} Requires: systemd-coredump %endif @@ -786,31 +788,59 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Ddebug-shell=/bin/bash \ \ -Dbump-proc-sys-fs-nr-open=false \ + -Ddbus=false \ + -Ddefault-network=false \ + -Dglib=false \ -Dgshadow=false \ -Dldconfig=false \ + -Dlibidn=false \ -Dsmack=false \ + -Dxenctrl=false \ + -Dxkbcommon=false \ \ -Dpstore=true \ \ - -Dapparmor=%{when apparmor} \ + -Daudit=%{when_not bootstrap} \ -Dbpf-framework=%{when_not bootstrap} \ + -Dbzip2=%{when importd} \ -Defi=%{when_not bootstrap} \ -Delfutils=%{when_not bootstrap} \ + -Dfdisk=%{when_not bootstrap} \ + -Dgcrypt=%{when_not bootstrap} \ + -Dgnutls=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ -Dima=%{when_not bootstrap} \ -Dkernel-install=%{when_not bootstrap} \ + -Dlibfido2=%{when_not bootstrap} \ + -Dlibidn2=%{when resolved} \ + -Dlibiptc=%{when_not bootstrap} \ + -Dlz4=%{when_not bootstrap} \ + -Dqrencode=%{when_not bootstrap} \ -Dkmod=%{when_not bootstrap} \ + -Dlibcryptsetup=%{when_not bootstrap} \ -Dlibcryptsetup-plugins=%{when_not bootstrap} \ + -Dlibcurl=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ + -Dmicrohttpd=%{when journal_remote} \ -Dnss-myhostname=%{when_not bootstrap} \ + -Dnss-mymachines=%{when machined} \ + -Dnss-resolve=%{when resolved} \ -Dnss-systemd=%{when_not bootstrap} \ + -Dopenssl=%{when_not bootstrap} \ + -Dp11kit=%{when_not bootstrap} \ + -Dpasswdqc=%{when_not bootstrap} \ + -Dpwquality=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ - -Dselinux=%{when selinux} \ + -Dstoragetm=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ -Dtranslations=%{when_not bootstrap} \ -Duserdb=%{when_not bootstrap} \ + -Dxz=%{when_not bootstrap} \ + -Dzlib=%{when importd} \ + -Dzstd=%{when_not bootstrap} \ \ + -Dapparmor=%{when apparmor} \ -Dcoredump=%{when coredump} \ -Dhomed=%{when homed} \ -Dimportd=%{when importd} \ @@ -818,6 +848,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dnetworkd=%{when networkd} \ -Dportabled=%{when portabled} \ -Dremote=%{when journal_remote} \ + -Dselinux=%{when selinux} \ \ -Dbootloader=%{when sd_boot} \ -Defi-color-highlight="black,green" \ @@ -842,6 +873,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" %else -Dukify=false \ %endif + -Dvmspawn=%{when experimental} \ \ -Dtests=%{when testsuite unsafe} \ -Dinstall-tests=%{when testsuite} @@ -1057,6 +1089,7 @@ tar -cO \ %if %{without bootstrap} %find_lang systemd %else +rm -f %{buildroot}%{_bindir}/varlinkctl rm -f %{buildroot}%{_journalcatalogdir}/* rm -fr %{buildroot}%{_docdir}/systemd %endif From 56be0a56ca854d41890a50d5759695c0614e5d398a4b54d6fa3dbc4866f7d8b3 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Tue, 27 Feb 2024 10:47:44 +0000 Subject: [PATCH 954/991] Accepting request 1150660 from home:afeijoo:branches:Base:System - Fix syntax required for OBS source validator OBS-URL: https://build.opensuse.org/request/show/1150660 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1498 --- systemd.changes | 5 +++++ systemd.spec | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index 9117c91e..2305699e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Feb 26 09:18:00 UTC 2024 - Antonio Feijoo + +- Fix syntax required for OBS source validator + ------------------------------------------------------------------- Fri Feb 23 09:09:57 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 307171a3..d2b7b745 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,10 +18,6 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define systemd_version 255.3 -%define systemd_release 0 -%define archive_version +suse.15.g96edf7ad18 - %if 0%{?_build_in_place} # Allow users to specify the version and the release when building the rpm in # place. When not provided we look for the version in meson.version (introduced @@ -29,6 +25,11 @@ %define systemd_version %{?version_override}%{!?version_override:%(cat meson.version)} %define systemd_release %{?release_override}%{!?release_override:0} %define archive_version %{nil} +%else +# Fallback required for OBS source validator +%define systemd_version 255.3 +%define systemd_release 0 +%define archive_version +suse.15.g96edf7ad18 %endif %define systemd_major %{sub %systemd_version 1 3} From cf4cb8b82fa4c44497a7e7c70469342422e8ddbfefe4fd0db4d5ff14ec6aac09 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Mar 2024 19:10:41 +0000 Subject: [PATCH 955/991] Accepting request 1156939 from home:jengelh:branches:Base:System - Move C API manual pages to systemd-doc, this saves buildroots 770+ files and time (mandb is run in %posttrans). OBS-URL: https://build.opensuse.org/request/show/1156939 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1499 --- files.devel | 780 ----------------------------------------------- files.devel-doc | 783 ++++++++++++++++++++++++++++++++++++++++++++++++ systemd.changes | 8 + systemd.spec | 28 +- 4 files changed, 798 insertions(+), 801 deletions(-) create mode 100644 files.devel-doc diff --git a/files.devel b/files.devel index 304b8508..3b5a3d2d 100644 --- a/files.devel +++ b/files.devel @@ -7,783 +7,3 @@ %{_libdir}/libudev.so %{_libdir}/pkgconfig/libsystemd.pc %{_libdir}/pkgconfig/libudev.pc -%if %{without bootstrap} -%{_mandir}/man3/SD_ALERT.3.gz -%{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz -%{_mandir}/man3/SD_BUS_ERROR_AUTH_FAILED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_BAD_ADDRESS.3.gz -%{_mandir}/man3/SD_BUS_ERROR_DISCONNECTED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_END.3.gz -%{_mandir}/man3/SD_BUS_ERROR_FAILED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_FILE_EXISTS.3.gz -%{_mandir}/man3/SD_BUS_ERROR_FILE_NOT_FOUND.3.gz -%{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz -%{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz -%{_mandir}/man3/SD_BUS_ERROR_INVALID_FILE_CONTENT.3.gz -%{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz -%{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz -%{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_MAKE_CONST.3.gz -%{_mandir}/man3/SD_BUS_ERROR_MAP.3.gz -%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_INVALID.3.gz -%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NOT_SUPPORTED.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NO_MEMORY.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NO_NETWORK.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz -%{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz -%{_mandir}/man3/SD_BUS_ERROR_OBJECT_PATH_IN_USE.3.gz -%{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz -%{_mandir}/man3/SD_BUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN.3.gz -%{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz -%{_mandir}/man3/SD_BUS_ERROR_TIMED_OUT.3.gz -%{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz -%{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz -%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz -%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_METHOD.3.gz -%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_OBJECT.3.gz -%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_PROPERTY.3.gz -%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_CALL.3.gz -%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_ERROR.3.gz -%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_RETURN.3.gz -%{_mandir}/man3/SD_BUS_MESSAGE_SIGNAL.3.gz -%{_mandir}/man3/SD_BUS_METHOD.3.gz -%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES.3.gz -%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES_OFFSET.3.gz -%{_mandir}/man3/SD_BUS_METHOD_WITH_OFFSET.3.gz -%{_mandir}/man3/SD_BUS_PARAM.3.gz -%{_mandir}/man3/SD_BUS_PROPERTY.3.gz -%{_mandir}/man3/SD_BUS_SIGNAL.3.gz -%{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz -%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz -%{_mandir}/man3/SD_BUS_VTABLE_END.3.gz -%{_mandir}/man3/SD_BUS_VTABLE_START.3.gz -%{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz -%{_mandir}/man3/SD_CRIT.3.gz -%{_mandir}/man3/SD_DEBUG.3.gz -%{_mandir}/man3/SD_EMERG.3.gz -%{_mandir}/man3/SD_ERR.3.gz -%{_mandir}/man3/SD_EVENT_ARMED.3.gz -%{_mandir}/man3/SD_EVENT_EXITING.3.gz -%{_mandir}/man3/SD_EVENT_FINISHED.3.gz -%{_mandir}/man3/SD_EVENT_INITIAL.3.gz -%{_mandir}/man3/SD_EVENT_OFF.3.gz -%{_mandir}/man3/SD_EVENT_ON.3.gz -%{_mandir}/man3/SD_EVENT_ONESHOT.3.gz -%{_mandir}/man3/SD_EVENT_PENDING.3.gz -%{_mandir}/man3/SD_EVENT_PREPARING.3.gz -%{_mandir}/man3/SD_EVENT_PRIORITY_IDLE.3.gz -%{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz -%{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz -%{_mandir}/man3/SD_EVENT_RUNNING.3.gz -%{_mandir}/man3/SD_EVENT_SIGNAL_PROCMASK.3.gz -%{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz -%{_mandir}/man3/SD_ID128_ALLF.3.gz -%{_mandir}/man3/SD_ID128_CONST_STR.3.gz -%{_mandir}/man3/SD_ID128_FORMAT_STR.3.gz -%{_mandir}/man3/SD_ID128_FORMAT_VAL.3.gz -%{_mandir}/man3/SD_ID128_MAKE.3.gz -%{_mandir}/man3/SD_ID128_MAKE_STR.3.gz -%{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz -%{_mandir}/man3/SD_ID128_NULL.3.gz -%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz -%{_mandir}/man3/SD_ID128_TO_STRING.3.gz -%{_mandir}/man3/SD_ID128_TO_UUID_STRING.3.gz -%{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz -%{_mandir}/man3/SD_ID128_UUID_STRING_MAX.3.gz -%{_mandir}/man3/SD_INFO.3.gz -%{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz -%{_mandir}/man3/SD_JOURNAL_APPEND.3.gz -%{_mandir}/man3/SD_JOURNAL_CURRENT_USER.3.gz -%{_mandir}/man3/SD_JOURNAL_FOREACH.3.gz -%{_mandir}/man3/SD_JOURNAL_FOREACH_BACKWARDS.3.gz -%{_mandir}/man3/SD_JOURNAL_FOREACH_DATA.3.gz -%{_mandir}/man3/SD_JOURNAL_FOREACH_FIELD.3.gz -%{_mandir}/man3/SD_JOURNAL_FOREACH_UNIQUE.3.gz -%{_mandir}/man3/SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE.3.gz -%{_mandir}/man3/SD_JOURNAL_INVALIDATE.3.gz -%{_mandir}/man3/SD_JOURNAL_LOCAL_ONLY.3.gz -%{_mandir}/man3/SD_JOURNAL_NOP.3.gz -%{_mandir}/man3/SD_JOURNAL_OS_ROOT.3.gz -%{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz -%{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz -%{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz -%{_mandir}/man3/SD_JOURNAL_TAKE_DIRECTORY_FD.3.gz -%{_mandir}/man3/SD_LISTEN_FDS_START.3.gz -%{_mandir}/man3/SD_NOTICE.3.gz -%{_mandir}/man3/SD_WARNING.3.gz -%{_mandir}/man3/libsystemd.3.gz -%{_mandir}/man3/libudev.3.gz -%{_mandir}/man3/sd-bus-errors.3.gz -%{_mandir}/man3/sd-bus.3.gz -%{_mandir}/man3/sd-daemon.3.gz -%{_mandir}/man3/sd-device.3.gz -%{_mandir}/man3/sd-event.3.gz -%{_mandir}/man3/sd-hwdb.3.gz -%{_mandir}/man3/sd-id128.3.gz -%{_mandir}/man3/sd-journal.3.gz -%{_mandir}/man3/sd-login.3.gz -%{_mandir}/man3/sd_booted.3.gz -%{_mandir}/man3/sd_bus_add_fallback.3.gz -%{_mandir}/man3/sd_bus_add_fallback_vtable.3.gz -%{_mandir}/man3/sd_bus_add_filter.3.gz -%{_mandir}/man3/sd_bus_add_match.3.gz -%{_mandir}/man3/sd_bus_add_match_async.3.gz -%{_mandir}/man3/sd_bus_add_node_enumerator.3.gz -%{_mandir}/man3/sd_bus_add_object.3.gz -%{_mandir}/man3/sd_bus_add_object_manager.3.gz -%{_mandir}/man3/sd_bus_add_object_vtable.3.gz -%{_mandir}/man3/sd_bus_attach_event.3.gz -%{_mandir}/man3/sd_bus_call.3.gz -%{_mandir}/man3/sd_bus_call_async.3.gz -%{_mandir}/man3/sd_bus_call_method.3.gz -%{_mandir}/man3/sd_bus_call_method_async.3.gz -%{_mandir}/man3/sd_bus_call_method_asyncv.3.gz -%{_mandir}/man3/sd_bus_call_methodv.3.gz -%{_mandir}/man3/sd_bus_can_send.3.gz -%{_mandir}/man3/sd_bus_close.3.gz -%{_mandir}/man3/sd_bus_close_unref.3.gz -%{_mandir}/man3/sd_bus_close_unrefp.3.gz -%{_mandir}/man3/sd_bus_creds_get_audit_login_uid.3.gz -%{_mandir}/man3/sd_bus_creds_get_audit_session_id.3.gz -%{_mandir}/man3/sd_bus_creds_get_augmented_mask.3.gz -%{_mandir}/man3/sd_bus_creds_get_cgroup.3.gz -%{_mandir}/man3/sd_bus_creds_get_cmdline.3.gz -%{_mandir}/man3/sd_bus_creds_get_comm.3.gz -%{_mandir}/man3/sd_bus_creds_get_description.3.gz -%{_mandir}/man3/sd_bus_creds_get_egid.3.gz -%{_mandir}/man3/sd_bus_creds_get_euid.3.gz -%{_mandir}/man3/sd_bus_creds_get_exe.3.gz -%{_mandir}/man3/sd_bus_creds_get_fsgid.3.gz -%{_mandir}/man3/sd_bus_creds_get_fsuid.3.gz -%{_mandir}/man3/sd_bus_creds_get_gid.3.gz -%{_mandir}/man3/sd_bus_creds_get_mask.3.gz -%{_mandir}/man3/sd_bus_creds_get_owner_uid.3.gz -%{_mandir}/man3/sd_bus_creds_get_pid.3.gz -%{_mandir}/man3/sd_bus_creds_get_ppid.3.gz -%{_mandir}/man3/sd_bus_creds_get_selinux_context.3.gz -%{_mandir}/man3/sd_bus_creds_get_session.3.gz -%{_mandir}/man3/sd_bus_creds_get_sgid.3.gz -%{_mandir}/man3/sd_bus_creds_get_slice.3.gz -%{_mandir}/man3/sd_bus_creds_get_suid.3.gz -%{_mandir}/man3/sd_bus_creds_get_supplementary_gids.3.gz -%{_mandir}/man3/sd_bus_creds_get_tid.3.gz -%{_mandir}/man3/sd_bus_creds_get_tid_comm.3.gz -%{_mandir}/man3/sd_bus_creds_get_tty.3.gz -%{_mandir}/man3/sd_bus_creds_get_uid.3.gz -%{_mandir}/man3/sd_bus_creds_get_unique_name.3.gz -%{_mandir}/man3/sd_bus_creds_get_unit.3.gz -%{_mandir}/man3/sd_bus_creds_get_user_slice.3.gz -%{_mandir}/man3/sd_bus_creds_get_user_unit.3.gz -%{_mandir}/man3/sd_bus_creds_get_well_known_names.3.gz -%{_mandir}/man3/sd_bus_creds_has_bounding_cap.3.gz -%{_mandir}/man3/sd_bus_creds_has_effective_cap.3.gz -%{_mandir}/man3/sd_bus_creds_has_inheritable_cap.3.gz -%{_mandir}/man3/sd_bus_creds_has_permitted_cap.3.gz -%{_mandir}/man3/sd_bus_creds_new_from_pid.3.gz -%{_mandir}/man3/sd_bus_creds_ref.3.gz -%{_mandir}/man3/sd_bus_creds_unref.3.gz -%{_mandir}/man3/sd_bus_creds_unrefp.3.gz -%{_mandir}/man3/sd_bus_default.3.gz -%{_mandir}/man3/sd_bus_default_flush_close.3.gz -%{_mandir}/man3/sd_bus_default_system.3.gz -%{_mandir}/man3/sd_bus_default_user.3.gz -%{_mandir}/man3/sd_bus_destroy_t.3.gz -%{_mandir}/man3/sd_bus_detach_event.3.gz -%{_mandir}/man3/sd_bus_emit_interfaces_added.3.gz -%{_mandir}/man3/sd_bus_emit_interfaces_added_strv.3.gz -%{_mandir}/man3/sd_bus_emit_interfaces_removed.3.gz -%{_mandir}/man3/sd_bus_emit_interfaces_removed_strv.3.gz -%{_mandir}/man3/sd_bus_emit_object_added.3.gz -%{_mandir}/man3/sd_bus_emit_object_removed.3.gz -%{_mandir}/man3/sd_bus_emit_properties_changed.3.gz -%{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz -%{_mandir}/man3/sd_bus_emit_signal.3.gz -%{_mandir}/man3/sd_bus_emit_signal_to.3.gz -%{_mandir}/man3/sd_bus_emit_signal_tov.3.gz -%{_mandir}/man3/sd_bus_emit_signalv.3.gz -%{_mandir}/man3/sd_bus_enqueue_for_read.3.gz -%{_mandir}/man3/sd_bus_error.3.gz -%{_mandir}/man3/sd_bus_error_add_map.3.gz -%{_mandir}/man3/sd_bus_error_copy.3.gz -%{_mandir}/man3/sd_bus_error_free.3.gz -%{_mandir}/man3/sd_bus_error_get_errno.3.gz -%{_mandir}/man3/sd_bus_error_has_name.3.gz -%{_mandir}/man3/sd_bus_error_has_names.3.gz -%{_mandir}/man3/sd_bus_error_has_names_sentinel.3.gz -%{_mandir}/man3/sd_bus_error_is_set.3.gz -%{_mandir}/man3/sd_bus_error_map.3.gz -%{_mandir}/man3/sd_bus_error_move.3.gz -%{_mandir}/man3/sd_bus_error_set.3.gz -%{_mandir}/man3/sd_bus_error_set_const.3.gz -%{_mandir}/man3/sd_bus_error_set_errno.3.gz -%{_mandir}/man3/sd_bus_error_set_errnof.3.gz -%{_mandir}/man3/sd_bus_error_set_errnofv.3.gz -%{_mandir}/man3/sd_bus_error_setf.3.gz -%{_mandir}/man3/sd_bus_error_setfv.3.gz -%{_mandir}/man3/sd_bus_flush.3.gz -%{_mandir}/man3/sd_bus_flush_close_unref.3.gz -%{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz -%{_mandir}/man3/sd_bus_get_address.3.gz -%{_mandir}/man3/sd_bus_get_allow_interactive_authorization.3.gz -%{_mandir}/man3/sd_bus_get_bus_id.3.gz -%{_mandir}/man3/sd_bus_get_close_on_exit.3.gz -%{_mandir}/man3/sd_bus_get_connected_signal.3.gz -%{_mandir}/man3/sd_bus_get_creds_mask.3.gz -%{_mandir}/man3/sd_bus_get_current_handler.3.gz -%{_mandir}/man3/sd_bus_get_current_message.3.gz -%{_mandir}/man3/sd_bus_get_current_slot.3.gz -%{_mandir}/man3/sd_bus_get_current_userdata.3.gz -%{_mandir}/man3/sd_bus_get_description.3.gz -%{_mandir}/man3/sd_bus_get_event.3.gz -%{_mandir}/man3/sd_bus_get_events.3.gz -%{_mandir}/man3/sd_bus_get_exit_on_disconnect.3.gz -%{_mandir}/man3/sd_bus_get_fd.3.gz -%{_mandir}/man3/sd_bus_get_method_call_timeout.3.gz -%{_mandir}/man3/sd_bus_get_n_queued_read.3.gz -%{_mandir}/man3/sd_bus_get_n_queued_write.3.gz -%{_mandir}/man3/sd_bus_get_name_creds.3.gz -%{_mandir}/man3/sd_bus_get_name_machine_id.3.gz -%{_mandir}/man3/sd_bus_get_owner_creds.3.gz -%{_mandir}/man3/sd_bus_get_property.3.gz -%{_mandir}/man3/sd_bus_get_property_string.3.gz -%{_mandir}/man3/sd_bus_get_property_strv.3.gz -%{_mandir}/man3/sd_bus_get_property_trivial.3.gz -%{_mandir}/man3/sd_bus_get_scope.3.gz -%{_mandir}/man3/sd_bus_get_sender.3.gz -%{_mandir}/man3/sd_bus_get_tid.3.gz -%{_mandir}/man3/sd_bus_get_timeout.3.gz -%{_mandir}/man3/sd_bus_get_unique_name.3.gz -%{_mandir}/man3/sd_bus_get_watch_bind.3.gz -%{_mandir}/man3/sd_bus_interface_name_is_valid.3.gz -%{_mandir}/man3/sd_bus_is_anonymous.3.gz -%{_mandir}/man3/sd_bus_is_bus_client.3.gz -%{_mandir}/man3/sd_bus_is_monitor.3.gz -%{_mandir}/man3/sd_bus_is_open.3.gz -%{_mandir}/man3/sd_bus_is_ready.3.gz -%{_mandir}/man3/sd_bus_is_server.3.gz -%{_mandir}/man3/sd_bus_is_trusted.3.gz -%{_mandir}/man3/sd_bus_list_names.3.gz -%{_mandir}/man3/sd_bus_match_signal.3.gz -%{_mandir}/man3/sd_bus_match_signal_async.3.gz -%{_mandir}/man3/sd_bus_member_name_is_valid.3.gz -%{_mandir}/man3/sd_bus_message_append.3.gz -%{_mandir}/man3/sd_bus_message_append_array.3.gz -%{_mandir}/man3/sd_bus_message_append_array_iovec.3.gz -%{_mandir}/man3/sd_bus_message_append_array_memfd.3.gz -%{_mandir}/man3/sd_bus_message_append_array_space.3.gz -%{_mandir}/man3/sd_bus_message_append_basic.3.gz -%{_mandir}/man3/sd_bus_message_append_string_iovec.3.gz -%{_mandir}/man3/sd_bus_message_append_string_memfd.3.gz -%{_mandir}/man3/sd_bus_message_append_string_space.3.gz -%{_mandir}/man3/sd_bus_message_append_strv.3.gz -%{_mandir}/man3/sd_bus_message_appendv.3.gz -%{_mandir}/man3/sd_bus_message_at_end.3.gz -%{_mandir}/man3/sd_bus_message_close_container.3.gz -%{_mandir}/man3/sd_bus_message_copy.3.gz -%{_mandir}/man3/sd_bus_message_dump.3.gz -%{_mandir}/man3/sd_bus_message_enter_container.3.gz -%{_mandir}/man3/sd_bus_message_exit_container.3.gz -%{_mandir}/man3/sd_bus_message_get_allow_interactive_authorization.3.gz -%{_mandir}/man3/sd_bus_message_get_auto_start.3.gz -%{_mandir}/man3/sd_bus_message_get_bus.3.gz -%{_mandir}/man3/sd_bus_message_get_cookie.3.gz -%{_mandir}/man3/sd_bus_message_get_creds.3.gz -%{_mandir}/man3/sd_bus_message_get_destination.3.gz -%{_mandir}/man3/sd_bus_message_get_errno.3.gz -%{_mandir}/man3/sd_bus_message_get_error.3.gz -%{_mandir}/man3/sd_bus_message_get_expect_reply.3.gz -%{_mandir}/man3/sd_bus_message_get_interface.3.gz -%{_mandir}/man3/sd_bus_message_get_member.3.gz -%{_mandir}/man3/sd_bus_message_get_monotonic_usec.3.gz -%{_mandir}/man3/sd_bus_message_get_path.3.gz -%{_mandir}/man3/sd_bus_message_get_realtime_usec.3.gz -%{_mandir}/man3/sd_bus_message_get_reply_cookie.3.gz -%{_mandir}/man3/sd_bus_message_get_sender.3.gz -%{_mandir}/man3/sd_bus_message_get_seqnum.3.gz -%{_mandir}/man3/sd_bus_message_get_signature.3.gz -%{_mandir}/man3/sd_bus_message_get_type.3.gz -%{_mandir}/man3/sd_bus_message_has_signature.3.gz -%{_mandir}/man3/sd_bus_message_is_empty.3.gz -%{_mandir}/man3/sd_bus_message_is_method_call.3.gz -%{_mandir}/man3/sd_bus_message_is_method_error.3.gz -%{_mandir}/man3/sd_bus_message_is_signal.3.gz -%{_mandir}/man3/sd_bus_message_new.3.gz -%{_mandir}/man3/sd_bus_message_new_method_call.3.gz -%{_mandir}/man3/sd_bus_message_new_method_errno.3.gz -%{_mandir}/man3/sd_bus_message_new_method_errnof.3.gz -%{_mandir}/man3/sd_bus_message_new_method_error.3.gz -%{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz -%{_mandir}/man3/sd_bus_message_new_method_return.3.gz -%{_mandir}/man3/sd_bus_message_new_signal.3.gz -%{_mandir}/man3/sd_bus_message_new_signal_to.3.gz -%{_mandir}/man3/sd_bus_message_open_container.3.gz -%{_mandir}/man3/sd_bus_message_peek_type.3.gz -%{_mandir}/man3/sd_bus_message_read.3.gz -%{_mandir}/man3/sd_bus_message_read_array.3.gz -%{_mandir}/man3/sd_bus_message_read_basic.3.gz -%{_mandir}/man3/sd_bus_message_read_strv.3.gz -%{_mandir}/man3/sd_bus_message_read_strv_extend.3.gz -%{_mandir}/man3/sd_bus_message_readv.3.gz -%{_mandir}/man3/sd_bus_message_ref.3.gz -%{_mandir}/man3/sd_bus_message_rewind.3.gz -%{_mandir}/man3/sd_bus_message_seal.3.gz -%{_mandir}/man3/sd_bus_message_send.3.gz -%{_mandir}/man3/sd_bus_message_sensitive.3.gz -%{_mandir}/man3/sd_bus_message_set_allow_interactive_authorization.3.gz -%{_mandir}/man3/sd_bus_message_set_auto_start.3.gz -%{_mandir}/man3/sd_bus_message_set_destination.3.gz -%{_mandir}/man3/sd_bus_message_set_expect_reply.3.gz -%{_mandir}/man3/sd_bus_message_set_sender.3.gz -%{_mandir}/man3/sd_bus_message_skip.3.gz -%{_mandir}/man3/sd_bus_message_unref.3.gz -%{_mandir}/man3/sd_bus_message_unrefp.3.gz -%{_mandir}/man3/sd_bus_message_verify_type.3.gz -%{_mandir}/man3/sd_bus_negotiate_creds.3.gz -%{_mandir}/man3/sd_bus_negotiate_fds.3.gz -%{_mandir}/man3/sd_bus_negotiate_timestamp.3.gz -%{_mandir}/man3/sd_bus_new.3.gz -%{_mandir}/man3/sd_bus_object_path_is_valid.3.gz -%{_mandir}/man3/sd_bus_open.3.gz -%{_mandir}/man3/sd_bus_open_system.3.gz -%{_mandir}/man3/sd_bus_open_system_machine.3.gz -%{_mandir}/man3/sd_bus_open_system_remote.3.gz -%{_mandir}/man3/sd_bus_open_system_with_description.3.gz -%{_mandir}/man3/sd_bus_open_user.3.gz -%{_mandir}/man3/sd_bus_open_user_machine.3.gz -%{_mandir}/man3/sd_bus_open_user_with_description.3.gz -%{_mandir}/man3/sd_bus_open_with_description.3.gz -%{_mandir}/man3/sd_bus_path_decode.3.gz -%{_mandir}/man3/sd_bus_path_decode_many.3.gz -%{_mandir}/man3/sd_bus_path_encode.3.gz -%{_mandir}/man3/sd_bus_path_encode_many.3.gz -%{_mandir}/man3/sd_bus_process.3.gz -%{_mandir}/man3/sd_bus_query_sender_creds.3.gz -%{_mandir}/man3/sd_bus_query_sender_privilege.3.gz -%{_mandir}/man3/sd_bus_ref.3.gz -%{_mandir}/man3/sd_bus_release_name.3.gz -%{_mandir}/man3/sd_bus_release_name_async.3.gz -%{_mandir}/man3/sd_bus_reply_method_errno.3.gz -%{_mandir}/man3/sd_bus_reply_method_errnof.3.gz -%{_mandir}/man3/sd_bus_reply_method_errnofv.3.gz -%{_mandir}/man3/sd_bus_reply_method_error.3.gz -%{_mandir}/man3/sd_bus_reply_method_errorf.3.gz -%{_mandir}/man3/sd_bus_reply_method_errorfv.3.gz -%{_mandir}/man3/sd_bus_reply_method_return.3.gz -%{_mandir}/man3/sd_bus_reply_method_returnv.3.gz -%{_mandir}/man3/sd_bus_request_name.3.gz -%{_mandir}/man3/sd_bus_request_name_async.3.gz -%{_mandir}/man3/sd_bus_send.3.gz -%{_mandir}/man3/sd_bus_send_to.3.gz -%{_mandir}/man3/sd_bus_service_name_is_valid.3.gz -%{_mandir}/man3/sd_bus_set_address.3.gz -%{_mandir}/man3/sd_bus_set_allow_interactive_authorization.3.gz -%{_mandir}/man3/sd_bus_set_anonymous.3.gz -%{_mandir}/man3/sd_bus_set_bus_client.3.gz -%{_mandir}/man3/sd_bus_set_close_on_exit.3.gz -%{_mandir}/man3/sd_bus_set_connected_signal.3.gz -%{_mandir}/man3/sd_bus_set_description.3.gz -%{_mandir}/man3/sd_bus_set_exec.3.gz -%{_mandir}/man3/sd_bus_set_exit_on_disconnect.3.gz -%{_mandir}/man3/sd_bus_set_fd.3.gz -%{_mandir}/man3/sd_bus_set_method_call_timeout.3.gz -%{_mandir}/man3/sd_bus_set_monitor.3.gz -%{_mandir}/man3/sd_bus_set_property.3.gz -%{_mandir}/man3/sd_bus_set_propertyv.3.gz -%{_mandir}/man3/sd_bus_set_sender.3.gz -%{_mandir}/man3/sd_bus_set_server.3.gz -%{_mandir}/man3/sd_bus_set_trusted.3.gz -%{_mandir}/man3/sd_bus_set_watch_bind.3.gz -%{_mandir}/man3/sd_bus_slot_get_bus.3.gz -%{_mandir}/man3/sd_bus_slot_get_current_handler.3.gz -%{_mandir}/man3/sd_bus_slot_get_current_message.3.gz -%{_mandir}/man3/sd_bus_slot_get_current_userdata.3.gz -%{_mandir}/man3/sd_bus_slot_get_description.3.gz -%{_mandir}/man3/sd_bus_slot_get_destroy_callback.3.gz -%{_mandir}/man3/sd_bus_slot_get_floating.3.gz -%{_mandir}/man3/sd_bus_slot_get_userdata.3.gz -%{_mandir}/man3/sd_bus_slot_ref.3.gz -%{_mandir}/man3/sd_bus_slot_set_description.3.gz -%{_mandir}/man3/sd_bus_slot_set_destroy_callback.3.gz -%{_mandir}/man3/sd_bus_slot_set_floating.3.gz -%{_mandir}/man3/sd_bus_slot_set_userdata.3.gz -%{_mandir}/man3/sd_bus_slot_unref.3.gz -%{_mandir}/man3/sd_bus_slot_unrefp.3.gz -%{_mandir}/man3/sd_bus_start.3.gz -%{_mandir}/man3/sd_bus_track_add_name.3.gz -%{_mandir}/man3/sd_bus_track_add_sender.3.gz -%{_mandir}/man3/sd_bus_track_contains.3.gz -%{_mandir}/man3/sd_bus_track_count.3.gz -%{_mandir}/man3/sd_bus_track_count_name.3.gz -%{_mandir}/man3/sd_bus_track_count_sender.3.gz -%{_mandir}/man3/sd_bus_track_first.3.gz -%{_mandir}/man3/sd_bus_track_get_bus.3.gz -%{_mandir}/man3/sd_bus_track_get_destroy_callback.3.gz -%{_mandir}/man3/sd_bus_track_get_recursive.3.gz -%{_mandir}/man3/sd_bus_track_get_userdata.3.gz -%{_mandir}/man3/sd_bus_track_new.3.gz -%{_mandir}/man3/sd_bus_track_next.3.gz -%{_mandir}/man3/sd_bus_track_ref.3.gz -%{_mandir}/man3/sd_bus_track_remove_name.3.gz -%{_mandir}/man3/sd_bus_track_remove_sender.3.gz -%{_mandir}/man3/sd_bus_track_set_destroy_callback.3.gz -%{_mandir}/man3/sd_bus_track_set_recursive.3.gz -%{_mandir}/man3/sd_bus_track_set_userdata.3.gz -%{_mandir}/man3/sd_bus_track_unref.3.gz -%{_mandir}/man3/sd_bus_track_unrefp.3.gz -%{_mandir}/man3/sd_bus_unref.3.gz -%{_mandir}/man3/sd_bus_unrefp.3.gz -%{_mandir}/man3/sd_bus_wait.3.gz -%{_mandir}/man3/sd_device_get_devname.3.gz -%{_mandir}/man3/sd_device_get_devnum.3.gz -%{_mandir}/man3/sd_device_get_devpath.3.gz -%{_mandir}/man3/sd_device_get_devtype.3.gz -%{_mandir}/man3/sd_device_get_diskseq.3.gz -%{_mandir}/man3/sd_device_get_driver.3.gz -%{_mandir}/man3/sd_device_get_ifindex.3.gz -%{_mandir}/man3/sd_device_get_subsystem.3.gz -%{_mandir}/man3/sd_device_get_sysname.3.gz -%{_mandir}/man3/sd_device_get_sysnum.3.gz -%{_mandir}/man3/sd_device_get_syspath.3.gz -%{_mandir}/man3/sd_device_ref.3.gz -%{_mandir}/man3/sd_device_unref.3.gz -%{_mandir}/man3/sd_device_unrefp.3.gz -%{_mandir}/man3/sd_event.3.gz -%{_mandir}/man3/sd_event_add_child.3.gz -%{_mandir}/man3/sd_event_add_child_pidfd.3.gz -%{_mandir}/man3/sd_event_add_defer.3.gz -%{_mandir}/man3/sd_event_add_exit.3.gz -%{_mandir}/man3/sd_event_add_inotify.3.gz -%{_mandir}/man3/sd_event_add_inotify_fd.3.gz -%{_mandir}/man3/sd_event_add_io.3.gz -%{_mandir}/man3/sd_event_add_memory_pressure.3.gz -%{_mandir}/man3/sd_event_add_post.3.gz -%{_mandir}/man3/sd_event_add_signal.3.gz -%{_mandir}/man3/sd_event_add_time.3.gz -%{_mandir}/man3/sd_event_add_time_relative.3.gz -%{_mandir}/man3/sd_event_child_handler_t.3.gz -%{_mandir}/man3/sd_event_default.3.gz -%{_mandir}/man3/sd_event_destroy_t.3.gz -%{_mandir}/man3/sd_event_dispatch.3.gz -%{_mandir}/man3/sd_event_exit.3.gz -%{_mandir}/man3/sd_event_get_exit_code.3.gz -%{_mandir}/man3/sd_event_get_fd.3.gz -%{_mandir}/man3/sd_event_get_iteration.3.gz -%{_mandir}/man3/sd_event_get_state.3.gz -%{_mandir}/man3/sd_event_get_tid.3.gz -%{_mandir}/man3/sd_event_get_watchdog.3.gz -%{_mandir}/man3/sd_event_handler_t.3.gz -%{_mandir}/man3/sd_event_inotify_handler_t.3.gz -%{_mandir}/man3/sd_event_io_handler_t.3.gz -%{_mandir}/man3/sd_event_loop.3.gz -%{_mandir}/man3/sd_event_new.3.gz -%{_mandir}/man3/sd_event_now.3.gz -%{_mandir}/man3/sd_event_prepare.3.gz -%{_mandir}/man3/sd_event_ref.3.gz -%{_mandir}/man3/sd_event_run.3.gz -%{_mandir}/man3/sd_event_set_signal_exit.3.gz -%{_mandir}/man3/sd_event_set_watchdog.3.gz -%{_mandir}/man3/sd_event_signal_handler_t.3.gz -%{_mandir}/man3/sd_event_source.3.gz -%{_mandir}/man3/sd_event_source_disable_unref.3.gz -%{_mandir}/man3/sd_event_source_disable_unrefp.3.gz -%{_mandir}/man3/sd_event_source_get_child_pid.3.gz -%{_mandir}/man3/sd_event_source_get_child_pidfd.3.gz -%{_mandir}/man3/sd_event_source_get_child_pidfd_own.3.gz -%{_mandir}/man3/sd_event_source_get_child_process_own.3.gz -%{_mandir}/man3/sd_event_source_get_description.3.gz -%{_mandir}/man3/sd_event_source_get_destroy_callback.3.gz -%{_mandir}/man3/sd_event_source_get_enabled.3.gz -%{_mandir}/man3/sd_event_source_get_event.3.gz -%{_mandir}/man3/sd_event_source_get_exit_on_failure.3.gz -%{_mandir}/man3/sd_event_source_get_floating.3.gz -%{_mandir}/man3/sd_event_source_get_inotify_mask.3.gz -%{_mandir}/man3/sd_event_source_get_io_events.3.gz -%{_mandir}/man3/sd_event_source_get_io_fd.3.gz -%{_mandir}/man3/sd_event_source_get_io_fd_own.3.gz -%{_mandir}/man3/sd_event_source_get_io_revents.3.gz -%{_mandir}/man3/sd_event_source_get_pending.3.gz -%{_mandir}/man3/sd_event_source_get_priority.3.gz -%{_mandir}/man3/sd_event_source_get_ratelimit.3.gz -%{_mandir}/man3/sd_event_source_get_signal.3.gz -%{_mandir}/man3/sd_event_source_get_time.3.gz -%{_mandir}/man3/sd_event_source_get_time_accuracy.3.gz -%{_mandir}/man3/sd_event_source_get_time_clock.3.gz -%{_mandir}/man3/sd_event_source_get_userdata.3.gz -%{_mandir}/man3/sd_event_source_is_ratelimited.3.gz -%{_mandir}/man3/sd_event_source_leave_ratelimit.3.gz -%{_mandir}/man3/sd_event_source_ref.3.gz -%{_mandir}/man3/sd_event_source_send_child_signal.3.gz -%{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz -%{_mandir}/man3/sd_event_source_set_child_process_own.3.gz -%{_mandir}/man3/sd_event_source_set_description.3.gz -%{_mandir}/man3/sd_event_source_set_destroy_callback.3.gz -%{_mandir}/man3/sd_event_source_set_enabled.3.gz -%{_mandir}/man3/sd_event_source_set_exit_on_failure.3.gz -%{_mandir}/man3/sd_event_source_set_floating.3.gz -%{_mandir}/man3/sd_event_source_set_io_events.3.gz -%{_mandir}/man3/sd_event_source_set_io_fd.3.gz -%{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz -%{_mandir}/man3/sd_event_source_set_memory_pressure_period.3.gz -%{_mandir}/man3/sd_event_source_set_memory_pressure_type.3.gz -%{_mandir}/man3/sd_event_source_set_prepare.3.gz -%{_mandir}/man3/sd_event_source_set_priority.3.gz -%{_mandir}/man3/sd_event_source_set_ratelimit.3.gz -%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz -%{_mandir}/man3/sd_event_source_set_time.3.gz -%{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz -%{_mandir}/man3/sd_event_source_set_time_relative.3.gz -%{_mandir}/man3/sd_event_source_set_userdata.3.gz -%{_mandir}/man3/sd_event_source_unref.3.gz -%{_mandir}/man3/sd_event_source_unrefp.3.gz -%{_mandir}/man3/sd_event_time_handler_t.3.gz -%{_mandir}/man3/sd_event_trim_memory.3.gz -%{_mandir}/man3/sd_event_unref.3.gz -%{_mandir}/man3/sd_event_unrefp.3.gz -%{_mandir}/man3/sd_event_wait.3.gz -%{_mandir}/man3/sd_get_machine_names.3.gz -%{_mandir}/man3/sd_get_seats.3.gz -%{_mandir}/man3/sd_get_sessions.3.gz -%{_mandir}/man3/sd_get_uids.3.gz -%{_mandir}/man3/sd_hwdb_enumerate.3.gz -%{_mandir}/man3/sd_hwdb_get.3.gz -%{_mandir}/man3/sd_hwdb_new.3.gz -%{_mandir}/man3/sd_hwdb_new_from_path.3.gz -%{_mandir}/man3/sd_hwdb_ref.3.gz -%{_mandir}/man3/sd_hwdb_seek.3.gz -%{_mandir}/man3/sd_hwdb_unref.3.gz -%{_mandir}/man3/sd_id128_equal.3.gz -%{_mandir}/man3/sd_id128_from_string.3.gz -%{_mandir}/man3/sd_id128_get_app_specific.3.gz -%{_mandir}/man3/sd_id128_get_boot.3.gz -%{_mandir}/man3/sd_id128_get_boot_app_specific.3.gz -%{_mandir}/man3/sd_id128_get_invocation.3.gz -%{_mandir}/man3/sd_id128_get_machine.3.gz -%{_mandir}/man3/sd_id128_get_machine_app_specific.3.gz -%{_mandir}/man3/sd_id128_in_set.3.gz -%{_mandir}/man3/sd_id128_in_set_sentinel.3.gz -%{_mandir}/man3/sd_id128_in_setv.3.gz -%{_mandir}/man3/sd_id128_is_allf.3.gz -%{_mandir}/man3/sd_id128_is_null.3.gz -%{_mandir}/man3/sd_id128_randomize.3.gz -%{_mandir}/man3/sd_id128_string_equal.3.gz -%{_mandir}/man3/sd_id128_t.3.gz -%{_mandir}/man3/sd_id128_to_string.3.gz -%{_mandir}/man3/sd_id128_to_uuid_string.3.gz -%{_mandir}/man3/sd_is_fifo.3.gz -%{_mandir}/man3/sd_is_mq.3.gz -%{_mandir}/man3/sd_is_socket.3.gz -%{_mandir}/man3/sd_is_socket_inet.3.gz -%{_mandir}/man3/sd_is_socket_sockaddr.3.gz -%{_mandir}/man3/sd_is_socket_unix.3.gz -%{_mandir}/man3/sd_is_special.3.gz -%{_mandir}/man3/sd_journal.3.gz -%{_mandir}/man3/sd_journal_add_conjunction.3.gz -%{_mandir}/man3/sd_journal_add_disjunction.3.gz -%{_mandir}/man3/sd_journal_add_match.3.gz -%{_mandir}/man3/sd_journal_close.3.gz -%{_mandir}/man3/sd_journal_enumerate_available_data.3.gz -%{_mandir}/man3/sd_journal_enumerate_available_unique.3.gz -%{_mandir}/man3/sd_journal_enumerate_data.3.gz -%{_mandir}/man3/sd_journal_enumerate_fields.3.gz -%{_mandir}/man3/sd_journal_enumerate_unique.3.gz -%{_mandir}/man3/sd_journal_flush_matches.3.gz -%{_mandir}/man3/sd_journal_get_catalog.3.gz -%{_mandir}/man3/sd_journal_get_catalog_for_message_id.3.gz -%{_mandir}/man3/sd_journal_get_cursor.3.gz -%{_mandir}/man3/sd_journal_get_cutoff_monotonic_usec.3.gz -%{_mandir}/man3/sd_journal_get_cutoff_realtime_usec.3.gz -%{_mandir}/man3/sd_journal_get_data.3.gz -%{_mandir}/man3/sd_journal_get_data_threshold.3.gz -%{_mandir}/man3/sd_journal_get_events.3.gz -%{_mandir}/man3/sd_journal_get_fd.3.gz -%{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz -%{_mandir}/man3/sd_journal_get_realtime_usec.3.gz -%{_mandir}/man3/sd_journal_get_seqnum.3.gz -%{_mandir}/man3/sd_journal_get_timeout.3.gz -%{_mandir}/man3/sd_journal_get_usage.3.gz -%{_mandir}/man3/sd_journal_has_persistent_files.3.gz -%{_mandir}/man3/sd_journal_has_runtime_files.3.gz -%{_mandir}/man3/sd_journal_next.3.gz -%{_mandir}/man3/sd_journal_next_skip.3.gz -%{_mandir}/man3/sd_journal_open.3.gz -%{_mandir}/man3/sd_journal_open_directory.3.gz -%{_mandir}/man3/sd_journal_open_directory_fd.3.gz -%{_mandir}/man3/sd_journal_open_files.3.gz -%{_mandir}/man3/sd_journal_open_files_fd.3.gz -%{_mandir}/man3/sd_journal_open_namespace.3.gz -%{_mandir}/man3/sd_journal_perror.3.gz -%{_mandir}/man3/sd_journal_perror_with_location.3.gz -%{_mandir}/man3/sd_journal_previous.3.gz -%{_mandir}/man3/sd_journal_previous_skip.3.gz -%{_mandir}/man3/sd_journal_print.3.gz -%{_mandir}/man3/sd_journal_print_with_location.3.gz -%{_mandir}/man3/sd_journal_printv.3.gz -%{_mandir}/man3/sd_journal_printv_with_location.3.gz -%{_mandir}/man3/sd_journal_process.3.gz -%{_mandir}/man3/sd_journal_query_unique.3.gz -%{_mandir}/man3/sd_journal_reliable_fd.3.gz -%{_mandir}/man3/sd_journal_restart_data.3.gz -%{_mandir}/man3/sd_journal_restart_fields.3.gz -%{_mandir}/man3/sd_journal_restart_unique.3.gz -%{_mandir}/man3/sd_journal_seek_cursor.3.gz -%{_mandir}/man3/sd_journal_seek_head.3.gz -%{_mandir}/man3/sd_journal_seek_monotonic_usec.3.gz -%{_mandir}/man3/sd_journal_seek_realtime_usec.3.gz -%{_mandir}/man3/sd_journal_seek_tail.3.gz -%{_mandir}/man3/sd_journal_send.3.gz -%{_mandir}/man3/sd_journal_send_with_location.3.gz -%{_mandir}/man3/sd_journal_sendv.3.gz -%{_mandir}/man3/sd_journal_sendv_with_location.3.gz -%{_mandir}/man3/sd_journal_set_data_threshold.3.gz -%{_mandir}/man3/sd_journal_step_one.3.gz -%{_mandir}/man3/sd_journal_stream_fd.3.gz -%{_mandir}/man3/sd_journal_test_cursor.3.gz -%{_mandir}/man3/sd_journal_wait.3.gz -%{_mandir}/man3/sd_listen_fds.3.gz -%{_mandir}/man3/sd_listen_fds_with_names.3.gz -%{_mandir}/man3/sd_login_monitor.3.gz -%{_mandir}/man3/sd_login_monitor_flush.3.gz -%{_mandir}/man3/sd_login_monitor_get_events.3.gz -%{_mandir}/man3/sd_login_monitor_get_fd.3.gz -%{_mandir}/man3/sd_login_monitor_get_timeout.3.gz -%{_mandir}/man3/sd_login_monitor_new.3.gz -%{_mandir}/man3/sd_login_monitor_unref.3.gz -%{_mandir}/man3/sd_login_monitor_unrefp.3.gz -%{_mandir}/man3/sd_machine_get_class.3.gz -%{_mandir}/man3/sd_machine_get_ifindices.3.gz -%{_mandir}/man3/sd_notify.3.gz -%{_mandir}/man3/sd_notify_barrier.3.gz -%{_mandir}/man3/sd_notifyf.3.gz -%{_mandir}/man3/sd_path_lookup.3.gz -%{_mandir}/man3/sd_path_lookup_strv.3.gz -%{_mandir}/man3/sd_peer_get_cgroup.3.gz -%{_mandir}/man3/sd_peer_get_machine_name.3.gz -%{_mandir}/man3/sd_peer_get_owner_uid.3.gz -%{_mandir}/man3/sd_peer_get_session.3.gz -%{_mandir}/man3/sd_peer_get_slice.3.gz -%{_mandir}/man3/sd_peer_get_unit.3.gz -%{_mandir}/man3/sd_peer_get_user_slice.3.gz -%{_mandir}/man3/sd_peer_get_user_unit.3.gz -%{_mandir}/man3/sd_pid_get_cgroup.3.gz -%{_mandir}/man3/sd_pid_get_machine_name.3.gz -%{_mandir}/man3/sd_pid_get_owner_uid.3.gz -%{_mandir}/man3/sd_pid_get_session.3.gz -%{_mandir}/man3/sd_pid_get_slice.3.gz -%{_mandir}/man3/sd_pid_get_unit.3.gz -%{_mandir}/man3/sd_pid_get_user_slice.3.gz -%{_mandir}/man3/sd_pid_get_user_unit.3.gz -%{_mandir}/man3/sd_pid_notify.3.gz -%{_mandir}/man3/sd_pid_notify_barrier.3.gz -%{_mandir}/man3/sd_pid_notify_with_fds.3.gz -%{_mandir}/man3/sd_pid_notifyf.3.gz -%{_mandir}/man3/sd_pid_notifyf_with_fds.3.gz -%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz -%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz -%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz -%{_mandir}/man3/sd_pidfd_get_session.3.gz -%{_mandir}/man3/sd_pidfd_get_slice.3.gz -%{_mandir}/man3/sd_pidfd_get_unit.3.gz -%{_mandir}/man3/sd_pidfd_get_user_slice.3.gz -%{_mandir}/man3/sd_pidfd_get_user_unit.3.gz -%{_mandir}/man3/sd_seat_can_graphical.3.gz -%{_mandir}/man3/sd_seat_can_tty.3.gz -%{_mandir}/man3/sd_seat_get_active.3.gz -%{_mandir}/man3/sd_seat_get_sessions.3.gz -%{_mandir}/man3/sd_session_get_class.3.gz -%{_mandir}/man3/sd_session_get_desktop.3.gz -%{_mandir}/man3/sd_session_get_display.3.gz -%{_mandir}/man3/sd_session_get_leader.3.gz -%{_mandir}/man3/sd_session_get_remote_host.3.gz -%{_mandir}/man3/sd_session_get_remote_user.3.gz -%{_mandir}/man3/sd_session_get_seat.3.gz -%{_mandir}/man3/sd_session_get_service.3.gz -%{_mandir}/man3/sd_session_get_start_time.3.gz -%{_mandir}/man3/sd_session_get_state.3.gz -%{_mandir}/man3/sd_session_get_tty.3.gz -%{_mandir}/man3/sd_session_get_type.3.gz -%{_mandir}/man3/sd_session_get_uid.3.gz -%{_mandir}/man3/sd_session_get_username.3.gz -%{_mandir}/man3/sd_session_get_vt.3.gz -%{_mandir}/man3/sd_session_is_active.3.gz -%{_mandir}/man3/sd_session_is_remote.3.gz -%{_mandir}/man3/sd_uid_get_display.3.gz -%{_mandir}/man3/sd_uid_get_login_time.3.gz -%{_mandir}/man3/sd_uid_get_seats.3.gz -%{_mandir}/man3/sd_uid_get_sessions.3.gz -%{_mandir}/man3/sd_uid_get_state.3.gz -%{_mandir}/man3/sd_uid_is_on_seat.3.gz -%{_mandir}/man3/sd_watchdog_enabled.3.gz -%{_mandir}/man3/udev_device_get_action.3.gz -%{_mandir}/man3/udev_device_get_current_tags_list_entry.3.gz -%{_mandir}/man3/udev_device_get_devlinks_list_entry.3.gz -%{_mandir}/man3/udev_device_get_devnode.3.gz -%{_mandir}/man3/udev_device_get_devnum.3.gz -%{_mandir}/man3/udev_device_get_devpath.3.gz -%{_mandir}/man3/udev_device_get_devtype.3.gz -%{_mandir}/man3/udev_device_get_driver.3.gz -%{_mandir}/man3/udev_device_get_is_initialized.3.gz -%{_mandir}/man3/udev_device_get_parent.3.gz -%{_mandir}/man3/udev_device_get_parent_with_subsystem_devtype.3.gz -%{_mandir}/man3/udev_device_get_properties_list_entry.3.gz -%{_mandir}/man3/udev_device_get_property_value.3.gz -%{_mandir}/man3/udev_device_get_subsystem.3.gz -%{_mandir}/man3/udev_device_get_sysattr_list_entry.3.gz -%{_mandir}/man3/udev_device_get_sysattr_value.3.gz -%{_mandir}/man3/udev_device_get_sysname.3.gz -%{_mandir}/man3/udev_device_get_sysnum.3.gz -%{_mandir}/man3/udev_device_get_syspath.3.gz -%{_mandir}/man3/udev_device_get_tags_list_entry.3.gz -%{_mandir}/man3/udev_device_get_udev.3.gz -%{_mandir}/man3/udev_device_has_current_tag.3.gz -%{_mandir}/man3/udev_device_has_tag.3.gz -%{_mandir}/man3/udev_device_new_from_device_id.3.gz -%{_mandir}/man3/udev_device_new_from_devnum.3.gz -%{_mandir}/man3/udev_device_new_from_environment.3.gz -%{_mandir}/man3/udev_device_new_from_subsystem_sysname.3.gz -%{_mandir}/man3/udev_device_new_from_syspath.3.gz -%{_mandir}/man3/udev_device_ref.3.gz -%{_mandir}/man3/udev_device_set_sysattr_value.3.gz -%{_mandir}/man3/udev_device_unref.3.gz -%{_mandir}/man3/udev_enumerate_add_match_is_initialized.3.gz -%{_mandir}/man3/udev_enumerate_add_match_parent.3.gz -%{_mandir}/man3/udev_enumerate_add_match_property.3.gz -%{_mandir}/man3/udev_enumerate_add_match_subsystem.3.gz -%{_mandir}/man3/udev_enumerate_add_match_sysattr.3.gz -%{_mandir}/man3/udev_enumerate_add_match_sysname.3.gz -%{_mandir}/man3/udev_enumerate_add_match_tag.3.gz -%{_mandir}/man3/udev_enumerate_add_nomatch_subsystem.3.gz -%{_mandir}/man3/udev_enumerate_add_nomatch_sysattr.3.gz -%{_mandir}/man3/udev_enumerate_add_syspath.3.gz -%{_mandir}/man3/udev_enumerate_get_list_entry.3.gz -%{_mandir}/man3/udev_enumerate_get_udev.3.gz -%{_mandir}/man3/udev_enumerate_new.3.gz -%{_mandir}/man3/udev_enumerate_ref.3.gz -%{_mandir}/man3/udev_enumerate_scan_devices.3.gz -%{_mandir}/man3/udev_enumerate_scan_subsystems.3.gz -%{_mandir}/man3/udev_enumerate_unref.3.gz -%{_mandir}/man3/udev_list_entry.3.gz -%{_mandir}/man3/udev_list_entry_get_by_name.3.gz -%{_mandir}/man3/udev_list_entry_get_name.3.gz -%{_mandir}/man3/udev_list_entry_get_next.3.gz -%{_mandir}/man3/udev_list_entry_get_value.3.gz -%{_mandir}/man3/udev_monitor_enable_receiving.3.gz -%{_mandir}/man3/udev_monitor_filter_add_match_subsystem_devtype.3.gz -%{_mandir}/man3/udev_monitor_filter_add_match_tag.3.gz -%{_mandir}/man3/udev_monitor_filter_remove.3.gz -%{_mandir}/man3/udev_monitor_filter_update.3.gz -%{_mandir}/man3/udev_monitor_get_fd.3.gz -%{_mandir}/man3/udev_monitor_get_udev.3.gz -%{_mandir}/man3/udev_monitor_new_from_netlink.3.gz -%{_mandir}/man3/udev_monitor_receive_device.3.gz -%{_mandir}/man3/udev_monitor_ref.3.gz -%{_mandir}/man3/udev_monitor_set_receive_buffer_size.3.gz -%{_mandir}/man3/udev_monitor_unref.3.gz -%{_mandir}/man3/udev_new.3.gz -%{_mandir}/man3/udev_ref.3.gz -%{_mandir}/man3/udev_unref.3.gz -%endif diff --git a/files.devel-doc b/files.devel-doc new file mode 100644 index 00000000..35b059a3 --- /dev/null +++ b/files.devel-doc @@ -0,0 +1,783 @@ +# +# Keep the list sorted (with `LC_ALL=C sort`). +# +%if %{without bootstrap} +%{_mandir}/man3/SD_ALERT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_AUTH_FAILED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_BAD_ADDRESS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_DISCONNECTED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_END.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FAILED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FILE_EXISTS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_FILE_NOT_FOUND.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_FILE_CONTENT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz +%{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MAKE_CONST.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MAP.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_INVALID.3.gz +%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NOT_SUPPORTED.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_MEMORY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_NETWORK.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz +%{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz +%{_mandir}/man3/SD_BUS_ERROR_OBJECT_PATH_IN_USE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz +%{_mandir}/man3/SD_BUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_TIMED_OUT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_METHOD.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_OBJECT.3.gz +%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_PROPERTY.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_CALL.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_ERROR.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_RETURN.3.gz +%{_mandir}/man3/SD_BUS_MESSAGE_SIGNAL.3.gz +%{_mandir}/man3/SD_BUS_METHOD.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES_OFFSET.3.gz +%{_mandir}/man3/SD_BUS_METHOD_WITH_OFFSET.3.gz +%{_mandir}/man3/SD_BUS_PARAM.3.gz +%{_mandir}/man3/SD_BUS_PROPERTY.3.gz +%{_mandir}/man3/SD_BUS_SIGNAL.3.gz +%{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_END.3.gz +%{_mandir}/man3/SD_BUS_VTABLE_START.3.gz +%{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz +%{_mandir}/man3/SD_CRIT.3.gz +%{_mandir}/man3/SD_DEBUG.3.gz +%{_mandir}/man3/SD_EMERG.3.gz +%{_mandir}/man3/SD_ERR.3.gz +%{_mandir}/man3/SD_EVENT_ARMED.3.gz +%{_mandir}/man3/SD_EVENT_EXITING.3.gz +%{_mandir}/man3/SD_EVENT_FINISHED.3.gz +%{_mandir}/man3/SD_EVENT_INITIAL.3.gz +%{_mandir}/man3/SD_EVENT_OFF.3.gz +%{_mandir}/man3/SD_EVENT_ON.3.gz +%{_mandir}/man3/SD_EVENT_ONESHOT.3.gz +%{_mandir}/man3/SD_EVENT_PENDING.3.gz +%{_mandir}/man3/SD_EVENT_PREPARING.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_IDLE.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz +%{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz +%{_mandir}/man3/SD_EVENT_RUNNING.3.gz +%{_mandir}/man3/SD_EVENT_SIGNAL_PROCMASK.3.gz +%{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz +%{_mandir}/man3/SD_ID128_ALLF.3.gz +%{_mandir}/man3/SD_ID128_CONST_STR.3.gz +%{_mandir}/man3/SD_ID128_FORMAT_STR.3.gz +%{_mandir}/man3/SD_ID128_FORMAT_VAL.3.gz +%{_mandir}/man3/SD_ID128_MAKE.3.gz +%{_mandir}/man3/SD_ID128_MAKE_STR.3.gz +%{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz +%{_mandir}/man3/SD_ID128_NULL.3.gz +%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz +%{_mandir}/man3/SD_ID128_TO_STRING.3.gz +%{_mandir}/man3/SD_ID128_TO_UUID_STRING.3.gz +%{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz +%{_mandir}/man3/SD_ID128_UUID_STRING_MAX.3.gz +%{_mandir}/man3/SD_INFO.3.gz +%{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz +%{_mandir}/man3/SD_JOURNAL_APPEND.3.gz +%{_mandir}/man3/SD_JOURNAL_CURRENT_USER.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_BACKWARDS.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_DATA.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_FIELD.3.gz +%{_mandir}/man3/SD_JOURNAL_FOREACH_UNIQUE.3.gz +%{_mandir}/man3/SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE.3.gz +%{_mandir}/man3/SD_JOURNAL_INVALIDATE.3.gz +%{_mandir}/man3/SD_JOURNAL_LOCAL_ONLY.3.gz +%{_mandir}/man3/SD_JOURNAL_NOP.3.gz +%{_mandir}/man3/SD_JOURNAL_OS_ROOT.3.gz +%{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz +%{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz +%{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz +%{_mandir}/man3/SD_JOURNAL_TAKE_DIRECTORY_FD.3.gz +%{_mandir}/man3/SD_LISTEN_FDS_START.3.gz +%{_mandir}/man3/SD_NOTICE.3.gz +%{_mandir}/man3/SD_WARNING.3.gz +%{_mandir}/man3/libsystemd.3.gz +%{_mandir}/man3/libudev.3.gz +%{_mandir}/man3/sd-bus-errors.3.gz +%{_mandir}/man3/sd-bus.3.gz +%{_mandir}/man3/sd-daemon.3.gz +%{_mandir}/man3/sd-device.3.gz +%{_mandir}/man3/sd-event.3.gz +%{_mandir}/man3/sd-hwdb.3.gz +%{_mandir}/man3/sd-id128.3.gz +%{_mandir}/man3/sd-journal.3.gz +%{_mandir}/man3/sd-login.3.gz +%{_mandir}/man3/sd_booted.3.gz +%{_mandir}/man3/sd_bus_add_fallback.3.gz +%{_mandir}/man3/sd_bus_add_fallback_vtable.3.gz +%{_mandir}/man3/sd_bus_add_filter.3.gz +%{_mandir}/man3/sd_bus_add_match.3.gz +%{_mandir}/man3/sd_bus_add_match_async.3.gz +%{_mandir}/man3/sd_bus_add_node_enumerator.3.gz +%{_mandir}/man3/sd_bus_add_object.3.gz +%{_mandir}/man3/sd_bus_add_object_manager.3.gz +%{_mandir}/man3/sd_bus_add_object_vtable.3.gz +%{_mandir}/man3/sd_bus_attach_event.3.gz +%{_mandir}/man3/sd_bus_call.3.gz +%{_mandir}/man3/sd_bus_call_async.3.gz +%{_mandir}/man3/sd_bus_call_method.3.gz +%{_mandir}/man3/sd_bus_call_method_async.3.gz +%{_mandir}/man3/sd_bus_call_method_asyncv.3.gz +%{_mandir}/man3/sd_bus_call_methodv.3.gz +%{_mandir}/man3/sd_bus_can_send.3.gz +%{_mandir}/man3/sd_bus_close.3.gz +%{_mandir}/man3/sd_bus_close_unref.3.gz +%{_mandir}/man3/sd_bus_close_unrefp.3.gz +%{_mandir}/man3/sd_bus_creds_get_audit_login_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_audit_session_id.3.gz +%{_mandir}/man3/sd_bus_creds_get_augmented_mask.3.gz +%{_mandir}/man3/sd_bus_creds_get_cgroup.3.gz +%{_mandir}/man3/sd_bus_creds_get_cmdline.3.gz +%{_mandir}/man3/sd_bus_creds_get_comm.3.gz +%{_mandir}/man3/sd_bus_creds_get_description.3.gz +%{_mandir}/man3/sd_bus_creds_get_egid.3.gz +%{_mandir}/man3/sd_bus_creds_get_euid.3.gz +%{_mandir}/man3/sd_bus_creds_get_exe.3.gz +%{_mandir}/man3/sd_bus_creds_get_fsgid.3.gz +%{_mandir}/man3/sd_bus_creds_get_fsuid.3.gz +%{_mandir}/man3/sd_bus_creds_get_gid.3.gz +%{_mandir}/man3/sd_bus_creds_get_mask.3.gz +%{_mandir}/man3/sd_bus_creds_get_owner_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_pid.3.gz +%{_mandir}/man3/sd_bus_creds_get_ppid.3.gz +%{_mandir}/man3/sd_bus_creds_get_selinux_context.3.gz +%{_mandir}/man3/sd_bus_creds_get_session.3.gz +%{_mandir}/man3/sd_bus_creds_get_sgid.3.gz +%{_mandir}/man3/sd_bus_creds_get_slice.3.gz +%{_mandir}/man3/sd_bus_creds_get_suid.3.gz +%{_mandir}/man3/sd_bus_creds_get_supplementary_gids.3.gz +%{_mandir}/man3/sd_bus_creds_get_tid.3.gz +%{_mandir}/man3/sd_bus_creds_get_tid_comm.3.gz +%{_mandir}/man3/sd_bus_creds_get_tty.3.gz +%{_mandir}/man3/sd_bus_creds_get_uid.3.gz +%{_mandir}/man3/sd_bus_creds_get_unique_name.3.gz +%{_mandir}/man3/sd_bus_creds_get_unit.3.gz +%{_mandir}/man3/sd_bus_creds_get_user_slice.3.gz +%{_mandir}/man3/sd_bus_creds_get_user_unit.3.gz +%{_mandir}/man3/sd_bus_creds_get_well_known_names.3.gz +%{_mandir}/man3/sd_bus_creds_has_bounding_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_effective_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_inheritable_cap.3.gz +%{_mandir}/man3/sd_bus_creds_has_permitted_cap.3.gz +%{_mandir}/man3/sd_bus_creds_new_from_pid.3.gz +%{_mandir}/man3/sd_bus_creds_ref.3.gz +%{_mandir}/man3/sd_bus_creds_unref.3.gz +%{_mandir}/man3/sd_bus_creds_unrefp.3.gz +%{_mandir}/man3/sd_bus_default.3.gz +%{_mandir}/man3/sd_bus_default_flush_close.3.gz +%{_mandir}/man3/sd_bus_default_system.3.gz +%{_mandir}/man3/sd_bus_default_user.3.gz +%{_mandir}/man3/sd_bus_destroy_t.3.gz +%{_mandir}/man3/sd_bus_detach_event.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_added.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_added_strv.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_removed.3.gz +%{_mandir}/man3/sd_bus_emit_interfaces_removed_strv.3.gz +%{_mandir}/man3/sd_bus_emit_object_added.3.gz +%{_mandir}/man3/sd_bus_emit_object_removed.3.gz +%{_mandir}/man3/sd_bus_emit_properties_changed.3.gz +%{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz +%{_mandir}/man3/sd_bus_emit_signal.3.gz +%{_mandir}/man3/sd_bus_emit_signal_to.3.gz +%{_mandir}/man3/sd_bus_emit_signal_tov.3.gz +%{_mandir}/man3/sd_bus_emit_signalv.3.gz +%{_mandir}/man3/sd_bus_enqueue_for_read.3.gz +%{_mandir}/man3/sd_bus_error.3.gz +%{_mandir}/man3/sd_bus_error_add_map.3.gz +%{_mandir}/man3/sd_bus_error_copy.3.gz +%{_mandir}/man3/sd_bus_error_free.3.gz +%{_mandir}/man3/sd_bus_error_get_errno.3.gz +%{_mandir}/man3/sd_bus_error_has_name.3.gz +%{_mandir}/man3/sd_bus_error_has_names.3.gz +%{_mandir}/man3/sd_bus_error_has_names_sentinel.3.gz +%{_mandir}/man3/sd_bus_error_is_set.3.gz +%{_mandir}/man3/sd_bus_error_map.3.gz +%{_mandir}/man3/sd_bus_error_move.3.gz +%{_mandir}/man3/sd_bus_error_set.3.gz +%{_mandir}/man3/sd_bus_error_set_const.3.gz +%{_mandir}/man3/sd_bus_error_set_errno.3.gz +%{_mandir}/man3/sd_bus_error_set_errnof.3.gz +%{_mandir}/man3/sd_bus_error_set_errnofv.3.gz +%{_mandir}/man3/sd_bus_error_setf.3.gz +%{_mandir}/man3/sd_bus_error_setfv.3.gz +%{_mandir}/man3/sd_bus_flush.3.gz +%{_mandir}/man3/sd_bus_flush_close_unref.3.gz +%{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz +%{_mandir}/man3/sd_bus_get_address.3.gz +%{_mandir}/man3/sd_bus_get_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_get_bus_id.3.gz +%{_mandir}/man3/sd_bus_get_close_on_exit.3.gz +%{_mandir}/man3/sd_bus_get_connected_signal.3.gz +%{_mandir}/man3/sd_bus_get_creds_mask.3.gz +%{_mandir}/man3/sd_bus_get_current_handler.3.gz +%{_mandir}/man3/sd_bus_get_current_message.3.gz +%{_mandir}/man3/sd_bus_get_current_slot.3.gz +%{_mandir}/man3/sd_bus_get_current_userdata.3.gz +%{_mandir}/man3/sd_bus_get_description.3.gz +%{_mandir}/man3/sd_bus_get_event.3.gz +%{_mandir}/man3/sd_bus_get_events.3.gz +%{_mandir}/man3/sd_bus_get_exit_on_disconnect.3.gz +%{_mandir}/man3/sd_bus_get_fd.3.gz +%{_mandir}/man3/sd_bus_get_method_call_timeout.3.gz +%{_mandir}/man3/sd_bus_get_n_queued_read.3.gz +%{_mandir}/man3/sd_bus_get_n_queued_write.3.gz +%{_mandir}/man3/sd_bus_get_name_creds.3.gz +%{_mandir}/man3/sd_bus_get_name_machine_id.3.gz +%{_mandir}/man3/sd_bus_get_owner_creds.3.gz +%{_mandir}/man3/sd_bus_get_property.3.gz +%{_mandir}/man3/sd_bus_get_property_string.3.gz +%{_mandir}/man3/sd_bus_get_property_strv.3.gz +%{_mandir}/man3/sd_bus_get_property_trivial.3.gz +%{_mandir}/man3/sd_bus_get_scope.3.gz +%{_mandir}/man3/sd_bus_get_sender.3.gz +%{_mandir}/man3/sd_bus_get_tid.3.gz +%{_mandir}/man3/sd_bus_get_timeout.3.gz +%{_mandir}/man3/sd_bus_get_unique_name.3.gz +%{_mandir}/man3/sd_bus_get_watch_bind.3.gz +%{_mandir}/man3/sd_bus_interface_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_is_anonymous.3.gz +%{_mandir}/man3/sd_bus_is_bus_client.3.gz +%{_mandir}/man3/sd_bus_is_monitor.3.gz +%{_mandir}/man3/sd_bus_is_open.3.gz +%{_mandir}/man3/sd_bus_is_ready.3.gz +%{_mandir}/man3/sd_bus_is_server.3.gz +%{_mandir}/man3/sd_bus_is_trusted.3.gz +%{_mandir}/man3/sd_bus_list_names.3.gz +%{_mandir}/man3/sd_bus_match_signal.3.gz +%{_mandir}/man3/sd_bus_match_signal_async.3.gz +%{_mandir}/man3/sd_bus_member_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_message_append.3.gz +%{_mandir}/man3/sd_bus_message_append_array.3.gz +%{_mandir}/man3/sd_bus_message_append_array_iovec.3.gz +%{_mandir}/man3/sd_bus_message_append_array_memfd.3.gz +%{_mandir}/man3/sd_bus_message_append_array_space.3.gz +%{_mandir}/man3/sd_bus_message_append_basic.3.gz +%{_mandir}/man3/sd_bus_message_append_string_iovec.3.gz +%{_mandir}/man3/sd_bus_message_append_string_memfd.3.gz +%{_mandir}/man3/sd_bus_message_append_string_space.3.gz +%{_mandir}/man3/sd_bus_message_append_strv.3.gz +%{_mandir}/man3/sd_bus_message_appendv.3.gz +%{_mandir}/man3/sd_bus_message_at_end.3.gz +%{_mandir}/man3/sd_bus_message_close_container.3.gz +%{_mandir}/man3/sd_bus_message_copy.3.gz +%{_mandir}/man3/sd_bus_message_dump.3.gz +%{_mandir}/man3/sd_bus_message_enter_container.3.gz +%{_mandir}/man3/sd_bus_message_exit_container.3.gz +%{_mandir}/man3/sd_bus_message_get_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_message_get_auto_start.3.gz +%{_mandir}/man3/sd_bus_message_get_bus.3.gz +%{_mandir}/man3/sd_bus_message_get_cookie.3.gz +%{_mandir}/man3/sd_bus_message_get_creds.3.gz +%{_mandir}/man3/sd_bus_message_get_destination.3.gz +%{_mandir}/man3/sd_bus_message_get_errno.3.gz +%{_mandir}/man3/sd_bus_message_get_error.3.gz +%{_mandir}/man3/sd_bus_message_get_expect_reply.3.gz +%{_mandir}/man3/sd_bus_message_get_interface.3.gz +%{_mandir}/man3/sd_bus_message_get_member.3.gz +%{_mandir}/man3/sd_bus_message_get_monotonic_usec.3.gz +%{_mandir}/man3/sd_bus_message_get_path.3.gz +%{_mandir}/man3/sd_bus_message_get_realtime_usec.3.gz +%{_mandir}/man3/sd_bus_message_get_reply_cookie.3.gz +%{_mandir}/man3/sd_bus_message_get_sender.3.gz +%{_mandir}/man3/sd_bus_message_get_seqnum.3.gz +%{_mandir}/man3/sd_bus_message_get_signature.3.gz +%{_mandir}/man3/sd_bus_message_get_type.3.gz +%{_mandir}/man3/sd_bus_message_has_signature.3.gz +%{_mandir}/man3/sd_bus_message_is_empty.3.gz +%{_mandir}/man3/sd_bus_message_is_method_call.3.gz +%{_mandir}/man3/sd_bus_message_is_method_error.3.gz +%{_mandir}/man3/sd_bus_message_is_signal.3.gz +%{_mandir}/man3/sd_bus_message_new.3.gz +%{_mandir}/man3/sd_bus_message_new_method_call.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errno.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errnof.3.gz +%{_mandir}/man3/sd_bus_message_new_method_error.3.gz +%{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz +%{_mandir}/man3/sd_bus_message_new_method_return.3.gz +%{_mandir}/man3/sd_bus_message_new_signal.3.gz +%{_mandir}/man3/sd_bus_message_new_signal_to.3.gz +%{_mandir}/man3/sd_bus_message_open_container.3.gz +%{_mandir}/man3/sd_bus_message_peek_type.3.gz +%{_mandir}/man3/sd_bus_message_read.3.gz +%{_mandir}/man3/sd_bus_message_read_array.3.gz +%{_mandir}/man3/sd_bus_message_read_basic.3.gz +%{_mandir}/man3/sd_bus_message_read_strv.3.gz +%{_mandir}/man3/sd_bus_message_read_strv_extend.3.gz +%{_mandir}/man3/sd_bus_message_readv.3.gz +%{_mandir}/man3/sd_bus_message_ref.3.gz +%{_mandir}/man3/sd_bus_message_rewind.3.gz +%{_mandir}/man3/sd_bus_message_seal.3.gz +%{_mandir}/man3/sd_bus_message_send.3.gz +%{_mandir}/man3/sd_bus_message_sensitive.3.gz +%{_mandir}/man3/sd_bus_message_set_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_message_set_auto_start.3.gz +%{_mandir}/man3/sd_bus_message_set_destination.3.gz +%{_mandir}/man3/sd_bus_message_set_expect_reply.3.gz +%{_mandir}/man3/sd_bus_message_set_sender.3.gz +%{_mandir}/man3/sd_bus_message_skip.3.gz +%{_mandir}/man3/sd_bus_message_unref.3.gz +%{_mandir}/man3/sd_bus_message_unrefp.3.gz +%{_mandir}/man3/sd_bus_message_verify_type.3.gz +%{_mandir}/man3/sd_bus_negotiate_creds.3.gz +%{_mandir}/man3/sd_bus_negotiate_fds.3.gz +%{_mandir}/man3/sd_bus_negotiate_timestamp.3.gz +%{_mandir}/man3/sd_bus_new.3.gz +%{_mandir}/man3/sd_bus_object_path_is_valid.3.gz +%{_mandir}/man3/sd_bus_open.3.gz +%{_mandir}/man3/sd_bus_open_system.3.gz +%{_mandir}/man3/sd_bus_open_system_machine.3.gz +%{_mandir}/man3/sd_bus_open_system_remote.3.gz +%{_mandir}/man3/sd_bus_open_system_with_description.3.gz +%{_mandir}/man3/sd_bus_open_user.3.gz +%{_mandir}/man3/sd_bus_open_user_machine.3.gz +%{_mandir}/man3/sd_bus_open_user_with_description.3.gz +%{_mandir}/man3/sd_bus_open_with_description.3.gz +%{_mandir}/man3/sd_bus_path_decode.3.gz +%{_mandir}/man3/sd_bus_path_decode_many.3.gz +%{_mandir}/man3/sd_bus_path_encode.3.gz +%{_mandir}/man3/sd_bus_path_encode_many.3.gz +%{_mandir}/man3/sd_bus_process.3.gz +%{_mandir}/man3/sd_bus_query_sender_creds.3.gz +%{_mandir}/man3/sd_bus_query_sender_privilege.3.gz +%{_mandir}/man3/sd_bus_ref.3.gz +%{_mandir}/man3/sd_bus_release_name.3.gz +%{_mandir}/man3/sd_bus_release_name_async.3.gz +%{_mandir}/man3/sd_bus_reply_method_errno.3.gz +%{_mandir}/man3/sd_bus_reply_method_errnof.3.gz +%{_mandir}/man3/sd_bus_reply_method_errnofv.3.gz +%{_mandir}/man3/sd_bus_reply_method_error.3.gz +%{_mandir}/man3/sd_bus_reply_method_errorf.3.gz +%{_mandir}/man3/sd_bus_reply_method_errorfv.3.gz +%{_mandir}/man3/sd_bus_reply_method_return.3.gz +%{_mandir}/man3/sd_bus_reply_method_returnv.3.gz +%{_mandir}/man3/sd_bus_request_name.3.gz +%{_mandir}/man3/sd_bus_request_name_async.3.gz +%{_mandir}/man3/sd_bus_send.3.gz +%{_mandir}/man3/sd_bus_send_to.3.gz +%{_mandir}/man3/sd_bus_service_name_is_valid.3.gz +%{_mandir}/man3/sd_bus_set_address.3.gz +%{_mandir}/man3/sd_bus_set_allow_interactive_authorization.3.gz +%{_mandir}/man3/sd_bus_set_anonymous.3.gz +%{_mandir}/man3/sd_bus_set_bus_client.3.gz +%{_mandir}/man3/sd_bus_set_close_on_exit.3.gz +%{_mandir}/man3/sd_bus_set_connected_signal.3.gz +%{_mandir}/man3/sd_bus_set_description.3.gz +%{_mandir}/man3/sd_bus_set_exec.3.gz +%{_mandir}/man3/sd_bus_set_exit_on_disconnect.3.gz +%{_mandir}/man3/sd_bus_set_fd.3.gz +%{_mandir}/man3/sd_bus_set_method_call_timeout.3.gz +%{_mandir}/man3/sd_bus_set_monitor.3.gz +%{_mandir}/man3/sd_bus_set_property.3.gz +%{_mandir}/man3/sd_bus_set_propertyv.3.gz +%{_mandir}/man3/sd_bus_set_sender.3.gz +%{_mandir}/man3/sd_bus_set_server.3.gz +%{_mandir}/man3/sd_bus_set_trusted.3.gz +%{_mandir}/man3/sd_bus_set_watch_bind.3.gz +%{_mandir}/man3/sd_bus_slot_get_bus.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_handler.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_message.3.gz +%{_mandir}/man3/sd_bus_slot_get_current_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_get_description.3.gz +%{_mandir}/man3/sd_bus_slot_get_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_slot_get_floating.3.gz +%{_mandir}/man3/sd_bus_slot_get_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_ref.3.gz +%{_mandir}/man3/sd_bus_slot_set_description.3.gz +%{_mandir}/man3/sd_bus_slot_set_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_slot_set_floating.3.gz +%{_mandir}/man3/sd_bus_slot_set_userdata.3.gz +%{_mandir}/man3/sd_bus_slot_unref.3.gz +%{_mandir}/man3/sd_bus_slot_unrefp.3.gz +%{_mandir}/man3/sd_bus_start.3.gz +%{_mandir}/man3/sd_bus_track_add_name.3.gz +%{_mandir}/man3/sd_bus_track_add_sender.3.gz +%{_mandir}/man3/sd_bus_track_contains.3.gz +%{_mandir}/man3/sd_bus_track_count.3.gz +%{_mandir}/man3/sd_bus_track_count_name.3.gz +%{_mandir}/man3/sd_bus_track_count_sender.3.gz +%{_mandir}/man3/sd_bus_track_first.3.gz +%{_mandir}/man3/sd_bus_track_get_bus.3.gz +%{_mandir}/man3/sd_bus_track_get_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_track_get_recursive.3.gz +%{_mandir}/man3/sd_bus_track_get_userdata.3.gz +%{_mandir}/man3/sd_bus_track_new.3.gz +%{_mandir}/man3/sd_bus_track_next.3.gz +%{_mandir}/man3/sd_bus_track_ref.3.gz +%{_mandir}/man3/sd_bus_track_remove_name.3.gz +%{_mandir}/man3/sd_bus_track_remove_sender.3.gz +%{_mandir}/man3/sd_bus_track_set_destroy_callback.3.gz +%{_mandir}/man3/sd_bus_track_set_recursive.3.gz +%{_mandir}/man3/sd_bus_track_set_userdata.3.gz +%{_mandir}/man3/sd_bus_track_unref.3.gz +%{_mandir}/man3/sd_bus_track_unrefp.3.gz +%{_mandir}/man3/sd_bus_unref.3.gz +%{_mandir}/man3/sd_bus_unrefp.3.gz +%{_mandir}/man3/sd_bus_wait.3.gz +%{_mandir}/man3/sd_device_get_devname.3.gz +%{_mandir}/man3/sd_device_get_devnum.3.gz +%{_mandir}/man3/sd_device_get_devpath.3.gz +%{_mandir}/man3/sd_device_get_devtype.3.gz +%{_mandir}/man3/sd_device_get_diskseq.3.gz +%{_mandir}/man3/sd_device_get_driver.3.gz +%{_mandir}/man3/sd_device_get_ifindex.3.gz +%{_mandir}/man3/sd_device_get_subsystem.3.gz +%{_mandir}/man3/sd_device_get_sysname.3.gz +%{_mandir}/man3/sd_device_get_sysnum.3.gz +%{_mandir}/man3/sd_device_get_syspath.3.gz +%{_mandir}/man3/sd_device_ref.3.gz +%{_mandir}/man3/sd_device_unref.3.gz +%{_mandir}/man3/sd_device_unrefp.3.gz +%{_mandir}/man3/sd_event.3.gz +%{_mandir}/man3/sd_event_add_child.3.gz +%{_mandir}/man3/sd_event_add_child_pidfd.3.gz +%{_mandir}/man3/sd_event_add_defer.3.gz +%{_mandir}/man3/sd_event_add_exit.3.gz +%{_mandir}/man3/sd_event_add_inotify.3.gz +%{_mandir}/man3/sd_event_add_inotify_fd.3.gz +%{_mandir}/man3/sd_event_add_io.3.gz +%{_mandir}/man3/sd_event_add_memory_pressure.3.gz +%{_mandir}/man3/sd_event_add_post.3.gz +%{_mandir}/man3/sd_event_add_signal.3.gz +%{_mandir}/man3/sd_event_add_time.3.gz +%{_mandir}/man3/sd_event_add_time_relative.3.gz +%{_mandir}/man3/sd_event_child_handler_t.3.gz +%{_mandir}/man3/sd_event_default.3.gz +%{_mandir}/man3/sd_event_destroy_t.3.gz +%{_mandir}/man3/sd_event_dispatch.3.gz +%{_mandir}/man3/sd_event_exit.3.gz +%{_mandir}/man3/sd_event_get_exit_code.3.gz +%{_mandir}/man3/sd_event_get_fd.3.gz +%{_mandir}/man3/sd_event_get_iteration.3.gz +%{_mandir}/man3/sd_event_get_state.3.gz +%{_mandir}/man3/sd_event_get_tid.3.gz +%{_mandir}/man3/sd_event_get_watchdog.3.gz +%{_mandir}/man3/sd_event_handler_t.3.gz +%{_mandir}/man3/sd_event_inotify_handler_t.3.gz +%{_mandir}/man3/sd_event_io_handler_t.3.gz +%{_mandir}/man3/sd_event_loop.3.gz +%{_mandir}/man3/sd_event_new.3.gz +%{_mandir}/man3/sd_event_now.3.gz +%{_mandir}/man3/sd_event_prepare.3.gz +%{_mandir}/man3/sd_event_ref.3.gz +%{_mandir}/man3/sd_event_run.3.gz +%{_mandir}/man3/sd_event_set_signal_exit.3.gz +%{_mandir}/man3/sd_event_set_watchdog.3.gz +%{_mandir}/man3/sd_event_signal_handler_t.3.gz +%{_mandir}/man3/sd_event_source.3.gz +%{_mandir}/man3/sd_event_source_disable_unref.3.gz +%{_mandir}/man3/sd_event_source_disable_unrefp.3.gz +%{_mandir}/man3/sd_event_source_get_child_pid.3.gz +%{_mandir}/man3/sd_event_source_get_child_pidfd.3.gz +%{_mandir}/man3/sd_event_source_get_child_pidfd_own.3.gz +%{_mandir}/man3/sd_event_source_get_child_process_own.3.gz +%{_mandir}/man3/sd_event_source_get_description.3.gz +%{_mandir}/man3/sd_event_source_get_destroy_callback.3.gz +%{_mandir}/man3/sd_event_source_get_enabled.3.gz +%{_mandir}/man3/sd_event_source_get_event.3.gz +%{_mandir}/man3/sd_event_source_get_exit_on_failure.3.gz +%{_mandir}/man3/sd_event_source_get_floating.3.gz +%{_mandir}/man3/sd_event_source_get_inotify_mask.3.gz +%{_mandir}/man3/sd_event_source_get_io_events.3.gz +%{_mandir}/man3/sd_event_source_get_io_fd.3.gz +%{_mandir}/man3/sd_event_source_get_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_get_io_revents.3.gz +%{_mandir}/man3/sd_event_source_get_pending.3.gz +%{_mandir}/man3/sd_event_source_get_priority.3.gz +%{_mandir}/man3/sd_event_source_get_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_get_signal.3.gz +%{_mandir}/man3/sd_event_source_get_time.3.gz +%{_mandir}/man3/sd_event_source_get_time_accuracy.3.gz +%{_mandir}/man3/sd_event_source_get_time_clock.3.gz +%{_mandir}/man3/sd_event_source_get_userdata.3.gz +%{_mandir}/man3/sd_event_source_is_ratelimited.3.gz +%{_mandir}/man3/sd_event_source_leave_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_ref.3.gz +%{_mandir}/man3/sd_event_source_send_child_signal.3.gz +%{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz +%{_mandir}/man3/sd_event_source_set_child_process_own.3.gz +%{_mandir}/man3/sd_event_source_set_description.3.gz +%{_mandir}/man3/sd_event_source_set_destroy_callback.3.gz +%{_mandir}/man3/sd_event_source_set_enabled.3.gz +%{_mandir}/man3/sd_event_source_set_exit_on_failure.3.gz +%{_mandir}/man3/sd_event_source_set_floating.3.gz +%{_mandir}/man3/sd_event_source_set_io_events.3.gz +%{_mandir}/man3/sd_event_source_set_io_fd.3.gz +%{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz +%{_mandir}/man3/sd_event_source_set_memory_pressure_period.3.gz +%{_mandir}/man3/sd_event_source_set_memory_pressure_type.3.gz +%{_mandir}/man3/sd_event_source_set_prepare.3.gz +%{_mandir}/man3/sd_event_source_set_priority.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit.3.gz +%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz +%{_mandir}/man3/sd_event_source_set_time.3.gz +%{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz +%{_mandir}/man3/sd_event_source_set_time_relative.3.gz +%{_mandir}/man3/sd_event_source_set_userdata.3.gz +%{_mandir}/man3/sd_event_source_unref.3.gz +%{_mandir}/man3/sd_event_source_unrefp.3.gz +%{_mandir}/man3/sd_event_time_handler_t.3.gz +%{_mandir}/man3/sd_event_trim_memory.3.gz +%{_mandir}/man3/sd_event_unref.3.gz +%{_mandir}/man3/sd_event_unrefp.3.gz +%{_mandir}/man3/sd_event_wait.3.gz +%{_mandir}/man3/sd_get_machine_names.3.gz +%{_mandir}/man3/sd_get_seats.3.gz +%{_mandir}/man3/sd_get_sessions.3.gz +%{_mandir}/man3/sd_get_uids.3.gz +%{_mandir}/man3/sd_hwdb_enumerate.3.gz +%{_mandir}/man3/sd_hwdb_get.3.gz +%{_mandir}/man3/sd_hwdb_new.3.gz +%{_mandir}/man3/sd_hwdb_new_from_path.3.gz +%{_mandir}/man3/sd_hwdb_ref.3.gz +%{_mandir}/man3/sd_hwdb_seek.3.gz +%{_mandir}/man3/sd_hwdb_unref.3.gz +%{_mandir}/man3/sd_id128_equal.3.gz +%{_mandir}/man3/sd_id128_from_string.3.gz +%{_mandir}/man3/sd_id128_get_app_specific.3.gz +%{_mandir}/man3/sd_id128_get_boot.3.gz +%{_mandir}/man3/sd_id128_get_boot_app_specific.3.gz +%{_mandir}/man3/sd_id128_get_invocation.3.gz +%{_mandir}/man3/sd_id128_get_machine.3.gz +%{_mandir}/man3/sd_id128_get_machine_app_specific.3.gz +%{_mandir}/man3/sd_id128_in_set.3.gz +%{_mandir}/man3/sd_id128_in_set_sentinel.3.gz +%{_mandir}/man3/sd_id128_in_setv.3.gz +%{_mandir}/man3/sd_id128_is_allf.3.gz +%{_mandir}/man3/sd_id128_is_null.3.gz +%{_mandir}/man3/sd_id128_randomize.3.gz +%{_mandir}/man3/sd_id128_string_equal.3.gz +%{_mandir}/man3/sd_id128_t.3.gz +%{_mandir}/man3/sd_id128_to_string.3.gz +%{_mandir}/man3/sd_id128_to_uuid_string.3.gz +%{_mandir}/man3/sd_is_fifo.3.gz +%{_mandir}/man3/sd_is_mq.3.gz +%{_mandir}/man3/sd_is_socket.3.gz +%{_mandir}/man3/sd_is_socket_inet.3.gz +%{_mandir}/man3/sd_is_socket_sockaddr.3.gz +%{_mandir}/man3/sd_is_socket_unix.3.gz +%{_mandir}/man3/sd_is_special.3.gz +%{_mandir}/man3/sd_journal.3.gz +%{_mandir}/man3/sd_journal_add_conjunction.3.gz +%{_mandir}/man3/sd_journal_add_disjunction.3.gz +%{_mandir}/man3/sd_journal_add_match.3.gz +%{_mandir}/man3/sd_journal_close.3.gz +%{_mandir}/man3/sd_journal_enumerate_available_data.3.gz +%{_mandir}/man3/sd_journal_enumerate_available_unique.3.gz +%{_mandir}/man3/sd_journal_enumerate_data.3.gz +%{_mandir}/man3/sd_journal_enumerate_fields.3.gz +%{_mandir}/man3/sd_journal_enumerate_unique.3.gz +%{_mandir}/man3/sd_journal_flush_matches.3.gz +%{_mandir}/man3/sd_journal_get_catalog.3.gz +%{_mandir}/man3/sd_journal_get_catalog_for_message_id.3.gz +%{_mandir}/man3/sd_journal_get_cursor.3.gz +%{_mandir}/man3/sd_journal_get_cutoff_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_get_cutoff_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_data.3.gz +%{_mandir}/man3/sd_journal_get_data_threshold.3.gz +%{_mandir}/man3/sd_journal_get_events.3.gz +%{_mandir}/man3/sd_journal_get_fd.3.gz +%{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_get_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_get_seqnum.3.gz +%{_mandir}/man3/sd_journal_get_timeout.3.gz +%{_mandir}/man3/sd_journal_get_usage.3.gz +%{_mandir}/man3/sd_journal_has_persistent_files.3.gz +%{_mandir}/man3/sd_journal_has_runtime_files.3.gz +%{_mandir}/man3/sd_journal_next.3.gz +%{_mandir}/man3/sd_journal_next_skip.3.gz +%{_mandir}/man3/sd_journal_open.3.gz +%{_mandir}/man3/sd_journal_open_directory.3.gz +%{_mandir}/man3/sd_journal_open_directory_fd.3.gz +%{_mandir}/man3/sd_journal_open_files.3.gz +%{_mandir}/man3/sd_journal_open_files_fd.3.gz +%{_mandir}/man3/sd_journal_open_namespace.3.gz +%{_mandir}/man3/sd_journal_perror.3.gz +%{_mandir}/man3/sd_journal_perror_with_location.3.gz +%{_mandir}/man3/sd_journal_previous.3.gz +%{_mandir}/man3/sd_journal_previous_skip.3.gz +%{_mandir}/man3/sd_journal_print.3.gz +%{_mandir}/man3/sd_journal_print_with_location.3.gz +%{_mandir}/man3/sd_journal_printv.3.gz +%{_mandir}/man3/sd_journal_printv_with_location.3.gz +%{_mandir}/man3/sd_journal_process.3.gz +%{_mandir}/man3/sd_journal_query_unique.3.gz +%{_mandir}/man3/sd_journal_reliable_fd.3.gz +%{_mandir}/man3/sd_journal_restart_data.3.gz +%{_mandir}/man3/sd_journal_restart_fields.3.gz +%{_mandir}/man3/sd_journal_restart_unique.3.gz +%{_mandir}/man3/sd_journal_seek_cursor.3.gz +%{_mandir}/man3/sd_journal_seek_head.3.gz +%{_mandir}/man3/sd_journal_seek_monotonic_usec.3.gz +%{_mandir}/man3/sd_journal_seek_realtime_usec.3.gz +%{_mandir}/man3/sd_journal_seek_tail.3.gz +%{_mandir}/man3/sd_journal_send.3.gz +%{_mandir}/man3/sd_journal_send_with_location.3.gz +%{_mandir}/man3/sd_journal_sendv.3.gz +%{_mandir}/man3/sd_journal_sendv_with_location.3.gz +%{_mandir}/man3/sd_journal_set_data_threshold.3.gz +%{_mandir}/man3/sd_journal_step_one.3.gz +%{_mandir}/man3/sd_journal_stream_fd.3.gz +%{_mandir}/man3/sd_journal_test_cursor.3.gz +%{_mandir}/man3/sd_journal_wait.3.gz +%{_mandir}/man3/sd_listen_fds.3.gz +%{_mandir}/man3/sd_listen_fds_with_names.3.gz +%{_mandir}/man3/sd_login_monitor.3.gz +%{_mandir}/man3/sd_login_monitor_flush.3.gz +%{_mandir}/man3/sd_login_monitor_get_events.3.gz +%{_mandir}/man3/sd_login_monitor_get_fd.3.gz +%{_mandir}/man3/sd_login_monitor_get_timeout.3.gz +%{_mandir}/man3/sd_login_monitor_new.3.gz +%{_mandir}/man3/sd_login_monitor_unref.3.gz +%{_mandir}/man3/sd_login_monitor_unrefp.3.gz +%{_mandir}/man3/sd_machine_get_class.3.gz +%{_mandir}/man3/sd_machine_get_ifindices.3.gz +%{_mandir}/man3/sd_notify.3.gz +%{_mandir}/man3/sd_notify_barrier.3.gz +%{_mandir}/man3/sd_notifyf.3.gz +%{_mandir}/man3/sd_path_lookup.3.gz +%{_mandir}/man3/sd_path_lookup_strv.3.gz +%{_mandir}/man3/sd_peer_get_cgroup.3.gz +%{_mandir}/man3/sd_peer_get_machine_name.3.gz +%{_mandir}/man3/sd_peer_get_owner_uid.3.gz +%{_mandir}/man3/sd_peer_get_session.3.gz +%{_mandir}/man3/sd_peer_get_slice.3.gz +%{_mandir}/man3/sd_peer_get_unit.3.gz +%{_mandir}/man3/sd_peer_get_user_slice.3.gz +%{_mandir}/man3/sd_peer_get_user_unit.3.gz +%{_mandir}/man3/sd_pid_get_cgroup.3.gz +%{_mandir}/man3/sd_pid_get_machine_name.3.gz +%{_mandir}/man3/sd_pid_get_owner_uid.3.gz +%{_mandir}/man3/sd_pid_get_session.3.gz +%{_mandir}/man3/sd_pid_get_slice.3.gz +%{_mandir}/man3/sd_pid_get_unit.3.gz +%{_mandir}/man3/sd_pid_get_user_slice.3.gz +%{_mandir}/man3/sd_pid_get_user_unit.3.gz +%{_mandir}/man3/sd_pid_notify.3.gz +%{_mandir}/man3/sd_pid_notify_barrier.3.gz +%{_mandir}/man3/sd_pid_notify_with_fds.3.gz +%{_mandir}/man3/sd_pid_notifyf.3.gz +%{_mandir}/man3/sd_pid_notifyf_with_fds.3.gz +%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz +%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz +%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz +%{_mandir}/man3/sd_pidfd_get_session.3.gz +%{_mandir}/man3/sd_pidfd_get_slice.3.gz +%{_mandir}/man3/sd_pidfd_get_unit.3.gz +%{_mandir}/man3/sd_pidfd_get_user_slice.3.gz +%{_mandir}/man3/sd_pidfd_get_user_unit.3.gz +%{_mandir}/man3/sd_seat_can_graphical.3.gz +%{_mandir}/man3/sd_seat_can_tty.3.gz +%{_mandir}/man3/sd_seat_get_active.3.gz +%{_mandir}/man3/sd_seat_get_sessions.3.gz +%{_mandir}/man3/sd_session_get_class.3.gz +%{_mandir}/man3/sd_session_get_desktop.3.gz +%{_mandir}/man3/sd_session_get_display.3.gz +%{_mandir}/man3/sd_session_get_leader.3.gz +%{_mandir}/man3/sd_session_get_remote_host.3.gz +%{_mandir}/man3/sd_session_get_remote_user.3.gz +%{_mandir}/man3/sd_session_get_seat.3.gz +%{_mandir}/man3/sd_session_get_service.3.gz +%{_mandir}/man3/sd_session_get_start_time.3.gz +%{_mandir}/man3/sd_session_get_state.3.gz +%{_mandir}/man3/sd_session_get_tty.3.gz +%{_mandir}/man3/sd_session_get_type.3.gz +%{_mandir}/man3/sd_session_get_uid.3.gz +%{_mandir}/man3/sd_session_get_username.3.gz +%{_mandir}/man3/sd_session_get_vt.3.gz +%{_mandir}/man3/sd_session_is_active.3.gz +%{_mandir}/man3/sd_session_is_remote.3.gz +%{_mandir}/man3/sd_uid_get_display.3.gz +%{_mandir}/man3/sd_uid_get_login_time.3.gz +%{_mandir}/man3/sd_uid_get_seats.3.gz +%{_mandir}/man3/sd_uid_get_sessions.3.gz +%{_mandir}/man3/sd_uid_get_state.3.gz +%{_mandir}/man3/sd_uid_is_on_seat.3.gz +%{_mandir}/man3/sd_watchdog_enabled.3.gz +%{_mandir}/man3/udev_device_get_action.3.gz +%{_mandir}/man3/udev_device_get_current_tags_list_entry.3.gz +%{_mandir}/man3/udev_device_get_devlinks_list_entry.3.gz +%{_mandir}/man3/udev_device_get_devnode.3.gz +%{_mandir}/man3/udev_device_get_devnum.3.gz +%{_mandir}/man3/udev_device_get_devpath.3.gz +%{_mandir}/man3/udev_device_get_devtype.3.gz +%{_mandir}/man3/udev_device_get_driver.3.gz +%{_mandir}/man3/udev_device_get_is_initialized.3.gz +%{_mandir}/man3/udev_device_get_parent.3.gz +%{_mandir}/man3/udev_device_get_parent_with_subsystem_devtype.3.gz +%{_mandir}/man3/udev_device_get_properties_list_entry.3.gz +%{_mandir}/man3/udev_device_get_property_value.3.gz +%{_mandir}/man3/udev_device_get_subsystem.3.gz +%{_mandir}/man3/udev_device_get_sysattr_list_entry.3.gz +%{_mandir}/man3/udev_device_get_sysattr_value.3.gz +%{_mandir}/man3/udev_device_get_sysname.3.gz +%{_mandir}/man3/udev_device_get_sysnum.3.gz +%{_mandir}/man3/udev_device_get_syspath.3.gz +%{_mandir}/man3/udev_device_get_tags_list_entry.3.gz +%{_mandir}/man3/udev_device_get_udev.3.gz +%{_mandir}/man3/udev_device_has_current_tag.3.gz +%{_mandir}/man3/udev_device_has_tag.3.gz +%{_mandir}/man3/udev_device_new_from_device_id.3.gz +%{_mandir}/man3/udev_device_new_from_devnum.3.gz +%{_mandir}/man3/udev_device_new_from_environment.3.gz +%{_mandir}/man3/udev_device_new_from_subsystem_sysname.3.gz +%{_mandir}/man3/udev_device_new_from_syspath.3.gz +%{_mandir}/man3/udev_device_ref.3.gz +%{_mandir}/man3/udev_device_set_sysattr_value.3.gz +%{_mandir}/man3/udev_device_unref.3.gz +%{_mandir}/man3/udev_enumerate_add_match_is_initialized.3.gz +%{_mandir}/man3/udev_enumerate_add_match_parent.3.gz +%{_mandir}/man3/udev_enumerate_add_match_property.3.gz +%{_mandir}/man3/udev_enumerate_add_match_subsystem.3.gz +%{_mandir}/man3/udev_enumerate_add_match_sysattr.3.gz +%{_mandir}/man3/udev_enumerate_add_match_sysname.3.gz +%{_mandir}/man3/udev_enumerate_add_match_tag.3.gz +%{_mandir}/man3/udev_enumerate_add_nomatch_subsystem.3.gz +%{_mandir}/man3/udev_enumerate_add_nomatch_sysattr.3.gz +%{_mandir}/man3/udev_enumerate_add_syspath.3.gz +%{_mandir}/man3/udev_enumerate_get_list_entry.3.gz +%{_mandir}/man3/udev_enumerate_get_udev.3.gz +%{_mandir}/man3/udev_enumerate_new.3.gz +%{_mandir}/man3/udev_enumerate_ref.3.gz +%{_mandir}/man3/udev_enumerate_scan_devices.3.gz +%{_mandir}/man3/udev_enumerate_scan_subsystems.3.gz +%{_mandir}/man3/udev_enumerate_unref.3.gz +%{_mandir}/man3/udev_list_entry.3.gz +%{_mandir}/man3/udev_list_entry_get_by_name.3.gz +%{_mandir}/man3/udev_list_entry_get_name.3.gz +%{_mandir}/man3/udev_list_entry_get_next.3.gz +%{_mandir}/man3/udev_list_entry_get_value.3.gz +%{_mandir}/man3/udev_monitor_enable_receiving.3.gz +%{_mandir}/man3/udev_monitor_filter_add_match_subsystem_devtype.3.gz +%{_mandir}/man3/udev_monitor_filter_add_match_tag.3.gz +%{_mandir}/man3/udev_monitor_filter_remove.3.gz +%{_mandir}/man3/udev_monitor_filter_update.3.gz +%{_mandir}/man3/udev_monitor_get_fd.3.gz +%{_mandir}/man3/udev_monitor_get_udev.3.gz +%{_mandir}/man3/udev_monitor_new_from_netlink.3.gz +%{_mandir}/man3/udev_monitor_receive_device.3.gz +%{_mandir}/man3/udev_monitor_ref.3.gz +%{_mandir}/man3/udev_monitor_set_receive_buffer_size.3.gz +%{_mandir}/man3/udev_monitor_unref.3.gz +%{_mandir}/man3/udev_new.3.gz +%{_mandir}/man3/udev_ref.3.gz +%{_mandir}/man3/udev_unref.3.gz +%endif diff --git a/systemd.changes b/systemd.changes index 2305699e..06367cb6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Mar 1 18:13:35 UTC 2024 - Jan Engelhardt + +- Move C API manual pages to systemd-doc, this saves buildroots + 770+ files and time (mandb is run in %posttrans). +- Delete supplements on base-documentation from that. +- Courtesy of spec formatters, remove redundant %defattr. + ------------------------------------------------------------------- Mon Feb 26 09:18:00 UTC 2024 - Antonio Feijoo diff --git a/systemd.spec b/systemd.spec index d2b7b745..927be8f6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package systemd # # Copyright (c) 2024 SUSE LLC # @@ -215,6 +215,7 @@ Source209: files.homed Source210: files.lang Source211: files.journal-remote Source212: files.portable +Source213: files.devel-doc # # All changes backported from upstream are tracked by the git repository, which @@ -346,7 +347,7 @@ Requires: group(lp) Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils -Requires(postun):coreutils +Requires(postun): coreutils # 'regenerate_initrd_post' macro is expanded during build, hence this BR. BuildRequires: suse-module-tools %if %{without bootstrap} @@ -734,12 +735,12 @@ Have fun (at your own risk). %lang_package %package doc -Summary: HTML documentation for systemd +Summary: Additional documentation or doc formats for systemd License: LGPL-2.1-or-later -Supplements: (systemd and patterns-base-documentation) %description doc -The HTML documentation for systemd. +A HTML version of the systemd documentation, plus the manual pages +for the C APIs. %endif %prep @@ -1411,55 +1412,45 @@ fi %endif %files -%defattr(-,root,root) %include %{SOURCE200} %files -n udev%{?mini} -%defattr(-,root,root) %include %{SOURCE201} %if %{with sd_boot} %files boot -%defattr(-,root,root) %include %{SOURCE206} %endif %files container -%defattr(-,root,root) %include %{SOURCE202} %if %{with networkd} || %{with resolved} %files network -%defattr(-,root,root) %include %{SOURCE203} %endif %files devel -%defattr(-,root,root,-) %license LICENSE.LGPL2.1 %include %{SOURCE204} %if %{with sysvcompat} %files sysvcompat -%defattr(-,root,root,-) %include %{SOURCE205} %endif %files -n libsystemd0%{?mini} -%defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libsystemd.so.0 %{_libdir}/libsystemd.so.0.*.0 %files -n libudev%{?mini}1 -%defattr(-,root,root) %license LICENSE.LGPL2.1 %{_libdir}/libudev.so.1 %{_libdir}/libudev.so.1.7.* %if %{with coredump} %files coredump -%defattr(-,root,root) %include %{SOURCE208} %endif @@ -1468,38 +1459,33 @@ fi %include %{SOURCE210} %files doc -%defattr(-,root,root,-) %{_docdir}/systemd/ +%include %{SOURCE213} %endif %if %{with journal_remote} %files journal-remote -%defattr(-, root, root) %include %{SOURCE211} %endif %if %{with homed} %files homed -%defattr(-,root,root) %include %{SOURCE209} %endif %if %{with portabled} %files portable -%defattr(-,root,root) %include %{SOURCE212} %endif %if %{with testsuite} %files testsuite -%defattr(-,root,root) %doc %{_testsuitedir}/integration-tests/README.testsuite %{_testsuitedir} %endif %if %{with experimental} %files experimental -%defattr(-,root,root) %include %{SOURCE207} %endif From 6b0884ea3594f7a4f501c6abd5a84cd0f7a6e73f75b1ea4823e5a053b95447be Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Mar 2024 19:15:35 +0000 Subject: [PATCH 956/991] Accepting request 1158977 from home:mvyskocil:branches:Base:System - Create /etc/sysusers.d as expected by sysusers.d(5) OBS-URL: https://build.opensuse.org/request/show/1158977 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1500 --- files.systemd | 1 + systemd.changes | 5 +++++ systemd.spec | 2 ++ 3 files changed, 8 insertions(+) diff --git a/files.systemd b/files.systemd index 1516dd6f..7181ec45 100644 --- a/files.systemd +++ b/files.systemd @@ -37,6 +37,7 @@ %dir %{_sysconfdir}/systemd/system.conf.d %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/systemd/user.conf.d +%dir %{_sysconfdir}/sysusers.d %dir %{_sysconfdir}/tmpfiles.d %dir %{_sysconfdir}/xdg/systemd %dir %{_sysctldir} diff --git a/systemd.changes b/systemd.changes index 06367cb6..fe12c7f7 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 18 11:32:09 UTC 2024 - Michal Vyskocil + +- Create /etc/sysusers.d as expected by sysusers.d(5) + ------------------------------------------------------------------- Fri Mar 1 18:13:35 UTC 2024 - Jan Engelhardt diff --git a/systemd.spec b/systemd.spec index 927be8f6..0cadc3c0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -999,6 +999,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/udev/iocost.conf.d mkdir -p %{buildroot}%{_sysconfdir}/systemd/network mkdir -p %{buildroot}%{_sysconfdir}/systemd/nspawn +mkdir -p %{buildroot}%{_sysconfdir}/sysusers.d/ + # This dir must be owned (and thus created) by systemd otherwise the build # system will complain. This is odd since we simply own a ghost file in it... mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d From c01ad8f39e7a4c189f3a116f2d39ccd49a5c3dae44d0b5f2aada22b47b4f98eb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Mar 2024 20:11:42 +0000 Subject: [PATCH 957/991] - Import commit 3986ed5117e1563adfce3f5a8e088a77016c0aee 3986ed5117 test: drop route from test-functions OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1501 --- systemd-v255.3+suse.15.g96edf7ad18.tar.xz | 3 --- systemd-v255.3+suse.16.g3986ed5117.tar.xz | 3 +++ systemd.changes | 7 +++++++ systemd.spec | 8 ++++---- 4 files changed, 14 insertions(+), 7 deletions(-) delete mode 100644 systemd-v255.3+suse.15.g96edf7ad18.tar.xz create mode 100644 systemd-v255.3+suse.16.g3986ed5117.tar.xz diff --git a/systemd-v255.3+suse.15.g96edf7ad18.tar.xz b/systemd-v255.3+suse.15.g96edf7ad18.tar.xz deleted file mode 100644 index 1bc16d0e..00000000 --- a/systemd-v255.3+suse.15.g96edf7ad18.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6cd4797c9008052e3b188451be89f7196072475c971d1619cb880280336c2761 -size 10712448 diff --git a/systemd-v255.3+suse.16.g3986ed5117.tar.xz b/systemd-v255.3+suse.16.g3986ed5117.tar.xz new file mode 100644 index 00000000..66706a42 --- /dev/null +++ b/systemd-v255.3+suse.16.g3986ed5117.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b3a4cc3972741b1d081e591975525cd8c0739b55f7eaaef5e0f59e1163be9c1 +size 10711352 diff --git a/systemd.changes b/systemd.changes index fe12c7f7..b6cf4ad0 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 18 19:18:33 UTC 2024 - Franck Bui + +- Import commit 3986ed5117e1563adfce3f5a8e088a77016c0aee + + 3986ed5117 test: drop route from test-functions + ------------------------------------------------------------------- Mon Mar 18 11:32:09 UTC 2024 - Michal Vyskocil diff --git a/systemd.spec b/systemd.spec index 0cadc3c0..622c03e8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd +# spec file # # Copyright (c) 2024 SUSE LLC # @@ -29,7 +29,7 @@ # Fallback required for OBS source validator %define systemd_version 255.3 %define systemd_release 0 -%define archive_version +suse.15.g96edf7ad18 +%define archive_version +suse.16.g3986ed5117 %endif %define systemd_major %{sub %systemd_version 1 3} @@ -347,7 +347,7 @@ Requires: group(lp) Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils -Requires(postun): coreutils +Requires(postun):coreutils # 'regenerate_initrd_post' macro is expanded during build, hence this BR. BuildRequires: suse-module-tools %if %{without bootstrap} @@ -639,6 +639,7 @@ Requires: busybox-static Requires: cryptsetup Requires: dhcp-client Requires: dosfstools +Requires: iproute2 Requires: jq Requires: libcap-progs Requires: libfido2 @@ -648,7 +649,6 @@ Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: mtools -Requires: net-tools-deprecated Requires: netcat Requires: python3-pexpect Requires: qemu From b3752195db4db51d4f853ca0472aa2b3cd1effa74b2e4f096b169377070f0324 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 18 Mar 2024 20:43:18 +0000 Subject: [PATCH 958/991] - Import commit be772961ada05afab21a72e225d28c26ef9fb1ea (merge of v255.4) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/3986ed5117e1563adfce3f5a8e088a77016c0aee...be772961ada05afab21a72e225d28c26ef9fb1ea OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1502 --- systemd-v255.3+suse.16.g3986ed5117.tar.xz | 3 --- systemd-v255.4+suse.17.gbe772961ad.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 5 ++--- 4 files changed, 13 insertions(+), 6 deletions(-) delete mode 100644 systemd-v255.3+suse.16.g3986ed5117.tar.xz create mode 100644 systemd-v255.4+suse.17.gbe772961ad.tar.xz diff --git a/systemd-v255.3+suse.16.g3986ed5117.tar.xz b/systemd-v255.3+suse.16.g3986ed5117.tar.xz deleted file mode 100644 index 66706a42..00000000 --- a/systemd-v255.3+suse.16.g3986ed5117.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b3a4cc3972741b1d081e591975525cd8c0739b55f7eaaef5e0f59e1163be9c1 -size 10711352 diff --git a/systemd-v255.4+suse.17.gbe772961ad.tar.xz b/systemd-v255.4+suse.17.gbe772961ad.tar.xz new file mode 100644 index 00000000..d02dd74d --- /dev/null +++ b/systemd-v255.4+suse.17.gbe772961ad.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e2c1c6c6acd082a80b9c2b3503ba2a62589c04070235756925a34f4f1418d4 +size 10771792 diff --git a/systemd.changes b/systemd.changes index b6cf4ad0..9abafc65 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Mar 18 20:14:57 UTC 2024 - Franck Bui + +- Import commit be772961ada05afab21a72e225d28c26ef9fb1ea (merge of v255.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/3986ed5117e1563adfce3f5a8e088a77016c0aee...be772961ada05afab21a72e225d28c26ef9fb1ea + ------------------------------------------------------------------- Mon Mar 18 19:18:33 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 622c03e8..dbb24691 100644 --- a/systemd.spec +++ b/systemd.spec @@ -26,10 +26,9 @@ %define systemd_release %{?release_override}%{!?release_override:0} %define archive_version %{nil} %else -# Fallback required for OBS source validator -%define systemd_version 255.3 +%define systemd_version 255.4 %define systemd_release 0 -%define archive_version +suse.16.g3986ed5117 +%define archive_version +suse.17.gbe772961ad %endif %define systemd_major %{sub %systemd_version 1 3} From 522c2779450fd8ca0677da84dd6b857cd98131c3c0bc41ab742a47bfb42e6b38 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Mar 2024 14:11:27 +0000 Subject: [PATCH 959/991] Accepting request 1159575 from home:daandemeyer:branches:Base:System - Account for upstream changes to the quotaon and quotacheck services OBS-URL: https://build.opensuse.org/request/show/1159575 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1503 --- files.systemd | 8 ++++++++ files.udev | 8 ++++++++ systemd.changes | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/files.systemd b/files.systemd index 7181ec45..8c454370 100644 --- a/files.systemd +++ b/files.systemd @@ -536,7 +536,15 @@ %{_unitdir}/printer.target %{_unitdir}/proc-sys-fs-binfmt_misc.automount %{_unitdir}/proc-sys-fs-binfmt_misc.mount +%if %{with upstream} +%{_unitdir}/quotaon-root.service +%endif +%if %{without upstream} %{_unitdir}/quotaon.service +%endif +%if %{with upstream} +%{_unitdir}/quotaon@.service +%endif %{_unitdir}/reboot.target %{_unitdir}/remote-fs-pre.target %{_unitdir}/remote-fs.target diff --git a/files.udev b/files.udev index e40877a5..7e42309c 100644 --- a/files.udev +++ b/files.udev @@ -330,7 +330,15 @@ %endif %{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-pstore.service +%if %{with upstream} +%{_unitdir}/systemd-quotacheck-root.service +%endif +%if %{without upstream} %{_unitdir}/systemd-quotacheck.service +%endif +%if %{with upstream} +%{_unitdir}/systemd-quotacheck@.service +%endif %{_unitdir}/systemd-random-seed.service %{_unitdir}/systemd-remount-fs.service %{_unitdir}/systemd-rfkill.service diff --git a/systemd.changes b/systemd.changes index 9abafc65..854c9d61 100644 --- a/systemd.changes +++ b/systemd.changes @@ -13,6 +13,11 @@ Mon Mar 18 19:18:33 UTC 2024 - Franck Bui 3986ed5117 test: drop route from test-functions +------------------------------------------------------------------- +Mon Mar 18 15:30:26 UTC 2024 - Daan De Meyer + +- Account for upstream changes to the quotaon and quotacheck services + ------------------------------------------------------------------- Mon Mar 18 11:32:09 UTC 2024 - Michal Vyskocil From da8006121fcbd791087779f3bd7c45e5ea9a5ec75f26394846d6cdc200dcd836 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 19 Mar 2024 14:38:42 +0000 Subject: [PATCH 960/991] sort files.experimental OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1504 --- files.experimental | 184 ++++++++++++++++++++++----------------------- 1 file changed, 91 insertions(+), 93 deletions(-) diff --git a/files.experimental b/files.experimental index c2805885..dac782d4 100644 --- a/files.experimental +++ b/files.experimental @@ -1,12 +1,26 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # +%dir %{_prefix}/lib/pcrlock.d +%dir %{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d +%dir %{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d +%dir %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d %dir %{_sysconfdir}/systemd/oomd.conf.d +%dir %{_systemd_util_dir}/repart +%dir %{_systemd_util_dir}/repart/definitions +%dir %{_systemd_util_dir}/repart/definitions/confext.repart.d +%dir %{_systemd_util_dir}/repart/definitions/portable.repart.d +%dir %{_systemd_util_dir}/repart/definitions/sysext.repart.d %if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants %endif %{_bindir}/oomctl %{_bindir}/systemd-repart +%{_bindir}/systemd-vmspawn +%if %{with sd_boot} +%{_bindir}/ukify +%endif +%{_bindir}/varlinkctl %{_datadir}/bash-completion/completions/oomctl %{_datadir}/dbus-1/interfaces/org.freedesktop.oom1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml @@ -16,20 +30,36 @@ %{_datadir}/zsh/site-functions/_oomctl %{_mandir}/man1/oomctl.1.gz %{_mandir}/man1/systemd-measure.1.gz +%{_mandir}/man1/systemd-vmspawn.1.gz %if %{with sd_boot} %{_mandir}/man1/ukify.1.gz %endif +%{_mandir}/man1/varlinkctl.1.gz %{_mandir}/man5/oomd.conf.5.gz %{_mandir}/man5/oomd.conf.d.5.gz %{_mandir}/man5/org.freedesktop.oom1.5.gz %{_mandir}/man5/repart.d.5.gz +%{_mandir}/man5/systemd.pcrlock.5.gz +%{_mandir}/man5/systemd.pcrlock.d.5.gz %{_mandir}/man5/sysupdate.d.5.gz +%{_mandir}/man8/systemd-bsod.8.gz +%{_mandir}/man8/systemd-bsod.service.8.gz %{_mandir}/man8/systemd-oomd.8.gz %{_mandir}/man8/systemd-oomd.service.8.gz %if %{with sd_boot} %{_mandir}/man8/systemd-pcrextend.8.gz %{_mandir}/man8/systemd-pcrfs-root.service.8.gz %{_mandir}/man8/systemd-pcrfs@.service.8.gz +%endif +%{_mandir}/man8/systemd-pcrlock-file-system.service.8.gz +%{_mandir}/man8/systemd-pcrlock-firmware-code.service.8.gz +%{_mandir}/man8/systemd-pcrlock-firmware-config.service.8.gz +%{_mandir}/man8/systemd-pcrlock-machine-id.service.8.gz +%{_mandir}/man8/systemd-pcrlock-make-policy.service.8.gz +%{_mandir}/man8/systemd-pcrlock-secureboot-authority.service.8.gz +%{_mandir}/man8/systemd-pcrlock-secureboot-policy.service.8.gz +%{_mandir}/man8/systemd-pcrlock.8.gz +%if %{with sd_boot} %{_mandir}/man8/systemd-pcrmachine.service.8.gz %{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz @@ -37,51 +67,19 @@ %endif %{_mandir}/man8/systemd-repart.8.gz %{_mandir}/man8/systemd-repart.service.8.gz +%{_mandir}/man8/systemd-storagetm.8.gz +%{_mandir}/man8/systemd-storagetm.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz %{_mandir}/man8/systemd-sysupdate.8.gz %{_mandir}/man8/systemd-sysupdate.service.8.gz %{_mandir}/man8/systemd-sysupdate.timer.8.gz %if %{with sd_boot} +%{_mandir}/man8/systemd-tpm2-setup-early.service.8.gz +%{_mandir}/man8/systemd-tpm2-setup.8.gz +%{_mandir}/man8/systemd-tpm2-setup.service.8.gz %{_prefix}/lib/kernel/install.d/60-ukify.install %endif -%{_systemd_util_dir}/oomd.conf -%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service -%{_systemd_util_dir}/systemd-measure -%{_systemd_util_dir}/systemd-oomd -%if %{with sd_boot} -%{_systemd_util_dir}/systemd-pcrextend -%endif -%{_systemd_util_dir}/systemd-sysupdate -%{_systemd_util_dir}/systemd-userwork -%if %{with sd_boot} -%{_systemd_util_dir}/ukify -%{_bindir}/ukify -%endif -%{_sysusersdir}/systemd-oom.conf -%if %{with sd_boot} -%{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service -%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service -%{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service -%{_unitdir}/sysinit.target.wants/systemd-pcrphase.service -%endif -%{_unitdir}/systemd-oomd.service -%{_unitdir}/systemd-oomd.socket -%if %{with sd_boot} -%{_unitdir}/systemd-pcrfs-root.service -%{_unitdir}/systemd-pcrfs@.service -%{_unitdir}/systemd-pcrmachine.service -%{_unitdir}/systemd-pcrphase-initrd.service -%{_unitdir}/systemd-pcrphase-sysinit.service -%{_unitdir}/systemd-pcrphase.service -%endif -%{_unitdir}/systemd-repart.service -%{_unitdir}/systemd-sysupdate-reboot.service -%{_unitdir}/systemd-sysupdate-reboot.timer -%{_unitdir}/systemd-sysupdate.service -%{_unitdir}/systemd-sysupdate.timer - %{_prefix}/lib/pcrlock.d/350-action-efi-application.pcrlock %{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d/300-0x00000000.pcrlock %{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d/600-0xffffffff.pcrlock @@ -95,30 +93,7 @@ %{_prefix}/lib/pcrlock.d/900-ready.pcrlock %{_prefix}/lib/pcrlock.d/950-shutdown.pcrlock %{_prefix}/lib/pcrlock.d/990-final.pcrlock -%{_mandir}/man5/systemd.pcrlock.5.gz -%{_mandir}/man5/systemd.pcrlock.d.5.gz -%{_mandir}/man8/systemd-pcrlock-file-system.service.8.gz -%{_mandir}/man8/systemd-pcrlock-firmware-code.service.8.gz -%{_mandir}/man8/systemd-pcrlock-firmware-config.service.8.gz -%{_mandir}/man8/systemd-pcrlock-machine-id.service.8.gz -%{_mandir}/man8/systemd-pcrlock-make-policy.service.8.gz -%{_mandir}/man8/systemd-pcrlock-secureboot-authority.service.8.gz -%{_mandir}/man8/systemd-pcrlock-secureboot-policy.service.8.gz -%{_mandir}/man8/systemd-pcrlock.8.gz -%if %{with sd_boot} -%{_unitdir}/systemd-pcrextend.socket -%{_unitdir}/systemd-pcrextend@.service -%{_unitdir}/sockets.target.wants/systemd-pcrextend.socket -%{_unitdir}/systemd-pcrlock-file-system.service -%{_unitdir}/systemd-pcrlock-firmware-code.service -%{_unitdir}/systemd-pcrlock-firmware-config.service -%{_unitdir}/systemd-pcrlock-machine-id.service -%{_unitdir}/systemd-pcrlock-make-policy.service -%{_unitdir}/systemd-pcrlock-secureboot-authority.service -%{_unitdir}/systemd-pcrlock-secureboot-policy.service -%endif -%{_systemd_util_dir}/systemd-pcrlock - +%{_systemd_util_dir}/oomd.conf %{_systemd_util_dir}/repart/definitions/confext.repart.d/10-root.conf %{_systemd_util_dir}/repart/definitions/confext.repart.d/20-root-verity.conf %{_systemd_util_dir}/repart/definitions/confext.repart.d/30-root-verity-sig.conf @@ -128,42 +103,65 @@ %{_systemd_util_dir}/repart/definitions/sysext.repart.d/10-root.conf %{_systemd_util_dir}/repart/definitions/sysext.repart.d/20-root-verity.conf %{_systemd_util_dir}/repart/definitions/sysext.repart.d/30-root-verity-sig.conf - -%{_mandir}/man8/systemd-storagetm.8.gz -%{_mandir}/man8/systemd-storagetm.service.8.gz -%{_unitdir}/systemd-storagetm.service -%{_unitdir}/storage-target-mode.target -%{_systemd_util_dir}/systemd-storagetm - -%{_unitdir}/initrd.target.wants/systemd-bsod.service +%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-bsod -%{_unitdir}/systemd-bsod.service -%{_mandir}/man8/systemd-bsod.8.gz -%{_mandir}/man8/systemd-bsod.service.8.gz - -%{_bindir}/varlinkctl -%{_mandir}/man1/varlinkctl.1.gz - -%{_bindir}/systemd-vmspawn -%{_mandir}/man1/systemd-vmspawn.1.gz - -%dir %{_prefix}/lib/pcrlock.d -%dir %{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d -%dir %{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d -%dir %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d -%dir %{_systemd_util_dir}/repart -%dir %{_systemd_util_dir}/repart/definitions -%dir %{_systemd_util_dir}/repart/definitions/confext.repart.d -%dir %{_systemd_util_dir}/repart/definitions/portable.repart.d -%dir %{_systemd_util_dir}/repart/definitions/sysext.repart.d - +%{_systemd_util_dir}/systemd-measure +%{_systemd_util_dir}/systemd-oomd %if %{with sd_boot} +%{_systemd_util_dir}/systemd-pcrextend +%endif +%{_systemd_util_dir}/systemd-pcrlock +%{_systemd_util_dir}/systemd-storagetm +%{_systemd_util_dir}/systemd-sysupdate +%if %{with sd_boot} +%{_systemd_util_dir}/systemd-tpm2-setup +%endif +%{_systemd_util_dir}/systemd-userwork +%if %{with sd_boot} +%{_systemd_util_dir}/ukify +%endif +%{_sysusersdir}/systemd-oom.conf +%{_unitdir}/initrd.target.wants/systemd-bsod.service +%if %{with sd_boot} +%{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service +%{_unitdir}/sockets.target.wants/systemd-pcrextend.socket +%endif +%{_unitdir}/storage-target-mode.target +%if %{with sd_boot} +%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service +%{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service +%{_unitdir}/sysinit.target.wants/systemd-pcrphase.service %{_unitdir}/sysinit.target.wants/systemd-tpm2-setup-early.service %{_unitdir}/sysinit.target.wants/systemd-tpm2-setup.service +%endif +%{_unitdir}/systemd-bsod.service +%{_unitdir}/systemd-oomd.service +%{_unitdir}/systemd-oomd.socket +%if %{with sd_boot} +%{_unitdir}/systemd-pcrextend.socket +%{_unitdir}/systemd-pcrextend@.service +%{_unitdir}/systemd-pcrfs-root.service +%{_unitdir}/systemd-pcrfs@.service +%{_unitdir}/systemd-pcrlock-file-system.service +%{_unitdir}/systemd-pcrlock-firmware-code.service +%{_unitdir}/systemd-pcrlock-firmware-config.service +%{_unitdir}/systemd-pcrlock-machine-id.service +%{_unitdir}/systemd-pcrlock-make-policy.service +%{_unitdir}/systemd-pcrlock-secureboot-authority.service +%{_unitdir}/systemd-pcrlock-secureboot-policy.service +%{_unitdir}/systemd-pcrmachine.service +%{_unitdir}/systemd-pcrphase-initrd.service +%{_unitdir}/systemd-pcrphase-sysinit.service +%{_unitdir}/systemd-pcrphase.service +%endif +%{_unitdir}/systemd-repart.service +%{_unitdir}/systemd-storagetm.service +%{_unitdir}/systemd-sysupdate-reboot.service +%{_unitdir}/systemd-sysupdate-reboot.timer +%{_unitdir}/systemd-sysupdate.service +%{_unitdir}/systemd-sysupdate.timer +%if %{with sd_boot} %{_unitdir}/systemd-tpm2-setup-early.service %{_unitdir}/systemd-tpm2-setup.service -%{_systemd_util_dir}/systemd-tpm2-setup -%{_mandir}/man8/systemd-tpm2-setup-early.service.8.gz -%{_mandir}/man8/systemd-tpm2-setup.8.gz -%{_mandir}/man8/systemd-tpm2-setup.service.8.gz %endif From 4557ea6677104ea939a6bdd71a668d610cb3e612c9528524417b7fe00837ca97 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 20 Mar 2024 17:41:07 +0000 Subject: [PATCH 961/991] - Drop split_usr build conditional since both split-usr and unmerged-usr supports have been removed since v255. - Don't use the "Patch:" directive with a suffix number as since the suffix doesn't serve any purpose. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1505 --- systemd.changes | 9 +++++++++ systemd.spec | 46 ++++++++++------------------------------------ 2 files changed, 19 insertions(+), 36 deletions(-) diff --git a/systemd.changes b/systemd.changes index 854c9d61..aaca3c6b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Mar 20 17:31:16 UTC 2024 - Franck Bui + +- Drop split_usr build conditional since both split-usr and unmerged-usr + supports have been removed since v255. + +- Don't use the "Patch:" directive with a suffix number as since the suffix + doesn't serve any purpose. + ------------------------------------------------------------------- Mon Mar 18 20:14:57 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index dbb24691..b301c731 100644 --- a/systemd.spec +++ b/systemd.spec @@ -76,7 +76,6 @@ # The following features are kept to ease migrations toward SLE. Their default # value is independent of the build flavor. %bcond_without filetriggers -%bcond_with split_usr # We stopped shipping main config files in /etc but we have to restore any # config files that might have been backed up by rpm during the migration of the @@ -225,10 +224,10 @@ Source213: files.devel-doc # only relevant for SUSE distros. Special rewards for those who will manage to # get rid of one of them ! # -Patch3: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch +Patch: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch %if %{with sysvcompat} -Patch4: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch -Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +Patch: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch +Patch: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif %if %{without upstream} @@ -238,14 +237,14 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # very few cases, some stuff might be broken in upstream and need to be fixed or # worked around quickly. In these cases, the patches are added temporarily and # will be removed as soon as a proper fix will be merged by upstream. -Patch5001: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch -Patch5002: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch +Patch: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch +Patch: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch # jsc#PED-5659 -Patch5006: 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch -Patch5007: 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch -Patch5008: 5008-test-Add-effective-cgroup-limits-testing.patch -Patch5009: 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch -Patch5010: 5010-cgroup-Rename-effective-limits-internal-table.patch +Patch: 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch +Patch: 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch +Patch: 5008-test-Add-effective-cgroup-limits-testing.patch +Patch: 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch +Patch: 5010-cgroup-Rename-effective-limits-internal-table.patch %endif @@ -755,10 +754,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dmode=release \ -Dversion-tag=%{version}%{archive_version} \ -Ddocdir=%{_docdir}/systemd \ -%if %{with split_usr} - -Drootprefix=/usr \ - -Dsplit-usr=true \ -%endif -Dconfigfiledir=/usr/lib \ -Dsplit-bin=true \ -Dsystem-uid-max=499 \ @@ -912,27 +907,6 @@ install -m0755 %{SOURCE100} %{buildroot}%{_systemd_util_dir}/rpm/ %endif install -m0755 %{SOURCE101} %{buildroot}%{_systemd_util_dir}/rpm/ -%if %{with split_usr} -mkdir -p %{buildroot}/{bin,sbin} -# Legacy paths -ln -s ../usr/bin/udevadm %{buildroot}/sbin/ -ln -s ../usr/bin/systemctl %{buildroot}/bin/ - -ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init -ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot -ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt -ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown -ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff -# Legacy sysvinit tools -%if %{with sysvcompat} -ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit -ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel -%endif -# kmod keeps insisting on using /lib/modprobe.d only. -mkdir -p %{buildroot}%{_modprobedir} -mv %{buildroot}/usr/lib/modprobe.d/* %{buildroot}%{_modprobedir}/ -%endif - # Make sure /usr/lib/modules-load.d exists in udev(-mini)?, so other # packages can install modules without worry mkdir -p %{buildroot}%{_modulesloaddir} From 5133681b88c357c48b6458943e0d1f5c73ed4954ee6a01d2329f8647560f2e33 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 20 Mar 2024 17:59:30 +0000 Subject: [PATCH 962/991] more %split_usr build conditional removals (amend the previous commit) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1506 --- files.systemd | 8 -------- files.udev | 3 --- 2 files changed, 11 deletions(-) diff --git a/files.systemd b/files.systemd index 8c454370..a6968308 100644 --- a/files.systemd +++ b/files.systemd @@ -652,11 +652,3 @@ %{_unitdir}/user@.service.d/10-login-barrier.conf %{_unitdir}/user@0.service.d/10-login-barrier.conf %{xinitconfdir}/xinitrc.d/50-systemd-user.sh -%if %{with split_usr} -/bin/systemctl -/sbin/halt -/sbin/init -/sbin/poweroff -/sbin/reboot -/sbin/shutdown -%endif diff --git a/files.udev b/files.udev index 7e42309c..3921a1a0 100644 --- a/files.udev +++ b/files.udev @@ -359,6 +359,3 @@ %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif -%if %{with split_usr} -/sbin/udevadm -%endif From fc20ad5ccdf4b302515c8815a49dc4b04e72c314d6bdf3bf7a54ced2b603cf24 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 21 Mar 2024 14:15:59 +0000 Subject: [PATCH 963/991] - The following patches have been merged into SUSE/v255 branch hence removed from the OBS project. 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch 5008-test-Add-effective-cgroup-limits-testing.patch 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch 5010-cgroup-Rename-effective-limits-internal-table.patch - Import commit 56b53b17bcd8311dfb53f05b359b2812593883ab 56b53b17bc cgroup: Rename effective limits internal table (jsc#PED-5659) 7c9202317c cgroup: Restrict effective limits with global resource provision (jsc#PED-5659) da858e68eb test: Add effective cgroup limits testing (jsc#PED-5659) 2f013357a5 test: Convert rlimit test to subtest of generic limit testing (jsc#PED-5659) 0a3ea7f367 cgroup: Add EffectiveMemoryMax=, EffectiveMemoryHigh= and EffectiveTasksMax= properties (jsc#PED-5659) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1507 --- ...tiveMemoryMax-EffectiveMemoryHigh-an.patch | 668 ------------------ ...mit-test-to-subtest-of-generic-limit.patch | 97 --- ...-Add-effective-cgroup-limits-testing.patch | 111 --- ...effective-limits-with-global-resourc.patch | 56 -- ...name-effective-limits-internal-table.patch | 66 -- systemd-v255.4+suse.17.gbe772961ad.tar.xz | 3 - systemd-v255.4+suse.22.g56b53b17bc.tar.xz | 3 + systemd.changes | 20 + systemd.spec | 10 +- 9 files changed, 24 insertions(+), 1010 deletions(-) delete mode 100644 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch delete mode 100644 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch delete mode 100644 5008-test-Add-effective-cgroup-limits-testing.patch delete mode 100644 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch delete mode 100644 5010-cgroup-Rename-effective-limits-internal-table.patch delete mode 100644 systemd-v255.4+suse.17.gbe772961ad.tar.xz create mode 100644 systemd-v255.4+suse.22.g56b53b17bc.tar.xz diff --git a/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch b/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch deleted file mode 100644 index 717746c2..00000000 --- a/5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch +++ /dev/null @@ -1,668 +0,0 @@ -From 840527985f03a4327fc0fe78e45d889742601698 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Fri, 11 Aug 2023 13:51:20 +0200 -Subject: [PATCH 5006/5010] cgroup: Add EffectiveMemoryMax=, - EffectiveMemoryHigh= and EffectiveTasksMax= properties - -Users become perplexed when they run their workload in a unit with no -explicit limits configured (moreover, listing the limit property would -even show it's infinity) but they experience unexpected resource -limitation. - -The memory and pid limits come as the most visible, therefore add new -unit read-only properties: -- EffectiveMemoryMax=, -- EffectiveMemoryHigh=, -- EffectiveTasksMax=. - -These properties represent the most stringent limit systemd is aware of -for the given unit -- and that is typically(*) the effective value. - -Implement the properties by simply traversing all parents in the -leaf-slice tree and picking the minimum value. Note that effective -limits are thus defined even for units that don't enable explicit -accounting (because of the hierarchy). - -(*) The evasive case is when systemd runs in a cgroupns and cannot -reason about outer setup. Complete solution would need kernel support. - -(cherry picked from commit 4fb0d2dc140c9a2c01c236d2a8dc09a44157e896) - -[mkoutny: fixes jsc#PED-5659] ---- - man/org.freedesktop.systemd1.xml | 126 ++++++++++++++++++++++++++++++ - man/systemd.resource-control.xml | 11 ++- - src/core/cgroup.c | 48 ++++++++++++ - src/core/cgroup.h | 13 +++ - src/core/dbus-unit.c | 25 ++++++ - src/shared/bus-print-properties.c | 6 +- - 6 files changed, 224 insertions(+), 5 deletions(-) - -diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml -index a1bcbba02f..59733c0039 100644 ---- a/man/org.freedesktop.systemd1.xml -+++ b/man/org.freedesktop.systemd1.xml -@@ -2786,6 +2786,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t MemoryAvailable = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryHigh = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t CPUUsageNSec = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly ay EffectiveCPUs = [...]; -@@ -2794,6 +2798,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t TasksCurrent = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveTasksMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressBytes = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressPackets = ...; -@@ -3419,6 +3425,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - - - -+ -+ -+ -+ - - - -@@ -3427,6 +3437,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - - - -+ -+ - - - -@@ -4061,6 +4073,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - - - -+ -+ -+ -+ - - - -@@ -4069,6 +4085,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - - - -+ -+ - - - -@@ -4865,6 +4883,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t MemoryAvailable = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryHigh = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t CPUUsageNSec = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly ay EffectiveCPUs = [...]; -@@ -4873,6 +4895,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t TasksCurrent = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveTasksMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressBytes = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressPackets = ...; -@@ -5508,6 +5532,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - - - -+ -+ -+ -+ - - - -@@ -5516,6 +5544,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - - - -+ -+ - - - -@@ -6132,6 +6162,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - - - -+ -+ -+ -+ - - - -@@ -6140,6 +6174,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - - - -+ -+ - - - -@@ -6810,6 +6846,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t MemoryAvailable = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryHigh = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t CPUUsageNSec = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly ay EffectiveCPUs = [...]; -@@ -6818,6 +6858,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t TasksCurrent = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveTasksMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressBytes = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressPackets = ...; -@@ -7381,6 +7423,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { - - - -+ -+ -+ -+ - - - -@@ -7389,6 +7435,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { - - - -+ -+ - - - -@@ -7919,6 +7967,10 @@ node /org/freedesktop/systemd1/unit/home_2emount { - - - -+ -+ -+ -+ - - - -@@ -7927,6 +7979,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { - - - -+ -+ - - - -@@ -8720,6 +8774,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t MemoryAvailable = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryHigh = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t CPUUsageNSec = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly ay EffectiveCPUs = [...]; -@@ -8728,6 +8786,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t TasksCurrent = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveTasksMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressBytes = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressPackets = ...; -@@ -9277,6 +9337,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - - - -+ -+ -+ -+ - - - -@@ -9285,6 +9349,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - - - -+ -+ - - - -@@ -9801,6 +9867,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - - - -+ -+ -+ -+ - - - -@@ -9809,6 +9879,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - - - -+ -+ - - - -@@ -10461,6 +10533,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t MemoryAvailable = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryHigh = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t CPUUsageNSec = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly ay EffectiveCPUs = [...]; -@@ -10469,6 +10545,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t TasksCurrent = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveTasksMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressBytes = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressPackets = ...; -@@ -10644,6 +10722,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - - - -+ -+ -+ -+ - - - -@@ -10652,6 +10734,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - - - -+ -+ - - - -@@ -10832,6 +10916,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - - - -+ -+ -+ -+ - - - -@@ -10840,6 +10928,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - - - -+ -+ - - - -@@ -11046,6 +11136,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t MemoryAvailable = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveMemoryHigh = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t CPUUsageNSec = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly ay EffectiveCPUs = [...]; -@@ -11054,6 +11148,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t TasksCurrent = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") -+ readonly t EffectiveTasksMax = ...; -+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressBytes = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("false") - readonly t IPIngressPackets = ...; -@@ -11249,6 +11345,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - - - -+ -+ -+ -+ - - - -@@ -11257,6 +11357,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - - - -+ -+ - - - -@@ -11467,6 +11569,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - - - -+ -+ -+ -+ - - - -@@ -11475,6 +11581,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - - - -+ -+ - - - -@@ -11866,6 +11974,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ - MemorySwapCurrent, - MemorySwapPeak, and - MemoryZSwapCurrent were added in version 255. -+ EffectiveMemoryHigh, -+ EffectiveMemoryMax, -+ EffectiveTasksMax were added in version 256. - - - Socket Unit Objects -@@ -11897,6 +12008,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ - MemorySwapCurrent, - MemorySwapPeak, and - MemoryZSwapCurrent were added in version 255. -+ EffectiveMemoryHigh, -+ EffectiveMemoryMax, -+ EffectiveTasksMax were added in version 256. - - - Mount Unit Objects -@@ -11926,6 +12040,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ - MemorySwapCurrent, - MemorySwapPeak, and - MemoryZSwapCurrent were added in version 255. -+ EffectiveMemoryHigh, -+ EffectiveMemoryMax, -+ EffectiveTasksMax were added in version 256. - - - Swap Unit Objects -@@ -11955,6 +12072,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ - MemorySwapCurrent, - MemorySwapPeak, and - MemoryZSwapCurrent were added in version 255. -+ EffectiveMemoryHigh, -+ EffectiveMemoryMax, -+ EffectiveTasksMax were added in version 256. - - - Slice Unit Objects -@@ -11975,6 +12095,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ - MemorySwapCurrent, - MemorySwapPeak, and - MemoryZSwapCurrent were added in version 255. -+ EffectiveMemoryHigh, -+ EffectiveMemoryMax, -+ EffectiveTasksMax were added in version 256. - - - Scope Unit Objects -@@ -11996,6 +12119,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ - MemorySwapCurrent, - MemorySwapPeak, and - MemoryZSwapCurrent were added in version 255. -+ EffectiveMemoryHigh, -+ EffectiveMemoryMax, -+ EffectiveTasksMax were added in version 256. - - - Job Objects -diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml -index 42f265c950..bd8b6a5719 100644 ---- a/man/systemd.resource-control.xml -+++ b/man/systemd.resource-control.xml -@@ -406,7 +406,9 @@ CPUWeight=20 DisableControllers=cpu / \ - system. If assigned the - special value infinity, no memory throttling is applied. This controls the - memory.high control group attribute. For details about this control group attribute, see -- Memory Interface Files. -+ Memory Interface Files. -+ The effective configuration is reported as EffectiveMemoryHigh= -+ (see also EffectiveMemoryMax=). - - While StartupMemoryHigh= applies to the startup and shutdown phases of the system, - MemoryHigh= applies to normal runtime of the system, and if the former is not set also to -@@ -434,7 +436,9 @@ CPUWeight=20 DisableControllers=cpu / \ - percentage value may be specified, which is taken relative to the installed physical memory on the system. If - assigned the special value infinity, no memory limit is applied. This controls the - memory.max control group attribute. For details about this control group attribute, see -- Memory Interface Files. -+ Memory Interface Files. -+ The effective configuration is reported as EffectiveMemoryMax= (the value is -+ the most stringent limit of the unit and parent slices). - - While StartupMemoryMax= applies to the startup and shutdown phases of the system, - MemoryMax= applies to normal runtime of the system, and if the former is not set also to -@@ -560,7 +564,8 @@ CPUWeight=20 DisableControllers=cpu / \ - limit is applied. This controls the pids.max control group attribute. For - details about this control group attribute, the - pids controller -- . -+ . -+ The effective configuration is reported as EffectiveTasksMax=. - - The system default for this setting may be controlled with - DefaultTasksMax= in -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 61ac4df1a6..78ca67216a 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -4243,6 +4243,46 @@ int unit_get_ip_accounting( - return r; - } - -+static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) { -+ CGroupContext *cc; -+ -+ assert(u); -+ assert(UNIT_HAS_CGROUP_CONTEXT(u)); -+ -+ cc = unit_get_cgroup_context(u); -+ switch (type) { -+ /* Note: on legacy/hybrid hierarchies memory_max stays CGROUP_LIMIT_MAX unless configured -+ * explicitly. Effective value of MemoryLimit= (cgroup v1) is not implemented. */ -+ case CGROUP_LIMIT_MEMORY_MAX: -+ return cc->memory_max; -+ case CGROUP_LIMIT_MEMORY_HIGH: -+ return cc->memory_high; -+ case CGROUP_LIMIT_TASKS_MAX: -+ return cgroup_tasks_max_resolve(&cc->tasks_max); -+ default: -+ assert_not_reached(); -+ } -+} -+ -+int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret) { -+ uint64_t infimum; -+ -+ assert(u); -+ assert(ret); -+ assert(type >= 0); -+ assert(type < _CGROUP_LIMIT_TYPE_MAX); -+ -+ if (!UNIT_HAS_CGROUP_CONTEXT(u)) -+ return -EINVAL; -+ -+ infimum = unit_get_effective_limit_one(u, type); -+ for (Unit *slice = UNIT_GET_SLICE(u); slice; slice = UNIT_GET_SLICE(slice)) -+ infimum = MIN(infimum, unit_get_effective_limit_one(slice, type)); -+ -+ *ret = infimum; -+ return 0; -+} -+ - static int unit_get_io_accounting_raw(Unit *u, uint64_t ret[static _CGROUP_IO_ACCOUNTING_METRIC_MAX]) { - static const char *const field_names[_CGROUP_IO_ACCOUNTING_METRIC_MAX] = { - [CGROUP_IO_READ_BYTES] = "rbytes=", -@@ -4663,3 +4703,11 @@ static const char* const cgroup_memory_accounting_metric_table[_CGROUP_MEMORY_AC - }; - - DEFINE_STRING_TABLE_LOOKUP(cgroup_memory_accounting_metric, CGroupMemoryAccountingMetric); -+ -+static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { -+ [CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax", -+ [CGROUP_LIMIT_MEMORY_HIGH] = "EffectiveMemoryHigh", -+ [CGROUP_LIMIT_TASKS_MAX] = "EffectiveTasksMax", -+}; -+ -+DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType); -diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index f1b674b4b7..54bce91ea1 100644 ---- a/src/core/cgroup.h -+++ b/src/core/cgroup.h -@@ -276,6 +276,15 @@ typedef enum CGroupMemoryAccountingMetric { - _CGROUP_MEMORY_ACCOUNTING_METRIC_INVALID = -EINVAL, - } CGroupMemoryAccountingMetric; - -+/* Used for limits whose value sets have infimum */ -+typedef enum CGroupLimitType { -+ CGROUP_LIMIT_MEMORY_MAX, -+ CGROUP_LIMIT_MEMORY_HIGH, -+ CGROUP_LIMIT_TASKS_MAX, -+ _CGROUP_LIMIT_TYPE_MAX, -+ _CGROUP_LIMIT_INVALID = -EINVAL, -+} CGroupLimitType; -+ - typedef struct Unit Unit; - typedef struct Manager Manager; - typedef enum ManagerState ManagerState; -@@ -374,6 +383,7 @@ int unit_get_tasks_current(Unit *u, uint64_t *ret); - int unit_get_cpu_usage(Unit *u, nsec_t *ret); - int unit_get_io_accounting(Unit *u, CGroupIOAccountingMetric metric, bool allow_cache, uint64_t *ret); - int unit_get_ip_accounting(Unit *u, CGroupIPAccountingMetric metric, uint64_t *ret); -+int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret); - - int unit_reset_cpu_accounting(Unit *u); - void unit_reset_memory_accounting_last(Unit *u); -@@ -425,5 +435,8 @@ CGroupIPAccountingMetric cgroup_ip_accounting_metric_from_string(const char *s) - const char* cgroup_io_accounting_metric_to_string(CGroupIOAccountingMetric m) _const_; - CGroupIOAccountingMetric cgroup_io_accounting_metric_from_string(const char *s) _pure_; - -+const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_; -+CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_; -+ - const char* cgroup_memory_accounting_metric_to_string(CGroupMemoryAccountingMetric m) _const_; - CGroupMemoryAccountingMetric cgroup_memory_accounting_metric_from_string(const char *s) _pure_; -diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c -index 1a037b7035..ac6add4700 100644 ---- a/src/core/dbus-unit.c -+++ b/src/core/dbus-unit.c -@@ -1441,6 +1441,28 @@ static int property_get_io_counter( - return sd_bus_message_append(reply, "t", value); - } - -+static int property_get_effective_limit( -+ sd_bus *bus, -+ const char *path, -+ const char *interface, -+ const char *property, -+ sd_bus_message *reply, -+ void *userdata, -+ sd_bus_error *error) { -+ -+ uint64_t value = CGROUP_LIMIT_MAX; -+ Unit *u = ASSERT_PTR(userdata); -+ ssize_t type; -+ -+ assert(bus); -+ assert(reply); -+ assert(property); -+ -+ assert_se((type = cgroup_limit_type_from_string(property)) >= 0); -+ (void) unit_get_effective_limit(u, type, &value); -+ return sd_bus_message_append(reply, "t", value); -+} -+ - int bus_unit_method_attach_processes(sd_bus_message *message, void *userdata, sd_bus_error *error) { - _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; - _cleanup_set_free_ Set *pids = NULL; -@@ -1562,10 +1584,13 @@ const sd_bus_vtable bus_unit_cgroup_vtable[] = { - SD_BUS_PROPERTY("MemorySwapPeak", "t", property_get_memory_accounting, 0, 0), - SD_BUS_PROPERTY("MemoryZSwapCurrent", "t", property_get_memory_accounting, 0, 0), - SD_BUS_PROPERTY("MemoryAvailable", "t", property_get_available_memory, 0, 0), -+ SD_BUS_PROPERTY("EffectiveMemoryMax", "t", property_get_effective_limit, 0, 0), -+ SD_BUS_PROPERTY("EffectiveMemoryHigh", "t", property_get_effective_limit, 0, 0), - SD_BUS_PROPERTY("CPUUsageNSec", "t", property_get_cpu_usage, 0, 0), - SD_BUS_PROPERTY("EffectiveCPUs", "ay", property_get_cpuset_cpus, 0, 0), - SD_BUS_PROPERTY("EffectiveMemoryNodes", "ay", property_get_cpuset_mems, 0, 0), - SD_BUS_PROPERTY("TasksCurrent", "t", property_get_current_tasks, 0, 0), -+ SD_BUS_PROPERTY("EffectiveTasksMax", "t", property_get_effective_limit, 0, 0), - SD_BUS_PROPERTY("IPIngressBytes", "t", property_get_ip_counter, 0, 0), - SD_BUS_PROPERTY("IPIngressPackets", "t", property_get_ip_counter, 0, 0), - SD_BUS_PROPERTY("IPEgressBytes", "t", property_get_ip_counter, 0, 0), -diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c -index 6704e1ef3d..99b1cc7c70 100644 ---- a/src/shared/bus-print-properties.c -+++ b/src/shared/bus-print-properties.c -@@ -164,9 +164,11 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b - - bus_print_property_value(name, expected_value, flags, "[not set]"); - -- else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") && -+ else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", -+ "MemoryHigh", "MemoryMax", -+ "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") && - u == CGROUP_LIMIT_MAX) || -- (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == UINT64_MAX) || -+ (endswith(name, "TasksMax") && u == UINT64_MAX) || - (startswith(name, "Limit") && u == UINT64_MAX) || - (startswith(name, "DefaultLimit") && u == UINT64_MAX)) - --- -2.35.3 - diff --git a/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch b/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch deleted file mode 100644 index 983b9d32..00000000 --- a/5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 207784eeaab0c274dc087056f20523d7c10939fe Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Wed, 9 Aug 2023 22:42:36 +0200 -Subject: [PATCH 5007/5010] test: Convert rlimit test to subtest of generic - limit testing - -No functional change intended. Preparation for new tests. - -(cherry picked from commit 834ca54624ae1d61ec4fcf3a63b10271c38c4860) - -[mkoutny: fixes jsc#PED-5659] ---- - test/units/testsuite-05.rlimit.sh | 25 +++++++++++++++++++++++++ - test/units/testsuite-05.service | 2 +- - test/units/testsuite-05.sh | 22 +++------------------- - 3 files changed, 29 insertions(+), 20 deletions(-) - create mode 100755 test/units/testsuite-05.rlimit.sh - -diff --git a/test/units/testsuite-05.rlimit.sh b/test/units/testsuite-05.rlimit.sh -new file mode 100755 -index 0000000000..bbf3adbe65 ---- /dev/null -+++ b/test/units/testsuite-05.rlimit.sh -@@ -0,0 +1,25 @@ -+#!/usr/bin/env bash -+# SPDX-License-Identifier: LGPL-2.1-or-later -+set -eux -+set -o pipefail -+ -+P=/run/systemd/system.conf.d -+mkdir $P -+ -+cat >$P/rlimits.conf <$P/rlimits.conf < -Date: Wed, 9 Aug 2023 22:43:31 +0200 -Subject: [PATCH 5008/5010] test: Add effective cgroup limits testing - -(cherry picked from commit ce35bb95c7b6fe9a48d2b8628bd690279b17fffa) - -[mkoutny: fixes jsc#PED-5659] ---- - test/units/testsuite-05.effective-limit.sh | 68 ++++++++++++++++++++++ - test/units/util.sh | 9 +++ - 2 files changed, 77 insertions(+) - create mode 100755 test/units/testsuite-05.effective-limit.sh - -diff --git a/test/units/testsuite-05.effective-limit.sh b/test/units/testsuite-05.effective-limit.sh -new file mode 100755 -index 0000000000..3ff8e83140 ---- /dev/null -+++ b/test/units/testsuite-05.effective-limit.sh -@@ -0,0 +1,68 @@ -+#!/usr/bin/env bash -+# SPDX-License-Identifier: LGPL-2.1-or-later -+set -eux -+set -o pipefail -+ -+# shellcheck source=test/units/util.sh -+. "$(dirname "$0")"/util.sh -+ -+pre=test05 -+cat >/run/systemd/system/"$pre"alpha.slice </run/systemd/system/"$pre"alpha-beta.slice </run/systemd/system/"$pre"alpha-beta-gamma.slice < '$2'" >&2 -+ exit 1 -+ fi -+)} -+ - assert_in() {( - set +ex - --- -2.35.3 - diff --git a/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch b/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch deleted file mode 100644 index 6ea10d2c..00000000 --- a/5009-cgroup-Restrict-effective-limits-with-global-resourc.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 355275a7708d09f7be27ea239478cb3c6defbb9a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Mon, 14 Aug 2023 19:59:57 +0200 -Subject: [PATCH 5009/5010] cgroup: Restrict effective limits with global - resource provision - -Global resource (whole system or root cg's (e.g. in a container)) is -also a well-defined limit for memory and tasks, take it into account -when calculating effective limits. - -(cherry picked from commit 93f8e88d23bd383b5134f32c1e2ee315ac3a38c8) - -[mkoutny: fixes jsc#PED-5659] ---- - man/systemd.resource-control.xml | 2 +- - src/core/cgroup.c | 11 +++++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml -index bd8b6a5719..c2aa5b57e8 100644 ---- a/man/systemd.resource-control.xml -+++ b/man/systemd.resource-control.xml -@@ -438,7 +438,7 @@ CPUWeight=20 DisableControllers=cpu / \ - memory.max control group attribute. For details about this control group attribute, see - Memory Interface Files. - The effective configuration is reported as EffectiveMemoryMax= (the value is -- the most stringent limit of the unit and parent slices). -+ the most stringent limit of the unit and parent slices and it is capped by physical memory). - - While StartupMemoryMax= applies to the startup and shutdown phases of the system, - MemoryMax= applies to normal runtime of the system, and if the former is not set also to -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 78ca67216a..285fa200d6 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -4249,6 +4249,17 @@ static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) { - assert(u); - assert(UNIT_HAS_CGROUP_CONTEXT(u)); - -+ if (unit_has_name(u, SPECIAL_ROOT_SLICE)) -+ switch (type) { -+ case CGROUP_LIMIT_MEMORY_MAX: -+ case CGROUP_LIMIT_MEMORY_HIGH: -+ return physical_memory(); -+ case CGROUP_LIMIT_TASKS_MAX: -+ return system_tasks_max(); -+ default: -+ assert_not_reached(); -+ } -+ - cc = unit_get_cgroup_context(u); - switch (type) { - /* Note: on legacy/hybrid hierarchies memory_max stays CGROUP_LIMIT_MAX unless configured --- -2.35.3 - diff --git a/5010-cgroup-Rename-effective-limits-internal-table.patch b/5010-cgroup-Rename-effective-limits-internal-table.patch deleted file mode 100644 index d4bcc774..00000000 --- a/5010-cgroup-Rename-effective-limits-internal-table.patch +++ /dev/null @@ -1,66 +0,0 @@ -From ae7d09f074e554a241ba66a2dee2a0cb4b3a0162 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Koutn=C3=BD?= -Date: Mon, 22 Jan 2024 16:58:18 +0100 -Subject: [PATCH 5010/5010] cgroup: Rename effective limits internal table - -Post-merge fixup of commit 4fb0d2dc14 ("cgroup: Add EffectiveMemoryMax=, -EffectiveMemoryHigh= and EffectiveTasksMax= properties"), no functional -change intended. - -(cherry picked from commit 8ad614890bba66b5f6b590d6a3e1b8b04a920126) - -[mkoutny: fixes jsc#PED-5659] ---- - src/core/cgroup.c | 4 ++-- - src/core/cgroup.h | 4 ++-- - src/core/dbus-unit.c | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 285fa200d6..0c30aefe80 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -4715,10 +4715,10 @@ static const char* const cgroup_memory_accounting_metric_table[_CGROUP_MEMORY_AC - - DEFINE_STRING_TABLE_LOOKUP(cgroup_memory_accounting_metric, CGroupMemoryAccountingMetric); - --static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { -+static const char *const cgroup_effective_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = { - [CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax", - [CGROUP_LIMIT_MEMORY_HIGH] = "EffectiveMemoryHigh", - [CGROUP_LIMIT_TASKS_MAX] = "EffectiveTasksMax", - }; - --DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType); -+DEFINE_STRING_TABLE_LOOKUP(cgroup_effective_limit_type, CGroupLimitType); -diff --git a/src/core/cgroup.h b/src/core/cgroup.h -index 54bce91ea1..6e3d05b7d2 100644 ---- a/src/core/cgroup.h -+++ b/src/core/cgroup.h -@@ -435,8 +435,8 @@ CGroupIPAccountingMetric cgroup_ip_accounting_metric_from_string(const char *s) - const char* cgroup_io_accounting_metric_to_string(CGroupIOAccountingMetric m) _const_; - CGroupIOAccountingMetric cgroup_io_accounting_metric_from_string(const char *s) _pure_; - --const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_; --CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_; -+const char* cgroup_effective_limit_type_to_string(CGroupLimitType m) _const_; -+CGroupLimitType cgroup_effective_limit_type_from_string(const char *s) _pure_; - - const char* cgroup_memory_accounting_metric_to_string(CGroupMemoryAccountingMetric m) _const_; - CGroupMemoryAccountingMetric cgroup_memory_accounting_metric_from_string(const char *s) _pure_; -diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c -index ac6add4700..bb19831814 100644 ---- a/src/core/dbus-unit.c -+++ b/src/core/dbus-unit.c -@@ -1458,7 +1458,7 @@ static int property_get_effective_limit( - assert(reply); - assert(property); - -- assert_se((type = cgroup_limit_type_from_string(property)) >= 0); -+ assert_se((type = cgroup_effective_limit_type_from_string(property)) >= 0); - (void) unit_get_effective_limit(u, type, &value); - return sd_bus_message_append(reply, "t", value); - } --- -2.35.3 - diff --git a/systemd-v255.4+suse.17.gbe772961ad.tar.xz b/systemd-v255.4+suse.17.gbe772961ad.tar.xz deleted file mode 100644 index d02dd74d..00000000 --- a/systemd-v255.4+suse.17.gbe772961ad.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2e2c1c6c6acd082a80b9c2b3503ba2a62589c04070235756925a34f4f1418d4 -size 10771792 diff --git a/systemd-v255.4+suse.22.g56b53b17bc.tar.xz b/systemd-v255.4+suse.22.g56b53b17bc.tar.xz new file mode 100644 index 00000000..c2a499a7 --- /dev/null +++ b/systemd-v255.4+suse.22.g56b53b17bc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a55e1ddf7c66e69b057cf1bc8a51c0c6d3936b1633881c42c1585a9c8cfda53e +size 10774060 diff --git a/systemd.changes b/systemd.changes index aaca3c6b..4767ab3b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Thu Mar 21 13:37:16 UTC 2024 - Franck Bui + +- The following patches have been merged into SUSE/v255 branch hence removed + from the OBS project. + + 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch + 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch + 5008-test-Add-effective-cgroup-limits-testing.patch + 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch + 5010-cgroup-Rename-effective-limits-internal-table.patch + +- Import commit 56b53b17bcd8311dfb53f05b359b2812593883ab + + 56b53b17bc cgroup: Rename effective limits internal table (jsc#PED-5659) + 7c9202317c cgroup: Restrict effective limits with global resource provision (jsc#PED-5659) + da858e68eb test: Add effective cgroup limits testing (jsc#PED-5659) + 2f013357a5 test: Convert rlimit test to subtest of generic limit testing (jsc#PED-5659) + 0a3ea7f367 cgroup: Add EffectiveMemoryMax=, EffectiveMemoryHigh= and EffectiveTasksMax= properties (jsc#PED-5659) + ------------------------------------------------------------------- Wed Mar 20 17:31:16 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index b301c731..6d5f10fa 100644 --- a/systemd.spec +++ b/systemd.spec @@ -28,7 +28,7 @@ %else %define systemd_version 255.4 %define systemd_release 0 -%define archive_version +suse.17.gbe772961ad +%define archive_version +suse.22.g56b53b17bc %endif %define systemd_major %{sub %systemd_version 1 3} @@ -231,7 +231,6 @@ Patch: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch %endif %if %{without upstream} - # Patches listed below are put in quarantine. Normally all changes must go to # upstream first and then are cherry-picked in the SUSE git repository. But for # very few cases, some stuff might be broken in upstream and need to be fixed or @@ -239,13 +238,6 @@ Patch: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # will be removed as soon as a proper fix will be merged by upstream. Patch: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch Patch: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch -# jsc#PED-5659 -Patch: 5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch -Patch: 5007-test-Convert-rlimit-test-to-subtest-of-generic-limit.patch -Patch: 5008-test-Add-effective-cgroup-limits-testing.patch -Patch: 5009-cgroup-Restrict-effective-limits-with-global-resourc.patch -Patch: 5010-cgroup-Rename-effective-limits-internal-table.patch - %endif %description From 28969df3b08311f981091d2252d6ee0e491a34c519728d63cb6d5947b039f087 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Mar 2024 13:10:00 +0000 Subject: [PATCH 964/991] - Add 0001-Drop-support-for-efivar-SystemdOptions.patch (bsc#1220338) Upstream deprecated it and plan to drop it in the future. Let's get ahead and drop it now as this feature is unlikely to be used on SUSE distros and it might be used to gain access to encrypted SLEM systems with unattended disk unlock and with secure boot disabled. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1508 --- ...op-support-for-efivar-SystemdOptions.patch | 62 +++++++++++++++++++ systemd.changes | 11 ++++ systemd.spec | 1 + 3 files changed, 74 insertions(+) create mode 100644 0001-Drop-support-for-efivar-SystemdOptions.patch diff --git a/0001-Drop-support-for-efivar-SystemdOptions.patch b/0001-Drop-support-for-efivar-SystemdOptions.patch new file mode 100644 index 00000000..aed6b170 --- /dev/null +++ b/0001-Drop-support-for-efivar-SystemdOptions.patch @@ -0,0 +1,62 @@ +From e8a3781b91560b2242770cf90d382fe094db6d96 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Fri, 22 Mar 2024 12:07:34 +0100 +Subject: [PATCH 1/1] Drop support for efivar SystemdOptions + +Upstream deprecated it and plan to drop it in the future. + +Let's get ahead and drop it now as this feature might be used to gain access to +encrypted SLEM systems with unattended disk unlock and with secure boot +disabled. + +[fbui: fixes bsc#1220338] +--- + src/basic/efivars.c | 4 ++++ + src/boot/bootctl-systemd-efi-options.c | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/basic/efivars.c b/src/basic/efivars.c +index 9011ae29a3..67b0004576 100644 +--- a/src/basic/efivars.c ++++ b/src/basic/efivars.c +@@ -351,6 +351,7 @@ SecureBootMode efi_get_secure_boot_mode(void) { + } + + static int read_efi_options_variable(char **ret) { ++#if 0 + int r; + + /* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed +@@ -374,6 +375,9 @@ static int read_efi_options_variable(char **ret) { + if (r == -ENOENT) + return -ENODATA; + return r; ++#else ++ return -ENODATA; ++#endif + } + + int cache_efi_options_variable(void) { +diff --git a/src/boot/bootctl-systemd-efi-options.c b/src/boot/bootctl-systemd-efi-options.c +index 7f8308fc3d..216b99546f 100644 +--- a/src/boot/bootctl-systemd-efi-options.c ++++ b/src/boot/bootctl-systemd-efi-options.c +@@ -6,6 +6,7 @@ + #include "efi-loader.h" + + int verb_systemd_efi_options(int argc, char *argv[], void *userdata) { ++#if 0 + int r; + + /* This is obsolete and subject to removal */ +@@ -40,4 +41,7 @@ int verb_systemd_efi_options(int argc, char *argv[], void *userdata) { + } + + return 0; ++#else ++ return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Support for the SystemdOptions EFI variable has been dropped."); ++#endif + } +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 4767ab3b..4f511f24 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Mar 22 11:28:59 UTC 2024 - Franck Bui + +- Add 0001-Drop-support-for-efivar-SystemdOptions.patch (bsc#1220338) + + Upstream deprecated it and plan to drop it in the future. + + Let's get ahead and drop it now as this feature is unlikely to be used on SUSE + distros and it might be used to gain access to encrypted SLEM systems with + unattended disk unlock and with secure boot disabled. + ------------------------------------------------------------------- Thu Mar 21 13:37:16 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6d5f10fa..c7a1316f 100644 --- a/systemd.spec +++ b/systemd.spec @@ -224,6 +224,7 @@ Source213: files.devel-doc # only relevant for SUSE distros. Special rewards for those who will manage to # get rid of one of them ! # +Patch: 0001-Drop-support-for-efivar-SystemdOptions.patch Patch: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch %if %{with sysvcompat} Patch: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch From 271b558d5b7b11aa2216cb0ea02f4874350a0defa4fa4f3e911ad6f70ddb7151 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Mar 2024 17:19:11 +0000 Subject: [PATCH 965/991] update 0001-Drop-support-for-efivar-SystemdOptions.patch in order to log when SystemdOptions exists OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1509 --- ...op-support-for-efivar-SystemdOptions.patch | 50 +++++++++++++------ 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/0001-Drop-support-for-efivar-SystemdOptions.patch b/0001-Drop-support-for-efivar-SystemdOptions.patch index aed6b170..ce25da4a 100644 --- a/0001-Drop-support-for-efivar-SystemdOptions.patch +++ b/0001-Drop-support-for-efivar-SystemdOptions.patch @@ -1,4 +1,4 @@ -From e8a3781b91560b2242770cf90d382fe094db6d96 Mon Sep 17 00:00:00 2001 +From 72d766c5a17fc31902b367e949c4d90193f823b9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 22 Mar 2024 12:07:34 +0100 Subject: [PATCH 1/1] Drop support for efivar SystemdOptions @@ -11,29 +11,47 @@ disabled. [fbui: fixes bsc#1220338] --- - src/basic/efivars.c | 4 ++++ - src/boot/bootctl-systemd-efi-options.c | 4 ++++ - 2 files changed, 8 insertions(+) + src/basic/efivars.c | 27 ++++++-------------------- + src/boot/bootctl-systemd-efi-options.c | 4 ++++ + 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/basic/efivars.c b/src/basic/efivars.c -index 9011ae29a3..67b0004576 100644 +index 9011ae29a3..01ab7e5092 100644 --- a/src/basic/efivars.c +++ b/src/basic/efivars.c -@@ -351,6 +351,7 @@ SecureBootMode efi_get_secure_boot_mode(void) { +@@ -351,29 +351,14 @@ SecureBootMode efi_get_secure_boot_mode(void) { } static int read_efi_options_variable(char **ret) { -+#if 0 - int r; +- int r; - /* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed -@@ -374,6 +375,9 @@ static int read_efi_options_variable(char **ret) { - if (r == -ENOENT) - return -ENODATA; - return r; -+#else -+ return -ENODATA; -+#endif +- /* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed +- * like when using Type #2 EFI Unified Kernel Images (https://uapi-group.org/specifications/specs/boot_loader_specification) +- * The user's intention is then that the cmdline should not be modified. You want to make sure that +- * the system starts up as exactly specified in the signed artifact. +- * +- * (NB: For testing purposes, we still check the $SYSTEMD_EFI_OPTIONS env var before accessing this +- * cache, even when in SecureBoot mode.) */ +- if (is_efi_secure_boot()) { +- /* Let's be helpful with the returned error and check if the variable exists at all. If it +- * does, let's return a recognizable error (EPERM), and if not ENODATA. */ +- +- if (access(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), F_OK) < 0) +- return errno == ENOENT ? -ENODATA : -errno; +- +- return -EPERM; +- } ++ /* For SUSE distros, support for SystemdOptions has already been dropped as it might be a security ++ * concern for systems with unattended disk unlock and with disabled secure boot. */ + +- r = efi_get_variable_string(EFI_SYSTEMD_VARIABLE(SystemdOptions), ret); +- if (r == -ENOENT) +- return -ENODATA; +- return r; ++ if (access(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), F_OK) < 0) ++ return errno == ENOENT ? -ENODATA : -errno; ++ ++ return log_warning_errno(SYNTHETIC_ERRNO(EPERM), "Boot options passed via SystemdOptions EFI variable is no more supported, ignoring: %m"); } int cache_efi_options_variable(void) { From a8ec48c140a685374ccf6f113121b633efde661888a8fab7be1502d2b6fc8a4e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 3 Apr 2024 07:16:29 +0000 Subject: [PATCH 966/991] - Move systemd-repart from experimental to udev. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1510 --- files.experimental | 21 --------------------- files.udev | 31 +++++++++++++++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 9 +++++---- 4 files changed, 41 insertions(+), 25 deletions(-) diff --git a/files.experimental b/files.experimental index dac782d4..f9116e29 100644 --- a/files.experimental +++ b/files.experimental @@ -6,16 +6,10 @@ %dir %{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d %dir %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d %dir %{_sysconfdir}/systemd/oomd.conf.d -%dir %{_systemd_util_dir}/repart -%dir %{_systemd_util_dir}/repart/definitions -%dir %{_systemd_util_dir}/repart/definitions/confext.repart.d -%dir %{_systemd_util_dir}/repart/definitions/portable.repart.d -%dir %{_systemd_util_dir}/repart/definitions/sysext.repart.d %if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants %endif %{_bindir}/oomctl -%{_bindir}/systemd-repart %{_bindir}/systemd-vmspawn %if %{with sd_boot} %{_bindir}/ukify @@ -38,7 +32,6 @@ %{_mandir}/man5/oomd.conf.5.gz %{_mandir}/man5/oomd.conf.d.5.gz %{_mandir}/man5/org.freedesktop.oom1.5.gz -%{_mandir}/man5/repart.d.5.gz %{_mandir}/man5/systemd.pcrlock.5.gz %{_mandir}/man5/systemd.pcrlock.d.5.gz %{_mandir}/man5/sysupdate.d.5.gz @@ -65,8 +58,6 @@ %{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz %{_mandir}/man8/systemd-pcrphase.service.8.gz %endif -%{_mandir}/man8/systemd-repart.8.gz -%{_mandir}/man8/systemd-repart.service.8.gz %{_mandir}/man8/systemd-storagetm.8.gz %{_mandir}/man8/systemd-storagetm.service.8.gz %{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz @@ -94,17 +85,6 @@ %{_prefix}/lib/pcrlock.d/950-shutdown.pcrlock %{_prefix}/lib/pcrlock.d/990-final.pcrlock %{_systemd_util_dir}/oomd.conf -%{_systemd_util_dir}/repart/definitions/confext.repart.d/10-root.conf -%{_systemd_util_dir}/repart/definitions/confext.repart.d/20-root-verity.conf -%{_systemd_util_dir}/repart/definitions/confext.repart.d/30-root-verity-sig.conf -%{_systemd_util_dir}/repart/definitions/portable.repart.d/10-root.conf -%{_systemd_util_dir}/repart/definitions/portable.repart.d/20-root-verity.conf -%{_systemd_util_dir}/repart/definitions/portable.repart.d/30-root-verity-sig.conf -%{_systemd_util_dir}/repart/definitions/sysext.repart.d/10-root.conf -%{_systemd_util_dir}/repart/definitions/sysext.repart.d/20-root-verity.conf -%{_systemd_util_dir}/repart/definitions/sysext.repart.d/30-root-verity-sig.conf -%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service -%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service %{_systemd_util_dir}/systemd-bsod %{_systemd_util_dir}/systemd-measure %{_systemd_util_dir}/systemd-oomd @@ -155,7 +135,6 @@ %{_unitdir}/systemd-pcrphase-sysinit.service %{_unitdir}/systemd-pcrphase.service %endif -%{_unitdir}/systemd-repart.service %{_unitdir}/systemd-storagetm.service %{_unitdir}/systemd-sysupdate-reboot.service %{_unitdir}/systemd-sysupdate-reboot.timer diff --git a/files.udev b/files.udev index 3921a1a0..401584d2 100644 --- a/files.udev +++ b/files.udev @@ -22,6 +22,13 @@ %dir %{_sysconfdir}/udev/iocost.conf.d %dir %{_sysconfdir}/udev/rules.d %dir %{_systemd_util_dir}/network +%if %{without bootstrap} +%dir %{_systemd_util_dir}/repart +%dir %{_systemd_util_dir}/repart/definitions +%dir %{_systemd_util_dir}/repart/definitions/confext.repart.d +%dir %{_systemd_util_dir}/repart/definitions/portable.repart.d +%dir %{_systemd_util_dir}/repart/definitions/sysext.repart.d +%endif %dir %{_systemd_util_dir}/system-sleep %dir %{_udevhwdbdir} %dir %{_udevrulesdir} @@ -40,6 +47,9 @@ %{_bindir}/systemd-cryptsetup %endif %{_bindir}/systemd-hwdb +%if %{without bootstrap} +%{_bindir}/systemd-repart +%endif %{_bindir}/udevadm %if %{without bootstrap} %{_datadir}/bash-completion/completions/bootctl @@ -66,6 +76,7 @@ %{_mandir}/man5/modules-load.d.5.gz %{_mandir}/man5/pstore.conf.5.gz %{_mandir}/man5/pstore.conf.d.5.gz +%{_mandir}/man5/repart.d.5.gz %{_mandir}/man5/sleep.conf.d.5.gz %{_mandir}/man5/systemd-sleep.conf.5.gz %{_mandir}/man5/timesyncd.conf.5.gz @@ -117,6 +128,8 @@ %{_mandir}/man8/systemd-random-seed.service.8.gz %{_mandir}/man8/systemd-remount-fs.8.gz %{_mandir}/man8/systemd-remount-fs.service.8.gz +%{_mandir}/man8/systemd-repart.8.gz +%{_mandir}/man8/systemd-repart.service.8.gz %{_mandir}/man8/systemd-rfkill.8.gz %{_mandir}/man8/systemd-rfkill.service.8.gz %{_mandir}/man8/systemd-rfkill.socket.8.gz @@ -160,7 +173,22 @@ %{_systemd_util_dir}/network/99-default.link %{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list %{_systemd_util_dir}/pstore.conf +%if %{without bootstrap} +%{_systemd_util_dir}/repart/definitions/confext.repart.d/10-root.conf +%{_systemd_util_dir}/repart/definitions/confext.repart.d/20-root-verity.conf +%{_systemd_util_dir}/repart/definitions/confext.repart.d/30-root-verity-sig.conf +%{_systemd_util_dir}/repart/definitions/portable.repart.d/10-root.conf +%{_systemd_util_dir}/repart/definitions/portable.repart.d/20-root-verity.conf +%{_systemd_util_dir}/repart/definitions/portable.repart.d/30-root-verity-sig.conf +%{_systemd_util_dir}/repart/definitions/sysext.repart.d/10-root.conf +%{_systemd_util_dir}/repart/definitions/sysext.repart.d/20-root-verity.conf +%{_systemd_util_dir}/repart/definitions/sysext.repart.d/30-root-verity-sig.conf +%endif %{_systemd_util_dir}/sleep.conf +%if %{without bootstrap} +%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service +%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service +%endif %{_systemd_util_dir}/systemd-backlight %{_systemd_util_dir}/systemd-battery-check %if %{without bootstrap} @@ -341,6 +369,9 @@ %endif %{_unitdir}/systemd-random-seed.service %{_unitdir}/systemd-remount-fs.service +%if %{without bootstrap} +%{_unitdir}/systemd-repart.service +%endif %{_unitdir}/systemd-rfkill.service %{_unitdir}/systemd-rfkill.socket %{_unitdir}/systemd-suspend-then-hibernate.service diff --git a/systemd.changes b/systemd.changes index 4f511f24..6d4b7de1 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 3 07:03:59 UTC 2024 - Franck Bui + +- Move systemd-repart from experimental to udev. + ------------------------------------------------------------------- Fri Mar 22 11:28:59 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index c7a1316f..6798adfb 100644 --- a/systemd.spec +++ b/systemd.spec @@ -342,6 +342,8 @@ Requires(postun):coreutils # 'regenerate_initrd_post' macro is expanded during build, hence this BR. BuildRequires: suse-module-tools %if %{without bootstrap} +# fdisk is a build requirement for repart +BuildRequires: pkgconfig(fdisk) BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 BuildRequires: pkgconfig(libkmod) >= 15 # Enable fido2 and tpm supports in systemd-cryptsetup, systemd-enroll. However @@ -701,8 +703,6 @@ Summary: Experimental systemd features License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires -# fdisk is a build requirement for repart -BuildRequires: pkgconfig(fdisk) %description experimental This package contains optional extra services that are considered as previews @@ -717,7 +717,8 @@ change without the usual backwards-compatibility promises. Components that turn out to be stable and considered as fully supported will be merged into the main package or moved into a dedicated package. -Currently this package contains: repart, oomd, measure, pcrphase and ukify. +Currently this package contains: bsod, oomd, measure, pcrextend, pcrlock, +storagetm, sysupdate, tpm2-setup, userwork and ukify. Have fun (at your own risk). %endif @@ -820,6 +821,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dpasswdqc=%{when_not bootstrap} \ -Dpwquality=%{when_not bootstrap} \ -Dseccomp=%{when_not bootstrap} \ + -Drepart=%{when_not bootstrap} \ -Dstoragetm=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ -Dtpm2=%{when_not bootstrap} \ @@ -855,7 +857,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Dresolve=%{when resolved} \ \ -Doomd=%{when experimental} \ - -Drepart=%{when experimental} \ -Dsysupdate=%{when experimental} \ %if %{with sd_boot} -Dukify=%{when experimental} \ From 00e8918e81cef84a5eec3efbc3fae999825bc0509d5f61c14f1af4635b1a5d22 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 8 Apr 2024 16:03:29 +0000 Subject: [PATCH 967/991] - systemd.spec: preparation for the next version of systemd (i.e. v256), libkmod will be dlopened hence explicitly require it now as it doesn't hurt with the current version. However don't recommend it from systemd by assuming that when module loading from PID1 is needed, udev is installed. - Make systemd-doc subpackage noarch. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1511 --- systemd.changes | 10 ++++++++++ systemd.spec | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/systemd.changes b/systemd.changes index 6d4b7de1..940d335c 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Apr 8 15:45:46 UTC 2024 - Franck Bui + +- systemd.spec: preparation for the next version of systemd (i.e. v256), libkmod + will be dlopened hence explicitly require it now as it doesn't hurt with the + current version. However don't recommend it from systemd by assuming that when + module loading from PID1 is needed, udev is installed. + +- Make systemd-doc subpackage noarch. + ------------------------------------------------------------------- Wed Apr 3 07:03:59 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 6798adfb..ff47c0c1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -328,7 +328,10 @@ Requires: %{name} = %{version}-%{release} %systemd_requires Requires: filesystem %if %{without bootstrap} +# kmod executable is needed by kmod-static-nodes.service Requires: kmod +# By v256 libkmod will be dlopen()ed. +Requires: libkmod %endif Requires: system-group-hardware Requires: group(kvm) @@ -729,6 +732,7 @@ Have fun (at your own risk). %package doc Summary: Additional documentation or doc formats for systemd License: LGPL-2.1-or-later +BuildArch: noarch %description doc A HTML version of the systemd documentation, plus the manual pages From 183a1defb46ae5197309c54d6f8da27b5f77b6367895667269c41a144552edf8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 22 Apr 2024 09:41:04 +0000 Subject: [PATCH 968/991] - Drop _FORTIFY_SOURCE=2 workaround. Since commit 7929e180aa (v253) it shouldn't be needed anymore. - Force _FORTIFY_SOURCE=2 as systemd (ab)use of malloc_usable_size() leads to build issues with FS=3 (bsc#1200819). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1512 --- systemd.changes | 9 +++++++++ systemd.spec | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/systemd.changes b/systemd.changes index 940d335c..81184b8d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 22 09:20:36 UTC 2024 - Franck Bui + +- Drop _FORTIFY_SOURCE=2 workaround. Since commit 7929e180aa (v253) it shouldn't + be needed anymore. + ------------------------------------------------------------------- Mon Apr 8 15:45:46 UTC 2024 - Franck Bui @@ -1236,6 +1242,9 @@ Tue Nov 8 16:33:26 UTC 2022 - Franck Bui For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/c212388f7de8d22a3f7c22b19553548ccc0cdd15...9cdd78585069b133bebcd479f3a204057ad25d76 +- Force _FORTIFY_SOURCE=2 as systemd (ab)use of malloc_usable_size() leads to + build issues with FS=3 (bsc#1200819). + ------------------------------------------------------------------- Tue Oct 25 07:19:15 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index ff47c0c1..77e32b44 100644 --- a/systemd.spec +++ b/systemd.spec @@ -743,11 +743,6 @@ for the C APIs. %autosetup -p1 -n systemd-v%{version}%{archive_version} %build -# Disable _FORTIFY_SOURCE=3 as it get confused by the use of -# malloc_usable_size() (bsc#1200819). There used to be a workaround but it was -# reverted, see 2cfb790391958ada34284290af1f9ab863a515c7 for the details. -export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" - %meson \ -Dmode=release \ -Dversion-tag=%{version}%{archive_version} \ From ef8e19e17dcc9dbd777b4cf155d5fd02f88a0e2bd5a0d7eba2cc0d22899046ca Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 25 Apr 2024 08:58:33 +0000 Subject: [PATCH 969/991] - systemd-testsuite: some of the integration tests depend on the bin, daemon, games and nobody users/groups. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1513 --- systemd.changes | 6 ++++++ systemd.spec | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/systemd.changes b/systemd.changes index 81184b8d..42fef767 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Apr 25 08:57:30 UTC 2024 - Franck Bui + +- systemd-testsuite: some of the integration tests depend on the bin, daemon, + games and nobody users/groups. + ------------------------------------------------------------------- Mon Apr 22 09:20:36 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 77e32b44..bff9c475 100644 --- a/systemd.spec +++ b/systemd.spec @@ -616,6 +616,15 @@ Recommends: knot Recommends: selinux-policy-devel Recommends: selinux-policy-targeted %endif +# System users/groups that some tests rely on. +Requires: group(bin) +Requires: group(daemon) +Requires: group(games) +Requires: group(nobody) +Requires: user(bin) +Requires: user(daemon) +Requires: user(games) +Requires: user(nobody) # The following deps on libs are for test-dlopen-so whereas the pkgconfig ones # are used by test-funtions to find the libs on the host and install them in the # image, see install_missing_libraries() for details. From b19ec777384c2239e92600980a3fc9cbd96d251ea585c35b5c8d02fbdfc71852 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 25 Apr 2024 09:12:22 +0000 Subject: [PATCH 970/991] - Update 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch to adapt sysv-generator-test to the SUSE's specificity brought by this patch. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1514 --- ...ranslate-Required-Start-into-a-Wants.patch | 19 +++++++++++++++++-- systemd.changes | 6 ++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch index ee4e6154..beb4ffd7 100644 --- a/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch +++ b/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch @@ -1,4 +1,4 @@ -From 2c821a6c31ce3e2af53274b26fc34648933f6574 Mon Sep 17 00:00:00 2001 +From 6eb24d1fcf8ea676bd0f0e32a9afda7431eafd77 Mon Sep 17 00:00:00 2001 From: Thomas Blume Date: Wed, 4 May 2016 17:40:04 +0200 Subject: [PATCH] sysv-generator: translate "Required-Start" into a "Wants" @@ -12,11 +12,13 @@ It's been decided to add back the support in systemd instead of insserv-compat, see the comments in bsc#857204. [tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch] +[fbui: patch sysv-generator-test.py to take this SUSE's specifity into account] [wfink: fixes bsc#857204] --- src/sysv-generator/sysv-generator.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + test/sysv-generator-test.py | 2 +- + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c index 4485e2e368..e0833a7179 100644 @@ -37,6 +39,19 @@ index 4485e2e368..e0833a7179 100644 if (r < 0) return log_oom(); } +diff --git a/test/sysv-generator-test.py b/test/sysv-generator-test.py +index 24fafbaaa4..827d802a17 100755 +--- a/test/sysv-generator-test.py ++++ b/test/sysv-generator-test.py +@@ -224,7 +224,7 @@ class SysvGeneratorTest(unittest.TestCase): + self.add_sysv('foo', {'Required-Start': '$named $portmap'}) + s = self.run_generator()[1]['foo.service'] + self.assertEqual(set(s.options('Unit')), +- set(['Documentation', 'SourcePath', 'Description', 'After'])) ++ set(['Documentation', 'SourcePath', 'Description', 'After', 'Wants'])) + self.assertEqual(s.get('Unit', 'After').split(), ['nss-lookup.target', 'rpcbind.target']) + + def test_lsb_deps(self): -- 2.35.3 diff --git a/systemd.changes b/systemd.changes index 42fef767..a6511375 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Apr 25 09:08:21 UTC 2024 - Franck Bui + +- Update 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch to + adapt sysv-generator-test to the SUSE's specificity brought by this patch. + ------------------------------------------------------------------- Thu Apr 25 08:57:30 UTC 2024 - Franck Bui From d0e5bcd9228e6c34064f85af728d95140cc4ee38efaefbb93911e305a27ea341 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 29 Apr 2024 15:04:06 +0000 Subject: [PATCH 971/991] Accepting request 1170779 from home:lnussel:branches:Base:System libkmod is in the libkmod2 package OBS-URL: https://build.opensuse.org/request/show/1170779 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1515 --- systemd.changes | 2 +- systemd.spec | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/systemd.changes b/systemd.changes index a6511375..ec402874 100644 --- a/systemd.changes +++ b/systemd.changes @@ -19,7 +19,7 @@ Mon Apr 22 09:20:36 UTC 2024 - Franck Bui ------------------------------------------------------------------- Mon Apr 8 15:45:46 UTC 2024 - Franck Bui -- systemd.spec: preparation for the next version of systemd (i.e. v256), libkmod +- systemd.spec: preparation for the next version of systemd (i.e. v256), libkmod2 will be dlopened hence explicitly require it now as it doesn't hurt with the current version. However don't recommend it from systemd by assuming that when module loading from PID1 is needed, udev is installed. diff --git a/systemd.spec b/systemd.spec index bff9c475..50d16859 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package systemd # # Copyright (c) 2024 SUSE LLC # @@ -331,7 +331,7 @@ Requires: filesystem # kmod executable is needed by kmod-static-nodes.service Requires: kmod # By v256 libkmod will be dlopen()ed. -Requires: libkmod +Requires: libkmod2 %endif Requires: system-group-hardware Requires: group(kvm) @@ -341,7 +341,7 @@ Requires: group(lp) Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils -Requires(postun):coreutils +Requires(postun): coreutils # 'regenerate_initrd_post' macro is expanded during build, hence this BR. BuildRequires: suse-module-tools %if %{without bootstrap} From cba1ec9535f293d2c927c0c5ea8c9a1b8cb1e0483ff1299207cf40968402c93b Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 7 May 2024 13:22:08 +0000 Subject: [PATCH 972/991] - Import commit 23b15deb203780580cbfad095ae1071bd2133220 23b15deb20 gpt-auto-generator: be more defensive when checking the presence of ESP in fstab (bsc#1218671) 7ed2979654 journalctl: explicitly check < 0 for error fc5e25d0a0 journalctl: make --until work again with --after-cursor and --lines (bsc#1221906) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1516 --- systemd-v255.4+suse.22.g56b53b17bc.tar.xz | 3 --- systemd-v255.4+suse.25.g23b15deb20.tar.xz | 3 +++ systemd.changes | 9 +++++++++ systemd.spec | 6 +++--- 4 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 systemd-v255.4+suse.22.g56b53b17bc.tar.xz create mode 100644 systemd-v255.4+suse.25.g23b15deb20.tar.xz diff --git a/systemd-v255.4+suse.22.g56b53b17bc.tar.xz b/systemd-v255.4+suse.22.g56b53b17bc.tar.xz deleted file mode 100644 index c2a499a7..00000000 --- a/systemd-v255.4+suse.22.g56b53b17bc.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a55e1ddf7c66e69b057cf1bc8a51c0c6d3936b1633881c42c1585a9c8cfda53e -size 10774060 diff --git a/systemd-v255.4+suse.25.g23b15deb20.tar.xz b/systemd-v255.4+suse.25.g23b15deb20.tar.xz new file mode 100644 index 00000000..e2325afd --- /dev/null +++ b/systemd-v255.4+suse.25.g23b15deb20.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:496f31746042ed23f3d27fa9073a342f5ffcd0749a898e67d9f2411e0e8edb1f +size 10773592 diff --git a/systemd.changes b/systemd.changes index ec402874..57504bad 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue May 7 08:33:47 UTC 2024 - Franck Bui + +- Import commit 23b15deb203780580cbfad095ae1071bd2133220 + + 23b15deb20 gpt-auto-generator: be more defensive when checking the presence of ESP in fstab (bsc#1218671) + 7ed2979654 journalctl: explicitly check < 0 for error + fc5e25d0a0 journalctl: make --until work again with --after-cursor and --lines (bsc#1221906) + ------------------------------------------------------------------- Thu Apr 25 09:08:21 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 50d16859..f30e5cbc 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,5 +1,5 @@ # -# spec file for package systemd +# spec file # # Copyright (c) 2024 SUSE LLC # @@ -28,7 +28,7 @@ %else %define systemd_version 255.4 %define systemd_release 0 -%define archive_version +suse.22.g56b53b17bc +%define archive_version +suse.25.g23b15deb20 %endif %define systemd_major %{sub %systemd_version 1 3} @@ -341,7 +341,7 @@ Requires: group(lp) Requires(pre): group(kvm) Requires(post): sed Requires(post): coreutils -Requires(postun): coreutils +Requires(postun):coreutils # 'regenerate_initrd_post' macro is expanded during build, hence this BR. BuildRequires: suse-module-tools %if %{without bootstrap} From fcae9f863a4224f449853f3e0ba7542efa9e591d9619ce6e82f8aa708f3681f9 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 7 May 2024 14:00:15 +0000 Subject: [PATCH 973/991] - Import commit 49fb09fa18a7b81f6b3c3c15aca47fd00940430e (merge of v255.5) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/23b15deb203780580cbfad095ae1071bd2133220...49fb09fa18a7b81f6b3c3c15aca47fd00940430e OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1517 --- systemd-v255.4+suse.25.g23b15deb20.tar.xz | 3 --- systemd-v255.5+suse.26.g49fb09fa18.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v255.4+suse.25.g23b15deb20.tar.xz create mode 100644 systemd-v255.5+suse.26.g49fb09fa18.tar.xz diff --git a/systemd-v255.4+suse.25.g23b15deb20.tar.xz b/systemd-v255.4+suse.25.g23b15deb20.tar.xz deleted file mode 100644 index e2325afd..00000000 --- a/systemd-v255.4+suse.25.g23b15deb20.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:496f31746042ed23f3d27fa9073a342f5ffcd0749a898e67d9f2411e0e8edb1f -size 10773592 diff --git a/systemd-v255.5+suse.26.g49fb09fa18.tar.xz b/systemd-v255.5+suse.26.g49fb09fa18.tar.xz new file mode 100644 index 00000000..94a886e7 --- /dev/null +++ b/systemd-v255.5+suse.26.g49fb09fa18.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa73b185c05db27dd5e5cb678dff884098f46b67d92027181066353ba07b5dbd +size 10790248 diff --git a/systemd.changes b/systemd.changes index 57504bad..f16b0271 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue May 7 13:32:33 UTC 2024 - Franck Bui + +- Import commit 49fb09fa18a7b81f6b3c3c15aca47fd00940430e (merge of v255.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/23b15deb203780580cbfad095ae1071bd2133220...49fb09fa18a7b81f6b3c3c15aca47fd00940430e + ------------------------------------------------------------------- Tue May 7 08:33:47 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f30e5cbc..d2b71a25 100644 --- a/systemd.spec +++ b/systemd.spec @@ -26,9 +26,9 @@ %define systemd_release %{?release_override}%{!?release_override:0} %define archive_version %{nil} %else -%define systemd_version 255.4 +%define systemd_version 255.5 %define systemd_release 0 -%define archive_version +suse.25.g23b15deb20 +%define archive_version +suse.26.g49fb09fa18 %endif %define systemd_major %{sub %systemd_version 1 3} From f2ca322f539193fe965138ced11f44186f965dc1b820ae453c5fdc88f0f1c28e Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 13 May 2024 10:08:47 +0000 Subject: [PATCH 974/991] - Import commit a3dccacb97e94ed91f1c41ce82ef13bfe8fa1a79 (merge of v255.6) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/49fb09fa18a7b81f6b3c3c15aca47fd00940430e...a3dccacb97e94ed91f1c41ce82ef13bfe8fa1a79 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1518 --- files.container | 1 + files.systemd | 1 + systemd-v255.5+suse.26.g49fb09fa18.tar.xz | 3 --- systemd-v255.6+suse.27.ga3dccacb97.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 6 files changed, 15 insertions(+), 5 deletions(-) delete mode 100644 systemd-v255.5+suse.26.g49fb09fa18.tar.xz create mode 100644 systemd-v255.6+suse.27.ga3dccacb97.tar.xz diff --git a/files.container b/files.container index a8371899..8692b83b 100644 --- a/files.container +++ b/files.container @@ -43,6 +43,7 @@ %endif %if %{with importd} +%{_datadir}/bash-completion/completions/importctl %{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service diff --git a/files.systemd b/files.systemd index a6968308..5b76c98e 100644 --- a/files.systemd +++ b/files.systemd @@ -138,6 +138,7 @@ %{_datadir}/bash-completion/completions/systemd-cat %{_datadir}/bash-completion/completions/systemd-cgls %{_datadir}/bash-completion/completions/systemd-cgtop +%{_datadir}/bash-completion/completions/systemd-confext %{_datadir}/bash-completion/completions/systemd-delta %{_datadir}/bash-completion/completions/systemd-detect-virt %{_datadir}/bash-completion/completions/systemd-dissect diff --git a/systemd-v255.5+suse.26.g49fb09fa18.tar.xz b/systemd-v255.5+suse.26.g49fb09fa18.tar.xz deleted file mode 100644 index 94a886e7..00000000 --- a/systemd-v255.5+suse.26.g49fb09fa18.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa73b185c05db27dd5e5cb678dff884098f46b67d92027181066353ba07b5dbd -size 10790248 diff --git a/systemd-v255.6+suse.27.ga3dccacb97.tar.xz b/systemd-v255.6+suse.27.ga3dccacb97.tar.xz new file mode 100644 index 00000000..e063d8b2 --- /dev/null +++ b/systemd-v255.6+suse.27.ga3dccacb97.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd94c03570eb206aa3895e95762db838a47d669d1b88fcacc4ac664da2de3162 +size 10844048 diff --git a/systemd.changes b/systemd.changes index f16b0271..b5531c81 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon May 13 09:06:32 UTC 2024 - Franck Bui + +- Import commit a3dccacb97e94ed91f1c41ce82ef13bfe8fa1a79 (merge of v255.6) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/49fb09fa18a7b81f6b3c3c15aca47fd00940430e...a3dccacb97e94ed91f1c41ce82ef13bfe8fa1a79 + ------------------------------------------------------------------- Tue May 7 13:32:33 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d2b71a25..975f3f26 100644 --- a/systemd.spec +++ b/systemd.spec @@ -26,9 +26,9 @@ %define systemd_release %{?release_override}%{!?release_override:0} %define archive_version %{nil} %else -%define systemd_version 255.5 +%define systemd_version 255.6 %define systemd_release 0 -%define archive_version +suse.26.g49fb09fa18 +%define archive_version +suse.27.ga3dccacb97 %endif %define systemd_major %{sub %systemd_version 1 3} From ebff88e4566131a96c47dcbc5c209e5f5137e27a257848b8ab0b3664ec8d291f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 14 May 2024 11:52:47 +0000 Subject: [PATCH 975/991] - systemd.spec: some of the meson options have been converted to meson features. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1519 --- systemd.changes | 5 +++ systemd.spec | 102 +++++++++++++++++++++++++----------------------- 2 files changed, 58 insertions(+), 49 deletions(-) diff --git a/systemd.changes b/systemd.changes index b5531c81..2542c601 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue May 14 11:47:55 UTC 2024 - Franck Bui + +- systemd.spec: some of the meson options have been converted to meson features. + ------------------------------------------------------------------- Mon May 13 09:06:32 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 975f3f26..9e189901 100644 --- a/systemd.spec +++ b/systemd.spec @@ -34,10 +34,10 @@ %define systemd_major %{sub %systemd_version 1 3} %define _testsuitedir %{_systemd_util_dir}/tests -%define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit +%define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit -# Similar to %%with but returns true/false. The 'true' value can be redefined -# when a second parameter is passed. +# Similar to %%with but return true/false. The value when the condition is +# verified can be redefined when a second parameter is passed. %define __when_1() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}} %define __when_2() %{expand:%%{?with_%{1}:%{2}}%%{!?with_%{1}:false}} %define when() %{expand:%%__when_%# %{*}} @@ -46,6 +46,10 @@ %define __when_not_2() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:%{2}}} %define when_not() %{expand:%%__when_not_%# %{*}} +# Same as above but return enabled/disabled instead. +%define disabled_with() %{expand:%%{?with_%{1}:disabled}%%{!?with_%{1}:enabled}} +%define enabled_with() %{expand:%%{?with_%{1}:enabled}%%{!?with_%{1}:disabled}} + %if "%{flavor}" == "mini" %global mini -mini %global with_bootstrap 1 @@ -786,70 +790,70 @@ for the C APIs. -Ddebug-shell=/bin/bash \ \ -Dbump-proc-sys-fs-nr-open=false \ - -Ddbus=false \ + -Ddbus=disabled \ -Ddefault-network=false \ - -Dglib=false \ + -Dglib=disabled \ -Dgshadow=false \ -Dldconfig=false \ - -Dlibidn=false \ + -Dlibidn=disabled \ -Dsmack=false \ - -Dxenctrl=false \ - -Dxkbcommon=false \ + -Dxenctrl=disabled \ + -Dxkbcommon=disabled \ \ -Dpstore=true \ \ - -Daudit=%{when_not bootstrap} \ - -Dbpf-framework=%{when_not bootstrap} \ - -Dbzip2=%{when importd} \ + -Daudit=%{disabled_with bootstrap} \ + -Dbpf-framework=%{disabled_with bootstrap} \ + -Dbzip2=%{enabled_with importd} \ -Defi=%{when_not bootstrap} \ - -Delfutils=%{when_not bootstrap} \ - -Dfdisk=%{when_not bootstrap} \ - -Dgcrypt=%{when_not bootstrap} \ - -Dgnutls=%{when_not bootstrap} \ - -Dhtml=%{when_not bootstrap} \ + -Delfutils=%{disabled_with bootstrap} \ + -Dfdisk=%{disabled_with bootstrap} \ + -Dgcrypt=%{disabled_with bootstrap} \ + -Dgnutls=%{disabled_with bootstrap} \ + -Dhtml=%{disabled_with bootstrap} \ -Dima=%{when_not bootstrap} \ -Dkernel-install=%{when_not bootstrap} \ - -Dlibfido2=%{when_not bootstrap} \ - -Dlibidn2=%{when resolved} \ - -Dlibiptc=%{when_not bootstrap} \ - -Dlz4=%{when_not bootstrap} \ - -Dqrencode=%{when_not bootstrap} \ - -Dkmod=%{when_not bootstrap} \ - -Dlibcryptsetup=%{when_not bootstrap} \ - -Dlibcryptsetup-plugins=%{when_not bootstrap} \ - -Dlibcurl=%{when_not bootstrap} \ - -Dman=%{when_not bootstrap} \ - -Dmicrohttpd=%{when journal_remote} \ + -Dlibfido2=%{disabled_with bootstrap} \ + -Dlibidn2=%{enabled_with resolved} \ + -Dlibiptc=%{disabled_with bootstrap} \ + -Dlz4=%{disabled_with bootstrap} \ + -Dqrencode=%{disabled_with bootstrap} \ + -Dkmod=%{disabled_with bootstrap} \ + -Dlibcryptsetup=%{disabled_with bootstrap} \ + -Dlibcryptsetup-plugins=%{disabled_with bootstrap} \ + -Dlibcurl=%{disabled_with bootstrap} \ + -Dman=%{disabled_with bootstrap} \ + -Dmicrohttpd=%{enabled_with journal_remote} \ -Dnss-myhostname=%{when_not bootstrap} \ - -Dnss-mymachines=%{when machined} \ - -Dnss-resolve=%{when resolved} \ + -Dnss-mymachines=%{enabled_with machined} \ + -Dnss-resolve=%{enabled_with resolved} \ -Dnss-systemd=%{when_not bootstrap} \ - -Dopenssl=%{when_not bootstrap} \ - -Dp11kit=%{when_not bootstrap} \ - -Dpasswdqc=%{when_not bootstrap} \ - -Dpwquality=%{when_not bootstrap} \ - -Dseccomp=%{when_not bootstrap} \ - -Drepart=%{when_not bootstrap} \ + -Dopenssl=%{disabled_with bootstrap} \ + -Dp11kit=%{disabled_with bootstrap} \ + -Dpasswdqc=%{disabled_with bootstrap} \ + -Dpwquality=%{disabled_with bootstrap} \ + -Dseccomp=%{disabled_with bootstrap} \ + -Drepart=%{disabled_with bootstrap} \ -Dstoragetm=%{when_not bootstrap} \ -Dtpm=%{when_not bootstrap} \ - -Dtpm2=%{when_not bootstrap} \ + -Dtpm2=%{disabled_with bootstrap} \ -Dtranslations=%{when_not bootstrap} \ -Duserdb=%{when_not bootstrap} \ - -Dxz=%{when_not bootstrap} \ - -Dzlib=%{when importd} \ - -Dzstd=%{when_not bootstrap} \ + -Dxz=%{disabled_with bootstrap} \ + -Dzlib=%{enabled_with importd} \ + -Dzstd=%{disabled_with bootstrap} \ \ - -Dapparmor=%{when apparmor} \ + -Dapparmor=%{enabled_with apparmor} \ -Dcoredump=%{when coredump} \ - -Dhomed=%{when homed} \ - -Dimportd=%{when importd} \ + -Dhomed=%{enabled_with homed} \ + -Dimportd=%{enabled_with importd} \ -Dmachined=%{when machined} \ -Dnetworkd=%{when networkd} \ -Dportabled=%{when portabled} \ - -Dremote=%{when journal_remote} \ - -Dselinux=%{when selinux} \ + -Dremote=%{enabled_with journal_remote} \ + -Dselinux=%{enabled_with selinux} \ \ - -Dbootloader=%{when sd_boot} \ + -Dbootloader=%{enabled_with sd_boot} \ -Defi-color-highlight="black,green" \ \ -Dsbat-distro="%{?sbat_distro}" \ @@ -865,13 +869,13 @@ for the C APIs. -Dresolve=%{when resolved} \ \ -Doomd=%{when experimental} \ - -Dsysupdate=%{when experimental} \ + -Dsysupdate=%{enabled_with experimental} \ %if %{with sd_boot} - -Dukify=%{when experimental} \ + -Dukify=%{enabled_with experimental} \ %else - -Dukify=false \ + -Dukify=disabled \ %endif - -Dvmspawn=%{when experimental} \ + -Dvmspawn=%{enabled_with experimental} \ \ -Dtests=%{when testsuite unsafe} \ -Dinstall-tests=%{when testsuite} From fc3c5b8fc92c24b9aa1361a5fbd4cd9a1b6d4d2fbdecea08b0729377b3059b96 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 15 May 2024 08:10:08 +0000 Subject: [PATCH 976/991] - systemd.spec: update the minimal required version of dracut. Also drop conflicts with mkinitrd: this package has been removed since quite some time now. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1520 --- systemd.changes | 7 +++++++ systemd.spec | 4 +--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 2542c601..3bfbc243 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed May 15 08:05:43 UTC 2024 - Franck Bui + +- systemd.spec: update the minimal required version of dracut. Also drop + conflicts with mkinitrd: this package has been removed since quite some time + now. + ------------------------------------------------------------------- Tue May 14 11:47:55 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9e189901..d54003dd 100644 --- a/systemd.spec +++ b/systemd.spec @@ -172,7 +172,6 @@ Recommends: libbpf1 %endif Provides: group(systemd-journal) Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 Provides: sbin_init Provides: sysvinit:/sbin/init Conflicts: sbin_init @@ -367,9 +366,8 @@ Recommends: libtss2-mu0 Recommends: libtss2-rc0 %endif Conflicts: ConsoleKit < 0.4.1 -Conflicts: dracut < 044.1 +Conflicts: dracut < 059 Conflicts: filesystem < 11.5 -Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 %if %{with bootstrap} Conflicts: udev From 7b1278ac37d0b8204f6195b6930cd8e25a3cd09b68ea5790a8d9352c007b1a9a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 16 May 2024 08:48:39 +0000 Subject: [PATCH 977/991] - Import commit 3ea0e1dff3d7ca74c072cdcc8b371034125803d6 3ea0e1dff3 test/test-rpm-macros.sh: add build directory to pkg-config search path 1cbf1c82b5 libsystemd-network: skip dhcp server test in case of EAFNOSUPPORT 38f7ac60db sd-event: increase test-event timeout to 120s OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1521 --- systemd-v255.6+suse.27.ga3dccacb97.tar.xz | 3 --- systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz | 3 +++ systemd.changes | 9 +++++++++ systemd.spec | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) delete mode 100644 systemd-v255.6+suse.27.ga3dccacb97.tar.xz create mode 100644 systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz diff --git a/systemd-v255.6+suse.27.ga3dccacb97.tar.xz b/systemd-v255.6+suse.27.ga3dccacb97.tar.xz deleted file mode 100644 index e063d8b2..00000000 --- a/systemd-v255.6+suse.27.ga3dccacb97.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd94c03570eb206aa3895e95762db838a47d669d1b88fcacc4ac664da2de3162 -size 10844048 diff --git a/systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz b/systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz new file mode 100644 index 00000000..245a22fc --- /dev/null +++ b/systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be22e57b7012fb5b7f54c2daf980a3f8a8ed0890759b529c1baa0a2d3bb6ff2c +size 10843156 diff --git a/systemd.changes b/systemd.changes index 3bfbc243..b7b37a22 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu May 16 08:27:27 UTC 2024 - Franck Bui + +- Import commit 3ea0e1dff3d7ca74c072cdcc8b371034125803d6 + + 3ea0e1dff3 test/test-rpm-macros.sh: add build directory to pkg-config search path + 1cbf1c82b5 libsystemd-network: skip dhcp server test in case of EAFNOSUPPORT + 38f7ac60db sd-event: increase test-event timeout to 120s + ------------------------------------------------------------------- Wed May 15 08:05:43 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d54003dd..116862d1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -28,7 +28,7 @@ %else %define systemd_version 255.6 %define systemd_release 0 -%define archive_version +suse.27.ga3dccacb97 +%define archive_version +suse.30.g3ea0e1dff3 %endif %define systemd_major %{sub %systemd_version 1 3} From d09e66c09eb82d6f5313c9f144785c34c22d285d5ad39f37bee5557be608fc66 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 16 May 2024 14:23:48 +0000 Subject: [PATCH 978/991] Accepting request 1174450 from home:radolin:branches:Base:System - systemd.spec: enable tests during build OBS-URL: https://build.opensuse.org/request/show/1174450 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1522 --- systemd.changes | 5 +++++ systemd.spec | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/systemd.changes b/systemd.changes index b7b37a22..9b7eaed4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu May 16 10:01:20 UTC 2024 - Radoslav Kolev + +- systemd.spec: enable tests during build + ------------------------------------------------------------------- Thu May 16 08:27:27 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 116862d1..3ed01092 100644 --- a/systemd.spec +++ b/systemd.spec @@ -139,6 +139,11 @@ BuildRequires: pam-devel BuildRequires: python3-Jinja2 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 +#The following packages are only required by the tests during %check +BuildRequires: acl +BuildRequires: distribution-release +BuildRequires: python3-pefile +BuildRequires: timezone %if %{with bootstrap} #!BuildIgnore: dbus-1 @@ -1089,6 +1094,10 @@ rm -fr %{buildroot}%{_docdir}/systemd %systemd_pre systemd-journald-audit.socket %systemd_pre systemd-userdbd.service +#Execute the tests +%check +%meson_test + %post if [ $1 -eq 1 ]; then # Make /etc/machine-id an empty file during package installation. On the From aea07c1d293bb964680ce558678b81078b84f9839e83a7285503ccbbdc60e165 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 16 May 2024 14:28:26 +0000 Subject: [PATCH 979/991] emphasize that it's the *unit* tests that are run in %check OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1523 --- systemd.changes | 2 +- systemd.spec | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/systemd.changes b/systemd.changes index 9b7eaed4..6ac38856 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Thu May 16 10:01:20 UTC 2024 - Radoslav Kolev -- systemd.spec: enable tests during build +- systemd.spec: enable unit tests during build ------------------------------------------------------------------- Thu May 16 08:27:27 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3ed01092..7c73a51d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -139,7 +139,7 @@ BuildRequires: pam-devel BuildRequires: python3-Jinja2 BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(blkid) >= 2.26 -#The following packages are only required by the tests during %check +# The following packages are only required by the execution of the unit tests during %%check BuildRequires: acl BuildRequires: distribution-release BuildRequires: python3-pefile @@ -1094,8 +1094,8 @@ rm -fr %{buildroot}%{_docdir}/systemd %systemd_pre systemd-journald-audit.socket %systemd_pre systemd-userdbd.service -#Execute the tests %check +# Run the unit tests. %meson_test %post From 4f0e04e97b16ab0af241b5a3c912a649d6d656f589c4a2b63d1c884a719b26f8 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 22 May 2024 08:58:36 +0000 Subject: [PATCH 980/991] - systemd.spec: introduce %{meson_extra_configure_options} to allow passing extra meson configure options. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1524 --- systemd.changes | 6 ++++++ systemd.spec | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/systemd.changes b/systemd.changes index 6ac38856..c53a0ba2 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed May 22 08:56:40 UTC 2024 - Franck Bui + +- systemd.spec: introduce %{meson_extra_configure_options} to allow passing + extra meson configure options. + ------------------------------------------------------------------- Thu May 16 10:01:20 UTC 2024 - Radoslav Kolev diff --git a/systemd.spec b/systemd.spec index 7c73a51d..fa545cb4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -881,7 +881,9 @@ for the C APIs. -Dvmspawn=%{enabled_with experimental} \ \ -Dtests=%{when testsuite unsafe} \ - -Dinstall-tests=%{when testsuite} + -Dinstall-tests=%{when testsuite} \ + \ + %{?meson_extra_configure_options} %meson_build From edd20e7ed2057cb47836ab5c7ba4aa269f0a8d9b6e3baf8b10b27b4d6e76c838 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 31 May 2024 11:33:41 +0000 Subject: [PATCH 981/991] - Import commit b9c17562f612ab2cd8cfee1960714c58d0a6c593 b9c17562f6 99-systemd.rules: rework SYSTEMD_READY logic for device mapper c5003fc15e pcrlock: add make_pcrlock_record_from_stream OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1525 --- systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz | 3 --- systemd-v255.6+suse.32.gb9c17562f6.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) delete mode 100644 systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz create mode 100644 systemd-v255.6+suse.32.gb9c17562f6.tar.xz diff --git a/systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz b/systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz deleted file mode 100644 index 245a22fc..00000000 --- a/systemd-v255.6+suse.30.g3ea0e1dff3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:be22e57b7012fb5b7f54c2daf980a3f8a8ed0890759b529c1baa0a2d3bb6ff2c -size 10843156 diff --git a/systemd-v255.6+suse.32.gb9c17562f6.tar.xz b/systemd-v255.6+suse.32.gb9c17562f6.tar.xz new file mode 100644 index 00000000..d34d62aa --- /dev/null +++ b/systemd-v255.6+suse.32.gb9c17562f6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4cd6c23362a3315fa24f69e79d19a92b4ba861a62396e400d59e29500cd1038 +size 10850328 diff --git a/systemd.changes b/systemd.changes index c53a0ba2..99f476bd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri May 31 11:17:50 UTC 2024 - Franck Bui + +- Import commit b9c17562f612ab2cd8cfee1960714c58d0a6c593 + + b9c17562f6 99-systemd.rules: rework SYSTEMD_READY logic for device mapper + c5003fc15e pcrlock: add make_pcrlock_record_from_stream + ------------------------------------------------------------------- Wed May 22 08:56:40 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index fa545cb4..320c4f5a 100644 --- a/systemd.spec +++ b/systemd.spec @@ -28,7 +28,7 @@ %else %define systemd_version 255.6 %define systemd_release 0 -%define archive_version +suse.30.g3ea0e1dff3 +%define archive_version +suse.32.gb9c17562f6 %endif %define systemd_major %{sub %systemd_version 1 3} From 6230e4e0f049b85831398073b384514e1c221f07de515afc12a9d132e724ded0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 31 May 2024 12:16:46 +0000 Subject: [PATCH 982/991] - Import commit 603cd1d4d81147d4f2eccd5e352064a4215119b4 (merge of v255.7) For a complete list of changes, visit: https://github.com/openSUSE/systemd/compare/b9c17562f612ab2cd8cfee1960714c58d0a6c593...603cd1d4d81147d4f2eccd5e352064a4215119b4 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1526 --- systemd-v255.6+suse.32.gb9c17562f6.tar.xz | 3 --- systemd-v255.7+suse.33.g603cd1d4d8.tar.xz | 3 +++ systemd.changes | 8 ++++++++ systemd.spec | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 systemd-v255.6+suse.32.gb9c17562f6.tar.xz create mode 100644 systemd-v255.7+suse.33.g603cd1d4d8.tar.xz diff --git a/systemd-v255.6+suse.32.gb9c17562f6.tar.xz b/systemd-v255.6+suse.32.gb9c17562f6.tar.xz deleted file mode 100644 index d34d62aa..00000000 --- a/systemd-v255.6+suse.32.gb9c17562f6.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4cd6c23362a3315fa24f69e79d19a92b4ba861a62396e400d59e29500cd1038 -size 10850328 diff --git a/systemd-v255.7+suse.33.g603cd1d4d8.tar.xz b/systemd-v255.7+suse.33.g603cd1d4d8.tar.xz new file mode 100644 index 00000000..056a8b28 --- /dev/null +++ b/systemd-v255.7+suse.33.g603cd1d4d8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59f09021d3db1bef3f3ee27aeff4ed734c1226d3a9538eca7cc9de291fa483e9 +size 10852252 diff --git a/systemd.changes b/systemd.changes index 99f476bd..03e33514 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri May 31 11:37:10 UTC 2024 - Franck Bui + +- Import commit 603cd1d4d81147d4f2eccd5e352064a4215119b4 (merge of v255.7) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/b9c17562f612ab2cd8cfee1960714c58d0a6c593...603cd1d4d81147d4f2eccd5e352064a4215119b4 + ------------------------------------------------------------------- Fri May 31 11:17:50 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 320c4f5a..d2d74780 100644 --- a/systemd.spec +++ b/systemd.spec @@ -26,9 +26,9 @@ %define systemd_release %{?release_override}%{!?release_override:0} %define archive_version %{nil} %else -%define systemd_version 255.6 +%define systemd_version 255.7 %define systemd_release 0 -%define archive_version +suse.32.gb9c17562f6 +%define archive_version +suse.33.g603cd1d4d8 %endif %define systemd_major %{sub %systemd_version 1 3} From 6c605187914eaa55a2e3596cfcd466702e0ad05c96e2b107b6bd01ea12e7bdcb Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 31 May 2024 14:26:42 +0000 Subject: [PATCH 983/991] - Rename PAM config file 'systemd-user' into 'pam.systemd-user'. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1527 --- systemd-user => pam.systemd-user | 0 systemd.changes | 5 +++++ systemd.spec | 6 +++--- 3 files changed, 8 insertions(+), 3 deletions(-) rename systemd-user => pam.systemd-user (100%) diff --git a/systemd-user b/pam.systemd-user similarity index 100% rename from systemd-user rename to pam.systemd-user diff --git a/systemd.changes b/systemd.changes index 03e33514..7bb56ec8 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 31 12:49:46 UTC 2024 - Franck Bui + +- Rename PAM config file 'systemd-user' into 'pam.systemd-user'. + ------------------------------------------------------------------- Fri May 31 11:37:10 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index d2d74780..257e7f18 100644 --- a/systemd.spec +++ b/systemd.spec @@ -195,7 +195,6 @@ Obsoletes: suspend <= 1.0 Obsoletes: systemd-analyze < 201 Source0: systemd-v%{version}%{archive_version}.tar.xz Source1: systemd-rpmlintrc -Source2: systemd-user Source3: systemd-update-helper %if %{with sysvcompat} Source4: systemd-sysv-install @@ -203,6 +202,7 @@ Source4: systemd-sysv-install Source5: tmpfiles-suse.conf Source6: baselibs.conf Source7: triggers.systemd +Source8: pam.systemd-user Source14: kbd-model-map.legacy Source100: fixlet-container-post.sh @@ -927,8 +927,8 @@ mkdir -p %{buildroot}%{_modulesloaddir} rm -rf %{buildroot}%{_sysconfdir}/systemd/system/*.target.{requires,wants} rm -f %{buildroot}%{_sysconfdir}/systemd/system/default.target -# Replace upstream systemd-user with the openSUSE one. -install -m0644 -D --target-directory=%{buildroot}%{_pam_vendordir} %{SOURCE2} +# Replace upstream PAM configuration files with openSUSE ones. +install -m0644 -D %{SOURCE8} %{buildroot}%{_pam_vendordir}/systemd-user # Don't enable wall ask password service, it spams every console (bnc#747783). rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path From 267555616500e812af9ad806b0328a4bfe4a4c07c652cd6343b278c815c6ab8a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jun 2024 13:23:35 +0000 Subject: [PATCH 984/991] - Add 5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch This revert the backport of the broken commit 28459ba1f4df until a fix is released in the v255-stable tree (see pr#33216). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1528 --- ...the-pty-slave-fd-to-transient-servic.patch | 39 +++++++++++++++++++ systemd.changes | 8 ++++ systemd.spec | 1 + 3 files changed, 48 insertions(+) create mode 100644 5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch diff --git a/5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch b/5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch new file mode 100644 index 00000000..a4c87528 --- /dev/null +++ b/5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch @@ -0,0 +1,39 @@ +From 51f4a0be4895bedbde9b23339a5953d965411334 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 6 Jun 2024 15:15:56 +0200 +Subject: [PATCH 5003/5003] Revert "run: pass the pty slave fd to transient + service" + +This reverts commit 182b80bede28ef6e9c0d0edd34c56a467d22dee5. +--- + src/run/run.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/src/run/run.c b/src/run/run.c +index 14cc9f9514..4c4a76638d 100644 +--- a/src/run/run.c ++++ b/src/run/run.c +@@ -808,17 +808,11 @@ static int transient_service_set_properties(sd_bus_message *m, const char *pty_p + } + + if (pty_path) { +- _cleanup_close_ int pty_slave = -EBADF; +- +- pty_slave = open_terminal(pty_path, O_RDWR|O_NOCTTY|O_CLOEXEC); +- if (pty_slave < 0) +- return pty_slave; +- + r = sd_bus_message_append(m, + "(sv)(sv)(sv)(sv)", +- "StandardInputFileDescriptor", "h", pty_slave, +- "StandardOutputFileDescriptor", "h", pty_slave, +- "StandardErrorFileDescriptor", "h", pty_slave, ++ "StandardInput", "s", "tty", ++ "StandardOutput", "s", "tty", ++ "StandardError", "s", "tty", + "TTYPath", "s", pty_path); + if (r < 0) + return bus_log_create_error(r); +-- +2.35.3 + diff --git a/systemd.changes b/systemd.changes index 7bb56ec8..df927936 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jun 6 13:18:29 UTC 2024 - Franck Bui + +- Add 5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch + + This revert the backport of the broken commit 28459ba1f4df until a fix is + released in the v255-stable tree (see pr#33216). + ------------------------------------------------------------------- Fri May 31 12:49:46 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 257e7f18..984db19b 100644 --- a/systemd.spec +++ b/systemd.spec @@ -247,6 +247,7 @@ Patch: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch # will be removed as soon as a proper fix will be merged by upstream. Patch: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch Patch: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch +Patch: 5003-Revert-run-pass-the-pty-slave-fd-to-transient-servic.patch %endif %description From b7e80c494a95fba92d274dfbf19fa2d1b65080a14735b0af849877ed5d454dd3 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jun 2024 10:13:54 +0000 Subject: [PATCH 985/991] - Don't pull the devel packages in when installing the testsuite package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1529 --- systemd.changes | 5 +++++ systemd.spec | 15 +++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/systemd.changes b/systemd.changes index df927936..7ce9ed37 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jun 18 10:12:01 UTC 2024 - Franck Bui + +- Don't pull the devel packages in when installing the testsuite package. + ------------------------------------------------------------------- Thu Jun 6 13:18:29 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 984db19b..a5aba640 100644 --- a/systemd.spec +++ b/systemd.spec @@ -545,6 +545,7 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(pwquality) # These Recommends because some symbols of these libs are dlopen()ed by homed +Recommends: libcryptsetup12 Recommends: libfido2 Recommends: libpwquality1 Recommends: libqrencode4 @@ -639,12 +640,6 @@ Requires: user(nobody) Requires: libidn2 Requires: pkgconfig(libidn2) %endif -%if %{with experimental} -Requires: libpwquality1 -Requires: libqrencode4 -Requires: pkgconfig(libqrencode) -Requires: pkgconfig(pwquality) -%endif Requires: %{name} = %{version}-%{release} Requires: attr Requires: binutils @@ -656,6 +651,10 @@ Requires: iproute2 Requires: jq Requires: libcap-progs Requires: libfido2 +%if %{with experimental} +Requires: libpwquality1 +Requires: libqrencode4 +%endif Requires: libtss2-esys0 Requires: libtss2-mu0 Requires: libtss2-rc0 @@ -669,10 +668,6 @@ Requires: quota Requires: socat Requires: squashfs Requires: systemd-container -Requires: pkgconfig(libfido2) -Requires: pkgconfig(tss2-esys) -Requires: pkgconfig(tss2-mu) -Requires: pkgconfig(tss2-rc) %if %{with sd_boot} Requires: systemd-boot %endif From 100675dd27318c085fdec93dd54bb734c0ce22ed5baba92f2793740a03c04bb2 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jun 2024 10:20:35 +0000 Subject: [PATCH 986/991] - Merge systemd-coredump back into the main package (bsc#1091684) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1530 --- files.coredump | 23 ----------------------- files.systemd | 32 ++++++++++++++++++++++++++++++++ systemd.changes | 5 +++++ systemd.spec | 39 ++++----------------------------------- 4 files changed, 41 insertions(+), 58 deletions(-) delete mode 100644 files.coredump diff --git a/files.coredump b/files.coredump deleted file mode 100644 index f78f2f1b..00000000 --- a/files.coredump +++ /dev/null @@ -1,23 +0,0 @@ -# -# Please keep the list sorted (with `LC_ALL=C sort`). -# -%dir %{_localstatedir}/lib/systemd/coredump -%dir %{_sysconfdir}/systemd/coredump.conf.d -%{_bindir}/coredumpctl -%if %{without bootstrap} -%{_datadir}/bash-completion/completions/coredumpctl -%{_datadir}/zsh/site-functions/_coredumpctl -%{_mandir}/man1/coredumpctl.1.gz -%{_mandir}/man5/coredump.conf.5.gz -%{_mandir}/man5/coredump.conf.d.5.gz -%{_mandir}/man8/systemd-coredump.8.gz -%{_mandir}/man8/systemd-coredump.socket.8.gz -%{_mandir}/man8/systemd-coredump@.service.8.gz -%endif -%{_sysctldir}/50-coredump.conf -%{_systemd_util_dir}/coredump.conf -%{_systemd_util_dir}/systemd-coredump -%{_sysusersdir}/systemd-coredump.conf -%{_unitdir}/sockets.target.wants/systemd-coredump.socket -%{_unitdir}/systemd-coredump.socket -%{_unitdir}/systemd-coredump@.service diff --git a/files.systemd b/files.systemd index 5b76c98e..45a34a3a 100644 --- a/files.systemd +++ b/files.systemd @@ -25,12 +25,14 @@ %dir %{_libdir}/systemd %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog +%dir %{_localstatedir}/lib/systemd/coredump %dir %{_localstatedir}/lib/systemd/rpm %dir %{_modprobedir} %dir %{_sysconfdir}/X11/xorg.conf.d %dir %{_sysconfdir}/binfmt.d %dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/coredump.conf.d %dir %{_sysconfdir}/systemd/journald.conf.d %dir %{_sysconfdir}/systemd/logind.conf.d %dir %{_sysconfdir}/systemd/system @@ -92,6 +94,9 @@ %license LICENSE.GPL2 %license LICENSE.LGPL2.1 %{_bindir}/busctl +%if %{without bootstrap} +%{_bindir}/coredumpctl +%endif %{_bindir}/hostnamectl %{_bindir}/journalctl %{_bindir}/localectl @@ -128,6 +133,7 @@ %if %{without bootstrap} %{_bindir}/userdbctl %{_datadir}/bash-completion/completions/busctl +%{_datadir}/bash-completion/completions/coredumpctl %{_datadir}/bash-completion/completions/hostnamectl %{_datadir}/bash-completion/completions/journalctl %{_datadir}/bash-completion/completions/localectl @@ -192,6 +198,7 @@ %{_datadir}/systemd/language-fallback-map %if %{without bootstrap} %{_datadir}/zsh/site-functions/_busctl +%{_datadir}/zsh/site-functions/_coredumpctl %{_datadir}/zsh/site-functions/_hostnamectl %{_datadir}/zsh/site-functions/_journalctl %{_datadir}/zsh/site-functions/_localectl @@ -216,6 +223,7 @@ %{_libdir}/systemd/libsystemd-shared-%{systemd_major}.so %if %{without bootstrap} %{_mandir}/man1/busctl.1.gz +%{_mandir}/man1/coredumpctl.1.gz %{_mandir}/man1/hostnamectl.1.gz %{_mandir}/man1/init.1.gz %{_mandir}/man1/journalctl.1.gz @@ -251,6 +259,8 @@ %{_mandir}/man1/timedatectl.1.gz %{_mandir}/man1/userdbctl.1.gz %{_mandir}/man5/binfmt.d.5.gz +%{_mandir}/man5/coredump.conf.5.gz +%{_mandir}/man5/coredump.conf.d.5.gz %{_mandir}/man5/dnssec-trust-anchors.d.5.gz %{_mandir}/man5/environment.d.5.gz %{_mandir}/man5/extension-release.5.gz @@ -340,6 +350,9 @@ %{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz %{_mandir}/man8/systemd-confext.8.gz %{_mandir}/man8/systemd-confext.service.8.gz +%{_mandir}/man8/systemd-coredump.8.gz +%{_mandir}/man8/systemd-coredump.socket.8.gz +%{_mandir}/man8/systemd-coredump@.service.8.gz %{_mandir}/man8/systemd-debug-generator.8.gz %{_mandir}/man8/systemd-environment-d-generator.8.gz %{_mandir}/man8/systemd-getty-generator.8.gz @@ -405,8 +418,14 @@ %{_sbindir}/reboot %{_sbindir}/shutdown %{_sysconfdir}/xdg/systemd/user +%if %{without bootstrap} +%{_sysctldir}/50-coredump.conf +%endif %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator +%if %{without bootstrap} +%{_systemd_util_dir}/coredump.conf +%endif %{_systemd_util_dir}/journald.conf %{_systemd_util_dir}/logind.conf %{_systemd_util_dir}/rpm/fixlet-systemd-post.sh @@ -416,6 +435,9 @@ %{_systemd_util_dir}/systemd-binfmt %{_systemd_util_dir}/systemd-boot-check-no-failures %{_systemd_util_dir}/systemd-cgroups-agent +%if %{without bootstrap} +%{_systemd_util_dir}/systemd-coredump +%endif %{_systemd_util_dir}/systemd-executor %{_systemd_util_dir}/systemd-hostnamed %{_systemd_util_dir}/systemd-journald @@ -469,6 +491,9 @@ %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator %{_systemdusergeneratordir}/systemd-xdg-autostart-generator +%if %{without bootstrap} +%{_sysusersdir}/systemd-coredump.conf +%endif %{_sysusersdir}/systemd-journal.conf %{_tmpfilesdir}/credstore.conf %{_tmpfilesdir}/journal-nocow.conf @@ -558,6 +583,9 @@ %{_unitdir}/slices.target %{_unitdir}/smartcard.target %{_unitdir}/sockets.target +%if %{without bootstrap} +%{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket %{_unitdir}/sockets.target.wants/systemd-sysext.socket @@ -601,6 +629,10 @@ %{_unitdir}/systemd-binfmt.service %{_unitdir}/systemd-boot-check-no-failures.service %{_unitdir}/systemd-confext.service +%if %{without bootstrap} +%{_unitdir}/systemd-coredump.socket +%{_unitdir}/systemd-coredump@.service +%endif %{_unitdir}/systemd-exit.service %{_unitdir}/systemd-halt.service %{_unitdir}/systemd-hostnamed.service diff --git a/systemd.changes b/systemd.changes index 7ce9ed37..f0da168a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jun 18 10:19:19 UTC 2024 - Franck Bui + +- Merge systemd-coredump back into the main package (bsc#1091684) + ------------------------------------------------------------------- Tue Jun 18 10:12:01 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index a5aba640..efa4850e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -56,7 +56,6 @@ %else %global mini %nil %bcond_without apparmor -%bcond_without coredump %bcond_without homed %bcond_without importd %bcond_without journal_remote @@ -185,6 +184,8 @@ Obsoletes: nss-systemd < %{version}-%{release} Provides: nss-systemd = %{version}-%{release} Obsoletes: nss-myhostname < %{version}-%{release} Provides: nss-myhostname = %{version}-%{release} +Provides: systemd-coredump = %{version}-%{release} +Obsoletes: systemd-coredump < %{version}-%{release} Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} Provides: systemd-sysvinit = %{version}-%{release} @@ -216,7 +217,6 @@ Source204: files.devel Source205: files.sysvcompat Source206: files.uefi-boot Source207: files.experimental -Source208: files.coredump Source209: files.homed Source210: files.lang Source211: files.journal-remote @@ -422,20 +422,6 @@ Requires: this-is-only-for-build-envs This package contains the dynamic library libudev, which provides access to udev device information -%if %{with coredump} -%package coredump -Summary: Systemd tools for coredump management -License: LGPL-2.1-or-later -Requires: %{name} = %{version}-%{release} -%systemd_requires -Provides: systemd:%{_bindir}/coredumpctl - -%description coredump -Systemd tools to store and manage coredumps. - -Visit https://systemd.io/COREDUMP for more details. -%endif - %if %{with sd_boot} %package boot Summary: A simple UEFI boot manager @@ -671,9 +657,6 @@ Requires: systemd-container %if %{with sd_boot} Requires: systemd-boot %endif -%if %{with coredump} -Requires: systemd-coredump -%endif %if %{with experimental} Requires: systemd-experimental %endif @@ -843,7 +826,7 @@ for the C APIs. -Dzstd=%{disabled_with bootstrap} \ \ -Dapparmor=%{enabled_with apparmor} \ - -Dcoredump=%{when coredump} \ + -Dcoredump=%{when_not bootstrap} \ -Dhomed=%{enabled_with homed} \ -Dimportd=%{enabled_with importd} \ -Dmachined=%{when machined} \ @@ -1150,6 +1133,7 @@ journalctl --update-catalog || : %systemd_postun_with_restart systemd-userdbd.service %posttrans +%restore_rpmsave systemd/coredump.conf %restore_rpmsave systemd/journald.conf %restore_rpmsave systemd/logind.conf %restore_rpmsave systemd/system.conf @@ -1239,16 +1223,6 @@ fi %{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || : %endif -%if %{with coredump} -%post coredump -%if %{without filetriggers} -%sysusers_create systemd-coredump.conf - -%posttrans coredump -%restore_rpmsave systemd/coredump.conf -%endif -%endif - %if %{with journal_remote} %pre journal-remote %systemd_pre systemd-journal-gatewayd.service @@ -1435,11 +1409,6 @@ fi %{_libdir}/libudev.so.1 %{_libdir}/libudev.so.1.7.* -%if %{with coredump} -%files coredump -%include %{SOURCE208} -%endif - %if %{without bootstrap} %files lang -f systemd.lang %include %{SOURCE210} From 10b451e019e2c9c0361526ad73db199b4c6800599902b75f57e464c939efaf41 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jun 2024 13:21:13 +0000 Subject: [PATCH 987/991] - systemd.spec: move a misplaced %endif in the testsuite sub-package. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1531 --- systemd.changes | 5 +++++ systemd.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/systemd.changes b/systemd.changes index f0da168a..08a2647d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jun 18 13:20:26 UTC 2024 - Franck Bui + +- systemd.spec: move a misplaced %endif in the testsuite sub-package. + ------------------------------------------------------------------- Tue Jun 18 10:19:19 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index efa4850e..9579ac23 100644 --- a/systemd.spec +++ b/systemd.spec @@ -606,6 +606,7 @@ Recommends: tpm2.0-tools %if %{with resolved} # Optional dep for knot needed by TEST-75-RESOLVED Recommends: knot +%endif %if %{with selinux} # Optional deps needed by TEST-06-SELINUX (otherwise skipped) Recommends: selinux-policy-devel @@ -624,8 +625,6 @@ Requires: user(nobody) # are used by test-funtions to find the libs on the host and install them in the # image, see install_missing_libraries() for details. Requires: libidn2 -Requires: pkgconfig(libidn2) -%endif Requires: %{name} = %{version}-%{release} Requires: attr Requires: binutils @@ -637,6 +636,7 @@ Requires: iproute2 Requires: jq Requires: libcap-progs Requires: libfido2 +Requires: pkgconfig(libidn2) %if %{with experimental} Requires: libpwquality1 Requires: libqrencode4 From 5fca4787794f0b78c7ceb68ee4f6210d83d5b6cde795db1a2c917c7464b744c0 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jun 2024 13:52:17 +0000 Subject: [PATCH 988/991] fix rev 1529: the devel packages are really needed by the testsuite script to install the dlopened libs into the image OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1532 --- systemd.changes | 5 +++-- systemd.spec | 21 ++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/systemd.changes b/systemd.changes index 08a2647d..5bf7a5d6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Tue Jun 18 13:20:26 UTC 2024 - Franck Bui -- systemd.spec: move a misplaced %endif in the testsuite sub-package. +- testsuite: move a misplaced %endif ------------------------------------------------------------------- Tue Jun 18 10:19:19 UTC 2024 - Franck Bui @@ -11,7 +11,8 @@ Tue Jun 18 10:19:19 UTC 2024 - Franck Bui ------------------------------------------------------------------- Tue Jun 18 10:12:01 UTC 2024 - Franck Bui -- Don't pull the devel packages in when installing the testsuite package. +- testsuite: only require the devel packages when pulling the dlopen'd + dependencies (the libraries are dependencies of the devel packages). ------------------------------------------------------------------- Thu Jun 6 13:18:29 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 9579ac23..d30876c8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -612,6 +612,7 @@ Recommends: knot Recommends: selinux-policy-devel Recommends: selinux-policy-targeted %endif +Requires: %{name} = %{version}-%{release} # System users/groups that some tests rely on. Requires: group(bin) Requires: group(daemon) @@ -624,8 +625,12 @@ Requires: user(nobody) # The following deps on libs are for test-dlopen-so whereas the pkgconfig ones # are used by test-funtions to find the libs on the host and install them in the # image, see install_missing_libraries() for details. -Requires: libidn2 -Requires: %{name} = %{version}-%{release} +Requires: pkgconfig(libfido2) +Requires: pkgconfig(libidn2) +%if %{with experimental} +Requires: pkgconfig(libqrencode) +Requires: pkgconfig(pwquality) +%endif Requires: attr Requires: binutils Requires: busybox-static @@ -635,15 +640,6 @@ Requires: dosfstools Requires: iproute2 Requires: jq Requires: libcap-progs -Requires: libfido2 -Requires: pkgconfig(libidn2) -%if %{with experimental} -Requires: libpwquality1 -Requires: libqrencode4 -%endif -Requires: libtss2-esys0 -Requires: libtss2-mu0 -Requires: libtss2-rc0 Requires: lz4 Requires: make Requires: mtools @@ -654,6 +650,9 @@ Requires: quota Requires: socat Requires: squashfs Requires: systemd-container +Requires: pkgconfig(tss2-esys) +Requires: pkgconfig(tss2-mu) +Requires: pkgconfig(tss2-rc) %if %{with sd_boot} Requires: systemd-boot %endif From d08d1be4cce5709c56b61de4bd17168447eb146c6da64b6917c75ddcabcdf7df Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jun 2024 13:55:55 +0000 Subject: [PATCH 989/991] reorder the runtime deps of the testsuite package so the format_spec_file thingy stop screwing up the spec file... OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1533 --- systemd.spec | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/systemd.spec b/systemd.spec index d30876c8..2444a3ce 100644 --- a/systemd.spec +++ b/systemd.spec @@ -615,22 +615,6 @@ Recommends: selinux-policy-targeted Requires: %{name} = %{version}-%{release} # System users/groups that some tests rely on. Requires: group(bin) -Requires: group(daemon) -Requires: group(games) -Requires: group(nobody) -Requires: user(bin) -Requires: user(daemon) -Requires: user(games) -Requires: user(nobody) -# The following deps on libs are for test-dlopen-so whereas the pkgconfig ones -# are used by test-funtions to find the libs on the host and install them in the -# image, see install_missing_libraries() for details. -Requires: pkgconfig(libfido2) -Requires: pkgconfig(libidn2) -%if %{with experimental} -Requires: pkgconfig(libqrencode) -Requires: pkgconfig(pwquality) -%endif Requires: attr Requires: binutils Requires: busybox-static @@ -650,6 +634,22 @@ Requires: quota Requires: socat Requires: squashfs Requires: systemd-container +Requires: group(daemon) +Requires: group(games) +Requires: group(nobody) +Requires: user(bin) +Requires: user(daemon) +Requires: user(games) +Requires: user(nobody) +# The following deps on libs are for test-dlopen-so whereas the pkgconfig ones +# are used by test-funtions to find the libs on the host and install them in the +# image, see install_missing_libraries() for details. +Requires: pkgconfig(libfido2) +Requires: pkgconfig(libidn2) +%if %{with experimental} +Requires: pkgconfig(libqrencode) +Requires: pkgconfig(pwquality) +%endif Requires: pkgconfig(tss2-esys) Requires: pkgconfig(tss2-mu) Requires: pkgconfig(tss2-rc) From b29d3fd28cdfd183ed5f71f5d8964e769b9534a446350132b8466940b03bf139 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Tue, 18 Jun 2024 14:08:50 +0000 Subject: [PATCH 990/991] reorder one more time... OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1534 --- systemd.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd.spec b/systemd.spec index 2444a3ce..bd584826 100644 --- a/systemd.spec +++ b/systemd.spec @@ -613,8 +613,6 @@ Recommends: selinux-policy-devel Recommends: selinux-policy-targeted %endif Requires: %{name} = %{version}-%{release} -# System users/groups that some tests rely on. -Requires: group(bin) Requires: attr Requires: binutils Requires: busybox-static @@ -634,6 +632,8 @@ Requires: quota Requires: socat Requires: squashfs Requires: systemd-container +# System users/groups that some tests rely on. +Requires: group(bin) Requires: group(daemon) Requires: group(games) Requires: group(nobody) From 3206eeb7e3423d44259b148410dc1a9bce21bc3ceb08fa684257a90189eb906d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 24 Jun 2024 14:45:08 +0000 Subject: [PATCH 991/991] - Don't automatically clean unmodified config files up (bsc#1226415) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1535 --- files.experimental | 2 ++ files.journal-remote | 3 +++ files.network | 2 ++ files.systemd | 5 +++++ files.udev | 5 +++++ fixlet-systemd-post.sh | 25 +++++++++++++++++++++++++ systemd.changes | 10 ++++++++++ systemd.spec | 36 ------------------------------------ 8 files changed, 52 insertions(+), 36 deletions(-) diff --git a/files.experimental b/files.experimental index f9116e29..ee0675ca 100644 --- a/files.experimental +++ b/files.experimental @@ -9,6 +9,8 @@ %if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants %endif +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/oomd.conf %{_bindir}/oomctl %{_bindir}/systemd-vmspawn %if %{with sd_boot} diff --git a/files.journal-remote b/files.journal-remote index 1acfe411..27597c7b 100644 --- a/files.journal-remote +++ b/files.journal-remote @@ -4,6 +4,9 @@ %dir %{_sysconfdir}/systemd/journal-remote.conf.d %dir %{_sysconfdir}/systemd/journal-upload.conf.d %ghost %dir %{_localstatedir}/log/journal/remote +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/journal-remote.conf +%ghost %{_sysconfdir}/systemd/journal-upload.conf %{_datadir}/systemd/gatewayd %{_datadir}/systemd/gatewayd/browse.html %{_mandir}/man5/journal-remote.conf.5.gz diff --git a/files.network b/files.network index c1b17155..2dd59e9a 100644 --- a/files.network +++ b/files.network @@ -5,6 +5,8 @@ %dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/systemd/networkd.conf.d %dir %{_systemd_util_dir}/network +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/networkd.conf %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl %{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml diff --git a/files.systemd b/files.systemd index 45a34a3a..477251f6 100644 --- a/files.systemd +++ b/files.systemd @@ -91,6 +91,11 @@ %ghost %config(noreplace) %{_sysconfdir}/machine-info %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal %ghost %{_localstatedir}/lib/systemd/catalog/database +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/journald.conf +%ghost %{_sysconfdir}/systemd/logind.conf +%ghost %{_sysconfdir}/systemd/system.conf +%ghost %{_sysconfdir}/systemd/user.conf %license LICENSE.GPL2 %license LICENSE.LGPL2.1 %{_bindir}/busctl diff --git a/files.udev b/files.udev index 401584d2..09ba6c98 100644 --- a/files.udev +++ b/files.udev @@ -40,6 +40,11 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %{_localstatedir}/lib/systemd/backlight +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/pstore.conf +%ghost %{_sysconfdir}/systemd/sleep.conf +%ghost %{_sysconfdir}/systemd/timesyncd.conf +%ghost %{_sysconfdir}/udev/iocost.conf %{_bindir}/bootctl %if %{without bootstrap} %{_bindir}/kernel-install diff --git a/fixlet-systemd-post.sh b/fixlet-systemd-post.sh index 1ddb654d..e32bf8fe 100644 --- a/fixlet-systemd-post.sh +++ b/fixlet-systemd-post.sh @@ -276,6 +276,31 @@ drop_after_local_support() { fi } +# +# We have stopped shipping the main config files in /etc but we don't try to +# clean them up automatically as it can have unexepected side effects +# (bsc#1226415). Instead we simply suggest users to convert them (if they exist) +# into drop-ins. +# +# Note: run at each package update +# +check_config_files () { + config_files=(systemd/journald.conf systemd/logind.conf systemd/system.conf systemd/user.conf + systemd/pstore.conf systemd/sleep.conf systemd/timesyncd.conf systemd/coredump.conf + systemd/journal-remote.conf systemd/journal-upload.conf systemd/networkd.conf + systemd/resolved.conf systemd/oomd.conf udev/iocost.conf) + + for f in ${config_files[*]}; do + [ -e /etc/$f ] || continue + + cat >&2 < + +- Don't automatically clean unmodified config files up (bsc#1226415) + + Relying on the presence of .rpmsave for detecting unmodified main config files + couldn't work as it created a time window in which some of the systemd + services were restarted with no config file. That had the bad side effect to + restart them with the upstream defaults, ignoring any user's customization. + ------------------------------------------------------------------- Tue Jun 18 13:20:26 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bd584826..3cbda4ac 100644 --- a/systemd.spec +++ b/systemd.spec @@ -80,20 +80,6 @@ # value is independent of the build flavor. %bcond_without filetriggers -# We stopped shipping main config files in /etc but we have to restore any -# config files that might have been backed up by rpm during the migration of the -# main config files from /etc to /usr. This needs to be done in %%posttrans -# because the .rpmsave files are created when the *old* package version is -# removed. This is not needed by ALP and will be dropped from Factory near the -# end of 2024. -%define restore_rpmsave() \ -if [ -e %{_sysconfdir}/%{1}.rpmsave ] && [ ! -e %{_sysconfdir}/%{1} ]; then \ - echo >&2 "Restoring %{_sysconfdir}/%1. Please consider moving your customizations in a drop-in instead." \ - echo >&2 "For more details, visit https://en.opensuse.org/Systemd#Configuration." \ - mv -v %{_sysconfdir}/%{1}.rpmsave %{_sysconfdir}/%{1} || : \ -fi \ -%{nil} - Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd Version: %systemd_version @@ -1131,13 +1117,6 @@ journalctl --update-catalog || : %systemd_postun_with_restart systemd-timedated.service %systemd_postun_with_restart systemd-userdbd.service -%posttrans -%restore_rpmsave systemd/coredump.conf -%restore_rpmsave systemd/journald.conf -%restore_rpmsave systemd/logind.conf -%restore_rpmsave systemd/system.conf -%restore_rpmsave systemd/user.conf - %pre -n udev%{?mini} # Units listed below can be enabled at installation accoding to their preset # setting. @@ -1192,10 +1171,6 @@ fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%restore_rpmsave systemd/pstore.conf -%restore_rpmsave systemd/sleep.conf -%restore_rpmsave systemd/timesyncd.conf -%restore_rpmsave udev/iocost.conf %ldconfig_scriptlets -n libsystemd0%{?mini} %ldconfig_scriptlets -n libudev%{?mini}1 @@ -1246,10 +1221,6 @@ fi %systemd_postun_with_restart systemd-journal-gatewayd.service %systemd_postun_with_restart systemd-journal-remote.service %systemd_postun_with_restart systemd-journal-upload.service - -%posttrans journal-remote -%restore_rpmsave systemd/journal-remote.conf -%restore_rpmsave systemd/journal-upload.conf %endif %if %{with networkd} || %{with resolved} @@ -1298,10 +1269,6 @@ fi %ldconfig %systemd_postun systemd-resolved.service %endif - -%posttrans network -%restore_rpmsave systemd/networkd.conf -%restore_rpmsave systemd/resolved.conf %endif %if %{with homed} @@ -1360,9 +1327,6 @@ fi %postun experimental %systemd_postun systemd-homed.service %systemd_postun systemd-oomd.service systemd-oomd.socket - -%posttrans experimental -%restore_rpmsave systemd/oomd.conf %endif # File trigger definitions